aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php
diff options
context:
space:
mode:
authorDSR! <xchwarze@gmail.com>2019-04-15 01:18:19 -0300
committerDSR! <xchwarze@gmail.com>2019-04-15 01:18:19 -0300
commitc631db62d59548c14dfd0861bdd09e3ffaa980f7 (patch)
tree82c122e14188038105bdb0ed8dffb7ef096d319f /phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php
parentb8de0fc47e85fa226dc5723d09a141ef4b1d67f2 (diff)
downloadforums-c631db62d59548c14dfd0861bdd09e3ffaa980f7.tar
forums-c631db62d59548c14dfd0861bdd09e3ffaa980f7.tar.gz
forums-c631db62d59548c14dfd0861bdd09e3ffaa980f7.tar.bz2
forums-c631db62d59548c14dfd0861bdd09e3ffaa980f7.tar.xz
forums-c631db62d59548c14dfd0861bdd09e3ffaa980f7.zip
[ticket/16015] Add new hook core.ucp_profile_avatar_upload_validation
PHPBB3-16015
Diffstat (limited to 'phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php')
0 files changed, 0 insertions, 0 deletions
2d94ed0ce14c0ea95fa4fa7b590681d8e2b'>ChangeLog142943
-rw-r--r--Makefile114
-rw-r--r--Makefile.config20
-rw-r--r--advertising/01_IM_mageia.pl1
-rw-r--r--advertising/01_IM_mageia.pngbin0 -> 69206 bytes-rw-r--r--advertising/02_IM_mageia.pl1
-rw-r--r--advertising/02_IM_mageia.pngbin0 -> 81615 bytes-rw-r--r--advertising/03_IM_mageia.pl1
-rw-r--r--advertising/03_IM_mageia.pngbin0 -> 81868 bytes-rw-r--r--advertising/04_IM_mageia.pl1
-rw-r--r--advertising/04_IM_mageia.pngbin0 -> 65295 bytes-rw-r--r--advertising/05_IM_mageia.pl1
-rw-r--r--advertising/05_IM_mageia.pngbin0 -> 79652 bytes-rw-r--r--advertising/06_IM_mageia.pl1
-rw-r--r--advertising/06_IM_mageia.pngbin0 -> 84628 bytes-rw-r--r--advertising/07_IM_mageia.pl1
-rw-r--r--advertising/07_IM_mageia.pngbin0 -> 68380 bytes-rw-r--r--advertising/08_IM_mageia.pl1
-rw-r--r--advertising/08_IM_mageia.pngbin0 -> 88717 bytes-rw-r--r--advertising/09_IM_mageia.pl1
-rw-r--r--advertising/09_IM_mageia.pngbin0 -> 87501 bytes-rw-r--r--advertising/10_IM_mageia.pl1
-rw-r--r--advertising/10_IM_mageia.pngbin0 -> 69206 bytes-rw-r--r--advertising/Makefile18
-rw-r--r--advertising/NEWS94
-rw-r--r--advertising/README4
-rw-r--r--advertising/list-pwp10
-rw-r--r--docs/.cvsignore1
-rw-r--r--docs/9.0_errata.txt108
-rw-r--r--docs/9.1_errata.txt65
-rw-r--r--docs/BUGS10
-rw-r--r--docs/HACKING120
-rw-r--r--docs/Partition-ends-after-end-of-disk.txt2
-rw-r--r--docs/README320
-rw-r--r--docs/README.devel34
-rw-r--r--docs/README.pxe2
-rw-r--r--docs/SHORTCUTS2
-rw-r--r--docs/TODO515
-rw-r--r--docs/comparisons18
-rw-r--r--docs/diskdrake.TODO23
-rw-r--r--docs/drakfont/drakfont.tex2
-rw-r--r--docs/draknet_advanced_doc.txt165
-rw-r--r--docs/ka_method/Makefile59
-rw-r--r--docs/ka_method/doc-duplication.xml1487
-rw-r--r--docs/ka_method/docbook-jadetex.dsssl450
-rw-r--r--docs/ka_method/duplication.xml39
-rw-r--r--docs/ka_method/duplication.xsl24
-rw-r--r--docs/ka_method/oneduplication.xsl37
-rw-r--r--docs/ka_method/styleguibo.css296
-rw-r--r--docs/mastering-tool-for-restore-cd84
-rw-r--r--docs/mdk-9.2129
-rwxr-xr-xdocs/porting-ugtk48
-rw-r--r--docs/spec-DrakX-8.0.html405
-rw-r--r--images/Makefile51
-rw-r--r--images/NEWS856
-rw-r--r--images/advanced.msg.xml17
-rw-r--r--images/dracut.conf4
-rw-r--r--images/grub2.config33
-rw-r--r--images/grub2.theme34
-rw-r--r--images/help.msg.xml21
-rwxr-xr-ximages/make_boot_img431
-rwxr-xr-ximages/update_kernel45
-rw-r--r--isolinux-graphic.bmpbin480566 -> 0 bytes-rw-r--r--kernel/.cvsignore3
-rw-r--r--kernel/Makefile15
-rwxr-xr-xkernel/check_mar.pl31
-rw-r--r--kernel/list_modules.pm444
-rw-r--r--kernel/modules.pl198
-rwxr-xr-xkernel/strip_modules124
-rwxr-xr-xkernel/update_kernel128
-rw-r--r--live_update77
-rwxr-xr-xmake_boot_img711
-rw-r--r--mdk-stage1/.cvsignore13
-rw-r--r--mdk-stage1/.gitignore13
-rw-r--r--mdk-stage1/Makefile263
-rw-r--r--mdk-stage1/Makefile.common53
-rw-r--r--mdk-stage1/Makefile.mkinitrd_helper30
-rw-r--r--mdk-stage1/NEWS572
-rw-r--r--mdk-stage1/adsl.c39
-rw-r--r--mdk-stage1/adsl.h6
-rw-r--r--mdk-stage1/automatic.c32
-rw-r--r--mdk-stage1/automatic.h4
-rw-r--r--mdk-stage1/bzlib/Makefile42
-rw-r--r--mdk-stage1/bzlib/blocksort.c1138
-rw-r--r--mdk-stage1/bzlib/bzlib.c1567
-rw-r--r--mdk-stage1/bzlib/bzlib.h319
-rw-r--r--mdk-stage1/bzlib/bzlib_private.h530
-rw-r--r--mdk-stage1/bzlib/compress.c720
-rw-r--r--mdk-stage1/bzlib/crctable.c148
-rw-r--r--mdk-stage1/bzlib/decompress.c664
-rw-r--r--mdk-stage1/bzlib/huffman.c232
-rw-r--r--mdk-stage1/bzlib/randtable.c128
-rw-r--r--mdk-stage1/cdrom.c69
-rw-r--r--mdk-stage1/cdrom.h4
-rw-r--r--mdk-stage1/config-stage1.h52
-rw-r--r--mdk-stage1/dhcp.c36
-rw-r--r--mdk-stage1/dhcp.h7
-rw-r--r--mdk-stage1/dietlibc/.cvsignore28
-rw-r--r--mdk-stage1/dietlibc/AUTHOR3
-rw-r--r--mdk-stage1/dietlibc/Makefile413
-rw-r--r--mdk-stage1/dietlibc/README49
-rw-r--r--mdk-stage1/dietlibc/alpha/Makefile.add5
-rw-r--r--mdk-stage1/dietlibc/alpha/__alarm.c13
-rw-r--r--mdk-stage1/dietlibc/alpha/__longjmp.S33
-rw-r--r--mdk-stage1/dietlibc/alpha/__testandset.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/__time.c11
-rw-r--r--mdk-stage1/dietlibc/alpha/accept.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/bind.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/clone.S42
-rw-r--r--mdk-stage1/dietlibc/alpha/connect.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/divl.S101
-rw-r--r--mdk-stage1/dietlibc/alpha/divq.S102
-rw-r--r--mdk-stage1/dietlibc/alpha/errlist.S288
-rw-r--r--mdk-stage1/dietlibc/alpha/getegid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/geteuid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getpid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getppid.S11
-rw-r--r--mdk-stage1/dietlibc/alpha/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/getuid.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/listen.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/lseek64.S5
-rw-r--r--mdk-stage1/dietlibc/alpha/mmap.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/n_sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/pipe.S17
-rw-r--r--mdk-stage1/dietlibc/alpha/recv.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/reml.S101
-rw-r--r--mdk-stage1/dietlibc/alpha/remq.S97
-rw-r--r--mdk-stage1/dietlibc/alpha/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/semget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/semop.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/send.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/seteuid.c7
-rw-r--r--mdk-stage1/dietlibc/alpha/setjmp.S35
-rw-r--r--mdk-stage1/dietlibc/alpha/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sigaction.c7
-rw-r--r--mdk-stage1/dietlibc/alpha/socket.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/socketcall.S5
-rw-r--r--mdk-stage1/dietlibc/alpha/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/start.S33
-rw-r--r--mdk-stage1/dietlibc/alpha/strlen.c32
-rw-r--r--mdk-stage1/dietlibc/alpha/syscalls.h371
-rw-r--r--mdk-stage1/dietlibc/alpha/time.S0
-rw-r--r--mdk-stage1/dietlibc/alpha/unified.S39
-rw-r--r--mdk-stage1/dietlibc/alpha/utime.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/waitpid.S10
-rw-r--r--mdk-stage1/dietlibc/binshstr.h6
-rw-r--r--mdk-stage1/dietlibc/diet.c367
-rw-r--r--mdk-stage1/dietlibc/dietdirent.h8
-rw-r--r--mdk-stage1/dietlibc/dietdns.h4
-rw-r--r--mdk-stage1/dietlibc/dietfeatures.h108
-rw-r--r--mdk-stage1/dietlibc/dieticonv.h12
-rw-r--r--mdk-stage1/dietlibc/dietlibm.h5
-rw-r--r--mdk-stage1/dietlibc/dietstdio.h77
-rw-r--r--mdk-stage1/dietlibc/dietuglyweaks.h24
-rw-r--r--mdk-stage1/dietlibc/dietwarning.h23
-rw-r--r--mdk-stage1/dietlibc/dyn_start.c40
-rw-r--r--mdk-stage1/dietlibc/dyn_stop.c23
-rwxr-xr-xmdk-stage1/dietlibc/findcflags.sh8
-rw-r--r--mdk-stage1/dietlibc/i386/Makefile.add8
-rw-r--r--mdk-stage1/dietlibc/i386/PIC.h82
-rw-r--r--mdk-stage1/dietlibc/i386/__half.S10
-rw-r--r--mdk-stage1/dietlibc/i386/__longjmp.S19
-rw-r--r--mdk-stage1/dietlibc/i386/__ten.S9
-rw-r--r--mdk-stage1/dietlibc/i386/__testandset.S9
-rw-r--r--mdk-stage1/dietlibc/i386/accept.S4
-rw-r--r--mdk-stage1/dietlibc/i386/acos.S30
-rw-r--r--mdk-stage1/dietlibc/i386/acosh.S18
-rw-r--r--mdk-stage1/dietlibc/i386/asin.S29
-rw-r--r--mdk-stage1/dietlibc/i386/asinh.S18
-rw-r--r--mdk-stage1/dietlibc/i386/atan.S27
-rw-r--r--mdk-stage1/dietlibc/i386/atan2.S12
-rw-r--r--mdk-stage1/dietlibc/i386/atanh.S19
-rw-r--r--mdk-stage1/dietlibc/i386/atol.S55
-rw-r--r--mdk-stage1/dietlibc/i386/atoll.S64
-rw-r--r--mdk-stage1/dietlibc/i386/bind.S4
-rw-r--r--mdk-stage1/dietlibc/i386/cbrt.S46
-rw-r--r--mdk-stage1/dietlibc/i386/ceil.S44
-rw-r--r--mdk-stage1/dietlibc/i386/clone.S60
-rw-r--r--mdk-stage1/dietlibc/i386/connect.S4
-rw-r--r--mdk-stage1/dietlibc/i386/copysign.S18
-rw-r--r--mdk-stage1/dietlibc/i386/cos.S35
-rw-r--r--mdk-stage1/dietlibc/i386/cosh.S29
-rw-r--r--mdk-stage1/dietlibc/i386/dyn_syscalls.S282
-rw-r--r--mdk-stage1/dietlibc/i386/exp.S35
-rw-r--r--mdk-stage1/dietlibc/i386/exp10.S27
-rw-r--r--mdk-stage1/dietlibc/i386/exp2.S18
-rw-r--r--mdk-stage1/dietlibc/i386/expm1.S23
-rw-r--r--mdk-stage1/dietlibc/i386/fabs.S11
-rw-r--r--mdk-stage1/dietlibc/i386/floor.S26
-rw-r--r--mdk-stage1/dietlibc/i386/fmod.S37
-rw-r--r--mdk-stage1/dietlibc/i386/getenv.S48
-rw-r--r--mdk-stage1/dietlibc/i386/getpeername.S4
-rw-r--r--mdk-stage1/dietlibc/i386/getsockname.S4
-rw-r--r--mdk-stage1/dietlibc/i386/getsockopt.S4
-rw-r--r--mdk-stage1/dietlibc/i386/htonl.S13
-rw-r--r--mdk-stage1/dietlibc/i386/htons.S11
-rw-r--r--mdk-stage1/dietlibc/i386/hypot.S15
-rw-r--r--mdk-stage1/dietlibc/i386/ilogb.S23
-rw-r--r--mdk-stage1/dietlibc/i386/ipow.S27
-rw-r--r--mdk-stage1/dietlibc/i386/isleap.S28
-rw-r--r--mdk-stage1/dietlibc/i386/ldexp.S28
-rw-r--r--mdk-stage1/dietlibc/i386/libm2.S643
-rw-r--r--mdk-stage1/dietlibc/i386/listen.S4
-rw-r--r--mdk-stage1/dietlibc/i386/log.S26
-rw-r--r--mdk-stage1/dietlibc/i386/log10.S11
-rw-r--r--mdk-stage1/dietlibc/i386/log1p.S12
-rw-r--r--mdk-stage1/dietlibc/i386/log2.S11
-rw-r--r--mdk-stage1/dietlibc/i386/ltostr.S62
-rw-r--r--mdk-stage1/dietlibc/i386/mcount.S44
-rw-r--r--mdk-stage1/dietlibc/i386/md5asm.S300
-rw-r--r--mdk-stage1/dietlibc/i386/memccpy.S39
-rw-r--r--mdk-stage1/dietlibc/i386/memchr.S24
-rw-r--r--mdk-stage1/dietlibc/i386/memcmp.S26
-rw-r--r--mdk-stage1/dietlibc/i386/memcpy.S16
-rw-r--r--mdk-stage1/dietlibc/i386/memset.S15
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.S14
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.c16
-rw-r--r--mdk-stage1/dietlibc/i386/mmap64.S63
-rw-r--r--mdk-stage1/dietlibc/i386/poly.S24
-rw-r--r--mdk-stage1/dietlibc/i386/pow.S67
-rw-r--r--mdk-stage1/dietlibc/i386/recv.S4
-rw-r--r--mdk-stage1/dietlibc/i386/recvfrom.S4
-rw-r--r--mdk-stage1/dietlibc/i386/recvmsg.S4
-rw-r--r--mdk-stage1/dietlibc/i386/rint.S23
-rw-r--r--mdk-stage1/dietlibc/i386/select.S3
-rw-r--r--mdk-stage1/dietlibc/i386/send.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sendmsg.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sendto.S4
-rw-r--r--mdk-stage1/dietlibc/i386/setjmp.S41
-rw-r--r--mdk-stage1/dietlibc/i386/setsockopt.S4
-rw-r--r--mdk-stage1/dietlibc/i386/shutdown.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sin.S34
-rw-r--r--mdk-stage1/dietlibc/i386/sincos.S18
-rw-r--r--mdk-stage1/dietlibc/i386/sinh.S29
-rw-r--r--mdk-stage1/dietlibc/i386/sleep.S25
-rw-r--r--mdk-stage1/dietlibc/i386/socket.S4
-rw-r--r--mdk-stage1/dietlibc/i386/socketcall.S17
-rw-r--r--mdk-stage1/dietlibc/i386/socketpair.S4
-rw-r--r--mdk-stage1/dietlibc/i386/sqrt.S23
-rw-r--r--mdk-stage1/dietlibc/i386/sqrtl.S11
-rw-r--r--mdk-stage1/dietlibc/i386/start.S51
-rw-r--r--mdk-stage1/dietlibc/i386/stpcpy.S22
-rw-r--r--mdk-stage1/dietlibc/i386/strcasecmp.S31
-rw-r--r--mdk-stage1/dietlibc/i386/strcat.S29
-rw-r--r--mdk-stage1/dietlibc/i386/strchr.S22
-rw-r--r--mdk-stage1/dietlibc/i386/strcmp.S31
-rw-r--r--mdk-stage1/dietlibc/i386/strcpy.S24
-rw-r--r--mdk-stage1/dietlibc/i386/strlen.S18
-rw-r--r--mdk-stage1/dietlibc/i386/strncmp.S28
-rw-r--r--mdk-stage1/dietlibc/i386/strncpy.S42
-rw-r--r--mdk-stage1/dietlibc/i386/strrchr.S19
-rw-r--r--mdk-stage1/dietlibc/i386/syscalls.h303
-rw-r--r--mdk-stage1/dietlibc/i386/tan.S12
-rw-r--r--mdk-stage1/dietlibc/i386/tanh.S32
-rw-r--r--mdk-stage1/dietlibc/i386/unified.S59
-rw-r--r--mdk-stage1/dietlibc/i386/usleep.S31
-rw-r--r--mdk-stage1/dietlibc/i386/vfork.S9
-rw-r--r--mdk-stage1/dietlibc/i386/write12.S37
-rw-r--r--mdk-stage1/dietlibc/ia64/Makefile.add2
-rw-r--r--mdk-stage1/dietlibc/ia64/README4
-rw-r--r--mdk-stage1/dietlibc/ia64/__alarm.c1
-rw-r--r--mdk-stage1/dietlibc/ia64/__longjmp.S1
-rw-r--r--mdk-stage1/dietlibc/ia64/__nice.c6
-rw-r--r--mdk-stage1/dietlibc/ia64/__testandset.S11
-rw-r--r--mdk-stage1/dietlibc/ia64/__time.c14
-rw-r--r--mdk-stage1/dietlibc/ia64/__waitpid.c5
-rw-r--r--mdk-stage1/dietlibc/ia64/accept.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/bind.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/clone.S41
-rw-r--r--mdk-stage1/dietlibc/ia64/connect.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/fork.S8
-rw-r--r--mdk-stage1/dietlibc/ia64/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/listen.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/mmap.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/pipe.S20
-rw-r--r--mdk-stage1/dietlibc/ia64/recv.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/semop.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/send.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/setjmp.S1
-rw-r--r--mdk-stage1/dietlibc/ia64/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/socket.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/start.S45
-rw-r--r--mdk-stage1/dietlibc/ia64/syscalls.h242
-rw-r--r--mdk-stage1/dietlibc/ia64/unified.S46
-rw-r--r--mdk-stage1/dietlibc/ia64/utime.S3
-rw-r--r--mdk-stage1/dietlibc/ia64/vfork.S8
-rw-r--r--mdk-stage1/dietlibc/include/alloca.h13
-rw-r--r--mdk-stage1/dietlibc/include/arpa/inet.h20
-rw-r--r--mdk-stage1/dietlibc/include/arpa/nameser.h253
-rw-r--r--mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h29
-rw-r--r--mdk-stage1/dietlibc/include/asm/arm-sigcontext.h32
-rw-r--r--mdk-stage1/dietlibc/include/asm/i386-sigcontext.h66
-rw-r--r--mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h25
-rw-r--r--mdk-stage1/dietlibc/include/asm/mips-sigcontext.h23
-rw-r--r--mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h16
-rw-r--r--mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h76
-rw-r--r--mdk-stage1/dietlibc/include/asm/sigcontext.h36
-rw-r--r--mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h50
-rw-r--r--mdk-stage1/dietlibc/include/asm/statfs.h1
-rw-r--r--mdk-stage1/dietlibc/include/asm/types.h32
-rw-r--r--mdk-stage1/dietlibc/include/assert.h38
-rw-r--r--mdk-stage1/dietlibc/include/cpio.h27
-rw-r--r--mdk-stage1/dietlibc/include/ctype.h28
-rw-r--r--mdk-stage1/dietlibc/include/daemon.h6
-rw-r--r--mdk-stage1/dietlibc/include/dietref.h22
-rw-r--r--mdk-stage1/dietlibc/include/dirent.h64
-rw-r--r--mdk-stage1/dietlibc/include/dlfcn.h18
-rw-r--r--mdk-stage1/dietlibc/include/elf.h780
-rw-r--r--mdk-stage1/dietlibc/include/endian.h62
-rw-r--r--mdk-stage1/dietlibc/include/errno.h546
-rw-r--r--mdk-stage1/dietlibc/include/fcntl.h564
-rw-r--r--mdk-stage1/dietlibc/include/features.h8
-rw-r--r--mdk-stage1/dietlibc/include/float.h96
-rw-r--r--mdk-stage1/dietlibc/include/fnmatch.h17
-rw-r--r--mdk-stage1/dietlibc/include/ftw.h51
-rw-r--r--mdk-stage1/dietlibc/include/getopt.h28
-rw-r--r--mdk-stage1/dietlibc/include/glob.h57
-rw-r--r--mdk-stage1/dietlibc/include/grp.h35
-rw-r--r--mdk-stage1/dietlibc/include/iconv.h25
-rw-r--r--mdk-stage1/dietlibc/include/inttypes.h247
-rw-r--r--mdk-stage1/dietlibc/include/libgen.h9
-rw-r--r--mdk-stage1/dietlibc/include/libintl.h23
-rw-r--r--mdk-stage1/dietlibc/include/limits.h73
-rw-r--r--mdk-stage1/dietlibc/include/linux/eventpoll.h17
-rw-r--r--mdk-stage1/dietlibc/include/linux/if_ether.h101
-rw-r--r--mdk-stage1/dietlibc/include/linux/loop.h47
-rw-r--r--mdk-stage1/dietlibc/include/linux/nfs.h88
-rw-r--r--mdk-stage1/dietlibc/include/linux/posix_types.h115
-rw-r--r--mdk-stage1/dietlibc/include/linux/types.h6
-rw-r--r--mdk-stage1/dietlibc/include/locale.h84
-rw-r--r--mdk-stage1/dietlibc/include/malloc.h1
-rw-r--r--mdk-stage1/dietlibc/include/math.h96
-rw-r--r--mdk-stage1/dietlibc/include/md5.h48
-rw-r--r--mdk-stage1/dietlibc/include/memory.h6
-rw-r--r--mdk-stage1/dietlibc/include/mntent.h72
-rw-r--r--mdk-stage1/dietlibc/include/net/ethernet.h76
-rw-r--r--mdk-stage1/dietlibc/include/net/if.h102
-rw-r--r--mdk-stage1/dietlibc/include/net/if_arp.h113
-rw-r--r--mdk-stage1/dietlibc/include/net/if_ether.h74
-rw-r--r--mdk-stage1/dietlibc/include/net/route.h52
-rw-r--r--mdk-stage1/dietlibc/include/netdb.h124
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in.h404
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in_systm.h0
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip.h121
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip_icmp.h145
-rw-r--r--mdk-stage1/dietlibc/include/netinet/tcp.h164
-rw-r--r--mdk-stage1/dietlibc/include/netinet/udp.h16
-rw-r--r--mdk-stage1/dietlibc/include/netpacket/packet.h41
-rw-r--r--mdk-stage1/dietlibc/include/paths.h23
-rw-r--r--mdk-stage1/dietlibc/include/pthread.h244
-rw-r--r--mdk-stage1/dietlibc/include/pty.h13
-rw-r--r--mdk-stage1/dietlibc/include/pwd.h35
-rw-r--r--mdk-stage1/dietlibc/include/regex.h71
-rw-r--r--mdk-stage1/dietlibc/include/resolv.h124
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth.h214
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth_des.h112
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth_unix.h90
-rw-r--r--mdk-stage1/dietlibc/include/rpc/clnt.h421
-rw-r--r--mdk-stage1/dietlibc/include/rpc/des_crypt.h97
-rw-r--r--mdk-stage1/dietlibc/include/rpc/key_prot.h346
-rw-r--r--mdk-stage1/dietlibc/include/rpc/netdb.h74
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_clnt.h98
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_prot.h108
-rw-r--r--mdk-stage1/dietlibc/include/rpc/pmap_rmt.h68
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc.h70
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc_des.h72
-rw-r--r--mdk-stage1/dietlibc/include/rpc/rpc_msg.h202
-rw-r--r--mdk-stage1/dietlibc/include/rpc/svc.h316
-rw-r--r--mdk-stage1/dietlibc/include/rpc/svc_auth.h54
-rw-r--r--mdk-stage1/dietlibc/include/rpc/types.h84
-rw-r--r--mdk-stage1/dietlibc/include/rpc/xdr.h379
-rw-r--r--mdk-stage1/dietlibc/include/sched.h69
-rw-r--r--mdk-stage1/dietlibc/include/scsi/scsi.h224
-rw-r--r--mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h34
-rw-r--r--mdk-stage1/dietlibc/include/scsi/sg.h274
-rw-r--r--mdk-stage1/dietlibc/include/setjmp.h231
-rw-r--r--mdk-stage1/dietlibc/include/shadow.h30
-rw-r--r--mdk-stage1/dietlibc/include/signal.h500
-rw-r--r--mdk-stage1/dietlibc/include/stdarg-cruft.h299
-rw-r--r--mdk-stage1/dietlibc/include/stdarg.h24
-rw-r--r--mdk-stage1/dietlibc/include/stddef.h23
-rw-r--r--mdk-stage1/dietlibc/include/stdint.h30
-rw-r--r--mdk-stage1/dietlibc/include/stdio.h147
-rw-r--r--mdk-stage1/dietlibc/include/stdlib.h100
-rw-r--r--mdk-stage1/dietlibc/include/string.h74
-rw-r--r--mdk-stage1/dietlibc/include/strings.h23
-rw-r--r--mdk-stage1/dietlibc/include/sys/alpha-ioctl.h168
-rw-r--r--mdk-stage1/dietlibc/include/sys/arm-ioctl.h149
-rw-r--r--mdk-stage1/dietlibc/include/sys/cdefs.h61
-rw-r--r--mdk-stage1/dietlibc/include/sys/epoll.h60
-rw-r--r--mdk-stage1/dietlibc/include/sys/file.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/fsuid.h12
-rw-r--r--mdk-stage1/dietlibc/include/sys/gmon.h99
-rw-r--r--mdk-stage1/dietlibc/include/sys/gmon_out.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/hppa-ioctl.h133
-rw-r--r--mdk-stage1/dietlibc/include/sys/i386-ioctl.h141
-rw-r--r--mdk-stage1/dietlibc/include/sys/io.h44
-rw-r--r--mdk-stage1/dietlibc/include/sys/ioctl.h32
-rw-r--r--mdk-stage1/dietlibc/include/sys/ipc.h49
-rw-r--r--mdk-stage1/dietlibc/include/sys/kd.h183
-rw-r--r--mdk-stage1/dietlibc/include/sys/klog.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/mips-ioctl.h177
-rw-r--r--mdk-stage1/dietlibc/include/sys/mman.h184
-rw-r--r--mdk-stage1/dietlibc/include/sys/mount.h80
-rw-r--r--mdk-stage1/dietlibc/include/sys/msg.h57
-rw-r--r--mdk-stage1/dietlibc/include/sys/mtio.h340
-rw-r--r--mdk-stage1/dietlibc/include/sys/param.h28
-rw-r--r--mdk-stage1/dietlibc/include/sys/poll.h47
-rw-r--r--mdk-stage1/dietlibc/include/sys/ppc-ioctl.h164
-rw-r--r--mdk-stage1/dietlibc/include/sys/prctl.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/ptrace.h846
-rw-r--r--mdk-stage1/dietlibc/include/sys/reboot.h26
-rw-r--r--mdk-stage1/dietlibc/include/sys/resource.h67
-rw-r--r--mdk-stage1/dietlibc/include/sys/s390-ioctl.h141
-rw-r--r--mdk-stage1/dietlibc/include/sys/select.h22
-rw-r--r--mdk-stage1/dietlibc/include/sys/sem.h81
-rw-r--r--mdk-stage1/dietlibc/include/sys/sendfile.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/shm.h75
-rw-r--r--mdk-stage1/dietlibc/include/sys/signal.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/socket.h526
-rw-r--r--mdk-stage1/dietlibc/include/sys/soundcard.h1300
-rw-r--r--mdk-stage1/dietlibc/include/sys/sparc-ioctl.h172
-rw-r--r--mdk-stage1/dietlibc/include/sys/stat.h516
-rw-r--r--mdk-stage1/dietlibc/include/sys/syscall.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysinfo.h27
-rw-r--r--mdk-stage1/dietlibc/include/sys/syslog.h102
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysmacros.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/time.h68
-rw-r--r--mdk-stage1/dietlibc/include/sys/timeb.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/times.h16
-rw-r--r--mdk-stage1/dietlibc/include/sys/timex.h50
-rw-r--r--mdk-stage1/dietlibc/include/sys/types.h133
-rw-r--r--mdk-stage1/dietlibc/include/sys/ucontext.h110
-rw-r--r--mdk-stage1/dietlibc/include/sys/uio.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/un.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/utsname.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/vfs.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/wait.h45
-rw-r--r--mdk-stage1/dietlibc/include/sysexits.h26
-rw-r--r--mdk-stage1/dietlibc/include/syslog.h1
-rw-r--r--mdk-stage1/dietlibc/include/tar.h36
-rw-r--r--mdk-stage1/dietlibc/include/termio.h4
-rw-r--r--mdk-stage1/dietlibc/include/termios.h383
-rw-r--r--mdk-stage1/dietlibc/include/time.h40
-rw-r--r--mdk-stage1/dietlibc/include/unistd.h233
-rw-r--r--mdk-stage1/dietlibc/include/utime.h16
-rw-r--r--mdk-stage1/dietlibc/include/utmp.h94
-rw-r--r--mdk-stage1/dietlibc/include/write12.h4
-rw-r--r--mdk-stage1/dietlibc/lib/__dtostr.c140
-rw-r--r--mdk-stage1/dietlibc/lib/__fstat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__ftruncate64.c23
-rw-r--r--mdk-stage1/dietlibc/lib/__getcwd.c11
-rw-r--r--mdk-stage1/dietlibc/lib/__isinf.c15
-rw-r--r--mdk-stage1/dietlibc/lib/__isnan.c15
-rw-r--r--mdk-stage1/dietlibc/lib/__lltostr.c33
-rw-r--r--mdk-stage1/dietlibc/lib/__lstat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__ltostr.c32
-rw-r--r--mdk-stage1/dietlibc/lib/__ptrace.c27
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64_cvt.c20
-rw-r--r--mdk-stage1/dietlibc/lib/__stime.c14
-rw-r--r--mdk-stage1/dietlibc/lib/__truncate64.c23
-rw-r--r--mdk-stage1/dietlibc/lib/__v_printf.c300
-rw-r--r--mdk-stage1/dietlibc/lib/__v_scanf.c391
-rw-r--r--mdk-stage1/dietlibc/lib/_brk.c13
-rw-r--r--mdk-stage1/dietlibc/lib/abort.c19
-rw-r--r--mdk-stage1/dietlibc/lib/abs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/accept.c12
-rw-r--r--mdk-stage1/dietlibc/lib/adjtime.c18
-rw-r--r--mdk-stage1/dietlibc/lib/alloc.c237
-rw-r--r--mdk-stage1/dietlibc/lib/assert_fail.c31
-rw-r--r--mdk-stage1/dietlibc/lib/atexit.c31
-rw-r--r--mdk-stage1/dietlibc/lib/atof.c10
-rw-r--r--mdk-stage1/dietlibc/lib/atoi.c19
-rw-r--r--mdk-stage1/dietlibc/lib/atol.c23
-rw-r--r--mdk-stage1/dietlibc/lib/atoll.c19
-rw-r--r--mdk-stage1/dietlibc/lib/bcd.c185
-rw-r--r--mdk-stage1/dietlibc/lib/bind.c11
-rw-r--r--mdk-stage1/dietlibc/lib/binshstr.c5
-rw-r--r--mdk-stage1/dietlibc/lib/bsearch.c20
-rw-r--r--mdk-stage1/dietlibc/lib/cfgetospeed.c8
-rw-r--r--mdk-stage1/dietlibc/lib/cfmakeraw.c13
-rw-r--r--mdk-stage1/dietlibc/lib/cfsetispeed.c22
-rw-r--r--mdk-stage1/dietlibc/lib/cfsetospeed.c14
-rw-r--r--mdk-stage1/dietlibc/lib/closedir.c11
-rw-r--r--mdk-stage1/dietlibc/lib/connect.c11
-rw-r--r--mdk-stage1/dietlibc/lib/creat.c7
-rw-r--r--mdk-stage1/dietlibc/lib/creat64.c9
-rw-r--r--mdk-stage1/dietlibc/lib/errlistu.c6
-rw-r--r--mdk-stage1/dietlibc/lib/errno_location.c5
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.c21
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.h9
-rw-r--r--mdk-stage1/dietlibc/lib/execl.c25
-rw-r--r--mdk-stage1/dietlibc/lib/execle.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execlp.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execv.c15
-rw-r--r--mdk-stage1/dietlibc/lib/execvp.c47
-rw-r--r--mdk-stage1/dietlibc/lib/ftw.c47
-rw-r--r--mdk-stage1/dietlibc/lib/getdomainname.c18
-rw-r--r--mdk-stage1/dietlibc/lib/getenv.c16
-rw-r--r--mdk-stage1/dietlibc/lib/gethostname.c19
-rw-r--r--mdk-stage1/dietlibc/lib/getopt.c63
-rw-r--r--mdk-stage1/dietlibc/lib/getpeername.c12
-rw-r--r--mdk-stage1/dietlibc/lib/getpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/getsockname.c12
-rw-r--r--mdk-stage1/dietlibc/lib/getsockopt.c12
-rw-r--r--mdk-stage1/dietlibc/lib/htonl.c13
-rw-r--r--mdk-stage1/dietlibc/lib/htons.c12
-rw-r--r--mdk-stage1/dietlibc/lib/if_indextoname.c28
-rw-r--r--mdk-stage1/dietlibc/lib/if_nameindex.c40
-rw-r--r--mdk-stage1/dietlibc/lib/if_nametoindex.c26
-rw-r--r--mdk-stage1/dietlibc/lib/ipv6constants.c4
-rw-r--r--mdk-stage1/dietlibc/lib/isalnum.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isalpha.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isascii.c6
-rw-r--r--mdk-stage1/dietlibc/lib/isatty.c20
-rw-r--r--mdk-stage1/dietlibc/lib/isblank.c6
-rw-r--r--mdk-stage1/dietlibc/lib/iscntrl.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isdigit.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isgraph.c6
-rw-r--r--mdk-stage1/dietlibc/lib/islower.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isprint.c7
-rw-r--r--mdk-stage1/dietlibc/lib/ispunct.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isspace.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isupper.c9
-rw-r--r--mdk-stage1/dietlibc/lib/isxdigit.c8
-rw-r--r--mdk-stage1/dietlibc/lib/labs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/listen.c12
-rw-r--r--mdk-stage1/dietlibc/lib/llabs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/lockf.c38
-rw-r--r--mdk-stage1/dietlibc/lib/longjmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/lseek64.c16
-rw-r--r--mdk-stage1/dietlibc/lib/memccpy.c20
-rw-r--r--mdk-stage1/dietlibc/lib/memchr.c13
-rw-r--r--mdk-stage1/dietlibc/lib/memcmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/memcpy.c14
-rw-r--r--mdk-stage1/dietlibc/lib/memmem.c14
-rw-r--r--mdk-stage1/dietlibc/lib/memmove.c24
-rw-r--r--mdk-stage1/dietlibc/lib/memrchr.c15
-rw-r--r--mdk-stage1/dietlibc/lib/memset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/mkfifo.c6
-rw-r--r--mdk-stage1/dietlibc/lib/msgctl.c9
-rw-r--r--mdk-stage1/dietlibc/lib/msgget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/msgrcv.c17
-rw-r--r--mdk-stage1/dietlibc/lib/msgsnd.c9
-rw-r--r--mdk-stage1/dietlibc/lib/open64.c13
-rw-r--r--mdk-stage1/dietlibc/lib/opendir.c26
-rw-r--r--mdk-stage1/dietlibc/lib/perror.c24
-rw-r--r--mdk-stage1/dietlibc/lib/pread.c11
-rw-r--r--mdk-stage1/dietlibc/lib/pread64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/putenv.c40
-rw-r--r--mdk-stage1/dietlibc/lib/pwrite.c11
-rw-r--r--mdk-stage1/dietlibc/lib/pwrite64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/qsort.c127
-rw-r--r--mdk-stage1/dietlibc/lib/raise.c7
-rw-r--r--mdk-stage1/dietlibc/lib/rand.c12
-rw-r--r--mdk-stage1/dietlibc/lib/rand48.c89
-rw-r--r--mdk-stage1/dietlibc/lib/rand_r.c30
-rw-r--r--mdk-stage1/dietlibc/lib/readdir.c13
-rw-r--r--mdk-stage1/dietlibc/lib/readdir64.c62
-rw-r--r--mdk-stage1/dietlibc/lib/reboot.c8
-rw-r--r--mdk-stage1/dietlibc/lib/recv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/recvfrom.c13
-rw-r--r--mdk-stage1/dietlibc/lib/recvmsg.c13
-rw-r--r--mdk-stage1/dietlibc/lib/remove.c13
-rw-r--r--mdk-stage1/dietlibc/lib/rewind.c6
-rw-r--r--mdk-stage1/dietlibc/lib/rewinddir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/sbrk.c21
-rw-r--r--mdk-stage1/dietlibc/lib/seekdir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/semctl.c17
-rw-r--r--mdk-stage1/dietlibc/lib/semget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/semop.c9
-rw-r--r--mdk-stage1/dietlibc/lib/send.c13
-rw-r--r--mdk-stage1/dietlibc/lib/sendmsg.c13
-rw-r--r--mdk-stage1/dietlibc/lib/sendto.c13
-rw-r--r--mdk-stage1/dietlibc/lib/setlinebuf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/setpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/setsockopt.c12
-rw-r--r--mdk-stage1/dietlibc/lib/shmat.c14
-rw-r--r--mdk-stage1/dietlibc/lib/shmctl.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shmdt.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shmget.c9
-rw-r--r--mdk-stage1/dietlibc/lib/shutdown.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigaction.c11
-rw-r--r--mdk-stage1/dietlibc/lib/sigaddset.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigdelset.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigemptyset.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigfillset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/siginterrupt.c17
-rw-r--r--mdk-stage1/dietlibc/lib/sigismember.c16
-rw-r--r--mdk-stage1/dietlibc/lib/sigjmp.c10
-rw-r--r--mdk-stage1/dietlibc/lib/signal.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sigpending.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigprocmask.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigqueueinfo.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sigsuspend.c10
-rw-r--r--mdk-stage1/dietlibc/lib/sigtimedwait.c7
-rw-r--r--mdk-stage1/dietlibc/lib/sleep.c11
-rw-r--r--mdk-stage1/dietlibc/lib/snprintf.c13
-rw-r--r--mdk-stage1/dietlibc/lib/socket.c11
-rw-r--r--mdk-stage1/dietlibc/lib/socketpair.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sscanf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/strcasecmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcat.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strchr.c19
-rw-r--r--mdk-stage1/dietlibc/lib/strcmp.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcpy.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strdup.c9
-rw-r--r--mdk-stage1/dietlibc/lib/strerror.c20
-rw-r--r--mdk-stage1/dietlibc/lib/strlcat.c72
-rw-r--r--mdk-stage1/dietlibc/lib/strlcpy.3169
-rw-r--r--mdk-stage1/dietlibc/lib/strlcpy.c68
-rw-r--r--mdk-stage1/dietlibc/lib/strlen.c47
-rw-r--r--mdk-stage1/dietlibc/lib/strncasecmp.c22
-rw-r--r--mdk-stage1/dietlibc/lib/strncat.c34
-rw-r--r--mdk-stage1/dietlibc/lib/strncmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strncpy.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strpbrk.c11
-rw-r--r--mdk-stage1/dietlibc/lib/strrchr.c20
-rw-r--r--mdk-stage1/dietlibc/lib/strsep.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strstr.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strtod.c66
-rw-r--r--mdk-stage1/dietlibc/lib/strtof.c66
-rw-r--r--mdk-stage1/dietlibc/lib/strtok.c8
-rw-r--r--mdk-stage1/dietlibc/lib/strtok_r.c21
-rw-r--r--mdk-stage1/dietlibc/lib/strtol.c26
-rw-r--r--mdk-stage1/dietlibc/lib/strtold.c66
-rw-r--r--mdk-stage1/dietlibc/lib/strtoll.c14
-rw-r--r--mdk-stage1/dietlibc/lib/strtoul.c44
-rw-r--r--mdk-stage1/dietlibc/lib/strtoull.c31
-rw-r--r--mdk-stage1/dietlibc/lib/strxfrm.c12
-rw-r--r--mdk-stage1/dietlibc/lib/sys_siglist.c174
-rw-r--r--mdk-stage1/dietlibc/lib/tcdrain.c9
-rw-r--r--mdk-stage1/dietlibc/lib/tcflow.c35
-rw-r--r--mdk-stage1/dietlibc/lib/tcflush.c9
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetattr.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetpgrp.c12
-rw-r--r--mdk-stage1/dietlibc/lib/tcsendbreak.c11
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetattr.c37
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetpgrp.c8
-rw-r--r--mdk-stage1/dietlibc/lib/telldir.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tolower.c8
-rw-r--r--mdk-stage1/dietlibc/lib/toupper.c8
-rw-r--r--mdk-stage1/dietlibc/lib/ttyname.c66
-rw-r--r--mdk-stage1/dietlibc/lib/usleep.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vfork.c4
-rw-r--r--mdk-stage1/dietlibc/lib/vsnprintf.c33
-rw-r--r--mdk-stage1/dietlibc/lib/vsprintf.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vsscanf.c25
-rw-r--r--mdk-stage1/dietlibc/lib/wait.c6
-rw-r--r--mdk-stage1/dietlibc/lib/wait3.c5
-rw-r--r--mdk-stage1/dietlibc/lib/write12.c11
-rw-r--r--mdk-stage1/dietlibc/libcompat/daemon.c29
-rw-r--r--mdk-stage1/dietlibc/libcompat/getdelim.c32
-rw-r--r--mdk-stage1/dietlibc/libcompat/getline.c9
-rw-r--r--mdk-stage1/dietlibc/libcompat/re_bsd.c34
-rw-r--r--mdk-stage1/dietlibc/libcompat/stpcpy.c6
-rw-r--r--mdk-stage1/dietlibc/libcompat/syscall.S70
-rw-r--r--mdk-stage1/dietlibc/libcruft/___div.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/__end_parse.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_1.c9
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_nws.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/__parse_ws.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/__prepare_parse.c19
-rw-r--r--mdk-stage1/dietlibc/libcruft/alphasort.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/alphasort64.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/bcopy.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/bzero.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/clock.c21
-rw-r--r--mdk-stage1/dietlibc/libcruft/dn_expand.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft.c181
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft2.c173
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft3.c3
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft4.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getdtablesize.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrent_r.c78
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr.c35
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c2
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c84
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname.c34
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2.c36
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c55
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname_r.c68
-rw-r--r--mdk-stage1/dietlibc/libcruft/getlogin.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_data.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_long.c103
-rw-r--r--mdk-stage1/dietlibc/libcruft/getopt_long_only.c108
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpagesize.c15
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpass.c52
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwent_r.c65
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid.c12
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid_r.c13
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspent.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspent_r.c68
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam_r.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getusershell.c33
-rw-r--r--mdk-stage1/dietlibc/libcruft/grbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/h_errno.c1
-rw-r--r--mdk-stage1/dietlibc/libcruft/herrno_location.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/herror.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/hstrerror.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_addr.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_aton.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa.c8
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c22
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntop.c77
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_pton.c102
-rw-r--r--mdk-stage1/dietlibc/libcruft/initgroups.c24
-rw-r--r--mdk-stage1/dietlibc/libcruft/killpg.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/localeconv.c15
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkdtemp.c28
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkstemp.c31
-rw-r--r--mdk-stage1/dietlibc/libcruft/mktemp.c17
-rw-r--r--mdk-stage1/dietlibc/libcruft/pwbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_init.c9
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_mkquery.c75
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_query.c95
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_search.c35
-rw-r--r--mdk-stage1/dietlibc/libcruft/scan_ulong.c13
-rw-r--r--mdk-stage1/dietlibc/libcruft/scandir.c47
-rw-r--r--mdk-stage1/dietlibc/libcruft/scandir64.c47
-rw-r--r--mdk-stage1/dietlibc/libcruft/setegid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/seteuid.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/setlocale.c7
-rw-r--r--mdk-stage1/dietlibc/libcruft/spbuf.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/sysconf.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/sysconf_cpus.c64
-rw-r--r--mdk-stage1/dietlibc/libcruft/tempnam.c32
-rw-r--r--mdk-stage1/dietlibc/libcruft/tmpnam.c31
-rw-r--r--mdk-stage1/dietlibc/libcrypt/crypt.c314
-rw-r--r--mdk-stage1/dietlibc/libcrypt/md5.c243
-rw-r--r--mdk-stage1/dietlibc/libcrypt/md5crypt.c157
-rw-r--r--mdk-stage1/dietlibc/libdl/Makefile38
-rw-r--r--mdk-stage1/dietlibc/libdl/README82
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_alloc.c81
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_int.h151
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_jump.S55
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_load.c401
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_main.c1059
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_open.c35
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_queue.c39
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_rel.c42
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_rel.h25
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_relocate.c96
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_search.c111
-rw-r--r--mdk-stage1/dietlibc/libdl/dlclose.c38
-rw-r--r--mdk-stage1/dietlibc/libdl/dlerror.c55
-rw-r--r--mdk-stage1/dietlibc/libdl/dlopen.c26
-rw-r--r--mdk-stage1/dietlibc/libdl/dlsym.c92
-rw-r--r--mdk-stage1/dietlibc/libdl/elf_hash.h10
-rw-r--r--mdk-stage1/dietlibc/libdl/test/test.c20
-rw-r--r--mdk-stage1/dietlibc/libdl/test/test_so.c11
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c7
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-islower.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isprint.c6
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isupper.c6
-rw-r--r--mdk-stage1/dietlibc/libm/acosh.c6
-rw-r--r--mdk-stage1/dietlibc/libm/asinh.c6
-rw-r--r--mdk-stage1/dietlibc/libm/atanh.c8
-rw-r--r--mdk-stage1/dietlibc/libm/bessel.c171
-rw-r--r--mdk-stage1/dietlibc/libm/cosh.c9
-rw-r--r--mdk-stage1/dietlibc/libm/erf.c95
-rw-r--r--mdk-stage1/dietlibc/libm/gamma.c98
-rw-r--r--mdk-stage1/dietlibc/libm/ipow.c29
-rw-r--r--mdk-stage1/dietlibc/libm/poly.c41
-rw-r--r--mdk-stage1/dietlibc/libm/pow.c42
-rw-r--r--mdk-stage1/dietlibc/libm/rint.c5
-rw-r--r--mdk-stage1/dietlibc/libm/sinh.c9
-rw-r--r--mdk-stage1/dietlibc/libm/tanh.c7
-rw-r--r--mdk-stage1/dietlibc/libpthread/CHANGES51
-rw-r--r--mdk-stage1/dietlibc/libpthread/Makefile140
-rw-r--r--mdk-stage1/dietlibc/libpthread/README36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_atfork.c77
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_init.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c22
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cancel.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c27
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c26
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c19
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_init.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c26
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c74
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c59
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_condattr.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_create.c81
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_detach.c29
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_equal.c3
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_errno.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_exit.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fgetc.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_flockfile.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_fputc.c9
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c22
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_internal.c359
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_join.c39
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key.c48
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_create.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_delete.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c32
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c31
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_once.c9
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_self.c4
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sigmask.c8
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_spinlock.c34
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_close.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_create.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_open.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_read.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c12
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c12
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_write.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_testcancel.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/test.c72
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_internal.h134
-rw-r--r--mdk-stage1/dietlibc/libregex/rx.c494
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_none.c126
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_unix.c314
-rw-r--r--mdk-stage1/dietlibc/librpc/authunix_prot.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/bindresvport.c79
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_generic.c112
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_perror.c302
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_raw.c229
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_simple.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_tcp.c464
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_udp.c438
-rw-r--r--mdk-stage1/dietlibc/librpc/get_myaddress.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcent.c273
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcport.c57
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_clnt.c115
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getmaps.c84
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getport.c94
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_prot.c58
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_prot2.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_rmt.c402
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_callmsg.c189
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_commondata.c42
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_dtablesize.c50
-rw-r--r--mdk-stage1/dietlibc/librpc/rpc_prot.c281
-rw-r--r--mdk-stage1/dietlibc/librpc/svc.c478
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_auth.c115
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_auth_unix.c136
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_raw.c161
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_run.c71
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_simple.c144
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_tcp.c410
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_udp.c467
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr.c576
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_array.c162
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_float.c284
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_mem.c166
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_rec.c572
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_reference.c130
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_stdio.c187
-rw-r--r--mdk-stage1/dietlibc/libshell/basename.c27
-rw-r--r--mdk-stage1/dietlibc/libshell/dirname.c25
-rw-r--r--mdk-stage1/dietlibc/libshell/fnmatch.c78
-rw-r--r--mdk-stage1/dietlibc/libshell/glob.c356
-rw-r--r--mdk-stage1/dietlibc/libshell/realpath.c31
-rw-r--r--mdk-stage1/dietlibc/libstdio/clearerr.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fclose.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue2.c43
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdopen.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdprintf.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/feof.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ferror.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fflush.c64
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c30
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetpos.c8
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgets.c18
-rw-r--r--mdk-stage1/dietlibc/libstdio/fileno.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fopen.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/fprintf.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputc_unlocked.c20
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputs.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/fread.c46
-rw-r--r--mdk-stage1/dietlibc/libstdio/freopen.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fscanf.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseek.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseeko.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseeko64.c12
-rw-r--r--mdk-stage1/dietlibc/libstdio/fsetpos.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftell.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftello.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftello64.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fwrite.c28
-rw-r--r--mdk-stage1/dietlibc/libstdio/printf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/putchar.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/puts.c16
-rw-r--r--mdk-stage1/dietlibc/libstdio/scanf.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/setvbuf.c34
-rw-r--r--mdk-stage1/dietlibc/libstdio/stderr.c22
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdin.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdout.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/tmpfile.c12
-rw-r--r--mdk-stage1/dietlibc/libstdio/ungetc.c10
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfdprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vfscanf.c11
-rw-r--r--mdk-stage1/dietlibc/libstdio/vprintf.c15
-rw-r--r--mdk-stage1/dietlibc/libstdio/vscanf.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/asctime.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/asctime_r.c29
-rw-r--r--mdk-stage1/dietlibc/libugly/asprintf.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/ctime.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/difftime.c8
-rw-r--r--mdk-stage1/dietlibc/libugly/dirfd.c8
-rw-r--r--mdk-stage1/dietlibc/libugly/endmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/facilitynames.c32
-rw-r--r--mdk-stage1/dietlibc/libugly/freeaddrinfo.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/ftime.c15
-rw-r--r--mdk-stage1/dietlibc/libugly/gai_strerror.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getaddrinfo.c140
-rw-r--r--mdk-stage1/dietlibc/libugly/gethostent.c116
-rw-r--r--mdk-stage1/dietlibc/libugly/getmntent.c31
-rw-r--r--mdk-stage1/dietlibc/libugly/getnameinfo.c46
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobyname.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobyname_r.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobynumber.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotobynumber_r.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent_r.c78
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyname.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyname_r.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyport.c12
-rw-r--r--mdk-stage1/dietlibc/libugly/getservbyport_r.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/getservent.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/getservent_r.c91
-rw-r--r--mdk-stage1/dietlibc/libugly/gmtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/gmtime_r.c35
-rw-r--r--mdk-stage1/dietlibc/libugly/grantpt.c13
-rw-r--r--mdk-stage1/dietlibc/libugly/hasmntopt.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv.c71
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv_close.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/iconv_open.c28
-rw-r--r--mdk-stage1/dietlibc/libugly/isleap.c8
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime_r.c25
-rw-r--r--mdk-stage1/dietlibc/libugly/logging.c197
-rw-r--r--mdk-stage1/dietlibc/libugly/mktime.c53
-rw-r--r--mdk-stage1/dietlibc/libugly/netent.c130
-rw-r--r--mdk-stage1/dietlibc/libugly/openpty.c54
-rw-r--r--mdk-stage1/dietlibc/libugly/pclose.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/popen.c38
-rw-r--r--mdk-stage1/dietlibc/libugly/prioritynames.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/protoent_buf.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/ptsname.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/putpwent.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/servent_buf.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/setenv.c19
-rw-r--r--mdk-stage1/dietlibc/libugly/setmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/strftime.c118
-rw-r--r--mdk-stage1/dietlibc/libugly/strndup.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/strsignal.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/system.c75
-rw-r--r--mdk-stage1/dietlibc/libugly/time_table_spd.c18
-rw-r--r--mdk-stage1/dietlibc/libugly/timezone.c3
-rw-r--r--mdk-stage1/dietlibc/libugly/tzfile.c107
-rw-r--r--mdk-stage1/dietlibc/libugly/unlockpt.c10
-rw-r--r--mdk-stage1/dietlibc/libugly/unsetenv.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/utent.c103
-rw-r--r--mdk-stage1/dietlibc/libugly/wtent.c30
-rw-r--r--mdk-stage1/dietlibc/linuxnet.h19
-rw-r--r--mdk-stage1/dietlibc/parselib.h23
-rw-r--r--mdk-stage1/dietlibc/ppc/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/ppc/__longjmp.S59
-rw-r--r--mdk-stage1/dietlibc/ppc/__testandset.S12
-rw-r--r--mdk-stage1/dietlibc/ppc/clone.S48
-rw-r--r--mdk-stage1/dietlibc/ppc/mmap.c40
-rw-r--r--mdk-stage1/dietlibc/ppc/setjmp.S56
-rw-r--r--mdk-stage1/dietlibc/ppc/start.S42
-rw-r--r--mdk-stage1/dietlibc/ppc/syscalls.h259
-rw-r--r--mdk-stage1/dietlibc/ppc/unified.S40
-rw-r--r--mdk-stage1/dietlibc/profiling/PORTING25
-rw-r--r--mdk-stage1/dietlibc/profiling/README37
-rw-r--r--mdk-stage1/dietlibc/profiling/__mcount.c24
-rw-r--r--mdk-stage1/dietlibc/profiling/monitor.c93
-rw-r--r--mdk-stage1/dietlibc/profiling/profil.c75
-rw-r--r--mdk-stage1/dietlibc/sparc/Makefile.add4
-rw-r--r--mdk-stage1/dietlibc/sparc/__longjmp.S68
-rw-r--r--mdk-stage1/dietlibc/sparc/__testandset.S6
-rw-r--r--mdk-stage1/dietlibc/sparc/clone.S46
-rw-r--r--mdk-stage1/dietlibc/sparc/errlist.S280
-rw-r--r--mdk-stage1/dietlibc/sparc/fork.S25
-rw-r--r--mdk-stage1/dietlibc/sparc/mmap.c43
-rw-r--r--mdk-stage1/dietlibc/sparc/pipe.S26
-rw-r--r--mdk-stage1/dietlibc/sparc/setjmp.S39
-rw-r--r--mdk-stage1/dietlibc/sparc/shmat.c19
-rw-r--r--mdk-stage1/dietlibc/sparc/sigaction.c7
-rw-r--r--mdk-stage1/dietlibc/sparc/start.S50
-rw-r--r--mdk-stage1/dietlibc/sparc/strlen.S11
-rw-r--r--mdk-stage1/dietlibc/sparc/syscalls.h276
-rw-r--r--mdk-stage1/dietlibc/sparc/udiv.S361
-rw-r--r--mdk-stage1/dietlibc/sparc/umul.S168
-rw-r--r--mdk-stage1/dietlibc/sparc/unified.S36
-rw-r--r--mdk-stage1/dietlibc/sparc/urem.S360
-rw-r--r--mdk-stage1/dietlibc/syscalls.h35
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__getpagesize.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pread.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__pwrite.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/__reboot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/_llseek.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/access.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/adjtimex.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/alarm.S4
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/bdflush.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/brk.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chmod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/chroot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/close.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/create_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/delete_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/dup.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/dup2.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/environ.S16
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_create.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/epoll_wait.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errlist.S293
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/errno.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/execve.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchmod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fcntl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fdatasync.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/flock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fork.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstat64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fstatfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/fsync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ftruncate.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ftruncate64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getcwd.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents64.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getitimer.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getppid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresgid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getresuid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getrlimit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getrusage.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getsid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/gettimeofday.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/init_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioctl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioperm.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/iopl.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/kill.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lchown.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lchown32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/link.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lseek.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/lstat64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/madvise.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mkdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mknod.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mmap2.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mount.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mprotect.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/mremap.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/msync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlock.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munmap.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigaction.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigpending.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nanosleep.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/open.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/personality.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pipe.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pivot_root.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/poll.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/prctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/query_module.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/read.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/readlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/readv.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rename.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rmdir.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setparam.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sched_yield.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/select.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sendfile64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setdomainname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setfsuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgroups.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sethostname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setitimer.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setpgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setpriority.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setregid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setregid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresgid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setresuid.S7
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setreuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setreuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setrlimit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setsid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/settimeofday.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid32.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaltstack.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/socketcall.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/statfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/swapoff.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/swapon.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/symlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sync.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysctl.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sysinfo.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/syslog.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/time.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/times.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/truncate.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/truncate64.S10
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount2.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/uname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/unlink.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/utime.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/vhangup.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/wait4.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/waitpid.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/write.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/writev.S3
-rwxr-xr-xmdk-stage1/dietlibc/threadsafe.sh5
-rw-r--r--mdk-stage1/dietlibc/x86_64/Makefile.add2
-rw-r--r--mdk-stage1/dietlibc/x86_64/__longjmp.S26
-rw-r--r--mdk-stage1/dietlibc/x86_64/__testandset.S12
-rw-r--r--mdk-stage1/dietlibc/x86_64/accept.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/bind.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/clone.S64
-rw-r--r--mdk-stage1/dietlibc/x86_64/connect.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getpeername.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getsockname.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/getsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/listen.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/mmap.S8
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgrcv.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/msgsnd.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/recv.c13
-rw-r--r--mdk-stage1/dietlibc/x86_64/recvfrom.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/recvmsg.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/semop.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/send.c13
-rw-r--r--mdk-stage1/dietlibc/x86_64/sendmsg.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/sendto.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/setjmp.S37
-rw-r--r--mdk-stage1/dietlibc/x86_64/setsockopt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmat.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmctl.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmdt.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shmget.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/shutdown.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/sigaction.c26
-rw-r--r--mdk-stage1/dietlibc/x86_64/socket.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/socketpair.S3
-rw-r--r--mdk-stage1/dietlibc/x86_64/start.S55
-rw-r--r--mdk-stage1/dietlibc/x86_64/syscalls.h282
-rw-r--r--mdk-stage1/dietlibc/x86_64/umount.S9
-rw-r--r--mdk-stage1/dietlibc/x86_64/unified.S32
-rw-r--r--mdk-stage1/dietlibc/x86_64/waitpid.S12
-rw-r--r--mdk-stage1/directory.c169
-rw-r--r--mdk-stage1/directory.h29
-rw-r--r--mdk-stage1/disk.c456
-rw-r--r--mdk-stage1/disk.h5
-rw-r--r--mdk-stage1/dns.c212
-rw-r--r--mdk-stage1/dns.h4
-rw-r--r--mdk-stage1/doc/README18
-rw-r--r--mdk-stage1/doc/TECH-INFOS25
-rw-r--r--mdk-stage1/doc/UPDATEMODULES62
-rw-r--r--mdk-stage1/doc/WHY-DIETLIBC50
-rw-r--r--mdk-stage1/doc/documented..frontend.h4
-rw-r--r--mdk-stage1/frontend-common.c25
-rw-r--r--mdk-stage1/frontend.h15
-rw-r--r--mdk-stage1/init-data/emptyboot.img.bz2bin6342 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-blank.img.bz2bin14592 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2bin30301 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot-graphicallogo.img.bz2bin29864 -> 0 bytes-rw-r--r--mdk-stage1/init-data/msgboot.img.bz2bin30881 -> 0 bytes-rw-r--r--mdk-stage1/init-libc-headers.h45
-rw-r--r--mdk-stage1/init.c409
-rw-r--r--mdk-stage1/insmod-busybox/.cvsignore2
-rw-r--r--mdk-stage1/insmod-busybox/Config.h133
-rw-r--r--mdk-stage1/insmod-busybox/Makefile43
-rw-r--r--mdk-stage1/insmod-busybox/README8
-rw-r--r--mdk-stage1/insmod-busybox/busybox.h477
-rw-r--r--mdk-stage1/insmod-busybox/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-busybox/insmod.c3758
-rw-r--r--mdk-stage1/insmod-busybox/loop.h5
-rw-r--r--mdk-stage1/insmod-busybox/messages.c90
-rw-r--r--mdk-stage1/insmod-busybox/utility.c1759
-rw-r--r--mdk-stage1/insmod-modutils/Makefile59
-rw-r--r--mdk-stage1/insmod-modutils/include/config.h108
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_alpha.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_arm.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_hppa.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_hppa64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_i386.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ia64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_m68k.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_mips.h23
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ppc.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_s390.h11
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc64.h26
-rw-r--r--mdk-stage1/insmod-modutils/include/kallsyms.h129
-rw-r--r--mdk-stage1/insmod-modutils/include/kerneld.h44
-rw-r--r--mdk-stage1/insmod-modutils/include/modstat.h55
-rw-r--r--mdk-stage1/insmod-modutils/include/module.h217
-rw-r--r--mdk-stage1/insmod-modutils/include/obj.h298
-rw-r--r--mdk-stage1/insmod-modutils/include/util.h99
-rw-r--r--mdk-stage1/insmod-modutils/include/version.h1
-rw-r--r--mdk-stage1/insmod-modutils/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-modutils/insmod.c2141
-rw-r--r--mdk-stage1/insmod-modutils/obj/Makefile38
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_alpha.c328
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_arm.c310
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_common.c416
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa.c638
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa64.c682
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_i386.c237
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ia64.c1022
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_kallsyms.c290
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_load.c343
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_m68k.c145
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_mips.c254
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ppc.c266
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_reloc.c413
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_s390.c332
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc.c224
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc64.c350
-rw-r--r--mdk-stage1/insmod-modutils/util/Makefile42
-rw-r--r--mdk-stage1/insmod-modutils/util/alias.h310
-rw-r--r--mdk-stage1/insmod-modutils/util/arch64.c43
-rw-r--r--mdk-stage1/insmod-modutils/util/config.c1614
-rw-r--r--mdk-stage1/insmod-modutils/util/gzfiles.c74
-rw-r--r--mdk-stage1/insmod-modutils/util/logger.c160
-rw-r--r--mdk-stage1/insmod-modutils/util/meta_expand.c339
-rw-r--r--mdk-stage1/insmod-modutils/util/modstat.c419
-rw-r--r--mdk-stage1/insmod-modutils/util/snap_shot.c154
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_cm.c86
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_dm.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_gks.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_nim.c51
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_oim.c38
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_qm.c54
-rw-r--r--mdk-stage1/insmod-modutils/util/xftw.c422
-rw-r--r--mdk-stage1/insmod-modutils/util/xmalloc.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/xrealloc.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrcat.c38
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrdup.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xsystem.c49
-rw-r--r--mdk-stage1/insmod.h20
-rw-r--r--mdk-stage1/ka.c198
-rw-r--r--mdk-stage1/ka.h20
-rw-r--r--mdk-stage1/linux-2.2/nfs.h226
-rw-r--r--mdk-stage1/linux-2.2/nfs_mount.h53
-rw-r--r--mdk-stage1/log.c6
-rw-r--r--mdk-stage1/log.h6
-rw-r--r--mdk-stage1/lomount.c71
-rw-r--r--mdk-stage1/lomount.h8
-rw-r--r--mdk-stage1/mar/.cvsignore1
-rw-r--r--mdk-stage1/mar/Makefile52
-rw-r--r--mdk-stage1/mar/mar-extract-only.c208
-rw-r--r--mdk-stage1/mar/mar-extract-only.h32
-rw-r--r--mdk-stage1/mar/mar-frontend.c199
-rw-r--r--mdk-stage1/mar/mar.h70
-rw-r--r--mdk-stage1/minilibc.c317
-rw-r--r--mdk-stage1/minilibc.h158
-rw-r--r--mdk-stage1/mkinitrd_helper/Makefile46
-rw-r--r--mdk-stage1/mkinitrd_helper/mkinitrd_helper.c308
-rw-r--r--mdk-stage1/modules.c483
-rw-r--r--mdk-stage1/modules.h15
-rw-r--r--mdk-stage1/modules_descr.h66
-rw-r--r--mdk-stage1/mount.c142
-rw-r--r--mdk-stage1/mount.h13
-rw-r--r--mdk-stage1/mount_rpcgen.h208
-rw-r--r--mdk-stage1/network.c643
-rw-r--r--mdk-stage1/network.h11
-rw-r--r--mdk-stage1/newt-frontend.c101
-rw-r--r--mdk-stage1/newt/Makefile42
-rw-r--r--mdk-stage1/newt/button.c190
-rw-r--r--mdk-stage1/newt/buttonbar.c46
-rw-r--r--mdk-stage1/newt/checkbox.c290
-rw-r--r--mdk-stage1/newt/checkboxtree.c714
-rw-r--r--mdk-stage1/newt/entry.c376
-rw-r--r--mdk-stage1/newt/form.c713
-rw-r--r--mdk-stage1/newt/grid.c389
-rw-r--r--mdk-stage1/newt/label.c81
-rw-r--r--mdk-stage1/newt/listbox.c752
-rw-r--r--mdk-stage1/newt/newt.c672
-rw-r--r--mdk-stage1/newt/newt.h362
-rw-r--r--mdk-stage1/newt/newt_pr.h82
-rw-r--r--mdk-stage1/newt/scale.c72
-rw-r--r--mdk-stage1/newt/scrollbar.c124
-rw-r--r--mdk-stage1/newt/textbox.c409
-rw-r--r--mdk-stage1/newt/windows.c275
-rw-r--r--mdk-stage1/nfsmount.c294
-rw-r--r--mdk-stage1/nfsmount.h328
-rw-r--r--mdk-stage1/params.c175
-rw-r--r--mdk-stage1/params.h31
-rw-r--r--mdk-stage1/partition.c170
-rw-r--r--mdk-stage1/partition.h28
-rw-r--r--mdk-stage1/pci-resource/.cvsignore1
-rw-r--r--mdk-stage1/pci-resource/Makefile25
-rwxr-xr-xmdk-stage1/pci-resource/update-pci-ids.pl72
-rw-r--r--mdk-stage1/pcmcia/Makefile52
-rw-r--r--mdk-stage1/pcmcia/bulkmem.h (renamed from mdk-stage1/pcmcia_/bulkmem.h)0
-rw-r--r--mdk-stage1/pcmcia/cirrus.h157
-rw-r--r--mdk-stage1/pcmcia/cistpl.h (renamed from mdk-stage1/pcmcia_/cistpl.h)0
-rw-r--r--mdk-stage1/pcmcia/cs.h433
-rw-r--r--mdk-stage1/pcmcia/cs_types.h70
-rw-r--r--mdk-stage1/pcmcia/driver_ops.h73
-rw-r--r--mdk-stage1/pcmcia/ds.h148
-rw-r--r--mdk-stage1/pcmcia/i82365.h135
-rw-r--r--mdk-stage1/pcmcia/lex_config.l224
-rwxr-xr-xmdk-stage1/pcmcia/merge_from_pcitable37
-rw-r--r--mdk-stage1/pcmcia/pcmcia.h21
-rw-r--r--mdk-stage1/pcmcia/probe.c426
-rw-r--r--mdk-stage1/pcmcia/startup.c271
-rw-r--r--mdk-stage1/pcmcia/startup.h54
-rw-r--r--mdk-stage1/pcmcia/tcic.h (renamed from mdk-stage1/pcmcia_/tcic.h)0
-rw-r--r--mdk-stage1/pcmcia/version.h (renamed from mdk-stage1/pcmcia_/version.h)0
-rw-r--r--mdk-stage1/pcmcia/vg468.h106
-rw-r--r--mdk-stage1/pcmcia/yacc_config.y133
-rw-r--r--mdk-stage1/pcmcia_/Makefile37
-rw-r--r--mdk-stage1/pcmcia_/cardmgr.c1652
-rw-r--r--mdk-stage1/pcmcia_/cardmgr.h112
-rw-r--r--mdk-stage1/pcmcia_/cirrus.h182
-rw-r--r--mdk-stage1/pcmcia_/cs.h465
-rw-r--r--mdk-stage1/pcmcia_/cs_types.h65
-rw-r--r--mdk-stage1/pcmcia_/driver_ops.h82
-rw-r--r--mdk-stage1/pcmcia_/ds.h163
-rw-r--r--mdk-stage1/pcmcia_/i82365.h154
-rw-r--r--mdk-stage1/pcmcia_/lex_config.c2053
-rwxr-xr-xmdk-stage1/pcmcia_/merge_from_pcitable51
-rw-r--r--mdk-stage1/pcmcia_/pcmcia.h21
-rw-r--r--mdk-stage1/pcmcia_/probe.c518
-rw-r--r--mdk-stage1/pcmcia_/vg468.h112
-rw-r--r--mdk-stage1/pcmcia_/yacc_config.c1015
-rw-r--r--mdk-stage1/pcmcia_/yacc_config.h37
-rw-r--r--mdk-stage1/ppp/.cvsignore1
-rw-r--r--mdk-stage1/ppp/Changes-2.3441
-rw-r--r--mdk-stage1/ppp/FAQ634
-rw-r--r--mdk-stage1/ppp/PLUGINS131
-rw-r--r--mdk-stage1/ppp/README168
-rw-r--r--mdk-stage1/ppp/README.MSCHAP80284
-rw-r--r--mdk-stage1/ppp/README.cbcp97
-rw-r--r--mdk-stage1/ppp/README.linux297
-rw-r--r--mdk-stage1/ppp/README.sol2220
-rw-r--r--mdk-stage1/ppp/README.sunos462
-rw-r--r--mdk-stage1/ppp/SETUP111
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux.makeopt27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sol219
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sunos419
-rw-r--r--mdk-stage1/ppp/chat/chat.8515
-rw-r--r--mdk-stage1/ppp/chat/chat.c1756
-rw-r--r--mdk-stage1/ppp/common/zlib.c5376
-rw-r--r--mdk-stage1/ppp/common/zlib.h1010
-rwxr-xr-xmdk-stage1/ppp/configure141
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux16
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.818
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c92
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh7
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c218
-rw-r--r--mdk-stage1/ppp/etc.ppp/chap-secrets2
-rw-r--r--mdk-stage1/ppp/etc.ppp/options5
-rw-r--r--mdk-stage1/ppp/etc.ppp/options.options1
-rw-r--r--mdk-stage1/ppp/etc.ppp/pap-secrets2
-rw-r--r--mdk-stage1/ppp/include/linux/if_ppp.h155
-rw-r--r--mdk-stage1/ppp/include/linux/if_pppvar.h138
-rw-r--r--mdk-stage1/ppp/include/linux/ppp-comp.h203
-rw-r--r--mdk-stage1/ppp/include/linux/ppp_defs.h185
-rw-r--r--mdk-stage1/ppp/include/net/if_ppp.h133
-rw-r--r--mdk-stage1/ppp/include/net/ppp-comp.h165
-rw-r--r--mdk-stage1/ppp/include/net/ppp_defs.h184
-rw-r--r--mdk-stage1/ppp/include/net/pppio.h99
-rw-r--r--mdk-stage1/ppp/include/net/slcompress.h148
-rw-r--r--mdk-stage1/ppp/include/net/vjcompress.h144
-rw-r--r--mdk-stage1/ppp/include/pcap-int.h117
-rw-r--r--mdk-stage1/ppp/linux/Makefile.top55
-rw-r--r--mdk-stage1/ppp/modules/bsd-comp.c1116
-rw-r--r--mdk-stage1/ppp/modules/deflate.c760
-rw-r--r--mdk-stage1/ppp/modules/if_ppp.c865
-rw-r--r--mdk-stage1/ppp/modules/ppp.c2486
-rw-r--r--mdk-stage1/ppp/modules/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/modules/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/modules/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/modules/vjcompress.c587
-rw-r--r--mdk-stage1/ppp/pppd/.cvsignore2
-rw-r--r--mdk-stage1/ppp/pppd/Makefile49
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.make131
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.makeopt129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sol248
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sunos426
-rw-r--r--mdk-stage1/ppp/pppd/auth.c1939
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.c456
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.h26
-rw-r--r--mdk-stage1/ppp/pppd/ccp.c1257
-rw-r--r--mdk-stage1/ppp/pppd/ccp.h48
-rw-r--r--mdk-stage1/ppp/pppd/chap.c860
-rw-r--r--mdk-stage1/ppp/pppd/chap.h124
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.c338
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.h33
-rw-r--r--mdk-stage1/ppp/pppd/demand.c351
-rw-r--r--mdk-stage1/ppp/pppd/eui64.c40
-rw-r--r--mdk-stage1/ppp/pppd/eui64.h97
-rw-r--r--mdk-stage1/ppp/pppd/fsm.c762
-rw-r--r--mdk-stage1/ppp/pppd/fsm.h144
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.c2054
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.h73
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.c1512
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.h126
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.c1570
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.h71
-rw-r--r--mdk-stage1/ppp/pppd/lcp.c2224
-rw-r--r--mdk-stage1/ppp/pppd/lcp.h95
-rw-r--r--mdk-stage1/ppp/pppd/magic.c88
-rw-r--r--mdk-stage1/ppp/pppd/magic.h23
-rw-r--r--mdk-stage1/ppp/pppd/main.c1846
-rw-r--r--mdk-stage1/ppp/pppd/md4.c298
-rw-r--r--mdk-stage1/ppp/pppd/md4.h64
-rw-r--r--mdk-stage1/ppp/pppd/md5.c309
-rw-r--r--mdk-stage1/ppp/pppd/md5.h58
-rw-r--r--mdk-stage1/ppp/pppd/multilink.c397
-rw-r--r--mdk-stage1/ppp/pppd/options.c1513
-rw-r--r--mdk-stage1/ppp/pppd/patchlevel.h4
-rw-r--r--mdk-stage1/ppp/pppd/pathnames.h25
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.linux19
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.sol227
-rw-r--r--mdk-stage1/ppp/pppd/plugins/minconn.c46
-rw-r--r--mdk-stage1/ppp/pppd/plugins/passprompt.c108
-rw-r--r--mdk-stage1/ppp/pppd/ppp.pam6
-rw-r--r--mdk-stage1/ppp/pppd/pppd.81591
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h787
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h.wtmp789
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c2672
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c.wtmp2750
-rw-r--r--mdk-stage1/ppp/pppd/sys-solaris.c2737
-rw-r--r--mdk-stage1/ppp/pppd/sys-sunos4.c1559
-rw-r--r--mdk-stage1/ppp/pppd/tdb.c1282
-rw-r--r--mdk-stage1/ppp/pppd/tdb.h77
-rw-r--r--mdk-stage1/ppp/pppd/tty.c1164
-rw-r--r--mdk-stage1/ppp/pppd/upap.c640
-rw-r--r--mdk-stage1/ppp/pppd/upap.h87
-rw-r--r--mdk-stage1/ppp/pppd/utils.c949
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.makeopt17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sol221
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sunos421
-rw-r--r--mdk-stage1/ppp/pppdump/bsd-comp.c750
-rw-r--r--mdk-stage1/ppp/pppdump/deflate.c344
-rw-r--r--mdk-stage1/ppp/pppdump/ppp-comp.h150
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.862
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.c502
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.c4614
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.h631
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.linux32
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sol220
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sunos430
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.8217
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.c557
-rw-r--r--mdk-stage1/ppp/sample/auth-down17
-rw-r--r--mdk-stage1/ppp/sample/auth-up17
-rw-r--r--mdk-stage1/ppp/sample/ip-down22
-rw-r--r--mdk-stage1/ppp/sample/ip-up23
-rw-r--r--mdk-stage1/ppp/sample/options153
-rw-r--r--mdk-stage1/ppp/sample/options.ttyXX14
-rw-r--r--mdk-stage1/ppp/sample/pap-secrets28
-rw-r--r--mdk-stage1/ppp/scripts/README143
-rwxr-xr-xmdk-stage1/ppp/scripts/callback77
-rw-r--r--mdk-stage1/ppp/scripts/chat-callback98
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/README134
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/chatchat.c409
-rw-r--r--mdk-stage1/ppp/scripts/ip-down.local.add20
-rw-r--r--mdk-stage1/ppp/scripts/ip-up.local.add24
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-rem1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-rem1
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-off34
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on36
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-dialer17
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-rsh72
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-ssh76
-rwxr-xr-xmdk-stage1/ppp/scripts/redialer96
-rw-r--r--mdk-stage1/ppp/scripts/secure-card111
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs16
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.top50
-rw-r--r--mdk-stage1/ppp/solaris/ppp.c2486
-rw-r--r--mdk-stage1/ppp/solaris/ppp.conf1
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.c174
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/sunos4/Makedefs13
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile57
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile.top46
-rw-r--r--mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c57
-rwxr-xr-xmdk-stage1/ppp/sunos4/ppp.INSTALL104
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_vdcmd.c81
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs16
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.svr460
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.top50
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Node1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.conf1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/svr4/ppp_mod.c174
-rw-r--r--mdk-stage1/probe-modules.c69
-rw-r--r--mdk-stage1/probing.c1009
-rw-r--r--mdk-stage1/probing.h37
-rw-r--r--mdk-stage1/rescue-gui.c99
-rw-r--r--mdk-stage1/rp-pppoe/.cvsignore1
-rw-r--r--mdk-stage1/rp-pppoe/README87
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-masq35
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-standalone32
-rw-r--r--mdk-stage1/rp-pppoe/configs/pap-secrets9
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe-server-options5
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe.conf126
-rw-r--r--mdk-stage1/rp-pppoe/doc/CHANGES177
-rw-r--r--mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT295
-rw-r--r--mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE39
-rw-r--r--mdk-stage1/rp-pppoe/doc/LICENSE339
-rw-r--r--mdk-stage1/rp-pppoe/doc/PROBLEMS3
-rwxr-xr-xmdk-stage1/rp-pppoe/go43
-rwxr-xr-xmdk-stage1/rp-pppoe/go-gui92
-rw-r--r--mdk-stage1/rp-pppoe/gui/Makefile.in64
-rw-r--r--mdk-stage1/rp-pppoe/gui/html/tkpppoe.html181
-rw-r--r--mdk-stage1/rp-pppoe/gui/pppoe-wrapper.145
-rw-r--r--mdk-stage1/rp-pppoe/gui/tkpppoe.136
-rwxr-xr-xmdk-stage1/rp-pppoe/gui/tkpppoe.in2891
-rw-r--r--mdk-stage1/rp-pppoe/gui/wrapper.c234
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-connect.866
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-setup.823
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-start.827
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-status.825
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-stop.821
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-relay.8124
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-server.8123
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-sniff.877
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.8236
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.conf.5168
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe-gui.spec98
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe.spec71
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-connect.in278
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-suse.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init.in64
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-setup.in346
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-start.in186
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-status82
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-stop.in84
-rw-r--r--mdk-stage1/rp-pppoe/src/.cvsignore2
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile45
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile.in257
-rw-r--r--mdk-stage1/rp-pppoe/src/common.c485
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h135
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h.in134
-rwxr-xr-xmdk-stage1/rp-pppoe/src/configure2356
-rw-r--r--mdk-stage1/rp-pppoe/src/configure.in231
-rw-r--r--mdk-stage1/rp-pppoe/src/debug.c143
-rw-r--r--mdk-stage1/rp-pppoe/src/discovery.c629
-rw-r--r--mdk-stage1/rp-pppoe/src/if.c1092
-rwxr-xr-xmdk-stage1/rp-pppoe/src/install-sh238
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.c246
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.h27
-rw-r--r--mdk-stage1/rp-pppoe/src/plugin.c397
-rw-r--r--mdk-stage1/rp-pppoe/src/ppp.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-server.c1247
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-sniff.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.c834
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.h331
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.c1541
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.h97
-rw-r--r--mdk-stage1/slang/Makefile42
-rw-r--r--mdk-stage1/slang/_slang.h743
-rw-r--r--mdk-stage1/slang/config.h163
-rw-r--r--mdk-stage1/slang/jdmacros.h53
-rw-r--r--mdk-stage1/slang/keywhash.c190
-rw-r--r--mdk-stage1/slang/sl-feat.h60
-rw-r--r--mdk-stage1/slang/slang.c5547
-rw-r--r--mdk-stage1/slang/slang.h1930
-rw-r--r--mdk-stage1/slang/slarith.c1656
-rw-r--r--mdk-stage1/slang/slarith.inc783
-rw-r--r--mdk-stage1/slang/slarray.c3139
-rw-r--r--mdk-stage1/slang/slarrfun.c464
-rw-r--r--mdk-stage1/slang/slarrfun.inc257
-rw-r--r--mdk-stage1/slang/slarrmis.c38
-rw-r--r--mdk-stage1/slang/slassoc.c713
-rw-r--r--mdk-stage1/slang/slbstr.c615
-rw-r--r--mdk-stage1/slang/slclass.c1391
-rw-r--r--mdk-stage1/slang/slcmd.c351
-rw-r--r--mdk-stage1/slang/slcmplex.c1142
-rw-r--r--mdk-stage1/slang/slcompat.c34
-rw-r--r--mdk-stage1/slang/slcurses.c972
-rw-r--r--mdk-stage1/slang/slcurses.h353
-rw-r--r--mdk-stage1/slang/sldisply.c2596
-rw-r--r--mdk-stage1/slang/slerr.c181
-rw-r--r--mdk-stage1/slang/slerrno.c219
-rw-r--r--mdk-stage1/slang/slgetkey.c306
-rw-r--r--mdk-stage1/slang/slimport.c281
-rw-r--r--mdk-stage1/slang/slinclud.h26
-rw-r--r--mdk-stage1/slang/slintall.c27
-rw-r--r--mdk-stage1/slang/slistruc.c218
-rw-r--r--mdk-stage1/slang/slkeymap.c596
-rw-r--r--mdk-stage1/slang/slkeypad.c163
-rw-r--r--mdk-stage1/slang/sllimits.h64
-rw-r--r--mdk-stage1/slang/slmalloc.c165
-rw-r--r--mdk-stage1/slang/slmath.c565
-rw-r--r--mdk-stage1/slang/slmemchr.c47
-rw-r--r--mdk-stage1/slang/slmemcmp.c76
-rw-r--r--mdk-stage1/slang/slmemcpy.c49
-rw-r--r--mdk-stage1/slang/slmemset.c39
-rw-r--r--mdk-stage1/slang/slmisc.c330
-rw-r--r--mdk-stage1/slang/slnspace.c242
-rw-r--r--mdk-stage1/slang/slospath.c73
-rw-r--r--mdk-stage1/slang/slpack.c785
-rw-r--r--mdk-stage1/slang/slparse.c1970
-rw-r--r--mdk-stage1/slang/slpath.c344
-rw-r--r--mdk-stage1/slang/slposdir.c1057
-rw-r--r--mdk-stage1/slang/slposio.c568
-rw-r--r--mdk-stage1/slang/slprepr.c427
-rw-r--r--mdk-stage1/slang/slproc.c155
-rw-r--r--mdk-stage1/slang/slregexp.c935
-rw-r--r--mdk-stage1/slang/slrline.c836
-rw-r--r--mdk-stage1/slang/slscanf.c718
-rw-r--r--mdk-stage1/slang/slscroll.c450
-rw-r--r--mdk-stage1/slang/slsearch.c239
-rw-r--r--mdk-stage1/slang/slsignal.c336
-rw-r--r--mdk-stage1/slang/slsmg.c1584
-rw-r--r--mdk-stage1/slang/slstd.c724
-rw-r--r--mdk-stage1/slang/slstdio.c1050
-rw-r--r--mdk-stage1/slang/slstring.c546
-rw-r--r--mdk-stage1/slang/slstrops.c1686
-rw-r--r--mdk-stage1/slang/slstruct.c932
-rw-r--r--mdk-stage1/slang/sltermin.c1155
-rw-r--r--mdk-stage1/slang/sltime.c310
-rw-r--r--mdk-stage1/slang/sltoken.c1702
-rw-r--r--mdk-stage1/slang/sltypes.c966
-rw-r--r--mdk-stage1/slang/slutty.c596
-rw-r--r--mdk-stage1/slang/slxstrng.c43
-rw-r--r--mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2bin92142 -> 0 bytes-rw-r--r--mdk-stage1/stage1-data/stage1-with-sash.tar.bz2bin345030 -> 0 bytes-rw-r--r--mdk-stage1/stage1-data/stage1.tar.bz2bin1957 -> 0 bytes-rw-r--r--mdk-stage1/stage1.c305
-rw-r--r--mdk-stage1/stage1.h21
-rw-r--r--mdk-stage1/stdio-frontend.c56
-rw-r--r--mdk-stage1/thirdparty.c460
-rw-r--r--mdk-stage1/thirdparty.h35
-rw-r--r--mdk-stage1/tools.c518
-rw-r--r--mdk-stage1/tools.h45
-rwxr-xr-xmdk-stage1/update-pci-ids.pl27
-rwxr-xr-xmdk-stage1/update-pcmcia-ids.pl42
-rwxr-xr-xmdk-stage1/update-usb-ids.pl24
-rw-r--r--mdk-stage1/url.c128
-rw-r--r--mdk-stage1/url.h8
-rw-r--r--mdk-stage1/usb-resource/.cvsignore1
-rw-r--r--mdk-stage1/usb-resource/Makefile25
-rwxr-xr-xmdk-stage1/usb-resource/update-usb-ids.pl53
-rw-r--r--mdk-stage1/utils.c191
-rw-r--r--mdk-stage1/utils.h36
-rw-r--r--mdk-stage1/wireless.c160
-rw-r--r--mdk-stage1/wireless.h25
-rw-r--r--mdk-stage1/zlibsupport.c292
-rw-r--r--mdk-stage1/zlibsupport.h11
-rw-r--r--perl-install/.cvsignore6
-rw-r--r--perl-install/.gitattributes1
-rw-r--r--perl-install/.perl_checker10
-rw-r--r--perl-install/ChangeLog51325
-rw-r--r--perl-install/Makefile277
-rw-r--r--perl-install/Makefile.config35
-rw-r--r--perl-install/Makefile.drakxtools76
-rw-r--r--perl-install/NEWS4397
-rw-r--r--perl-install/Newt/.cvsignore6
-rw-r--r--perl-install/Newt/Av_CharPtrPtr.c99
-rw-r--r--perl-install/Newt/Av_CharPtrPtr.h4
-rw-r--r--perl-install/Newt/Makefile10
-rw-r--r--perl-install/Newt/Makefile.PL13
-rw-r--r--perl-install/Newt/Newt.pm20
-rw-r--r--perl-install/Newt/Newt.xs490
-rw-r--r--perl-install/Newt/typemap25
-rw-r--r--perl-install/PORTING4
-rw-r--r--perl-install/Xconfig/FILES8
-rw-r--r--perl-install/Xconfig/card.pm678
-rw-r--r--perl-install/Xconfig/default.pm44
-rw-r--r--perl-install/Xconfig/main.pm217
-rw-r--r--perl-install/Xconfig/monitor.pm207
-rw-r--r--perl-install/Xconfig/parse.pm199
-rw-r--r--perl-install/Xconfig/proprietary.pm35
-rw-r--r--perl-install/Xconfig/resolution_and_depth.pm317
-rw-r--r--perl-install/Xconfig/screen.pm42
-rw-r--r--perl-install/Xconfig/test.pm159
-rw-r--r--perl-install/Xconfig/various.pm153
-rw-r--r--perl-install/Xconfig/xfree.pm111
-rw-r--r--perl-install/Xconfig/xfree3.pm281
-rw-r--r--perl-install/Xconfig/xfree4.pm165
-rw-r--r--perl-install/Xconfig/xfreeX.pm353
-rw-r--r--perl-install/any.pm2212
-rw-r--r--perl-install/apps.net_monitor4
-rw-r--r--perl-install/authentication.pm983
-rw-r--r--perl-install/bootloader.pm3297
-rw-r--r--perl-install/c.pm37
-rw-r--r--perl-install/c/.cvsignore9
-rw-r--r--perl-install/c/Makefile9
-rwxr-xr-x[-rw-r--r--]perl-install/c/Makefile.PL13
-rw-r--r--perl-install/c/README3
-rw-r--r--perl-install/c/sbus.c156
-rw-r--r--perl-install/c/silo.c817
-rw-r--r--perl-install/c/smp-dmi.c213
-rw-r--r--perl-install/c/smp-test.c6
-rw-r--r--perl-install/c/smp.c511
-rw-r--r--perl-install/c/smp.h6
-rw-r--r--perl-install/c/stuff.pm5
-rwxr-xr-x[-rw-r--r--]perl-install/c/stuff.xs.pl856
-rw-r--r--perl-install/class_discard.pm11
-rwxr-xr-xperl-install/commands18
-rw-r--r--perl-install/commands.pm517
-rw-r--r--perl-install/common.pm742
-rw-r--r--perl-install/cpufreq.pm170
-rw-r--r--perl-install/crypto.pm165
-rw-r--r--perl-install/dbus_object.pm72
-rw-r--r--perl-install/detect_devices.pm1635
-rw-r--r--perl-install/devices.pm247
-rw-r--r--perl-install/diskdrake/dav.pm29
-rw-r--r--perl-install/diskdrake/diskdrake.html139
-rw-r--r--perl-install/diskdrake/hd_gtk.pm360
-rw-r--r--perl-install/diskdrake/interactive.pm1241
-rw-r--r--perl-install/diskdrake/removable.pm13
-rw-r--r--perl-install/diskdrake/resize_ext2.pm37
-rw-r--r--perl-install/diskdrake/resize_ntfs.pm12
-rw-r--r--perl-install/diskdrake/smbnfs_gtk.pm86
-rw-r--r--perl-install/do_pkgs.pm404
-rw-r--r--perl-install/drakbug.pm45
-rw-r--r--perl-install/drakxtools.spec2849
-rw-r--r--perl-install/fs.pm830
-rw-r--r--perl-install/fs/any.pm176
-rw-r--r--perl-install/fs/dmcrypt.pm216
-rw-r--r--perl-install/fs/dmraid.pm311
-rw-r--r--perl-install/fs/format.pm435
-rw-r--r--perl-install/fs/get.pm188
-rw-r--r--perl-install/fs/loopback.pm119
-rw-r--r--perl-install/fs/mount.pm235
-rw-r--r--perl-install/fs/mount_options.pm276
-rw-r--r--perl-install/fs/mount_point.pm136
-rw-r--r--perl-install/fs/partitioning.pm83
-rw-r--r--perl-install/fs/partitioning_wizard.pm655
-rw-r--r--perl-install/fs/proc_partitions.pm82
-rw-r--r--perl-install/fs/remote.pm45
-rw-r--r--perl-install/fs/remote/davfs.pm99
-rw-r--r--perl-install/fs/remote/nfs.pm74
-rw-r--r--perl-install/fs/remote/smb.pm218
-rw-r--r--perl-install/fs/type.pm456
-rw-r--r--perl-install/fs/wild_device.pm115
-rw-r--r--perl-install/fsedit.pm900
-rw-r--r--perl-install/ftp.pm86
-rwxr-xr-xperl-install/g_auto_install53
-rw-r--r--perl-install/handle_configs.pm1
-rw-r--r--perl-install/harddrake/TODO171
-rw-r--r--perl-install/harddrake/autoconf.pm155
-rwxr-xr-xperl-install/harddrake/check_snd.pl2
-rw-r--r--perl-install/harddrake/data.pm593
-rw-r--r--perl-install/harddrake/sound.pm874
-rw-r--r--perl-install/harddrake/v4l.pm352
-rw-r--r--perl-install/help.pm966
-rw-r--r--perl-install/http.pm42
-rw-r--r--perl-install/install/Makefile116
-rw-r--r--perl-install/install/NEWS4999
-rw-r--r--perl-install/install/any.pm1690
-rwxr-xr-xperl-install/install/commands20
-rw-r--r--perl-install/install/commands.pm432
-rw-r--r--perl-install/install/ftp.pm100
-rw-r--r--perl-install/install/gtk.pm312
-rw-r--r--perl-install/install/help/Makefile9
-rw-r--r--perl-install/install/help/help.pm820
-rwxr-xr-xperl-install/install/help/help_xml2pm.pl326
-rw-r--r--perl-install/install/help/id.xsl (renamed from perl-install/share/po/id.xsl)0
-rw-r--r--perl-install/install/help/po/.gitignore1
-rw-r--r--perl-install/install/help/po/.tx/config8
-rw-r--r--perl-install/install/help/po/DrakX-help.pot1117
-rw-r--r--perl-install/install/help/po/Makefile35
-rw-r--r--perl-install/install/help/po/af.po1932
-rw-r--r--perl-install/install/help/po/am.po1135
-rw-r--r--perl-install/install/help/po/ar.po2005
-rw-r--r--perl-install/install/help/po/ast.po1138
-rw-r--r--perl-install/install/help/po/az.po2017
-rw-r--r--perl-install/install/help/po/be.po1139
-rw-r--r--perl-install/install/help/po/bg.po1654
-rw-r--r--perl-install/install/help/po/bn.po1575
-rw-r--r--perl-install/install/help/po/br.po1125
-rw-r--r--perl-install/install/help/po/bs.po2039
-rw-r--r--perl-install/install/help/po/ca.po1932
-rw-r--r--perl-install/install/help/po/cs.po2043
-rw-r--r--perl-install/install/help/po/cy.po2000
-rw-r--r--perl-install/install/help/po/da.po1992
-rw-r--r--perl-install/install/help/po/de.po1704
-rw-r--r--perl-install/install/help/po/el.po2123
-rw-r--r--perl-install/install/help/po/eo.po2088
-rw-r--r--perl-install/install/help/po/es.po2140
-rw-r--r--perl-install/install/help/po/et.po2020
-rw-r--r--perl-install/install/help/po/eu.po1970
-rw-r--r--perl-install/install/help/po/fa.po2028
-rw-r--r--perl-install/install/help/po/fi.po1391
-rw-r--r--perl-install/install/help/po/fr.po2035
-rw-r--r--perl-install/install/help/po/fur.po1137
-rw-r--r--perl-install/install/help/po/ga.po1137
-rw-r--r--perl-install/install/help/po/gl.po2043
-rw-r--r--perl-install/install/help/po/he.po1998
-rw-r--r--perl-install/install/help/po/hi.po1508
-rw-r--r--perl-install/install/help/po/hr.po1838
-rw-r--r--perl-install/install/help/po/hu.po2061
-rw-r--r--perl-install/install/help/po/id.po2067
-rw-r--r--perl-install/install/help/po/is.po2013
-rw-r--r--perl-install/install/help/po/it.po2167
-rw-r--r--perl-install/install/help/po/ja.po1939
-rw-r--r--perl-install/install/help/po/ko.po1527
-rw-r--r--perl-install/install/help/po/ky.po1606
-rw-r--r--perl-install/install/help/po/lt.po1435
-rw-r--r--perl-install/install/help/po/ltg.po1406
-rw-r--r--perl-install/install/help/po/lv.po1430
-rw-r--r--perl-install/install/help/po/mk.po2123
-rw-r--r--perl-install/install/help/po/mn.po1282
-rw-r--r--perl-install/install/help/po/ms.po1303
-rw-r--r--perl-install/install/help/po/mt.po1991
-rw-r--r--perl-install/install/help/po/nb.po1976
-rw-r--r--perl-install/install/help/po/nl.po1973
-rw-r--r--perl-install/install/help/po/nn.po1659
-rw-r--r--perl-install/install/help/po/pa_IN.po1178
-rw-r--r--perl-install/install/help/po/pl.po2055
-rw-r--r--perl-install/install/help/po/pt.po1968
-rw-r--r--perl-install/install/help/po/pt_BR.po1967
-rw-r--r--perl-install/install/help/po/ro.po1160
-rw-r--r--perl-install/install/help/po/ru.po1897
-rw-r--r--perl-install/install/help/po/sc.po1115
-rw-r--r--perl-install/install/help/po/sk.po2081
-rw-r--r--perl-install/install/help/po/sl.po1976
-rw-r--r--perl-install/install/help/po/sq.po2028
-rw-r--r--perl-install/install/help/po/sr.po1992
-rw-r--r--perl-install/install/help/po/sr@Latn.po1977
-rw-r--r--perl-install/install/help/po/sv.po1917
-rw-r--r--perl-install/install/help/po/ta.po1692
-rw-r--r--perl-install/install/help/po/tg.po2086
-rw-r--r--perl-install/install/help/po/th.po1168
-rw-r--r--perl-install/install/help/po/tl.po2179
-rw-r--r--perl-install/install/help/po/tr.po1821
-rw-r--r--perl-install/install/help/po/uk.po2024
-rw-r--r--perl-install/install/help/po/uz.po1171
-rw-r--r--perl-install/install/help/po/uz@cyrillic.po1146
-rw-r--r--perl-install/install/help/po/vi.po1957
-rw-r--r--perl-install/install/help/po/wa.po2085
-rw-r--r--perl-install/install/help/po/zh_CN.po1872
-rw-r--r--perl-install/install/help/po/zh_TW.po1693
-rw-r--r--perl-install/install/http.pm66
-rwxr-xr-xperl-install/install/install235
-rw-r--r--perl-install/install/install2.pm885
-rw-r--r--perl-install/install/interactive.pm33
-rw-r--r--perl-install/install/media.pm907
-rw-r--r--perl-install/install/pixmaps/cadre-blanc_600.pngbin0 -> 3696 bytes-rw-r--r--perl-install/install/pixmaps/cadre-blanc_768.pngbin0 -> 5529 bytes-rw-r--r--perl-install/install/pixmaps/desktop-Custom-big.pngbin0 -> 119501 bytes-rw-r--r--perl-install/install/pixmaps/desktop-Custom.pngbin0 -> 10669 bytes-rw-r--r--perl-install/install/pixmaps/desktop-GNOME-big.pngbin0 -> 93324 bytes-rw-r--r--perl-install/install/pixmaps/desktop-GNOME.pngbin0 -> 9085 bytes-rw-r--r--perl-install/install/pixmaps/desktop-PLASMA5-big.pngbin0 -> 89754 bytes-rw-r--r--perl-install/install/pixmaps/desktop-PLASMA5.pngbin0 -> 8669 bytes-rw-r--r--perl-install/install/pixmaps/empty-banner.pngbin0 -> 1162 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-af.png (renamed from perl-install/pixmaps/langs/lang-af.png)bin691 -> 691 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-am.png (renamed from perl-install/pixmaps/langs/lang-am.png)bin658 -> 658 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ar.png (renamed from perl-install/pixmaps/langs/lang-ar.png)bin576 -> 576 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-as.png (renamed from perl-install/pixmaps/langs/lang-as.png)bin681 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ast.pngbin0 -> 609 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-az.png (renamed from perl-install/pixmaps/langs/lang-az.png)bin928 -> 928 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-be.png (renamed from perl-install/pixmaps/langs/lang-be.png)bin935 -> 935 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ber.pngbin0 -> 509 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bg.png (renamed from perl-install/pixmaps/langs/lang-bg.png)bin778 -> 778 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bn.png (renamed from perl-install/pixmaps/langs/lang-bn.png)bin439 -> 439 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bo.pngbin0 -> 678 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-br.png (renamed from perl-install/pixmaps/langs/lang-br.png)bin781 -> 781 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bs.png (renamed from perl-install/pixmaps/langs/lang-bs.png)bin740 -> 740 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ca.png (renamed from perl-install/pixmaps/langs/lang-ca.png)bin513 -> 513 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ca@valencian.pngbin0 -> 1115 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-chr.pngbin0 -> 626 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-cs.png (renamed from perl-install/pixmaps/langs/lang-cs.png)bin752 -> 752 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-csb.pngbin0 -> 1052 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-cy.png (renamed from perl-install/pixmaps/langs/lang-cy.png)bin809 -> 809 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-da.png (renamed from perl-install/pixmaps/langs/lang-da.png)bin608 -> 608 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-de.png (renamed from perl-install/pixmaps/langs/lang-de.png)bin730 -> 730 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-dz.pngbin0 -> 603 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-el.png (renamed from perl-install/pixmaps/langs/lang-el.png)bin683 -> 683 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_AU.pngbin0 -> 1129 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_CA.pngbin0 -> 1068 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_GB.png (renamed from perl-install/pixmaps/langs/lang-en_GB.png)bin996 -> 996 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_IE.png (renamed from perl-install/pixmaps/langs/lang-en_IE.png)bin1128 -> 1128 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_NZ.pngbin0 -> 1388 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_US.png (renamed from perl-install/pixmaps/langs/lang-en_US.png)bin1330 -> 1330 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_ZA.pngbin0 -> 1271 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-eo.png (renamed from perl-install/pixmaps/langs/lang-eo.png)bin845 -> 845 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-es.png (renamed from perl-install/pixmaps/langs/lang-es.png)bin715 -> 715 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-et.png (renamed from perl-install/pixmaps/langs/lang-et.png)bin482 -> 482 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-eu.png (renamed from perl-install/pixmaps/langs/lang-eu.png)bin602 -> 602 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fa.png (renamed from perl-install/pixmaps/langs/lang-fa.png)bin530 -> 530 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fi.png (renamed from perl-install/pixmaps/langs/lang-fi.png)bin554 -> 554 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fil.pngbin0 -> 490 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fo.png (renamed from perl-install/pixmaps/langs/lang-fo.png)bin799 -> 799 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fr.png (renamed from perl-install/pixmaps/langs/lang-fr.png)bin644 -> 644 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fur.pngbin0 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fy.pngbin0 -> 604 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ga.png (renamed from perl-install/pixmaps/langs/lang-ga.png)bin666 -> 666 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gd.png (renamed from perl-install/pixmaps/langs/lang-gd.png)bin742 -> 742 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gl.png (renamed from perl-install/pixmaps/langs/lang-gl.png)bin723 -> 723 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gn.pngbin0 -> 770 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gu.png (renamed from perl-install/pixmaps/langs/lang-gu.png)bin778 -> 778 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gv.png (renamed from perl-install/pixmaps/langs/lang-gv.png)bin628 -> 628 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ha.pngbin0 -> 554 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-he.png (renamed from perl-install/pixmaps/langs/lang-he.png)bin536 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hi.png (renamed from perl-install/pixmaps/langs/lang-hi.png)bin491 -> 491 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hr.png (renamed from perl-install/pixmaps/langs/lang-hr.png)bin658 -> 658 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hu.png (renamed from perl-install/pixmaps/langs/lang-hu.png)bin681 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hy.pngbin0 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ia.png (renamed from perl-install/pixmaps/langs/lang-ia.png)bin755 -> 755 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-id.png (renamed from perl-install/pixmaps/langs/lang-id.png)bin974 -> 974 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ig.pngbin0 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ik.pngbin0 -> 670 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-is.png (renamed from perl-install/pixmaps/langs/lang-is.png)bin665 -> 665 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-it.png (renamed from perl-install/pixmaps/langs/lang-it.png)bin551 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-iu.png (renamed from perl-install/pixmaps/langs/lang-iu.png)bin652 -> 652 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ja.png (renamed from perl-install/pixmaps/langs/lang-ja.png)bin561 -> 561 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ka.png (renamed from perl-install/pixmaps/langs/lang-ka.png)bin1012 -> 1012 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kk.pngbin0 -> 667 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kl.pngbin0 -> 747 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-km.pngbin0 -> 671 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kn.png (renamed from perl-install/pixmaps/langs/lang-kn.png)bin543 -> 543 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ko.png (renamed from perl-install/pixmaps/langs/lang-ko.png)bin507 -> 507 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ks.pngbin0 -> 648 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ks@Arab.pngbin0 -> 599 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ku.pngbin0 -> 496 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kw.png (renamed from perl-install/pixmaps/langs/lang-kw.png)bin664 -> 664 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ky.pngbin0 -> 719 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lb.pngbin0 -> 1161 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lg.pngbin0 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-li.png (renamed from perl-install/pixmaps/langs/lang-li.png)bin659 -> 659 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lo.pngbin0 -> 230 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lt.png (renamed from perl-install/pixmaps/langs/lang-lt.png)bin824 -> 824 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ltg.pngbin0 -> 695 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lv.png (renamed from perl-install/pixmaps/langs/lang-lv.png)bin749 -> 749 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mi.png (renamed from perl-install/pixmaps/langs/lang-mi.png)bin558 -> 558 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mk.png (renamed from perl-install/pixmaps/langs/lang-mk.png)bin904 -> 904 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ml.png (renamed from perl-install/pixmaps/langs/lang-ml.png)bin1006 -> 1006 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mn.png (renamed from perl-install/pixmaps/langs/lang-mn.png)bin491 -> 491 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mr.png (renamed from perl-install/pixmaps/langs/lang-mr.png)bin452 -> 452 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ms.png (renamed from perl-install/pixmaps/langs/lang-ms.png)bin1013 -> 1013 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mt.png (renamed from perl-install/pixmaps/langs/lang-mt.png)bin547 -> 547 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-my.pngbin0 -> 557 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nb.png (renamed from perl-install/pixmaps/langs/lang-nb.png)bin970 -> 970 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nds.pngbin0 -> 877 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ne.png (renamed from perl-install/pixmaps/langs/lang-ne.png)bin518 -> 518 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nl.png (renamed from perl-install/pixmaps/langs/lang-nl.png)bin788 -> 788 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nn.png (renamed from perl-install/pixmaps/langs/lang-nn.png)bin811 -> 811 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-no.png (renamed from perl-install/pixmaps/langs/lang-no.png)bin970 -> 970 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nr.pngbin0 -> 756 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nso.pngbin0 -> 1019 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-oc.png (renamed from perl-install/pixmaps/langs/lang-oc.png)bin631 -> 631 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pa.pngbin0 -> 470 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pa_IN.pngbin0 -> 470 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pl.png (renamed from perl-install/pixmaps/langs/lang-pl.png)bin551 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ps.pngbin0 -> 436 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pt.png (renamed from perl-install/pixmaps/langs/lang-pt.png)bin814 -> 814 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pt_BR.png (renamed from perl-install/pixmaps/langs/lang-pt_BR.png)bin1178 -> 1178 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-qu.pngbin0 -> 851 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ro.png (renamed from perl-install/pixmaps/langs/lang-ro.png)bin671 -> 671 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ru.png (renamed from perl-install/pixmaps/langs/lang-ru.png)bin622 -> 622 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-rw.pngbin0 -> 913 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sc.pngbin0 -> 634 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-se.png (renamed from perl-install/pixmaps/langs/lang-se.png)bin810 -> 810 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sh.png (renamed from perl-install/pixmaps/langs/lang-sh.png)bin724 -> 724 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sk.png (renamed from perl-install/pixmaps/langs/lang-sk.png)bin878 -> 878 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sl.png (renamed from perl-install/pixmaps/langs/lang-sl.png)bin995 -> 995 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-so.pngbin0 -> 690 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sq.png (renamed from perl-install/pixmaps/langs/lang-sq.png)bin557 -> 557 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sr.pngbin0 -> 639 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sr@Latn.png (renamed from perl-install/pixmaps/langs/lang-sr@Latn.png)bin724 -> 724 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ss.png (renamed from perl-install/pixmaps/langs/lang-ss.png)bin619 -> 619 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-st.png (renamed from perl-install/pixmaps/langs/lang-st.png)bin684 -> 684 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sv.png (renamed from perl-install/pixmaps/langs/lang-sv.png)bin810 -> 810 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sw.pngbin0 -> 814 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ta.png (renamed from perl-install/pixmaps/langs/lang-ta.png)bin612 -> 612 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-te.png (renamed from perl-install/pixmaps/langs/lang-te.png)bin649 -> 649 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tg.png (renamed from perl-install/pixmaps/langs/lang-tg.png)bin524 -> 524 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-th.png (renamed from perl-install/pixmaps/langs/lang-th.png)bin396 -> 396 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tk.pngbin0 -> 737 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tn.pngbin0 -> 863 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tr.png (renamed from perl-install/pixmaps/langs/lang-tr.png)bin573 -> 573 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ts.pngbin0 -> 878 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tt.pngbin0 -> 515 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tt@Cyrl.png (renamed from perl-install/pixmaps/langs/lang-tt.png)bin567 -> 567 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ug.pngbin0 -> 635 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uk.png (renamed from perl-install/pixmaps/langs/lang-uk.png)bin766 -> 766 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ur.pngbin0 -> 423 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uz.png (renamed from perl-install/pixmaps/langs/lang-uz.png)bin1217 -> 1217 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uz@cyrillic.png (renamed from perl-install/pixmaps/langs/lang-uz@Cyrl.png)bin1203 -> 1203 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ve.png (renamed from perl-install/pixmaps/langs/lang-ve.png)bin608 -> 608 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-vi.png (renamed from perl-install/pixmaps/langs/lang-vi.png)bin765 -> 765 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-wa.png (renamed from perl-install/pixmaps/langs/lang-wa.png)bin633 -> 633 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-xh.pngbin0 -> 690 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-yi.png (renamed from perl-install/pixmaps/langs/lang-yi.png)bin369 -> 369 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-yo.pngbin0 -> 695 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zh_CN.png (renamed from perl-install/pixmaps/langs/lang-zh_CN.png)bin783 -> 783 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zh_TW.png (renamed from perl-install/pixmaps/langs/lang-zh_TW.png)bin890 -> 890 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zu.pngbin0 -> 488 bytes-rw-r--r--perl-install/install/pixmaps/left-background.pngbin0 -> 30449 bytes-rw-r--r--perl-install/install/pixmaps/left-border.pngbin0 -> 164 bytes-rw-r--r--perl-install/install/pixmaps/left-bottom-corner.pngbin0 -> 174 bytes-rw-r--r--perl-install/install/pixmaps/left-top-corner.pngbin0 -> 174 bytes-rw-r--r--perl-install/install/pixmaps/reload.pngbin0 -> 1145 bytes-rw-r--r--perl-install/install/pixmaps/right-white-background_left_part_600.pngbin0 -> 436 bytes-rw-r--r--perl-install/install/pixmaps/right-white-background_left_part_768.pngbin0 -> 457 bytes-rw-r--r--perl-install/install/pixmaps/right-white-background_right_part_600.pngbin0 -> 2063 bytes-rw-r--r--perl-install/install/pixmaps/semiselected.pngbin0 -> 305 bytes-rw-r--r--perl-install/install/pixmaps/unselected.pngbin0 -> 155 bytes-rw-r--r--perl-install/install/pkgs.pm1132
-rw-r--r--perl-install/install/share/aliases11
-rw-r--r--perl-install/install/share/consolefonts/Cyr_a8x16 (renamed from perl-install/share/consolefonts/Cyr_a8x16)bin9782 -> 9782 bytes-rw-r--r--perl-install/install/share/consolefonts/lat0-sun16 (renamed from perl-install/share/consolefonts/lat0-sun16)bin9770 -> 9770 bytes-rw-r--r--perl-install/install/share/consolefonts/lat2-sun16 (renamed from perl-install/share/consolefonts/lat2-sun16)bin9802 -> 9802 bytes-rw-r--r--perl-install/install/share/consolefonts/ruscii_8x16 (renamed from perl-install/share/consolefonts/ruscii_8x16)bin9782 -> 9782 bytes-rw-r--r--perl-install/install/share/gdb-inst24
-rwxr-xr-xperl-install/install/share/generate-xlocales67
-rw-r--r--perl-install/install/share/gtk.css7
-rw-r--r--perl-install/install/share/gtkrc1
-rw-r--r--perl-install/install/share/keymaps.tar.bz2bin0 -> 12421 bytes-rwxr-xr-xperl-install/install/share/keymaps_generate18
-rwxr-xr-xperl-install/install/share/kmap2bkmap42
-rw-r--r--perl-install/install/share/list.xml791
-rw-r--r--perl-install/install/share/po/.gitignore1
-rw-r--r--perl-install/install/share/po/.tx/config8
-rw-r--r--perl-install/install/share/po/DrakX.pot1608
-rw-r--r--perl-install/install/share/po/Makefile47
-rw-r--r--perl-install/install/share/po/af.po1713
-rw-r--r--perl-install/install/share/po/am.po1609
-rw-r--r--perl-install/install/share/po/ar.po1696
-rw-r--r--perl-install/install/share/po/ast.po1673
-rw-r--r--perl-install/install/share/po/az.po1650
-rw-r--r--perl-install/install/share/po/be.po1639
-rw-r--r--perl-install/install/share/po/bg.po1651
-rw-r--r--perl-install/install/share/po/bn.po1685
-rw-r--r--perl-install/install/share/po/br.po1672
-rw-r--r--perl-install/install/share/po/bs.po1690
-rw-r--r--perl-install/install/share/po/ca.po1701
-rw-r--r--perl-install/install/share/po/cs.po1698
-rw-r--r--perl-install/install/share/po/cy.po1722
-rw-r--r--perl-install/install/share/po/da.po1725
-rw-r--r--perl-install/install/share/po/de.po1715
-rw-r--r--perl-install/install/share/po/de_AT.po1706
-rw-r--r--perl-install/install/share/po/el.po1714
-rw-r--r--perl-install/install/share/po/eo.po1699
-rw-r--r--perl-install/install/share/po/es.po1752
-rw-r--r--perl-install/install/share/po/et.po1706
-rw-r--r--perl-install/install/share/po/eu.po1716
-rw-r--r--perl-install/install/share/po/fa.po1657
-rw-r--r--perl-install/install/share/po/fi.po1704
-rw-r--r--perl-install/install/share/po/fr.po1718
-rw-r--r--perl-install/install/share/po/fur.po1611
-rw-r--r--perl-install/install/share/po/ga.po1615
-rw-r--r--perl-install/install/share/po/gl.po1703
-rw-r--r--perl-install/install/share/po/he.po1678
-rw-r--r--perl-install/install/share/po/hi.po1644
-rw-r--r--perl-install/install/share/po/hr.po1671
-rw-r--r--perl-install/install/share/po/hu.po1726
-rw-r--r--perl-install/install/share/po/hy.po1608
-rw-r--r--perl-install/install/share/po/id.po1731
-rw-r--r--perl-install/install/share/po/is.po1692
-rw-r--r--perl-install/install/share/po/it.po1721
-rw-r--r--perl-install/install/share/po/ja.po1691
-rw-r--r--perl-install/install/share/po/ka.po1608
-rw-r--r--perl-install/install/share/po/ko.po1673
-rw-r--r--perl-install/install/share/po/ku.po1608
-rw-r--r--perl-install/install/share/po/ky.po1705
-rw-r--r--perl-install/install/share/po/lo.po1607
-rw-r--r--perl-install/install/share/po/lt.po1664
-rw-r--r--perl-install/install/share/po/ltg.po1697
-rw-r--r--perl-install/install/share/po/lv.po1651
-rw-r--r--perl-install/install/share/po/mk.po1700
-rw-r--r--perl-install/install/share/po/mn.po1611
-rw-r--r--perl-install/install/share/po/mr.po1608
-rw-r--r--perl-install/install/share/po/ms.po1620
-rw-r--r--perl-install/install/share/po/mt.po1672
-rw-r--r--perl-install/install/share/po/nb.po1708
-rw-r--r--perl-install/install/share/po/nl.po1709
-rw-r--r--perl-install/install/share/po/nn.po1693
-rw-r--r--perl-install/install/share/po/pa_IN.po1644
-rw-r--r--perl-install/install/share/po/pl.po1730
-rw-r--r--perl-install/install/share/po/pt.po1717
-rw-r--r--perl-install/install/share/po/pt_BR.po1717
-rw-r--r--perl-install/install/share/po/ro.po1725
-rw-r--r--perl-install/install/share/po/ru.po1712
-rw-r--r--perl-install/install/share/po/sc.po1625
-rw-r--r--perl-install/install/share/po/sk.po1715
-rw-r--r--perl-install/install/share/po/sl.po1701
-rw-r--r--perl-install/install/share/po/sq.po1727
-rw-r--r--perl-install/install/share/po/sr.po1714
-rw-r--r--perl-install/install/share/po/sr@Latn.po1994
-rw-r--r--perl-install/install/share/po/sv.po1706
-rw-r--r--perl-install/install/share/po/ta.po1639
-rw-r--r--perl-install/install/share/po/tg.po1729
-rw-r--r--perl-install/install/share/po/th.po1632
-rw-r--r--perl-install/install/share/po/tl.po1671
-rw-r--r--perl-install/install/share/po/tr.po1715
-rw-r--r--perl-install/install/share/po/uk.po1737
-rw-r--r--perl-install/install/share/po/uz.po1697
-rw-r--r--perl-install/install/share/po/uz@cyrillic.po1864
-rw-r--r--perl-install/install/share/po/vi.po1666
-rw-r--r--perl-install/install/share/po/wa.po1709
-rw-r--r--perl-install/install/share/po/xh.po1608
-rw-r--r--perl-install/install/share/po/zh_CN.po1665
-rw-r--r--perl-install/install/share/po/zh_TW.po1659
-rw-r--r--perl-install/install/share/po/zu.po1608
-rw-r--r--perl-install/install/share/runinstall2.sh11
-rw-r--r--perl-install/install/share/symlinks9
-rw-r--r--perl-install/install/share/themes-blue.rc65
-rw-r--r--perl-install/install/share/upgrade/.gitignore1
-rw-r--r--perl-install/install/steps.pm976
-rw-r--r--perl-install/install/steps_auto_install.pm138
-rw-r--r--perl-install/install/steps_curses.pm68
-rw-r--r--perl-install/install/steps_gtk.pm809
-rw-r--r--perl-install/install/steps_interactive.pm1158
-rw-r--r--perl-install/install/steps_list.pm62
-rw-r--r--perl-install/install/steps_stdio.pm36
-rwxr-xr-xperl-install/install238
-rw-r--r--perl-install/install2.pm674
-rw-r--r--perl-install/install_any.pm1204
-rw-r--r--perl-install/install_gtk.pm410
-rw-r--r--perl-install/install_interactive.pm297
-rw-r--r--perl-install/install_messages.pm144
-rw-r--r--perl-install/install_steps.pm1077
-rw-r--r--perl-install/install_steps_auto_install.pm120
-rw-r--r--perl-install/install_steps_gtk.pm658
-rw-r--r--perl-install/install_steps_interactive.pm1311
-rw-r--r--perl-install/install_steps_newt.pm55
-rw-r--r--perl-install/install_steps_stdio.pm36
-rw-r--r--perl-install/interactive.pm589
-rw-r--r--perl-install/interactive/curses.pm635
-rw-r--r--perl-install/interactive/gtk.pm1201
-rw-r--r--perl-install/interactive/http.pm26
-rw-r--r--perl-install/interactive/newt.pm409
-rw-r--r--perl-install/interactive/stdio.pm46
-rw-r--r--perl-install/keyboard.pm562
-rw-r--r--perl-install/lang.pm1686
-rw-r--r--perl-install/list.sparc74
-rw-r--r--perl-install/list_firmwares.pm26
l---------perl-install/list_modules.pm1
-rwxr-xr-xperl-install/live_install45
-rwxr-xr-xperl-install/live_install267
-rw-r--r--perl-install/log.pm65
-rw-r--r--perl-install/loopback.pm127
-rw-r--r--perl-install/lvm.pm246
-rw-r--r--perl-install/messages.pm121
-rw-r--r--perl-install/mirror.pm192
-rw-r--r--perl-install/modalias.pm104
-rw-r--r--perl-install/modules.pm547
-rw-r--r--perl-install/modules/any_conf.pm213
-rw-r--r--perl-install/modules/interactive.pm90
-rw-r--r--perl-install/modules/modprobe_conf.pm164
-rw-r--r--perl-install/modules/modules_conf.pm71
-rw-r--r--perl-install/modules/parameters.pm44
-rw-r--r--perl-install/mouse.pm572
-rw-r--r--perl-install/mygtk2.pm1598
-rw-r--r--perl-install/mygtk3.pm1679
-rw-r--r--perl-install/network.pm5
-rw-r--r--perl-install/network/adsl.pm312
-rw-r--r--perl-install/network/drakfirewall.pm192
-rw-r--r--perl-install/network/ethernet.pm198
-rw-r--r--perl-install/network/isdn.pm271
-rw-r--r--perl-install/network/isdn_consts.pm329
-rw-r--r--perl-install/network/modem.pm276
-rw-r--r--perl-install/network/netconnect.pm374
-rw-r--r--perl-install/network/network.pm570
-rw-r--r--perl-install/network/nfs.pm63
-rw-r--r--perl-install/network/shorewall.pm140
-rw-r--r--perl-install/network/smb.pm181
-rw-r--r--perl-install/network/smbnfs.pm45
-rw-r--r--perl-install/network/tools.pm348
-rw-r--r--perl-install/pam.net_monitor6
-rw-r--r--perl-install/partition_table.pm833
-rw-r--r--perl-install/partition_table/bsd.pm28
-rw-r--r--perl-install/partition_table/dmcrypt.pm41
-rw-r--r--perl-install/partition_table/dos.pm305
-rw-r--r--perl-install/partition_table/empty.pm14
-rw-r--r--perl-install/partition_table/gpt.pm342
-rw-r--r--perl-install/partition_table/lvm.pm38
-rw-r--r--perl-install/partition_table/lvm_PV.pm43
-rw-r--r--perl-install/partition_table/mac.pm75
-rw-r--r--perl-install/partition_table/raw.pm233
-rw-r--r--perl-install/partition_table/readonly.pm20
-rw-r--r--perl-install/partition_table/sun.pm34
-rw-r--r--perl-install/patch/9.1/hp.diff137
-rw-r--r--perl-install/patch/9.1/patch-detectSMP-K6.pl5
-rw-r--r--perl-install/patch/9.1/patch-loopback.pl18
-rw-r--r--perl-install/patch/patch-9.0-auto-inst-network-config.pl8
-rw-r--r--perl-install/patch/patch-IMPS2.pl9
-rw-r--r--perl-install/patch/patch-da.pl6
-rw-r--r--perl-install/patch/patch-nforce.pl35
-rw-r--r--perl-install/patch/patch-oem-9.0.pl52
-rw-r--r--perl-install/patch/patch-oem-hp.pl323
-rw-r--r--perl-install/patch/patch-raidtab.pl37
-rw-r--r--perl-install/patch/rpmsrate.oem-9.0-openoffice551
-rw-r--r--perl-install/patch/rpmsrate.oem-9.0-staroffice552
-rwxr-xr-xperl-install/perl2etags8
-rw-r--r--perl-install/pixmaps/X.pngbin2517 -> 2130 bytes-rw-r--r--perl-install/pixmaps/about.pngbin24309 -> 0 bytes-rw-r--r--perl-install/pixmaps/advanced_expander.pngbin0 -> 222 bytes-rw-r--r--perl-install/pixmaps/arrow_down.pngbin155 -> 0 bytes-rw-r--r--perl-install/pixmaps/arrow_up.pngbin156 -> 0 bytes-rw-r--r--perl-install/pixmaps/banner-background.pngbin0 -> 151 bytes-rw-r--r--perl-install/pixmaps/banner-blue-part.pngbin0 -> 233 bytes-rw-r--r--perl-install/pixmaps/colors.pngbin275 -> 0 bytes-rw-r--r--perl-install/pixmaps/colors16.pngbin1136 -> 0 bytes-rw-r--r--perl-install/pixmaps/colors8.pngbin798 -> 0 bytes-rw-r--r--perl-install/pixmaps/cups_config.pngbin2290 -> 1997 bytes-rw-r--r--perl-install/pixmaps/default.pngbin1701 -> 1196 bytes-rw-r--r--perl-install/pixmaps/eth_card_mini.pngbin2712 -> 2625 bytes-rw-r--r--perl-install/pixmaps/help.pngbin1699 -> 1581 bytes-rw-r--r--perl-install/pixmaps/ic82-systemeplus-40.pngbin2370 -> 0 bytes-rw-r--r--perl-install/pixmaps/ic82-tape-40.pngbin1673 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-hy.pngbin725 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-ku.pngbin442 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-lo.pngbin728 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-sr.pngbin724 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-ur.pngbin598 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-xh.pngbin618 -> 0 bytes-rw-r--r--perl-install/pixmaps/langs/lang-zu.pngbin466 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1024.pngbin9140 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1152.pngbin8548 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1280.pngbin8066 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1400.pngbin7587 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1600.pngbin7129 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-1920.pngbin6952 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-2048.pngbin6704 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-640.pngbin14132 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor-800.pngbin12910 -> 0 bytes-rw-r--r--perl-install/pixmaps/monitor.pngbin2377 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_2b.pngbin13589 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_2b_left.pngbin3734 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_2b_right.pngbin4169 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b+.pngbin15803 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b+_middle.pngbin1042 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b.pngbin13345 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b_left.pngbin2555 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b_middle.pngbin2429 -> 0 bytes-rw-r--r--perl-install/pixmaps/mouse_3b_right.pngbin3138 -> 0 bytes-rw-r--r--perl-install/pixmaps/nosplash_thumb.pngbin14442 -> 1937 bytes-rw-r--r--perl-install/pixmaps/pause-16.pngbin0 -> 887 bytes-rw-r--r--perl-install/pixmaps/pause-24.pngbin0 -> 1443 bytes-rw-r--r--perl-install/pixmaps/play-16.pngbin0 -> 904 bytes-rw-r--r--perl-install/pixmaps/play-24.pngbin0 -> 1455 bytes-rw-r--r--perl-install/pixmaps/printer-mdk.pngbin2338 -> 0 bytes-rw-r--r--perl-install/pixmaps/printer_add.pngbin1704 -> 0 bytes-rw-r--r--perl-install/pixmaps/printer_conf.pngbin1613 -> 0 bytes-rw-r--r--perl-install/pixmaps/printer_default.pngbin1671 -> 0 bytes-rw-r--r--perl-install/pixmaps/printer_del.pngbin1552 -> 0 bytes-rw-r--r--perl-install/pixmaps/printerdrake.pngbin27839 -> 0 bytes-rw-r--r--perl-install/pixmaps/quit.pngbin2117 -> 2880 bytes-rw-r--r--perl-install/pixmaps/redhat-config-users.pngbin2770 -> 3947 bytes-rw-r--r--perl-install/pixmaps/refresh.pngbin1824 -> 2041 bytes-rw-r--r--perl-install/pixmaps/right-white-background_left_part-1.pngbin0 -> 171 bytes-rw-r--r--perl-install/pixmaps/right-white-background_left_part-2.pngbin0 -> 403 bytes-rw-r--r--perl-install/pixmaps/right-white-background_left_part-3.pngbin0 -> 171 bytes-rw-r--r--perl-install/pixmaps/right-white-background_right_part_768.pngbin0 -> 3150 bytes-rw-r--r--perl-install/pixmaps/rollover.pngbin0 -> 336 bytes-rw-r--r--perl-install/pixmaps/security-low.pngbin0 -> 1096 bytes-rw-r--r--perl-install/pixmaps/security-medium.pngbin0 -> 1054 bytes-rw-r--r--perl-install/pixmaps/security-strong.pngbin0 -> 1069 bytes-rw-r--r--perl-install/pixmaps/selected.pngbin344 -> 310 bytes-rw-r--r--perl-install/pixmaps/slpash-drakeprint-2.pngbin24309 -> 0 bytes-rw-r--r--perl-install/pixmaps/small-logo.pngbin0 -> 646 bytes-rw-r--r--perl-install/pixmaps/steps_done.pngbin0 -> 364 bytes-rw-r--r--perl-install/pixmaps/steps_off.pngbin401 -> 349 bytes-rw-r--r--perl-install/pixmaps/steps_on.pngbin372 -> 811 bytes-rw-r--r--perl-install/pixmaps/stock_cancel.xpm93
-rw-r--r--perl-install/pixmaps/stock_exit.xpm167
-rw-r--r--perl-install/pixmaps/stock_left.xpm70
-rw-r--r--perl-install/pixmaps/stock_ok.xpm77
-rw-r--r--perl-install/pixmaps/stock_right.xpm68
-rw-r--r--perl-install/pixmaps/stop-16.pngbin0 -> 889 bytes-rw-r--r--perl-install/pixmaps/stop-24.pngbin0 -> 1415 bytes-rw-r--r--perl-install/pixmaps/unselected.pngbin172 -> 155 bytes-rw-r--r--perl-install/pixmaps/warning.pngbin3169 -> 2396 bytes-rw-r--r--perl-install/pkgs.pm1459
-rw-r--r--perl-install/printer/STATUS5
-rw-r--r--perl-install/printer/common.pm86
-rw-r--r--perl-install/printer/cups.pm120
-rw-r--r--perl-install/printer/data.pm102
-rw-r--r--perl-install/printer/default.pm51
-rw-r--r--perl-install/printer/detect.pm515
-rw-r--r--perl-install/printer/gimp.pm359
-rw-r--r--perl-install/printer/main.pm2605
-rw-r--r--perl-install/printer/office.pm375
-rw-r--r--perl-install/printer/printerdrake.pm4278
-rw-r--r--perl-install/printer/services.pm61
-rw-r--r--perl-install/raid.pm394
-rw-r--r--perl-install/resize_fat/.cvsignore5
-rwxr-xr-x[-rw-r--r--]perl-install/resize_fat/Makefile.PL0
-rw-r--r--perl-install/resize_fat/README2
-rw-r--r--perl-install/resize_fat/any.pm13
-rw-r--r--perl-install/resize_fat/boot_sector.pm6
-rw-r--r--perl-install/resize_fat/c_rewritten.pm2
-rw-r--r--perl-install/resize_fat/c_rewritten.xs10
-rw-r--r--perl-install/resize_fat/dir_entry.pm4
-rw-r--r--perl-install/resize_fat/directory.pm2
-rw-r--r--perl-install/resize_fat/fat.pm4
-rw-r--r--perl-install/resize_fat/info_sector.pm2
-rw-r--r--perl-install/resize_fat/io.pm14
-rw-r--r--perl-install/resize_fat/main.pm9
-rw-r--r--perl-install/run_program.pm376
-rw-r--r--perl-install/sbus_probing/main.pm138
-rw-r--r--[-rwxr-xr-x]perl-install/scanner.pm276
-rw-r--r--perl-install/security/help.pm76
-rw-r--r--perl-install/security/l10n.pm5
-rw-r--r--perl-install/security/level.pm74
-rw-r--r--perl-install/security/msec.pm45
-rw-r--r--perl-install/security/various.pm21
-rw-r--r--perl-install/services.pm433
-rw-r--r--perl-install/share/.cvsignore2
-rw-r--r--perl-install/share/Makefile6
-rw-r--r--perl-install/share/advertising/01-thanks.pl12
-rw-r--r--perl-install/share/advertising/01-thanks.pngbin32288 -> 0 bytes-rw-r--r--perl-install/share/advertising/02-community.pl11
-rw-r--r--perl-install/share/advertising/02-community.pngbin46318 -> 0 bytes-rw-r--r--perl-install/share/advertising/03-software.pl11
-rw-r--r--perl-install/share/advertising/03-software.pngbin97736 -> 0 bytes-rw-r--r--perl-install/share/advertising/04-configuration.pl10
-rw-r--r--perl-install/share/advertising/04-configuration.pngbin48097 -> 0 bytes-rw-r--r--perl-install/share/advertising/05-desktop.pl10
-rw-r--r--perl-install/share/advertising/05-desktop.pngbin49028 -> 0 bytes-rw-r--r--perl-install/share/advertising/06-development.pl10
-rw-r--r--perl-install/share/advertising/06-development.pngbin78298 -> 0 bytes-rw-r--r--perl-install/share/advertising/07-server.pl10
-rw-r--r--perl-install/share/advertising/07-server.pngbin59386 -> 0 bytes-rw-r--r--perl-install/share/advertising/08-store.pl11
-rw-r--r--perl-install/share/advertising/08-store.pngbin50488 -> 0 bytes-rw-r--r--perl-install/share/advertising/09-mdksecure.pl11
-rw-r--r--perl-install/share/advertising/09-mdksecure.pngbin43975 -> 0 bytes-rw-r--r--perl-install/share/advertising/10-security.pl10
-rw-r--r--perl-install/share/advertising/10-security.pngbin40905 -> 0 bytes-rw-r--r--perl-install/share/advertising/11-mnf.pl11
-rw-r--r--perl-install/share/advertising/11-mnf.pngbin48141 -> 0 bytes-rw-r--r--perl-install/share/advertising/12-mdkexpert.pl12
-rw-r--r--perl-install/share/advertising/12-mdkexpert.pngbin66111 -> 0 bytes-rw-r--r--perl-install/share/advertising/13-mdkexpert_corporate.pl12
-rw-r--r--perl-install/share/advertising/13-mdkexpert_corporate.pngbin29923 -> 0 bytes-rw-r--r--perl-install/share/advertising/Makefile8
-rw-r--r--perl-install/share/advertising/list13
-rw-r--r--perl-install/share/aliases7
-rw-r--r--perl-install/share/base.pngbin386 -> 234 bytes-rw-r--r--perl-install/share/compssList1665
-rw-r--r--perl-install/share/compssUsers96
-rw-r--r--perl-install/share/compssUsers.desktop39
-rw-r--r--perl-install/share/compssUsers.server70
-rw-r--r--perl-install/share/diskdrake.css92
-rw-r--r--perl-install/share/diskdrake.rc46
-rw-r--r--perl-install/share/floppy.pngbin317 -> 306 bytes-rw-r--r--perl-install/share/fonts.tar.bz2bin831788 -> 0 bytes-rw-r--r--perl-install/share/ftin.pngbin190 -> 212 bytes-rw-r--r--perl-install/share/ftout.pngbin190 -> 217 bytes-rw-r--r--perl-install/share/gen_locales.pl14
-rwxr-xr-xperl-install/share/gen_locales.sh49
-rw-r--r--perl-install/share/help.pngbin3769 -> 1353 bytes-rw-r--r--perl-install/share/installed.pngbin344 -> 477 bytes-rw-r--r--perl-install/share/keyboards.tar.bz2bin26697 -> 0 bytes-rw-r--r--perl-install/share/keymaps.tar.bz2bin12759 -> 0 bytes-rwxr-xr-xperl-install/share/keymaps_generate18
-rwxr-xr-xperl-install/share/kmap2bkmap37
-rw-r--r--perl-install/share/left-background-filler.pngbin0 -> 763 bytes-rw-r--r--perl-install/share/list180
-rw-r--r--perl-install/share/list.alpha13
-rw-r--r--perl-install/share/list.i38613
-rw-r--r--perl-install/share/list.ia64122
-rw-r--r--perl-install/share/list.ppc36
-rw-r--r--perl-install/share/list.sparc84
-rw-r--r--perl-install/share/list.x86_64125
-rw-r--r--perl-install/share/locales-skeleton.tar.bz2bin1777 -> 0 bytes-rw-r--r--perl-install/share/logo-mandrake.pngbin6384 -> 0 bytes-rwxr-xr-xperl-install/share/makedev.sh89
-rw-r--r--perl-install/share/po/.cvsignore5
-rw-r--r--perl-install/share/po/.gitignore1
-rw-r--r--perl-install/share/po/.tx/config8
-rw-r--r--perl-install/share/po/Changelog249
-rw-r--r--perl-install/share/po/DrakX.pot17513
-rw-r--r--perl-install/share/po/Makefile47
-rw-r--r--perl-install/share/po/af.po21181
-rw-r--r--perl-install/share/po/am.po6482
-rw-r--r--perl-install/share/po/ar.po23132
-rw-r--r--perl-install/share/po/ast.po6507
-rw-r--r--perl-install/share/po/az.po21915
-rw-r--r--perl-install/share/po/b_dump_strings.pm113
-rw-r--r--perl-install/share/po/be.po18818
-rw-r--r--perl-install/share/po/bg.po22733
-rw-r--r--perl-install/share/po/bn.po6833
-rw-r--r--perl-install/share/po/br.po18715
-rw-r--r--perl-install/share/po/bs.po22479
-rw-r--r--perl-install/share/po/ca.po24027
-rw-r--r--perl-install/share/po/cs.po24567
-rw-r--r--perl-install/share/po/cy.po22312
-rw-r--r--perl-install/share/po/da.po23181
-rw-r--r--perl-install/share/po/de.po22624
-rw-r--r--perl-install/share/po/de_AT.po7236
-rw-r--r--perl-install/share/po/el.po22636
-rw-r--r--perl-install/share/po/eo.po19428
-rw-r--r--perl-install/share/po/es.po24544
-rw-r--r--perl-install/share/po/et.po22321
-rw-r--r--perl-install/share/po/eu.po23530
-rw-r--r--perl-install/share/po/fa.po21992
-rw-r--r--perl-install/share/po/fi.po23404
-rw-r--r--perl-install/share/po/fr.po23333
-rw-r--r--perl-install/share/po/fur.po6497
-rw-r--r--perl-install/share/po/ga.po18390
-rw-r--r--perl-install/share/po/gl.po20086
-rw-r--r--perl-install/share/po/he.po20139
-rw-r--r--perl-install/share/po/help-de.pot162
-rw-r--r--perl-install/share/po/help-es.pot2020
-rw-r--r--perl-install/share/po/help-fr.pot1986
-rw-r--r--perl-install/share/po/help-it.pot235
-rw-r--r--perl-install/share/po/help-ru.pot158
-rwxr-xr-xperl-install/share/po/help_xml2pm.pl330
-rw-r--r--perl-install/share/po/hi.po6764
-rw-r--r--perl-install/share/po/hr.po21214
-rw-r--r--perl-install/share/po/hu.po24372
-rw-r--r--perl-install/share/po/hy.po6477
-rw-r--r--perl-install/share/po/i18n_compssUsers42
-rw-r--r--perl-install/share/po/id.po23794
-rw-r--r--perl-install/share/po/is.po20143
-rw-r--r--perl-install/share/po/it.po22637
-rw-r--r--perl-install/share/po/ja.po24880
-rw-r--r--perl-install/share/po/ka.po6477
-rw-r--r--perl-install/share/po/ko.po19828
-rw-r--r--perl-install/share/po/ku.po6477
-rw-r--r--perl-install/share/po/ky.po6604
-rw-r--r--perl-install/share/po/libDrakX.pot6288
-rw-r--r--perl-install/share/po/lo.po6477
-rw-r--r--perl-install/share/po/lt.po19342
-rw-r--r--perl-install/share/po/ltg.po7168
-rw-r--r--perl-install/share/po/lv.po20418
-rw-r--r--perl-install/share/po/mk.po6823
-rw-r--r--perl-install/share/po/mn.po6495
-rw-r--r--perl-install/share/po/mr.po6477
-rw-r--r--perl-install/share/po/ms.po18363
-rw-r--r--perl-install/share/po/mt.po22343
-rw-r--r--perl-install/share/po/nb.po24289
-rw-r--r--perl-install/share/po/nl.po28897
-rw-r--r--perl-install/share/po/nn.po7848
-rw-r--r--perl-install/share/po/pa_IN.po7315
-rw-r--r--perl-install/share/po/pl.po22390
-rw-r--r--perl-install/share/po/pt.po22923
-rw-r--r--perl-install/share/po/pt_BR.po23025
-rw-r--r--perl-install/share/po/ro.po20253
-rw-r--r--perl-install/share/po/ru.po22543
-rw-r--r--perl-install/share/po/sc.po6798
-rw-r--r--perl-install/share/po/sk.po21453
-rw-r--r--perl-install/share/po/sl.po19888
-rw-r--r--perl-install/share/po/sq.po25064
-rw-r--r--perl-install/share/po/sr.po22709
-rw-r--r--perl-install/share/po/sr@Latn.po22647
-rw-r--r--perl-install/share/po/sv.po22380
-rw-r--r--perl-install/share/po/ta.po22450
-rw-r--r--perl-install/share/po/tg.po20108
-rw-r--r--perl-install/share/po/th.po18842
-rw-r--r--perl-install/share/po/tl.po6979
-rw-r--r--perl-install/share/po/tr.po21855
-rwxr-xr-xperl-install/share/po/translation_size.pl16
-rw-r--r--perl-install/share/po/uk.po22531
-rw-r--r--perl-install/share/po/uz.po19689
-rw-r--r--perl-install/share/po/uz@Cyrl.po18740
-rw-r--r--perl-install/share/po/uz@cyrillic.po6971
-rwxr-xr-xperl-install/share/po/validate.pl8
-rw-r--r--perl-install/share/po/vi.po21730
-rw-r--r--perl-install/share/po/wa.po22218
-rw-r--r--perl-install/share/po/xh.po6477
-rw-r--r--perl-install/share/po/zh_CN.po21569
-rw-r--r--perl-install/share/po/zh_TW.po21511
-rw-r--r--perl-install/share/po/zu.po6477
-rw-r--r--perl-install/share/reload.pngbin157 -> 0 bytes-rw-r--r--perl-install/share/rpmsrate656
-rw-r--r--perl-install/share/selected.pngbin344 -> 0 bytes-rw-r--r--perl-install/share/semiselected.pngbin238 -> 0 bytes-rwxr-xr-xperl-install/share/theme-editor.pl165
-rw-r--r--perl-install/share/themes-blue.rc62
-rw-r--r--perl-install/share/themes-galaxy.css31
-rw-r--r--perl-install/share/themes-galaxy.rc116
-rw-r--r--perl-install/share/unselected.pngbin123 -> 0 bytes-rwxr-xr-xperl-install/share/verify_modules.pl102
-rw-r--r--perl-install/standalone.pm243
-rwxr-xr-xperl-install/standalone/XFdrake110
-rwxr-xr-xperl-install/standalone/adduserdrake16
-rwxr-xr-xperl-install/standalone/bootloader-config363
-rwxr-xr-xperl-install/standalone/convert10
-rwxr-xr-xperl-install/standalone/diskdrake36
-rwxr-xr-xperl-install/standalone/display_help70
-rwxr-xr-xperl-install/standalone/display_installer_help40
-rwxr-xr-xperl-install/standalone/display_release_notes.pl39
-rwxr-xr-xperl-install/standalone/drakTermServ1700
-rwxr-xr-xperl-install/standalone/drakauth28
-rwxr-xr-xperl-install/standalone/drakautoinst147
-rwxr-xr-xperl-install/standalone/drakautologin138
-rwxr-xr-xperl-install/standalone/drakbackup5203
-rwxr-xr-xperl-install/standalone/drakboot346
-rwxr-xr-xperl-install/standalone/drakbug443
-rwxr-xr-xperl-install/standalone/drakbug_report5
-rwxr-xr-xperl-install/standalone/drakclock424
-rwxr-xr-xperl-install/standalone/drakconnect677
-rwxr-xr-xperl-install/standalone/drakdisk10
-rwxr-xr-xperl-install/standalone/drakdoc2
-rwxr-xr-xperl-install/standalone/drakdvb168
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/drakedm62
-rwxr-xr-xperl-install/standalone/drakfirewall30
-rwxr-xr-xperl-install/standalone/drakfloppy185
-rwxr-xr-xperl-install/standalone/drakfont790
-rwxr-xr-xperl-install/standalone/drakgw577
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/drakhelp55
-rwxr-xr-xperl-install/standalone/drakperm381
-rwxr-xr-xperl-install/standalone/drakproxy33
-rwxr-xr-xperl-install/standalone/drakpxe516
-rwxr-xr-xperl-install/standalone/draksec385
-rwxr-xr-xperl-install/standalone/draksound33
-rwxr-xr-xperl-install/standalone/draksplash556
-rwxr-xr-xperl-install/standalone/drakupdate_fstab136
-rwxr-xr-xperl-install/standalone/drakups410
-rwxr-xr-xperl-install/standalone/drakxservices1
-rwxr-xr-xperl-install/standalone/drakxtv129
-rwxr-xr-xperl-install/standalone/fileshareset112
-rwxr-xr-xperl-install/standalone/finish-install310
-rwxr-xr-xperl-install/standalone/finish-install.xsetup38
-rwxr-xr-xperl-install/standalone/harddrake2656
-rw-r--r--perl-install/standalone/icons/IC-Dssh-48.pngbin0 -> 644 bytes-rw-r--r--perl-install/standalone/icons/categ.pngbin5173 -> 4111 bytes-rw-r--r--perl-install/standalone/icons/drakbug-16.pngbin0 -> 753 bytes-rw-r--r--perl-install/standalone/icons/drakconnect_step.pngbin10749 -> 0 bytes-rw-r--r--perl-install/standalone/icons/drakfont.620x57.pngbin6661 -> 0 bytes-rw-r--r--perl-install/standalone/icons/drakfont.pngbin0 -> 830 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-16.pngbin0 -> 1089 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-24.pngbin0 -> 1710 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-32.pngbin0 -> 2386 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-52.pngbin0 -> 4271 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-64.pngbin0 -> 5542 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle.pngbin0 -> 3907 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle_128.pngbin0 -> 9680 bytes-rw-r--r--perl-install/standalone/icons/draksound-16.pngbin0 -> 745 bytes-rw-r--r--perl-install/standalone/icons/drakups.pngbin0 -> 2035 bytes-rw-r--r--perl-install/standalone/icons/drakwizard-16.pngbin0 -> 787 bytes-rw-r--r--perl-install/standalone/icons/eth_card_mini2.pngbin1538 -> 800 bytes-rw-r--r--perl-install/standalone/icons/fileopen.xpm34
-rw-r--r--perl-install/standalone/icons/find.xpm34
-rw-r--r--perl-install/standalone/icons/findf.xpm31
-rw-r--r--perl-install/standalone/icons/ftin.xpm30
-rw-r--r--perl-install/standalone/icons/ftout.xpm30
-rw-r--r--perl-install/standalone/icons/gmon.pngbin17411 -> 608 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/cd.pngbin1059 -> 777 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/cpu.pngbin566 -> 611 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/floppy.pngbin506 -> 607 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/harddisk.pngbin754 -> 796 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/harddrake.pngbin970 -> 3343 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-keyboard.pngbin0 -> 710 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-memory.pngbin0 -> 475 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-pcmcia.pngbin0 -> 619 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-smbus.pngbin0 -> 738 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-usb.pngbin0 -> 477 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_mouse.pngbin872 -> 636 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_network.pngbin632 -> 975 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_printer.pngbin888 -> 786 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/ide_hd.pngbin842 -> 738 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/isdn.pngbin884 -> 736 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/joystick.pngbin881 -> 693 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/keyboard.pngbin891 -> 710 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/memory.pngbin358 -> 475 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu.svg511
-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu16.pngbin970 -> 733 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu32.pngbin2447 -> 1747 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu48.pngbin4214 -> 3343 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/modem.pngbin608 -> 429 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/multimedia.pngbin939 -> 842 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scanner.pngbin827 -> 695 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scsi.pngbin275 -> 738 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scsi_hd.pngbin275 -> 738 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/sound.pngbin514 -> 762 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/svg/cd.svg198
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/controller.svg246
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/cpu.svg219
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/floppy.svg194
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/harddisk.svg549
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw-keyboard.svg197
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw-memory.svg303
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw-pcmcia.svg517
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw_mouse.svg346
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw_network.svg233
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/hw_printer.svg1450
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/joystick.svg352
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/modem.svg218
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/multimedia.svg253
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/scanner.svg341
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/sound.svg307
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/tape.svg245
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/tv.svg290
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/unknown.svg247
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/ups.svg216
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/usb.svg239
-rw-r--r--perl-install/standalone/icons/harddrake2/svg/webcam.svg443
-rw-r--r--perl-install/standalone/icons/harddrake2/tape.pngbin643 -> 721 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/tv.pngbin940 -> 771 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/unknown.pngbin592 -> 845 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/ups.pngbin0 -> 788 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/usb.pngbin316 -> 477 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/video.pngbin867 -> 738 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/webcam.pngbin813 -> 960 bytes-rw-r--r--perl-install/standalone/icons/hori.pngbin7232 -> 534 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-16.pngbin0 -> 619 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-24.pngbin0 -> 843 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-32.pngbin0 -> 1082 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-52.pngbin0 -> 1701 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-64.pngbin0 -> 2113 bytes-rw-r--r--perl-install/standalone/icons/hwapplet.pngbin0 -> 1584 bytes-rw-r--r--perl-install/standalone/icons/hwapplet_128.pngbin0 -> 4083 bytes-rw-r--r--perl-install/standalone/icons/ic-drakfont-48.pngbin3290 -> 627 bytes-rw-r--r--perl-install/standalone/icons/ic82-CD-40.pngbin3436 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-back-up-16.pngbin1027 -> 438 bytes-rw-r--r--perl-install/standalone/icons/ic82-back-up-32.pngbin2977 -> 534 bytes-rw-r--r--perl-install/standalone/icons/ic82-back-up-48.pngbin4565 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-discdurwhat-40.pngbin2023 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-dossier-32.pngbin1858 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-moreoption-40.pngbin2354 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-network-40.pngbin2145 -> 505 bytes-rw-r--r--perl-install/standalone/icons/ic82-others-40.pngbin2023 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-system-40.pngbin2370 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-users-16.pngbin0 -> 334 bytes-rw-r--r--perl-install/standalone/icons/ic82-users-40.pngbin1638 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-when-40.pngbin2933 -> 0 bytes-rw-r--r--perl-install/standalone/icons/ic82-where-40.pngbin2514 -> 0 bytes-rw-r--r--perl-install/standalone/icons/localedrake-16.pngbin0 -> 722 bytes-rw-r--r--perl-install/standalone/icons/localedrake-32.pngbin0 -> 1536 bytes-rw-r--r--perl-install/standalone/icons/localedrake-48.pngbin0 -> 1362 bytes-rw-r--r--perl-install/standalone/icons/logdrake.pngbin0 -> 2576 bytes-rw-r--r--perl-install/standalone/icons/mdk_logo.pngbin15639 -> 0 bytes-rw-r--r--perl-install/standalone/icons/net_c.pngbin3198 -> 1645 bytes-rw-r--r--perl-install/standalone/icons/net_d.pngbin3192 -> 1906 bytes-rw-r--r--perl-install/standalone/icons/net_u.pngbin2866 -> 2186 bytes-rw-r--r--perl-install/standalone/icons/non-editable.pngbin872 -> 466 bytes-rw-r--r--perl-install/standalone/icons/reload.xpm31
-rw-r--r--perl-install/standalone/icons/scannerdrake.pngbin0 -> 2521 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_default.pngbin260 -> 252 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_has_mntpoint.pngbin287 -> 269 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_mounted.pngbin282 -> 253 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_server.pngbin314 -> 195 bytes-rw-r--r--perl-install/standalone/icons/tradi.pngbin32579 -> 33212 bytes-rw-r--r--perl-install/standalone/icons/verti.pngbin21123 -> 534 bytes-rw-r--r--perl-install/standalone/icons/wiz_default_left.pngbin2185 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_default_up.pngbin12263 -> 4472 bytes-rw-r--r--perl-install/standalone/icons/wiz_drakconnect.pngbin13845 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_drakgw.pngbin13181 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_firewall.pngbin12546 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_logdrake.pngbin9247 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_printerdrake.pngbin6851 -> 0 bytes-rw-r--r--perl-install/standalone/icons/wiz_scannerdrake.pngbin10492 -> 0 bytes-rw-r--r--perl-install/standalone/interactive_http/.perl_checker1
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/interactive_http/index.html.pl0
-rwxr-xr-xperl-install/standalone/interactive_http/interactive_http.cgi27
-rw-r--r--perl-install/standalone/interactive_http/miniserv.init10
-rw-r--r--perl-install/standalone/interactive_http/miniserv.pam8
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/interactive_http/miniserv.pl0
-rwxr-xr-xperl-install/standalone/keyboarddrake50
-rwxr-xr-xperl-install/standalone/livedrake40
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/localedrake52
-rwxr-xr-xperl-install/standalone/logdrake530
-rwxr-xr-xperl-install/standalone/lsnetdrake10
-rw-r--r--perl-install/standalone/menu/Makefile23
-rw-r--r--perl-install/standalone/menu/harddrake.desktop.in10
-rw-r--r--perl-install/standalone/menu/localedrake-system.desktop.in10
-rw-r--r--perl-install/standalone/menu/localedrake-user.desktop.in9
-rwxr-xr-xperl-install/standalone/mousedrake86
-rwxr-xr-xperl-install/standalone/net_monitor565
-rwxr-xr-xperl-install/standalone/notify-x11-free-driver-switch23
-rwxr-xr-xperl-install/standalone/notify-x11-free-driver-switch.xsetup9
-rw-r--r--perl-install/standalone/po/.tx/config8
-rw-r--r--perl-install/standalone/po/Makefile50
-rw-r--r--perl-install/standalone/po/af.po3319
-rw-r--r--perl-install/standalone/po/am.po3239
-rw-r--r--perl-install/standalone/po/ar.po3422
-rw-r--r--perl-install/standalone/po/ast.po3246
-rw-r--r--perl-install/standalone/po/az.po3287
-rw-r--r--perl-install/standalone/po/be.po3244
-rw-r--r--perl-install/standalone/po/bg.po3321
-rw-r--r--perl-install/standalone/po/bn.po3399
-rw-r--r--perl-install/standalone/po/br.po3660
-rw-r--r--perl-install/standalone/po/bs.po3351
-rw-r--r--perl-install/standalone/po/ca.po3427
-rw-r--r--perl-install/standalone/po/cs.po3394
-rw-r--r--perl-install/standalone/po/cy.po3434
-rw-r--r--perl-install/standalone/po/da.po3395
-rw-r--r--perl-install/standalone/po/de.po3452
-rw-r--r--perl-install/standalone/po/de_AT.po3438
-rw-r--r--perl-install/standalone/po/el.po3448
-rw-r--r--perl-install/standalone/po/eo.po3239
-rw-r--r--perl-install/standalone/po/es.po3434
-rw-r--r--perl-install/standalone/po/et.po3376
-rw-r--r--perl-install/standalone/po/eu.po3399
-rw-r--r--perl-install/standalone/po/fa.po3342
-rw-r--r--perl-install/standalone/po/fi.po3388
-rw-r--r--perl-install/standalone/po/fr.po3463
-rw-r--r--perl-install/standalone/po/fur.po3239
-rw-r--r--perl-install/standalone/po/ga.po3243
-rw-r--r--perl-install/standalone/po/gl.po3427
-rw-r--r--perl-install/standalone/po/he.po3346
-rw-r--r--perl-install/standalone/po/hi.po3317
-rw-r--r--perl-install/standalone/po/hr.po3259
-rw-r--r--perl-install/standalone/po/hu.po3396
-rw-r--r--perl-install/standalone/po/hy.po3238
-rw-r--r--perl-install/standalone/po/id.po3411
-rw-r--r--perl-install/standalone/po/is.po3412
-rw-r--r--perl-install/standalone/po/it.po3480
-rw-r--r--perl-install/standalone/po/ja.po3382
-rw-r--r--perl-install/standalone/po/ka.po3238
-rw-r--r--perl-install/standalone/po/ko.po3260
-rw-r--r--perl-install/standalone/po/ku.po3238
-rw-r--r--perl-install/standalone/po/ky.po3316
-rw-r--r--perl-install/standalone/po/libDrakX-standalone.pot3237
-rw-r--r--perl-install/standalone/po/lo.po3237
-rw-r--r--perl-install/standalone/po/lt.po3260
-rw-r--r--perl-install/standalone/po/ltg.po3525
-rw-r--r--perl-install/standalone/po/lv.po3261
-rw-r--r--perl-install/standalone/po/mk.po3285
-rw-r--r--perl-install/standalone/po/mn.po3243
-rw-r--r--perl-install/standalone/po/mr.po3238
-rw-r--r--perl-install/standalone/po/ms.po3238
-rw-r--r--perl-install/standalone/po/mt.po3871
-rw-r--r--perl-install/standalone/po/nb.po3378
-rw-r--r--perl-install/standalone/po/nl.po3433
-rw-r--r--perl-install/standalone/po/nn.po3871
-rw-r--r--perl-install/standalone/po/pa_IN.po3822
-rw-r--r--perl-install/standalone/po/pl.po3419
-rw-r--r--perl-install/standalone/po/pt.po3441
-rw-r--r--perl-install/standalone/po/pt_BR.po3447
-rw-r--r--perl-install/standalone/po/ro.po3432
-rw-r--r--perl-install/standalone/po/ru.po3413
-rw-r--r--perl-install/standalone/po/sc.po3360
-rw-r--r--perl-install/standalone/po/sk.po3455
-rw-r--r--perl-install/standalone/po/sl.po3411
-rw-r--r--perl-install/standalone/po/sq.po3408
-rw-r--r--perl-install/standalone/po/sr.po3412
-rw-r--r--perl-install/standalone/po/sr@Latn.po3735
-rw-r--r--perl-install/standalone/po/sv.po3429
-rw-r--r--perl-install/standalone/po/ta.po3241
-rw-r--r--perl-install/standalone/po/tg.po3365
-rw-r--r--perl-install/standalone/po/th.po3238
-rw-r--r--perl-install/standalone/po/tl.po3344
-rw-r--r--perl-install/standalone/po/tr.po3414
-rw-r--r--perl-install/standalone/po/uk.po3422
-rw-r--r--perl-install/standalone/po/uz.po3276
-rw-r--r--perl-install/standalone/po/uz@cyrillic.po3525
-rw-r--r--perl-install/standalone/po/vi.po3336
-rw-r--r--perl-install/standalone/po/wa.po3437
-rw-r--r--perl-install/standalone/po/xh.po3238
-rw-r--r--perl-install/standalone/po/zh_CN.po3336
-rw-r--r--perl-install/standalone/po/zh_TW.po3335
-rw-r--r--perl-install/standalone/po/zu.po3238
-rw-r--r--perl-install/standalone/polkit/Makefile27
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakauth.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakautologin.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakboot.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakclock.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakdisk.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakdm.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakfont.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakhardware.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.draklog.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakperm.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakscanner.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.draksec.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.draksec.rules11
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakups.policy.in22
-rw-r--r--perl-install/standalone/polkit/org.mageia.drakxservices.policy.in22
-rwxr-xr-xperl-install/standalone/printerdrake537
-rwxr-xr-xperl-install/standalone/remove-unused-packages11
-rwxr-xr-xperl-install/standalone/scannerdrake373
-rwxr-xr-xperl-install/standalone/service_harddrake464
-rw-r--r--perl-install/standalone/service_harddrake.sh53
-rwxr-xr-xperl-install/standalone/service_harddrake_confirm17
-rw-r--r--perl-install/steps.pm48
-rw-r--r--perl-install/swap.pm32
-rw-r--r--perl-install/timezone.pm340
-rw-r--r--perl-install/ugtk2.pm1330
-rw-r--r--perl-install/ugtk3.pm1640
-rw-r--r--perl-install/unused/.cvsignore1
-rw-r--r--perl-install/unused/cdrom.pm2
-rw-r--r--perl-install/unused/dns.pm2
-rw-r--r--perl-install/unused/migrate-ugtk2-to-mygtk2.el17
-rwxr-xr-xperl-install/unused/migrate-ugtk2-to-mygtk2.pl228
-rwxr-xr-xperl-install/verify_c15
-rw-r--r--perl-install/wizards.pm206
-rw-r--r--rescue/.cvsignore2
-rw-r--r--rescue/.gitignore1
-rw-r--r--rescue/Makefile27
-rw-r--r--rescue/NEWS362
-rw-r--r--rescue/aliases13
-rwxr-xr-xrescue/bin/drvinst38
-rwxr-xr-xrescue/bin/guessmounts168
-rwxr-xr-xrescue/bin/install_bootloader70
-rwxr-xr-xrescue/bin/lsparts46
-rwxr-xr-xrescue/bin/rescue-doc57
-rwxr-xr-xrescue/bin/restore_ms_boot74
-rw-r--r--rescue/devices.pl53
-rw-r--r--rescue/dirs13
-rwxr-xr-xrescue/drvinst87
-rwxr-xr-xrescue/guessmounts107
-rwxr-xr-xrescue/install_bootloader47
-rw-r--r--rescue/kernel_read_part.c26
-rw-r--r--rescue/list138
-rw-r--r--rescue/list.alpha1
-rw-r--r--rescue/list.i38614
-rw-r--r--rescue/list.ia648
-rw-r--r--rescue/list.ppc9
-rw-r--r--rescue/list.sparc2
-rw-r--r--rescue/list.x86_6410
-rw-r--r--rescue/list.xml482
-rwxr-xr-xrescue/lsparts127
-rwxr-xr-xrescue/make_flash_rescuebin0 -> 2504 bytes-rwxr-xr-xrescue/make_partimage_save_rest_all64
-rwxr-xr-xrescue/make_rescue_img142
-rwxr-xr-xrescue/rescue-doc61
-rwxr-xr-xrescue/restore_ms_boot108
-rwxr-xr-xrescue/sbin/partimage_whole_disk264
-rwxr-xr-xrescue/tree/bin/insmod3
-rw-r--r--rescue/tree/boot/grub/menu.lst5
-rw-r--r--rescue/tree/etc/hostname1
-rw-r--r--rescue/tree/etc/hosts2
-rw-r--r--rescue/tree/etc/inittab14
-rw-r--r--rescue/tree/etc/issue7
-rwxr-xr-xrescue/tree/etc/oem674
-rwxr-xr-xrescue/tree/etc/oem-all676
-rw-r--r--rescue/tree/etc/passwd5
-rw-r--r--rescue/tree/etc/profile4
-rwxr-xr-xrescue/tree/etc/rc.reboot8
-rwxr-xr-xrescue/tree/etc/rc.sysinit48
-rwxr-xr-xrescue/tree/sbin/fakeshutdown39
-rwxr-xr-xrescue/tree/sbin/modprobe42
-rwxr-xr-xrescue/tree/usr/bin/login (renamed from rescue/tree/bin/login)0
-rwxr-xr-xrescue/tree/usr/bin/mageia-rescue42
-rw-r--r--rescue/tree/usr/lib/CVS.0
-rw-r--r--rescue/tree/usr/lib/modules-load.d/mageia-rescue.conf8
-rwxr-xr-xrescue/tree/usr/lib/restore-image-lib.sh80
-rw-r--r--rescue/tree/usr/lib/systemd/system/rescue.service20
-rw-r--r--rescue/tree/usr/lib/systemd/system/systemd-udevd.service.d/dracut-rules.conf1
-rwxr-xr-xrescue/tree/usr/sbin/diskdrake-resize29
-rwxr-xr-xrescue/tree/usr/sbin/genpasswd13
-rwxr-xr-xrescue/tree/usr/sbin/grabjournallogs51
-rwxr-xr-xrescue/tree/usr/sbin/restore-image.sh412
-rwxr-xr-xrescue/tree/usr/sbin/startssh27
-rw-r--r--tools/.cvsignore4
-rw-r--r--tools/2adsldb.pm17
-rw-r--r--tools/2isdndb.pm25
-rw-r--r--tools/Makefile28
-rwxr-xr-xtools/addchangelog.pl18
-rw-r--r--tools/aewm-drakx/.cvsignore1
-rw-r--r--tools/alpha/cd/Makefile8
-rw-r--r--tools/alpha/cd/README40
-rw-r--r--tools/alpha/cd/README.milo13
-rw-r--r--tools/alpha/cd/aboot.cnf3
-rw-r--r--tools/alpha/cd/up1000/5100440A.txt25
-rw-r--r--tools/alpha/cd/up1000/README.txt16
-rwxr-xr-xtools/alpha/cd/up1000/apb.cfg2
-rwxr-xr-xtools/alpha/cd/up1000/apb.exebin120832 -> 0 bytes-rw-r--r--tools/alpha/cd/up1000/install.txt356
-rw-r--r--tools/alpha/cd/up1000/up1000.palbin30464 -> 0 bytes-rwxr-xr-xtools/alpha/e2fsck.sharedbin111080 -> 0 bytes-rwxr-xr-xtools/checkusedmodules22
-rwxr-xr-xtools/closurepkgs108
-rwxr-xr-xtools/cvslog2changelog.pl89
-rw-r--r--tools/ddcprobe/.cvsignore1
-rw-r--r--tools/ddcprobe/COPYING483
-rw-r--r--tools/ddcprobe/Makefile29
-rw-r--r--tools/ddcprobe/README8
-rw-r--r--tools/ddcprobe/ddcxinfos.c73
-rw-r--r--tools/ddcprobe/lrmi.c911
-rw-r--r--tools/ddcprobe/lrmi.h85
-rw-r--r--tools/ddcprobe/not_handled.c1
-rw-r--r--tools/ddcprobe/vbe.c709
-rw-r--r--tools/ddcprobe/vbe.h312
-rw-r--r--tools/ddcprobe/vesamode.c132
-rw-r--r--tools/ddcprobe/vesamode.h31
-rw-r--r--tools/dmidecode/.cvsignore1
-rw-r--r--tools/dmidecode/Makefile17
-rw-r--r--tools/dmidecode/dmidecode.c856
-rwxr-xr-xtools/drakx-in-chroot278
-rwxr-xr-xtools/find-drivers-needing-nonfree-firmware94
-rwxr-xr-xtools/gencompss14
-rwxr-xr-xtools/gencryptofiles115
-rwxr-xr-xtools/genmodparm145
-rwxr-xr-xtools/get-needed-drakx-modules19
-rwxr-xr-xtools/hd_grub.cgi102
-rwxr-xr-xtools/i386/busyboxbin55508 -> 0 bytes-rwxr-xr-xtools/i386/e2fsck.sharedbin80308 -> 0 bytes-rwxr-xr-xtools/i386/mkreiserfsbin15868 -> 0 bytes-rw-r--r--tools/i386/netboot/.cvsignore4
-rw-r--r--tools/i386/netboot/3c503/nbgrubbin106660 -> 0 bytes-rw-r--r--tools/i386/netboot/3c503/pxegrubbin107684 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c503/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c503/stage2bin106660 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/nbgrubbin106208 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/pxegrubbin107232 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c507/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c507/stage2bin106272 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/nbgrubbin106712 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/pxegrubbin107736 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c509/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c509/stage2bin106744 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/nbgrubbin107592 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/pxegrubbin108616 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c529/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c529/stage2bin107624 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/nbgrubbin109440 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/pxegrubbin110464 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c595/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c595/stage2bin109440 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/nbgrubbin111360 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/pxegrubbin112384 -> 0 bytes-rwxr-xr-xtools/i386/netboot/3c90x/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/3c90x/stage2bin111360 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/nbgrubbin106376 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/pxegrubbin107400 -> 0 bytes-rwxr-xr-xtools/i386/netboot/depca/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/depca/stage2bin106440 -> 0 bytes-rw-r--r--tools/i386/netboot/device.map1
-rw-r--r--tools/i386/netboot/eepro/nbgrubbin106472 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro/pxegrubbin107496 -> 0 bytes-rwxr-xr-xtools/i386/netboot/eepro/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro/stage2bin106504 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/nbgrubbin109408 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/pxegrubbin110432 -> 0 bytes-rwxr-xr-xtools/i386/netboot/eepro100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/eepro100/stage2bin109472 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/nbgrubbin108160 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/pxegrubbin109184 -> 0 bytes-rwxr-xr-xtools/i386/netboot/epic100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/epic100/stage2bin108192 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/nbgrubbin106560 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/pxegrubbin107584 -> 0 bytes-rwxr-xr-xtools/i386/netboot/exos205/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/exos205/stage2bin106592 -> 0 bytes-rwxr-xr-xtools/i386/netboot/grubbin355291 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/nbgrubbin108512 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/pxegrubbin109536 -> 0 bytes-rwxr-xr-xtools/i386/netboot/lance/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/lance/stage2bin108512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/makeImages31
-rwxr-xr-xtools/i386/netboot/make_boot_network17
-rw-r--r--tools/i386/netboot/menu.lst.example21
-rw-r--r--tools/i386/netboot/ne/nbgrubbin106280 -> 0 bytes-rw-r--r--tools/i386/netboot/ne/pxegrubbin107304 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ne/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ne/stage2bin106344 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/nbgrubbin106620 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/pxegrubbin107644 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ne2100/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ne2100/stage2bin106652 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/nbgrubbin105608 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/pxegrubbin106632 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni5010/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5010/stage2bin105640 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/nbgrubbin106336 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/pxegrubbin107360 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni5210/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni5210/stage2bin106368 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/nbgrubbin106588 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/pxegrubbin107612 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ni6510/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ni6510/stage2bin106620 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/nbgrubbin108664 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/pxegrubbin109688 -> 0 bytes-rwxr-xr-xtools/i386/netboot/ns8390/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/ns8390/stage2bin108696 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/nbgrubbin108484 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/pxegrubbin109508 -> 0 bytes-rwxr-xr-xtools/i386/netboot/otulip/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/otulip/stage2bin108516 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/nbgrubbin108000 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/pxegrubbin109024 -> 0 bytes-rwxr-xr-xtools/i386/netboot/rtl8139/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/rtl8139/stage2bin108000 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/nbgrubbin112392 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/pxegrubbin113416 -> 0 bytes-rwxr-xr-xtools/i386/netboot/sis900/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/sis900/stage2bin112392 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/nbgrubbin106500 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/pxegrubbin107524 -> 0 bytes-rwxr-xr-xtools/i386/netboot/sk_g16/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/sk_g16/stage2bin106532 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/nbgrubbin106976 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/pxegrubbin108000 -> 0 bytes-rwxr-xr-xtools/i386/netboot/smc9000/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/smc9000/stage2bin106976 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.3c59xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.3c90xbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.eepro100bin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.rtl8139bin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.tulipbin512 -> 0 bytes-rwxr-xr-xtools/i386/netboot/stage1.via-rhinebin512 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.3c59xbin80564 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.3c90xbin111100 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.eepro100bin107584 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.rtl8139bin108028 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.tulipbin94396 -> 0 bytes-rw-r--r--tools/i386/netboot/stage2.via-rhinebin88208 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/nbgrubbin105188 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/pxegrubbin106212 -> 0 bytes-rwxr-xr-xtools/i386/netboot/tiara/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/tiara/stage2bin105252 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/nbgrubbin119404 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/pxegrubbin120428 -> 0 bytes-rwxr-xr-xtools/i386/netboot/tulip/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/tulip/stage2bin119404 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/nbgrubbin109356 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/pxegrubbin110380 -> 0 bytes-rwxr-xr-xtools/i386/netboot/w89c840/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/w89c840/stage2bin109388 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/nbgrubbin106760 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/pxegrubbin107784 -> 0 bytes-rwxr-xr-xtools/i386/netboot/wd/stage1bin512 -> 0 bytes-rw-r--r--tools/i386/netboot/wd/stage2bin106792 -> 0 bytes-rwxr-xr-xtools/i386/shbin153752 -> 0 bytes-rwxr-xr-xtools/ia64/e2fsck.sharedbin1060504 -> 0 bytes-rwxr-xr-xtools/ia64/elilo.efibin315800 -> 0 bytes-rwxr-xr-xtools/install-xml-file-list396
-rwxr-xr-xtools/mailchangelog.pl14
-rw-r--r--tools/make_lang_png_transparent.c4
-rwxr-xr-xtools/make_mdkinst_stage284
-rwxr-xr-xtools/mdkinst_stage2_tool69
-rwxr-xr-xtools/mkhdlist16
-rwxr-xr-xtools/oem-prepare477
-rwxr-xr-xtools/patch_pcmcia_config.pl28
-rw-r--r--tools/ppc/README39
-rwxr-xr-xtools/ppc/Xpmacbin3762427 -> 0 bytes-rwxr-xr-xtools/ppc/convert5
-rw-r--r--tools/ppc/e2fsck.sharedbin101469 -> 0 bytes-rwxr-xr-xtools/ppc/magic89
-rwxr-xr-xtools/ppc/mapping29
-rwxr-xr-xtools/ppc/mkINSTALLCD80
-rwxr-xr-xtools/ppc/mkhybrid-1.12b5.4bin488623 -> 0 bytes-rwxr-xr-xtools/ppc/mkhybrid-1.12b5.4-x86bin194471 -> 0 bytes-rw-r--r--tools/ppc/yabootbin58556 -> 0 bytes-rw-r--r--tools/serial_probe/.cvsignore1
-rw-r--r--tools/serial_probe/Makefile4
-rw-r--r--tools/serial_probe/device.h52
-rw-r--r--tools/serial_probe/kudzu.h26
-rw-r--r--tools/serial_probe/serial.c770
-rw-r--r--tools/serial_probe/serial.h4
-rw-r--r--tools/serial_probe/serial_probe.c30
-rw-r--r--tools/shift_all.pl113
-rw-r--r--tools/shift_img.c165
-rwxr-xr-xtools/simplify-drakx-modules5
-rwxr-xr-xtools/sparc/e2fsck.sharedbin125624 -> 0 bytes-rwxr-xr-xtools/specific_arch2
-rwxr-xr-xtools/syncrpms267
-rwxr-xr-xtools/updatehdlist10
-rwxr-xr-xtools/x86_64/busyboxbin74064 -> 0 bytes
3220 files changed, 1145063 insertions, 1421442 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 2a8035f11..000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-docs
-images
-unused
-drakxtools.tar.bz2
-isolinux
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..9e5ecb61c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+.perl_checker.cache
+.directory
+*.tar.xz
+*~
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..99ebe2c8d
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,142943 @@
+2007-01-18 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm, perl-install/Xconfig/plugins.pm:
+ add plugins handling to XFdrake
+ (mostly useless for now. still need to be linked with hwdb)
+
+2007-01-18 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: cleanup: move some code to
+ _simple_val_to_string()
+
+2007-01-18 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: - set_Revision doesn't return
+ modified {raw} anymore, it does it in place
+ - cosmetic
+
+2007-01-18 08:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/media.pm:
+ fix umounting/ejecting cdrom at end of install
+
+2007-01-18 02:41 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2007-01-17 14:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__ComboBox) explain last commit
+
+2007-01-17 14:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__ComboBox) fix
+ Gtk2::ComboBox::get_text() in ugtk2 (#28018)
+
+2007-01-17 11:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/share/po/fr.po: update
+
+2007-01-17 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2007-01-17 11:26 ybando
+
+ * perl-install/standalone/po/ja.po: Japanese translation updated.
+
+2007-01-17 10:46 ybando
+
+ * perl-install/share/po/ja.po: Japanese translation updated.
+
+2007-01-17 10:43 ybando
+
+ * perl-install/install/share/po/ja.po: Japanese translation
+ updated.
+
+2007-01-17 08:51 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2007-01-16 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install pm-utils on laptops
+
+2007-01-16 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install kpowersave instead
+ of klaptop
+
+2007-01-15 17:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: sync with code
+
+2007-01-15 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ merge in translations from install/share/po
+
+2007-01-15 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm:
+ (partitionWizardSolutions) better string
+
+2007-01-15 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm: - create type "only_label"
+ (mostly internal)
+ - use Label_Left instead of WrappedLabel
+ - this helps interactive::curses not having a empty "Label"
+ widget not
+ properly sized (occured in drak3d for example)
+
+2007-01-15 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps_interactive.pm: drop support for
+ network_drivers.img, and configure hd_grub.img for all kind of
+ installs
+ (we could configure all.img & boot.iso... but...)
+
+2007-01-15 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/he.po: update (Dotan Kamber)
+
+2007-01-15 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (Rhoslyn Prys)
+
+2007-01-15 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm, perl-install/bootsplash.pm,
+ perl-install/standalone/bootloader-config: - don't drop "lock"
+ entry-option (#28199)
+ - keep all options from the "reference" entry, not simply vga
+ (which was saved {default_vga})
+ - {default_vga} is no more, use {default_options}{vga} instead
+ - when adding an entry, use {default_options}{lock} as the
+ default {lock} value
+
+2007-01-15 08:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm: - adapt parse_ftp_url() return type
+ to what's wanted in install::any
+ - simplify
+
+2007-01-15 08:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: replace $_ with $entry
+
+2007-01-15 08:15 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: adding cryptoloop (#28181)
+
+2007-01-12 17:02 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2007-01-12 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: drop SHARE_PATH
+ declaration, this is done by the standalone module
+
+2007-01-12 15:23 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2007-01-12 15:00 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: factorize code into mount_mdkinst()
+
+2007-01-12 14:57 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: remove unused function
+
+2007-01-12 14:54 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: add support for remote repository (we
+ download mdkinst.sqfs)
+
+2007-01-12 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/ftp.pm,
+ perl-install/install/media.pm: allow specifying URLPREFIX for ftp
+ installs (can be useful to simplify
+ drakx-in-chroot handling remote distro)
+
+2007-01-11 19:01 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2007-01-11 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: we don't need mdadm by
+ default on those boxes (fix commit r19677)
+
+2007-01-11 15:52 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove deprecated symlink
+
+2007-01-11 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/he.po: update (Dotan Kamber)
+
+2007-01-11 02:36 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2007-01-10 20:01 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2007-01-10 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2007-01-10 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2007-01-09 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ strip old translations
+
+2007-01-09 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/data/icons/IC-Dhost-48.png,
+ soft/drakx-net/trunk/data/icons/IC-NFS-48.png,
+ soft/drakx-net/trunk/data/icons/IC-sambaprt-16.png,
+ soft/drakx-net/trunk/data/icons/IC-winacces1-48.png,
+ soft/drakx-net/trunk/data/icons/IC-winacces2-16.png,
+ perl-install/standalone/icons/IC-Dhost-48.png,
+ perl-install/standalone/icons/IC-NFS-48.png,
+ perl-install/standalone/icons/IC-sambaprt-16.png,
+ perl-install/standalone/icons/IC-winacces1-48.png,
+ perl-install/standalone/icons/IC-winacces2-16.png: move some
+ icons in drakx-net
+
+2007-01-09 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: new release
+
+2007-01-09 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.config,
+ perl-install/Makefile.drakxtools: adatp to drakbackup &
+ draktermserv migration
+
+2007-01-09 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2007-01-09 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakpxe: remove obsolete tool
+
+2007-01-09 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: remove uninstalled moved network
+ tools
+
+2007-01-09 16:04 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/tools/drakhosts,
+ soft/drakx-net/trunk/tools/draknfs,
+ soft/drakx-net/trunk/tools/draksambashare,
+ perl-install/standalone/drakhosts,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/draksambashare: move more network tools
+ in drakx-net
+
+2007-01-09 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/Makefile: (merge) fix rule
+
+2007-01-09 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2007-01-09 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draktermserv: move draktermserv in its
+ own module
+
+2007-01-09 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup,
+ perl-install/standalone/icons/ic82-CD-40.png,
+ perl-install/standalone/icons/ic82-back-up-48.png,
+ perl-install/standalone/icons/ic82-discdurwhat-40.png,
+ perl-install/standalone/icons/ic82-dossier-32.png,
+ perl-install/standalone/icons/ic82-moreoption-40.png,
+ perl-install/standalone/icons/ic82-others-40.png,
+ perl-install/standalone/icons/ic82-system-40.png,
+ perl-install/standalone/icons/ic82-users-40.png,
+ perl-install/standalone/icons/ic82-when-40.png,
+ perl-install/standalone/icons/ic82-where-40.png,
+ perl-install/standalone/icons/printerdrake.png,
+ perl-install/standalone/man: move drakbackup in its own module
+
+2007-01-09 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix choosing a not important mouse (ie
+ inside the [Other] subtree)
+
+2007-01-09 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksec: add missing interactive use (fix
+ crash at startup)
+
+2007-01-08 17:39 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2007-01-08 17:10 stewb
+
+ * perl-install/standalone/draktermserv: perl_checker
+
+2007-01-08 16:59 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING, docs/README, kernel/Makefile, kernel/modules.pl,
+ kernel/update_kernel, make_boot_img, mdk-stage1/Makefile,
+ mdk-stage1/mar, mdk-stage1/modules.c, mdk-stage1/modules.h,
+ mdk-stage1/stage1.c, perl-install/install/install2.pm,
+ tools/update_images: drop floppy images (kernel-BOOT doesn't have
+ support for squashfs 3.0) (#27899),
+ as a consequence:
+ - drop mar support (mar was not used for all.rdz)
+ - drop code handling BOOT kernel
+ - drop the old update_images script
+
+ !! ask_insmod() in mdk-stage1/modules.c is currently broken for
+ non-mar, ie for all images !!
+
+2007-01-08 16:54 stewb
+
+ * perl-install/standalone/draktermserv: more drakTermServ ->
+ draktermserv
+
+2007-01-08 17:10 stewb
+
+ * perl-install/standalone/draktermserv: perl_checker
+
+2007-01-08 16:59 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING, docs/README, kernel/Makefile, kernel/modules.pl,
+ kernel/update_kernel, make_boot_img, mdk-stage1/Makefile,
+ mdk-stage1/mar, mdk-stage1/modules.c, mdk-stage1/modules.h,
+ mdk-stage1/stage1.c, perl-install/install/install2.pm,
+ tools/update_images: drop floppy images (kernel-BOOT doesn't have
+ support for squashfs 3.0) (#27899),
+ as a consequence:
+ - drop mar support (mar was not used for all.rdz)
+ - drop code handling BOOT kernel
+ - drop the old update_images script
+
+ !! ask_insmod() in mdk-stage1/modules.c is currently broken for
+ non-mar, ie for all images !!
+
+2007-01-08 16:54 stewb
+
+ * perl-install/standalone/draktermserv: more drakTermServ ->
+ draktermserv
+
+2007-01-08 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__entries) make default
+ entry more visible when
+ "add_modify_remove" is set
+
+2007-01-08 12:55 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: make it more explicit that this is
+ fatal
+
+2007-01-08 10:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: copy files not available at boot time
+ in /boot/copied/ (#28028)
+
+2007-01-08 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: no grub-graphic when using serial
+ console
+
+2007-01-08 09:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: detect standard grub (which
+ is currently at 0x17f) (#27983)
+
+2007-01-06 15:27 berthy
+
+ * perl-install/standalone/po/fr.po: Update fr translation
+
+2007-01-05 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: don't give absolute file name to
+ set_current_name
+ (fixes install::any::media_browser)
+
+2007-01-05 09:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: add voikko-fi and
+ openoffice.org-voikko/openoffice.org64-voikko per Anssi Hannula
+ request
+
+2007-01-05 08:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix set_login_serial_console (use agetty, as
+ reported by buchan, #27861)
+
+2007-01-03 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install "input-utils"
+ instead of "joystick"
+
+2007-01-03 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: drakTermServ was renamed as
+ draktermserv
+
+2007-01-03 03:12 mmodem
+
+ * perl-install/install/share/po/pt.po: up
+
+2007-01-03 03:11 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2007-01-03 03:07 mmodem
+
+ * perl-install/install/share/po/pt.po: up
+
+2007-01-03 02:49 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2007-01-03 02:49 mmodem
+
+ * perl-install/standalone/po/pt.po: up
+
+2007-01-02 11:54 stewb
+
+ * perl-install/standalone/drakTermServ,
+ perl-install/standalone/draktermserv: rename (#27835)
+
+2007-01-02 10:32 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add rt73
+
+2006-12-29 16:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: allow to retry
+ installing a pkg (even if it already failed 3 times in a row
+ without asking)
+
+2006-12-29 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: further cleanup
+
+2006-12-29 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: cleanup
+
+2006-12-29 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: factorize code into _install_raw()
+ (also dropping test mode)
+
+2006-12-29 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: cleanup
+
+2006-12-29 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: factorize/cleanup some $retry_pkg
+ code
+
+2006-12-29 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: remove ugly cleaning in
+ local_install
+
+2006-12-29 14:54 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-29 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix ModeLine_from_string (broken
+ when introducing a normal hash in commit 101042)
+
+2006-12-29 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix ModeLine_from_string (broken
+ when introducing a normal hash in commit 101042)
+
+2006-12-29 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix ModeLine_from_string (broken
+ when introducing a normal hash in commit 101042)
+
+2006-12-29 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: do not allow password with grub-graphic
+
+2006-12-29 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use "advanced" callbacks instead of main
+ "complete" callback
+
+2006-12-29 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: no resume=/dev/xxx for the failsafe
+ entry
+
+2006-12-22 15:24 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-22 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: 10.4.88
+
+2006-12-22 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix writing gfxmenu line in menu.lst
+ when the line already existed
+
+2006-12-22 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) DRI_GLX is no more
+ set for voodoo cards since there's
+ no 3D support in current driver; so don't bother installing a
+ package
+ (which what's more only driver older voodoo cards that tdfx
+ driver
+ doesn't manage)
+
+2006-12-22 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: when a pkg install
+ fail, allow skipping all packages from the same medium
+
+2006-12-22 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: 10.4.88
+
+2006-12-22 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix writing gfxmenu line in menu.lst
+ when the line already existed
+
+2006-12-22 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) DRI_GLX is no
+ more set for voodoo cards since there's
+ no 3D support in current driver; so don't bother installing a
+ package
+ (which what's more only driver older voodoo cards that tdfx
+ driver
+ doesn't manage)
+
+2006-12-22 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: when a pkg install
+ fail, allow skipping all packages from the same medium
+
+2006-12-22 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: factorize code into
+ installPackages__handle_error()
+
+2006-12-22 11:43 ybando
+
+ * perl-install/standalone/po/ja.po: adding Plural-Forms definition
+ to ja.po
+
+2006-12-22 11:41 ybando
+
+ * perl-install/share/po/ja.po: adding Plural-Forms definition to
+ ja.po
+
+2006-12-22 11:40 ybando
+
+ * perl-install/install/share/po/ja.po: adding Plural-Forms
+ definition to ja.po
+
+2006-12-22 11:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: allow deselecting
+ media if going back to setPackages()
+
+2006-12-22 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't use a global var for
+ skipping pkgs already seen, otherwise after
+ cleaning $o->{packages} in setPackages and starting again, all
+ pkgs are
+ rejected
+
+2006-12-22 10:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: factorize
+
+2006-12-21 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) install proper
+ driver for voodoo cards (bug seen by Gérard Delafond)
+
+2006-12-21 16:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po: updated Serbian files
+
+2006-12-21 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix get_Revision (was broken of 2
+ previous commits)
+
+2006-12-21 15:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: better var name
+
+2006-12-21 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: use a normal hash for the object
+ instead of a array ref
+ (it will allow adding some more attrs in next commit)
+
+2006-12-21 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: new release
+
+2006-12-21 14:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Button) do not add an empty
+ child if none was provided, thus
+ preventing later ->add() to failed
+
+2006-12-21 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: introduce P() for translating
+ singular/plural strings
+
+2006-12-21 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm, perl-install/Xconfig/xfree.pm:
+ handle empty/missing xorg.conf in Xconfig::xfree
+
+2006-12-21 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install openoffice.org64 on
+ x86_64
+
+2006-12-21 10:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: rename a few more vars
+
+2006-12-21 10:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: - make it clearer which functions
+ are used internally to this module
+ - make it a little clearer the difference between "raw" and
+ "rraw"
+
+2006-12-20 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: menudrake doesn't exist
+ anymore
+
+2006-12-20 18:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: raise drakx tools level
+
+2006-12-20 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: allow
+ to skip packages in auto_install, with new $o->{skipped_packages}
+
+2006-12-20 16:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm: fix automatic X video dkms packages
+ installation
+
+2006-12-20 15:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/steps.pm:
+ move deploy_server notification in install::steps::exitInstall()
+ now that it is called even if autoExitInstall is set
+
+2006-12-20 12:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/media.pm: fix selected_names option (which
+ is a string now)
+
+2006-12-19 17:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm,
+ perl-install/install/interactive.pm: move use utf8 in
+ fs::partitioning_wizard
+
+2006-12-19 17:29 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-19 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: bump koffice level, it is
+ required by kivio anyway
+ * perl-install/install/share/rpmsrate: lower kivio and dia level
+
+2006-12-19 16:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: group kde stuff in
+ CAT_OFFICE
+
+2006-12-19 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: bump koffice level, it is
+ required by kivio anyway
+ * perl-install/install/share/rpmsrate: lower kivio and dia level
+
+2006-12-19 16:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: group kde stuff in
+ CAT_OFFICE
+
+2006-12-19 15:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: lower nvu and planner
+ rpmsrate level
+
+2006-12-19 15:25 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/lib/network/network.pm,
+ perl-install/install/steps.pm: move install specific code in
+ install::steps
+
+2006-12-19 14:53 mmodem
+
+ * perl-install/standalone/po/pt.po: update
+ * perl-install/share/po/pt.po: update
+
+2006-12-19 10:08 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-18 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: use formatAlaTeX for
+ better wrapping
+
+2006-12-18 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: {all_hds} and {fstab} need to be
+ created
+
+2006-12-18 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: fix creating a sub calling
+ $o->rebootNeeded
+
+2006-12-18 16:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/any.pm: fix reverted "skip mtab" conditionnal
+
+2006-12-18 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: use formatAlaTeX for
+ better wrapping
+
+2006-12-18 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: {all_hds} and {fstab} need to be
+ created
+
+2006-12-18 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: fix creating a sub calling
+ $o->rebootNeeded
+
+2006-12-18 16:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/any.pm: fix reverted "skip mtab" conditionnal
+
+2006-12-18 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_auto_install.pm: - do postInstall and
+ postInstallNonRooted at beginning of step exitInstall so
+ that it's done before umounting /tmp/image
+ - create postInstallBeforeReboot which is alike postInstall but
+ is done just
+ before rebooting
+
+2006-12-16 01:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: always disable compositing
+ desktop effects when configuring a new video card
+
+2006-12-16 01:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: remove interactive object vivification
+ in do_pkgs, thus making the harddrake service really
+ non-interactive, as well as localedrake --apply
+
+2006-12-16 01:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not explicitely create
+ do_pkgs objects
+
+2006-12-16 01:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksec: perl_checker style
+ * perl-install/standalone/draksec: simplify
+
+2006-12-16 00:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksec: do not create
+ do_pkgs_standalone objects directly
+
+2006-12-16 00:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksec: require to be root to run
+ draksec (and introduce interactive object for future usage)
+
+2006-12-16 00:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: protect some do->in calls
+
+2006-12-15 23:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: simplify
+ * perl-install/any.pm, perl-install/standalone/drakboot: move
+ bootloader choice loop from drakboot to
+ any::setupBootloaderUntilInstalled()
+
+2006-12-15 23:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: perl_checker style
+
+2006-12-15 22:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/diskdrake: remove one more nowizard
+ variable
+
+2006-12-15 22:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm,
+ perl-install/diskdrake/interactive.pm,
+ perl-install/fs/partitioning_wizard.pm: the Wizard choice
+ actually died the day the expert mode stopped starting diskdrake
+ (20021212 in install_steps_interactive)
+
+2006-12-15 22:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm: use original nodiskdrake
+ name
+
+2006-12-15 22:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm: fix nowizard
+
+2006-12-15 22:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm,
+ perl-install/standalone/diskdrake: gather help functions back in
+ diskdrake::hd_gtk
+
+2006-12-15 21:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/fs/partitioning_wizard.pm: restore actually used
+ Wizard
+
+2006-12-15 21:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/fs/partitioning_wizard.pm: remove unused nowizard
+ variable
+
+2006-12-15 20:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm,
+ perl-install/install/steps_interactive.pm: move "reboot needed"
+ warning in fs::partitioning_wizard
+
+2006-12-15 20:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/any.pm, perl-install/fs/partitioning_wizard.pm:
+ fix really lame typos/mistakes
+
+2006-12-15 19:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm,
+ perl-install/install/steps_interactive.pm: rename
+ partitionWizard as fs::partitioning_wizard::main
+
+2006-12-15 19:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: use
+ fs::partitioning_wizard
+
+2006-12-15 19:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning_wizard.pm,
+ perl-install/install/interactive.pm: move partitioning wizard
+ from install::interactive to fs::partitioning_wizard
+
+2006-12-15 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/install/interactive.pm,
+ perl-install/standalone/diskdrake: remove unused diskdrake help
+ code
+
+2006-12-15 18:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/interactive.pm,
+ perl-install/install/steps_interactive.pm: explode install
+ specific stuff in install:interactive partitioning wizard
+
+2006-12-15 18:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/install/interactive.pm: remove unused code
+
+2006-12-15 18:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/any.pm, perl-install/install/steps.pm: split
+ some doPartitionDisksAfter code in fs::any::write::hds and
+ fs::any::check_hds_boot_and_root
+
+2006-12-15 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/any.pm, perl-install/install/any.pm: move
+ install::any::getHds code in new fs::any::get_hds
+
+2006-12-15 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm: after _rewindGetFile(), we *must*
+ call _new() !
+
+2006-12-15 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: we don't use imlib anymore,
+ no need for its conf files
+
+2006-12-15 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: ignore etags not installed
+
+2006-12-15 11:39 Olivier Blin <oblin at mandriva.com>
+
+ * Makefile: upload sqfs files instead of clp
+
+2006-12-15 10:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm: be more verbose when things go wrong
+
+2006-12-15 09:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: Scalar::Util and List::Util
+ are needeed by autoload (from Net::FTP::close) (?)
+
+2006-12-14 17:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_point.pm, perl-install/fs/partitioning.pm:
+ return a true value
+
+2006-12-14 17:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm: remove unused label
+
+2006-12-14 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning.pm: remove unnecessary use
+
+2006-12-14 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning.pm: use fs::type
+
+2006-12-14 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: factorize some
+ local_install check and drop unused fstab argument
+
+2006-12-14 17:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: move
+ choosePartitionsToFormat in fs::partitioning
+
+2006-12-14 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/partitioning.pm,
+ perl-install/install/steps_interactive.pm: move
+ install::steps_interactive::formatMountPartitions in new
+ fs::partitioning
+
+2006-12-14 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_point.pm: add Id
+
+2006-12-14 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_point.pm,
+ perl-install/install/interactive.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: move ask_mntpoint
+ functions in fs::mount_point
+
+2006-12-14 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_point.pm, perl-install/install/any.pm,
+ perl-install/install/steps_interactive.pm: move some mount point
+ related functions in fs::mount_point
+
+2006-12-14 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: allow choosing
+ deselect_media and copy_on_disk in non gtk install
+
+2006-12-14 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm, perl-install/do_pkgs.pm: revert
+ debug code /o\
+
+2006-12-14 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm, perl-install/do_pkgs.pm,
+ perl-install/install/any.pm, perl-install/install/media.pm:
+ introduce a 'selected_names' option for media_cfg media, to
+ allow to provide a default media selection in auto_install
+
+2006-12-14 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: correctly size truncated
+ labels
+
+2006-12-14 10:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: handle separately a checkbox
+ that can be "disabled" ("disabled" is not handled
+ in "checkboxes")
+
+2006-12-14 02:15 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/standalone/po/ru.po: updated translation
+
+2006-12-13 20:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/wa.po: updated po file
+
+2006-12-13 17:43 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-13 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: setting user_xattr on /home (or "/"
+ if no /home)
+
+2006-12-13 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: create
+ ->wait_message_with_progress_bar which doesn't do anything
+
+2006-12-13 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: setting user_xattr on /home (or "/"
+ if no /home)
+
+2006-12-13 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: create
+ ->wait_message_with_progress_bar which doesn't do anything
+
+2006-12-13 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * soft/draklive, soft/draklive-install,
+ soft/draklive-install/trunk, soft/draklive/trunk, live: move
+ draklive and draklive-install in their own remodule (thus
+ removing /soft/drakx/live)
+
+2006-12-13 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm: fix the various
+ wait_message_with_progress_bar, changing a little the
+ behaviour. This helps those windows to disappear after being
+ used. Esp. for
+ curses, but may also gtk. Also fix the generic method displaying
+ "ARRAY..."
+
+2006-12-13 14:30 Olivier Blin <oblin at mandriva.com>
+
+ * config/One/trunk, live/One: move One config in /config/One
+
+2006-12-13 14:17 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, live/One/config/live.cfg,
+ live/One/config/local.cfg, live/One/config/rpmsrate,
+ live/One/files/kside-FLASH238.png,
+ live/One/files/mandriva-RealPlayer.desktop,
+ live/One/patches/harddrake-interactive.patch,
+ live/One/patches/harddrake-switch3d.patch, live/One/tools: merge
+ changes from 2007.0 branch
+
+2006-12-13 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: use squashfs instead of clp
+
+2006-12-13 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: *** empty log message ***
+
+2006-12-13 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po: update (Rhoslyn Prys)
+
+2006-12-13 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-12-13 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-12-13 11:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: merge more 2007.0 changes
+
+2006-12-13 10:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't drop password in grub menu.lst
+
+2006-12-13 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: drop unused callback
+
+2006-12-13 09:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't use focus_first
+ when the first entry is a title (#26977)
+
+2006-12-12 16:30 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-12 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm, perl-install/install/any.pm,
+ perl-install/install/install2.pm: adapt to mdkinst.clp ->
+ mdkinst.sqfs
+
+2006-12-12 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * docs/HACKING: simplify using task-drakx-devel
+
+2006-12-12 15:50 Pixel <pixel at mandriva.com>
+
+ * rescue: ignore rescue.sqfs
+
+2006-12-12 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/compssUsers.pl: nicer layout
+
+2006-12-12 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/mdkinst_stage2_tool: fix package name
+
+2006-12-12 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: (reallyChooseGroups) better
+ layout that fit with most locale/font combinaisons
+
+2006-12-12 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm, mdk-stage1/config-stage1.h,
+ mdk-stage1/lomount.c, rescue/Makefile, rescue/make_rescue_img,
+ tools/mdkinst_stage2_tool: use squashfs instead of gzloop
+
+2006-12-12 15:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: also add a progress bar for
+ downloading synthesis (is this really needed?)
+
+2006-12-12 15:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm, perl-install/install/http.pm,
+ perl-install/install/media.pm,
+ perl-install/install/share/list.xml: create
+ getAndSaveFile_progress() and the various code needed for it.
+ it allows a nice progress bar when downloading hdlist :)
+
+2006-12-12 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm, perl-install/install/any.pm,
+ perl-install/install/install2.pm: adapt to mdkinst.clp ->
+ mdkinst.sqfs
+
+2006-12-12 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * docs/HACKING: simplify using task-drakx-devel
+
+2006-12-12 15:50 Pixel <pixel at mandriva.com>
+
+ * rescue: ignore rescue.sqfs
+
+2006-12-12 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/compssUsers.pl: nicer layout
+
+2006-12-12 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/mdkinst_stage2_tool: fix package name
+
+2006-12-12 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: (reallyChooseGroups) better
+ layout that fit with most locale/font combinaisons
+
+2006-12-12 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm, mdk-stage1/config-stage1.h,
+ mdk-stage1/lomount.c, rescue/Makefile, rescue/make_rescue_img,
+ tools/mdkinst_stage2_tool: use squashfs instead of gzloop
+
+2006-12-12 15:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: also add a progress bar for
+ downloading synthesis (is this really needed?)
+
+2006-12-12 15:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm, perl-install/install/http.pm,
+ perl-install/install/media.pm,
+ perl-install/install/share/list.xml: create
+ getAndSaveFile_progress() and the various code needed for it.
+ it allows a nice progress bar when downloading hdlist :)
+
+2006-12-12 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile, tools/mdkinst_stage2_tool: rename
+ mdkinst_stage2_tool parameters and makefile target to remove clp
+ occurences
+
+2006-12-12 14:09 Olivier Blin <oblin at mandriva.com>
+
+ * docs/HACKING: add more fonts
+
+2006-12-12 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: when the mirror list can't be
+ retrieved, prompt for a URL
+
+2006-12-12 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: global wait_message
+ is evil here since the function may even ask questions (in
+ selectSupplMedia)
+
+2006-12-12 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: have no error when urpmi-ldap and
+ urpmi-parallel-* are not installed
+
+2006-12-12 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: always display the wait_message
+ when copying/downloading hdlist
+
+2006-12-12 12:09 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: rename compressed file variables
+
+2006-12-12 12:02 Olivier Blin <oblin at mandriva.com>
+
+ * rescue/Makefile: simplify
+
+2006-12-12 12:01 Olivier Blin <oblin at mandriva.com>
+
+ * docs/HACKING: add testdisk in required packages list (needed for
+ rescue)
+
+2006-12-12 11:48 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/lomount.c, mdk-stage1/lomount.h: remove more gz
+ variables
+
+2006-12-12 11:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/cdrom.c, mdk-stage1/config-stage1.h,
+ mdk-stage1/directory.c, mdk-stage1/lomount.c,
+ mdk-stage1/network.c, mdk-stage1/tools.c, mdk-stage1/tools.h:
+ rename variables for next commit
+
+2006-12-12 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c, mdk-stage1/partition.c: remove useless
+ includes
+
+2006-12-12 10:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: ensure message does not contain the
+ old graphic format (#27631)
+
+2006-12-11 19:59 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-12-11 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: same filesystems can be
+ mounted, but not formatted (eg: befs = BeOS fs). for
+ them, don't check availibility of the mkfs.xxx (#27451)
+
+2006-12-11 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: some EDID are much too strict:
+ the HorizSync range is too small to allow
+ smaller resolutions (#27162)
+
+2006-12-11 15:20 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-11 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: set a valid locale before
+ running curses
+
+2006-12-11 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: reduce thai font too at install time
+
+2006-12-11 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (charset2pango_font) reduce default size
+ at install time
+
+2006-12-11 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: set a valid locale before
+ running curses
+
+2006-12-11 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: reduce thai font too at install time
+
+2006-12-11 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (charset2pango_font) reduce default size
+ at install time
+
+2006-12-10 14:15 berthy
+
+ * perl-install/standalone/po/fr.po: Update fr translation
+
+2006-12-09 16:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/validate.pl: converted to utf-8
+
+2006-12-09 16:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/insmod.c,
+ mdk-stage1/insmod-modutils/include/config.h,
+ mdk-stage1/insmod-modutils/include/modstat.h,
+ mdk-stage1/insmod-modutils/include/obj.h,
+ mdk-stage1/insmod-modutils/insmod.c,
+ mdk-stage1/insmod-modutils/obj/obj_load.c,
+ mdk-stage1/insmod-modutils/util/config.c,
+ mdk-stage1/insmod-modutils/util/meta_expand.c,
+ mdk-stage1/insmod-modutils/util/modstat.c,
+ mdk-stage1/nfsmount.c, mdk-stage1/ppp/pppd/ipv6cp.c,
+ mdk-stage1/ppp/pppd/ipv6cp.h, mdk-stage1/slang/sltoken.c:
+ converted to utf-8
+
+2006-12-08 18:04 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/doc/TECH-INFOS: fix typo
+
+2006-12-08 17:35 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-08 16:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: adapt to an old mdkinst_stage2_tool modif
+
+2006-12-08 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: simplify
+
+2006-12-08 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - don't use $::o,
+ pass a $in around
+ - do display the wait_message ($phys_m->{method} is good,
+ $m->{method} is invalid)
+
+2006-12-08 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: restore pressing "Enter" that
+ may_go_to_next
+
+2006-12-08 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: focus the language to choose
+
+2006-12-08 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: ensure mandriva-gfxboot-theme is
+ installed when asking for grub-graphic (#27557)
+
+2006-12-08 16:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: adapt to an old mdkinst_stage2_tool modif
+
+2006-12-08 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: simplify
+
+2006-12-08 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - don't use $::o,
+ pass a $in around
+ - do display the wait_message ($phys_m->{method} is good,
+ $m->{method} is invalid)
+
+2006-12-08 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: restore pressing "Enter" that
+ may_go_to_next
+
+2006-12-08 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: focus the language to choose
+
+2006-12-08 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: ensure mandriva-gfxboot-theme is
+ installed when asking for grub-graphic (#27557)
+
+2006-12-08 08:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: take drakx-net modules from
+ installed system
+ * docs/HACKING: drakx-net pkg needed
+
+2006-12-07 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: use ->build_synthesis instead of
+ calling gzip directly (fixes #27518)
+
+2006-12-07 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: new release
+
+2006-12-07 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: adapt to new urpmi:
+ - use urpmi netrc instead of file list
+ - use media_info_dir
+ - don't set "hdlist: xxx"
+
+2006-12-07 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: handle {message} in 'expander'
+ (ie {advanced_messages})
+
+2006-12-07 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: "resolution_wanted => 1280" in
+ auto_inst results to 1280x960. the code already
+ handles "resolution_wanted => '1280x1024'", but the
+ automatically generated
+ auto_inst contains only 1280, fixing (thanks to chipaux)
+
+2006-12-07 08:16 berthy
+
+ * perl-install/share/po/fr.po: Update fr translation
+
+2006-12-07 08:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: fs/remote dir has been added
+
+2006-12-07 07:57 berthy
+
+ * perl-install/install/share/po/fr.po: Update fr translation
+
+2006-12-06 18:33 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-12-06 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (read) simplify
+
+2006-12-06 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add silo
+
+2006-12-06 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (read) simplify
+
+2006-12-06 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add silo
+
+2006-12-06 15:33 Pixel <pixel at mandriva.com>
+
+ * Makefile, isolinux-graphic-simple.bmp,
+ isolinux-graphic-simple.bmp.parameters, isolinux-graphic.bmp,
+ isolinux-graphic.bmp.parameters, make_boot_img,
+ perl-install/standalone/draksplash2: bmp2mdk is no more
+
+2006-12-06 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install
+ mandriva-gfxboot-theme
+
+2006-12-06 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use gfxmenu instead of splashimage
+ for grub
+
+2006-12-06 10:28 stewb
+
+ * perl-install/standalone/drakbackup: /mnt -> /media
+
+2006-12-06 10:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: merge changes from 2007.0 branch
+
+2006-12-05 20:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: new release
+
+2006-12-05 15:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/removable.pm, perl-install/fs.pm,
+ perl-install/fsedit.pm, perl-install/install/media.pm,
+ perl-install/standalone/diskdrake,
+ perl-install/standalone/drakupdate_fstab: move from /mnt to
+ /media
+
+2006-12-05 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: - adapt to new urpmi API
+ - fix handling virtual media (they have no local synthesis)
+
+2006-12-05 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: drop lilo-graphic support (favoring
+ of grub+gfxboot)
+
+2006-12-05 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (report_bug): add install.sh and device.map
+ grub files
+
+2006-12-05 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/bootloader.pm: handle both
+ lilo and grub pkg install
+
+2006-12-05 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: grub is the default
+
+2006-12-05 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: prefer grub over lilo
+
+2006-12-05 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: minimal silo support (untested)
+
+2006-12-04 23:57 mmodem
+
+ * perl-install/standalone/po/pt.po: update
+
+2006-12-04 23:04 mmodem
+
+ * perl-install/standalone/po/pt.po: update
+
+2006-12-04 22:13 mmodem
+
+ * perl-install/install/share/po/pt.po: update
+
+2006-12-04 20:31 nbauer
+
+ * perl-install/install/share/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-12-04 17:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: minimal change to ensure the
+ BOOT_IMAGE given doesn't cause havoc because it
+ contains spaces
+
+2006-12-04 17:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create simplify_label()
+
+2006-12-03 22:49 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-12-03 22:37 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-12-03 22:19 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-12-03 14:22 ybando
+
+ * perl-install/install/share/po/ja.po: updating Japanese
+ translation
+
+2006-12-03 14:19 ybando
+
+ * perl-install/share/po/ja.po: updating Japanese translation
+
+2006-12-02 18:30 mmodem
+
+ * perl-install/install/share/po/pt.po: fix some strings
+
+2006-12-02 18:23 mmodem
+
+ * perl-install/share/po/pt.po: fix some strings
+
+2006-12-01 01:37 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2006-12-01 01:33 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/standalone/po/id.po: Updated
+
+2006-12-01 01:22 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-11-30 21:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: sort
+ * perl-install/.perl_checker: kill doble entries
+
+2006-11-30 21:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: unblacklist URPM::Build and
+ urpm::ldap which are now parsable by perl_checker
+
+2006-11-30 20:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker cleanups (more to go away
+ with latest perl_checker from SVN)
+
+2006-11-30 19:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2006-11-30 18:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pixmaps/about-printerdrake.png,
+ perl-install/pixmaps/printer-mdk.png,
+ perl-install/pixmaps/printer_add.png,
+ perl-install/pixmaps/printer_conf.png,
+ perl-install/pixmaps/printer_default.png,
+ perl-install/pixmaps/printer_del.png,
+ perl-install/pixmaps/printerdrake.png: printerdrake icons were
+ moved away
+
+2006-11-30 14:59 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/Makefile, soft/drakx-net/trunk/data/icons,
+ soft/drakx-net/trunk/data/icons/drakconnect.png,
+ soft/drakx-net/trunk/data/icons/drakfirewall.png,
+ soft/drakx-net/trunk/data/icons/drakgw.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile-16.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile-24.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile-32.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile-52.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile-64.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile.png,
+ soft/drakx-net/trunk/data/icons/draknetprofile_128.png,
+ soft/drakx-net/trunk/data/icons/drakvpn-16.png,
+ soft/drakx-net/trunk/data/icons/drakvpn-24.png,
+ soft/drakx-net/trunk/data/icons/drakvpn-32.png,
+ soft/drakx-net/trunk/data/icons/drakvpn-52.png,
+ soft/drakx-net/trunk/data/icons/drakvpn-64.png,
+ soft/drakx-net/trunk/data/icons/drakvpn.png,
+ soft/drakx-net/trunk/data/icons/drakvpn_128.png,
+ soft/drakx-net/trunk/data/icons/invictus-16.png,
+ soft/drakx-net/trunk/data/icons/invictus-24.png,
+ soft/drakx-net/trunk/data/icons/invictus-32.png,
+ soft/drakx-net/trunk/data/icons/invictus-52.png,
+ soft/drakx-net/trunk/data/icons/invictus-64.png,
+ soft/drakx-net/trunk/data/icons/invictus.png,
+ soft/drakx-net/trunk/data/icons/invictus_128.png,
+ soft/drakx-net/trunk/data/pixmaps,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-128.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-16.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-24.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-32.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-48.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-52.png,
+ soft/drakx-net/trunk/data/pixmaps/bluetooth-64.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-128.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-16.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-24.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-32.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-48.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-52.png,
+ soft/drakx-net/trunk/data/pixmaps/cablemodem-64.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-128.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-16.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-24.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-32.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-48.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-52.png,
+ soft/drakx-net/trunk/data/pixmaps/cellular-64.png,
+ soft/drakx-net/trunk/data/pixmaps/connected.png,
+ soft/drakx-net/trunk/data/pixmaps/disconnected.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-128.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-16.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-24.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-32.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-48.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-52.png,
+ soft/drakx-net/trunk/data/pixmaps/dvb-64.png,
+ soft/drakx-net/trunk/data/pixmaps/encryption-open-24.png,
+ soft/drakx-net/trunk/data/pixmaps/encryption-strong-24.png,
+ soft/drakx-net/trunk/data/pixmaps/encryption-weak-24.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-128.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-16.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-24.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-32.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-48.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-52.png,
+ soft/drakx-net/trunk/data/pixmaps/ethernet-64.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-128.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-16.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-24.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-32.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-48.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-52.png,
+ soft/drakx-net/trunk/data/pixmaps/isdn-64.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-128.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-16.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-24.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-32.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-48.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-52.png,
+ soft/drakx-net/trunk/data/pixmaps/potsmodem-64.png,
+ soft/drakx-net/trunk/data/pixmaps/wifi-020.png,
+ soft/drakx-net/trunk/data/pixmaps/wifi-040.png,
+ soft/drakx-net/trunk/data/pixmaps/wifi-060.png,
+ soft/drakx-net/trunk/data/pixmaps/wifi-080.png,
+ soft/drakx-net/trunk/data/pixmaps/wifi-100.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-128.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-16.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-24.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-32.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-48.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-52.png,
+ soft/drakx-net/trunk/data/pixmaps/wireless-64.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-128.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-16.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-24.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-32.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-48.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-52.png,
+ soft/drakx-net/trunk/data/pixmaps/xdsl-64.png,
+ perl-install/pixmaps/bluetooth-128.png,
+ perl-install/pixmaps/bluetooth-16.png,
+ perl-install/pixmaps/bluetooth-24.png,
+ perl-install/pixmaps/bluetooth-32.png,
+ perl-install/pixmaps/bluetooth-48.png,
+ perl-install/pixmaps/bluetooth-52.png,
+ perl-install/pixmaps/bluetooth-64.png,
+ perl-install/pixmaps/cablemodem-128.png,
+ perl-install/pixmaps/cablemodem-16.png,
+ perl-install/pixmaps/cablemodem-24.png,
+ perl-install/pixmaps/cablemodem-32.png,
+ perl-install/pixmaps/cablemodem-48.png,
+ perl-install/pixmaps/cablemodem-52.png,
+ perl-install/pixmaps/cablemodem-64.png,
+ perl-install/pixmaps/cellular-128.png,
+ perl-install/pixmaps/cellular-16.png,
+ perl-install/pixmaps/cellular-24.png,
+ perl-install/pixmaps/cellular-32.png,
+ perl-install/pixmaps/cellular-48.png,
+ perl-install/pixmaps/cellular-52.png,
+ perl-install/pixmaps/cellular-64.png,
+ perl-install/pixmaps/connected.png,
+ perl-install/pixmaps/disconnected.png,
+ perl-install/pixmaps/dvb-128.png,
+ perl-install/pixmaps/dvb-16.png,
+ perl-install/pixmaps/dvb-24.png,
+ perl-install/pixmaps/dvb-32.png,
+ perl-install/pixmaps/dvb-48.png,
+ perl-install/pixmaps/dvb-52.png,
+ perl-install/pixmaps/dvb-64.png,
+ perl-install/pixmaps/encryption-open-24.png,
+ perl-install/pixmaps/encryption-strong-24.png,
+ perl-install/pixmaps/encryption-weak-24.png,
+ perl-install/pixmaps/ethernet-128.png,
+ perl-install/pixmaps/ethernet-16.png,
+ perl-install/pixmaps/ethernet-24.png,
+ perl-install/pixmaps/ethernet-32.png,
+ perl-install/pixmaps/ethernet-52.png,
+ perl-install/pixmaps/ethernet-64.png,
+ perl-install/pixmaps/ethernet48.png,
+ perl-install/pixmaps/isdn-128.png,
+ perl-install/pixmaps/isdn-16.png,
+ perl-install/pixmaps/isdn-24.png,
+ perl-install/pixmaps/isdn-32.png,
+ perl-install/pixmaps/isdn-48.png,
+ perl-install/pixmaps/isdn-52.png,
+ perl-install/pixmaps/isdn-64.png,
+ perl-install/pixmaps/potsmodem-128.png,
+ perl-install/pixmaps/potsmodem-16.png,
+ perl-install/pixmaps/potsmodem-24.png,
+ perl-install/pixmaps/potsmodem-32.png,
+ perl-install/pixmaps/potsmodem-48.png,
+ perl-install/pixmaps/potsmodem-52.png,
+ perl-install/pixmaps/potsmodem-64.png,
+ perl-install/pixmaps/wifi-020.png,
+ perl-install/pixmaps/wifi-040.png,
+ perl-install/pixmaps/wifi-060.png,
+ perl-install/pixmaps/wifi-080.png,
+ perl-install/pixmaps/wifi-100.png,
+ perl-install/pixmaps/wireless-128.png,
+ perl-install/pixmaps/wireless-16.png,
+ perl-install/pixmaps/wireless-24.png,
+ perl-install/pixmaps/wireless-32.png,
+ perl-install/pixmaps/wireless-48.png,
+ perl-install/pixmaps/wireless-52.png,
+ perl-install/pixmaps/wireless-64.png,
+ perl-install/pixmaps/xdsl-128.png,
+ perl-install/pixmaps/xdsl-16.png,
+ perl-install/pixmaps/xdsl-24.png,
+ perl-install/pixmaps/xdsl-32.png,
+ perl-install/pixmaps/xdsl-48.png,
+ perl-install/pixmaps/xdsl-52.png,
+ perl-install/pixmaps/xdsl-64.png,
+ perl-install/standalone/icons/drakconnect.png,
+ perl-install/standalone/icons/drakfirewall.png,
+ perl-install/standalone/icons/drakgw.png,
+ perl-install/standalone/icons/draknetprofile-16.png,
+ perl-install/standalone/icons/draknetprofile-24.png,
+ perl-install/standalone/icons/draknetprofile-32.png,
+ perl-install/standalone/icons/draknetprofile-52.png,
+ perl-install/standalone/icons/draknetprofile-64.png,
+ perl-install/standalone/icons/draknetprofile.png,
+ perl-install/standalone/icons/draknetprofile_128.png,
+ perl-install/standalone/icons/drakvpn-16.png,
+ perl-install/standalone/icons/drakvpn-24.png,
+ perl-install/standalone/icons/drakvpn-32.png,
+ perl-install/standalone/icons/drakvpn-52.png,
+ perl-install/standalone/icons/drakvpn-64.png,
+ perl-install/standalone/icons/drakvpn.png,
+ perl-install/standalone/icons/drakvpn_128.png,
+ perl-install/standalone/icons/invictus-16.png,
+ perl-install/standalone/icons/invictus-24.png,
+ perl-install/standalone/icons/invictus-32.png,
+ perl-install/standalone/icons/invictus-52.png,
+ perl-install/standalone/icons/invictus-64.png,
+ perl-install/standalone/icons/invictus.png,
+ perl-install/standalone/icons/invictus_128.png: move network
+ pixmaps and icons in drakx-net
+
+2006-11-30 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets::children) simplify it
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake::children)
+ simplify it
+ * perl-install/ugtk2.pm: (toggle) make it alive again (#25271):
+ - rename as common->{toggle_all}
+ - kill support for unified groups & packages tree
+ - adatp to new common->{toggle_nodes} API
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake::children)
+ packages are listed in "detail_list", not in "tree"
+
+2006-11-30 09:54 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/standalone/po/pl.po: update
+
+2006-11-30 09:53 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: update
+
+2006-11-30 08:32 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-30 07:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't die on empty
+ hdlist/synthesis
+
+2006-11-30 07:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't die on empty
+ hdlist/synthesis
+
+2006-11-29 21:37 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/lib/network/nfs.pm,
+ soft/drakx-net/trunk/lib/network/smb.pm,
+ soft/drakx-net/trunk/lib/network/smbnfs.pm,
+ perl-install/authentication.pm,
+ perl-install/diskdrake/smbnfs_gtk.pm, perl-install/fs.pm,
+ perl-install/fs/remote, perl-install/fs/remote.pm,
+ perl-install/fs/remote/nfs.pm, perl-install/fs/remote/smb.pm,
+ perl-install/standalone.pm, perl-install/standalone/lsnetdrake:
+ rename network::smbnfs as fs::remote, move network::smb and
+ network::nfs under fs::remote
+
+2006-11-29 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/fr.po: update
+
+2006-11-29 19:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/po/Makefile,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: update strings from code
+ (lot of changes due to split-out of printerdrake & network tools)
+
+2006-11-29 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtktreeview_children) NULL iters are
+ accepted by C backend
+
+2006-11-29 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: merge in a rejected bit from renaming
+ commit r88473
+
+2006-11-29 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Button) fix previous commit
+
+2006-11-29 12:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Paned) enable to pass 0 for
+ resizeX & shrinkX
+
+2006-11-29 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) rename
+ variables accordingly
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) package list
+ really is a
+ list, not a tree, so do not bother setting a parent in the later
+
+2006-11-28 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Button ) rename $image as
+ $widget since it's generic
+
+2006-11-28 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Button) enable to got a
+ {child} field (generalizing {image} which should be just
+ deprecated)
+
+2006-11-28 15:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/Makefile.drakxtools:
+ don't package network stuff
+
+2006-11-28 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * soft/drakx-net/trunk/lib, soft/drakx-net/trunk/lib/network,
+ soft/drakx-net/trunk/tools,
+ soft/drakx-net/trunk/tools/drakconnect,
+ soft/drakx-net/trunk/tools/drakfirewall,
+ soft/drakx-net/trunk/tools/drakgw,
+ soft/drakx-net/trunk/tools/drakids,
+ soft/drakx-net/trunk/tools/drakinvictus,
+ soft/drakx-net/trunk/tools/draknetprofile,
+ soft/drakx-net/trunk/tools/drakproxy,
+ soft/drakx-net/trunk/tools/drakroam,
+ soft/drakx-net/trunk/tools/drakvpn,
+ soft/drakx-net/trunk/tools/drakvpn-old,
+ soft/drakx-net/trunk/tools/net_applet,
+ soft/drakx-net/trunk/tools/net_monitor, perl-install/network,
+ perl-install/standalone/drakconnect,
+ perl-install/standalone/drakfirewall,
+ perl-install/standalone/drakgw, perl-install/standalone/drakids,
+ perl-install/standalone/drakinvictus,
+ perl-install/standalone/draknetprofile,
+ perl-install/standalone/drakproxy,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/drakvpn,
+ perl-install/standalone/drakvpn-old,
+ perl-install/standalone/net_applet,
+ perl-install/standalone/net_monitor: move network stuff in
+ drakx-net
+
+2006-11-28 14:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: kill printerdrake strings
+
+2006-11-28 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.config:
+ printerdrake was split out
+
+2006-11-28 13:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues,
+ soft/printerdrake/trunk/autosetupprintqueues: move
+ autosetupprintqueues here
+
+2006-11-28 13:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/listsupportedprinters,
+ soft/printerdrake/trunk/listsupportedprinters: move
+ listsupportedprinters into printerdrake
+
+2006-11-28 13:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer, soft/printerdrake/trunk/printer: split out
+ printerdrake modules
+
+2006-11-28 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake,
+ soft/printerdrake/trunk/printerdrake: split out printerdrake
+ binary
+
+2006-11-28 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm,
+ perl-install/standalone/draksec: HIG-ize
+ * perl-install/diskdrake/smbnfs_gtk.pm,
+ perl-install/standalone/drakboot,
+ perl-install/standalone/drakclock,
+ perl-install/standalone/drakfloppy,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/drakperm,
+ perl-install/standalone/draksec,
+ perl-install/standalone/draksplash,
+ perl-install/standalone/draksplash2,
+ perl-install/standalone/mousedrake,
+ perl-install/standalone/net_applet,
+ perl-install/standalone/net_monitor: basic port from ugtk2 upon
+ mygtk2
+
+2006-11-28 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: revert bogus blino commit
+
+2006-11-28 10:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/pixmaps/langs/lang-en_AU.png,
+ perl-install/install/pixmaps/langs/lang-en_CA.png,
+ perl-install/install/pixmaps/langs/lang-en_NZ.png: pixmaps for
+ "English (Australia)", etc.
+
+2006-11-28 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: %post should do their stuff
+ correctly. stop calling gdk-pixbuf-query-loaders,
+ gtk-query-immodules-2.0 and pango-querymodules-* for now (we'll
+ see if it
+ still breaks, per fcrozat request)
+
+2006-11-28 07:34 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-28 07:32 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-28 07:32 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-28 00:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: create only one do_pkgs
+ instance
+
+2006-11-27 23:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: don't ensure twice aoss is
+ installed
+
+2006-11-28 00:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: create only one do_pkgs
+ instance
+
+2006-11-27 23:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: don't ensure twice aoss is
+ installed
+
+2006-11-27 20:08 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-27 14:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/tg.po: updated Tajik file
+
+2006-11-27 14:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/tg.po: updated Tajik file
+
+2006-11-27 09:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: require Gtk2::NotificationBubble only
+ when using Gtk2::NotificationBubble::Queue
+
+2006-11-24 21:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: simplify
+
+2006-11-24 21:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove unused variable
+
+2006-11-24 21:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: pass missing parameter
+
+2006-11-24 21:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: generate one wireless
+ menuitem per wireless network and menu
+
+2006-11-24 21:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: prepare multiple menuitems
+ support
+
+2006-11-24 21:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use only one loop to update
+ wireless networks
+
+2006-11-24 21:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove redundant arg
+
+2006-11-24 21:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo
+
+2006-11-24 21:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: make menuitem functions work
+ on menuitems directly
+
+2006-11-24 21:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: group menuitem widgets
+
+2006-11-24 21:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: reorganize menuitem update
+ code
+
+2006-11-24 20:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't hardcode wireless
+ network name generation
+
+2006-11-24 14:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: move shorewall root in a
+ variable
+
+2006-11-24 14:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: really disable services
+ (#27295)
+
+2006-11-24 11:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm, perl-install/lang.pm: changed 'en_GB'
+ to 'en_AU' as the default locale for "English"
+ in Oceania; and set default keyboard for 'en_AU' to 'us'
+ added also choices for en_CA and en_NZ (so the right myspell
+ dictionnaries can be installed) (see bug #14893)
+
+2006-11-23 18:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show simplified menu on left
+ click (instead of running net_monitor)
+
+2006-11-23 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: interface variable is now
+ unused in applet update functions
+
+2006-11-23 17:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move choices menuitem
+ creation in create_menu_choices()
+
+2006-11-23 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move menu destroy/creation
+ in empty_menu()
+
+2006-11-23 17:25 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-11-23 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move action item creation in
+ create_action_item()
+
+2006-11-23 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix typo
+
+2006-11-23 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move action item creation in
+ create_action_item()
+
+2006-11-23 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix typo
+
+2006-11-23 15:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm,
+ perl-install/network/monitor.pm: compute wireless network name
+ in network::monitor so that net_applet can use it
+
+2006-11-23 15:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move tray icon code out of
+ menu code
+
+2006-11-23 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use interface name in menu
+
+2006-11-23 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move code in update_applet()
+ and generate_menu()
+
+2006-11-23 12:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet, perl-install/ugtk2.pm: move
+ Gtk2::NotificationBubble::Queue in ugtk2
+
+2006-11-22 18:49 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec,
+ live/draklive-install/mandriva-draklive-install.desktop: add
+ menu entry
+
+2006-11-22 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: choice for ISO9995-3 keyboard (US
+ keyboard with 3 levels per key; bug #19330)
+
+2006-11-22 10:56 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/probing.c, mdk-stage1/probing.h, mdk-stage1/stage1.c,
+ mdk-stage1/thirdparty.c, mdk-stage1/thirdparty.h: Fix
+ detected_devices[] table overflow for good, i.e. dynamically
+ reallocate
+ the table when necessary. Tulsa systems can have many ids
+ reported...
+ (frontport r86076 from 2006 branch)
+
+2006-11-20 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile,
+ perl-install/install/share/generate-xlocales,
+ perl-install/install/share/list.xml,
+ perl-install/install/share/locales-skeleton.tar.bz2: drop
+ locales-skeleton.tar.bz2, X11 locales stuff are now auto
+ generated/updated
+ by install/share/generate-xlocales (pablo & me)
+
+2006-11-20 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: revert reexporting backtrace() which is
+ already exported by
+ MDK::Common (this is a perl_checker bug)
+
+2006-11-17 20:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakfont: now Fontmap.GS is in
+ ghostscript-common
+
+2006-11-17 19:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: export backtrace for standalone.pm
+
+2006-11-17 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: one less perl_checker warning
+
+2006-11-17 19:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: perl_checko cleanup
+
+2006-11-17 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (find_backup_to_restore)
+ further simplify
+
+2006-11-17 14:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (find_backup_to_restore)
+ simplify
+
+2006-11-17 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) perl_checker
+ cleanup
+
+2006-11-17 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) simplify by
+ using chomp_() from MDK::Common
+
+2006-11-17 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) simplify
+
+2006-11-17 14:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) give english
+ names to variables
+
+2006-11-17 14:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) inline useless
+ variable
+
+2006-11-17 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) simplify
+ date/time parsing
+
+2006-11-17 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (file_to_put) do not mix
+ different stuff in the same variable
+
+2006-11-17 12:43 stewb
+
+ * perl-install/standalone/drakbackup: Fix archiver
+ detection/config file replace for real (#26705, #27180)
+
+2006-11-17 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: remove annoying message
+
+2006-11-16 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: use slighty bigger font for arab and a
+ bigger font for thai
+
+2006-11-16 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: switch default font size from 10 to 14pt
+
+2006-11-16 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/list.xml: use DajaVu instead of Vera
+ font for bold and bold italic
+
+2006-11-16 16:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/list.xml: alphabetic order
+ * perl-install/install/share/fonts.tar.bz2,
+ perl-install/install/share/list.xml: install more fonts from the
+ system instead of copying then into SVN
+
+2006-11-16 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix translation (pablo)
+
+2006-11-16 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (autologin_choice) better
+ layout: use left aligned labels
+
+2006-11-15 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile:
+ (buildrpm,buildsrpm,localrpm,localsrpm,rpm,srpm) kill rules
+ obsoleted
+ by spec move (now one has to use "make localdist" in order to
+ create a
+ tarball for repsys)
+
+2006-11-15 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile, perl-install/drakxtools.spec: kill the
+ spec file (which is now in repsys) and move the revision number
+ into Makefile
+
+2006-11-15 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (dist) kill this rule which cannot work
+ anymore now that spec file
+ isn't availlable anymore; (rpm) is now an alias for (localrpm)
+
+2006-11-15 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (slowsrpm) kill this rule which is
+ basically useless
+ * perl-install/Makefile: (cvstag,export) kill rules relying on the
+ presence of spec file
+ (what's more cvstag is now useless because of repsys)
+
+2006-11-15 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (spec_test) kill this rule since we've
+ moved the spec file into repsys
+
+2006-11-15 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (up) kill this rule which should never
+ have been commited in
+
+2006-11-15 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: removing kbear which has
+ been moved to contrib because is buggy and
+ un-maintained (see also bug #27178)
+
+2006-11-14 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/it.po: update (Andrea Celli)
+
+2006-11-13 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (translate_real) fix typo in comment
+
+2006-11-13 11:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: fix typo in comment
+
+2006-11-10 17:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't hardcode wm args and
+ decorator, this will be handled in the wm packages
+
+2006-11-10 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/help/help.pm,
+ perl-install/install/install2.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: drop printer
+ configuration during install
+
+2006-11-09 23:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm: perl_checker
+
+2006-11-09 23:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm: select all X proprietary drivers
+ for live systems
+
+2006-11-09 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: drop hdlist.cz2 support
+
+2006-11-09 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: move driver to package hash
+ in driver_to_pkg()
+
+2006-11-09 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm, perl-install/do_pkgs.pm,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/thirdparty.pm: do not pass '-kernel'
+ package suffix to do_pkgs::check_kernel_module_packages()
+
+2006-11-09 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.drakxtools, perl-install/drakxtools.spec:
+ use an init level for the xsetup.d script
+
+2006-11-09 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove the restriction on
+ installing from same media, otherwise it breaks many
+ %post when installing coreutils after all main/release packages.
+
+ for supplementary CDs, the code is handling things quite
+ correctly: the
+ umounting of CD1 fail inside the transaction, but it retries a
+ transaction
+ with all the packages that failed. Of course, this implies that
+ if the
+ supplementary CD pkgs do not include their dependencies, the
+ user must be a
+ disc-jockey (but remember supplementary made by warly include
+ their
+ dependencies otherwise it was breaking, so...)
+
+2006-11-09 09:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm: add
+ name to the supplementary prompted
+
+2006-11-09 08:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm: fix
+ handling cdrom with a new medium:
+ - the phys_medium must be different from currently mounted CD
+ - it must not ask from a new cd when probing media.cfg or
+ hdlist.cz
+
+2006-11-08 20:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: assume the context is Xgl only if
+ the server GLX vendor is "SGI" (may fix misdetection of new
+ nvidia drivers with native GL compositing support)
+
+2006-11-08 20:12 Olivier Blin <oblin at mandriva.com>
+
+ * test/glx/check.pl, test/glx/glxinfo.nvidia_native-mesa-Xorg.txt,
+ test/glx/glxinfo.nvidia_native-nvidia_native-Xorg.txt: add
+ checks for nvidia drivers with native texture_from_pixmap support
+
+2006-11-08 20:08 Olivier Blin <oblin at mandriva.com>
+
+ * test, test/glx, test/glx/check.pl, test/glx/diff.pl,
+ test/glx/glx_test.sh, test/glx/glxinfo.fglrx-fglrx-Xgl.txt,
+ test/glx/glxinfo.fglrx-fglrx-Xorg.txt,
+ test/glx/glxinfo.fglrx-mesa-Xgl.txt,
+ test/glx/glxinfo.fglrx-mesa-Xorg.txt,
+ test/glx/glxinfo.i810-mesa-Xgl.txt,
+ test/glx/glxinfo.i810-mesa-Xorg.txt,
+ test/glx/glxinfo.nv-mesa-Xorg.txt,
+ test/glx/glxinfo.nvidia-mesa-Xgl.txt,
+ test/glx/glxinfo.nvidia-mesa-Xorg.txt,
+ test/glx/glxinfo.nvidia-nvidia-Xgl.txt,
+ test/glx/glxinfo.nvidia-nvidia-Xorg.txt,
+ test/glx/glxinfo.nvidia_legacy-mesa-Xgl.txt,
+ test/glx/glxinfo.nvidia_legacy-mesa-Xorg.txt,
+ test/glx/glxinfo.nvidia_legacy-nvidia_legacy-Xgl.txt,
+ test/glx/glxinfo.nvidia_legacy-nvidia_legacy-Xorg.txt,
+ test/glx/glxinfo.r300-mesa-Xorg.txt: initial import of glx test
+ scripts
+
+2006-11-08 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: remove xmoto
+
+2006-11-08 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/local.cfg: fix typo
+
+2006-11-08 00:40 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/local.cfg: get rid of 2007.0 values
+
+2006-11-08 00:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/config/local.cfg,
+ live/One/config/local_cfg: rename local_cfg as local.cfg
+
+2006-11-08 00:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: revert to initial --boot option behavior
+ and use --boot-image to create boot images
+
+2006-11-08 00:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: allow to provide stage2 updates
+ * soft/drakx/branches/2007.0/tools/drakx-in-chroot,
+ tools/drakx-in-chroot: allow to provide stage2 updates (useful
+ when the installer is broken before patch can be used)
+
+2006-11-07 23:47 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: compute an approximative size for USB
+ master images
+
+2006-11-07 23:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: give a change for flash &
+ the like to work with konqueror too
+
+2006-11-07 19:25 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: simplify
+
+2006-11-07 19:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: pass -F option to mke2fs only for
+ non-block devices
+
+2006-11-07 19:16 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't reserv blocks on ext2/3
+ filesystems, we don't create root fs
+
+2006-11-07 19:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't pass float to mkfs.vfat
+
+2006-11-07 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix parse_hdlists not returning
+ main_options compatible with distribconf
+
+2006-11-07 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: better translation
+
+2006-11-07 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: improve french translation of PIN
+ number
+
+2006-11-07 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: adapt to urpm.pm and URPM/Resolve.pm
+ being not being fake packages anymore
+
+2006-11-07 11:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/monitor.pm:
+ restore old behaviour of X auto configuration: instead of
+ never-prompting-user, prompt when we can't configure
+ automatically
+ (especially useful during install)
+
+2006-11-07 10:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: remove /etc/dbus-1/machine-id
+
+2006-11-07 08:31 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: adapt to new draklive syntax
+
+2006-11-07 08:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: remove theme workarounds, themes are
+ now installed from auto_inst
+
+2006-11-06 22:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: really run bootloader action with --all
+
+2006-11-06 22:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: fix typo
+
+2006-11-06 21:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: correctly handle
+ installation/preparation failure
+
+2006-11-06 21:19 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: display help file if not bootlogo is
+ available
+
+2006-11-06 21:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add missing newlines in syslinux/grub
+ configuration files
+
+2006-11-06 21:02 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add --boot option
+
+2006-11-06 20:40 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: update boot-only doc
+
+2006-11-06 20:38 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: build bootloader files for boot methods
+ listed in media->{extra_boot}
+
+2006-11-06 20:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: remove incomplete extra_boot code
+
+2006-11-06 20:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't use opts->{boot_only} to create
+ boot media, the medium has now to be specified in opts->{boot}
+ instead of config media->{boot}
+
+2006-11-06 20:04 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: rename --boot action as --bootloader
+
+2006-11-06 19:19 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: gfxboot support (#26430)
+
+2006-11-06 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: update madwifi URL
+
+2006-11-06 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/finish-install.usb: add authentication and users
+ step in USB live
+
+2006-11-06 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: use media specific finish-install file
+
+2006-11-06 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, live/One/config/live.cfg,
+ live/One/config/local_cfg, live/One/files/finish-install,
+ live/One/files/finish-install.cdrom,
+ live/One/files/finish-install.usb: move theme selection in
+ auto_install
+
+2006-11-06 17:05 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: don't install nvidia_legacy packages
+ in non-CDCOM live
+
+2006-11-06 16:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/fonts.tar.bz2, perl-install/lang.pm:
+ - better fonts at install time (replaced Nimbus Sans L, Roya and
+ bitmap mdk10
+ with TTF fonts DejaVu Sans
+ (latin,cyrillic,greek,hebrew,arabic,armenian)
+ and Norasi (thai))
+ - fixed/improved default fonts for KDE config (DejaVu
+ Sans/FreeMono being
+ the new default combination; using the new japanese font;
+ better (smaller)
+ font sizes for various scripts)
+
+2006-11-06 16:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: reorder packages
+
+2006-11-06 16:27 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: remove duplicate entry
+
+2006-11-06 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: add some padding (using "empty"
+ entry) before titles and expanders (except the first one)
+
+2006-11-06 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: use "fill" instead of "expand"
+ for expander (this fixes for example the display of the
+ languages choice at beginning of install)
+
+2006-11-06 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: allow specifying "fill" and "expand"
+ instead of 0 or 1.
+ "expand" implies fill=1,expand=1 whereas "fill" implies
+ fill=1,expand=0
+
+2006-11-06 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: register value_changed on
+ SpinButton adjustment *before* creating of the
+ SpinButton, otherwise, the callback is called at creating of the
+ SpinButton
+ and causes havoc
+
+2006-11-06 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: do rooted_get_stdout
+ manually because pkcs11-tool may exit with non-zero code with
+ proprietary modules
+
+2006-11-06 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: openLog() is needed by partimage_whole_disk
+
+2006-11-06 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: openLog() is needed by partimage_whole_disk
+
+2006-11-06 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: we can only have one main
+ Curses::UI object (the bug occurs in harddrake2 creating
+ interactive objects via do_pkgs_standalone->new)
+
+2006-11-06 11:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: list objects from present
+ tokens only
+
+2006-11-06 11:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: use etoken pcks11 module if
+ present
+ * perl-install/network/vpn/openvpn.pm: pass pkcs11 module to
+ pkcs11-tool
+
+2006-11-06 11:13 stewb
+
+ * perl-install/standalone/drakbackup: Fix archiver issue #26705
+
+2006-11-06 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fonts-ttf-dejavu is already
+ in task-x11
+
+2006-11-06 06:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: we don't need slang/newt/curses devel packages
+ anymore since we now use a new (packaged) binding
+
+2006-11-06 01:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: - install fonts-ttf-dejavu
+ by default (it has the best latin/cyrillic/arabic
+ coverage; making it suitable for all languages in those
+ scripts)
+ - changed dz_BT -> dz (no need to specify the country code)
+ - xorg-x11-cyrillic-fonts is only suitable for Russian
+ (LOCALES"ru")
+ - another ethiopic script font package (x11-font-misc-ethiopic)
+ - fonts-ttf-arabic-farsi is not suitable for Urdu (LOCALES"ur")
+ - Berber language (LOCALES"ber") installs fonts-ttf-tifinagh
+ - Punjabi (LOCALES"pa") installs fonts-ttf-gurmukhi
+
+2006-11-05 18:39 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-11-05 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: fix typo (pterjan)
+
+2006-11-05 02:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: fix grub installation
+
+2006-11-05 02:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: die if mksquashfs fails
+
+2006-11-05 02:23 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't install bootloader on non-block
+ device
+
+2006-11-05 02:16 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: don't require tmdns (thanks
+ misc)
+
+2006-11-04 16:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: sensitivity fix
+
+2006-11-04 16:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: simplify as suggested by
+ perl_checker
+
+2006-11-04 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: use beryl-settings as beryl
+ configuration tool
+
+2006-11-04 15:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: run compiz with "gconf" as arguments
+ * perl-install/Xconfig/glx.pm: always overwrite decorator
+
+2006-11-04 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ find decorator when writing config, not in gtk2 GUI
+
+2006-11-04 15:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: remove debug code /o\
+
+2006-11-04 15:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ don't install task-3ddesktop but only required packages
+
+2006-11-04 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: beryl support
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ allow to select OpenGL compositing window manager
+
+2006-11-04 15:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't hardcode default wm
+ * perl-install/Xconfig/glx.pm: decorator configuration fixes
+
+2006-11-04 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: sensitivity fixes
+
+2006-11-04 14:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: rename server-specific GL
+ compositing variables
+
+2006-11-04 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: simplify text
+
+2006-11-04 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ move gl_compositing_servers list in Xconfig::glx
+
+2006-11-04 13:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d: use
+ more generic "native" word instead of AIGLX, and reorganize
+ drak3d accordingly
+
+2006-11-04 13:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use more generic variable names
+
+2006-11-03 16:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: perl_checker fixes
+
+2006-11-03 16:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: pam_mount support
+ * perl-install/authentication.pm: add pam_mount support
+
+2006-11-03 15:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: hide password when calling "net
+ join" or "net ads join" (#26643)
+
+2006-11-03 10:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo (bootloader-config was
+ dropping append= from lilo.conf, #26947)
+
+2006-11-02 20:26 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: use tmpfs for /var/lock /var/log
+ /var/run /var/tmp /tmp on USB media
+
+2006-11-02 20:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: rename live->{post} as
+ live->{system}{initrd_post}
+
+2006-11-02 20:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: handle GigaBytes
+
+2006-11-02 20:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/draklive/draklive: make the
+ system.loop size configurable and use 300M
+
+2006-11-02 19:50 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: remove the no 3D desktop boot entry
+ * live/One/config/live.cfg: use a 1G vfat image for USB masters
+
+2006-11-02 19:39 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: run fsck on rw loopback files before
+ mounting them
+
+2006-11-02 19:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: define directory mounts in their mount
+ order, and reverse the order when mounting unionfs
+
+2006-11-02 18:54 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: rewrite a little
+
+2006-11-02 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: contrary to lilo & syslinux, grub
+ doesn't pass BOOT_IMAGE=xxx to the kernel.
+ It is useful for suspend-scripts so passing it explictly for
+ grub (#26813)
+
+2006-11-02 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: fix checkboxes (#26853)
+
+2006-11-02 12:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: have the "not enough
+ space" error message in the report.bug.gz
+
+2006-11-02 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: add unit
+
+2006-11-01 22:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: adapt to compositing-wm-common
+ configuration file
+
+2006-10-31 18:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootloader.pm: do not use mbootpack files anymore
+ when switching back to grub
+
+2006-10-31 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: stop VPN connection if running
+ before starting it in drakvpn
+
+2006-10-31 15:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: don't cache pkcs11 tokens
+ when reading config (useful for net_applet)
+
+2006-10-31 15:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: always fail after timeout
+
+2006-10-31 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: don't crash when no token
+ is inserted
+
+2006-10-31 09:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/gl.po: updated Galician file
+
+2006-10-31 09:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/gl.po: updated Galician file
+
+2006-10-31 09:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2006-10-30 20:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: fix typo
+
+2006-10-30 20:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: copy previous home in
+ encrypted home
+
+2006-10-30 19:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: add forgotten chown
+
+2006-10-30 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: initial encrypted home
+ support (from Vincent Guardiola, slightly reworked)
+
+2006-10-30 18:43 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-10-30 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: perl_checker fixes
+
+2006-10-30 13:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: fix stupid typo
+
+2006-10-30 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: use an empty pkcs11_object
+ hash to express that a token is configured but not found
+
+2006-10-30 13:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: load
+ network::connection::cellular_card (#26846)
+
+2006-10-30 13:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: ask for authentication
+ username, password and PIN code (using the openvpn management
+ interface) if required
+
+2006-10-30 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: pkcs11 token support
+
+2006-10-30 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm,
+ perl-install/standalone/net_applet: pass when starting vpn
+ connections
+
+2006-10-30 12:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: add a wait_message when
+ preparing connection
+
+2006-10-30 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn.pm: update start() method prototype
+
+2006-10-30 12:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn.pm: allow to pass arguments to vpn
+ start/stop commands
+
+2006-10-28 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix some french typos for drakvpn
+
+2006-10-27 17:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: fix typo
+ * live/draklive/draklive: remove redundant code in complete_config
+
+2006-10-27 17:02 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: use a better check for live mode
+ detection in copy wizard
+
+2006-10-27 17:00 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: move some checks in check_config()
+
+2006-10-27 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: use 788 as default vga mode in copy mode
+
+2006-10-27 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: rename $media variable
+
+2006-10-27 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't add splash/vga settings on cmdline
+ if no vga mode is defined
+
+2006-10-27 16:11 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: unlink grub device map so that grub
+ rechecks the map
+
+2006-10-27 15:44 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: warn if an error occurs during live copy
+
+2006-10-27 14:46 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: die when grub or rsync fail
+
+2006-10-27 14:44 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add an end step
+
+2006-10-27 13:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: update progress during live USB recording
+
+2006-10-27 13:56 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: allow to update copy progress in copy
+ wizard
+
+2006-10-27 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add directory_usage helper
+
+2006-10-27 12:08 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: automatically select storage type if
+ only one is available
+
+2006-10-27 12:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: allow to select a master image in the
+ copy wizard
+
+2006-10-27 12:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't create a master for onthefly USB
+ recording
+
+2006-10-27 12:02 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add a run_foreach helper
+
+2006-10-26 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change into
+ 10.4.82-1mdv2007.1
+
+2006-10-26 16:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootloader.pm: support Xen with lilo using mbootpack
+
+2006-10-26 16:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootloader.pm: don't add entry if mbootpack is
+ required (i.e. don't fail by configuring lilo for Xen)
+
+2006-10-26 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: properly disable may_go_to_next
+ for radio buttons (otherwise keyboard is no more responsive)
+
+2006-10-26 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: remove debug code
+
+2006-10-26 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/stdio.pm: fix typo
+
+2006-10-26 16:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/media.pm: match /dev regexp 0 or 1 time
+ only (thanks Pixel for the hint)
+
+2006-10-26 16:13 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-10-26 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/commands.pm:
+ handle install-patch on usb keys
+
+2006-10-26 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.82-1mdv2007.1
+
+2006-10-26 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: loadO: handle multiple floppy
+ drives (preparing for handling usb keys)
+
+2006-10-26 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pcmcia_/Makefile: do not generate unused yyunput
+ function in lex_config.c
+
+2006-10-26 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-10-26 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: more explicit loadO
+
+2006-10-26 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/media.pm: workaround to get mountpoint when
+ "file" method is used over NFS mounts (may lead to invalid
+ device)
+
+2006-10-26 15:23 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: - we only have terminfo for terminal
+ "linux", so setting TERM so that curses-install works
+ - also umount IMAGE_LOCATION_ROOTED just in case it was mounted
+ (eg: one used previous drakx-in-chroot)
+
+2006-10-26 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: perl_checker compliance
+
+2006-10-26 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: help perl_checker
+
+2006-10-26 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/interactive/stdio.pm, perl-install/wizards.pm: -
+ new "expander" type entry
+ - replace {callbacks}{complete} with {validate}, with reversed
+ return value
+ - move {ok_disabled} and {advanced} out of {callbacks}
+ ({advanced} callback is currently not working anymore)
+ - deprecating {focus_first}, replaced with per-entry {focus}
+ function
+ - transform advanced stuff into a expander
+ - deprecate advanced stuff
+ - drop support for {canceled} callback
+ - interactive::gtk:
+ - add "expander" type entry
+ - drop advanced stuff
+ - use a global scrolled window, but need better handling (eg:
+ advanced language choice at install)
+ - cleanup the mess around {title}, esp. using {no_indent}.
+ still need cleaner creation (allowing $set would remove the
+ boldness)
+ - put created widgets inside $e instead of using { w => $w, e
+ => $e ... }
+ - remove the $realw_sizegrp, it has no impact
+ - drop $may_go_to_next. i think a better handling is possible
+ (emitting a "focus_next event or something)
+ - interactive::curses:
+ - add "expander" type entry
+ - drop advanced stuff
+
+2006-10-26 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use per-entry {focus_out} callback instead
+ of {advanced} callback
+
+2006-10-26 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add Expander
+
+2006-10-26 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/commands.pm:
+ handle install-patch on usb keys
+
+2006-10-26 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.82-1mdv2007.1
+
+2006-10-26 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: loadO: handle multiple floppy
+ drives (preparing for handling usb keys)
+
+2006-10-26 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pcmcia_/Makefile: do not generate unused yyunput
+ function in lex_config.c
+
+2006-10-26 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-10-26 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: more explicit loadO
+
+2006-10-26 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/media.pm: workaround to get mountpoint when
+ "file" method is used over NFS mounts (may lead to invalid
+ device)
+
+2006-10-26 15:23 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: - we only have terminfo for terminal
+ "linux", so setting TERM so that curses-install works
+ - also umount IMAGE_LOCATION_ROOTED just in case it was mounted
+ (eg: one used previous drakx-in-chroot)
+
+2006-10-26 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: perl_checker compliance
+
+2006-10-26 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: help perl_checker
+
+2006-10-26 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/interactive/stdio.pm, perl-install/wizards.pm: -
+ new "expander" type entry
+ - replace {callbacks}{complete} with {validate}, with reversed
+ return value
+ - move {ok_disabled} and {advanced} out of {callbacks}
+ ({advanced} callback is currently not working anymore)
+ - deprecating {focus_first}, replaced with per-entry {focus}
+ function
+ - transform advanced stuff into a expander
+ - deprecate advanced stuff
+ - drop support for {canceled} callback
+ - interactive::gtk:
+ - add "expander" type entry
+ - drop advanced stuff
+ - use a global scrolled window, but need better handling (eg:
+ advanced language choice at install)
+ - cleanup the mess around {title}, esp. using {no_indent}.
+ still need cleaner creation (allowing $set would remove the
+ boldness)
+ - put created widgets inside $e instead of using { w => $w, e
+ => $e ... }
+ - remove the $realw_sizegrp, it has no impact
+ - drop $may_go_to_next. i think a better handling is possible
+ (emitting a "focus_next event or something)
+ - interactive::curses:
+ - add "expander" type entry
+ - drop advanced stuff
+
+2006-10-26 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use per-entry {focus_out} callback instead
+ of {advanced} callback
+
+2006-10-26 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add Expander
+
+2006-10-26 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2006-10-25 20:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po, perl-install/standalone/po/ga.po:
+ update
+
+2006-10-25 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: use string equality instead of
+ number equality
+
+2006-10-25 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: RS::Handy is required in
+ String::ShellQuote, but inside a if (0)
+
+2006-10-25 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: - remove unneeded code
+ - adjust checkbox (pb occuring in "Old compatibility (non UTF-8)
+ encoding" advanced dialog)
+
+2006-10-25 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require perl-String-ShellQuote
+ (side effect of #26383 fix)
+
+2006-10-24 20:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (wrap_command_for_root) kdesu needs a
+ quoted string (aka fix running
+ rpmdrake embedded in mcc directly from menu entry) (#26383)
+
+2006-10-24 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: fix typo in previous commit
+
+2006-10-24 15:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: installPackages: use
+ wait_message_with_progress_bar
+
+2006-10-24 15:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/eu.po: updated Basque file
+
+2006-10-24 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm: add optional title for
+ wait_message_with_progress_bar
+
+2006-10-24 15:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/eu.po: updated Basque file
+
+2006-10-24 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/interactive/http.pm,
+ perl-install/interactive/stdio.pm: - don't pass array of strings
+ to wait_message, and various clarification
+ - move wait_message_with_progress_bar gtk code in
+ interactive::gtk
+ - interactive::curses: use stackable function
+ - interactive::curses: add wait_message_with_progress_bar
+
+2006-10-24 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: group_by: handle empty list
+
+2006-10-24 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: cleanup previous window
+
+2006-10-24 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: add some ->intellidraw to
+ ensure setting {val} really modifies the UI
+
+2006-10-24 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - get rid of {get} functions,
+ $get_all and {saved_default_val}
+ - ensure changed callbacks are only called when the user
+ modified something,
+ never when {val} is modified in the program
+
+2006-10-24 11:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: create_list doesn't work
+ anymore. dropping
+
+2006-10-24 11:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: don't display OSS when there's
+ no driver
+
+2006-10-24 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: kill non working and useless
+ tooltip (its contents is already
+ displayed in the pull down menu anyway)
+
+2006-10-23 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: one needs to install perl-Curses{,-UI} &
+ perl-Term-ReadKey too
+
+2006-10-23 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: perl_checker compliance
+
+2006-10-23 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/curses.pm: - handle many checkboxes in
+ a scrollbar (using a multi selection Listbox)
+ - cleanup
+
+2006-10-23 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/diskdrake/interactive.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/interactive.pm, perl-install/interactive/curses.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/printer/printerdrake.pm, perl-install/wizards.pm:
+ move {changed} callback from global to per-entry (it allows much
+ nicer code)
+
+2006-10-23 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (list) simplify
+
+2006-10-23 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/Makefile.drakxtools,
+ perl-install/Newt, perl-install/common.pm,
+ perl-install/drakxtools.spec, perl-install/install/install2.pm,
+ perl-install/install/share/list.xml,
+ perl-install/install/steps_curses.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/install/steps_newt.pm, perl-install/interactive.pm,
+ perl-install/interactive/curses.pm,
+ perl-install/interactive/newt.pm: replace newt backend with
+ Curses::UI
+
+2006-10-23 11:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (list) prevent memoization to always
+ return update or distro mirrors
+ depending on first query
+
+2006-10-23 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/interactive.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/netconnect.pm, perl-install/wizards.pm:
+ callack {focus_out} is no more global, it is per entry
+
+2006-10-20 09:41 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add rt61 in the wireless drivers list
+
+2006-10-19 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: there is no known
+ package for acx100
+ * perl-install/network/connection/wireless.pm: no_package now
+ implies no_club
+
+2006-10-19 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: improve warning messages for
+ missing thirdparty components
+
+2006-10-19 17:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: do not check for
+ ipw3945 kernel module packages
+
+2006-10-19 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: do not wrongly tell
+ that acx100-firmware can be found in Club or commercial editions
+ (#26475)
+
+2006-09-20 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) update comment
+
+2006-09-20 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.80-1mdv2007.0
+
+2006-09-20 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug,
+ perl-install/standalone/draksound,
+ perl-install/standalone/draksplash: use new icons for windows
+
+2006-09-20 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log another bit into
+ 10.4.79-1mdv2007.0's changelog
+
+2006-09-20 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code: move "Date,
+ Clock & Time Zone Settings" from standalone/po into share/po
+
+2006-09-20 13:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) make lists w/o
+ front labels not having a big left margin
+ b/c of labels in size groups
+
+2006-09-20 13:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: escape titles
+
+2006-09-20 13:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: don't use a title for the time question
+ (#25894)
+
+2006-09-20 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/network/connection/ethernet.pm: improve firewire
+ interfaces detection (#25568)
+
+2006-09-20 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/cpufreq.pm: detect the fid flag in cpuinfo "flags"
+ as well (not only in "power management", #25723)
+
+2006-09-20 12:35 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Add nspluginwrapper as a
+ default package. 32-bit x86 ISOs config will have
+ an explicit exclude on this one (there doesn't seem to exist
+ arch specific
+ tags for rpmsrate)
+
+2006-09-20 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.79-1mdv2007.0
+ * perl-install/interactive/gtk.pm: (ask_fromW) do not put in any
+ size group simple labels thus fixing overscreen layout (#25894)
+
+2006-09-20 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: on upgrade, install pkg task-kde if
+ kdebase-progs was installed (#25998)
+
+2006-09-20 11:58 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add product=One
+
+2006-09-20 10:03 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: some languages tweaking for gnome
+
+2006-09-20 09:58 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: add new gnome CDs for extra apps,
+ update theme
+
+2006-09-20 09:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: check if IP address
+ is used only in interfaces started on boot
+
+2006-09-19 21:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log more changes in
+ 10.4.78-1mdv2007.0
+ * perl-install/any.pm: (get_autologin, set_autologin) adapt to new
+ gdm layout
+
+2006-09-19 20:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) blacklist Chicony
+ (#25558)
+
+2006-09-19 19:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.78-1mdv2007.0
+
+2006-09-19 19:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) do not put in any
+ size group lists w/o a front label, thus fixing overscreen
+ layout (#25894)
+
+2006-09-19 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (configure_timezone) fix overscreen layout
+ (#25894)
+
+2006-09-19 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.77-1mdv2007.0
+
+2006-09-19 18:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: drak3d translations
+
+2006-09-19 18:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pixmaps/state_installed.png,
+ perl-install/pixmaps/state_to_install.png,
+ perl-install/pixmaps/state_to_remove.png,
+ perl-install/pixmaps/state_to_update.png,
+ perl-install/pixmaps/state_uninstalled.png: updated icons for
+ rpmdrake
+
+2006-09-19 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: really do not try to run
+ dmidecode if not root (#24478)
+
+2006-09-19 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: check on effective uid
+
+2006-09-19 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't try to detect glx
+ capabilities with vmware driver
+
+2006-09-19 14:17 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: remove banshee,
+ gnome-volume-manager is not needed under kde anymore
+
+2006-09-19 14:03 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-19 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/mirror.pm: better logging in case of failures
+
+2006-09-19 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ppp.pm: write ppp files in
+ prefixed root (#24605)
+
+2006-09-19 12:38 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-19 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: set flag update in
+ urpmi.cfg for update media
+
+2006-09-19 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: remove debug code
+
+2006-09-19 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/mirror.pm: better logging in case of failures
+
+2006-09-19 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ppp.pm: write ppp files in
+ prefixed root (#24605)
+
+2006-09-19 12:38 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-19 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: set flag update in
+ urpmi.cfg for update media
+
+2006-09-19 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: remove debug code
+
+2006-09-19 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.76-1mdv2007.0
+
+2006-09-19 11:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2006-09-19 11:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/it.po: updated po file
+
+2006-09-19 11:04 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: merge rpmsrate
+
+2006-09-19 11:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/it.po: updated Italian file
+
+2006-09-19 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: set flag update in
+ urpmi.cfg for update media
+
+2006-09-19 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: remove debug code
+
+2006-09-19 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.76-1mdv2007.0
+
+2006-09-19 11:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2006-09-19 11:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/it.po: updated po file
+
+2006-09-19 11:04 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: merge rpmsrate
+
+2006-09-19 11:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/it.po: updated Italian file
+
+2006-09-19 09:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (simple_read_rpmsrate) only
+ install package of priority 5 (#21945)
+ * perl-install/install/share/rpmsrate: eva is not popular in
+ Taiwan (Funda Wang)
+
+2006-09-19 09:25 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add gedit which is a 4 in the
+ rpmsrate to have an editor on gnome CD
+ * live/One/config/live.cfg: new theme
+
+2006-09-19 09:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: show 3D desktop step
+ only if supported
+
+2006-09-19 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-10mdv2007.0
+
+2006-09-19 08:55 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: enable crond service
+ after install
+
+2006-09-19 08:54 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: don't run crond in live
+
+2006-09-19 08:50 berthy
+
+ * perl-install/share/po/fr.po: Update fr translation
+
+2006-09-18 23:06 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: add more default 2007
+ marketted apps
+
+2006-09-18 22:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake,
+ perl-install/standalone/service_harddrake.sh: revert r62278, it
+ should better be done once 2007.0 is out
+
+2006-09-18 22:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake,
+ perl-install/standalone/service_harddrake.sh: remove stop mode
+ in harddrake and stop blacklisting snd-usb-audio for next reboot
+ (part of a larger fix for #12731)
+
+2006-09-18 20:46 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-18 20:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/patches/Cards+.legacy.patch:
+ remove useless hack that used nvidia legacy on GeForce 3/4 cards
+
+2006-09-18 20:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: do not detect SAITEK devices as
+ UPSes (#21617)
+
+2006-09-18 19:31 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/compssUsers.pl: should not have CAT_
+ in compssUsers.pl
+
+2006-09-18 19:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo
+
+2006-09-18 18:48 nbauer
+
+ * perl-install/install/share/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-09-18 18:44 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: added inkscape, gwenview
+ and f-spot
+
+2006-09-18 18:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: simplify 10.4.75-1mdv2007.0's
+ changelog
+
+2006-09-18 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't apply patches if they look already
+ applied
+
+2006-09-18 18:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.75-1mdv2007.0
+
+2006-09-18 17:46 Warly <warly at mandriva.com>
+
+ * live/draklive/draklive: do not try to install packages if the
+ additional media is only aimed at adding extra sources
+
+2006-09-18 17:43 Warly <warly at mandriva.com>
+
+ * live/draklive/draklive: add a function to umount any nfs volume
+ in /mnt
+
+2006-09-18 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't use sort file if it doesn't exist
+
+2006-09-18 17:35 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: add ueagle-firmware
+
+2006-09-18 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: remove speedtouch_mgmt
+
+2006-09-18 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: supplement description of
+ ueagle-atm devices if needed
+
+2006-09-18 17:02 thomas
+
+ * perl-install/install/share/po/fi.po: updated translation
+
+2006-09-18 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: be more cautious when the nvidia
+ driver is not legacy
+
+2006-09-18 16:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: add module alias from nvidia to
+ nvidia_legacy if a nvidia legacy card is configured and the
+ nvidia_legacy kernel module is available
+
+2006-09-18 16:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) try harder to make it work
+
+2006-09-18 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/pkgs.pm: (read_rpmsrate) typo fix
+
+2006-09-18 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (simple_read_rpmsrate) use
+ pkgs::read_rpmsrate() (#19952)
+
+2006-09-18 16:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: updated po file
+
+2006-09-18 16:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: don't set empty hostname
+ (second try)
+
+2006-09-18 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) make it usable by
+ standalone tools
+
+2006-09-18 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: make net_applet
+ able to guess name of hotplugged USB devices
+ * perl-install/detect_devices.pm: add detect_devices::probeall()
+ to avoid USB/PCI probe cache
+
+2006-09-18 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/pkgs.pm, perl-install/pkgs.pm: move some
+ stuff from install::pkgs in pkgs so that it's availlable to
+ harddrake2
+
+2006-09-18 16:16 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-09-18 15:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - Another attempt to check for
+ presence of the hplip-model-data
+ package without needing to change with every new HPLIP version.
+
+2006-09-18 15:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/thirdparty.pm: factorize some code in
+ modules::module_is_available()
+
+2006-09-18 14:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2006-09-18 14:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po: updated Slovenian file
+
+2006-09-18 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: remove unused entry (was useful
+ when we were modifying existing conf files)
+
+2006-09-18 14:42 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: use CDCEther is now named cdc_ether
+ (i.e. LiveBox USB support)
+
+2006-09-18 14:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - Fix in file list for printing
+ package installation (bug #25824 and
+ perhaps also bug #25835).
+
+2006-09-18 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install
+ x11-font-wqy-bitmapfont for zh_CN only (Funda Wang)
+
+2006-09-18 13:08 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/install/share/po/pl.po: update
+
+2006-09-18 13:07 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: update
+
+2006-09-18 13:05 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * live/draklive-install/po/pl.po: update
+
+2006-09-18 12:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - 64-bit fixes.
+
+2006-09-18 12:41 Warly <warly at mandriva.com>
+
+ * make_boot_img: use Mandriva-Powerpack to generate the install
+ bootsplash
+
+2006-09-18 11:46 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: add x86-compat-ia_ora-kde
+ for 32-bit kde theme
+
+2006-09-18 10:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Let parallel ports
+ without detected printer model also be shown in
+ the auto-detection results for local printers in beginner's
+ mode
+ (users can have old printers or parallel port in
+ mono-directional
+ mode, bug #25799).
+ - Improved sorting of auto-detection results.
+
+2006-09-18 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: revert explicitely
+ installing fonts-ttf-dejavu (it's already required by task-x11)
+
+2006-09-18 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: always install
+ fonts-ttf-dejavu (see: #25802, #25815, #25648)
+
+2006-09-18 09:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: move imwheel to ensure it
+ is copied on disk (#25581)
+
+2006-09-18 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log missing bits in
+ 10.4.74-1mdv2007.0's changelog
+
+2006-09-18 09:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.74-1mdv2007.0
+
+2006-09-18 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/de.po: update (Frank Köster)
+
+2006-09-18 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/sl.po: update (Jure Repinc)
+
+2006-09-18 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/it.po: update (Roberto Rosselli Del
+ Turco)
+
+2006-09-18 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/it.po: update (Giuseppe Briotti)
+
+2006-09-18 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/sl.po: update (Jure Repinc)
+
+2006-09-18 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/sl.po: update (Jure Repinc
+
+2006-09-18 08:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (display_info) scroll textview to its top
+ when selecting a new package (aka do
+ not retain vertical scrollbar position)
+
+2006-09-18 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_text_insert) track anchors (usefull
+ for rpmdrake in order to retrieve
+ embedded widgets in a TextView; see #25533)
+ * perl-install/standalone/po/mn.po: translate one item
+
+2006-09-18 08:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po: fix bogus translations of menu
+ items
+ * perl-install/drakxtools.spec: make changelog homogeneous for
+ 10.4.70-1mdv2007.0 & 10.4.71-1mdv2007.0
+
+2006-09-18 08:31 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-18 08:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: knowing wether $do_pkgs->install
+ succeeded or not is useful,
+ do_pkgs_standalone::install() already returns true on success,
+ but
+ do_pkgs_during_install::install() return 0 when pkgs are already
+ installed,
+ due to install::steps::pkg_install() which has not been written
+ to know if pkg
+ installation did succeed or not. For now, returning success
+ everytime
+ (#25834)
+
+2006-09-18 00:17 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: * 2006-09-18 Reinout van Schouwen
+ <reinouts@gnome.org>
+
+ - Updated Dutch translation (with help from Arno Fleming)
+
+2006-09-18 08:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: knowing wether $do_pkgs->install
+ succeeded or not is useful,
+ do_pkgs_standalone::install() already returns true on success,
+ but
+ do_pkgs_during_install::install() return 0 when pkgs are already
+ installed,
+ due to install::steps::pkg_install() which has not been written
+ to know if pkg
+ installation did succeed or not. For now, returning success
+ everytime
+ (#25834)
+
+2006-09-18 00:17 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: * 2006-09-18 Reinout van Schouwen
+ <reinouts@gnome.org>
+
+ - Updated Dutch translation (with help from Arno Fleming)
+
+2006-09-17 22:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: play it safe
+
+2006-09-17 22:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't allow to use Xgl with i810
+ and 16 bits (Scara-approved)
+
+2006-09-17 21:04 mmodem
+
+ * perl-install/standalone/po/pt.po: up
+
+2006-09-17 21:00 mmodem
+
+ * live/draklive-install/po/pt.po: up
+
+2006-09-17 20:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: add missing changelog entry
+
+2006-09-17 18:08 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: don't Previous button (#25868)
+
+2006-09-17 17:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Text correction to not
+ break string freeze.
+
+2006-09-17 16:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Allow manual setup of
+ local printers in beginners mode if
+ auto-detection fails (bug #25799).
+
+2006-09-17 16:08 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-09-17 15:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: match on configured driver instead
+ of probed driver (#25864)
+
+2006-09-17 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm: fix
+ titypo
+
+2006-09-17 13:24 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: merge with cooker rpmsrate, need to
+ add in it the extra OTHER created categories before removing
+ this file
+
+2006-09-17 13:23 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: rc2
+
+2006-09-17 12:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootloader.pm: fix parsing of vga= option in grub
+ (got broken on r26729, #25789)
+
+2006-09-17 10:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix typo
+
+2006-09-16 19:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix loading firmware files
+ from windows system
+
+2006-09-16 18:18 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/doc/TECH-INFOS, mdk-stage1/network.c,
+ mdk-stage1/network.h: add interface:wired support
+
+2006-09-16 18:04 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-16 18:00 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/wireless.c, mdk-stage1/wireless.h: export some
+ wireless functions
+
+2006-09-16 17:24 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-16 17:14 Warly <warly at mandriva.com>
+
+ * perl-install/install/pixmaps/logo-mandriva.png: new banner
+
+2006-09-16 14:21 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-09-16 17:14 Warly <warly at mandriva.com>
+
+ * perl-install/install/pixmaps/logo-mandriva.png: new banner
+
+2006-09-16 14:21 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-09-16 12:22 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-16 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix typo
+
+2006-09-16 12:15 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-16 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) kill a useless test
+
+2006-09-16 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (list) handle 'all' type (for listing
+ all mirrors)
+
+2006-09-16 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.73-1mdv2007.0
+
+2006-09-16 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) make it work in standalone
+ mode (one has to actually use
+ register_downloader() first in order to provide a downloader
+ callback)
+
+2006-09-16 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix typo
+
+2006-09-16 12:15 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-16 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) kill a useless test
+
+2006-09-16 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (list) handle 'all' type (for listing
+ all mirrors)
+
+2006-09-16 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.73-1mdv2007.0
+
+2006-09-16 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) make it work in standalone
+ mode (one has to actually use
+ register_downloader() first in order to provide a downloader
+ callback)
+
+2006-09-16 10:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/mirror.pm,
+ perl-install/mirror.pm: move mirror.pm from perl-install/install
+ to perl-install/ so that it's availlable to standalone programs
+
+2006-09-16 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) kill a useless test
+
+2006-09-16 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (list) handle 'all' type (for listing
+ all mirrors)
+
+2006-09-16 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.73-1mdv2007.0
+
+2006-09-16 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mirror.pm: (mirrors_raw) make it work in standalone
+ mode (one has to actually use
+ register_downloader() first in order to provide a downloader
+ callback)
+
+2006-09-16 10:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/mirror.pm,
+ perl-install/mirror.pm: move mirror.pm from perl-install/install
+ to perl-install/ so that it's availlable to standalone programs
+
+2006-09-16 08:31 vljubovic
+
+ * perl-install/install/share/po/bs.po: Improving Bosnian
+ translations
+
+2006-09-16 01:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: don't write incorrect "No
+ IP" and "No Mask" fields in ifcfg files (#23939)
+
+2006-09-16 01:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix typo in old unused code
+
+2006-09-16 00:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: add a log message when no link beat can be
+ found
+
+2006-09-16 00:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/ftp.pm: explicitely call
+ network::network::resolv to avoid future "cleanups"
+
+2006-09-16 00:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/ftp.pm: revert some part of Pixel's
+ "cleanup" (breaks ftp install)
+
+2006-09-16 00:31 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/install/share/po/zh_CN.po: Updated zh_CN
+ translation.
+
+2006-09-15 23:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: don't override signal strength
+ with iwconfig value if zero (may be broken with ipw2200 drivers)
+
+2006-09-15 23:02 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/po/it.po,
+ perl-install/standalone/po/zh_CN.po: Updated zh_CN and it
+ translation.
+
+2006-09-15 23:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: add some FIXME
+
+2006-09-15 22:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more drakconnect change in
+ 10.4.72-1mdv2007.0
+
+2006-09-15 22:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: don't use ifplugd
+ if no driver is defined (useful for br/tap/tun/... devices)
+
+2006-09-15 22:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.72-1mdv2007.0
+
+2006-09-15 22:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm,
+ perl-install/network/network.pm: use a link detection delay of 6
+ seconds for tg3 and skge drivers (#18986)
+
+2006-09-15 22:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: use autostart file to start
+ net_applet in KDE (#25099)
+
+2006-09-15 22:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/squid.pm: remove vhost option in squid.conf
+ (in an attempt to fix #25424)
+
+2006-09-15 22:16 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive.spec: 0.2
+ * live/draklive/draklive-copy-wizard.desktop,
+ live/draklive/draklive.desktop, live/draklive/draklive.spec:
+ rename draklive.desktop as draklive-copy-wizard.desktop
+
+2006-09-15 22:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: more
+ WIRELESS_IWPRIV fixes for old rt2400/rt2500 drivers
+
+2006-09-15 22:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: more Roaming
+ WIRELESS_MODE fixes (#21903)
+
+2006-09-15 21:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/it.po: update (Andrea Celli)
+
+2006-09-15 21:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: read default
+ Roaming WIRELESS_MODE from interface file, not from network
+ specific file (#21903)
+
+2006-09-15 21:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: use Roaming
+ WIRELESS_MODE if wpa_supplicant is needed
+
+2006-09-15 21:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't try to set empty hostname
+
+2006-09-15 19:53 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-15 19:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-9mdv2007.0
+
+2006-09-15 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: use install::any::getHds
+ to probe fstab (and detect swap devices so that they can be
+ unmounted, thanks Pixel for the debugging, #25538)
+
+2006-09-15 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po: update (Mashrab Kuvatov)
+
+2006-09-15 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/uz.po,
+ live/draklive-install/po/uz@Latn.po: update (Mashrab Kuvatov)
+
+2006-09-15 16:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2006-09-15 15:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po, perl-install/share/po/wa.po:
+ updates po files
+
+2006-09-15 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po: fix obvious typo
+
+2006-09-15 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: fix obvious typo
+
+2006-09-15 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/it.po: update (Andrea Celli)
+
+2006-09-15 15:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/es.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/wa.po: updated Slovenian file
+
+2006-09-15 15:27 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-15 15:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/sl.po: updated po files
+
+2006-09-15 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify: special case from
+ kernel-source-stripped already handled in bestKernelPackage()
+
+2006-09-15 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: when
+ upgrading, ensure we install the kernel-source-stripped
+ corresponding to the installed kernel (when dkms is installed)
+
+2006-09-15 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 15:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: run drakconnect wizard
+ instead of (broken) "manage" interface
+
+2006-09-15 15:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: remove useless variable
+
+2006-09-15 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: help me
+
+2006-09-15 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't run glxinfo for nv driver
+
+2006-09-15 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use create_okcancel to order
+ OK/Cancel buttons depending on the WM
+
+2006-09-15 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: don't use standard ioctls to
+ tell dmraid devices to take into account
+ partition table modification, it doesn't work. "dmraid -an;
+ dmraid -ay" works
+
+2006-09-15 14:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) perl_checko
+ cleanup
+
+2006-09-15 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: also prefer lib64mesagl1
+
+2006-09-15 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: allow specifying rel_path inside
+ iso. eg: nfs://host/cooker/i586/mandriva-CD.iso:/i586/media
+
+2006-09-15 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: adapt to iso file loopback
+ mounted in /tmp/loop
+
+2006-09-15 15:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/sl.po: updated po files
+
+2006-09-15 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify: special case from
+ kernel-source-stripped already handled in bestKernelPackage()
+
+2006-09-15 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: when
+ upgrading, ensure we install the kernel-source-stripped
+ corresponding to the installed kernel (when dkms is installed)
+
+2006-09-15 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (Rhoslyn Prys)
+
+2006-09-15 15:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: run drakconnect wizard
+ instead of (broken) "manage" interface
+
+2006-09-15 15:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: remove useless variable
+
+2006-09-15 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: help me
+
+2006-09-15 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't run glxinfo for nv driver
+
+2006-09-15 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use create_okcancel to order
+ OK/Cancel buttons depending on the WM
+
+2006-09-15 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: don't use standard ioctls to
+ tell dmraid devices to take into account
+ partition table modification, it doesn't work. "dmraid -an;
+ dmraid -ay" works
+
+2006-09-15 14:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) perl_checko
+ cleanup
+
+2006-09-15 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: also prefer lib64mesagl1
+
+2006-09-15 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: allow specifying rel_path inside
+ iso. eg: nfs://host/cooker/i586/mandriva-CD.iso:/i586/media
+
+2006-09-15 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: adapt to iso file loopback
+ mounted in /tmp/loop
+
+2006-09-15 13:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/messages.pm: better URL (#25357)
+
+2006-09-15 13:06 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: added kmplayer
+
+2006-09-15 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add /proc/iomem & /proc/ioports to
+ report.bug.gz (requested by rtp)
+
+2006-09-15 12:45 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/config-stage1.h, mdk-stage1/directory.c,
+ mdk-stage1/stage1.c: - IMAGE_LOCATION is now always a symlink
+ - LOOP_LOCATION is used for installs using iso files
+ - fix lomounting iso, fix symlink, fix umounting iso
+
+2006-09-15 12:31 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: fix umounting iso image loopback
+
+2006-09-15 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix eject install cdrom when quitting
+ install (#25748)
+
+2006-09-15 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: log ejecting cdrom
+
+2006-09-15 10:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm, perl-install/install/media.pm,
+ perl-install/install/mirror.pm: cleanup
+
+2006-09-15 10:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/config-stage1.h, mdk-stage1/directory.c: use loop
+ subdirectory for ISO images
+
+2006-09-15 10:20 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-15 09:45 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: use arch subdirectory when mounting ISO
+ images
+
+2006-09-15 09:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm,
+ perl-install/install/steps_interactive.pm: - make
+ selectSupplMedia work
+ - create ask_suppl_media_url out of selectSupplMedia
+ - rename ask_if_suppl_media to ask_suppl_media_method
+
+2006-09-15 09:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/mirror.pm,
+ perl-install/install/steps_interactive.pm: handle the 2 types of
+ mirrors: updates or distrib
+
+2006-09-15 08:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: add remove_from_fstab (useful
+ when a host:/dir is wrong)
+
+2006-09-15 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: {rpmsdir} can contain "/"
+
+2006-09-15 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm: rename deselectFoundMedia to
+ ask_deselect_media__copy_on_disk (to make it clearer it does
+ both)
+
+2006-09-15 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't prompt for deselecting
+ media when there is only one media (hdlist in fact) and we don't
+ allow copy rpms on disk
+
+2006-09-15 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: nfs device is a {faked_device}
+ (how did it work?? anyway it won't hurt)
+
+2006-09-15 08:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix handling error mounting
+ phys_medium
+
+2006-09-15 09:45 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: use arch subdirectory when mounting ISO
+ images
+
+2006-09-15 09:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm,
+ perl-install/install/steps_interactive.pm: - make
+ selectSupplMedia work
+ - create ask_suppl_media_url out of selectSupplMedia
+ - rename ask_if_suppl_media to ask_suppl_media_method
+
+2006-09-15 09:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/mirror.pm,
+ perl-install/install/steps_interactive.pm: handle the 2 types of
+ mirrors: updates or distrib
+
+2006-09-15 08:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: add remove_from_fstab (useful
+ when a host:/dir is wrong)
+
+2006-09-15 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: {rpmsdir} can contain "/"
+
+2006-09-15 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm: rename deselectFoundMedia to
+ ask_deselect_media__copy_on_disk (to make it clearer it does
+ both)
+
+2006-09-15 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't prompt for deselecting
+ media when there is only one media (hdlist in fact) and we don't
+ allow copy rpms on disk
+
+2006-09-15 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: nfs device is a {faked_device}
+ (how did it work?? anyway it won't hurt)
+
+2006-09-15 08:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix handling error mounting
+ phys_medium
+
+2006-09-15 07:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: add more logging
+
+2006-09-15 07:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix logging
+
+2006-09-15 06:02 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/standalone/po/zh_TW.po: updated po file
+
+2006-09-15 05:20 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-14 22:41 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/standalone/po/nl.po: fixed printerdrage menu
+ translation bug
+
+2006-09-14 22:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: don't even try to get
+ thirdparty settings when no driver is found
+
+2006-09-14 22:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: fix detection of WPA access
+ points when iwlist is used
+
+2006-09-14 21:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm,
+ perl-install/network/rfswitch.pm,
+ perl-install/standalone/service_harddrake: enable rfswitch using
+ acerhk on Compal CL56 laptops
+
+2006-09-14 21:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: translate zones in NTP servers list
+ (thanks to Berthy)
+
+2006-09-14 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.71-1mdv2007.0
+
+2006-09-14 18:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: load ibm_acpi on IBM and LENOVO
+ laptops, and hdaps for LENOVO laptops (#21597)
+
+2006-09-14 18:38 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-09-14 18:36 mmodem
+
+ * perl-install/install/share/po/pt.po: up
+
+2006-09-14 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: add asus_acpi in modprobe.preload for
+ ASUS laptops (#22387)
+
+2006-09-14 17:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: prepare_device doesn't need
+ interactive object
+
+2006-09-14 17:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm, perl-install/printer/detect.pm: -
+ printer::detect::getIPsInLocalNetworks(): If a broadcast ping in
+ a
+ large network (> 255 IPs) does not work, add at least the own
+ IP to
+ the list, to mark the network as existing (bug #24879).
+ - Use another file to check whether hplip-model-data is
+ installed, to
+ support future versions of HPLIP (1.6.9 and newer).
+
+2006-09-14 17:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix wrong warning message
+ after initial firmware package installation
+
+2006-09-14 17:19 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-14 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: don't override special imwheel conf
+ (without this patch, a single mouse with
+ "Mouse:evdev|imwheel:MX500" and SIDE set gets imwheelrc.generic)
+
+2006-09-14 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk) perl_checko
+ cleanup
+
+2006-09-14 16:47 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: new languages repartitions for rc2,
+ export META_CLASS, new drivers for kernel 5mdv, use ken snaphot
+ to install commercial apps
+
+2006-09-14 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.70-1mdv2007.0
+
+2006-09-14 16:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: simplify
+
+2006-09-14 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't try to run glxinfo on tdfx
+ (#25388)
+
+2006-09-14 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't even try to run glxinfo on
+ broken Xorg drivers, such as "sis" (#25160)
+
+2006-09-14 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/halt.local: give an hint about <CTRL><J>
+
+2006-09-14 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: ensure the symlink to
+ /etc/alternatives/<name> exists, especially useful for slaves
+
+2006-09-14 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: handle $::prefix
+
+2006-09-14 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (default) do not enable
+ RenderAccel for nvidia legacy driver (#24999)
+
+2006-09-14 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/finish-install: "Previous" button isn't
+ functiunnal and acts like "next" (#25349)
+
+2006-09-14 15:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: allow to configure
+ ethernet interfaces that are not associated to a hardware device
+
+2006-09-14 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: don't override special imwheel conf
+ (without this patch, a single mouse with
+ "Mouse:evdev|imwheel:MX500" and SIDE set gets imwheelrc.generic)
+
+2006-09-14 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk) perl_checko
+ cleanup
+
+2006-09-14 16:47 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: new languages repartitions for rc2,
+ export META_CLASS, new drivers for kernel 5mdv, use ken snaphot
+ to install commercial apps
+
+2006-09-14 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.70-1mdv2007.0
+
+2006-09-14 16:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: simplify
+
+2006-09-14 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't try to run glxinfo on tdfx
+ (#25388)
+
+2006-09-14 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: don't even try to run glxinfo on
+ broken Xorg drivers, such as "sis" (#25160)
+
+2006-09-14 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/halt.local: give an hint about <CTRL><J>
+
+2006-09-14 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: ensure the symlink to
+ /etc/alternatives/<name> exists, especially useful for slaves
+
+2006-09-14 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: handle $::prefix
+
+2006-09-14 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (default) do not enable
+ RenderAccel for nvidia legacy driver (#24999)
+
+2006-09-14 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/finish-install: "Previous" button isn't
+ functiunnal and acts like "next" (#25349)
+
+2006-09-14 15:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: allow to configure
+ ethernet interfaces that are not associated to a hardware device
+
+2006-09-14 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.69-1mdv2007.0
+
+2006-09-14 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (dir_created) simplify
+
+2006-09-14 14:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: add support for Japanese
+ truetype collection (.ttc) and opentype (.otf) fonts (#13145)
+
+2006-09-14 13:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: don't zero probed
+ VPI/VCI settings if no provider is selected
+
+2006-09-14 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: really use VPI/VCI
+ probe results
+
+2006-09-14 13:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix and enhance VPI/VCI parsing
+ from previous ppp peer file
+
+2006-09-14 13:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: warn if packages can't be
+ installed
+
+2006-09-14 13:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: warn if DSL packages
+ can't be installed
+
+2006-09-14 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm: fix stupid typo...
+
+2006-09-14 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm: fix install packages
+ return code when bpalogin can't be installed
+
+2006-09-14 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: warn if dhcp
+ packages can't be installed
+
+2006-09-14 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: don't try managing non
+ existing font files (kill some dumb shell warnings)
+
+2006-09-14 13:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Use
+ detect_devices::is_lan_interface() function to dtermine whether a
+ network is a local network.
+
+2006-09-14 13:11 felipe
+
+ * perl-install/share/po/pt_BR.po: translating one message
+
+2006-09-14 12:58 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-14 12:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm,
+ perl-install/network/connection/wireless.pm: really write module
+ alias for wireless and cable connections (#24384)
+
+2006-09-14 12:53 felipe
+
+ * perl-install/install/share/po/pt_BR.po: translating to pt_BR
+
+2006-09-14 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: HACK for upgrading to 2006.0: for
+ the 20 first main packages, upgrade one by one
+
+ why? well:
+ * librpm is fucked up when ordering pkgs, pkg "setup" is removed
+ before being installed.
+ the result is /etc/group.rpmsave and no /etc/group
+ * pkg locales requires basesystem, this is stupid, the result is
+ a huge first transaction
+ and it doesn't even help /usr/bin/locale_install.sh since it's
+ not a requires(post)
+
+2006-09-14 12:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: exit if one refuses to install
+ the needed packages (#24871)
+
+2006-09-14 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: check nvidia_drv.so where
+ it is installed, not simply the slave alternative
+ /usr/lib/xorg/modules/drivers/nvidia_drv.so
+
+2006-09-14 12:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm,
+ perl-install/network/connection/wireless.pm: really write module
+ alias for wireless and cable connections (#24384)
+
+2006-09-14 12:53 felipe
+
+ * perl-install/install/share/po/pt_BR.po: translating to pt_BR
+
+2006-09-14 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: HACK for upgrading to 2006.0: for
+ the 20 first main packages, upgrade one by one
+
+ why? well:
+ * librpm is fucked up when ordering pkgs, pkg "setup" is removed
+ before being installed.
+ the result is /etc/group.rpmsave and no /etc/group
+ * pkg locales requires basesystem, this is stupid, the result is
+ a huge first transaction
+ and it doesn't even help /usr/bin/locale_install.sh since it's
+ not a requires(post)
+
+2006-09-14 12:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: exit if one refuses to install
+ the needed packages (#24871)
+
+2006-09-14 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: check nvidia_drv.so where
+ it is installed, not simply the slave alternative
+ /usr/lib/xorg/modules/drivers/nvidia_drv.so
+
+2006-09-14 10:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: libgl_config_and_more() is a
+ better name since it also configures nvidia_drv.so
+
+2006-09-14 10:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: "handle" restart
+ (#25696)
+
+2006-09-14 10:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk) log runned
+ commands
+
+2006-09-14 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2006-09-14 09:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: set env var
+ RPM_IGNORE_SCRIPTLETS_FAILURE to workaround librpm not ordering
+ correctly pkgs removing on upgrade
+
+2006-09-14 09:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: rewrite ($@ is volatile)
+
+2006-09-14 09:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: don't die when we are non-interactive,
+ log the error and go on silently
+
+2006-09-14 08:53 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-09-14 08:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: fix logging ask_warn
+ in non-interactive auto_installs, and log backtrace
+
+2006-09-14 08:48 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-09-14 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: reduce the false positives (when a
+ pkg selection failed, which can occur when it's already
+ selected/installed)
+
+2006-09-14 08:22 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/install/share/po/pl.po: update
+ * perl-install/share/po/pl.po: update
+
+2006-09-14 08:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: installing linuxwacom only when needed
+
+2006-09-14 07:36 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-14 07:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/upgrade/mandriva.2006: thinking about
+ it, with "rpm -e --noscripts ; rpm -i" we won't get any %post
+ scripts upgrade scripts doing anything, that's no good.
+ Reverting to normal
+ behaviour (we'll patch librpm to ignore scriplets exit status as
+ used to be instead)
+
+2006-09-14 06:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: fix typo
+
+2006-09-14 06:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: workaround error clicking on
+ a pkg in the update tree at end of install
+
+2006-09-14 01:39 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-14 07:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/upgrade/mandriva.2006: thinking about
+ it, with "rpm -e --noscripts ; rpm -i" we won't get any %post
+ scripts upgrade scripts doing anything, that's no good.
+ Reverting to normal
+ behaviour (we'll patch librpm to ignore scriplets exit status as
+ used to be instead)
+
+2006-09-14 06:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: fix typo
+
+2006-09-14 06:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: workaround error clicking on
+ a pkg in the update tree at end of install
+
+2006-09-14 01:39 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-14 00:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2006-09-13 22:40 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: more typos fixed
+
+2006-09-13 22:39 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: fix even more typos
+
+2006-09-13 22:36 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: fix typos
+ * perl-install/share/po/nb.po: fix typo
+
+2006-09-14 00:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2006-09-13 22:40 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: more typos fixed
+
+2006-09-13 22:39 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: fix even more typos
+
+2006-09-13 22:36 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: fix typos
+ * perl-install/share/po/nb.po: fix typo
+
+2006-09-13 21:23 ybando
+
+ * perl-install/install/share/po/ja.po: update Japanese translation
+
+2006-09-13 21:12 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/install/share/po/ru.po: updated translation
+
+2006-09-13 20:48 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: sanity cleaning
+ * perl-install/install/share/po/nb.po: sanity cleaning
+
+2006-09-13 20:45 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: sanity cleaning
+ * perl-install/share/po/nb.po: sanity cleaning
+ * perl-install/install/share/po/nb.po: sanity cleaning
+
+2006-09-13 20:03 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/install/share/po/hu.po: update
+
+2006-09-13 19:31 thomas
+
+ * perl-install/install/share/po/sv.po: updated translation
+
+2006-09-13 19:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po: minor update
+
+2006-09-13 18:59 vljubovic
+
+ * perl-install/share/po/bs.po: Improving Bosnian translation
+
+2006-09-13 18:52 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Update Czech translation
+
+2006-09-13 18:49 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/install/share/po/cs.po: Update Czech translation
+
+2006-09-13 18:44 berthy
+
+ * perl-install/install/share/po/fr.po: Update fr translation
+
+2006-09-13 18:40 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: translate new strings
+
+2006-09-13 18:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po: minor update
+
+2006-09-13 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/af.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po: merge in translations
+ from standalone/po
+
+2006-09-13 18:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: sync with new ads
+
+2006-09-13 17:59 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/advertising/IM_CMSJOOMLA.pl,
+ perl-install/install/share/advertising/IM_CRM.pl,
+ perl-install/install/share/advertising/IM_INVICTUS.pl,
+ perl-install/install/share/advertising/IM_REGISTER.pl,
+ perl-install/install/share/advertising/IM_THEME.pl,
+ perl-install/install/share/advertising/TRANSGAMING-CEDEGA.png:
+ added missing description and transgamming image
+
+2006-09-13 17:44 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/advertising/01-LinDVD.pl,
+ perl-install/install/share/advertising/01-LinDVD.png,
+ perl-install/install/share/advertising/02-TRANSGAMING-CEDEGA.pl,
+ perl-install/install/share/advertising/02-TRANSGAMING-CEDEGA.png,
+ perl-install/install/share/advertising/03-FLATOUT.pl,
+ perl-install/install/share/advertising/03-FLATOUT.png,
+ perl-install/install/share/advertising/04-Kaspersky.pl,
+ perl-install/install/share/advertising/04-Kaspersky.png,
+ perl-install/install/share/advertising/05-Skype.pl,
+ perl-install/install/share/advertising/05-Skype.png,
+ perl-install/install/share/advertising/06.pl,
+ perl-install/install/share/advertising/07.pl,
+ perl-install/install/share/advertising/08-IM_3D.pl,
+ perl-install/install/share/advertising/08-IM_3D.png,
+ perl-install/install/share/advertising/09-IM_THEME.pl,
+ perl-install/install/share/advertising/09-IM_THEME.png,
+ perl-install/install/share/advertising/10-VPN.pl,
+ perl-install/install/share/advertising/10-VPN.png,
+ perl-install/install/share/advertising/11-IM_RPMDRAKE.pl,
+ perl-install/install/share/advertising/11-IM_RPMDRAKE.png,
+ perl-install/install/share/advertising/12-IM_web2.pl,
+ perl-install/install/share/advertising/12-IM_web2.png,
+ perl-install/install/share/advertising/13-IM_SERVICES.pl,
+ perl-install/install/share/advertising/13-IM_SERVICES.png,
+ perl-install/install/share/advertising/14-IM_GAMME.pl,
+ perl-install/install/share/advertising/14-IM_GAMME.png,
+ perl-install/install/share/advertising/15-IM_REGISTER.pl,
+ perl-install/install/share/advertising/15-IM_REGISTER.png,
+ perl-install/install/share/advertising/ARKEIA_EN.pl,
+ perl-install/install/share/advertising/ARKEIA_EN.png,
+ perl-install/install/share/advertising/ARKEIA_FR.pl,
+ perl-install/install/share/advertising/ARKEIA_FR.png,
+ perl-install/install/share/advertising/FLATOUT.pl,
+ perl-install/install/share/advertising/FLATOUT.png,
+ perl-install/install/share/advertising/IM-GWENVIEW.pl,
+ perl-install/install/share/advertising/IM-GWENVIEW.png,
+ perl-install/install/share/advertising/IM_3D.pl,
+ perl-install/install/share/advertising/IM_3D.png,
+ perl-install/install/share/advertising/IM_CMSJOOMLA.png,
+ perl-install/install/share/advertising/IM_CRM.png,
+ perl-install/install/share/advertising/IM_GAMME.pl,
+ perl-install/install/share/advertising/IM_GAMME.png,
+ perl-install/install/share/advertising/IM_INVICTUS.png,
+ perl-install/install/share/advertising/IM_ONE.pl,
+ perl-install/install/share/advertising/IM_ONE.png,
+ perl-install/install/share/advertising/IM_REGISTER.png,
+ perl-install/install/share/advertising/IM_RPMDRAKE.pl,
+ perl-install/install/share/advertising/IM_RPMDRAKE.png,
+ perl-install/install/share/advertising/IM_SERVICES.pl,
+ perl-install/install/share/advertising/IM_SERVICES.png,
+ perl-install/install/share/advertising/IM_THEME.png,
+ perl-install/install/share/advertising/IM_web2.pl,
+ perl-install/install/share/advertising/IM_web2.png,
+ perl-install/install/share/advertising/Kaspersky.pl,
+ perl-install/install/share/advertising/Kaspersky.png,
+ perl-install/install/share/advertising/LinDVD.pl,
+ perl-install/install/share/advertising/LinDVD.png,
+ perl-install/install/share/advertising/Skype.pl,
+ perl-install/install/share/advertising/Skype.png,
+ perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pl,
+ perl-install/install/share/advertising/VPN.pl,
+ perl-install/install/share/advertising/VPN.png,
+ perl-install/install/share/advertising/bitdefender.png,
+ perl-install/install/share/advertising/list-dis,
+ perl-install/install/share/advertising/list-dwd,
+ perl-install/install/share/advertising/list-ppp,
+ perl-install/install/share/advertising/list-pwp: updates ads and
+ list per product
+
+2006-09-13 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/common.pm: rename
+ set_update_alternatives into symlinkf_update_alternatives
+
+2006-09-13 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: adapt to
+ nvidia/nvidia_legacy/ati/libmesagl1/lib64mesagl1 now using
+ update-alternatives
+
+2006-09-13 17:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: handle
+ nvidia_legacy/libglx.so
+
+2006-09-13 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: add function doing something alike
+ "update-alternatives --config <name>" non-interactively (useful
+ esp. to handle slaves)
+
+2006-09-13 16:43 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: don't install draklive, the
+ copy wizard is broken
+
+2006-09-13 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: don't remove 915resolution
+ anymore
+
+2006-09-13 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/upgrade/mandriva.2006,
+ perl-install/install/share/upgrade/mandriva.2006/map: we can't
+ reliably use librpm to upgrade pkgs, at least not with big
+ transactions. so using "rpm -e + rpm -i" instead of "rpm -U".
+
+ for now, the "map" is empty, which means pkg "foo" is replaced
+ by pkg "foo",
+ which is not very nice since "Obsoletes" are not taken into
+ account :-/
+
+ about the librpm upgrade issue:
+ - in the first transaction, librpm removes many pkgs before
+ installing them
+ (esp glibc), and so %preun and %postun fail, leaving the rpmdb
+ in an ugly state
+ - not using ->check helps, the resulting ordering is different.
+ But then the
+ ordering of %pre/%post is broken :-/
+
+2006-09-13 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: handle (better) upgrade to
+ shorewall 3 by adding IPSECFILE=zones in shorewall.conf (#24990)
+
+2006-09-13 14:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: the "update" flag must be 0 or 1
+ since librpm is testing bit 0.
+ (the bug was introduced in commit 36887 and in rpm > 4.2.3 (in
+ 2006))
+
+2006-09-13 14:27 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: fix typo
+
+2006-09-13 14:12 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: fix typo
+
+2006-09-13 11:43 berthy
+
+ * perl-install/standalone/po/fr.po: Update fr translation
+
+2006-09-13 10:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/advertising/04-Kaspersky.pl,
+ perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: typo fix
+
+2006-09-13 10:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: io_ora-kde already in
+ task-kde
+
+2006-09-13 09:49 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-09-13 09:47 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-09-13 09:45 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/install/share/po/pl.po: update
+
+2006-09-13 09:43 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: update
+
+2006-09-13 09:43 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-09-13 08:41 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: force deps bluez-pin
+ because if not alternative select kdebluetooth-pin
+
+2006-09-13 05:20 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2006-09-13 05:12 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-09-13 04:06 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-09-13 04:04 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-13 00:10 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: sanity cleanup done
+
+2006-09-12 23:56 ybando
+
+ * perl-install/install/share/po/ja.po: update Japanese translation
+
+2006-09-12 23:46 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/install/share/po/is.po: New strings
+
+2006-09-12 23:22 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: spelling and new messages
+
+2006-09-12 22:57 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/standalone/po/is.po: Latest updates
+
+2006-09-12 21:44 ybando
+
+ * perl-install/share/po/ja.po: update Japanese translation
+
+2006-09-12 21:39 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: some sanity cleaning
+
+2006-09-12 21:32 thomas
+
+ * perl-install/install/share/po/sv.po: updated translations
+
+2006-09-12 21:26 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: finish translation
+ * perl-install/share/po/nb.po: finish new strings
+
+2006-09-12 21:26 thomas
+
+ * perl-install/share/po/sv.po: updated translations
+
+2006-09-12 21:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/fr.po: more accurate translation
+
+2006-09-12 21:14 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * live/draklive-install/po/cs.po: Update Czech translation
+
+2006-09-12 21:08 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-12 21:04 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/install/share/po/hu.po: update
+
+2006-09-12 20:30 berthy
+
+ * perl-install/share/po/fr.po: Update fr translation
+
+2006-09-12 20:26 berthy
+
+ * perl-install/install/share/po/fr.po: Update fr translation
+
+2006-09-12 20:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2006-09-12 19:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po,
+ perl-install/share/po/br.po: update
+
+2006-09-12 19:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: sync with code
+
+2006-09-12 19:42 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: added kde theme
+
+2006-09-12 19:41 Warly <warly at mandriva.com>
+
+ * Makefile, docs/HACKING: add gfxboot theme
+
+2006-09-12 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ merge in translation from standalone/po
+
+2006-09-12 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-09-12 19:09 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/pl.po: update
+
+2006-09-12 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: more
+ WIRELESS_IWPRIV fixes
+
+2006-09-12 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: drop old iwpriv
+ flags if the device needs rt2x00 workarounds
+
+2006-09-12 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix drakxtools-http require
+
+2006-09-12 17:36 felipe
+
+ * perl-install/share/po/pt_BR.po: fixing translation
+
+2006-09-12 16:10 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-12 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.68-1mdv2007.0
+
+2006-09-12 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: match ndiswrapper filenames
+ with hexa ranges
+
+2006-09-12 15:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: use
+ network::connection::ethernet helpers
+
+2006-09-12 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add back
+ device_matches_interface()
+
+2006-09-12 15:45 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add ndiswrapper in the list of known
+ wireless drivers
+
+2006-09-12 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: install tools before
+ firmware (ndiswrapper requires it)
+
+2006-09-12 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: prefer child sysfs
+ device to get USB driver
+
+2006-09-12 15:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: handle device IDs with wildcards
+ when matching sysfs IDs
+
+2006-09-12 15:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: adapt to more sysfs weirdness
+ for USB devices
+
+2006-09-12 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: simplify (removing things
+ required by task-kde)
+
+2006-09-12 14:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add
+ interface_to_driver()
+
+2006-09-12 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add
+ interface_to_device()
+
+2006-09-12 14:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: write DOMAIN
+ setting (search domain)
+
+2006-09-12 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix matching sysfs IDs for USB
+ devices for latest kernels
+
+2006-09-12 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.68-1mdv2007.0
+
+2006-09-12 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: match ndiswrapper filenames
+ with hexa ranges
+
+2006-09-12 15:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: use
+ network::connection::ethernet helpers
+
+2006-09-12 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add back
+ device_matches_interface()
+
+2006-09-12 15:45 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add ndiswrapper in the list of known
+ wireless drivers
+
+2006-09-12 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: install tools before
+ firmware (ndiswrapper requires it)
+
+2006-09-12 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: prefer child sysfs
+ device to get USB driver
+
+2006-09-12 15:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: handle device IDs with wildcards
+ when matching sysfs IDs
+
+2006-09-12 15:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: adapt to more sysfs weirdness
+ for USB devices
+
+2006-09-12 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: simplify (removing things
+ required by task-kde)
+
+2006-09-12 14:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add
+ interface_to_driver()
+
+2006-09-12 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add
+ interface_to_device()
+
+2006-09-12 14:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: write DOMAIN
+ setting (search domain)
+
+2006-09-12 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix matching sysfs IDs for USB
+ devices for latest kernels
+
+2006-09-12 13:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/bs.po: updated Bosnian file
+
+2006-09-12 13:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/bs.po: updated Bosnian file
+
+2006-09-12 13:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po, perl-install/share/po/pl.po,
+ perl-install/share/po/ru.po: updated Bosnian file
+
+2006-09-12 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/nb.po: blindly fix (to ensure msgfmt works)
+
+2006-09-12 13:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/bs.po: updated Bosnian file
+
+2006-09-12 13:00 Laurent Montel <lmontel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: For the moment remove it
+
+2006-09-12 12:55 Laurent Montel <lmontel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Use task-kde
+ Fix libqt3-devel
+
+2006-09-12 11:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add sysfs_device attribute for
+ USB devices
+
+2006-09-12 11:14 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest additions
+
+2006-09-12 11:13 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/install/share/po/is.po: Latest additions
+
+2006-09-12 11:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: remove deprecated
+ zd1201/rt2400/rt2500 hacks
+
+2006-09-12 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: move code where it belongs
+
+2006-09-12 10:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: improve thirdparty
+ explanations for ndiswrapper devices (#24838)
+ * perl-install/network/thirdparty.pm: allow not to show package
+ name if not relevant in thirdparty warnings
+
+2006-09-12 10:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: show missing module name or
+ missing tool path
+
+2006-09-12 10:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: show explanations before url
+ * perl-install/network/thirdparty.pm: cosmetics
+
+2006-09-12 10:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: prefer libGL.so.1 from libmesagl1
+ (and not nvidia pkg)
+
+2006-09-12 10:13 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-12 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: allow selecting
+ another mirror on cancel (?)
+
+2006-09-12 10:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install still need
+ parsehdlist (from rpmtools) when configuring urpmi
+
+2006-09-12 09:51 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * live/draklive-install/po/is.po: Latest updates
+
+2006-09-12 09:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/various.pm: try to handle a little better
+ 915resolution installed but not used (for mandriva One)
+
+2006-09-12 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: we don't need ending auto_inst file
+ with \0, since we always write to a file
+ (for some time now). This fixes chomp (and so getIDE()) when
+ eval'ing auto_inst
+
+2006-09-12 09:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: don't start 915resolution by
+ default, enable it on user request only
+
+2006-09-12 09:15 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-12 08:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/network/netconnect.pm: move network up/down code in
+ install::steps and start interfaces synchronously
+
+2006-09-12 08:26 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/cdrom.c: fix umounting cdrom (fixes having both cdrom
+ hdc & dvd hdd mounted) (#25560)
+
+2006-09-12 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: allow selecting
+ another mirror on cancel (?)
+
+2006-09-12 10:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install still need
+ parsehdlist (from rpmtools) when configuring urpmi
+
+2006-09-12 09:51 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * live/draklive-install/po/is.po: Latest updates
+
+2006-09-12 09:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/various.pm: try to handle a little better
+ 915resolution installed but not used (for mandriva One)
+
+2006-09-12 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: we don't need ending auto_inst file
+ with \0, since we always write to a file
+ (for some time now). This fixes chomp (and so getIDE()) when
+ eval'ing auto_inst
+
+2006-09-12 09:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: don't start 915resolution by
+ default, enable it on user request only
+
+2006-09-12 09:15 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-12 08:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/network/netconnect.pm: move network up/down code in
+ install::steps and start interfaces synchronously
+
+2006-09-12 08:26 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/cdrom.c: fix umounting cdrom (fixes having both cdrom
+ hdc & dvd hdd mounted) (#25560)
+
+2006-09-12 00:06 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch translation by Rob
+ Teng
+
+2006-09-11 23:46 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/standalone/po/nl.po: Updated Dutch translation by
+ C.Verschuuren
+
+2006-09-11 23:43 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: sanity checkup completed :)
+
+2006-09-11 23:12 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/standalone/po/ru.po: updated translation
+
+2006-09-11 22:57 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: remove
+ /etc/udev/rules.d/61-*_config.rules files
+
+2006-09-11 22:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/shorewall.pm: don't rewrite shorewall
+ setting if the interface is already in shorewall interfaces list
+
+2006-09-11 22:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: pre-select current network
+ when none is selected (#24061)
+ * perl-install/standalone/drakroam: pre-select selected network
+ after network refresh
+
+2006-09-11 21:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: fix current network
+ selection for 3G connections
+
+2006-09-11 21:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: allow to disconnect if no
+ network is selected
+
+2006-09-11 21:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't preselect first device
+ is default connection isn't found
+
+2006-09-11 21:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't show empty device
+ (#25554)
+
+2006-09-11 19:58 thomas
+
+ * perl-install/share/po/sv.po: updated translations
+
+2006-09-11 19:19 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-11 18:51 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/pl.po: small correction after merge
+
+2006-09-11 18:43 thomas
+
+ * perl-install/install/share/po/sv.po: fix typo
+
+2006-09-11 18:42 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: some sanity cleaning
+
+2006-09-11 18:41 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/pl.po: update from Tomasz
+
+2006-09-11 18:37 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/pl.po: update from Tomasz
+
+2006-09-11 17:29 felipe
+
+ * perl-install/install/share/po/pt_BR.po: fixing pt_BR translation
+
+2006-09-11 17:24 felipe
+
+ * perl-install/share/po/pt_BR.po: making a translated message
+ shorter to fits better on the screen
+
+2006-09-11 16:59 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: sanity cleanup!
+
+2006-09-11 16:17 Warly <warly at mandriva.com>
+
+ * make_boot_img: use isolinux-x86_64 for x86_64 architecture
+
+2006-09-11 16:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/squid.pm: adapt to squid 2.6 syntax for
+ transparent proxies (#25424)
+
+2006-09-11 15:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: don't add interface to net
+ zone twice in drakgw (me sux)
+
+2006-09-11 15:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: handle upgrade to shorewall 3
+ by removing the FW variable in shorewall.conf (#24990)
+
+2006-09-11 15:15 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-11 15:01 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-09-11 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix copying CDs on hd (was only
+ working for first CD)
+
+2006-09-11 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix return code
+ (not really used though)
+
+2006-09-11 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm,
+ perl-install/network/connection/wireless.pm: call SUPER
+ install_packages
+
+2006-09-11 14:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: install dhcp client
+ if required
+
+2006-09-11 14:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: typo fix (Arpad Biro)
+
+2006-09-11 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/install/steps_list.pm: typo fix (Arpad Biro)
+
+2006-09-11 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm,
+ perl-install/network/network.pm: set RESOLV_MODS to yes when DNS
+ addresses are configured
+
+2006-09-11 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix bad deref by
+ short-circuiting
+
+2006-09-11 13:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: enable PEERDNS if
+ DNS addresses are specified as well
+
+2006-09-11 13:51 felipe
+
+ * perl-install/standalone/po/pt_BR.po: fixing fuzzy entries
+
+2006-09-11 13:40 felipe
+
+ * perl-install/share/po/pt_BR.po: translating new messages
+
+2006-09-11 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: workaround a ugly fix getting
+ cciss devices (reported by aginies)
+
+2006-09-11 15:01 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-09-11 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix copying CDs on hd (was only
+ working for first CD)
+
+2006-09-11 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix return code
+ (not really used though)
+
+2006-09-11 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm,
+ perl-install/network/connection/wireless.pm: call SUPER
+ install_packages
+
+2006-09-11 14:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: install dhcp client
+ if required
+
+2006-09-11 14:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: typo fix (Arpad Biro)
+
+2006-09-11 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/install/steps_list.pm: typo fix (Arpad Biro)
+
+2006-09-11 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm,
+ perl-install/network/network.pm: set RESOLV_MODS to yes when DNS
+ addresses are configured
+
+2006-09-11 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix bad deref by
+ short-circuiting
+
+2006-09-11 13:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: enable PEERDNS if
+ DNS addresses are specified as well
+
+2006-09-11 13:51 felipe
+
+ * perl-install/standalone/po/pt_BR.po: fixing fuzzy entries
+
+2006-09-11 13:40 felipe
+
+ * perl-install/share/po/pt_BR.po: translating new messages
+
+2006-09-11 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: workaround a ugly fix getting
+ cciss devices (reported by aginies)
+
+2006-09-11 12:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Fixed loop to
+ wait for desktop login in the Plug'n'Print script
+
+2006-09-11 11:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install openoffice.org-kde
+ on kde (not on gnome), and vice-versa
+
+2006-09-11 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.67-1mdv2007.0
+
+2006-09-11 11:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: only allow not using dmraid during
+ install
+
+2006-09-11 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: _text_insert) add support for any Gtk+
+ widget
+
+2006-09-11 11:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: set cursors in fast_toggle so that all
+ callers (ie when selecting through the
+ keyboard too) show that selecting may be slow, depending on the
+ actual
+ dependancies
+
+2006-09-11 11:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2006-09-11 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: update status bar on package selection
+ (#24673)
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) do not clear
+ caches on exit
+ (thus fixing some gtk+ warnings (#23720) & saving some time)
+
+2006-09-11 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: remove debug code
+
+2006-09-11 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) fix crash
+ (#25352)
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) scroll tree
+ view to its top
+ when clearing/refilling its attached model (#25207)
+
+2006-09-11 11:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: add --add-resume2
+ (but not mentionned in usage) for kernel-multimedia (as
+ requested by danny)
+
+2006-09-11 09:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: we need to disactivate dmraid when we
+ don't want it
+
+2006-09-11 08:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: install linuxwacom if needed (#20928)
+
+2006-09-11 06:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: fglrx handles GLX (if we
+ don't force DRI_GLX, one don't get 3D when choosing "Radeon
+ (fbdev)")
+
+2006-09-10 14:05 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-10 13:51 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2006-09-10 13:49 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-10 13:34 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/hu.po: update
+
+2006-09-10 03:02 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: traslate new strings
+
+2006-09-09 16:43 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-09 14:44 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-09 13:44 berthy
+
+ * perl-install/share/po/fr.po: Update fr translation
+
+2006-09-09 13:38 berthy
+
+ * perl-install/install/share/po/fr.po: Update fr translation
+
+2006-09-09 12:19 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-09 12:00 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-09 09:16 nbauer
+
+ * perl-install/share/po/de.po: Update German translation (Nicolas
+ Bauer)
+
+2006-09-09 08:58 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-09-08 22:44 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/hu.po: update
+
+2006-09-08 21:05 thomas
+
+ * perl-install/share/po/sv.po: updated translation
+
+2006-09-08 19:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to go on if some
+ packages are optionnal (#22742)
+
+2006-09-08 19:16 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+ (Nicolas Bauer)
+
+2006-09-08 18:21 nbauer
+
+ * perl-install/share/po/de.po: Update German translation
+
+2006-09-08 18:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: enable ntpd if required (#25348)
+
+2006-09-08 17:40 Arpad Biro <biro_arpad at yahoo.com>
+
+ * live/draklive-install/po/pl.po: update from Tomasz
+
+2006-09-08 17:31 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/install/share/po/pl.po: update from Tomasz
+
+2006-09-08 16:52 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-08 16:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: /etc/menu-methods/lang.h is not needed
+ anymore
+
+2006-09-08 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/install2.pm,
+ perl-install/install/mirror.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - rename
+ install/crypto.pm into install/mirror.pm, and clean it up:
+ - rename mirrors & bestMirror() into list() & nearest()
+ - remove version()
+ - don't use hard-coded list (hopefully ftp after
+ http://api.mandriva.com will work...)
+ - use the standard
+ - create install::any::ask_mirror() instead of
+ install::steps_interactive::selectSupplMedia() and
+ install::steps_interactive::askSupplMirror()
+ (as a result install::steps::askSupplMirror() is no more
+ needed)
+ - rename $o->{updates}{mirror} into $o->{updates}{url}
+ - use product.id instead of VERSION at the root of the media (it
+ gives the version and arch to use to get the list of mirrors)
+ - compute meta_class from product= given by product.id
+ - freshen installUpdates() in install::steps and
+ install::steps_interactive
+ - $o->{meta_class} is always set correctly, no need to failsafe
+ its value when
+ writing META_CLASS in /etc/sysconfig/system (and "PowerPack"
+ is not valid, "powerpack" is)
+
+2006-09-08 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: new function useful to parse
+ /etc/product.id and lines from api.mandriva.com
+ (eg: http://api.mandriva.com/mirrors/2007.0.i586.list)
+
+2006-09-08 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkpowerpack) tell where we bugged
+
+2006-09-08 16:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: /etc/menu-methods/lang.h is not needed
+ anymore
+
+2006-09-08 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/install2.pm,
+ perl-install/install/mirror.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - rename
+ install/crypto.pm into install/mirror.pm, and clean it up:
+ - rename mirrors & bestMirror() into list() & nearest()
+ - remove version()
+ - don't use hard-coded list (hopefully ftp after
+ http://api.mandriva.com will work...)
+ - use the standard
+ - create install::any::ask_mirror() instead of
+ install::steps_interactive::selectSupplMedia() and
+ install::steps_interactive::askSupplMirror()
+ (as a result install::steps::askSupplMirror() is no more
+ needed)
+ - rename $o->{updates}{mirror} into $o->{updates}{url}
+ - use product.id instead of VERSION at the root of the media (it
+ gives the version and arch to use to get the list of mirrors)
+ - compute meta_class from product= given by product.id
+ - freshen installUpdates() in install::steps and
+ install::steps_interactive
+ - $o->{meta_class} is always set correctly, no need to failsafe
+ its value when
+ writing META_CLASS in /etc/sysconfig/system (and "PowerPack"
+ is not valid, "powerpack" is)
+
+2006-09-08 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: new function useful to parse
+ /etc/product.id and lines from api.mandriva.com
+ (eg: http://api.mandriva.com/mirrors/2007.0.i586.list)
+
+2006-09-08 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkpowerpack) tell where we bugged
+
+2006-09-08 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: default splash image is now
+ splash.xpm.gz for grub
+
+2006-09-08 12:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: disable automatically running
+ drakbug on segfault since $SIG{SEGV} is unreliable (#18087)
+
+2006-09-08 12:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: updated Spanish file
+
+2006-09-08 12:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: updated Welsh file
+
+2006-09-08 12:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated po file
+
+2006-09-08 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify and use
+ get_standalone_medium
+
+2006-09-08 10:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: don't list an empty "[]"
+ wireless network
+
+2006-09-08 10:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/po/fr.po: fix more profiles typo
+
+2006-09-08 10:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/po/fr.po: fix typo
+
+2006-09-08 10:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/signal_strength.pm: don't scale signal
+ strength pixbufs, they're already at the correct size
+ * perl-install/network/signal_strength.pm: fix typo
+
+2006-09-08 08:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm: -
+ setup_suppl_medium is obsolete
+ - is_suppl is better set in phys_medium
+ - mount only once nfs medium in selectSupplMedia (need testing)
+
+2006-09-08 05:20 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-08 02:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: updated Welsh file
+
+2006-09-08 02:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2006-09-07 23:41 mmodem
+
+ * perl-install/standalone/po/pt.po: up
+
+2006-09-07 23:39 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-09-07 21:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: use _libdir/mesa as LD_LIBRARY_PATH
+ when needed
+
+2006-09-07 21:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: gcom is now named
+ comgt
+
+2006-09-07 20:47 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/install/share/po/nl.po: * Reinout van Schouwen
+ <reinouts@gnome.org>
+
+ - Updated Dutch translation of DrakX
+
+2006-09-07 20:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add wait message if network
+ scan is slow
+
+2006-09-07 20:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: improve buttons
+ sensitivity/status
+
+2006-09-07 19:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: ask for hardware settings if
+ required
+ * perl-install/standalone/drakroam: introduce prepare_connection
+
+2006-09-07 19:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: fix return code
+
+2006-09-07 19:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: better check for
+ $::o
+
+2006-09-07 19:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: split prepare/check
+ device functions
+
+2006-09-07 19:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: load module and check
+ thirdparty settings
+
+2006-09-07 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: remove workaround for
+ #25346
+
+2006-09-07 19:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/netconnect.pm: load connection module in
+ network::connection::prepare_device()
+
+2006-09-07 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (translate_real) when utf8 pragam is in
+ use, Locale::gettext() returns
+ an utf8 strings not tagged as such (#25346)
+
+2006-09-07 18:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: add thirdparty
+ settings for the nozomi driver (3G cards)
+
+2006-09-07 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: protect some hash deref
+
+2006-09-07 17:37 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: waiting for merge with the cooker one,
+ add some local changes
+
+2006-09-07 17:36 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: change language category, add new
+ commercial packages
+
+2006-09-07 17:35 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: added theme and graphics
+ category, added wpa_supplicant, drakx-finish-install and
+ one-kde-config
+
+2006-09-07 17:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: make net_applet reload its
+ configuration after a new connection is configured
+
+2006-09-07 17:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: always prompt if we
+ want to updates (useful for next commit)
+
+2006-09-07 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: do not use method
+ call since not needed
+
+2006-09-07 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: do not up/down network in
+ $::local_install
+
+2006-09-07 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/pkgs.pm: -
+ do not use symlink in /tmp for hdlist (useful so that {hdlist}
+ is not used anymore)
+ - do not handle filehandle for hdlist anymore (will drop its use
+ later)
+
+2006-09-07 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm: drop
+ psUpdateHdlistsDeps
+
+2006-09-07 17:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: create get_standalone_medium()
+ and use it
+
+2006-09-07 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: utf8 pramga broke N()
+ (#25346)
+
+2006-09-07 16:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: make net_applet reload its
+ configuration when a vpn is started from drakvpn (#25341)
+
+2006-09-07 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: introduce reload_net_applet()
+ * kernel/list_modules.pm,
+ perl-install/network/connection/wireless.pm: at76c503* drivers
+ are now merged into at76_usb
+
+2006-09-07 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Done) one more missing
+ title
+
+2006-09-07 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: add missing titles
+
+2006-09-07 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.66-1mdv2007.0
+
+2006-09-07 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: move devices whose category is
+ either MEMORY_OTHER or SYSTEM_PIC from unknown into bridges class
+ * perl-install/harddrake/data.pm: try harder to detect SCSI
+ controllers (eg aic79xx driven ones)
+
+2006-09-07 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/do_pkgs.pm: add missing titles
+
+2006-09-07 14:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) display a busy
+ curor
+ while fetching dependancies to select
+
+2006-09-07 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: enable to get rid of
+ initscript dependancy on sound-scripts
+
+2006-09-07 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/compssUsers.pl: fix using
+ compssUsers.pl in newt/text mode (#24972)
+
+2006-09-07 10:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix running drakx-in-chroot
+ with newt interface
+
+2006-09-07 10:15 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-09-07 10:11 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-09-07 09:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: mkfs.xfs doesn't handle
+ -c (#13471)
+
+2006-09-07 09:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: fix commented command to run
+ drakx-in-chroot with CLEAN=1 (sudo now cleanup most env
+ variables)
+
+2006-09-07 08:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix flag in bad place
+
+2006-09-07 08:24 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: ensure rm_rf won't remove my local
+ /export :'-(
+
+2006-09-07 06:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: HWheelXAxisMapping is nonsense,
+ HWheelRelativeAxisButtons is good (many thanks to adamw for
+ spotting this)
+
+2006-09-07 00:18 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: more cleanups
+
+2006-09-06 22:47 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: some cleanups
+
+2006-09-06 21:29 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: translate new last minute
+ strings
+
+2006-09-06 21:07 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/standalone/po/cs.po: Update Czech translation
+
+2006-09-06 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm,
+ perl-install/standalone/drakroam: allow to select VPN connection
+ in drakconnect and drakroam
+
+2006-09-06 20:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm, perl-install/network/vpn.pm,
+ perl-install/network/vpn/openvpn.pm,
+ perl-install/network/vpn/vpnc.pm: make get_name() return the
+ connection name and get_description() the type description
+
+2006-09-06 19:39 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Update Czech translation
+
+2006-09-06 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn.pm, perl-install/standalone/net_applet:
+ introduce network::vpn::get_label
+
+2006-09-06 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add one more FIXME
+
+2006-09-06 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add cellular connections
+ support in drakroam
+
+2006-09-06 19:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: write cellular APN
+ settings in cellular.d
+
+2006-09-06 19:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't vivify
+ $connection->{networks}
+
+2006-09-06 19:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm: add set_provider() function
+
+2006-09-06 18:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install zd1201-firmware for
+ zd1201 devices
+
+2006-09-06 18:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use a scrolling window for
+ wireless/cellular network list
+
+2006-09-06 17:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: drop redundant field
+
+2006-09-06 17:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: drop some redundant
+ fields, cosmetics
+
+2006-09-06 17:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: adding missing name
+
+2006-09-06 17:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use signal_strength instead
+ of signal_level
+
+2006-09-06 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm,
+ perl-install/network/monitor.pm: use signal_strength instead of
+ signal_level and drop unused approx_level value
+
+2006-09-06 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam,
+ perl-install/standalone/net_applet: use
+ network::signal_strength::get_strength_icon()
+
+2006-09-06 17:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/signal_strength.pm: modify prototype (take
+ a network as argument)
+
+2006-09-06 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't export non-existent
+ sethostname
+
+2006-09-06 16:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: install the ppp
+ package for cellular connections
+
+2006-09-06 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm: add usbserial
+ support for cellular connections
+
+2006-09-06 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: don't reload kernel module
+ when the required firmware is already installed
+
+2006-09-06 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/Makefile: (dis) simplify
+
+2006-09-06 15:36 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/Makefile: don't package .svn
+
+2006-09-06 15:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/Makefile: build source as well
+ * live/draklive-install/draklive-install.spec: 0.1-8mdv2007.0
+
+2006-09-06 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: don't grab focus if a
+ window manager is running (#23454) and, as a side effect, don't
+ die when switching to another desktop (#23453)
+
+2006-09-06 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: create /mnt and its
+ top-level-directories (#25137)
+
+2006-09-06 14:31 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-06 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix ugly typo (fix klaptop not
+ installed on laptops)
+
+2006-09-06 14:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: fixed translation of "share"
+
+2006-09-06 14:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: fixed translation of "share"
+
+2006-09-06 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) kill gtk+
+ warnings (#23720)
+
+2006-09-06 13:23 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: disable bpalogin service on live
+
+2006-09-06 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/various.pm:
+ allow choosing 3D acceleration when specifying driver explictly
+
+2006-09-06 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: allow to configure SWCursor on
+ savage cards (since it is needed on "VT8751 [ProSavageDDR
+ P4M266] VGA Controller" (0x5333:0x8d04))
+
+2006-09-06 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix ugly typo (fix klaptop not
+ installed on laptops)
+
+2006-09-06 14:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: fixed translation of "share"
+
+2006-09-06 14:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: fixed translation of "share"
+
+2006-09-06 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) kill gtk+
+ warnings (#23720)
+
+2006-09-06 13:23 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: disable bpalogin service on live
+
+2006-09-06 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/various.pm:
+ allow choosing 3D acceleration when specifying driver explictly
+
+2006-09-06 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: allow to configure SWCursor on
+ savage cards (since it is needed on "VT8751 [ProSavageDDR
+ P4M266] VGA Controller" (0x5333:0x8d04))
+
+2006-09-06 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: simplify
+ * perl-install/install/media.pm: fix copy_rpms_on_disk (also fixes
+ the resulting urpmi config) (#25197)
+
+2006-09-06 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: perl_checker compliance
+
+2006-09-06 10:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix handling error installing
+ x11-driver-video-xxx (error was silent)
+
+2006-09-06 09:39 ybando
+
+ * perl-install/standalone/po/ja.po: update Japanese translation
+
+2006-09-06 09:37 ybando
+
+ * perl-install/share/po/ja.po: update Japanese translation
+
+2006-09-06 08:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.65-1mdv2007.0
+
+2006-09-06 08:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: prefer kernel-source-stripped-xxx
+
+2006-09-06 00:41 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po, perl-install/standalone/po/id.po:
+ Updated
+
+2006-09-05 21:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po, perl-install/share/po/fr.po,
+ perl-install/share/po/wa.po: updated Spanish, French and Walloon
+ files
+
+2006-09-05 21:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install zd1211-firmware if
+ needed
+
+2006-09-05 20:25 thomas
+
+ * perl-install/share/po/sv.po: updated translations
+
+2006-09-05 20:03 thomas
+
+ * perl-install/standalone/po/sv.po: updated translations
+
+2006-09-05 18:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/wa.po: small update
+
+2006-09-05 18:44 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2006-09-05 18:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/wa.po: updated Spanish, Walloon and
+ French files
+
+2006-09-05 18:31 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-05 18:23 Karl Ove Hufthammer <karl at huftis.org>
+
+ * live/draklive-install/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2006-09-05 18:17 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/advertising/01-LinDVD.pl,
+ perl-install/install/share/advertising/02-TRANSGAMING-CEDEGA.pl,
+ perl-install/install/share/advertising/03-FLATOUT.pl,
+ perl-install/install/share/advertising/04-Kaspersky.pl,
+ perl-install/install/share/advertising/05-Skype.pl,
+ perl-install/install/share/advertising/08-IM_3D.pl,
+ perl-install/install/share/advertising/09-IM_THEME.pl,
+ perl-install/install/share/advertising/10-VPN.pl,
+ perl-install/install/share/advertising/11-IM_RPMDRAKE.pl,
+ perl-install/install/share/advertising/12-IM_web2.pl,
+ perl-install/install/share/advertising/13-IM_SERVICES.pl,
+ perl-install/install/share/advertising/14-IM_GAMME.pl,
+ perl-install/install/share/advertising/15-IM_REGISTER.pl: add
+ titles for new advertisment
+
+2006-09-05 17:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix firmware path
+ for zd1211
+
+2006-09-05 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: updated Spanish file
+
+2006-09-05 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/standalone/po/br.po:
+ update
+
+2006-09-05 18:23 Karl Ove Hufthammer <karl at huftis.org>
+
+ * live/draklive-install/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2006-09-05 18:17 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/advertising/01-LinDVD.pl,
+ perl-install/install/share/advertising/02-TRANSGAMING-CEDEGA.pl,
+ perl-install/install/share/advertising/03-FLATOUT.pl,
+ perl-install/install/share/advertising/04-Kaspersky.pl,
+ perl-install/install/share/advertising/05-Skype.pl,
+ perl-install/install/share/advertising/08-IM_3D.pl,
+ perl-install/install/share/advertising/09-IM_THEME.pl,
+ perl-install/install/share/advertising/10-VPN.pl,
+ perl-install/install/share/advertising/11-IM_RPMDRAKE.pl,
+ perl-install/install/share/advertising/12-IM_web2.pl,
+ perl-install/install/share/advertising/13-IM_SERVICES.pl,
+ perl-install/install/share/advertising/14-IM_GAMME.pl,
+ perl-install/install/share/advertising/15-IM_REGISTER.pl: add
+ titles for new advertisment
+
+2006-09-05 17:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: fix firmware path
+ for zd1211
+
+2006-09-05 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: updated Spanish file
+
+2006-09-05 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/standalone/po/br.po:
+ update
+
+2006-09-05 15:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/es.po: updated Spanish file
+
+2006-09-05 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/libDrakX.pot, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ retrieve translations from older ../../standalone/po
+
+2006-09-05 14:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-09-05 14:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-09-05 14:23 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-09-05 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: remove old code
+
+2006-09-05 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: remove old stuff
+
+2006-09-05 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: simplify
+
+2006-09-05 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: factorize mouse choice into
+ mouse::select()
+
+2006-09-05 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm,
+ perl-install/standalone/mousedrake: factorize mouse choice into
+ mouse::select()
+
+2006-09-05 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: keep previous device if it is valid
+
+2006-09-05 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: modify kde config files in
+ /var/lib/mandriva/kde-profiles/common/share/config instead of
+ /usr/share/config
+
+2006-09-05 12:45 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/advertising/01-LinDVD.png,
+ perl-install/install/share/advertising/01.pl,
+ perl-install/install/share/advertising/01.png,
+ perl-install/install/share/advertising/02-TRANSGAMING-CEDEGA.png,
+ perl-install/install/share/advertising/02.pl,
+ perl-install/install/share/advertising/02.png,
+ perl-install/install/share/advertising/03-FLATOUT.png,
+ perl-install/install/share/advertising/03.pl,
+ perl-install/install/share/advertising/03.png,
+ perl-install/install/share/advertising/04-Kaspersky.png,
+ perl-install/install/share/advertising/04.pl,
+ perl-install/install/share/advertising/04.png,
+ perl-install/install/share/advertising/05-Skype.png,
+ perl-install/install/share/advertising/05.pl,
+ perl-install/install/share/advertising/05.png,
+ perl-install/install/share/advertising/06.png,
+ perl-install/install/share/advertising/07.png,
+ perl-install/install/share/advertising/08-IM_3D.png,
+ perl-install/install/share/advertising/08.pl,
+ perl-install/install/share/advertising/08.png,
+ perl-install/install/share/advertising/09-IM_THEME.png,
+ perl-install/install/share/advertising/09.pl,
+ perl-install/install/share/advertising/09.png,
+ perl-install/install/share/advertising/10-VPN.png,
+ perl-install/install/share/advertising/10.pl,
+ perl-install/install/share/advertising/10.png,
+ perl-install/install/share/advertising/11-IM_RPMDRAKE.png,
+ perl-install/install/share/advertising/11.pl,
+ perl-install/install/share/advertising/11.png,
+ perl-install/install/share/advertising/12-IM_web2.png,
+ perl-install/install/share/advertising/12.pl,
+ perl-install/install/share/advertising/12.png,
+ perl-install/install/share/advertising/13-IM_SERVICES.png,
+ perl-install/install/share/advertising/13.pl,
+ perl-install/install/share/advertising/13.png,
+ perl-install/install/share/advertising/14-IM_GAMME.png,
+ perl-install/install/share/advertising/14.pl,
+ perl-install/install/share/advertising/14.png,
+ perl-install/install/share/advertising/15-IM_REGISTER.png,
+ perl-install/install/share/advertising/15.pl,
+ perl-install/install/share/advertising/15.png,
+ perl-install/install/share/advertising/16.pl,
+ perl-install/install/share/advertising/16.png,
+ perl-install/install/share/advertising/17.pl,
+ perl-install/install/share/advertising/17.png,
+ perl-install/install/share/advertising/18.pl,
+ perl-install/install/share/advertising/18.png,
+ perl-install/install/share/advertising/19.pl,
+ perl-install/install/share/advertising/19.png,
+ perl-install/install/share/advertising/20.pl,
+ perl-install/install/share/advertising/20.png,
+ perl-install/install/share/advertising/21.pl,
+ perl-install/install/share/advertising/21.png,
+ perl-install/install/share/advertising/22.pl,
+ perl-install/install/share/advertising/22.png,
+ perl-install/install/share/advertising/23.pl,
+ perl-install/install/share/advertising/23.png,
+ perl-install/install/share/advertising/24.pl,
+ perl-install/install/share/advertising/24.png,
+ perl-install/install/share/advertising/25.pl,
+ perl-install/install/share/advertising/25.png,
+ perl-install/install/share/advertising/26.pl,
+ perl-install/install/share/advertising/26.png,
+ perl-install/install/share/advertising/intel.pl,
+ perl-install/install/share/advertising/intel.png,
+ perl-install/install/share/advertising/list-dwd,
+ perl-install/install/share/advertising/skype.pl,
+ perl-install/install/share/advertising/skype.png: added new
+ advertisment
+
+2006-09-05 12:35 Pixel <pixel at mandriva.com>
+
+ * Makefile.config: adapt to new rpm location (main/release/
+ instead of simply main/)
+
+2006-09-05 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use /boot/grub/splash.xpm.gz if it
+ exists (pkgs mandriva-theme will modify it according to the
+ chosen theme)
+
+2006-09-05 11:30 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-05 11:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: /usr/share/config/kdm is /etc/kde/kdm (well
+ /usr/share/config -> /etc/kde)
+
+2006-09-05 11:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/bootloader.pm,
+ perl-install/install/any.pm, perl-install/lang.pm,
+ perl-install/standalone/drakTermServ: /usr/share/config/kdm is
+ /etc/kde/kdm (well /usr/share/config -> /etc/kde)
+
+2006-09-05 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: write imwheel startup.conf after
+ installing pkg imwheel so that /etc/X11/imwheel exists
+
+2006-09-05 10:29 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-05 10:25 nbauer
+
+ * perl-install/share/po/de.po: Update German translation
+ (Sebastian Deutscher)
+
+2006-09-05 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: have a valid
+ /etc/sysconfig/mouse when using drakx-in-chroot (useful for
+ mandriva One)
+
+2006-09-05 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: do not have both "use
+ common" and "use MDK::Common"
+
+2006-09-05 10:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: ask before bindly using software raid
+
+2006-09-05 09:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: 50% sanitized
+
+2006-09-05 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: nicer logging
+ * perl-install/mouse.pm: - allow automatically using imwheel
+ without evdev
+ - change the format used for imwheel kind of mouse
+ (imwheel|MX500 is now imwheel+MX500, imwheel is now
+ imwheel+generic)
+
+2006-09-05 11:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: /usr/share/config/kdm is /etc/kde/kdm (well
+ /usr/share/config -> /etc/kde)
+
+2006-09-05 11:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/bootloader.pm,
+ perl-install/install/any.pm, perl-install/lang.pm,
+ perl-install/standalone/drakTermServ: /usr/share/config/kdm is
+ /etc/kde/kdm (well /usr/share/config -> /etc/kde)
+
+2006-09-05 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: write imwheel startup.conf after
+ installing pkg imwheel so that /etc/X11/imwheel exists
+
+2006-09-05 10:29 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-09-05 10:25 nbauer
+
+ * perl-install/share/po/de.po: Update German translation
+ (Sebastian Deutscher)
+
+2006-09-05 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: have a valid
+ /etc/sysconfig/mouse when using drakx-in-chroot (useful for
+ mandriva One)
+
+2006-09-05 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: do not have both "use
+ common" and "use MDK::Common"
+
+2006-09-05 10:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: ask before bindly using software raid
+
+2006-09-05 09:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: 50% sanitized
+
+2006-09-05 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: nicer logging
+ * perl-install/mouse.pm: - allow automatically using imwheel
+ without evdev
+ - change the format used for imwheel kind of mouse
+ (imwheel|MX500 is now imwheel+MX500, imwheel is now
+ imwheel+generic)
+
+2006-09-05 08:17 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: /sys is mounted in stage1, umount it
+
+2006-09-05 10:25 nbauer
+
+ * perl-install/share/po/de.po: Update German translation
+ (Sebastian Deutscher)
+
+2006-09-05 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: have a valid
+ /etc/sysconfig/mouse when using drakx-in-chroot (useful for
+ mandriva One)
+
+2006-09-05 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: do not have both "use
+ common" and "use MDK::Common"
+
+2006-09-05 10:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: ask before bindly using software raid
+
+2006-09-05 09:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: 50% sanitized
+
+2006-09-05 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: nicer logging
+ * perl-install/mouse.pm: - allow automatically using imwheel
+ without evdev
+ - change the format used for imwheel kind of mouse
+ (imwheel|MX500 is now imwheel+MX500, imwheel is now
+ imwheel+generic)
+
+2006-09-05 08:17 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: /sys is mounted in stage1, umount it
+
+2006-09-05 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: /sys is mounted in stage1,
+ umount it
+
+2006-09-05 07:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: we only need /dev/mouse symlink for X.
+
+ the bug occured when configuring X and /etc/sysconfig/mouse was
+ empty or buggy (#24020)
+
+2006-09-05 07:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: installing on some dmraid need the
+ option --stage2=/boot/grub/stage2.
+ using it in any case (it is what grub-install is doing)
+
+ the part of help on setup command concerning --stage2:
+ If you install GRUB under the grub shell and you cannot
+ unmount
+ the partition where GRUB images reside, specify the option
+ `--stage2' to tell GRUB the file name under your OS.
+
+2006-09-05 07:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add bpalogin (#25136)
+
+2006-09-05 05:00 mmodem
+
+ * perl-install/install/share/po/pt.po: up
+
+2006-09-05 04:56 mmodem
+
+ * perl-install/install/share/po/pt.po: up
+
+2006-09-04 22:27 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-04 20:10 nbauer
+
+ * perl-install/standalone/po/de.po: Update German translation
+
+2006-09-04 19:42 nbauer
+
+ * perl-install/share/po/de.po: Update German translation
+
+2006-09-04 19:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.64-1mdv2007.0
+
+2006-09-04 19:13 nbauer
+
+ * perl-install/install/share/po/de.po: Update German translation
+
+2006-09-04 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: monitor all wireless
+ interfaces, not only the first one
+
+2006-09-04 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: use signal strength from
+ iwconfig output for current AP (#24498)
+
+2006-09-04 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/cpufreq.pm: (probe_powerpc) perl_checko cleanup
+
+2006-09-04 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (configure_timezone) help perl_checker
+
+2006-09-04 18:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm,
+ perl-install/network/network.pm: guess network hostname
+
+2006-09-04 18:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: write hostname (#24012)
+
+2006-09-04 18:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: introduce write_hostname
+
+2006-09-04 17:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: use iwlist to scan networks
+ even if no interface is specified
+
+2006-09-04 17:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/de.po: typo fix in german translation
+ (Nicolas Bauer, #24463)
+
+2006-09-04 16:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: really read/write
+ DNS settings
+
+2006-09-04 15:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump require on MDK::Common due to
+ important bugfix
+
+2006-09-04 14:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: display IP address and
+ gateway in tooltip (#23800)
+
+2006-09-04 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show interface type with an
+ icon (#23767)
+
+2006-09-04 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/connection/cable.pm,
+ perl-install/network/connection/dvb.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/connection/wireless.pm: add handles_ifcfg()
+ method so that find_ifcfg_type() can guess the interface type
+
+2006-09-04 14:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/bluetooth.pm,
+ perl-install/network/connection/cable.pm,
+ perl-install/network/connection/cellular.pm,
+ perl-install/network/connection/dvb.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/connection/wireless.pm,
+ perl-install/network/connection/xdsl.pm: use new icons
+
+2006-09-04 13:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/sl.po: updated Slovenian file
+
+2006-09-04 13:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/sl.po: updated Slovenian file
+
+2006-09-04 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/cpufreq.pm: (probe_powerpc) fix bug spotted by
+ diagnostics pragma where perl would
+ split on both spaces and commas...
+
+2006-09-04 12:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: simplify icon path
+
+2006-09-04 12:24 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/standalone/po/zh_TW.po: updated po file
+
+2006-09-04 09:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/themes-galaxy.rc: change background
+ color (as requested by ln)
+
+2006-09-04 08:25 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-09-04 08:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drak3d: HIG
+
+2006-09-04 08:02 Warly <warly at mandriva.com>
+
+ * perl-install/install/pixmaps/logo-mandriva.png: added RC header
+
+2006-09-04 05:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (acceptLicense) really don't display
+ "release notes" button if none availlable (eg: /usr/share/doc
+ being empty) (#23304)
+
+2006-09-04 05:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install
+ xorg-x11-cyrillic-fonts for "mk" locale
+
+2006-09-04 04:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: (selectMouse) do not
+ bother ask for which USB driver (#24514)
+
+2006-09-03 23:21 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: some Dutch strings updated
+
+2006-09-03 22:18 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * live/draklive-install/po/nl.po: Reinout van Schouwen
+ <reinouts@gnome.org>
+
+ - Updated Dutch translation
+
+2006-09-02 19:50 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/share/po/hu.po: update
+
+2006-09-02 11:28 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-09-02 10:24 berthy
+
+ * live/draklive-install/po/fr.po: Update french translation
+
+2006-09-02 04:28 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/standalone/po/zh_TW.po: updated po file
+
+2006-09-02 01:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/ga.po: small fix for translation
+
+2006-09-02 01:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: retreived two missing
+ strings
+
+2006-09-02 00:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/mk.po: updated Macedonian file
+
+2006-09-01 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: add subversion in
+ development category (#25073)
+
+2006-09-01 19:21 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/standalone/po/hu.po: update
+
+2006-09-01 17:46 mmodem
+
+ * perl-install/standalone/po/pt.po: up
+
+2006-09-01 17:45 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-09-01 17:43 mmodem
+
+ * perl-install/install/help/po/pt.po: up
+
+2006-09-01 17:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/br.po, live/draklive-install/po/cs.po,
+ live/draklive-install/po/es.po, live/draklive-install/po/uz.po,
+ live/draklive-install/po/uz@Latn.po: updated Spanish file
+
+2006-09-01 17:37 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/draksplash2: N is in common now
+
+2006-09-01 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: use RADIO & DVB flags
+
+2006-09-01 16:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_TW.po: updated Spanish file,
+ retrieved some common translations
+
+2006-09-01 15:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po, perl-install/share/po/wa.po:
+ updated Spanish file
+
+2006-09-01 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.63-1mdv2007.0
+
+2006-09-01 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/keyboard.pm: fix japanese keyboard configuration
+ (UTUMI Hirosi <utuhiro78@yahoo.co.jp)
+
+2006-09-01 14:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po: Updated Spanish translation,
+ retrieved some common translations
+
+2006-09-01 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/install/share/rpmsrate, perl-install/mouse.pm: use
+ imwheel to handle thumb buttons (and more) (need imwheel
+ 1.0.0-0.pre12.1mdv2007)
+
+2006-09-01 14:41 Arpad Biro <biro_arpad at yahoo.com>
+
+ * perl-install/install/share/po/hu.po: update
+
+2006-09-01 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm, perl-install/run_program.pm: allow
+ timeout => 'never', and use for formatting (mke2fs can be
+ sloooow)
+
+2006-09-01 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install soundwrapper for
+ OSS cards too
+
+2006-09-01 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add 915resolution
+
+2006-09-01 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: use defaultPref() instead of
+ pref() in mozilla-firefox config file so that it can be
+ overridden by user config
+
+2006-09-01 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker compliance
+
+2006-09-01 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use info from usbtable to know wether to
+ use evdev
+ (for example, evdev is useful for MX700, which do not have a
+ HWHEEL, and we
+ can't use KEY to know wether it has many buttons since receivers
+ report things
+ like KEY=ffff0000)
+
+2006-09-01 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: allow using information from
+ usbtable
+
+2006-09-01 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: we always use HWheelXAxisMapping for
+ evdev, it tells mice with no horizontal wheel to skip those
+ buttons
+ that way we ensure 6 & 7 is always horizontal wheel
+ (cf patch skip-HWheelRelativeAxisButtons-even-if-unused in
+ x11-driver-input-evdev)
+
+2006-09-01 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/connection/providers/xdsl.pm,
+ perl-install/standalone/drakfont,
+ perl-install/standalone/draksambashare,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/printerdrake: help emacs with encoding
+
+2006-09-01 12:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm, perl-install/standalone/drakids,
+ perl-install/standalone/net_applet: more ifw2 GUI
+
+2006-09-01 07:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - simplify the dialog when the chosen
+ country is not in the "best" list
+ - set $ext_country to $country by default, this is needed
+ because $ext_country
+ will be set to a valid entry by interactive, and so "undef" is
+ modified
+ (bugzilla #24635)
+
+2006-09-01 07:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix typo in explanation
+
+2006-08-31 22:42 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-08-31 21:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.62-1mdv2007.0
+
+2006-08-31 21:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: configure three
+ {0,1,2}.foo.pool.ntp.org NTP server addresses when a NTP pool is
+ used (#10659)
+
+2006-08-31 21:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: strip digits from NTP pool
+ addresses when matching servers list
+
+2006-08-31 20:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock, perl-install/timezone.pm:
+ move ntp server writing in timezone::set_ntp_server
+
+2006-08-31 20:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: initialize ntp server
+ combobox according to configured server
+
+2006-08-31 20:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: don't bitwise-or ntp server
+ strings...
+
+2006-08-31 20:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: warn if no NTP server is
+ entered
+
+2006-08-31 20:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: handle user edited ntp server
+ address
+
+2006-08-31 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: use Retry/Quit buttons for
+ the ntp sync error window (#17037)
+
+2006-08-31 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: warn if ntp package
+ installation fails (#12147)
+
+2006-08-31 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.61-1mdv2007.0
+
+2006-08-31 17:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: read timezone settings
+ in case the country step isn't called
+
+2006-08-31 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: improve UTC/local time selection (#23275)
+
+2006-08-31 16:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix titi adding tibetan
+
+2006-08-31 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix using the proprietary driver
+ by default in automatic mode
+
+2006-08-31 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (choose_Driver2_or_not) fix not
+ using the proprietary driver in harddrake service
+
+2006-08-31 15:33 ybando
+
+ * perl-install/standalone/po/ja.po: update Japanese translation
+
+2006-08-31 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: make sure soundwrapper is
+ installed, at least when there's an ALSA
+ driven sound card (#24371)
+
+2006-08-31 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: revert r58969 and fix
+ package name so that it doesn't happen anymore
+ (thx for spotting it pixel :-))
+
+2006-08-31 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't have a "can not stat file
+ /sys/bus/scsi/devices" when using command "bug"
+
+2006-08-31 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add lvm2 (#24658) and mdadm
+ (#24942) on live media
+
+2006-08-31 11:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix useless line (same as
+ above, only more restricted)
+
+2006-08-31 11:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: simplify (thanks Pixel)
+
+2006-08-31 11:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: remove spaces in no_proxy list
+ (#24651)
+
+2006-08-31 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use ask_for_X_restart to kill X
+ after logout (or fglrx will hang at next login in Xgl)
+
+2006-08-31 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm, perl-install/standalone/XFdrake: move
+ ask_for_X_restart in any
+
+2006-08-31 10:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: better description for
+ BIOSHotkeys thanks to cooker-i18n and Thomas Backlund
+
+2006-08-31 09:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: remove useless option
+
+2006-08-31 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: simplify
+
+2006-08-31 09:01 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-08-31 08:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: fix gdk-pixbuf-query-loaders
+ clobbering stdout file
+
+2006-08-31 08:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/da.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fur.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_TW.po:
+ updated Galician file; retrieved some common translations
+
+2006-08-31 08:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/gl.po: updated Galician file
+
+2006-08-31 08:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/help/po/gl.po: updated Galician file
+
+2006-08-31 07:13 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2006-08-31 04:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: retrieved common
+ translations
+
+2006-08-31 01:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po: retrieved common translations
+
+2006-08-30 23:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list b2c2-flexcop-pci & radio-maestro
+
+2006-08-30 23:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add mptspi (#22738)
+
+2006-08-30 23:46 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-08-30 23:45 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-08-30 23:42 mmodem
+
+ * perl-install/share/po/pt.po: up
+
+2006-08-30 23:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po: retrieved some common
+ translations
+
+2006-08-30 22:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: allow to disable 3D desktop even in
+ not supported (in interactive gtk/console mode)
+
+2006-08-30 22:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: don't preselect compiz when not
+ supported and current 3D method is undefined
+
+2006-08-30 22:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: allow to run in console mode
+
+2006-08-30 20:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install packages for tibetan
+
+2006-08-30 19:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/pixmaps/langs/lang-bo.png,
+ perl-install/lang.pm: Added choice for tibetan language (using
+ dz_BT locale for now)
+
+2006-08-30 18:57 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-08-30 18:47 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-08-30 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: when retrying a pkg, use
+ --noscripts
+
+2006-08-30 13:49 felipe
+
+ * perl-install/standalone/po/pt_BR.po: translating to pt_BR
+
+2006-08-30 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__mbr_or_not) use a
+ specialized banner icon
+ (backported from mlcs4 branch
+
+2006-08-30 12:19 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-08-30 11:41 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-08-30 09:40 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install openoffice.org
+ theme according to the desktop
+
+2006-08-30 09:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: add bcm43xx-fwcutter on
+ media
+
+2006-08-30 09:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: add some IFW2 interface bits
+
+2006-08-30 08:46 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-08-30 08:21 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-08-30 06:39 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: gimp-help-2 is help
+ (CAT_DOCS)
+
+2006-08-30 00:04 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/standalone/po/id.po: Updated
+
+2006-08-29 22:41 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-08-29 22:34 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-08-29 22:32 mmodem
+
+ * perl-install/install/share/po/pt.po: update
+
+2006-08-29 22:19 mmodem
+
+ * perl-install/standalone/po/pt.po: update
+
+2006-08-29 21:36 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-08-29 21:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install scim-bridge when
+ installing commercial apps with a locale
+ that is using scim (it still needs to be manually set up though)
+
+2006-08-29 21:22 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: openoffice.org is with a
+ small 'o'
+
+2006-08-29 20:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: translate new strings
+
+2006-08-29 20:25 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: translate new strings
+
+2006-08-29 20:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-08-29 19:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: more IFW2 strings
+
+2006-08-29 19:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: add some IFW2 strings
+
+2006-08-29 18:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: no_proxy support for
+ mozilla-firefox and gconf
+
+2006-08-29 18:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: no_proxy support for shell and
+ KDE (Emmanuel Blindauer and Vincent Panel)
+
+2006-08-29 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: gcom is required for 3G
+ connections
+
+2006-08-29 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: handle string list arguments to
+ gcontool
+ * perl-install/network/network.pm: delete mozilla-firefox proxy
+ settings when appropriate
+
+2006-08-29 15:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: use proxy ports defaults
+ according to the URL protocol
+
+2006-08-29 15:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix old typo
+
+2006-08-29 15:17 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/compssUsers.pl,
+ perl-install/install/share/rpmsrate: add a CDCOM category to be
+ able not to install these packages on the one
+
+2006-08-29 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: do not allow copy_rpms_on_disk
+ for http/ftp installs (since we currently do a cp -r)
+
+2006-08-29 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: allow copy_rpms_on_disk in
+ auto_installs
+
+2006-08-29 14:57 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-08-29 14:39 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-08-29 14:24 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-08-29 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.60-1mdv2007.0
+
+2006-08-29 13:38 felipe
+
+ * perl-install/share/po/pt_BR.po: fixing fuzzy entries
+
+2006-08-29 12:09 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: don't start cpufreqd service
+
+2006-08-29 12:07 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: add a flag for commercial apps which
+ should not be installed; add ia_ora theme
+
+2006-08-29 12:03 ybando
+
+ * perl-install/share/po/ja.po: update Japanese translation
+
+2006-08-29 10:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: configure mozilla-firefox proxy
+ settings (#10875)
+
+2006-08-29 10:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: split proxy regexps and default
+ ports
+
+2006-08-29 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: plug doesn't handle {no_Window_Manager}
+ (#24876)
+
+2006-08-29 09:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: split proxy configuration
+ functions
+
+2006-08-29 09:13 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: fix typos
+
+2006-08-29 09:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: have a coherent variable name
+
+2006-08-29 01:13 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-08-28 23:23 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/standalone/po/ru.po: updated translation
+
+2006-08-28 22:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.59-1mdv2007.0
+
+2006-08-28 22:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: improve glx detection by using
+ glxinfo output with and without Mesa libraries
+
+2006-08-28 22:16 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-08-28 22:11 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Update Czech translation
+
+2006-08-28 20:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2006-08-28 19:38 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/install/share/po/cs.po: Update Czech translation
+
+2006-08-28 19:36 thomas
+
+ * perl-install/standalone/po/sv.po: updated translations
+
+2006-08-28 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/share/po/fr.po: update
+
+2006-08-28 19:34 thomas
+
+ * live/draklive-install/po/fi.po, live/draklive-install/po/sv.po:
+ updated translations
+
+2006-08-28 19:32 thomas
+
+ * perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/sv.po: updated translations
+
+2006-08-28 19:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync after rephrasing ACPI/APIC
+ strings with positive verbs (#24355)
+
+2006-08-28 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__general) having a
+ insensitive checkbox is more
+ consistent that one that appear/disappear according to another
+ between
+ each run
+
+ what's more, it's now possitble to switch from nolapic into apic
+ in
+ one pass instead of two
+
+2006-08-28 19:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__general) rephrasing
+ ACPI/APIC strings by using positive verbs (#24355)
+
+2006-08-28 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: return full glx info
+
+2006-08-28 18:13 felipe
+
+ * perl-install/standalone/po/pt_BR.po: translating to pt_BR
+
+2006-08-28 17:43 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-08-28 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: update udev
+ net-config rules during install (using udev scripts) so that
+ configuration is consistent at first boot
+
+2006-08-28 17:33 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: fix typo
+
+2006-08-28 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: more fuzzy match to handle
+ nvidia_with_subsets
+
+2006-08-28 17:11 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts, rescue/list.xml: support for linux raid
+ (md0) in guessmounts
+ * perl-install/mygtk2.pm, perl-install/standalone/drak3d,
+ perl-install/ugtk2.pm: allow specifying no_Window_Manager or not
+ without "local"izing $::isStandalone
+
+2006-08-28 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: fix default compiz selection
+ when Xgl is used
+
+2006-08-28 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: i suspect HDIO_GETGEO to
+ return rubbish values on dmraid devices, log the returned values
+ to have some proofs
+
+2006-08-28 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: update udev
+ net-config rules during install (using udev scripts) so that
+ configuration is consistent at first boot
+
+2006-08-28 17:33 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: fix typo
+
+2006-08-28 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: more fuzzy match to handle
+ nvidia_with_subsets
+
+2006-08-28 17:11 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts, rescue/list.xml: support for linux raid
+ (md0) in guessmounts
+ * perl-install/mygtk2.pm, perl-install/standalone/drak3d,
+ perl-install/ugtk2.pm: allow specifying no_Window_Manager or not
+ without "local"izing $::isStandalone
+
+2006-08-28 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: fix default compiz selection
+ when Xgl is used
+
+2006-08-28 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: i suspect HDIO_GETGEO to
+ return rubbish values on dmraid devices, log the returned values
+ to have some proofs
+
+2006-08-28 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.58-1mdv2007.0
+
+2006-08-28 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-08-28 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: use XaaNoOffscreenPixmaps for i810
+ and ati (#24628)
+
+2006-08-28 13:46 felipe
+
+ * perl-install/share/po/pt_BR.po: translating to pt_BR
+
+2006-08-28 13:30 felipe
+
+ * perl-install/install/share/po/pt_BR.po: translating to pt_BR
+
+2006-08-28 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: re-enable RenderAccel by
+ default on nvidia proprietary driver (pb fixed with version 8774)
+
+2006-08-28 11:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drak3d: fix layout when embedded
+
+2006-08-28 07:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2006-08-28 07:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: updated Welsh file
+
+2006-08-27 14:37 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: finish new strings
+
+2006-08-27 14:36 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: finish new strings
+
+2006-08-27 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/invictus.pm: don't write world-readable
+ ucarp.d files, they contain passwords
+
+2006-08-27 14:26 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: finish new strings
+
+2006-08-27 14:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm,
+ perl-install/network/network.pm: write GATEWAY settings (#20169)
+
+2006-08-27 11:04 ybando
+
+ * perl-install/standalone/po/ja.po: update translation for
+ Japanese (thanks to UTUMI Hirosi)
+
+2006-08-27 11:02 ybando
+
+ * perl-install/share/po/ja.po: update translation for Japanese
+ (thanks to UTUMI Hirosi)
+
+2006-08-27 10:09 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po,
+ perl-install/share/po/id.po, perl-install/standalone/po/id.po:
+ Updated
+
+2006-08-27 08:17 Warly <warly at mandriva.com>
+
+ * live/draklive/draklive: do not fail while umounting
+
+2006-08-27 08:10 Warly <warly at mandriva.com>
+
+ * live/draklive/draklive: umount filesystem which could stay
+ mounted in the chroot before cleaning
+
+2006-08-26 14:16 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-08-26 13:38 berthy
+
+ * perl-install/install/share/po/fr.po: Update french translation
+
+2006-08-26 13:27 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-08-26 12:41 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-26 12:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.57-1mdv2007.0
+
+2006-08-26 11:35 ybando
+
+ * perl-install/standalone/po/ja.po: update translation for Japanese
+
+2006-08-26 11:34 ybando
+
+ * perl-install/share/po/ja.po: update translation for Japanese
+
+2006-08-26 05:15 ybando
+
+ * perl-install/install/share/po/ja.po: update translation for
+ Japanese
+
+2006-08-25 14:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: perl_checker
+
+2006-08-25 14:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm: make gtk2 watch method work again
+ (#24589)
+
+2006-08-25 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: display an error message when
+ the daemon isn't started at all (instead of dying silently)
+
+2006-08-25 11:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: really ensure that task-3ddesktop
+ is installed
+
+2006-08-25 11:28 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: Updated POT files.
+
+2006-08-25 10:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: only do no_Window_Manager tricks
+ when no window manager is detected
+
+2006-08-24 23:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: list compiz as a window manager
+
+2006-08-24 23:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: ask window manager to logout
+
+2006-08-24 23:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: tmdns isn't used anymore
+
+2006-08-24 23:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: update changelog for
+ 10.4.56-1mdv2007.0
+
+2006-08-24 23:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker
+ * perl-install/standalone/net_applet: perl_checker fixes
+
+2006-08-24 23:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to run drakvpn from
+ VPN submenu
+
+2006-08-24 23:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move wireless configuration
+ button in wireless sub-menu
+
+2006-08-24 22:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't show ndiswrapper choice
+
+2006-08-24 22:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/connection/wireless.pm: allow to select
+ automatically usable devices only
+
+2006-08-24 22:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: center the tool
+
+2006-08-24 22:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: direct rendering is supported by
+ the card if in Xgl
+
+2006-08-24 22:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use standalone again, so that it
+ can be embedded in drakconf
+
+2006-08-24 22:09 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: don't run GLX
+ configuration in finish-install
+
+2006-08-24 21:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: create missing wmsession.d dir
+
+2006-08-24 21:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: add drak3d wmsession file
+
+2006-08-24 21:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: use new draknetprofile
+ icons
+
+2006-08-24 21:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use new drak3d icons
+
+2006-08-24 21:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakinvictus: use new drakinvictus icons
+
+2006-08-24 21:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: use new drakvpn icon
+
+2006-08-24 21:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/icons/3D-16.png,
+ perl-install/standalone/icons/3D-24.png,
+ perl-install/standalone/icons/3D-32.png,
+ perl-install/standalone/icons/3D-52.png,
+ perl-install/standalone/icons/3D-64.png,
+ perl-install/standalone/icons/3D.png,
+ perl-install/standalone/icons/3D_128.png,
+ perl-install/standalone/icons/drak3d-16.png,
+ perl-install/standalone/icons/drak3d-24.png,
+ perl-install/standalone/icons/drak3d-32.png,
+ perl-install/standalone/icons/drak3d-52.png,
+ perl-install/standalone/icons/drak3d-64.png,
+ perl-install/standalone/icons/drak3d.png,
+ perl-install/standalone/icons/drak3d_128.png: rename 3D icons to
+ a less generic drak3d name
+
+2006-08-24 21:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/icons/3D-128.png,
+ perl-install/standalone/icons/3D-48.png,
+ perl-install/standalone/icons/3D.png,
+ perl-install/standalone/icons/3D_128.png,
+ perl-install/standalone/icons/drakmenustyle-128.png,
+ perl-install/standalone/icons/drakmenustyle-48.png,
+ perl-install/standalone/icons/drakmenustyle.png,
+ perl-install/standalone/icons/drakmenustyle_128.png,
+ perl-install/standalone/icons/draknetprofile-128.png,
+ perl-install/standalone/icons/draknetprofile-48.png,
+ perl-install/standalone/icons/draknetprofile.png,
+ perl-install/standalone/icons/draknetprofile_128.png,
+ perl-install/standalone/icons/drakvpn-128.png,
+ perl-install/standalone/icons/drakvpn-48.png,
+ perl-install/standalone/icons/drakvpn.png,
+ perl-install/standalone/icons/drakvpn_128.png,
+ perl-install/standalone/icons/hwapplet-128.png,
+ perl-install/standalone/icons/hwapplet-48.png,
+ perl-install/standalone/icons/hwapplet.png,
+ perl-install/standalone/icons/hwapplet_128.png,
+ perl-install/standalone/icons/invictus-128.png,
+ perl-install/standalone/icons/invictus-48.png,
+ perl-install/standalone/icons/invictus.png,
+ perl-install/standalone/icons/invictus_128.png: adapt to
+ drakconf icon name expectations
+
+2006-08-24 20:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/icons/drakvpn.png: remove old drakvpn
+ icon
+
+2006-08-24 20:46 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Read all XML files in
+ /usr/share/hplip/data/xml/ to determine
+ whether a printer is supported by HPLIP or not
+
+2006-08-24 20:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pixmaps/bluetooth-128.png,
+ perl-install/pixmaps/bluetooth-16.png,
+ perl-install/pixmaps/bluetooth-24.png,
+ perl-install/pixmaps/bluetooth-32.png,
+ perl-install/pixmaps/bluetooth-48.png,
+ perl-install/pixmaps/bluetooth-52.png,
+ perl-install/pixmaps/bluetooth-64.png,
+ perl-install/pixmaps/cablemodem-128.png,
+ perl-install/pixmaps/cablemodem-16.png,
+ perl-install/pixmaps/cablemodem-24.png,
+ perl-install/pixmaps/cablemodem-32.png,
+ perl-install/pixmaps/cablemodem-48.png,
+ perl-install/pixmaps/cablemodem-52.png,
+ perl-install/pixmaps/cablemodem-64.png,
+ perl-install/pixmaps/cellular-128.png,
+ perl-install/pixmaps/cellular-16.png,
+ perl-install/pixmaps/cellular-24.png,
+ perl-install/pixmaps/cellular-32.png,
+ perl-install/pixmaps/cellular-48.png,
+ perl-install/pixmaps/cellular-52.png,
+ perl-install/pixmaps/cellular-64.png,
+ perl-install/pixmaps/dvb-128.png,
+ perl-install/pixmaps/dvb-16.png,
+ perl-install/pixmaps/dvb-24.png,
+ perl-install/pixmaps/dvb-32.png,
+ perl-install/pixmaps/dvb-48.png,
+ perl-install/pixmaps/dvb-52.png,
+ perl-install/pixmaps/dvb-64.png,
+ perl-install/pixmaps/ethernet-128.png,
+ perl-install/pixmaps/ethernet-16.png,
+ perl-install/pixmaps/ethernet-24.png,
+ perl-install/pixmaps/ethernet-32.png,
+ perl-install/pixmaps/ethernet-52.png,
+ perl-install/pixmaps/ethernet-64.png,
+ perl-install/pixmaps/ethernet48.png,
+ perl-install/pixmaps/isdn-128.png,
+ perl-install/pixmaps/isdn-16.png,
+ perl-install/pixmaps/isdn-24.png,
+ perl-install/pixmaps/isdn-32.png,
+ perl-install/pixmaps/isdn-48.png,
+ perl-install/pixmaps/isdn-52.png,
+ perl-install/pixmaps/isdn-64.png,
+ perl-install/pixmaps/potsmodem-128.png,
+ perl-install/pixmaps/potsmodem-16.png,
+ perl-install/pixmaps/potsmodem-24.png,
+ perl-install/pixmaps/potsmodem-32.png,
+ perl-install/pixmaps/potsmodem-48.png,
+ perl-install/pixmaps/potsmodem-52.png,
+ perl-install/pixmaps/potsmodem-64.png,
+ perl-install/pixmaps/wireless-128.png,
+ perl-install/pixmaps/wireless-16.png,
+ perl-install/pixmaps/wireless-24.png,
+ perl-install/pixmaps/wireless-32.png,
+ perl-install/pixmaps/wireless-48.png,
+ perl-install/pixmaps/wireless-52.png,
+ perl-install/pixmaps/wireless-64.png,
+ perl-install/pixmaps/xdsl-128.png,
+ perl-install/pixmaps/xdsl-16.png,
+ perl-install/pixmaps/xdsl-24.png,
+ perl-install/pixmaps/xdsl-32.png,
+ perl-install/pixmaps/xdsl-48.png,
+ perl-install/pixmaps/xdsl-52.png,
+ perl-install/pixmaps/xdsl-64.png,
+ perl-install/standalone/icons/3D-128.png,
+ perl-install/standalone/icons/3D-16.png,
+ perl-install/standalone/icons/3D-24.png,
+ perl-install/standalone/icons/3D-32.png,
+ perl-install/standalone/icons/3D-48.png,
+ perl-install/standalone/icons/3D-52.png,
+ perl-install/standalone/icons/3D-64.png,
+ perl-install/standalone/icons/drakbug-16.png,
+ perl-install/standalone/icons/drakmenustyle-128.png,
+ perl-install/standalone/icons/drakmenustyle-16.png,
+ perl-install/standalone/icons/drakmenustyle-24.png,
+ perl-install/standalone/icons/drakmenustyle-32.png,
+ perl-install/standalone/icons/drakmenustyle-48.png,
+ perl-install/standalone/icons/drakmenustyle-52.png,
+ perl-install/standalone/icons/drakmenustyle-64.png,
+ perl-install/standalone/icons/draknetprofile-128.png,
+ perl-install/standalone/icons/draknetprofile-16.png,
+ perl-install/standalone/icons/draknetprofile-24.png,
+ perl-install/standalone/icons/draknetprofile-32.png,
+ perl-install/standalone/icons/draknetprofile-48.png,
+ perl-install/standalone/icons/draknetprofile-52.png,
+ perl-install/standalone/icons/draknetprofile-64.png,
+ perl-install/standalone/icons/draksound-16.png,
+ perl-install/standalone/icons/draksplash-16.png,
+ perl-install/standalone/icons/drakvpn-128.png,
+ perl-install/standalone/icons/drakvpn-16.png,
+ perl-install/standalone/icons/drakvpn-24.png,
+ perl-install/standalone/icons/drakvpn-32.png,
+ perl-install/standalone/icons/drakvpn-48.png,
+ perl-install/standalone/icons/drakvpn-52.png,
+ perl-install/standalone/icons/drakvpn-64.png,
+ perl-install/standalone/icons/drakwizard-16.png,
+ perl-install/standalone/icons/hwapplet-128.png,
+ perl-install/standalone/icons/hwapplet-16.png,
+ perl-install/standalone/icons/hwapplet-24.png,
+ perl-install/standalone/icons/hwapplet-32.png,
+ perl-install/standalone/icons/hwapplet-48.png,
+ perl-install/standalone/icons/hwapplet-52.png,
+ perl-install/standalone/icons/hwapplet-64.png,
+ perl-install/standalone/icons/invictus-128.png,
+ perl-install/standalone/icons/invictus-16.png,
+ perl-install/standalone/icons/invictus-24.png,
+ perl-install/standalone/icons/invictus-32.png,
+ perl-install/standalone/icons/invictus-48.png,
+ perl-install/standalone/icons/invictus-52.png,
+ perl-install/standalone/icons/invictus-64.png: add new icons
+
+2006-08-24 19:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: 3D desktop support in
+ finish-install
+
+2006-08-24 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: revert previous commit
+
+2006-08-24 19:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/interactive.pm: revert previous commit
+
+2006-08-24 19:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm,
+ perl-install/install/interactive.pm,
+ perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: backport using
+ specific banners from mlcs4 branch
+
+2006-08-24 18:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ move package installation in Xconfig::glx::detect_may_install
+
+2006-08-24 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: perl_checker cleanup
+
+2006-08-24 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker cleanup
+
+2006-08-24 18:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 10.4.56-1mdv2007.0
+
+2006-08-24 17:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: don't use standalone, so that
+ the window is centered when no dm
+
+2006-08-24 17:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: fix compiz detection
+
+2006-08-24 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl,
+ mdk-stage1/pcmcia-resource/update-pcmcia-ids.pl,
+ mdk-stage1/usb-resource/update-usb-ids.pl: die stage1 generation
+ when the PCI/USB/PCMCIA modules aren't available (may happen
+ when the kernel isn't installed, #21918)
+
+2006-08-24 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: fix compiz auto-detection
+
+2006-08-24 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: remove 2.4 compatibility aliases, it's unused
+ make the modules list non empty when it should
+
+2006-08-24 15:52 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-08-24 15:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: - Drop network_*.img, ka.img on x86_64
+ - Increase all.img rd size
+ - Fix .not-enough-room to correctly print pcitable nr entries
+
+2006-08-24 15:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile.config: Use real Mandriva Linux versioning
+
+2006-08-24 15:38 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: Add megaide
+
+2006-08-24 15:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: Remove more disk/scsi modules for x86_64:
+ - tmscsim (DC930T) only 2 pcitable entries and code probably not
+ 64-bit clean
+ - qlogicfas408, originally ISA card (not supported) and PCMCIA
+ model unlikely
+ to be used with an SCSI CD Reader anyway
+
+2006-08-24 15:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: allow specifying EXA on i128
+ ati sis trident via savage (list taken from
+ http://wiki.x.org/wiki/ExaStatus)
+
+2006-08-24 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pixmaps/encryption-open-24.png,
+ perl-install/pixmaps/encryption-strong-24.png,
+ perl-install/pixmaps/encryption-weak-24.png,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/net_applet: add new wireless encryption
+ icons
+
+2006-08-24 15:04 felipe
+
+ * perl-install/share/po/pt_BR.po: translating to pt_BR
+
+2006-08-24 14:53 felipe
+
+ * perl-install/share/po/pt_BR.po: fixing a fuzzy entry
+
+2006-08-24 14:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: add Compiz/AIGLX/Xgl descriptions
+
+2006-08-24 14:39 felipe
+
+ * perl-install/standalone/po/pt_BR.po: Translated by Laerte
+
+2006-08-24 14:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: Use the same kernel-BOOT laziness for
+ x86_-4 too.
+
+2006-08-24 14:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ update strings to include the '3D' word
+
+2006-08-24 13:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use two radio button sets
+
+2006-08-24 13:43 felipe
+
+ * perl-install/share/po/pt_BR.po: updating the brazilian
+ portuguese translation
+
+2006-08-24 15:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: - Drop network_*.img, ka.img on x86_64
+ - Increase all.img rd size
+ - Fix .not-enough-room to correctly print pcitable nr entries
+
+2006-08-24 15:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile.config: Use real Mandriva Linux versioning
+
+2006-08-24 15:38 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: Add megaide
+
+2006-08-24 15:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: Remove more disk/scsi modules for x86_64:
+ - tmscsim (DC930T) only 2 pcitable entries and code probably not
+ 64-bit clean
+ - qlogicfas408, originally ISA card (not supported) and PCMCIA
+ model unlikely
+ to be used with an SCSI CD Reader anyway
+
+2006-08-24 15:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: allow specifying EXA on i128
+ ati sis trident via savage (list taken from
+ http://wiki.x.org/wiki/ExaStatus)
+
+2006-08-24 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pixmaps/encryption-open-24.png,
+ perl-install/pixmaps/encryption-strong-24.png,
+ perl-install/pixmaps/encryption-weak-24.png,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/net_applet: add new wireless encryption
+ icons
+
+2006-08-24 15:04 felipe
+
+ * perl-install/share/po/pt_BR.po: translating to pt_BR
+
+2006-08-24 14:53 felipe
+
+ * perl-install/share/po/pt_BR.po: fixing a fuzzy entry
+
+2006-08-24 14:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: add Compiz/AIGLX/Xgl descriptions
+
+2006-08-24 14:39 felipe
+
+ * perl-install/standalone/po/pt_BR.po: Translated by Laerte
+
+2006-08-24 14:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: Use the same kernel-BOOT laziness for
+ x86_-4 too.
+
+2006-08-24 14:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm, perl-install/standalone/drak3d:
+ update strings to include the '3D' word
+
+2006-08-24 13:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: use two radio button sets
+
+2006-08-24 13:43 felipe
+
+ * perl-install/share/po/pt_BR.po: updating the brazilian
+ portuguese translation
+
+2006-08-24 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: allow setting BIOSHotkeys on
+ radeon
+
+2006-08-24 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: Clone is the default on ATI,
+ allow forcing no Clone (fix buggy detection of
+ the CRT, as reproduced here on a thinkpad here, and reported by
+ Thomas
+ Backlund on cooker)
+
+2006-08-24 12:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: make it executable
+
+2006-08-24 10:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: remove useless
+ deref_array() call now that Titi has discovered it
+
+2006-08-24 10:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: don't write double
+ newlines in /etc/ifw/rules
+
+2006-08-24 10:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: don't write icmp rules for
+ IFW (#24645)
+
+2006-08-24 10:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: use run_program::rooted_get_stdout
+
+2006-08-24 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drak3d: allow to run gtk frontend
+ * perl-install/standalone/drak3d: don't ask to install
+ task-3ddesktop at each start
+
+2006-08-24 09:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't be verbose when running
+ gconftool-2
+
+2006-08-24 09:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: gconf local settings directory
+ and configuration are now packaged in GConf2, don't create them
+ when writing proxy configuration
+
+2006-08-24 01:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/standalone/po/id.po: Updated
+
+2006-08-23 21:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-08-23 18:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (add_modify_entry) add some
+ space between widgets
+
+2006-08-23 16:43 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-08-23 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: we now handle raid6
+ (#24637)
+
+2006-08-23 16:18 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/raid.pm: support for raid6
+ (thanks to Luca Berra)
+
+2006-08-23 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/standalone/drak3d:
+ initial drak3d import
+ * perl-install/mygtk2.pm: sensitive option is not specific to
+ buttons, it's available for all widgets
+ * perl-install/mygtk2.pm: RadioButton support
+
+2006-08-23 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: add Xconfig::glx
+
+2006-08-23 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-08-23 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/ja.po: update (Yukiko Bando)
+
+2006-08-23 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: we now handle raid6
+ (#24637)
+
+2006-08-23 16:18 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/raid.pm: support for raid6
+ (thanks to Luca Berra)
+
+2006-08-23 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/standalone/drak3d:
+ initial drak3d import
+ * perl-install/mygtk2.pm: sensitive option is not specific to
+ buttons, it's available for all widgets
+ * perl-install/mygtk2.pm: RadioButton support
+
+2006-08-23 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/glx.pm: add Xconfig::glx
+
+2006-08-23 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-08-23 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/ja.po: update (Yukiko Bando)
+
+2006-08-23 12:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: beautify the next tabs too
+
+2006-08-23 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.55-1mdv2007.0
+
+2006-08-23 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) fix titles
+
+2006-08-23 11:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: install drakinvictus
+
+2006-08-23 11:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/xfree.pm: write all lower resolutions when
+ using Modes
+
+2006-08-23 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: revert :-(
+ * perl-install/drakxtools.spec: rename menu entry
+
+2006-08-23 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/invictus.pm,
+ perl-install/standalone/drakinvictus: initial Invictus Firewall
+ support
+
+2006-08-23 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: typo fix
+
+2006-08-23 10:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: update ld.so.conf.d files when
+ switching back to free drivers as well
+
+2006-08-23 10:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.54-1mdv2007.0
+
+2006-08-23 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/pixmaps/unselected.png: resurrect still
+ used flag
+
+2006-08-23 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: enable again to select
+ individual packages (#24522)
+
+2006-08-23 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: revert commit r57623 (use old API)
+
+2006-08-23 09:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/pixmaps/unselected.png,
+ perl-install/pixmaps/state_installed.png,
+ perl-install/pixmaps/state_to_install.png,
+ perl-install/pixmaps/state_to_remove.png,
+ perl-install/pixmaps/state_to_update.png,
+ perl-install/pixmaps/state_uninstalled.png: temporary icons for
+ new rpmdrake
+
+2006-08-23 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: export
+ ask_browse_tree_info_given_widgets_for_rpmdrake()
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ reintroduce old version for
+ services/package browsing at install time (#24522, #24517,
+ #24496)
+
+2006-08-23 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ rename it as
+ ask_browse_tree_info_given_widgets_for_rpmdrake(); rationale:
+ services/package
+ browsing at install time and rpmdrake browsing needs are
+ different
+ * perl-install/ugtk2.pm: on click, toggle the package state
+
+ unlike was stated by gc, we could probably do cleaner (but
+ bigger code) by
+ using our own customized CellRenderer and hooking the "edited-*"
+ or the
+ "activated" (eg by subclassing Gtk2::CellEditable)
+
+2006-08-23 09:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: on key event, use fast_toggle() to toggle
+ a package
+ * perl-install/ugtk2.pm: (fast_toggle) introduce it in order to
+ select/unselect a package in left list
+
+2006-08-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: toggle_nodes() now takes an extra arg
+
+2006-08-23 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: store current state
+
+2006-08-23 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: use is_a_package() in order to be sure of
+ leaf nature (either group or package)
+ * perl-install/ugtk2.pm: tell get_icon to use parent group icon if
+ needed
+
+2006-08-23 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: cleanup
+ * perl-install/ugtk2.pm: (add_parent) set the icon when inserting
+ the parent group
+
+2006-08-23 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2:
+ (Gtk2::MDV::CellRendererPixWithLabel) use the new renderer
+
+2006-08-23 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::MDV::CellRendererPixWithLabel)
+ introduce it in order to be able to pack
+ icons & labels and still look like a tree and not like a list
+ (like was
+ possible with gtk+1)
+
+2006-08-23 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) use new icons
+ naming scheme
+ * perl-install/ugtk2.pm:
+ (ask_browse_tree_info_given_widgets_for_rpmdrake) fix listing
+ gpg keys in
+ right list instead of left groups tree
+ * perl-install/ugtk2.pm: (ask_browse_tree_info) adapt to new
+ ask_browse_tree_info_given_widgets() API
+
+2006-08-23 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ managing "changed" signal is no more needed
+
+2006-08-23 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ don't try setting mode for group in left tree
+
+2006-08-23 09:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets) make
+ add_parent() accessible from
+ external callers (eg rpmdrake)
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ don't die if state is undefined
+
+2006-08-23 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (escape_text_for_TextView_markup_format)
+ introduce it because we cannot rely on
+ Glib::Markup::escape_text() for Gtk2::TextViews (escape_text()
+ really alter the
+ string so that it goes verbatim through an XML parser)
+
+2006-08-23 09:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets) kill
+ "global" variable $curr now that it's unused
+
+2006-08-23 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ change API of toggle->() (do
+ not rely on "global" variable $curr but get an argument)
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets) stop
+ uselessly messing up with shortcuts,
+ which prevent normal gtk+ shortcuts to work
+
+2006-08-23 09:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets) do
+ not use useless timer (it was used b/c
+ of an old gtk+ bug)
+
+2006-08-23 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets) fix
+ displaying of package info by details
+ tree signal handler
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ change API of common->{display_info} (do
+ not rely on "global" variable $curr but get an argument)
+
+2006-08-23 09:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info_given_widgets)
+ comment its arguments
+
+2006-08-23 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info) kill old
+ gtk+-2.2.1 workaround that is no more needed
+ * perl-install/install/steps_gtk.pm: (choosePackagesTree) add
+ missing title to individual packages selection window
+ * perl-install/ugtk2.pm: (ask_browse_tree_info) prevent labels to
+ overwrite
+
+2006-08-23 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: (choosePackagesTree) add
+ missing title to confirmation dialog
+ * perl-install/standalone/po/fr.po: bump date of my work on the po
+ * perl-install/standalone/po/fr.po: dadou and dindinx do not work
+ anymore for mandriva
+
+2006-08-23 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/fr.po: make translator list
+ homogenous (aka list all people with "name surname"
+ order and make all names use the same case)
+ * perl-install/standalone/po/fr.po: gc is no more working for us
+
+2006-08-23 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/fr.po: fix translator list according
+ to format accepted by AboutDialog
+ * perl-install/standalone/drakconnect: HIG
+ * perl-install/standalone/po/br.po: typo fix
+
+2006-08-23 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: beautify somewhat
+ * perl-install/mygtk2.pm: (_gtk__Label_Left) enable to overwrite
+ * perl-install/standalone/logdrake: HIG
+ * perl-install/standalone/logdrake: use a meaningfull title
+
+2006-08-23 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: HIG
+ * perl-install/standalone/drakhosts: (add_modify_entry) fix
+ unstranslatable string; make titles understandable by humans
+ * perl-install/standalone/drakhosts: HIG-ize drakhosts
+ * perl-install/standalone/drakhosts: make banner title the same as
+ window title (and thus make it fit into the banner)
+
+2006-08-23 08:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix unstranlatable string
+ * perl-install/standalone/drakbug: HIG-ize
+
+2006-08-23 08:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: HIG-ize fields description
+ dialog
+ * perl-install/standalone/draknfs: (add_modify_entry) make
+ advanced items look like others
+ * perl-install/standalone/draknfs: ($label_and_widgets) HIG
+ (labels must be left aligned)
+
+2006-08-23 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (add_modify_entry) HIG (and
+ simplify the packing btw)
+ * perl-install/interactive/gtk.pm: (ask_fromW) simplify through
+ new mygtk2 types
+ * perl-install/mygtk2.pm: (_gtk__Label_Left) set a small left
+ margin (GNOME HIG, Chapter 8. Visual Design, Window Layout)
+ * perl-install/mygtk2.pm: (_gtk__Title2) introduce it; like
+ _gtk__Title1 but label is left aligned (aka
+ window title vs "frame" (aka ~logical block~) title
+
+2006-08-23 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__Label_Left) do not uselessly use
+ a HBox
+
+2006-08-23 08:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) factorize out title
+ formatting in mygtk2::title1_to_markup()
+
+2006-08-23 08:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk) HIG the GUI by
+ using a new style title
+ * perl-install/mygtk2.pm: (_gtk__Title1) introduce it in order to
+ format a title with ugtk2/mygtk2 like
+ we can do with interactive::gtk
+
+2006-08-23 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (title1_to_markup) introduce it to
+ format a title
+
+2006-08-23 02:21 mmodem
+
+ * perl-install/share/po/pt.po: actualizar
+
+2006-08-23 02:16 mmodem
+
+ * perl-install/standalone/po/pt.po: actualizar
+
+2006-08-23 01:50 mmodem
+
+ * perl-install/share/po/pt.po: actualizar
+
+2006-08-22 17:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Updated instructions for
+ faxing with HP MF devices.
+
+2006-08-22 17:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Do not let an extra entry for
+ a fax queue be listed in the printer
+ auto-detection results. This can lead to two fax queues for
+ one HP
+ MF device being generated.
+
+2006-08-22 16:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/vpnc.pm: allow to use specific UDP port
+
+2006-08-22 14:16 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: finish
+ * perl-install/share/po/nb.po: finish
+
+2006-08-21 23:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: remove hardcoded rpm path, busybox in
+ now in main
+
+2006-08-21 19:21 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/patches/halt-live.patch,
+ live/One/patches/halt.loopfs.patch,
+ live/One/patches/netfs.loopfs.patch: rediff halt patch and drop
+ netfs patch (latest netfs service shares code with halt service)
+
+2006-08-21 18:17 felipe
+
+ * perl-install/standalone/po/pt_BR.po: fixing fuzzy entries
+
+2006-08-21 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: check that a valid theme
+ name and image are selected (#24591)
+
+2006-08-21 15:41 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, live/One/config/live.cfg:
+ enable 3D desktop by default on live systems
+
+2006-08-21 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: remove dependencies that are
+ now in the draklive package
+
+2006-08-21 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive.spec: update changelog
+
+2006-08-21 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: allow to add additionnal boot entries
+
+2006-08-21 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: style updates
+
+2006-08-21 15:19 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: add missing args
+
+2006-08-21 15:11 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: split out get_default_append() and
+ build_grub_cfg() functions
+
+2006-08-21 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: run shell in initrd when the "debug"
+ option is on cmdline
+
+2006-08-21 14:35 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: use patch batch mode (-t) not to apply
+ already applied patches and die if a patch can't be applied
+
+2006-08-21 13:37 felipe
+
+ * perl-install/share/po/pt_BR.po: translated by Laerte and Felipe
+
+2006-08-21 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: better message (as suggested on
+ cooker)
+
+2006-08-21 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: really ensure task-x11 is
+ installed (testing the presence of rgb.txt is not enough)
+ (#24529)
+
+2006-08-21 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: enabling "Composite" on every
+ drivers except proprietary drivers
+ (Xgl doesn't like it, fglrx doesn't like it)
+
+2006-08-21 10:14 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: create modules tree root
+
+2006-08-21 10:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: remove modprobe.preload.d files
+
+2006-08-21 10:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive.spec: 0.1-2mdv2007.0
+
+2006-08-21 10:00 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/Makefile: build src package as well
+
+2006-08-21 09:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/local_cfg: revert wrong commit
+
+2006-08-21 09:55 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, live/One/config/local_cfg:
+ default compssListLevel is now 5
+
+2006-08-21 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/halt.local: fix keyboard read after CD ejection
+
+2006-08-19 13:16 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/standalone/po/ru.po: updated translation
+
+2006-08-19 13:14 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-08-19 12:24 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/install/share/po/ru.po: updated translation
+
+2006-08-19 04:30 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/po/Makefile,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: Updated DrakX POT files.
+
+2006-08-19 01:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/standalone/po/br.po:
+ update
+
+2006-08-19 01:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po: typo fix
+
+2006-08-19 00:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/cy.po: typo fix
+
+2006-08-19 00:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/ga.po,
+ perl-install/share/po/ga.po, perl-install/standalone/po/ga.po:
+ update
+
+2006-08-19 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po, perl-install/standalone/po/cy.po:
+ update
+
+2006-08-18 20:50 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-18 19:17 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: new upload
+
+2006-08-18 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/ja.po: update (Yukiko Bando)
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2006-08-18 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) do not try to run
+ dmidecode if not root (#24478)
+
+2006-08-18 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/ja.po: update (Yukiko Bando)
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2006-08-18 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) do not try to run
+ dmidecode if not root (#24478)
+
+2006-08-18 07:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: better phrasing (Per
+ Øyvind Karlsen)
+
+2006-08-18 01:30 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-08-18 00:59 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/install/share/po/is.po: update translation/header
+ for is
+
+2006-08-18 00:58 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * live/draklive-install/po/is.po: update translation/header for is
+
+2006-08-18 00:33 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: Fix list of translators
+
+2006-08-17 21:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: (help) typo fix / sync with
+ man page (Per Øyvind Karlsen)
+
+2006-08-17 20:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log one more change in
+ 10.4.53-1mdv2007.0
+
+2006-08-17 20:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.53-1mdv2007.0
+
+2006-08-17 19:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/de.po: update (Nicolas Bauer)
+
+2006-08-17 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) do not let an horiz
+ scrollbar appear when displaying long
+ title just because we pack an empty label (rationale: e->{val} is
+ never set for titles)
+
+2006-08-17 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix compatibility steps for
+ isdn and modem
+
+2006-08-17 19:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: introduce get_winmodems()
+
+2006-08-17 19:16 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: use Copyright in stead of
+ translation
+
+2006-08-17 19:14 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: make sure rt2570 devices reporting
+ themselves as rtusb are detected (#24461)
+
+2006-08-17 19:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to skip hardware
+ settings step
+
+2006-08-17 18:42 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Finished!
+
+2006-08-17 18:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: remove unused function
+
+2006-08-17 18:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: drop old ethernet code
+
+2006-08-17 17:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: perl_checker
+
+2006-08-17 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove old wireless code
+
+2006-08-17 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: factorize (and fix
+ typo)
+
+2006-08-17 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: add ndiswrapper
+ back in generic wireless layer, using thirdparty
+
+2006-08-17 17:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: allow
+ network::ndiswrapper::select_device
+
+2006-08-17 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: allow to override device
+ from thidrparty settings
+
+2006-08-17 17:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: try to unload modules
+ conflicting with the configured ndiswrapper device
+
+2006-08-17 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to use user_install
+ for firwmare step as well
+
+2006-08-17 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: drop obsolete
+ pcmcia special case
+
+2006-08-17 15:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: add interface alias
+ in modules conf for ethernet/wireless devices (#24384)
+
+2006-08-17 15:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/standalone/drakconnect: write modules conf in
+ drakconnect (#24384)
+
+2006-08-17 15:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: update prototype
+
+2006-08-17 15:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Let the "no_device_found"
+ output of HPLIP's "hp" and "hpfax" CUPS
+ backends not be interpreted as an additional printer
+
+2006-08-17 13:56 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Almost completed translation
+
+2006-08-17 13:18 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-08-17 13:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: speedtouch firmware is in
+ speedtouch-firmware now
+
+2006-08-17 13:09 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-08-17 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__AboutDialog) perl_checker cleanup
+
+2006-08-17 12:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Another wait
+ loop for firmware upload.
+
+2006-08-17 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add some comment
+
+2006-08-17 12:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Wait 2 sec
+ between detection of plugged printer and automatic print
+ queue setup, as some printers need to load their firmware and
+ during
+ firmware upload the automatic queue setup does not work
+ (device ID
+ not readable).
+
+2006-08-17 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-08-17 12:16 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: default to harddisk in isolinux for cdrom install
+ only
+
+2006-08-17 12:12 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-08-17 12:08 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-08-17 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: remove options which are the
+ defaults
+
+2006-08-17 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: merge in typo fix
+
+2006-08-17 11:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: use a clearer warning message
+ for https proxies
+
+2006-08-17 11:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: fix typo
+
+2006-08-17 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: merge in typo fix
+
+2006-08-17 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: (get_printer_info) typo
+ fix (Per Øyvind Karlsen)
+
+2006-08-17 11:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: (get_printer_info) add a
+ missing bracket (Berthy)
+
+2006-08-17 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk_any_Paned) homogeneous and spacing
+ are not supported by XPaned
+
+2006-08-17 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/de.po: typo fix (#24436)
+
+2006-08-17 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use more explicit variable names,
+ and fix "unknown line ..." (cf logs in bug #24320)
+
+2006-08-17 09:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm: - Fixed dynamic PPD file
+ generation during installation
+
+2006-08-17 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix log message
+
+2006-08-17 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: only enable Composite by
+ default on i810 since
+ - it doesn't work on proprietary nvidia
+ - it doesn't work nicely on radeon
+ - it conflicts with DRI on fglrx
+ - it conflicts with XGL
+
+2006-08-17 09:02 Pixel <pixel at mandriva.com>
+
+ * Makefile: empty commit not allowed :-/
+
+2006-08-17 08:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: Clone option on intel and nvidia
+
+2006-08-17 08:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: Clone option on intel and nvidia
+
+2006-08-17 00:51 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/standalone/po/nb.po: Finish translating last
+ strings to nb
+
+2006-08-16 23:23 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: More work done on nb translation..
+
+2006-08-16 23:15 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po, perl-install/standalone/po/id.po:
+ Updated Indonesian files
+
+2006-08-16 21:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/ethernet.pm: remove useless space
+ * perl-install/network/connection/ethernet.pm: fix typo
+
+2006-08-16 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.52-1mdv2007.0
+
+2006-08-16 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: fix crash
+
+2006-08-16 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/libDrakX.pot: fix badly generated file :-(
+
+2006-08-16 18:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/libDrakX.pot: oops...
+
+2006-08-16 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: install x11-driver-input-evdev when needed
+
+2006-08-16 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: perl_checker compliance
+
+2006-08-16 16:54 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-16 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm, perl-install/mouse.pm: add a evdev
+ entry for mice with an horizontal wheel
+ (still need inverting buttons 6 & 7 though)
+
+2006-08-16 15:56 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm,
+ perl-install/install/steps_interactive.pm: hid is no more for
+ some time, tis usbhid nowadays
+
+2006-08-16 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm, perl-install/modules.pm,
+ perl-install/mouse.pm: drop getSynapticsTouchpads(), setting
+ fields in the result of getInputDevices() instead (useful for
+ next commit)
+
+2006-08-16 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/de.po: update (Nicolas Bauer)
+
+2006-08-16 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: simplify
+
+2006-08-16 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use {Emulate3Buttons} where it should be
+
+2006-08-16 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm, perl-install/standalone/mousedrake:
+ restore choosing Emulate3Buttons, creating field Emulate3Buttons
+
+2006-08-16 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm, perl-install/standalone/harddrake2:
+ rename EMULATEWHEEL as EmulateWheel (to make it clearer that
+ it's for X)
+
+2006-08-16 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-08-16 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: factorize
+
+2006-08-16 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: simplify
+
+2006-08-16 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: no need to handle modules by
+ hand (if it is really needed, we need to setup it)
+
+2006-08-16 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm, perl-install/mouse.pm,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/mousedrake: rename {XMOUSETYPE} into
+ {Protocol} to be more alike what xorg uses and to make it more
+ clear that it doesn't end up in sysconfig/mouse
+
+2006-08-16 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: cleanup and use mygtk2 (for
+ gtknew())
+
+2006-08-16 13:59 felipe
+
+ * perl-install/standalone/po/pt_BR.po: translating to pt_BR
+
+2006-08-16 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: force boolean context
+ * perl-install/mouse.pm: simplify: take the FULLNAME as the
+ reference or ... well ... things won't be so nice
+
+2006-08-16 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: remove obsolete case (but ensure that
+ usbtable only talk about Mouse:xxx|yyy where xxx|yyy exist in
+ our list)
+
+2006-08-16 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: simplify
+
+2006-08-16 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2006-08-16 13:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/fr.po: update
+
+2006-08-16 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/ru.po: typo fix
+
+2006-08-16 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: simplify
+
+2006-08-16 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: simplify
+
+2006-08-16 13:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_TW.po: merge in translations from
+ share/po
+
+2006-08-16 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/libDrakX.pot, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ merge in translations from standalone/po
+
+2006-08-16 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-08-16 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ru.po: typo fix
+
+2006-08-16 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - drop XEMU3 and WHEEL (were only used to
+ compute number of buttons which we already know from FULLNAME)
+ - don't write XMOUSETYPE in sysconfig/mouse (we get it back from
+ FULLNAME)
+
+2006-08-16 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: don't ask wether we want to
+ emulate 3rd button on 2 buttons mice since it doesn't change
+ anything currently
+
+2006-08-16 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-08-16 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: stop messing with buttons ordering
+ (it was done to map the MsExplorer mouse two unused buttons on
+ the horiz wheel, but it's not used that way anyway)
+
+2006-08-16 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Mount_point) better
+ looking dialog
+
+2006-08-16 12:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: ensure we don't die
+ computing the number of cylinders
+ (the bug occured when HDIO_GETGEO succeeds, but returning 0)
+ (#24096, #24042)
+
+2006-08-16 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: fix regenerating the
+ translation catalogs (don't use interpolated translated string,
+ use %s or %d instead)
+
+2006-08-16 12:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (per_entry_info_box) nicer
+ layout: add some border
+
+2006-08-16 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: we now cuse Xnest rather Xvfb
+
+2006-08-16 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: auxmouse was only used for synaptics,
+ which don't have more than 5 buttons, so
+ /etc/X11/xinit.d/auxmouse_buttons was not generated, no need to
+ handle it
+
+2006-08-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.51-1mdv2007.0
+ * perl-install/drakxtools.spec: requires a fixed urpmi
+
+2006-08-16 12:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: allow to find PCMCIA devices in
+ sysfs using their modalias as match
+
+2006-08-16 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm, perl-install/standalone/harddrake2:
+ replace {auxmouse} with {synaptics} since synaptics is handled
+ very specially
+ (this simplifies the code :)
+
+2006-08-16 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/ndiswrapper.pm: rename
+ get_sysfs_device_id_map as get_ids_from_sysfs_device and make it
+ return sysfs values
+
+2006-08-16 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: better use internal_error()
+
+2006-08-16 11:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: be consistent
+
+2006-08-16 11:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (create_buttons4partitions)
+ typo fix
+
+2006-08-16 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (createOrChangeType) kill
+ useless arg
+
+2006-08-16 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (pcmcia_controller_probe) do not
+ return ()
+ * perl-install/harddrake/data.pm: (f) filter out undefined values
+ (some detectors return a list, some
+ others return a scalar which results in undev in list context
+ :-( )
+
+2006-08-16 11:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (create_buttons4partitions)
+ display unknow size if needed
+ * perl-install/diskdrake/hd_gtk.pm: (createOrChangeType) rather
+ than popping a warning saying "just do this", just
+ do it directly
+ * perl-install/diskdrake/hd_gtk.pm: (createOrChangeType) set
+ missing titles
+ * perl-install/diskdrake/hd_gtk.pm: (per_entry_info_box)
+ beautifully align the data label thus stopinf from
+ flickering on device change due to different string size
+ * perl-install/diskdrake/interactive.pm:
+ (Create,Label,Mount_point_raw_hd,Options,Resize,Type) HIG-ize
+ some dialogs
+
+2006-08-16 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) better align labels
+ (eg it looked bad with a Gtk2::HScale eg in
+ diskdrake->resize)
+ * perl-install/diskdrake/interactive.pm: (Resize) HIG look,
+ explicitely display min & max sizes
+
+2006-08-16 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (create_buttons4partitions)
+ display size on toggle buttons
+
+2006-08-16 11:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (pcmcia_controller_probe) do not
+ detect "undef" drivered pcmcia controller on
+ desktop machines...
+
+2006-08-16 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: do not hardcode copyright
+ years
+ * perl-install/standalone/drakhelp: stop messing up with
+ translations each year
+ * perl-install/standalone/XFdrake,
+ perl-install/standalone/autosetupprintqueues,
+ perl-install/standalone/diskdrake,
+ perl-install/standalone/drakTermServ,
+ perl-install/standalone/drakautoinst,
+ perl-install/standalone/drakbackup,
+ perl-install/standalone/drakboot,
+ perl-install/standalone/drakbug,
+ perl-install/standalone/drakconnect,
+ perl-install/standalone/drakedm,
+ perl-install/standalone/drakfirewall,
+ perl-install/standalone/drakfloppy,
+ perl-install/standalone/drakfont,
+ perl-install/standalone/drakgw,
+ perl-install/standalone/drakhelp,
+ perl-install/standalone/drakhosts,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/drakproxy,
+ perl-install/standalone/drakpxe,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/draksambashare,
+ perl-install/standalone/draksec,
+ perl-install/standalone/draksound,
+ perl-install/standalone/drakupdate_fstab,
+ perl-install/standalone/drakvpn-old,
+ perl-install/standalone/drakxtv,
+ perl-install/standalone/fileshareset,
+ perl-install/standalone/finish-install.xsetup,
+ perl-install/standalone/listsupportedprinters,
+ perl-install/standalone/logdrake,
+ perl-install/standalone/net_monitor,
+ perl-install/standalone/printerdrake,
+ perl-install/standalone/scannerdrake: bump copyright years
+
+2006-08-16 11:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: introduce a "USB mass storage"
+ class in order to catch some devices (#21836)
+ * perl-install/interactive.pm: (ask_okcancel_) $::no_separator is
+ dead
+
+2006-08-16 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: symlink /dev/mouse1 for auxmouse is unused
+
+2006-08-16 11:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: HIG: align labels
+
+2006-08-16 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: perl_checker compliance
+
+2006-08-16 11:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/main.pm,
+ perl-install/network/drakfirewall.pm,
+ perl-install/standalone/drakTermServ,
+ perl-install/standalone/drakgw,
+ perl-install/standalone/drakproxy,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/draksplash2: HIG: add missing titles
+ * perl-install/scanner.pm, perl-install/standalone/drakbackup,
+ perl-install/standalone/drakclock,
+ perl-install/standalone/drakhosts,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/drakperm,
+ perl-install/standalone/draksambashare,
+ perl-install/standalone/draksec,
+ perl-install/standalone/draksplash,
+ perl-install/standalone/drakups,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/scannerdrake: HIG: fix unmeaningfull
+ titles
+
+2006-08-16 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect,
+ perl-install/standalone/drakfloppy,
+ perl-install/standalone/drakfont,
+ perl-install/standalone/net_applet: simplify through killing
+ useless set_title() calls
+
+2006-08-16 11:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_box_with_title) don't pack an
+ horizontal separator; it both doesn't look
+ nice and violates HIG
+
+2006-08-16 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__VPaned, _gtk__HPaned,
+ _gtk_any_Paned) add support for Gtk2::[HV]Paned widgets
+
+2006-08-16 10:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: no need to explicitly load
+ synaptics X module
+
+2006-08-16 10:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm, perl-install/mouse.pm: synaptics
+ touchpad do not need "Protocol auto-dev" nor "Device ..."
+ (need tests on ALPS to ensure it is the same)
+
+2006-08-16 00:40 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Do some partial work on nb
+ translation..
+
+2006-08-16 00:23 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/install/share/po/nb.po: Completed nb translation
+
+2006-08-16 00:15 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * live/draklive-install/po/nb.po: Completed nb translation
+
+2006-08-15 18:26 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/install/share/po/zh_TW.po: updated po file
+
+2006-08-15 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: some comments about the REL= and
+ KEY= values for mice
+
+2006-08-15 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add some comment decrypting
+ input/devices for TouchPad/GlidePoints
+
+2006-08-15 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: better regexp
+
+2006-08-15 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: at least give a chance to use input/mice
+ on sparc (it should not heart)
+
+2006-08-15 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: rely on getInputDevices() to choose
+ between usb mouce and busmouse for ppc
+
+2006-08-15 15:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cook the use of "REL" (ie
+ relatives)
+
+2006-08-15 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm, perl-install/fs.pm,
+ perl-install/fs/wild_device.pm: handle /dev/disk/by-label/xxx
+ symlink in fstab
+
+2006-08-15 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix comment
+
+2006-08-15 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - workaround in getSCSI() when
+ the device can't be found. don't really how to really fix
+ detection of the DAT below
+ - move things around to make it (a little) more clear
+
+ % ls -l /sys/bus/scsi/devices/1:0:3:0/
+ total 0
+ lrwxrwxrwx 1 root root 0 Aug 15 17:02 bus ->
+ ../../../../../../bus/scsi/
+ --w------- 1 root root 4096 Aug 15 17:03 delete
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 device_blocked
+ lrwxrwxrwx 1 root root 0 Aug 15 17:02 driver ->
+ ../../../../../../bus/scsi/drivers/st/
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 iocounterbits
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 iodone_cnt
+ -r--r--r-- 1 root root 4096 Aug 15 17:02 ioerr_cnt
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 iorequest_cnt
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 model
+ drwxr-xr-x 2 root root 0 Aug 15 17:03 power/
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 queue_depth
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 queue_type
+ --w------- 1 root root 4096 Aug 15 17:03 rescan
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 rev
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_device:1:0:3:0 ->
+ ../../../../../../class/scsi_device/1:0:3:0/
+ -r--r--r-- 1 root root 4096 Aug 15 17:03 scsi_level
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:nst0 ->
+ ../../../../../../class/scsi_tape/nst0/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:nst0a ->
+ ../../../../../../class/scsi_tape/nst0a/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:nst0l ->
+ ../../../../../../class/scsi_tape/nst0l/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:nst0m ->
+ ../../../../../../class/scsi_tape/nst0m/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:st0 ->
+ ../../../../../../class/scsi_tape/st0/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:st0a ->
+ ../../../../../../class/scsi_tape/st0a/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:st0l ->
+ ../../../../../../class/scsi_tape/st0l/
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 scsi_tape:st0m ->
+ ../../../../../../class/scsi_tape/st0m/
+ -rw-r--r-- 1 root root 4096 Aug 15 17:03 state
+ lrwxrwxrwx 1 root root 0 Aug 15 17:03 tape ->
+ ../../../../../../class/scsi_tape/st0/
+ -rw-r--r-- 1 root root 4096 Aug 15 17:03 timeout
+ -r--r--r-- 1 root root 4096 Aug 15 17:02 type
+ --w------- 1 root root 4096 Aug 15 17:03 uevent
+ -r--r--r-- 1 root root 4096 Aug 15 17:02 vendor
+
+2006-08-15 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: make it clearer we want to emulate 3rd
+ button when using wheel emulation
+
+2006-08-15 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix copyright and mail address
+
+2006-08-15 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: don't mess with auxmouse buttons ordering
+ (hopefully not needed anymore, otherwise better fix is
+ ButtonMapping)
+
+2006-08-15 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: rework load_modules()
+
+2006-08-15 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: /dev/input/mice really exports
+ ExplorerPS/2 protocol (cf mousedev.c)
+
+2006-08-15 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: detect(): re-indent and re-structure
+
+2006-08-15 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use detect_devices::getInputDevices()
+
+2006-08-15 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: get info from "B: ..." lines
+
+2006-08-15 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: rework getInputDevices()
+
+2006-08-15 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: set the language after setting
+ locale->{utf8} if needed (only for auto_installs which do not
+ precise utf8 or not)
+
+2006-08-15 09:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't set device_alias from device in any
+ case (or this need more explainations)
+
+2006-08-14 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: add kernel-legacy in
+ analyse_kernel_name
+
+2006-08-14 22:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: don't vivify $o->{locale}
+
+2006-08-14 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: don't bother looking for "/" on
+ remote fs (can happen in weird cases)
+
+2006-08-14 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: log the mkfs.ext2 call
+
+2006-08-14 20:19 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2006-08-14 20:18 Pavel Maryanov <acid_jack at ukr.net>
+
+ * live/draklive-install/po/ru.po: updated translation
+
+2006-08-14 19:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix log message
+
+2006-08-14 19:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/lang.pm: simplify
+ lang::set() (esp. for install)
+
+2006-08-14 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: move is deprecated and globetrotter do not
+ use move::handleI18NClp()
+
+2006-08-14 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: don't die when failing to select a
+ package already installed or selected
+
+2006-08-14 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: move "computing installed flags and
+ size of installed packages" before selecting packages
+
+2006-08-14 17:11 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: we don't want *four* BOOT kernels, take
+ the last one
+
+2006-08-14 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2006-08-14 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: startx.autologin is now in /usr/bin
+
+2006-08-14 14:17 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: config used for beta2
+
+2006-08-14 10:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: perl_checker compliance
+
+2006-08-14 10:52 Pixel <pixel at mandriva.com>
+
+ * tools/mdkinst_stage2_tool: handle missing
+ create_compressed_fs/extract_compressed_fs
+
+2006-08-14 10:44 Pixel <pixel at mandriva.com>
+
+ * tools/mdkinst_stage2_tool: make it more clear that we try to
+ mount mdkinst.clp.iso
+ * tools/mdkinst_stage2_tool: don't create dir if loopback mount
+ fail (--from-clp)
+
+2006-08-14 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: when analysing /tmp/image
+ symlink, we were looking for "xxxinstall" (eg:
+ cdimage), it is now "media" (i forgot to change this one when
+ switching from
+ nfsimage/cdimage/hdimage to media)
+
+2006-08-14 10:17 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/standalone/po/ru.po: updated translation
+
+2006-08-14 01:26 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-14 00:33 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-13 17:12 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/install/share/po/ru.po: updated translation
+
+2006-08-13 08:30 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: add extra openoffice languages
+
+2006-08-12 10:44 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-08-12 10:13 Warly <warly at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2006-08-12 10:13 Warly <warly at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2006-08-11 18:45 felipe
+
+ * perl-install/standalone/po/pt_BR.po: translated by Salvador
+
+2006-08-11 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (handle_May_Need_ForceBIOS)
+ further simplify it
+
+2006-08-11 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: better formatting of the message
+
+2006-08-11 16:51 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-08-11 16:50 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel, perl-install/install/pkgs.pm,
+ perl-install/standalone/drakTermServ: adapt to new kernels
+ (-i586-up-1GB is now -legacy, standard kernel is smp but not
+ 64GB anymore)
+
+2006-08-11 16:40 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-08-11 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: document somewhat the
+ rpmsrate format
+
+2006-08-11 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: decrease priority of
+ alsa-plugins
+
+2006-08-11 16:50 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel, perl-install/install/pkgs.pm,
+ perl-install/standalone/drakTermServ: adapt to new kernels
+ (-i586-up-1GB is now -legacy, standard kernel is smp but not
+ 64GB anymore)
+
+2006-08-11 16:40 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-08-11 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: document somewhat the
+ rpmsrate format
+
+2006-08-11 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: decrease priority of
+ alsa-plugins
+
+2006-08-11 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix bad translation
+
+2006-08-11 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: document somewhat the
+ rpmsrate format
+
+2006-08-11 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: decrease priority of
+ alsa-plugins
+
+2006-08-11 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix bad translation
+
+2006-08-11 12:09 Warly <warly at mandriva.com>
+
+ * perl-install/install/pixmaps/logo-mandriva.png: new logo
+
+2006-08-11 10:27 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING, perl-install/install/share/list.xml: use Ia Ora
+ instead of Galaxy (theme)
+
+2006-08-11 10:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/fonts.tar.bz2,
+ perl-install/install/steps_gtk.pm: adapt to new fonts location
+
+2006-08-11 10:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: adapt to new fonts location
+
+2006-08-11 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/gtk.pm: adapt to new font location
+
+2006-08-11 10:06 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: handle spaces in file when using
+ <from spaces_in_filename="1">
+
+2006-08-11 09:45 rafael
+
+ * perl-install/c/stuff.xs.pl: Avoid segfaults if the string passed
+ to c::syslog contains a printf format lookalike
+
+2006-08-11 09:32 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: factorize
+
+2006-08-10 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: clean up/simplify harddrake
+ service file creation
+
+2006-08-10 21:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2006-08-10 20:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.50-1mdv2007.0
+
+2006-08-10 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install alsa-plugins by
+ default when there's a sound card
+
+2006-08-10 19:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: create and package
+ /etc/sysconfig/harddrake2/service.conf that enable
+ to disable some auto configuration done by the harddrake service
+
+2006-08-10 19:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display PCI/USB ids as hexa
+ like lspcidrake does (#21220)
+
+2006-08-10 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: enable to disable
+ hardware probing per class (#24071)
+
+2006-08-10 18:29 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-10 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: workaround
+ do_pkgs->is_available() destroying $_ (#23327)
+
+2006-08-10 17:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Added automatic download
+ of ICM color profiles for printers driven
+ by the "foo2zjs" driver from the internet.
+
+2006-08-10 17:07 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Orca is replacing
+ gnopernicus
+
+2006-08-10 15:54 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Replace galaxy-gnome by
+ ia_ora-gnome
+
+2006-08-10 15:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/po/zh_CN.po: Corrected placeholder
+ format.
+
+2006-08-10 14:57 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+ * perl-install/install/share/po/zh_CN.po: Updated Simplified
+ Chinese translation.
+
+2006-08-10 14:54 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-10 14:53 mmodem
+
+ * perl-install/install/help/po/pt.po:
+
+2006-08-10 14:51 mmodem
+
+ * perl-install/install/help/po/pt.po:
+
+2006-08-10 14:50 mmodem
+
+ * live/draklive-install/po/pt.po:
+
+2006-08-10 14:47 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-10 14:31 mmodem
+
+ * perl-install/standalone/po/pt.po:
+
+2006-08-10 14:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Made duplicate detection of
+ the same printer being recognized also
+ with HPLIP 1.6.7 and newer.
+
+2006-08-10 14:25 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-10 14:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Added automatic setup
+ for firmware file istallation for the HP
+ LaserJet 1000, 1005, 1018, and 1020.
+
+2006-08-10 14:12 mmodem
+
+ * perl-install/install/share/po/pt.po:
+
+2006-08-10 14:08 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+
+2006-08-10 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: export META_CLASS for Ia Ora
+
+2006-08-10 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/fr.po: better style
+
+2006-08-10 10:23 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-10 09:18 berthy
+
+ * perl-install/install/share/po/fr.po: Update french translation
+
+2006-08-10 09:15 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-08-09 23:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: get rid of weird chars (#24078)
+
+2006-08-09 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use N_ only when really using the value
+
+2006-08-09 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: handle evdev (keyboard or mouse)
+
+2006-08-09 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: revert the condition in
+ remove_InputDevices (more intuitive)
+
+2006-08-09 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: - selecting package should not
+ fail in select_by_package_names_or_die()
+ - always log {rejected} when a package selection fail
+
+2006-08-09 17:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/get.pm, perl-install/fsedit.pm: skip readonly
+ devices when auto-allocating
+
+2006-08-09 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: simplified logging, use
+ internal_error()
+
+2006-08-09 16:22 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: remove debug code wrongly committed
+
+2006-08-09 16:21 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/cdrom.c, mdk-stage1/config-stage1.h,
+ mdk-stage1/disk.c, mdk-stage1/network.c, perl-install/fsedit.pm,
+ perl-install/install/any.pm, perl-install/install/media.pm: -
+ fix symlink /tmp/stage2 -> image/install/stage2/live instead of
+ cdimage/install/stage2/live for live nfs installs
+ - unify cdimage|nfsimage|hdimage into media
+ - replace ROOT_LOCATION with MEDIA_LOCATION
+
+2006-08-09 15:50 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, mdk-stage1/Makefile, mdk-stage1/cdrom.c,
+ mdk-stage1/config-stage1.h, mdk-stage1/directory.c,
+ mdk-stage1/init.c, mdk-stage1/network.c, mdk-stage1/network.h,
+ mdk-stage1/stage1.c, mdk-stage1/tools.c, mdk-stage1/tools.h:
+ remove support for mandrake Move
+
+2006-08-09 15:49 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: adapt to main/ -> main/release/ change
+
+2006-08-09 15:23 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: remove gtk1 apps
+
+2006-08-09 15:18 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: smb4k needs kde
+
+2006-08-09 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: vera fonts are now in
+ /usr/share/fonts too :)
+
+2006-08-09 15:16 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: remove xmms
+
+2006-08-09 14:57 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-08-09 14:50 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: reverted the changes, keep only the
+ new languages
+
+2006-08-09 14:42 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: some customization for office
+ suite for the beta
+
+2006-08-09 14:36 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: some customization for office suite
+ for the beta
+
+2006-08-09 14:35 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: remove gtk1 apps
+
+2006-08-09 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: install rp-pppoe for
+ pppoe connections (#24249)
+
+2006-08-09 14:50 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: reverted the changes, keep only the
+ new languages
+
+2006-08-09 14:42 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: some customization for office
+ suite for the beta
+
+2006-08-09 14:36 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: some customization for office suite
+ for the beta
+
+2006-08-09 14:35 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: remove gtk1 apps
+
+2006-08-09 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/xdsl.pm: install rp-pppoe for
+ pppoe connections (#24249)
+
+2006-08-09 12:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: don't translate "PKCS #12"
+
+2006-08-09 12:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn/openvpn.pm: don't translate "OpenVPN"
+
+2006-08-09 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (acceptLicense) kill debug statement
+
+2006-08-09 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (acceptLicense) try harder to find releases
+ notes (eg: for
+ finish-install) (##23304)
+
+2006-08-09 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2006-08-09 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2006-08-09 11:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (acceptLicense) don't show the "releases
+ notes" button if empty (#23304)
+
+2006-08-09 11:10 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/standalone/po/id.po: Updated
+
+2006-08-09 11:07 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-08-09 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.49-1mdv2007.0
+
+2006-08-09 09:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use
+ network::connection::isdn (#24244)
+
+2006-08-09 09:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: revert broken "fix"
+
+2006-08-09 08:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't try to translate "vpn
+ name (vpn type)"
+
+2006-08-09 08:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ merge in existing translations from install/share/po
+
+2006-08-09 07:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/wireless.pm: atmel wireless
+ drivers are now named atmel_cs and atmel_pci (instead of
+ at76c50*)
+
+2006-08-09 07:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-08-09 07:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: sync with code
+ * perl-install/Makefile.config: package missing drakconnect bits
+ * perl-install/standalone/drakconnect: make it work...
+
+2006-08-09 07:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__AboutDialog) fix inactive "close"
+ button (#23266)
+
+2006-08-08 21:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: I forget to commited draknetprofile
+
+2006-08-08 21:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: use window icon
+
+2006-08-08 20:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.48-1mdv2007.0
+
+2006-08-08 20:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: remove spurious space
+
+2006-08-08 20:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: use
+ any::configure_timezone
+ * perl-install/any.pm: use treeview to ask timezone
+
+2006-08-08 20:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: default to NTP pools from pool.ntp.org
+ instead of hardcoded NTP servers
+
+2006-08-08 20:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/bluetooth.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm,
+ perl-install/standalone/drakfirewall,
+ perl-install/standalone/draksec,
+ perl-install/standalone/drakvpn,
+ perl-install/standalone/drakxservices: revert unmeant
+ modifications (and get some brown paper bag)
+
+2006-08-08 20:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm, perl-install/install/steps_interactive.pm,
+ perl-install/network/connection/bluetooth.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm,
+ perl-install/standalone/drakfirewall,
+ perl-install/standalone/draksec,
+ perl-install/standalone/drakvpn,
+ perl-install/standalone/drakxservices: move
+ install::steps_interactive::configureTimezone() code to
+ any::configure_timezone()
+
+2006-08-08 20:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/data.pm: use network::connection::isdn
+ (#24236)
+
+2006-08-08 20:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: use NTP pools from pool.ntp.org
+ instead of hardcoded NTP servers (get_ntp_server_tree)
+
+2006-08-08 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: initial import of ntp pools
+ * perl-install/timezone.pm: add functions to dump ntp servers on
+ stdout
+
+2006-08-08 20:01 felipe
+
+ * perl-install/install/share/po/pt_BR.po: finishing to translate
+ this file
+
+2006-08-08 19:53 felipe
+
+ * perl-install/share/po/pt_BR.po: potfile translated to pt_BR by
+ Wanderley Cavassin
+
+2006-08-08 18:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts,
+ perl-install/standalone/draknfs: use window icon
+
+2006-08-08 17:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: simplify
+ * perl-install/standalone/drakclock: don't put timezone in
+ interactive hash
+
+2006-08-08 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: simplify
+
+2006-08-08 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: remove incorrect title
+
+2006-08-08 16:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: perl_checker fixes
+
+2006-08-08 15:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: fix ntp parsing when coutry
+ name contains a space (#24215)
+
+2006-08-08 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show VPN sub-menu even if
+ only one connection is configured
+
+2006-08-08 12:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakxtv: use /usr/bin/xvt (from Nicolas
+ Lécureuil, #24213)
+
+2006-08-08 10:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't show a VPN connection
+ button if no VPN connection is configured (#24203)
+
+2006-08-07 18:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: add network/connection pm dir
+
+2006-08-07 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.47-1mdv2007.0
+
+2006-08-07 18:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone.pm: add network::connection in the drakx
+ modules list
+
+2006-08-07 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use
+ network::connection::ethernet
+
+2006-08-07 18:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: use
+ network::connection::ethernet
+
+2006-08-07 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/install2.pm: use
+ network::connection::ethernet
+
+2006-08-07 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use
+ network::connection::ethernet
+ * perl-install/standalone/drakgw: use network::connection::ethernet
+
+2006-08-07 18:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: don't use caching-nameserver but
+ directly "bind" and "named"
+
+2006-08-07 18:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: use
+ network::connection::ethernet
+
+2006-08-07 18:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm: perl_checker fixes
+
+2006-08-07 18:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to connect/disconnect
+ VPN from net_applet (#20949)
+
+2006-08-07 18:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use
+ network::connection::ethernet
+
+2006-08-07 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn.pm: add is_started method
+
+2006-08-07 18:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/vpn.pm: wrap VPN command for non-root users
+
+2006-08-07 18:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakvpn.pm, perl-install/network/vpn.pm:
+ rename network::vpn::configured_connections as
+ get_configured_connections and make it return objects
+
+2006-08-07 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/standalone/drakroam: drop
+ network::connection::get_type_class
+
+2006-08-07 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: use
+ network::connection::wireless
+
+2006-08-07 17:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: drop default get_devices
+ * perl-install/network/connection.pm: use
+ common::load_modules_from_base to load connection types
+
+2006-08-07 17:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/bluetooth.pm,
+ perl-install/network/connection/cable.pm,
+ perl-install/network/connection/cellular.pm,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/connection/wireless.pm,
+ perl-install/network/connection/xdsl.pm: adjust default metric
+ settings
+
+2006-08-07 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cable.pm: use lower metric for
+ cable connection
+
+2006-08-07 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/isdn,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/connection/isdn/consts.pm,
+ perl-install/network/connection/isdn_consts.pm: move isdn_consts
+ in network::connection::isdn::consts
+
+2006-08-07 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm,
+ perl-install/network/cable.pm, perl-install/network/cellular.pm,
+ perl-install/network/cellular_providers.pm,
+ perl-install/network/dvb.pm, perl-install/network/ethernet.pm,
+ perl-install/network/isdn.pm,
+ perl-install/network/isdn_consts.pm,
+ perl-install/network/pots.pm, perl-install/network/ppp.pm,
+ perl-install/network/wireless.pm, perl-install/network/xdsl.pm,
+ perl-install/network/xdsl_providers.pm: complete move to
+ network/connection
+
+2006-08-07 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection/cellular.pm,
+ perl-install/network/connection/cellular_providers.pm,
+ perl-install/network/connection/providers,
+ perl-install/network/connection/providers/cellular.pm,
+ perl-install/network/connection/providers/xdsl.pm,
+ perl-install/network/connection/xdsl.pm,
+ perl-install/network/connection/xdsl_providers.pm: move
+ providers data in network::connection::providers
+
+2006-08-07 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) pass the banner if
+ provided
+
+2006-08-07 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/connection.pm,
+ perl-install/network/connection/bluetooth.pm,
+ perl-install/network/connection/cable.pm,
+ perl-install/network/connection/cellular.pm,
+ perl-install/network/connection/cellular_providers.pm,
+ perl-install/network/connection/dvb.pm,
+ perl-install/network/connection/ethernet.pm,
+ perl-install/network/connection/isdn.pm,
+ perl-install/network/connection/isdn_consts.pm,
+ perl-install/network/connection/pots.pm,
+ perl-install/network/connection/ppp.pm,
+ perl-install/network/connection/wireless.pm,
+ perl-install/network/connection/xdsl.pm,
+ perl-install/network/connection/xdsl_providers.pm,
+ perl-install/network/monitor.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm,
+ perl-install/network/shorewall.pm,
+ perl-install/network/tools.pm: move connection modules in
+ network/connection
+
+2006-08-07 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) pack the banner if provided in
+ standalone mode
+
+2006-08-07 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__MagicWindow) pack the banner if
+ provided even if not in wizard mode
+
+2006-08-07 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection: add network/connection
+ sub-directory
+
+2006-08-07 16:46 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-07 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (real_main) fix bad window
+ sizing (#23552)
+ * perl-install/interactive/gtk.pm: (ask_fromW) introduce & handle
+ the new "use_scrolling" gtk+ hint (#23552)
+
+2006-08-07 16:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not display unknown
+ driver for "MEMORY_OTHER" class
+
+2006-08-07 16:10 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-07 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2006-08-07 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+ * perl-install/standalone/po/ja.po: update (Yukiko Bando)
+
+2006-08-07 12:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakproxy: ask to logout after proxies
+ settings have been modified (#20052)
+
+2006-08-07 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: display old interface name
+ in bubble on disconnection, not new default interface (#23943)
+
+2006-08-05 21:27 mmodem
+
+ * perl-install/standalone/po/pt.po:
+
+2006-08-05 21:23 mmodem
+
+ * perl-install/install/share/po/pt.po:
+
+2006-08-05 21:21 mmodem
+
+ * perl-install/share/po/pt.po:
+
+2006-08-05 19:15 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-08-05 01:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.46-1mdv2007.0
+
+2006-07-25 18:17 Warly <warly at mandriva.com>
+
+ * mdk-stage1/cdrom.c, mdk-stage1/config-stage1.h: make the ARCH
+ extra dir only for CDs install
+
+2006-07-25 16:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: revert r42130 (already
+ handled in modules::set_preload_modules)
+
+2006-07-25 16:16 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-25 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: (cpufreq) fix crash when
+ modules doesn't exist
+
+2006-07-25 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: (cpufreq) fix crash when
+ modules doesn't exist
+
+2006-07-24 19:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install the proper firmware
+ for "snd-asihpi" driven sound cards
+
+2006-07-24 15:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps.pm,
+ perl-install/network/drakfirewall.pm,
+ perl-install/network/shorewall.pm: allow not to log firewall
+ messages in system logs (#23690)
+
+2006-07-24 15:16 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-24 15:06 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-24 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: all to report drakroam bugs
+
+2006-07-24 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix parsing new packages
+ fullnames (tropikhajma@seznam.cz, #23066)
+
+2006-07-24 15:06 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-24 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: all to report drakroam bugs
+
+2006-07-24 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix parsing new packages
+ fullnames (tropikhajma@seznam.cz, #23066)
+
+2006-07-24 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: all to report drakroam bugs
+
+2006-07-24 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix parsing new packages
+ fullnames (tropikhajma@seznam.cz, #23066)
+
+2006-07-24 07:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: use "wext" wpa_supplicant
+ driver for ndiswrapper as well (ndiswrapper >= 1.12)
+
+2006-07-23 12:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.42-1mdv2007.0
+
+2006-07-23 10:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/common.pm: use --noignorebutton option instead of
+ --ignorebutton for kdesu (for KDE >= 3.5.3, patch from Nicolas
+ Lécureuil)
+
+2006-07-22 10:50 Dovix <dovix2003 at yahoo.com>
+
+ * perl-install/share/po/he.po: update hebrew translation
+
+2006-07-22 10:22 Dovix <dovix2003 at yahoo.com>
+
+ * perl-install/share/po/he.po: update hebrew translation
+
+2006-07-22 09:33 Dovix <dovix2003 at yahoo.com>
+
+ * perl-install/share/po/he.po: update hebrew translation
+
+2006-07-21 13:53 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: ksynaptics is back to normal, keep it
+
+2006-07-21 10:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't use a timeout workaround
+ for --ap arg
+
+2006-07-21 10:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use default connection for
+ --ap action
+
+2006-07-21 10:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: update comment
+
+2006-07-21 09:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use a 20 seconds timeout for
+ status messages
+
+2006-07-21 09:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: refresh networks on every
+ network status event (#23862)
+
+2006-07-20 19:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: don't pre-select WPA only
+ because WIRELESS_WPA_DRIVER is set
+
+2006-07-20 19:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: write wireless encryption key
+ even if WPA (so that we can guess it from ifcfg, we don't parse
+ wpa_supplicant.conf yet)
+
+2006-07-20 19:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.41-1mdv2007.0
+
+2006-07-20 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add a status bar and display
+ network event messages (#19290)
+
+2006-07-20 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/ethernet.pm,
+ perl-install/network/wireless.pm: add status messages
+
+2006-07-20 18:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm,
+ perl-install/network/wireless.pm: move access point detection to
+ network::wireless::get_access_point
+
+2006-07-20 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn,
+ perl-install/standalone/drakvpn-old: rename old drakvpn as
+ drakvpn-old
+
+2006-07-20 12:41 Warly <warly at mandriva.com>
+
+ * live/One/config/rpmsrate: openoffice is lowercase, smb4k
+ requires KDE
+
+2006-07-20 12:39 Warly <warly at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: now openoffice.org is
+ lowercase
+
+2006-07-20 09:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: simplify
+
+2006-07-20 09:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm: inline last dispatch call
+
+2006-07-20 09:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm: split set_gtk2_watch_helper
+ function (doesn't require an object)
+
+2006-07-20 09:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: settings have to be rewritten
+ only if they are impacted by choices from the main window
+
+2006-07-20 09:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: guess control settings as well
+
+2006-07-20 09:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: reload settings before
+ connection
+
+2006-07-20 09:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: reload interface settings
+ before configuration (#23803)
+
+2006-07-20 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: disable broken network guess
+ for now
+
+2006-07-20 09:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: use get_selected_network
+
+2006-07-20 09:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: fix bad deref
+ * perl-install/network/wireless.pm: don't source settings from
+ ifcfg if a network is selected
+
+2006-07-19 18:06 Warly <warly at mandriva.com>
+
+ * mdk-stage1/Makefile: root arch dir is i586 on i386
+
+2006-07-19 17:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: tag systems with
+ ipw2100/2200/3945 devices as laptops, they are Mini-PCI
+ (Express) adapters
+
+2006-07-19 16:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix selecting the first
+ network in the list
+
+2006-07-19 15:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.40-1mdv2007.0
+
+2006-07-19 15:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm,
+ perl-install/standalone/drakroam: rename is_configured method as
+ selected_network_is_configured
+
+2006-07-19 15:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm,
+ perl-install/standalone/drakroam: use ->get_selected_network
+
+2006-07-19 15:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: add get_selected_network
+ helper
+ * perl-install/network/connection.pm: add step labels (#23796)
+
+2006-07-19 15:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fix
+
+2006-07-19 14:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/standalone/drakroam: is unused for network access
+ settings
+
+2006-07-19 14:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: $net is now unused here
+
+2006-07-19 14:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: re-read ssid configuration
+ each time it is accessed
+
+2006-07-19 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: write settings after
+ configuration, not only before connection (partial fix for
+ #23803)
+
+2006-07-19 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: store wireless.d path in
+ $wireless_d
+
+2006-07-19 14:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't connect when Configure
+ is clicked
+
+2006-07-19 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix --ap behavior
+
+2006-07-19 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: don't allow to modify ESSID if
+ a network with a valid ESSID is selected
+
+2006-07-19 14:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't set connection network
+ if no connection is selected
+
+2006-07-19 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: supplement IP settings only is
+ IP address is valid
+
+2006-07-19 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix NETMASK configuration
+
+2006-07-19 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: don't supplement IP settings
+ when IP address isn't set
+
+2006-07-19 13:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: fix configuring an AP without
+ ESSID
+
+2006-07-19 13:08 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-19 13:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: fill AP field for
+ wpa_supplicant as well
+
+2006-07-19 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: acx100 firmware support
+
+2006-07-19 12:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/wireless.pm,
+ perl-install/standalone/drakroam: add step labels and use them
+ (#23796)
+
+2006-07-19 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: $connection->{network} should
+ contain a network ID, not a hash
+
+2006-07-19 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: select the first interface
+ that doesn't have a slow network scan
+
+2006-07-19 11:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm,
+ perl-install/network/connection.pm: add a network_scan_is_slow()
+ method
+
+2006-07-19 11:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: allow to select interface from
+ command line
+
+2006-07-19 11:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker
+ * perl-install/standalone/drakroam: always activate first combo
+ entry
+
+2006-07-19 10:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: move command line args in a
+ hash
+
+2006-07-19 13:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: fill AP field for
+ wpa_supplicant as well
+
+2006-07-19 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: acx100 firmware support
+
+2006-07-19 12:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/wireless.pm,
+ perl-install/standalone/drakroam: add step labels and use them
+ (#23796)
+
+2006-07-19 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: $connection->{network} should
+ contain a network ID, not a hash
+
+2006-07-19 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: select the first interface
+ that doesn't have a slow network scan
+
+2006-07-19 11:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm,
+ perl-install/network/connection.pm: add a network_scan_is_slow()
+ method
+
+2006-07-19 11:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: allow to select interface from
+ command line
+
+2006-07-19 11:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker
+ * perl-install/standalone/drakroam: always activate first combo
+ entry
+
+2006-07-19 10:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: move command line args in a
+ hash
+
+2006-07-19 10:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't allow to configure if no
+ network is selected
+
+2006-07-19 10:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: yet another network selection
+ fix
+
+2006-07-19 10:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: change label to Connect is
+ selected network isn't current network
+
+2006-07-19 10:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix network selection
+
+2006-07-19 10:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: grey Configure/Refresh buttons
+ when no device is selected (#23794)
+
+2006-07-19 09:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: simplify network selection
+
+2006-07-19 09:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/various.pm: move DRI_GLX choice in
+ Xconfig::various::various, and use it instead of
+ xfree_and_glx_choose()
+
+2006-07-19 09:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use better names
+
+2006-07-19 07:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: move choosing GLX or not after
+ choosing Driver2 (proprietary driver) or not
+
+2006-07-19 07:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: remove special configuration only
+ for XFree 3.3
+
+2006-07-18 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.39-1mdv2007.0
+
+2006-07-18 18:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add group labels to separate
+ settings (#23796)
+
+2006-07-18 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: test caching-nameserver using
+ /usr/sbin/named
+
+2006-07-18 17:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix signal level (#23799)
+
+2006-07-18 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/proprietary.pm,
+ perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/xfree.pm: use Modes instead of Virtual by
+ default
+
+ (it seems we don't need to list the smaller resolutions anymore
+ with Modes,
+ and Modes works better than Virtual. eg: on a laptop here, we
+ end up with only
+ 1400x1050 in xrandr when using Virtual, whereas with Modes, we
+ have 1024x768,
+ 800x600...)
+
+2006-07-18 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix remaining ejectCdrom call (ejectCdrom
+ is no more for some time)
+
+2006-07-18 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm, perl-install/Xconfig/various.pm:
+ allow toggling Composite extension (on by default), and
+ RenderAccel proprietary nvidia option (on by default until this
+ f*cking driver works better)
+
+2006-07-18 16:19 Warly <warly at mandriva.com>
+
+ * perl-install/install/pixmaps/logo-mandriva.png: add beta logo
+
+2006-07-18 16:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: handle fglrx_dri.so in
+ /usr/$lib/dri
+
+2006-07-18 11:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/ca.po, perl-install/share/po/de.po,
+ perl-install/share/po/es.po, perl-install/share/po/it.po,
+ perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/pt_BR.po: more modules/modprobe fixes
+
+2006-07-18 09:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: drop unused sub
+
+2006-07-18 09:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: drop 2.4 support
+ (freeswan/super-freeswan)
+
+2006-07-18 09:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: drop 2.4 support
+
+2006-07-18 08:13 Warly <warly at mandriva.com>
+
+ * make_boot_img: now that the stage one looks into the /arch/ dir,
+ we must use isolinux-i586 by default for rescue and boot.iso
+
+2006-07-18 01:03 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-07-17 20:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: network/wireless is no more
+
+2006-07-17 20:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.38-1mdv2007.0
+
+2006-07-17 19:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: really write DHCP_* variables
+ (and guess DHCP_TIMEOUT)
+
+2006-07-17 19:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: drop unused code
+ * perl-install/network/wireless.pm: simplify
+
+2006-07-17 19:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless: remove deprecated module
+ * perl-install/network/wireless.pm: drop unused code
+
+2006-07-17 19:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use generic layer to connect
+
+2006-07-17 19:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: handle wpa_supplicant
+ reconfiguration in network::wireless::prepare_connection
+ * perl-install/network/wireless.pm: always write wireless
+ configuration file
+
+2006-07-17 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: don't overwrite
+ WIRELESS_ENC_KEY with a wrong value
+ * perl-install/network/wireless.pm: add need_rt2x00_iwpriv and use
+ it
+
+2006-07-17 19:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: guess encryption according to
+ network flags
+
+2006-07-17 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm: move interactive protocol
+ code in network::connection::get_protocol_settings
+
+2006-07-17 18:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: allow to show all address
+ settings, even if the protocol doesn't match
+
+2006-07-17 16:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: split hostname stuff in
+ get_hostname_settings
+
+2006-07-17 16:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't show buble at applet
+ startup
+
+2006-07-17 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ask hostname settings in
+ address setp
+
+2006-07-17 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix typo
+
+2006-07-17 12:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't use wireless::gui
+ directly from here
+
+2006-07-17 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: center wait messages and popups
+
+2006-07-17 12:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: warn when device isn't ready
+
+2006-07-17 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2006-07-17 12:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use icon for window decoration
+ as well
+
+2006-07-17 12:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: factorize title and icon path
+
+2006-07-17 12:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: rename wireless_* variables
+ using a more generic name
+
+2006-07-17 12:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: grey the Connect button when
+ no network is selected (#20168)
+
+2006-07-17 12:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: allow to disconnect
+
+2006-07-17 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/sound.pm, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: use modprobe.conf instead of
+ modules.conf
+
+2006-07-17 11:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - fix handling drakx-in-chroot
+ media
+ - ensure we can't go through with a missing real_mntpoint
+ (otherwise it can cause havoc)
+
+2006-07-17 10:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/interactive_http/miniserv.pam: don't use
+ pam_stack anymore
+
+2006-07-17 10:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/net_applet.desktop,
+ perl-install/share/net_applet.xinit: remove unused files
+
+2006-07-17 10:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.37-1mdv2007.0
+
+2006-07-17 10:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: add missing changelog entry
+
+2006-07-17 10:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix typo (still, this
+ doesn't make it understandable...)
+
+2006-07-17 10:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: umount stage1 (remaining after
+ pivot_root) only if not local_install
+
+2006-07-17 10:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: XDG menu (Nicolas Lécureuil)
+
+2006-07-16 12:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: drop stderr of iwlist/iwgetid
+ (so that net_applet doesn't flood .xsession-errors)
+
+2006-07-14 17:10 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-07-13 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use network card description
+ in state notification bubble if possible
+
+2006-07-13 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: add wireless access point
+ and link level in state notification bubble
+
+2006-07-13 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move tooltip messages in
+ get_state_message
+
+2006-07-13 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm,
+ perl-install/Xconfig/proprietary.pm: allow to choose the
+ non-proprietary driver
+
+2006-07-13 13:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo (thanks Pixel)
+
+2006-07-13 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use sprintf and translate to
+ please perl_checker
+
+2006-07-13 12:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show notification bubble on
+ state change
+
+2006-07-13 12:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: move message queuing logic
+ in a Gtk2::NotificationBubble::Queue package
+
+2006-07-13 11:03 Warly <warly at mandriva.com>
+
+ * mdk-stage1/Makefile, mdk-stage1/cdrom.c,
+ mdk-stage1/config-stage1.h: now cdrom image is in cdimage with a
+ symlink image to cdimage/ARCH
+
+2006-07-13 10:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker fixes
+
+2006-07-13 10:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: move buttons at bottom
+
+2006-07-13 10:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: allow to select wireless
+ interface
+
+2006-07-12 19:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/cpufreq.pm: fix matching "power management" field
+
+2006-07-12 16:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: make isLaptop() return true if
+ Type is "laptop", using dmitable entries for example (#23197)
+
+2006-07-12 15:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: add details about
+ profile modification (thanks Chty)
+
+2006-07-12 15:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fully fix the typo
+
+2006-07-12 15:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: don't fail when preload modules can't
+ be loaded (#23674)
+
+2006-07-12 14:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix typo
+
+2006-07-12 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: differentiate local auth and NIS
+ auth (by reading yp.conf)
+
+2006-07-12 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: rewrite writing in yp.conf (for
+ NIS)
+
+2006-07-12 14:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: bcm43xx firmware support
+
+2006-07-12 14:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm,
+ perl-install/network/xdsl.pm: always reload module if a firmware
+ file is required
+
+2006-07-11 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: remove duplicated log
+ (run_program::run will log the mount command, and more nicely)
+ * perl-install/fs/mount.pm: drop option utf8 and iocharset=xxx
+ during install (esp. for cdrom mounting), otherwise we would
+ need to modprobe some nls_xxx (??)
+
+2006-07-11 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: use find_and_add_to_fstab() for
+ cdrom:// (so that we get the same behaviour as booting &
+ installing from cd)
+
+2006-07-11 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: don't do setup_postinstall_rpms()
+ if non interactive (since ask_change_cd will fail)
+
+2006-07-11 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: fix typo in log message
+
+2006-07-11 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: greatly increase the swap maxsize
+ (useful for swsuspend)
+
+2006-07-10 20:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix connection to AP passed as
+ argument (#23628)
+
+2006-07-10 19:31 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add zd1211rw module in network/wireless
+
+2006-07-10 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: zd1211 support
+
+2006-07-10 19:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: handle prism2 drivers using
+ thirdparty layer
+
+2006-07-10 15:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix some errors reported by
+ perl_checker
+
+2006-07-10 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: switch to generic layer for
+ LAN and wireless
+
+2006-07-10 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: keep thirdparty settings
+
+2006-07-10 15:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: use
+ network::ethernet::check_device
+ * perl-install/network/ethernet.pm: check if network interface is
+ present before configuring network interface
+
+2006-07-10 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: remove useless sub
+ (network::ethernet is our base)
+
+2006-07-10 15:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: add wireless support using
+ network::connection
+
+2006-07-10 14:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: allow to pass additionnal
+ settings to build_ifcfg_settings
+
+2006-07-10 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm,
+ perl-install/install/share/rpmsrate,
+ perl-install/install/steps.pm: handle numlock with rpmsrate
+ ($o->{miscellaneous}{numlock} is dead, not backward
+ compatibility added)
+
+2006-07-10 13:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix typo
+
+2006-07-10 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: X locales have moved
+
+2006-07-10 10:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: rename many pkgs to their
+ new names. remove many removed pkgs
+
+2006-07-10 10:14 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: -clean GNOME dependencies
+ -don't install numlock on laptop
+
+2006-07-09 05:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.36-1mdv2007.0
+
+2006-07-09 05:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: conflicts with older rpmdrake
+
+2006-07-09 05:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: use another treeview for displaying the
+ packages
+
+2006-07-09 01:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po: update
+
+2006-07-08 00:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: set up SCIM for indian
+ languages
+
+2006-07-07 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/standalone/drakclock: adapt server
+ parsing to previous commit
+
+2006-07-07 18:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/standalone/drakclock: sort ntp server
+ list by country
+
+2006-07-07 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/cpufreq.pm: better typo fix
+
+2006-07-07 17:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/cpufreq.pm: fix typo (Danny)
+
+2006-07-07 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: allow installing 2006
+ (/etc/modprobe.preload.d didn't exist in initscripts)
+
+2006-07-07 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix N() use
+
+2006-07-07 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: simplify
+
+2006-07-07 14:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (main) compare untranslated
+ strings & properly check the return value
+
+2006-07-07 14:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (main) make it more
+ understandable (#18840)
+
+2006-07-07 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (need_migration) try
+ harder to explain (#21361)
+
+2006-07-07 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: be more friendly with
+ translators by providing them more time to
+ translate this string
+
+2006-07-07 10:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: s/CVS/SVN/
+
+2006-07-07 08:27 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-07-06 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Create): use a wrapped
+ list which looks nicer and is more user-friendly (only needed in
+ expert mode)
+
+2006-07-06 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/xdsl.pm: r78@inspiron: a |
+ 2006-07-06 20:06:51 +0200
+ don't take VPI/VCI settings as hex (#23557)
+
+2006-07-06 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/xdsl.pm: r77@inspiron: a |
+ 2006-07-06 20:03:18 +0200
+ fix undef array deref
+
+2006-07-06 15:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/cpufreq.pm: r51@inspiron: a |
+ 2006-07-06 19:09:39 +0200
+ handle new centrino model (#22914)
+ * perl-install, perl-install/network/ethernet.pm: r50@inspiron:
+ a | 2006-07-06 19:04:19 +0200
+ fix spacing
+
+2006-07-06 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r49@inspiron:
+ a | 2006-07-06 18:57:49 +0200
+ add reminder about Zeroconf
+ * perl-install, perl-install/network/ethernet.pm: r48@inspiron:
+ a | 2006-07-06 18:56:20 +0200
+ automatically fill some static settings
+ * perl-install, perl-install/network/ethernet.pm: r47@inspiron:
+ a | 2006-07-06 18:53:23 +0200
+ add gateway field for static connections
+ * perl-install, perl-install/network/ethernet.pm: r46@inspiron:
+ a | 2006-07-06 18:52:26 +0200
+ fix a bunch of typos
+ * perl-install, perl-install/network/ethernet.pm: r45@inspiron:
+ a | 2006-07-06 18:43:28 +0200
+ add DNS settings
+ * perl-install, perl-install/network/ethernet.pm: r44@inspiron:
+ a | 2006-07-06 18:38:21 +0200
+ ask for hostname in address step
+
+2006-07-06 15:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r43@inspiron:
+ a | 2006-07-06 18:35:21 +0200
+ DHCP host name is an advanced setting
+ * perl-install, perl-install/network/ethernet.pm: r42@inspiron:
+ a | 2006-07-06 18:30:06 +0200
+ use peer DNS by default for DHCP
+ * perl-install, perl-install/network/ethernet.pm: r41@inspiron:
+ a | 2006-07-06 18:28:33 +0200
+ move common control settings upper
+
+2006-07-06 15:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r40@inspiron:
+ a | 2006-07-06 18:27:50 +0200
+ make ifplugd an advanced option
+
+2006-07-06 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r39@inspiron:
+ a | 2006-07-06 18:26:12 +0200
+ drop confusing zeroconf protocol
+
+2006-07-06 15:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm: r38@inspiron:
+ a | 2006-07-06 18:25:00 +0200
+ drop unused
+
+2006-07-06 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm: r37@inspiron:
+ a | 2006-07-06 18:24:12 +0200
+ drop get_ifcfg_hash
+
+2006-07-06 15:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm,
+ perl-install/network/ethernet.pm: r36@inspiron: a | 2006-07-06
+ 18:22:30 +0200
+ add network::connection::get_ifcfg_bool and use it
+
+2006-07-06 15:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r35@inspiron:
+ a | 2006-07-06 17:01:50 +0200
+ use ->{ifcfg}
+ * perl-install, perl-install/network/connection.pm: r34@inspiron:
+ a | 2006-07-06 16:51:38 +0200
+ load ifcfg settings in ->{ifcfg}
+
+2006-07-06 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Create): use a wrapped
+ list which looks nicer and is more user-friendly (only needed in
+ expert mode)
+
+2006-07-06 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/xdsl.pm: r78@inspiron: a |
+ 2006-07-06 20:06:51 +0200
+ don't take VPI/VCI settings as hex (#23557)
+
+2006-07-06 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/xdsl.pm: r77@inspiron: a |
+ 2006-07-06 20:03:18 +0200
+ fix undef array deref
+
+2006-07-06 15:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/cpufreq.pm: r51@inspiron: a |
+ 2006-07-06 19:09:39 +0200
+ handle new centrino model (#22914)
+ * perl-install, perl-install/network/ethernet.pm: r50@inspiron:
+ a | 2006-07-06 19:04:19 +0200
+ fix spacing
+
+2006-07-06 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r49@inspiron:
+ a | 2006-07-06 18:57:49 +0200
+ add reminder about Zeroconf
+ * perl-install, perl-install/network/ethernet.pm: r48@inspiron:
+ a | 2006-07-06 18:56:20 +0200
+ automatically fill some static settings
+ * perl-install, perl-install/network/ethernet.pm: r47@inspiron:
+ a | 2006-07-06 18:53:23 +0200
+ add gateway field for static connections
+ * perl-install, perl-install/network/ethernet.pm: r46@inspiron:
+ a | 2006-07-06 18:52:26 +0200
+ fix a bunch of typos
+ * perl-install, perl-install/network/ethernet.pm: r45@inspiron:
+ a | 2006-07-06 18:43:28 +0200
+ add DNS settings
+ * perl-install, perl-install/network/ethernet.pm: r44@inspiron:
+ a | 2006-07-06 18:38:21 +0200
+ ask for hostname in address step
+
+2006-07-06 15:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r43@inspiron:
+ a | 2006-07-06 18:35:21 +0200
+ DHCP host name is an advanced setting
+ * perl-install, perl-install/network/ethernet.pm: r42@inspiron:
+ a | 2006-07-06 18:30:06 +0200
+ use peer DNS by default for DHCP
+ * perl-install, perl-install/network/ethernet.pm: r41@inspiron:
+ a | 2006-07-06 18:28:33 +0200
+ move common control settings upper
+
+2006-07-06 15:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r40@inspiron:
+ a | 2006-07-06 18:27:50 +0200
+ make ifplugd an advanced option
+
+2006-07-06 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r39@inspiron:
+ a | 2006-07-06 18:26:12 +0200
+ drop confusing zeroconf protocol
+
+2006-07-06 15:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm: r38@inspiron:
+ a | 2006-07-06 18:25:00 +0200
+ drop unused
+
+2006-07-06 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm: r37@inspiron:
+ a | 2006-07-06 18:24:12 +0200
+ drop get_ifcfg_hash
+
+2006-07-06 15:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/connection.pm,
+ perl-install/network/ethernet.pm: r36@inspiron: a | 2006-07-06
+ 18:22:30 +0200
+ add network::connection::get_ifcfg_bool and use it
+
+2006-07-06 15:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r35@inspiron:
+ a | 2006-07-06 17:01:50 +0200
+ use ->{ifcfg}
+ * perl-install, perl-install/network/connection.pm: r34@inspiron:
+ a | 2006-07-06 16:51:38 +0200
+ load ifcfg settings in ->{ifcfg}
+
+2006-07-06 12:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (part_possible_actions)
+ use a wrapped list which looks nicer and is more user-friendly
+
+2006-07-06 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) use a list with
+ columns if requested
+ * perl-install/diskdrake/interactive.pm: (part_possible_actions)
+ there's not point in enabling one to type in a
+ partition type that is unknown to diskdrake
+ * perl-install/diskdrake/interactive.pm: (part_possible_actions)
+ don't offer useless options for swap partitions
+
+2006-07-06 12:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: -
+ move agressively clean_rpmdb_shared_regions() (#21502)
+ - rename rpmDbCleanLogs() into clean_rpmdb_shared_regions()
+
+2006-07-06 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: remove debug code
+ * perl-install/log.pm: don't log on tty3 in local_install
+
+2006-07-06 11:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/netconnect.pm:
+ r18@localhost: a | 2006-07-06 15:13:46 +0200
+ remove zeroconf configuration step (#21625)
+
+2006-07-06 11:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/netconnect.pm:
+ r17@localhost: a | 2006-07-06 15:10:39 +0200
+ remove unused and incorrect LAN protocol
+ * perl-install, perl-install/network/netconnect.pm:
+ r16@localhost: a | 2006-07-06 15:09:52 +0200
+ move unused message in the i18n cimetery
+ * perl-install, perl-install/network/wireless.pm: r15@localhost:
+ a | 2006-07-06 13:27:28 +0200
+ warn if RF kill switch is disabled
+
+2006-07-06 11:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/netconnect.pm:
+ r14@localhost: a | 2006-07-06 13:24:25 +0200
+ use full connection type description
+ * perl-install, perl-install/network/connection.pm:
+ r13@localhost: a | 2006-07-06 13:23:54 +0200
+ fix get_type_description
+ * perl-install, perl-install/network/wireless.pm: r12@localhost:
+ a | 2006-07-06 13:18:24 +0200
+ use network::ethernet as base
+ * perl-install, perl-install/network/netconnect.pm:
+ r11@localhost: a | 2006-07-06 13:10:13 +0200
+ allow to configure an unlisted network
+
+2006-07-06 11:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/ethernet.pm: r10@localhost:
+ a | 2006-07-05 19:42:58 +0200
+ initial generic layer support for ethernet
+ * perl-install, perl-install/network/connection.pm: r9@localhost:
+ a | 2006-07-05 19:32:37 +0200
+ use directly write_interface_settings
+ * perl-install, perl-install/network/network.pm: r8@localhost: a
+ | 2006-07-05 19:31:05 +0200
+ split get_ifcfg_file
+ * perl-install, perl-install/network/ethernet.pm: r7@localhost:
+ a | 2006-07-05 18:55:57 +0200
+ remove useless connect method (already implemented in
+ network::connection)
+
+2006-07-06 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/network/netconnect.pm: r6@localhost:
+ a | 2006-07-05 18:40:55 +0200
+ handle check_device as well
+ * perl-install, perl-install/network/cellular.pm,
+ perl-install/network/netconnect.pm: r5@localhost: a |
+ 2006-07-05 18:37:17 +0200
+ rename prepare_hardware as check_hardware
+
+2006-07-06 11:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install, perl-install/detect_devices.pm: r4@localhost: a
+ | 2006-07-05 18:33:11 +0200
+ add sysfs_device field in PCI device hash (path to sysfs device)
+
+2006-07-05 08:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix typo in ueagle-atm fir,mare
+ path (#23398Ã)
+
+2006-07-05 07:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: you need a "true fs" for /home (ie fat
+ not allowed) (bugzilla #23514)
+
+2006-07-04 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: do not display
+ "Press <Enter> to reboot" in local installs
+
+2006-07-04 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add text_ref handling for 'Entry'
+
+2006-07-04 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/list.xml: fix for xorg7.1 on x86_64
+ * perl-install/install/steps_gtk.pm: (reallyChooseGroups)
+ temporary disable individual package selection b/c of
+ changes regarding rpmdrake
+
+2006-07-04 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: quota is now needed
+
+2006-07-04 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info) kill unused
+ arguments
+
+2006-07-03 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: yet another URL
+
+2006-07-03 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: add a new URL
+
+2006-07-03 17:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: add some URL pointers
+
+2006-06-30 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: remove test code: now use hdlists
+ if available, then media.cfg (still prefering hdlists when
+ available since there used to be media.cfg without name=xxx)
+
+2006-06-29 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm: seperate loading of
+ interface settings
+
+2006-06-29 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to supplement address
+ settings on focus_out
+
+2006-06-29 13:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/pixmaps/langs/lang-ca@valencia.png,
+ perl-install/install/pixmaps/langs/lang-ca@valencian.png:
+ ca@valencian, not ca@valencia
+
+2006-06-29 13:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm, perl-install/lang.pm: ca@valencian,
+ not ca@valencia
+
+2006-06-29 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: updater
+
+2006-06-29 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/uz@Latn.po: update (Mashrab
+ Kuvatov)
+
+2006-06-29 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/uz@Latn.po: update (Mashrab Kuvatov)
+
+2006-06-29 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/uz@Latn.po: update (Mashrab Kuvatov)
+
+2006-06-29 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/uz.po: update (Mashrab Kuvatov)
+
+2006-06-29 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/uz.po: update (Mashrab Kuvatov)
+
+2006-06-29 12:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/uz.po: update (Mashrab Kuvatov)
+
+2006-06-29 09:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm,
+ perl-install/network/mobile_data.pm,
+ perl-install/network/xdsl_consts.pm: remove from repository,
+ they've been renamed (but not removed by svn mv...)
+
+2006-06-29 02:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/standalone/po/id.po: Updated
+
+2006-06-29 02:00 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-06-29 00:58 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/install/share/po/id.po: Updated
+
+2006-06-28 12:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.35-1mdv2007.0
+
+2006-06-28 12:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove "Track network card
+ id (useful for laptops)" option (we do this by default using
+ udev rules anyway), and fix #23414 as a side effect
+
+2006-06-28 12:24 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-06-28 11:53 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-06-28 11:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: configure CPU frequency
+ modules in harddrake and during install (will replace the
+ cpufreq service)
+ * perl-install/cpufreq.pm, perl-install/harddrake/data.pm,
+ perl-install/install/steps.pm,
+ perl-install/standalone/service_harddrake: configure CPU
+ frequency modules in harddrake and during install (will replace
+ the cpufreq service)
+
+2006-06-28 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: remove incorrect
+ comment
+ * perl-install/harddrake/autoconf.pm, perl-install/modules.pm:
+ move modprobe.preload.d code in modules::set_preload_modules
+
+2006-06-27 16:01 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-27 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - handle nfs-iso
+ - add the nfs dir containing iso in fstab, but mounted by default
+ - do umount first phys_medium if it is not the stage2 phys_medium
+
+2006-06-27 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: handle re-mounting elsewhere using
+ mount --move
+
+2006-06-27 14:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2006-06-27 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - handle nfs-iso
+ - add the nfs dir containing iso in fstab, but mounted by default
+ - do umount first phys_medium if it is not the stage2 phys_medium
+
+2006-06-27 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: handle re-mounting elsewhere using
+ mount --move
+
+2006-06-27 14:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2006-06-27 10:12 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: add testdisk (together with gpart and rescuept
+ which we may deprecate sooner or later)
+
+2006-06-27 09:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/pixmaps/langs/lang-ca@valencia.png,
+ perl-install/keyboard.pm, perl-install/lang.pm: New lang
+ (variant) choice: "Catalan (Valencian)"
+
+2006-06-27 09:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: new locales
+
+2006-06-27 08:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - don't bother umounting first
+ phys medium if clp is not on disk
+ (mainly for nfs installs using install/stage2/live)
+ - add support for disk-iso in stage2_phys_medium()
+ - add rel_path parameter to iso_phys_media() to be able to use
+ it for {stage2_phys_medium}
+ - add entry for the mountpoint containing the iso files in fstab
+
+2006-06-26 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm:
+ $o->{stage2_phys_medium} is needed early for
+ install::any::drakx_version()
+
+2006-06-26 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm, perl-install/install/commands.pm,
+ perl-install/install/share/list.xml,
+ perl-install/install/share/symlinks: use the real umount
+ command, no more the syscall. /etc/mtab is no more a symlink to
+ /proc/mounts. this allows mount/umount of loopback file in a
+ simple way
+
+2006-06-26 15:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm:
+ install::steps::exitInstall must be called in when using
+ {autoExitInstall}, handle it cleanly
+
+2006-06-26 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: special case for cdrom hopefully
+ now handled more cleanly
+
+2006-06-26 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix typo in commit r38050
+
+2006-06-26 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: call phys_medium_is_mounted with
+ the final phys_medium struct
+
+2006-06-26 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: force type "iso9660" instead of "auto"
+ when mounting cdrom during install
+
+2006-06-26 13:49 stewb
+
+ * perl-install/standalone/drakbackup: Fix #23368 - freeze at
+ CD/DVD media selection
+
+2006-06-26 13:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: nicer log message
+
+2006-06-26 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: use internal_error()
+ * perl-install/any.pm, perl-install/install/any.pm,
+ perl-install/install/install2.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm: call stage2_phys_medium() only
+ once, save the result in $o->{stage2_phys_medium}
+ (since /tmp/hdimage may be mounted somewhere else)
+
+2006-06-26 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: - don't umount partitions mounted
+ non-rooted (ie having {real_mntpoint})
+ - when {real_mntpoint} is set, isMounted is set too
+
+2006-06-26 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/steps.pm:
+ create install::media::phys_medium_to_string() and use it
+
+2006-06-26 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: when merging /proc/mounts "loose", merge
+ real_mntpoint (not only isMounted)
+ * perl-install/fs.pm: no need to set mount point /mnt/hd for hd
+ installs (now handled in install::media::find_and_add_to_fstab())
+
+2006-06-26 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: call phys_medium_is_mounted()
+ with the drakx:// phys_medium
+
+2006-06-26 10:29 Pixel <pixel at mandriva.com>
+
+ * tools/mdkinst_stage2_tool: fix exit code when not cleanup
+
+2006-06-26 10:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, tools/mdkinst_stage2_tool: make
+ mdkinst_stage2_tool more flexible
+
+2006-06-26 09:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: better regexp
+
+2006-06-26 07:54 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-26 07:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix typo (breaking http/ftp
+ installs)
+
+2006-06-26 07:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix typo (breaking http/ftp
+ installs)
+
+2006-06-23 20:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: using an existing
+ translation
+
+2006-06-23 20:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install/help/po/gl.po: updated Galician file
+
+2006-06-23 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/et.po: fixed missing \n
+
+2006-06-23 20:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: updated po files
+
+2006-06-23 20:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ky.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_TW.po:
+ updated po files
+
+2006-06-23 17:56 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-23 17:53 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: syslinux-graphic is no more (todo: handle gfxboot)
+
+2006-06-23 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix hd installs
+
+2006-06-23 17:53 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: syslinux-graphic is no more (todo: handle gfxboot)
+
+2006-06-23 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: fix hd installs
+
+2006-06-23 15:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-06-23 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/ja.po: update (BANDO Yukiko)
+
+2006-06-23 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (BANDO Yukiko)
+ * perl-install/standalone/po/ja.po: update (BANDO Yukiko)
+
+2006-06-23 12:26 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-06-23 12:08 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-06-23 12:02 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: no xbox kernel anymore
+
+2006-06-23 11:58 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-23 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: umount media & eject
+ cdrom at exitInstall step
+
+2006-06-23 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps_interactive.pm: - replace {path} with
+ a call to install::media::path() for phys_mediums
+ - after umounting a stage2 phys_medium, remount it in the final
+ mntpoint
+ - umount_phys_medium logs the error and list files still open
+ - add {mntpoint} to cdrom stage2 phys_medium
+ - ensure we know the stage2 phys medium is mounted in
+ %mounted_media
+ - if a cdrom was mounted and we want another one, do not try to
+ mount cdrom just after umounting it
+ - we creating phys_mediums for other cdroms, unset
+ {real_mntpoint}
+ - simplify ejectCdrom
+
+2006-06-23 11:18 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-06-23 10:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: correctly umount part with both
+ {real_mntpoint} and {mntpoint}
+
+2006-06-23 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: umount media & eject
+ cdrom at exitInstall step
+
+2006-06-23 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/media.pm,
+ perl-install/install/steps_interactive.pm: - replace {path} with
+ a call to install::media::path() for phys_mediums
+ - after umounting a stage2 phys_medium, remount it in the final
+ mntpoint
+ - umount_phys_medium logs the error and list files still open
+ - add {mntpoint} to cdrom stage2 phys_medium
+ - ensure we know the stage2 phys medium is mounted in
+ %mounted_media
+ - if a cdrom was mounted and we want another one, do not try to
+ mount cdrom just after umounting it
+ - we creating phys_mediums for other cdroms, unset
+ {real_mntpoint}
+ - simplify ejectCdrom
+
+2006-06-23 11:18 Marek Laane <bald at starman.ee>
+
+ * perl-install/install/share/po/et.po: Updated Estonian
+ translation.
+
+2006-06-23 10:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: correctly umount part with both
+ {real_mntpoint} and {mntpoint}
+
+2006-06-23 09:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/media.pm, perl-install/install/pkgs.pm:
+ have back {name} for mediums, since it can differ for the same
+ phys_medium
+ (eg: cooker where main and contrib are on the same phys_medium
+ but with
+ different names. {name} should be used to find the good
+ phys_medium only for
+ iso files and cdroms)
+
+2006-06-23 08:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: put back support for cdrom
+ installs (still broken)
+
+2006-06-23 08:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: log found iso files
+
+2006-06-23 07:29 Pixel <pixel at mandriva.com>
+
+ * .: add ChangeLog.bak to svn:ignore
+
+2006-06-23 07:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: add debug code (but disactivated
+ at the moment
+ )
+
+2006-06-23 07:20 berthy
+
+ * perl-install/standalone/po/fr.po: Update french translation
+
+2006-06-22 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checko cleanup
+
+2006-06-22 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move the Fn-File require where
+ appropriate
+
+2006-06-22 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.34-1mdv2007.0
+
+2006-06-22 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require perl-File-FnMatch
+
+2006-06-22 15:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix getFile_stage2 call in loadO
+ * perl-install/install/media.pm: fix stage2_phys_medium for ftp &
+ http
+
+2006-06-22 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - stage2_phys_medium is already
+ mounted
+ - if the nfs server is already in fstab, use that entry
+
+2006-06-22 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: is analyse_kernel_name() still
+ needed? shouldn't it use bootloader.pm much better code? anyway
+ adding kernel-linus and kernel-linus-smp
+
+2006-06-22 14:40 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Add gcalctool for default
+ GNOME install
+
+2006-06-22 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: clean
+ rpmdb state files before using db for the first time (useful for
+ installs without formatting "/", ie mostly for testing)
+
+2006-06-22 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: correctly configure urpmi for
+ drakx:// on nfs
+
+2006-06-22 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/media.pm: - rework install_urpmi, make it
+ work again
+ - {with_hdlist} is not needed anymore, we use the per medium
+ hdlist.cz directly
+ - nicer {fakemedium} value (the name used in urpmi.cfg)
+ - add the iso files in fstab
+ - simplify the mount point used for iso files
+ - {name} is a phys_medium attribute, not a medium one
+ - for iso files on nfs, configure the nfs mount point to be
+ mounted at boot
+ (since urpmi can't handle mounting both the nfs + the iso file)
+
+2006-06-22 13:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm, perl-install/fs/mount.pm:
+ rely on the mount command to handle mounting loopback file
+ (without encryption)
+
+2006-06-22 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) fix icon position
+ when not using the default 75 height
+
+2006-06-22 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) fix text position
+ when not using the default 75 height
+
+2006-06-22 12:56 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: Add gnome-power-manager for
+ GNOME laptops
+
+2006-06-22 12:33 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: handle Xephyr (used when Xnest not
+ available)
+
+2006-06-22 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: move hplip & sane various
+ pkgs to NOCOPY (we were copying 160MB of pkgs)
+
+2006-06-22 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: seldom used pkgs must be in
+ NOCOPY (xorg-x11-glide-module Glide_V3-DRI Glide_V5)
+
+2006-06-22 08:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: - adapt to x11 pkgs
+ currently installed by XFdrake
+ - remove seldom used (xorg-x11-glide-module Glide_V3-DRI
+ Glide_V5)
+ - remove Mesa (obsolete??)
+
+2006-06-21 16:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: package
+ /etc/sysconfig/harddrake2/kernel so that we don't try to
+ autoconf the mouse on first boot b/c of a dummy kernel version
+ change
+
+2006-06-21 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: simplify. fix previous commit
+
+2006-06-21 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: make things more explicit
+
+2006-06-21 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po,
+ perl-install/standalone/po/fr.po: update
+
+2006-06-21 15:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with code
+
+2006-06-21 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: remove debug code
+ * perl-install/install/media.pm: setup_postinstall_rpms(): really
+ copy all dependencies
+
+2006-06-21 15:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/cy.po: update
+
+2006-06-21 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/br.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/share/po/br.po, perl-install/share/po/fr.po: update
+
+2006-06-21 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/pkgs.pm: -
+ fix handling of CD1 pkgs copied on disks
+ - when mounting first CD, allow interactive prompting by
+ checking availability of media_info directory
+ - setup_postinstall_rpms() is now working (well partially,
+ toCopy rpm deps are not all copied yet)
+
+2006-06-21 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: better error case
+
+2006-06-21 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: sync with code
+
+2006-06-21 14:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-06-21 14:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: handle both old and new kernels
+ for usb sysfs fields as well, to fill usb_vendor/id and fix
+ isKeyUsb()
+
+2006-06-21 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.33-1mdv2007.0
+
+2006-06-21 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: ejectCdrom() now needs a parameter (this
+ would need more cleanup)
+
+2006-06-21 14:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: revert bogus commit r37666 that readded
+ ref on ref support
+
+2006-06-21 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: "Old compatibility (non UTF-8) encoding"
+ instead of "Use Unicode by default"
+
+2006-06-21 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: revert part of the commit whihc was
+ overriding given {utf8}
+
+2006-06-21 13:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add address configuration
+ step
+
+2006-06-21 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: enhanced layout for advanced
+ help
+
+2006-06-21 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (markup_to_TextView_format) handle
+ Gtk2::Label's <big> markup for TextViews
+
+2006-06-21 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: (markup_simplify) do not drop
+ "<big>" markup
+
+2006-06-21 13:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: remove kernel-2.4 and
+ ipchains
+
+2006-06-21 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/convert,
+ perl-install/standalone/drakedm,
+ perl-install/standalone/drakhelp,
+ perl-install/standalone/drakhosts,
+ perl-install/standalone/drakids,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/draksplash2,
+ perl-install/standalone/drakvpn,
+ perl-install/standalone/localedrake,
+ perl-install/standalone/net_applet,
+ perl-install/standalone/service_harddrake.sh,
+ perl-install/standalone/service_harddrake_confirm: set
+ executable bit
+
+2006-06-21 12:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: sync with latest draknfs
+ changes
+
+2006-06-21 12:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix previous commit (smoother
+ advanced help) w/o breaking the dialog layout
+
+2006-06-21 12:36 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix redundant ":" in advanced
+ help, and now check directory to share
+
+2006-06-21 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: -
+ change_phys_medium() takes a relative file name (getFile_ was
+ giving it absolute whereas some other call was giving it
+ relative)
+ - create physical media for each cdroms
+
+2006-06-21 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: guess onboot and userctl
+ settings from ifcfg
+
+2006-06-21 11:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/netconnect.pm: correctly guess metric
+ settings for ifcfg
+
+2006-06-21 10:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove HWADDR support, we do
+ persistent ethernet interfaces naming now
+
+2006-06-21 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: configure address settings
+ if possible
+
+2006-06-21 10:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: keep_unrequested_dependencies
+ helps perl-URPM not unselecting previously selected package
+ (this bug occurs when there is a conflict)
+
+2006-06-21 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: add SFR as cellular
+ provider
+
+2006-06-21 09:37 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: OFFICE is too big for kde,
+ only in Gnome; remove some categories in KDE, keep them in
+ gnome; add x11-driver packages, not in rpmsrate
+
+2006-06-21 09:33 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: remove ksynaptics after install (mess
+ up the mouse); unionfs now in kernel; add new regions
+
+2006-06-21 09:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: better var name
+
+2006-06-21 08:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm, perl-install/install/any.pm,
+ perl-install/install/pkgs.pm: - fix read_rpmsrate_raw() (we give
+ a file, not a filehandle anymore)
+ - read_rpmsrate() now takes a $dont_check_hardware parameter
+ (used for $::o->{build_live_system}, but can be useful for
+ testing too)
+ - speed-up read_rpmsrate(), esp. with matching_types() instead
+ of matching_type()
+
+2006-06-20 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not try to detect legacy
+ floppy drives, which result in a warning message
+ * perl-install/detect_devices.pm: (floopies) rename argument
+
+2006-06-20 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies) add an argument that
+ enable/prevent detecting legacy floppies
+
+2006-06-20 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: write ppp secrets only if login is
+ present
+
+2006-06-20 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: fix typo (but would need even
+ more fixing)
+
+2006-06-20 14:26 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/wizards.pm: fix problem of fixed_list in wizards
+
+2006-06-20 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/install/media.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: fix install with one
+ cd (multi-cd will come)
+
+2006-06-20 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/media.pm: - fix associating a phys_medium
+ for non media_cfg_isos install
+ - associate with main phys_medium for first phys_medium, do not
+ recreate one
+
+2006-06-20 14:14 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: use a dialog box instead
+ of a wizard to add a share entry
+
+2006-06-20 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/install/any.pm,
+ perl-install/install/crypto.pm,
+ perl-install/install/install2.pm, perl-install/install/media.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - create
+ install/media.pm out of functions from install/pkgs.pm and
+ install/any.pm
+ - differentiate "simple_medium" and "medium": we now have
+ "phys_medium" and "medium", where each "medium" has a
+ {phys_medium}
+ - mountable phys_media are compatible with drakx fstab objects
+ - restore parse_hdlists() (useful for installing 2006.0)
+
+2006-06-20 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: create {device} for loopback device
+ when needed
+ (nb: it's also done in fs::loopback::create, but for iso files,
+ we don't create them)
+
+2006-06-20 10:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm: configre APN and dial number
+ for bluetooth connections
+
+2006-06-20 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm: ask for provider and access
+ settings for bluetooth connections (using cellular providers)
+
+2006-06-20 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix missing argument in
+ translated string
+
+2006-06-20 10:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/lang.pm: utf8 by default
+ (except in chinese for now)
+
+2006-06-20 08:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/proc_partitions.pm: perl_checker compliance
+
+2006-06-19 18:27 mmodem
+
+ * perl-install/install/share/po/pt.po: update
+
+2006-06-19 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add live install and copy
+ tools (draklive-install and draklive)
+
+2006-06-19 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/Makefile, live/draklive/draklive.desktop,
+ live/draklive/draklive.spec, live/draklive/theme: add initial
+ draklive packaging bits
+
+2006-06-19 17:12 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: sort squashfs loopback if a
+ config/distrib.sort file is present
+
+2006-06-19 16:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: use system's mount to mount NFS loopbacks
+
+2006-06-19 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive/draklive: remove unwanted patches (thanks Titi)
+
+2006-06-19 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive, live/draklive/draklive, tools/draklive: move
+ tools/draklive in live/draklive/ (but keep a symlink)
+
+2006-06-19 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add CDROMCLOSETRAY and
+ CDROM_LOCKDOOR (used in live systems)
+
+2006-06-19 16:04 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/halt.local: call CDROM_LOCKDOOR and CDROMCLOSETRAY
+
+2006-06-19 15:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: unlink pcmcia preload.d file
+ if there is no PCMCIA controller
+
+2006-06-19 15:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix forced
+ reconfiguration of laptop related services (#23072)
+
+2006-06-19 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: require modules.pm when needed
+
+2006-06-19 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: try using doing losetup read-only if rw
+ fails
+
+2006-06-19 13:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: the chatscript is now written
+ by the network::ppp module
+
+2006-06-19 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: abort on VOICE, 'NO ANSWER',
+ DELAYED and 'SIM PIN' in chat script
+
+2006-06-19 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: remove unused variable
+
+2006-06-19 13:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: drop custom Orange support,
+ use provider data instead
+
+2006-06-19 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: use "login" key
+ instead of "user"
+
+2006-06-19 12:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix typo in commit 36916
+
+2006-06-19 11:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: allow to ask for APN and
+ login/password for cellular connections
+
+2006-06-19 11:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: use network::ppp to write peer
+ file
+
+2006-06-19 11:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm, perl-install/network/xdsl.pm:
+ handle user peer option in network::ppp
+
+2006-06-19 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2006-06-19 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: have
+ the field {url} for stage2 simple_medium (helpful for logging)
+
+2006-06-19 11:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker compliance
+
+2006-06-19 10:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: oops, don't fill
+ cellular_providers hash with an hash ref...
+
+2006-06-19 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps.pm:
+ handle medium nfs://...
+
+2006-06-19 07:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: remove symlink
+ "source" for kernel-source (thanks to Thomas Backlund) (#22827)
+
+2006-06-19 07:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: also create symlink source for
+ kernel-source (as done in %post of kernel-source-stripped)
+ (thanks to Thomas Backlund) (#22827)
+
+2006-06-18 19:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: remove unused variable
+
+2006-06-18 16:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm,
+ perl-install/network/xdsl_providers.pm: move
+ %network::xdsl_consts::xdsl_data in
+ %network::xdsl_providers::data
+
+2006-06-18 16:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: add get_providers, using,
+ network::cellular_providers::data
+
+2006-06-18 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular_providers.pm: add
+ network::cellular_providers and fill it with some french Orange
+ providers
+
+2006-06-18 15:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm, perl-install/network/ppp.pm,
+ perl-install/network/xdsl.pm: rename
+ network::ppp::get_login_password as
+ network::ppp::get_access_settings and make it return an array
+ ref (network::pots will use directly this super method now)
+
+2006-06-18 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm: inherit from network::ppp
+
+2006-06-17 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install schedutils on SMP
+ machines
+
+2006-06-16 19:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add wait message when
+ scanning for networks
+
+2006-06-16 19:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add wait message when
+ configuring hardware
+ * perl-install/network/cellular.pm: wait one second before killing
+ gcom, or some serial_cs cards may be resetted
+
+2006-06-16 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: drop unused $in
+
+2006-06-16 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: add an error message when SIM
+ card isn't present
+
+2006-06-16 18:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: drop cumbersome load_settings
+
+2006-06-16 18:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: read PIN stuff in
+ guess_hardware_settings
+
+2006-06-16 18:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: drop custom connect() function
+
+2006-06-16 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: rename prepare_device as
+ prepare_hardware, get_device_settings as get_hardware_settings,
+ and drop unused ask_pin
+
+2006-06-16 18:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle hardware
+ configuration step
+
+2006-06-16 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: move $self->{pin} in
+ $self->{hardware}{pin}
+
+2006-06-16 16:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl_consts.pm: don't export
+ network::xdsl_consts::xdsl_data
+
+2006-06-16 16:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm,
+ perl-install/network/xdsl_consts.pm: rename network::adsl_consts
+ as network::xdsl_consts
+
+2006-06-16 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/pkgs.pm: rename psUsingHdlist() into
+ get_medium(). also rename a few remaining {descr}
+
+2006-06-16 16:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: handle standalone media type
+
+2006-06-16 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/crypto.pm: descr is no more
+
+2006-06-16 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: "a missing pubkey can cause media
+ deselection in getFile_" is not true anymore :)
+
+2006-06-16 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: the
+ deselection of a media is better done in case of change_medium()
+ error not in getFile_()
+
+2006-06-16 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm, perl-install/install/steps_gtk.pm:
+ - do not remove mediums in ->deselectFoundMedia but only
+ deselect them
+ - handle {selected} at beginning of get_media_cfg()
+ - do not handle it anymore in the middle of get_media_cfg(),
+ it's useless, errors are taken care with exceptions
+
+2006-06-16 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/ftp.pm, perl-install/install/pkgs.pm: drop
+ {ftp_prefix}, keep the ftp location encoded in url in {prefix}
+
+2006-06-16 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: for
+ the first time, one can specify in $o->{media} a media source
+ different from the one used to boot DrakX
+
+2006-06-16 15:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cellular.pm: don't report a weird cellular
+ network when there is none
+
+2006-06-16 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: don't guess the wrong PCMCIA
+ driver for multi-function devices
+
+2006-06-16 14:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify
+
+2006-06-16 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker, perl-install/install/any.pm,
+ perl-install/install/pkgs.pm,
+ perl-install/install/share/list.xml: switch to media.cfg
+ (instead of hdlists)
+
+2006-06-16 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: drop
+ getAndSaveFile_media_info() (it was kind of implying there is a
+ central media_info medium, whereas there could be more than one)
+
+2006-06-16 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: -
+ getAndSaveFile_media_info() now gets files directly in media_info
+ - {rpmsdir} is now xxx instead of media/xxx
+ - {prefix} is now xxx/media instead of xxx
+ - prefix in default_simple_medium() contains or not media/
+ depending on the value of parameter $for_stage2
+ - drop obsolete code in install_urpmi ({prefix} is always set)
+
+2006-06-16 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: - {descr} is better
+ called {name} (which is how it is called in media.cfg)
+ - parse_hdlist really is parse_hdlists
+
+2006-06-15 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: draklive-install is now in the main
+ repository
+
+2006-06-15 15:27 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-7mdv2007.0
+
+2006-06-15 15:25 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/theme/IM-INSTALLCDONE.png: add
+ IM-INSTALLCDONE.png back (Pixel forgot to commit it when
+ readding files with -kb :-p)
+
+2006-06-15 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: make clear this
+ package is maintained on SVN
+
+2006-06-15 14:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modalias.pm: add ide class
+ * perl-install/modalias.pm: we process classes, not buses
+
+2006-06-15 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/files/halt.local: remove CDROM_LOCKDOOR call
+
+2006-06-15 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: enhande
+ change_medium()
+
+2006-06-15 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix typo
+ * perl-install/install/any.pm: cdrom is no more a special case
+
+2006-06-15 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-06-15 13:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: - enhande change_medium()
+ - we don't need to change_medium() back, the next user of the
+ medium will take care of it
+ - create new mediums hashes after copying rpms on disk
+
+2006-06-15 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm, perl-install/install/any.pm,
+ perl-install/install/ftp.pm, perl-install/install/http.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps.pm: -
+ replace useMedium() + getFile() with change_medium()
+ - drop getFile('XXX'), hopefully unneeded nowadays (otherwise it
+ will need to be fixed, but *locally*)
+ - make the $file optional in change_medium() parameters
+ (to allow it to be used with a cd we don't have what it
+ contains)
+
+2006-06-15 12:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm: improve description
+
+2006-06-15 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/connection.pm: help perl_checker
+
+2006-06-15 12:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: add missing quote
+
+2006-06-15 12:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: use chat script in peer file if
+ dial number is specified
+
+2006-06-15 11:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm: don't use empty prototypes
+ * perl-install/network/bluetooth.pm: remove debug code
+
+2006-06-15 11:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: allow to specify an array ref of AT
+ commands
+
+2006-06-15 11:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: further simplify
+
+2006-06-15 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: add write_chat and use it if dial
+ number is specified
+
+2006-06-15 11:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: use settings from $self->{access}
+
+2006-06-15 11:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: simplify
+
+2006-06-15 11:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: rename as build_chat
+
+2006-06-15 10:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm, perl-install/network/ppp.pm,
+ perl-install/network/xdsl.pm: make network::ppp::write_settings
+ call super method
+
+2006-06-15 09:56 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/network/cellular.pm,
+ perl-install/network/connection.pm: rename mobile_data as
+ cellular
+
+2006-06-15 09:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: remove old comment
+
+2006-06-15 09:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: we don't want to eject cd if stage2
+ was on cd but media were not
+
+2006-06-15 09:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm,
+ perl-install/network/mobile_data.pm,
+ perl-install/network/ppp.pm: rename get_ppp_device() as less
+ confusing get_tty_device()
+
+2006-06-15 09:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: $o->{method} is for stage2 files,
+ not media, so we don't need to modify it after copying files on
+ disk
+
+2006-06-15 09:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: don't use hardcoded /tmp/image.
+ fill in {finalprefix}
+
+2006-06-15 09:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove unused var
+
+2006-06-15 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: remove obsolete code
+
+2006-06-15 09:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: *** empty log message ***
+
+2006-06-15 09:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: -
+ callback after each psUsingHdlist is no more needed, we pass
+ things directly in the simple_medium
+ - call setup_suppl_medium() to create simple_medium, no need to
+ call it later
+ - setup_suppl_medium(): change prototype and cleanup
+ - use setup_suppl_medium() for cdrom too
+
+2006-06-15 09:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: use the simple_medium instead of
+ $o->{method}
+
+2006-06-15 08:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: chown is useless during install,
+ we are root in any case, and dest file is
+ removed before writing. also remove some unlink, now done in
+ getAndSaveFile_()
+
+2006-06-15 08:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: getAndSaveFile_raw(): ensure the
+ output file is ok in more cases
+
+2006-06-15 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: hdlist & synthesis should be
+ looked for on the same medium where the hdlists is
+
+2006-06-15 08:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: perl_checker compliance
+
+2006-06-15 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ factorize getAndSave of rpmsrate and compssUsers.pl
+
+2006-06-15 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/install/any.pm,
+ perl-install/install/install2.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps.pm: - replace getFile() and
+ getAndSaveFile() calls with more explicit functions:
+ - getFile_stage2() and getAndSaveFile_stage2() to access
+ stage2 files (ie ROOT_DISTR/<file> and ROOT_DISTR/install/*)
+ - getFile_media_info() and getAndSaveFile_media_info() to
+ access main media_info files (ie ROOT_DISTR/media/media_info/*)
+ - getFile() is kept temporarily (mostly for getFile('XXX'))
+ - getAndSaveFile() is dropped
+ - export getFile_ getAndSaveFile_ getAndSaveFile_main_medium
+ from install::any for install::pkgs
+ (remove "use install::pkgs" from install::any otherwise the
+ export fails)
+ - switch arguments of getFile_(): ($medium, $file) instead of
+ ($file, $medium)
+ - simplify using rpmsrate & compssUsers.pl by saving them in
+ /tmp in all cases
+ (it would be even better to do it in psUsingHdlists)
+
+2006-06-15 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: new perl_checker has a fake
+ packdrake.pm
+
+2006-06-15 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: no need to have packdrake twice :p
+
+2006-06-15 07:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: remove obsolete code (live and
+ mdkinst.clp are the same, useless to find modules.cz-xxx
+ elsewhere)
+
+2006-06-15 07:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-06-15 07:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: remountCD1 should not be needed,
+ use standard code
+
+2006-06-14 21:08 Dovix <dovix2003 at yahoo.com>
+
+ * perl-install/share/po/he.po: update hebrew translation
+
+2006-06-14 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-14 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cable.pm: shorten type name
+
+2006-06-14 17:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm: shorten type name
+
+2006-06-14 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm: use "Dial-Up" as description for
+ POTS (Buchan Milne)
+ * perl-install/network/connection.pm: introduce
+ get_type_description, defaulting to the short name
+
+2006-06-14 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: use DSL in description (Buchan
+ Milne)
+
+2006-06-14 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cable.pm: enhance description (Austin Acton)
+
+2006-06-14 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: don't be so paranoid
+
+2006-06-14 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: factorize
+
+2006-06-14 17:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/commands.pm: cleanup
+
+2006-06-14 16:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/commands.pm: handle '-v' for both lspci and
+ lspcidrake
+
+2006-06-14 16:55 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-14 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: have lspcidrake compliant output
+ and allow verbose listing (with vendor/device IDs)
+
+2006-06-14 16:13 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/url.c: stage2 is saying HTTP 1.0, use it instead of
+ HTTP 0.9 (works better with the sample http server in
+ perl-Net-Server)
+
+2006-06-14 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: have lspcidrake compliant output
+ and allow verbose listing (with vendor/device IDs)
+
+2006-06-14 16:13 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/url.c: stage2 is saying HTTP 1.0, use it instead of
+ HTTP 0.9 (works better with the sample http server in
+ perl-Net-Server)
+
+2006-06-14 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: {mediums} is now an array (fix
+ previous commit)
+
+2006-06-14 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: please perl_checker
+
+2006-06-14 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix typo
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ {start} and {end} are defined iff medium is not {selected}
+
+2006-06-14 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ {mediums} is now an array
+
+2006-06-14 11:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: more explicit variable names
+
+2006-06-14 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: - $o_fhdlist is a filehandle or
+ undef
+ - always remove synthesis file even if we don't have it, it
+ won't hurt
+
+2006-06-14 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: don't log {prefix} in getFile_ (it
+ can contain ftp password)
+
+2006-06-14 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: do unselect media at first error
+ (we need even better handling)
+
+2006-06-14 10:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: restore computing fakemedium with
+ medium id (rpmsdir contains some "/"s, and may not be unique)
+
+2006-06-14 10:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm,
+ perl-install/install/steps_interactive.pm: fix commit (r37213)
+
+2006-06-14 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: cleanup
+
+2006-06-14 10:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: better name
+
+2006-06-14 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: - rename
+ ->ask_change_medium into ->ask_change_cd, let it handle the
+ mounting/retry
+ - use function while_suspending_time() to allow using "return"
+ in ask_change_cd
+ - move some stuff from errorOpeningFile into getFile_
+ - make the various possibilities in getFile_ separate
+ - create change_medium out of errorOpeningFile, askChangeMedium,
+ changeMedium, $changeMedium
+ - create same_medium_support()
+
+2006-06-13 21:58 nanardon
+
+ * tools/drakx-in-chroot: - better explanation message
+
+2006-06-13 21:30 nanardon
+
+ * tools/drakx-in-chroot: - set drakx-in-chroot executable
+
+2006-06-13 17:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm: remove unused function (SVN
+ history will allow to restore it if needed)
+
+2006-06-13 17:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/bluetooth.pm,
+ perl-install/network/connection.pm: initial bluetooth support
+
+2006-06-13 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ rename relGetFile in rel_rpm_file (not a really nice name, but
+ better anyway)
+
+2006-06-13 16:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: don't
+ call relGetFile in getFile, do it only when needed
+
+2006-06-13 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: get rid of hardcoded /tmp/image
+
+2006-06-13 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: do set current_medium for iso on
+ disks
+
+2006-06-13 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: -
+ drop {cd_number}, {descr} can be used directly
+ - don't need sorting supplementary media differently
+
+2006-06-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix typo
+
+2006-06-13 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps_gtk.pm:
+ assign medium {id} in psUsingHdlist(). don't rely so much on
+ {id}.
+
+2006-06-13 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix typo
+
+2006-06-13 15:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove obsolete code
+
+ (cf rev.22706: Remove the naming convention with a trailing "s"
+ for supplementary CDs medium ids)
+
+2006-06-13 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: if ever we allow deselection of
+ iso files on disk, do it after removing non available isos
+
+2006-06-13 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: fix
+ calling set_selected_available_ISO()
+
+2006-06-13 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: create parse_hdlist()
+
+2006-06-13 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: please perl_checker
+
+2006-06-13 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm: create
+ allow_copy_rpms_on_disk() out of
+ install::steps_gtk::deselectFoundMedia
+
+2006-06-13 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm: modify the list in place
+
+2006-06-13 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: big simplification and
+ cleanup of the mess in deselectFoundMedia(). also allow
+ deselecting media even if we can't copy rpms on disk
+
+2006-06-13 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: size is in MB. restore its parsing
+
+2006-06-13 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: put size in the medium (no more in
+ a separate hash)
+
+2006-06-13 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove now unused variable
+
+2006-06-13 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ create getAndSaveFile_() and getAndSaveFile_raw().
+ getAndSaveFile() do not accept refs anymore
+
+2006-06-13 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: - get pubkey in any case
+ - $o_fhdlist not allowed to be a string anymore in
+ psUsingHdlist()
+
+2006-06-13 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: rework errorOpeningFile()
+
+2006-06-13 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: don't call errorOpeningFile() on
+ http/ftp
+
+2006-06-13 12:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: simplify
+
+2006-06-13 12:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: remove useless require
+
+2006-06-13 12:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: cleanup
+
+2006-06-13 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps_gtk.pm:
+ move rm_rf to non interactive function
+
+2006-06-13 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: factorize destination directory.
+ fix typo in previous commit
+
+2006-06-13 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: rework copy_rpms_on_disk()
+
+2006-06-13 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: parse
+ {cd_number} once
+
+2006-06-13 11:39 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, tools/draklive: pass langs to
+ auto_inst using DRAKLIVE_LANGS environment, or else $o->{locale}
+ from auto_inst will override --langs command line options
+
+2006-06-13 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix typo
+
+2006-06-13 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps_gtk.pm:
+ install::medium is no more
+
+2006-06-13 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ remove some special suppl_cd code, and rewrite the remaining
+
+2006-06-13 10:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: this should not be needed anymore
+ (errorOpeningFile should take care of this mess)
+
+2006-06-13 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ $o->{method} is only the base install method. It should not be
+ messed up. In most cases the used medium method should be
+ prefered
+ (this commit may break!)
+
+2006-06-13 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: ->is_suppl now unused
+
+2006-06-13 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: drop
+ install::medium::by_id, now mostly unused. create first_medium()
+
+2006-06-13 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ allMediums() can now return structs instead of id
+
+2006-06-13 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ $install::any::current_medium and $install::any::asked_medium
+ are now structs, no more id
+
+2006-06-13 09:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: askChangeMedium(),
+ changeMedium() and ->ask_change_medium now except a medium
+
+2006-06-13 09:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm:
+ medium_id is a better variable name for medium->{id}
+
+2006-06-13 09:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: medium_id is a better variable
+ name for medium->{id}
+
+2006-06-13 09:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/crypto.pm, perl-install/install/pkgs.pm:
+ psUsingHdlist(): handle pubkey like other medium parameters
+
+2006-06-13 09:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: optional argument $o_nocopy is
+ unused, drop it
+
+2006-06-13 09:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: rewrite
+ * perl-install/install/crypto.pm: psUsingHdlist(): group medium
+ parameters in a hash
+ * perl-install/install/any.pm: psUsingHdlist(): group medium
+ parameters in a hash
+
+2006-06-13 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: add comment
+
+2006-06-13 09:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: psUsingHdlist(): group medium
+ parameters in a hash
+
+2006-06-13 08:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ rename field {medium} to {id} (for clarity)
+
+2006-06-13 08:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: we want objects to allow
+ ->is_suppl_cd
+
+2006-06-13 08:35 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: rpmsrate_flag_choosen is an
+ hash
+
+2006-06-13 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/pkgs.pm: psUsingHdlist() now takes a
+ simple_medium (allowing seamless ftp and more),
+ use getFile_ before packages->{mediums} is filled with the new
+ medium
+
+2006-06-13 07:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: getAndSaveFile() is always used
+ with 2 args nowodays
+ * perl-install/install/any.pm: create default_simple_medium() and
+ use it
+
+2006-06-12 18:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/config/rpmsrate: sync with
+ cooker rpmsrate
+
+2006-06-12 17:52 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: core files are now removed in
+ draklive config (since rpms installed by draklive may also
+ coredump)
+
+2006-06-12 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/local_cfg: kooka is already installed with
+ rpmsrate if the SCANNER cat is selected, which is done by
+ install::any::rpmsrate_always_flags(), using
+ modules::sub_categories('multimedia')
+
+2006-06-12 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl, live/One/config/local_cfg:
+ inline desktop dependent packages in auto_inst
+
+2006-06-12 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/config/local_cfg: use
+ DRAKLIVE_DESKTOP and DRAKLIVE_ARCH
+
+2006-06-12 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: use DRAKLIVE_DESKTOP
+ environment variable
+
+2006-06-12 17:39 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: draklive-install is already listed 3
+ lines above
+
+2006-06-12 17:38 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: patch-live-2006 is dead
+ * live/One/config/live.cfg: revert warly's unindentation diff :p
+
+2006-06-12 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: xmoto is already listed in auto_inst
+
+2006-06-12 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: add USB initrd on media
+
+2006-06-12 17:32 Warly <warly at mandriva.com>
+
+ * live/One/config/live.cfg: update live.cfg
+
+2006-06-12 17:29 Warly <warly at mandriva.com>
+
+ * live/One/patches/halt.loopfs.patch,
+ live/One/patches/lp.script.start.patch,
+ live/One/patches/netfs.loopfs.patch: rediff patches
+
+2006-06-12 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: remove busybox, it's already
+ listed above
+
+2006-06-12 17:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: the libxi issue is fixed in
+ lsb-build-base, don't add arch-specific package here
+
+2006-06-12 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: unionfs-tools is already
+ selected...
+
+2006-06-12 17:12 Warly <warly at mandriva.com>
+
+ * live/One/config/local_cfg: add for example of new variables
+
+2006-06-12 17:10 Warly <warly at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add env var in auto_inst
+
+2006-06-12 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm:
+ $install::any::global_ftp_prefix is dead, use {ftp_prefix}
+ instead
+ (nb: setup_suppl_medium() already takes care of setting
+ {ftp_prefix})
+
+2006-06-12 15:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ change prototype of psUsingHdlists, allow to pass a
+ simple_medium which knows how to access to files
+
+2006-06-12 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ getFile_ takes a medium struct instead of a medium id
+
+2006-06-12 15:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: don't pass the medium id, but
+ directly the struct to errorOpeningFile()
+
+2006-06-12 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: fix cancel when
+ prompting supplementary ftp mirror
+
+2006-06-12 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: rewrite
+
+2006-06-12 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: add the medium to relGetFile
+ arguments
+
+2006-06-12 14:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix previous commit
+
+2006-06-12 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: we want the medium id, not the
+ struct
+
+2006-06-12 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: fix previous commit
+
+2006-06-12 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: -
+ create getFile_() which takes a file + a medium
+ - getFile() now only take one argument
+ - add the medium to errorOpeningFile() arguments
+
+2006-06-12 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix previous commit
+
+2006-06-12 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: supplCDMountPoint() returns the
+ main method
+
+2006-06-12 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: the
+ second arg of getFile() doesn't do anything, drop it
+ * perl-install/install/crypto.pm, perl-install/install/http.pm:
+ make things a little more clear
+
+2006-06-12 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm,
+ perl-install/install/steps.pm: inline ->method. don't pass
+ around $o now unneeded (because of $::prefix instead of
+ $o->{prefix})
+
+2006-06-12 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: use $::prefix, not
+ $o->{prefix}
+
+2006-06-12 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: drop
+ ->is_suppl
+
+2006-06-12 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: drop ->method
+
+2006-06-12 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm,
+ perl-install/install/steps.pm: make things more explicit
+
+2006-06-12 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm:
+ move getNextStep() in install2.pm
+
+2006-06-12 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/install2.pm:
+ do not export spawnShell()
+
+2006-06-12 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove prototype
+
+2006-06-12 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: the
+ only function using the $o_otherOnly feature is
+ setup_postinstall_rpms(), so moving the $o_otherOnly feature out
+ of selectPackage()
+
+2006-06-12 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps.pm: create
+ select_by_package_names_or_die() and use it
+
+2006-06-12 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm: drop
+ ->mark_suppl
+
+2006-06-12 12:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: rename {issuppl} to {is_suppl}
+
+2006-06-12 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: move function with the other
+ medium related functions
+
+2006-06-12 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: rewrite
+
+2006-06-12 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: drop *old* obsolete comment, and
+ replace it with the real one
+
+2006-06-12 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: cleanup. drop testing mode
+
+2006-06-12 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/commands.pm,
+ perl-install/partition_table.pm: use common::open_file()
+
+2006-06-12 11:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modalias.pm: handle input subsystem in modalias.pm
+
+2006-06-12 11:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm, perl-install/install/any.pm,
+ perl-install/install/pkgs.pm: install::any::getLocalFile() is
+ now common::open_file() (since it can be useful elsewhere)
+
+2006-06-12 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: rewrite
+
+2006-06-12 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify (is it equivalent?)
+
+2006-06-12 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: - no CD umounting will take place
+ in this ejectCdrom()
+ - ejecting CD just before mounting CD is useless and not friendly
+
+2006-06-12 10:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: ->changeMedium is
+ prompting, so rename it ->ask_change_medium
+
+2006-06-12 10:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: -
+ install::any::changeMedium() was modified in steps_gtk and
+ steps_interactive,
+ - unify those functions (using $o->{install_start_time})
+ - use method call to dispatch changeMedium
+
+2006-06-12 10:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: move comment at the right place
+
+2006-06-12 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: pass function $changeMedium as
+ parameter to askChangeMedium(), allowing copy_rpms_on_disk() to
+ pass changeMedium directly instead of overriding
+ install::any::changeMedium()
+
+2006-06-12 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: install::pkgs is "use"d, so
+ "require"ing it is not needed
+
+2006-06-12 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: drop "old, obsolete and wrong
+ comment" (the call to extractHeaders has been removed in
+ rev.8218, in 2002)
+
+2006-06-12 10:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: cleanup
+
+2006-06-12 09:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: cleanup (drop prototypes)
+
+2006-06-12 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: be more coherent
+
+2006-06-12 09:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-12 09:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-12 09:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: cleanup
+
+2006-06-12 09:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: normalize
+
+2006-06-12 09:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-12 08:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: i don't really understand how the
+ search is done, but at least making things separate and simpler
+ can't hurt
+
+2006-06-12 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-12 08:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-06-12 07:56 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pcmcia-resource: pcmcia-ids.h is generated, add it to
+ svn:ignore
+
+2006-06-12 07:55 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pcmcia_: add lex & yacc generated files to svn:ignore
+
+2006-06-12 07:54 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1: add TAGS to svn:ignore
+
+2006-06-12 07:53 Pixel <pixel at mandriva.com>
+
+ * globetrotter/make_live: - switch to davfs2
+ - devfs is dead
+
+2006-06-09 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: chooseCD() replaced
+ by the much simpler set_selected_available_ISO()
+
+ (nb: chooseCD() was only doing something for installs from ISO
+ images. the
+ whole mess was something only used in expert. the real chooseCD
+ is
+ deselectFoundMedia nowadays)
+
+2006-06-09 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: create ISO_images() (for future use)
+
+2006-06-09 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: simplify
+
+2006-06-09 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: rework changeIso(),
+ find_ISO_image_labelled(), look_for_ISO_images()
+
+2006-06-09 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-06-09 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: don't use global var in
+ supplCDMountPoint()
+
+2006-06-09 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-09 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-09 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: and File::FnMatch
+ (currently used for pcmcia)
+
+2006-06-09 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/crypto.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm: inline accessors
+
+2006-06-09 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install kino on Gnome
+
+2006-06-09 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm,
+ perl-install/install/steps_interactive.pm: drop ->ignored which
+ is the opposite of ->selected (at least it seems)
+
+2006-06-09 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/pkgs.pm:
+ cleanup psUsingHdlists() prototype
+
+2006-06-09 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm, perl-install/fs.pm,
+ perl-install/fs/mount.pm, perl-install/fs/mount_options.pm:
+ minimal changes for davfs2 to work (#23024)
+
+2006-06-09 11:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: fix typo (and enhance comment)
+
+2006-06-09 11:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: factorize
+
+2006-06-09 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: move function
+
+2006-06-09 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: i misunderstood, the pkg can only
+ be on one medium. cool we can simplify even more
+
+2006-06-09 11:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: introduce pkg2media to factorize
+ some code
+
+2006-06-09 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: remove unused function
+
+2006-06-09 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: drop code handling non-upgrade of
+ kernel pkgs (was needed when the kernel pkg name was simply
+ "kernel" when we now use "kernel-2.6.16.1mdk")
+
+2006-06-09 10:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: test for ipw2200-*.fw firmware
+ files for ipw2200 driver (3.0 firmware version, required for
+ 2.6.16)
+
+2006-06-09 10:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-09 10:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: simplify
+
+2006-06-09 10:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: simplify
+
+2006-06-09 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: comestic changes
+
+2006-06-09 10:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: factorize code in parse_ftp_url()
+
+2006-06-09 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: factorize code
+
+2006-06-09 10:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm, perl-install/install/any.pm:
+ return the whole PCMCIA controller device in
+ pcmcia_controller_probe() (so that harddrake reports the correct
+ description), and use c::probe as fallback only
+
+2006-06-09 09:32 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: simplify (thanks Pixel)
+
+2006-06-09 09:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: no need to protect &_ for some time now
+
+2006-06-09 09:26 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: pass DRAKLIVE_DESKTOP to install
+ environment
+
+2006-06-09 09:25 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to pass variables to drakx-in-chroot
+ environment
+
+2006-06-09 09:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/mouse.pm, perl-install/standalone/mousedrake: use
+ directly /dev/input/mice instead of /dev/usbmouse
+
+2006-06-09 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/devices.pm,
+ perl-install/mouse.pm, perl-install/network/modem.pm: rename
+ any::devfssymlinkf() into devices::symlink_now_and_register()
+
+2006-06-09 09:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/bootloader.pm,
+ perl-install/common.pm, perl-install/detect_devices.pm,
+ perl-install/devices.pm, perl-install/diskdrake/interactive.pm,
+ perl-install/fs.pm, perl-install/fs/get.pm,
+ perl-install/fs/proc_partitions.pm,
+ perl-install/fs/wild_device.pm, perl-install/install/steps.pm,
+ perl-install/partition_table.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm, perl-install/scanner.pm,
+ perl-install/standalone/drakupdate_fstab,
+ perl-install/standalone/harddrake2: drop devfs support
+
+2006-06-09 09:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: don't set console font on local_install
+
+2006-06-09 09:06 Warly <warly at mandriva.com>
+
+ * tools/draklive: use common mkdir_p (thanks to Rafael)
+
+2006-06-09 08:42 Warly <warly at mandriva.com>
+
+ * tools/draklive: add dir creation if needed when copying files
+
+2006-06-09 08:37 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix typo
+
+2006-06-09 08:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: no more kat by default
+
+2006-06-09 08:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/ftp.pm: second value of install::ftp::new()
+ is always used
+
+2006-06-09 07:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: cosmetic change
+
+2006-06-08 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: require linuxwacom for the wacom driver
+
+2006-06-08 17:14 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to include additional modules by
+ specifying a .ko list in $live->{system}{additional_modules}
+ (useful when the kernel team forgets to build unionfs in the
+ kernel package, or to include crappy profiling module)
+
+2006-06-08 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: simplify
+ * perl-install/bootloader.pm: - don't die when translating a
+ device to grub naming, return undef instead
+ - if the file is on a device not available at boot time, log it
+ as so, and use a dumb value
+
+2006-06-08 15:43 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add dhcp-client
+
+2006-06-08 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/list.xml: handle back the wacom driver
+
+2006-06-08 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: handle type "label" (including
+ the title one used by titi)
+
+2006-06-08 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm, perl-install/install/share/list.xml:
+ create files needed by ext3 quota
+
+2006-06-08 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: we don't have wacom_drv in
+ cooker
+
+2006-06-08 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/crypto.pm: - more logging
+ - simplification
+ - remove debug code (???)
+
+2006-06-08 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: we don't have monitord-edid on
+ sparc (Per Oyvind Karlsen)
+
+2006-06-07 20:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: X.org 7.x fix:
+ s:/usr/X11R6:/usr:
+
+2006-06-07 20:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Some LaserJets (e. g. LaserJet
+ 1022) were not recognized as
+ HPLIP-supported, due to libusb-based HPLIP reporting URI with
+ serial
+ number but "usblp"-kernel-module based IOCTL polling of the
+ device
+ ID string by printerdrake does not return the serial number.
+
+2006-06-07 20:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: better label (from old #4136)
+
+2006-06-07 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: disable reiser4 during install since we
+ don't bundle reiser4 tools
+
+2006-06-07 16:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: wrap_command_for_root is now
+ in common
+
+2006-06-07 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use "ifw_message" instead of
+ "attack" for some variables/functions
+
+2006-06-07 11:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: don't try to load PCMCIA
+ controller when none is configured
+
+2006-06-07 11:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: log distro_type and VERSION
+
+2006-06-07 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm: log the VERSION content
+
+2006-06-07 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm, tools/drakx-in-chroot: - have
+ resolv.conf in drakx chroot (for local_install)
+ - don't configure network on local_install
+
+2006-06-07 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/crypto.pm: update hardcoded list
+
+2006-06-07 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: simplify
+ * perl-install/install/steps_interactive.pm: remove duplicated code
+
+2006-06-07 10:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: last adaptation to
+ crypto.pm being now install/crypto.pm
+
+2006-06-06 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: remove some tags from
+ translation messages in order to ease translators' job
+
+2006-06-06 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-06-06 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.32-1mdv2007.0
+
+2006-06-06 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: use fuzzy matching when updating
+ translations
+
+2006-06-06 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bn.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/he.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/tg.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: resurrect licence translation
+ after pixel change
+
+2006-06-06 14:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: install
+ x11-font-wqy-bitmapfont too for chinese locale
+
+2006-06-06 14:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm, perl-install/printer/main.pm: -
+ Made temporary PPD file also be accessible in sub programs called
+ via "chroot" during installation
+ - Better fix for bug #22935, the old one did not cover all cases
+
+2006-06-06 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle rootnoverify (#22912)
+
+2006-06-06 13:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix font directory (#22898)
+
+2006-06-06 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/install/any.pm,
+ perl-install/install/share/rpmsrate: install pkg "quota" when
+ needed
+
+2006-06-06 08:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Renaming a printer did not work
+ after having changed the PPD to a
+ CUPS-autogenerated one (bug #22935).
+
+2006-06-01 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: URPM is still perl_checker
+ compliant, and provide many methods, keep it
+
+2006-06-01 09:16 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-06-01 09:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm: -dpms option has been dropped
+ from xorg
+
+2006-06-01 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: handle readonly rawhd usb keys the same
+ way as read-write rawhd usb keys
+
+2006-06-01 07:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: properly indent, simplify
+
+2006-06-01 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: handle readonly rawhd usb keys the same
+ way as read-write rawhd usb keys
+
+2006-06-01 07:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: properly indent, simplify
+
+2006-05-31 18:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.30-1mdv2007.0
+
+2006-05-31 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: fix labels' case in
+ draksplash
+
+2006-05-31 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: move a lonely option out of
+ its big empty notebook page above the notebook (nicer GUI)
+
+2006-05-31 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: make interface being a
+ litle more user-friendly by adding labels^h^h^h^h^h^h titles
+
+2006-05-31 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) do not put titles
+ in size groups which add extra left
+ spacing to other widgets when adding new titles
+
+2006-05-31 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: describe "title" parameter
+
+2006-05-31 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__general) HIG-ize the
+ layout with new title parameter
+
+2006-05-31 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk) handle the padding attributes
+ (supported by all Gtk2::Misc descendants)
+
+2006-05-31 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) use spacing to
+ separate groups like specified in GNOME's HIG
+ * perl-install/interactive/gtk.pm: (ask_fromW) if title boolean is
+ set, use a header like specified in GNOME's HIG
+
+2006-05-31 16:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__general) make APIC
+ options advanced ones
+
+2006-05-31 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) fix labels being
+ centered, which looks bad
+
+2006-05-31 16:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: move draknetprofile in gtk package
+
+2006-05-31 16:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: add draknetprofile
+
+2006-05-31 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: don't expand label
+
+2006-05-31 15:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: update copyright
+
+2006-05-31 15:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknetprofile: introduce draknetprofile
+
+2006-05-31 15:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: add netprofile_clone()
+
+2006-05-30 19:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: revert debug stuff that was wrongly
+ commited in
+
+2006-05-30 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.29-1mdv2007.0
+
+2006-05-30 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (string_size) reexport it (it's still
+ used by rpmdrake)
+
+2006-05-30 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: really fix 10.4.28-1mdv2007.0's
+ changelog
+
+2006-05-30 18:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.4.28-1mdv2007.1's changelog
+
+2006-05-30 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: perl_checker compliance
+
+2006-05-30 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix previous commit
+
+2006-05-30 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.4.28-1mdv2006.1's
+ changelog: #22756 was for drakconnect, not drakroam
+
+2006-05-30 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: switch to Driver "kbd" instead of
+ "keyboard"
+
+2006-05-30 15:31 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-30 14:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake init service isn't a
+ config file
+
+2006-05-30 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: correctly handle
+ translated strings written on console in auto_installs
+
+2006-05-30 14:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.28-1mdv2006.1
+
+2006-05-30 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pass real
+ network::connection object in configure_control_compat step
+ (#22756)
+
+2006-05-30 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_auto_install.pm: correctly handle
+ translated strings written on console in auto_installs
+
+2006-05-30 14:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.28-1mdv2006.1
+
+2006-05-30 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pass real
+ network::connection object in configure_control_compat step
+ (#22756)
+
+2006-05-30 09:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove old unneeded workaround
+
+2006-05-30 09:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: we don't need locale & langinfo
+ stuff anymore
+
+2006-05-30 09:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't overwrite user-provided
+ domainname by the one we guess (#22480 fix #2)
+
+2006-05-30 09:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make sure guessed domain names
+ really contain a name, and not just a TLD (#22480 fix #1)
+
+2006-05-30 08:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/various.pm: -
+ remove DRI_GLX_EXPERIMENTAL support (not much such cards
+ nowadays)
+ - remove xorg_version() since we only have one Xorg version (and
+ for a long time now)
+
+2006-05-29 20:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add yet another PPC sound driver
+ (snd-aoa)
+
+2006-05-29 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: adapt to new keyring image
+ location in usermode (#22813)
+
+2006-05-29 13:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/any.pm: revert
+
+2006-05-29 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/any.pm: (setPackages) we'd better first
+ initialize o->{rpmsrate_flags_was_chosen} if
+ needed *before* actually referencing it through
+ $rpmsrate_flags_was_chosen...
+
+2006-05-29 12:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_list.pm: fix layout when translated
+ by using single verbs or words when possible (fix
+ some hidden steps btw in order to prepare the day when the may
+ be showed
+ again) (#8985)
+
+2006-05-29 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add support for "laptop" kernels
+ (were known as multimedia or mm kernels)
+ * perl-install/bootloader.pm: minimal adaptation to mdv extension
+ (eg: 1mdv instead of 1mdk)
+
+2006-05-29 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove export for two internal functions
+
+2006-05-29 10:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+ * perl-install/ugtk2.pm: (create_box_with_title) do not mess up
+ with gtk+ policy when it doesn't please
+ us (from a complaint by fcrozat)
+
+2006-05-29 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: kill some dead code that wasn't used for
+ quite a long time
+ * docs/HACKING: adapt to xorg7
+
+2006-05-29 10:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/services.pm: handle LSB description tags (#20998)
+
+2006-05-29 07:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: xorg version is 7.0
+
+2006-05-26 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: only suggest entries
+ from /home which are directories
+ * perl-install/any.pm: - suggest previously existing users using a
+ combo box
+ - this will help when /home contains rubbish entries (eg:
+ /home/usr,
+ /home/bin... when /home has been used as a "/" somehow)
+ - when testing if the user exist, use getpwnam
+
+2006-05-26 10:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_interactive.pm: don't suggest bad
+ users name
+
+2006-05-24 18:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Improved/updated the
+ instructions for faxing with HP multi-function
+ devices
+ - Let faxing instructions also appear in the help window of fax
+ queues
+
+2006-05-24 15:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Added welcome screen to
+ fax queue setup wizard, this way one can
+ easily abort the setup of a fax queue if one does not want to
+ have one.
+
+2006-05-24 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.27-1mdk
+
+2006-05-24 13:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Let also the model info output
+ from the "snmp" CUPS backend be
+ straightened, not only the output from "scli",
+
+2006-05-24 13:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed bug of the network
+ printer setup dialog not distinguishing
+ correctly between an auto-detected printer chosen from the
+ menu and
+ a manually entered printer IP.
+
+2006-05-24 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: save info about cordless mouse MX700
+
+2006-05-24 11:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: add missing newline
+
+2006-05-24 10:55 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - If the printer has
+ optional hardware add-ons, pop up a dialog/wizard
+ step to configure them when installing via Plug'n'Print or in
+ recommended
+ mode (in expert mode all options will be shown, as before).
+
+2006-05-23 23:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: make sure /etc/modprobe.preload.d/
+ is available for harddrake::autoconf::pcmcia()
+
+2006-05-23 22:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: write PCMCIA controller in
+ /etc/modprobe.preload.d/pcmcia instead of /etc/sysconfig/pcmcia
+
+2006-05-23 22:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Option setup dialog:
+ Support for string and password options
+ - Option setup dialog: Let integer options be shown with spin
+ button
+ or as a slider
+ - Option setup dialog: Let options without group be put into the
+ "General" group
+
+2006-05-22 16:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/thirdparty.pm,
+ perl-install/network/wireless.pm: move wireless thirdparty
+ settings in network::wireless
+
+2006-05-22 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: ident and move code
+
+2006-05-22 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: use subs in xDSL thirdparty
+ settings
+
+2006-05-22 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add select_network step
+
+2006-05-22 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: add default metric for wireless
+
+2006-05-22 15:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: write BOOTPROTO in ifcfg files
+ for ethernet
+
+2006-05-22 15:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: add get_protocols and
+ guess_protocol for ethernet type
+
+2006-05-22 15:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't call methods that the
+ connection type can't support
+
+2006-05-22 15:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pass $net to guess_protocol
+
+2006-05-22 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: adapt to new keyring image
+ location in usermode (#22495)
+
+2006-05-22 14:50 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed problem of having
+ two choices with the same menu entry in a an
+ option in the PPD file (should not be, really bad usability)
+ breaks
+ setting up printers/changing options/changing printer name in
+ printerdrake
+
+2006-05-22 14:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix spacing
+
+2006-05-22 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: introduce is_gigabit and use
+ it to guess metric for ethernet
+
+2006-05-22 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: handle metric in general
+ control settings
+
+2006-05-22 13:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/thirdparty.pm: return settings in
+ thirdparty module, and use it to get modem device in netconnect
+
+2006-05-22 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix compat for modem
+
+2006-05-22 12:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: move thirdparty setup in
+ "complete" phase
+
+2006-05-22 12:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: don't fail thirdparty step
+ if the connection type doesn't support it
+
+2006-05-22 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: we need libxxf86misc-devel
+
+2006-05-22 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: BuildRequires: libxxf86misc-devel
+
+2006-05-22 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.26-1mdk
+
+2006-05-22 11:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix firmware check for ueagle-atm
+
+2006-05-22 11:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksambashare,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/printerdrake: tell perl the source file
+ uses utf8 strings
+
+2006-05-22 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: make the comment more explanatory
+
+2006-05-22 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix tititypo
+
+2006-05-22 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: add "use UTF-8" for people
+ names
+
+2006-05-22 10:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist URPM for perl_checker
+
+2006-05-22 10:47 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-22 10:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: set window icon
+ * perl-install/standalone/drakfont,
+ perl-install/standalone/draksambashare,
+ perl-install/standalone/harddrake2,
+ perl-install/standalone/printerdrake: use standard Gtk+ about
+ widget
+
+2006-05-22 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix untranslated about dialog
+ * perl-install/standalone/harddrake2: fix untranslated license
+ * perl-install/mygtk2.pm: (_gtk__AboutDialog) introduce it
+
+2006-05-22 10:22 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-22 09:02 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-22 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix xterm appearing twice
+
+2006-05-22 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix untranslated about dialog
+ * perl-install/standalone/harddrake2: fix untranslated license
+ * perl-install/mygtk2.pm: (_gtk__AboutDialog) introduce it
+
+2006-05-22 10:22 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-22 09:02 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-22 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix xterm appearing twice
+
+2006-05-22 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: a few minimal X apps, at
+ least for the transition
+
+2006-05-21 23:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Use "CUPS + Gutenprint"
+ and not "GhostScript + gutenprint-ijs" PPDs
+ in beginners mode
+ - Show all important options of Gutenprint without needing to
+ click
+ "Advanced" button
+ - Do not let printerdrake install gutenprint-ijs and
+ gutenprint-foomatic any more
+ - Updated list of update-alternatives-controlled files for CUPS
+
+2006-05-22 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: fix xterm appearing twice
+
+2006-05-22 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: a few minimal X apps, at
+ least for the transition
+
+2006-05-21 23:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Use "CUPS + Gutenprint"
+ and not "GhostScript + gutenprint-ijs" PPDs
+ in beginners mode
+ - Show all important options of Gutenprint without needing to
+ click
+ "Advanced" button
+ - Do not let printerdrake install gutenprint-ijs and
+ gutenprint-foomatic any more
+ - Updated list of update-alternatives-controlled files for CUPS
+
+2006-05-22 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/rpmsrate: a few minimal X apps, at
+ least for the transition
+
+2006-05-21 23:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Use "CUPS + Gutenprint"
+ and not "GhostScript + gutenprint-ijs" PPDs
+ in beginners mode
+ - Show all important options of Gutenprint without needing to
+ click
+ "Advanced" button
+ - Do not let printerdrake install gutenprint-ijs and
+ gutenprint-foomatic any more
+ - Updated list of update-alternatives-controlled files for CUPS
+
+2006-05-21 10:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix https proxy check in proxy
+ dialog box
+
+2006-05-21 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix spacing
+
+2006-05-21 01:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Improved/fixed text on
+ protocol selector button in the network
+ printer setup dialog
+
+2006-05-19 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove ADSL specific code
+ * perl-install/network/netconnect.pm: use generic steps for xDSL
+
+2006-05-19 17:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add generic steps in
+ netconnect
+
+2006-05-19 17:51 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-19 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: fix typo
+
+2006-05-19 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: write custom ppp options before
+ pty/plugin stuff
+
+2006-05-19 17:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: remove unneeded network::adsl
+ require
+
+2006-05-19 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: install packages before unloading
+ connection
+ * perl-install/network/connection.pm: really apply ONBOOT and
+ USERCTL settings
+
+2006-05-19 17:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add and use @non_ppp_protocols and
+ uses_ppp()
+
+2006-05-19 17:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix ADSL type test
+
+2006-05-19 17:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: pass missing $net variable
+
+2006-05-19 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: simplify
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ last adsl bits in network::xdsl
+
+2006-05-19 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to set protocol specific
+ settings in thirdparty device settings
+
+2006-05-19 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to add ppp option fields in
+ thirdparty
+
+2006-05-19 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: move plugin options in generic
+ protocol settings
+
+2006-05-19 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: move protocol settings in
+ get_protocol_settings() method, so that they can depend on the
+ interface
+
+2006-05-19 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix typo
+
+2006-05-19 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/fonts.tar.bz2,
+ perl-install/install/share/locales-skeleton.tar.bz2: move things
+ from /usr/X11R6/lib/X11 into /usr/lib/X11
+
+2006-05-19 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install/gtk.pm,
+ perl-install/install/share/list.xml,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm, perl-install/keyboard.pm,
+ perl-install/printer/printerdrake.pm: x11 has moved, /usr/X11R6
+ is dead
+
+2006-05-19 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: write custom ppp options before
+ pty/plugin stuff
+
+2006-05-19 17:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: remove unneeded network::adsl
+ require
+
+2006-05-19 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: install packages before unloading
+ connection
+ * perl-install/network/connection.pm: really apply ONBOOT and
+ USERCTL settings
+
+2006-05-19 17:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add and use @non_ppp_protocols and
+ uses_ppp()
+
+2006-05-19 17:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix ADSL type test
+
+2006-05-19 17:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: pass missing $net variable
+
+2006-05-19 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: simplify
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ last adsl bits in network::xdsl
+
+2006-05-19 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to set protocol specific
+ settings in thirdparty device settings
+
+2006-05-19 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to add ppp option fields in
+ thirdparty
+
+2006-05-19 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: move plugin options in generic
+ protocol settings
+
+2006-05-19 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: move protocol settings in
+ get_protocol_settings() method, so that they can depend on the
+ interface
+
+2006-05-19 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix typo
+
+2006-05-19 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/fonts.tar.bz2,
+ perl-install/install/share/locales-skeleton.tar.bz2: move things
+ from /usr/X11R6/lib/X11 into /usr/lib/X11
+
+2006-05-19 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install/gtk.pm,
+ perl-install/install/share/list.xml,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_gtk.pm, perl-install/keyboard.pm,
+ perl-install/printer/printerdrake.pm: x11 has moved, /usr/X11R6
+ is dead
+
+2006-05-19 15:26 Pixel <pixel at mandriva.com>
+
+ * Makefile: don't fail when using non english locale
+
+2006-05-19 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add misc fonts as a fallback to
+ xfs not running (as suggested by Yves Bourhis)
+
+2006-05-19 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm,
+ perl-install/install/share/rpmsrate,
+ perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: replace xorg-x11 with
+ task-x11
+
+2006-05-19 13:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ generic settings in %network::xdsl::protocol_settings
+
+2006-05-19 13:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to define generic options
+ and pty in %protocol_settings
+
+2006-05-19 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: simplify using task-x11
+
+2006-05-19 13:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/any.pm: /usr/X11R6 is dead, look for "src"
+ to guess if the mount point is /usr
+
+2006-05-19 13:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to use generic protocol
+ options from the %ppp_generic hash
+
+2006-05-19 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: ensuring x11-server-xorg installed
+ is done elsewhere
+
+2006-05-19 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ modem specific ppp options in xdsl thirdparty settings
+
+2006-05-19 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: allow to put ppp options in
+ thirdparty settings
+
+2006-05-19 12:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: load the correct driver if
+ reload_module is 1
+
+2006-05-19 12:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't forget $in
+
+2006-05-19 12:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ packages stuff in network::xdsl::install_packages
+
+2006-05-19 12:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: simplify
+
+2006-05-19 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: add video driver v4l
+
+2006-05-19 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move the "Requires: hwdb-clients"
+ where appropriate, that is in
+ harddrake-ui, not in harddrake (pixel)
+
+2006-05-19 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove unused plugin options
+
+2006-05-19 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: allow setting firewall_ports =>
+ undef for auto installs to disable firewall
+
+2006-05-19 11:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ ueagle-atm CMV TODO in network::xdsl
+
+2006-05-19 11:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add missing require
+
+2006-05-19 11:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ CAPI stuff in network::xdsl
+
+2006-05-19 11:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/isdn.pm:
+ split setup_capi_conf and some prepare_connection bits in
+ unload_connection and install_packages
+
+2006-05-19 10:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: split apply_config() in
+ write_settings() and prepare_connection()
+
+2006-05-19 10:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools, perl-install/drakxtools.spec:
+ move Xdrakres from /usr/X11R6/bin to /usr/sbin
+
+2006-05-19 10:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/standalone/drakconnect: rename
+ network::isdn::write_config as network::isdn::apply_config
+
+2006-05-19 10:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ pppoe ifcfg stuff in network::xdsl::write_settings
+
+2006-05-19 10:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: ifcfg stuff is now written by
+ network::xdsl::write_settings
+ * perl-install/network/xdsl.pm: don't set ADSL type for static/dhcp
+
+2006-05-19 10:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: force ADSL type in ifcfg file
+
+2006-05-19 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: don't write ppp settings for
+ static/dhcp connections
+
+2006-05-19 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ CAPI related post-config stuff in
+ network::xdsl::prepare_connection
+
+2006-05-19 09:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: use real device in network::xdsl
+ for CAPI
+
+2006-05-19 09:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ module loading in network::xdsl::prepare_connection
+
+2006-05-19 09:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add bewan tricks
+
+2006-05-19 09:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: build xdsl compat structure for
+ all connection types, not only ppp/capi
+
+2006-05-18 21:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: use network::ppp::write_settings
+
+2006-05-18 21:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove unused "modules" modem
+ option
+
+2006-05-18 21:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove unused "start" modem
+ option, all is done by network::thirdparty now
+
+2006-05-18 21:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove bewan start/stop hooks,
+ it's better done with thirdparty
+
+2006-05-18 21:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove unused ECI start script
+
+2006-05-18 19:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: don't die if module loading
+ fails
+
+2006-05-18 19:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: remove useless require
+
+2006-05-18 19:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: make connect() method connect
+ only, move disconnection in disconnect()
+
+2006-05-18 19:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: implement default connect
+ method
+
+2006-05-18 19:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ generic ADSL plugins in network::xdsl
+
+2006-05-18 19:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: support init option
+
+2006-05-18 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add protocol in xdsl compat
+
+2006-05-18 18:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove some duplicate options
+
+2006-05-18 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm, perl-install/network/xdsl.pm: move
+ common ADSL ppp options to network::xdsl module
+
+2006-05-18 18:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add network::xdsl compatibility
+ structure
+
+2006-05-18 18:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: oops, pty was still used
+
+2006-05-18 18:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: use network::ppp as base
+ class as well
+
+2006-05-18 18:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add xdsl connect method
+
+2006-05-18 18:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: write ppp config
+
+2006-05-18 18:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: allow to build and write peer files
+
+2006-05-18 18:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: use network::ppp as base class as
+ well
+
+2006-05-18 18:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove specific noipdefault code
+
+2006-05-18 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: simplify since some pkgs
+ require some others
+
+2006-05-18 18:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop unused pty option
+
+2006-05-18 18:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: move ppp options from monolithic
+ string to string array
+
+2006-05-18 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.25-1mdk
+
+2006-05-18 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm, perl-install/network/tools.pm: move
+ ppp secret stuff in network::ppp module
+
+2006-05-18 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: merge unquotify in passwd_by_login
+
+2006-05-18 17:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: move secrets files list out of
+ write_secrets()
+
+2006-05-18 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/proprietary.pm, perl-install/keyboard.pm,
+ perl-install/printer/printerdrake.pm,
+ perl-install/standalone/XFdrake: quick adaptation to x11 move
+ and splitting
+
+2006-05-18 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: merge read_secret_backend() in
+ passwd_by_login()
+
+2006-05-18 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: use correct login for secret
+ file...
+
+2006-05-18 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: simplify call to test_pms_all
+
+2006-05-18 15:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm: fix typo
+
+2006-05-18 11:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: simplify password reading in
+ modem module
+
+2006-05-18 11:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ppp.pm, perl-install/network/tools.pm: move
+ ppp secrets writing in network::ppp::write_secrets
+
+2006-05-18 11:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm, perl-install/network/ppp.pm,
+ perl-install/network/xdsl.pm: pass the whole connection to
+ network::ppp::get_login_password
+
+2006-05-18 11:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't override xDSL login by pppoe
+ login if already found in ppp peeers file
+
+2006-05-18 11:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: drop network_on_boot and
+ allow_user_ctl steps, use network::connection in
+ configure_control_compat instead
+
+2006-05-18 10:17 Warly <warly at mandriva.com>
+
+ * Makefile: add space to test svn
+
+2006-05-17 23:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add default metric and interface
+ for xdsl
+
+2006-05-17 23:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: add control settings
+
+2006-05-17 23:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add minimal bits for writing xDSL
+ settings
+
+2006-05-17 23:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: probe access settings in
+ guess_access_settings, using network::adsl::adsl_probe_info and
+ provider info
+
+2006-05-17 23:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix typo
+
+2006-05-17 23:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add VPI/VCI settings for
+ PPPoA/PPPoE protocols
+
+2006-05-17 22:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm, perl-install/network/xdsl.pm: make
+ get_access_settings return a hash suitable for ask_from_
+
+2006-05-17 22:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pots.pm, perl-install/network/xdsl.pm:
+ rename get_authentication as get_access_settings and store
+ access settings in $self->{access}
+
+2006-05-17 22:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: do not clutter connect()
+ with configuration writing, move it in write_settings()
+
+2006-05-17 22:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: move PIN number code in
+ get_access_settings and add label
+
+2006-05-17 22:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: don't warn for missing APN
+ yet
+
+2006-05-17 22:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: move APN probe in
+ guess_access_settings
+
+2006-05-17 22:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: move APN in
+ $self->{access}{apn}
+
+2006-05-17 22:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: add missing parameter
+
+2006-05-17 22:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/mobile_data.pm: allow to write settings
+ from generic network::connection class
+
+2006-05-17 22:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: move ifcfg function call in
+ new network::mobile_data::build_ifcfg_settings()
+
+2006-05-17 21:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add guess_protocol() to find
+ prefered connection type for xDSL connections
+
+2006-05-17 20:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/xdsl.pm: return hash ref in get_protocols,
+ not hash
+
+2006-05-17 20:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/xdsl.pm: network::xdsl::get_methods is
+ better named get_protocols
+
+2006-05-17 20:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: don't give providers and protocols
+ choices for CAPI DSL modems
+
+2006-05-17 20:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: add xdsl type in devices
+
+2006-05-17 19:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/thirdparty.pm,
+ perl-install/network/xdsl.pm: move xdsl thirparty settings in
+ network::xdsl
+
+2006-05-17 19:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm: allow to setup thirdparty
+ settings if the connection can get_thirdparty_settings
+
+2006-05-17 19:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to easily split
+ settings in other modules
+
+2006-05-17 18:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/xdsl.pm: move %adsl_types in
+ network::xdsl::get_methods()
+
+2006-05-17 17:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: detect ISDN DSL devices and
+ ethernet devices as well
+
+2006-05-17 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm, perl-install/harddrake/data.pm,
+ perl-install/network/xdsl.pm: move xDSL USB devices detection in
+ detect_devices::get_xdsl_usb_devices()
+
+2006-05-17 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: allow to get capi card without
+ checking for drivers
+
+2006-05-17 15:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/connection.pm,
+ perl-install/network/xdsl.pm: return translated strings in all
+ network::connection modules
+
+2006-05-17 15:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/cable.pm,
+ perl-install/network/connection.pm, perl-install/network/dvb.pm:
+ add cable and dvb connection types
+
+2006-05-17 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: require modules instead of use
+
+2006-05-17 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: simplify
+
+2006-05-17 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: adapt to new parameters for
+ speedtch
+
+2006-05-17 14:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: handle new ueagle-data
+ firmware files (and ueagle-firmware package)
+
+2006-05-17 14:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: adapt bewan detection
+
+2006-05-17 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: merge dnsServer2,
+ dnsServer3 and dnsServers_text in dnsServers array ref (not used
+ currently)
+
+2006-05-17 13:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: correctly quote @ in
+ login_format strings
+
+2006-05-17 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: space fixes
+
+2006-05-17 13:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: - merge new login_format,
+ dnsServers_text, encryption and CMVep fields (from Benoît
+ Audouard)
+ - remove methods_all field, we only want the prefered connection
+ type
+
+2006-05-17 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po: update (Mashrab Kuvatov)
+
+2006-05-17 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po: update (Mashrab
+ Kuvatov)
+
+2006-05-17 13:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove eagle-usb pppoe tricks from
+ generic pppoe method
+
+2006-05-17 13:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix typo
+
+2006-05-17 13:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fallback to pppoa for all
+ non-ethernet modems
+
+2006-05-17 13:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to use atmarp with
+ ueagle-atm as well
+
+2006-05-17 13:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: remove eagle-usb specific
+ tricks
+
+2006-05-17 13:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix plugin support
+
+2006-05-17 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add missing requires
+
+2006-05-17 12:43 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to run postInstall commands from
+ $live->{system}{postInstall}
+
+2006-05-17 11:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: drop eagle-usb support,
+ switch to ueagle-atm
+
+2006-05-17 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: simplify
+
+2006-05-17 11:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: make ppp method
+ plugin/options/server more generic
+
+2006-05-17 11:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add quotes for consistency
+
+2006-05-17 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: simplify bewan module tricks
+ * perl-install/network/xdsl.pm: perl_checker compliance
+
+2006-05-17 11:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/xdsl.pm: fix typo
+
+2006-05-17 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/network/xdsl.pm: use correct Bewan module names
+
+2006-05-17 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: getSpeedtouch and getSagem are
+ now unused, drop them
+
+2006-05-17 10:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/data.pm, perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm: drop
+ network::adsl::adsl_detect() and use
+ network::xdsl::get_devices() instead
+
+2006-05-17 10:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop old eagle-usb CMV support
+
+2006-05-17 09:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop custom pppoa options for
+ sagem modems (upstream doesn't recommend any of them)
+
+2006-05-17 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't export adsl_conf_backend
+ * perl-install/network/adsl.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/standalone/drakconnect: adsl_conf_backend doesn't
+ need modules_conf anymore
+
+2006-05-17 09:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop ML 10.0 specific code
+
+2006-05-17 09:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop obsolete module aliases code
+
+2006-05-17 09:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop obsolete speedtouch scripts
+
+2006-05-16 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile: add modules.alias file for PCMCIA probe
+ (and more buses to come)
+
+2006-05-16 14:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modalias.pm: use c::kernel_version() (for install,
+ thanks Pixel)
+
+2006-05-16 14:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: use sysfs to get PCMCIA devices
+ and the modalias module to get matching modules
+ * perl-install/.perl_checker, perl-install/modalias.pm: add
+ modalias module, providing a get_modules() function to resolve
+ modaliases the way modprobe does it
+
+2006-05-16 14:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove unneeded PCMCIA "type"
+ device setting, but keep crappy PCMCIA devices check for modems
+
+2006-05-16 14:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/network/ethernet.pm,
+ perl-install/network/ndiswrapper.pm: add
+ detect_devices::get_sysfs_field_from_link() and use it
+
+2006-05-16 09:42 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: $dir/dev must be created for
+ $dir/dev/root to be created successfully
+
+2006-05-16 09:25 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm, kernel/modules.pl, kernel/update_kernel,
+ perl-install/modules.pm: don't handle kernel 2.4 anymore, so
+ simplify
+
+2006-05-16 08:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: we have way too many functions
+ detecting various stuff, at least remove unused one
+
+2006-05-16 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: usbMice() was used in mouse.pm
+ with kernel 2.4, removing it
+
+2006-05-16 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootsplash.pm: do not export functions, draksplash2
+ doesn't need it anymore
+
+2006-05-16 08:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: do not import bootsplash
+ functions, use them with bootsplash:: namespace (it's more clear)
+
+2006-05-16 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: @options_serverflags was never
+ used, remove them
+
+2006-05-16 07:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: $::windowheight is undefined (since titi
+ killed it). Hopefully we can display the whole test mouse, so
+ don't restrict anymore on the X resolution
+
+2006-05-15 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: - ask_install_simple() is unused for a
+ long time
+ - rename ask_install() into ask_() since it is used in
+ standalone non gtk
+
+2006-05-15 15:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - vmlinuz2basename() is unused
+ - move vmlinuz2kernel_str() next to vmlinuz2version() since
+ there are doing
+ something alike
+
+2006-05-15 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl, perl-install/install/any.pm: drop
+ unused function unlockCdrom() (we use ejectCdrom which use
+ openCdromTray)
+ and so also remove c::CDROM_LOCKDOOR()
+
+2006-05-15 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove unused functions
+ upgrade_utf8() and is_tagged_utf8()
+
+2006-05-15 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: printer::cups uses File::Temp
+
+2006-05-15 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: explain what log_message is
+
+2006-05-15 15:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove unused stuff (was for rpmlib
+ AFAIK)
+
+2006-05-15 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove obsolete #include
+
+2006-05-15 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove obsolete dmiDetectMemory
+ (doesn't work anymore since removing the code behind it)
+ * perl-install/c/stuff.xs.pl: remove unused stuff
+
+2006-05-15 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl, perl-install/install/install2.pm:
+ remove unused debug stuff
+
+2006-05-15 14:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/any.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_interactive.pm: move PCMCIA
+ controller detection in install::any::configure_pcmcia() and
+ drop wait message (we don't sleep anymore here)
+
+2006-05-15 14:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install/any.pm,
+ perl-install/install/install2.pm,
+ perl-install/install/share/list.xml,
+ tools/patch_pcmcia_config.pl: - drop cardmgr daemon and use
+ pcmcia-socket-startup instead
+ - drop tools/patch_pcmcia_config.pl
+ - install PCMCIA tools for all architectures
+
+2006-05-15 13:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install/steps.pm: use PCMCIA even in
+ non-interactive kernels
+
+2006-05-15 13:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/install/steps_interactive.pm: move noauto and arch
+ check to pcmcia_controller_probe()
+
+2006-05-15 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/install/steps_interactive.pm: merge
+ real_pcmcia_probe() with pcmcia_controller_probe()
+
+2006-05-15 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: perl_checker compliance
+
+2006-05-15 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/partition_table/mac.pm: don't have
+ partition_table::mac writing in bootloader namespace
+ (anyway this code would need cleaning)
+
+2006-05-15 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/verify_c: unused (deprecated by perl_checker for a
+ long time now)
+
+2006-05-15 13:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to manually select the
+ speedtouch microcode
+
+2006-05-15 12:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/run_program.pm: fix typo and don't break common
+ usage (thanks Pixel)
+
+2006-05-15 12:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: don't warn on success
+ * perl-install/network/thirdparty.pm: handle new
+ speedtouch-firmware package and speedtch-*.bin* firmware files
+ (with speedtouch-firmware-extractor if needed)
+
+2006-05-15 12:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to reload module in
+ thirdparty options
+
+2006-05-15 12:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/run_program.pm: allow to change the working
+ directory before running programs with the chdir option
+
+2006-05-15 12:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: rescued some existing
+ translation strings
+
+2006-05-15 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: please lord perl_checker
+
+2006-05-15 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix detecting some webcams
+ (#22452)
+
+2006-05-15 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: better "don't do nonsense
+ when we don't have any geometry"
+
+2006-05-15 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove pty server (pppoe3) for
+ speedtouch, we already use the pppoatm plugin
+
+2006-05-15 10:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: don't do nonsense when we
+ don't have any geometry
+
+2006-05-15 10:08 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to set custom boot entry title in
+ $live->{media}{title}
+
+2006-05-15 10:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm: merge with 2006.0-mobile
+ branch (26942:27367)
+
+2006-05-15 09:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: Workaround to avoid empty media
+ names (which urpmi dislikes) when there is no
+ media description in the hdlists file
+ (from mlcs4 branch)
+
+2006-05-15 09:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: do have log prefixed
+ with "bootloader-config", not "perl"
+
+2006-05-15 08:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix handle a little more cleanly
+ /boot/vmlinuz being a file and not a symlink
+
+2006-05-15 02:51 mmodem
+
+ * perl-install/standalone/po/pt.po: actualizar
+
+2006-05-15 02:49 mmodem
+
+ * perl-install/standalone/po/pt.po: actualizar
+
+2006-05-15 02:10 mmodem
+
+ * perl-install/standalone/po/pt.po: actualizar
+
+2006-05-15 01:48 mmodem
+
+ * perl-install/standalone/po/pt.po: update translation
+
+2006-05-15 01:07 mmodem
+
+ * perl-install/share/po/pt.po: update translation
+
+2006-05-15 00:56 mmodem
+
+ * perl-install/share/po/pt.po: update translation
+
+2006-05-13 10:14 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: Updated POT files.
+
+2006-05-13 01:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: updated Galician po file;
+ updated pot file
+
+2006-05-12 15:19 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: fix messages wording, SCSI_ADAPTERS could
+ be renamed MEDIA_ADAPTERS
+
+2006-05-12 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/cdrom.c, mdk-stage1/probing.c, mdk-stage1/probing.h:
+ handle PCMCIA bus in probing module
+
+2006-05-12 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm, perl-install/log.pm: remove
+ openLog() function, only usefull during install, and simplify
+ the resulting mess
+
+2006-05-12 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: drop log::F() (unused)
+
+2006-05-12 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm, perl-install/common.pm: move
+ salt() to authentication (it's only used there)
+
+2006-05-12 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix typo
+
+2006-05-12 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/mobile_data.pm,
+ perl-install/network/test.pm, perl-install/network/tools.pm,
+ perl-install/ugtk2.pm: use common::nonblock() (it exists, so
+ let's use it)
+
+2006-05-12 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: die on error
+
+2006-05-12 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: drop support of kernel 2.4
+ * perl-install/modules.pm: drop support of kernel 2.4
+
+2006-05-12 14:29 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: - drop support for kernel 2.4
+ - adapt to probe_category now in detect_devices
+
+2006-05-12 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: drop support for kernel 2.4
+ * perl-install/modules/interactive.pm,
+ perl-install/modules/parameters.pm: simplify a lot
+ modules::parameters::parameters() by removing the parsing of
+ kernel 2.4 modinfo output. The returned value is different, so
+ adapt callers.
+
+2006-05-12 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakpxe: drop commented code checking
+ kernel != 2.4
+
+2006-05-12 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakgw: drop check on kernel 2.4
+
+2006-05-12 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: don't talk about BOOT: be more
+ generic
+
+2006-05-12 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: drop scsi detection on kernel 2.4
+
+2006-05-12 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: md5file is used in userdrake and
+ mdkonline, add it as a comment
+
+2006-05-12 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: cleanup set_permissions (not using
+ external commands anymore)
+
+2006-05-12 12:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/common.pm,
+ perl-install/install/commands.pm: create common::chown_ (out of
+ commands::chown_) and use it
+
+2006-05-12 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm, perl-install/network/tools.pm: remove
+ duplicate code
+
+2006-05-12 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: drop HACK in availableRamMB() to lower
+ memory size on i810 (was needed long ago when it needed mem=xxx)
+
+2006-05-12 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Xconfig/card.pm,
+ perl-install/detect_devices.pm, perl-install/harddrake/data.pm,
+ perl-install/install/any.pm, perl-install/install/pkgs.pm,
+ perl-install/modules.pm, perl-install/mouse.pm,
+ perl-install/network/ethernet.pm, perl-install/network/isdn.pm,
+ perl-install/network/mobile_data.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/wireless.pm, perl-install/network/xdsl.pm,
+ perl-install/standalone/draksound,
+ perl-install/standalone/harddrake2: move probe_category() from
+ modules to detect_devices
+
+2006-05-12 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: add some modules (used by
+ network/mobile_data.pm)
+
+2006-05-12 06:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: don't die when failing to install SCIM
+ pkgs (esp. for mini.iso) (thanks to Funda Wang)
+
+2006-05-11 21:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile, mdk-stage1/pcmcia-resource,
+ mdk-stage1/pcmcia-resource/Makefile,
+ mdk-stage1/pcmcia-resource/update-pcmcia-ids.pl: build a
+ modalias-based pcmcia database in pcmcia-resource/pcmcia-ids.h
+
+2006-05-11 21:41 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: only keep /etc/pcmcia/config.opts in stage1
+ * kernel/modules.pl: keep the modules.alias file to generate a
+ modalias-based pcmcia database
+
+2006-05-11 21:40 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile, mdk-stage1/pcmcia_/Makefile,
+ mdk-stage1/pcmcia_/lex_config.l, mdk-stage1/pcmcia_/pcmcia.h,
+ mdk-stage1/pcmcia_/startup.c, mdk-stage1/pcmcia_/startup.h,
+ mdk-stage1/pcmcia_/yacc_config.y, mdk-stage1/stage1.c: setup a
+ dynamic resource database for non statically mapped PCMCIA
+ sockets, using the startup.c code of pcmcia-socket-startup from
+ pcmciautils-013 and the minimal sysfs library (replaces resource
+ allocation made from old cardmgr)
+
+2006-05-11 21:33 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/sysfs, mdk-stage1/sysfs/Makefile,
+ mdk-stage1/sysfs/libsysfs.h, mdk-stage1/sysfs/sysfs.h,
+ mdk-stage1/sysfs/sysfs_attr.c, mdk-stage1/sysfs/sysfs_utils.c:
+ add minimal sysfs library ripped from sysfsutils-2.0.0
+
+2006-05-11 21:27 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: mount sysfs for new PCMCIA tools
+
+2006-05-11 21:26 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img, mdk-stage1/pcmcia_/Makefile,
+ mdk-stage1/pcmcia_/cardmgr.c, mdk-stage1/pcmcia_/cardmgr.h,
+ mdk-stage1/pcmcia_/lex_config.c, mdk-stage1/pcmcia_/pcmcia.h,
+ mdk-stage1/pcmcia_/yacc_config.c,
+ mdk-stage1/pcmcia_/yacc_config.h, mdk-stage1/stage1.c: don't
+ call obsolete cardmgr tool in stage1
+
+2006-05-11 21:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Made HP printers with different
+ model names in "hp://..." and
+ "usb://..." URIs being set up correctly with HPLIP.
+
+2006-05-11 21:20 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pcmcia_/Makefile: use a TARGET variable for
+ libpcmcia.a
+
+2006-05-11 21:16 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: space fix
+
+2006-05-11 21:15 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: space fix
+
+2006-05-11 21:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: use discovered_device() for USB devices as
+ well
+
+2006-05-11 21:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: remove PCI specific log message in
+ discovered_device()
+
+2006-05-11 14:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle kernel-tmb's more nicely (for
+ the new naming)
+
+2006-05-11 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.24-1mdk
+
+2006-05-11 10:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: package network::wireless:* too
+ (#22402)
+
+2006-05-11 08:59 Marek Laane <bald at starman.ee>
+
+ * perl-install/standalone/po/et.po: Updated Estonian translation.
+
+2006-05-11 08:58 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation
+
+2006-05-11 07:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle a little more cleanly
+ /boot/vmlinuz being a file and not a symlink
+
+2006-05-11 07:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: skip makeactive when comparing
+ entries (esp. for lilo.conf, makeactive is grub only)
+
+2006-05-11 06:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: simplify (thanks to
+ perl_checker)
+ * perl-install/Xconfig/various.pm, perl-install/bootloader.pm,
+ perl-install/standalone/bootloader-config: create
+ bootloader::update_splash() and use it after changing vga=XXX in
+ XFdrake
+
+2006-05-11 06:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: skip "use base"
+
+2006-05-10 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: revert unexplained commit
+
+2006-05-10 18:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.23-1mdk
+
+2006-05-10 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use network::wireless class
+
+2006-05-10 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: replace 2000 with 1920
+ (1920x1440 is known whereas 2000x... doesn't exist)
+ (it doesn't change the result though)
+
+2006-05-10 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: lower the max hsync to disallow
+ 1024x768@60hz 133.5 MHz, 95.3 kHz doublescan
+
+2006-05-10 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for hptiop
+
+2006-05-10 12:15 stewb
+
+ * perl-install/standalone/drakbackup: different approach to avoid
+ "GLib-GObject-CRITICAL **: g_object_notify: assertion
+ `G_IS_OBJECT (object)'"
+
+2006-05-09 16:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: use new detect_devices "API"
+
+2006-05-09 16:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/mobile_data.pm,
+ perl-install/network/pots.pm, perl-install/network/xdsl.pm:
+ temporarily use some categories icons for connection types
+
+2006-05-09 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+ * perl-install/share/po/br.po: update
+
+2006-05-09 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot: sync with code
+
+2006-05-09 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-05-09 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/fr.po: don't translate a word by a
+ sentence
+
+2006-05-09 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/gtk.pm: (create_steps_window) shorter
+ category names
+
+2006-05-09 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/fr.po: use a more understandable
+ string
+
+2006-05-09 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/share/po/fr.po: make a step name shorter
+
+2006-05-09 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/steps_list.pm: shorter step names so that
+ they fit
+
+2006-05-09 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm:
+ (ask_root_password_and_authentication) shorter banner title so
+ that it fits
+
+2006-05-09 02:58 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-05-08 17:41 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-05-08 17:32 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-05-08 17:12 mmodem
+
+ * perl-install/share/po/pt.po: update
+
+2006-05-08 09:41 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated Estonian translation.
+
+2006-05-07 12:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: handle hidden networks when
+ wpa_supplicant isn't used as well
+
+2006-05-05 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix binding standalone messages to UTF-8
+ after catalog split
+
+2006-05-05 13:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use $net->{monitor}
+
+2006-05-05 13:09 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/detect_devices.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/network/connection.pm,
+ perl-install/network/ethernet.pm, perl-install/network/isdn.pm,
+ perl-install/network/mobile_data.pm,
+ perl-install/network/pots.pm, perl-install/network/ppp.pm,
+ perl-install/network/signal_strength.pm,
+ perl-install/network/wireless, perl-install/network/wireless.pm,
+ perl-install/network/xdsl.pm, perl-install/standalone/drakroam:
+ merge with 2006.0-mobile branch (26668:26942)
+
+2006-05-05 12:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: remove extra space
+
+2006-05-05 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-05-05 11:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/standalone/po/br.po:
+ update
+
+2006-05-05 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: factorize translated
+ strings with other tools
+
+2006-05-05 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.22-1mdk
+
+2006-05-05 09:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: clamp the TCP MSS to 1412 for
+ PPPoE connections (useful if the connection is to be shared on a
+ LAN)
+
+2006-05-05 07:40 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+
+2006-05-05 07:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix some more (ti)typo
+
+2006-05-05 06:41 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: corrections.
+
+2006-05-05 06:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated libDrakX zh_CN
+ translation.
+
+2006-05-05 06:41 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: corrections.
+
+2006-05-05 06:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated libDrakX zh_CN
+ translation.
+
+2006-05-04 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_create_Window) fix position of windows
+ at install time
+
+2006-05-04 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (new) fix type of hash
+
+2006-05-04 17:23 Pixel <pixel at mandriva.com>
+
+ * ChangeLog:
+ * perl-install/lang.pm: adapt check to the move to
+ perl-install/install
+
+2006-05-04 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/advertising/Makefile: adapt to the
+ move from perl-install/share into perl-install/install/share
+
+2006-05-04 17:13 Pixel <pixel at mandriva.com>
+
+ * Makefile: advertising moved from perl-install/share into
+ perl-install/install/share
+
+2006-05-04 17:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_TW.po:
+ kill duplicated messages
+
+2006-05-04 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.21-1mdk
+
+2006-05-04 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10.4.20-1mdk and
+ 10.4.19-1mdk changelogs
+
+2006-05-04 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with SVN now that po are
+ splited
+
+2006-05-04 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/Makefile: allow removing directory
+ "CVS" in this directory
+
+2006-05-04 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-05-04 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: add deps on libDrakX.pot for
+ "merge"
+
+2006-05-04 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/Makefile,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: as titi suggested,
+ remove entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/po/DrakX-help.pot,
+ perl-install/install/help/po/Makefile,
+ perl-install/install/help/po/af.po,
+ perl-install/install/help/po/am.po,
+ perl-install/install/help/po/ar.po,
+ perl-install/install/help/po/az.po,
+ perl-install/install/help/po/be.po,
+ perl-install/install/help/po/bg.po,
+ perl-install/install/help/po/bn.po,
+ perl-install/install/help/po/br.po,
+ perl-install/install/help/po/bs.po,
+ perl-install/install/help/po/ca.po,
+ perl-install/install/help/po/cs.po,
+ perl-install/install/help/po/cy.po,
+ perl-install/install/help/po/da.po,
+ perl-install/install/help/po/de.po,
+ perl-install/install/help/po/el.po,
+ perl-install/install/help/po/eo.po,
+ perl-install/install/help/po/es.po,
+ perl-install/install/help/po/et.po,
+ perl-install/install/help/po/eu.po,
+ perl-install/install/help/po/fa.po,
+ perl-install/install/help/po/fi.po,
+ perl-install/install/help/po/fr.po,
+ perl-install/install/help/po/fur.po,
+ perl-install/install/help/po/ga.po,
+ perl-install/install/help/po/gl.po,
+ perl-install/install/help/po/he.po,
+ perl-install/install/help/po/hi.po,
+ perl-install/install/help/po/hr.po,
+ perl-install/install/help/po/hu.po,
+ perl-install/install/help/po/id.po,
+ perl-install/install/help/po/is.po,
+ perl-install/install/help/po/it.po,
+ perl-install/install/help/po/ja.po,
+ perl-install/install/help/po/ko.po,
+ perl-install/install/help/po/ky.po,
+ perl-install/install/help/po/lt.po,
+ perl-install/install/help/po/ltg.po,
+ perl-install/install/help/po/lv.po,
+ perl-install/install/help/po/mk.po,
+ perl-install/install/help/po/mn.po,
+ perl-install/install/help/po/ms.po,
+ perl-install/install/help/po/mt.po,
+ perl-install/install/help/po/nb.po,
+ perl-install/install/help/po/nl.po,
+ perl-install/install/help/po/nn.po,
+ perl-install/install/help/po/pa_IN.po,
+ perl-install/install/help/po/pl.po,
+ perl-install/install/help/po/pt.po,
+ perl-install/install/help/po/pt_BR.po,
+ perl-install/install/help/po/ro.po,
+ perl-install/install/help/po/ru.po,
+ perl-install/install/help/po/sc.po,
+ perl-install/install/help/po/sk.po,
+ perl-install/install/help/po/sl.po,
+ perl-install/install/help/po/sq.po,
+ perl-install/install/help/po/sr.po,
+ perl-install/install/help/po/sr@Latn.po,
+ perl-install/install/help/po/sv.po,
+ perl-install/install/help/po/ta.po,
+ perl-install/install/help/po/tg.po,
+ perl-install/install/help/po/th.po,
+ perl-install/install/help/po/tl.po,
+ perl-install/install/help/po/tr.po,
+ perl-install/install/help/po/uk.po,
+ perl-install/install/help/po/uz.po,
+ perl-install/install/help/po/uz@Latn.po,
+ perl-install/install/help/po/vi.po,
+ perl-install/install/help/po/wa.po,
+ perl-install/install/help/po/zh_CN.po,
+ perl-install/install/help/po/zh_TW.po: as titi suggested, remove
+ entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/po/Makefile,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: as titi suggested, remove
+ entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/advertising/Makefile: adapt to the
+ move from perl-install/share into perl-install/install/share
+
+2006-05-04 17:13 Pixel <pixel at mandriva.com>
+
+ * Makefile: advertising moved from perl-install/share into
+ perl-install/install/share
+
+2006-05-04 17:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_TW.po:
+ kill duplicated messages
+
+2006-05-04 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.21-1mdk
+
+2006-05-04 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10.4.20-1mdk and
+ 10.4.19-1mdk changelogs
+
+2006-05-04 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/libDrakX.pot,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with SVN now that po are
+ splited
+
+2006-05-04 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/Makefile: allow removing directory
+ "CVS" in this directory
+
+2006-05-04 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/po/br.po: update
+
+2006-05-04 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: add deps on libDrakX.pot for
+ "merge"
+
+2006-05-04 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/Makefile,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po: as titi suggested,
+ remove entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/po/DrakX-help.pot,
+ perl-install/install/help/po/Makefile,
+ perl-install/install/help/po/af.po,
+ perl-install/install/help/po/am.po,
+ perl-install/install/help/po/ar.po,
+ perl-install/install/help/po/az.po,
+ perl-install/install/help/po/be.po,
+ perl-install/install/help/po/bg.po,
+ perl-install/install/help/po/bn.po,
+ perl-install/install/help/po/br.po,
+ perl-install/install/help/po/bs.po,
+ perl-install/install/help/po/ca.po,
+ perl-install/install/help/po/cs.po,
+ perl-install/install/help/po/cy.po,
+ perl-install/install/help/po/da.po,
+ perl-install/install/help/po/de.po,
+ perl-install/install/help/po/el.po,
+ perl-install/install/help/po/eo.po,
+ perl-install/install/help/po/es.po,
+ perl-install/install/help/po/et.po,
+ perl-install/install/help/po/eu.po,
+ perl-install/install/help/po/fa.po,
+ perl-install/install/help/po/fi.po,
+ perl-install/install/help/po/fr.po,
+ perl-install/install/help/po/fur.po,
+ perl-install/install/help/po/ga.po,
+ perl-install/install/help/po/gl.po,
+ perl-install/install/help/po/he.po,
+ perl-install/install/help/po/hi.po,
+ perl-install/install/help/po/hr.po,
+ perl-install/install/help/po/hu.po,
+ perl-install/install/help/po/id.po,
+ perl-install/install/help/po/is.po,
+ perl-install/install/help/po/it.po,
+ perl-install/install/help/po/ja.po,
+ perl-install/install/help/po/ko.po,
+ perl-install/install/help/po/ky.po,
+ perl-install/install/help/po/lt.po,
+ perl-install/install/help/po/ltg.po,
+ perl-install/install/help/po/lv.po,
+ perl-install/install/help/po/mk.po,
+ perl-install/install/help/po/mn.po,
+ perl-install/install/help/po/ms.po,
+ perl-install/install/help/po/mt.po,
+ perl-install/install/help/po/nb.po,
+ perl-install/install/help/po/nl.po,
+ perl-install/install/help/po/nn.po,
+ perl-install/install/help/po/pa_IN.po,
+ perl-install/install/help/po/pl.po,
+ perl-install/install/help/po/pt.po,
+ perl-install/install/help/po/pt_BR.po,
+ perl-install/install/help/po/ro.po,
+ perl-install/install/help/po/ru.po,
+ perl-install/install/help/po/sc.po,
+ perl-install/install/help/po/sk.po,
+ perl-install/install/help/po/sl.po,
+ perl-install/install/help/po/sq.po,
+ perl-install/install/help/po/sr.po,
+ perl-install/install/help/po/sr@Latn.po,
+ perl-install/install/help/po/sv.po,
+ perl-install/install/help/po/ta.po,
+ perl-install/install/help/po/tg.po,
+ perl-install/install/help/po/th.po,
+ perl-install/install/help/po/tl.po,
+ perl-install/install/help/po/tr.po,
+ perl-install/install/help/po/uk.po,
+ perl-install/install/help/po/uz.po,
+ perl-install/install/help/po/uz@Latn.po,
+ perl-install/install/help/po/vi.po,
+ perl-install/install/help/po/wa.po,
+ perl-install/install/help/po/zh_CN.po,
+ perl-install/install/help/po/zh_TW.po: as titi suggested, remove
+ entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/po/Makefile,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: as titi suggested, remove
+ entries from main pot instead of merging
+ translations (much simpler and more robust)
+
+2006-05-04 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.drakxtools,
+ perl-install/drakxtools.spec, perl-install/share/po/Makefile,
+ perl-install/standalone.pm, perl-install/standalone/po,
+ perl-install/standalone/po/Makefile,
+ perl-install/standalone/po/af.po,
+ perl-install/standalone/po/am.po,
+ perl-install/standalone/po/ar.po,
+ perl-install/standalone/po/az.po,
+ perl-install/standalone/po/be.po,
+ perl-install/standalone/po/bg.po,
+ perl-install/standalone/po/bn.po,
+ perl-install/standalone/po/br.po,
+ perl-install/standalone/po/bs.po,
+ perl-install/standalone/po/ca.po,
+ perl-install/standalone/po/cs.po,
+ perl-install/standalone/po/cy.po,
+ perl-install/standalone/po/da.po,
+ perl-install/standalone/po/de.po,
+ perl-install/standalone/po/el.po,
+ perl-install/standalone/po/eo.po,
+ perl-install/standalone/po/es.po,
+ perl-install/standalone/po/et.po,
+ perl-install/standalone/po/eu.po,
+ perl-install/standalone/po/fa.po,
+ perl-install/standalone/po/fi.po,
+ perl-install/standalone/po/fr.po,
+ perl-install/standalone/po/fur.po,
+ perl-install/standalone/po/ga.po,
+ perl-install/standalone/po/gl.po,
+ perl-install/standalone/po/he.po,
+ perl-install/standalone/po/hi.po,
+ perl-install/standalone/po/hr.po,
+ perl-install/standalone/po/hu.po,
+ perl-install/standalone/po/id.po,
+ perl-install/standalone/po/is.po,
+ perl-install/standalone/po/it.po,
+ perl-install/standalone/po/ja.po,
+ perl-install/standalone/po/ko.po,
+ perl-install/standalone/po/ky.po,
+ perl-install/standalone/po/libDrakX-standalone.pot,
+ perl-install/standalone/po/lt.po,
+ perl-install/standalone/po/ltg.po,
+ perl-install/standalone/po/lv.po,
+ perl-install/standalone/po/mk.po,
+ perl-install/standalone/po/mn.po,
+ perl-install/standalone/po/ms.po,
+ perl-install/standalone/po/mt.po,
+ perl-install/standalone/po/nb.po,
+ perl-install/standalone/po/nl.po,
+ perl-install/standalone/po/nn.po,
+ perl-install/standalone/po/pa_IN.po,
+ perl-install/standalone/po/pl.po,
+ perl-install/standalone/po/pt.po,
+ perl-install/standalone/po/pt_BR.po,
+ perl-install/standalone/po/ro.po,
+ perl-install/standalone/po/ru.po,
+ perl-install/standalone/po/sc.po,
+ perl-install/standalone/po/sk.po,
+ perl-install/standalone/po/sl.po,
+ perl-install/standalone/po/sq.po,
+ perl-install/standalone/po/sr.po,
+ perl-install/standalone/po/sr@Latn.po,
+ perl-install/standalone/po/sv.po,
+ perl-install/standalone/po/ta.po,
+ perl-install/standalone/po/tg.po,
+ perl-install/standalone/po/th.po,
+ perl-install/standalone/po/tl.po,
+ perl-install/standalone/po/tr.po,
+ perl-install/standalone/po/uk.po,
+ perl-install/standalone/po/uz.po,
+ perl-install/standalone/po/uz@Latn.po,
+ perl-install/standalone/po/vi.po,
+ perl-install/standalone/po/wa.po,
+ perl-install/standalone/po/zh_CN.po,
+ perl-install/standalone/po/zh_TW.po: create a po for standalone
+ (ie non install) strings
+
+2006-05-04 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: we don't need to merge po's
+ with only non-install files since libDrakX.pot
+ doesn't have them anymore (and anyway should have been renamed
+ DrakX.pot ->
+ libDrakX.pot)
+
+2006-05-04 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/gtk.pm: (init_sizes) typo fix
+
+2006-05-04 13:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install/gtk.pm, perl-install/install/steps_gtk.pm,
+ perl-install/interactive/gtk.pm, perl-install/mygtk2.pm,
+ perl-install/ugtk2.pm: kill windowwidth and windowheight global
+ variables
+
+2006-05-04 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/po/Makefile: merge from DrakX
+ (install) po files
+
+2006-05-04 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.drakxtools: - copy
+ tools/serial_probe and tools/rpcinfo-flushed in tools/ dir, not
+ directly with the whole mess
+ (simpler that way)
+ - for now rpmsrate is in install/share
+
+2006-05-04 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: tarball file name is versioned
+
+2006-05-04 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: PMS_DIRS is used for drakxtools,
+ and only by drakxtools,
+ so remove install/* from PMS_DIRS
+
+2006-05-04 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: don't have po files depending on
+ libDrakX.pot, merge is done explicitly
+
+2006-05-04 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: revert debugging stuff wrongly
+ committed
+
+2006-05-04 10:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ugtk2.pm: handle non-rectangular icons in
+ Gtk2::Banner for non-RTL languages as well
+
+2006-05-04 09:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: speed up things when building tarball by
+ excluding install/* and .svn while copying, not afterwards
+
+2006-05-04 09:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install/install2.pm,
+ perl-install/install/share/po,
+ perl-install/install/share/po/DrakX.pot,
+ perl-install/install/share/po/Makefile,
+ perl-install/install/share/po/af.po,
+ perl-install/install/share/po/am.po,
+ perl-install/install/share/po/ar.po,
+ perl-install/install/share/po/az.po,
+ perl-install/install/share/po/be.po,
+ perl-install/install/share/po/bg.po,
+ perl-install/install/share/po/bn.po,
+ perl-install/install/share/po/br.po,
+ perl-install/install/share/po/bs.po,
+ perl-install/install/share/po/ca.po,
+ perl-install/install/share/po/cs.po,
+ perl-install/install/share/po/cy.po,
+ perl-install/install/share/po/da.po,
+ perl-install/install/share/po/de.po,
+ perl-install/install/share/po/el.po,
+ perl-install/install/share/po/eo.po,
+ perl-install/install/share/po/es.po,
+ perl-install/install/share/po/et.po,
+ perl-install/install/share/po/eu.po,
+ perl-install/install/share/po/fa.po,
+ perl-install/install/share/po/fi.po,
+ perl-install/install/share/po/fr.po,
+ perl-install/install/share/po/fur.po,
+ perl-install/install/share/po/ga.po,
+ perl-install/install/share/po/gl.po,
+ perl-install/install/share/po/he.po,
+ perl-install/install/share/po/hi.po,
+ perl-install/install/share/po/hr.po,
+ perl-install/install/share/po/hu.po,
+ perl-install/install/share/po/id.po,
+ perl-install/install/share/po/is.po,
+ perl-install/install/share/po/it.po,
+ perl-install/install/share/po/ja.po,
+ perl-install/install/share/po/ko.po,
+ perl-install/install/share/po/ky.po,
+ perl-install/install/share/po/lt.po,
+ perl-install/install/share/po/ltg.po,
+ perl-install/install/share/po/lv.po,
+ perl-install/install/share/po/mk.po,
+ perl-install/install/share/po/mn.po,
+ perl-install/install/share/po/ms.po,
+ perl-install/install/share/po/mt.po,
+ perl-install/install/share/po/nb.po,
+ perl-install/install/share/po/nl.po,
+ perl-install/install/share/po/nn.po,
+ perl-install/install/share/po/pa_IN.po,
+ perl-install/install/share/po/pl.po,
+ perl-install/install/share/po/pt.po,
+ perl-install/install/share/po/pt_BR.po,
+ perl-install/install/share/po/ro.po,
+ perl-install/install/share/po/ru.po,
+ perl-install/install/share/po/sc.po,
+ perl-install/install/share/po/sk.po,
+ perl-install/install/share/po/sl.po,
+ perl-install/install/share/po/sq.po,
+ perl-install/install/share/po/sr.po,
+ perl-install/install/share/po/sr@Latn.po,
+ perl-install/install/share/po/sv.po,
+ perl-install/install/share/po/ta.po,
+ perl-install/install/share/po/tg.po,
+ perl-install/install/share/po/th.po,
+ perl-install/install/share/po/tl.po,
+ perl-install/install/share/po/tr.po,
+ perl-install/install/share/po/uk.po,
+ perl-install/install/share/po/uz.po,
+ perl-install/install/share/po/uz@Latn.po,
+ perl-install/install/share/po/vi.po,
+ perl-install/install/share/po/wa.po,
+ perl-install/install/share/po/zh_CN.po,
+ perl-install/install/share/po/zh_TW.po,
+ perl-install/share/po/Makefile: - create DrakX.pot containing
+ only install i18n strings
+ - remove install i18n strings from libDrakX.pot
+
+2006-05-04 08:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/Makefile: moved there from
+ perl-install/share/po/Makefile
+
+2006-05-04 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/help_xml2pm.pl: - adapt to new files
+ layout
+ - write help.pm in utf8 (for things like "(R)")
+ - fix @inside_strings handling inside of dropped tags
+ - handle a few more tags
+ - remove entities icon_list.ent, tab_list.ent,
+ text_field_list.ent
+ (not useful and not available in spanish)
+
+2006-05-03 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/help_xml2pm.pl,
+ perl-install/install/help/id.xsl, perl-install/install/help/po,
+ perl-install/install/help/po/Makefile,
+ perl-install/install/help/po/help_xml2pm.pl,
+ perl-install/share/po/id.xsl: move things in install/help
+
+2006-05-03 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: display disk name in "Root" entry
+ (drakboot) (#21524)
+
+2006-05-03 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/bootloader.pm: fix handle
+ global vga=
+
+2006-05-03 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/help/help.pm,
+ perl-install/install/steps_gtk.pm: make things more cleaner
+ (install/help/help.pm is now install::help::help)
+
+2006-05-03 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps_gtk.pm, perl-install/interactive.pm:
+ move things using install::help in install/steps_gtk.pm
+
+2006-05-03 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for new stex driver
+
+2006-05-03 13:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.config,
+ perl-install/install/help, perl-install/install/help.pm,
+ perl-install/install/help/help.pm, perl-install/install/help/po,
+ perl-install/install/help/po/DrakX-help.pot,
+ perl-install/install/help/po/Makefile,
+ perl-install/install/help/po/af.po,
+ perl-install/install/help/po/am.po,
+ perl-install/install/help/po/ar.po,
+ perl-install/install/help/po/az.po,
+ perl-install/install/help/po/be.po,
+ perl-install/install/help/po/bg.po,
+ perl-install/install/help/po/bn.po,
+ perl-install/install/help/po/br.po,
+ perl-install/install/help/po/bs.po,
+ perl-install/install/help/po/ca.po,
+ perl-install/install/help/po/cs.po,
+ perl-install/install/help/po/cy.po,
+ perl-install/install/help/po/da.po,
+ perl-install/install/help/po/de.po,
+ perl-install/install/help/po/el.po,
+ perl-install/install/help/po/eo.po,
+ perl-install/install/help/po/es.po,
+ perl-install/install/help/po/et.po,
+ perl-install/install/help/po/eu.po,
+ perl-install/install/help/po/fa.po,
+ perl-install/install/help/po/fi.po,
+ perl-install/install/help/po/fr.po,
+ perl-install/install/help/po/fur.po,
+ perl-install/install/help/po/ga.po,
+ perl-install/install/help/po/gl.po,
+ perl-install/install/help/po/he.po,
+ perl-install/install/help/po/help_xml2pm.pl,
+ perl-install/install/help/po/hi.po,
+ perl-install/install/help/po/hr.po,
+ perl-install/install/help/po/hu.po,
+ perl-install/install/help/po/id.po,
+ perl-install/install/help/po/is.po,
+ perl-install/install/help/po/it.po,
+ perl-install/install/help/po/ja.po,
+ perl-install/install/help/po/ko.po,
+ perl-install/install/help/po/ky.po,
+ perl-install/install/help/po/lt.po,
+ perl-install/install/help/po/ltg.po,
+ perl-install/install/help/po/lv.po,
+ perl-install/install/help/po/mk.po,
+ perl-install/install/help/po/mn.po,
+ perl-install/install/help/po/ms.po,
+ perl-install/install/help/po/mt.po,
+ perl-install/install/help/po/nb.po,
+ perl-install/install/help/po/nl.po,
+ perl-install/install/help/po/nn.po,
+ perl-install/install/help/po/pa_IN.po,
+ perl-install/install/help/po/pl.po,
+ perl-install/install/help/po/pt.po,
+ perl-install/install/help/po/pt_BR.po,
+ perl-install/install/help/po/ro.po,
+ perl-install/install/help/po/ru.po,
+ perl-install/install/help/po/sc.po,
+ perl-install/install/help/po/sk.po,
+ perl-install/install/help/po/sl.po,
+ perl-install/install/help/po/sq.po,
+ perl-install/install/help/po/sr.po,
+ perl-install/install/help/po/sr@Latn.po,
+ perl-install/install/help/po/sv.po,
+ perl-install/install/help/po/ta.po,
+ perl-install/install/help/po/tg.po,
+ perl-install/install/help/po/th.po,
+ perl-install/install/help/po/tl.po,
+ perl-install/install/help/po/tr.po,
+ perl-install/install/help/po/uk.po,
+ perl-install/install/help/po/uz.po,
+ perl-install/install/help/po/uz@Latn.po,
+ perl-install/install/help/po/vi.po,
+ perl-install/install/help/po/wa.po,
+ perl-install/install/help/po/zh_CN.po,
+ perl-install/install/help/po/zh_TW.po,
+ perl-install/install/steps_gtk.pm, perl-install/lang.pm,
+ perl-install/share/po/Makefile,
+ perl-install/share/po/help-de.pot,
+ perl-install/share/po/help-es.pot,
+ perl-install/share/po/help-fr.pot,
+ perl-install/share/po/help-it.pot,
+ perl-install/share/po/help-ru.pot,
+ perl-install/share/po/help-zh_CN.pot,
+ perl-install/share/po/help_xml2pm.pl,
+ perl-install/share/po/libDrakX.pot: create DrakX-help.pot
+
+2006-05-03 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix not opening advanced by
+ default in expert
+
+2006-05-03 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.drakxtools,
+ perl-install/share/po/DrakX.pot, perl-install/share/po/Makefile,
+ perl-install/share/po/libDrakX.pot: rename DrakX.pot into
+ libDrakX.pot (this simplifies Makefile)
+
+2006-05-03 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: adapt to the move share ->
+ install/share of advertising and compssUsers
+
+2006-05-03 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: cleanup "mandriva move" things
+
+2006-05-03 12:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/b_dump_strings.pm: unused (and it has
+ always has been unused)
+
+2006-05-03 11:17 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: find grub partition from record device
+
+2006-05-03 11:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: add and use $(NAME)
+
+2006-05-03 10:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/live-patches, perl-install/patch:
+ move "patch" dir in install/share, and rename it to something
+ more clear
+
+2006-05-03 10:50 Pixel <pixel at mandriva.com>
+
+ * move: move obsoleted by Mandriva One
+
+2006-05-03 10:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pixmaps/banner-adduser.png,
+ perl-install/install/pixmaps/banner-bootL.png,
+ perl-install/install/pixmaps/banner-exit.png,
+ perl-install/install/pixmaps/banner-generic-ad.png,
+ perl-install/install/pixmaps/banner-languages.png,
+ perl-install/install/pixmaps/banner-license.png,
+ perl-install/install/pixmaps/banner-part.png,
+ perl-install/install/pixmaps/banner-pw.png,
+ perl-install/install/pixmaps/banner-security.png,
+ perl-install/install/pixmaps/banner-summary.png,
+ perl-install/install/pixmaps/banner-sys.png,
+ perl-install/install/pixmaps/banner-update.png,
+ perl-install/pixmaps/banner-adduser.png,
+ perl-install/pixmaps/banner-bootL.png,
+ perl-install/pixmaps/banner-exit.png,
+ perl-install/pixmaps/banner-generic-ad.png,
+ perl-install/pixmaps/banner-languages.png,
+ perl-install/pixmaps/banner-license.png,
+ perl-install/pixmaps/banner-part.png,
+ perl-install/pixmaps/banner-pw.png,
+ perl-install/pixmaps/banner-security.png,
+ perl-install/pixmaps/banner-summary.png,
+ perl-install/pixmaps/banner-sys.png,
+ perl-install/pixmaps/banner-update.png: move install pixmaps in
+ install/pixmaps
+
+2006-05-03 10:12 Pixel <pixel at mandriva.com>
+
+ * .cvsignore, docs/.cvsignore, kernel/.cvsignore,
+ mdk-stage1/.cvsignore, mdk-stage1/insmod-busybox/.cvsignore,
+ mdk-stage1/mar/.cvsignore, mdk-stage1/pci-resource/.cvsignore,
+ mdk-stage1/ppp/.cvsignore, mdk-stage1/ppp/pppd/.cvsignore,
+ mdk-stage1/rp-pppoe/.cvsignore,
+ mdk-stage1/rp-pppoe/src/.cvsignore,
+ mdk-stage1/usb-resource/.cvsignore, move/.cvsignore,
+ move/data/.cvsignore, move/isolinux/.cvsignore,
+ perl-install/.cvsignore, perl-install/Newt/.cvsignore,
+ perl-install/c/.cvsignore, perl-install/resize_fat/.cvsignore,
+ perl-install/share/po/.cvsignore,
+ perl-install/unused/.cvsignore,
+ perl-install/xf86misc/.cvsignore, rescue/.cvsignore,
+ tools/.cvsignore, tools/serial_probe/.cvsignore: obsolete
+ * perl-install/share/.cvsignore: obsolete
+
+2006-05-03 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/fileopen.xpm,
+ perl-install/standalone/icons/find.xpm,
+ perl-install/standalone/icons/findf.xpm,
+ perl-install/standalone/icons/ftin.xpm,
+ perl-install/standalone/icons/ftout.xpm,
+ perl-install/standalone/icons/reload.xpm: we don't use xpm's
+ anymore
+
+2006-05-03 10:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/share/list.xml: we don't display xpm's
+ anymore during install
+
+2006-05-03 09:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install/pixmaps,
+ perl-install/install/pixmaps/langs,
+ perl-install/install/pixmaps/logo-mandriva.png,
+ perl-install/install/pixmaps/reload.png,
+ perl-install/install/pixmaps/selected.png,
+ perl-install/install/pixmaps/semiselected.png,
+ perl-install/install/pixmaps/unselected.png,
+ perl-install/install/share,
+ perl-install/install/share/advertising,
+ perl-install/install/share/aliases,
+ perl-install/install/share/compssUsers.pl,
+ perl-install/install/share/consolefonts,
+ perl-install/install/share/devices,
+ perl-install/install/share/fonts.tar.bz2,
+ perl-install/install/share/keyboards.tar.bz2,
+ perl-install/install/share/keymaps.tar.bz2,
+ perl-install/install/share/keymaps_generate,
+ perl-install/install/share/kmap2bkmap,
+ perl-install/install/share/list.xml,
+ perl-install/install/share/locales-skeleton.tar.bz2,
+ perl-install/install/share/rpmsrate,
+ perl-install/install/share/symlinks,
+ perl-install/install/share/symlinks.x86_64,
+ perl-install/install/share/themes-blue.rc,
+ perl-install/install/share/themes-galaxy.rc,
+ perl-install/install/share/upgrade, perl-install/pixmaps/langs,
+ perl-install/share/advertising, perl-install/share/aliases,
+ perl-install/share/compssUsers.pl,
+ perl-install/share/consolefonts, perl-install/share/devices,
+ perl-install/share/fonts.tar.bz2,
+ perl-install/share/keyboards.tar.bz2,
+ perl-install/share/keymaps.tar.bz2,
+ perl-install/share/keymaps_generate,
+ perl-install/share/kmap2bkmap, perl-install/share/list.xml,
+ perl-install/share/locales-skeleton.tar.bz2,
+ perl-install/share/logo-mandriva.png,
+ perl-install/share/reload.png, perl-install/share/rpmsrate,
+ perl-install/share/selected.png,
+ perl-install/share/semiselected.png,
+ perl-install/share/symlinks, perl-install/share/symlinks.x86_64,
+ perl-install/share/themes-blue.rc,
+ perl-install/share/themes-galaxy.rc,
+ perl-install/share/unselected.png, perl-install/share/upgrade:
+ create perl-install/install/share and
+ perl-install/install/pixmaps and use them
+
+2006-05-03 09:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/theme-editor.pl: our theme is quite simple
+ nowadays, no need for an editor
+
+2006-05-03 09:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/various.pm: propose to install
+ 915resolution when we detect a pb
+
+2006-05-03 08:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: we don't gzip pms anymore for a long time
+
+2006-05-02 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm,
+ perl-install/Xconfig/proprietary.pm: move back libgl_config() in
+ card.pm since it need to be called even on non
+ proprietary in case proprietary drivers are installed
+
+2006-05-02 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: configure
+ 915resolution when it is installed
+
+2006-05-02 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: don't use detailed_timing when
+ it is 640x480 or 800x600, since 14" CRTs often
+ give this even when they handle 1024x768 correctly (and desktop
+ is no good in
+ poor resolutions)
+
+2006-05-02 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm,
+ perl-install/standalone/bootloader-config: handle global vga= in
+ lilo.conf when creating bootsplash
+
+2006-05-02 12:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: simply & ugly dialog box
+ asking for checking bad blocks when formatting (only in expert)
+ (asked by Mat Nieuwenhoven)
+
+2006-05-02 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/install2.pm,
+ perl-install/install/interactive.pm: during install, $::expert
+ is now unset, except in diskdrake
+
+2006-05-02 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm, perl-install/fs/type.pm:
+ replace use of $::expert with parameter passing
+
+2006-05-02 11:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm,
+ perl-install/interactive.pm, perl-install/interactive/gtk.pm:
+ don't use $::expert to choose between SpinButton and HScale, use
+ {SpinButton}
+
+2006-05-02 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm, perl-install/Xconfig/various.pm,
+ perl-install/any.pm, perl-install/diskdrake/removable.pm,
+ perl-install/install/any.pm, perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/interactive/gtk.pm,
+ perl-install/modules/interactive.pm: drop remaining occurences
+ of $::expert outside of diskdrake
+
+2006-05-02 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/pkgs.pm: drop obsolete %ignoreBadPkg
+
+2006-05-02 10:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install/steps.pm: add {preInstallNonRooted} which
+ allows:
+
+
+ 'preInstallNonRooted' => '
+ cat > /mnt/etc/login.defs <<EOF
+ MAIL_DIR /var/spool/mail
+ PASS_MAX_DAYS 99999
+ PASS_MIN_DAYS 0
+ PASS_MIN_LEN 5
+ PASS_WARN_AGE 7
+ UID_MIN 100
+ UID_MAX 60000
+ GID_MIN 100
+ GID_MAX 60000
+ CREATE_HOME yes
+ EOF
+ '
+
+ so that users created during install (rpm, xfs, ssh) use a GID >
+ 100 instead of 500
+
+ (thanks to Philippe Libat)
+
+2006-04-28 17:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2006-04-28 17:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/gl.po, live/draklive-install/po/nl.po,
+ live/draklive-install/po/uk.po: updated Galician file
+
+2006-04-28 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/partition_table/mac.pm: use
+ $bootloader::new_bootstrap instead of
+ $install_steps_interactive::new_bootstrap
+
+2006-04-28 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.config,
+ perl-install/any.pm, perl-install/commands,
+ perl-install/commands.pm, perl-install/crypto.pm,
+ perl-install/diskdrake/interactive.pm, perl-install/do_pkgs.pm,
+ perl-install/fs/mount.pm, perl-install/ftp.pm,
+ perl-install/help.pm, perl-install/http.pm,
+ perl-install/install, perl-install/install/any.pm,
+ perl-install/install/commands, perl-install/install/commands.pm,
+ perl-install/install/crypto.pm, perl-install/install/ftp.pm,
+ perl-install/install/gtk.pm, perl-install/install/help.pm,
+ perl-install/install/http.pm, perl-install/install/install2,
+ perl-install/install/install2.pm,
+ perl-install/install/interactive.pm,
+ perl-install/install/pkgs.pm, perl-install/install/steps.pm,
+ perl-install/install/steps_auto_install.pm,
+ perl-install/install/steps_gtk.pm,
+ perl-install/install/steps_interactive.pm,
+ perl-install/install/steps_list.pm,
+ perl-install/install/steps_newt.pm,
+ perl-install/install/steps_stdio.pm, perl-install/install2,
+ perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_gtk.pm,
+ perl-install/install_interactive.pm,
+ perl-install/install_messages.pm, perl-install/install_steps.pm,
+ perl-install/install_steps_auto_install.pm,
+ perl-install/install_steps_gtk.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/install_steps_newt.pm,
+ perl-install/install_steps_stdio.pm,
+ perl-install/interactive.pm, perl-install/messages.pm,
+ perl-install/modules.pm, perl-install/mygtk2.pm,
+ perl-install/pkgs.pm, perl-install/share/aliases,
+ perl-install/steps.pm: move install modules in install::
+
+ we now have any.pm & install/any.pm,
+ and also interactive.pm & install/interactive.pm &
+ diskdrake/interactive.pm,
+ hint for emacs: use (setq uniquify-buffer-name-style (quote
+ forward) nil (uniquify))
+ to not get lost with any.pm and any.pm<2>
+
+2006-04-28 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: don't use commands.pm,
+ it's only for install
+
+2006-04-28 13:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/drakxtools.spec: Release 10.4.20-1mdk
+
+2006-04-28 10:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uz@Latn.po: fixed encoding
+
+2006-04-28 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po:
+ update (Mashrab Kuvatov)
+
+2006-04-28 09:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm,
+ perl-install/printer/printerdrake.pm: - Avoid one and the same
+ printer appearing twice in auto-detection
+ results (especially HP printers are detected by both "hp" and
+ "usb"
+ CUPS backends).
+
+2006-04-28 09:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker compliance
+
+2006-04-27 21:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Fixed Plug'n'Print for
+ HP's MF devices: The devices are detected
+ twice and this let the Plug'n'Print window pop up when the
+ device is
+ already installed.
+
+2006-04-27 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow modifying xen options (esp. dom0_mem)
+
+2006-04-27 16:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - use the short_ext even for the
+ short label
+ - for xen kernels, use xen.gz to load the kernel as grub "module"
+ - set dom0_mem to 128M or half the memory on low memory boxes
+
+2006-04-27 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: separate the xen loader from its
+ arguments in AST
+
+2006-04-27 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: make the "module" thingie for xen
+ more standard in our data-structure
+ (eg: allowing drakboot to modify the kernel used)
+
+2006-04-27 15:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: (test_mouse_install) do not display
+ "cancel" button while testing the
+ mouse since it doesn't work
+
+2006-04-27 14:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: (test_mouse_install) display a title in
+ the banner while testing the mouse
+
+2006-04-27 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml, tools/install-xml-file-list: we
+ need tls on x86_64, but we don't need both tls and non tls
+
+2006-04-27 14:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/drakxtools.spec: Spec file for 10.4.19-1mdk
+
+2006-04-27 14:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - New "Network printer"
+ dialog replacing the old dialogs for
+ TCP/Socket and remote LPD printers. With fast broadcast SBNP
+ network
+ scan and auto-detection of protocol (Socket, LPD, and IPP) via
+ SNMP.
+ - New dialog used in both expert and recommended (bug #20617)
+ mode.
+
+2006-04-27 14:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * Makefile: (install_only) fix installing DrakX when /export is
+ not on the sources' fs
+
+2006-04-27 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/list.xml: add a comment about the need of TLS
+
+2006-04-27 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/list.xml: fix again cooker/x86_64; on this
+ architecture, we definitively need
+ TLS in order to have a working rpm
+
+2006-04-27 08:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: restore IgnoreEDID for
+ legacy nvidia
+
+2006-04-27 08:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm,
+ perl-install/Xconfig/proprietary.pm,
+ perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/xfree.pm: allow forcing Modes instead of
+ Virtual, and use it for non-legacy nvidia drivers (which do not
+ like Virtual)
+
+2006-04-27 00:23 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: remove duplicate modules
+
+2006-04-26 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: use more network modules on sparc (Per
+ Øyvind Karlsen)
+
+2006-04-26 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: comment why bsd_glob is
+ useful here
+
+2006-04-26 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksec: use
+ ugtk2::markup_to_TextView_format
+ * perl-install/ugtk2.pm: add ability to give more attributes (used
+ in draksec)
+
+2006-04-26 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm, perl-install/interactive/gtk.pm,
+ perl-install/ugtk2.pm: allow giving text with <b> tags and the
+ like
+
+2006-04-26 15:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: if the markup doesn't work, set text
+ directly
+ (this allow using markup everywhere, with a fallback in case of
+ pb)
+
+2006-04-26 15:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Small fix
+
+2006-04-26 14:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - SNMP auto-detection in
+ the remote LPD printer dialog
+ - Fixed regexps for LPD and Socket URIs
+
+2006-04-26 12:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Use auto-detection via
+ CUPS "snmp" backend also for interactive
+ print queue setup.
+
+2006-04-26 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/interactive_http/interactive_http.cgi:
+ minimal fix
+
+2006-04-26 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: simplify
+
+2006-04-26 08:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Let auto queue setup
+ only be done for local printers
+
+2006-04-26 08:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed regexps to determine network
+ printer URIs and their host names/IPs.
+
+2006-04-25 19:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Added support for local
+ and network device auto-detection via CUPS
+ backends
+ - Made auto queue setup use the CUPS backends for detecting
+ local and
+ network devices
+ - Improved recognizing the correct printer model based on the
+ auto-detection data, especially for network devices
+ - Improved recognition whether for an auto-detected device there
+ is
+ already a queue
+ - Improved device model recognition for the HPLIP setup
+
+2006-04-25 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: - new functions: get_Revision(),
+ set_Revision()
+ - call set_Revision() to put the revision number in our header
+
+2006-04-25 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: revert debug stuff wrongly
+ committed :-(
+
+2006-04-25 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add revision in generated header
+ (allowing versioning config file and so proper upgrade)
+
+2006-04-25 10:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: - drop the handling of ext_name (was
+ only used by Xconfig/card.pm, now unused), it's much clearer now
+ - comment the function
+
+2006-04-25 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm,
+ perl-install/Xconfig/proprietary.pm: - move libgl_config to
+ proprietary.pm
+ - move nvidia/fglrx special code to
+ Xconfig::proprietary::pkgs_for_Driver2() and
+ Xconfig::proprietary::may_use_Driver2(
+ (and modernize the code)
+ - don't use the 3rd arg of check_kernel_module_packages (much
+ clearer, and allow its simplification)
+
+2006-04-25 09:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm, perl-install/authentication.pm: factorize
+ password checking in authentication::check_given_password()
+ (can be re-used to write a simple dialog box asking for a user
+ password)
+
+2006-04-25 07:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: skip File::Glob
+
+2006-04-25 01:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Some HP printers have a trailing
+ underscore in the model name of
+ their HPLIP device URI. This mismatches the data in HPLIP's
+ models.xml. Applied workaround.
+
+2006-04-25 00:28 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Made sure that fax queue
+ is generated on a non-fax HP device
+
+2006-04-24 22:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Removed a "Please wait"
+ window before opening another one.
+
+2006-04-24 21:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Support for on-the-fly
+ PPD generation by CUPS
+ - Get all info about supported printer models from CUPS if CUPS
+ is the
+ printing system in use. Foomatic PPDs are built by CUPS
+ on-the-fly
+ - Speed optimization for building of the list of supported models
+ - Bug fixes for building of the list of supported models
+
+2006-04-24 20:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: enable qt-immmodule with oxim
+
+2006-04-24 20:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add a reminder for qt im-module support
+ with oxim
+ * perl-install/lang.pm: setup XIM for oxim (Funda Wang)
+
+2006-04-24 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/obj_gpl_license.c: missing sparc
+ fixes bits (from Per Øyvind Karlsen)
+
+2006-04-24 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * rescue/list.xml: no sfdisk on sparc neither (Per Øyvind Karlsen)
+
+2006-04-24 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: really add kdeaddons-akregator
+ (allow viewing RSS in konqueror)
+
+2006-04-24 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add bcm43xx in network/wireless
+
+2006-04-24 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove require kdeaddons-akregator
+ which is already required by kdepim-kontact
+
+2006-04-24 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: add missing utf_yo
+
+2006-04-24 10:51 Pixel <pixel at mandriva.com>
+
+ * Makefile: do commit ChangeLog after svn2cl
+ * ChangeLog:
+
+2006-04-24 08:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: more explainations
+
+2006-04-24 07:43 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: make it possible to choose alternate
+ kernel repositories (kernel/.repository) (from 2006 branch, by
+ gb)
+
+2006-04-24 07:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kdeaddons-akregator (requested
+ by Nicolas Lecureuil (neoclust))
+
+2006-04-24 00:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm: - Added "lpinfo_lm" function which
+ uses the "lpinfo -l -m" command
+ line of CUPS 1.2 to get a list of all available PPDs including
+ on-the-fly-generated ones.
+
+2006-04-24 07:43 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: make it possible to choose alternate
+ kernel repositories (kernel/.repository) (from 2006 branch, by
+ gb)
+
+2006-04-24 07:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kdeaddons-akregator (requested
+ by Nicolas Lecureuil (neoclust))
+
+2006-04-24 00:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm: - Added "lpinfo_lm" function which
+ uses the "lpinfo -l -m" command
+ line of CUPS 1.2 to get a list of all available PPDs including
+ on-the-fly-generated ones.
+
+2006-04-23 23:28 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Tell user that for his
+ HP MF device two queues will be set up, a
+ print queue and a fax queue
+ - Give the possibility to cancel the print queue setup for only
+ having
+ a fax queue also during installation
+
+2006-04-23 23:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Upload it really
+
+2006-04-23 23:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Let auto-queue setup of an HP MF
+ device be done also when there is
+ no print queue but a fax queue already exists
+ - Let auto-queue setup not create a second fax queue for an HP MF
+ device if a fax queue already exists
+ - Make the fax queue setup for HP MF devices also work when
+ there is
+ no print queue for the device
+ - Ask always for the fax queue name when creating a fax queue and
+ there is already one for the device
+ - When the user clicks "Cancel" during the print queue setup, the
+ wizard for the fax queue is still started. So a fax-only setup
+ is
+ also possible.
+
+2006-04-23 21:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed cancelling of Add
+ Fax Wizard
+
+2006-04-23 20:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Now fax queues can also
+ be added in wizard mode
+ - Adding a fax queue to an HP MF device which is already set up
+ can be
+ done by its "Edit Printer" menu
+ - Some clean-up and minor fixes
+
+2006-04-23 03:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Removed some more
+ testing code
+
+2006-04-23 03:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Removed a modification
+ which was only for testing.
+
+2006-04-23 03:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Implementation of
+ automatic setup of fax queues for HP
+ multi-function devices. Works for plug'n'print and should also
+ work
+ during installation. Only integration into the printer setup
+ wizard
+ and manual fax queue setup is missing yet.
+
+2006-04-22 21:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Reload USB printer module
+ before printer auto-detection, this way
+ also USB printers clamed by libusb-based access methods (ex.
+ HPLIP)
+ get detected.
+
+2006-04-22 18:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Added support for new
+ CUPS 1.2 error policy functionality and use it
+ by default for backend error handling, use "beh" wrapper
+ backend
+ only for advanced configuration
+ - Added support for individually (de)activating the sharing of
+ print
+ queues to the network
+ - Display Fax queues for HP multi-function devices correctly in
+ the
+ main window and in menues
+
+2006-04-22 07:43 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: Updated POT file.
+
+2006-04-22 01:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Let printerdrake read
+ /etc/cups/cupsd.conf of CUPS 1.2 correctly
+
+2006-04-21 23:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Added support for remote
+ LPD URIs without queue name (uses default
+ queue on server, makes setup of ethernet printers very easy as
+ only
+ IP address is needed, one needs queue field in remote LPD setup
+ screen siumply blank)
+ - Added support for TCP/Socket URIs without port number
+ (defaults to
+ port 9100)
+ - Added support for IPP URIs.
+ - Let free URI input interface be pre-selected if user changes
+ connection type of printer with unknown or unsupported URI type
+
+2006-04-21 17:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm: - Let CUPS not be
+ restarted for new PPD files or new devices/URIS,
+ this is not needed any more by CUPS 1.2.
+
+2006-04-21 14:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Moved re-enabling of
+ disabled queues when plugging printers from
+ /etc/dynamic/scripts/lp.script to printerdrake
+
+2006-04-19 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: force install of the
+ ieee80211-kernel package matching the current kernel
+
+2006-04-19 17:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to install multiple
+ kernel packages
+
+2006-04-19 16:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: install ipw3945 kernel
+ package
+
+2006-04-19 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add support for OXIM input method
+
+2006-04-19 14:11 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: apply patches and install files after the
+ configuration is cleaned to allow special configuration files
+ (especially modprobe.preload)
+
+2006-04-18 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: the ipw3945d daemon doesn't
+ create the interface immediately, give it some time (2 seconds
+ should be enough)
+
+2006-04-18 16:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to sleep if the
+ installed tools aren't as fast and responsive as drakconnect
+
+2006-04-18 16:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: ipw3945 support (install
+ firmware and ipw3945 daemon)
+
+2006-04-18 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: use bsd_glob without flags
+ so that it works for both patterns and raw filenames
+
+2006-04-18 14:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: fix signal quality detection
+
+2006-04-18 09:52 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fix yet another buffer overflow...
+ (frontport of 2006.0, from Gwenole Beauchesne)
+
+2006-04-18 09:50 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: Get full descriptions (including blanks
+ in there) -- cosmetic bug fix (frontport of 2006.0, from Gwenole
+ Beauchesne)
+
+2006-04-18 09:48 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/tools.c: fix long standing bug that could cause some
+ weird crashes and, as I am cursed
+ I hit those cases... (frontport, from Gwenole Beauchesne)
+
+2006-04-14 19:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update ADSL provider DB
+ (Benoit Audouard)
+
+2006-04-12 12:53 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: Workaround probing_detect_devices() with
+ longish /proc/bus/pci/devices lines.
+
+ The proper fix would be to use fgets() and sscanf() when buf[]
+ is readjusted
+ if '\n' was got, so that to insure that buf[] always contains
+ the start of a
+ new line.
+
+ (from Gwenole Beauchesne, front-ported from 2006.0)
+
+2006-04-12 12:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c, mdk-stage1/probing.h,
+ mdk-stage1/thirdparty.c: Handle subvendor & subdevice in
+ thirdparty pcitable loader. Also fix possible buffer overflow.
+ (from Gwenole Beauchesne)
+
+2006-04-12 10:36 mmodem
+
+ * perl-install/share/po/fr.po: Add full copyright years
+
+2006-04-10 13:09 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't copy boot files at media root when using
+ grub
+
+2006-04-07 14:24 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't force acpi=ht, defaulting to kernel default
+ (ie acpi=on)
+
+2006-04-07 13:58 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl, kernel/update_kernel: use kernel-BOOT from
+ 2006.0 (2006.0 is still supported, more recent than 10.1, and
+ still provide an interesting (?) alt1 kernel)
+
+2006-04-07 13:39 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: don't die at each error, but report
+ all the errors before dying
+
+2006-04-07 12:44 Pixel <pixel at mandriva.com>
+
+ * Makefile: missing cvs -kb not needed on svn
+
+2006-04-07 12:43 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, perl-install/Makefile,
+ perl-install/install_any.pm, perl-install/share/list.xml: switch
+ VERSION generation to SVN
+
+2006-04-07 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: disable "wen" until we have a
+ perl-install/pixmaps/langs/lang-wen.png for it
+
+2006-04-07 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: vol_id is a symlink, we don't want
+ it to be a symlink (!! need a modification in
+ install-xml-file-list)
+
+2006-04-07 12:29 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: vol_id is a symlink, we don't want it to be a
+ symlink (!! need a modification in install-xml-file-list)
+
+2006-04-07 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: a pkg must appear only once
+ (fonts-ttf-free did not)
+
+2006-04-07 13:58 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl, kernel/update_kernel: use kernel-BOOT from
+ 2006.0 (2006.0 is still supported, more recent than 10.1, and
+ still provide an interesting (?) alt1 kernel)
+
+2006-04-07 13:39 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: don't die at each error, but report
+ all the errors before dying
+
+2006-04-07 12:44 Pixel <pixel at mandriva.com>
+
+ * Makefile: missing cvs -kb not needed on svn
+
+2006-04-07 12:43 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, perl-install/Makefile,
+ perl-install/install_any.pm, perl-install/share/list.xml: switch
+ VERSION generation to SVN
+
+2006-04-07 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: disable "wen" until we have a
+ perl-install/pixmaps/langs/lang-wen.png for it
+
+2006-04-07 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: vol_id is a symlink, we don't want
+ it to be a symlink (!! need a modification in
+ install-xml-file-list)
+
+2006-04-07 12:29 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: vol_id is a symlink, we don't want it to be a
+ symlink (!! need a modification in install-xml-file-list)
+
+2006-04-07 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: a pkg must appear only once
+ (fonts-ttf-free did not)
+
+2006-04-07 11:01 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: allow setting copy mode to
+ dereference in expand="binary"
+
+2006-04-07 09:58 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: since the BOOT kernel in cooker can't be
+ used (too big) for some time, handle
+ in the code the getting of 10.1 BOOT kernel (i was replacing by
+ hand the
+ cooker kernel-BOOT with the one from 10.1, hoping one day the
+ cooker
+ kernel-BOOT could be used again, but nowadays kernel-BOOT is
+ seldom used to
+ let it die)
+
+2006-04-06 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: run busybox from chroot to get busybox functions
+ list, since it may not be present on build host
+
+2006-04-06 18:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: typo fix
+
+2006-04-06 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2006-04-06 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use grub for USB devices
+
+2006-04-06 14:31 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: cleanup
+
+2006-04-06 12:34 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: add vol_id (needed by libDrakX)
+
+2006-04-06 10:06 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: preselect guest user in kdm
+
+2006-04-06 10:05 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/config/local_cfg: add
+ required settings to build live on usb media
+
+2006-04-06 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: install busybox in live system
+
+2006-04-06 09:57 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to use ext3 as well as ext2 for master
+ images
+
+2006-04-06 09:53 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: preselect user in kdm only if specified
+
+2006-04-05 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.18-1mdk
+
+2006-04-05 15:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: enhance net zone selection
+ message
+
+2006-04-05 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm,
+ perl-install/standalone/drakgw: allow to have multiple
+ interfaces in net zone (#16917)
+ * perl-install/network/tools.pm: add get_interface_description
+
+2006-04-05 13:36 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: don't try to find unused modules on sparc
+ (occured when flatten_and_check()ing list of modules to be
+ skipped)
+
+2006-04-05 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: fix debug info
+
+2006-04-05 07:46 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile.common, mdk-stage1/insmod-modutils/insmod.c,
+ mdk-stage1/insmod-modutils/obj/Makefile: sparc fixes (from Per
+ Øyvind Karlsen)
+
+2006-04-03 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: write shorewall rules in
+ rules.drakx and allow user modifications to be kept in
+ /etc/shorewall/rules (ask for confirmation if needed)
+
+2006-04-03 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: allow to use interactive
+ when shorewall config is written
+
+2006-04-03 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.17-1mdk
+
+2006-04-03 15:59 Pixel <pixel at mandriva.com>
+
+ * ChangeLog, Makefile, perl-install/ChangeLog,
+ tools/addchangelog.pl, tools/cvslog2changelog.pl,
+ tools/mailchangelog.pl: - use svn2cl to generate changelog
+ - don't mail added part anymore, rely on mail sent on commit of
+ Changelog
+ - add Changelog built mostly using cvs2cl, but keeping things
+ historically added by hand in perl-install/ChangeLog
+
+2006-04-03 15:56 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: fix typo
+
+2006-04-03 14:56 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: check for kdmrc in chroot
+
+2006-04-03 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: adapt the description of
+ "users" to its use (thanks to fabrice)
+
+2006-04-03 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install:
+
+2006-04-03 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: adapt the description of
+ "users" to its use (thanks to fabrice)
+
+2006-04-03 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install:
+
+2006-04-03 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/list_modules.pm: svn handles
+ symlinks :-)
+
+2006-04-03 12:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/perl2etags: etags from
+ emacs-snapshot handles perl nicely, no need for post-processing
+
+2006-04-03 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: in case of /dev/root, the
+ matching with the real device name will be done on major/minor
+
+2006-04-03 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: as noticed in bug #21828, the
+ "user" option has no help anymore. fixing by
+ having help on both users and user.
+
+2006-04-03 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs,
+ perl-install/standalone/draksambashare: display banners while
+ embedded since mcc doesn't care of it because these apps
+ provide their own menu bar
+
+2006-04-03 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/9.1,
+ perl-install/patch/patch-2006-auto_install_LDAP_auth.pl,
+ perl-install/patch/patch-2006-new-dmraid.pl,
+ perl-install/patch/patch-9.0-auto-inst-network-config.pl,
+ perl-install/patch/patch-IMPS2.pl,
+ perl-install/patch/patch-da.pl,
+ perl-install/patch/patch-nforce.pl,
+ perl-install/patch/patch-oem-9.0.pl,
+ perl-install/patch/patch-oem-hp.pl,
+ perl-install/patch/patch-raidtab.pl,
+ perl-install/patch/patch-rh9-mdk10.pl,
+ perl-install/patch/patch-stage2-updatemodules.pl,
+ perl-install/patch/rpmsrate.oem-9.0-openoffice,
+ perl-install/patch/rpmsrate.oem-9.0-staroffice: patches must be
+ in their branches, not trunk
+
+2006-04-03 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: gasp, fixing previous commit:
+ function suggest_mount_points() already existed :-(
+
+2006-04-03 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/c:
+
+2006-04-03 07:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: automatically install acpi and acpid when
+ needed (bug introduced in 03/2006) (#21809)
+
+2006-03-31 16:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: create function
+ suggest_mount_points from getHds, and don't call it on
+ local_install (otherwise the windows partition gets mounted in
+ drakx-in-chroot, and then ugly things can happen...)
+
+2006-03-31 16:03 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: in the chroot, we have no way to know
+ which device corresponds to the "/" partition.
+ so helping it by giving the device which provide major/minor
+ information
+
+2006-03-31 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: don't set keyboard on local_install
+
+2006-03-31 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: nomouseprobe on local_install
+
+2006-03-31 14:15 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: if the DISPLAY is remote, we may need to
+ resolve the name
+
+2006-03-31 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: /usr/bin/rpm doesn't exist,
+ /bin/rpm does
+
+2006-03-30 17:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add "Germany|Alice DSL"
+ provider (Gotz Waschk, #21786)
+
+2006-03-28 19:05 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: wait some minutes for the sync to be done when
+ umounting USB devices (avoid corrupted transfers)
+
+2006-03-28 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.16-1mdk
+
+2006-03-28 11:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.15-1mdk
+
+2006-03-27 16:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix typo
+
+2006-03-27 16:01 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: try to get size in bytes from human-readable size
+
+2006-03-27 15:57 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: mkdosfs wants block count, not size
+
+2006-03-27 15:44 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: fix typo in previous commit
+
+2006-03-27 13:44 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: blacklist .svn instead of CVS
+
+2006-03-27 12:44 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: update (bdflush) is deprecated
+
+2006-03-27 10:13 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: use BOX= on command line
+
+2006-03-24 16:04 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to create usb master (live.img)
+
+2006-03-24 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to record usb master to an optionnal
+ file/device, and mount it as loopback if needed
+
+2006-03-24 16:00 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: move label code in set_device_label and allow to
+ label ext2
+
+2006-03-24 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: ext2 is built-in, don't try to find a kernel
+ module for it (useful if boot partition is ext2)
+
+2006-03-24 15:57 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: factorize fs creation in device_mkfs, and allow
+ to specify fs size for vfat
+
+2006-03-24 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use real file size when specifying loopback size
+
+2006-03-24 12:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: * corrected locale for Berber (ber_MA),
+ Filipino (fil_PH), Swati (ss_ZA),
+ Venda (ve_ZA), Uyghur (ug_CN)
+ * added install choice for new languages: Ndebele (nr), Tswana
+ (tn),
+ Tsonga (ts), Northern Sotho (nso), Dzongkha (dz), Hausa (ha),
+ Igbo (ig),
+ Yoruba (yo), Kazakh (kk), Birman (my), Kinyarwanda (rw),
+ Somali (so)
+ * synchronized locales and kde-i18n lists;
+ * use encoding="UTF-8" in locale-policy.fdi
+ * perl-install/pixmaps/langs/lang-dz.png,
+ perl-install/pixmaps/langs/lang-fil.png,
+ perl-install/pixmaps/langs/lang-ha.png,
+ perl-install/pixmaps/langs/lang-ig.png,
+ perl-install/pixmaps/langs/lang-my.png,
+ perl-install/pixmaps/langs/lang-nr.png,
+ perl-install/pixmaps/langs/lang-nso.png,
+ perl-install/pixmaps/langs/lang-ph.png,
+ perl-install/pixmaps/langs/lang-rw.png,
+ perl-install/pixmaps/langs/lang-so.png,
+ perl-install/pixmaps/langs/lang-tn.png,
+ perl-install/pixmaps/langs/lang-ts.png,
+ perl-install/pixmaps/langs/lang-yo.png: Images of new language
+ names (for language selection menu)
+
+2006-03-23 12:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: fonts-ttf-{gb2312,big5} no longer
+ exist (superceded with new fonts-ttf-chinese)
+
+2006-03-23 12:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm, perl-install/share/rpmsrate: changed
+ default sans serif font for Armenian;
+ made various locales request fonts-ttf-free
+
+2006-03-23 11:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed default KDE fonts for Greek, Azeri
+ and Hebrew (to FreeSans/FreeMono)
+ and for cyrillic mono (to Nimbus Mono L)
+
+2006-03-23 02:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-03-23 01:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po, perl-install/share/po/fr.po: update
+
+2006-03-23 01:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: (get_items) resuse an
+ existing string
+
+2006-03-23 00:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-03-23 00:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/help.pm: (doPartitionDisks) typo fix
+
+2006-03-23 00:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/help.pm: (doPartitionDisks) fix encoding
+
+2006-03-23 00:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs,
+ perl-install/standalone/draksambashare: add shortcuts for exit
+
+2006-03-23 00:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs,
+ perl-install/standalone/draksambashare: fix untranslatable
+ strings in menus (reuse some existing strings btw)
+
+2006-03-23 00:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (remove_fonts) replace a not
+ easy to translate string by another one
+
+2006-03-23 00:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: always use the same
+ standard verbs on buttons on all three tabs of the
+ notebook (what's more, these buttons could have been quite large
+ when
+ translated)
+
+2006-03-23 00:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: (add_entry) fix an
+ untranslatable string
+ * perl-install/standalone/draksambashare: always display buttons
+ in the same oder (add/alter/remove) on all
+ three tabs of the notebook
+
+2006-03-23 00:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: show the same "remove"
+ button on all three tabs of the notebook
+
+2006-03-23 00:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/help.pm: share an existing string
+
+2006-03-23 00:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add a comment about
+ strange GUI
+
+2006-03-23 00:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: perl_checker cleanups (removing
+ unused not translated strings, a model
+ isn't a widget, ...)
+
+2006-03-23 00:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm,
+ perl-install/standalone/draknfs,
+ perl-install/standalone/draksambashare: enforce mandriva policy
+ (aka no stock icons)
+
+2006-03-23 00:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: use standard titles for error
+ messages
+
+2006-03-23 00:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix one more untranslatable
+ entry
+
+2006-03-23 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: use _create_dialog() the proper
+ way
+
+2006-03-23 00:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (add_modify_entry)
+ set_resizable(1) is the default
+ * perl-install/standalone/draknfs: fix untranslatable string
+
+2006-03-23 00:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (get_user_or_group) simplify
+
+2006-03-22 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: (add_printers_entry)
+ enable to get exit that wizard: by default all
+ printers are already availlable in samba and thus one could
+ neither
+ cancel the wizard nor going forward :-(
+
+2006-03-22 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix hiding main window
+ when adding a printer while embedded in MCC
+
+2006-03-22 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.14-1mdk
+ * perl-install/share/po/br.po: update
+
+2006-03-22 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2006-03-22 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pa_IN.po, perl-install/share/po/pl.po,
+ perl-install/share/po/pt.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/ro.po, perl-install/share/po/ru.po,
+ perl-install/share/po/sc.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po: sync with code
+
+2006-03-22 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: (manual) let's be smarter
+ with translators...
+
+2006-03-22 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: perl_checker cleanups
+
+2006-03-22 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: (get_user) simplify and
+ make it readable
+
+2006-03-22 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: (modify_printers_entry)
+ set_resizable(1) is the default
+ * perl-install/standalone/draksambashare: use _create_dialog() the
+ proper way
+
+2006-03-22 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix untranslatable string
+
+2006-03-22 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix obvious bug #20295
+
+2006-03-22 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: as reported by John Keller, install
+ emacs-nox instead of emacs-X11 when no X
+
+2006-03-21 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (tar) fix build now that we switched from
+ CVS to SVN
+
+2006-03-21 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: fix comment
+ * kernel/list_modules.pm: add new PATA drivers
+
+2006-03-21 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: s/10.4.13-1mdk/10.4.12-1mdk/ :
+ 10.4.12-1mdk never was released so
+ let's merge their changelogs
+
+2006-03-21 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.14-1mdk
+
+2006-03-21 11:41 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove incongruous test
+
+2006-03-21 11:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use lib64 when needed and take binaries from
+ system chroot
+
+2006-03-21 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: copy libc if needed only
+
+2006-03-21 11:01 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use nash from system chroot
+
+2006-03-21 10:59 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: always create symlinks for busybox functions
+
+2006-03-21 10:56 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use busybox to mount NFS with nolock
+
+2006-03-21 10:48 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use losetup from busybox (it handles read-only
+ fine)
+
+2006-03-21 09:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: don't loop when dmidecode
+ returns only "# No SMBBIOS nor DMI entry point found, sorry."
+ (thanks to pterjan)
+
+2006-03-20 12:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (appli_choice) properly
+ display the warning (no more spurious carriage return)
+
+2006-03-20 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (license_msg) alter it: return
+ the string, don't print it (let callers do it),
+ thus fixing a layout bug in appli_choice()
+
+2006-03-20 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install LyX under KDE and lyx-gtk
+ under other desktops
+ * perl-install/standalone/drakfont: merge 2 strings by reusing
+ common one from standalone.pm
+
+2006-03-20 10:29 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't use tls libraries (#21683)
+
+2006-03-20 10:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: spell checking
+
+2006-03-17 07:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: comment krb5_conf_file and its
+ link with update_gnomekderc
+
+2006-03-16 16:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm, perl-install/share/keyboards.tar.bz2:
+ Added two keyboards ("ng" and "mao");
+ renamed various xmodmap files so that they match, when possible,
+ the xkb names used by X11
+
+2006-03-16 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install emacs-X11 under KDE
+ and GNOME
+
+2006-03-16 00:06 stewb
+
+ * perl-install/standalone/drakTermServ: Enable TS2/unionfs mode -
+ kernel support is present
+
+2006-03-15 11:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: get unionfs-tools from install
+ media
+
+2006-03-15 11:57 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: don't use local unionfs packages
+ (available in cooker kernel now),
+ urpmi/rpmdrake/mdkonline/drakxtools packages (should be updated
+ in cooker)
+
+2006-03-15 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: use engine xine for amarok, no more
+ arts (engine arts removed upstream)
+
+2006-03-15 10:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm, perl-install/share/po/DrakX.pot,
+ perl-install/share/po/af.po, perl-install/share/po/am.po,
+ perl-install/share/po/ar.po, perl-install/share/po/az.po,
+ perl-install/share/po/be.po, perl-install/share/po/bg.po,
+ perl-install/share/po/bn.po, perl-install/share/po/br.po,
+ perl-install/share/po/bs.po, perl-install/share/po/ca.po,
+ perl-install/share/po/cs.po, perl-install/share/po/cy.po,
+ perl-install/share/po/da.po, perl-install/share/po/de.po,
+ perl-install/share/po/el.po, perl-install/share/po/eo.po,
+ perl-install/share/po/es.po, perl-install/share/po/et.po,
+ perl-install/share/po/eu.po, perl-install/share/po/fa.po,
+ perl-install/share/po/fi.po, perl-install/share/po/fr.po,
+ perl-install/share/po/fur.po, perl-install/share/po/ga.po,
+ perl-install/share/po/gl.po, perl-install/share/po/he.po,
+ perl-install/share/po/hi.po, perl-install/share/po/hr.po,
+ perl-install/share/po/hu.po, perl-install/share/po/id.po,
+ perl-install/share/po/is.po, perl-install/share/po/it.po,
+ perl-install/share/po/ja.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po,
+ perl-install/share/po/zh_CN.po, perl-install/share/po/zh_TW.po:
+ typo fixes (extra trailling spaces)
+
+2006-03-15 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+ * perl-install/share/po/br.po, perl-install/share/po/cy.po,
+ perl-install/share/po/ga.po: typo fixes
+
+2006-03-14 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: fix spaces
+
+2006-03-14 18:55 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg: don't set default kernel, it's
+ automatic now
+
+2006-03-14 18:54 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: log kernel version
+
+2006-03-14 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: automatically find a default kernel if not
+ specified
+
+2006-03-14 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.13-1mdk
+
+2006-03-14 18:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: insteall modern pcmciautils instead
+ of deprecated pcmcia-cs since we
+ now have a 2.6.13+ kernel
+
+2006-03-14 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: try harder to have kate installed
+ under KDE (rather than eg emacs...)
+
+2006-03-14 17:46 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: add comment
+
+2006-03-14 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: hack to show the window
+ centered (useful if run in xsetup.d script)
+
+2006-03-14 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new shasta driver
+
+2006-03-14 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/local_cfg: remove 2006.0 references, use cooker
+ as example
+
+2006-03-14 16:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh po file
+
+2006-03-14 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: hardware categories should now
+ be automatically selected if build_live_system is set
+
+2006-03-14 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: automatically install multimedia
+ categories for live systems
+
+2006-03-14 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: automatically select
+ BURNER/DVD/PCMCIA/3D for live systems
+
+2006-03-14 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/live.cfg, live/One/config/patch-2006-live.pl:
+ remove install patch, should be in cooker installer now
+
+2006-03-14 15:38 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/config/auto_inst.cfg.pl: add useful auto_install
+ settings
+
+2006-03-14 15:17 Olivier Blin <oblin at mandriva.com>
+
+ * live/One, live/One_2006.0: move all One stuff to the One
+ top-directory
+
+2006-03-14 15:16 Olivier Blin <oblin at mandriva.com>
+
+ * live/One: remove duplicate files (my move became a copy)
+
+2006-03-14 15:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/One_2006.0: prepare restructuration for branching
+
+2006-03-14 14:53 Pixel <pixel at mandriva.com>
+
+ * docs/README: switch to SVN
+
+2006-03-14 14:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify, these types are
+ already filtered out by is_useful_interface()
+
+2006-03-14 14:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: move comments to a more
+ appropriate place
+
+2006-03-14 14:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm,
+ perl-install/network/ethernet.pm: rename getNet as
+ get_lan_interfaces
+
+2006-03-14 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: use passive form
+
+2006-03-14 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: s/StarOffice/OpenOffice.org/
+ (the former has died long ago)
+
+2006-03-14 14:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: map unconfigured interfaces
+ to their shorewall name as well
+
+2006-03-14 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fixes (missing/extra ending
+ spaces, ":", "...", "!", ...).
+ if the translator does need to fix a string (eg ":" in VF
+ instead of "." in VO,
+ then the english should be fixed instead)
+
+2006-03-14 14:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: try to use all undetected net
+ interfaces, not only LAN
+
+2006-03-14 14:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm,
+ perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ko.po,
+ perl-install/share/po/ky.po, perl-install/share/po/lt.po,
+ perl-install/share/po/ltg.po, perl-install/share/po/lv.po,
+ perl-install/share/po/mk.po, perl-install/share/po/mn.po,
+ perl-install/share/po/ms.po, perl-install/share/po/mt.po,
+ perl-install/share/po/nb.po, perl-install/share/po/nl.po,
+ perl-install/share/po/nn.po, perl-install/share/po/pa_IN.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sc.po,
+ perl-install/share/po/sk.po, perl-install/share/po/sl.po,
+ perl-install/share/po/sq.po, perl-install/share/po/sr.po,
+ perl-install/share/po/sr@Latn.po, perl-install/share/po/sv.po,
+ perl-install/share/po/ta.po, perl-install/share/po/tg.po,
+ perl-install/share/po/th.po, perl-install/share/po/tl.po,
+ perl-install/share/po/tr.po, perl-install/share/po/uk.po,
+ perl-install/share/po/uz.po, perl-install/share/po/uz@Latn.po,
+ perl-install/share/po/vi.po, perl-install/share/po/wa.po: make a
+ string looks more consistent, thus making the GUI more sensible
+ (anyway
+ half the translators already "fixed" that bug in their
+ translation by adding
+ the missing ending point.
+
+ we might prefer a ":" here though.
+
+2006-03-14 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: show the firewall
+ step in summary for dsl/ppp/isdn connections as well
+
+2006-03-14 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: remove unsynchronized network modules
+ hacks, we already set aliases when needed
+
+2006-03-14 14:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: force USB category selection for
+ live systems
+
+2006-03-14 13:56 Pixel <pixel at mandriva.com>
+
+ * mdv/soft, soft: well, mdv contains packages, so use /soft
+
+2006-03-14 13:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify
+ using modules::probe_category
+
+2006-03-14 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: allow to pass
+ langs to the installer
+ * perl-install/install2.pm,
+ perl-install/install_steps.pm: notify
+ deploy server before the real exitInstall step is call, in case
+ autoExitInstall is defined
+
+2006-03-13 18:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2006-03-13 16:37 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't vivify regions array
+
+2006-03-13 15:25 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, files/finish-install,
+ files/firstboot, files/kbluetoothdrc: move One specific stuff in
+ additional files
+
+2006-03-13 15:24 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove One specific stuff
+
+2006-03-13 15:17 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, files/halt.local: eject cd
+ media before halt/reboot
+
+2006-03-13 15:16 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: force perms
+
+2006-03-13 15:16 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: change system files option semantics (copy one
+ file only, but allow to set its permissions)
+
+2006-03-13 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: fix indentation
+
+2006-03-13 15:05 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: add shebang
+
+2006-03-13 14:34 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: new urpmi and gurpmi
+
+2006-03-13 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: AGP devices must be detected
+ prior to video cards because some DRM drivers doesn't like be
+ loaded after agpgart thus order in /etc/modprobe.preload is
+ important (modules.pm should enforce such sorting)
+
+2006-03-13 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: add a hint for translators
+
+2006-03-13 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: try being smarter for
+ translators...
+
+2006-03-13 13:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2006-03-13 12:23 Pixel <pixel at mandriva.com>
+
+ * Makefile: .dia files should be -kb
+
+2006-03-13 11:04 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * live/draklive-install/po/uk.po: uk tr-tion update
+
+2006-03-13 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: call expand_entry_symlinks() before
+ comparing with same_entries() (bugzilla #21566)
+
+2006-03-11 04:47 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-03-10 20:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: Better (and fix) SMP detection, aka.
+ also check for populated & enabled CPU socket.
+
+2006-03-10 19:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: add sata_nv
+
+2006-03-10 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: enable/start pcmcia service
+ if needed
+
+2006-03-10 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: disable pcmcia service at live
+ boot
+
+2006-03-10 16:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: enable/start pcmcia service
+ if needed
+
+2006-03-10 12:37 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/README: document how mkcd must be patched
+
+2006-03-10 12:36 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/mapping: modif needed to build ppc isos (10.1 and 10.2,
+ though this is only committed now)
+
+ anyway, should be moved to mkcd
+
+2006-03-10 12:32 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/yaboot: now taken from /usr/lib/yaboot/yaboot (from pkg
+ yaboot)
+
+2006-03-10 12:31 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/mkINSTALLCD: mkcd should be used instead
+
+2006-03-10 12:30 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/: mkhybrid-1.12b5.4, mkhybrid-1.12b5.4-x86: mkisofs can
+ do the job now
+
+2006-03-09 23:35 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * live/draklive-install/po/nl.po: * March 09 2006 Reinout van
+ Schouwen <reinout@cs.vu.nl>
+
+ nl.po: Updated Dutch translation of draklive-install
+
+2006-03-09 21:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: old XKB layouts no longer used
+
+2006-03-09 19:53 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: wait some seconds for the usb-stor-scan process
+ to be run
+
+2006-03-09 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't override programs we copy in initrd by
+ their busybox implementation
+
+2006-03-09 19:07 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to run syslinux without the "slow, safe,
+ stupid" workaround (using the "fast_syslinux" key in media hash)
+
+2006-03-09 18:47 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-03-09 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: add ppp-pppoatm (for
+ speedtouch modems)
+
+2006-03-09 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use "Active interfaces" menu
+ label for network interfaces list, and use checkboxes instead of
+ radio buttons (#18636)
+
+2006-03-09 16:30 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/Xpmac: Xpmac is no more used
+
+2006-03-09 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change in drakboot
+
+2006-03-09 16:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: add mptsas (ldetect-lst >= 0.1.114.2)
+
+2006-03-09 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.12-1mdk
+
+2006-03-09 16:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * docs/HACKING: add missing packages
+
+2006-03-09 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: fix typo
+
+2006-03-09 15:01 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: adapt to grub files in /lib/grub/*/
+
+2006-03-09 14:26 Pixel <pixel at mandriva.com>
+
+ * live/draklive-install/theme/: IC-installone-128.png,
+ IC-installone-16.png, IC-installone-24.png, IC-installone-32.png,
+ IC-installone-48.png, IC-installone-64.png: re-adding with -kb
+
+2006-03-09 14:26 Pixel <pixel at mandriva.com>
+
+ * live/draklive-install/theme/: IC-installone-128.png,
+ IC-installone-16.png, IC-installone-24.png, IC-installone-32.png,
+ IC-installone-48.png, IC-installone-64.png, IM-INSTALLCDONE.png:
+ removing for re-adding with -kb
+
+2006-03-09 14:24 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: now use mdkonline-2.0-2mdk
+
+2006-03-09 10:59 Pixel <pixel at mandriva.com>
+
+ * globetrotter/make_live: adapt to DOCS -> CAT_MINIMAL_DOCS switch
+
+2006-03-09 09:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: as suggested in bug #21524, display the info
+ on hard drives in the "boot device" choice
+
+2006-03-08 20:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: automatically put ppp/ippp
+ interfaces in local zone if needed (backport from HEAD)
+
+2006-03-08 20:19 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: fix typo, slmodem service is
+ named slmodemd
+
+2006-03-08 20:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't uselessly sleep for 15 seconds waiting for
+ usb-storage scan in initrd
+
+2006-03-08 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: automatically put ppp/ippp
+ interfaces in local zone if needed
+
+2006-03-08 17:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/: autoconf.pm: fix typo
+
+2006-03-08 17:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: timezone.pm, standalone/finish-install: reload sys
+ clock from hc once we know the real timezone (#21511)
+
+2006-03-08 17:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: enable kbluetoothd if
+ bluetooth is detected
+
+2006-03-08 16:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: enable kbluetoothd if
+ bluetooth is detected
+
+2006-03-08 16:37 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add fixme
+
+2006-03-08 16:35 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't start kbluetooth by default
+
+2006-03-08 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: don't include a320raid module
+
+2006-03-08 15:59 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: enable first boot wizard
+ at system boot
+
+2006-03-08 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: no more xpms in pixmaps/
+
+2006-03-08 14:55 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: adjust comments
+
+2006-03-08 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: this is redundant with: grep {
+ modules::probe_category("multimedia/$_") }
+ modules::sub_categories('multimedia')
+
+2006-03-08 13:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ share/rpmsrate: - rename DOCS to CAT_MINIMAL_DOCS - cuz
+ otherwise DOCS is a "always" flag and modifying it afterwise is
+ useless - CAT_DOCS would be not precise enough - simplify the
+ "changed" callback
+
+2006-03-08 12:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: enable back dkms service
+
+2006-03-08 12:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: disable dkms during live boot
+
+2006-03-08 12:26 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: disable bluetooth and laptop
+ specific services, they'll be enabled by harddrake if needed
+
+2006-03-08 12:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: properly handle switch between
+ nvidia & nvidia_legacy (backport from HEAD)
+
+2006-03-07 20:55 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-03-07 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix comment
+
+2006-03-07 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't check signatures when installing additional
+ packages, it's tricky because of media mix
+
+2006-03-07 20:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/devices.pm: add some useful devices for live systems
+ build (backport from HEAD, useful to build One right from 2006.0)
+
+2006-03-07 19:45 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Small changes
+
+2006-03-07 19:26 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add all additional media first, there may be some
+ interaction between them, and allow additional rpms to pull
+ dependencies from additional media
+
+2006-03-07 19:25 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: don't explicitely require
+ libstdc++5
+
+2006-03-07 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: add xmoto
+
+2006-03-07 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: name additionnal media
+
+2006-03-07 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, patches/Cards+.legacy.patch:
+ use nvidia legacy driver for GeForce3/4 (forget about
+ acceleration for FX/6800 series)
+
+2006-03-07 18:37 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: add RealPlayer and its plugins
+
+2006-03-07 18:20 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: last mdkonline is now 1mdk
+
+2006-03-07 16:31 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: libstdc++5 is required for ati
+ drivers
+
+2006-03-07 16:27 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/patch-2006-live.pl: don't create
+ (potentially broken) ld.so.conf.d files for X drivers
+
+2006-03-07 16:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: backport libgl_config fixes (a bit
+ late since already in drakxtools changelog since november...): -
+ handle nvidia_legacy - don't create broken ld.so.conf.d files
+ (and thus don't run ldconfig when not needed)
+
+2006-03-07 14:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, wa.po: updated Welsh and Walloon
+ files
+
+2006-03-07 14:19 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-03-07 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add hack to use supplementary media
+
+2006-03-07 12:39 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: die if additionnal system rpms can't be installed
+
+2006-03-07 12:38 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to add langs whatever the region
+
+2006-03-07 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: always add en_US lang
+
+2006-03-07 12:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/cy.po: updated po file
+
+2006-03-07 12:32 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/local_cfg: list BUILD_CDCOM setting
+
+2006-03-07 12:25 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: use commercial packages if
+ BUILD_CDCOM is true
+
+2006-03-07 12:20 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: space fixes
+
+2006-03-07 12:16 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: add new rpms for bundles and
+ rename occident in americas_western_europe
+
+2006-03-07 11:33 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Fixed errors due to not checking files on previous commit...
+
+2006-03-07 11:06 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest sync
+
+2006-03-07 10:18 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * live/draklive-install/po/is.po, perl-install/share/po/is.po:
+ Latest sync
+
+2006-03-06 21:35 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Small fixes for pt_BR.
+
+2006-03-06 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/rpmsrate: do not pull gftp for non-X
+ installs to please Pixel (even if One is not likely to run
+ without X)
+
+2006-03-06 18:09 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/rpmsrate: use gftp for KDE as well (kbear
+ crashes, #17297)
+
+2006-03-06 15:42 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: fix broken newline
+
+2006-03-06 11:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Fixed
+ Plug'n'Print: Name of user logged in on the desktop is in
+ /var/run/console/console.lock now.
+
+2006-03-05 20:56 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add md5sum to ISO header using mkdcd
+
+2006-03-05 20:55 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: simplify
+
+2006-03-05 20:37 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: bump draklive-install version
+
+2006-03-05 20:35 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-6mdk
+
+2006-03-05 20:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: allow to use grub as a
+ bootloader (#21318, fix typo)
+
+2006-03-05 19:45 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ soft/initscripts/po/da.po soft/mdkonline/po/da.po
+ soft/urpmi/po/da.po gi/perl-install/share/po/da.po
+
+2006-03-05 15:41 Marek Laane <bald at starman.ee>
+
+ * live/draklive-install/po/et.po, perl-install/share/po/et.po:
+ Updated Estonian translations.
+
+2006-03-05 12:29 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT
+ file.
+
+2006-03-05 08:35 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: patch to release name
+ must be applied to /etc/mandriva-release
+
+2006-03-04 19:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm: enable acpi/acpid services when needed,
+ disable them otherwise (#21316)
+
+2006-03-04 18:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/: resize_ntfs.pm: check for ntfsresize in
+ real root first
+
+2006-03-04 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/: auto_inst.cfg.pl, live.cfg: install acpi
+ and acpid, but don't enable them by default, drakboot will take
+ care of that
+
+2006-03-04 03:53 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-03-03 23:14 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: pt_BR 100% translated again ;)
+
+2006-03-03 21:03 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: make mount know about / in rc.sysinit
+
+2006-03-03 20:48 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: clean /etc/mdadm.conf as well
+
+2006-03-03 19:36 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: add megaide & a320raid
+
+2006-03-03 18:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: rpmsrate, rpmsrate.corpo-desktop,
+ rpmsrate.corpo-server: - add a320raid & megaide entries - install
+ icewm to handle the background image (-light version doesn't
+ handle png)
+
+2006-03-03 18:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/patches/lp.script.start.patch: check for cups
+ status before running it
+
+2006-03-03 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm, harddrake/data.pm,
+ standalone/service_harddrake: backport laptop/bluetooth/firewire
+ autoconf fixes/features from HEAD
+
+2006-03-03 18:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: disable numlock on laptops
+
+2006-03-03 18:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm,
+ standalone/service_harddrake: autoconf laptop services when
+ switching between laptop and desktop
+
+2006-03-03 18:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: keep
+ $hw_sysconfdir/kernel settings in a hash
+
+2006-03-03 18:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm,
+ standalone/service_harddrake, harddrake/data.pm: autoconf
+ bluetooth controllers (enable bluetooth service)
+
+2006-03-03 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: write modules_conf
+ when a firewire controller is detected
+
+2006-03-03 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: really detect firewire
+ controllers (fix typo)
+
+2006-03-03 17:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/patches/lp.script.start.patch: space fixes
+
+2006-03-03 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/pxe.pm: simplify (and please perl_checker)
+
+2006-03-03 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, patches/lp.script.start.patch:
+ automatically enable CUPS when a printer is detected
+
+2006-03-03 16:19 Pixel <pixel at mandriva.com>
+
+ * docs/: 9.0_errata.txt, 9.1_errata.txt, BUGS, TODO,
+ diskdrake.TODO, draknet_advanced_doc.txt, mdk-9.2, porting-ugtk,
+ spec-DrakX-8.0.html: remove obsolete docs
+
+2006-03-03 16:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: install rp-pppoe
+ (required for Ethernet modems)
+
+2006-03-03 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools,
+ detect_devices.pm, c/Makefile.PL, c/sbus.c, c/silo.c,
+ c/stuff.xs.pl: remove unused silo&sbus&prom stuff (was for sparc,
+ but untouched for more than 5 years and must be broken
+
+2006-03-03 15:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: remove "Teclado" prefix in pt_BR
+ translation (Till, #21265)
+
+2006-03-03 15:46 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: add ethtool (so that
+ sagem ethernet interfaces are not ifuped)
+
+2006-03-03 15:32 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * live/draklive-install/po/pt_BR.po: Better translation for reboot
+ msg.
+
+2006-03-03 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/ic82-systemeplus-40.png: many ic82-* are
+ still used (mostly by drakbackup), but this one is unused
+
+2006-03-03 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: stock_cancel.xpm, stock_exit.xpm,
+ stock_left.xpm, stock_ok.xpm, stock_right.xpm: remove obsolete
+ unused
+
+2006-03-03 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/slpash-drakeprint-2.png: remove unused (and
+ mispelled)
+
+2006-03-03 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: makedev.sh, verify_modules.pl: remove
+ obsolete unused stuff
+
+2006-03-03 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: buildrequire rpm-devel no more
+ needed (since stuff.xs doesn't use rpmlib directly)
+
+2006-03-03 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: no need to open something special since
+ log is done on stderr when testing
+
+2006-03-03 14:15 Pixel <pixel at mandriva.com>
+
+ * tools/: 2adsldb.pm, 2isdndb.pm, closurepkgs, gencompss,
+ genmodparm, syncrpms, i386/e2fsck.shared, i386/mkreiserfs,
+ i386/sh, ia64/e2fsck.shared, ppc/e2fsck.shared: remove obsolete
+ unused stuff
+
+2006-03-03 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: remove unused var VERSION
+
+2006-03-03 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: use lchown instead of chown (otherwise
+ pbs on broken symlinks)
+
+2006-03-03 12:34 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.desktop: use shorter
+ desktop name
+
+2006-03-03 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/ja.po: update (Yukiko BANDO)
+
+2006-03-03 01:16 Funda Wang <fundawang at linux.net.cn>
+
+ * live/draklive-install/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+
+2006-03-02 19:01 Pixel <pixel at mandriva.com>
+
+ * docs/README: update auto_install doc url
+
+2006-03-02 18:14 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/patches/rpmdrake.base.patch: remove rpmdrake
+ patch, included in rpmdrake package (2006.0 community)
+
+2006-03-02 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: remove rpmdrake patch, included
+ in rpmdrake package
+
+2006-03-02 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/rpmsrate: don't install kat by default
+
+2006-03-02 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/rpmsrate: add kdegraphics-kpdf
+
+2006-03-02 16:40 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: doble backquote ( for
+ perl -pi -e
+
+2006-03-02 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fixes
+
+2006-03-02 12:34 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: try to preserve mode when copying files
+
+2006-03-02 12:00 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: rename release to
+ Official
+
+2006-03-02 08:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: adapt to lsb split
+
+2006-03-02 08:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't have nscd twice with different
+ rate
+
+2006-03-02 08:08 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-03-01 22:52 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: create index files for
+ direct-to-tape too clean up some issues with direct-to-tape that
+ came with the star additions compress the index files
+
+2006-03-01 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle cpia2 camera driver
+
+2006-03-01 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: update model & tuner lists
+
+2006-03-01 18:44 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: really fix permissions for kbluetooth conf files
+
+2006-03-01 16:49 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: load usb-storage and sleep a "small" bit to be
+ able to boot from USB CD-Rom drives
+
+2006-03-01 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/patches/rpmdrake.base.patch: fix typo
+
+2006-03-01 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: allow to install doc in
+ disk install
+
+2006-03-01 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: move ide-generic to end of loaded modules
+
+2006-03-01 16:04 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: don't ask timezone
+ settings
+
+2006-03-01 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: update shorewall
+ interfaces list when a new interface is detected (#21252)
+
+2006-03-01 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: use
+ network::shorewall::update_interfaces_list()
+
+2006-03-01 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add update_interfaces_list
+
+2006-03-01 12:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: update shorewall
+ interfaces list when a new interface is detected (#21252)
+
+2006-03-01 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: clean /etc/iftab and /etc/shorewall/interfaces
+
+2006-03-01 12:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/patch-2006-live.pl: don't start/stop the
+ tmdns service during install
+
+2006-03-01 11:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: network.pm: don't start/stop the tmdns
+ service during install
+
+2006-02-28 18:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: finish-install: ask license after
+ language (#21266)
+
+2006-02-28 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: finish-install: ask for timezone
+ (#21271)
+
+2006-02-28 17:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: unblacklist mozilla-firefox-br
+
+2006-02-28 17:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: symlink old home directory to new one when
+ renaming user (backport from HEAD, #21384)
+
+2006-02-28 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: fix indentation
+
+2006-02-28 17:50 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: remove debug code
+
+2006-02-28 17:49 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: handle BOX=... on cmdline
+
+2006-02-28 17:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: symlink old home directory to new one when
+ renaming user (#21384)
+
+2006-02-28 17:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: remove spurious comma
+
+2006-02-28 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (load_category) load ide-generic for
+ disk/ide (this is a working fallback for quite a lot of machines)
+
+2006-02-28 17:17 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: simplify (since partimage_whole_disk
+ rest_all doesn't handle multi dirs anymore)
+
+2006-02-28 17:12 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: don't remove mdk-folders
+ anymore, we'll try to fix the /home/guest files issue
+
+2006-02-28 17:11 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: multiple dirs is not handled
+ anymore, correct the usage
+
+2006-02-28 17:03 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/install_interactive.pm: remove
+ diagnostics/strict warnings
+
+2006-02-28 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, patches/rpmdrake.base.patch:
+ patch rpmdrake to be able to add base distro media (#21307)
+
+2006-02-28 15:10 Antoine Ginies <aginies at mandriva.com>
+
+ * mdk-stage1/ka.c: fix path to ka-d-client and typo in tar
+ parameter
+
+2006-02-28 14:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: don't ask whether to
+ Move/Hide old files (#21366)
+
+2006-02-28 14:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm: (need_migration) fix
+ untranslated messages (#21326)
+
+2006-02-28 13:56 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: ide-generic is necessary for some CD
+ drives
+
+2006-02-27 21:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: remove useless ISDN
+ network configuration file
+
+2006-02-27 21:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: don't remove mandriva-theme
+
+2006-02-27 20:13 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: disable services that slow down
+ boot
+
+2006-02-27 20:13 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to disable services
+
+2006-02-27 19:18 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: bump requirements
+
+2006-02-27 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/data.pm: use versionned binary to check for
+ gutenprint-ijs (useful if docs are excluded, like in Mandriva
+ One, #21269)
+
+2006-02-27 17:05 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: try not to run kat a
+ second time when running kde apps as root (#21308)
+
+2006-02-27 17:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: don't prepend $::prefix on module
+ load, but when the path is actually used (backport from HEAD)
+
+2006-02-27 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: try ide-generic at end
+
+2006-02-27 16:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: fix typo
+
+2006-02-27 16:12 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: remove mozilla-br, it makes
+ breton become the fallback language (#21291)
+
+2006-02-27 15:28 Pixel <pixel at mandriva.com>
+
+ * docs/README: adapt to new cvs web url
+
+2006-02-27 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: backported from TRUNK
+ for Mandriva One - fix adding storage controllers: set
+ scsi_hostadapter like DrakX does instead of trying preloading
+ the driver - manage hardware_raid class too
+
+2006-02-27 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix matching some devices (we really
+ are looking at drivers here, not devices' description)
+
+2006-02-27 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: simplify
+
+2006-02-27 13:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: run harddrake because a crappy snd-usb-audio
+ workaround may do something at shutdown (#21329)
+
+2006-02-27 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/br.po, perl-install/share/po/br.po:
+ update
+
+2006-02-27 11:16 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * live/draklive-install/po/id.po: Updated
+
+2006-02-26 09:02 Shiva Huang <blueshiva at giga.net.tw>
+
+ * live/draklive-install/po/zh_TW.po: updated po file
+
+2006-02-25 16:08 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-02-25 13:13 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: include zcip and tmdns
+ (#21305)
+
+2006-02-24 23:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new ipw3945 intel wireless driver
+
+2006-02-24 23:29 Till Kamppeter <till at mandriva.com>
+
+ * live/draklive-install/po/de.po: Small improvement.
+
+2006-02-24 23:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/de.po: update de translation (from
+ Wolfgang Bornath)
+
+2006-02-24 19:22 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove /etc/modprobe.conf and
+ /etc/modprobe.preload build-machine specific stuff
+
+2006-02-24 19:15 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: load disk/ide as well (Titi)
+
+2006-02-24 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/: ChangeLog, draklive-install.spec:
+ 0.1-4mdk
+
+2006-02-24 18:00 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/: draklive-install.spec,
+ theme/IM-INSTALLCDONE.png, theme/IM-INSTALLCDONE2.png: use a
+ smaller welcome image
+
+2006-02-24 17:50 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: make sure the cancel
+ button is available in this pseudo-drakboot-boot
+
+2006-02-24 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: set prefix at beginning,
+ since fs::format::check_package_is_installed() is now fixed
+
+2006-02-24 16:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/format.pm: ensure_binary_is_installed checks
+ binary chrooted, whereas we run the binary non-chrooted (backport
+ from HEAD)
+
+2006-02-24 16:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/: draklive-install, install_interactive.pm:
+ split partitionWizard_ask out of partitionWizard and use it (i.e.
+ make the wizard really die when it is cancelled)
+
+2006-02-24 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: ensure_binary_is_installed checks
+ binary chrooted, whereas we run the binary non-chrooted (pb for
+ Mandriva One)
+
+2006-02-24 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/: config/live.cfg, files/defaultspooler: use cups
+ as defaultspooler (and don't prompt user with an annoying
+ message)
+
+2006-02-24 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: copy kside image
+
+2006-02-24 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to copy files in system chroot
+
+2006-02-24 13:21 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/files/kside238-ONE.png: add kside image
+
+2006-02-24 13:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: timezone.pm: oops, fix timezone listing (thanks
+ Pixel)
+
+2006-02-24 12:41 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-3mdk
+
+2006-02-24 12:41 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: use correct size for
+ small icon
+
+2006-02-24 12:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: use -noleaf option when finding
+ timezones (useful over unionfs, backport for #21272)
+
+2006-02-24 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: install ntp (#21287)
+
+2006-02-24 12:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/timezone.pm: use -noleaf option when finding
+ timezones (useful over unionfs, #21272)
+
+2006-02-24 01:45 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: really change META_CLASS
+ in postInstall
+
+2006-02-23 19:50 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: complete changelog
+
+2006-02-23 19:50 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: set prefix after
+ partitionWizard, so that partition tools don't fail to find fs
+ tools (#21260)
+
+2006-02-23 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: use draklive-install-0.1-2mdk
+
+2006-02-23 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: 0.1-2mdk
+
+2006-02-23 19:19 Till Kamppeter <till at mandriva.com>
+
+ * live/draklive-install/po/pt_BR.po: Added missing translations.
+
+2006-02-23 17:10 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: comment this brilliant
+ fix
+
+2006-02-23 17:08 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: add
+ printerdrake/scannerdrake related packages
+
+2006-02-23 17:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * live/draklive-install/po/: es.po, fr.po, lt.po, wa.po: small
+ fixes and updates
+
+2006-02-23 16:52 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/local_cfg: initial import
+
+2006-02-23 16:52 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: use local config file
+
+2006-02-23 16:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: check for correct themes path
+
+2006-02-23 16:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: don't prepend $::prefix on module
+ load, but when the path is actually used
+
+2006-02-23 16:19 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: look for bootsplash config in live chroot, and
+ try to find a '800x600' resolution
+
+2006-02-23 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: fix typo
+
+2006-02-23 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add information message about splash image
+
+2006-02-23 15:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: remove untested patch
+
+2006-02-23 15:25 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/auto_inst.cfg.pl: replace meta_class by
+ one
+
+2006-02-23 15:24 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: remove post initrd stupid
+ meta_class change
+
+2006-02-23 15:21 Warly <warly at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: replace meta_class by one
+
+2006-02-23 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: live-install is now named
+ draklive-install
+
+2006-02-23 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/live.cfg: space fix
+
+2006-02-23 14:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: use groupmod to change group when renaming a
+ user
+
+2006-02-23 14:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: remove .mdk-folders since
+ the path may be broken
+
+2006-02-23 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: use groupmod to change group when renaming a
+ user
+
+2006-02-23 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: don't show release notes after install (not
+ handled yet)
+
+2006-02-23 13:59 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/Makefile: don't erase the pot file in
+ clean
+
+2006-02-23 13:58 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: use translated strings
+
+2006-02-23 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/draklive-install: (doPartitionDisksAfter)
+ perl_checker beautify
+
+2006-02-23 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/Makefile: clean po subdir as well
+
+2006-02-23 13:50 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.spec: build and include po
+ files
+
+2006-02-23 13:48 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/Makefile: use
+ ../../../perl-install/share/po/ for merge only (not for
+ build/install)
+
+2006-02-23 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/ChangeLog: first generation
+
+2006-02-23 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * live/One/2006.0/config/: live.cfg: clean config file
+
+2006-02-23 13:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/: af.po, ar.po, az.po, bg.po, bn.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fa.po, fi.po, fr.po, gl.po, he.po, hi.po, hu.po,
+ id.po, is.po, it.po, ja.po, ky.po, ltg.po, lv.po, mk.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: fill in from DrakX (cooker)
+
+2006-02-23 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/: af.po, am.po, ar.po, az.po, be.po,
+ bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: merge with sources
+ (s/xgettext/perl_checker/)
+
+2006-02-23 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/draklive-install.pot: regenerate using
+ perl_checker
+
+2006-02-23 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/Makefile: better use perl_checker to
+ generate the pot file, xgettext finds invalid strings
+
+2006-02-23 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/br.po: update
+
+2006-02-23 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: remove weird newlines
+
+2006-02-23 13:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/fr.po: update
+
+2006-02-23 13:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: really use new install
+ image
+
+2006-02-23 13:14 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install.desktop: adapt to new name
+
+2006-02-23 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/: af.po, am.po, ar.po, az.po, be.po,
+ bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: fill in from DrakX
+ (MDV2006)
+
+2006-02-23 13:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * live/draklive-install/po/: af.po, am.po, ar.po, az.po, be.po,
+ bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: fill in from DrakX
+ (cooker)
+
+2006-02-23 12:47 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/po/: Makefile, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, draklive-install.pot, el.po, eo.po, es.po, et.po, eu.po,
+ fa.po, fi.po, fr.po, fur.po, ga.po, gl.po, he.po, hi.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, ky.po, lt.po, ltg.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: add
+ po files
+
+2006-02-23 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * live/draklive-install/draklive-install: perl_checker fixes
+
+2006-02-23 12:15 Olivier Blin <oblin at mandriva.com>
+
+ * live/: One/2006.0/config/auto_inst.cfg.pl,
+ One/2006.0/config/live.cfg, One/2006.0/config/patch-2006-live.pl,
+ One/2006.0/config/rpmsrate, One/2006.0/patches/halt.loopfs.patch,
+ One/2006.0/patches/netfs.loopfs.patch, draklive-install/Makefile,
+ draklive-install/draklive-install,
+ draklive-install/draklive-install.desktop,
+ draklive-install/draklive-install.spec,
+ draklive-install/install_interactive.pm,
+ draklive-install/theme/IC-installone-128.png,
+ draklive-install/theme/IC-installone-16.png,
+ draklive-install/theme/IC-installone-24.png,
+ draklive-install/theme/IC-installone-32.png,
+ draklive-install/theme/IC-installone-48.png,
+ draklive-install/theme/IC-installone-64.png,
+ draklive-install/theme/IM-INSTALLCDONE.png,
+ draklive-install/theme/IM-INSTALLCDONE2.png: initial import of
+ Mandriva One configuration files and draklive-install tool
+
+2006-02-23 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, lang.pm: create
+ lang::lang_changed() to ensure {country} is set according to the
+ lang (useful for finish-install where choosing fr gives fr_US)
+
+2006-02-23 11:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm: perl_checker compliance
+
+2006-02-23 10:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, standalone/finish-install: allow to rename
+ an old user (possibly "guest" from a live distribution) instead
+ of creating a new one, using info from first added user in
+ finish-install (backport from HEAD)
+
+2006-02-23 10:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, standalone/finish-install: allow to rename
+ an old user (possibly "guest" from a live distribution) instead
+ of creating a new one, using info from first added user in
+ finish-install
+
+2006-02-23 10:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: finish-install: rename config hash as
+ it will contain more settings
+
+2006-02-23 10:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: don't try to destroy
+ potentially non-existent wizard window (backport from HEAD)
+
+2006-02-23 10:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: don't try to destroy
+ potentially non-existent wizard window (if some steps are skipped
+ for example)
+
+2006-02-23 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: enforce utf8 (since we use the (R) char)
+
+2006-02-22 20:46 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove spurious space
+
+2006-02-22 20:46 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: make sure mtab and fstab don't contain
+ build-machine specific configuration
+
+2006-02-22 20:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/draklive: perl_checker cleanups
+
+2006-02-22 20:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/draklive: make generating the previous HW config file
+ somewhat more readable
+
+2006-02-22 20:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/.perl_checker: blacklist a few modules in order to let
+ perl_checker parse draklive
+
+2006-02-22 19:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: add monitor-get-edid-using-vbe
+ (introduced in monitor-edid 1.9)
+
+2006-02-22 18:03 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: make sure kbluetoothdrc is readable (useful when
+ building with a paranoid secure level)
+
+2006-02-22 16:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: Check the socket is populated during
+ dmi smp detection. I know, the code is no longer used, but let's
+ make it as "don't get gb depressed for reading SMBIOS spec for
+ nothing"
+
+2006-02-22 16:12 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm: Allow user to modify
+ xbox partitions on non-xbox (thx Pixel)
+
+2006-02-22 14:24 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use syslinux splash from theme
+
+2006-02-22 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: it seems -y is needed for mkfs.reiser4
+ to work without prompting
+
+2006-02-22 12:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use run_program::raw({ root => ... }, ...)
+ instead of various chroot commands
+
+2006-02-21 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: since 1.0.0.rc10 dmraid supports
+ JMicron JMB36x and Adaptec HostRAID
+
+2006-02-21 17:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm: fix typo
+
+2006-02-21 11:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: only accept users using "Accept user"
+ button, and disable "Next" when the login name is filled
+ (bugzilla #20712)
+
+2006-02-20 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/draklive: (post_install_system) explain
+
+2006-02-20 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/draklive: (post_install_system) fix auto configuration on
+ live boot (aka fix creating a dummy previous HW configuration)
+
+2006-02-20 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: use --force when creating a md with only
+ one device (bugzilla #21214)
+
+2006-02-20 05:35 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-02-19 07:20 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2006-02-18 23:30 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/initscripts/po/da.po
+ soft/rpmdrake/po/da.po gi/perl-install/share/po/da.po
+
+2006-02-18 09:26 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-02-17 20:34 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to use a local rpmsrate
+
+2006-02-17 20:30 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: allow to use a local rpmsrate
+
+2006-02-17 20:20 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix yet another typo
+
+2006-02-17 20:15 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: cat_ didn't handle multiple args in 2006.0
+ (thanks to Warly for reminding me to fix that)
+
+2006-02-17 20:09 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix region suffix
+
+2006-02-17 19:59 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't use 'noregion' subdir if $live->{regions}
+ doesn't exist
+
+2006-02-17 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove useless parentheses
+
+2006-02-17 17:33 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add missing quote
+
+2006-02-17 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add the all-regions option to proceed with all
+ regions
+
+2006-02-17 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove unused variable
+
+2006-02-17 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: move mountpoint in regional workdir
+
+2006-02-17 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix errors from previous commit
+
+2006-02-17 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: move code in complete_config
+
+2006-02-17 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: enhance "bug" command to allow saving
+ report.bug on usb key
+
+2006-02-17 17:08 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use regional chroots and workdirs
+
+2006-02-17 16:14 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: pass a set of langs to drakx-in-chroot according
+ to region settings
+
+2006-02-17 16:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to erase rpms after install (aka the lazy
+ rpmsrate patch)
+
+2006-02-17 15:43 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't make kbluetoothdrc display an annoying and
+ useless popup window
+
+2006-02-17 15:33 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use /etc path to kdm config file
+
+2006-02-17 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: run drakx-in-chroot with enough timeout slack
+
+2006-02-17 15:28 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to pass run_program options to run_
+
+2006-02-17 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: try to display an error message when the config
+ file can't be opened
+
+2006-02-17 02:10 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest additions
+
+2006-02-16 20:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new et61x251 webcam driver
+
+2006-02-16 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: very titypo
+
+2006-02-16 14:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updated version of Nimbus Sans
+ (with proper gyphs for extended cyrillic; and the font properly
+ identifies itself as suitable for Vietnamese)
+
+2006-02-16 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: - fix adding storage
+ controllers: set scsi_hostadapter like DrakX does instead
+ of trying preloading the driver
+ - manage hardware_raid class too
+
+2006-02-16 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (when_load_category) do not bother
+ preloading sd_mod for ide drivers
+
+2006-02-15 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: move new PATA drivers into the disk/sata
+ category since they behave like scsi as they are using libata and
+ add a comment (explaining these are the old ide drivers ported
+ over the new libata layer)
+
+2006-02-15 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.11-1mdk
+
+2006-02-15 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: uploading the hw status to
+ hcl.mandriva.com is now done in mcc
+
+2006-02-15 12:30 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fix potential buffer overflows (thanks
+ to Rafael for the advice)
+
+2006-02-15 11:50 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix problem "atom 0 is
+ not a section"
+
+2006-02-15 11:48 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * mdk-stage1/network.c: Fix minor memory leak
+
+2006-02-15 11:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * mdk-stage1/: tools.c, url.c: Fix another couple of potential
+ buffer overflows
+
+2006-02-14 09:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * mdk-stage1/cdrom.c: Remove another potential buffer overflow
+
+2006-02-13 21:18 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/cdrom.c: fallback on ide-generic if needed (requested
+ by support team for the Equilinux project)
+
+2006-02-13 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/resize_ext2.pm: (resize) run_program's
+ 10mn timeout is catching resize2fs in real word, let's bump it to
+ 60mn
+
+2006-02-13 16:25 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: try to find modules in a sub-directory
+ named by the kernel release
+
+2006-02-13 16:17 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: try to find modules in a sub-directory
+ named by the kernel release
+
+2006-02-13 16:00 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.h: use /Mandrake/thirdparty in 10.0 branch
+
+2006-02-13 12:08 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: fix acpi initializer (pixel)
+
+2006-02-10 19:11 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: More pt_BR translations.
+
+2006-02-10 15:10 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Newt/Newt.xs: fix varargs
+
+2006-02-10 12:04 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img, kernel/update_kernel: use normal kernel up as
+ isolinux boot kernel (has acpi interpreter)
+
+2006-02-09 19:29 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: copy rpms in chroot and use rpm from the chroot
+ (to avoid rpm version mismatch)
+
+2006-02-09 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (uninstall) "Uninstall List" is
+ both confusing and wrong since the button really offer to select
+ font directories to uninstall (it doesn't offer to uninstall the
+ whole list or the list of selected fonts)
+
+2006-02-09 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (show_list_to_remove) nicer
+ GUI: - use standard verbs on button - use a standard &
+ meaningfull title - add a sentence explaining the purpose of the
+ dialog
+
+2006-02-09 17:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: bump copyright
+
+2006-02-09 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2006-02-09 12:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: Makefile, disk.c, partition.c, partition.h,
+ probing.c, probing.h, stage1.c, stage1.h, thirdparty.c,
+ thirdparty.h, tools.c, tools.h: backport thirdparty support
+
+2006-02-08 21:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (font_choice) enable to select
+ fonts with upcase letters in file extensions (#16948)
+
+2006-02-08 19:18 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove duplicates
+
+2006-02-08 17:04 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/make_rescue_img: fix operator
+
+2006-02-08 15:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate.corpo-desktop: Poor man's way (old
+ style) to install additionnal packages for laptops. Here, that's
+ cpufreq (older HP laptop program)
+
+2006-02-08 15:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: handle cases where with booted
+ with a full acpi capable kernel
+
+2006-02-08 15:29 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: forcedeth_ng, tg3_ng
+
+2006-02-08 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle rt2570 (new wireless driver)
+
+2006-02-08 14:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img, rescue/make_rescue_img: add possibility to use non
+ -BOOT kernels for isolinux boot
+
+2006-02-08 14:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/pkgs.pm: Fix CD0 support (warly)
+
+2006-02-07 14:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix detecting some ATA devices
+ (#21034)
+
+2006-02-06 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: handle *.ttc fonts too
+
+2006-02-05 10:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/it.po: Updated Italian translations from
+ Andrea Celli <andrea.celli@libero.it>.
+
+2006-02-03 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: oops, perl_checker compliance
+
+2006-02-03 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - fix dmidecode_category()
+ (returning a list) - c::dmiDetectMemory() was in smp-dmi.c which
+ is dropped, creating dmi_detect_memory instead
+
+2006-02-02 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: log test_for_bad_drives errors
+
+2006-01-30 16:06 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-01-30 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for jsm serial driver
+
+2006-01-30 09:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: force creation of a non-root user on
+ standard security level (esp. since kdm doesn't permit root login
+ anymore by default) (thanks to Neoclust)
+
+2006-01-29 21:55 berthy
+
+ * perl-install/share/po/fr.po: Update french translation
+
+2006-01-28 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: perl_checko cleanup
+
+2006-01-28 04:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: install msec if needed
+
+2006-01-28 04:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: drop msec requires so that python
+ is not part of basesystem (anyway it's installed by rpmsrate at a
+ higher priority than drakxtools is (through drakconf))
+
+2006-01-28 01:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2006-01-28 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2006-01-28 00:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.10-1mdk
+
+2006-01-27 21:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm: add
+ support for new snd-als300 sound driver
+
+2006-01-27 21:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: sync bttv, cx88 and saa7134 driver
+ model lists with kernel-2.6.16-rc1-mm2
+
+2006-01-27 21:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: prevent some "unlisted driver"
+ errors in harddrake
+
+2006-01-27 21:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for gigabit sky2 driver
+ (appeared in 2.6.16-rc1)
+
+2006-01-27 20:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix titi sucks :)
+ (backport from cooker, fixed by Pixel)
+
+2006-01-27 01:06 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-01-26 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: for auto_installs which never go
+ through the Gtk2 main loop
+
+2006-01-26 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: display & update steps during
+ graphical auto_installs (which never go through the Gtk2 main
+ loop)
+
+2006-01-26 12:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2006-01-25 01:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: More support for TS2
+
+2006-01-24 16:11 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/: obj/obj_kallsyms.c, util/config.c,
+ util/modstat.c: be compliant with recent gcc (from peroyvind)
+
+2006-01-24 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix selected_leaves(): it was dropping all
+ packages in a circular reference (including short circular
+ references like amarok-engine-arts -> libamarokarts.so ->
+ amarok-engine-arts)
+
+2006-01-24 12:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix selected_leaves() dropping all packages
+ in a circular reference (including short circular references like
+ amarok-engine-arts -> libamarokarts.so -> amarok-engine-arts)
+
+2006-01-24 12:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: protect against no $do->in
+
+2006-01-22 00:50 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Improvements and fixes on printer
+ model/driver listing in printerdrake o Corrected handling of
+ PPD links in Foomatic printer XML files, no the prinyer list
+ entries have the correct model names of the Foomatic printer
+ XML files and so PPDs linked to multiple printers appear
+ with each linked printer in printerdrake. This also avoids
+ duplicate "(Recommended)" tags for one printer (problem
+ occured with HP LaserJet 1200). o Avoid duplicate PPD entries
+ for Foomatic-generated PPDs and identical pre-generated
+ Foomatic PPDs in /usr/share/cups/model. This problem
+ occured when the hplip-hpijs-ppds package is installed.
+ o Some polishing of list entries. o Reduced Perl warnings.
+
+2006-01-20 21:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Give priority to custom PPD file
+ if printer queue record in printerdrake is broken, use
+ "Postscript" if Foomatic driver is wrongly set to "PPD", should
+ fix bug #20028.
+
+2006-01-20 19:55 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed HPLIP setup when
+ setting up a printer without auto-detection (bug #20231).
+
+2006-01-20 17:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: - Moved
+ loading of kernel modules before the port checking step, the
+ device file is usually generated when the module is loaded -
+ Support for loading kernel modules only in case of a certain
+ connection type (SCSI, USB, Parport). - Let kernel module only
+ be added to /etc/modules and /etc/modprobe.preload if loading
+ of the module with "modprobe" succeeded. - Do not die when
+ loading of a kernel module does not succeed. - s/Hewlett
+ Packard/Hewlett-Packard/ when generating ScannerDB.
+
+2006-01-20 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm: handle new dmidecode output
+
+2006-01-19 13:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: updated list of console keyboards
+
+2006-01-19 09:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-rh9-mdk10.pl: fix typo
+
+2006-01-18 18:12 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-01-18 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - read all per entry entries (esp.
+ makeactive) - write makeactive - have makeactive for windows
+ entries (bugzilla #20081)
+
+2006-01-18 11:25 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2006-01-17 20:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: keymaps.tar.bz2, kmap2bkmap: updated console
+ map files (also, using utf-8 maps for non-ascii chars)
+
+2006-01-17 18:45 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, DrakX.pot, zh_CN.po, zh_TW.po: Updated POT file
+
+2006-01-17 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: drop scim-m17n from list of
+ alternatives since it's selected for "vi"
+
+2006-01-13 19:49 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2006-01-13 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: put kde's enhancements
+ (backward compatible) - multi distro - new variables in
+ fileshare.conf
+
+2006-01-13 16:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: 1024x768@70Hz monitor is too
+ high (cf #20304)
+
+2006-01-13 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: be more explicit in the log about
+ defaulting to newt
+
+2006-01-13 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_newt.pm: unset DISPLAY so that code
+ testing wether DISPLAY is set can know we don't have or use X
+ (thanks to gégé)
+
+2006-01-13 10:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: monitor-edid now needs File::Find
+
+2006-01-12 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2006-01-12 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: defaulting to
+ 1024x768 instead of 800x600 when the monitor size is unknown
+ (since a lot of people expect this, and that's what fedora is
+ doing, cf #20304)
+
+2006-01-12 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: replacing double with NV as suggested
+ by rafael:
+
+ NV is the portable typedef perl's Configure figures out for
+ floating point values. And since it's an internal type the
+ typemap is easier. See: $ perl -V:nvtype nvtype='double';
+
+2006-01-12 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-above-2TB.pl: use BLKGETSIZE64 to
+ allow detecting partitions bigger than 2TB, and use "double"
+ instead of "unsigned int" (nb: it means we will use doubles
+ instead of ints for computing things, this works quite nicely up
+ to 100_000TB
+
+ doing this in perl so that there is no need to recompile stuff.so
+
+2006-01-12 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/c.pm: less verbose
+
+2006-01-12 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/c.pm: use BLKGETSIZE64 to allow detecting partitions
+ bigger than 2TB, and use "double" instead of "unsigned int" (nb:
+ it means we will use doubles instead of ints for computing
+ things, this works quite nicely up to 100_000TB
+
+ doing this in perl so that there is no need to recompile stuff.so
+
+2006-01-12 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: use BLKGETSIZE64 to allow detecting
+ partitions bigger than 2TB, and use "double" instead of "unsigned
+ int" (nb: it means we will use doubles instead of ints for
+ computing things, this works quite nicely up to 100_000TB
+
+2006-01-11 22:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: add a comment
+
+2006-01-10 19:51 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2006-01-10 15:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, c/Makefile.PL, c/README,
+ c/smp-dmi.c, c/smp-test.c, c/smp.c, c/smp.h, c/stuff.xs.pl: look
+ for "NR_CPUS limit of 1 reached" instead of looking MP tables by
+ hand, or using DMI info (often broken)
+
+2006-01-10 14:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: this service is
+ *NOT* interactive
+
+2006-01-10 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't set KBCHARSET in
+ /etc/sysconfig/keyboard, this is not useful (and we don't modify
+ it in keyboarddrake)
+
+2006-01-09 20:14 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated nn translation.
+
+2006-01-09 19:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Make sure that when a user
+ supplies an updated PPD file, the new file and not the old one
+ from the system gets used.
+
+2006-01-09 17:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Moved button for
+ daemon-less CUPS client mode to the top of the CUPS
+ configuration dialog, to make it more visible, so that the user
+ sees more easily when he has activated this mode accidentally.
+
+2006-01-09 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: allow giving {percent_size} instead of
+ {size}
+
+2006-01-09 10:52 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-01-09 01:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: convert parallel
+ init to LSB
+
+2006-01-06 17:19 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: More pt_BR fixes.
+
+2006-01-06 16:12 Pixel <pixel at mandriva.com>
+
+ * tools/mailchangelog.pl: update to new mailing list name
+
+2006-01-06 14:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: option IgnoreEDID is no more needed
+ with nvidia driver
+
+2006-01-05 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ioc3_serial driver
+
+2006-01-04 23:16 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated nn translation.
+
+2006-01-04 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: ugly hack to make things work when
+ /proc/mounts says /dev/root is mounted in /mnt
+
+2006-01-03 18:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/wizards.pm: fix typo
+
+2006-01-03 16:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/wizards.pm, perl-install/network/netconnect.pm,
+ perl-install/standalone/drakconnect,
+ perl-install/standalone/drakgw,
+ perl-install/standalone/draksambashare,
+ perl-install/standalone/drakups,
+ perl-install/standalone/logdrake, tools/draklive: don't have a
+ useless empty hash in wizards objects, use the wizards hash
+
+2006-01-03 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/wizards.pm: fix typo
+
+2006-01-03 15:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/wizards.pm: fix documentation typo
+
+2006-01-03 15:14 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2006-01-03 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) simplify
+
+2006-01-02 18:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: typo fix (#13292)
+
+2006-01-02 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: require dkms
+
+2006-01-02 17:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: check/sanitize user input
+ MAC addresses, add tooltips (#20384)
+
+2006-01-02 16:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: refer to DrakXTools on the wiki
+
+2006-01-02 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix URL
+
+2006-01-02 13:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.9-1mdk
+
+2006-01-02 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: better not dying (#20340) it
+ looks like there do be some devices out for which we failed to
+ get proper data
+
+2006-01-02 13:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new orinoco_nortel driver
+
+2006-01-02 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.8-1mdk
+
+2006-01-02 12:18 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use -boot prefix in syslinux file only if a
+ specific boot type is specified
+
+2006-01-02 11:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: add parallel init
+ support (Couriousous)
+
+2005-12-31 14:05 Inigo Salvador Azurmendi <xalba at euskalnet.net>
+
+ * perl-install/share/po/eu.po: osatu gabe
+
+2005-12-30 16:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Add support for custom
+ kernel args in initrd Add support for future unionfs/TS2
+ Perl_checker fixes
+
+2005-12-29 20:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/resize_ext2.pm: remove incorrect and
+ unused check (anyway, e2fsprogs is required by basesystem)
+
+2005-12-29 19:13 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use --inplace option in rsync, to avoid missing
+ space when overwriting an existing live system
+
+2005-12-29 19:12 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't record loopbacks on boot master
+
+2005-12-29 19:12 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: name the boot cdrom master as boot.iso (and
+ factorize)
+
+2005-12-29 19:10 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to use --boot-only for master/format/record
+ steps
+
+2005-12-29 19:08 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add optionnal boot storage type in $media->{boot}
+ and build a custom syslinux-boot.cfg for it
+
+2005-12-29 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: rename refresh_boot_only as boot_only
+
+2005-12-29 18:59 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove --record-boot option, this can be achieved
+ using --boot-only --record now
+
+2005-12-29 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix spacing
+
+2005-12-29 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add --boot-only option to prepare for special
+ boot images
+
+2005-12-29 18:51 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use dashes instead of underscores in command line
+ options
+
+2005-12-29 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: require root capabilities
+
+2005-12-29 14:13 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: sort storage types
+
+2005-12-29 03:27 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Fix missing, spelling, better
+ translations
+
+2005-12-28 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: install packages using urpmi --auto
+
+2005-12-28 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add some minimal help in syslinux
+
+2005-12-28 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: let packages using common.pm to use
+ Locale::gettext without requiring it
+
+2005-12-28 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (backport) restore behaviour broken in
+ commit 1.371 (nb: {lang} is not always set in {langs} at that
+ time)
+
+2005-12-28 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix titi sucks :)
+
+2005-12-28 12:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: remove unused variable
+
+2005-12-28 12:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: don't install and configure
+ mandi-ifw if ifw is disabled
+
+2005-12-28 11:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: keyboard.pm, standalone/keyboarddrake: create new
+ function and use it (backport for finish-install)
+
+2005-12-27 21:30 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: check that abs_path doesn't fail to find
+ (rpm/patch) files
+
+2005-12-27 20:53 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add missing newline characters
+
+2005-12-27 20:50 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add patches config option to apply patches on the
+ installed system
+
+2005-12-27 20:31 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove urpmi media added by drakx-in-chroot,
+ they're unusable
+
+2005-12-27 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: perl_checker fix
+
+2005-12-27 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add --post_install option to run post install
+ only (rpms and patches installation)
+
+2005-12-27 17:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: check for nvidia_drv.so (as well
+ as nvidia_drv.o)
+
+2005-12-27 17:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: allow to blacklist steps
+ in /etc/sysconfig/finish-install (backport)
+
+2005-12-27 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: locale is now set by
+ any::selectLanguage_standalone
+
+2005-12-27 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: add ask_keyboard step
+ (backport)
+
+2005-12-27 17:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile: keep install_messages.pm for
+ finish-install (i.e. don't break finish-install in 2006.0)
+
+2005-12-27 17:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: fix for localedrake in text mode (backport
+ of patch from Pixel)
+
+2005-12-27 15:26 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: rename patch option as patch_install
+
+2005-12-27 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix stupid mistake
+
+2005-12-27 13:55 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't allow to go on if no device is selected
+ (thanks to Sylvie \o/)
+
+2005-12-26 21:09 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add a copy wizard
+
+2005-12-26 20:14 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: umount eventually mounted usb devices before
+ formatting or running syslinux
+
+2005-12-26 19:42 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: move default prefix in a dedicated hash
+
+2005-12-26 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: make options sourced from --config overwrite
+ previous settings
+
+2005-12-22 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: typo fix
+
+2005-12-22 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.7-1mdk
+
+2005-12-22 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: (load_dependencies) handle Mandriva
+ kernel packages' modules.dep (these kernels have compressed
+ modules, unlike vanilla kernels)
+
+2005-12-22 13:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/raid.pm: we shouldn't rely on callers to load
+ missing modules...
+
+2005-12-22 13:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: add support for
+ $::no_global_argv_parsing, enabling to NOT using common option
+ managemnt (eg: when using Getopt)
+
+2005-12-21 13:57 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: big rework to be able to record live system on
+ multiple media: - make bootloader/master/record steps
+ media-specific - build bootloader files for each media (create
+ bootloader files in boot/<storage_type> directory, to ease live
+ duplication) - merge initrd step in bootloader step - add
+ extra_media configuration key, to specify alternate media/storage
+ - create loopbacks files in a loopbacks sub-directory - duplicate
+ usb bootloader files at root of the usb media (for syslinux to
+ find them) - create initrd mountpoints in /live and move them in
+ the new root using "mount --move" (requires /bin/mount) - merge
+ most media defaults in storage settings
+
+2005-12-20 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-bad-fonts.pl: some fonts are not
+ seen by fontconfig because of a packaging pb, force a rebuild of
+ fc cache
+
+2005-12-20 14:17 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added kdegraphics-kpdf
+
+2005-12-19 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use rsync to copy files on usb media
+
+2005-12-19 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: from Yukiko Bando: - kasumi is now required
+ by scim-anthy - uim-anthy is obsolete
+
+2005-12-19 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install uim-qtimmodule too for KDE
+ (Yukiko Bando)
+
+2005-12-19 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: kasumi is now required by scim-anthy
+ (Yukiko Bando)
+
+2005-12-19 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: commit 10.4.6-1mdk's changes that
+ pixel forgot to commit
+
+2005-12-19 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSCSI_26) add a comment
+
+2005-12-19 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSCSI_26) be more robust (aka
+ do not silently not detect hard disks when kernel sysfs exports
+ got changed)
+
+2005-12-19 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle more PATA drivers
+
+2005-12-19 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSCSI_26) handle
+ kernel-2.6.14+
+
+2005-12-19 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: (load_dependencies) handle kernel
+ packages' modules.dep, not only DrakX' ones (this is usefull for
+ mkinitrd in perl)
+
+2005-12-19 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: disable network, authentication and users step in
+ finish-install
+
+2005-12-19 13:20 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: fix mkisofs options ordering
+
+2005-12-18 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't overwrite ONBOOT setting when
+ writing adsl configuration (#20089)
+
+2005-12-18 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: allow auto allocating partitions without
+ giving a {mntpoint}
+
+2005-12-18 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, standalone.pm: allow common.pm and
+ standalone.pm to be used in drakxtools-backend without
+ perl-Locale-gettext
+
+2005-12-18 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: fix bad typo
+
+2005-12-18 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/net_applet: replace sprintf_fixutf8 with
+ simple sprintf
+
+2005-12-17 12:46 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+
+2005-12-16 23:52 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: record on the fly, by piping creation step to
+ recording step (piping subs is probably not the way to do that,
+ committing it just for the record)
+
+2005-12-16 20:13 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: format usb device when asked only, use "mlabel -i
+ <dev> ::" to set label instead
+
+2005-12-16 20:03 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: allow to format the recorded media
+
+2005-12-16 19:56 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: remove undeclared and useless variable
+
+2005-12-16 17:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Removed
+ "localhost" from the DISPLAY veriable, it broke the
+ authorization to pop up the printerdrake window on the user's
+ desktop when a new USB printer was plugged.
+
+2005-12-16 17:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Removed
+ "localhost" from the DISPLAY veriable, it broke the
+ authorization to pop up the printerdrake window on the user's
+ desktop when a new USB printer was plugged.
+
+2005-12-16 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: when upgrading,
+ merge existing modprobe.conf (and do it when /mnt is mounted, not
+ before!)
+
+2005-12-15 19:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: record live cdroms using cdrecord
+
+2005-12-15 19:34 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: create cdrom master using mkisofs
+
+2005-12-15 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: it's useless to pre-create sdX devices, nash will
+ do it
+
+2005-12-15 19:29 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: avoid storage specific stuff in bootloader
+ preparation
+
+2005-12-15 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: always use system's losetup instead of nash's,
+ required for loopbacks on read-only systems
+
+2005-12-15 19:22 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: cdrom must be mounted read-only
+
+2005-12-15 19:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: /sys is required for cdrom labels
+
+2005-12-15 19:19 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use correct module and mount type for cdrom
+ storage
+
+2005-12-15 19:16 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: make storage description more configurable
+
+2005-12-15 19:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.5-1mdk
+
+2005-12-15 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: keep install_messages.pm for
+ finish-install
+
+2005-12-15 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: (acceptLicense)
+ introduce a wrapper around any::acceptLicense()
+
+2005-12-15 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm: (acceptLicense) load the needed modules
+
+2005-12-15 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm: (acceptLicense) only show release notes at
+ install time
+
+2005-12-15 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: finish-install: ask for license
+ agreement before doing anything else
+
+2005-12-15 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm: (acceptLicense) in standalone mode, when
+ license is rejected, just reboot
+
+2005-12-15 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm:
+ (acceptLicense) move it from install_steps_interactive.pm into
+ any.pm so that it is availlable from within finish-install
+
+2005-12-15 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-12-15 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-12-15 13:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-12-15 12:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, id.po, is.po, it.po, ja.po, ltg.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, he.po,
+ hi.po, hr.po, hu.po, ko.po, ky.po: updated pot file
+
+2005-12-15 12:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: help.pm, install_interactive.pm,
+ diskdrake/interactive.pm: reuse translation of "Next" button;
+ merged duplicate strings
+
+2005-12-15 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: since we use utf8 in source
+ code, say it explicitly
+
+2005-12-15 11:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: ChangeLog, drakxtools.spec,
+ install_interactive.pm, harddrake/TODO, share/net_applet.desktop,
+ share/po/DrakX.pot: fixed encoding to UTF-8
+
+2005-12-15 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: fix dropping sprintf_fixutf8 (i committed
+ the wrong version...)
+
+2005-12-15 10:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install_steps_gtk.pm, lang.pm,
+ wizards.pm, c/stuff.pm, c/stuff.xs.pl, network/modem.pm: - i had
+ foolishly removed c::iconv whereas it was used still used by
+ c::from_utf8 and c::to_utf8 - anyway, moving c::from_utf8 and
+ c::to_utf8 to common::from_utf8 and common::to_utf8 - making them
+ use Locale::gettext::iconv - Locale::gettext::iconv transform
+ undef into standard charset (1.05-2mdk) - drop
+ c::standard_charset (now unused)
+
+2005-12-15 09:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: get rid of sprintf_fixutf8 which is no
+ more needed with current perl (it has been fixed long ago: before
+ perl 5.8.3 (MDK10.0))
+
+2005-12-15 09:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: Locale::gettext is not parsed
+ correctly
+
+2005-12-15 09:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, drakxtools.spec, lang.pm, mygtk2.pm,
+ standalone.pm, c/stuff.xs.pl, share/list.xml: use Locale::gettext
+ for dgettext, bindtextdomain and bind_textdomain_codeset instead
+ of module c (that way we can also use dngettext, and it's more
+ modular)
+
+2005-12-15 08:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: c::iconv() is not used anymore (and
+ if needed, there is Locale::gettext::iconv())
+
+2005-12-14 19:01 David Baudens <baudens at mandriva.com>
+
+ * perl-install/install_interactive.pm: - s/Windows.*/Microsoft
+ WindowsR/ - don't say "press OK" when only a Previous or Next
+ button is shown
+
+2005-12-14 18:43 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/26.pl: s/maintain/keep/
+
+2005-12-14 18:36 David Baudens <baudens at mandriva.com>
+
+ * perl-install/install_messages.pm: Keyboards have an Enter key and
+ not a Return key
+
+2005-12-14 15:44 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: move jfs and xfs in fs/local, so that
+ they get included in stage1
+
+2005-12-14 13:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2005-12-14 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: fix handling absolute binary in
+ chroot (and add some comment about the usefulness of catching
+ program not found early)
+
+2005-12-13 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: package lsb is requiring many locales
+ though we don't want it to be installed only if those many
+ locales are chosen. So discarding those locales requires
+ (bugzilla #20183)
+
+2005-12-13 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm: package lsb is requiring many locales
+ though we don't want it to be installed only if those many
+ locales are chosen. So discarding those locales requires
+ (bugzilla #20183)
+
+2005-12-13 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: restore behaviour broken in commit 1.371
+ (nb: {lang} is not always set in {langs} at that time)
+
+2005-12-12 16:03 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakbackup, man/C/man5/drakbackup.5,
+ man/C/man5/drakbackup.conf.5: Fix some instances of 100% cpu on
+ combo-box 'changed' in "Advanced When". Update drakbackup.conf
+ man page with new options. Add drakbackup man page.
+
+2005-12-09 05:21 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-12-08 15:35 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po, DrakX.pot: Updatd POT file.
+
+2005-12-08 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: fix default
+ metric setting for wifi interfaces (thanks to Mickaël Le Baillif
+ for pointing this out)
+
+2005-12-08 13:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: fix default
+ metric setting for wifi interfaces (thanks to Mickaël Le Baillif
+ for pointing this out)
+
+2005-12-07 19:42 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: rename sparsefs mount as loopfs, make it take
+ loopback file size as option (pre_allocate), and add new
+ predefined squash mounts
+
+2005-12-07 17:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add ndiswrapper in INSTALL section,
+ commonly used for wireless cards
+
+2005-12-07 17:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't try to install an old library
+ (that is anyway pulled by other packages)
+
+2005-12-07 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: remove duplicated code
+
+2005-12-07 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: use syslinux -s, "safe, slow and stupid" version
+ of SYSLINUX
+
+2005-12-07 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (bestKernelPackage) install i586 kernel
+ flavor for live systems
+
+2005-12-06 23:44 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: install nscd on laptops
+
+2005-12-06 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't overwrite ONBOOT setting when
+ writing adsl configuration
+
+2005-12-05 20:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: https proxy support (#19666)
+
+2005-12-05 16:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: make unicorn and madwifi
+ tools package optionnal
+
+2005-12-05 16:47 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: NVU is the new defaut Web editor in
+ Mandriva Linux
+
+2005-12-05 15:18 Antoine Ginies <aginies at mandriva.com>
+
+ * docs/HACKING: add missgin requires to build GI
+
+2005-12-05 13:27 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: revert to cp_f
+
+2005-12-05 13:21 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add support for writable sparse loopbacks
+
+2005-12-05 01:51 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-12-04 06:37 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT
+ file.
+
+2005-12-02 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (do_switch) make it more
+ readable
+
+2005-12-02 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: mount.c, tools.c: support jfs and xfs
+
+2005-12-02 15:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_auto_install.pm,
+ install_steps_interactive.pm: load all ethernet modules in all
+ installation modes (fixes the problem of firewire not being
+ loaded in automatic mode)
+
+2005-12-02 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: add user_xattr (useful for
+ beagle, cf bugzilla #15068)
+
+2005-12-02 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: lilo handles / on RAID1, so don't warn in
+ that case (#20021)
+
+2005-12-01 17:35 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add cdrdao-gcdmaster to burn audio
+ on gnome
+
+2005-11-30 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-11-30 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-11-30 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_interactive.pm,
+ install_steps_interactive.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, diskdrake/smbnfs_gtk.pm: typo fix
+
+2005-11-30 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.4-1mdk
+
+2005-11-30 12:54 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-11-30 11:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr@Latn.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz@Latn.po, uz.po,
+ vi.po, wa.po, zh_CN.po, DrakX.pot, zh_TW.po: Updated POT file.
+
+2005-11-29 20:02 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: documentation fix
+
+2005-11-29 18:27 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: don't die if non-mandatory modules are missing,
+ warn and skip them
+
+2005-11-29 17:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: update zones file for
+ shorewall 3.0
+
+2005-11-29 17:09 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: add reference to the wiki page
+
+2005-11-29 12:48 Olivier Blin <oblin at mandriva.com>
+
+ * tools/draklive: initial import
+
+2005-11-29 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (do_switch) automatically
+ install packages
+
+2005-11-29 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_interactive.pm,
+ install_steps_interactive.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, diskdrake/smbnfs_gtk.pm: set title &
+ icon of banner for most partitionning steps
+
+2005-11-29 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_okcancel,ask_warn) enable to
+ set an icon (eg for banners at install time)
+
+2005-11-29 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: remove old outdated cleanup rule (it's no
+ more needed for years)
+
+2005-11-29 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: clean build requires: - glib2-devel and gtk+2-devel
+ are *NOT* needed - ext2fs2-devel is no more needed (we use vol_id
+ now) - rpm-devel is no more needed too (we only use it through
+ perl-URPM now)
+
+2005-11-28 19:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (switch) be more robust
+
+2005-11-28 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (do_switch) make package
+ installation actually work
+
+2005-11-28 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2005-11-28 16:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/modules.pl: qlogicisp is dead
+
+2005-11-28 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm: fix getting raid-extra-boot
+ (bugzilla #19965)
+
+2005-11-28 13:19 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: fix restoring many primary
+ partitions
+
+2005-11-28 12:06 Pixel <pixel at mandriva.com>
+
+ * rescue/: list.xml, tree/etc/rc.sysinit: disable the weird echoprt
+ in cooked mode for user interaction
+
+2005-11-26 08:32 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-11-25 20:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.3-1mdk
+
+2005-11-25 20:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-11-25 20:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (real_main) once ISP DB is
+ loaded, do not bother reload it
+
+2005-11-25 20:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (real_main) usuability:
+ preselect first ISP of user's country
+
+2005-11-24 14:44 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated zh_CN translation
+
+2005-11-23 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix for localedrake in text mode
+
+2005-11-23 18:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: allow to blacklist steps
+ in /etc/sysconfig/finish-install
+
+2005-11-23 18:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: locale is now set by
+ any::selectLanguage_standalone
+
+2005-11-23 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm: apply locale settings immediately
+
+2005-11-23 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml, rescue/list.xml: adapt to
+ MDV::Packdrakeng
+
+2005-11-23 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: don't use /root/tmp if /root doesn't
+ exist (fixes using it in rescue)
+
+2005-11-23 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/finish-install: add ask_keyboard step
+
+2005-11-23 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, standalone/keyboarddrake: create new
+ function and use it
+
+2005-11-23 15:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: make dialog variable local, to
+ avoid crappy workarounds that don't even work
+
+2005-11-22 15:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/devices.pm: add some useful devices for live systems
+ build
+
+2005-11-22 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: don't run Xnest if an auto_install file is
+ used
+
+2005-11-22 15:38 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: contatenate auto_install and defcfg files
+ into a new auto_install file in install root
+
+2005-11-22 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: do not commit suicide if Xnest isn't used
+
+2005-11-22 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * tools/drakx-in-chroot: remove destination dir as root, and create
+ it if not existent
+
+2005-11-22 14:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: qlogicisp was removed from the kernel
+
+2005-11-21 18:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.2-1mdk
+
+2005-11-21 16:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ifw.pm, monitor.pm: use new DBus typing
+ facilities
+
+2005-11-21 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pkgs.pm: fix rpmsrate negations when not installing
+ a live system
+
+2005-11-21 15:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file (better strings
+ in drakfont)
+
+2005-11-21 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) do not match
+ CAT_(KDE|GNOME|...) and ignore ! while installing a live system
+
+2005-11-21 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) let "build_live_system"
+ mode be selected by auto config file
+
+2005-11-21 15:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: typo fix
+
+2005-11-21 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) install all hardware
+ related packages when building a live system
+
+2005-11-21 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: ones less space
+
+2005-11-21 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) better let
+ rpmsrate handle ALSA packages installation
+
+2005-11-21 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) typo fix
+
+2005-11-21 13:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, harddrake/sound.pm,
+ share/rpmsrate, install_any.pm: install aoss too when installing
+ ALSA
+
+2005-11-21 13:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: perl_checker fix
+
+2005-11-21 13:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: refer to xorg.conf man page
+ instead of XF86Config (Yukiko Bando)
+
+2005-11-21 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: bpalogin is required for Telstra's
+ BPA cable connections
+
+2005-11-21 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: simplify text for option
+ "users" (was not accurate and much too verbose) (see also
+ bugzilla #19848)
+
+2005-11-21 10:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix catching fs::dmraid::init() failure
+
+2005-11-19 16:51 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-11-18 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug references in
+ 10.3-0.64.3.20060mdk's changelog
+
+2005-11-18 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug references in 10.4.1-1mdk's
+ changelog
+
+2005-11-18 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix release number after removing
+ %mkrel
+
+2005-11-18 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po: update
+
+2005-11-18 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT
+ file
+
+2005-11-18 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4.1-1mdk
+
+2005-11-18 14:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.3.20060mdk
+
+2005-11-18 14:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: rename 10.3-0.1.20060mdk as
+ 10.3-0.2.20060mdk since till previously uploaded an update :-(
+
+2005-11-18 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: perl_checker compliance
+
+2005-11-18 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: add button "Label" (in
+ expert for now) to set the "volume label" (and so get LABEL= in
+ fstab and lilo.conf)
+
+2005-11-17 19:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-11-17 14:38 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: have the same kernel for alt0 on both CD and
+ all.img
+
+2005-11-16 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: remember 'restricted' wireless
+ mode
+
+2005-11-16 16:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't crash if mandi isn't
+ started
+
+2005-11-16 16:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't screw up eagle-usb devices if
+ the firmware is already loaded
+
+2005-11-16 16:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't screw up eagle-usb devices if
+ the firmware is already loaded
+
+2005-11-16 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: all_ide category: only list IDE drivers
+ *not* compiled as modules
+
+2005-11-16 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new drivers: - IDE: cs5535, pata_amd,
+ pata_opti, pata_sil680, pata_triflex, pata_via - SCSI:
+ qlogicfas408
+
+2005-11-15 18:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: handle "users" the way "user"
+ is handled
+
+2005-11-15 18:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/interactive.pm, fs/mount_options.pm:
+ handle "users" the way "user" is handled
+
+2005-11-15 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: adapt to new
+ cat_() only accepting files, ie not doing popen anymore
+
+2005-11-15 13:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-11-14 15:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: remember 'restricted' wireless
+ mode
+
+2005-11-14 14:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't crash if mandi isn't
+ started
+
+2005-11-14 12:04 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-11-14 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade/conectiva.10/: map: fix upgrading
+ conectivaoffice pkg (bugzilla #18948)
+
+2005-11-12 18:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: monitor.pm: fix wireless network list
+ using iwlist (`` returns a defined empty string if the command
+ fails)
+
+2005-11-10 16:21 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: partimage_whole_disk takes care of
+ configuring network when needed
+
+2005-11-10 16:18 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: configure network if needed
+
+2005-11-10 15:55 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_rescue_img, tree/etc/rc.sysinit, list.xml: minimal
+ i18n support
+
+2005-11-10 14:48 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: new option (bzip2), enabled by
+ default
+
+2005-11-10 09:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: dmraid.pm: when calling dmraid, replace -ccs
+ and -ccr with -s -c -c and -r -c -c (the former doesn't work
+ anymore with dmraid 1.0.0 RC9) (cf #19654, thanks a lot to Thomas
+ Backlund)
+
+2005-11-08 17:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix zd1201 devices detection as
+ well
+
+2005-11-08 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: handle zd1201 as well
+
+2005-11-08 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.1.20060mdk
+
+2005-11-08 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-fix-parsing-dmraid.pl: log is mixed
+ with valid data (bugzilla #19654)
+
+2005-11-08 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add aic94xx, mptfc, mptsas, snd-asihpi &
+ snd-cs5535audio drivers
+
+2005-11-08 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/Makefile: (check) pcitable is compressed now
+
+2005-11-08 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, fs/dmraid.pm: do not call dmraid init()
+ by default, call it explictly (it helps patching dmraid)
+
+2005-11-08 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: dmraid.pm: log is mixed with valid data
+ (bugzilla #19654)
+
+2005-11-07 19:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, ms.po, wa.po, zh_TW.po: update
+ translations from TRUNK
+
+2005-11-07 19:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4-0.3mdk
+
+2005-11-07 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in requires
+ explanations
+
+2005-11-07 18:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use disconnected icon if no
+ route, even if wifi is associated
+
+2005-11-07 18:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: don't log wpa_cli/iwgetid/iwlist
+ commands
+
+2005-11-07 18:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't duplicate variables (MTU,
+ NETMASK, IPADDR) in ifcfg files (#19325)
+
+2005-11-07 18:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: temporary workaround to have
+ device-independant config files in wireless.d
+
+2005-11-07 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: set hostname only after packages
+ have been installed, or else graphical urpmi may fail
+
+2005-11-07 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix rt2400/rt2500 devices
+ detection (workaround for their missing "device" link in sysfs)
+
+2005-11-07 18:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't let interfaces with
+ unknown drivers be configured
+
+2005-11-07 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) properly handle
+ switch between nvidia & nvidia_legacy: prevent having both
+ nvidia_legacy-kerne and nvidia-kernel, thus resulting in having
+ two drivers with the same name:
+
+ The following packages have to be removed for others to be
+ upgraded: nvidia-7676-5mdk.i586 (en raison de conflit avec
+ nvidia_legacy-7174-3mdk.i586)
+
+ installing nvidia_legacy-7174-3mdk.i586.rpm
+ nvidia_legacy-kernel-2.6.12-12mdk-7174-1mdk.i586.rpm from
+ //mnt/disk/bin lemel nvidia-7676-5mdk.i586 Emaon o prienti ...
+ #############################################
+ 1/2: nvidia_legacy
+ #############################################
+
+ Relaunch XFdrake to configure your NVidia cards warning:
+ /etc/ld.so.conf.d/nvidia.conf saved as
+ /etc/ld.so.conf.d/nvidia.conf.rpmsave 2/2:
+ nvidia_legacy-kernel-2.6.12-12mdk#############################################
+
+ Error! This module/version combo is already installed for kernel:
+ 2.6.12-12mdk (i586) nvidia_legacy, 7174, 2.6.12-12mdk, i586:
+ installed (WARNING! Diff between built and installed module!)
+
+ root@du mdk/gi/perl-install # rpm -qa nvidia\*
+ nvidia_legacy-kernel-2.6.12-12mdk-7174-1mdk
+ nvidia-kernel-2.6.12-12mdk-7676-1mdk nvidia_legacy-7174-3mdk
+
+2005-11-07 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-11-07 15:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: add "Requires: perl-suid" for
+ fileshareset and filesharelist (bugzilla #17123)
+
+2005-11-07 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSagem) handle new ueagle-atm
+ driver
+
+2005-11-07 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ueagle-atm USB ADSL driver
+
+2005-11-05 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: don't log wpa_cli/iwgetid/iwlist
+ commands
+
+2005-11-04 18:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: use mkrel
+
+2005-11-04 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: make sure Net::DBus::Binding::Value
+ is loaded
+
+2005-11-04 16:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use $wnet variable name to
+ disambiguate wireless network and global net settings
+
+2005-11-04 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm: perl_checko cleanup
+
+2005-11-04 12:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm:
+ (is_network_install) use it whenever possible
+
+2005-11-04 12:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm: (set_raw) restart ypbind in
+ install too (killing old todo)
+
+2005-11-04 11:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't duplicate variables (MTU,
+ NETMASK, IPADDR) in ifcfg files (#19325)
+
+2005-11-03 18:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make it more readable
+
+2005-11-03 11:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: don't use /root/tmp if /root doesn't
+ exist (fixes using it in rescue)
+
+2005-11-02 16:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: temporary workaround to have
+ device-independant config files in wireless.d
+
+2005-11-02 13:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix typo (thanks to Berthy)
+
+2005-11-02 12:22 berthy
+
+ * perl-install/share/po/fr.po: Updated French translation
+
+2005-10-31 13:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Fixed setting up printers with
+ pre-made Foomatic PPD in /usr/share/cups/model (bug #19524).
+
+2005-10-29 05:30 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-10-28 18:05 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr@Latn.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz@Latn.po, uz.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po, DrakX.pot: Updated POT file.
+
+2005-10-28 15:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2005-10-27 20:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: crappy workaround for
+ rt2400/rt2500 and their missing "device" link in sysfs
+
+2005-10-27 20:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix typo
+
+2005-10-27 19:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't let interfaces with
+ unknown drivers be configured
+
+2005-10-27 18:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: use standard 'mac' modifier in
+ iftab for IEEE1394, EUI64 and IRDA
+
+2005-10-25 06:02 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2005-10-24 12:53 renato
+
+ * perl-install/share/po/pt_BR.po: 1 fuzzy and 1 not translated
+ strings.1 fuzzy and 1 not translated strings.1 fuzzy and 1 not
+ translated strings.1 fuzzy and 1 not translated strings.1 fuzzy
+ and 1 not translated strings.1 fuzzy and 1 not translated
+ strings.1 fuzzy and 1 not translated strings.1 fuzzy and 1 not
+ translated strings.1 fuzzy and 1 not translated strings.1 fuzzy
+ and 1 not translated strings.1 fuzzy and 1 not translated
+ strings.
+
+2005-10-24 02:46 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated Contact Info
+
+2005-10-23 19:41 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2005-10-23 14:36 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-10-22 14:46 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation update
+
+2005-10-22 13:56 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT
+ file.
+
+2005-10-21 20:30 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/initscripts/po/da.po
+ gi/perl-install/share/po/da.po
+
+2005-10-21 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: safer
+
+2005-10-21 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: ensure we don't load both
+ "/usr/X11R6/lib/modules/extensions/libglx.so" and
+ "/usr/X11R6/lib/modules/extensions/nvidia/libglx.so" (backported
+ from HEAD) (bugzilla #19285)
+
+2005-10-21 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: simplify (and make it more robust)
+
+2005-10-21 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: make it more easier to understand
+
+2005-10-20 20:14 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_rescue_img, partimage_whole_disk: reboot if things
+ went nicely
+
+2005-10-20 19:54 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: fix reboot by creating /dev/initctl
+ (what's this??) (it was broken when called in rc.sysinit, it was
+ working otherwise)
+
+2005-10-20 19:51 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: install_bootloader should succeed
+ otherwise it's an error
+
+2005-10-20 19:05 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: make install_bootloader non
+ interactive
+
+2005-10-20 19:01 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: add ability to keep existing /home
+ (as requested by miura)
+
+2005-10-20 18:52 Pixel <pixel at mandriva.com>
+
+ * rescue/install_bootloader: doesn't display prompt if auto
+
+2005-10-20 18:51 Pixel <pixel at mandriva.com>
+
+ * rescue/install_bootloader: add option --auto to install without
+ prompting
+
+2005-10-20 18:34 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: simplify (remove code choosing best
+ master to restore from)
+
+2005-10-20 18:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/detect.pm: old perl_checker compliance
+
+2005-10-20 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/detect.pm: old perl_checker compliance
+
+2005-10-20 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: need this to build po
+
+2005-10-20 18:08 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Fix test for dangling symlink
+
+2005-10-20 18:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - perl_checker fix.
+
+2005-10-20 18:04 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-10-20 18:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: old perl_checker compliance
+
+2005-10-20 16:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/cups.pm, printer/data.pm,
+ printer/default.pm, printer/detect.pm, printer/gimp.pm,
+ printer/main.pm, printer/office.pm, printer/printerdrake.pm,
+ printer/services.pm, standalone/printerdrake: - Updated
+ printerdrake to the state of Mandriva 2006: o HPLIP support
+ o Gutenprint support o support for several other new drivers
+ o Printer communication error handling o Main window of
+ printerdrake comes up faster o Many bug fixes and detail
+ improvements
+
+2005-10-20 15:53 neoclust
+
+ * perl-install/share/po/fr.po: Updated French translation
+
+2005-10-20 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: add "Requires: perl-suid" for
+ fileshareset and filesharelist (bugzilla #17123)
+
+2005-10-20 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-10-20 08:47 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: make it an option to keep
+ empty_space_at_end_of_disk
+
+2005-10-19 19:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: more meaningful message
+ (bugzilla #19249)
+
+2005-10-19 19:11 Pixel <pixel at mandriva.com>
+
+ * docs/comparisons: fix typo
+
+2005-10-19 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: increase "/" maxsize (bugzilla #19353)
+
+2005-10-19 13:25 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - use drakfirstboot wizard
+ instead of mdkonline
+
+2005-10-19 01:13 neoclust
+
+ * perl-install/share/po/fr.po: Updated French translation
+
+2005-10-18 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootsplash.pm: perl_checker cleanups
+
+2005-10-18 19:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: perl_checko cleanup
+
+2005-10-18 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4-0.2mdk
+
+2005-10-18 14:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not merge AGP section into
+ BRIDGES one (translation is availlable for quite a long time)
+
+2005-10-18 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: Club integration for
+ proprietary drivers: offer to subscribe to Mandriva Club if some
+ proprietary packages are needed and are not availlable, thus
+ allowing automatic download/installation of proprietary drivers
+ from Club
+
+2005-10-18 14:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add cassini (ethernet) & pdc_adma (SATA)
+ drivers
+
+2005-10-18 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-existing-md.pl: "mdadm --detail
+ --brief" doesn't contain "devices=..." anymore (since mdadm
+ 1.12.0), it needs option "-v" to keep previous behaviour
+
+2005-10-18 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: raid.pm: "mdadm --detail --brief" doesn't contain
+ "devices=..." anymore (since mdadm 1.12.0), it needs option "-v"
+ to keep previous behaviour
+
+2005-10-18 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, c/Makefile.PL, c/stuff.xs.pl,
+ fs/type.pm: use vol_id to find device type (fs_type and pt_type)
+
+2005-10-18 08:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: separate hpfs and ntfs entries (even if
+ they both use the same type id in partition table) (bugzilla
+ #19322) (and also remove the special ppc case which is useless
+ inside a /^i.86|x86_64/ condition)
+
+2005-10-18 02:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker fix
+
+2005-10-17 21:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use disconnected icon if no
+ route, even if wifi is associated
+
+2005-10-17 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: also describe drakconnect changes
+ in 10.4-0.1mdk's changelog
+
+2005-10-17 19:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.4-0.1mdk
+
+2005-10-17 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: make it somewhat clearer
+
+2005-10-17 18:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-10-17 18:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: do display the driver
+ description (#5403)
+
+2005-10-17 12:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-10-17 09:11 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-10-15 09:25 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz@Latn.po, uz.po,
+ vi.po, wa.po, zh_CN.po, DrakX.pot, zh_TW.po: Updated POT file.
+
+2005-10-14 18:06 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-10-12 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: add a couple comments
+
+2005-10-12 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: commands, harddrake/data.pm, standalone/drakperm:
+ perl_checker cleanup
+
+2005-10-10 15:40 renato
+
+ * perl-install/share/po/pt_BR.po: Solved some fuzzy and not
+ translated strings.
+
+2005-10-10 15:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix typo (reported by PierreLag)
+
+2005-10-10 13:41 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-10-10 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-no-dmraid.pl: option "nodmraid" is
+ broken in mdv2006
+
+2005-10-10 09:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix typo
+
+2005-10-09 03:47 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-10-08 20:44 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, ltg.po, lt.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr@Latn.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz@Latn.po, uz.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT file
+
+2005-10-08 19:37 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/DrakX.pot: Updated POT file.
+
+2005-10-07 18:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: fix previous commit so that
+ "prog1|prog2" like construction still work
+
+2005-10-07 10:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: fix buggy previous commit, cleanup
+ and correctly indent. previous commit was: do not clober output
+ files (stdout or stderr) when binary cannot be found (#18987)
+
+2005-10-07 03:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (miscellaneous_choose) try
+ harder to explain (#17261)
+
+2005-10-07 03:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: (raw) do not clober output files
+ (stdout or stderr) when binary cannot be found (#18987)
+
+2005-10-06 22:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/rpmsrate, lang.pm: scim-anthy-0.7 needs
+ kasumi
+
+2005-10-06 21:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: (config_window) properly
+ report no configurable parameter (#17579)
+
+2005-10-06 16:18 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: fix (same behaviour as before, but
+ option save_home_directory really mean what it says)
+
+2005-10-06 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: remove duplicate case
+
+2005-10-06 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (libgl_config) - handle
+ nvidia_legacy - don't create files (and thus don't run ldconfig
+ when not needed)
+
+2005-10-06 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (to_raw_X) make it more readable
+ and ensure only one glx is loaded: - factorize test -
+ set_load_module with test on DRI_GLX_SPECIAL doesn't work when
+ DRI_GLX_SPECIAL isn't set o remove vendor's glx when
+ DRI_GLX_SPECIAL is not set
+
+2005-10-06 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (to_raw_X, install_server) fix X11
+ segfaulting with nvidia driver, aka prevent loading both Xorg's
+ glx and nvidia's glx (also prevent glixinfo from segfaulting when
+ using nv driver while nvidia packages're installed btw)
+
+2005-10-05 19:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: don't modify
+ /etc/ld.so.conf.d/{nvidia,ati}.conf if file does not exist
+ (otherwise at package install time, one gets a .rpmnew)
+
+2005-10-05 19:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (get_sysfs_usbpath_for_block)
+ introduce it in order to factorize code
+
+ (complete_usb_storage_info) use sane way for handling multiple
+ USB disks of the same vendor (aka compare hosts)
+
+2005-10-05 14:04 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: acpi=ht is bad on some boxes
+ (=> sata_sis not working)
+
+2005-10-03 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: (read_raw) explain (ie add
+ comments)
+
+2005-10-03 18:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: use /lib/firmware as default
+ firmware directory
+
+2005-10-03 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) install powernowd
+ on x86_64 (since they've the cool&quiet technology) and athcool
+ on athlon32
+
+2005-10-03 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) "alsa" doesn't
+ exists
+
+2005-10-03 11:39 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-10-03 09:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-new-dmraid.pl: allow using an
+ updated dmraid
+
+2005-10-02 16:02 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-10-01 17:10 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Small consistency changes
+
+2005-09-30 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakhelp: fallback nicely, trying english
+ if i18n doc not available (need a change in ctxhelp, but won't
+ fail worse than current behaviour without it)
+
+2005-09-30 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakhelp: cleanup
+
+2005-09-29 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: nvidia installer now
+ uses a new place
+
+2005-09-29 17:04 renato
+
+ * perl-install/share/po/pt_BR.po: 3 errors in pt_BR for
+ drakconf.po.
+
+2005-09-29 13:58 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add stellarium
+
+2005-09-29 12:47 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: don't print empty rejected list
+
+2005-09-29 12:47 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: keep 2.4 compatibility aliases in modules list
+ for stage1
+
+2005-09-29 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: simplify (Pixel, me sux)
+
+2005-09-29 10:31 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: the perl_checker compliant way
+
+2005-09-29 01:27 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: factorize chomps
+
+2005-09-29 01:22 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: fix typo
+
+2005-09-29 01:21 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: restore disambiguating {; (even if
+ perl_checker doesn't support it)
+
+2005-09-28 23:31 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: test if
+ /etc/sysconfig/wizard_samba exist (commented)
+
+2005-09-28 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: perl_checker fixes
+
+2005-09-28 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: simplify
+
+2005-09-28 19:03 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-09-28 17:32 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: reject unavailable modules in stage1 list
+ (#18803)
+
+2005-09-28 17:30 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: use correct directory to list modules when
+ called from another directory
+
+2005-09-28 17:02 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: split all_modules.tar listing in
+ get_main_modules()
+
+2005-09-28 16:34 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: use all_modules.tar to get modules list
+
+2005-09-28 16:19 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: handle kernel naming such as
+ kernel-i586-up-1GB-2.6*
+
+2005-09-28 16:18 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: use local RPMS directory (/RPMS isn't used
+ anywhere now)
+
+2005-09-28 14:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Removed HPOJ and subpackages from
+ rpmsrate (obsolete, replaced by HPLIP). - Removed mtoolsfm
+ from rpmsrate (was only needed by HPOJ).
+
+2005-09-28 14:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/detect.pm, printer/main.pm,
+ printer/printerdrake.pm, standalone/printerdrake: - Let parallel
+ HP printers be set up with HPLIP. - Removed HPOJ support (HPOJ
+ obsolete, now completely replaced by HPLIP). - Warn the user if
+ an HP printer is connected via a port which is not supported by
+ HPLIP. - Fixed printerdrake freezing when choosing a machine as
+ remote CUPS server (for daemon-less client) which does not
+ exist or does not run CUPS. - Let network printer detection
+ also work if the DNS is misconfigured. - Let "Printer options"
+ entry in printer editing menu only disapppear if there are
+ really no options (entry disappeared also for Sagem MF3625 with
+ empty manufacturer name in the PPD). - Fixed raw queue being
+ shown with "driver: PPD" and not "driver: raw". - Do not use
+ "Unknown model" and "Unknown Model", this somtimes broke
+ identifying a print queue as being for an unknown printer. - Do
+ not die if /usr/share/hplip/data/xml/models.xml (HPLIP printer
+ database) is missing, this allows creation of live distros
+ without HPLIP. - Fixed loop of determining the HPLIP device
+ URI for local printers in the "printer::main::start_hplip()"
+ function.
+
+2005-09-28 14:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/detect.pm, printer/main.pm,
+ printer/printerdrake.pm, standalone/printerdrake: - Let parallel
+ HP printers be set up with HPLIP. - Removed HPOJ support (HPOJ
+ obsolete, now completely replaced by HPLIP). - Warn the user if
+ an HP printer is connected via a port which is not supported by
+ HPLIP. - Fixed printerdrake freezing when choosing a machine as
+ remote CUPS server (for daemon-less client) which does not
+ exist or does not run CUPS. - Let network printer detection
+ also work if the DNS is misconfigured. - Let "Printer options"
+ entry in printer editing menu only disapppear if there are
+ really no options (entry disappeared also for Sagem MF3625 with
+ empty manufacturer name in the PPD). - Fixed raw queue being
+ shown with "driver: PPD" and not "driver: raw". - Do not use
+ "Unknown model" and "Unknown Model", this somtimes broke
+ identifying a print queue as being for an unknown printer. - Do
+ not die if /usr/share/hplip/data/xml/models.xml (HPLIP printer
+ database) is missing, this allows creation of live distros
+ without HPLIP. - Fixed loop of determining the HPLIP device
+ URI for local printers in the "printer::main::start_hplip()"
+ function.
+
+2005-09-28 14:30 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some translation corrections
+
+2005-09-27 19:57 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some translation corrections
+
+2005-09-27 19:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install2.pm: (main) do not stop bootsplash on
+ globetrotter
+
+2005-09-27 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm: (autologin) always show the autologing
+ config step for globetrotter
+
+2005-09-27 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm: (autologin) always enable autologin on
+ globetrotter
+
+2005-09-27 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: backport 1.43 fix: add missing
+ chomp_
+
+2005-09-27 12:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: fixed end of line
+
+2005-09-27 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: ensure we don't prompt things when we
+ are not interactive
+
+2005-09-27 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-2006-auto_install_LDAP_auth.pl: fix
+ error calling ask_okcancel on object install_steps_auto_install
+ when setting LDAP authentication
+
+2005-09-27 11:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: cleanup, and especially call
+ ensure_are_installed with parameter "auto" during install (esp.
+ to fix calling authentication::set with $o which is not
+ interactive)
+
+2005-09-27 11:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: get rid of "rpmq: no arguments given for
+ query" (eg: when calling ensure_are_installed with an empty list)
+
+2005-09-27 02:52 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Avoid wiping out user cron
+
+2005-09-27 00:56 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Add EA (xattr) to star
+ Optional view restore log Redo compression flag set code
+
+2005-09-26 22:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Extended ACL support user
+ star (#17761) Multiple email recipients (user requested feature)
+ Code cleanups, use do_pkgs->install Fix bug on restore with file
+ in 2 archives
+
+2005-09-26 18:57 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Install mkisofs if needed.
+ Refuse to creates images without a NIC.
+
+2005-09-26 17:22 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some translation corrections
+
+2005-09-26 16:19 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some translations corrections
+
+2005-09-26 15:59 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some corrections
+
+2005-09-26 11:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use compact by default, it is
+ strongly suggested in lilo's documentation even if it can lead to
+ bios issues.
+
+ to be disabled if it causes pbs
+
+2005-09-26 10:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Comment fix
+
+2005-09-26 10:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: - password entry field should not
+ show the password (bugzilla #18800) - fix typo
+
+2005-09-26 07:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/move.pm: (init) hotplug is obsoleted by udev
+
+2005-09-26 05:01 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-25 23:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/pl.po: fix obviously wrong translation
+ (#18831)
+
+2005-09-25 14:36 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix mis-sorted progress bars
+
+2005-09-25 14:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix mis-sorted progress bars
+
+2005-09-25 14:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix mis-sorted progress bars
+
+2005-09-25 14:01 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix mis-sorted progress bars
+
+2005-09-25 11:05 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translations.
+
+2005-09-24 18:11 Inigo Salvador Azurmendi <xalba at euskalnet.net>
+
+ * perl-install/share/po/eu.po: 20 itzulpen falta dira.
+
+2005-09-24 02:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Profile support (#17566)
+ Enhance cron support o weekday ranges (#18290) o multiple
+ cron jobs o use profiles
+
+2005-09-23 23:59 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Almost done
+
+2005-09-23 15:44 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Some corrections
+
+2005-09-23 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: - fix skype ad - translate a few
+ more ads
+
+2005-09-23 11:20 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/: de.po, es.po, fr.po, it.po: fixed
+ translation for the skype string
+
+2005-09-23 01:54 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Using a better translation string
+ (interactive firewall).
+
+2005-09-22 18:11 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-09-22 17:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: cleanup sanitize_ver(), makes label
+ longer but cleaner
+
+2005-09-22 17:03 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-09-22 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, lvm.pm: fix typos (thanks to Arpad
+ Biro)
+
+2005-09-22 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (interactive_mode) fix layout
+
+2005-09-22 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-22 14:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (license_msg) merge 2 similar
+ strings
+
+2005-09-22 13:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/mk.po: updated Macedonian file
+
+2005-09-22 13:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/mk.po: updated po file
+
+2005-09-21 23:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-09-21 23:11 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updated translation
+
+2005-09-21 22:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added "fo" keyboard
+
+2005-09-21 22:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: synchronized XKB keyboard names with
+ what is in latest xorg
+
+2005-09-21 14:05 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-09-21 13:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: set hostname only after packages
+ have been installed, or else graphical urpmi may fail
+
+2005-09-21 02:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2005-09-20 19:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tg.po: updated Tajik file
+
+2005-09-20 18:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: mindawn default, a320raid pci ids
+ too
+
+2005-09-20 18:11 neoclust
+
+ * perl-install/share/po/de.po: Updated translation from Frank
+ K.ster
+
+2005-09-20 18:08 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add skype
+
+2005-09-20 17:23 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2005-09-20 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: last inside a "do ... until ..." is bad
+
+2005-09-20 14:18 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: put lisa in level 4
+
+2005-09-20 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't warn lisa (which is installed by
+ default)
+
+2005-09-20 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-09-20 13:18 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-09-20 13:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix dvb crash during install
+
+2005-09-20 12:50 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix discovery-icons-theme position
+
+2005-09-20 12:15 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix discovery-icons-theme position
+
+2005-09-20 12:00 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ soft/menu-messages/main/da.po gi/perl-install/share/po/da.po
+
+2005-09-20 11:53 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix discovery-icons-theme duplicated
+
+2005-09-20 09:29 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add various packs customization
+
+2005-09-20 07:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: Updated sl translations.
+
+2005-09-20 05:58 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-20 00:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show IFW button even if not
+ connected (#18708)
+
+2005-09-20 00:28 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: * Sep 20 2005 Reinout van Schouwen
+ <reinout@cs.vu.nl> Last few strings in Dutch translation
+
+2005-09-19 23:19 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-09-19 22:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-19 22:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Do not auto-install
+ "sane-frontends" for MF devices.
+
+2005-09-19 21:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm: drop sr_mod
+ workarounds, it's now handled by udev coldplug
+
+2005-09-19 20:03 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/fr.po: fixes from marketing.
+
+2005-09-19 19:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't try to connect
+ auto-magically ethernet interfaces during configuration in
+ install
+
+2005-09-19 19:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: restart ethernet interface
+ for pppoe connections
+
+2005-09-19 19:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add some reminders, fix
+ indentation
+
+2005-09-19 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-19 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.64mdk
+
+2005-09-19 19:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix typo
+
+2005-09-19 18:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: various.pm: (setupFB) fix reading
+ bootloader config
+
+2005-09-19 18:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: test.pm, tools.pm: use mandriva.com for
+ connection tests
+
+2005-09-19 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: increase /usr max size
+
+2005-09-19 16:36 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Filled one more msg.
+
+2005-09-19 16:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate new ad
+
+2005-09-19 16:07 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-09-19 15:39 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz@Latn.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT
+ file
+
+2005-09-19 15:36 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po:
+ Updated POT file
+
+2005-09-19 15:32 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po: Updated POT file
+
+2005-09-19 15:28 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po: Updated POT file
+
+2005-09-19 15:20 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/DrakX.pot: Updated POT file.
+
+2005-09-19 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: update report.bug entries to have current
+ config files
+
+2005-09-19 14:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (wait_msg) kill debug message
+
+2005-09-19 13:38 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/list-dwd: fix skype and add intel
+
+2005-09-19 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: titi's patch is wrong, the
+ ->set_cursor being not done when selecting and exiting window on
+ the event (ie double clicking on the entry) we really would need
+ to do things more cleanly (i know on TextView ->scroll_to_mark
+ works better than ->scroll_to_cell)
+
+2005-09-19 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: ensure titi has the good
+ tab-width
+
+2005-09-19 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fs::proc_partitions::compare is no good
+ for dmraid, but we need to check if we agree with the kernel,
+ otherwise an uncatched error will occur (bugzilla #18655)
+
+2005-09-19 12:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/: intel.pl, intel.png: add intel
+ ad
+
+2005-09-19 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: ugly hack: wait for usb-storage devices
+ to appear (bugzilla #13395)
+
+2005-09-19 11:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/list-dwd: add skype add
+
+2005-09-19 10:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix hostap/orinoco driver
+ detection (#18294)
+
+2005-09-19 09:52 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: remove untranslated text
+
+2005-09-19 09:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix acroread rpmsrate completion
+
+2005-09-19 07:14 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-09-19 07:11 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-09-19 00:39 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translations.
+
+2005-09-18 23:53 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-09-18 22:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add reminder
+
+2005-09-18 22:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ standalone/draknfs, share/po/am.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/bn.po,
+ share/po/br.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fa.po, share/po/fi.po, share/po/fr.po, share/po/fur.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hi.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/ky.po,
+ share/po/lt.po, share/po/ltg.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/nn.po, share/po/pa_IN.po,
+ share/po/pl.po, share/po/pt_BR.po, share/po/pt.po,
+ share/po/ro.po, share/po/ru.po, share/po/sc.po, share/po/sk.po,
+ share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tl.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: typo fix
+
+2005-09-18 20:45 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/sv.po: Updated translations, fully
+ translated, was 60 fuzzy, 147 untranslated.
+
+2005-09-18 18:20 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: * Sep 18 2005 Reinout van Schouwen
+ <reinout@cs.vu.nl> Updated Dutch translation
+
+2005-09-18 03:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: force menu refresh when
+ interface status is modified (#18636)
+
+2005-09-18 02:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ standalone/drakgw, share/po/bg.po, share/po/bn.po,
+ share/po/br.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fa.po, share/po/fi.po, share/po/fr.po, share/po/fur.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hi.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/ky.po,
+ share/po/lt.po, share/po/ltg.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/nn.po, share/po/pa_IN.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sc.po, share/po/sk.po,
+ share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tl.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: typo fix
+
+2005-09-18 01:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.63mdk
+
+2005-09-18 01:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-18 01:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: display cards that offer
+ additional parallep port in the system class rather than in the
+ "unknown" section
+
+2005-09-18 01:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (custom_id) try harder to have a
+ sane name: before fallbacking to the class name (eg: "Printer"),
+ try to use the vendor name (eg for printers)
+
+2005-09-18 01:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm: add sr_mod in
+ modprobe.preload if needed (#18641)
+
+2005-09-18 00:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-09-17 21:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix typo (pterjan)
+
+2005-09-17 19:19 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2005-09-17 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix crash (ugtk2 dialog helpers
+ aren't imported)
+
+2005-09-17 16:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: Updated sl translations.
+
+2005-09-17 14:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - On USB printer hot-plugging
+ sometimes parallel printers are also shown in the window
+ popping up to ask whether the printer should be set up. Even
+ sometimes parallel printers which are not connected or turned
+ on any more were shown. Fixed.
+
+2005-09-17 13:18 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-09-17 11:28 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-09-17 11:11 Funda Wang <fundawang at linux.net.cn>
+
+ * rescue/: make_partimage_save_rest_all, tree/etc/issue,
+ tree/etc/rc.sysinit: Mandrake -> Mandriva series.
+
+2005-09-17 04:31 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-17 04:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Remove unclear text (not
+ needed, #18619)
+
+2005-09-17 02:01 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/initscripts/po/da.po
+ gi/perl-install/share/po/da.po
+
+2005-09-17 00:59 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/sv.po: Updated translations, was 89 fuzzy,
+ 245 untranslated, is now 60 fuzzy, 147 untranslated, will be 100%
+ tomorrow....
+
+2005-09-16 22:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-16 21:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (wait_msg) workaround gtk+ not
+ displaying subdialog contents
+
+2005-09-16 21:36 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: sl corrections from Jure Repinc
+ <jlp@holodeck1.com>.
+
+2005-09-16 21:35 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated zh_CN translation.
+
+2005-09-16 21:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-09-16 21:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (complete_usb_storage_info) using
+ a local value is just saner
+
+2005-09-16 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (complete_usb_storage_info)
+ delete {found} field once used
+
+2005-09-16 21:03 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Filled one untranslated msg.
+
+2005-09-16 20:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (complete_usb_storage_info) fix
+ getting data when multiple USB disks of the same vendor are
+ plugged
+
+ right thing would be to compare {host} but usb_probde() cannot
+ return SCSI host, thus descriptions might be switched if the
+ manufacturer altered them on latest discs
+
+ rationale:
+
+2005-09-16 19:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: pppoe_modem device doesn't exist
+
+2005-09-16 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: revert previous
+ simplification, it may break the unusual sagem over pppoe case
+
+2005-09-16 18:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: some modem configuration
+ programs modify modprobe.conf while drakconnect/the installer is
+ loaded, workaround it
+
+2005-09-16 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (create_treeview_list) run timer
+ only once
+
+2005-09-16 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (create_treeview_list)
+ workaround Gtk+ bug where it hides half the list (#18132)
+
+2005-09-16 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm,
+ install_steps_interactive.pm, network/adsl.pm: automatically
+ configure DSL connection on installation from DSL
+
+2005-09-16 17:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make sure $net->{ifcfg}{ppp0}
+ is a hash
+
+2005-09-16 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-09-16 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (configure_kdeglobals) kill dead variable
+
+2005-09-16 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: space cleaning (thx
+ perl_checko)
+
+2005-09-16 17:32 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/crypto.pm: more x86_64 mirrors (works, tested as
+ lftp $url -e exit)
+
+2005-09-16 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix ugly typo
+
+2005-09-16 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: URPM/Resolve.pm diff 1.109: "Remove the
+ return value of compute_installed_flags"... but alas install
+ still use it, so doing here what was done in
+ compute_installed_flags
+
+2005-09-16 16:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/po/fr.po: faicle->facile
+
+2005-09-16 16:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix probing of login name for pppoe
+ connections (peers file is more important than pppoe.conf)
+
+2005-09-16 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't use ifplugd for ethernet
+ devices associated with a pppoe/pptp connection
+
+2005-09-16 16:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: simplify pppoe
+ configuration code
+
+2005-09-16 16:24 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2005-09-16 16:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix crash when only one
+ interface is configured
+
+2005-09-16 16:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: comment/dis-comment the content of
+ ld.so.conf.d/{nvidia,ati}.conf instead of symlinking to a hidden
+ file (implies the new ati/nvidia packages have config(noreplace)
+ for those files)
+
+2005-09-16 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: instead of symlinking, comment the
+ content of the ld.so.conf.d/*.conf
+
+2005-09-16 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: come on titi, no need to check
+ we're root here
+
+2005-09-16 15:55 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix draknfs banner
+
+2005-09-16 15:49 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix drakhosts banner
+
+2005-09-16 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: fix typo
+
+2005-09-16 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: if ESSID is hidden, add
+ brackets around AP MAC address
+
+2005-09-16 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: don't call $advertize on
+ "Details" click otherwise it may call $advertize when chrooted
+ which we don't want. So changing behaviour: the button now only
+ hide or show, it doesn't change the current ad
+
+2005-09-16 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: during install, don't use half working
+ dmraids (#18386)
+
+2005-09-16 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (is_ifplugd_blacklisted) do not
+ blacklist anymore b44 since it now support reporting link status
+ according to Arnaud Monnet de Lorbeau
+
+2005-09-16 14:23 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-09-16 14:13 neoclust
+
+ * perl-install/share/po/it.po: Updated translation from Giuseppe
+ Levi
+
+2005-09-16 13:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Adapted file names to
+ check for to the changes on the HPIJ 0.91-8mdk packages.
+
+2005-09-16 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't load glx with fbdev (since
+ glx is used for various things nowadays, dixit fredl)
+
+2005-09-16 10:53 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/: skype.pl, skype.png: add skype
+ ad
+
+2005-09-16 02:23 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: just continue
+
+2005-09-16 00:09 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed wrong string g..fica
+ (thanks pixel).
+
+2005-09-15 23:10 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed some strings and misuses of
+ "esse/essa/isso".
+
+2005-09-15 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade/conectiva.10/map: have drakconf when
+ there was task-webmin-desktop
+
+2005-09-15 19:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: increase timeout after a
+ wireless network is selected
+
+2005-09-15 19:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't vivify hash ref
+
+2005-09-15 18:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.62mdk
+
+2005-09-15 18:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: show the main window very
+ early. thus: - users feels it startups faster - both main
+ window's icon subdialogs' ones work smoothly
+
+2005-09-15 18:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: restart hsf/hcfpci services
+ when needed
+
+2005-09-15 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to up/down any network
+ interface (backport of my 2005 patch for PSA)
+
+2005-09-15 17:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: fix borking entry
+ "linux" (removing root=xxx) when removing a kernel
+
+2005-09-15 16:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: support madwifi drivers
+
+2005-09-15 15:19 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-09-15 15:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: - call
+ installCallback() on "open" too - on "open" we are not chrooted -
+ setting advertising when chrooted could cause havoc if pango
+ wants to load a new font (eg: advertising #13 in pt_BR)
+
+2005-09-15 14:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: language proof from Gregor Pirnaver
+ <gregor.pirnaver@sdm-si.org>.
+
+2005-09-15 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - there is no more adverstising icon
+ - cleaning
+
+2005-09-15 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: - we do want
+ doPartitionDisks and formatPartitions to be done early on
+ upgrade, so that selectKeyboard is done when the partitions are
+ mounted - call set_all_default() (to fix fstab on upgrade) before
+ install packages so that {useSupermount} is correctly set
+ (maybe we could also move the set_all_default on install there)
+
+2005-09-15 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade/conectiva.10/map: ensure we have
+ gnome-volume-manager when we have gnome or kde (to handle cdrom
+ auto mounting)
+
+2005-09-15 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: since choosing keyboard is done after
+ mounting partition to upgrade, we can do things much more nicely
+ on upgrade: - keeping previous keyboard - or forcing prompting
+ keyboard when bad keyboard
+
+2005-09-15 12:20 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: Updated sl translation from Jure
+ Repinc <jlp@holodeck1.com>.
+
+2005-09-15 11:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: lower signal level given by
+ wpa_supplicant
+
+2005-09-15 08:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't try to update shorewall
+ configuration if it's disabled
+
+2005-09-15 07:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: drakconnect: update interfaces
+ list in shorewall
+
+2005-09-15 07:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: read shorewall net interface
+ from configuration file first
+
+2005-09-15 07:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't resize state icons
+
+2005-09-15 06:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: show refresh icon if network
+ isn't connected
+
+2005-09-15 06:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: show ESSID if already
+ configured for hidden ssid
+
+2005-09-15 06:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: move signal strength icon on
+ the left
+
+2005-09-15 06:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: refresh wireless networks
+ every minute only
+
+2005-09-15 06:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't automatically refresh
+ networks list
+
+2005-09-15 06:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: fix hidden ssid always
+ recognized as current when using iwlist
+
+2005-09-15 06:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use Managed mode if AP isn't
+ Ad-Hoc
+
+2005-09-15 06:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: better handling of ASCII WEP
+ keys (partial fix for #18558)
+
+2005-09-15 05:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/network.pm, standalone/drakroam:
+ drakconnect: write wireless settings in wireless.d/ as well
+
+2005-09-15 05:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: detect_devices.pm, network/monitor.pm,
+ standalone/drakroam, standalone/net_applet: fallback to wpa_cli
+ or iwlist/iwconfig when needed (#18516)
+
+2005-09-14 23:55 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed typos and one fuzzy.
+
+2005-09-14 23:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: try to load all ppp modules, even
+ if one of them fails
+
+2005-09-14 23:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: modprobe pppoatm for pppoa
+ connections
+
+2005-09-14 23:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: write ethernet aliases (and iftab) on
+ upgrade, so that eth1394 doesn't mess up interface ordering after
+ install
+
+2005-09-14 23:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/network.pm,
+ standalone/service_harddrake: call
+ network::ethernet::update_iftab from
+ network::ethernet::configure_eth_aliases
+
+2005-09-14 23:26 Michael Scherer <misc at mandriva.org>
+
+ * perl-install/standalone/localedrake: - allow to use --apply
+ anywhere on the command line ( thanks ennael for spotting this )
+
+2005-09-14 21:50 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updates from eskild
+
+2005-09-14 21:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: use nvidia legacy drivers for
+ TNT2/GeForce/GeForce2
+
+2005-09-14 19:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm, share/list.xml,
+ share/upgrade-map.conectiva.10, share/upgrade/conectiva.10/map,
+ share/upgrade/conectiva.10/pre.merge-groups.sh,
+ share/upgrade/conectiva.10/pre.remove-conflicting-files.sh: add
+ upgrade script for conectiva
+
+2005-09-14 19:35 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed Latin American (latam) and
+ Laotian (la) xkb keyboard names.
+
+2005-09-14 19:07 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: translation updates
+
+2005-09-14 17:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: if we have dmraid devices, use grub,
+ and not only if the boot device is on dmraid (bugzilla #18386)
+
+2005-09-14 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/resize_ext2.pm: don't succeed if resize2fs
+ failed
+
+2005-09-14 16:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/drakxtools.spec: Make drakxtools require gtkdialogs
+ for urpmi --gui
+
+2005-09-14 15:30 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr@Latn.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz@Latn.po, uz.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: Updated POT file.
+
+2005-09-14 15:10 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/network/pxe.pm: add auto_install option
+
+2005-09-14 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: do have all useful info in selected leaves,
+ including base packages, it won't be much longer but we can
+ precise choices like lilo vs grub
+
+2005-09-14 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: force our tmpdir to /root/tmp when
+ root and not isInstall (fixes installkernel being called with
+ sudo and not sudo -H) (thanks to fred crozat!)
+
+2005-09-14 13:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/DrakX.pot: Updated POT file.
+
+2005-09-14 13:31 Pixel <pixel at mandriva.com>
+
+ * advanced.msg.xml: - drop commenting option security=n - add
+ comment for nodmraid
+
+2005-09-14 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install2.pm: new option "nodmraid" do
+ ensure we don't use dmraid (useful since dmraid can be unused by
+ the user but still half working as far as dmraid knows)
+
+2005-09-14 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: log what dmraid -ccs and -ccr returns
+
+2005-09-14 12:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: support AVM FRITZ!Card DSL
+ USB v2.0
+
+2005-09-14 12:24 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2005-09-14 12:21 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: xorg 6.9
+
+2005-09-14 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: do log the prefered choice (esp. to debug
+ lilo vs grub)
+
+2005-09-14 11:10 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-09-14 10:46 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix two typos
+
+2005-09-14 08:06 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: add acroread7 l10n-* to be completed
+
+2005-09-14 02:59 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Clean up fuzzy entries
+
+2005-09-13 23:27 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updating drakx
+
+2005-09-13 22:48 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: There is no need manually specifying font
+ name, because we've already handled it perfectly in fontconfig.
+
+2005-09-13 22:38 rstandtke
+
+ * perl-install/share/po/de.po: update
+
+2005-09-13 21:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix untranslated messages
+ (#17969)
+
+2005-09-13 20:22 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translation.
+
+2005-09-13 19:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: fix start/stop of interfaces that
+ are not set to start on boot
+
+2005-09-13 19:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix device path for HCF
+ modems
+
+2005-09-13 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update (Stéphane Teletchéa)
+
+2005-09-13 18:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: migrate fstab
+ when upgrading an alien distro (should be done always?)
+
+2005-09-13 18:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: better call
+ Xconfig::various::runlevel() directly since it's not always
+ called
+
+2005-09-13 18:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: it seems we don't need re-ordering
+ steps anymore for upgrading (otherwise we would need to have
+ miscellaneous before doPartitionDisks so that useSupermount is
+ correctly set)
+
+2005-09-13 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: when taking screenshot during pkgs
+ install, we can be chrooted
+
+2005-09-13 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: for now, disable FTP in
+ media_browser since we don't handle it (#16088)
+
+2005-09-13 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade-map.conectiva.10: remove a lot of
+ unneeded devel packages
+
+2005-09-13 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: add some log message about interface auto
+ detection
+
+2005-09-13 16:57 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandriva.png: new installation banner
+
+2005-09-13 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: when taking screenshot during pkgs
+ install, we can be chrooted, in that case the icon is not
+ accessible
+
+2005-09-13 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: parse.pm, xfree.pm: handle DefaultDepth
+ (which is the same as DefaultColorDepth)
+
+2005-09-13 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.61mdk
+
+2005-09-13 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: allow forcing fbdev even if we
+ don't allowFB
+
+2005-09-13 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade-map.conectiva.10: try to have less
+ devel packages when conectiva's install didn't have them
+
+2005-09-13 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/upgrade-map.conectiva.10: - ensure msec is
+ there - ensure desktop-common-data is there when we have X - more
+ closer map to mandriva tools
+
+2005-09-13 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: !CAT_ICEWM is dangerous, replace it
+ with CAT_KDE || CAT_GNOME
+
+2005-09-13 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: sync japanese package list with rpmsrate
+
+2005-09-13 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install scim-qtimm for vi too
+
+2005-09-13 15:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/rpmsrate, lang.pm: vi: remove scim (already
+ selected by scim-m17n)
+
+2005-09-13 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: restore previous indentation and fix
+ a typo (hplip-hpijs)
+
+2005-09-13 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: use SCIM (scim-m17n & scim) by
+ default for Vietnamese users since x-unikey is broken
+
+2005-09-13 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: install scim-m17n & scim for vietnamese
+ users
+
+2005-09-13 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: use SCIM by default for Vietnamese users
+ since x-unikey is broken
+
+2005-09-13 15:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: add some 32-bit compat packages
+ (galaxy-kde + j2re)
+
+2005-09-13 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, bs.po, ca.po, cy.po, da.po, de.po,
+ eo.po, es.po, eu.po, fi.po, ga.po: fix extra accelerators
+
+2005-09-13 15:02 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix previous errors
+
+2005-09-13 14:55 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix previous errors
+
+2005-09-13 14:53 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update hardcoded mirror list (for FTP
+ suppl media)
+
+2005-09-13 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - drop splashimage if file can't be
+ found (useful when upgrading) - internally splashimage is
+ preferably a file, not a grub file
+
+2005-09-13 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: - do not set QT_IM_MODDULE to
+ GTK_IM_MODDULE when not supported (eg: fix im-ja) - explicitely
+ set the right QT_IM_MODULE
+
+ (Yukiko Bando)
+
+2005-09-13 14:10 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Low ressources setup
+
+2005-09-13 13:01 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - fix typo
+
+2005-09-13 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: when upgrading by removing pkgs,
+ ensure we keep the previous runlevel
+
+2005-09-13 12:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: for
+ local_install we don't want use_root_part to do anything
+
+2005-09-13 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: background and foreground are valid
+ menu.lst commands
+
+2005-09-13 12:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: - rename
+ readBootloaderConfigBeforeInstall() to read_bootloader_config() -
+ call read_bootloader_config() after installing packages (for the
+ case of grub scripts fixing the configuration, ie creating
+ device.map and install.sh)
+
+2005-09-13 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - create cleanup_entries() which
+ remove bad entries (and more verbosely than was done for
+ lilo.conf) and call it for all bootloaders (was only for lilo) -
+ keep removing duplicate labels only for lilo (and use uniq_)
+ (don't do it for grub since duplicate labels are allowed (???))
+
+2005-09-13 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: when upgrading and the keyboard config
+ is wrong, write the unsafe config
+
+2005-09-13 12:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: don't have title twice (we
+ already have it in the banner)
+
+2005-09-13 12:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Trim down message so it fits in the
+ window
+
+2005-09-13 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, Xconfig/default.pm,
+ standalone/keyboarddrake: - keyboard::read() now returns false if
+ the value is not recognised - new function
+ keyboard::read_or_default() which always returns a valid value
+
+2005-09-13 11:44 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-13 11:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Need more coffee
+
+2005-09-13 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, Xconfig/main.pm: silently ignore
+ existing X config file if upgrading an alien distro
+
+2005-09-13 10:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: When selecting mirrors in the mirror
+ list, if we find a mirror with the exact same architecture than
+ the current one, discard all other mirrors. This should avoid
+ listing i586 mirrors when installing on x86_64.
+
+2005-09-13 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: really skip setupBootloader in
+ local_install
+
+2005-09-13 01:22 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest strings fixed
+
+2005-09-12 23:01 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/keyboard.pm: last round of keyboard fixes
+
+2005-09-12 22:15 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/keyboard.pm: cz_qwerty => cz(qwerty)
+
+2005-09-12 22:09 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed some XKB keyboard names
+
+2005-09-12 22:07 neoclust
+
+ * perl-install/share/po/fr.po: updated by Berthy
+
+2005-09-12 21:39 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-09-12 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, bs.po, ca.po, cy.po, da.po, de.po,
+ eo.po, es.po, eu.po, fi.po, fr.po, ga.po: sync with KDE
+
+2005-09-12 18:53 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-09-12 18:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-09-12 18:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Typo fix
+
+2005-09-12 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: cy.po, ga.po: update
+
+2005-09-12 18:00 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-09-12 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/sr.po: one more translation from KDE
+
+2005-09-12 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bn.po,
+ bs.po, ca.po, da.po, de.po, el.po, eo.po, es.po, eu.po, fa.po,
+ fi.po, gl.po, he.po, hi.po, hr.po, is.po, it.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, ro.po, sq.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tr.po, uk.po, uz.po, vi.po, wa.po, zh_TW.po:
+ sync with KDE translations
+
+2005-09-12 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-09-12 17:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps.pm: Allow mini-iso install to install
+ urpmi properly
+
+2005-09-12 17:24 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated zh_CN translation.
+
+2005-09-12 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-09-12 17:15 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed new messages.
+
+2005-09-12 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: sync with
+ code
+
+2005-09-12 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) simplify
+
+2005-09-12 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) ensure
+ that both the user and the group are valid
+
+2005-09-12 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) remove
+ debug message
+
+2005-09-12 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) prevent
+ entering a path that is not absolute
+
+2005-09-12 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: simplify
+
+2005-09-12 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: shift_toggle is now called
+ shifts_toggle
+
+2005-09-12 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.60mdk
+
+2005-09-12 15:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Made configuring of auto
+ queue setup mode also during installation (some $::prefix were
+ missing).
+
+2005-09-12 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: our policy is not do display
+ version number in taskbar
+
+2005-09-12 14:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: our policy is not do display
+ version number in taskbar
+
+2005-09-12 13:59 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: install drakx-in-chroot in misc
+
+2005-09-12 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: fix looking for backup-ed release file
+ first
+
+2005-09-12 13:26 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Some translations
+
+2005-09-12 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create read_grub_menu_lst() and
+ read_grub_install_sh()
+
+2005-09-12 08:48 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-09-11 23:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: allow to write more modem
+ variables in ifcfg files
+
+2005-09-11 23:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: list and configure wireless
+ interfaces for which the firmware isn't available (#18195)
+
+2005-09-11 22:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: add more details when the
+ firmware file can't be found
+
+2005-09-11 22:46 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added klamav
+
+2005-09-11 22:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: misc documentation update,
+ fix some incorrect fields
+
+2005-09-11 22:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: check that required files are
+ available once the package is installed
+
+2005-09-11 22:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: require firmware version 2.3
+ for ipw2200 driver
+
+2005-09-11 20:41 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-09-11 13:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/fsedit.pm: Mask Xbox partitions hda50-54 during
+ install too.
+
+2005-09-11 00:05 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-09-10 15:24 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/vi.po: Updated vi translation from Larry
+ Nguyen <larry@vnlinux.org>.
+
+2005-09-10 03:12 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/install_messages.pm: Adopt new mandriva.com path
+
+2005-09-09 19:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) use qt-immodule again
+
+2005-09-09 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install scim-qtimm for CJK
+
+2005-09-09 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.59mdk
+
+2005-09-09 18:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: have same rpm config as when installing
+ pkgs
+
+2005-09-09 17:30 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2005-09-09 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: set META_CLASS"xxx" flag
+
+2005-09-09 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: have a progress bar when removing
+ packages
+
+2005-09-09 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: see if we have menu.lst first
+
+2005-09-09 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: play it safe (bugzilla #18390)
+
+2005-09-09 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle "module xxx" lines in menu.lst
+ (used for xen)
+
+2005-09-09 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: perl_checker fixes
+
+2005-09-09 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-09 16:06 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: More fixes for pt_BR.
+
+2005-09-09 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-09 15:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: support snd-intel8x0m by
+ writing SLMODEMD_MODULE in /etc/sysconfig/slmodemd
+
+2005-09-09 14:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/sl.po: Updated Slovenian translation from
+ Jure Repinc <jlp@holodeck1.com>.
+
+2005-09-09 13:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix adjustments creation
+ (#18295)
+
+2005-09-09 12:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-09 12:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove commented code
+
+2005-09-09 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-09 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: replace mozilla-mail (no more) with
+ mozilla-thunderbird
+
+2005-09-09 11:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: When adding http suppl media,
+ repropose the last url entered. Very useful in case of typo in
+ the url
+
+2005-09-09 11:09 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: More translations
+
+2005-09-09 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm: pass
+ around wait_message with progress bar capability
+
+2005-09-09 10:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: allow the wait_message progress bar
+ to be used more than once
+
+2005-09-09 00:29 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: * Sep 9 2005 Reinout van Schouwen
+ <reinout@cs.vu.nl> Updated Dutch translation by Rob Teng
+ <mandrake.tips@free.fr>
+
+2005-09-08 23:27 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-09-08 23:15 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translations.
+
+2005-09-08 22:21 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: adjust GUI ouput in
+ modify dialog box
+
+2005-09-08 19:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) fix banner's text
+ position since pixel has reduce its height
+
+2005-09-08 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_box_with_title) kill that dead
+ code path
+
+2005-09-08 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.58mdk
+
+2005-09-08 19:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: try not to use wrong "orinoco"
+ module (#18294)
+
+2005-09-08 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: allow to blacklist/whitelist
+ from the log window
+
+2005-09-08 18:38 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: rename openldap openldap-servers
+
+2005-09-08 18:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: force DEVICE field write for
+ ISDN configurations
+
+2005-09-08 18:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-08 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-08 17:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps.pm: Add a trace
+
+2005-09-08 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use Close instead of Quit
+
+2005-09-08 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-08 17:06 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-08 16:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix typo
+
+2005-09-08 16:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix grammar
+
+2005-09-08 16:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add reminder
+
+2005-09-08 16:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.57mdk
+
+2005-09-08 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: don't try to install both
+ source/precompiled dkms packages if one of them is installed
+
+2005-09-08 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle sata_mv
+
+2005-09-08 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-09-08 15:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: only enable built-in IFW
+ rules for now (too late to add strings for custom rules)
+
+2005-09-08 15:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: disable
+ roaming for rt2400/rt2500
+
+2005-09-08 15:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: really read system kppp
+ configuration (happy birthday little bug)
+
+2005-09-08 15:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/modem.pm, network/netconnect.pm,
+ standalone/drakconnect: do not let modem settings be overriden by
+ previous ppp0 settings
+
+2005-09-08 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix log
+
+2005-09-08 13:33 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: unset QT_IM_MODULE due to unsatisfied
+ qtimmodule support in Qt. If we don't touch QT_IM_MODULE, it
+ will cause KDE hangs up if upgrading from cooker to official.
+
+2005-09-08 13:26 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: Drop scim-qtimm due to unsatisfied
+ qtimm support in qt3
+
+2005-09-08 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: - when changing the card/monitor,
+ ensure the resolution is still valid - when switching to fbdev,
+ ensure we have a bios resolution
+
+2005-09-08 12:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: really fix sagem/speedtouch
+ detection
+
+2005-09-08 12:49 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/it.po: Updated it translation from Andrea
+ Celli <andrea.celli@libero.it>
+
+2005-09-08 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: insensitive categories for
+ which file is missing, thus preventing crashing (#16935)
+
+2005-09-08 02:46 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed a few more pt_BR messages.
+
+2005-09-07 19:25 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/: 01.png, 02.png, 03.png, 04.png,
+ 05.png, 06.png, 07.png, 08.png, 09.png, 10.png, 11.png, 12.png,
+ 13.png, 14.png, 15.png, 16.png, 17.png, 18.png, 19.png, 20.png,
+ 21.png, 22.png, 23.png, 24.png, 25.png, 26.png: update images
+ with new true color ones
+
+2005-09-07 19:03 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po: Updated POT.
+
+2005-09-07 18:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: ga.po, gl.po, ta.po, tg.po, th.po, tl.po,
+ tr.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, ko.po,
+ ky.po: Updated POT.
+
+2005-09-07 18:54 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: vi.po, wa.po, mk.po, mn.po, ms.po, mt.po,
+ ja.po, nb.po, nl.po, nn.po, lt.po, ltg.po, lv.po: Updated POT.
+
+2005-09-07 18:50 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, fa.po,
+ fi.po, fr.po, fur.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, id.po, is.po, it.po, he.po, hi.po, hr.po,
+ hu.po: Updated POT.
+
+2005-09-07 18:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: zh_CN.po, zh_TW.po, af.po, am.po, ar.po,
+ az.po, be.po, bg.po, bn.po, br.po, bs.po, da.po, de.po, uk.po,
+ uz.po, uz@Latn.po: Updated POT.
+
+2005-09-07 18:38 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, Makefile: Updated POT.
+
+2005-09-07 17:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix installation of eagle-usb
+ package
+
+2005-09-07 17:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Another 64-bit fix in
+ printerdrake. Now setup of HP's multi-function printers really
+ works on 64-bit boxes.
+
+2005-09-07 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: really preselect default
+ interface
+
+2005-09-07 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: show ppp/isdn interfaces as
+ well (#18303)
+
+2005-09-07 16:44 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: - install scsi and sata modules -
+ make save_home_directory optional (and is false by default)
+
+2005-09-07 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: (remove_module) better written
+ this way
+
+2005-09-07 16:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: - split is_useful_interface out
+ of is_lan_interface - split get_all_net_devices out of getNet -
+ add get_net_interfaces to include isdn/dsl interfaces
+
+2005-09-07 16:29 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updates
+
+2005-09-07 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: (remove_module) prevent wiping
+ /etc/modprobe.preload if module is unset (#16181)
+
+2005-09-07 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: silent error when ahci or ata_piix
+ insmod fail (ahci fails on vmware)
+
+2005-09-07 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: our hsf package is called
+ hsfmodem, not hsflinmodem
+
+2005-09-07 13:06 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: mirror list support for http method
+
+2005-09-07 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.56mdk
+
+2005-09-07 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/url.c: http redirection support
+
+2005-09-07 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: blacklist audio too
+ (#12731)
+
+2005-09-07 11:49 Pixel <pixel at mandriva.com>
+
+ * advanced.msg.xml: exporting display is for network installs
+ (bugzilla #18286)
+
+2005-09-07 11:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Give also access to the
+ CUPS auto administration dialog during installation.
+
+2005-09-07 00:44 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_TW.po: Updated zh_TW translation from
+ You-Cheng Hsieh <yochenhsieh@xuite.net>
+
+2005-09-06 23:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.55mdk
+
+2005-09-06 21:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: install chkrootkit if needed
+ (#17896)
+
+2005-09-06 21:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: fix status message
+ (#16925)
+
+2005-09-06 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: fix lame bug preventing usb and firewire
+ controllers to be recognized
+
+2005-09-06 19:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, main.pm, printerdrake.pm: - Made
+ printerdrake working on 64-bit systems, with /usr/lib64.
+
+2005-09-06 17:57 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-06 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: we prefer engine arts for amarok,
+ don't let the install choose arbitrarily
+
+2005-09-06 17:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: - Install
+ "desktop-printing" only on sytems with installed gnome-panel,
+ Discovery does not ship GNOME and also not desktop-printing.
+
+2005-09-06 17:04 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Don't install gnome-alsa-mixer when
+ detecting alsa, gstreamer-alsa is enough
+
+2005-09-06 16:52 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed endless loop when
+ clicking "Back" in model selection, when by autodetection no
+ model was found.
+
+2005-09-06 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: sm56 support
+
+2005-09-06 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add sm56 in network/modem
+
+2005-09-06 15:50 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Some fixes in handling
+ unknown printers.
+
+2005-09-06 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: do summaryBefore() only once (this will
+ reduce damage caused in bugzilla #18277)
+
+2005-09-06 15:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to run perl code as
+ post command
+
+2005-09-06 14:30 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: A few missing strings
+
+2005-09-06 14:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove a misleading comment
+
+2005-09-06 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: fix typo (Rafael)
+
+2005-09-06 13:58 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - don't package drakvpn as it is
+ unusable
+
+2005-09-06 13:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Do not set margins in CUPS when
+ HPIJS is the driver, for this driver the margins are already
+ well set. - Also match model name with added lower-case "hp"
+ with HPLIP XML database.
+
+2005-09-06 13:04 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - When auto-detecting network
+ printer models via SNMP, guess manufacturer name from model
+ name
+
+2005-09-06 11:35 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Remove Encrytion type for AD with
+ SFU (not tested) Change Label for AD Winbind (more explicit)
+
+2005-09-06 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: different entries are same even if
+ readonly value is not the same (since we dropped setting
+ readonly)
+
+2005-09-06 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: display in MBytes the
+ sizes instead of Bytes (not changing the string since the po is
+ frozen)
+
+2005-09-06 03:42 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: forgot to add CAT_BOOKS in previous
+ commit :p
+
+2005-09-05 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-05 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po: minor update
+
+2005-09-05 19:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-05 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix port range parser
+
+2005-09-05 19:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: use Image_using_pixmap to
+ display adverstising (nicer rendering on 16bpp displays)
+
+2005-09-05 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: new "Image_using_pixmap" which is
+ rendered using DITHER_MAX which is much better on 16bpp displays
+
+2005-09-05 18:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-09-05 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.54mdk
+
+2005-09-05 18:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: documentation packages are not named
+ as mandriva-doc-LL, cause we have already splitted them by
+ manuals/books.
+
+2005-09-05 17:39 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated translation
+
+2005-09-05 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-09-05 16:36 Wanderlei Antonio Cavassin <cavassin at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Fixed missing DrakX pt_BR
+ messages: msgcat'ed an old po and them merged with actual POT.
+ Now we have 100% translated (3861 msgs).
+
+2005-09-05 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pixmaps/steps_done.png: better image (soft border)
+
+2005-09-05 15:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: Fix newlines, once again
+
+2005-09-05 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add mandi-ifw in install section
+
+2005-09-05 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, cy.po, ga.po: update
+
+2005-09-05 15:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: At some point, an empty
+ hashref is autovivified in $packages->{medium}. So, protect the
+ loops that iterate over this hash, in application of the belt and
+ suspenders doctrine.
+
+2005-09-05 14:41 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/ja.po: Updated translation from Yukiko
+ Bando <ybando@k6.dion.ne.jp>.
+
+2005-09-05 14:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_TW.po: Updated Traditional translation
+ from You-Cheng Hsieh <yochenhsieh@xuite.net>.
+
+2005-09-05 12:19 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Don't crash when
+ xorg-x11 is not available
+
+2005-09-05 11:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Proper detection of network
+ interface at supplementary media setup
+
+2005-09-05 11:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: perl_checker fixes
+
+2005-09-05 11:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, standalone/drakauth,
+ standalone/finish-install: handle required package(s) not
+ installed correctly (bugzilla #18180)
+
+2005-09-05 11:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: create ->ensure_are_installed (alike
+ ->ensure_is_installed)
+
+2005-09-05 01:05 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-09-04 22:57 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translation
+
+2005-09-04 17:49 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, DrakX.pot, zh_CN.po, zh_TW.po: Updated POT file.
+
+2005-09-04 16:05 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: printer/printerdrake.pm,
+ standalone/draksambashare: Corrected typos.
+
+2005-09-04 15:13 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/ja.po: Updated Japanese translation from
+ Yukiko Bando <ybando@k6.dion.ne.jp>.
+
+2005-09-04 15:00 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-09-04 13:50 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-09-04 13:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ftp.pm: fix typo
+
+2005-09-03 19:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+
+2005-09-03 19:37 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-09-03 18:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set SSID for rt2400/rt2500
+ cards using WPA with an iwpriv command (#18205)
+
+2005-09-03 18:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Used Glib::Timeout->add()
+ function for auto-refreshing remote printer list.
+
+2005-09-03 15:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Fixed printer list
+ filtering in the main window, now one can also filter on the
+ state field, and pressing <Enter> after typing in the filter
+ string does not cause the filter being lost when hitting the
+ refresh button or doing some action. - Taken care that
+ auto-refreshing does not happen when the refresh function is
+ running.
+
+2005-09-03 15:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Auto-refresh the list of
+ remote printers in the main windows every 5 seconds.
+
+2005-09-03 00:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.53mdk
+
+2005-09-03 00:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Made reloading of parallel port
+ kernel modules (for auto-detection) also working if "ppdev"
+ module is loaded.
+
+2005-09-02 23:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/cups.pm, standalone/printerdrake: - Make
+ building of main window of printerdrake much faster.
+
+2005-09-02 23:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/services.pm: - Check for CUPS daemon running
+ without console output.
+
+2005-09-02 23:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Let also network printers be
+ found which do not answer to a broadcast ping (most newer HP).
+ This is done only in class C and smaller networks, to not scan
+ too many machines.
+
+2005-09-02 19:55 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, DrakX.pot, zh_CN.po, zh_TW.po: Updated POT file.
+
+2005-09-02 19:15 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add discovery-icons-theme for disco
+ in KDE
+
+2005-09-02 18:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.52mdk
+
+2005-09-02 18:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't exec new binary on
+ update
+
+2005-09-02 18:22 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: replace /lib/tls with /lib for
+ libraries collected using collect_needed_libraries (it was
+ already done for files collected using ldd)
+
+2005-09-02 18:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakhelp: perl_checker fix
+
+2005-09-02 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakhelp: prefix file path with file://
+ (mozilla-firefox needs a valid url)
+
+2005-09-02 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install_any.pm, install_steps.pm,
+ pkgs.pm, share/list.xml, share/upgrade-map.conectiva.10: - new
+ functionality: upgrade_by_removing_pkgs, enabled when upgrading
+ redhat and conectiva distributions - add file
+ upgrade-map.conectiva.10 for precise choice of packages - save
+ /etc/xxx-release into /root/drakx/xxx-release.upgrading when
+ starting - release_file(): look for xxx-release.upgrading first -
+ find_root_parts(): better logging about upgrade_by_removing_pkgs,
+ and factorize code - when all packages are installed, remove
+ xxx-release.upgrading and rename
+ pkgs::removed_pkgs_to_upgrade_file()
+
+2005-09-02 17:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Workaround : Don't call method directly
+
+2005-09-02 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: move code to
+ create_minimal_files()
+
+2005-09-02 14:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Removed hplip-hpijs-ppds, this
+ package is not really required.
+
+2005-09-02 14:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Use printer name
+ determined by HPLIP to auto-select PPD file of a network
+ printer where the model name was not determined by SNMP.
+
+2005-09-02 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't install hotplug anymore
+
+2005-09-02 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: cleanup
+
+2005-09-02 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: we want the release
+ extension
+
+2005-09-02 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: allow upgrading a local_install
+ (no need to call use_root_part)
+
+2005-09-02 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: set
+ {upgrade_by_removing_pkgs} when upgrading conectiva and redhat
+
+2005-09-02 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: rename
+ pkgs::rpmDbOpenForInstall() to pkgs::open_rpm_db_rw()
+
+2005-09-02 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: allow verbose removing of packages
+
+2005-09-02 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm, pkgs.pm: opening
+ rpm db in selectPackage(), so remove some rpmDbOpen()
+
+2005-09-02 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ pkgs.pm: new function select_by_package_names()
+
+2005-09-02 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: hoist things in install_any
+
+2005-09-02 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ interactive.pm, diskdrake/interactive.pm, fs/format.pm:
+ fs::format::wait_message() is now
+ ->wait_message_with_progress_bar (on interactive objects)
+
+2005-09-02 01:54 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/pt_BR.po: Updated pt_BR translation from
+ Arthur R. Mello <renato@conectiva.com.br>.
+
+2005-09-01 23:58 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo corrigido
+
+2005-09-01 22:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.51mdk
+
+2005-09-01 22:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: enable Ifw by default in high
+ security levels and enable the psd rule
+
+2005-09-01 21:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: require dbus_object only when needed
+
+2005-09-01 21:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/drakfirewall.pm, network/shorewall.pm,
+ share/rpmsrate: install and configure Interface Firewall in
+ drakfirewall
+
+2005-09-01 21:45 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/: 13.pl, 13.png: forgotten
+ pictures
+
+2005-09-01 21:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Do not display or use the
+ description field of the IEEE-1284 ID string of a printer if it
+ is shorter than 5 characters (Many HP printers have a 4-digit
+ number there).
+
+2005-09-01 19:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: create remove_raw(), remove() now retries
+ with option noscripts
+
+2005-09-01 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: run drakids on click if an
+ alert is still available
+
+2005-09-01 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: drivers/fglrx_drv.o is now
+ drivers/fglrx_drv.so
+
+2005-09-01 17:43 Warly <warly at mandriva.com>
+
+ * perl-install/: bootsplash.pm, standalone/draksplash: add few
+ parameters
+
+2005-09-01 16:27 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Change definition for Active
+ Directory with SFU and Active Directory Winbind Remove idmap ldap
+ backend for winbind AD (obsolete, see Samba 3.0.20)
+
+2005-09-01 16:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: interactive is unused
+
+2005-09-01 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix return value (thanks to blino for
+ finding the pb)
+
+2005-09-01 15:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: use window instead of
+ rwindow, they're equivalent
+
+2005-09-01 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: perl_checker compliance
+
+2005-09-01 14:23 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/ja.po: Updated Japanese translation from
+ Yukiko Bando <ybando@k6.dion.ne.jp>
+
+2005-09-01 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: allow Active Directory even on
+ non corporate product (requested by our commercial team)
+
+2005-09-01 13:53 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/pt.po: Fix newline in translation
+
+2005-09-01 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: preferred packages: - remove packages not
+ existing anymore - add nail and glibc-devel
+
+2005-09-01 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: help debugging packageCallbackChoices()
+
+2005-09-01 12:24 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Remove default_tgs_enctypes,
+ default_tkt_enctypes, permitted_enctypes from /etc/krb5.conf for
+ winbind configuration, Buzgilla 15232
+
+2005-09-01 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle "=" between keyword and value
+ (esp. useful for reading conectiva's menu.lst) (bugzilla #18090)
+
+2005-09-01 11:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: allow removing lines in
+ krb5_conf_update() (for vguardiola)
+
+2005-09-01 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: set TMPDIR and TMP during install
+ (bugzilla #18088)
+
+2005-09-01 11:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: cleanup
+
+2005-09-01 10:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix include path (#18103)
+
+2005-09-01 01:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: short-circuit and fix embedded
+ mode
+
+2005-08-31 22:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: avoid warning
+
+2005-08-31 22:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't display keyring icon if
+ the wireless network doesn't need a key (thanks to Couriousous)
+
+2005-08-31 20:39 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-08-31 20:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - When having added one's own PPD
+ file now it gets pre-selected in the printer/driver list.
+
+2005-08-31 18:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: initial
+ deployment server support
+
+2005-08-31 18:27 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated plus added new Translator
+
+2005-08-31 18:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - new advertising - nicer
+ "Details" mode
+
+2005-08-31 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: simpler and better code, allowing forcing
+ scrolling to bottom
+
+2005-08-31 18:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: use "to_bottom" functionality from mygtk2
+ (note that scroll_to_iter is no good for this, scroll_to_mark is
+ better (cf gtk's doc))
+
+2005-08-31 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: allow ScrolledWindow around TextView to
+ be automatically scrolled down on new text insert
+
+2005-08-31 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: allow file_ref to be false at Image
+ creation
+
+2005-08-31 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: allow adding text to a TextView with
+ gtkadd
+
+2005-08-31 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add "text_ref" for Label's
+
+2005-08-31 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add Label_Left
+
+2005-08-31 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add ProgressBar
+
+2005-08-31 17:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: handle hide_ref and show_ref
+
+2005-08-31 17:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: perl_checker fix
+
+2005-08-31 17:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Fixed retrieval of parallel
+ port base address.
+
+2005-08-31 16:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Fixed parallel printer
+ auto-detection and registered IEEE-1284 ID string for Mandriva
+ hardware database. - Fixed USB IEEE-1284 ID string output.
+
+2005-08-31 16:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add get_current_gateway_interface
+
+2005-08-31 15:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Added recording of IEEE-1284
+ device ID string, for USB printers.
+
+2005-08-31 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: ensure Gtk2::Banner::set_pixmap can be
+ used to change the text
+
+2005-08-31 14:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Fixed recognition of alredy set
+ up queues for auto queue setup, for several Xerox Phaser
+ printers the user was asked again and again to set up a print
+ queue.
+
+2005-08-31 14:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: move
+ is_ifplugd_blacklist in network::ethernet (and get rid of
+ madwifi_pci, it's wifi and supported by ifplugd)
+
+2005-08-31 13:55 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2005-08-31 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: set isUpgrade to
+ conectiva when we found a conectiva release file
+
+2005-08-31 13:33 Warly <warly at mandriva.com>
+
+ * perl-install/share/advertising/: 01.pl, 01.png, 02.pl, 02.png,
+ 03.pl, 03.png, 04.pl, 04.png, 05.pl, 05.png, 06.pl, 06.png,
+ 07.pl, 07.png, 08.pl, 08.png, 09.pl, 09.png, 10.pl, 10.png,
+ 11.pl, 11.png, 12.pl, 12.png, 13-a.pl, 13-a.png, 13-b.pl,
+ 13-b.png, 14.pl, 14.png, 15.pl, 15.png, 16.pl, 16.png, 17.pl,
+ 17.png, 18.pl, 18.png, 19.pl, 19.png, 20.pl, 20.png, 21.pl,
+ 21.png, 22.pl, 22.png, 23.pl, 23.png, 24.pl, 24.png, 25.pl,
+ 25.png, 26.pl, 26.png, 27.pl, 27.png, 28.pl, 28.png, 29.pl,
+ 29.png, 30.pl, 30.png, list-dis, list-dwd, list-ppp, list-pwp,
+ lpi.pl, lpi.png: add new advertising pictures
+
+2005-08-31 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: also look for conectiva-release
+
+2005-08-31 13:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm: instead of dirtying
+ pkgs::installCallback, use install_steps::installCallback (still
+ not clean, but better)
+
+2005-08-31 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix bad handle of the elapsed
+ time
+
+2005-08-31 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix typo
+
+2005-08-31 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, pkgs.pm: create
+ remove_marked_ask_remove() and use it
+
+2005-08-31 11:07 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation update
+
+2005-08-31 01:46 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Support for HPLIP URIs with
+ "?device=...", possible fix for bug #18041 and bug #18053.
+
+2005-08-30 23:36 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: use Combo instaed of
+ ComboBoxEntry to fiw 2 rows heigh bug
+
+2005-08-30 22:57 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-08-30 21:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix isdn config in manage
+ interface
+
+2005-08-30 20:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.50mdk
+
+2005-08-30 20:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po,
+ standalone/drakconnect, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pa_IN.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sc.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: use lower case 'i' in
+ iwconfig/iwpriv/iwspy (#18031)
+
+2005-08-30 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: don't translate strings here
+
+2005-08-30 19:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: really allow to select the
+ network
+
+2005-08-30 19:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - When setting up new queue
+ with HPLIP old HPOJ config was not deleted during installation.
+ Fixed.
+
+2005-08-30 18:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/monitor.pm, network/network.pm,
+ network/wireless.pm, standalone/drakroam: - configure
+ wpa_supplicant correctly for shared or passwordless connections -
+ split write_interface_setttings out of
+ network::network::write_interface_conf - wpa_supplicant may list
+ some networks twice, handle it - rewrite drakroam to use
+ wpa_supplicant
+
+2005-08-30 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: make MagicWindow re-entrant again (was
+ broken due to only one banner, eg. for drakx summary)
+
+2005-08-30 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - use noborderWhenEmbedded
+ instead of dirtying directly in WizardTable - use
+ children_centered to cleanly and correctly size the progress bar
+
+2005-08-30 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add children_centered (was already
+ children_tight, children_loose and children)
+
+2005-08-30 17:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update mirrorlist
+
+2005-08-30 17:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: i remember someone telling me gdm
+ should now be used instead of xdm when neither GNOME nor KDE are
+ selected. but it seems i've heard a ghost (or something alike),
+ so reverting
+
+2005-08-30 17:28 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: put comboxentry in a VBox (to
+ avoid 2 rows bug in comboboxentry)
+
+2005-08-30 17:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/drakxtools.spec: require xtest instead of the
+ /usr/X11R6/bin/xtest file
+
+2005-08-30 17:02 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: remove icon on all buttons
+
+2005-08-30 16:58 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updated translations
+
+2005-08-30 16:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Restart CUPS after
+ installing HPLIP for a network printer.
+
+2005-08-30 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: we don't want global vars in
+ mygtk2, move $::noborderWhenEmbedded to ugtk2
+
+2005-08-30 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: if_ is *not* short-circuit
+
+2005-08-30 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: allow net_applet to use vlan/alias
+ interfaces (thanks to Michael Scherer)
+
+2005-08-30 14:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: fix metric parser
+
+2005-08-30 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: ensure /boot/message-text exists (useful
+ when switching from grub to lilo)
+
+2005-08-30 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: vga_fb expects the vga mode,
+ not a boolean, fixing
+
+2005-08-30 13:49 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, ltg.po, lt.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, DrakX.pot, zh_TW.po: Updated POT file
+
+2005-08-30 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm,
+ interactive/newt.pm, interactive/stdio.pm: cleanup (translate
+ late, and move methods to upper class)
+
+2005-08-30 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: propose to create a default
+ bootloader configuration when no bootloader is found
+
+2005-08-30 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix ugly typo
+
+2005-08-30 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix "Cancel" in ask_okcancel
+
+2005-08-30 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle {message_text} not set but
+ /boot/message-text existing
+
+2005-08-30 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create suggest_message_text()
+
+2005-08-30 12:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: display wireless link icon in
+ net_applet if connected through wireless
+
+2005-08-30 12:27 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: in case of all_squash use
+ anongid=65534 and anongid=65534
+
+2005-08-30 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: tell writeandclean_ldsoconf happened
+
+2005-08-30 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup (remove duplicates)
+
+2005-08-30 12:07 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: support for alternate modules (allows to
+ load both ahci and ata_piix)
+
+2005-08-30 11:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: check wireless every 20
+ seconds only
+
+2005-08-30 11:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: ahci says "ahci: probe of %s failed with
+ error %d", but succeeds anyway, so we need to handle the
+ ahci/ata_piix case otherwise
+
+2005-08-30 09:02 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: Translation updates
+
+2005-08-30 00:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: reverse xdm-config logic
+ for XDMCP
+
+2005-08-29 21:21 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-08-29 19:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add prism2-utils in INSTALL section,
+ required for wlan-ng cards
+
+2005-08-29 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: smaller banner during install (as required
+ by warly & helene)
+
+2005-08-29 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: finish commit 1.387
+
+2005-08-29 17:40 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: create dir if it does not exist
+
+2005-08-29 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: put Cancel and Details button
+ on the right of the main progress bar
+
+2005-08-29 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: on 2002/07/10 (1.347), selected_leaves()
+ behaviour was broken, listing all packages. restoring it
+ (bugzilla #18000)
+
+2005-08-29 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle parsing of more complicated
+ setup line in install.sh
+
+2005-08-29 15:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksambashare: enhance typo fix
+
+2005-08-29 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix typo (#17978)
+
+2005-08-29 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: we don't want drakxtools-backend to
+ depend on perl-URPM
+
+2005-08-29 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, c/stuff.xs.pl, share/list.xml: use
+ vol_id to get filesystem label (we only handled the equivalenet
+ of e2label)
+
+2005-08-29 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo (thanks to perl_checker)
+
+2005-08-29 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle things like append="foo=\"bar
+ boo\"" (bugzilla #17937)
+
+2005-08-29 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle reading & writing \" in
+ lilo.conf
+
+2005-08-29 12:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: remove wrong test
+
+2005-08-29 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: s/apache2/apache/ (bugzilla #17951)
+
+2005-08-29 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: better logging of ahci vs ata_piix
+ special code
+
+2005-08-29 05:35 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-08-29 00:10 Inigo Salvador Azurmendi <xalba at euskalnet.net>
+
+ * perl-install/share/po/eu.po: eguneraketa
+
+2005-08-28 23:52 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: ka.c, ka.h: ka support (initially from Antoine
+ Ginies and Erwan Velu)
+
+2005-08-28 23:38 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img, kernel/modules.pl, mdk-stage1/Makefile,
+ mdk-stage1/config-stage1.h, mdk-stage1/network.c,
+ mdk-stage1/network.h, mdk-stage1/stage1.c, mdk-stage1/stage1.h,
+ mdk-stage1/stage1-data/stage1-with-ka.tar.bz2,
+ rescue/tree/etc/rc.sysinit, rescue/tree/ka/gen_modules_conf.pl,
+ rescue/tree/ka/hostnames, rescue/tree/ka/install.sh,
+ rescue/tree/ka/ka-d-client, rescue/tree/ka/make_initrd,
+ rescue/tree/ka/setup_network.sh, rescue/tree/ka/tftpserver: ka
+ support (initially from Antoine Ginies and Erwan Velu)
+
+2005-08-28 22:38 Inigo Salvador Azurmendi <xalba at euskalnet.net>
+
+ * perl-install/share/po/eu.po: eguneraketa
+
+2005-08-28 21:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: improve "dsl type" message
+ (thanks to Andreas)
+
+2005-08-28 20:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: restart associated ethernet
+ device for dsl connections needing it
+
+2005-08-28 19:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rephrase "DSL connection
+ type" message, the preselected type has better to be kept
+
+2005-08-28 19:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: move
+ %wireless_enc_modes in network::wireless
+
+2005-08-28 17:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use new wireless icons
+
+2005-08-28 15:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't blacklist ifplugd for
+ pcmcia interfaces
+
+2005-08-28 15:28 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-08-28 14:38 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-08-28 12:30 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po, DrakX.pot: Updated POT file.
+ Sorry about that :(
+
+2005-08-28 00:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - When doing
+ automatic queue setup with windows on the user's screen, do not
+ only source the users .i18n, but also the system's
+ /etc/sysconfig/i18n, so that the language is also correct when
+ the user uses the system's default language.
+
+2005-08-27 19:07 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2005-08-27 17:46 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: translation updates
+
+2005-08-27 15:51 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: now just we just need to
+ press enter to modify a file share
+
+2005-08-27 15:46 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add popup menu to easily
+ modify/remove share
+
+2005-08-27 13:21 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: translation updates
+
+2005-08-27 12:05 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-08-27 11:06 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/: drakhosts, draknfs: use new icons
+
+2005-08-27 10:37 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: cosmetix fix
+
+2005-08-27 10:32 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: various perl_checker fix
+
+2005-08-27 09:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: remove unused code
+
+2005-08-27 05:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, services.pm, interactive/gtk.pm,
+ network/drakfirewall.pm, network/network.pm, security/level.pm:
+ fill in missing titles for banners and specify icons
+
+2005-08-27 05:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages) ensure
+ there's no margin around advertisements (IHM request)
+
+2005-08-27 05:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_box_with_title) disable that code
+ path
+
+2005-08-27 05:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove spurious comma
+
+2005-08-27 05:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) add a banner at install time
+
+2005-08-27 05:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__MagicWindow) add a banner w/o
+ margin if provided one
+
+2005-08-27 05:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pixmaps/: banner-adduser.png, banner-bootL.png,
+ banner-exit.png, banner-generic-ad.png, banner-languages.png,
+ banner-license.png, banner-part.png, banner-pw.png,
+ banner-security.png, banner-summary.png, banner-sys.png,
+ banner-update.png: add banner icons
+
+2005-08-27 05:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2005-08-27 01:29 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: cosmetic fix
+
+2005-08-27 01:25 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add an about menu
+
+2005-08-27 00:55 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakbug: add drakhosts, draknfs,
+ draksambashare, set wrap width to 3 to show mandriva tools
+
+2005-08-27 00:35 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add icon in user, share,
+ printer notebook
+
+2005-08-27 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: sync list with latest saa7134
+ driver
+
+2005-08-27 00:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: add a cople missing titles
+
+2005-08-26 23:16 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: update icon (thx ln)
+
+2005-08-26 23:12 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/icons/ic82-users-16.png: add user icon
+ (16x)
+
+2005-08-26 23:03 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/icons/IC-sambaprt-16.png: add
+ sambaprinter icon
+
+2005-08-26 21:06 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/icons/: IC-Dhost-48.png, IC-Dssh-48.png,
+ IC-NFS-48.png, IC-winacces1-48.png, IC-winacces2-16.png: add new
+ icons
+
+2005-08-26 21:02 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: use drakgw icon
+
+2005-08-26 20:47 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add pixbuf image
+
+2005-08-26 19:23 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: check user in valid_list,
+ write_list ....
+
+2005-08-26 19:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: fix requires (gtk+-1.x => gtk+-2.x)
+
+2005-08-26 19:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Removed "Do not print
+ testy page" in test page step of add printer wizard (bug
+ #15861).
+
+2005-08-26 18:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: various fix in add user
+
+2005-08-26 18:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed message window in
+ the case that no local printer was found when running the add
+ printer wizard in beginner's mode (bug #16757).
+
+2005-08-26 18:13 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add a samba user without
+ passwd
+
+2005-08-26 18:06 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix double-click pb in
+ user tab
+
+2005-08-26 18:05 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add user tab
+
+2005-08-26 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: xorg modules: replace .a and .o with
+ .so
+
+2005-08-26 17:23 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add user tab
+
+2005-08-26 17:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Gutenprint does not print
+ correctly when margins are set in the CUPS configuration, so do
+ not set margins when creating a queue with Gutenprint, or
+ remove the margins when switching the driver of an existing
+ queue to Gutenprint.
+
+2005-08-26 16:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: test if printer share
+ already exist
+
+2005-08-26 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lshw is not that important
+
+2005-08-26 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - don't open advanced languages by default -
+ replace "Advanced" button with "Multi languages"
+
+2005-08-26 16:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: gdm must only be installed when
+ CAT_X is selected
+
+2005-08-26 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: handle nvidia's libglx.so being now
+ in extensions/nvidia instead of extensions (when there is
+ extensions/libglx.a, it means extensions/libglx.so is not xorg's
+ libglx, so it may be nvidia's)
+
+2005-08-26 16:43 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: update printer_list from
+ printer dialog box
+
+2005-08-26 16:25 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: major adjustemnt in
+ printer dialog box
+
+2005-08-26 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add a few more icons in order to
+ desambiguate some categories that were using the same icon
+
+2005-08-26 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: hw-keyboard.png,
+ hw-memory.png, hw-pcmcia.png, hw-smbus.png, hw-usb.png: add a few
+ more icons for harddrake GUI
+
+2005-08-26 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: (update_steps_position) render
+ passed steps as bold and current step as bold italic as requested
+ by IHM team
+
+2005-08-26 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pixmaps/: wifi-020.png, wifi-040.png, wifi-060.png,
+ wifi-080.png, wifi-100.png: add new neat wifi icons from Hélène
+
+2005-08-26 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: (create_steps_window) leave around
+ references on text widget and on unmarked text for steps
+
+2005-08-26 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: (create_steps_window) underline step
+ categories (and render them as bold btw)
+
+2005-08-26 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: (create_steps_window) precreate
+ pixbuf for 'done' state too
+
+2005-08-26 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/themes-galaxy.rc: use the same background
+ under category as in root window
+
+2005-08-26 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/themes-galaxy.rc: new step category's color
+ (on IHM team request)
+
+2005-08-26 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/themes-galaxy.rc: new background color (on IHM
+ team request)
+
+2005-08-26 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/themes-galaxy.rc: at install time, banner text
+ is blue
+
+2005-08-26 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) use proper style for
+ banner at install time
+
+2005-08-26 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) banners are smaller at
+ install time
+
+2005-08-26 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) use proper GC (text_gc
+ is for rendering on editable widgets whereas fg_gc is for
+ rendering on non editable widgets)
+
+2005-08-26 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) use bold font on
+ banners (IHM team request)
+
+2005-08-26 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) translating it is
+ useless w/o a require on common
+
+2005-08-26 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pixmaps/steps_done.png: add new icon for 'done'
+ state for steps
+
+2005-08-26 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: reduce font size (especially for latin
+ scripts) at install time b/c of new gtk+/cairo
+
+2005-08-26 15:37 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix printer wizard
+
+2005-08-26 15:07 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: now we can modify first
+ entry
+
+2005-08-26 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix missing prefix
+ when reading sysconfig bootsplash
+
+2005-08-26 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: more precise log_size during install
+
+2005-08-26 13:05 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix pb with $path
+
+2005-08-26 13:04 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: some perl_checker fix
+ (why mine is not up to date, while i am running cooker ?)
+
+2005-08-26 13:00 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: now display share name in
+ modification dialog box
+
+2005-08-26 12:45 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: re-enable set_rules_hint
+
+2005-08-26 12:38 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: use simpleList to display
+ share
+
+2005-08-26 11:58 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: improvement in perl code
+ (use Gtk::SimpleList)
+
+2005-08-26 06:38 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-08-25 22:44 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add printer wizard
+
+2005-08-25 22:09 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add special printer
+ section
+
+2005-08-25 22:02 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/: nn.po: Updated translation.
+
+2005-08-25 21:56 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: few adjustement
+
+2005-08-25 20:33 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: bah, DrakX finished for real *grml*
+
+2005-08-25 19:14 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: disableadd pdf-gen and
+ add printer
+
+2005-08-25 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (get_scsi_driver) kill dead
+ variable
+
+2005-08-25 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: since ldetect runs gzip, time
+ spent in some of these detect functions was a significant part of
+ mcc's startup time
+
+2005-08-25 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (get_scsi_driver) find driver of
+ host controller from sysfs in all cases (not just usb-storage
+ case)
+
+2005-08-25 17:56 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: use file share instead of
+ disk share
+
+2005-08-25 17:54 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: various improvement in
+ printers tab
+
+2005-08-25 17:04 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: finished translation :)
+
+2005-08-25 16:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: remove now unused variable (cf previous
+ commit)
+
+2005-08-25 16:53 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add notebook support and
+ printers tab
+
+2005-08-25 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po: update
+
+2005-08-25 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't kill "runaway" processes anymore, it
+ should not be needed for ejecting cd (?)
+
+2005-08-25 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: sync with
+ copyright bumping
+
+2005-08-25 16:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix lame errors
+ (perl_checker)
+
+2005-08-25 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: restrict mouse motion to
+ image
+
+2005-08-25 15:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Strange typing bug workaround
+
+2005-08-25 15:24 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: first step to integrate
+ printers share
+
+2005-08-25 15:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: allow to import Windows Fonts
+ (#15531)
+
+2005-08-25 15:07 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: cosmetic fix
+
+2005-08-25 14:47 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/Makefile.config: add draksambashare tool
+
+2005-08-25 14:43 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: enable empty path for
+ homes share
+
+2005-08-25 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: conectiva 10's grub
+ detection (thanks to bogdano)
+
+2005-08-25 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker compliance
+
+2005-08-25 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: (help) document 'encrypted'
+ option (#13562)
+
+2005-08-25 14:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: rephrase IFW
+ interactive/automatic checkbox label in the settings menu
+
+2005-08-25 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: typo fix (Per Oyvind Karlsen)
+
+2005-08-25 13:41 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/Makefile,
+ mdk-stage1/usb-resource/Makefile, perl-install/share/list.xml,
+ rescue/list.xml: ldetect-lst tables are now compressed
+
+2005-08-25 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: install grub stage files in
+ install_grub(), not write_grub() (bugzilla #17830) (thanks to
+ herton)
+
+2005-08-25 12:07 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: - allow to easy clean existing chroot -
+ more fuzzy detection of mounted loop (to "losetup -d" it) -
+ better log message for loop
+
+2005-08-25 11:50 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix profiles pb, add a
+ wizard to add a share, some ergo adjustement
+
+2005-08-25 10:31 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: try to fix undeclared
+ variable
+
+2005-08-25 10:08 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: use err_diag instead of
+ ask_warn
+
+2005-08-25 09:51 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: various perl_checker fix
+
+2005-08-25 09:07 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: translated more new strings
+
+2005-08-25 02:09 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: Updated
+
+2005-08-24 23:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po,
+ pt.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Grub really
+ is named GRUB (and it makes the pull-down menu more consistent
+ btw...)
+
+2005-08-24 23:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/br.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/de.po, share/po/et.po, share/po/eu.po,
+ share/po/fr.po, bootloader.pm, share/po/id.po, share/po/is.po,
+ share/po/ja.po, share/po/nb.po, share/po/nn.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/zh_CN.po: Grub really
+ is named GRUB (and it makes the pull-down menu more consistent
+ btw...)
+
+2005-08-24 22:55 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: dont write unused var in
+ smb.conf
+
+2005-08-24 22:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/ltg.po, share/po/lt.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pa_IN.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sc.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po, standalone/drakgw: typo fix
+
+2005-08-24 22:02 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: enable change in smb.conf
+
+2005-08-24 21:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-08-24 21:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Seems "X -ac" is required
+ (Diogo)
+
+2005-08-24 21:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: handle additionnal parameter to
+ differentiate processed alerts and notifications from automatic
+ mode
+
+2005-08-24 21:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: rename for new mandi API
+
+2005-08-24 21:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: preset automatic mode in
+ popup
+
+2005-08-24 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.49mdk
+
+2005-08-24 21:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to whitelist attackers
+ in popup
+
+2005-08-24 20:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: show attacks of unknown type
+
+2005-08-24 20:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ifw.pm, standalone/drakids,
+ standalone/net_applet: - net_applet: stop icon blink when an
+ Interactive Firewall alert isn't processed - drakids: add log tab
+ - drakids: allow to clear logs - net_applet: stop icon blinking
+ when drakids is run or clear logs - net_applet: present drakids
+ window on click on menu if drakids is already run - factorize
+ packet reading to network::ifw::attack_to_hash
+
+2005-08-24 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist packdrake again
+
+2005-08-24 18:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: put back packdrake
+
+2005-08-24 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: ahci and ata_piix handle the same
+ hardware, it only depends on the bios configuration, so try each
+ one...
+
+2005-08-24 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: rewrite code to allow next commit
+
+2005-08-24 17:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, standalone/scannerdrake:
+ - Reverted workarounds for bug #17718, the bug is now really
+ fixed, the problem was in /usr/lib/libDrakX/interactive/gtk.pm.
+
+2005-08-24 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: do not crash in
+ create_treeview_tree with allow_empty_list and really empty list
+ (#17718)
+
+2005-08-24 16:52 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: add share name
+
+2005-08-24 16:11 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: fix inherit_permission pb
+
+2005-08-24 16:08 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: ergo fix in modify dialog
+ box, add more advanced options, re-enable add button (launch a
+ wizard)
+
+2005-08-24 15:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Don't use "X -ac" for thin
+ clients (Diogo)
+
+2005-08-24 15:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed problem of current
+ printer/driver not chosen in printer/driver list when choosing
+ "Printer manufacturer, model, driver" in the printer editing
+ menu (occured mainly in expert mode and with printers with
+ manufacturer-supplied PPD).
+
+2005-08-24 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist a few packages for
+ draksambashare
+
+2005-08-24 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: packdrake is now perl_checker aware
+
+2005-08-24 13:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Support for one pre-built PPD
+ being linked from multiple printer database entries.
+
+2005-08-24 13:06 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: cosmetics fix
+
+2005-08-24 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: small timeout when calling xmodmap (for
+ drakx-in-chroot)
+
+2005-08-24 10:43 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Updated translations
+
+2005-08-24 04:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Added support for pre-built PPDs
+ for non-PostScript drivers, especially PCL-XL PPDs from Ricoh.
+
+2005-08-23 21:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker cleanup,
+ $select_font_msg is unused
+
+2005-08-23 19:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: auto allocate on the
+ current LV first (only partially fix bug #16175 since it will
+ also auto allocate on other drives)
+
+2005-08-23 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't write /etc/udev/conf.d/mouse.conf,
+ udev now handles it using /etc/sysconfig/mouse
+
+2005-08-23 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: for bestKernelPackage(), sort kernels to
+ have higher version first
+
+2005-08-23 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-08-23 16:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: fluxbox is in main now
+
+2005-08-23 16:18 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: adjust modify dialog box
+ (ergo)
+
+2005-08-23 16:12 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draksambashare: first release, need
+ various debug/improvement/test
+
+2005-08-23 15:03 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: - grub files have moved - add *_stage1_5 grub
+ files
+
+2005-08-23 14:56 Pixel <pixel at mandriva.com>
+
+ * Makefile: [ ... ] && ... exits false if the cond is false, this
+ is not what we want here
+
+2005-08-23 14:52 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't create isolinux/xbox if we don't have a xbox
+ kernel available
+
+2005-08-23 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: be safer
+
+2005-08-23 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix sort
+
+2005-08-23 14:39 Warly <warly at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: use the current
+ theme name
+
+2005-08-23 14:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Enable tape hardware
+ compression (17565) Request window size for standalone
+
+2005-08-23 12:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix network restart condition
+ for 6to4
+
+2005-08-23 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: making us-intl the default console
+ keyboard mapping (it was introduced in console-tools by Andreas
+ to allow: compose '\'' 'c' to 'ç')
+
+2005-08-23 10:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: use wext driver for ipw cards
+ in wpa_supplicant
+
+2005-08-23 10:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove deprecated comment
+
+2005-08-23 01:21 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Code cleanups Clear main
+ window on tab change Suggestions from Diago: Offer to install
+ i586 kernel for old clients Progress display while creating all
+ kernel images Move dhcpd config to more logical area
+
+2005-08-23 01:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Updated version number
+ (bug #17719).
+
+2005-08-23 00:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, standalone/scannerdrake:
+ - Fixed bug #17718 in both printerdrake and scannerdrake.
+
+2005-08-22 23:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2005-08-22 20:58 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-08-22 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: add diskdrake fix in 10.3-0.48mdk
+
+2005-08-22 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: enhance grub device.map parsing
+ (bugzilla #17732)
+
+2005-08-22 16:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.48mdk
+
+2005-08-22 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: function $advertize must work
+ when chrooted or not, we can't really know if we're chrooted or
+ not
+
+2005-08-22 16:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/modem.pm: devfssymlinkf handle this case
+
+2005-08-22 16:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't use a udev rule, this doesn't always
+ work for input/mice, and never for ttySL0
+
+2005-08-22 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: simplify previous commit (the /tty/ was
+ there for serial mice)
+
+2005-08-22 14:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: add udev rule for mouse back
+
+2005-08-22 13:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: make clear that KERNEL is a match in udev
+ rule
+
+2005-08-22 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix Mandrivalinux to Mandriva Linux
+ (thanks to Eskild Hustvedt)
+
+2005-08-21 13:36 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: string translations
+
+2005-08-20 23:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.47mdk
+
+2005-08-20 23:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: do not show drakids in menu
+ if Interactive Firewall isn't available
+
+2005-08-20 16:14 Tomasz Bednarski <tbednarski at mandrivalinux.pl>
+
+ * perl-install/share/po/pl.po: some typos corrections
+
+2005-08-20 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: do not fail to start if
+ messagebus is down
+
+2005-08-19 22:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Ignore config file for
+ First Time Wizard, assume defaults (17673)
+
+2005-08-19 18:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: try to get protocol as text
+
+2005-08-19 17:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use Gtk2::NotificationBubble
+ (and drop Gtk2::Balloon)
+
+2005-08-19 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix (this message is confusing
+ since any.pm really expect a number and loudly complains when
+ given a string)
+
+2005-08-19 17:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: enable to select scim+pinyin
+
+2005-08-19 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/drakx-in-chroot: prevent packdrake faillure on creating
+ temporary files
+
+2005-08-19 16:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: do not crash when unexpanding
+ details in Interactive Firewall window
+
+2005-08-19 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/themes-galaxy.rc: enforce no stock icon policy
+ (Frederic Crozat)
+
+2005-08-19 01:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.46mdk
+
+2005-08-19 01:16 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: New strings translated
+
+2005-08-19 01:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: use the new way to
+ blacklist modules (#12731)
+
+2005-08-19 00:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Client tree edit fix
+ (17653), Write to floppy (17655)
+
+2005-08-18 23:06 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-08-18 20:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: cosmetic fixes (use ugtk2 to
+ have nice borders, shrink window on expander hide, reorder
+ buttons)
+
+2005-08-18 20:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ifw.pm: add get_protocol
+
+2005-08-18 19:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: drakids, net_applet: switch to
+ Interactive Firewall
+
+2005-08-18 18:52 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: bump priority for gstreamer-alsa
+
+2005-08-18 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (simple_read_rpmsrate) only
+ install HW packages of weigh 4 or 5
+
+2005-08-18 17:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: Interactive Firewall is mandatory
+
+2005-08-18 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: activefw -> ifw
+
+2005-08-18 17:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Removed stuff
+ for automatic print queue setup when starting CUPS. - Small menu
+ text improvement.
+
+2005-08-18 16:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install bpalogin if needed
+ only
+
+2005-08-18 16:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: update naughtyServers for new distro
+
+2005-08-18 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.45mdk
+
+2005-08-18 16:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: log more precisely the "naughty
+ servers" unselected
+
+2005-08-18 16:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/activefw.pm, network/ifw.pm,
+ standalone/drakids, standalone/net_applet: new name is
+ Interactive Firewall
+
+2005-08-18 15:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - When printerdrake's
+ first-time dialog appears on plugging a USB printer, the user
+ can now also turn off print queue auto-setup before starting
+ printerdrake and so without needing the printing infrastructure
+ to be installed.
+
+2005-08-18 14:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use "Allowed addresses" instead
+ of "Attacker" in whitelist
+
+2005-08-18 06:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (naughtyServers_list): those packages don't
+ exist anymore
+
+2005-08-17 19:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Added
+ automatic setup of Ethernet-connected HP printers with HPLIP. -
+ Taken into account that HPLIP sometimes uses model names with
+ "HP" in the beginning and sometimes not. - Fixed problem of
+ cursor in printer model list pointing to random, completely
+ unrelated printer when no model name was auto-detected. - For
+ setting the cursor onto the correct model in the printer model
+ list also taken into account a model name detected only by HPLIP.
+ - When one chooses "Printer Connection Type" in the "Edit" menu
+ of an Ethernet-connected printer which is under the control of
+ HPLIP or HPOJ, "LOCAL" was pre-selected as connection type and
+ not "SOCKET". Fixed. - Replaced "Windows 95/98/NT" by simply
+ "Windows" in the connection type menu. There are many more
+ Windows versions than 95, 98, and NT currently. - Made
+ matching of detected printer model name with HPLIP database
+ more reliable.
+
+2005-08-17 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2005-08-17 13:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-08-17 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-08-17 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lsof is nice
+
+2005-08-17 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/unused/migrate-ugtk2-to-mygtk2.pl: allow using from
+ far away, not only gi/perl-install
+
+2005-08-17 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: we need xfsdump for /sbin/dump.xfs
+
+2005-08-17 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: add missing spaces
+
+2005-08-17 09:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: have gdb when debugging
+
+2005-08-17 09:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) fix installing ati
+ packages
+
+2005-08-17 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: don't fork anymore
+ to install rpms
+
+2005-08-17 07:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: do not tag rpmsrate as an
+ executable
+
+2005-08-17 06:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: during install, use "nofsync" for rpm
+ database (=> speedup x2)
+
+2005-08-17 06:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: do not tag harddrake init script as
+ config file
+
+2005-08-17 06:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix prereq
+
+2005-08-17 06:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: cleanup
+
+2005-08-17 05:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: scim-qtimm was already mentioned
+
+2005-08-17 05:35 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: new kernel is bigger, so we need a bigger all.img
+
+2005-08-16 19:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add some more commented
+ resolutions (also see bugzilla #17526)
+
+2005-08-16 19:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't have digikam (and some more)
+ twice
+
+2005-08-16 18:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/main.pm, printer/printerdrake.pm,
+ standalone/autosetupprintqueues: - Improved the auto queue setup
+ pop-up window display on the user's desktop according to the
+ suggestions in bug #17370. - Ask the user whether he wants
+ really have a new printer set up before doing the auto queue
+ setup. - Do always a fully non-interactive auto queue setup when
+ X is not installed - First-time dialog could show garbage as
+ printer model name for some models. Fixed. - Separated "Print
+ no test pages" entry on the wizard page for printing test
+ pages. - Changed the defaults for automatic re-enabling of
+ disabled queues to "no", due to the new CUPS backend wrapper
+ queues should not get disabled automatically any more. - Typo
+ corrections.
+
+2005-08-16 14:34 Inigo Salvador Azurmendi <xalba at euskalnet.net>
+
+ * perl-install/share/po/eu.po: eguneraketa
+
+2005-08-16 10:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Let digiKam get installed on KDE
+ systems. For KDE it is the default application when plugging a
+ digital camera now.
+
+2005-08-16 09:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2005-08-16 08:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: add reiser4 to the true_local_fs_types()
+
+2005-08-16 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: fix typo
+
+2005-08-16 08:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: required for easy-wifi
+
+2005-08-16 07:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix "Mouse" button in summary
+ doing nothing
+
+2005-08-15 22:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Added
+ per-printer configurable handling of CUPS backend errors. This
+ way CUPS does not disable print queues automatically any more
+ (for example if printer not turned on).
+
+2005-08-14 19:00 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: Install scim-qtimm for locales that
+ use scim as their default IM.
+
+2005-08-14 09:36 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-08-14 00:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-08-14 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-08-13 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install scim-tomoe for japanese
+ users
+
+2005-08-13 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix installing laptop-mode-tools on
+ laptops
+
+2005-08-13 15:16 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-08-12 17:42 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2005-08-12 14:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker fixes
+
+2005-08-12 14:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: - store attack details in a
+ hash - add a Gtk2::Balloon custom pseudo-widget - use balloons to
+ notify attacks - show attack window on balloon click
+
+2005-08-12 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use gtkadd
+
+2005-08-12 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: improve list removal workaround
+ using a copying grep
+
+2005-08-12 04:54 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translations.
+
+2005-08-12 01:16 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: install laptop-mode-tools on laptops
+
+2005-08-11 15:23 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/keyboard.pm: Revert removal of keyboard layout
+ weight of zh. (bug#16873)
+
+2005-08-11 13:30 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Fix bug #17383
+
+2005-08-11 13:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) install
+ ati_igp-kernel too
+
+2005-08-11 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-08-11 08:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-24.5.102mdk
+
+2005-08-11 08:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.44mdk (and add a warning
+ about CVS)
+
+2005-08-11 08:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/do_pkgs.pm: (check_kernel_module_packages) handle
+ ati_igp
+
+2005-08-11 08:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) ati-igp was
+ renamed ati_igp
+
+2005-08-11 08:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) install
+ alternative ATI driver if needed (again)
+
+2005-08-10 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: - if we have a lot of
+ memory, keep the clp in tmpfs - check the size available in
+ $::prefix/tmp for the case it's on its own filesystem (bug
+ #15377) - also check the size available in other cases
+
+2005-08-10 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: create clp_on_tmpfs() for future use
+
+2005-08-10 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.43mdk
+
+2005-08-10 12:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies) in standalone mode,
+ usb-storage is loaded by hotplug. manually loading it just slows
+ down harddrake service startup
+
+2005-08-10 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: please perl_checker
+
+2005-08-10 11:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: special option for RS480 using
+ fglrx
+
+2005-08-10 11:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/monitor.pm, standalone/net_applet: compute
+ approx_level in network::monitor::list_wireless
+
+2005-08-10 08:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - our udev rules must come before standard
+ mandriva rules to be able to shadow them - special mouse rule
+ *is* needed for serial mouse
+
+2005-08-10 06:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) there's only one
+ ati package again
+
+2005-08-10 06:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: be a little safer and shorter
+
+2005-08-10 06:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: on upgrade, have not only the upgraded
+ packages, but also the installed packages in package_list.pl
+ (bugzilla #15296)
+
+2005-08-10 06:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: doc was renamed
+
+2005-08-10 05:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: ask the encrypt_key when
+ we have "encrypted" set but we don't have the encrypt_key
+
+2005-08-10 05:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: i don't know if it's really the
+ best choice here, but that way it always allow to select
+ "encrypted"
+
+2005-08-10 05:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: {bad_fs_type_magic} is wrong info when
+ we have "encryption" (bugzilla #16893 is about this too)
+
+2005-08-10 04:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't be sure of anything
+ of setting encryption (it may help bugzilla #16893)
+
+2005-08-10 04:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount.pm: remove encryption=xxx and encrypted
+ option before passing them to mount() since we take care of the
+ encrypted loopback ourself (bugzilla #17142)
+
+2005-08-09 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, interactive.pm: image2f has slightly
+ changed
+
+2005-08-09 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: really make ComboBox with tree
+ inside work
+
+2005-08-09 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: modify ComboBox with a tree
+ inside to follow previous __create_tree_model() change
+
+2005-08-09 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix indentation
+
+2005-08-09 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: better that way
+
+2005-08-09 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: revamp code
+
+2005-08-09 16:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: simplify
+
+2005-08-09 11:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: no need to explicitly show
+
+2005-08-09 10:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian po file
+
+2005-08-09 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.42mdk
+
+2005-08-09 10:01 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: map more closely to dmidecode
+ behaviour's, aka mmap(/dev/mem) and find/read the raw DMI table
+ in a whole.
+
+2005-08-09 09:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-08-09 09:39 Pixel <pixel at mandriva.com>
+
+ * docs/README: fix
+
+2005-08-09 09:38 Pixel <pixel at mandriva.com>
+
+ * docs/README: replace mandrake with mandriva
+
+2005-08-09 09:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: readd lost comments
+
+2005-08-09 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: we can't differentiate all the scim+xxx
+ IMs, so we ensure we prefer "scim+(default)"
+
+2005-08-09 09:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ lang.pm, standalone/finish-install, standalone/localedrake:
+ create lang::write_and_install() which takes a $do_pkgs
+
+2005-08-09 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo
+
+2005-08-09 08:08 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: tuxracer => ppracer
+
+2005-08-09 08:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: there's no kernel-enterprise anymore
+
+2005-08-09 06:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: simplify
+
+2005-08-09 06:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - it's better to use $locale->{lang}
+ whenever possible - less generic name for %locale2encoding
+
+2005-08-09 06:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: move %IM2packages into %IM_config
+
+2005-08-09 05:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - get rid of %IM_XIM_program, replacing it
+ with a more powerful XIM_PROGRAM field - in read(), use more
+ fields to recognise the IM
+
+2005-08-09 04:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - move extra scim combinations in
+ %IM_config - drop set_default_im(), moving data directly in
+ %IM_config
+
+2005-08-09 04:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: simplify (we access get_default_im with
+ short lang name)
+
+2005-08-09 04:31 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2005-08-09 04:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: remove wrong unused line
+
+2005-08-09 03:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: simplify (not useful since values and main
+ key are equal)
+
+2005-08-09 02:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: - simplify IM choice using
+ {format} to its full power - {IM} is '' instead of either '' or
+ 'None'
+
+2005-08-09 02:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: don't apply {format} twice
+
+2005-08-09 02:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: cleanup IM2packages()
+
+2005-08-08 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: differentiate (nfs)servers
+ on ip first to have less dups (bugzilla #17236)
+
+2005-08-08 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: keep MS_DNS1, MS_DNS2 and DOMAIN
+ variables in ifcfg files
+
+2005-08-08 17:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: initial IPv6
+ support (6to4 tunnel)
+
+2005-08-08 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keymaps.tar.bz2: rebuild keymaps with
+ NR_KEYS==256 when it was previously 255
+
+2005-08-08 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, drakxtools.spec: in standalone, use
+ monitor-edid's new option --try-in-console
+
+2005-08-08 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: do not write aliases interfaces
+ in iftab
+
+2005-08-08 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-08-08 10:53 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix bug #17255
+
+2005-08-08 10:52 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix bug #17255 (modify empty
+ /etc/exports file)
+
+2005-08-08 10:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, raid.pm: write /etc/mdadm.conf when
+ creating a new md (bugzilla #15502)
+
+2005-08-08 08:03 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: add dump* and restore* (as required by Giuseppe
+ Ghibò)
+
+2005-08-08 07:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix update_for_renumbered_partitions
+ (bugzilla #16786)
+
+2005-08-08 07:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle pcmcia modems
+
+2005-08-08 06:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/diskdrake.rc: fix color for selected item
+
+2005-08-08 05:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/common.pm: move is_xbox from common to
+ detect_devices
+
+2005-08-08 05:17 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix User ID help (#17321)
+
+2005-08-08 05:16 Olivier Blin <oblin at mandriva.com>
+
+ * Makefile.config: use Mandriva Linux as distrib name
+
+2005-08-08 05:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: when we have only one
+ "best" keyboard to propose, we don't display it, but in that case
+ we must not remove it from the list of proposed keyboards
+ (bugzilla #16873)
+
+2005-08-08 04:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: catch error earlier (bugzilla #16993)
+ (doesn't really fix the pb as wanted in bugzilla report, but i've
+ not time for it)
+
+2005-08-08 04:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: add mandriva macros for rpm so that
+ _hkp_keyserver_query is nil
+
+2005-08-08 03:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: really make the wizard banner icon a
+ warning instead of an error
+
+2005-08-08 03:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: more explicit error
+
+2005-08-08 03:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: help debugging
+
+2005-08-08 03:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: have the ability to prefer primary
+ partitions in auto_installs
+
+2005-08-08 03:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: cleanup "alternative IMs" already
+ listed with flag 5 (and anyway, warly says this listing of
+ "alternative IMs" is not the right way to achieve having them on
+ CDs)
+
+2005-08-08 03:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: acpi=on on every recent bios, not
+ only laptops
+
+2005-08-08 02:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, network/netconnect.pm,
+ standalone/drakgw: it's better to warn package installation
+ failure in ensure_is_installed than each callers (bugzilla
+ #17251)
+
+2005-08-08 02:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: cleanup
+
+2005-08-07 02:06 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-08-06 08:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: translate "Graphical boot
+ mode:" (#17333)
+
+2005-08-06 06:56 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translations.
+
+2005-08-05 20:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix translation
+
+2005-08-05 20:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update (Berthy)
+
+2005-08-05 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle access point roaming
+ using wpa_supplicant
+
+2005-08-05 15:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: handle prefix
+
+2005-08-05 15:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: overwrite previous
+ wpa_supplicant entries with same ssid or bssid
+
+2005-08-05 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.41mdk
+
+2005-08-05 14:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: better handling for hex keys in
+ wpa_supplicant
+
+2005-08-05 10:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: - Bug fixes in scanner::detect()
+ function o Fixed 'grep' filter to filter out non-scanner
+ devices by the "driver" field (in the very end of the
+ function) o Fixed franglish in a warning message - Suppressed
+ console message of "ls" in the scanner::resolve_symlinks()
+ function.
+
+2005-08-05 10:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (configure_kdeglobals) fix kde config when
+ switching between ar && uz
+
+2005-08-05 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not detect PCI/USB modems
+ twice (as modems and as unknown devices)
+
+2005-08-05 07:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-08-05 06:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, detect_devices.pm,
+ install_any.pm, install_steps_gtk.pm, keyboard.pm, mouse.pm,
+ pkgs.pm, Xconfig/monitor.pm, Xconfig/resolution_and_depth.pm,
+ Xconfig/xfree.pm, diskdrake/interactive.pm, harddrake/sound.pm,
+ partition_table/raw.pm: move is_xbox from common to
+ detect_devices
+
+2005-08-05 05:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: keycode 211 is the abnt2
+ specific key, adding it (bugzilla #16942)
+
+2005-08-05 00:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pl.po, pt_BR.po: updated Polish and
+ Brazilian files
+
+2005-08-04 21:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Added special handling
+ for the "capt" driver (Canon LBP-810/1120 winprinters).
+
+2005-08-04 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: allow to use
+ WEP keys in wpa_supplicant
+
+2005-08-04 18:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use ifplugd for wireless
+ interfaces
+
+2005-08-04 18:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make is_ifplugd_blacklisted
+ return a boolean
+
+2005-08-04 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: s/hotplug/ifplugd/
+
+2005-08-04 17:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: perl_checker fixes
+
+2005-08-04 12:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: use ifup/ifdown
+ with the boot option to handle ifplugd
+
+2005-08-04 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix keyboardrake path (thus
+ enabling to run a config tool for keyboards)
+
+2005-08-04 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not offer to configure
+ driver of keyboards and mice (#17254)
+
+2005-08-04 09:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) blacklist all keyboards
+
+2005-08-04 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: v4l.pm: (config) do not set radio but
+ for bttv driver
+
+2005-08-04 08:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: make sure hex colors are 6
+ chars long
+
+2005-08-04 08:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: load progress bar color from config
+ file
+
+2005-08-04 08:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: bootsplash.pm, standalone/draksplash: directly use
+ # as color prefix
+
+2005-08-04 07:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: don't warn if automatic image
+ loading fails
+
+2005-08-04 07:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: read progress bar settings
+
+2005-08-04 07:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: really write progress bar color in
+ configuration files
+
+2005-08-04 07:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: update progress bar
+ adjustments from preview
+
+2005-08-04 07:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix progress bar color
+
+2005-08-04 07:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: (config) do not set radio but for
+ bttv driver
+
+2005-08-04 07:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix typo (really handle
+ progress bar color)
+
+2005-08-04 07:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: make sure jpegtopnm is
+ available (thanks to Anne Nicolas)
+
+2005-08-04 07:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: simplify
+
+2005-08-03 12:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: galaxy was renamed
+
+2005-08-03 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: don't have empty ModeLines lying
+ around (bugzilla #16960)
+
+2005-08-03 10:43 Warly <warly at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: revert changes
+
+2005-08-03 10:39 Warly <warly at mandriva.com>
+
+ * perl-install/share/list.xml: revert changes
+
+2005-08-03 10:33 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Clarify client type
+ selection, fix cropped text in wizard.
+
+2005-08-03 10:32 Warly <warly at mandriva.com>
+
+ * Makefile, perl-install/authentication.pm: revert changes
+
+2005-08-03 10:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/autosetupprintqueues: - Fixed bug of
+ warning being issued when autosetupprintqueues is triggered
+ while no one is logged in on the X console (bug #17264). -
+ Removed logging into a file with constant name. This was only
+ there as an aid for the development.
+
+2005-08-03 10:05 Warly <warly at mandriva.com>
+
+ * Makefile, isolinux-graphic.bmp.parameters,
+ kernel/list_modules.pm, kernel/modules.pl,
+ perl-install/authentication.pm, perl-install/crypto.pm,
+ perl-install/share/list.xml: some x86_64 build fixes
+
+2005-08-03 09:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/list.xml: fix running drakx on x86_64
+
+2005-08-03 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: (get_needed_files) fix build on x86_64
+
+2005-08-03 09:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/logo-mandrake.png,
+ share/logo-mandriva.png: - rename logo to have a mandriva name -
+ its size is bigger, so adapt to it
+
+2005-08-03 09:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/list.xml: we've multiple
+ /etc/gtk-2.0/gdk-pixbuf.loaders.* & /etc/gtk-2.0/gtk.immodules.*
+ on x86_64
+
+2005-08-03 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.40mdk
+
+2005-08-03 09:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * mdk-stage1/Makefile: fix build on x86_64
+
+2005-08-03 09:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_gtk.pm: use ctrl+alt+home instead of
+ ctrl+alt+del to restart install
+
+2005-08-03 09:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/drakx-in-chroot: make it work on x86_64 too
+
+2005-08-03 08:38 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: don't need /lib/tls files anymore
+ (since rpm works without nptl)
+
+2005-08-03 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: - update - make it arch neutral
+
+2005-08-03 08:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-08-03 07:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: apply gateway modifications
+ (#17260)
+
+2005-08-03 07:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: don't save configuration
+ dozens of times
+
+2005-08-03 07:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use apply()
+
+2005-08-03 07:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix typo (#17253, me sux)
+
+2005-08-03 06:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: add some ntp servers from brazil
+ (bugzilla #16879)
+
+2005-08-03 05:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: format.pm, type.pm: minimal (and quite hidden)
+ reiser4 support in diskdrake (bugzilla #15839)
+
+2005-08-03 05:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove deprecated code
+
+2005-08-03 04:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: suggest 1280x1024
+ instead of 1280x960 which causes pbs (backported from HEAD)
+
+2005-08-02 18:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: load xpad module for xbox
+ (Stew)
+
+2005-08-02 15:52 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - Removed automatic installation of
+ "hplip-hpijs-ppds" package, the PPDs in this package are
+ already generated with the installed Foomatic data.
+
+2005-08-02 15:34 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updates
+
+2005-08-02 14:04 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kat in KDE
+
+2005-08-02 12:13 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp, isolinux-graphic.bmp.parameters: new logo
+
+2005-08-02 10:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-08-02 09:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: make sure shorewall gets enabled
+
+2005-08-02 08:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: Made "desktop-printing" package
+ being installed automatically when CUPS is used with a local
+ daemon.
+
+2005-08-02 07:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: gdm (and so gdm-themes) is special,
+ but not gnome-icon-theme and the like
+
+2005-08-02 07:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: ip isn't localized
+
+2005-08-02 07:39 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: new installation banner
+
+2005-08-02 07:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: mount.pm, mount_options.pm: workaround missing
+ nls_xxx module during install differently
+
+2005-08-01 16:15 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-08-01 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: don't package dbus stuff in
+ drakxtools-backend
+
+2005-08-01 10:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: don't package finish-install in
+ drakxtools-newt
+
+2005-08-01 08:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/crypto.pm: fix rediris.es paths (Yukiko Bando)
+
+2005-08-01 07:19 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix GNOME default applications
+
+2005-08-01 07:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix ndiswrapper translation
+
+2005-07-31 16:04 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-07-31 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: fix last commit
+
+2005-07-31 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf) do not write rules
+ conflicting with udev ones (blacklist dvd and mouse, only
+ accepting modem for now)
+
+2005-07-31 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-07-31 09:18 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: updated
+
+2005-07-30 11:29 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-07-30 10:37 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-07-29 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm: add new
+ snd-ad1889 driver from ALSA CVS
+
+2005-07-29 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle snd-riptide
+
+2005-07-29 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new snd-riptide driver (from ALSA
+ CVS)
+
+2005-07-29 10:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: put wireless items in a
+ submenu
+
+2005-07-29 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: cy.po, ga.po: update
+
+2005-07-29 08:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow winmodems to be
+ configured
+
+2005-07-29 08:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: new sysfs structure
+
+2005-07-29 08:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: new sysfs structure
+
+2005-07-29 07:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: if sysfs is broken, don't
+ match
+
+2005-07-29 07:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: - perl_checker fixes - reuse
+ common - drop interactive dependancy
+
+2005-07-29 07:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist constant
+
+2005-07-29 07:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix obvious bug, thus fixing
+ drakxtools build
+
+2005-07-29 07:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-07-29 07:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.39mdk
+
+2005-07-29 07:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: use mandriva
+
+2005-07-29 07:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more fix (drakconnect) in
+ 10.2-24.4.102mdk
+
+2005-07-29 07:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: test.pm, tools.pm: use mandriva.com
+ instead of mandrakesoft.com to test network connection
+
+2005-07-29 07:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-24.4.102mdk
+
+2005-07-29 07:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 24.3.102mdk was released for
+ globetrotter
+
+2005-07-29 06:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_gtk.pm: merge in
+ globetrotter changes
+
+2005-07-29 06:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) install
+ alternative ATI driver if needed
+
+2005-07-29 06:30 Olivier Blin <oblin at mandriva.com>
+
+ * Makefile: merge xbox stuff to have the upload function declared,
+ but do not mix shell and Makefile syntax
+
+2005-07-29 06:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix typo (spotted by François
+ Bandet)
+
+2005-07-29 06:13 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix i18n DrakX/drakhost pb
+ (pablo)
+
+2005-07-29 05:31 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: do not crash if automatic mode isn't used
+
+2005-07-29 05:28 rstandtke
+
+ * perl-install/share/po/de.po: some additions and fixes
+
+2005-07-29 04:22 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers.pl, rpmsrate: add THEMES
+ category
+
+2005-07-28 12:06 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: don't corrupt the choice variable
+
+2005-07-28 12:02 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/tools.c: use thirdparty mode if the "thirdparty"
+ automatic keyword is specified
+
+2005-07-28 11:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix indentation
+
+2005-07-28 08:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: don't needlessly swap bytes
+
+2005-07-28 08:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: drakids, net_applet: simplify error
+ messages
+
+2005-07-28 07:18 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * Makefile: Fix make syntax error
+
+2005-07-28 06:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/: make_lang_png_transparent.c, shift_img.c: bump copyright
+ notices
+
+2005-07-28 06:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: emphasize if drivers are OSS or
+ ALSA based (#15902)
+
+2005-07-28 03:39 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: install xsettings-kde when
+ installing KDE
+
+2005-07-27 18:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/crypto.pm: oups; fixed bad change
+
+2005-07-27 18:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: crypto.pm, lang.pm: fixed KDE font for extended
+ cyrillic languages
+
+2005-07-27 18:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-07-27 16:59 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/main.pm, printer/printerdrake.pm,
+ standalone/printerdrake: - Added dialog to configure automatic
+ queue creating and automatic queue re-enabling
+
+2005-07-27 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: forward #14364/#15049 fix:
+
+ (load_values) fix getting value when it's defined but 0
+
+ (get_function_value) fix getting value when it's 0
+
+2005-07-27 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) blacklist all WingMan
+ devices (#16995)
+
+2005-07-27 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) do not detect Logitech
+ devices as UPSes (#16994)
+
+2005-07-27 12:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: handle dbus failures
+
+2005-07-27 12:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to run drakids
+
+2005-07-27 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, devices.pm, fsedit.pm,
+ install2.pm, install_any.pm, fs/dmraid.pm, fs/type.pm,
+ partition_table/raw.pm: backport of dmraid support
+
+2005-07-27 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-07-27 11:38 Pixel <pixel at mandriva.com>
+
+ * Makefile: fix xbox upload
+
+2005-07-27 10:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/draknfs: corrected small typo
+
+2005-07-27 10:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/detect.pm, printer/printerdrake.pm,
+ standalone/autosetupprintqueues, standalone/printerdrake: -
+ Started implementation of configurable, partially interactive
+ print queue auto setup.
+
+2005-07-27 09:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Fixed "config_sane()" function,
+ it did not add the backend name to /etc/sane.d/dll.conf
+
+2005-07-27 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.38mdk
+
+2005-07-27 07:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: bd deserves better treatment.
+
+2005-07-27 07:14 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: remove unused xromwell sub
+
+2005-07-27 06:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_okcancel) enforce GNOME button
+ order when not under KDE (aka rollback old IHM team request since
+ they never achieved to complete the plan ie enforcing the same
+ button order in both GNOME and KDE)
+
+2005-07-26 14:13 Warly <warly at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: workarround ntfs mount bug
+
+2005-07-26 13:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: don't write alias interfaces
+ in shorewall interfaces file
+
+2005-07-26 13:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: run shorewall clear if
+ firewall is stopped (#17046)
+
+2005-07-26 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install eva for chinese users (Funda
+ Wang)
+
+2005-07-26 10:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix variable declaration
+
+2005-07-26 10:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: kill(signal, <empty string>)
+ sends the signal to the calling process, avoid it
+
+2005-07-26 08:16 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: mandriva switch
+
+2005-07-26 08:10 Olivier Blin <oblin at mandriva.com>
+
+ * help.msg.xml: mandriva switch
+
+2005-07-26 07:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-07-26 06:10 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: no_all_squash as default
+
+2005-07-25 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2005-07-25 09:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: revert wrong fix (DESKTOP contains
+ KDE when xinit.d scripts are run)
+
+2005-07-25 08:19 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Sync of messages
+
+2005-07-25 04:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix alps touchpads detection
+
+2005-07-25 04:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/: gencryptofiles, genmodparm, hd_grub.cgi: last mdk->mdv
+ switches
+
+2005-07-25 04:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/: gencryptofiles, genmodparm, make_lang_png_transparent.c,
+ shift_img.c, syncrpms: fix email addressses in copyright and bump
+ them
+
+2005-07-25 04:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/mailchangelog.pl: fix ml addresss
+
+2005-07-25 04:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/: cvslog2changelog.pl, mailchangelog.pl: fix email
+ addressses
+
+2005-07-24 05:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: wait a second for ifplugd to be
+ actually killed
+
+2005-07-24 05:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write hosts in correct order in
+ /etc/hosts
+
+2005-07-23 12:19 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-07-22 14:08 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: Adopt to new
+ mandriva-theme package naming schema, see bug#16977.
+
+2005-07-22 12:30 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: network.c, doc/TECH-INFOS: if interface is "auto",
+ try to detect the first interface with a link beat
+
+2005-07-22 06:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: really use ap address for
+ hidden ssid
+
+2005-07-22 06:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: split
+
+2005-07-22 06:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use has_wireless
+
+2005-07-22 06:00 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: improve User id mapping, keep 4
+ options (no_all_squash is the default one)
+
+2005-07-22 05:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: simplify
+
+2005-07-22 05:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: run drakroam to configure a
+ wireless network when selected (if not already configured)
+
+2005-07-22 05:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use run_program
+
+2005-07-22 05:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: select a wireless network for
+ association on click
+
+2005-07-22 05:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: allow to select a wireless
+ network
+
+2005-07-22 05:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: add some comments, use
+ meaningfull variable names
+
+2005-07-22 05:08 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: remove duplicate entry in access
+ list
+
+2005-07-22 05:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: use ssid from configuration if
+ found for the MAC address (useful for hidden essid)
+
+2005-07-22 05:05 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: mandrake_desk is now
+ desktop-common-data
+
+2005-07-21 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: typo fix (#16944)
+
+2005-07-21 11:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: write module aliases if needed
+
+2005-07-21 11:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: revert, that's not needed after all
+
+2005-07-21 11:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add volume_set_id
+
+2005-07-21 11:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm, netconnect.pm: don't use
+ global $in (fix ISDN configuration)
+
+2005-07-21 08:23 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: show only users/group ID > 500,
+ fix secure label.
+
+2005-07-21 08:12 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: remove "apply" button (not
+ really needed)
+
+2005-07-21 05:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: don't translate vga resolution
+
+2005-07-20 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: enable activefw by default
+ and catch errors
+
+2005-07-20 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in 10.3-0.37mdk's
+ changelog
+
+2005-07-20 13:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: new dbus naming scheme
+
+2005-07-20 13:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: handle activefw init
+
+2005-07-20 13:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: icons are really nicer with
+ 24x24 resolution
+
+2005-07-20 08:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: get network ids and current
+ network
+
+2005-07-20 08:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show active wireless network
+ in the menu
+
+2005-07-20 06:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use $0 instead of hardcoded
+ path
+
+2005-07-20 06:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use
+ wpa_supplicant_add_network_simple
+
+2005-07-20 06:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: allow to read/write
+ wpa_supplicant config files
+
+2005-07-19 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) make dialogs transient if
+ possible
+
+2005-07-19 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.37mdk
+
+2005-07-19 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix phrasing
+
+2005-07-19 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: harddrake2, printerdrake: do not draw a
+ border around the main window while embedded
+
+2005-07-19 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_gtk__MagicWindow) fix layout for
+ programms embedded with their menubar through the newly
+ introduced $::noborderWhenEmbedded flag
+
+2005-07-19 12:27 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/mygtk2.pm: Don't put a border around embbeded
+ rpmdrake
+
+2005-07-19 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: fix ipw data structure and
+ add firmware url
+
+2005-07-19 10:49 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: remove ipnet/32 in access_list
+
+2005-07-19 07:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: really reap zombie children;
+ side-effect: we can now run a second config tool again (#16851)
+
+2005-07-19 07:47 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-07-19 07:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: let's work with "perl -w"
+
+2005-07-18 14:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: drakxtools.spec, Makefile.config: add drakids
+
+2005-07-18 13:52 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: add pcmcia network
+ card ids in the pci table, so that cardbus card get a chance to
+ be automatically loaded
+
+2005-07-18 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: cy.po, ga.po: update
+
+2005-07-18 13:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: cy.po, ga.po: update
+
+2005-07-18 12:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove useless test
+
+2005-07-18 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-07-18 12:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo
+
+2005-07-18 12:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: update menu if interface has
+ been modified
+
+2005-07-18 12:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: factorize code to
+ netMonitor() and use $current_interface
+
+2005-07-18 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-07-18 12:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: really check for new version
+
+2005-07-18 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: check for new version every
+ minute instead of every 2 seconds
+
+2005-07-18 12:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: simplify
+
+2005-07-18 12:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't use actions submenu
+ when no wireless network is detected
+
+2005-07-18 12:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use common::md5file
+
+2005-07-18 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ strings from CVS
+
+2005-07-18 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/common.pm: import md5file from
+ net_applet/mdkonline/userdrake
+
+2005-07-18 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.3-0.36mdk's changelog
+
+2005-07-18 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.36mdk
+
+2005-07-18 10:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: do not die and loop on the
+ exitInstall step if the install images can't be saved (#16881)
+
+2005-07-18 09:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: do not die if loaded file
+ isn't an image (#16829)
+
+2005-07-18 09:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-07-18 08:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: require perl-Net-DBus (for
+ net_applet and drakids)
+
+2005-07-18 08:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: KDE is now lowercased in the
+ DESKTOP variable
+
+2005-07-18 08:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: get_eth_card_mac_address:
+ handle firewire mac_addresses again
+
+2005-07-18 07:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add qla2xxx
+
+2005-07-18 05:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: (add_modify_entry) improve
+ layout (especially hidden buttons)
+
+2005-07-18 05:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: advanced help: - ensure labels
+ are named the same way on buttons and in help (and thus that
+ help is consistent with the GUI, which wasn't), and speak about
+ labels not actual option names in config file, - split in small
+ paragraphs in order to ease translators' job - fix text phrasing
+ - improve layout
+
+2005-07-18 05:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (help_b) fix displaying help the
+ second time
+
+2005-07-18 05:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakhosts, draknfs: make sub dialogs
+ modal and transcient to their main window
+
+2005-07-18 04:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakxtv: really show a warning if no tv
+ card is detected
+
+2005-07-17 12:26 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-07-15 11:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknfs: don't translate the empty string
+
+2005-07-15 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.35mdk
+
+2005-07-15 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: rescale pixbufs to 16x16, use
+ default.png if wifi- images aren't available
+
+2005-07-15 10:28 Warly <warly at mandriva.com>
+
+ * perl-install/install_any.pm: workarround problem in supplementary
+ media
+
+2005-07-15 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: new naming scheme
+
+2005-07-15 07:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't add submenu if only one
+ choice exists (and really do it)
+
+2005-07-15 07:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't show choices menus if
+ only one choice is possible
+
+2005-07-15 07:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: put settings and actions in
+ submenus when needed
+
+2005-07-14 14:30 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-07-14 05:21 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: new translations
+
+2005-07-13 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: don't have a random result, sort
+
+2005-07-13 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: handle signal levels greater
+ than 100
+
+2005-07-13 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't try to remove newly
+ added widgets
+
+2005-07-13 10:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove spurious spaces
+
+2005-07-13 10:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: po fix
+
+2005-07-13 10:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: simplify
+
+2005-07-13 10:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't destroy wireless
+ menuitems on menu destroy
+
+2005-07-13 08:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show wireless options only if
+ a wireless card is present
+
+2005-07-13 08:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use
+ detect_devices::has_wireless()
+
+2005-07-13 08:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add has_wireless
+
+2005-07-13 08:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo
+
+2005-07-13 08:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: reorganize interface
+
+2005-07-13 07:52 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: new strings translated
+
+2005-07-13 07:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make net_applet reload the
+ configuration
+
+2005-07-13 05:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: first draft of wireless
+ support
+
+2005-07-13 05:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/monitor.pm: initial import
+
+2005-07-13 05:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/activefw.pm, standalone/drakids,
+ standalone/net_applet: use dbus_object;
+
+2005-07-13 05:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/dbus_object.pm: initial import
+
+2005-07-13 03:20 Warly <warly at mandriva.com>
+
+ * Makefile.config: fix Mandrakiva typo
+
+2005-07-13 00:41 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-07-12 15:24 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: various improvements in GUI
+
+2005-07-12 12:43 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add an entry in menu to
+ write_conf
+
+2005-07-12 12:40 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add a popup with users and
+ groups when using anonuid and anongid (FACORAT Fabrice idea)
+
+2005-07-12 08:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix bad phrasing
+
+2005-07-12 08:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: move wait message after package
+ installation (or else the interface isn't active)
+
+2005-07-12 07:55 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: move menu above banner, use
+ expander to show/hide advanced options, remove empty value in
+ advanced option, change draknfs tittle (thx Facorat fabrice)
+
+2005-07-12 06:09 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: typo fix
+
+2005-07-12 06:07 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add exit on ok button
+
+2005-07-12 03:28 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: ensure nfs-utils is installed
+
+2005-07-11 20:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Add/remove entries to
+ default PXE config.
+
+2005-07-11 11:00 Warly <warly at mandriva.com>
+
+ * make_boot_img: s/Mandrakelinux/Mandriva/ for bootsplash
+
+2005-07-11 10:23 Warly <warly at mandriva.com>
+
+ * Makefile.config: update to 2006
+
+2005-07-11 10:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: perl_checker fixes
+
+2005-07-11 10:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use standalone
+
+2005-07-11 10:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: remove interface tests, this is
+ filtered before
+
+2005-07-11 09:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove interface tests, this
+ is filtered before
+
+2005-07-11 09:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: Mandrakesoft -> Mandriva in
+ DBus names
+
+2005-07-11 09:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: don't use undefined variable
+
+2005-07-11 08:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.34mdk
+
+2005-07-11 05:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: really write modem/adsl ifcfg
+ files (fix ONBOOT setting)
+
+2005-07-11 05:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't restart network service
+ at drakconnect startup
+
+2005-07-08 17:24 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: don't try to manipulate PXE
+ stuff if the directory isn't present
+
+2005-07-08 16:41 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: always display ok_cancel button
+
+2005-07-08 16:39 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add a checkbox to enable/disable
+ advanced options
+
+2005-07-08 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: do not write in /nohup.out
+ (#16768)
+
+2005-07-08 10:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.33mdk
+
+2005-07-08 10:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lvm.pm, scanner.pm, network/ipsec.pm,
+ printer/cups.pm, printer/main.pm, printer/printerdrake.pm: reduce
+ the overall perl_checker warnings
+
+2005-07-08 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update
+
+2005-07-08 08:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: don't open any port by default in
+ the firewall
+
+2005-07-08 08:20 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: various adjustement in main
+ windows
+
+2005-07-08 08:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: always enable firewall if security
+ level >= 3 (even if no ports have to be opened)
+
+2005-07-07 18:05 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest updates
+
+2005-07-07 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: fix untranslated strings
+ (#16736)
+
+2005-07-07 16:16 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/drakxtools.spec: use my own email address :|
+
+2005-07-07 16:14 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/drakxtools.spec: update requires for perl-MDK-Common
+ (need distrib())
+
+2005-07-07 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: add support for graphical grub
+ (Herton Ronaldo Krzes)
+
+2005-07-07 10:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.32mdk
+
+2005-07-07 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use stop_net_interface
+
+2005-07-07 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not restart network to
+ apply modifications, run ifup or ifplugd instead
+
+2005-07-07 09:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add start/stop_ifplugd
+
+2005-07-07 09:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, network/tools.pm,
+ standalone/drakconnect, standalone/net_applet,
+ standalone/net_monitor: remove connect/diconnect_backend add
+ start/stop_net_interface add detach parameter to
+ start/stop_interface
+
+2005-07-07 08:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: stricter regexp for MAC
+ addresses
+
+2005-07-07 08:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use start/stop_interface
+
+2005-07-07 08:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use start/stop_interface
+ instead of connect/disconnect_backend
+
+2005-07-07 05:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix buggy translation about uid
+ (#16726)
+
+2005-07-07 03:44 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/: draknfs, drakhosts: add an apply button
+
+2005-07-07 02:46 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: add double clic event
+
+2005-07-07 02:45 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: use simple userid combolist, few
+ other fix
+
+2005-07-06 19:26 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Be less polite, lots of corrections,
+ new strings translated etcetc.
+
+2005-07-06 17:26 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-07-06 14:06 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Be less polite;) (no please in
+ norwegian), updated translations etc..
+
+2005-07-06 12:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated po file
+
+2005-07-06 11:18 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-07-06 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add fore_200e ATM driver
+
+2005-07-06 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add pluto2 DVB driver
+
+2005-07-06 10:11 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix test of directory and test
+ of hosts access in alter mode
+
+2005-07-06 09:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add editcell (disable by
+ default) , add double clic support
+
+2005-07-06 07:22 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: display wait message box while
+ reloading/restarting nfs server
+
+2005-07-06 06:16 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-07-06 05:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-07-06 05:05 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix undefined options
+
+2005-07-06 04:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix domain in hosts access
+ combobox
+
+2005-07-06 04:54 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix ip/8 in comboboxentry
+
+2005-07-06 04:29 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: button to close draknfs "Reload
+ NFS server" hput in a menu using icons for "dir path" button an
+ editable combolist for Access various typor fix "close" button in
+ help dialog box use pango for text field
+
+2005-07-05 18:59 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest updates
+
+2005-07-05 12:26 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-07-05 11:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: switch to Mandriva
+
+2005-07-05 11:10 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: small updates
+
+2005-07-05 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ko.po: update
+
+2005-07-05 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.31mdk
+
+2005-07-05 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, cy.po, fr.po, ga.po: update
+
+2005-07-05 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: (add_columns) reuse existing
+ translation
+
+2005-07-05 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ strings from CVS
+
+2005-07-05 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix layout somewhat
+
+2005-07-05 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: put newly added draknfs and
+ drakhosts tools in the gtk backend package
+
+2005-07-05 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknfs: fix layout somewhat
+
+2005-07-05 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: sort newly entries added by pixel &
+ antoine
+
+2005-07-05 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: do not package drakfloppy anymore
+ since kernel is too big (#10565)
+
+2005-07-05 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknfs: don't keep undefined options
+
+2005-07-05 09:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknfs: use join()
+
+2005-07-05 08:56 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix string pb
+
+2005-07-05 08:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draknfs: perl_checker/translation fixes
+
+2005-07-05 08:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakhosts: perl_checker fix
+
+2005-07-05 08:47 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: various other fix to be able to
+ build drakxtools
+
+2005-07-05 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't suggest to format
+ partition if we need to reboot
+
+2005-07-05 08:37 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: various fix
+ ("standalone/draknfs", line 140, character 38-48) thx tv
+
+2005-07-05 07:23 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/draknfs: add help, remove unwanted use
+
+2005-07-05 07:16 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/drakhosts: fix some comment
+
+2005-07-05 03:45 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/Makefile.config: add drakhosts and draknfs tools
+
+2005-07-05 03:38 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/standalone/: drakhosts, draknfs: move drakhosts and
+ draknfs tools from soft/ to gi/perl-install/standalone
+
+2005-07-05 01:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: rollback bogus change
+ that mistakely went in
+
+2005-07-04 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix build (perl_checker fix)
+
+2005-07-04 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-07-04 02:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: gl.po, ja.po, wa.po: updated Japanese,
+ Galician and Walloon files
+
+2005-07-03 03:06 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Mostly syntax checking and msg
+ consistency
+
+2005-07-02 01:27 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-07-01 16:03 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Latest strings - some small
+ conflicts
+
+2005-07-01 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new spidernet gigabit driver (from
+ kernel-2.6.13-rc1-mm1)
+
+2005-07-01 13:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.30mdk
+
+2005-07-01 11:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: don't write loc to fw ACCEPT
+ rules, we always reset the policy to accept
+
+2005-07-01 11:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: write progress bars in bootsplash
+ config files
+
+2005-07-01 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: update crossbars when scale
+ values are modified
+
+2005-07-01 10:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove spurious comment
+
+2005-07-01 10:52 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-07-01 10:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox->get_text,
+ Gtk2::OptionMenu->get_text) fix non selected case
+
+2005-07-01 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: set the "" string as active in
+ the combo box when a custom binary is selected, to avoid default
+ selection of the last combo box item (this allow to remove the
+ "scannerdrake" hack)
+
+2005-07-01 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference to 10-34.9.100mdk
+
+2005-07-01 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10-34.9.100mdk's changelog
+
+2005-07-01 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-34.9.100mdk
+
+2005-07-01 10:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lvm.pm, diskdrake/interactive.pm: handle pvmove
+
+2005-07-01 09:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - we can keep vg available when using
+ vgreduce - we must update the vg total size after removing a pv
+
+2005-07-01 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-07-01 09:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ strings from CVS
+
+2005-07-01 09:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: fix port range syntax for
+ samba (backport from 10.1 updates)
+
+2005-07-01 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-07-01 09:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: fix message
+
+2005-07-01 09:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lvm.pm, diskdrake/interactive.pm: create
+ lvm::pv_physical_extents() and use it
+
+2005-07-01 09:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't write ignored media in
+ urpmi.cfg (bug 15537)
+
+2005-07-01 09:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - correctly compute the
+ max size on a VG (bugzilla #16189) - don't verifyParts on lvm
+
+2005-07-01 09:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/get.pm: create vg_free_space()
+
+2005-07-01 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ strings from CVS
+
+2005-07-01 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: simplify
+
+2005-07-01 09:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: use the 'drakxtools' component
+ for "Standalone Tools" (really fix #16580) and split drakxtools
+ components out of the main hash
+
+2005-07-01 09:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: - lilo doesn't work on
+ dmraid so forcing grub - method_choices() now wants $all_hds
+ instead of $fstab
+
+2005-07-01 08:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, fs/proc_partitions.pm: move skipping
+ dmraid drives test in fsedit (and use fs::type::is_dmraid)
+
+2005-07-01 08:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use fs::type::is_dmraid()
+
+2005-07-01 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: ensure we don't try to parse
+ warnings.pm
+
+2005-07-01 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: describe "grpquota" and
+ "usrquota" mount options (#15671)
+
+2005-07-01 08:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: new function is_dmraid()
+
+2005-07-01 08:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove useless grouping and
+ rewrite code to be safer
+
+2005-07-01 08:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix shell parsing unquoted
+ bugzilla URL (#16580)
+
+2005-07-01 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-07-01 08:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: remove debug code from previous commit
+
+2005-07-01 08:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: add "Used physical extents
+ %d / %d\n" for PV details
+
+2005-07-01 08:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: create generic function get_pv_field()
+
+2005-07-01 08:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add 'routeback' option for
+ bridge interfaces in shorewall interfaces file
+
+2005-07-01 08:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add is_bridge_interface
+
+2005-07-01 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, lvm.pm: better name
+
+2005-07-01 08:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, lvm.pm: replace lv_nb_segments() with
+ lv_nb_pvs() (which is really what lilo cares about. lilo error is
+ "mapped boot device cannot be on multiple real devices")
+
+2005-07-01 08:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lvm.pm, diskdrake/interactive.pm: handle vgreduce
+
+2005-07-01 06:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: a PV has no "Options"
+ (bugzilla #16168)
+
+2005-07-01 06:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: in standalone, missing dmraid implies
+ we don't have dmraid devices, so make it clean and don't call
+ dmraid
+
+2005-07-01 06:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: mkinitrd only handle ext2/ext3 labels,
+ so disallow labels on "/" for other fs types
+
+2005-07-01 05:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: don't spawn a new shell if it's
+ already running (useful when using the no-reboot-restart-install
+ blino trick)
+
+2005-07-01 05:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: better error message, and translate it
+
+2005-07-01 05:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, lvm.pm: lilo only accept /boot (or /)
+ on a LV if it uses only one PV, so correctly warn/error this
+
+2005-07-01 05:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: allow restarting a
+ failed auto_install without rebooting (a la blino)
+
+2005-07-01 04:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: remove unneeded requires, added
+ in the wrong place...
+
+2005-07-01 02:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add nvu in CAT_WWW CAT_DEVELOPMENT
+
+2005-06-30 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/activefw.pm: load bloaty DBus binding on
+ demand (since we don't actually use it for now)
+
+2005-06-30 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: do not load bloat POSIX
+
+2005-06-30 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add setlocate() and LC_COLLATE for
+ common.pm
+
+2005-06-30 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, standalone.pm, interactive/newt.pm,
+ c/stuff.xs.pl: rename setlocale() as init_setlocale() since it's
+ more meaninfull regarding its purpose
+
+2005-06-30 09:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/activefw.pm, standalone/drakids,
+ standalone/net_applet: sanitize network::activefw
+
+2005-06-30 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/activefw.pm: (format_date) do not load the
+ bloaty POSIX module
+
+2005-06-30 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (strftime) add it thus avoiding to
+ load bloaty POSIX in net_applet
+
+2005-06-30 08:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/c/Makefile.PL: Remove rpm include dir from
+ Makefile_c
+
+2005-06-30 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix typo in previous commit
+
+2005-06-30 08:22 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: module gzloop is needed to losetup a clp
+
+2005-06-30 08:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.29mdk
+
+2005-06-30 08:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/Makefile.PL: do not link anymore with librpm since
+ perl-URPM is used for that (saves 6.1Mb of virtual and 800kb of
+ shared memory in net_applet)
+
+2005-06-30 07:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: This function was renamed
+
+2005-06-30 07:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/proc_partitions.pm: adapt to fs/dmraid.pm change
+ (bus is now dmraid_xxx instead of dm_xxx)
+
+2005-06-30 07:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po, ga.po: update
+
+2005-06-30 07:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: bootloader.pm, pkgs.pm, c/stuff.xs.pl: Remove
+ dependency of c::stuff on rpmlib
+
+2005-06-30 06:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: install dmraid if needed
+
+2005-06-30 06:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: call it dmraid, it's more explicit
+
+2005-06-30 04:50 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: Remove function not used (and
+ provided by perl-URPM anyway)
+
+2005-06-29 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm, perl-install/share/list.xml,
+ tools/install-xml-file-list: - have /lib/tls/lib*.so* instead of
+ replacing them with /lib/lib*.so* otherwise rpm database gets
+ corrupted - don't need setting LD_ASSUME_KERNEL anymore (it
+ wasn't enough, and we now have tls libs)
+
+2005-06-29 11:24 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-06-29 09:17 Warly <warly at mandriva.com>
+
+ * isolinux-graphic-simple.bmp, isolinux-graphic.bmp: new mandriva
+ image
+
+2005-06-29 08:46 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: new mandriva title
+
+2005-06-29 07:17 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: {mntpoint} is not set, so take the
+ last ext3 partition as being /home
+
+2005-06-29 07:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/dmraid.pm: the output of "dmraid -r" is not
+ enough, "dmraid -s" is more important. add some sample output
+ for easy debugging
+
+2005-06-29 05:30 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: - don't save /home and want a size
+ <1GB (since it will be grown to fit disk) - fix keeping the small
+ size of the existing windows partition (otherwise the
+ filesystem is small in a (much) bigger partition) - remove
+ "windows" entry from lilo.conf if windows not there
+
+2005-06-28 11:12 Pixel <pixel at mandriva.com>
+
+ * globetrotter/make_live, perl-install/any.pm,
+ perl-install/bootloader.pm, perl-install/commands.pm,
+ perl-install/common.pm, perl-install/fs.pm,
+ perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm, perl-install/partition_table.pm,
+ perl-install/pkgs.pm, perl-install/diskdrake/interactive.pm,
+ perl-install/fs/dmraid.pm, perl-install/fs/format.pm,
+ perl-install/fs/get.pm, perl-install/fs/loopback.pm,
+ perl-install/fs/mount.pm, perl-install/fs/type.pm,
+ perl-install/fs/wild_device.pm,
+ perl-install/network/thirdparty.pm,
+ perl-install/standalone/bootloader-config,
+ perl-install/standalone/drakautoinst: try to cleanup fs.pm (to
+ have simpler dependencies between modules, esp. have some modules
+ only required by diskdrake):
+
+ - move some functions from fs to fs::mount (most keep their
+ name, except mount_part and mount_usbfs) - move formatMount_part
+ and formatMount_all from fs to fs::format
+
+ - move some functions from fs to fs::wild_device
+ (part2wild_device_name -> fs::wild_device::from_part)
+ (subpart_from_wild_device_name -> fs::wild_device::to_subpart)
+ (analyze_wild_device_name -> fs::wild_device::analyse)
+
+ - formatMount_part(), formatMount_all(), fs::mount::part() don't
+ take a prefix anymore the current situation was quite muddy
+ we now rely on fs::get::mntpoint_prefixed() which will maybe
+ depend on a field in $part for now, we mount every part in
+ chroot, it seems to be what's wanted
+
+ - fs::format::part() now expect $all_hds instead of $raids
+
+ - fs::type::carryRootLoopback is now
+ fs::get::carry_root_loopback() - in fs::loopback, most functions
+ don't want a prefix anymore
+
+2005-06-28 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, cy.po, ga.po: update
+
+2005-06-28 09:50 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: New translations
+
+2005-06-28 09:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_any.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/br.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fa.po,
+ share/po/fi.po, share/po/fr.po, share/po/fur.po, share/po/ga.po,
+ share/po/gl.po, share/po/he.po, share/po/hi.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/ky.po, share/po/lt.po,
+ share/po/ltg.po, share/po/lv.po, share/po/mk.po, share/po/mn.po,
+ share/po/ms.po, share/po/mt.po, share/po/nb.po, share/po/nl.po,
+ share/po/nn.po, share/po/pa_IN.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sc.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: upcase protocol names
+
+2005-06-28 09:41 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: help getting rid of existing files
+
+2005-06-28 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: fr.po, br.po: update
+
+2005-06-28 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ strings from CVS
+
+2005-06-28 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (ask_if_suppl_media) upcase protocol
+ name
+
+2005-06-28 07:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: handle no bootloader
+ configuration found with a clean error
+
+2005-06-28 06:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Add NFS supplementary media in fstab
+
+2005-06-28 05:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Fix install_urpmi with
+ nfs suppl media
+
+2005-06-28 04:12 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, perl-install/standalone/drakpxe: - since we don't
+ use a ramdisk for the stage2 anymore, remove ramdisk_size=128000
+ (hopefully the initrd doesn't have the limitation or we won't hit
+ the stupid low default max size of the kernel) - use the short
+ aliases for automatic stage1 (cf mdk-stage1/automatic.c)
+
+2005-06-27 14:04 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Support NFS supplementary media
+
+2005-06-27 09:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Missing translation
+
+2005-06-27 07:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.28mdk
+
+2005-06-27 01:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: recreate existing user accounts on
+ restoring
+
+2005-06-26 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_grub) fix root when using
+ labels and switching from LILO to GRUB
+
+2005-06-26 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix switch from nvidia
+ to nv for X.org
+
+2005-06-26 09:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: we now use X.org
+ instead of XFree86
+
+2005-06-25 05:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: use empty prototype
+
+2005-06-25 04:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: don't fork to get route with "ip
+ route", use /proc/net/route instead (TODO: handle IPv6 with
+ /proc/net/ipv6_route)
+
+2005-06-24 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, standalone/drakxtv: rename
+ isTVcard() as isTVcardConfigurable() since it's more meaninfull
+ regarding its purpose
+
+2005-06-24 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, harddrake/v4l.pm: enable to
+ configure cx88 driver
+
+2005-06-24 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: do not use tree branches for
+ vendor when there's only one device
+
+2005-06-24 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: update card lists from
+ kernel-2.6.12
+
+2005-06-24 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: (config) do not use a combo
+
+2005-06-24 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.27mdk
+
+2005-06-24 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, fs/dmraid.pm: handle dmraid device not
+ there, keeping the raw hds
+
+2005-06-24 10:30 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: fixing fstab must be done after
+ mounting /mnt
+
+2005-06-24 09:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs/format.pm, share/list.xml: normalize mke2fs and
+ mkreiserfs into mkfs.<fs_type>
+
+2005-06-24 09:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: remove
+ MDK::Common::Globals::init (fix crash)
+
+2005-06-24 09:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add "default_width" and "default_height"
+ for Gtk2::Window
+
+2005-06-24 09:02 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: add mkfs.ext2
+
+2005-06-24 05:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: replace remaining $net->{auth}
+ with $authentication (since those variables are no more written
+ in sysconfig/network)
+
+2005-06-24 05:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakauth: use
+ network::network::write_network_conf (fix crash)
+
+2005-06-24 05:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/authentication.pm: fix NISDOMAIN
+
+2005-06-24 05:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove DB logs before doing an install.
+
+2005-06-24 04:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove rpm 4.2 bug workaround, it may
+ confuse rpm in some cases
+
+2005-06-23 19:29 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Finsalize printer setup and more
+ spelling/tidy
+
+2005-06-23 11:25 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Punctuation fix
+
+2005-06-23 11:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix titypo
+
+2005-06-23 10:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: handle dmraid require fail
+
+2005-06-23 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cleanup (old titi
+ commit)
+
+2005-06-23 08:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/crypto.pm: remove unused get() and ftp()
+
+2005-06-23 08:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: don't use $::o but $o
+
+2005-06-23 07:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * Makefile, make_boot_img: Setup needed files for Xbox boot in
+ /export
+
+2005-06-23 07:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: use http proxy settings from
+ stage1 as post-install proxy settings for both http and ftp
+ connections
+
+2005-06-23 06:34 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po:
+ Updated Estonian translation.
+
+2005-06-23 03:09 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-06-22 14:17 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-06-22 00:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: Added scim-ccinput support.
+
+2005-06-21 20:25 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Mostly printer wizard strings
+
+2005-06-21 14:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: perl_checker
+
+2005-06-21 14:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: fix typo
+
+2005-06-21 14:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: strip "pxelinux_" in
+ profiles-related-only functions
+
+2005-06-21 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: - add profiles_exist - enhance
+ find_next_profile_name - add_empty_profile now needs a profile
+ name
+
+2005-06-21 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: handle creation of labels for every
+ filesystem types
+
+2005-06-21 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: perl_checker/suxiness fixes
+
+2005-06-21 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: - basic profiles support - per_mac
+ address configuration support
+
+2005-06-21 10:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: - give config file path as argument
+ in network::pxe::{read,write}_pxelinux_conf - add write_conf in
+ drakpxelinux to ease profile handling
+
+2005-06-21 10:08 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list.xml: Need this to work with rpm
+ 4.4.1-9mdk
+
+2005-06-21 09:49 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: add usage
+
+2005-06-21 09:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: commit here the command line I use
+
+2005-06-21 09:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - compute free_space per hd if needed
+ (useful when auto-allocating on vgs with still free space on hd)
+ - fix verifying enough space for next allocate
+
+2005-06-21 07:34 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: - handle missing ntfs devices -
+ handle resizing last ext2 partition
+
+2005-06-21 07:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't disable kmod when doing a chroot
+ install
+
+2005-06-20 12:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.26mdk
+
+2005-06-20 09:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: inline ask_shorewall_interface
+
+2005-06-20 09:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: ask shorewall interface and use
+ it
+
+2005-06-20 09:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: switch from GRUB to LILO since the
+ later now enable to boot from USB
+
+2005-06-20 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: rollback
+
+2005-06-20 09:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: remove unused code (thus fixing
+ a crash)
+
+2005-06-20 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: switch from GRUB to LILO since the
+ later now enable to boot from USB
+
+2005-06-20 09:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: don't strip VLAN and MTU fields
+ from ifcfg files
+
+2005-06-20 08:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install2.pm, fs/dmraid.pm,
+ fs/proc_partitions.pm: initial dmraid support
+
+2005-06-20 08:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: ignore HDIO_GETGEO fail
+ (useful for dmraid)
+
+2005-06-20 08:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, fs/proc_partitions.pm: - change
+ prototype of fs::get_major_minor() - use it in
+ fs::proc_partitions::compare() (not useful at the moment, but
+ it may help in the future)
+
+2005-06-20 07:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: enable creation of /dev/dm-x devices
+ (not used at the moment)
+
+2005-06-20 07:20 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-06-20 07:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add missing require
+
+2005-06-20 07:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove duplicate lan
+ detection
+
+2005-06-20 04:50 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: install keychain when installing
+ openssh-clients
+
+2005-06-19 18:08 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Updates and lots of speling
+ corrected
+
+2005-06-19 14:11 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-06-18 08:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-06-18 02:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: rollback titi's commit (it was needed
+ with 10.2 code, but i've already committed code to handle it
+ cleanly in cooker (see $quotes_if_needed))
+
+2005-06-17 21:50 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/: id.po: Updated
+
+2005-06-17 21:01 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: New entries and lots of "speling"
+
+2005-06-17 13:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: patch is needed for dkms-ati
+
+2005-06-17 12:24 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-06-17 11:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2005-06-17 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_lilo) fix support for labels
+ (eg: when switching from GRUB to LILO, let's prevent unmanagable
+ 'root="LABEL=..."' to appear)
+
+2005-06-17 11:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: typo fix
+
+2005-06-17 11:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_lilo) fix support for labels
+ (eg: when switching from GRUB to LILO, let's prevent unmanagable
+ 'root="LABEL=..."' to appear)
+
+2005-06-17 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: (to_raw_X) fix 3D on ATI cards
+ (adding 'load "glx"')
+
+2005-06-17 09:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-06-17 09:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, bg.po, bn.po, br.po, bs.po:
+ updated pot file
+
+2005-06-17 09:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po:
+ updated pot file
+
+2005-06-17 09:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: no space before question
+ marks
+
+2005-06-17 05:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix undefined function after
+ pixel cleanups (#16472)
+
+2005-06-17 04:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.25mdk
+
+2005-06-17 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: rewrite and document
+
+2005-06-17 04:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (read_grub) fix reading config with
+ new grub (thus fixing detectloader, thus fixing
+ bootloader-config, thus fixing installkernel)
+
+2005-06-16 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: (libgl_config) fix enabling 3D
+ when multiple GL libraries are installed (eg: globetrotter)
+
+2005-06-16 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modules.pm, harddrake/autoconf.pm: fix
+ autoconfiguring synaptics (eg: on globetrotter)
+
+2005-06-16 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: fix end message (do not speak about
+ restoration when installing)
+
+2005-06-16 10:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: load mouse modules after the
+ mouse has been configured, since modprobe.preload is read before
+ harddrake is run
+
+2005-06-16 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: fix mounting /proc
+
+2005-06-16 08:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - new grub has files in
+ /lib/grub/i386-pc, copy them in /boot/grub (as done by
+ grub-install) - use "setup" grub command instead of "install" so
+ that it handles stage1.5 embedding if possible, and is simpler
+
+2005-06-16 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (install2::configMove) fix infinite loop
+ while adding users
+
+2005-06-15 12:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.24mdk
+
+2005-06-15 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: (to_raw_X) really prevent
+ loading/unloading twice the same glx module on non NV cards
+
+2005-06-15 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: (to_raw_X) prevent
+ loading/unloading twice the same glx module on non NV cards
+
+2005-06-15 07:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) load lang in order to
+ prevent aborting
+
+2005-06-14 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.23mdk
+
+2005-06-14 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_grub) adapt to grub-0.97-2mdk
+
+2005-06-14 11:50 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: die on error
+
+2005-06-14 11:49 Pixel <pixel at mandriva.com>
+
+ * rescue/list.xml: needed for partimage_whole_disk, before calling
+ resize2fs
+
+2005-06-14 10:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: for lsparts to work
+
+2005-06-14 08:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: quotes in monitor names causes
+ havoc, replace them (bugzilla #16406)
+
+2005-06-14 07:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use diskdrake::resize_ext2
+
+2005-06-14 07:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/resize_ext2.pm: move ext2 resizing code
+ here so that it's easier to use
+
+2005-06-14 03:31 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-06-13 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm: stop messing with likeauth and
+ nullok options and keep them on the pam_unix line (bugzilla
+ #12066)
+
+2005-06-13 07:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: prefix write_secret_backend
+
+2005-06-13 07:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, install_any.pm, fs/get.pm,
+ standalone/drakupdate_fstab: fsedit::is_same_hd is now
+ fs:get::is_same_hd
+
+2005-06-13 06:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, diskdrake/removable.pm,
+ fs/mount_options.pm, fs/type.pm: fs::auto_fs() is now
+ fs::type::guessed_by_mount() (still not a really nice name...)
+
+2005-06-13 06:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: don't install drakpxe, the PXE
+ wizard is now in the drakpxelinux package
+
+2005-06-13 06:33 Pixel <pixel at mandriva.com>
+
+ * rescue/: guessmounts, lsparts, restore_ms_boot: move functions
+ using /proc/partitions out of fsedit to fs::proc_partitions
+
+2005-06-12 09:02 rstandtke
+
+ * perl-install/share/po/de.po: some additions and fixes
+
+2005-06-12 04:54 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-06-10 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't drop "shade" and "viewport"
+ lines (bugzilla #16372)
+
+2005-06-10 10:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: class_discard.pm, standalone.pm: class_discard is
+ a bad idea, now unused, so drop it
+
+2005-06-10 09:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, common.pm, crypto.pm, fs.pm,
+ install_any.pm, interactive.pm, pkgs.pm, network/isdn.pm,
+ network/test.pm, resize_fat/main.pm, security/msec.pm,
+ standalone/drakTermServ: don't need use MDK::Common... when we
+ have "use common" (which is the standard for libDrakX modules)
+
+2005-06-10 09:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/proc_partitions.pm: make it work
+
+2005-06-10 09:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, bootloader.pm,
+ detect_devices.pm, devices.pm, fsedit.pm, http.pm, mygtk2.pm,
+ raid.pm, Xconfig/main.pm, Xconfig/resolution_and_depth.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/smbnfs_gtk.pm, fs/mount_options.pm,
+ fs/proc_partitions.pm, harddrake/autoconf.pm, harddrake/data.pm,
+ harddrake/sound.pm, harddrake/v4l.pm, modules/interactive.pm,
+ network/adsl.pm, network/dhcpd.pm, network/ethernet.pm,
+ network/ipsec.pm, network/isdn.pm, network/modem.pm,
+ network/network.pm, network/nfs.pm, network/smb.pm,
+ network/smbnfs.pm, partition_table/dos.pm: - move functions using
+ /proc/partitions out of fsedit to fs::proc_partitions - remove
+ unneeded "use xxx" - add some "use xxx" (nb: not completly needed
+ because some other modules may do it)
+
+2005-06-10 07:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: write_secret_backend isn't exported
+ anymore
+
+2005-06-10 07:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm: use services::enable()
+ and services::disable()
+
+2005-06-10 07:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/services.pm: create enable() and disable() out of
+ set_status()
+
+2005-06-10 06:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig/default.pm, Xconfig/main.pm,
+ Xconfig/various.pm, diskdrake/interactive.pm,
+ network/netconnect.pm, network/thirdparty.pm,
+ partition_table/gpt.pm: add some "use xxx;" (the idea is to see
+ what the package needs, but i may rollback after understanding
+ better dependencies)
+
+2005-06-10 06:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, fs.pm, fsedit.pm, install_steps.pm,
+ install_steps_interactive.pm, loopback.pm, pkgs.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm, fs/format.pm,
+ fs/get.pm, fs/loopback.pm: move loopback.pm to fs/loopback.pm
+ (since it's tightly tight to many fs* things)
+
+2005-06-10 06:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/pxe.pm: - create network::pxe out of
+ drakpxelinux (pxe configuration files management) - get_items()
+ -> network::pxe::read_pxelinux_conf() - don't read comments in
+ pxelinux configuration file - store pxelinux configuration in a
+ hash to avoid multiple cat_() - add
+ network::pxe::list_pxelinux_labels() to get labels from a
+ pxelinux configuration - only overwrite pxelinux settings
+ (prompt, timeout, ...) when pxe is reconfigured - use
+ network::network and network::tools to get hostname, domain name,
+ IP address, net interface - move row creation code in
+ set_pxelinux_entry_at_iter() and factorize - use
+ ensure_is_installed to make sure pxe is installed
+
+2005-06-09 15:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add get_interface_ip_address (with
+ bits from drakpxelinux)
+
+2005-06-09 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/move.pm: bump copyright + s/Mandrakesoft/Mandriva/
+
+2005-06-09 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/Makefile: (changelog) only track HEAD changes
+
+2005-06-09 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/Makefile: (changelog) compute ChangeLog in branch
+
+2005-06-09 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: - sync with DrakX's API - add a few
+ comments - we only need 4.6Gb for packages now (the DVD image) -
+ update package list: o for 10.0 -> LE2005 changes (eg: switch
+ to dkms and the like) o install all languages (marketing
+ request) o install multimedia plugins & Java runtime
+ environment o do not unselect anymore input methods
+
+2005-06-09 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: (installPackages) help packages'
+ post-install scripts
+
+2005-06-09 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: (installPackages) help DrakX more
+
+2005-06-09 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: detect both old and new LaCie models
+
+2005-06-09 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: prevent building a disk w/o translation
+ catalogs
+
+2005-06-09 12:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: prevent warning message about /proc to
+ appear at boot
+
+2005-06-09 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: - urpmi syntax had changed - install
+ all new media
+
+2005-06-09 12:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: devfs is dead
+
+2005-06-09 12:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: save X.org conf too on profile switch
+
+2005-06-09 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: pkgs.pm: (install) do not kill runaway processes
+ when building the globetrotter
+
+2005-06-09 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: pkgs.pm: (bestKernelPackage) while building a
+ globetrotter, do not look for a specific kernel favour
+
+2005-06-09 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: make_live: set $::build_globetrotter
+
+2005-06-09 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: forward: (getSCSI_26) fix of by
+ one error resulting in misdetecing USB mass storage devices
+ (#13569)
+
+2005-06-09 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: (addUser) apply
+ autologin setting for globetrotter
+
+2005-06-09 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: (acceptLicense) do
+ not show "releases notes" for globetrotter
+
+2005-06-09 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (install2::configMove) prevent dm service
+ to fail to startup because of /tmp/.font-unix's permissions
+
+2005-06-09 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/move.pm: (install2::configMove) remove useless test
+
+2005-06-09 12:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (install2::configMove) workaround init
+ reading inittab before any.pm alters it
+
+2005-06-09 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: sync with drakx's API
+
+2005-06-09 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (automatic_xconf) class_discard is needed
+ way earlier
+
+2005-06-09 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (install2::configMove) fix killing X11
+ due to XFree86 -> X.org switch
+
+2005-06-09 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: move.pm: (install2::configMove) if formatError()
+ returns nothing, better display the raw error
+
+2005-06-09 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/hwprofile: adapt do 10.2 drakconnect API
+
+2005-06-09 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: Makefile: fix build
+
+2005-06-09 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: .perl_checker: blacklist more pakcages
+
+2005-06-09 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: runstage2: fix comment
+
+2005-06-09 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense) fix
+ exiting step license
+
+2005-06-09 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense) better
+ use run_program for killing Xorg
+
+2005-06-09 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (leavingStep) if formatError()
+ returns nothing, better display the raw error
+
+2005-06-09 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: forward: ensure that explanations
+ go into /var/log/explanations is standalone mode
+ (log::explanations() just calls log::l() at install time)
+
+2005-06-09 11:12 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: - added senegal ADSL
+ provider entry
+
+2005-06-09 11:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: remove non-ASCII character
+
+2005-06-09 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (autologin) make autologin choice more user
+ friendly (better fix for #4304)
+
+2005-06-09 09:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Translated more strings, also fixed
+ a few old ones :)
+
+2005-06-09 06:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, modules/any_conf.pm: don't need
+ prefixing with current package
+
+2005-06-09 04:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, keyboard.pm, raid.pm,
+ services.pm, Xconfig/main.pm, partition_table/mac.pm: don't need
+ prefixing with current package
+
+2005-06-08 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs.pm: (mount_part) stop removing lost+found
+ (#16173) (pixel's changelog was "no_comment")
+
+2005-06-08 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.22mdk
+
+2005-06-08 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump conflict on drakconf due to
+ blino's changes
+
+2005-06-08 08:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: allow to install ndiswrapper
+ drivers during install
+
+2005-06-08 08:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: network.pm, ndiswrapper.pm: use prefix
+ only once it has been defined by install
+
+2005-06-07 09:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: do not crash when restarting
+ shorewall
+
+2005-06-07 09:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/shorewall.pm, standalone/drakgw: don't be
+ fooled by if_ not short-circuiting and auto-vivification, use
+ $conf->{masq_subnet} instead of $conf->{masquerade}{subnet} (i.e.
+ do not write buggy shorewall masqfile when connection sharing is
+ disabled)
+
+2005-06-07 07:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.21mdk
+
+2005-06-07 07:30 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-06-07 06:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs.pm: (mount) use 'soft' & 'intr' options for nfs
+ mounts
+
+2005-06-07 04:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (media_browser): handle nfs
+
+2005-06-07 03:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/finish-install: - backport "add language
+ selection" - add keyboard selection
+
+2005-06-07 03:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow inspecting nfs
+
+2005-06-07 03:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: handle nfs mount (since we now use the
+ /bin/mount instead of the syscall, we get it for free)
+
+2005-06-06 17:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-06-06 17:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, vi.po: updated French and
+ Vietnamese files
+
+2005-06-06 10:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: replace strange "-" with a ascii
+ compliant one
+
+2005-06-06 08:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: install2 functions
+ should be steps
+
+2005-06-06 08:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: get rid of $clicked and $ent_number
+ (obsolete)
+
+2005-06-06 08:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: change the default in case of
+ low resources and add the Icewm choice
+
+2005-06-06 08:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make it more readable
+
+2005-06-06 07:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: kill unused variables
+
+2005-06-06 07:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: simplify apply() since
+ sethostname() is done by configure_network()
+
+2005-06-06 07:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: set system hostname when writing
+ network configuration
+
+2005-06-06 07:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: create adjustments before
+ resolution is set so that they get correct upper values
+
+2005-06-06 07:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: - create
+ update_scales_for_resolution() and
+ update_scale_values_from_conf() out of update_scale_values() -
+ modify $adj{$_}{value} instead of calling $adj{$_}->set_value to
+ avoid some artefacts caused by callbacks
+
+2005-06-06 07:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: - draw cross in progress bar
+ - update_rect -> update_theme_from_rect - create update_rect out
+ of switch_to_mode
+
+2005-06-06 06:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: nicer error
+
+2005-06-06 06:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, standalone/bootloader-config: - put
+ quotes if needed for root=xxx (quotes are needed for LABEL=...) -
+ use LABEL=... if preferred
+
+2005-06-06 06:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: really consider text box
+ values
+
+2005-06-06 06:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: rewrite before adding more
+
+2005-06-06 06:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: fix typo instead of trying to be
+ perl_checker compliant ...
+
+2005-06-06 06:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: keep read-only, read-write and label
+ as verbatim as possible (note that read-only will not appear by
+ default anymore since "ro" is the default)
+
+2005-06-06 06:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: handle GATEWAY field again
+ in manage interface
+
+2005-06-06 06:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: use
+ bootloader->{message_text} instead of bootloader->{message}
+
+2005-06-06 06:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use real_main here since
+ exceptions are handled
+
+2005-06-06 05:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: update comments
+
+2005-06-06 05:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add ISP field in eagle-usb.conf
+
+2005-06-06 05:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: netconnect API change,
+ harddrake::autoconf::network_conf seems unused anyway, and this
+ easy_dhcp thing is already performed by hotplug
+
+2005-06-06 05:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: drop unused variable, this file
+ is modified in network::shorewall now
+
+2005-06-06 05:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, standalone/drakgw: new
+ netconnect API
+
+2005-06-06 05:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: API change (me sux)
+
+2005-06-06 04:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, share/compssUsers.pl,
+ share/rpmsrate: make a special "low resources" choice
+
+2005-06-06 03:57 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Translated more strings
+
+2005-06-06 02:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't add us_intl,
+ lang2keyboards() takes care of everything (bugzilla #12979)
+
+2005-06-06 02:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: default to "en" keyboard (as requested
+ by pablo)
+
+2005-06-03 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add pata_pdc2027x SATA driver
+
+2005-06-03 12:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: do not use a loop device to read ISO
+ image IDs, read them directly in the file ...
+
+2005-06-03 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: introduce network_is_cheap(), use
+ it, and fix a boolean typo
+
+2005-06-03 11:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: $o->{net}{type} is already defined
+ in more appropriate places
+
+2005-06-03 11:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: define $o->{net}{type} and
+ $o->{net}{net_interface} for lan installs
+
+2005-06-03 11:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: provide backward compatibility for
+ network fields in loadO
+
+2005-06-03 11:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: keep NETWORKING_IPV6 and
+ FORWARD_IPV4 variables in /etc/sysconfig/network
+
+2005-06-03 10:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: remove comment, stage1 now writes
+ DOMAINNAME and DHCP_HOSTNAME in the proper files
+
+2005-06-03 10:39 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: write DHCP_HOSTNAME in /tmp/ifcfg-* file
+ instead of /tmp/network
+
+2005-06-03 10:37 Pixel <pixel at mandriva.com>
+
+ * tools/drakx-in-chroot: don't rmdir directories in the chroot
+
+2005-06-03 10:37 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: domain name is already in /etc/resolv.conf
+ (and stage2 reads this file too), don't write it in /tmp/network
+
+2005-06-03 10:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, raid.pm, fs/type.pm,
+ standalone/drakperm, standalone/logdrake: remove unused code
+
+2005-06-03 10:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: $o->{net}{network} and
+ $o->{net}{resolv} may not exist at this stage of installation
+ (they are created by read_net_conf), create them if needed
+
+2005-06-03 10:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: net interface is now in
+ $net->{net_interface}
+
+2005-06-03 10:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: drop now unused variable
+
+2005-06-03 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, diskdrake/interactive.pm:
+ remove unused isPrimary
+
+2005-06-03 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: remove unused code
+
+2005-06-03 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: during_install__l2charset() was used by
+ share/gen_locales.sh which is now dropped
+
+2005-06-03 10:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: update comment
+
+2005-06-03 10:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: remove unneeded parentheses (keep
+ first() to make it readable by trainees ...)
+
+2005-06-03 10:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: remove unused old code
+
+2005-06-03 10:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove unused code
+
+2005-06-03 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: remove doble
+
+2005-06-03 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/commands.pm: (dd) reuse c::
+
+2005-06-03 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/commands.pm: (dd) make sysopen() call readable
+
+2005-06-03 09:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: use "our" instead of "use vars"
+
+2005-06-03 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add O_CREAT
+
+2005-06-03 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: help perl_checker
+
+2005-06-03 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix pixel sucks
+
+2005-06-03 09:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add O_WRONLY & O_RDWR
+
+2005-06-03 09:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: drop unused subs
+
+2005-06-03 09:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: dropping
+ pkg_install_if_requires_satisfied() (old & unused)
+
+2005-06-03 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: authentication.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm, network/adsl.pm,
+ network/adsl_consts.pm, network/ethernet.pm, network/isdn.pm,
+ network/modem.pm, network/netconnect.pm, network/network.pm,
+ network/tools.pm, standalone/drakauth, standalone/drakautoinst,
+ standalone/drakconnect, standalone/drakpxe,
+ standalone/finish-install, standalone/net_applet,
+ standalone/net_monitor: - merge network settings in a $net hash
+ (it modifies $o fields too): o $netc becomes $net->{network}
+ and $net->{resolv} o $intf becomes $net->{ifcfg} - move
+ zeroconf config stuff in write_zeroconf - read_tmdns_conf ->
+ read_zeroconf - read_all_conf -> read_net_conf -
+ configureNetwork2 -> configure_network - configure_network: write
+ ifcfg files for ppp interfaces too - don't install wireless-tools
+ in configure_network, this package is in basesystem - most
+ functions don't need the file path as an argument in
+ network::network - drop network::tools::remove_initscript - don't
+ export too much from network::network - don't export from
+ network::tools - remove adsl_unsupported_eci step in drakconnect
+ - drop passwd2 field in network::adsl - drop
+ $net->{isdn_internal} - network::netconnect : main -> safe_main -
+ use network::netconnect::real_main during install - don't read
+ network config in network::netconnect::real_main -
+ install_steps::upNetwork : resolv.conf is already symlinked by
+ network::network::configure_network when appropriate - try to fix
+ install_any::generate_automatic_stage1_params to use a real
+ interface configuration - put authentication stuff in
+ $net->{auth} - drop network::ethernet::write_ether_conf - drop
+ network::adsl::get_wizard - use 'static' instead of 'manual' as
+ ADSL method - drop first_modem and its workarounds in
+ network::modem - drop deprecated "multiple_internet_cnx" step in
+ drakconnect - don't save /etc/sysconfig/drakconnect anymore -
+ drop MDK::Common::Globals stuff - drop getIP in net_applet
+ (Pixel) - drop $netc->{DHCP} - configure_network(): write
+ resolv.conf even if a dhcp interface is configured
+
+2005-06-03 09:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: drop setting $_ (unused)
+
+2005-06-03 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: drop untranslate which is unused and bad
+ practice
+
+2005-06-03 09:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakpxe: drop unused code (and one should
+ use append_to_file instead of this outpend)
+
+2005-06-03 09:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, diskdrake/interactive.pm: drop old
+ unused code
+
+2005-06-03 09:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, standalone/drakauth: read
+ existing authentication conf (only minimal support for now)
+
+2005-06-03 08:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: simplify
+
+2005-06-03 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: use find() (which was
+ unused)
+
+2005-06-03 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: add many non perl_checker compatible
+ modules
+
+2005-06-03 08:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakups: minimal changes to make me and
+ perl_checker happy
+
+2005-06-03 08:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: net_applet, drakbug, drakboot: make
+ perl_checker happy
+
+2005-06-03 08:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: perl_checker fixes, make mode
+ optionnal in load_image
+
+2005-06-03 08:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksound: 4th parameter is not used, i
+ suspect it's not useful anymore since we pass the value in
+ {sound_slot_index}
+
+2005-06-03 08:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootsplash.pm: - perl_checker compliance - use "our"
+ instead of "use vars"
+
+2005-06-03 08:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: make perl_checker happy
+
+2005-06-03 07:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Typo fix
+
+2005-06-03 07:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootsplash.pm: simplify
+
+2005-06-03 07:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix blino sux
+
+2005-06-03 07:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: drop unused variable, this
+ is done in detect_devices::get_sysfs_device_id_map()
+
+2005-06-03 07:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm, interactive/newt.pm,
+ standalone/harddrake2: make perl_checker happy
+
+2005-06-03 07:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: The mandrakelinux-release package doesn't
+ exist any more, so you can't deduce the version from it.
+ Something more robust than this needs to be figured out.
+
+2005-06-03 07:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: be more in drakx spirit, and
+ more important perl_checker warning clean
+
+2005-06-03 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: DISABLE_WINDOWS_KEY in
+ /etc/sysconfig/keyboard since it is unused (AFAIK as i, flepied
+ and lmontel knows) (it was added by fpons, commit 1.108 on
+ 2001/07/05)
+
+2005-06-03 07:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, lang.pm: get rid of the
+ few remaining $LD_LOADER
+
+2005-06-03 07:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: more tools when debugging install
+
+2005-06-03 07:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: rename load() into builtin_loadkeys()
+
+2005-06-03 07:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: drop oooold broken code
+
+2005-06-03 07:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: drop oooold deprecated code
+
+2005-06-03 07:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: inline old mount command which has been
+ removed
+
+2005-06-03 06:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: drop obsolete code (keymaps.cz2 and
+ xmodmap.cz2 are dead since make_mdkinst_stage2 was dropped)
+
+2005-06-03 06:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, install_steps.pm, keyboard.pm:
+ keyboard::setup() is better named keyboard::setup_install()
+
+2005-06-03 06:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: reformat keyboard2full_xkb()
+
+2005-06-03 06:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: fix indentation (titi sux)
+
+2005-06-03 06:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, standalone/keyboarddrake: create
+ keyboard::configure_xorg() and use it (and don't call it inside a
+ eval, no error should occur)
+
+2005-06-03 06:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm: don't use
+ $in->{locale} as being $o->{locale} during install, it's much
+ better to pass $o->{locale}
+
+2005-06-03 02:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: use
+ any::selectLanguage_and_more_standalone()
+
+2005-06-03 02:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: for finish-install
+
+2005-06-03 02:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/finish-install: add language selection to
+ finish-install
+
+2005-06-03 02:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/finish-install: adapt to
+ network::netconnect::real_main() prototype change
+
+2005-06-03 01:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: helper rule
+
+2005-06-02 17:52 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Tidy up fuzzy messages
+
+2005-06-02 11:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: random service doesn't exist
+ anymore
+
+2005-06-02 11:22 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Fixes and msg sync
+
+2005-06-02 07:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, modules/any_conf.pm: read in existing
+ modprobe.conf on upgrade (bugzilla #13309)
+
+2005-06-02 07:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm,
+ install_steps_interactive.pm: allow upgrading a chroot (using
+ drakx-in-chroot)
+
+2005-06-02 07:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: list.xml: allow "perl -d" on install
+
+2005-06-02 05:20 Olivier Blin <oblin at mandriva.com>
+
+ * globetrotter/hwprofile: fix netprofile stuff
+
+2005-06-02 05:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: make perl_checker happy
+
+2005-06-02 04:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, keyboard.pm,
+ standalone/keyboarddrake: - create keyboard::default() and use it
+ - it uses keyboard::from_DMI() to get XkbModel when possible
+
+2005-06-02 04:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_any.pm,
+ install_interactive.pm, modules.pm, Xconfig/monitor.pm: create
+ detect_devices::probe_name() &
+ detect_devices::probe_unique_name() and use them
+
+2005-06-02 03:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: make perl_checker happy
+
+2005-06-02 03:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: revert very new titi sucks
+
+2005-06-02 01:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense) fix
+ exiting step license
+
+2005-06-02 01:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (miscellaneousAfter) fix very old
+ uncatched bug
+
+2005-06-01 13:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Tape backup/restore fixes to
+ work with new .backupignore scheme, +bugs.
+
+2005-06-01 10:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) simplify
+
+2005-06-01 09:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow specifying the uid and gid when
+ creating a user (part of bugzilla #15190)
+
+2005-06-01 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) do not use next in
+ callback
+
+2005-06-01 09:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: fix typo
+
+2005-06-01 09:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add many resolutions, but don't
+ allow them yet
+
+2005-06-01 08:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: merge_fstabs doesn't mess around with options
+ anymore in "loose" mode
+
+2005-06-01 08:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: ensure reading existing fstab in
+ suggest_mount_points doesn't get its options
+
+2005-06-01 06:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: auto_install support for creating LABELed
+ devices
+
+2005-06-01 06:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: set the LABEL after formatting, or
+ drop it if we don't know how to set it
+
+2005-06-01 06:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: nicer log
+
+2005-06-01 05:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, commands.pm, fs.pm, share/list.xml: use
+ command mount instead of using directly the syscall (allows some
+ cleanup)
+
+2005-06-01 05:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, standalone/finish-install,
+ standalone/localedrake: add language selection to finish-install
+
+2005-05-31 12:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: use services::set_status
+
+2005-05-31 11:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - rename "hw_account" step as
+ "isdn_account" - remove unneeded code - don't overwrite
+ huptimeout value
+
+2005-05-31 11:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: tag obscure isdn card
+ settings as advanced
+
+2005-05-31 11:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: if__(exists $foo, $bar)
+ returns $bar whatever $foo is, don't try to make smart code that
+ don't work (initial goal was probably to hide some isdn settings
+ if they weren't set)
+
+2005-05-31 10:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: really handle irq, mem, io,
+ io0, io1 isdn paramaters (i.e. finish the "fix parameters
+ reading/writin in isdn config" commit from Titi)
+
+2005-05-31 10:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: read I4L_IDLETIME setting
+
+2005-05-31 10:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: handle huptimeout
+ setting again (I4L_IDLETIME in isdn4net)
+
+2005-05-31 10:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/finish-install: remove unneded modules
+ loading ('net' category is deprecated for ages)
+
+2005-05-31 10:24 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-05-31 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-05-31 09:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove dead code
+
+2005-05-31 07:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-05-31 03:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: for drakx-finish-install
+
+2005-05-31 03:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakedm: adding back translation of
+ descriptions for some known display managers
+
+2005-05-30 14:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: add no_club option to specify
+ that no club drivers are available (ECI)
+
+2005-05-30 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, network/netconnect.pm, network/network.pm,
+ standalone/net_applet: move netprofile stuff in network::network
+
+2005-05-30 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakedm: - don't use hard written entries
+ anymore - display the entries sorted as given - simplify code
+ using more drakx functions
+
+2005-05-30 10:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix spacing in 10.3-0.20mdk's
+ changelog
+
+2005-05-30 10:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakedm: look for *.conf
+
+2005-05-30 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add missing closing brace
+
+2005-05-30 09:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: external isdn modems don't
+ require the "isdn_dial_on_boot" step
+
+2005-05-30 09:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: $netc->{isdntype} is unneeded
+
+2005-05-30 09:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simply isdn external modem
+ code (remove $netcnx->{isdn_external})
+
+2005-05-30 09:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't kill runaway processes in
+ drakx-in-chroot since we don't detect wether those are runaway
+ processes or normal processes
+
+2005-05-30 09:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: remove unneeded comments
+
+2005-05-30 09:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use network::thirdparty for
+ modem devices
+
+2005-05-30 09:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/thirdparty.pm: allow to ask for some
+ configuration fields (useful for "device" in "rtc" category)
+
+2005-05-30 09:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't skip selectLanguage,
+ selectKeyboard and miscellaneous by default in drakx-in-chroot
+
+2005-05-30 09:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: button "Reboot" is
+ better called "Quit" for chrooted installs
+
+2005-05-30 08:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove dead code
+
+2005-05-30 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_steps.pm, tools/drakx-in-chroot: make
+ drakx-in-chroot work
+
+2005-05-30 08:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add snd-ali5451 network/slmodem since it
+ can now drive the modem part of this chip (from ALSA CVS)
+
+2005-05-30 08:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.20mdk
+
+2005-05-30 04:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add itmtouch to input/touchscreen
+
+2005-05-30 04:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add more USB DVB drivers: dvb-usb-a800,
+ dvb-usb-dibusb-mb, dvb-usb-digitv, dvb-usb-dtt200u,
+ dvb-usb-nova-t-usb2, dvb-usb-umt-010 and dvb-usb-vp7045
+
+2005-05-30 04:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) factorize modules
+ managment
+
+2005-05-30 04:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) simplify DVB & TV
+ managment through probe_category()
+
+2005-05-30 04:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: load drivers for newly
+ added devices so that they work out of the box on first boot
+ after card plugging for the following categorys: AGP ATA_STORAGE
+ DVB SATA_STORAGE SCSI_CONTROLLER TV
+
+2005-05-29 19:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Support for PPD file names with
+ spaces (bug #16172).
+
+2005-05-28 02:00 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-05-27 13:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, thirdparty.pm, tools.pm:
+ initial import of network::thirdparty (this module factorizes the
+ thirdparty software/drivers/firmwares detection and installation
+ code, it points the user to the relevant
+ packages/documentation/url if needed, and don't allow to
+ configure a device if its requirements aren't satisfied)
+
+2005-05-27 12:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/common.pm: update comment
+
+2005-05-27 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-05-27 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) fix warning and cleanup
+
+2005-05-27 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.19mdk
+
+2005-05-27 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - add new hfc4s8s_l1 ISDN driver - add
+ new bnx2 gigabit driver - add new ads7846_ts, gunze,
+ hp680_ts_input & mk712 mtouch touchscreen drivers
+
+2005-05-27 08:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakedm: handle /etc/X11/dm.d/* entries
+ (as proposed by Loic Baudry)
+
+2005-05-27 08:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm:
+ kderc_largedisplay() is no more needed
+
+2005-05-27 08:04 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Comment fixes, remove
+ noisy log
+
+2005-05-27 07:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: kfm is gone for
+ some time
+
+2005-05-27 07:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: - since
+ set_security doesn't depend on the bootloader password, we can
+ call it where it should - ensure we don't drop entries from
+ /etc/sysconfig/system
+
+2005-05-27 07:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: we need latest perl-MDK-Common
+
+2005-05-27 07:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/various.pm: use addVarsInSh()
+
+2005-05-27 07:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove unused and obsolete code
+
+2005-05-27 05:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (get_ims) rollback debug statement
+
+2005-05-27 03:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Remove the naming
+ convention with a trailing "s" for supplementary CDs medium ids
+
+2005-05-27 03:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: - CLASS in /etc/sysconfig/system
+ is deprected (is always "beginner") - SECURITY in
+ /etc/sysconfig/system is unused (and always was)
+
+2005-05-27 03:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove unused function
+
+2005-05-27 02:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: don't set DRAKX_PASSWORD and
+ DURING_INSTALL for msec since msec doesn't care about them
+ anymore
+
+2005-05-27 02:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: replace $o->{localInstall} with
+ $::local_install
+
+2005-05-27 02:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo in comment
+
+2005-05-27 02:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) display SCIM combinaisons in
+ a sub menu
+
+2005-05-27 02:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: enable to select extra SCIM combinaisons:
+ scim+anthy, scim+canna, scim+fcitx, scim+m17n, scim+prime, and
+ scim+skk;
+
+2005-05-27 02:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) fix set/get from sub
+ leaf of ComboBox with tree
+
+2005-05-26 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) help perl_checker
+
+2005-05-26 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.18mdk
+
+2005-05-26 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSCSI_26) fix of by one error
+ resulting in misdetecing USB mass storage devices (#13569)
+
+2005-05-26 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix setting a combobox with a
+ tree
+
+2005-05-26 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_normalize) since we can
+ now use ComboBoxes with trees, do not use big TreeView instead of
+ small ComboBox when not asked for
+
+2005-05-26 16:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (__create_tree_model,
+ create_treeview_tree, ask_fromW) enable to use ComboBoxes with
+ trees
+
+2005-05-26 13:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: help emacs somewhat
+
+2005-05-26 13:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: list alternative IMs so that they're
+ on CDs (in order not to break updates):
+
+2005-05-26 13:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: remove debug code
+
+2005-05-26 13:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: check_iptables() doesn't need a
+ $in object anymore
+
+2005-05-26 13:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add "choose_net_interface" step
+ to have a real wizard step when asking net interface
+
+2005-05-26 13:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: create
+ $ask_shorewall_interface_label, shorewall_interface_choices() and
+ set_net_interface() out of ask_shorewall_interface() to avoid
+ code duplication
+
+2005-05-26 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: perl_checker fixes
+
+2005-05-26 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/shorewall.pm, standalone/drakgw: better
+ way to handle squid ports (read shorewall REDIRECT rules in
+ network::shorewall::read to avoid tricks in
+ network::shorewall::write)
+
+2005-05-26 13:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: enable to select scim+uim again
+
+2005-05-26 13:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: install needed packages for kinput2
+
+2005-05-26 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: read_squid_conf() is now in
+ network::squid
+
+2005-05-26 12:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: simplify check_iptables()
+
+2005-05-26 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add orinoco_tmd wireless driver
+
+2005-05-26 10:32 Pixel <pixel at mandriva.com>
+
+ * kernel/.cvsignore: add RPMS
+
+2005-05-26 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm, perl-install/install_steps_gtk.pm,
+ perl-install/modules.pm, tools/drakx-in-chroot: replace unused
+ $o->{localInstall} with $::local_install, partially used instead
+ of $::uml_install and used in drakx-in-chroot
+
+2005-05-26 09:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: for drakx-finish-install
+
+2005-05-26 09:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Factorize and ensure checking main
+ installation method
+
+2005-05-26 09:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml, tools/install-xml-file-list: -
+ enhance script so that we don't have to list bsh - add bash when
+ DEBUG_INSTALL
+
+2005-05-26 09:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Show the "downloading hdlist" wait box only
+ when downloading hdlist from a network medium
+
+2005-05-26 08:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove spurious field
+
+2005-05-26 07:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: - use scrollbar in preview
+ window - try not to be larger than screen size minus toolbars
+ size - close_window -> close_all
+
+2005-05-26 07:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, commands, install2,
+ share/aliases: switch from /usr/bin/perl-install to
+ /usr/lib/libDrakX
+
+2005-05-26 07:48 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: - handle <if set="..."> tag - hide
+ some stuff when non verbose
+
+2005-05-26 07:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't use the \d+s regexp on medium
+ ids to see if that's suppl cds.
+
+2005-05-26 07:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/symlinks: /etc/termcap is needed for perl
+ debugging
+
+2005-05-26 07:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml: - add stuff to enable perl debugging
+ when DEBUG_INSTALL is set - ash is now a symlink, add bsh
+
+2005-05-26 07:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/devices: /dev/tty is needed to debug stage2
+
+2005-05-26 07:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm, pkgs.pm: More
+ refactorisation
+
+2005-05-25 12:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Mark an argument as optional
+
+2005-05-25 12:05 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: crypto.pm, install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm: Begin refactorization of
+ install medium handling code
+
+2005-05-25 10:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/fix-broken-hd.diff: fix broken hd
+
+2005-05-25 10:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: unmount partitions even when failled
+
+2005-05-25 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: display message earlier
+
+2005-05-25 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: on restoration, tell which one is the
+ packages partition when found
+
+2005-05-25 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: nicely tell that the restoration is
+ completed
+
+2005-05-25 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: use newly introduced my_exit() in order
+ to display better messages
+
+2005-05-25 10:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: (my_exit) introduce it for smoother
+ messages
+
+2005-05-25 10:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: handle smoothly packages partition with
+ multiple kernel packages
+
+2005-05-25 10:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: fix fs checking prior to restoration,
+ thus handling restoration on fscked hard disks
+
+2005-05-25 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: when we format the root fs prior to
+ restoring the hd, set back the label on the fs so that we can
+ handle an aborted restoration (power outrage, ...)
+
+2005-05-25 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: factorize some code through
+ find_partition()
+
+2005-05-25 10:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: rollback clean_rpmsrate's changes
+
+2005-05-25 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install both as10k1 and ld10k1 for
+ both snd-emu10k1 and snd-emu10k1x driven sound cards
+
+2005-05-25 07:04 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-05-25 06:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: let user call drakroam
+ (#16019)
+
+2005-05-25 05:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: use if_()
+
+2005-05-24 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.17mdk
+
+2005-05-24 11:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: - wizardify - allow not to enable
+ DNS, dhcpd and proxy servers - allow not to enable CUPS broadcast
+ - use @IF (network interface) instead of network address in CUPS
+ configuration
+
+2005-05-24 11:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/dhcpd.pm: initial import, move
+ read_dhcpd_conf() from network::network and split
+ write_dhcpd_conf() from drakgw
+
+2005-05-24 11:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/squid.pm: initial import, move
+ read_squid_conf() from network::network and split
+ write_squid_conf() from drakgw
+
+2005-05-24 11:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove unneeded trick since
+ network::network always update NETWORK and BROADCAST now
+
+2005-05-24 11:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: - move read_dhcpd_conf() in
+ network::dhcpd - move read_squid_conf() in network::squid -
+ create update_broadcast_and_network() and force NETWORK and
+ BROADCAST variables update
+
+2005-05-24 11:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: - split warning out of
+ check_iptables() - get_default_device() -> get_ifcfg_interface()
+ - get_net_device() -> get_shorewall_interface() - create
+ ask_shorewall_interface() out of default_interfaces() - create
+ read_default_interfaces() to replace default_interfaces() and
+ default_interfaces_silent() - use services::set_status() in
+ write()
+
+2005-05-24 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/services.pm: - introduce set_status(),
+ restart_or_start() and service_exists() - cleanups (use
+ run_program success status)
+
+2005-05-24 10:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Modernize, remove old code
+
+2005-05-24 09:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/devices: fix typo
+
+2005-05-24 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: list sb16_csp only once
+
+2005-05-24 08:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/run_program.pm: fix return code when chroot can't be
+ done
+
+2005-05-24 04:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: ensure {needToCopy} is not dropped when
+ calling read_rpmsrate() more than once
+
+2005-05-23 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: use mousedrake to configure
+ tablets & touchscreens
+
+2005-05-23 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install sb16_csp for SB sound cards
+
+2005-05-23 10:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install ld10k1 for snd-emu10k1 and
+ snd-emu10k1x
+
+2005-05-23 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install hdspconf for snd-hdsp
+
+2005-05-23 08:42 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, kernel/update_kernel,
+ perl-install/Makefile, rescue/make_rescue_img: - create
+ kernel/RPMS/ to copy rpms before expanding them in
+ kernel/all.kernels - remove old compatability code - add some doc
+ in update_kernel
+
+2005-05-23 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix (blino)
+
+2005-05-23 07:30 Pixel <pixel at mandriva.com>
+
+ * rescue/Makefile: finish moving from list to list.xml
+
+2005-05-22 15:16 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated simplified Chinese
+ translation.
+
+2005-05-22 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, help-de.pot, help-es.pot,
+ help-fr.pot, help-it.pot, help-ru.pot, help-zh_CN.pot, hi.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, ky.po, lt.po,
+ ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po,
+ pa_IN.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sc.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: undo breakage
+
+2005-05-22 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.16mdk
+
+2005-05-22 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new sata_sil24 SATA driver
+
+2005-05-22 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: ensure that explanations go into
+ /var/log/explanations is standalone mode (log::explanations()
+ just calls log::l() at install time)
+
+2005-05-22 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (libgl_config) only run ldconfig if
+ needed (aka only if GL config was altered)
+
+2005-05-22 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix canceling managment in text
+ mode
+
+2005-05-22 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: us428control usx2yloader are for
+ devices managed by snd-usb-usx2y and not by snd-usb-audio
+
+2005-05-22 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install synaptics related packages
+ early in the install process
+
+2005-05-22 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ensure sound utils got installed
+
+2005-05-22 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install bluez-utils only if a
+ bluetooth device is plugged
+
+2005-05-22 12:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install joystick utils if a joystick
+ is detected
+
+2005-05-22 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kradio qtradio with KDE and
+ gnomeradio with GNOME if a radio card is present
+
+2005-05-22 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install eroaster under KDE &
+ GNOME since they've their own native burner program
+
+2005-05-22 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: adiusbadsl has been replaced by
+ eagle-usb in the pcitable in november 2004
+
+2005-05-22 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: automatically install wireless-tools
+ if there's a wireless card
+
+2005-05-22 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove references to perl-GTK-Glade,
+ perl-GTK-GLArea and perl-GTK-Gnome since they're obsoleted and
+ not used by any core package
+
+2005-05-22 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ispell packages are gone; let's
+ replace them by aspell ones
+
+2005-05-20 08:31 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: bootloader.pm, install_steps.pm:
+ s/Mandrivalinux/Mandriva Linux/
+
+2005-05-20 08:23 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, ltg.po, lt.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, pt.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr@Latn.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po, DrakX.pot, help-de.pot,
+ help-es.pot, help-fr.pot, help-it.pot, help-ru.pot,
+ help-zh_CN.pot: s/Mandrivalinux/Mandriva Linux/
+
+2005-05-20 07:56 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm, install_steps_newt.pm:
+ s/Mandrivalinux/Mandriva Linux/
+
+2005-05-20 07:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, commands.pm, modules.pm, share/aliases,
+ share/list.xml, share/symlinks: keep binaries in their "standard"
+ binary dir instead of moving everything to /usr/bin (it used to
+ be in /usr/bin when the stage1 was not exited)
+
+2005-05-20 06:30 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Small update
+
+2005-05-20 06:25 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-05-20 05:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: propagate postInstall and
+ postInstallNonRooted in new auto_install.cfg.pl
+
+2005-05-20 04:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix titi sux
+
+2005-05-19 11:37 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated simplified Chinese
+ translation
+
+2005-05-19 11:01 Pixel <pixel at mandriva.com>
+
+ * rescue/: aliases, list, list.alpha, list.i386, list.ia64,
+ list.ppc, list.sparc, list.x86_64, list.xml, make_rescue_img: use
+ install-xml-file-list
+
+2005-05-19 11:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: revert wrongly committed temporary change
+
+2005-05-19 10:59 Pixel <pixel at mandriva.com>
+
+ * rescue/restore_ms_boot: rewrite using DrakX modules
+
+2005-05-19 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-05-19 10:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, list.sparc, share/aliases,
+ share/list.xml: - insmod_ is now a symlink to insmod-25 - handle
+ explictly insmod, modinfo and rmmod
+
+2005-05-19 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - list the known bootloaders without
+ checking the availability of the binary (useful when we don't
+ have the root partition mounted, eg in restore_ms_boot) - tell
+ kdm which is the installed bootloader
+
+2005-05-19 10:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2005-05-19 10:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ cataglog
+
+2005-05-19 10:26 Pixel <pixel at mandriva.com>
+
+ * tools/install-xml-file-list: many changes for use with rescue
+ list
+
+2005-05-19 10:25 Pixel <pixel at mandriva.com>
+
+ * tools/simplify-drakx-modules: also remove modules ending with
+ __END__
+
+2005-05-19 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: real 10.3-0.15mdk
+
+2005-05-19 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: really list ATM devices
+
+2005-05-19 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix DVB configurator
+
+2005-05-19 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list tablets and touchscreens in
+ their own category
+
+2005-05-19 10:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: (detect) handle quite's more tablets and
+ touchscreens at install time
+
+2005-05-19 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add a not about USB stuff at post-install
+ time (this should still be loaded at install time)
+
+2005-05-19 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add usb-midi into multimedia/usb_sound
+
+2005-05-19 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: typo fix
+
+2005-05-19 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix detecting joysticks
+
+2005-05-19 09:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - add input/remote, input/tablet,
+ input/touchscreen - rename multimedia/joystick as input/joystick
+ - move XBox's pad driver into input/joystick
+
+2005-05-19 09:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.15mdk
+
+2005-05-19 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) simplify again
+
+2005-05-19 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) explain
+
+2005-05-19 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) detect all ADSL
+ modems of each kind (though drakconnect is able to configure only
+ one...)
+
+2005-05-19 09:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add sn9c102 in multimedia/webcam
+
+2005-05-19 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: uninstall DVB modules
+ if needed
+
+2005-05-19 09:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add a DVB class
+
+2005-05-19 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install proper softwares for DVB
+
+2005-05-19 05:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: main subpackage lacked update-menus
+ calls since net_applet menu entry was added
+
+2005-05-19 05:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: mandrakesoft => mandriva switch
+
+2005-05-19 05:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) typo fix
+
+2005-05-19 05:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.14mdk
+
+2005-05-19 05:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: kill another module list duplication
+ thanks to the new HW_CAT keyword.
+
+2005-05-19 05:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: use the HW_CAT to stop copying
+ (twice!) and syncing bluetooth driver list from list_modules.pm
+
+2005-05-19 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (simple_read_rpmsrate) add
+ support for HW_CAT keyword that enable to match a category from
+ list_modules.pm
+
+2005-05-19 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) add support for HW_CAT
+ keyword that enable to match a category from list_modules.pm
+
+2005-05-19 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: Add bus/bluetooth category (list came
+ from share/rpmsrate and has been further synched with the
+ kernel).
+
+ This will ensure needed modules are present at intall time, thus
+ enabling share/rpmsrate to work regarding these USB devices...
+
+2005-05-19 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: - simplify through
+ modules::probe_category() - ensure modules.pm is loaded since we
+ used it for quite some time
+
+2005-05-19 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list ATM, Bluetooth, WAN, USB
+ audio devices in their own categories
+
+2005-05-19 05:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) detect more ADSL USB
+ modems
+
+2005-05-19 05:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/data.pm: split the
+ old joystick category into gameport (aka joystick controllers)
+ and joystick (real joysticks devices)
+
+2005-05-19 05:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add network/atm category
+
+2005-05-18 08:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/newt.pm: handle 'wizcancel'
+
+2005-05-18 08:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) only speak about other
+ countries if needed
+
+2005-05-18 04:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add audio, dabusb, dsbr100, snd-usb-audio
+ and snd-usb-usx2y into new multimedia/usb_sound category (radio,
+ sound card, wecam's micro, ...)
+
+2005-05-18 04:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add dabusb, konicawc, se401, stv680,
+ vicam and w9968cf drivers into multimedia/webcam
+
+2005-05-18 04:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - move ADSL USB drivers into
+ network/usb_dsl - add cxacru, usbatm and xusbatm into this new
+ category
+
+2005-05-17 13:59 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-05-17 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.13mdk
+
+2005-05-17 11:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: really write waproamd config
+ files
+
+2005-05-17 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: help testing
+
+2005-05-17 10:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix another potential security
+ bug (#16020)
+
+2005-05-17 10:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: forward fix perms on
+ /etc/wlandetect.conf (#16020)
+
+2005-05-17 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: really fix permissions
+
+2005-05-17 08:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: keep # and * characters in phone
+ number (#16031)
+
+2005-05-17 07:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix perms on
+ /etc/wlandetect.conf (#16020)
+
+2005-05-17 06:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use iwpriv for WPA with
+ rt2x00 drivers (they don't plan to support wpa_supplicant)
+
+2005-05-16 12:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: add the "Create new theme"
+ button back
+
+2005-05-16 12:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: allow to choose between "text
+ only", "verbose" and "silent" bootsplash modes
+
+2005-05-16 08:03 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakbackup: Don't translate media types
+ for config (#15437)
+
+2005-05-16 06:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.12mdk
+
+2005-05-16 05:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (_text_insert) append option was ignored
+ when using simplified API
+
+2005-05-13 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: DVB support
+
+2005-05-13 11:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: hide DVB for now
+
+2005-05-13 07:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) do not detect ms
+ joystick as UPS (#15930)
+
+2005-05-13 02:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.xml, tools/install-xml-file-list: allow
+ makefile like variables
+
+2005-05-13 02:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add commented line to help debugging
+ pci_probe
+
+2005-05-12 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more fix in 10.2-24.102.2mdk
+
+2005-05-12 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: forward fix SATA & hw RAID
+ detection by detecting them pior to PATA detection
+
+2005-05-12 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-24.102.2mdk
+
+2005-05-12 09:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix PCMCIA controller
+ reconfiguration (#15742)
+
+2005-05-12 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.11mdk
+
+2005-05-12 08:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix PCMCIA controller
+ reconfiguration (#15742)
+
+2005-05-12 08:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/printerdrake: - Removed
+ some remaining "Mandrake"s in printerdrake and scannerdrake.
+
+2005-05-12 08:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: - Let Gutenprint
+ GIMP plug-in be installed by printerdrake when GIMP is installed.
+
+2005-05-12 07:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) fix detecting Wingman
+ gamepad as UPS (#15750)
+
+2005-05-12 07:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (probeSerialDevices) forward fix
+ for serial controllers detection (#15457)
+
+2005-05-12 07:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (probeSerialDevices) really fix
+ serial controllers detection (#15457)
+
+2005-05-12 07:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (probeSerialDevices) fix serial
+ controllers detection (#15457)
+
+2005-05-12 06:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: reorder drakconnect first
+ screen (to please our flowered bearded boss)
+
+2005-05-12 05:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: install_steps.pm, printer/data.pm, share/rpmsrate:
+ - Gimp-Print was renamed to Gutenprint, adapted
+ printerdrake/DrakX appropriately.
+
+2005-05-12 05:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-05-12 05:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - clean embedding stuff -
+ center wait message on parent
+
+2005-05-12 03:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: default to "Custom" when group fileshare
+ exists (bugzilla #15917)
+
+2005-05-11 19:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Drop webdav support (can be
+ mounted as a normal net filesystem these days) Remove translation
+ on "tape" media selection (#15437) Rework .backupignore handling
+ (#12352)
+
+2005-05-11 05:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, sv.po, vi.po: updated Swedish and
+ Vietnamese file; corrected references to old name in Portuguese
+ file
+
+2005-05-10 14:50 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-05-10 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: real 10.3-0.10mdk
+
+2005-05-10 11:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: shrink preview window on
+ resolution change
+
+2005-05-10 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ugtk2.pm: shrink real_window
+
+2005-05-10 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: handle both silent and
+ verbose images
+
+2005-05-10 10:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: really get default vga mode
+
+2005-05-10 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: allow to modify progress bar
+ and console box by dragging the mouse
+
+2005-05-10 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: bootsplash.pm, standalone/draksplash2: move
+ rectangle2xywh(), distance(), farthest() and nearest() from
+ draksplash2 to bootsplash module, create xywh2rectangle()
+
+2005-05-10 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/lang.pm,
+ perl-install/share/list, perl-install/share/list.alpha,
+ perl-install/share/list.i386, perl-install/share/list.ia64,
+ perl-install/share/list.ppc, perl-install/share/list.sparc,
+ perl-install/share/list.x86_64, perl-install/share/list.xml,
+ tools/install-xml-file-list: create install-xml-file-list and use
+ it to replace share/list and share/list.ARCH with share/list.xml
+
+2005-05-10 10:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.10mdk
+
+2005-05-10 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add support for iiimf (UTUMI Hirosi
+ <utuhiro78@yahoo.co.jp>)
+
+2005-05-10 09:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: (probe_using_X): add missing
+ chomp_
+
+2005-05-10 04:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install cpqarrayd on Compaq Smart
+ Array controllers
+
+2005-05-10 02:58 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_partimage_save_rest_all, make_rescue_img,
+ partimage_whole_disk: - handle multiple data dirs - choose a free
+ data dir if the given one already exists
+
+2005-05-10 02:54 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: fix (for list_modules.pm)
+
+2005-05-09 14:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: use default jpeg image path in config
+ file for both silent and verbose images
+
+2005-05-09 14:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: remove spurious characters
+
+2005-05-09 14:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: use a separate window for
+ image previews, use a notebook to split silent/verbose/console
+ settings
+
+2005-05-09 14:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: write bootsplash v3 configuration
+ files (progress bar still missing)
+
+2005-05-09 14:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: force the exact image size when
+ writing a theme
+
+2005-05-09 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: use
+ bootsplash::get_framebuffer_resolution
+
+2005-05-09 13:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: add get_framebuffer_resolution and
+ create_path
+
+2005-05-09 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-24.102.1mdk
+
+2005-05-09 08:07 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: lang.pm, share/rpmsrate: Drop uim-anthy for ja
+ locale, because the great improvements of scim-anthy.
+ http://archives.mandrivalinux.com/cooker-i18n/2005-04/msg00052.php
+
+2005-05-09 08:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: better use gtkpack__() rather
+ than gtkadd() when adding multiple widgets
+
+2005-05-09 08:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix layout, update scale
+ factors when the theme name is changed too
+
+2005-05-09 07:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.9mdk
+
+2005-05-09 07:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: fix typos
+
+2005-05-09 07:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: use default values for scale
+ settings and draw a cross inside the text box
+
+2005-05-08 13:25 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-05-07 19:27 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: another small typo fixed in slovak
+ translation
+
+2005-05-07 19:19 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-05-06 09:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install2.pm: Add missing brace
+
+2005-05-06 09:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/resize_fat/c_rewritten.xs: gcc 4.0 was choking on
+ lvalues of unpredictable type.
+
+2005-05-06 08:36 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * mdk-stage1/Makefile: Fix path of librpc.a now that we use the
+ system's dietlibc
+
+2005-05-06 08:30 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, dhcp.c, directory.c, network.c,
+ newt/button.c, newt/checkbox.c, newt/entry.c, newt/newt.c,
+ pcmcia_/Makefile, ppp/pppd/Makefile, rp-pppoe/src/common.c: Stage
+ 1 compilation fixes for gcc 4.0 : * more casts signed<->unsigned
+ types * make choose_iso_in_directory()'s return type "void" *
+ change order of .h files in network.c so strndup is included
+ correctly * newt: initialize some variables properly * compile
+ pcmcia and ppp with -Wno-deprecated-declarations, since they use
+ deprecated types such as u_int32_t
+
+2005-05-06 07:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * docs/HACKING: Document that dietlibc-devel is now required to
+ build gi
+
+2005-05-06 04:43 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common, mar/Makefile: use
+ installed dietlibc, not our forked cvs version
+
+2005-05-05 17:03 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Predict NBI disk space
+ usage and check. Catch failed NBI creation. (#13902) Catch
+ failed dhcpd.conf creation (#13943) Misc small bug fixes.
+
+2005-05-05 14:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/br.po: small typo error
+
+2005-05-04 13:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: preview theme in real time,
+ cleanups
+
+2005-05-04 13:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: fix theme creation
+
+2005-05-04 06:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: lilo and grub are launched chrooted,
+ so look for them in $::prefix (it worked during install since
+ PATH contains /mnt/sbin and the like)
+
+2005-05-04 05:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove another useless step
+
+2005-05-04 05:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ask wireless settings before
+ boot protocol selection
+
+2005-05-04 05:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove useless warning in
+ install, we never override configuration (#10827)
+
+2005-05-04 04:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * rescue/make_rescue_img: Sometimes this tries to copy a directory
+
+2005-05-04 04:36 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: don't try to mount ntfs
+
+2005-05-04 04:24 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: run_program needs a proper HOME
+
+2005-05-03 14:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Clarify quota message,
+ optional delete old backups (#15066). Optional mail "From"
+ address (#15293). Fix automagic addition of /root to backups
+ when not desired.
+
+2005-05-03 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: bootsplash.pm, standalone/drakboot: new theme
+ creation functions
+
+2005-05-03 10:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: perl_checker fixes, use
+ bool2yesno
+
+2005-05-03 10:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksplash: remove ugly dec2hex
+
+2005-05-03 08:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: remove obsolete code (most of these
+ steps are anyway skipped in upgrade mode)
+
+2005-05-03 06:49 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Estonian translation updated.
+
+2005-05-03 05:50 Olivier Blin <oblin at mandriva.com>
+
+ * tools/patch_pcmcia_config.pl: ds has been renamed pcmcia in 2.6
+ kernels
+
+2005-05-03 05:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: do not garbage the console on
+ 'wizcancel'
+
+2005-05-03 04:51 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch translation by Reinout
+ van Schouwen <reinout@cs.vu.nl>
+
+2005-05-02 18:57 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Update for new etherboot
+
+2005-05-02 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix displaying "Number of
+ logical extents: %d"
+
+2005-05-02 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - allow resizing ext3 LV
+ if not mounted - allow resizing reiserfs LV even if not mounted
+
+2005-05-02 11:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.8mdk
+
+2005-05-02 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/ndiswrapper.pm,
+ detect_devices.pm: fix USB devices detection for ndiswrapper
+
+2005-05-02 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-05-02 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix boot style layout
+
+2005-05-02 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakboot, drakfloppy, drakfont,
+ drakperm, draksec, drakups, harddrake2, logdrake, printerdrake:
+ embedding cleanups resulting in reusing main window icon in sub
+ dialogs
+
+2005-05-02 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: add comment
+
+2005-05-02 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix SATA & hw RAID detection by
+ detecting them pior to PATA detection
+
+2005-05-01 20:28 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-30 22:00 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-04-30 21:55 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo + jorge
+
+2005-04-29 23:17 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Translated more strings.
+
+2005-04-29 21:18 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-29 20:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: typo/perl_checker fixes
+
+2005-04-29 19:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: use new bootsplash module,
+ really split autologin and bootsplash stuff
+
+2005-04-29 19:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootsplash.pm: initial bootsplash module
+
+2005-04-29 17:43 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install epiphany-extensions when
+ installing epiphany
+
+2005-04-29 17:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: kill unneeded hash
+
+2005-04-29 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.7mdk
+
+2005-04-29 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: test.pm, tools.pm: use www.mandriva.com to
+ test connection
+
+2005-04-29 12:55 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: detect tokenring and
+ wireless cards in stage1
+
+2005-04-29 12:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: exit and warn when no wireless
+ interface is found (#15244)
+
+2005-04-29 12:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: perl_checker fixes
+
+2005-04-29 12:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: do not write blank ESSID
+
+2005-04-29 08:39 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates indexhtml/po/da.po
+ soft/urpmi/po/da.po gi/perl-install/share/po/da.po
+
+2005-04-28 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: if one prefer using "Modes"
+ instead of "Virtual", keep it as is
+
+2005-04-28 17:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: configure pppoe connections in a
+ ppp peer file
+
+2005-04-27 20:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: display VPI/VCI values in
+ decimal update ATM_ADDR after with VPI/VCI values
+
+2005-04-27 18:01 Pixel <pixel at mandriva.com>
+
+ * rescue/install_bootloader: use module bootloader.pm to handle
+ more bootloaders (esp. grub)
+
+2005-04-27 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: fix mandrake_release() when called with a
+ prefix
+
+2005-04-27 17:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: network/drakfirewall.pm, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/ltg.po, share/po/lt.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pa_IN.po, share/po/pl.po, share/po/pt_BR.po,
+ share/po/pt.po, share/po/ro.po, share/po/ru.po, share/po/sc.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tl.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/DrakX.pot,
+ share/po/zh_CN.po, share/po/zh_TW.po: Maybe the last
+ Mandrake->Mandriva replacement.
+
+2005-04-27 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: reindent
+
+2005-04-27 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - create config_files() out of
+ update_for_renumbered_partitions() - create main_method_choices()
+ out of read() - create configured_main_methods() for rescue
+ install_bootloader - rework update_for_renumbered_partitions()
+
+2005-04-27 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create install_raw_grub() and
+ install_raw_lilo()
+
+2005-04-27 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: allow using mandrake_release() with a
+ prefix
+
+2005-04-27 15:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: don't write /etc/ppp/options
+ anymore, adjust options in peer files
+
+2005-04-27 14:57 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: after setting geometry H and S, we
+ must re-compute C
+
+2005-04-27 13:38 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: ensure we use the same geometry as
+ used when saving
+
+2005-04-27 12:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: pptp-adsl is obsolete, prefer
+ pptp-linux
+
+2005-04-26 22:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) do not detect IR devices
+ as UPSes (#15495)
+
+2005-04-26 19:30 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/adsl.c: detect IP address from DSL connection
+
+2005-04-26 18:03 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dns.c: fix dns resolution for DSL connections
+
+2005-04-26 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dns.c: enhance logging again, re-indent
+
+2005-04-26 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove obsolete change (C_RPM and C_DRAKX
+ are not used in c/stuff anymore)
+
+2005-04-26 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: start simplifying "make stage2"
+
+2005-04-26 17:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dns.c: fix typo (me sux)
+
+2005-04-26 17:07 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dns.c: enhance logging
+
+2005-04-26 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: add missing tags
+
+2005-04-26 15:16 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: always initialize proxy settings
+
+2005-04-26 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-26 12:35 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix typo
+
+2005-04-26 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: don't use ->set_uposition anymore, use
+ ->move instead (as suggested on gtk-perl mailing list)
+
+2005-04-25 17:36 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: rewrite using gi/perl-install modules
+
+2005-04-25 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in 10.3-0.6mdk's
+ changelog
+
+2005-04-25 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.6mdk
+
+2005-04-25 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-25 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: using c::rpmvercmp is cleaner
+
+2005-04-25 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: sync with
+ copyright bumping
+
+2005-04-25 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: XFdrake, autosetupprintqueues,
+ diskdrake, drakTermServ, drakautoinst, drakbackup, drakboot,
+ drakbug, drakconnect, drakedm, drakfirewall, drakfloppy,
+ drakfont, drakgw, drakhelp, drakproxy, drakpxe, drakroam,
+ draksec, draksound, drakupdate_fstab, drakvpn, drakxtv,
+ fileshareset, finish-install.xsetup, listsupportedprinters,
+ logdrake, net_monitor, printerdrake, scannerdrake: bump copyrigth
+ notice
+
+2005-04-25 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: list myself
+
+2005-04-25 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: damien is no more working for
+ us
+
+2005-04-25 11:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix comparing kernel version greater
+ than 6.8
+
+2005-04-25 11:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-04-25 10:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, it.po, ms.po: updated Italian and
+ Spanish files
+
+2005-04-25 10:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakxtv: corrected url
+
+2005-04-25 09:36 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-04-24 23:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: handle errors
+ in wireless packages installation, simplify
+
+2005-04-24 23:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to disable WPA even if
+ no key is used
+
+2005-04-24 23:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: fix WPA key
+
+2005-04-23 22:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, bg.po, bn.po, br.po,
+ bs.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fa.po, fi.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, lt.po, ltg.po, lv.po, mk.po, mn.po, mt.po,
+ nb.po, nl.po, zh_CN.po: more Mandrake -> Mandriva changes
+
+2005-04-23 19:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: various
+ Mandrake -> Mandriva changes
+
+2005-04-23 18:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/drakfirewall.pm,
+ printer/printerdrake.pm: s/Mandrivalinux/Mandriva Linux/
+
+2005-04-23 18:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: any.pm, help.pm, install_interactive.pm:
+ s/Mandrivalinux/Mandriva Linux/
+
+2005-04-23 18:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakbug, drakconnect, drakedm,
+ drakhelp, logdrake, net_applet, net_monitor, scannerdrake:
+ s/Mandrivalinux/Mandriva Linux/
+
+2005-04-23 18:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone.pm: mandrakelinux -> Mandriva Linux
+
+2005-04-23 18:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: 01.pl, 02.pl, 03.pl, 04.pl,
+ 05.pl, 06.pl, 07.pl, 08.pl, 09.pl, 10.pl, 11.pl, 18.pl, 25.pl,
+ 26.pl, 27.pl, 28.pl, 29.pl, 30.pl: s/Mandrivalinux/Mandriva
+ Linux/
+
+2005-04-23 17:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_messages.pm:
+ s/www.mandrakelinux.com/www.mandrivalinux.com/
+ s/Mandrivalinux/Mandriva Linux/
+
+2005-04-23 17:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/draksound:
+ s/www.linux-mandrake.com/www.mandrivalinux.com/
+
+2005-04-23 17:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakfont, harddrake2: mandrakesoft.com
+ -> mandriva.com
+
+2005-04-23 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt_BR.po, ro.po, sq.po,
+ sr.po, sr@Latn.po, ta.po, tg.po, th.po, tl.po, tr.po, uz.po,
+ uz@Latn.po: updated po files
+
+2005-04-23 12:17 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-04-22 04:33 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-04-21 21:54 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-21 20:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/wireless.c: set SSID after all other settings, improve
+ text, fix cast
+
+2005-04-21 19:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix Signal Quality parsing (and
+ re-indent)
+
+2005-04-21 17:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po: fix doble messages
+
+2005-04-21 17:32 Pixel <pixel at mandriva.com>
+
+ * rescue/drvinst: use detect_devices and simplify
+
+2005-04-21 17:30 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: use get-needed-drakx-modules to handle
+ perl scripts using DrakX modules
+
+2005-04-21 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.5mdk
+
+2005-04-21 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: add Token Ring and Wireless drivers in 'all'
+ image
+
+2005-04-21 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: switch from MandrakeSoft to
+ Mandriva
+
+2005-04-21 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, crypto.pm, help.pm,
+ install_interactive.pm, install_messages.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ install_steps_newt.pm, standalone.pm,
+ Xconfig/resolution_and_depth.pm, network/adsl.pm,
+ network/drakfirewall.pm, network/netconnect.pm, network/test.pm,
+ printer/printerdrake.pm, share/advertising/01.pl,
+ share/advertising/02.pl, share/advertising/03.pl,
+ share/advertising/04.pl, share/advertising/05.pl,
+ share/advertising/06.pl, share/advertising/07.pl,
+ share/advertising/08.pl, share/advertising/09.pl,
+ share/advertising/10.pl, share/advertising/11.pl,
+ share/advertising/13-a.pl, share/advertising/13-b.pl,
+ share/advertising/18.pl, share/advertising/25.pl,
+ share/advertising/26.pl, share/advertising/27.pl,
+ share/advertising/28.pl, share/advertising/29.pl,
+ share/advertising/30.pl, share/po/DrakX.pot, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/help-de.pot, share/po/help-es.pot,
+ share/po/help-fr.pot, share/po/help-it.pot, share/po/help-ru.pot,
+ share/po/help-zh_CN.pot, share/po/hi.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/ky.po, share/po/lt.po,
+ share/po/ltg.po, share/po/lv.po, share/po/mk.po, share/po/mn.po,
+ share/po/ms.po, share/po/mt.po, share/po/nb.po, share/po/nl.po,
+ share/po/nn.po, share/po/pa_IN.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sc.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po, standalone/drakboot,
+ standalone/drakbug, standalone/drakconnect, standalone/drakedm,
+ standalone/drakhelp, standalone/finish-install.xsetup,
+ standalone/logdrake, standalone/net_applet,
+ standalone/net_monitor: switch from MandrakeSoft to Mandriva
+
+2005-04-21 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/move.pm: switch from MandrakeSoft to Mandriva
+
+2005-04-21 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install_any.pm: create
+ common::release_file() and use it
+
+2005-04-21 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: use simplify-drakx-modules
+
+2005-04-21 17:09 Pixel <pixel at mandriva.com>
+
+ * tools/: get-needed-drakx-modules, simplify-drakx-modules: add
+ some scripts used in perl-install/Makefile and
+ rescue/make_rescue_img
+
+2005-04-21 17:04 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: use /proc/net/dev to detect network
+ interfaces, instead of testing a limited set of interface names
+
+2005-04-21 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, standalone/scannerdrake:
+ switch from MandrakeSoft to Mandriva in scannerdrake &
+ printerdrake
+
+2005-04-21 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: mouse.pm, scanner.pm, standalone.pm,
+ standalone/XFdrake, standalone/autosetupprintqueues,
+ standalone/diskdrake, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakboot, standalone/drakbug, standalone/drakconnect,
+ standalone/drakedm, standalone/drakfirewall,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/drakhelp, standalone/drakproxy, standalone/drakpxe,
+ standalone/draksound, standalone/drakupdate_fstab,
+ standalone/drakvpn, standalone/drakxtv, standalone/fileshareset,
+ standalone/listsupportedprinters, standalone/logdrake,
+ standalone/net_monitor, standalone/printerdrake,
+ standalone/scannerdrake: switch from MandrakeSoft to Mandriva in
+ copyright notices
+
+2005-04-21 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.4mdk
+
+2005-04-21 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2005-04-21 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (ConnectNow) simplify
+
+2005-04-21 15:26 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dhcp.c: support DHCP over Wireless, Token Ring
+ (great), Firewire, you name it borrow some comments from pump
+
+2005-04-21 14:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po: update
+
+2005-04-21 14:43 Pixel <pixel at mandriva.com>
+
+ * rescue/list.i386: dmidecode is useful
+
+2005-04-21 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+
+2005-04-21 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: remove useless merge2 rule
+
+2005-04-21 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, ca.po, cy.po, da.po, eu.po,
+ fi.po, fr.po, gl.po, id.po, it.po, ja.po, mt.po, nb.po, nl.po,
+ pl.po, pt.po, ru.po, sk.po, sv.po, tg.po, tl.po, uk.po, vi.po:
+ sync LAN string
+
+2005-04-21 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rename "ethernet connection"
+ as "LAN connection" like anywhere since we're going to support
+ tokenring and not just LAN (what's more, these steps are whered
+ with wireless connections which have nothing to do with
+ ethernet....)
+
+2005-04-21 14:15 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: tokenring support \o/ (we should really
+ rename ethernet* stuff)
+
+2005-04-21 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.3mdk
+
+2005-04-21 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: update
+ string for new drakroam
+
+2005-04-21 13:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: perl_checker cleanups
+
+2005-04-21 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: improve layout
+
+2005-04-21 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (ConnectNow) simplify
+
+2005-04-21 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateStatus) improve layout
+
+2005-04-21 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: switch to gtk+-2.6's new file
+ selector
+
+2005-04-21 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) set
+ dialog's title (usability bug)
+
+2005-04-21 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: inline useless create_fontsel()
+
+2005-04-21 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (filedialog_generic) switch
+ to gtk+-2.6's new file selector
+
+2005-04-21 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: perl_checker fix
+
+2005-04-21 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: create true_local_fs_types() out of
+ isTrueLocalFS()
+
+2005-04-21 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: ensure the log is flushed ASAP when using a
+ local file
+
+2005-04-21 00:14 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/wireless.c: fix hex key parsing
+
+2005-04-20 23:59 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: Makefile, network.c, wireless.c, wireless.h: initial
+ wireless support (needs ESSID, and optionally a WEP key)
+
+2005-04-20 17:38 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: add a check
+
+2005-04-20 17:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: unload ndiswrapper first so
+ that the newly installed .inf files will be read redetect
+ interfaces after ndiswrapper setup (so that the ndiswrapper
+ module can be detected)
+
+2005-04-20 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: we do want to use sysfs if
+ ethtool fails
+
+2005-04-20 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (font_choice) filter file list
+ so that only fonts are displayed
+
+2005-04-20 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: switch to gtk+-2.6's new file
+ selector
+
+2005-04-20 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: do not care about the ISO volume
+ name if it doesn't end in -Disc\d+
+
+2005-04-20 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ndiswrapper.pm: (setup_device) move comment
+ where it's appropriate
+
+2005-04-20 15:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: handle DVD ISO images too (so that
+ they get added installed for urpmi)
+
+2005-04-20 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.2mdk
+
+2005-04-20 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ndiswrapper.pm, netconnect.pm,
+ wireless.pm: allow to choose the wireless encryption mode between
+ "None", "Open WEP", "Restricted WEP" and "WPA Pre-Shared Key"
+ move ndiswrapper stuff in network::ndiswrapper
+
+2005-04-20 01:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2005-04-19 23:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ancient bug (Managed
+ should be the default wireless mode, not Secondary) and simplify
+
+2005-04-19 23:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: really use given encryption
+ key
+
+2005-04-19 23:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: network::wireless is needed
+ for wireless configuration
+
+2005-04-19 23:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix typo
+
+2005-04-19 23:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix typo
+
+2005-04-19 23:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, wireless.pm: improve
+ ndiswrapper driver configuration (allow to select driver, device
+ and many errors handling)
+
+2005-04-19 23:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix Titi sux (we do want to use
+ sysfs if ethtool fails)
+
+2005-04-19 19:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/wireless.pm: convert_key_for_wpa_supplicant
+ is now in network::wireless
+
+2005-04-19 18:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix missing step
+
+2005-04-19 18:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm, tools.pm,
+ wireless.pm: move wireless stuff in wireless.pm
+
+2005-04-19 18:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: do not write zeroed MAC
+ addresses in iftab, it confuses ifrename
+
+2005-04-19 18:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: do not crash if modprobe fails
+
+2005-04-19 18:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: do not show empty
+ ndiswrapper devices list
+
+2005-04-19 17:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: unload ndiswrapper first so
+ that the newly installed .inf files will be read
+
+2005-04-19 16:13 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-04-19 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: fix simplification ..
+
+2005-04-19 15:46 Pixel <pixel at mandriva.com>
+
+ * rescue/lsparts: remove redundancy using gi/perl-install pms
+
+2005-04-19 15:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: simplify again (Pixel)
+
+2005-04-19 15:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, ky.po: updated Kirghiz file
+
+2005-04-19 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: kill unused variable, simplify
+
+2005-04-19 15:10 Pixel <pixel at mandriva.com>
+
+ * rescue/: drvinst, guessmounts, install_bootloader, lsparts:
+ mandriva switch
+
+2005-04-19 15:09 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: - allow specifying something
+ else than /data/box - acpi=ht by default
+
+2005-04-19 15:08 Pixel <pixel at mandriva.com>
+
+ * rescue/partimage_whole_disk: - ".lst" makes the file hidden, use
+ "lst" instead - default timeout is much too short
+
+2005-04-19 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/: drakroam: fix SSID listing
+
+2005-04-19 15:03 Pixel <pixel at mandriva.com>
+
+ * rescue/rescue-doc: switch to mandriva
+
+2005-04-19 14:49 Pixel <pixel at mandriva.com>
+
+ * rescue/restore_ms_boot: update copyright
+
+2005-04-19 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix comment
+
+2005-04-19 14:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, mouse.pm: using same mouse
+ for alternate_install should be useless remove it for xbox
+ controller, thus making this option obsolete
+
+2005-04-19 14:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: fix me sucks
+
+2005-04-19 14:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: always set synaptics touchpad as secondary
+ and don't list them in mousedrake
+
+2005-04-19 11:50 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates indexhtml/po/da.po
+ soft/drakstats/po/da.po soft/mdkonline/po/da.po
+ gi/perl-install/share/po/da.po
+
+2005-04-19 11:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: suggest 1280x1024
+ instead of 1280x960 which causes pbs
+
+2005-04-18 22:20 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2005-04-18 21:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: preselect synaptics touchpad if no
+ external mouse is present
+
+2005-04-18 21:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: use
+ detect_devices::getSynapticsTouchpads() to detect touchpads
+
+2005-04-18 21:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: append evdev in modprobe.preload if a
+ touchpad is detected
+
+2005-04-18 21:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker fix
+
+2005-04-18 21:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: space fix
+
+2005-04-18 21:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add getSynapticsTouchpads()
+
+2005-04-18 20:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: always configure an universal mouse so
+ that USB mices can be hotplugged
+
+2005-04-18 20:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: clean includes
+
+2005-04-18 20:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: remove useless includes
+
+2005-04-18 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: replace to_bool(grep) call with
+ any
+
+2005-04-18 18:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix automatic net interface
+ detection
+
+2005-04-18 18:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix automatic net interface
+ detection
+
+2005-04-18 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: merge wireless steps and move
+ advanced settings in advanced mode (#15501)
+
+2005-04-18 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add cinergyT2 & dvb-ttusb-budget DVB
+ drivers
+
+2005-04-18 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ov511-alt & ovfx2 webcam drivers
+
+2005-04-18 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add dvb-dibusb DVB driver
+
+2005-04-18 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list eagle-usb so that ADSL sagem based
+ connection works at install time
+
+2005-04-18 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add speedtch in "other" category so that
+ we're able to handle speedtouch ADSL based connections at install
+ time
+
+2005-04-18 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing hfc_usb and hisax_st5481 ISDN
+ drivers
+
+2005-04-18 16:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added/modified various keyboards on the
+ list (for next update of xorg-x11)
+
+2005-04-18 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: configure wpa
+ driver in drakconnect, wpa_supplicant init script is dropped
+
+2005-04-18 16:17 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add more atmel modules
+
+2005-04-18 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: sort modules list
+
+2005-04-18 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: always print missing usb modules on stderr
+
+2005-04-18 15:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: use better laptop detection now that
+ dmidecode is used
+
+2005-04-18 14:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: increase network check
+ timeout to lower the load
+
+2005-04-18 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove useless assignments
+
+2005-04-18 14:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, be.po, bn.po, cy.po, el.po, eo.po,
+ et.po, gl.po, he.po, hr.po, ko.po, ms.po, pl.po, ro.po, sq.po:
+ updated Welsh file; fixed some menu errors
+
+2005-04-18 14:23 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, network.c: move defines
+
+2005-04-16 17:57 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Translated a few strings.
+
+2005-04-15 22:05 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: really try to list partitions on USB
+ keys or hard disks
+
+2005-04-15 21:16 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-15 21:04 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: enlarge directory list
+
+2005-04-15 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.3-0.1mdk
+
+2005-04-15 14:27 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: Change the
+ name of the directory where the rpms are copied
+
+2005-04-15 14:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update the name of the update media added
+ by the installer
+
+2005-04-15 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker cleanups
+
+2005-04-15 13:53 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: new domain name
+
+2005-04-14 21:31 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-14 18:59 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: When re-using the
+ rpmsrate and compssUsers.pl from a supplementary media, always
+ retrieve them locally in /tmp, instead of choosing the main
+ install method (this wasn't working for http installs)
+
+2005-04-14 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-14 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-14 16:41 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: sync'ed with Arabeyes CVS
+
+2005-04-14 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo in drakxservices'
+ description
+
+2005-04-14 14:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add cxgb gigabit driver
+
+2005-04-14 12:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to modify METRIC
+ settings in the wizard
+
+2005-04-13 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (autologin) make autologin choice more user
+ friendly (#4304)
+
+2005-04-13 17:37 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_rescue_img, partimage_whole_disk: we now use script
+ partimage_whole_disk around partimage
+
+2005-04-13 17:36 Pixel <pixel at mandriva.com>
+
+ * rescue/list.i386: add ntfsresize
+
+2005-04-13 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/any.pm: remove old debug code
+
+2005-04-13 17:31 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: fix typo
+
+2005-04-13 17:29 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: mount /sys
+
+2005-04-13 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: create default_type() out of
+ zero_MBR()
+
+2005-04-13 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: cleanup and allow openLog() to force the log
+ file
+
+2005-04-13 16:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remount CD1 if we cancel insertion
+ of a supplementary CD
+
+2005-04-13 15:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: Eject CD-Rom
+ when installation is finished
+
+2005-04-13 12:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use get_interface_type() to
+ decide if the wifi settings page should be displayed
+
+2005-04-13 12:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: consider a device as wifi even if
+ it isn't plugged (useful in manage wizard)
+
+2005-04-13 12:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.2-16mdk's changelog
+
+2005-04-13 01:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: put text back
+
+2005-04-13 01:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: enabled kirghiz console kbd
+
+2005-04-12 21:23 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix direct-to-tape
+ backup/restore issues (#15293)
+
+2005-04-12 21:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: detect_devices.pm, network/netconnect.pm,
+ network/tools.pm, standalone/drakconnect: use sysfs as fallback
+ to detect wireless interfaces (rt2x00/prism2_*)
+
+2005-04-12 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-12 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: br.po: removing and re-adding file
+
+2005-04-12 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/br.po: updated po file
+
+2005-04-12 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-24mdk
+
+2005-04-12 14:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/network/tools.pm: Fix running ifup/ifdown not in
+ chroot
+
+2005-04-12 14:21 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Remove the duplicates for a320raid
+ Workarround for clean-rpmsrate regexp pb
+
+2005-04-12 13:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/network/tools.pm: Need to specify the full path of
+ ifup/ifdown when a shell isn't used to run them
+
+2005-04-12 13:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: When installing urpmi, mark cd-rom
+ media as "static" so they never get updated. This is needed
+ because those media use hdlists, but the hdlist path is false for
+ all CDs except the first one.
+
+2005-04-12 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-04-11 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix setting perImageAppend to default
+ entry {append} (it was buggy when the default entry had an empty
+ append, making perImageAppend be failsafe on amd64 upgrade)
+
+2005-04-11 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: handle ESSID with spaces
+ (#15352)
+
+2005-04-11 12:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-23mdk
+
+2005-04-11 12:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix error reporting for
+ ndiswrapper package installation (#15373)
+
+2005-04-11 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: have a valid return value in
+ ->ensure_is_installed_if_available
+
+2005-04-11 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: the standard kernel is bigmem compliant, no
+ need to install kernel-smp for this (bugzilla #15353)
+
+2005-04-11 10:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Change the URL of the mirrorsfull.list
+ for installation of the updates
+
+2005-04-11 10:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle spaces in ndiswrapper
+ drivers path
+
+2005-04-10 10:18 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-08 23:07 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-04-08 21:46 Olivier Blin <oblin at mandriva.com>
+
+ * Makefile.config: Limited Edition 2005
+
+2005-04-08 18:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Supplementary cd-roms weren't marked
+ as supplementary. Fix this.
+
+2005-04-08 17:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't copy rpms that come from any
+ sort of supplementary media.
+
+2005-04-08 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: ugly hack to fix empty ModeLine
+ lines, XFdrake seems to generate some, but where??? at least this
+ allows fixing the pb by re-running XFdrake
+
+2005-04-08 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: 1152x864 needs more modelines than
+ the poor 1152x864@75Hz builtin xorg (bugzilla #11698)
+
+2005-04-08 16:59 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: new install module
+
+2005-04-08 16:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: When sorting CDs, put supplementary CDs at
+ the end
+
+2005-04-08 16:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: More heuristics to figure out the CD
+ / DVD number from its name, used for the copy of media to the
+ local HD.
+
+2005-04-08 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-22mdk
+
+2005-04-08 15:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/data.pm: with harddrake crash with USB/PCI
+ DSL modems (#15034)
+
+2005-04-08 14:04 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updates from Eskild Hustvedt:)
+
+2005-04-08 11:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add some comments for post
+ 10.2
+
+2005-04-08 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: do the edid probe before launching X
+ server (the way it was already done for i810fb)
+
+2005-04-08 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: XF86Config-4 doesn't exist anymore, no need
+ logging it
+
+2005-04-08 11:26 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: xbox kernel is x86 only
+
+2005-04-07 21:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: probing.c, probing.h, thirdparty.c: - add
+ probing_detect_devices() to keep existing pci devices in an array
+ - allow to use external third-party pcitable - modules in
+ to_detect (thirdparty install) are now compared to external
+ third-par ty pcitable first, then to built-in pcitable
+
+2005-04-07 20:32 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, kernel/update_kernel: add modules.cz for xbox
+
+2005-04-07 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: always restart slmodem, even
+ if it was already installed
+
+2005-04-07 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-21mdk
+
+2005-04-07 18:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ handle third party modules from various devices (at least floppy
+ is still working :)
+
+2005-04-07 18:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add some comment
+
+2005-04-07 18:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix refresh (forget erased
+ settings)
+
+2005-04-07 18:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: hide roaming frame by default,
+ not tested
+
+2005-04-07 17:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: net_applet: really allow users to
+ start connection without having to type the root password
+
+2005-04-07 17:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: run ifup/ifdown with
+ run_program::raw and detach, so that pppd doesn't complain about
+ invalid tty
+
+2005-04-07 15:21 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Sort the nic list for nbis.
+
+2005-04-07 13:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Add a trace
+
+2005-04-07 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: cosmetics
+
+2005-04-07 13:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: sent utf-8 by default for languages that
+ only use plain ascii, and for newly added or with few users
+ languages.
+
+2005-04-07 13:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: create correct /dev/modem for
+ HCF modems
+
+2005-04-07 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use correct package name for
+ HCF modems
+
+2005-04-07 13:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix h[cs]f fix
+
+2005-04-07 12:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't truncate default gateway
+ (#15247)
+
+2005-04-07 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: workaround weird old code
+ (bugzilla #15300)
+
+2005-04-07 11:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: thirdparty.c, thirdparty.h: export THIRDPARTY_DEVICE
+ and THIRDPARTY_DIR for stage2
+
+2005-04-06 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix position of steps window in
+ direction rtl (bugzilla #15261)
+
+2005-04-06 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: leave bootsplash when X is up (and also
+ in newt and auto_install)
+
+2005-04-06 15:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: monitor-edid needs /dev/zero when
+ fallbacking on lrmi
+
+2005-04-06 15:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/: aliases, list: ship rmmod binary since
+ insmod from module-init-tools isn't combined with rmmod
+
+2005-04-06 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: when re-ordering the steps to have
+ doPartitionDisks just after selectInstallClass in case of
+ upgrade, do it properly so that the "Partitioning lamp" behaves
+ properly (bugzilla #15040)
+
+2005-04-06 13:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: now that I know how to short-circuit it,
+ make it work as well (have I already said I sux ?)
+
+2005-04-06 12:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: use short-circuit operator (/me sux,
+ thanks Pixel)
+
+2005-04-06 11:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: LE-2005 logo
+
+2005-04-06 11:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: make the auto_inst.cfg more valid in
+ report.bug.gz, and add a warning
+
+2005-04-05 23:39 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po:
+
+ Updated Dutch translation by Reinout van Schouwen
+ <reinout@cs.vu.nl>
+
+2005-04-05 21:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: don't load modules.cz in uml install
+
+2005-04-05 21:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-20mdk
+
+2005-04-05 21:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: perl_checker, indent
+
+2005-04-05 20:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: do not crash if no essid is
+ selected (partially fix #15244)
+
+2005-04-05 20:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: hide unavailable features, add
+ close button
+
+2005-04-05 20:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: improve wifi detection
+
+2005-04-05 20:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: detect more devices (e.g.
+ wireless)
+
+2005-04-05 19:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: install dkms packages if found
+
+2005-04-05 18:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: support more slmodems
+
+2005-04-05 18:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-04-05 17:50 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2005-04-05 16:56 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated
+
+2005-04-05 16:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: really apply specific ALPS touchpad
+ settings (#14510)
+
+2005-04-05 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: since we have a non-ascii font name, we
+ have to "use utf8"
+
+2005-04-05 15:01 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Add new countries to match the mirror
+ list
+
+2005-04-05 13:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update mirror list
+
+2005-04-05 13:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: corrected small typo
+
+2005-04-05 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: media_browser is returning a file,
+ not a file handle, /me is bad :-/
+
+2005-04-05 12:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: please perl_checker
+
+2005-04-05 12:02 Pixel <pixel at mandriva.com>
+
+ * Makefile: do call "make check" in gi/perl-install (since it now
+ succeeds)
+
+2005-04-05 12:02 Pixel <pixel at mandriva.com>
+
+ * rescue/list: revert adding Compress::Zlib
+
+2005-04-05 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: the keyboard check is always failing,
+ can't make pablo have it right, so not checking it by default
+ (that way we can have the "make check" in gi call "make check" in
+ gi/perl-install)
+
+2005-04-05 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: check(): only display "Errors:" if there is
+ some errors
+
+2005-04-05 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: check the presence of non ascii characters
+ in perl files (allow utf8 chars if there is 'use utf8')
+
+2005-04-05 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: share/advertising/05.pl, share/advertising/10.pl,
+ share/advertising/14.pl, share/advertising/21.pl,
+ share/advertising/22.pl, share/advertising/24.pl,
+ share/advertising/28.pl, standalone/drakpxe,
+ standalone/draksplash: - remove non useful non-ascii characters -
+ add "use utf8" for useful utf8 characters
+
+2005-04-05 11:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: remove useless and unwanted
+ non-ASCII character
+
+2005-04-05 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: replace the latin-charset unbreakable
+ space with a "use utf8" and the utf8 unbreakable space
+
+2005-04-05 11:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: replace non-ASCII characters
+
+2005-04-05 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: replace non ascii char
+
+2005-04-05 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove accentuated char
+
+2005-04-05 10:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: apply patch from bugzilla #15216,
+ adding support for "password=..." and "restricted" at per-entry
+ level (thanks to jarfil)
+
+2005-04-05 09:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2005-04-05 00:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2:
+ included/fixed some xmodmap files
+
+2005-04-04 23:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician
+
+2005-04-04 21:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-19mdk
+
+2005-04-04 20:46 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: stage1.c, thirdparty.c, thirdparty.h: add
+ thirdparty_load_media_modules(), try to find third party modules
+ on the install media
+
+2005-04-04 20:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.h: allow to keep track of orphan devices (no
+ module available)
+
+2005-04-04 20:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: allow to keep track of orphan devices (no
+ module available)
+
+2005-04-04 19:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Fixed bug
+ #4319: Printer options cannot be set after renaming the printer
+ or changing the connection type - Fixed bug of PostScript
+ printers with manufacturer-supplied PPD cannot be renamed at
+ all - Fixed bug of print queue being deleted when renaming fails
+ - Fixed bug of printerdrake trying to open a message window when
+ non-interactive queue generation fails - Fixed pre-definition of
+ $printer->{ARGS}, this bug made printerdrake crashing sometimes
+
+2005-04-04 19:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Try to guess the device associated
+ with the CD-ROM when installing urpmi (bug 14395)
+
+2005-04-04 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: disconnect internet interface
+ before trying to reconnect (or else some nasty pppd and pppoa may
+ be still alive)
+
+2005-04-04 18:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: do not reload firmware on eagle-usb
+ modems if already done
+
+2005-04-04 17:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: getNet(): only up wireless
+ devices
+
+2005-04-04 17:14 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: /me sux
+
+2005-04-04 15:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't ask for the same cd to be
+ reinserted when copying rpms on disk
+
+2005-04-04 15:14 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: Introduce
+ the new utility function getCDNumber()
+
+2005-04-04 13:24 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: small fix in /boot/message-text
+
+2005-04-04 12:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, it.po: updated French and Italian
+ files
+
+2005-04-04 12:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2005-04-03 23:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-qu.png: Enabled choice
+ of Guarani, Quichua and Berber (tifinagh) at install time;
+ changed various encoding names internally used for font choosing
+ from language based to encoding based (following iso-15924
+ naming)
+
+2005-04-03 20:01 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: Updated Translations, fully
+ translated, was 93 fuzzy, 67 untranslated.
+
+2005-04-03 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: add /usr/local and /opt to
+ suggestions_mntpoints
+
+2005-04-02 17:46 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation
+ (supermount=automaatne haakimine).
+
+2005-04-02 15:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, sl.po, vi.po, wa.po: updated
+ Spanish, Slovenian, Vietnamese and Walloon files
+
+2005-04-02 10:07 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translation.
+
+2005-04-02 05:26 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-04-02 03:56 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-04-02 02:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-04-02 01:34 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-04-02 01:09 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: small update
+
+2005-04-01 22:31 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-04-01 20:54 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Last minute strings:)
+
+2005-04-01 19:48 Warly <warly at mandriva.com>
+
+ * isolinux-graphic-simple.bmp.parameters,
+ isolinux-graphic.bmp.parameters: adjust progress bar size
+
+2005-04-01 19:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more item in 10.2-18mdk
+
+2005-04-01 19:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix harddrake crash
+
+2005-04-01 19:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Actually remove multiple
+ Mini-CD media for deselection
+
+2005-04-01 19:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, am.po, ar.po,
+ az.po, be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po,
+ da.po, de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po,
+ fr.po, fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: add 3 new
+ strings from diskdrake
+
+2005-04-01 18:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add comments
+
+2005-04-01 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: cdrom.c, disk.c: try to load ide-generic as fallback
+ when no disk or cdrom is found
+
+2005-04-01 18:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: When presenting the list of
+ media to deselect, group by CDs even when using the mini ISO
+
+2005-04-01 18:42 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/modules.pl: include ide modules too in all.rdz
+
+2005-04-01 18:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: ide-generic is compile as a module, not
+ in kernel core
+
+2005-04-01 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix truncated message (#13989)
+
+2005-04-01 18:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Sort CDs according to CD numbers,
+ not alphabetically
+
+2005-04-01 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-18mdk
+
+2005-04-01 16:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2005-04-01 15:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: Makefile, lang.pm, pixmaps/langs/lang-pa_IN.png,
+ share/fonts.tar.bz2: Added font for gurmukhi script (used by
+ pa_IN translation); enabled pa_IN, and define the font for KDE
+
+2005-04-01 15:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: configure wacom devices with synaptics
+ touchpads too
+
+2005-04-01 14:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, de.po, hu.po, id.po, is.po, nb.po,
+ ru.po, sk.po, sl.po: updated Slovenian file; run msgmerge on all
+ *.po files
+
+2005-04-01 13:14 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: s/ÓÌÕÖÂ/ÓÅÒ×ÉÓ/
+
+2005-04-01 10:56 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Small fuzzy fixes
+
+2005-04-01 08:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, ca.po, it.po, sv.po: updated
+ Swedish and Italian files; small fixes in Azeri and Catalan files
+
+2005-04-01 07:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-04-01 00:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: enable ethernet interfaces during
+ detection (fix Ralink wireless detection)
+
+2005-03-31 21:12 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Updates from Eskild Hustvedt:)
+
+2005-03-31 20:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-17mdk
+
+2005-03-31 20:24 Marco De Vitis <mdv at spin.it>
+
+ * perl-install/share/po/it.po: fix
+
+2005-03-31 19:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add enable_net_device
+
+2005-03-31 19:36 Marco De Vitis <mdv at spin.it>
+
+ * perl-install/share/po/it.po: fix
+
+2005-03-31 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-03-31 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: do not detect joystics as UPSes
+
+2005-03-31 18:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: some Azeri changes from Max Payne
+
+2005-03-31 17:46 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: use all the BOOT kernels we find (to have
+ both 2.6.8 and 2.6.11)
+
+2005-03-31 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: better locale-policy.fdi (bugzilla #15025)
+
+2005-03-31 17:27 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed drakperm:24 and drakperm:23
+
+2005-03-31 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, standalone/drakauth: don't
+ display description for non proposed authentication kinds
+
+2005-03-31 16:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, tr.po: small changes
+
+2005-03-31 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add some comment for post
+ 10.2
+
+2005-03-31 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not try to install
+ packages that are not availlable (#15106)
+
+2005-03-31 16:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not use ifplugd for
+ wireless cards (and don't allow users to enable it for wireless
+ cards in drakconnect)
+
+2005-03-31 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do no try to install too
+ generic hw packages (#15101)
+
+2005-03-31 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2005-03-31 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: useSupermount is no more a
+ boolean, don't let the "More" dialog box set it to 1 when it is
+ magicdev
+
+2005-03-31 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not detect USB joystics as
+ UPSes (#15102)
+
+2005-03-31 14:52 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add gpdf and eog to GNOME packages
+
+2005-03-31 14:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2005-03-31 14:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/az.po: update (Ugur Eminli
+ <system.virus@gmail.com>)
+
+2005-03-31 12:25 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-03-31 12:18 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated drakperm
+
+2005-03-31 11:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: fix typo (bugzilla #15116)
+
+2005-03-31 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: the wmaker line didn't ask the window
+ manager to logout, but to rerun itself, so removing it (bugzilla
+ #15087)
+
+2005-03-31 10:53 Pixel <pixel at mandriva.com>
+
+ * rescue/list: disambiguate (esp for Config.pm which now has
+ Net/Config.pm)
+
+2005-03-31 10:11 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-03-31 00:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, fr.po, ja.po, pl.po, wa.po:
+ updated Japanese, Polish, Spanish, French and Walloon files
+
+2005-03-30 21:48 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2005-03-30 20:22 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2005-03-30 20:01 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updates:)
+
+2005-03-30 19:51 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translation.
+
+2005-03-30 17:57 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: updated drakbackup
+
+2005-03-30 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10.2-16mdk's changelog
+
+2005-03-30 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix speedtouch microcode url
+ (#15095)
+
+2005-03-30 15:59 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-30 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: az.po, bg.po, el.po, eo.po, mn.po, ro.po,
+ sq.po, sr.po, sr@Latn.po, ta.po, tr.po: manual updates
+
+2005-03-30 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pa_IN.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: - merge in
+ new strings from drakroam - auto translate "RAID controllers" for
+ harddrake - manual updates for af, br & fr
+
+2005-03-30 15:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: eagle-usb: try to use the country
+ specific CMV
+
+2005-03-30 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: fix makefile
+
+2005-03-30 13:42 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: multiply fixes translation of
+ 'Service'
+
+2005-03-30 13:04 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: s/search/Search
+
+2005-03-30 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10.2-16mdk's changelog
+
+2005-03-30 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: megaraid controllers are listed
+ as RAID ones now
+
+2005-03-30 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: 3ware controllers are listed as
+ RAID ones now
+
+2005-03-30 12:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fctStartAdsl is moved in /sbin too
+
+2005-03-30 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: ensure we detect all known sound
+ cards
+
+2005-03-30 12:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-16mdk
+
+2005-03-30 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not list hardware controllers
+ in unknown section
+
+2005-03-30 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: ensure we detect all known SATA
+ controllers
+
+2005-03-30 12:09 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed '...mail alert...'
+
+2005-03-30 01:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2005-03-30 00:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Let IOCTL detection of an USB
+ printer not get accepted if there is no relevant item at all in
+ the ID string, to avoid mis-detection of some USB keyboards as
+ printers.
+
+2005-03-29 23:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, fr.po: updated French and Spanish
+ files
+
+2005-03-29 21:29 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Updates from Eskild Hustvedt
+
+2005-03-29 21:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix optical mice detection
+ (#15082)
+
+2005-03-29 20:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: really load network
+ configuration at start
+
+2005-03-29 19:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move drakroam from drakxtools-newt
+ into drakxtools since it requires gtk+
+
+2005-03-29 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix tools' crash when drakconf is
+ not installing (#13392)
+
+2005-03-29 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-15mdk
+
+2005-03-29 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pa_IN.po: Added Punjabi file
+
+2005-03-29 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, harddrake/data.pm,
+ standalone/harddrake2, standalone/service_harddrake: - disable
+ imm/ppa probe during install since it causes some rubbish to be
+ printed (bugzilla #12560) - add an option in harddrake to probe
+ imm/ppa
+
+2005-03-29 17:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/Makefile: removed pa_IN.po and ta.po from install
+ due to font problems
+
+2005-03-29 17:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix NET_INTERFACE for sagem
+ modems not using pppoa
+
+2005-03-29 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: detect more Bewan devices
+
+2005-03-29 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: ensure we have a {lv_name} (esp. for
+ auto_installs)
+
+2005-03-29 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectLanguage) remove unused variable
+
+2005-03-29 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: update package list regarding gtk+ bindings
+
+2005-03-29 15:31 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-03-29 15:14 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po:
+ Reinout van Schouwen <reinout@cs.vu.nl>: Updated Dutch
+ translation-
+
+2005-03-29 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: if i686-up-4GB is not there we don't have
+ pae, fallback on i586-up-1GB
+
+2005-03-29 12:52 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed Uninstall font
+
+2005-03-29 12:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2005-03-29 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies) do not use dmidecode
+ for detecting floppies since it's not reliable (#15029)
+
+2005-03-29 11:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: revert to standard size (as told on
+ bugzilla #14988 to revert #13809)
+
+2005-03-29 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectLanguage) let "unicode" checkbox be
+ an advanced item at both install time and in standalone mode
+
+2005-03-29 10:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateStatus) fix layout
+
+2005-03-29 10:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: translate columns' headers
+
+2005-03-28 22:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: eaglectrl is now
+ in /sbin (#15033)
+
+2005-03-28 15:12 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed PPPoE, PPPoA,...
+
+2005-03-27 20:26 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-03-27 17:53 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-27 16:43 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * rescue/list: Add some more files to the rescue until packdrake
+ works correctly without Compress::Zlib.
+
+2005-03-27 14:03 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: transl. drakroam messages
+
+2005-03-27 01:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, br.po, fa.po, he.po, pl.po:
+ removed "10.1"
+
+2005-03-26 23:59 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po,
+ nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sc.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, DrakX.pot, wa.po,
+ zh_CN.po, zh_TW.po: Oops! Sorry for the critial typo :(
+
+2005-03-26 23:46 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/advertising/09.pl: Oops, Sorry for the
+ critical typo
+
+2005-03-26 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, pt.po: updated Spanish file
+
+2005-03-26 17:54 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-03-26 13:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-03-26 02:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/advertising/09.pl: s/Mandrakelinux
+ 10.1/Mandrakelinux. For advertising.
+
+2005-03-26 02:56 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: s/Mandrakelinux 10.1/Mandrakelinux/.
+ For advertising.
+
+2005-03-26 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/be.po: fix bogus translations introduced on
+ 6-Aug-2004
+
+2005-03-26 00:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-14mdk
+
+2005-03-26 00:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, am.po, ar.po,
+ az.po, be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po,
+ da.po, de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po,
+ fr.po, fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sc.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: - add new strings
+ from drakroam - merge in kde's translations
+
+2005-03-25 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add megaraid_sas
+
+2005-03-25 17:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: kdm was the new default
+
+2005-03-25 17:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/tree/usr/share/symlinks: I hate you pixel. ;-) You were
+ not lib64 aware of those modern arches. ;-))
+
+2005-03-25 17:16 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.x86_64: speculatively add 32-bit loader in case user
+ wants to use 3rdparty 32-bit binaries depending on it.
+
+2005-03-25 17:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/make_rescue_img: take care of lib64 platforms, also add
+ msboot restorer to x86_64 tree
+
+2005-03-25 16:01 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add prism2_cs module
+
+2005-03-25 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm:
+ (load_category__prompt_for_more) enable one to load ide drivers
+ if needed
+
+2005-03-25 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: generic is not in either kernel-2.4.x nor
+ in kernel-2.6.x; let's replace it by ide-generic (#11704)
+
+2005-03-25 14:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2005-03-25 12:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sc.po: Added Sardinian file
+
+2005-03-25 12:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, sl.po: updated Slovenian file
+
+2005-03-25 04:48 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix Typo
+
+2005-03-25 04:44 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix Typo and Minnor Update
+
+2005-03-25 04:31 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-24 19:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: nasty warly uses different volume
+ IDs for mini CDs
+
+2005-03-24 18:27 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Always write an MD5SUM file
+
+2005-03-24 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: tag strings as being
+ translatable
+
+2005-03-24 17:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: do not crash in Help and About
+ buttons
+
+2005-03-24 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-24 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-24 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: - update from Cristiano Otto Von
+ Trompczynski <cris@mandrakesoft.com> - fix errors in cataglog
+
+2005-03-24 16:27 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: remove qla1280 as suggested by blino, at least
+ we have some space now :)
+
+2005-03-24 16:04 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic-simple.bmp: simplify image to be much smaller
+ when compressed
+
+2005-03-24 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, security/level.pm: really
+ default security level 3
+
+2005-03-24 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm: -
+ configure a firewall by default in secure level >= 3 - allow
+ auto_install parameter {firewall_ports}
+
+2005-03-24 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: log what we are doing
+
+2005-03-24 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: force refresh if asked by
+ user from the menu
+
+2005-03-24 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: reload configuration on
+ SIGHUP
+
+2005-03-24 13:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: ask for root password if
+ needed when setting a new profile
+
+2005-03-24 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: return the user choices
+
+2005-03-24 13:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * tools/Makefile: Install modules required by packdrake and
+ gendistrib in MISC_DEST
+
+2005-03-24 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: - there is no reason to
+ have string ref for ports - replace main_auto_install() with
+ default_ports()
+
+2005-03-24 12:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: raid.pm, diskdrake/interactive.pm: calling
+ inactivate_and_dirty() on a new structure is bad, we loose the
+ {isFormatted} flag (no big deal though, it happened because
+ raid::new() was creating a new raid with an already active md
+ name)
+
+2005-03-24 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-13mdk
+
+2005-03-24 12:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use raid::free_mds() and
+ don't sort (we provide a better numerically sorted list)
+
+2005-03-24 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: ensure we use/propose a free md when
+ creating a new one
+
+2005-03-24 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: after "mdadm --assemble" there can be some
+ mds in inactivate state busying devices, stopping them
+
+2005-03-24 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner::new) make banner be RTL
+ aware (aka follow language direction and display itself mirrored
+ for RTL languages) (#11910)
+
+2005-03-24 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner::new) ensure icon is
+ centered vertically
+
+2005-03-24 11:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm:
+ network::drakfirewall::set_ports() doesn't *need* a $in anymore,
+ and it doesn't die when no network card
+
+2005-03-24 10:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm,
+ network/drakfirewall.pm, network/shorewall.pm, standalone/drakgw,
+ standalone/drakvpn: -
+ network::shorewall::default_interfaces_silent() does not need any
+ parameter - network::shorewall::read() is simpler with a $o_in -
+ network::drakfirewall::default_from_pkgs() is non interactive,
+ better give it a do_pkgs - cleanup as little as possible
+
+2005-03-24 05:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ATMARP support, useful for
+ modems using pppoatm (e.g. SpeedTouch) and ISP using RFC 1483
+ Routed VC MUX (e.g. Free Degroupe)
+
+2005-03-24 05:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: use new --nocall option of
+ speedtouch-start
+
+2005-03-24 05:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write ATM_ADDR field
+
+2005-03-24 03:50 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-23 20:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: temporarily fallback on /mnt/hd if
+ the hard disk mount point can't be found
+
+2005-03-23 19:57 Warly <warly at mandriva.com>
+
+ * isolinux-graphic-simple.bmp,
+ isolinux-graphic-simple.bmp.parameters, isolinux-graphic.bmp,
+ isolinux-graphic.bmp.parameters: updated boot images
+
+2005-03-23 19:57 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: warn that the mount can fail if the partition
+ hasn't been cleanly unmounted
+
+2005-03-23 19:30 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix ejection of cdrom when asking
+ for the supplementary CD. (bug 14902)
+
+2005-03-23 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: make Bewan PCI modems work (drop
+ MTU config entries)
+
+2005-03-23 17:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add ufraw-gimp with gimp and ufraw
+ in photo (for handling raw images from digital camera)
+
+2005-03-23 16:29 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix Typo
+
+2005-03-23 16:13 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed 'Load/Save selection' and 'No
+ details'
+
+2005-03-23 16:10 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-23 15:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-23 15:18 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: translated 'Smart Card'
+
+2005-03-23 15:14 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: uk tr-tion update
+
+2005-03-23 13:14 Pavel Maryanov <acid_jack at ukr.net>
+
+ * perl-install/share/po/ru.po: fixed 'Allow all users'
+
+2005-03-23 12:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-03-23 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-12mdk
+
+2005-03-23 12:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools: package rpmsrate
+
+2005-03-23 12:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: changed tifinagh kbd to
+ "tifinagh(phonetic)", to avoid conflicts with future moroccan
+ standard layout (as will be used in schools etc) which is a bit
+ different
+
+2005-03-23 11:36 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Fix detection of available
+ space when copying rpms on disk (bug 14790)
+
+2005-03-23 10:51 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: still not enough room :-( (removing dmx3191d)
+
+2005-03-23 10:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: probe_using_X on neomagic can
+ return rubbish, so prefer probe_DMI() (even if dmi probe is quite
+ fuzzy...)
+
+2005-03-23 00:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: XBox - add options "xbox=1" for
+ sound driver (thx Thierry)
+
+2005-03-22 20:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: install atmel firmwares for hardware
+ using at76* modules
+
+2005-03-22 19:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: install prism54-firmware for prism54
+ devices only
+
+2005-03-22 19:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: kernel 2.4 isn't needed anymore for
+ this hardware
+
+2005-03-22 18:37 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: dirname may modify the string, so copy it
+ first
+
+2005-03-22 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: help perl_checker
+
+2005-03-22 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-11mdk
+
+2005-03-22 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: install packages needed for
+ hw support
+
+2005-03-22 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, xfree.pm: try a little harder to
+ know if we must write the config file. this is still not enough
+ though
+
+2005-03-22 17:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig/main.pm, standalone/XFdrake: put X conf
+ read in Xconfig::main
+
+2005-03-22 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: perl_checker cleanup
+
+2005-03-22 16:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: we
+ require_root_capability, so do it ASAP (bugzilla #13619)
+
+2005-03-22 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: clean-up
+
+2005-03-22 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: put the question inside
+ the interactive code
+
+2005-03-22 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: handle the return
+ value of any::setupBootloader() (bugzilla #13641)
+
+2005-03-22 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: be more explicit
+
+2005-03-22 16:34 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, mouse.pm, share/list.i386:
+ XBox - get xpad to work in install (added xset)
+
+2005-03-22 16:31 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix Typo
+
+2005-03-22 16:22 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-22 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: perl_checker fix
+
+2005-03-22 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: when calling adduser, don't forget
+ {realname} or {home} if we have them (bugzilla #13805)
+
+2005-03-22 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: choose the default
+ background best matching the resolution
+
+2005-03-22 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: acpi=on is the default
+
+2005-03-22 12:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: no acpi means acpi=on, not the contrary
+ (bugzilla #13935)
+
+2005-03-22 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: install xine-esd on Gnome desktops
+ so that totem works when esd is running
+
+2005-03-22 11:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lvm.pm, diskdrake/interactive.pm: ensure {lv_name}
+ is set when calling check_mntpoint() from Create() (via check())
+ (bugzilla #14253)
+
+2005-03-22 11:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix kdegraphics-common duplicate
+ problem
+
+2005-03-22 10:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, standalone/drakauth: SmartCard
+ authentication needs a (bloody) proprietary package, only propose
+ it when the package is available
+
+2005-03-22 06:15 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix Typo
+
+2005-03-22 06:01 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-21 21:49 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2005-03-21 21:35 Marco De Vitis <mdv at spin.it>
+
+ * perl-install/share/po/it.po: Successivo -> Next
+
+2005-03-21 20:43 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/keyboard.pm: fixed wrongly spelled us_intl for lb
+ locale.
+
+2005-03-21 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: add ->is_available
+
+2005-03-21 18:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: install_messages.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: s/102errata/errata/. There
+ will not be an 10.2, and errara.php3 is allways pointed to latest
+ errata :/
+
+2005-03-21 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kwifimanager on
+ wireless-aware kde desktops
+
+2005-03-21 18:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: handle wireless hardware type
+
+2005-03-21 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing raid module (#14051)
+
+2005-03-21 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: is_lan_interface: do not list
+ wifi%d interfaces as LAN devices (#14523)
+
+2005-03-21 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add a new SATA driver: ata_adma
+
+2005-03-21 17:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't copy RPMs from supplementary
+ media, except supplementary CDs
+
+2005-03-21 17:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kdegraphics-common to
+ support camera
+
+2005-03-21 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: don't use show_all, it unhides hidden
+ summary (bugzilla #13941)
+
+2005-03-21 17:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: remove useless function to improve
+ readability and please Titi
+
+2005-03-21 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-10mdk
+
+2005-03-21 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: enhance yaboot macos entry handling
+ (mostly written by cjw) (bugzilla #14642)
+
+2005-03-21 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) enforce "hidups" as
+ driver for BackPro UPSes
+
+2005-03-21 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) set extra
+ parameters if present
+
+2005-03-21 16:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: help perl_checker
+
+2005-03-21 16:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: mouse.pm, Xconfig/xfree.pm: use specific Synaptics
+ settings for ALPS devices (#14512)
+
+2005-03-21 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: use new recommended settings for
+ synaptics-0.14.0
+
+2005-03-21 16:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: factorize and minimal comments
+
+2005-03-21 15:55 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Factorize code on opening CD tray.
+ This, and the previous change, fixed bug #14850.
+
+2005-03-21 15:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Force opening of cdrom tray when
+ asking for a supplementary CD.
+
+2005-03-21 14:54 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix typo
+
+2005-03-21 14:52 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Allow to eject non-mounted cdroms
+
+2005-03-21 14:45 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-21 14:43 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: addmd5 to the generated iso
+
+2005-03-21 14:13 Pixel <pixel at mandriva.com>
+
+ * rescue/make_partimage_save_rest_all: factorize
+
+2005-03-21 14:10 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: rephrase message (#14813)
+
+2005-03-21 13:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: force net_applet start from menu
+ (#14858)
+
+2005-03-21 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: don't modify autostart config
+ file value if started with --force
+
+2005-03-21 13:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing DM modules for dmraid support
+ (#14806)
+
+2005-03-21 12:47 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: removing dc395x from cdrom.img and hd.img
+ (otherwise it doesn't fit in cdrom.img)
+
+2005-03-21 12:46 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: fix the module size in .not-enough-room
+
+2005-03-21 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, pkgs.pm: handle new kernel
+ flavour for i686 but non pae
+
+2005-03-21 11:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2005-03-21 11:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-03-21 10:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: ensure strange return value from
+ gtf(1) doesn't cause havoc
+
+2005-03-21 08:24 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Fix typo
+
+2005-03-21 08:11 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-20 04:59 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/: id.po: Fix Typo
+
+2005-03-20 04:46 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-19 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: we need latest ldetect-lst
+ (bugzilla #14785)
+
+2005-03-19 11:49 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: minnor update
+
+2005-03-19 11:42 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-19 10:45 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: minnor update
+
+2005-03-19 10:43 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-19 10:31 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-19 07:22 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-18 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: disable network hotplug for
+ via-velocity driver (#14763)
+
+2005-03-18 21:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: do "doPartitionDisks" and
+ "formatPartitions" ASAP in upgrade so that miscellaneous is
+ runned when /mnt is mounted (bugzilla #8678)
+
+2005-03-18 20:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-9mdk
+
+2005-03-18 20:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) move comment about
+ serial UPS where appropriate
+
+2005-03-18 20:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix explanation mode only
+ displaying last line (#14368)
+
+2005-03-18 20:36 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: install_messages.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: s/101errata/102errata for
+ the next release. We often forget this.
+
+2005-03-18 20:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (parse_file) do not horribly
+ die
+
+2005-03-18 20:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) fix device
+ path when manually adding an UPS (#12290)
+
+2005-03-18 18:45 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Better way to list NIC
+ modules (thx Thierry).
+
+2005-03-18 18:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Fix downloading update rpms with ftp
+ method.
+
+2005-03-18 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-8mdk
+
+2005-03-18 18:22 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-18 18:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) better
+ looking GUI: span groups & users on several columns (up to 3)
+
+ (we might have choosed to set number of columns depending of
+ number and max length of group/users rather than hardcoding 3
+ columns)
+
+2005-03-18 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (get_user_or_group) do not
+ ignore groups with empty password field (#14777)
+
+2005-03-18 18:13 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Lose the "system" calls.
+ Use pxe.include now. Clean up some redundant code.
+
+2005-03-18 18:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: remove other mac address
+ occurrences in iftab
+
+2005-03-18 18:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix drakbackup message
+
+2005-03-18 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: remove the lvm if
+ lvm::vg_destroy() succeeds (bugzilla #14249)
+
+2005-03-18 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: rootDevice must be properly set, esp. for
+ newt diskdrake (bugzilla #14254)
+
+2005-03-18 17:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Remove noisy log
+
+2005-03-18 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: always warn the user to
+ logout, even if we can't help (bugzilla #14403)
+
+2005-03-18 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle grub file names that do not
+ correspond to a mounted filesystem (bugzilla #14410)
+
+2005-03-18 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * rescue/tree/etc/issue: tell how to go back to the rescue menu
+
+2005-03-18 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-7mdk
+
+2005-03-18 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: really detect wireless
+ devices in manage interface
+
+2005-03-18 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/data.pm: adapt to new adsl_detect
+ prototype
+
+2005-03-18 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix bad translations
+
+2005-03-18 14:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2005-03-18 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix save dialog
+
+2005-03-18 14:48 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-18 14:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker/include fixes
+
+2005-03-18 14:28 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-18 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use renamef instead of rename to
+ create .old conf files
+
+2005-03-18 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: simplify
+
+2005-03-18 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: ensure the .old X conf is the last
+ one
+
+2005-03-18 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: instead of having xorg.conf
+ symlinked to XF86Config, do the contrary
+
+2005-03-18 12:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: don't be verbose
+
+2005-03-18 12:16 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ftp.pm: Meaningful error messages
+
+2005-03-17 22:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - simplify GUI:
+ don't have a "ratio" combo. have the resolutions from current
+ ratio by default and allow "Other" to see all others - by default
+ 1280x1024 is now in 4/3, not 5/4 (stupid bloody resolution!)
+
+2005-03-17 21:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: have 1280x1024 in
+ both 4/3 and 5/4 ratios
+
+2005-03-17 21:40 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/doc/UPDATEMODULES, perl-install/install_steps.pm: give
+ ability to tell in which list_modules category is a module
+
+2005-03-17 19:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed queue name
+ auto-generation, it sometimes hanged in an endless loop (bugs
+ #14426, #14525, #14563).
+
+2005-03-17 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: ensure the val registrations are kept
+ ordered
+
+2005-03-17 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, monitor.pm, xfree.pm: use
+ monitor-probe-using-X
+
+2005-03-17 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: ensure this bloody stupid code doesn't
+ break things when it is unused
+
+2005-03-17 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: simplify
+
+2005-03-17 18:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: vpi is given as hex too (though it
+ doesn't matter much since it's merely always less than or equal
+ to 9)
+
+2005-03-17 18:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: bring back generic
+ release-notes.txt to life
+
+2005-03-17 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (set_l10n_sort) import comments from
+ rpmdrake
+
+2005-03-17 17:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fill at least the DEVICE
+ field for non-configured devices
+
+2005-03-17 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (set_l10n_sort) do not bother touch
+ LC_ALL
+
+2005-03-17 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: interactive.pm, network/netconnect.pm: temporary
+ move collate sorting into net wizard in order to minimize
+ possible side effects
+
+2005-03-17 17:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: allow to modify non
+ configured devices in manage interface
+
+2005-03-17 17:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: we may need monitor-probe-using-X
+ installed to configure X during install (XFdrake already require
+ monitor-edid)
+
+2005-03-17 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_normalize) use newly
+ introduced set_l10n_sort() in order to have proper localized
+ sorting (#14634)
+
+2005-03-17 16:55 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/strip_modules: MERGE: remove debugging printfs :)
+
+2005-03-17 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (set_l10n_sort) stole it from rpmdrake
+
+2005-03-17 16:54 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: MERGE: don't be so i586-centric
+
+2005-03-17 16:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: MERGE: make it
+ possible to read arch-specific release notes in addition to
+ global (default) ones
+
+2005-03-17 16:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list: MERGE: fix ldso name
+
+2005-03-17 16:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: list, list.i386, list.x86_64: mdadm for
+ everyone, fix ldso linker name for other arches
+
+2005-03-17 16:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: MERGE: stop using dedicated X
+ drivers on x86-64, default to vesafb
+
+2005-03-17 16:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/devices.pm: MERGE: don't be so i586 centric
+
+2005-03-17 16:49 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: MERGE: pcmcia is available on x86-64
+
+2005-03-17 16:48 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: pcmcia also works on x86-64 (old
+ 10.1-branch)
+
+2005-03-17 16:47 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/pcmcia_/: cardmgr.c, cirrus.h, cs.h, cs_types.h,
+ driver_ops.h, ds.h, i82365.h, vg468.h, yacc_config.c,
+ yacc_config.h: merge with recent enough kernel and remove
+ osbolete (unused) stuff, also do some 64-bit fixing there
+ (forward port from cs3 and 10.1 branches)
+
+2005-03-17 16:45 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/usb-resource/update-usb-ids.pl: fix usb devices id
+ generation
+
+2005-03-17 16:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: remove obsolete stuff for at least 2 distros
+
+2005-03-17 16:43 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: add a320raid if people have an adaptec
+ ultra320 card with hostraid
+
+2005-03-17 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: use sata modules too
+
+2005-03-17 16:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add an item to 10.2-6mdk's log
+
+2005-03-17 14:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: probe in automatic mode to create
+ devices (and really check for mount return code)
+
+2005-03-17 14:26 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fix return code check
+
+2005-03-17 14:22 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: message fix again
+
+2005-03-17 14:06 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-17 13:57 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-17 13:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: more message fixes
+
+2005-03-17 13:48 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fix/enhance messages
+
+2005-03-17 13:47 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: look for modules in /install/thirdparty
+ first
+
+2005-03-17 12:48 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2005-03-16 22:20 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c, stage1.h,
+ thirdparty.c, tools.c: - merge update_modules stuff in
+ third-party module - add "thirdparty" as an alias for the
+ "updatemodules" option - allow to specify thirdparty device using
+ automatic "thirdparty" option - try to mount as iso9660 too in
+ try_mount
+
+2005-03-16 20:36 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fail if device doesn't match anything
+
+2005-03-16 20:14 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile: allow to clean local directory only
+
+2005-03-16 20:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile: partition.c is used only in disk installs
+ for now
+
+2005-03-16 20:05 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: thirdparty.c, tools.c, tools.h: cdrom support in
+ third-party module
+
+2005-03-16 19:33 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/bootloader.pm: - cluster without capturing
+
+2005-03-16 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-6mdk
+
+2005-03-16 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix dropping line macos in
+ yaboot.conf (bugzilla #14642)
+
+2005-03-16 18:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, standalone/localedrake: enable to
+ enable/disable utf-8
+
+2005-03-16 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) remove dead code
+
+2005-03-16 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) remove unecessary
+ sync (which was needed to workaround CList bug but now make
+ TreeViews breaking CheckBoxes)
+
+2005-03-16 16:57 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-16 16:44 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo
+
+2005-03-16 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: ensure there's never a
+ "previous" button on first step
+
+2005-03-16 15:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/default.pm: - Fixed setting of default
+ printer on daemon-less CUPS client (bug #13940).
+
+2005-03-16 12:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install2.pm, pkgs.pm: Allow to specify "suppl" and
+ "askmedia" in the kernel command-line as well as in the hdlists
+ file
+
+2005-03-16 12:25 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: finalized slovak translation for
+ 10.2
+
+2005-03-16 11:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, fr.po, sv.po: updated French,
+ Basque and Swedish files
+
+2005-03-16 09:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/id.po: Fix po syntax
+
+2005-03-16 03:04 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-16 02:57 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-16 02:45 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-15 20:56 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, pkgs.pm: Install
+ kernel-xbox on XBOX, bypass bootloader setup and eject call
+
+2005-03-15 20:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: allow drakconnect
+ to display multiple instances of the same adsl device
+
+2005-03-15 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix comment
+
+2005-03-15 18:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix unicorn packages
+ installation
+
+2005-03-15 18:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix cdrom device name
+
+2005-03-15 18:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm, mdk-stage1/stage1.c: fix pcmcia
+ modules loading
+
+2005-03-15 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, monitor.pm: - new function
+ Xconfig::monitor::is_valid() - new function
+ Xconfig::monitor::probe() which probes DDC, then fallbacks on DMI
+
+2005-03-15 15:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: don't pass $monitors_db around,
+ use memoized monitors_db()
+
+2005-03-15 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_any.pm, modules.pm,
+ c/stuff.xs.pl, share/list: - add dmi_probe() - some special code
+ on dmi is now moved in dmitable with flags Pkg: and Module:
+
+2005-03-15 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: install scim-input-pad too for japanese
+
+2005-03-15 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-5mdk
+
+2005-03-15 12:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not compare translated
+ string, on Pixel's advice
+
+2005-03-15 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/: empty.pm: do not drop field {info}
+ that can be created in zero_MBR
+
+2005-03-15 11:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow not to set gateway
+ device (#14633)
+
+2005-03-15 11:36 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Fixed translation.
+
+2005-03-15 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2005-03-15 11:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, it.po: updated Italian and Welsh
+ files
+
+2005-03-15 00:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: fixed encoding
+
+2005-03-14 22:12 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-03-14 19:28 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Delete Conflict Indicator and Little
+ Update
+
+2005-03-14 19:07 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Change the code for the rpm copying
+ progress bar to avoid forking.
+
+2005-03-14 19:00 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Little Update
+
+2005-03-14 18:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: install setarch by default on
+ x86_64, add provisions for a320raid-kernel drivers, add 32-bit
+ compat galaxy gnome theme
+
+2005-03-14 18:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: allow connections from local
+ net to firewall (#14586)
+
+2005-03-14 18:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: fixed syntax errors
+
+2005-03-14 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove eagle-usb_must_be_configured
+ file
+
+2005-03-14 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: ensure we have /sbin
+ in our PATH
+
+2005-03-14 17:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix and force CMVs symlink creation
+
+2005-03-14 16:54 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-14 16:49 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-14 16:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, wa.po: updated Japanese file
+
+2005-03-14 15:03 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated again
+
+2005-03-14 14:59 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update mirror list
+
+2005-03-14 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-14 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po: fix netmask message after
+ funda fixed blino message
+
+2005-03-14 14:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo
+
+2005-03-14 13:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: Fix newline issue
+
+2005-03-14 13:08 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Downgrade one version
+
+2005-03-14 09:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Don't die while upgrading if
+ /var/ftp/pub/Mandrakelinux isn't there (bug #14585)
+
+2005-03-14 07:52 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: updated
+
+2005-03-14 07:25 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: fix netmask string..
+
+2005-03-13 22:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add some xxXGA names
+
+2005-03-13 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix looking for the user uid.gid
+
+2005-03-13 17:52 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-03-13 17:13 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updates to Czech translations
+
+2005-03-13 15:25 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2005-03-13 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't die when we have no entries in
+ grub menu.lst
+
+2005-03-12 20:18 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/control-center/po/da.po
+ gi/perl-install/share/po/da.po
+
+2005-03-12 18:54 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: network/netconnect.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po, standalone/drakconnect:
+ s/Netmask address/Netmask/. typo fix
+
+2005-03-12 18:12 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-03-12 13:44 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2005-03-12 09:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: vi.po, zh_CN.po: updated Vietnamese file;
+ corrected syntax error in Chinese file
+
+2005-03-12 08:16 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-03-11 20:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix typo (linetype for eagle-usb)
+
+2005-03-11 20:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: for 1400x1050, put the resolutions
+ (60 and 75Hz are already in extramodes, but they are GTF
+ modelines, we can overrule them)
+
+2005-03-11 19:25 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-03-11 18:42 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: When removing duplicate
+ physical media, take DVDs into account as well as CDs
+
+2005-03-11 18:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Use library functions
+
+2005-03-11 17:48 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Create an empty MD5SUM file to make
+ urpmi happy
+
+2005-03-11 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: remove useless /
+
+2005-03-11 17:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't stack information windows on
+ top of another
+
+2005-03-11 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: really create ISO images mountpoint
+ (me sux)
+
+2005-03-11 15:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Eject last CD after copy of rpms on
+ disk
+
+2005-03-11 14:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-03-11 14:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po: updated pot file
+
+2005-03-11 13:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, he.po, hi.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, ky.po: updated pot file
+
+2005-03-11 13:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po, eu.po,
+ fa.po, fi.po, fr.po, fur.po: updated pot file
+
+2005-03-11 13:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po: updated pot file
+
+2005-03-11 13:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: am.po, az.po, bn.po, cs.po, eu.po, hr.po,
+ ja.po, ko.po, ms.po, sl.po, tr.po, uk.po, zh_CN.po, zh_TW.po: fix
+ translations
+
+2005-03-11 11:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: use full path to rpms for ISO media
+
+2005-03-11 04:14 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: grf, translate last minute strings
+
+2005-03-10 21:11 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-03-10 21:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: don't spawn a shell if stage2 isn't
+ run directly
+
+2005-03-10 21:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: setup urpmi media for ISO images
+
+2005-03-10 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: cleanup
+
+2005-03-10 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: don't add modelines for 1280x1024,
+ they are already in standard vesamodes (builtin Xorg)
+
+2005-03-10 20:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: when adding gtf modelines, have
+ them sorted with high frequencies first (since Xorg prefer the
+ first matching modeline (!))
+
+2005-03-10 18:59 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: diskdrake/interactive.pm, fs/type.pm,
+ partition_table/raw.pm: Diskdrake mods for XBox (thks Pixel)
+
+2005-03-10 18:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: fix kde merge
+
+2005-03-10 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-4mdk
+
+2005-03-10 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake: require hwdb-clients
+
+2005-03-10 18:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: further merge with KDE
+
+2005-03-10 17:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: fr.po, br.po: update
+
+2005-03-10 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: remove duplicated string
+
+2005-03-10 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: remove uneeded string
+
+2005-03-10 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bn.po,
+ br.po, bs.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po, hi.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, wa.po, zh_CN.po,
+ zh_TW.po: merge translations from KDE
+
+2005-03-10 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (upload) remove uneeded
+ string
+
+2005-03-10 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix messages
+
+2005-03-10 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, am.po, ar.po,
+ az.po, be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po,
+ da.po, de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po,
+ fr.po, fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: merge in new strings
+
+2005-03-10 16:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: enable to upload the hardware
+ list
+
+2005-03-10 16:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Put a wait message for copying rpms
+ from CDs
+
+2005-03-10 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: (raw) ensure runned programs are
+ logged in explanations
+
+2005-03-10 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: (getinfoFromDDC) fix crash (eg
+ when called from hwdb-clients)
+
+2005-03-10 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: catch bad use of
+ get_rawCHS()
+
+2005-03-10 14:19 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: do not copy debug shell on floppy disks
+
+2005-03-10 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/thirdparty.c: fix messages
+
+2005-03-10 13:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: use a higher timeout for modem
+ dialing (#10814)
+
+2005-03-10 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: simplify
+
+2005-03-10 11:59 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: tr-tion update
+
+2005-03-10 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: we don't want the 4/3
+ detailed_timings otherwise they conflict with the Xorg builtin
+ vesamodes
+
+2005-03-10 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: help perl
+
+2005-03-10 02:54 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-03-09 23:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: hide wlan-ng settings for
+ non-root users
+
+2005-03-09 22:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make wpa_supplicant.conf
+ readable by root only
+
+2005-03-09 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: ga translation level has been leveraged up
+
+2005-03-09 18:49 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp: new boot image
+
+2005-03-09 18:37 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: rc1 logo
+
+2005-03-09 18:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-09 18:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: better looking text
+
+2005-03-09 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-09 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-3mdk
+
+2005-03-09 17:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ network/network.pm, standalone/drakconnect: write selected dhcp
+ client in ifcfg files
+
+2005-03-09 16:12 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: stage1.c, stage1.h, tools.c: expert mode is dead
+
+2005-03-09 16:11 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile: don't forget to link with third_party stuff
+
+2005-03-09 16:10 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: do not ask for third party modules here,
+ it's available from main menu
+
+2005-03-09 16:07 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: allow to use new third party stuff from main
+ menu
+
+2005-03-09 15:56 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: thirdparty.c, thirdparty.h: initial import (allow to
+ load thirdparty modules from disks)
+
+2005-03-09 15:52 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: fix message
+
+2005-03-09 15:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: probe usb devices before trying to use third
+ party modules
+
+2005-03-09 15:49 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: Makefile, disk.c, partition.c, partition.h, tools.c,
+ tools.h: move partition stuff in partition.c and common disk
+ stuff in tools.c
+
+2005-03-09 15:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: do ask for modules here, it is already done
+ when needed
+
+2005-03-09 15:41 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: wait for mass storage devices to be
+ detected
+
+2005-03-09 15:41 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: add log message when looking for scsi
+ adapters
+
+2005-03-09 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) update comments
+
+2005-03-09 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) do not
+ overwrite driver name with sysfs one when we already got it from
+ ethtool, thus fixing bogus names registered though pci layer in
+ kernel (#14163)
+
+2005-03-09 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-03-09 12:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/Makefile: updated list of too low languages
+
+2005-03-09 12:16 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Translation fixes.
+
+2005-03-08 19:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: (load_values) fix getting value
+ when it's defined but 0 (#14364)
+
+2005-03-08 19:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: (get_function_value) fix getting
+ value when it's 0 (#14364)
+
+2005-03-08 18:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Disable progress bar when copying
+ rpms from CDs. (The change CD dialog clashes with it)
+
+2005-03-08 17:37 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: removed obsolete IMEs for zh_TW
+
+2005-03-08 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: please perl_checker differently
+
+2005-03-08 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.2-2mdk's changelog
+
+2005-03-08 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-2mdk
+
+2005-03-08 15:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker - bad /me
+
+2005-03-08 15:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: use full path for net_applet icon
+ in menu entry (#14346)
+
+2005-03-08 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install scim-input-pad for japanese
+ users
+
+2005-03-08 15:14 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: bootloader.pm, mouse.pm: mousedrake, detectloader
+ support for XBox
+
+2005-03-08 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: interactive.pm, standalone.pm, ugtk2.pm: log
+ program exiting
+
+2005-03-08 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: Vera is now in xorg
+
+2005-03-08 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: choose a 4/3
+ resolution by default
+
+2005-03-08 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: xbox support (by
+ Stew)
+
+2005-03-08 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (wpa_supplicant_configure) scan
+ hidden ssid
+
+2005-03-08 09:14 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-03-07 23:20 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: use fonts-ttf-dejavu instead of
+ fonts-ttf-vera (bug #13493).
+
+2005-03-07 21:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: handle NEEDHOSTNAME and
+ DHCP_HOSTNAME in Manage interface
+
+2005-03-07 21:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: move DHCP settings in a
+ notebook page
+
+2005-03-07 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-1mdk
+
+2005-03-07 15:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: allow live resizing of
+ reiserfs on lvm (as tested by Gaetan Lehmann). not tested
+
+2005-03-07 15:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: delete gateway if appropriate
+ when configuring DSL devices too (#13978)
+
+2005-03-07 14:13 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: remove spurious space
+
+2005-03-07 14:11 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: try to reuse hostname and domain
+ information from dhcp step (#14285)
+
+2005-03-07 14:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: ask if the http proxy should be used for
+ ftp (#13492)
+
+2005-03-07 14:02 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: don't segault if proxy step is cancelled
+
+2005-03-07 13:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2005-03-07 13:40 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: added gcin setup
+
+2005-03-07 13:27 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: Added settings for new traditional chinese
+ IME gcin.
+
+2005-03-07 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-07 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/list, share/themes-blue.rc,
+ share/themes-galaxy.rc: - by default, gtk use
+ /usr/share/themes/Galaxy/gtk-2.0/gtkrc, so add this gtkrc to
+ the install, and so no need to have galaxy settings in
+ themes-galaxy.rc => this fixes the doc theme not having the
+ good shapes for the buttons - fix the worst pb in themes-blue.rc
+ (even if we don't use it)
+
+2005-03-07 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/dhcp.h: export dhcp_domain too
+
+2005-03-07 01:57 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: more and more fixes
+
+2005-03-07 00:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: proofreading (gerard delafond)
+
+2005-03-06 23:58 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: more fixes..
+
+2005-03-06 15:00 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-06 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm, resize_ntfs.pm: ensure
+ ntfsresize is available
+
+2005-03-06 11:18 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-03-05 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: set Linetype in eagle-usb.conf to
+ use CMVs
+
+2005-03-05 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: create CMV symlinks for both POTS
+ and ISDN lines
+
+2005-03-05 06:22 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-04 20:33 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: set MODE_TESTING too if DEBUGSTAGE1 is set
+
+2005-03-04 19:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: CMV support for eagle-usb
+
+2005-03-04 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: copy provider_id tag too
+
+2005-03-04 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: use provider_id as key
+ instead of id
+
+2005-03-04 18:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add provider IDs, comments,
+ cleanups
+
+2005-03-04 18:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/default.pm: - Let printerdrake recognize if
+ the user edited /etc/cups/client.conf manually.
+
+2005-03-04 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: do not check yaboot "magic" on ppc
+ (it seems the magic we have is somewhat wrong), assuming we have
+ yaboot installed (it is the only handled bootloader anyway)
+
+2005-03-04 18:00 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: 100% good to go!:)
+
+2005-03-04 17:00 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Add an explicit error message
+ instead of a built-in cryptic one (bug #14243)
+
+2005-03-04 16:43 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-04 16:05 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: remove unused variable
+
+2005-03-04 15:46 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Disallow to delect the first
+ media listed in the "hdlists" file.
+
+2005-03-04 15:33 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Modify new string in order to merge with
+ KDE translations
+
+2005-03-04 14:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Fix passing installation method instead of
+ description to install_any::getFile
+
+2005-03-04 13:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fix
+
+2005-03-04 13:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: allow to modify DHCP
+ settings too
+
+2005-03-04 13:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: add
+ @network::ethernet::dhcp_clients
+
+2005-03-04 12:44 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Add a wait message when downloading hdlists
+ from network
+
+2005-03-04 12:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use
+ detect_devices::is_lan_interface
+
+2005-03-04 12:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add is_lan_interface
+
+2005-03-04 11:42 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Translation nit
+
+2005-03-04 05:27 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: A few more fixes:)
+
+2005-03-04 03:36 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: 100%! :)
+
+2005-03-03 23:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-03 23:27 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with Arabeyes CVS
+
+2005-03-03 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-03-03 20:58 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-03 20:57 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-03-03 20:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add ralink RT2x00 interfaces type
+ in comment
+
+2005-03-03 20:46 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-03-03 17:03 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: perl_checker
+ fixes
+
+2005-03-03 16:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: Add a
+ progress bar when copying rpms from the media to the hard disk
+
+2005-03-03 14:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/nb.po: Fix .po syntax
+
+2005-03-03 13:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/commands.pm: Avoid unnecessary stats.
+
+2005-03-03 11:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: delete gateway settings if
+ gateway device is invalid too (#11761)
+
+2005-03-03 10:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: Added translation for "recommended"
+ string
+
+2005-03-02 22:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Made the
+ "(recommended)" in the printer/driver lists translateable (bug
+ 10651)
+
+2005-03-02 22:25 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-03-02 22:20 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2005-03-02 19:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: delete gateway settings if
+ reconfiguring the gateway interface to dhcp
+
+2005-03-02 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add the various "names" for
+ standard resolutions
+
+2005-03-02 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: sort CVT_ratios by preference
+
+2005-03-02 14:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: fixed menu
+
+2005-03-02 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.2-0.35mdk's changelog
+
+2005-03-02 14:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Let hardware-specific GUI tools
+ for HP printers not be installed by default during
+ installation. They get only preloaded now, so that printerdrake
+ can install them if needed (bug 13957).
+
+2005-03-02 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.35mdk
+
+2005-03-02 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: refresh every second, and do
+ not reread network conf at each refresh
+
+2005-03-02 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle boot-as and master-boot
+ (bugzilla #13846)
+
+2005-03-02 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix comment
+
+2005-03-02 12:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: fixed menus
+
+2005-03-02 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: "keyboard" InputDevice can also be
+ called "kbd"
+
+2005-03-02 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_scrolled_window) Gtk2::Html::View
+ has native scrolling support and thus behave badly with
+ GtkViewport
+
+2005-03-02 11:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po: updated po file
+
+2005-03-02 11:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po: small fix in Afrikaans file
+
+2005-03-02 10:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: screenshot_dir__and_move(): use /tmp
+ which is ramdisk instead of /tmp/stage2 which is now always
+ read-only
+
+2005-03-01 22:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Make sure that
+ recommended driver is preselected in expert mode, even if the
+ recommended driver is a manufacturer-supplied PPD with language
+ tag.
+
+2005-03-01 22:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: configure iocharset and codepage option for
+ hal
+
+2005-03-01 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add 1280x600 for VAIO PCG-C1M
+ (bugzilla #5192)
+
+2005-03-01 22:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: fix section with only comments
+ (putting the comment after the EndSection is wrong)
+
+2005-03-01 21:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: give up trying to only add
+ modelines not defined in xorg, otherwise xorg will prefer the
+ modelines we give here (eg: it will use 1024x768@50 whereas it
+ could use 1024x768@60)
+
+2005-03-01 21:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix buggy get_append_memsize()
+ (bugzilla #13874)
+
+2005-03-01 20:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: stringify using a perl_checker compliant
+ way
+
+2005-03-01 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: add a ratio choice,
+ and restrict the resolutions to this choice
+
+2005-03-01 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: - handle {list_ref} in ComboBox - handle
+ more than one {ref} per widget - check that the string value of
+ the ref doesn't change when it is set (maybe we should remove
+ the REF or SCALAR prefix?)
+
+2005-03-01 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox::set_popdown_strings)
+ clear model before filling the list
+
+2005-03-01 19:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) backport fixes
+ from HEAD: - workaround buggy kernel until provided patch got
+ applied (#12609) - do not rely on broken ethtool from hostap
+ drivers (#13979)
+
+2005-03-01 19:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) workaround
+ buggy kernel until provided patch got applied (#12609)
+
+2005-03-01 19:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Added possibility to add
+ a remote LPD printer in beginner's mode (bug 13734) - Fixed
+ incorrect display of accentuated characters in PPD options also
+ for boolean options (bug 13928) - Let detected LPD printer
+ model be shown in a pop-up window and not in the add printer
+ wizard - Let detected socket printer model be shown if the
+ IP/port was manually entered - Small fix on selection of test
+ pages
+
+2005-03-01 19:10 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: do not show a dialog box before loading
+ network or SCSI drivers, we'll load it anyway ...
+
+2005-03-01 19:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: when testing, don't silently default
+ to newt
+
+2005-03-01 18:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.34mdk
+
+2005-03-01 18:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools: fix build after
+ pixel's pass
+
+2005-03-01 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: - when setting a resolution,
+ create associated gtf modelines for various standard vfreqs
+ (but don't do it for builtin_ModeLines (cf vesamodes and
+ extramodes in xorg)) - drop the Dell modelines (this is now
+ cleanly handled) - drop the Vaio modeline (but this modeline was
+ not gtf, will it work with the gtf modeline?) - export {ModeLine}
+ raw to allow playing with pre_comment
+
+2005-03-01 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install gftp with gnome, it's
+ not HIG compliant, it's not gtk+2, it's bog prone and browser &
+ nautilus are better
+
+2005-03-01 17:32 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: add i18n packages for
+ mozilla-firefox
+
+2005-03-01 16:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed add printer wizard
+ ("Previous" and "Cancel") for printerdrake being run embedded
+ in the MCC (bug 13929).
+
+2005-03-01 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix bogus translation
+
+2005-03-01 16:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: remember encryption
+ algorithm
+
+2005-03-01 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: allow to choose encryption
+ algorithm (#13472)
+
+2005-03-01 15:01 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/any.pm: - webclient alternative is obsolete, launch
+ browser with new /usr/bin/www-browser
+
+2005-03-01 14:54 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - load link with
+ /usr/bin/www-browser
+
+2005-03-01 14:49 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - load link with
+ /usr/bin/www-browser
+
+2005-03-01 13:47 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - use
+ any::launch_browser_with_wm func to launch better suited browser
+
+2005-03-01 13:41 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - use
+ any::launch_browser_with_wm
+
+2005-03-01 13:41 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/any.pm: - check and launch browser according to wm
+
+2005-03-01 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.33mdk
+
+2005-03-01 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: fix typo
+
+2005-03-01 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - sort the whole
+ resolutions to simplify the code, and get better choices - add a
+ failsafe resolution
+
+2005-03-01 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: monitor.pm, resolution_and_depth.pm:
+ create {preferred_resolution} out of the edid detailed_timings
+ and use it
+
+2005-03-01 11:33 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: more proof reading
+
+2005-03-01 11:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: corrected syntax error
+
+2005-03-01 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: skip detailed_timings flagged
+ bad_ratio
+
+2005-03-01 01:11 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: Small fixes
+
+2005-03-01 00:34 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: minor fixes
+
+2005-03-01 00:32 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updates from eskild hustvedt:)
+
+2005-03-01 00:10 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translation.
+
+2005-03-01 00:07 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic QA
+
+2005-03-01 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/Makefile.drakxtools,
+ perl-install/any.pm, perl-install/drakxtools.spec,
+ perl-install/install2.pm, perl-install/Xconfig/monitor.pm,
+ perl-install/Xconfig/resolution_and_depth.pm,
+ perl-install/Xconfig/various.pm, perl-install/Xconfig/xfree.pm,
+ perl-install/share/list, tools/Makefile: - remove ddcxinfos,
+ replaced by monitor-edid (which is in a separate package) - add
+ many resolutions (they are structured by aspect ratio for next
+ move) - put the "Monitor preferred modeline" from EDID in
+ xorg.conf - for this ModeLine must be exported from the monitor
+ section - specifying a VendorName|ModelName in auto_inst is
+ valid, don't overwrite it with edid probe - the strange /dev/zero
+ needed (?) by ddcxinfos is no more needed - field {size} is now
+ {diagonal_size}, and is no more "corrected" - add @CVT_ratios and
+ @CVT_vfreqs (unused at the moment) - Getopt::Long is needed by
+ monitor-parse-edid
+
+2005-03-01 00:02 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: a few fixes
+
+2005-02-28 23:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - drop hashes -
+ handle lower than 640 resolutions (prepare for next move,
+ introducing aspect ratio in choose_gtk)
+
+2005-02-28 22:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Bugzilla 13998 - Sort list
+ of nbis.
+
+2005-02-28 21:40 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-28 21:23 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Bugzilla 14031 - cleint
+ files created as char devices.
+
+2005-02-28 19:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: define 'compose:rwin' in XkbOptions
+ when $keyboard->{GRP_TOGGLE} is different than "rwin_toggle" and
+ also when $keyboard->{GRP_TOGGLE} is not defined.
+
+2005-02-28 18:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect:
+ enhance "wrong network mask format" message (#10712)
+
+2005-02-28 18:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix adding net_applet menu entry
+
+2005-02-28 18:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.32mdk
+
+2005-02-28 17:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: add net_applet menu entry
+
+2005-02-28 17:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: netprofile support, allow to
+ select watched interface
+
+2005-02-28 16:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-28 15:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to modify DHCP timeout
+
+2005-02-28 15:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write DHCP_TIMEOUT for DHCP
+ connections
+
+2005-02-28 15:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Make regexps a bit more
+ lenient.
+
+2005-02-28 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add comment
+
+2005-02-28 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-28 14:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle PEERYP and PEERNTPD
+ too (#9982)
+
+2005-02-28 14:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write PEERYP and PEERNTPD for
+ DHCP connections
+
+2005-02-28 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2005-02-28 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: have install.sh 755 (as suggested by
+ Vincent Meyer)
+
+2005-02-28 13:24 Pixel <pixel at mandriva.com>
+
+ * advanced.msg.xml: we should not mention "expert" anymore
+ (bugzilla #13986)
+
+2005-02-28 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fixes
+
+2005-02-28 12:43 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_partimage_save_rest_all, make_rescue_img: - in
+ rest_all, try to restore from the cdrom - remove the debugging
+ setting of leia as the partimage server
+
+2005-02-28 12:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: peerdns support (and assorted
+ space fixes)
+
+2005-02-28 12:13 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: QA for Arabic
+
+2005-02-28 12:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write PEERDNS for DHCP
+ interfaces
+
+2005-02-28 11:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: do not rely on broken ethtool
+ from hostap drivers
+
+2005-02-28 11:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: apply USERCTL settings for
+ modems too
+
+2005-02-28 10:39 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add xfs_repair to the rescue (bugzilla #10488)
+
+2005-02-28 10:14 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: cdrom.c, directory.c, disk.c, stage1.h, tools.c: new
+ option "keepmounted" to allow the rescue media to be kept mounted
+
+2005-02-28 09:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2005-02-28 08:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2005-02-28 08:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-28 08:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: br.po, bs.po, cy.po, da.po, et.po, fa.po,
+ it.po, ja.po, nl.po, pt.po, sk.po: updated Welsh, Persian,
+ Italian adn Japanese files; ran msgmerge on all *.po files
+
+2005-02-28 03:23 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-28 02:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm,
+ printer/printerdrake.pm: - Let country and not language decide
+ about default paper size
+
+2005-02-27 20:54 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-27 17:00 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2005-02-27 16:37 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2005-02-26 14:49 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: translated new 78 messages
+
+2005-02-26 11:16 vljubovic
+
+ * perl-install/share/po/bs.po: Latest changes to Bosnian files
+
+2005-02-25 22:09 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2005-02-25 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.31mdk
+
+2005-02-25 18:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pre-detect modem device
+ (instead of mouse device ...) and do it at the right place
+
+2005-02-25 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: do not ask for root password if
+ interface allows USERCTL
+
+2005-02-25 17:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: changed keyboard to "us" for Chinese
+
+2005-02-25 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove debug code (spotted by
+ Pixel)
+
+2005-02-25 17:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to enable USERCTL
+
+2005-02-25 17:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write USERCTL too
+
+2005-02-25 17:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Driver "oki4w" was
+ renamed to "oki4drv". Adapted printerdrake appropriately
+
+2005-02-25 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: space fixes
+
+2005-02-25 17:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: space fixes
+
+2005-02-25 16:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.30mdk
+
+2005-02-25 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: fix wrong key accelerator (#13540)
+
+2005-02-25 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: simplify
+
+2005-02-25 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfont, draksec: rollback unwanted
+ changes
+
+2005-02-25 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (backend_mod) fix uninstalling
+ fonts (#9324)
+
+2005-02-25 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-25 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2005-02-25 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfont: (backend_mod) fix
+ uninstalling fonts (#9324)
+
+2005-02-25 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checko fixes
+ (especially fix wrong message)
+
+2005-02-25 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: perl_checker fixes
+
+2005-02-25 13:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: small update
+
+2005-02-25 13:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: now that i
+ understand hsync and vsync, i can filter using HorizSync much
+ more nicely :)
+
+2005-02-25 12:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: gl.po, sv.po: updated Swedish file;
+ corrected "default:LTR" entry for Galician
+
+2005-02-25 12:39 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-25 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to select "unlisted"
+ provider in adsl provider list
+
+2005-02-25 01:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2005-02-25 01:10 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-25 00:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, eu.po: updated Basque and Danish
+ files
+
+2005-02-25 00:20 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ soft/mdkonline/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2005-02-24 21:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2005-02-24 21:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nn.po, wa.po: updated Walloon file
+
+2005-02-24 20:51 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-02-24 20:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, eo.po, lt.po: merge in strings
+ from urpmi & rpmdrake
+
+2005-02-24 20:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-24 19:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2005-02-24 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist bad Libconf package
+
+2005-02-24 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: perl_checker fixes
+
+2005-02-24 19:48 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-02-24 19:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: do not update kde config file if
+ kde isn't installed (spotted by Mathieu Geli)
+
+2005-02-24 18:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix typos
+
+2005-02-24 18:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, nl.po, nn.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po: updated pot file
+
+2005-02-24 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.29mdk
+
+2005-02-24 18:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm, tools.pm:
+ minimal WPA support
+
+2005-02-24 18:32 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation.
+
+2005-02-24 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: fix reading UPS db: some UPS
+ have the same name but differes in the way they're plugged into
+ the system (eg: USB vs serial cable), so we need to differ them
+ through the "extra" field
+
+2005-02-24 18:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, he.po, hi.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po,
+ mk.po, mn.po, ms.po, mt.po: updated pot file
+
+2005-02-24 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: adapt to new Libconf API
+
+2005-02-24 17:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: always restart wlan-ng interface
+
+2005-02-24 17:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: move wlan-ng
+ stuff in network::network
+
+2005-02-24 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, DrakX.pot,
+ fur.po: updated pot file
+
+2005-02-24 17:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: space cleanup
+
+2005-02-24 17:14 Willy Sudiarto Raharjo <willysr at gmail.com>
+
+ * perl-install/share/po/id.po: Updated
+
+2005-02-24 17:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: spaces cleanup
+
+2005-02-24 16:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/net_applet: no space before question
+ marks in English
+
+2005-02-24 16:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/net_applet: no space after colon in
+ English
+
+2005-02-24 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2005-02-24 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, az.po, bg.po, eo.po, id.po, ko.po,
+ lv.po, mk.po, ro.po, sr@Latn.po, th.po: update
+
+2005-02-24 14:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: move "HPOJ" and "HPLIP" as
+ parameters of translatable strings, so common phrases need to be
+ translated only once.
+
+2005-02-24 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: if we remove a weird option,
+ also remove nodev, noexec and nosuid (but don't do it everytime,
+ since those options can be usefully used for /tmp for example)
+
+2005-02-24 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: mount_options.pm: fix typo
+
+2005-02-24 13:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: perl_cheker doesn't like a
+ line break between function name and parenthesis
+
+2005-02-24 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for new sata_qstor SATA
+ driver
+
+2005-02-24 11:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: explain
+
+2005-02-24 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix #13865: scan TV channels for
+ TV ocards that do not require any driver configuration
+
+2005-02-23 23:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: Drop banner,
+ using up too much window space. Perl_checker mods.
+
+2005-02-23 22:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - fix displaying "Advanced"
+ instead of "Basic" in advanced_state by default - cleanup
+
+2005-02-23 22:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Made possible modifying the
+ options on a non-Foomatic queue not set up with printerdrake.
+
+2005-02-23 21:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed bug of accentuated
+ characters in PPDs not correctly reproduced in the printer
+ options dialog.
+
+2005-02-23 19:35 vljubovic
+
+ * perl-install/share/po/bs.po: Fixes in Bosnian translation
+
+2005-02-23 19:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add norwegian ADSL providers
+ (Eskild Hustvedt)
+
+2005-02-23 19:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: remove all non-digit characters in
+ phone number (#10813)
+
+2005-02-23 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove spurious spaces
+
+2005-02-23 18:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: Fix missing \n
+
+2005-02-23 18:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ugtk2.pm: Force to open file selector as a modal
+ window (bug 13942)
+
+2005-02-23 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix usage of create_file_selector()
+
+2005-02-23 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix
+
+2005-02-23 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: cleanup is_xbox() here too
+
+2005-02-23 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) setup acerk for
+ another laptop (which doesn't need any option)
+
+2005-02-23 15:16 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: ukrainian tr-tion update
+
+2005-02-23 14:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: handle wpa_supplicant files
+
+2005-02-23 14:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: common.pm, detect_devices.pm, keyboard.pm,
+ Xconfig/monitor.pm, Xconfig/xfree.pm: XBox support - XFdrake
+
+2005-02-23 14:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-23 13:43 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-23 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: write code correctly
+
+2005-02-23 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: "pae" flag in the cpu is needed
+ for new kernel
+
+2005-02-23 11:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: SuSE also have "Hand Held" as a
+ laptop (ch_type in { 8, 9, 10, 11, 14 })
+
+2005-02-23 06:31 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: merge correctly between 1.352 and
+ 1.353
+
+2005-02-22 22:40 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic QA
+
+2005-02-22 21:26 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-22 20:42 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po files
+
+2005-02-22 19:45 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2005-02-22 18:52 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: finished translation for 10.2
+
+2005-02-22 18:21 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add CVS Id
+
+2005-02-22 18:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, net_applet: reuse the very
+ same message
+
+2005-02-22 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: merge missing strings from mcc's
+ domain
+
+2005-02-22 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, net_applet: unbreak blino
+ change: reuse string from mcc since that's what will be displayed
+ and allter *all* callers
+
+2005-02-22 17:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix location of hdlist for rpms
+ copied on disk
+
+2005-02-22 17:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: reflect new label from
+ drakconf
+
+2005-02-22 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (interactive_mode) typo fix
+
+2005-02-22 15:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ky.po: updated Kirghiz file
+
+2005-02-22 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.28mdk
+
+2005-02-22 14:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: disable activefw by default
+
+2005-02-22 14:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Corrected default
+ settings for printer auto-detection in beginner's mode
+
+2005-02-22 14:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2005-02-22 14:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-22 14:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: Verify free space
+ on disk for copying rpms
+
+2005-02-22 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, share/rpmsrate: adapt to new uim
+ splitting
+
+2005-02-22 10:25 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-22 00:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - Removed "gpr" from the packages
+ to be installed. It is taken from the distro because it is not
+ maintained anymore.
+
+2005-02-21 23:05 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-21 21:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: add an explanation about the
+ Gtk2::SimpleList workaround
+
+2005-02-21 21:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: uggly workaround of
+ Gtk2::SimpleList bugs
+
+2005-02-21 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix scim-anthy appearing twice
+
+2005-02-21 20:10 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-02-21 18:51 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: part. update
+
+2005-02-21 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: do URPM::add_macro in write_langs(), and
+ require URPM instead of using it (for now it's only used during
+ install) (bugzilla #13796)
+
+2005-02-21 14:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-21 13:30 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Translation fixes.
+
+2005-02-21 04:04 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-21 00:51 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: End of days work
+
+2005-02-20 12:07 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation
+
+2005-02-20 11:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker fixes
+
+2005-02-20 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: really use the file selection
+ message
+
+2005-02-20 11:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakfont: allow to select multiple files
+
+2005-02-20 11:00 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: New koi8-u font size. bug#13809
+
+2005-02-20 06:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: keyboard values for "lb" language.
+
+2005-02-20 05:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: - Let unsupported scanners
+ be visibly marked in the scanners list (bug #12049) - Load kernel
+ modules (and make them loaded on boot) if specified in ScannerDB
+ - Tell user if his scanner requires manual editing of config
+ files to work (the appropriate scanner models are marked in
+ ScannerDB)
+
+2005-02-20 01:25 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: End of another day
+
+2005-02-19 17:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: small typo fix
+
+2005-02-19 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: small fix
+
+2005-02-19 04:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: - Added support for the new keywords
+ MANUAL, MANUALREQUIRED, and KERNEL in the scanner database
+
+2005-02-19 02:05 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: More translations
+
+2005-02-18 21:00 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-18 20:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/detect_devices.pm: Detect XBox, don't probe for
+ floppy on XBox.
+
+2005-02-18 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: ensure the "range" entry returned
+ value is bounded as asked (useful for backends not handling
+ "range" correctly, like interactive::newt) (bugzilla #13744)
+
+2005-02-18 20:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove spurious spaces
+
+2005-02-18 20:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: indentation/spaces cleanups
+
+2005-02-18 20:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: show unprocessed attacks when
+ the applet starts
+
+2005-02-18 20:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: support GetReports method
+
+2005-02-18 19:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use ->ask_filename instead
+ of ->ask_file (esp. useful in "save" mode)
+
+2005-02-18 19:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools,
+ drakxtools.spec: don't package drakids for now
+
+2005-02-18 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: really fix the typo!
+
+2005-02-18 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2005-02-18 18:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - add HTTP support in media_browser
+ - HTTP support is non save only
+
+2005-02-18 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, diskdrake/interactive.pm,
+ standalone/XFdrake: factorize code in
+ ask_window_manager_to_logout_then_do()
+
+2005-02-18 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't reboot if the window
+ manager did not exit
+
+2005-02-18 18:29 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: translation update
+
+2005-02-18 18:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm: generated auto_install.cfg.pl
+ can contain a somewhat empty printer config, but not really empty
+
+2005-02-18 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't let upNetwork break
+ /etc/protocols when the install is not done yet
+
+2005-02-18 17:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: a small note so I don't forget why I did it
+ that way
+
+2005-02-18 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ partition_table.pm, diskdrake/interactive.pm: media_browser
+ returns a filehandle when non save
+
+2005-02-18 15:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: store attacks in a queue
+ instead of blocking DBus bus with a Gtk2 main loop
+
+2005-02-18 15:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated po file
+
+2005-02-18 15:42 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: fix using the mirror tree when there is
+ an iso at the root of the mirror but we don't use it (or can't
+ use it)
+
+2005-02-18 12:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: let the daemon handle the
+ blacklist policy in automatic mode
+
+2005-02-18 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: prefer uim-qt for japanese under KDE
+
+2005-02-18 11:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-02-18 09:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, sl.po: updated Slovenian file
+
+2005-02-18 09:27 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/rpmsrate: uim has a new gtk frontend
+
+2005-02-18 08:57 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with Arabeyes CVS -> 100%
+ Arabic translation :-)
+
+2005-02-18 04:45 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: lang.pm, share/rpmsrate: scim-chinese has been
+ renamed to scim-pinyin.
+
+2005-02-17 21:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-17 20:33 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-17 20:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checko cleanup
+
+2005-02-17 20:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: simplify
+
+2005-02-17 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: perl_checker fixes
+
+2005-02-17 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: titifix
+
+2005-02-17 18:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fix
+
+2005-02-17 18:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix typo
+
+2005-02-17 18:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fixes
+
+2005-02-17 18:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: standalone/drakgw, network/tools.pm: perl_checker
+ fixes
+
+2005-02-17 18:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: revert some previous commit
+
+2005-02-17 18:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: definitively get rid off
+ net_cnx scripts
+
+2005-02-17 18:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add get_default_device
+
+2005-02-17 18:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: net_cnx scripts shouldn't be used
+ anywhere now
+
+2005-02-17 18:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove unused
+ network::netconnect::get_net_device
+
+2005-02-17 18:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: remove unneeded test
+
+2005-02-17 18:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: standalone/drakgw, standalone/drakvpn,
+ network/shorewall.pm: use network::shorewall::get_net_device
+
+2005-02-17 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add and use
+ network::shorewall::get_net_device
+
+2005-02-17 18:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: don't use net_cnx_up anymore
+
+2005-02-17 17:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove set_cnx_script
+
+2005-02-17 17:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove write_cnx_script
+
+2005-02-17 17:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakgw: net_cnx scripts shouldn't be used
+ anymore
+
+2005-02-17 17:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: move drakids in /usr/bin
+
+2005-02-17 16:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: ship drakids in drakxtools
+
+2005-02-17 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: do not ship activefw.pm in
+ drakxtools-backend but in drakxtools
+
+2005-02-17 16:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile.config: ship drakids
+
+2005-02-17 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: only install gnome-volume-manager
+ for KDE & GNOME desktops
+
+2005-02-17 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: KDE uses gnome-volume-manager too
+
+2005-02-17 15:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile: probe.c is located in c/
+
+2005-02-17 15:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, br.po, cs.po, cy.po, da.po,
+ de.po, es.po, et.po, eu.po, fi.po, fr.po, he.po, is.po, it.po,
+ ltg.po, nb.po, nl.po, nn.po, pt.po, pt_BR.po, ru.po, sk.po,
+ sl.po, sr.po, sv.po, tg.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ zh_CN.po, zh_TW.po: updated Slovenian file; fixed various
+ MandrakeSoft -> Mandrakesoft etc.
+
+2005-02-17 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_any.pm: - create
+ dmidecode_category() - don't use field {string} when not needed -
+ better use regexps on dmidecode returned strings (even the kernel
+ use strstr)
+
+2005-02-17 13:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: clear white list too
+
+2005-02-17 12:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to enable automatic
+ mode from popup
+
+2005-02-17 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install cpufreqd on laptops w/o KDE
+ (#13697)
+
+2005-02-17 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use only one 'edge' ButtonBox
+
+2005-02-17 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: in case someone use
+ diskdrake only to create partitions, shut up the predefined mount
+ point automatic choice
+
+2005-02-17 01:16 Pjetur G. Hjaltason <pjetur at pjetur.net>
+
+ * perl-install/share/po/is.po: cleaning up more
+
+2005-02-16 22:08 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: More updates:)
+
+2005-02-16 19:18 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: install nautilus-filesharing when
+ installing nautilus
+
+2005-02-16 19:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: rollback
+
+2005-02-16 19:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/: compssUsers.pl, rpmsrate, po/af.po,
+ po/am.po, po/ar.po, po/az.po, po/be.po, po/bg.po, po/bn.po,
+ po/br.po, po/bs.po, po/ca.po, po/cs.po, po/cy.po, po/da.po,
+ po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po,
+ po/fa.po, po/fi.po, po/fr.po, po/fur.po, po/ga.po, po/gl.po,
+ po/he.po, po/hi.po, po/hr.po, po/hu.po, po/id.po, po/is.po,
+ po/it.po, po/ja.po, po/ko.po, po/ky.po, po/lt.po, po/ltg.po,
+ po/lv.po, po/mk.po, po/mn.po, po/ms.po, po/mt.po, po/nb.po,
+ po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po,
+ po/ru.po, po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr@Latn.po,
+ po/sv.po, po/ta.po, po/tg.po, po/th.po, po/tl.po, po/tr.po,
+ po/uk.po, po/uz.po, po/uz@Latn.po, po/vi.po, po/wa.po,
+ po/zh_CN.po, po/zh_TW.po: typo fix (Per Oyvind Karlsen)
+
+2005-02-16 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: include more EVMS packages
+
+2005-02-16 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2005-02-16 17:24 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: install desktop-printing when
+ installing GNOME
+
+2005-02-16 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-16 16:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use foreach (perl_checker)
+
+2005-02-16 16:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: fix whitelist display and
+ unwhitelist call
+
+2005-02-16 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-16 15:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-16 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fixes
+
+2005-02-16 14:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: use drakfirewall icon
+
+2005-02-16 14:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/activefw.pm, standalone/net_applet: rename
+ get_mode as get_interactive
+
+2005-02-16 14:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: add generic call_method sub to
+ factorize
+
+2005-02-16 14:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - If a printer
+ is set up with HPLIP and has still an old HPOJ configuration,
+ it will be automatically removed now.
+
+2005-02-16 14:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: handle Whitelist signal
+
+2005-02-16 14:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: typo fix
+
+2005-02-16 14:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/activefw.pm, standalone/drakids: handle
+ whitelist
+
+2005-02-16 14:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: allow to sort blacklist by date,
+ attacker or attack type
+
+2005-02-16 13:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.27mdk
+
+2005-02-16 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: better display of keyboard
+ layouts by using a tree (rationale: big pull-down menu is slow to
+ browse)
+
+2005-02-16 13:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-16 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list usb mice that have not
+ driver set as "Mouse:xxx" in usbtable (#13575)
+
+2005-02-16 10:47 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-16 10:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-updatemodules.pl: for the real 10_1, not
+ the 10_1-update branch
+
+2005-02-16 04:25 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: minor update
+
+2005-02-16 01:23 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation (sync with
+ arabeyes CVS)
+
+2005-02-15 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-15 21:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: az.po, bg.po, bn.po, br.po, ca.po, el.po,
+ eo.po, fi.po, gl.po, he.po, hi.po, hr.po, id.po, is.po, mk.po,
+ mt.po, pl.po, pt_BR.po, ro.po, ru.po, sl.po, sr.po, sr@Latn.po,
+ tg.po, th.po, tr.po, zh_TW.po: update
+
+2005-02-15 21:21 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: More updates again!:)
+
+2005-02-15 21:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sr@Latn.po: fixed cyrillic mix
+
+2005-02-15 20:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Force only ASCII letters,
+ numbers, and underscores being used in print queue names.
+
+2005-02-15 20:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: perl_checker fixes
+
+2005-02-15 20:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: delete unblacklisted entries
+ from the list
+
+2005-02-15 19:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: handle Init signal (look again
+ for daemon if received)
+
+2005-02-15 19:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: allow to look for daemon after
+ startup
+
+2005-02-15 19:40 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix bug 13661 : umounting a
+ supplementary CD wasn't done cleanly after failure
+
+2005-02-15 19:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: clear blacklist when needed
+
+2005-02-15 19:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: add quit button
+
+2005-02-15 19:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/af.po: update
+
+2005-02-15 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakids: initial import
+
+2005-02-15 18:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: add unblacklist
+
+2005-02-15 18:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo again
+
+2005-02-15 18:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix typo
+
+2005-02-15 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: be.po, ko.po, lt.po, lv.po, mn.po, ms.po,
+ sq.po, ta.po, uz.po: update
+
+2005-02-15 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove unneeded variable
+
+2005-02-15 18:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use network::activefw;
+
+2005-02-15 18:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/activefw.pm: initial import
+
+2005-02-15 18:08 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: Support media size
+ check when copying every rpm on HD
+
+2005-02-15 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: corrected encoding
+
+2005-02-15 17:55 Pixel <pixel at mandriva.com>
+
+ * tools/cvslog2changelog.pl: fix typo
+
+2005-02-15 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, diskdrake/interactive.pm: replace
+ load/save from floppy with using media_browser()
+
+2005-02-15 17:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: small fix
+
+2005-02-15 17:50 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Even more fixes:)
+
+2005-02-15 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: create
+ ->ask_filename and ->ask_directory to replace ->ask_file
+
+2005-02-15 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: _ask_dir and _ask_file now use FileChooser
+
+2005-02-15 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add FileChooser creation and rollback
+ ugly ->run thing (hopefully now unneeded)
+
+2005-02-15 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: small fix
+
+2005-02-15 16:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, be.po, br.po, el.po, eo.po,
+ fur.po, ga.po, hr.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mn.po,
+ ms.po, ro.po, sq.po, sr.po, sr@Latn.po, ta.po, th.po, tr.po,
+ uz.po, uz@Latn.po: automerging
+
+2005-02-15 16:52 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: More updates again
+
+2005-02-15 16:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2005-02-15 15:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Wait for CUPS being ready
+ before querying the printer states for the printer list in the
+ main window.
+
+2005-02-15 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't let table=c: break (special for
+ Frank Griffin)
+
+2005-02-15 14:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add peroyvind
+
+2005-02-15 12:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/is.po: updated po Icelandic file
+
+2005-02-15 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: oops, no per package
+ _requires_exceptions, only a global one, but that's ok to forget
+ alltogether about ther require perl(URPM) since we do require
+ urpmi explictly
+
+2005-02-15 10:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: we want drakxtools-backend requires
+ to be *low* (ie no perl-URPM nor packdrake)
+
+2005-02-15 05:44 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Lots of more fixes!!!
+
+2005-02-15 04:22 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Moremoremoremoremore fixes:)
+
+2005-02-15 02:14 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: More fixes!!:D
+
+2005-02-14 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: Chinese country names from Gnome
+
+2005-02-14 20:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker fix
+
+2005-02-14 19:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_any.pm: - Copy complete $printer structure
+ for installation records (all irrelevant was already removed by
+ printer::printerdrake::final_cleanup($printer), called in
+ install_steps_interactive.pm at the end of the "Summary" step.
+
+2005-02-14 19:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_steps.pm: - Updated for new printer drivers
+ packages.
+
+2005-02-14 19:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use real IP address
+
+2005-02-14 19:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Let printer autodetection
+ results get into /root/drakx/report.bug.gz
+
+2005-02-14 18:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: remove some debug code
+
+2005-02-14 18:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: proxy_configure: modify KDE
+ proxy settings too
+
+2005-02-14 17:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: active firewall support
+
+2005-02-14 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: add evms for advanced disk usage
+
+2005-02-14 17:23 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: partial update
+
+2005-02-14 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: format fix
+
+2005-02-14 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-02-14 16:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, vi.po: updated Vietnamese file
+
+2005-02-14 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: replace "Advanced" with
+ "Authentication method" (as suggested in bugzilla #11041)
+
+2005-02-14 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: typo fix (Arpad Biro)
+
+2005-02-14 15:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: detect.pm, printerdrake.pm: - Allow
+ setting the network printer auto-detection timeout in expert mode
+ - Let network not be scanned by default during printer
+ auto-detection in beginner's mode
+
+2005-02-14 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isTVcard) perl_checko cleanup
+
+2005-02-14 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.26mdk
+
+2005-02-14 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: (remove_module) handle removal
+ of cards (#7049)
+
+2005-02-14 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: handle removal of
+ cards (#7049)
+
+2005-02-14 13:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: - Fixed bug of network printers
+ without DNS hostname entry not detected - Longer timeouts for
+ "ping", as some network printers were missed - Suppressed stderr
+ output of called command line tools
+
+2005-02-14 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: better style
+
+2005-02-14 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (probeSerialDevices) simplify
+
+2005-02-14 08:33 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: Modified font settings for zh_CN and zh_TW,
+ 10pt would be fine to New Sung rather than 14pt.
+
+2005-02-14 01:29 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: Updates from Eskild Hustvedt:)
+
+2005-02-14 00:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Allow HPLIP
+ setup also when setting up the print queue manually.
+
+2005-02-13 22:30 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * drakconf, DrakX
+
+2005-02-13 20:38 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-13 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: protect against bad depth (may
+ occur on ppc?)
+
+2005-02-13 09:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-02-12 22:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-02-12 16:02 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translations
+
+2005-02-12 15:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, eu.po: updated Basque file
+
+2005-02-12 13:36 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2005-02-11 22:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add leedslite crypto driver (from
+ kernel-multimedia)
+
+2005-02-11 22:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/Makefile: list drivers in pcitable but not in list_modules
+
+2005-02-11 22:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add sedlfax driver
+
+2005-02-11 22:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add sis190 gigabit driver
+
+2005-02-11 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add adm8211 wireless driver (from
+ kernel-multimedia)
+
+2005-02-11 21:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: align
+
+2005-02-11 21:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm, kernel/list_modules.pm: add
+ snd-hdspm & snd-indigo
+
+2005-02-11 21:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm, kernel/list_modules.pm: add
+ snd-emu10k1x
+
+2005-02-11 21:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add cx88-blackbird and cx8800 drivers to
+ multimedia/tv
+
+2005-02-11 20:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add rhineget ethernet driver
+
+2005-02-11 20:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add avmfritz ISDN driver
+
+2005-02-11 20:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add w6692pci ISDN driver
+
+2005-02-11 20:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add dmx3191d SCSI driver
+
+2005-02-11 20:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add r8180 wireless driver (from
+ kernel-multimedia)
+
+2005-02-11 19:01 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-11 18:40 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Sort media names in recapitulative
+ message
+
+2005-02-11 17:02 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: translation update
+
+2005-02-11 16:41 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: GNOME is now using
+ gnome-volume-manager instead of magicdev
+
+2005-02-11 16:40 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: -install GNOME software if GNOME AND
+ KDE are selected at install -install gthumb instead of gqview
+ -install sound-juicer and rhythmbox for sound and GNOME
+
+2005-02-11 16:25 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/lang.pm: Don't use the RPM_LANG_INSTALL environment
+ variable anymore
+
+2005-02-11 16:20 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation + a few fixes
+
+2005-02-11 16:15 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated and fixed translation.
+
+2005-02-11 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.25mdk
+
+2005-02-11 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix removing a PCMCIA
+ controller
+
+2005-02-11 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/: advertising/10.pl, po/af.po, po/am.po,
+ po/ar.po, po/az.po, po/be.po, po/bg.po, po/bn.po, po/br.po,
+ po/bs.po, po/ca.po, po/cs.po, po/cy.po, po/da.po, po/de.po,
+ po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po,
+ po/fi.po, po/fr.po, po/fur.po, po/ga.po, po/gl.po, po/he.po,
+ po/hi.po, po/hr.po, po/hu.po, po/id.po, po/is.po, po/it.po,
+ po/ja.po, po/ko.po, po/ky.po, po/lt.po, po/ltg.po, po/lv.po,
+ po/mk.po, po/mn.po, po/ms.po, po/mt.po, po/nb.po, po/nl.po,
+ po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po,
+ po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr@Latn.po, po/sv.po,
+ po/ta.po, po/tg.po, po/th.po, po/tl.po, po/tr.po, po/uk.po,
+ po/uz.po, po/uz@Latn.po, po/vi.po, po/wa.po, po/zh_CN.po,
+ po/zh_TW.po: fix CD-ROM acronym
+
+2005-02-11 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: do not favor perl-GTK
+
+2005-02-11 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/modules.pm: add
+ various/crypto category (support for hardware accelerated crypto)
+
+2005-02-11 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) preload padlock
+ driver for VIA C3 that have RNG (crypto hw) enabled
+
+2005-02-11 14:25 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2005-02-10 22:03 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-02-10 19:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, sl.po: updated Slovenian file
+
+2005-02-10 19:27 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with arabic translation CVS
+
+2005-02-10 18:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/HACKING: add another required package (dmraid)
+
+2005-02-10 18:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install hotkeys even when KDE isn't
+ selected
+
+2005-02-10 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/list: include dmraid
+
+2005-02-10 17:57 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-10 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isTVcard) better style
+
+2005-02-10 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (probeSerialDevices) really
+ "install" serial modules
+
+2005-02-10 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2005-02-10 15:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-02-10 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix in 10.2-0.24mdk's
+ changelog
+
+2005-02-10 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.24mdk
+
+2005-02-10 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: do not complain about no tv
+ cards when there're but they do not require any configuration
+ beyond loading proper module (#7443, #11270 and the like)
+
+2005-02-10 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isTVcard) only look for drivers
+ configurable by drakxtv
+
+2005-02-10 15:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Tell that card reader is
+ USB storage in the HPLIP help text only if the device is actually
+ connected via USB.
+
+2005-02-10 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getTVcards) rely on
+ "multimedia/tv" category
+
+2005-02-10 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) typo fix
+
+2005-02-10 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) rely on
+ "multimedia/tv" category, thus managing more TV cards
+
+2005-02-10 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not detect speakers as
+ keyboards
+
+2005-02-10 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: rely on new "multimedia/webcam"
+ category for detecting webcams
+
+2005-02-10 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: cyber2000fb and ov518_decomp are webcam
+ drivers, not tv ones
+
+2005-02-10 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: mod_quickcam is now quickcam in
+ kernel-2.6.x
+
+2005-02-10 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: split multimedia/tv into multimedia/tv
+ and multimedia/webcam
+
+2005-02-10 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.2-0.23mdk's changelog
+
+2005-02-10 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.23mdk
+
+2005-02-10 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add another pci radio driver
+
+2005-02-10 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) minimal joystick
+ support: preload proper modules (though only those on sound cards
+ from Creative Labs and Fortemedia are detectable by
+ pci_probe()...)
+
+2005-02-10 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) simplify and
+ support multiple different AGP controllers (though unprobable)
+
+2005-02-10 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) minimal DVB
+ support: preload proper modules
+
+2005-02-10 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/detect_devices.pm: add
+ various/serial category and thus add support for mice and modems
+ connected to multiport serial cards
+
+2005-02-10 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/modules.pm: add
+ various/laptop category (only toshiba is detectable by
+ pci_probe() though...)
+
+2005-02-10 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/detect_devices.pm: add
+ network/modem category, thus adding support for ACP (Mwave)
+ modems
+
+2005-02-10 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mygtk2.pm: (main) fix FileSelection (inactive &
+ unusable window)
+
+2005-02-10 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ndiswrapper installing:
+ always install it if needed (btw run faster if already installed)
+
+2005-02-10 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix stepping back from lan
+ interface step (impossible when using ndiswrapper and when
+ there's only one interface)
+
+2005-02-10 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify ndiwrapper step
+ chaining
+
+2005-02-10 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-10 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: logibusmouse has been replaced by logibm
+ in kernel-2.6.x
+
+2005-02-10 11:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: atixlmouse and msbusmouse have been
+ replaced by inport in kernel-2.6.x
+
+2005-02-10 11:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: serial is now generic_serial for both
+ kernels 2.4.x and 2.6.x
+
+2005-02-10 04:53 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Added help
+ text for printers used with HPLIP. - Let "ask_warn()" messages
+ not embed in the wizard, this breaks the "Cancel" button (help
+ texts when MF device queue is added).
+
+2005-02-09 22:41 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-09 21:55 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Added reading the printing
+ technology type in the HPLIP model database.
+
+2005-02-09 20:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated po file
+
+2005-02-09 19:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2005-02-09 18:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Added automatic
+ setup of HP printers with HPLIP.
+
+2005-02-09 18:40 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: * translate the word "daemon" to
+ norwegian * various corrections
+
+2005-02-09 18:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.22mdk
+
+2005-02-09 18:03 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: updated
+
+2005-02-09 17:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ugtk2.pm: Add the possibility to call a callback
+ just after widget initialisation in
+ ask_browse_tree_info_given_widgets().
+
+2005-02-09 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Arabic-only fonts are useless for
+ "fa" or "ur" locales
+
+2005-02-09 17:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed arabic font for KDE ("Roya" doesn't
+ have ascii glyphs; "Terafik" does)
+
+2005-02-09 16:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Persian file
+
+2005-02-09 15:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-02-09 14:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, share/po/af.po, share/po/am.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/bn.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fa.po, share/po/fi.po, share/po/fr.po, share/po/fur.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hi.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/ky.po,
+ share/po/lt.po, share/po/ltg.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/nn.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tl.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: Make an error message more user-friendly
+
+2005-02-09 14:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: make perl_checko, the little bot,
+ happy
+
+2005-02-09 13:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove "Cancel" button from the
+ supplementary media selection window
+
+2005-02-09 13:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, sv.po: updated Swedish and
+ Norwegian files
+
+2005-02-09 13:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker fixes
+
+2005-02-09 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs.pm: (mount) let's support ntfs and reorder fs
+ list btw (#3653)
+
+2005-02-09 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle ntfs at install time (#3653)
+
+2005-02-09 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.21mdk
+
+2005-02-09 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in 10.1-14mdk's
+ changelog
+
+2005-02-09 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: prevent adding
+ spurious empty lines at end of /etc/hotplub/blacklist on stop
+
+2005-02-09 11:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list skge gigabit driver (new in kernels
+ 2.6.11-rcX-mmY)
+
+2005-02-09 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list all ide drivers (thus enabling to
+ modularize ide drivers)
+
+2005-02-09 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix ugly typo (especially causing
+ acpi to not be set in drakboot --boot)
+
+2005-02-09 03:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Added subroutine to parse HPLIP
+ device database XML file.
+
+2005-02-08 22:51 Per Øyvind Karlsen <peroyvind at mandriva.org>
+
+ * perl-install/share/po/nb.po: complete translation from Eskild:)
+
+2005-02-08 21:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Updated device destinctions
+ for HPOJ to the newest models.
+
+2005-02-08 20:58 vljubovic
+
+ * perl-install/share/po/bs.po: Update translation
+
+2005-02-08 20:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-02-08 19:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-02-08 18:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po: updated pot file
+
+2005-02-08 18:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po: updated pot file
+
+2005-02-08 18:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: translatable string already
+ in use
+
+2005-02-08 17:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed (worked around?) bug of
+ parallel HP MF devices not being set up correctly with HPOJ
+ (probably bad interaction with udev).
+
+2005-02-08 17:57 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-08 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: when the partition table is empty, try to
+ see if we are not using the plain disk
+
+2005-02-08 17:09 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/bs.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/fur.po, share/po/ga.po, share/po/gl.po, share/po/he.po,
+ share/po/hi.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/ky.po, share/po/lt.po, share/po/ltg.po, share/po/lv.po,
+ share/po/mk.po, share/po/mn.po, share/po/ms.po, share/po/mt.po,
+ share/po/nb.po, share/po/nl.po, share/po/nn.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: Better wording for a couple
+ of strings
+
+2005-02-08 16:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2005-02-08 16:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-02-08 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: add iso9660 in isOtherAvailableFS
+
+2005-02-08 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow mounting isOtherAvailableFS
+ filesystems read-only
+
+2005-02-08 15:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: gl.po, ko.po, ky.po, lt.po, ltg.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po, pl.po,
+ pt.po, pt_BR.po: updated pot file
+
+2005-02-08 15:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: detect.pm, printerdrake.pm: - Prevented
+ restarting of HPOJ and reloading the parallel port kernel modules
+ when printerdrake's queue generator is called by the hotplug
+ script.
+
+2005-02-08 15:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Corrected recognition of driver
+ name in Foomatic-generated PPDs. - Conserve auto-detection data
+ when a Foomatic printer entry is replaced by an entry from a
+ native PostScript PPD.
+
+2005-02-08 15:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, fa.po,
+ fi.po, fr.po, fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po: updated pot file
+
+2005-02-08 15:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Don't propose to copy RPMs on
+ disk for ISO installation method
+
+2005-02-08 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-27.5.101mdk
+
+2005-02-08 14:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, tr.po: updated pot file
+
+2005-02-08 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbug: cleanup this mess
+
+2005-02-08 13:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbug: "%s" is not a translatable thing
+ (changed N() -> translate())
+
+2005-02-08 13:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: synchronized
+ keyboards with X11; added second bengali layout; make Serbian
+ cyrillic use Serbian latin (isntead of "us") for latin layout
+
+2005-02-08 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: detect iso9660 filesystem
+
+2005-02-08 12:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.20mdk
+
+2005-02-08 12:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: start automatically net_applet in
+ fluxbox and XFce4 too
+
+2005-02-08 12:37 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/probing.c, perl-install/fs.pm,
+ perl-install/install2.pm, perl-install/modules.pm: new kernel
+ doesn't like usbdevfs any more, it wants usbfs
+
+2005-02-08 12:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: Added hplip-model-data package to
+ be installed.
+
+2005-02-08 11:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * docs/HACKING: Add some more necessary RPMs
+
+2005-02-08 11:33 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * Makefile: "images" target is phony
+
+2005-02-08 10:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: workaround perl limitation
+
+2005-02-08 10:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: {rwindow} is more probably a
+ mygtk2::MagicWindow
+
+2005-02-08 09:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-02-08 08:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/any.pm: Allow upper case letters in users' real
+ names.
+
+2005-02-08 03:47 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Menus and some more translation
+ fixes.
+
+2005-02-08 01:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Limited automatically
+ generated print queue names to 12 characters and warn user if he
+ manually enters longer names. Names longer than 12 characters
+ will make the printer unaccessible for certain Windows clients
+ (bug #12674).
+
+2005-02-07 23:31 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Some more translation fixes.
+
+2005-02-07 22:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, zh_TW.po: updated Farsi file
+
+2005-02-07 22:19 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: First round of translation fixes
+ ended...
+
+2005-02-07 21:34 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: conflicts between 1.336 & 1.337
+ solved
+
+2005-02-07 21:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-02-07 20:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2005-02-07 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2005-02-07 20:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot: updated pot file
+
+2005-02-07 19:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: select manual adsl connection
+ type if the network interface was static
+
+2005-02-07 19:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add missing methods
+
+2005-02-07 17:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Adjusted version number.
+
+2005-02-07 17:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: Use "hplip-hpijs" for HPIJS
+ package.
+
+2005-02-07 17:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Updated rpmsrate for new printing
+ packages
+
+2005-02-07 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new qla4xxx driver
+
+2005-02-07 14:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle new arcmsr driver (from
+ kernel-2.6.11-rc3-mm1)
+
+2005-02-07 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new ISDN driver hfc4s8s_l1
+
+2005-02-07 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new PCMCIA drivers from
+ kernel-2.6.11-rc3
+
+2005-02-07 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: ->get('window-position') should be done
+ on real_window
+
+2005-02-07 12:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: do not require perl-Gnome2-Gconf
+ in drakxtools, but use gconftool-2
+
+2005-02-07 11:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: make it easy to use other GConf
+ interfaces
+
+2005-02-07 10:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: really fix "Graphical
+ interface - not configured" bug
+
+2005-02-07 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: ensure some options are not set
+ for directories_needed_to_boot (bugzilla #13433)
+
+2005-02-07 10:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix setting @hdlists when
+ deselectionAllowed is false
+
+2005-02-07 02:46 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: More translation fixes.
+
+2005-02-06 22:11 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: More translation fixes.
+
+2005-02-06 18:34 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: More translation fixes.
+
+2005-02-06 16:35 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Fixed translations.
+
+2005-02-06 13:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: Added "hplip-hpijs-ppds" to be
+ installed when printerdrake is started.
+
+2005-02-06 03:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: Adapted
+ printerdrake to new printer drivers packages.
+
+2005-02-05 12:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: remove useless message
+
+2005-02-05 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: \w can match non-ascii characters, so
+ expanding it (bugzilla #13432). It would be better to remove
+ accents, but i don't know how to do it easily
+
+2005-02-05 04:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-02-05 04:48 Warly <warly at mandriva.com>
+
+ * perl-install/install_any.pm: fix copy_rpms_on_disks
+
+2005-02-05 03:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: basic ndiswrapper
+ support
+
+2005-02-05 01:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed LANGUAGE value for languages that
+ will need renaming in the future (ph->fil, ltg->LTG)
+
+2005-02-04 21:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: gnome proxy support in drakproxy
+
+2005-02-04 19:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.19mdk
+
+2005-02-04 19:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle bpalogin service
+
+2005-02-04 19:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fixes
+
+2005-02-04 18:56 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: beta 10.2 logo
+
+2005-02-04 18:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Better version to install urpmi with
+ copied RPMs
+
+2005-02-04 18:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Make install_urpmi work when having
+ copied every RPM on disk
+
+2005-02-04 17:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, zh_TW.po: updated French file;
+ corrected syntax errors in Chinese file
+
+2005-02-04 17:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add bpalogin support for
+ cable connections
+
+2005-02-04 17:05 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: call hdInstallPath only once
+
+2005-02-04 16:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2005-02-04 16:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove a debug trace, and
+ perl_checker fixes
+
+2005-02-04 15:51 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm, pkgs.pm: Add
+ support to copy all RPMs to the hard drive before installation.
+
+2005-02-04 15:36 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: Untranslated string
+
+2005-02-04 09:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: Fix zh_TW problem
+
+2005-02-04 06:08 Shiva Huang <blueshiva at giga.net.tw>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2005-02-03 19:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: in auto, $raw_X non empty is "ok"
+
+2005-02-03 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.18mdk
+
+2005-02-03 18:13 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2005-02-03 16:26 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabnic translation
+
+2005-02-03 15:45 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2005-02-03 15:23 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: CAT_X at Pixel's suggestion
+
+2005-02-03 15:08 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Always install mozilla-firefox when
+ NETWORKING_WWW is selected
+
+2005-02-03 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: cleanup
+
+2005-02-03 13:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-02-02 18:06 vljubovic
+
+ * perl-install/share/po/bs.po: Updating Bosnian translation
+
+2005-02-02 18:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: fix capi kernel drivers
+ installation
+
+2005-02-02 18:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: fix capi kernel drivers
+ installation
+
+2005-02-02 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: prefer beep-media-player over xmms
+
+2005-02-02 14:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: fix samba port range syntax
+
+2005-02-02 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new uli526x ethernet driver
+
+2005-02-02 12:25 Pixel <pixel at mandriva.com>
+
+ * rescue/: make_partimage_save_rest_all, make_rescue_img: add a
+ basic partimage save_all/rest_all feature
+
+2005-02-02 10:21 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2005-02-02 10:16 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-02-02 03:10 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-02-01 22:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, it.po: updated Italian and Welsh
+ files
+
+2005-02-01 21:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: supplement previous
+ half-fix
+
+2005-02-01 20:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: port 445 is used for Samba
+ (without NetBios)
+
+2005-02-01 20:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: use new range syntax for
+ smb
+
+2005-02-01 19:32 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-02-01 18:25 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updates
+
+2005-02-01 16:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Restore a bunch of translation that
+ have disappeared
+
+2005-02-01 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: like latest rxvt-CJK, rxvt-unicode
+ works fine with SCIM too, but is multilingual too (unlike rxvt)
+
+2005-02-01 15:52 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2005-02-01 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ga.po: update
+
+2005-02-01 11:48 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-02-01 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install rxvt-CJK with the same
+ priority as rxvt
+
+2005-02-01 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-02-01 10:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: check the given mount
+ points
+
+2005-02-01 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, loopback.pm, diskdrake/interactive.pm:
+ $hd is now unused, no need to pass it
+
+2005-02-01 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: ensure isLVM() works on both the VG and
+ the partitions (isLVM() on a part was already used once in
+ fsedit::check_mntpoint())
+
+2005-02-01 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: ensure {lv_name} is set for LVM partitions
+
+2005-01-31 21:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2005-01-31 21:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-01-31 17:56 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/.cvsignore, mdk-stage1/Makefile, mdk-stage1/modules.c,
+ mdk-stage1/network.c, mdk-stage1/network.h,
+ mdk-stage1/newt-frontend.c, mdk-stage1/stage1.c,
+ rescue/make_rescue_img: add a dhcp-client built using mdk-stage1
+ code
+
+2005-01-31 17:06 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: - have nothing talking about interactive
+ when SPAWN_INTERACTIVE is unset - same for SPAWN_SHELL
+
+2005-01-31 15:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2005-01-31 15:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2005-01-31 15:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2005-01-31 13:22 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't remove ending zeroes, it causes pbs: - it
+ seems some zeroes are used (at least for network.img) - loopback
+ mounted images can't be used - cdrom.img can't be used in mkisofs
+ anymore
+
+2005-01-30 22:18 Michal Bukovjan <bukovjan at mbox.dkm.cz>
+
+ * perl-install/share/po/cs.po: Updated Czech translations.
+
+2005-01-30 18:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-01-30 15:06 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: s/Disk/Hard Disk/. from Harddrake
+
+2005-01-30 14:55 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/harddrake/data.pm: s/Disk/Hard Disk/
+
+2005-01-30 11:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-01-29 10:22 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Small corrections (väljalasketeave
+ -> info väljalaske kohta + kasutaja õige -> lisa kasutaja).
+
+2005-01-28 19:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (console_font_files) perl_checker cleanup
+
+2005-01-28 19:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checker cleanup
+
+2005-01-28 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases)
+ simplify
+
+2005-01-28 14:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: typo fix (#12660)
+
+2005-01-28 14:08 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, modules.c: only prompt for "Additional
+ Drivers floppy" for network
+
+2005-01-28 13:53 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/modules.c: don't prompt if no modules, otherwise "Ok"
+ in ask_from_list_comments() gets a segfault
+
+2005-01-28 13:41 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: ensure switching between different install
+ methods do not break due to IMAGE_LOCATION (/sysroot/tmp/image
+ can be either symlink or a directory)
+
+2005-01-28 12:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - bump Glib/Gtk+2 requires -
+ 10.2-0.17mdk
+
+2005-01-28 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix PCMCIA autoconfig
+ in harddrake service
+
+2005-01-28 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: make --force force
+ harddrake to eeconfigure everything
+
+2005-01-28 10:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, fs/mount_options.pm, fs/type.pm:
+ - create fs::type::directories_needed_to_boot() and use it - for
+ removable drives used for / /usr and the like, ensure we check it
+ at boot time (bugzilla #13283)
+
+2005-01-28 07:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated po file
+
+2005-01-28 06:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2005-01-28 06:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/am.po: updated Amharic file
+
+2005-01-27 21:59 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - vincent danen patch (barely
+ tested)
+
+2005-01-27 18:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * make_boot_img: Don't default the boot.iso to cdrom installation
+ method (Pixel). This also fixes bug #13279.
+
+2005-01-27 16:41 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ gi/perl-install/share/po/da.po soft/drakstats/po/da.po
+
+2005-01-27 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-01-27 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: remove log
+
+2005-01-27 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: switch back to auto=yes :
+
+ > > the only problem with auto=yes is that it ignores the minor
+ number
+ > > specified and always uses the first avaliable minor number,
+ so you might
+ > > find /dev/md2 with minor 0, /proc/mdstat will call it based
+ on minor
+ > > number. This is going to get really confusing for users.
+ > > I was planning to fix this in upstream source, but i have not
+ been able
+ > > to find time to do it yet.
+ >
+ > ok, i fixed that in mdadm-1.8.0-2mdk
+ > there is a new option (auto=dev) that will create the device
+ file with
+ > the correct minor number based on the device name.
+ > so please put auto=dev instead of auto=yes in the
+ /etc/mdadm.conf
+ >
+ please hold the auto=dev change, the mdadm author feel this
+ should be the default behaviour for auto=yes, so i will upload a
+ new mdadm-1.9.0-0pre1.1mdk with fully working auto as soon as i
+ return to italy (this weekend i believe)
+
+2005-01-27 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: fix "mdadm package not installed" during
+ install (bugzilla #13259)
+
+2005-01-26 22:28 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated Norwegian Nynorsk
+ translation.
+
+2005-01-26 22:13 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Wizard, System Backup
+ configuration problems (#13235)
+
+2005-01-26 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: nicer description() (esp. when
+ the size is 0)
+
+2005-01-26 17:36 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: loopback modules are needed on every images
+ (bugzilla #13215)
+
+2005-01-26 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix commented code :)
+
+2005-01-26 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: drakx_version() is now in install_any
+
+2005-01-26 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools, drakxtools.spec,
+ standalone/convert: - move convert script from spec file into
+ standalone/convert - btw, do not try converting if uneeded
+
+2005-01-26 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.16mdk
+
+2005-01-26 14:57 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: have floppy images as small as possible
+
+2005-01-26 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm: drakx_version() is now in
+ install_any and use getFile() to get VERSION
+
+2005-01-26 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: xorg_version is 6.8.2
+
+2005-01-26 10:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix return value of method calls on
+ MagicWindow
+
+2005-01-26 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: ->size_request doesn't return anything on
+ the box, it is better done on the window (for rpmdrake)
+
+2005-01-26 10:05 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-01-26 09:55 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: main kernel should be i586-up-1GB to run on
+ C3 (bugzilla #13206)
+
+2005-01-26 09:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: fix (bugzilla #13197)
+
+2005-01-25 23:00 rstandtke
+
+ * perl-install/share/po/de.po: some additions and fixes
+
+2005-01-25 18:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, drakxtools.spec: Use the new --gui
+ option to urpmi for the drakxtools to ask for media change;
+ update the dependency of drakxtools on urpmi version accordingly.
+ Remove dependency on gurpmi.
+
+2005-01-25 16:15 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: build all.img (even for the non BOOT kernel), this
+ works for usb keys
+
+2005-01-25 16:14 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't pass $mnt around, use directly $tmp_mnt
+
+2005-01-25 14:31 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: factorize code in VERSION()
+
+2005-01-25 14:26 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: add comment
+
+2005-01-25 14:25 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: simplify (same timeout for everyone)
+
+2005-01-25 14:21 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: create syslinux_all_files() out of isolinux(), and
+ use it for boot_iso()
+
+2005-01-25 14:04 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: create syslinux_cfg_all() and cleanup using it
+
+2005-01-25 13:51 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: simplify (and remove entry "all", which is nearly
+ "alt0")
+
+2005-01-25 13:43 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: - factorize code in syslinux_cfg() - change the
+ data structure returned by entries_append()
+
+2005-01-25 13:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-01-25 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix rpmsrate_always_flags() not
+ applied (bugzilla #13177)
+
+2005-01-25 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: even if it still takes some time when
+ format is over, we don't want the progress bar to stay at 85%
+
+2005-01-25 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix previous commit (we don't want
+ devfsd anymore)
+
+2005-01-25 02:51 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Bugzilla 13138, 13139.
+ (portmap check, dhcpd.conf.pxe.include)
+
+2005-01-24 20:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2005-01-24 15:27 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: create /var/log
+
+2005-01-24 14:04 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix duplicate flag in rpmsrate
+
+2005-01-24 12:35 Marek Laane <bald at starman.ee>
+
+ * perl-install/share/po/et.po: Updated translation.
+
+2005-01-24 12:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, it.po: updated Welsh and Italian
+ files
+
+2005-01-24 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix wrong package name
+
+2005-01-23 21:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: removing code setting devfs=mount
+ or devfs=nomount
+
+2005-01-23 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: put the new option auto=dev instead of
+ auto=yes (see mdadm-1.8.0-2mdk)
+
+2005-01-23 14:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-01-22 21:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/hd_gtk.pm, standalone/drakboot,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakperm,
+ standalone/draksec, standalone/draksplash, standalone/drakups,
+ standalone/harddrake2, standalone/logdrake,
+ standalone/printerdrake: fix the various transient on {rwindow}
+ (or even {window} ?) not working anymore on the MagicWindow
+ (maybe the code could be simplified since it should now work even
+ when embedded (?))
+
+2005-01-22 19:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: allow using {real_window} instead of
+ {rwindow}{real_window} (esp. for set_transient_for for which we
+ can't easily do some magic)
+
+2005-01-22 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2005-01-22 14:57 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-01-22 13:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-01-21 20:34 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Drop quasi-pxe setup in
+ dhcp.conf as we can use real pxe now. Perl_checker fixes.
+
+2005-01-21 16:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.15mdk
+
+2005-01-21 16:22 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp, isolinux-graphic-simple.bmp: Test image for
+ 10.2 beta
+
+2005-01-21 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: fix check_valid()
+
+2005-01-21 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: - rename Xconfig::main::is_valid()
+ to Xconfig::main::check_valid() and return the cause of the error
+ - ensure an empty config file doesn't make it display "Your Xorg
+ configuration file is broken..."
+
+2005-01-21 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: do show_all on the real window (this is
+ used by drakloop)
+
+2005-01-21 13:55 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - main loop fix - remove
+ dead code - cleanups
+
+2005-01-21 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.14mdk
+
+2005-01-21 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: tag devices as bridges later so
+ that pcmcia controllers got a chance to be detected
+
+2005-01-21 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: updates from baud: - add
+ "Czech Republic|Cesky Telecom" - add "Switzerland|Tiscali.ch" -
+ add "Tunisia|Planet.tn" - add dns servers to "Israel|Bezeq"
+
+2005-01-21 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.13mdk
+
+2005-01-21 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: fix subdialogs when
+ embedded in mcc
+
+2005-01-21 11:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: fix banner's title by
+ initializing mcc domain before ugtk2
+
+2005-01-21 11:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po: typo fixes
+
+2005-01-21 10:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, standalone/keyboarddrake: minimal
+ XkbModel support
+
+2005-01-21 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: - don't write /etc/mdadm.conf when no raid
+ - use option "auto=yes" in mdadm.conf to ensure mdadm will create
+ /dev/mdX devices when needed (those are not there when using
+ udev and neither kernel raid autostart nor initrd created the
+ raid)
+
+2005-01-20 18:57 Pixel <pixel at mandriva.com>
+
+ * rescue/dirs: not useful anymore (maybe others are unneeded too?)
+
+2005-01-20 18:56 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: we want /mnt at the root of the
+ rescue
+
+2005-01-20 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/shorewall.pm,
+ standalone/drakconnect: restore previous
+ network::ethernet::get_eth_cards_names() behaviour (i got hit by
+ { map ... }; being a block and not a hash ref)
+
+2005-01-20 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: add lspcidrake
+
+2005-01-20 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm: snd-azx
+ was renamed as snd-hda-intel in ALSA's CVS, so let's prepare
+ ground for future
+
+2005-01-20 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/modules.pl: handle disk install from SATA drives
+
+2005-01-20 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) simplify through
+ modules::append_to_modules_loaded_at_startup_for_all_kernels()
+
+2005-01-20 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm:
+ (append_to_modules_loaded_at_startup_for_all_kernels) introduce
+ it (wrapper around append_to_modules_loaded_at_startup())
+
+2005-01-20 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (default_packages) handle buggy
+ laptops that're unusable without laoding acerhk module
+
+2005-01-20 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - farsync & sdladrv are wan drivers, so
+ move them out of ethernet list into new wlan list - list other
+ wlan drivers
+
+2005-01-20 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: fix typo in comment
+
+2005-01-20 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing drivers: - pcips2 serial
+ driver - dpc7146 & zr36067 tv drivers
+
+2005-01-20 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing cx8800 tv driver
+
+2005-01-20 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing drivers: - synclinkmp serial
+ driver - sungem & sunhme net drivers - fm801-gp, lightning, ns558
+ & vortex joystick driver - it821x & megaraid_mbox RAID driver
+ (first new one being new in 2.6.10, second one having been
+ added in 10.1_64bit)
+
+2005-01-20 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm:
+ (load_category__prompt_for_more) - fix missing help for SCSI -
+ display it too for non SCSI disks that're handled as SCSI ones
+ (USB, Firewire, SATA, raid ...)
+
+2005-01-20 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/modules.pl: sync with list_modules.pl
+
+2005-01-20 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: comment
+
+2005-01-20 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm, perl-install/modules/interactive.pm:
+ move SATA in its own category
+
+2005-01-19 18:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: use ->ask_from instead of
+ ->ask_from_listf (keeping the same GUI behaviour)
+
+2005-01-19 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (switch) add hint for translator
+
+2005-01-19 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.12mdk
+
+2005-01-19 10:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakconnect: adapt to new
+ network::ethernet::get_eth_cards_names() prototype
+
+2005-01-19 00:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: corrected "default:LTR" translation
+
+2005-01-19 00:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, eu.po, uz.po, uz@Latn.po: updated
+ Basque files; corrected "<control>X" translations for non-latin
+ keyboards
+
+2005-01-18 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix generating compssUsers.flat (was broken
+ because of the CAT_xxx switch)
+
+2005-01-18 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix broken focus during install
+
+2005-01-18 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: fix *old* typo
+
+2005-01-18 14:51 Pixel <pixel at mandriva.com>
+
+ * Makefile: fix building images
+
+2005-01-18 14:42 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/rescue-gui.c: VERSION is now DISTRIB_VERSION
+
+2005-01-18 14:39 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: include gi/Makefile.config to have
+ DISTRIB_DESCR defined
+
+2005-01-18 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: auto_install compatibility:
+ CAT_SYSTEM used to be selected by default
+
+2005-01-17 21:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla 13056 - custom cron
+ setup
+
+2005-01-17 21:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla 13056 - custom cron
+ configuration
+
+2005-01-17 20:42 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-01-17 20:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix backward compatibility
+
+2005-01-17 18:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require dmidecode in -backend
+ subpackage
+
+2005-01-16 20:47 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo e jorge
+
+2005-01-16 16:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: when reading an existing X config
+ file, ensure it is not too bad, otherwise propose to start from
+ scratch (bugzilla #8548)
+
+2005-01-16 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: don't be too picky on uppercase or
+ lowercase sections
+
+2005-01-16 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm, Xconfig/main.pm,
+ Xconfig/various.pm: move setupFB() in Xconfig, and do it when
+ needed (including when standalone)
+
+2005-01-16 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix syntax error
+
+2005-01-16 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: mapdrive should not bother
+ same_entries()
+
+2005-01-16 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: make perl_checker happy
+
+2005-01-16 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, Xconfig/main.pm,
+ standalone/XFdrake: for Driver fbdev, rework to allow configuring
+ vga= in bootloader and telling to reboot instead of restarting X
+ server (now i simply need to configure bootloader in
+ Xconfig::main::write() when need_reboot)
+
+2005-01-16 11:55 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-01-16 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: if the window is
+ not modal, the main XFdrake window can block it :-(
+
+2005-01-16 11:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix auto_install graphic card
+ configuration (when one specify the Driver)
+
+2005-01-16 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: MagicWindow: - hide is done on the window
+ if popped - show is done on both the window and the child (to
+ handle initial show on the window, and show after a hide on the
+ child)
+
+2005-01-16 09:28 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-01-15 19:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: in read_grub(), setting {table} cause
+ write_grub to create a {mapdrive} even when we didn't have one
+ (bugzilla #12307)
+
+2005-01-15 19:00 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img: add a VERSION file in boot.iso to allow
+ its identification (as suggested on cooker)
+
+2005-01-15 18:57 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: adapt to list_modules.pm changes
+
+2005-01-15 18:56 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: fix titi! uh, no fix titi's commit
+ (easier) (we should vote for the worse commit ever, 1.137 will
+ have a good place)
+
+2005-01-15 18:44 Pixel <pixel at mandriva.com>
+
+ * Makefile.config, mdk-stage1/Makefile, mdk-stage1/config-stage1.h,
+ mdk-stage1/stage1.c, rescue/Makefile, rescue/make_rescue_img,
+ rescue/tree/etc/issue: factorize the distrib version
+
+2005-01-15 18:16 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: fix typo
+
+2005-01-15 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: gtk2 progress bar when formatting ext3
+
+2005-01-15 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: change packing for the widgets
+ given
+
+2005-01-15 17:55 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-01-15 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm, interactive/gtk.pm: - move
+ set_main_window_size() from ugtk2 to mygtk2 - call it in
+ MagicWindow creation
+
+2005-01-15 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: fix using gtkset with text => ... on a
+ Button
+
+2005-01-15 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: allow passing gtk widgets to
+ ->wait_message
+
+2005-01-14 23:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: MagicWindow is now really magic, {rwindow}
+ and {window} can be the same thing :)
+
+2005-01-14 23:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: create wrapper object mygtk2::MagicWindow
+ which handles the {rwindow} vs {window} duality
+
+2005-01-14 23:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - fix displaying wait_message -
+ restore previous display of the wait_message during install (is
+ that better ?)
+
+2005-01-14 22:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: this warning is stupid
+ during install
+
+2005-01-14 19:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: since dmidecode can fail to
+ properly detect a floppy drive, don't use it during install
+ (where we don't care if it's a bit slow)
+
+2005-01-14 19:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2005-01-14 18:57 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: More translation
+
+2005-01-14 17:58 Pixel <pixel at mandriva.com>
+
+ * tools/hd_grub.cgi: fix typo
+
+2005-01-14 16:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: fix switching back nsswitch.conf
+ to local authentication (bugzilla #13024)
+
+2005-01-14 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix crash on opening help
+ windows
+
+2005-01-14 11:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eo.po: updated Esperanto file
+
+2005-01-14 11:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated po file
+
+2005-01-13 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: tag SATA drivers as such
+
+2005-01-13 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: 3w-9xxx, 3w-xxxx and mptscsih really are
+ hardware raid
+
+2005-01-13 20:50 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-01-13 10:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix bugzilla #12996
+
+2005-01-12 19:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: have separate SizeGroup's for
+ advanced and non advanced entries
+
+2005-01-12 18:59 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: don't die when we can't
+ update_kernel_from_repository
+
+2005-01-12 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.11mdk
+
+2005-01-12 17:32 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c, perl-install/Makefile: use /etc/init instead
+ of /sbin/init to allow umounting clp in init
+
+2005-01-12 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display the menubar and the
+ banner when embedded
+
+2005-01-12 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: we don't need the clp read-write (if
+ it is read-only it allows remounting /mnt ro)
+
+2005-01-12 14:31 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/init.c: fix buggy blino commit which caused install
+ failures to cause reboot without prompting
+
+2005-01-12 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: return the child when
+ MagicWindow is using the $::WizardWindow (otherwise the user of
+ the MagicWindow can destroy the WizardWindow)
+
+2005-01-12 14:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change in 10.2-0.10mdk
+
+2005-01-12 14:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.10mdk
+
+2005-01-12 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: write in lilo.conf the global root=
+ (bugzilla #12312)
+
+2005-01-12 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: remove debug code
+
+2005-01-12 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: show banner when embedded
+
+2005-01-12 13:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: rewrite wait_messageW using
+ mygtk2
+
+2005-01-12 13:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: - fix gtkadd() - fix displaying banner -
+ no banner if no ::Wizard_title (as used to be)
+
+2005-01-12 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add user specific shell support in
+ create_user (Nicolas Planel)
+
+2005-01-11 20:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2005-01-11 20:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) do not rerun
+ dmidecode on machines that do not support it
+
+2005-01-11 17:57 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/any.pm: add user specific shell support in
+ create_user
+
+2005-01-11 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm, interactive/gtk.pm: create
+ "MagicWindow" in mygtk2 out of ugtk2::new()
+
+2005-01-11 14:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install ivtv packages since
+ it's already in the kernel (it wasn't in our pcitable due to the
+ lack of MODULE_DEVICE_TABLE)
+
+2005-01-11 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ivtv & zaptel dkms packages were
+ renamed
+
+2005-01-11 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: mygtk2::_gtk() takes an hash ref to allow
+ checking the resulting hash
+
+2005-01-11 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify away thing already done in
+ %window_options
+
+2005-01-11 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: move ugtk2::create_window()
+ to mygtk2::_create_Window()
+
+2005-01-11 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: change
+ set_main_window_size() prototype
+
+2005-01-11 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: - create mygtk2::main() - get
+ rid of setting {destroyed}, use a local variable instead
+
+2005-01-11 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, run_program.pm: do not log the encrypted
+ password
+
+2005-01-11 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify (no need to protect against
+ double destroy anymore)
+
+2005-01-11 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: {window}->show is already done in ->new
+
+2005-01-11 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: show advanced languages by default
+
+2005-01-11 10:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: better comment
+
+2005-01-11 10:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: the ugly gtkset_mousecursor_wait() done on
+ destroy is not called often nowadays, and not very useful either
+ since the wait cursor is only on the root window, and since
+ install use isWizard, the root window is not often seen. We
+ should at least also set the wait cursor on the $::WizardTable
+
+2005-01-11 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm: fix typo
+
+2005-01-11 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - $current_window can be local to ugtk2,
+ so do it that way - create force_keyboard_focus()
+
+2005-01-11 10:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: better comments
+
+2005-01-11 10:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, ugtk2.pm, Xconfig/test.pm:
+ we always have force_focus when we have !$::isStandalone, so do
+ it that way and get rid of $ugtk2::force_focus
+
+2005-01-11 09:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, ugtk2.pm: remove
+ $ugtk2::force_center_at_pos, inline it instead
+
+2005-01-11 09:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: cleanup
+
+2005-01-11 09:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: help size doesn't need anything
+ special anymore
+
+2005-01-11 09:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm: don't fake a ugtk2, use pure
+ mygtk2 instead
+
+2005-01-11 09:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: no need to set title to 'skip' (it
+ was used by aewm-drakx)
+
+2005-01-11 09:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: no need to set widget name to Title (what
+ was it used for?)
+
+2005-01-11 09:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: more consistent naming
+
+2005-01-11 09:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: help initial positioning of window during
+ install (since position_policy center-on-parent only works with a
+ window manager, we can't get rid of force_center_at_pos)
+
+2005-01-11 09:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: revert bad commit
+
+2005-01-11 09:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: install_gtk::create_help_window is
+ unused, removing it
+
+2005-01-11 09:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm:
+ install_gtk::create_help_window is unused, removing it
+
+2005-01-11 09:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: add comments
+
+2005-01-10 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: move some now common things in
+ _create_window()
+
+2005-01-10 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: more installing special install shortcuts
+ in _create_window() (there is no reason for not having the
+ shortcuts when the window has pop_it)
+
+2005-01-10 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, Xconfig/test.pm: - XFdrake test is not
+ standalone, it is the non install nor standalone state (used
+ when there is no window manager) - get rid of now unused
+ $ugtk2::force_center
+
+2005-01-10 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: dont_run_directly_stage2 and trace_stage2
+ needs the live, not the clp
+
+2005-01-10 17:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: use {icon_no_error} instead of {icon}
+
+2005-01-10 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: create {icon_no_error}
+
+2005-01-10 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: rewrite
+
+2005-01-10 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: rewrite
+
+2005-01-10 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: the test is not useful, we can't get to
+ this code when $::isEmbedded is set
+
+2005-01-10 16:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: emove unused feature
+
+2005-01-10 16:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: $ugtk2::pop_it is unused
+
+2005-01-10 16:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: simplify using {pop_it}
+
+2005-01-10 16:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2005-01-10 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, lang.pm: - add vera fonts (normal and
+ bold) - generate fonts.dir and fonts.cache-1 - take cursor.pcf.gz
+ from system
+
+2005-01-10 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add /etc/fonts/fonts.conf
+
+2005-01-10 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: - remove cursor.pcf.gz (now
+ taken from system) - generate fonts.dir and fonts.cache-1
+
+2005-01-10 14:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/drakxtools.spec: Require urpmi 4.6.11 (for
+ --expect-install)
+
+2005-01-10 14:44 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/do_pkgs.pm: Add --expect-install to the options
+ passed to urpmi to install packages, so do_pkgs::install() can
+ return 0 or true depending on whether some packages were actually
+ installed.
+
+2005-01-10 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install zaptel packages if needed
+
+2005-01-10 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: simplify
+
+2005-01-10 13:07 Pixel <pixel at mandriva.com>
+
+ * rescue/list: rsync is useful too
+
+2005-01-10 13:06 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/inittab: use "mingetty --autologin" instead of
+ calling directly "bash --login", that way the shell has a valid
+ controlling terminal (CTTY, accessed via /dev/tty). This is
+ needed for ssh to work
+
+2005-01-10 12:36 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Silent install of
+ terminal-server if needed (--X is deprecated)
+
+2005-01-10 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ivtv driver
+
+2005-01-10 12:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install ivtv packages if needed
+
+2005-01-10 12:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Don't use deprecated urpmi
+ --X option
+
+2005-01-10 10:56 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: have /dev rw (eg: for /dev/initctl)
+
+2005-01-10 09:57 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add what Lord Packdrakeng.pm request
+
+2005-01-10 09:47 Pixel <pixel at mandriva.com>
+
+ * rescue/list: minimal ssh tools (alas it doesn't on console 1
+ because /dev/tty is allocated properly, it needs fixing)
+
+2005-01-10 09:46 Pixel <pixel at mandriva.com>
+
+ * rescue/dirs: at least be able to mount /dev/pts if needed
+
+2005-01-09 22:35 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2005-01-09 21:22 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2005-01-08 22:30 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: install scim-chewing if zh is selected by
+ localedrake. Fix font setting for zh_CN.
+
+2005-01-08 19:38 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-01-08 18:04 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Updated translation.
+
+2005-01-07 18:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed chinese font names
+
+2005-01-07 18:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: new fonts-ttf-chinese package
+
+2005-01-07 16:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated po file
+
+2005-01-07 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakclock: simplify
+
+2005-01-07 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: $w->{isEmbedded} is
+ unused
+
+2005-01-07 16:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: $w->{isWizard} is
+ unused
+
+2005-01-07 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: $o->{force_center} is unused
+
+2005-01-07 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: no icon during install
+
+2005-01-07 13:55 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/keyboard.pm: Make %lang2keyboard a global variable,
+ so it can be overriden in a patch file
+
+2005-01-07 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify using mygtk2
+
+2005-01-07 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add "Plug"
+
+2005-01-06 21:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-01-06 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2005-01-06 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.9mdk
+
+2005-01-06 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify
+
+2005-01-06 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix typo (thanks to perl_checker)
+
+2005-01-06 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install2.pm, install_any.pm,
+ install_gtk.pm, ugtk2.pm: - move some install specific code out
+ of ugtk2.pm into install_gtk.pm - move some install specific code
+ out of common.pm into install_any.pm
+
+2005-01-06 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - change _create_window() prototype to be
+ more "mygtk2" like - use more mygtk2 properties - create and use
+ wm_icon() (until all this crap is cleaned) (drop $o->{wm_icon}
+ which is unused)
+
+2005-01-06 16:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, et.po: updated Welsh and Estonian
+ files
+
+2005-01-06 15:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add {icon} for Window
+
+2005-01-06 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: merge Window and Dialog creation
+
+2005-01-06 12:10 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/doc/UPDATEMODULES: fix
+
+2005-01-06 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: allow setting padding for pack_start, but
+ only globally (it works like spacing, but also include spacing at
+ beginning, and at end)
+
+2005-01-06 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: add {position_policy} for Window
+
+2005-01-06 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, loopback.pm,
+ raid.pm, diskdrake/interactive.pm, fs/format.pm: -
+ fs::format::part_raw() now takes $wait_message to allow
+ displaying the progress of format - create
+ fs::format::wait_message() which creates a $wait_message valid to
+ give to fs::format::part - fs::format::mke2fs() format while
+ parsing the output to display the progress
+
+2005-01-06 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_steps.pm: fs::formatMount_all()
+ parameter wait_message is no more optional (though you can give
+ undef)
+
+2005-01-06 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: on a label, we must use
+ ->get_text, not ->get
+
+2005-01-06 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: update UIM config for uim-0.4.5 (UTUMI
+ Hirosi)
+
+2005-01-06 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: remove unused variables
+
+2005-01-06 10:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, standalone/draksec: remove
+ unused variable
+
+2005-01-06 10:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: cleanup unused variables
+
+2005-01-05 22:32 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/urpmi/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2005-01-05 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.8mdk
+
+2005-01-05 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: fix selecting
+ "other" keyboard when @best <= 1
+
+2005-01-05 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (migrate_device_names) fix message
+
+2005-01-05 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: don't set fs_type to ext2:vfat
+ for ext3 or reiserfs /home coming from usb key (bugzilla #9827)
+
+2005-01-05 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm: add a
+ couple of new ALSA drivers (from CVS)
+
+2005-01-05 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install echomixer if needed
+
+2005-01-05 11:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: part2wild_device_name('', $part) is better
+ than devices::make($part->{device}) (esp. for nfs "devices")
+
+2005-01-05 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, network/smb.pm: handle spaces in username
+
+2005-01-05 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: switch default IM to scim-chewing
+ for zh_TW
+
+2005-01-04 23:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hr.po: updated Croatian file
+
+2005-01-04 23:14 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: backport s/jp/ja/ fix from HEAD
+
+2005-01-04 22:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-01-04 21:46 Pixel <pixel at mandriva.com>
+
+ * rescue/list: ld-linux.so.2 is also needed on the rescue :)
+
+2005-01-04 20:04 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/init.c: ensure /tmp/syslog in stage2 contains the full
+ log
+
+2005-01-04 18:25 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: ensure /tmp/syslog in stage2 contains the
+ full log (currently stage2 init was writing in a file shadowed by
+ stage2 copying the /stage1/tmp/syslog over its file)
+
+2005-01-04 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install hotkeys in order to have
+ working special keys on internet/multimedia laptop keyboards
+
+2005-01-04 13:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2005-01-04 13:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-01-04 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update ADSL ISPs list
+
+2005-01-04 00:17 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla 12861 - Directories
+ with spaces Mandrakeclub - Perms too relaxed on tarballs
+ perl_checker compliance
+
+2005-01-04 00:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla 12861 - Directories
+ with spaces Mandrakeclub - Perms too relaxed on tarballs
+ perl_checker compliance
+
+2005-01-04 00:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla 12861 - Directories
+ with spaces Mandrakeclub - Perms on tarballs too relaxed
+ perl_checker compliance
+
+2005-01-03 19:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: a somewhat nicer message
+ when loading a module
+
+2005-01-03 18:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/do_pkgs.pm: '--best-output' is no longer an urpmi
+ option (and it's not necessary anyway since --auto is specified)
+
+2005-01-03 18:01 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/harddrake/data.pm, perl-install/network/ethernet.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm: move and rename
+ network::ethernet::get_eth_categories() into
+ list_modules::ethernet_categories() (it's closer to the
+ definition of the categories)
+
+2005-01-03 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, steps.pm: "Administrator
+ (root)" is more user-friendly than "root"
+
+2005-01-03 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add another wifi driver (will be in next
+ kernel)
+
+2005-01-03 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (migrate_device_names) try to be
+ smarter with translators
+
+2005-01-03 16:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: default security level is now 3
+
+2005-01-03 16:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps.pm: Make do_pkgs::install() return the
+ number of packages actually installed (used by printerdrake,
+ apparently)
+
+2005-01-03 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: remove codepage= option for fs
+ types which don't handle it (eg: ntfs)
+
+2005-01-03 16:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: create can_be_one_of_those_fs_types()
+
+2005-01-03 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm, kernel/list_modules.pm: add
+ another sparc sound driver
+
+2005-01-03 14:54 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: init.c, stage1.c: ensure /tmp/syslog in stage2
+ contains the full log (currently stage2 init was writing in a
+ file shadowed by stage2 copying the /stage1/tmp/syslog over its
+ file)
+
+2005-01-03 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: no clp is not an error
+
+2005-01-03 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, install2.pm, install_any.pm: move
+ mdkinst.clp on hard drive ASAP => allows multi-cd installs even
+ if the mdkinst.clp was not preloaded => allows to better memory
+ handling during pkgs install (hopefully at least)
+
+2005-01-03 13:55 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/tools.c: it's cleaner to have the clp_tmpfs in /tmp (i
+ think it was already that way for move and that i broke it, but
+ who knows?)
+
+2005-01-03 13:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2005-01-03 12:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2005-01-03 11:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: - enabled choice of various new
+ keyboard layouts. - don't prepend "us," if there is already a
+ list of layouts
+
+2005-01-03 02:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2005-01-03 02:14 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: s/jp/ja. Corrected spelling of locale ja
+
+2004-12-31 19:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: simplify (we always want the logo,
+ and looking the right path is already done elsewhere)
+
+2004-12-31 19:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: no need to have things twice in
+ _icon_paths()
+
+2004-12-31 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: ldd doesn't say anymore which file
+ ld-linux is, so adding it explicitly
+
+2004-12-31 10:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: better layout: - ensure buttons
+ are at bottom using pack_end instead of packing a growing empty
+ vbox for ask_warn-like dialogs - drop old code - always allow box
+ to grow (this may be wrong)
+
+2004-12-31 10:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: simplify (thanks to
+ perl_checker)
+
+2004-12-31 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: remove code using
+ getAndSaveFile to get the X server (we don't have live directory
+ anymore, and anyway we only use one X server)
+
+2004-12-30 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: more spacing around the separator and the
+ buttons (as requested by ergonomy team)
+
+2004-12-30 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: finish backporting HEAD changes
+ for finish-install (any::write_passwd_user() doesn't exist
+ anymore)
+
+2004-12-29 19:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, lvm.pm: move device mapper
+ initialisation out of lvm.pm into devices.pm (since it will be
+ useful for other things)
+
+2004-12-29 19:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: simplify and speed up computeGroupSize()
+
+2004-12-29 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: in computeGroupSize() - fix old ugly bug
+ (CAT_FOO && CAT_BAR || CAT_FOO was reduced to CAT_FOO &&
+ CAT_BAR) - log the time spent - ignore already selected packages
+ - group by same rpmsrate flags (nice speedup :)
+
+2004-12-29 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: when computing group
+ size, select CAT_SYSTEM packages
+
+2004-12-28 18:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: - add can_default - remove known_opts
+ (alike the rest of the code)
+
+2004-12-28 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix overlap
+
+2004-12-28 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: re-organize steps display as
+ requested by ergonomic team
+
+2004-12-28 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ pkgs.pm: - create set_rpmsrate_category_flags(),
+ set_rpmsrate_default_category_flags(), default_packages(),
+ rpmsrate_always_flags() replacing setDefaultPackages() - create
+ select_default_packages() - apply "always" rpmsrate flags ASAP
+ and skip packages with flag "FALSE" in computeGroupSize() => 30%
+ speed-up
+
+2004-12-28 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix displaying package tree
+ (was empty since moving from XXX to CAT_XXX)
+
+2004-12-24 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ share/rpmsrate: differentiate compssUsers flags from non-user
+ modifiable flags (eg: hardware flags)
+
+2004-12-24 09:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: "Samba server" is better
+ named "Windows Files Sharing (SMB)" (bugzilla #10585)
+
+2004-12-23 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump require on perl in order to
+ prevent beakage on update due to binary incompatibility (#12719
+ and the like)
+
+2004-12-23 16:17 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * tools/checkusedmodules: Add a new check script in tools. It
+ compares the perl modules used by the .pm files in perl-install
+ against the ones listed in share/list, to detect potential
+ missing modules (and potential run-time problems during the stage
+ 2)
+
+2004-12-23 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo in 10.2-0.7mdk's changelog
+
+2004-12-23 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.7mdk
+
+2004-12-23 13:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add a couple of new ALSA drivers
+
+2004-12-23 10:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: fix
+ Xconfig::default::configure() use
+
+2004-12-23 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: "XFdrake --auto" is now fully
+ auto using auto_install configuration instead of "as much auto as
+ can be"
+
+2004-12-23 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: - don't ask X to restart in auto
+ mode - set exit status to 1 when configuration failed (esp. auto
+ mode)
+
+2004-12-22 23:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: "snd-audigyls" ALSA driver was
+ renamed "snd-ca0106" in ALSA CVS; let's have our tools be aware
+ of that once our kernel got synced
+
+2004-12-22 23:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle new snd-pcxhr driver from
+ alsa CVS
+
+2004-12-22 23:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install proper tools for Digigram
+ PCXHR sound card
+
+2004-12-22 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: simplify
+
+2004-12-22 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: no need to use
+ max_size, no need to compute it
+
+2004-12-22 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix previous commit
+
+2004-12-22 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: create read_rpmsrate_raw() out of
+ read_rpmsrate(), this new function can be easily used outside
+ install
+
+2004-12-22 09:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install2.pm: add option no_bad_drives
+ (to workaround bugzilla #12766)
+
+2004-12-21 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: /proc/sys/kernel/modprobe wants
+ something non empty, otherwise it doesn't change anything
+
+2004-12-21 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, fs.pm, install_steps.pm: - fs::mount()
+ wants a real device or a faked one, but doesn't accept things
+ like fd0 anymore (give it /dev/fd0) - a little more robust
+ analyze_wild_device_name() during install - handle bad things in
+ subpart_from_wild_device_name()
+
+2004-12-21 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: crypto.pm, install_any.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm, pkgs.pm:
+ don't pass prefix, use $::prefix
+
+2004-12-21 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ network/netconnect.pm, printer/printerdrake.pm,
+ standalone/drakconnect: don't pass prefix to
+ network::netconnect::main() (it doesn't use it)
+
+2004-12-21 13:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, commands, commands.pm, install_any.pm,
+ install_steps.pm, standalone/drakbug_report: don't pass prefix,
+ use $::prefix
+
+2004-12-21 12:28 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/doc/UPDATEMODULES, perl-install/install_steps.pm: much
+ simpler code to handle post-install update modules - it handles
+ new modules - it calls depmod
+
+2004-12-21 11:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix floppies detection (through
+ dmidecode)
+
+2004-12-20 19:51 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, mdk-stage1/Makefile, mdk-stage1/automatic.c,
+ mdk-stage1/bootsplash.c, mdk-stage1/bootsplash.h,
+ mdk-stage1/frontend.h, mdk-stage1/newt-frontend.c,
+ mdk-stage1/stdio-frontend.c, mdk-stage1/tools.c,
+ mdk-stage1/tools.h: minimal bootsplash stage1 support
+
+2004-12-20 19:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't die when
+ /proc/sys/kernel/modprobe doesn't exist (for BOOT kernels)
+
+2004-12-20 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (get_user_home) do not horribly
+ die if USER environment variable list a non existing user
+
+2004-12-20 14:13 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: automatic.c, cdrom.c, modules.c, network.c,
+ stage1.c, tools.c, tools.h: create unset_automatic()
+
+2004-12-19 11:45 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: jp console should not be localized
+
+2004-12-19 11:38 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: jp console should not be localized
+
+2004-12-18 14:58 rstandtke
+
+ * perl-install/share/po/de.po: added some translations
+
+2004-12-17 17:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: remove unused code
+
+2004-12-17 17:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, mygtk2.pm: don't parse the theme
+ rc file to set the root window background color during install,
+ instead use the gc of a fake window named "background"
+
+2004-12-17 16:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: oops, set_background *is* needed
+
+2004-12-17 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: remove unneeded ->set_background
+
+2004-12-17 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: ia64 uses the lilo method (even if it
+ has some important differences)
+
+2004-12-17 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix NETMASK autofilling
+
+2004-12-17 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: on ia64, use method lilo
+
+2004-12-17 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: switch to mygtk2
+
+2004-12-17 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: add some more functions in
+ mygtk2
+
+2004-12-17 13:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: packdrake changed a little, ensuring
+ that if we ask no modules it doesn't cause havoc
+
+2004-12-16 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: migrate to mygtk2
+
+2004-12-16 17:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix typo (mygtk2 wants active_ref, not
+ val)
+
+2004-12-16 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: - add DrawingArea - add text_ref & format
+ for buttons
+
+2004-12-16 16:28 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: merge smp detection from fedora/ydl
+
+2004-12-16 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_any.pm, pkgs.pm: create
+ function detect_devices::BIGMEM() which calls
+ c::dmiDetectMemory(), but only if we are root (this helps
+ testings install without dying)
+
+2004-12-16 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: help testing
+
+2004-12-16 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: much simpler code
+ using mygtk2
+
+2004-12-16 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: remove debug code
+
+2004-12-16 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: we must allow more than one callback per
+ ref & widget
+
+2004-12-16 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: add option
+ allow_unknown_options for easy compatibility
+
+2004-12-15 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update (stef, neoclust)
+
+2004-12-15 15:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.6mdk
+
+2004-12-15 15:22 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: init.c, rescue-gui.c: lib64 fixes on ppc64
+
+2004-12-15 14:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/obj_ia64.c: add support for
+ R_IA64_PCREL60B reloc
+
+2004-12-15 14:40 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/: insmod.c, util/Makefile,
+ util/modstat.c, util/sys_oim.c: drop support for kernel 2.0
+
+2004-12-15 14:34 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/obj_ia64.c: build fix
+
+2004-12-15 14:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/obj_gpl_license.c: add missing
+ file from older merge from modutils 2.4.26
+
+2004-12-15 14:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/: include/elf_ppc64.h,
+ obj/obj_ppc64.c: merge ppc64 support from modutils 2.4.26
+
+2004-12-15 14:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/obj_kallsyms.c: fix build to
+ expose assignments better
+
+2004-12-15 14:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/: include/util.h, util/logger.c:
+ rename log to do_log in order to avoid clashes with builtins
+
+2004-12-15 11:09 Warly <warly at mandriva.com>
+
+ * perl-install/share/: rpmsrate.corpo-desktop,
+ rpmsrate.corpo-server: remove mdkonline-backend
+
+2004-12-15 09:52 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/network.c: fix http directory not starting with a "/"
+ (it was handled for stage1, but not for URLPREFIX given to
+ stage2)
+
+2004-12-15 02:59 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: perl_checker, suggestions
+ from Pixel, rework buttons in main GUI
+
+2004-12-14 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/mygtk2.pm: export gtkval_register() and
+ gtkval_modify()
+
+2004-12-14 18:06 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: cleanup
+
+2004-12-14 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: netconnect.pm: for drakx-finish-install,
+ we want drakconnect to restart network
+
+2004-12-14 10:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix release (keep 101mdk for 10.1
+ packages)
+
+2004-12-13 22:13 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/drakpxelinux/po/da.po
+ soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-12-13 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: introduce in CVS 27.2.101mdk which
+ was using a patch on drakbug
+
+2004-12-13 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbug: commit vdanen patch which makes
+ drakbug send everything to bugzilla (instead of anthill)
+
+2004-12-13 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix
+
+2004-12-13 17:51 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Add a gazillion modules required by the
+ new packdrake for now
+
+2004-12-13 17:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Add the subset of POSIX.pm needed by the
+ new packdrake
+
+2004-12-13 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/move.pm, move/tree/mdk_totem, perl-install/any.pm,
+ perl-install/authentication.pm, perl-install/bootloader.pm,
+ perl-install/c.pm, perl-install/commands.pm,
+ perl-install/common.pm, perl-install/detect_devices.pm,
+ perl-install/devices.pm, perl-install/do_pkgs.pm,
+ perl-install/fs.pm, perl-install/fsedit.pm, perl-install/ftp.pm,
+ perl-install/help.pm, perl-install/http.pm,
+ perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_gtk.pm, perl-install/install_interactive.pm,
+ perl-install/install_steps.pm, perl-install/install_steps_gtk.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/interactive.pm, perl-install/keyboard.pm,
+ perl-install/lang.pm, perl-install/loopback.pm,
+ perl-install/modules.pm, perl-install/mouse.pm,
+ perl-install/mygtk2.pm, perl-install/partition_table.pm,
+ perl-install/pkgs.pm, perl-install/raid.pm,
+ perl-install/run_program.pm, perl-install/services.pm,
+ perl-install/standalone.pm, perl-install/ugtk2.pm,
+ perl-install/Xconfig/card.pm, perl-install/Xconfig/parse.pm,
+ perl-install/Xconfig/xfree.pm,
+ perl-install/diskdrake/interactive.pm,
+ perl-install/diskdrake/smbnfs_gtk.pm, perl-install/fs/format.pm,
+ perl-install/fs/mount_options.pm, perl-install/fs/type.pm,
+ perl-install/harddrake/sound.pm, perl-install/harddrake/v4l.pm,
+ perl-install/interactive/http.pm,
+ perl-install/interactive/newt.pm,
+ perl-install/interactive/stdio.pm,
+ perl-install/modules/parameters.pm, perl-install/network/adsl.pm,
+ perl-install/network/ethernet.pm, perl-install/network/ipsec.pm,
+ perl-install/network/isdn.pm, perl-install/network/modem.pm,
+ perl-install/network/netconnect.pm,
+ perl-install/network/network.pm, perl-install/network/smb.pm,
+ perl-install/network/test.pm, perl-install/network/tools.pm,
+ perl-install/partition_table/gpt.pm,
+ perl-install/partition_table/mac.pm,
+ perl-install/partition_table/raw.pm,
+ perl-install/printer/data.pm, perl-install/printer/main.pm,
+ perl-install/printer/printerdrake.pm,
+ perl-install/resize_fat/boot_sector.pm,
+ perl-install/resize_fat/fat.pm, perl-install/resize_fat/main.pm,
+ perl-install/share/advertising/05.pl,
+ perl-install/share/advertising/12.pl,
+ perl-install/share/po/DrakX.pot, perl-install/share/po/af.po,
+ perl-install/share/po/am.po, perl-install/share/po/ar.po,
+ perl-install/share/po/az.po, perl-install/share/po/be.po,
+ perl-install/share/po/bg.po, perl-install/share/po/bn.po,
+ perl-install/share/po/br.po, perl-install/share/po/bs.po,
+ perl-install/share/po/ca.po, perl-install/share/po/cs.po,
+ perl-install/share/po/cy.po, perl-install/share/po/da.po,
+ perl-install/share/po/de.po, perl-install/share/po/el.po,
+ perl-install/share/po/eo.po, perl-install/share/po/es.po,
+ perl-install/share/po/et.po, perl-install/share/po/eu.po,
+ perl-install/share/po/fa.po, perl-install/share/po/fi.po,
+ perl-install/share/po/fr.po, perl-install/share/po/fur.po,
+ perl-install/share/po/ga.po, perl-install/share/po/gl.po,
+ perl-install/share/po/he.po, perl-install/share/po/hi.po,
+ perl-install/share/po/hr.po, perl-install/share/po/hu.po,
+ perl-install/share/po/id.po, perl-install/share/po/is.po,
+ perl-install/share/po/it.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/ky.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ltg.po,
+ perl-install/share/po/lv.po, perl-install/share/po/mk.po,
+ perl-install/share/po/mn.po, perl-install/share/po/ms.po,
+ perl-install/share/po/mt.po, perl-install/share/po/nb.po,
+ perl-install/share/po/nl.po, perl-install/share/po/nn.po,
+ perl-install/share/po/pl.po, perl-install/share/po/pt.po,
+ perl-install/share/po/pt_BR.po, perl-install/share/po/ro.po,
+ perl-install/share/po/ru.po, perl-install/share/po/sk.po,
+ perl-install/share/po/sl.po, perl-install/share/po/sq.po,
+ perl-install/share/po/sr.po, perl-install/share/po/sr@Latn.po,
+ perl-install/share/po/sv.po, perl-install/share/po/ta.po,
+ perl-install/share/po/tg.po, perl-install/share/po/th.po,
+ perl-install/share/po/tl.po, perl-install/share/po/tr.po,
+ perl-install/share/po/uk.po, perl-install/share/po/uz.po,
+ perl-install/share/po/uz@Latn.po, perl-install/share/po/vi.po,
+ perl-install/share/po/wa.po, perl-install/share/po/zh_CN.po,
+ perl-install/share/po/zh_TW.po,
+ perl-install/standalone/bootloader-config,
+ perl-install/standalone/drakTermServ,
+ perl-install/standalone/drakautoinst,
+ perl-install/standalone/drakbackup,
+ perl-install/standalone/drakboot,
+ perl-install/standalone/drakconnect,
+ perl-install/standalone/drakfont, perl-install/standalone/drakgw,
+ perl-install/standalone/drakperm,
+ perl-install/standalone/drakroam,
+ perl-install/standalone/drakupdate_fstab,
+ perl-install/standalone/drakvpn,
+ perl-install/standalone/fileshareset,
+ perl-install/standalone/logdrake,
+ perl-install/standalone/net_applet,
+ perl-install/standalone/service_harddrake,
+ perl-install/standalone/service_harddrake.sh,
+ perl-install/unused/dns.pm: better english (writing style rather
+ than spoken one)
+
+2004-12-13 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ harddrake/autoconf.pm, standalone/service_harddrake: -
+ rename/move install_any::write_pcmcia() as
+ harddrake::autoconf::pcmcia() so that it became availlable for
+ standalone tools
+
+ - reuse it in harddrake service in order to configure PCMCIA
+ cards
+
+2004-12-13 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (pcmcia_controller_probe) reuse
+ pcmcia_controller_probe(), thus fixing installer not handling
+ anymore PCMCIA controllers managed by driver other than
+ yenta_socket...
+
+ this is still not enough for stage1 though (since
+ mdk-stage1/pcmcia_/probe.c::pcmcia_probe() isn't aware of all
+ PCMCIA host controller drivers that're known to list_modules.pm)
+
+2004-12-13 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, harddrake/data.pm:
+ (pcmcia_controller_probe) move some harddrake code there
+
+2004-12-13 10:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Add new packdrake module
+
+2004-12-12 21:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: ignore packdrake for now
+
+2004-12-12 20:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/list.i386: keyboard_drv.o is
+ needed by Xorg, and driver must "keyboard", not "Keyboard"
+
+2004-12-10 22:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2004-12-10 17:50 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/Makefile: move drakx VERSION file in
+ install/stage2 (used by bugzilla)
+
+2004-12-09 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: commit warly's fix in HEAD
+
+2004-12-09 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: commit warly's fix in 10.1 branch
+
+2004-12-08 11:44 Warly <warly at mandriva.com>
+
+ * perl-install/install_steps.pm: fix the updatemodules mode for
+ installation
+
+2004-12-07 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_steps_interactive.pm:
+ look for yenta_socket in pci_probe too
+
+2004-12-07 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_steps_interactive.pm:
+ look for yenta_socket in pci_probe too (nb: ldetect pci_probe has
+ a special rule for it, not simply pcitable)
+
+2004-12-07 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: xcdroast only if X is chosen
+ (bugzilla #12594)
+
+2004-12-06 12:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/: rpmsrate.corpo-desktop,
+ rpmsrate.corpo-server: Added mdkonline, slmodem and ipw2?00
+
+2004-12-05 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, fs/format.pm: don't allow
+ partition types we don't know how to format in {partitions} for
+ auto_installs (eg of bad type: ntfs)
+
+2004-12-05 19:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fixes (#12580)
+
+2004-12-05 17:44 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-12-04 14:55 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Update
+
+2004-12-04 12:02 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: simplify
+
+2004-12-03 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add multimedia/dvb class
+
+2004-12-03 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: disable kmod, otherwise we get a
+ different behaviour in kernel vs kernel-BOOT
+
+2004-12-03 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands: during install, commands should
+ $::isInstall set (otherwise poor modprobe becomes a fork bomb)
+
+2004-12-03 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: more debug log
+
+2004-12-03 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: use the cute "perldoc -l" instead of perl
+ -V:vendorlib which doesn't work when the module hasn't been
+ rebuilt
+
+2004-12-03 11:55 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: use perldoc -l instead of perl -M + %INC
+
+2004-12-03 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/unused/: migrate-ugtk2-to-mygtk2.el,
+ migrate-ugtk2-to-mygtk2.pl: be more automatic and less .emacs
+ dependent
+
+2004-12-03 07:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, ca.po, cs.po, cy.po, el.po, eo.po, gl.po, he.po,
+ hr.po, id.po, is.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, pt_BR.po, ro.po, ru.po, sk.po, sq.po, sr.po,
+ sr@Latn.po, tl.po, tr.po, vi.po, zh_TW.po: rescued some strings
+
+2004-12-02 22:34 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: fix typo and perl_checker compliance
+
+2004-12-02 22:20 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: no need to put tokenring modules in
+ modules_only_for_all_img since they are now in their own category
+ which is not used for stage1
+
+2004-12-02 22:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: use migrate-ugtk2-to-mygtk2.pl (and i
+ verified the diff)
+
+2004-12-02 22:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, unused/migrate-ugtk2-to-mygtk2.pl:
+ replace "policy => [ horizpolicy, vertpolicy ]" with "h_policy =>
+ ..., v_policy => ..." (both defaulting to "automatic")
+
+2004-12-02 21:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/unused/: migrate-ugtk2-to-mygtk2.el,
+ migrate-ugtk2-to-mygtk2.pl: dirty script easing the switch from
+ ugtk2 to mygtk2 (beware!)
+
+2004-12-02 17:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: helping titi that didn't get
+ isLaptop() right in 3 commits ;p
+
+2004-12-02 17:33 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: remove temporary directory
+
+2004-12-02 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: zd1201 is a wireless driver (not yet
+ included in our kernel)
+
+2004-12-02 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: lpfc is the successor of lpfcdd
+
+2004-12-02 14:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - fix duplicated entries - group
+ tokenring drivers together (and add missing ones)
+
+2004-12-02 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: delkin_cb is a Cardbus IDE driver
+
+2004-12-02 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mygtk2.pm, ugtk2.pm: future is in mygtk2, ugtk2
+ must die (and it will die, but not that soon (to keep
+ compatibility))
+
+2004-12-02 12:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-12-02 10:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm: - any::enableShadow()
+ -> authentication::enable_shadow() - inline
+ authentication::crypt()
+
+2004-12-02 09:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm: move crypt() where it's
+ needed
+
+2004-12-02 08:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm: Move crypt() in the
+ package it belongs to
+
+2004-12-01 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: typo fix
+
+2004-12-01 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify: grep already done
+ complete_usb_storage_info()
+
+2004-12-01 11:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ugtk2.pm: return value for gtkset_mousecursor
+
+2004-12-01 08:19 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.desktop: remove game for corpo
+ desktop
+
+2004-12-01 08:18 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.corpo-server: remove development
+ section in corpo server
+
+2004-12-01 08:17 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers.suppl-desktop,
+ compssUsers.suppl-server: add compssUsers for supplementary CDs
+
+2004-12-01 08:15 Warly <warly at mandriva.com>
+
+ * perl-install/share/: rpmsrate.corpo-desktop,
+ rpmsrate.corpo-server: updated rpmsrate for corporate desktop and
+ server
+
+2004-12-01 08:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/themes-corporate.rc: correct the theme color
+ for installation
+
+2004-12-01 08:12 Warly <warly at mandriva.com>
+
+ * perl-install/install_steps.pm: Add a SYSTEM to Corporate in
+ /etc/sysconfig/system for corporate
+
+2004-12-01 08:00 Warly <warly at mandriva.com>
+
+ * perl-install/install_messages.pm: The coporate errata is
+ corpo30errata.php3 and not 100errata.php3
+
+2004-12-01 07:56 Warly <warly at mandriva.com>
+
+ * perl-install/install_any.pm: use the compssUsers related to the
+ meta_class if it exists
+
+2004-12-01 07:35 Warly <warly at mandriva.com>
+
+ * rescue/tree/etc/issue: change Mandrake Linux 10.0 into
+ Mandrakelinux Corporate 3.0
+
+2004-12-01 07:32 Warly <warly at mandriva.com>
+
+ * perl-install/steps.pm: Do not activate the updates selection step
+ during installation
+
+2004-12-01 07:30 Warly <warly at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: update the group selection
+ layout to handle the supplementary CD
+
+2004-11-30 22:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: finish-install: don't keep the banner
+ from drakconnect for all steps
+
+2004-11-30 22:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, Makefile.drakxtools,
+ standalone/finish-install, standalone/finish-install.xsetup,
+ drakxtools.spec: add drakx-finish-install
+
+2004-11-30 22:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: replace !isStandalone with isInstall
+
+2004-11-30 22:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix fatal perl_checker
+ warning
+
+2004-11-30 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix fatal perl_checker error
+
+2004-11-30 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: finish-install: prog to launch after
+ install which configurate users, authentication, root password
+ and network
+
+2004-11-30 19:54 Frederic Lepied <flepied at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: corporate
+
+2004-11-30 19:44 Frederic Lepied <flepied at mandriva.com>
+
+ * mdk-stage1/Makefile: corporate
+
+2004-11-30 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) explain why we return
+ a list and not directly an hash
+
+2004-11-30 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, install_steps.pm,
+ install_steps_interactive.pm, network/network.pm,
+ standalone/adduserdrake, standalone/drakauth: backport HEAD
+ changes used by finish-install
+
+2004-11-30 16:28 Warly <warly at mandriva.com>
+
+ * rescue/tree/etc/issue: update version for rescue issue
+
+2004-11-30 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies) do not try to load
+ floppy if there's no floppy drive (#8211)
+
+ a side effect is that now we'll still see the floppy drive even
+ if some buggy code triggered $@ earlier
+
+2004-11-30 16:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: netconnect.pm:
+ network::netconnect::real_main() do not exit brutally on
+ wizcancel, handle it in network::netconnect::main()
+
+2004-11-30 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm: replace isStandalone with !isInstall
+ (for finish-install which is neither isInstall nor isStandalone)
+
+2004-11-30 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: create
+ any::set_root_passwd() and use it
+
+2004-11-30 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakauth: perl_checker fix
+
+2004-11-30 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakauth: shorter
+
+2004-11-30 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: network/network.pm, standalone/drakauth: don't
+ pass the prefix/etc/sysconfig/network to
+ network::network::write_conf(), we always use the same file name
+
+2004-11-30 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakauth: $when_network_is_up is now
+ optional
+
+2004-11-30 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: make $when_network_is_up optional
+
+2004-11-30 13:27 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Warn when failing to mount the
+ supplementary CD-ROM
+
+2004-11-30 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2004-11-30 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, share/rpmsrate: install scim-anthy as
+ well for japanese users
+
+2004-11-30 12:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages) perl_checker
+ cleanup
+
+2004-11-30 12:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: rollback previous bogus commit
+
+2004-11-30 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, install_steps.pm,
+ install_steps_interactive.pm: - move some functions from any.pm
+ to authentication.pm - create
+ authentication::ask_root_password_and_authentication() out of
+ install_steps_interactive::setRootPassword()
+
+2004-11-30 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: create
+ any::set_root_passwd() and use it
+
+2004-11-30 11:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isLaptop) fix it on non PPC
+ architectures
+
+2004-11-30 11:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect_devices::getModem() does
+ not take an argument anymore
+
+2004-11-30 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: Yes/no is better than
+ Ok/cancel for logout question
+
+2004-11-30 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) add (explicit)
+ memoization
+
+2004-11-30 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, standalone/adduserdrake:
+ - rely on adduser(8) to set the users password instead of using
+ write_passwd_user() - use adduser(8) during install (we now use
+ the same code during and after install)
+
+2004-11-30 09:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: white space normalisation
+
+2004-11-29 20:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: minimal authentication get()
+ function
+
+2004-11-29 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: create %kind2pam_kind
+
+2004-11-29 20:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: rename allocUsers() to alloc_user_faces()
+ (better suited)
+
+2004-11-29 19:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker compliance
+
+2004-11-29 18:53 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, docs/README, mdk-stage1/disk.c, mdk-stage1/disk.h,
+ mdk-stage1/stage1.c, mdk-stage1/tools.c,
+ perl-install/bootloader.pm, perl-install/install2.pm,
+ perl-install/install_steps.pm, perl-install/install_steps_gtk.pm,
+ perl-install/install_steps_interactive.pm, rescue/.cvsignore,
+ rescue/Makefile, rescue/kernel_read_part.c, rescue/tree/etc/oem,
+ rescue/tree/etc/oem-all, rescue/tree/etc/rc.sysinit,
+ tools/oem-prepare: - drop oem & recovery code (which was broken)
+ - will be replaced with a root password + user accounts + network
+ configuration a la drakfirsttime
+
+2004-11-29 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2004-11-29 17:01 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install2.pm: A bit of grammar
+
+2004-11-29 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ensure toshutils is present on media
+
+2004-11-29 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages) better support
+ for Toshiba laptops: preload toshiba driver and install toshutils
+ (inspirated from drivers/char/toshiba.c's audit)
+
+2004-11-29 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add hint for translator
+
+2004-11-29 14:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ensure ik8utils is present on media
+
+2004-11-29 14:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages) better support
+ for DELL laptops: preload i8k driver
+
+2004-11-29 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: better support for DELL laptops
+ (inspirated from drivers/char/i8k.c's audit)
+
+2004-11-29 12:08 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: module "floppy" is in
+ @modules_always_on_stage1 (modules.pl) but must also be listed in
+ modules.pl otherwise it is removed for non BOOT kernels
+
+2004-11-29 12:06 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: kernel BOOT 2.4 doesn't handle clp at the
+ moment
+
+2004-11-27 17:10 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-11-27 16:03 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: Don't load encoding.pm, it's
+ not provided in the stage 2 perl
+
+2004-11-26 20:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.5mdk
+
+2004-11-26 15:00 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add some tool in DEVELOPMENT section
+
+2004-11-26 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/ethernet.pm: help perl_checker
+
+2004-11-26 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: simplify
+
+2004-11-26 13:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: We won't have files named
+ compssUsers.pl.<meta_class> since they're all merged now.
+
+2004-11-26 13:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-11-26 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: don't write X config when
+ there is none (otherwise we write a partial X config)
+
+2004-11-26 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: help perl another way that
+ perl_checker prefers
+
+2004-11-26 12:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: - geometry XXX/240/63 is
+ quite common, so add 240 to @valid_nb_heads - remove checking
+ that nb_heads is in @valid_nb_heads (this fixes yet another case
+ of the infamous "XP doesn't boot" occuring 10.1 CE, though it
+ should already be fixed via EDD)
+
+2004-11-26 12:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fixed typo
+
+2004-11-26 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-11-25 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: simpler code
+
+2004-11-25 22:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: (About) let be more l10n
+ friendly regarding "translatability"
+
+2004-11-25 22:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: (About) let be more l10n
+ friendly regarding font's weight and size
+
+2004-11-25 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix spacing in 10.2-0.4mdk's
+ changelog
+
+2004-11-25 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.4mdk
+
+2004-11-25 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (load_and_configure) fix setting scsi
+ and usb probell in live CD (thus fixing mousedrake --auto with
+ USB mice on live CD)
+
+2004-11-25 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: ensure that explanations go
+ into /var/log/explanations is standalone mode
+ (log::explanations() just calls log::l() at install time)
+
+2004-11-25 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not probe memory chips at boot
+ time ...
+
+2004-11-25 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not die if sound
+ never was configured (aka on first boot on live CD)
+
+2004-11-25 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: remove /lib and /usr/lib with more verbose
+ code
+
+2004-11-25 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix previous commit
+
+2004-11-25 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: handle the lib64 case separately
+
+2004-11-25 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: create function libgl_config() and
+ have it after setting Driver to 'fglrx' so that libgl_config()
+ can behave based on {Driver} instead of {Driver2}
+
+2004-11-25 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: minimal perl_checker
+ compliance
+
+2004-11-25 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, diskdrake/interactive.pm: moving
+ partitions never really worked and is disabled since years
+
+2004-11-25 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: safer
+
+2004-11-25 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: use floppies_dev() instead of
+ floppies()
+
+2004-11-25 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: diskdrake: use fs::get::device2part()
+
+2004-11-25 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: remove unused var
+
+2004-11-25 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, fs.pm, install_any.pm, pkgs.pm: we
+ don't use /tmp for devices anymore (this comes from long ago when
+ redhat code was using a ro /dev and creating other devices in
+ /tmp)
+
+2004-11-25 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, diskdrake/interactive.pm: - create
+ analyze_wild_device_name() out of subpart_from_wild_device_name()
+ - rename part2device() into part2wild_device_name(), change its
+ prototype and use analyze_wild_device_name() - new field
+ {faked_device} - for LABEL=..., {device} is not empty anymore and
+ {faked_device} is set, merge_fstabs() will take care of having
+ the real {device} and {faked_device} unset - for devfs_device,
+ {device} is set to the devfs device, merge_fstabs() will take
+ care of having the non devfs device in {device}
+
+2004-11-25 12:12 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix Totem installation when KDE and
+ GNOME are both installed.
+
+ Fix Quanta installation
+
+2004-11-25 11:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: more intelligent sort of fstab to handle
+ loopback files or bind directory (bug anthil #1198)
+
+2004-11-24 13:32 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-11-23 15:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: list Turkish language in both Asia and
+ Europe (for Istanbul)
+
+2004-11-23 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm: don't use typeOfMBR to check the
+ method on floppy which may not be inserted (part of bugzilla
+ #12213)
+
+2004-11-23 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/: raw.pm: detect on lilo on floppy
+ (bugzilla #12213)
+
+2004-11-23 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix {device_alias} containing /dev/xxx
+ instead of xxx. The bug was "none /mnt/cdrom supermount
+ dev=/dev//dev/cdrom,fs=iso9660..." (bugzilla #12224)
+
+2004-11-23 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update (kournikolas)
+
+2004-11-23 13:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix {device_alias} containing /dev/xxx
+ instead of xxx. The bug was "none /mnt/cdrom supermount
+ dev=/dev//dev/cdrom,fs=iso9660..." (bugzilla #12224)
+
+2004-11-23 13:31 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: don't have perl warning
+
+2004-11-23 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-11-23 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando)
+
+2004-11-22 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (real_main) in "ADSL
+ provider" step, plain reset the protocol on provider switch
+
+2004-11-22 15:15 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, docs/HACKING, kernel/.cvsignore,
+ kernel/Makefile, kernel/dependencies.pl, kernel/list_modules.pm,
+ kernel/modules.pl, kernel/update_kernel,
+ mdk-stage1/pci-resource/update-pci-ids.pl, perl-install/Makefile,
+ rescue/make_rescue_img: - no more kernel/all.modules, things are
+ in kernel/all.kernels - cleanup what we keep in
+ kernel/all.kernels: only vmlinuz, modules.dep, *.mar,
+ all_modules.tar, modules.cz - replace all_modules.list + modules
+ with all_modules.tar - kernel/all.modules/modules.cz-VERSION are
+ now in kernel/all.kernels/VERSION/modules.cz - allow having a
+ normal in isolinux, but don't use it for floppy images (for
+ this, add kernel/all.kernels/.main-BOOT) - add many modules
+ kernel/list_modules.pm in unused categories since we don't take
+ all modules from kernel, only those listed (needed to have a
+ not too big modules.cz for normal kernel) - complete rewrite of
+ update_kernel (now written in perl)
+
+2004-11-22 12:42 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use cat_()
+
+2004-11-22 12:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: kill a stock icon
+
+2004-11-22 12:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-11-19 22:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new sound drivers from kernel-tmb and
+ kernel-multimedia
+
+2004-11-19 22:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (alsa2oss) add snd-azx
+
+2004-11-19 22:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add snd-azx
+
+2004-11-19 13:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix wrong package name
+
+2004-11-19 13:22 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: - add helper functions: kernel_is_26(),
+ module_extension() - expand code
+
+2004-11-19 10:49 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: better comment
+
+2004-11-18 19:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: use 'fbdev' server on x86_64
+ too
+
+2004-11-18 16:36 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/advertising/: list-cpd, list-cps: update to
+ match warly's config files
+
+2004-11-18 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix prototype
+
+2004-11-18 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, fs.pm, install2.pm, install_any.pm,
+ install_steps_interactive.pm, lang.pm, pkgs.pm, run_program.pm,
+ diskdrake/interactive.pm: since we don't use ramdisk but clp,
+ some code is dead (remove usingRamdisk(), check_prog(),
+ remove_unused()...)
+
+2004-11-18 14:36 Pixel <pixel at mandriva.com>
+
+ * Makefile: mdkinst.kernels is must be uploaded too
+
+2004-11-18 14:29 Pixel <pixel at mandriva.com>
+
+ * Makefile: not uploading stage2/live anymore :)
+
+2004-11-18 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, bootloader.pm,
+ commands.pm, common.pm, crypto.pm, detect_devices.pm, devices.pm,
+ fs.pm, fsedit.pm, install_any.pm, install_gtk.pm,
+ install_interactive.pm, install_steps.pm, interactive.pm,
+ lang.pm, lvm.pm, modules.pm, mouse.pm, partition_table.pm,
+ raid.pm, services.pm, ugtk2.pm, wizards.pm, Xconfig/screen.pm,
+ diskdrake/resize_ntfs.pm, harddrake/data.pm, harddrake/sound.pm,
+ interactive/gtk.pm, interactive/newt.pm, interactive/stdio.pm,
+ network/adsl.pm, network/ethernet.pm, network/isdn.pm,
+ network/netconnect.pm, network/shorewall.pm: remove some unneeded
+ ";", add some for normalization (as told by perl_checker)
+
+2004-11-18 13:58 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: put back module "53c7,8xx" which still
+ exist for 2.4
+
+2004-11-18 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_auto_install.pm,
+ install_steps_interactive.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, partition_table/gpt.pm,
+ partition_table/mac.pm, partition_table/raw.pm,
+ standalone/harddrake2: add some ";", remove some ";", as told by
+ perl_checker
+
+2004-11-17 19:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-34.8.100mdk
+
+2004-11-17 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: on 10.0, b44 failled on newer cards;
+ let's try bcm4400 too
+
+2004-11-17 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix indentation
+
+2004-11-17 17:52 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Integrate from trunk (mirror list update)
+
+2004-11-17 17:50 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update inline mirror list again (the
+ previous one was broken)
+
+2004-11-17 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump requires on ldetect-lst b/c of
+ s/3c90x/3c59x/
+
+2004-11-17 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.3mdk
+
+2004-11-17 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fill in 10.2-0.2mdk's changelog
+
+2004-11-17 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: add new sound drivers from
+ kernel-tmb-2.6.7-2.tmb.6mdk
+
+2004-11-17 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add dyc_ar5 wireless driver from
+ kernel-tmb-2.6.7-2.tmb.6mdk
+
+2004-11-17 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-34.7.100mdk
+
+2004-11-17 13:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: backport from 10.1:
+ adapt to new nvidia driver location due to corporate now using
+ DKMS
+
+2004-11-17 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: really remove the VG from
+ internal list of {lvms}, not on a copy
+
+2004-11-17 10:59 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: crypto.pm, install_any.pm: Integrate fixes for
+ mini-ISOs from the trunk.
+
+2004-11-17 10:40 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Update the inline mirror list for mini
+ isos
+
+2004-11-17 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: also remove "require
+ partition_table::lvm_PV" comment for perl_checker
+
+2004-11-16 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix typo (thanks to bugzilla #12387)
+
+2004-11-16 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/empty.pm: empty partition table
+ means sectors #0 and #1 are zeroes, not simply sector #0 (this
+ gives a chance to raw_lvm_PV which has its magic on sector #1)
+
+2004-11-16 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table.pm,
+ partition_table/lvm_PV.pm: handle more nicely raw_lvm_PV (don't
+ simply ignore them)
+
+2004-11-16 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: don't die in will_tell_kernel()
+ when the device is weird, since it is normal when destroying a
+ raw_lvm_PV
+
+2004-11-16 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: enhance readability
+
+2004-11-16 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ on startup, redo ethX aliases
+
+2004-11-16 15:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: enhance analyse_kernel_name(), esp. to
+ handle i686-up-64GB
+
+2004-11-16 15:36 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: make_mdkinst_stage2 is no more, hail
+ mdkinst_stage2_tool
+
+2004-11-16 15:36 Pixel <pixel at mandriva.com>
+
+ * rescue/: list, list.i386, list.ia64, list.ppc, list.x86_64: move
+ libperl.so from list.ARCH back to list, using a wildcard
+
+2004-11-16 15:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm: update ppc kernel
+ modules detection & loading
+
+2004-11-16 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: enable UseFBDev in X configs on
+ ppc, for rage128 and radeon
+
+2004-11-16 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: set raw_LINES on every fglrx
+ devices
+
+2004-11-16 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: drop broken code - setting VideoRam
+ for i810 - unsetting UseFBDev for r128 on ppc
+
+2004-11-16 12:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: fix yaboot detection
+
+2004-11-16 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cleanup get_mac_generation()
+
+2004-11-16 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ahci and sata_uli SATA drivers (from
+ latest libata as in 2.8.10-rc1-mm5)
+
+2004-11-16 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: "53c7,8xx" is an obvious typo. what's
+ more, 53c7xx is only a submodule for other drivers in
+ drivers/scsi/
+
+2004-11-16 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add it8212 raid driver
+
+2004-11-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: 3c90x is dead for years
+
+2004-11-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add efficeon-agp k7-agp and mch-agp AGP
+ drivers
+
+2004-11-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: buz and paep modules do not exist anymore
+
+2004-11-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: pcilynx is a IEEE-1394 controller driver
+ like ohci1394
+
+2004-11-16 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add bus/i2c (aka SMB Host controllers)
+
+2004-11-16 12:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list ibm_emac and oaknet net drivers on
+ PPC
+
+2004-11-16 11:23 Pixel <pixel at mandriva.com>
+
+ * tools/: make_mdkinst_stage2, mdkinst_stage2_tool: major switch
+ from ramdisk to clp - make_mdkinst_stage2 is now
+ mdkinst_stage2_tool (we don't keep the live when building the
+ clp, mdkinst_stage2_tool is able to create the clp from the live,
+ or the live from the clp)
+
+2004-11-16 11:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: for sunos: - "SunOS swap" and "Whole
+ disk" don't use ufs - drop isSunOS(): replace it with testing
+ {fs_type} eq 'ufs'
+
+2004-11-16 11:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, fs/get.pm, fs/type.pm: create isEmpty()
+ and use it instead of simply testing {pt_type}, since {pt_type}
+ can be undef whereas {fs_type} is set
+
+2004-11-16 10:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: rename get_of_dev() -> dev2yaboot()
+
+2004-11-16 10:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: don't write boot OF in
+ /tmp/of_boot_dev, better use dev2yaboot() instead
+
+2004-11-16 10:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - create yaboot2file() and use it -
+ update read_lilo() for yaboot - update write_yaboot() - remove
+ {useboot} - set {boot} to /dev/sda1 in suggest() instead of
+ handling it in write_yaboot()
+
+2004-11-16 10:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: don't use pseudo fs_type "apple" for
+ Apple Bootstrap partitions, better only use {pt_type} for non
+ mountable partitions
+
+2004-11-16 10:28 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: disable kernel-BOOT 2.4 until it handles
+ clp (ie until it has gzloop)
+
+2004-11-16 10:27 Pixel <pixel at mandriva.com>
+
+ * Makefile, docs/README, kernel/list_modules.pm,
+ mdk-stage1/Makefile, mdk-stage1/cdrom.c,
+ mdk-stage1/config-stage1.h, mdk-stage1/directory.c,
+ mdk-stage1/disk.c, mdk-stage1/network.c, mdk-stage1/tools.c,
+ mdk-stage1/tools.h, perl-install/Makefile, rescue/.cvsignore,
+ rescue/Makefile, rescue/make_rescue_img: major switch from
+ ramdisk to clp - mdkinst_stage2.bz2 is now mdkinst.clp -
+ rescue_stage2.bz2 is now rescue.clp - make_mdkinst_stage2 is now
+ mdkinst_stage2_tool (we don't keep the live when building the
+ clp, mdkinst_stage2_tool is able to create the clp from the live,
+ or the live from the clp) - all stage1 images now need cryptoloop
+ & gzloop - the clp can be preloaded in memory or not (see
+ MEM_LIMIT_DRAKX_PRELOAD and MEM_LIMIT_RESCUE_PRELOAD) (for http
+ & ftp, it *must* be preloaded) - we don't uncompress the ramdisk
+ anymore since the decompression is done on the fly, this makes
+ the rescue boot much faster - function get_ramdisk_realname() is
+ replaced with macro CLP_FILE_REL
+
+2004-11-15 16:33 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Adjust perl architecture, now that we
+ don't have threads anymore
+
+2004-11-15 16:18 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/drakxtools.spec: new release for new perl
+
+2004-11-15 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - special bootstrap
+ partition warning for IBM mac_generation - no "OldWorld or
+ Unknown machine" for IBM mac_generation
+
+2004-11-14 16:16 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: switch to gbk in zh_CN
+
+2004-11-13 20:10 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add partimage
+
+2004-11-12 19:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm: no
+ "auto install floppy" on ppc
+
+2004-11-12 19:11 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile.common: cleanup
+
+2004-11-12 19:11 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile.common: simplify
+
+2004-11-12 19:10 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common: build init using $(DIET)
+ just like stage2-* (needed for ppc, and nicer), unify
+ LDFLAGS_INIT and LDFLAGS_STAGE1
+
+2004-11-12 18:57 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common: remove
+ GLIBC_LDFLAGS_STAGE1 and DIETLIBC_LDFLAGS_STAGE1 since they were
+ not used everywhere, and so it was not easy to understand
+
+2004-11-12 18:53 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common: drop unused INIT_LIBC,
+ GLIBC_LIBC, DIETLIBC_LIBC (all 3 were empty at the moment)
+
+2004-11-12 18:50 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: don't use minilibc.h on ppc
+
+2004-11-12 18:38 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: simplify arch dependent config based on
+ dietlibc vs glibc. this patch may be wrong for ppc which now
+ used dietlibc but may prefer init-libc-headers.h over minilibc.h
+ (need testing)
+
+2004-11-12 18:30 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: some defines are not arch dependent
+
+2004-11-12 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/themes-galaxy.rc: the color
+ of the categories of steps is better in the theme (it was the
+ only part not defined in the theme but in the code)
+
+2004-11-12 18:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix converting the background color
+
+2004-11-12 18:14 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: Remove the video=ofonly kernel argument for ppc
+ since it doesn't always work and is easier to add than to remove
+ on the bootloader prompt. (Christiaan Welvaart)
+
+2004-11-10 19:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: load yenta_socket and
+ the like for PCMCIA controllers
+
+2004-11-10 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge in lost changelog
+
+2004-11-10 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install drivers for ipw2xOO
+
+2004-11-10 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: sync relevant "hardware/driver
+ matching" bits from Head
+
+2004-11-10 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: drakauth: add SmartCard
+ authentication
+
+2004-11-10 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm: - correctly restore
+ pam.d/system-auth when setting "local" authentication - no
+ use_first_pass on "auth sufficient pam_unix.so" line for
+ pam_castella
+
+2004-11-10 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-27.1.101mdk
+
+2004-11-10 15:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: logdrake: fix logdrake speed (should
+ have been commited long time ago)
+
+2004-11-10 15:03 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: add pm_mkhomedir
+
+2004-11-10 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) backport 9box
+ detection fix: do not try to match usb devices since ldetect
+ doesn't return enough data
+
+2004-11-10 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.2-0.1mdk
+
+2004-11-10 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: sync ADSL ISPs DB with HEAD
+
+2004-11-10 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: backport support for Philips
+ Semiconductors DSL card
+
+2004-11-10 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.1-27mdk's changelog
+
+2004-11-10 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge 10.1-27mdk's changelog from
+ MDK10.1 branch
+
+2004-11-10 13:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: mk.po, pt.po: updated Macedonian file
+
+2004-11-10 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isLaptop) fix it on non PPC
+ arches
+
+2004-11-09 21:09 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-11-09 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/theme-editor.pl: basic port from Gtk-1.2.x to
+ Gtk+-2.x
+
+2004-11-09 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump require on ldetect-lst b/c of
+ s/adiusbadsl/eagleusb/
+
+2004-11-09 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSagem) do not probe for old
+ adiusbadsl driver (which is deprecated by eagle-usb for more than
+ one year)
+
+2004-11-09 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update/add ADSL ISP entries
+ (Benoit Audouard)
+
+2004-11-09 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: reorder finnish entry
+
+2004-11-09 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: backport s/fctix/fcitx/ fix from HEAD
+
+2004-11-09 12:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: introduce
+ network::tools::get_interface_status
+
+2004-11-09 10:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm: fix regexp given to
+ matching_driver (otherwise smartcard:xxx matches)
+
+2004-11-09 02:45 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/pkgs.pm: reverted pkgs, Sorry
+
+2004-11-09 02:42 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: lang.pm, pkgs.pm: s/fctix/fcitx. Critical typo
+
+2004-11-08 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, do_pkgs.pm, Xconfig/card.pm:
+ backport check_kernel_module_packages() from 10.1 to adapt to
+ dkms proprietary packages
+
+2004-11-08 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install2.pm: cp_af() is missing in
+ perl-MDK-Common 1.1.11-2mdk
+
+2004-11-08 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not use slicing when
+ selecting single values
+
+2004-11-08 16:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, tg.po: updated Tajik file
+
+2004-11-08 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: call pvremove on every PVs when destroying a
+ VG (to clear the LVM2 magic) (bugzilla #11579)
+
+2004-11-07 21:30 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: More translated.
+
+2004-11-07 18:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm: SmartCard authentication needs
+ pkg castella-pam
+
+2004-11-06 09:31 anoncvs
+
+ * Makefile.common: Initial revision
+
+2004-11-06 08:33 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-11-05 20:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: add "Smart Card" authentication
+ (using pam_castella) (as asked by flepied)
+
+2004-11-05 20:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: add "Smart Card" authentication
+ (using pam_castella) (as asked by flepied)
+
+2004-11-05 16:38 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: umount /stage1 when /etc/mtab exists
+ to remove a warning
+
+2004-11-05 16:24 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: we don't need "root=/dev/ram3" nor "rw" for rescue
+ since we now pivot_root
+
+2004-11-05 16:19 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/tools.c: we use pivot_root for rescue, so don't umount
+ STAGE2_LOCATION
+
+2004-11-05 16:18 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: free up stage1 memory
+
+2004-11-05 16:15 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: fix typo
+
+2004-11-05 16:10 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/tools.c: saving stage1 resolv.conf is done in
+ finish_preparing() with no special code needed for rescue (as was
+ done in save_stuff_for_rescue())
+
+2004-11-05 15:39 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c, rescue/tree/etc/rc.sysinit,
+ rescue/tree/usr/share/symlinks: keep the tmpfs and rescue in
+ /tmp/stage2 (this allows to mount the rescue read-only)
+
+2004-11-05 14:59 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/network.c: use install/stage2/mdkinst.kernels to check
+ stage2 kernel version instead of
+ install/stage2/live/lib/modules.cz-xxx
+
+2004-11-05 14:53 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, directory.c, tools.c:
+ RAMDISK_LOCATION_REL is a better name than RAMDISK_LOCATION
+
+2004-11-05 14:47 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: create choose_iso_in_directory() out of
+ try_with_directory()
+
+2004-11-05 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/list: do not gzip pm files anymore
+ (since we will soon use compressed loopback, this is not useful
+ anymore)
+
+2004-11-05 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: create install/stage2/mdkinst.kernels
+ which contains the list of kernels known by stage2. this
+ replaces looking at install/stage2/live/modules/modules.cz-xxx
+ (why? cuz install/stage2/live is going to be removed!)
+
+2004-11-05 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: simplify
+
+2004-11-05 14:19 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: we don't use all_modules.mar any more for all.rdz,
+ instead we simply copy modules from all_modules.list
+
+2004-11-05 14:17 Pixel <pixel at mandriva.com>
+
+ * kernel/: check_mar.pl, update_kernel: - create a .list instead of
+ a .mar for all.rdz - drop the check_mar which is checking much
+ anymore
+
+2004-11-05 14:13 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: - no need to build stage1-cdrom nor
+ stage1-network for MOVE - for stage1-full, no special .c is
+ needed for MOVE
+
+2004-11-05 14:04 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: cleanup (hoist MOVE_ADDSRC in STAGE1SRC)
+
+2004-11-05 13:59 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: remove duplicates in STAGE1OBJS-FULL, this
+ removes make warnings
+
+2004-11-05 12:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, et.po: updated Estonian and German
+ files
+
+2004-11-05 12:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: hide ifcfg files for non-root
+ users if they contain a WEP key (#12177)
+
+2004-11-05 11:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: hide ifcfg files for non-root
+ users if they contain a WEP key (#12177)
+
+2004-11-05 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/pcmcia_/probe.c: merge from pcitable
+
+2004-11-04 19:02 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Create cfg dir if needed.
+ Use xorg.conf. Touch /etc/dhcpd.conf.etherboot.kernel if
+ missing. Ignore vmnet for broadcast address. Start reworking
+ PXE support.
+
+2004-11-04 18:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Create cfg dir if needed,
+ ignore vmnet for broadcast address. Use xorg.conf. Touch
+ dhcp.conf.etherboot.kernel.
+
+2004-11-04 16:12 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c, tools.c, tools.h: -
+ create mount_clp_may_preload() out of handle_clp() - rename
+ handle_clp() to handle_move_clp() and simplify its use
+
+2004-11-04 15:02 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: add some comments
+
+2004-11-04 14:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque po file
+
+2004-11-04 14:59 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c: IMAGE_LOCATION_REAL is
+ better named STAGE2_LOCATION in MOVE
+
+2004-11-04 14:56 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: - STAGE2_LOCATION is unused in MOVE -
+ IMAGE_LOCATION_REAL is unused in non MOVE
+
+2004-11-04 14:55 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: LIVE_LOCATION_REL doesn't exist anymore
+ in MOVE
+
+2004-11-04 14:34 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c: replace RAW_LOCATION_REL
+ with IMAGE_LOCATION_REL (the absolute symlink will now be
+ relative, but that's ok here)
+
+2004-11-04 14:20 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/tools.c: fix typo
+
+2004-11-04 14:19 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/tools.c: create save_fd() out of copy_file()
+
+2004-11-04 14:07 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: cdrom.c, directory.c: more comment
+
+2004-11-04 14:01 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: stage1.h, tools.c: MODE_RAMDISK is now unused
+
+2004-11-04 13:42 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: simplify since STAGE2_LOCATION is now valid
+ for live installs before pivot_root (due to previous stage1.c
+ commit)
+
+2004-11-04 13:40 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: STAGE2_LOCATION symlink is now relative
+ instead of absolute (relies on the fact that STAGE2_LOCATION and
+ IMAGE_LOCATION are both in /tmp in non MOVE)
+
+2004-11-04 13:37 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: new macro IMAGE_LOCATION_REL
+
+2004-11-04 13:32 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c: rename
+ STAGE2_LOCATION_REL into STAGE2_LOCATION_ROOTED (since
+ STAGE2_LOCATION_REL is not relative, it's simply absolute when
+ chrooted)
+
+2004-11-04 13:17 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: create STAGE2_LOCATION symlink if it is not
+ a directory (well more precisely when it doesn't exist)
+
+2004-11-04 13:16 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, directory.c, modules.c, network.c,
+ stage1.c, tools.c: LIVE_LOCATION is better named
+ LIVE_LOCATION_REL without the leading "/"
+
+2004-11-04 13:10 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/modules.c: cleanup code using
+ kernel_module_extension()
+
+2004-11-04 13:08 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: use image_has_stage2() (even if not
+ equivalent for rescue since we now check the stage2 stuff
+ instead, but it should do)
+
+2004-11-04 13:02 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: cdrom.c, tools.c, tools.h: test_that_cd() is now
+ image_has_stage2()
+
+2004-11-04 12:53 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: cdrom.c, directory.c, stage1.h, tools.c: drop
+ IS_SPECIAL_STAGE2 in favor of IS_RESCUE
+
+2004-11-04 12:40 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: network.c, url.c, url.h: create str_ftp_error()
+
+2004-11-02 22:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker cleanups
+
+2004-11-02 20:46 rstandtke
+
+ * perl-install/share/po/de.po: some fixes
+
+2004-11-02 15:04 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/network.c: normalize code
+
+2004-11-02 15:00 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, network.c, tools.c: rename
+ MEM_LIMIT_RAMDISK into MEM_LIMIT_DRAKX
+
+2004-11-02 14:58 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/network.c: normalize code
+
+2004-11-02 14:46 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: disk.c, network.c: use IMAGE_LOCATION_DIR where it
+ should be
+
+2004-11-02 14:45 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: disk.c, disk.h, network.c, network.h, stage1.c,
+ tools.c, tools.h: compile less things when MANDRAKE_MOVE is
+ defined (needed so that future commits can restrict define's in
+ config-stage1.h)
+
+2004-11-02 14:14 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/directory.c: cleanup (remove warning when compiling
+ with MANDRAKE_MOVE defined)
+
+2004-11-02 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/harddrake2: display
+ more information
+
+2004-11-02 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) provide more fields
+
+2004-11-02 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (computer_info) simplify
+
+2004-11-02 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (setupBootloaderBefore)
+ dmidecode() was renamed as computer_info()
+
+2004-11-02 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (dmidecode) handle multiple
+ devices with same name
+
+ (computer_info) split it out of dmidecode()
+
+2004-10-29 18:02 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Anthill #1134 - advise user
+ about anacron.
+
+2004-10-29 01:29 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: corrections of errors
+ gi/perl-install/share/po/da.po
+
+2004-10-28 14:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: support Philips
+ Semiconductors DSL card
+
+2004-10-28 13:29 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: remove idmap from winbind AD
+ change description for Active directory
+
+2004-10-28 13:07 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Remove sasl entry Add check
+ button for tls
+
+2004-10-28 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump buildrequires on ldetect and
+ requires on ldetect-lst so that we've working support for freebox
+ with USB link
+
+2004-10-28 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-27mdk
+
+2004-10-28 10:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/pkgs.pm: IA-64 and X86-64 are full 64-bit arches
+ thus don't need kernel-enterprise
+
+2004-10-28 10:28 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/pkgs.pm: IA-64 and X86-64 are full 64-bit arches and
+ thus don't need kernel-enterprise
+
+2004-10-27 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: backport working drakups
+
+2004-10-27 18:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm: (getUPS) fix again MGE USB
+ UPSes
+
+2004-10-27 18:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) fix again MGE USB UPSes
+
+2004-10-27 18:20 Warly <warly at mandriva.com>
+
+ * perl-install/install_any.pm: add more log into find_root_part
+
+2004-10-27 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: warn about created
+ partition with a given mount point but not formatted
+
+2004-10-27 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: use ToggleButton instead of
+ Button so that selected partition is visually toggled
+
+2004-10-27 12:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) do not try to
+ match usb devices since ldetect doesn't return enough data (thus
+ fixing 9box string)
+
+2004-10-27 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: raid.pm, diskdrake/interactive.pm: since we need
+ mdadm, ensure we have it (bugzilla #12146)
+
+2004-10-27 11:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: - handle setting memsize
+ mem= kernel parameter in a special function - rely on
+ pack_append() to remove dups (using $uniq_dict_appends) in
+ set_append_with_key() (drawback: it doesn't keep the order
+ anymore)
+
+2004-10-27 10:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install_steps.pm: split
+ {get,set}_append() into {get,set}_append_with_key() and
+ {get,set}_append_simple()
+
+2004-10-27 10:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: many kernel parameters alike
+ "console=tty0 console=ttyS0,57600" can take different values, so
+ we now take the safe side and only remove dups for parameters we
+ know the last parameter is used (bugzilla #12055)
+
+2004-10-27 10:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: remove dead code
+
+2004-10-27 10:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: nicer
+
+2004-10-27 09:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: modifying $e->{append} is useless since we
+ override it with $append
+
+2004-10-26 17:39 Warly <warly at mandriva.com>
+
+ * perl-install/install_any.pm: include support of the oem
+ configuration file to display the correct product name
+
+2004-10-26 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm,
+ Xconfig/various.pm, standalone/bootloader-config,
+ standalone/drakboot: detectloader must handle specially
+ raid-extra-boot=mbr-only (bugzilla #12089)
+
+2004-10-26 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: do not try to run killall until it has
+ been installed
+
+2004-10-26 16:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: bootloader.pm: run grub chrooted
+
+2004-10-26 16:29 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fs/: type.pm: older partition types (ntfs) are also
+ available to x86_64
+
+2004-10-26 16:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: list.x86_64: add 'synaptics' module so that
+ testing works
+
+2004-10-26 16:08 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Fix net join for winbind Changer
+ order dialog in AD
+
+2004-10-26 15:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: run_program.pm: do not use die when forked, use
+ log::l + c::_exit instead
+
+2004-10-26 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: raid.pm: newly created raids must have a fs_type
+ (this was dropped in rev 1.45, it was an error)
+
+2004-10-26 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: help perl_checker
+
+2004-10-26 12:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2004-10-26 11:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Remove spurious "my"
+
+2004-10-26 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: in upgrade, when we need to migrate
+ device names, we must write the fstab
+
+2004-10-26 10:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: in upgrade, when we need to migrate
+ device names, we must write the fstab
+
+2004-10-26 10:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: configure sshd to use PAM when
+ needed (sshd config file is modified, but i did not test more)
+
+2004-10-25 19:40 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Some fixed
+
+2004-10-25 18:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Merge French translations from
+ cooker
+
+2004-10-25 14:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, gl.po: updated Basque and Galician
+ files
+
+2004-10-21 12:51 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - backport fixes to
+ MDK-10-update
+
+2004-10-21 12:36 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - backport patches to
+ MDK-10-update branch for oem
+
+2004-10-21 09:16 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: remove trailing slashes
+
+2004-10-20 11:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2004-10-19 18:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Repair FTP supplementary media with
+ overriding of rpmsrate and compssUsers.pl
+
+2004-10-19 15:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: There are mirrors in many new countries
+ now. (and sort the list)
+
+2004-10-19 14:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: This deserves an
+ explanation
+
+2004-10-19 14:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: crypto.pm, install_any.pm,
+ install_steps_interactive.pm, pkgs.pm: Installation with a ftp
+ supplementary media (for mini-isos) : inline the mirror list
+ (since fetching it causes weird network problems). Fix the
+ handling of relative urls in ftp media when fetching hdlists
+ file.
+
+2004-10-19 10:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/net_monitor: really fix typo (ie revert
+ gtknew() patch)
+
+2004-10-19 10:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: no need to set $::o->{locale} anymore (it
+ was introduced in 1.172, maybe for create_box_with_title(), but
+ doesn't seem useful anymore)
+
+2004-10-19 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix typo
+
+2004-10-19 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/net_monitor: simplify
+
+2004-10-19 09:57 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - perl_checker fixes
+
+2004-10-19 09:26 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - don't hardcore distroname
+ - don't trigger help system when mandrake-doc-common is not
+ installed - don't trigger bug report in oem mode
+
+2004-10-19 09:17 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - don't trigger help system
+ when mandrake-doc-common is not installed - don't trigger bug
+ report in oem mode
+
+2004-10-19 09:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - don't hardcode distro name
+ (usefull for oem to change the distro name at only one place)
+
+2004-10-18 18:38 Warly <warly at mandriva.com>
+
+ * perl-install/crypto.pm: update version checking code of crypto.pm
+
+2004-10-18 14:36 Antoine Ginies <aginies at mandriva.com>
+
+ * make_boot_img: remove build of ka.img (default build)
+
+2004-10-17 22:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-10-17 15:17 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-10-16 19:40 rstandtke
+
+ * perl-install/share/po/de.po: added some translations
+
+2004-10-16 19:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: (update) do not re-select
+ the default interface every 5 seconds
+
+2004-10-15 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, es.po, eu.po, it.po: updated
+ Basque and Amharic files
+
+2004-10-15 15:37 Antoine Ginies <aginies at mandriva.com>
+
+ * make_boot_img: remove boot image (bmp)
+
+2004-10-15 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/adsl.pm: cleanup
+
+2004-10-15 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make perl_checker happy
+
+2004-10-15 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: tools.pm, netconnect.pm: cleanup thanks to
+ perl_checker
+
+2004-10-15 11:29 Antoine Ginies <aginies at mandriva.com>
+
+ * make_boot_img: add support for ka.img
+
+2004-10-14 17:58 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add /sbin/lvm2 to the rescue
+
+2004-10-14 17:58 Pixel <pixel at mandriva.com>
+
+ * rescue/devices.pl: create /dev/md* devices in rescue
+
+2004-10-14 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: no need to run vgscan and vgchange in
+ standalone (nb: /etc/lvmtab is no more used, so i also dropped
+ that check)
+
+2004-10-14 09:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: simplify
+
+2004-10-14 09:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: simplify
+
+2004-10-14 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: simplify
+
+2004-10-14 08:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: cleanup thanks to perl_checker
+
+2004-10-14 08:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakups: perl_checker compliance
+
+2004-10-14 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: cleanup
+
+2004-10-14 08:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: perl_checker compliance
+
+2004-10-14 08:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake, harddrake2: cleanup
+ thanks to perl_checker
+
+2004-10-14 08:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: remove unneeded parentheses
+
+2004-10-14 05:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: document UUID md field
+
+2004-10-14 05:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: put UUID instead of devices in mdadm.conf
+ to be more device naming independant (as requested by Luca Berra
+ on cooker)
+
+2004-10-14 05:52 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-10-14 05:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: even if bugzilla
+ #9755 says 24 bpp is not valid for vmware, Nora Etukudo says the
+ contrary on cooker. the limitation seems to be "The guest X
+ server must run at the same depth and bpp as the host" which is
+ hard to enforce in XFdrake
+
+2004-10-14 04:33 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: mkisofs "-P" option is now "-publisher"
+
+2004-10-13 08:43 Antoine Ginies <aginies at mandriva.com>
+
+ * mdk-stage1/stage1-data/stage1-with-ka.tar.bz2: add stage1 with
+ ka-tools
+
+2004-10-13 08:39 Antoine Ginies <aginies at mandriva.com>
+
+ * mdk-stage1/: network.c, network.h, stage1.c, stage1.h, tools.c,
+ tools.h, url.c, url.h: add new installation method (ka)
+
+2004-10-13 07:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: remove TODO entry regarding
+ configurnig programs that uses fontconfig
+
+2004-10-13 06:32 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-10-13 06:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: make perl_checker
+ happy
+
+2004-10-13 04:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: don't ask the
+ security level in firewire meta_class
+
+2004-10-13 04:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: "portmap status" prints
+ "portmap (pid XXXX) is running..." which bothers progs calling
+ fileshareset (eg: gnome)
+
+2004-10-13 03:25 Pixel <pixel at mandriva.com>
+
+ * help.msg.xml, make_boot_img: remove the "expert" entry
+
+2004-10-12 06:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-26mdk
+
+2004-10-12 06:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) workaround more
+ buggy drivers that returns a bogus driver name for the GDRVINFO
+ command of the ETHTOOL ioctl
+
+2004-10-12 05:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-10-12 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) fix crash
+ introduced by trainee just before the release :-(
+
+2004-10-12 01:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: in grub menu.lst, keep previous
+ "serial ..." and "terminal ..." lines (bugzilla #12054)
+
+2004-10-11 10:04 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2004-10-11 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-25mdk
+
+2004-10-11 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) fix another
+ lying module
+
+2004-10-11 07:39 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: use k3b-dvd by default
+
+2004-10-11 04:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-24mdk
+
+2004-10-10 13:26 vljubovic
+
+ * perl-install/share/po/bs.po: Fixing Bosnian translation
+
+2004-10-10 08:54 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po:
+ updates gi/perl-install/share/po/da.po
+
+2004-10-10 07:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, nb.po: updated Spanish and Bokmål
+ files
+
+2004-10-10 07:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Persian file
+
+2004-10-10 07:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2004-10-10 06:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2004-10-10 06:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-10-10 06:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, hu.po, pl.po, pt.po, uz.po,
+ uz@Latn.po, zh_TW.po: updated Uzbek files; checked various po
+ files against latest *.pot
+
+2004-10-09 17:55 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2004-10-09 11:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove
+ /etc/sysconfig/network-scripts/ethX files
+
+2004-10-09 11:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) remove
+ /etc/sysconfig/network-scripts/ethX files that may have been
+ created by sagem scripts
+
+2004-10-09 11:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) don't write
+ ifcfg-ppp0 for static/dhcp connections
+
+2004-10-09 02:51 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-10-08 17:05 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2004-10-08 13:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: perl_checker cannot currently parse
+ the "encoding" and the "utf8" modules
+
+2004-10-08 12:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change for 10.1-23mdk
+
+2004-10-08 12:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: try /dev/ttyS14 too for
+ serial modems (ie internal PCI modems that don't need any driver
+ but export a serial port instead)
+
+2004-10-08 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-23mdk
+
+2004-10-08 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: start slmodemd when
+ installing it (thus preventing the average user to have to
+ restart his machine in order to get a working connection)
+
+2004-10-08 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix H[CS]F modems
+ configuration (kernel packages were renamed)
+
+2004-10-08 11:12 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Simplify complicated Flags for ppp
+ and kdenetwork-ppp
+
+2004-10-08 11:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix encapsulation for
+ chinese ISPs (Funda Wang, #10965)
+
+2004-10-08 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: - install ppp for RTC modems -
+ install kppp too if KDE is selected - install drivers for HSF and
+ HCF modems
+
+2004-10-08 10:22 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add shareutils installed by default
+ in SYSTEM
+
+2004-10-08 08:41 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: 1660:Welcome to the Printer Setup
+ Wizard
+
+2004-10-08 06:53 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Missing French translations
+
+2004-10-08 06:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-22mdk
+
+2004-10-08 06:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, fr.po: updated Estonian po file
+
+2004-10-08 05:05 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fixes
+
+2004-10-08 03:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: on a recent kernel, we remove any
+ existing devfs= kernel option to enable udev
+
+2004-10-07 18:16 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/sv.po: Updated translations, 100%
+ translated, was 193 fuzzy, 138 untranslated.
+ Whopee.... Swedish translations are now also at 100% ....
+
+2004-10-07 15:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fa.po, fi.po, fr.po, fur.po, ga.po, gl.po, he.po, hi.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, ky.po, lt.po,
+ ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2004-10-07 15:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po: updated
+ pot file
+
+2004-10-07 14:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: corrected "Morocco" name;
+ converted to UTF-8
+
+2004-10-07 14:01 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: update translations, 100%
+ translated, was 22 fuzzy, 2 untranslated.
+
+2004-10-07 11:18 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: Updated POT
+
+2004-10-07 10:40 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-10-07 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add chinese ISPs
+ (fundawang@yeah.net, #10965)
+
+2004-10-07 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: explain
+
+2004-10-07 07:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (first_modem) fix crash at install
+ time
+
+2004-10-07 03:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: fix parsing fully commented
+ Section. eg:
+
+ #Section "Extensions" # Option "Composite" "Enable" #
+ Option "RENDER" "Enable" #Endsection
+
+2004-10-07 02:44 Pixel <pixel at mandriva.com>
+
+ * globetrotter/move.pm, move/move.pm,
+ perl-install/install_steps.pm, perl-install/Xconfig/default.pm,
+ perl-install/Xconfig/main.pm, perl-install/Xconfig/various.pm,
+ perl-install/harddrake/autoconf.pm: - XFdrake can detect a
+ auxmouse which was not detected by mousedrake so we need to call
+ various_xfree_conf() - this implies adding parameter $do_pkgs to
+ a few functions
+
+2004-10-06 15:53 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/sv.po: updated translations, was 269
+ fuzzy, 193 untranslated,
+ is now 171 fuzzy, 136 untranslated, the rest will be done by
+ tomorrow (today?)
+
+2004-10-06 11:22 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2004-10-06 10:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/am.po: updated Amharic file
+
+2004-10-06 09:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Bokmål file
+
+2004-10-06 08:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Bokmål file
+
+2004-10-06 04:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log one more change in 10.1-21mdk
+
+2004-10-06 04:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-21mdk
+
+2004-10-06 04:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) fix detecting UPS
+ devices
+
+2004-10-06 03:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix regexp decompose_vmlinuz_name
+ (broke with kernel vmlinuz-2.6.8.1-12.1mdk)
+
+2004-10-06 02:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: Unneccessary in
+ cooker
+
+2004-10-05 18:19 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-10-05 13:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Further normalization of updates
+ directories.
+
+2004-10-05 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (font_choice) remove debug
+ message
+
+2004-10-05 12:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: Add a dummy
+ ask_yesorno for autoinstalls
+
+2004-10-05 12:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: New mirror structure for official updates
+
+2004-10-05 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-20mdk
+
+2004-10-05 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) add proper support for
+ "American Power Conversion|Back-UPS"
+
+2004-10-05 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: in manual adding: - let's have
+ unique UPS names in the list - fix reading driver from the list
+
+2004-10-05 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: write config in pure wizard mode
+
+2004-10-05 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (writeconf) restart upsd daemon
+
+2004-10-05 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (supplCDMountPoint) perl_checker cleanup
+
+2004-10-05 09:23 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix madwifi_kernel in madwifi-kernel
+
+2004-10-05 09:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: add TMPDIR
+
+2004-10-05 09:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: use TMPDIR
+
+2004-10-05 08:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) fix port for MGE's USB
+ UPSes
+
+2004-10-05 08:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm: don't install updates when meta_class
+ is firewall
+
+2004-10-05 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) fix drivers
+
+2004-10-05 08:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: for meta_class
+ firewall, call the general netconnect function
+
+2004-10-05 08:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/services.pm: fixed encoding problem with the output
+ of start/stop init scripts (the output must be forced to utf-8 in
+ order to have it displayed in gtk2)
+
+2004-10-05 08:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) typo fix
+
+2004-10-05 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: install nut earlier
+
+2004-10-05 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: fix installing nut
+
+2004-10-05 08:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: don't
+ warnAboutNaughtyServers if meta_class is firewall
+
+2004-10-05 08:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: no special theme for meta_class
+ firewall
+
+2004-10-05 08:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't configure firewall
+ after configuring network during install (in summary you can
+ configure firewall directly)
+
+2004-10-05 08:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: no special theme for meta_class
+ firewall
+
+2004-10-05 08:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) detect "American Power
+ Conversion" UPS too
+
+2004-10-05 07:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix closing import dialog
+ (#11052)
+
+2004-10-05 07:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (save) applying changes can
+ be quite time expensive, especially with ppp and wifi connections
+ thus let's show the same "wait" dialog like in the old interface
+
+2004-10-05 04:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove bad uniq now unneeded
+
+2004-10-05 04:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: don't use
+ devices::part_number(), otherwise it fails with c0d0p* devices
+
+2004-10-05 04:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox->set_text) do not die in
+ official release
+
+2004-10-05 04:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-19mdk
+
+2004-10-05 03:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add a few new ADSL ISP :
+ Argentina (Speedy), Austria (AON), Morrocco (Maroc Telecom) and
+ Thailand (Asianet) (baud)
+
+2004-10-05 03:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix wrong VCI which wasn't
+ in hexa for brazililan Velox/Telemar ISP (baud)
+
+2004-10-05 02:29 Pixel <pixel at mandriva.com>
+
+ * tools/specific_arch: specific_arch will now return only the
+ specific arch file, not the main one (which is what we want for
+ perl-install/share/symlinks, perl-install/share/list and
+ rescue/list)
+
+2004-10-05 02:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove unused specific_arch
+
+2004-10-05 02:26 Pixel <pixel at mandriva.com>
+
+ * kernel/Makefile: no need for using specific_arch, it's much nicer
+ done with if's in update_kernel
+
+2004-10-04 16:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (apply) recompute NETWORK
+ and BROADCAST fiels in manage interface
+
+2004-10-04 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (manage) use both type and
+ device name in non-ethernet interfaces list
+
+2004-10-04 13:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) do not
+ crash if BOOTPROTO is empty, use 'none' by default (#11899)
+
+2004-10-04 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-18mdk
+
+2004-10-04 11:34 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-10-04 11:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not lose GATEWAYDEV if it
+ is a non wireless one and a static wireless card is configured
+ (and vice versa)
+
+2004-10-04 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: remove what should had
+ never been commited
+
+2004-10-04 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix in 10.1-17mdk's changelog
+
+2004-10-04 09:39 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix "Corporate Desktop" advertisment
+
+2004-10-04 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-17mdk
+
+2004-10-04 09:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not disable glx
+ when switching from nvidia driver to nv (indirect support,
+ #11285)
+
+2004-10-04 09:20 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: 1645: NOTE: Depending on the
+ printer model and the printing system up to %d MB of additional
+ software will be installed.
+
+2004-10-04 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not failled when hw
+ db is corrupted
+
+2004-10-04 08:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: make perl_checker happy
+
+2004-10-04 07:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: write wlan-ng config files
+ for prism2 drivers
+
+2004-10-04 07:50 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: mdkkdm is now the default again
+
+2004-10-04 07:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: 64-bit fixes for x86_64
+
+2004-10-04 07:30 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fs/type.pm: re-enable xfs on x86_64, for testing
+
+2004-10-04 07:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.x86_64: add grub files
+
+2004-10-04 07:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list: lib64 fixes, add im-cedilla
+
+2004-10-04 07:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: updates for xorg
+
+2004-10-04 07:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: x86_64 is a lib64 platform, so
+ handle nvidia glx here too (and ati in the future)
+
+2004-10-04 07:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: handle lib64 dirs, build pcmcia stuff on
+ x86_64 too, handle arch-specific symlinks additions.
+
+2004-10-04 07:16 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/symlinks.x86_64: extra links on x86_64
+
+2004-10-04 07:14 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/rescue-gui.c: allow recovery of MS bootloader on x86
+ too
+
+2004-10-04 07:13 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: full acpi support on x86_64, generate the same
+ images as on x86
+
+2004-10-04 05:41 rstandtke
+
+ * perl-install/share/po/de.po: some additions
+
+2004-10-04 05:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-16mdk
+
+2004-10-04 04:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: fix inverted translation for
+ autologin
+
+2004-10-04 02:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-10-03 23:46 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-10-03 19:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove TYPE field in ifcfg
+ files if connection type isn't ADSL
+
+2004-10-03 19:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fix
+
+2004-10-03 18:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not lose ONBOOT setting
+ for manual/dhcp dsl connections
+
+2004-10-03 18:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: misc sagem fixes: - allow to
+ write static ip in eagle-usb.conf (write this file later) - load
+ sagem specific modules/programs before config is written - do not
+ reset IP address each time it is configured - automatically guess
+ gateway for static connections
+
+2004-10-03 18:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix typo
+
+2004-10-03 18:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (sagem_set_parameters,
+ adsl_conf_backend): write static ip in eagle-usb.conf if needed
+ for sagem modems, else erase it
+
+2004-10-03 16:09 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Small updates for ca
+
+2004-10-03 16:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not break the "IP %s
+ address is usually reserved" warning
+
+2004-10-03 12:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, pt.po: updated Persian file; put
+ back current version of Portuguese file
+
+2004-10-03 10:45 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-10-03 09:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureNetwork)
+ load only ethernet modules before easy_dhcp (this will load
+ firewire modules after other ethernet modules, so firewire
+ interfaces won't always take the name eth0)
+
+2004-10-03 05:49 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/menu-messages/da.po
+ soft/mdkonline/po/da.po soft/mountloop/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-10-02 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: fix keyboard names
+
+2004-10-02 06:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2004-10-01 15:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2004-10-01 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: create $intf->{sagem} when
+ needed before checking it exists ... (make sagem usable again
+ with dhcp/static connections)
+
+2004-10-01 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-15mdk
+
+2004-10-01 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker cleanup
+
+2004-10-01 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-14mdk
+
+2004-10-01 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: run harddrake
+ service on stop
+
+2004-10-01 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: on stop blacklist
+ snd-usb-audio
+
+2004-10-01 09:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: (detect) fix synaptics auto-detection
+
+2004-10-01 07:05 Daouda Lo <daouda at mandriva.com>
+
+ * tools/cvslog2changelog.pl: - added Romain
+
+2004-10-01 06:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-10-01 06:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/man/C/man8/drakconnect.8: typo fixes
+
+2004-10-01 06:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-13mdk
+
+2004-10-01 06:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: try harder to include IMs on CDs
+
+2004-10-01 06:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: add --wizard option in order to
+ directly run the wizard
+
+2004-10-01 06:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: do not show banner when embedded
+
+2004-10-01 04:21 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: call the scripts in
+ /etc/sysconfig/network-scripts/hostname.d like the network
+ scripts are doing when changing the hostname.
+
+2004-10-01 04:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: compssUsers-discovery.pl,
+ compssUsers-powerpack.pl, compssUsers-powerpackplus.pl,
+ compssUsers.pl: dynamically choose the compssUsers based on
+ meta_class, so now we have only one compssUsers.pl
+
+2004-10-01 04:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - prosuite is now named powerpackplus -
+ simplify the code searching for the meta_class
+
+2004-10-01 03:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, pkgs.pm: fix logging
+ rpmsrate_flags_chosen
+
+2004-10-01 03:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: revert part of the commit that was
+ not done on purpose (nb: don't modify rpmsrate *after* running
+ clean-rpmsrate)
+
+2004-09-30 22:40 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: 1612: Edit selected server
+
+2004-09-30 18:21 Marco De Vitis <mdv at spin.it>
+
+ * perl-install/share/po/it.po: fix
+
+2004-09-30 16:39 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: Updated translations, 100%
+ translated, was 17 fuzzy, 78 untranslated.
+
+2004-09-30 12:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated po file
+
+2004-09-30 11:12 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/: compssUsers-discovery.pl,
+ compssUsers-powerpack.pl, compssUsers-powerpackplus.pl,
+ compssUsers.desktop, compssUsers.pl, compssUsers.powerpack,
+ compssUsers.server, rpmsrate: Update
+
+2004-09-30 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: typo fix
+
+2004-09-30 10:12 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - Numeric comparisons
+
+2004-09-30 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (configure_kdeglobals) set KDE in m17n
+ emvironment if needed
+
+2004-09-30 09:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: kinds() must return all kinds
+
+2004-09-30 09:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, install_steps_interactive.pm,
+ standalone/drakauth: only allow Active Directory for the
+ corporate product
+
+2004-09-30 09:15 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-30 09:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: don't die when device-mapper is missing
+ (occurs on 2.4 kernel) (bugzilla #11834)
+
+2004-09-30 08:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) provide more data on UPS
+ (arnaud quette)
+
+2004-09-30 08:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list tablets too with mice
+
+2004-09-30 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm,
+ standalone/icons/harddrake2/ups.png: use a distinct icon for UPS
+ devices in harddrake GUI
+
+2004-09-30 07:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: split localedrake menu entry in two
+ ones: - one for user config - one for system (embedded in mcc)
+
+2004-09-30 07:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix UPS devices listed in both
+ "UPS" and "unknown" classes
+
+2004-09-30 07:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add one missing log in 10.1-12mdk
+
+2004-09-30 07:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-12mdk
+
+2004-09-30 06:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list all mice and keyboards (thus
+ lowering unknown hardware in hwdb-clients)
+
+2004-09-30 06:32 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Remove ssl config in ldap Add
+ pam_mkhomedir for ldap
+
+2004-09-30 06:31 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: 1425:WARNING: this device
+
+2004-09-30 06:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: translate reverted messages so that
+ they got smoothly uncommented once drakauth changes are merged
+ back after mdk10.1 release
+
+2004-09-30 06:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-30 06:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getInputDevices) introduce it in
+ order to list input devices
+
+2004-09-30 05:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-30 03:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-30 03:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: revert enhancement commit since
+ we are in deep freeze
+
+2004-09-30 02:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hr.po, sv.po: updated Croatian and
+ Swedish files
+
+2004-09-30 02:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/authentication.pm: removed "\t" and "\n" out of
+ translatable strings to avoid useless duplication; fixed English
+ typographic errors (don't put spaces before colons!).
+
+2004-09-29 23:37 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-09-29 20:46 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Add more new entry for LDAP
+
+2004-09-29 17:50 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-09-29 17:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: check every 5 seconds
+ (instead of 20) for new or disconnected interfaces (#11780)
+
+2004-09-29 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - disable the new gtk smart
+ search which display an entry box - fix return value of
+ key_press_event for some cases (otherwise arrow keys do not
+ work)
+
+2004-09-29 08:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: corrected typo
+
+2004-09-29 07:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: ensure gdk loaders, gtk immodules
+ and pango modules lists are correct
+
+2004-09-29 07:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: (version) print translated usage
+ message (#5657)
+
+2004-09-29 06:15 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: install_urpmi now writes a names
+ file for each media
+
+2004-09-29 06:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix titi sux
+
+2004-09-29 05:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) fix setting fonts at install time
+
+2004-09-29 05:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table/raw.pm: don't die when
+ failing to open a device (to get its geometry), skip it instead
+ (as used to be done before partition_table::raw::get_geometries()
+ was introduced)
+
+2004-09-29 05:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) simplify
+
+2004-09-29 04:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_preload_conf) preload nvram on
+ laptops
+
+2004-09-29 04:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add raid-extra-boot=mbr when installing on
+ mdX (bugzilla #11699)
+
+2004-09-29 04:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-28 19:14 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-09-28 15:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: test if IP address is already
+ used for static interfaces (do not test for sagem DSL devices
+ since it may use many ifcfg files)
+
+2004-09-28 11:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: sort wireless entries
+
+2004-09-28 09:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: More logs on install_urpmi
+
+2004-09-28 08:24 Pixel <pixel at mandriva.com>
+
+ * rescue/install_bootloader: handle /etc/mandrakelinux-release
+
+2004-09-28 07:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: use Driver "keyboard" instead of
+ "Keyboard" (for Xorg 6.8)
+
+2004-09-28 07:03 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: madwifi_pci => ath_pci
+
+2004-09-28 06:55 Frederic Lepied <flepied at mandriva.com>
+
+ * kernel/list_modules.pm: added ath_pci wireless driver
+
+2004-09-28 04:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ printer/main.pm, printer/printerdrake.pm,
+ standalone/printerdrake: - make
+ printer::printerdrake::install_spooler() work with an optional
+ $in - many functions now take $security (which used to be taken
+ from $in during install) - fix some functions with empty
+ prototype but still using a parameter - remove some unused
+ variable - rename some $_foo vars to $foo since those vars are
+ used - add some undef to some function calls to be minimally
+ perl_checker compliant - perl_checker compliant optional
+ parameters in start_spooler_on_boot(), install_spooler()
+
+2004-09-27 17:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: I sux, fix priority
+
+2004-09-27 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: use input/mice instead of psaux for
+ synaptics touchpads (#11771) (input/mice won't work with 2.4
+ kernels, but it doesn't matter since the config file is rewritten
+ at boot on major kernel change, and synaptics devices are not
+ configured for 2.4 kernels)
+
+2004-09-27 15:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: (bg_command_as_root) use kdesu in
+ kde
+
+2004-09-27 15:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: (get_default_gateway_interface)
+ try to detect default connection in this order : adsl > isdn >
+ modem > ethernet
+
+2004-09-27 15:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ask to connect for
+ isdn_external too
+
+2004-09-27 14:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't scramble
+ $netcnx->{type}
+
+2004-09-27 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ask to connect for modem/isdn
+ connections too (crappy fix, this needs to be redesigned once
+ 10.1 is out)
+
+2004-09-27 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/lvm_PV.pm: fix typos
+
+2004-09-27 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/lvm_PV.pm: simplify and handle LVM2,
+ *but* since creating a LVM2 PV on a non partitioned drive doesn't
+ modify the MBR, it won't help if the MBR is empty or a valid dos
+ partition table, since those are checked first... but i won't
+ change this so late in the release cycle
+
+2004-09-27 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix last commit
+
+2004-09-27 12:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: we really support all
+ linmodems (including Hsf and Hcf ones) with 2.6 kernels
+
+2004-09-27 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (get_user_or_group) list users
+ rather than groups when requested for (anthill #1161)
+
+2004-09-27 10:45 Warly <warly at mandriva.com>
+
+ * perl-install/share/: rpmsrate.corpo-desktop,
+ rpmsrate.corpo-server: add ximian connector with evolution and
+ change mdkonline to mdkonline-backend
+
+2004-09-27 10:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: fail if
+ legacy_sectors_per_track or legacy_max_head doesn't exist instead
+ of returning garbage (bugzilla #11738)
+
+2004-09-27 10:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2004-09-27 09:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2004-09-27 08:07 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic.bmp: 10.1 final image
+
+2004-09-27 08:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm, install2.pm: better logging
+
+2004-09-27 06:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: perl_checker compliance
+
+2004-09-27 06:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bn.po, uk.po: updated Bengali and
+ Ukrainian files
+
+2004-09-27 06:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove from perl-Gtk2 directories from
+ /tmp/list to have less warnings
+
+2004-09-27 06:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix typo
+
+2004-09-27 05:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: don't call
+ compute_nb_cylinders() before checking {sectors} and {heads} are
+ valid
+
+2004-09-27 05:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate.corpo-server: mandrakegalaxy
+
+2004-09-27 05:20 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate.corpo-desktop: clean-ups (factor out)
+ + fixes for lib64 packages
+
+2004-09-27 04:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: fixed KDE font names to match currently
+ shiped Xfs font names
+
+2004-09-26 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: I am stupid, start when
+ asked to start, stop when asked to stop
+
+2004-09-26 14:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix again running processes
+ detection
+
+2004-09-26 14:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: (ConnectNow) specify device to
+ iwconfig when applying settings (partial fix for #11279)
+
+2004-09-26 10:47 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: perl-install:1310 Manual
+ choice
+
+2004-09-26 10:10 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-09-26 08:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: (go2state) do not
+ destroy/re-create menu if state hasn't changed, or else the menu
+ may disappear without any reason
+
+2004-09-25 12:20 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 1283 The most
+ common
+
+2004-09-24 17:20 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Small catalan updates
+
+2004-09-24 11:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.1-11mdk's changelog
+
+2004-09-24 11:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) refix list
+ refreshing on UPS adding
+
+2004-09-24 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: increase the max size of the swap
+
+2004-09-24 11:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-11mdk
+
+2004-09-24 10:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix field name
+
+2004-09-24 10:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove unused code
+
+2004-09-24 09:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: oops, i missed a
+ ->cleanupPrinter here. inline it here too
+
+2004-09-24 08:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ install_steps must not call a method only defined in
+ install_steps_interactive, inline it
+
+2004-09-24 08:30 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove dead code
+
+2004-09-24 08:01 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: slmodem-kernel and bluez-utils
+
+2004-09-24 07:33 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/install_steps.pm: Mandrakelinux
+
+2004-09-24 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: fix typos in usage
+
+2004-09-24 07:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Better handling of relative paths
+
+2004-09-24 07:09 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2004-09-24 07:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not disable ifplugd
+ support for wireless cards
+
+2004-09-24 06:42 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Ask only once for a supplementary CD
+
+2004-09-24 04:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: don't ask when $in is not
+ set in security_check()
+
+2004-09-24 03:59 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix 10.0-style paths
+
+2004-09-24 03:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Save hdlists and synthesis as user root
+
+2004-09-23 23:29 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-09-23 15:40 rstandtke
+
+ * perl-install/share/po/de.po: some additions and fixes
+
+2004-09-23 12:59 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Missing bit from the trunk
+
+2004-09-23 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add support for SKIM IM
+
+2004-09-23 11:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install scim for hindic
+ (native keyboards're availlable)
+
+2004-09-23 11:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: call fsedit::auto_allocate()
+ with $o->{partitions} so be able to fix a partitioning scheme in
+ a defcfg
+
+2004-09-23 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: install x-unikey for vietnamese (aka sync
+ with share/rpmsrate)
+
+2004-09-23 08:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: gives a change to be on CDs to skim
+
+2004-09-23 06:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config: Introducing TMPDIR
+
+2004-09-23 06:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install kernel packages for
+ winmodems
+
+2004-09-23 06:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: allow SYNC=no option in
+ /etc/sysconfig/dynamic
+
+2004-09-23 05:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-23 05:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: use Sazanami Gothic for everything in
+ japanese (Yukiko Bando)
+
+2004-09-23 04:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_configure) add a specific
+ udev script in addition to the udev rules file to create
+ /dev/modem (ttySL0 is a symlink, udev won't be called when it's
+ created)
+
+2004-09-23 04:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) fix old typo, do
+ not reset vpi and vci if vpi is zero
+
+2004-09-22 23:46 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-09-22 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: rename "|Télé2 128k " as
+ "|Télé2" so that users don't choose a random provider with wrong
+ vci/vpi settings
+
+2004-09-22 11:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: A trimmed-down version of the
+ supplementary media handling routine of 10.1 community. It
+ handles only supplementary CDs.
+
+2004-09-22 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix badly phrased translation
+
+2004-09-22 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po: before exclamation marks,
+ ellipsises, question marks and colons: - replace spaces by non
+ breaking spaces where appropriate - add missing spaces
+
+2004-09-22 11:07 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Selection of supplementary media is
+ now a method.
+
+2004-09-22 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix a translation
+
+2004-09-22 10:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ New method selectSupplMedia
+
+2004-09-22 10:07 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Don't read packages twice
+
+2004-09-22 09:48 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Fix variable name
+
+2004-09-22 09:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Handle reading multiple "hdlists" files
+ (for supplementary media)
+
+2004-09-22 08:01 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: More CD­rom mountpoint flexibility
+
+2004-09-22 07:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Backport utility functions from 10.1
+
+2004-09-22 07:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Better error reporting with rpm
+ installation failures
+
+2004-09-22 06:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Always return a hashref from
+ pkgs::packageMedium()
+
+2004-09-22 06:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Cope with different cd-rom
+ mountpoints
+
+2004-09-22 06:34 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-09-22 06:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: silently ignore encrypted filesystems with no
+ encrypt_key
+
+2004-09-22 06:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: module aes is now named aes-i586
+ (bugzilla #11588)
+
+2004-09-22 06:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: remove the backtrace
+
+2004-09-22 05:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: call pvremove on every PVs when destroying a
+ VG (to clear the LVM2 magic) (bugzilla #11579)
+
+2004-09-22 05:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: more logging
+
+2004-09-22 05:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: better logging
+
+2004-09-22 05:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-09-22 04:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/Makefile: Separate mdkinst_stage2 step in makefile
+
+2004-09-22 04:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: simplify
+
+2004-09-22 04:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use ttySL0 for slmodem, so
+ that a symlink to /dev/modem is done (#8947 again)
+
+2004-09-22 04:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't set {meta_class} from file
+ VERSION when it is already given on cmdline
+
+2004-09-22 04:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2004-09-22 04:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix an old ugly typo
+
+2004-09-22 02:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't add /dev/pts line in fstab anymore
+ (it's done in initrd and udev)
+
+2004-09-21 21:29 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-09-21 19:40 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-09-21 12:04 Warly <warly at mandriva.com>
+
+ * perl-install/Makefile: revert wrongly uploaded Makefile
+
+2004-09-21 11:35 Warly <warly at mandriva.com>
+
+ * perl-install/: Makefile, share/compssUsers.corpo-server,
+ share/list, share/rpmsrate, share/rpmsrate.corpo-desktop,
+ share/rpmsrate.corpo-server, share/themes-corporate.rc,
+ share/advertising/dwd-01.pl, share/po/DrakX.pot, share/po/fr.po:
+ Added some corporate specific changes
+
+2004-09-21 11:31 Warly <warly at mandriva.com>
+
+ * perl-install/pkgs.pm: temporary workarround to fix extra CD
+
+2004-09-21 11:25 Warly <warly at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Display group
+ selection in corporate
+
+2004-09-21 11:23 Warly <warly at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: do not display workstation
+ entries in corporate server
+
+2004-09-21 11:21 Warly <warly at mandriva.com>
+
+ * perl-install/install_gtk.pm: use corporate gtk theme in corporate
+
+2004-09-21 11:20 Warly <warly at mandriva.com>
+
+ * perl-install/any.pm: do not use default autologin in corporate
+
+2004-09-21 08:29 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-21 08:13 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: list-dis, list-dwd, list-ppp,
+ list-pwp, lpi.pl, lpi.png: Add LPI advertisement
+
+2004-09-21 07:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-21 07:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2004-09-21 07:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2004-09-21 06:43 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: rebreakify, tv likes it
+
+2004-09-21 06:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: run grub installation program in
+ chroot so that to avoid weird pbs at times
+
+2004-09-21 06:36 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list: add missing gtk module (im-cedilla),
+ arrangements for new pango
+
+2004-09-21 06:35 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * isolinux-graphic.amd64.bmp: add amd64 boot logo used in 10.0
+
+2004-09-21 06:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: always enable ACPI on x86_64, add "noacpi" entry
+ in that case, add more boot images on x86_64 too, handle special
+ "cdcom" images, specialise boot logo for amd64.
+
+2004-09-21 06:28 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: pcmcia modules work on x86_64 too, add more
+ modules now that they can be stripped, add "iteraid" to
+ hardware_raid list(?)
+
+2004-09-21 06:16 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/check_mar.pl: tlan is not available on x86_64
+
+2004-09-21 06:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: - remove big "tcic", "i82365", "i82082"
+ on x86_64 (docs say "older laptops") - add 3w-9xxx support driver
+
+2004-09-21 06:08 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: - use correct name for
+ mandrakegalaxy - install cxoffice if available - move rp-pppoe to
+ appropriate location
+
+2004-09-21 06:07 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.x86_64: add grub stuff to rescue
+
+2004-09-21 06:04 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: strip modules for 2.6 kernels too
+
+2004-09-21 04:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: allow ignoring X config file when
+ it contains errors
+
+2004-09-21 04:32 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile: nuke extra images dedicated to host cdcom drivers (e.g.
+ "nvidia")
+
+2004-09-21 04:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/stage1.c: same dirtly little hack (a cleanup actually)
+
+2004-09-21 04:30 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/init.c: dirty little hack from pixel/gc to let mdk
+ stage1 work with newer kernels ("testing" variable is supposedly
+ obsolete btw)
+
+2004-09-21 04:29 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/rescue-gui.c: make it possible to restore windows boot
+ loader on x86_64 too
+
+2004-09-21 04:28 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: pcmcia works on x86_64 too, update stage1
+ build for 10.0
+
+2004-09-21 04:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/pcmcia_/: cardmgr.c, cirrus.h, cs.h, cs_types.h,
+ driver_ops.h, ds.h, i82365.h, vg468.h, yacc_config.c,
+ yacc_config.h: clean-up, merge, fix pcmcia subsystem to make it
+ work on x86_64
+
+2004-09-21 04:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: don't allow a broken X configuration to
+ break mouse configuration
+
+2004-09-21 03:58 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-09-20 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) do not let
+ speedtouch-start launch connection
+
+2004-09-20 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: add translator hints; real fix
+ will be in mdk10.2: s!N("(.*?) \"(ALL)\" (.*?)"!N("\1 %s \3",
+ N("\2"))! and the like
+
+2004-09-20 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: perl_checker compliance
+
+2004-09-20 12:02 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic.bmp.parameters: saving the right file :-(
+
+2004-09-20 12:01 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic.bmp, isolinux-graphic.bmp.parameters: cleaner
+ image using: - colors aligned modulo 4 - background quantize to
+ 128 colors using ImageMagick and treedepth=6 - final bmp
+ constructed with the background above and saved in 128 colors
+ with photoshop (!)
+
+2004-09-20 11:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Fix supplementary CDs with any kind of
+ media
+
+2004-09-20 11:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, fs.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm,
+ partition_table.pm, diskdrake/interactive.pm,
+ fs/mount_options.pm, fs/type.pm, standalone/drakupdate_fstab: -
+ add field {part_number} for partitions (handle it in
+ subpart_from_wild_device_name(), partition_table::read()) -
+ create migrate_device_names() to handle the change of device
+ names when changing kernel&modules (eg: hde->hda or hda->sda) -
+ change prototype of install_any::use_root_part() (prefix is
+ dropped, optional $in is added) - create
+ fs::type::can_be_this_fs_type() and use it - create
+ devices::part_number() and devices::part_prefix() and use them
+
+2004-09-20 10:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not write config two times
+ for lan connections
+
+2004-09-20 10:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: more zeroconf fixes (zcip isn't
+ a service, stop tmdns service if zeroconf is disabled, check
+ tmdns init file in prefix/etc)
+
+2004-09-20 09:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove no longer necessary hack.
+
+2004-09-20 09:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: move "Start at boot" step for
+ lan-like adsl/cable connections
+
+2004-09-20 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) default to
+ automatic detection
+
+2004-09-20 07:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: remove connection time timer
+ if connection fails (fix #11590)
+
+2004-09-20 07:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) use avmadsl
+ option for capi cards to use settings generated by drdsl
+
+2004-09-20 07:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-20 04:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: merged with current pot file
+
+2004-09-20 03:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_any.pm, network/tools.pm,
+ standalone/bootloader-config, standalone/diskdrake,
+ standalone/drakboot: - don't use fs::get_info_from_fstab() in
+ install_any::use_root_part() to be able to handle renamed
+ devices - fs::get_info_from_fstab() doesn't take a prefix anymore
+ - small perl_checker fix in install_any.pm
+
+2004-09-20 02:14 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo
+
+2004-09-19 20:41 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 1210 Circular
+ mounts
+
+2004-09-19 08:07 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates (ugh!)
+ gi/perl-install/share/po/da.po
+
+2004-09-19 05:29 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates
+ gi/perl-install/share/po/da.po
+
+2004-09-19 04:21 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-19 03:37 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-09-18 09:59 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-09-18 05:31 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-09-18 04:02 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-09-17 19:16 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-09-17 18:49 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/drakbt/po/da.po
+ soft/drakpxelinux/po/da.po gi/perl-install/share/po/da.po
+
+2004-09-17 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table/dos.pm,
+ partition_table/raw.pm: try to get geometry from EDD
+
+2004-09-17 10:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: perl_checker cleanup
+
+2004-09-17 09:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) really
+ enable zeroconf if zeroconf is requested
+
+2004-09-17 09:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) write blank
+ zeroconf hostname if zeroconf is disabled, else drakconnect will
+ assume it is enabled
+
+2004-09-17 09:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) use services
+ do disable zeroconf, do not disable if it doesn't exist (to avoid
+ warnings in console)
+
+2004-09-17 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: remove debug message :-)
+
+2004-09-17 09:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: refresh UPS list when adding a
+ new UPS though the add wizard
+
+2004-09-17 08:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) fix
+ automatically detect/add an UPS
+
+2004-09-17 07:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install NUT for "American Power
+ Conversion|Back-UPS Pro 500" too
+
+2004-09-17 07:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-10mdk
+
+2004-09-17 07:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: update iftab when new
+ ethernet devices are detected
+
+2004-09-17 07:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: probe firewire and
+ pcmcia network devices too
+
+2004-09-17 05:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases) don't
+ write aliases for pcmcia cards but remove them, or else the
+ pcmcia service won't be started correctly (the ethernet module
+ being loaded, pcmcia_core would be loaded too, and the pcmcia
+ service would think it is already started ...)
+
+2004-09-17 05:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases) kill
+ code that can't do anything good (remove_alias isn't intended to
+ be used with the module name)
+
+2004-09-17 05:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) make sure the
+ speedtch kernel module won't be hidden
+
+2004-09-16 23:52 rcasha
+
+ * perl-install/share/po/mt.po: var
+
+2004-09-16 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-16 15:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-16 15:27 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: jorge
+
+2004-09-16 12:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: fixed typo
+
+2004-09-16 10:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't support all slmodem
+ cards, our agreement forbid it :-/
+
+2004-09-16 10:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: add as a comment the
+ "convert" command
+
+2004-09-16 09:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: Kludgy fix
+ for bug 11558 : sometimes when restarting the installer at the
+ step where partitions are read, it'll be needed to reaload the
+ rpmsrate and compssUsers.pl to avoid a crash a bit later.
+
+2004-09-16 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) fix device
+ list in wizard
+
+2004-09-16 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: perl_checker cleanups
+
+2004-09-16 09:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-16 09:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: C3 has "cpu family" == 6, so now
+ also checking that cmov flag is available to say we have a i686
+
+2004-09-16 08:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install isdn-light, it's
+ unused, unsupported, and breaks isdn4net
+
+2004-09-16 08:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) use
+ network::tools to probe connection type
+
+2004-09-16 08:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fixed typo (no spaces before
+ question marks in English)
+
+2004-09-16 07:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Better retry on error handling for
+ supplementary media
+
+2004-09-16 06:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Include locale.pm in the install, since
+ ugtk2 now uses it.
+
+2004-09-16 06:42 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic.bmp: image generated using
+ draksplash2+ImageMagick with treedepth=6
+
+2004-09-16 06:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: imagemagick can do what gimp
+ can't: reduce the number of colors while using a fixed treedepth
+ different than 24bpp (we want 6*3 = 18bpp)
+
+2004-09-16 06:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm: stop capi service before
+ new config is written so that capiinit can unload the old driver
+
+2004-09-16 06:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not ask "capidrv or
+ capidrv ?" ...
+
+2004-09-16 06:07 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp, isolinux-graphic.bmp.parameters: reindexed
+ isolinux-graphic.bmp and update parameters
+
+2004-09-16 05:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksplash2: display the stepping effect
+
+2004-09-16 05:18 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic-simple.bmp.parameters: update (it only sorts
+ entries, will help future diff)
+
+2004-09-16 04:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: make isdn over
+ capi work again
+
+2004-09-16 03:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: on a test here, a "Server
+ died" occured whereas the server is running. i think it can
+ occur if the server is in fact not even started. Trying to handle
+ this case
+
+2004-09-16 00:37 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-09-15 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getBewan) use more permissive
+ regexp for PCI modem, description in pcitable may change
+
+2004-09-15 12:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install unicorn-kernel
+ package if available
+
+2004-09-15 12:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add dkms-minimal in INSTALL
+
+2004-09-15 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (get_text_coord) fix wrapping for CJ when
+ mixed with english strings (eg: cuted "Mandrakesoft" word)
+
+2004-09-15 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (interactive_mode_box) better
+ make parameter optionnal
+
+2004-09-15 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update (note that my welsh needs to
+ be reviewed as well as my 2004/08/13 update)
+
+2004-09-15 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add "Unlisted - edit
+ manually" entry in modem provider list (fix #11549)
+
+2004-09-15 11:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm, netconnect.pm: do not
+ add prefix in path given to ensure_is_installed ! (i.e. replace
+ untested code with untested code), fix #11547 and more
+
+2004-09-15 11:34 vljubovic
+
+ * perl-install/share/po/bs.po: A small fix
+
+2004-09-15 11:31 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Use radio buttons in media
+ selection (wildman). perl_checker compliance.
+
+2004-09-15 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (get_text_coord) kill unused character
+
+2004-09-15 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: (load_category__prompt) fix
+ spacing in module list
+
+2004-09-15 08:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add comment
+
+2004-09-15 08:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: explicit scalar false value (otherwise it
+ gives () in list context)
+
+2004-09-15 07:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: last minute changes in 10.1-9mdk
+
+2004-09-15 07:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-15 07:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) don't create
+ empty pppoe.conf if the package isn't installed
+
+2004-09-15 07:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: load modules and run start programs
+ in standalone too, so that it will work even if the packages have
+ just been installed
+
+2004-09-15 07:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-15 07:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-9mdk
+
+2004-09-15 07:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: no need to require pkgs (and it makes
+ bootloader-config some break when removing entries)
+
+2004-09-15 07:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: removed "caps:shift" it never fully
+ solved the problem of turkish keyboards anyway; and a much better
+ solution is done on newer keyboard maps in xorg package.
+
+2004-09-15 06:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, az.po, bg.po, da.po, el.po, fa.po,
+ id.po, is.po, ja.po, ky.po, mk.po, pt_BR.po, sk.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, tl.po, tr.po: unfuzzy a few sagem strings
+
+2004-09-15 06:10 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp.parameters: progress bar was too long
+
+2004-09-15 05:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages) kill unused
+ variable
+
+2004-09-15 05:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-15 05:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/netconnect.pm,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: fix PPPoA case
+
+2004-09-15 04:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-15 04:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo in 10.1-6mdk's and
+ 10.1-7mdk's changelog
+
+2004-09-15 02:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-09-15 02:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uz.po, uz@Latn.po: updated Uzbek files
+
+2004-09-14 17:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureNetwork) commit
+ forgotten patch (I sux)
+
+2004-09-14 14:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2004-09-14 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureNetwork)
+ load all network modules before network auto-configuration, so
+ that all interfaces will be available and written in iftab
+
+2004-09-14 14:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, bn.po: corrected "<control>X"
+ strings
+
+2004-09-14 12:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo in 10.1-7mdk's changelog
+
+2004-09-14 12:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, bn.po, es.po, fi.po, fur.po,
+ it.po, ms.po, pt.po: corrected default:LTR entries
+
+2004-09-14 12:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: comment for default:LTR
+
+2004-09-14 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-8mdk
+
+2004-09-14 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: adapt to new nvidia
+ driver location
+
+2004-09-14 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) offer to select IM if
+ language has one preselected (else option is only availlable in
+ advanced mode)
+
+2004-09-14 12:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: comment on default:LTR
+
+2004-09-14 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/man/C/man8/drakconnect.8: remove
+ reference to ipchains
+
+2004-09-14 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-7mdk
+
+2004-09-14 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools, drakxtools.spec:
+ package man pages
+
+2004-09-14 11:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: adapt to kernel packages naming
+
+2004-09-14 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/man/C/man8/drakconnect.8: add drakconnect
+ man page
+
+2004-09-14 11:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to configure slmodem
+
+2004-09-14 11:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getModem) use network/slmodem
+ category
+
+2004-09-14 11:16 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add network/slmodem category
+
+2004-09-14 10:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table.pm,
+ diskdrake/interactive.pm, fs/mount_options.pm: - ensure
+ {is_removable} field is there for created partitions, not only
+ existing partitions - it breaks Create(), fixing
+
+2004-09-14 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) document it
+ somewhat
+
+2004-09-14 10:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards_names) let
+ detect_devices->firewire_probe() set the device description
+
+2004-09-14 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) workaround
+ buggy eth1394 that returs a bogus driver name for the GDRVINFO
+ command of the ETHTOOL ioctl returns
+
+2004-09-14 10:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/authentication.pm: Fix net join syntax for winbind
+ setup.
+
+2004-09-14 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards_names) set a
+ sensible name for firewire network adapters in order to make
+ GUIes look more user friendly
+
+2004-09-14 09:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ network/shorewall.pm, standalone/drakconnect, standalone/drakgw:
+ (get_eth_cards_names) remove unused parameter
+
+2004-09-14 09:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ network/network.pm, standalone/drakconnect: (configureNetwork2)
+ configure eth aliases, needs modules_conf
+
+2004-09-14 09:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases) errm,
+ use modules_conf
+
+2004-09-14 09:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: do not configure eth aliases in
+ various places, move aliases configuration code from
+ get_eth_cards_names to configure_eth_aliases
+
+2004-09-14 09:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/network/smb.pm: syntax changes in winbind smb.conf
+ (errors in /var/log/messages)
+
+2004-09-14 09:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: get the scsi driver name in field
+ {driver}
+
+2004-09-14 09:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove unused parameter
+
+2004-09-14 09:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: cleanup, remove unused
+ parameters and comments
+
+2004-09-14 09:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: (write_config) remove unused
+ parameter
+
+2004-09-14 09:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/do_pkgs.pm: (check_kernel_module_packages) make ext
+ package optionnal
+
+2004-09-14 08:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eo.po, es.po, fr.po, fur.po, gl.po,
+ pt.po, pt_BR.po, ro.po, wa.po: MandrakeSoft -> Mandrakesoft;
+ Mandrake -> Mandrakelinux
+
+2004-09-14 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: space cleanup
+
+2004-09-14 08:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: (setup_capi_conf) use capi4linux
+ file to detect isdn4k-utils package
+
+2004-09-14 08:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) move
+ isdn4k-utils installation here
+
+2004-09-14 08:42 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: Community 10.1 logo
+
+2004-09-14 08:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) remove
+ ifcfg-sagem
+
+2004-09-14 08:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ca.po: MandrakeSoft -> Mandrakesoft;
+ Mandrake -> Mandrakelinux
+
+2004-09-14 07:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: fixed typo
+
+2004-09-14 07:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-6mdk
+
+2004-09-14 07:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: (setup_capi_conf) install firmware
+ if needed
+
+2004-09-14 07:16 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Apparently perl_checker doesn't like
+ my perfectly sensible perl syntax.
+
+2004-09-14 07:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: (detect) blacklist usb devices that have
+ a driver and that are wrongly detected by sane-find-scanner
+ (scanners are managed by scanner.o module in 2.4.x and through
+ libusb on 2.6.x)
+
+2004-09-14 07:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech po file
+
+2004-09-14 06:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect scanners later so that we
+ filter out bogus usb devices detected by sane_find_scanner
+
+2004-09-14 06:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated po file
+
+2004-09-14 06:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect not yet supported
+ ethernnet cards too
+
+2004-09-14 06:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (unknown) blacklist more bridges
+ (though f() should already take care of that)
+
+2004-09-14 06:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect more bridges and the like
+
+2004-09-14 06:00 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-09-14 05:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-5mdk
+
+2004-09-14 05:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup, drakfont:
+ sanitize capitale usage on buttons
+
+2004-09-14 05:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - fix label of entry in help
+
+ - move help from tooltips into separate page (#9894)
+
+ rationale:
+
+ - there's already a "help" button that do the same thing as mcc
+ one
+
+ - Gtk+ only support tooltips on widgets that have their own X
+ window (which new GtkComboBox widget has not)
+
+ - tooltips are usefull on first run but then are just annoying
+
+2004-09-14 05:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: upcase acronyms
+
+2004-09-14 04:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: support dsl over capi
+
+2004-09-14 04:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) support dsl
+ over capi
+
+2004-09-14 04:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: (setup_capi_conf) do not do
+ dsl-specific stuff here
+
+2004-09-14 02:43 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: adding ISO8859-2.so (needed for cs at
+ least)
+
+2004-09-13 22:35 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 711 Please
+ insert the
+
+2004-09-13 22:10 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: locally modified
+
+2004-09-13 17:38 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add isdn capi drivers
+
+2004-09-13 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: fix typo
+
+2004-09-13 16:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: (setup_capi_conf) install
+ isdn4k-utils
+
+2004-09-13 15:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: (get_default_ippp_interface) use
+ interfaces with true DIAL_ON_IFUP
+
+2004-09-13 15:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not auto-select
+ static/dhcp if the provider uses pppoe
+
+2004-09-13 15:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only write ifcfg-sagem when
+ needed
+
+2004-09-13 15:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add isdn_driver step to be
+ able to choose between hisax and capi drivers
+
+2004-09-13 15:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: handle capi drivers
+
+2004-09-13 15:02 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-09-13 13:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: The "choose an update
+ mirror" screen was launched without notice when a supplementary
+ ftp media was selected.
+
+2004-09-13 13:01 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix crashes in CD/Tape setup.
+ Fix UI behavior in wizard. (Nicolas Adenis-Lamarre)
+
+2004-09-13 12:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: redundant code
+
+2004-09-13 10:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: deselection of found media: don't
+ display twice media from the same installation CD
+
+2004-09-13 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing modules. sync sort and
+ spacing with HEAD in order to easily see differences.
+
+2004-09-13 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix regexpes
+
+2004-09-13 08:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: http supplementary media were borked
+
+2004-09-13 08:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: another typo fix
+
+2004-09-13 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-09-13 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.1-3mdk's changelog
+
+2004-09-13 08:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/Makefile.config: Reverted accidentally uploaded
+ file.
+
+2004-09-13 08:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: Makefile.config, standalone/scannerdrake: Fixed
+ "dynamic()" in scannerdrake to do not contain anything
+ interactive.
+
+2004-09-13 07:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-4mdk
+
+2004-09-13 07:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix rpmsrate
+
+2004-09-13 07:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: Ability to choose from the mirror
+ list when assing an ftp supplementary media. Fix download of
+ hdlists file for ftp supplementary media.
+
+2004-09-13 07:27 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-13 07:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: adapt to new proprietary package
+ naming
+
+2004-09-13 07:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: - simplify
+ ->check_kernel_module_packages, same for install and standalone -
+ create ->are_available used by ->check_kernel_module_packages
+
+2004-09-13 07:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: simplify
+
+2004-09-13 07:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: fix draksec entries in welsh
+
+2004-09-13 06:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ltmodem needs ltmodem package
+
+2004-09-13 05:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2004-09-13 05:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot: updated pot file
+
+2004-09-13 04:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/help.pm, share/po/af.po, share/po/am.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/ca.po, share/po/cy.po, share/po/de.po,
+ share/po/eo.po, share/po/et.po, share/po/fa.po, share/po/fr.po,
+ share/po/ga.po, share/po/he.po, share/po/hr.po, share/po/id.po,
+ share/po/it.po, share/po/ko.po, share/po/ltg.po, share/po/lv.po,
+ share/po/mn.po, share/po/mt.po, share/po/nl.po, share/po/pl.po,
+ share/po/pt.po, share/po/ru.po, share/po/sl.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/tg.po,
+ share/po/tl.po, share/po/uk.po, share/po/uz.po, share/po/wa.po,
+ share/po/zh_TW.po: - fix label of entry in help
+
+ - move help from tooltips into separate page (#9894)
+
+ rationale:
+
+ - there's already a "help" button that do the same thing as mcc
+ one
+
+ - Gtk+ only support tooltips on widgets that have their own X
+ window (which new GkComboBox widget has not)
+
+ - tooltips are usefull on first run but then are just annoying
+
+2004-09-13 04:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: explain why some hw classes are
+ not probed on bootstrapping
+
+2004-09-13 04:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: cdc-acm driver handle ISDN modems (we
+ just as to setup minicom with /dev/ttyACM to manage that one)
+
+2004-09-13 04:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/data.pm: move
+ comment where appropriate
+
+2004-09-13 04:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (set_help_tip) only use on
+ tooltip group
+
+2004-09-13 04:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug_report: fix crash
+
+2004-09-13 04:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install Device-mapper ATARAID tool
+ for software raid (aka bios driven ones)
+
+ the odds're high we should do this too for sata_promise, sata_sx4
+ and sx8 SATA drivers.
+
+2004-09-13 04:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: both diskdrake and initscripts now
+ prefer mdadm over raidtools
+
+2004-09-13 04:25 vljubovic
+
+ * perl-install/share/po/bs.po: Fixing
+
+2004-09-13 03:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian po file
+
+2004-09-13 02:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2004-09-13 01:57 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arab ic translation
+
+2004-09-13 01:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, nl.po, zh_TW.po: updated Azeri
+ file
+
+2004-09-13 01:20 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 711 No floppy
+ drive
+
+2004-09-12 19:20 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl> * DrakX
+
+2004-09-12 10:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-09-12 08:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-12 07:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: disambiguation of keyboard names, so
+ they can be translated differently from language names
+
+2004-09-12 04:43 Karl Ove Hufthammer <karl at huftis.org>
+
+ * perl-install/share/po/nn.po: Fixed a few fuzzy strings.
+
+2004-09-11 23:51 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 662 You have
+ selected
+
+2004-09-11 09:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2004-09-11 08:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, br.po, et.po, fa.po, he.po, hi.po,
+ ms.po, pt.po, sv.po, tr.po, zh_TW.po: updated Estonian file;
+ fixed error syntax in Hebrew file; removed non-ascii version of
+ the bootloader message
+
+2004-09-11 00:26 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 650 You must
+ also
+
+2004-09-10 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change in 10.1-3mdk for
+ lord blino
+
+2004-09-10 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: lower refresh timeout to 5
+ seconds
+
+2004-09-10 16:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-3mdk
+
+2004-09-10 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix in 10.1-0.19mdk's
+ changelog
+
+2004-09-10 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.1-0.25mdk's changelog
+
+2004-09-10 15:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: make connect/disconnect
+ buttons useful
+
+2004-09-10 14:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update (how did the drakvpn got
+ fuzzy whereas this tool was left untouched for monthes???)
+
+2004-09-10 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-2mdk
+
+2004-09-10 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - move tools description in proper
+ packages (aka make -newt description somewhat usefull) -
+ describe missing tools - sanitize tool names
+
+2004-09-10 14:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not ask if network should
+ be started on boot if it has already been asked during pseudo-lan
+ configuration
+
+2004-09-10 13:08 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation from Arabeyes
+
+2004-09-10 12:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: some more XKB keyboard names fixed to
+ match xorg versions
+
+2004-09-10 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix choosing bestKernelPackage
+
+2004-09-10 11:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed compose:rwin (it must be enabled
+ if the key isn't used, and not when the key is already used); and
+ a new keyboard toggle
+
+2004-09-10 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: remove debug code
+
+2004-09-10 10:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed Russian phonetic keyboard layout
+ on xorg
+
+2004-09-10 09:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix in 10.1-1mdk's changelog
+
+2004-09-10 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-1mdk
+
+2004-09-10 09:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: (enable_framebuffer) do not
+ kill the whole wizard when embedded
+
+2004-09-10 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm,
+ standalone/service_harddrake: cleanups
+
+2004-09-10 09:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, c/stuff.xs.pl,
+ resize_fat/c_rewritten.xs, xf86misc/main.xs: prototypes are
+ dangerous
+
+2004-09-10 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-09-10 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checker cleanups
+
+2004-09-10 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm, harddrake/data.pm,
+ standalone/service_harddrake: autoconfigure mice on bootstrapping
+
+2004-09-10 08:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove (temporarily, do we hope) the
+ code that re-reads all hdlists when the user has added
+ supplementary media. It doesn't work for now, when the main media
+ is networked and the supplementary media a superset of the main
+ media.
+
+2004-09-10 08:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-09-10 06:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add button "Release
+ Notes" in the acceptLicense dialog box
+
+2004-09-10 06:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: for ask_warn with big text,
+ create a bigger window
+
+2004-09-10 06:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: introduce {more_buttons} to
+ allow the "Release Notes" button. ugly, but it works :-(
+
+2004-09-10 06:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/test.pm: fix stupid things
+
+2004-09-10 06:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: create_box_with_title(): - introduce the
+ ugly $o->{box_allow_grow} - cleanup the usage
+
+2004-09-10 06:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) use
+ network::test to test internet connection
+
+2004-09-10 06:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/test.pm: fix indentation and CVS Id
+
+2004-09-10 06:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/test.pm: (update_status) handle decimal ping
+ time with comma instead of dot
+
+2004-09-10 06:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: log the {meta_class}
+
+2004-09-10 05:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: do not display release notes
+ anymore (since it hides advertising...)
+
+2004-09-10 04:09 Pixel <pixel at mandriva.com>
+
+ * rescue/list: /bin/loadkeys is no more
+
+2004-09-09 14:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: Fix typo in section title
+
+2004-09-09 14:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) fix ENC setting too (like thai IM,
+ it got broken when analyse_locale_name and the like were added it
+ seems)
+
+2004-09-09 13:48 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Syn with Arabeyes CVS before a
+ translation that should hopefully happen soon...
+
+2004-09-09 12:16 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: minor fix in last
+ patch
+
+2004-09-09 11:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: - choose the good kernel for the box - add
+ recognition of i586-up-1GB
+
+2004-09-09 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.27mdk
+
+2004-09-09 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: BIGMEM now means >4GB
+
+2004-09-09 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add is_i586() based on "cpu
+ family", hopefully it works for detecting K6 and C3
+
+2004-09-09 11:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: max() is not defined, inline it
+
+2004-09-09 11:52 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ pkgs.pm: Re-read all hdlists in reverse order when there are
+ supplementary media. Don't unselect every single media when
+ doing an installation from iso images.
+
+2004-09-09 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix thai IM that was broken for ages (but
+ it was disabled in 10.0 anyway so ...)
+
+2004-09-09 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix ENC and locale specific stuff even when
+ IM is disabled (because of thai)
+
+2004-09-09 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: really reset IM on language
+ switch
+
+2004-09-09 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: simplify ENC setting
+
+2004-09-09 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: - sanitize some variable names - add/update
+ comments
+
+2004-09-09 11:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: remove debug message
+
+2004-09-09 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: only default to per locale
+ default IM when switching between locales
+
+2004-09-09 10:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) make it a little more readable
+
+2004-09-09 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) kill unused variable
+
+2004-09-09 10:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.26mdk
+
+2004-09-09 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add a comment about font settings for
+ installer
+
+2004-09-09 10:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: Singapore is en_SG not zh_SG !!!
+
+2004-09-09 10:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) do not default to per locale
+ default IM. IM was either setup by drakx or by localedrake. If
+ the field does not exists, this means the user *decided* to not
+ have an IM.
+
+2004-09-09 10:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (read) fix chinput identification
+
+2004-09-09 10:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix XIM_MODIFIER field for xcin and chinput
+ IM
+
+2004-09-09 10:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) do not overwrite current IM
+ (why does this only failed with miniChinput???)
+
+2004-09-09 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) set proper XIM_PROGRAM depending on
+ both encoding and locale (fix chinput configuration that was
+ broken for ages)
+
+2004-09-09 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (set_default_im) really just set default IM
+ and nothing more
+
+ (write) fix XIM_PROGRAM setting
+
+2004-09-09 09:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (set_default_im) simplify
+
+2004-09-09 09:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle raid-extra-boot (bugzilla
+ #11350)
+
+2004-09-09 09:39 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po,
+ nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po,
+ tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_TW.po: Updated
+ POT file
+
+2004-09-09 09:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: even "lilo -u" can prompt about the "Volume
+ ID" fixing process
+
+2004-09-09 09:21 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, zh_CN.po: Updated POT file
+
+2004-09-09 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (IM packages list) when configuring
+ chinput, we need miniChinput (a evolution of chinput that
+ replaced it)
+
+2004-09-09 09:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: add @isdn_capi array of
+ cards than can use capi drivers
+
+2004-09-09 09:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: remove unused variable
+
+2004-09-09 08:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/lang.pm: reduce font size in japanese install
+
+2004-09-09 08:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: cleanup
+
+2004-09-09 08:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove tabulation
+
+2004-09-09 07:30 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: Display Development group in
+ the same way as other groups.
+
+2004-09-09 06:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, resize_fat/c_rewritten.xs,
+ xf86misc/main.xs: kill warnings
+
+2004-09-09 06:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install slmodem for ltmodem, slamr,
+ slusb windmodem drivers too
+
+2004-09-09 06:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.25mdk
+
+2004-09-09 05:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, bg.po, bs.po:
+ some Mandrake -> Mandrakelinux and MandrakeSoft -> Mandrakesoft
+ fixes
+
+2004-09-09 05:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) remove spurous
+ character from regexp
+
+2004-09-09 05:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: handles the lilo case where it wants to
+ assign a new Volume ID: prompt the user, then - if it doesn't
+ want to modify the Volume ID, use static-bios-codes to be able to
+ install lilo - otherwise call lilo with answer "n" to the
+ question "Is the above disk an NT boot disk?" so that it
+ assigns a new Volume ID
+
+2004-09-09 05:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - handle lilo "static-bios-codes"
+ option - call lilo with a forced stdin (so that it doesn't read
+ from tty) - enable calling lilo with a special stdin value
+
+2004-09-09 05:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) ignore rpm's
+ backups (#10816)
+
+2004-09-09 04:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: don't check_prog when the prog is a
+ complex command (containing a pipe)
+
+2004-09-09 04:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: simplify
+
+2004-09-09 04:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: rename $str into $real_name
+
+2004-09-09 04:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: remove redundant code
+
+2004-09-09 04:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, uk.po: cyrillic fixes
+
+2004-09-09 04:41 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: add dmi type 6 in detection memory size
+
+2004-09-09 04:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: help emacs mode
+
+2004-09-09 04:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix regexp to work with
+ "linux-2.6.8.1-10mdk"
+
+2004-09-09 04:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: instead of expanding symlinks in any
+ case, only do it when renaming "linux" into the kernel version
+ based label (eg: "2681-10")
+
+ that way "linux" like entries won't be modified, the way the
+ "linux" is already handled
+
+2004-09-09 04:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, ca.po, cy.po, da.po, de.po, el.po,
+ it.po, ltg.po, lv.po, mt.po, ro.po, ru.po, sr.po, sr@Latn.po,
+ tg.po, tl.po, uk.po: fixed media paths
+
+2004-09-09 03:46 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Grammar fixes
+
+2004-09-09 03:40 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Up kpilot
+
+2004-09-09 02:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Fix regexp
+
+2004-09-09 02:13 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/: compssUsers.pl, rpmsrate: compssUsers.pl and
+ rpmsrate for 10.1 Community
+
+2004-09-08 18:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-09-08 16:55 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-09-08 13:13 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: updated translations...
+
+2004-09-08 12:17 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Don't suggest
+ lost+found as a user name (bug #11298)
+
+2004-09-08 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (set_window_manager) ensure ~/.dmrc is owned
+ by user else GDM complains about (spoted by frederic crozat)
+
+2004-09-08 11:28 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/detect_devices.pm: added slamr, slusb and ltmodem
+ modules for getModem
+
+2004-09-08 11:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added (commented) new keyboard for
+ tibetan script, so I remember it later
+
+2004-09-08 10:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/get.pm: fix comment
+
+2004-09-08 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: log which tools are
+ runned
+
+2004-09-08 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix log message when
+ we cannot run a configurator
+
+2004-09-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: handle options in any
+ order
+
+2004-09-08 09:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Add a count of skipped packages after
+ having read an hdlist
+
+2004-09-08 09:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) update iftab
+ when config is written
+
+2004-09-08 09:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: remove update_eth_card_iftab(),
+ add update_iftab()
+
+2004-09-08 09:08 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps.pm: Don't require installation of
+ foomatic-db-engine when installing from the mini CD (bug #11292)
+
+2004-09-08 08:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Always return a hashref from
+ pkgs::packageMedium()
+
+2004-09-08 08:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install slmodem for winmodem managed
+ by ALSA (there're more out not managed by ALSA that need to be
+ added here)
+
+2004-09-08 06:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.24mdk
+
+2004-09-08 06:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: update splash when removed too,
+ use Mandrakelinux theme by default, don't give theme name to
+ remove-theme
+
+2004-09-08 06:02 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-09-08 05:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: replace "Cancel" with "Close" when prompting
+ to launch userdrake (as suggested by Fabian Mandelbaum)
+
+2004-09-08 05:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix #11287
+
+2004-09-08 05:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: (xconf) fix X11
+ autoconfiguration
+
+2004-09-08 05:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (get_user_or_group) fix freeze
+ (#11274)
+
+2004-09-08 04:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: (tm) -> ™
+
+2004-09-08 04:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated po file
+
+2004-09-08 04:16 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Slow mdkkdm, up kdm, add
+ accessibility softwares
+
+2004-09-08 03:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove debug logs
+
+2004-09-08 03:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: disable "Ok" when neither NFS nor SMB is
+ selected (as suggested by Fabian Mandelbaum)
+
+2004-09-08 03:21 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: http.pm, install_any.pm: Better version of the
+ reload-IO::Socket patch
+
+2004-09-07 14:55 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: http.pm, install_any.pm: Install from a CD with a
+ networked HTTP media : force reloading of IO::Socket::INET after
+ having brought up the network interface. It won't work otherwise
+ (for mysterious reasons.)
+
+2004-09-07 12:36 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/adsl.c: (perform_adsl) ppp module doesn't exist, don't
+ try to load it
+
+2004-09-07 12:30 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add kphone
+
+2004-09-07 11:45 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Down kdm
+
+2004-09-07 11:01 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: install_urpmi() wasn't
+ writing proper urls when having read an hdlists file for a
+ networked supplementary media
+
+2004-09-07 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (selectLanguage) set default IM
+ (else IM was only set if one click on "Country / Region" in
+ summary)
+
+2004-09-07 10:17 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Allow supplementary media for
+ upgrades
+
+2004-09-07 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change for 10.1-0.23mdk
+
+2004-09-07 09:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: (set_default) use "users"
+ options for removable devices (so that users can unmount them if
+ the devices were mounted by root)
+
+2004-09-07 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: last minute change for 10.1-0.23mdk
+
+2004-09-07 09:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: more synaptics fixes
+
+2004-09-07 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.23mdk
+
+2004-09-07 09:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: take care of symlink
+ based bootloader entries
+
+2004-09-07 09:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/: modprobe_conf.pm, modules_conf.pm: when
+ installing on kernel 2.4, do generate a valid modprobe.conf
+ anyway
+
+2004-09-07 09:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create
+ get_kernels_and_labels_before_kernel_remove() used by
+ bootloader-config
+
+2004-09-07 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-09-07 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix unclosed tag
+
+2004-09-07 08:45 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - shift twice to get the correct
+ function name
+
+2004-09-07 08:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Bokmål po file
+
+2004-09-07 08:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: load modules for pppoe connections
+ during install (partial fix for #11189)
+
+2004-09-07 07:58 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Down zapping rank
+
+2004-09-07 07:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: I sux
+
+2004-09-07 07:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) use more
+ detailled device names on Fabrice Facorat suggestion
+
+2004-09-07 07:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: s/kind/name/
+
+2004-09-07 07:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (manage) clean interface
+ kind assignment
+
+2004-09-07 07:19 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Iran != Irak
+
+2004-09-07 07:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: (get_interface_type) ethernet
+ devices can be used as adsl devices
+
+2004-09-07 07:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove unused variable
+
+2004-09-07 07:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-09-07 07:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pppoa shouldn't be selected
+ by default for ethernet devices, fallback on pppoe
+
+2004-09-07 05:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - ignore first line of /proc/swaps -
+ partially handle /udev/xxx device names in fstab - ignore rootfs
+ "device" - don't warn for loopback files
+
+2004-09-07 05:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: add/update a few
+ comments
+
+2004-09-07 05:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: explicitely do not try
+ to run configurator for AGP, ATA_STORAGE, SATA_STORAGE,
+ SCSI_CONTROLLER and TV classes (some of them [eg: TV] do have a
+ configurator for harddrake GUI and thus are not skiped by -x
+ test)
+
+2004-09-07 04:44 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Code factorization
+
+2004-09-07 04:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Skip packages that are found on a
+ supplementary media but that are already provided by the main
+ media.
+
+2004-09-07 04:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use fctStartAdsl for
+ eagle-usb in dhcp/static modes
+
+2004-09-07 03:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Typo fix
+
+2004-09-06 20:25 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-06 18:36 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-09-06 17:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fixes
+
+2004-09-06 16:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix stupid error
+
+2004-09-06 16:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) update for
+ adsl/modem/isdn connections
+
+2004-09-06 16:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: adjust tests, dhcp/static
+ adsl connections can now use non-ethernet devices
+
+2004-09-06 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: write sagem specific stuff
+ for dhcp/static connections
+
+2004-09-06 15:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) explode sagem
+ specific stuff to sagem_set_parameters()
+
+2004-09-06 15:38 vljubovic
+
+ * perl-install/share/po/bs.po: Small fixes
+
+2004-09-06 15:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: always ask adsl provider
+
+2004-09-06 15:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, wa.po: Mandrake --> Mandrakelinux
+
+2004-09-06 15:21 Frederic Lepied <flepied at mandriva.com>
+
+ * kernel/list_modules.pm: added rt2500 and usbvision
+
+2004-09-06 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-09-06 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.22mdk
+
+2004-09-06 14:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: some more languages not supported on
+ console
+
+2004-09-06 14:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, fi.po, fr.po, fur.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, ky.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_TW.po: updated pot
+ file
+
+2004-09-06 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate Zeroconf message
+
+2004-09-06 13:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, ga.po, gl.po: updated
+ pot file
+
+2004-09-06 13:46 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: Merge translations by Taisto
+ Kuikka.
+ Update translations, not yet fully translated...
+
+2004-09-06 13:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) override
+ Authentication if it does not contain a digit character, the
+ empty string exists ...
+
+2004-09-06 13:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) try to read kppp
+ config from user dir
+
+2004-09-06 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) fix log message when installing IM
+ packages
+
+2004-09-06 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ lang.pm, standalone/localedrake: drop lang::write()'s prefix
+ parameter in favor of $::prefix (which was already partially
+ done)
+
+2004-09-06 13:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_tree) avoid code
+ duplication, use network::modem::ppp_read_conf
+
+2004-09-06 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) return modem
+ configuration
+
+2004-09-06 13:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) use /dev/modem if
+ no modem was detected (do not crash when we edit a connection
+ whose modem is unplugged)
+
+2004-09-06 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write, configure_kdeglobals) log quite
+ more explanations
+
+2004-09-06 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) really do nothing when no IM is set
+ (harmfull but saner)
+
+2004-09-06 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/log.pm: (explanations) redirect log where
+ appropriate at install time
+
+2004-09-06 12:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) package list was already computed
+
+2004-09-06 12:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: safer
+
+2004-09-06 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install uim-applet for
+ japanese since SCIM already provides its own applet
+
+2004-09-06 12:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: consolechars has moved
+
+2004-09-06 12:33 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, zh_CN.po: Updated Simplified
+ Chinese translation
+
+2004-09-06 12:10 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Supplementary media: don't forget to
+ check for a new rpmsrate too
+
+2004-09-06 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix english name for breton
+
+2004-09-06 11:38 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Make the network
+ supplementary media probe able to find an hdlists file
+
+2004-09-06 11:38 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp: New Community 10.1 logo
+
+2004-09-06 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: always set QT_IM_MODULE when setting
+ GTK_IM_MODULE
+
+2004-09-06 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: fix typo
+
+2004-09-06 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: remove uneeded quotes
+
+2004-09-06 11:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: - install scim-m17n as well for generic
+ SCIM configuration (more input methods) - split am entry from
+ generic one since we've choosen to use scim-tables for am on
+ 2004-09-01
+
+2004-09-06 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add specific packages to install for
+ japanese when using SCIM
+
+2004-09-06 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: ensure we do not enable
+ autologin w/o any user
+
+2004-09-06 10:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: handle pt_type, not only fs_type
+
+2004-09-06 10:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: some more logging
+
+2004-09-06 10:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: - detect LVM2 - don't even check_md
+ magic when we don't have the size of the device
+
+2004-09-06 10:04 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Override rpmsrate and compssUsers.pl
+ by the ones found on a supplementary CD
+
+2004-09-06 09:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: BIOS release date can have date
+ DD/MM/YY (or maybe it is MM/DD/YY), only YYYY was handled
+
+2004-09-06 09:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: set QT_IM_MODULE too (UTUMI Hirosi)
+
+ we should probably set it for all IM that use gtk+ API since
+ their API is almost identical.
+
+2004-09-06 09:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix typo
+
+2004-09-06 09:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/any.pm: Changed "User name" to "Login name" (less
+ ambiguous)
+
+2004-09-06 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: - do not run drakconnect for
+ ethernet & ADSL - do not run diskdrake for hd
+
+2004-09-06 08:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix displaying "mdmd0"
+ instead of "md0"
+
+2004-09-06 08:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, fs/type.pm: detect linux software raid
+ magic
+
+2004-09-06 08:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: need latest perl-MDK-Common
+
+2004-09-06 08:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) fix detection in 2.4
+ kernel for net devices with high traffic
+
+2004-09-06 07:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: keep linmodem message for Hcf
+ and Hsf
+
+2004-09-06 07:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove wrong message about
+ linmodems (#11224)
+
+2004-09-06 07:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook)
+ Authentication is used for modems only (better fix for #11142)
+
+2004-09-06 07:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: install xorg-x11-server when
+ installing xorg-x11 (no need to do it based on the hardware
+ anymore (it used to be needed for XF3))
+
+2004-09-06 07:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: typo fix
+
+2004-09-06 06:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.21mdk
+
+2004-09-06 06:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: be more failsafe with half broken existing
+ raids
+
+2004-09-06 06:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: always load mouse modules at beginning
+ of install (should fix X test not working with synaptics during
+ install)
+
+2004-09-06 05:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - don't prompt package
+ groups selection when the available size is 200MB (instead of
+ 140MB) - when user unselect every groups (ie. the special minimal
+ install case), allow the available size to be lower than needed
+ size
+
+2004-09-06 04:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modules.pm, harddrake/data.pm,
+ standalone/service_harddrake: add module for storage controllers
+ that are not compiled built-in in kernel
+
+2004-09-06 04:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add a few comments
+
+2004-09-06 04:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add module for AGP controller
+
+2004-09-06 04:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: run drakconnect when an ADSL
+ device is found (we should do so only when device is added, not
+ when removed)
+
+2004-09-06 04:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add module for TV cards (trainee
+ sucks...)
+
+2004-09-06 04:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: better looking for
+ alternative drivers
+
+2004-09-06 04:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix crashes
+
+2004-09-06 04:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_window) do not set border for
+ wizards
+
+2004-09-05 19:32 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-09-05 19:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: * enabled some more languages in the
+ selection list (Furlan, Frisian, Inuktitut, Greenlandic
+ (Kalaallisut), Khmer, Luxembourguish, Punjabi, Sardinian and
+ Uyghur). Those languages have either translations for
+ Mandrakelinux tools, or for KDE, or Gnome, or any combination
+ of the three; or there have been interest recently in starting
+ a translation for them. * updated list of available locales
+ (@locales)
+
+2004-09-05 18:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/: lang-chr.png, lang-csb.png,
+ lang-fur.png, lang-fy.png, lang-ha.png, lang-ik.png, lang-kk.png,
+ lang-kl.png, lang-km.png, lang-ks.png, lang-ks@Arab.png,
+ lang-lb.png, lang-lg.png, lang-lo.png, lang-pa.png, lang-ps.png,
+ lang-sc.png, lang-so.png, lang-sw.png, lang-tt@Cyrl.png,
+ lang-ug.png, lang-ur.png: new lang images
+
+2004-09-05 14:47 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Replace a XFree86 by X11 in the
+ French messages
+
+2004-09-05 11:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-09-05 10:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-05 09:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fixed typo
+
+2004-09-05 04:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, zh_CN.po: Updated Simplified
+ Chinese translation
+
+2004-09-04 15:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2004-09-04 10:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: fixed typo
+
+2004-09-03 14:10 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: more
+
+2004-09-03 12:31 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2004-09-03 10:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: perl_checker fix
+
+2004-09-03 10:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (set_synaptics) remove spurious
+ space
+
+2004-09-03 10:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: (set_xfree_conf) synaptics fixes
+
+2004-09-03 09:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/ja.po: update (Yukiko Bando
+ <ybando@k6.dion.ne.jp>)
+
+2004-09-03 09:29 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Umount supplementary CD immediately
+ after having read informations on it.
+
+2004-09-03 08:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getModem) handle new winmodem
+ low level driver for VIA in ALSA
+
+2004-09-03 08:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: make dont_run_directly_stage2 keep
+ runinstall2 as a symlink (since mdkstage1 check it is a symlink)
+
+2004-09-03 08:27 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Make local copies of rpmsrate and
+ compssUsers.pl from supplementary CD
+
+2004-09-03 08:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Newt/Newt.xs, interactive/newt.pm,
+ share/list: - we need unicode_start, which need kbd_mode and a
+ real "echo" command - initialize newt (and so slang) with a fake
+ en_US.UTF-8 locale during install (and it works better when
+ slang does its setlocale, i don't know why)
+
+2004-09-03 08:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: always use utf8 strings during install
+ since our locale is always utf8
+
+2004-09-03 08:07 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Better handling of
+ mounting/umounting supplementary CDs
+
+2004-09-03 08:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log a few more commits from blino
+ for 10.1-0.20mdk
+
+2004-09-03 08:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (findIntf, read_all_conf) use
+ default DEVICE field only at last ressort, keep weird DEVICE
+ fiels (i.e for sagem)
+
+2004-09-03 07:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) remove
+ quotes if DEVICE is the result of a command
+
+2004-09-03 07:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: support DHCP and manual for
+ sagem devices
+
+2004-09-03 07:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Add a system error when no CD reader
+ is found for a supplementary CD
+
+2004-09-03 07:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Newt/Newt.xs: don't let slang call setlocale(), we
+ do it ourselves
+
+2004-09-03 07:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Remove support for looking directly
+ for a hdlist1s.cz file on supplementary CDs.
+
+2004-09-03 07:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove horrible and unneeded
+ workaround
+
+2004-09-03 07:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) use key from
+ $intf hash to determine ifcfg filename (to allow to use weird
+ DEVICE fields, like DEVICE=`/usr/sbin/eaglectrl -i`)
+
+2004-09-03 07:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.20mdk
+
+2004-09-03 07:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: shut up perl_checker!
+
+2004-09-03 07:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove test_internet_connection(),
+ use network::test instead
+
+2004-09-03 07:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: (get_interface_type) enhance
+ detection for adsl devices
+
+2004-09-03 06:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) allow
+ TYPE field, will be used to recognize ADSL interfaces
+
+2004-09-03 06:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add one more translator
+
+2004-09-03 06:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ (setupSCSI) load modularized PATA drivers too
+
+2004-09-03 06:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, et.po, fr.po, pl.po, pt.po:
+ updated Estonian file
+
+2004-09-03 06:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add disk/ide category since some ATA
+ drivers are currently compiled as modules
+
+2004-09-03 06:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - sort some categories - add missing
+ drivers: o raid: ipr qla2322 qla6312 qla6322 o ethernet:
+ amd8111e typhoon o gigabit: ixgb s2io via-velocity o sata:
+ sx8 o scsi: dc395x o wireless: atmel_pci hostap_pci
+ hostap_plx prism2_pci
+
+2004-09-03 06:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: adapt to new fctStartAdsl
+
+2004-09-03 05:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add two missing SATA modules
+
+2004-09-03 05:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: small fix in Japanese po files
+
+2004-09-03 05:46 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-09-03 05:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, share/list: stage1 terminfo is not
+ available anymore, use our own terminfo
+
+2004-09-03 05:19 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't bypass errorOpeningFile,
+ because it won't ask for further CDs anymore... (/me sux)
+
+2004-09-03 05:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-09-03 04:59 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: now kernel-i686-up-4GB and
+ kernel-p3-smp-64GB are deprecated
+
+2004-09-03 04:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix grammar.
+
+2004-09-03 04:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_hbox) do not set extra border
+ since we've a generic fix in _create_window
+
+2004-09-03 04:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_window) prevent inner widgets to
+ stick the window
+
+2004-09-03 03:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: don't exclude Gtk2::Entry
+ filling
+
+2004-09-03 03:07 vljubovic
+
+ * perl-install/share/po/bs.po: Improving Bosnian translation
+
+2004-09-03 02:29 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-09-02 22:03 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated zh_CN translation
+
+2004-09-02 18:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated po file
+
+2004-09-02 17:29 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2004-09-02 16:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-09-02 15:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakhelp: Mandrake -> Mandrakelinux
+
+2004-09-02 11:51 Sharuzzaman Ahmat Raslan <sharuzzaman at myrealbox.com>
+
+ * perl-install/share/po/ms.po: Updated Malay translation
+
+2004-09-02 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: (write_client_conf) fix drakxtools
+ build
+
+2004-09-02 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.19mdk
+
+2004-09-02 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: diskdrake, drakclock, drakedm,
+ drakfirewall, drakfloppy, drakperm, drakproxy, draksec,
+ drakxservices, drakxtv, keyboarddrake, logdrake, mousedrake,
+ net_monitor: reuse mcc icons (if availlable) for windows
+
+2004-09-02 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakhelp, printerdrake, scannerdrake:
+ reuse icon for windows
+
+2004-09-02 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhelp: fix untraslated title
+
+2004-09-02 09:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: do not use supermount
+ by default for removable devices
+
+2004-09-02 09:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs/mount_options.pm: set_default: use sync for
+ removable devices
+
+2004-09-02 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: use proper window & banner
+ icon
+
+2004-09-02 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) fallback on window'icon for wizards
+
+2004-09-02 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectLanguage) tag title as translatable
+
+2004-09-02 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: set banner title...
+
+2004-09-02 09:10 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 626 DrakX will
+ first
+
+2004-09-02 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - add bt878, de2104x, qla2100, sata_sx4 -
+ 3c559 is dead - hw_random replaced amd7xx_tco, amd768_rng and
+ i810_rng - sort sata driver - tmspci replaced sktr long time ago
+
+2004-09-02 08:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/test.pm: initial import of connection test
+ package
+
+2004-09-02 08:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: If a supplementary media
+ is incorrect, continue asking
+
+2004-09-02 08:21 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add 3w-9xxx
+
+2004-09-02 07:48 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't log too much
+
+2004-09-02 07:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add synaptics in INSTALL section
+
+2004-09-02 07:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_steps.pm: Don't unselect all media in
+ autoinstalls.
+
+2004-09-02 07:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: replace /etc/udev/conf.d/xxx.conf shell
+ scripts with /etc/udev/rules.d/xxx.conf conf file
+
+2004-09-02 05:17 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: fix cancel in disk install
+
+2004-09-02 04:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: crypto.pm, install_any.pm: adapt to new mirror
+ structure
+
+2004-09-02 03:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Allow to deselect media only if the hdlists
+ file contains a line "askmedia"
+
+2004-09-02 03:30 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't start network for
+ supplementary media if it is cdrom or disk
+
+2004-09-01 18:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, fr.po, nb.po, wa.po: updated
+ Norwegian file; small fixes on Spanish, French and Walloon files
+
+2004-09-01 14:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Do not check for presence
+ of "scanner-gui" during install.
+
+2004-09-01 14:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/services.pm: - Lete the function
+ "start_not_running_service()" really start the specified service
+ if it is not running instead of being a copy of the function
+ "is_service_running()".
+
+2004-09-01 14:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/services.pm: - Restored wrong upload.
+
+2004-09-01 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: comply with the rpmsrate parser
+
+2004-09-01 14:12 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo melo
+
+2004-09-01 14:08 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: last rush
+
+2004-09-01 13:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - If cupsd.conf is read but does
+ not exist, use default settings for all settings which are
+ required. This prevents from writing a corrupt cupsd.conf - Write
+ cupsd.conf only if it exists already (cups package installed). -
+ Create /etc/cups directory if it does not exist when client.conf
+ is written - Return something reasonable if client.conf is tried
+ to be read but does not exist. - Write mime.convs only if it
+ exists already (cups package installed).
+
+2004-09-01 13:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/services.pm: - Lete the function
+ "start_not_running_service()" really start the specified service
+ if it is not running instead of being a copy of the function
+ "is_service_running()".
+
+2004-09-01 12:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: fixed fonts.cache-1 file so
+ that the tamil font no longer claims it support western
+ languages.
+
+2004-09-01 12:19 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: Updated POT file
+
+2004-09-01 11:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add xawtv in TV section, install
+ ati.2 for ATI cards only
+
+2004-09-01 10:50 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: perl_checker cleanup
+
+2004-09-01 10:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed bug of printerdrake
+ trying to install the virtual package "scanner-gui" during
+ installation (when a multi-function device from HP is present).
+
+2004-09-01 10:36 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: fixed/added some laptop entries
+
+2004-09-01 10:04 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: ensure install_interactive is loaded
+
+2004-09-01 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, share/rpmsrate: enable SCIM for Amharic
+ language
+
+2004-09-01 09:34 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: When adding a networked
+ supplementary media, configure the network if needed. Install
+ basesystem for this purpose.
+
+2004-09-01 09:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/any.pm: Fix generation of urpmi.cfg when doing a
+ disk install from a live tree
+
+2004-09-01 09:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: drop non-standard tld (localdomain)
+
+2004-09-01 09:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: do not crash if default
+ autologin or default desktop doesn't exist
+
+2004-09-01 08:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: write modules conf
+ files if a tv card is detected
+
+2004-09-01 08:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getBewan) reuse
+ ematching_desc__regexp()
+
+2004-09-01 08:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: modified the fonts.conf file so
+ that a subset of the "sans" alias list is copied into the "serif"
+ and "monospace" aliases list, before the listing of problematic
+ fonts, hoping it will solve bug #10937 (apparently the problem is
+ that input fields want a monospace font, there is no latin
+ monospace font, and a rando font is used, the tamil one having
+ wrong glyphs at some latin1 positions)
+
+2004-09-01 07:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix stupid error
+
+2004-09-01 07:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: revert titi fix, do not return
+ random interface if internet connection is not configured
+
+2004-09-01 07:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: add notconfigured state
+
+2004-09-01 06:45 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-09-01 06:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: symlink resolv.conf in install
+ root, so that it works for dhcp too
+
+2004-09-01 06:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: typo fix
+
+2004-09-01 06:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: unbreak drakclock
+
+2004-09-01 06:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.18mdk
+
+2004-09-01 06:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: simplify
+
+2004-09-01 06:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write /etc/resolv.conf in
+ install root
+
+2004-09-01 06:27 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakclock: initialize and so that
+ motion_event correctly handle the mouse moves
+
+2004-09-01 06:04 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakclock: Repaint the calendar
+ (especially when the day changed) Make the hour tick shorter
+ Check if the ntpdate command succeed or not, do not quit if it
+ fails Only apply the date command again if ntp mode is not
+ selected
+
+2004-09-01 05:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: do not use find over grep, just
+ find
+
+2004-09-01 05:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/Makefile: Split into a new target mdkinst_stage2
+
+2004-09-01 05:23 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove duplicated entry for
+ nut-server
+
+2004-09-01 05:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: enable harddrake2 to properly
+ adapt to theme changes and the like
+
+2004-09-01 05:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakautoinst:
+ (create_notebook) follow the same parameter order as
+ gtkappend_page() use and as C/Gtk+ does
+
+2004-09-01 05:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_notebook) give meaningfull name to
+ variables
+
+2004-09-01 05:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker cleanups
+
+2004-09-01 05:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (get_internet_connection) if no
+ default route exits, take first route in order to not have
+ strange messages in net_appletb
+
+2004-09-01 04:25 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakclock: Do not perform a date command
+ when ntpdate has just been called
+
+2004-09-01 04:07 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: set default timeout to 10 seconds in hd_grub to
+ allow editing (#11133)
+
+2004-09-01 04:05 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/lang.pm: Fix syntax error
+
+2004-08-31 14:47 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: dia zero
+
+2004-08-31 13:57 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/detect_devices.pm: please perl_checker
+
+2004-08-31 13:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: (is_running) enhance regexp,
+ use any
+
+2004-08-31 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (is_running) make it work
+
+2004-08-31 13:17 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: Updated POT file
+
+2004-08-31 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (is_running) try harder
+
+2004-08-31 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (is_running) ignore our own
+ process ... (brown paper bag bug)
+
+2004-08-31 11:41 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/harddrake/data.pm: added initial support for UPS
+
+2004-08-31 11:41 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify UPS detection and report
+ the needed info for harddrake
+
+2004-08-31 10:42 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: French grammar fix
+
+2004-08-31 10:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Remove dead code
+
+2004-08-31 10:03 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/advertising/: README, corpo-desk-01.pl,
+ corpo-desk-01.png, corpo-desk-02.pl, corpo-desk-02.png,
+ corpo-desk-03.pl, corpo-desk-03.png, corpo-desk-04.pl,
+ corpo-desk-04.png, corpo-desk-05-a.pl, corpo-desk-05-a.png,
+ corpo-desk-05-b.pl, corpo-desk-05-b.png, corpo-desk-05.pl,
+ corpo-desk-05.png, corpo-desk-06-a.pl, corpo-desk-06-a.png,
+ corpo-desk-06-b.pl, corpo-desk-06-b.png, corpo-desk-06.pl,
+ corpo-desk-06.png, corpo-desk-07.pl, corpo-desk-07.png,
+ corpo-desk-08.pl, corpo-desk-08.png, corpo-desk-09.pl,
+ corpo-desk-09.png, corpo-desk-10.pl, corpo-desk-10.png,
+ corpo-server-01.pl, corpo-server-01.png, corpo-server-02.pl,
+ corpo-server-02.png, corpo-server-03.pl, corpo-server-03.png,
+ corpo-server-04.pl, corpo-server-04.png, corpo-server-05.pl,
+ corpo-server-05.png, corpo-server-06.pl, corpo-server-06.png,
+ corpo-server-07.pl, corpo-server-07.png, corpo-server-08.pl,
+ corpo-server-08.png, corpo-server-09.pl, corpo-server-09.png,
+ corpo-server-10.pl, corpo-server-10.png, list-cpd, list-cps:
+ Corporate material
+
+2004-08-31 09:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, da.po, et.po, id.po, lt.po, mt.po,
+ nl.po, uz@Latn.po: updated Welsh and Estonian files; fixed some
+ errors due to automatic replacements.
+
+2004-08-31 09:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, pkgs.pm: Support for unselecting
+ some media before the install (begin.)
+
+2004-08-31 09:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: make CONSOLE_NOT_LOCALIZED written to i18n
+ file
+
+2004-08-31 08:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install nut-server for MGE's UPS
+
+2004-08-31 08:12 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: ads #25: use translation from
+ Marketing and not one which come from nowhere
+
+2004-08-31 07:46 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Close <b> in ads #28
+
+2004-08-31 07:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) fix crashes
+ (#11100)
+
+2004-08-31 07:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: - Let xpp also be installed when in
+ daemon-less CUPS client mode.
+
+2004-08-31 07:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: Remove duplicate entries in rpmsrate
+
+2004-08-31 07:12 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: use the loc zone in policy
+ only if the loc interface exists
+
+2004-08-31 06:54 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added kuickshow and supertux
+
+2004-08-31 06:39 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated a part of
+
+2004-08-31 06:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle pd6729 PCMCIA controller (and sort
+ pcmcia controller drivers btw)
+
+2004-08-31 05:58 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: tulip_old isn't in kernel anymore
+
+2004-08-31 04:43 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-08-30 16:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: write ifcfg files for NET_DEVICE if
+ it's ethernet (pptp, pppoe)
+
+2004-08-30 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: adsl_conf_backend needs $intf
+ now
+
+2004-08-30 15:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Fix support for suppl.
+ CDs with hdlists file
+
+2004-08-30 15:26 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added smartmontools
+
+2004-08-30 15:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: NET_DEVICE is the ethernet
+ interface for pptp too
+
+2004-08-30 13:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/tools.pm, standalone/net_applet,
+ standalone/net_monitor: move start_interface and stop_interface
+ from net_monitor to network::tools, use it in net_monitor and
+ net_applet
+
+2004-08-30 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.17mdk
+
+2004-08-30 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow to connect/disconnect
+ from net_applet
+
+2004-08-30 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-08-30 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: minor update
+
+2004-08-30 12:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: is_running returns a boolean
+ which would never be > 1
+
+2004-08-30 11:33 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - no need to run net-monitor
+ with '--testing'
+
+2004-08-30 11:22 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - launch net_monitor in
+ background
+
+2004-08-30 11:06 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-30 11:04 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - typo
+
+2004-08-30 10:59 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - avoid duplication
+
+2004-08-30 10:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-08-30 10:28 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - s/and/or/ (oblin)
+
+2004-08-30 10:26 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - launch net_monitor once
+ (test if there's a running net_monitor before)
+
+2004-08-30 10:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-08-30 09:58 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: part updated
+
+2004-08-30 09:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed duplicate
+ translatable strings.
+
+2004-08-30 09:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/printerdrake: fixed use of N()
+
+2004-08-30 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-30 09:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, standalone/drakconnect, standalone/drakvpn,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/fur.po, share/po/ga.po, share/po/gl.po, share/po/he.po,
+ share/po/hi.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/ky.po, share/po/lt.po, share/po/ltg.po, share/po/lv.po,
+ share/po/mk.po, share/po/mn.po, share/po/ms.po, share/po/mt.po,
+ share/po/nb.po, share/po/nl.po, share/po/nn.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: typo fixes (Arpad Biro
+ <biro_arpad@yahoo.com>)
+
+2004-08-30 08:48 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/25.png: New image
+
+2004-08-30 08:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-08-30 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: fix layout so that NTP frame
+ is not badly cut on small resolution (#10971)
+
+2004-08-30 07:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/cups.pm, printer/main.pm,
+ printer/printerdrake.pm, standalone/printerdrake: - Added column
+ to show whether the printers are enabled or disables to the list
+ of available print queues in the main window. - Added command to
+ the edit-printer window to enable and disable print queues. -
+ Fixed bug of "--expert" command line option of printerdrake not
+ working.
+
+2004-08-30 05:05 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: sort network/main
+
+2004-08-30 04:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-30 04:56 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add tulip_old in network/main
+
+2004-08-30 04:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.16mdk
+
+2004-08-30 04:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: do not restrict "many
+ partitions" test to SCSI devices
+
+2004-08-30 04:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: really make synaptics works at install
+ (don't crash graphical install)
+
+2004-08-30 04:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: (choose_gtk) fix
+ crash
+
+2004-08-30 04:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox::set_text) explain which
+ caller failled
+
+2004-08-30 03:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: do not mount and
+ add/delete in fstab when many partitions (#11005)
+
+2004-08-29 22:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/main.pm, printer/printerdrake.pm,
+ standalone/printerdrake: - Inform the user on first-time setup,
+ both during or after installation, that he can set up a
+ daemon-less CUPS client. - Warn the user when printerdrake is
+ set to daemon-less CUPS client but no server is specified. -
+ Fixed bug of local queues not being recognized when the spooler
+ daemon is not running during printerdrake startup. - Do not try
+ to copy print queues when switchung from daemon-less CUPS to
+ normal CUPS. - Remove the client.conf when switching from
+ daemon-less CUPS to normal CUPS.
+
+2004-08-29 21:16 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 618
+ authentication
+
+2004-08-29 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: move DHCP column to left for
+ better sizing (Austin <aacton@yorku.ca>)
+
+2004-08-29 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateAvailable) print ESSID
+ too (Austin <aacton@yorku.ca>)
+
+2004-08-29 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix Add button behavior (Austin
+ <aacton@yorku.ca>)
+
+2004-08-29 11:34 vljubovic
+
+ * perl-install/share/po/bs.po: Improving Bosnian translation
+
+2004-08-29 08:24 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 612 Espanol
+
+2004-08-29 05:12 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-29 04:42 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po,
+ nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po,
+ tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: Updated POT file
+
+2004-08-29 04:24 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/DrakX.pot: Updated POT file
+
+2004-08-28 00:12 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 604 done
+
+2004-08-27 20:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/cups.pm, printer/data.pm,
+ printer/default.pm, printer/main.pm, printer/printerdrake.pm,
+ standalone/printerdrake: - Made support for daemon-less CUPS
+ client working. - Fixed graying out of buttons/menu entries in
+ the main window.
+
+2004-08-27 14:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: use same keys than manage
+ interface for metrics
+
+2004-08-27 14:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (manage) read settings from
+ correct interface for non ethernet interfaces
+
+2004-08-27 14:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (manage) add metric text
+ entry for all connections
+
+2004-08-27 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) read metric if set
+
+2004-08-27 13:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: adsl.pm, modem.pm, netconnect.pm,
+ network.pm, tools.pm: write metric in ifcfg files according to
+ connection type
+
+2004-08-27 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: sort a few entries
+
+2004-08-27 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (insert_text_n_scroll) fix
+ displaying only last parsed file
+
+2004-08-27 10:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.15mdk
+
+2004-08-27 10:15 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: Remove duplicated entries with
+ complex flags from the rpmsrate
+
+2004-08-27 10:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (matching_driver) introduce it in
+ order to factorize some tests
+
+2004-08-27 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, common.pm, detect_devices.pm,
+ install_any.pm, install_steps.pm, pkgs.pm, Xconfig/card.pm: add
+ __regexp suffix to matching_desc() and matching_driver()
+
+2004-08-27 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getModem) report modems
+ supported by ALSA too
+
+2004-08-27 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: space cleanup for lord perl_checker
+
+2004-08-27 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (IM2packages) - alter prototype: directly
+ take a locale hash - get lang from locale hash - use it to
+ install needed packages depending on locale (instead of only
+ generic ones depending on IM)
+
+2004-08-27 09:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: do not complain on wizcancel
+
+2004-08-27 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: no need to check first step
+ return value since we're covered by both Wizard_no_previous and
+ die('wizcancel')
+
+2004-08-27 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: remove useless label
+ "the_end"
+
+2004-08-27 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: inline select_language()
+
+2004-08-27 08:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install2.pm: read modules configuration file from
+ stage1 as modules_conf file, but get an object of the proper type
+ by using modules::any_conf::vnew
+
+2004-08-27 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: make it looks and behave
+ like a wizard for GUI sanity (previously cancel on second step
+ resulted in step backward rather than exit...)
+
+2004-08-27 08:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/ChangeLog: initial commit
+
+2004-08-27 08:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/Makefile: add changelog target
+
+2004-08-27 05:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, nb.po: updated Czech and Bokmål
+ po files
+
+2004-08-27 05:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (lilo_choice) fix canceling
+ first step
+
+2004-08-27 03:47 Olivier Thauvin <thauvin at aerov.jussieu.fr>
+
+ * perl-install/Xconfig/xfree.pm: - add dell D800 specific modeline
+ and resolution
+
+2004-08-27 03:42 Laurent Montel <lmontel at mandriva.com>
+
+ * perl-install/share/rpmsrate: Don't install kdeutils-klaptop all
+ the time just when we detect a laptop
+
+2004-08-27 02:53 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Support for multiple supplementary
+ media
+
+2004-08-27 02:08 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: melo
+
+2004-08-26 16:20 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated 95%
+
+2004-08-26 16:12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2004-08-26 15:08 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: josé melo
+
+2004-08-26 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: complete 10.1-0.14mdk's changelog
+
+2004-08-26 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in 10.1-0.11mdk's
+ changelog
+
+2004-08-26 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.9mdk
+
+2004-08-26 14:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: i sux
+
+2004-08-26 13:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, mouse.pm: define and use
+ $o->{mouse}{alternate_install} if detected mouse can't be used
+ during install
+
+2004-08-26 13:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: (set_xfree_conf) don't create crappy
+ auxmouse if there is none
+
+2004-08-26 13:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (set_synaptics) quote decimal
+ values so that write_XF86Config doesn't write commas instead of
+ dots
+
+2004-08-26 12:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, bn.po, ca.po, cy.po, da.po,
+ de.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, hi.po, it.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ru.po, sl.po, tg.po, tl.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po: updated Estonian and
+ Spanish files; retrieved some more old strings
+
+2004-08-26 11:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: adsl devices need network
+ restart if they're *not* in the adsl devices list
+
+2004-08-26 07:31 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Finish to add french translation
+ from Marketing team (DrakX ads)
+
+2004-08-26 07:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: (doPartitionDisksBefore) umount
+ /sys and /proc/bus/usb in chroot
+
+2004-08-26 05:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: minor update
+
+2004-08-26 05:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/: advertising/18.pl, po/DrakX.pot, po/af.po,
+ po/am.po, po/ar.po, po/az.po, po/be.po, po/bg.po, po/bn.po,
+ po/br.po, po/bs.po, po/ca.po, po/cs.po, po/cy.po, po/da.po,
+ po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po,
+ po/fa.po, po/fi.po, po/fr.po, po/fur.po, po/ga.po, po/gl.po,
+ po/he.po, po/hi.po, po/hr.po, po/hu.po, po/id.po, po/is.po,
+ po/it.po, po/ja.po, po/ko.po, po/ky.po, po/lt.po, po/ltg.po,
+ po/lv.po, po/mk.po, po/mn.po, po/ms.po, po/mt.po, po/nb.po,
+ po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po,
+ po/ru.po, po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr@Latn.po,
+ po/sv.po, po/ta.po, po/tg.po, po/th.po, po/tl.po, po/tr.po,
+ po/uk.po, po/uz.po, po/uz@Latn.po, po/vi.po, po/wa.po,
+ po/zh_CN.po, po/zh_TW.po: typo fix
+
+2004-08-26 04:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/mouse.pm: (detect) do not return unusable synaptics
+ driver at beginning of install
+
+2004-08-26 04:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-25 17:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: - Moved initial
+ package installation by printerdrake into "install_spooler()"
+ function, so all package installation done by printerdrake
+ (except printer/queue-type-specific, as HPOJ) is done in one
+ step. - First changes for daemonless CUPS client support.
+
+2004-08-25 16:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: avoid grep to grep itself,
+ use perl
+
+2004-08-25 14:19 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/drakedm: Mandrake -> Mandrakelinux. Mark
+ DM entries as translatable.
+
+2004-08-25 13:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: killer feature:
+ restore bootsplash mode
+
+2004-08-25 12:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: don't abort miserably
+ if configurator is code
+
+2004-08-25 12:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix typo
+
+2004-08-25 12:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: set TV flag when a TV card is
+ detected to install appropriate packages
+
+2004-08-25 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: rename loop variable
+ in order to prevent trainee to be confused
+
+2004-08-25 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: support inline
+ configuators
+
+2004-08-25 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: run proper program :-)
+
+2004-08-25 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: just go on if --force
+ is passed
+
+2004-08-25 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable) fix cuted ads at
+ install time
+
+2004-08-25 10:39 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: DrakX ads: begin to add french
+ translations from Marketing team
+
+2004-08-25 09:31 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 02.png, 03.png, 04.png, 05.png,
+ 06.png, 07.png, 08.png, 09.png, 10.png, 11.png, 12.png, 13-a.png,
+ 13-b.png, 14.png, 15.png, 16.png, 17.png, 18.png, 19.png, 20.png,
+ 21.png, 22.png, 23.png, 24.png, 25.png, 26.png, 27.png, 28.png,
+ 29.png, 30.png: Images for 10.1
+
+2004-08-25 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.13mdk
+
+2004-08-25 08:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add listsupportedprinters
+
+2004-08-25 08:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: update changelog dates to please
+ rpm + add some highlights to please titi
+
+2004-08-25 08:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge in lost 10-34.3.100mdk's
+ changelog
+
+2004-08-25 08:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: enough amd64 changes merged
+
+2004-08-25 08:06 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/strip_modules: Make it possible to strip 2.6 kernel
+ modules (at least those from 2.6.3)
+
+2004-08-25 08:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix siol's vci (hexa
+ formated)
+
+2004-08-25 07:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix Titi sux hard (add
+ missing comma and spaces, remove spurious nameserver word)
+
+2004-08-25 07:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use exists
+
+2004-08-25 07:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add missing spaces
+
+2004-08-25 07:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (manage) use
+ network::tools::get_interface_type instead of
+ /etc/sysconfig/drakconnect in order to avoid to recognize ppp0 as
+ both modem and adsl (bug 10772)
+
+2004-08-25 07:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add get_interface_type to guess
+ interface type
+
+2004-08-25 07:32 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/crypto.pm: Always prefer 64-bit packages for updates
+ on biarch platforms.
+
+2004-08-25 07:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: Parse XFree86.log in last resort
+ in case we have not got any valuable information at this stage
+ from ddcxinfos.
+
+2004-08-25 07:30 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: default to 75dpi in order to
+ get anti-aliased fonts
+
+2004-08-25 07:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: Handle PCMCIA on x86-64 too. Fix libs glob
+ for live tree. Don't ship with "cdcom" modules archives in
+ netinstallable trees.
+
+2004-08-25 07:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: i18n stuff at install time,
+ probably make it common with /LIB/
+
+2004-08-25 07:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: fix smp detection on x86_64
+
+2004-08-25 07:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: handle lib64 drivers on x86-64
+
+2004-08-25 07:22 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: add XFS to x86_64 known FS
+
+2004-08-25 07:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: handle nolapic, idle=poll,
+ ide=nodma boot options
+
+2004-08-25 07:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) fix Pixel broke country
+ selection (bug 10938)
+
+2004-08-25 03:54 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 604 (not
+ finished)
+
+2004-08-24 16:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) use difference2
+
+2004-08-24 16:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Special treatments for
+ print queues with the "lbp660" and "ml85p" drivers. Here the
+ driver communicates directly with the printer instead of sending
+ the output to a CUPS backend. - Make sure that queues which have
+ special treatment, as for example the ones using "lbp660" and
+ "ml85p", do not try to open message indows when the print queues
+ are auto-generated by dynamic/hotplug. - If the user gets an
+ error/warning message during setup of a queue with special
+ treatment, he is automatically put back to the previous step in
+ the add-printer wizard. - Let warning messages (funktion
+ "ask_warn()") never embed in the add-printer wizard, as they have
+ no "Previous" button in the wizard.
+
+2004-08-24 15:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) make it more
+ readable
+
+2004-08-24 15:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Bokmål file
+
+2004-08-24 15:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) rework parsing
+
+2004-08-24 14:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: i sux
+
+2004-08-24 14:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: drop non-standard tld
+ (localdomain)
+
+2004-08-24 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) always add
+ an hostname alias and add it on the loopback device (bug 10345)
+
+2004-08-24 14:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) allow multiple
+ aliases per host
+
+2004-08-24 14:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) regexp fixes
+
+2004-08-24 12:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: mouse.pm, Xconfig/xfree.pm: synaptics touchpad
+ support
+
+2004-08-24 10:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_TW.po:
+ updated Japanese file; retrieved some old translation strings
+
+2004-08-24 09:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) do not ask
+ the user to do an inifinite looping in MCC ...
+
+2004-08-24 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add Siol (the bigest ADSL
+ provider in Slovenia) in ADSL providers DB (Gregor Pirnaver
+ <gregor.pirnaver@mandrakeprinas.org>)
+
+2004-08-24 09:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) use newly introduced IM2packages()
+ in order to install proper packages depending on (locale, input
+ method) tuple
+
+2004-08-24 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (IM2packages) introduce it in order to know
+ which packages need to be installed for a (locale, input method)
+ tuple
+
+2004-08-24 08:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed "ask_from_()" calls
+ in "config_cups()" (Thanks Olivier for breaking it in your
+ perl-checker clean-up in 1.119 --> 1.120).
+
+2004-08-24 08:48 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-24 08:42 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-24 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix crash when config directory
+ does not exist (#10935)
+
+2004-08-24 08:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Version number.
+
+2004-08-24 08:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/listsupportedprinters: Added
+ "listsupportedprinters", a simple program which runs the printer
+ model list function of printerdrake to get a list of supported
+ printer models on STDOUT (Mainly for auto-generation of
+ Mandrakelinux hardware support database).
+
+2004-08-24 08:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakups, share/po/DrakX.pot,
+ share/po/af.po, share/po/am.po, share/po/ar.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/bn.po, share/po/br.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fa.po,
+ share/po/fi.po, share/po/fr.po, share/po/fur.po, share/po/ga.po,
+ share/po/gl.po, share/po/he.po, share/po/hi.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/ky.po, share/po/lt.po,
+ share/po/ltg.po, share/po/lv.po, share/po/mk.po, share/po/mn.po,
+ share/po/ms.po, share/po/mt.po, share/po/nb.po, share/po/nl.po,
+ share/po/nn.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr@Latn.po, share/po/sr.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: typo fix
+
+2004-08-24 07:12 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: mmodem
+
+2004-08-24 05:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/detect.pm: (local_detect) fix modules conf
+ parsing
+
+2004-08-24 05:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: (usbMice, usbWacom) wacom devices
+ can have 'wacom' as driver
+
+2004-08-24 05:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules/: any_conf.pm, modprobe_conf.pm,
+ modules_conf.pm: really parse modules file according to its type
+ when reading it (always call $conf->read, split
+ modules::any_conf::read in modules::any_conf::read_handled)
+
+2004-08-23 20:57 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 598 If you
+ chose
+
+2004-08-23 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/crypto.pm: (getPackages) use new mirror structure
+ filepaths
+
+2004-08-23 11:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-08-23 10:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/commands.pm: (modprobe) use load_with_options
+ instead of load_raw to take care of module dependencies
+
+2004-08-23 10:14 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: add sata_sil module
+
+2004-08-23 09:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: standalone/drakclock, standalone/drakvpn,
+ network/netconnect.pm: no space before question marks in English
+
+2004-08-23 08:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm,
+ network/netconnect.pm: no space before a question mark in English
+
+2004-08-23 08:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add autosetupprintqueues
+
+2004-08-23 07:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.12mdk
+
+2004-08-23 06:35 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-23 05:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts) make it work with
+ sub hostnames
+
+2004-08-23 05:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (to_raw_X) do not set DRI mode
+ anymore; this is not needed anymore with PAM
+
+2004-08-23 05:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/DrakX.pot, share/po/zh_TW.po:
+ language names are upcase in english
+
+2004-08-23 05:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/adsl_consts.pm,
+ network/netconnect.pm, share/po/af.po, share/po/am.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/bn.po, share/po/br.po, share/po/bs.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/fur.po, share/po/ga.po, share/po/gl.po, share/po/he.po,
+ share/po/hi.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/ky.po, share/po/lt.po, share/po/ltg.po, share/po/lv.po,
+ share/po/mk.po, share/po/mn.po, share/po/ms.po, share/po/mt.po,
+ share/po/nb.po, share/po/nl.po, share/po/nn.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/DrakX.pot,
+ share/po/uz.po, share/po/uz@Latn.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakTermServ, standalone/drakbackup,
+ standalone/drakconnect, standalone/drakpxe, standalone/drakvpn:
+ protocol names, trademark and acronyms should be upcase
+
+2004-08-23 05:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: watch connection time, not
+ disconnection time :-)
+
+2004-08-23 05:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, network/netconnect.pm,
+ printer/printerdrake.pm, share/po/af.po, share/po/am.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/bn.po, share/po/br.po, share/po/bs.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/fur.po, share/po/ga.po, share/po/gl.po, share/po/he.po,
+ share/po/hi.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/ky.po, share/po/lt.po, share/po/ltg.po, share/po/lv.po,
+ share/po/mk.po, share/po/mn.po, share/po/ms.po, share/po/mt.po,
+ share/po/nb.po, share/po/nl.po, share/po/nn.po, share/po/pl.po,
+ share/po/pt_BR.po, share/po/pt.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tl.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/DrakX.pot, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakTermServ, standalone/drakbackup,
+ standalone/drakconnect, standalone/drakfont, standalone/draksec,
+ standalone/draksound, standalone/drakvpn, standalone/drakxtv,
+ standalone/harddrake2, standalone/logdrake: aspell's typo fixes
+
+2004-08-23 04:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, install_interactive.pm,
+ install_messages.pm, services.pm, standalone.pm: aspell's typo
+ fixes
+
+2004-08-22 18:26 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-08-22 08:14 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-22 07:40 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/Makefile: adjust Makefile to fit doc module
+ zh_cn
+
+2004-08-21 20:49 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-21 19:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/main.pm, printer/printerdrake.pm,
+ standalone/autosetupprintqueues: - Added fully automatic,
+ non-interactive, X-less print queue set up by the
+ "autosetupprintqueues" command, preferrably to be started by
+ hotplug. - Typo correction. - Correction of file check for
+ package installation.
+
+2004-08-20 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback (a string was
+ removed so translators still have to investigate anyway...)
+
+2004-08-20 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback 'n split in order to
+ reduce pressure on translators
+
+2004-08-20 17:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (network_on_boot step) do not
+ create ifcfg-ippp0 quite randomly
+
+2004-08-20 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureNetwork) net_cnx_*
+ scripts are dead
+
+2004-08-20 16:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ($after_start_on_boot_step)
+ remove obsolete call to write_cnx_script
+
+2004-08-20 16:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix nonsense in reconfigure
+ message (#10827)
+
+2004-08-20 16:39 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: apply ppc patch from Christiaan Welvaart
+
+2004-08-20 13:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2004-08-20 12:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tl.po, tr.po: updated pot file
+
+2004-08-20 12:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, nl.po, nn.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po: updated pot file
+
+2004-08-20 12:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po: updated pot file
+
+2004-08-20 11:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po: updated pot file
+
+2004-08-20 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kdeutils-klaptop on laptops
+
+2004-08-20 10:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate) support the TYPE keyword,
+ using detect_devices::matching_type()
+
+2004-08-20 10:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: add matching_type() to introduce
+ the TYPE keyword in rpmsrate (supports only laptop type for now)
+
+2004-08-20 10:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: fix drakxtools build
+
+2004-08-20 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add BuildRequires: rpm-devel b/c of
+ c/stuff.xs (Christiaan Welvaart)
+
+2004-08-20 09:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed problem of Brother
+ laser printer on parallel port not showing its name in
+ auto-detection result.
+
+2004-08-20 09:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/05.pl: standardized on using the
+ asterisk as bullet list for all advertisings
+
+2004-08-20 09:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakvpn: Fixed English typos
+
+2004-08-20 08:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakups: fixed English typo
+
+2004-08-20 08:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakvpn: fixed English typos (no space
+ before colon)
+
+2004-08-20 08:31 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Use standard mouse
+ wait/normal. Make $cmd_line a global. perl_checker fixes.
+
+2004-08-20 08:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: add a fixme comment
+
+2004-08-20 08:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: do not assume internet isn't
+ configured if connect scripts do not exist (they're obsolete),
+ fix connect button sensitivity
+
+2004-08-20 06:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: update mac
+ address in network::ethernet::get_eth_cards to be sure iftab is
+ always up-to-date
+
+2004-08-20 04:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/po/fr.po: update adsl message (partial fix of
+ bug 5778)
+
+2004-08-20 04:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: (firewire_probe) use sysfs to
+ detect firewire devices (eth1394 should be detected now)
+
+2004-08-20 04:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix nasty typo
+
+2004-08-19 22:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/am.po: updated Amharic file
+
+2004-08-19 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, mk.po, ru.po, tg.po, uk.po, uz.po:
+ fixed wrong cyrillic encoding chars
+
+2004-08-19 20:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Let printer name,
+ description, location be entered after determining the model in
+ the add printer wizard - Let default print queue name be derived
+ from the model instead of being "Printer", "Printer1", ... -
+ Simplified print queue name generation in non-interactive printer
+ setup - Fixed "Previous" button in the test page step of the add
+ printer wizard.
+
+2004-08-19 19:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sr.po: fixed cyrillic encoding mess with
+ Serbian translations
+
+2004-08-19 17:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2004-08-19 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.11mdk
+
+2004-08-19 13:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: always close the
+ wizard_window, die when an exception has been raised
+
+2004-08-19 13:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: perl_checker fixes
+
+2004-08-19 13:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/printerdrake: perl_checker fixes
+
+2004-08-19 13:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: perl_checker fixes
+
+2004-08-19 12:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: workaround not to call
+ c::upgrade_utf8 on read-only variables
+
+2004-08-19 12:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/main.pm: workaround not to call
+ c::upgrade_utf8 on read-only variables
+
+2004-08-19 12:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/printer/main.pm: perl_checker fixes
+
+2004-08-19 11:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/netconnect.pm,
+ printer/printerdrake.pm, security/help.pm, share/po/af.po,
+ share/po/am.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bn.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/fur.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/ky.po, share/po/lt.po, share/po/ltg.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/nn.po,
+ share/po/pl.po, share/po/pt_BR.po, share/po/pt.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tl.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/DrakX.pot,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakboot, standalone/drakbug, standalone/drakedm,
+ standalone/drakperm, standalone/draksplash, standalone/drakvpn,
+ standalone/drakxtv, standalone/scannerdrake,
+ standalone/service_harddrake_confirm: typo fixes
+
+2004-08-19 11:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: gimp.pm, main.pm, office.pm,
+ printerdrake.pm: - Removed installation of "gimpprint" package,
+ it is part of GIMP 2.0.x now. - Removed configuration of
+ applications, GIMP and OpenOffice.org are patched now so that
+ they do not need configuration of print queues any more. - Text
+ fix for scanners in HP's multi-function devices.
+
+2004-08-19 11:01 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Move code in another function
+
+2004-08-19 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: (connectionstr) workaround perl bug
+
+2004-08-19 09:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Fix problem of the "usblp" kernel
+ module not loaded before local printer auto-detection.
+
+2004-08-19 07:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: reduce non default (aka old default
+ ones) IM priority
+
+2004-08-19 05:52 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with Arabeyes CVS
+
+2004-08-19 04:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix keyboarddrake not modifying
+ xkb
+
+2004-08-19 03:58 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install2: Wrong comment
+
+2004-08-19 03:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix drakxtools build (do not
+ include ../Makefile.config)
+
+2004-08-19 03:10 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/rpmsrate: removing OpenIPMI as default
+
+2004-08-18 16:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) use
+ mac_ieee1394 descriptor in iftab for firewire links
+
+2004-08-18 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference
+
+2004-08-18 13:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ check usb controllers on boot
+
+2004-08-18 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.10mdk
+
+2004-08-18 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: merge in s/%d/%s/ fix in net_applet's message
+
+2004-08-18 12:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: fix default IM setting when
+ switching language
+
+2004-08-18 11:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix blino sucks
+
+2004-08-18 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: hide $release_notes_scroll by
+ default, it's visually cleaner
+
+2004-08-18 11:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ugtk2.pm: Make the status field optional in
+ treeviews
+
+2004-08-18 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: restrict the wait message (so that it's dead
+ when an error message is displayed)
+
+2004-08-18 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2004-08-18 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typos
+
+2004-08-18 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm,
+ standalone/drakboot: - any::setupBootloader() used to call
+ bootloader::install() whereas
+ install_steps_interactive::setupBootloader() could call it once
+ again (but this code seems dead though) - create
+ any::installBootloader() out of what was done in the end of
+ any::setupBootloader() but also in install_steps_interactive and
+ drakboot (which handled the error that could occur in
+ bootloader::install())
+
+2004-08-18 10:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker compliance
+
+2004-08-18 10:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: force ACPI on a laptop with recent
+ bios
+
+2004-08-18 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add PCMCIA controllers class
+
+2004-08-18 10:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: create
+ install_acpi_pkgs() and use it for auto_installs
+
+2004-08-18 09:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: use dmidecode to detect
+ isLaptop()
+
+2004-08-18 09:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: Getopt::Long is now faked
+
+2004-08-18 05:33 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-08-18 05:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/harddrake/data.pm: use
+ network::ethernet::get_eth_categories in ethernet detector
+
+2004-08-17 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix titi sux, fix I sux
+
+2004-08-17 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use
+ network::tools::get_internet_connection
+
+2004-08-17 17:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: get rid off the
+ 'ifcfg-Manually load a driver' file ...
+
+2004-08-17 17:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, cs.po: updated Bosnian and Czech
+ files
+
+2004-08-17 17:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: add new functions to make internet
+ connection tests easier
+
+2004-08-17 15:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: drop
+ network::tools::reread_net_conf
+
+2004-08-17 15:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, netconnect.pm, network.pm:
+ use network::ethernet::get_eth_categories() when needed
+
+2004-08-17 15:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: add
+ network::ethernet::get_eth_categories
+
+2004-08-17 14:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp) probe all network
+ sub categories
+
+2004-08-17 14:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: drop
+ network::ethernet::conf_network_card_backend
+
+2004-08-17 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp) don't use
+ network::ethernet::conf_network_card_backend
+
+2004-08-17 14:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp) sort devices and
+ keep only eth[0-9]+ devices
+
+2004-08-17 13:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend) set
+ NET_INTERFACE too
+
+2004-08-17 13:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp) allow configured
+ interface not to be eth0 and make sure it uses ethernet
+
+2004-08-17 12:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) use
+ unspec descriptor in iftab if link isn't ether
+
+2004-08-17 12:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix sagem pty quoting
+
+2004-08-17 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: lang::list() is unused, dropping it
+
+2004-08-17 11:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: sagem: don't run pppoa if the
+ ethernet interface isn't created and use a reduced timeout (1
+ second) so that boot doesn't take forever if modem can't be
+ synchronized (maxfail * timeout was equal to 25 minutes)
+
+2004-08-17 11:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, lang.pm, share/Makefile,
+ share/gen_locales.pl, share/gen_locales.sh, share/list: - don't
+ generate locales.tar.bz2, do the same directly (since it's now
+ quite simple) - when using ramdisk, we now have all the locales,
+ no need to handle it specially
+
+2004-08-17 11:47 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm: (category2modules) allow 'category/*', to
+ use all sub categories
+
+2004-08-17 11:22 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: don't remove /usr/share/locale
+ anymore, we use the same locale for all langs
+
+2004-08-17 11:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: cleanly handle the case when {pt_type}
+ is 0
+
+2004-08-17 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - fix short label with extension. eg:
+ have "linux-smp" instead of "linuxsmp" - this fixes choosing the
+ default specialised kernel
+
+2004-08-17 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp) handle pcmci card
+ too
+
+2004-08-17 10:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add network/firewire class
+
+2004-08-17 10:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: eth1394 isn't a disc module
+
+2004-08-17 10:34 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: revert my last bad commit
+
+2004-08-17 10:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: crypto.pm, install2.pm,
+ install_steps_interactive.pm: $::corporate is dead
+
+2004-08-17 09:19 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/c/: smp-dmi.c, stuff.xs.pl: rework smp-dmi, add dmi
+ memory detection suppport
+
+2004-08-17 09:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.9mdk
+
+2004-08-17 08:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: fix suckiness (write proper
+ iftab)
+
+2004-08-17 08:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix rpmsrate regarding s2u
+
+2004-08-17 08:13 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Display the list of media already
+ taken into accounts when asking for supplementary media
+
+2004-08-17 07:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: add release notes during
+ install of packages
+
+2004-08-17 07:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: get
+ release_notes at beginning of
+ install_steps_interactive::acceptLicense(), even when
+ useless_thing_accepted
+
+2004-08-17 07:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-17 05:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: better error handling
+
+2004-08-17 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: remove dead code
+
+2004-08-17 04:57 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: fix getting the kernel version, it's now
+ much simpler and works in any case (hopefully!)
+
+2004-08-17 04:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: perl_checker fix
+
+2004-08-17 04:52 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Supplementary cd-roms don't need to
+ have a rpmsrate / compssUsers.pl
+
+2004-08-17 04:35 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Log the reason why the rpms aren't
+ installed
+
+2004-08-16 15:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: NET_INTERFACE should be ppp0
+ for pppoe too
+
+2004-08-16 15:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add reminder about external
+ ISDN modems (special init string)
+
+2004-08-16 14:31 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: merge with waproamd version
+
+2004-08-16 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: add comments from waproamd
+ version
+
+2004-08-16 13:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: do not write noipdefault in
+ /etc/ppp/peers/ppp0 for pptp connections
+
+2004-08-16 13:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: alsaconf is in
+ alsa-utils package (bug 10358)
+
+2004-08-16 13:01 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: (probe_that_type) do not prompt in
+ discovered_device() before loading usb controllers (they're not
+ network devices)
+
+2004-08-16 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: we don't use XF86Config-4
+ anymore
+
+2004-08-16 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: handle /etc/X11/xorg.conf
+
+2004-08-16 09:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) net_cnx_up is
+ obsolete, pptp info is available in ppp config files
+
+2004-08-16 08:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers.pl: field is {default_selected},
+ not {selected}
+
+2004-08-16 08:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) don't write net
+ cnx scripts, internet service should be dead
+
+2004-08-16 08:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove useless assignment (already
+ done in adsl_protocol step)
+
+2004-08-16 07:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix pppoe with sagem (write
+ ETH=`/usr/sbin/eaglectrl -i` instead of ETH=sagem)
+
+2004-08-16 07:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't configure firewall
+ after configuring network during install (in summary you can
+ configure firewall directly)
+
+2004-08-16 07:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: better URLPREFIX parsing regexp
+ (handle URLPREFIX = "http://leia")
+
+2004-08-16 07:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix pixel sucks
+
+2004-08-16 07:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: changed a keyboard name
+
+2004-08-16 07:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, Xconfig/card.pm:
+ replace freeDriver with freedriver (stage2 para are lower cased)
+
+2004-08-16 04:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: help debugging detectloader
+
+2004-08-16 04:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: modules::load doesn't accept options
+ anymore, use modules::load_with_options() (bugzilla #10778)
+
+2004-08-16 03:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add load_with_options()
+
+2004-08-16 03:43 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add sata_sis (bugzilla #10365)
+
+2004-08-15 16:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2004-08-15 15:36 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates indexhtml/po/da.po
+ soft/mdkhtmlbrowser/po/da.po soft/mdkonline/po/da.po
+ soft/menudrake/po/da.po soft/rpmdrake/po/da.po
+ soft/urpmi/po/da.po soft/userdrake2/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2004-08-15 15:20 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: beta rush
+
+2004-08-15 14:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-08-15 03:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: help-it.pot, it.po: updated Italian file
+
+2004-08-15 01:44 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 591 Generate
+ auto
+
+2004-08-14 12:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: small fix
+
+2004-08-14 11:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, tg.po, uz.po, uz@Latn.po: fixed
+ shortcut entries ("<control>...")
+
+2004-08-14 10:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: am.po, be.po, bn.po, el.po, eo.po, fr.po,
+ fur.po, ga.po, he.po, hi.po, hr.po, id.po, is.po, ko.po, ky.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, sl.po, sr.po, sr@Latn.po,
+ ta.po, tg.po, th.po, zh_TW.po: fixed special "<control>" entries;
+ included translations for various standard menu entries (File,
+ Edit, Help,...)
+
+2004-08-14 07:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2004-08-14 04:20 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/help_xml2pm.pl: zh_CN -> zh_cn to fit CVS
+ module
+
+2004-08-13 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2004-08-13 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: fr.po, cy.po: update
+
+2004-08-13 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (updateAutologin) clean
+ any::set_autologin() call
+
+2004-08-13 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (set_autologin) parameters are optionnal,
+ writing empty variables in kdmrc and the like means disabled
+ autologin
+
+2004-08-13 15:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: enabled Turkmen and Tatar; prepared various
+ other languages (waiting for lang-*.png pixmap). updated the
+ kde-i18n list with the newly available languages
+
+2004-08-13 15:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: misc cleanups
+
+2004-08-13 14:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: make perl_checker happy
+
+2004-08-13 14:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: perl_checker fix
+
+2004-08-13 14:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: (drakboot --splash) add
+ enable_framebuffer to allow to choose a video mode if boot isn't
+ graphical
+
+2004-08-13 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: add and use
+ bootloader::set_append_netprofile() and
+ bootloader::get_append_netprofile()
+
+2004-08-13 11:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: changed arabic font to roya.ttf
+ (from fonts-ttf-arabic-farsi) which also cover Farsi (fa).
+ updated Nimbus Sans L to cooker version, and edited it to add the
+ two missing letters needed to full latin and cyrillic coverage
+ (the two letters were latin schwa (for Azeri) and cyrillic che
+ with descender (for Tajik))
+
+2004-08-13 10:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: One further step towards the ftp
+ supplementary media
+
+2004-08-13 10:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, any.pm: perl_checker
+ compliance
+
+2004-08-13 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: -
+ bootloader::remove_append_dict() is not useful,
+ bootloader::set_append() can do the same - don't modify anything
+ before "Ok" is clicked - set_append with $netprofile eq '' will
+ remove parameter PROFILE=xxx, which is what we want
+
+2004-08-13 10:11 Pixel <pixel at mandriva.com>
+
+ * Makefile: s/compssUsers/compssUsers.pl/
+
+2004-08-13 10:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm, share/compssUsers,
+ share/compssUsers.pl, share/po/Makefile,
+ share/po/i18n_compssUsers: - don't use compssUsers anymore, use
+ compssUsers.pl - code to display compssUsers choices is now in
+ compssUsers.pl - {compssUsers} is now a list instead of a hash,
+ and so drop {compssUsersSorted} - rename {compssUsersChoice} to
+ {rpmsrate_flags_chosen} (better name) - i18n_compssUsers is no
+ more needed, add share/compssUsers.pl* to ALLPMS
+
+2004-08-13 10:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: remove old linuxconf
+ profile code
+
+2004-08-13 09:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__entries) allow to choose
+ net profile in advanced mode
+
+2004-08-13 09:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/bootloader.pm: add remove_append_dict
+
+2004-08-13 08:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/rpmsrate: add list of providers for modem
+ connexions in INSTALL section
+
+2004-08-13 08:38 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01.pl, 01.png, 02.pl, 02.png,
+ 03.pl, 03.png, 04.pl, 04.png, 05.pl, 05.png, 06.pl, 06.png,
+ 07.pl, 07.png, 08.pl, 08.png, 09.pl, 09.png, 10.pl, 10.png,
+ 11.pl, 11.png, 12.pl, 12.png, 13-a.pl, 13-a.png, 13-b.pl,
+ 13-b.png, 14.pl, 14.png, 15.pl, 15.png, 16.pl, 16.png, 17.pl,
+ 17.png, 18.pl, 18.png, 19.pl, 19.png, 20.pl, 20.png, 21.pl,
+ 21.png, 22.pl, 22.png, 23.pl, 23.png, 24.pl, 24.png, 25.pl,
+ 25.png, 26.pl, 26.png, 27.pl, 27.png, 28.pl, 28.png, 29.pl,
+ 29.png, 30.pl, 30.png, dis-01.pl, dis-01.png, dis-02.pl,
+ dis-02.png, dis-03.pl, dis-03.png, dis-04.pl, dis-04.png,
+ dis-05.pl, dis-05.png, dis-06.pl, dis-06.png, dis-07.pl,
+ dis-07.png, dis-08.pl, dis-08.png, dis-09.pl, dis-09.png,
+ dis-10.pl, dis-10.png, dis-11.pl, dis-11.png, drweb.pl,
+ drweb.png, dwd-01.pl, dwd-01.png, dwd-02.pl, dwd-02.png,
+ dwd-03.pl, dwd-03.png, dwd-04.pl, dwd-04.png, dwd-05.pl,
+ dwd-05.png, dwd-06.pl, dwd-06.png, dwd-07.pl, dwd-07.png,
+ dwd-08.pl, dwd-08.png, dwd-09.pl, dwd-09.png, list-dis, list-dwd,
+ list-ppp, list-pwp, ppp-01.pl, ppp-01.png, ppp-02.pl, ppp-02.png,
+ ppp-03.pl, ppp-03.png, ppp-04.pl, ppp-04.png, ppp-05.pl,
+ ppp-05.png, ppp-06.pl, ppp-06.png, ppp-07.pl, ppp-07.png,
+ ppp-08.pl, ppp-08.png, ppp-09.pl, ppp-09.png, ppp-10.pl,
+ ppp-10.png, ppp-11.pl, ppp-11.png, pwp-01.pl, pwp-01.png,
+ pwp-02.pl, pwp-02.png, pwp-03.pl, pwp-03.png, pwp-04.pl,
+ pwp-04.png, pwp-05.pl, pwp-05.png, pwp-06.pl, pwp-06.png,
+ pwp-07.pl, pwp-07.png, pwp-08.pl, pwp-08.png, pwp-09.pl,
+ pwp-09.png, pwp-10.pl, pwp-10.png: New ad's for 10.1
+
+2004-08-13 08:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: perl_checker fix (add missing
+ spaces)
+
+2004-08-13 07:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/ugtk2.pm: ctrl-alt-delete allows to restart install
+
+2004-08-13 07:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: do not assume drakvpn is already
+ configured if the tunnels file is made of comments only
+
+2004-08-13 07:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: drakupdate_fstab: add
+ debug mode that dumps argv, device list and fstab to make bug
+ reports easier
+
+2004-08-13 07:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ remove unused $variable
+
+2004-08-13 06:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ if device looks like a devfs device, set $e->{devfs_device} to
+ $name even if the device wasn't found in devices list (it helps
+ in case the device has been removed in del mode)
+
+2004-08-13 06:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ remove useless assignment
+
+2004-08-13 06:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ in non devfs case, $e->{device} always equals to $name, move this
+ test in devfs case
+
+2004-08-13 06:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ don't do brain twisted things ($e->{prefix} || $e->{device})
+ equals $prefix $prefix . $nb equals $name
+
+2004-08-13 06:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ fix indentation
+
+2004-08-13 06:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ define $nb locally
+
+2004-08-13 06:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ recompute $e->{device} only when needed
+
+2004-08-13 06:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ do devfs things where they should be done
+
+2004-08-13 06:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: (device_name_to_entry)
+ define $e->{devfs_prefix} if entry looks looks like a devfs one
+ but isn't found in device list (else our computed
+ $e->{devfs_device} will be crappy)
+
+2004-08-13 06:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: perl_checker fix
+
+2004-08-13 05:44 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: Don't ask for the selection of
+ supplementary media in non-interactive installs.
+
+2004-08-13 05:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: - move installing acpi
+ and acpid directly in any::setupBootloader() instead of doing
+ it in summaryAfter(), that way acpi and acpid are installed in
+ drakboot (bugzilla #10760) - if no acpi parameter, don't try
+ installing acpi & acpid (fix for ppc)
+
+2004-08-13 04:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) do not
+ write undefined MAC address in iftab
+
+2004-08-13 03:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Concision, good (says perl_checker)
+
+2004-08-13 03:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Try to copy associated synthesis when a
+ custom hdlist path is given
+
+2004-08-13 02:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/standalone.pm: Remove a perl compilation warning
+
+2004-08-12 20:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, help-de.pot, help-es.pot,
+ help-fr.pot, help-it.pot, help-ru.pot, help-zh_CN.pot, hi.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, ky.po, lt.po,
+ ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file
+
+2004-08-12 16:22 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: Hong Kong -> Hong Kong SAR
+
+2004-08-12 15:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: write interface MAC address in
+ iftab
+
+2004-08-12 15:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: errm, don't commit crappy gnome
+ proxy handling for now
+
+2004-08-12 15:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) simplify
+ HWADDR assignment and define $mac_address (will be used later for
+ /etc/iftab)
+
+2004-08-12 13:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: restart forked process if it exits with
+ exit_value_restart as return code (thanks to Rafael for the
+ choice of its value, 0x35 is the translation of RS, abbreviation
+ of ReStart, in his local l33t dialect, and happens to be 53 in
+ its decimal form, which is quite nice)
+
+2004-08-12 13:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/nn.po: update (Karl Ove Hufthammer
+ <karl@huftis.org>)
+
+2004-08-12 13:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: reorder else if blocks, it's useless to do two
+ times the same test (WEXITSTATUS(wait_status) ==
+ exit_value_proceed)
+
+2004-08-12 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: sync with soft/common/username
+
+2004-08-12 13:35 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/init.c: use a do while loop to wait for forked process
+
+2004-08-12 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: better let pango/Gtk+ do the
+ proper wrapping that let translator manually insert end of lines
+ which will badly look depending on current theme and font
+ settings
+
+2004-08-12 11:31 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: First stab at supporting
+ several hdlists on a supplementary CD
+
+2004-08-12 10:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/gen_locales.sh: still needed since installer
+ can't make symlinks on read-only stage2, and we can't easily
+ workaround it by modifying LC_* variables
+
+2004-08-12 10:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/gen_locales.pl: revived, still needed since
+ installer can't make symlinks on read-only stage2, and we can't
+ easily workaround it by modifying LC_* variables
+
+2004-08-12 10:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbug: fixed English string
+
+2004-08-12 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: br.po, fr.po: update
+
+2004-08-12 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: let's be more l10n-friendly
+
+2004-08-12 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix default connection time
+ (Fabrice FACORAT)
+
+2004-08-12 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/sv.po: typo fix (#10713, Robin Rosenberg
+ <robin.rosenberg@dewire.com>)
+
+2004-08-12 10:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: enhance based on perl_checker suggestion, but
+ not using it :)
+
+2004-08-12 10:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (basic_seclevel_explanations)
+ explain
+
+2004-08-12 10:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (basic_seclevel_explanations) -
+ handle "bold" value for "weight" - display labels as bold
+
+2004-08-12 10:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: fixed tamil font (removed wrong
+ unicode values for some glyphs); improved fonts.conf
+
+2004-08-12 09:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix bad %%
+
+2004-08-12 09:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill unused variables
+
+2004-08-12 09:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill deprecated parts
+
+2004-08-12 09:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/sv.po: fix missing translations (#10711,
+ Robin Rosenberg <robin.rosenberg@dewire.com>)
+
+2004-08-12 09:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot,
+ share/po/help-ru.pot, share/po/help-zh_CN.pot: update from doc
+ (/cooker/doc/manualB)
+
+2004-08-12 08:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set both NET_DEVICE and
+ NET_INTERFACE in automatic lan configuration (network install)
+
+2004-08-12 08:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set NET_DEVICE and
+ NET_INTERFACE for lan and adsl dhcp/manual connections
+
+2004-08-12 08:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - nicer error message for
+ help.pm N parameters error - handle <sect3> (and also <option>)
+
+2004-08-12 07:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: standalone doesn't need to be
+ blacklisted
+
+2004-08-12 07:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install driver and firmware for
+ madwifi cards
+
+2004-08-12 06:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/io.pm: remove check_mounted(), it is done
+ by diskdrake
+
+2004-08-12 06:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/sv.po: big swedish update thanks to Robin
+ Rosenberg <robin.rosenberg@dewire.com>
+
+2004-08-12 03:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/msec.pm: use difference2() as suggested by
+ new perl_checker warning
+
+2004-08-12 03:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/msec.pm: cleanup
+
+2004-08-12 03:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: resize_fat/io.pm, security/msec.pm: perl_checker
+ compliance
+
+2004-08-12 03:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: cleanup
+
+2004-08-11 17:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: rewrite write_config for
+ wlandetect to use output()
+
+2004-08-11 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: regexp cleanup (bis)
+
+2004-08-11 17:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: regexp cleanups
+
+2004-08-11 16:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: remove unused variable
+
+2004-08-11 16:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use each_index
+
+2004-08-11 16:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: introduce and use
+ isRoamingRunning to detect if the roaming daemon is running
+ (woah, sector clear, titi is gone home, no more cvs conflicts)
+
+2004-08-11 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: prepare for multiple roaming
+ daemons support
+
+2004-08-11 16:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2004-08-11 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.8mdk
+
+2004-08-11 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: install drakroam
+
+2004-08-11 11:57 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Support for ftp supplementary media
+
+2004-08-11 11:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: s/XFree/Xorg/
+
+2004-08-11 11:22 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Restore ability to have
+ supplementary http media.
+
+2004-08-11 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install firmware for centrino if
+ needed
+
+2004-08-11 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker hints
+
+2004-08-11 11:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/gen_locales.pl: unused since locale links are
+ done by the installer
+
+2004-08-11 10:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: rewrite handling of defautl locale
+
+2004-08-11 10:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/gen_locales.sh: do not run gen_locales.pl
+ anymore (locale links are done by the installer)
+
+2004-08-11 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist Gtk2::SimpleList for
+ drakroam
+
+2004-08-11 10:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Fix http installs.
+
+2004-08-11 10:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/lang.pm: main charset is now en_US.UTF-8
+
+2004-08-11 09:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: comment unused variable
+
+2004-08-11 09:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: update product list and fix case
+ (bugzilla is case sensitive)
+
+2004-08-11 09:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix product, component and
+ version for bugzilla
+
+2004-08-11 09:25 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: reorganize to use the same
+ upload info message for Anthill and Bugzilla
+
+2004-08-11 09:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix bugzilla url
+
+2004-08-11 09:16 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - perl_checker fixes
+
+2004-08-11 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: perl_checker cleanups
+
+2004-08-11 08:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: run UpdateStatus after a
+ timeout in case 'ps' output isn't updated immediately
+
+2004-08-11 08:43 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - use webclient-kde instead of
+ konqueror - add epiphany browser
+
+2004-08-11 08:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, install_steps.pm, lang.pm,
+ pkgs.pm, standalone.pm, ugtk2.pm, interactive/stdio.pm,
+ standalone/harddrake2, standalone/service_harddrake: perl_checker
+ compliance
+
+2004-08-11 08:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: new perl_checker fake those packages
+
+2004-08-11 08:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: make titi enhancement actually
+ work
+
+2004-08-11 08:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (mkinitrd) log failled command
+
+2004-08-11 08:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: typo fix
+
+2004-08-11 08:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (Dialog) according to mandrake
+ guidelines we should not use stock icon
+
+2004-08-11 08:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use standalone
+
+2004-08-11 08:08 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: only one item can be selected
+ in the known list
+
+2004-08-11 07:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use a lower scan interval, as
+ requested by Austin
+
+2004-08-11 07:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: use cat_, remove unneeded local
+ $_, try to fix ConnectNow
+
+2004-08-11 07:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (AddNet) help perl_checker in
+ checking callers
+
+2004-08-11 07:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateStatus) simplify
+
+2004-08-11 07:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: simplify through
+ run_program::get_stdout()
+
+2004-08-11 07:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: expand parenthesises
+
+2004-08-11 07:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateAvailable) probably
+ better
+
+2004-08-11 07:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (UpdateAvailable) localize
+ variable
+
+2004-08-11 07:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (Dialog) indent
+
+2004-08-11 07:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (Dialog) enable checking call
+ signature
+
+2004-08-11 07:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (Dialog) simplify: reuse
+ create_scrolled_window()
+
+2004-08-11 07:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (Dialog) fix it (got broken on
+ ugtk2 port)
+
+2004-08-11 07:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker fixes
+
+2004-08-11 04:36 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Misleading comment
+
+2004-08-10 18:22 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-08-10 17:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker compliance
+
+2004-08-10 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: ugtk2 port
+
+2004-08-10 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: (AddNet, WriteConfig) do not
+ bother accessing arrays like in C
+
+2004-08-10 16:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakroam: perl_checker cleanups (GUI code
+ actually wasn't touched in order to help olivier merge his ugtk2
+ porting work)
+
+2004-08-10 15:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: fix roaming detection
+
+2004-08-10 15:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakroam: initial import of wlandetect
+ version, from Austin Action
+
+2004-08-10 14:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove unused variable in
+ network::netconnect, thanks perl_checker
+
+2004-08-10 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add some FIXME comments in
+ network::netconnect
+
+2004-08-10 14:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: network::tools::connect_prog
+ is really dead now
+
+2004-08-10 14:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: network::tools::connect_prog
+ shouldn't be used/written anymore now
+
+2004-08-10 14:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill some more
+ connect/disconnect_file
+
+2004-08-10 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: add a horizontal separator
+ in stats to prevent visual disguts between supposed non aligned
+ labels
+
+2004-08-10 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix looking aka vertical
+ alignment of labels (Fabrice FACORAT <f.faber-pro@ifrance.com>,
+ #10300)
+
+2004-08-10 13:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix packing (Fabrice FACORAT
+ <f.faber-pro@ifrance.com>, #10300)
+
+2004-08-10 13:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: add s2u so that hostname changes do
+ not fsck the desktop
+
+2004-08-10 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: no {fs_type} doesn't mean
+ the type invalid
+
+2004-08-10 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: when there is no {pt_type}, favour the
+ one fs_type2pt_type favours
+
+2004-08-10 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: create /etc/udev/conf.d/xxx.conf
+
+2004-08-10 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: no {pt_type} doesn't mean
+ Empty
+
+2004-08-10 11:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: remove dead code
+
+2004-08-10 10:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: URLPREFIX is not set if
+ the main media isn't http, so the prefix must be passed manually.
+
+2004-08-10 10:42 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: update
+
+2004-08-10 10:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: list a few more contributors
+
+2004-08-10 10:02 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img, tools/make_mdkinst_stage2: umount mount
+ point instead of umounting the loopback file (works better when
+ /etc/mtab is /proc/mounts)
+
+2004-08-10 09:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install2.pm, pkgs.pm,
+ network/adsl.pm: mount /proc, /sys and /proc/usb/usb in $prefix
+ ASAP instead of doing it at various places
+
+2004-08-10 09:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: gen_locales.pl, gen_locales.sh: using
+ "en_US.UTF-8" instead of "UTF-8" as model
+
+2004-08-10 09:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: gen_locales.pl, gen_locales.sh,
+ locales-skeleton.tar.bz2: updated use UTF-8 locales for
+ everything
+
+2004-08-10 07:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't install devfsd by default, use
+ udev instead
+
+2004-08-10 07:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm, various.pm: s/XFree/Xorg/
+
+2004-08-10 07:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install udev by default
+
+2004-08-10 07:09 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: install_urpmi(): set up the right
+ with_hdlist for urpmi.cfg
+
+2004-08-10 06:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Back to first medium after having
+ added a supplementary one. Set prefix for http supplementary
+ media, since $URLPREFIX is not defined.
+
+2004-08-10 05:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: more logs
+
+2004-08-10 05:33 Pixel <pixel at mandriva.com>
+
+ * move/data/nvidia.list: adapt to new driver
+
+2004-08-10 04:51 Pixel <pixel at mandriva.com>
+
+ * move/isolinux/: help.msg, make.pl: - document "formatkey" -
+ s/MandrakeMove/Move/
+
+2004-08-10 04:51 Pixel <pixel at mandriva.com>
+
+ * move/: data/BOOT-1024-MOVE.jpg, data/BOOT-1280-MOVE.jpg,
+ data/BOOT-1600-MOVE.jpg, data/BOOT-800-MOVE.jpg,
+ data/isolinux-graphic.bmp, data/isolinux-graphic.bmp.parameters,
+ img/Mandrake.png: new logos
+
+2004-08-10 04:50 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: adapt
+
+2004-08-10 04:48 Pixel <pixel at mandriva.com>
+
+ * move/data/make_i18n_list: en_ZA locales are removed by hand, we
+ also have to skip them from the rpm file list
+
+2004-08-10 04:47 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: helper for building
+ data/isolinux-graphic.bmp.parameters
+
+2004-08-10 04:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/: modprobe_conf.pm, modules_conf.pm:
+ perl_checker compliance
+
+2004-08-10 04:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updated fonts (added devanagari
+ and tamil)
+
+2004-08-10 04:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, modules/any_conf.pm,
+ modules/modprobe_conf.pm, modules/modules_conf.pm: internally
+ keep module names according to what we configure (and our kernel,
+ 2.4 or 2.6)
+
+2004-08-10 03:10 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/crypto.pm: Adapt to the new mirror structure: RPMs
+ are no longer in a RPMS subdirectory
+
+2004-08-10 03:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/adsl.pm: mounting device "none" is cleaner
+
+2004-08-10 01:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2004-08-10 01:11 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/pt.po: Remove conflict marker and duplicate
+ entries
+
+2004-08-10 01:06 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Select supplementary medium
+
+2004-08-09 15:15 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: saraiva corrected
+
+2004-08-09 15:14 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: saraiva
+
+2004-08-09 12:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (basic_seclevel_explanation)
+ handle any tags ala label
+
+2004-08-09 12:24 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Begin the support for installations
+ over multiple media.
+
+2004-08-09 11:20 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-08-09 11:13 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/advertising/: dis-11.pl, dwd-08.pl, ppp-11.pl,
+ pwp-10.pl: s/MandrakeExpert/Mandrakeexpert
+
+2004-08-09 11:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: replaced arabic and bengali
+ fonts
+
+2004-08-09 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_any.pm, install_interactive.pm,
+ install_messages.pm, harddrake/sound.pm, standalone/drakfont,
+ standalone/draksec, standalone/draksound, standalone/drakxtv: add
+ hint about ala LaTeX strings for translators
+
+2004-08-09 09:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: in
+ netconnect::(start|stop)_internet, use
+ (connect|disconnect)_backend
+
+2004-08-09 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkappend_page) title is optonnal and
+ perl_checker is loudly complaining outdoor...
+
+2004-08-09 09:34 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: use new ISO images volume name
+ (#10543)
+
+2004-08-09 08:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: fix regexp (do not strip paths
+ ending in .*iso)
+
+2004-08-09 07:45 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-08-09 06:03 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic (from Arabeyes.org)
+ translation
+
+2004-08-09 05:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/http.pm: use $F instead of *F
+
+2004-08-09 05:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_auto_install.pm: correctly call errorInStep()
+
+2004-08-09 05:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix call to bootloader::read()
+
+2004-08-09 05:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker prototype
+ compliance
+
+2004-08-09 05:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/http.pm: prototype perl_checker
+ compliance
+
+2004-08-09 05:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: prototype compliance with perl_checker
+
+2004-08-09 05:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: help perl_checker know the
+ $all_hds *is* used
+
+2004-08-09 05:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix typo
+
+2004-08-09 05:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - fix unlockCdrom() - ejectCdrom()
+ prototype compliance with perl_checker
+
+2004-08-09 05:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2004-08-09 05:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, ugtk2.pm, standalone/drakxtv,
+ standalone/localedrake: we never pass a prefix to lang::read()
+ which is always use in standalone, so use $::prefix and don't
+ pass a prefix anymore
+
+2004-08-09 05:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: - adapt prototype of runlevel()
+ to its use - bootloader::read() needs fstab
+
+2004-08-09 05:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: flags is optional
+
+2004-08-09 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker compliance +
+ cleanup
+
+2004-08-09 04:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2004-08-09 04:39 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-08-09 04:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle ipw2200 too
+
+2004-08-09 04:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-08-09 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.7mdk
+
+2004-08-09 04:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-09 04:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - move the "Input method:" at the end (titi
+ did put it in the middle for OptionMenu which is crap) - need
+ updating the "changed" callback since there is a new entry
+
+2004-08-09 04:13 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: typo fix (from Olivier Borowski)
+
+2004-08-09 04:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, ta.po, tg.po, th.po, tl.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po: updated pot file
+
+2004-08-09 03:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, zh_TW.po: updated pot file
+
+2004-08-09 03:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, fa.po,
+ fi.po, fur.po, zh_CN.po: updated pot file
+
+2004-08-09 03:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: allow 192.168.1.1:/export
+
+2004-08-09 03:42 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 556 The
+ Mandrakelinux
+
+2004-08-09 03:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: developers should always run
+ their stuff with the strict pragma
+
+2004-08-09 03:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Xconfig/resolution_and_depth.pm,
+ standalone/drakTermServ, standalone/drakautoinst,
+ standalone/drakbackup, standalone/drakbug,
+ standalone/drakconnect, standalone/drakfloppy,
+ standalone/drakperm, standalone/draksec, standalone/logdrake,
+ standalone/net_applet, standalone/net_monitor: prefer obj->new
+ rather than new obj for gtk+ widgets
+
+2004-08-09 03:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: perl_checker cleanup
+
+2004-08-09 03:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (find_files_to_restore)
+ cleanups
+
+2004-08-09 03:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove awesfx from "SYSTEM 2"
+ otherwise it gives a fatal error
+
+2004-08-09 03:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - perl_checker cleanups - reuse
+ cat_() where opencoded
+
+2004-08-09 03:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (checkNetwork) do not die
+ when gateway canot be guessed (Joe Bolin
+ <sopwithcamel@charter.net>)
+
+ else the applet dies never to be heard from again until the next
+ login b/c with DHCP connections, the gateway information is lost
+ when the network is manually brought down.
+
+ Indeed gateway is not needed for direct connection through
+ crossover cable.
+
+2004-08-09 02:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (setState) fix status toolip
+
+2004-08-09 02:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: allow multiple instances, but
+ only one per user (Joe Bolin <sopwithcamel@charter.net>)
+
+2004-08-09 02:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-09 01:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10.1-0.6mdk's changelog
+
+2004-08-09 01:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) add hints
+ for translators
+
+2004-08-09 01:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) enable
+ translators to print a fully translated strings (though we should
+ probably just pregenerate and fill pos with all the strings b/c
+ of inflections and mutations that occur in some languages)
+
+2004-08-09 01:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: sort theme list
+
+2004-08-09 01:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) do not set
+ hash as string on labels else perl will stringify this very hash
+ thus making draksec crashes with strict pragma
+
+2004-08-09 01:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup, drakboot,
+ drakfloppy, drakperm, draksec: simplify code through
+ Gtk2::ComboBox->new_with_strings()
+
+2004-08-09 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: merge in typo fixes
+
+2004-08-09 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox->new_with_strings) make it
+ working
+
+2004-08-09 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: sort WMs list
+
+2004-08-09 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: use proper widget (aka
+ GtkTable)
+
+2004-08-09 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: sort user list
+
+2004-08-08 23:39 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: Revised comments to make non-utf-8 editor
+ happier
+
+2004-08-08 23:30 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/lang.pm: changed default font for gb2312
+
+2004-08-08 22:59 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/: standalone/logdrake, authentication.pm,
+ share/po/zh_CN.po: typo fix
+
+2004-08-08 22:56 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/network/netconnect.pm: s/iwpconfig/iwconfig
+
+2004-08-08 16:28 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: small updates to catalan translation
+
+2004-08-08 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/aliases: remove raidstop
+
+2004-08-08 10:47 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-08-08 10:34 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 401 Volume
+ label:
+
+2004-08-08 10:19 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone.pm: s/Mandrake/Mandrakelinux
+
+2004-08-08 10:17 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/advertising/: dis-08.pl, dis-09.pl, dis-10.pl,
+ dwd-04.pl, dwd-06.pl, dwd-07.pl, ppp-04.pl, ppp-05.pl, ppp-08.pl,
+ ppp-09.pl, ppp-10.pl, pwp-04.pl, pwp-07.pl, pwp-08.pl, pwp-09.pl:
+ Some string fixes
+
+2004-08-08 09:57 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/: drakbug, drakconnect, harddrake2,
+ logdrake, net_monitor: s/Mandrake/Mandrakelinux
+
+2004-08-08 09:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, detect_devices.pm, fsedit.pm,
+ install2.pm, install_any.pm, raid.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, fs/get.pm, share/list.i386: - switch to
+ mdadm (instead of raidtools) - create mdadm.conf instead of
+ raidtab - internal {raids} is no more indexed by X for mdX, and
+ so don't have holes anymore - internal {chunk-size} is now a
+ number in KiB - internal {raid} is the raid device name, not the
+ number - various cleanup for raid detection
+
+2004-08-08 09:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't set toFormat if we don't
+ have a {fs_type} (eg: pt_type 0xfd, ie raw raid)
+
+2004-08-08 08:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: rpmsrate: many authentication packages where
+ missing (bugzilla #10644)
+
+2004-08-08 05:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: replace "More" with a more descriptive
+ button name
+
+2004-08-08 05:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: only load floppy module explictly
+ during install (otherwise it causes ugly messages in
+ bootloader-config)
+
+2004-08-08 02:59 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 205 Local file:
+
+2004-08-07 21:30 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 130
+
+2004-08-07 09:51 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-08-07 04:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2004-08-07 04:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-08-07 00:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2004-08-06 23:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-08-06 21:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/fsedit.pm: reverted an unneeded string change
+
+2004-08-06 15:40 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabeyes' Arabic translation
+
+2004-08-06 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-08-06 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.6mdk
+
+2004-08-06 11:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Allow multiple complicate flags in
+ rpmsrate, if they're exactly the same.
+
+2004-08-06 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: typo fix
+
+2004-08-06 10:59 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 100 What norm
+ is your...
+
+2004-08-06 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix x-unikey support (Larry Nguyen)
+
+2004-08-06 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: - install awesfx too if neded - add
+ a note b/c we cannot install it :-)
+
+2004-08-06 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: cleanups for lord
+ perl_checker
+
+2004-08-06 09:28 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/rpmsrate: If totem is to be avoided for KDE,
+ avoid it in audio as well as in video.
+
+2004-08-06 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) fix IM sorting
+
+2004-08-06 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) fix configuring IM
+
+2004-08-06 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (advanced_when) quiet runtime
+ warnings
+
+2004-08-06 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox->set_text) better error
+ message
+
+2004-08-06 09:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (advanced_when) fix crash
+ when selecting an entry in pull down menus
+
+2004-08-06 08:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: (network::adsl::adsl_conf_backend)
+ add ppp_async alias for sagem devices (so that they work during
+ install)
+
+2004-08-06 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, am.po, ar.po, az.po, be.po, bg.po,
+ bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, fur.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: push typo fixes in order to reduce pressure on
+ translators
+
+2004-08-06 08:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) let's have a
+ better looking mesage
+
+2004-08-06 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_scrolled_window) adding 6px as
+ left margin for TextView in scrolled Window
+
+2004-08-06 08:15 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix titypo
+
+2004-08-06 07:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.5mdk
+
+2004-08-06 07:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: try to load all modules that may be
+ needed to establish connexion
+
+2004-08-06 06:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) only try to
+ mount /proc if it wasn't (eg if we didn't intall any packages)
+
+2004-08-06 06:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: try to mount proc fs too, in case
+ it wasn't done earlier
+
+2004-08-06 04:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: always install all arabic fonts
+ since farsi oness contains nice arabic glyphs but not urdu (by
+ way of arabayes feedback)
+
+2004-08-06 04:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo
+
+2004-08-06 04:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't try to remove non existing
+ should_be_dirs
+
+2004-08-06 04:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use the new
+ kdenetwork-kppp-provider package (thanks Laurent !) to be able to
+ parse the provider db without requiring kdenetwork-kppp
+
+2004-08-05 17:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set netcnx type when an
+ external isdn modem is selected, or else modem::ppp_read_conf
+ will crash (Anthill #1033)
+
+2004-08-05 17:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set netcnx type when an
+ external isdn modem is selected, or else modem::ppp_read_conf
+ will crash (Anthill #1033)
+
+2004-08-05 15:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, uk.po: updated Estonian file
+
+2004-08-05 12:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: try to mount usbdevfs in $::prefix
+ before attempting to run adsl start programs
+
+2004-08-05 11:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: use new arabic font packages
+
+2004-08-05 11:07 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: do not go back to the beginning if no
+ distribution is found in the directory (second fix)
+
+2004-08-05 10:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: basic code for upgrading from a
+ redhat distribution
+
+2004-08-05 10:47 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: do not go back to the beginning if no
+ distribution is found in the directory
+
+2004-08-05 10:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_messages.pm: (install_completed) bump errata
+ page (though it does not yet exists)
+
+2004-08-05 10:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: make room on replay/auto_install
+ floppy image before doing anything
+
+2004-08-05 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install sg usefull when there's a
+ bluetooth device connected to the system
+
+2004-08-05 10:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: write auto_inst.cfg after making
+ room on the floppy image
+
+2004-08-05 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install gimp's help along it
+
+2004-08-05 09:09 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2004-08-05 08:56 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update for discovery
+
+2004-08-05 08:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: update yaboot code (based on
+ Christiaan Welvaart patch)
+
+2004-08-05 08:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: make room on replay/auto_install
+ floppy image before doing anything
+
+2004-08-05 07:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: when replaying, overwrite boot.msg
+ with an empty message to win some space (it was only done in
+ non-replay mode)
+
+2004-08-05 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: isLaptop() special code for ppc
+
+2004-08-05 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: drop Xpmac support
+
+2004-08-05 07:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: make it clearer by factorizing
+ arch() call
+
+2004-08-05 07:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix PPC entries
+
+2004-08-05 07:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: if ntp is used, get the new
+ time before updating the hwclock (fix from Emmanuel Blindauer,
+ #10537)
+
+2004-08-05 06:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: /usr/sbin/ofpath seems to need
+ /mnt/sys mounted, and the device must exist (Christiaan Welvaart)
+
+2004-08-05 06:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typos (Christiaan Welvaart)
+
+2004-08-05 06:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, install_steps.pm,
+ Xconfig/various.pm, diskdrake/interactive.pm,
+ standalone/bootloader-config: adapt to bootloader functions now
+ using all_hds instead of hds
+
+2004-08-05 06:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: add dmasound_pmac <=>
+ snd-powermac (for ppc, Christiaan Welvaart)
+
+2004-08-05 06:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: "PPC PReP Boot" is an "important" type
+ on ppc
+
+2004-08-05 06:09 Pixel <pixel at mandriva.com>
+
+ * tools/ppc/mkINSTALLCD: update (Christiaan Welvaart)
+
+2004-08-05 06:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list.ppc, rescue/list.ppc: update (Christiaan
+ Welvaart)
+
+2004-08-05 06:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: list, list.i386, list.x86_64: ntfsresize and
+ dmidecode are not needed on ppc (Christiaan Welvaart)
+
+2004-08-05 06:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: ppc doesn't use dumpkeys (?)
+ (Christiaan Welvaart)
+
+2004-08-05 05:50 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: replace gmac with sungem (Christiaan
+ Welvaart)
+
+2004-08-05 05:46 Pixel <pixel at mandriva.com>
+
+ * Makefile: not images on ppc, we already didn't copy them, but we
+ should also skip building MD5SUM (inspired by Christiaan
+ Welvaart)
+
+2004-08-05 05:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix backward compatibility {type}
+ field in partitions and manualFstab
+
+2004-08-05 05:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: pass around
+ $all_hds instead of $hds
+
+2004-08-05 05:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: create
+ bootloader::allowed_boot_parts() and use it, it allows installing
+ on md0 if using lilo and md0 is raid1
+
+2004-08-05 05:06 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: fix titypo
+
+2004-08-05 04:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: services.pm, Xconfig/card.pm, Xconfig/various.pm,
+ standalone/XFdrake: replaced XFree86 and XFree with Xorg
+ (bugzilla #10531)
+
+2004-08-05 04:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: quiet perl_checker
+
+2004-08-05 04:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) fix error
+ message
+
+2004-08-05 04:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: looks like patch -l did wrong
+ things :-(
+
+2004-08-05 04:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm: add
+ support for ALSA on PPC and SPARC
+
+2004-08-05 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: align sound driver entries
+
+2004-08-05 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: sort sound driver list
+
+2004-08-05 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - update sound drivers list - snd-dt0197h
+ is now named snd-dt019x
+
+2004-08-05 04:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: update sound drivers list
+
+2004-08-05 04:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install needed alsa tools depending
+ on present sound cards
+
+2004-08-04 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: perl_checker cleanup
+
+2004-08-04 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: log module loading faillure
+
+2004-08-04 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, share/rpmsrate: add x-unikey support for
+ Vietnamese
+
+2004-08-04 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: catch die from modules::load
+
+2004-08-04 16:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add modules arrays and use
+ modules::load to be able to load modules from modules.cz files,
+ load these modules when not in standalone mode (they're needed
+ for install and Move)
+
+2004-08-04 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: include fcitx IM too
+
+2004-08-04 11:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix wording
+
+2004-08-04 10:49 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/http.pm: Verify that regexp matched
+
+2004-08-04 10:35 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: prefer to use a ramdisk for disk installs
+
+2004-08-04 09:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: .gnome2/wmrc and .wmrc are obsolete, it is
+ now .dmrc (nb: beware, one must write 07IceWM instead of IceWM,
+ same for others)
+
+2004-08-04 09:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: fix build
+
+2004-08-04 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not force kppp
+ installation, it will be installed by modem::ppp_configure if
+ kdebase is installed, else ifup/ifdown scripts are enough
+
+2004-08-04 09:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: do not write cnx_script anymore
+ (isdn4linux service will modprobe the driver, ibod service is
+ started at boot, ifup/ifdown handle the dial)
+
+2004-08-04 09:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ network/tools.pm, standalone/drakconnect: kill set_cnx_script
+ usage, replace cnx_scripts with ifup/ifdown
+
+2004-08-04 09:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: ensure alternative IMs get in in the
+ isos
+
+2004-08-04 09:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/rpmsrate, lang.pm: switch korean to
+ scim-hangul IM
+
+2004-08-04 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.4mdk
+
+2004-08-04 08:53 Pixel <pixel at mandriva.com>
+
+ * move/make_live: do install mandrake-doc-drakxtools-xx
+
+2004-08-04 08:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: write a cnx_script for adsl
+ connexions too (so that drakconnect can establish the connexion),
+ add a FIXME comment to remind it is bad
+
+2004-08-04 08:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't set /etc/sysconfig/desktop anymore,
+ configure ~/.wmrc, ~/.gnome2/gdm and ~/.desktop instead
+
+2004-08-04 07:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10.1-0.3mdk'log (thx to
+ build issue...)
+
+2004-08-04 07:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix build
+
+2004-08-04 06:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: remove unused net_applet.desktop
+
+2004-08-04 05:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - same_entries() doesn't look anymore
+ at kernel options (it tends to create stupid alt_xxx entries) -
+ fix creation of labels alt2_alt_xxx (will now be alt2_xxx) -
+ don't create bad "linux-nonfb" for kernel-win4lin
+
+2004-08-04 05:25 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - do not expand shell vars
+
+2004-08-04 05:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: try to keep the order of kernel
+ options (to help same_entries())
+
+2004-08-04 05:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.3mdk
+
+2004-08-04 05:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: don't allow unknown
+ kernel names to mess everything
+
+2004-08-04 05:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: handle win4lin kernels
+
+2004-08-04 04:58 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - do not forget to package xinit.d
+ net_applet file
+
+2004-08-04 04:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - upcase fields values (and btw
+ reduce the number of strings to translate :-)) - simplify
+ translating
+
+2004-08-04 04:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: uim is already installed if needed
+ depending on locale
+
+2004-08-04 04:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install xvnkb IM for vietnamese
+
+2004-08-04 04:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install ami IM only for korean
+
+2004-08-04 04:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) if one override default IM, remove
+ any setting from default IM (hint: some IM configurations do not
+ have all fields set...)
+
+2004-08-04 04:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::ComboBox->set_text) actually print
+ a warning if we failled
+
+2004-08-04 04:14 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - automatically launch net_applet
+ for KDE, GNOME and IceWM
+
+2004-08-04 04:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) actually honor
+ default value
+
+2004-08-04 04:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (read) fix IM reading
+
+2004-08-04 04:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: let's system wide config not override
+ user's locale
+
+2004-08-04 04:06 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/net_applet.xinit: - added net_applet xinit
+ file to automate launch of net_applet in KDE, GNOME and IceWM
+
+2004-08-04 04:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/: get.pm, mount_options.pm: return a true value
+ for perl
+
+2004-08-04 03:46 Pixel <pixel at mandriva.com>
+
+ * rescue/list: replace /sbin/mkraid with /sbin/mdadm (as told on
+ cooker by Luca Berra)
+
+2004-08-03 13:38 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: error?
+
+2004-08-03 11:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, install_steps.pm,
+ install_steps_interactive.pm, diskdrake/interactive.pm,
+ fs/mount_options.pm, network/smb.pm, network/smbnfs.pm,
+ standalone/diskdrake, standalone/drakupdate_fstab: move mount
+ options related stuff from fs.pm to newly created
+ fs/mount_options.pm - fs::set_all_default_options() ->
+ fs::mount_options::set_all_default() - fs::mount_options_pack()
+ -> fs::mount_options::pack() - fs::mount_options_unpack() ->
+ fs::mount_options::unpack() - fs::rationalize_options() ->
+ fs::mount_options::rationalize() - fs::set_default_options() ->
+ fs::mount_options::set_default() - fs::mount_options() ->
+ fs::mount_options::list() - fs::mount_options_help() ->
+ fs::mount_options::help()
+
+2004-08-03 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: add CVS $Id:
+
+2004-08-03 10:50 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: Small typos
+
+2004-08-03 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) only add space between
+ icon and text if there's actually an icon
+
+2004-08-03 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: reuse gtkappend_page()
+
+2004-08-03 09:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_notebook) reuse gtkappend_page()
+
+2004-08-03 09:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) do not show separator by
+ default
+
+2004-08-03 09:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_dialog) sanitize dialogs/popups:
+ - set a border around it - add more space between the icon and
+ the text
+
+2004-08-03 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkappend_page) name parameters, enabling
+ perl_checker to check callers' call signature
+
+2004-08-03 09:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable) set a border around
+ packtables
+
+2004-08-03 09:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash2: help perl_checker
+
+2004-08-03 08:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: oops, /etc/fonts.conf missing
+ from tarball
+
+2004-08-03 08:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/pt.po: pt.po was corrupted
+
+2004-08-03 08:14 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: A small variable
+ renaming: use $medium for hashes and $medium_name for strings
+
+2004-08-03 07:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fs.pm, fsedit.pm,
+ install2.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_interactive.pm, loopback.pm,
+ lvm.pm, partition_table.pm, diskdrake/dav.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/removable.pm, diskdrake/smbnfs_gtk.pm, fs/format.pm,
+ fs/get.pm, network/netconnect.pm, network/tools.pm,
+ standalone/bootloader-config, standalone/diskdrake,
+ standalone/drakboot, standalone/drakupdate_fstab: many functions
+ in fsedit don't modify anything, they are simply accessors.
+ create fs::get and move them into it
+
+ - device2part(), up_mount_point() moved from fs to fs::get -
+ part2hd(), file2part(), has_mntpoint(), mntpoint2part(),
+ empty_all_hds() moved from fsedit to fs::get - fsedit::get_root()
+ -> fs::get::root() - fsedit::get_root_() -> fs::get::root_()
+
+ - fsedit::get_really_all_fstab() -> fs::get::really_all_fstab() -
+ fsedit::get_all_fstab_and_holes() -> fs::get::fstab_and_holes() -
+ fsedit::get_all_fstab() -> fs::get::fstab() -
+ fsedit::get_all_holes() -> fs::get::holes() -
+ fsedit::all_free_space -> fs::get::free_space() -
+ fsedit::get_really_all_fstab() -> fs::get::really_all_fstab()
+
+ - fsedit::get_fstab_and_holes() -> fs::get::hds_fstab_and_holes()
+ - fsedit::get_holes() -> fs::get::hds_holes() -
+ fsedit::get_fstab() -> fs::get::hds_fstab() -
+ fsedit::free_space() -> fs::get::hds_free_space()
+
+ - fsedit::get_visible_fstab() unused, removed
+
+2004-08-03 06:42 Pixel <pixel at mandriva.com>
+
+ * tools/hd_grub.cgi: better description
+
+2004-08-03 06:41 Pixel <pixel at mandriva.com>
+
+ * Makefile: move back isolinux in ROOTDEST instead of
+ ROOTDEST/install (since the isolinux directory must be at the
+ root of cds)
+
+2004-08-03 05:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updted fonts-cache file
+
+2004-08-03 04:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) fix string
+ (Joe Brower)
+
+2004-08-03 04:28 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - add a warning before formatting the key (in the
+ "formatkey" case) - if no key is found, go on
+
+2004-08-03 04:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: add missing fonts.conf (with
+ Kacst-Qr entries)
+
+2004-08-03 03:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm:
+ authentication::kind2description() has changed and its name is
+ missleading :-( keeping it for now and adapt
+ install_steps_interactive::setRootPassword along what's done in
+ drakauth
+
+2004-08-02 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: make perl_checker happy
+
+2004-08-02 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/Makefile: enable ar and fa locales since an arabic
+ font is now available in install
+
+2004-08-02 12:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: added arabic and bengali fonts
+
+2004-08-02 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't use supermount for {is_removable}
+ devices when used for a boot time partition (like /usr and /)
+
+2004-08-02 10:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, diskdrake/interactive.pm, fs/type.pm:
+ fsedit::check_fs_type() is now fs::type::check()
+
+2004-08-02 10:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: black list URPM::Build
+
+2004-08-02 10:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: clean spacing
+
+2004-08-02 10:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use
+ fs::format::check_package_is_installed() before formatting
+ (bugzilla #10435)
+
+2004-08-02 10:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_any.pm,
+ diskdrake/interactive.pm, fs/format.pm: - move
+ package_needed_for_partition_type() from fsedit to fs::format -
+ create check_package_is_installed() in fs::format and use it
+
+2004-08-02 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: (add_device_wizard) fix string
+
+2004-08-02 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/Makefile.PL: fix build
+
+2004-08-02 08:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, do_pkgs.pm, lvm.pm, diskdrake/dav.pm,
+ harddrake/sound.pm, network/drakfirewall.pm,
+ network/netconnect.pm, network/network.pm, network/nfs.pm,
+ network/smb.pm, standalone/drakups, standalone/drakxtv: introduce
+ ->ensure_binary_is_installed and use it
+
+2004-08-02 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: flag rosegarden4 KDE
+
+2004-08-02 08:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: in sagem start section, modprobe
+ eagle-usb and do not wait for sync here, fctStartAdsl will handle
+ that when pppd is called
+
+2004-08-02 08:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: in speedtouch start section,
+ modprobe speedtch module and use speedtouch-start instead of
+ directly using modem_run
+
+2004-08-02 08:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: in install, run modem start scripts
+ once config is written
+
+2004-08-02 08:07 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: updated installed packages for 10.1
+
+2004-08-02 07:15 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp.parameters: new isolinux logo parameters
+
+2004-08-02 07:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2004-08-02 07:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker cleanup
+
+2004-08-02 07:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2004-08-02 07:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix inverted comments
+
+2004-08-02 07:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, uk.po, wa.po: updated Farsi file
+
+2004-08-02 06:56 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp: new test logo
+
+2004-08-02 06:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (log_output__real) rename it as
+ insert_text_n_scroll() in order to better reflect what it does
+
+2004-08-02 06:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: reuse new ugtk2 infrastructure
+
+2004-08-02 06:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtktext_insert) merge with text_append()
+ from logdrake: - name parameters - provide fast text insertion by
+ using named tags instead of anonymous tags. this is especially
+ usefull in order to speed up programs that use quite a lot of
+ identical tags such as logdrake (#8412) and rpmdrake
+
+2004-08-02 06:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (log_output) fix tag name (was
+ harmfull but it's just saner anyway)
+
+2004-08-02 06:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: (network_conf) rename o as
+ obj so that pixel isn't confused
+
+2004-08-02 04:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't call
+ will_tell_kernel() when we have lvm (anthill #994)
+
+2004-08-02 03:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: check the XF86Config
+ and/or XF86Config-4 exist before modifying it (otherwise it
+ creates an empty file) (bugzilla #10487)
+
+2004-08-02 03:21 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add iteraid (bugzilla #10455)
+
+2004-08-02 02:53 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use xxx.bmp.parameters to generate boot.msg (i
+ forgot to do it for isolinux-graphic-simple.bmp)
+
+2004-08-02 02:07 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: install lover
+
+2004-08-02 01:52 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added s2u
+
+2004-08-02 00:16 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/standalone/: drakbackup, drakups, harddrake2:
+ several typos fix
+
+2004-08-02 00:09 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: DrakX-zh_TW: 75 Choose
+ the...
+
+2004-08-01 19:05 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-08-01 05:10 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-07-30 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-07-30 13:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-07-30 13:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: keep strings synced and warn
+ both coders and translators about it
+
+2004-07-30 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: fix timeout usage
+
+2004-07-30 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: like in all other tools,
+ revert ugly code printing "This program cannot be run in console
+ mode", which is easier done in ugtk2.pm
+
+2004-07-30 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: do not enforce parameter
+ position in translatable strings
+
+2004-07-30 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (shrink_topwindow) drop Gtk+-2.[02]x
+ support
+
+2004-07-30 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) let's have a better looking
+ GUI by preventing uneeded scrollbar on pull down menu
+
+2004-07-30 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: support nabi input method too
+
+2004-07-30 12:43 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/standalone/draksplash2: draksplash2 is
+ here until merged in draksplash
+
+2004-07-30 12:39 Pixel <pixel at mandriva.com>
+
+ * isolinux-graphic-simple.bmp.parameters,
+ isolinux-graphic.bmp.parameters: files used by lilo-bmp2mdk
+
+2004-07-30 12:38 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use xxx.bmp.parameters to generate boot.msg
+
+2004-07-30 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log more stuff into 10.1-0.2mdk
+
+2004-07-30 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: support im-ja input method too
+
+2004-07-30 11:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (selectCountry) use a combo box rather than
+ a list for listing input methods
+
+2004-07-30 11:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.2mdk
+
+2004-07-30 10:51 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabeyes.org's Arabic translation
+
+2004-07-30 10:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: cleanup
+
+2004-07-30 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: enable one to choose its input
+ method in advanced mode
+
+2004-07-30 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: help.pm, l10n.pm, msec.pm: sync with
+ msec-0.44
+
+2004-07-30 09:25 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Clean ldap client configuration
+
+2004-07-30 09:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: rpmsrate: authentication installs
+ perl-Net-DNS in some cases
+
+2004-07-30 08:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not offer to
+ configure mouse if we've already automatically reconfigure it b/c
+ of 2.4.x vs 2.6.x switch
+
+2004-07-30 08:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fixes for Anthill #1009,
+ #1010 (DVD recording, disk quota) Direct-to-tape enahancement
+
+2004-07-30 08:38 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with Arabeyes CVS
+
+2004-07-30 08:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: offer to connect for pppoe
+ connexions too
+
+2004-07-30 07:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: modprobe eagle-usb for sagem modems
+ (useful if coldplug doesn't work)
+
+2004-07-30 07:06 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: enhance message
+
+2004-07-30 06:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: revert previous commit, that won't work
+ after pivot_root (proc has to be mounted, insmod would have to be
+ able to find the modules in the new root), we'll have to use
+ hotplug to load eagle-usb drivers in Move (in next release maybe)
+
+2004-07-30 06:39 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: revert previous commit, that won't work
+ after pivot_root (proc has to be mounted, insmod would have to be
+ able to find the modules in the new root)
+
+2004-07-30 06:22 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fixes for AntHill #1009,
+ #1010.
+
+2004-07-30 04:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: sagem: use fctStartAdsl to wait for
+ sync, up the interface and get interface name
+
+2004-07-30 04:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: (outpend) clean by reusing
+ MDK::Common
+
+2004-07-29 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: (check_rpm) backport fix from HEAD
+
+2004-07-29 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakedm, drakgw, draksec: standalone
+ tools are *not* chrooted
+
+2004-07-29 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (remove_initscript) simplify
+
+2004-07-29 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) - kill useless
+ variables - simplify
+
+2004-07-29 13:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) fix preview
+ refresh while simplying code
+
+2004-07-29 13:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (write_boot_thm) typo fix
+
+2004-07-29 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: more cleanups
+
+2004-07-29 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: misc cleanups
+
+2004-07-29 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) do not crash when
+ the image format is unknown
+
+2004-07-29 12:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (make_boot_frame) fix it
+
+2004-07-29 12:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (handle_multiple_cnx) only
+ restart network for ADSL if we use an ethernet modem
+
+2004-07-29 10:13 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: add newline at end of net_cnx_up
+ script
+
+2004-07-29 10:02 Pixel <pixel at mandriva.com>
+
+ * move/make_live: crack-attack seems to be working...
+
+2004-07-29 09:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: use connect option or pppd in
+ net_cnx_up, not both (to fix weird pppoe net_cnx_up script)
+
+2004-07-29 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10.1-0.1mdk
+
+2004-07-29 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ merge fix from HEAD: do not automatically configure removable
+ media in harddrake GUI (only in harddrake service)
+
+2004-07-29 08:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: use new
+ set_removable_auto_configurator
+
+2004-07-29 08:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_auto_configurator)
+ copy it out from set_removable_configurator()
+
+ (set_removable_configurator) restore it as of MDK10.0 time
+
+2004-07-29 08:09 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also remove drakbackup from menu
+
+2004-07-29 07:42 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c: s/MandrakeMove/Move/
+
+2004-07-29 07:42 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: handle formatkey which
+ clean_partition_table_and_format_key
+
+2004-07-29 06:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/: Makefile, stuff.xs.pl: always include all funcs
+ (these're needed anyway by Move and GlobeTrotter)
+
+2004-07-29 06:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm: merge hds() in get_hds() to correctly
+ handle catching cdie when the device is non partionned
+
+2004-07-29 04:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: split server and plugin options, in
+ order to support again bewan modems (pppd_options wasn't used
+ anywhere, they couldn't work)
+
+2004-07-29 04:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: cleanup, fix various typos
+ (still, ->target seems broken, but i'm not sure, since i couldn't
+ test)
+
+2004-07-28 13:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: Fix crashes
+ on append_set.
+
+2004-07-28 10:57 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: do not probe usb interface too soon, wait
+ for the Move images to be mounted (or else usb drivers won't be
+ automatically loaded at boot with Move)
+
+2004-07-28 10:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: do not write a blank "pty" option
+ in ppp config file is there is no pty command (should fix some
+ problems with Bewan modems)
+
+2004-07-28 10:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: do not write a blank "pty" option
+ in ppp config file is there is no pty command (should fix some
+ problems with Bewan modems)
+
+2004-07-28 10:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: it's probably better to rely
+ on modem_run since speedtouch.sh may be dropped
+
+2004-07-28 10:34 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: do not probe usb interface too soon, wait
+ for the Move images to be mounted (or else usb drivers won't be
+ automatically loaded at boot with Move)
+
+2004-07-28 09:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: - use option -g for smbclient -L,
+ this fixes bad parsing of formatted smbclient output - skip
+ "netlogon" Disk share (lowercase letters)
+
+2004-07-28 09:08 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: s/MandrakeMove/Move/
+
+2004-07-28 05:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: don't set mount point /mnt/windows
+ for removable devices
+
+2004-07-28 05:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: explain why we set toFormatUnsure
+
+2004-07-28 05:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/type.pm: remove small ugly typo
+
+2004-07-28 04:47 Pixel <pixel at mandriva.com>
+
+ * move/make_live: Swati and Venda have no translation, removing
+
+2004-07-28 04:42 Pixel <pixel at mandriva.com>
+
+ * move/make_live: old workaround not needed anymore in 10.0
+
+2004-07-28 04:23 Pixel <pixel at mandriva.com>
+
+ * move/make_live: remove documentation link in mdkgalaxy
+
+2004-07-28 03:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix getCompaqSmartArray() on 2.6
+ (since /proc/driver/cciss/cciss0 doesn't talk about c0dX anymore)
+
+2004-07-28 03:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm: fix getSCSI_26() not sorting
+ the drives
+
+2004-07-27 15:48 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: bunch of work
+
+2004-07-27 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fs.pm, fsedit.pm,
+ install2.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_interactive.pm, loopback.pm,
+ lvm.pm, partition_table.pm, raid.pm, diskdrake/dav.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/removable.pm, fs/format.pm, fs/type.pm,
+ network/smbnfs.pm, partition_table/bsd.pm,
+ partition_table/dos.pm, partition_table/gpt.pm,
+ partition_table/mac.pm, partition_table/sun.pm: - add field
+ {fs_type} partially replacing {pt_type} {pt_type} is always a
+ number, {fs_type} is always a string - introduce
+ set_isFormatted() (to ensure {notFormatted} but also
+ {fs_type_from_magic} and {bad_fs_type_magic} are updated) - don't
+ use 0x483 for ext3 anymore (same for reiserfs...), the
+ type_name gives both a pt_type and a fs_type
+
+ - many accessors from partition_table removed (type2fs(),
+ fs2pt_type()) - remove isThisFs() (not useful anymore since we
+ can use directly {fs_type}) - remove isFat() (inline the
+ function) - other isXXX() from partition_table are moved to
+ fs::type - part2name() is now fs::type::part2type_name -
+ name2pt_type() is now fs::type::type_name2subpart() -
+ partition_table::important_types() is now fs::type::type_names()
+ - fsedit::typeOfPart() is now fs::type::fs_type_from_magic()
+
+ - no need to truncate type_name since they are shorter
+
+2004-07-27 09:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: '-e 1' option is unneeded with
+ speedtouch >= 1.3
+
+2004-07-27 07:27 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - scroll down text while typing
+ - many cleanups - Stable releases are 'Official' and 'Community'
+
+2004-07-27 04:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: save/restore options
+
+2004-07-27 03:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: a {type} didn't get moved to {pt_type},
+ fixing
+
+2004-07-26 16:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bn.po: updated Bengali file
+
+2004-07-26 10:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/ugtk2.pm: Redundant line.
+
+2004-07-26 10:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: cleanup, fix various typos
+ (still, ->target seems broken, but i'm not sure, since i couldn't
+ test)
+
+2004-07-26 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: authentication.pm, network/smb.pm,
+ standalone/drakauth: merge auth fixes from HEAD
+
+2004-07-26 08:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix getCompaqSmartArray() on 2.6
+ (since /proc/driver/cciss/cciss0 doesn't talk about c0dX anymore)
+
+2004-07-26 07:54 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-07-26 05:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: remove unneeded quotes
+
+2004-07-26 05:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist Net::DNS (until we get rid
+ of it?)
+
+2004-07-26 05:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: let perl-MDK-Common do the quoting
+
+2004-07-26 05:22 Pixel <pixel at mandriva.com>
+
+ * Makefile: fix upload_only
+
+2004-07-26 04:51 Pixel <pixel at mandriva.com>
+
+ * Makefile, Makefile.config, docs/README, kernel/check_mar.pl,
+ kernel/update_kernel, mdk-stage1/config-stage1.h,
+ mdk-stage1/disk.c, mdk-stage1/network.c,
+ mdk-stage1/doc/TECH-INFOS, perl-install/Makefile,
+ perl-install/Makefile.config, perl-install/Makefile.drakxtools,
+ perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_steps.pm, perl-install/install_steps_gtk.pm,
+ perl-install/lang.pm, perl-install/modules.pm,
+ perl-install/pkgs.pm, perl-install/share/advertising/Makefile,
+ perl-install/share/po/Makefile, perl-install/standalone/drakpxe,
+ rescue/Makefile, tools/Makefile, tools/make_mdkinst_stage2: adapt
+ to new directories layout: - Mandrake/mdkinst ->
+ install/stage2/live - Mandrake/base/mdkinst_stage2.bz2 ->
+ install/stage2/mdkinst_stage2.bz2 - Mandrake/base/rpmsrate ->
+ media/media_info/rpmsrate - Mandrake/RPMS -> media/main - images
+ -> install/images - isolinux -> install/isolinux -
+ Mandrake/share/advertising -> install/extra/advertising
+
+2004-07-26 04:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs/format.pm: fix typo
+
+2004-07-26 03:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/be.po: small fix
+
+2004-07-23 14:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: hey, I suck,
+ that's DIAL_ON_IFUP, not DIAL_ON_BOOT
+
+2004-07-23 14:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker compliance
+
+2004-07-23 14:30 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: one more FIXME comment
+
+2004-07-23 14:29 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm, network.pm: -
+ introduce ONBOOT and DIAL_ON_BOOT settings for isdn connections -
+ write this settings with configureNetwork2, kill the old tweak in
+ isdn.pm - use the isdn_dial_on_boot step instead of
+ nework_on_boot in netconnect.pm
+
+2004-07-23 14:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/isdn.pm: FIRMWARE isn't used by ifup-ippp
+
+2004-07-23 12:57 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: remove print coin and pwet in
+ find_srv_name function clean function find_srv_name
+
+2004-07-23 11:12 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Add "net time set -S $server" to
+ AD et SMBKRB config, for clock sync (kerberos require)
+
+2004-07-23 11:02 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: Ukrainian translation update.
+
+2004-07-23 11:00 Pixel <pixel at mandriva.com>
+
+ * tools/mkhdlist: obsolete since 4 years
+
+2004-07-23 10:54 Pixel <pixel at mandriva.com>
+
+ * tools/updatehdlist: remove fpons only tool
+
+2004-07-23 08:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: pptp connections are now handled by
+ pppd (#6515)
+
+2004-07-23 06:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless $lan_button
+ and $host_button in old drakconnect
+
+2004-07-23 06:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_any.pm, partition_table.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm, fs/format.pm:
+ replace pt_type2name($part->{pt_type}) with part2name($part)
+ (hoisting the dereferencing {pt_type})
+
+2004-07-23 06:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - simplify partition table entry
+ names (based on fdisk's names) - rename some internal variables
+
+2004-07-23 05:14 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: cosmetics (remove useless
+ blanks at end of line)
+
+2004-07-23 05:02 Pixel <pixel at mandriva.com>
+
+ * move/make_live: mozilla need mozilla-rebuild-databases.pl to work
+
+2004-07-23 05:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: prepare for
+ network::tools::reread_net_conf removal
+
+2004-07-23 04:43 Pixel <pixel at mandriva.com>
+
+ * move/make_live: crack-attack doesn't work on 10.0
+
+2004-07-23 04:42 Pixel <pixel at mandriva.com>
+
+ * move/make_live: remove unneeded dri/tls
+
+2004-07-23 04:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: old dos is not useful anymore
+
+2004-07-23 04:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: simplify
+
+2004-07-23 04:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, fs.pm, loopback.pm, raid.pm, swap.pm,
+ diskdrake/interactive.pm, fs/format.pm: - move format related
+ functions out of fs.pm to new module fs/format.pm - remove
+ swap.pm, moving its few functions to fs/format.pm or fs.pm
+
+2004-07-23 03:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix indentation
+
+2004-07-22 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/any_conf.pm: perl_checker enhancement
+
+2004-07-22 11:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/: modprobe_conf.pm, modules_conf.pm,
+ any_conf.pm: add $Id
+
+2004-07-22 10:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: cleanup
+
+2004-07-22 10:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, modules/any_conf.pm,
+ modules/modprobe_conf.pm, modules/modules_conf.pm:
+ modules::modprobe_conf now works (at least a little :)
+
+2004-07-22 09:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: (rename) only log succesfull
+ renamings
+
+2004-07-22 09:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: isRemovableDrive() doesn't check
+ isRemovableUsb() anymore allowing more usb removable drives (esp.
+ some usb keys declared as memory cards (0x0c76 0x0005))
+
+2004-07-22 09:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - isRemovableDrive() removed,
+ partially replaced with may_be_a_hd() - the main difference is
+ that isRemovableDrive() checked isRemovableUsb() whereas
+ may_be_a_hd() allows more usb removable drives (esp. memory
+ cards and some usb keys declared as memory cards (0x0c76 0x0005))
+
+2004-07-22 09:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: simplify
+
+2004-07-22 09:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: need latest MDK::Common
+
+2004-07-22 09:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - re-indent - use begins_with()
+
+2004-07-22 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump drakconf conflict due to new
+ drakconnect API
+
+2004-07-22 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker compliance
+
+2004-07-22 07:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: - don't use if_() when not
+ needed and strange - read_tmdns_conf() now knows which file it
+ reads, don't give it as argument
+
+2004-07-22 07:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_tmdns_conf) unbreak oblin
+ code
+
+2004-07-22 07:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_tmdns_conf) reinsert
+ parameter naming for parameter checking
+
+2004-07-22 07:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: rewrite read_tmdns_conf to use
+ cat_
+
+2004-07-22 06:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker/misc fixes
+
+2004-07-22 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: more cleanup
+
+2004-07-22 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cleanup
+
+2004-07-22 04:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: shorter and faster
+
+2004-07-22 04:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm: set {is_removable} directly in
+ fsedit::hds()
+
+2004-07-21 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist URPM::Resolve
+
+2004-07-21 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakauth: perl_checker fix
+
+2004-07-21 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-57mdk
+
+2004-07-21 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump requires on perl-MDK-Common
+ b/c of localedrake vs CJK issue
+
+2004-07-21 08:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix xmodifiers setting which is broken
+ since perl-MDK-Common-1.1.13-1mdk
+
+2004-07-21 06:08 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Add service smb et winbind
+ restart in smbkrb config
+
+2004-07-21 03:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm,
+ standalone/service_harddrake: use do_pkgs_standalone->new instead
+ of class_discard
+
+2004-07-21 03:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: - do_pkgs_standalone->new doesn't *need*
+ a $in anymore - ->in replace ->{in} so that it can be created on
+ demand (ugly, but...)
+
+2004-07-21 03:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: ->{in}->do_pkgs gives the same kind of
+ object, removing it
+
+2004-07-21 02:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, detect_devices.pm, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_auto_install.pm,
+ install_steps_interactive.pm, modules.pm, mouse.pm,
+ Xconfig/default.pm, harddrake/autoconf.pm, harddrake/data.pm,
+ harddrake/sound.pm, harddrake/v4l.pm, modules/any_conf.pm,
+ modules/interactive.pm, modules/modprobe_conf.pm,
+ modules/modules_conf.pm, network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/netconnect.pm, network/network.pm,
+ network/shorewall.pm, network/tools.pm, printer/detect.pm,
+ printer/main.pm, printer/printerdrake.pm, standalone/drakconnect,
+ standalone/drakgw, standalone/draksound, standalone/drakxtv,
+ standalone/mousedrake, standalone/printerdrake,
+ standalone/service_harddrake: - %modules::conf is no more a
+ global, so many functions need passing $modules_conf -
+ $modules_conf is a class choosing modules.conf or modprobe.conf
+ (esp. useful after install) (but not working yet!) -
+ modules::load() doesn't use $modules_conf, use
+ modules::load_and_configure() - modules::load() doesn't allow
+ options, use either modules::load_raw() or
+ modules::load_and_configure() - some functions used to want an
+ array ref for modules options and some a string, now every
+ functions use a string - many functions (like
+ modules::get_alias()) are now methods on $modules_conf - some
+ functions in mouse.pm needed a $in where a $do_pkgs is enough -
+ some perl_checker compliance - small fixes
+
+2004-07-21 02:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: drakpxe, draksec: perl_checker
+ compliance
+
+2004-07-21 02:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: drakboot, drakfloppy: remove unused
+ variable
+
+2004-07-21 02:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: perl_checker fixes
+
+2004-07-21 02:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: XFdrake doesn't modify
+ modules_conf! (or does it?)
+
+2004-07-21 02:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: perl_checker compliance
+
+2004-07-21 01:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, install_steps_gtk.pm:
+ perl_checker compliance
+
+2004-07-20 18:40 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: remove ask_warn winbind or SFU
+ and add new entry in kinds
+
+2004-07-20 17:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: maxi perl_checker compliance
+ combo
+
+2004-07-20 17:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix perl_checker combo (yeah)
+
+2004-07-20 17:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakconnect: do not read conf in
+ add_intf, this is already done by the netconnect wizard
+
+2004-07-20 17:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: oops, fix suckiness
+
+2004-07-20 17:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use read_net_conf to avoid
+ code duplication
+
+2004-07-20 17:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, network/tools.pm,
+ standalone/drakconnect, standalone/net_monitor: merge
+ netconnect::load_conf in netconnect::read_conf (and replace all
+ calls to lload_conf with read_conf, remove all previous calls to
+ read_conf)
+
+2004-07-20 16:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: unused variable
+
+2004-07-20 13:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: cosmetics
+
+2004-07-20 12:42 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: do not allocate new
+ Gtk2::Gdk::GC at each redraw (last memory leak fixed ?)
+
+2004-07-20 12:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/draksound: do not probe devices twice
+ (and avoid to grep on detect_devices::probeall()), cosmetics
+
+2004-07-20 11:49 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: use the power of the
+ Gtk2::Dialog widget, thus giving change_color() more luck to
+ succeed
+
+2004-07-20 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: authentication.pm, standalone/drakauth: better
+ looking wizard
+
+2004-07-20 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakauth: put help out of the radiobutton
+
+2004-07-20 10:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: translate connection type
+ (Fabrice Facorat)
+
+2004-07-20 10:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix spacing (from Fabrice
+ Facorat, #10300), remove blank line
+
+2004-07-20 10:50 Pixel <pixel at mandriva.com>
+
+ * move/make_live: don't remove CD-based applications from
+ simplified menu
+
+2004-07-20 10:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: use correct method
+ variable in chooseCD (even if this code is used only in expert
+ mode which isn't anymore supported)
+
+2004-07-20 10:22 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Add desciption for
+ authentification type Add Entry for IDMAP
+
+2004-07-20 10:20 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/standalone/drakauth: Add type => 'list' in ask_from
+
+2004-07-20 10:11 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: don't probe again connection type
+ here since now network::netconnect::load_conf does it as intended
+ initially
+
+2004-07-20 10:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: don't forget to send $netcnx
+ to network::network::read_all_conf ... (or else we won't get
+ back the probed connection type)
+
+2004-07-20 09:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed MandrakeSoft -> Mandrakesoft
+
+2004-07-20 09:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, bn.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po,
+ fur.po, ga.po, gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po,
+ ms.po, mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tl.po, tr.po, translation_size.pl, uk.po, uz.po,
+ uz@Latn.po, validate.pl, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ changed MandrakeSoft -> Mandrakesoft
+
+2004-07-20 08:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) better check parameter rather than
+ EUID
+
+2004-07-20 07:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) do not bother trying to write
+ /etc/menu-methods/lang.h when run as a user
+
+2004-07-20 04:42 Pixel <pixel at mandriva.com>
+
+ * globetrotter/hwprofile, globetrotter/move.pm,
+ globetrotter/runstage2, mdk-stage1/Makefile,
+ mdk-stage1/Makefile.common, mdk-stage1/Makefile.mkinitrd_helper,
+ mdk-stage1/adsl.c, mdk-stage1/adsl.h, mdk-stage1/automatic.c,
+ mdk-stage1/automatic.h, mdk-stage1/cdrom.c, mdk-stage1/cdrom.h,
+ mdk-stage1/config-stage1.h, mdk-stage1/dhcp.c, mdk-stage1/dhcp.h,
+ mdk-stage1/directory.c, mdk-stage1/directory.h,
+ mdk-stage1/disk.c, mdk-stage1/disk.h, mdk-stage1/dns.c,
+ mdk-stage1/dns.h, mdk-stage1/frontend-common.c,
+ mdk-stage1/frontend.h, mdk-stage1/init-libc-headers.h,
+ mdk-stage1/init.c, mdk-stage1/insmod.h, mdk-stage1/log.c,
+ mdk-stage1/log.h, mdk-stage1/lomount.c, mdk-stage1/lomount.h,
+ mdk-stage1/minilibc.c, mdk-stage1/minilibc.h,
+ mdk-stage1/modules.c, mdk-stage1/modules.h,
+ mdk-stage1/modules_descr.h, mdk-stage1/mount.c,
+ mdk-stage1/mount.h, mdk-stage1/network.c, mdk-stage1/network.h,
+ mdk-stage1/newt-frontend.c, mdk-stage1/nfsmount.c,
+ mdk-stage1/probing.c, mdk-stage1/probing.h,
+ mdk-stage1/rescue-gui.c, mdk-stage1/stage1.c,
+ mdk-stage1/stage1.h, mdk-stage1/stdio-frontend.c,
+ mdk-stage1/tools.c, mdk-stage1/tools.h, mdk-stage1/url.c,
+ mdk-stage1/url.h, mdk-stage1/bzlib/Makefile,
+ mdk-stage1/doc/README, mdk-stage1/doc/documented..frontend.h,
+ mdk-stage1/insmod-busybox/insmod-frontend.c,
+ mdk-stage1/insmod-modutils/insmod-frontend.c,
+ mdk-stage1/mar/Makefile, mdk-stage1/mar/mar-extract-only.c,
+ mdk-stage1/mar/mar-extract-only.h, mdk-stage1/mar/mar-frontend.c,
+ mdk-stage1/mar/mar.h, mdk-stage1/mkinitrd_helper/Makefile,
+ mdk-stage1/mkinitrd_helper/mkinitrd_helper.c,
+ mdk-stage1/newt/Makefile, mdk-stage1/pci-resource/Makefile,
+ mdk-stage1/pcmcia_/Makefile, mdk-stage1/pcmcia_/cardmgr.c,
+ mdk-stage1/pcmcia_/pcmcia.h, mdk-stage1/pcmcia_/probe.c,
+ mdk-stage1/ppp/pppd/Makefile, mdk-stage1/rp-pppoe/src/Makefile,
+ mdk-stage1/slang/Makefile, mdk-stage1/usb-resource/Makefile,
+ move/Makefile, move/move.pm, move/runstage2, move/doc/README,
+ move/tree/sound.initscript, perl-install/install2,
+ perl-install/install_messages.pm, perl-install/mouse.pm,
+ perl-install/scanner.pm, perl-install/standalone.pm,
+ perl-install/diskdrake/diskdrake.html,
+ perl-install/share/compssUsers.server,
+ perl-install/share/advertising/dis-01.pl,
+ perl-install/share/advertising/dis-09.pl,
+ perl-install/share/advertising/dwd-01.pl,
+ perl-install/share/advertising/dwd-06.pl,
+ perl-install/share/advertising/ppp-01.pl,
+ perl-install/share/advertising/ppp-09.pl,
+ perl-install/share/advertising/pwp-01.pl,
+ perl-install/share/advertising/pwp-02.pl,
+ perl-install/share/advertising/pwp-08.pl,
+ perl-install/standalone/XFdrake,
+ perl-install/standalone/diskdrake,
+ perl-install/standalone/drakTermServ,
+ perl-install/standalone/drakautoinst,
+ perl-install/standalone/drakbackup,
+ perl-install/standalone/drakboot,
+ perl-install/standalone/drakbug,
+ perl-install/standalone/drakconnect,
+ perl-install/standalone/drakedm,
+ perl-install/standalone/drakfirewall,
+ perl-install/standalone/drakfloppy,
+ perl-install/standalone/drakfont, perl-install/standalone/drakgw,
+ perl-install/standalone/drakhelp,
+ perl-install/standalone/drakproxy,
+ perl-install/standalone/drakpxe,
+ perl-install/standalone/draksound,
+ perl-install/standalone/drakupdate_fstab,
+ perl-install/standalone/drakvpn, perl-install/standalone/drakxtv,
+ perl-install/standalone/fileshareset,
+ perl-install/standalone/logdrake,
+ perl-install/standalone/net_monitor,
+ perl-install/standalone/printerdrake,
+ perl-install/standalone/scannerdrake, rescue/drvinst,
+ rescue/guessmounts, rescue/install_bootloader, rescue/lsparts,
+ rescue/restore_ms_boot, rescue/tree/etc/profile,
+ rescue/tree/sbin/fakeshutdown, tools/gencryptofiles,
+ tools/genmodparm, tools/make_lang_png_transparent.c,
+ tools/shift_img.c, tools/syncrpms, tools/ppc/mkINSTALLCD,
+ tools/serial_probe/serial_probe.c: MandrakeSoft -> Mandrakesoft
+
+2004-07-20 04:10 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: clean code
+
+2004-07-20 03:56 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: we also need nls_iso8859-1.ko for vfat
+
+2004-07-20 03:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: adapt to file renaming
+
+2004-07-20 03:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: remove debugging code
+
+2004-07-20 03:24 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: force vfat to depend on nls_cp437
+
+2004-07-19 19:10 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: modify nss_path one to sub config
+ winbind for AD
+
+2004-07-19 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-07-19 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge changelog from the real
+ update
+
+2004-07-19 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-56mdk
+
+2004-07-19 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: unsensitive buttons
+ immediatly once ifup/isdown has completed
+
+2004-07-19 11:27 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/network/smb.pm: Add function write_smb_ads_conf
+
+2004-07-19 09:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: use run_program, try to
+ handle default interface better
+
+2004-07-19 09:35 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: disable the connect button
+ if up interface is found (there is currently no reliable way to
+ find the gateway interface)
+
+2004-07-19 08:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: perl_checker compliance
+
+2004-07-19 08:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: also add long name
+ when adding add short name
+
+2004-07-19 08:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: don't
+ bootloader::suggest_floppy
+
+2004-07-19 08:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't unset prompt when timeout is
+ undefined (and don't care when timeout is 0)
+
+2004-07-19 08:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: add multimedia kernel in
+ analyse_kernel_name
+
+2004-07-19 08:21 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: code factorization, do not
+ use system() but fork() and exec() since we don't want to wait
+ the command to return
+
+2004-07-19 08:07 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: perl_checker compliance
+
+2004-07-19 08:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-07-19 07:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: use ifup/ifdown to
+ connect/disconnect
+
+2004-07-19 07:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: no need to be root to
+ monitor connection
+
+2004-07-19 07:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: make the tcp ping actually work
+
+2004-07-19 07:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/network.pm: do not write wireless encryption
+ key if empty
+
+2004-07-19 06:38 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use hotplug blacklist for
+ adsl connections too
+
+2004-07-19 06:09 Pixel <pixel at mandriva.com>
+
+ * help.msg.xml, make_boot_img, docs/HACKING, docs/README,
+ mdk-stage1/doc/README, rescue/lsparts, rescue/rescue-doc,
+ rescue/tree/etc/issue, tools/hd_grub.cgi: replace "Mandrake
+ Linux" with "Mandrakelinux"
+
+2004-07-19 06:06 Pixel <pixel at mandriva.com>
+
+ * Makefile: not doing make check in perl-install anymore, it always
+ fails :-(
+
+2004-07-18 07:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: save the previous bootloader config
+ file (bugzilla #10072)
+
+2004-07-17 11:34 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/: Makefile, apps.net_monitor, drakxtools.spec,
+ pam.net_monitor: remove historical consolehelper files (pam.d and
+ console.apps)
+
+2004-07-16 13:00 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix predicted time when there
+ is an error installing packages
+
+2004-07-16 12:58 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/tools.pm: use a tcp ping in check_link_beat
+ if not root
+
+2004-07-16 08:33 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/wizards.pm: do not ask to install already installed
+ packages, prefer to install uninstalled packages (misc)
+
+2004-07-15 10:16 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: add a border spacing of 5
+ pixel (fix #10299, from Fabrice Facorat)
+
+2004-07-15 08:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-54mdk
+
+2004-07-15 07:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: encryption key length can
+ now be lower than 20, allowing >= 6
+
+2004-07-15 07:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: change_pt_type() must return a boolean
+ value
+
+2004-07-15 05:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, standalone/bootloader-config:
+ make_boot_splash is no good since the same initrd is used with or
+ without vga=, so call add_boot_splash directly
+
+2004-07-15 05:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: alt_xxx instead of old_xxx for
+ bootloader labels (as suggested by Svetoslav Slavtchev on cooker)
+
+2004-07-14 11:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: remove unneeded return
+
+2004-07-14 11:44 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: to_bool is what I was
+ looking for, thanks Pixel
+
+2004-07-14 11:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: perl_checker fix, I
+ should have done it before ...
+
+2004-07-14 10:46 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: use bootloader and Xconfig
+ instead of detect-resolution
+
+2004-07-14 10:27 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm:
+ automatically detect which media are available in install from
+ ISO images
+
+2004-07-13 10:37 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: umount nfs directory if an error occurs too
+
+2004-07-13 10:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: don't forget to umount ISO images
+
+2004-07-13 10:23 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: it is again stupid to use a ramdisk if
+ the install location isn't mounted by loopback
+
+2004-07-13 08:55 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix segfault when hostname resolves as
+ weird name without any dot (for example 24.159.64.20 resolves as
+ TN-JACKSN-NR1) and abort domain name guess in this case
+
+2004-07-13 07:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: cooker logo
+
+2004-07-13 06:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bn.po, fur.po: Added Bengali and Furlan
+ files
+
+2004-07-13 04:48 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: apply Pixel's suggestion, use
+ //m instead of foreach
+
+2004-07-13 04:37 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/pkgs.pm: Some factorization. Protection against
+ /var/lib/urpmi being a dangling symlink (see bug #9934)
+
+2004-07-12 09:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker fixes
+
+2004-07-12 09:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: add a "monitor network" menu
+ item that launches net_monitor
+
+2004-07-12 09:36 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use drakconnect to configure
+ network
+
+2004-07-12 09:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_applet: use 'ip route show' to find
+ the gateway device when no GATEWAYDEV is defined
+
+2004-07-12 07:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: - add "Active Directory" through
+ winbind (it needs more stuff to work) - drop using $val, use
+ directly $authentication->{XXX}
+
+2004-07-12 07:46 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-07-12 04:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (sort_hds_according_to_bios): when
+ installing on floppy, $boot_hd is undefined, but that's ok
+ (bugzilla #10260)
+
+2004-07-09 09:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: unicore/PVA.pl is needed
+
+2004-07-09 07:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix commit 1.685: use
+ lang::analyse_locale_name() but still use lang::l2locale()
+
+2004-07-09 06:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, lang.pm: replace
+ lang::get_unneeded_png_lang_files() with lang::png_lang_files
+
+2004-07-09 06:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: - adapt to new perl - use "*" instead of
+ PERL_VERSION to be more versatile
+
+2004-07-09 06:42 Pixel <pixel at mandriva.com>
+
+ * rescue/: list, make_rescue_img: use "*" instead of PERL_VERSION
+ in list, but ensure only one match
+
+2004-07-09 06:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: ensure "*" to wildcard a directory in
+ share/list match only once
+
+2004-07-09 05:29 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: ask perl where to find package.pm and URPM.pm,
+ this is more versatile than using installvendorlib
+
+2004-07-09 04:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: sometimes grub return non zero exit
+ status w/o error
+
+2004-07-09 04:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: kill debug message
+
+2004-07-09 04:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: do not complain about unmounted usb fs in
+ recue mode
+
+2004-07-09 04:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: sort
+
+2004-07-09 04:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add Robert Vojta
+
+2004-07-09 03:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: fix restore mode (initrd's mount failled
+ to mount ext2 as ext3)
+
+2004-07-09 03:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add "ls -l /sys/bus/scsi/devices" in
+ report.bug (it helps for debugging getSCSI on 2.6)
+
+2004-07-09 03:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix mounting /sys (why did i switch to
+ using syscall_ 'mount' directly? and with missing parameters!)
+
+2004-07-08 16:53 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/drakcronat/po/da.po
+ soft/drakfax/po/da.po soft/GtkMdkWidgets/po/da.po
+ soft/mdkonline/po/da.po soft/rpmdrake/po/da.po
+ soft/urpmi/po/da.po gi/perl-install/share/po/da.po
+ soft/galaxy/thememdk/mandrake_client/po/da.po
+
+2004-07-08 10:56 Robert Vojta <robert.vojta at mandrake.org>
+
+ * perl-install/standalone/drakedm: - typo fix (lost -> lose)
+
+2004-07-08 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: warn the user before dm exit
+ will kill the session (Robert Vojta, #10179)
+
+2004-07-08 09:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: handle s/snd-card/snd/g and
+ s/snd-via686|snd-via8233/snd-via82xx/g more generically
+
+2004-07-08 09:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: in mergein_conf(), get the "above"
+ value, and don't dirty "probeall"
+
+2004-07-08 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add vincent
+
+2004-07-08 07:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2004-07-08 07:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, Xconfig/card.pm: - create
+ X_options_from_o() and use it - add freeDriver boot option
+
+2004-07-08 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: merge with MDK-10-update Move changes
+
+2004-07-08 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: merge "language choice dialog" from
+ MDK-10-update
+
+2004-07-08 07:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: selectCountry doesn't really need a $o, a
+ $in is enough
+
+2004-07-08 07:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm,
+ standalone/adduserdrake: when adding users during install,
+ suggest the user names found in /home
+
+2004-07-08 05:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: rename load_raw() to load_raw_install()
+ and change the prototype
+
+2004-07-08 04:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: cleanup
+
+2004-07-08 04:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - create when_load_category() - replace
+ regexp [uo]hci on module name with testing category "bus/usb" -
+ move the special case imm ppa from when_load() to load()
+
+2004-07-08 03:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix previous commit
+
+2004-07-08 03:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - generalize the snd-pcm-oss case -
+ cleanup
+
+2004-07-08 03:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm, harddrake/sound.pm,
+ network/adsl.pm, network/ethernet.pm: - rename add_alias() into
+ set_alias() - create set_sound_slot() and use it
+
+2004-07-08 03:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: don't remove "above ... snd-pcm-oss" for
+ the old alias, it's better done explictly, and already done by
+ remove_module()
+
+2004-07-08 02:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-53mdk final
+
+2004-07-07 14:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Merge fixes from Anthill 927,
+ 929 (filenames with spaces, .backupignore, gui issues)
+
+2004-07-07 14:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Merge fixes from Anthill 927,
+ 929. (filenames with spaces, .backupignore, gui behavior)
+
+2004-07-07 09:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix comment
+
+2004-07-07 09:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix indentation
+
+2004-07-07 09:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, network/netconnect.pm,
+ standalone/XFdrake, standalone/draksound, standalone/drakxtv,
+ standalone/service_harddrake: modules::mergein_conf() doesn't
+ need to be given /etc/modules.conf => prepare for reading either
+ modprobe.conf or modules.conf based on the running kernel version
+
+2004-07-07 09:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, modules.pm, mouse.pm,
+ harddrake/data.pm, modules/interactive.pm, network/ethernet.pm,
+ standalone/XFdrake, standalone/mousedrake,
+ standalone/printerdrake: modules::mergein_conf() doesn't need to
+ be given /etc/modules.conf => prepare for reading either
+ modprobe.conf or modules.conf based on the running kernel version
+
+2004-07-07 09:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: remove non-useful prototypes ($)
+
+2004-07-07 08:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: use the module category to decide if it
+ needs alias usb-interface or alias ieee1394-controller
+
+2004-07-07 08:44 Pixel <pixel at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: have only usb-interfaces in
+ bus/usb
+
+2004-07-07 08:35 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: stage1 and stage2 handle dependencies
+ correctly, so no need to list "helpers" modules only providing
+ functions to other modules
+
+2004-07-07 04:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix typo
+
+2004-07-07 04:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - restrict view of %mappings_24_26 and
+ %mappings_26_24 to modules.pm - simplify mapping_24_26(), it now
+ takes only one module name, not a list - simplify
+ mapping_26_24(), the special case is handled properly in
+ %mappings_26_24
+
+2004-07-07 04:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, modules.pm: - move
+ configure_pcmcia() and write_pcmcia() out of modules.pm to
+ install_any.pm - load pcmcia_core, $pcic and ds in one call to
+ modules::load - don't pass prefix to write_pcmcia()
+
+2004-07-07 04:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: create write_preload_conf()
+
+2004-07-06 09:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add 1024x480 (part of bugzilla
+ #5192)
+
+2004-07-06 09:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: rename function
+ $set_chosen_x_res to $set_chosen_resolution (since it sets both)
+
+2004-07-06 09:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: (choose_gtk):
+ ensure default height is the chosen one
+
+2004-07-06 08:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-53mdk
+
+2004-07-06 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: fix typo
+
+2004-07-06 07:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: - nicer "usage: ..." -
+ add actions "add-entry" and "remove-entry" - add option --label -
+ add option --chainload - rename --vmlinuz to --image
+
+2004-07-06 07:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: remove unneeded spaces in append="
+ foo"
+
+2004-07-06 07:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: write_lilo handles "optional"
+
+2004-07-06 07:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: rename var
+
+2004-07-06 07:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm: cleanup
+
+2004-07-06 05:24 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: fix blino fix
+
+2004-07-06 05:23 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: update bootsplash even if
+ framebuffer was disabled
+
+2004-07-06 05:00 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: add missing slash in Mandrake Move
+ image location
+
+2004-07-06 04:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: workaround blind gwenole
+
+2004-07-06 04:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: workaround build with new kernels
+
+2004-07-06 03:39 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, directory.c: doing basename is dumb
+ (is blino too?), really make the symlink relative
+
+2004-07-06 03:37 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/disk.c: - when the directory is bad, go back to choose
+ another directory instead of choosing another device (you can
+ still use "Cancel" to choose another device) - list files in
+ directory given, not the root directory of the device
+
+2004-07-06 03:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: high level explanation
+
+2004-07-05 22:51 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: rush to beta one man
+
+2004-07-05 13:06 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: allow medium change in nfs-iso
+ install
+
+2004-07-05 11:52 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: properly handle error return code in nfs
+ install
+
+2004-07-05 10:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: try to use $default_intf
+ (and fix the last perl_checker warning, yeah)
+
+2004-07-05 10:24 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: perl_checker compliance
+
+2004-07-05 09:57 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: rename $echr and $echt to
+ $scale_r and $scale_t
+
+2004-07-05 09:55 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: remove unused variable $type
+
+2004-07-05 09:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: use $LOG instead of *LOG
+
+2004-07-05 09:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksec: fix #-PO: comment
+
+2004-07-05 09:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix function call
+
+2004-07-05 09:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fs.pm, fsedit.pm,
+ install_any.pm, install_interactive.pm, install_steps.pm,
+ install_steps_interactive.pm, lvm.pm, partition_table.pm,
+ raid.pm, diskdrake/dav.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, diskdrake/removable.pm,
+ network/smbnfs.pm, partition_table/bsd.pm,
+ partition_table/dos.pm, partition_table/gpt.pm,
+ partition_table/mac.pm, partition_table/raw.pm,
+ partition_table/sun.pm: big renaming of field {type} to
+ {pt_type}, this will allow defining {fs_type} which will always
+ be a string whereas {pt_type} will always be a number
+
+2004-07-05 07:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm: create rationalize_options() and
+ use it (bugzilla #3525) more checks should be done in this
+ function, and used at more places (but where?)
+
+2004-07-05 07:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: drakxtools-backend needs
+ ldetect-lst (for complete_usb_storage_info())
+
+2004-07-05 06:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: allow getpwnam, getgrnam, getgrid
+ to work
+
+2004-07-05 04:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: drop --no-link option
+ (already replaced by --no-short-name)
+
+2004-07-05 04:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: drop "other" entries in grub conf
+ when the device is unknown
+
+2004-07-05 04:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't set {major} and {minor} to 0 when the
+ device doesn't exist
+
+2004-07-05 04:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - handle missing root=/dev/xxx kernel
+ commandline parameter - handle grub splashimage option
+
+2004-07-05 03:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: oops, revert debugging code
+
+2004-07-05 03:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: - new option
+ --no-short-name which implies no short labels (usually vmlinuz)
+ and no symlinks (usually /boot/vmlinuz) - rename --no-link to
+ --no-short-name (keeping compatibility for a few days)
+
+2004-07-03 07:42 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: saraiva esta rapido ;-)
+
+2004-07-03 06:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2004-07-02 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-52mdk
+
+2004-07-02 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: ensure proper upgrade: explictly
+ tell urpmi that old drakxtools-newt conflicts with
+ drakxtools-backend
+
+2004-07-02 10:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove spurious '"pty ', I suck
+
+2004-07-02 10:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: cleanup
+
+2004-07-02 10:12 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/adsl.pm: pptp support (partial fix for
+ #6515)
+
+2004-07-02 10:12 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Add anonymous bind
+
+2004-07-02 09:52 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: Ukrainian translation update.
+
+2004-07-02 07:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: switch to new japanese fonts (UTUMI Hirosi
+ <utuhiro78@yahoo.co.jp>)
+
+2004-07-02 06:40 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: remove anonymous entry
+
+2004-07-02 06:15 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: (lang2move_clp_name): if $dir is a symlink, this
+ symlink is broken at that moment, so test "-d $dir" after testing
+ "-l $dir"
+
+2004-07-02 05:48 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: disable languages which have no locales installed
+
+2004-07-02 05:19 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: add libsasl2-plug-gssapi when AD
+ is selected
+
+2004-07-02 05:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) let be aware of install mode
+
+2004-07-02 04:35 Vincent Guardiola <vguardiola at mandriva.com>
+
+ * perl-install/authentication.pm: Change SSL/TLS to SSL or TLS add
+ uc_domain to realm section in /etc/krb5.conf padbol
+
+2004-07-02 04:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: (write) configure menu-method's language
+ too so that altering language is done for KDE menu entries too
+ (instead of just programs' messages)
+
+2004-07-01 09:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: create package drakxtools-backend
+
+2004-07-01 09:49 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: rephrase previous patch, with correct
+ indentation this time
+
+2004-07-01 09:24 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: add a slash at beginning of the given
+ directory if not already present (ftp and http install)
+
+2004-07-01 09:07 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: a somewhat better error checking
+
+2004-07-01 08:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: fix typo causing multiple
+ "Keyboard" entries in XF86Config (bugzilla #10163)
+
+2004-07-01 07:17 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: add fluxbox in known window managers list
+
+2004-07-01 06:18 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/modules.c, perl-install/install2.pm: stage1 used to
+ write files /tmp/network, /tmp/ifcfg-eth0, /etc/modules.conf but
+ those files are in /stage1 after pivot rooting, so: - write
+ modules.conf in /tmp instead of /etc - cp those files from
+ /stage1/tmp to /tmp before umounting /stage1
+
+2004-07-01 06:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: default consolefont is lat0-16, no more
+ lat0-sun16
+
+2004-07-01 05:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2004-07-01 04:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: fix typo
+
+2004-07-01 02:50 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also remove drakbackup
+
+2004-07-01 02:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference
+
+2004-07-01 02:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/harddrake2: typo
+ fix
+
+2004-07-01 02:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-50mdk
+
+2004-07-01 02:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbug, drakclock,
+ drakfloppy, drakfont, drakperm, draksec, draksplash, drakups,
+ harddrake2, logdrake, net_monitor, printerdrake: revert ugly code
+ printing "This program cannot be run in console mode", it is
+ easily done in ugtk2.pm
+
+2004-06-30 23:37 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-06-30 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: when doing
+ update_splash or remove_splash, call when_config_changed (mainly
+ for lilo)
+
+2004-06-30 11:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: use print + exit instead of die (so that
+ standalone tools don't need to do it by hand)
+
+2004-06-30 11:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: for Active Directory, allow:
+ Kerberos, SSL/TLS, simple and anonymous
+
+2004-06-30 11:02 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: try to display arrows
+ closely to transmission values
+
+2004-06-30 10:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: shut up "smbclient -L"
+
+2004-06-30 10:44 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: create directories if needed for "READ" files of
+ etcfiles
+
+2004-06-30 10:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: always draw an arrow next to
+ transmitted amount
+
+2004-06-30 10:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: always display a speed label
+ for transmitted graph
+
+2004-06-30 10:34 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also add unison
+
+2004-06-30 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix button layout
+
+2004-06-30 10:26 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: set /var/log/clamav/freshclam.log owner to clamav
+
+2004-06-30 10:21 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - install nxclient and clamav - fix nxclient
+
+2004-06-30 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: (build_it) add translator
+ hint
+
+2004-06-30 10:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/doc/BUILD: fix build explanation (else make_live
+ will horribly die due to missing functions :-()
+
+2004-06-30 10:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: allow the user to use
+ different scales for received and transmitted
+
+2004-06-30 10:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: prepare code to use distinct
+ scales for received and transmitted
+
+2004-06-30 09:38 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: Ukrainian translation update
+
+2004-06-30 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/doc/BUILD: update how to build instructions
+
+2004-06-30 08:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/bootloader-config: please perl_checker
+
+2004-06-30 08:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/doc/BUILD: do not forget to update hdlists
+
+2004-06-30 08:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/README: fix required packages list
+
+2004-06-30 07:56 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/net_monitor: remove most magic numbers,
+ prefer usage of $width and $height
+
+2004-06-30 07:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: display a nicer error message when disk
+ is not found
+
+2004-06-30 03:30 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: Sync'ed with .pot
+
+2004-06-30 01:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, uz.po, uz@Latn.po: updated
+ Estonian and Uzbek files
+
+2004-06-29 15:18 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: fs.pm, standalone/drakupdate_fstab: use
+ fsedit::is_same_hd in drakupdate_fstab and revert previous change
+ in fs::subpart_from_wild_device_name (do not fill both
+ devfs_device and device fields)
+
+2004-06-29 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: in is_same_hd(), both hds can have
+ {device} unset, it doesn't mean they are the same
+
+2004-06-29 14:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: properly handle "back" behavior in mirror
+ list step
+
+2004-06-29 14:06 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: do not unset automatic if mirror list
+ selection fails, we know it wasn't automatic at that point
+
+2004-06-29 14:01 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: network.c, network.h: remove http proxy settings
+ from interface structure, that was really dumb
+
+2004-06-29 12:54 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs.pm: do not add default device in device hash, it
+ will be filled with result from fs::subpart_from_wild_device_name
+
+2004-06-29 12:41 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/fs.pm: always update $part{device} in
+ fs::subpart_from_wild_device_name because /dev is stripped (fix
+ #6982, #10175)
+
+2004-06-29 10:20 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: adsl.c, network.c, network.h: allow to use a
+ specific ACNAME for pppoe connections
+
+2004-06-29 10:02 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: directory.c, probing.c, tools.c: variable
+ declaration fixes (spotted by neofutur)
+
+2004-06-29 09:50 Pixel <pixel at mandriva.com>
+
+ * move/: move.pm, data/keyfiles: - cleanup handle_etcfiles() -
+ /etc/security/fileshare.conf is on key to allow fileshare -
+ remove unused files
+
+2004-06-29 09:48 Pixel <pixel at mandriva.com>
+
+ * move/data/etcfiles: allow clamav to work and freshen it's
+ database (although not saved on key)
+
+2004-06-29 09:47 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: fix typo
+
+2004-06-29 08:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: fix umounting
+
+2004-06-29 07:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - add bootloader-config (used by
+ bootloader-utils and bootsplash scripts) - drakboot (pixel): o
+ major backend rewrite b/c of code sharing with new installkernel
+ o when adding a new kernel, have a nicer new name for
+ conflicting entry o when modifying kernel parameters in all
+ entries, skip the "failsafe" entry (#10143) o when
+ modifying a symlink, ensure we also use the long name for the
+ old symlink in the existing entries - drakconnect (Olivier Blin):
+ o never disable "DHCP host name" entry box, it shouldn't be
+ linked with "Assign host name from DHCP address" checkbox
+ (#2759, #9981) o unblacklist sis900 since its link beat
+ detection works with latest kernels - draksound: remove
+ unneeded "above" lines in modules::write_conf (Olivier Blin)
+ (#8288) - ugtk2 layer: catch missing wizard pixmap, otherwise we
+ end up with unshown windows and error messages can't pop up
+ (pixel) - don't require mkbootdisk
+
+2004-06-29 07:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: add missing share/net_monitor.desktop
+
+2004-06-29 07:29 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also set PHOTO (so we get gphoto)
+
+2004-06-29 06:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, standalone/bootloader-config: add
+ bootloader-config (tested for adding and removing in simple
+ cases)
+
+2004-06-29 06:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - mkinitrd() calls make-boot-splash
+ after building the initrd (since /sbin/mkinitrd doesn't do it
+ anymore) - change mkinitrd() parameters - change add_kernel()
+ parameters and add option b_no_initrd (it is available in
+ installkernel though i suspect it is unused) - after reading
+ config file, get {perImageAppend} and {default_vga} (it was
+ only done for lilo and {perImageAppend}) - keep the current
+ kernel for linux-nonfb too (it was only done for failsafe) - add
+ create_link_source(), action(),
+ when_config_changed_{lilo,grub,yaboot} - create write_yaboot()
+
+2004-06-29 06:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: add "Getopt::Long" (used by
+ bootloader-config)
+
+2004-06-29 05:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: unselect uim since mdk10 package of uim
+ IM break first time wizard when selecting english
+
+2004-06-29 04:42 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: translation update
+
+2004-06-29 04:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: perl_checker cleanups
+
+2004-06-29 03:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: add rescue support
+
+2004-06-28 04:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: make perl_checker a little more happy
+
+2004-06-28 04:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: after install, when modifying kernel
+ parameters in all entries, skip the "failsafe" entry (bugzilla
+ #10143)
+
+2004-06-28 04:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: catch missing wizard pixmap, otherwise we
+ end up with WizardWindow being non shown and error messages can't
+ pop up
+
+2004-06-28 04:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: disallow switching to expert mode using
+ Alt-e
+
+2004-06-28 03:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix titi's regexp for matching
+ centrino
+
+2004-06-28 03:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't set ICEAUTHORITY using $ENV{HOME} for
+ kde (bugzilla #10144)
+
+2004-06-27 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/Makefile.PL: drop useless linkage since X11 stuff
+ was split out of c module
+
+2004-06-25 10:37 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: fix typo
+
+2004-06-25 10:36 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: do not use ramdisk in nfs install
+
+2004-06-25 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use internal_error() instead of
+ die'ing with no arguments
+
+2004-06-25 10:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: fix blino stage1
+ change (i think he likes breaking things ;p)
+
+2004-06-25 09:47 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: have symlinks /etc/rc[0-6].d
+
+2004-06-25 09:27 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: add missing include for basename()
+
+2004-06-25 09:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove deprecated rhimage symlink
+
+2004-06-25 09:18 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: use relative symlink to image location in
+ disk/nfs install, to have a working stage2
+
+2004-06-25 09:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: bootloader::add_kernel() do a good
+ job at replacing symlinks with the real kernel/initrd file name,
+ so don't need to do it here
+
+2004-06-25 09:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: when adding a new kernel, have a
+ nicer new name for conflicting entry
+
+2004-06-25 08:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: when modifying a symlink, ensure we
+ also use the long name for the old symlink in the existing
+ entries
+
+2004-06-25 08:18 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Make perl_checker silent
+
+2004-06-25 08:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix 2 typos
+
+2004-06-25 08:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: never disable "DHCP host
+ name" entry box, it shouldn't be linked with ""Assign host name
+ from DHCP address" checkbox (#2759, #9981)
+
+2004-06-25 07:47 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: unblacklist sis900 since its
+ link beat detection works with latest kernels
+
+2004-06-25 07:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: drop obsolete function
+
+2004-06-25 07:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: drop obsolete lnx4win_file()
+
+2004-06-25 07:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: simplify using new
+ bootloader.pm
+
+2004-06-25 07:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, Xconfig/various.pm,
+ standalone/drakboot: adapt to new bootloader.pm
+
+2004-06-25 07:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - adapt to new bootloader.pm -
+ simplify
+
+2004-06-25 07:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: major cleanup and rewrite - some
+ functions have been renamed - some functions have changed
+ prototype - no more bootloader::vga_modes, we use
+ Xconfig::resolution_and_depth::bios_vga_modes() - no more
+ detectloader, it is now detect_main_method(), but notice that
+ bootloader::read() + bootloader::write() abstract all this! -
+ update_for_renumbered_partitions() is surely broken :) -
+ sort_hds_according_to_bios() and mixed_kind_of_disks() uses new
+ function hd2bios_kind() - new data structure "kernel_str" - lilo
+ doesn't need so much help as it used to be, so don't put as much
+ "disk=/dev/sda bios=0x80" as before
+
+ some goals: - don't rely on device names (this allows not to
+ care too much about devfs vs udev vs ...) - kernels can be named
+ something else than /boot/vmlinuz*, please use the various
+ functions to construct the initrd file name, the symlink name...
+
+2004-06-25 07:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - enhance subpart_from_wild_device_name() to
+ handle "sda" the same as "/dev/sda" (when /dev/sda exists)
+
+ - new function device2part() which uses
+ subpart_from_wild_device_name and the given fstab to convert
+ the device name to the corresponding structure (this allows not
+ relying too much on the device name)
+
+2004-06-25 06:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: unset automatic in ftp/http install when
+ ramdisk can't be loaded
+
+2004-06-25 06:32 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: use new http_proxy variables instead of the
+ old answers (not anymore available)
+
+2004-06-25 05:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - scim-uim requires scim, no need to
+ have both - scim-chinese requires scim, no need to have both
+
+2004-06-25 01:53 Sergey Ribalchenko <fisher at obu.ck.ua>
+
+ * perl-install/share/po/uk.po: translation update.
+
+2004-06-24 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: rollback service
+ priority
+
+2004-06-24 12:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: perl_checker compliance
+
+2004-06-24 11:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: remove unneeded "above" lines in
+ modules::write_conf
+
+2004-06-24 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: (installPackages) kill debugging
+ statements
+
+2004-06-24 11:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-48mdk
+
+2004-06-24 11:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: delete "above" lines when removing a
+ sound alias with modules::remove_alias_regexp
+
+2004-06-24 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: switch chinese to scim by default
+
+2004-06-24 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix gtk IM module for scim IM
+
+2004-06-24 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: - switch japanese to scim+uim and
+ scim - switch chinese to scim
+
+2004-06-24 11:09 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: fix stupid typo
+
+2004-06-24 10:43 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: in modules::when_load, try to find the
+ best sound slot index instead of always overwritting sound-slot-0
+ (#7890)
+
+2004-06-24 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/hwprofile: create hw profile after having run first
+ time wizard so that if one refuse the icense, he has to run it
+ again
+
+2004-06-24 10:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm: (acceptLicense) just
+ reboot when one cancel the globetrotter first time wizard
+
+2004-06-24 09:51 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: add magicdev.mo
+
+2004-06-24 09:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix xcin IM
+
+2004-06-24 09:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add gv (not installed by default)
+ to have it in the package tree (bugzilla #10127) - add pciutils
+ (not installed by default) in MONITORING (but i don't think it
+ will get to the package tree)
+
+2004-06-24 09:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: module hid is now named usbhid (thanks to
+ svetljo on cooker)
+
+2004-06-24 09:11 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add magicdev
+
+2004-06-24 09:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: add back support for kinput2 IM
+
+2004-06-24 09:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: sort CJK's IM entries
+
+2004-06-24 09:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: - factorize im settings - change default IM
+ according to cooker-i18n feedback: o default all chinese
+ locales to fctix IM o default all japanese locales to scim+uim
+ IM
+
+2004-06-24 07:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: make share partition be writeable by
+ unpriviliegied users
+
+2004-06-24 07:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: add fb2png in order to be able to take
+ screenshots
+
+2004-06-24 07:32 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/: network.pm, tools.pm: properly handle
+ ascii WEP keys (#9884)
+
+2004-06-24 07:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: per machine firewall configuration
+
+2004-06-24 05:24 Nicolas Planel <nplanel at mandriva.com>
+
+ * mdk-stage1/probing.c: don't redefine buf for /proc/scsi/scsi
+ (size 5000 instead of 2048)
+
+2004-06-24 05:19 Nicolas Planel <nplanel at mandriva.com>
+
+ * mdk-stage1/probing.c: don't redefine buf for /proc/scsi/scsi
+ (size 5000 instead of 512)
+
+2004-06-24 03:51 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbug, drakclock,
+ drakfloppy, drakfont, drakperm, draksec, draksplash, drakups,
+ harddrake2, logdrake, net_monitor, printerdrake: Some standalone
+ tools don't compile when run from console
+
+2004-06-24 01:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: merge fix from MDK-10-branch: tv modules
+ weren't loaded on boot
+
+2004-06-23 19:16 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: code cleanup per Pixel
+
+2004-06-23 15:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Make perl_checker happy
+
+2004-06-23 11:05 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove unneeded quotes
+
+2004-06-23 11:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/modules.pm: fix another typo from Titi in #9112 fix
+ (#6802)
+
+2004-06-23 10:49 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix ugly typo :-(
+
+2004-06-23 10:40 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix processing of config file
+ broken again by Titi
+
+2004-06-23 10:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - fix processing of config file
+ broken by magic olivier - reuse cat_()
+
+2004-06-23 10:04 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: remove global vga choice to please Pixel and
+ Titi
+
+2004-06-23 09:53 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: please perl_checko the Clean
+ Keeper
+
+2004-06-23 09:52 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Support for supplementary
+ CDs during installation (from the 10.0 update branch.)
+
+2004-06-23 09:51 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove spurious spaces
+
+2004-06-23 09:37 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakclock: be mouse wheel aware (fix bug
+ 9926)
+
+2004-06-23 09:19 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: ask for bootloader choice when
+ framebuffer isn't configured (fix bug 9925)
+
+2004-06-23 09:10 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove unused variable
+
+2004-06-23 08:03 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/any.pm: add a global vga option in
+ any::setupBootloader__general (fix bug 8957)
+
+2004-06-23 08:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-06-23 07:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: use upcase letters whenever needed
+
+2004-06-23 05:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: kernelVersion() is unused (only
+ bootloader::mkbootdisk() used it, and it has already been
+ removed)
+
+2004-06-23 05:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - unblacklist tg3 since QA
+ has confirmed it works smoothly - blacklist buggy madwifi_pci
+
+2004-06-23 05:07 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: better code for installing config files listed in
+ keyfiles (and use cp_f)
+
+2004-06-23 04:37 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: revert the workaround on stat() now that
+ it works on large files
+
+2004-06-23 04:36 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile: define _FILE_OFFSET_BITS=64 so that stat()
+ is large files aware
+
+2004-06-23 04:26 Pixel <pixel at mandriva.com>
+
+ * move/data/keyfiles: add shorewall files (esp. for drakfirewall)
+
+2004-06-23 04:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: good_default_monitor() should
+ work *nearly* everywhere, so use it for the auto_install fallback
+ (this is used by mandrakemove)
+
+2004-06-23 04:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: good_default_monitor() should
+ work *nearly* everywhere, so use it for the auto_install fallback
+ (this is used by mandrakemove)
+
+2004-06-22 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: perl_checker
+ compliance
+
+2004-06-22 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - use
+ Xconfig::resolution_and_depth::bios_vga_modes() instead of
+ %bootloader::vga_modes - remove broken sparc code
+
+2004-06-22 16:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - export
+ @bios_vga_modes (needed for bootloader vga=) - to_string should
+ return '' instead of ()
+
+2004-06-22 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: remove duplicate
+ (use existing function to_string())
+
+2004-06-22 15:22 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix indentation
+
+2004-06-22 14:12 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/po/fr.po: French translations for new messages
+
+2004-06-22 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: sync with
+ detect-resolution
+
+2004-06-22 13:52 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rephrase zeroconf dialog
+ (cybercfo)
+
+2004-06-22 13:01 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: oops, fix the "Continue without USB key" case
+
+2004-06-22 12:28 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: blacklist sis900 and tg3
+ modules for network hotplugging
+
+2004-06-22 12:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Make the CD-Rom install with
+ supplementary CD work (don't forget to re-mount the main CDs).
+
+2004-06-22 11:45 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: do not update bootsplash in
+ autologin wizard
+
+2004-06-22 11:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove spurious comma and
+ spaces
+
+2004-06-22 11:21 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - mount usb key first with "sync" option to have a
+ good detection of rw or ro - then remount it without "sync" -
+ simplify: use $key_part instead of checking /proc/mounts - ensure
+ key_mount() doesn't leave $key_part if unmounted (the pb didn't
+ occured, but maybe it could have...)
+
+2004-06-22 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix build broken by net_applet
+
+2004-06-22 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move net_applet in right package
+ (aka drakxtools-gtk)
+
+2004-06-22 08:26 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: remove usb key from desktop (already available in
+ "Home")
+
+2004-06-22 08:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add check_enough_space() and use it
+
+2004-06-22 08:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - fix typo - remove silo code (sparc)
+
+2004-06-22 08:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: perl_checker fixes
+
+2004-06-22 08:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (getIP) fix build
+
+2004-06-22 07:45 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: ensure resolv.conf exist otherwise kppp cries
+
+2004-06-22 07:44 Pixel <pixel at mandriva.com>
+
+ * move/: etc-monitorer.pl, move.pm: - use magicdev for secondary
+ cdrom - have a proper mtab for magicdev+kded to work
+
+2004-06-22 07:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-47mdk
+
+2004-06-22 07:04 Pixel <pixel at mandriva.com>
+
+ * move/make_live: we do want magicdev now
+
+2004-06-22 06:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update fields description
+ (baud <baud123@tuxfamily.org>)
+
+2004-06-22 06:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update doc urls (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add new ISP entries (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix Telia entry (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix Free dns (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: merge duplicate Free entries
+
+2004-06-22 06:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: enhance tel9com name (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: kill duplicate spanish entry
+ (baud <baud123@tuxfamily.org>)
+
+2004-06-22 06:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: enhance a few entries (baud
+ <baud123@tuxfamily.org>)
+
+2004-06-22 06:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix spanish isp name
+
+2004-06-22 05:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: ->set_title doesn't like title undef, give
+ it '' instead (to remove ugly warnings at install)
+
+2004-06-22 04:58 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING, perl-install/install2.pm: rename --test in
+ --testing for install2 (more coherent with standalone tools)
+
+2004-06-21 17:08 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: don't use "keys" smaller than 10MB (as told by
+ Daniel Andrews on cooker-mandrakemove mailing list)
+
+2004-06-21 16:37 Pixel <pixel at mandriva.com>
+
+ * move/tree/: mdk_behind_totem, mdk_totem: like live_tree_boot, one
+ must handle live_tree_i18n_*
+
+2004-06-21 16:36 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: change the way we restart kdesktop
+ and kicker
+
+2004-06-21 16:35 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: add krandr.mo and kmix.mo
+
+2004-06-21 16:34 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add krandrtray
+
+2004-06-21 16:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: fix choosing which files to put in
+ live_tree_always_i18n_*.clp's
+
+2004-06-21 09:43 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: workaround the fact that stat() fails on
+ large files (like DVD ISO images)
+
+2004-06-21 09:23 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/directory.c: add log message when using directory as a
+ mirror tree
+
+2004-06-21 09:13 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/net_applet: - cleaning titi factorization
+
+2004-06-21 09:00 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: - autostart file for KDE/GNOME
+
+2004-06-21 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_applet: (getIP) simplify
+
+2004-06-21 08:57 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - added net_applet
+
+2004-06-21 08:56 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/net_applet.desktop: - autostart file for
+ KDE/GNOME
+
+2004-06-21 08:48 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: Makefile, network.c: allow to use ISO images in NFS
+ install
+
+2004-06-21 08:46 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: Makefile, directory.c, directory.h, disk.c: split
+ directory specific functions and move them from disk.c to
+ directory.c (will be used in NFS install)
+
+2004-06-21 08:42 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/: drakxtools.spec, standalone/net_applet: -
+ net_applet to watch network connection
+
+2004-06-21 08:38 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: - add net_applet file
+ (installed in bindir)
+
+2004-06-21 08:28 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/pixmaps/: connected.png, disconnected.png: network
+ applet state icons
+
+2004-06-21 07:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: kill stupid useless code
+
+2004-06-21 07:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not display version number
+ in title bar since it's useless according to interface team
+
+2004-06-21 06:57 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: accept from fw to loc
+
+2004-06-21 06:41 Pixel <pixel at mandriva.com>
+
+ * move/make_live: create missing bitmap directoy for openoffice
+ non-english (as instructed by Giuseppe Ghibò)
+
+2004-06-21 05:45 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: same behaviour as UTC=false (as done in rc.sysinit)
+
+2004-06-21 05:00 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - use cp_f instead of run_program::run cp - create
+ the virtual_key if it is missing
+
+2004-06-21 04:59 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: replace "Error" with "Read carefully!", it's
+ less frightening
+
+2004-06-21 04:58 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: change the way we restart kdesktop and
+ kicker
+
+2004-06-21 02:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix missing trailling quotes
+
+2004-06-21 01:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-46mdk
+
+2004-06-21 01:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: cleanups build
+
+2004-06-21 01:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: show list of partitions
+
+2004-06-21 01:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: spell-check french translations
+
+2004-06-21 01:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2004-06-21 01:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display better info for hard
+ disks
+
+2004-06-21 01:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: really ensure that
+ "identification" section is displayed first
+
+2004-06-21 01:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake: fix logs of newly
+ added hardware
+
+2004-06-21 01:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: fix warnings
+
+2004-06-21 01:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: only log about nv <->
+ nvidia swtich only if we do have to perform it
+
+2004-06-21 01:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: still show info field if
+ detect_devices::getIDE() failled to parse it for a known vendor
+ string
+
+2004-06-21 01:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: still show mass media fields
+ for mass media that are not hard disks (eg: cdroms, dvdrom,
+ burners, ...)
+
+2004-06-21 01:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: remove old SCSI garbage code
+
+2004-06-21 01:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-06-21 01:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: adapt fields name to new
+ behavior of mousedrake on 2.6.x kernels
+
+2004-06-21 01:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: smoother mouse data: sort
+ fields
+
+2004-06-21 01:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: show more fields for mice
+
+2004-06-21 01:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: move mice help where it
+ belongs
+
+2004-06-21 01:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: simplify
+
+2004-06-21 01:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display media type for mass
+ storage devices
+
+2004-06-21 01:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix undisplayed fields: - if
+ a per-class group exists, prefer it upon generic group - only
+ care about current group fields, not about those of the group
+ that has the same name in generic
+
+2004-06-21 01:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: show splited vendor and
+ description fields for USB hard disks too
+
+2004-06-21 01:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake: fix mouse
+ autoconfiguration done on every boot instead of on 2.4.x/2.6.x
+ switches
+
+2004-06-21 01:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: simplify x11 autoconf
+
+2004-06-21 01:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: log error if a tool
+ isn't executable
+
+2004-06-21 01:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: simplify globetrotter
+ case: skip non interactive stuff
+
+2004-06-21 01:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not uselessy fork
+ shells
+
+2004-06-21 01:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: log error when we
+ cannot run the config tool
+
+2004-06-21 01:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: faster auto mouse
+ reconfiguration on major kernel switch
+
+2004-06-21 01:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: harddrake wasn't aware
+ of newly added wireless network card since early 2004/02
+
+2004-06-21 01:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/mousedrake: kill dead code
+
+2004-06-21 01:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fixes
+
+2004-06-20 13:01 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-06-19 15:22 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabic translation
+
+2004-06-19 11:18 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Sync with Arabeyes.org's CVS
+
+2004-06-18 16:48 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: typos
+
+2004-06-18 10:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm: (configure_krb5_for_AD) fix
+ kerberos server lookup (vincent guardiola)
+
+2004-06-18 10:01 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: fix method_allows_medium_change
+ calls (I suck)
+
+2004-06-18 09:59 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/install_any.pm: in disk-iso install, strip old root
+ from ISOPATH and remove iso file from path if present
+
+2004-06-18 07:46 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c, perl-install/install_any.pm,
+ perl-install/c/stuff.xs.pl: in iso install, use ISOPATH
+ environment variable instead of loopback device filename (limited
+ to 64 chars)
+
+2004-06-18 07:39 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm: add and use
+ install_any::method_allows_medium_change
+
+2004-06-18 07:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-45mdk
+
+2004-06-18 07:20 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm, c/stuff.xs.pl: in disk-iso
+ install, automatically choose and change ISO images, according to
+ their volume id and application id
+
+2004-06-18 07:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake: only stop boot
+ progressbar if there a non automatic tool to run
+
+2004-06-18 06:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add help for new fields
+
+2004-06-18 06:45 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/install_any.pm: Don't ask a supplementary CD for
+ upgrades
+
+2004-06-18 06:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-45mdk
+
+2004-06-18 06:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: merge from MDK-10-branch: add
+ support for ATI_GLX and NVIDIA_GLX cohabitation
+
+2004-06-18 06:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: merge globetrotter
+ support from MDK-10-branch
+
+2004-06-18 06:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: merge mouse
+ autoreconfiguration when switching between 2.4.x and 2.6.x
+ kernels from MDK-10-branch
+
+2004-06-18 06:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/autoconf.pm,
+ standalone/service_harddrake: merge x11 autoconf support from
+ MDK-10-branch
+
+2004-06-18 06:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: merge floppies support
+ from MDK-10-branch
+
+2004-06-18 06:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, install2.pm, install_gtk.pm,
+ install_steps_gtk.pm: merge globetrotter support from
+ MDK-10-branch
+
+2004-06-18 05:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: force installation of both 2.4.x and
+ 2.6.x centrino drivers
+
+2004-06-18 05:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: - use labels for home and packages
+ partitions too - mount packages partition in read-only mode
+
+2004-06-18 04:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/make_live: install autologin as requested by QA
+
+2004-06-18 04:07 Pixel <pixel at mandriva.com>
+
+ * move/make_live: ipw2100 is needed to support centrino
+
+2004-06-18 03:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_newt.pm: fix comment
+
+2004-06-18 02:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: group driver fields for sound
+ cards
+
+2004-06-18 02:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not display PCI/USB vendor
+ id in identification section
+
+2004-06-18 02:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - simplify item grouping -
+ always show identification first
+
+2004-06-18 02:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix displaying pci/usb vendor
+ and device id
+
+2004-06-18 02:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display bus (PCI, USB, ...)
+ first
+
+2004-06-18 02:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix help for floppies
+
+2004-06-18 02:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - add infrastructure in order
+ to group fields - start to group fields for mass media, CPUs and
+ generic PCI/USB devices
+
+2004-06-18 01:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: lang.pm, ugtk2.pm, standalone/harddrake2: kill
+ warnings
+
+2004-06-18 01:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: kill usb_id like usb_vendor
+ is (for USB mass storage media)
+
+2004-06-18 01:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add missing field for hard
+ disks
+
+2004-06-18 01:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: the split of the cpu help
+ nicely show up that mice were using CPU help. let's describe
+ their "name" field too.
+
+2004-06-18 01:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: split out CPU help
+
+2004-06-18 01:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: use new infrastructure in
+ order to not display useless floppy help for SCSI disks
+
+2004-06-18 01:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add infrastructure for per
+ class help (and add missing space around brackets that
+ perl_checker did miss :-()
+
+2004-06-18 01:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: data.pm: (pciusb_id) fix duplicated USB
+ disks (in both disk and unknown categories)
+
+2004-06-18 01:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker cleanup
+
+2004-06-18 01:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump buildrequires on ldetect-devel
+ so that tools get proper module information on USB devices (we
+ should really use a shared library instead ...)
+
+2004-06-17 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: perl_checker cleanups
+
+2004-06-17 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/tree/sound.initscript: use move's script rather than build
+ machine's script
+
+2004-06-17 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_configurator) fix
+ typo preventing adding entries in /etc/fstab for new removable
+ media
+
+2004-06-17 10:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: - AD_users_db is
+ cn=users,ldap_domain and not cn=users,dc=servername,ldap_domain -
+ AD_user (for binddn) is user@domain instead of
+ cn=user,cn=users,ldap_domain - better system-auth krb5
+ configuration (all this as requested by Vincent Guardiola)
+
+2004-06-17 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: compile everything with standard
+ flags from rpm
+
+2004-06-17 09:56 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Install with a
+ supplementary CD: allow to override the main compssUsers and
+ rpmsrate
+
+2004-06-17 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: fix applying
+ keyboard configuration in globetrotter's first time wizard
+
+2004-06-17 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: autoconfigure mouse
+ when swtiching back between 2.4.x and 2.6.x kernels
+
+2004-06-17 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: add support for
+ floppies
+
+2004-06-17 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_configurator,
+ set_removable_remover) use the same flags as hotplug does when
+ calling drakupdate_fstab
+
+2004-06-17 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_configurator) fix
+ adding a removable medium
+
+2004-06-17 09:47 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/probing.c: enlarge your scsi buffer (previous size
+ wasn't enough with more than one scsi device, fixed thanks to
+ nplanel)
+
+2004-06-17 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (install_server) remove proprietary
+ gl libraries when configuring a non ATI/NVIDIA card and redo
+ ldconfig cache accordingly
+
+2004-06-17 09:44 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: add disk-iso install method
+
+2004-06-17 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (to_raw_X) load non nvidia glx for
+ all non nvidia cards, thus fixing 3D on non NVIDIA/ATI gfx card
+
+2004-06-17 09:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: do not delete loopbacks devices before umount
+ but after
+
+2004-06-15 22:39 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: Support for a
+ supplementary CD during install. Try to code this in the least
+ intrusive way possible. In the HEAD branch it would be better to
+ rework the way the installation methods are handled. More tests
+ needed.
+
+2004-06-15 18:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/README: update package versions to reflect current
+ globetrotter
+
+2004-06-15 18:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/README: update what's required in new initscripts
+
+2004-06-15 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: .perl_checker, Makefile, README, hwprofile,
+ make_live, mandrake-globetrotter.spec, move.pm, runstage2,
+ doc/BUGS, doc/BUILD, doc/NOTES: Imported Globetrotter
+
+2004-06-15 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * globetrotter/: .perl_checker, Makefile, README, hwprofile,
+ make_live, mandrake-globetrotter.spec, move.pm, runstage2,
+ doc/BUGS, doc/BUILD, doc/NOTES: Initial revision
+
+2004-06-15 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: globetrotter support
+
+2004-06-15 18:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/autoconf.pm: autoconf code for
+ globetrotter and new harddrake service
+
+2004-06-15 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, install2.pm, install_steps_gtk.pm:
+ support for globettroter's first time wizard
+
+2004-06-15 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: merge automatic mode from HEAD
+
+2004-06-15 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: handle case where both ATI and
+ NVIDIA GLX packages are installed (use new glibc's
+ /etc/ld.so.conf.d/ and prevent loading NVIDIA's GLX module with
+ ATI cards)
+
+2004-06-15 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm: rename is_same_part to
+ are_same_partitions (not that much clear, but at least a little)
+
+2004-06-15 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: use "find { ... }"
+
+2004-06-15 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - new function
+ subpart_from_wild_device_name() - use it
+
+2004-06-15 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove some broken sparc code
+
+2004-06-15 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: allow easy tracing of stage2
+
+2004-06-15 15:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: the presence of loadkeys doesn't mean
+ it is the regular one. (fixes loadkeys calling itself)
+
+2004-06-15 15:47 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: .backupignore issues (email
+ reports), typo in "other" routine
+
+2004-06-15 15:46 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: allow to go back in proxy selection window
+
+2004-06-15 15:44 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: .backupignore issue (email
+ reports), typo in "other" routine
+
+2004-06-15 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove PERL_INSTALL_DEBUG code modifying
+ install2 (unused and not working anyway)
+
+2004-06-15 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new wirelesss driver (madwifi_pci)
+
+2004-06-15 13:54 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix return code handling in mirror list
+ selection
+
+2004-06-15 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_configurator)
+ switch from diskdrake to drakupdate_fstab (like hotplug we just
+ automatically guess what's better)
+
+2004-06-15 13:34 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix typo spotted by John Keller
+
+2004-06-15 13:29 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/lomount.c, perl-install/devices.pm: increase the
+ number of loopbacks (needed for mandrakemove where the default
+ (8) is much too low :)
+
+2004-06-15 12:39 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/lomount.c, perl-install/devices.pm: increase the
+ number of loopbacks (needed for mandrakemove where the default
+ (8) is much too low :)
+
+2004-06-15 12:29 Pixel <pixel at mandriva.com>
+
+ * move/: data/always.list, tree/mdk_behind_totem, tree/mdk_totem:
+ kill kde desktop and kicker when mdk_totem is launched, then
+ restore them (kded pb still there?)
+
+2004-06-15 12:27 Pixel <pixel at mandriva.com>
+
+ * move/make_live: have krandrtray in systray by default (allow easy
+ screen resizing, esp. for non-usb key move)
+
+2004-06-15 12:27 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: ease tests
+
+2004-06-15 11:55 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/Makefile: upgrade distrib version
+
+2004-06-15 11:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: redesign to add "Specify the mirror
+ manually" entries in mirror list selection
+
+2004-06-15 11:16 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: redesign of the ISO image selection dialog,
+ add an entry in the list to allow to use the directory as a
+ mirror tree
+
+2004-06-15 11:13 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: do not try to mount the partition in testing
+ mode, assume it is already mounted
+
+2004-06-15 11:11 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: del loop device after unmount
+
+2004-06-15 09:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: update comment
+
+2004-06-15 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: rename usbnet as net_modules
+
+2004-06-15 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10-44mdk's changelog
+
+2004-06-14 23:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2004-06-14 22:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-06-14 22:46 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: saraiva
+
+2004-06-14 22:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nn.po: updated Nynorsk file
+
+2004-06-14 20:24 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: move mirror list functions upper
+
+2004-06-14 20:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: rephrase question again
+
+2004-06-14 20:01 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: rephrase again the disk install questions
+ (thanks to Pierre Jarillon, Rapsys|Phoenix and John Kelller)
+
+2004-06-14 19:47 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: rename variables for extra cohesion
+
+2004-06-14 19:36 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: fix brown paper bug combo
+
+2004-06-14 18:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2004-06-14 17:07 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: always fill proxy fields of interfaces
+
+2004-06-14 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/newt.pm: (ask_fromW_real) make previous
+ button be labeled "cancel" when needed
+
+2004-06-14 16:50 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: do not mount sysroot in testing mode
+
+2004-06-14 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: merge fix from HEAD
+
+2004-06-14 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not automatically
+ switch from nv to nvidia (in order to handle cases where nvidia
+ module crashes the system)
+
+2004-06-14 13:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-ber.png: Added image for Berber
+ language, so it is available when it would be needed
+
+2004-06-14 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, network/netconnect.pm: merge
+ fixes from HEAD
+
+2004-06-14 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakTermServ, standalone/drakbackup,
+ standalone/draksplash, ugtk2.pm: merge fixes from HEAD
+
+2004-06-14 11:50 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: rephrase the partition selection message
+
+2004-06-14 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-44mdk
+
+2004-06-14 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: since some hard disks are USB
+ models, we've to filtering them out once we've detected them in
+ order to prevent tem to appear in the "unknown/other" category
+
+2004-06-14 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: enable drag on drop when
+ looking only at customized settings
+
+2004-06-14 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, draksec, draksplash,
+ harddrake2, printerdrake: enforce introduction of translators
+ hints into translation catalogs (perl_checker should have been
+ loudly complain on those!!!! :-(): - add missing coma caracter -
+ move them near translations
+
+ note that i didn't bother check po comments that already have the
+ proper comma. instead this should be done by perl_checker which
+ should warn about po comments out of translation calls and tags
+ contexts
+
+2004-06-14 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display more data about hard
+ disks (geometry, number of primary/extended partitions)
+
+2004-06-14 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: ethernet card detection: only
+ rely on driver for matching ethernet cards, thus preventing
+ mislisting of other/unwanted devices (eg: bluetooth, wlan, AX25).
+
+ last but not least, it enables us to catch
+ ldetect/ldetect-lst/detect_devices bugs where some devices are
+ *not* seen by drakx and drakconnect.
+
+2004-06-14 10:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: remove useless filtering in
+ bridges detection code since proper filtering (for dobles) is
+ already done at the upper level.
+
+2004-06-14 10:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix misdetection of nvidia nforce
+ ethernet cards (broken since forcedeth replaced nvnet on
+ 2004-01-21 in MDK10's ldetect-lst)
+
+2004-06-11 20:53 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: revert previous change, do not use sudo for
+ mkisofs (I suck)
+
+2004-06-11 20:20 Olivier Blin <oblin at mandriva.com>
+
+ * make_boot_img: use sudo as well for mkisofs
+
+2004-06-11 20:14 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: do not ask proxy settings if interface
+ wasn't brought up (stupid me)
+
+2004-06-11 19:49 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: network.c, network.h: add http proxy settings in
+ interface_info struct, and ask them right after the interface is
+ up, so that they can be used to fetch the mirror list
+
+2004-06-11 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: merge lost hunk
+
+2004-06-11 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: s/_([xy])\b/_\1\1/ so that
+ cperl-mode is happier
+
+2004-06-11 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: make draksplash work again...
+
+2004-06-11 16:53 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: enable MODE_TESTING if the DEBUGSTAGE1
+ environment variable is set
+
+2004-06-11 16:42 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/tools.c: in testing mode, try to open cmdline file in
+ current directory before trying in /proc
+
+2004-06-11 16:08 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/disk.c: let the user choose between ISO images
+ containing a stage2 installer if a directory containing ISO
+ images has been specified
+
+2004-06-10 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker compliance
+
+2004-06-10 16:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - hde is
+ ide/host1/bus0/target0/lun0, and not ide/host0/bus2/target0/lun0
+ - add host in hd struct for bus ide
+
+2004-06-10 16:40 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: use new product name (Mandrakelinux)
+
+2004-06-10 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add olivier blin
+
+2004-06-10 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: first lan step: replace the
+ "manual choice" string by the more meaningfull "manually load a
+ driver"
+
+2004-06-10 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: first lan step: do not
+ compare translated strings, use format callback
+
+2004-06-10 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/tree/alsa_default.pl: merge with sound-scripts (we should
+ really just use ../../../soft/sound-scripts/alsa_default.pl)
+
+2004-06-10 11:50 Olivier Blin <oblin at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix trainee suckiness
+
+2004-06-10 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/level.pm: (get) default to standard level;
+ else security::msec won't be able to load any values when level
+ is not set (thus resulting in an empty draksec GUI)
+
+2004-06-10 10:27 Olivier Blin <oblin at mandriva.com>
+
+ * kernel/list_modules.pm, mdk-stage1/disk.c, mdk-stage1/mount.c:
+ ntfs support in install from disk (on nplanel request, but to
+ actually work, it would need the BOOT kernels to include the ntfs
+ module)
+
+2004-06-10 09:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tg.po: updated Tajik file
+
+2004-06-09 16:26 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: in move, use stg1_info_message() instead of
+ stg1_error_message() not to disable MODE_AUTOMATIC if not enough
+ memory
+
+2004-06-09 16:20 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/stage1.c: in move, use stg1_info_message() instead of
+ stg1_error_message() not to disable MODE_AUTOMATIC
+
+2004-06-09 12:46 Pixel <pixel at mandriva.com>
+
+ * Makefile: fix bad glob in upload_only
+
+2004-06-09 11:11 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - install ATI_GLX-utils (from cdcom) - remove
+ drakperm and draksec (not useful in Mandrakemove)
+
+2004-06-09 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-06-09 09:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-43mdk
+
+2004-06-08 21:25 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: rule live_tree_boot calls clps, no need to do it
+ twice
+
+2004-06-08 21:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bugzilla #9877 - deal with
+ kernel ring buffer that is flooded with msgs for tape device
+ detection.
+
+2004-06-08 20:57 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/config-stage1.h: in ftp install, display a mirror list
+ (fetched from http://www.linux-mandrake.com/mirrorsfull.list) to
+ allow the user to choose the medium, the host, and automatically
+ find the path on mirror (next try, I suck Pixel said)
+
+2004-06-08 20:55 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: in ftp install, display a mirror list
+ (fetched from http://www.linux-mandrake.com/mirrorsfull.list) to
+ allow the user to choose the medium, the host, and automatically
+ find the path on mirror
+
+2004-06-08 20:51 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: include missing header for uname
+
+2004-06-08 20:49 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/network.c: in ftp install, check that modules for the
+ boot kernel are available in mdkinst live location (they won't be
+ used by the installer, but if they aren't here, they probably
+ won't be in the mdkinst tarball)
+
+2004-06-08 20:38 Olivier Blin <oblin at mandriva.com>
+
+ * mdk-stage1/: url.c, url.h: list only the requested file in
+ ftp_get_filesize() instead of the whole directory (the buffer
+ happens to be too small sometimes), make this function available
+ for other modules
+
+2004-06-08 18:33 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: A chunk of the previous patch wasn't
+ suitable for 10.0
+
+2004-06-08 18:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: fix typo causing "Out of memory"
+
+2004-06-08 18:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add rafael
+
+2004-06-08 17:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: kill dead code
+
+2004-06-08 17:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, pkgs.pm, Xconfig/card.pm,
+ Xconfig/main.pm, Xconfig/test.pm, standalone/drakedm: switch to
+ xorg
+
+2004-06-08 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, share/list.i386,
+ standalone/XFdrake: switch to xorg
+
+2004-06-08 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - obsolete: gnome-vfs-extras xanim
+ nist mtv gatos mokmod ghostscript-utils tetex-latex-arab-doc
+ sgml-tools ghostscript-module-SVGALIB kdenetwork-kit
+ ApacheJServ cameleo unarj unstuff postgresql-python mercury
+ NVIDIA_nforce* fonts-type1-baltic gnorpm - obsolete games:
+ xtrojka bunnies xgammon xpuzzles 7colors xrally gtulpas gtkgo -
+ obsolete and the new one is auto required: MAKEDEV - xine-oss
+ xine-xv are in xine-plugins which is required by xine-ui - gatos
+ is no more, replacing with ati.2 (??) - replace php with php-cgi
+ (??) - replace scanner-gui with xsane and "KDE kdegraphics-kooka"
+ - replace clispp2c with clisp (??) - replace autoconf with
+ autoconf2.1 - replace automake with automake1.4 - switch to
+ gimp2_0
+
+ - everybuddy is now ayttm - gimp-plugin is no more, but adding
+ gimp-help - Epplets is now epplets (since a lot of time) -
+ mandrake-galaxy is now mandrakegalaxy - prelude is now
+ prelude-manager - kdenetwork-kmail is now kdepim-kmail (same for
+ kdepim-korn and kdepim-knode) - many XFree86-* are now
+ xorg-x11-*, others are removed (the old XFree3 servers) -
+ libxfree86-devel is now libxorg-x11-devel -
+ libxfree86-static-devel is now libxorg-x11-static-devel -
+ tight-vnc-doc is now tightvnc-doc - php-manual is now
+ php-manual-{en,fr,...} - sketch is now skencil - libgr-progs is
+ now netpbm - MySQL-devel is now libmysqlXX-devel - replace xkobo
+ with skobo - fix typo for xtraceroute (bad layout for flag 3D)
+
+ - libiw27 instead of libiw26 - libhpojip0 instead of libhpojip
+
+2004-06-08 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: add "Active Directory"
+ authentication (alpha code)
+
+2004-06-08 15:54 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Report revisions 1.124, 1.125 and 1.126
+ from HEAD
+
+2004-06-07 22:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-06-07 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: hid is missing (and not needed) on kernel
+ 2.6.7.0.rc2
+
+2004-06-07 12:41 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: init.c, stage1.c: nasty kernel now gives us weird
+ PIDs, so we can't rely on this to detect if we are running on a
+ live box or not. So set testing to 0
+
+2004-06-07 12:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, am.po, ar.po, az.po,
+ be.po, bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po,
+ gl.po, he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po,
+ ko.po, ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po,
+ nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2004-06-04 17:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2004-06-04 15:15 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove some FIXME comments
+
+2004-06-04 15:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: switch ONBOOT to on/off for
+ isdn and adsl connections
+
+2004-06-04 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader) remove debugging messages
+
+2004-06-04 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__entries) fix typo (Andrea
+ Celli)
+
+2004-06-04 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: run harddrake
+ service earlier
+
+2004-06-03 18:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-rh9-mdk10.pl: only big known bug
+ remaining is mouse configuration
+
+2004-06-03 18:23 Pixel <pixel at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add AUTHOR environment option for my
+ warly reports
+
+2004-06-03 18:20 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: probing.c: use the same technique as ldetect for
+ detecting usb and firewire controllers (based on the pci class)
+
+2004-06-03 17:25 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: add a rule to build bootcdrom.iso (useful for
+ providing an updated stage1)
+
+2004-06-03 17:17 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: if DEBUGSTAGE1 is set, include sash
+
+2004-06-03 17:16 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: have a somewhat more predictable rdz (alas it
+ doesn't really fix the variable size of generated rdz's)
+
+2004-06-03 13:26 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: build iso in /tmp
+
+2004-06-03 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: add resolution 1920x1200 called
+ WUXGA (used by Dell Laptops Inspiron 8500, 8600 and Latitude
+ D800) (bugzilla #6795)
+
+2004-06-03 13:14 Pixel <pixel at mandriva.com>
+
+ * move/data/: always.list, boot.list: have kmix in always.list
+
+2004-06-02 19:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - stop mounting ext3 partitions using type
+ ext2 during install - stop fsck'ing ext3 partitions (it was only
+ done during install, not upgrade)
+
+2004-06-02 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - add descriptions for NFS and SMB (thanks
+ to bugzilla #9940) - don't iterate on %l, better iterate on
+ %types
+
+2004-06-02 16:12 Pixel <pixel at mandriva.com>
+
+ * move/hack: obsolete since make_boot_img handles mandrakemove
+
+2004-06-02 16:00 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: - build data/i18n_*.list if missing - don't copy
+ MDK::Common files (we use the 10.0 package verbatim) - don't put
+ mdk_totem in /etc/skel/Desktop, otherwise the desktop is not
+ created correctly
+
+2004-06-02 15:57 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - only look move key in fat partitions - search for
+ the usb key partition containing a mandrakemove
+
+2004-06-02 15:55 Pixel <pixel at mandriva.com>
+
+ * move/data/: boot.dirs, boot.list: /etc/gtk-2.0/gtkrc.ta_IN needs
+ the directory /etc/gtk-2.0 to be in main clp, not the boot one
+
+2004-06-02 15:54 Pixel <pixel at mandriva.com>
+
+ * move/data/make_i18n_list: remove en doc (new doc will come fixed,
+ hopefully)
+
+2004-06-02 10:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2004-06-01 23:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/am.po: updated Amharic file
+
+2004-06-01 22:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian po file
+
+2004-06-01 22:02 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Binary ftp/gui fixes from
+ cooker branch.
+
+2004-06-01 22:00 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Really apply gui fix.
+
+2004-06-01 19:06 José JORGE <jjorge at free.fr>
+
+ * perl-install/share/po/pt.po: saraiva
+
+2004-06-01 18:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: s#ppp/peers/adsl#ppp/peers/ppp0# as
+ we now use ifup-ppp for adsl, it will look for ppp0
+
+2004-06-01 17:50 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: new way to specify how to up
+ connection for pppoe(xDSL) and others(ADSL)
+
+2004-06-01 17:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: Use array
+ rather than hash per Thierry. Insure ftp transfers are binary,
+ fix gui problem (in 10.0 update also).
+
+2004-06-01 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: rollback weird and ugly
+ workaround when pressing cancel on the ask_warn. The real fix is
+ in ugtk2.pm
+
+2004-06-01 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: when wizcancel occurs, ugtk2 object is not
+ destroyed (the garbage collector seems to have some pbs taking
+ care of this, but since many callbacks using it are registered,
+ it's no wonder) (fixes pressing "Cancel" on a ->ask_warn in
+ wizard mode)
+
+2004-06-01 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: remove debug message
+
+2004-06-01 14:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (use_windows) space cleanup
+
+2004-06-01 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) rollbacl to MDK10.0
+ detection scheme
+
+2004-06-01 10:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-42mdk
+
+2004-06-01 10:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (lilo_choice) fix error title
+
+2004-06-01 10:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (set_text): fix "cleanups"
+
+2004-06-01 10:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (set_text) cleanups
+
+2004-06-01 10:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: handle the nfs/smb service disabled
+ (enhancement given by Olivier Blin)
+
+2004-06-01 10:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: mark it as translatable for
+ non alphabetic languages
+
+2004-06-01 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix "two windows after
+ exception" bug
+
+2004-06-01 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_grub_config) do not write
+ partial config file (thus garbaging previous config) if an error
+ occured
+
+2004-06-01 10:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make LAN wizard more user
+ friendly: move "manual choice" after detected interfaces
+
+2004-06-01 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) handle interface w/o ip
+ addresses
+
+2004-05-28 23:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: merge fix from TRUNK
+
+2004-05-28 23:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-41mdk's changelog
+
+2004-05-28 23:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix perl Glib/Gtk2 binding requires
+ for mdk10.0
+
+2004-05-28 23:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-41mdk
+
+2004-05-28 23:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) read VLAN
+ interfaces too
+
+2004-05-28 22:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10-34.2mdk changelog
+ indentation
+
+2004-05-28 22:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-34.2mdk's changelog
+
+2004-05-28 22:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: merge brown paper bug fix
+ from TRUNK
+
+2004-05-28 22:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (real_main) fix protocol
+ switching from manual to auto when stepping back
+
+2004-05-28 22:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) read ip aliased
+ interfaces too
+
+2004-05-28 17:55 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Typo in tape restore
+ (Federico Belvisi).
+
+2004-05-28 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-40mdk
+
+2004-05-28 12:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-34.2mdk's changelog
+
+2004-05-28 12:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: merge from HEAD:
+ (get_eth_cards) fallback on sysfs in order to get driver and card
+ description when ethtool is not supported (eg: ipw2100 driver for
+ intel centrino)
+
+2004-05-28 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) fallback on
+ sysfs in order to get driver and card description when ethtool is
+ not supported (eg: ipw2100 driver for intel centrino)
+
+2004-05-28 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, detect_devices.pm,
+ drakxtools.spec, keyboard.pm, c/stuff.xs.pl,
+ network/drakfirewall.pm, network/ethernet.pm,
+ standalone/drakTermServ, standalone/drakbackup,
+ standalone/net_monitor: merge fixes from HEAD
+
+2004-05-28 09:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10-37mdk's indentation
+
+2004-05-27 20:09 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - drop old internet service code -
+ only one way to configure/up/down an adsl connection
+
+2004-05-27 19:08 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - call remove_initscript
+ because internet service is dropped - drop write_initscript call
+
+2004-05-27 19:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: - kill write_initscript - add
+ remove_initscript
+
+2004-05-27 18:17 Pixel <pixel at mandriva.com>
+
+ * move/move.pm, perl-install/install2.pm,
+ perl-install/install_any.pm, perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/Xconfig/card.pm: handle freeDriver which disable
+ using proprietary X driver (esp. for nvidia)
+
+2004-05-27 18:11 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: fix checking if we must build nvidia
+ clp
+
+2004-05-27 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) ignore loopback device
+
+2004-05-27 17:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/am.po: Added Amharic file
+
+2004-05-27 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: really chkconfig --add and --del for
+ "diskdrake --fileshare" (thanks to Olivier Blin)
+
+2004-05-27 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-39mdk
+
+2004-05-27 17:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: instead of removing package nfs-utils or
+ samba-server (when "diskdrake --fileshare" disables a export
+ kind) (bugzilla #9804)
+
+2004-05-27 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: new function isTrueLocalFS() to make a
+ distinction between ext3/reiserfs/... and nfs => allow /home on
+ nfs (bugzilla #7460)
+
+2004-05-27 16:01 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: handle no kernel installed correctly
+
+2004-05-27 13:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, install_interactive.pm,
+ partition_table.pm: new function isTrueLocalFS() to make a
+ distinction between ext3/reiserfs/... and nfs => allow /home on
+ nfs (bugzilla #7460)
+
+2004-05-27 09:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-38mdk
+
+2004-05-27 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: (get_val) reuse
+ c::get_netdevices() and thus skip bogus sit0
+
+2004-05-26 21:24 Daouda Lo <daouda at mandriva.com>
+
+ * docs/HACKING: - perl-XML-Parser is needed at build stage
+
+2004-05-26 20:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, share/rpmsrate: enabled
+ Latgalian language choice; prepared for Sardian; rpmsrate:
+ Japanese input method is now "uim"
+
+2004-05-26 18:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/move.pm: bump copyright
+
+2004-05-26 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, crypto.pm, install_any.pm:
+ /etc/mandrake-release is now /etc/mandrakelinux-release
+
+2004-05-26 13:37 Pixel <pixel at mandriva.com>
+
+ * move/move.pm, perl-install/lang.pm: - call handleI18NClp() ASAP -
+ create and use lang2move_clp_name()
+
+2004-05-26 13:25 Pixel <pixel at mandriva.com>
+
+ * move/data/make_i18n_list: some packages are only one locale
+ dependent, but still don't require that locale, handle it using
+ special cases
+
+2004-05-26 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: "expert" flag in stage2 is bad and
+ deprecated, removing it!
+
+2004-05-26 11:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) reuse
+ c::get_netdevices()
+
+2004-05-26 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (netdevices) introduce it in order to
+ list network interfaces
+
+2004-05-26 10:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated Filipino file
+
+2004-05-26 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) support br (bridging)
+ and tr (UML) interfaces (florin)
+
+2004-05-26 01:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Nepali uses devanagari script
+
+2004-05-26 00:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, tg.po: updated Basque and Tajik
+ files
+
+2004-05-25 23:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: new
+ keyboards; new lang->keyboard correspondences
+
+2004-05-25 17:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: don't trust the USB keyboard layout
+ announc when it claims to be "us" layout (mosdt manufacturers
+ just keep that default value while seeling different layouts)
+
+2004-05-25 12:13 Robert Vojta <robert.vojta at mandrake.org>
+
+ * perl-install/network/drakfirewall.pm: - BitTorrent support added
+
+2004-05-25 10:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-05-25 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add eth1394 (#9669)
+
+2004-05-25 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-37mdk's changelog
+
+2004-05-25 09:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-37mdk
+
+2004-05-25 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) only try to
+ lookup pci or usb device by bus location if its location is
+ defined (some driver are returning bogus data on ETHTOOL_GDRVINFO
+ command)
+
+2004-05-25 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) brown paper
+ bug: fix card name lookup when driver does not support GDRVINFO
+ command from ETHTOOL ioctl and there's only one card managed by
+ this driver
+
+2004-05-24 19:49 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix dropped .txt files when
+ running mkisofs. (Anthill #799)
+
+2004-05-24 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: typo fix
+
+2004-05-24 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (mk_frame) minor cleanup
+
+2004-05-24 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Xconfig/resolution_and_depth.pm,
+ interactive/gtk.pm, standalone/drakTermServ,
+ standalone/drakbackup, standalone/drakboot, standalone/drakbug,
+ standalone/drakconnect, standalone/drakfloppy,
+ standalone/drakperm, standalone/draksec, standalone/draksplash:
+ switch from deprecated OptionMenu into new ComboBox widget
+
+2004-05-24 14:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) simplify
+ pull down menu filling and do not duplicate protocols list
+
+2004-05-24 14:32 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Don't hardcode architecture
+
+2004-05-24 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-36mdk
+
+2004-05-24 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: still provide compat stuff for OptionMenu
+ (#9826) until all tools are converted
+
+2004-05-21 21:16 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: Some new
+ perl_checker fixes.
+
+2004-05-21 00:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Add /etc/modprobe* mount
+ points for client hardware config.
+
+2004-05-19 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-35mdk
+
+2004-05-19 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: forward speedtouch
+ fix (using kernel mode)
+
+2004-05-19 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: c/stuff.xs.pl, network/netconnect.pm: forward
+ better LAN vs wireless filtering
+
+2004-05-19 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: filter LAN and Wireless cards
+ by explicitely checking whether network interfaces support
+ wireless extensions or not instead of relying on both ethtool
+ support (in order to get the module name) and checking against a
+ whitelist of known wireless awere cards
+
+2004-05-19 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (hasNetDevice,
+ isNetDeviceWirelessAware, getNetDriver) explicitely use system
+ IFNAMSIZ instead of implicitely defining it
+
+2004-05-19 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (isNetDeviceWirelessAware) introduce
+ it in order to detect whether a network interface support
+ wireless extensions or not
+
+2004-05-19 17:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/list: - Share pango modules between the FT2
+ and Xft backend (named fc in pango 1.4) - pango-modules file is
+ now located in /etc/pango/i386/ - Add Build.pm
+
+2004-05-18 21:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, es.po, ky.po, pl.po: updated
+ Kyrgyz and Welsh files
+
+2004-05-18 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: perl_checker cleanups
+
+2004-05-18 09:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::OptionMenu->new) kill debug message
+
+2004-05-18 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::OptionMenu) transparently replace
+ obsolete OptionMenu widget by the new ComboBox widget
+
+2004-05-17 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add ipw2100
+
+2004-05-17 15:00 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker compliance
+
+2004-05-17 14:58 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove speedtouch and ISDN
+ 'only working under 2.4 kernel' warnings
+
+2004-05-17 14:52 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: prefer collecting data in "install" rule when
+ un_live_tree_boot is done
+
+2004-05-17 14:41 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * tools/Makefile: Clean up perl version checking in the tools
+ makefile.
+
+2004-05-17 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: restore the ability to specify the
+ file where the config should be written (since it's used by
+ Xconfig/test.pm)
+
+2004-05-17 14:20 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/share/list: Fix version of PerlIO::gzip in file list
+
+2004-05-17 14:15 Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>
+
+ * perl-install/Makefile: Remove an obsolete check for XFree86-VGA16
+
+2004-05-17 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: install autofs for nis
+ authentication (dixit florin & fcrozat)
+
+2004-05-17 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: instead of keeping stage1 (mostly as
+ temporary space but with a fixed size, and for the background
+ init), exit the stage1 giving hand to stage2 in a tmpfs (same as
+ what was done for Mandrakemove)
+
+2004-05-17 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: stage2 now builds the full mdkinst, and
+ full_stage2 is stage2 + building mdkinst_stage2
+
+2004-05-17 11:24 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add some "sudo" where needed
+
+2004-05-17 11:22 Pixel <pixel at mandriva.com>
+
+ * move/tools/fix-fc-cache.pl: don't default to /tmp/live_tree
+
+2004-05-17 08:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-05-17 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/drakconnect_step.png: kill unused
+ image
+
+2004-05-16 20:15 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Fixes
+
+2004-05-16 11:27 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-05-15 16:09 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Upadted Spanish messages
+
+2004-05-14 19:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: Fixes to use speedtouch kernel
+ driver / drop userspace one (happy modem with both 2.4 and 2.6)
+ - fix modem_run parameters to use kernel driver - change/move
+ pty declaration in /etc/ppp/peers/adsl - plugin pppoatm has to
+ be set and vpi.vci too - new net_cnx_{up/down}, speedtouch.sh
+ seems to be useless now
+
+2004-05-13 23:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hi.po, ky.po, sl.po: fixed "default:LTR"
+ string
+
+2004-05-13 23:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, pt_BR.po: updated Estonian and
+ Brazilian files
+
+2004-05-13 16:19 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: - fix cdrom-changedisk.img (didn't set correctly
+ automatic=method:cdrom nor changedisk) - have a valid
+ .not-enough-room when failing building cdrom-changedisk.img
+
+2004-05-13 16:12 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: write syslinux.cfg before cp'ing the .rdz to catch
+ the "not enough room" case
+
+2004-05-13 15:59 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: probing.c: usb cdrom has a weird size in
+ /proc/partitions, the result is that it is detected as floppy
+
+2004-05-13 15:09 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: handleI18NClp() must be called when
+ ->charsetChanged, ie before the locale is used
+
+2004-05-13 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: simplify
+ Xconfig::resolution_and_depth::allowed(): adapt it to the way
+ it's really used
+
+2004-05-13 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: $prefered_depth
+ defaults to the greatest depths, no need to set it to 24
+
+2004-05-13 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: vmware doesn't like
+ 24bpp (bugzilla #9755)
+
+2004-05-13 10:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, c/stuff.xs.pl,
+ diskdrake/interactive.pm, standalone/drakupdate_fstab: really
+ handle LABEL=XXX in fstab (as used by redhat) (no xfs labels yet)
+
+2004-05-13 10:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: in manualFstab coming from
+ auto_install.cfg, allow device /dev/XXX instead of simply XXX
+
+2004-05-13 10:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/install2.pm,
+ mdk-stage1/.cvsignore, mdk-stage1/Makefile, mdk-stage1/adsl.c,
+ mdk-stage1/cdrom.c, mdk-stage1/config-stage1.h,
+ mdk-stage1/dhcp.c, mdk-stage1/disk.c, mdk-stage1/init.c,
+ mdk-stage1/log.c, mdk-stage1/network.c, mdk-stage1/stage1.c,
+ mdk-stage1/stage1.h, mdk-stage1/tools.c, mdk-stage1/tools.h,
+ perl-install/share/devices, perl-install/share/symlinks: instead
+ of keeping stage1 (mostly as temporary space but with a fixed
+ size, and for the background init), exit the stage1 giving hand
+ to stage2 in a tmpfs (same as what was done for Mandrakemove)
+
+2004-05-13 10:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: speed-up monitor choosing dialog
+ when {VendorName} is undef (esp. when using "use diagnostics")
+
+2004-05-13 09:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: better error logging when gtkcreate_img or
+ gtkcreate_pixbuf can't find the image
+
+2004-05-12 19:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix selecting locales-LANG (it
+ didn't really work, but it doesn't seem needed?)
+
+2004-05-12 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: no lang-ltg.png, so disabling ltg
+
+2004-05-12 13:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/be.po: updated po file
+
+2004-05-12 13:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-05-12 13:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/dwd-07.pl: unified two strings
+
+2004-05-12 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: use busybox when dont_run_directly_stage2
+
+2004-05-12 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - fix typo - fix last commit which was not
+ using $locale_country as it should in
+ system_locales_to_ourlocale()
+
+2004-05-12 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, install_steps_interactive.pm: fix
+ typo
+
+2004-05-12 01:25 Pixel <pixel at mandriva.com>
+
+ * move/: make_live_tree_boot, data/make_i18n_list: - make_i18n_list
+ builds the various i18n_XX.list - make_live_tree_boot now uses
+ them to have a new live_tree_i18n_XX containing non always busy
+ files for lang XX. We now handle all langs
+
+2004-05-12 01:23 Pixel <pixel at mandriva.com>
+
+ * move/make_live: LOCALES"zh" was not set correctly
+
+2004-05-12 01:22 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: - rationalize the Makefile - for now only build
+ the clps for the main langs (for devel speed)
+
+2004-05-12 01:21 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - don't propose languages which do not have their
+ clp - mount the live_tree_i18n_LANG.clp
+
+2004-05-12 01:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm,
+ install_steps_interactive.pm, keyboard.pm, printer/main.pm: use
+ lang::analyse_locale_name() and lang::analyse_locale_name()
+
+2004-05-12 01:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - new function locale_to_main_locale() to
+ replace the typical substr($lang, 0, 2) or $lang =~ /(..)/ - new
+ function analyse_locale_name() to replace various regexps on
+ locale name - use those 2 functions for cleanup - cleanup even
+ more standard_locale()
+
+2004-05-12 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: better error logging when gtkcreate_img or
+ gtkcreate_pixbuf can't find the image
+
+2004-05-12 01:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix selecting locales-LANG (i didn't
+ really work, but it doesn't seem needed?)
+
+2004-05-11 18:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ ky.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po,
+ nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po,
+ tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2004-05-11 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: remove unused function
+
+2004-05-11 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: more cleanup in selectLanguage()
+
+2004-05-11 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: selectLanguage(): - simplify @langs
+ generation - use a tree if @langs > 15, not when $::move is set
+
+2004-05-11 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: perl_checker compliance
+
+2004-05-11 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: fix typo
+
+2004-05-11 15:18 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/stage1.c: adapt copyright
+
+2004-05-11 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: new update: - fix pam configuration
+ when using winbind (also fixes LDAP and NIS (?))
+
+2004-05-11 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: http.pm, install2.pm, lang.pm, mouse.pm, ugtk2.pm,
+ wizards.pm, .perl_checker, interactive/newt.pm,
+ network/netconnect.pm, printer/detect.pm: perl_checker compliance
+
+2004-05-11 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: rewrite a little
+ probeSerialDevices(), the beginning is still very strange
+
+2004-05-11 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix ugly typo (thanks
+ to perl_checker)
+
+2004-05-11 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: fix winbind configuration and do
+ the same for LDAP and NIS (modifs proposed and checked by Vincent
+ Guardiola)
+
+2004-05-11 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not run XFdrake in automatic
+ mode, it's useless
+
+2004-05-11 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-05-10 15:03 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/man/C/man5/drakbackup.conf.5: Man page
+ for drakbackup.conf.
+
+2004-05-10 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update breton translation
+
+2004-05-09 00:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Fixed firmware
+ installation.
+
+2004-05-09 00:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: perl_checker compliance
+
+2004-05-08 23:53 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2004-05-07 17:06 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: i don't need i18n.dirs, so i don't need the
+ special case for check_dirs
+
+2004-05-07 16:38 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: fix check_dirs
+
+2004-05-07 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: remove debugging code
+
+2004-05-07 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: do saner check for ntp package
+ (Robert Vojta)
+
+2004-05-07 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, monitor.pm,
+ resolution_and_depth.pm, various.pm, xfree.pm: you can now
+ configure monitors on heads > 1
+
+2004-05-07 11:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: fix an old typo
+
+2004-05-07 10:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: rename monitors() and $monitors
+ to monitors_db() and $monitors_db (preparation for next commit
+ which adds ability to configure each monitor)
+
+2004-05-06 17:02 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: fix build
+
+2004-05-06 16:56 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live, make_live_tree_boot, move.pm,
+ data/always.list, data/always_i18n.list, data/boot.list,
+ data/nvidia.list, data/totem.list: - install all langs - move
+ default from /tmp/live_tree to /BIG/move/live_tree, and have it
+ written only once
+
+2004-05-06 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-05-06 12:45 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: remove mozilla plugins (esp for
+ libflashplayer.so which breaks build when we don't have cdcom)
+
+2004-05-06 11:35 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: xfree[34X] are removed
+
+2004-05-06 10:32 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: when XF86Config-4 is missing, use XF86Config
+
+2004-05-06 10:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, standalone/drakupdate_fstab: don't
+ prefer_devfs_name when reading /proc/mounts (which uses devfs
+ names)
+
+2004-05-06 09:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't succeed automatic
+ configuration (not auto_install) when there is many cards (as
+ requested by Joe Bolin on cooker)
+
+2004-05-05 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: open more ports for samba
+
+2004-05-05 15:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: preparing for Furlan
+
+2004-05-05 15:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix 10-31mdk's changelog
+
+2004-05-05 15:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not offer to set
+ DOMAINNAME2 since it is never saved nor read (#9580)
+
+2004-05-05 14:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2004-05-04 17:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: use @cards instead of $#cards
+ as told by master pipi
+
+2004-05-04 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/de.po: update
+
+2004-05-04 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-34mdk
+
+2004-05-04 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix interface destruction
+ wizard
+
+2004-05-04 15:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: perl_checker fixes
+
+2004-05-04 11:35 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perlchecker fixes
+
+2004-05-03 19:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mouse.pm, standalone.pm, Xconfig/FILES,
+ Xconfig/card.pm, Xconfig/default.pm, Xconfig/main.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/screen.pm,
+ Xconfig/test.pm, Xconfig/various.pm, Xconfig/xfree.pm,
+ Xconfig/xfree3.pm, Xconfig/xfree4.pm, Xconfig/xfreeX.pm: XFree 3
+ is gone!
+
+2004-05-03 18:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2004-05-03 16:29 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: take ISDN protocol
+ into account for people outside Europe to use it (kind of lost in
+ space before)
+
+2004-05-03 15:00 Pixel <pixel at mandriva.com>
+
+ * advanced.msg.xml, help.msg.xml, make_boot_img: - move boot help
+ messages out of make_boot_img and the various msgboot*.img.bz2 -
+ move them in help.msg.xml and advanced.msg.xml - talk about
+ noapic in help.msg (thanks to switzerland, esp. to gc)
+
+2004-05-03 12:53 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: simplify: isolinux always use boot.msg
+
+2004-05-03 12:49 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't use msgboot-graphicallogo.img.bz2 anymore,
+ build it (easy and simpler)
+
+2004-05-03 12:20 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: stage1-disk and stage1-medias-usb are dead
+ already
+
+2004-05-03 12:13 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: hd.img and hdcdrom_usb.img are dead already too
+
+2004-05-03 12:10 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: network_usb, network_gigabit and
+ network_gigabit_usb are already dead
+
+2004-05-03 12:00 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: modules.c, stage1.c: blank.img has been removed, so
+ remove special code handling it
+
+2004-05-03 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: no need for defensive programming
+
+2004-05-03 11:54 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, perl-install/install2.pm,
+ perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm: blank.img has been removed, so remove
+ special code handling it
+
+2004-05-03 11:53 Pixel <pixel at mandriva.com>
+
+ * docs/README: quick update, not complete
+
+2004-05-01 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, diskdrake/interactive.pm,
+ standalone/drakupdate_fstab: fix drakupdate_fstab adding twice an
+ entry in fstab, one with the old name, one with the devfs name
+
+2004-04-30 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-32mdk
+
+2004-04-30 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, devices.pm: - new
+ getSCSI_26() not using /proc/scsi/scsi (since we can't say
+ first Direct-Access entry is sda anymore) - deprecate field
+ {raw_type} - don't fill {device} with sgX for
+ non-(cdrom|hd|floppy) (hopefully not used by anything, except
+ maybe scanners?) - replace scdX with srX (which everybody use)
+
+2004-04-30 11:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: (version) bump release number
+
+2004-04-30 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: time is displayed as HH:MM:SS
+ with RTL languages
+
+2004-04-30 08:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list SATA controllers in their
+ own category (anthill #741)
+
+2004-04-28 22:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nn.po: Updated Nynorsk file
+
+2004-04-28 21:11 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updating catalan translations of
+ DrakX and drakfax
+
+2004-04-28 18:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: cleaning _last_ 'isdn_' prefix
+
+2004-04-28 17:45 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/harddrake/data.pm: change last isdn_detect_backend()
+ remaining
+
+2004-04-28 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/tree/: alsa_default.pl, sound.initscript: resync with
+ initscripts (fix sound on many sound cards) (imho, this should
+ not be in move cvs but should be copied at build time from
+ initscripts one)
+
+2004-04-28 14:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: log removed/added hw
+
+2004-04-28 13:44 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: drop unused ISA and EXPORT
+
+2004-04-28 12:39 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/isdn.pm, network/netconnect.pm,
+ standalone/drakconnect: drop isdn_ fonction names
+
+2004-04-28 12:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: drop network::isdn->import
+
+2004-04-28 11:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ky.po: updated Kyrgyz file
+
+2004-04-28 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-04-27 21:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, pt_BR.po: updated Brazilian file
+
+2004-04-27 19:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: no need to up ippp0 in net_cnx_up,
+ it's been up'ed at startup
+
+2004-04-27 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: add synaptics for laptops
+
+2004-04-27 14:01 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: try to fix #3793
+ or at least enhance firmware seeking on windows partition (based
+ upon titi's patch)
+
+2004-04-27 13:47 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: more gui layout fixes
+
+2004-04-27 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: add ISDN stuff
+
+2004-04-27 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: not needed for Lacie, so
+ removing
+
+2004-04-27 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm, removable.pm: revert
+ handling --auto for removable, it is much better done in a
+ separate function (the goal of this --auto is not clear at all,
+ and is better explicitly done)
+
+2004-04-27 08:43 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabeyes' Arabic translation
+
+2004-04-26 19:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German translations
+
+2004-04-26 14:39 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: config-stage1.h, stage1.c: rename MandrakeMove to
+ Mandrakemove
+
+2004-04-26 11:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: create ~/tmp when needed
+
+2004-04-26 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: utf8_should_be_needed() must return true if
+ any of the languages chosen is utf8, not only the main one (it
+ also returns true when there are many charsets)
+
+2004-04-25 09:13 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabeyes.org's Arabic translation
+
+2004-04-25 08:02 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-04-24 20:18 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-04-24 00:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nn.po: updated Nynorsk file
+
+2004-04-23 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-32mdk
+
+2004-04-23 16:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless ::prefix
+ references
+
+2004-04-23 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) sort ppp
+ auth methods
+
+2004-04-23 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (shrink_topwindow) support both 10.0 and
+ cooker
+
+2004-04-23 16:06 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: re-indentation
+
+2004-04-23 15:53 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: use
+ gtkset_border_width(Gtk2::VBox->new, 5) to create a vbox and set
+ a border_width at the same time
+
+2004-04-23 15:43 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: change packing to get a
+ better GUI
+
+2004-04-23 15:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/ugtk2.pm: create frame with a border witdth (titi
+ rulez)
+
+2004-04-23 14:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician files
+
+2004-04-23 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do automatic sound
+ configuration (one can still switch between OSS and ALSA through
+ mcc)
+
+2004-04-23 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: handle again timeouts
+
+2004-04-23 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ do X11 configuration automagically
+
+2004-04-23 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Xconfig/various.pm, standalone/XFdrake: handle
+ --auto
+
+2004-04-23 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: - when automatic flag
+ is set for one hardware class, do not ask for confirmation and
+ just do what is needed - only show "probing in progress" message
+ if we did run an interactive tool
+
+2004-04-23 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: (set_removable_configurator) use
+ diskdrake instead of drakupdate_fstab for removable media in
+ automatic mode
+
+2004-04-23 13:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm, removable.pm: handle
+ --auto when managing removable media
+
+2004-04-23 13:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: set automatic flag for removable
+ media
+
+2004-04-23 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: NVIDIA_nforce is no more needed (replaced by
+ snd-alsa8x0 and forcedeth drivers)
+
+2004-04-23 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (probe_category) perl_checker cleanup
+
+2004-04-23 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (remove_alias, remove_alias_regexp,
+ remove_alias_regexp_byname, remove_module, set_options) add more
+ explanations
+
+2004-04-23 00:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovanian file
+
+2004-04-22 17:44 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/modules.pm: fix 'somewhat' broken isdn type and
+ driver name fetching from pcitable (this is no paper-bag)
+
+2004-04-22 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: split usb ports from usb
+ controllers (arnaud request)
+
+2004-04-22 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake, harddrake2: switch
+ to new harddrake data structure
+
+2004-04-22 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: new harddrake data structure
+ (easier to extend)
+
+2004-04-22 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary) install
+ alsaconf too for isapnp sound cards (it better handle some isapnp
+ sound cards)
+
+2004-04-22 09:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: sync tuners list with 2.6.6-rc2
+ too
+
+2004-04-22 09:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: sync card lists with 2.6.6-rc2
+
+2004-04-22 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix tv cards detection
+
+2004-04-20 16:23 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.list: this seems to really fix the alsa pb (?)
+
+2004-04-20 16:23 Pixel <pixel at mandriva.com>
+
+ * move/data/etcfiles: add needed RW files
+
+2004-04-20 16:16 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/tools.pm, standalone/drakconnect: move
+ reread_net_conf to tools.pm
+
+2004-04-20 16:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove unneeded @all_cards
+ initialisation in reread_net_conf
+
+2004-04-20 14:59 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.list: when using alsa /etc/gnome-vfs-mime-magic
+ is badly needed, why? i don't know :)
+
+2004-04-20 11:40 Pixel <pixel at mandriva.com>
+
+ * move/make_live: add unicorn
+
+2004-04-20 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (populate_notebook) fix
+ drakxtools' build
+
+2004-04-20 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) do not
+ assume there's not language that want to translate the "dhcp"
+ string as in other code
+
+2004-04-20 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-31mdk
+
+2004-04-19 21:35 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Consolidate button_box* code,
+ remaining file_dialogs.
+
+2004-04-19 17:41 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: we need agp modules for DRI (nvidia doesn't care,
+ but ATI does, and others too)
+
+2004-04-19 17:14 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix handling directories-to-create
+
+2004-04-19 17:02 Pixel <pixel at mandriva.com>
+
+ * move/: collect-directories-to-create.pl, move.pm: when creating
+ directories, keep rights & uid & gid (esp. for armagetron)
+
+2004-04-19 16:45 Pixel <pixel at mandriva.com>
+
+ * move/make_live: savekdemimetypes.pl needs HOME=/ otherwise it's
+ tmp file fails (it is in ~/tmp)
+
+2004-04-19 16:44 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - nvidia's libglx.so is hardwired to the tls
+ version, change this - if make_live is called more than once,
+ part of removing the tls dirs can fail, but we may still want all
+ of them to be removed
+
+2004-04-19 16:42 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: one more .mo needed
+
+2004-04-19 15:43 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: $adsl_modem is optional, moved to
+ $o_adsl_modem
+
+2004-04-19 15:35 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: dropped $::i in foreach
+ loop, use $i instead
+
+2004-04-19 15:23 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - translate strings once and
+ only for the user. don't bother with translated strings
+ internally.. - drop DHCP translation, it's always DHCP
+
+2004-04-19 14:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: IPADDR, NETMASK and GATEWAY
+ fields are not sensitive by default in DHCP (broken by #8498 fix)
+
+2004-04-19 14:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, nb.po: updated Welsh and Norwegian
+ files
+
+2004-04-19 11:14 Dam's
+
+ * perl-install/standalone/drakfont: attempt to correct bug #9423
+
+2004-04-18 20:08 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Unfuzzying and updating
+
+2004-04-18 10:32 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation (Arabeyes.org)
+
+2004-04-16 19:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Some drives don't return
+ "ATIP info from disk".
+
+2004-04-13 14:14 Pixel <pixel at mandriva.com>
+
+ * kernel/: list_modules.pm, update_kernel: the right place to
+ enumerate modules is list_modules.pm
+
+2004-04-13 14:12 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: for complete build, one need to do "build" before
+ "install"
+
+2004-04-13 14:11 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: rename rule "all" to "default" (it doesn't do all)
+
+2004-04-13 13:44 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - log errors in /tmp/.kde-errors instead of
+ /dev/tty10 (to be able to grep it, but that means one can't see
+ it if kde doesn't succed except when using option "shell") -
+ adapt to loop instead of chloop
+
+2004-04-13 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: pptp-linux sometimes is needed
+
+2004-04-13 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: add pppoe plugin too
+
+2004-04-13 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: add pppoa plugin for quite a lot of adsl links
+
+2004-04-13 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: split nework packages by category
+
+2004-04-13 08:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: adiusbadsl is now eagle-usb
+
+2004-04-11 07:02 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabic translation
+
+2004-04-09 23:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, hi.po: corrected default:LTR
+ entries
+
+2004-04-09 23:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, uk.po: updated Ukrainian and Welsh
+ files
+
+2004-04-09 15:42 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: kwin and kdesktop need kio.mo
+
+2004-04-09 11:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps.pm, lang.pm: (lang::write_langs)
+ drop prefix parameter
+
+2004-04-09 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/make_live: remove unused variable
+
+2004-04-09 08:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nn.po, tl.po: updated Nynorsk and
+ Filipino files
+
+2004-04-08 19:34 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po:
+ updates soft/mdkonline/po/da.po soft/wizard_perl/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-04-08 18:38 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakclock: - test /etc/init.d/ntpd
+ instead of /etc/ntp.conf for ntp installation
+
+2004-04-08 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: get rid of the chloop code (not used
+ anymore)
+
+2004-04-08 17:09 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_loop: we now simply use loop instead of chloop
+
+2004-04-08 17:08 Pixel <pixel at mandriva.com>
+
+ * move/data/: always.list, boot.dirs, boot.list, nvidia.list,
+ totem.list: adapt to mdk 10.0
+
+2004-04-08 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: mount /sys before move::init() since
+ move::init() needs it
+
+2004-04-08 16:58 Pixel <pixel at mandriva.com>
+
+ * move/tools/nfs-accesses: handle option "--already-have=..." alike
+ busy-files-accesses
+
+2004-04-08 16:55 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: also build various subdirs in mdk-stage1 in case
+ it's not done
+
+2004-04-08 16:54 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/lomount.c: - no need for chloop device anymore, my
+ kernel patch applies directly on the default loop module :) -
+ gzloop needs cryptoloop and zlib_inflate (why must i handle this
+ by hand? is my gzloop ugly?...)
+
+2004-04-08 16:52 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: modinfo when running on kernel 2.6 is
+ incompatible with the one on kernel 2.4, so handle both cases
+
+2004-04-08 16:25 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - don't install magicdev nor mdkonline (not
+ useful in mandrakemove) - we were removing /lib/i686, also remove
+ the various tls/ directories - use "kbuildsycoca --global", it
+ works better (the generated ksycoca can be used nicely by
+ boot-time kbuildsycoca's, whereas the
+ /var/tmp/kdecache-root/ksycoca can't)
+
+2004-04-08 09:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump glib/gtk+ perl binding
+ requires
+
+2004-04-08 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: use Mandrakelinux now
+
+2004-04-08 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-30mdk
+
+2004-04-07 23:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: defined default font to use in KDE for
+ devanagari and malayalam scripts
+
+2004-04-07 22:41 Dam's
+
+ * perl-install/standalone/drakups: corrected drakups against new
+ libconf 0.32
+
+2004-04-07 00:42 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: fully translated, was 3 fuzzy, 3
+ untranslated
+
+2004-04-06 23:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (shrink_topwindow) fix faillure with
+ perl-Gtk+-1.04x (#9411)
+
+2004-04-06 23:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Use a scalar with cat_
+ (Pixel suggestion).
+
+2004-04-06 19:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Don't move existing
+ dhcpd.conf, add an include for terminal-server instead.
+
+2004-04-06 15:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: list-dis, list-dwd, list-ppp,
+ list-pwp: Don't display commercial advertisement in development
+ version
+
+2004-04-06 13:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, ky.po: Added Kyrgyz file; updated
+ Basque file
+
+2004-04-06 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: typo fix
+
+2004-04-06 00:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Remove config-info (new home
+ to be man page). Use ugtk2 cursor wait/normal (share the wheel).
+ Combine/rework restore code.
+
+2004-04-05 16:07 Pixel <pixel at mandriva.com>
+
+ * move/tools/kernel-nfsd.patch: adapt to kernel 2.6
+
+2004-04-05 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: allow mounting type devpts
+
+2004-04-05 15:22 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - devfs in kernel 2.6 doesn't handle /dev/pts
+ anymore, so we must mount it - adapt to 10.0 DrakX -
+ /etc/modprobe.conf handled same as modules.conf (why this special
+ case for them and not other /etc files?) - cleanup and
+ perl_checker fixes
+
+2004-04-05 15:18 Pixel <pixel at mandriva.com>
+
+ * move/data/keyfiles: add /etc/modprobe.conf and
+ /etc/modprobe.preload
+
+2004-04-05 15:18 Pixel <pixel at mandriva.com>
+
+ * move/isolinux/isolinux.cfg: kernel 2.6 is devfs=mount by default,
+ whereas we prefer devfs=nomount for mandrakemove
+
+2004-04-05 15:17 Pixel <pixel at mandriva.com>
+
+ * move/tree/wait4x: Xtest is not in c:: anymore, it is in
+ xf86misc::main::
+
+2004-04-05 15:17 Pixel <pixel at mandriva.com>
+
+ * move/make_live: kernel-smp not useful since we don't boot using
+ it
+
+2004-04-05 15:15 Pixel <pixel at mandriva.com>
+
+ * move/make_live: adapt to kernel 2.6 (and fake having one so that
+ pkg selection defaults to 2.6)
+
+2004-04-05 13:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages) despite find
+ and any are semantically equivalent in this context, any will be
+ used there (boolean vs scalar context)
+
+2004-04-05 13:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hi.po: updated Hindi file
+
+2004-04-05 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages) install
+ alsa-utils if *any* of the present sound card is driven by ALSA
+
+2004-04-05 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install gnome-alsamixer and
+ alsa-utils when there's an alsa driver sound card
+ setDefaultPackages
+
+2004-04-05 11:28 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: - move from /usr/bin/stage2 to /usr/lib/stage2 -
+ use the new "./make_boot_img move" (so remove building
+ isolinux/boot.msg) - separate the stage1 + isolinux build
+
+2004-04-05 11:26 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, move/hack_boot_img: - no need forking
+ make_boot_img - also create the isolinux picture (was done in
+ move/Makefile)
+
+2004-04-05 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, bootloader.pm, fs.pm,
+ fsedit.pm, install2.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_interactive.pm, loopback.pm,
+ lvm.pm, partition_table.pm, raid.pm, swap.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ network/drakfirewall.pm, partition_table/raw.pm: perl now handle
+ cleanly utf8 string in exceptions, no need to die \N("...")
+
+2004-04-05 11:21 Pixel <pixel at mandriva.com>
+
+ * move/: runstage2, data/boot.dirs, data/boot.list: move from
+ /usr/bin/stage2 to /usr/lib/stage2 (cleaner)
+
+2004-04-05 10:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: im-ja has been reported to be more
+ user-friendly than uim
+
+2004-04-05 10:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: log nv<=>nvidia
+ switches
+
+2004-04-05 01:24 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-04-04 10:19 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Commmitting Arabeyes.org's Arabic
+ translation of the week
+
+2004-04-03 14:57 Antoine Ginies <aginies at mandriva.com>
+
+ * rescue/tree/ka/: gen_modules_conf.pl, hostnames, install.sh,
+ ka-d-client, make_initrd, setup_network.sh, tftpserver: remove
+ file already in cluster/mdkc2 cvs branch
+
+2004-04-02 16:40 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-04-02 16:03 Antoine Ginies <aginies at mandriva.com>
+
+ * rescue/tree/ka/: gen_modules_conf.pl, hostnames, install.sh,
+ ka-d-client, make_initrd, setup_network.sh, tftpserver: first
+ relsease
+
+2004-04-02 15:44 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile: clean init-move when cleaning
+
+2004-04-02 15:14 Pixel <pixel at mandriva.com>
+
+ * move/isolinux/.cvsignore: we don't provide a cdrom.rdz (not
+ useful, either El Torito "no emulation" works, either it is too
+ late)
+
+2004-04-02 14:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-04-02 10:58 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/nfsmount.c: enable nfs install on old i586 machines
+ (or maybe poor network cards) (bugzilla #9322) (thanks to Michael
+ Riss)
+
+2004-04-02 02:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, nb.po: updated Farsi and Norwegian
+ files
+
+2004-04-01 19:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: br.po, eo.po, fi.po, hr.po, mn.po, sk.po,
+ ta.po: updated Mongol files
+
+2004-04-01 16:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-04-01 12:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: let execl() handle the
+ arg array (this is safer)
+
+2004-04-01 11:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: service_harddrake,
+ service_harddrake_confirm: pass timeout parameter too
+
+2004-04-01 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: enable to translate a
+ few more messages
+
+2004-04-01 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: translate "XYZ was
+ added/removed" messages
+
+2004-04-01 11:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: list service_harddrake_confirm too
+
+2004-04-01 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec,
+ standalone/service_harddrake_confirm: move harddrake service
+ confirmation script from spec file into its own file
+
+2004-04-01 11:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: space cleanup
+
+2004-03-31 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix drakxtools postuninstall script
+
+2004-03-31 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-03-30 19:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-ltg.png: Added missing
+ choice for Latgalian (it had been forgotten when adding the 10.0
+ new languages)
+
+2004-03-30 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-03-30 15:17 Pixel <pixel at mandriva.com>
+
+ * Makefile: add boot.iso to images/MD5SUM (thanks to Frederik
+ Himpe)
+
+2004-03-30 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-03-30 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: share translation with help.pm
+
+2004-03-30 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix relative file names (mostly (only?)
+ for debugging)
+
+2004-03-30 11:42 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add /sbin/badblocks
+
+2004-03-30 09:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-03-30 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix inverted translations (#8217)
+
+2004-03-29 11:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-03-29 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-29mdk
+
+2004-03-29 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: space "fix"
+
+2004-03-29 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: typo fix
+
+2004-03-29 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: only alter xfree
+ config if we found an nvidia card
+
+2004-03-29 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-29 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: try several locations
+
+2004-03-29 09:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hi.po, it.po: corrected default:LTR
+ entries
+
+2004-03-29 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: check for compressed
+ nvidia modules too
+
+2004-03-29 08:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-28mdk
+
+2004-03-29 08:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-03-29 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: typo fix
+
+2004-03-28 11:55 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Arabeyes.org's translation
+
+2004-03-26 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: (installTransactionClosure) fix list
+ refreshing (warly)
+
+2004-03-26 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-03-26 14:35 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add SMP and BIGMEM for kernel-2.4
+ - aggregate all the kernel-2.4 in one occurence not to raised the
+ "complicated tags" error in install rpmsrate parsing code
+
+2004-03-26 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: s/bcm4400/b44/
+
+2004-03-26 14:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) fix vpi, vci
+ rereading (speedtouch conf write hexa...)
+
+2004-03-26 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: misc space cleanups (thx
+ perl_checko)
+
+2004-03-26 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-27mdk
+
+2004-03-26 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: warn than speedtouch only
+ works with 2.4.x kernels for now
+
+2004-03-26 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) fix "manage
+ interface" that broke speedtouch configuration
+
+2004-03-26 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (method_choices) blacklist again
+ Savage, they're broken again :-(
+
+2004-03-26 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: bcm4400 is known to not
+ support ETHTOOL
+
+2004-03-26 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: speedtouch support is definitvely
+ buggy with 2.6.x kernel for now
+
+2004-03-25 15:58 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.server: s/PHPgroupware/Kolab
+ server/
+
+2004-03-25 15:21 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-03-24 19:44 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Unfuzzying
+
+2004-03-24 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_write_config_backend) load
+ ISDN driver
+
+2004-03-24 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: up ippp0 interface and delete
+ previous default route
+
+2004-03-24 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (probe_category) set ISDN hisax driver
+ type parameter
+
+2004-03-24 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_detect_backend) do not try to
+ get "type" field here, we just have nothing to guess it there
+
+2004-03-24 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ISDN modem selection
+
+2004-03-24 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_read_config) do not overwrite
+ current parameters with undefed ones
+
+2004-03-24 16:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - preferring "p3-smp-64GB" first (for
+ BIGMEM + SMP) - also adding i686-up-4GB - cleanup code
+
+2004-03-24 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix extension parsing
+ (vmlinuz-2.6.3-7mdksmp & vmlinuz-2.6.3-7mdkenterprise vs
+ vmlinuz-2.6.3-7mdk-p3-smp-64GB & vmlinuz-2.6.3-7mdk-i686-up-4GB)
+
+2004-03-24 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: sorting based on @prefered is nearly
+ unused, remove it
+
+2004-03-24 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: when BIGMEM & SMP, use
+ kernel-p3-smp-64GB
+
+2004-03-24 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: #5056 really refered to
+ austria, not australia
+
+2004-03-24 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: list b44 too
+
+2004-03-24 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: meta_class server (PowerPack+)
+ needs category Workstation
+
+2004-03-24 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-03-24 11:39 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update translations
+
+2004-03-24 11:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change
+
+2004-03-24 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: switch between nv and
+ nvidia driver if commercial driver isn't installed
+
+2004-03-24 10:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install kdeutils-kwalletmanager by
+ default when KDE is installed
+
+2004-03-24 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more change in 10-26mdk
+
+2004-03-24 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) only disable
+ kernel driver for 2.4.x kernels since latest speedtouch package
+ is totally broken in userland mode now :-(
+
+2004-03-24 02:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hi.po: updated Hindi file
+
+2004-03-23 18:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug reference in 10-25mdk
+ changelog
+
+2004-03-23 18:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: remove doble entries in 10-25mdk
+ changelog
+
+2004-03-23 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-26mdk
+
+2004-03-23 18:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) enable to delete
+ ADSL and ISDN connections
+
+2004-03-23 18:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix drakconnect config
+ writing when there's only one configured interface (eg: at
+ install time) (#8998)
+
+2004-03-23 18:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: add a new line for lord cat
+
+2004-03-23 17:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: bewan PCI and ethernet ADSL
+ modems work smoothly with 2.6.x kernels
+
+2004-03-23 17:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: for ISDN, do the same warning
+ popup about supported kernels
+
+2004-03-23 17:39 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-03-23 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po: update
+
+2004-03-23 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2004-03-23 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: (interactive_mode) fix
+ button layout (prevent button collisions and text truncation when
+ translated)
+
+2004-03-23 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: (client_type) fix layout
+ (checbox was using too muche vertical space)
+
+2004-03-23 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-23 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: enable to go in in
+ --testing mode
+
+2004-03-23 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_any.pm,
+ install_steps_interactive.pm: LSB doesn't need kernel 2.4 anymore
+
+2004-03-23 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install ndiswrapper for centrino
+ chipsets
+
+2004-03-23 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: replace kernel-enterprise with
+ kernel-i686-up-4GB when BIGMEM
+
+2004-03-23 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, standalone/diskdrake,
+ standalone/drakupdate_fstab: - do not pass options is_removable
+ to set_default_options() since it is not a global options -
+ replace it with a flag in the part or raw_hd - set is_removable
+ for part from usb drive - ensure usb partitions are not checked
+ at boot time (freq field in fstab)
+
+2004-03-23 11:35 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/any.pm: add nolapic support option (NOn Local APIC)
+
+2004-03-23 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix drakgw removing
+ MII_NOT_SUPPORTED parameter from ifcfg file (#9076)
+
+2004-03-23 11:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: - az, tr and tr_f needs XkbOptions
+ 'caps:shift' - cleanup
+
+2004-03-23 10:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, de.po, et.po, fa.po, hi.po, is.po,
+ it.po, ja.po, mk.po, nn.po, sq.po, sv.po, uk.po: corrected
+ "default:LTR" translations
+
+2004-03-23 08:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: fix packing
+
+2004-03-23 06:02 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-03-22 22:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated Filipino file
+
+2004-03-22 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) hide
+ dialog's horizontal separator, because create_okcancel() already
+ creates its own separator (Robert Vojta, #9153)
+
+2004-03-22 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: add space around main vbox
+ (Robert Vojta, #9153)
+
+2004-03-22 17:11 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: typo (forgot a space)
+
+2004-03-22 16:53 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: do not write the REDIRECT
+ squid rules if one has only one NIC connected to the net zone
+
+2004-03-22 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: Look & feel enhancement in
+ order to have a smoother GUI (Robert Vojta, #9141) : - when not
+ embedded, add 5 pixels border around the whole GUI - add border
+ around frames contents
+
+2004-03-22 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: show timezone in drakclock
+ (Robert Vojta, #9141)
+
+2004-03-22 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: (get_servers) sort servers
+ (Robert Vojta, #9139)
+
+2004-03-22 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_conf) simplify
+
+2004-03-22 11:29 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo
+
+2004-03-22 10:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isTVcard) typo fix
+
+2004-03-22 10:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: typo fix
+
+2004-03-22 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (parse_file) oops, forgot one
+ /o
+
+2004-03-22 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm, standalone/drakxtv:
+ fix tv cards managed by cx88 and saa7134 (#9112)
+
+2004-03-22 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix non first searches (#9115)
+
+2004-03-22 09:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: fix log message
+
+2004-03-21 22:43 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-03-21 22:13 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: done
+
+2004-03-21 20:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-03-21 11:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2004-03-21 10:14 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation
+
+2004-03-21 04:35 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: fully translated, was 25 fuzzy, 5
+ untranslated
+
+2004-03-20 15:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Farsi file
+
+2004-03-20 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move draksplash into drakxtools b/c
+ it needs gtk+ (#7807)
+
+2004-03-20 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix error message (#9080)
+
+2004-03-20 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: cleanup
+
+2004-03-20 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: sync with 2.6.3-4mdk
+
+2004-03-20 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix loged message (thx
+ perl_checko)
+
+2004-03-20 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: oops, that should have been 25mdk
+
+2004-03-20 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix #3193: - use right device -
+ offer to set the user to config
+
+2004-03-20 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: icon
+
+2004-03-20 10:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: reorder modules import
+
+2004-03-20 10:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: (config) read current
+ configuration (Scott Mazur <scott@littlefish.ca>)
+
+2004-03-20 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: share translation
+
+2004-03-20 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: fix setting options for bttv
+ instead of saa7134 (#5612)
+
+2004-03-20 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix saa7134 detection (#5612)
+
+2004-03-20 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: testing mode
+
+2004-03-20 09:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: reorder modules import
+
+2004-03-20 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix wiping out /etc/modules.conf
+ (scott@littlefish.ca)
+
+2004-03-20 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: Defaulted canada-cable to NTSC
+ (Scott Mazur (scott@littlefish.ca)
+
+2004-03-20 04:29 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2004-03-19 23:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, hr.po, hu.po, id.po, is.po, ko.po,
+ lt.po, ltg.po, lv.po, mn.po, ms.po, mt.po, nl.po, nn.po, pt.po,
+ ro.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ th.po, tr.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_TW.po: updated
+ po files
+
+2004-03-19 22:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, az.po, be.po, bg.po, br.po, bs.po,
+ ca.po, da.po, de.po, el.po, eo.po, es.po, fa.po, fi.po, fr.po,
+ ga.po, gl.po, he.po, hi.po, hr.po, ltg.po, mn.po, nn.po, pl.po,
+ pt.po, pt_BR.po, sk.po, sq.po, sv.po, ta.po, tg.po, th.po,
+ zh_TW.po: updated po files
+
+2004-03-19 19:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, hi.po: Updated Estonian file;
+ fixed quote in Hindi file
+
+2004-03-19 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-19 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-24mdk
+
+2004-03-19 17:42 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update GNOME devel packages
+
+2004-03-19 17:16 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakboot: add Olivier Blin patches to
+ reread the previous configuration
+
+2004-03-19 17:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-19 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakvpn: disambiguated string
+
+2004-03-19 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: add hint for translators
+ (cooker-i18n request)
+
+2004-03-19 12:17 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated
+
+2004-03-19 10:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - fix _find_imgfile() - cleanup
+
+2004-03-19 10:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: devfs=mount is the default for
+ kernel 2.6 (what about 2.4 ?), so one need devfs=nomount when
+ devfsd is not installed
+
+2004-03-19 10:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: adapt to devfs (?) naming which
+ breaks compatibility (bugzilla #9029)
+
+2004-03-19 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: eagle-usb maintainers ask not
+ to fill dns by default because ppp will return better one through
+ peerdns option
+
+2004-03-19 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: dnsX were renamed as
+ dnsServerX+1 long time ago and are managed one step earlier
+
+2004-03-19 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: (switch) perl_checker fix
+
+2004-03-19 00:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated Filipino file
+
+2004-03-18 21:42 David Baudens <baudens at mandriva.com>
+
+ * perl-install/: Makefile.drakxtools, drakxtools.spec,
+ standalone/icons/localedrake-16.png,
+ standalone/icons/localedrake-32.png,
+ standalone/icons/localedrake-48.png: Add icons for localedrake
+ menu entry
+
+2004-03-18 19:01 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: move the DRIVER part from INSTALL to
+ SYSTEM fix speedtouch-mgm -> mgmt
+
+2004-03-18 18:37 Marco De Vitis <mdv at spin.it>
+
+ * perl-install/share/po/it.po: successivo -> avanti
+
+2004-03-18 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/drakups.png: use mdk icon for
+ drakups
+
+2004-03-18 17:26 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add kdegraphics-common in GRAPHICS
+ section
+
+2004-03-18 15:22 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix bad indentation
+
+2004-03-18 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: install alsa-utils if needed
+ (#6288)
+
+2004-03-18 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix obvious wrong lookup (at
+ install time, we must check installed root fs instead of /)
+
+2004-03-18 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: always offer to restart adsl
+ connections
+
+2004-03-18 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only warn about 2.4.x kernel
+ for bewan modem
+
+2004-03-18 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: new helper function may_set_icon that
+ takes care of missing wiz_default_up during install
+
+2004-03-18 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: not guessing a geometry when
+ default_ok is no big deal
+
+2004-03-18 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: only kill pppoa for sagem modem (eg
+ for bewan, we use pppoa plugin for ppp)
+
+2004-03-18 11:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: reput back drakups
+
+2004-03-18 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix bewan support by providing an
+ ad-how /etc/ppp/options
+
+2004-03-18 11:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kernel-2.4.x for pci modems
+ whose binary driver isn't ported on 2.6.x
+
+2004-03-18 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only warn about the fact we
+ need 2.4.x kernel when we're under 2.6.x
+
+2004-03-18 05:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Gnome Low-Saxon translations use "nds_DE",
+ putting it on LANGUAGE
+
+2004-03-17 22:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2004-03-17 20:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/mn.po: updated po files
+
+2004-03-17 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-24mdk
+
+2004-03-17 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: add "diskdrake
+ --change-geometry=<device>=[<cylinders>,]<heads>,<sectors>" to
+ allow forcing the geometry used in the partition table. This
+ allows helping poor Windows booting using old int13 function 2.
+ This should work when Windows has not been resized.
+
+2004-03-17 19:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: do not alter oss<->alsa drivers
+ mapping table (olivier blin, #8501)
+
+2004-03-17 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: When current driver doesn't
+ match current sound card (because sound card has been replaced
+ for example), draksound allows to choose the driver between
+ current driver and its alternatives, but does not propose default
+ driver and alternatives for current sound card. So available
+ drivers don't match current sound card (olivier blin, #8501)
+
+2004-03-17 18:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: fix dm restart
+
+2004-03-17 18:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: remove
+ /etc/asound.state *before* restarting sound service
+
+2004-03-17 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: enlarge steps window (no pb since
+ the window is invisible) (bugzilla #8985)
+
+2004-03-17 17:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: chinese names for countries
+
+2004-03-17 17:24 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: community install logo
+
+2004-03-17 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-17 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: roll-back bogus dadou commit
+
+2004-03-17 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix pci modem support: -
+ handle manually installed drivers - removed urpmi sources -
+ faster checking for driver presence
+
+2004-03-17 16:15 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers: Update
+
+2004-03-17 16:11 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: s/glade/glade2/
+
+2004-03-17 15:53 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers: Update
+
+2004-03-17 15:52 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix my mistake (forgot to cvs up
+ before commit)
+
+2004-03-17 15:48 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2004-03-17 15:37 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update advertising translations
+
+2004-03-17 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table/dos.pm,
+ partition_table/raw.pm: add
+ set_best_geometry_for_the_partition_table to use the hd geometry
+ instead of the physical geometry returned by the kernel (since
+ for now i can't have bios geometry on 2.6)
+
+2004-03-17 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: misc perl_checker cleanup
+
+2004-03-17 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove debug statements
+
+2004-03-17 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix no information for
+ drivers that do not support ethtool ioctl (eg: sk98lin): try to
+ match the device by interface name and driver name (won't work
+ for several cards managed by the same driver)
+
+2004-03-17 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm: - sector2CHS() now gives
+ sector number starting at 0 - CHS2rawCHS() takes care of giving
+ sector number starting at 1
+
+2004-03-17 12:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) if SIOCETHTOOL
+ ioctl is not supported by driver, try to lookup card by driver in
+ devices list (if there's only one physical card managed by this
+ driver)
+
+2004-03-17 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: use std banner
+
+2004-03-17 10:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, drakfont, drakups,
+ harddrake2, logdrake: use new $ugtk2::wm_icon for x11 icon
+
+2004-03-17 10:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_dialog) set x11 icon for dialogs
+ too
+
+2004-03-17 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) fix x11 icon for Gtk2::Plug
+
+2004-03-17 10:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_find_imgfile) prevent matching
+ subdirectory (eg: harddrake)
+
+2004-03-17 10:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: add agpgart modules to
+ modprobe.preload if needed
+
+2004-03-17 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: show module for system
+ bridges if it's not unknown (aka not managed by kernel core)
+
+2004-03-17 10:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: blacklist agp controllers
+ class (they're still visible in the bridges one)
+
+2004-03-17 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: split out agp controllers out of
+ bridges
+
+2004-03-17 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: do not pass eth interface and user
+ to adsl-start, they're already provided in pppoe.conf (#2004)
+
+2004-03-17 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix SmartLink modem managment
+ (#8959)
+
+2004-03-17 08:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update wanadoo dns according
+ to
+ http://www.wanadoo.fr/bin/frame2.cgi?u=http%3A//assistance.wanadoo.fr/reponse791.asp
+
+2004-03-17 01:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2004-03-17 00:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2004-03-16 21:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix typo
+
+2004-03-16 20:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - add $ugtk2::wm_icon (esp. for
+ park-rpmdrake) - cleanup, correct indentation
+
+2004-03-16 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: bewan support
+
+2004-03-16 17:36 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: cd.png, floppy.png,
+ harddisk.png, hw_mouse.png, hw_network.png, hw_printer.png,
+ ide_hd.png, joystick.png, memory.png, multimedia.png,
+ scanner.png, scsi_hd.png, sound.png, tv.png, unknown.png,
+ video.png: Update images
+
+2004-03-16 17:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/: lang-gn.png, lang-ky.png,
+ lang-nds.png, lang-ph.png, lang-tk.png: readding images in binary
+ mode
+
+2004-03-16 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/: lang-gn.png, lang-ky.png,
+ lang-nds.png, lang-ph.png, lang-tk.png: removed pixmaps to readd
+ them in binary mode
+
+2004-03-16 17:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed order of LANGUAGE value for
+ Filipino so monolingual windowmanagers can have translated menus
+
+2004-03-16 17:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-gn.png,
+ pixmaps/langs/lang-hy.png, pixmaps/langs/lang-ku.png,
+ pixmaps/langs/lang-ky.png, pixmaps/langs/lang-nds.png,
+ pixmaps/langs/lang-ph.png, pixmaps/langs/lang-tk.png,
+ pixmaps/langs/lang-tt.png: updated and added pictures for
+ language selection list. enabled choice for Filipino (we have
+ quite good translations), Low-Saxon and Kyrgyz.
+
+2004-03-16 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: fix server lookup (#8846)
+
+2004-03-16 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only show encapsulation
+ parameter for sagem modem
+
+2004-03-16 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) fix adsl stop
+ on pppoa links
+
+2004-03-16 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: preselect pppoa for bewan too
+
+2004-03-16 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make it clear these checks
+ are only for pci modems
+
+2004-03-16 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pci modem: only take care of
+ selected one
+
+2004-03-16 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: wireless-tools is listed twice!
+
+2004-03-16 15:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: speedtouch was listed two times in
+ the old days!
+
+2004-03-16 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install speedtouch firmware too
+
+2004-03-16 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: automatically install speedtouch for
+ Alcatel USB ADSL modems
+
+2004-03-16 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: automatically install eagle-usb for
+ sagem ADSL modems
+
+2004-03-16 15:34 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers.server: Add NETWORKING_FILE
+ support for PowerPackPlus
+
+2004-03-16 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) set x11 icon for non wizard tools
+
+2004-03-16 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) set default x11 icon
+
+2004-03-16 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (alert_config) fix wizard when
+ logdrake is embedded
+
+2004-03-16 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (alert_config) fix wizard on
+ second run
+
+2004-03-16 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (alert_config) make it a wizard
+ again (that is, with banner, "previous"/"next" buttons and the
+ like)
+
+2004-03-16 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (interactive_mode) better style
+
+2004-03-16 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (interactive_mode, dialog)
+ let's have nice icon in sub dialogs when embedded too
+
+2004-03-16 13:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (dialog) make subdialogs be
+ transcient for main window when not embedded
+
+2004-03-16 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, drakfont, drakups,
+ harddrake2, logdrake: set x11 ico
+
+2004-03-16 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/drakups.png: add drakups icon
+ "Copyright (C) 2004 MGE UPS SYSTEMS / Luc Descotils This graphic
+ is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or at
+ your option) any later version..."
+
+2004-03-16 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) do not offer
+ to alter domain name since this is achievable through FQDN
+
+2004-03-16 12:38 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: clean majors introduced into the CVS
+ by mistake
+
+2004-03-16 12:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: choose wether to use
+ supermount is now based on variable SUPERMOUNT in
+ /etc/sysconfig/dynamic
+
+2004-03-16 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: warn that we only support
+ kernel 2.4.x for pci modems
+
+2004-03-16 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove debug statement
+
+2004-03-16 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: install kernel-2.4.x for internal
+ ISDN devices
+
+2004-03-16 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: for ADSL Bewan and ISDN
+ modem, warn that only 2.4.x kernels are supported
+
+2004-03-16 10:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_configure) really fix modem
+ symlink (#7967)
+
+2004-03-16 01:46 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: transl.in progress
+
+2004-03-15 22:00 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Fix misnamed
+ inittab\$\$IP=xxx.xxx.xxx.xxx\$\$.
+
+2004-03-15 18:47 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Replace xsane by scanner-gui (allows
+ to install kooka or xsane)
+
+2004-03-15 18:40 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Readd Audacity (needs to be moved
+ from Contrib to Main; it should be installed by default for all
+ products)
+
+2004-03-15 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-15 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) enable to
+ alter hostname
+
+2004-03-15 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-23mdk
+
+2004-03-15 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) fix unlisted
+ first dns server
+
+2004-03-15 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: always write scripts like in
+ the old days but when there's no cnx
+
+2004-03-15 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix explanations in mcc that
+ got broken by #8412 speedup
+
+2004-03-15 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: skip "start on boot" step for
+ LAN (already managed by network scripts)
+
+2004-03-15 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fix
+
+2004-03-15 14:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: write ether conf later on QA
+ request
+
+2004-03-15 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not list anymore wireless
+ cards in LAN connection, only in wireless connections
+
+2004-03-15 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: orinoco_plx too is a wireless cards
+ driver
+
+2004-03-15 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: orinoco_pci is a wireless driver
+
+2004-03-15 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ADSL modems not listed
+ unless one try to manually pick a network card (#8611): prevent
+ module::interactive from offering to pick a module when there's
+ no network cards
+
+2004-03-15 12:03 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add ppp+ and ippp+ at the
+ interfaces list
+
+2004-03-15 12:01 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add ppp+ and ippp+ in the
+ interfaces list
+
+2004-03-15 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) fix
+ missing quotes around wireless encryption key (#8887)
+
+2004-03-15 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) do not try to
+ match a physical device when SIOCETHTOOL ioctl is not supported
+
+2004-03-15 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) fix spacing
+ around DNS/domainname settings table
+
+2004-03-15 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) write back
+ domain name and dns servers
+
+2004-03-15 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) fix
+ domainname reading
+
+2004-03-15 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) fix crash on
+ internet access dialog closing
+
+2004-03-15 10:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) update
+ connection status in background (#7800)
+
+2004-03-15 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: add --old option in order to
+ see old interface
+
+2004-03-15 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: make the ntpdate after
+ stopping the ntpd (manu@agat.net, #8141)
+
+2004-03-15 02:49 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-03-14 21:53 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Weekly Arabeyes' Arabic translation.
+
+2004-03-14 21:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cy.po, nn.po: updated Welsh and
+ Nynorsk files
+
+2004-03-14 18:54 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updating
+
+2004-03-14 11:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Farsi file
+
+2004-03-14 10:41 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: fully translated, was 10 fuzzy, 1
+ untranslated
+
+2004-03-13 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-03-13 16:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: Updated Welsh file
+
+2004-03-13 11:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Farsi file
+
+2004-03-13 09:09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation
+
+2004-03-13 04:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Let scannerdrake install
+ "scanner-gui" instead of "xsane", so that scanning GUI actually
+ used can be determined by the system environment.
+
+2004-03-13 04:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/: printerdrake, scannerdrake:
+ "MandrakeSoft" -> "Mandrakesoft", "Mandrake" -> "Mandrakelinux".
+
+2004-03-13 03:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Let printerdrake install
+ "scanner-gui" instead of "xsane" when it sets up an HP
+ multi-function device. "MandrakeSoft" -> "Mandrakesoft",
+ "Mandrake" -> "Mandrakelinux".
+
+2004-03-13 02:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uz.po, uz@Latn.po: updated Uzbek files
+
+2004-03-13 00:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, be.po, bg.po, br.po, ca.po, el.po,
+ eo.po, es.po, eu.po, ga.po, gl.po, he.po, hr.po, hu.po, id.po,
+ is.po, ko.po, lt.po, ltg.po, lv.po, mn.po, ms.po, mt.po, nn.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, ta.po, th.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, zh_CN.po, zh_TW.po: merged some strings from
+ mcc
+
+2004-03-12 22:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: small correction
+
+2004-03-12 19:51 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated
+
+2004-03-12 19:06 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update for PowerPackPlus
+
+2004-03-12 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: eagle was renamed as eagle-usb
+
+2004-03-12 17:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-03-12 16:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: improved previous change
+
+2004-03-12 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_notebook) default
+ protocol is dhcp (eg for unconfigured interfaces), thus
+ preventing ip checks faillure on protocol change on other network
+ interfaces
+
+2004-03-12 15:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: always define KDM fonts dependending on
+ encoding (fix for bug #8714)
+
+2004-03-12 14:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (apply) do not write IPADDR,
+ NETMASK and NETWORK fields in ifcfg-ethX when using DHCP
+
+2004-03-12 14:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (apply) factorize interface
+ hash
+
+2004-03-12 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (apply) fix crash
+ (is_dynamic_ip expect a hash of network interaces, not a single
+ interface)
+
+2004-03-12 12:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) kill useless
+ code
+
+2004-03-12 12:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-03-12 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: provide a nice way to go back
+ to summary when interface is already configured (#8002)
+
+2004-03-12 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix buttons so that they're
+ labeled as cancel/ok instead of previous/next when warning in
+ network installations
+
+2004-03-12 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) fix layout
+ by using a table
+
+2004-03-12 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove a few more parameters
+
+2004-03-12 10:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) get rid of
+ mask now we've cleaned up parameters
+
+2004-03-12 10:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: only show dns from
+ resolv.conf for now
+
+2004-03-12 10:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) remove some
+ parameters according to specs
+
+2004-03-12 10:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) sanitize
+ buttons layout (#8637)
+
+2004-03-12 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (advanced_install) "Install"
+ button is sensitive only if there're some fonts in the font list
+
+2004-03-12 09:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-22mdk
+
+2004-03-12 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix writing drakconnect
+ config file at install time (#7478)
+
+2004-03-12 08:23 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed audacity (in contrib)
+
+2004-03-11 19:35 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Install extra packages when
+ using wizard too. Key transfer in GUI wasn't reporting errors.
+
+2004-03-11 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: list yes/no for autologin in a
+ more intuitive way, that is yes is grouped with user and wm pull
+ down menus (robert.vojta@qcm.cz, anthill #390)
+
+2004-03-11 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix installing locales-XX for
+ lang=nb which needs locales-no (one needs to use provides)
+
+2004-03-11 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: use pkgs::packagesProviding()
+
+2004-03-11 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: nice fix for
+ installing locales-XX corresponding the chosen country (using
+ packagesProviding())
+
+2004-03-11 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: - add function packagesProviding() - use it
+
+2004-03-11 16:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - always generate a precise entry
+ using the precise version - remove the linux-2.4 or linux-2.6
+ entries which don't work together with the precise version entry
+ - still have the "linux" entry
+
+2004-03-11 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: tentatively fix lilo with lvm on /
+
+2004-03-11 15:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated Filipino file
+
+2004-03-11 14:03 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add some tests for the
+ REDIRECT squid rules
+
+2004-03-11 14:00 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix the disable, enable functions
+
+2004-03-11 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: remove debug statement
+
+2004-03-11 12:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: workaround code trying
+ to install locales-nb (bugzilla #8287)
+
+2004-03-11 12:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: disallow lvm on / with no /boot until
+ lilo handles it
+
+2004-03-11 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: catch cdie's in auto_install
+
+2004-03-11 12:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: fix previous button on first
+ step (robert.vojta@qcm.cz, anthill #387)
+
+2004-03-11 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (text_append) fix second run
+ (on next filling, we shall not create tags with name of existing
+ ones)
+
+2004-03-11 12:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (parse_file) fix search :-)
+
+2004-03-11 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix previous button on first step
+ (robert.vojta@qcm.cz, anthill #386)
+
+2004-03-11 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (log_output) take a color and a
+ font as parameters now
+
+ (log_output__real) splited from log_output(), insert text into
+ textview at once
+
+ (*) use new framework to speedup (#8412)
+
+2004-03-11 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (text_append) introduce it,
+ forked from gtktext_insert()
+
+ unlike the later, it create named tags, thus reducing tagtable
+ size from 30000+ tags to 10-20, thus speedup logdrake in quite a
+ big way.
+
+ it should probably replace gtktext_insert in mdk10.1 since all
+ gtktext_insert users really have quite a few tags (eg: 1 for
+ harddrake2 and rpmdrake)
+
+2004-03-11 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtktext_insert) if we want anonymous
+ tags, just create anonymous tags instead of creating fake tag
+ names that we just discard after (rand is not guarranted to not
+ return the same number twice...)
+
+2004-03-11 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix in strict mode
+
+2004-03-11 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (parse_file) speed up it by 20%
+ (#8412) but logcolorize is the top one in profiles
+
+2004-03-11 09:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: workaround anthil bug #369
+
+2004-03-11 08:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * mdk-stage1/probing.c: fix eth[67] detection (gc)
+
+2004-03-11 00:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-10 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, crypto.pm, help.pm,
+ install_interactive.pm, install_messages.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ install_steps_newt.pm, network/drakfirewall.pm,
+ network/netconnect.pm, printer/printerdrake.pm,
+ share/advertising/dis-01.pl, share/advertising/dis-10.pl,
+ share/advertising/dwd-01.pl, share/advertising/dwd-02.pl,
+ share/advertising/dwd-03.pl, share/advertising/dwd-04.pl,
+ share/advertising/dwd-05.pl, share/advertising/dwd-07.pl,
+ share/advertising/dwd-09.pl, share/advertising/ppp-01.pl,
+ share/advertising/ppp-02.pl, share/advertising/ppp-03.pl,
+ share/advertising/ppp-04.pl, share/advertising/ppp-10.pl,
+ share/advertising/pwp-01.pl, share/advertising/pwp-03.pl,
+ share/advertising/pwp-04.pl, share/advertising/pwp-09.pl,
+ standalone/printerdrake, standalone/scannerdrake: spell
+ Mandrakelinux in one word
+
+2004-03-10 19:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, help-de.pot, help-es.pot, help-fr.pot, help-it.pot,
+ help-ru.pot, help-zh_CN.pot, hi.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po,
+ mt.po, nb.po, nl.po, nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tl.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_TW.po: spell Mandrakelinux in one word
+
+2004-03-10 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: (row_setting_dialog) sanitize
+ spacing in frames
+
+2004-03-10 18:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: list jp106 keyboard as latin only to
+ avoid the misleading screen about language switching (japanese
+ input doesn't use that method)
+
+2004-03-10 16:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-03-10 16:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: Updated Filipino file
+
+2004-03-10 16:06 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix the 8669 bug
+
+2004-03-10 14:55 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-03-10 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * mdk-stage1/probing.c: (get_net_devices) increase max number of
+ detectable net cards from 6 to 10
+
+2004-03-09 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: respect upcase letters
+
+2004-03-09 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix isdn config step
+
+2004-03-09 18:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: really, really fix ISDN cards
+ detection :-(
+
+2004-03-09 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: really adapt to new
+ network::isdn::isdn_detect_backend() API
+
+2004-03-09 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (read_providers_backend) add
+ prototype in order to please lord perl_checker
+
+2004-03-09 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: isdn config step: enable to
+ alter defined but empty fields
+
+2004-03-09 17:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix parameters reading/writin
+ in isdn config step: take parameters from isdn data structure,
+ not cnx one
+
+2004-03-09 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix isdn config step by using
+ runtime references
+
+2004-03-09 17:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: special case to handle imm & ppa on
+ kernel 2.6: - need parport_pc - modules insmod always succeed, so
+ need to check /proc/sys/dev/parport/parport0/devices/{imm,ppa}
+
+2004-03-09 16:50 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Reverse trivial translation
+ typo. Change the_time() usage.
+
+2004-03-09 16:28 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Made more clear choices in
+ the first-time dialog of printerdrake.
+
+2004-03-09 16:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix breakage introduced in
+ config rewrite. All wizard methods should end at config summary.
+
+2004-03-09 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: keyboard::load() causes some errors on
+ kernel 2.4, ignoring them
+
+2004-03-09 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix crash in wizard (#8654)
+ (setVarsInSh use output instead of output_p...)
+
+2004-03-09 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: catch exception (bugzilla #8726)
+
+2004-03-09 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: (the_time) simplify
+
+2004-03-09 14:02 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-03-09 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix boot_conf_path usage
+
+2004-03-09 11:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: rename thm_conf_path as
+ boot_conf_path to prevent confusion with thm_path
+
+2004-03-09 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (write_boot_thm) simplify
+ through mkdir_p()
+
+2004-03-09 10:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: misc perl_checker cleanups
+
+2004-03-09 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix config file path
+ (directory is now named config, not cfg)
+
+2004-03-09 02:01 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Support for plain tar. Deal
+ with mixture of formats on restore. (#8676) Fix issue with first
+ incremental pass not using base as comparison. Rework most file
+ selections to use the same sub, drop other subs.
+
+2004-03-08 22:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-08 18:12 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix to prevent saving host
+ passwd when user requests not to (#8700).
+
+2004-03-08 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix typo
+
+2004-03-08 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: in
+ generate_automatic_stage1_params(): - handle FTP via HTTP proxy
+ (bugzilla #8699) - cleanup using a different data-structure
+
+2004-03-08 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: a missing module is now an error, that
+ way it won't be in scsi_hostadapters. In load_category(),
+ exception is caught, so no pb when using load_category(). But
+ beware, this may break!
+
+2004-03-08 16:12 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - update check() for 2.6 - categorize missing
+ modules - cleanup
+
+2004-03-08 15:54 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: UI coherency (#8675).
+
+2004-03-08 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, network/netconnect.pm: rename
+ ensure_is_installed_if_availlable( as
+ ensure_is_installed_if_available()
+
+2004-03-08 15:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix some missing
+ configuration options (#8654).
+
+2004-03-08 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install unicorn package for
+ bewan modems
+
+2004-03-08 14:47 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Doing a sync with Arabeyes.org's
+ CVS...
+
+ There should be no stat differences anymore.
+
+2004-03-08 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix variable interpolation in
+ strings
+
+2004-03-08 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: /proc/partitions parsing was broken for
+ scsi cdroms using non-devfs names, and our 2.6 doesn't use devfs
+ names in /proc/partitions... :'-( (bugzilla #8641)
+
+2004-03-08 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: nicer debug error message
+
+2004-03-08 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::WrappedLabel::new) fix unusing
+ label
+
+2004-03-08 11:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getBewan) fix bewan modem
+ detection
+
+2004-03-08 10:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (make_boot_frame) fix crash
+ on color switch
+
+2004-03-08 10:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (mk_frame) - workaround
+ horrible packing by using a table instead of a vbox - do packing
+ of resulted table outside mk_frame() which is much saner
+
+2004-03-08 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix spacing around commas
+ (sanitizing)
+
+2004-03-08 10:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: gc prefers "obj->method"
+ rather than "method obj" call style
+
+2004-03-08 10:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: use option menu for
+ resolutions list
+
+2004-03-08 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (mk_frame) enable to use
+ either combo boxes or option menus for lists
+
+2004-03-08 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (mk_frame) fix combo boxes
+ filling
+
+2004-03-08 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (which_res_exist)
+ unjonathan-ize
+
+2004-03-08 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) only redraw
+ needed part, not whole image
+
+2004-03-08 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) fix crash on
+ image drawing
+
+2004-03-08 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (show_prev) fix crash on
+ image scaling
+
+2004-03-08 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: fix crash on "preview" button
+
+2004-03-08 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: (get_this_thm_res_conf) add
+ prototype to help perl_checker
+
+2004-03-08 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: kill unused variables
+
+2004-03-08 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: kill perl4 function call
+ style
+
+2004-03-08 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: misc perl_checker cleanups
+
+2004-03-08 10:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix missing upercase first letter
+
+2004-03-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: isdn_read_config()
+ alter its argument, thus there's no need in returning it (which
+ may induce developer in error by believing argument is not
+ overwritten...)
+
+ standalone drakconnect already discard returned value anyway...
+
+2004-03-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: kill isdn_get_info() and
+ isdn_get_list() (they were unused since quite a few releases :-()
+
+2004-03-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_get_cards) introduce it to
+ build a tree bus|card for isdn wizard
+
+2004-03-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (get_info_providers_backend)
+ prevent faillure as soon as translaters catch up
+
+2004-03-08 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: export isdn_read_config()
+
+2004-03-08 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: kill isdn_ask(), isdn_ask_info()
+ and isdn_ask_protocol() since they were merged into wizard (aka
+ ported to new wizard layer)
+
+2004-03-08 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: port old ISDN wizard upon new
+ wizard layer
+
+2004-03-08 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: - add "|" separator - remove
+ bus from description (the user has already selected the bus type)
+
+2004-03-08 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_get_cards_by_type) splited
+ out of old isdn_ask() func
+
+2004-03-08 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (get_info_providers_backend) drop
+ file argument and do ISDN db lookup in place
+
+2004-03-08 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, tools.pm:
+ (read_providers_backend) move it from network::tools to
+ network::isdn
+
+2004-03-08 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: be
+ aware of string change due to bewan support
+
+2004-03-08 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: adapt to new
+ network::isdn::isdn_detect_backend() API
+
+2004-03-08 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_detect_backend) enhance
+ detection: just return a list of devices
+
+2004-03-08 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix first_modem() call
+
+2004-03-08 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: indent
+
+2004-03-08 09:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify speedtouch firmware
+ installation through newly introduced
+ do_pkg::ensure_is_installed_if_availlable()
+
+2004-03-08 09:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/do_pkgs.pm: (ensure_is_installed_if_availlable)
+ introduce it in order to check if we need to install a package,
+ then install it if it's availlable (eg: for binary drivers not
+ availlable in download edition)
+
+2004-03-08 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: wizard: be aware of bewan
+ modems detection
+
+2004-03-08 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) detect bewan ADSL
+ modems
+
+2004-03-08 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: center labels like before
+
+2004-03-08 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::WrappedLabel::new) enable to alter
+ default alignment
+
+2004-03-08 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-03-08 09:31 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-03-07 22:27 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/ftw/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-03-07 14:53 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: finnish translations at 100%
+ again...
+
+2004-03-07 12:58 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-03-07 11:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated po file
+
+2004-03-07 05:56 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation of the week...
+
+2004-03-06 15:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-06 06:06 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-03-05 13:05 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-03-05 11:20 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-03-05 10:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: replacing automatic=method:disk with
+ $param instead of adding $param (since $param already contains
+ automatic=met:disk)
+
+2004-03-05 10:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: no entry in fstab for zips (now cleanly done
+ by hotplug)
+
+2004-03-05 10:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix warning
+
+2004-03-05 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (write_resolv_conf) only remove
+ /etc/resolv.conf if it's really a link (prevent no resolv.conf
+ rewriting when it was empty eg b/c link was dead)
+
+2004-03-05 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ share/po/ar.po, standalone/drakTermServ, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hi.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/lt.po,
+ share/po/ltg.po, share/po/lv.po, share/po/mk.po, share/po/mn.po,
+ share/po/ms.po, share/po/mt.po, share/po/nb.po, share/po/nl.po,
+ share/po/nn.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tl.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: typo fix
+
+2004-03-05 04:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: cups.pm, printerdrake.pm: Let URIs listed
+ by "lpinfo -v" be shown in the dialog for entering a URI
+ manually.
+
+2004-03-04 23:42 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2004-03-04 23:25 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates
+ gi/perl-install/share/po/da.po
+
+2004-03-04 22:07 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates
+ gi/perl-install/share/po/da.po
+
+2004-03-04 21:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, et.po, nn.po: updated Estonian
+ file
+
+2004-03-04 20:24 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Unfuzzying
+
+2004-03-04 18:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-03-04 17:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated po file
+
+2004-03-04 17:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: (wait_msg) show up some
+ translated title
+
+2004-03-04 15:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-04 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: enable exception managment even at install
+ time (installer set $::no_ugtk_init)
+
+2004-03-04 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix crash on modem
+ configuration in installer (standalone drakconnect didn't had the
+ bug because it has already loaded the network::modem package at
+ this stage)
+
+2004-03-04 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: oops, fix commit
+
+2004-03-04 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: fix & cleanup generating replay &
+ auto_install images (thanks to David Eastcott)
+
+2004-03-04 13:55 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/init.c: unmounting /sys is not needed (useful to have
+ one less line displayed after "unmounting filesystems...")
+
+2004-03-04 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: reput back strict pragma
+
+2004-03-04 12:03 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: use the name of the network
+ interface instead of the label
+
+2004-03-04 11:50 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: remove an obsolete comparison
+ in the read function
+
+2004-03-04 11:43 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: really enable the proxy squid,
+ fix the proxy REDIRECT shorewall rule, fis the shorewall
+ interfaces configuration
+
+2004-03-04 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: list network card name rather
+ than just ethX in device list
+
+2004-03-04 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (hasNetwork) do not refuse to up
+ the network when in dhcp (bad oem patch)
+
+2004-03-04 01:29 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-03-04 01:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Don't destroy "fat" client
+ inittab.
+
+2004-03-04 00:48 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Default kernel version, add
+ gdm user if needed, autologin warning. Copy server X keyboard
+ config to client. Default thin client setup. Change banner
+ method as other drak tools.
+
+2004-03-04 00:23 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-03-03 20:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: 2 entries
+
+2004-03-03 18:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, is.po, nn.po: updated pot files
+
+2004-03-03 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-21mdk
+
+2004-03-03 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add vpi/vci parameters for
+ australia ISPs (#5056)
+
+2004-03-03 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: move set_loop() from formatMount_part to
+ real_format_part to fix Format with encrypted files/devices
+
+2004-03-03 15:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, fs.pm: one now need cryptoloop and aes
+ when using encryption (kernel 2.6)
+
+2004-03-03 14:32 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: remove sata_sil (broken in kernel)
+
+2004-03-03 14:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-20mdk
+
+2004-03-03 13:30 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add sata_sil (bugzilla #8579)
+
+2004-03-03 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: mount /sys in case it is useful (and it
+ is for get_usb_storage_info_26())
+
+2004-03-03 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: sysfs now exists!
+
+2004-03-03 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix get_usb_storage_info() on
+ kernel 2.6
+
+2004-03-03 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: -
+ device_name_to_entry() will not fail anymore so that removing a
+ device works - log calls to drakupdate_fstab - use "find" instead
+ of "grep" where possible
+
+2004-03-03 10:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/crypto.pm: - community updates are not in a
+ per-version directory either - cooker & community urls do contain
+ .../RPMS at the end whereas updates directory do not, handle this
+
+2004-03-03 10:09 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: tell to have a look at
+ http://qa.mandrakesoft.com/hd_grub.cgi
+
+2004-03-03 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: hide dns settings by default
+ when using dhcp
+
+2004-03-03 01:48 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Use preferred conf file
+ read/write method. More code reduction/cleaning.
+
+2004-03-03 01:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: If an HP multi-function
+ device was configured manually, extract the model name from the
+ HPOJ device entry name.
+
+2004-03-03 01:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Let HPOJ device entry be created
+ with the correct printer model name.
+
+2004-03-03 00:53 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed HPOJ configuration when
+ manually setting up a device.
+
+2004-03-02 21:54 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2004-03-02 20:13 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed lib in PRINTER automatically
+ included via dependencies add major to libsnmp and libsane-hpoj
+ because there are not required by any packages and clean_rpmsrate
+ does not update lib only (only -devel)
+
+2004-03-02 18:28 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: updating
+
+2004-03-02 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-19mdk: last but not least
+
+2004-03-02 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__general) fix wizard title
+ now that drakboot --boot is a wizard like tool
+
+2004-03-02 16:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Sometimes option default
+ settings in the printer options dialog were missing (e. g.
+ "Dithering Pixels Per Inch" in "pcl3" driver). Fixed.
+
+2004-03-02 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: bump version number
+
+2004-03-02 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: fix doble ISDN detection (#6535)
+
+2004-03-02 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, standalone/drakboot: drakboot --boot is
+ now a wizard
+
+2004-03-02 16:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/crypto.pm: cooker updates are not in a per-version
+ directory
+
+2004-03-02 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-19mdk
+
+2004-03-02 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: small fix when clicking on an
+ empty tree (when allow_empty_list)
+
+2004-03-02 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: type "ext2:vfat" must not
+ be the same as 0
+
+2004-03-02 15:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: fix modem symlink (#7967)
+
+2004-03-02 15:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-03-02 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-18mdk
+
+2004-03-02 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-03-02 14:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-02 14:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (read) default to lilo if grub config
+ file isn't there (workaround buggy detectloader only checking
+ MBR)
+
+2004-03-02 14:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sync dhcp client with ifup
+ one
+
+2004-03-02 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: preselect first availlable
+ dhcp client
+
+2004-03-02 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: bugzilla #8133 says "VT8751
+ [ProSavageDDR P4M266] VGA Controller" (0x5333, 0x8d04) has no pb
+ with graphical lilo. So only keeping the restriction for (0x5333,
+ 0x8d03), hoping that's what fpons wanted.
+
+2004-03-02 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: stricter pci modem matching
+ (purely cosmetic but sanity is always good)
+
+2004-03-02 14:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/shorewall.pm: rewrote string to avoid
+ duplication
+
+2004-03-02 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix pci modem type matching
+
+2004-03-02 13:56 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: Finnish tranlsation 100% again
+
+2004-03-02 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: better error message on exceptions
+
+2004-03-02 13:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tl.po: updated Filipino file
+
+2004-03-02 12:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2004-03-02 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: if the default bootloader entry is
+ invalid, choose another one
+
+2004-03-02 11:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix potential error
+
+2004-03-02 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/list: add SecurityPolicy to
+ remove "error opening security policy file" warning
+
+2004-03-02 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-17mdk
+
+2004-03-02 09:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: fix wizard icon
+
+2004-03-02 09:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix icon name change
+
+2004-03-02 01:36 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation by
+ Reinout van Schouwen <reinout@cs.vu.nl>
+
+2004-03-01 20:56 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation
+
+2004-03-01 20:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, nn.po, uz.po, uz@Latn.po: updated
+ Norwegian and Uzbek files
+
+2004-03-01 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-16mdk
+
+2004-03-01 15:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed bug #8483: No
+ "ptal:/..." in manual device URI list.
+
+2004-03-01 15:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: Fixed bug
+ #7242: Firmware was not found by "gt68xx" SANE backend.
+
+2004-03-01 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove existing xxx=ide-scsi on
+ upgrades
+
+2004-03-01 15:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/gimp.pm: Do not configure the GIMP-Print
+ plug-in on more than 50 users (bug #6423).
+
+2004-03-01 14:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: (upNetwork) log up try and
+ faillures
+
+2004-03-01 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: fix typo
+
+2004-03-01 14:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed bug of installer crashing
+ when an HP multi-function device is detected and set up.
+
+2004-03-01 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getBewan) fix detection
+
+2004-03-01 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: perl_checker cleanups
+
+2004-03-01 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use "default.png" instead of (missing)
+ "man.png" which resulted to defaulting to parrot (ic-bird.png)
+
+2004-03-01 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: isdn.png,
+ keyboard.png, modem.png, tape.png, webcam.png: update
+
+2004-03-01 12:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix bootproto filling
+ (#8498)
+
+2004-03-01 11:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: simplify
+
+2004-03-01 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: crypto.pm, install_steps_interactive.pm: do not
+ use $o in crypto.pm, pass {distro_type} to mirrors() and
+ bestMirror() instead
+
+2004-03-01 11:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2004-03-01 10:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: we don't need .pod files during install
+ (but why aren't glib & gtk files not listed in share/list ??)
+
+2004-03-01 10:40 Pixel <pixel at mandriva.com>
+
+ * rescue/list, tools/Makefile: adapt to perl packages rebuilt
+
+2004-03-01 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-15mdk
+
+2004-03-01 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-03-01 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-03-01 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: sanitize main explanation text
+ (resizable, weight, margin, ...)
+
+2004-03-01 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: prevent pull-down menus to fill
+ availlable space in packtables
+
+2004-03-01 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: wrap and left align main options
+ labels
+
+2004-03-01 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: do not left align main
+ explanation text
+
+2004-03-01 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable) wrap labels by default
+
+2004-03-01 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::WrappedLabel::new) left align
+ labels by default
+
+2004-03-01 09:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do not crash when
+ detector failled (eg: when mouse detection failled because of
+ unhandled exception on module exception b/c of unresolved
+ symbolds b/c of gcc-3.4)
+
+2004-03-01 08:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix item description (#8507)
+
+2004-03-01 04:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Removed spurious quotes ('"') from
+ HPOJ config file.
+
+2004-03-01 04:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Support for new HP
+ multi-function devices and for special needs of Lexmark X125
+ printer.
+
+2004-03-01 00:05 Reinout van Schouwen <reinout at cs.vu.nl>
+
+ * perl-install/share/po/nl.po: Updated Dutch (nl) translation
+ (small change to test)
+
+2004-02-29 23:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-02-29 21:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated po file
+
+2004-02-29 14:23 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation for the past week :-)
+
+2004-02-29 01:32 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2004-02-28 20:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hi.po: updated Hindi po file
+
+2004-02-28 18:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po: updated Bosnian file
+
+2004-02-28 15:59 Guillaume Cottenceau
+
+ * perl-install/lang.pm: load_mo: first perform a lookup on mo's for
+ all possible langs, will prevent from downloading each time
+ another time the mo file (fr_FR comes first, is not here,
+ everything including fr gets removed, fr_FR is non-existent, and
+ then fr is downloaded again)
+
+2004-02-28 15:36 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: add a few more inodes to the second
+ stage ramdisk, got bitten by a sucking no space left on device :/
+ will also print available inodes when creating ramdisk so that we
+ can see if our computing was quite good
+
+2004-02-28 15:29 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: log reason why getAndSaveFile can't
+ opening dest file for writing
+
+2004-02-28 13:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, tl.po: Updated Italian and
+ Filipino files
+
+2004-02-28 12:04 Guillaume Cottenceau
+
+ * perl-install/share/list: rpmtools and perl-URPM have been rebuilt
+ for perl 5.8.3
+
+2004-02-27 22:26 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: fully translated again...
+
+2004-02-27 20:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-02-27 19:55 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Try to have some find of better
+ handling for PRINTER flag
+
+2004-02-27 19:17 Warly <warly at mandriva.com>
+
+ * perl-install/crypto.pm: add $o in global vars.
+
+2004-02-27 18:34 Warly <warly at mandriva.com>
+
+ * perl-install/: crypto.pm, install2.pm: add distro_type variable
+ to select correct updates mirror type
+
+2004-02-27 18:17 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: unfuzzying
+
+2004-02-27 17:17 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-27 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: sync
+
+2004-02-27 16:48 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/: drakfirewall.pm, shorewall.pm: remove the
+ masq zone and add policies, rules only if there is an interface
+ in loc
+
+2004-02-27 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: note that isdn configuration
+ has not yet be ported upon new wizard layer
+
+2004-02-27 16:00 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c: when in automatic=disk mode but no partition
+ is given, fall back on non automatic mode evidently
+
+2004-02-27 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-14mdk
+
+2004-02-27 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: (in_ifconfig) better check
+ ifconfig is executable before running it (-e is not enough)
+
+2004-02-27 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix crash when modem was not
+ found
+
+2004-02-27 15:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: a few new translated strings
+
+2004-02-27 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: translate some fields
+
+2004-02-27 14:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-02-27 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-27 14:10 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: fully translated again
+
+2004-02-27 14:05 David Baudens <baudens at mandriva.com>
+
+ * perl-install/: pixmaps/about-printerdrake.png, pixmaps/about.png,
+ standalone/printerdrake: Better layout for PrinterDrake about
+ dialog box
+
+2004-02-27 12:44 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-27 12:17 David Baudens <baudens at mandriva.com>
+
+ * perl-install/pixmaps/refresh.png: Udpate icon to not display a
+ cuted icon
+
+2004-02-27 11:58 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-27 11:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, et.po: updated Afrikaans and
+ Estonian files
+
+2004-02-27 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (set_back_pixmap) export it
+
+2004-02-27 02:24 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix tape backup/restore
+ (#8284)
+
+2004-02-27 01:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tl.po, tr.po,
+ uk.po, uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated po files
+
+2004-02-26 21:10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation
+
+2004-02-26 19:24 Warly <warly at mandriva.com>
+
+ * perl-install/pkgs.pm: We need the PRINTER flag
+
+2004-02-26 17:38 Guillaume Cottenceau
+
+ * perl-install/: install_any.pm, standalone/drakautoinst: support
+ two-floppies boot style for replay_install disk as well (not nice
+ at all..)
+
+2004-02-26 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: remove bogus empty line
+
+2004-02-26 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update 10-13mdk changelog
+
+2004-02-26 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-13mdk
+
+2004-02-26 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - never delete up/down
+ scripts - only write internet service if start at boot requested
+
+2004-02-26 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner::new) add o_otions ref hash
+ parameter, thus enabling to override text position (eg: for mcc
+ about dialog)
+
+2004-02-26 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (set_back_pixmap) split it out of
+ Gtk2::Banner::set_pixmap
+
+2004-02-26 15:42 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: hd.img doesn't exist anymore, using
+ hd_grub.img
+
+2004-02-26 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner::new) create only *one*
+ expose event handler
+
+2004-02-26 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner::set_pixmap) stop expose
+ event propagation so that shadows do not accumulate (thus
+ resulting in darker alpha-channel)
+
+2004-02-26 12:08 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: ask_browse_tree_info_given_widgets: allow
+ for an initial selection if necessary (through toggle_nodes)
+
+2004-02-26 11:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-12mdk
+
+2004-02-26 11:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, tl.po: Added Filipino file;
+ updated Hebrew file
+
+2004-02-26 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) install needed
+ packages
+
+2004-02-26 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: skip apply_setting step for
+ now since anyway we've already written most config files... (btw,
+ now installer also write cnx type as side effect)
+
+2004-02-26 10:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: reverse debug stuff that
+ should never have been commited
+
+2004-02-26 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix: only write ether
+ config for lan...
+
+2004-02-26 04:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, main.pm: Fixes for HPOJ setup
+ during installation.
+
+2004-02-26 00:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: defined GTK_IM_MODULE values for CJK
+ languages; so xim is used by default for languages for which we
+ don't ship good enough native gtk2 input methods.
+
+2004-02-25 22:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Really filter symlinked
+ kernels. nohup the dm restart.
+
+2004-02-25 21:15 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Don't let any kernel
+ symlinks be visible for making NBIs.
+
+2004-02-25 20:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Use ATAPI:/dev/hdX for both
+ 2.4/2.6 compatibility.
+
+2004-02-25 18:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: (harddrake-ui package) requires
+ sane-backends so that scanner detection works smoothly (#8305)
+
+2004-02-25 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-11mdk
+
+2004-02-25 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: when sound card is
+ added/removed, delete current sound levels so that sound service
+ reset it to sg sane
+
+2004-02-25 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: look at sound cards changes on
+ bootstrapping
+
+2004-02-25 17:07 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers.server: compssUsers for 10.0
+ PowerPackPlus
+
+2004-02-25 16:59 Guillaume Cottenceau
+
+ * mdk-stage1/rescue-gui.c: give us more chance to get bootloader
+ write actually commited to disk before reboot
+
+2004-02-25 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2004-02-25 16:24 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/: compssUsers, compssUsers.powerpack: Don't
+ install Webmin by default in Download and PowerPack
+
+2004-02-25 15:51 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers.powerpack: compssUsers for 10.0
+ PowerPack
+
+2004-02-25 15:35 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/disk.c: Patch from gc to allow booting a MandrakeMove
+ on a Harddrive using the automatic settings.
+
+2004-02-25 15:33 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers: compssUsers for 10.0 Download
+
+2004-02-25 13:00 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-25 10:26 Warly <warly at mandriva.com>
+
+ * perl-install/pkgs.pm: revert my suckinessed / added to prefix
+
+2004-02-25 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/data.pm: handle
+ webcams managed by pwc driver
+
+2004-02-25 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-10mdk
+
+2004-02-25 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-25 04:41 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-25 01:11 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix forgotten $::prefix
+ (could I say typo fix ?)
+
+2004-02-25 01:09 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: - allow writting to another kppprc
+ file - replace new kppp option values
+
+2004-02-25 01:07 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - RTC Modem page shown and
+ pretty okayish - use '/root/.kde/share/config/kppprc' for any
+ local change
+
+2004-02-25 00:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Rework CD recording for ATA
+ device setup.
+
+2004-02-24 22:26 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: some more unfuzzyin
+
+2004-02-24 22:00 Thomas Backlund <tmb at mandrake.org>
+
+ * perl-install/share/po/fi.po: 100% translated, was 54 fuzzy, 49
+ untranslated
+
+2004-02-24 21:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-02-24 20:46 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, compssUsers.desktop,
+ compssUsers.server, rpmsrate: Separate printing-related packages
+ from INSTALL to create a new separated PRINTER group and
+ pre-select them if OFFICE compssUser group is selected
+
+2004-02-24 20:40 Warly <warly at mandriva.com>
+
+ * perl-install/pkgs.pm: add PRINTER alongside with INSTALL not to
+ duplicate printer related packages into OFFICE
+
+2004-02-24 19:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-02-24 19:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2004-02-24 19:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-9mdk
+
+2004-02-24 19:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-8mdk
+
+2004-02-24 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) alter both
+ /etc/analog/adiusbadsl.conf and /etc/eagle-usb/eagle-usb.conf too
+ when configuring sagemXXX
+
+2004-02-24 18:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, ltg.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ nn.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po,
+ uz.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot
+ file; added Latgalian file
+
+2004-02-24 18:19 Warly <warly at mandriva.com>
+
+ * isolinux-graphic-simple.bmp, make_boot_img: add new simpler
+ isolinux image for floppy change make_boot_image to update floppy
+ boot.msg at make time
+
+2004-02-24 16:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-24 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: merge in typo fixes
+ from tille
+
+2004-02-24 15:17 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation
+
+2004-02-24 15:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/printerdrake.pm, standalone/scannerdrake:
+ UI text fixes.
+
+2004-02-24 14:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: set default protocol to
+ pppoa for various ISPs
+
+2004-02-24 14:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: update 9telecom entry (Benot
+ Audouard)
+
+2004-02-24 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add encapsulation method for
+ tiscali 512k offer in france
+
+2004-02-24 14:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2004-02-24 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix wrongly inverted
+ encapsulation methods for free isp cnx offers
+
+2004-02-24 14:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: use spanish caracters in
+ spanish isp name (Benot Audouard)
+
+2004-02-24 14:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix url (Benoît Audouard)
+
+2004-02-24 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: typo fix
+
+2004-02-24 14:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ms.po: updated Malay file
+
+2004-02-24 14:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2004-02-24 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix module lookup for pcmcia
+ cards
+
+2004-02-24 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: typo fix (fcrozat)
+
+2004-02-24 11:57 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo
+
+2004-02-24 11:50 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typos
+
+2004-02-24 04:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: mknbi-set always wants a
+ kernel version now.
+
+2004-02-24 03:36 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Deal with conflicts with
+ msec > 3 and exporting / (use no_root_squash). Always pass a
+ kernel to mkinitrd-net. (Both part of #8216) Add --restart option
+ for terminal-server.
+
+2004-02-24 03:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Ask user before installing
+ packages.
+
+2004-02-24 03:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Give clear warning/error
+ messages if a package installation fails. Let printer model in
+ first-time dialog also be shown if there is no description field
+ in the device ID of the printer.
+
+2004-02-24 01:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, et.po: updated Estonian file
+
+2004-02-23 23:58 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Some unfuzzying
+
+2004-02-23 21:34 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-23 20:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, nn.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-23 19:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-23 18:37 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-02-23 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: misc perl_checker cleanups
+
+2004-02-23 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ share/po/DrakX.pot, share/po/af.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/br.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fa.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/nn.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/uz@Latn.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po: typo fixes
+ (Reinout van Schouwen)
+
+2004-02-23 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-7mdk
+
+2004-02-23 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - always write up/down
+ scripts - only write initscript when starting at boot was choosen
+ (instead of writing it in restart path...)
+
+2004-02-23 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: write ethX
+ aliases and ifup/ifdown scripts when configuring a LAN connection
+
+2004-02-23 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) keep ethX aliases
+ b/c eg removing eth0 will results in eth1 to be renumbered on
+ next boot...
+
+2004-02-23 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) down the network
+ interface when deleting it
+
+2004-02-23 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) when no network
+ configuration is configured, just report it
+
+2004-02-23 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (del_intf) only list
+ configured interfaces when offering to delete them
+
+2004-02-23 13:50 Guillaume Cottenceau
+
+ * rescue/tree/etc/issue: 10.0
+
+2004-02-23 12:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-6mdk
+
+2004-02-23 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix adsl scripts (especially with
+ sagem8xx modems)
+
+2004-02-23 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: add missing space
+
+2004-02-23 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-5mdk
+
+2004-02-23 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix ability to set ip
+ parameters broken by localizing bootproto
+
+2004-02-23 10:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix french translation (upcase
+ label)
+
+2004-02-23 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) speedtouch
+ config need vpi/vci as decimal numbers whereas sagem8xx wants
+ hexa numbers
+
+2004-02-23 10:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: rollback bogus damien
+ change, here vpi/vci parameters are in hexa, not decimal
+
+2004-02-23 09:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not tag some ata raid
+ controllers as unknown hw
+
+2004-02-23 09:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-4mdk
+
+2004-02-23 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle unknown hardware:
+ enable one to manually load a driver like expert mode in old
+ pre-10.0 wizard
+
+2004-02-23 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm:
+ (load_category__prompt_for_more) do not list probed category in
+ detected hardware list
+
+2004-02-23 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm:
+ (load_category__prompt_for_more) show quotes around detected
+ hardware in order to more easily see thems
+
+2004-02-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend)
+ update its doc now that it has been splited in get_eth_cards()
+ and conf_network_card_backend()
+
+2004-02-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable one to manually choose
+ the serial port to use while configuring modem
+
+2004-02-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix unreachable steps
+
+2004-02-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: handle and translate
+ BOOTPROTO
+
+2004-02-23 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: read ppp auth method
+
+2004-02-23 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_read_conf) really default to
+ dynamic dns, gateway and ip (really fix #7705)
+
+2004-02-23 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: misc perl_checker cleanups
+
+2004-02-23 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: read ppp config earlier and
+ prevent provider choice to overwrite it (but if user select a
+ *new* provider)
+
+2004-02-23 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: initialize modem data
+ structure at one point only for serial/PCI modems
+
+2004-02-23 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: modem.pm, netconnect.pm: split kppp config
+ reading into network::modem::ppp_read_conf() in order to be
+ shared with manage interface
+
+2004-02-23 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: handle new PAP/CHAP method
+
+2004-02-23 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix untranslated strings
+
+2004-02-23 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix french translation (upcase
+ label)
+
+2004-02-23 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__entries) fix entry editing
+ layout
+
+2004-02-23 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix choosing betweeen '' and
+ 'adsl connections when configuring adsl (due to write_cnx_scripts
+ vivificating data structure)
+
+2004-02-23 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: do not complain about
+ gateway format when it's not set
+
+2004-02-22 21:07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation
+
+2004-02-22 20:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nn.po: updated Nynorsk file
+
+2004-02-22 18:51 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: fix vci number for Belgium
+ and France
+
+2004-02-22 03:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, nn.po: Added Nynorsk file
+
+2004-02-21 17:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Verify user has selected a
+ cron interval and media [Bugzilla 8138]
+
+2004-02-21 14:01 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-21 10:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, it.po: updated Estonian and
+ Italian files
+
+2004-02-21 09:43 Guillaume Cottenceau
+
+ * make_boot_img: tentatively fix progress bar too wide (#8150)
+ blind fix, please someone can test after next build :)
+
+2004-02-21 08:21 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-21 01:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: More code reduction.
+
+2004-02-20 21:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-20 20:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: QA - tweak wizard setup.
+
+2004-02-20 20:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-20 20:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-3mdk
+
+2004-02-20 20:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: when one refuse to install
+ firmware *now*, she won't be able to select a provider, thus vci
+ and vpi parameters won't be filled
+
+2004-02-20 19:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove useless "next" field
+ (since post already handle it)
+
+2004-02-20 19:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix title when run from mcc
+ (#8111)
+
+2004-02-20 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getBewan) introduce it in order
+ to detect Bewan ADSL modems (both PCI and USB ones)
+
+2004-02-20 19:12 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Some updates and unfuzzying
+
+2004-02-20 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-2mdk
+
+2004-02-20 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix "current" checkbox vs
+ "group" and "user" pull-down menus
+
+2004-02-20 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable to refuse network
+ restarting
+
+2004-02-20 18:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSagem) lookup sagem8xx modems
+ by module rather than relying on strings manually added to
+ ldetect-lst
+
+2004-02-20 18:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not detect lan interfaces
+ when configuring modems
+
+2004-02-20 17:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-20 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (add_intf) no need to handle
+ errors, it's done by callee now in order to share exception
+ handling with installer
+
+2004-02-20 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not horribly die at
+ install time on error
+
+2004-02-20 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: really fix previous button on
+ first step: we want it at install time
+
+2004-02-20 16:59 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: keep provider vpi/vci settings when
+ exist
+
+2004-02-20 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (update_for_renumbered_partitions): -
+ handle no grub config - skip modifications when dev2grub fail
+ (since the device not in device.map means the device is currently
+ unused for booting)
+
+2004-02-20 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: remove debug statement
+
+2004-02-20 15:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: uim-anthy works ok in on-the-spot mode with
+ KDE
+
+2004-02-20 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: aliase Free non dégroupé
+ 1024/256 on "Free non dégroupé 512/128" (#7615)
+
+2004-02-20 15:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Shrink code per Thierry.
+
+2004-02-20 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, install_steps.pm: alias agpgart should
+ be only for 2.6, since code doesn't allow this easily, adding the
+ agp module to modprobe.preload
+
+2004-02-20 15:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-1mdk
+
+2004-02-20 14:48 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-20 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix writing aliases (fix broken
+ speedtouch)
+
+2004-02-20 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: add umask=0022 capability, and use it for
+ security level 3
+
+2004-02-20 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: compssUsers, compssUsers.server: Gnome is no
+ good, GNOME is good
+
+2004-02-20 11:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix warning LSB chosen
+ implies kernel 2.4
+
+2004-02-20 09:53 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm, ugtk2.pm,
+ interactive/gtk.pm: don't force buttons a size related to
+ $::windowwidth since this is no more used to size the main window
+ (fixes missing Next button in vgahi), use a global
+ $::real_windowwidth for sizings related to the main window
+
+2004-02-20 09:08 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: 10.0
+
+2004-02-20 08:59 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: allow to specify the Xnest
+ wanted resolution with --vga
+
+2004-02-20 04:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Gnome icon order. Drop an
+ unused button box.
+
+2004-02-20 01:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.21mdk
+
+2004-02-20 00:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: since no PCMCIA cards support
+ link status notification, ifplugd should be disabled for all
+ pcmcia cards by default => let blacklist them (#8031)
+
+2004-02-20 00:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-20 00:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: fix string
+
+2004-02-19 22:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: use
+ $ugtk2::current_window in place of @interactive::objects (which
+ was unused and broken) => fix XSetInputFocus (bugzilla #8046 and
+ #8053)
+
+2004-02-19 21:35 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2004-02-19 20:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: mk.po, mn.po, ms.po, mt.po, nb.po, nl.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-19 20:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po: updated pot file
+
+2004-02-19 20:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po: updated pot file
+
+2004-02-19 20:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: value of XIM is the xim identifier, not the
+ xim program name
+
+2004-02-19 19:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: consolidate strings
+
+2004-02-19 19:48 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2004-02-19 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: we don't need warp_text since we have
+ WrappedLabel
+
+2004-02-19 19:04 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: catch kernel 2.6 loop bug
+
+2004-02-19 18:51 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Today's work
+
+2004-02-19 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: no more global icon in XFdrake
+
+2004-02-19 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: the text we give to set_markup
+ should not contain raw "&" (occurs for "Any PS/2 & USB mice")
+
+2004-02-19 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only show "previous" button
+ on first step in install; in standalone mode, we already have the
+ "cancel" button
+
+2004-02-19 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: better logging
+
+2004-02-19 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: don't have a big scrolled window
+ that can be around a local scrolled window. ensure instead many
+ local scrolled windows
+
+2004-02-19 17:49 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: put a Previous button on the
+ first page
+
+2004-02-19 17:34 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Revert my mistake
+
+2004-02-19 17:31 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/dwd-01.pl: Add missing string
+
+2004-02-19 17:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakvpn: fixed typos
+
+2004-02-19 16:17 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakboot: Apply Olivier Blin patch to fix
+ theme displaying under console
+
+2004-02-19 15:14 Guillaume Cottenceau
+
+ * perl-install/http.pm: well, value is not dropped anymore perl
+ checko
+
+2004-02-19 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.20mdk
+
+2004-02-19 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakvpn, share/po/DrakX.pot,
+ share/po/af.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/br.po, share/po/bs.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fa.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hi.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/lt.po,
+ share/po/lv.po, share/po/mk.po, share/po/mn.po, share/po/ms.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Latn.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: typo fix
+
+2004-02-19 14:59 Guillaume Cottenceau
+
+ * perl-install/http.pm: - don't resolv host, it breaks virtual
+ servers configs - log when we don't receive a 200
+
+2004-02-19 14:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix _ask_file (tested in wizard, normal
+ and embedded)
+
+2004-02-19 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: (set_usermode) do not die when run
+ with --testing as user
+
+2004-02-19 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: switch japanese from kinput2 to uim input
+ method
+
+2004-02-19 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: uim won't work without uim-applet
+
+2004-02-19 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix titi sucks (Advanced and Help were
+ broken)
+
+2004-02-19 12:35 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: add utf8 key to locale config if
+ not already present, so that auto install behave as before
+ (pixel)
+
+2004-02-19 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - kimdaba must be flagged KDE -
+ lower some packages rates for my tests
+
+2004-02-19 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: kdenlive must be flagged KDE
+
+2004-02-19 01:32 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: add plenty of help files, add
+ anonymous support for sainfo
+
+2004-02-19 01:32 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: add plenty of help explanations,
+ add anonymous support in sainfo
+
+2004-02-19 01:05 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix issue with multisession
+ CDs (Anthill #349)
+
+2004-02-19 00:46 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: QA - Encourage user to finish
+ configuring media before leaving wizard.
+
+2004-02-18 23:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: (quit_global) do not die in
+ exit path when not run as root
+
+2004-02-18 23:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: reindent button packing
+
+2004-02-18 23:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: sanitize buttons layout when
+ embedded
+
+2004-02-18 22:48 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2004-02-18 19:58 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Advertisements: update translations
+ for download
+
+2004-02-18 18:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.19mdk
+
+2004-02-18 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not use ifplugd on
+ wireless connections by default
+
+2004-02-18 18:34 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - add adsl_atboot() to check
+ at boot status - use it instead of chk_internet()
+
+2004-02-18 18:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix "network needs to be
+ restarted" step
+
+2004-02-18 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not overwrite current
+ wireless parameters with default values
+
+2004-02-18 18:08 Guillaume Cottenceau
+
+ * perl-install/: any.pm, install_steps.pm, lang.pm: selectlanguage:
+ utf8 flag status is updated when user selects more/less
+ languages; when user touches it, update is disabled, allowing
+ andrej to have an en_GB + ru_RU install without utf8
+
+2004-02-18 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: move some wireless options as
+ advanced ones
+
+2004-02-18 17:48 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-02-18 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: HACK: set LD_ASSUME_KERNEL so that rpm
+ doesn't try to use tls (which we don't have at install) otherwise
+ it causes *weird* problems in __db*. When LD_ASSUME_KERNEL is
+ set, no __db* are used, and so no such pbs.
+
+2004-02-18 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table.pm: type 0x17 *can* be
+ ntfs, assuming it is when we don't care much, and check if it is
+ ntfs otherwise
+
+2004-02-18 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, share/po/af.po,
+ share/po/ar.po, share/po/az.po, standalone/drakvpn,
+ share/po/be.po, share/po/bg.po, share/po/br.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/ga.po, share/po/gl.po, share/po/he.po,
+ share/po/hi.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/lt.po, share/po/lv.po, share/po/mk.po, share/po/mn.po,
+ share/po/ms.po, share/po/mt.po, share/po/nb.po, share/po/nl.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sq.po, share/po/sr.po, share/po/sr@Latn.po,
+ share/po/sv.po, share/po/ta.po, share/po/tg.po, share/po/th.po,
+ share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/uz@Latn.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: typo fix
+
+2004-02-18 16:45 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Rework backupignore behavior
+ (Anthill #306).
+
+2004-02-18 16:34 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: drop $netc->{internet_cnx} test,
+ unnedeed
+
+2004-02-18 16:30 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix adsl at boot, better and
+ more clean
+
+2004-02-18 16:13 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install Google's search bar when KDE
+ is installed
+
+2004-02-18 15:54 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: ok, ok, perl checker roulaize
+
+2004-02-18 15:37 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: better match
+
+2004-02-18 15:36 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: tentatively fix #7792 (seems like
+ line number don't match #7792, but this one I'm fixing was
+ obviously wrong, at least)
+
+2004-02-18 15:31 Guillaume Cottenceau
+
+ * tools/: shift_all.pl, shift_img.c: these files I needed when
+ pablo gave me lang-*.png images because they were not aligned..
+ commiting in case
+
+2004-02-18 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: force apply button to be
+ right aligned
+
+2004-02-18 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_okcancel) enable to specify that
+ some buttons must be at right
+
+2004-02-18 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: gdm is an important gnome
+ application, make it 5 (for my tests)
+
+2004-02-18 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: set useSupermount to magicdev
+ (so that it doesn't use supermount from cdroms)
+
+2004-02-18 12:17 Guillaume Cottenceau
+
+ * perl-install/modules.pm: don't log insmod errors on tty5, rather
+ on tty3+ddebug.log as normal log
+
+2004-02-18 11:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: when cancel is pressed, fix
+ re-selecting unselected packages (callback_choices unneeded, cf
+ rpmdrake)
+
+2004-02-18 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: small cleanup
+
+2004-02-18 11:22 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Pull xine-arts when choosing video
+ AND KDE
+
+2004-02-18 11:18 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: allow using ext2 or vfat floppies
+ for kickstart=floppy so that when you do an auto install based on
+ network.img and network_drivers.img, you can put your
+ auto_inst.cfg.pl on network_drivers.img and rock n roll
+
+2004-02-18 11:18 Guillaume Cottenceau
+
+ * perl-install/share/: advertising/dwd-09.pl, po/DrakX.pot,
+ po/af.po, po/ar.po, po/az.po, po/be.po, po/bg.po, po/bs.po,
+ po/ca.po, po/cs.po, po/cy.po, po/da.po, po/de.po, po/el.po,
+ po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po, po/fi.po,
+ po/fr.po, po/ga.po, po/gl.po, po/he.po, po/hi.po, po/hr.po,
+ po/hu.po, po/id.po, po/is.po, po/it.po, po/ja.po, po/ko.po,
+ po/lt.po, po/lv.po, po/mk.po, po/mn.po, po/ms.po, po/mt.po,
+ po/nb.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po,
+ po/ru.po, po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr@Latn.po,
+ po/sv.po, po/ta.po, po/tg.po, po/th.po, po/tr.po, po/uk.po,
+ po/uz.po, po/uz@Latn.po, po/vi.po, po/wa.po, po/zh_CN.po,
+ po/zh_TW.po: fix wording of advertisement thx to austin
+
+2004-02-18 10:58 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: support automatic installs even when
+ needing the additional drivers floppy
+
+2004-02-17 22:32 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c: support 2.6
+ insmoding for expert third party modules and loading named
+ modules
+
+2004-02-17 22:11 Guillaume Cottenceau
+
+ * perl-install/Xconfig/card.pm: well we reverted to 4.3
+
+2004-02-17 20:59 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: today's updates
+
+2004-02-17 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log one more stuff into 10-0.18mdk
+
+2004-02-17 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: enforce gnome button order everywhere
+ (interface team request)
+
+2004-02-17 19:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-02-17 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.18mdk
+
+2004-02-17 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_default_up.png: new default
+ icon for wizards
+
+2004-02-17 18:25 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - add chk_config() to test
+ internet service state - adsl onboot using chk_config()
+
+2004-02-17 18:11 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: manage interfaces don't want to
+ break cnx_scripts
+
+2004-02-17 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add support for atmel_cs too
+
+2004-02-17 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: really fix doble blanked ISDN
+ detection
+
+2004-02-17 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sort lan protocols
+
+2004-02-17 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-02-17 14:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Fixed problem that not used
+ parallel ports were detected as printers.
+
+2004-02-17 14:57 Guillaume Cottenceau
+
+ * mdk-stage1/: frontend-common.c, newt-frontend.c, stage1.c,
+ stdio-frontend.c: when available, always load usb interface, as
+ soon as possible, should help usb mouse detection in stage2 which
+ otherwise timeouts
+
+2004-02-17 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: detection defaults on automatic choices
+
+2004-02-17 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix mouse detect() on kernel 2.4
+
+2004-02-17 13:51 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: one can now start from scratch
+ with ipsec.conf
+
+2004-02-17 13:50 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: one can now start an ipsec.conf
+ file from scratch
+
+2004-02-17 13:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: (ask_info3) really use
+ parameters...
+
+2004-02-17 12:58 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-17 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.17mdk
+
+2004-02-17 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-17 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: consolidate strings
+
+2004-02-17 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Changelog: kill no more used file
+
+2004-02-17 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfont, icons/drakfont.620x57.png,
+ icons/drakfont.png: switch drakfont to new banner style
+
+2004-02-17 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: don't have a scroll inside a
+ scroll which causes display pbs.
+
+ alas it doesn't fix the "Tab" navigation when having a global
+ scroll + a Listbox. You have to use the right arrow to exit the
+ Listbox
+
+2004-02-17 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: remove bad entries after reading
+ existing conf file
+
+2004-02-17 11:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-02-17 09:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: log where the bootloader is installed
+
+2004-02-17 03:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Added warnings to clearly
+ tell the user when there is no network access. Removed printer
+ list button whenthere is no network also in expert mode.
+
+2004-02-17 03:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-17 01:00 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: add the ask_info3 function
+
+2004-02-17 01:00 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: fix the ";" mark in the Security
+ Policies Section
+
+2004-02-17 00:44 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Nothing special
+
+2004-02-17 00:37 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Partially updated file
+
+2004-02-17 00:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Recognize parallel printers also
+ when they miss the "CLASS:PRINTER;" in their device ID string
+ (ex: Brother HL-720, bug #7753).
+
+2004-02-17 00:00 Guillaume Cottenceau
+
+ * mdk-stage1/url.c: fix buggy redhat code exhausted only in -Os
+ which corrupted memory and gave wrong results for download file
+ size in FTP/HTTP installs
+
+2004-02-16 23:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-16 23:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: standalone/drakboot, standalone/drakvpn,
+ network/netconnect.pm: typo fixes
+
+2004-02-16 19:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: typo fix
+
+2004-02-16 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: (ask_info2) list valid values in
+ a pull-down menu
+
+2004-02-16 18:55 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Today's worjk
+
+2004-02-16 18:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: (ask_info2) introduce it in
+ order to share one more step
+
+2004-02-16 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: (ask_info) introduce it in order
+ to share some code
+
+2004-02-16 18:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: PFS group only accept 3 distinct
+ values
+
+2004-02-16 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: more user friendly labels
+
+2004-02-16 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: do not list twice the same
+ elements in list...
+
+2004-02-16 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: try to have better names
+
+2004-02-16 18:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: do not put " = " in translated
+ messages
+
+2004-02-16 18:07 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: move check_field's
+ ask_warn() to save_notebook()
+
+2004-02-16 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: authentication.pm, install_steps_interactive.pm:
+ keep current authentication kind, even if not completly accepted
+
+2004-02-16 18:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: add hints
+
+2004-02-16 17:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix automatically found
+ "...2" dns when network is done
+
+2004-02-16 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakautoinst, drakgw, drakpxe, drakvpn:
+ do not abuse global namespace
+
+2004-02-16 17:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: check gateway entry
+
+2004-02-16 17:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword) do
+ not reset auth method when pressing "previous" in next step
+
+2004-02-16 17:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/authentication.pm: (to_kind) try harder to find out
+ if some auth method already had been choosed
+
+2004-02-16 17:12 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: add "memtest" in isolinux (as advised by Thomas
+ Backlund)
+
+2004-02-16 17:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ network::shorewall::read without silent is nasty, since it
+ doesn't only read, it prompts the user. So each time the summary
+ updates the data, it prompts (when you have more than one card
+ and no firewall configured)
+
+2004-02-16 17:06 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: do not test the translated
+ chains anymore
+
+2004-02-16 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: show a more precise error
+ messages when no wireless cards were found
+
+2004-02-16 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-16 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: eagle was renamed as
+ eagle-usb
+
+2004-02-16 14:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-16 14:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/ipsec.pm: removed N() around of a
+ non-translatable string
+
+2004-02-16 13:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: minor poulpe cleanup
+
+2004-02-16 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: beautify string
+
+2004-02-16 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: explain about DNS (#7908)
+
+2004-02-16 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: let's look better when
+ embedded
+
+2004-02-16 12:55 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-16 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: during install, "Ok" is on the right, like
+ gnome not kde
+
+2004-02-16 11:49 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers.server: Select Groupware by
+ default
+
+2004-02-16 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/advertising/Makefile: get the list of files
+ needed from list-PRODUCT
+
+2004-02-16 11:41 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/list: Removed on Pixel's request
+ (will use list-dwd instead)
+
+2004-02-16 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: add in %pkgs::preferred the kernel-source
+ corresponding to the preferred kernel
+
+2004-02-16 11:20 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add kolab-server in GROUPWARE
+
+2004-02-15 22:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.16mdk
+
+2004-02-15 22:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: typo fix :-)
+
+2004-02-15 14:25 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: more updates
+
+2004-02-15 10:48 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation
+
+2004-02-14 21:37 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/nb.po: Updates
+ gi/perl-install/share/po/nb.po
+
+2004-02-14 20:59 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Recognize also "SN:" as serial
+ number field in printer ID string (HP PhotoSmart 7760, bug
+ #6534).
+
+2004-02-14 20:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Made printerdrake handling
+ even very weird printer ID strings, as the one of the Brother
+ HL-720 with empty manufacturer and description fields (Bug
+ #7753).
+
+2004-02-14 18:01 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-02-14 13:34 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Small updates to catalan
+ translations
+
+2004-02-14 10:43 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/wizard_perl/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-02-14 06:21 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/nb.po: Updates. I could just as well update
+ the Norwegian version as I wanted to use this as base for my
+ Danish translation. gi/perl-install/share/po/nb.po
+
+2004-02-14 05:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, detect.pm, main.pm: Let
+ printerdrake load the "usblp" instead of the "printer" kernel
+ module if kernel 2.6.x is used.
+
+2004-02-14 04:49 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/control-center/po/da.po
+ soft/drakfax/po/da.po soft/ftw/po/da.po soft/mdkonline/po/da.po
+ soft/rfbdrake/po/da.po soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-02-14 04:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.15mdk
+
+2004-02-14 03:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix ISDN detection (#6535)
+
+2004-02-14 03:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_detect_backend) try harder to
+ detect ISDN devices
+
+2004-02-14 03:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: break devices loop into two
+ pass: - first detect devices into each class - then process them
+ for later display
+
+2004-02-14 03:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: filter out devices to prevent
+ them to appear several times in device tree (#4906)
+
+2004-02-14 03:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix automatically found
+ "...2" dns
+
+2004-02-14 02:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: fix crash on canceling "already
+ configured net device" configuration (#7679)
+
+2004-02-14 02:48 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: FTP restore failure feedback.
+ Allow multiple catalog/file restore selection.
+
+2004-02-14 00:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: by default do not start
+ connection at boot for modems (#7705)
+
+2004-02-14 00:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: enable default value to be dynamically
+ computed
+
+2004-02-14 00:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: enable to pass untranslated defaut to
+ yes/no or ok/cancel like questions by translating value at
+ runtime
+
+2004-02-14 00:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: default to next/finish when no field is
+ present
+
+2004-02-14 00:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: add 'default' field in order to be able
+ to enforce default answer for yes/no like questions or when data
+ does not conatains any fields (needed for last #7705 bit)
+
+2004-02-14 00:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: missing #7593 bit
+
+2004-02-14 00:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: use interactive->ask_okcancel in order
+ to not have spurious field in text mode (#7593)
+
+2004-02-13 20:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: do not try setting transcient hint when
+ embedded
+
+2004-02-13 19:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: use center-on-parent for popped windows
+
+2004-02-13 19:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: perl-MDK-Common has been rebuilt
+
+2004-02-13 19:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: don't have a wait_message
+ above another empty wait_message when probing hardware
+
+2004-02-13 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.14mdk
+
+2004-02-13 18:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add a warning when
+ choosing security level > 2 and having a windows partition (since
+ in that case we won't have umask=0) (bugzilla #4731)
+
+2004-02-13 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: in boolean context, "any" is better
+ than "find"
+
+2004-02-13 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix reading grub config (esp. when
+ /boot is a separate partition) (nb for titi: join($xx, $yy) is
+ *not* useful)
+
+2004-02-13 18:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: forgotten modem page, to be
+ traduced, not yet usable (please don't hurt me)
+
+2004-02-13 18:13 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix </b> in advertiesment #5
+
+2004-02-13 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_scrolled_window) add relief for
+ TreeViews too (interface team request)
+
+2004-02-13 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-13 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, diskdrake/interactive.pm: try hard
+ to update_bootloader_for_renumbered_partitions()
+
+2004-02-13 17:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-13 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakvpn: verbs must be upcased on
+ buttons!!!
+
+2004-02-13 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, modules.pm: - have usb-storage as a
+ scsi_hostadapter by default - remove it if unneeded for normal
+ boot (cf comment in the code)
+
+2004-02-13 16:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-13 16:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: create read_grub_device_map()
+
+2004-02-13 15:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/dwd-09.pl: USE ASCII OR UTF-8
+ ONLY; **DON'T** USE ISO-8859-1!
+
+2004-02-13 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect: new
+ banner icons
+
+2004-02-13 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: no need for this
+
+2004-02-13 15:32 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/init.c: sleep 10 only when debugging
+
+2004-02-13 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless comment
+
+2004-02-13 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.13mdk
+
+2004-02-13 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: pixmaps/printerdrake.png, printer/printerdrake.pm,
+ standalone/drakconnect, standalone/drakgw, standalone/drakpxe,
+ standalone/drakvpn, standalone/icons/drakconnect.png,
+ standalone/icons/drakfirewall.png, standalone/icons/drakgw.png,
+ standalone/icons/drakvpn.png, standalone/icons/logdrake.png,
+ standalone/icons/printerdrake.png,
+ standalone/icons/scannerdrake.png,
+ standalone/icons/wiz_drakconnect.png,
+ standalone/icons/wiz_drakgw.png,
+ standalone/icons/wiz_drakvpn.png,
+ standalone/icons/wiz_firewall.png,
+ standalone/icons/wiz_logdrake.png,
+ standalone/icons/wiz_printerdrake.png,
+ standalone/icons/wiz_scannerdrake.png: new banner icons
+
+2004-02-13 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: handle wireless modules
+
+2004-02-13 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: (vnew) do not complaint about being
+ run as root when --testing was passed
+
+2004-02-13 14:58 Guillaume Cottenceau
+
+ * perl-install/modules.pm: fix deps problem because of 2.4/2.6
+ mappings, better support 2.4 and 2.6 alltogether by keeping 2.4
+ names in modules.conf
+
+2004-02-13 14:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) simplify WizardTable
+
+2004-02-13 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner->new) fix default banner
+ size
+
+2004-02-13 13:51 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: drweb.pl, drweb.png, list,
+ list-dis, list-dwd, list-ppp, list-pwp: - Add DRWeb's
+ advertisement - Add list for each version
+
+2004-02-13 13:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: offer_to_connect: fix
+ indentation
+
+2004-02-13 13:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - do not flush
+ /etc/sysconfig/drakconnect with an empty hash - move
+ $offer_to_connect after %adsl_devices declaration (fix typo?)
+
+2004-02-13 12:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) use new Gtk2::Banner object for
+ banner
+
+2004-02-13 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add drakvpn
+
+2004-02-13 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove uneeded variable
+
+2004-02-13 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (Gtk2::Banner) move that widget from mcc
+ into ugtk2 so that all tools can reuise it for their banners
+
+2004-02-13 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not force black color for
+ fields values, this badly conflict with inverted accessibility
+ themes
+
+2004-02-13 11:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: remove statusbar on interface
+ team request
+
+2004-02-13 11:07 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp, make_boot_img: new syslinyx logo
+
+2004-02-13 06:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - nice ethernet names back
+
+2004-02-13 06:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix adsl via ethernet bug
+ - fix apply settings bug - fix and shrink sub apply - drop $gui
+ and $config - add new hash style $p
+
+2004-02-13 06:38 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: s/$config/$p/ for drakconnect
+ conf file
+
+2004-02-13 02:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix QA reports of crash on
+ file search, failure to report ftp error.
+
+2004-02-13 01:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: only look for local printers (do
+ not perform heavy network probe)
+
+2004-02-13 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: (DrawPointAt) simplify
+ draw_points call
+
+2004-02-13 00:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: in get_kernels_and_labels(): - change
+ internal data structure - change regexp matching kernel names
+ (was broken for 2.4.25-0.pre7.3mdk) - default to kernel 2.4 when
+ lsb is installed
+
+2004-02-12 23:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) simplify banner rendering, make it
+ cpu lighter
+
+2004-02-12 23:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ask isp for ip and gateway by
+ default (#7705)
+
+2004-02-12 21:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, install_any.pm, pkgs.pm: change return
+ type of pkgs::packages2kernels()
+
+2004-02-12 21:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: warn that selecting
+ LSB means having 2.4 by default
+
+2004-02-12 21:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add kernel-2.4* in group LSB
+
+2004-02-12 21:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: handle case where rpm can't be
+ found (eg: XFree86-SVGA for xfree3) (part of bugzilla #7786)
+
+2004-02-12 19:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-12 18:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-02-12 18:40 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: hopefuly better interface
+
+2004-02-12 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix driver blacklist
+
+2004-02-12 17:31 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile.common: linux/fd.h is too broken to compile
+ with -W :(
+
+2004-02-12 17:14 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, stage1.c, tools.c: try to detect regular
+ floppy drives
+
+2004-02-12 17:13 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix ethernet and adsl
+ conflict in menu
+
+2004-02-12 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.12mdk
+
+2004-02-12 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do use the actual user's
+ answer
+
+2004-02-12 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: preselect right protocol for
+ ethernet though connections
+
+2004-02-12 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix step linking with
+ ask_connect_now and restart steps: - fix check for restart step -
+ only offer to connect now for ppp connections
+
+2004-02-12 16:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix module retrieving when
+ configuring an adsl connection over ethernet
+
+2004-02-12 15:48 Guillaume Cottenceau
+
+ * perl-install/install2.pm: i810fb on 2.6 needs intel-agp module,
+ doesn't like hwcur and xcon parameters
+
+2004-02-12 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/authentication.pm: - install ldap packages *before*
+ doing ldapsearch - pam*.so modules do not have /lib/security/
+ prefix anymore
+
+2004-02-12 14:58 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: s/airo_mpi/airo/
+
+2004-02-12 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_drakvpn.png: re-adding with -kb
+
+2004-02-12 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_drakvpn.png: removing for
+ re-adding with -kb
+
+2004-02-12 14:06 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/dwd-09.pl: Update text to reflect
+ reality
+
+2004-02-12 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add input/mice
+
+2004-02-12 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: add rule dont_run_directly_stage2
+
+2004-02-12 12:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.11mdk
+
+2004-02-12 12:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sort ADSL protocols according
+ to locale
+
+2004-02-12 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix adsk over ethernet
+ through dhcp protocol
+
+2004-02-12 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify adsl protocol
+ choosing through format callback
+
+2004-02-12 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: more cleanup
+
+2004-02-12 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: new 'Universal|Any PS/2 & USB mice' mouse
+ name usable with kernel 2.6
+
+2004-02-12 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect more webcams
+
+2004-02-12 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add at76c503-rfmd module for wireless
+ cards
+
+2004-02-12 11:42 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-04.pl, dis-05.pl, dis-07.pl,
+ dis-10.pl, dis-11.pl, ppp-04.pl, ppp-07.pl, ppp-09.pl, ppp-10.pl,
+ ppp-11.pl, pwp-04.pl, pwp-08.pl, pwp-09.pl, pwp-10.pl: Final
+ versions for MDK 10.0
+
+2004-02-12 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: rename mouseconfig() with detect_serial()
+ which is what it really does!
+
+2004-02-12 11:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: create probe_wacom_devices() and cleanup
+
+2004-02-12 11:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mouse.pm: cleanup
+
+2004-02-12 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: remove deprecated comment
+
+2004-02-12 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: always use fast_mouse_probe (probing
+ serial is now mostly deprecated, and it is *re-done* by
+ drakconnect, so no need to do it soon)
+
+2004-02-12 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: cleanup wacom detection
+
+2004-02-12 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: replace unless with if
+
+2004-02-12 10:16 Guillaume Cottenceau
+
+ * make_boot_img: meuh
+
+2004-02-12 10:15 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: re-add cdrom-changedisk.img
+
+2004-02-12 02:51 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Restore title banner.
+
+2004-02-12 02:47 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Address some QA issues with
+ restores. Cleanup screen layout in restore screen. Restore
+ title banner.
+
+2004-02-11 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2004-02-11 22:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-02-11 21:42 Pixel <pixel at mandriva.com>
+
+ * tools/hd_grub.cgi: adding hdd .. hdh
+
+2004-02-11 17:21 Pixel <pixel at mandriva.com>
+
+ * tools/hd_grub.cgi: initial version
+
+2004-02-11 16:54 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: be sure to load usb-storage after SCSI
+ adapters, so that they are in same order than reboot, so that
+ naming is the same
+
+2004-02-11 16:46 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: don't insmod usb-storage the soonest, we
+ can end up mixing scsi devices orders at reboot time, do it only
+ when needed
+
+2004-02-11 15:58 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: typo errors
+
+2004-02-11 15:53 Florin Grad <florin at mandriva.com>
+
+ * perl-install/: standalone/drakvpn, network/ipsec.pm: fix the
+ perl_checker errors
+
+2004-02-11 15:33 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/ipsec.pm: remove debugging print commands
+
+2004-02-11 15:31 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakvpn: remote debugging print commands
+
+2004-02-11 15:22 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Rearrange main buttons
+ (jmdault - http://advx.org/docs/ice3.png)
+
+2004-02-11 13:42 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: adapt hd_grub default menu.lst to have messages
+ alike stage1
+
+2004-02-11 13:39 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-02-11 12:58 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_drakvpn.png: first shy attempt
+
+2004-02-11 12:51 Florin Grad <florin at mandriva.com>
+
+ * perl-install/: standalone/drakvpn, network/ipsec.pm: first shy
+ attempt
+
+2004-02-11 12:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add smb4k to replace LinNeighborhood
+ (Buchan Milnes suggestion), decrease LinNeighborhood to 3.
+
+2004-02-11 11:26 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: raise mc from 3 to 4 in FILE_TOOLS
+
+2004-02-11 02:22 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-02-11 02:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Disable title banner for now
+ (same as Bugzilla 7564, just not reported yet).
+
+2004-02-11 02:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Disable title banner for
+ now (Bugzilla 7564). Don't assume eth0, rework subnet/netmask
+ for hosts.allow (jmdault).
+
+2004-02-10 21:55 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-10 20:41 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-02-10 19:14 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - isdn and modem are fetched
+ from $intf - drop useless @all_cards - 'ath' and 'wlan' cards fix
+
+2004-02-10 18:28 Albert Astals Cid <astals11 at terra.es>
+
+ * perl-install/share/po/ca.po: Updates, unfuzzying and spell
+ checking
+
+2004-02-10 18:11 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: don't remove missing modules ataraid hptraid
+ silraid pdcraid
+
+2004-02-10 18:09 Pixel <pixel at mandriva.com>
+
+ * tools/serial_probe/serial.c: fix serial probe not detecting
+ legacy mice
+
+2004-02-10 18:08 Guillaume Cottenceau
+
+ * mdk-stage1/: tools.c, tools.h: floppy_device returns first floppy
+ device, look for medias first in case of usb floppies (maybe ide
+ floppies also? never tested) then regular floppy drive
+
+2004-02-10 18:06 Guillaume Cottenceau
+
+ * mdk-stage1/mount.c: in network mode we need to create nodes as
+ well because of usb floppies support
+
+2004-02-10 18:05 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, stage1.c: use floppy_device rather than
+ /dev/fd0 because we now support usb floppies as well
+
+2004-02-10 18:04 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: fake usb floppies detection by looking at
+ blocks size of scsi disk devices, 1048575 is for 2.4 and 1440 for
+ 2.6
+
+2004-02-10 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: (apply_checks) reindent
+
+2004-02-10 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: (apply_checks) fix unable to save
+ checks when config file is empty (aka substInFile does not
+ support using print in that case)
+
+2004-02-10 18:03 Guillaume Cottenceau
+
+ * kernel/modules.pl: disk/raw and disk/usb added in network.img to
+ support usb floppies when loading second floppy
+
+2004-02-10 18:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, install_steps.pm: no
+ need to fake scsi for ide anymore (hopefully!)
+
+2004-02-10 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keymaps.tar.bz2: update
+
+2004-02-10 17:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-10 16:34 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Use logdrake mail method,
+ allow definition of SMTP server. (Arnaud de Lorbeau)
+
+2004-02-10 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: for install, a service is on if there
+ is at least one runlevel for which the service is on (esp. for
+ service "dm") (bugzilla #7146)
+
+2004-02-10 15:25 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-04.pl, dis-09.pl, dis-11.pl,
+ ppp-09.pl, ppp-11.pl, pwp-04.pl, pwp-05.pl, pwp-06.pl: Update
+
+2004-02-10 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not allow to step forward
+ if no network card was found (workaround #7672). we'd better be
+ able to manually add an unsupported network card though.
+
+2004-02-10 14:33 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: Updated Simplified Chinese
+ translation
+
+2004-02-10 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: rewrite & cleanup. Now works with
+ kernel 2.6, don't know exactly why...
+
+2004-02-10 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: we don't KTYP anymore, but we need
+ K_NOSUCHMAP
+
+2004-02-10 13:33 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/dwd-06.pl: Update
+
+2004-02-10 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: add unpack_with_refs()
+
+2004-02-10 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.10mdk
+
+2004-02-10 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-10 12:41 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dwd-02.pl, dwd-06.pl, dwd-09.pl:
+ Update
+
+2004-02-10 12:40 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - add 'ath' and 'wlan' to
+ ethernet kind - use regexp once
+
+2004-02-10 11:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-10 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: better code for detecting if the window is
+ hidden or not (fixes embedded drakconnect wizard should be popped
+ window) (bugzilla #7246)
+
+2004-02-10 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: have modal windows
+
+2004-02-10 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: prefer BoardName to
+ card_name
+
+2004-02-10 10:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove many warnings about unitialised
+ value (causing a bug in diagnostics.pm?)
+
+2004-02-10 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: remove postfix from naughtyServers (fix
+ titi)
+
+2004-02-10 03:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Undo some of the breakage,
+ format is still wrong :(
+
+2004-02-10 02:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-10 01:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: warn when installing postfix server (#7102)
+
+2004-02-10 01:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/pkgs.pm: fix not warning about apache2 servers
+ (#7559)
+
+2004-02-10 01:20 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Remove confusing "On hard
+ drive" checkbox from wizard (Arnaud de Lorbeau)
+
+2004-02-10 01:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) match pci
+ function too (not that important since we do not know of any
+ ethernet pci card that export two functions on the pci bug but
+ anyway it's saner)
+
+ note that we do not match for pci domain since ldetect does not
+ report it
+
+2004-02-10 01:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix failure to disable user
+ cron job. Code reduction.
+
+2004-02-09 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.9mdk
+
+2004-02-09 23:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix unability to select
+ gateway (#7585)
+
+2004-02-09 23:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (appli_choice) fix crash on
+ option toggling (#7248)
+
+2004-02-09 22:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) detect athX interfaces
+ too (maybe should we inverse this func logic and blacklist ppp
+ and the like interfaces ...)
+
+2004-02-09 18:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Thierry compliance. Doesn't
+ work anymore and fails perl_checker now :P
+
+2004-02-09 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.8mdk
+
+2004-02-09 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix empty list in "multiple
+ internet_connexions" step
+
+2004-02-09 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix unwritten ethernet
+ interface config
+
+2004-02-09 18:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (ether_conf) rename it as
+ write_ether_conf()
+
+2004-02-09 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) fix pci/usb
+ ethernet devices matching
+
+2004-02-09 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sort ethX interfaces in list
+
+2004-02-09 16:56 Guillaume Cottenceau
+
+ * perl-install/Xconfig/resolution_and_depth.pm: RIVA128 fails
+ miserably when using 16bpp
+
+2004-02-09 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: blacklist bogus forcedeth
+ driver for network hotplugging, enable ifplugd support for all
+ other drivers even at install time (#7389)
+
+2004-02-09 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: use modal windows during
+ install
+
+2004-02-09 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove show_all that breaks when there are
+ some hidden windows
+
+2004-02-09 15:54 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: resurrect 9.2 code for setting
+ background. i was said to remove it for move because default
+ colour is already mandrake colour but obviously it isn't.
+
+2004-02-09 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix typo
+
+2004-02-09 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: some eide Lite-on drivers are
+ reported with different casse
+
+2004-02-09 14:48 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-09 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ Xconfig/card.pm, standalone/XFdrake: handle allowNVIDIA_rpms &
+ allowATI_rpms directly in Xconfig::card::install_server
+
+2004-02-09 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: allow set_modal for popped windows at
+ install
+
+2004-02-09 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/.cvsignore: my test file is now t.pl
+
+2004-02-09 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: fix typo
+
+2004-02-09 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: force XF4 on all archs
+
+2004-02-09 09:02 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-02-08 18:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools, common.pm,
+ drakxtools.spec, install_steps_gtk.pm, mouse.pm, Xconfig/test.pm,
+ c/stuff.xs.pl, xf86misc/.cvsignore, xf86misc/Makefile,
+ xf86misc/Makefile.PL, xf86misc/main.pm, xf86misc/main.xs: move
+ Xtest() and setMouseLive() out of c/stuff to xf86misc::main so
+ that we can use them (esp. setMouseLive) in standalone without
+ making drakxtools-newt require xfree libs
+
+2004-02-08 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Newt/.cvsignore: simplify
+
+2004-02-08 14:29 Pixel <pixel at mandriva.com>
+
+ * move/move.pm, perl-install/install_steps_interactive.pm: adapt to
+ change allowing checking nvidia/ati proprietary driver
+ availability only when needed
+
+2004-02-08 11:50 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org Arabic
+ translation
+
+2004-02-08 07:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-08 04:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: XFdrake can run w/o gtk+ toolkit
+
+2004-02-08 04:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.7mdk
+
+2004-02-08 03:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-08 02:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Xconfig/card.pm, standalone/XFdrake: make XFdrake
+ startup be instantenous for non nv|ati cards (allowNVIDIA_rpms
+ and allowATI_rpms tests used to cost us 99% of the long startup
+ time of XFdrake:-()
+
+2004-02-07 21:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-07 18:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/logdrake: English typo and disambiguation
+ of some strings
+
+2004-02-07 06:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-07 01:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: PXE image support,
+ researched by Venantius Kumar.
+
+2004-02-06 23:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.6mdk
+
+2004-02-06 21:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: handle range (bugzilla #7172)
+
+2004-02-06 21:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: move drakbug, drakclock, drakperm,
+ drakTermServ, net_monitor in drakxtools too since they require
+ ugtk2. move their aliases (soft links) their too.
+
+2004-02-06 21:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: use ->create_okcancel instead
+ of doing it by hand (hopefully it will ensure better choice of
+ Ok/Cancel vs Cancel/Ok without breaking anything...)
+
+2004-02-06 21:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: draksec needs gtk, no must not be
+ in drakxtools-newt (bugzilla #7413)
+
+2004-02-06 21:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: - ensure ModelName comes from
+ the ddc probe when choosing "Plug'n Play" - only "Plug'n Play"
+ instead of "Plug'n Play (<ModelName>)" when current monitor is
+ not plug'n play
+
+2004-02-06 20:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (fileshare_config): quite different way of
+ handling it, asking first if user wants sharing or not, then
+ asking which protocol (when users wants sharing). Removing or
+ installing the server package handling the protocols (smb or
+ nfs).
+
+2004-02-06 20:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: handle better bootloader per entries video
+ mode
+
+2004-02-06 20:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: special way to remove
+ mem=<memsize>
+
+2004-02-06 20:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: Changed Newt/Previous strings to remove
+ arrows
+
+2004-02-06 19:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: remove defaulting global vga mode to normal
+
+2004-02-06 19:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix old typo: complete callback was not
+ called
+
+2004-02-06 19:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: drop bootloader main options "Compact" and
+ "Video mode"
+
+2004-02-06 19:38 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-06 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: - no special testing mouse in
+ embedded - use mouse::change_mouse_live()
+
+2004-02-06 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: use mouse::change_mouse_live()
+
+2004-02-06 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - add change_mouse_live() - use /dev/mouse
+ in XF86Config to allow changing protocol in standalone
+
+2004-02-06 18:06 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update for Discovery
+
+2004-02-06 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksound: advertize alsaconf too since
+ sndconfig failled for cards only managed by ALSA (#7456)
+
+2004-02-06 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: fix draksec not saving options
+ when config file do not exists :-(
+
+2004-02-06 17:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-06 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: workaround gtk limitation
+ #133489
+
+2004-02-06 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (alert_config) do not complain
+ when removing non existing cron entry (aka when one run twice the
+ disable path)
+
+2004-02-06 16:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, help-it.pot, help-zh_CN.pot, help_xml2pm.pl, hi.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Latn.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-06 16:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: workaround gtk limitation
+ #133489
+
+2004-02-06 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: help perl_checker regarding
+ comments for translators
+
+2004-02-06 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.5mdk
+
+2004-02-06 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) remove unused flush()
+
+2004-02-06 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) fix pixel breaking non wizard
+ embedded case while cleaning :-(
+
+2004-02-06 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: please perl_checker
+
+2004-02-06 15:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: following quintela's lilo change,
+ allowing lilo labels up to 31 characters
+
+2004-02-06 14:16 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakboot: Warn if the user is not in
+ framebuffer mode, but allow to see the installed theme. Do not
+ perform autologin config in splash mode Better parsing of current
+ resolution from detect-resolution
+
+2004-02-06 13:51 Guillaume Cottenceau
+
+ * mdk-stage1/url.c: log server http response
+
+2004-02-06 13:39 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: shrink_topwindow: add (force gtk to
+ recompute size of topwindow, when some child widgets got
+ destroyed or shrinked)
+
+2004-02-06 13:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - do only one regexp on
+ $interface - more readable repack
+
+2004-02-06 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.4mdk
+
+2004-02-06 13:11 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - add sub check_field -
+ check IPs - delete BOOTPROTO when not needed
+
+2004-02-06 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-06 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: wireless step: add an hint
+ for translators
+
+2004-02-06 12:35 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dwd-02.pl, dwd-04.pl, dwd-05.pl,
+ dwd-06.pl, dwd-07.pl, dwd-08.pl, dwd-09.pl: Update
+
+2004-02-06 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: split wireless step into two
+ steps since there way too much options
+
+2004-02-06 12:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix layout in drakconnect
+
+2004-02-06 12:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix wireless settings
+ (references being made too early)
+
+2004-02-06 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (main) try first to match a
+ pcmcia device before trying to match pci/usb when looking for
+ module (#7431)
+
+2004-02-06 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot,
+ share/po/help-ru.pot, share/po/help-zh_CN.pot: update from xml
+
+2004-02-06 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - handle zh_CN.po - handle
+ tags <phrase> and <hardware>
+
+2004-02-06 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't test X config if using driver
+ vmware (bugzilla #5346)
+
+2004-02-06 02:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Provide more detailed info on
+ files backed up/ignored. <Anthill #306> Cleanup some of the
+ redundant code in the actual backup routines.
+
+2004-02-05 23:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) try first to
+ match a pcmcia device before trying to match pci/usb ones when
+ looking for real device's name (#7401)
+
+2004-02-05 22:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: typo fix (spoted by Per Øyvind
+ Karlsen)
+
+2004-02-05 21:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2004-02-05 21:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sl.po: updated Slovenian file
+
+2004-02-05 21:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: ichanged console uz keyboard to uz.uni
+
+2004-02-05 21:01 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-02-05 20:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-05 18:55 Guillaume Cottenceau
+
+ * perl-install/standalone/drakconnect: Informations doesn't exist
+ in english, use Information instead (no need to update the POs,
+ they already contain Information elsewhere)
+
+2004-02-05 18:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable one to not enter
+ optional parameters (aka relax checks on valid values for bitrate
+ and frequency) (#7432)
+
+2004-02-05 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: upcase protocol name
+
+2004-02-05 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-05 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: another typo fix regarding firewall
+
+2004-02-05 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fixes (cosmic flo)
+
+2004-02-05 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm: remove "Quit" icon
+
+2004-02-05 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: write fstab for /tmp using
+ tmpfs when "clean /tmp" is chosen
+
+2004-02-05 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix ugly typo (occuring when removing "clean
+ /tmp", ie not often, especially since drakboot didn't write
+ fstab)
+
+2004-02-05 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, parse.pm, xfree.pm, xfreeX.pm: -
+ add ->prepare_write to allow comparing raw_X's - ensure
+ "config_changed" is returned only if the config file really
+ changed
+
+2004-02-05 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify _create_window() prototype
+
+2004-02-05 12:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) add a border too when embedded
+
+2004-02-05 11:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-02-05 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: since we use WrappedLabel, it's
+ better not to warp_text()
+
+2004-02-05 11:27 Guillaume Cottenceau
+
+ * perl-install/any.pm: this part of code is already executed only
+ in $::isInstall
+
+2004-02-05 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: install_steps is a do_pkgs, so add
+ "use do_pkgs"
+
+2004-02-05 11:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: allow 24bpp for DRI
+ (since all drivers now support it: we had mga tdfx r128 radeon,
+ and i810 also works (tested on a i865))
+
+2004-02-05 02:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2004-02-05 00:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-uz.png,
+ pixmaps/langs/lang-uz@Latn.png: more locale fixes; and changed
+ images for Uzbek to default to cyrillic
+
+2004-02-05 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use protocol "ExplorerPS/2" instead of
+ "auto" for kernel 2.6
+
+ (not statisfying since people booting with kernel 2.4 will not
+ get a working mouse, but at least we can test if this really
+ works nicely for 2.6)
+
+2004-02-05 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: rename $ugtk2::force_center
+ used at install with $ugtk2::force_center_at_pos the boolean
+ $ugtk2::force_center value used standalone is kept as before
+
+2004-02-05 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_default_left.png: remove $draw2
+ (in ugtk2.pm) and wiz_default_left.png which are unused
+
+2004-02-05 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/harddrake2: $::noBorder
+ is deprecated (it was the same as !$::isInstall)
+
+2004-02-05 00:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - rename $ugtk2::force_center used at
+ install with $ugtk2::force_center_at_pos the boolean
+ $ugtk2::force_center value used standalone is kept as before
+
+ - deprecate $::noBorder (it was the same as !$::isInstall) -
+ deprecate $ugtk2::force_position (unused AFAIK)
+
+ - _create_window() now returns the created window, it doesn't
+ assign {rwindow} nor {window} anymore. It doesn't handle a
+ Frame for the window (it is now directly done by ugtk2->new
+ which is the only function using _create_window())
+
+ - deprecate option no_interactive_objects (unused AFAIK)
+
+ - {rwindow} is a VBox for both isWizard and isEmbedded (when
+ isEmbedded, a HBox was created, replacing the create VBox)
+
+ - call ->set_title on $::WizardWindow so that the title is
+ honored in non embedded wizard
+
+ - remove $draw2 and wiz_default_left.png which are unused
+
+ - remove ->set_uposition on $::WizardWindow for install. This is
+ not needed anymore since force_center_at_pos now works on
+ $::WizardWindow
+
+ - hoist $::WizardTable creation
+
+ - explicitly set the size of the window during install. The
+ chosen value is the same as before +9 pixels for the height
+ (the size needs to be fixed since the advertising images must
+ fit)
+
+ - remove the callbacks on expose_event and delete_event for non
+ embedded wizard. they are the same as the one in
+ _create_window() (except for the delete_event which explicitly
+ destroy the window, is that ok??)
+
+ more questions: - ->set_title on a plug may break, it needs
+ testing - flush() just after Gtk2::Plug->new, is it needed?
+ (since there is another flush())
+
+2004-02-05 00:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: a bit of locales corrections
+
+2004-02-04 23:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-02-04 23:31 Guillaume Cottenceau
+
+ * docs/README: update netauto doc
+
+2004-02-04 21:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: replace 4.3 with 4.4 (XFree
+ version) (bugzilla #7378)
+
+2004-02-04 21:50 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: we don't have modules ataraid hptraid
+ silraid pdcraid for 2.6
+
+2004-02-04 18:07 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - don't be afraid, this is not the
+ doc package but just perl module needed by drakhelp.
+
+2004-02-04 17:51 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: - new mandrake-doc* names
+
+2004-02-04 17:10 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: compact declaration
+
+2004-02-04 17:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: create /dev/mapper/control (needed when you
+ don't have devfs)
+
+2004-02-04 16:48 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: ethernet cards get via
+ get_eth_cards()
+
+2004-02-04 16:45 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ standalone/drakconnect: - add
+ network::ethernet::get_eth_cards_names - kill duplicated code
+
+2004-02-04 16:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect:
+ drop Storable and use Dumper (queen & pipi rulez)
+
+2004-02-04 15:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - replace PE_size with extent_size and get
+ it (fix illegal division by 0) - fix getting the output of pvs
+ vgs lvs commands (chomp_ is not enough because of spaces at the
+ end) - fix get_lvs() (and use lvs instead of vgdisplay)
+
+2004-02-04 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - don't display start
+ sector and cylinders used for LVs - display "Number of logical
+ extents" of LVs
+
+2004-02-04 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: ->ask_from_entry and
+ ->ask_from_entries are better with focus_first
+
+2004-02-04 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtk_TextView_get_log): handle errors
+
+2004-02-04 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: we now use XF4 during install, so we
+ can support ExplorerPS/2 (XF3 didn't know it)
+
+2004-02-04 13:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/do_pkgs.pm: (ensure_is_installed): file to test if
+ the package is installed is optional. But in that case, you have
+ to check if it is installed first.
+
+2004-02-04 12:51 Guillaume Cottenceau
+
+ * perl-install/standalone.pm:
+ http://www.gnu.org/prep/standards_18.html says --help and
+ --version are printed on standard output
+
+2004-02-04 12:27 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: typo fix...
+
+2004-02-04 12:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/timezone.pm: - less arguments in ntp_server, $prefix
+ no more passed to function args
+
+2004-02-03 17:39 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Maintain
+ /etc/passwd$$CLIENT$$ so mdkkdm has a valid userlist.
+
+2004-02-03 17:35 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect: -
+ fix adsl_conf_backend call - store and retreive network
+ interfaces via $config file
+
+2004-02-03 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix translator that ignore shortcut
+ hints
+
+2004-02-03 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: (config_window) do not even
+ try to hint the user about the parameter format on a 2.6.x kernel
+
+2004-02-03 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/parameters.pm: (parameters) fix modinfo
+ parsing (format had been altered between modutils and
+ module-init-tools :-()
+
+2004-02-03 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix typo
+
+2004-02-03 16:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: fix typo
+
+2004-02-03 15:50 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: differentiate no floppy disk in driver or
+ ext2 fs
+
+2004-02-03 14:10 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: document when netauto is not provided and
+ bootfile DHCP server param is given
+
+2004-02-03 12:21 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-03 11:59 Guillaume Cottenceau
+
+ * mdk-stage1/doc/TECH-INFOS: more doc on DHCP server response conf
+
+2004-02-03 10:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: perl_checker fix
+
+2004-02-02 19:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: update drakfont help message
+
+2004-02-02 19:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: bump copyright
+
+2004-02-02 19:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: --help: documente new drakboot and
+ drakconnect parameters
+
+2004-02-02 19:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: make installer look smoother in
+ french
+
+2004-02-02 19:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: do not pass extra empty
+ invisible label (really cosmetic)
+
+2004-02-02 19:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: use wrapped labels
+ in various places
+
+2004-02-02 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix drakboot layout when localized
+ in french
+
+2004-02-02 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: fix drakboot layout: use checkboxes own
+ labels rather than packing extra labels
+
+2004-02-02 19:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: kill warning
+
+2004-02-02 19:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: only list wireless capabale
+ cards when one choose wireless cnx
+
+2004-02-02 19:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: remove unneeded next fields
+
+2004-02-02 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-02-02 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.3mdk
+
+2004-02-02 18:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: make cron script be able to use
+ either local smtp server or a remote one (arnaud)
+
+2004-02-02 18:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: add "remove cron entry" on
+ arnaud request
+
+2004-02-02 18:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-07.pl, dis-09.pl: Update
+
+2004-02-02 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (is_wireless_intf) kill it since
+ it's no more usefull.
+
+ rationale: rather than duplicating modules list in
+ kernel/list_modules.pm and network/tools.pm (with usual sync
+ bugs), it's quite much easier to maintain one single list of
+ wireless modules in list_modules.pm
+
+2004-02-02 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: split out wireless
+ connections out of lan ones so that users are less confused
+
+2004-02-02 18:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: split out wireless modules in their own
+ category
+
+2004-02-02 17:57 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-01.pl, dis-02.pl, dis-03.pl,
+ dis-04.pl, dis-05.pl, dis-06.pl, dis-07.pl, dis-08.pl, dis-09.pl,
+ dis-10.pl, dis-11.pl, dwd-02.pl, dwd-03.pl, dwd-04.pl, dwd-05.pl,
+ dwd-06.pl, dwd-07.pl, dwd-08.pl, dwd-09.pl, ppp-01.pl, ppp-02.pl,
+ ppp-03.pl, ppp-04.pl, ppp-05.pl, ppp-06.pl, ppp-07.pl, ppp-08.pl,
+ ppp-09.pl, pwp-01.pl, pwp-02.pl, pwp-03.pl, pwp-04.pl, pwp-05.pl,
+ pwp-06.pl, pwp-07.pl, pwp-08.pl, pwp-09.pl, pwp-10.pl: Update
+
+2004-02-02 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, uz@Latn.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file; changed Uzbek to default to cyrillic
+
+2004-02-02 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.2mdk
+
+2004-02-02 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix preselecting ppoa for
+ speedtouch modem
+
+2004-02-02 17:02 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: add vt_ar5k Atheros wireless cards
+
+2004-02-02 17:00 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: add divas isdn cards
+
+2004-02-02 16:58 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: add airo_mpi wireless cards
+
+2004-02-02 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: remove debug message
+
+2004-02-02 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: add some packages for adsl
+
+2004-02-02 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10-0.1mdk
+
+2004-02-02 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix adsl modem detection
+
+2004-02-02 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) fix modem detection
+ so that harddrake get full device meta data rather than plain
+ presence boolean
+
+2004-02-02 15:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: dis-10.pl, pwp-09.pl: unified
+ phrases that are the same, to ease translating
+
+2004-02-02 15:06 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: add prism54 wireless cards support
+
+2004-02-02 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix reading stage1 network
+ configuration
+
+2004-02-02 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: remove pseudo
+ global variables use from use_floppy()
+
+2004-02-02 14:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: remove pseudo
+ global variables use from adsl_conf_backend()
+
+2004-02-02 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: this module does not need
+ anymore pseudo global variables
+
+2004-02-02 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo creating agpgart alias
+
+2004-02-02 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_steps.pm: - no ide-scsi
+ emulation for ide ZIPs - no ide-scsi emulation for cd burners
+ when kernel 2.6
+
+2004-02-02 13:23 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-02-02 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle new aureal drivers
+
+2004-02-02 12:47 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: add aureal sound cards support
+
+2004-02-02 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-28mdk
+
+2004-02-02 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) handle not
+ loaded drivers
+
+2004-02-02 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: only install uim and anthil on cjk
+ boxes
+
+2004-02-01 11:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2004-02-01 11:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed font names to match real font name
+ capitalization
+
+2004-02-01 11:26 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org's Arabic
+ translation.
+
+2004-01-31 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: add sources url
+
+2004-01-31 20:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable to set hostname even
+ when using DHCP (#7230)
+
+2004-01-31 02:24 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/ftw/po/da.po
+ soft/initscripts/po/da.po soft/menudrake/po/da.po
+ soft/urpmi/po/da.po soft/wizard_perl/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-01-31 00:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: add anthy/uim better cjk input
+ methods
+
+2004-01-30 18:19 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/dwd-09.pl: Fix typo
+
+2004-01-30 18:19 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add magicdev in SYSTEM for KDE or
+ GNOME
+
+2004-01-30 18:10 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-06.pl, dis-10.pl, dwd-01.pl,
+ dwd-02.pl, dwd-03.pl, dwd-04.pl, dwd-05.pl, dwd-06.pl, dwd-07.pl,
+ dwd-08.pl, dwd-09.pl, ppp-01.pl, ppp-02.pl, ppp-03.pl, ppp-04.pl,
+ ppp-05.pl, ppp-06.pl, ppp-07.pl, ppp-08.pl, ppp-09.pl, ppp-10.pl,
+ ppp-11.pl: Update
+
+2004-01-30 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-30 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/advertising/dwd-07.pl: share string with
+ dis-10.pl ppp-10.pl and pwp-09.pl
+
+2004-01-30 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2004-01-30 16:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: add help method ->iter_each_children for
+ Gtk2::TreeModel
+
+2004-01-30 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log one more change in -27mdk
+
+2004-01-30 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not offer to select dhcp
+ client when configuring static interfaces
+
+2004-01-30 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-27mdk
+
+2004-01-30 16:03 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: hack :( if ' ' is at the beginning of a
+ text section, don't forget it, substitute with an unbreakable
+ space because gtk allocates too much space otherwise
+
+2004-01-30 16:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - remove not needed
+ $security - clean dumb foreach repetition (one foreach to rule
+ them all)
+
+2004-01-30 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix crash on module lookup
+ when ifcfg-<intf> file is missing on disk (not yet configured
+ interface case)
+
+2004-01-30 16:01 Guillaume Cottenceau
+
+ * perl-install/install_messages.pm: bump up to 100errata
+
+2004-01-30 15:26 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/install_steps.pm: add/fix
+ various/agpgart section
+
+2004-01-30 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, modules.pm: xxx-agp is not
+ loaded at install, so when_load() is not the right place
+
+2004-01-30 14:15 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add rpm-rebuilder and lm_sensors
+
+2004-01-30 13:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add dvd+rw-tools in BURNER
+
+2004-01-30 12:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: the multiplication must be done with
+ type "long long" otherwise it overflows at 4GB
+
+2004-01-30 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - tell kernel to remove the
+ extended partition - true/false is better than yes/no in log
+ message
+
+2004-01-30 12:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend)
+ make type and interface arguments mandatory
+
+2004-01-30 12:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - show gateway in ethernet
+ only - hide gateway Entry in dhcp mode
+
+2004-01-30 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker cleanups
+
+2004-01-30 11:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: enhance log message "tell kernel
+ ..."
+
+2004-01-30 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: force availlability of speedtouch
+ and eagle packages at install time
+
+2004-01-30 11:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, fi.po: updated Estonian and
+ Finnish files
+
+2004-01-30 00:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-01-30 00:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kppp provider db reading:
+ blacklist spurious .directory entries
+
+2004-01-30 00:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill dead code
+
+2004-01-30 00:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-29 23:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: prevent the installer from
+ going back to proxy configuration (!!!) when pressinth the
+ previous button on first step of network config wizard :-)
+
+2004-01-29 23:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: cleanups enabled b/c of path
+ sharing between standalone tool and installer
+
+2004-01-29 23:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: replace iocharset= with nls= for ntfs (as
+ instructed by Thomas Backlund, thanks)
+
+2004-01-29 23:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm,
+ netconnect.pm: convert some write_cnx_script() callers into
+ set_cnx_script() ones
+
+2004-01-29 23:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (set_cnx_script) split it out of
+ write_cnx_script()
+
+ rationale:functions whose behavior is totally altered by
+ arguments number are insane should just be splited and their
+ callers be fixed
+
+2004-01-29 23:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend)
+ insert a bug notice
+
+2004-01-29 23:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend)
+ remove compat stuff since callers were cleaned up
+
+2004-01-29 23:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, network/network.pm,
+ standalone/drakconnect: replace conf_network_card_backend()
+ "detect" calls by get_eth_cards() ones
+
+2004-01-29 23:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-29 22:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-26mdk
+
+2004-01-29 22:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-24mdk was never released
+
+2004-01-29 20:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: help-fr.pot, help-ru.pot: converted
+ help-*.pot files to utf-8 too (they MUST be of same encoding as
+ po files)
+
+2004-01-29 19:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: beautify ethernet cards name
+
+2004-01-29 19:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Configure clients with
+ defined IPs to set hostname so gnome works.
+
+2004-01-29 18:52 Guillaume Cottenceau
+
+ * perl-install/: install_steps_gtk.pm, ugtk2.pm,
+ share/advertising/dwd-01.pl, share/advertising/dwd-02.pl,
+ share/advertising/dwd-03.pl: advertising: - support leftish and
+ centered text - support arbitrary bold text with ml-like syntax
+ <b>foo</b> in strings - simplify get_text_coord and unexport it,
+ no one else than wrap_paragraph uses it nowadays
+
+2004-01-29 18:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-25mdk
+
+2004-01-29 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: help cperl-mode parsing this
+ file (drawback: perl_checker won't be happy)
+
+2004-01-29 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2004-01-29 18:01 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: shrink
+
+2004-01-29 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: add help for newly introduced
+ MAIL_EMPTY_CONTENT item
+
+2004-01-29 17:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: notify that timeout is in seconds
+
+2004-01-29 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: fix parsing of default values for
+ multi argument msec functions
+
+2004-01-29 17:07 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix modem login fetching
+
+2004-01-29 17:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - use nice interfaces name
+ (e.g. ethernet0 rather than eth0) - fix adsl loading and saving
+ calls
+
+2004-01-29 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix interface config file
+ writing
+
+2004-01-29 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix DHCP client installation
+
+2004-01-29 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: do not force page switch
+
+2004-01-29 16:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix static/dhcp step
+ branching
+
+2004-01-29 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-24mdk
+
+2004-01-29 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ethernet network card
+ list
+
+2004-01-29 12:14 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-29 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-29 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-23mdk
+
+2004-01-29 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix encapsulation pull down
+ menu filling
+
+2004-01-29 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable to alter
+ encapsulation, vci and vpi parameters in advanced mode
+
+2004-01-29 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: write cnx scripts for cable
+ connection too
+
+2004-01-29 11:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix encapsulation parameter
+
+2004-01-29 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix VPI parameter setting
+
+2004-01-29 11:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) fix disconnect
+ script
+
+2004-01-29 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) fix ppp's pty
+ server
+
+2004-01-28 19:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) minor cleanups
+
+2004-01-28 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) new
+ configuration stuff
+
+2004-01-28 19:08 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: support more sata controller sata_svw
+ ata_piix sata_promise
+
+2004-01-28 17:50 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: sucky toggled fix (queen
+ fix)
+
+2004-01-28 17:30 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - move radio buttons to
+ $gui->{intf_radio} - fix authentication menu wrongly used for
+ isdn
+
+2004-01-28 15:42 Guillaume Cottenceau
+
+ * mdk-stage1/: dns.c, network.c: allow having no DNS by only using
+ the ip callback once, see DNS == IP as a special case, don't do
+ DNS calls when no DNS is configured to avoid timeouts
+
+2004-01-28 14:36 David Baudens <baudens at mandriva.com>
+
+ * perl-install/pixmaps/: about.png, nosplash_thumb.png,
+ printerdrake.png, slpash-drakeprint-2.png: Update
+
+2004-01-28 13:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: removed useless variable
+
+2004-01-28 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: create
+ add_modify_remove_sensitive() and use it so that "Modify" and
+ "Remove" are non sensitive when the initial list is empty
+
+2004-01-28 12:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: modem.pm, netconnect.pm: simplify code
+ through format callback (thus enabling to centralize translatable
+ strings, thus reducing error risk)
+
+2004-01-27 20:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: - add gtk_new_TextView_get_log() and
+ gtk_TextView_get_log() which allow running a command in
+ background and get the filtered output in a TextView - add
+ Gtk2::OptionMenu::new_with_strings() which is a simple
+ combination of ->new, ->set_popdown_strings and ->set_text
+
+2004-01-27 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: typo fix
+
+2004-01-27 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback debug stuff :-(
+
+2004-01-27 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-27 18:06 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: fix typo s#Network name#Network
+ name#
+
+2004-01-27 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: get encapsulation default
+ value from provider db and offer to configure it
+
+2004-01-27 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: - add Retevision spanish
+ provider - add encapsulation default value
+
+2004-01-27 17:47 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix typo s/Netwok name
+ (ESSID)/Network name (ESSID)/
+
+2004-01-27 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-27 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-27 17:16 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix Information page - use
+ mapIntfToDevice to get infos
+
+2004-01-27 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: adiusbadsl package was
+ renamed as eagle
+
+2004-01-27 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: default protocol for
+ speedtouch is pppoa
+
+2004-01-27 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not try to install "auto"
+ package
+
+2004-01-27 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install needed packages w/o
+ second thoughs
+
+2004-01-27 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove extra argument
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add a step in order to select
+ a provider from kppp database
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: kill dead code
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) vpi and vci
+ parameters are independant
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: configure adsl account
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (isdn account step) -
+ directly use needed variables - kill uneeded fields
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl_consts.pm, netconnect.pm: preset
+ domainname for a few known providers
+
+2004-01-27 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: typo fix
+
+2004-01-27 00:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Remove unused sub.
+
+2004-01-26 23:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: reuse values got from
+ provider db
+
+2004-01-26 23:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: rename dns fields as they're
+ named in netc structure
+
+2004-01-26 23:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) actually use
+ given interface rather than hardcoded "eth0"
+
+2004-01-26 23:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: cleanups
+
+2004-01-26 23:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: display nice "ethX: card
+ description" rather than raw interface name when selecting an
+ ethernet interface
+
+2004-01-26 22:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (get_eth_cards) - split it out
+ of conf_network_card_backend() (which still call it for
+ compatibility for now but sincefunctions whose behavior is
+ totally altered by arguments are insane should just be splited,
+ caller will be fixed then this compatibily call removed) - add
+ a third string in returned tuples (physical net device
+ description)
+
+2004-01-26 22:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (mapIntfToDevice) introduce it
+ in order to map a network interface to a pci/usb/... device
+
+2004-01-26 19:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Another cron issue reported
+ on Anthill.
+
+2004-01-26 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: reput back my changes that
+ poulpy gratuitously rollbacked because: - he hadn't update
+ network/*pm but only update standalone/drakconnect - he happilly
+ followed what perl_checker instrumentate him w/o any second
+ thoughs
+
+ next time damien, do not listen gc when he's explaining how he
+ resolves conflicts the first time he used cvs :-(
+
+2004-01-26 18:25 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix sucky fix
+
+2004-01-26 18:17 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix missing parameters -
+ add kind and protocol to $config - fix various issues from
+ $config changes
+
+2004-01-26 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker was wrong
+
+2004-01-26 18:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, network/tools.pm,
+ standalone/drakconnect, standalone/net_monitor: get rid of global
+ variables regarding connect/disconnect scripts
+
+2004-01-26 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (stop_internet)
+ init_globals()'s prefix parameter is dead
+
+2004-01-26 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm,
+ netconnect.pm, network.pm, tools.pm: get rid of pseudo global
+ $prefix, just reuse global $::prefix :-)
+
+2004-01-26 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: kill unused down_it() and
+ up_it() functions
+
+2004-01-26 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix the cleanup
+
+2004-01-26 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove useless parenthessis
+
+2004-01-26 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - pack add_modify_remove widget
+ growable - no need to size it
+
+2004-01-26 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make wizard be faster when
+ trying to install speedtouch_mgmt and when firmware is already
+ present
+
+2004-01-26 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: share provider db for all usb
+ modems (vpi/vci parameters are need for most modem/protocol
+ combinaisons and anyway it's ok to guess the protocol and dns
+ servers for the end user)
+
+2004-01-26 16:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: new function
+ add_modify_remove_action()
+
+2004-01-26 16:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2004-01-26 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: perl Gtk2 has been rebuilt
+
+2004-01-26 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: add gtk_set_treelist
+
+2004-01-26 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - let be faster when trying
+ to install already installed packages - fix next step name when
+ installing kppp
+
+2004-01-26 14:35 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: don't forget to umount additional drivers
+ floppy after successful copy of modules.mar (gc sux)
+
+2004-01-26 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: don't use ioctl KDSKBENT with kernel
+ 2.6, until fixed...
+
+2004-01-26 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: (Repaint) help perl_checker in
+ checking time_to_rad() arguments
+
+2004-01-26 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: (spinned) do not pass extra
+ arguments to time_to_rad()
+
+2004-01-26 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: reindent gtkpack calls
+
+2004-01-26 10:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: rename adj_* variables as adj*
+ in order to help cperl-mode parsing this file
+
+2004-01-26 03:14 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/control-center/po/da.po
+ soft/GtkMdkWidgets/po/da.po soft/mdkhtmlbrowser/po/da.po
+ soft/menudrake/po/da.po soft/rfbdrake/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-01-26 01:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (getNetDriver) introduce getHwIDs()
+ alias that return pci/usb/... hw addr (or "N/A" for some isapnp
+ cards due to lack of support from drivers)
+
+2004-01-26 00:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill unused dhcp_hostname
+ step
+
+2004-01-26 00:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix again adsl type setting
+ :-(
+
+2004-01-25 23:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-25 23:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: modem connection: install
+ kppp
+
+2004-01-25 22:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set adsl protocol to use
+ according to provider database when using a sagem 800 modem
+
+2004-01-25 22:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: modem connection: default to
+ pap/chap authentification method (should work for most people)
+
+2004-01-25 22:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2004-01-25 22:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2004-01-25 22:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-25 18:14 Youcef Rabah Rahal <rahal at arabeyes.org>
+
+ * perl-install/share/po/ar.po: Committing Arabeyes.org translation.
+
+2004-01-25 00:37 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2004-01-24 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: s/ppptp/pptp/
+
+2004-01-24 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: factorize lan module search
+ for adsl through ethernet
+
+2004-01-24 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make adsl device choose
+ somewhat readable (detabable though
+
+2004-01-24 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix adsl device setting :-(
+
+2004-01-24 16:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill unreachable code
+
+2004-01-24 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill unused variable
+
+2004-01-24 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: cleanup
+
+2004-01-23 20:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: perl_checker: assigned, but
+ not read
+
+2004-01-23 19:59 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: More perl_checker fixes.
+ Remove another unused sub. Fix broken sys, other restore.
+
+2004-01-23 19:58 Guillaume Cottenceau
+
+ * perl-install/modules.pm: don't miss the hook with 2.6 usb kernels
+ (might explain fredl problem with usb keyboard)
+
+2004-01-23 19:45 Guillaume Cottenceau
+
+ * rescue/tree/sbin/modprobe: support 2.4 and 2.6
+
+2004-01-23 19:35 Guillaume Cottenceau
+
+ * rescue/list: lsmod.old and rmmod.old also needed
+
+2004-01-23 19:33 Guillaume Cottenceau
+
+ * rescue/tree/bin/insmod: autoprobe? what's that?
+
+2004-01-23 18:53 Guillaume Cottenceau
+
+ * mdk-stage1/nfsmount.c: since dietlibc always reports null strings
+ for RPC errors, at least provide something useful instead
+
+2004-01-23 18:19 Guillaume Cottenceau
+
+ * docs/HACKING: wrong, "make" in kernel by hand is not even needed
+
+2004-01-23 18:04 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: dis-01.png, dis-02.png,
+ dis-03.png, dis-04.png, dis-05.png, dis-06.png, dis-07.png,
+ dis-08.png, dis-09.png, dis-10.png, dis-11.png, dwd-01.png,
+ dwd-02.png, dwd-03.png, dwd-04.png, dwd-05.png, dwd-06.png,
+ dwd-07.png, dwd-08.png, dwd-09.png, ppp-01.png, ppp-02.png,
+ ppp-03.png, ppp-04.png, ppp-05.png, ppp-06.png, ppp-07.png,
+ ppp-08.png, ppp-09.png, ppp-10.png, ppp-11.png, pwp-01.png,
+ pwp-02.png, pwp-03.png, pwp-04.png, pwp-05.png, pwp-06.png,
+ pwp-07.png, pwp-08.png, pwp-09.png, pwp-10.png: Update
+
+2004-01-23 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix adsl connection type
+ retrieving
+
+2004-01-23 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix interface name when doing
+ adsl over an ethernet card
+
+2004-01-23 17:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sort ADSL connection types
+
+2004-01-23 16:58 Guillaume Cottenceau
+
+ * docs/HACKING: update
+
+2004-01-23 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: offer to configure sagem800
+ (needed because of unfriendly vpi/vci parameters)
+
+2004-01-23 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl_consts.pm: provider database needed in
+ oder to not arbitrary set obfuscated vpi and vci parameters
+
+2004-01-23 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_probe_info) make it aware of
+ the fact we now see the adsl modem and protocol separatly
+
+2004-01-23 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: remove debug message
+
+2004-01-23 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-23 14:59 Guillaume Cottenceau
+
+ * perl-install/standalone/printerdrake: "use USER" is unecessary
+ and probably comes from copy-pasting userdrake's GUI
+
+2004-01-23 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: checking {notFormatted} must never be done
+ alone, one must check {isFormatted} first!
+
+2004-01-23 14:35 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Rework timestamp for backup
+ files to please perl_checker.
+
+2004-01-23 14:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) enable TreeView to
+ take all availlable space
+
+2004-01-23 14:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian po file
+
+2004-01-23 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: minor update
+
+2004-01-23 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-23 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (search_dir_font) kill unused
+ variable
+
+2004-01-23 01:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: upfdated pot file
+
+2004-01-23 00:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix doble "IP address"
+ entries
+
+2004-01-23 00:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-23 00:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: config some stuff about adsl
+ protocol
+
+2004-01-23 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill debug statement
+
+2004-01-23 00:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: factorize out adsl protocols'
+ translations
+
+2004-01-22 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: get rid of uselesss
+ net_device variabl
+
+2004-01-22 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: code simplification due to
+ previous assertion
+
+2004-01-22 23:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: ensure struct XXX and o_XXX
+ parameters always reference the same hashes
+
+2004-01-22 23:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/: advertising/dwd-03.pl, po/DrakX.pot,
+ po/af.po, po/ar.po, po/az.po, po/be.po, po/bg.po, po/br.po,
+ po/bs.po, po/ca.po, po/cs.po, po/cy.po, po/da.po, po/de.po,
+ po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fa.po,
+ po/fi.po, po/fr.po, po/ga.po, po/gl.po, po/he.po, po/hi.po,
+ po/hr.po, po/hu.po, po/id.po, po/is.po, po/it.po, po/ja.po,
+ po/ko.po, po/lt.po, po/lv.po, po/mk.po, po/mn.po, po/ms.po,
+ po/mt.po, po/nb.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po,
+ po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sq.po, po/sr.po,
+ po/sr@Latn.po, po/sv.po, po/ta.po, po/tg.po, po/th.po, po/tr.po,
+ po/uk.po, po/uz.po, po/uz@Cyrl.po, po/vi.po, po/wa.po,
+ po/zh_CN.po, po/zh_TW.po: s/(Mandrake Linux is one) (the most
+ widely used)/\1 of \2/
+
+2004-01-22 22:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: help perl_checker
+
+2004-01-22 22:20 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: moving forward our story with nice kernel
+ guys, now they decided to remove the trailing space at the end of
+ "Attached devices:" of /proc/scsi/scsi, probably that they had
+ nothing more interesting to do this day
+
+2004-01-22 21:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: draksound doesn't write the
+ sound alias b/c of wrong comparison with the default driver, thus
+ not configuring not yet configured cards (#6988)
+
+2004-01-22 21:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: XFdrake, diskdrake, drakTermServ,
+ drakautoinst, drakbackup, drakboot, drakbug, drakconnect,
+ drakedm, drakfirewall, drakfloppy, drakfont, drakgw, drakhelp,
+ drakproxy, drakpxe, draksec, draksound, drakupdate_fstab,
+ drakxtv, fileshareset, logdrake, net_monitor, printerdrake,
+ scannerdrake: update copyright notices
+
+2004-01-22 21:42 Pixel <pixel at mandriva.com>
+
+ * Makefile: upload images/boot.iso
+
+2004-01-22 21:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) gc prefers ->isa()
+
+2004-01-22 21:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: remove never implemented
+ --strong option
+
+2004-01-22 20:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker cleanups
+
+2004-01-22 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker cleanups
+
+2004-01-22 19:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: minor cleanups
+
+2004-01-22 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker cleanups
+
+2004-01-22 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkadd_widget) introduce it for size
+ groups
+
+2004-01-22 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) enable properly
+ setted checkbuttons (aka those who correctly use text instead of
+ label) to take all the place they need, thus preventing spurious
+ horizontal scrolling bar to show up
+
+2004-01-22 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: when configuring an ethernet
+ card, skip the protocol choice step for any cnx type different
+ than lan (eg: for cable and adsl connections)
+
+2004-01-22 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: help perl_checker
+
+2004-01-22 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/stdio.pm: $def_n is unused
+
+2004-01-22 18:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: remove unused variable
+
+2004-01-22 18:14 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: better do 2.4->2.6 compat module alias as
+ soon as possible to display correct stuff in logs and simplify
+ code
+
+2004-01-22 18:09 Guillaume Cottenceau
+
+ * mdk-stage1/: adsl.c, cdrom.c, disk.c, lomount.c, modules.c,
+ modules.h, mount.c, network.c, probing.c, stage1.c,
+ pcmcia_/cardmgr.c: until we haven't loaded the usb interface and
+ the keyboard usb driver, we can't allow asking for additional
+ drivers floppy, so need another parameter to my_insmod to
+ indicate in which situation we are
+
+2004-01-22 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix button label
+
+2004-01-22 17:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix untraslated strings -
+ upcase tcp/ip
+
+2004-01-22 17:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - remove _radio suffix -
+ prevent undefined value to be get_texted
+
+2004-01-22 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback debug stuff :-(
+
+2004-01-22 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_conf_backend) kill
+ interactive code (was merged into adsl wizard)
+
+2004-01-22 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (copy_firmware) kill it (was
+ merged into add intf wizard
+
+2004-01-22 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: handle speedtouch firmware if
+ needed
+
+2004-01-22 17:05 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: when checking for modules already loaded,
+ be sure to check for the real name
+
+2004-01-22 16:53 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: ensure insmod will try to access correct
+ filename according to 2.4->2.6 compat mapping
+
+2004-01-22 16:52 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: really display filename when "error
+ reading" a file to insmod in 2.6
+
+2004-01-22 16:42 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: stage1-network-usb is deprecated
+
+2004-01-22 16:31 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: clean up users
+
+2004-01-22 16:30 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add planou
+
+2004-01-22 16:30 Pixel <pixel at mandriva.com>
+
+ * Makefile: fix typo
+
+2004-01-22 16:28 Guillaume Cottenceau
+
+ * kernel/modules.pl: fs/network should be unneeded in network.img
+ and network.img is close to full up already, move it to the
+ drivers floppy
+
+2004-01-22 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: do not mix before and after
+ firmware upload usb ids
+
+2004-01-22 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: detect ECI like modems and
+ warn we cannot support them (hence less pressure on our support
+ services)
+
+2004-01-22 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) detect ECI modems
+
+2004-01-22 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix typo fix
+
+2004-01-22 16:15 Guillaume Cottenceau
+
+ * kernel/modules.pl: revive network.img, use an additional
+ network_drivers.img, put back many discarded modules
+
+2004-01-22 16:13 Guillaume Cottenceau
+
+ * make_boot_img: we always have a remaining img mounted after
+ building images, can't see why, i think it's better to umount
+
+2004-01-22 16:12 Guillaume Cottenceau
+
+ * make_boot_img: revive network.img and allow a drivers second
+ floppy to be used with
+
+2004-01-22 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getECI) introduce it in order to
+ detect eci like usb modems
+
+2004-01-22 15:56 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - further s/cnx/intf/ -
+ remove old code
+
+2004-01-22 15:40 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: prefer kernel 2.6
+
+2004-01-22 15:36 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: fix removing cdrom-changeloop.img
+
+2004-01-22 15:28 Pixel <pixel at mandriva.com>
+
+ * kernel/check_mar.pl: update
+
+2004-01-22 15:21 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: handle 2 boot kernels in distro
+
+2004-01-22 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix :-(
+
+2004-01-22 15:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: tag speedtouch and eci
+ connections as to be restarted as in old wizard
+
+2004-01-22 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: rename old end adsl step
+
+2004-01-22 15:11 Warly <warly at mandriva.com>
+
+ * make_boot_img: new progress bar layout
+
+2004-01-22 14:40 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: do not test $intf but $gui,
+ poulpy sux
+
+2004-01-22 14:39 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: drop cdrom-changedisk (was used on CD2, but not
+ useful, dixit support team)
+
+2004-01-22 14:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix isdn modem page
+
+2004-01-22 14:37 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: build boot.iso
+
+2004-01-22 14:33 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: factorise gui set_text
+
+2004-01-22 14:21 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img: - Makefile doesn't know anymore which
+ .img are built it's better that way since make_boot_img rules
+ were not clean (isolinux was built when building all.rdz, ...)
+ - make_boot_img cleanup, perl_checker compatible...
+
+2004-01-22 14:19 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: rpmtools and perl-URPM are still 5.8.2
+
+2004-01-22 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install needed package
+ depending of modem
+
+2004-01-22 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback
+
+2004-01-22 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add static configuration for
+ sagem800 spanish users
+
+2004-01-22 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: hide too big label (which is
+ useless because of above text) but keep it for translation b/c of
+ further reusage
+
+2004-01-22 12:29 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: nice kernel guys like to change modules
+ names for no reasons when they have a break
+
+2004-01-22 12:28 Guillaume Cottenceau
+
+ * kernel/list_modules.pm: need also usb 1.x adapters drivers of 2.6
+ name style
+
+2004-01-22 12:15 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - return the list of rdz (eg: cdrom, all,
+ pcmcia) - drop rdz network* and hd*
+
+2004-01-22 12:14 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: use the list of modules (eg: cdrom, all,
+ pcmcia) given by modules.pl
+
+2004-01-22 12:14 Pixel <pixel at mandriva.com>
+
+ * kernel/check_mar.pl: check cdrom & all instead of network & hd
+
+2004-01-22 12:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - drop detection, will use
+ interface scheme ($config) - use $interface_kind
+
+2004-01-22 11:54 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: drop now unused code
+
+2004-01-22 11:51 Guillaume Cottenceau
+
+ * perl-install/modules.pm: nice kernel guys spend their free time
+ renaming modules for fun
+
+2004-01-22 11:51 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix broken MII_NOT_SUPPORTED
+ and HWADDR
+
+2004-01-22 11:43 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: add dns3 entry
+
+2004-01-22 11:43 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: the rpm passed as parameter can now be a
+ relative file or an absolute file
+
+2004-01-22 11:24 Guillaume Cottenceau
+
+ * mdk-stage1/doc/TECH-INFOS: disk will also need the directory
+
+2004-01-22 03:56 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2004-01-21 23:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Updated title bar texts of
+ error pop-ups.
+
+2004-01-21 23:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Added title bar
+ texts for error and warning pop-ups.
+
+2004-01-21 22:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, printer/main.pm,
+ printer/printerdrake.pm, standalone/printerdrake,
+ standalone/scannerdrake: Removed occurences of "Mandrake" from
+ translateable strings.
+
+2004-01-21 19:39 Guillaume Cottenceau
+
+ * perl-install/network/netconnect.pm: perl checker fixes
+
+2004-01-21 19:37 Guillaume Cottenceau
+
+ * perl-install/modules.pm: misc change: more readable way of
+ setting usb-interface alias
+
+2004-01-21 19:11 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c: add capability to
+ use an additional drivers floppy
+
+2004-01-21 18:55 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/modules.pm: add *-agp module
+ support
+
+2004-01-21 18:54 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: retreive vpi and vci from config
+ file for speedtouch
+
+2004-01-21 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: really use the same path in
+ standalone and install mode
+
+2004-01-21 18:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add new first adsl steps
+
+2004-01-21 18:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: rename old adsl step
+
+2004-01-21 18:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (adsl_detect) - remove useless
+ parameter - always return an hash, even if empty (simplify caller
+ code)
+
+2004-01-21 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: factorize lan detection
+ (needed for adsl)
+
+2004-01-21 18:07 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: network_gigabit_usb doesn't exist anymore
+
+2004-01-21 17:18 Pixel <pixel at mandriva.com>
+
+ * Makefile: add image hd_grub.img
+
+2004-01-21 17:16 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: - add building of hd_grub.img - perl_checker fixes
+
+2004-01-21 15:59 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix typo
+
+2004-01-21 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-21 15:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-21 14:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fixed typo
+
+2004-01-21 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: - fix sizing main
+ window - always use a scrolled window when non pop_it (so that
+ the buttons are at the bottom)
+
+2004-01-21 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: don't pass empty options, new insmod
+ doesn't like it
+
+2004-01-21 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: perl_checker fix
+
+2004-01-21 11:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hi.po, pl.po: updated Hindi file;
+ corrected syntax error in Polish file
+
+2004-01-21 11:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2004-01-21 01:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/po/Makefile: remove checking "$"
+ in po strings, perl_checker takes care of this correctly (ie.
+ N("a\$b") will get string "a$b" in po which is ok, whereas
+ N("a$b") gives an error)
+
+2004-01-21 00:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list, rescue/list: replace PERL_VERSION with
+ current version of some perl modules
+
+2004-01-21 00:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - ugly hack to temporary handle reading
+ ide_cd in /proc/modules whereas we insmoded ide-cd - removing
+ load_ide() (unused)
+
+2004-01-21 00:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: modules::load_ide() is removed,
+ now we use the same as install_step_interactive
+
+2004-01-20 23:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: do not try anymore to have small
+ pop_it dialog boxes. Make them all the same size and so drop all
+ the (big) code trying to use scrolled windows only when needed
+ and to size them appropriately
+
+2004-01-20 23:15 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: revert warly's committing debug things
+
+2004-01-20 20:04 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2004-01-20 18:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-20 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: remove useless LOGIN field
+
+2004-01-20 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: do not gratuitously reinvent
+ write_secret_backend()
+
+2004-01-20 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: share same path in both
+ standalone and in install mode (2/2)
+
+2004-01-20 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not offer to enter domain
+ name twice
+
+2004-01-20 18:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-22mdk
+
+2004-01-20 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * make_boot_img: rollback warly debug message
+
+2004-01-20 18:13 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING: update (thanks to Sunny Dubey)
+
+2004-01-20 17:34 Warly <warly at mandriva.com>
+
+ * make_boot_img: adap bmp2mdk command line to new syslinux boot
+ image
+
+2004-01-20 17:31 Warly <warly at mandriva.com>
+
+ * isolinux-graphic.bmp: new install boot image for 10.0 beta
+
+2004-01-20 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: fix #6944: ensure proper perms
+ on /etc/profile.d/proxy.{,c}sh (pieleric@etu.utc.fr)
+
+2004-01-20 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: share same path in both
+ standalone and in install mode
+
+2004-01-20 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: read back auth method
+
+2004-01-20 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: s/N('...')/N("...")/
+
+2004-01-20 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: read back new fields
+
+2004-01-20 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: save login in ifcfg-ppp0
+
+2004-01-20 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: save ip if needed
+
+2004-01-20 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: in setupBootloader__entries(): - move vga
+ and initrd from $::expert to advanced - drop setting read-write,
+ table, unsafe
+
+2004-01-20 16:29 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-01-20 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: fix dyn/static stuff
+
+2004-01-20 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix gateway reading and
+ writing
+
+2004-01-20 16:19 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: install the squid package, if
+ necessary
+
+2004-01-20 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: fix static/dyn settings
+
+2004-01-20 16:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: modem.pm, netconnect.pm: - handle PAP/CHAP
+ auth method too - translate again strings
+
+2004-01-20 15:58 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: cooker logo
+
+2004-01-20 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: handle more kppp options from new
+ steps
+
+2004-01-20 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use checkbow's label
+
+2004-01-20 15:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: disable wen and dns until fixed
+
+2004-01-20 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: dyn hostname is a boolean
+
+2004-01-20 15:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: make sections more visible in
+ generated kppprc conf file
+
+2004-01-20 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - split ppp steps into
+ account, ip, dns and gateway parameters step - offer to configure
+ more ip, dns and gateway parameters
+
+2004-01-20 15:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rename ppp_choose as
+ ppp_account
+
+2004-01-20 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-20 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: simplify
+
+2004-01-20 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: go to wireless step if needed
+
+2004-01-20 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix mount point /tmp/image for the cdrom in
+ generated /etc/fstab
+
+2004-01-20 13:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: always go to hostname step
+ (shared by all paths)
+
+2004-01-20 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill old cable step
+
+2004-01-20 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: install requested dhcp client
+
+2004-01-20 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add hidden option enabling to
+ select dhcp client
+
+2004-01-20 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: skip protocol step when
+ configuring cable connection
+
+2004-01-20 13:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: cable is like lan but with
+ dhcp
+
+2004-01-20 13:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: set connection type at one
+ point only
+
+2004-01-20 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ help perl_checker seeing charsetChanged even if known
+ install_steps_* can be seen
+
+2004-01-20 12:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: simpkify %toreplace build
+
+2004-01-20 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix wizard layer usage (b/c of new
+ api)
+
+2004-01-20 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove useless parameter
+
+2004-01-20 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: load adsl wizard on demand
+
+2004-01-20 12:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (get_subwizard) introduce the
+ infrastructure that enable to load a part of a wizard from
+ another module
+
+2004-01-20 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/advertising/Makefile: CVS has all the
+ advertisings, but only upload the dwd (download) one
+
+2004-01-20 12:51 (Hilbert) 廖唯鈞 <h at mandrake.org>
+
+ * perl-install/share/po/zh_TW.po: This is a test commit
+
+2004-01-20 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, modules.pm,
+ modules/parameters.pm: kernel 2.6 .ko adaptation
+
+2004-01-20 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: cleanup & kernel 2.6 .ko adaptation
+
+2004-01-20 12:47 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: not enough room on cdrom.img, removing a
+ module...
+
+2004-01-20 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix set_default_direction() call
+
+2004-01-20 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: init modem data structure
+ when manually selecting a serial port
+
+2004-01-20 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix modem dns servers reading
+
+2004-01-20 12:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: keep entered data when
+ stepping back to dialup options step
+
+2004-01-20 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not mix modem choice and
+ modem configuration, so that we keep entered data when stepping
+ back and forward
+
+2004-01-20 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: pass dynamically build data
+ into interactive layer when configuring modems
+
+2004-01-20 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix device (was broken due to
+ the fact we kept all the data collected about modems)
+
+2004-01-20 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ppp_configure call
+
+2004-01-20 12:03 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: all.rdz needs more than 4MB, raising to 5MB
+
+2004-01-20 11:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: merge ppp_configure_raw() into its
+ only caller (ppp_configure())
+
+2004-01-20 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: do not bother try installing
+ packages in testing mode
+
+2004-01-20 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: prepare killing obfuscated
+ install path
+
+2004-01-20 11:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: merge in next_cnx_step into
+ handle_multiple_cnx
+
+2004-01-20 11:22 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix typo
+
+2004-01-20 11:16 Pixel <pixel at mandriva.com>
+
+ * rescue/list: replace rpmpopt-4.2 with rpmpopt-* (since we now
+ have rpmpopt-4.2.2)
+
+2004-01-20 11:15 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: fix regexp matching module when generating
+ .not-enough-room
+
+2004-01-20 11:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/bs.po: fix duplicate message
+
+2004-01-20 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: workaround buggy installkernel that
+ left default value be geater than the current number of entries,
+ thus making drakboot displaying (default-entries_count) spurious
+ "()*" entries which then results in writing back bogus grub conf
+ file.
+
+ kernel team should just be shuted down :-(
+
+2004-01-20 10:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/bs.po: fix duplicate message
+
+2004-01-20 03:15 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: part. update
+
+2004-01-20 00:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - kill duplicated code - move
+ some code where it belongs so that it's shared by isdn/modem
+
+2004-01-20 00:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - merge wireless step into
+ normal modem one - report all detected serial modems - use all
+ collected data on modems in order to have a nice list
+
+2004-01-20 00:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback bogus change
+
+2004-01-20 00:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: perl_checker fixes
+
+2004-01-19 23:45 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Trying to get rid of "Translated to
+ da.po" problem - did not work:-( soft/menu-messages/da.po
+ soft/control-center/po/da.po soft/drakcronat/po/da.po
+ soft/ftw/po/da.po soft/GtkMdkWidgets/po/da.po
+ soft/kdebase-servicemenu/po/da.po soft/krozat/po/da.po
+ soft/mandrake-menu-directory/po/da.po soft/mdkkdm/po/da.po
+ soft/mdklaunchhelp/po/da.po soft/menudrake/po/da.po
+ soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ soft/userdrake2/po/da.po soft/wizard_perl/po/da.po
+ gi/perl-install/share/po/da.po
+ soft/galaxy/thememdk/mandrake_client/po/da.po
+
+2004-01-19 23:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: dot not try to alter squid
+ config in --testing mode
+
+2004-01-19 23:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: remove empty lines in order to
+ get more place for entry fields
+
+2004-01-19 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: isdn: detect serial modems if
+ needed
+
+2004-01-19 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rename "ppp_choose step" as
+ "choose_serial_port" and "ppp_choose2" one as "ppp_choose"
+
+2004-01-19 23:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: chain hostname/dns step with
+ zeroconf one (more work on zeroconf will be done between beta 1
+ and 2)
+
+2004-01-19 23:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: turn "unsupported winmodem"
+ into a terminal step
+
+2004-01-19 22:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add strings for future
+ options
+
+2004-01-19 20:37 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ soft/ftw/po/da.po soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-01-19 20:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix next_cnx_step call
+
+2004-01-19 19:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_configure_raw) remove code
+ stolen from ppp_configure()
+
+2004-01-19 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2004-01-19 19:34 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - add build_tree to fetch
+ info before doing GUI stuff - use $intf->{$interface}{save} to
+ re-use existing write_foo specific fonctions - change
+ build_notebook thing - indenting && perl_checking
+
+2004-01-19 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSerialModem) fix device field
+
+2004-01-19 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (detect) display a nice
+ string for serial modems
+
+2004-01-19 18:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (detect) - adapt modem
+ detection to new detect_devices - keep all data collected on
+ modems
+
+2004-01-19 18:47 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-01-19 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getModem) simplify
+
+2004-01-19 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSerialModem) - drop useless
+ first arg - return all detected serial modems, not only first -
+ return all data we collected on serial modems
+
+2004-01-19 18:23 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: typo error
+
+2004-01-19 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getSerialModem) do not even
+ bother check for /dev/modem since anyway probeSerialDevices() set
+ a bijection between modems and /dev/ttySx devices (not
+ /dev/modem) thus making hasModem() test useless for /dev/modem
+
+2004-01-19 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) use HIDIOCAPPLICATION
+ ioctl definition from c module
+
+2004-01-19 18:14 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add transparent proxy support
+
+2004-01-19 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: kill useless diagnostics
+ pragma
+
+2004-01-19 17:47 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/network.pm: add the silly read_squid
+ function
+
+2004-01-19 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add proper window title
+
+2004-01-19 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: make a real wizard step out
+ of first modem step
+
+2004-01-19 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: winmodem connection'll be
+ merge into modem connection
+
+2004-01-19 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill Data::Dumper orphean
+
+2004-01-19 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (reate_box_with_title) shrink TextView
+ size to its minimal size in order to get the bigger place for
+ other widgets
+
+2004-01-19 15:38 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add forcedeth network driver (as
+ requested on cooker)
+
+2004-01-19 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, pkgs.pm: - factorize kernel regexp in
+ analyse_kernel_name() - remove special kernel choosing in
+ packageCallbackChoices()
+
+2004-01-19 15:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: cleanup sanitize_ver (re-synced with
+ common.pm from bootloader-utils)
+
+2004-01-19 15:24 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/ppp-04.pl: Update
+
+2004-01-19 14:28 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-19 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, fs.pm: kernel 2.2 is deprecated
+
+2004-01-19 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: kernel22 is not there anymore (since
+ a long time now)
+
+2004-01-19 14:14 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-01-19 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-19 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: add some logging explaining the default
+ kernel choice
+
+2004-01-19 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: select bestKernelPackage before
+ selecting basesystem (otherwise basesystem already requires
+ kernel)
+
+2004-01-19 12:42 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Epiphany is now GNOME default web
+ browser.
+
+2004-01-19 11:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, nb.po: updated Estonian and
+ Norwegian files
+
+2004-01-19 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: $::testing means
+ testing, not "testing what titi wants to test"
+
+2004-01-19 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: prevent unpoped wait messages
+ when called from within wizards in standalone mode
+
+2004-01-19 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: merge dhcp hostname into
+ hostname step
+
+2004-01-19 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: remove useless spacing above
+ advanced options
+
+2004-01-19 11:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use radio button instead of
+ optionmenu if possible (aka not too many network interfaces)
+
+2004-01-19 11:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: simplify
+
+2004-01-19 10:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add a warning telling to run lilo
+ after modifying the lilo.conf (bugzilla #6924)
+
+2004-01-19 02:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: add missing empty lines
+
+2004-01-19 02:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: another update
+
+2004-01-19 02:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: further update
+
+2004-01-19 01:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2004-01-19 01:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-19 01:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-18 17:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: - typo fix (#6919) - let drakconnect
+ message be wrapped by gtk+ rather than us
+
+2004-01-18 11:52 Funda Wang <fundawang at linux.net.cn>
+
+ * perl-install/share/po/zh_CN.po: update
+
+2004-01-18 07:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2004-01-18 07:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/cy.po: update
+
+2004-01-17 23:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix obvious typo
+
+2004-01-17 22:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix #6899: tools failling to popup windows
+ while embedded
+
+2004-01-17 21:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-17 21:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-17 18:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: udated pot file; converted to
+ UTF-8 all po files (as therer are utf-8 msgid
+
+2004-01-17 18:27 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: add wait message as hardware
+ detection takes time
+
+2004-01-17 17:38 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/dwd-09.pl: Fix (r)
+
+2004-01-17 17:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: spell checking
+
+2004-01-17 04:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot: fix doble entries
+
+2004-01-17 03:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po, hi.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mk.po,
+ mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: fix doble entries
+
+2004-01-17 03:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/advertising/: dis-09.pl, dis-11.pl, dwd-04.pl,
+ dwd-05.pl, dwd-06.pl, dwd-08.pl, ppp-04.pl, ppp-05.pl, ppp-07.pl,
+ ppp-09.pl, ppp-11.pl, pwp-04.pl, pwp-08.pl, pwp-09.pl, pwp-10.pl:
+ fix package build
+
+2004-01-17 00:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: new host settings step
+
+2004-01-17 00:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: clean horrible code
+
+2004-01-17 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: do not alter proxies config
+ while configuring network interfaces (needed since we've disabled
+ proxy config in network interface config path)
+
+2004-01-17 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: do not install zeroconf if no
+ zeroconf hostname was typed in (we may add a USE_ZEROCONF
+ variable to /etc/sysconfig/network instead)
+
+2004-01-17 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: (ppp_configure) reintroduce it for
+ drakconnect's manager
+
+2004-01-17 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm: do not
+ export dead functions
+
+2004-01-17 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: prevent faillure when trying to
+ dereference undef in testing mode
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: split/merge lan config steps
+ according to new specs (card => protocol => parameters =>
+ hostname)
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: rollback "separate standalone
+ and install paths" try (just too painful to maintain and anyway
+ install net wizard has no logic)
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - make a real step out of
+ "manage multiple internet connections" case - factorize and fix
+ accessing to this step
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: drop proxy configuration
+ step.
+
+ rationale: - miscellaneous_choose() was reintroduced in
+ network::network since it was still needed by drakproxy -
+ anyway configuring proxies is: o not supposed to be done while
+ configuring network interfaces o duplicated with drakproxy and
+ the like o removed in new drakconnect specs
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: morph hw_account step through
+ reusing new wizard layer capabilites (aka dynamically return just
+ build needed data rather than ackwardly puting it in place)
+
+2004-01-17 00:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix ppp_first_step() call
+
+2004-01-17 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: small reindenting
+
+2004-01-17 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove overrided variables
+
+2004-01-17 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: enable to step forward after
+ to "connect now?" step since wizard infrastructure fixed the
+ ask_yesorno design flaw (and remove bug hint left by previous
+ maintainers)
+
+2004-01-17 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use wizard layer 's yesorno
+ type
+
+2004-01-17 00:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: typo fix
+
+2004-01-17 00:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: kill unused variables
+
+2004-01-16 23:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (Accept) default to
+ accept in testing mode
+
+2004-01-16 23:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: do not complain about
+ root password in testing mode
+
+2004-01-16 20:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - set a meaningfull window
+ title when called from mcc for explanations - upcase default
+ window title
+
+2004-01-16 20:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: do not abuse global namespace
+ (this also allow to track variables usage through static code
+ analysers such as perl_checker)
+
+2004-01-16 19:35 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: * manage interfaces: - fix
+ Ok button logic - fix some calls to $apply
+
+2004-01-16 19:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: * manage interfaces -
+ added Modem page - most of the GUI in place
+
+2004-01-16 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/da.po: rollback bogus change
+
+2004-01-16 15:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, help.pm, install_steps_gtk.pm,
+ interactive.pm, interactive/newt.pm, printer/printerdrake.pm,
+ share/po/DrakX.pot, share/po/af.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/br.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fa.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/uz@Cyrl.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakbackup: remove arrows from previous/next buttons
+ according to interface team
+
+2004-01-16 14:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: ask_warn
+ fixes per Thierry, purge some old, unused code
+
+2004-01-16 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix N() badly used
+
+2004-01-16 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: drakfirewall.pm, shorewall.pm: - add icmp
+ support - add "Echo request (ping)" choice
+
+2004-01-15 22:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require a fixed perl-Glib
+
+2004-01-15 22:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-01-15 22:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: do not create spurious top window when
+ embedded (why does this fsck us only now?)
+
+2004-01-15 22:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-21mdk
+
+2004-01-15 22:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: reuse create_okcancel() in ordet
+ to get some std button layout
+
+2004-01-15 22:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: remove useless menu
+ infrastucture
+
+2004-01-15 19:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't modify {append} after
+ add_kernel(), call add_kernel() directly with the append
+ parameter (so that comparison with previous entries is done
+ correctly)
+
+2004-01-15 19:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-20mdk
+
+2004-01-15 18:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-15 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-15 16:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: add bug hint
+
+2004-01-15 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove unused variable
+
+2004-01-15 15:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: First time wizard
+
+2004-01-15 15:30 Pixel <pixel at mandriva.com>
+
+ * rescue/list: insmod.old is needed when the kernel is a 2.4
+
+2004-01-15 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: adaptation/simplification for new lvm2
+ (thanks to Luca Berra)
+
+2004-01-15 14:20 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-15 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: have hylafax-client installed when
+ kdebase-kdeprintfax is selected
+
+2004-01-15 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (lilo_choice) do not complain
+ on canceling
+
+2004-01-15 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (lilo_choice) let's set dialog
+ title when poping up an error message
+
+2004-01-15 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: (lilo_choice) do not complaing
+ about lilo faillure when we use another bootloader: just complain
+ about the actually used bootloader
+
+2004-01-15 13:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: warly said that we should not
+ restrict ourselves to lilo
+
+2004-01-15 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: make splash config looks better
+ when embedded
+
+2004-01-15 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix individual package
+ selection (was broken since 30 september...)
+
+2004-01-15 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: formatList is imported, no
+ need to get it in common::
+
+2004-01-15 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_interactive.pm,
+ partition_table.pm, c/stuff.xs.pl, diskdrake/interactive.pm,
+ partition_table/raw.pm: - remove the use of BLKRRPART (telling
+ the kernel to re-read the partition table) in most cases -
+ replace with tell_kernel() and will_tell_kernel() - correctly
+ handle in standalone the need to reboot, with no way to forget it
+ (telling the WM to quit nicely then call reboot when it's done)
+
+2004-01-14 19:17 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - manage interfaces : o
+ add Account page o speedtouch and sagem modems o
+ build_notebook don't need $window anymore o cosmetic change to
+ Infornations page
+
+2004-01-14 19:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: ask_info2 is dead
+
+2004-01-14 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: using box radio looks better for yes/no
+ like questions
+
+2004-01-14 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: (process) in yes/no case, keep the same
+ logic as interactive->ask_yesorno() and pass 1 if /yes/ and undef
+ else
+
+2004-01-14 18:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-14 18:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: typo fix
+
+2004-01-14 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: proxy conf: do not
+ touch files in --testing mode
+
+2004-01-14 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install2.pm: fix fix
+
+2004-01-14 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: split out proxy
+ configuration out of network interfaces configuration
+
+2004-01-14 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install2.pm: fix logic test order in order to
+ prevent useless error message in --testing mode
+
+2004-01-14 16:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-14 16:21 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 01-thanks.png,
+ 02-community.pl, 02-community.png, 03-software.pl,
+ 03-software.png, 04-configuration.pl, 04-configuration.png,
+ 05-desktop.pl, 05-desktop.png, 06-development.pl,
+ 06-development.png, 07-server.pl, 07-server.png, 08-store.pl,
+ 08-store.png, 09-mdksecure.pl, 09-mdksecure.png, 10-security.pl,
+ 10-security.png, 11-mnf.pl, 11-mnf.png, 12-mdkexpert.pl,
+ 12-mdkexpert.png, 13-mdkexpert_corporate.pl,
+ 13-mdkexpert_corporate.png, Makefile, README, dis-01.pl,
+ dis-01.png, dis-02.pl, dis-02.png, dis-03.pl, dis-03.png,
+ dis-04.pl, dis-04.png, dis-05.pl, dis-05.png, dis-06.pl,
+ dis-06.png, dis-07.pl, dis-07.png, dis-08.pl, dis-08.png,
+ dis-09.pl, dis-09.png, dis-10.pl, dis-10.png, dis-11.pl,
+ dis-11.png, dwd-01.pl, dwd-01.png, dwd-02.pl, dwd-02.png,
+ dwd-03.pl, dwd-03.png, dwd-04.pl, dwd-04.png, dwd-05.pl,
+ dwd-05.png, dwd-06.pl, dwd-06.png, dwd-07.pl, dwd-07.png,
+ dwd-08.pl, dwd-08.png, dwd-09.pl, dwd-09.png, list, ppp-01.pl,
+ ppp-01.png, ppp-02.pl, ppp-02.png, ppp-03.pl, ppp-03.png,
+ ppp-04.pl, ppp-04.png, ppp-05.pl, ppp-05.png, ppp-06.pl,
+ ppp-06.png, ppp-07.pl, ppp-07.png, ppp-08.pl, ppp-08.png,
+ ppp-09.pl, ppp-09.png, ppp-10.pl, ppp-10.png, ppp-11.pl,
+ ppp-11.png, pwp-01.pl, pwp-01.png, pwp-02.pl, pwp-02.png,
+ pwp-03.pl, pwp-03.png, pwp-04.pl, pwp-04.png, pwp-05.pl,
+ pwp-05.png, pwp-06.pl, pwp-06.png, pwp-07.pl, pwp-07.png,
+ pwp-08.pl, pwp-08.png, pwp-09.pl, pwp-09.png, pwp-10.pl,
+ pwp-10.png: New texts to translate for next release.
+
+ Images will be modified in a short time.
+
+2004-01-14 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (miscellaneous_choose) restore
+ it for drakproxy (we'd better split out network interface and
+ proxy configuration at install time)
+
+2004-01-14 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-19mdk
+
+2004-01-14 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-14 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't write fstab entries which are
+ notFormatted
+
+2004-01-14 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: use class->new rather than new
+ class style
+
+2004-01-14 14:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: minor cleanup
+
+2004-01-14 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: perl_checker cleanups
+
+2004-01-14 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: proper indenting
+
+2004-01-14 14:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Let list of printer models
+ get sorted.
+
+2004-01-14 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: move bootloader title from drakboot
+
+2004-01-14 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - offer to configure bootsplash
+ only on --splash - drop useless frames - set main window title
+ according to current mode (autologin, bootloader or bootsplash)
+
+2004-01-14 13:00 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakboot: clean splash management code
+
+2004-01-14 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: unused variable
+
+2004-01-14 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: - kill unused variables -
+ fix gtk+2 notebook usage - perl_checker cleanups
+
+2004-01-14 11:13 Guillaume Cottenceau
+
+ * move/make_live: John Jablonski wants scribus
+
+2004-01-13 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakperm, drakclock: alter message
+ according to interface team suggestion
+
+2004-01-13 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: alter message according to
+ interface team suggestion
+
+2004-01-13 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-01-13 19:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - "Next->" => "Next" - "<-Previous" =>
+ "Previous"
+
+2004-01-13 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: add support for yes/no questions
+
+2004-01-13 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: hide about butto b/c there's
+ already mcc about dialog and there're already too much buttons
+
+2004-01-13 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: enable to access extra buttons
+ $w->{buttons}{<label>}
+
+2004-01-13 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakboot, drakclock, drakconnect,
+ drakfloppy, drakfont, drakperm, draksec: sanitize buttons through
+ reusing create_okcancel()
+
+2004-01-13 17:45 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: cookr
+
+2004-01-13 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: do not pack empty label before extra
+ buttons if there'll be no button before it
+
+ rationale: when there's no cancel button, packing an empty label
+ instead of the cancel button results in extra buttons (eg: help,
+ advanced) to be shifted with a space before;
+
+2004-01-13 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: upcase label
+
+2004-01-13 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: better rely on the end field being set
+ rather than on the last step to be named "end" (thus allowing to
+ have several different last steps)
+
+2004-01-13 14:20 Guillaume Cottenceau
+
+ * perl-install/any.pm: changing utf8 flag on an installed OS is not
+ supported
+
+2004-01-13 14:12 Guillaume Cottenceau
+
+ * perl-install/pkgs.pm: perl check
+
+2004-01-13 14:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, nb.po: updated Estonian and
+ Norwegian files
+
+2004-01-13 13:42 Guillaume Cottenceau
+
+ * perl-install/: pkgs.pm, share/rpmsrate: allow DRIVER"regexp" in
+ rpmsrate and use it to install xmms-alsa when we use alsa sound
+ driver
+
+2004-01-13 13:41 Guillaume Cottenceau
+
+ * perl-install/: common.pm, detect_devices.pm, modules.pm,
+ Xconfig/card.pm: detect_devices::matching_driver -> matching_desc
+ but matching driver names (kernel modules)
+
+2004-01-13 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, lvm.pm: lvm2 uses urandom
+
+2004-01-13 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - install lvm2 rpm instead of lvm (and using
+ ->ensure_is_installed) - "vgdisplay" error status is not good,
+ using "vgs" instead
+
+2004-01-13 11:59 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: - allow to specify a kernel rpm (works both
+ for BOOT kernels and normal one) - allow --move
+
+2004-01-13 11:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: perl_checker sometimes wrongly
+ complain
+
+2004-01-13 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: revert titi breaking the
+ code, keeping the only valid change
+
+2004-01-13 00:14 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-13 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-18mdk
+
+2004-01-13 00:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Added
+ functionality to configure a PostScript printer with a
+ manufacturer-supplied PPD file.
+
+2004-01-13 00:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: do not push anymore help
+ menu at right (hig and kde guidelines are against this)
+
+2004-01-12 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: handle both kernel 2.4.x and
+ 2.6.x (before size field was not properly when switching between
+ threes b/c we looked for module.ko instead of module.o.gz and the
+ like)
+
+2004-01-12 19:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-01-12 19:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: adding spaces to please perl_checker
+
+2004-01-12 18:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-sr.png: changed the Serbian
+ cyrillic image to display using cyrillic.
+
+2004-01-12 18:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added to the language selection menu
+ languages with recently appeared translations in Gnome or KDE
+ (fo, ia, ku, nds, ne, oc, wen, yi)
+
+2004-01-12 17:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-12 17:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: upcase first letter of error
+ messages
+
+2004-01-12 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker fixes
+
+2004-01-12 16:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: wacom support should be re-added :-/
+
+2004-01-12 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: perl_checker cleanups
+
+2004-01-12 16:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: used the ip from stage1 instead of
+ using IPADDR which is not given for dhcp for auto_install file
+ (as asked by Michael Riss)
+
+2004-01-12 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: new layout with subdialogs
+
+2004-01-12 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: remove spurious minus at
+ beginning of paragraph
+
+2004-01-12 16:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-12 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump perl(Gtk2) require
+
+2004-01-12 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm,
+ share/list.i386: XFree4 during install
+
+2004-01-12 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: (per_entry_action_box) -
+ sanitieze buttons packing (do not eat extra space) - get rid of
+ groupby2
+
+2004-01-12 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: when offering to restart dm,
+ offer yes/no as choice rather than ok/cancel (#6810)
+
+2004-01-12 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, install_steps.pm, interactive.pm: -
+ install_steps_auto_install is not a interactive but still needs
+ do_pkgs - so making do_pkgs a class, and interactive and
+ install_steps will inheritate from it - do_pkgs renamed into
+ do_pkgs_common, containing the things common to
+ do_pkgs_during_install and do_pkgs_standalone
+
+2004-01-12 14:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-17mdk
+
+2004-01-12 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: handle poulpy code
+
+2004-01-12 14:08 Pixel <pixel at mandriva.com>
+
+ * make_boot_img, kernel/update_kernel: use all.rdz instead of
+ network.rdz in tftp (network.rdz is deprecated)
+
+2004-01-12 14:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: rollback debug statements
+
+2004-01-12 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2004-01-12 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-12 13:33 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-12 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: need insmod.old for kernel 2.4
+
+2004-01-12 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: make font removing working with
+ --testing
+
+2004-01-12 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix unstalling fonts
+
+2004-01-12 12:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: show a finish button on last
+ step
+
+2004-01-12 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: exit once delete interface
+ wizard has ended instead of then running the std add wizard...
+
+2004-01-12 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: list ppp interfaces too when
+ offering to delete an interface
+
+2004-01-12 12:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix french translation: always
+ translate "NONE" as "AUCUN" in draksec
+
+2004-01-12 12:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: only complain if a problem actually
+ happened
+
+2004-01-12 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: kill unused variables
+
+2004-01-12 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (put_font_dir) factorize some
+ code into put_font_dir_real()
+
+2004-01-12 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix chkfontpath call in
+ --testing mode (/usr/sbin) not in path
+
+2004-01-12 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix applications layout: -
+ remove spurious empty boxes - fix layout (aka do not uselessly
+ resize main window) - sanitize layout (put legal warning between
+ title and application list) - "[X] label" packing looks quite a
+ less uglier than "label [X]"
+
+2004-01-12 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix about layout: - sanitize
+ horrible line breaking (let pango do it for now, it know how to
+ do it quite a lot better than we) - add myself in author list -
+ split about translation in three pieces (copyright holders, std
+ fsf header and thanks), enabling to share std fsf legal header
+ among several programs
+
+2004-01-12 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: prevent useless spacing above
+ button bar
+
+2004-01-12 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: enforce class->new calling
+ convention rather than "new class" one
+
+2004-01-12 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: style only change; "fix"
+ gtkpacking so that expand arg always precede the widget it's
+ about rather that following another widget
+
+2004-01-12 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix embedding: - prevent
+ subwindows being too small - prevent subwindows breaking when
+ canceled
+
+2004-01-12 10:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: don't print refs in log when output
+ is redirected (nice patch from blino :)
+
+2004-01-12 10:26 Pixel <pixel at mandriva.com>
+
+ * docs/HACKING: update from sunny@opencurve.org
+
+2004-01-12 10:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: allow a range of ports
+ (anthill bug #267)
+
+2004-01-10 20:25 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2004-01-10 03:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: big pot file update
+
+2004-01-10 03:07 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: last messages updated
+
+2004-01-10 02:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, scannerdrake: fixed typos
+
+2004-01-10 01:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2004-01-10 01:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more fix
+
+2004-01-10 00:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix drakboot --boot embedding
+
+2004-01-10 00:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-16mdk
+
+2004-01-09 23:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: handle exceptions with
+ Glib-1.020/Gtk2-1.022
+
+2004-01-09 23:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix wizard when logdrake is
+ embeded
+
+2004-01-09 22:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-15mdk
+
+2004-01-09 21:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtktext_insert) make it works with both
+ Glib-0.95/Gtk2-0.95 and Glib-1.020/Gtk2-1.022
+
+2004-01-09 20:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - apply and ok button now
+ working - some clean up
+
+2004-01-09 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_pkgs.pm, interactive.pm, standalone.pm: new
+ do_pkgs package which get rid of pkgs_interactive::* which was in
+ install_any and standalone, and partially duplicated
+
+2004-01-09 18:56 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - remove network support from pcmcia.img -
+ remove pcmcia from network.img (not very useful since we drop
+ network.img, but...)
+
+2004-01-09 18:46 Pixel <pixel at mandriva.com>
+
+ * Makefile: drop hd.img and network.img, in replacement we'll add:
+ - boot.iso - a grub floppy where you edit menu.lst to boot from
+ hd
+
+2004-01-09 18:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-09 17:36 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: remove dtc from cdrom.img (not enough room)
+
+2004-01-09 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: share translations with
+ harddrake
+
+2004-01-09 17:16 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: when not enough room on a .img, generate a file
+ explaining the modules, their size, their usage in pcitable
+
+2004-01-09 17:14 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: information box fully
+ fonctionnal for ethernet cards
+
+2004-01-09 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: enable other packages to override
+ libDrakx translations with those from their own domains (eg:
+ prevent mcc to display "partition de demarrage" instead of
+ "demarrage" in french for "boot" ...)
+
+2004-01-09 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: get translated strings in
+ directory gi/perl-install to have xxx.pm instead of ../../xxx.pm
+
+2004-01-09 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: http://serv.mydomain/pub/install
+ must get split into server:serv.mydomain and
+ directory:/pub/install, and not directory:pub/install
+
+2004-01-09 15:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: tag megaraid controllers as scsi
+ ones
+
+2004-01-09 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: perl_checker compliance
+
+2004-01-09 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: simplify, cleanup
+
+2004-01-09 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: simplify
+
+2004-01-09 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_steps_gtk.pm: remove a few other
+ SIG{__DIE__}
+
+2004-01-08 20:59 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - informations afford
+ copy/paste (mac address) - add module name to informations -
+ perl_checker compliant
+
+2004-01-08 20:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2004-01-08 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: no need to log the error twice,
+ errorInStep will take care of it
+
+2004-01-08 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_auto_install.pm:
+ display the error
+
+2004-01-08 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: better override formatError than
+ replacing all the formatError with formatError_and_log (goal: get
+ log'ing even now that SIG{__DIE__} is not there anymore)
+
+2004-01-08 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, authentication.pm, install_any.pm,
+ install_steps_interactive.pm, standalone/drakauth: - integrate
+ chkauth (which is now deprecated) - new module authentication
+
+2004-01-08 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: add formatError_and_log (to get log'ing
+ even now that SIG{__DIE__} is not there anymore)
+
+2004-01-08 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: add a separator below buttons on fredc
+ request
+
+2004-01-08 17:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2004-01-08 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fordward sagem net_cnx_up fix
+
+2004-01-08 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: perl_checker compliance
+
+2004-01-08 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: perl_checker
+ compliance
+
+2004-01-08 17:22 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix sagem net_cnx_up (thanks to QA
+ team)
+
+2004-01-08 17:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: first 'manage interface'
+ implementatiimplementation
+
+2004-01-08 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/smbnfs_gtk.pm, network/smb.pm:
+ authentification is french, the english word is authentication
+
+2004-01-08 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge in spec file from update SRPM
+
+2004-01-08 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: merge back drakbacup update
+
+2004-01-08 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/aliases: i thought stage1 didn't call
+ runinstall2 anymore... what's wrong with me??
+
+2004-01-08 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) - make
+ buttons smaller - follow button std order
+
+2004-01-08 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: move all options parsing
+ pieces together
+
+2004-01-08 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: restore exit_dialogsub
+
+2004-01-08 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) when there's
+ no connection: - fix message for new drakconnect scheme - shrink
+ code by reusing interactive
+
+2004-01-08 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/aliases: runinstall2 is
+ deprecated, install2 is called directly
+
+2004-01-08 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: add a fam description (telling that
+ GNOME & KDE uses it). closes part of bugzilla #1704
+
+2004-01-08 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: drop keytable line in grub config
+ file since grub doesn't handle it anymore (patch dropped long ago
+ in grub 0.90-3mdk)
+
+2004-01-08 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - simplify lilo boot message. Not
+ mentioning the timeout parameter fixes bugzilla #5429
+
+ - remove /boot/grub/messages and don't use the i18n command which
+ are obsolete since grub doesn't handle it anymore
+
+2004-01-07 23:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, standalone/diskdrake: logging when
+ __DIE__ing is dangerous: - in diskdrake, logging the error via
+ c::syslog caused $@ to be undefined, causing the error to be
+ dropped! (esp "you need to reboot") - during install, no known
+ error, but it's better to remove it anyway (bye bye the
+ "warning: ..." in ddebug.log, sniff)
+
+2004-01-07 23:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: when called from commands.pm,
+ install_any is not loaded
+
+2004-01-07 23:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2004-01-07 22:55 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: DVD+RW support, perl_checker,
+ fix bogus cron message
+
+2004-01-07 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, pkgs.pm: handle lilo not installed
+
+2004-01-07 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: we need latest perl-MDK-Common
+
+2004-01-07 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, modules.pm, c/stuff.xs.pl,
+ network/ethernet.pm, standalone/service_harddrake: fixes merged
+ from head into updates
+
+2004-01-07 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use whereis_binary()
+
+2004-01-07 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2004-01-07 17:17 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2004-01-07 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm,
+ Xconfig/resolution_and_depth.pm: pass --splash <resolution> to
+ mkinitrd (so that make-boot-splash doesn't rely on lilo.conf or
+ menu.lst)
+
+2004-01-07 14:03 Pixel <pixel at mandriva.com>
+
+ * Makefile: live_update is deprecated/removed
+
+2004-01-07 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: livedrake is deprecated/removed
+
+2004-01-06 18:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: perl_checker
+ compliance
+
+2004-01-06 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fsedit.pm, partition_table.pm,
+ pkgs.pm, standalone/adduserdrake, standalone/drakclock,
+ standalone/localedrake: perl_checker compliance
+
+2004-01-06 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: perl_checker compliance
+
+2004-01-06 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: obsolete live_update
+
+2004-01-06 18:02 Pixel <pixel at mandriva.com>
+
+ * live_update, perl-install/Makefile, perl-install/Makefile.config,
+ perl-install/detect_devices.pm, perl-install/install2.pm,
+ perl-install/install_any.pm, perl-install/install_gtk.pm,
+ perl-install/install_steps.pm, perl-install/live_install,
+ perl-install/live_install2, perl-install/modules.pm,
+ perl-install/Xconfig/card.pm, perl-install/standalone/livedrake:
+ obsolete livedrake, live_install, live_update
+
+2004-01-06 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: perl_checker
+ compliance
+
+2004-01-06 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: kill unused variables
+
+2004-01-06 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, install_any.pm,
+ install_steps_interactive.pm, partition_table/mac.pm:
+ perl_checker compliance
+
+2004-01-06 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, timezone.pm, standalone/drakclock:
+ use $::prefix
+
+2004-01-06 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, g_auto_install, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_interactive.pm,
+ pkgs.pm: get rid of g_auto_install (unused & not working)
+
+2004-01-06 17:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-06 17:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm, lvm.pm,
+ share/list, share/rpmsrate: basic lvm2 support (not tested yet!)
+
+2004-01-06 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - drakfloppy must not be in
+ drakxtools-newt, must now require mkbootdisk (which is not
+ installed by default anymore)
+
+2004-01-06 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install2.pm,
+ install_any.pm, standalone/drakautoinst: remove mkbootdisk
+ support
+
+2004-01-06 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssList: deprecated for some time already
+
+2004-01-06 14:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: perl_checker cleanups
+
+2004-01-06 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: do not discard 0 when perms are
+ 0xx like
+
+2004-01-06 14:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (require_root_capability) let be
+ --testing aware
+
+2004-01-06 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: perl_checker cleanups
+
+2004-01-06 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/logdrake, wizards.pm: perl_checker
+ cleanups
+
+2004-01-06 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: add missing argument
+
+2004-01-06 14:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: kill unused variable
+
+2004-01-06 03:17 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: fresh update
+
+2004-01-05 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, share/po/af.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fa.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hi.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mk.po,
+ share/po/mn.po, share/po/ms.po, share/po/mt.po, share/po/nb.po,
+ share/po/nl.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/uz@Cyrl.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po: typo fix
+
+2004-01-05 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: another typo fix
+
+2004-01-05 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: use $::prefix
+
+2004-01-05 16:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm, mouse.pm,
+ modules/interactive.pm, network/adsl.pm, network/ethernet.pm,
+ network/netconnect.pm, standalone/draksound: write_conf() doesn't
+ need $prefix anymore
+
+2004-01-05 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - generate /etc/modprobe.preload (same
+ as /etc/modules) - fix call to generate-modprobe.conf
+
+2004-01-05 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: split drakboot into bootloader
+ and autologin configuration
+
+2004-01-05 15:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: revert code for testing
+ perl_checker :-/
+
+2004-01-05 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: .perl_checker, bootloader.pm, wizards.pm,
+ interactive/http.pm, network/shorewall.pm,
+ partition_table/mac.pm, partition_table/raw.pm,
+ partition_table/sun.pm, resize_fat/dir_entry.pm: perl_checker
+ fixes
+
+2004-01-05 14:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, mn.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2004-01-05 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: only die if an error actually
+ happened...
+
+2004-01-05 13:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: use new wizards API
+
+2004-01-05 13:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: get rid of val_ref
+
+2004-01-05 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: the #-PO: comment must be
+ before the N("...") with nothing in between
+
+2004-01-05 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: do not remve network
+ interfaces in --testing mode
+
+2004-01-05 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix delete wizard steps
+
+2004-01-05 12:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix french translation
+
+2004-01-04 22:00 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2004-01-04 19:15 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ soft/GtkMdkWidgets/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2004-01-02 16:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, eu.po, mn.po: Added Mongolian
+ file; updated Welsh and Basque files
+
+2004-01-02 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: grub altconfigfile is kind of broken
+
+2004-01-02 02:08 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2003-12-31 16:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hi.po, nb.po: updated Hindi and Norwegian
+ files
+
+2003-12-30 13:09 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: fix ask_dir dialog (#6152)
+
+2003-12-30 13:07 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: _ask_dir: when a directory is selected,
+ need a / in between the "filename" and the "selection" (#6152)
+
+2003-12-29 23:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: some suggestions from
+ jmdault, perl_checker
+
+2003-12-29 19:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/modem.pm, network/netconnect.pm,
+ network/network.pm, network/tools.pm, standalone/drakconnect:
+ (wip but requested for string freeze) - do not silently discard
+ errors by ignoring exceptions - use new wizard layer - begin to
+ renew wizard steps (mdk10.0 specs)
+
+2003-12-29 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix typo
+
+2003-12-29 16:48 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: Handle commercial viamraid
+ module.
+
+2003-12-29 16:46 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/crypto.pm: Always prefer native amd64 versions for
+ updates.
+
+2003-12-29 16:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix localedrake link
+
+2003-12-29 14:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2003-12-29 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: - die if empty page name or if non
+ existent page name - only safely return after "end" step has been
+ reached - enable data to be a code ref to prevent ugly use of
+ val_ref, list_ref, and the like - post callback now override
+ "next" field - pass current step as an arg to "pre" callback -
+ pass current step result as an arg to "post" callback - enhanced
+ documentation - introduce safe_process() that smoothly exit on
+ wizard cancel - support interactive_help_id for installer
+
+2003-12-29 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: for removable devices,
+ we've to remove/add them one by one, so when several devices of
+ the same class are removed/added, we ask if we should handle them
+ several time.
+
+ let ask confirmation once per class instead (olivier blin, #6649)
+
+2003-12-29 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: do no ask several
+ times the kernel to switch into verbose mode (olivier blin)
+
+2003-12-29 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: really display which
+ devices were removed
+
+2003-12-29 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: add missing argument
+
+2003-12-29 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: try to have a better layout (at
+ least when embedded): let's have only one scrollbar that scroll
+ the whole window (in non embedded case, there's the problem of
+ the scrolled window size...)
+
+2003-12-29 08:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: fix to enable drakconnect to be run
+ in "install" mode while being a standalone tool
+
+2003-12-29 08:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: this duplicate is now useless
+
+2003-12-29 08:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm: - simplify button layout - really pack
+ the two button sets at edgee by packing them in two different
+ hboxes with "start" and "end" grouping style
+
+2003-12-26 23:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-12-23 11:40 Guillaume Cottenceau
+
+ * move/: move.pm, isolinux/help.msg, isolinux/make.pl: add the
+ waitkey option for keys that have problems to be detected at boot
+
+2003-12-22 20:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: wip (for strings & interfaces)
+
+2003-12-22 20:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Changes to support new
+ etherboot floppy image syntax and file locations. perl_checker
+ conpliance.
+
+2003-12-22 20:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: alias scannerdrake =>
+ drakscanner
+
+2003-12-22 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-13mdk
+
+2003-12-22 19:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-12mdk
+
+2003-12-22 18:02 Guillaume Cottenceau
+
+ * mdk-stage1/: tools.c, tools.h, url.c: try to use asprintf a bit
+ (hope it doesn't segfault too much)
+
+2003-12-22 17:48 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.c, network.c, url.c, url.h: http proxy
+ support for ftp/http install contributed by Olivier Blin <blino
+ at mandrake.org>
+
+2003-12-22 17:40 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: don't disallow ctrl-alt-del in drakx mode (we
+ don't have sysreqs)
+
+2003-12-22 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - fix drakperm losing added
+ entries on mode switch (eg custom+system filter => custom only
+ filter) - make deletion robust (i do not understand how it has
+ "tomber en marche" but indeed it worked)
+
+2003-12-22 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: clean that crappy code
+
+2003-12-22 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: prevent one to open zillions
+ of sub dialogs
+
+2003-12-22 09:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, it.po: updated Finnish and Italian
+ files
+
+2003-12-22 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (mail alert wizard) properly
+ handle faillure
+
+2003-12-22 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: perl_checker cleanup
+
+2003-12-22 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: support HIDIOCAPPLICATION ioctl too
+
+2003-12-22 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (mail alert wizard) check if
+ it's a valid user if it's not an email)
+
+2003-12-21 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: let a step name be a callback in order
+ to be able to generate dynamic messages (in the past gettext was
+ called at step time, but now it's called at wizard data structure
+ compile time)
+
+2003-12-20 19:18 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-12-19 22:24 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ soft/kdebase-servicemenu/po/da.po soft/krozat/po/da.po
+ gi/perl-install/share/po/da.po
+ soft/galaxy/thememdk/mandrake_client/po/da.po
+
+2003-12-19 20:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: do not show useless "ignore" button when
+ requesting root password through kdesu
+
+2003-12-19 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: perl_checker fixes
+
+2003-12-19 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: push help menu at right
+
+2003-12-19 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix layout: - let it fit when
+ embedded - move ok/cancel buttons out of the frame (thus nicely
+ separate them)
+
+2003-12-19 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakboot, drakfloppy: fix button layout
+ when embedded: pack buttons box at bottom
+
+2003-12-19 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: reuse WrappedLabel
+
+2003-12-19 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: resync
+
+2003-12-19 14:52 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Remove some packages
+
+2003-12-19 10:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: (process) add val_ref and list_ref
+ support to ease data manipulation (as wizard data structure is
+ built early at compile time, ref on single values aren't any more
+ valid when values are setted)
+
+2003-12-18 20:57 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix daemon behavior, cron
+ warnings. Anthill bug #204.
+
+2003-12-18 18:06 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2003-12-18 17:30 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ soft/mdkkdm/po/da.po soft/urpmi/po/da.po soft/userdrake2/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2003-12-18 17:00 Guillaume Cottenceau
+
+ * kernel/check_mar.pl, kernel/dependencies.pl,
+ kernel/update_kernel, mdk-stage1/modules.c, mdk-stage1/stage1.c,
+ mdk-stage1/tools.c, mdk-stage1/tools.h: 2.6 kernel support
+
+2003-12-18 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: perl_checker fixes
+
+2003-12-18 13:14 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-12-18 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix previous button place at install time
+
+2003-12-18 12:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix spurious previous button at install
+ time on wizards' first steps
+
+2003-12-18 02:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: - Added
+ button for installing/updating firmware in main window (only if
+ appropriate scanner is present). - Fixed small bug in building
+ ScannerDB file from SANE description files.
+
+2003-12-17 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: undeushize debug statement
+
+2003-12-17 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: no stock items
+
+2003-12-17 16:05 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Temporary reinstall kdebase-kdm when
+ KDE is installed to allow lock to work
+
+2003-12-17 11:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix wrong message in error patch
+ (catched by new perl_checker)
+
+2003-12-17 02:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-12-16 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix text layout by wrapping
+ text
+
+2003-12-16 16:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: separate version/author/...
+ from the license by space
+
+2003-12-16 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: reuse new wizard framework
+
+2003-12-16 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/wizards.pm: - consolidate code from drakwizard for
+ reussage by drakxtools wizard: add a wizard layer on top of
+ interactive that do proper backward/forward stepping for us -
+ add documentation - remove useless fixed_{var|list}
+
+2003-12-16 15:06 Guillaume Cottenceau
+
+ * move/move.pm: oops copy-pasting /etc/rc.d/rc.sysinit with
+ different shell behaviour :/
+
+2003-12-16 14:44 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/modules.pm: launch as shell
+
+2003-12-15 17:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: fix bug (detected by perl_checker!)
+
+2003-12-15 15:25 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/modules.pm: remove () to be perl_checker compliant
+
+2003-12-15 14:46 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/modules.pm: generate modprobe.conf when writing
+ modules.conf
+
+2003-12-15 14:43 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-12-15 13:07 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add kontact
+
+2003-12-15 12:55 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Replace KDM by MDKKDM
+
+2003-12-15 03:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: Added
+ facility to install scanner firmware.
+
+2003-12-12 13:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live: fix mandrake galaxy version download
+
+2003-12-11 23:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Let scannerdrake configure non-root
+ access to parallel port scanners automatically.
+
+2003-12-11 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary) fix
+ network::shorewall::read() call (forget by florin when he enable
+ to choose the interface in drakfirewall)
+
+2003-12-11 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fix
+
+2003-12-11 12:21 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: add latest identifiers from
+ pcmcia-cs-3.2.6
+
+2003-12-10 22:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2003-12-10 22:03 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-12-09 21:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hi.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po,
+ ta.po, tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-12-09 18:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: bump version and copyright year
+ (#6528)
+
+2003-12-09 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/http.pm: proxy support during install (thanks to
+ Olivier Blin)
+
+2003-12-09 17:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fixes
+
+2003-12-09 16:45 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: repeat after me, "kernel is da shit"
+
+2003-12-09 13:57 Guillaume Cottenceau
+
+ * move/make_live: we can't change language from localedrake since
+ */LC_CTYPE are broken symlinks
+
+2003-12-09 13:23 Guillaume Cottenceau
+
+ * move/make_live: remove rpmdrake menu entries
+
+2003-12-09 13:21 Pixel <pixel at mandriva.com>
+
+ * move/make_live: fix spanish mandrake galaxy
+
+2003-12-09 13:12 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: seems that some neuneu do "init 0" or "init 6"
+ instead of halt/reboot :(
+
+2003-12-09 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: fix ugly typo (big thanks
+ to John Madsen)
+
+2003-12-09 12:01 Guillaume Cottenceau
+
+ * move/isolinux/isolinux.cfg: add an acpi label
+
+2003-12-09 12:01 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: can poweroff in UP
+
+2003-12-09 11:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: upcase some labels
+
+2003-12-09 11:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless separator
+
+2003-12-09 10:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle new snd-bt87x driver from
+ alsa-1.0.0-rc2
+
+2003-12-09 10:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - split in multiples tools -
+ move profile managment into mcc - add "delete an interface"
+ wizard
+
+2003-12-09 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: kill unused variable
+
+2003-12-09 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: update copyright
+
+2003-12-09 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: handle multiple interfaces:
+ let's have a buffer pixmap per network interface
+
+2003-12-09 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: make it fit when embedded
+
+2003-12-08 19:04 Warly <warly at mandriva.com>
+
+ * mdk-stage1/stage1.c: fix typo
+
+2003-12-08 16:47 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: set volset
+
+2003-12-08 16:46 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - tell devfsd to reload so that
+ /etc/devfsd/conf.d/mouse.conf is used and /dev/mouse created -
+ try to have less symlinks
+
+2003-12-08 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (remove_alias_regexp_byname) introduce
+ it; works the same as remove_alias_regexp but matches alias name
+ instead of value
+
+2003-12-08 16:13 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: try to reduce then number of symlinks
+ (to avoid ELOOP)
+
+2003-12-08 14:38 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: kill artsd and portmap without telling
+
+2003-12-08 14:38 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: xwait (the one from /usr/X11R6/bin) can be
+ needed (when using mountloop (?))
+
+2003-12-08 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/tree/alsa_default.pl: most mixer elements always are integer
+
+2003-12-08 12:29 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: allow user to put some more libraries in $HOME/lib
+
+2003-12-08 12:06 Pixel <pixel at mandriva.com>
+
+ * move/tree/startkde_move: call /etc/X11/xdm/Xsession instead of
+ /etc/X11/Xsession so that we go through a login shell and get
+ /usr/games in $PATH
+
+2003-12-08 10:55 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also install kdegames (per regis request)
+
+2003-12-06 17:08 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install ntp
+
+2003-12-05 19:14 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: use G_BROKEN_FILENAMES in totem
+
+2003-12-05 19:00 Pixel <pixel at mandriva.com>
+
+ * move/: make_live, move.pm: fix netfs and make it run at startup
+
+2003-12-05 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: one more string that got badly
+ caught by last "not having latest perl_checker locally" commit
+
+2003-12-05 17:42 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: C is a dangerous language :((
+
+2003-12-05 17:22 Guillaume Cottenceau
+
+ * move/move.pm: don't start services that are obviously backups of
+ older files
+
+2003-12-05 17:07 Guillaume Cottenceau
+
+ * move/: Makefile, tree/alsa_default.pl, tree/sound.initscript:
+ titi fixes sound initscript for some alsa devices
+
+2003-12-05 15:07 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: hide fail to umount /image_always and /cdrom
+
+2003-12-05 15:05 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: Andrey told me how to tell supermount to force
+ unmount
+
+2003-12-05 14:12 Guillaume Cottenceau
+
+ * move/: Makefile, tree/konsolerc: default config file of konsole
+ has a large font :/
+
+2003-12-05 13:34 Guillaume Cottenceau
+
+ * move/make_live: bash-completion for lord guillomovitch
+
+2003-12-05 12:52 Guillaume Cottenceau
+
+ * move/: make_live, move.pm, tree/startkde_move: each time X
+ respawns we need /etc/X11/Xsession rather than only startkde
+
+2003-12-05 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: one can get "Mass Storage" not
+ always "Mass Storage|..."
+
+2003-12-05 11:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live: mdk-move is now firewall ready
+
+2003-12-05 00:41 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: by-hand add the newest move string
+
+2003-12-05 00:18 Pixel <pixel at mandriva.com>
+
+ * move/make_live: modify simplified menu to see new
+ mandrake_doc-move-{en,fr}
+
+2003-12-05 00:01 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install mandrake_doc-move-{en,fr} &
+ mandrake_doc-move-drakxtools-{en,fr} instead of
+ mandrake_doc-{en,fr}
+
+2003-12-04 23:42 Guillaume Cottenceau
+
+ * move/make_live: add crack-attack
+
+2003-12-04 23:24 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add f*cking cardmgr
+
+2003-12-04 23:15 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - cleanup key_parts() so that it doesn't re-assign
+ mount points each time it is called - mount point assignment
+ moved to key_mount()
+
+2003-12-04 23:00 Guillaume Cottenceau
+
+ * move/move.pm: better message when key has only non vfat
+ partitions
+
+2003-12-04 21:35 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: don't die horribly if the usb key partition is not
+ vfat, catch the error and display a message accordingly
+
+2003-12-04 19:25 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: mount loopback ro to have less
+ warnings
+
+2003-12-04 18:53 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: window title "Busy files" is not very
+ informative, replacing with the simple string "Error"
+
+2003-12-04 18:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configureNetwork) fix zeroconf
+ configuring: check that there no dynamic interfaces instead of
+ just checking the last interface
+
+2003-12-04 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (is_dynamic_ip) handle habing ppp
+ like interfaces in interfaces list
+
+2003-12-04 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configureNetwork)
+ configureNetworkNet() wrongly put WIRELESS_NWID=HASH(0x8e93758)
+ in ifcfg-<intf> because we give it the last configured network
+ card intead of the interfaces list
+
+ however, for a few weeks, it now checks if some interfaces are
+ dynamic before offering to configure zeroconf, hence there was a
+ bug since we only checked if *last* interfaces wasn't static
+ which would results in wrong configuration if some interface were
+ dynamics but the last one was static
+
+2003-12-04 17:35 Guillaume Cottenceau
+
+ * move/move.pm: configure pcmcia as well
+
+2003-12-04 17:31 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pl: log_message in drakx mode is better
+ when logged for real
+
+2003-12-04 17:06 Guillaume Cottenceau
+
+ * move/move.pm: allow nl language too
+
+2003-12-04 17:05 Guillaume Cottenceau
+
+ * perl-install/share/po/nl.po: updates by Reinout van Schouwen
+ (mmove)
+
+2003-12-04 16:59 Guillaume Cottenceau
+
+ * move/make_live: add tv apps
+
+2003-12-04 16:04 Guillaume Cottenceau
+
+ * move/move.pm: Xsession should be run with cwd as $HOME (fixes
+ mountloop not working when giving relative path for secure
+ directory)
+
+2003-12-04 16:03 Guillaume Cottenceau
+
+ * move/todo: .mdkmove-user loopback suggestions from fredl
+
+2003-12-04 15:43 Guillaume Cottenceau
+
+ * move/move.pm: still write timezone and configure supermount in
+ noauto
+
+2003-12-04 15:36 Guillaume Cottenceau
+
+ * move/move.pm: bypass most network/printer/etc autodetection and
+ configuration in $::noauto
+
+2003-12-04 15:28 Guillaume Cottenceau
+
+ * move/move.pm: simplify noauto
+
+2003-12-04 15:28 Guillaume Cottenceau
+
+ * move/move.pm: use run_program rather than system when possible so
+ that we have logs
+
+2003-12-04 15:18 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: smaller isolinux progress bar
+
+2003-12-04 14:35 Guillaume Cottenceau
+
+ * move/move.pm: better cleankey: also clean loopback so that kde
+ config files disappear also
+
+2003-12-04 14:22 Guillaume Cottenceau
+
+ * move/: make_live, move.pm: have numlock (but only in not laptop)
+
+2003-12-04 14:15 Pixel <pixel at mandriva.com>
+
+ * move/make_live: package "newt" is needed by alsa-utils (see 9.2
+ errata for more)
+
+2003-12-04 14:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: use Options "IgnoreEDID" when using
+ the proprietary X driver "nvidia"
+
+2003-12-04 13:57 Guillaume Cottenceau
+
+ * move/move.pm: /var/tmp must be user writable for lpr| to work for
+ printing from OOo to work
+
+2003-12-04 13:54 Guillaume Cottenceau
+
+ * move/move.pm: symlink /var/lib/rpm so that "rpm -qa" works
+
+2003-12-04 13:04 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: tell kicker that it should refetch
+ menu's icons
+
+2003-12-04 12:18 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: allow sh to load when cd is umounted
+
+2003-12-04 12:08 Guillaume Cottenceau
+
+ * move/make_live: we don't want everyone to have the same ssh key
+ :)
+
+2003-12-04 11:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, standalone.pm, network/adsl.pm,
+ network/network.pm: - use do_pkgs->ensure_is_installed instead of
+ do_pkgs->install where it's easy to do so - do_pkgs->install
+ won't do anything when $::testing
+
+ we need a ensure_are_installed
+
+ we also need to share more package pkgs_interactive code which is
+ hosted in install_any and standalone
+
+2003-12-04 10:47 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install emacs
+
+2003-12-04 10:46 Pixel <pixel at mandriva.com>
+
+ * move/make_live: inspect /export/Mandrake/RPMS to get the kernel
+ version
+
+2003-12-03 20:34 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation
+
+2003-12-03 19:44 Guillaume Cottenceau
+
+ * move/: Makefile, tree/netscape: OOo launches netscape so we need
+ a fake netscape
+
+2003-12-03 19:18 Guillaume Cottenceau
+
+ * move/move.pm, perl-install/share/po/de.po,
+ perl-install/share/po/es.po, perl-install/share/po/fr.po,
+ perl-install/share/po/it.po: fix english
+
+2003-12-03 16:56 Guillaume Cottenceau
+
+ * move/data/keyfiles: scannerdrake will modify files in
+ /etc/sane.d/ so they must be writable
+
+2003-12-03 16:39 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: ensure ksycoca is configured correctly. It is not
+ saved on the key
+
+2003-12-03 14:56 Guillaume Cottenceau
+
+ * move/move.pm: allow easier debugging by not killing shell on #2
+ when starting with "shell" commandline param
+
+2003-12-03 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: unfuzzy entries "fuzzed" by bad
+ commit due to old perl_checker being used
+
+2003-12-03 14:41 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: configure timezone
+
+2003-12-03 14:20 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add md5sum to the iso
+
+2003-12-03 12:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hi.po: Added Hindi file
+
+2003-12-03 12:57 Guillaume Cottenceau
+
+ * move/: move.pm, data/etcfiles: mouse with more than 5 buttons add
+ a hook in /etc/X11/xinit.d, this dir need be writable for new
+ files
+
+2003-12-03 04:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: fixed my previous bad entries
+
+2003-12-03 00:17 Guillaume Cottenceau
+
+ * move/tree/X_move: should at least disable X respawning too fast
+ now
+
+2003-12-02 21:25 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: allow mdk_totem to kill root processes
+
+2003-12-02 21:24 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: restore /etc/mtab linked to /proc/mounts, other
+ things like "umount /xxx" can fail because /xxx is in
+ /proc/mounts, but not in mtab
+
+2003-12-02 21:19 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: fix typo
+
+2003-12-02 21:14 Guillaume Cottenceau
+
+ * move/move.pm: need to touch /etc/mtab at very beginning to
+ prevent from creating a link to the RO volume thus failing
+ substInFile from fs::umount
+
+2003-12-02 20:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: no hds is no big deal for mdk move
+
+2003-12-02 20:49 Guillaume Cottenceau
+
+ * move/move.pm: now that mountloop blocks, we need to retain XFree
+ from blinking when freeing up resources because startkde will not
+ be there when mountloop exits
+
+2003-12-02 20:34 Guillaume Cottenceau
+
+ * move/move.pm: full stage1 may mount /proc/bus/usb
+
+2003-12-02 20:32 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: remove /etc/mtab link first
+
+2003-12-02 20:11 Guillaume Cottenceau
+
+ * move/: Makefile, hack, hack_boot_img, hack_cdrom, hack_network,
+ isolinux/isolinux.cfg: we need usb/firewire support for
+ usb/fireware cdroms!
+
+2003-12-02 20:08 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: I wonder how 9.2 worked in all.rdz!? Thisd
+ did not even call method_select_and_prepare()
+
+2003-12-02 20:04 Guillaume Cottenceau
+
+ * kernel/update_kernel: have these modules at first so that they
+ are loaded faster
+
+2003-12-02 19:31 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: initialize mtab correctly in mode 3
+
+2003-12-02 18:37 Guillaume Cottenceau
+
+ * move/make_live: no need for doing things in a block
+
+2003-12-02 18:36 Guillaume Cottenceau
+
+ * move/make_live: update menus and kbuildsycoca need be done after
+ we modify relevant files
+
+2003-12-02 18:34 Guillaume Cottenceau
+
+ * move/make_live: remove "Login Manager" module from kcontrol
+
+2003-12-02 18:29 Guillaume Cottenceau
+
+ * move/make_live: try to classify modifications made to the
+ installed system
+
+2003-12-02 18:03 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: some more programs menu entries have been
+ removed
+
+2003-12-02 18:01 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: remove k3b.desktop
+
+2003-12-02 17:58 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: empty help.pm
+
+2003-12-02 17:36 Pixel <pixel at mandriva.com>
+
+ * move/make_live: fix broken alternatives (esp. for
+ foomatic-db-engine which register non-existant binaries)
+
+2003-12-02 17:33 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: create a valid mtab (to allow kde to see correctly
+ mounted partitions)
+
+2003-12-02 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo
+
+2003-12-02 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: create
+ fix_broken_alternatives()
+
+2003-12-02 15:47 Pixel <pixel at mandriva.com>
+
+ * move/make_live: remove modem.pm
+
+2003-12-02 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2003-12-02 13:05 Pixel <pixel at mandriva.com>
+
+ * move/make_live: ensure make_live can be run more than once
+ without breaking /etc/X11/wmsession.d/01KDE
+
+2003-12-02 12:06 Guillaume Cottenceau
+
+ * move/etc-monitorer.pl: drop unused variables
+
+2003-12-02 10:26 Guillaume Cottenceau
+
+ * move/make_live: more 2d games
+
+2003-12-02 09:49 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - add some packages so that scannerdrake,
+ diskdrake --dav, diskdrake --fileshare works - remove userdrake
+ from mcc
+
+2003-12-01 23:14 Guillaume Cottenceau
+
+ * move/: move.pm, runstage2, doc/README: copyright and license
+ MandrakeMove
+
+2003-12-01 23:01 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-12-01 22:53 Guillaume Cottenceau
+
+ * move/make_live: openssh-askpass for mountloop doesn't allow to
+ click on ok/cancel buttons
+
+2003-12-01 19:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2003-12-01 19:45 Guillaume Cottenceau
+
+ * move/move.pm, move/tree/mdk_move_loop, perl-install/devices.pm:
+ chloop support
+
+2003-12-01 17:22 Guillaume Cottenceau
+
+ * perl-install/any.pm: drakx_version: have a suitable value for
+ move
+
+2003-12-01 16:51 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c, move/move.pm, move/data/devices: show on
+ console #2 when shells are killed
+
+2003-12-01 16:40 Guillaume Cottenceau
+
+ * move/: make_live, move.pm: start with Xsession so that we run
+ /etc/X11/xinit.d scripts (mountloop in particular)
+
+2003-12-01 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: - kill icons on button -
+ kill profil combo box & log button (duplicated features already
+ availlable within mcc) - translate one more string
+
+2003-12-01 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: translate a few untranslated
+ strings
+
+2003-12-01 15:52 Guillaume Cottenceau
+
+ * kernel/update_kernel: conditionally packdrake
+
+2003-12-01 15:32 Guillaume Cottenceau
+
+ * move/make_live: k3b as well
+
+2003-12-01 15:30 Guillaume Cottenceau
+
+ * mdk-stage1/: init.c, lomount.c, mount.c: we need loop-aes for
+ mountloop, so we use change_loop with a special device number
+
+2003-12-01 13:26 Guillaume Cottenceau
+
+ * move/move.pm: to mount samba shared without warning messages we
+ need /var/lib/samba/codepages/*
+
+2003-12-01 13:18 Guillaume Cottenceau
+
+ * move/Makefile: don't have a CVS directory on iso
+
+2003-12-01 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: fix removing domain name (esp. when
+ domain name is empty)
+
+2003-12-01 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: forward sagem configuration fix
+
+2003-12-01 12:34 Guillaume Cottenceau
+
+ * move/make_live: should at least compile now
+
+2003-12-01 12:34 Guillaume Cottenceau
+
+ * move/make_live: don't display cd based applications in simplified
+ menu
+
+2003-12-01 12:02 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: nicer dialog box
+
+2003-12-01 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: add mdk_totem in po
+
+2003-12-01 11:51 Pixel <pixel at mandriva.com>
+
+ * move/make_live: we want ksycoca-en_US, not ksycoca-en
+
+2003-12-01 11:51 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: don't fail when ksycoca-LANG doesn't exist
+
+2003-12-01 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-11mdk
+
+2003-12-01 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) prevent silently
+ skipping configuration steps by explicitely dying
+
+2003-12-01 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix sagem configuration (we were
+ skipping some steps)
+
+2003-12-01 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) do not install packages
+ in testing mode
+
+2003-11-28 23:10 Guillaume Cottenceau
+
+ * move/move.pm: don't do useless copy files on self when no
+ /etc/passwd is found
+
+2003-11-28 21:02 Guillaume Cottenceau
+
+ * move/data/etcfiles: drakconnect will have trouble without these
+
+2003-11-28 19:18 Guillaume Cottenceau
+
+ * move/make_live: provide a way for speedtouch users of free
+ version to escape
+
+2003-11-28 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_okcancel) try to better fit both
+ install teams needs and interface team one's:
+
+ - in the installer, all windows run under $::isWizard due to
+ design stuff (wizard aspect and wizard mode should really be
+ really two differents options for cleanity but that's
+ postponed); o so to prevent ok/cancel buttons to be pushed at
+ the right edge when we're asking a question instead of being
+ in a wizard step, we add an empty label between the ok and
+ cancel o we still put an empty label in wizard mode when not in
+ the installer so that help/cancel and next/previous buttons
+ packs get separated as requested by interface team
+
+ - we add an empty field when cancel/previous button does not
+ exists so that when there's only one button, we prevent it to
+ be centered (eg: "finish" in wizards); note that if
+ $::Wizard_no_previous is not set, the button is still centered
+ so that we keep some flexibility
+
+2003-11-28 18:26 Guillaume Cottenceau
+
+ * move/todo: speedtouch in free mode
+
+2003-11-28 18:10 Guillaume Cottenceau
+
+ * move/move.pm: refresh after main wizard window has been destroyed
+
+2003-11-28 17:42 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: we still can't eject. try to shotgun a bit.
+
+2003-11-28 17:41 Guillaume Cottenceau
+
+ * move/move.pm: don't display startkde shit on first console
+
+2003-11-28 17:35 Guillaume Cottenceau
+
+ * move/isolinux/: help.msg, make.pl: fit again
+
+2003-11-28 17:31 Guillaume Cottenceau
+
+ * move/move.pm: when we don't detect the key at first, or user plug
+ his key when prompted, ensure we keep the same user (we don't re
+ ask for user) else we'll create a user with uid 502 and fail
+ miserably to launch kde (home not writable)
+
+2003-11-28 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: on interface team request: - try to make
+ button packing more readable - comment some parameters and what
+ is done - add space to split buttons in two packs but if there's
+ one button (so that eg XFdrake's quit button still get
+ centered) - pack button the kde order while installing or while
+ under kde, gnome order else: o kde order is
+ help/advanced/_____/ok/cancel o gnome order is
+ help/advanced/_____/ok/cancel o wizard order is
+ help/advanced/_____/previous/next
+
+2003-11-28 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_all_conf) ignore
+ ifcfg-<intf>~ and the like entries
+
+2003-11-28 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (configureNetwork2) do not
+ install package or rewrite config files in testing mode
+
+2003-11-28 16:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (main) do not silently
+ discard exceptions; if some exception is raised for anything else
+ than "wizcancel", we should rethrow it again instead of silently
+ ignoring bugso...
+
+2003-11-28 16:14 Guillaume Cottenceau
+
+ * move/tree/startkde_move: let time for X to really die
+
+2003-11-28 16:13 Guillaume Cottenceau
+
+ * move/tree/X_move: try to fix (and let some debug) X respawning
+ too fast
+
+2003-11-28 15:19 Guillaume Cottenceau
+
+ * move/move.pm: disable key when nvidia clp is not here and we're
+ not in nfs
+
+2003-11-28 15:12 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: be sure door is not locked (/sbin/init
+ busyfies cdrom is image_always is not in memory - which is the
+ case except when in mdk_totem)
+
+2003-11-28 14:56 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: remove message in case it fails miserably
+
+2003-11-28 14:48 Guillaume Cottenceau
+
+ * move/isolinux/: help.msg, make.pl: fit on 80 columns
+
+2003-11-28 13:56 Pixel <pixel at mandriva.com>
+
+ * move/make_live: kbuildsycoca keeps a snapshot of current
+ environment, esp. $ENV{BROWSER}
+
+ trying to be as similar as startkde environment
+
+2003-11-28 12:36 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install kernel-smp-xxx
+
+2003-11-28 12:29 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: cp_af() is no good when file is a link. we need a
+ simple cp() ...
+
+2003-11-28 11:08 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: ignore failing to build nvidia clp
+
+2003-11-28 11:04 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: it is normal that nvidia files are
+ missing when we build without cdcom rpms
+
+2003-11-28 10:59 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: create .kde/share/config in user's home
+
+2003-11-28 10:57 Pixel <pixel at mandriva.com>
+
+ * move/make_live: if X proprietary drivers are not installed, just
+ skip
+
+2003-11-28 09:27 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix typo
+
+2003-11-28 08:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not restart network
+ service in testing mode
+
+2003-11-28 00:07 Guillaume Cottenceau
+
+ * move/isolinux/: help.msg, isolinux.cfg, make.pl: some isolinux
+ stuff
+
+2003-11-27 23:33 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: holy shotgun method for del_loops as well, or
+ else we'll miss image_always loop hence won't be able to eject
+ cdrom
+
+2003-11-27 22:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: prevent altering system
+ configuration in testing mode in optional steps
+
+2003-11-27 21:10 Guillaume Cottenceau
+
+ * move/move.pm: have only one /etc/passwd so that when user changes
+ password on one host, change is seen on other hosts
+
+2003-11-27 18:28 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: save shell pid
+
+2003-11-27 18:27 Guillaume Cottenceau
+
+ * move/move.pm: password in screensaver doesn't make sense if we
+ keep the shell
+
+2003-11-27 18:21 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - handle non partitioned usb keys (they are in
+ {raw_hds}) - set $ENV{XAUTHORITY} in case we want to use it one
+ day
+
+2003-11-27 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add isKeyUsb() (removed from
+ move.pm)
+
+2003-11-27 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: put in {raw_hds} non partitioned usb keys
+
+2003-11-27 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: get_raw_hds adds removables to {raw_hds}, it
+ doesn't overwrite it (so that non partitioned usb keys are not
+ dropped)
+
+2003-11-27 17:42 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: don't eject cdrom in nfs
+
+2003-11-27 17:28 Guillaume Cottenceau
+
+ * move/todo: done
+
+2003-11-27 17:27 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: smp kernel panics when calling poweroff!!
+
+2003-11-27 16:42 Guillaume Cottenceau
+
+ * kernel/update_kernel: "rh" loop is now called change_loop
+
+2003-11-27 16:39 Guillaume Cottenceau
+
+ * move/tree/X_move: try to not respawn X too fast
+
+2003-11-27 16:33 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: copy ksycoca instead of symlinking it (to allow
+ monitorer to do its job cleanly)
+
+2003-11-27 16:28 Guillaume Cottenceau
+
+ * move/move.pm: nobadchars opt for vfat so that we are allowed to
+ create files with : in filenames (kmail will need that)
+
+2003-11-27 16:20 Guillaume Cottenceau
+
+ * move/tree/mdk_totem.desktop: fabman prefers this
+
+2003-11-27 16:10 Guillaume Cottenceau
+
+ * mdk-stage1/lomount.c: in move kernel, we need change_loop.o
+
+2003-11-27 15:45 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: fake umounting /image when we use
+ live_tree/ instead of live_tree.clp
+
+2003-11-27 15:43 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.list: when using alsa, one need some conf file
+ when totem is running
+
+2003-11-27 15:36 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: if /image is a symlink, don't try to
+ umount and so don't fail
+
+2003-11-27 15:06 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: ksycoca is lang dependent
+
+2003-11-27 15:04 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: X_move is needed
+
+2003-11-27 15:02 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: kill klaptopdaemon without warning
+
+2003-11-27 14:54 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: non cpu burning forever loops
+
+2003-11-27 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable) enable to provide 0
+ parameters for xpadding and ypadding (much cleaner)
+
+2003-11-27 14:36 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: move tries to eject cdrom
+
+2003-11-27 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable) simplify xpadding
+ managment
+
+2003-11-27 14:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: more explanations
+
+2003-11-27 14:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: let drakgw embed (interface team
+ request)
+
+2003-11-27 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (new) do not show up anymore banners for
+ wizards when embeeded (the set_position() and the
+ set_size_request() calls do not make any sense at all when
+ embedded anyway)
+
+2003-11-27 14:18 Guillaume Cottenceau
+
+ * mdk-stage1/init.c, move/Makefile, move/make_live, move/tree/halt,
+ move/tree/halt_reboot, move/tree/reboot: allow to halt machine
+
+2003-11-27 13:58 Guillaume Cottenceau
+
+ * mdk-stage1/init.c, move/make_live, move/move.pm,
+ move/tree/Reboot.desktop, move/tree/X_move,
+ move/tree/halt_reboot, move/tree/startkde_move: at last a good
+ reboot/halt from kde
+
+2003-11-27 13:27 Pixel <pixel at mandriva.com>
+
+ * move/: make_live, move.pm: better have a good global
+ /usr/share/services/ksycoca by linking it to the key, rather than
+ configuring it in every users .kde/share/services/ksycoca
+
+2003-11-27 13:06 Guillaume Cottenceau
+
+ * move/: make_live, tree/Reboot.desktop: use a Reboot.desktop to
+ have ability to reboot graphically in menu it's not too good
+ because it's not top-down in the menu, but to do that we'd need
+ to modify kdebase or launche kde with kdm it-de-es translations
+ taken from gtk+mdk.mo
+
+2003-11-27 13:04 Guillaume Cottenceau
+
+ * move/tree/mdk_totem.desktop: translate (me, giuseppe, till, juan)
+
+2003-11-27 12:51 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add startkde_move and xwait
+
+2003-11-27 11:29 Dam's
+
+ * perl-install/ugtk2.pm: added xpadding/ypadding options in
+ create_packtable
+
+2003-11-27 11:18 Guillaume Cottenceau
+
+ * move/make_live: again
+
+2003-11-27 11:18 Guillaume Cottenceau
+
+ * move/make_live: woops
+
+2003-11-27 10:54 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: don't display version in move
+
+2003-11-27 10:36 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: ksycoca is no more global
+
+2003-11-27 10:30 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: no more global ksycoca
+
+2003-11-27 10:26 Guillaume Cottenceau
+
+ * move/make_live: we need pcmcia-cs if we ever want pcmcia to work
+
+2003-11-26 19:24 Guillaume Cottenceau
+
+ * move/move.pm: - overload install_steps_interactive::errorInStep
+ because it's nice to provide user with a way to get out of it
+ (remove sysconf files) - reboot in a better manner so that we
+ don't have console locked after XFree gets killed
+
+2003-11-26 19:10 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: consider than presence of /tmp/reboot means a
+ clean exit
+
+2003-11-26 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add drakups
+
+2003-11-26 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: upsdrvctl start will fail if
+ section name contains spaces
+
+2003-11-26 17:48 Guillaume Cottenceau
+
+ * move/make_live: call my halt_reboot in place of halt and reboot
+
+2003-11-26 17:46 Guillaume Cottenceau
+
+ * move/: Makefile, tree/X_move, tree/halt_reboot,
+ tree/startkde_move: allow to reboot the machine
+
+2003-11-26 17:41 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: cleanup startkde messages on clean exit
+
+2003-11-26 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: - configure properly usb &
+ serial connected mge devices - use perl-Libconf to shrink down
+ the code size and better respect the user config file (keep
+ important comments and the like - thx dam's for his support)
+
+2003-11-26 17:07 Pixel <pixel at mandriva.com>
+
+ * move/: make_live, move.pm: - configure ksycoca per lang -
+ configure ksycoca with flag working - configure kdeglobals lang
+ (for kcontrol and a few more)
+
+2003-11-26 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: export driver too
+
+2003-11-26 16:38 Guillaume Cottenceau
+
+ * move/make_live: binutils contains strings
+
+2003-11-26 15:45 Guillaume Cottenceau
+
+ * move/make_live: allow services we won't start to not show up in
+ chkconfig queries
+
+2003-11-26 15:36 Guillaume Cottenceau
+
+ * move/move.pm: syslog is started by us
+
+2003-11-26 15:26 Guillaume Cottenceau
+
+ * move/tree/wait4x: make it work
+
+2003-11-26 15:14 Guillaume Cottenceau
+
+ * move/: Makefile, tree/startkde_move, tree/wait4x: we can't keep
+ perl in memory if we want to eject cdrom
+
+2003-11-26 14:11 Guillaume Cottenceau
+
+ * move/move.pm: qiv has much more POWER than ourselves for setting
+ up a persistent background
+
+2003-11-26 14:01 Guillaume Cottenceau
+
+ * move/Makefile, move/move.pm, move/tree/X_move,
+ move/tree/startkde_move, perl-install/install_steps_gtk.pm: allow
+ X to restart after dying through X_move script, startkde also
+ through startkde_move script
+
+2003-11-26 13:58 Guillaume Cottenceau
+
+ * move/xwait.c: allow to ask it to stay permanent (used for not
+ blinking when startkde exits)
+
+2003-11-26 13:44 Guillaume Cottenceau
+
+ * move/data/: BOOT-1024-MOVE.jpg, BOOT-1280-MOVE.jpg,
+ BOOT-1600-MOVE.jpg, BOOT-800-MOVE.jpg: new splash screen
+
+2003-11-26 13:33 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pl: inspires from xwait: keep a client
+ until some window is created, otherwise X server blinks to hell
+
+2003-11-26 12:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, nb.po: updated Italian and
+ Norwegian files
+
+2003-11-26 10:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: perl_checker fix
+
+2003-11-26 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: link beat detection: enable both
+ net_monitor and drakconnect usage at both time (not so usefull
+ but cleaner)
+
+2003-11-26 10:32 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: simplify (already done)
+
+2003-11-26 10:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: extract kdeglobals configuration from
+ lang::write() into lang::configure_kdeglobals()
+
+2003-11-26 09:47 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install openssh-server
+
+2003-11-25 22:10 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: no need to skip network.pm anymore
+
+2003-11-25 22:09 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: network.pm doesn't exist anymore in new
+ drakxtools
+
+2003-11-25 20:42 Guillaume Cottenceau
+
+ * move/move.pm: "proceeding" msg is also not capitalized
+
+2003-11-25 20:40 Guillaume Cottenceau
+
+ * move/move.pm: insmod uses glibc syslog facility for outputting
+ error messages, thus we need to start syslogd very soon to not
+ end up with silly parport_pc busy messages on console #1
+
+2003-11-25 19:29 Guillaume Cottenceau
+
+ * move/todo: usb mouse (plus usb keyboard and usb key) works on
+ fredhack
+
+2003-11-25 19:20 Guillaume Cottenceau
+
+ * move/move.pm: prepare for stripped down version
+
+2003-11-25 19:12 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: mount i18n clp ASAP so that console two shell uses
+ the right locales
+
+2003-11-25 18:57 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: shut up
+
+2003-11-25 18:42 Guillaume Cottenceau
+
+ * move/todo: pixel, don't forget to install drakconf >= 9.3-8mdk
+
+2003-11-25 18:27 Guillaume Cottenceau
+
+ * move/make_live: remove uncessary wizards from appearing in MCC
+
+2003-11-25 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-10mdk
+
+2003-11-25 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix bogus use of old netwok
+ module instead of network::network
+
+2003-11-25 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix #5664 (alsp part of
+ #5065 and #5361): list ppp0 for modem and adsl connections too
+ (though not all adsl connection types need it) and ippp0 too for
+ isdn ones
+
+2003-11-25 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: fix #6184: read back "Connection
+ Name" and "Domain Name" fields
+
+2003-11-25 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: (getAndSaveFile) log which file copy
+ failled in order to knwow which partition is not big enough (see
+ #6149)
+
+2003-11-25 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix nasty gc error
+
+2003-11-25 14:06 Guillaume Cottenceau
+
+ * move/move.pm: in mode 2, also pre fix /etc/rc.d/rc5.d links
+
+2003-11-25 13:37 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: allow DEBUG
+
+2003-11-25 13:20 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: use /dev/mouse in the X config file to allow
+ changing mouse device live
+
+2003-11-25 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: add new mouse "PS/2|Automatic" and use it
+ by default, so that "PS/2|Generic PS2 Wheel Mouse" use protocol
+ IMPS/2 which is needed when we force mouse change live ("auto"
+ doesn't work in that case)
+
+2003-11-25 12:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: don't fake ide-scsi for move
+ (otherwise, we would need to do it in stage1 too)
+
+2003-11-25 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: for move, make it use ide-scsi
+ *now*, not after reboot
+
+2003-11-25 11:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: fix destroying HorizSync &
+ VertRefresh (especially when coming from ddcxinfos with unknown
+ EISA_ID)
+
+2003-11-25 11:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: check that libglx.so is a link
+ instead of checking if it exists (since it is now in nvidia.clp)
+
+2003-11-25 10:34 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live_tree_boot, move.pm, data/nvidia.list:
+ - handle nvidia.clp - handle X proprietary drivers
+
+2003-11-25 10:25 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: - nvidia.clp support - handle
+ umounting failure by remounting what can be and calling mdk_totem
+ again (which will hopefully tell what program did make
+ umounting fail)
+
+2003-11-24 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) forward fix adsl
+ connection class due to type being now translated
+
+2003-11-24 19:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: reintroduce detect_timezone
+ (indeed that one was needed :-()
+
+2003-11-24 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) fix adsl connection
+ class due to type being now translated
+
+2003-11-24 18:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-11-24 16:54 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: allow sleep(1) to run correctly in
+ mdk_behind_totem when everything is unmounted
+
+2003-11-24 16:43 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-11-24 14:50 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: - fix regexps according to {cmdline} format
+ change - add nvidia clp handling
+
+2003-11-24 14:43 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - install NVIDIA_nforce-xxx - /usr/lib/libGL.so.1
+ links to /etc/X11/libGL.so.1 - create /usr/lib/libGL.so.1.fglrx
+ and /usr/lib/libGL.so.1.nvidia => at runtime we create
+ /etc/X11/libGL.so.1 linked to one of them
+
+2003-11-24 13:52 Pixel <pixel at mandriva.com>
+
+ * move/data/symlinks: /opt is needed by fucking acroread
+
+2003-11-24 13:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2003-11-24 12:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, de.po, eu.po: updated Welsh,
+ German and Basque files
+
+2003-11-24 12:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: fix isdn
+ detection: detect all isdn cards, not only the first one
+
+2003-11-24 12:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live: add some comment
+
+2003-11-24 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump buildrequire for ldetect
+ because of new API
+
+2003-11-24 11:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/keyboard.pm: thx perl_checko
+
+2003-11-23 22:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getNet) handle zaurus connected
+ through USB cables resulting in usbnet driver creating usbX
+ interfaces
+
+2003-11-23 22:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (connected2) rename it as
+ check_link_beat() to better reflect what he does
+
+2003-11-23 22:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (detect_timezone, disconnected,
+ type2interface) kill dead code
+
+2003-11-23 22:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: keyboard.pm, network/tools.pm: reuse bg_command: -
+ major cleanups - get rid of "kid exited -1 at
+ /usr/lib/libDrakX/network/tools.pm line 182." warnings
+
+2003-11-23 22:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: introduce bg_command object that
+ enable to fork a sub that give back data through STDOUT a la
+ run_program::get_stdout but w/ arbitrary perl code instead of
+ external program and in background
+
+2003-11-23 11:31 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/control-center/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2003-11-21 23:43 Guillaume Cottenceau
+
+ * move/: move.pm, data/keyfiles: persistent services
+
+2003-11-21 23:23 Guillaume Cottenceau
+
+ * move/etc-monitorer.pl: handle relative symlinks too
+
+2003-11-21 22:20 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: one missing move translation
+
+2003-11-21 20:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2003-11-21 19:53 Guillaume Cottenceau
+
+ * move/move.pm: allow formatting the virtual key with a commandline
+ param, for easy mode-2 testing
+
+2003-11-21 19:37 Guillaume Cottenceau
+
+ * move/move.pm: - don't unconditionally assign lang::read to
+ {locale} because we default to US as a country, and
+ install_steps::selectLanguage relies on a void country to assign
+ default country for a lang (e.g. FR for fr) - use lang::set so
+ that in mode 3 KDE can start in the right language
+
+2003-11-21 19:00 Guillaume Cottenceau
+
+ * perl-install/install2.pm: fix old-style call of lang::set, don't
+ call it in move
+
+2003-11-21 18:45 Guillaume Cottenceau
+
+ * move/move.pm: read locale config early enough to be able to mount
+ correct i18n clp in mode 3
+
+2003-11-21 18:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) detect serial MGE too
+
+2003-11-21 18:34 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: in case we didn't mount any clp (nfs case),
+ we insmod gzloop.o here for later always_i18n case, because
+ gzloop.o is not available later in /lib/modules
+
+2003-11-21 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/serial.c: alter detection sequence to better
+ follow the standard, thus enabling to detection MGE UPS connected
+ through serial ports
+
+2003-11-21 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/serial.c: remove special mouse handling (not
+ needed anymore)
+
+2003-11-21 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/serial_probe.c: adatp to latest kudzu api
+ regarding serial detection (number suite => logical bits)
+
+2003-11-21 18:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/: device.h, serial.c: - sync with rh - keep
+ CLASS_UNSPEC handling
+
+2003-11-21 17:51 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: eject cdrom when unmounted
+
+2003-11-21 17:40 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add eject for mdk_behind_totem
+
+2003-11-21 17:39 Guillaume Cottenceau
+
+ * move/move.pm: on some video boards there is not even a
+ configuration for xfree3, we can't rely on it
+
+2003-11-21 17:07 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: cleanup
+
+2003-11-21 17:06 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: show "frozen-bubble" instead of "perl"
+
+2003-11-21 16:52 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: load kernel module "nvidia" when using nvidia in
+ XFree
+
+2003-11-21 16:44 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - install proprietary drivers - remove "nvidia"
+ from /etc/modules
+
+2003-11-21 14:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, et.po: updated Welsh and Estonian
+ files
+
+2003-11-21 13:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: add CrossOver Office
+
+2003-11-21 13:49 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: have a fake helpwindow so that
+ wizardwindow shrinks a bit and we don't totally hide
+ "MandrakeMove" logo at bottom
+
+2003-11-21 13:48 Guillaume Cottenceau
+
+ * move/data/etcfiles: /etc/inittab copied so that we don't see a
+ bad message on console just before X starts
+
+2003-11-21 13:35 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - don't remove /dev in live_tree - have a correct
+ /etc/rpm/macros in live_tree - fix menu i18n
+
+2003-11-21 13:13 Guillaume Cottenceau
+
+ * move/move.pm: keeping $rootwindow didn't work
+
+2003-11-21 12:47 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: should be enough
+
+2003-11-21 12:23 Guillaume Cottenceau
+
+ * move/Makefile: put backgrounds directly in /usr/share/wallpapers
+
+2003-11-21 12:22 Guillaume Cottenceau
+
+ * move/move.pm: display background image as soon as possible keep a
+ gdkwindow with the background image so that it stays when
+ wizardwindow is destroyed
+
+2003-11-21 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't ask mouse when
+ unsafe is not set (and it is currently very seldom set)
+
+ pixel really did miserably commit this in 03/2003, though it was
+ a change used for debugging :-(
+
+2003-11-21 00:03 Guillaume Cottenceau
+
+ * move/move.pm: kill duplicated code once again
+
+2003-11-21 00:01 Guillaume Cottenceau
+
+ * move/move.pm: kill duplicated code
+
+2003-11-20 23:57 Guillaume Cottenceau
+
+ * move/move.pm: pixel likes it when we no one is able to cross
+ frontiers (is he protectionist/nationalist or something?)
+
+2003-11-20 23:55 Guillaume Cottenceau
+
+ * move/: .cvsignore, Makefile, runlevel_set.c: found no way to
+ write into /var/run/utmp than to create my own program :(
+
+2003-11-20 23:54 Guillaume Cottenceau
+
+ * move/move.pm: allow testing with a virtual key (a given file on a
+ given partition), that will be faster, easier (and more reliable
+ ;p) that will maybe allow future normal (but strange) use of
+ MandrakeMove with a file on an existing ext2 or a vfat partition,
+ who knows? gael's gonna be happy with his motto "our users find
+ unpredictable usage of our products, ya-hoo!"
+
+2003-11-20 22:51 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-11-20 19:08 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix mounting things when using existing config
+
+2003-11-20 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - use "auto" for ps/2 - allow using same
+ config for ps/2 and imps/2
+
+2003-11-20 18:47 Guillaume Cottenceau
+
+ * move/: etc-monitorer.pl, move.pm: etc-monitorer now also handles
+ removal of files
+
+2003-11-20 18:35 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: simplify
+
+2003-11-20 18:10 Guillaume Cottenceau
+
+ * move/move.pm: - verify key in mode 3 boot as well - if the key is
+ RO we can't umount /home because of /etc/X11/X, give a nice msg
+ to user in that case
+
+2003-11-20 18:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2003-11-20 17:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po: updated pot file
+
+2003-11-20 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2003-11-20 16:41 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: have the syslinux progress bar white
+
+2003-11-20 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, c/stuff.xs.pl: adapt to new
+ usb_class2text()
+
+2003-11-20 16:19 Guillaume Cottenceau
+
+ * perl-install/share/po/Makefile: add move.pm
+
+2003-11-20 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix regexp for new ldetect usb
+ class
+
+2003-11-20 15:42 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: don't export cdcom modules archives
+
+2003-11-20 15:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: rebuilt DrakX.pot
+
+2003-11-20 14:42 Guillaume Cottenceau
+
+ * mdk-stage1/: stage1.c, stage1.h, tools.c: live boot option is
+ deprecated
+
+2003-11-20 14:01 Guillaume Cottenceau
+
+ * move/move.pm: use ext2 for the per user loopback on usb key
+
+2003-11-20 13:52 Guillaume Cottenceau
+
+ * move/move.pm: write mouse xfree conf in mode 2
+
+2003-11-20 13:29 Guillaume Cottenceau
+
+ * move/etc-monitorer.pl: don't keep messages about failing to
+ preserve ownership
+
+2003-11-20 13:11 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: oops my problems were linked to wrongly
+ being in live mode
+
+2003-11-20 12:42 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, data/isolinux-graphic.bmp: new splash screen
+
+2003-11-20 12:35 Guillaume Cottenceau
+
+ * move/make_live: xinput needed for some mice
+ (mouse.pm::various_xfree_conf)
+
+2003-11-20 11:59 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: better stdio for umount failed
+
+2003-11-20 11:59 Guillaume Cottenceau
+
+ * move/: etc-monitorer.pl, move.pm: speedup boot by launching
+ etc-monitorer only one time from within drakx
+
+2003-11-20 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: $o->{fstab} now contains
+ get_really_all_fstab, not get_all_fstab (needed for
+ merge_info_from_mtab to work from cdroms)
+
+ this may break install!
+
+2003-11-20 11:31 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - run "service sound start" in background - no need
+ to set $o->{fstab} - move back install_TrueFS_in_home() call in
+ startMove (it doesn't rely on $o->{fstab} anymore)
+
+2003-11-20 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: prevent load new driver too
+ during install (anthil #110)
+
+2003-11-20 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix anthill bug #110 (install
+ looping on missing module snd-pcm-oss)
+
+2003-11-20 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: unpoulpize comments (spoted by
+ joseph van den reysen)
+
+2003-11-19 23:43 Guillaume Cottenceau
+
+ * move/tools/scan-etc.pl: i do suck much
+
+2003-11-19 23:42 Guillaume Cottenceau
+
+ * move/: Makefile, tools/fix-fc-cache.pl: make_live_tree_boot
+ replacing files by symlinks is responsible for fontconfig cache
+ outdated, fix cache by touching files
+
+2003-11-19 23:22 Guillaume Cottenceau
+
+ * move/tools/check-fc-cache.pl: add check if files are more
+ recent (fc-cache will slow down starting of drakx)
+
+2003-11-19 22:57 Guillaume Cottenceau
+
+ * perl-install/mouse.pm: perl checker should have told us?
+
+2003-11-19 22:53 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: allow "test your mouse" buttons to be
+ viewable (window was much more than 16/9 anyway)
+
+2003-11-19 22:16 Guillaume Cottenceau
+
+ * move/: Makefile, move.pm, data/BOOT-1024-MOVE.jpg,
+ data/BOOT-1280-MOVE.jpg, data/BOOT-1600-MOVE.jpg,
+ data/BOOT-800-MOVE.jpg: use boot images
+
+2003-11-19 19:18 Guillaume Cottenceau
+
+ * move/: Makefile, data/README.adding.more.files: uneeded now since
+ we use etc-monitorer.pl
+
+2003-11-19 18:47 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: - forgot to close fd when del_loop ioctl fail,
+ busyfied loopback and prevented to umount /home - better io
+ messages
+
+2003-11-19 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-9mdk
+
+2003-11-19 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fa.po, fi.po, ga.po, gl.po, he.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mk.po, ms.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: fix untranslated strings due to old perl_checker not
+ de-escaping @ and $ caracters
+
+2003-11-19 17:41 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - mount removable devices - fix chown'ing cache
+ directory
+
+2003-11-19 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2003-11-19 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: better comment for
+ raidAutoStartIoctl
+
+2003-11-19 17:20 Guillaume Cottenceau
+
+ * move/: Makefile, img/FE92-1024-MOVE1.jpg,
+ img/FE92-1024-MOVE2.jpg, img/FE92-1024-MOVE3.jpg,
+ img/FE92-1024-MOVE4.jpg, img/FE92-1024-MOVE5.jpg,
+ img/FE92-1280-MOVE1.jpg, img/FE92-1280-MOVE2.jpg,
+ img/FE92-1280-MOVE3.jpg, img/FE92-1280-MOVE4.jpg,
+ img/FE92-1280-MOVE5.jpg, img/Mandrake.png: default and
+ supplementary wallpapers
+
+2003-11-19 16:56 Guillaume Cottenceau
+
+ * move/make_live: have proper mandrake-release contents
+
+2003-11-19 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, fr.po: fix untranslated
+ strings due to old perl_checker not de-escaping @ and $ caracters
+
+2003-11-19 16:36 Guillaume Cottenceau
+
+ * move/make_live: printer stuff
+
+2003-11-19 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/serial.c: - sync with latest kudzu - reverse
+ "let do not detect anything anymore" bits - rollback "let fsck up
+ serial mice" bits
+
+2003-11-19 16:23 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: .kde/share/cache is a symlink to a tmpfs directory
+ to ensure the key doesn't grow too much
+
+2003-11-19 15:43 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: move sound configuration later (when X is running)
+
+2003-11-19 15:37 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: start service "sound" to unmute alsa sound
+
+2003-11-19 15:31 Pixel <pixel at mandriva.com>
+
+ * move/make_live: add alsa-utils (used by service "sound" to
+ configure alsa devices)
+
+2003-11-19 15:29 Pixel <pixel at mandriva.com>
+
+ * move/todo: bttv configuration automatically done in
+ modules::write_conf()
+
+2003-11-19 15:11 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.list: new xine lib
+
+2003-11-19 14:36 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: merge and translate move stuff
+
+2003-11-19 14:25 Guillaume Cottenceau
+
+ * move/move.pm: cleankey really does (doesn't look for i18n/user of
+ other machines) use a variable for /home/.sysconf
+
+2003-11-19 14:17 Pixel <pixel at mandriva.com>
+
+ * move/make_live: don't run update-menus in background so that
+ kbuildsycoca is called when update-menus is over
+
+2003-11-19 13:57 Guillaume Cottenceau
+
+ * move/etc-monitorer.pl: pixel rulz
+
+2003-11-19 13:52 Guillaume Cottenceau
+
+ * move/make_live: allow debugging move
+
+2003-11-19 13:47 Guillaume Cottenceau
+
+ * move/move.pm: tired of unworkable root enviro
+
+2003-11-19 13:41 Guillaume Cottenceau
+
+ * move/move.pm: I always suck when I commit untested code
+
+2003-11-19 13:37 Guillaume Cottenceau
+
+ * move/etc-monitorer.pl: globing * won't cache hidden files
+
+2003-11-19 13:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live: add dhcp-client
+
+2003-11-19 13:30 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - ensure DURING_INSTALL doesn't escape packages
+ install - use run_program::rooted instead of system("chroot ...")
+
+2003-11-19 13:10 Guillaume Cottenceau
+
+ * move/make_live: aren't we heading the wall at lightspeed if we
+ begin to duplicate our efforts? :)
+
+2003-11-19 13:03 Guillaume Cottenceau
+
+ * move/move.pm: ~/.openoffice must be a truefs
+
+2003-11-19 12:50 Guillaume Cottenceau
+
+ * move/make_live: enable lock in kde screensaver
+
+2003-11-19 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * move/todo: add some hint
+
+2003-11-19 10:28 Pixel <pixel at mandriva.com>
+
+ * move/make_live: - the screensaver should lock - fix gc's typo
+
+2003-11-19 00:28 Guillaume Cottenceau
+
+ * move/move.pm: allow user customisation of startup through
+ /etc/rc.d/rc.local
+
+2003-11-19 00:19 Guillaume Cottenceau
+
+ * move/move.pm: launch dnotify only when we have a key
+
+2003-11-18 22:36 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-11-18 22:22 Guillaume Cottenceau
+
+ * move/move.pm: update BLA BLA since no one did move on this
+
+2003-11-18 22:14 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, ugtk2.pm: smaller wizard window in
+ move
+
+2003-11-18 19:30 Guillaume Cottenceau
+
+ * move/move.pm: differentiate user and host configuration so that
+ moving around with the same key you will already have your lang
+ and user/pass set
+
+2003-11-18 17:15 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: build & install drakx mo files
+
+2003-11-18 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools, share/po/Makefile:
+ allow move to build & install drakx mo files (using sudo)
+
+2003-11-18 17:00 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add dnotify
+
+2003-11-18 16:30 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: don't even try to do something when some
+ very important processes make the cd busy
+
+2003-11-18 16:02 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: can't make my mind
+
+2003-11-18 16:00 Guillaume Cottenceau
+
+ * perl-install/install2.pm: shut up
+
+2003-11-18 16:00 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: restart kicker if it annoys us
+
+2003-11-18 16:00 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: shorter
+
+2003-11-18 15:59 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: oops that was debugging stuff right :)
+
+2003-11-18 15:59 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: don't tell them!
+
+2003-11-18 15:45 Guillaume Cottenceau
+
+ * move/make_live: dnotify needed
+
+2003-11-18 15:45 Guillaume Cottenceau
+
+ * move/: Makefile, etc-monitorer.pl, move.pm, todo, data/keyfiles:
+ have system configuration files automagically saved on the usb
+ key with dnotify and a script
+
+2003-11-18 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - create i18n_env() - use it in set() when
+ $::move to set a standard i18n environment, not the drakx
+ simplified one
+
+2003-11-18 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: call lang::set(): - with
+ $o->{locale} instead of $o->{locale}{lang} - after setting
+ $o->{locale}{country}
+
+2003-11-18 15:37 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: try replacing __LANG__ with fr_FR (same
+ for other langs) then with fr (same for other langs) in
+ always_i18n file list
+
+2003-11-18 15:36 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: - also work in nfs with no live_tree.clp
+ mounted - kio_uiserver will get killed without mentioning
+
+2003-11-18 15:33 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: update (we now launch kde with
+ standard i18n environment instead of drakx simplified one)
+
+2003-11-18 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_any.pm, install_steps.pm:
+ getHds called by install_steps must not be interactive
+
+2003-11-17 23:42 Guillaume Cottenceau
+
+ * move/: move.pm, todo, data/keyfiles: preliminary support for
+ booting off informations saved on the key without any asked
+ question
+
+2003-11-17 19:36 Guillaume Cottenceau
+
+ * move/move.pm: hotplug sux when it goes to loading usb modules in
+ beginning of move because modules are loaded in background, it
+ takes up much time and we don't know when usb-storage is loaded,
+ so we sometimes even missed the detection of usb key, so let's
+ load the modules we're interested it ourselves
+
+2003-11-17 19:17 Guillaume Cottenceau
+
+ * perl-install/modules.pm: when_load: is called many times (from
+ read_already_loaded) so avoir remounting /proc/bus/usb those many
+ times and sleeping for 4 seconds
+
+2003-11-17 19:04 Guillaume Cottenceau
+
+ * move/move.pm: command line option cleankey allows to remove
+ previously saved system configuration and re detect everything
+
+2003-11-17 18:36 Guillaume Cottenceau
+
+ * move/: make_live, move.pm, data/keyfiles: don't use shadow
+ passwords since pwconv overwrites /etc/shadow hence contents will
+ be lost for usb key
+
+2003-11-17 18:27 Guillaume Cottenceau
+
+ * move/Makefile: when we need to change something in MDK-Common
+ (here, substInFile), allow us to reflect our changes in "make"
+ from cvs pixel might need to have a working ../../soft
+
+2003-11-17 16:32 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: mount key early (before launching X)
+
+2003-11-17 16:04 Guillaume Cottenceau
+
+ * move/move.pm: prevent from linking /etc/sudoers to the key since
+ sudo will refuse to work afterwards
+
+2003-11-17 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: mdkmove doesn't use
+ setupSCSI step anymore
+
+2003-11-17 15:00 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: fix -sort in mkisofs
+
+2003-11-17 14:45 Pixel <pixel at mandriva.com>
+
+ * move/: make_live, data/always.dirs, data/always.list,
+ data/boot.dirs, data/boot.list, data/totem.list: remove /lib/i686
+ and use non-i686 libraries
+
+2003-11-17 14:45 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: don't log busy files on tty3, but on stderr
+ (allow busy-files like usage)
+
+2003-11-17 14:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, uz.po, uz@Cyrl.po: updated Basque
+ and Uzbek files
+
+2003-11-17 14:24 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: have a better global coherency between clp's
+
+2003-11-17 14:04 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add a "making iso" rule
+
+2003-11-17 13:55 Guillaume Cottenceau
+
+ * mdk-stage1/config-stage1.h, move/move.pm, move/todo,
+ move/tools/busy-files, move/tree/mdk_behind_totem,
+ move/tree/mdk_move_loop: move /image_raw to /cdrom
+
+2003-11-17 12:48 Guillaume Cottenceau
+
+ * move/data/all-etcfiles: pixel sux
+
+2003-11-17 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-8mdk
+
+2003-11-17 10:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, et.po, pt_BR.po: updated Welsh,
+ Estonian and Brazilian files
+
+2003-11-17 10:05 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: remove unused stuff
+
+2003-11-16 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-7mdk
+
+2003-11-16 00:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix links
+
+2003-11-14 19:55 Guillaume Cottenceau
+
+ * move/: Makefile, move.pm, todo, data/README.adding.more.files,
+ data/keyfiles: preliminary support for saving system
+ configuration data on usb key
+
+2003-11-14 19:50 Guillaume Cottenceau
+
+ * move/data/all-etcfiles: oops forgot to add this one
+
+2003-11-14 18:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-6mdk
+
+2003-11-14 18:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: add links so that most tools
+ get listed on drak<TAB> completion
+
+2003-11-14 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install2.pm, network/netconnect.pm: fix bogus use
+ of old netwok module instead of network::network (missed when
+ cleaning up this)
+
+2003-11-14 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: add compatibility link for
+ drakclock
+
+2003-11-14 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: remove net aliases if
+ needed
+
+2003-11-14 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: install drakclock
+
+2003-11-14 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakclock: move clock.pl from mcc into
+ drakxtools (its proper place)
+
+2003-11-14 17:05 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-11-14 16:39 Guillaume Cottenceau
+
+ * move/: move.pm, data/etcfiles: fix shadow password
+
+2003-11-14 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: test the presence of kernel modules
+ .cz'ed or not
+
+2003-11-14 16:14 Guillaume Cottenceau
+
+ * move/move.pm: gc sux bigtime
+
+2003-11-14 15:56 Guillaume Cottenceau
+
+ * move/make_live: fredl requested simplified menu
+
+2003-11-14 15:40 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: un-share shared i18n files (currently
+ /usr/share/locale/{es,it,en_US}/LC_CTYPE)
+
+ that way, no need to have live_tree_always_i18n_iso_8859_1.clp
+ and live_tree_always_i18n_iso_8859_15.clp used by
+ live_tree_always_i18n_en_US.clp, live_tree_always_i18n_es.clp,
+ live_tree_always_i18n_it.clp
+
+2003-11-14 15:31 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.list: add some network programs running in
+ background
+
+2003-11-14 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: ensure setupSCSI is
+ quite silent in move
+
+2003-11-14 12:00 Guillaume Cottenceau
+
+ * move/move.pm: gc sux
+
+2003-11-14 11:55 Guillaume Cottenceau
+
+ * move/move.pm: detect RO key
+
+2003-11-14 00:15 Guillaume Cottenceau
+
+ * move/move.pm: propose to plug in the key if no key was detected
+
+2003-11-13 19:46 Guillaume Cottenceau
+
+ * move/move.pm: be sure to restart network after configuring it,
+ since programs such as KDE will have great trouble with loopback
+ interface (it seems) otherwise. don't configure network nor
+ restart it when doing test (nfs) 'install'.
+
+2003-11-13 19:15 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: indicate a sort of progression status when
+ loading clp's
+
+2003-11-13 14:46 Guillaume Cottenceau
+
+ * move/tree/mdk_totem.desktop: totem can play dvd's too, right?
+
+2003-11-13 14:29 Guillaume Cottenceau
+
+ * move/move.pm: really start with first ordered step
+
+2003-11-13 14:26 Guillaume Cottenceau
+
+ * move/move.pm: force uid/gid of created user to 501 as it was used
+ when mounting key, addUser may choose 502 when key already holds
+ user data
+
+2003-11-13 13:46 Guillaume Cottenceau
+
+ * move/move.pm: /etc/sysconfig files badly need to be writable
+
+2003-11-13 13:38 Guillaume Cottenceau
+
+ * perl-install/install2.pm: testing for cz file in move mode is a
+ bad idea
+
+2003-11-13 13:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) forward fix
+ untranslatable strings: switch from ask_from_list_() to
+ ask_from_list() else cjk users get bogus GUIes
+
+2003-11-13 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: forward "always list sagem_dhcp in
+ list, hidding it due to missing translations is insane", there're
+ just too many lost users
+
+2003-11-13 12:01 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - mount the key - mount .kde using "-o bind" to a
+ truefs - fix variable name re-declared
+
+2003-11-13 08:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: exclude "cdcom" kernels from /export &
+ isolinux
+
+2003-11-12 19:22 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: prevent from FPE (even if I didn't see it
+ duplicated)
+
+2003-11-12 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf) forward
+ fix: setVarsInSh() already take care of not writing undefined
+ parameters, so it's safer to always write wireless parameters if
+ set else we drop user set wireless parameters when our wireless
+ modules list is not uptodate
+
+2003-11-12 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: update wireless modules list
+
+2003-11-12 18:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (set_advanced_raw) inline it in
+ it's only caller
+
+2003-11-12 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: forward fix logic test instead
+ of binary one (wasn't a bug there since values were both undef/0
+ or 1)
+
+2003-11-12 18:11 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: Parse XFree86 install server log
+ in last resort in case there is nothing valuable retrieved so far
+ from ddcxinfos.
+
+2003-11-12 18:09 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_gtk.pm: Remove explicit values for HorizSync
+ & VertRefresh when generating /tmp/Xconf for XFree86 4.X. i.e.
+ let the server autodetect those values.
+
+2003-11-12 18:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: forward program logic fix: write
+ up/down programs for adsl speedtouch even if firmware is already
+ there or if one say "let see this later" which result in up/down
+ scripts to be removed on drakconnect startup
+
+2003-11-12 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix program logic: write up/down
+ programs for adsl speedtouch even if firmware is already there or
+ if one say "let see this later" which result in up/down scripts
+ to be removed on drakconnect startup
+
+2003-11-12 15:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mk.po, ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2003-11-12 15:46 Guillaume Cottenceau
+
+ * move/: Makefile, move.pm: be sure remaining /etc files are at
+ least available RO
+
+2003-11-12 15:13 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: mount the key in /home
+
+2003-11-12 14:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: don't ship with old modules [disable them
+ in next kernel]
+
+2003-11-12 14:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, tg.po: updated Czech and Tajik
+ files
+
+2003-11-12 14:34 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: network.pm doesn't exist anymore
+
+2003-11-12 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, fs.pm: - use the "mount" command directly
+ in move - still not really clean ($o_options is dropped in many
+ cases)
+
+2003-11-12 13:44 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, tree/mdk_totem.desktop: add an icon on the
+ desktop to run mdk_totem
+
+2003-11-12 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network.pm: remove useless module
+
+2003-11-12 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ftp.pm, http.pm, any.pm, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_interactive.pm,
+ network/netconnect.pm, printer/printerdrake.pm,
+ standalone/drakauth, standalone/drakgw, standalone/drakpxe: fix
+ bogus use of old netwok module instead of network::network
+
+2003-11-12 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: reuse is_dynamic_ip() to not
+ bother asking about zeroconf specific stuff when there's not any
+ dynamic interfaces
+
+2003-11-12 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/tools.pm, standalone/drakconnect:
+ (network::tools::is_dynamic_ip) consolidate test for any dynamic
+ interface
+
+2003-11-12 13:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix warning with usb mice
+
+2003-11-12 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - fix #3047's fix - do not
+ show module if unknow for system bridges since it's normal
+
+2003-11-12 13:14 Guillaume Cottenceau
+
+ * move/move.pm: need to handle i18n clp before accepting license
+
+2003-11-12 13:13 Guillaume Cottenceau
+
+ * move/move.pm: acceptLicense done ASAP as well
+
+2003-11-11 14:22 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: mount keys
+
+2003-11-11 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - make use_proc_partitions a clean
+ function (not only used when diskdrake code fails) - fix
+ {start} in read_proc_partitions() ({start} was not
+ re-initialised between drives)
+
+2003-11-11 02:30 Dam's
+
+ * perl-install/ugtk2.pm: corrected typo
+
+2003-11-10 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: choose a not-to-bad default when X
+ auto config fails in auto install
+
+2003-11-10 12:39 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: allowFB just in case someone wants to have fb
+
+2003-11-10 12:32 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: also copy perl-install/*/*.pm files
+
+2003-11-10 11:45 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: check the kernel corresponding to stage1 rdz is
+ installed
+
+2003-11-08 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix changelog
+
+2003-11-08 10:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-5mdk
+
+2003-11-08 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: (is_wireless_intf) fix #6312: list
+ acx100_pci as a wireless network cards driver too (fix impossible
+ to set wireless parameters for it)
+
+2003-11-08 09:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getCPUs) enumerate cpus from 1
+ instead of 0 (part of #4704)
+
+2003-11-08 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/af.po, share/po/ar.po, share/po/az.po,
+ share/po/bg.po, standalone/harddrake2, share/po/br.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fa.po, share/po/fi.po,
+ share/po/fr.po, share/po/he.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/mk.po, share/po/mt.po,
+ share/po/nb.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/uz@Cyrl.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po: fix #6134: JAZ
+ device is not spelled like jazz music
+
+2003-11-08 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix lan always marked as
+ detected even when no detection was performed or when there's no
+ ethernet devices
+
+ btw, generalize this "fix" to all net connection types.
+
+ rationale: since we've already check if we've devices, there's no
+ point in doing another different check in order to add the string
+ "- detected" so let's just consolidate the previous test, this
+ will prevent such bug to come back again
+
+2003-11-08 08:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix last part of #5315: do
+ not ask for confirmation at install time
+
+ rationale: while this is reasonable within standalone
+ drakconnect, it's quite less needed at install time
+
+2003-11-08 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix #3047: do not display
+ "unknown module" in red for devices known to not need any module
+ (see http://www.people.iup.edu/bclg/pci-modem.html)
+
+2003-11-07 23:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker fixes
+
+2003-11-07 20:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-4mdk
+
+2003-11-07 20:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix network interfaces list
+ update: - really remove from the Gtk+ list lost interfaces -
+ update the intf reference list
+
+2003-11-07 20:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend) use
+ getNetDriver() rather than relying on ethX alias for mapping the
+ ethX interface to the driver that created it thus fixing quite
+ old detection bugs
+
+2003-11-07 20:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: oops, network::tools is still
+ needed by configureNetworkIntf...
+
+2003-11-07 20:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (write_interface_conf)
+ setVarsInSh() already take care of not writing undefined
+ parameters, so it's safer to always write wireless parameters if
+ set else we drop user set wireless parameters when our wireless
+ modules list is not uptodate
+
+2003-11-07 17:34 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/pkgs.pm: reintegrate togglePackageSelection that
+ fpons nuked away during (mis)merge
+
+2003-11-07 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) return port/description
+ couples
+
+2003-11-07 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (get_usb_ups_name) introduce it to
+ map usb devices to hiddev devices
+
+2003-11-07 16:08 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_boot_loop.desktop: also move back always_i18n
+ and totem to_cdrom
+
+2003-11-07 16:07 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: also move back always_i18n to cdrom
+
+2003-11-07 16:04 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: get the file <=> loop association from
+ mdk_move_loop and pass it to mdk_behind_totem
+
+2003-11-07 16:04 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_loop: - scan all loops, not only @names -
+ always_i18n is a magic name which is renamed to the used
+ always_i18n_xxx - return the file <=> loop association when asked
+
+2003-11-07 16:02 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_behind_totem: - use given loop devices - fix
+ --boot-loop option handling
+
+2003-11-07 15:46 Pixel <pixel at mandriva.com>
+
+ * move/data/always_i18n.list: mainly mo files
+
+2003-11-07 15:45 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live_tree_boot, move.pm: create and handle
+ always_i18n_xxx clp's
+
+2003-11-07 13:52 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files: handle image_raw (ie non-mounted
+ live_tree)
+
+2003-11-07 13:50 Guillaume Cottenceau
+
+ * move/: Makefile, move.pm, data/etcfiles, data/etcfiles-report:
+ better handle etc files: scan a/c/mtime after copying all /etc
+ files to list the ones which are read and written, make it a file
+ list and be assured to have those when initing move
+
+2003-11-07 13:47 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: - remove some i18n files (now in
+ "always_i18n") - add im-cedilla (simpler that handling it nicely)
+
+2003-11-07 13:46 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.dirs: /usr/share/services should have been removed
+ when splited between "always" and "boot"
+
+2003-11-07 13:39 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: update
+
+2003-11-07 13:37 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: update (remove klipper, kalarm, korgac)
+
+2003-11-07 13:36 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: update
+
+2003-11-07 13:22 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_totem: - look for busy files - propose different
+ actions when there are busy files - kill processes busying files
+ when asked
+
+2003-11-07 13:20 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files: - add option --totem - handle mounted
+ /image
+
+2003-11-07 13:11 Pixel <pixel at mandriva.com>
+
+ * move/make_live: also remove kalarmd from kde autostart
+
+2003-11-07 12:49 Guillaume Cottenceau
+
+ * move/move.pm: Oops... I did it again!
+
+2003-11-07 12:27 Guillaume Cottenceau
+
+ * move/move.pm: ifplugd
+
+2003-11-07 12:26 Guillaume Cottenceau
+
+ * move/move.pm: syslog need be restarted once minilogd got killed,
+ dunno why
+
+2003-11-07 00:15 Pixel <pixel at mandriva.com>
+
+ * move/make_live: remove autostart of klipper & korgac (as
+ requested by Denis)
+
+2003-11-06 23:56 Pixel <pixel at mandriva.com>
+
+ * move/: data/totem.list, tree/mdk_behind_totem, tree/mdk_totem: -
+ various fixes (including adding /bin/sleep to totem.list and
+ using it) - mdk_totem is now written in perl
+
+2003-11-06 22:33 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, tree/mdk_behind_totem, tree/mdk_totem: add
+ mdk_totem & mdk_behind_totem
+
+2003-11-06 22:30 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: move back some files needed by sudo from
+ "always"
+
+2003-11-06 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (remove_alias_regexp) simplify
+
+2003-11-06 18:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-3mdk
+
+2003-11-06 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: one more wireless module
+
+2003-11-06 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: "let please pixel" changes
+
+2003-11-06 18:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases) let the
+ autoprobing load modules too
+
+2003-11-06 18:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: let only remove aliases on
+ bootstrapping (ie only in harddrake caller); it's safer
+
+2003-11-06 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configure_eth_aliases)
+ introduce it to autoconfigure all ethernet aliases (MdkMove,
+ harddrake service, drakconnect)
+
+2003-11-06 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (configureNetwork) alter
+ remove_alias() callers for new API
+
+2003-11-06 17:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: - generalize & rename remove_alias() as
+ remove_alias_regexp() to handle regexps - introduce back a simple
+ remove_alias() wrapper to remove_alias_regexp() - change
+ remove_alias*() API from remove_alias(module) to
+ remove_alias(alias) btw old behaviour was broken if eg one has
+ two 3com cards when network::ethernet::configureNetwork removed
+ all ethX aliases on 3c59x
+
+2003-11-06 17:33 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: remove sudo (sudo needs some more files,
+ and it is easier to have a program running as root doing all the
+ fuss with clp's)
+
+2003-11-06 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (write_conf) do not discard remove_alias
+ changes ... (why nobody never saw it in years :-()
+
+2003-11-06 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: simplify pcmcia matching
+
+2003-11-06 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: save a useless ifconfig fork
+
+2003-11-06 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (getNetDriver) ask the kernel the
+ network interface <-> driver mapping
+
+2003-11-06 15:04 Pixel <pixel at mandriva.com>
+
+ * move/data/: always.list, boot.list: - add
+ /usr/share/services/ksycoca in "always" - add some files needed
+ by sudo in "always"
+
+2003-11-06 14:24 Pixel <pixel at mandriva.com>
+
+ * move/make_live: ensure make_live doesn't fail when called twice
+ (when $::prefix/dev is already gone)
+
+2003-11-06 14:21 Pixel <pixel at mandriva.com>
+
+ * move/make_live: needless chmod a+w /dev files since we use devfs
+
+2003-11-06 14:04 Guillaume Cottenceau
+
+ * move/move.pm: have ifcfg-lo
+
+2003-11-06 13:59 Guillaume Cottenceau
+
+ * move/move.pm: have the basic fstab copied link xinetd.conf
+ syslog.conf and sysctl.conf
+
+2003-11-06 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: document dams logic
+
+2003-11-06 13:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: (conf_network_card_backend) fix
+ unseen/unconfigured usb wireless devices due to francois trap for
+ aliased interfaces (new detect_device::getNet() filter out
+ aliases which were the reasons for the test)
+
+ btw, if no alias was found, there's a bug somewhere
+
+2003-11-06 13:38 Guillaume Cottenceau
+
+ * perl-install/install2.pm: vivification is dangerous
+
+2003-11-06 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: list a few more modules as
+ wireless ones (should really be splited out from network/usb in
+ list_modules.pm
+
+2003-11-06 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: always list sagem_dhcp in list,
+ hidding it due to missing translations is insane
+
+2003-11-06 11:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: really not a binary test
+
+2003-11-06 11:37 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: have sudo in "always"
+
+2003-11-06 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm, standalone.pm,
+ ugtk2.pm, network/modem.pm, network/nfs.pm, printer/detect.pm,
+ printer/main.pm, printer/office.pm, printer/printerdrake.pm:
+ escaped strings fixes
+
+2003-11-06 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: (configure) fix untranslatable
+ strings: switch from ask_from_list_() to ask_from_list()
+
+2003-11-06 10:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: fix untranslatable string
+
+2003-11-05 17:52 Guillaume Cottenceau
+
+ * move/: make_live, move.pm: auto configure network
+
+2003-11-05 17:29 Guillaume Cottenceau
+
+ * kernel/update_kernel: we use supermount in move now
+
+2003-11-05 15:43 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live, tree/kdedrc: - run "kbuildsycoca
+ --global" when building - using a special configuration telling
+ kde not to build during startup
+
+2003-11-05 15:42 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_loop: don't die when not finding a clp, it
+ means it's not mounted
+
+2003-11-05 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.3-2mdk
+
+2003-11-05 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: detect all up||down interfaces
+ w/o any hardcoded limits:
+
+ - rollback to old active poll on existing interfaces rather than
+ relying on kernel interfaces list (since it does not list
+ unconfigured interfaces)
+
+ - get the network interfaces list from /proc/net/dev (reusing the
+ same logic as from "ifconfig -a")
+
+2003-11-05 14:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: reput back hasNetDevice() instead of
+ getNetInterfaces() since SIOCGIFCONF only list *active* network
+ interfaces
+
+2003-11-05 13:40 Pixel <pixel at mandriva.com>
+
+ * move/tools/nfs-accesses: even more flexible
+
+2003-11-05 13:38 Pixel <pixel at mandriva.com>
+
+ * move/data/totem.dirs: remove the (bad) empty line
+
+2003-11-05 13:37 Pixel <pixel at mandriva.com>
+
+ * move/data/: boot.dirs, boot.list: have all /etc/pango (not really
+ needed anymore, but it is cleaner)
+
+2003-11-05 13:36 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: when /image/etc/xxx is a symlink, create /etc/xxx
+ directly to this symlink
+
+2003-11-05 13:36 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: handle "totem" files being in "always"
+
+2003-11-05 13:12 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: check_dirs checks that data/*.list contains a file
+ which is inside a dir from data/*.dirs
+
+2003-11-05 11:33 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_loop: find out the association (loopX <=> clp)
+ instead of hard writing it
+
+2003-11-05 11:21 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files: handle image_totem
+
+2003-11-05 11:20 Guillaume Cottenceau
+
+ * move/Makefile: lock unneeded now that i have my local copy :)
+
+2003-11-05 11:20 Pixel <pixel at mandriva.com>
+
+ * move/tools/: nfs-accesses, busy-files-accesses: make it more
+ flexible
+
+2003-11-05 11:19 Guillaume Cottenceau
+
+ * move/data/symlinks: /usr is now handled "hardcoded" for totem
+
+2003-11-05 11:16 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add the command to generate totem.list
+
+2003-11-05 11:12 Pixel <pixel at mandriva.com>
+
+ * move/make_live: we need package "mountloop" for crypted folders
+
+2003-11-05 10:42 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - no need to mount totem clp - if we need
+ lomount_clp again, correctly handle the "live" cmdline parameter
+
+2003-11-05 10:41 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: - more flexible totem tree symlinks
+ build (based on totem.list) - clean-up
+
+2003-11-05 00:27 Guillaume Cottenceau
+
+ * move/make_live: run fc-cache so that cache is generated in all
+ directories mentioned in config file: allows to suppress the 5-10
+ secondes pause before first drakx question
+
+2003-11-04 23:41 Guillaume Cottenceau
+
+ * mdk-stage1/log.c: unneeded now that i've teached dietlibc to not
+ segfault on NULL pointers
+
+2003-11-04 21:02 Guillaume Cottenceau
+
+ * mdk-stage1/log.c: try to not segfault when a NULL pointer is
+ passed to log_message (unimplemented clnt_sperror and alike
+ functions from dietlibc)
+
+2003-11-04 19:33 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: allow to still be able to work when running
+ in -u mode
+
+2003-11-04 18:59 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, stage1.c: hack up a warning message
+ when we're in low mem. chosen 120 mbytes, need to be refined
+ later.
+
+2003-11-04 18:53 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, stage1.c: need to handle totem clp
+ at stage1 because it needs to provide /usr directory
+
+2003-11-04 18:46 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: - add links from totem to main tree -
+ don't rm libDrakX/*.pm too soon, remove symlinks first
+
+2003-11-04 18:22 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Enable bz2 compression option
+ (wish@linux-mandrake.com)
+
+2003-11-04 18:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: perl_checker fixes
+
+2003-11-04 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: unexport not used elsewhere
+ connected2 function
+
+2003-11-04 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: perl_checker fixes
+
+2003-11-04 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - 9.3-1mdk - sync with 9.2/amd64
+ package spec logs
+
+2003-11-04 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2003-11-04 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add missing changelog
+
+2003-11-04 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-19mdk
+
+2003-11-04 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: forward "manage all
+ interfaces when there more than one"
+
+2003-11-04 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: manage all interfaces when
+ there more than one
+
+2003-11-04 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: network statistics really
+ are global ones, not per interface ones. let not confuse the end
+ user
+
+2003-11-04 14:44 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: removing the slow fallback (better
+ handled by hand)
+
+2003-11-04 14:07 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: don't mount totem clp if option "live" is given on
+ cmdline
+
+2003-11-04 13:35 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, mount.c: in mandrake-move, mount cdrom as
+ supermount
+
+2003-11-04 12:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: Add hdXlun=0 for hdX=ide-scsi
+ options so that we don't get multiple entries for cdwriters et
+ al.
+
+2003-11-04 12:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: Merge from HEAD: allow setting
+ hdclun=0
+
+2003-11-04 12:33 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: - handle symlinks in xxx.list - more
+ flexible -u (remove_light_tree)
+
+2003-11-04 12:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: allow setting hdclun=0
+
+2003-11-04 11:51 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: gc sux
+
+2003-11-04 09:55 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/rescue-gui.c: Enable rescue_ms_boot on AMD64 too
+
+2003-11-04 09:54 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: Build PCMCIA stuff on AMD64 too
+
+2003-11-04 09:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/pcmcia_/: cardmgr.c, cirrus.h, cs.h, cs_types.h,
+ driver_ops.h, ds.h, i82365.h, vg468.h, yacc_config.c,
+ yacc_config.h: Merge with kernel headers 2.4.22-23mdk. Fix args
+ to SCSI_IOCTL_GET_IDLUN for 64-bit arches. Some misc arrangements
+ to make sure we have unsigned long instead of plain u_long.
+
+2003-11-04 00:13 Guillaume Cottenceau
+
+ * move/todo: mouse settings saved now.. dunno why
+
+2003-11-03 23:06 Guillaume Cottenceau
+
+ * move/todo: services
+
+2003-11-03 22:03 Guillaume Cottenceau
+
+ * move/Makefile: grrr don't commit debugging purpose stuff
+
+2003-11-03 22:01 Guillaume Cottenceau
+
+ * move/: Makefile, collect-directories-to-create.pl, move.pm,
+ data/.cvsignore: call summaryBefore to auto configure network,
+ timezone, printers obscure problems when launching
+ foomatic-configure exhausted problem of missing subdirectories in
+ /etc and /var, create them at startup when they are missing to
+ prevent from future other problems of the kind
+
+2003-11-03 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (set_advanced closure) simplify
+
+2003-11-03 19:40 Guillaume Cottenceau
+
+ * perl-install/modules.pm: perl checker
+
+2003-11-03 16:58 Guillaume Cottenceau
+
+ * perl-install/modules.pm: woops, when_load already exists :)
+
+2003-11-03 16:54 Guillaume Cottenceau
+
+ * perl-install/modules.pm: for move: ensure "post load" stuff
+ (here, mounting /proc/bus/usb) is done also when using
+ /sbin/modprobe
+
+2003-11-03 15:26 Guillaume Cottenceau
+
+ * move/pkgs.pm: remove debugging info
+
+2003-11-03 15:24 Guillaume Cottenceau
+
+ * perl-install/printer/main.pm: check_prog will check first arg,
+ specifying parameters must hence be done with other args
+
+2003-11-03 15:14 Guillaume Cottenceau
+
+ * move/pkgs.pm: need some dummy functions so that checking for
+ installed packages behave correctly (testing with automatic
+ printer configuration)
+
+2003-11-03 15:10 Guillaume Cottenceau
+
+ * move/move.pm: xinetd stuff
+
+2003-11-03 14:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Removed check for Perl
+ library in checking for installed packages. The library is in a
+ versioned directory which changes with every Perl release.
+
+2003-11-03 14:31 Pixel <pixel at mandriva.com>
+
+ * move/tools/: busy-files-accesses, nfs-accesses: various fixes
+
+2003-11-03 14:29 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: mount live_tree_totem.clp if needed
+
+2003-11-03 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, c/stuff.xs.pl: ask the kernel
+ the list of network devices instead of manually probing
+ everything (this enable to handle more than 4 ethernet cards)
+
+2003-11-03 14:23 Guillaume Cottenceau
+
+ * move/make_live: get INSTALL stuff on live as well
+
+2003-11-03 14:02 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: use member
+
+2003-11-03 13:05 Guillaume Cottenceau
+
+ * move/make_live: install acpi and acpid so that removing acpi=ht
+ will work
+
+2003-11-03 12:49 Pixel <pixel at mandriva.com>
+
+ * move/data/: always.list, boot.list, totem.list: sort lists
+
+2003-11-03 11:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: plural fix
+
+2003-11-03 11:14 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files-accesses: useful to create xxx.list using
+ xxx.dir and the output of nfs-accesses
+
+2003-11-03 11:12 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_boot_loop.desktop: also move "always" clp from
+ memory to cdrom
+
+2003-11-03 11:11 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: ensure "make" before
+ ./make_live_tree_boot -u doesn't break ./make_live_tree_boot -u
+
+2003-11-03 11:08 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live_tree_boot, data/always.dirs,
+ data/always.list, data/boot.dirs, data/boot.list,
+ data/totem.list: add totem support
+
+2003-11-03 11:02 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_loop: need script replacing
+ mdk_move_change_loop
+
+2003-11-03 11:00 Pixel <pixel at mandriva.com>
+
+ * move/tools/nfs-accesses: wrap code
+
+2003-11-03 10:57 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files: look into /proc/*/maps for more busy files
+
+2003-10-31 19:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/: gtk.pm: workaround empty fields when
+ advanced_state is enabled since the beginning
+
+2003-10-31 19:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless module use
+
+2003-10-31 18:46 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: copy "boot" and "always" clp's in memory
+
+2003-10-31 18:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/Makefile: add proper dependancies (thanks gcc
+ -MM)
+
+2003-10-31 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/serial.c: white space sync whith rh
+
+2003-10-31 17:13 Guillaume Cottenceau
+
+ * mdk-stage1/: stage1.c, tools.c, tools.h: save /etc/resolv.conf in
+ move mode
+
+2003-10-31 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/kudzu.h: do not output debug statements by
+ default
+
+2003-10-31 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/serial_probe/: device.h, kudzu.h, serial.c, serial.h,
+ serial_probe.c: merge in with rh: - new debug system - rename
+ some fields - kill dead code - (setup_serial_port) return -1 if
+ cfsetospeed() failled - (read_pnp_string) return PNP_COM_OK
+ instead of 0 on success
+
+2003-10-31 16:29 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, tree/mdk_move_boot_loop,
+ tree/mdk_move_boot_loop.desktop: replace mdk_move_boot_loop with
+ the more flexible mdk_move_loop
+
+2003-10-31 16:26 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: allow user=xxx on /proc/cmdline to skip ask_user
+ name
+
+2003-10-31 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: - for now, check new devices
+ against description (later with port too) - fix driver/port
+ mismatch
+
+2003-10-31 14:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakups: auto config ups devices
+
+2003-10-31 13:32 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_boot_loop: remove debug code
+
+2003-10-31 13:29 Guillaume Cottenceau
+
+ * move/move.pm: use our just-added user instead of "mdk" user
+
+2003-10-31 13:28 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: sudo wants sudoers to be 440
+
+2003-10-31 13:27 Pixel <pixel at mandriva.com>
+
+ * move/tree/mdk_move_boot_loop.desktop: start after mdkhtmlbrowser
+
+2003-10-31 13:18 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, tree/mdk_move_boot_loop,
+ tree/mdk_move_boot_loop.desktop, tree/sudoers: - add sudo for all
+ commands - add mdk_move_boot_loop called in autostart
+
+2003-10-31 13:13 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: also set SHELL
+
+2003-10-31 13:03 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - add /etc/sudoers - don't use "su" for the moment,
+ it doesn't allow startkde to exit nicely (why??)
+
+2003-10-31 13:02 Guillaume Cottenceau
+
+ * move/move.pm, perl-install/any.pm: move: "adduser" alike step
+
+2003-10-31 12:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: from Salane KIng <sking4 at
+ cinci.rr dot com>: enable to access samba drives on other
+ computers to easily install windows fonts
+
+2003-10-31 12:26 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: don't build /tmp/live_tree.clp by default in
+ target live_tree_boot
+
+2003-10-31 12:24 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: use mkisofs -R instead of -r so that setuid is
+ still there
+
+2003-10-31 12:06 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: allow to start move with no previous steps (eg:
+ step=startMove on cmdline)
+
+2003-10-31 12:05 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: /etc/devfs/conf.d must be writeable
+
+2003-10-31 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't getFile VERSION in move or
+ testing
+
+2003-10-31 10:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: cleanup Xfree server @options
+ handling
+
+2003-10-31 00:26 Guillaume Cottenceau
+
+ * move/todo: what security level do we need to choose?
+
+2003-10-31 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: handle new exception system from perl-Glib
+ >= 0.96
+
+2003-10-30 23:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix always detecting ethernet
+ cards even when none is present
+
+2003-10-30 23:43 Guillaume Cottenceau
+
+ * move/move.pm, move/runstage2, perl-install/install_steps_gtk.pm:
+ allow move to be launched in testing mode
+
+2003-10-30 23:34 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: ensure we quit at once when we
+ can't launche X server (I want to have "can't launche graphical
+ mode :(" as last msg)
+
+2003-10-30 22:29 Guillaume Cottenceau
+
+ * perl-install/keyboard.pm: perl_checker
+
+2003-10-30 20:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: (get_hw_address) introduce it to
+ eventually track down ethernet cards swap/move on bootstrapping
+
+2003-10-30 20:14 Guillaume Cottenceau
+
+ * move/todo: don't forget to configure printer
+
+2003-10-30 20:14 Guillaume Cottenceau
+
+ * move/: move.pm, todo: fix OOo startup
+
+2003-10-30 19:46 Guillaume Cottenceau
+
+ * perl-install/keyboard.pm: check_prog won't work if arguments are
+ not properly splitted when passed to run_program
+
+2003-10-30 19:31 Guillaume Cottenceau
+
+ * move/move.pm: allow undone toBeDone things to be done
+
+2003-10-30 17:50 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: allow to proceed when files are missing from
+ clp and live tree (allows testing in "only live_tree" mode)
+
+2003-10-30 17:29 Guillaume Cottenceau
+
+ * move/move.pm: allow comments to be trimmed
+
+2003-10-30 17:23 Guillaume Cottenceau
+
+ * mdk-stage1/: stage1.c, stage1.h, tools.c: add debugstage1 option
+ to help debugging when stage1 can't launch stage2
+
+2003-10-30 17:08 Pixel <pixel at mandriva.com>
+
+ * move/tools/busy-files: list currently busy files
+
+2003-10-30 17:08 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.dirs: use by nfs-accesses to generate a cleaner
+ boot.list
+
+2003-10-30 17:06 Pixel <pixel at mandriva.com>
+
+ * move/tools/kernel-nfsd.patch: kernel patch that allows logging
+ file accesses via nfs
+
+2003-10-30 17:05 Pixel <pixel at mandriva.com>
+
+ * move/tools/nfs-accesses: scan /var/log/kernel/warnings for nfsd
+ logs (need a patched nfsd)
+
+2003-10-30 16:49 Pixel <pixel at mandriva.com>
+
+ * move/data/always.list: add totem to always
+
+2003-10-30 16:49 Pixel <pixel at mandriva.com>
+
+ * move/data/boot.list: we don't want moved files in /etc/skel
+
+2003-10-30 16:44 Pixel <pixel at mandriva.com>
+
+ * move/make_live: call update-menus as needed
+
+2003-10-30 16:24 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: log a bit more live mouse type
+ change
+
+2003-10-30 16:21 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, stage1.c: we need a third CLP
+
+2003-10-30 16:03 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: don't log anything when module is already
+ present
+
+2003-10-30 15:22 Pixel <pixel at mandriva.com>
+
+ * move/make_live_tree_boot: cleanup
+
+2003-10-30 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: tools.pm: fix anthill bug #50: ensure
+ /etc/ppp/pap-secrets is not world readable since it contains
+ password/user mapping for dialup
+
+2003-10-30 12:46 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add live_tree_always.clp
+
+2003-10-30 12:44 Pixel <pixel at mandriva.com>
+
+ * move/: make_live_tree_boot, data/always.list: add
+ live_tree_always
+
+2003-10-30 12:26 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: kill minilogd to ensure it goes away
+
+2003-10-30 12:14 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live, make_live_tree_boot, move.pm,
+ data/boot.list: better list obtained using patched nfsd instead
+ of Strace
+
+2003-10-30 10:05 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: Enable PCMCIA on AMD64. Add new boot
+ screens from Hélène that Francois packaged.
+
+2003-10-30 09:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: Readd PCMCIA stuff to AMD64. Add other modules
+ to hd.img et al. since we now have smaller kernel modules. Also
+ keep sata_promise & sata_via since those actually handle SATA
+ drive and not the RAID part.
+
+2003-10-30 09:42 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: Add PCMCIA support to AMD64
+
+2003-10-29 18:01 Guillaume Cottenceau
+
+ * kernel/update_kernel: fix
+
+2003-10-29 17:14 Guillaume Cottenceau
+
+ * kernel/modules.pl: huge (planel sux)
+
+2003-10-29 17:13 Guillaume Cottenceau
+
+ * kernel/: dependencies.pl, modules.pl, update_kernel: handle
+ depfile per kernel, not just 2.4* modules.dep
+
+2003-10-29 17:07 Nicolas Planel <nplanel at mandriva.com>
+
+ * Makefile, make_boot_img, kernel/Makefile, kernel/check_mar.pl,
+ kernel/list_modules.pm, kernel/modules.pl, kernel/update_kernel,
+ mdk-stage1/Makefile, mdk-stage1/Makefile.common,
+ mdk-stage1/automatic.h, mdk-stage1/config-stage1.h,
+ mdk-stage1/dhcp.c, mdk-stage1/disk.c, mdk-stage1/disk.h,
+ mdk-stage1/dns.c, mdk-stage1/frontend.h,
+ mdk-stage1/init-libc-headers.h, mdk-stage1/init.c,
+ mdk-stage1/log.c, mdk-stage1/minilibc.c, mdk-stage1/minilibc.h,
+ mdk-stage1/modules.c, mdk-stage1/mount.c, mdk-stage1/network.c,
+ mdk-stage1/newt-frontend.c, mdk-stage1/probing.c,
+ mdk-stage1/rescue-gui.c, mdk-stage1/stage1.c,
+ mdk-stage1/stage1.h, mdk-stage1/stdio-frontend.c,
+ mdk-stage1/tools.c, mdk-stage1/url.c, mdk-stage1/bzlib/Makefile,
+ mdk-stage1/doc/README, mdk-stage1/insmod-busybox/Config.h,
+ mdk-stage1/insmod-busybox/Makefile,
+ mdk-stage1/insmod-busybox/README,
+ mdk-stage1/insmod-busybox/busybox.h,
+ mdk-stage1/insmod-busybox/insmod.c,
+ mdk-stage1/insmod-modutils/Makefile,
+ mdk-stage1/insmod-modutils/insmod.c,
+ mdk-stage1/insmod-modutils/include/config.h,
+ mdk-stage1/insmod-modutils/include/elf_alpha.h,
+ mdk-stage1/insmod-modutils/include/elf_arm.h,
+ mdk-stage1/insmod-modutils/include/elf_i386.h,
+ mdk-stage1/insmod-modutils/include/elf_m68k.h,
+ mdk-stage1/insmod-modutils/include/elf_mips.h,
+ mdk-stage1/insmod-modutils/include/elf_ppc.h,
+ mdk-stage1/insmod-modutils/include/elf_s390.h,
+ mdk-stage1/insmod-modutils/include/elf_sparc.h,
+ mdk-stage1/insmod-modutils/include/elf_sparc64.h,
+ mdk-stage1/insmod-modutils/include/kallsyms.h,
+ mdk-stage1/insmod-modutils/include/kerneld.h,
+ mdk-stage1/insmod-modutils/include/module.h,
+ mdk-stage1/insmod-modutils/include/obj.h,
+ mdk-stage1/insmod-modutils/include/util.h,
+ mdk-stage1/insmod-modutils/include/version.h,
+ mdk-stage1/insmod-modutils/obj/Makefile,
+ mdk-stage1/insmod-modutils/obj/obj_alpha.c,
+ mdk-stage1/insmod-modutils/obj/obj_arm.c,
+ mdk-stage1/insmod-modutils/obj/obj_common.c,
+ mdk-stage1/insmod-modutils/obj/obj_hppa.c,
+ mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
+ mdk-stage1/insmod-modutils/obj/obj_i386.c,
+ mdk-stage1/insmod-modutils/obj/obj_ia64.c,
+ mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
+ mdk-stage1/insmod-modutils/obj/obj_load.c,
+ mdk-stage1/insmod-modutils/obj/obj_m68k.c,
+ mdk-stage1/insmod-modutils/obj/obj_mips.c,
+ mdk-stage1/insmod-modutils/obj/obj_ppc.c,
+ mdk-stage1/insmod-modutils/obj/obj_reloc.c,
+ mdk-stage1/insmod-modutils/obj/obj_s390.c,
+ mdk-stage1/insmod-modutils/obj/obj_sparc.c,
+ mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
+ mdk-stage1/insmod-modutils/util/Makefile,
+ mdk-stage1/insmod-modutils/util/alias.h,
+ mdk-stage1/insmod-modutils/util/arch64.c,
+ mdk-stage1/insmod-modutils/util/config.c,
+ mdk-stage1/insmod-modutils/util/logger.c,
+ mdk-stage1/insmod-modutils/util/snap_shot.c,
+ mdk-stage1/insmod-modutils/util/sys_cm.c,
+ mdk-stage1/insmod-modutils/util/sys_dm.c,
+ mdk-stage1/insmod-modutils/util/sys_gks.c,
+ mdk-stage1/insmod-modutils/util/sys_nim.c,
+ mdk-stage1/insmod-modutils/util/sys_oim.c,
+ mdk-stage1/insmod-modutils/util/sys_qm.c,
+ mdk-stage1/insmod-modutils/util/xmalloc.c,
+ mdk-stage1/insmod-modutils/util/xrealloc.c,
+ mdk-stage1/insmod-modutils/util/xstrcat.c,
+ mdk-stage1/insmod-modutils/util/xstrdup.c,
+ mdk-stage1/insmod-modutils/util/xsystem.c,
+ mdk-stage1/mar/Makefile, mdk-stage1/newt/Makefile,
+ mdk-stage1/newt/form.c,
+ mdk-stage1/pci-resource/update-pci-ids.pl,
+ mdk-stage1/pcmcia_/Makefile, mdk-stage1/pcmcia_/cardmgr.c,
+ mdk-stage1/pcmcia_/merge_from_pcitable,
+ mdk-stage1/pcmcia_/probe.c,
+ mdk-stage1/ppp/include/net/ppp_defs.h,
+ mdk-stage1/ppp/pppd/Makefile, mdk-stage1/ppp/pppd/sys-linux.c,
+ mdk-stage1/ppp/pppd/utils.c, mdk-stage1/rp-pppoe/src/Makefile,
+ mdk-stage1/slang/Makefile,
+ mdk-stage1/usb-resource/update-usb-ids.pl,
+ perl-install/modules.pm, perl-install/share/logo-mandrake.png:
+ Corporate Server 2.1.1 release
+
+2003-10-29 16:49 Guillaume Cottenceau
+
+ * tools/update_images: don't get bitten another time by "suddenly
+ disappearing" modules
+
+2003-10-29 16:05 Guillaume Cottenceau
+
+ * tools/update_images: add this script to update existing boot
+ images when there is a fix in BOOT kernel
+
+2003-10-29 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: perl_checker fixes
+
+2003-10-29 14:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: network.pm: fix installer when
+ network::ethernet wasn't loaded before
+
+2003-10-29 14:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getUPS) detect usb UPS
+ (serial_probe not seeing them for now)
+
+2003-10-29 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/compssUsers: pine is no more in the distro
+
+2003-10-28 18:32 Fançois Pons
+
+ * perl-install/modules.pm: fixed for ongoing bug since at least 9.0
+ for alias not reported in current installation.
+
+2003-10-28 12:37 Fançois Pons
+
+ * perl-install/: crypto.pm, pkgs.pm: import back from current main
+ cvs tree for fixes of 9.2 for x86_64
+
+2003-10-27 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-18mdk
+
+2003-10-27 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, isdn_consts.pm: forward ISDN usb
+ adapters support
+
+2003-10-27 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: forward:
+
+ - test_connected function was wrong and did not pass its
+ parameter to network code code => hance connection status was
+ never detected
+
+ - profile managment in net_monitor wasn't updated to latest
+ damien api changes in network::netconnect and thus was broken
+ :-(
+
+2003-10-27 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: forward: drakperm incorrectly
+ enable one to click "ok" after having altered a system rule
+ whereas system rules are not saved since they're enforced by
+ msec.
+
+ this may confuse the end user ("why my changes weren't applied?")
+ so let disable the "ok" button if the current entry is
+ uneditable.
+
+2003-10-27 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: forward workaround for
+ anthill bug #18 (do not overwrite sound aliases when no hardware
+ change)
+
+2003-10-27 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: set drakconnect as config tool
+ for modems as well as for isdn & adsl adapters
+
+2003-10-27 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: list isdn adapters in their own
+ class instead of showing them up as unknown devices
+
+2003-10-27 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: split out adsl detection from
+ modem one into its one category
+
+2003-10-27 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: sort export list
+
+2003-10-27 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/run_program.pm: fix requires for c::_exit()
+
+2003-10-27 13:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: (isdn_get_info) simplify it trough
+ MDK::Common
+
+2003-10-27 13:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm: simplify isdn
+ detection: - no need to pass a ref around; if it's bound to be
+ overwritten, just return a new hash - let isdn_detect only care
+ of which fields we want for isdn stuff
+
+2003-10-27 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: - make isdn detection more readable
+ - ensure previously detected isdn stuff is cleared on redetection
+
+2003-10-27 12:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: blacklist Net::Ping in order to be
+ able to parse network::tools
+
+2003-10-27 12:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: sort
+
+2003-10-24 00:35 Guillaume Cottenceau
+
+ * move/move.pm: try to save /etc/fstab and /etc/modules.conf (is
+ /etc/fstab really needed?)
+
+2003-10-23 16:20 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: add the mkisofs/cdrecord command line
+
+2003-10-23 16:19 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: use cp instead of cp_af
+
+2003-10-23 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use fast_mouse_probe first in mandrake
+ move
+
+2003-10-23 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: if we have /bin/loadkeys, use it
+
+2003-10-23 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: - use setxkbmap instead of xmodmap if
+ setxkbmap is available - don't run setxkbmap chrooted
+
+2003-10-23 13:49 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: handle case when main clp contains also boot
+ clp files
+
+2003-10-23 12:50 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: a bit more logging info in case of failure
+
+2003-10-23 12:16 Pixel <pixel at mandriva.com>
+
+ * move/make_live: various fixes: - add some usually automatic flags
+ 'BURNER', 'UTF8', 'DOCS', 'TV', '3D' - use symlinkf instead of
+ "ln -sf" (symlinkf is much better, it removes destination first)
+ - not need to run pango-querymodules anymore
+
+2003-10-23 12:07 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Merge from HEAD: setsid trick
+ to make XF4 work in fbdev Merge from pix's HEAD: use c::_exit()
+
+2003-10-23 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: don't use exit(), use _exit()
+
+2003-10-23 00:34 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: copy boot live tree into memory to much
+ speed up startup time in cdrom mode
+
+2003-10-23 00:27 Guillaume Cottenceau
+
+ * mdk-stage1/: tools.c, tools.h: file_size
+
+2003-10-22 23:42 Guillaume Cottenceau
+
+ * move/Makefile: correctly install runstage2 as runstage2.pl
+
+2003-10-22 23:41 Guillaume Cottenceau
+
+ * move/data/boot.list: add /sbin/init (this is
+ mdk-stage1/init-move, not stock linux init - should be in
+ /tmp/live_tree/sbin/init avec "make install")
+
+2003-10-22 21:17 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, config-stage1.h, log.c, log.h, network.c,
+ stage1.c, stage1.h, tools.c, tools.h: handle "boot" clp and
+ "main" clp. passing argument "live" can force to not use the clp
+ in favor of live tree.
+
+2003-10-22 21:16 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: report errno when init can't exec binary
+
+2003-10-22 21:15 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, lomount.c, lomount.h, mount.c, mount.h:
+ allow more than one loop device for more than one lomount
+
+2003-10-22 18:20 Pixel <pixel at mandriva.com>
+
+ * move/: Makefile, make_live_tree_boot, data/boot.list: add
+ make_live_tree_boot
+
+2003-10-22 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: handle usb isdn adapters
+
+2003-10-22 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: add entries for usb isdn
+ adapters
+
+2003-10-22 17:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: Handle idle=poll as a workaround
+ for broken BIOSes.
+
+2003-10-22 17:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: fix steping back on choosing isdn
+ card step
+
+2003-10-22 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix isdn detection
+
+2003-10-22 16:49 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: Fix SMP detection on AMD64
+
+2003-10-22 15:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sq.po, zh_TW.po: updated Chinese and
+ Albanian files
+
+2003-10-22 14:45 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: pixel rulz
+
+2003-10-22 11:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_gtk.pm: indent fixes :)
+
+2003-10-22 11:49 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: add i18n DSOs
+
+2003-10-22 11:49 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/any.pm: Merge from HEAD: fix code that selects
+ images for the choice of languages to not base on FB as well
+
+2003-10-22 11:47 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: force 75dpi
+
+2003-10-22 11:47 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list: add im-cedilla.so
+
+2003-10-21 23:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, mk.po: Added Macedonian file;
+ updated French file
+
+2003-10-21 20:01 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile, mdk-stage1/stage1.c, move/Makefile: use
+ pixel's gzloop module rather than cloop
+
+2003-10-21 19:21 Guillaume Cottenceau
+
+ * mdk-stage1/lomount.c: pixel doesn't sux
+
+2003-10-21 19:02 Guillaume Cottenceau
+
+ * mdk-stage1/lomount.c: pixel sux
+
+2003-10-21 19:00 Guillaume Cottenceau
+
+ * mdk-stage1/: lomount.c, disk.c: fix pixel
+
+2003-10-21 19:00 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: lomount.c, lomount.h: add beginning of gzloop
+ handling
+
+2003-10-20 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/timezone.pm: misc perl_checker cleanups
+
+2003-10-20 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/printerdrake, harddrake/sound.pm: misc
+ perl_checker cleanups
+
+2003-10-20 19:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Newt/Newt.xs: kill warning complaint from gcc aka
+ resync with official newt headers
+
+2003-10-20 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: kill warning complaint from gcc aka
+ resync with official rpm headers
+
+2003-10-20 18:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakperm, drakpxe: misc
+ perl_checker cleanups
+
+2003-10-20 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: drakperm incorrectly enable one
+ to click "ok" after having altered a system rule whereas system
+ rules are not saved since they're enforced by msec.
+
+ this may confuse the end user ("why my changes weren't applied?")
+ so let disable the "ok" button if the current entry is
+ uneditable.
+
+2003-10-20 18:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix crash on editable items
+
+2003-10-20 17:33 Nicolas Planel <nplanel at mandriva.com>
+
+ * kernel/list_modules.pm: Add lpfcdd support (Emulex adapters)
+
+2003-10-20 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: perform test once and move it
+ out of the save loop
+
+2003-10-20 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: un-jonathan-ize()
+
+2003-10-20 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: consolidate, simplify, remove
+ duplicate
+
+2003-10-20 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: print more understandable error
+ message on parse error
+
+2003-10-20 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/tools.pm: fix #6159: fix detection when a
+ local name server is faking the connection because of its cache
+ by checking at least a packet is ack-ed
+
+2003-10-20 09:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: do not break working code!
+ (titi sucks)
+
+2003-10-19 21:04 Guillaume Cottenceau
+
+ * mdk-stage1/nfsmount.c: remove some unneeded code
+
+2003-10-19 00:34 Guillaume Cottenceau
+
+ * mdk-stage1/: nfs_mount4.h, nfsmount.c, nfsmount.h: use nfsmount
+ code from util-linux-2.11z so that we're using nfsmount v3 with
+ 2.4 kernel (not mandatory, but thought it was the origin of the
+ cloop-over-nfs problem - which is not)
+
+2003-10-19 00:33 Guillaume Cottenceau
+
+ * mdk-stage1/mount.c: nfs, cloop
+
+2003-10-19 00:32 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, config-stage1.h, network.c, stage1.c:
+ support cloop over NFS too. stay flexible enough so that server=
+ parameter can either designate the root of the live tree or the
+ root for the cloop live tree, program will detect automatically
+ both.
+
+2003-10-19 00:30 Guillaume Cottenceau
+
+ * move/hack_network: try to see when it fails :/
+
+2003-10-17 21:32 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: small update one of the installation
+ screen
+
+2003-10-17 19:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: minor cleanup
+
+2003-10-17 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, fileshareset,
+ printerdrake: perl_checker cleanups
+
+2003-10-17 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: - perl_checker cleanups -
+ this enable to catch two bugs: o test_connected function was
+ wrong and did not pass its parameter to network code code o
+ profile managment in net_monitor wasn't updated to latest damien
+ api changes in network::netconnect and thus was broken :-(
+
+2003-10-17 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: roolback hp fix:
+
+ after further investigation at Houston, the bcm440 bug was not
+ related to MII_NOT_SUPPORTED (ethtool/mii support is fine in this
+ driver).
+
+ instead, it is related to half/full duplex detection.
+
+2003-10-17 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: after further investigation at
+ Houston, the bcm440 bug was not related to MII_NOT_SUPPORTED
+ (ethtool/mii support is fine in this driver).
+
+ instead, it is related to half/full duplex detection.
+
+2003-10-17 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: workaround anthill bug
+ #18 (do not overwrite sound aliases when no hardware change)
+
+2003-10-17 16:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: - simplify -
+ remove spurious module imports & requires - remove never used arg
+ (this enable to simplify caller) - fix detection logic: do not
+ mix old detected stuff with new one if one step back in
+ drakconnect after plugging some network devices in
+
+2003-10-17 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakpxe: network::netconnect is unused
+
+2003-10-16 20:31 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, stage1.c: move is cloop stuff
+
+2003-10-16 20:02 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, config-stage1.h, mount.c: mandrake-move is
+ cloop stuff
+
+2003-10-16 19:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update
+
+2003-10-16 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: forward expert mode fix (why
+ wasn't this commited in that branch too?)
+
+2003-10-16 19:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: - fix drakconnect logic
+ regarding hotplug (hotplug being a binary boolean and
+ MII_NOT_SUPPORTED being a string)
+
+ - default to enabled network hotplug bug if the card is
+ blacklisted else rely on user provided value
+
+ - blacklist bcm4400 for hp
+
+2003-10-16 18:41 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: misc opt
+
+2003-10-16 18:25 Guillaume Cottenceau
+
+ * move/move.pm: logs a last msg before exiting
+
+2003-10-16 18:24 Guillaume Cottenceau
+
+ * move/move.pm: display a sorta splash/wait screen when drakx exits
+ because kde takes a long time to startup its splash screen
+
+2003-10-16 18:00 Fançois Pons
+
+ * perl-install/network/network.pm: fix for HP (current module does
+ not work if MII_NOT_SUPPORTED to set to yes)
+
+2003-10-16 17:44 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: don't use find, it's faster
+
+2003-10-16 17:41 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: override tex color when selected as
+ well, it's white per default, and with the grey selected
+ background it's ugly
+
+2003-10-16 17:41 Pixel <pixel at mandriva.com>
+
+ * move/: .cvsignore, Makefile, move.pm, xwait.c: add xwait and use
+ it
+
+2003-10-16 17:33 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: no steps in move mode; for the
+ moment, no logo as well, we'll see what graphical aspect look
+ like with ln
+
+2003-10-16 17:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: merge in
+ gc's fix from HEAD for anti-aliasing with xf4 server
+
+2003-10-16 17:01 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: add XFS to amd64
+
+2003-10-16 17:00 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.x86_64: add grub stuff
+
+2003-10-16 16:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: add sata_promise, sata_via
+
+2003-10-16 16:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: force user|group|other rights
+ order in edit dialog (previously order was random)
+
+2003-10-16 14:57 Fançois Pons
+
+ * perl-install/crypto.pm: fixed typo.
+
+2003-10-16 14:34 Fançois Pons
+
+ * perl-install/crypto.pm: fixed code to avoid opening 2 files
+ simultaneously.
+
+2003-10-16 14:29 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed small typo.
+
+2003-10-16 14:29 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed to avoid opening 2 ftp files at the
+ same time.
+
+2003-10-16 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-17mdk
+
+2003-10-16 11:50 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed stupid typo.
+
+2003-10-16 11:49 Fançois Pons
+
+ * perl-install/pkgs.pm: make sure a pubkey file can be found if a
+ hdlist handle is given when creating a media.
+
+2003-10-16 11:46 Fançois Pons
+
+ * perl-install/crypto.pm: added pubkey in update management.
+
+2003-10-16 11:44 Fançois Pons
+
+ * perl-install/pkgs.pm: added external pubkey file management.
+
+2003-10-15 19:25 Guillaume Cottenceau
+
+ * perl-install/any.pm: maybe perl_checker should have told me? but
+ that's a bit complicated for his poor soul?
+
+2003-10-15 19:21 Guillaume Cottenceau
+
+ * perl-install/any.pm: fix default value still in location|name
+ form in case of move
+
+2003-10-15 19:17 Guillaume Cottenceau
+
+ * perl-install/any.pm: sorting according to transliteration in
+ languages-selection-as-images is broken, can't remember if I did
+ that special on purpose, seems it was just dumb from me, nothing
+ more
+
+2003-10-15 19:14 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: override gtk theme selection color
+ since we won't do inverse-video on the text when it's images
+
+2003-10-15 19:06 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: setting background color is normally
+ not needed anymore since XFree starts with "mandrake color" by
+ default now
+
+2003-10-15 17:34 Guillaume Cottenceau
+
+ * perl-install/any.pm: titi doesn't suck
+
+2003-10-15 17:24 Pixel <pixel at mandriva.com>
+
+ * move/move.pm, perl-install/install2.pm: - rename exitMove to
+ startMove - remove the blinks before kde start by relaying the
+ last X connection (using gmessage for now, will use "xtest
+ --wait" later)
+
+2003-10-15 17:22 Guillaume Cottenceau
+
+ * perl-install/any.pm: don't show a tree in move mode, we have only
+ a limited number of languages
+
+2003-10-15 16:41 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix typo
+
+2003-10-15 16:40 Pixel <pixel at mandriva.com>
+
+ * move/move.pm, perl-install/install2.pm: set move steps, add
+ exitMove step, pass $o to move::init()
+
+2003-10-15 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: pass $o to
+ getNextStep
+
+2003-10-15 16:33 Guillaume Cottenceau
+
+ * move/Makefile, move/make_live, move/move.pm,
+ perl-install/lang.pm: have necessary png lang files installed and
+ limit percent-langs of langs.pm accordingly
+
+2003-10-15 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_auto_install.pm, steps.pm: drop field {next} in
+ {steps} since it is duplicated in orderedSteps => it allows
+ simpler modification of orderedSteps (as already done in upgrade)
+ for mandrake move
+
+2003-10-15 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, standalone/keyboarddrake: move
+ setxkbmap to keyboard.pm
+
+2003-10-15 15:40 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: use installed galaxy gnome theme in
+ move
+
+2003-10-15 15:34 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: fix typo
+
+2003-10-15 15:33 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: load sound modules
+
+2003-10-15 15:32 Guillaume Cottenceau
+
+ * perl-install/any.pm: fix code that selects images for the choice
+ of languages to not base on FB as well
+
+2003-10-15 15:17 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: to be able to adduser, one need to have /etc/passwd
+ and /etc/group writable
+
+2003-10-15 15:15 Pixel <pixel at mandriva.com>
+
+ * move/Makefile: don't look for /usr/lib/libDrakX on build box,
+ only in the live_tree
+
+2003-10-15 15:07 Guillaume Cottenceau
+
+ * move/Makefile: try to lock to avoid problems with pixel
+
+2003-10-15 15:06 Pixel <pixel at mandriva.com>
+
+ * move/make_live: install SOUND packages
+
+2003-10-15 14:59 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: using uk instead of us keyboard for now to have
+ less warnings
+
+2003-10-15 14:52 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: better
+ disabling of anti-alias, fix non-fb based start of drakx (amd64,
+ move)
+
+2003-10-15 14:39 Guillaume Cottenceau
+
+ * move/move.pm: misc pixel fix
+
+2003-10-15 14:36 Guillaume Cottenceau
+
+ * move/move.pm: misc opt
+
+2003-10-15 14:30 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: - add many /etc/X11/* symlinks - add
+ /var/run/console (to be able to run X as a user)
+
+2003-10-15 14:26 Pixel <pixel at mandriva.com>
+
+ * move/move.pm: add some more links in /etc to the cdrom
+
+2003-10-15 13:15 Guillaume Cottenceau
+
+ * move/move.pm: tell Xconfig we allow proprietary modules and no
+ package needs to be installed (empty arrayref)
+
+2003-10-14 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: let drakgw work...
+
+2003-10-14 15:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: - translate all server
+ names - harmonize server names
+
+2003-10-14 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: revert back to stable version
+
+2003-10-14 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: show up a combo box with detected
+ network interfaces but still let the user manually type it sg
+ like ppp0 if needed
+
+2003-10-14 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/shorewall.pm: (default_interfaces) -
+ simplify: ask_from already optimize the one item case for us -
+ make it show up a pull-down menu rather than forcing one to type
+ in the interface - fix it: $conf{net_interface} was *not* set
+ on multiple interfaces case
+
+ (read) fix it (conf was uselely initialized)
+
+2003-10-14 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: simplify advanced settings
+ detection in expert mode
+
+2003-10-14 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: check the right items in order
+ to display advanced stuff if needed
+
+2003-10-13 21:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker fix (this one is
+ needed because else perl_checker stop package build [hint
+ perl_checker my love you really should not die on such stugg:
+ this should be a warning, not an error])
+
+2003-10-13 21:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: timezone.pm: syntax fix
+
+2003-10-13 21:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm, tools.pm:
+ forward: - fix #425, #1881: wireless adapters settings were lost
+ when altering network configuration when not from wizard mode -
+ when steping back in wizard, do not overwrite first card
+ parameters with last one's (#3276) - do not overwrite current
+ config from ifcfg-INTF with old.ifcfg-INTF
+
+2003-10-13 21:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix first part of #5315: honour
+ expert mode while installing in drakconnect (aka when expert mode
+ checkbox was checked)
+
+2003-10-13 21:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: forward: - fix lost checkbox
+ states when "expert mode" option is checked - fix first part of
+ #5315: honour expert mode while installing in drakconnect (aka
+ when expert mode checkbox was checked)fix
+
+2003-10-13 21:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: forward "corrected parameters of
+ LPD info line"
+
+2003-10-13 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: forward untranslated title &
+ broken error dialog fixes
+
+2003-10-13 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: forward "now one can now choose
+ the interface" fix
+
+2003-10-13 21:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: fix for hp release
+
+2003-10-13 21:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: timezone.pm: only list one tz for chinas (hp
+ release)
+
+2003-10-13 19:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: readd strict & diagnostics
+ pragma removed by florin
+
+2003-10-13 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix lost checkbox states when
+ "expert mode" option is checked
+
+2003-10-13 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: merge pablo fix for hp: "Some KDE screens
+ require new chinese translations naming (zh_CN/zh_TW) to display
+ the translations"
+
+2003-10-13 14:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - get rid of a perl_checker
+ warning (thx pixel)
+
+ - this uncover the missing arg to parse_file when called from
+ net_monitor, thus enabling to show up which file is currently
+ parsed
+
+2003-10-13 14:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - save "mail alert" wizard
+ options into /etc/sysconfig/mail_alert and restore them when
+ configuring it again
+
+ - make cron task reuse /etc/sysconfig/mail_alert
+
+2003-10-13 13:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: default to use mdkkdm
+
+2003-10-13 13:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - ensure services are always
+ listed in the same order - simplify installed services list build
+
+2003-10-12 22:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: cron: only mail if there's
+ really sg to warn about (aka do not sent empty mails)
+
+2003-10-12 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: restore previous subject in
+ mails
+
+2003-10-12 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: generate perl_checker compliant
+ cron tasks
+
+2003-10-12 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: simplify cron writing
+
+2003-10-10 21:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Move set_help_tip for new
+ perl_checker.
+
+2003-10-10 19:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/po/wa.po: Some KDE screens require
+ new chinese translations naming (zh_CN/zh_TW) to display the
+ translations
+
+2003-10-10 19:19 Guillaume Cottenceau
+
+ * move/move.pm: configure automatically xfree in move
+
+2003-10-10 19:19 Guillaume Cottenceau
+
+ * mdk-stage1/config-stage1.h: call move, move
+
+2003-10-10 17:14 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: qlogicisp is seldom used and it is doubtful
+ the normal user would ever make HD installs from disks connected
+ to Qlogic ISP SCSI adapters.
+
+2003-10-10 16:38 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, install_steps_gtk.pm: configure
+ automatically XFree and allow to launch interactive_gtk with it
+
+2003-10-10 15:40 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: remove unused (perl_checker,
+ my love, where are you?)
+
+2003-10-10 13:18 Guillaume Cottenceau
+
+ * move/move.pm: order init stuff and tell a bit about it
+
+2003-10-10 13:08 Guillaume Cottenceau
+
+ * perl-install/class_discard.pm: give more details when using
+ class_discard
+
+2003-10-10 10:59 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: aaaah that's why I had all the stuff
+ done twice after shell could not be run :)
+
+2003-10-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: only clean packages shit when isInstall
+
+2003-10-10 00:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: setsid trick to make XF4 work
+ in fbdev (!?!)
+
+2003-10-10 00:06 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: alpha is DEAD okay? so remove that
+ **** from here
+
+2003-10-09 23:48 Guillaume Cottenceau
+
+ * move/: .cvsignore, Makefile, hack_boot_img, hack_network,
+ move.pm, pkgs.pm, runstage2: mandrake-move can nearly start
+ (shell starts, X config not done so X server currently crashes)
+
+2003-10-09 23:45 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: help dumb perl_checker
+
+2003-10-09 22:06 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: thx perl checker
+
+2003-10-09 21:34 Guillaume Cottenceau
+
+ * perl-install/install2.pm: first shot as starting up mandrake-move
+ from install2.pm as well (so many code shared)
+
+2003-10-09 21:33 Guillaume Cottenceau
+
+ * perl-install/modules.pm: use /sbin/modprobe in move also
+
+2003-10-09 21:32 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: first try with /bin/bash which is
+ available in move. specify --rcfile or else it'll try /.bashrc
+ which doesn't exist, and miss good definitions from /etc/bashrc
+ (aliases, home/end keys, etc)
+
+2003-10-09 19:41 Guillaume Cottenceau
+
+ * move/make_live: /etc/pango/pango.modules is normally a dynamic
+ file
+
+2003-10-09 18:47 Guillaume Cottenceau
+
+ * move/make_live: use FBDev server until XF4 support is commited in
+
+2003-10-09 18:22 Guillaume Cottenceau
+
+ * move/: devices, symlinks, data/devices, data/symlinks: don't act
+ like a pig at the beginning!
+
+2003-10-09 18:21 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, config-stage1.h, network.c, stage1.c: boot
+ live_tree! :)
+
+2003-10-09 18:20 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: build move stuff from within move directory
+
+2003-10-09 18:19 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: perform kernel logging anyway, it's cool to
+ have it for init-stage2 as well
+
+2003-10-09 15:58 Guillaume Cottenceau
+
+ * perl-install/fs.pm: allow mounting devfs as well (move)
+
+2003-10-09 15:57 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: report error why /dev/tty2 is not
+ available for opening a shell
+
+2003-10-09 14:48 Guillaume Cottenceau
+
+ * mdk-stage1/: .cvsignore, Makefile, init.c, minilibc.h: we need to
+ have an 'init' for stage2 as well, because if we exec directly
+ runinstall2 and it fails/stops for any reason, this will
+ immediately block the kernel ('Attempted to kill init'), making
+ debugging more difficult
+
+2003-10-09 14:47 Guillaume Cottenceau
+
+ * move/: devices, symlinks: add "devices" and "symlinks", two files
+ that dynamically speficy to stage1-for-move how to basically set
+ up the / in tmpfs before starting stage2
+
+2003-10-09 14:45 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: create a few devices dynamically in the
+ tmpfs / to start up stage2, so that we don't use devices from the
+ live mount, so that we will be able to umount the live mount
+
+2003-10-09 13:37 Guillaume Cottenceau
+
+ * move/make_live: remove /lib/dev-state stuff from devfsd.conf
+
+2003-10-09 00:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: network.pm, tools.pm: simplify "do not
+ remove wireless parameters from ifcfg when not in wizard mode"
+ fix
+
+2003-10-08 23:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: network interface configuration
+ step: using network interface from interface/driver list is more
+ robust that relying on possibly empty int variable (better #3276
+ fix)
+
+2003-10-08 23:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: forward #3276 fix: when steping
+ back in drakconnect wizard, do not overwrite first card
+ parameters with last one's
+
+2003-10-08 17:20 Guillaume Cottenceau
+
+ * kernel/update_kernel: allow specifying a kernel
+
+2003-10-08 17:05 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, config-stage1.h, init.c,
+ stage1.c, tools.c, tools.h: first attempt of updating stage1 for
+ MandrakeMove
+
+2003-10-08 15:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: mark a few strings as
+ translatable (part of #5670)
+
+2003-10-08 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: forward #6103 fix:
+
+ - workaround buggy msec not listing MAIL_USER in its defaults
+ whereas it does list MAIL_WARN
+
+ - while keeping "prevent including MAIL_* in check list"
+ behavior, we still have to load them in order to be able to
+ save them back
+
+2003-10-08 13:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: fix #6103:
+
+ - workaround buggy msec not listing MAIL_USER in its defaults
+ whereas it does list MAIL_WARN
+
+ - while keeping "prevent including MAIL_* in check list"
+ behavior, we still have to load them in order to be able to
+ save them back
+
+2003-10-08 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: log values too in explanations
+
+2003-10-07 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: split readCompssUsers(): parsing is done in
+ readCompssUsers_raw
+
+2003-10-07 10:43 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: lib64 fixes for proprietary modules
+ (mainly nvidia)
+
+2003-10-06 15:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix #3276: when steping back in
+ drakconnect wizard, do not overwrite first card parameters with
+ last one's
+
+2003-10-06 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: check both nfs servers version 2 and
+ version 3, and remove duplicates (bug #6055)
+
+2003-10-06 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: add usleep()
+
+2003-10-06 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: add common::nonblock()
+
+2003-10-04 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: use mkdir_p
+
+2003-10-04 02:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker cleanups
+
+2003-10-03 18:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: cleanups
+
+2003-10-03 17:20 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed important glitches about
+ oem-theme.rpm not capable of being copied
+
+2003-10-03 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: notice bug
+
+2003-10-03 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: minor update
+
+2003-10-03 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: only read
+ /etc/sysconfig/network-scripts/ifcfg-*, not old.ifcfg-* and the
+ like...
+
+2003-10-03 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: fix #425, #1881 (was there since
+ 20021020 :-() : wireless adapters settings were lost when
+ altering network configuration when not from wizard mode
+
+2003-10-03 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: network.pm, tools.pm: factorize wireless
+ card detection into network::tools:is_wireless_intf()
+
+2003-10-03 16:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: consolidate network conf
+ reread
+
+2003-10-02 22:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/main.pm: fixed an involuntary typo
+
+2003-10-02 21:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/main.pm: fixed parameters for LPD printer
+ information line
+
+2003-10-02 21:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/main.pm: corrected parameters of LPD info
+ line
+
+2003-10-01 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, network/smbnfs.pm, standalone/harddrake2,
+ standalone/localedrake, standalone/logdrake: perl_checker
+
+2003-10-01 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: perl_checker compliance
+
+2003-10-01 14:59 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: Removing sundance
+
+2003-10-01 14:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, pt_BR.po, zh_TW.po: updated
+ Catalanf, Brazilian and Chinese files
+
+2003-10-01 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker compliance
+
+2003-10-01 10:49 Fançois Pons
+
+ * perl-install/install_any.pm: added missing kernel-i686-up-4GB
+ entry for kernel modules.
+
+2003-09-30 23:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, network/adsl.pm,
+ network/network.pm: no need to escape " in /xxx \" xxx/
+
+2003-09-30 21:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: help Gi_perl_check
+
+2003-09-30 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, standalone/drakautoinst,
+ standalone/drakfont, standalone/drakgw, standalone/scannerdrake:
+ don't check *all* for test_pms_all, skip horrible stuffs
+
+2003-09-30 20:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: don't care about printer::*
+
+2003-09-30 20:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm: perl_checker compliance
+
+2003-09-30 19:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: "Processor #129 invalid" doesn't
+ mean 129 processors are available
+
+2003-09-30 17:13 Fançois Pons
+
+ * perl-install/pkgs.pm: removed obsoleted togglePackageSelection
+ method no more used.
+
+2003-09-30 17:07 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: perl_checker fixes.
+
+2003-09-30 16:48 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: improved invidual package
+ selection as toggle, a bit faster and give reason why package
+ cannot be selected.
+
+2003-09-29 19:07 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated
+
+2003-09-29 16:20 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed log about toggle of
+ package.
+
+2003-09-29 16:19 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: add reason of package not
+ selected (or unselected).
+
+2003-09-29 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: .perl_checker, install_any.pm, ugtk2.pm,
+ Xconfig/card.pm, network/drakfirewall.pm, printer/detect.pm:
+ perl_checker fixes
+
+2003-09-29 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: small cleanup (thanks to
+ perl_checker) !! default_interfaces() is still wrong !!
+
+2003-09-29 15:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: cleanup
+
+2003-09-29 11:45 Fançois Pons
+
+ * perl-install/pkgs.pm: commiting uncommitted fixes about
+ kernel-i686 needed prefered in choices.
+
+2003-09-26 14:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2003-09-25 17:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Uzbek console keyboard is now in
+ console-tools; enabling it
+
+2003-09-24 23:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2003-09-24 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: a better grepping of Processor in
+ dmesg (it works when we don't have acpi=ht)
+
+2003-09-24 15:18 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: now one can now choose the
+ interface
+
+2003-09-24 15:14 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/: drakfirewall.pm, shorewall.pm: allow
+ drakfirewall to choose the interface
+
+2003-09-24 14:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, zh_CN.po: updated Chinese and
+ Afrikaans files
+
+2003-09-23 23:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: clean fonts renaming and make
+ it log renames (through explanations)
+
+2003-09-23 23:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (move_fonts) factorize clean
+ fonts move
+
+2003-09-23 23:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix font copy (catched by
+ #5157): - prevent looking for "*.pfm*.afm" fonts - prevent
+ displaying spurious error messages on console while converting
+ fonts
+
+2003-09-23 23:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix ttf font conversion
+ (catched by #5157)
+
+2003-09-23 16:43 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: mnemonics by default suck bigtime!
+
+2003-09-23 15:05 Fançois Pons
+
+ * perl-install/network/netconnect.pm: futile to try starting
+ network service, dhcp cannot work as no module are suitable for
+ dhclient from boot kernel.
+
+2003-09-23 15:03 Fançois Pons
+
+ * perl-install/any.pm: fixed hdInstallPath not working on some
+ cases.
+
+2003-09-23 14:13 Fançois Pons
+
+ * perl-install/network/netconnect.pm: make sure network is started
+ for start_internet.
+
+2003-09-23 13:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: ensure ->kill kills all the open
+ windows (fixes mke2fs failure causing $::WizardTable to be kept
+ empty)
+
+2003-09-23 11:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2003-09-23 10:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-09-23 10:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, it.po, uk.po: updated Basque,
+ Italian and Ukrainian files
+
+2003-09-22 18:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bug 5916, all users overrides
+ individual selection in wizard.
+
+2003-09-22 17:05 Fançois Pons
+
+ * perl-install/pkgs.pm: simplified code.
+
+2003-09-22 17:04 Fançois Pons
+
+ * perl-install/pkgs.pm: use kernel-i686 or kernel-enterprise as
+ other kernel.
+
+2003-09-22 16:56 Fançois Pons
+
+ * perl-install/install2.pm: keep use_existing_root for recovery
+ (behaviour changed later)
+
+2003-09-22 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: dmi doesn't detect ht, but acpi
+ does, so use it
+
+2003-09-22 16:56 Fançois Pons
+
+ * perl-install/install_steps.pm: avoid mounting partitions in
+ recovery mode.
+
+2003-09-22 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix error message
+
+2003-09-22 16:10 Fançois Pons
+
+ * perl-install/network/netconnect.pm: make sure module are loaded
+ only during installation.
+
+2003-09-22 15:41 Fançois Pons
+
+ * perl-install/network/netconnect.pm: try loading boot kernel
+ modules before trying to start internet connection...
+
+2003-09-22 15:39 Fançois Pons
+
+ * perl-install/network/network.pm: simplified perl writing, make
+ sure bool2yesno has a chance to be called for MII_NOT_SUPPORTED
+
+2003-09-22 15:38 Fançois Pons
+
+ * perl-install/network/network.pm: fixed strange perl writing sense
+ less...
+
+2003-09-22 15:30 Fançois Pons
+
+ * perl-install/install_steps.pm: avoid urpmi source in oem to use
+ cdrom (we now use disk instead, avoiding supermount problems).
+
+2003-09-22 12:25 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: try to follow what is wrong
+ when requiring multiple cds.
+
+2003-09-22 10:30 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem-all: - fix typo - add CVS Id
+
+2003-09-22 00:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, eu.po, fa.po, it.po, pt.po,
+ pt_BR.po, zh_CN.po: updated Bosnian, Basque, Farsi, Italian,
+ Portuguese and Chinese files
+
+2003-09-21 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: allowing consolefonts to be ungzip'ed
+ (adapting to new console-tools) (thanks to Mark Draheim)
+
+2003-09-20 22:32 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/ftw/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-09-19 22:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, pt_BR.po, sv.po, vi.po: updated
+ German, Brazilian, Swedish and Vietnamese files
+
+2003-09-19 19:25 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: switch the other way too
+
+2003-09-19 19:21 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: switch to kdebase-kdm while the
+ reboot options aren't fixed
+
+2003-09-19 18:38 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install lisa by default
+ (reduce to 3)
+
+2003-09-19 17:43 Fançois Pons
+
+ * rescue/tree/etc/oem-all: updated with oem
+
+2003-09-19 17:43 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed severe bug of directory not created.
+
+2003-09-19 16:35 Fançois Pons
+
+ * rescue/tree/etc/: oem, oem-all: fixed too many files copied.
+
+2003-09-19 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-16mdk
+
+2003-09-19 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix the fix
+
+2003-09-19 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix #5825 (hostname set as
+ ARRAY(0x...))
+
+2003-09-19 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: next FreeWnn is not a naughtyServers
+ anymore
+
+2003-09-19 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: final update naughtyServers for 9.2
+
+2003-09-19 13:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/is.po: updated Icelandic file
+
+2003-09-19 12:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, cs.po, fi.po, hu.po, ja.po, pl.po,
+ pt_BR.po, zh_TW.po: updated Azeri, Czech, Finnish, Hungarian,
+ Japanese, Polish, Brazilian and Chinese files
+
+2003-09-19 00:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more typo fix
+
+2003-09-19 00:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2003-09-18 21:45 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-18 19:28 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-09-18 18:21 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, probing.c: close file descriptors
+
+2003-09-18 17:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-09-18 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: update naughtyServers
+
+2003-09-18 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-15mdk
+
+2003-09-18 16:51 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: last license message update
+
+2003-09-18 16:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-09-18 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: prevent some obscure crash at
+ install time
+
+2003-09-18 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: don't "probeall scsi_hostadapter
+ usb-storage" (as requested by flepied and planel)
+
+2003-09-18 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated Albanian file
+
+2003-09-18 15:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-09-18 15:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: the install package dialog box
+ must be explictly destroyed when quitting installation (esp. this
+ occurs when answering "No" to "There was an error installing
+ packages")
+
+ rationale: the $w (created with ugtk2->new) is not reference
+ counted correctly (it was already workarounded when leaving
+ installPackages the normal way)
+
+2003-09-18 15:38 Fançois Pons
+
+ * perl-install/share/rpmsrate: added kdeutils in rpmsrate to help
+ upgrading it.
+
+2003-09-18 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: when installing, remember the
+ new sound driver so that the user isn't confused if he ever want
+ to configure it again
+
+2003-09-18 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix slot number when
+ configuring sound cards
+
+2003-09-18 15:23 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add kdemultimedia-common to allow
+ kaudiocreator to work
+
+2003-09-18 15:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: gl.po, he.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, ms.po, mt.po, nb.po, nl.po,
+ pl.po, pt.po, pt_BR.po, ro.po: updated pot file
+
+2003-09-18 15:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po: updated pot file
+
+2003-09-18 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/po/Makefile: don't remove some
+ po's from drakxtools, only from install (ar/fa disabled because
+ not working at install, ga/sl not translated enough)
+
+2003-09-18 15:12 Fançois Pons
+
+ * rescue/tree/etc/oem-all: updated with oem
+
+2003-09-18 15:11 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed for %{ARCH} used in hdlists.
+
+2003-09-18 15:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_messages.pm: paragraph about patents was not
+ tagged as translatable; added N( )
+
+2003-09-18 14:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, uk.po: updated Czech and Ukrainian
+ files
+
+2003-09-18 13:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/Makefile: Arabic and Farsi po files not
+ used at install, as there isn't available font during install
+
+2003-09-18 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - fix grub/menu.lst -> lilo.conf -
+ cleanup
+
+2003-09-18 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: ensure
+ update_bootloader_label() won't break when called in text
+ interactive (hint: in that case, $boot_label is unset)
+
+2003-09-18 10:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: sanitize ld.so.conf *before*
+ calling ldconfig
+
+2003-09-17 23:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-en_IE.png: readded with binary
+ flag
+
+2003-09-17 23:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-en_IE.png: removed binary file
+
+2003-09-17 23:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed "Configure CUPS" function of
+ printerdrake adding a second "<Location />...</Location>" in
+ /etc/cups/cupsd.conf instead of replacing the existing one (fix
+ of Titi's newly introduced bug from May 19 14:17:58 2003 UTC).
+
+2003-09-17 23:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: removed duplicate entry
+
+2003-09-17 23:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: Completed a translation
+
+2003-09-17 23:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: s:country:country/region:
+
+2003-09-17 22:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, pt_BR.po, zh_TW.po: updated
+ Italian, Brazilian and Chinese files
+
+2003-09-17 22:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-14mdk
+
+2003-09-17 21:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/handle_configs.pm: (comment_directive) fix it
+
+2003-09-17 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-en_IE.png,
+ share/po/wa.po: Added "English (Ireland)" choice; make Russian
+ encoding compatible with Ukrainian (choosin 'ru' and 'uk'
+ languages doesn't force utf-8 but keeps koi8)
+
+2003-09-17 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't warn about FreeWnn being an open port
+ (gc will try to only open it to localhost)
+
+2003-09-17 17:02 Fançois Pons
+
+ * perl-install/install_steps.pm: moved update-menu after
+ installation of oem-theme.rpm
+
+2003-09-17 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: we still are 13mdk
+
+2003-09-17 17:00 Fançois Pons
+
+ * perl-install/install_steps.pm: allow exit code of detached
+ process to be seen.
+
+2003-09-17 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: do not log changes that got
+ reversed between two releases
+
+2003-09-17 16:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-13mdk
+
+2003-09-17 16:29 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed closing of rpmdb directly in
+ pkgs
+
+2003-09-17 16:29 Fançois Pons
+
+ * perl-install/pkgs.pm: make always sure rpmdb is closed before
+ attempting installation.
+
+2003-09-17 16:19 Fançois Pons
+
+ * perl-install/install_steps.pm: install urpmi before update-menus
+ is called.
+
+2003-09-17 16:17 Fançois Pons
+
+ * perl-install/install2.pm: make sure use_existing_root is not set.
+
+2003-09-17 16:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - drakhelp will load online
+ drakbug help file
+
+2003-09-17 15:09 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/install_steps.pm: remove deprecated function call
+ (thanks to guillaume 'eagle eye' Cottenceau)
+
+2003-09-17 15:08 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: force mandrake_doc-en if language is
+ not fr, it or es
+
+2003-09-17 14:57 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - replace mdklaunchhelp by
+ konqueror
+
+2003-09-17 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix ugliness: don't display
+ $advanced_pack when there are no @widgets_advanced (esp. since
+ $advanced_pack is now in its own scrolled window)
+
+2003-09-17 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: when the checking the mount point is not
+ already used, don't take into account current partition
+
+2003-09-17 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't display a
+ wait_message together with the write_partitions() dialog
+
+2003-09-17 14:10 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed to close rpm db whenever
+ possible.
+
+2003-09-17 13:42 Guillaume Cottenceau
+
+ * perl-install/: install_steps.pm, lang.pm: treat C encoding
+ specially when computing utf8 flag, it should not trigger utf8
+ set by itself
+
+2003-09-17 13:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, partition_table.pm: ensure that a number is
+ not written as the type in fstab
+
+2003-09-17 13:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cancel in
+ setRootPassword means "No password", not cancel
+
+2003-09-17 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add /usr/lib/qt3/lib (and sometimes
+ /usr/lib/qt3/lib64) in ld.so.conf (needed for upgrade where
+ package renaming can cause this to disappear)
+
+2003-09-17 12:39 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: fresh updates
+
+2003-09-17 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: run nisdomainname et ypbind so that nis is
+ correctly set up *now*, not at next reboot.
+
+ TODO: also do it during install since nis can be useful to
+ resolve domain names. Not done because 9.2-RC
+
+2003-09-17 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakauth: display errors occuring in
+ any::set_authentication() (esp. for "Can't use broadcast with no
+ NIS domain")
+
+2003-09-17 10:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, et.po, hu.po, nb.po, pt.po:
+ updated Welsh, Estonian, Hungarian, Norwegian and Portuguese
+ files
+
+2003-09-17 03:23 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-09-17 02:59 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-16 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typos
+
+2003-09-16 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix #5403: - make sure to use
+ OptionMenu instead of Combo boxes - move help into a tooltip
+
+2003-09-16 19:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, ms.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot files
+
+2003-09-16 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: pixelization
+
+2003-09-16 18:22 Fançois Pons
+
+ * perl-install/install_steps.pm: make sure / and /usr are formatted
+ in recovery mode.
+
+2003-09-16 16:16 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix firmware testing at
+ installation
+
+2003-09-16 16:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, help-de.pot, help-es.pot,
+ help-it.pot, help-ru.pot: updated pot files
+
+2003-09-16 16:08 Fançois Pons
+
+ * perl-install/install2.pm: made mouse, keyboard, packages
+ selection, timezone and security selection automatic...
+
+2003-09-16 16:01 Fançois Pons
+
+ * perl-install/install2.pm: / and /usr should be formatted, keep
+ default for installation.
+
+2003-09-16 15:59 Fançois Pons
+
+ * perl-install/install2.pm: fixed stupid typo preventing mouse
+ modules to be loaded.
+
+2003-09-16 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: Gtk2::CheckButton->new is
+ Gtk2::CheckButton->new_with_mnemonic, it's better to use
+ Gtk2::CheckButton->new_with_label (bug #5728)
+
+2003-09-16 15:17 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/share/rpmsrate: wireless packages fix
+
+2003-09-16 15:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add minichinput in X 5
+
+2003-09-16 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more fix
+
+2003-09-16 14:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix expert mode resulting in
+ advanced setting being displayed by default but label still being
+ "advanced" instead of "basic"
+
+2003-09-16 13:57 Pixel <pixel at mandriva.com>
+
+ * Makefile: don't upload live_update (tis deprecated)
+
+2003-09-16 13:48 Fançois Pons
+
+ * perl-install/install_any.pm: removing update media tag (except
+ for update medium)
+
+2003-09-16 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-12mdk
+
+2003-09-16 12:58 Fançois Pons
+
+ * perl-install/install2.pm: added automatic steps in recovery mode.
+
+2003-09-16 12:51 Fançois Pons
+
+ * perl-install/install2.pm: disable recovery mode if recovery.cfg
+ file has not been read successfully.
+
+2003-09-16 12:49 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added question to ask
+ for recovering the system in recover mode.
+
+2003-09-16 00:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Added usbutils to the packages
+ needed for installation. This package is needed for setting up
+ the HP PSC 1xxx and OfficeJet 4xxx with HPOJ.
+
+2003-09-16 00:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix #5488: do not overwrite
+ current driver if it's a viable driver for the current sound card
+
+2003-09-16 00:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: show the current driver too
+ (being preselected) so that users do not get confused
+
+2003-09-16 00:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fixes
+
+2003-09-16 00:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix hidden or cutted buttons
+ (#1919, #2364, #2705, #3667, ...)
+
+2003-09-15 23:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: initialize $adsl, fix #5674 and
+ pppoe.conf problems
+
+2003-09-15 21:57 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: net install autodetection fix
+
+2003-09-15 21:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbug: New, improved, compact code,
+ courtesy of Thierry.
+
+2003-09-15 21:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, fr.po, is.po: updated Finnish,
+ French and Icelandic files
+
+2003-09-15 20:47 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbug: Updates for stable release bug
+ submission to anthill (vdanen)
+
+2003-09-15 20:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: help-de.pot, help-es.pot, help-fr.pot,
+ help-it.pot, help-ru.pot: put back previous versions of
+ help-*.pot files to be in synch with help.pm
+
+2003-09-15 19:13 Fançois Pons
+
+ * perl-install/Xconfig/resolution_and_depth.pm: avoid using other
+ depth than 24 for fglrx in automatic mode.
+
+2003-09-15 18:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Small fix on LIDIL workaround.
+
+2003-09-15 18:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Put device identity info into the
+ HPOJ config file also when HPOJ configuration was not verified
+ (LIDIL devices).
+
+2003-09-15 18:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Added workaround to make HP PSC
+ 1xxx and OfficeJet 4xxx really working.
+
+2003-09-15 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: use locale_special when $::prefix is set
+ (so that X test is i18n)
+
+2003-09-15 16:33 Fançois Pons
+
+ * perl-install/standalone.pm: improved speed by invoking once `rpm
+ -qa` instead of 4.
+
+2003-09-15 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: associate partition table 0xeb
+ (BeOS) with filesystem befs (part of bug #5523)
+
+2003-09-15 16:11 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix #5056 (mostly workaround as
+ kernel is frozen)
+
+2003-09-15 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: - call
+ any::ask_window_manager_to_logout() after forking so that exit
+ doesn't happen before it is done (otherwise it can loose Xauth
+ access) - fix checking config_changed (it can be string
+ 'config_changed' or the new $raw_X)
+
+2003-09-15 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: configure_resolution() must return
+ 'config_changed' when a new resolution is chosen
+
+2003-09-15 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: set ICEAUTHORITY for "gnome-session-save
+ --kill" (it would be better to set it in usermode, but it works
+ :)
+
+2003-09-15 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: better logging of killed runaway
+ processes
+
+2003-09-15 14:54 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-15 14:49 Fançois Pons
+
+ * perl-install/c/Makefile: fixed possible typo...
+
+2003-09-15 14:49 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: drakTermServ
+ - translation issues (Arpad Biro), fix help text format
+ drakbackup - translation issues (Arpad Biro) fix
+ user, cron misbehavior (Keld Jørn Simonsen)
+
+2003-09-15 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix growing ext2/ext3
+ partitions
+
+2003-09-15 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: fix typo (pixel sux)
+
+2003-09-15 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: when "Back" is pressed, restore the list of
+ entries in bootloader (bug #5680)
+
+2003-09-15 10:39 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/strip_modules: fix strip
+
+2003-09-15 08:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, hu.po, it.po, mt.po, pt.po:
+ updated Afrikaans, Hungarian, Italian, Maltese and Portuguese
+ files
+
+2003-09-15 08:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: reverted to previous version, to avoid huge
+ strings break at this stage
+
+2003-09-15 05:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: perl_checker fix.
+
+2003-09-15 04:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Added support
+ for user-mode-only HPOJ devices (HP PSC 1xxx and OfficeJet 4xxx).
+ Fixes bug #5641.
+
+2003-09-14 20:54 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: stop bootsplash silent
+ mode if something is detected
+
+2003-09-14 19:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: add a warning for / on LVM: "You may not
+ be able to install lilo (since lilo doesn't handle a LV on
+ multiple PVs)"
+
+2003-09-14 16:04 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: last updates, fixed some typos
+
+2003-09-14 11:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, he.po, hu.po, pt_BR.po, sq.po,
+ uk.po: updated Farsi, Hebrew, Hungarian, Brazilian, Albanian and
+ Ukrainian files
+
+2003-09-13 16:27 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-09-13 14:51 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/install2.pm: back to i810fb xcon=4 (bad docummented
+ option)
+
+2003-09-13 11:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, zh_CN.po: updated Welsh and
+ Chinese files
+
+2003-09-13 10:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: put quotes around the XIM_PROGRAM values
+ that use spaces
+
+2003-09-13 02:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, he.po, it.po, pt_BR.po, ro.po,
+ sk.po: updated Bulgarian, Hebrew, Italian, Brazilian and Romanian
+ files; fixed syntax errors in Slovak file
+
+2003-09-13 01:29 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: hd as default daemon media
+
+2003-09-12 22:37 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-09-12 21:34 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: corrections
+ gi/perl-install/share/po/da.po
+
+2003-09-12 21:03 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: corrections
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2003-09-12 20:42 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/menu-messages/da.po
+ soft/ftw/po/da.po gi/perl-install/share/po/da.po
+
+2003-09-12 20:13 Guillaume Cottenceau
+
+ * perl-install/lang.pm: fix garbled font when asking UTF8 in text
+ install
+
+2003-09-12 19:08 Guillaume Cottenceau
+
+ * perl-install/c/: Makefile.PL, stuff.xs.pl: stuff doesn't contain
+ gtk stuff anymore
+
+2003-09-12 19:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2003-09-12 19:04 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: die if cp failed
+
+2003-09-12 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-11mdk
+
+2003-09-12 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix #5586 (profiles with
+ spaces in name)
+
+2003-09-12 18:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: added sub copy_firmware, sub
+ use_windows(), sub use_floppy firmware copy works from floppy and
+ windows/winnt
+
+2003-09-12 18:01 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - dropped sub load_firmware_floppy
+ - handle windows firmware's copy
+
+2003-09-12 17:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-09-12 17:16 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/: drakfont.620x57.png,
+ wiz_default_up.png, wiz_drakconnect.png, wiz_drakgw.png,
+ wiz_firewall.png, wiz_logdrake.png, wiz_printerdrake.png,
+ wiz_scannerdrake.png: Update
+
+2003-09-12 16:36 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers: Always install a termunal
+ emulator and don't install GNOME by default
+
+2003-09-12 16:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, sv.po, vi.po: updated Norwegian,
+ Swedish and Vietnamese files
+
+2003-09-12 15:18 Guillaume Cottenceau
+
+ * perl-install/share/themes-galaxy.rc: fix progressbar color
+ (should be blue)
+
+2003-09-12 14:05 Fançois Pons
+
+ * perl-install/share/rpmsrate: fixed fatal error in rpmsrate.
+
+2003-09-12 12:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-09-12 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix #5586 (netprofile package
+ still need be fixed)
+
+2003-09-12 11:31 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix gnome-audio entry
+
+2003-09-12 11:09 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed nautilus-gtkhtml
+
+2003-09-12 11:06 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added rnboifd and cm2020 packages
+
+2003-09-12 10:50 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2003-09-12 09:50 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-09-12 02:54 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translation
+
+2003-09-12 02:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-09-12 00:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix #5571
+
+2003-09-11 23:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: if some module has no
+ parameter, instead of not displaying the config window, show that
+ there's no parameters to configure
+
+2003-09-11 23:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: help making printerdrake icon bar be
+ shorter (#5282 again)
+
+2003-09-11 23:17 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: don't display a watch when
+ slow things because due to the large number of gtkflush(), the
+ ask_ok_cancel appears before its Gtk->main is called, hence
+ clicking too fast will call Gtk->main_quit before Gtk->main, but
+ the dialog doesn't disappear; then on the next click on
+ ok/cancel, the call to another Gtk->main_quit will lead to two
+ Gtk->main being exited, hence destroying the ok/cancel dialog but
+ alors the main window (choose of individual packages)
+
+2003-09-11 23:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix infamous #4136
+
+ rationale: our own SIG_CHLD handler intercept the child death
+ after run_program's waitpid() got interrupted by the signal but
+ before it get rescheduled by the kernel (at which stage the child
+ it wait for does not exists anymore)
+
+2003-09-11 22:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: translate one more string
+
+2003-09-11 21:22 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: don't pack_end two times a button, this
+ causes a Gtk Critical and we never know what can happen after
+ that :/
+
+2003-09-11 20:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, lang.pm: move configuring kdmrc
+ to lang::write so that it is done in localedrake
+
+2003-09-11 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: don't configure kde config files when they
+ are not present (otherwise minimal install followed by urpmi kde
+ gives a badly configured kde)
+
+2003-09-11 20:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ugtk2.pm, Xconfig/test.pm: use center_always for
+ popped windows (if transient is not used), and force centering in
+ Xconfig test
+
+2003-09-11 20:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: libXext seems to be needed, i don't
+ know why...
+
+2003-09-11 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: do not set hostname if
+ there's a dynamic interface
+
+2003-09-11 17:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eo.po, he.po, lt.po, ms.po, sl.po, ta.po,
+ tg.po, wa.po: updated po files (country names strings merged from
+ drakfw)
+
+2003-09-11 17:36 Fançois Pons
+
+ * perl-install/install_steps.pm: simplified oem theme generation,
+ now use oem-theme.rpm
+
+2003-09-11 17:33 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: silly me, I forgot the debug
+ messages
+
+2003-09-11 17:23 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: one fix
+
+2003-09-11 17:20 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: typo fixes
+
+2003-09-11 16:49 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add the network interface
+ window as in the drakgw's case
+
+2003-09-11 16:49 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: some Cancel interface fix
+
+2003-09-11 16:42 Fançois Pons
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fixed depth to 24
+ when using driver fglrx (it won't work unless 24 bits)
+
+2003-09-11 15:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-09-11 15:32 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add 5 LOCALES"zh_CN" miniChinput
+ (#4408)
+
+2003-09-11 15:24 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: inactivate antialias in VGA16
+ because it makes fonts look worse
+
+2003-09-11 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: always display the log domain
+ names in the same order, that is in english (not l10n) alphabetic
+ order
+
+2003-09-11 15:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: remove debugging assertion
+
+2003-09-11 15:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: display "the current level is
+ X" instead of "the current level is level X"
+
+2003-09-11 14:59 Fançois Pons
+
+ * perl-install/any.pm: fixed to use meta_class desktop instead of
+ virtual discovery (mapped to desktop).
+
+2003-09-11 14:57 Fançois Pons
+
+ * perl-install/install_steps.pm: wait for processes that need to be
+ correctly finished before.
+
+2003-09-11 14:54 Guillaume Cottenceau
+
+ * perl-install/any.pm: don't use images for language choice in
+ vga16, it's too ugly
+
+2003-09-11 14:50 Fançois Pons
+
+ * perl-install/run_program.pm: added detach option to handle
+ detached process running (for update-menus).
+
+2003-09-11 14:41 Fançois Pons
+
+ * perl-install/bootloader.pm: protected restore entry to be only
+ visible if restore option added during boot.
+
+2003-09-11 14:39 Fançois Pons
+
+ * perl-install/install2.pm: added restore option to allow restore
+ entry to be created (refused by default)
+
+2003-09-11 14:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, uz.po, uz@Cyrl.po: updated Welsh
+ and Uzbek files
+
+2003-09-11 12:04 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c: fix recovery behaviour thx to francois
+ comments
+
+2003-09-11 02:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-09-10 23:01 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.h, disk.c, disk.h, stage1.c, stage1.h,
+ tools.c: recovery
+
+2003-09-10 22:31 Guillaume Cottenceau
+
+ * rescue/tree/etc/issue: 9.2
+
+2003-09-10 20:59 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fixup default fglrx config to be
+ included in Device Section. thanks pixel
+
+2003-09-10 18:37 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: 9.2
+
+2003-09-10 18:28 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/: compssUsers.desktop, rpmsrate: Update
+
+2003-09-10 17:23 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Don't install nautilus-gtkhtml by
+ default
+
+2003-09-10 17:06 Guillaume Cottenceau
+
+ * perl-install/Xconfig/test.pm: clean
+
+2003-09-10 17:06 Guillaume Cottenceau
+
+ * perl-install/Xconfig/test.pm: we don't have .jpg loader in
+ install, file needs to be in .png (mandrake_desk 9.2-8mdk)
+
+2003-09-10 16:48 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated one string
+
+2003-09-10 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-10mdk
+
+2003-09-10 16:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - do not comply on filter
+ change (system, user or system & user) - default to "system &
+ user" by default - show customized rules after system ones since
+ these are managed once system ones get applied - add new rules
+ to end of list
+
+2003-09-10 16:30 Fançois Pons
+
+ * perl-install/mouse.pm: fixed the fix of fpons trick...
+
+2003-09-10 16:28 Fançois Pons
+
+ * perl-install/mouse.pm: fixed the fpons trick (which was false
+ moreover)
+
+2003-09-10 16:14 Fançois Pons
+
+ * perl-install/Xconfig/card.pm: fixed perl_checker fixes.
+
+2003-09-10 16:11 Fançois Pons
+
+ * perl-install/install2.pm: make sure mouse modules are loaded
+ before using them (usefull for defcfg or recovery).
+
+2003-09-10 16:07 Fançois Pons
+
+ * perl-install/mouse.pm: added load_modules to load mouse module
+ according to configuration.
+
+2003-09-10 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakedm: follow
+ std explanations policy
+
+2003-09-10 15:26 Fançois Pons
+
+ * perl-install/bootloader.pm: restore entry is a recovery entry.
+
+2003-09-10 15:24 Fançois Pons
+
+ * perl-install/bootloader.pm: restore entry shouldn't have
+ reference of vga=... in append, moved to vga.
+
+2003-09-10 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: no more "dos" label in bootloader (it
+ seems WinXP use the "DOS FAT16" for fat partitions)
+
+2003-09-10 15:04 Fançois Pons
+
+ * perl-install/: standalone/XFdrake, install_steps_interactive.pm,
+ Xconfig/card.pm: added nplanel patch for ATI proprietary drivers.
+
+2003-09-10 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: add higher level explanations
+
+2003-09-10 13:00 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: 2 typo fixes
+
+2003-09-10 12:19 Fançois Pons
+
+ * perl-install/network/adsl.pm: added sagem support for dhcp (as
+ used by Free degroupped ;-))
+
+2003-09-10 12:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, cs.po, et.po, hu.po, nb.po, pl.po,
+ pt_BR.po, zh_CN.po: updated Azeri, Czech, Estonian, Hungarian,
+ Brazilian and Chinese files
+
+2003-09-10 11:05 Fançois Pons
+
+ * perl-install/install2.pm: save recovery file if disk
+ installation.
+
+2003-09-10 10:54 Fançois Pons
+
+ * perl-install/install2.pm: take recovery option into account.
+
+2003-09-10 09:22 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-09-10 00:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Fixed functions for scanner database
+ (ScannerDB) generation.
+
+2003-09-09 22:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: handle a new sound module
+
+2003-09-09 22:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: workaround broken snd-usb-audio
+
+2003-09-09 21:19 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-09 19:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2003-09-09 18:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: install xawtv if needed
+
+2003-09-09 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: re-enable supermount
+
+2003-09-09 18:23 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: profile is 'default' if no
+ configuration file found
+
+2003-09-09 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, standalone/diskdrake: ensure userdrake
+ works when diskdrake --fileshare is embedded or run through kdesu
+
+2003-09-09 17:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix #5448 (infinite entries)
+
+2003-09-09 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix window size in when non
+ embedded & non wizard
+
+2003-09-09 17:31 Fançois Pons
+
+ * perl-install/bootloader.pm: avoid lilo-graphic for ProSavageDDR
+ card as this card seems to report bad window size.
+
+2003-09-09 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ help-de.pot, help-es.pot, help-it.pot, help-ru.pot, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, ms.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2003-09-09 17:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix #5040 (too small drakboot's
+ window width)
+
+2003-09-09 17:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/any.pm: - userdrake is in /usr/sbin/ (#5447)
+
+2003-09-09 17:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove too verbose _XSetInputFocus log
+
+2003-09-09 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix drakboot layout
+
+2003-09-09 16:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed bug #5423: Some
+ option settings were not be recognized or changed.
+
+2003-09-09 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix default size without
+ draksplash
+
+2003-09-09 16:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: increase sleep time after modprobing
+ usb-uhci/usb-ohci (otherwise USB mouse may be undetected)
+
+2003-09-09 16:31 Fançois Pons
+
+ * perl-install/standalone/drakautoinst: try again if no floppy (or
+ error during creation of floppy)
+
+2003-09-09 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't ask security
+ level when upgrading
+
+2003-09-09 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: write "MOVE YOUR WHEEL!" only for ps2 mice
+
+2003-09-09 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot,
+ share/po/help-ru.pot: update from xml help
+
+2003-09-09 15:25 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/GtkMdkWidgets/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2003-09-09 14:57 Fançois Pons
+
+ * perl-install/install_messages.pm: fixed reference to 9.1 errata,
+ (now http://www.mandrakelinux.com/en/92errata.php3).
+
+2003-09-09 12:41 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - help call - reportbug via
+ bugzilla
+
+2003-09-09 12:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: fi.po, ko.po, sq.po, ta.po: Fix s/9.1/9.2
+
+2003-09-09 11:13 Pixel <pixel at mandriva.com>
+
+ * Makefile: no need to upload rpmtools.pm anymore (in /misc)
+
+2003-09-09 11:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: fix network install
+
+2003-09-09 10:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, pt.po, uk.po: updated Basque,
+ Portuguese and Ukrainian files
+
+2003-09-09 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix #5430: do not confuse
+ users with debug messages
+
+2003-09-09 09:46 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: nuke obsolete code
+
+2003-09-09 07:57 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-09-08 22:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakperm, draksec: add help buttons
+
+2003-09-08 21:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, hu.po: updated Basque and
+ Hungarian files
+
+2003-09-08 21:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, nb.po: updated Welsh and Norwegian
+ files
+
+2003-09-08 20:00 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl,
+ 04-configuration.pl, 06-development.pl: Update
+
+2003-09-08 19:51 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: s/9\.1/9\.2/g
+
+2003-09-08 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: last 9.2-9mdk bits
+
+2003-09-08 19:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix net_monitor not working as root
+
+2003-09-08 18:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix current profile load in
+ wizard mode
+
+2003-09-08 18:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: increase drakconnect
+ robustness regarding profiles managment
+
+ - fix set_profiles() call on profiles menu user change
+
+ - (set_profiles) consolidate netcnx->{PROFILE} setting where we
+ call set_profile
+
+ - (update_profiles) rely on netcnx->{PROFILE}
+
+ - fix profiles list update when wizard exits
+
+2003-09-08 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: save_conf() really is dead
+
+2003-09-08 18:14 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect: -
+ do not call anymore network::netconnect::save_conf - good
+ set_profiles($netcnx) call
+
+2003-09-08 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: perl_checker compliance
+
+2003-09-08 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: remove obsolete code
+
+2003-09-08 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-9mdk
+
+2003-09-08 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, standalone/diskdrake: ~fix~ calling
+ userdrake in "diskdrake --fileshare"
+
+2003-09-08 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix #4964 (not being able to
+ select directories)
+
+2003-09-08 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: my_gtk.pm, ugtk.pm: no more used (drakcronat just
+ removed from distro) => less dependancies :-)
+
+2003-09-08 17:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't
+ warnAboutNaughtyServers when upgrading
+
+2003-09-08 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - use OptionMenu's
+ instead of Combo's (better looking and mcc doesn't like embedding
+ combos) - cleanup
+
+2003-09-08 16:56 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: shrink
+
+2003-09-08 16:54 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm, netconnect.pm,
+ network.pm, nfs.pm: - fix/use explanations - fix #5307 (firmware)
+
+2003-09-08 16:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, et.po, fi.po, zh_CN.po: updated
+ Azeri, Estonian, Finnish and Chinese files
+
+2003-09-08 16:38 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: last updates
+
+2003-09-08 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: Xdrakres is "XFdrake resolution"
+ not simply "XFdrake"
+
+2003-09-08 16:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Fixed copyright notice.
+
+2003-09-08 15:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-09-08 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config, perl-install/install_steps_gtk.pm,
+ perl-install/ugtk2.pm, tools/Makefile: fixing keyboard focus
+ during install: - removed aewm-drakx which doesn't work nicely -
+ fix @interactive::objects handling (don't push non pop_it
+ windows, ensure destroyed windows are removed) - ensure
+ XSetInputFocus is called on $::WizardWindow
+
+2003-09-08 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix check_mntpoint to get back error
+ "There is already a partition with mount point %s\n"
+
+2003-09-08 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: use formatError to have the
+ error message instead of SCALAR(0x....)
+
+2003-09-08 13:46 Fançois Pons
+
+ * perl-install/install2.pm: set xcon=6 when loading i810fb module
+ (to have console 7 with X).
+
+2003-09-08 13:41 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-08 11:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/share/po/fr.po: s/Utiliserer une disquette/Utiliser
+ une disquette/
+
+2003-09-08 11:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - support new help call
+
+2003-09-08 05:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Show an error message if
+ saned could not be installed.
+
+2003-09-08 03:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/cups.pm, printer/main.pm,
+ printer/printerdrake.pm, standalone/printerdrake: - Use a field
+ in the $printer data structure and no a global variable for the
+ expert mode. - Fixed bug of database not being re-read when
+ switching between normal and expert mode with the new GTK2 main
+ window.
+
+2003-09-07 21:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-8mdk
+
+2003-09-07 20:35 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: network/netconnect.pm, standalone/drakconnect: -
+ $netcnx->{PROFILE} is current profile name (now scalar) - fix non
+ working profiles loading/saving - perl_checker
+
+2003-09-07 16:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed first-time dialog.
+
+2003-09-07 13:12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: typo fix
+
+2003-09-07 05:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2003-09-07 00:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, cy.po, he.po, hu.po, vi.po:
+ updated Bosnian, Welsh, Hebrew, Hungarian and Vietnamese files
+
+2003-09-07 00:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: fix #1837: add support for two more
+ wireless network cards
+
+2003-09-06 15:09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Update
+
+2003-09-05 22:25 Guillaume Cottenceau
+
+ * perl-install/lang.pm: add support for "variants" as explained by
+ pablo (in uz@Cyrl the @Cyrl is a variant)
+
+2003-09-05 21:54 Guillaume Cottenceau
+
+ * perl-install/keyboard.pm: /me sux
+
+2003-09-05 21:53 Guillaume Cottenceau
+
+ * perl-install/keyboard.pm: apply patch asked by pablo so that
+ users are not confused during install that their chosen
+ grp_toggle is not usable. yes it's too late for additional
+ translations but it's not very important that this is
+ untranslated, it's better to have it in.
+
+2003-09-05 19:13 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: workaround messed up ppp0
+ configration
+
+2003-09-05 19:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update fr translation
+
+2003-09-05 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: help making printerdrake icon bar be
+ shorter (#5282)
+
+2003-09-05 18:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Reverted button texts to
+ not break existing translations, added hints for translators to
+ make the button texts short.
+
+2003-09-05 17:39 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/control-center/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-09-05 16:28 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm: small fixes for
+ drakgw and drakfirewall
+
+2003-09-05 15:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Shorter button texts, so
+ that translations do not let the buttons go out of the window.
+
+2003-09-05 15:12 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-05 15:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2003-09-05 14:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: increazed size of Arabic font in KDE
+
+2003-09-05 14:13 David Baudens <baudens at mandriva.com>
+
+ * perl-install/pixmaps/: monitor-1024.png, monitor-1152.png,
+ monitor-1280.png, monitor-1400.png, monitor-1600.png,
+ monitor-1920.png, monitor-2048.png, monitor-640.png,
+ monitor-800.png, monitor.png: Update
+
+2003-09-05 11:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, ru.po, sk.po, uz.po, uz@Cyrl.po,
+ zh_CN.po: updated Czech, Slovak, Uzbek and Chinese files
+
+2003-09-05 03:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, hu.po, nb.po: updated pot files
+
+2003-09-05 02:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Change the strings again for
+ Pablo
+
+2003-09-05 01:33 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-09-04 22:51 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: passed spellchecking, fixed some
+ typos
+
+2003-09-04 21:52 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: last updates
+
+2003-09-04 21:19 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: CDROM -> CDR
+
+2003-09-04 21:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - printerdrake needs
+ foomatic-db-engine
+
+ - printerdrake is moved to drakxtools since it does not anymore
+ run on the console
+
+2003-09-04 20:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Abort scannerdrake when
+ SANE packages cannot be installed.
+
+2003-09-04 20:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, sq.po: updated Estonian and
+ Albanian files
+
+2003-09-04 19:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: remove doble entry
+
+2003-09-04 19:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-7mdk (arghh, 9.2-6mdk was
+ really uploaded)
+
+2003-09-04 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-6mdk last bits
+
+2003-09-04 18:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/icons/: drakTS.620x57.png,
+ drakbackup.540x57.png: No longer needed with reworked banners.
+
+2003-09-04 18:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Add application title in
+ banner.
+
+2003-09-04 17:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-09-04 16:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-09-04 16:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix buildrequires for 64bit ports
+
+2003-09-04 15:45 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/compssUsers.desktop: Update
+
+2003-09-04 15:39 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: always ask for modem device even
+ if not detected, unless user has winmodem
+
+2003-09-04 15:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: fix #5242, don't go back to main
+ menu if winmodem isn't found
+
+2003-09-04 11:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2003-09-04 11:05 Fançois Pons
+
+ * perl-install/Xconfig/resolution_and_depth.pm: XF 3.3 should use
+ depth 16 if use_UTAH_GLX, this has been glitched in XF4 mode (so
+ never available).
+
+2003-09-04 10:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2003-09-04 10:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-09-04 09:52 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Fully updated
+
+2003-09-03 21:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2003-09-03 21:37 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2003-09-03 21:12 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2003-09-03 21:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, nl.po: updated Norwegian and Dutch
+ files
+
+2003-09-03 19:58 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/rpmsrate: Update
+
+2003-09-03 19:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Default to all users for
+ wizard->Users (as root). Only allow 1 media select from wizard.
+ Limit possible user list to self for nonroot users.
+
+2003-09-03 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_auto_install.pm,
+ install_steps_interactive.pm, install_steps_newt.pm,
+ install_steps_stdio.pm: - move call to ->charsetChanged from
+ install_steps_interactive to install_steps so that we can use
+ it in install_steps_auto_install_non_interactive - don't overload
+ ->selectLanguage to call lang::load_console_font(), overload
+ ->charsetChanged instead
+
+2003-09-03 17:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mouse.pm, pixmaps/arrow_down.png,
+ pixmaps/arrow_down.xpm, pixmaps/arrow_up.png,
+ pixmaps/arrow_up.xpm, pixmaps/mouse_2b.png,
+ pixmaps/mouse_2b_left.png, pixmaps/mouse_2b_right.png,
+ pixmaps/mouse_3b+.png, pixmaps/mouse_3b+.xpm,
+ pixmaps/mouse_3b+_middle.png, pixmaps/mouse_3b+_mini.xpm,
+ pixmaps/mouse_3b.png, pixmaps/mouse_3b.xpm,
+ pixmaps/mouse_3b_left.png, pixmaps/mouse_3b_middle.png,
+ pixmaps/mouse_3b_mini.xpm, pixmaps/mouse_3b_right.png,
+ pixmaps/mouse_left.xpm, pixmaps/mouse_middle.xpm,
+ pixmaps/mouse_right.xpm: - much cleanup in test_mouse() - new
+ images for mouse test (thanks to Jerome Villette)
+
+2003-09-03 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: hd_gtk.pm, interactive.pm: require
+ resize_fat::main when needed (fix bug #5204)
+
+2003-09-03 17:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: use command line parameter to specify
+ traditional or simplified style for Chinput
+
+2003-09-03 16:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Last untranslated string.
+ Rework banner with title ala rpmdrake.
+
+2003-09-03 16:30 Fançois Pons
+
+ * perl-install/standalone/drakautoinst: fixed missing import of
+ ugtk2
+
+2003-09-03 11:17 Fançois Pons
+
+ * isolinux-graphic.bmp: updated pictures of 9.2 (style fixes
+ according lilo one)
+
+2003-09-03 11:16 Fançois Pons
+
+ * make_boot_img: updated for newer pictures.
+
+2003-09-03 09:06 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: acpi=ht is x86 only
+
+2003-09-03 08:30 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - change to handle documentaion
+ system other than drakxtools one (for instance MandrakeGalaxy)
+
+2003-09-03 02:03 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix some untranslated strings
+ - Arpad Biro
+
+2003-09-03 01:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, fa.po: updated Basque and Farsi
+ files
+
+2003-09-03 00:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, pt.po: Updated Finnish and
+ Portuguese files
+
+2003-09-02 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2003-09-02 21:07 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: fixed some errors in license message
+
+2003-09-02 19:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-09-02 19:16 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-09-02 17:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Prevent main window crash
+ when queue list gets empty by deleting all print queues.
+
+2003-09-02 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: do not translate in arabic during
+ install since there's no font available
+
+2003-09-02 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: do not disable arabic completly (tis very
+ ugly to do this, better remove the arabic choice!)
+
+2003-09-02 15:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updated 12x13 bitmap font
+ (replaced hebrew glyphs with a copy from nachlieli font, under
+ gpl)
+
+2003-09-02 14:38 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed XFree86-75dpi-fonts not available
+ (seems like a problem with length of rpmsrate computation,
+ strange as it fails now and not before).
+
+2003-09-02 14:31 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed duplicate entries in src
+ architecture.
+
+2003-09-02 14:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed major number of
+ libsane-hpoj.
+
+2003-09-02 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: add description for option "umask=0" (bug
+ #4310)
+
+2003-09-02 04:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, hu.po: updated po files
+
+2003-09-02 00:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2003-09-02 00:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, nb.po: updated Bosnian and
+ Nrowegian files
+
+2003-09-01 23:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-09-01 22:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: do not explicitely reject
+ embedding there, it has to be done in mcc.
+
+ else, mcc wait forever for rpmdrake to embed in, then display an
+ error dialog explaining that rpmdrake has failled (since it
+ exited before displaying anything in mcc...)
+
+2003-09-01 19:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: chksession gives GNOME
+ for gnome, not Gnome
+
+2003-09-01 19:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: oops, really kill gconfd silently
+
+2003-09-01 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't warn when killing /usr/lib/gconfd-2
+ when runs in background
+
+2003-09-01 15:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: Fix lsnsetdrake on AMD64
+
+2003-09-01 14:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, uz.po, uz@Cyrl.po: updated Czech
+ and Uzbek files
+
+2003-09-01 14:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, da.po, de.po, ru.po, sk.po, sq.po,
+ uk.po, vi.po, zh_CN.po: updated Azeri, Albanian, Ucrainian,
+ Vietnamese and Chinese files
+
+2003-09-01 13:59 Pixel <pixel at mandriva.com>
+
+ * tools/ntp_servers.pl: update to new timezone.pm and adapt to new
+ web page listing ntp servers
+
+2003-09-01 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: update stratum 2 ntp servers
+
+2003-09-01 13:24 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: _ask_file: don't forget to overwrite
+ $o->{window} as well or else it will be ->show'ed as a blank
+ window (#5083)
+
+2003-09-01 13:20 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Update soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-09-01 08:18 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates german translation
+
+2003-08-31 23:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix profiles list refreshing
+
+2003-08-31 23:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-6mdk
+
+2003-08-31 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: harddrake2 help dialog: use
+ the new scrolled dialog API for scrolled labels
+
+2003-08-31 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) do not scroll labels by
+ default
+
+2003-08-31 23:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakconnect,
+ standalone/drakfloppy, standalone/harddrake2: fix dialogs height:
+ replace"small" option by "height" & "weight" ones
+
+ rationale: make thecommon path be the easiest one to set up (and
+ make the uncommon path be the hardest one to follow)
+
+2003-08-31 23:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: in non expert mode, only display
+ the list of *installed* display managers. (interface team
+ request)
+
+ if no dm is installed, then switch back to expert mode behaviour
+ and display all dm and install them if needed.
+
+2003-08-31 23:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix draksec french translation
+
+2003-08-31 23:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: conflicts with older drakxtools doc
+ due to new ctxhelp (drakhelp being broken until ctxhelp module is
+ splited out as perl-MDK-Doc)
+
+2003-08-31 23:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: requires perl-Gtk2 >= 0.95-6mdk for
+ working XSetInputFocus()
+
+2003-08-31 23:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: since we renewed network profiles
+ feature, we shall require netprofile for drakconnect
+
+2003-08-31 23:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: explanations now work again
+ thanks to pixel, no need to duplicate them
+
+2003-08-31 22:53 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-08-31 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't check ext3 filesystems nor mount them
+ as ext2 during upgrade (bug #5067)
+
+2003-08-30 15:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/pixmaps/: about.png, cups_config.png, help.png,
+ printer_add.png, printer_conf.png, printer_default.png,
+ printer_del.png, printerdrake.png, redhat-config-users.png,
+ refresh.png, selected.png, slpash-drakeprint-2.png,
+ unselected.png: Re-uploaded binary files added with "cvs add -kb
+ ...".
+
+2003-08-30 15:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/pixmaps/: about.png, cups_config.png, help.png,
+ printer_add.png, printer_conf.png, printer_default.png,
+ printer_del.png, printerdrake.png, redhat-config-users.png,
+ refresh.png, selected.png, slpash-drakeprint-2.png,
+ unselected.png: Binary files uploaded without "cvs add -kb ...",
+ removed for re-upload.
+
+2003-08-30 14:25 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: current updates
+
+2003-08-30 12:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2003-08-30 10:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, pt.po: updated Estonian and
+ Portuguese files
+
+2003-08-30 02:33 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-08-30 02:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: since XFree86-VGA16-3.3.6-29mdk is bad,
+ insist on having XFree86-VGA16 28mdk instead
+
+2003-08-30 02:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/icons/wiz_printerdrake.png: Updated head
+ image for add-printer wizard to have the new printerdrake icon.
+
+2003-08-30 01:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: set {perImageAppend} to the append=
+ line from the default entry or the first image= entry
+
+2003-08-30 01:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: set_minmax_width was commented which
+ caused the individual package selection tree to be to large (fix
+ bug #4548 #4865)
+
+2003-08-29 23:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-08-29 23:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-5mdk
+
+2003-08-29 23:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: restore profiles feature
+
+2003-08-29 23:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: restore profiles feature
+ through new netprofile package
+
+2003-08-29 23:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, nl.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po:
+ updated pot file
+
+2003-08-29 23:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, fa.po,
+ fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, ms.po, mt.po: updated pot file
+
+2003-08-29 22:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po: updated pot file
+
+2003-08-29 22:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix title when not embedded
+ (print right number of network interfaces instead of displaying a
+ big random number)
+
+2003-08-29 22:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ctxhelp.pm: provided by mandrake_doc-drakxtools-LL
+
+2003-08-29 18:19 Fançois Pons
+
+ * perl-install/pkgs.pm: try to make sure additional CD are taken
+ into account if low memory available for configuring urpmi.
+
+2003-08-29 16:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/modules.pm: no imm/ppa on ia64
+
+2003-08-29 16:08 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: Add inflate_fs.o module for SCSI cdroms
+ on IA-64 (!)
+
+2003-08-29 15:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: pixmaps/about.png, pixmaps/cups_config.png,
+ pixmaps/help.png, pixmaps/printer_add.png,
+ pixmaps/printer_conf.png, pixmaps/printer_default.png,
+ pixmaps/printer_del.png, pixmaps/printerdrake.png,
+ pixmaps/redhat-config-users.png, pixmaps/refresh.png,
+ pixmaps/selected.png, pixmaps/slpash-drakeprint-2.png,
+ pixmaps/unselected.png, standalone/printerdrake: New GTK2-based
+ main window for printerdrake (only after installation).
+
+2003-08-29 13:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, uk.po, zh_CN.po: updated Czech,
+ Ukrainian and Chinese files
+
+2003-08-29 12:18 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: major cleaning
+
+2003-08-29 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translation just means translation,
+ not gratuitously speaking about the whole universe
+
+2003-08-29 11:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: remove system("cp..."); (I suck so
+ much...)
+
+2003-08-29 09:26 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/menu-messages/da.po
+ soft/GtkMdkWidgets/po/da.po soft/urpmi/po/da.po
+ soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
+
+2003-08-29 02:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Do not show hidden options
+ in the options dialog.
+
+2003-08-29 02:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Enabled Wizards in embedded
+ mode. They work there now!
+
+2003-08-29 01:12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Partially updated
+
+2003-08-29 01:00 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-08-28 23:49 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-28 21:46 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Moved some stuff from
+ mainwindow_interactive() to main() and init() as it has nothing
+ to do with the main window.
+
+2003-08-28 20:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-08-28 20:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix dialogs heigh
+
+2003-08-28 19:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) enable to pass an already
+ created Gtk2::Label
+
+2003-08-28 19:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - configure /etc/sysconfig/autologin in case
+ of xdm, but remove it if kde/gnome - create any::sessions()
+
+2003-08-28 19:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't install autologin if using
+ KDE or Gnome desktop (not needed nor used)
+
+2003-08-28 18:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: if there is only one users and meta_class is
+ discovery, choose autologin without asking
+
+2003-08-28 18:24 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/: compssUsers.desktop, compssUsers: select
+ Documentation for all classes
+
+2003-08-28 18:19 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed drakprofile
+
+2003-08-28 17:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2003-08-28 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: (output) remove buggy warn
+
+2003-08-28 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: fix MDK::Common::* explainations
+
+2003-08-28 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_gtk.pm: fix direction setting for bidi (need
+ perl-Gtk2-0.95-5mdk though)
+
+2003-08-28 14:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uz.po, uz@Cyrl.po: updated Uzbek files
+
+2003-08-28 13:34 Guillaume Cottenceau
+
+ * perl-install/detect_devices.pm: detect a laptop if cpu name
+ contains "mobile" as many recent laptops are in that case (in
+ case other means would fail)
+
+2003-08-28 12:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-08-28 12:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix #4372
+
+2003-08-28 11:43 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/ctxhelp.pm: - put ctxhelp modules to prevent broken
+ drakx build
+
+2003-08-28 10:14 Fançois Pons
+
+ * perl-install/share/compssUsers: make selected=all by default (so
+ that RC1 (in meta_class=download will see them)
+
+2003-08-28 09:25 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed linuxconf and gnome-network
+
+2003-08-28 00:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: fix pot regeneration at package build time
+
+2003-08-28 00:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-08-27 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/cups.pm: fix pot regeneration at package
+ build time
+
+2003-08-27 23:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2003-08-27 23:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-4mdk
+
+2003-08-27 22:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated po file
+
+2003-08-27 20:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-08-27 20:34 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2003-08-27 20:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix firmware name (shame on me)
+
+2003-08-27 20:15 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix #4363 (titi's so beautiful)
+
+2003-08-27 19:23 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - help connects to
+ qa.mandrakesoft.com
+
+2003-08-27 19:20 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - new drakhelp args
+
+2003-08-27 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-08-27 19:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - new drakhelp args
+
+2003-08-27 19:06 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbackup: - new drakhelp args
+
+2003-08-27 19:06 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/install_steps.pm: fixup last hack
+
+2003-08-27 19:04 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/diskdrake: - new drakhelp call schema
+
+2003-08-27 18:53 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - perl-checker
+
+2003-08-27 18:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-27 18:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/cups.pm: Added lpstat_lpv() function to list
+ remotely defined printers with description and location.
+
+2003-08-27 18:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Determine default printer already
+ when reading in the queue data, this is much faster than running
+ "foomatic-configure" a second time.
+
+2003-08-27 17:43 Nicolas Planel <nplanel at mandriva.com>
+
+ * make_boot_img, perl-install/any.pm,
+ perl-install/install_steps.pm: Now acpi=ht to prevent HT
+ detection only
+
+2003-08-27 17:26 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - New drakhelp to increase
+ accuracy in help system - contextual help
+
+2003-08-27 16:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-08-27 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: resync with current bttv card and
+ tuner lists
+
+2003-08-27 15:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, pt.po, sq.po, uk.po: updated
+ Farsi, Portuguese, Albanian and Ukrainian files
+
+2003-08-27 15:44 Guillaume Cottenceau
+
+ * perl-install/install_interactive.pm: scandisk is not enough! you
+ can destroy your windows XP if you don't use chkdsk and then
+ ntfsresize is used on a buggy partition (drakx should detect it
+ via ntfsresize though), running chkdsk is *mandatory*
+
+2003-08-27 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: rename vbox2 as param_vbox
+
+2003-08-27 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove useless bbox8 (due to
+ use of std dialog button box)
+
+2003-08-27 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: get rid of useless/badly
+ named bbox0
+
+2003-08-27 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: rename combo1 as
+ profile_combo
+
+2003-08-27 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix hostname setting - set
+ hostname at the same time we apply dns changes, that is when one
+ ask to apply changes
+
+2003-08-27 12:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: let draconnect banner fit in french
+
+2003-08-27 11:24 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakboot: typo fix
+
+2003-08-27 02:51 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-27 00:15 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: current update
+
+2003-08-26 23:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2003-08-26 22:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, fi.po, hu.po, nb.po, sv.po:
+ updated Estonian, Finnish, Hungarian, Norwegian and Swedish files
+
+2003-08-26 18:01 Fançois Pons
+
+ * perl-install/install2.pm: alias meta_class=discovery with
+ meta_class=desktop
+
+2003-08-26 17:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-3mdk
+
+2003-08-26 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: hide profile in "internet
+ config" dialog if profiles are disabled
+
+2003-08-26 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix "Internet Connection
+ Configuration" dialog does not show up its contents
+
+2003-08-26 17:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-26 17:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updated Nimbus Sans font with
+ more cyrillic glyphs
+
+2003-08-26 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: updated list of available kde-i18n-xx
+ packages
+
+2003-08-26 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: rename --gui option as
+ --skip-wizard option on interface team request
+
+2003-08-26 17:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: only write conf & install
+ packages on exit (Ok press) if something really has been altered
+ so that we do not write the config twice if the user already
+ pressed the "apply" button
+
+2003-08-26 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - "Configure hostname..."
+ button: offer to configure DNS too - (configure_hostname) kill it
+ since it only duplicate code from network/*pm
+
+2003-08-26 16:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: fix pkg to install for
+ samba
+
+2003-08-26 16:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, hu.po, uk.po: updated Estonian,
+ Hungarian and Ukrainian files
+
+2003-08-26 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/i18n_compssUsers: adapt to new flag
+ [selected=...]
+
+2003-08-26 16:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix buttons sensitive behavior
+
+2003-08-26 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: still more dialogs cleanups
+
+2003-08-26 15:45 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/pixmaps/printer-mdk.png: Updated icon for
+ printerdrake's dialog windows.
+
+2003-08-26 15:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: add --gui in order to start
+ in "mcc" state (aka not in wizard mode)
+
+2003-08-26 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: more dialog misusage and
+ some indent fixes
+
+2003-08-26 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: enfore gc style for gtk+2
+ widgets creation
+
+2003-08-26 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: more layout fixes: cance/ok
+ order coherency, no VBoxes/HButtonBoxes abuses, ...
+
+2003-08-26 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_net) Gtk2::Dialog
+ main area is already a vbox, so it's useless to pack a vbox there
+ idem for action area and Gtk2::HButtonBox
+
+2003-08-26 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (get_intf_status) kill
+ duplicate
+
+2003-08-26 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: net & lan configuration
+ dialogs: prevent one to do concurrent config changes from the gui
+
+2003-08-26 15:18 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: drop security level
+ selection for desktop user.
+
+2003-08-26 15:16 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: do not ask user for
+ group selection if desktop meta class is used.
+
+2003-08-26 15:14 Fançois Pons
+
+ * perl-install/share/compssUsers.desktop: added [selected=desktop]
+ when needed (same as default selection (PowerPack) but Gnome is
+ removed).
+
+2003-08-26 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (sensitive_buttons) fix it
+
+2003-08-26 15:11 Fançois Pons
+
+ * perl-install/share/compssUsers.server: added [selected=server]
+ for groups to be selected by default.
+
+2003-08-26 15:10 Fançois Pons
+
+ * perl-install/share/compssUsers: added [selected=default] for all
+ section which needed to be selected (approximative map of
+ existing packages).
+
+2003-08-26 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - only allow to run one
+ wizard at once (insensitive button if one is already started) -
+ reload the configuration once the wizard exited - prevent one to
+ do concurrent config changes from the gui while the wizard is
+ run (proper fix involve both fix modality/transcientness when
+ embedded and running the wizard within the same process instead
+ of forking it]
+
+2003-08-26 15:08 Fançois Pons
+
+ * perl-install/pkgs.pm: get selected list from compssUsers for
+ readCompssUsers.
+
+2003-08-26 15:07 Fançois Pons
+
+ * perl-install/install_any.pm: added default compssUsers group
+ selection from compssUser file directly (use [selected=...] where
+ ... is a list of comma separated meta_class (or default for no
+ meta_class or all for all meta_class). fixed all radeon card are
+ using 3D for 3D package group.
+
+2003-08-26 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: install "autofs" pkg when using ldap (thanks
+ to Buchan Milne)
+
+2003-08-26 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more last bits for 9.2-2mdk for
+ lord pixel
+
+2003-08-26 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: use fs=ext2:vfat or fs=udf:iso9600 for
+ supermount (it needs supermount-ng)
+
+2003-08-26 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: - don't set XkbCompat to group_led,
+ it's better to use grp_led:scroll in XkbOptions
+
+ - also set compose:rwin if GRP_TOGGLE is not rwin_toggle.
+ rationale:
+
+ Also, for multilayout keyboards, it would be nice to
+ also
+ in XkbOptions "compose:rwin" to define the right
+ windows
+ key as the compose key (unless "rwin_toggle" has been
+ choosen to toggle the layouts) "compose:rwin" is the
+ default when loading a single latin layout, but is lost
+ when loading several layouts...
+
+2003-08-26 14:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-2mdk
+
+2003-08-26 13:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, standalone/service_harddrake:
+ while bootstrapping, only write /etc/modules.conf only if we
+ really altered it (thus preventing depmod to be runned everytime)
+
+2003-08-26 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (add_alias) override current setting
+ when adding an alias
+
+2003-08-26 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: explain data struct
+
+2003-08-26 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: do embed WebDAV configuration
+ (fix bug #4703)
+
+2003-08-26 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm: focus_first on the webdav server
+ field
+
+2003-08-26 02:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: If an HPOJ-controlled HP MF device
+ on a parallel port has an URI with model reference (and not port
+ number) tell at least in the menues that it is on a parallel
+ port.
+
+2003-08-26 02:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Let names of automatically
+ generated queues not contain the word "Series".
+
+2003-08-26 01:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: cups.pm, main.pm, printerdrake.pm:
+ Distinguish between printers "Configured on this machine" and
+ "Configured on other machines", not any more "Local Printers" and
+ "Remote Printers", so the current dialog is compatible to the new
+ GTK2 dialog.
+
+2003-08-26 00:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Modularized the function
+ main() to have separate subroutines for adding, setting as
+ default, editing, and removing a printer (for new main window).
+ - Cleaned up the code of the former function main(). -
+ Re-activated the wizard mode for adding a printer, it works
+ again!
+
+2003-08-25 20:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated po file
+
+2003-08-25 18:56 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: update
+
+2003-08-25 18:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-25 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix drakboot always showing
+ advanced stuff even when --expert was not passed
+
+2003-08-25 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-1mdk
+
+2003-08-25 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-08-25 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix drakconnect not working
+ on console (found by poulpy) due to having killed pre_func()
+ which used to set a background pixmap in the old days, thus the
+ bogus test that went in.
+
+2003-08-25 15:16 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-25 14:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed recognition of installed
+ parallel HPOJ-driven MF devices.
+
+2003-08-25 13:54 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Add /etc/modules for local
+ hardware config.
+
+2003-08-25 13:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Removed use of "parport_probe",
+ we do not need to support kernel 2.2.x any more.
+
+2003-08-25 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: this tool really is gtk2
+ ported, so do not trash languages not handled by gtk+-1.x
+
+2003-08-24 23:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Adapted version mark in HPOJ config
+ files to the current HPOJ.
+
+2003-08-24 23:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Made the HP DeskJet 450
+ really being recognized as a printer needing HPOJ.
+
+2003-08-24 21:04 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Added HP DeskJet 450 to the
+ models which need HPOJ.
+
+2003-08-24 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require a perl-Gtk2 that properly
+ handle perl exceptions in gtk+ callbacks
+
+2003-08-24 13:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, fa.po, hu.po, uk.po, zh_CN.po:
+ updated Basque, Farsi, Hungarian, Ukrainian and Chinese files
+
+2003-08-24 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2003-08-24 02:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Fixed
+ expert/normal mode switch (it will perhaps be removed, but a
+ working switch makes the further development easier). - Added
+ connectionstr() function which produces a human-readable string
+ for the connection type, needed for new main window. - Added
+ missing parantheses (there was a warning complaining about this).
+
+2003-08-24 01:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-24 00:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: rename $treeModel as $model
+ since it really is a ListModel, not a TreeModel anymore
+ (cosmetic)
+
+2003-08-24 00:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.35mdk
+
+2003-08-24 00:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - disable up button when
+ selected rule is the first one - disable down button when
+ selected rule is the latest one or when next rule is non
+ editable
+
+2003-08-23 23:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: always add newly created
+ setting at top of editable settings so that we're we can sort
+ them since they're no non editable items between old & new
+ editable ones
+
+2003-08-23 23:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: once we start to alter settings
+ ordering, we need to save it on exit; so just tell it to drakperm
+
+2003-08-23 23:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - fix gtk bug on moving down
+ line - merge moving up & down callbacks - we do not have a
+ hierarchy, so just use a s/tree/list/
+
+2003-08-23 21:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: a few more translations
+
+2003-08-23 21:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/non-editable.png: add new icon for
+ drakperm
+
+2003-08-23 21:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.34mdk
+
+2003-08-23 21:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate last remaining non
+ translated languages with google help
+
+2003-08-23 20:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/handle_configs.pm: if_($A, $B) got extremely slow,
+ replaced by ( $A ? $B : () ).
+
+2003-08-23 19:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: as discussed with david, gc, laurent &
+ pixel early this week, since gtk+ dialogs are HIG-ed and since
+ most drakxtools' explicit gtk+ windows follow cancel/ok order for
+ now, let implicit windows (that is interactive written ones)
+ follow the same order in standalone mode.
+
+ after release, we'll have to make ugtk2 handle one more
+ abstractions, that is taking some buttons callbacks, add buttons
+ that have callbacks and pack them in kde or gnome order depending
+ of interface team decision or maybe of runtime detection of
+ desktop.
+
+2003-08-23 14:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, hu.po, zh_CN.po: updated Basque,
+ Hungarian and Chinese files
+
+2003-08-23 10:31 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-08-23 08:02 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2003-08-22 22:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Adapted to scli 0.2.12.
+
+2003-08-22 22:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Support for the
+ new "ptal://..." (two slashes) URIs of the new HPOJ.
+
+2003-08-22 19:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nb.po: updated Norwegian file
+
+2003-08-22 19:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: renew drakperm gui (interface
+ team feedback): - indicate if current setting is editable or not
+ - only display current security level, editable settings or both
+
+2003-08-22 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: translate default value in help
+ tooltips too
+
+2003-08-22 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-08-22 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: minor fix (due to ala latex format
+ used in draksec)
+
+2003-08-22 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-08-22 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: offer samba in services
+ list
+
+2003-08-22 16:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated Russian file
+
+2003-08-22 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW) split $set_advanced
+ into $set_advanced and $set_advanced_raw to fix drakconnect
+ "failling" to detect network interfaces in standalone mode when
+ in expert mode
+
+2003-08-22 14:41 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: fix keyboard browsing in
+ treeviews not always centering on selected row (workaround gtk2
+ bug not honouring centering on the given row if node was closed
+ by updating ui before requesting the scrolling to the cell)
+
+2003-08-22 14:26 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix titi
+
+2003-08-22 14:21 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-08-22 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-08-22 13:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-08-22 13:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate draksec main label
+
+2003-08-22 12:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/draksec: CJK fixes: use newly
+ introduced Gtk2::WrappedLabel package
+
+2003-08-22 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: introduce Gtk2::WrappedLabel to factorize
+ fixed labels for CJK languages
+
+2003-08-22 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtkset_line_wrap) export it
+
+2003-08-22 12:08 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add erwan
+
+2003-08-22 12:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: use "Sans" as default font name
+
+2003-08-22 12:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated po file
+
+2003-08-22 11:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: typo fix s/succeed/succeeded/
+
+2003-08-22 02:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-22 02:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix crash on file select of
+ "Other" finish custom cron configuration - normal users can now
+ do cron backups
+
+2003-08-22 00:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/adsl.pm: s/alcatel/Alcatel/
+
+2003-08-21 23:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - (gtkset_line_wrap) introduce a
+ Gtk2::Label wrapper for set_line_wrap()
+
+ - (create_box_with_title) o factorize label creation o fix
+ label wrongly wrap cjk languages by enabling its wrapping
+ (real bugs is that GtkLabel does not really know its geometry:
+ see gtk+ bugs #118045, #118046, #101968 and #104188)
+
+2003-08-21 20:26 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - more use info in
+ load_firmware_floppy - catch no floppy in drive error - catch
+ wizcancel - add '-e 1' pppoa option for speedtouch USB - N_
+ instead of N, won't translate twice (guillaume has the greatest
+ member)
+
+2003-08-21 20:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: workaround gtk bug #118047
+
+2003-08-21 20:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: have bootsplash also for smp &
+ enterprise kernels
+
+2003-08-21 19:46 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-21 19:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-08-21 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: typo fixes from Arpad Biro
+
+2003-08-21 19:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2003-08-21 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: only access $::o->{mouse}{unsafe} during
+ install
+
+2003-08-21 19:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: don't care if insmod'ing ohci1394 fail
+ (bug #1972)
+
+2003-08-21 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksec: fix english (thanks to Reinout
+ van Schouwen)
+
+2003-08-21 18:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/resize_ntfs.pm: display the error returned
+ by ntfsresize (need i18n though)
+
+2003-08-21 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, ugtk2.pm: move ugtk2 related
+ language fixes into ugtk2 jail
+
+2003-08-21 18:31 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: fix no winmodem message/behavior
+
+2003-08-21 18:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2003-08-21 18:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-08-21 17:52 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: also display probe.c
+ entries that are completely missing from pcitable
+
+2003-08-21 17:35 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: 0x1524 0x1411 is a yenta_socket on
+ Asus Pundit machine (laurent at pschit.net)
+
+2003-08-21 17:25 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: - strip_modules on every arch - discard
+ error messages (there are normal and ugly)
+
+2003-08-21 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: no need for NC(), doing it in translate()
+ in any case
+
+2003-08-21 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't propose XF3 when $force_xf4
+
+2003-08-21 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix typo ($::force_xf4 doesn't
+ exist anymore)
+
+2003-08-21 17:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ ms.po, mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po,
+ th.po, tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-21 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: when umount fails, try killing fam and trying
+ again
+
+2003-08-21 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.33mdk
+
+2003-08-21 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: set $::o in standalone mode too
+ (because of guillaume fixes for "pango vs cjk" match)
+
+2003-08-21 16:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: chinese badly wrap with labels too
+
+2003-08-21 16:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: fix typo
+
+2003-08-21 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - fix call to openit() - replace
+ *F with $F
+
+2003-08-21 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: - use $TMPDIR before using
+ $HOME/tmp - if $HOME doesn't exist, it will use /tmp which is
+ safe when using secured_file()
+
+2003-08-21 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: only offer to configure xawtv if
+ bttv was configured
+
+2003-08-21 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: return ok/cancel state
+
+2003-08-21 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix warnings with diagnostics
+ pragma
+
+2003-08-21 16:00 Fançois Pons
+
+ * isolinux-graphic.bmp: 9.2 pictures from LN
+
+2003-08-21 15:59 Fançois Pons
+
+ * make_boot_img: updated with newer pictures of 9.2.
+
+2003-08-21 15:34 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: s/freeciv/freeciv-client/
+
+2003-08-21 15:29 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - allow user to copy firmware from
+ a floppy - fix 'previous' behavior - change wrong url
+
+2003-08-21 15:25 Fançois Pons
+
+ * perl-install/pkgs.pm: use perl-URPM 0.94
+
+2003-08-21 15:25 Fançois Pons
+
+ * perl-install/install_any.pm: updated with new perl-URPM 0.94
+ (simplified code)
+
+2003-08-21 15:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nb.po,
+ nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po,
+ sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po,
+ uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: fix firmware
+ url
+
+2003-08-21 14:17 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated to current pot
+
+2003-08-21 14:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/logdrake: Changed back NC() to N()
+ (functionality will be merged)
+
+2003-08-21 13:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fixed English typos
+
+2003-08-21 13:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/common.pm: perl_checker complain avout using N(@_)
+ so NC() has been rewritten as a duplicate of N() plus one line
+
+2003-08-21 13:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: common.pm, standalone/logdrake: definition and use
+ of an NC() function (translation with context, kde like)
+
+2003-08-21 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: the scrolled text is correctly sized, so
+ do not let it compete with the options box and the advanced box
+ for availlable space
+
+2003-08-21 12:01 Fançois Pons
+
+ * perl-install/install_any.pm: avoid 0 to be dumped in urpmi.cfg :(
+
+2003-08-21 11:46 Fançois Pons
+
+ * perl-install/pkgs.pm: really fixed bad content generated.
+
+2003-08-21 11:31 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed next key block not taken into
+ accound.
+
+2003-08-21 11:27 Fançois Pons
+
+ * perl-install/install_any.pm: added some log when importing pbukey
+ block and when key id have been found.
+
+2003-08-21 10:58 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/GtkMdkWidgets/po/da.po
+ soft/mdkkdm/po/da.po soft/urpmi/po/da.po soft/userdrake2/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-08-21 10:36 Fançois Pons
+
+ * perl-install/install_any.pm: make sure other key are added to
+ urpmi.cfg when imported.
+
+2003-08-21 03:26 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: of course newly added module pdc-ultra doesn't
+ fit on hd.img :-/
+
+2003-08-21 02:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: simplify
+
+2003-08-21 02:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: allocatePartitions() resulted in a small
+ unallocated area at the end of the drive when: - suggest_part()
+ reserves some room for the other partitions which are going to be
+ added next. For maxsize limited partition, it reserves maxsize
+ (if maxsize is reached) - suggest_part() which adds the last
+ partition limited by maxsize can be called on a partition a
+ little bigger than maxsize due to cylinder boundary adjustments
+ on previous partition creations. In that case, it doesn't use the
+ full area.
+
+ It occured for example with the current
+ $fsedit::suggestions{server}.
+
+ The fix chosen is to ensure the last suggest_part() is called
+ with a size defined as maxsize <= size < maxsize + cylinder_size.
+
+2003-08-21 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/l10n.pm: fix english (thanks to Arpad Biro)
+
+2003-08-20 23:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix english (thanks to Arpad Biro)
+
+2003-08-20 20:55 Fançois Pons
+
+ * perl-install/install_any.pm: added missing require.
+
+2003-08-20 20:54 Fançois Pons
+
+ * perl-install/Xconfig/parse.pm: fix bug 3976.
+
+2003-08-20 20:53 Fançois Pons
+
+ * perl-install/install_any.pm: added pubkey and rpmdb key
+ importation.
+
+2003-08-20 20:50 Fançois Pons
+
+ * perl-install/mouse.pm: added emulate wheel support (a bit hacky
+ though) (bug 3976)
+
+2003-08-20 20:48 Fançois Pons
+
+ * perl-install/pkgs.pm: added pubkey support for medium.
+
+2003-08-20 20:42 Fançois Pons
+
+ * perl-install/share/list: added URPM::Signature module needed to
+ parse pubkey and import them to rpmdb.
+
+2003-08-20 19:59 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-20 19:43 Guillaume Cottenceau
+
+ * tools/make_lang_png_transparent.c: this file allows to make an
+ antialiased black-on-white png, antialiased black-on-transparent
+ it's used for perl-install/pixmaps/langs/lang-*.png
+
+2003-08-20 19:40 Guillaume Cottenceau
+
+ * perl-install/pixmaps/langs/: lang-as.png, lang-gu.png,
+ lang-ku.png, lang-li.png, lang-ml.png, lang-mr.png, lang-ne.png,
+ lang-se.png, lang-ss.png, lang-st.png, lang-te.png, lang-uz.png,
+ lang-uz@Cyrl.png, lang-ve.png, lang-xh.png, lang-zu.png: make
+ them transparent
+
+2003-08-20 18:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: Use x86 smp detection scheme on amd64
+ instead of the ugly dmesg workaround.
+
+2003-08-20 18:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/strip_modules: Add strip_modules script
+
+2003-08-20 18:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img, kernel/check_mar.pl,
+ kernel/list_modules.pm, kernel/modules.pl, kernel/update_kernel:
+ - Strip modules on AMD64 with K. O. script - Split
+ network_gigabit_usb.img into network_{gigabit,usb}.img on AMD64
+
+2003-08-20 17:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: frederic crozat said that border is
+ ugly for standalone tools. so let it be used only by install.
+
+2003-08-20 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: Added choice
+ of Irish keyboard; updated the Georgian "latin layout" one.
+
+2003-08-20 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: standalone wizards: increase height to
+ prevent some hidden or cutted buttons (some locales and some
+ steps may still be partially hidden)
+
+2003-08-20 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: annotate load for translators
+ (Arpad Biro)
+
+2003-08-20 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: only complain if an error
+ really happened
+
+2003-08-20 15:58 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: Use busybox in stage2 on AMD64
+
+2003-08-20 15:55 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * tools/x86_64/busybox: Add busybox/amd64 compiled with dietlibc
+
+2003-08-20 14:23 Guillaume Cottenceau
+
+ * perl-install/share/fonts.tar.bz2: re-put etc/fonts/fonts.conf,
+ pablo removed it in previous commit, it broke the whole
+ installation program starting up :)
+
+2003-08-20 13:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: Text typos -
+ Arpad Biro
+
+2003-08-20 12:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix #4787
+
+2003-08-20 12:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/pcmcia_/cardmgr.c: Use "%p" specifier as "Base" is
+ likely to be an address.
+
+2003-08-20 12:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/ppp/pppd/sys-linux.c: Use <net/if_arp.h> thusly
+ bypassing need for <linux/byteorder/generic.h>
+
+2003-08-20 11:55 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile: Fix typo in last-minute-change commit
+
+2003-08-20 09:37 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/rpmsrate: Decreasing weight of pbs (pro),
+ Increasing weight of ScalablePBS & Maui
+
+2003-08-20 08:20 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2003-08-20 07:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-20 05:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-08-20 03:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ modules.pm: load detected firewire modules during install
+
+2003-08-20 02:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add firewire_probe() and use it
+ in probeall()
+
+2003-08-20 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: do translate choices
+ N_("Yes"), N_("No"), N_("See hardware info") (thanks to Arpad
+ Biro)
+
+2003-08-20 00:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: help perl_checker somewhat
+
+2003-08-20 00:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: logdrake, drakconnect: mark one more
+ string as translatable (spoted by Arpad Biro)
+
+2003-08-20 00:24 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/rpmdrake/po/da.po
+ gi/perl-install/share/po/da.po soft/bootsplash/po/da.po
+
+2003-08-20 00:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: translate one more string
+ (already translated as this is a double)
+
+2003-08-19 23:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.2-0.32mdk
+
+2003-08-19 23:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: commands.pm, detect_devices.pm, c/stuff.xs.pl: pci
+ hardware discovery: do full-probe by default
+
+2003-08-19 23:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: readd LANGUAGE=C
+
+2003-08-19 23:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Farsi file
+
+2003-08-19 23:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: Updated Nimbus Sans L font
+ (some wrong cyrillic glyphs fixed by Mashrab Kuvatov
+ <kmashrab@uni-bremen.de>)
+
+2003-08-19 22:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: fix brown paper bug #4702 ...
+
+2003-08-19 22:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: pablo say that redefining
+ LC_* is useless if LC_ALL is defined as the later overrides and
+ take priority over the former
+
+2003-08-19 21:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove broken and unused gtkexpand()
+
+2003-08-19 21:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm, mouse.pm,
+ harddrake/data.pm, modules/interactive.pm, standalone/draksound,
+ standalone/drakxtv: full pci probe does not freeze anymore,
+ removing code work-arounding the freeze
+
+2003-08-19 21:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm, standalone/drakautoinst,
+ standalone/drakhelp, standalone/drakperm: perl_checker compliance
+
+2003-08-19 21:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: remove unused variable
+
+2003-08-19 21:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: fix
+ any::write_passwd_user() call
+
+2003-08-19 20:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: add perl_checker hint
+
+2003-08-19 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakpxe: "xxx or xxx" in list context is
+ always bad!
+
+2003-08-19 20:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker compliance
+ (revert non usefull titi change)
+
+2003-08-19 20:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (update_intbutt) consolidate
+ internet connection button switch code
+
+2003-08-19 19:08 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Partially updated
+
+2003-08-19 18:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/any.pm: Merge from AMD64 branch: lib64 fixes
+
+2003-08-19 18:42 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: Merge from AMD64 branch
+
+2003-08-19 18:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: Merge from AMD64 branch, also fix
+ all.rdz generation.
+
+2003-08-19 18:36 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fsedit.pm: Handle /boot/efi as an EFI partition
+
+2003-08-19 18:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - use real known interface
+ name everywhere not guessed one (having eth0 and eth9 would
+ resulting in displaying eth0 & eth1 before), thus enabling to
+ get rid of get_eth_ip()
+
+ - replace build_list() by update_list() that fix flicker on list
+ update: only add/remove added/removed interfaces, just update
+ fields for others
+
+2003-08-19 18:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: list.ia64, list.x86_64: AMD64 updates for
+ 9.2
+
+2003-08-19 18:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list: lib64 fixes. Make sure we grab Gtk2.pm
+
+2003-08-19 18:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: Xconfig/card.pm, install_steps_gtk.pm: Use xf4 on
+ AMD64 too
+
+2003-08-19 18:20 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_any.pm: - Don't care about BIGMEM stuff for
+ IA-64 & AMD64 - Handle platforms that are only aware of all.img
+
+2003-08-19 18:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fs.pm: Handle EFI partitions. umount syscall does
+ not exist on AMD64, use umount2
+
+2003-08-19 18:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: - Merge in AMD64 tree - Handle
+ EFI partitions on IA-64
+
+2003-08-19 18:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/Makefile: Only build mar when needed
+
+2003-08-19 17:34 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: fix internet reconnection in mcc
+
+2003-08-19 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: add resume=/dev/XXX where /dev/XXX
+ is the swap partition (when the swap partition is bigger than ram
+ size)
+
+2003-08-19 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: show advanced options by default
+ if --expert was passed or if expect checkbox was checked (#4353)
+
+2003-08-19 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: new version from XML doc
+
+2003-08-19 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: remove debug code
+
+2003-08-19 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: adapt to new documentation
+ layout
+
+2003-08-19 15:58 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/install_any.pm: Fixing Nvidia detection.. Many were
+ missing due to wrong regexp
+
+2003-08-19 15:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, cs.po: updated Arabic and Czech
+ files
+
+2003-08-19 11:45 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/rpmsrate: Switching to ScalablePBS
+
+2003-08-19 10:57 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/ppp/pppd/utils.c: Fix varargs for AMD64
+
+2003-08-19 10:57 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: Build ppp stuff on AMD64 too
+
+2003-08-19 10:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-19 09:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: help.pm, standalone/drakbackup: Fixed typos
+
+2003-08-19 00:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.31mdk (aka do not forget
+ about killing poulpy)
+
+2003-08-19 00:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.30mdk
+
+2003-08-18 22:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2003-08-18 21:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-08-18 21:25 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated with current pot
+
+2003-08-18 21:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, id.po, it.po: updated pot file
+
+2003-08-18 20:16 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/menu-messages/da.po
+ soft/userdrake2/po/da.po gi/perl-install/share/po/da.po
+
+2003-08-18 20:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-18 19:50 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: hd.img doesn't fit anymore, removing gdth
+ (chosen randomly)
+
+2003-08-18 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: typo fix
+
+2003-08-18 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: splitted too big text into
+ smaller chunks for translators
+
+2003-08-18 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: - we do not use anymore perl-GTK -
+ let be able to parse ugtk2
+
+2003-08-18 16:52 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix up/down interface
+ detection - do not wipe out IP and NETMASK when "No ip" is filled
+ in - fix typo
+
+2003-08-18 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display the right information
+ when no selected device
+
+2003-08-18 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: use new create_dialog api to
+ get better modal dialogs
+
+2003-08-18 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_dialog, create_dialog) let
+ support the same api as new() and threat transient option
+
+2003-08-18 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: perl_checker fixes
+
+2003-08-18 14:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: progess -> progress typo
+
+2003-08-18 12:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, id.po, nb.po, uz.po, uz@Cyrl.po:
+ updated Czech, Indonesian, Norwegian and Uzbek files
+
+2003-08-18 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: sort modules and directories
+ in treeview
+
+2003-08-18 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - fix long-standing broken
+ mkbootdisk call bug - btw fix the passing of mkinirtd arguments
+ to mkbootdisk
+
+2003-08-18 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - save the modules list on
+ exit and restore it on load - simplify modules list managment btw
+ - consolidate some code in get_file_size()
+
+2003-08-18 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: try to be more user friendly:
+ - if no error, display a success message, then exit - on error,
+ instead of displaying the raw exit code that has no meaning for
+ the end user, display in red the log message of mkbootdisk -
+ remove insane expert button and so called expert frame
+
+2003-08-18 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (info_dialog) introduce another dialog
+ helper
+
+2003-08-18 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: make testing mode usefull for
+ debugging drakfloppy
+
+2003-08-18 10:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, modem.pm, netconnect.pm: fix some
+ previous callback in drakconnect wizard mode
+
+2003-08-18 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: kill buggy and no more used gtkbuttonset()
+
+2003-08-18 09:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (configure_lan) fix crash on
+ interface enabling/disabling
+
+ (get_intf_status) factorize translations and use upcase initale
+
+2003-08-18 09:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: better message when no ip
+ (aka interface down or broken)
+
+2003-08-18 02:58 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2003-08-18 01:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2003-08-17 22:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, hu.po, sk.po: updated Hungarian
+ file
+
+2003-08-17 22:07 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-08-17 19:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fa.po, hu.po: updated Farsi and Hungarian
+ files
+
+2003-08-17 16:52 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: allow hostname change in mcc
+ perl_checker
+
+2003-08-17 00:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2003-08-16 14:45 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-16 12:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, et.po, eu.po, hu.po, sq.po, uz.po,
+ uz@Cyrl.po, zh_CN.po: updated Bulgarian, Estonian, Basque,
+ Hungarian, Albanian, Uzbek and Chinese
+
+2003-08-15 13:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-14 21:04 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: update
+ gi/perl-install/share/po/da.po
+
+2003-08-14 17:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-08-14 16:48 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates soft/drakcronat/po/da.po
+ soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-08-14 13:16 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates po/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-08-14 12:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, nb.po: updated Bulgarian and
+ Norwegian files
+
+2003-08-14 04:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: in floppy_info(), check ioctl success
+ and use FDPOLLDRVSTAT (copied from kudzu code)
+
+2003-08-14 04:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: start user definable crontab
+ entry - sorry translators, new strings :(
+
+2003-08-14 04:09 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add kahlua and snd-ice1724
+
+2003-08-14 02:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated Turkish file
+
+2003-08-14 01:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fixed typo
+
+2003-08-13 22:36 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: full pci probe can't be run with
+ fopen/fread because we might read too many bytes. this was the
+ reason for freezes on some boxes from drakx, that may impact
+ stage1 also, so better change that.
+
+2003-08-13 22:14 Guillaume Cottenceau
+
+ * perl-install/: install_steps_interactive.pm, share/po/af.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fa.po, share/po/fi.po, share/po/fr.po, share/po/ga.po,
+ share/po/gl.po, share/po/he.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mt.po,
+ share/po/nb.po, share/po/nl.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/uz@Cyrl.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakbackup, standalone/drakboot: some english typo
+ fixes thx to Arpad Biro
+
+2003-08-13 21:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, fa.po,
+ fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nb.po, nl.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sq.po, sr.po,
+ sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-08-13 19:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/: list, list.x86_64: Merge with amd64-branch (rpm libdir
+ is always /usr/lib/rpm, update lists)
+
+2003-08-13 19:01 Fançois Pons
+
+ * perl-install/install_any.pm: fixed to build an inflexion point in
+ list file (so that urpmi can found it).
+
+2003-08-13 18:45 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: Use bash in stage2 on IA-64
+
+2003-08-13 18:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: Fix merge from amd64-branch
+
+2003-08-13 18:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, be.po, bg.po, bs.po, ca.po, cs.po,
+ cy.po, da.po, de.po: updated pot file
+
+2003-08-13 18:31 Fançois Pons
+
+ * perl-install/install_any.pm: generate a list file if a macro is
+ used (and only in this case).
+
+2003-08-13 18:23 Fançois Pons
+
+ * perl-install/install_any.pm: fixed with_hdlist possibly
+ incorrect.
+
+2003-08-13 18:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po: updated pot file
+
+2003-08-13 17:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot: updated pot file
+
+2003-08-13 17:40 Fançois Pons
+
+ * perl-install/install_any.pm: added tiny support for arch
+ dependant directory.
+
+2003-08-13 16:53 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix mcc lan changes (fix at
+ least #4088)
+
+2003-08-13 15:14 Fançois Pons
+
+ * perl-install/pkgs.pm: added log for checking deselection (check
+ deadlock unless gtk are doing them). workaround for rpmdb
+ problems of opening Conflictname and Triggername files.
+
+2003-08-13 14:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: corrected typo
+
+2003-08-13 14:12 Fançois Pons
+
+ * perl-install/standalone/drakpxe: fixed to match new pxe dhcp.conf
+ configuration file.
+
+2003-08-13 14:05 Fançois Pons
+
+ * perl-install/share/list.i386: updated with newer xfs_progs.
+
+2003-08-13 13:57 Fançois Pons
+
+ * rescue/list.i386: updated with xfs_progs.
+
+2003-08-13 12:49 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-13 07:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-12 17:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-08-12 17:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: medias -> media
+
+2003-08-12 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: do pop the "do you want to
+ install samba?" (otherwise when cancel is pressed, drakconf
+ thinks the install exited abnormally since no window was embedded
+ whereas "diskdrake --smb" is normally embedded)
+
+2003-08-12 15:35 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: drakxtools depends on gurpmi
+ (do_pkgs->install for example)
+
+2003-08-12 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: > During the installation when one chooses
+ Uzbek (latin) as a language the next
+ > installation stage comes in English. However, DrakX creates
+ > /usr/share/locale_special/uz/LC_MESSAGES/libDrakX.mo and
+ > /usr/share/locale/uz/LC_* files.
+
+ this comes from during_install__l2charset() returning UNICODE
+ which is not recognised.
+
+2003-08-12 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/gen_locales.sh: by the way, gen_locales.sh
+ makes an error because /usr/X11R6/lib/X11/locale/common doesn't
+ exist anymore. It used to contain
+
+ ximcp.so.2 xlcDef.so.2 xlcUTF8Load.so.2
+ xlibi18n.so.2 xlocale.so.2 xomGeneric.so.2
+
+ in mdk9.0, but mdk9.1 install was without it and it was ok...
+
+2003-08-12 14:13 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Mb -> MB [Bug 4381]
+
+2003-08-12 11:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-08-12 08:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-08-12 01:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, hu.po, nb.po: updated Estonian,
+ Hungarian and Norvegian files
+
+2003-08-11 21:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-11 20:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Search for files to restore.
+ Fix looping signal_connect in catalog restore. GUI fixes -
+ Fabrice FACORAT.
+
+2003-08-11 17:37 Fançois Pons
+
+ * perl-install/share/rpmsrate: added bash-completion in TERMINALS
+ section.
+
+2003-08-11 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: more newbie-friendly message:
+ "You need to log out and back in again for changes to take
+ effect" instead of "Please relog into %s to activate the changes"
+ (as suggested on cooker, thanks!)
+
+2003-08-11 17:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: fix typo (fix bug #4239)
+
+2003-08-11 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker compliance
+
+2003-08-11 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: when
+ any::setupBootloader_simple() fail, use any::setupBootloader()
+ afterwards
+
+2003-08-11 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: sanitize_ver() can fail and return ''
+
+2003-08-11 04:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_interactive.pm,
+ scanner.pm, services.pm, ugtk2.pm, security/l10n.pm,
+ security/msec.pm: perl_checker compliance
+
+2003-08-11 04:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: why were c, pkgs and URPM::Resolve
+ excluded? i don't know, but that's much better when perl_checker
+ can see them
+
+2003-08-11 01:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, standalone/adduserdrake: use
+ $::prefix instead of passing $prefix to functions
+
+2003-08-10 23:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: since we wrote the password in
+ /etc/passwd, we must convert to shadow
+
+2003-08-10 23:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/hd_gtk.pm, interactive/gtk.pm: use
+ Gtk2::Button->new_with_label instead of Gtk2::Button->new for
+ some widgets otherwise underscores become underlines (bug #4678)
+
+2003-08-10 22:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker compliance
+
+2003-08-10 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: replace "Press \"Forward\" to
+ continue" with "Press \"%s\" to continue" (bug #4564)
+
+2003-08-10 16:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: updated Bulgarian file
+
+2003-08-09 23:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2003-08-09 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: updated Farsi file
+
+2003-08-08 23:46 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/control-center/po/da.po
+ soft/ftw/po/da.po soft/mdkhtmlbrowser/po/da.po
+ soft/rpmdrake/po/da.po soft/urpmi/po/da.po
+ soft/userdrake2/po/da.po gi/perl-install/share/po/da.po
+
+2003-08-08 19:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated Albanian file
+
+2003-08-08 12:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-08-08 12:18 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: add gtkset_alignment
+
+2003-08-08 10:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-07 21:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix removed users code
+ (thanks gc). Enable .backupignore. Clean up spastic progress
+ bar. Add more info in "View Config"
+
+2003-08-07 18:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-08-07 17:17 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Deal with users that are
+ deleted from the system [Bug 4541].
+
+2003-08-07 16:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: Small fix (too long string)
+
+2003-08-07 15:29 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-07 03:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - drakxservices: xinetd services
+ have a special treatment - localedrake: fix the "zh_TW with
+ country China" case - no more stock icons
+
+2003-08-07 02:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, sv.po: updated Hebrew and Swedish
+ files
+
+2003-08-07 00:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: in drakxservices, display differently
+ services handled by xinetd (bug #4516)
+
+2003-08-07 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: create services_raw() which returns all
+ the info out of "chkconfig --list"
+
+2003-08-06 23:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: perl_checker compliance
+
+2003-08-06 23:25 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Update (partially)
+
+2003-08-06 22:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: try to restore the MBR using "lilo -u" for
+ users not liking the default bootloader automatic configuration
+ (eg: bug #4415)
+
+2003-08-06 18:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2003-08-06 17:18 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: Use capital letter when
+ needed
+
+2003-08-06 15:03 Guillaume Cottenceau
+
+ * kernel/modules.pl: add gigabit ethernet modules in all.rdz as
+ well :/
+
+2003-08-06 01:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, sk.po: updated Italian file
+
+2003-08-05 21:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Turkish "F" keyboard was unavailable
+ due to a typo
+
+2003-08-05 18:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - fix system_locales_to_ourlocale()
+ returning { lang => 'zh' } for $locale_lang == 'zn_CN.UTF8' - in
+ standard_locale, return zh_TW instead of zh_CN for lang=zh_TW
+ country=CN - cleanup standard_locale
+
+2003-08-05 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix an old typo
+
+2003-08-05 18:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add flag UTF8 for rpmsrate
+
+2003-08-05 17:38 Guillaume Cottenceau
+
+ * perl-install/lang.pm: ghanese ppl don't talk french!?
+
+2003-08-05 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: do not invert Ok/Cancel for mdk 9.2 (per
+ IHM team request)
+
+2003-08-05 16:11 Fançois Pons
+
+ * perl-install/pkgs.pm: checking transaction allow ordering them
+ ;-)
+
+2003-08-05 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: services.pm, ugtk2.pm, Xconfig/main.pm,
+ Xconfig/resolution_and_depth.pm, diskdrake/hd_gtk.pm,
+ interactive/gtk.pm, standalone/drakbackup, standalone/drakboot,
+ standalone/drakbug, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/drakperm, standalone/draksec, standalone/harddrake2,
+ standalone/logdrake, standalone/mousedrake,
+ standalone/net_monitor: remove stock icons (per IHM team request)
+
+2003-08-05 15:53 Fançois Pons
+
+ * perl-install/pkgs.pm: make default size of transaction to 13 (?)
+ and avoid rpm ordering which seems nasty at present (missing
+ configuration read ?).
+
+2003-08-05 15:41 Fançois Pons
+
+ * perl-install/install2.pm: added discovery and download meta_class
+ facility in VERSION file.
+
+2003-08-05 14:22 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed ordering of packages.
+
+2003-08-05 14:12 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed otherOnly for package selection not
+ correctly updated (according to changes in perl-URPM).
+
+2003-08-05 13:35 Guillaume Cottenceau
+
+ * perl-install/ftp.pm: revert my bad change
+
+2003-08-05 12:00 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: commit titi's requested typos
+ changes
+
+2003-08-05 00:00 Guillaume Cottenceau
+
+ * perl-install/ftp.pm: don't have two / in the urpmi url or it
+ seems it causes problems for some people (some ftp servers?
+ wget/curl? proxy? no sé..)
+
+2003-08-04 23:43 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-08-04 20:26 Fançois Pons
+
+ * perl-install/pkgs.pm: added log.
+
+2003-08-04 20:06 Fançois Pons
+
+ * perl-install/pkgs.pm: updated with newer perl-URPM
+
+2003-08-04 18:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-08-04 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix ask_window_manager_to_logout for gnome
+
+2003-08-04 17:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-08-04 17:15 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: 9.2-0.27mdk
+
+2003-08-04 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: gc: commit pixel's 9.2-0.26mdk
+ changelog diff (pixel sux)
+
+2003-08-04 17:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: removed bad keyboard from list for
+ Swedish;
+
+2003-08-04 17:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: removed 'xh_ZA' in double in @locales
+
+2003-08-04 16:12 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-08-04 16:04 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix not possible to select with mouse
+ anymore (rpmdrake etc)
+
+2003-08-04 16:00 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: revert "use checkboxes instead of icons"
+
+2003-08-04 13:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2003-08-04 12:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fa.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-08-04 11:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: updated list of available locales
+
+2003-08-04 10:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: Add new cooker logo for
+ installation
+
+2003-08-04 02:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: don't export destroy_window(), this
+ function doesn't exist! (thanks to perl_checker)
+
+2003-08-04 02:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker compliance
+
+2003-08-04 02:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: disable selecting text and popping the
+ contextual menu (GUI team says it's *horrible* to be able to do
+ select text!)
+
+2003-08-04 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: OptionMenus do not have an
+ horizontal scroll-bar. This can cause havoc for long strings. So
+ use combo box as we used to do in those cases (eg: diskdrake
+ Create dialog box in expert mode) (bug #4484)
+
+2003-08-03 23:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: don't overwrite
+ $o->{bootloader}{method} (much nicer for auto_installs)
+
+2003-08-03 23:50 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: - copy /etc/mtab to /mnt/etc/mtab to have a
+ nice chrooted "mount" or "df" - some perl_checker compliance
+
+2003-08-03 23:48 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: fix /sbin/insmod /sbin/rmmod and
+ /sbin/lsmod which were dead symlinks (to
+ /etc/alternatives/something)
+
+2003-08-03 21:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: more complete name for
+ the setRootPassword step: "Set root password and network
+ authentication methods" instead of simply "Set root password"
+
+2003-08-03 16:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Tool tips.
+
+2003-08-03 15:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fa.po: Added Farsi file
+
+2003-08-02 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2003-08-02 00:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pixmaps/langs/lang-as.png,
+ pixmaps/langs/lang-gu.png, pixmaps/langs/lang-ku.png,
+ pixmaps/langs/lang-li.png, drakxtools.spec,
+ pixmaps/langs/lang-ml.png, pixmaps/langs/lang-ne.png,
+ pixmaps/langs/lang-se.png, pixmaps/langs/lang-sr@Latn.png,
+ pixmaps/langs/lang-ss.png, pixmaps/langs/lang-st.png,
+ pixmaps/langs/lang-uz@Cyrl.png, pixmaps/langs/lang-ve.png,
+ pixmaps/langs/lang-xh.png, pixmaps/langs/lang-zu.png: re-adding
+ with -kb
+
+2003-08-02 00:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/langs/: lang-as.png, lang-gu.png,
+ lang-ku.png, lang-li.png, lang-ml.png, lang-ne.png, lang-se.png,
+ lang-sr@Latn.png, lang-ss.png, lang-st.png, lang-uz@Cyrl.png,
+ lang-ve.png, lang-xh.png, lang-zu.png: removing for re-adding
+ with -kb
+
+2003-08-02 00:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, drakxtools.spec,
+ standalone/drakauth: add drakauth
+
+2003-08-02 00:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm, network/smb.pm: -
+ move write_smb_conf() from install_any to network::smb - rename
+ setAuthentication() to set_authentication() - move the work of
+ set_authentication() from install_any to any - move the
+ per-authentification kind questions from
+ install_steps_interactive::setRootPassword() to
+ any::ask_authentification_parameters() - various cleanup in code
+ prompting authentification questions - call
+ install_any::set_authentication() in
+ install_steps::setRootPassword() instead of waiting for the
+ installPackages step to be done (since setRootPassword occurs
+ *after* packages installation) - don't call
+ set_authentification() in install_steps::addUser() (why was
+ this done there??)
+
+ => these changes will allow drakauth
+
+2003-08-01 22:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm: use $::prefix
+
+2003-08-01 22:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: parse.pm, xfree3.pm, xfree4.pm, xfreeX.pm:
+ => do as Chris Picton suggested
+
+ Chris Picton said (nearly one year ago :-/) :
+
+ I have found the need for many low res screen resolutions for
+ such thingas as movie playing, xmame, etc.
+
+ The method XFdrake uses to enable modes is to enumerate each mode
+ in the XF86Config file. For example (a newly created file):
+
+ Subsection "Display" Depth 24 Modes "1280x960" "1152x864"
+ "1024x768" "800x600" "640x480" EndSubsection
+
+ It would be better (at least under XFree 4, which automatically
+ provides resoltions from the monitor, if it is capable), to not
+ limit the modes provided to the user
+
+ If I use instead, the following:
+
+ Subsection "Display" Depth 24 Virtual 1280 960
+ EndSubsection
+
+ My maximum mode is exactly the same as before, but I have many
+ more low resolution modes.
+
+2003-08-01 22:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: printer::printerdrake is not
+ perl_checker compliant, don't pretend it is!
+
+2003-08-01 22:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksec: perl_checker compliance
+
+2003-08-01 22:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: s/head -1/head -n 1/
+
+ (am i the only one who thinks changing head's usage is really
+ stupid? well...)
+
+2003-08-01 22:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: instead of removing the
+ "Search servers" button when the search is over, keep it to allow
+ searching for new servers (the label is changed from "Search
+ servers" to "Search new servers") (bug #4297)
+
+2003-08-01 22:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: don't warn when label is used
+ with no text for boot entries (i want titi's explaination on this
+ first)
+
+2003-08-01 22:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: replace signal_disconnect with
+ signal_handler_disconnect (needed for perl-gtk2-xs)
+
+2003-08-01 19:29 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add gnome calculator and charmap
+
+2003-08-01 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: Intel drivers don't need
+ DontVTSwitch anymore (dixit Arnaud de Lorbeau)
+
+2003-08-01 14:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2003-08-01 14:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Added locale->fonts-* dependencies
+
+2003-08-01 14:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added some more languages to the list;
+ defined kde fonts for some languages
+
+2003-08-01 12:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/pixmaps/langs/: lang-as.png, lang-gu.png,
+ lang-ku.png, lang-li.png, lang-ml.png, lang-mr.png, lang-ne.png,
+ lang-se.png, lang-sr@Latn.png, lang-ss.png, lang-st.png,
+ lang-te.png, lang-uz.png, lang-uz@Cyrl.png, lang-ve.png,
+ lang-xh.png, lang-zu.png: New/updated images with language names
+
+2003-08-01 10:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated po file
+
+2003-08-01 01:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2003-07-31 19:46 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: UI issues from cooker list.
+ Push help off to drakhelp.
+
+2003-07-31 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use "splash=silent" instead of
+ "quiet". kernel messages will still be written, but will be
+ hidden (can be seen if pressing F2 or escape at boot time)
+
+2003-07-31 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - drakxtools-newt must not require
+ perl(interactive::gtk) or perl(ugtk2) - only drakbackup require
+ perl(Net::FTP) & perl(Time::localtime), i don't want this require
+ for all drakxtools. What about moving drakbackup to a separate
+ package?
+
+2003-07-31 16:43 Fançois Pons
+
+ * perl-install/install_steps.pm: added redo of initrd files for oem
+ changes to take effects for bootsplash...
+
+2003-07-31 15:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2003-07-31 14:41 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed /usr/share/bootsplash
+ directory not created for images.
+
+2003-07-31 14:38 Fançois Pons
+
+ * perl-install/install_steps.pm: apply oem image modification to
+ bootsplash too.
+
+2003-07-31 10:59 Fançois Pons
+
+ * rescue/tree/etc/oem: make oem-all by default (obsoleted previous
+ oem)
+
+2003-07-30 19:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: perl_checker compliance
+
+2003-07-30 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - cleanup debug code - use read_gnomekderc &
+ update_gnomekderc instead of getVarsFromSh & substInFile
+
+2003-07-30 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2003-07-30 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, timezone.pm: -
+ cleanup - add pool.ntp.org (and make it the default) (cf bug
+ #4197)
+
+2003-07-30 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: Aurora doesn't exist anymore (and
+ it's been that way for quite a few time)
+
+2003-07-30 16:15 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: removed remaining code
+ of eval (eq nop).
+
+2003-07-30 15:59 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: remove eval around
+ choosePackagesTree as it display something even if it doesn't
+ run...
+
+2003-07-30 15:56 Fançois Pons
+
+ * perl-install/ugtk2.pm: intermediate commit to completely broken
+ ugtk2 for handling tree, in order for gc or pixel to fix this...
+
+2003-07-30 15:51 Fançois Pons
+
+ * perl-install/pkgs.pm: allow testing locally, should not avoid
+ pkgs to work in real place.
+
+2003-07-30 15:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix typo (thanks to
+ perl_checker)
+
+2003-07-30 15:30 Fançois Pons
+
+ * perl-install/interactive/gtk.pm: removed ugly code for scrollbars
+ as pixel has fixed it now.
+
+2003-07-30 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/ethernet.pm: cleanup (especially ensure
+ $interface is not something like "eth0 (using module ...)" but
+ only "eth0" (cf network/network.pm 1.130 nasty change)
+
+2003-07-30 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: revert to 1.129: it's no good
+ removing " (using module ...)" from {DEVICE} field, it's much
+ better not having it in the first place. See network/ethernet.pm
+ v1.81 for the real fix
+
+2003-07-30 13:18 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-07-30 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: - move from perl-GTK2 to perl-Gtk2
+ - fix an old weird typo
+
+2003-07-30 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: ensure "No details" is
+ displayed instead of "Details" when beginning a new package
+ installation round and "No details" was pressed in previous round
+
+2003-07-30 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow other=/dev/fd0 (bug #4405)
+
+2003-07-30 12:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, he.po, sq.po: updated Albanian,
+ Czech and Hebrew files
+
+2003-07-29 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: use formatError for the error message
+ occuring when auto_install.cfg is bad
+
+2003-07-29 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: labels are not able to correctly handle
+ long texts, so rollback to using TextView instead.
+
+ For information on this pb: - IHM team doesn't like TextView
+ because the text can be selected, and a contextual menu is
+ available - IHM team doesn't like the difference between small
+ text (using a Label) and longer text (using a TextView) - Label
+ can wrap automatically but not nicely (it doesn't use the full
+ width) - Label can't wrap CJK text which have no spaces
+
+ Apart from this Label vs TextView pb, Titi only left some code
+ which takes care of small text, causing the text to be wrapped
+ using warp_text (which is not proportional font aware) and not
+ using a scrolled window (causing the license to take more than
+ the screen, the buttons disappearing at the bottom of the screen)
+
+2003-07-29 16:14 Pixel <pixel at mandriva.com>
+
+ * docs/README: remove some really obsolete doc
+
+2003-07-29 16:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: there is no good url for
+ drakxtools, but at least don't give a broken one! (thanks to Raul
+ Dias)
+
+2003-07-29 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: re-export %fsedit::suggestions as needed
+ (why did titi my-ed it?) (fixes bug #4298)
+
+2003-07-29 15:16 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add vera font by default
+
+2003-07-29 14:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, sk.po, uz.po,
+ uz@Cyrl.po, wa.po, zh_CN.po: updated pot file
+
+2003-07-28 21:34 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-07-28 19:14 Fançois Pons
+
+ * rescue/list.ia64: moved xfs files (problably the same for ia64
+ ?).
+
+2003-07-28 19:13 Fançois Pons
+
+ * rescue/list.i386: moved xfs files.
+
+2003-07-28 19:13 Fançois Pons
+
+ * perl-install/share/list.i386: moved mkfs.xfs
+
+2003-07-28 15:27 Fançois Pons
+
+ * perl-install/interactive/gtk.pm: make sure the split of message
+ is done only in install mode, as standalone has no problem.
+
+2003-07-26 21:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, uk.po: updated Japanese and
+ Ukrainian files
+
+2003-07-26 15:49 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: small update
+ gi/perl-install/share/po/da.po
+
+2003-07-26 15:35 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: update! soft/menudrake/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-07-26 02:56 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: update
+ gi/perl-install/share/po/da.po
+
+2003-07-25 22:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: Updated Estonian file
+
+2003-07-25 19:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, uz@Cyrl.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2003-07-25 17:42 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/pixmaps/drakcluster.png: new icon, without
+ alpha-layer (unsupported under 9.0)
+
+2003-07-25 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.24mdk
+
+2003-07-25 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: work in progress (follow interface team
+ recommendation) : use checkboxes instead of ugly icon
+
+ inconsistent (aka semi-selected) state still need working
+
+ install caller must be fixed like rpmdrake is
+
+2003-07-25 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix crash on adding new
+ permission
+
+2003-07-25 11:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: use std button layout
+
+2003-07-25 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.24mdk: work in progress
+
+2003-07-25 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: use option menus instead of
+ combos in on interface team request
+
+2003-07-24 23:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove nonsense expert
+ button
+
+2003-07-24 23:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - (configure_lan) directly
+ use global variables - double click on ethernet lines run lan
+ config dialog
+
+2003-07-24 23:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2003-07-24 22:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: upcase label
+
+2003-07-24 22:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/mousedrake: use std button layout
+
+2003-07-24 22:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix #4258
+
+2003-07-24 22:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump perl-Gtk2 requires in order to
+ fix drakfont bug with utf8 file names
+
+2003-07-24 21:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Update
+
+2003-07-24 21:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.23mdk
+
+2003-07-24 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: since we've replace save
+ "button" by "ok", exit the tool after saving the preferences
+
+2003-07-24 21:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix tree filling
+
+2003-07-24 21:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - ugtk2-ize dialog construction
+ - fix tip setting
+
+2003-07-24 20:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: localize level option menu
+
+2003-07-24 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: one more typo (still fabrice)
+
+2003-07-24 19:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix (spoted by Fabrice Facorat)
+
+2003-07-24 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: better help
+
+2003-07-24 19:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: restore help for msec checks
+
+2003-07-24 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: draksec: requires a non broken msec
+
+2003-07-24 19:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/l10n.pm: describe
+
+2003-07-24 19:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: - filter dumb characters - strip
+ help from internal msec doc so that it better fit end user
+
+2003-07-24 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.22mdk
+
+2003-07-24 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: settings dialog: - localize all
+ fields - add tips for all check boxes
+
+2003-07-24 18:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: use stock icons on rule toolbar
+
+2003-07-24 18:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: make label be undserstandable
+
+2003-07-24 18:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: follow english case
+
+2003-07-24 18:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: upcase various widget texts
+ (still have to localize settings dialog fields though)
+
+2003-07-24 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: simplify (un|)sensitive
+ property setting of the list
+
+2003-07-24 18:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: use option menus instead of
+ combos in settings dialog too
+
+2003-07-24 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: use stock icons and std button
+ layout in settings dialog
+
+2003-07-24 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: use option menus instead of
+ combos
+
+2003-07-24 18:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: if the callee explicitely want
+ to force the user to pick sg from a fixed set of options, the
+ right widget to use is an OptionMenu rather than a Combo (see
+ ugtk2 r1.141 log and ugtk2::Gtk2::OptionMenu sub-module)
+
+2003-07-24 17:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: - use option menus instead
+ of combos - fix crash on profile change due to netconnect api
+ change
+
+2003-07-24 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: hide splash screen section for
+ now on ihm team request
+
+2003-07-24 16:27 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed ncompress (contrib)
+
+2003-07-23 22:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uz.po, uz@Cyrl.po: Added Uzbek cyrillic
+ file
+
+2003-07-23 21:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: fixed "arrows"
+
+2003-07-23 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log drakfont fixes
+
+2003-07-23 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix #1679 & #3673
+
+2003-07-23 17:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.21mdk
+
+2003-07-23 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: we do not need anymore
+ autologin (spec87)
+
+2003-07-23 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: new autologin scheme (spec87): directly
+ configure display manager
+
+2003-07-23 14:55 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - ru, de and it have no
+ specific drakxtools help packages. Default to english - retest
+ $$path to see if the page exists. - don't launch browser unless
+ help page exists.
+
+2003-07-23 02:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix catalog restore for
+ perl-Gtk2 Fix rsync behavior - broken in perl_checker fixes Fix
+ wildcard_to_tarfile
+
+2003-07-23 00:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: disable service start/stop too in
+ testing mode
+
+2003-07-23 00:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: do not install package in testing
+ mode
+
+2003-07-23 00:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.2-0.21mdk
+
+2003-07-22 23:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: no valid reason not to be able to
+ go back at first step
+
+2003-07-22 23:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix going backward in the wizard
+ at deepest stages
+
+2003-07-22 23:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: testing mode: enable to go some
+ steps further when testing this tool
+
+2003-07-22 23:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix back step
+
+2003-07-22 22:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: last but not least ...
+
+2003-07-22 22:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: more unfuzzy
+
+2003-07-22 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: unfuzzy...
+
+2003-07-22 21:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: more french translation
+
+2003-07-22 21:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: N_ON_E is of no use, NONE is
+
+2003-07-22 21:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: better phrasing
+
+2003-07-22 19:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: fix fpons sucks (as usuall as he
+ neither tests nor care about bug reports)
+
+2003-07-22 19:26 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-07-22 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.20mdk
+
+2003-07-22 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: simplify and order vertically
+ OptionMenus
+
+2003-07-22 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.20mdk
+
+2003-07-22 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix "lan config" dialog
+ where fields were not filled - factorize some code in order to
+ achieve it
+
+2003-07-22 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-07-22 15:34 Fançois Pons
+
+ * perl-install/interactive/gtk.pm: tempory fix for title not having
+ scroll bars (which sounds reasonable ?), as the size of the
+ window is fixed the low part of the window is not visible. titi
+ who makes the portage to newer Gtk2 has not tested this (again,
+ for info).
+
+2003-07-22 14:48 Fançois Pons
+
+ * perl-install/install_gtk.pm: fixed titi sucks (as usually as he
+ never tests nor checks what he is writing).
+
+2003-07-22 10:57 Fançois Pons
+
+ * perl-install/standalone.pm: avoid being clashed by signature
+ checking when installing packages, need a better fix later.
+
+2003-07-21 21:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-07-21 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.19mdk
+
+2003-07-21 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/diskdrake: provide some help access in
+ standalone mode
+
+2003-07-21 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: draksec, harddrake2: add hints for
+ translators
+
+2003-07-21 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: workaround buggy gtk+-2.x
+ that do not wrap textviews when realized
+
+2003-07-21 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: make 1st tab title somewhat
+ clearer
+
+2003-07-21 18:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix infamous "when embedded
+ draksec can be enlarged but never shrink back"
+
+2003-07-21 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: one should not be able to set
+ syadmin when no reports
+
+2003-07-21 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - describe all security levels -
+ make it clean than security admin is not a security level -
+ colorize security levels names - use a label instead of textview
+
+2003-07-21 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: mcc view: add an help button
+ (and ugtk2-ize main window buttons btw)
+
+2003-07-21 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: dhcp host name cannot be set if
+ one want to get it from dhcp server
+
+2003-07-21 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add a hint if we never
+ restore profiles feature
+
+2003-07-21 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not gratuitously waste
+ space
+
+2003-07-21 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: if we really want the type
+ connection to be translated by translate() call in step_2, we
+ should mark it as translatable for gettext somewhere ...
+
+2003-07-21 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix final success message: -
+ fix join usage - fix gtk frontend detection
+
+2003-07-21 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not loop if one refuse to
+ save changes, just skip the save step
+
+2003-07-21 18:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: keep user changes on back
+ step
+
+2003-07-21 18:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix no previous button when
+ using ask_okcancel() in wizard mode due to *very* ugly
+ "$common->{cancel} = '' if !defined wantarray();" in
+ interactive.pm
+
+ anyway, the whole pre_func() idea was totally dumb
+
+ it now looks a little cleaner
+
+ making all main configuration callbacks having the same prototype
+ and name would enable further cleanups (direct call to
+ network::$net_module{$type}::configure(...);)
+
+2003-07-21 16:52 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: avoid src package to be seen
+ in tree.
+
+2003-07-21 16:50 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed setSelectedFromCompssList (updated
+ with newer perl-URPM interface), more need to be done. maybe
+ increased speed of unselectAllPackages.
+
+2003-07-19 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix checks loading
+
+2003-07-19 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix checks setting
+
+2003-07-19 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.18mdk
+
+2003-07-19 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix config load
+
+2003-07-19 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: sort functions & checks when
+ writing configuration
+
+2003-07-18 23:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add bug ref
+
+2003-07-18 21:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: only catch real wrong callees
+
+2003-07-18 21:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: sync translation with stock
+ item
+
+2003-07-18 14:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first 9.2-0.17mdk bits
+
+2003-07-18 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: now that we display localized
+ descriptions instead of raw function names, we've to sort the
+ formers instead of sorting the laters
+
+2003-07-18 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix preferences loading & saving
+
+2003-07-18 13:59 Fançois Pons
+
+ * perl-install/Makefile: trying to follow the sucking of titi...
+ use perl-Gtk2 and perl-Glib files.
+
+2003-07-18 11:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: new binding returns a list intead of an
+ array ref
+
+2003-07-18 11:17 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/pixmaps/drakcluster.png: new drakcluster icon from
+ LN
+
+2003-07-17 23:10 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-07-17 22:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one more bit for 0.16mdk
+
+2003-07-17 22:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: do not exit the whole app when one destroy
+ a dialog
+
+2003-07-17 21:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.16mdk
+
+2003-07-17 21:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (_create_dialog) default is "as much as
+ needed" size
+
+2003-07-17 21:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: adjust dialogs size
+
+2003-07-17 20:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: perl_checker fix
+
+2003-07-17 20:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: correctly align fields in
+ "lan configuration" dialog
+
+2003-07-17 20:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakconnect: perl_checker
+ fixes
+
+2003-07-17 20:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: simplify with gtkshow()
+
+2003-07-17 20:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakconnect: center_always is
+ unuser-friendly
+
+2003-07-17 19:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - ihm team said: always use labels,
+ textview are stupid nonsenses - fcrozat then said: labels have no
+ wrapping problems with cjk and the like
+
+2003-07-17 19:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: proxy configuration step: do
+ not go back two steps back on "previous" click, but only one back
+
+2003-07-17 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: properly use checkboxes
+
+2003-07-17 19:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: use stock items in wizards
+
+2003-07-17 18:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: intercept buggy callees/users of
+ bool type that wrongly pass label instead of text
+
+2003-07-17 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix usage of bool type in
+ interactive: put the text in the checkbox's label instead of
+ packing a standalone label *and* a checkbox with an empty label
+
+2003-07-17 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix internet gateway buttons
+ layout
+
+2003-07-17 16:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: remove ugly icon
+
+2003-07-17 15:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: frop gtk+1 requires
+
+2003-07-16 15:46 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/fsedit.pm: now swap is before / on client node
+
+2003-07-16 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, commands.pm, swap.pm: remove mkswap from
+ commands.pm, so no need anymore to have mkswap_ (the drawback is
+ that the mkswap command won't create the device anymore)
+
+2003-07-16 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker fix
+
+2003-07-15 20:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: last 9.2-0.15mdk's bits
+
+2003-07-15 20:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: fix ask_okcancel due to stock items
+ changes
+
+2003-07-15 20:06 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Update
+
+2003-07-15 19:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix button layout
+
+2003-07-15 19:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix help/close layout
+
+2003-07-15 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: use stock icon in xfdrake too
+
+2003-07-15 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.15mdk
+
+2003-07-15 19:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: quick hack to enable
+ printerdrake to run
+
+2003-07-15 18:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more 9.2-0.15mdk bits
+
+2003-07-15 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - grey theme config instead of
+ hiding it - use option menus instead of combos - describe user
+ and desktop lists
+
+2003-07-15 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: ensure we got a valied email in
+ "email alert"
+
+2003-07-15 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (warn_dialog, err_dialog) fix passing
+ dialog options to create_dialog() when they get no options
+
+2003-07-15 17:00 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/pixmaps/drakcluster.png: add drakcluster icon
+
+2003-07-15 16:59 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/steps.pm: change icon for drakcluster
+
+2003-07-15 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: some 9.2-0.15mdk bits
+
+2003-07-15 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - use option menus rather
+ than non editable combo - grey remove button if no module to
+ remove in modules list - perl-Gt2-0.26.cvs.2003.07.10.1-3mdk has
+ just fixed the impossible to remove the hackish empty line
+ needed to get "expand on the fly" ability
+
+2003-07-15 13:31 Antoine Ginies <aginies at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: adjust configuration
+ of classical server cluster, and remove annoying entries
+
+2003-07-15 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - (new_wrapped_label)wrap labels
+ if needed when embedded - (new_editable_combo) it had always
+ forbid edition, which is now enforced by using OptionMenus, so
+ let rename it new_nonedit_combo()
+
+2003-07-15 01:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: More perl-gtk2 fixes
+
+2003-07-14 23:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-07-14 21:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.14mdk
+
+2003-07-14 21:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/l10n.pm, standalone/draksec: translate
+ default values qw(yes no all ignore ...) and provide english
+ (l10n-able) descriptions instead of function names
+
+2003-07-14 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix logdrake crash when called
+ from net_monitor
+
+2003-07-14 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: gtk+2 port
+
+2003-07-14 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: let video mode list be availlable
+ when working with cvs files and not stripped files from drakxtool
+
+2003-07-14 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: fix /etc/lilo.conf generation when
+ reading grub config by setting valid boot= parameter
+
+2003-07-14 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: use new stock dialogs
+
+2003-07-14 21:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - (create_dialog) o add the stock option
+ in order to be able to use a stock icon o add a new "small"
+ option to net make dialogs too big - (err_dialog, warn_dialog)
+ new wrappers upon create_dialog to use warning and error stock
+ icons - add a new export tag for dialogs
+
+2003-07-14 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (destroy_window) kill it since it is no
+ more used for quite some time
+
+2003-07-14 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, draksec: use new
+ Gtk2::OptionMenu compatibility layer to get better designed GUIes
+
+2003-07-14 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: for more GUIes coherency, GtkOptionMenu is
+ recommended instead of a combo if the user is selecting from a
+ fixed set of options.
+
+ since both GtkCombo and GtkOptionMenu will be deprecated in 2.4.x
+ in favor of much better designed widget (see libegg's combo), we
+ introduce a compatibility layer that makes OptionMenu looks like
+ Combo at API level to minimize changes: - now, when using
+ OptionMenu instead of Combo - when new widget will come to live
+ in gtk+-2.4.x
+
+2003-07-14 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakboot,
+ standalone/drakconnect, standalone/draksec: sanitize button
+ layouts: - use stock items everywhere - use ButtonBoxes
+ everywhere - pack buttons always in the same order and places
+
+2003-07-14 21:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm,
+ interactive/http.pm, interactive/newt.pm, interactive/stdio.pm:
+ let interactive uses stock items on x11 and old drak translated
+ items in other backends
+
+2003-07-14 21:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: renew drakconnect GUI:
+
+ - make sub windows be modal 'n trancient dialogs - use std layout
+ and stock items for buttons in main window and dialogs - fix
+ "Internet connection configuration" dialog - (new_dialog) reuse
+ ugtk2::_create_dialog (shared with half a dozen other tools -
+ fix layout of main window: o pack together expert mode toggle
+ and wizard button o merge wizard label and button o make a
+ checkbox out of the ugly expert <-> normal button
+
+2003-07-14 21:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: renew drakfloppy GUI:
+
+ - (build_it) : fix old brown paper bug that just pass undef
+ modules to mkinitrd - window with expert options is too big
+ when embedded => move expert options into a sub dialog; we've
+ to save and restore options on dialog creation/ desctruction -
+ when removing a module from selection, enable to pick it again
+ after - make expert <->normal button a checkbox - use std layout
+ for buttons - use stock items
+
+2003-07-14 21:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: split create_dialog() into create_dialog()
+ wrapper and _create_dialog() backend, thus enabling to kill
+ drakconnect::new_dialog and to share code with drakfloppy and
+ others
+
+2003-07-14 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: support new 2.5.x kernels'
+ kbuild
+
+2003-07-14 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix create_dialog() usage
+ (who ever has changed its API should have altered its callers)
+
+2003-07-14 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix module browsing after
+ gtk2-perl-xs switch
+
+2003-07-14 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix warning on menu building
+
+2003-07-14 19:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Rework for new perl-Gtk2.
+
+2003-07-14 13:13 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-07-13 20:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, he.po: updated Catalan and Hebrew
+ files
+
+2003-07-12 12:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: any.pm, help.pm, install_steps_interactive.pm,
+ share/po/DrakX.pot, share/po/af.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po, share/po/lv.po,
+ share/po/mt.po, share/po/nb.po, share/po/nl.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sq.po,
+ share/po/sr.po, share/po/sr@Latn.po, share/po/sv.po,
+ share/po/ta.po, share/po/tg.po, share/po/th.po, share/po/tr.po,
+ share/po/uk.po, share/po/uz.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: changed "Country" . " /
+ Region" to "Country / Region" and fixed Chinese po's
+
+2003-07-11 16:31 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/fsedit.pm: Removing /var on nodes, bigger /
+
+2003-07-10 21:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.13mdk
+
+2003-07-10 21:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix warnings due to new
+ gtk2-perl binding following the same naming as C
+
+2003-07-10 20:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: disable column sorting since it
+ makes gtk+2 crash when moving up a column
+
+2003-07-10 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: output buffer should not be
+ editable
+
+2003-07-10 19:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-07-10 19:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: use stock item for cancelling
+ the app
+
+2003-07-10 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more bits for 9.2-0.12mdk
+
+2003-07-10 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix crash on cancel exit
+
+2003-07-10 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: typo fix
+
+2003-07-10 17:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.12mdk
+
+2003-07-10 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: use stock items in main window
+
+2003-07-10 17:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: use stock icon for close button
+ (noticed by Fabrice Facorat)
+
+2003-07-10 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: grey instead of hide stuff
+ in normal mode (more user friendly)
+
+2003-07-10 16:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix entry filling
+
+2003-07-10 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - grey instead of hide stuff
+ in normal mode (more user friendly) - do not crash when no
+ iterator when expanding tree
+
+2003-07-10 16:25 Fançois Pons
+
+ * perl-install/swap.pm: fixed mkswap original commands call.
+
+2003-07-10 16:24 Fançois Pons
+
+ * perl-install/Makefile: make sure original mkswap is still living.
+
+2003-07-10 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm: - symbolic keys are
+ back - do not name "use once" variables
+
+2003-07-10 14:57 Fançois Pons
+
+ * rescue/tree/etc/rc.sysinit: make oem defaults to /etc/oem-all
+
+2003-07-10 14:49 Fançois Pons
+
+ * rescue/tree/etc/oem-all: incremented installation partition to
+ 5Go in order to store a full DVD.
+
+2003-07-10 02:48 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Clean up help. Add email
+ explanation. Start to implement .backupignore.
+
+2003-07-10 01:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Beginnings of "search for
+ file to restore". Not functional yet. Just want it in before
+ everything get's changed on me.
+
+2003-07-09 22:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.11mdk
+
+2003-07-09 22:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: move toggle_expansion helper in the right
+ namespace
+
+2003-07-09 21:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: add Gtk2::TreeView->toggle_expansion
+ helper for rpmdrake
+
+2003-07-09 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: get rid of equals
+
+2003-07-09 21:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix row filling
+
+2003-07-09 19:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: use new
+ gtk2::entry->new_with_text to complete the port to gtk2-perl-xs
+
+2003-07-09 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix gtk2::entry->new_with_text
+
+2003-07-09 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/logdrake: remove debugging
+ trace
+
+2003-07-09 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: typo fix
+
+2003-07-09 18:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: help stupid perl_checker in
+ being able to parse horrible draksplash despite perl -cw was
+ happy on it
+
+2003-07-09 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, install_gtk.pm,
+ install_steps_gtk.pm, mouse.pm, services.pm, ugtk2.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/test.pm,
+ diskdrake/hd_gtk.pm, diskdrake/smbnfs_gtk.pm, interactive/gtk.pm,
+ interactive/newt.pm, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakboot, standalone/drakbug, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakperm,
+ standalone/harddrake2, standalone/logdrake,
+ standalone/mousedrake: switch from gtk2-perl to gtk2-perl-xs
+
+2003-07-09 16:54 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: some more pci id's from
+ pcmcia-cs-3.2.4
+
+2003-07-09 16:50 Guillaume Cottenceau
+
+ * kernel/list_modules.pm: i82092 is also a controller driver
+
+2003-07-09 16:41 Fançois Pons
+
+ * rescue/tree/etc/oem-all: added tiny fixes for Mandrake 9.1 oem
+ mode (need mandrake-release file) gets root of installation as
+ 9Gb so that no problem should occurs.
+
+2003-07-09 14:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nb.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2003-07-09 11:34 Fançois Pons
+
+ * rescue/tree/etc/oem-all: deactivate HP specific entries.
+
+2003-07-08 07:18 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: install netprofile on laptops
+
+2003-07-07 22:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix stock items usage
+
+2003-07-07 18:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: use stock items in logdrake too
+
+2003-07-07 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: Gtk2::CheckButton does not
+ support stock item (gc)
+
+2003-07-06 23:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: use stock items for menu too
+
+2003-07-06 20:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: further bits
+
+2003-07-06 20:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.9mdk
+
+2003-07-06 20:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakconnect, drakfloppy, drakperm: let
+ columns be sortable (lmontel request)
+
+2003-07-06 19:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, services.pm, ugtk2.pm,
+ diskdrake/hd_gtk.pm, interactive/gtk.pm, standalone/drakbug,
+ standalone/drakgw, standalone/drakperm, standalone/harddrake2,
+ standalone/mousedrake: increase gui coherency of drakxtools vs
+ other gtk+ apps: use stock icons
+
+2003-07-05 19:48 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-07-05 19:38 Dam's
+
+ * perl-install/network/isdn.pm: isdn : virtual interface ippp0 is
+ started at boot.
+
+2003-07-04 00:56 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Honor user defined limits for
+ backup disk consumption. Log last backup. Enable view of last
+ backup log. Fix base_sys_list. Fix GUI crash on restore. (Keld
+ Jørn Simonsen/Cooker list)
+
+2003-07-03 12:13 Guillaume Cottenceau
+
+ * kernel/modules.pl: allow hd.img to build again..
+
+2003-07-03 03:20 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Show units for hard-drive
+ allocation. Add "View Configuration" 1st screen.
+
+2003-07-02 11:08 Guillaume Cottenceau
+
+ * perl-install/keyboard.pm: looks like a pablo's typo
+
+2003-07-02 00:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ro.po: converted to utf-8
+
+2003-07-01 23:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added spaces to make perl_checker happy
+
+2003-07-01 22:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: iAdded
+ various new keyboard layouts
+
+2003-07-01 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) add use_markup in order to
+ hint the usage of pango attributes
+
+2003-07-01 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: colorize help
+
+2003-07-01 10:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker fix
+
+2003-07-01 09:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.8mdk
+
+2003-07-01 08:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix testing mode
+
+2003-07-01 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: fix card tree display
+
+2003-07-01 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix one translation (ie
+ factorize it out)
+
+2003-07-01 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: let harddrake gui fit better
+ when embedded
+
+2003-06-30 00:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2003-06-29 00:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: iso code -> kde-i18n-* code for Sotho (st
+ -> nso) and Venda (ve -> ven)
+
+2003-06-28 22:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, sq.po: Updated Catalan and
+ Albanian files
+
+2003-06-28 17:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nb.po, no.po: Moved Bokmaal file to nb.po
+
+2003-06-28 16:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2003-06-27 18:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-06-27 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/br.po, share/po/bs.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fi.po, share/po/fr.po, share/po/ga.po,
+ share/po/gl.po, share/po/he.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mt.po,
+ share/po/nl.po, share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: Fixed typos; updated
+ Ukrainian po file
+
+2003-06-27 13:42 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: calling Gtk2->set_locale at each ugtk2
+ object creation should be unneeded (Gtk2->init initializes
+ internationalization stuff of Gtk2), and it breaks my setlocale
+ call in rpmdrake
+
+2003-06-27 08:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2003-06-26 03:12 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Local client hardware
+ configuration via drak tools.
+
+2003-06-25 13:50 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix GUI in embedded mode -
+ [Bug 4111] - note translate strings changed.
+
+2003-06-24 21:44 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: GUI elements for local
+ client hardware config. Update strings for translators.
+
+2003-06-24 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.7mdk
+
+2003-06-24 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: fix crash on service restart
+
+2003-06-24 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: prevent drakfont from crashing
+ when trying to deleting an empty list
+
+2003-06-24 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (grub2dev)
+
+ - remove dead code - enhance comment
+
+2003-06-24 12:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/devices.pm: (from_devfs)
+
+ - handle read_proc_partitions_raw() / find() faillures - return
+ undef when we failled to find out real device
+
+2003-06-24 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: (read_grub) increase readibility
+
+2003-06-24 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.6mdk
+
+2003-06-24 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: try to fix #3695 : read grub config
+ file when current bootloader is grub
+
+ - make read() a wrapper above read_grub() and read_lilo() (the
+ later being quite identical to older read())
+
+ - introduce 3 new functions: * grub2dev() in order to guess
+ linux device from grub one * ungrubify() in order to replace
+ grub devices in file paths by proper linux mount points *
+ read_grub() in order to parse /boot/grub/menu.lst and create
+ proper bootloader data structure for setup
+
+2003-06-24 10:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: devices.pm, fsedit.pm: - move
+ read_proc_partitions_raw() from fsedit.pm to devices.pm -
+ (devices::from_devfs, devices::from_devfs) handle block devices
+ too, with read_proc_partitions_raw() helper
+
+2003-06-24 10:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, fsedit.pm: fix pixel vs strict
+ pragam
+
+2003-06-24 10:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: make log message arch independant
+
+2003-06-24 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/fs.pm: remember to update mount options description
+ on util-linux update
+
+2003-06-23 21:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated Albanian file
+
+2003-06-22 23:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-06-22 16:43 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates - not comleted
+ soft/GtkMdkWidgets/po/da.po soft/rpmdrake/po/da.po
+ soft/urpmi/po/da.po gi/perl-install/share/po/da.po
+
+2003-06-19 13:08 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: removing more big drivers from stage1
+
+2003-06-19 12:14 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/setup_network.sh: Fixing crappy output during ka
+ duplication
+
+2003-06-19 12:12 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img: Fixing isolinux colors
+
+2003-06-19 00:49 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translation
+
+2003-06-18 14:00 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: create_box_with_title: chinese langs also
+ need to always use GtkTextView because GtkLabel won't wrap
+ automatically (fixes problems displaying help non-wrapped in the
+ install, #3670)
+
+2003-06-18 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: swap.pm, share/list: use the mkswap command =>
+ simpler code and mkswap is not big => rely on mkswap for choosing
+ the swap version (note that kernel 2.5 doesn't handle v0 swap
+ anymore)
+
+2003-06-18 12:33 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/stage1-data/stage1-with-kadeployx86_64.tar.bz2:
+ removing unnecessary file
+
+2003-06-17 21:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, et.po: updated Arabic and Estonian
+ files
+
+2003-06-17 16:39 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: adjusting modules.pl for ka
+
+2003-06-17 16:39 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img: fixing x86_64 for ka
+
+2003-06-17 15:27 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: removing old school drivers from stage1
+
+2003-06-17 15:18 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/stage1-data/stage1-with-kadeployx86_64.tar.bz2: new
+ stage1 for ka (opteron)
+
+2003-06-17 15:17 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img: Fixing make_boot_img for x86_64 (ka stage)
+
+2003-06-17 14:54 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/gen_modules_conf.pl: removing autogenerated file
+
+2003-06-17 14:52 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: removing old school drivers from stage1
+
+2003-06-17 10:15 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: fixing missing tg3 for x86,
+ bcm5820 for all
+
+2003-06-17 08:34 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/install.sh: Removing remaining dchp cache for KA
+
+2003-06-16 17:40 Erwan Velu <erwan at mandriva.com>
+
+ * Makefile: Enabling ka generation in Makefile for x86_64
+
+2003-06-16 17:39 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img: enabling ka-mode in x86_64
+
+2003-06-16 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2003-06-16 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: allow encrypted partitions in
+ auto_install (with encrypt_key non encrypted!)
+
+2003-06-16 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2003-06-16 10:59 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Drakcluster only in
+ export mode
+
+2003-06-16 10:59 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/steps.pm: Disabling drakcluster in beginner mode
+
+2003-06-13 16:42 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: MDKC logo
+
+2003-06-13 16:42 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/Makefile.config: Adding drakcluster
+
+2003-06-13 16:41 Erwan Velu <erwan at mandriva.com>
+
+ * isolinux-graphic.bmp: New isolinux-graphic MDKC version
+
+2003-06-13 12:25 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/gen_modules_conf.pl: Removing old school scsi
+ drivers
+
+2003-06-13 12:24 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Using understandable
+ method : Expert -> Cluster server : Recommanded -> Cluster Node
+
+2003-06-13 12:24 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/fsedit.pm: Changing clic to mdkc
+
+2003-06-13 12:23 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/list_modules.pm: Removing old school scsi drivers (need
+ more places)
+
+2003-06-13 11:31 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/stage1-data/stage1-with-kadeploy.tar.bz2: Adding ka
+ stage1
+
+2003-06-13 10:54 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: pcmcia_/Makefile, ppp/include/net/ppp_defs.h,
+ ppp/pppd/Makefile, rp-pppoe/src/Makefile: cleaner adaptation to
+ dietlibc from main gi branch
+
+2003-06-13 10:53 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: network.c, url.c: small fixes in KA special code
+
+2003-06-13 09:37 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: forgot some debug print lines
+
+2003-06-12 22:55 Guillaume Cottenceau
+
+ * perl-install/: install_steps_gtk.pm, ugtk2.pm,
+ share/advertising/01-thanks.pl,
+ share/advertising/02-community.pl,
+ share/advertising/03-software.pl,
+ share/advertising/04-configuration.pl,
+ share/advertising/05-desktop.pl,
+ share/advertising/06-development.pl,
+ share/advertising/07-server.pl, share/advertising/08-store.pl,
+ share/advertising/09-mdksecure.pl,
+ share/advertising/10-security.pl, share/advertising/11-mnf.pl,
+ share/advertising/12-mdkexpert.pl,
+ share/advertising/13-mdkexpert_corporate.pl, share/po/ja.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: change a bit how strings
+ are passed to advertising system so that we don't specify
+ absolute x,y positions for each paragraph, ending with
+ overwritten text in some localizations
+
+2003-06-12 18:59 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: - miscellaneous_choose() no
+ longer use uneeded b_clicked - drop $::Expert - perl_checker fix
+
+2003-06-12 18:58 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakproxy: fix too many parameters in
+ miscellaneous_choose call
+
+2003-06-12 18:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: - drop $::Expert - drop
+ $netc->{ZEROCONF_HOSTNAME}, only need regexp
+
+2003-06-12 17:38 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: read the default network
+ configuration
+
+2003-06-12 17:30 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: - drop $::Expert - simplify
+ code
+
+2003-06-12 16:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: really add the configureCluster
+ step
+
+2003-06-12 16:14 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: get_text_coord: fix heights handling: use
+ real height of each line rather than default height from font
+ info (which is bugged in japanese)
+
+2003-06-12 16:10 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, docs/README, kernel/Makefile,
+ kernel/check_mar.pl, kernel/list_modules.pm, kernel/modules.pl,
+ kernel/update_kernel, mdk-stage1/Makefile,
+ mdk-stage1/Makefile.common, mdk-stage1/dhcp.c, mdk-stage1/disk.c,
+ mdk-stage1/dns.c, mdk-stage1/frontend.h,
+ mdk-stage1/init-libc-headers.h, mdk-stage1/init.c,
+ mdk-stage1/log.c, mdk-stage1/minilibc.c, mdk-stage1/minilibc.h,
+ mdk-stage1/rescue-gui.c, mdk-stage1/stage1.h,
+ mdk-stage1/stdio-frontend.c, mdk-stage1/tools.c,
+ mdk-stage1/bzlib/Makefile, mdk-stage1/insmod-busybox/Config.h,
+ mdk-stage1/insmod-busybox/Makefile,
+ mdk-stage1/insmod-busybox/busybox.h,
+ mdk-stage1/insmod-busybox/insmod.c,
+ mdk-stage1/insmod-modutils/Makefile,
+ mdk-stage1/insmod-modutils/insmod.c,
+ mdk-stage1/insmod-modutils/include/config.h,
+ mdk-stage1/insmod-modutils/include/elf_alpha.h,
+ mdk-stage1/insmod-modutils/include/elf_arm.h,
+ mdk-stage1/insmod-modutils/include/elf_i386.h,
+ mdk-stage1/insmod-modutils/include/elf_m68k.h,
+ mdk-stage1/insmod-modutils/include/elf_mips.h,
+ mdk-stage1/insmod-modutils/include/elf_ppc.h,
+ mdk-stage1/insmod-modutils/include/elf_s390.h,
+ mdk-stage1/insmod-modutils/include/elf_sparc.h,
+ mdk-stage1/insmod-modutils/include/elf_sparc64.h,
+ mdk-stage1/insmod-modutils/include/elf_x86_64.h,
+ mdk-stage1/insmod-modutils/include/kallsyms.h,
+ mdk-stage1/insmod-modutils/include/kerneld.h,
+ mdk-stage1/insmod-modutils/include/module.h,
+ mdk-stage1/insmod-modutils/include/obj.h,
+ mdk-stage1/insmod-modutils/include/util.h,
+ mdk-stage1/insmod-modutils/include/version.h,
+ mdk-stage1/insmod-modutils/obj/Makefile,
+ mdk-stage1/insmod-modutils/obj/obj_alpha.c,
+ mdk-stage1/insmod-modutils/obj/obj_arm.c,
+ mdk-stage1/insmod-modutils/obj/obj_common.c,
+ mdk-stage1/insmod-modutils/obj/obj_gpl_license.c,
+ mdk-stage1/insmod-modutils/obj/obj_hppa.c,
+ mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
+ mdk-stage1/insmod-modutils/obj/obj_i386.c,
+ mdk-stage1/insmod-modutils/obj/obj_ia64.c,
+ mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
+ mdk-stage1/insmod-modutils/obj/obj_load.c,
+ mdk-stage1/insmod-modutils/obj/obj_m68k.c,
+ mdk-stage1/insmod-modutils/obj/obj_mips.c,
+ mdk-stage1/insmod-modutils/obj/obj_ppc.c,
+ mdk-stage1/insmod-modutils/obj/obj_reloc.c,
+ mdk-stage1/insmod-modutils/obj/obj_s390.c,
+ mdk-stage1/insmod-modutils/obj/obj_sparc.c,
+ mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
+ mdk-stage1/insmod-modutils/obj/obj_x86_64.c,
+ mdk-stage1/insmod-modutils/util/Makefile,
+ mdk-stage1/insmod-modutils/util/alias.h,
+ mdk-stage1/insmod-modutils/util/arch64.c,
+ mdk-stage1/insmod-modutils/util/config.c,
+ mdk-stage1/insmod-modutils/util/logger.c,
+ mdk-stage1/insmod-modutils/util/snap_shot.c,
+ mdk-stage1/insmod-modutils/util/sys_cm.c,
+ mdk-stage1/insmod-modutils/util/sys_dm.c,
+ mdk-stage1/insmod-modutils/util/sys_gks.c,
+ mdk-stage1/insmod-modutils/util/sys_nim.c,
+ mdk-stage1/insmod-modutils/util/sys_oim.c,
+ mdk-stage1/insmod-modutils/util/sys_qm.c,
+ mdk-stage1/insmod-modutils/util/xmalloc.c,
+ mdk-stage1/insmod-modutils/util/xrealloc.c,
+ mdk-stage1/insmod-modutils/util/xstrcat.c,
+ mdk-stage1/insmod-modutils/util/xstrdup.c,
+ mdk-stage1/insmod-modutils/util/xsystem.c,
+ mdk-stage1/mar/Makefile, mdk-stage1/newt/Makefile,
+ mdk-stage1/newt/form.c, mdk-stage1/slang/Makefile,
+ perl-install/Makefile, perl-install/any.pm,
+ perl-install/bootloader.pm, perl-install/detect_devices.pm,
+ perl-install/drakxtools.spec, perl-install/fs.pm,
+ perl-install/fsedit.pm, perl-install/install_any.pm,
+ perl-install/install_gtk.pm, perl-install/install_steps.pm,
+ perl-install/install_steps_gtk.pm,
+ perl-install/partition_table.pm, perl-install/printerdrake.pm,
+ perl-install/proxy.pm, perl-install/steps.pm,
+ perl-install/Xconfig/card.pm, perl-install/c/smp.c,
+ perl-install/harddrake/data.pm, perl-install/share/list,
+ perl-install/share/list.ia64, perl-install/share/list.x86_64,
+ perl-install/standalone/drakboot, rescue/list, rescue/list.ia64,
+ rescue/list.x86_64, tools/Makefile: merge with x86_64-branch
+
+2003-06-11 22:23 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: get_text_coord: fix wrapping broken (gc
+ sux)
+
+2003-06-11 21:07 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: revert fpons' strange 1.345's
+ commit
+
+2003-06-11 20:04 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/setup_network.sh: Fixing typo
+
+2003-06-11 20:04 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/install.sh: Fixing mkreiserfs call
+
+2003-06-11 20:04 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/gen_modules_conf.pl: Updating modules; removing
+ used, adding usual (mpt)
+
+2003-06-11 20:03 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/list.i386: Using good mkreiserfs instead of mkfs.reiserfs
+
+2003-06-11 20:00 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img: patching for ka support
+
+2003-06-11 19:56 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/compss: CLIC comps
+
+2003-06-11 19:54 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: CLIC's logo
+
+2003-06-11 19:53 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/rpmsrate: Clic's rpmrate
+
+2003-06-11 19:52 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/share/compssUsers: CLIC's compuser
+
+2003-06-11 19:49 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/steps.pm: Changing steps order for clic
+
+2003-06-11 19:49 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/fsedit.pm: Adding custom partitioning for clic
+
+2003-06-11 19:44 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: -
+ s/interactive_gtk/interactive::gtk/ to get sub pre_func usable -
+ drop write_on_pixmap way
+
+2003-06-11 19:01 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: choosePackagesTree: display
+ the "watch" mouse cursor when doing slow operations; display blue
+ text for rpm tags of package descriptions
+
+2003-06-11 18:35 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: change ask_browse_tree_info_given_widgets
+ and ask_browse_tree_info API's so that widgets can be reachable
+ from ask_browse_tree_info clients (install_steps_gtk.pm)
+
+2003-06-11 18:30 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/dhcp.c: Fixing "dhcp filename bug" Increasing
+ MAX_ARP_RETRY for slow switches
+
+2003-06-11 18:21 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed otherOnly not taken into account for
+ unselectPackage.
+
+2003-06-11 18:12 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/gen_modules_conf.pl.pl: script that create a module list
+ for rescue
+
+2003-06-11 18:12 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/gen_modules_conf.pl.pl: removing wrong file
+
+2003-06-11 18:08 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: bug fixed in upstream gtk2
+
+2003-06-11 18:00 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/list_modules.pm: Removing used modules, adding mpt needed
+ by ia64 & opteron
+
+2003-06-11 17:55 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: ask_browse_tree_info: set_rules_hint(1)
+
+2003-06-09 23:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: More GUI quirks from GTK2
+ port. Ensure pcimap from etherboot created for dhcpd server.
+
+2003-06-09 18:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Translation fixes (thx, gc,
+ pixel). Another GUI crash fix.
+
+2003-06-06 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-sh.png: re-adding with -kb
+
+2003-06-06 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/langs/lang-sh.png: removing for re-adding
+ with -kb
+
+2003-06-06 18:27 Guillaume Cottenceau
+
+ * mdk-stage1/mar/Makefile: fix dep of "make clean && make"
+
+2003-06-06 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: perl_checker compliance
+
+2003-06-06 17:10 Guillaume Cottenceau
+
+ * perl-install/share/logo-mandrake.png: cooker
+
+2003-06-06 17:01 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: we're in cooker now
+
+2003-06-06 15:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: "Country" -> "Country" . " / Region" in a
+ few places still missing that change
+
+2003-06-06 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: stricter regexp when looking /dev/xxx
+ otherwise it is used also for nfs names and causes havoc
+
+2003-06-06 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: - handle spaces in exported
+ directories - simplify using --no-headers when calling showmount
+
+2003-06-06 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: fileshareset doesn't use
+ MDK::Common
+
+2003-06-06 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix computeSize which took into account
+ suggested partitions on another drives (which is especially bad
+ for LVMs)
+
+2003-06-06 12:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: don't use N() so early (beware, this
+ removes translation, some translate() calls must be added!)
+
+2003-06-06 12:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, ugtk2.pm: ensure N() is not called
+ before ugtk2 is initialised, otherwise the gettext is not forced
+ to utf8
+
+2003-06-06 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix typos + perl_checker
+ fixes
+
+2003-06-05 23:51 Guillaume Cottenceau
+
+ * perl-install/Makefile: fix install crashed X server because
+ /usr/bin/true was no more available :/
+
+2003-06-05 17:58 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/Makefile.common: fix build with new gcc
+
+2003-06-05 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: support more tuners and tv cards
+
+2003-06-05 16:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Bug 3647 - Chinese
+ translations. More perl_checker fixes.
+
+2003-06-05 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: make perl_checker a happy bot
+
+2003-06-05 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: don't use description of fstab options from
+ manpage mount(8), inline them in the source
+
+2003-06-04 20:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/stdio-frontend.c: typo from post-rereading
+
+2003-06-04 20:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common, disk.c, dns.c,
+ frontend.h, init-libc-headers.h, init.c, log.c, minilibc.c,
+ minilibc.h, rescue-gui.c, stdio-frontend.c, bzlib/Makefile,
+ insmod-busybox/Makefile, insmod-busybox/insmod.c,
+ insmod-modutils/Makefile, insmod-modutils/insmod.c,
+ insmod-modutils/include/config.h,
+ insmod-modutils/include/elf_alpha.h,
+ insmod-modutils/include/elf_arm.h,
+ insmod-modutils/include/elf_i386.h,
+ insmod-modutils/include/elf_m68k.h,
+ insmod-modutils/include/elf_mips.h,
+ insmod-modutils/include/elf_ppc.h,
+ insmod-modutils/include/elf_s390.h,
+ insmod-modutils/include/elf_sparc.h,
+ insmod-modutils/include/elf_sparc64.h,
+ insmod-modutils/include/kallsyms.h,
+ insmod-modutils/include/kerneld.h,
+ insmod-modutils/include/module.h, insmod-modutils/include/obj.h,
+ insmod-modutils/include/util.h,
+ insmod-modutils/include/version.h, insmod-modutils/obj/Makefile,
+ insmod-modutils/obj/obj_alpha.c, insmod-modutils/obj/obj_arm.c,
+ insmod-modutils/obj/obj_common.c, insmod-modutils/obj/obj_hppa.c,
+ insmod-modutils/obj/obj_hppa64.c, insmod-modutils/obj/obj_i386.c,
+ insmod-modutils/obj/obj_ia64.c,
+ insmod-modutils/obj/obj_kallsyms.c,
+ insmod-modutils/obj/obj_load.c, insmod-modutils/obj/obj_m68k.c,
+ insmod-modutils/obj/obj_mips.c, insmod-modutils/obj/obj_ppc.c,
+ insmod-modutils/obj/obj_reloc.c, insmod-modutils/obj/obj_s390.c,
+ insmod-modutils/obj/obj_sparc.c,
+ insmod-modutils/obj/obj_sparc64.c, insmod-modutils/util/Makefile,
+ insmod-modutils/util/alias.h, insmod-modutils/util/arch64.c,
+ insmod-modutils/util/config.c, insmod-modutils/util/logger.c,
+ insmod-modutils/util/snap_shot.c, insmod-modutils/util/sys_cm.c,
+ insmod-modutils/util/sys_dm.c, insmod-modutils/util/sys_gks.c,
+ insmod-modutils/util/sys_nim.c, insmod-modutils/util/sys_oim.c,
+ insmod-modutils/util/sys_qm.c, insmod-modutils/util/xmalloc.c,
+ insmod-modutils/util/xrealloc.c, insmod-modutils/util/xstrcat.c,
+ insmod-modutils/util/xstrdup.c, insmod-modutils/util/xsystem.c,
+ mar/Makefile, newt/Makefile, newt/form.c, pcmcia_/Makefile,
+ ppp/include/net/ppp_defs.h, ppp/pppd/Makefile,
+ rp-pppoe/src/Makefile, slang/Makefile: Merge from R9_0-AMD64,
+ most notably: - AMD64 support to insmod-busybox, minilibc, et al.
+ - Sync with insmod-modutils 2.4.19 something but everyone should
+ use dietlibc nowadays - Factor out compilation and prefix with
+ $(DIET) for dietlibc builds - 64-bit & varargs fixes
+
+2003-06-04 18:03 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: allow X server to use :9 (:1
+ seems to not working ?) and disable access control (no clients
+ can connect by default).
+
+2003-06-04 17:19 Fançois Pons
+
+ * perl-install/pkgs.pm: updated for newer perl-URPM (0.90 series).
+
+2003-06-04 17:18 Fançois Pons
+
+ * rescue/list: updated with rpm 4.2.
+
+2003-06-04 17:11 Fançois Pons
+
+ * tools/syncrpms: avoid updating kernel-BOOT (as kernel-BOOT of
+ cooker is pure shit).
+
+2003-06-04 17:11 Fançois Pons
+
+ * tools/updatehdlist: update only RPMS1 and RPMS2 to keep other
+ package in RPMS3.
+
+2003-06-04 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: allow specifying lv_name in auto_installs
+ (not tested!)
+
+2003-06-04 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lvm.pm, diskdrake/interactive.pm: allow choosing
+ lv name (thanks to Brian Murrell)
+
+2003-06-04 13:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't use framebuffer after
+ install on i845 (even if framebuffer works during install) (this
+ implies no graphical boot)
+
+2003-06-03 16:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, ja.po, sq.po, vi.po: updated
+ Estonien, Japanese, Albanian and Vietnamese po files
+
+2003-06-02 19:55 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Update
+
+2003-06-02 16:42 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-05-31 12:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/po/DrakX.pot, share/po/af.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/lt.po, share/po/lv.po, share/po/mt.po, share/po/nl.po,
+ share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sq.po, share/po/sr.po,
+ share/po/sr@Latn.po, share/po/sv.po, share/po/ta.po,
+ share/po/tg.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/uz.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: changed the name of the
+ russian phonetic layout
+
+2003-05-30 20:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: updated German file
+
+2003-05-30 20:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ Vietnamese file
+
+2003-05-30 15:57 Guillaume Cottenceau
+
+ * perl-install/: drakxtools.spec, standalone/mousedrake: add mouse
+ test in non-embedded mode (#2049)
+
+2003-05-28 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, he.po, hr.po, hu.po, id.po, is.po,
+ it.po, lt.po, lv.po, mt.po, nl.po, no.po, ro.po, ru.po, sq.po,
+ ta.po, tg.po, th.po, tr.po: updated Albanian file
+
+2003-05-28 16:49 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: forgot to commit the new
+ configuration step
+
+2003-05-28 15:39 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: s/my/our/ to make
+ perl_checker happy in isdn.pm
+
+2003-05-28 15:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: - remove isdn-light config (seen
+ with isdn4net maintainer) - new step to keep old device
+ configuration
+
+2003-05-28 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: fix isdndata export in
+ stripped package
+
+2003-05-28 13:55 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: grow MAX_ARP_RETRIES from 4 to 7 after erwan's
+ suggestion
+
+2003-05-28 13:38 Fançois Pons
+
+ * perl-install/network/modem.pm: remove /dev/ttyS14 link by
+ drakconnect.
+
+2003-05-27 17:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, et.po, ga.po, gl.po:
+ updated Estonian file
+
+2003-05-27 16:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/any.pm: - user name must begin with a letter but not
+ with a number or - or _
+
+2003-05-27 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.5mdk
+
+2003-05-27 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.4mdk
+
+2003-05-27 14:23 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translation
+
+2003-05-26 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ja.po, ko.po, pl.po, pt.po, pt_BR.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, uk.po, uz.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-05-26 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands: use formatError to display the error
+ message (to have a better error message than "SCALAR(0x....) at
+ ...")
+
+2003-05-26 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: be perl_checker prototype compliant
+
+2003-05-26 11:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/http.pm,
+ interactive/newt.pm: - methods with no argument are not functions
+ with no argument! - perl_checker fixes
+
+2003-05-24 17:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Added new toggle possibilities to the
+ menu; use "en_US" for US layout
+
+2003-05-23 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: .perl_checker, fsedit.pm, handle_configs.pm,
+ install_steps.pm, install_steps_interactive.pm, my_gtk.pm,
+ partition_table.pm, diskdrake/interactive.pm, interactive/gtk.pm,
+ interactive/http.pm, network/modem.pm, network/network.pm,
+ partition_table/bsd.pm, partition_table/raw.pm,
+ partition_table/sun.pm, printer/main.pm, printer/printerdrake.pm,
+ security/msec.pm, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakboot, standalone/drakbug, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/drakperm, standalone/drakpxe, standalone/draksec,
+ standalone/draksplash, standalone/fileshareset,
+ standalone/harddrake2, standalone/logdrake,
+ standalone/net_monitor: perl_checker fixes
+
+2003-05-23 18:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: next release
+
+2003-05-23 17:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2003-05-23 17:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-05-23 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfirewall: please perl_checker
+
+2003-05-23 15:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/list.ia64: Clean-ups. Remove
+ /var/log/XFree86.0.log from filelist
+
+2003-05-23 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2003-05-23 13:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: Update changelog
+
+2003-05-23 12:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/obj/Makefile: -Wno-error on IA-64 too
+ for insmod-modutils/obj
+
+2003-05-23 11:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: #3628 /etc/resolv.conf explicit
+ rights set (by titi)
+
+2003-05-23 10:56 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: Kernel and initrd are now
+ in /boot/efi/mandrake on IA-64
+
+2003-05-23 00:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: do not mix interactive and
+ ugtk2, let reusse create_dialog()
+
+2003-05-23 00:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: do not set twice the title,
+ ugtk2->new already do it for us
+
+2003-05-23 00:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: remove unused variable
+
+2003-05-23 00:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakbug, drakconnect, draksplash,
+ logdrake: gtk+-2 specs prohibid playing with policy
+
+2003-05-23 00:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: (quit_global) inline it
+
+2003-05-23 00:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: - further clean gui construction
+ through functionnal ugtk2 - do not gratuitously add: o " "
+ around button labels o empty strings at end of kernel release -
+ (parse_release) simplify - there's no need to keep a reference on
+ field that we do not further use (distro release is parsed
+ again when needed and kernel release is already stored in some
+ variable) - do not pack nothing to widgets
+
+2003-05-22 23:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: - simplify gui construction
+ through create_packtable(), we really do not have to offuscate
+ it like c programmers have to
+
+ - one shall not be able to alter kernel or distribution release
+ number
+
+2003-05-22 23:25 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-05-22 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: (build_list) simplify ip
+ parsing
+
+2003-05-22 19:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2003-05-22 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.3mdk
+
+2003-05-22 19:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: workaround #3341: display
+ "Bad ip" instead of a blank field if ip wasn't correctly parsed
+ as an ip ?
+
+2003-05-22 18:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: next 9.2-0.3mdk bits
+
+2003-05-22 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: do not fork usb module drivers
+ list but reuse list_modules one instead
+
+2003-05-22 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: fix #2291
+
+2003-05-22 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: kill some warnings catched by
+ diagnostics pragma
+
+2003-05-22 16:17 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix differntial user file
+ naming.
+
+2003-05-22 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: better english (#1342)
+
+2003-05-22 12:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix #3485
+
+2003-05-22 10:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update fr translation
+
+2003-05-21 23:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.2-0.3mdk's first bits (more to
+ com tomorrow)
+
+2003-05-21 19:16 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: add some ip checking (#853)
+ remove old comments
+
+2003-05-21 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: remove unused function that
+ should never have come to live
+
+2003-05-21 17:19 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix gc sux in 1.117 modfiying function
+ behaviour
+
+2003-05-21 17:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, bg.po, ru.po, sr.po, uk.po: put
+ "yawerty" in cyrillic for languages using cyrillic alphabet
+
+2003-05-21 17:18 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: gtktext_insert: fix indenting of one line,
+ takes that as a pretext to redo whole function identing without
+ tabs
+
+2003-05-21 17:15 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: beautify titi
+
+2003-05-21 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: please gc
+
+2003-05-21 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - help menu items are not
+ checkable - do not display spurious "/" on menu buttons when
+ embedded - (strip_first_underscore) let speedup the regexp
+
+2003-05-21 16:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (gtktext_append) fix gtktext_insert() call
+
+2003-05-21 16:23 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations
+
+2003-05-21 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: we already have fork()+exec()
+ detect_loader, so there's no need to do it again
+
+2003-05-21 01:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sq.po, sr.po, sr@Latn.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2003-05-21 00:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (probe_category): one regexp is enough
+ for isdn
+
+2003-05-20 23:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: check again printerdrake, this would
+ have prevent whoever altered network::netconnect::main() to
+ forget some calle when updating all calle for new parameters
+ signature :-(
+
+2003-05-20 23:52 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates
+ gi/perl-install/share/po/da.po
+
+2003-05-20 23:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: typo fix
+
+2003-05-20 23:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.2mdk
+
+2003-05-20 23:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: printer/detect.pm, printer/main.pm,
+ standalone/printerdrake: perl_checker fixes
+
+ printer::printerdrake::{setup_smb,setup_socket}(): do not use
+ undef values, but reuse those we just calculate
+
+ printer::printerdrake::main(): fix
+ printer::default::printer_type() callee
+
+2003-05-20 23:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - perl_checker fixes, which
+ show up the following bugs:
+
+ - printer::printerdrake::{setup_smb,setup_socket}(): do not use
+ undef values, but reuse those we just calculate
+
+ - printer::printerdrake::main(): fix
+ printer::default::printer_type() callee
+
+ - printer::printerdrake::check_network(): fix
+ network::netconnect::main() callee
+
+2003-05-20 23:32 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Partially updated
+
+2003-05-20 23:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: (pop_spaces) prevent infinite loop
+
+2003-05-20 23:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (set_permissions): owner and group are
+ optional parameters
+
+2003-05-20 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: distriblint fix
+
+2003-05-20 17:26 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: #763 #2336 fix alias in
+ modules.conf
+
+2003-05-20 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: (removeverticalbar)
+ pixelate
+
+2003-05-20 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: prevent set_usermode() vs
+ set_cups_autoconf() conflict
+
+2003-05-20 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: restore service restart
+
+2003-05-20 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: draksplash, scannerdrake: perl_checker
+ fixes
+
+2003-05-20 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: try to simplify
+
+2003-05-20 15:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: one last fix
+
+2003-05-20 15:29 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/modules/interactive.pm: fix BUG 2530, no more
+ spurious window when insmoding fail
+
+2003-05-20 15:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: further bits for 9.2-0.1mdk
+
+2003-05-20 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: fix #1743: offer to restart the
+ dm service
+
+2003-05-20 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: (addprinter,isprinterconfigured):
+ remove temp variables
+
+2003-05-20 12:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, et.po, fi.po: updated German,
+ Estonian and Finnish files
+
+2003-05-20 12:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/nfs.pm: (find_servers): chomp is uneeded
+
+2003-05-20 12:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (put_font_dir): $/variable is
+ unlikely what was initially intended
+
+ (chk_empty_xfs_path): typo fix
+
+ (search_dir_font_uninstall): further simplify
+
+2003-05-20 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (chk_empty_xfs_path): - any {
+ !cdt} equals to every { cdt } - if_ is unneeded
+
+ (search_dir_font_uninstall) map { if_(cdt, $_ } equals to grep {
+ cdt }
+
+2003-05-20 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: (file_ok_sel) prevent potential
+ crash in perl regexp engine if sg bad happenned in the
+ translation
+
+2003-05-20 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/nfs.pm: (find_exports) better behavior when
+ regexp does not match
+
+2003-05-20 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: for whatever reason, the second part
+ of detect_bootloader() consolidation didn't make up into the cvs
+
+2003-05-20 11:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-05-20 11:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: better explanation of the wp
+ field
+
+2003-05-20 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix #3960: divide by zero
+ execption
+
+2003-05-20 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: fix #3959 : add aic79xx scsi host
+ controller driver
+
+2003-05-20 10:54 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: perl_checker compliant
+
+2003-05-20 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.2-0.1mdk
+
+2003-05-20 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/my_gtk.pm: fix #3952: do not pass extra argument (gc
+ altered common::take_screenshot() api in r1.172 but forget to
+ alter all callees)
+
+2003-05-20 09:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: - fix #3616 (draksec discarding
+ changes) - add a end of line btw at the end of file to please cat
+
+2003-05-20 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: perl_checker fix
+
+2003-05-19 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add a bug reference
+
+2003-05-19 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: some drakconnect cleanups
+
+2003-05-19 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: in standalone drakboot, raise a wait message
+ window so that the user can figure out what occurs (lilo
+ installation being quite long)
+
+2003-05-19 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: dialog window is already modal
+
+2003-05-19 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: - (read_location, rip_location):
+ simplify loop condition since once we get $location_end, we
+ exit it
+
+ - (rip_location): simplify @location build when no existing one
+
+2003-05-19 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: - (get_cups_autoconf,
+ set_cups_autoconf, get_usermode, set_usermode): simplify a lot
+ through getVarsFromSh() and setVarsInSh()
+
+ - (set_jap_textmode) simplify a lot through substInFile()
+
+ now all /etc/sysconfig/printing accesses get done by
+ MDK::Common::File (until shell template from libconf is used)
+
+2003-05-19 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: (gimp::pop_spaces): consolidate
+ skipping of lines that are space ended
+
+2003-05-19 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: cups.pm, default.pm, detect.pm, gimp.pm,
+ main.pm, office.pm, printerdrake.pm, services.pm: perl_checker
+ fixes
+
+2003-05-19 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: localize drive capabilites
+ (aka burning, dvd managment, ...)
+
+2003-05-19 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, standalone/drakboot: fix #3560
+ (drakboot not updating bootloader label): the only confusing bug
+ is that when one come back to drakboot main window after having
+ altered the bootloader, the main window still list the old
+ bootloader as the current bootloader.
+
+ let update this label.
+
+ btw consolidate bootloader detection in
+ bootloader::detect_bootloader()
+
+2003-05-19 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: further fix #2826 (lilo failling to
+ handle entry with spaces): replace spaces by underscores in
+ labels (image names are not likely to contain spaces) to prevent
+ the error
+
+2003-05-19 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: when configuring to install grub
+ bootloader, we first install lilo, then grub.
+
+ the logic is that we only reread /etc/lilo.conf[1], so we need to
+ write /etc/lilo.conf. but when installing grub, we really do not
+ need to run lilo, we only have to write its config file.
+
+ [1] because grub/menu.lst lacks some data and because we do
+ neither want to parse both config files nor to resolve conflicts
+ between configuration
+
+2003-05-19 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: let further consolidate
+ make_label_lilo_compatible()
+
+2003-05-19 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update perl-gtk0 users list
+ (drakcronat being ported to gtk+2)
+
+2003-05-19 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: fix
+ network::netconnect::save_conf() callee
+
+2003-05-19 15:52 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-05-19 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/lsnetdrake: simplify
+
+2003-05-19 15:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/nfs.pm: do not drop return values from
+ regexp but use them to ensure we do not reuse capture buffers
+ from previous one, which is really bad and trully buggy
+
+2003-05-19 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: move expert stuff under the
+ "advanced" button like in all other drakx/drakxtools code
+
+2003-05-19 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: %langs: first column is supposed to be
+ localized in english
+
+2003-05-19 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: last 9.1-38mdk bits
+
+2003-05-16 19:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.1-38mdk
+
+2003-05-16 17:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uk.po, uz.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-05-16 17:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, sl.po, sq.po, sr.po, sr@Latn.po,
+ sv.po, ta.po, tg.po, th.po, tr.po: updated pot file
+
+2003-05-16 17:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: lv.po, mt.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po: updated pot file
+
+2003-05-16 17:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, he.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po: updated pot file
+
+2003-05-16 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po: updated pot file
+
+2003-05-16 17:39 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add a step to warn user
+ before writing settings (bug #852 and so)
+
+2003-05-16 17:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po: updated pot file
+
+2003-05-16 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn_consts.pm: let it work
+
+2003-05-16 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker fix
+
+2003-05-15 20:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, ja.po: updated pot file
+
+2003-05-15 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog) scroll window if needed
+
+2003-05-15 18:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - describe wp flag on ia32
+ cpus - make all field descriptions begin by a lower case letter
+
+2003-05-15 18:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - 9.1-37mdk - bump require in order
+ to help rpm to update for new autoreq
+
+2003-05-15 17:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/harddrake2: - (create_dialog)
+ : o options are passed through a hash ref o wrap text o
+ update caller list - harddrake2: convert to use create_dialog()
+ instead of interactive->warn (fix #3487)
+
+2003-05-15 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: bump version
+
+2003-05-15 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakfloppy,
+ standalone/drakfont: (create_dialog) : - update caller list - add
+ title parameter and update callers
+
+2003-05-15 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: mark it as deprecated
+
+2003-05-15 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: remove unused variable
+
+2003-05-15 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: do not use interactive to get
+ root capabilties, directly use require_root_capability()
+
+2003-05-15 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix #1352 : do not add buggy
+ font directories
+
+2003-05-15 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: hide "mode switch" buttons to
+ only enable to switch to the other mode, not the current one
+
+2003-05-15 14:47 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Typo fix
+
+2003-05-15 05:28 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2003-05-15 01:02 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Some fixes and so...
+
+2003-05-15 00:37 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2003-05-14 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: - uninline poulpy
+
+ - use map instead of foreach in some places
+
+ - (chk_empty_xfs_path): replacing foreach by map make obvious
+ that we don't have to grep all items, grep will be enough
+
+ - (put_font_dir): consolidate some code into convert_fonts; this
+ make obvious there were some bug due to $/varname typo; this
+ also reduce the message to translate ammount
+
+2003-05-14 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootloader.pm: perl_checker fixes
+
+2003-05-14 00:23 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup: perl_checker
+ cleaning
+
+2003-05-13 21:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: cleanups
+
+2003-05-13 21:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - remove 80% of perl_checker
+ warnings - gtkbuttonset is not exported by ugtk2
+
+2003-05-13 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - gtkcreate_img is exported
+ by helpers tag in ugtk2 - add a bug note: write_on_pixmap() is
+ only in my_gtk, not in ugtk2 !
+
+2003-05-13 21:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: better use s/_get/get/ and
+ {get,set}_fraction instead of ->fraction helper
+
+2003-05-13 20:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: better use get instead of _get
+
+2003-05-13 20:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: help perl_checker by providing
+ an empty prototype
+
+2003-05-13 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/.perl_checker: ignore URPM::Resolve until francois
+ qiet it down
+
+2003-05-13 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/main.pm:
+ (configure_everything_or_configure_chooser) keyboard and mouse
+ paremeters really are optional, Xconfig::default::configure()
+ handle the fact they're undefined for us
+
+2003-05-13 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: let ugtk2->new manage the title
+ setting
+
+2003-05-13 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: perl_checker fixes
+
+2003-05-13 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: perl_checker fix
+
+2003-05-13 16:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: make option managment look like
+ real perl
+
+2003-05-13 16:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - add empty prototypes to
+ help perl_checker - has_sub_trees: better use ||
+
+2003-05-13 00:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: perl_checker compliance,
+ differential mode option, explain adding directories
+
+2003-05-12 20:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - pass enough dummy parameters
+ to fs::merge_info_from_fstab - add empty prototypes to help
+ perl_checker catch miss writeen func calls
+
+2003-05-12 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: help auto-provides
+
+2003-05-12 18:34 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: s/@isdn::isdndata/@isdndata/
+
+2003-05-12 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-36mdk
+
+2003-05-12 18:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - do not log localized
+ messages; what's more, this is supposed to be already logged by
+ standalone - in testing mode: o do not enforce the need for
+ bootsplash o do not really run mkinitrd - if bootsplash miss,
+ we should just go back to main config window
+
+2003-05-12 17:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: have the "Ok" in
+ ask_from__add_modify_remove return true in default mode (eg:
+ newt)
+
+2003-05-12 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: use matched values only if matching did
+ success
+
+2003-05-12 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: add "--list-hd" to please
+ gbeauchesne
+
+2003-05-11 01:35 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: updates
+ gi/perl-install/share/po/da.po
+
+2003-05-09 13:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-05-07 17:38 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - follow new
+ network::netconnect::save_conf signature - remove call to
+ network::netconnect::set_net_conf, no longer exist
+
+2003-05-07 17:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - configuration stuff .
+ rewrite sub save_conf, new signature is ($netcnx) . rewrite sub
+ load_conf, connection type stored in /etc/sysconfig/drakconnect
+ . remove sub read_raw_net_conf . shrink sub read_net_conf - drop
+ if ($nb < 1 ), useless - perl_checker
+
+2003-05-07 11:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm:
+ s|/sbin/isdnctrl|/usr/sbin/isdnctrl|
+
+2003-05-06 23:41 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: More entries
+
+2003-05-06 18:27 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: - drop !$::isWizard code -
+ perl_checker
+
+2003-05-06 18:23 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - drop !$::isWizard code -
+ change netconnect::main signature - change
+ network::modem::ppp_configure signature - perl_checker - cleanup
+
+2003-05-06 18:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - remove sub intro - change
+ sub main signature - drop !$::isWizard code - perl_checker
+
+2003-05-06 18:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: change
+ network::netconnect::main signature
+
+2003-05-06 16:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, ru.po: updated Hebrew and Russian
+ files
+
+2003-05-06 16:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, pixmaps/langs/lang-sh.png,
+ pixmaps/langs/lang-sp.png, share/po/sp.po, share/po/sr.po,
+ share/po/sr@Latn.po: Renamed Serbian po files to follow standard
+ (sr -> cyrillic, sr@Latn -> latin). 'sh' is used internally by
+ DrakX for identifier by DrakX; and 'sh_YU' used as locale name,
+ for latin Serbian, to avoid use of '@' character which may be
+ problematic in some cases.
+
+2003-05-06 15:15 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/drakxtools.spec: Fix changelog
+
+2003-05-06 15:11 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/standalone/drakboot: Fix drakboot booloader methods
+ for ia64 and amd64
+
+2003-05-06 03:17 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: crash on add other files fix
+ disabled incremental other files checkbox fix lack of incremental
+ backups of other files fix broken daemon mode fix file remove
+ issue I know it fails perl_checker - require ugtk2 never returns
+ on console
+
+2003-05-05 18:20 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - remove unused $intf in
+ adsl_probe_info and adsl_ask_info - perl_checker fixes
+
+2003-05-05 18:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: perl_checker fixes
+
+2003-05-05 17:22 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - change configure and
+ winmodemConfigure args (due to $intf drop)
+
+2003-05-05 17:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: - drop unused $intf in configure
+ and winmodemConfigure - fix winmodem configuration behavior -
+ perl_checker
+
+2003-05-02 18:57 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix sucky fonction (thanks to
+ master guillaume)
+
+2003-05-02 18:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix typo
+
+2003-05-02 18:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, network.pm, tools.pm:
+ perl_checker fixes
+
+2003-04-30 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-35mdk
+
+2003-04-30 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/level.pm: fix #3618
+
+2003-04-30 15:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: perl_checker fixes
+
+2003-04-30 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: perl_checker fixes
+
+2003-04-30 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checker fix
+
+2003-04-30 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: perl_checker fixes
+
+2003-04-30 15:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: - no non empty prototypes -
+ s/sub { one func call }/code ref/
+
+2003-04-30 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_dialog): - second parameter really
+ is optionnal - do not blindly set the title to logdrake, this is
+ used elsewhere
+
+2003-04-30 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: perl_checker fixes
+
+2003-04-30 15:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: more perl_checker compliant
+
+2003-04-30 14:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: Changed charset encoding
+
+2003-04-30 12:57 Guillaume Cottenceau
+
+ * perl-install/any.pm: have /etc/sysconfig/i18n in report.bug
+
+2003-04-30 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: c.pm, detect_devices.pm, http.pm, install2.pm,
+ install_steps.pm, interactive.pm, lang.pm, pkgs.pm, swap.pm,
+ Xconfig/resolution_and_depth.pm, network/adsl.pm,
+ network/isdn.pm, partition_table/sun.pm: perl_checker compliance
+
+2003-04-30 11:47 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: remove export for two removed functions
+
+2003-04-30 10:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: Revert XFS support, not stable
+ enough especially on SMP
+
+2003-04-30 00:01 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: perl_checker can parse me at last
+
+2003-04-29 19:33 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated partially
+
+2003-04-29 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: no doble module loading
+
+2003-04-29 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-34mdk
+
+2003-04-29 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: fix #3701: return back to the
+ display managers menu if one cancel the installation of the
+ required packages
+
+2003-04-29 14:00 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: more perl_checker friendly
+
+2003-04-29 12:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: (get_parameters) perl-ize
+
+2003-04-29 11:48 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: empty install list at cancel
+
+2003-04-29 11:42 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: prevent void list installation
+
+2003-04-28 17:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, he.po: updated Hebrew and
+ Bulgarian files
+
+2003-04-28 14:43 Guillaume Cottenceau
+
+ * rescue/list.i386: add resize_reiserfs
+
+2003-04-26 14:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-04-24 21:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, c.pm, commands.pm, common.pm, crypto.pm,
+ detect_devices.pm, devices.pm, fs.pm, fsedit.pm, install2.pm,
+ install_any.pm, install_messages.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_interactive.pm,
+ interactive.pm, keyboard.pm, lang.pm, loopback.pm, lvm.pm,
+ modules.pm, mouse.pm, partition_table.pm, pkgs.pm, raid.pm,
+ scanner.pm, services.pm, timezone.pm, ugtk2.pm, Xconfig/card.pm,
+ Xconfig/monitor.pm, Xconfig/various.pm, Xconfig/xfree3.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/removable.pm, diskdrake/smbnfs_gtk.pm,
+ harddrake/data.pm, harddrake/sound.pm, interactive/http.pm,
+ interactive/newt.pm, interactive/stdio.pm, network/isdn.pm,
+ network/netconnect.pm, network/shorewall.pm, network/tools.pm,
+ partition_table/gpt.pm, resize_fat/directory.pm,
+ security/level.pm, standalone/draksec, standalone/harddrake2:
+ perl_checker adaptations + fixes
+
+2003-04-24 14:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix conflict with
+ perl-Locale-gettext
+
+2003-04-24 09:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.19-56mdk
+
+2003-04-23 19:35 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm, perl-install/share/list.x86_64,
+ rescue/list.x86_64: add xfs for amd64
+
+2003-04-23 17:46 Guillaume Cottenceau
+
+ * rescue/list: file-4.02
+
+2003-04-23 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-32mdk
+
+2003-04-23 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: add prototypes
+
+2003-04-23 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: add prototypes to help.pm
+
+2003-04-23 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-04-23 13:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: help-it.pot, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sp.po, sq.po, sr.po, sv.po, ta.po,
+ tg.po, th.po, tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-04-23 13:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - localedrake is part of
+ drakxtools-newt, so does its menu entry (and sanitize its entry
+ btw) - drakxtools-newt: add the needed post and postun macros -
+ sort provides'n obsoletes, add missing drakfloppy
+
+2003-04-22 23:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm,
+ interactive.pm, Xconfig/xfree.pm, Xconfig/xfree3.pm,
+ Xconfig/xfreeX.pm: perl_checker compliance for optional method
+ arguments
+
+2003-04-22 23:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typos and cleanup
+ syntax
+
+2003-04-22 23:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, mt.po, nl.po, no.po: updated pot file
+
+2003-04-22 21:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po: updated pot file
+
+2003-04-22 17:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po: updated pot file
+
+2003-04-22 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: array costs less than a hash
+
+2003-04-22 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: adapt to new help.pm
+
+2003-04-22 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help_xml2pm.pl: fix typo
+ (help.pm must return a true value)
+
+2003-04-22 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: share/po/help_xml2pm.pl, help.pm,
+ share/po/help-de.pot, share/po/help-es.pot, share/po/help-fr.pot,
+ share/po/help-it.pot, share/po/help-ru.pot: per Pablo's request:
+ - create a mini header in the generated help-*.pot files -
+ guilabel, guibutton and guimenu now uses %s to separate more
+ cleanly what comes is doc and what is gui text !! the new
+ generated help.pm has a different interface, non-backward
+ compliant !!
+
+2003-04-22 12:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix bug #3652 (grub must be
+ installed for a loopback install)
+
+2003-04-22 09:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-31mdk
+
+2003-04-22 04:08 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: fixed slovak translation (thanks to
+ Stanislav Visnovsky and Zdenko Podobny)
+
+2003-04-21 21:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: 'Option "XkbCompat" "group_led"' is no
+ good because
+
+ it means that effectively NO other compatibility
+ settings
+ are included i.e. NONE of standard XFree86 keys work,
+ including Ctrl-Alt-Fx, Ctrl-Alt-KP+, Ctrl-Alt-KP- etc.
+
+ 'Option "XkbCompat" "default+group_led"' is much better (thanks
+ Andrey Borzenkov)
+
+2003-04-21 20:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: have bison and flex installed when
+ DEVELOPMENT is chosen (thanks to Adam Williamson)
+
+2003-04-21 13:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-04-18 13:50 Fançois Pons
+
+ * perl-install/install_any.pm: make all CD as update (as it should
+ have been to allow updates to be resolved).
+
+2003-04-17 16:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: Use RPM_OPT_FLAGS when compiling
+ tools (rpcinfo-flushed)
+
+2003-04-17 15:58 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.9-55mdk
+
+2003-04-17 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: another perl_checker optional parameter
+ compliance
+
+2003-04-17 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, common.pm, crypto.pm,
+ detect_devices.pm, devices.pm, fs.pm, fsedit.pm, ftp.pm,
+ install_any.pm, install_interactive.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ interactive.pm, lang.pm, modules.pm, mouse.pm,
+ partition_table.pm, pkgs.pm, scanner.pm, timezone.pm, ugtk2.pm,
+ Xconfig/main.pm, Xconfig/monitor.pm, Xconfig/parse.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/various.pm,
+ Xconfig/xfreeX.pm, diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/smbnfs_gtk.pm, interactive/newt.pm,
+ modules/interactive.pm, network/drakfirewall.pm,
+ network/ethernet.pm, network/isdn.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm,
+ partition_table/dos.pm, partition_table/lvm_PV.pm,
+ partition_table/mac.pm, partition_table/raw.pm,
+ resize_fat/boot_sector.pm, resize_fat/directory.pm,
+ security/various.pm, standalone/diskdrake, standalone/draksec,
+ standalone/drakupdate_fstab: new perl_checker compliance
+
+2003-04-17 11:54 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: Add raid & reiserfs tools
+
+2003-04-17 11:47 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * tools/Makefile: Compile rpcinfo-flushed/xhost+ with -Os so that
+ code size is reduced and magically fixed on hammer. ;-)
+
+2003-04-16 23:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/: Config.h, busybox.h, insmod.c: Merge
+ back fixes from HEAD but don't use the init_module() et al.
+ tricks since correct dietlibc 0.22 is used on the branch.
+
+2003-04-16 23:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: use insmod-busybox on x86-64, save around 50
+ KB. ;-)
+
+2003-04-16 20:32 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/: Config.h, busybox.h, insmod.c: Fixes.
+ Don't care about taint stuff. Constify a little so that some dead
+ branches could be nuked. -> Reduce code size by 5 KB.
+
+2003-04-16 19:22 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/README: Update README
+
+2003-04-16 19:11 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/: Config.h, Makefile, busybox.h,
+ insmod.c: - Update to busybox 0.65.0 version - Add support for
+ x86-64
+
+2003-04-16 18:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/: Config.h, busybox.h, insmod.c: -
+ Update to insmod from busybox 0.65.0 - Add support for x86-64
+
+2003-04-16 18:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-busybox/Makefile: Use $(DIET) wrapper
+
+2003-04-16 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix #1675: swap the text and
+ button widgets
+
+2003-04-16 16:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: comply to new each_index behaviour
+
+2003-04-15 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add hint for translators
+
+2003-04-15 16:40 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile: Add hd.img & other.img for x86-64
+
+2003-04-15 16:39 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/: check_mar.pl, modules.pl: Don't care about obsolete
+ things on moderns arches like x86-64
+
+2003-04-15 16:38 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_any.pm: CD-ROM installations use cdrom.img
+ on x86-64 nowadays
+
+2003-04-15 15:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/detect_devices.pm: Fix hasSMP()
+
+2003-04-14 17:54 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: Add bcm5700 module to
+ network.img on x86-64 & IA-64
+
+2003-04-14 16:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * docs/README, mdk-stage1/dhcp.c, mdk-stage1/stage1.h,
+ mdk-stage1/tools.c: Handle "netauto" mode (gc, post 9.1)
+
+2003-04-14 15:30 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/drakxtools.spec: Match current 9_0-64bit-branch
+ state
+
+2003-04-14 15:28 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, stage1.h, tools.c: put dhcp bootfile under
+ netauto parameter
+
+2003-04-14 15:25 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix harddrake doesn't display
+ unknow hardware (tv, 9.0 updates)
+
+2003-04-11 17:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: changed "reboot" to latin letters,
+ as requested.
+
+2003-04-11 12:07 Dam's
+
+ * perl-install/standalone/drakconnect: corrected titi typo
+
+2003-04-10 17:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: any::setupBootloader() already
+ call bootloader::install()
+
+2003-04-10 11:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: it was designed in 2003, not
+ 2002
+
+2003-04-07 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.1-31mdk
+
+2003-04-07 15:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: fix #2826 (aka pixel sucks):
+
+ pixel changed the booloader module api by throwing an exception
+ instead of using the ugly /tmp/.error temporary file and altered
+ drakx callers but forget to update standalone/* callers (aka
+ drakboot).
+
+ now, with this patch, any error during lilo/grub installation is
+ catched and displayed, which is more generic than checking for
+ spaces.
+
+2003-04-07 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix harddrake menu entry
+ description
+
+2003-04-04 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: bump gtk2-perl require because of
+ #3633
+
+2003-04-04 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-30mdk
+
+2003-04-04 16:33 Guillaume Cottenceau
+
+ * docs/README: some fixes and improvements
+
+2003-04-04 15:52 Guillaume Cottenceau
+
+ * docs/HACKING: some updates
+
+2003-04-04 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix crash on floppy
+ generation reported by Francisco Alcaraz
+
+2003-04-04 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - perl_checker fixes - ensure
+ only one callback do regular parsing
+
+2003-04-04 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: fix doble explanation logging of
+ scannerdrake and harddrake startup
+
+2003-04-03 21:14 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated
+
+2003-04-03 19:01 Guillaume Cottenceau
+
+ * perl-install/: drakxtools.spec, ugtk2.pm: after adding
+ gtk_text_buffer_place_cursor in gtk2-perl, use it here :)
+
+2003-04-03 17:50 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix #3633 (cursor at the end of TextView
+ after gtktext_insert) remove a few memory leaks
+
+2003-04-02 21:06 Guillaume Cottenceau
+
+ * perl-install/patch/9.1/patch-loopback.pl: Error scenario: When
+ using a file for your / (a "loopback"), booting your newly
+ installed system will fail with a kernel panic with flashing
+ keyboard lights
+
+ Why: The initrd needs to load the loop.o module to mount your /
+ partition; but since recently, loop.o depends on aes.o, and since
+ mkinitrd doesn't handle dependencies automatically and we didn't
+ notice that change, we didn't update mkinitrd accordingly
+
+ Solution: Format a floppy disk with a DOS filesystem (in Linux,
+ you can use the command "mkdosfs /dev/fd0"). Copy patch.pl to the
+ floppy disk. Remove the floppy and reboot using the Mandrake
+ Linux 9.1 CD1 to do a CD-ROM installation. During boot, press F1
+ at the splash screen, then place your floppy disk that contains
+ patch.pl in the floppy drive. At the prompt, type "patch", then
+ follow the installation as usual.
+
+ see bugzilla #3614
+
+2003-04-02 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/9.1/patch-detectSMP-K6.pl: Error scenario: On
+ a AMD-K6, install fails after the formatting partitions steps
+ with a strange "type read" error Why: in some cases, the SMP
+ detection code fails and force the install to exit Solution: Use
+ patch.pl which disables SMP detection (thanks to Angela Bayley)
+
+2003-04-02 17:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-04-02 17:05 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/detect_devices.pm: Update to match IA-64 ACPI format
+ string "XXX CPUs available"
+
+2003-04-02 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakTermServ, share/po/DrakX.pot,
+ share/po/af.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/he.po, share/po/hr.po, share/po/hu.po, share/po/id.po,
+ share/po/is.po, share/po/it.po, share/po/ja.po, share/po/ko.po,
+ share/po/lt.po, share/po/lv.po, share/po/mt.po, share/po/nl.po,
+ share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sq.po,
+ share/po/sr.po, share/po/sv.po, share/po/ta.po, share/po/tg.po,
+ share/po/th.po, share/po/tr.po, share/po/uk.po, share/po/uz.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po: s/initrdrd/initrd/ (Arpad Biro)
+
+2003-04-02 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix pablo patch that broke
+ two translations (reported by Arkadiusz Lipiec)
+
+2003-04-02 14:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: remove unused variable
+
+2003-04-02 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - various perl_checker "fixes"
+ - (logcolorize): make it saner regarding its arguments, thanks
+ perl_checker
+
+2003-04-02 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: hackism to shut up perl_checker
+
+2003-04-01 17:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: (parse_file) pass explicit
+ argument instead of relying on lexical $_ being correct in that
+ context (worked fine but this is bad)
+
+2003-04-01 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: propagate $in where needed
+
+2003-04-01 17:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker fixes
+
+2003-04-01 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: share/po/fr.po, standalone/harddrake2: - fix
+ fscking french translation - explain why it's bad to translate
+ this way
+
+2003-04-01 15:22 Guillaume Cottenceau
+
+ * perl-install/lang.pm: misc
+
+2003-04-01 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhelp: simplify
+
+2003-04-01 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, harddrake/sound.pm,
+ standalone/draksound: move harddrake::sound $index param in hash
+ and pass only the hash ref around functions
+
+2003-04-01 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - prevent translators to do
+ bad things (that is having badly constructed strings on screen)
+ - reuse some translations instead of relying on extracting tools'
+ merge feature - give translators more control on about window
+ text
+
+2003-04-01 15:00 Fançois Pons
+
+ * rescue/tree/etc/oem-all: added restore into boot_entries default
+ value, increased hd install size from 1500 MB to 2500 MB to
+ include current ackbar cooker repository.
+
+2003-04-01 11:46 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Pass $Driver to launchX in non
+ /FB/ case
+
+2003-04-01 11:43 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: Reorganize elif code. Better use a case BTW
+
+2003-04-01 11:40 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Pass $Driver to launchX in non
+ /FB/ case
+
+2003-04-01 10:14 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: Backport
+ from 9.1 xf4 fallbacking to fbdev driver
+
+2003-04-01 10:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: Indentation fixes
+
+2003-04-01 09:55 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps.pm: Remove MAKEDEV workaround for
+ ia64. Fixes must be found, and kernel nowadays have devfs
+ support.
+
+2003-04-01 09:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: Reintegrate comments that clic people
+ nuked. Also make sure efivars is IA-64 specific.
+
+2003-04-01 09:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: Don't default to smp kernel for booting,
+ detectSMP() must work or the APIC trick in perl-install.
+
+2003-04-01 00:25 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: spelling errors po/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-03-31 23:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Typo fix
+
+2003-03-31 19:32 Fançois Pons
+
+ * perl-install/bootloader.pm: copy kernel and stage1 in order to
+ avoid remapping /mnt/hd on the fly during install for bootloader
+ installation to complete correctly.
+
+2003-03-31 17:20 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed regex for kernel options
+ retrieved for restore bootloader entry.
+
+2003-03-31 16:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: fixed a bad grammatical error
+
+2003-03-31 12:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2003-03-30 23:43 Guillaume Cottenceau
+
+ * perl-install/lang.pm: clean
+
+2003-03-30 22:39 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: spelling errors
+ soft/menu-messages/da.po gi/perl-install/share/po/da.po
+
+2003-03-30 13:57 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: some spelling errors
+ soft/control-center/po/da.po gi/perl-install/share/po/da.po
+
+2003-03-29 18:11 Keld Jørn Simonsen <keld at dkuug.dk>
+
+ * perl-install/share/po/da.po: Updates soft/GtkMdkWidgets/po/da.po
+ gi/perl-install/share/po/da.po
+
+2003-03-28 18:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Special cases for KDE to recognize zh_HK
+ and zh_SG
+
+2003-03-28 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix typo, grr...
+
+2003-03-28 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: use ServerFlags DontVTSwitch for
+ i845, i865 and i85x
+
+2003-03-28 18:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: also have DontVTSwitch for i845
+ (and i85x)
+
+2003-03-28 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: use ServerFlags DontVTSwitch for
+ i865
+
+2003-03-28 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: use option DontVTSwitch for i865
+
+2003-03-28 16:27 Guillaume Cottenceau
+
+ * perl-install/patch/9.1/hp.diff: disable arabic
+
+2003-03-28 16:25 Guillaume Cottenceau
+
+ * perl-install/lang.pm: disable arabic whic doesn't work well after
+ install
+
+2003-03-27 14:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2003-03-27 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.1_errata.txt: - mcc erratas - lexical ordering
+
+2003-03-27 13:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated Albanian file
+
+2003-03-26 18:29 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed another typo for adding restore
+ entry (grub menu).
+
+2003-03-26 16:57 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed wrong usage of
+ any::hdInstallPath which is mapped as /tmp/image during
+ installation.
+
+2003-03-26 16:48 Fançois Pons
+
+ * perl-install/standalone.pm: simplified code to allow parsing
+ rpmdb instead of just urpmi db.
+
+2003-03-26 16:47 Fançois Pons
+
+ * perl-install/install_any.pm: moved hdInstallPath to any.pm.
+
+2003-03-26 16:47 Fançois Pons
+
+ * perl-install/any.pm: removed acpi reference here (should already
+ been have removed earlier). moved here hdInstallPath from
+ install_any.
+
+2003-03-26 16:44 Fançois Pons
+
+ * rescue/tree/etc/oem-all: use fat32 instead of fat16, fixed
+ mandrake-release to install.
+
+2003-03-26 14:51 Fançois Pons
+
+ * perl-install/bootloader.pm: fix typo on grub menu file read.
+
+2003-03-26 13:39 Fançois Pons
+
+ * rescue/tree/etc/oem-all: fix typo.
+
+2003-03-26 13:32 Fançois Pons
+
+ * rescue/tree/etc/oem-all: mandrake-release should be installed.
+
+2003-03-26 11:44 Fançois Pons
+
+ * rescue/tree/etc/oem-all: current parted does no more support fat
+ fs but fat16 or fat32 fs.
+
+2003-03-26 11:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.1_errata.txt: first drakxtools errata
+
+2003-03-26 10:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix harddrake menu entry
+
+2003-03-25 19:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated Albanian file
+
+2003-03-24 22:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated Japanese
+ file; updated pot file
+
+2003-03-24 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - fix changelog - 9.1-28mdk
+
+2003-03-24 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/patch/9.1/hp.diff: more hp fixes
+
+2003-03-24 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm: hp fix
+
+2003-03-24 15:08 Fançois Pons
+
+ * perl-install/network/modem.pm: added login and password retrieval
+ for ppp0 in configure function.
+
+2003-03-24 14:20 Fançois Pons
+
+ * perl-install/network/modem.pm: propose /dev/modem before other
+ device (as it will work for other most case).
+
+2003-03-24 14:10 Fançois Pons
+
+ * perl-install/network/: modem.pm, netconnect.pm: added modem
+ configuration after LT Modem support.
+
+2003-03-24 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/patch/9.1/hp.diff: mdk9.1 changes for hp
+
+2003-03-24 12:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first bits of 9.1-26mdk
+
+2003-03-23 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, sq.po: updated Italian and
+ Albanian files
+
+2003-03-22 13:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, pt.po, tr.po: updated Italian,
+ Portuguese and Turkish files
+
+2003-03-21 17:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: changed translation fo "mandrakesoft
+ store"
+
+2003-03-21 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: increase timeout from
+ 5 to 25 seconds
+
+2003-03-21 13:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: changed "mandrakesoft-shouten" to
+ "mandrakesoft-no shouten" ("store named mandrakesoft" ->
+ "mandrakesoft's store")
+
+2003-03-20 11:12 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed typo.
+
+2003-03-20 11:11 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: add probe for netncx
+ type in case of not already setted.
+
+2003-03-19 23:12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fix
+
+2003-03-19 18:06 Fançois Pons
+
+ * perl-install/lang.pm: silently use en_US for arabic.
+
+2003-03-19 17:21 Fançois Pons
+
+ * rescue/tree/etc/: oem, oem-all: added support for passing kernel
+ options to oem scrpit.
+
+2003-03-19 17:14 Fançois Pons
+
+ * perl-install/lang.pm: removed Arabic language (no correct font
+ during install).
+
+2003-03-19 17:13 Fançois Pons
+
+ * perl-install/lang.pm: avoid displaying Hong Kong as a country.
+
+2003-03-19 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: properly *both* reap zombies
+ and clear status bar message
+
+2003-03-19 13:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: - fix harddrake2 main window title
+ broken by stupid translators - explain the problem - explain how
+ to easily get « and » caracters
+
+2003-03-19 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: update, sort
+
+2003-03-19 13:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.1_errata.txt: first errate: ntfs kernel bug (bug and fix
+ reported by Szakacsits Szabolcs)
+
+2003-03-18 17:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: corrected small typo
+
+2003-03-18 16:40 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate:
+ s/mplayer-guimplayer-gui/mplayer-gui/
+
+2003-03-18 15:50 Fançois Pons
+
+ * rescue/tree/etc/: oem-all, oem: added lookup into isolinux/alt0
+ if possible
+
+2003-03-18 15:42 Fançois Pons
+
+ * rescue/tree/etc/: oem, oem-all: updated ramdisk_size=128000
+ acpi=off
+
+2003-03-18 15:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: updated Indonesian file
+
+2003-03-17 20:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2003-03-17 12:12 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add NVIDIA_nforce for smp and secure
+ kernel Fix NVIDIA_nforce entry removing kernel version (added by
+ cleanrpmsrate)
+
+2003-03-17 11:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2003-03-17 11:17 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: FlashPlayer with a capital P
+
+2003-03-17 10:57 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/install_steps.pm: reverted to 1.604
+
+2003-03-17 03:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, it.po: updated Danish and Italian
+ files
+
+2003-03-16 16:30 Warly <warly at mandriva.com>
+
+ * perl-install/drakxtools.spec: 26mdk to fix drakperm
+
+2003-03-16 13:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, ro.po: updated Bosnian and
+ Romanian files
+
+2003-03-15 16:45 Warly <warly at mandriva.com>
+
+ * perl-install/: drakxtools.spec, install_steps.pm, share/rpmsrate:
+ fix a fatal error in drakpem in editable mode
+
+2003-03-15 16:26 Warly <warly at mandriva.com>
+
+ * perl-install/standalone/drakperm: Fix fatal error in editable
+ window when adding a new entry
+
+2003-03-15 16:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/he.po: updated Hebrew file
+
+2003-03-15 11:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, vi.po: updated Bosnian and
+ Vietnamese files
+
+2003-03-14 23:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, he.po, is.po: updated Greek file
+
+2003-03-14 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2003-03-14 18:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix XFdrake handling NVidia
+ proprietary drivers
+
+2003-03-14 18:32 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: fix myself sux: don't unconditionnally
+ fgets /proc/modules, because fopen may have failed (the libc, in
+ its great search for speed, probably doesn't care to check if the
+ FILE* given to fgets is valid and opened)
+
+2003-03-14 17:54 Fançois Pons
+
+ * perl-install/standalone.pm: fix checking for installed kernel
+ modules (for nvidia) (/me sux) (fix & changelog by pixel)
+
+2003-03-14 14:55 Fançois Pons
+
+ * perl-install/share/rpmsrate: fixed error mandrake_doc
+
+2003-03-14 14:47 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: made desktop group centred.
+
+2003-03-14 14:47 Fançois Pons
+
+ * perl-install/share/rpmsrate: fixed gnupg using multiple rates.
+
+2003-03-14 14:45 Fançois Pons
+
+ * perl-install/share/rpmsrate: fixed synthax error.
+
+2003-03-14 13:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2003-03-14 11:54 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typo in french ads
+
+2003-03-14 09:27 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: mandrake-galaxy doc link is broken
+ if mandrake_doc is not install. Waiting for a better solution
+ install mandrake_doc via rpmsrate in the same group as
+ mandrake-galaxy.
+
+2003-03-14 04:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2003-03-14 02:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-23mdk
+
+2003-03-13 23:55 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed bug #417: '$' character in
+ printer URI not correctly handled.
+
+2003-03-13 18:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: via via686 upgdrade after simplification
+ too (next time pixel told me it's better to reuse some regexp, i
+ kill him)
+
+2003-03-13 18:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: fix upgrade after simplification
+
+2003-03-13 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: simplify
+
+2003-03-13 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: convert alsa driver from old naming
+ system to new one (snd-card-XXX => snd-XXX) and ensure correct
+ upgrade for snd-via683 and snd-via8233 drivers
+
+2003-03-13 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2003-03-13 16:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, ru.po: updated Russian and Finnish
+ files
+
+2003-03-13 16:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: more stuff
+
+2003-03-13 15:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_any.pm: alsa drivers are now named
+ snd-<name> not anymore snd-card-<name>
+
+2003-03-13 14:50 Warly <warly at mandriva.com>
+
+ * perl-install/install_gtk.pm: logo is the same for desktop and
+ powerpack installations.
+
+2003-03-13 13:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Fix IP pool range bug from
+ gtk2 conversion.
+
+2003-03-13 13:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, eo.po, hu.po, id.po: updated
+ Czech, Esperanto, Indonesian and Hungarian files
+
+2003-03-13 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: more thoughts
+
+2003-03-13 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup (still need to handle permissions
+ more cleanly, people using umask 0 should be shot)
+
+2003-03-13 10:53 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.desktop: Make only one sectio.
+ Include KDE/GNOME and documentation into it.
+
+2003-03-13 10:45 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: desktop group simplification.
+
+2003-03-13 10:45 Fançois Pons
+
+ * make_boot_img: reduced progress bar for isolinux.
+
+2003-03-13 10:27 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-03-13 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more logs
+
+2003-03-13 09:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: fix #3161 (ensure right permissions on
+ /etc/sysconfig/autologin for bad root umask case)
+
+2003-03-13 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: first 9.1-22mdk bits
+
+2003-03-13 04:43 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-03-13 01:55 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Bug fixes: - SHOWSTOPPER: SCSI scanners
+ were never recognized as already configured, the user was
+ always asked whether he wants to configure them. Problem was
+ that device files are symlinks. - Made most ISDN and ADSL
+ devices not being considered as a scanner by Scannerdrake, SANE
+ does not support internet scanners.
+
+2003-03-13 00:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, et.po, he.po: updated Welsh,
+ Estonian and Hebrew files
+
+2003-03-12 23:22 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-03-12 19:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update requires
+
+2003-03-12 19:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated dutch file
+
+2003-03-12 19:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: have fd0 & fd1 be
+ recognised as known entries, even if we don't probe them (useful
+ for harddrake)
+
+2003-03-12 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: jackadit^h^h^h^h^ hpixel said:
+ "we do not need anymore --auto"
+
+2003-03-12 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: better embedded diskdrake hint
+
+2003-03-12 19:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: set by default the fs type and
+ mntpoint for removables not present in fstab (useful for
+ harddrake)
+
+2003-03-12 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: - let diskdrake fit when
+ embedded in mcc - let action box be larger so that there's no
+ horizontal scrollbar in standalone mode
+
+2003-03-12 18:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix typo
+
+2003-03-12 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/wa.po: fix package build :-(
+
+2003-03-12 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix first message display
+
+2003-03-12 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: better packed paned behavior
+ in both embedded and standalone modes
+
+2003-03-12 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-03-12 17:20 Fançois Pons
+
+ * perl-install/standalone.pm: fixed return value of
+ check_kernel_module_packages and examination of synthesis file
+ using current interface of urpm library.
+
+2003-03-12 17:20 Fançois Pons
+
+ * perl-install/standalone.pm: fix small typo.
+
+2003-03-12 17:00 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix non-important (but still valid) part
+ of #2488, a.k.a package tree not expanding visually when it
+ should (needs the mouse pointer over it to be updated visually)
+
+2003-03-12 16:35 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fix for newer commercial kernel
+ module package name.
+
+2003-03-12 16:34 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fix for newer kernel
+ module package name.
+
+2003-03-12 16:34 Fançois Pons
+
+ * perl-install/install_steps.pm: fix for newer commercial package
+ name (kernel module).
+
+2003-03-12 16:09 Fançois Pons
+
+ * perl-install/network/modem.pm: fixed typo.
+
+2003-03-12 16:07 Fançois Pons
+
+ * perl-install/install_steps.pm: added minimal of what is selected
+ log for pkg_install.
+
+2003-03-12 16:05 Fançois Pons
+
+ * perl-install/install_any.pm: added log for kernel module packages
+ found.
+
+2003-03-12 15:56 Fançois Pons
+
+ * perl-install/network/modem.pm: fix ltmodem package name with
+ newer version.
+
+2003-03-12 15:51 Fançois Pons
+
+ * perl-install/detect_devices.pm: fix titi sucks.
+
+2003-03-12 13:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Tagged cyrillic keyboard as non-latin
+
+2003-03-12 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/interactive.pm, install_interactive.pm:
+ fix maximum loopback size (bug #3188)
+
+2003-03-12 12:09 Guillaume Cottenceau
+
+ * perl-install/share/po/ja.po: fix for "Advanced" by utuhiro
+ <utuhiro at mx12.freecom.ne.jp>
+
+2003-03-12 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: let it look better
+
+2003-03-12 11:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: shut up perl_checker
+
+2003-03-12 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-20mdk
+
+2003-03-12 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: really sort
+
+2003-03-12 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/harddrake2,
+ standalone/service_harddrake: handle multiple removable devices:
+ their managment is different from other hw classes since we need
+ to run a config tool per device and not one per hw class
+
+2003-03-12 08:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: - check if dm package is
+ installed and install it if needed - use format instead of
+ reverse() (not a big slow down but small rivers make big ones
+ and it makes gc happier...)
+
+2003-03-12 00:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, nl.po: updated Dutch and Czech
+ files
+
+2003-03-12 00:35 Guillaume Cottenceau
+
+ * perl-install/lang.pm: thx perl checko
+
+2003-03-12 00:10 Guillaume Cottenceau
+
+ * perl-install/lang.pm: (pablo) change kde font scheme (crossing
+ fingers)
+
+2003-03-11 23:44 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: typos fixed
+
+2003-03-11 23:36 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: rephrase a bit MNF advert to make it
+ fit
+
+2003-03-11 23:22 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: spelling
+
+2003-03-11 22:47 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: the shadow behind the new
+ adverts looks ugly, remove it
+
+2003-03-11 22:40 Guillaume Cottenceau
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ 03-software.pl, 04-configuration.pl, 05-desktop.pl,
+ 06-development.pl, 07-server.pl, 08-store.pl, 09-mdksecure.pl,
+ 10-security.pl, 11-mnf.pl, 12-mdkexpert.pl,
+ 13-mdkexpert_corporate.pl: fix pablo breaking translation of
+ advertisement :)
+
+2003-03-11 22:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: More gtk2 fixes.
+
+2003-03-11 22:22 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2003-03-11 21:48 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 01-thanks.png,
+ 02-community.pl, 02-community.png, 03-software.pl,
+ 03-software.png, 04-configuration.pl, 04-configuration.png,
+ 05-desktop.pl, 05-desktop.png, 06-development.pl,
+ 06-development.png, 07-server.pl, 07-server.png, 08-store.pl,
+ 08-store.png, 09-mdksecure.pl, 09-mdksecure.png, 10-security.pl,
+ 10-security.png, 11-mnf.pl, 11-mnf.png, 12-mdkexpert.pl,
+ 12-mdkexpert.png, 13-mdkexpert_corporate.pl,
+ 13-mdkexpert_corporate.png, list: Update
+
+2003-03-11 21:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Changed Qt Chinese XIMStyle to 'Over The
+ Spot' ('On The Spot' crashes)
+
+2003-03-11 20:04 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: new advertisement will be with
+ grey background
+
+2003-03-11 19:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: detect.pm, main.pm: Made sure that all IP
+ addresses of the local machine are in 'Allow From' lines in the
+ /etc/cups/cupsd.conf, otherwise one can have certain
+ configurations with which one cannot access to the options of the
+ local printer(s).
+
+2003-03-11 19:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed KDE default font names for CJK
+
+2003-03-11 18:24 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: 9.1 logo
+
+2003-03-11 18:02 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: really use the chosen net_connect
+ interface
+
+2003-03-11 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, no.po: updated Italian and
+ Norwegian files
+
+2003-03-11 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, standalone/drakboot: fix
+ lilo-menu not working (bug #3048)
+
+2003-03-11 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: update
+
+2003-03-11 16:50 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Added button to
+ switch to japanese text file printing.
+
+2003-03-11 16:17 Fançois Pons
+
+ * perl-install/network/adsl.pm: moved probing code outside
+ adsl_ask_info.
+
+2003-03-11 16:17 Fançois Pons
+
+ * perl-install/standalone/drakconnect: added probing of adsl
+ connection.
+
+2003-03-11 15:54 Fançois Pons
+
+ * perl-install/network/ethernet.pm: use $::prefix, waiting for 9.1
+ to be out before cleaning network modules.
+
+2003-03-11 15:43 Fançois Pons
+
+ * perl-install/network/network.pm: changed netcnx type probe (so
+ that if an ethernet connection exists, it won't cause netcnx type
+ to be always lan).
+
+2003-03-11 15:09 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: install additional
+ locales package for country according to the locale that will be
+ really used, not according to the default locale for a given
+ country (fixing unecessary installing of locales-de in case of a
+ fr_CH install)
+
+2003-03-11 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: remove XFdrake icons (per dadou's
+ request)
+
+2003-03-11 12:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, vi.po: updated Danish and
+ Vientamese files
+
+2003-03-11 10:47 Fançois Pons
+
+ * rescue/tree/etc/oem: modified language settings.
+
+2003-03-11 10:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-19mdk final
+
+2003-03-11 09:48 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kdeartwork level 3 in KDE
+
+2003-03-11 03:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: office.pm, printerdrake.pm: Many bug
+ fixes: - Wait messages bloxked the OK buttons of the dialogs
+ telling how to scan and how to read photo cards on HP´s MF
+ devices. - Do not configure OpenOffice.org any more, only Star
+ Office. OpenOffice.org is patched to have native CUPS support
+ now. - If the Port for a BrowsePoll address is left blank, 631
+ is taken as default now. - Text for firmware upload for HP
+ LaserJet 1000 now also available in the 'Learn how to use
+ printer' dialog. - Updated check of model name for HP´s MF
+ devices to newest models.
+
+2003-03-10 22:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: minor typo
+
+2003-03-10 20:39 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: some fixes
+
+2003-03-10 20:05 Guillaume Cottenceau
+
+ * perl-install/lang.pm: (pablo) workaround console localization
+ broken in RTL languages
+
+2003-03-10 19:44 Fançois Pons
+
+ * rescue/tree/etc/: oem, oem-all: added missing right parenthesis.
+
+2003-03-10 19:31 Fançois Pons
+
+ * rescue/tree/etc/: oem-all, oem: fix for strange parted behaviour.
+
+2003-03-10 19:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2003-03-10 19:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Changed console Czech keyboard
+
+2003-03-10 18:56 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kdeartwork-kde-classic not to
+ have trouble in KDE updates.
+
+2003-03-10 18:51 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.desktop: Update for new standard
+ pack
+
+2003-03-10 18:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: Makefile, cy.po, is.po, it.po, no.po:
+ updated Welsh, Icelandic, Italian, Norwegian
+
+2003-03-10 16:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: reduce gpm level from 4 to 2 in
+ system
+
+2003-03-10 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix #1461
+
+2003-03-10 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - clean wait messages creation -
+ fix wait messages displaying (label was not displayed) in both
+ standalone and embedded modes
+
+2003-03-10 15:19 Fançois Pons
+
+ * perl-install/install_any.pm: use quoted url instead for
+ install_urpmi.
+
+2003-03-10 15:18 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-03-10 15:17 Fançois Pons
+
+ * perl-install/install_any.pm: fixed duplicate url entry for file
+ and removable.
+
+2003-03-10 14:59 Guillaume Cottenceau
+
+ * perl-install/: install_steps.pm, lang.pm: fix original #2842
+ problem
+
+2003-03-10 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more logs
+
+2003-03-10 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: - fix packing on standalone mode (no
+ horizontal scrolling) - let show it all when embedded
+
+2003-03-10 13:56 Fançois Pons
+
+ * perl-install/install_any.pm: build a list file only if needed for
+ install_urpmi.
+
+2003-03-10 12:11 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: meta class desktop also uses galaxy
+ theme, not blue theme
+
+2003-03-10 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix getting brltty help and table
+ (thanks to Hans Schou)
+
+2003-03-10 11:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2003-03-10 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2, perl-install/harddrake/TODO: update
+
+2003-03-10 08:15 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: update
+
+2003-03-09 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: make perl_checker a
+ happy prog
+
+2003-03-09 22:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: no "Previous" button
+ when choosing install or upgrade
+
+2003-03-09 21:31 Guillaume Cottenceau
+
+ * perl-install/Xconfig/test.pm: fix background of X test during
+ install
+
+2003-03-09 21:05 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Typo fix
+
+2003-03-09 18:40 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: latest missing stuff
+
+2003-03-09 13:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-03-09 12:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: fixed text (missing '/')
+
+2003-03-08 04:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2003-03-08 00:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: mask encryption key
+ (using stars)
+
+2003-03-07 23:50 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: refine the already dirty code to
+ workaround gtk bug leading to bugzilla #1445 (clicking two times
+ too fast still lead to same problem)
+
+2003-03-07 19:46 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: One message
+
+2003-03-07 18:32 Guillaume Cottenceau
+
+ * perl-install/: drakxtools.spec, ugtk2.pm: fix rpmdrake dumping
+ core when multiple searchs in "selected" and "upgradable" sorting
+ modes (#2899)
+
+2003-03-07 16:38 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/any.pm: launch startx.autologin instead of startx in
+ autologin
+
+2003-03-07 15:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2003-03-07 14:35 Fançois Pons
+
+ * perl-install/network/adsl.pm: dropped a line.
+
+2003-03-07 14:20 Fançois Pons
+
+ * perl-install/network/adsl.pm: fix logical error (flepied).
+
+2003-03-07 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: don't install
+ share/advertising/*.pl files in
+ Mandrake/mdkinst/usr/bin/perl-install/share, only in
+ Mandrake/share/advertising
+
+2003-03-07 13:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, da.po, es.po, et.po, it.po, ja.po,
+ ko.po, lt.po, lv.po, mt.po, nl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sq.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ vi.po, zh_CN.po, zh_TW.po: iupdated Vietnamese, Estonian and
+ Dutch files; fixed the translations of "default:LTR"
+
+2003-03-07 12:54 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add fabman protect emails
+
+2003-03-07 12:34 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translation
+
+2003-03-07 08:55 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-03-07 04:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-03-07 02:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ 03-software.pl, 04-configuration.pl, 05-desktop.pl,
+ 06-development.pl, 07-server.pl, 08-store.pl, 09-mdksecure.pl,
+ 10-security.pl, 11-mnf.pl, 12-mdkexpert.pl,
+ 13-mdkexpert_corporate.pl: Changed _() to N_()
+
+2003-03-06 23:46 Guillaume Cottenceau
+
+ * mdk-stage1/url.c: provide Host: in http requests so that install
+ works from sites with virtual hosting (#2561)
+
+2003-03-06 22:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: typo fix
+
+2003-03-06 22:18 Fançois Pons
+
+ * perl-install/: drakxtools.spec, network/ethernet.pm: avoid
+ virtual ethX to be reconfigured by drakconnect
+
+2003-03-06 22:08 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/05-desktop.pl: Update
+
+2003-03-06 21:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: perl_checker fix
+
+2003-03-06 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: s/perl -w/use
+ diagnostics/ so stat it get removed from package at build time
+
+2003-03-06 21:49 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/03-software.pl: Fix typo
+
+2003-03-06 21:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: basic encrypt_key
+ handling in upgrade (don't mistype!)
+
+2003-03-06 21:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: cleanup
+
+2003-03-06 21:05 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 03-software.pl,
+ 06-development.pl, 07-server.pl, 08-store.pl, 11-mnf.pl,
+ 13-mdkexpert_corporate.pl: Update
+
+2003-03-06 20:52 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 03-software.pl, 03-software.png,
+ 04-configuration.pl, 04-configuration.png, 05-desktop.pl,
+ 05-desktop.png, 06-development.pl, 06-development.png,
+ 07-server.pl, 07-server.png, 08-store.pl, 08-store.png,
+ 09-mdksecure.pl, 09-mdksecure.png, 10-security.pl,
+ 10-security.png, 11-mnf.pl, 11-mnf.png, 12-mdkexpert.pl,
+ 12-mdkexpert.png, 13-mdkexpert_corporate.pl,
+ 13-mdkexpert_corporate.png: Sync names with text files
+
+2003-03-06 20:49 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 03-internet.pl, 03-internet.png,
+ 04-multimedia.pl, 04-multimedia.png, 05-games.pl, 05-games.png,
+ 06-mcc.pl, 06-mcc.png, 07-desktop.pl, 07-desktop.png,
+ 08-development.pl, 08-development.png, 09-server.pl,
+ 09-server.png, 10-mnf.pl, 10-mnf.png, 11-mdkstore.pl,
+ 11-mdkstore.png, 12-mdkstore.pl, 12-mdkstore.png,
+ 13-mdkcampus.pl, 13-mdkcampus.png, 14-mdkexpert.pl,
+ 14-mdkexpert.png, 15-mdkexpert-corporate.pl,
+ 15-mdkexpert-corporate.png, 16-thanks.png, 17-mdkclub.pl,
+ 17-mdkclub.png: Remove old files
+
+2003-03-06 20:42 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ list: Use texts from specifications
+
+2003-03-06 19:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: do not crash on color
+ selection
+
+2003-03-06 19:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: prevent one to pop up hundred
+ of windows: make browse dialog be modal
+
+2003-03-06 19:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-17mdk
+
+2003-03-06 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: - fix #1766 - do not crash
+ when browsing
+
+2003-03-06 18:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, cs.po, fi.po, ta.po, vi.po:
+ updated Czech, Arabic, Finnish, Tamil and Vietnamese files
+
+2003-03-06 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help-ru.pot: add it since drakx-chapter.xml
+ is ok (dixit Alice Lafox)
+
+2003-03-06 17:23 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: added desktop groups
+ organization.
+
+2003-03-06 17:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update
+
+2003-03-06 16:59 Fançois Pons
+
+ * perl-install/drakxtools.spec: NVIDIA drop.
+
+2003-03-06 16:57 Fançois Pons
+
+ * perl-install/install_any.pm: dropped allowNVIDIA_rpms method.
+
+2003-03-06 16:57 Fançois Pons
+
+ * perl-install/standalone/XFdrake: moved prioprietary NVIDIA code
+ support to generic prioprietary support in standalone.pm.
+
+2003-03-06 16:55 Fançois Pons
+
+ * perl-install/network/modem.pm: added support for kernel base name
+ of ltmodem.
+
+2003-03-06 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/mdk-9.2: first bits of mdk9.2 specs (aka postponed bugs...)
+ stuff
+
+2003-03-06 16:48 Warly <warly at mandriva.com>
+
+ * perl-install/network/network.pm: detect if the device is pcmcia
+ when initializing the ONBOOT parameter
+
+2003-03-06 16:47 Fançois Pons
+
+ * perl-install/standalone.pm: fixed error message.
+
+2003-03-06 16:46 Fançois Pons
+
+ * perl-install/standalone.pm: added check_kernel_module_packages
+ with same behaviour expected as for install_any module.
+
+2003-03-06 16:25 Fançois Pons
+
+ * perl-install/: install_steps_interactive.pm, install_steps.pm:
+ dropped allowNVIDIA_rpms
+
+2003-03-06 16:21 Fançois Pons
+
+ * perl-install/install_any.pm: added check_kernel_module_packages
+ for checking prioprietary base kernel package.
+
+2003-03-06 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2003-03-06 16:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: perl_checker fix
+
+2003-03-06 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-16mdk, first bit
+
+2003-03-06 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix #1929
+
+2003-03-06 15:41 Fançois Pons
+
+ * perl-install/network/ethernet.pm: fixed ifconfig invocation and
+ state analysis in install mode.
+
+2003-03-06 15:27 Fançois Pons
+
+ * perl-install/network/adsl.pm: fixed adsl login not probed in
+ install mode.
+
+2003-03-06 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, harddrake/sound.pm,
+ standalone/draksound: let fix #2244, #2245, #2730
+
+2003-03-06 15:22 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed stupid again typo.
+
+2003-03-06 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: perl_checker fixes
+
+2003-03-06 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: we do use $in !!!!
+
+2003-03-06 15:01 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: mptscsih doesn't fit on hd.img
+
+2003-03-06 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't create xxx.conf for standard devfs
+ compatibility names
+
+2003-03-06 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: merge cdroms__faking_ide_scsi()
+ and zips__faking_ide_scsi() in cdroms_and_zips__faking_ide_scsi()
+ to be able to have a good devfs device name
+
+ this fixes *__faking_ide_scsi() not faking devfs_device causing
+ bad /etc/devfs/conf.d/dvd.conf for dvd burners
+
+2003-03-06 14:55 Fançois Pons
+
+ * perl-install/install_steps.pm: modified logic for summaryAfter.
+
+2003-03-06 14:54 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed again the same typo.
+
+2003-03-06 14:54 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed stupid typo.
+
+2003-03-06 14:53 Fançois Pons
+
+ * perl-install/install_steps.pm: summaryAfter created to install
+ acpi and acpid if needed.
+
+2003-03-06 14:52 Fançois Pons
+
+ * perl-install/install2.pm: added summaryAfter steps for summary.
+
+2003-03-06 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: do not exclude "ru"
+ drakx-help.xml anymore
+
+2003-03-06 14:31 Fançois Pons
+
+ * perl-install/any.pm: make sure acpi is installed.
+
+2003-03-06 14:27 Guillaume Cottenceau
+
+ * perl-install/share/po/es.po: this translation can't get much big
+ or else it will enlarge too much diskdrake
+
+2003-03-06 14:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more fixes
+
+2003-03-06 14:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: do not detect some usb webcams as
+ scanners ...
+
+2003-03-06 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: move usb webcams which have
+ mod_quickcam as a driver from unknown to webcam clategory since
+ they do not have any valid usb class
+
+2003-03-06 14:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Enabled Laotian (was missing a definition
+ in %charsets), Bengali (there starts to be gnome translations
+ available), and Kannada (there starts to be gnome translations
+ available). Code for Xhosa added (there is an official
+ kde-i18n-xh package available), wating for lang-xh.png to enable
+ it
+
+2003-03-06 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more logdrake fixes
+
+2003-03-06 13:52 Fançois Pons
+
+ * perl-install/install_steps.pm: menu update method modified for
+ upgrade.
+
+2003-03-06 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - display "wait while
+ searching" message also when embedded: we do not want it only
+ when embedded for explanations - flush this wait dialog draw
+ queue on each update so that it get displayed when embedded
+
+2003-03-06 13:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: log system config changes
+
+2003-03-06 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, drakxtools.spec: move ugtk2 back in
+ drakxtools on gc idea
+
+2003-03-06 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more fixes
+
+2003-03-06 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: let i fit in 800x600
+
+2003-03-06 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more fixes
+
+2003-03-06 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: "ensure buttons are visible when
+ the widgets above are too big" only at install
+
+2003-03-06 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-15mdk
+
+2003-03-06 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix #2672
+
+2003-03-06 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/lang.pm: - cornish is a p-celtic language (aka a
+ britonnic one), not a gaelic one - homogeinize q-celtic languages
+ (aka gaelic ones)
+
+2003-03-06 10:04 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/fr.po: corrected remaining mise-à-jour
+
+2003-03-06 06:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, sv.po: updated Slovak and Swedish
+ files
+
+2003-03-06 05:52 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-03-06 01:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed non-ascii chars
+
+2003-03-06 01:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, standalone/harddrake2: fixed XIM
+ definitions for Chinese locales
+
+2003-03-05 23:42 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/ethernet.pm: fix to avoid creating an
+ ifcfg-1 config file.
+
+2003-03-05 23:40 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/adsl.pm: read login name from net_cnx_up in
+ pptp mode.
+
+2003-03-05 23:33 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/tools.pm: if the user don't want to start
+ the internet connection, continue without error message.
+
+2003-03-05 22:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2003-03-05 21:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, es.po, fr.po, it.po: merged with
+ help strings from manuals
+
+2003-03-05 20:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uz.po: updated Uzbek file
+
+2003-03-05 18:53 Guillaume Cottenceau
+
+ * perl-install/: any.pm, drakxtools.spec, standalone/localedrake:
+ fix behaviour when only one lang is available (clicking on
+ "cancel" on the country selection didn't cancel it)
+
+2003-03-05 18:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, ro.po, vi.po: updated Arabic,
+ Romanian and Vietnamese files
+
+2003-03-05 18:45 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix one translation
+
+2003-03-05 18:44 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/: list_modules.pm, update_kernel: IA64 merge
+
+2003-03-05 17:41 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/isdn.pm: read right config according to
+ isdn-light or isdn4linux
+
+2003-03-05 16:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: two entries remained
+
+2003-03-05 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: handle low case config variables
+ despite they should have been upcase (fix side effects of stupid
+ rh code that manage $prefdm)
+
+2003-03-05 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: prevent warning when using diagnostics
+ pragma (easier debugging)
+
+2003-03-05 15:06 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/netconnect.pm: use driver instead of
+ descrition to validate an isdn autodetection
+
+2003-03-05 15:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-03-05 14:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: prevent warning when using
+ diagnostics pragma (easier debugging)
+
+2003-03-05 14:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_steps_interactive.pm,
+ standalone/drakxtv: - (getTVcards, isTVcard) : consolidate tv
+ detection code - no need to keep capture buffer (not a big slow
+ down but small rivers make big ones...)
+
+2003-03-05 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2003-03-05 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: normalize
+
+2003-03-05 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, standalone/harddrake2,
+ common.pm: prevent warning when using diagnostics pragma (easier
+ debugging)
+
+2003-03-05 14:16 Fançois Pons
+
+ * perl-install/drakxtools.spec: add changelog for drakconnect
+ modification.
+
+2003-03-05 14:13 Fançois Pons
+
+ * perl-install/standalone/drakconnect: fixed wizard modification
+ not taken into account when using drakconf.
+
+2003-03-05 14:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more to come
+
+2003-03-05 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (choose_xdm): allow to switch
+ back from level 5 to level 3
+
+2003-03-05 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: ensure buttons are visible when
+ the widgets above are too big
+
+2003-03-05 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: isdn.pm, network.pm: this is perl, not
+ python ;p
+
+2003-03-05 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: modifying keyboard in summary must
+ modify XF86Config
+
+2003-03-05 11:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: restore old search behavior
+ like we did before gtk+-2 port: - empty log buffer on search
+ startup - freeze buffer while searching
+
+ - do not realize ourselves the window, it's done by next
+ statement - set initial text to '' so that editable property is
+ disabled once the textview is realized
+
+2003-03-05 10:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: no need to explicitely disable
+ editable property, this is already handled by
+ ugtk2::gtktext_insert() called from ugtk2::gtktext_append()
+
+2003-03-05 02:39 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translation
+
+2003-03-05 02:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, be.po, eo.po, hu.po, is.po, lt.po,
+ sl.po, tg.po, th.po, uk.po: updated Hungarian file
+
+2003-03-04 23:35 Fançois Pons
+
+ * perl-install/standalone/drakconnect: clean interface flags when
+ dhcp mode is used.
+
+2003-03-04 23:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-03-04 22:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2003-03-04 22:54 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/isdn.pm: corrected isdn-light choice
+
+2003-03-04 22:01 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: allow to set hostname in DHCP
+ mode
+
+2003-03-04 21:58 Frederic Lepied <flepied at mandriva.com>
+
+ * kernel/list_modules.pm: added usbvnet_rfmd to network/usb
+
+2003-03-04 21:32 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: install tmdns only when bind
+ isn't installed
+
+2003-03-04 21:31 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/modem.pm: install kdenetwork-kppp if kdebase
+ is already installed
+
+2003-03-04 19:01 Guillaume Cottenceau
+
+ * perl-install/lang.pm: set better default XIMInputStyle value for
+ CJK, thx to Narfi Stefansson <narfi at cs.wisc.edu> for the idea
+
+2003-03-04 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add "acpi" and "acpid" to INSTALL
+
+2003-03-04 18:12 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add florin alafox alus
+
+2003-03-04 17:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, th.po: corrected encoding problems
+
+2003-03-04 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - untabify - fix small memory
+ leak (tree iterators) - restore edit dialog on doble click and -
+ restore informations retrieving for edit dialog on doble click
+ and get rid of %CURENT
+
+2003-03-04 16:48 Guillaume Cottenceau
+
+ * mdk-stage1/: newt-frontend.c, stdio-frontend.c: don't forget to
+ probe USB for info and error messages as well
+
+2003-03-04 16:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: mt.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sq.po, sr.po, sv.po,
+ ta.po, tg.po, th.po, tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2003-03-04 16:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: scroll back when logging
+
+2003-03-04 16:14 Fançois Pons
+
+ * perl-install/network/ethernet.pm: avoid being pertubed by created
+ virtual interface (no inet addre nor physicall card behing)
+
+2003-03-04 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, ko.po, lt.po, lv.po, DrakX.pot:
+ updated pot file
+
+2003-03-04 15:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po,
+ id.po, is.po, it.po: updated pot files
+
+2003-03-04 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: move imap to NETWORKING_MAIL_SERVER
+ (bug #2622)
+
+2003-03-04 13:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - remove last warning - remove
+ unused variables
+
+2003-03-04 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: in drakxservices, don't stop services
+ if one is using the gtk frontend (since it allows one to
+ start/stop services) this allows to skip stopping service "dm"
+ (bug #2664)
+
+2003-03-04 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - fix #1776 (part one): make up
+ and down button be usefull instead of nop (this need an updated
+ perl-GTK2 though) - let up, down, delete and edit buttons be
+ insensitive when selection is destroyed or when there's no
+ selection
+
+2003-03-04 13:36 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/profile: - unsetting LD_LIBRARY_PATH: setting
+ LD_LIBRARY_PATH to libraries in /mnt is wrong since the ld loader
+ used (/lib/ld-linux.so.2) won't use the one in /mnt, causing
+ dependency problems. - removing /mnt dirs from PATH (which are
+ not useful anymore since the corresponding libraries won't be
+ found) (fixes bug #2554)
+
+2003-03-04 13:09 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: simplified form (pixel)
+
+2003-03-04 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: - in focus_in_event for
+ partition buttons, grab_focus is needed because gtk2 is buggy.
+ Forcing an expose event would be enough - in button_press_event
+ for partition buttons, grab_focus is needed because gtk2 is
+ buggy. The creation of widgets causes the lost of the focus
+ (fixes part of #2621)
+
+2003-03-04 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: make perl_checker happy
+
+2003-03-04 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2003-03-04 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: (check): fix return value (bug
+ introduced with checking portmap is running)
+
+2003-03-04 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - fix #1776 part two (do not
+ insert dummy lines) - restore special lines with current keyword
+ - reuse already defined path
+
+2003-03-04 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: remove debuging assertions (as
+ spoted by gc)
+
+2003-03-04 08:18 Frederic Lepied <flepied at mandriva.com>
+
+ * kernel/list_modules.pm: added 3c90x
+
+2003-03-04 02:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2003-03-03 23:31 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated and partially proofread.
+ need more lproof
+
+2003-03-03 23:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add some explaination
+ for translators
+
+2003-03-03 23:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: translate _bootloader_
+ on _device_
+
+2003-03-03 22:14 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: a few treeview/list fixes: -
+ when selecting a value, scroll it like in treeview/tree - use
+ saved_default_val dirty hackery to really honour default value -
+ fix not calling $select again when trying to select an already
+ selected value (happens when clicking or keyboard-selecting;
+ broken, it ended up in always scrolling the selected value to
+ the center)
+
+2003-03-03 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: use formatAlaTeX() for the
+ warning "DrakX will now resize your Windows partition..."
+
+2003-03-03 22:11 Guillaume Cottenceau
+
+ * perl-install/: any.pm, drakxtools.spec: any::selectLanguage: in
+ standalone, don't categorize langs, for better looking (since
+ most people will have very few of them)
+
+2003-03-03 21:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: translate mouse names
+
+2003-03-03 21:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-03-03 21:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: update from xml
+
+2003-03-03 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: help-de.pot, help-es.pot, help-fr.pot:
+ update from xml
+
+2003-03-03 20:35 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add an extra first choose the net
+ device step
+
+2003-03-03 18:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, fi.po, nl.po: updated Estonian,
+ Finnish and Dutch files
+
+2003-03-03 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (n_line_size): spacing for default font
+ using XFT is 3
+
+2003-03-03 17:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: remove unused $rows_cnt
+
+2003-03-03 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-13mdk
+
+2003-03-03 16:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: unfuzzy()
+
+2003-03-03 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - fix #2091 and #2480 (settings
+ restoration - make dialogs be modal
+
+2003-03-03 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (runlevel): fix typo
+
+2003-03-03 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - remove a warning - better
+ scsi bus location
+
+2003-03-03 15:26 Fançois Pons
+
+ * perl-install/network/adsl.pm: simplified code of adsl_ask_info,
+ password can be retrieved using passwd_by_login which was not
+ used with computed login from /etc/ppp/peers/adsl or
+ /etc/ppp/options or /etc/ppp/options.adsl.
+
+2003-03-03 15:25 Fançois Pons
+
+ * perl-install/network/tools.pm: simplified unquotify.
+
+2003-03-03 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: reap zombie children (aka fix
+ mem leak :-( )
+
+2003-03-03 14:40 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-03-03 14:36 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-03-03 14:18 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: thx po validato
+
+2003-03-03 14:15 Guillaume Cottenceau
+
+ * perl-install/share/po/validate.pl: make it useful - print
+ problems with GREP_COLOR - have enough exceptions to get usable
+ errors
+
+2003-03-03 13:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: Fixed bug of
+ wrong function call to display the spooler name (Titi's untested
+ changes).
+
+2003-03-03 12:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po,
+ uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-03-03 11:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add ncurses-devel in DEVELOPMENT
+
+2003-03-03 11:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix translation
+
+2003-03-03 10:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: help-es.pot, help-fr.pot, help-it.pot:
+ revert to non broken version
+
+2003-03-03 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/help-de.pot: revert to non broken version
+
+2003-03-03 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-12mdk
+
+2003-03-03 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: smoother gui: let main windows
+ be unreachable until modal dialog is closed
+
+2003-03-03 10:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix bug reported by Cédric
+ Thévenet (impossible to save newly edited rules)
+
+2003-03-03 05:03 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation change
+ code page to utf-8
+
+2003-03-03 03:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Fixed bug of USB printers which
+ do not report back an IEEE-1284 ID string after three attempts
+ being invisible instead of being listed as an "Unknown device".
+
+2003-03-03 00:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/data.pm: Make file checks for CUPS package
+ installation independent of whether "curl" or "wget" is installed
+ to fulfill the "webfetch" requirement.
+
+2003-03-03 00:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Avoid two overlayed wait
+ messages when installing packages - Let applications
+ (OpenOffice.org/GIMP) being once on startup of Printerdrake
+
+2003-03-02 23:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/gimp.pm: Fixed auto-configuration for
+ printers in the GIMP to work with Foomatic 3.0.
+
+2003-03-02 23:11 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Hard spell checking
+
+2003-03-02 20:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Call function for
+ configuring applications only if really needed.
+
+2003-03-02 19:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Read device ID string for a USB
+ printer up to three times when it does not contain information.
+
+2003-03-02 18:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Shortened the texts in some
+ list dialogs to get a better layout.
+
+2003-03-02 17:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Correction on reading the Foomatic
+ overview.
+
+2003-03-02 17:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixes on reading of Foomatic data
+ overview ("foomatic-configure -O"): - Removed usage of on-disk
+ cache - Made new "<general>" and "<ieee1284>" tags for
+ auto-detection info being recognized.
+
+2003-03-02 15:56 Guillaume Cottenceau
+
+ * perl-install/share/po/translation_size.pl: add
+
+2003-03-02 05:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, es.po, et.po, fi.po, hu.po, ro.po:
+ updated Arabic, Estonian, Finnish, Hungarian and Romanian files
+
+2003-03-02 04:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - When non-interactively
+ creating print queues ask the user for the model name if the
+ model is not in the database, don't do wild guesses then.
+
+2003-03-02 02:57 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: updated
+
+2003-03-01 22:37 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translation
+
+2003-03-01 20:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: The generation of the
+ "Summary" button for printer configuration created a blank entry
+ in the $o->{printer}{configures} hash which lead to a blank menu
+ entry in the main menu of printerdrake. This is fixed now.
+
+2003-03-01 19:07 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translation
+
+2003-03-01 06:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, sp.po, sr.po, sv.po, zh_CN.po:
+ updated Chinese, Swedish, Hungarian and Serbian files
+
+2003-02-28 23:13 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-28 22:59 Guillaume Cottenceau
+
+ * perl-install/detect_devices.pm: let hasSMP don't exit DrakX in
+ testing mode because /dev/mem is not accessible
+
+2003-02-28 22:58 Guillaume Cottenceau
+
+ * perl-install/share/po/ja.po: reduce a translation size so that
+ groups choice still has the "ok" button shown
+
+2003-02-28 22:13 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations. Some
+ fuzzy left
+
+2003-02-28 21:54 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: update
+
+2003-02-28 21:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ help-de.pot, help-es.pot, help-fr.pot, help-it.pot, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-28 21:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakpxe: fixed bad English string
+
+2003-02-28 20:56 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - fix the check of mandrake_doc
+ installed package (gc)
+
+2003-02-28 20:16 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: fix deps problem when re-running make
+
+2003-02-28 20:12 Guillaume Cottenceau
+
+ * perl-install/lang.pm: remove temporiraly lo because utf_lo is not
+ in the charsets hash
+
+2003-02-28 20:09 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: moltes powered (for deush)
+
+2003-02-28 19:52 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, kernel/modules.pl, kernel/update_kernel,
+ mdk-stage1/.cvsignore, mdk-stage1/Makefile, mdk-stage1/modules.c:
+ hd_usb.img -> hdcdrom_usb.img
+
+2003-02-28 18:47 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: cøws gó mòõh
+
+2003-02-28 18:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/harddrake2: i18n fixes
+
+2003-02-28 17:09 Guillaume Cottenceau
+
+ * perl-install/standalone/: adduserdrake, drakbackup, drakboot,
+ drakconnect, drakfirewall, drakfont, drakgw, drakperm, drakproxy,
+ drakpxe, draksplash, drakxservices, drakxtv, harddrake2,
+ keyboarddrake, livedrake, logdrake, mousedrake, scannerdrake:
+ reflect in standalone drakxtools the removal of DrakX icons
+
+2003-02-28 16:56 Fançois Pons
+
+ * perl-install/any.pm: install acpi and acpid if "Enable ACPI" is
+ ok.
+
+2003-02-28 16:40 Fançois Pons
+
+ * perl-install/drakxtools.spec: ltmodem support reminder.
+
+2003-02-28 16:40 Fançois Pons
+
+ * perl-install/drakxtools.spec: fixes for drakconnect.
+
+2003-02-28 16:36 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: perl checko says we need to use
+ parentheses with ref
+
+2003-02-28 15:50 Fançois Pons
+
+ * perl-install/standalone/drakconnect: removed profile management
+ entry point.
+
+2003-02-28 14:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, ja.po: Updated Estonian file
+
+2003-02-28 14:48 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: hugly hack because GtkLabel doesn't wrap
+ when using languages that don't contain spaces
+
+2003-02-28 14:03 Fançois Pons
+
+ * perl-install/network/modem.pm: add LT WinModem support by
+ searching ltmodem package.
+
+2003-02-28 13:39 Guillaume Cottenceau
+
+ * perl-install/share/po/ja.po: reduce some translations sizes to
+ make diskdrake at least usable ("ok" button was hidden!)
+
+2003-02-28 12:59 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: fix theming in --doc mode
+
+2003-02-28 12:18 Guillaume Cottenceau
+
+ * perl-install/: lang.pm, pixmaps/langs/lang-af.png,
+ pixmaps/langs/lang-am.png, pixmaps/langs/lang-az.png,
+ pixmaps/langs/lang-be.png, pixmaps/langs/lang-bg.png,
+ pixmaps/langs/lang-bn.png, pixmaps/langs/lang-br.png,
+ pixmaps/langs/lang-bs.png, pixmaps/langs/lang-ca.png,
+ pixmaps/langs/lang-cs.png, pixmaps/langs/lang-cy.png,
+ pixmaps/langs/lang-da.png, pixmaps/langs/lang-de.png,
+ pixmaps/langs/lang-el.png, pixmaps/langs/lang-en_GB.png,
+ pixmaps/langs/lang-en_US.png, pixmaps/langs/lang-eo.png,
+ pixmaps/langs/lang-es.png, pixmaps/langs/lang-et.png,
+ pixmaps/langs/lang-eu.png, pixmaps/langs/lang-fi.png,
+ pixmaps/langs/lang-fo.png, pixmaps/langs/lang-fr.png,
+ pixmaps/langs/lang-ga.png, pixmaps/langs/lang-gd.png,
+ pixmaps/langs/lang-gl.png, pixmaps/langs/lang-gv.png,
+ pixmaps/langs/lang-he.png, pixmaps/langs/lang-hi.png,
+ pixmaps/langs/lang-hr.png, pixmaps/langs/lang-hu.png,
+ pixmaps/langs/lang-hy.png, pixmaps/langs/lang-ia.png,
+ pixmaps/langs/lang-id.png, pixmaps/langs/lang-is.png,
+ pixmaps/langs/lang-it.png, pixmaps/langs/lang-iu.png,
+ pixmaps/langs/lang-ja.png, pixmaps/langs/lang-ka.png,
+ pixmaps/langs/lang-kn.png, pixmaps/langs/lang-ko.png,
+ pixmaps/langs/lang-kw.png, pixmaps/langs/lang-lo.png,
+ pixmaps/langs/lang-lt.png, pixmaps/langs/lang-lv.png,
+ pixmaps/langs/lang-mi.png, pixmaps/langs/lang-mk.png,
+ pixmaps/langs/lang-mn.png, pixmaps/langs/lang-mr.png,
+ pixmaps/langs/lang-ms.png, pixmaps/langs/lang-mt.png,
+ pixmaps/langs/lang-nb.png, pixmaps/langs/lang-nl.png,
+ pixmaps/langs/lang-nn.png, pixmaps/langs/lang-no.png,
+ pixmaps/langs/lang-oc.png, pixmaps/langs/lang-pl.png,
+ pixmaps/langs/lang-pt.png, pixmaps/langs/lang-pt_BR.png,
+ pixmaps/langs/lang-ro.png, pixmaps/langs/lang-ru.png,
+ pixmaps/langs/lang-sk.png, pixmaps/langs/lang-sl.png,
+ pixmaps/langs/lang-sp.png, pixmaps/langs/lang-sq.png,
+ pixmaps/langs/lang-sr.png, pixmaps/langs/lang-sv.png,
+ pixmaps/langs/lang-ta.png, pixmaps/langs/lang-te.png,
+ pixmaps/langs/lang-tg.png, pixmaps/langs/lang-th.png,
+ pixmaps/langs/lang-tr.png, pixmaps/langs/lang-tt.png,
+ pixmaps/langs/lang-uk.png, pixmaps/langs/lang-ur.png,
+ pixmaps/langs/lang-uz.png, pixmaps/langs/lang-vi.png,
+ pixmaps/langs/lang-wa.png, pixmaps/langs/lang-yi.png,
+ pixmaps/langs/lang-zh_CN.png, pixmaps/langs/lang-zh_TW.png: put
+ new pablo's images (less large, add missing ones) sort langs in
+ lang.pm
+
+2003-02-28 11:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-28 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: ensure the $::expert
+ flag in netconnect doesn't propagate to the rest of the install
+
+2003-02-28 09:40 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: corrected HOSTNAME/DHCP_HOSTNAME
+ management.
+
+2003-02-28 09:38 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/netconnect.pm: allow to switch in expert
+ mode during install.
+
+2003-02-28 09:37 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/ethernet.pm: Configure hostname only in
+ expert mode.
+
+2003-02-28 02:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, share/rpmsrate: - Fixed confScanner()
+ deleting the config file in some cases. - Removed PDQ from
+ share/rpmsrate
+
+2003-02-28 00:34 Guillaume Cottenceau
+
+ * perl-install/: Makefile, lang.pm: error out when a listed lang
+ doesn't have a png lang file when doing the check of lang.pm,
+ first show the warnings, then the errors at make-install time,
+ remove pang lang files corresponding to disabled langs
+
+2003-02-28 00:02 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: short name for rdz's on floppy
+
+2003-02-27 23:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-10mdk
+
+2003-02-27 23:10 Fançois Pons
+
+ * perl-install/network/adsl.pm: add sagem connection and
+ disconnection script using /etc/ppp/peers/adsl file.
+
+2003-02-27 23:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: workaround gtk suckiness
+ (set_text in a combo generates two 'change' signals, one when
+ removing the whole, one for inserting the replacement..)
+
+2003-02-27 22:36 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: don't forget gigabit
+ network adapters
+
+2003-02-27 22:36 Fançois Pons
+
+ * perl-install/network/adsl.pm: probe user and password in
+ /etc/ppp/options.adsl too (as produced by original eagle
+ installation), sagem adsl type connection does not need to
+ configure an ethernet connection.
+
+2003-02-27 21:36 Alice Lafox <alice at lafox.com.ua>
+
+ * perl-install/share/po/ru.po: spellchecked and updated some
+ translations
+
+2003-02-27 20:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-27 20:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: /root on a separate partition gives a
+ warning, not an error
+
+2003-02-27 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: (check): start portmap if needed
+
+2003-02-27 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use lilo-like code for selecting
+ mapdrive or not (it was buggy, always generating "map (0x81)
+ (0x80)", even for hd2)
+
+2003-02-27 20:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ add ieee1394-controller alias and load ohci1394 when a firewire
+ controller appeared
+
+2003-02-27 20:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_any.pm, standalone/diskdrake: - add
+ get_info_from_fstab() - use it when reading existing fstab (to
+ get for example devfs mount)
+
+2003-02-27 20:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: allow removing device
+ "non kudzu flagged" (for harddrake)
+
+2003-02-27 19:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: perl_checker fix
+
+2003-02-27 19:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, office.pm: Make OpenOffice.org
+ opening a GUI printing tool when printing with the "Generic
+ Printer".
+
+2003-02-27 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate missing translations
+
+2003-02-27 19:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix sorting in keybordrake that was
+ broken by bad translator
+
+2003-02-27 19:09 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added mirror url not
+ given.
+
+2003-02-27 19:04 Fançois Pons
+
+ * perl-install/share/rpmsrate: moved galaxy-gnome to X from GNOME
+ (lmontel and dadou request)
+
+2003-02-27 18:56 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed small typo.
+
+2003-02-27 18:50 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added cancel button.
+
+2003-02-27 18:36 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed message
+ displayed.
+
+2003-02-27 18:36 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added dialog more
+ precisely.
+
+2003-02-27 18:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-10mdk
+
+2003-02-27 18:34 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added message box in
+ case of error.
+
+2003-02-27 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: handle configurators
+ with options (eg: "diskdrake --removable=scd0")
+
+2003-02-27 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: no mouse probe when brltty
+
+2003-02-27 17:01 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: corrected HOSTNAME management
+
+2003-02-27 16:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Do not ask for the port
+ when the user has chosen an HP MF device as scanner model.
+
+2003-02-27 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-9mdk
+
+2003-02-27 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix too big internet
+ configuration window
+
+2003-02-27 15:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix embedding
+
+2003-02-27 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - don't need to list packages
+ providing a required virtual language (eg: aspell-dictionnary) -
+ replace ispell with aspell (otherwise people using evolution get
+ both aspell and ispell)
+
+2003-02-27 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: make it fit in embedded mode,
+ large enough else
+
+2003-02-27 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: enhance packageCallbackChoices and
+ %preferred (uses new URPM::Resolve feature allowing multiple
+ choices)
+
+2003-02-27 14:52 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: read more carefully the existing
+ network configuration
+
+2003-02-27 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: have locales-xx first in
+ default_packages so that default choosing based on locales works
+ for packages in default_packages
+
+2003-02-27 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - better check
+ /sbin/ifconfig is executable rather than simply exists - fix lan
+ configuration window filling ...
+
+2003-02-27 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: perl_checker fix
+
+2003-02-27 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: perl_checker fix
+
+2003-02-27 14:01 Fançois Pons
+
+ * perl-install/standalone/drakconnect: fixed cancel on
+ configure_net, fixed bad fields setted up in configure_lan, fixed
+ Data::Dumper->Dump on stdout on startup.
+
+2003-02-27 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix scrolling when embedded
+
+2003-02-27 13:06 Guillaume Cottenceau
+
+ * perl-install/standalone/mousedrake: fix mousedrake in embedded
+ mode
+
+2003-02-27 12:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hu.po, nl.po: updated Dutch,
+ Hungarian and Danish files
+
+2003-02-27 11:16 Fançois Pons
+
+ * perl-install/crypto.pm: change default version to 9.1
+
+2003-02-27 11:14 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: the function is called
+ read_dhcpd_conf not read_dhcpd_conf_raw
+
+2003-02-27 11:13 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: read the dhcpd conf file before
+ hand
+
+2003-02-27 11:07 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/network.pm: add the read_dhcpd_conf function
+ for drakgw
+
+2003-02-27 11:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: remove debugging print
+
+2003-02-27 10:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-8mdk
+
+2003-02-27 10:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - gtk+2 port - clean the code
+ through ugtk2 - too many fixes to count - clean, clean it, ...
+ (thus shrinking the code by 20%) - ...
+
+2003-02-27 10:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect firewire controllers
+
+2003-02-27 09:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: small perl_checker fix
+
+2003-02-27 08:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakboot: - disable autologin settings
+ when autologin is disabled - make embedded app look better - add
+ vertical separators
+
+2003-02-27 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - consolidate menu titles
+ translations - add two pull down menu that enable one to access
+ options and help when embedded - (popup_menu) provide this
+ callback for embedded pull down menus - cleanup various other
+ embedding stuff - convert all object creations to gc blessed
+ style
+
+2003-02-27 08:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - (create_factory_popup_menu): introduce
+ it for embedded harddrake2 - embedding cleanups: o give access
+ to top-level gtk2::plug widget o reuse gtkshow
+
+2003-02-27 03:43 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation
+
+2003-02-27 02:24 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: More gtk2 updates. May have
+ finally suppressed the hanging.
+
+2003-02-27 01:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Fixed bug #2171.
+
+2003-02-27 00:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, nl.po: updated Finnish and Dutch
+ files
+
+2003-02-26 23:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: Fixed syntax error
+
+2003-02-26 23:17 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: uipdated
+
+2003-02-26 21:54 Tibor Pittich <Tibor.Pittich at phuture.sk>
+
+ * perl-install/share/po/sk.po: updated slovak translation (this is
+ my first cvs commit ;) ).
+
+2003-02-26 19:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Skip Alcatel Speed Touch ADSL Modem when
+ it is detected by "sane-find-scanner"
+
+2003-02-26 17:35 Fançois Pons
+
+ * perl-install/standalone/drakpxe: added code to handle more
+ smootly if apache or apache-mod_perl is installed, or try using
+ apache2.
+
+2003-02-26 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: untabify
+
+2003-02-26 17:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: handle multi-line labels for
+ Checkbox'es (eg: Options in diskdrake)
+
+2003-02-26 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakboot: - kill used once
+ only bootlook module - inline oneliners use only once - kill
+ unused variables - strict pragma fixes - ...
+
+2003-02-26 16:28 Fançois Pons
+
+ * perl-install/standalone/drakconnect: fixed unablities to launch
+ Internet configuration dialog.
+
+2003-02-26 16:27 Fançois Pons
+
+ * perl-install/network/network.pm: small fixes.
+
+2003-02-26 16:14 Fançois Pons
+
+ * perl-install/standalone/drakconnect: add explicit probe for
+ netcnx type.
+
+2003-02-26 16:14 Fançois Pons
+
+ * perl-install/network/network.pm: added probe separately to handle
+ drakconnect horror.
+
+2003-02-26 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect usb adsl speed touch modem
+ as modem and not as unknown device
+
+ what's remain: why sane-find-scanner keep detect it a scanner ??
+
+2003-02-26 16:05 Fançois Pons
+
+ * make_boot_img: cleaned acpi entries to propagate to all image
+ (floppies included).
+
+2003-02-26 15:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/gen_locales.sh: removed exception for Tamil
+
+2003-02-26 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: on laurent request, strip the
+ empty lines and add a end-of-line character on last line
+
+2003-02-26 15:25 Fançois Pons
+
+ * perl-install/network/network.pm: add probe of internet connection
+ (this could avoid strange behaviour).
+
+2003-02-26 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: uk.po, uz.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: typo fix (s/snd-slot/sound-slot/)
+
+2003-02-26 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, share/po/fr.po,
+ share/po/DrakX.pot, share/po/af.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fi.po, share/po/ga.po,
+ share/po/gl.po, share/po/he.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/mt.po,
+ share/po/nl.po, share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sq.po,
+ share/po/sr.po, share/po/sv.po, share/po/ta.po, share/po/tg.po,
+ share/po/th.po, share/po/tr.po: typo fix (s/snd-slot/sound-slot/)
+
+2003-02-26 15:19 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: moved type detection
+ code to network.
+
+2003-02-26 15:15 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/: Makefile, share/list.ia64: merge ia64
+
+2003-02-26 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: handle the "Advanced" button in
+ newt
+
+2003-02-26 14:58 Fançois Pons
+
+ * perl-install/standalone/drakpxe: switched to apache2 instead of
+ apache (avoid problem with apache-mod_perl).
+
+2003-02-26 14:29 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/bootloader.pm: merge ia64
+
+2003-02-26 14:19 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-26 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/isdn.pm: replace the last @isdndata with
+ @isdn::isdndata (beurk)
+
+2003-02-26 14:11 Fançois Pons
+
+ * perl-install/network/network.pm: fixed back as titi sucks about
+ message.
+
+2003-02-26 14:04 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/install_steps.pm: Merging ia64
+
+2003-02-26 14:03 Fançois Pons
+
+ * perl-install/network/network.pm: try to get back DOMAINNAME if
+ needed.
+
+2003-02-26 13:13 Fançois Pons
+
+ * perl-install/install2.pm: added corporate global flag.
+
+2003-02-26 12:41 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/install_any.pm: merge ia64
+
+2003-02-26 12:39 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/list.ia64: merg ia64
+
+2003-02-26 12:34 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/partition_table.pm: merging ia64
+
+2003-02-26 12:21 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/: fsedit.pm, steps.pm: merging ia64
+
+2003-02-26 12:17 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/fs.pm: merging fs.pm with ia64
+
+2003-02-26 12:14 Erwan Velu <erwan at mandriva.com>
+
+ * perl-install/any.pm: Merging any.pm with ia64
+
+2003-02-26 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - remove unused variable (hey
+ perl_checker, why didn't you see it ?) - (rename_field) better
+ use the parameter we passed than relying on $_ be set to the
+ right value in that context even if it was correct
+
+2003-02-26 11:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-02-26 11:51 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/c/: smp-dmi.c, smp.c: Two smp detection for intel
+ arch
+
+2003-02-26 11:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: There is no arabic keyboard available
+ for the console
+
+2003-02-26 10:37 Fançois Pons
+
+ * make_boot_img: added acpi entries with activated acpi.
+
+2003-02-26 09:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/smp-dmi.c: fix planel sucks that broke the
+ installation (hint look at nm output on old stuff.so ... )
+
+2003-02-26 08:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated Finnish,
+ Hungarian and Slovak files
+
+2003-02-26 01:50 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Gtk2 port. Bugzilla reports.
+ Some perl_checker errors still, but cleaner. (some are
+ generated by calls from other modules used)
+
+2003-02-26 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, diskdrake/interactive.pm:
+ after ntfs resize, warn user that on Windows next boot fsck will
+ be done
+
+2003-02-26 00:57 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translation
+
+2003-02-25 22:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (read_resolv_conf_raw): fix
+ "search ..." handling
+
+2003-02-25 21:48 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/mount.c: handle device hdi, hdj... hdt creation
+
+2003-02-25 20:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-02-25 19:15 Fançois Pons
+
+ * perl-install/pkgs.pm: improved code for populating group with
+ pixel.
+
+2003-02-25 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: - remove deprecated, half-commented
+ aurora related code - fix display of autologin radio buttons
+
+2003-02-25 17:47 Fançois Pons
+
+ * perl-install/network/adsl.pm: cleaned a bit the code.
+
+2003-02-25 17:41 Fançois Pons
+
+ * perl-install/network/adsl.pm: added login and passwd remember
+ from /etc/ppp/peers/adsl /etc/ppp/options /etc/ppp/pap-secrets
+ /etc/ppp/chap-secrets file
+
+2003-02-25 17:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ga.po, lt.po, lv.po, uk.po: Fixed
+ the wrong Finish/Finnish of some translations
+
+2003-02-25 17:15 Fançois Pons
+
+ * perl-install/network/adsl.pm: modified string as sagem driver now
+ use pppoa
+
+2003-02-25 17:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: Fixed Thai button for "Finish" (it
+ means "end" and not "from Finland")
+
+2003-02-25 16:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Prepared for
+ LPRng and PDQ goint to Contribs or leaving the distro, "Change
+ Printing System" button only appears if at least one of them is
+ manually installed.
+
+2003-02-25 16:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: zh_CN.po, zh_TW.po: updated Finnish and
+ French files
+
+2003-02-25 16:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po: updated Finnish and French files
+
+2003-02-25 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-7mdk
+
+2003-02-25 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm: join
+ detect_devices::stringlist() to have it in a text box (eurk!)
+ (for bug #1802), the result is quite ugly, but at least the full
+ line can be read
+
+2003-02-25 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake:
+ handle floppes, zip drives, dvd-rom, cdrom and burners at startup
+ time
+
+2003-02-25 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-02-25 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: do not display alternatives
+ oss/alsa drivers if there's none
+
+2003-02-25 14:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/harddrake2: -
+ factorize code into harddrake::data::set_removable_configurator()
+ - really do not offer to configure module for removable devices -
+ do not put zip drives in unknown devices class - reuse Yes|No
+ translations in harddrake::ui
+
+2003-02-25 14:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: cleanup
+ handling of XF4 server choice during install
+
+2003-02-25 14:36 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/fr.po: mise-à-jour => mise à jour
+
+2003-02-25 14:36 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: readd harddrake in SYSTEM 5
+
+2003-02-25 13:30 Fançois Pons
+
+ * perl-install/any.pm: added dmidecode in bug report.
+
+2003-02-25 13:28 Fançois Pons
+
+ * perl-install/share/list: added dmidecode in install.
+
+2003-02-25 13:27 Fançois Pons
+
+ * rescue/list: removed dmidecode.
+
+2003-02-25 13:22 Fançois Pons
+
+ * rescue/list: added dmidecode for rescue (from lm_sensors)
+
+2003-02-25 13:19 Fançois Pons
+
+ * tools/Makefile, perl-install/Makefile: removed dmidecode.
+
+2003-02-25 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (fileshare_config): create group "fileshare"
+ in "Custom" mode
+
+2003-02-25 12:51 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: add ARCHIVING in OFFICE
+
+2003-02-25 11:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: s/apache/apache2/
+
+2003-02-25 11:47 Pixel <pixel at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: add 3c990 and bcm4400 (bug
+ #2316)
+
+2003-02-25 11:39 Nicolas Planel <nplanel at mandriva.com>
+
+ * perl-install/c/: Makefile.PL, smp-dmi.c, smp.c: Add dmidetection
+ for smp
+
+2003-02-25 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: don't black out the
+ screen if not needed
+
+2003-02-25 11:32 Fançois Pons
+
+ * perl-install/Makefile, tools/Makefile: added dmidecode
+
+2003-02-25 10:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: More xf86 modules for x86-64
+
+2003-02-25 10:00 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed gnome-tiles
+
+2003-02-25 09:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - don't offer to configure
+ module for removable media - usb devices (such as zip): display
+ vendor, description and a more detailled media type
+
+2003-02-25 08:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: we already use diagnostics
+ pragma, so -w will just slow down normal execution
+
+2003-02-25 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: only list physically present
+ floppies
+
+2003-02-25 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: reuse MDK::Common
+
+2003-02-25 08:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - fix stupid copy 'n past of
+ copyright header - update copyright years
+
+2003-02-25 08:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix #???? : switch the
+ "expert mode" toggle button label regarding the current mode
+ (beginner or expert)
+
+2003-02-25 08:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: display media capacity too
+ (DVD and/or burning ability)
+
+2003-02-25 01:45 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: Updated Spanish translations (some
+ left)
+
+2003-02-24 21:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, pl.po, pt.po, pt_BR.po:
+ updated Portuguese file
+
+2003-02-24 19:23 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/probing.c: replace checking hd[a-h] with hd[a-t] (cf
+ bug #1801)
+
+2003-02-24 19:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: use Sans & Monospace for kde (as requested
+ by lmontel)
+
+2003-02-24 18:59 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: "Mail/Groupware/News" is now just
+ "Mail"
+
+2003-02-24 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-6mdk
+
+2003-02-24 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: in standalone mode, only display a
+ service as enabled at boot time only if it's really enabled in
+ current runlevel. what's more it's more coherent with other
+ "only show current runlevel status" tools like ntsysv.
+
+2003-02-24 15:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/modules.pm: dmasound_awacs -> dmasound_pmac
+
+2003-02-24 13:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-02-24 13:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - remove debug statements -
+ print an error message if we die on something other than
+ wizcancel
+
+2003-02-24 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix mail alert generation - do
+ not crash without any message in strict mode (wizcancel die
+ miscatched) - make the generated script be 'use strict' and
+ perl_checker compliant
+
+2003-02-24 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: allow neuneus to quit
+ install at license step (esp. for Ann & Warly's father)
+
+2003-02-24 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: fix #1771
+
+2003-02-24 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: level should not be editable
+
+2003-02-24 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - fix packing (#1760) -
+ --expert command line option switch to expert mode by default -
+ only hide expert stuff if not in expert mode at startup
+
+2003-02-24 11:50 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: one entry
+
+2003-02-24 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: more fixes
+
+2003-02-24 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix size when embedded
+
+2003-02-24 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-5mdk
+
+2003-02-24 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: looks better like this
+
+2003-02-24 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: perl_checker fix
+
+2003-02-24 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: clean up: - no more directly handle
+ embeddign - use ugtk2
+
+2003-02-24 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, ugtk2.pm: final embedding cleanups
+
+2003-02-24 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: simplify
+
+2003-02-24 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: fix embedding (even if we
+ don't embbed it, it's better)
+
+2003-02-24 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, my_gtk.pm, ugtk2.pm,
+ standalone/XFdrake, standalone/drakautoinst,
+ standalone/drakconnect, standalone/keyboarddrake,
+ standalone/logdrake, standalone/printerdrake,
+ standalone/scannerdrake: - clean up embedding; since socket
+ automatically emit plug-added gtk+ signal when plug is realize,
+ it's just cleaner to centralize/consolidate the child embedding
+ in mcc this of course, need a newer up-to-date mcc what's
+ more, it allows to remove the somewhat mythical "$::isEmbedded
+ and kill 'USR2', $::CCPID;" - keyboarddrake, xfdrake,
+ drakautoinst: goto cleaning btw
+
+2003-02-24 08:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: interactive/gtk.pm, printer/printerdrake.pm,
+ standalone/harddrake2: first attempt at making printerdrake to
+ behave smoother when embedded in the mcc
+
+2003-02-24 08:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, drakxtools.spec, my_gtk.pm, ugtk2.pm,
+ diskdrake/hd_gtk.pm, standalone/XFdrake, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakboot,
+ standalone/drakfont, standalone/drakxservices,
+ standalone/keyboarddrake: - clean up embedding; since socket get
+ automatically destroyed on child exit and since they emit
+ plug-removed at that moment, it's just cleaner to
+ centralize/consolidate the child exit in mcc this of course,
+ need a newer up-to-date mcc what's more, it allows to remove
+ the somewhat mythical "$::isEmbedded and kill 'USR1',
+ $::CCPID;" - drakautoinst, drakxservices, keyboardrake: fix
+ fscking embedding managment
+
+2003-02-24 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - untabify - hide devices
+ which has no driver or whose driver is an url, a graphic server
+ and consolidate the test by the way
+
+2003-02-24 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: prefix devfs device name with
+ "/dev/" too
+
+2003-02-24 07:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated Welsh,
+ Greek, Swedish and Chinese files
+
+2003-02-24 07:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: improved default fonts for KDE, completed
+ the geographic location by continent for a few remaining country
+ codes
+
+2003-02-23 23:45 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Fixed wait message not
+ embedded in drakconf.
+
+2003-02-23 23:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Several bug
+ fixes on printerdrake - "BrowsePoll <IP>:<Port>" needs "Browsing
+ On" in /etc/cups/cupsd.conf. - If the same printer model is once
+ on the parallel port and second on USB, there was a new USB
+ queue created on every start of Printerdrake. - Now CUPS is
+ restarted whenever a new USB print queue is set up so that CUPS
+ can provide the model-related USB URI. - Made sure that the
+ default printer is defined and that it is an existing queue so
+ that during installation printerdrake does not show a line only
+ containing " (Default)" in the list of installed printers. -
+ Cleaned up data structure after automatic queue generation.
+
+2003-02-23 21:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: use output_p() instead of output() for
+ /etc/ntp/step-tickers
+
+2003-02-23 15:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: fixed several fuzzy lines
+
+2003-02-23 12:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm,
+ printer/printerdrake.pm: Fixed bug of printerdrake loosing the
+ printer queue info during the preparation of the "Summary" window
+ (only if there are local printers). No the printer queue entries
+ should not be empty when clicking on "Configure" in the "Printer"
+ part of the "Summary" window.
+
+2003-02-23 01:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (migrate_files): check
+ return values (fixes bug #2170)
+
+2003-02-22 21:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: in $::expert, use a SpinButton
+ instead of HScale for type "range" (useful in diskdrake to enter
+ the partition size directly)
+
+2003-02-22 16:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-22 16:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/harddrake2: changed an English string
+
+2003-02-22 14:23 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2003-02-22 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: ensure galaxy-kde is installed
+ together with kdebase
+
+2003-02-22 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: (test_for_bad_drives): don't
+ open in write mode when testing
+
+2003-02-22 01:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, wa.po: updated Estonian file
+
+2003-02-22 00:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: - I need LSI Fusion SCSI drivers for
+ x86-64 (Newisys systems, sym53c1030) - Add vfat & fat modules on
+ x86-64 too.
+
+2003-02-21 23:18 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-21 20:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: 4mdk
+
+2003-02-21 20:41 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: $isdn->{is_light} wasn't set while
+ using autodetection, rpm wasn't installed
+
+2003-02-21 20:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: tr.po, uk.po, uz.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated Estonian and Dutch files
+
+2003-02-21 20:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po: updated
+ Estonian and Dutch files
+
+2003-02-21 19:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - Fixed text of "Refresh
+ printer list" button when list is empty. - Let printerdrake
+ clean up its datastructure after auto-installing printers in
+ the beginning of the "Summary" installation step.
+
+2003-02-21 18:18 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: embedded should segfault a bit less if I
+ don't let the embedded window creation destroy the destroy
+ handler
+
+2003-02-21 18:17 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, tools.pm: oups... hu...
+ nothing
+
+2003-02-21 17:43 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: get back password input for
+ adsl
+
+2003-02-21 15:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: no need to use regexp
+
+2003-02-21 15:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk): ensure popup is
+ not destroyed more than once
+
+2003-02-21 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: "Generate auto install
+ floppy" and "Save packages selection" are now available in
+ advanced
+
+2003-02-21 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix setting the
+ image & colors in resolution chooser
+
+2003-02-21 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/colors16.png: - make it the same range as
+ colors.png and colors8.png - it is a 64 colors image (note that
+ colors8 is 16 colors)
+
+2003-02-21 14:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated Danish
+ file
+
+2003-02-21 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: when isEmbedded, use $::WizardTable to
+ allow non pop_it when not visible
+
+2003-02-21 14:14 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: workaround what seems to be a gtk bug
+ (#1445) gtk seems to loop (and take 100% user cpu) when I change
+ the pixbuf of a gtkcellrendererpixbuf in a treeview that is not
+ currently displayed
+
+2003-02-21 13:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: fixed a typo
+
+2003-02-21 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: use test_for_bad_drives even after
+ install (esp. to detect removed usb-storage devices still visible
+ in /proc/scsi/scsi)
+
+2003-02-21 12:00 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add isdn check in
+ get_net_device
+
+2003-02-20 23:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix typos
+
+2003-02-20 22:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: perl_checker
+
+2003-02-20 21:49 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Finish gtk2 port.
+
+2003-02-20 21:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't vivify @cards
+
+2003-02-20 21:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: warn non-ascii chars in mount point (cf
+ bug #1588)
+
+2003-02-20 21:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: have ask_okcancel instead
+ of ask_warn on cdie's
+
+2003-02-20 21:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow Cancel in setupBootloader__entries
+
+2003-02-20 20:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: add catch_cdie's around
+ fsedit::check_mntpoint and fsedit::add
+
+2003-02-20 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: use cdie instead of die for warnings
+
+2003-02-20 20:34 Guillaume Cottenceau
+
+ * perl-install/: install_steps_interactive.pm, interactive.pm: oops
+ i didn't understand the internals of wait_message hence breaking
+ it. hopes that will fix.
+
+2003-02-20 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix $check_complete use in gtk
+ summary
+
+2003-02-20 20:08 Guillaume Cottenceau
+
+ * perl-install/any.pm: cows go møøh
+
+2003-02-20 20:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix florin: replace $prefix
+ with $::prefix
+
+2003-02-20 18:50 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: update 2 rules for the pptp
+ dsl internet connection
+
+2003-02-20 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: use
+ detect_devices::pcmcia_probe() instead of
+ detect_devices::probeall()
+
+2003-02-20 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: - read_resolv_conf() reads
+ DOMAINNAME & DOMAINNAME2 - read_resolv_conf() reads
+ /etc/resolv.conf by default - read_resolv_conf_raw() created
+
+2003-02-20 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-3mdk
+
+2003-02-20 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker fix
+
+2003-02-20 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: - add --testing support - fix #1923
+ (aka reuse consolided code instead of using deprecated code) -
+ minor cleanup - skip comments while parsing /etc/lilo.conf
+
+2003-02-20 17:08 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, ugtk2.pm: change a bit position of
+ main window and steps window in steps window, have titles in grey
+
+2003-02-20 17:07 Guillaume Cottenceau
+
+ * perl-install/share/logo-mandrake.png: update shadow
+
+2003-02-20 17:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakgw: don't use gtk+2
+ deprecated functions
+
+2003-02-20 16:36 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added wait message
+ when building groups.
+
+2003-02-20 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install_steps.pm: - add
+ "Force No APIC" - rename add_append() to set_append() (since it
+ can be used to remove a key) - add remove_append_simple()
+
+2003-02-20 16:01 Guillaume Cottenceau
+
+ * perl-install/fs.pm: thx rekcehc_lrep
+
+2003-02-20 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - prevent any l10n problem by
+ having only one path string when both creating the menu and
+ acessing a menu widget (aka translate menu paths only once),
+ which also nicely cut down the translators job. - decrease
+ diagnostics pragma verbosity (aka remove big fat warning
+ messages)
+
+2003-02-20 15:54 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: install the
+ potentially needed locales country when user selected another
+ country
+
+2003-02-20 15:53 Guillaume Cottenceau
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm, interactive.pm, services.pm,
+ share/logo-mandrake.png: Gtk2::Label::set is deprecated
+
+2003-02-20 15:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/dns.c: Fix mygethostbyaddr(), struct in is not a NULL
+ terminated string. i.e. len has to be either sizeof(in.s_addr)
+ or INADDRSZ.
+
+2003-02-20 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: {brltty}{device} is optional, default
+ is ttyS0 or ttyS1 (?)
+
+2003-02-20 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: help perl_checker find
+ the N("...") the #-PO corresponds to
+
+2003-02-20 15:39 Guillaume Cottenceau
+
+ * mdk-stage1/dns.c: fix potential segfault thx to gwenole
+
+2003-02-20 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: further updates
+
+2003-02-20 15:35 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: don't have hptraid silraid pdcraid on stage1
+ (/dev/ataraid unsupported anyway on stage1)
+
+2003-02-20 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: translate all countrie names
+
+2003-02-20 15:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-02-20 15:12 Guillaume Cottenceau
+
+ * perl-install/share/themes-galaxy.rc: logo is aso white on blue
+
+2003-02-20 15:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: log manually chosen graphic card
+
+2003-02-20 14:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: Better defaults for OOo
+
+2003-02-20 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix brltty support
+
+2003-02-20 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add XF86Config and XF86Config-4 to
+ report.bug
+
+2003-02-20 14:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: changed encoding
+
+2003-02-20 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: no autologin by default if more than one
+ users
+
+2003-02-20 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: prefer myspell-en_US
+
+2003-02-20 13:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: corrected Russian
+ translation
+
+2003-02-20 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: don't let diskdrake detect
+ ext3/reiserfs/jfs/xfs on a type 0x7 partition
+
+2003-02-20 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: set {device_windobe} for 0x107
+ *and* 0x7 (since 0x107 is not set correctly at this stage)
+ (otherwise this causes mount points /mnt/win_ /mnt/win_1...)
+
+2003-02-20 13:26 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: fix bold diplay of texts in
+ adverts
+
+2003-02-20 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: set a minimum size for
+ Gtk2::HScale's (mainly used for resizing partitions)
+
+2003-02-20 12:59 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: some misc fixes
+
+2003-02-20 12:59 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: dhcp fix
+
+2003-02-20 12:57 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: try to handle case with large fonts (CJK
+ for example) -> branch on TextView when the box will be quite
+ large
+
+2003-02-20 12:48 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: translate iraq
+
+2003-02-20 12:45 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: add a PO comment to
+ try to keep buttons in the window..
+
+2003-02-20 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: usb is runned by rc.sysinit, and
+ doesn't like "chkconfig --add" anymore
+
+2003-02-20 12:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix $ok_clicked when there is no
+ ok button
+
+2003-02-20 11:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-2mdk
+
+2003-02-20 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix #1829
+
+2003-02-20 11:08 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: typo fix
+
+2003-02-20 03:59 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Made sure that
+ printerdrake does not open its main window when called during the
+ preparation of the "Summary" screen.
+
+2003-02-20 03:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Improved/fixed
+ generation of printer list entries from manufacturer-supplied
+ PostScript PPD files - Removed forgotten debug mode - Disabled
+ wizard-mode temporarily
+
+2003-02-20 03:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Partial gtk2 update - still
+ needs work on TreeViews
+
+2003-02-20 02:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, diskdrake/interactive.pm: - simplify
+ check_mntpoint - fix checking mount point in Mount_point()
+
+2003-02-20 02:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone/diskdrake, interactive/gtk.pm,
+ interactive.pm: have less warnings when debugging
+
+2003-02-20 02:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: log why auto X config failed
+ (needVideoRam)
+
+2003-02-20 02:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: ensure {box_size} is set (to have less
+ warnings)
+
+2003-02-20 00:46 Guillaume Cottenceau
+
+ * perl-install/: any.pm, bootloader.pm, fs.pm, fsedit.pm,
+ install2.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_interactive.pm, loopback.pm,
+ lvm.pm, partition_table.pm, raid.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, network/drakfirewall.pm,
+ network/ethernet.pm, partition_table/raw.pm: to workaround perl
+ bug removing UTF8 flag when passing scalars to die's, pass a
+ scalar-ref. but we need to de-ref, so it might break many things
+ :). let's make a prayer :).
+
+2003-02-20 00:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ add some more formatError
+
+2003-02-20 00:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use formatError
+
+2003-02-20 00:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: add a formatError
+
+2003-02-20 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: add some formatError's
+
+2003-02-20 00:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use formatError on $err
+
+2003-02-20 00:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use formatError($err)
+ instead of $@
+
+2003-02-19 23:50 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: set the destroy handler after wizard
+ creation, or the fact that wizard window will overwrite existing
+ window will also destroy the destroy handler
+
+2003-02-19 23:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: indent more the entries in the
+ summary (as asked by dadou)
+
+2003-02-19 23:21 Guillaume Cottenceau
+
+ * perl-install/lang.pm: I'm stupid, we need to set UTF8 when there
+ are two installed langs with different encodings, not just when
+ the additional languages have different encoding than main one
+
+2003-02-19 23:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pixmaps/ic82-systemeplus-40.png,
+ pixmaps/ic82-tape-40.png,
+ standalone/icons/ic82-systemeplus-40.png,
+ standalone/icons/ic82-tape-40.png: move some images from
+ standalone to pixmaps to have them both during install and after
+ install (images used by XFdrake)
+
+2003-02-19 23:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/X.png: add it back (used by XFdrake)
+
+2003-02-19 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-02-19 21:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: x86-64 now has only the following images
+ for now: cdrom, network, usb, blank. Make sure we don't default
+ to a text install. network.img fits on a floppy. ;-)
+
+2003-02-19 21:16 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix some segfaults caused by still calling
+ destroy or other gtk functions after a destroy has been already
+ done, triggered by the user clicking on the WM's "close this
+ application" button (#1651)
+
+2003-02-19 20:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: can't use $mainw->{ok}->clicked
+ since $mainw->{ok} doesn't always exist, set {retval} and
+ main_quit instead (the way it was done for double click, is this
+ ok when pressing enter?)
+
+2003-02-19 20:09 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add silraid and pdcraid
+
+2003-02-19 19:03 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/Makefile: Enable all usual stage1-* BINS on x86-64.
+ Add dietlibc to DIRS too for that arch. Fix rescue-gui build with
+ $(DIET) wrapper.
+
+2003-02-19 19:03 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: better comply to look of text like in Gtk1
+ (text inside a Frame)
+
+2003-02-19 19:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/mar/Makefile: Rearrange build so that only mar binary
+ is built with glibc and other objects with either glibc or
+ dietlibc.
+
+2003-02-19 19:01 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/Makefile: We only have to build mar here.
+
+2003-02-19 18:57 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-19 18:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Improved the locale->font selection;
+ added the tetex-latex-arab-doc package (previously was included
+ in the main)
+
+2003-02-19 18:10 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: clean
+
+2003-02-19 18:02 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed if update fail
+ to allow retry.
+
+2003-02-19 17:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: hide the icon when embedded
+ to get more space
+
+2003-02-19 17:52 Fançois Pons
+
+ * perl-install/crypto.pm: code slight reorganization.
+
+2003-02-19 17:51 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added code to retry
+ finding an update medium if something went wrong.
+
+2003-02-19 17:44 Fançois Pons
+
+ * perl-install/pkgs.pm: added a missing sanity unwind.
+
+2003-02-19 17:43 Fançois Pons
+
+ * perl-install/pkgs.pm: add sanity code on error when reading
+ hdlist (this will avoid update medium being trashed if an error
+ occurred during hdlist download and so ...)
+
+2003-02-19 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ro.po, ru.po, sk.po, sl.po, sp.po, sq.po,
+ sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated Uzbek file
+
+2003-02-19 17:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po: updated Uzbek file
+
+2003-02-19 17:12 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: add ugly probed type
+ of network configuration.
+
+2003-02-19 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/printerdrake: fix embedding and clean it
+ up
+
+2003-02-19 16:53 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: add fonts-ttf-arabic when locale ar
+
+2003-02-19 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: cleanup
+
+2003-02-19 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: fix embedding
+
+2003-02-19 15:38 Fançois Pons
+
+ * perl-install/install_steps.pm: add simplified menu for desktop
+ mode.
+
+2003-02-19 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - perl_checker fixes -
+ indent-region, untabify - comment workaround
+
+2003-02-19 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: workaround a drakx bug which
+ don't always add bttv to /etc/modules
+
+2003-02-19 15:13 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure
+ network::network:: is used (just in case)
+
+2003-02-19 15:09 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: add default
+ configuration for network for summary.
+
+2003-02-19 15:04 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: - Add localized help
+ files for OpenOffice.org - Add new SPELLCHECK category for
+ myspell spellchecking and hyphenators
+
+2003-02-19 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fsedit.pm: - cleanup & simplify
+ - handle raid on raid detection
+
+2003-02-19 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: mkraid wants all the md devices written in
+ raidtab to exist, even if asking to create a specific md
+
+2003-02-19 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't log "warning: find_index failed
+ in ..."
+
+2003-02-19 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: cleanup
+
+2003-02-19 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - allow raid on raid (raid
+ 10) - focus mount point in Mount_point - focus type in Type
+
+2003-02-19 14:08 Guillaume Cottenceau
+
+ * perl-install/share/po/de.po: fix typo (#1821)
+
+2003-02-19 13:55 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: provide a minimum desrciption for
+ Scientific Workstation (#1814)
+
+2003-02-19 13:43 Guillaume Cottenceau
+
+ * perl-install/share/themes-galaxy.rc: try to choose sensible
+ values for insensitive widgets
+
+2003-02-19 13:16 Guillaume Cottenceau
+
+ * perl-install/lang.pm: have _ at the end of Belarussian, or else
+ it messes up alphabetical sorting (_ is added by pablo to know it
+ needs fixing..)
+
+2003-02-19 13:05 Guillaume Cottenceau
+
+ * perl-install/any.pm: have "all languages" and "utf8" before the
+ list of languages, per request of pablo
+
+2003-02-19 12:34 Guillaume Cottenceau
+
+ * perl-install/share/po/Makefile: revert Pablo's breaking po's
+ installation :)
+
+2003-02-19 12:31 Guillaume Cottenceau
+
+ * perl-install/Makefile: not more xpm's in share
+
+2003-02-19 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: disallow double-clicking on
+ "Refuse" (license step)
+
+2003-02-19 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: s/boot partition/the root partition/ (cf bug
+ #1803)
+
+2003-02-19 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: remove no more used variable
+
+2003-02-19 10:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: (read_conf) simplify
+
+2003-02-19 00:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: fixed some
+ strings in Hebrew file (now RTL mode is properly supported)
+
+2003-02-19 00:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Show description of the
+ printer when an unknown printer is found during automatic queue
+ setup an it is asked for the model.
+
+2003-02-18 23:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/steps.pm: changed "Choose your Language" ->
+ "Language"
+
+2003-02-18 23:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Replaced "my" by "our" for the
+ declaration of the "ScannerDB" variable, so that
+ /usr/bin/scannerdrake has access to it.
+
+2003-02-18 22:40 Guillaume Cottenceau
+
+ * perl-install/lang.pm: small change thx to pablo
+
+2003-02-18 22:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-18 22:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, ar.po, az.po,
+ be.po, bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po,
+ he.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mt.po, nl.po, no.po, pl.po: updated pot file
+
+2003-02-18 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table.pm: /proc/partitions
+ includes partition with type "empty" and a non-null size so add
+ them for comparison
+
+2003-02-18 21:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * kernel/list_modules.pm: Probe airport on PPC, don't skip gmac.
+ Fix sound driver name.
+
+2003-02-18 21:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakfloppy, drakfont, net_monitor:
+ Deactivated translations that can't be handled by gtk1 for gtk1
+ tools; drakfont: call fc-cache without specifying the path,
+ fc-cache is smart enough to do the right thing, and that way it
+ will also catch fonts from other directories that could have been
+ installed manually.
+
+2003-02-18 21:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/theme-editor.pl: as this tool uses gtk1,
+ deactivate translations for languages that gtk1 can't handle
+
+2003-02-18 21:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: simplify
+
+2003-02-18 20:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, interactive/newt.pm: fix tree in
+ newt (now handles default selected entry, and disallow using
+ non-leaves)
+
+2003-02-18 20:45 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: remove unneeded
+ pablo's change on RTL
+
+2003-02-18 20:21 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, lang.pm: reposition main and steps
+ window when in RTL language
+
+2003-02-18 19:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/steps.pm: shortened some strings to help them fit in
+ the steps window
+
+2003-02-18 19:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common: Use dietlibc on x86-64
+
+2003-02-18 19:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common, bzlib/Makefile,
+ insmod-modutils/Makefile, insmod-modutils/obj/Makefile,
+ insmod-modutils/util/Makefile, mar/Makefile, newt/Makefile,
+ slang/Makefile: - Use minilibc on x86-64 - mar requires bzlib to
+ be built beforehand, especially if building with dietlibc -
+ Nuke trickery to handle -DIET objects, everything is now built
+ through the diet driver, defined into $(DIET)
+
+2003-02-18 19:48 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/dns.c: dietlibc defined __dietlibc__ macro. Also add
+ check for __GLIBC__. If none of those C library is used, simply
+ abort compilation.
+
+2003-02-18 18:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: define language
+ direction
+
+2003-02-18 18:49 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm, lang.pm:
+ allow to specify font size in output of l2pango_font destroy and
+ recreate steps window when charset changed because gtk won't
+ update the font size otherwise
+
+2003-02-18 18:49 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2003-02-18 18:47 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: Get back configuration settings
+ from conf files (fix some kind of titi sucking)
+
+2003-02-18 18:41 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/newt/form.c: #include <string.h> for memset()
+
+2003-02-18 18:30 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-18 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: pixelize
+
+2003-02-18 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add unicore/To/Upper.pl for
+ printerdrake.pm (things like $s =~ /$s/i needs this when $s is
+ utf8)
+
+2003-02-18 18:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/network.pm: perl_checker fix
+
+2003-02-18 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword):
+ display "Authentication" in Advanced
+
+2003-02-18 17:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-1mdk
+
+2003-02-18 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: display the release
+ even when there is only one system to upgrade (asked by flepied &
+ warly)
+
+2003-02-18 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - (row_setting_data) inline it
+ - fix #1769
+
+2003-02-18 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: perl_checker fixes
+
+2003-02-18 15:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: perl_checker fixes
+
+2003-02-18 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2003-02-18 15:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix ugly bug (the bug was
+ introduced in diskdrake/interactive.pm 1.67)
+
+2003-02-18 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/resize_ntfs.pm: (resize): do a test resize
+ before doing the real one
+
+2003-02-18 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't use tmpfs on /tmp if /tmp is a
+ separate partition (anyway, all this is ugly, see with titi)
+
+2003-02-18 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, diskdrake/interactive.pm: -
+ ensure someone can't set a mount point on a non formatted ntfs
+ partition - remove the mount point when destructive resizing and
+ isNonMountable
+
+2003-02-18 13:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sq.po,
+ sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: ease translator job regarding latest
+ draksec commit
+
+2003-02-18 13:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po,
+ uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-18 13:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po: updated pot file
+
+2003-02-18 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: the empty label in the HButtonBox had the
+ same size as the buttons (since HButtonBox are always
+ homogeneous), causing addUser in german not to fit on the screen.
+ No good way to solve this :-(
+
+2003-02-18 12:36 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/share/list.ppc: Files for XFree4 based PPC install.
+
+2003-02-18 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: simplify
+
+2003-02-18 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: translate grp_toggles at display-time,
+ not compile-time
+
+2003-02-18 12:06 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix titi's perl checko
+
+2003-02-18 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: better default partitioning
+
+2003-02-18 11:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: fixed small typo
+
+2003-02-18 11:48 Guillaume Cottenceau
+
+ * perl-install/: ugtk2.pm, interactive/gtk.pm,
+ standalone/harddrake2: internalize prepare_gtk2 in the BEGIN {}
+ of ugtk2 already containing the Gtk2->init
+
+2003-02-18 11:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Removed N( ) around IP
+ numbers, there is no point in "translating" them
+
+2003-02-18 11:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - untabify -
+ (basic_seclevel_option) inline it and kill it -
+ (new_editable_combo) take two arguments, a ref on strings list
+ and the default value
+
+2003-02-18 10:33 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-18 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: just remove all DISPLAYMANAGER
+ occurences and fix the case where there were no such line before
+ (which probably had never caught anyone)
+
+2003-02-18 09:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: bump version on fredl request
+
+2003-02-18 09:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: resync with msec
+
+2003-02-18 01:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - "BrowsePoll"
+ support in the CUPS configuration dialog. - Fixes on error
+ message windows in the dialog for printer sharing destinations.
+
+2003-02-18 01:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: in {complete} or {canceled},
+ ensure giving a bad entry number to focus doesn't break (and log
+ that something wrong happened)
+
+2003-02-18 00:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix bug occurring "if
+ no sound card are detected AND the user selected things needing a
+ sound card, propose a special case for ISA cards" (thanks to
+ guran)
+
+2003-02-18 00:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: some more fixes (thanks to Edward Cherlin
+ and Reinout van Schouwen)
+
+2003-02-18 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: translate server {name} at
+ display-time, not compile-time
+
+2003-02-18 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/level.pm: replace %level_list with
+ level_list() so that N("...") is called at runtime instead of
+ compile-time
+
+2003-02-17 23:55 Guillaume Cottenceau
+
+ * perl-install/lang.pm: change %countries so that we really have
+ translated countries (side effect of #1723 -> noticing this bug)
+
+2003-02-17 23:49 Guillaume Cottenceau
+
+ * perl-install/standalone/drakpxe: fix translation of title by
+ calling N() after interactive->vnew
+
+2003-02-17 23:42 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: fix translation of title: N()
+ needs to be called after interactive->vnew has been called
+
+2003-02-17 22:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po,
+ tr.po, uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ Estonian file
+
+2003-02-17 22:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ help-de.pot, help-es.pot, help-fr.pot, help-it.pot, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po: updated Estonian file
+
+2003-02-17 21:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix typos (thanks to Reinout van Schouwen)
+
+2003-02-17 21:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: remove debug code :-(
+
+2003-02-17 19:59 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: grüh
+
+2003-02-17 19:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-17 19:48 Guillaume Cottenceau
+
+ * perl-install/lang.pm: disable mn until we have lang-mn.png
+
+2003-02-17 19:47 Guillaume Cottenceau
+
+ * perl-install/steps.pm: fix pixel's commit: never display
+ choosePackages and configureServices, instead of always
+
+2003-02-17 19:46 Pixel <pixel at mandriva.com>
+
+ * rescue/: list.i386, list.ia64, list.x86_64: replace ext2resize
+ with resize2fs in rescue (already done in DrakX)
+
+2003-02-17 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: don't show "Choose packages to install"
+ nor "Configure services" (was still there in expert)
+
+2003-02-17 18:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: updated @locales list
+
+2003-02-17 18:27 Fançois Pons
+
+ * perl-install/fsedit.pm: given default size of / increased.
+
+2003-02-17 17:41 Fançois Pons
+
+ * perl-install/fsedit.pm: increased /var container for suggestion
+ (simple or with /usr).
+
+2003-02-17 17:37 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: add a reboot if not
+ enough free space is available for installation or upgrade.
+
+2003-02-17 17:00 Fançois Pons
+
+ * perl-install/commands.pm: fixed command insmod.
+
+2003-02-17 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: bump version number
+
+2003-02-17 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: synced with msec
+
+2003-02-17 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add a checkbox "Force ACPI"
+
+2003-02-17 15:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: propagate /proc/cmdline acpi=xxx
+
+2003-02-17 15:42 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: have acpi=off by default
+
+2003-02-17 15:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: have acpi=off by default
+
+2003-02-17 15:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix pop_it...
+
+2003-02-17 15:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: ensure $o->{raw_X} is
+ not destroyed when there is no modification done (since in that
+ case Xconfig::main::configure_everything_or_configure_chooser()
+ returns undef)
+
+2003-02-17 14:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.34mdk
+
+2003-02-17 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: hopefully final fix for pop_it
+
+2003-02-17 14:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Fixed bug of HP DeskJetb 990C
+ being automatically installed even if there is already a queue
+ for it - Fixed checking whether a device is known to CUPS
+
+2003-02-17 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree3.pm: (is_fbdev): fix typo
+
+2003-02-17 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (get_both): fix typo
+
+2003-02-17 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: also ->hide in when a button is
+ clicked in standalone
+
+2003-02-17 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't
+ security::various::config_security_user() can fail, don't let it
+ bother us
+
+2003-02-17 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: (to_string):
+ simpler way to handle the "default" resolution of frame-buffer
+
+2003-02-17 13:37 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: 9.1 rc1
+
+2003-02-17 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: use fbdev when the graphic card is
+ unknown
+
+2003-02-17 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: warn when auto conf fail
+
+2003-02-17 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add module2description()
+
+2003-02-17 13:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/harddrake2: correction for non-latin1
+ locales, made strings "Unknown" and "unknown" translatable in
+ device info
+
+2003-02-17 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: in the old days, on cannot disable
+ shrink1, resize2 or shrink2 since they always were true
+
+2003-02-17 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: better sound card
+ description in summary
+
+2003-02-17 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: enhance summary layout
+
+2003-02-17 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: fix help popping all the time
+
+2003-02-17 11:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.33mdk
+
+2003-02-17 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix setting pop_it for wizard in
+ standalone
+
+2003-02-17 10:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, ru.po: updated Russian and Arabic
+ files
+
+2003-02-17 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sq.po,
+ sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po, uz.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: simplify translator job by propaging
+ pixel english typo fix
+
+2003-02-17 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix #1718
+
+2003-02-17 08:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, network/netconnect.pm,
+ standalone/drakconnect: perl generate undef indefinitely from the
+ void
+
+2003-02-17 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: this was just tested before
+
+2003-02-17 08:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: - (get_usb_ids_for_port,
+ updateScannerDBfromSane) : simplify - perl_checker fixes
+
+2003-02-17 06:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.31mdk
+
+2003-02-17 05:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer/data.pm, printer/detect.pm,
+ printer/main.pm, printer/printerdrake.pm,
+ standalone/printerdrake: - Restructured function "main()" - Made
+ automatic queue setup being done during installation - Support
+ for unknown printers in auto-detection and in automatic queue
+ setup - Fixed determination of default printer - Fixed printer
+ help page display - Fixed wait message in /usr/sbin/printerdrake
+
+2003-02-17 01:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, da.po, fi.po, nl.po, sv.po, ta.po:
+ updated Arabic, Dutch, Danish, Finnish, Swedish and Tamil files
+
+2003-02-17 01:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: synchrnoization of locale names with what
+ we ship. updated list of available kde langs
+
+2003-02-17 00:02 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2003-02-16 22:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: summary written in gtk, isn't
+ it nice (?)
+
+2003-02-16 22:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: handle "not
+ configured" in summary_prompt
+
+2003-02-16 21:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, install_steps_gtk.pm,
+ interactive.pm, Xconfig/resolution_and_depth.pm,
+ diskdrake/hd_gtk.pm: - factorize "Help"-button handling - fix
+ interactive_help_get_id (happily, it was no pb :)
+
+2003-02-16 20:55 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add aic7xxx_old (needed when the network
+ card firmware hasn't been updated)
+
+2003-02-16 18:55 Guillaume Cottenceau
+
+ * perl-install/any.pm: clean $o->{locale}{langs}
+
+2003-02-16 17:58 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: fix my
+ breakage (broke non-latin1 installs :/)
+
+2003-02-16 17:51 Guillaume Cottenceau
+
+ * perl-install/lang.pm: log a bit more
+
+2003-02-16 15:52 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated
+
+2003-02-16 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: fix rawdevices description (bug #1677)
+
+2003-02-16 12:55 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-16 12:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: Enabled Arabic keyboard,
+ added full list of countries listed in iso 3166, changed japanese
+ charset->font for KDE, removed charset names no longer used
+
+2003-02-16 01:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix typo (thanks to Christophe Combelles)
+
+2003-02-16 00:18 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: don't mute the keyboard in
+ ask_browse_tree_info (#1598)
+
+2003-02-15 21:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Fixed bug in setting up
+ multiple scanners at once.
+
+2003-02-15 21:16 Guillaume Cottenceau
+
+ * perl-install/printer/printerdrake.pm: - try to workaround #1581 -
+ fix the most code style-independant perl checker things
+
+2003-02-15 19:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, no.po, vi.po: updated Estonian,
+ Norwegian and Vietnamese files
+
+2003-02-15 17:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: mostly updated
+
+2003-02-15 10:04 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated partially
+
+2003-02-15 09:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, nl.po, no.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, th.po, tr.po: updated
+ remaining po files
+
+2003-02-15 09:03 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: why this file wasn't regenerated?
+
+2003-02-15 04:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, he.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, vi.po: updated
+ pot files
+
+2003-02-15 03:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, pt.po, pt_BR.po, tg.po, uk.po, uz.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated po files
+
+2003-02-15 02:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix gc's typo
+
+2003-02-15 00:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone.pm: Updated "Usage:" message for
+ Scannerdrake.
+
+2003-02-15 00:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: Improved
+ manual scanner configuration, bug fixes.
+
+2003-02-14 23:40 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fixed
+
+2003-02-14 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, no.po: updated pot file
+
+2003-02-14 20:32 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: install the locales-xx package for
+ the selected country
+
+2003-02-14 20:15 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: okcehc lrep (hebrew feeling)
+
+2003-02-14 18:35 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: wizard: free memory
+
+2003-02-14 18:33 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: add a frame to the wizard's outline
+
+2003-02-14 18:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: 0.30mdk
+
+2003-02-14 17:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakperm: o Gtk2 o 'add a rule' works
+ again o 'edit rule' too o get_rights get all rights, not just a
+ few o little cleanup (more to come)
+
+2003-02-14 16:21 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix misc
+
+2003-02-14 15:47 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, steps.pm, ugtk2.pm, pixmaps/X.png,
+ pixmaps/bootdisk.png, pixmaps/bootloader.png, pixmaps/exit.png,
+ pixmaps/harddrive.png, pixmaps/keyboard.png,
+ pixmaps/language.png, pixmaps/mouse.png, pixmaps/network.png,
+ pixmaps/partition.png, pixmaps/rootpasswd.png,
+ pixmaps/security.png, pixmaps/services.png, pixmaps/summary.png,
+ pixmaps/user.png: honour 9.1 theme title of windows: no icon,
+ text to the left
+
+2003-02-14 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: security/level.pm, standalone/draksec: cleanup
+ security::level, hopefully the **** draksec still works
+
+2003-02-14 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add "Security level"
+ in summary
+
+2003-02-14 15:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: create
+ install_any::set_security() and use it
+
+2003-02-14 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove unneeded msec related
+ actions (those are done in msec)
+
+2003-02-14 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/level.pm: fix errors (due to previous
+ commit)
+
+2003-02-14 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/level.pm: create
+ security::level::to_string()
+
+2003-02-14 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - re-indent summary
+ entries - add group for summary entries
+
+2003-02-14 14:23 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: cleanup
+
+2003-02-14 14:13 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: fix default_theme always responding
+ 'galaxy'
+
+2003-02-14 14:12 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm,
+ pixmaps/steps_off.png, pixmaps/steps_on.png: - update steps
+ window to 9.1 theme (blue/white bullets) - don't destroy steps
+ window between each step => better looking
+
+2003-02-14 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: install package shorewall
+ only when the user wants a firewall
+
+2003-02-14 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense): do
+ translate "Accept" and "Refuse"
+
+2003-02-14 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - add "Services" and
+ "Firewall" in summary - rework a little summary & summary_prompt
+
+2003-02-14 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: simpler way to detect broken
+ alternatives. It works for symlinks to symlinks, eg: rvi ->
+ /bin/vi -> /etc/alternatives/vi -> /bin/vim-minimal
+
+2003-02-14 13:42 Guillaume Cottenceau
+
+ * perl-install/share/themes-galaxy.rc: adapt theme: grey for
+ selection's background, no inverse video on the selected text
+
+2003-02-14 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: in ask_browse_tree_info, have Next
+ instead of Ok, Previous instead of Cancel when isWizard
+
+2003-02-14 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ services.pm: use $::prefix
+
+2003-02-14 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: change order of
+ entries in summary
+
+2003-02-14 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: themes/* is gone, no need to copy those
+ files
+
+2003-02-14 11:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: toggle Details / No details
+ (as suggested by Prabu Anand)
+
+2003-02-14 00:25 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: when detected too little memory in
+ ftp/http, inform user that he/she may try an nfs install
+
+2003-02-13 23:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: have supermount back by default
+ (at least when the security level < 4)
+
+2003-02-13 23:21 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added tmdns zcip mandrake-galaxy
+ galaxy-gnome
+
+2003-02-13 21:30 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm,
+ share/install.rc, share/list, share/themes-galaxy.rc,
+ share/themes-marble3d.rc, share/themes-mdk-Desktop.rc,
+ share/themes-mdk.rc, share/themes.rc: - use nice new gnome theme
+ by ln and fcrozat - remove old no more used themes - for doc
+ team, provide an option so that we'll override some colors of the
+ default theme (for B&W printing screeshots)
+
+2003-02-13 21:17 Guillaume Cottenceau
+
+ * perl-install/install2.pm: - add option 'theme' to allow
+ specifying a theme - add option 'doc' to specify that we should
+ override the default theme with values well suited for printing
+ screenshots on a B&W printer
+
+2003-02-13 21:14 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: remove shape of windows
+
+2003-02-13 20:58 Guillaume Cottenceau
+
+ * perl-install/: install_steps_interactive.pm, lang.pm: don't allow
+ going back from accept_licenser to select_language, hence allow
+ removing langs images before downloading huge CJK fonts
+
+2003-02-13 20:54 Guillaume Cottenceau
+
+ * perl-install/pixmaps/langs/: lang-af.png, lang-am.png,
+ lang-ar.png, lang-az.png, lang-be.png, lang-bg.png, lang-br.png,
+ lang-bs.png, lang-ca.png, lang-cs.png, lang-cy.png, lang-da.png,
+ lang-de.png, lang-el.png, lang-en_GB.png, lang-en_US.png,
+ lang-eo.png, lang-es.png, lang-et.png, lang-eu.png, lang-fa.png,
+ lang-fi.png, lang-fo.png, lang-fr.png, lang-ga.png, lang-gd.png,
+ lang-gl.png, lang-gv.png, lang-he.png, lang-hr.png, lang-hu.png,
+ lang-hy.png, lang-ia.png, lang-id.png, lang-is.png, lang-it.png,
+ lang-iu.png, lang-ja.png, lang-ka.png, lang-ko.png, lang-kw.png,
+ lang-lt.png, lang-lv.png, lang-mi.png, lang-mk.png, lang-ms.png,
+ lang-mt.png, lang-nb.png, lang-nl.png, lang-nn.png, lang-oc.png,
+ lang-pl.png, lang-pt.png, lang-pt_BR.png, lang-ro.png,
+ lang-ru.png, lang-sk.png, lang-sl.png, lang-sp.png, lang-sq.png,
+ lang-sr.png, lang-sv.png, lang-ta.png, lang-tg.png, lang-th.png,
+ lang-tr.png, lang-tt.png, lang-uk.png, lang-ur.png, lang-uz.png,
+ lang-vi.png, lang-wa.png, lang-yi.png, lang-zh_CN.png,
+ lang-zh_TW.png: invert video the images since the new theme will
+ be printing black text on white background
+
+2003-02-13 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - fix calling
+ configureTimezone - have country before timezone (gc wants it
+ that way...)
+
+2003-02-13 20:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: fix
+ ask_warn(), really dont make it pop
+
+2003-02-13 20:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: fix typo
+
+2003-02-13 20:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot:
+ minor changes (update from xml)
+
+2003-02-13 20:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/list: use PerlIO-gzip
+
+2003-02-13 20:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile: at last fix the culprit for the dreaded
+ "relocation error" (esp. occured when the glibc changed)
+
+2003-02-13 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_interactive.pm, Xconfig/card.pm,
+ Xconfig/main.pm, Xconfig/monitor.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/various.pm: fix and some
+ more Help
+
+2003-02-13 18:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help_xml2pm.pl: no need for
+ "empty" id anymore
+
+2003-02-13 18:32 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-13 18:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, et.po, fi.po, nl.po: updated
+ Arabic, Dutch, Estonian and Finnish files
+
+2003-02-13 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix typo (from xml)
+
+2003-02-13 18:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot:
+ new help from xml
+
+2003-02-13 18:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - adapt to new
+ drakx-chapter.xml (esp. handle <variablelist> tags) - replace __
+ with N_ - add "our" for "%steps"
+
+2003-02-13 15:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2003-02-13 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: don't force pop_it on ask_warn's
+
+2003-02-13 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_interactive.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ interactive.pm, services.pm, ugtk2.pm, Xconfig/various.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ interactive/gtk.pm, modules/interactive.pm, network/adsl.pm,
+ network/ethernet.pm, network/isdn.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, network/tools.pm,
+ printer/printerdrake.pm, security/level.pm: - set_help is
+ deprecated - it is replaced by interactive_help_id on each ask_*
+ - many set_help do not have any correspondance in help.pm
+ (drakxid-*), those are commented for now
+
+2003-02-13 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.29mdk
+
+2003-02-13 15:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/mouse.pm: Mouse button emulation. Clarify L-Command,
+ add Enter. (Ben Reser)
+
+2003-02-13 14:55 Guillaume Cottenceau
+
+ * perl-install/lang.pm: gc sux: install_any is not available in
+ drakxtools
+
+2003-02-13 13:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2003-02-13 13:31 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: die if getAndSaveFile failed, so
+ that it will be easier to debug if we have this problem..
+
+2003-02-13 13:02 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add 8139cp (cf Frederik Himpe post on
+ cooker)
+
+2003-02-13 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, harddrake/sound.pm,
+ interactive/gtk.pm: - {interactive_help} is a function returning
+ text, it doesn't need to do the help window - drop global
+ interactive_help during install. Will be done per ->ask_*
+
+2003-02-13 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: add ask_yesorno_, ask_okcancel_,
+ ask_warn_, ask_from_listf_raw (to allow help)
+
+2003-02-13 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands, standalone/drakboot: make perl_checker
+ happy
+
+2003-02-13 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: help perl_checker
+
+2003-02-13 12:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: cleanup
+
+2003-02-13 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ tools.pm: add CVS $Id
+
+2003-02-13 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add cvs $Id
+
+2003-02-13 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't use $_total, use
+ $total_ instead
+
+2003-02-13 11:51 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translation
+
+2003-02-13 11:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: no comment
+
+2003-02-13 11:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (start_service_on_boot) prevent copying
+ this style
+
+2003-02-13 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: (do_not_start_service_on_boot) :
+ simplify it
+
+2003-02-13 11:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: fix drakxtools build
+
+2003-02-13 10:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.28mdk
+
+2003-02-13 03:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Fixed typo.
+
+2003-02-13 03:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: handle_configs.pm, scanner.pm,
+ standalone/scannerdrake: Improved handling and structure of
+ scanner database - Scanners with multiple ports are supported now
+ - Fully automatic build of the scanner database, including lines
+ for configuration files - Fixed "SnapScan" <-> "snapscan" bug -
+ Some HP scanners had no manufacturer field. Fixed.
+
+2003-02-13 00:44 Guillaume Cottenceau
+
+ * perl-install/lang.pm: clean
+
+2003-02-13 00:43 Guillaume Cottenceau
+
+ * perl-install/lang.pm, perl-install/share/list,
+ tools/make_mdkinst_stage2: add missing pango rendering modules in
+ ramdisk, do download additional fonts if needed (fixes problems
+ with CJK languages and namely #1098)
+
+2003-02-13 00:40 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: compile with -W
+
+2003-02-12 23:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: cleanup starts_on_boot()
+
+2003-02-12 21:03 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list, rescue/list: rpm files are not set to
+ live in /usr/lib/rpm, always.
+
+2003-02-12 19:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po, uk.po,
+ uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: Updated pot file
+
+2003-02-12 19:58 Guillaume Cottenceau
+
+ * perl-install/share/fonts.tar.bz2: CJK fonts can now be pcf.gz,
+ hopefully since they will be too large for ramdisks :(
+
+2003-02-12 19:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po: Updated pot file
+
+2003-02-12 19:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, services.pm, standalone/scannerdrake:
+ Scannerdrake vastly improved - Use auto-detection methods of SANE
+ - Do not ask the user to configure scanners which are already
+ configured - Handle systems with more than one scanner correctly
+ - Added ports of newer scanners (libusb, parallel, ...) to the
+ port selector in manual setup - Main dialog showing all
+ configured scanners - Full support for scanner sharing via SANE
+ (server/client) - Support for USB scanner access via libusb
+
+2003-02-12 16:32 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: - ensure focus should not be needed
+ anymore - support XSetInputFocus hackery
+
+2003-02-12 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakpxe: fix just stupid fpons sucks
+
+2003-02-12 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: rework summary() (esp. to allow a
+ gtk frontend)
+
+2003-02-12 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: use {interactive_help}
+
+2003-02-12 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: allow
+ {interactive_help} per dialog boxes instead of global
+
+2003-02-12 15:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: don't set pop_it when the window is hidden
+
+2003-02-12 15:41 Fançois Pons
+
+ * perl-install/standalone/drakpxe: updated to find an interface
+ even when no profile are available.
+
+2003-02-12 15:40 Fançois Pons
+
+ * perl-install/pkgs.pm: prefer apache for drakpxe to find the right
+ package.
+
+2003-02-12 13:09 Fançois Pons
+
+ * perl-install/install_steps.pm: fix fpons sucks (at least one
+ time).
+
+2003-02-12 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, commands.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, install_steps_newt.pm,
+ install_steps_stdio.pm, interactive.pm, modules.pm,
+ partition_table.pm, raid.pm, run_program.pm, ugtk2.pm,
+ diskdrake/interactive.pm, interactive/gtk.pm,
+ network/netconnect.pm: perl_checker compliance ("ref" now need
+ parentheses in many case)
+
+2003-02-12 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: do not enfore default settings
+
+2003-02-12 10:38 Fançois Pons
+
+ * perl-install/install_steps.pm: configure profile in order to
+ avoid standalone networking tools to complain about unconfigured
+ device.
+
+2003-02-12 10:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.27mdk
+
+2003-02-12 09:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: perl_checker fixes
+
+2003-02-12 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - clean up through ugtk2 -
+ enforce strict mode - give meaningful names to widget variables -
+ fix embedding in mcc at last, aka going into expert mode does not
+ fsck up the gui - display all configuration buttons (both
+ internet and lan) the same way - fix doble variable declaration
+ to MDK::Common::Globals
+
+2003-02-12 09:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - fix non obvious "not a
+ CODE reference" errors when embedded (fortunately, gc will fix
+ perl-GTK2 if this syntax is still authorized) - (configure_lan) :
+ fix gtk+-2 port and remove old commented out debugging code
+
+2003-02-11 22:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: add "OS/2 boot manager" (see
+ bug #1338)
+
+2003-02-11 19:13 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: format-a-la-tex the message
+ telling that the system is low on resources
+
+2003-02-11 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/lsnetdrake: - ensure log::l's don't
+ appear on stderr - catch authentification errors
+
+2003-02-11 18:35 Guillaume Cottenceau
+
+ * perl-install/Makefile.drakxtools: have localedrake in /usr/bin
+ rather than /usr/sbin (#1407)
+
+2003-02-11 18:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't set AGPMode (see bug #707)
+
+2003-02-11 17:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: smoother gui
+
+2003-02-11 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - further ugtk2 cleanups -
+ (row_setting_dialog) : fix implosion
+
+2003-02-11 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: phase 1 of drakperm clean up
+ through ugtk2
+
+2003-02-11 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - gtk2 port of dialogs (poulpy)
+ - one callback cleanup (me): o enforce strict mode (aka kill
+ jonathanries) and introuce a permission data structure. o
+ no need to keep global references on widget we pack through
+ symbolic references; this is only namespace pollution
+
+2003-02-11 15:44 Guillaume Cottenceau
+
+ * perl-install/lang.pm: no need to duplicate LC_MONETARY
+
+2003-02-11 15:16 Guillaume Cottenceau
+
+ * perl-install/lang.pm: thx perl checko
+
+2003-02-11 15:14 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: try to fix the $o->{lang} compat
+
+2003-02-11 14:53 Guillaume Cottenceau
+
+ * perl-install/: install_steps.pm, lang.pm: have compatibility with
+ old $o->{lang} for not breaking existing auto install files
+
+2003-02-11 14:45 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: reflect lang->locale changes in
+ saving auto_inst.cfg file
+
+2003-02-11 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table.pm: handle 0x7
+ partition table id specially since it can be both hpfs or ntfs.
+ so adding 0x107 being really ntfs. hopefully this change won't
+ break too much things (but things were already broken, since it
+ assigned a mount point with type ntfs to some hpfs partitions)
+ (fixes bug #1455)
+
+2003-02-11 14:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: for GRP_TOGGLE'd keyboard layouts, have
+ "us,XX" instead of simply "XX" (to have previous XFree's
+ behaviour)
+
+2003-02-11 14:04 Pixel <pixel at mandriva.com>
+
+ * kernel/: modules.pl, update_kernel: - better error message for
+ bad modules in modules.pl - handle the exit code of modules.pl
+ (so that .mar files not generated is more understandable)
+
+2003-02-11 13:26 Fançois Pons
+
+ * kernel/check_mar.pl: fixed sanity check on presence of marfile.
+
+2003-02-11 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/diskdrake.rc: - have the "Windows" button blue
+ - set xthickness = 1 and ythickness = 1 for buttons (so that
+ non-colored buttons have the same feelings with the upcoming new
+ theme)
+
+2003-02-11 12:05 Guillaume Cottenceau
+
+ * perl-install/share/gen_locales.pl: update to changes in lang.pm
+
+2003-02-11 10:33 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: don't take lang subdir in
+ pixmap
+
+2003-02-11 09:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: no frame in standalone mode
+
+2003-02-11 09:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: stop: - copying stude && useless trace
+ around - reinventing the wheel: kill parse_etc_passwd() and use
+ list_users() instead
+
+2003-02-10 23:39 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: corrected option handling and
+ added hotplug checkbox
+
+2003-02-10 23:37 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/ethernet.pm: added a text to describe the
+ Zeroconf host name field
+
+2003-02-10 23:37 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: count space needed for the filesystem
+ so that we don't end up with 3 mbytes of free space if /tmp was
+ ext3
+
+2003-02-10 23:36 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/netconnect.pm: reworded network restart
+ string
+
+2003-02-10 23:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: in lilo.conf, "unsafe" is
+ incompatible with "table=..." (fixes bug #1382)
+
+2003-02-10 23:01 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/modules.pm: ck hptraid, but
+ discard the insmod error for it
+
+2003-02-10 22:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: small cleanup
+
+2003-02-10 22:25 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: don't list hptraid since it's too buggy
+ (eg: bug 1085)
+
+2003-02-10 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: cs4239 is managed by both
+ "ad1848" and "snd-cs4236"
+
+2003-02-10 14:59 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: perl checko
+
+2003-02-10 14:56 Guillaume Cottenceau
+
+ * perl-install/lang.pm: perl checko files
+
+2003-02-10 14:53 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: two fixes thx to perl_checker,
+ one among them being very important :)
+
+2003-02-10 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_steps_interactive.pm,
+ diskdrake/interactive.pm: - more precise message when formatting
+ / fsck'ing / mounting partitions - hide passwords (for smb)
+
+2003-02-10 14:44 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: when displaying images in
+ treeview, unref pixbufs right after their use so that we try to
+ save some memory
+
+2003-02-10 14:32 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - s/link/path/
+
+2003-02-10 12:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - http connections handled.
+
+2003-02-10 12:09 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - help link can be non local
+ (http, www connnections).
+
+2003-02-10 09:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - sort functions by name in export tags -
+ (gtkset_name) introduce it for mcc and reuse it in
+ create_box_with_title()
+
+2003-02-10 09:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, netconnect.pm, network.pm:
+ perl_checker fixes
+
+2003-02-10 01:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2003-02-09 22:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: do translate "System installation"
+ and "System configuration" in steps window
+
+2003-02-09 15:50 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: try to catch up for 9.1
+
+2003-02-09 15:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: tg.po, tr.po, vi.po: Updated Turkish,
+ Tajiki and Vietnamese files
+
+2003-02-09 02:32 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/netconnect.pm: corrected expert case to
+ restart network and if the user choose not to restart the
+ network, end the dialog normally.
+
+2003-02-09 02:20 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/network.pm: check that zeroconf hostname
+ doesn"t contain a . read zeroconf hostname from tmdns.conf
+
+2003-02-09 02:19 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/network/ethernet.pm: check that zeroconf hostname
+ doesn"t contain a .
+
+2003-02-08 23:09 Guillaume Cottenceau
+
+ * perl-install/: Makefile, any.pm, install2.pm, install_any.pm,
+ install_gtk.pm, install_steps.pm, install_steps_auto_install.pm,
+ install_steps_interactive.pm, install_steps_newt.pm,
+ install_steps_stdio.pm, keyboard.pm, lang.pm, timezone.pm,
+ pixmaps/langs/lang-af.png, pixmaps/langs/lang-am.png,
+ pixmaps/langs/lang-ar.png, pixmaps/langs/lang-az.png,
+ pixmaps/langs/lang-be.png, pixmaps/langs/lang-bg.png,
+ pixmaps/langs/lang-br.png, pixmaps/langs/lang-bs.png,
+ pixmaps/langs/lang-ca.png, pixmaps/langs/lang-cs.png,
+ pixmaps/langs/lang-cy.png, pixmaps/langs/lang-da.png,
+ pixmaps/langs/lang-de.png, pixmaps/langs/lang-el.png,
+ pixmaps/langs/lang-en_GB.png, pixmaps/langs/lang-en_US.png,
+ pixmaps/langs/lang-eo.png, pixmaps/langs/lang-es.png,
+ pixmaps/langs/lang-et.png, pixmaps/langs/lang-eu.png,
+ pixmaps/langs/lang-fa.png, pixmaps/langs/lang-fi.png,
+ pixmaps/langs/lang-fo.png, pixmaps/langs/lang-fr.png,
+ pixmaps/langs/lang-ga.png, pixmaps/langs/lang-gd.png,
+ pixmaps/langs/lang-gl.png, pixmaps/langs/lang-gv.png,
+ pixmaps/langs/lang-he.png, pixmaps/langs/lang-hr.png,
+ pixmaps/langs/lang-hu.png, pixmaps/langs/lang-hy.png,
+ pixmaps/langs/lang-ia.png, pixmaps/langs/lang-id.png,
+ pixmaps/langs/lang-is.png, pixmaps/langs/lang-it.png,
+ pixmaps/langs/lang-iu.png, pixmaps/langs/lang-ja.png,
+ pixmaps/langs/lang-ka.png, pixmaps/langs/lang-ko.png,
+ pixmaps/langs/lang-kw.png, pixmaps/langs/lang-lt.png,
+ pixmaps/langs/lang-lv.png, pixmaps/langs/lang-mi.png,
+ pixmaps/langs/lang-mk.png, pixmaps/langs/lang-ms.png,
+ pixmaps/langs/lang-mt.png, pixmaps/langs/lang-nb.png,
+ pixmaps/langs/lang-nl.png, pixmaps/langs/lang-nn.png,
+ pixmaps/langs/lang-oc.png, pixmaps/langs/lang-pl.png,
+ pixmaps/langs/lang-pt.png, pixmaps/langs/lang-pt_BR.png,
+ pixmaps/langs/lang-ro.png, pixmaps/langs/lang-ru.png,
+ pixmaps/langs/lang-sk.png, pixmaps/langs/lang-sl.png,
+ pixmaps/langs/lang-sp.png, pixmaps/langs/lang-sq.png,
+ pixmaps/langs/lang-sr.png, pixmaps/langs/lang-sv.png,
+ pixmaps/langs/lang-ta.png, pixmaps/langs/lang-tg.png,
+ pixmaps/langs/lang-th.png, pixmaps/langs/lang-tr.png,
+ pixmaps/langs/lang-tt.png, pixmaps/langs/lang-uk.png,
+ pixmaps/langs/lang-ur.png, pixmaps/langs/lang-uz.png,
+ pixmaps/langs/lang-vi.png, pixmaps/langs/lang-wa.png,
+ pixmaps/langs/lang-yi.png, pixmaps/langs/lang-zh_CN.png,
+ pixmaps/langs/lang-zh_TW.png, standalone/drakhelp,
+ standalone/drakxtv, standalone/localedrake: language/country
+ selection change: - first install step is selection of your
+ language, in your language; it uses images for that -
+ language->country is probed, the selection of the country is
+ possible if there was a problem, in the Summary step - in the
+ $o big structure, we now use $o->{locale} which contains three
+ keys: lang, country and utf8 - lang.pm has been cleaned and
+ rewritten a bit - keyboard probing now done only on language
+ (because this step is at the beginning of the install) -
+ timezone probing done on country, if use changes country before
+ timezone in the Summary, re-probe timezone accordingly
+
+2003-02-08 22:53 Guillaume Cottenceau
+
+ * rescue/tree/etc/issue: remove "cooker" from the issue of the
+ rescue since we're aproaching the release candidates
+
+2003-02-08 22:52 Guillaume Cottenceau
+
+ * perl-install/install_messages.pm: change address for errata to
+ reflect the future 9.1
+
+2003-02-08 21:17 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: when probing that we're in testing mode, print
+ out the pid (since the probe is based on the pid and some recent
+ machines seem to interact badly with that when in bad acpi mood)
+
+2003-02-08 21:13 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: say we're low on resources if
+ we have less than 70 Mb of RAM (was 60 Mb)
+
+2003-02-08 21:01 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: the shitload of images for selecting
+ languages in their languages needs a few additional inodes..
+
+2003-02-08 20:54 Guillaume Cottenceau
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: add option
+ advanced_state: if set to 1, force the "Advanced" part of the
+ dialog to be opened initially
+
+2003-02-08 20:52 Guillaume Cottenceau
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: add
+ possibility to display images in tree-lists and bool-lists
+
+2003-02-08 15:42 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: indent
+
+2003-02-08 15:41 Guillaume Cottenceau
+
+ * mdk-stage1/config-stage1.h: ramdisk is enlarging, move the limit
+ from 52 Mb to 68 Mb (it won't work properly in gtk on a box with
+ 64 Mb of memory..)
+
+2003-02-08 15:39 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: set version to 9.1
+
+2003-02-07 22:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, sv.po: Updated Welsh and Swedish
+ files
+
+2003-02-07 22:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2003-02-07 21:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2003-02-07 21:06 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: - DHCP & Zeroconf fixes for
+ installation - fix '217.0.0.1 localhost' not written in
+ /etc/hosts when using DHCP
+
+2003-02-07 19:39 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish translations
+
+2003-02-07 19:31 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: - full Gtk2 - cleanup code
+ (still much to do...)
+
+2003-02-07 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated po file
+
+2003-02-07 14:53 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-07 14:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, uz.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-07 13:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed English typo
+
+2003-02-07 13:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakedm: fixed English typo
+
+2003-02-07 10:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix english typo (bug #1350)
+
+2003-02-06 21:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: add "Help" button
+
+2003-02-06 21:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix sizing in the scrolled
+ window in 80x25
+
+2003-02-06 19:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2003-02-06 18:31 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: avoid to mess up tmdns.conf file
+
+2003-02-06 18:27 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated translation
+
+2003-02-06 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: have the focus on the help
+ "Ok" button
+
+2003-02-06 18:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/detect.pm: Corrected call for "tryWrite"
+ function.
+
+2003-02-06 17:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: sanitize
+
+2003-02-06 17:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, uz.po: Added start of Uzbek file;
+ updated German file
+
+2003-02-06 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add drakedm
+
+2003-02-06 16:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: fix dhcp package installation
+ fix zeroconf suckiness
+
+2003-02-06 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: fix floppy create :-)
+
+2003-02-06 16:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: perl_checker fix (yeah, i was
+ faster than perl_checko!)
+
+2003-02-06 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakedm: the result of David
+ Sansome|Laurent Montel|Frederic Lepied|Davod Beidebs|Thierry
+ Vignaud collision
+
+2003-02-06 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: missing aewm-drakx causes pb
+ when testing (perl going havoc?)
+
+2003-02-06 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: remove create_big_help
+
+2003-02-06 15:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive/gtk.pm, install_steps_gtk.pm: add
+ "Help" button
+
+2003-02-06 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: drop "F1" for help (since a "Help" button
+ is now available)
+
+2003-02-06 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_okcancel): allow buttons on the
+ left (for the "Help" button)
+
+2003-02-06 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): focus the "name" field, and
+ change the buttons name & place
+
+2003-02-06 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword):
+ have the focus on the password field
+
+2003-02-06 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: (filesystems_button_box): in
+ the caption write "Windows" instead of "FAT" (since NTFS uses the
+ same color)
+
+2003-02-06 12:15 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - change package name to
+ install
+
+2003-02-06 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: perl_checker fixes
+
+2003-02-06 10:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: perl_checker fix
+
+2003-02-06 00:19 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated...wrrr
+
+2003-02-05 20:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.24mdk
+
+2003-02-05 19:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/harddrake2: small i18n improvement
+
+2003-02-05 19:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: almost full Gtk2 :p
+
+2003-02-05 18:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: - building srpm only does not imply having
+ the dependancies installed - clean more files too
+
+2003-02-05 18:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info): switch buttons
+
+2003-02-05 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: handle "Previous" on
+ choosePackagesTree
+
+2003-02-05 18:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.23mdk
+
+2003-02-05 18:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: have "<- Previous" button in
+ choosePackagesTree
+
+2003-02-05 18:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, vi.po: updated Estonian and
+ Vietnamese files
+
+2003-02-05 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove debug code :-(
+
+2003-02-05 16:08 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: fixed my own
+ sucking
+
+2003-02-05 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, da.po, eo.po, he.po, tg.po: more
+ translations corrections
+
+2003-02-05 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix embedding
+
+2003-02-05 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2003-02-05 15:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, az.po, bg.po, bs.po, ca.po, cs.po,
+ de.po, el.po, eo.po, eu.po, fi.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, no.po,
+ pt_BR.po, ro.po, sk.po, sl.po, sq.po, ta.po, tg.po, th.po, uk.po,
+ vi.po, zh_TW.po: fixed some incoherent translations that made
+ harddrake2 crash
+
+2003-02-05 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: warn the user when
+ leaving the summary with X non configured
+
+2003-02-05 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, pkgs.pm, interactive/gtk.pm: replace
+ $l[$#l] with $l[-1]
+
+2003-02-05 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: skip handle_configs (since it's not
+ perl_checker compliant, and don't want to be)
+
+2003-02-05 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: fix perl_checker error
+
+2003-02-05 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: don't force wait_messages pop
+
+2003-02-05 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - add a beep in case of brltty error
+ message - probe mouse before running brltty
+
+2003-02-05 14:00 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed again.
+
+2003-02-05 13:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2003-02-05 13:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2003-02-05 13:33 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed bug 1287.
+
+2003-02-05 12:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-05 12:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add mdkkdm in KDE 5
+
+2003-02-05 11:29 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added more security related packages
+
+2003-02-05 10:58 Fançois Pons
+
+ * isolinux-graphic.bmp: newer picture with 128 color made.
+
+2003-02-05 10:58 Fançois Pons
+
+ * make_boot_img: updated isolinux picture.
+
+2003-02-05 10:38 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-05 10:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: typo fix
+
+2003-02-05 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/README.devel: update to new partition_table scheme
+
+2003-02-05 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: new data structure enables to do
+ further cleanups and to spot old bugs (aka security::msec is
+ readable at last):
+
+ - put all file names & separators for regexps in the object -
+ (load_defaults, load_values) thus we can use indirect call to get
+ right values - (load_values) fix "returning 'undef' option" (this
+ trival bug did not have any side effect but fixing it is
+ cleaner - kill debugging statements - generalize some comments -
+ (reload) introduce this method so that we can later reload
+ default values when the user change the security level
+
+ the only bug we left is that on each saving, we add a empty line
+ to config files...
+
+2003-02-05 00:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/handle_configs.pm: Put quoting of search terms into
+ a function, small fixes.
+
+2003-02-04 23:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: put back the address of the
+ translator
+
+2003-02-04 23:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: - Fixed
+ Titi's newly introduced bugs. Now scannerdrake works at least as
+ under Mandrake 9.0. - Fixed bug of automatic configuration also
+ being done if one opts for manual configuration of an
+ auto-detected scanner. - Made scannerdrake editing the SANE
+ config files instead of replacing them by the config lines from
+ the DB (or emptying them when no config lines are given in the
+ DB).
+
+2003-02-04 22:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, da.po, et.po: updated Welsh,
+ Danish and Estonian files
+
+2003-02-04 21:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Removed debug helper line.
+
+2003-02-04 21:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Fixed auto-detection of a
+ configured (but not started) network.
+
+2003-02-04 21:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix typo
+
+2003-02-04 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add brltty
+
+2003-02-04 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, install2.pm, share/list: add brltty help
+ file
+
+2003-02-04 20:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: handle_configs.pm, printer/main.pm,
+ printer/printerdrake.pm: - "Out-sourced" functions for config
+ file handling into handle_configs.pm, it is used by both
+ printerdrake and scannerdrake. - Improvements and fixes on CUPS
+ daemon configuration by printerdrake.
+
+2003-02-04 17:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.22mdk
+
+2003-02-04 15:59 Fançois Pons
+
+ * perl-install/network/adsl.pm: fixed small typo.
+
+2003-02-04 15:35 Fançois Pons
+
+ * perl-install/network/adsl.pm: add support for adiusbadsl 1.0.2
+ (using adictrl -i to find interface and using pppoa).
+
+2003-02-04 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm, perl-install/install_any.pm,
+ perl-install/install_steps.pm, perl-install/share/list,
+ tools/make_mdkinst_stage2: brltty support
+
+2003-02-04 15:24 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - have 3w-xxxx back in network.img - sort isa
+ and non-isa scsi cards
+
+2003-02-04 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: wildcard * in share/list allowed to match
+ multiple files, but not multiple directories
+
+2003-02-04 14:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2003-02-04 14:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po:
+ updated pot file
+
+2003-02-04 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: move packages from 3 to 4 (fix bug
+ #1265)
+
+2003-02-04 12:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: don't ->set_modal during install
+
+2003-02-04 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add "vcsa" (for brltty)
+
+2003-02-04 10:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: perl_checker fix
+
+2003-02-04 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: adapt to new
+ mandrake_doc-drakxtools-* packages
+
+2003-02-04 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/msec.pm, standalone/draksec: - fix
+ get_check_default() and get_function_default() description - fix
+ "check states were not saved if their value did not change (thus
+ reverting it to default on disk)" - fix emebedding (no
+ transcience when embedded) - fix "value get chop()-ed until it
+ disapear and is reset to default" - log which security level is
+ set and not only the switch
+
+ killing latest remanent parts of christian "yeah baby, i'm piggy"
+ work:
+
+ - functions and checks listing : o rename get_functions() as
+ list_functions() and get_default_checks() as list_checks();
+ this is both more homogenous and enable one to separate them
+ from the get_(check|function)_(value|default) function group
+ o regroup them o over simplify list_functions(): leave
+ functions listing to msec (aka /usr/share/msec/level.<LEVEL>,
+ assuming share/msec.py is always up to date, just don't care
+ reparsing python code (this is plain stupid); if we cannot
+ rely on msec, on who could we :-) ? o this allow to simplify
+ msec gui so that we do not exclude stuff already excluded -
+ remove config_check(), config_funtion(): replace them by: o
+ set_check() and set_function() to store new values in data
+ structure o apply_checks() and apply_functions() to save these
+ new values, thus writing config files once and not twice the
+ functions & checks count
+
+2003-02-04 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/theme-editor.pl: update theme editor to
+ current libDrakX api
+
+2003-02-04 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: now, we always have a help entry
+ and a default value but when fredl rename a check and forgot to
+ remove it from /var/lib/msec/security.conf like CHECK_SUID_GROUP
+ => CHECK_SGID, but hopefully, he'll fix msec
+
+2003-02-04 01:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Use system configs when
+ wrapped in mcc.
+
+2003-02-04 00:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: cleanup
+
+2003-02-04 00:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: port to Gtk2
+
+2003-02-04 00:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: don't "use
+ diskdrake::interactive", only require it when needed
+
+2003-02-04 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/: smbnfs_default.png,
+ smbnfs_has_mntpoint.png, smbnfs_mounted.png: have the background
+ fully transparent
+
+2003-02-04 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: fix test mode install when
+ Xnest is not there
+
+2003-02-03 23:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2003-02-03 21:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: make perl_checker happy
+
+2003-02-03 19:56 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/netconnect.pm: fix some drakgw behaviour
+
+2003-02-03 19:42 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Not too many entries in beta
+ release?
+
+2003-02-03 18:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, c/stuff.xs.pl: do not eject cdrom
+ when already removed at the end of install (bug #1235)
+
+2003-02-03 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove yelp-pregenerate
+
+2003-02-03 18:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: make perl_checker happy
+
+2003-02-03 18:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-02-03 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: - consolidate file names - remove
+ unused variables - rename get_(default|value as
+ load_(default|value)s and alter them so that config file are
+ read only one time instead of one per option; data is stocked
+ in package variable - thus get_default_checks() is quite a lot
+ faster - alter get_(check|function)_(value|default) to use new
+ data structure - fix check default reading - group default values
+ reading and current values reading
+
+ what's left: do the same thing for writing tomorow
+
+2003-02-03 17:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: translate keyboard names
+
+2003-02-03 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.21mdk (to be continued by
+ pouly)
+
+2003-02-03 16:43 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: dhcp/zeroconf stuff
+
+2003-02-03 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/porting-ugtk: new obsolete func (thanks drakcronat)
+
+2003-02-03 16:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/help.pm, standalone/draksec: - msec was
+ altered to produce help suitable for formatAlaTeX() - use
+ formatAlaTeX() to have nicer tooltips
+
+2003-02-03 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2003-02-03 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/help.pm: auto-generated from
+ msec/share/draksec_help.py libmsec and moved from msec to here so
+ that draksec help'll get translated
+
+ all changes must be done in soft/msec/share/libmsec.py !!!
+
+2003-02-03 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix typo (for treelist)
+
+2003-02-03 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: prefer mdkkdm over kdebase-kdm
+
+2003-02-03 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: ensure the X test strings are
+ translated
+
+2003-02-03 13:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: remove drakpxe exception since
+ fpons has at lease fixed "fpons sucks" in drakpxe
+
+2003-02-03 13:32 Fançois Pons
+
+ * perl-install/bootloader.pm: integrated chmouel fixes.
+
+2003-02-03 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/parameters.pm: use run_program::get_stdout
+
+2003-02-03 10:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: let simplify
+
+2003-02-03 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: sanitize gui (aka make it look
+ nicer): - put the same help label on top of each msec options
+ notebook pages and consolidate it - use gtkpack_ instead of
+ gtkpack so that we can tell gtk+ that label must neither fill
+ nor expand, only the packtable should
+
+2003-02-03 09:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: display again the first notebook
+ page
+
+2003-02-03 09:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: if no default value, then do not
+ print one (aka for cron checks)
+
+2003-02-03 08:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: fix help system description. we
+ should really use the camille/deush help system though.
+
+2003-02-03 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: - perl_checker fixes - display
+ sorted options (hey pixel, note that the last diff trunk with
+ execessive () was not detected by perl_checker :-( )
+
+2003-02-03 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/parameters.pm: pixelize(tm)
+
+2003-02-03 08:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/interactive_http/authorised_progs:
+ draksec is not written to use interactive, thus cannot be used by
+ http frontend
+
+2003-02-03 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/interactive_http/miniserv.init: sanitize
+ draxktools server service script: - no gratuitous shell forking -
+ now can be debugged through "sh -x" - use std shell service lib -
+ make it print [OK] || [FAILLED]
+
+2003-02-03 02:13 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: - fix zeroconf
+ support - cleanups
+
+2003-02-03 01:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2003-02-02 22:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (adjust_local_extended): fix
+ resizing local extended
+
+2003-02-02 21:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, es.po, fi.po, sk.po: updated
+ Arabic, Spanish, Finnish and Slovak files
+
+2003-02-02 20:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/diskdrake.rc: NTFS is blue
+
+2003-02-02 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printer/detect.pm: move
+ whatParport() to printer::detect
+
+2003-02-02 17:57 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ Fixed Foomatic installation done by installer.
+
+2003-02-02 14:54 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: some updates
+
+2003-02-02 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, ugtk2.pm: ensure the window is big
+ enough in 640x480: remove logo and steps window
+
+2003-02-02 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - handle {vga16} in Xnest
+ testing mode - fix weird bug due to missing aewm-drakx in test
+ mode (??)
+
+2003-02-02 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printer/detect.pm,
+ printer/printerdrake.pm: move whatPrinter(), whatUsbport() and
+ whatPrinterPort() out of detect_devices to printer::detect (it
+ cleans up detect_devices, and won't hurt eyes anymore :)
+
+ this change, together with .perl_checker skipping printer::*
+ marks the style disagreement between printer/* and the rest
+ of install
+
+2003-02-02 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: do not check printer::main,
+ printer::printerdrake and printer::detect, too many warnings
+
+2003-02-02 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: please perl_checker
+
+2003-02-02 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, common.pm: please
+ perl_checker
+
+2003-02-02 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - add Xnest feature when
+ testing - cleanup and re-indent
+
+2003-02-02 12:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, da.po: updated Arabic and Danish
+ files
+
+2003-02-02 02:55 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-02-02 01:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix grub installed on
+ {first_hd_device} instead of {boot} (bug #1199)
+
+2003-02-01 23:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: - Improved generation of printer
+ list entries from manufacturer-supplied PostScript PPDs.
+
+2003-02-01 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, sq.po, vi.po: updated Vietnamese,
+ Estonian and Albanian files
+
+2003-02-01 11:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2003-02-01 05:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, main.pm, printerdrake.pm: -
+ Completed support for pre-compiled Foomatic PPDs.
+ - Cleaning of mamufacturer names for menues and for comparing
+ auto-dtected
+ data against Foomatic centralized in one function.
+ - Fixed file name in check for installed packages.
+ - Fixed display of boolean options from native PostScript PPD
+ files in the
+ option setting dialog.
+
+2003-01-31 23:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, tg.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-01-31 22:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fixed typo (drakbakup.conf ->
+ drakbackup.conf)
+
+2003-01-31 21:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ca.po: Fixed small error (missing "/" in
+ menu entry)
+
+2003-01-31 18:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2003-01-31 18:33 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: zeroconf
+
+2003-01-31 18:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: more zeroconf configuration
+
+2003-01-31 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix poulpy
+
+2003-01-31 17:22 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/ugtk2.pm: avoid poping
+
+2003-01-31 17:07 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: be sure
+ $o->{netcnx}{type} is set when using easy_dhcp
+
+2003-01-31 16:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * mdk-stage1/network.c: don't save hostname if intf->boot_proto ==
+ BOOTPROTO_DHCP
+
+2003-01-31 15:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do "yelp-pregenerate -a" only once
+
+2003-01-31 15:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: fix "one big ntfs" resizing
+ (in the limit case)
+
+2003-01-31 15:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, ugtk2.pm,
+ diskdrake/hd_gtk.pm, interactive/gtk.pm: handle pop_it more
+ nicely: no need to precise pop_it when the wizard window already
+ has a window, that way, two dialog boxes won't merge in the same
+ window (which is dumb!)
+
+2003-01-31 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - do not write_partitions
+ when resizing & loosing data (not needed) - handle "cancel" on
+ write_partitions
+
+2003-01-31 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (detect): cleanup the value returned when
+ only a wacom is found
+
+2003-01-31 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: (createXconf): special case for
+ "none" mouse device
+
+2003-01-31 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix typo (calling
+ resize_fat::main instead of diskdrake::resize_ntfs)
+
+2003-01-31 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: remove explicitly setting the
+ size of advertising window (it wasn't setting the same size as
+ the wizard mode size)
+
+2003-01-31 10:50 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: beta 3 logo
+
+2003-01-31 03:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Faster switch
+ between normal and expert mode (no re-read of the print
+ queues). - Prepared for working with pre-compiled Foomatic PPDs.
+
+2003-01-31 02:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: small fixes
+
+2003-01-31 01:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: graphical layout change
+
+2003-01-31 01:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: add ntfs resize to the
+ wizard
+
+2003-01-31 01:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: fix typo
+
+2003-01-31 01:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm, resize_ntfs.pm: create
+ diskdrake::resize_ntfs to factorize code
+
+2003-01-30 23:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_interactive.pm: drop
+ $o->{lnx4win} handling
+
+2003-01-30 23:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fsedit.pm, install_any.pm,
+ install_interactive.pm, install_steps_interactive.pm,
+ partition_table.pm, diskdrake/hd_gtk.pm: add isFat_or_NTFS() and
+ use it where possible instead of isFat() since Windows is now
+ using ntfs, not only Windows NT
+
+2003-01-30 23:37 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, mdk-stage1/Makefile: remove other.img &
+ usb.img, add hd_usb.img & network_gigabit_usb.img
+
+2003-01-30 23:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_auto_install.pm, modules.pm,
+ network/ethernet.pm, network/netconnect.pm, network/network.pm:
+ adapt to new category network/gigabit (which used to be in
+ network/main)
+
+2003-01-30 23:34 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: - add some more modules (from pcitable,
+ thanks chmouel) - add category network/gigabit (thanks chmouel)
+
+2003-01-30 23:32 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: - remove other & usb, add hd_usb &
+ network_gigabit_usb - call modules.pl after generating
+ modules.dep
+
+2003-01-30 23:30 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - separate "bad/old pcitable modules" (ie
+ pcitable modules not available in the kernel) from "PCITABLE
+ MODULES NOT LISTED" - complete rework of "modules only for all
+ img" - separate modules not on stage1 and modules only on "all"
+ (nb: notice it was previously broken, every modules were on
+ "all") - dropped other.img support - fix module dependencies
+ handling (check): separate "bad/old pcitable modules" (ie
+ pcitable modules not available in the kernel) from "PCITABLE
+ MODULES NOT LISTED"
+
+2003-01-30 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (merge_values): allow get_monitors
+ to work when xfree3 is missing
+
+2003-01-30 19:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: converted Welsh file to UTF-8
+
+2003-01-30 19:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, main.pm, printerdrake.pm: -
+ Conservation of option settings also for queues with PostScript
+ PPD files or when switching between PostScript PPD file and
+ Foomatic. - Fixed tree structure of main window in expert mode.
+ - Several smaller bug fixes.
+
+2003-01-30 18:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: on second thoughts, this is
+ just simpler
+
+2003-01-30 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.19mdk
+
+2003-01-30 18:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - perl_checker fixes - fix non
+ embedded case :-(
+
+2003-01-30 15:38 Fançois Pons
+
+ * isolinux-graphic.bmp: newer image for 9.1
+
+2003-01-30 15:37 Fançois Pons
+
+ * make_boot_img: updated with newer isolinux-graphic.bmp image.
+
+2003-01-30 12:32 Fançois Pons
+
+ * perl-install/share/list: added pango-hebrew-xft.so for hebrew to
+ be displayed (chmouel)
+
+2003-01-30 11:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tg.po: Added Tajiki file
+
+2003-01-30 08:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/harddrake2:
+ translate topics (aka hw class names) in harddrake gui
+
+2003-01-30 08:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: - cosmetic fix for "drakconnect
+ does not detect nvnet part of nvforce2 chips" hint: their class
+ is MEMORY_RAM :-( ... - btw, simplify unknown devices detection
+ (merging tests regarding driver and media type) - move nforce
+ system controllers in bridge class (which is renamed "bridges and
+ system controllers" aka where we put stuff we've nothing to
+ configure but we don't want to put them in controller so that
+ users are not afraid) but nvnet
+
+2003-01-30 04:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Display
+ options devided in the groups defined in the PPD file. - For
+ Foomatic PPDs the options in the "General" group are shown by
+ default the rest when clicking "Advanced". When there ar no
+ groups, the decision is done by a table of most commonly used
+ option names. - Sort the displayed options of a queue with a
+ non-Foomatic PPD file by the importance of the options. - Do
+ not sort the values of an option, they are already conveniently
+ sorted in the PPD files. - Removed some unnecessary re-reads
+ of the printer option information. - Several fixes to run
+ smoothly with Foomatic 2.9.x.
+
+2003-01-30 03:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-01-30 02:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: perl_checker small fixes
+
+2003-01-30 02:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, interactive/newt.pm: basic treelist
+ handling (it leaks memory, but who cares, compared to gtk :)
+
+2003-01-30 02:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (helper_separator_tree_to_tree):
+ this new function helps transforming a flag {list} to a tree,
+ using {separator}
+
+2003-01-29 22:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, pt.po: updated Portuguese and
+ Danish files
+
+2003-01-29 16:38 Fançois Pons
+
+ * perl-install/standalone/drakpxe: fixed perl_checker
+
+2003-01-29 16:36 Fançois Pons
+
+ * perl-install/network/netconnect.pm: fixed some perl_checker
+
+2003-01-29 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix various resize pbs: -
+ write partition table *before* resizing when partition is
+ enlarged - debug ntfsresize
+
+2003-01-29 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: dumpe2fs call cleanup
+
+2003-01-29 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: don't set $::main_window during
+ install
+
+2003-01-29 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/interactive.pm, share/list: ntfsresize
+ feature added (not tested!)
+
+2003-01-29 11:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: switched some languages to
+ UTF-8 (they use ascii only, so it shouldn't be noticed); changed
+ a keyboard name to match name used by XFree86
+
+2003-01-29 09:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: logdrake is a special case as
+ for embedding in mcc since it can be embedded twice: one as
+ explanation viewer and one a log search tool.
+
+ so we must handly ask mcc to display us ...
+
+2003-01-29 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getIDE) don't provide
+ information when we don't have it (vendor, description)
+
+2003-01-29 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix doble detection of pci modems
+
+2003-01-29 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getModem) it always return an
+ empy hash, thus confusing harddrake
+
+2003-01-29 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: print badly managed devices'
+ drivers in red
+
+2003-01-29 09:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: restore cd/dvd burners detection
+
+2003-01-29 04:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Automatic
+ non-interactive installation of local print queues. - Standard
+ and advanced options selected by option groups in PPD. - Fixed
+ bug of "CUPS + GIMP-Print" drivers being preferred against
+ "Foomatic + gimp-print" drivers in beginners mode. - Foomatic
+ package installation adapted to Foomatic 2.9.x.
+
+2003-01-29 02:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, raid.pm: software raid (mdX)
+ can go up to md31
+
+2003-01-29 02:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: handle mdX where X >= 10 (it should fix
+ bug #1129)
+
+2003-01-28 22:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Take into account the new splitting
+ of the Foomatic packages.
+
+2003-01-28 19:02 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: fixes unresponsive keyboard
+
+2003-01-28 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: log configured dvds for better
+ post-debugging
+
+2003-01-28 17:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: s/version name/version number/
+ (Christophe Combelles)
+
+2003-01-28 17:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, pt.po: updated Portuguese file
+
+2003-01-28 16:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: common.pm, interactive.pm, ugtk.pm, ugtk2.pm,
+ interactive/gtk.pm: cleaning the utf8 support stuff:
+
+ - consolidate check_for_xserver() to check for x11 access
+
+ - introduce prepare_gtk2() to do what gtk+2 needs, so that
+ tools that're not part of drakxtools (aka: rpmdrake, mcc, ...)
+ can just do :
+
+ unshift @::textdomains, 'drakconf'; prepare_gtk2();
+
+2003-01-28 16:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/: lv.po, mt.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sq.po, sr.po, sv.po,
+ ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ typo fix in logdrake usage help (spoted by Christophe Combelles)
+
+2003-01-28 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, share/po/af.po, share/po/ar.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/bs.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/he.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po: typo fix in
+ logdrake usage help (spoted by Christophe Combelles)
+
+2003-01-28 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, interactive/newt.pm: cleanup use of
+ flags
+
+2003-01-28 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, interactive/newt.pm: simplify API
+ (always -1,-1 for left,top when creating widget, it means
+ auto-placement)
+
+2003-01-28 13:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2003-01-28 12:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: for resize2fs, don't
+ multiply by 512 *then* divide by $block_size, better divide by
+ ($block_size / 512)
+
+2003-01-28 11:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, he.po: updated Finnish and Hebrew
+ files
+
+2003-01-28 09:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.17mdk
+
+2003-01-28 04:04 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: More stuff for
+ non-interactive printer configuration: - Added find_new_printer()
+ function to find local printers which are not configured yet -
+ Fixed Titi's bugs which messed up list of auto-detected printers
+ - Corrected text in the dialog for changing the printer
+ connection type (for local printer connections). - Allow
+ switching to expert mode during installation (the installation
+ has no global expert mode any more.
+
+2003-01-28 00:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakfont: - progress bars works - change
+ sucky About box - wipeout commented code - remove ugly borders
+ when embedded
+
+2003-01-27 19:01 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: typo rename, not renamef
+
+2003-01-27 16:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: don't blindly truncate strings
+ to size 40 in simplify_string
+
+2003-01-27 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: roll back (mcc!=gi)
+
+2003-01-27 13:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/common.pm: (require_root_capability): having
+ extracted it from interactive enable to further simplify it
+
+2003-01-27 13:33 Guillaume Cottenceau
+
+ * perl-install/mouse.pm: fix missing pointer_ungrab so that after
+ testing mouse during install we can move the mouse pointer
+ everywhere
+
+2003-01-27 13:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: remove debugging statement
+
+2003-01-27 13:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: since fpons don't care about
+ fixing drakxtools build broken by drakpxe, let remove drakpxe
+ from translatable files
+
+2003-01-27 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: remove warnings in package
+
+2003-01-27 13:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.16mdk
+
+2003-01-27 12:55 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: since return values of callbacks
+ are now non-ignored, we need to return 0 to the expose_event when
+ displaying wait message so that gdk really does the exposure :)
+
+2003-01-27 11:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated po file
+
+2003-01-27 10:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.15mdk
+
+2003-01-27 10:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: it's useless to import
+ %security::help::help since it's already exported by our
+
+2003-01-27 10:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: make interactive help window
+ be modal, aka transcient for main ugtk2 window
+
+2003-01-27 09:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker fix
+
+2003-01-27 09:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: reput back perl-gtk-0.7 dependancy
+ because of drakfloppy and net_monitor
+
+2003-01-27 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: cosmetic fix for embedded mode:
+ don't display "wait while parsing" window when embedded
+
+2003-01-27 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: diskdrake/hd_gtk.pm, interactive/gtk.pm:
+ diskdrake: when non embedded, ensure sub window are modal
+
+ all other drakx tool can be fixed the same way
+
+2003-01-27 09:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix logdrake behaviour in mcc
+ where logdrake would only log the first process.
+
+ another (rare indeed) case of a bug introduced because
+ perl_checker wanted us to localize a file handle :-(
+
+2003-01-27 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: fix latest source of "unlisted modules"
+ in draksound: modules::get_alias() was able to give "module "
+ instead of only "module" beacause modules::read_conf() split the
+ line on space with a maximum of 3 splited elements.
+
+ i choose to strip terminal spaces and btw terminal comments.
+
+ i did not choose to do not put a limit to split since it's
+ usefull for some cases.
+
+2003-01-27 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: common.pm, interactive.pm, standalone/drakfloppy,
+ standalone/net_monitor: strip authentification out of
+ interactive->vnew into common.pm
+
+ This enable apps that still use gtk+-1.2 via my_gtk to still work
+ when they only need interactive->vnew('su') just to get root
+ capabilities. Indeed, interactive load ugtk if it has access to
+ the X server, which make my_gtk and ugtk fight for the cpu
+ forever... which is bad imho...
+
+ drakfloppy and net_monitor were converted to use it and are now
+ usuable again ("i leave ... again" commit).
+
+ it would also enable to complete spec 64 by enabling rpmdrake to
+ use kdesu under kde and consolehelper under gnome. rpmdrake is
+ indeed the last program to not behave like the running desktop to
+ get root capability.
+
+ unless someone is against this, i'll convert the mcc and all
+ other gtk+ pure tools to do not use anymore interactive just to
+ get root capability.
+
+ btw, i fixed the infamous SECTOR_SIZE warning...
+
+2003-01-27 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - strict mode - we need at
+ least 1 argument, and only one
+
+2003-01-27 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: force drakbug to be runnable in
+ strict mode
+
+2003-01-27 08:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: use new help system
+
+2003-01-27 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: let mcc pack tables behave smoother, so
+ that all columns of mcc tables behave like last column of drakx's
+ pack tables
+
+2003-01-27 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: this patch enable doc team to
+ take snapshot of drakxtv even if they do not have any card: -
+ running "/usr/sbin/drakxtv" will enable to take snapshot of error
+ message when xawtv wasn't installed by the drakx installer -
+ running "/usr/sbin/drakxtv --testing" will emulate a fake dummy
+ tv card so that one is able to take snapshots of configuring a
+ tv card
+
+2003-01-27 08:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: let drakconnect be less
+ verbose: aka explain rename of old configuration files if that
+ had been already done
+
+2003-01-27 08:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: don't sent USR2 to mcc for logdrake;
+ logdrake is handled differently since it's a special case. else
+ on first execution of an embedded app, we take two USR2 (one from
+ the embedded app and one from logdrake, which is bad)
+
+2003-01-27 04:52 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Adapted
+ printerdrake to Foomatic 2.9.x, bug fix for use of native PPDs in
+ recommended mode, bug fixes in association between detected
+ printers and existing queues.
+
+2003-01-26 22:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-01-26 10:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, zh_CN.po: updated Spanish and
+ Chinese files
+
+2003-01-25 15:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: updated po file
+
+2003-01-24 23:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (ask_browse_tree_info): better look when
+ embedded in a smaller window
+
+2003-01-24 21:08 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: fix typo
+
+2003-01-24 20:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: new version
+
+2003-01-24 20:39 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/detect_devices.pm: get back serial modem detection
+
+2003-01-24 17:56 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: remove unused variable
+
+2003-01-24 17:30 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: fix Return key on a radio button
+ grabbing focus on next functional group of widgets AND doing an
+ action on it (toggling checkbuttons etc) (needs perl-GTK2 >=
+ 0.0.cvs.2003.01.24.1)
+
+2003-01-24 15:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm: fix
+ "Previous" button in warnAboutNaughtyServers, so there is 3
+ choices (Previous, unselect servers, accept :)
+
+2003-01-24 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_list, ask_from_list_,
+ ...): option nocancel added (ask_yesorno): no "Cancel" or
+ "Previous" button
+
+2003-01-24 14:54 Guillaume Cottenceau
+
+ * perl-install/mouse.pm: remove blinks in mouse test
+
+2003-01-24 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, mouse.pm: - don't
+ setMouseLive when the protocol hasn't changed - don't say "MOVE
+ YOUR WHEEL" when there is no wheel and the protocol hasn't
+ changed (nb: no wheel + IMPS/2 can now happen for usb mice)
+
+2003-01-24 14:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-01-24 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - switch "<= 3 buttons usb mice" from X
+ protocol PS/2 to IMPS/2 (it works nicely, and redhat do so) -
+ default usb mice to USB|Wheel instead of USB|Generic, since most
+ (all?) usb mice have a wheel
+
+ (i tested on 1 button mac mouse, it works nicely with
+ ZAxisMapping and IMPS/2)
+
+2003-01-24 12:41 Guillaume Cottenceau
+
+ * perl-install/: common.pm, interactive.pm, lang.pm, c/stuff.xs.pl:
+ fix non latin1 post-install perl-gtk2 apps, seems like perl
+ upgrading strings to utf8 is somewhat broken (dunno why), so now
+ we bind the codeset or our textdomains to utf8 and tag the
+ translated strings to utf8, when using gtk
+
+2003-01-24 11:43 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: done
+
+2003-01-24 10:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file (English
+ proofreading)
+
+2003-01-24 10:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: share/compssUsers.desktop, standalone/drakperm,
+ standalone/draksec, standalone/draksplash, standalone/harddrake2,
+ standalone/logdrake, standalone/mousedrake,
+ standalone/net_monitor, standalone/scannerdrake: English
+ proofreading
+
+2003-01-23 23:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: fixed some (locally used) charset names
+
+2003-01-23 22:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (formatMountPartitions): help perl (otherwise wait_message stays
+ forever in newt)
+
+2003-01-23 21:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: (configure_chooser_raw): no special
+ case for "Next" button
+
+2003-01-23 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix special case "for license
+ agreement": only use it for long messages, and fix {format} use
+
+2003-01-23 21:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-01-23 21:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: add a button to "summary"-like
+ dialog boxes
+
+2003-01-23 21:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: - handle {ok_disabled} -
+ correctly wrap messages - fix Textbox size - fix Listbox size -
+ special code to handle the license dialog
+
+2003-01-23 21:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (reallyChooseGroups):
+ remove "Previous" button
+
+2003-01-23 21:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix diskdrake in newt
+ (causing error about missing method ->cylinder_size)
+
+2003-01-23 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: pixelification
+
+2003-01-23 20:00 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: - perl_checker
+ compliant - s/$pump/$auto_ip/ - use join('', if_(..), if_(..)) -
+ each_index instead of for - various fixes
+
+2003-01-23 19:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setupSCSI): remove
+ now unused variable $clicked
+
+2003-01-23 18:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: Changes asked by HP people to Korean
+ translation
+
+2003-01-23 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: better fix of ->isa use
+
+2003-01-23 17:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (is_fbdev): created (get_both,
+ set_both): skip modifications on missing xfree3 or xfree4
+
+2003-01-23 17:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (to_string): created, try to
+ shortly describe current configuration (configure_FB_TVOUT):
+ don't do anything when not using XF4
+
+2003-01-23 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): display
+ more nicely the current X config when fbdev (selectLanguage): no
+ need to handle "Cancel" on language choosing :)
+
+2003-01-23 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: focus first widget when there is
+ no ok
+
+2003-01-23 17:09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-01-23 17:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checker fix
+
+2003-01-23 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: reconfigure sound
+ slots at boot time (we should enhance slot filling by keeping
+ existent module affectation, aka keep user choice if his module
+ for slot X is not the default one)
+
+2003-01-23 16:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix perl-GTK2 dependancy
+
+2003-01-23 16:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakpxe: perl_checker fix
+
+2003-01-23 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.13mdk
+
+2003-01-23 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: workaround bug introduced by new
+ pixel focus managment
+
+2003-01-23 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (read): fix return value when no
+ configured keyboard is found
+
+2003-01-23 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: xfree3.pm, xfree4.pm, xfreeX.pm: introduce
+ ->is_fbdev, and use it to simplify ->set_resolution
+
+2003-01-23 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: remove use of UNIVERSAL::isa() (it is not
+ much more complex with ref + ->isa, and UNIVERSAL::isa() would
+ need a special case in perl_checker)
+
+2003-01-23 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setupSCSI): handle
+ calling modules::interactive::load_category in non-automatic mode
+ when no harddrives are found
+
+2003-01-23 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getHds): do not handle missing
+ harddrives by calling setupSCSI, since setupSCSI do it by itself
+ now
+
+2003-01-23 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules/interactive.pm:
+ (load_category__prompt_for_more): cleanup, propose "See hardware
+ info" in any case
+
+2003-01-23 13:12 Guillaume Cottenceau
+
+ * kernel/list_modules.pm: nothing should be quoted here. if one
+ wants to remove modules from boot floppies, modules.pl is the way
+ to go.
+
+2003-01-23 13:06 Guillaume Cottenceau
+
+ * kernel/modules.pl: ataraid is ad-hoc raid, unsupported in stage1
+ anyway
+
+2003-01-23 12:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: force strict pragma
+
+2003-01-23 12:27 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: adsl.pm, isdn.pm, modem.pm, netconnect.pm:
+ isdn.pm now in use strict little cleanup
+
+2003-01-23 11:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, modem.pm, netconnect.pm,
+ network.pm, shorewall.pm, tools.pm: force strict mode
+
+2003-01-23 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/ethernet.pm: - force use strict -
+ perl_checker fix
+
+2003-01-22 20:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sq.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2003-01-22 20:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakbackup, drakconnect, drakfloppy,
+ drakfont, drakgw, drakperm, draksplash: English proofreading
+
+2003-01-22 18:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: call "yelp-pregenerate -a" after
+ installing pkgs (since it's skipped DURING_INSTALL)
+
+2003-01-22 18:35 Guillaume Cottenceau
+
+ * kernel/modules.pl: include FS modules (fixes #975)
+
+2003-01-22 18:21 Guillaume Cottenceau
+
+ * perl-install/: common.pm, ugtk2.pm: correctly pop when F2
+ (screenshots)
+
+2003-01-22 16:59 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: revive F1, F2 and alt-e (dialogs for F1
+ and F2 are broken, though)
+
+2003-01-22 16:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: - perl_checker fixes -
+ is_a_font(): display the non existant file we just checked for
+ instead of an undefined value
+
+2003-01-22 16:20 Guillaume Cottenceau
+
+ * mdk-stage1/: probing.c, pci-resource/update-pci-ids.pl: add full
+ pci probe support
+
+2003-01-22 15:49 Guillaume Cottenceau
+
+ * mdk-stage1/usb-resource/update-usb-ids.pl: have pci usb
+ controllers sorted alphabetically
+
+2003-01-22 15:01 Fançois Pons
+
+ * perl-install/bootloader.pm: fix call to sanitize_ver by giving it
+ linux-$version instead of linux$ext.
+
+2003-01-22 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense): use
+ new "interactive" feature to gray "Next" button until license is
+ accepted
+
+2003-01-22 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: add {callbacks}{ok_disabled}
+
+2003-01-22 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: add some documentation about the
+ various possible fields
+
+2003-01-22 12:57 Guillaume Cottenceau
+
+ * perl-install/: common.pm, lang.pm, c/stuff.xs.pl: fix accents
+ characters displaying in console mode during install: - convert
+ translations into utf8 only during install && if using gtk -
+ explicitely bind the codeset to the specified locale's encoding
+ because during install they are reported as utf8
+
+2003-01-22 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, network/network.pm:
+ simplify easy_dhcp prototype
+
+2003-01-22 12:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, fi.po: updated Finnish and
+ Estonian files
+
+2003-01-22 12:26 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: perl checker fixes.
+
+2003-01-22 12:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: small changes in charset naming so they
+ work better in console (console is still not in utf-8)
+
+2003-01-22 11:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix progressbar label
+ initialization
+
+2003-01-22 10:53 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - speedtouch fixes : o binaries
+ location from /usr/bin to /usr/sbin o clean previous instance
+ of pppoa3 according to modem id (-c) (special thanks to Corsikas
+ who proudly brings this patch to me :)
+
+2003-01-22 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/TODO, network/netconnect.pm,
+ network/network.pm, printer/printerdrake.pm, standalone/drakxtv,
+ standalone/mousedrake: perl_checker fixes
+
+2003-01-22 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - if there's no know driver,
+ offer to pick a driver in the drivers list in case ldetect-lst
+ isn't up to date but the user know which driver to use -
+ consolidate "pick any driver" entry
+
+2003-01-22 01:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm, steps.pm: -
+ remove createBootdisk step - add mkbootdisk option in
+ setupBootloader__general() - move kernelVersion() from
+ install_any to any
+
+2003-01-21 22:30 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: seems like gdk_window_foreign_new is
+ leaking as well..
+
+2003-01-21 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader__mbr_or_not): add ability
+ to skip and to put on floppy
+
+2003-01-21 20:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, ugtk2.pm: enlarge "steps" window a
+ little
+
+2003-01-21 20:06 Guillaume Cottenceau
+
+ * perl-install/: install_steps_gtk.pm, interactive/gtk.pm:
+ perl-GTK2 0.0.cvs.2003.01.21.1 should fix set_active(undef)
+ misbehaviour
+
+2003-01-21 20:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: replace "Next" button
+ with "Reboot" at exitInstall step
+
+2003-01-21 19:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: small enhancement to know which step
+ is currently done
+
+2003-01-21 19:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: remove unused variable
+
+2003-01-21 19:32 Guillaume Cottenceau
+
+ * perl-install/mouse.pm: fix absence of scroll up and scroll down
+ in mouse test
+
+2003-01-21 17:58 Fançois Pons
+
+ * perl-install/standalone/drakpxe: latest fixes for having default
+ file correctly documented and make sure if server boot using dhcp
+ itself, server hostname is given instead of ip address.
+
+2003-01-21 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: rework autologin dialog box
+
+2003-01-21 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-01-21 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Mount_point): use uniq()
+ on suggested mount points (otherwise the suggested mount point
+ appears twice) (fixes bug #954)
+
+2003-01-21 17:03 Fançois Pons
+
+ * perl-install/standalone/drakpxe: add daemons stop/start code.
+
+2003-01-21 16:51 Fançois Pons
+
+ * perl-install/standalone/drakpxe: update with something that look
+ like running.
+
+2003-01-21 16:26 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: utf-8 again
+
+2003-01-21 16:24 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated again...? And again UTF ->
+ ISO
+
+2003-01-21 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle proprietary drivers
+
+2003-01-21 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: if there's no alternative driver
+ or if the current setting does not please the user, let he pick
+ any driver among multimedia/sound modules category
+
+2003-01-21 15:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pl.po, vi.po: updated Vietnamese and
+ Polish files
+
+2003-01-21 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: workaround set_active on
+ Gtk2::CheckButton widgets thinking undef is true :-( (hopefully,
+ gc will fix perl-GTK2!)
+
+2003-01-21 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, Xconfig/main.pm: replace
+ some "Ok" with "Next ->"
+
+2003-01-21 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm, various.pm: have Xfree version at
+ only one place (nb: it would be better to parse available package
+ and get version from it.)
+
+2003-01-21 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm,
+ install_steps_interactive.pm: remove or fix some "Previous"
+
+2003-01-21 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_okcancel): rework to prepare next
+ move, "Next" and "Previous" on the left, and @other buttons on
+ the right (create_hbox): do handle the layout parameter
+
+2003-01-21 14:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2003-01-21 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (ask_fromW): very smart code to
+ know which widget to focus (dilemna is: "Next" vs first widget).
+ One can also force focusing of first widget using
+ $common->{focus_first} (ask_fromW): have "advanced" widgets above
+ buttons, not below (create_list): fix old bug (nb: this code must
+ be unused) (create_boxradio): need to set {focus_w} to the
+ selected widget (nb: this is ugly) (create_boxradio,
+ $may_go_to_next): no special case for "tab", gtk2 handles things
+ better than gtk1 ($set_all): pass the full_struct to the setters
+ (this allows modifying {focus_w}) (nb: this is ugly)
+
+2003-01-21 13:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: network/isdn.pm, network/network.pm,
+ network/shorewall.pm, network/tools.pm, partition_table/raw.pm,
+ printer/printerdrake.pm, security/level.pm,
+ share/advertising/01-thanks.pl, share/advertising/03-internet.pl,
+ share/advertising/04-multimedia.pl,
+ share/advertising/05-games.pl, share/advertising/06-mcc.pl,
+ share/advertising/07-desktop.pl,
+ share/advertising/08-development.pl, standalone/drakTermServ,
+ standalone/drakfont: English proofreading (first pass)
+
+2003-01-21 13:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, he.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ mt.po, nl.po, no.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sq.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: English proofreading (first pass)
+
+2003-01-21 12:57 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: since gtkset_mousecursor is called by a
+ timeout, don't leak memory because it can lead to problems on the
+ long term
+
+2003-01-21 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't prompt for license when
+ useless_thing_accepted (this used to be done in
+ install_steps_interactive::acceptLicense)
+
+2003-01-21 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: on error in acceptLicense, go back to
+ selectLanguage (ie. handle "Previous ->" correctly)
+
+2003-01-21 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (acceptLicense):
+ handle "Previous ->" correctly, and simplify code (esp. don't set
+ useless_thing_accepted)
+
+2003-01-21 12:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (selectLanguage): no "Previous ->" during
+ install
+
+2003-01-21 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: when the return value of ask_from_
+ and ask_from is not used, do not have a "Previous ->" or "Cancel"
+ button (beware, black magic here :)
+
+2003-01-21 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: "license" is now step "acceptLicense"
+
+2003-01-21 10:13 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: back from UTF-8 to ISO-8859-2 ...
+ Why Why Why? It should work from UTF-8...
+
+2003-01-21 09:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: Xconfig/monitor.pm, diskdrake/interactive.pm,
+ harddrake/sound.pm, harddrake/v4l.pm, modules/interactive.pm,
+ network/drakfirewall.pm, network/ethernet.pm, network/isdn.pm,
+ network/netconnect.pm: English proofreading by Stew Benedicts
+
+2003-01-21 08:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/adsl.pm: English proofreading by Stew
+ Beneditcs
+
+2003-01-21 08:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: standalone/mousedrake, any.pm, bootloader.pm,
+ bootlook.pm, install_any.pm, install_steps_interactive.pm,
+ services.pm: English proofreading by Stew Benedicts
+
+2003-01-21 07:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, sk.po, zh_CN.po: updated
+ Slovak and Chinese files
+
+2003-01-21 03:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - Support for
+ manufacturer-supplied PostScript PPDs also in recommended mode.
+ - If "Foomatic + Postscript" is recommended driver for a printer
+ and a manufacturer-supplied PPD file exists for it, the PPD
+ file gets the recommended driver. - Tried to extract IEEE-1284
+ auto-detection info from the PPD files but this takes too long
+ time (40 sec for 800 PPDs). - Fixed long-standing bug in
+ activation of auto-load of the USB "printer" kernel module.
+
+2003-01-20 22:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Improved printer/driver list
+ entries for PostScript PPD files.
+
+2003-01-20 19:41 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: void label removed
+
+2003-01-20 19:27 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: little cleanup
+
+2003-01-20 19:24 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: - zero conf is
+ avaible in drakconnect, with/without dhcp - install tmdns and
+ zcip packages when needed
+
+2003-01-20 18:04 Fançois Pons
+
+ * perl-install/Makefile.config: added drakpxe
+
+2003-01-20 18:02 Fançois Pons
+
+ * perl-install/standalone/drakpxe: initial revision with
+ translation message.
+
+2003-01-20 17:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2003-01-20 16:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, es.po: updated Spanish and Arabic
+ files
+
+2003-01-20 15:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: get username back in menu
+
+2003-01-20 14:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: small keyboard name change
+
+2003-01-20 13:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Make flphoto getting onto the CDs.
+
+2003-01-20 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: fix gtk+-2 port
+
+2003-01-20 12:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksec: use new help scheme just added
+ to msec (this *does* need a newer msec package!!)
+
+2003-01-20 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, sp.po, sr.po, tr.po: updated
+ Finnish, Serbian and Turkish files
+
+2003-01-20 12:37 Guillaume Cottenceau
+
+ * perl-install/Xconfig/test.pm: use gtk rather than qiv to display
+ the background tile in X test
+
+2003-01-20 12:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: x86-64 specific changes
+
+2003-01-20 11:52 Guillaume Cottenceau
+
+ * perl-install/Xconfig/test.pm: fix Gtk2 port
+
+2003-01-20 11:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: fix prefix usage
+
+2003-01-20 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: make all chkconfig calls be
+ chrooted
+
+2003-01-20 09:41 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-01-20 09:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: fix breakage introduced when lowering
+ warning level
+
+2003-01-20 03:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printer/main.pm,
+ printer/printerdrake.pm: Improve association of printers with
+ database entries (preparation for non-interactive print queue
+ generation): - Make use of device ID strings in the Foomatic
+ database - Association of generic printers when PDL (PCL,
+ PCL-XL, PostScript) could be auto-detected - Cleaned up
+ entries from manufacturer-supplied PPDs for PostScript
+ printers to try to match model names of Foomatic entries - Bug
+ fixes on previous association mechanism
+
+2003-01-19 14:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, sq.po: updated Danish and Albanian
+ files
+
+2003-01-18 14:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/: magic, mapping: Update magic, mapping files for PPC
+ from Christian Walther
+
+2003-01-17 22:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2003-01-17 20:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/modules.pm: airport support for ppc
+
+2003-01-17 17:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated po file
+
+2003-01-17 14:58 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: 0.12mdk
+
+2003-01-17 14:38 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: - some changes to
+ dhcp behavior for beta2 (not clean yet)
+
+2003-01-17 11:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add some applications on club voting
+
+2003-01-17 01:05 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: do not remove mdk_10.pcf in the
+ ramdisk (or handle it in lang.pm since it seems to be needed for
+ greek display)
+
+2003-01-16 22:44 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: replace ramdisk=32000 with ramdisk=128000 (note:
+ it doesn't consumate more memory, it's just a limit!)
+
+2003-01-16 22:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - checker
+
+2003-01-16 21:38 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - support gnome help
+
+2003-01-16 20:08 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2003-01-16 17:28 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed not to ask group
+ instead of individual package selection.
+
+2003-01-16 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: workaround ref count perl bug
+
+2003-01-16 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: fix embedding
+
+2003-01-16 16:24 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: - fix /etc/hosts
+ localhost.localdomain in localhost
+
+2003-01-16 16:19 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: - drakhelp moved to /usr/bin/
+
+2003-01-16 16:14 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - warn if documentation is not
+ installed
+
+2003-01-16 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: fix embedding
+
+2003-01-16 15:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: Added some more English
+ locales; and changed all locale names using xx notation to xx_YY
+ notation (so it's easier to just append a ".UTF-8" in case we
+ provide a way to let the user choose if he wants UTF-8 or not)
+
+2003-01-16 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_gtk.pm, install_steps.pm,
+ install_steps_interactive.pm, steps.pm,
+ share/step-green-click.xpm, share/step-green-on.xpm,
+ share/step-green.xpm, share/step-orange-click.xpm,
+ share/step-orange-on.xpm, share/step-orange.xpm,
+ share/step-red-click.xpm, share/step-red-on.xpm,
+ share/step-red.xpm: new steps window layout
+
+2003-01-16 15:21 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - add drakhelp
+
+2003-01-16 15:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - remove help callback (moved into
+ drakhelp)
+
+2003-01-16 15:08 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakhelp: - syntax : drakhelp
+ relative_link example: drakhelp Quick_Startup.html/drakx.html
+
+ - drakhelp will check the running wm and will launch
+ kdehelpcenter with the correct URL after localizing the link.
+ Otherwise, it launch a default browser: mozilla konqueror or
+ galeon.
+
+2003-01-16 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, network/netconnect.pm,
+ network/network.pm, network/tools.pm, security/level.pm,
+ standalone/drakconnect, standalone/drakperm,
+ standalone/net_monitor: replace occurences of "$foo ? $foo :
+ $bar" with "$foo || $bar"
+
+2003-01-16 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: make perl_checker
+ happy
+
+2003-01-16 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add coreutils-doc by default
+
+2003-01-16 13:56 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed test of alternatives always
+ seen as broken.
+
+2003-01-16 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, steps.pm: ask
+ security level in every install
+
+2003-01-16 13:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: perl_checker fixes
+
+2003-01-16 13:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require an recent enought
+ MDK::Common
+
+2003-01-16 13:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: perl_checker fixes
+
+2003-01-16 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: make perl_checker happy
+
+2003-01-16 13:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, log.pm, standalone.pm,
+ harddrake/TODO, harddrake/sound.pm, harddrake/v4l.pm,
+ standalone/drakTermServ, standalone/drakautoinst,
+ standalone/drakbug, standalone/drakgw, standalone/draksec,
+ standalone/drakxtv, standalone/service_harddrake: "je n'en veux +
+ de cette engeance" (c) pixel : make explanations provided by log
+ and not anymore by standalone, thus preventing using standalone
+ in drakx (which is bad)
+
+2003-01-16 12:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: happy drakx
+
+2003-01-16 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: configureNetwork step
+ must be non-auto otherwise only install_steps::configureNetwork
+ is called
+
+2003-01-16 12:43 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: move gnucash up on mandrakeclub
+ demand
+
+2003-01-16 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add hdparm in default install (esp.
+ per cooker request)
+
+2003-01-16 12:36 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: do not propose
+ individual package on upgrade.
+
+2003-01-16 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: have dhcp-client the default
+ dhcp client
+
+2003-01-16 12:12 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: beta 2
+
+2003-01-16 11:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: move "require standalone" where
+ needed
+
+2003-01-16 11:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix sound configuration while
+ installing
+
+2003-01-16 01:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: don't yell when checking for "$"
+ in DrakX.pot and only finding "\$"
+
+2003-01-16 01:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: hopefully last titi's
+ bug on getSoundDevices :-(
+
+2003-01-16 00:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2003-01-16 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectInstallClass):
+ display mandrake release version when listing the choices of
+ partitions to upgrade
+
+2003-01-16 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (find_root_parts): - do not use
+ guess_mount_point() anymore - check /etc/mandrake-release instead
+ of /etc/fstab - return a list of { release => "Mandrake Linux
+ release X.X (XXXX)", part => ... } instead of a list of parts
+
+2003-01-16 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: do not "use standalone" in a
+ module used during install!
+
+2003-01-16 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: adapt to
+ install_any::find_root_parts() return value changes
+
+2003-01-15 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, fi.po, fr.po, ga.po, gl.po, he.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sq.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2003-01-15 21:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added "Amharic" in the languages list, so
+ it can be choosed and its translations can get installed from the
+ rpm packages
+
+2003-01-15 18:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: move
+ install_steps_auto_install_non_interactive::configureNetwork() to
+ install_steps_auto_install::configureNetwork() as it should be
+ (thanks to Luc Bourdot)
+
+2003-01-15 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-9.0-auto-inst-network-config.pl: fix for
+ network module probe & configuration in interactive auto_install
+
+2003-01-15 16:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: fixed encoding problem
+
+2003-01-15 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: - factorize snd devices listing
+ in detect_devices::getSoundDevices() so that each caller is ppc
+ aware - factorize sound slots configuration into
+ harddrake::sound::configure_sound_slots() so that harddrake
+ service will eventually set them at bootstrapping time
+
+2003-01-15 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/harddrake/sound.pm:
+ snd-sscape does not exist
+
+2003-01-15 15:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm,
+ harddrake/sound.pm: - factorize snd devices listing in
+ detect_devices::getSoundDevices() so that each caller is ppc
+ aware - factorize sound slots configuration into
+ harddrake::sound::configure_sound_slots() so that harddrake
+ service will eventually set them at bootstrapping time
+
+2003-01-15 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add an option to skip jazz
+ drives detection
+
+2003-01-15 14:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2003-01-15 12:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest_onmbr): log the choice
+
+2003-01-15 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakproxy: drakproxy need common for
+ getVarsFromSh()
+
+2003-01-15 00:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: Removed bugs
+ from Titi which prevented printerdrake from installing the
+ requested spooler.
+
+2003-01-14 23:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: ensure cancel on setupBootloader__mbr_or_not
+ do cancel
+
+2003-01-14 20:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: set_active on Gtk2::CheckButton
+ is pretty dumb, it thinks undef is true ;p
+
+2003-01-14 20:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't probe mouse when testing (startup
+ is now much faster)
+
+2003-01-14 20:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: changes to have less "Use of
+ uninitialized value"
+
+2003-01-14 19:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove the ugly temporary fix for
+ fontconfig
+
+2003-01-14 19:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove duplicate code
+
+2003-01-14 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: please perl_checker
+
+2003-01-14 14:45 Pixel <pixel at mandriva.com>
+
+ * rescue/list: /usr/share/magic has moved to /usr/share/misc/magic
+
+2003-01-14 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix font_choice()
+
+2003-01-14 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't automatically configure network
+ on upgrade, now only done when called via summary
+
+2003-01-14 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: unicore/To/Fold.pl is necessary to fix
+ "panic: swash_fetch" error occuring in a regexp with /i on
+ ->{device} (fixes bug #799)
+
+2003-01-14 14:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/check_snd.pl: add harddrake::sound checker
+
+2003-01-14 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: remove doble
+
+2003-01-14 13:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: add missing sound modules (found
+ by check_snd in comparing harddrake::sound vs list_modules). we
+ only left audio and bttv...
+
+2003-01-14 11:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add missing sound modules (found by
+ check_snd in comparing draksound vs list_modules). we only left
+ audio and bttv...
+
+2003-01-14 11:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: add a "trouble shooting" window
+
+2003-01-13 11:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: typo fix
+
+2003-01-13 10:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: don't say "You must have a
+ swap partition" (since it's after using diskdrake which is for
+ experts)
+
+2003-01-13 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: it's uneeded to force scalar
+ context
+
+2003-01-13 10:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: make get_descr_from_ppd() clearer
+ by : - using cat_() instead of manual open or ... - using "$var
+ = s/$regexp//" instead of "var=/regexp\(...\)/; var=$1;"
+
+2003-01-13 10:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: simplify set_cups_autoconf()
+
+2003-01-13 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/data.pm: remove old bug reference
+
+2003-01-13 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: print_testpages() :
+ factorize and simplify options managment by using an options hash
+
+2003-01-13 10:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: add_spooler_to_security_level(),
+ configure_queue() and config_sane() : factorize common code, aka
+ resuse MDK::Common
+
+2003-01-13 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: setup_local_autoscan(): -
+ don't reinvent the wheel, reverse is faster - remove doble
+ $device initialization in one path
+
+2003-01-13 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: setup_local_autoscan() :
+ simplify loop of loop and optimize away useless $alreadyfound
+
+2003-01-13 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2003-01-13 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: this is not a per class help,
+ but we told the user what he can achieve (aka not only on
+ startup)
+
+2003-01-13 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add support for zip drives
+
+2003-01-13 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: listlength() is obviously
+ just "overhead" for arrays
+
+2003-01-13 08:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: use diskdrake to configure
+ cdroms, dvroms, cd|dvd -burners, floppies and zip drives
+
+2003-01-13 03:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: Avoid
+ unnecessary restarts of the CUPS daemon.
+
+2003-01-13 03:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: Removed debug helper line.
+
+2003-01-13 03:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/: detect.pm, main.pm, printerdrake.pm: New
+ CUPS printer sharing configuration dialog. Reverted broken
+ printer::main::set_usermode() to version of Mandrake 9.0.
+
+2003-01-12 22:19 Pixel <pixel at mandriva.com>
+
+ * docs/comparisons: add explained changes in hwdata and kudzu from
+ redhat 8.0 to 8.1beta
+
+2003-01-12 14:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Albanian and Swedish files
+
+2003-01-12 13:06 Pixel <pixel at mandriva.com>
+
+ * docs/comparisons: add changes between anaconda 8.0 and current
+
+2003-01-12 12:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: drakxtools need latest
+ perl-MDK-Common
+
+2003-01-11 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: capitalise win $domain ASAP so that
+ directory /home/$domain is created capitalised (thanks to Buchan
+ Milne)
+
+2003-01-10 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do not use supermount by default
+
+2003-01-10 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm:
+ (readBootloaderConfigBeforeInstall): set bootUnsafe to 0 when
+ upgrading so that it doesn't ask where to install the bootloader
+ (mbr vs boot partition)
+
+2003-01-10 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: lvm on / works (dixit Brian J. Murrell)
+
+2003-01-10 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ Xconfig/main.pm, standalone/XFdrake: simplify and factorize (now
+ works on 1.upgrade 2.install 3.install + change existing config)
+
+2003-01-10 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix priority
+
+2003-01-10 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: fix unused vars
+
+2003-01-10 10:40 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - catch wizcancel die - fix
+ fucked previous button after configuration completes - little
+ cleanup
+
+2003-01-09 17:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, sq.po: updated Finnish and
+ Albanian files
+
+2003-01-09 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: there's an oss usb driver too
+
+2003-01-09 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - snd-rme9652 is a snd-rme96 sub
+ module - fix rme96xx <=> snd-rme96 equivalence
+
+2003-01-09 16:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: quite a number of ensoniq cards
+ are managed by sb.o
+
+2003-01-09 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - pss is the oss equivalent of
+ alsa ad1848 - oss ad1848 is not a driver but a sub module
+
+2003-01-09 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: cmi8330 is handled by sb too
+
+2003-01-09 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: als100 card is handled by sb oss
+ sound driver
+
+2003-01-09 15:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: oss trident driver handle
+ ali5451 too
+
+2003-01-09 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - remove doble - add a comment
+ noting there's no alsa alternative for oss' ad1889 driver
+
+2003-01-09 14:52 Fançois Pons
+
+ * perl-install/install2.pm: changed interface of
+ detect_devices::install_addons.
+
+2003-01-09 14:51 Fançois Pons
+
+ * perl-install/detect_devices.pm: add update-ldetect-lst after
+ install_addons.
+
+2003-01-09 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix invalid translation for
+ draksound
+
+2003-01-09 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureNetwork):
+ call install_steps::configureNetwork()
+
+2003-01-09 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp): don't call
+ network::configureNetwork2
+
+2003-01-09 14:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix "unlisted driver" bug for
+ rme driver
+
+2003-01-09 14:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - add new oss drivers : ad1889,
+ ali5455 and forte - mark forte as oss counterpart for alsa
+ snd-fm801 driver - mark ice1712 as oss counterpart for alsa
+ snd-ice1712 driver - mark ali5455 as one of the oss counterpart
+ for alsa snd-intel8x0 driver - update top commentary -
+ snd-via686 and snd-via8233 were merged in via82cxxx_audio - don't
+ pollute install ml anymore
+
+2003-01-09 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: -
+ configureNetwork step now only does easy_dhcp() - added full
+ network configuration to summary
+
+2003-01-09 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): do pop
+ error messages
+
+2003-01-09 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/keyboard.pm: make return value name more explicit
+
+2003-01-09 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: - fix priority - add a log
+
+2003-01-09 13:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/keyboard.pm: simplify
+
+2003-01-09 02:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/main.pm: Added cupsd.conf handling functions
+ for a new printer sharing configuration dialog.
+
+2003-01-08 19:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer/office.pm: Fixed Titi's bugs in the
+ auto-configuration of printers in OpenOffice.org.
+
+2003-01-08 17:48 Fançois Pons
+
+ * perl-install/install2.pm: removed perl_checker warning.
+
+2003-01-08 17:40 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix a misc bug in rpmdrake (selecting a
+ pkg doesn't work in certain circumstances - seems to be when the
+ treeview doesn't have the focus, for exa mple after a search) by
+ changing a bit the way we handle button_press_event in
+ ask_browse_tree_info
+
+2003-01-08 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: pass $::prefix instead of ''
+
+2003-01-08 17:23 Fançois Pons
+
+ * perl-install/install2.pm: added install_addons before leaving.
+
+2003-01-08 17:21 Fançois Pons
+
+ * perl-install/detect_devices.pm: added install_addons to install
+ pcitable or usbtable addons.
+
+2003-01-08 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: once we identify the
+ protocal, skip remaining tests
+
+2003-01-08 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/office.pm: - typo fix - s/if !/unless/ -
+ remove useless next
+
+2003-01-08 16:00 Fançois Pons
+
+ * perl-install/any.pm: really install the bootloader.
+
+2003-01-08 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: fix typo
+
+2003-01-08 14:57 Fançois Pons
+
+ * kernel/update_kernel: using pixel though for perl (-lne instead
+ of -ln).
+
+2003-01-08 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (easy_dhcp): cleanup
+
+2003-01-08 14:49 Fançois Pons
+
+ * kernel/update_kernel: definitively fixed bad version and release
+ retrieved from BOOT kernel.
+
+2003-01-08 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: UGLY TEMPORARY FIX: create an
+ /etc/passwd for fontconfig
+
+2003-01-08 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: ensure drakx don't need wiz_default_up.png
+ and wiz_default_left.png
+
+2003-01-07 23:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_gtk.pm, install_steps_gtk.pm,
+ ugtk2.pm, interactive/gtk.pm: - remove help (which was at the
+ bottom) - wizard style - focus "Next" button by default (this is
+ rough, some dialog boxes *need* changes before being able to
+ complete (think root password dialog))
+
+2003-01-07 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: "require bootloader" where needed
+
+2003-01-07 23:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: fix ugly global setting of
+ $ugtk2::pop_it
+
+2003-01-07 21:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: cleanup
+
+2003-01-07 21:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (configure): do not do
+ card_config__not_listed in $auto mode
+
+2003-01-07 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): add X
+ configuration (configureX): this step is now always automatic.
+ don't call configureXAfter() when config failed
+
+2003-01-07 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: (configure_everything): in $auto
+ mode, don't test nor ask when the config failed
+
+2003-01-07 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (various): in $auto mode, don't
+ ask about tvout
+
+2003-01-07 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: (configure): in
+ $auto mode, use $default_resolution without asking
+
+2003-01-07 19:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: converted th.po to UTF-8
+
+2003-01-07 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: (configure): return without doing
+ anything when probe fails or needVideoRam in $auto mode
+ (multi_head_choose): be completly automatic in $auto mode
+
+2003-01-07 18:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: move "configureX" step before "summary"
+ step
+
+2003-01-07 18:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: don't do anything when automatic
+ configuration fails in $auto mode
+
+2003-01-07 18:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: converted pl.po to utf-8
+
+2003-01-07 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - fix autodetection code
+ (remember me to teach titi that "and" in list context is bad) -
+ use printer::detect::whatNetPrinter directly (instead of
+ net_detect() + net_smb_detect()), it is faster when one wants
+ both
+
+2003-01-07 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/detect.pm: (detect): don't use
+ net_smb_detect() and net_detect(), call whatNetPrinter() directly
+ asking for both network & smb (faster)
+
+2003-01-07 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.9mdk
+
+2003-01-07 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix pixel sucks(bis)
+
+2003-01-07 17:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix pixel sucks
+
+2003-01-07 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: forgot to commit
+ threat-hub-as-usb-controllers...
+
+2003-01-07 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix ask_okcancel in wizard mode
+
+2003-01-07 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: gimp.pm, office.pm: fix new data structure
+ usage
+
+2003-01-07 15:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksound: perl_checker fix
+
+2003-01-07 15:31 Guillaume Cottenceau
+
+ * rescue/devices.pl: init doesn't like anymore that /etc/initctl is
+ already here (breaks any communication to init :/); remove
+ /etc/initctl from the initial filesystem, and let init create it
+ as a fifo during boot
+
+2003-01-07 15:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: add network::easy_dhcp function.
+ Quietly setup eth0 in dhcp and restart network.
+
+2003-01-07 14:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksound: let it ask for root
+ capabilites if launched in standalone mode
+
+2003-01-07 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_interactive.pm:
+ fsedit::part2hd() returns a scalar, no need to do "my ($hd) =
+ fsedit::part2hd(...)"
+
+2003-01-07 14:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: use internal_error instead
+ of die for better error message (esp. backtrace)
+
+2003-01-07 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix typo (operator priority related)
+
+2003-01-07 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.8mdk
+
+2003-01-07 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix looking for broken
+ alternatives
+
+2003-01-07 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, common.pm,
+ detect_devices.pm, fs.pm, fsedit.pm, install_any.pm,
+ install_gtk.pm, install_interactive.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ interactive.pm, lang.pm, modules.pm, partition_table.pm, pkgs.pm,
+ raid.pm, timezone.pm, Xconfig/card.pm, Xconfig/monitor.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/xfreeX.pm,
+ diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/smbnfs_gtk.pm, interactive/newt.pm,
+ network/drakfirewall.pm, network/ethernet.pm, network/network.pm,
+ network/smb.pm, printer/main.pm, printer/printerdrake.pm,
+ standalone/drakfont: use "if any" instead of "if grep", and
+ various other occurences of "any", "every", "partition"
+
+2003-01-07 14:18 Guillaume Cottenceau
+
+ * rescue/tree/etc/issue: version 9.1 cooker
+
+2003-01-07 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: printerdrake is
+ back alive
+
+2003-01-07 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/crypto.pm: cleanup and add a comment (!)
+
+2003-01-07 13:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: fixes
+
+2003-01-07 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: CList and CTree being deprecated and
+ unsupported in perl-gtk2, don't bother handle them
+
+2003-01-07 11:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: perl_checker fix
+
+2003-01-07 11:35 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - new way to use request help
+
+2003-01-07 11:34 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - compress code (pixel) - use
+ ask_warn when no browser is found on the system and BROWSER env
+ var not set.
+
+2003-01-07 11:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: beautify
+
+2003-01-07 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: simplif installed spoolers
+ "detection"
+
+2003-01-07 10:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: - remove useless $_ setting -
+ simplify overgianted look for functions - mask
+ isprinterconfigured() as bogus: if $done is 1 then
+ $sectionfound *is* already 1
+
+2003-01-07 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: - simplify by reusing list_passwd()
+ - simplify program flow - one perl_checker fix - simplify
+ directories list building - simplify test: if a file is a plain
+ regular file, testing if it's a directory is useless; anyway,
+ this test is probably bogus and should just be -e and not -f
+
+2003-01-07 02:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: - adapt to new setupBootloader -
+ add bootloader configuration in summary (still rough) - various
+ cleanup
+
+2003-01-07 02:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: nicer debug message
+
+2003-01-07 02:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (method_choices): returns the choices
+ of bootloaders (lilo, grub, yaboot...) + cleanup (suggest_onmbr):
+ "lilo" and "grub" are now "unsafe" "on_mbr" choices - renaming of
+ $lilo with $bootloader - $bootloader->{methods} is replaced by
+ the much simpler $bootloader->{method}, the special handling of
+ grub (which need to also generate lilo.conf) is nicely handled
+ in bootloader::install() - cleanup error handling: it was using
+ the ugly (though safe) /tmp/.error temporary file, better use
+ an exception
+
+2003-01-07 02:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: move setupBootloader before summary
+
+2003-01-07 02:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - part of setupBootloader() are now in
+ setupBootloader__mbr_or_not(), setupBootloader__general() and
+ setupBootloader__boot_bios_drive() - this allows the creation of
+ the new setupBootloader_simple() which is somehow similar to the
+ old setupBootloader() in beginner mode - setupBootloader() is now
+ always expert mode
+
+2003-01-07 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: common::secured_file() is a wrapper
+ around c::is_secure_file()
+
+2003-01-07 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix "Where do you want to install the
+ bootloader?" dialog box
+
+2003-01-06 22:32 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - perl checker - no retval
+
+2003-01-06 22:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ fix typos (thanks perl_checko!)
+
+2003-01-06 21:47 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - support help system - remove
+ unused function
+
+2003-01-06 21:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ selectInstallClass now automatically detect if an existing
+ install is there, and propose update or install based on this
+
+2003-01-06 21:33 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - function on_request_help to display
+ online help. - use it as callback to help button or help menu.
+
+2003-01-06 20:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: synchronized with XFree86 4.2.99
+ keyboard layout names
+
+2003-01-06 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: (partition_with_diskdrake):
+ fix reloading partition table
+
+2003-01-06 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: - selectMouse is now just after
+ selectLanguage - selectSCSI is before selectInstallClass
+
+2003-01-06 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): do not fsck.ext2 when mounting
+ readonly
+
+2003-01-06 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (selectKeyboard): read existing
+ keyboard config even if not upgrading (it won't do anything when
+ not upgrading :) (selectInstallClass): do not move step
+ doPartitionDisks after setupSCSI on upgrade (since the "upgrade"
+ part of the job of doPartitionDisks is now done in
+ selectInstallClass) (selectMouse): "addToBeDone mouse::write()"
+ was done only on upgrade, replace it with an "addToBeDone" done
+ in any case which only does "mouse::write()" if $o->{isUpgrade}
+ is set (since isUpgrade *will* be set correctly but is not set at
+ this step)
+
+2003-01-06 19:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: when reading existing config, remove
+ double quotes around the default label
+
+2003-01-06 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/swap.pm: replace *F with $F
+
+2003-01-06 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/swap.pm: fix an *old* bug causing pbs when
+ formatting more than one partition using format v0 (occurs when
+ the sizes differ)
+
+2003-01-06 17:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: fix printerdrake regarding gimp
+ configuration
+
+2003-01-06 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2003-01-06 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2003-01-06 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: prevent one to write in log
+ buffer
+
+2003-01-06 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require a recent enough ldetect-lst
+ for fixed usb hubs detection
+
+2003-01-06 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: when taking files from perl-GTK2, don't
+ /usr/lib/libDrakX/ugtk2.pm since we don't need it
+
+2003-01-06 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.7mdk
+
+2003-01-06 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: fix displaying of spooler
+ list
+
+2003-01-06 11:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: fix displaying list of availlable
+ printer spoolers
+
+2003-01-06 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/data.pm: put full data in all variants of
+ the data structure
+
+2003-01-05 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: in bootloader configuration, add return
+ values to Add and Remove callbacks
+
+2003-01-05 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: - callbacks "Add", "Modify" and
+ "Remove" return undef when they fail - callback "Add" return the
+ new added element (not handled by interactive emulation, but
+ correctly handled by interactive::gtk native
+ ask_from__add_modify_removeW)
+
+2003-01-05 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: add ask_from__add_modify_removeW
+ gtk handling
+
+2003-01-04 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix missing "use
+ modules::interactive" (thanks to David Eastcott)
+
+2003-01-03 20:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: (create_treeview_list): fix
+ setter
+
+2003-01-03 20:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: (create_packtable): ScrolledWindow are not
+ the only one allowed to grow, widgets with get_data('must_grow')
+ set are allowed too
+
+2003-01-03 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: - factorize the creation of the
+ {formatted_list} from {list} for create_boxradio,
+ create_treeview_list, create_treeview_tree - an added advantage
+ for create_treeview_list is the ability to easily change {list},
+ {formatted_list} and Gtk2::ListStore without breaking keyboard
+ acceleration (see next commit for a usage of this feature)
+
+2003-01-03 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: (first_time_dialog): much
+ cleanup (but not tested)
+
+2003-01-03 13:48 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pl: dgettext needs to have previous
+ behaviour in standalone mode (fixes #736)
+
+2003-01-03 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix call to method
+ ask_from__add_modify_removeW
+
+2003-01-03 01:00 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/minilibc.c: add symbols __libc_csu_fini and
+ __libc_csu_init to be compatible with new glibc (?)
+
+2003-01-03 00:59 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: remove some more scsi drivers
+
+2003-01-03 00:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: X test is now working :)
+
+2003-01-02 20:45 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: titi's message annoys me too much..
+ removing it
+
+2003-01-02 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.6mdk
+
+2003-01-02 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from__add_modify_remove): check
+ all callbacks are given
+
+2003-01-02 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from__add_modify_remove): fix
+
+2003-01-02 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, interactive.pm: add
+ ask_from__add_modify_remove, and use it for bootloader entries
+
+2003-01-02 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: replace
+ any::load_category() with modules::interactive::load_category()
+
+2003-01-02 09:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: merge in back external stefan
+ changes
+
+2003-01-02 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - Layout widget has native scrolling
+ support - shadow parameter can always be used
+
+2003-01-02 08:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: fixes for wizards
+
+2003-01-02 08:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: embedding fixes
+
+2002-12-30 12:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2002-12-30 00:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/gimp.pm: set_permissions() doesn't want the
+ given file to be $::prefix'ed
+
+2002-12-29 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup (using ask_from instead of
+ ask_from_listf_)
+
+2002-12-29 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup (using "format => ...")
+
+2002-12-29 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/modem.pm: in network::modem::configure $intf
+ is unused, rename it to $_intf
+
+2002-12-29 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/various.pm: deprecates security::libsafe
+
+2002-12-29 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, modules/interactive.pm,
+ network/ethernet.pm: move any::load_category() to
+ network::interactive::load_category() (and a few other functions
+ which are only used by load_category())
+
+2002-12-29 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakconnect:
+ any::load_category_no_message() doesn't exist anymore, it really
+ is modules::load_category() !
+
+2002-12-29 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm, keyboard.pm,
+ standalone/keyboarddrake: move
+ any::keyboard_group_toggle_choose() to
+ keyboard::group_toggle_choose()
+
+2002-12-29 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: isdn.pm, modem.pm, netconnect.pm: - do not
+ use a global $in in network::modem, pass it as a parameter -
+ create network::modem::ppp_configure_raw() which doesn't need $in
+ (it is only used by network::modem::ppp_configure(), but this
+ is clearer that way)
+
+2002-12-29 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/modem.pm: - use $::prefix instead the global
+ $prefix - don't pass $prefix to ppp_configure
+
+2002-12-29 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootlook.pm, install_steps.pm,
+ Xconfig/main.pm, Xconfig/various.pm: move any::runlevel() to
+ Xconfig::various::runlevel()
+
+2002-12-29 13:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm, install_steps.pm,
+ install_steps_interactive.pm, security/level.pm,
+ security/libsafe.pm: - move any::choose_security_level() to
+ security::level::level_choose() - move
+ any::config_security_user() to
+ security::various::config_security_user() - move
+ any::config_libsafe() and security::libsafe::config_libsafe() to
+ security::various::config_libsafe()
+
+2002-12-29 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, network/ethernet.pm, network/isdn.pm,
+ network/modem.pm, network/network.pm, standalone/drakconnect,
+ standalone/drakproxy: - move any::pppConfig() to
+ network::modem::ppp_configure() - move
+ any::miscellaneousNetwork() to
+ network::network::proxy_configure() (and uses the parameter
+ instead of $::o->{miscellaneous}) - move
+ network::network::miscellaneousNetwork() to
+ network::network::miscellaneous_choose() (and do not export it)
+ (and uses a parameter instead of $::o->{miscellaneous}) - move
+ network::modem::pppConfig() to network::modem::ppp_choose()
+ (and change parameter order, and drop unused parameter $intf) -
+ do not export network::network::write_interface_conf() (since
+ it is only used locally (?)) - cleanup
+ network::network::write_interface_conf() (one still needs to
+ pass $::o->{miscellaneous}{track_network_id} more cleanly, and
+ use run_program::rooted when calling /sbin/ip)
+
+2002-12-29 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cleanup comments
+
+2002-12-29 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: no need to close *pkgs::LOG, pkgs
+ handles it nicely now
+
+2002-12-29 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: use "our" instead of "use vars"
+
+2002-12-29 11:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: *pkg::LOG is unused, so don't export it
+
+2002-12-28 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: don't import everything from "common"
+ (including MDK::Common::*) to get rid of warnings "Subroutine
+ renamef redefined ..." "Subroutine linkf redefined ..." ... (but
+ I don't understand how to make explainations on common_functs
+ work?!)
+
+2002-12-28 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/gimp.pm: - mkdir_p throws an exception on
+ error, so "mkdir_p() or ..." is dumb, fixing (thanks to Lea
+ Gris) - use output()
+
+2002-12-24 20:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: Updated Portuguese file
+
+2002-12-23 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix setting size of
+ depth combo
+
+2002-12-23 16:09 Guillaume Cottenceau
+
+ * perl-install/lang.pm: CJK font names changes (still doesn't work
+ :/)
+
+2002-12-23 16:07 Guillaume Cottenceau
+
+ * perl-install/share/fonts.tar.bz2: use another default font
+
+2002-12-23 16:07 Guillaume Cottenceau
+
+ * perl-install/Xconfig/resolution_and_depth.pm: workaround gtk bug
+ in gtk_entry_set_text
+
+2002-12-23 15:41 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: fonts changes (doesn't work with CJK
+ (at least) in ramdisk, though)
+
+2002-12-23 15:40 Guillaume Cottenceau
+
+ * perl-install/install_steps_gtk.pm: fix 'bold' advertisements
+
+2002-12-23 15:35 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: be more efficient in
+ precomputing, previous situation could lead to several tens of
+ seconds of wait in XFdrake-monitor
+
+2002-12-23 14:51 Guillaume Cottenceau
+
+ * perl-install/share/list: perl's automatic utf8 handling will need
+ these files (will try to do better in the future)
+
+2002-12-23 13:44 Guillaume Cottenceau
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix titi porting
+ gtk2 without testing enough..
+
+2002-12-23 13:31 Guillaume Cottenceau
+
+ * perl-install/share/fonts.tar.bz2: have a default fixed alias for
+ a font which will always be here even in ramdisk
+
+2002-12-23 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: help perl_checker
+ (interactive is used even if the constructor is not there)
+
+2002-12-23 05:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2002-12-20 20:47 Guillaume Cottenceau
+
+ * perl-install/: Makefile, share/list: list files changes for gtk2
+ (is that really optimal to have utf8.pm and utf8_heavy.pl?)
+
+2002-12-20 20:46 Guillaume Cottenceau
+
+ * perl-install/share/themes-mdk.rc: allow gtk2 theme engine to find
+ pixmaps
+
+2002-12-20 20:41 Guillaume Cottenceau
+
+ * perl-install/lang.pm: simplify since we don't use X11 fonts (we
+ can't since GDK_USE_XFT is not switchable once program is
+ launched)
+
+2002-12-20 18:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: gtk+2 support for plug/socket is back
+ since 2.1.5-2mdk
+
+2002-12-20 16:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-12-20 16:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eo.po: Small change in Esperanto file
+
+2002-12-20 16:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: updated fonts tarball, all old
+ bitmap fonts have been removed, now it only includes: - an
+ OpenType font with glyphs for latin and cyrillic - two unicode
+ encoded bitmap fonts with glyphs for CJK and Greek (and it
+ could be used for non latin/cyrillic scripts for which there
+ isn't any outline font available). Those fonts are based on
+ fonts shipped with XFree86 (Nimbus Sans L and "misc-fixed"), but
+ with some modifications (extra glyphs added to complete the
+ "holes" in latin and cyrillic for the outline font, added a few
+ missing chines chars and changed ascii portion from monospaced to
+ varaible width for the bitmap fonts (so the visual output is
+ better)). The choice of bitmap fonts for CJK has been done due
+ to the very huge size of CJK outline fonts.
+
+2002-12-20 14:51 Guillaume Cottenceau
+
+ * perl-install/mouse.pm: image in CVS is 3b+, not 3bp
+
+2002-12-20 12:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-12-20 09:56 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/modules.pl: Removing tg3 from unused modules
+
+2002-12-20 05:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2002-12-19 22:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: Converted Tamil file to utf-8
+
+2002-12-19 21:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/: cups.pm, main.pm, printerdrake.pm: -
+ printer::main::read_cups_printer_list() is now
+ printer::cups::read_printer_list() (but it is unused!) -
+ printer::main::get_cups_remote_queues() is now
+ printer::cups::get_formatted_remote_queues() - cleanup
+ printer::cups::get_remote_queues() using
+ printer::cups::lpstat_v()
+
+2002-12-19 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: any::get_secure_level()
+ doesn't exist anymore, use security::level::get() instead (fix
+ titi change)
+
+2002-12-19 21:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: add "make test_pms_all"
+
+2002-12-19 21:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/gimp.pm: do not use "$1 !~ ..."
+
+2002-12-19 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: conflict with "non gtk+-2 aware"
+ releases of mcc
+
+2002-12-19 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.4mdk
+
+2002-12-19 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/.perl_checker: use libDrakX from CVS (ie.
+ ..) in perl_checker
+
+2002-12-19 13:15 Guillaume Cottenceau
+
+ * mdk-stage1/doc/README: meuh
+
+2002-12-19 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-12-18 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/.cvsignore: ignore .perl_checker.cache
+
+2002-12-18 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm, Newt/Newt.pm: help perl_checker
+ knowing packages are used as classes
+
+2002-12-18 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: fix
+
+2002-12-18 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/: resolution_and_depth.pm, test.pm: XFdrake
+ gtk+-2
+
+2002-12-18 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: .perl_checker, any.pm, install_any.pm: new
+ features including checking unused functions, and checking
+ methods being available
+
+2002-12-18 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, partition_table.pm: enumerate the
+ various required packages when requiring a package dynamically
+ known
+
+2002-12-18 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, lvm.pm, diskdrake/interactive.pm: add
+ "new" to lvm.pm, and use it
+
+2002-12-18 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - basic gtk+-2 port (edition is
+ not ready yet) - perl_checker fixes
+
+2002-12-18 12:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: refresh: remove current
+ interfaces before readding them, like it was before
+
+2002-12-18 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - consolidate some code into
+ new_dialog - simplify through MDK::Common
+
+2002-12-18 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/drakconnect: perl_checker
+ fixes
+
+2002-12-18 09:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: disable embedded mode for now due to
+ gtk+-2 bugs
+
+2002-12-18 09:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - gtk+-2 port is completed
+ (switch from CList to TreeView) - gtk+-2 minor fixes (use new API
+ rather than old one) - fix non wizard mode (add to frame not to
+ window which is already full) - wizard mode is fixed by
+ previous ugtk2 fix - simplify through MDK::Common
+
+2002-12-18 08:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix wizards and draconnect:
+
+ it's the same code as in old my_gtk but i don't understand how it
+ could have worked...
+
+ yet the logic is quite simple : we add the "previous" button only
+ if we're not in the wizard's first page; but the "next/finish"
+ button must still be added, else the wizard is quite unusefull
+ :-(
+
+2002-12-18 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix drakconnect warnings
+
+2002-12-18 08:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/harddrake2, harddrake/data.pm: saner
+ default size (too big for 800x600 sadly)
+
+2002-12-17 14:21 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2002-12-17 11:00 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/ugtk2.pm: - export gtkappend_page
+
+2002-12-17 10:52 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/ugtk2.pm: - add gtkappend_page function (for gui
+ building wizard)
+
+2002-12-16 19:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix english typo (thanks to J.
+ Grant)
+
+2002-12-16 15:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-12-16 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: really drop update_type_name
+
+2002-12-16 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: really drop check()
+
+2002-12-16 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: use ->method syntax for
+ method call
+
+2002-12-16 08:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: build automatically the font description
+ if needed
+
+2002-12-16 08:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix string_size() usage in
+ get_text_coord()
+
+2002-12-14 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: do not export start_internet
+ and stop_internet (was broken since network::netconnect do not
+ inheritate from Exporter)
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: (sexProb): drop (unused!)
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (update_type_name): drop (unused (?))
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (kdeicons_postinstall): drop
+ (unused)
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (check): drop it (unused, maybe you
+ should use diskdrake::interactive::check instead)
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (add_options): drop (unused, use
+ mount_options_unpack + mount_options_pack instead) (mount_all):
+ drop (unused, use formatMount_all instead)
+
+2002-12-13 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (show_info): drop (unused)
+
+2002-12-13 21:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: drop hasUltra66 (unused)
+
+2002-12-13 21:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: drop unused function
+
+2002-12-13 21:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: drop loadlin handling
+
+2002-12-13 21:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: replace "%" with "%%" in
+ translated string
+
+2002-12-13 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: my_gtk.pm, partition_table.pm, ugtk.pm, ugtk2.pm,
+ network/network.pm, printer/data.pm: remove exported names which
+ are not defined
+
+2002-12-13 17:09 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: expand_row no longer bugs, great
+ :)
+
+2002-12-13 17:06 Guillaume Cottenceau
+
+ * perl-install/install_messages.pm: must return a true value
+
+2002-12-13 15:38 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pl: iconv_ is needed all the times, not
+ only in drakx
+
+2002-12-13 12:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: remove double
+
+2002-12-13 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: commit the real code, not the debug
+ code :-(
+
+2002-12-13 12:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, security/main.pm,
+ standalone/draksec: move draksec's gui into the standalone
+ program, nobody will uses it so it's useless to load drakx with
+ it. also use common cli options managment
+
+2002-12-13 12:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: put back the comment
+
+2002-12-13 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: (read_cups_printer_list,
+ get_cups_remote_queues): much cleanup
+
+2002-12-13 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: use wrap_text (instead of handcoding
+ it)
+
+2002-12-13 10:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix {build,}requires for gtk+2
+
+2002-12-13 10:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools: fix installation
+ after pixel changes
+
+2002-12-13 10:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: perl_checker fixes
+
+2002-12-13 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: remove uneeded variables
+
+2002-12-13 00:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: remove unused variable
+ $clicked
+
+2002-12-13 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: remove some $::expert
+
+2002-12-12 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: remove beginner/expert choice
+
+2002-12-12 20:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: drop options "fexpert" and "fbeginner"
+ which used to skip the choice expert/beginner
+
+2002-12-12 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: better english
+
+2002-12-12 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: don't confuse people by
+ altering sentences that could have been interpreted as questions
+
+2002-12-12 15:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: when clicking on one of the
+ legend buttons together with an existing partition selected, it
+ doesn't change the partition type, it tells to use "Type" (it
+ used to be ignored in non-expert, and do a change type in expert)
+
+2002-12-12 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - s/::/:/ on cpu info - print
+ field names in bold blue rather than just blue
+
+2002-12-12 14:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: he.po, pt.po: Added a starting Hebrew
+ file; updated Portguese file
+
+2002-12-12 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk.pm: unused variables renamed with a leading
+ underscore (some code should be removed?)
+
+2002-12-12 10:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: simplify
+
+2002-12-12 10:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: add gtkmodify_font() and gtkset_property()
+
+2002-12-11 17:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, zh_CN.po: updated Portuguese and
+ Chinese files
+
+2002-12-11 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: reuse already consolided code
+
+2002-12-11 15:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: reuse already consolided code
+
+2002-12-11 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: add set_back_pixbuf() to let a widget
+ paint itself a pixbuf in its background rather that doing this
+ ourselves in rpmdrake or mcc
+
+2002-12-10 16:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fixes
+
+2002-12-10 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: perl_checker fixes
+
+2002-12-10 15:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix % in translated
+ string (it must be %%)
+
+2002-12-10 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: no gratuitously tab
+
+2002-12-10 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: - gtk+2 port - "use strict"
+ fixes - perl_checker fixes
+
+2002-12-10 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: fix gtk+2 port
+
+2002-12-10 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/: isdn.pm, netconnect.pm, tools.pm:
+ perl_checker fixes
+
+2002-12-10 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: perl_checker fixes
+
+2002-12-10 02:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: Makefile, fake_c.pl: use "perl_checker
+ --generate-pot" instead of fake_c + xgettext
+
+2002-12-10 02:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: service_harddrake.sh is not a PM,
+ so i remove it from STANDALONEPMS_
+
+2002-12-10 02:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: perl_checker --generate-pot
+ is a bit picky about the localisation of "#-PO:" comments
+
+2002-12-10 02:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: do not duplicate "An error occurred
+ ..." t10n string
+
+2002-12-10 01:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakautoinst, drakbackup,
+ drakbug, drakconnect, drakfloppy, drakxtv, logdrake: minimal
+ perl_checker fixes to have only warnings
+
+2002-12-10 01:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: live_install is a shell script, do
+ not pretend it's perl ;p
+
+2002-12-09 23:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_messages.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: move long messages (like license)
+ to a new package: install_messages.pm
+
+2002-12-09 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: remove unused variable ($step_name)
+
+2002-12-09 22:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: my_gtk.pm, ugtk2.pm: remove dynamic theme
+ choosing, and next/previous (F11/F12) handling
+
+2002-12-09 22:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: themes-blackwhite.rc, themes-savane.rc,
+ themes.rc: remove already obsolete themes
+
+2002-12-09 21:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_gtk.pm, my_gtk.pm, ugtk2.pm,
+ interactive/newt.pm: remove code handling setstep
+
+2002-12-09 21:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: remove old code
+
+2002-12-09 21:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm: - handle more locally "Reload partition
+ table" (esp. without using setstep) => no exception is called
+ through gtk
+
+2002-12-09 18:30 Arnaud Desmons
+
+ * perl-install/network/netconnect.pm: make perl_checker happy
+
+2002-12-09 18:18 Arnaud Desmons
+
+ * perl-install/network/: adsl.pm, netconnect.pm: drakconnect conf
+ file no more uploaded with now useless variable
+
+2002-12-09 08:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/isdn.pm: remove unused modules
+
+2002-12-08 11:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2002-12-07 15:33 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: update
+
+2002-12-07 13:35 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: update
+
+2002-12-07 01:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sq.po: Added Albanian file
+
+2002-12-06 21:48 Guillaume Cottenceau
+
+ * perl-install/bootlook.pm: perl_checker help'ed fix
+
+2002-12-06 21:41 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: don't use unless
+
+2002-12-06 21:10 Guillaume Cottenceau
+
+ * perl-install/bootlook.pm: s/Gtk->/Gtk2->/
+
+2002-12-06 20:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, vi.po: updated po file
+
+2002-12-06 19:00 Guillaume Cottenceau
+
+ * perl-install/install_gtk.pm: better style
+
+2002-12-06 18:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: be more perl_checker compliant
+
+2002-12-06 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/isdn.pm: be more perl_checker compliant
+
+2002-12-06 17:22 Guillaume Cottenceau
+
+ * perl-install/lang.pm: perl checker OwnZ Da W3rld
+
+2002-12-06 16:24 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pl: add bind_textdomain_codeset, iconv
+ the dgettext results to UTF8 since perl seems to mess with that
+ when trying to do so from within gtk2-perl (with sv_utf8_upgrade)
+
+2002-12-06 16:23 Guillaume Cottenceau
+
+ * perl-install/lang.pm: misc
+
+2002-12-06 14:38 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: removed unuset texts
+
+2002-12-06 12:01 Arnaud Desmons
+
+ * perl-install/network/: adsl.pm, isdn.pm, modem.pm, netconnect.pm,
+ tools.pm: isdn data are now fetched form system instead of
+ drakconnect conf file
+
+2002-12-06 10:27 Guillaume Cottenceau
+
+ * perl-install/interactive/gtk.pm: 2.1.3 doesn't have trouble with
+ expand_to_path
+
+2002-12-06 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: parameter passing using $_ is bad
+
+2002-12-06 00:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: replace "map $_->{normal}, @l"
+ with "map { $_->{normal} } @l" (the other form is
+ perl_checker-deprecated)
+
+2002-12-06 00:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: $_ was not localized, fixing (and
+ cleanup)
+
+2002-12-06 00:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: format => sub { ...} doesn't pass parameter
+ as $_, but as $_[0]
+
+2002-12-05 22:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: Makefile, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated po files
+
+2002-12-05 20:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: share/po/DrakX.pot, standalone/harddrake2,
+ standalone/net_monitor: Fixed some typos or bad English
+
+2002-12-05 17:56 Guillaume Cottenceau
+
+ * perl-install/lang.pm: try to fix charset2pango_font
+
+2002-12-05 17:46 Guillaume Cottenceau
+
+ * perl-install/: lang.pm, install_gtk.pm: fix syntax & style
+
+2002-12-05 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: gtk+-2 port
+
+2002-12-05 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakconnect: use gtkflush()
+
+2002-12-05 17:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_gtk.pm: two pango font names, for 10 and 12
+ sizes
+
+2002-12-05 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: start gtk+2 port; perl-gtk2 is expected
+ to implement Gtk::Image->set_from_pixbuf()
+
+2002-12-05 17:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: install_gtk.pm, lang.pm: made some functions to
+ retrieve pango font namese from lang/charset
+
+2002-12-05 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: fix gtk+-2 port
+
+2002-12-05 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/Makefile.PL: glib-config is obsolete now
+
+2002-12-05 16:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/Makefile.PL: gtk+-2 port
+
+2002-12-05 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/services.pm: drakxservices' gtk+-2 port
+
+2002-12-05 16:08 Guillaume Cottenceau
+
+ * perl-install/lang.pm: add bind_textdomain_codeset
+
+2002-12-05 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules/interactive.pm: bug fix
+
+2002-12-05 15:12 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: remove unused $_lan
+
+2002-12-05 14:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/gen_locales.sh,
+ share/locales-skeleton.tar.bz2: Changed the way locale->encoding
+ is handled; revert to the old way which was working. And changed
+ the charset to use during install to UTF-8 for all but CJK
+ locales, in the X11 locale config files and in lang.pm; So, the
+ same values of LC_* variables are used as before; but they should
+ point, in glibc and in X11, to UTF-8 locales now
+
+2002-12-05 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: don't use anymore deprecated
+ widgets
+
+2002-12-05 12:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: gtk+2 port
+
+2002-12-05 12:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/mousedrake: gtk+2 port (how difficult it
+ was ...)
+
+2002-12-05 12:49 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: add floppy.o for all boot disks, don't have
+ some 3c isa cards to fit network.img
+
+2002-12-05 12:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: fix gtk+2 port
+
+2002-12-05 12:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: fix typo, be perl_checker compatible
+
+2002-12-05 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: packages should not "use lib
+ qw(/usr/lib/libDrakX)"
+
+2002-12-05 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: remove unused variables or rename
+ them with an underscore (eg: $o becomes $_o)
+
+2002-12-05 12:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: gtk+2 fixes
+
+2002-12-05 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: pre gtk+2 work snapshot for mcc
+ (mandrake_release() and the like
+
+2002-12-05 10:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: s/describe/describes/
+
+2002-12-04 22:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: remove unused code (installCrypto)
+
+2002-12-04 22:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, commands.pm, devices.pm,
+ fs.pm, fsedit.pm, ftp.pm, install2.pm, install_any.pm,
+ install_interactive.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, interactive.pm, loopback.pm,
+ modules.pm, mouse.pm, my_gtk.pm, partition_table.pm, pkgs.pm,
+ scanner.pm, services.pm, swap.pm, ugtk.pm, ugtk2.pm,
+ Xconfig/main.pm, Xconfig/monitor.pm, Xconfig/parse.pm,
+ Xconfig/resolution_and_depth.pm, Xconfig/test.pm,
+ Xconfig/xfree4.pm, diskdrake/dav.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, diskdrake/removable.pm,
+ diskdrake/smbnfs_gtk.pm, interactive/gtk.pm, interactive/http.pm,
+ interactive/newt.pm, interactive/stdio.pm, network/adsl.pm,
+ network/drakfirewall.pm, network/ethernet.pm, network/isdn.pm,
+ network/modem.pm, network/netconnect.pm, network/network.pm,
+ network/nfs.pm, network/smb.pm, network/smbnfs.pm,
+ network/tools.pm, partition_table/gpt.pm, partition_table/mac.pm,
+ partition_table/raw.pm, printer/common.pm, printer/detect.pm,
+ printer/gimp.pm, printer/main.pm, printer/office.pm,
+ printer/printerdrake.pm, resize_fat/dir_entry.pm,
+ resize_fat/directory.pm, resize_fat/io.pm, security/main.pm:
+ remove unused variables or rename them with an underscore (eg: $o
+ becomes $_o)
+
+2002-12-04 19:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - %l is not used, so why
+ declare it?? - in network::netconnect::main(), declare @l as it
+ should be. But the code is really wrong, it NEEDS fixing (bis)
+
+2002-12-04 19:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: my' variables as needed
+
+2002-12-04 19:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/scanner.pm: $prefix is no good, replace it with
+ $::prefix
+
+2002-12-04 19:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: netconnect.pm, modem.pm, network.pm:
+ syntax changes to make perl_checker happy
+
+2002-12-04 19:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/stdio.pm: fix typo
+
+2002-12-04 19:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/gpt.pm: fix typo ($hd is not
+ available in read_header(), so don't use it)
+
+2002-12-04 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: no need to "require common", it is
+ "use"d
+
+2002-12-04 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, standalone.pm: "require log"
+ causes some pb, perl thinking that "log" is the log() function.
+ So replace it with require 'log.pm' (perl_checker will handle
+ this)
+
+2002-12-04 18:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: made 'en_US.UTF-8' the default locale for
+ LC_* varaibles during isntall
+
+2002-12-04 18:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/locales-skeleton.tar.bz2: added recognition of
+ locale named "en_US.UTF-8"
+
+2002-12-04 17:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_gtk.pm: put "Nimbus Sans L" as used font
+
+2002-12-04 17:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: Put Nimbus Sans L as default
+ font
+
+2002-12-04 16:46 Arnaud Desmons
+
+ * perl-install/network/: modem.pm, netconnect.pm, network.pm,
+ tools.pm: More data are now fetched from system instead of
+ drakconnect conf file
+
+2002-12-04 16:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-12-04 16:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: put back the default iso8859-15
+ fonts used by install.rc
+
+2002-12-04 15:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_gtk.pm: try of Gtk2 font definitions
+
+2002-12-04 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, crypto.pm, fs.pm, fsedit.pm,
+ install_steps_gtk.pm, my_gtk.pm, ugtk.pm, ugtk2.pm,
+ network/netconnect.pm, network/network.pm, printer/main.pm,
+ printer/printerdrake.pm: use if_() where possible (as reported by
+ perl_checker)
+
+2002-12-04 15:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/main.pm: syntax changes to make
+ perl_checker happy
+
+2002-12-04 15:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - free objects non freeed by
+ gtk+ (the eternal gobject vs boxed types debat) - remove dead
+ code - use ->append_set() everywhere - strip again vendor name
+ from displayed string (aka keep only the model description) -
+ enfoce pixel style : remove () from method calls
+
+2002-12-04 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: display "cpu #<XX>: <name>" for
+ cpus
+
+2002-12-04 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: network/adsl.pm, network/modem.pm,
+ network/netconnect.pm, security/main.pm: syntax changes to make
+ perl_checker happy
+
+2002-12-04 13:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, keyboard.pm, loopback.pm,
+ modules.pm, partition_table/bsd.pm, partition_table/dos.pm,
+ partition_table/empty.pm, partition_table/gpt.pm,
+ partition_table/lvm_PV.pm, partition_table/mac.pm,
+ partition_table/raw.pm, partition_table/sun.pm: do not use "local
+ *F"
+
+2002-12-04 13:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: don't use "local *F"
+
+2002-12-04 13:32 uid580
+
+ * perl-install/pkgs.pm: perl_checker
+
+2002-12-04 13:21 uid553
+
+ * perl-install/install_steps_gtk.pm: use option tty7 to force X
+ server to be on tty7 (instead of opening tty5 and tty6 so that
+ the next available tty is tty7)
+
+2002-12-04 12:38 uid580
+
+ * perl-install/: harddrake/data.pm, harddrake/ui.pm,
+ standalone/harddrake2: kill "used by only one" harddrake::ui
+ module, move its content to standalone/harddrake2
+
+2002-12-04 11:39 uid580
+
+ * perl-install/harddrake/ui.pm: cleanups
+
+2002-12-04 11:38 uid580
+
+ * perl-install/ugtk2.pm: reverse
+
+2002-12-04 11:21 uid580
+
+ * perl-install/harddrake/ui.pm: hide config buttons when switching
+ from a configurable device to a non configurable one
+
+2002-12-04 11:14 uid580
+
+ * perl-install/harddrake/ui.pm: fix gtktext_insert() usage
+
+2002-12-04 09:30 uid580
+
+ * perl-install/security/main.pm: share common options
+
+2002-12-04 09:30 uid580
+
+ * perl-install/security/msec.pm: - fix obvious pixel typo
+ (s/if/if_/) - no need to maintain dummy documentation about
+ something which is called only in one place - simplify
+
+2002-12-04 09:25 uid580
+
+ * perl-install/standalone/drakxservices: strict mode
+
+2002-12-04 08:49 uid580
+
+ * perl-install/ugtk2.pm: clean up
+
+2002-12-04 08:45 uid580
+
+ * perl-install/harddrake/ui.pm: gtk+2 port, yeah baby :-)
+
+2002-12-03 23:02 uid551
+
+ * perl-install/share/po/: pt_BR.po, zh_CN.po: updated Brazilian and
+ Chinese files
+
+2002-12-03 22:08 uid551
+
+ * perl-install/share/fonts.tar.bz2: First try of fonts for Xft2
+
+2002-12-03 21:04 uid535
+
+ * perl-install/ugtk2.pm: titisux, revert the pango pixels stuff
+
+2002-12-03 21:02 uid535
+
+ * perl-install/: common.pm, c/stuff.xs.pl: workaround perl sprintf
+ bug when some parameters are utf8 and some not
+
+2002-12-03 15:55 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: gcsux
+
+2002-12-03 15:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, ja.po, vi.po: updated Estonian and
+ Vietnamese files; fixed typo in Japanese file
+
+2002-12-03 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, partition_table.pm, scanner.pm,
+ timezone.pm: do not use "local *F", use "my $F" or output()
+ instead
+
+2002-12-03 15:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/msec.pm: fix typo
+
+2002-12-03 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: use output()
+
+2002-12-03 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: (find_exports): use run_program::raw
+ + stdout
+
+2002-12-03 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: one need run_program::raw() to use options
+
+2002-12-03 14:13 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: misc fixes
+
+2002-12-03 14:12 Guillaume Cottenceau
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm, mouse.pm,
+ services.pm, diskdrake/hd_gtk.pm, diskdrake/smbnfs_gtk.pm,
+ interactive/gtk.pm: gtk2
+
+2002-12-03 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, common.pm, detect_devices.pm,
+ devices.pm, install_steps.pm, Xconfig/test.pm: do not use "local
+ my $F, ...", use "local(my $F, ...) instead
+
+2002-12-03 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/logdrake: add
+ gtktext_append() and uses it
+
+2002-12-03 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: cleanup use of filehandles
+
+2002-12-03 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (read_resolv_conf): simplify
+
+2002-12-03 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: do not use "local *F"
+
+2002-12-03 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: do not use "local *F"
+
+2002-12-03 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (formatXiB): simplify
+
+2002-12-03 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: use "my $F" instead of "local *F" (and
+ cleanup)
+
+2002-12-03 13:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: remove pack_ and unpack_ (unused)
+
+2002-12-03 13:25 Dam's
+
+ * perl-install/any.pm: allow #, and other characters in phone
+ number
+
+2002-12-03 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: do not use "local *F", use
+ run_program::get_stdout() or "local $F" instead
+
+2002-12-03 13:09 Guillaume Cottenceau
+
+ * perl-install/: network/tools.pm, pkgs.pm: make it $::testing
+ aware
+
+2002-12-03 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/msec.pm: simplify (esp. use cat_)
+
+2002-12-03 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/security/msec.pm: (get_value): cleanup
+
+2002-12-03 00:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (add2hosts): use output and
+ pixelization
+
+2002-12-03 00:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/: main.pm, office.pm: simplify
+
+2002-12-02 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (set_alternative): simplify
+ (files_exist): simplify
+
+2002-12-02 21:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, mouse.pm,
+ network/isdn.pm, network/netconnect.pm, network/smb.pm,
+ network/tools.pm: use output_with_perm()
+
+2002-12-02 18:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm:
+ any::get_autologin() doesnt modify $o, it returns a hash
+
+2002-12-02 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: - use any::get_autologin and
+ any::set_autologin - any::set_autologin doesn't set
+ /etc/sysconfig/autologin to perm 600, is it needed??
+
+2002-12-02 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm,
+ install_steps_interactive.pm: use $::prefix
+
+2002-12-02 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: remove commented code
+
+2002-12-02 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (get_autologin): $o->{autologin} is set to
+ the chosen user only if AUTOLOGIN is set (it now mirrors what
+ set_autologin() does)
+
+2002-12-02 18:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't use $_
+
+2002-12-02 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: any::runlevel() doesnt
+ need the prefix anymore
+
+2002-12-02 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/proxy.pm: this package is unused, no need to keep it
+
+2002-12-02 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: - any::runlevel() doesnt need
+ the prefix anymore - fix use of any:runlevel()
+
+2002-12-02 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: any::runlevel() doesnt need the
+ prefix anymore
+
+2002-12-02 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: use any::runlevel()
+
+2002-12-02 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use output()
+
+2002-12-02 18:07 Arnaud Desmons
+
+ * perl-install/: network/adsl.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm,
+ standalone/drakconnect: Some data are now fetched from system
+ instead of drakconnect conf file (adsl, ppp, ifcfg-eth)
+
+2002-12-02 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use output and append_to_file
+
+2002-12-02 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: adapt "make test_pms" to new perl_checker
+
+2002-12-02 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: formatting timeout is now 1 hour
+
+2002-12-02 17:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: remove the duplicate mke2fs (fixes buggy
+ 1.225 change)
+
+2002-12-02 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: use append_to_file()
+
+2002-12-02 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/porting-ugtk: add a tool to ease gtk2 port. this is not the
+ rule of thumb but basic stuff.
+
+2002-12-02 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk2.pm, standalone/logdrake: make append option
+ be usable as other ones
+
+2002-12-02 12:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: use named tags for color rather
+ than rgbt triplet, waiting for full foreground-gdk support in
+ perl-gtk2
+
+2002-12-02 10:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: gtkfontinfo() is bugged since it uses a C
+ macro which is (oh surprise) not in binary library .... :
+ $fontinfo{$_} = Gtk2::Pango->PANGO_PIXELS($metrics->$func);
+
+2002-12-02 08:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakfont: - gtk2 port -
+ consolidate some code in text_view() - perl_checker fixes
+
+2002-12-02 08:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - gtk2 port - add a note to
+ remember to try gtkhtml instead of TextView - make wait message
+ be transcient and modal (we should share some create_*_dialog()
+ around logdrake/mcc/drakfloppy/rpmdrake) - fixes for 'strict ref'
+
+2002-12-02 08:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/main.pm, standalone/drakbackup,
+ standalone/drakconnect: - gtk2 port - perl_checker fixes
+
+2002-12-02 08:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: - fix gtk2 port - let it work
+ with kernel 2.5 too
+
+2002-12-02 08:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fix gtk2 port
+
+2002-12-02 08:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: - use useless when needed -
+ gtktext_insert() : add an append argument to prevent overwriting
+ already present text in TextBuffer - gtkfontinfo() is bugged
+ since it uses a C macro which is (oh surprise) not in binary
+ library .... : $fontinfo{$_} =
+ Gtk2::Pango->PANGO_PIXELS($metrics->$func);
+
+2002-12-02 08:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-12-02 06:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po: updated pot file
+
+2002-11-28 20:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: Updated Estonian file
+
+2002-11-28 16:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: Updated Portuguese file
+
+2002-11-28 16:07 Guillaume Cottenceau
+
+ * perl-install/raid.pm: testing aware
+
+2002-11-28 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: one more fix
+
+2002-11-28 15:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - "use strict" fixes -
+ perl_checker fixes
+
+2002-11-28 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: services.pm: - my_gtk->main already do the kill
+ 'USR2' and hardcoding signal number was bad anyway - use
+ gtkflush()
+
+2002-11-28 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootlook.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, lang.pm, services.pm, ugtk.pm,
+ harddrake/ui.pm, network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/netconnect.pm, network/network.pm,
+ network/tools.pm, printer/common.pm, printer/cups.pm,
+ printer/detect.pm, printer/gimp.pm, printer/main.pm,
+ printer/printerdrake.pm, resize_fat/fat.pm, resize_fat/io.pm:
+ perl_checker adaptations
+
+2002-11-28 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/io.pm: remove debug code
+
+2002-11-28 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/c_rewritten.pm: to export, one needs to
+ inheritate from Exporter
+
+2002-11-28 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: fix "ps" and "df" (were broken due to
+ localization of *DF and *PS)
+
+2002-11-28 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: in the test snippet, add "use
+ common" to have access to N()
+
+2002-11-28 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - compare labels case insensitively
+ (thanks to D.Faure) - when reading existing config, remove double
+ quotes around the label (thanks to D.Faure) - add double quotes
+ around the label instead of removing spaces (need checking
+ installkernel compatibility)
+
+2002-11-28 13:00 Guillaume Cottenceau
+
+ * perl-install/any.pm: load_category__prompt: use formatAlaTeX
+
+2002-11-28 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: fix removing of pods when installing pms
+
+2002-11-28 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: perl_checker fixes
+
+2002-11-28 09:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk2.pm: fix create_factory_menu*(): since we get
+ an object and not anymore a hash, let just return factory as
+ another variable...
+
+2002-11-28 09:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix
+
+2002-11-28 02:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, bootlook.pm, ftp.pm,
+ install_any.pm, partition_table.pm, network/adsl.pm,
+ printer/printerdrake.pm: perl_checker adaptations
+
+2002-11-27 21:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm, commands.pm,
+ devices.pm, fs.pm, fsedit.pm, ftp.pm, help.pm, install2.pm,
+ install_any.pm, install_gtk.pm, install_interactive.pm,
+ install_steps.pm, install_steps_gtk.pm, interactive.pm, lang.pm,
+ log.pm, modules.pm, mouse.pm, my_gtk.pm, partition_table.pm,
+ scanner.pm, standalone.pm, swap.pm, timezone.pm, ugtk.pm,
+ Newt/Newt.pm, Xconfig/card.pm, Xconfig/monitor.pm,
+ Xconfig/parse.pm, Xconfig/resolution_and_depth.pm,
+ Xconfig/test.pm, Xconfig/xfree3.pm, c/stuff.pm,
+ diskdrake/interactive.pm, harddrake/data.pm, harddrake/sound.pm,
+ harddrake/ui.pm, interactive/http.pm, interactive/newt.pm,
+ interactive/stdio.pm, network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/isdn_consts.pm, network/network.pm,
+ network/tools.pm, partition_table/gpt.pm, printer/detect.pm,
+ printer/gimp.pm, printer/main.pm, printer/office.pm,
+ printer/printerdrake.pm, resize_fat/c_rewritten.pm,
+ resize_fat/fat.pm, resize_fat/io.pm: perl_checker adaptations
+
+2002-11-27 21:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/main.pm: (configure_hpoj): functions
+ dynamically loaded from /usr/sbin/ptal-init are now loaded in
+ printer::hpoj namespace (needs testing)
+
+2002-11-27 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: update for new packages (Gtk2), and
+ remove the now-handled-by-perl_check packages
+
+2002-11-27 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: - Gtk2 port - perl_checker fixes
+
+2002-11-27 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: - Gtk2 port - one perl_checker
+ fix
+
+2002-11-27 17:00 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: reflect calling style change of
+ PANGO_PIXELS
+
+2002-11-27 15:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/mousedrake: restore previous behaviour
+ and exit early only in cancel case
+
+2002-11-27 08:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/mousedrake: fix bad interaction between
+ mcc & mousedrake. interactive already take care of it through
+ my_gtk...
+
+2002-11-26 21:37 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_any.pm: Only all.img is currently used on
+ x86-64, ia64 and ppc. Therefore, don't complain nor try to stat
+ some cdrom.img on first CD.
+
+2002-11-26 21:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/removable_gtk.pm: fix undeclared variable
+
+2002-11-26 20:37 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix typo (gtkstring_size) thx to perl
+ checker
+
+2002-11-26 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk2.pm: make perl_checker happy
+
+2002-11-26 19:37 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: fix shadow bug due to wrong extraction of
+ allocation data
+
+2002-11-26 19:25 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: two small fixes
+
+2002-11-26 18:48 Guillaume Cottenceau
+
+ * perl-install/ugtk2.pm: add
+
+2002-11-26 18:48 Guillaume Cottenceau
+
+ * perl-install/Makefile: ugtk2.pm is temporarily not in drakxtools
+ but in perl-GTK2
+
+2002-11-26 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: miaouh
+
+2002-11-26 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: simplify
+
+2002-11-26 15:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, pt_BR.po: Updated Portuguese files
+
+2002-11-26 15:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modules.pm, run_program.pm, services.pm,
+ printer/detect.pm: perl_checker fixes
+
+2002-11-26 15:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: simplify some stuff
+
+2002-11-26 14:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed values for console font when en_US
+ is chosen
+
+2002-11-26 12:09 Guillaume Cottenceau
+
+ * perl-install/unused/demo-frozen-bubble.patch: forgot to commit it
+ (.cvsignore containing * doesn't help)
+
+2002-11-26 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: fix eating too much items
+
+2002-11-26 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: no need to call common::backtrace(),
+ use directly backtrace() (was it written that way to workaround a
+ bug in old perl_checker?)
+
+2002-11-26 01:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: no need to call common::backtrace(),
+ use directly backtrace() (was it written that way to workaround a
+ bug in old perl_checker?)
+
+2002-11-25 23:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix typo (openInstallLog *must* return the
+ filehandle)
+
+2002-11-25 23:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: oops, didn't see titi modified
+ option handling
+
+2002-11-25 23:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: fix handling of options
+ --expert and --testing
+
+2002-11-25 23:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: make perl_checker happy
+
+2002-11-25 23:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: don't use filehandle *pkgs::LOG, use a
+ my'ed $LOG
+
+2002-11-25 23:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: in
+ network::netconnect::main(), declare @l as it should be. But the
+ code is really wrong, it NEEDS fixing
+
+2002-11-25 22:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: - $up was my-ed inside the if-then
+ block though it was used outside the block (hint: buggy code) -
+ my @country as it should be
+
+2002-11-25 22:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: $modem is redefined 2 lines
+ below its first declaration. this first declaration is useless
+ (??)
+
+2002-11-25 22:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/isdn.pm: since $mouse is undefined, replace
+ it with undef (??)
+
+2002-11-25 20:50 Fançois Pons
+
+ * tools/oem-prepare: assume any hardware is found (forget to
+ commit).
+
+2002-11-25 20:49 Fançois Pons
+
+ * rescue/tree/etc/oem-all: synced with latest change to HP version
+ (and now HP is in CVS).
+
+2002-11-25 20:48 Fançois Pons
+
+ * kernel/list_modules.pm: fixed too many modules removed (but
+ untested if still buildable, pixel can do the changes now or gégé
+ ?).
+
+2002-11-25 20:47 Fançois Pons
+
+ * perl-install/network/adsl.pm: add support for Sagem USB Modem
+ (for free.fr ;-))
+
+2002-11-25 20:45 Fançois Pons
+
+ * perl-install/network/ethernet.pm: add support ADIModem.
+
+2002-11-25 20:32 Fançois Pons
+
+ * perl-install/diskdrake/interactive.pm: revert previous change
+ useless (another problem).
+
+2002-11-25 20:07 Fançois Pons
+
+ * perl-install/diskdrake/interactive.pm: added a trailing true
+ value for perl being happy.
+
+2002-11-25 19:14 Fançois Pons
+
+ * perl-install/network/ethernet.pm: removed reference to
+ ...->{nb_cards} no more used.
+
+2002-11-25 19:13 Fançois Pons
+
+ * perl-install/network/netconnect.pm: removed old code (commented
+ out).
+
+2002-11-25 19:06 Fançois Pons
+
+ * perl-install/network/ethernet.pm: removed 2 labels and 2 gotos by
+ a very simple while, dam's is really great sometimes ;-)
+
+2002-11-25 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use a scalar instead of a typeglob
+ (let typeglobs be deprecated!)
+
+2002-11-25 18:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: since we use the "fileno", perl doesn't
+ know we're still using the filehandle, and so closes it, and :-(
+
+2002-11-25 18:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix handling of "all" languages selected
+
+2002-11-25 18:51 Fançois Pons
+
+ * kernel/list_modules.pm: revert.
+
+2002-11-25 18:44 Fançois Pons
+
+ * kernel/list_modules.pm: added adiusbadsl (for supporting Sagem
+ USB ADSL modem).
+
+2002-11-25 18:07 Fançois Pons
+
+ * perl-install/network/network.pm: added is_domain_name that checks
+ validity of a domain name.
+
+2002-11-25 17:51 Fançois Pons
+
+ * perl-install/detect_devices.pm: add getSagem() to detect Sagem
+ USB ADSL Modem.
+
+2002-11-25 16:05 Fançois Pons
+
+ * perl-install/install_any.pm: fixes perl-checker importation of
+ bug, getFile is complex for perl newbies, do not rely on
+ perl-checker for trying to "fix" it else it won't run anymore ;-)
+
+2002-11-25 15:44 Fançois Pons
+
+ * perl-install/install_any.pm: make it work (changed *F => *GETFILE
+ and added a return) else perl has some problem using it as
+ reference to file handle.
+
+2002-11-25 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: common.pm, standalone/drakbug,
+ standalone/drakbug_report: s/mdk_rel/mandrake_release/
+
+2002-11-25 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: - simplify --embedded handling -
+ stricter matching on --no-autoc
+
+2002-11-25 09:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: common.pm, standalone/drakbug,
+ standalone/drakbug_report: consolidate some stuff from standalone
+ tools & mcc into mdk_rel()
+
+2002-11-25 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/my_gtk.pm: warn about broken programs that misuse
+ my_gtk
+
+2002-11-25 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/my_gtk.pm: display in mcc when embedded only when
+ ready to interact with the user
+
+2002-11-25 09:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: interactive->exit call my_gtk->exit
+ which destroy the window
+
+2002-11-25 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - simplify mcc stuff - prevent bad stacking
+ of right icons in mcc at startup
+
+2002-11-25 09:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove dobles
+
+2002-11-22 17:04 Fançois Pons
+
+ * perl-install/mouse.pm: incorporate 8.2 HP fixes back in cooker.
+
+2002-11-21 16:55 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/setup_network.sh: fixing typo
+
+2002-11-21 16:55 Guillaume Cottenceau
+
+ * perl-install/standalone/drakautoinst: use ask_warn when I should,
+ and remove a one year old debug statement (???)
+
+2002-11-21 16:47 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/setup_network.sh: Fixing wrong hostname
+
+2002-11-21 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, drakbackup, drakconnect,
+ drakfont, drakgw, net_monitor: switch latest tools that still
+ manually handle embedding to use my_gtk
+
+2002-11-21 11:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/net_monitor: - perl_checker fixes - use
+ my_gtk to transparently handle embedding
+
+2002-11-21 11:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: - Gtk::Gdk::ImlibImage is not
+ needed - perl_checker fixes - fix interactive exit (s/in/$in/
+ ->exit)
+
+2002-11-21 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakproxy: this one requires any
+
+2002-11-21 09:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: remove dead code about option
+ managment which is obsoleted by standalone
+
+2002-11-20 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: message_noconf_box() and
+ message_underdevel() were quite identical. let consolidate them
+
+2002-11-20 16:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: message_noselect_box() and
+ message_noselect_what_box() were just identical (but for their
+ label). let consolidate this
+
+2002-11-20 16:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: send_mail_pb() and
+ client_ftp_pb() were just identical (modulo their label)
+
+2002-11-20 16:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: kill heavy duplication in
+ get_cd_info()
+
+2002-11-20 16:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: perl_checker fixes
+
+2002-11-20 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: - don't gratuitously copy a
+ 70 lines help text with typo changes, translators will kill us
+
+ - use strict, fix it
+
+2002-11-20 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: interactive/stdio.pm, standalone/drakTermServ,
+ standalone/drakbackup, standalone/drakbug: s/$x ne (0|'')/$x/
+
+2002-11-20 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: cleanups
+
+2002-11-20 15:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: hide the "please wait" at the
+ latest stage
+
+2002-11-20 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - api change for latest harddrake - s/$x ne
+ ''/$x/
+
+2002-11-20 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: this is a module, not a program
+
+2002-11-20 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: update to new
+ security::level scheme
+
+2002-11-20 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: simplify
+
+2002-11-20 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: draksound, service_harddrake, draksec:
+ perl_checker fixes
+
+2002-11-20 14:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakgw: perl_checker fixes
+
+2002-11-20 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfloppy, draksplash: perl_checker
+ fixes
+
+2002-11-20 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: do not use print_hello()
+ callback, anyway it does not exists (but in drakfloppy ...)
+
+2002-11-20 13:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - logdrake does not need any -
+ use ugtk for gtkcolor & co - perl_checker fixes
+
+2002-11-20 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: more perl_checker fixes
+
+2002-11-20 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - don't require unused
+ modules - use my_gtk to transparently handle embedding - fixes
+ for strict mode - fixes for perl_checker (more to come after
+ lunch)
+
+2002-11-20 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksplash: - fixes for "use strict"
+ (still some work to do since some variables are created through
+ ${ $x.$y }
+
+ - use my_gtk : o clean code o transparently manage embedding
+
+ - perl_checker fixes
+
+2002-11-20 10:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakproxy, drakupdate_fstab: fix blind
+ copyright copy
+
+2002-11-20 09:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: cleanups
+
+2002-11-19 17:56 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/: network/ethernet.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/ar.po, share/po/az.po, share/po/be.po,
+ share/po/bg.po, share/po/bs.po, share/po/ca.po, share/po/cs.po,
+ share/po/cy.po, share/po/da.po, share/po/de.po, share/po/el.po,
+ share/po/eo.po, share/po/es.po, share/po/et.po, share/po/eu.po,
+ share/po/fi.po, share/po/fr.po, share/po/ga.po, share/po/gl.po,
+ share/po/hr.po, share/po/hu.po, share/po/id.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/lt.po,
+ share/po/lv.po, share/po/mt.po, share/po/nl.po, share/po/no.po,
+ share/po/pl.po, share/po/pt.po, share/po/pt_BR.po,
+ share/po/ro.po, share/po/ru.po, share/po/sk.po, share/po/sl.po,
+ share/po/sp.po, share/po/sr.po, share/po/sv.po, share/po/ta.po,
+ share/po/th.po, share/po/tr.po, share/po/uk.po, share/po/vi.po,
+ share/po/wa.po, share/po/zh_CN.po, share/po/zh_TW.po,
+ standalone/drakconnect: default dhcp client is dhcp-client
+
+2002-11-19 16:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: Added
+ Malayalam keyboard
+
+2002-11-19 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - remove debugging code - document
+ menu building
+
+2002-11-19 16:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - add option menu check boxes to
+ prevent (slowly) detecting printers and modems - remove
+ warnings on usb devices
+
+2002-11-19 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - explains more cpu bugs -
+ eventually fix --testing effect
+
+2002-11-19 14:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, security/level.pm,
+ security/main.pm, security/msec.pm: - fix duplication of sec
+ level setting: merge any::get_secure_level() with
+ secure::msec::get_secure_level() - move security level functions
+ from secure::msec to secure::level - uses secure::level in
+ install_steps - fix duplication of security level labels -
+ draksec: use same strings in drakx, got nice translations -
+ get_default_checks(): make it more readable
+
+2002-11-19 14:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2002-11-19 12:56 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/log.c: Don't forget to va_end() what was va_copy()'ed.
+
+2002-11-19 08:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: previous example in perldoc was
+ buggy; put one that really works
+
+2002-11-19 08:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: perldoc: explain basic usage of mouse.pm,
+ regarding problems that show up in early interaction between
+ harddrake::data and mouse
+
+2002-11-19 08:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: --testing handling was erronously
+ reverted
+
+2002-11-19 08:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: don't display two times some usb
+ mice
+
+2002-11-19 08:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/help.pm: one can now alter settings there
+
+2002-11-19 08:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/: hd_gtk.pm, interactive.pm: make perldoc
+ working
+
+2002-11-18 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, pkgs.pm, standalone.pm,
+ Xconfig/card.pm, Xconfig/monitor.pm, harddrake/sound.pm,
+ harddrake/ui.pm, network/adsl.pm, network/isdn.pm,
+ network/netconnect.pm, printer/detect.pm, printer/gimp.pm,
+ printer/main.pm, printer/office.pm, printer/printerdrake.pm: make
+ perl_checker happy
+
+2002-11-18 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/drakbug,
+ standalone/drakfont, standalone/drakperm, standalone/draksplash,
+ standalone/drakxtv, standalone/harddrake2,
+ standalone/net_monitor: drakbug, drakfont, drakperm, draksplash,
+ drakxtv, harddrake2, net_monitor : final update for common cli
+ options/help manager
+
+2002-11-18 15:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone.pm: typo fix
+
+2002-11-18 15:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9.1-0.2dmk
+
+2002-11-18 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/drakTermServ: switch
+ drakTermServ to new option scheme
+
+2002-11-18 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: any.pm, modparm.pm, standalone.pm,
+ modules/interactive.pm, modules/parameters.pm: rename modparm as
+ modules::parameters
+
+2002-11-18 14:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, harddrake/TODO,
+ standalone/diskdrake, standalone/drakbackup, standalone/logdrake,
+ standalone/scannerdrake: final switch of drakbackup, logdrake and
+ scannerdrake to new option scheme
+
+2002-11-18 10:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: switch to new help/options scheme
+
+2002-11-18 09:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone.pm, harddrake/ui.pm,
+ standalone/XFdrake, standalone/adduserdrake,
+ standalone/diskdrake, standalone/drakautoinst,
+ standalone/drakboot, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakgw, standalone/draksound,
+ standalone/drakxservices, standalone/drakxtv,
+ standalone/keyboarddrake, standalone/livedrake,
+ standalone/mousedrake, standalone/printerdrake: - standalone.pm :
+ o make it be 'use strict' aware o factorize options managment
+ in one place - standalone tools : o they all now support
+ -h|--help -v|--version, ... o they can add their own options
+ to %standalone::usages - harddrake : use std
+ --testing/$::testing rather than its own --test option
+
+2002-11-18 08:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, scanner.pm, printer/printerdrake.pm,
+ security/msec.pm, standalone/XFdrake, standalone/diskdrake,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakfont, standalone/drakgw, standalone/drakproxy,
+ standalone/logdrake, standalone/net_monitor,
+ standalone/printerdrake, standalone/scannerdrake: update
+ copyright years
+
+2002-11-18 08:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: - clean code sot that it runs
+ under "use strict" - simplify date command construction, this is
+ basic perl :-( - kill dead old commented code to handle i18n
+ instead of relying on common shared modules
+
+2002-11-18 08:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: simplify code though
+ my_gtk::gtkcolor
+
+2002-11-18 08:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfloppy, logdrake: remove old dead
+ commented i18n code that kept being copied around
+
+2002-11-17 20:29 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fix
+
+2002-11-16 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, zh_CN.po: updated Portuguese and
+ Chinese files
+
+2002-11-15 16:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: - more cleanups - don't
+ display messages if we're not going to remove/install some
+ packages
+
+2002-11-15 16:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: cleanups
+
+2002-11-15 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: cleanups
+
+2002-11-15 14:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm:
+ printerdrake::install_spooler() : fix heavy duplication of code
+ by using %spoolers data structure (function shrunked by 66%)
+
+2002-11-15 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: perl_checker fix
+
+2002-11-15 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, c.pm, ftp.pm, interactive.pm,
+ run_program.pm: s/wantarray/wantarray()/
+
+2002-11-15 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: data.pm, printerdrake.pm: consolidate some
+ stuff into printer::data::spoolers{XXX}{alternatives} so that all
+ alternatives get centralized in one data structure
+
+2002-11-15 13:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: cleanups
+
+2002-11-15 12:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: s/usbvideo/usbvision/
+
+2002-11-15 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: - use run_program rather than raw
+ system - kill useless show_msec_help() - kill commented remanant
+ code of help buttons - add tooltip with default values on combos
+ & entries - log about security administrator changes only when we
+ do some - factorize some code into new_editable_combo() and
+ set_default_tip()
+
+2002-11-15 10:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools,
+ drakxtools.spec, harddrake/sound.pm: - add missing printer
+ directory - bump version to 9.1 like most of our packages
+
+2002-11-15 09:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: typo fix
+
+2002-11-15 00:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ftp.pm, partition_table.pm, pkgs.pm,
+ partition_table/gpt.pm, partition_table/mac.pm,
+ partition_table/raw.pm: make perl_checker happy
+
+2002-11-14 18:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm, commands.pm,
+ crypto.pm, detect_devices.pm, devices.pm, fs.pm, ftp.pm,
+ install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, my_gtk.pm, pkgs.pm, run_program.pm,
+ scanner.pm, steps.pm, swap.pm, ugtk.pm, Xconfig/xfreeX.pm,
+ diskdrake/hd_gtk.pm, harddrake/data.pm, harddrake/ui.pm,
+ interactive/gtk.pm, interactive/newt.pm, interactive/stdio.pm,
+ network/network.pm, network/smb.pm, network/tools.pm,
+ partition_table/dos.pm, partition_table/mac.pm, printer/cups.pm,
+ printer/detect.pm, printer/gimp.pm, printer/main.pm,
+ printer/office.pm, printer/printerdrake.pm,
+ resize_fat/dir_entry.pm, resize_fat/main.pm, unused/scsi.pm: -
+ add/remove spaces to make perl_checker happy - remove redundant
+ parentheses - add some parentheses for clarity
+
+2002-11-14 17:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: explain the detect() vs new()
+ delayed gui construction when embedded
+
+2002-11-14 17:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.12-1mdk
+
+2002-11-14 17:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: STATUS, data.pm, gimp.pm, main.pm,
+ office.pm: - printer::data : export all data structures -
+ cleanups - all code is now runnable in strict mode
+
+2002-11-14 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: - kill unused myexit() -
+ perl_checker fixes
+
+2002-11-14 17:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: - perl_checker fixes - clean code
+ - simplify config_function()
+
+2002-11-14 16:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: display port for network printers
+ too
+
+2002-11-14 12:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ro.po: updated Romanian file
+
+2002-11-14 12:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakfont: Make drakfont use ttmkfdir
+ again, as it recognizes more encodings, use of parameter "-u" of
+ ttmkfdir to always output unicode entries, call xftcache to
+ create/update the Xftcache files (used by Xft), rewrite fonts.dir
+ (with ttmkfdir) when removing a ttf file so it no longer appears
+ on the font list, and execute "xset fp rehash" after
+ adding/removing fonts, so the font list used by X server is
+ synchronized.
+
+2002-11-14 12:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: resync with bttv-0.7.100 and
+ saa7134-0.2.2snapshot
+
+2002-11-13 17:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: simplify install_spooler()
+ but there's still lot of duplication there (some work for
+ tomorow)
+
+2002-11-13 17:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: main.pm, printerdrake.pm: - final switch
+ to $::prefix - simplify main::get_copiable_queues(),
+ main::setcupslink() - s/unless (X ne Y)/if (X eq Y)/ -
+ set_usermode() : ensure we add the line if it didn't exists
+
+2002-11-13 16:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: - set_usermode() : don't reinvent
+ the wheel, use substInFile - get_usermode() : ditto, use
+ getVarsFromSh
+
+2002-11-13 16:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/gimp.pm: don't reinvent the wheel, use
+ common
+
+2002-11-13 16:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/office.pm: fix files lookup
+
+2002-11-13 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, devices.pm, http.pm, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_interactive.pm,
+ interactive.pm, pkgs.pm, scanner.pm, steps.pm, ugtk.pm,
+ Xconfig/various.pm, harddrake/sound.pm, harddrake/v4l.pm,
+ network/adsl.pm, network/ethernet.pm, network/isdn.pm,
+ network/modem.pm, network/netconnect.pm, network/network.pm,
+ network/tools.pm, partition_table/mac.pm, printer/main.pm,
+ printer/office.pm, printer/printerdrake.pm, resize_fat/main.pm:
+ add/remove spaces to make perl_checker happy
+
+2002-11-13 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer/common.pm: fix syntax error
+
+2002-11-13 12:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, fsedit.pm, install_gtk.pm,
+ install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, keyboard.pm, lang.pm, mouse.pm,
+ my_gtk.pm, scanner.pm, ugtk.pm, harddrake/data.pm,
+ harddrake/sound.pm, harddrake/ui.pm, harddrake/v4l.pm,
+ interactive/http.pm, interactive/newt.pm, network/isdn.pm,
+ network/netconnect.pm, network/tools.pm, printer/data.pm,
+ printer/main.pm, printer/office.pm, printer/printerdrake.pm,
+ standalone/XFdrake: add/remove spaces to make perl_checker happy
+
+2002-11-13 12:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ru.po, sk.po: updated Slovak and Russian
+ files
+
+2002-11-13 11:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/: common.pm, office.pm: printer::common:
+ export function
+
+2002-11-13 09:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: display floppy driver type as well
+ as mouse type
+
+2002-11-13 09:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix vendor/model spliting when
+ there's neither space nor separator
+
+2002-11-13 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: pixel neither know how to update
+ cvs nor comitting its changes
+
+2002-11-12 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.12-1mdk
+
+2002-11-12 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: resync with printerdrake
+
+2002-11-12 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: don't offer to configure kernel
+ for usbvision (no option for now)
+
+2002-11-12 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/drakxtv: handle
+ devices managed by usbvision too
+
+2002-11-12 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: resync with latest
+ printerdrake
+
+2002-11-12 15:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps.pm: update for new printerdrake
+
+2002-11-12 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/printerdrake.pm: fix getSNMPModel() location
+
+2002-11-12 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer/main.pm: kill set_prefix()
+
+2002-11-12 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, bootlook.pm, commands.pm,
+ install2.pm, install_steps_auto_install.pm, lang.pm, modules.pm,
+ partition_table.pm, pkgs.pm, run_program.pm, services.pm,
+ ugtk.pm, diskdrake/interactive.pm, network/netconnect.pm,
+ partition_table/mac.pm, printer/detect.pm, printer/gimp.pm,
+ printer/main.pm, printer/office.pm, printer/printerdrake.pm,
+ security/main.pm, standalone/XFdrake: add/remove some spaces to
+ make perl_checker happy
+
+2002-11-12 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: fix _() -> N() conversion
+
+2002-11-12 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/removable_gtk.pm: add "use common" for N()
+
+2002-11-12 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/printerdrake, common.pm, printer.pm,
+ printerdrake.pm, services.pm, printer/common.pm, printer/cups.pm,
+ printer/data.pm, printer/default.pm, printer/detect.pm,
+ printer/gimp.pm, printer/main.pm, printer/office.pm,
+ printer/printerdrake.pm, printer/services.pm: printer related
+ modules cleaning :
+
+ - create the printer/ hierarchy
+
+ - split services related stuff into services.pm &
+ printer::services,
+
+ - move things that've nothing to do with printers into common.pm
+ (alternatives, permissions, ...)
+
+ - move eveything related to cups, gimp-print, detection,
+ {star,open}office to the corresponding splited printer:: module
+
+ - big consolidation of printer::office (it was obvious there were
+ tons of duplication between staroffice and openoffice
+ managment)
+
+ - move other stuff into printer::main, printer::common,
+
+ status : print.pm has been heavily splited (now one can begin to
+ understand the little bits). printerdrake still needs to be
+ splited/cleaned and eventually removed since printer/printerdrake
+ modules separation is not understandable by other people
+
+ till, in printer::gimp, $lprcommand is neither declared nor
+ setted nowhere. idem in mdk9.0 ...
+
+2002-11-12 11:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: exclude more usb mice from
+ unknown devices
+
+2002-11-12 11:04 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/: network.c, stage1.h: Cleaning old stuff
+
+2002-11-12 05:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-11-12 00:38 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2002-11-11 23:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, common.pm, detect_devices.pm, fs.pm,
+ http.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, my_gtk.pm, pkgs.pm, printer.pm,
+ printerdrake.pm, Xconfig/card.pm, diskdrake/dav.pm,
+ harddrake/data.pm, harddrake/ui.pm, interactive/newt.pm,
+ interactive/stdio.pm, network/adsl.pm, network/isdn.pm,
+ network/netconnect.pm, network/tools.pm, security/main.pm,
+ security/msec.pm: - replace ... =~ 'foo' with ... =~ /foo/ -
+ remove unneeded parentheses for things like ... if (...)
+
+2002-11-11 20:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootlook.pm, commands.pm,
+ detect_devices.pm, devices.pm, ftp.pm, install2.pm,
+ install_any.pm, install_gtk.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, keyboard.pm, lang.pm, modules.pm,
+ mouse.pm, my_gtk.pm, partition_table.pm, printer.pm,
+ printerdrake.pm, scanner.pm, services.pm, standalone.pm,
+ steps.pm, ugtk.pm, Xconfig/card.pm, Xconfig/monitor.pm,
+ Xconfig/test.pm, harddrake/data.pm, harddrake/sound.pm,
+ harddrake/ui.pm, harddrake/v4l.pm, interactive/gtk.pm,
+ network/adsl.pm, network/drakfirewall.pm, network/ethernet.pm,
+ network/isdn.pm, network/isdn_consts.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, network/shorewall.pm,
+ network/tools.pm, partition_table/bsd.pm,
+ partition_table/lvm_PV.pm, resize_fat/any.pm,
+ resize_fat/directory.pm, resize_fat/main.pm, security/main.pm,
+ security/msec.pm, unused/scsi.pm: add or remove spaces where need
+ to please perl_checker
+
+2002-11-11 17:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ru.po, vi.po: updated Russian and
+ Vietnamese files
+
+2002-11-11 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm,
+ partition_table/sun.pm, resize_fat/fat.pm, security/msec.pm: -
+ use "foreach" instead of "for" in list context - use "for"
+ instead of "foreach" when used a la C
+
+2002-11-11 14:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, detect_devices.pm, pkgs.pm,
+ printer.pm, printerdrake.pm, scanner.pm, partition_table/mac.pm:
+ - do not use "foreach $var (...) {...}" use "foreach my $var
+ (...) {...}" instead (only pb are functions called in {...}
+ that could use $var, none found except in commands.pm) - various
+ small syntax enhancements to please perl_checker
+
+2002-11-11 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, raid.pm, Xconfig/xfreeX.pm,
+ interactive/stdio.pm, network/ethernet.pm,
+ partition_table/raw.pm, resize_fat/fat.pm, security/msec.pm,
+ standalone/draksplash: various small syntax enhancements to
+ please perl_checker
+
+2002-11-11 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: don't use <*> for globbing,
+ use all or glob_
+
+2002-11-11 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/logdrake: replace q@...@ with q(...) or
+ here_doc
+
+2002-11-11 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/adsl.pm: replace qq{...} with qq(...)
+
+2002-11-11 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: replace
+ availableMemory with availableMemory()
+
+2002-11-10 23:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakbug,
+ standalone/drakfloppy, standalone/drakperm,
+ standalone/draksplash, standalone/harddrake2,
+ standalone/localedrake, standalone/logdrake,
+ standalone/printerdrake: ensure "common" is imported to have N()
+
+2002-11-10 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/http.pm: don't return a typeglob ref,
+ return the typeglob (reference to typeglobs are soft references
+ which doesn't increment the ref count)
+
+2002-11-10 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: don't return a typeglob ref,
+ return the typeglob (reference to typeglobs are soft references
+ which doesn't increment the ref count) (thanks to Gerard Patel
+ for the precise bug report)
+
+2002-11-10 12:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/minilibc.c: Fix implementation of signal() for x86-64,
+ adjust for new kernel-headers
+
+2002-11-09 21:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: - do not use q{...} to please
+ perl_checker - use <<'EOF' instead - at the same time, fix the
+ "\n" at the beginning of the generated script
+
+2002-11-09 21:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/harddrake/data.pm: make perl_checker happy
+
+2002-11-09 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/proxy.pm: fix typo
+
+2002-11-08 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer.pm: fix my typos
+
+2002-11-08 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: normalize
+
+2002-11-07 17:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po:
+ updated pot file
+
+2002-11-07 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.11-1mdk
+
+2002-11-07 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, harddrake/ui.pm: - getCPUs() :
+ fix cpu fields parsing - harddrake::detect : o describe most
+ cpu fields o print value of skipped fields
+
+2002-11-07 17:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added definition of default font for Thai
+
+2002-11-07 16:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, ta.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-11-07 16:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Added dependences for greek font and
+ urw-fonts for cyrillic
+
+2002-11-07 16:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - describe cpu frequency - only
+ display help topics related to currently displayed fields in
+ right framea - if no device selected, display a message
+ explaining the help dialog - simplify the unknow driver case for
+ color choice - only display fields we described
+
+2002-11-07 16:19 Erwan Velu <erwan at mandriva.com>
+
+ * kernel/gen_modules_conf.pl.pl: adding pixel script for generating
+ gen_modules_conf.pl script in rescue
+
+2002-11-07 16:17 Erwan Velu <erwan at mandriva.com>
+
+ * make_boot_img, kernel/Makefile, mdk-stage1/network.c,
+ mdk-stage1/stage1.h, mdk-stage1/url.c: SCSI Support is now
+ activated
+
+2002-11-07 16:16 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/Makefile: Adding missing link for test in tree/usr/bin
+
+2002-11-07 16:10 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/: list, list.i386, tree/ka/gen_modules_conf.pl,
+ tree/ka/install.sh, tree/ka/make_initrd,
+ tree/ka/setup_network.sh: SCSI support now activated
+
+2002-11-07 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, harddrake/ui.pm: perl checker
+ fixes
+
+2002-11-07 15:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - add help for some cpu items -
+ only display choosen items - remove a dead statement
+
+2002-11-07 15:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: - harddrake : don't display modem
+ when there're none - getModem() : o simplify o
+ remove unused variables - getSerialModem() : indent
+
+2002-11-06 23:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, commands.pm, detect_devices.pm,
+ install_any.pm, install_steps_gtk.pm, log.pm, partition_table.pm,
+ pkgs.pm, printer.pm, raid.pm, network/network.pm,
+ network/tools.pm: - have "local *FILEHANDLE" before each "open
+ FILEHANDLE, ..." - use some "cat_" and "output" where possible
+
+2002-11-06 23:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: (write_resolv_conf): much
+ cleanup (originally it was meant to introduce cat_ and output,
+ but it ended up with a complete rewrite :)
+
+2002-11-06 22:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (cp): use cp_af
+
+2002-11-06 22:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: cleanup get_of_dev (aka ofpath)
+
+2002-11-06 20:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: when needVideoRam, don't take the
+ raw value VideoRam_probed, better take a known value <=
+ VideoRam_probed
+
+2002-11-06 20:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, scanner.pm, ugtk.pm,
+ harddrake/data.pm, harddrake/sound.pm, network/nfs.pm,
+ standalone/diskdrake, standalone/service_harddrake: make
+ perl_checker happy
+
+2002-11-06 19:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: fix typo
+
+2002-11-06 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm,
+ scanner.pm, standalone/scannerdrake: make perl_checker happy
+
+2002-11-06 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: replace "for my ..."
+ with "foreach my ..."
+
+2002-11-06 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, detect_devices.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm,
+ partition_table.pm, printerdrake.pm, diskdrake/interactive.pm,
+ harddrake/sound.pm, network/isdn.pm, network/netconnect.pm,
+ network/network.pm: replace complex "unless"s with "if"s
+
+2002-11-06 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, printer.pm, printerdrake.pm,
+ partition_table/raw.pm: remove unneeded parentheses on the right
+ side of infix if/foreach/unless
+
+2002-11-06 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, commands.pm, detect_devices.pm,
+ install_steps.pm, pkgs.pm, printer.pm, printerdrake.pm, ugtk.pm,
+ Xconfig/test.pm, Xconfig/xfree4.pm: please perl_checker: -
+ local'ize $_ before doing while (<...>) - use "foreach" instead
+ of "for" - remove unneeded parentheses on the right side of infix
+ if/foreach/unless
+
+2002-11-06 17:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.10-mdk
+
+2002-11-06 17:25 Fançois Pons
+
+ * rescue/tree/etc/oem-all: add extra partition support as
+ primary/logical with configurable size and fs. allow
+ configurable min_size, def_size, trigger_size, inst_size,
+ swap_size.
+
+2002-11-06 15:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix for modules.pm not exporting
+ category2modules_and_description
+
+2002-11-06 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm, common.pm,
+ crypto.pm, fs.pm, fsedit.pm, help.pm, install2.pm,
+ install_any.pm, install_gtk.pm, install_interactive.pm,
+ install_steps.pm, install_steps_auto_install.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ install_steps_newt.pm, install_steps_stdio.pm, interactive.pm,
+ keyboard.pm, loopback.pm, lvm.pm, modparm.pm, modules.pm,
+ mouse.pm, my_gtk.pm, partition_table.pm, pkgs.pm, printer.pm,
+ printerdrake.pm, proxy.pm, raid.pm, services.pm, standalone.pm,
+ steps.pm, ugtk.pm, Xconfig/card.pm, Xconfig/main.pm,
+ Xconfig/monitor.pm, Xconfig/resolution_and_depth.pm,
+ Xconfig/test.pm, Xconfig/various.pm, Xconfig/xfreeX.pm,
+ diskdrake/dav.pm, diskdrake/hd_gtk.pm, diskdrake/interactive.pm,
+ diskdrake/removable.pm, diskdrake/removable_gtk.pm,
+ diskdrake/smbnfs_gtk.pm, harddrake/data.pm, harddrake/sound.pm,
+ harddrake/ui.pm, harddrake/v4l.pm, interactive/http.pm,
+ interactive/newt.pm, interactive/stdio.pm,
+ modules/interactive.pm, network/adsl.pm, network/drakfirewall.pm,
+ network/ethernet.pm, network/isdn.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, network/shorewall.pm,
+ network/tools.pm, partition_table/raw.pm, security/main.pm,
+ share/advertising/01-thanks.pl,
+ share/advertising/02-community.pl,
+ share/advertising/03-internet.pl,
+ share/advertising/04-multimedia.pl,
+ share/advertising/05-games.pl, share/advertising/06-mcc.pl,
+ share/advertising/07-desktop.pl,
+ share/advertising/08-development.pl,
+ share/advertising/09-server.pl, share/advertising/10-mnf.pl,
+ share/advertising/11-mdkstore.pl,
+ share/advertising/12-mdkstore.pl,
+ share/advertising/13-mdkcampus.pl,
+ share/advertising/14-mdkexpert.pl,
+ share/advertising/15-mdkexpert-corporate.pl,
+ share/advertising/17-mdkclub.pl, share/po/DrakX.pot,
+ share/po/Makefile, share/po/b_dump_strings.pm,
+ share/po/fake_c.pl, standalone/XFdrake, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakboot, standalone/drakbug, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/drakperm, standalone/draksound, standalone/draksplash,
+ standalone/drakxtv, standalone/harddrake2,
+ standalone/keyboarddrake, standalone/livedrake,
+ standalone/localedrake, standalone/logdrake,
+ standalone/mousedrake, standalone/net_monitor,
+ standalone/printerdrake, standalone/scannerdrake,
+ standalone/service_harddrake: replace "_" with "N" and "__" with
+ "N_"
+
+ rationale:
+
+ - currently, we use _("xxx") as a shorthand for gettext("xxx").
+ It also used to call xgettext with --keyword=_
+
+ - alas, function &_ is global and not by package (notice esp.
+ that _ is not exported in common.pm)
+
+ - this lead to big ugly pb with packages defining their own &_,
+ overriding common.pm's &_
+
+ - a fix is to set @::textdomains to add a new domain (the default
+ being "libDrakX")
+
+ but relying on the global "_" is still dangerous!
+
+2002-11-06 00:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (xmouse2xId): ensure weird ids are ignored
+
+2002-11-06 00:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: - do not
+ handle "format"ing in interactive for combos - do it in
+ interactive::gtk instead (that way, "val" is back"format"ed in
+ callbacks as wanted) - die when editable combos are used with
+ non-strings (like arrays or hashes)
+
+2002-11-05 22:42 Stew Benedict <sbenedict at mandriva.com>
+
+ * mdk-stage1/init.c: PPC TIOCSCTTY changed to 0x540E
+
+2002-11-05 21:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: basic uml_install support (thanks to
+ Brian Murrell)
+
+2002-11-05 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (format_ext2): better error message when it
+ is called from format_ext3 (thanks to Brian Murrell)
+
+2002-11-05 20:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - isUBD can tell wether it is an
+ ubd partition - isSpecial is true for ubd partitions
+
+2002-11-05 20:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, diskdrake/interactive.pm: introduce a
+ new flag: getting_rid_of_readonly_allowed. It is set when the
+ partition table badly handled by diskdrake, but we are still
+ allowed to wipe the partition table and start with something new.
+
+2002-11-05 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add /dev/ubd/0, /dev/ubd/1... support
+ (thanks to Brian Murrell)
+
+2002-11-05 19:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/detect_devices.pm: Detect SMP more easily if we have
+ APIC stuff capable
+
+2002-11-05 18:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: Revert last change
+
+2002-11-05 17:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img, tools/ppc/mkINSTALLCD: Update PPC boot CD
+ creation.
+
+2002-11-05 16:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: Add generic cpu detection on x86-64 and
+ IA-64, based on sysconf(_SC_NPROCESSORS_ONLN)
+
+2002-11-05 16:49 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/: gen_modules_conf.pl, install.sh, make_initrd,
+ setup_network.sh: added some files
+
+2002-11-05 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: fix the use of a non-bounded regexp to
+ check services (fix "nfs" being marked on whereas it is "nfslock"
+ which is on)
+
+2002-11-05 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Newt.xs, interactive/newt.pm: - fix dialog
+ boxes using a scrollbar - cleanup
+
+2002-11-05 14:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: newt rebuild
+
+2002-11-05 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install2.pm, ugtk.pm,
+ interactive/gtk.pm, interactive/http.pm, interactive/newt.pm,
+ interactive/stdio.pm, raid.pm: use each_index instead of
+ map_index when the return value is not used
+
+2002-11-05 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: use find_index instead of map_index
+
+2002-11-05 12:16 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/ka/: hostnames, install.sh, ka-d-client,
+ setup_network.sh, tftpserver: added ka tools in rescue
+
+2002-11-05 12:15 Erwan Velu <erwan at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: modified rc.sysinit for ka
+
+2002-11-04 23:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, Xconfig/parse.pm, Xconfig/xfreeX.pm,
+ standalone/keyboarddrake: add XkbCompat "group_led" for all
+ keyboards where a group layout switching is used
+
+2002-11-04 19:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: have an empty configuration when a
+ config file is buggy
+
+2002-11-04 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer.pm: typo fixes
+
+2002-11-04 17:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.10-2mdk
+
+2002-11-04 11:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2002-11-01 11:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt_BR.po, ru.po: updated Russian and
+ Portuguese files
+
+2002-10-31 16:58 Erwan Velu <erwan at mandriva.com>
+
+ * mdk-stage1/: network.c, stage1.c, tools.c, tools.h, url.c, url.h:
+ Including ka-deploy for stage 2
+
+2002-10-30 18:22 Erwan Velu <erwan at mandriva.com>
+
+ * Makefile, make_boot_img, kernel/modules.pl, kernel/update_kernel,
+ mdk-stage1/network.c, mdk-stage1/network.h, mdk-stage1/stage1.c,
+ mdk-stage1/stage1.h: Applying patch from 8.2, ka.img is working
+ fine in old mode
+
+2002-10-30 12:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-10-29 22:23 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/bootloader.pm, rescue/list.ppc: Reflect changes in
+ yaboot package.
+
+2002-10-28 21:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ro.po: Updated Romanian and Vietnamese
+ files
+
+2002-10-28 19:39 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2002-10-28 19:32 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-10-28 18:56 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: few reworks for winmodem
+ detection
+
+2002-10-28 18:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: add sub winmodemConfigure
+
+2002-10-28 18:53 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/detect_devices.pm: s#$_->{driver} eq
+ 'Bad:www.linmodems.org'#$_->{driver} =~ /www.linmodems.org/# to
+ fit with ldetect
+
+2002-10-28 17:13 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: typo in comments: Josep L.
+ Guallar-Esteve <jlguallar@computer.org>
+
+2002-10-28 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (preConfigureTimezone): don't set
+ UTC in beginner mode if there is no windows
+
+2002-10-28 13:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: add new drivers
+
+2002-10-28 13:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new drivers that appears in alsa cvs
+
+2002-10-25 11:19 Fançois Pons
+
+ * rescue/tree/etc/oem-all: reduced version of oem script which
+ allow installing in oem mode but without restricting language and
+ without installing any packages. all package are copied to disk,
+ ie this is an automated hd install builder.
+
+2002-10-25 08:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: vi.po, zh_CN.po: updated Chinese and
+ Vietnamese files
+
+2002-10-24 11:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: Updated pot file
+
+2002-10-23 13:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk.pm, printer.pm, printerdrake.pm: perl_checker
+ fixes
+
+2002-10-23 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/adsl.pm: perl_checker fixes
+
+2002-10-23 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix pixel code
+
+2002-10-23 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: do a perl_checker pass after
+ pixel one since he only do half the work
+
+2002-10-23 13:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: nono changes for stupid
+ perl_checker whose maintainer don't want to fix deficienties
+
+2002-10-23 13:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix "poulpy sux"
+
+2002-10-23 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_newt.pm, harddrake/sound.pm,
+ network/netconnect.pm: make perl_checker happy: replace PKG::f
+ with PKG::f()
+
+2002-10-23 12:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: data.pm, sound.pm, ui.pm, v4l.pm:
+ reindent for lord pix
+
+2002-10-21 17:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add nvaudio driver for lord fredl
+
+2002-10-18 17:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: remove useless 'pop'
+
+2002-10-18 15:02 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: detect_devices.pm, network/netconnect.pm: change
+ dumb return values s/@pci_modems, $serial_modem/$serial_modem,
+ @pci_modems/ (thanks to pixel)
+
+2002-10-17 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm,
+ install_steps_interactive.pm, pkgs.pm, Xconfig/monitor.pm,
+ Xconfig/resolution_and_depth.pm, interactive/gtk.pm,
+ interactive/newt.pm, network/modem.pm: make new perl_checker
+ happy: replacing PKG::f by PKG::f()
+
+2002-10-17 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: "=head" doc must end with
+ "=cut"
+
+2002-10-17 19:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: titi almost sux (he helped me
+ that's why I can't say titi sux :p)
+
+2002-10-17 17:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer.pm: consolidate more stuff into %spoolers
+
+2002-10-17 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printerdrake.pm: setup_common: consolidate regexp
+
+2002-10-17 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer.pm: start to consolidate %spoolers as a data
+ structure
+
+2002-10-17 16:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm, harddrake/data.pm: -
+ printerdrake::auto_detect(local, net, smb): o split into
+ local_detect, net_detect, net_smb_detect o detect: return all
+ printers - printer: consolidate all *help_output into help_output
+
+2002-10-17 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/netconnect.pm: document
+ network::netconnect::detect()
+
+2002-10-17 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: add some comments to getCPUs
+
+2002-10-16 18:57 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: fix dams suckiness breaking install2
+ --test
+
+2002-10-16 18:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/: patch-IMPS2.pl, patch-da.pl: - fix for bad
+ da .mo charset - ugly hack to allow IMPS2 switch to work
+
+2002-10-16 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: initIMPS2: use /dev/mouse instead of
+ /dev/cdrom (!)
+
+2002-10-16 17:25 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - winmodem detection fix
+
+2002-10-16 17:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't print empty help for fields
+ without any help
+
+2002-10-16 16:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - alphabetically sort help items -
+ add help for some cpu fields
+
+2002-10-16 16:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: display cpu name (eg "Pentium")
+ too in harddrake gui
+
+2002-10-16 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: display "$vendor cpu number $id"
+ for cpus in harddrake gui
+
+2002-10-16 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: getCPUs() : fix multiples cpu
+ detection
+
+2002-10-16 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: fix Gtk::CTree:insert_node
+ inversing devices order
+
+2002-10-16 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: miaouh
+
+2002-10-16 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: use code factored in
+ detect_devices for modem detection
+
+2002-10-16 14:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.10-1mdk
+
+2002-10-16 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakfont: bit me!
+
+2002-10-16 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, harddrake/TODO,
+ harddrake/data.pm, harddrake/ui.pm, harddrake/v4l.pm: -add cpus
+ detection
+
+ - update todo list
+
+ - perl_checker fix
+
+2002-10-16 07:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: buildrequires: libext2fs-devel
+
+2002-10-15 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: add Pioneer to vendors list
+
+2002-10-15 09:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: display again unknown category
+ (spoted by florent beranger)
+
+2002-10-14 20:56 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_any.pm, diskdrake/smbnfs_gtk.pm: Hide
+ password to browse W2k servers. (Buchan Milne). Domain name to
+ all caps in smb.conf. (Buchan Milne).
+
+2002-10-14 20:34 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Finish thin client setup
+ option.
+
+2002-10-14 11:44 Fançois Pons
+
+ * rescue/tree/etc/oem: remove initrd images before umounting and
+ exiting.
+
+2002-10-14 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: - fix typos
+
+ - when something is eating io bandwith, drakbug is very slow to
+ scroll the menu, since on each item selection, it does rpm db
+ access. solution :
+
+ o cache rpm result in %packages
+
+ o only call rpm & which if nothing is cached
+
+ - if there's the selected package isn't installed, just print
+ "package not installed" (and translate that)
+
+2002-10-14 10:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2002-10-12 03:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Read/Write thin client
+ configuration. Add draktermserv config to enable/disable thin
+ clients. Update documentation.
+
+2002-10-11 18:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: fix speedtouch detection
+
+2002-10-11 16:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, ca.po, pt.po: updated Catalan
+ and Portuguese files
+
+2002-10-11 03:39 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Dynamic IP pool for client
+ machines. Don't require image for PCI clients. Perl_checker
+ fixes.
+
+2002-10-11 01:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Correct typo in create boot
+ ISO code Add note in help about optional net boot image entry for
+ PCI cards
+
+2002-10-10 17:33 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: notify if speedtouch is detected or
+ not
+
+2002-10-10 17:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: detect_devices.pm, network/modem.pm: - move serial
+ modem detection to detect_devices.pm - add speedtouch USB
+ detection - add winmodem detection
+
+2002-10-10 17:23 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: add a warning window for
+ winmodems
+
+2002-10-09 15:54 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_gtk.pm: Somehow, "recent" DrakX changes
+ mutated driver into Driver and card->type into card->BoardName
+
+2002-10-09 15:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: Yeah, stuck with XFree86 4.X
+ server on x86-64 too.
+
+2002-10-09 15:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: Supported journalised FS on
+ x86-64 are ReiserFS and ext3fs for now. Though, I haven't tested
+ reiserfs and don't expect it to work before next kernel update.
+
+2002-10-09 15:51 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: Default to XF4 on x86-64 too
+
+2002-10-09 15:50 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_any.pm: Let's try a real bash prior to
+ defaulting to perl'ish /bin/sh?
+
+2002-10-09 15:48 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/proxy.pm: wgetrc is in /etc not /usr/lib
+
+2002-10-09 15:47 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fs.pm: SYS_umount does not exist on modern kernels
+ and architectures like x86-64 :)
+
+2002-10-09 15:35 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: I surely don't want nor expect grub
+ and loadlin to work on x86-64.
+
+2002-10-09 15:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: any.pm, printerdrake.pm: lib64 fixes
+
+2002-10-09 15:32 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/list.x86_64: Update list for perl mods and
+ XF86 4.2.1 support
+
+2002-10-09 15:31 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: - Add x86-64 support with all.img for
+ now as other boot images are way too big at the moment - Use
+ isolinux on x86-64 too and stop deliberate call to
+ boot_img_i386() - Fix Makefile when BOOT_IMG only contains
+ all.img - "Macroize" references to ramdis_size - Add symlink for
+ /lib64 on lib64 architectures since that's not already in
+ stage1-data/stage1.tar.bz2
+
+2002-10-09 15:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/log.c: ISO C standard as to say about va_list on 7.15
+ [#3]
+
+ If access to the varying arguments is desired, the
+ called
+ function shall declare an object (referred to as ap in
+ this
+ subclause) having type va_list. The object ap may be
+ passed
+ as an argument to another function; if that function
+ invokes
+ the va_arg macro with parameter ap, the value of ap in
+ the
+ calling function is indeterminate and shall be passed to
+ the
+ va_end macro prior to any further reference to ap.199)
+
+ Which interprets to do reuse a va_list that was already
+ processed. Instead, use a copy. This fixes crashes on x86-64 and
+ debugging feasible, since logging is now available. ;-)
+
+2002-10-09 15:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/rescue-gui.c: lib64 support
+
+2002-10-09 15:22 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: minilibc.c, minilibc.h: Add support for x86-64 to
+ minilibc. But we don't really use it yet, as glibc requirements
+ for stage1 undoubtedly make images already bigger. So let have
+ glibc init there too. ;-)
+
+2002-10-09 15:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/init-libc-headers.h: <sys/ioctl.h> is needed
+
+2002-10-09 15:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/init.c: Add support for lib64 architectures (x86-64,
+ ppc64, etc.). Aka native libraries are in */lib64 there.
+
+2002-10-09 15:20 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/disk.c: Use standard memset() instead of BSD-ish
+ bzero().
+
+2002-10-09 15:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: Makefile, Makefile.common: Add x86-64, use glibc in
+ init and stage1 as dietlibc is not working enough and minilibc
+ for init doesn't seem to let umounting take place at the end of
+ installation.
+
+2002-10-09 15:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: frontend.h, stdio-frontend.c: Hint compiler about
+ unused arguments and don't make it yell in that case. As, we do
+ use -Werror along with -Wall stuff.
+
+2002-10-09 15:15 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/insmod-modutils/: Makefile, insmod.c,
+ include/config.h, include/elf_alpha.h, include/elf_arm.h,
+ include/elf_i386.h, include/elf_m68k.h, include/elf_mips.h,
+ include/elf_ppc.h, include/elf_s390.h, include/elf_sparc.h,
+ include/elf_sparc64.h, include/elf_x86_64.h, include/kallsyms.h,
+ include/kerneld.h, include/module.h, include/obj.h,
+ include/util.h, include/version.h, obj/Makefile, obj/obj_alpha.c,
+ obj/obj_arm.c, obj/obj_common.c, obj/obj_gpl_license.c,
+ obj/obj_hppa.c, obj/obj_hppa64.c, obj/obj_i386.c, obj/obj_ia64.c,
+ obj/obj_kallsyms.c, obj/obj_load.c, obj/obj_m68k.c,
+ obj/obj_mips.c, obj/obj_ppc.c, obj/obj_reloc.c, obj/obj_s390.c,
+ obj/obj_sparc.c, obj/obj_sparc64.c, obj/obj_x86_64.c,
+ util/alias.h, util/arch64.c, util/config.c, util/logger.c,
+ util/snap_shot.c, util/sys_cm.c, util/sys_dm.c, util/sys_gks.c,
+ util/sys_nim.c, util/sys_oim.c, util/sys_qm.c, util/xmalloc.c,
+ util/xrealloc.c, util/xstrcat.c, util/xstrdup.c, util/xsystem.c:
+ Update to modutils 2.4.19 with x86-64 support and other fixes
+
+2002-10-09 15:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't use ugtk directly
+
+2002-10-09 15:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/update_kernel: - Gracefully create all.kernels directory
+ if first time build - Temptative fix to determine version-release
+ from kernel versioning. Assume kernels have and will have X.Y.Z
+ versioning. - Always gunzip modules, otherwise mar -l dies if
+ archive doesn't contain anything. Which occured with modules
+ were not gunzip'ed first.
+
+2002-10-09 15:09 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/modules.pl: Yes, I want and need tg3 module on stage1.
+
+2002-10-09 15:08 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/list_modules.pm: Merge in alpha & sparc tests. Residual
+ from x86-64 experiment.
+
+2002-10-09 15:07 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/check_mar.pl: Remove x86-64 specificities but tlan stuff
+
+2002-10-04 11:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ro.po: updated Romanian file
+
+2002-10-02 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/patch/patch-nforce.pl: update from oem patch
+
+2002-10-02 16:24 Fançois Pons
+
+ * perl-install/patch/: patch-oem-9.0.pl,
+ rpmsrate.oem-9.0-openoffice, rpmsrate.oem-9.0-staroffice: patch
+ necessary for oem to work nicely and the two rpmsrate that allow
+ CD of 700MB to be used.
+
+2002-10-02 15:34 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: some changes
+
+2002-10-02 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: miaou
+
+2002-10-02 14:17 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: cooker
+
+2002-10-02 13:47 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: do not detect/configure pcmcia stuff when
+ "noauto" param
+
+2002-10-02 13:28 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, modules.pm: try to fix my fix for
+ blank
+
+2002-10-02 13:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: i810 crash when using XRender on vt switch
+ (see fredc for further information) (fixed in cvs & rh's xfree86)
+
+2002-10-02 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: kernel : snd-via686 is said to produce white
+ noise; add workaround
+
+2002-10-02 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: nforce audio bug
+
+2002-10-02 11:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/patch/patch-nforce.pl: fix nforce (from francois oem
+ patch)
+
+2002-10-02 11:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: drakconf bug has been workarounded
+
+2002-10-02 10:19 Guillaume Cottenceau
+
+ * perl-install/modules.pm: try to make the install work in "blank"
+ mode (aka fix pixel sucked when changed modules.pm code, not
+ handling blank mode)
+
+2002-10-01 14:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/9.0_errata.txt: add 3 bugs: - drakfont: stat64 syscall
+ blocks drakfont on ntfs partitions - XFree86: X can corrupt sound
+ when overusing pci bus (PciRetry fix it) - some people reports
+ stops on reboot on "illegal seek" (having /usr and / on the
+ same fs "fix" it)
+
+2002-10-01 14:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake-ui doesn't need the same
+ obsoletes/provides as harddrake, else we may require harddrake-ui
+ on update (thus XFree86 ...)
+
+2002-10-01 14:23 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed oem images management not
+ working at all!
+
+2002-10-01 12:21 Dam's
+
+ * perl-install/ugtk.pm: forking ugtk, sorry guys. reverted last
+ patch
+
+2002-10-01 11:54 Dam's
+
+ * perl-install/my_gtk.pm: mdk icon_path are added here
+
+2002-10-01 11:53 Dam's
+
+ * perl-install/ugtk.pm: cleaned, readded needed hack, removed mdk
+ specific functions, added libconf GUI, WARNING, create_dialog API
+ changed
+
+2002-09-30 23:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: drop "notail" when filesystem is not reiserfs
+
+2002-09-30 19:20 Till Kamppeter <till at mandriva.com>
+
+ * docs/9.0_errata.txt: "Best Grayscale" on HP DJ 6xx/Apollo.
+
+2002-09-30 19:04 Till Kamppeter <till at mandriva.com>
+
+ * docs/9.0_errata.txt: Several bugs found.
+
+2002-09-30 14:20 Fançois Pons
+
+ * perl-install/install_any.pm: added possible fix for noauto: flag
+ of hdlist not generating good list file.
+
+2002-09-30 14:10 Daouda Lo <daouda at mandriva.com>
+
+ * docs/9.0_errata.txt: - first draft for all
+ bugs/glitches/inconsistencies in 9.0. Developers are welcomed
+ to fill it, read it and fix.
+
+2002-09-30 13:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, ro.po: Updated Romanian and
+ Indonesian files
+
+2002-09-30 10:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-09-29 01:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, lv.po: updated Latvian file;
+ corrected Danish file
+
+2002-09-28 07:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: corrected encoding
+
+2002-09-27 19:11 Guillaume Cottenceau
+
+ * make_boot_img: initrd: fix blank.img; minor: use "member" instead
+ of many eq in another place
+
+2002-09-27 16:07 Guillaume Cottenceau
+
+ * docs/README: refine info on blank.img
+
+2002-09-26 18:47 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, network.c: try to not save the hostname
+ answered by the dhcp server
+
+2002-09-26 17:37 Guillaume Cottenceau
+
+ * perl-install/network/network.pm: workaround situation when
+ /etc/resolv.conf is an absolute link to /etc/ppp/resolv.conf or
+ whatever
+
+2002-09-26 00:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2002-09-25 18:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, tr.po: updated Turkish and Czech
+ files
+
+2002-09-25 15:08 Guillaume Cottenceau
+
+ * kernel/: list_modules.pm, modules.pl: fealnx
+
+2002-09-25 15:05 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: log install class
+ selection
+
+2002-09-25 15:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: handle nvaudio too
+
+2002-09-25 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: do not allow to create user "root" (thanks
+ to Eric Fernandez)
+
+2002-09-24 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix raidAutoStartRaidtab crushing
+ /etc/raidtab
+
+2002-09-24 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: patch/patch-raidtab.pl, raid.pm: also create a
+ raidtab if it doesn't exist (occurs when / has been formatted)
+
+2002-09-24 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/patch/patch-raidtab.pl: fix raidAutoStartRaidtab
+ crushing /etc/raidtab
+
+2002-09-24 17:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: remember to factorize this with
+ rpmdrake's wait messages in my_gtk
+
+2002-09-24 17:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: ignore_list is useless
+
+2002-09-24 17:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: remove "bogus periodic check 2"
+ from periodic checks page
+
+2002-09-24 17:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: let simplify
+
+2002-09-24 17:36 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: Fix configureNetwork to fit
+ with new any::load_category_prompt_for_more behavior
+
+2002-09-24 17:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/any.pm: change load_category__prompt_for_more dying
+ 'already displayed' in return
+
+2002-09-24 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: dams fix enable to get rid of the infamous
+ ugly gtk timeout
+
+2002-09-24 17:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: from dams: remove his ugly hack for mcc
+ which altered the scrolledwindow's "bordure" to hide it. this
+ used to be done through a gtk timer (hance the ugly flash on
+ first display of notebook pages)
+
+ now createScrolledWindow take a new optional argument that enable
+ to hide the border the right way
+
+ thanks dams
+
+2002-09-24 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: add a few comments
+
+2002-09-24 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.config, harddrake/ui.pm,
+ modules/interactive.pm: split harddrake part that configure a
+ module into modules::interactive
+
+2002-09-24 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, data.pm: move usb video devices to
+ webcam category
+
+2002-09-24 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: fix expansion of widgets (eg see draksound
+ help window behaviour on resizing)
+
+2002-09-24 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: split devices listing ("detection")
+ part into its own function (detect) for readability
+
+2002-09-24 12:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, zh_TW.po: updated Chinese and
+ Portuguese files
+
+2002-09-24 11:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update
+
+2002-09-23 19:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated Russian file
+
+2002-09-23 18:33 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Really fix daemon mode issue.
+
+2002-09-23 18:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Made Lithuanian numeric row keyboard
+ bi-mode
+
+2002-09-23 18:08 Guillaume Cottenceau
+
+ * rescue/devices.pl: add st devices
+
+2002-09-23 15:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix daemon mode bug.
+
+2002-09-23 14:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2002-09-23 13:22 Guillaume Cottenceau
+
+ * perl-install/install_interactive.pm: tellAboutProprietaryModules:
+ use formatAlaTeX
+
+2002-09-23 13:16 Guillaume Cottenceau
+
+ * make_boot_img: fix ponsux
+
+2002-09-23 12:42 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: move vim-enhanced in X 4
+
+2002-09-23 11:44 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: fix NULL Gateway IP checking
+
+2002-09-23 10:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, pt.po, zh_CN.po: updated
+ Indonesian, Portuguese and Chinese files
+
+2002-09-23 09:27 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix nforce version
+
+2002-09-22 22:23 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: No... Changes few days before
+ release...
+
+2002-09-22 19:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, hu.po, id.po, lv.po, ru.po, sk.po,
+ vi.po: updated Welsh, Hungarian, Indonesian, Latvian, Russian,
+ Slovak and Vietnamese
+
+2002-09-22 02:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix url
+
+2002-09-22 01:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add a small sentence
+ to the license in order to solve a negociation with Thomson about
+ the MP3 patents.
+
+2002-09-21 21:05 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Correct help notes on
+ \$\$IP=IP-ADDRESS\$\$.
+
+2002-09-21 14:23 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: final
+
+2002-09-20 23:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/network/shorewall.pm: The LPD/LPRng port is 515, not
+ 5015.
+
+2002-09-20 20:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2002-09-20 17:53 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add the 5015 port for some
+ printers in internal_ports
+
+2002-09-20 17:37 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: fix the disable function
+
+2002-09-20 17:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: no -w
+
+2002-09-20 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 53mdk
+
+2002-09-20 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: don't print useless warnings
+ in console
+
+2002-09-20 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't print logs in console
+
+2002-09-20 14:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 52mdk
+
+2002-09-20 13:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-09-20 11:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakgw: removed unneeded '\t' in
+ translatable text
+
+2002-09-20 09:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 51mdk
+
+2002-09-20 09:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: fixes: - don't create bogus 1
+ file (deush: s/2>1&/2>&1/) - don't print error messages when
+ which cannot find the program
+
+2002-09-20 08:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-09-20 01:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed bug of printerdrake installing
+ LPRng when it is started for the first time and CUPS is already
+ installed without local queues but with remote CUPS servers
+ broadcasting in their printer info.
+
+2002-09-19 23:55 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Catch non-existant config
+ files on copy.
+
+2002-09-19 19:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: prefer cups for lpddaemon
+
+2002-09-19 16:43 Fançois Pons
+
+ * perl-install/pkgs.pm: try to avoid infinite loop on error to
+ install package.
+
+2002-09-19 15:29 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: fix titisucks making
+ cards choice in bttv dialog unavailable
+
+2002-09-19 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: catch error in Done
+ (mainly "reboot needed"), so that fstab can be written even if
+ reboot needed (useful when removing partitions mounted by
+ default)
+
+2002-09-19 14:51 Guillaume Cottenceau
+
+ * perl-install/standalone.pm: when in install mode, log when a ****
+ does a "use standalone"
+
+2002-09-19 14:36 Guillaume Cottenceau
+
+ * perl-install/interactive.pm: require log will reliably fail, use
+ require 'log.pm' instead
+
+2002-09-19 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: - do not set type to ext2 when the
+ type is ntfs - set to ext3 instead of ext2
+
+2002-09-19 14:03 Guillaume Cottenceau
+
+ * perl-install/install2.pm: revert
+
+2002-09-19 13:29 Guillaume Cottenceau
+
+ * perl-install/network/tools.pm: fix spurious ";" before closing
+ block
+
+2002-09-19 13:27 Guillaume Cottenceau
+
+ * perl-install/install2.pm: try to workaround strange situations
+ when mkinitrd fail because loop is not loaded (we don't know who
+ calls mkinitrd), by loading the loop module right after
+ format-mount'ing the partitions
+
+2002-09-19 13:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/v4l.pm: don't use standalone while
+ installing
+
+2002-09-19 12:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove old WIZARDS package add
+ drakwizard
+
+2002-09-19 12:29 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove LPRng
+
+2002-09-19 12:00 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid proposing ntfs
+ partition to be formatted.
+
+2002-09-19 11:45 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - s/rpm/mdk/ in package version
+ matching
+
+2002-09-19 11:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/libsafe.pm: s/package
+ draksec::libsafe/package security::libsafe/
+
+ anyway nobody uses that one
+
+2002-09-18 16:51 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove *-mdk-cdcom
+
+2002-09-18 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - add ntfs in isOtherAvailableFS
+ - but ensure it is not in isMountableRW
+
+2002-09-18 14:08 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: remove forgotten debug hash
+ printings
+
+2002-09-18 12:11 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: more details for the dhcp server
+
+2002-09-18 11:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: - factorize @sec_levels and
+ %sec_levels for get_default() and get_seclevel_list() - use
+ them in get_default() - get_value() : don't assume a space
+ between "function_name" and "(parameters)"
+
+2002-09-18 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: fix wait_message doesn't display
+
+2002-09-18 10:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: remove brackets on function values
+ loading
+
+2002-09-18 09:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: run msec after setting changes
+
+2002-09-18 09:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: respect msec syntax
+
+2002-09-18 08:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/main.pm, security/msec.pm,
+ standalone/draksec: "kill quart of draksec code" patch aka make
+ it really working aka "happy fred" :
+
+ - security::msec : o consolidate get_function_value() and
+ get_value into get_value() o really apply changes, aka save
+ them : * config_check() : use substInFile and setVarsInSh
+ * config_function() : use substInFile and append_to_file *
+ kill stupid and bogus config_option() o don't overwrite
+ previous changes, aka reread them : * fix checks and
+ functions current value loading * fix checks and functions
+ default loading
+
+ - security::main : o simplify ui creation, make it more
+ readable o kill offuscating basic_secadmin_check(),
+ basic_secadmin_entry(), network_generate_page(),
+ system_generate_page() and checks_generate_page() o increase
+ default height because of stupid "add_with_viewport" in
+ ugtk::createScrolledWindow o consolidate network and system
+ functions managment, they're all the same for msec, splitting
+ is only a draksec "feature"; all go in %options_values
+
+ - draksec : o let standalone module configure standalone mode
+ o security::main already take care of initializing gtk o
+ security::main already take care of exiting o don't play with
+ embedded mode special variables
+
+ it overall looks better but big cleanups're still possible for
+ mdk9.1
+
+2002-09-17 22:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2002-09-17 19:02 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: small updates
+
+2002-09-17 17:59 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add warning message
+
+2002-09-17 17:58 Florin Grad <florin at mandriva.com>
+
+ * perl-install/standalone/drakgw: add the nameserver IP variable in
+ advanced mode
+
+2002-09-17 17:55 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/drakfirewall.pm: add a silly message
+
+2002-09-17 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: main.pm, msec.pm: - security::msec : o
+ config_check: use MDK::Common to set option rather than
+ overwriting config file o remove all stupid prefix that just
+ ofuscate code whereas it's always set to '', $::prefix
+ will be a lot better o s/shift @_/shift/ o kill
+ config_option() o simplify get_default() o get_secure_level()
+ : replace if cascade by an array o set_secure_level() : *
+ replace if cascade by an hash * default to runlevel 3 if
+ undefined o get_functions() : simplify by merging code paths -
+ security::main : o security::libsafe is unneeded o don't pass
+ useless prefix o begin to read default values
+
+2002-09-17 16:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: main.pm, msec.pm: - msec::config_check:
+ use MDK::Common to set option rather than overwriting config
+ file - remove all stupid prefix that just ofuscate code whereas
+ it's always set to '', $::prefix will be a lot better
+
+2002-09-17 15:46 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - sync option names with
+ server's name.
+
+2002-09-17 14:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2002-09-17 13:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove !CDCOM flag for
+ OpenOffice.org
+
+2002-09-17 13:19 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/04-multimedia.png: Use the right
+ image
+
+2002-09-17 13:12 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - fix typo
+
+2002-09-17 13:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - back to normal http connection
+ (instead of https) - relocated web wizard
+
+2002-09-17 12:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nl.po, sk.po: updated Dutch and Slovak
+ files
+
+2002-09-17 11:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix draksec typo
+
+2002-09-17 11:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: main.pm, msec.pm: - security::main: kill
+ duplicated 'use strict' - no ignore choice for periodic checks -
+ save functions in /etc/security/msec/level.local and not
+ security.conf - "from mseclib import" is useless - fix functions
+ saving (an object method invocation takes class name as
+ argument)
+
+2002-09-17 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 50mdk for lord fredl
+
+2002-09-17 09:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/msec.pm: remove libsafe option (not anymore
+ used by msec)
+
+2002-09-17 09:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/main.pm: add ignore option to msec items
+
+2002-09-17 09:41 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/fr.po: corrected typo
+
+2002-09-17 01:27 Warly <warly at mandriva.com>
+
+ * perl-install/drakxtools.spec: 49mdk for new printerdrake code
+ regarding webfetch that breaks during install.
+
+2002-09-17 01:15 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-09-17 01:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printerdrake.pm, share/po/de.po: Do not try to
+ install "webfetch" during installation.
+
+2002-09-16 19:37 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: add internal_ports variable
+
+2002-09-16 16:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, lv.po, pt.po, sv.po, zh_CN.po:
+ updated Indonesian, Latvian, Portuguese, Swedish and Chinese
+ files
+
+2002-09-16 14:52 jgotti
+
+ * perl-install/bootlook.pm: remove File::Copy dependencies and
+ change lilo message path
+
+2002-09-16 13:59 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 04-multimedia.pl, 06-mcc.pl,
+ 12-mdkstore.pl, 15-mdkexpert-corporate.pl, 17-mdkclub.pl: Adapt
+ text postion to fix french translations
+
+2002-09-16 13:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakfloppy: - translation for drakfloppy
+
+2002-09-16 13:38 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - enable translation for
+ logdrake
+
+2002-09-16 12:21 Guillaume Cottenceau
+
+ * perl-install/: drakxtools.spec, my_gtk.pm: fix die wizcancel in
+ non wizard mode
+
+2002-09-16 12:15 Guillaume Cottenceau
+
+ * rescue/tree/sbin/modprobe: remove modules files even when
+ modprobe fails
+
+2002-09-16 11:58 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fixed no translation for XFdrake
+ (pixel idea).
+
+2002-09-16 11:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - typo in options
+
+2002-09-16 11:42 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - use basename with drakbug for
+ standalone tools
+
+2002-09-15 21:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: do not allow encrypted filesystem for
+ /boot
+
+2002-09-15 19:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: In wizards: "Finish" --> "Assistent
+ beenden"
+
+2002-09-14 20:25 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: workaround ERROR: Can't call method
+ "child" on an undefined value at /usr/lib/libDrakX/my_gtk.pm line
+ 94
+
+2002-09-14 20:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: Printerdrake translations
+
+2002-09-14 19:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Made "LPRng" show up in the spooler menu
+ when LPRng is installed.
+
+2002-09-14 18:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: Printerdrake translations
+
+2002-09-14 18:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: Printerdrake translations
+
+2002-09-14 17:57 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: http: don't add a / between the hostname
+ and the url, apache doesn't understand //~fermigier the same way
+ as /~fermigier
+
+2002-09-14 17:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: Printerdrake translations.
+
+2002-09-14 16:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: Printerdrake translations
+
+2002-09-14 14:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-09-14 14:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: corrected typo
+
+2002-09-14 14:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakfloppy, logdrake: corrected gettext
+ domain (translations are now in libDrakX)
+
+2002-09-14 11:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, fr.po, lv.po, zh_CN.po: updated
+ Welsh, French, Latvian and Chinese files
+
+2002-09-13 23:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Do not insist on
+ "curl" to download PPDs from a CUPS server (for Star
+ Office/OpenOffice.org/GIMP), take the one from "curl" and "wget"
+ which is there. Install "webfetch" when none is there. Let
+ "cups-drivers" be installed when switching from normal to expert
+ mode.
+
+2002-09-13 22:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: removed obsolete old unused strings, to make
+ the po files lighter
+
+2002-09-13 21:01 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - fix old conf files name
+ (thx titi)
+
+2002-09-13 19:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Added timeouts to network scan with
+ "nmap" so that scan does not take too long when there are
+ machines running a firewall. To find running machines in the
+ network, do not only a broadcast ping but also an "nmblookup" to
+ also catch Windows machines which do not answer to ping.
+
+2002-09-13 19:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Entries in "auto-detected" field of
+ SMB printer setup mask should not be editable.
+
+2002-09-13 17:07 Florin Grad <florin at mandriva.com>
+
+ * perl-install/network/shorewall.pm: more services in
+ drakgw_protocols
+
+2002-09-13 16:58 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - meuh aka launch drakbug when
+ incident is risen
+
+2002-09-13 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: put back kernel-secure
+
+2002-09-13 16:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: don't write fstab on upgrade (to
+ workaround the fact that many entries are dropped)
+
+2002-09-13 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ update the help english part (so that no fuzzy occurs)
+
+2002-09-13 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot:
+ update help from xml
+
+2002-09-13 16:10 Fançois Pons
+
+ * perl-install/install_any.pm: allow live_update to have something
+ configured correctly for urpmi media.
+
+2002-09-13 16:03 Fançois Pons
+
+ * perl-install/live_install2: allow devfsd to be restarted after
+ update.
+
+2002-09-13 14:11 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: rc3
+
+2002-09-13 13:38 Fançois Pons
+
+ * perl-install/live_install2: added modprobe loop before killing
+ devfsd.
+
+2002-09-13 12:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, es.po, hu.po, lv.po, pt.po,
+ zh_TW.po: updated Danish, Spanish, Hungarian, Latvian, Portuguese
+ and Chinese files
+
+2002-09-13 12:15 Fançois Pons
+
+ * perl-install/live_install2: fixed for newer perl 5.8.0
+ (vendor_perl directory). fixed to kill devfsd before.
+
+2002-09-13 12:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * kernel/list_modules.pm: - added orinoco_cs in pcmcia
+
+2002-09-13 11:38 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - obsoletes drakfloppy
+
+2002-09-13 03:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/po/de.po: German translations for printerdrake
+ and some corrections.
+
+2002-09-13 00:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm: do something with
+ "Security Administrator (login or email)"
+
+2002-09-13 00:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - discard &shy; (ie \x{ad})
+ - handle <quote><literal>xxx</literal></quote> specially to not
+ have double double quotes
+
+2002-09-12 23:36 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-09-12 23:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated slovak file
+
+2002-09-12 22:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: When adding a local printer during
+ an expert install without network, printerdrake insists on
+ starting the network and does not enter the add printer
+ procedure.
+
+2002-09-12 20:06 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/: drakxtools.spec, network/tools.pm,
+ standalone/net_monitor: - patch net_monitor
+
+2002-09-12 18:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2002-09-12 18:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: mt.po, vi.po: updated Vietnamese and
+ Maltese files
+
+2002-09-12 17:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: Updated Hungarian file
+
+2002-09-12 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-12 16:57 Fançois Pons
+
+ * perl-install/install_steps.pm: added code after install of
+ package to fix broken alternatives.
+
+2002-09-12 16:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 45mdk
+
+2002-09-12 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: drakfloppy, logdrake: fix logdrake and
+ drakfloppy
+
+2002-09-12 15:47 Guillaume Cottenceau
+
+ * perl-install/network/shorewall.pm: run_program crazyness
+
+2002-09-12 15:32 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated polish translation
+
+2002-09-12 14:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated Russian file
+
+2002-09-12 14:52 Fançois Pons
+
+ * perl-install/install_any.pm: fixed very stupid typo and
+ inconsistency in allowNVIDIA_rpms.
+
+2002-09-12 14:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-09-12 14:29 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: meumeuh
+
+2002-09-12 14:24 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: meuh
+
+2002-09-12 13:38 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: meuuuuh meuh meuh ?
+
+2002-09-12 13:02 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: a fix from florin/pixel to make
+ it work
+
+2002-09-12 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: fix writing twice tcp instead
+ of tcp & udp
+
+2002-09-12 11:29 jgotti
+
+ * perl-install/bootlook.pm: resize previews pixmap to be nice when
+ embedded
+
+2002-09-12 11:27 jgotti
+
+ * perl-install/share/po/fr.po: modif bootlook.pm translation to
+ keep a good when embedded
+
+2002-09-12 11:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: main.pm, msec.pm: - draksec window title
+ is draksec, not "draksec - basic options" since it offer
+ advanced options too now - mark some strings to be translated
+ (mainly notebook pages titles)
+
+2002-09-12 05:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printerdrake.pm: Made the
+ association of model names obtained by auto-detection and of the
+ model names in the printer database much more reliable.
+
+2002-09-12 02:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated turkish file
+
+2002-09-12 01:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, es.po, hu.po, mt.po, vi.po:
+ updated po files
+
+2002-09-11 23:10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated po
+
+2002-09-11 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: use flag "kudzu" for
+ entries automatically handled by drakupdate_fstab
+
+2002-09-11 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: allow various textdomains for i18n
+
+2002-09-11 18:33 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: Don't break po
+
+2002-09-11 18:25 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: Update
+
+2002-09-11 18:20 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/09-server.pl: Update
+
+2002-09-11 18:05 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/drakxtools.spec: - update spec for 44mdk
+
+2002-09-11 17:49 Guillaume Cottenceau
+
+ * Makefile, make_boot_img: add a "cdrom-changedisk.img" special
+ bootdisk for CD #2, for people who can't boot the isolinux
+
+2002-09-11 17:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2002-09-11 17:35 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 07-desktop.pl, 10-mnf.pl,
+ 11-mdkstore.pl: Fix typos
+
+2002-09-11 17:03 Guillaume Cottenceau
+
+ * mdk-stage1/frontend-common.c: meuh
+
+2002-09-11 16:58 Guillaume Cottenceau
+
+ * mdk-stage1/frontend-common.c: probe for usb stuff in info and
+ error msg also
+
+2002-09-11 16:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updatd French file
+
+2002-09-11 16:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: - Made
+ printer::assure_device_is_available_for_cups() more reliable by
+ checking and retrying. - Do not start the network when it is not
+ configured.
+
+2002-09-11 15:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated Russian file
+
+2002-09-11 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-11 14:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-09-11 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update
+
+2002-09-11 13:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/draksplash: small text for translatators
+
+2002-09-11 12:55 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: -s/bugzilla.com/drakbug.mandrakesoft.com/
+
+2002-09-11 12:49 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: -
+ s/bugzilla.com/drakbug.mandrakesoft.com/
+
+2002-09-11 12:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/network/isdn.pm: corrected i18n usage
+
+2002-09-11 11:03 jgotti
+
+ * perl-install/standalone/draksplash: use do_pkgs for check and
+ install ImageMagick
+
+2002-09-11 11:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, standalone/draksound: - fix:
+ we displayed current driver as default one: display the right one
+ - show a wait message while switching driver
+
+2002-09-11 10:43 Fançois Pons
+
+ * perl-install/install_any.pm: fixed possible problem with NVIDIA
+ packages parsing.
+
+2002-09-11 10:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, share/po/af.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/bs.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fi.po,
+ share/po/fr.po, share/po/ga.po, share/po/gl.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po, share/po/lv.po,
+ share/po/mt.po, share/po/nl.po, share/po/no.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sp.po,
+ share/po/sr.po, share/po/sv.po, share/po/ta.po, share/po/th.po,
+ share/po/tr.po, share/po/uk.po, share/po/vi.po, share/po/wa.po,
+ share/po/zh_CN.po, share/po/zh_TW.po: s/was the firt sound
+ API/was the first sound API/
+
+2002-09-10 23:10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Strings one day before deadline????
+
+2002-09-10 18:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2002-09-10 18:48 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - definitive link and options
+
+2002-09-10 18:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, pt.po: updated French and
+ Portuguese files
+
+2002-09-10 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: do not prefer_xf3 for "NeoMagic
+ (laptop/notebook)" since: - long ago it was decided to distrust
+ driver "neomagic" together with Riva's, SiS, GeForce - in 09/2001
+ (XFree 4.1.0), it was decided to keep distrusting driver
+ "neomagic" - Cosmic Flo says driver "neomagic" works (on card
+ Neomagic Corporation|[MagicGraph 256AV])
+
+2002-09-10 16:29 jgotti
+
+ * perl-install/standalone/draksplash: change the preview rendering
+ method
+
+2002-09-10 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: next updates batch
+
+2002-09-10 15:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: description update
+
+2002-09-10 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-10 15:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: fix OSS definition
+
+2002-09-10 14:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2002-09-10 14:41 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: - remove variable from a translated
+ chain
+
+2002-09-10 14:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2002-09-10 13:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, ta.po, th.po, uk.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2002-09-10 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: set mount point for nt partitions by
+ default
+
+2002-09-10 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - have ntfs "ro" by default - "umask=0" is a
+ special option for ntfs
+
+2002-09-10 13:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: small i18n change
+
+2002-09-10 13:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, ta.po, th.po, uk.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2002-09-10 13:10 Fançois Pons
+
+ * perl-install/c/stuff.pm: removed old code no more used.
+
+2002-09-10 12:59 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Display issues in other
+ locales.
+
+2002-09-10 12:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/security/main.pm: improved i18n handling
+
+2002-09-10 12:35 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: tag version as 9.0
+
+2002-09-10 12:34 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed test of chooseCD
+ on nfs (always enabled).
+
+2002-09-10 12:13 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-09-10 12:13 Guillaume Cottenceau
+
+ * rescue/tree/etc/rc.sysinit: don't drvinst SERIAL_USB when noauto
+ (it needs a lspcidrake -v)
+
+2002-09-10 12:07 Guillaume Cottenceau
+
+ * rescue/drvinst: drvinst <param> is broken when we don't -v
+
+2002-09-10 11:59 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid removing all
+ packages during upgrade (safe guard).
+
+2002-09-10 11:59 Fançois Pons
+
+ * perl-install/pkgs.pm: consolidate unselectAllPackages.
+
+2002-09-10 11:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, pt.po, ru.po: updated Czech,
+ Russian and Portuguese files
+
+2002-09-10 11:17 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2002-09-10 11:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/security/: main.pm, msec.pm: inline seclevel_explain
+ (why using functions to return a text label ?)
+
+2002-09-10 10:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: move back draksec's files in
+ drakxtools
+
+2002-09-10 10:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.config, drakxtools.spec: move back
+ draksec to drakxtools
+
+2002-09-10 10:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: security/libsafe.pm, security/main.pm,
+ security/msec.pm, standalone/draksec: move back draksec's files
+ in drakxtools
+
+2002-09-10 10:09 Fançois Pons
+
+ * perl-install/mouse.pm: fixed pixel typo (strange, I was sure it
+ was titi but not ?).
+
+2002-09-10 02:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, sk.po: updated Basque and Slovak
+ files
+
+2002-09-09 23:49 Dam's
+
+ * perl-install/ugtk.pm: corrected typo (modification of constant if
+ ugtk.pm was a string)
+
+2002-09-09 23:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: have BusID's on MULTI_HEAD,
+ otherwise G450 & G550 go crazy
+
+2002-09-09 23:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: have the IMPS/2 warning "MOVE YOUR WHEEL"
+ for ExplorerPS/2 too
+
+2002-09-09 22:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: no.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, ta.po, th.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated po files
+
+2002-09-09 22:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, is.po, it.po,
+ lt.po, lv.po, mt.po: updated po files
+
+2002-09-09 20:31 Guillaume Cottenceau
+
+ * perl-install/share/po/fi.po: a fix from cooker
+
+2002-09-09 20:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: - show pcmcia ethernet cards in
+ list
+
+2002-09-09 20:19 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: - check DNS & Gateway IP
+
+2002-09-09 20:00 Fançois Pons
+
+ * perl-install/install_any.pm: fix urpmi installation.
+
+2002-09-09 19:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: tr.po, ja.po, nl.po, id.po, ko.po, eu.po:
+ updated po files
+
+2002-09-09 18:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, DrakX.pot: updated pot file
+
+2002-09-09 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: when "password" or "restricted" is set,
+ propose the entries to change them (thanks to Aleksander
+ Adamowski)
+
+2002-09-09 18:29 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: fr.po: Update
+
+2002-09-09 18:12 Fançois Pons
+
+ * perl-install/install_any.pm: fixed still present hdlist and
+ synthesis file for media not configured (because of not
+ selected).
+
+2002-09-09 18:08 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix typos and bad french
+ translations
+
+2002-09-09 17:56 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/modules.pm: - change "=~ /isdn/" in "eq
+ 'network/isdn'"
+
+2002-09-09 17:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix confirm script
+
+2002-09-09 17:50 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2002-09-09 17:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: add "sync" to nfs exports
+ default_options (so that exportfs doesn't warn a lot of stuff)
+
+2002-09-09 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-09-09 17:01 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 03-internet.pl, 14-mdkexpert.pl:
+ Fix typos
+
+2002-09-09 15:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: require perl-GTK-Gdkpixbuf for
+ bootlook
+
+2002-09-09 15:38 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: gfx specs is to have the text justified
+ on the left
+
+2002-09-09 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: force non-supermount,
+ supermount is too buggy
+
+2002-09-09 13:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix detection of mixed_kind_of_disks (eg:
+ hde with hda)
+
+2002-09-09 13:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: enforce unique ids
+
+2002-09-09 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: add drakbug report entry in help
+ menu
+
+2002-09-09 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, ugtk.pm, Xconfig/test.pm: - use
+ variable $::no_ugtk_init in ugtk.pm instead of using $::isInstall
+ - that way, the X test can be made to work both at install and
+ standalone
+
+2002-09-09 11:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: don't detect same
+ removed/added when upgrading from previous releases
+
+2002-09-09 11:44 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove harddrake
+
+2002-09-09 10:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, standalone/service_harddrake: -
+ harddrake: o don't pollute sbin namespace with one shot scripts
+ o add run wrapper script for harddrake service o disable ?dm
+ part o timeout configurator offer to 5 seconds
+
+2002-09-09 09:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootlook.pm, ugtk.pm, standalone/drakfloppy,
+ standalone/logdrake: - drakfloppy / logdrake: destroy_window and
+ create_dialog were gratuitously duplicated; move them in ugtk
+ - drakfloppy / logdrake / bootlook.pm: get_main_menu was
+ gratuitously duplicated; common code which was moved from
+ harddrake::ui to ugtk::create_factory_menu just do the job
+
+2002-09-08 20:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: proprietary.pm, various.pm: replace a few
+ more 4.2.0 with 4.2.1
+
+2002-09-08 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: warn "You don't have a swap
+ partition.\n\nContinue anyway?" in expert mode
+
+2002-09-08 14:31 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po,
+ pt_BR.po, pt.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po,
+ DrakX.pot: - s/occurance/occurence.
+
+2002-09-08 14:27 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: -
+ s/occurance/occurence in license.txt (thx qqun)
+
+2002-09-08 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: replace 4.2.0 with 4.2.1
+
+2002-09-08 01:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix log
+
+2002-09-07 14:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - cvs up before packaging (fix
+ messy drakboot conf).
+
+2002-09-07 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: don't install kernel-secure on
+ HIGH_SECURITY since kernel-secure is broken
+
+2002-09-07 13:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/draksplash: - use standalone for
+ explanations and center dialog
+
+2002-09-07 13:18 Dam's
+
+ * perl-install/standalone/drakbackup: don't display the banner id
+ in embedded mode
+
+2002-09-06 23:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, harddrake/data.pm,
+ harddrake/ui.pm, standalone/service_harddrake: - harddrake::data
+ : consolidate common code in custom_id() - do some detection in
+ dm stage - fix bad test - display better name
+
+2002-09-06 23:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: - fix typo
+
+2002-09-06 23:25 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/isdn.pm: - add new screen for ISND detected
+ device. Still have to get back in Expert mode to choose by hand.
+
+2002-09-06 23:23 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/modules.pm: - Fix isdn card detection
+
+2002-09-06 22:43 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: QA BugSummer90 fixes
+
+2002-09-06 20:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: killing debugging prints
+
+2002-09-06 20:19 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: QA BugSummer90 fixes
+
+2002-09-06 19:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-09-06 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 40mdk
+
+2002-09-06 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: data.pm, ui.pm: - don't list usb mouses
+ as unknown hw - fix mouse detection (mouse::detect() needed
+ modules::mergein_conf('/etc/modules.conf') first - don't skip
+ mouse in --test mode
+
+2002-09-06 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: - document --test - mark
+ usage as translatable
+
+2002-09-06 18:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-06 18:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - blacklist cs46xx and cs4281
+ drivers : we won't unload these drivers since they're know to
+ oopses the kernel but just warn the user - add rooted(), unload()
+ and load() wrapper to check wheter we're in drakx or in
+ standalone mode
+
+2002-09-06 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: during install, don't probe PS/2 mice when
+ a serial mouse is already found. (otherwise if a PS/2 keyboard
+ is present, a PS/2 is found even if absent, and configuring an
+ auxmouse PS/2 causes the PS/2 keyboard to freeze) (thanks to Nora
+ Etukudo)
+
+2002-09-06 17:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksound: if there's no sound card, add
+ a note about sndconfig
+
+2002-09-06 17:49 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/my_gtk.pm: - fix wizard title and pixmap overlap
+
+2002-09-06 17:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: - workaround alsaconf's aliases
+ - add an help button that describe ALSA and OSS - display current
+ driver, its type (OSS or ALSA), and the default driver for the
+ card
+
+2002-09-06 17:26 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add lisa in KDE in REMOTE_ACCESS
+
+2002-09-06 17:25 jgotti
+
+ * perl-install/bootlook.pm: comment old code concerning aurora
+
+2002-09-06 16:33 David Baudens <baudens at mandriva.com>
+
+ * perl-install/drakxtools.spec: Update
+
+2002-09-06 16:31 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/: categ.png, gmon.png, verti.png:
+ Re-add completly obsolote Aurora's images needed for drakboot
+ (really, but really stupid requires)
+
+2002-09-06 16:24 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/hori.png: Re-add old obsolete
+ Aurora image requires by drakboot (can someone explain why? It is
+ stupid)
+
+2002-09-06 15:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (read): cleanup duplicate labels (in
+ case file is corrupted) (get_label): compare labels using 15
+ first characters (to be compliant with lilo) (add_entry): fix
+ removing duplicate entries
+
+2002-09-06 15:19 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove contrib packages add !CDCOM
+ for OpenOffice.org move mod_php to 5
+
+2002-09-06 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (read): fix
+
+2002-09-06 15:04 Fançois Pons
+
+ * perl-install/install_any.pm: fixed to allow changing boot medium.
+
+2002-09-06 15:00 David Baudens <baudens at mandriva.com>
+
+ * perl-install/: standalone/icons/mdk_logo.png, drakxtools.spec:
+ Update
+
+2002-09-06 14:14 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/: categ.png, gmon.png, hori.png,
+ verti.png: Update icons & remove old Aurora stuff
+
+2002-09-06 14:12 David Baudens <baudens at mandriva.com>
+
+ * perl-install/: standalone/icons/ic-drakfont-48.png,
+ standalone/icons/ic82-CD-40.png,
+ standalone/icons/ic82-back-up-16.png,
+ standalone/icons/ic82-back-up-32.png,
+ standalone/icons/ic82-back-up-48.png,
+ standalone/icons/ic82-discdurwhat-40.png,
+ standalone/icons/ic82-dossier-32.png,
+ standalone/icons/ic82-moreoption-40.png,
+ standalone/icons/ic82-network-40.png,
+ standalone/icons/ic82-others-40.png,
+ standalone/icons/ic82-system-40.png,
+ standalone/icons/ic82-systemeplus-40.png,
+ standalone/icons/ic82-tape-40.png,
+ standalone/icons/ic82-users-40.png,
+ standalone/icons/ic82-when-40.png,
+ standalone/icons/ic82-where-40.png, drakxtools.spec: Update
+
+2002-09-06 13:38 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed excesive reduction of size.
+
+2002-09-06 13:31 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed stupid typo.
+
+2002-09-06 13:29 Fançois Pons
+
+ * perl-install/pkgs.pm: allow obsoleted packages to be taken into
+ account.
+
+2002-09-06 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, various.pm: ensure
+ Xconfig::various::various is called at install
+
+2002-09-06 12:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: use my_gtk for embedded mode.
+ code must be cleaned up through my_gtk usage though.
+
+2002-09-06 12:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: updated Polish file
+
+2002-09-06 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: handle delete_event in all
+ cases
+
+2002-09-06 11:45 Fançois Pons
+
+ * perl-install/pkgs.pm: allow cleaning ask_remove according to
+ removed package.
+
+2002-09-06 11:45 Fançois Pons
+
+ * perl-install/install_steps.pm: changed how pkgs::remove is
+ called.
+
+2002-09-06 11:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: use my_gtk for window
+ creation, thus: - window creation and embedding mode're handled
+ automatically - when one close drackbackup, my_gtk close it
+ properly and return to mcc
+
+2002-09-06 11:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-06 11:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: fix translated string
+
+2002-09-06 10:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: s/si vous être nouveau/si vous êtes
+ nouveau/ s/des actions additionnelle/des actions additionnelles/
+ s/sur le disk/sur le disque/ s/vous pouves atteindre les toutes
+ options/vous pouvez modifier toutes les options/ Ctrl - C (....
+ => manque ) s/Si vous installer/Si vous installez/ s/qui sera
+ utilisé/qui sera utilisée/ (partition) s/accessible en cas de/des
+ images « ramdisk » accessibles/ s/Cette installation prends/Cette
+ installation prend/ s/Assurez vous/Assurez-vous/
+
+2002-09-06 10:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix po
+
+2002-09-06 10:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 36mdk
+
+2002-09-06 09:56 Guillaume Cottenceau
+
+ * perl-install/: my_gtk.pm, ugtk.pm: add gtkset_visibility
+
+2002-09-06 09:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: export compose_pixbufs for mcc
+
+2002-09-06 09:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - ugtk::gtkicons_labels_widget() : o pass
+ icon name in $tag to $exec_func so that the later can display
+ big icon o $label_exec is a duplicate of $label o simplify
+ notebook redrawing: * remove dam'sugly hacks *
+ $redraw_function->() : resize Gtk::Fixed on first run if more
+ than 4 icons * redraw in only one place * don't redraw
+ on realize event (now we both don't flick and have proper
+ icon alignment without old hacks)
+
+ - mcc: o print big icon while launching a tool (anim in next
+ commit) o move todo list in TODO o stricter check: *
+ default to use strict * disable strict mode when building rpm
+ * fixes for 'use strict' o kill : * a debugging print
+ * a superflous 'no warnings' * a title->show since we never
+ hide it * $rootheight since gtk packer do the job for us
+ * unused $nb_pages o begin to un-hardcode some values (window
+ and notebook size, ...) o cosmetics: * comment some code
+ * add myself to authors list (deush, you should add yourself too
+ since you're the localedrake/mcc interaction guru) *
+ s/darea1/summary_darea/ o don't display logs when back in main
+ summary o destroy pixbuf after
+
+2002-09-06 09:18 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: fix and change a few things in the
+ description
+
+2002-09-06 09:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, sk.po: updated Portuguese and
+ Slovak files
+
+2002-09-06 01:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2002-09-06 00:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, zh_TW.po: updated po Slovak and
+ Chinese files
+
+2002-09-06 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: special case to handle many
+ buttons in newt: replacing with something alike ask_from_list
+ (useful for XFdrake)
+
+2002-09-05 23:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm, main.pm: add an option for
+ prefering Xinerama in auto_installs
+
+2002-09-05 22:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: set umask=0 for ntfs partitions (currently
+ only used when user sets the mount point to a ntfs partition)
+ (suggested in bug #189)
+
+2002-09-05 20:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - little fix
+
+2002-09-05 20:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: better NT & Fat bootloader entry
+ adding or not
+
+2002-09-05 20:18 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - Remove ECI ADSL modem from menu
+ until we have an agreement
+
+2002-09-05 20:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: rc2
+
+2002-09-05 19:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: do not add an nt label if there is no
+ magic
+
+2002-09-05 19:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: use name mangling for labels (taken
+ from installkernel)
+
+2002-09-05 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2002-09-05 18:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: updated po file
+
+2002-09-05 18:25 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: cleanup check for Expect -
+ thx gc
+
+2002-09-05 18:06 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: fr.po: Update
+
+2002-09-05 18:00 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/icons/drakfont.620x57.png: Update
+
+2002-09-05 17:33 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: drakxtools.spec, standalone/drakbackup: rework
+ perl-Expect usage/requirements
+
+2002-09-05 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: fix using given size for created LVs whereas
+ lvcreate allocates a little less (thanks to Alan Hughes)
+
+2002-09-05 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add flag CDCOM when using commercial
+ cds
+
+2002-09-05 17:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't rely on ctree row number
+
+2002-09-05 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: proxy.pm, network/network.pm: allow http://xxx for
+ ftp_proxy
+
+2002-09-05 17:13 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/modem.pm: - fix drakconnect broken modem
+ detection
+
+2002-09-05 17:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated po file
+
+2002-09-05 17:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: correctly set allowFB flag
+
+2002-09-05 16:33 Guillaume Cottenceau
+
+ * kernel/list_modules.pm, kernel/modules.pl, mdk-stage1/modules.c,
+ mdk-stage1/modules.h, mdk-stage1/probing.c,
+ mdk-stage1/usb-resource/update-usb-ids.pl: fake support the
+ firewire in stage1 (as if it were usb ;p)
+
+2002-09-05 16:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, zh_TW.po: updated Chinese file,
+ some more Italian typo corrections
+
+2002-09-05 15:53 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/: fr.po: Update
+
+2002-09-05 15:12 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed problem of --auto-select not always
+ run. fixed copy of hdlist to avoid copying ignored media.
+
+2002-09-05 15:09 David Baudens <baudens at mandriva.com>
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ colors16.png, default.png, eth_card_mini.png, harddrive.png,
+ keyboard.png, language.png, mouse.png, network.png,
+ partition.png, printer-mdk.png, quit.png, rootpasswd.png,
+ security.png, services.png, summary.png, user.png, warning.png:
+ Update
+
+2002-09-05 15:09 Fançois Pons
+
+ * perl-install/install_any.pm: allow noauto:... media in hdlists
+ file to be installed for urpmi.
+
+2002-09-05 14:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated po file
+
+2002-09-05 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm: add nice description to the
+ initial dialog box (thanks Stew!)
+
+2002-09-05 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: Updated Vietnamese file
+
+2002-09-05 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: workaround kde control
+ center calling localedrake with an empty kde lang
+
+2002-09-05 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_window_manager_to_logout): do not su
+ into user before doing dcop if we are not root (otherwise
+ localedrake in user ask for user's password before login out)
+ (thanks to H. Narfi Stefansson for reporting it)
+
+2002-09-05 13:56 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: meuuuuuuuuuh
+
+2002-09-05 13:56 jgotti
+
+ * perl-install/standalone/draksplash: preview window bug correction
+
+2002-09-05 13:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, zh_CN.po: updated Chinese and
+ Danish files
+
+2002-09-05 12:18 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: ask_browse_tree_info_given_widgets: add
+ ability of partial selection clickery leading to unselection for
+ rpmdrake (if someone understands this log message..)
+
+2002-09-05 12:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, it.po, sv.po: updated Czech and
+ Swedish files; corrected various erros in Italian file
+
+2002-09-05 11:37 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add baudens
+
+2002-09-05 11:36 jgotti
+
+ * perl-install/bootlook.pm: add use ugtk.pm
+
+2002-09-05 10:18 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/02-community.png: Update
+
+2002-09-05 08:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-09-05 06:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2002-09-05 06:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-09-05 01:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated hungarian file
+
+2002-09-05 00:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated Welsh file
+
+2002-09-04 23:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: do not use standalone
+ (so that no "explaination" are generated)
+
+2002-09-04 23:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2002-09-04 23:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: vi.po, wa.po, zh_CN.po: updated po file
+
+2002-09-04 23:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ta.po, th.po, tr.po, uk.po: updated po
+ file
+
+2002-09-04 23:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, sl.po, sp.po, sr.po, sv.po:
+ updated po file
+
+2002-09-04 22:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, pt_BR.po, ro.po, ru.po: updated po
+ file
+
+2002-09-04 22:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: lv.po, mt.po, nl.po, no.po, pl.po:
+ updated po file
+
+2002-09-04 22:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: is.po, it.po, ja.po, ko.po, lt.po:
+ updated po file
+
+2002-09-04 22:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, hr.po, hu.po, id.po:
+ updated po file
+
+2002-09-04 22:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, eu.po, fi.po, fr.po: updated po
+ file
+
+2002-09-04 22:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, el.po, eo.po, es.po: updated po
+ file
+
+2002-09-04 22:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, ca.po, cs.po, cy.po, da.po:
+ updated po file
+
+2002-09-04 22:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, az.po, be.po, bg.po, br.po:
+ updated po file
+
+2002-09-04 22:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/af.po: updated pot file
+
+2002-09-04 21:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/DrakX.pot: updated pot file
+
+2002-09-04 20:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: corrected error syntax
+
+2002-09-04 20:02 Guillaume Cottenceau
+
+ * perl-install/share/po/it.po: fix typo
+
+2002-09-04 19:53 David Baudens <baudens at mandriva.com>
+
+ * perl-install/: standalone/icons/drakbackup.540x57.png,
+ standalone/icons/wiz_default_up.png,
+ standalone/icons/wiz_drakconnect.png,
+ standalone/icons/wiz_drakgw.png,
+ standalone/icons/wiz_firewall.png,
+ standalone/icons/wiz_printerdrake.png,
+ standalone/icons/wiz_scannerdrake.png, drakxtools.spec: Update
+
+2002-09-04 19:50 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/drakxtools.spec: add perl-Expect requires for
+ drakbackup (now enabled and in main)
+
+2002-09-04 18:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, hu.po, pt.po, sk.po, vi.po:
+ updated Greek, Hungarian, Portuguese, Slovak and Vietnamese files
+
+2002-09-04 18:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, da.po: updated Danish and Welsh
+ files
+
+2002-09-04 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: remove symlink Xconfigurator (which
+ was broken anyway, thanks to Ian Ventura-Whiting for reporting
+ it)
+
+2002-09-04 18:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: gtkcreate_png_pixbuf() : support jpeg too
+ for bootlook.pm
+
+2002-09-04 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (same_entries): compare kernel
+ options sorted (this is an approximation of reality since order
+ can matter, but...). An example is "quiet devfs=mount
+ hdc=ide-scsi" vs "devfs=mount hdc=ide-scsi quiet" (thanks to
+ Gabriel Phoenix)
+
+2002-09-04 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): fix calling with a user
+ already existing (mainly for installs keeping the /
+ non-formatted, special for pixel)
+
+2002-09-04 17:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix dialog box asking
+ "Load from floppy" or "Save on floppy" in individual package
+ selection
+
+2002-09-04 17:41 David Baudens <baudens at mandriva.com>
+
+ * perl-install/standalone/: logdrake, icons/wiz_logdrake.png: Add
+ image for logdrake
+
+2002-09-04 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/ugtk.pm: make perl_checker happy
+
+2002-09-04 17:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: revert add2hash_ username=% to add2hash (it
+ breaks diskdrake --smb not defaulting to username=%, and i can't
+ find out what was wrong in auto_install's manualFstab)
+
+2002-09-04 16:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: s/Si vous disque/Si votre disque/
+ s/Si non,, Les partitions devront être créés/Sinon, les
+ partitions devront ,bj(Btre cr,bii(Bes/ s/des fonctionnalité
+ additionnelle/des fonctionnalit,bi(Bs additionnelles/ s/sur un
+ disque amovibles/sur un disque amovible/ s/sauves la table/sauve
+ la table/ s/pour récurer les partitions/pour
+ r,bi(Bcup,bi(Brer les partitions/
+
+2002-09-04 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakperm: - really embbed - kill stupid
+ things (aka embedded window withouth any widget vs toplevel
+ window)
+
+2002-09-04 16:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add drakperm!
+
+2002-09-04 16:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix dadou fsck; please check the po
+ before comitting it!!!!!
+
+2002-09-04 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 33mdk
+
+2002-09-04 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - add --test option to skip
+ mice|modem|printer detection (now harddrake start
+ instantaneously) - print probed class to show progression - fix
+ tree moving by using a Gtk::CTree instead of a Gtk::Tree; side
+ effect is some code cleaning which compensate above features
+ (code lenght)
+
+2002-09-04 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: handle no options in fs::mount (is it really
+ needed?... it should not!)
+
+2002-09-04 15:24 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add fcrozat
+
+2002-09-04 15:09 jgotti
+
+ * perl-install/bootlook.pm: replace convert dependencies by
+ gdk-pixbuf dependencies
+
+2002-09-04 15:02 jgotti
+
+ * perl-install/standalone/drakperm: changing bad save path for
+ perm.local
+
+2002-09-04 14:55 Guillaume Cottenceau
+
+ * rescue/tree/etc/rc.sysinit: drvinst serial_usb in rc.sysinit so
+ that legacy free machines may work with rescue
+
+2002-09-04 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keymaps.tar.bz2: update (now includes ro2)
+
+2002-09-04 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: set isInstall in test script
+ otherwise it uses /usr/X11R6/bin/xtest
+
+2002-09-04 14:16 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/network.pm: - correct typos in orinoco
+ orinoco_cs modules
+
+2002-09-04 13:44 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: enable perl-Expect (moved to
+ main)
+
+2002-09-04 12:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - let my_gtk handle embedded case -
+ don't try to center window when embedded
+
+2002-09-04 11:19 Fançois Pons
+
+ * perl-install/Xconfig/test.pm: move last warning before removing
+ tempory file in order to have a chance to look at them.
+
+2002-09-04 10:15 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2002-09-04 10:09 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Update
+
+2002-09-04 09:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 32mdk
+
+2002-09-04 09:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: embbed drakbackup in mcc
+
+2002-09-04 01:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/multimedia.png:
+ re-adding with -kb
+
+2002-09-04 01:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/multimedia.png: removing
+ for re-adding with -kb
+
+2002-09-04 00:21 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: meumeu
+
+2002-09-04 00:11 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: meuh
+
+2002-09-04 00:11 Guillaume Cottenceau
+
+ * perl-install/: my_gtk.pm, ugtk.pm: try to get rid of BEGIN but
+ still be able to start up the install :-)
+
+2002-09-03 19:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated po file
+
+2002-09-03 18:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - obsoletes/provides drakfloppy
+
+2002-09-03 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: remove the use of Ok/Cancel/Exit icons
+ (per ergonomy team request)
+
+2002-09-03 17:17 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Fix empty subnet in
+ /etc/exports /home entry.
+
+2002-09-03 16:53 Fançois Pons
+
+ * perl-install/mouse.pm: add a sleep and second try for usb mouse.
+
+2002-09-03 16:51 Guillaume Cottenceau
+
+ * perl-install/ugtk.pm: have the possibility in gtktext_insert to
+ provide font/color information as well
+
+2002-09-03 16:36 Dam's
+
+ * perl-install/my_gtk.pm: better icon association
+
+2002-09-03 16:34 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/list: Add MandrakeClub screen in
+ list
+
+2002-09-03 16:26 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 17-mdkclub.pl, 17-mdkclub.png:
+ Add MDKclub screen and text
+
+2002-09-03 16:03 Fançois Pons
+
+ * perl-install/modules.pm: make modules.pm patchable (avoid my ...)
+
+2002-09-03 15:59 Fançois Pons
+
+ * perl-install/mouse.pm: added log when no usb interface is found,
+ rare enough now.
+
+2002-09-03 15:50 Fançois Pons
+
+ * perl-install/modules.pm: updated log of add_probeall to be
+ correct.
+
+2002-09-03 15:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 30mdk
+
+2002-09-03 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - create_pix_text, gtkicons_labels_widget:
+ remove text color argument, default to black - remove last
+ debugging prints
+
+2002-09-03 15:15 Dam's
+
+ * perl-install/: my_gtk.pm, ugtk.pm: added create_pixbutton
+
+2002-09-03 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: remove double translation
+
+2002-09-03 14:04 Fançois Pons
+
+ * perl-install/ugtk.pm: fixed previous fix;
+
+2002-09-03 14:02 Fançois Pons
+
+ * perl-install/ugtk.pm: try to avoid clashes with install.
+
+2002-09-03 14:02 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: mdk-eazel-engine is now in
+ gtk-engines
+
+2002-09-03 13:58 Fançois Pons
+
+ * perl-install/my_gtk.pm: fixed damien (aka pitchounette) sucking,
+ this is not this way pitchounette you will lost your current name
+ as pitchounette :-)
+
+2002-09-03 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - ugtk : o create_pix_text: * remove
+ * kill uni colored background * api change: +
+ background argument => background list + remove bold
+ argument * render all text (normal, highlighted, selected) on
+ specified background in one pass o
+ gtkicons_labels_widget(): * explain/comment * move all
+ drawing logic in &$draw * create buffer area, text pics only
+ one time * add a pixbuf for highlighted item * render
+ highlighted icon by making it more transparent * recalculate
+ drawing buffer only on state change - mcc : * move all
+ drawing logic in &$draw * create buffer area, text pics only
+ one time * render highlighted icon by making it more
+ transparent * recalculate drawing buffer only on state change
+
+2002-09-03 13:42 Guillaume Cottenceau
+
+ * perl-install/ugtk.pm: meuh gtk init
+
+2002-09-03 13:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Changed Turkish console font
+
+2002-09-03 12:48 Guillaume Cottenceau
+
+ * perl-install/ugtk.pm: gtkcreate_png was too stupid to allow
+ subdirectories for images, fix it
+
+2002-09-03 12:42 Dam's
+
+ * perl-install/pixmaps/: stock_cancel.xpm, stock_exit.xpm,
+ stock_left.xpm, stock_ok.xpm, stock_right.xpm: re-adding with -kb
+
+2002-09-03 12:42 Dam's
+
+ * perl-install/pixmaps/: stock_cancel.xpm, stock_exit.xpm,
+ stock_left.xpm, stock_ok.xpm, stock_right.xpm: removing for
+ re-adding with -kb
+
+2002-09-03 12:41 Dam's
+
+ * perl-install/pixmaps/: stock_cancel.xpm, stock_exit.xpm,
+ stock_left.xpm, stock_ok.xpm, stock_right.xpm: icons for
+ ok/cancel/back/previou/next icons
+
+2002-09-03 12:28 Pixel <pixel at mandriva.com>
+
+ * rescue/list.i386: add gpart (per Giuseppe Ghibò request)
+
+2002-09-03 12:11 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed too higher
+ percentage.
+
+2002-09-03 11:58 Fançois Pons
+
+ * perl-install/install_gtk.pm: fixed old Xconf style because it
+ doesn't work anymore on i845 with newer format.
+
+2002-09-03 11:36 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Use MandrakeSoft marketing ads
+
+2002-09-03 11:25 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/my_gtk.pm: - better size of wizard for printerdrake
+
+2002-09-03 11:24 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Begin to use Mandrake's marketing
+ ads
+
+2002-09-03 10:39 Dam's
+
+ * perl-install/my_gtk.pm: added add_icon_path for control-center
+
+2002-09-03 10:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: updated Polish file
+
+2002-09-03 10:03 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 02-community.pl, 03-internet.pl,
+ 04-multimedia.pl, 05-games.pl, 07-desktop.pl, 09-server.pl,
+ 11-mdkstore.pl, 12-mdkstore.pl, 13-mdkcampus.pl, 14-mdkexpert.pl:
+ Use official marketing ads
+
+2002-09-03 07:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2002-09-03 02:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/Makefile: enabled ro.po
+
+2002-09-03 00:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-09-02 23:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2002-09-02 23:32 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: - network restart previous
+ bug fixed
+
+2002-09-02 23:21 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: ethernet.pm, network.pm: - fix previous
+ behavior in Expert mode... (100% lazy loop free this time)
+
+2002-09-02 21:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-09-02 20:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Updated for the new printerdrake.
+
+2002-09-02 19:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/14-mdkexpert.pl: fixed typo
+
+2002-09-02 19:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: Fixed typo
+
+2002-09-02 19:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/14-mdkexpert.pl: small fix
+
+2002-09-02 19:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: 12-mdkstore.pl,
+ 15-mdkexpert-corporate.pl: small fix
+
+2002-09-02 19:04 Guillaume Cottenceau
+
+ * perl-install/share/: advertising/03-internet.pl,
+ advertising/04-multimedia.pl, advertising/05-games.pl,
+ advertising/09-server.pl, advertising/12-mdkstore.pl,
+ advertising/13-mdkcampus.pl, advertising/14-mdkexpert.pl,
+ po/af.po, po/ar.po, po/az.po, po/be.po, po/bg.po, po/br.po,
+ po/bs.po, po/ca.po, po/cs.po, po/cy.po, po/da.po, po/de.po,
+ po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fi.po,
+ po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po,
+ po/is.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/lv.po,
+ po/mt.po, po/nl.po, po/no.po, po/pl.po, po/pt.po, po/pt_BR.po,
+ po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sp.po, po/sr.po,
+ po/sv.po, po/ta.po, po/th.po, po/tr.po, po/uk.po, po/vi.po,
+ po/wa.po, po/zh_CN.po, po/zh_TW.po: try to fix broken english in
+ advertisements and not break po's
+
+2002-09-02 18:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, pl.po: updated Czech and Polish
+ files
+
+2002-09-02 18:15 Fançois Pons
+
+ * perl-install/ugtk.pm: fixed titi suckings.
+
+2002-09-02 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.drakxtools, drakxtools.spec: 29mdk: add
+ harddrake icons
+
+2002-09-02 17:34 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure upgrade is
+ done instead.
+
+2002-09-02 17:23 Fançois Pons
+
+ * perl-install/install_any.pm: restore auto build of synthesis file
+ (for updates).
+
+2002-09-02 17:22 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/po/fr.po: corrected a gramatical error
+
+2002-09-02 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: cd.png, cpu.png,
+ floppy.png, harddisk.png, harddrake.png, hw_mouse.png,
+ hw_network.png, hw_printer.png, ide_hd.png, isdn.png,
+ joystick.png, keyboard.png, memory.png, modem.png, scanner.png,
+ scsi.png, scsi_hd.png, sound.png, tape.png, tv.png, unknown.png,
+ usb.png, video.png, webcam.png: add new icons
+
+2002-09-02 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: cd.png, cpu.png,
+ floppy.png, harddisk.png, harddrake.png, hw_mouse.png,
+ hw_network.png, hw_printer.png, ide_hd.png, isdn.png,
+ joystick.png, keyboard.png, memory.png, modem.png, scanner.png,
+ scsi.png, scsi_hd.png, sound.png, tape.png, tv.png, unknown.png,
+ usb.png, video.png, webcam.png: remove old icons
+
+2002-09-02 17:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: use new ln icons
+
+2002-09-02 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: K7.png, cable.png,
+ cd.png, cpu.png, floppy.png, harddisk.png, harddrake.png,
+ hw_mouse.png, hw_network.png, hw_printer.png, ide_hd.png,
+ isdn.png, joystick.png, keyboard.png, memory.png, modem.png,
+ multimedia.png, scanner.png, scsi.png, scsi_hd.png, sound.png,
+ tape.png, tv.png, unknown.png, usb.png, video.png, webcam.png,
+ menu/harddrake-menu16.png, menu/harddrake-menu32.png,
+ menu/harddrake-menu48.png: add new ln icons
+
+2002-09-02 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: gtkicons_labels_widget(): check binary
+ exists
+
+2002-09-02 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: kill glib warnings
+
+2002-09-02 16:28 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed to call to getFile by giving medium
+ description, necessary for updates.
+
+2002-09-02 16:16 Fançois Pons
+
+ * perl-install/crypto.pm: fix typo.
+
+2002-09-02 16:00 jgotti
+
+ * perl-install/standalone/drakperm: solving bugs on add and save
+ functions
+
+2002-09-02 15:58 Fançois Pons
+
+ * perl-install/install2.pm: now allow meta_class option on command
+ line to be taken into account instead of previous options desktop
+ and firewall.
+
+2002-09-02 15:55 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: reverted previous
+ modification moved to crypto module.
+
+2002-09-02 15:54 Fançois Pons
+
+ * perl-install/crypto.pm: allow selecting packages to upgrade.
+
+2002-09-02 15:54 Fançois Pons
+
+ * perl-install/pkgs.pm: allow selectPackagesToUpgrade to use a
+ specific medium instead of all of them.
+
+2002-09-02 15:46 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/list: Update
+
+2002-09-02 15:39 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure rpmdb is
+ open before displaying packages tree.
+
+2002-09-02 15:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: sound.pm, ui.pm: display alternative
+ drivers (oss, alsa) for sound cards
+
+2002-09-02 15:24 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ 03-internet.pl, 04-multimedia.pl, 06-mcc.pl, 08-development.pl,
+ 09-server.pl, 10-mnf.pl, 11-mdkstore.pl, 12-mdkstore.pl,
+ 13-mdkcampus.pl, 14-mdkexpert.pl, 15-mdkexpert-corporate.pl:
+ Update
+
+2002-09-02 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-09-02 14:42 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ 03-internet.pl, 04-multimedia.pl, 05-games.pl, 07-desktop.pl,
+ 08-development.pl, 09-server.pl, 10-mnf.pl, 11-mdkstore.pl,
+ 12-mdkstore.pl, 13-mdkcampus.pl, 14-mdkexpert.pl,
+ 15-mdkexpert-corporate.pl: Update
+
+2002-09-02 14:34 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: strange typo where no
+ filtering on medium was issued ?
+
+2002-09-02 14:19 Fançois Pons
+
+ * perl-install/install_any.pm: fixed typo.
+
+2002-09-02 13:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, ru.po: updated Spanish and Russian
+ files
+
+2002-09-02 13:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, hu.po, pl.po, sk.po, sv.po, tr.po,
+ zh_TW.po: updated Hungarian, Turkish, Swedish, Slovak and Chinese
+ files
+
+2002-09-02 12:25 Daouda Lo <daouda at mandriva.com>
+
+ * docs/README.devel: - s/tinyfirewall/drakfirewall/
+
+2002-09-02 12:21 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/: drakfirewall, tinyfirewall: - replace
+ tinyfirewall by drakfirewall
+
+2002-09-02 12:17 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone.pm: - s/tinyfirewall/drakfirewall/
+
+2002-09-02 12:13 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - s/tinyfirewall/drakfirewall/
+
+2002-09-02 12:06 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - s/tinyfirewall/drakfirewall/
+
+2002-09-02 12:04 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: s/tinyfirewall/drakfirewall/
+
+2002-09-02 11:55 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/: drakfirewall.pm, tinyfirewall.pm,
+ netconnect.pm: - replace tinyfirewall by drakfirewall
+
+2002-09-02 11:35 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - drakbug point to
+ https://drakbug.mandrakesoft.com
+
+2002-09-02 10:53 Fançois Pons
+
+ * perl-install/install_any.pm: fix list building not to use
+ parsehdlist.
+
+2002-09-02 10:46 Fançois Pons
+
+ * perl-install/install_steps.pm: add $o->{packages} to
+ install_any::install_urpmi call.
+
+2002-09-02 10:27 Fançois Pons
+
+ * perl-install/install_any.pm: install_urpmi only install selected
+ media.
+
+2002-09-02 09:39 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: sympa => mailman removed PHP-nuke
+
+2002-09-02 00:22 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-09-01 23:14 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2002-09-01 18:47 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: and more...
+
+2002-09-01 18:24 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: some translations
+
+2002-09-01 16:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vientamese file
+
+2002-09-01 05:54 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: s/Seiko Epson/Epson/ in subroutine to
+ update ScannerDB from Sane.
+
+2002-09-01 02:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: - Tell users of the HP LaserJet
+ 1000 that they have to upload firmware to the printer. - Updated
+ instructions to get Lexmark's inkjet drivers. - Suppressed the
+ display of the "Refresh printer list" and "Specify CUPS server"
+ buttons in recommended mode when there is no local network.
+
+2002-09-01 01:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated po file
+
+2002-08-31 17:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-08-31 16:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: 12-mdkstore.pl, 14-mdkexpert.pl,
+ 15-mdkexpert-corporate.pl: no need to translate web adresses
+
+2002-08-31 16:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fixed use of variables in
+ translatable strings
+
+2002-08-31 14:00 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Fix prompt text saved as
+ filename - Advanced What - Other
+
+2002-08-31 11:39 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: some upadtes
+
+2002-08-31 04:40 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add shorewall and iptables in
+ INSTALL section
+
+2002-08-30 23:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: - Fixed bugs in automatic GIMP printer
+ configuration during installation. - Worked around a bug of "ls
+ -r xxx*" returning "xxx*" instead of nothing when "xxx*" does not
+ exist ("ls" of "busybox" during installation).
+
+2002-08-30 21:58 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: update german version
+
+2002-08-30 20:18 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed call to pkgs::remove.
+
+2002-08-30 19:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, ugtk.pm: - mcc : o kill
+ gtkpng_() and gtk_createpng_() wrappers: if icon is missing,
+ better die while testing rather than make perl display "uncaught
+ code ..." o kill unused timer o use new ln's icons o
+ disable stupid icon highlighting (was made with duplicating
+ manually all icons in gimp and blue-y them there); restore this
+ effect'll need little play with gamma o use ugtk o kill
+ dead code o cleanups o icons: * switch to new icons set
+ * replace pixmap table by a pixbuf one * use pixbufs for
+ backgrouns and icons, * composite background and icons with
+ transparency trough ugtk::compose_pixbufs() * render
+ icons with full alpha blender in left column * comment the
+ different states * simplify callbacks
+
+ - ugtk : o readd gdkpixbuf support o ensure imlib is used by
+ default to load files, not gdk-pixbuf o compose_with_back():
+ load a png icon into a pixbuf and call compose_pixbufs with
+ background pixbuf o compose_pixbufs(): render transparent icon
+ onto background into a new pixbuf o merge
+ gtkcreate_png_pixbuf() from gdk-pixbuf-0-branch : load an
+ icon into a pixbuf gdk-pixbuf-0-branch also uses it to
+ simplify a lot of code o gtkicons_labels_widget() : * add a
+ new background pixbuf parameter that'll be composited with icons
+ * render icons with alpha blender in right area * kill
+ imlib_counter * kill imlib usage for * kill dead code
+ (was dead since i fixed mcc memory leaks)
+
+ - TODO: icon flashing on application launch
+
+ - POSTPONED: merge big cleanup, global replacement of imlib usage
+ by gdk-pixbuf from gdk-pixbuf-0-branch since it
+ would impacted drakx which is not so good
+
+2002-08-30 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-08-30 18:41 Fançois Pons
+
+ * perl-install/install_any.pm: fixed possible problem with
+ is_installed and are_installed.
+
+2002-08-30 16:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-08-30 15:02 Guillaume Cottenceau
+
+ * perl-install/network/network.pm: fix looping on network step when
+ configuring ethernet card
+
+2002-08-30 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: make perl_checker happy
+
+2002-08-30 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/verify_c: ignore c::from_utf8
+
+2002-08-30 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - set GRP_TOGGLE to '' when no GRP_TOGGLE
+ are used - defaults to previous GRP_TOGGLE if one is available
+
+2002-08-30 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: - use
+ keyboard::keyboard2full_xkb - call setxkbmap with -option and
+ -model - use "/etc/init.d/keytable restart" instead of loadkeys
+
+2002-08-30 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, Xconfig/default.pm: most of the code
+ of Xconfig::default::config_keyboard moved to
+ keyboard::keyboard2full_xkb
+
+2002-08-30 12:43 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 11-mdkstore.pl, 12-mdkstore.pl,
+ 13-mdkcampus.pl, 14-mdkexpert.pl, 15-mdkexpert-corporate.pl:
+ Temporary new texts. Need to be checked and fixed
+
+2002-08-30 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix typo (choosing
+ the Flat Panel resolution by default)
+
+2002-08-30 10:37 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/list: Temporary fix
+
+2002-08-30 10:19 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: rc1
+
+2002-08-30 09:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, cy.po, eu.po, nl.po: updated po
+ files
+
+2002-08-30 09:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_steps_newt.pm: Added text for translators
+
+2002-08-30 01:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/printer-mdk.png: re-adding with -kb
+
+2002-08-30 01:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/printer-mdk.png: removing for re-adding with
+ -kb
+
+2002-08-30 01:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isRemovableDrive): usb with
+ class "Floppy (UFI)" are removable even if they are not
+ media_type fd
+
+2002-08-30 01:17 Pixel <pixel at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: add r8169
+
+2002-08-30 01:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keymaps.tar.bz2: now the only bad one is ro2
+
+2002-08-30 01:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: de.po, es.po, fr.po, help-de.pot,
+ help-es.pot, help-fr.pot, help-it.pot, it.po: - re-update
+ help-xx.pot after fixing bad drakxid's in xml files - update
+ xx.po's using help-xx.pot => at last, DrakX help is now in sync
+ with xml files :)
+
+2002-08-30 01:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - fix missing to_ascii on
+ english part in help-xx.pot - ignore drakxid's in a language but
+ not in english
+
+2002-08-29 23:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: workaround missing entities in
+ spanish
+
+2002-08-29 22:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, bs.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ ta.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ automatic update to new help.pm (so that no fuzzy appears)
+
+2002-08-29 22:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help-eu.pot: not available anymore (=> use
+ the i18n from eu.po)
+
+2002-08-29 22:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: adapt to new manual cvs dirs
+
+2002-08-29 22:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/help-de.pot,
+ share/po/help-es.pot, share/po/help-fr.pot, share/po/help-it.pot:
+ update help from xml
+
+2002-08-29 22:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_update_english_only.pl: semi-automatic
+ script allowing to update help.pm without creating a hell lot of
+ "fuzzy" in po's
+
+2002-08-29 22:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - adapt to new manualB xml
+ help - fix tr/// causing havoc in french accents (and other)
+
+2002-08-29 21:23 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: GUI feedback during restore.
+
+2002-08-29 20:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated po file
+
+2002-08-29 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake service: - Prereq:
+ rpm-helper - fix init-script-without-chkconfig-{post,preun}
+
+2002-08-29 18:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - s/perl -w/perl/ - don't use diags
+ and strict
+
+2002-08-29 18:29 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: merge some code from pcmcia-cs-3.2.1
+ so that some pci pcmcia driver use i82365 rather than
+ yenta_socket
+
+2002-08-29 18:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: gc must how learn to commit
+
+2002-08-29 18:08 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.png, 02-community.png,
+ 03-internet.png, 04-multimedia.png, 05-games.png, 06-mcc.png,
+ 07-desktop.png, 08-development.png, 09-server.png, 10-mnf.png,
+ 11-mdkstore.png, 12-mdkstore.png, 13-mdkcampus.png,
+ 14-mdkexpert.png, 15-mdkexpert-corporate.png, 16-thanks.png: New
+ images
+
+2002-08-29 18:07 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 01-thanks.pl, 02-community.pl,
+ 03-internet.pl, 04-multimedia.pl, 05-games.pl, 06-mcc.pl,
+ 07-desktop.pl, 08-development.pl, 09-server.pl, 10-mnf.pl: New
+ text (other will come later)
+
+2002-08-29 17:55 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: meuh
+
+2002-08-29 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, harddrake/TODO,
+ standalone/service_harddrake: 25mdk
+
+2002-08-29 17:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed ami-gnome (the package won't
+ be in 9.0, as it doesn't work with Gnome2)
+
+2002-08-29 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (formatPartitions): create /dev/null as
+ soon as possible on to be installed system
+
+2002-08-29 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: allow creation of "/dev/null" device
+
+2002-08-29 16:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: fix check_hard_drives
+
+2002-08-29 16:44 jgotti
+
+ * perl-install/standalone/drakperm: Gui for file permission in msec
+
+2002-08-29 16:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sk.po, vi.po: updated Slovak and
+ Vietnamese files
+
+2002-08-29 16:09 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 00-thanks.pl, 01-gnu.pl,
+ 02-internet.pl, 03-graphic.pl, 04-develop.pl, 05-contcenter.pl,
+ 06-user.pl, 07-server.pl, 08-games.pl, 09-MDKcampus.pl,
+ 10-MDKexpert.pl, 11-consul.pl, 12-MDKstore.pl, 13-Nvert.pl:
+ Remove old texts
+
+2002-08-29 15:58 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/advertising/: 00-thanks.png, 01-gnu.png,
+ 02-internet.png, 02-internet_icon.png, 03-graphic.png,
+ 03-graphic_icon.png, 04-develop.png, 04-develop_icon.png,
+ 05-contcenter.png, 05-contcenter_icon.png, 06-user.png,
+ 06-user_icon.png, 07-server.png, 07-server_icon.png,
+ 08-games.png, 08-games_icon.png, 09-MDKcampus.png,
+ 09-MDKcampus_icon.png, 10-MDKexpert.png, 10-MDKexpert_icon.png,
+ 11-consul.png, 12-MDKstore.png, 12-MDKstore_icon.png,
+ 13-Nvert.png: Remove old images
+
+2002-08-29 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: add a scroll bar in embedded
+ mode for mcc
+
+2002-08-29 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: embedded mode: exit on "quit" click
+
+2002-08-29 15:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: move STORAGE_OTHER devices in ata
+ controllers (aka pseudo raid controllers ala pdc)
+
+2002-08-29 15:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add new sound driver
+
+2002-08-29 15:17 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/adsl.pm: - dns settings for pppoe
+
+2002-08-29 15:17 Guillaume Cottenceau
+
+ * perl-install/standalone/logdrake: in explain mode, don't display
+ day and hostname to have more space for the rest
+
+2002-08-29 15:08 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: 24mdk
+
+2002-08-29 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isRemovableUsb): using "Floppy
+ (UFI)" usb media_type is no good, use magical usb2removable
+ instead (usb_description2removable): more entries
+ (suggest_mount_point): use new function usb2removable
+
+2002-08-29 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: in --auto, print the
+ mount points add/removed for use in hotplug
+
+2002-08-29 14:54 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/adsl.pm: - set DNS in adsl config.
+
+2002-08-29 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakupdate_fstab: - add option --auto -
+ when --auto, ignore actions on partitions when the drive has
+ extended partitions
+
+2002-08-29 13:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: rpm description & group are in
+ utf8, so use c::from_utf8
+
+2002-08-29 11:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakgw: drakgw now needs shorewall, so
+ install shorewall if needed (fix bug reported by Erwan)
+
+2002-08-29 11:40 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/adsl.pm: - update speedtouch link
+
+2002-08-29 11:10 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: ask_browse: display_info needs to be
+ available for rpmdrake
+
+2002-08-29 10:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-08-29 09:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/: drakfont, drakxtv: English typos (no
+ space before colon in English)
+
+2002-08-29 09:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: English typos (Quitter->Quit,
+ Informations->Information)
+
+2002-08-29 09:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: harddrake/ui.pm, harddrake/v4l.pm,
+ standalone/drakbackup: corrected English typos (no space before
+ colon in English)
+
+2002-08-29 03:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: s/||/or/ between commands, the
+ high-precedence "||" lead to problems sometimes.
+
+2002-08-29 02:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, eu.po, nl.po: updated Welsh,
+ Basque and Dutch files
+
+2002-08-29 01:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added automatical
+ configuration of the printers in the GIMP.
+
+2002-08-29 01:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - drakupdate_fstab first appearance
+ - remind me to teach titi how to commit
+
+2002-08-29 01:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: - ensure prefer_xf3 is never set
+ when {server} is missing - don't propose xfree3 when no {server}
+ for the card - don't propose xfree4 when no {Driver} for the card
+
+2002-08-29 00:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: use add2hash_ for setting "username=%"
+ otherwise it causes havoc in auto_install's manualFstab
+
+2002-08-29 00:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, standalone/drakupdate_fstab: new
+ prog drakupdate_fstab
+
+2002-08-29 00:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: - why did hds() did return
+ removable drives in standalone? changing this (this was written
+ in 1999 so no good reason must stand) - remove the ugly
+ isFloppyOrHD - new function get_usb_storage_info which magically
+ links /proc/scsi/scsi entries to /proc/bus/usb/devices & usbtable
+ one :) - new function usb_description2removable which tries to
+ categorize the removables - new function removables returning
+ various things - new function isRemovableUsb using usb class -
+ new function isFloppyUsb using the usbtable "Removable:floppy" -
+ suggest_mount_point use "Removable:xxx" entries from usbtable, or
+ usb_description2removable()
+
+2002-08-29 00:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: - read_fstab, write_fstab: add the
+ possibility to not change credentials - use
+ detect_devices::removables()
+
+2002-08-28 23:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, bg.po, bs.po, ca.po,
+ cs.po, cy.po, da.po, el.po, eo.po, fi.po, ga.po, gl.po, ja.po,
+ ko.po, lt.po, lv.po, pl.po, pt_BR.po, ru.po, sl.po, sp.po, sr.po,
+ uk.po: fixed Project-Id header
+
+2002-08-28 23:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/th.po: fixed Project-Id line
+
+2002-08-28 23:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2002-08-28 22:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: remove deprecated comment (supermount *does*
+ handle auto type nowadays)
+
+2002-08-28 21:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (set_default_options): use $is_removable to
+ know if it is removable instead of testing the presence of
+ $part->{rootDevice} (this must be old code predating the
+ avaibility of $is_removable)
+
+2002-08-28 21:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: - use $::prefix in
+ any::get_secure_level() - fix any::get_secure_level() not using
+ prefix when it should
+
+2002-08-28 20:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fs.pm: create
+ detect_devices::suggest_mount_point and use it instead of doing
+ it in fs::set_removable_mntpoints
+
+2002-08-28 19:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-08-28 19:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, ta.po,
+ th.po, tr.po, uk.po: updated po files
+
+2002-08-28 18:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm,
+ standalone/printerdrake: Printerdrake remembers now whether it
+ was in normal mode or in expert mode last time.
+
+2002-08-28 18:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, et.po, eu.po, fi.po, fr.po, ga.po,
+ gl.po, hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated po files
+
+2002-08-28 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: remove unused $fstab
+
+2002-08-28 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: on a "Flat Panel"
+ use the flat planel resolution (as suggested by Alastair Scott)
+
+2002-08-28 17:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: OpenOffice.org: Remove default printer
+ tag from the "Generic Printer" when Printerdrake adds an entry
+ for the system's default printer.
+
+2002-08-28 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (selectLanguage): fix the ugly use of
+ focus_out for setting langs. Was completly rubbish in newt.
+
+2002-08-28 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive/gtk.pm: add
+ {callbacks}{advanced}, called when "Advance" button is pressed
+
+2002-08-28 17:00 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - fix logdrake display window
+ in embedded mode
+
+2002-08-28 16:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, devices.pm, fs.pm,
+ install_any.pm, loopback.pm: use mkdir_p instead of mkdir
+
+2002-08-28 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: xfree3.pm, xfree4.pm:
+ Xconfig::xfree3::set_resolution and
+ Xconfig::xfree4::set_resolution must not modify parameter $Screen
+ before calling Xconfig::xfreeX::set_resolution (otherwise the
+ resolution setting is done on only one device which is bad for
+ multi-head)
+
+2002-08-28 16:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tinyfirewall.pm: better error message
+
+2002-08-28 16:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ DrakX.pot: updated pot file
+
+2002-08-28 15:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: Fixed typo (no space before a
+ colon in English)
+
+2002-08-28 15:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - embeded mode: o only display
+ menu bar if not in embedded mode o add a "quit" button in
+ embedded mode - make my_gtk ui be readable by indentation
+
+2002-08-28 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: fix calling export_to_install_X in
+ configure_everything_auto_install
+
+2002-08-28 14:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm: add "Mount" and "Unmount"
+
+2002-08-28 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (is_same_hd): add ugly support for davfs
+ devices (http://...) comparison without the ending "/"
+
+2002-08-28 14:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: it.po, ro.po: updated Italian and
+ Romanian files
+
+2002-08-28 14:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: pixmaps/printer-mdk.png, pixmaps/printer.png,
+ standalone/printerdrake: Renamed icon of Printerdrake so that it
+ does not get overwritten by Star Office.
+
+2002-08-28 14:13 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: small fix
+
+2002-08-28 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: use new function part2device() to have the
+ file from {device} (fixes mounting of ntfs in standalone)
+
+2002-08-28 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: bus/usb category
+ prompting is automatic
+
+2002-08-28 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: remove associating 0x35 => 'jfs'
+ since it causes types_rev to associate jfs to 0x35 instead of
+ 0x383
+
+2002-08-28 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: choose a good_default_monitor
+ based on laptop-or-not (thanks to cosmic flo)
+
+2002-08-28 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: default option username=% for smb
+
+2002-08-28 11:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/dos.pm:
+ (partition_table::dos::last_usable_sector): don't use
+ totalsectors, compute it so that it is cylinder aligned
+
+2002-08-28 11:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: dav.pm, interactive.pm, removable.pm,
+ smbnfs_gtk.pm: in "Mount point", by default choose the default
+ proposition (asked by dadou for smb)
+
+2002-08-28 11:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: share/list, Makefile, install_steps_gtk.pm: group
+ icons are not used, remove them
+
+2002-08-28 10:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: Changed encoding of Vietnamese file
+ to be the same as used in vi.po of rpmdrake
+
+2002-08-28 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install2.pm: :x
+
+2002-08-28 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/de.po: remove duplicate entries
+
+2002-08-28 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - create lvms() which contains what was
+ in hds() - create get_hds() which handle errors when calling
+ hds() - remove commented obsolete code - read_partitions is now
+ read_proc_partitions_raw - readProcPartitions is now
+ read_proc_partitions - read_proc_partitions use fake {start}s so
+ that the empty space is computed ok by get_normal_parts_and_holes
+ - verifyHds doesn't exist anymore - part of it is in hds()
+ using compare_with_proc_partitions() and use_proc_partitions()
+ - part of it is in install_any::getHds
+
+2002-08-28 00:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm:
+ remove/simplify error hanling (most of it is moved to fsedit.pm)
+
+2002-08-28 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: set {prefix} for rd/ida/cciss/...
+ (instead of doing it in fsedit::hds)
+
+2002-08-28 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - do not handle clearall in
+ read() - ensure not partition table in written when "readonly"
+ (it must not happen, but just in case)
+
+2002-08-28 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: (test_for_bad_drives):
+ classify error messages (either read, write or something-else)
+
+2002-08-28 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: handle "readonly" per hds
+
+2002-08-28 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: nicer error message when no
+ devices are available (esp. for standalone)
+
+2002-08-28 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig/various.pm, standalone/drakboot: use the
+ new fsedit::get_hds
+
+2002-08-27 23:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: use function fsedit::get_hds
+ which handles errors
+
+2002-08-27 23:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: handle "readonly" flag per
+ hard drives instead of a global one
+
+2002-08-27 20:51 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: catalog restore via HD, CD,
+ tape & network
+
+2002-08-27 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: set password2 to password so that upgrading
+ bootloader with an existing password works (thanks to Aleksander
+ Adamowski)
+
+2002-08-27 17:50 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-08-27 17:04 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: - Bug fix:
+ s/detect_devices::getSNMPModel/printer::getSNMPModel/ - Added
+ support for the photo card reader in the HP PSC 2200 series.
+
+2002-08-27 16:44 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: display a warning
+ message about packages to remove.
+
+2002-08-27 16:44 Fançois Pons
+
+ * perl-install/install_any.pm: added warn about packages to remove.
+
+2002-08-27 16:24 Fançois Pons
+
+ * perl-install/crypto.pm: restore real distrution version used.
+
+2002-08-27 15:02 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Make number of MB to install in
+ first time dialog changeable without breaking the translations.
+
+2002-08-27 15:01 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-08-27 14:01 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: - new 'previous' button bug fix
+
+2002-08-27 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: - add ",*-r-*" in wizard fontset - i18n
+ the fontset
+
+2002-08-27 13:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2002-08-27 12:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated po file
+
+2002-08-27 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: add ntools and ctools in
+ %high_security_groups
+
+2002-08-27 03:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Set default text margins to half an inch
+ and default size for images to be printed to the full page.
+
+2002-08-27 00:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Button to close Printerdrake shows
+ "Done" during installation and in MCC and "Quit" in standalone
+ mode.
+
+2002-08-27 00:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printerdrake.pm, standalone/printerdrake: - Ask
+ user whether he really wants to set up printing when he starts
+ Printerdrake for the first time. - Added titles ("Printerdrake")
+ to all wait messages.
+
+2002-08-26 23:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: correctly handle empty and commented
+ lines in lilo.conf
+
+2002-08-26 23:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: fix 2 occurences of use of
+ $monitors as a hash (thanks to Nora Etukudo)
+
+2002-08-26 22:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: create /dev/usbmouse symlink for non devfs
+ use
+
+2002-08-26 22:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: dev_is_devfs always return false
+ during install
+
+2002-08-26 18:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Now console fonts (at least those used by
+ DrakX) include an sfm map; no need to provide one.
+
+2002-08-26 17:42 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/ethernet.pm: - fix previous button behavior
+ in Proxies configuration
+
+2002-08-26 16:45 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Dialog for printing
+ test pages: Unmark all test pages when "No test pages" is marked.
+ Accelerated printing of the photo test page when CUPS is the
+ spooler, the internal image converter of CUPS is faster than
+ ImageMagick.
+
+2002-08-26 14:52 Fançois Pons
+
+ * perl-install/detect_devices.pm: avoid using serial_probe on non
+ terminal device (ttyxx or ttySxx).
+
+2002-08-26 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (prepare_write_fstab): use mkdir_p instead of
+ mkdir to handle mount points like /mnt/foo/bar (bug reported by
+ David Eastcott)
+
+2002-08-26 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix deleting previous report.bug
+ when upgrading
+
+2002-08-26 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: revert (not needed by gnome-panel)
+
+2002-08-26 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: move modules::write_pcmcia before
+ install packages
+
+2002-08-26 11:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: ensure net_interface is found
+ in any case
+
+2002-08-26 11:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: small fix (ta->ta_IN)
+
+2002-08-26 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: increase maxsize for / (partitioning with
+ /usr) since it contains /tmp and /opt (as requested by Arnaud de
+ Lorbeau)
+
+2002-08-26 10:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: autoselection of tamil fonts when
+ tamil locale is chosen
+
+2002-08-26 10:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2002-08-26 05:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: - lots of cleanups - documente
+ gtkcreate_png() - fix Gdk::DrawingArea usage in gtkpng_pixbuf() -
+ common bring MDK::Common::Math for us - globalize state (aka
+ highlith icon or not)
+
+ code is much more understandable now
+
+ instead of creating a global callback for repainting exposing
+ widgets, all Gdk::DrawingArea'll come from gtkpng_pixbuf() whose
+ code is 80 % the redrawing callback
+
+2002-08-26 03:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Hide buttons to choose network
+ printer auto-detection in the add printer wizard when there is no
+ local network (recommended mode). Let "samba-client" only be
+ installed when really needed.
+
+2002-08-25 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: fixe explanation use
+
+2002-08-25 12:17 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Suggest "OpenOffice.org" instead
+ of "openoffice" - First attempt to get localized installations of
+ OOo
+
+2002-08-25 11:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, es.po: updated Danish and Spanish
+ files
+
+2002-08-24 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-08-24 05:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: ichanged kde default fonts to match what we
+ ship
+
+2002-08-24 04:27 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printer.pm, printerdrake.pm:
+ Let command line tools for network scanning run under "chroot
+ $refix", otherwise they take ages during installation. Moved
+ network scanning functions from "detect_devices.pm" to
+ "printer.pm" so that they have access to the "$prefix" variable.
+
+2002-08-24 01:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, zh_TW.po: updated Hungarian and
+ Chinese files
+
+2002-08-24 00:46 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: combine file browser subs
+ into generic routine catalog restore - check restore media params
+ - verify media
+
+2002-08-23 21:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, harddrake/sound.pm: 20mdk: -
+ florin fixes for firewalling - check that alternative is unknown,
+ not the current driver, before saying that there's no
+ alternative. anyway, our only caller cannot get there's with a
+ current unknown driver since he only try listed/know drivers
+ ....
+
+2002-08-23 21:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakgw, network/netconnect.pm: florin
+ fixes for multiple NIC boxes
+
+2002-08-23 20:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: check that alternative is
+ unknown, not the current driver, before saying that there's no
+ alternative.
+
+ anyway, our only caller cannot get there's with a current unknown
+ driver since he only try listed/know drivers ....
+
+2002-08-23 19:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, ugtk.pm, harddrake/sound.pm:
+ 19mdk
+
+2002-08-23 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, ugtk.pm: - ugtk: o switch
+ from imlib to gdk-pixbuf o kill gtkcreate_imlib() o
+ big cleanup by the way o support alpha blender o
+ fix mem leak o remove dynamic support of imlib||gdk-pixbuf
+ since: * gtk2 require gdk-pixbuf anyway o kill unused
+ cursors o kill icon flashing o gtkcreate_png_pixbuf() :
+ load a png into a pixbuf o gtkpng_pixbuf() : render a pixbuf
+ into a drawable o simplify gtkcreate_png(): render a pixbuf
+ into a pixmap and an alpha bitmap o add2notebook() :
+ simplify - harddrake: o bump version number
+
+2002-08-23 18:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, ugtk.pm: - ugtk: o switch
+ from imlib to gdk-pixbuf o kill gtkcreate_imlib() o
+ big cleanup by the way o support alpha blender [not
+ complete] o fix mem leak o remove dynamic support of
+ imlib||gdk-pixbuf since: * gtk2 require gdk-pixbuf anyway
+ * imlib sucks * less code/libs in install o
+ kill unused cursors o kill icon flashing o
+ gtkcreate_png_pixbuf() : load a png into a pixbuf o
+ gtkpng_pixbuf() : render a pixbuf into a drawable o simplify
+ gtkcreate_png(): render a pixbuf into a pixmap and an alpha
+ bitmap o add2notebook() : simplify
+
+2002-08-23 17:52 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: beta 4 logo
+
+2002-08-23 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po:
+ s/p,bi(Bph,bi(Briques/p,bi(Briph,bi(Briques/
+
+2002-08-23 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/sound.pm, standalone/draksound: use
+ right sound-slot
+
+2002-08-23 14:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 18mdk
+
+2002-08-23 14:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: fix 95% of mcc memory leaks
+
+2002-08-23 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: (set_resolution): set the
+ resolution on all Screen sections (otherwise Xinerama fails (?))
+
+2002-08-23 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree4.pm: fix "screen1 RightOf screen2", it
+ must be "screen2 RightOf screen1"
+
+2002-08-23 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: - fix setting "Screen <number>" for
+ multi-head cards - don't propose XFree3 when using multi-head
+
+2002-08-23 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (read_raw_net_conf): new
+ function to access /etc/sysconfig/drakconnect and
+ /etc/sysconfig/drakconnect.$type ensuring migration from
+ /etc/sysconfig/draknet and /etc/sysconfig/draknet.$type
+
+2002-08-23 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: remove debug code
+
+2002-08-23 12:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: when standalone, use the name of the
+ program for the window title
+
+2002-08-23 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: add modules network::tinyfirewall and
+ network::shorewall
+
+2002-08-23 02:47 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: reworked failure to find
+ restore path treatment - now user gets option to reselect dir,
+ install media, or use the catalog browser for unmountable
+ media - fix eject media typo - create/read tape label for
+ catalog - more GUI crash fixes - catalog browser - can select
+ session or individual files for restore - needs backend -
+ merge with other CVS changes, some language fixes
+
+2002-08-23 01:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, hu.po: updated Hungarian file
+
+2002-08-23 01:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: monitor-1152.png, monitor-1400.png,
+ monitor-1600.png, monitor-1920.png, monitor-2048.png: re-adding
+ with -kb
+
+2002-08-23 01:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: monitor-1152.png, monitor-1400.png,
+ monitor-1600.png, monitor-1920.png, monitor-2048.png: removing
+ for re-adding with -kb
+
+2002-08-23 00:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: make perl_checker happy
+
+2002-08-23 00:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/shorewall.pm: use $::prefix to access
+ shorewall config files
+
+2002-08-23 00:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: tinyfirewall.pm, network/netconnect.pm,
+ network/shorewall.pm, network/tinyfirewall.pm: - add
+ network::shorewall - add tinyfirewall during install
+
+2002-08-23 00:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/tinyfirewall: complete rewrite
+
+2002-08-23 00:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakgw: use shorewall (need testing)
+
+2002-08-22 22:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: updated Tamil file
+
+2002-08-22 21:25 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: 1.1.9-16mdk
+
+2002-08-22 20:28 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: fix 'previous' button strange
+ behavior
+
+2002-08-22 18:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/sound.pm: multiple sound cards fix: use
+ the same index as our caller, don't force 0
+
+2002-08-22 18:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: main.pm, test.pm: - do not display "Test"
+ button when bad card and during install (instead of disabling it)
+ - after install, always display "Test" button but warn strongly
+ not to test
+
+2002-08-22 18:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, Xconfig/default.pm: simplify (using the
+ asumption that XKB is now always used)
+
+2002-08-22 17:51 David Baudens <baudens at mandriva.com>
+
+ * perl-install/pixmaps/: monitor-1024.png, monitor-1152.png,
+ monitor-1280.png, monitor-1400.png, monitor-1600.png,
+ monitor-1920.png, monitor-2048.png, monitor-640.png,
+ monitor-800.png, monitor.png: New images
+
+2002-08-22 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: add 1152x768
+ picture
+
+2002-08-22 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: add monitor images
+
+2002-08-22 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: don't use ExplorerPS/2 during
+ install (since install is xfree3)
+
+2002-08-22 17:40 Damien Chaumette <dchaumette at mandriva.com>
+
+ * kernel/list_modules.pm: add nvnet module in list
+
+2002-08-22 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (xmouse2xId): add ExplorerPS/2 mouse type
+ id (xmouse2xId): don't use ExplorerPS/2 during install (since
+ install is xfree3)
+
+2002-08-22 17:26 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: hackery for [+] intruded some situations
+ where we really don't want any child, so provide an option to
+ have nochild when necessary
+
+2002-08-22 16:42 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: change a bit hackery of parents with no
+ children, so now we have one child (with '' as a name) so that we
+ do have the [+] in front of the parent
+
+2002-08-22 15:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - add ExplorerPS/2 mouse handling -
+ various changes & bug fixes
+
+2002-08-22 15:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: use modules::mergein_conf so
+ that USB availability test works
+
+2002-08-22 15:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/default.pm: (config_keyboard): drop handling
+ of bad XkbLayout (config_mouse): wacoms X configuration moved to
+ mouse::set_xfree_conf
+
+2002-08-22 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: try harder to have things working
+ when not both xfree3 and xfree4 config are there
+
+2002-08-22 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree3.pm: use Protocol IMPS/2 when
+ ExplorerPS/2 is asked for (since ExplorerPS/2 doesn't work in
+ xfree3)
+
+2002-08-22 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: - use modules::mergein_conf
+ so that USB availability test works - adapt to changed prototype
+ mouse::write_conf
+
+2002-08-22 15:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: adapt
+ to mouse::write prototype change
+
+2002-08-22 13:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2002-08-22 11:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-08-22 00:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: leave btaudio in other, not in sound
+
+2002-08-21 22:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (ensure_is_installed): use $::prefix
+ to test if file is installed
+
+2002-08-21 22:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: corrected DrakX internal keyboard name
+ tr -> tr_q
+
+2002-08-21 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: tinyfirewall.pm, standalone/tinyfirewall: -
+ complete rework & cleanup - but the backend is still missing
+
+2002-08-21 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, standalone.pm: - add
+ do_pkgs->are_installed - add an auto parameter to
+ ensure_is_installed - implement do_pkgs->ensure_is_installed
+ during install
+
+2002-08-21 21:30 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-21 19:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, ta.po: Updated Spanish and Tamil
+ files
+
+2002-08-21 19:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: raise /usr maxsize to 4GB
+
+2002-08-21 19:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, harddrake/TODO, harddrake/ui.pm:
+ - remove BuildRequires: e2fsprogs-devel - add draksound - typo
+ fix - update harddrake toto - harddrake: increase main window
+ height - don't offer to configure module for usb devices
+
+2002-08-21 17:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech po file
+
+2002-08-21 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/devices.pm: new devfsd use input/mice rather than
+ input/mouse0 since several devices can multiplex on input/mice
+
+2002-08-21 16:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-08-21 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: network/isdn.pm, standalone/drakbackup: made
+ strings translatable, and a typo correction
+
+2002-08-21 15:34 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: uniformize real names
+
+2002-08-21 15:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: allow the saving in perl variable to
+ be done even if the exit status is not 0
+
+2002-08-21 14:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/fonts.tar.bz2, share/po/ta.po,
+ share/gen_locales.sh: Added Tamil font, added "ta" to
+ gen_locales, and changed charset= line of ta.po to make msgmerge
+ happy
+
+2002-08-21 14:33 jgotti
+
+ * perl-install/standalone/draksplash: bug correction in writing
+ .cfg files
+
+2002-08-21 14:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add draksound to standalone tools
+ list
+
+2002-08-21 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: - the ugly trick on destroy doesn't work
+ for wait_message's - fortunately the END calling exit seems to be
+ enough in most cases
+
+2002-08-21 12:56 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed stupid typo for bestKernelPackage.
+
+2002-08-21 12:46 Fançois Pons
+
+ * make_boot_img: fixed missing new line in isolinux.cfg file (F2
+ and F3 not working).
+
+2002-08-21 12:40 Fançois Pons
+
+ * perl-install/pkgs.pm: added return for bestKernelPackage ;-)
+
+2002-08-21 11:21 jgotti
+
+ * perl-install/standalone/draksplash: remove warnings
+
+2002-08-21 11:20 jgotti
+
+ * perl-install/bootlook.pm: add link to draksplash
+
+2002-08-21 09:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated po file
+
+2002-08-21 02:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: put back loadkeys_files which *is* used
+ (by make_rescue_img)
+
+2002-08-21 01:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: - fix dangling waiting watch
+ mousecursor (well, please test!) - adding draksplash (nathan)
+
+2002-08-21 01:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: - in destroy, detect if program is going
+ to leave, in that case don't do anything, especially don't set
+ the waiting mouse cursor another thing is that calling flush() at
+ this moment causes segfault so don't do it and no more segfault
+ :) (now, if someone finds out what this 4 is about... but you
+ cares, it works :)
+
+ this fixes program ending on an exception
+
+ - also add END() calling exit() (in case a program forgets to
+ (heurk) call exit())
+
+2002-08-21 01:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: fix pablo... uh no, too hard. fix his
+ typo instead ;p
+
+2002-08-21 01:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated po file
+
+2002-08-21 00:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: merged
+ keyboards with XFree86
+
+2002-08-20 22:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Upper Case
+
+2002-08-20 22:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: kill debugging prints
+
+2002-08-20 21:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Taken LPRng from spooler menu in
+ printerdrake.
+
+2002-08-20 21:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: Makefile, TODO, gen_snd_list, sound.pm:
+ instead of generating my own list of module descriptions from
+ list_modules.pm list of sound modules, just
+ usemodules::category2modules_and_description
+
+2002-08-20 20:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draksound: - simplify - allocate sound
+ slots in the same order as install2.pm (aka in
+ modules::probe_category('multimedia/sound') order)
+
+2002-08-20 19:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: updated po file
+
+2002-08-20 19:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: - kill dead code -
+ more use of MDK::Common
+
+2002-08-20 19:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, standalone/service_harddrake: -
+ use draksound wizard - boot: only check for removed/added disks,
+ video card, ethernet devices and mouse
+
+2002-08-20 19:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/Makefile, harddrake/gen_snd_list,
+ harddrake/sound.pm, standalone/draksound: add draksound: allow to
+ switch between alsa and oss; should result in better sound
+ support
+
+2002-08-20 18:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/scannerdrake: - Let all
+ occurences of "Seiko Epson" replaced by "Epson" both in the
+ scanner names read from the ScannerDB and in the names resulting
+ from scanner auto-detection (names from usbtable). So the user
+ gets presented "Epson" and usbtable can have "Epson" names where
+ ScannerDB can have "Seiko Epson" names. - If a scanner is listed
+ as "unsupported" in ScannerDB, the user gets a message instead of
+ scannerdrake silently exiting.
+
+2002-08-20 17:15 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed ldconfig not visible in packages
+ tree.
+
+2002-08-20 17:14 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/scannerdrake: Fixed parantheses of a
+ "member" function, fixed typos.
+
+2002-08-20 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/help.pm: s/enter a disk/insert a disk/ (Arpad Biro)
+
+2002-08-20 17:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/bootlook.pm: s/mkinird/mkinitrd/ (Arpad Biro)
+
+2002-08-20 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: typo fixed seen by Arpad
+ Biro: s/durind/during/ s/an user/a user/ s/select select/select/
+ s/propogate/propagate/
+
+2002-08-20 17:02 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed ldconfig not selected for
+ installation.
+
+2002-08-20 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: s/one of the selected
+ service/one of the selected services/ (spoted by Arpad Biro)
+
+2002-08-20 16:54 Fançois Pons
+
+ * perl-install/install_any.pm: make sure kernel is selected during
+ upgrade.
+
+2002-08-20 16:54 Fançois Pons
+
+ * perl-install/pkgs.pm: added bestKernelPackage.
+
+2002-08-20 16:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: don't put dvd burners in both dvd
+ and burners classes but only in burners
+
+2002-08-20 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fix $'s in i18n'ed strings
+
+2002-08-20 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keymaps.tar.bz2: update to correspond to
+ keyboard.pm
+
+2002-08-20 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: - drop the loadkeys_files (it is
+ unused) - add more precise check of the existence of .bkmap's and
+ that share/keymaps.tar.bz2 is up to date
+
+2002-08-20 14:25 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: o ECI adsl config fix
+
+2002-08-20 14:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * docs/Partition-ends-after-end-of-disk.txt: typo fix
+
+2002-08-20 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: firewire configuration
+ is only automatic
+
+2002-08-20 13:37 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm, perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm: add firewire controller configuration
+
+2002-08-20 13:36 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: skip tg3 on stage1 (no room for it)
+
+2002-08-20 12:44 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-20 12:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, ta.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2002-08-20 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: fix the use of create_okcancel
+
+2002-08-20 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: when restarting X, don't kill
+ kdm/gdm/xdm, they don't need this (worse, they don't respawn)
+
+2002-08-20 11:23 jgotti
+
+ * perl-install/drakxtools.spec: adding draksplash
+
+2002-08-20 11:19 jgotti
+
+ * perl-install/Makefile.config: adding draksplash in STANDALONEPMS_
+
+2002-08-20 11:18 jgotti
+
+ * perl-install/standalone/draksplash: a tool for bootsplash theme
+ creation
+
+2002-08-20 11:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Removed fallback languages for "bs" (there
+ are enough native translations now)
+
+2002-08-20 02:36 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: remove unused subs disable
+ forced "backup before restore" that erases previous backup more
+ work towards tracking backed up files for future recovery
+
+2002-08-20 00:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: s/progess/progress/ (Arpad
+ Biro)
+
+2002-08-20 00:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: typo fix spoted by Arpad Biro
+
+2002-08-19 23:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: remove dir security
+
+2002-08-19 22:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: use my_gtk {isWizard} and
+ {isEmbedded} which are more accurate than $::isWizard &&
+ !$my_gtk::pop_it and $::isEmbedded && !$my_gtk::pop_it, since
+ when the Plug is full, the window is not embedded.
+
+2002-08-19 22:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: in my_gtk object, set {isEmbedded} if
+ embedded and {isWizard} if displayed wizard mode
+
+2002-08-19 22:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: (readMonitorsDB): now return a
+ list instead of a hash to handle same name entries with different
+ EISA_ID (configure_automatic): handle EISA_ID but no
+ VertRefresh/HorizSync (happens for some hardware) (choose):
+ handle user asking for "Plug'n Play" monitor and ddcxinfos
+ failing
+
+2002-08-19 22:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: replace "xxx => eval { }" with "xxx
+ => scalar eval {}"
+
+2002-08-19 22:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix checking the return value of fsck.jfs
+
+2002-08-19 22:10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: one fix
+
+2002-08-19 22:00 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: - add missing oss modules - pas16 is a
+ scsi driver, not a sound one ...
+
+2002-08-19 21:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add btaudio
+
+2002-08-19 21:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add isa alsa drivers
+
+2002-08-19 20:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: s/nd-sgalaxy/snd-sgalaxy/
+
+2002-08-19 19:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: add remove_modules
+
+2002-08-19 19:46 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/network.pm: o remove old /etc/hosts entries
+ for the hostname before adding new one
+
+2002-08-19 19:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ta.po: Added Tamil file
+
+2002-08-19 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add scsi Optical Device
+ recognition (thanks to Michael Riss) (without this, a hard drive
+ following the optical device gets assigned sda whereas sda is the
+ optical device and the hard drive really is sdb)
+
+2002-08-19 17:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: s/drakconnet/drakconnect/ (Thank
+ you for adding this bug, Titi)
+
+2002-08-19 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/proxy.pm: add $Id: $
+
+2002-08-19 15:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-08-19 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getAndSaveAutoInstallFloppy):
+ ensure mount fail doesn't cause any pb
+
+2002-08-19 10:37 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Make sure nautilus-gtkhtml is
+ installed by default for GNOME
+
+2002-08-19 04:56 Christian Belisle
+
+ * perl-install/security/: main.pm, msec.pm, shorewall.pm: - draksec
+ is in his own package now
+
+2002-08-19 04:55 Christian Belisle
+
+ * perl-install/security/libsafe.pm: - draksec is in his own package
+ now.
+
+2002-08-19 04:52 Christian Belisle
+
+ * perl-install/standalone/draksec: - draksec is now in his own
+ package
+
+2002-08-19 01:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Fixed HP
+ multi-function device configuration during the installation: -
+ Fixed mistyped package name for "mtoolsfm" - Set links for photo
+ card reader auto-detection to work
+
+2002-08-18 22:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: since lba32 is the default in
+ lilo.conf - write "geometric" when lba32 is not set - don't write
+ lba32 (useless)
+
+2002-08-18 21:15 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-18 20:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ca.po: updated Catalan file
+
+2002-08-18 17:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, hu.po: updated Czech and Hungarian
+ files
+
+2002-08-18 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: add : - network: tg3 - isdn:
+ hisax_fcpcipnp, tpam - sound: snd-ali5451, snd-hdsp
+
+2002-08-18 06:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, id.po: updated Danish and
+ Indonesian files
+
+2002-08-17 19:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, th.po, tr.po, uk.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated po files
+
+2002-08-17 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: sort resolutions to
+ default to 1280x1024 instead of 1280x960
+
+2002-08-17 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: if the monitor size
+ is not given, default to 14'
+
+2002-08-17 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: - allow to change the detected card
+ - the chosen card can be used for dualhead if it is dualhead
+
+2002-08-17 15:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: ensure the chosen resolution is
+ maintained unchanged when changing the graphic card or monitor.
+
+2002-08-17 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/proprietary.pm: - fix module not returning
+ true - don't install_matrox_hal when testing
+
+2002-08-17 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf): use "mksymlink" instead of
+ "symlink" so that devfsd doesn't give an error when the symlink
+ already exists
+
+2002-08-17 03:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/scanner.pm: Let a newline character be put after the
+ entry in /etc/sane.d/dll.conf, so more than one driver name can
+ be added without all of them going into one line and then being
+ unreadable.
+
+2002-08-17 03:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixes to make it possible toinstall HP's
+ multi-function devices during installation.
+
+2002-08-17 00:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: more sound modules
+
+2002-08-16 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: raise the testing time from 8 to 12
+ seconds
+
+2002-08-16 20:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/newt.pm: fix dialog box with empty
+ buttons (thanks to Hamster <hamster@hamsternet.org>)
+
+2002-08-16 19:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (add_entry): new entry will now keep
+ its label, the conflicting one will be renamed "old_xxx" (and not
+ the opposite)
+
+2002-08-16 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_okcancel): do not display
+ "Cancel" when {cancel} is empty string
+
+2002-08-16 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix "Security Administrator (login or
+ email)" missing field
+
+2002-08-16 17:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: insert a space between "field:" and
+ "description"
+
+2002-08-16 16:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, sk.po, sl.po, sp.po, sr.po,
+ sv.po: updated Slovak file
+
+2002-08-16 14:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, harddrake/bttv.pm,
+ harddrake/v4l.pm, standalone/drakxtv: - harddrake::bttv is
+ renamed harddrake::v4l - harddrake::v4l handle saa7134 too now
+ (and not only bttv) - harddrake::v4l::config need a new driver
+ parameter in order to be able to offer the right cards and
+ tuners list - drakxtv: kill some old comments - add the list of
+ cards supported by saa7134 - add a not to remember a potentiel
+ speedup
+
+2002-08-16 14:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * kernel/list_modules.pm: new tv driver
+
+2002-08-16 13:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: limit max size of loopback
+ to 2GB on FAT
+
+2002-08-16 12:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, ko.po: updated Danish and Korean
+ files
+
+2002-08-16 09:30 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2002-08-16 01:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, zh_TW.po: updated Chinese and
+ hungarian files
+
+2002-08-15 23:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Allow non-root user to use
+ program with personal config. Finish multisession support. Fix
+ various crash scenarios in GUI in restore mode. Fix user restore
+ mode to restore only what is requested. View archive contents
+ before restore, user & sys mode. Add explanation of config file
+ options for non-X users.
+
+2002-08-15 22:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, gl.po, zh_CN.po, zh_TW.po: updated
+ Chinese file
+
+2002-08-15 13:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, de.po, fi.po, fr.po,
+ hr.po, hu.po: updated Danish and Hungarian files
+
+2002-08-15 09:48 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: - explanations
+
+2002-08-15 09:24 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - add --incident : could be used
+ by signal catcher to launch drakbug when app crash
+
+2002-08-14 22:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix "You can't install the bootloader
+ on a xfs partition" happening in weird cases (thanks to Alan
+ Hughes)
+
+2002-08-14 21:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, vi.po:
+ updated Vietnamese file
+
+2002-08-14 16:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, pt_BR.po, ro.po, ru.po: updated po
+ files
+
+2002-08-14 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: disable embedding of WebDAV
+ configuration since it is broken
+
+2002-08-14 14:07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-14 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: reduce the width of install
+ window
+
+2002-08-14 13:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, bg.po, br.po, bs.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, uk.po: Updated Slovak file
+
+2002-08-14 12:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, da.po, th.po, tr.po: updated
+ Catalan, Danish and Turkish files
+
+2002-08-14 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: $all_hds->{hds} must be filled
+ in any case, not only in --hd
+
+2002-08-14 10:39 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.server: add LSB group
+
+2002-08-14 08:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, ca.po,
+ cs.po, cy.po, da.po, de.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, sp.po, vi.po,
+ wa.po, zh_CN.po, zh_TW.po: updated some po files
+
+2002-08-14 02:39 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: undo advanced_what_user I
+ broke perl_checking multisession CD support
+
+2002-08-13 23:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/dav.pm: nothing useful for the moment
+
+2002-08-13 23:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/dav.pm: add checking davfs is installed
+
+2002-08-13 23:17 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-08-13 23:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: nfs.pm, smb.pm, smbnfs.pm, dav.pm: use
+ ensure_is_installed
+
+2002-08-13 23:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: add ensure_is_installed (which was
+ network::smbnfs::check_raw and is often useful)
+
+2002-08-13 23:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake/dav.pm, diskdrake/interactive.pm,
+ standalone/diskdrake: rough WebDAV gui
+
+2002-08-13 23:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: handle the setting of 'ok' and
+ 'cancel'
+
+2002-08-13 22:40 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: 2 strings overlapped each other
+
+2002-08-13 21:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, diskdrake/interactive.pm,
+ network/dav.pm: backend davfs (WebDAV) support
+
+2002-08-13 20:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/: http.pm, newt.pm, stdio.pm: - handle
+ setting 'ok' && 'cancel' - handle isWizard in newt (basic
+ handling)
+
+2002-08-13 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: remove completly setting 'ok' &
+ 'cancel' since it's better done per interactive::* to handle
+ correctly the Wizard mode
+
+2002-08-13 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: button "Previous" and "Next" are not
+ only there in interactive::gtk
+
+2002-08-13 17:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_CN.po: updated Chinese file
+
+2002-08-13 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: check the config file
+ isn't empty
+
+2002-08-13 16:42 Fançois Pons
+
+ * perl-install/crypto.pm: added a true value.
+
+2002-08-13 16:23 Fançois Pons
+
+ * perl-install/share/rpmsrate: removed duplicate aspell-xx as DrakX
+ will take care of them now.
+
+2002-08-13 16:22 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed stupid typo.
+
+2002-08-13 16:21 Fançois Pons
+
+ * perl-install/pkgs.pm: allow selecting a choice package according
+ to locales-xx found.
+
+2002-08-13 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: (export_to_install_X): if monitor
+ is p'n'p, don't save it for auto_install
+
+2002-08-13 12:28 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-13 12:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: add "Australian Optus cable TV"
+ support (need xawtv <= 3.76)
+
+2002-08-13 12:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, zh_CN.po, zh_TW.po: updated Portuguese and Chinese files
+
+2002-08-13 12:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake-ui doesn't have to
+ provides kudzu
+
+2002-08-13 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: require latest perl-MDK-Common
+
+2002-08-13 10:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/gen_locales.sh: corrected erros that made the
+ script fail
+
+2002-08-12 23:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: create a backup of XF86Config
+ (XF86Config.old)
+
+2002-08-12 23:42 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove useless 2 GNOME
+
+2002-08-12 23:41 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: logo for beta 3
+
+2002-08-12 23:40 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: update LSB text
+
+2002-08-12 22:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm, keyboard.pm,
+ network/network.pm: - fix reading previous keyboard config on
+ upgrade (for displaying in summary) - ensure keyboard and mouse
+ configuration are not overwritten if not explictly modified on
+ upgrade - propagate pci=xxx at install to bootloader (since
+ "pci=bios,biosirq" is needed on some box, see
+ http://islay.dyndns.org/taz/index.html for more)
+
+2002-08-12 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use setExportedVarsInSh for setting
+ /etc/profile.d/proxy.sh so that http_proxy and ftp_proxy are
+ exported (thanks to Pascal <pascal@vmfacility.fr>)
+
+2002-08-12 21:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: - add setExportedVarsInSh and
+ setExportedVarsInCsh - remove setVarsInCsh (obsoleted by
+ setExportedVarsInCsh)
+
+2002-08-12 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: don't switch to 2 buttons dialog box
+ if the labels are too long in ask_from_list (otherwise it's ugly
+ (reported for XFdrake multi-head choice with 67 & 58 chars
+ strings) (fix bug #62)
+
+2002-08-12 19:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, mouse.pm, Xconfig/default.pm: use
+ $::prefix
+
+2002-08-12 19:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: Makefile, gen_locales.sh,
+ locales-skeleton.tar.bz2: locale name <-> charset correspondances
+ better matching what DrakX uses
+
+2002-08-12 19:12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: spell checking
+
+2002-08-12 18:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2002-08-12 18:08 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-12 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: fix embedding
+
+2002-08-12 17:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, bg.po, br.po, bs.po, ca.po, cs.po,
+ cy.po, zh_CN.po: updated Chinese file
+
+2002-08-12 17:55 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed stupid change (almost hope it was
+ really changes).
+
+2002-08-12 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: update TODO list
+
+2002-08-12 17:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/proxy.pm: allow ftp_proxy beginning with http:
+ (thanks to Christophe Combelles)
+
+2002-08-12 16:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: print fields values in blue, paint
+ unknown module in red
+
+2002-08-12 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk.pm, harddrake/ui.pm: consolidate
+ create_factory_menu
+
+2002-08-12 14:53 Fançois Pons
+
+ * perl-install/pkgs.pm: fix to reduce size of already installed
+ packages.
+
+2002-08-12 14:53 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: synced to force
+ calling selectPackagesAlreadyInstalled in order to have installed
+ and upgrade computed (necessary to known if a package is already
+ installed or will be upgradable to compute size more precisely).
+
+2002-08-12 14:51 Fançois Pons
+
+ * perl-install/install_steps.pm: allow removing packages on
+ upgrade.
+
+2002-08-12 14:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, ui.pm: - on exit, kill the running
+ configurator if any
+
+2002-08-12 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modules.pm, harddrake/ui.pm: -
+ modules::get_parameters : consolidate some code - harddrake::ui :
+ uses it
+
+2002-08-12 13:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk.pm, harddrake/ui.pm: - ugtk::gtkexpand : new
+ function - harddrake::ui : uses it
+
+2002-08-12 13:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - perl_checker fix -
+ simplifications
+
+2002-08-12 13:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - put signals ids in %IDs -
+ consolidate duplicated disconnection code into disconnect
+
+2002-08-12 13:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: write_on_pixmap: kill unused variable
+
+2002-08-12 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: ugtk.pm, harddrake/ui.pm: tree_set_icon: new
+ function
+
+2002-08-12 11:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: el.po, eo.po, es.po, et.po, eu.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated po files
+
+2002-08-12 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: create_okcancel isn't in ugtk so don't
+ export it (warning fix)
+
+2002-08-12 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table/raw.pm: add Acronis bootloader magic
+
+2002-08-12 00:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: add "PreReq: rpm-helper" in
+ drakxtools-http as advised by rpmlint
+
+2002-08-12 00:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - compare_entries is now called
+ same_entries - same_entries try hard to return true even if the
+ files not the same but symlinks to the same file - rework
+ add_entry (it handles weird case which used to give old_linux and
+ old2_linux even if they are the same) - ensure the old failsafe
+ entry doesn't give any old_failsafe
+
+2002-08-11 23:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: allow to enter any mount
+ point even in non-expert (why was it still the other way??)
+
+2002-08-11 23:55 Pixel <pixel at mandriva.com>
+
+ * docs/comparisons: comprehensive feature-to-feature comparison
+ with redhat 8.0
+
+2002-08-11 23:16 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated
+
+2002-08-11 22:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: adding aspell-LANGS before evolution
+ to workaround the choices limitation (=> allow to choose the
+ right aspell-LANG)
+
+2002-08-11 22:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: fix yet another bug regarding
+ credentials during install
+
+2002-08-11 21:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: th.po, tr.po: updated Turkish file
+
+2002-08-11 21:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: get rid of the duplicated /tmp in for
+ suggestions_mntpoint() (thanks to Amaury)
+
+2002-08-11 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (prepare_write_fstab): no need to read the
+ fstab once again before writing since reading takes care of
+ everything, including unknown entries (which go to {special}).
+ This fixes a bug when removing existing partition with associated
+ mount point. It used to keep the entry in fstab, which is wrong
+ (as reported by andré <naderrt@wanadoo.fr>)
+
+2002-08-11 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies): module "floppy" can
+ fail to insmod, in that case it means there's no floppy
+ controller, so don't try fd0 & fd1 which may cause havoc (esp.
+ segfault) (thanks to rcc)
+
+2002-08-11 20:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load): when isStandalone, ignore errors
+ when loading unavailable modules (ie have the same behaviour as
+ during install)
+
+2002-08-11 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - rename LVMname to VG_name - part2hd:
+ allow rootDevice to be a VG_name - add auto_allocate_vgs
+
+2002-08-11 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm: rename LVMname to VG_name
+
+2002-08-11 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - vg_add: do not vgremove the old_name
+ anymore, this is dangerous and should not happen - lv_create: fix
+ bug when {primary}{normal} didn't exist - use
+ run_program::get_stdout instead of `` - create and use run() and
+ run_or_die() which takes care of running vgscan again when needed
+ - rename LVMname to VG_name
+
+2002-08-11 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: add get_stdout (similar to
+ rooted_get_stdout)
+
+2002-08-11 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: nice message when
+ rebootNeeded in auto_install (otherwise it reboots without
+ prompting)
+
+2002-08-11 18:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Setup of HP MF
+ devices on parallel port did not work. Fixed. Allow setup of MF
+ device if device file name "/dev/printer/<number>" was entered.
+ If auto-detection of model name fails, ask user always whether he
+ has an MF device. If SNMP or local auto-detection fails but HPOJ
+ auto-detection succeeds, use model name found by HPOJ.
+
+2002-08-11 13:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, hr.po,
+ hu.po, sk.po, sl.po, sp.po, sr.po, sv.po: updated some po files
+
+2002-08-11 13:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: cleanup
+
+2002-08-10 19:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated po file
+
+2002-08-10 18:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: workaround perl bug another way
+
+2002-08-10 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: - fix computing the
+ minimal size for reiserfs resizing - use run_program::run instead
+ of system for calling resizing tools
+
+2002-08-10 18:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Removed HP multi-function device
+ configuration from SMB and remote LPD printer setup. Let the
+ Sony IJP-V100 being treated as an HP multi-function device.
+ Taken into account that the HP PhotoSmart 7150 has no photo card
+ reader.
+
+2002-08-10 09:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated po file
+
+2002-08-10 03:30 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Use
+ any::get_secure_level() instead of printer::get_security_level().
+
+2002-08-10 03:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: GUI fixes, scp, rsync,
+ webDAV, CD, tape support. Consolidate all net methods into one
+ configure screen. Daemon mode, email fixed. Ran perl_checker and
+ corrected. GUI feedback during various backup modes and result
+ report. CD/Tape drive/media detection. Start to look at
+ cataloging runs for locating restore media.
+
+2002-08-10 03:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Scanning network for printers did
+ not work during installation. Fixed.
+
+2002-08-09 20:45 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: small update to avoid
+ side effect of bless to HASH even if nothing results from this.
+
+2002-08-09 20:44 Fançois Pons
+
+ * perl-install/install_any.pm: fixed loadO when getFile is not used
+ (local files).
+
+2002-08-09 20:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, id.po: updated French and
+ Indonesian files
+
+2002-08-09 19:17 Fançois Pons
+
+ * perl-install/pkgs.pm: take care of packages already installed
+ that will be removed (untested).
+
+2002-08-09 19:17 Fançois Pons
+
+ * perl-install/install_steps.pm: make sure size of packages is
+ computed.
+
+2002-08-09 18:51 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: No longer requires metacity-setup
+ (everything can be done using gnome-control-center) Ensure we
+ install enough GNOME packages when selection GNOME
+
+2002-08-09 17:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-08-09 16:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2002-08-09 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: module parameters're now read from
+ /etc/modules.conf before being altered
+
+2002-08-09 14:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: harddrake changes
+
+2002-08-09 14:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modparm.pm: no need anymore to pass extra arguments
+ for harddrake::ui
+
+2002-08-09 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - module configuration window: o
+ read current options o don't display ranges, we cannot really
+ know when a range is needed and so display them in wrong
+ cases (kill code, enable us to simplify
+ modparm::parameters after o read & parse modules.conf only
+ when configuring the module, not on each click in the tree
+ o move up "require module" since we use it above o
+ use get_options accessor instead of direct $conf access o
+ split the options string into a hash{option => value} o
+ don't call several times interactive->vnew o fix busy cursor
+ on window exit because of the previous change
+
+2002-08-09 14:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: mergein_conf: return options if they're
+ set
+
+2002-08-09 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (mkinitrd): when an initrd is already
+ there, it means an initrd is needed not the contrary (thanks to
+ Damon Lynch for his test)
+
+2002-08-09 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove previous report.bug.gz
+ (otherwise one get a report.bug *and* the previous report.bug.gz)
+ (report.bug's are not rotated, ddebug.log's and install.log's
+ are)
+
+2002-08-09 13:07 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2, perl-install/install_any.pm,
+ perl-install/share/list.i386: add fsck.jfs
+
+2002-08-09 13:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, modparm.pm, harddrake/ui.pm: - fix module
+ parameter dialog box handling - enable the cancel on
+ load_module__ask_options
+
+2002-08-09 12:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: resync with bttv-0.7.95, add
+ support for : - tv cards: o Hauppauge WinTV PVR o
+ Leadtek|WinFast VC 100 - tv tuners: o LG NTSC (newer TAPC
+ series)
+
+2002-08-09 12:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: perl_checker fixes
+
+2002-08-09 11:24 Fançois Pons
+
+ * perl-install/interactive.pm: allow cancel button even for wizard.
+
+2002-08-09 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: fix rights on files
+
+2002-08-09 01:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: (services): better sorting of services
+
+2002-08-09 00:39 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: various changes
+
+2002-08-08 22:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: card.pm, main.pm, monitor.pm: when
+ prompting for VideoRam, default to the value obtained via DDC
+
+2002-08-08 22:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: do not hard code icon path
+
+2002-08-08 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: explain the fscking "Processor"
+ need
+
+2002-08-08 20:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: (set_resolution): handle the
+ optional $resolution->{Y} (@resolutions): add 1280x960
+
+2002-08-08 20:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: handle the pb of
+ resolutions where X doesn't imply Y (eg: 1280x1024 and 1280x960)
+
+2002-08-08 19:58 Fançois Pons
+
+ * perl-install/fs.pm: make sure fsck is called for ext3 partition
+ (due to possible kernel panic on corrupted ext3 partition, even
+ after mounting ext3, umounting and remounting ext2).
+
+2002-08-08 19:23 Fançois Pons
+
+ * make_boot_img: added more detailed help files, fixed bad reset of
+ text mode.
+
+2002-08-08 18:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, timezone.pm: use $::prefix in
+ timezone::read
+
+2002-08-08 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (tvout): rough default value for
+ PAL vs NTSC
+
+2002-08-08 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: fix typo
+
+2002-08-08 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, timezone.pm: timezone::read now
+ returns a hash
+
+2002-08-08 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfreeX.pm: replace 1152x768 with 1152x864 as
+ it should and used to be
+
+2002-08-08 17:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-08-08 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - write_passwd_user: ensure {pw} is set (at
+ least '') - cleanup dead code
+
+2002-08-08 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: - fix detecting use of MD5
+ and shadow passwords - cosmetic move of any::addUsers
+
+2002-08-08 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't add users in group usb
+ (unneeded (?), anyway doesn't do anything since group usb doesn't
+ exist currently)
+
+2002-08-08 16:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, share/keyboards.tar.bz2:
+ Added Tamils TSCII keyboard
+
+2002-08-08 15:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added some support for Tamil (proper KDE
+ default fonts, and define it as iso8859-1 encoding for kde)
+
+2002-08-08 14:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: corrected errors
+
+2002-08-08 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (configure_FB_TVOUT): add
+ ModeLines (Florent Beranger says it displays better with them)
+
+2002-08-08 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_window_manager_to_logout): adapt to new
+ gnome
+
+2002-08-08 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - remove the icons in
+ reallyChooseGroups - add the LSB group
+
+2002-08-08 13:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, scanner.pm: old hp scanners
+ report themselves as "Processor"s as : - tested in hw lab -
+ written in linux/include/scsi/scsi.h: "TYPE_PROCESSOR.*HP
+ scanners use this" - reported by sane-find-sane: "old HP
+ scanners use the CPU id"
+
+2002-08-08 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_gtk.pm, install_steps_gtk.pm,
+ my_gtk.pm: - remove buttons to change theme - add F5 to change
+ the theme to the 'white' theme - cleanup the theme code
+
+2002-08-08 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: workaround a
+ weird pb with gtk: still re-creating help Gtk::Text at each step
+ :-/
+
+2002-08-08 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: - remove the
+ "help" button - ensure the help box is not created twice (except
+ when changing theme)
+
+2002-08-08 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: sort security level descriptions
+
+2002-08-08 10:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2002-08-08 03:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm:
+ Windows PDC -> Windows Domain, don't make samba dirs - samba
+ fixed now
+
+2002-08-07 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/netconnect.pm: (get_profiles): get rid of
+ "glob", clean it up
+
+2002-08-07 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: replace glob() with all()
+
+2002-08-07 20:05 Christian Belisle
+
+ * perl-install/security/shorewall.pm: shorewall-related functions
+ will go here.
+
+2002-08-07 19:13 Fançois Pons
+
+ * perl-install/pkgs.pm: call rpmReadConfigFiles before installing
+ packages.
+
+2002-08-07 17:52 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use isolinux non-debug version
+
+2002-08-07 17:51 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: do not ask user to
+ select ignored medium.
+
+2002-08-07 17:50 Fançois Pons
+
+ * perl-install/pkgs.pm: do not read package of ignored medium
+ (contrib) to save memory.
+
+2002-08-07 17:23 Fançois Pons
+
+ * make_boot_img: reduce progress bar again (8).
+
+2002-08-07 17:09 Fançois Pons
+
+ * perl-install/install_steps.pm: added automatic update of lilo
+ image and KDE & GNOME background.
+
+2002-08-07 16:59 Fançois Pons
+
+ * perl-install/install_any.pm: getAndSaveFile now return before
+ writing zero-length file if input file doesn't exists on
+ invocation.
+
+2002-08-07 16:51 Fançois Pons
+
+ * perl-install/install2.pm: allow automatic oem patch. add log if
+ successfull patching.
+
+2002-08-07 16:33 Fançois Pons
+
+ * perl-install/crypto.pm: allow patching of mirror used.
+
+2002-08-07 15:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2002-08-07 15:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: "LABEL=xxx" in fstab handling
+
+2002-08-07 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: load glx in any case (well except
+ for nvidia proprietary shit)
+
+2002-08-06 22:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, harddrake/data.pm: make perl_checker
+ happier :-)
+
+2002-08-06 22:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, harddrake/data.pm: - dont detect undef
+ devices
+
+2002-08-06 22:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: log changes
+
+2002-08-06 21:38 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: typo, change /etc/exports
+ explanation in help
+
+2002-08-06 21:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: detect modem too
+
+2002-08-06 21:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/network/modem.pm: nobody pass the second argument of
+ network::modem::modem_detect_backend() so let simplify it
+
+2002-08-06 20:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: remove old references to rectangle drawing
+ around mcc icons
+
+2002-08-06 20:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, harddrake/data.pm,
+ standalone/scannerdrake: - rename scanner::findScannerUsbport as
+ scanner::detect as in mouse.pm - scanner::detect : detect SCSI
+ scanners too
+
+2002-08-06 19:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, fr.po, wa.po: updated French
+ and Walloon files
+
+2002-08-06 17:15 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add ov518_decomp in multimedia/tv
+
+2002-08-06 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: add "use run_program" as needed
+
+2002-08-06 15:06 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-06 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (get_kernels_and_labels): only take
+ kernels for which we have the corresponding /lib/modules/VERSION
+ (otherwise mkinitrd will fail)
+
+2002-08-06 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: (raw): new function allowing special
+ options like {timeout}
+
+2002-08-06 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ddcxinfos): use the new run_program::raw
+ with a 20s timeout to workaround ddcxinfos going wild using 100%
+ system CPU
+
+2002-08-06 14:45 Fançois Pons
+
+ * perl-install/pkgs.pm: added log to follow dead lock to check what
+ may cause it).
+
+2002-08-06 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_any.pm, my_gtk.pm: make
+ perl_checker happy
+
+2002-08-06 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: parse.pm, xfree3.pm, xfree4.pm, xfreeX.pm:
+ make wacom config work
+
+2002-08-06 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - add /tmp in %suggestions for server
+ partitioning - tweak some ratio's in %suggestions
+
+2002-08-06 13:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Increased the level of "yudit"; it's
+ one of the editors with best utf-8 support, so very useful to
+ have.
+
+2002-08-06 12:16 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/tools.pm: - set the vpi vci correctly
+ according to selected country.
+
+2002-08-06 12:08 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add warly,jgotti
+
+2002-08-06 10:43 jgotti
+
+ * perl-install/bootlook.pm: add standalone::explanations for
+ bootsplash configuration
+
+2002-08-06 02:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: any.pm, share/po/fr.po, share/po/pl.po,
+ share/po/wa.po: Put _() around two strings in security level
+ choosing
+
+2002-08-06 02:00 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: adapt regexp on archname to thread-multi
+
+2002-08-06 01:58 Pixel <pixel at mandriva.com>
+
+ * rescue/: list, list.alpha, list.i386, list.ia64, list.ppc,
+ list.sparc, list.x86_64: - adapt to thread-multi - packdrake.pm
+ is now out of arch dir
+
+2002-08-06 01:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: rebuild for perl thread-multi
+
+2002-08-06 01:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, mouse.pm: do the job of devfsd in case
+ devfsd doesn't do it
+
+2002-08-06 01:13 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_any.pm: smbpasswd call deferred with
+ addToBeDone
+
+2002-08-06 00:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: switch to thread-multi
+
+2002-08-05 22:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: call the "Quit" button exit during
+ install (as suggested by David Sansome)
+
+2002-08-05 22:08 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile, perl-install/share/list: packdrake.pm is now in
+ vendorlib
+
+2002-08-05 22:01 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: removed unused strings
+
+2002-08-05 21:23 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation, ugh... after
+ second beta so much changes??
+
+2002-08-05 20:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: pt.po, tr.po: updated po files
+
+2002-08-05 20:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Make/Model/Driver list in expert
+ mode: Fixed bug of "recommended" driver entries getting a
+ duplicate entry without "recommended" when entering the list via
+ double-click on existing queue / "Printer manufacturer, model,
+ driver".
+
+2002-08-05 19:19 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: 1.1.9-5mdk
+
+2002-08-05 17:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-08-05 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modparm.pm, modules.pm, harddrake/ui.pm: - export
+ %modules::conf - kill modparm::raw_parameters and
+ modparm::parameter_type which get merged back in
+ modparm::parameters - add more parameters to modparm::parameters
+ for harddrake
+
+ harddrake/ui.pm | 19 ++++++++++---------
+ modparm.pm | 33 +++++++++------------------------
+ 2 files changed, 19 insertions(+), 33 deletions(-)
+
+2002-08-05 17:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modparm.pm, harddrake/ui.pm: no one use second
+ paramater of raw_parameters
+
+2002-08-05 17:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: modparm.pm, harddrake/ui.pm: factorize some code
+ in modparm::parameter_type
+
+2002-08-05 15:31 Guillaume Cottenceau
+
+ * perl-install/my_gtk.pm: the state can be XXX also in flat mode,
+ for disabling the setting of the state
+
+2002-08-05 15:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, my_gtk.pm, standalone/XFdrake,
+ standalone/drakTermServ, standalone/drakautoinst,
+ standalone/drakboot, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/draksec, standalone/drakxservices,
+ standalone/keyboarddrake, standalone/mousedrake,
+ standalone/printerdrake, standalone/scannerdrake,
+ standalone/tinyfirewall: replace "kill USR1" with "kill 'USR1'"
+ (and same for USR2) (so that 'use strict' works)
+
+2002-08-05 15:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Makefile: lib64 fixes
+
+2002-08-05 15:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree4.pm: still have HorizSync and
+ VertRefresh for Plug'n Play monitors (XFree4 still need some
+ help)
+
+2002-08-05 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: as suggested by Buchan
+ Milne, defaults LDAP Server to ldap.DOMAINNAME
+
+2002-08-05 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: fix Option's (especially for
+ XFree3)
+
+2002-08-05 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: make perl_checker happy
+
+2002-08-05 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: don't have Utah GLX the default.
+ XFree4 is the default
+
+2002-08-05 14:39 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, share/list,
+ share/list.i386, share/list.ppc, share/list.x86_64: - Move
+ xf86Wacom.so modules to {i386,ppc}-specific filelist - Make
+ filelists lib64 aware with LIB variable - Add x86_64-specific
+ filelist
+
+2002-08-05 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: adapt to ugtk
+
+2002-08-05 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: english fixes
+
+2002-08-05 13:13 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - do not show empty wizard when
+ save button clicked.
+
+2002-08-05 13:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, commands.pm, common.pm,
+ detect_devices.pm, fsedit.pm, install2.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ interactive.pm, keyboard.pm, lang.pm, log.pm, printer.pm,
+ steps.pm, harddrake/data.pm, harddrake/ui.pm, network/network.pm:
+ s/__END__/1;
+
+2002-08-05 12:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hu.po, sv.po: updated po files
+
+2002-08-05 12:51 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - cleanup (remove all sms
+ stuffs: code and labels) - do not expand mail address
+
+2002-08-05 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: (install): verify at least one
+ package is not installed before displaying a wait_message and
+ calling urpmi (thanks to Jure Repinc) (is_installed): use
+ run_program and redirect stdout to dave null for cleanness
+
+2002-08-05 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: a few more fixes (thanks Jure
+ Repinc & Richard Burt)
+
+2002-08-05 12:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: bootloader.pm, commands.pm, common.pm,
+ detect_devices.pm, fsedit.pm, install2.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ interactive.pm, keyboard.pm, lang.pm, log.pm, printer.pm,
+ steps.pm, harddrake/data.pm, network/network.pm: kill "wonderful
+ perl"
+
+2002-08-05 12:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, standalone/drakautoinst,
+ standalone/drakgw, standalone/logdrake, standalone/scannerdrake:
+ kill $Log (487 useless lines supressed from drakxtools)
+
+2002-08-05 09:50 Guillaume Cottenceau
+
+ * perl-install/drakxtools.spec: 1.1.9-4mdk
+
+2002-08-05 02:45 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Finished
+ auto-detection of network and SMB printers. Added automatic
+ configuration of HP's multi-function devices when connected via
+ HP JetDirect (network).
+
+2002-08-04 23:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm:
+ partial rework of Windows PDC authentication, still need to run
+ smbpasswd after network is up
+
+2002-08-04 02:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printerdrake.pm: Accelerated
+ network scanning for printers by applying "nmap" only to machines
+ which answered to a broadcast ping before. Completed network/SMB
+ printer auto-detection for recommended mode. Started network/SMB
+ printer auto-detection for expert mode.
+
+2002-08-02 19:27 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - expand $email in cron script
+
+2002-08-02 19:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - disable sms alerts (free sms
+ site too complicated to handle). Postponed - mail service
+ should work now - clean up code - give the correct right to cron
+ file to work correctly - fix titi mess
+
+2002-08-02 16:55 jgotti
+
+ * perl-install/standalone/drakboot: minor bugfix in calling
+ bootloader::read
+
+2002-08-02 15:18 Guillaume Cottenceau
+
+ * perl-install/: my_gtk.pm, interactive/gtk.pm: move
+ interactive::gtk::exit to my_gtk::exit so that my_gtk apps can
+ call it (and fix busy mouse cursor problem that way)
+
+2002-08-02 14:41 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - avoiding looping
+ indefinitalely when selecting items in combo
+
+2002-08-02 14:40 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: add lsb group
+
+2002-08-02 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: keyboarddrake now handles choosing
+ toggle key (XkbOptions)
+
+2002-08-02 13:30 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - add commandline arguments:
+ drakbug --report name_app
+
+2002-08-02 02:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Corrected strings for printer queue list
+ in main window.
+
+2002-08-02 01:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added stuff for scanning network
+ for SMB printer shares.
+
+2002-08-02 01:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Added facility to scan network
+ for SMB/Windows-hosted printers.
+
+2002-08-02 00:48 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: new logo for beta 2
+
+2002-08-01 23:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: drop keyboard unsafe
+ when not unsafe anymore
+
+2002-08-01 23:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: don't have "unsafe" in
+ /etc/sysconfig/keyboard
+
+2002-08-01 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, commands.pm, install2.pm,
+ install_steps.pm, install_steps_interactive.pm, keyboard.pm,
+ printerdrake.pm, Xconfig/default.pm, Xconfig/parse.pm,
+ Xconfig/xfreeX.pm, standalone/keyboarddrake: - the old
+ $o->{keyboard} is now $o->{keyboard}{KEYBOARD} - KBCHARSET is
+ $o->{keyboard}{KBCHARSET} - isNotDelete is
+ $o->{keyboard}{BACKSPACE} (as written in sysconfig/keyboard) -
+ add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE" - add
+ dialog box to choose GRP_TOGGLE
+
+2002-08-01 23:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (duplicate_kernel_entry): added
+
+2002-08-01 23:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: finish tvout configuration
+
+2002-08-01 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, ui.pm: update
+
+2002-08-01 21:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.config, drakxtools.spec: drakconf is dead
+
+2002-08-01 21:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/tinyfirewall.pm: kill stupide style
+
+2002-08-01 21:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: we already require perl-GTK-GdkImLib so
+ temporary disable Gtk::Gdk::Pixbuf support, thus removing all
+ gdk/gtk warnings
+
+2002-08-01 21:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: add_icon_path is exported in
+ :various
+
+2002-08-01 20:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: fix the many warnings when
+ {icon} is not given
+
+2002-08-01 20:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated vietnamese file
+
+2002-08-01 20:18 Guillaume Cottenceau
+
+ * perl-install/: drakxtools.spec, my_gtk.pm, ugtk.pm: commit
+ according to 1.1.9-1mdk of drakxtools, and especially: -
+ integrate patches in my_gtk and ugtk for new rpmdrake: - [ugtk]
+ add "gtkentry" so that we can create an entry and set initial
+ value in one call - [my_gtk::main] don't set the events, to fix
+ keyboard focus problem in entries when embedded -
+ [my_gtk::_create_window] add $::noBorder, to not have a frame
+ in the main window, so that it's possible to end up with
+ windows with no border - [my_gtk] add ask_dir which is a
+ ask_file with only the dir list - [my_gtk] add
+ ask_browse_tree_info to the export tags, and: - add support for
+ parents with no leaves, so that then we can partially build
+ the trees (for speedup) - add "delete_all" and
+ "delete_category" callbacks - use Gtk::CList::clear when
+ removing all the nodes, much speedup
+
+2002-08-01 20:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: BusID needs a string (thanks to
+ Florent BERANGER)
+
+2002-08-01 19:45 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/disk.c: Add missing includes, <string.h> for bzero()
+
+2002-08-01 19:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: tinyfirewall.pm, standalone/tinyfirewall:
+ perl_checker fixes
+
+2002-08-01 19:29 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/: adsl.pm, netconnect.pm: - First ECI adsl
+ support step
+
+2002-08-01 19:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxconf: remove obsolote file
+
+2002-08-01 19:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: perl_checker fix
+
+2002-08-01 19:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/logdrake: perl_checker fixes
+
+2002-08-01 19:20 Guillaume Cottenceau
+
+ * perl-install/share/: base.png, installed.png, rpm-base.png,
+ rpm-installed.png, rpm-selected.png, rpm-semiselected.png,
+ rpm-unselected.png, selected.png, semiselected.png,
+ unselected.png: change some png files names according to
+ simplification of gtkcreate_png call of new my_gtk.pm
+
+2002-08-01 19:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 17mdk: stage 1
+
+2002-08-01 19:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: perl_checker fixes
+
+2002-08-01 19:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: perl_checker fixes
+
+2002-08-01 18:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/: scannerdrake, drakxtv: perl_checker
+ fixes
+
+2002-08-01 18:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, harddrake/ui.pm: perl_checker fixes
+
+2002-08-01 18:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: perl_checker fixes
+
+2002-08-01 18:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: scanner.pm, harddrake/data.pm: perl_checker fixes
+
+2002-08-01 18:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: bttv.pm, data.pm: perl_checker fixes
+
+2002-08-01 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/.perl_checker: tune perl_checker
+
+2002-08-01 18:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - workaround for the busy mouse
+ cursor set by gtkset_mousecursor_wait() in my_gtk::destroy
+
+ - remove debugging prints
+
+ - don't handle "$::isEmbedded ? kill('USR1', $::CCPID) :
+ Gtk->exit(0);", it's done by interactive->exit()
+
+2002-08-01 17:46 Warly <warly at mandriva.com>
+
+ * make_boot_img: shorten the syslinux progress bar
+
+2002-08-01 17:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-08-01 17:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: use new dam's email
+
+2002-08-01 16:24 Dam's
+
+ * perl-install/ugtk.pm: removed fonctions typage
+
+2002-08-01 15:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: my_gtk.pm, ugtk.pm: move back Gtk->init to "new"
+ and "gtkroot"
+
+2002-08-01 14:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/ugtk.pm: remove INFO warnings
+
+2002-08-01 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: my_gtk.pm, ugtk.pm: make perl_checker happy
+
+2002-08-01 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/loopback.pm: (prepare_boot): use $::prefix
+
+2002-08-01 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: get rid of some
+ $prefix parameter passing
+
+2002-08-01 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fsedit.pm,
+ install_steps.pm, pkgs.pm: get rid of some $prefix parameter
+ passing (using $::prefix where needed instead)
+
+2002-08-01 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: don't display a wait_message in newt,
+ but do suspend
+
+2002-08-01 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: drakxtools.spec, my_gtk.pm, ugtk.pm: my_gtk: -
+ splitup it into my_gtk and ugtk as done by dams - resync with
+ dams - increase the icon blinkage from 50ms to 100ms
+
+2002-08-01 13:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm:
+ bootloader::suggest uses a hash for its options
+
+2002-08-01 12:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: %postun -n harddrake: return 0 when
+ nothing has to be done
+
+2002-08-01 12:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/ui.pm, standalone/harddrake2: export
+ license
+
+2002-08-01 12:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/TODO, harddrake/ui.pm,
+ standalone/harddrake2: move embedded and standalone managment
+ from harddrake::ui to standalone/harddrake2
+
+2002-08-01 12:09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-08-01 11:55 jgotti
+
+ * perl-install/bootlook.pm: - add splash theme section
+
+2002-08-01 11:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: in newt, have the
+ resolutions sorted by resolution size (wilplizgg)
+
+2002-08-01 11:52 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/make_rescue_img: While stripping libraries, note that we
+ may need to have both /lib and /lib64 on biarch systems.
+
+2002-08-01 11:50 jgotti
+
+ * perl-install/pixmaps/nosplash_thumb.png: add pixmap for drakboot
+
+2002-08-01 11:45 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.x86_64: Add x86_64-specific filelist
+
+2002-08-01 11:44 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/: list, make_rescue_img: - MDK::Common'ize for arch()
+ support - Don't grab /lib/i686/ libraries - Update list to use
+ LIB which expands to either lib64 or lib
+
+2002-08-01 10:58 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * docs/HACKING: Add /bin/mknod to command list of sudoers
+
+2002-08-01 02:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Added new packages needed by
+ printerdrake.
+
+2002-08-01 02:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Let packages "nmap" and "scli" get
+ installed by printerdrake.
+
+2002-08-01 02:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Printer model auto-detection for
+ ethernet-connected printers when setting up TCP/Socket, remote
+ LPD, IPP, or HTTP printers. Continued work on scanning the local
+ network for printers. In "setup_local()": Renamed variable
+ "@parport" to "@autodetected". Do not let list of auto-detected
+ printers get sorted alphabetically, it should stay sorted by
+ ports. Fixed typo in file name in "check_network()".
+
+2002-08-01 01:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/XFdrake,
+ standalone/diskdrake, standalone/drakTermServ,
+ standalone/drakautoinst, standalone/drakbackup,
+ standalone/drakboot, standalone/drakconnect,
+ standalone/drakfloppy, standalone/drakfont, standalone/drakgw,
+ standalone/drakproxy, standalone/draksec,
+ standalone/drakxservices, standalone/drakxtv,
+ standalone/keyboarddrake, standalone/logdrake,
+ standalone/mousedrake, standalone/net_monitor,
+ standalone/printerdrake, standalone/scannerdrake,
+ standalone/tinyfirewall: Handle parsing --embedded command line
+ in standalone.pm => allows to remove the somewhat mythical
+ $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+)
+ (\w+)/
+
+2002-08-01 00:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, detect_devices.pm, install_any.pm,
+ printer.pm, Xconfig/various.pm, Xconfig/xfreeX.pm,
+ diskdrake/interactive.pm, network/ethernet.pm,
+ network/netconnect.pm, network/network.pm,
+ resize_fat/info_sector.pm, resize_fat/main.pm: make perl_checker
+ happy again (replacing "{xx}->{yy}" by "{xx}{yy}")
+
+2002-08-01 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig/card.pm, Xconfig/main.pm,
+ Xconfig/various.pm, standalone/XFdrake: - add non-wizard ability
+ to XFdrake - first part of ATI TVout support (still needs
+ patching initscript, and adding an entry in bootloader) (and
+ testing of course :)
+
+2002-07-31 23:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf): when creating a symlink on
+ the system, use devfs name if devfs is mounted
+
+2002-07-31 23:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: what is needed for usbmouse
+ is "hid mousedev usbmouse" not the weird "serial_usb"
+
+2002-07-31 22:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (read): don't look at /dev/mouse symlink
+ to get {device}, sysconfig/mouse gives it, so why bother (this
+ fixes /dev//dev/misc/psaux bug)
+
+2002-07-31 22:33 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-07-31 22:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 15mdk (will be released tomorrow
+ before the beta2)
+
+2002-07-31 22:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, data.pm, ui.pm: - bump harddrake
+ version - module configuration is saved (todo: read the config)
+
+2002-07-31 22:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modparm.pm: split parameters in raw_parameters and
+ parameters. raw_parameters is used by harddrake to list module
+ options in order to offer a module configuration window.
+
+2002-07-31 22:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: initial configuration window for
+ modules. nothing is done yet.
+
+2002-07-31 22:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: use configure_chooser when there
+ is an existing configuration
+
+2002-07-31 22:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive/gtk.pm: allow "icon" to use the icon
+ path
+
+2002-07-31 22:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/various.pm: (info): fix displaying depth
+
+2002-07-31 22:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: (choose_gtk):
+ ensure the response is one of @resolutions (so that Y and maybe
+ bios is kept) (to_string): created
+
+2002-07-31 22:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: handle cancel in
+ xfree_and_glx_choose
+
+2002-07-31 22:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_box_with_title): create an empty
+ box when there is no message (also don't set $o->{box} since
+ unused outside of this function)
+
+2002-07-31 22:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: allow acceptLicence to be automatic
+
+2002-07-31 21:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: remove latest (?) gtk warnings
+
+2002-07-31 21:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't display bogus fields
+
+2002-07-31 21:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, ui.pm: in embedded mode, don't
+ kill the main gtk app (aka drakconf) but only harddrake
+
+2002-07-31 21:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, ui.pm: - add embedded mode for
+ drakconf
+
+2002-07-31 20:59 Christian Belisle
+
+ * perl-install/security/msec.pm: - Fix page change between checks
+ -> advanced
+
+2002-07-31 19:43 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/Makefile.PL: lib64 fixes
+
+2002-07-31 19:34 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * kernel/check_mar.pl: Exclude some modules (e100, aic7xxx) on
+ x86_64 for now.
+
+2002-07-31 19:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Started working on network printer
+ auto-detection.
+
+2002-07-31 19:30 Pixel <pixel at mandriva.com>
+
+ * kernel/check_mar.pl: fix error message
+
+2002-07-31 19:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: further simplification
+
+2002-07-31 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: default VideoRam choice 4096 when
+ needVideoRam
+
+2002-07-31 19:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Added subroutines for ethernet
+ printer auto-detection.
+
+2002-07-31 18:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - the hw tree and the info text are
+ auto-size now
+
+ - further ui simplifications
+
+2002-07-31 18:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: don't require detect-lst, it'll
+ take harddrake instead :-(
+
+2002-07-31 18:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: still more my_gtk simplifications
+
+ ui.pm | 49 ++++++++++++++++---------------------------------
+ 1 files changed, 16 insertions(+), 33 deletions(-)
+
+2002-07-31 18:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/monitor.pm: fix keeping the existing name
+ when choosing monitor
+
+2002-07-31 18:39 Christian Belisle
+
+ * perl-install/security/: main.pm, msec.pm: - Factorize
+ options-related functions - s/choose_options/choose_functions -
+ Added security checks page
+
+2002-07-31 18:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - simplify Gtk::Text filling
+
+ - less gtk warnings get printed
+
+2002-07-31 18:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: further my_gtk simplifications
+
+2002-07-31 18:04 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: further my_gtk simplifications
+
+2002-07-31 17:55 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - many changes - command line
+ support (--report name_of_program), to be used in tools -
+ ergonomy fixes (use table to align widget correctly)
+
+2002-07-31 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: further use of my_gtk
+
+2002-07-31 17:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - remove useless realizations
+
+ - simplify ctree and frames creation
+
+2002-07-31 17:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, pt.po: updated Portuguese file
+
+2002-07-31 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, install_any.pm,
+ install_gtk.pm, my_gtk.pm, printer.pm, network/isdn.pm,
+ network/modem.pm, network/network.pm, network/tools.pm: replace
+ "$foo" with $foo
+
+2002-07-31 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: change the location of X test image
+ as told by dadou
+
+2002-07-31 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po,
+ help-fr.pot, help-it.pot, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po,
+ tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-07-31 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - make used once callbacks be
+ anonymous functions
+
+ - replace scores of useless ->show() call by one show_all() call
+
+ ui.pm | 82
+ +++++++++++++++++++++++++++---------------------------------------
+ 1 files changed, 34 insertions(+), 48 deletions(-)
+
+2002-07-31 16:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/network.pm: - have is_ip return the 4 parts
+ of the ip address - cleanup
+
+2002-07-31 16:30 Christian Belisle
+
+ * perl-install/security/main.pm: - factorize functions (many
+ functions -> one function)
+
+2002-07-31 15:59 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/run_program.pm: - fix $ENV{HOME} value to '/root' if
+ usermode break it
+
+2002-07-31 15:57 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: hopefully fix "device or resource busy"
+ problem in cdrom automatic mode (I messed up between truth value
+ and number in a list... the first value is numbered "0" whicih is
+ "false"...)
+
+2002-07-31 15:05 Christian Belisle
+
+ * perl-install/security/msec.pm: - put the basic button on top (in
+ the advanced page) - move set_server_link in the ignore list
+ temporary
+
+2002-07-31 14:53 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: - s/GNOME/X/ for gnome-linuxconf
+
+2002-07-31 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, any.pm, bootlook.pm, commands.pm,
+ crypto.pm, detect_devices.pm, install2.pm, install_any.pm,
+ install_gtk.pm, install_interactive.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, keyboard.pm, modules.pm, mouse.pm,
+ my_gtk.pm, pkgs.pm, printer.pm, printerdrake.pm, services.pm,
+ Xconfig/card.pm, interactive/stdio.pm, network/adsl.pm,
+ network/ethernet.pm, network/isdn.pm, network/netconnect.pm,
+ network/tools.pm, resize_fat/main.pm, standalone/drakgw,
+ standalone/keyboarddrake, standalone/mousedrake: make new
+ perl_checker happy
+
+2002-07-31 13:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: rename a few target: - srpm -> slowsrpm -
+ fastsrpm -> srpm
+
+2002-07-31 13:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 14mdk
+
+2002-07-31 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update fr translation
+
+2002-07-31 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: fix using $_
+ instead of $_[0] (thanks to perl_checker)
+
+2002-07-31 12:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer.pm: "cp -a" doesn't need "echo yes|"
+
+2002-07-31 11:20 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/: TODO, data.pm: - bump version number
+
+ - fix pcmcia network card detection (no more unknown)
+
+ - fix scsi detection :
+
+ o fix SCSI controllers detection (no more unknown)
+
+ o fix misdetection of scsi devices as scsi host adapter
+
+ o fix double scsi devices detection (both unknown and
+ real
+ category)
+
+ - update TODO list
+
+2002-07-31 02:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm, commands.pm,
+ detect_devices.pm, devices.pm, fsedit.pm, install2.pm,
+ install_any.pm, install_gtk.pm, install_interactive.pm,
+ install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, interactive.pm, keyboard.pm,
+ lang.pm, log.pm, modules.pm, mouse.pm, my_gtk.pm,
+ partition_table.pm, pkgs.pm, printer.pm, printerdrake.pm,
+ raid.pm, services.pm, swap.pm, Xconfig/card.pm,
+ Xconfig/resolution_and_depth.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, interactive/gtk.pm,
+ interactive/stdio.pm, network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/isdn_consts.pm, network/netconnect.pm,
+ network/network.pm, network/smb.pm, network/tools.pm,
+ partition_table/raw.pm, resize_fat/directory.pm,
+ resize_fat/fat.pm: make new perl_checker happy (and that's not
+ easy!)
+
+2002-07-30 23:45 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: - mv drakbug executable from
+ $$SBINDEST to $$BINDEST
+
+2002-07-30 23:10 Christian Belisle
+
+ * perl-install/security/main.pm: -complete re-write of draksec. The
+ main functions will go in this file.
+
+2002-07-30 23:09 Christian Belisle
+
+ * perl-install/security/libsafe.pm: - complete re-write of draksec.
+ splitted all the libsafe related functions in this file.
+
+2002-07-30 23:07 Christian Belisle
+
+ * perl-install/: standalone/draksec, security/msec.pm: - complete
+ re-write
+
+2002-07-30 21:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install_steps.pm,
+ install_steps_interactive.pm, keyboard.pm, c/stuff.xs.pl: use usb
+ keyboard bCountryCode to choose the right keyboard
+
+2002-07-30 21:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: never EVER put $xxxx in
+ to-be-translated strings!!
+
+2002-07-30 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Add2LVM): for LVM on
+ RAID, ensure the RAID is created & enabled
+
+2002-07-30 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/parse.pm: fix handling of commented empty
+ line
+
+2002-07-30 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbackup: don't translate useless
+ strings (here: "\n")
+
+2002-07-30 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: further translations
+
+2002-07-30 16:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakbug: deush need to learn english
+
+2002-07-30 16:36 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update fr translation
+
+2002-07-30 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_steps_interactive.pm: - call
+ fsck.jfs before mounting read-write (otherwise mount simply
+ fails) - propose fsck -y for ext2 when fsck -a fails
+
+2002-07-30 14:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * tools/Makefile: lib64 fixes
+
+2002-07-30 12:55 Guillaume Cottenceau
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ it.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: reflect errata changes
+
+2002-07-30 12:55 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: have errata in
+ parameter to not break too much updates 8.2->9.0
+
+2002-07-30 11:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakautoinst: use $o->{interactiveSteps}
+ instead of @install_steps_auto_install::graphical_steps
+
+2002-07-30 11:38 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: variuos fixes and updates
+
+2002-07-30 11:07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updates
+
+2002-07-30 10:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated po file
+
+2002-07-30 09:54 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm:
+ s/82errata.php3/90errata.php3/
+
+2002-07-30 02:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Better placement for waiting
+ message.
+
+2002-07-30 02:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed a typo and a comment in the
+ "SIGHUP_daemon()" function.
+
+2002-07-29 23:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed some "$prefix" issues in the HPOJ
+ auto-configuration and in the Star Office/OpenOffice.org
+ auto-configuration.
+
+2002-07-29 22:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: nicer error message when
+ "You can't create a new partition (since you reached the maximal
+ number of primary partitions). First remove a primary partition
+ and create an extended partition."
+
+2002-07-29 22:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: cleanup
+
+2002-07-29 22:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): also save chosen
+ on_services (this is the only thing left to do to make it work :)
+
+2002-07-29 22:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: (ask_standalone_gtk, ask_install): only
+ return the on_services (those functions used to return ($l,
+ $on_services) which used in a scalar context returned
+ $on_services)
+
+2002-07-29 21:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm:
+ (configure_auto_install): really use resolution_wanted given in
+ $o
+
+2002-07-29 21:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: fix rooted() when chrooted and
+ saving the result in a perl variable
+
+2002-07-29 21:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: - fix using deprecated
+ Xconfig.pm - document dam's hack for test mouse - cleanup - don't
+ bother reading XFree mouse config (using
+ keep_auxmouse_unchanged of mouse::write_conf)
+
+2002-07-29 21:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, standalone/XFdrake: make perl_checker
+ happy
+
+2002-07-29 21:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: - don't display "To activate the mouse,
+ MOVE YOUR WHEEL!" when not install - don't display "Please test
+ the mouse" either
+
+2002-07-29 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: allow to not mess with X config auxmouse
+ (that way mousedrake doesn't need to care about it)
+
+2002-07-29 21:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: (ask_for_X_restart): make it
+ work
+
+2002-07-29 19:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/default.pm: fix default config for mouse
+
+2002-07-29 19:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix mke2fs on loopback
+
+2002-07-29 19:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mouse.pm, my_gtk.pm: disallow big_help (when
+ pressing F1) when testing mouse
+
+2002-07-29 19:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: try to allow /boot on vfat (it used
+ to work)
+
+2002-07-29 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: fix
+ diskdrake::interactive::Options() excepts a value from
+ fs::mount_options_pack(), but fs::mount_options_pack() doesn't
+ return any value (reported by Olivier Thauvin)
+
+2002-07-29 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/test.pm: try harder to have "xfs" running
+
+2002-07-29 17:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-07-29 17:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: read and wrote /etc/modules.conf
+
+2002-07-29 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: - consolidate duplicated 'use
+ (warn|strict...' into nuke_perl target
+
+ - thus enable to fix bug reported by gc (aka i only fixed
+ localsrpm nuke, not srpm: one)
+
+2002-07-29 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: final changes batch
+
+2002-07-29 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - pixel: don't set release to 14mdk
+ when 13mdk hadn't be released ...
+
+ - list 13mdk changes
+
+2002-07-29 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: replace trigger by format test for
+ hw config file conversion
+
+2002-07-29 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: fix partition wizard choice
+ updating after calling diskdrake
+
+2002-07-29 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: ensure choosing install-or-upgrade
+ can't be done twice (since it's badly handled and hard to handle
+ nicely)
+
+2002-07-29 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: remove "Requires: groff" (nobody
+ know why it's there) (Pixel)
+
+2002-07-29 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: restore xdm choice previous
+ behaviour (auto_install)
+
+2002-07-29 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, network/smb.pm: - use $::prefix for
+ reading/writing (it was missing for writing) - use output_p so
+ that /etc/samba directory is created if needed (fix bug reported
+ by David Eastcott)
+
+2002-07-29 12:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: xpcd is still there (deush)
+
+2002-07-29 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - remove deprecated packages - adapt
+ some to their names
+
+2002-07-29 10:11 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: use aliases for stage1 params to
+ reduce kernel msg
+
+2002-07-29 01:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: CardsNames is not needed anymore
+
+2002-07-29 01:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/resolution_and_depth.pm: - make the gtk
+ resolution chooser work - dropped the differenciation between
+ embedded or not
+
+2002-07-29 01:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/main.pm: fix displaying info about current
+ configuration
+
+2002-07-29 00:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: make perl_checker happy
+
+2002-07-29 00:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/card.pm: rahh, don't commit my test code!
+
+2002-07-29 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm: thou hast served well, you may now lie
+ in peace
+
+2002-07-29 00:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/: FILES, card.pm, default.pm, main.pm,
+ monitor.pm, parse.pm, proprietary.pm, resolution_and_depth.pm,
+ screen.pm, test.pm, various.pm, xfree.pm, xfree3.pm, xfree4.pm,
+ xfreeX.pm: 14 new modules, will it be enough?? :)
+
+2002-07-29 00:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: adapt to new
+ Xconfig modules
+
+2002-07-28 23:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: wacom is now inside $mouse
+
+2002-07-28 23:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: - adapt to new Xconfig modules -
+ try out the new "XFdrake resolution" and "XFdrake monitor"
+ that'll get into DrakConf soon
+
+2002-07-28 23:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: adapt to new Xconfig modules
+
+2002-07-28 23:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (detect): return wacom inside $mouse
+ (mouseconfig): reduce the number of "Use of undefined value"
+ (set_xfree_conf): created
+
+2002-07-28 23:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix "nicer error message when {val}
+ is not set for ask_from & list" in case of a reference to a
+ reference (ref is REF instead of SCALAR)
+
+2002-07-28 23:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureX): adapt to
+ new Xconfig
+
+2002-07-28 23:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureX, configureXBefore,
+ configureXAfter): greatly simplified using new Xconfig stuff
+
+2002-07-28 23:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): no need to handle
+ $o->{X} as a special case, it's already done by
+ Xconfig::main::export_to_install_X
+
+2002-07-28 23:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (availableRamMB): use a precise
+ constraint on 'Card:Intel 810' instead of a regexp
+
+2002-07-28 23:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (running_window_manager): return the pids
+ found if wanted (ddcxinfos): ensure no probe is done when
+ $::noauto
+
+2002-07-28 20:14 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Numerous GUI crash fixes,
+ oddities. Install needed packages. Fix email, daemon modes. Add
+ rsync, webdav, cd, tape capabilities. Consolidate net method
+ setup screens. Add CD device capability query.
+
+2002-07-28 19:33 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: Check for/install
+ terminal-server and friends. More intelligent error message when
+ mkisofs fails. Cleanup code for use strict. Fix crash when no
+ backup dhcpd.conf.
+
+2002-07-28 01:40 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Fixes. There're some entries
+ concerning mdk 8.2 - they should be changed globally
+
+2002-07-27 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: use add_probeall for
+ scsi_hostadapter, not add_alias (may fix a bug reported by Jure
+ Repinc)
+
+2002-07-27 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (add_probeall): use "uniq" to have
+ modules only once in ddebug.log (a "uniq" was already in
+ modules.conf so it doesn't change the result)
+
+2002-07-27 03:28 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Completed
+ implementation of the support for HPOJ 0.9: Automatic photo card
+ reader configuration, bugfixes.
+
+2002-07-26 20:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: use run_program::rooted_get_stdout
+
+2002-07-26 20:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - fix dying when mkinitrd doesn't
+ create an initrd - cleanup
+
+2002-07-26 20:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, services.pm: use
+ run_program::rooted_get_stdout instead of `chroot $prefix ...`
+
+2002-07-26 19:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: (rooted_get_stdout): handle one line
+ return using wantarray
+
+2002-07-26 19:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: - also give the ability to redirect
+ to an array ref - add rooted_get_stdout which is alike ``
+
+2002-07-26 18:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: cleanup launching qiv (using
+ run_program)
+
+2002-07-26 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: add 2 functionalities to
+ run_program: - run_program::run(prog, '>', 'STDOUT', ...)
+ run_program::run(prog, '2>', 'STDERR, ...) which will run with
+ verbatim stdout or stderr - run_program::run(prog, '>', \$s, ...)
+ run_program::run(prog, '2>', \$s, ...) which will return the
+ stdout (resp. stderr) of the program in $s
+
+2002-07-26 15:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - s/channel/Channel/ - bus_id is
+ for usb devices too - remove obsolete fields info and name - add
+ nbuttons, device, old_device descriptions
+
+2002-07-26 15:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: changed _("") -> "" empty strings
+ must not be translated
+
+2002-07-26 14:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - add browser list in case
+ BROWSER env var isn't set
+
+2002-07-26 13:23 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - more consistency when back
+ button hit in wizard mode - back button at last stage.
+
+2002-07-26 13:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 13mdk
+
+2002-07-26 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: dadou said "no expert mode"
+
+2002-07-26 12:54 Pixel <pixel at mandriva.com>
+
+ * rescue/list: remove traceroute (c naze dixit gc)
+
+2002-07-26 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, share/gen_locales.sh: hy is now using
+ UTF8 locales
+
+2002-07-26 12:33 Guillaume Cottenceau
+
+ * mdk-stage1/rescue-gui.c: - usage of attribute unused (has not
+ been rebuilt since -W? ;p) - since i polluted the newt-frontend
+ with probing functions, i need to have probing functions (doing
+ nothing) here :-((
+
+2002-07-26 12:14 Pixel <pixel at mandriva.com>
+
+ * Makefile, rescue/Makefile: ensure rescue is built and uploaded
+
+2002-07-26 11:48 Fançois Pons
+
+ * tools/Makefile: fixed reference to rpmtools perl module.
+
+2002-07-26 02:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: First step of automatic HP
+ multi-function device configuration with HPOJ 0.9.
+
+2002-07-26 02:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Added detection of trhe serial
+ number of a USB printer (in preparation for HPOJ 0.9 support in
+ printerdrake).
+
+2002-07-26 01:23 Pixel <pixel at mandriva.com>
+
+ * kernel/: list_modules.pm, modules.pl: reorder modules to have
+ most used modules at the beginning of the mar's
+
+2002-07-26 00:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix loading ide-cd
+ (big thanks to rcc <rickscafe.casablanca@gmx.net> you did all the
+ work to resolve the pb) => this fixes ide burner detection
+
+2002-07-25 23:23 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/logdrake: - don't display services that
+ are not installed - word wrap string correctly - cleanup
+
+2002-07-25 22:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 12mdk
+
+2002-07-25 22:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: remove all gtk's "no
+ callback/signal to disconnect" warnings
+
+2002-07-25 22:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: add a fields data structure: - put
+ together field translation and field description - this enable to
+ get rid of %reverse_fields usage & creation - this ensure all
+ field names & translations are marked translatables for gettext
+ - move $wait declaration around its usage and explicit its
+ destruction - remove usb debugging message needed to trace the
+ null description bug i fixed in ldetect - simplify the device
+ fields rendering "because of" the above - simplify the help
+ window creation/display/destruction (only one statement left) -
+ explicitely call interactive->exit
+
+2002-07-25 22:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: only do one probeall here
+ (there's still many in detect_devices, probing caching should go
+ there)
+
+2002-07-25 21:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: merge timeout and
+ cancel cases
+
+2002-07-25 21:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: simplify: - we don't
+ need to set media_type, we don't use it - mouse and mass storage
+ media use the same key, let merge their code path
+
+2002-07-25 20:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: still less things to do
+
+2002-07-25 19:38 Fançois Pons
+
+ * tools/syncrpms: no more use rpmtools.pm.
+
+2002-07-25 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-07-25 19:31 Fançois Pons
+
+ * perl-install/pkgs.pm: added log.
+
+2002-07-25 19:30 Fançois Pons
+
+ * perl-install/pkgs.pm: small code changes for upgrade.
+
+2002-07-25 17:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: use a function icon_paths instead of
+ @icon_paths => this ensure that $ENV{SHARE_PATH} value (used in
+ @icon_paths) is set independently of the loading order of the
+ modules
+
+2002-07-25 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, timezone.pm,
+ partition_table/mac.pm: Help "perl -cw" not reporting any warning
+ - for mac free partition, use $freepart instead of
+ $freepart_device, $freepart_size ... - replace
+ $timezone::ntp_servers by a function
+
+2002-07-25 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: let the bootloader::mkinitrd error be
+ seen by the GUI
+
+2002-07-25 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: final batch of changes
+
+2002-07-25 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: use spec_test rather than test
+
+2002-07-25 16:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive/newt.pm: typo fix
+
+2002-07-25 15:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/c/stuff.xs.pl: don't copy struct pciusb_entries on
+ the stack
+
+2002-07-25 14:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-07-25 14:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix pixel "i do not need to
+ test" fscking bug that broke drakxtools build :-)
+
+2002-07-25 13:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 11mdk
+
+2002-07-25 13:32 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fix
+
+2002-07-25 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_newt.pm: please "perl -cw"
+
+2002-07-25 13:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: handle both old device name and new
+ devfs name
+
+2002-07-25 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: noreturn is now exported, no need to
+ MDK::Common::Various::noreturn()
+
+2002-07-25 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: remove internal_error (which is now in
+ MDK::Common)
+
+2002-07-25 12:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/verify_c: adapt to stuff.xs.pl instead of
+ stuff.xs.pm
+
+2002-07-25 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: add 0x35 partition table id
+ meaning JFS (under OS/2) (thank to Mika Laitio)
+
+2002-07-25 12:44 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fix
+
+2002-07-25 12:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, nl.po, vi.po: updated po files
+
+2002-07-25 12:28 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: one entry more clearly :)
+
+2002-07-25 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig/xfree.pm: (get_both): fix returning one
+ element (eg: get_keyboard)
+
+2002-07-25 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: add Xconfig
+
+2002-07-25 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: use Xconfig::xfree to set
+ the XkbLayout (better should&will come)
+
+2002-07-25 00:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: mouse.pm, Xconfig/parse.pm, Xconfig/xfree.pm,
+ Xconfig/xfree3.pm, Xconfig/xfree4.pm, Xconfig/xfreeX.pm: new
+ XFree handling library - only keyboard and mice functions are
+ done, but adding the others is quite easy - so for now only used
+ in mousedrake - but keyboarddrake and (of course) XFdrake will
+ come
+
+2002-07-25 00:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, Makefile.drakxtools:
+ add PMS_DIRS in Makefile.config and use it everywhere (cleaning
+ some ugly stuff in Makefile.drakxtools while doing so) => now
+ adding a new directory only need to be done at one place
+
+2002-07-25 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/log.pm: when testing, log on STDERR
+
+2002-07-24 23:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/: Makefile, stuff.xs.pl, stuff.xs.pm: rename
+ stuff.xs.pm to stuff.xs.pl (since it's a prog, not a module) (it
+ helps for not having stuff.xs.pm in PMS)
+
+2002-07-24 18:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: scanners support:
+
+ - split scannerdrake:val into vendor and description
+
+ - don't display bogus "val:%HASH"
+
+2002-07-24 18:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: don't account scanners as unknown
+ devices
+
+2002-07-24 16:05 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, disk.c, frontend.h, newt-frontend.c,
+ probing.c, probing.h, stage1.h, stdio-frontend.c, tools.c,
+ tools.h: enhance (complicate? ;p) device detection so that scsi
+ and usb detection are done only when no ide cdrom with mandrake
+ install is detected (speed up), have usb keyboard modules
+ installed before any interactive question, honour "noauto" (skip
+ usb detection and insmod'ing)
+
+2002-07-24 12:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fixes
+
+2002-07-24 10:24 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: the last untranslated entry
+
+2002-07-24 10:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, mt.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated po
+ files
+
+2002-07-24 08:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po: updated po files
+
+2002-07-23 22:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-07-23 19:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: further translations update
+
+2002-07-23 19:46 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: s/usb/moreprofessional/ thanks to vdanen
+
+2002-07-23 19:37 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-07-23 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: handle computers with no
+ /proc/scsi/scsi
+
+2002-07-23 17:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, interactive.pm: use fuzzy_pidofs (to
+ detect if kwin is running)
+
+2002-07-23 16:56 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: fuzzy cheched
+
+2002-07-23 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: remove dead code
+
+2002-07-23 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: remove dead args
+
+2002-07-23 16:42 Christian Belisle
+
+ * perl-install/security.pm: removal
+
+2002-07-23 16:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: check make got correct tag from spec file
+
+2002-07-23 15:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 10mdk changes
+
+2002-07-23 15:50 Fançois Pons
+
+ * perl-install/pkgs.pm: manage correctly unselectPackage and use
+ perl-URPM >= 0.50.
+
+2002-07-23 15:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: s/drakconnet/drakconnect
+
+2002-07-23 15:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove '-' before description for
+ IBM eide hard disks
+
+2002-07-23 15:23 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/security/msec.pm: - fix typo:
+ s/%%options;/%%options/
+
+2002-07-23 15:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: final changes batch
+
+2002-07-23 14:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: about and help windows: only show
+ "OK" button, cancel one has no purpose here
+
+2002-07-23 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: .cvsignore, Makefile, share/modparm.lst:
+ modparm.lst is not used anymore (modinfo -p)
+
+2002-07-23 13:16 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: have all useful modules for stage1 on all.rdz
+ (=> bigger than 2.88M)
+
+2002-07-23 13:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: fast build: new target (fastsrpm = cvstag
+ localsrpm)
+
+2002-07-23 13:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 9mdk
+
+2002-07-23 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help-eu.pot: rebuild after replacing \" by
+ "
+
+2002-07-23 13:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, Makefile.drakxtools,
+ any.pm, bootloader.pm, detect_devices.pm, drakxtools.spec,
+ fsedit.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_interactive.pm,
+ partition_table.pm, partition_table_bsd.pm,
+ partition_table_dos.pm, partition_table_empty.pm,
+ partition_table_gpt.pm, partition_table_lvm_PV.pm,
+ partition_table_mac.pm, partition_table_raw.pm,
+ partition_table_sun.pm, standalone.pm, diskdrake/hd_gtk.pm,
+ diskdrake/interactive.pm, partition_table/bsd.pm,
+ partition_table/dos.pm, partition_table/empty.pm,
+ partition_table/gpt.pm, partition_table/lvm_PV.pm,
+ partition_table/mac.pm, partition_table/raw.pm,
+ partition_table/sun.pm: g Move 2: partition table: hierarchy
+
+2002-07-23 12:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, Makefile.drakxtools,
+ Xconfigurator.pm, drakxtools.spec, install_any.pm,
+ install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, install_steps_newt.pm,
+ install_steps_stdio.pm, interactive.pm, interactive_gtk.pm,
+ interactive_http.pm, interactive_newt.pm, interactive_stdio.pm,
+ printerdrake.pm, services.pm, diskdrake/interactive.pm,
+ interactive/gtk.pm, interactive/http.pm, interactive/newt.pm,
+ interactive/stdio.pm, standalone/diskdrake,
+ standalone/drakautoinst, standalone/drakboot,
+ standalone/drakconnect, standalone/drakgw, standalone/drakxtv,
+ standalone/mousedrake, standalone/tinyfirewall: - Big Move 1:
+ interactive::* hierarchy
+
+2002-07-23 11:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: faster service startup
+
+2002-07-23 11:04 Guillaume Cottenceau
+
+ * make_boot_img: try to fix isolinux for 9.0 - default target has
+ automatic=method:cdrom so that no question is asked for method
+ and which cdrom drive - explanation about other targets being for
+ more installation options, and provide also default kernel in
+ these targets
+
+2002-07-23 01:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Adapted printerdrake
+ to CUPS 1.1.15 and Perl 5.8.0 (for Foomatic). Let network also
+ be started during installation when LPRng or PDQ is the spooler,
+ so that the user can install queues to remote printers.
+
+2002-07-22 23:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Newt/Makefile, c/Makefile, resize_fat/Makefile:
+ ensure things build as they should when perl is upgraded on
+ compilation box (using a nice scheme: make || make)
+
+2002-07-22 23:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, install2.pm, mouse.pm:
+ when $::noauto, hardwire no probing in detect_devices::probeall
+ to ensure no probing is never done
+
+2002-07-22 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/.cvsignore, share/po/Makefile,
+ share/po/help-de.pot, share/po/help-es.pot, share/po/help-eu.pot,
+ share/po/help-fr.pot, share/po/help-it.pot: - update help.pm
+ based on the xml manual - this fixes entities sticked together
+ with no space in between - this also implies a few bad
+ line-wrapping changes, but it needs to be done to have a
+ clean state (we don't have one since 8.2beta where i updated
+ things by hand) - put help-*.pot in CVS so that the files based
+ on the xml manual can be updated independently from DrakX.pot &
+ .po's
+
+2002-07-22 20:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - use new PerlIO instead of
+ iconv - transliterate by hand &ndash and &eacute - move "use
+ utf8" at top - fix the spaces between entities (eg:
+ &company-microsoft; &os-windows; must not be MicrosoftWindows)
+
+2002-07-22 19:46 Fançois Pons
+
+ * make_boot_img: make F1 go back to console mode.
+
+2002-07-22 17:39 Fançois Pons
+
+ * make_boot_img: fixed length of progress bar for isolinux, reduced
+ by 10%.
+
+2002-07-22 16:23 Fançois Pons
+
+ * perl-install/pkgs.pm: try avoiding infinite loop.
+
+2002-07-22 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2002-07-22 15:37 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/tools.pm: hide password in adsl
+ configuration
+
+2002-07-22 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-07-22 14:14 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: don't have iph5526 on stage1 (no room)
+
+2002-07-22 14:12 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add iph5526 network module (fibre
+ channel)
+
+2002-07-22 14:10 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: ustable modules not listed is not an error,
+ just a info
+
+2002-07-22 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: fix multi-head auto-choosing in
+ auto install
+
+2002-07-21 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: workaround "traverse_tag" pb in
+ Resolve.pm resolve_requested (is it ok??)
+
+2002-07-21 23:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: new snapshot
+
+2002-07-21 23:24 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: - network: add orinoco_plx -
+ scsi/hardware_raid: add qla2200 & qla2300 - sound: add audigy
+ snd-cs46xx snd-maestro3 snd-korg1212 snd-ens1370 snd-als4000 -
+ tv: add cyber2000fb - joystick: add emu10k1-gp iforce
+
+2002-07-21 23:20 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: - don't have qla2200 and qla2300 (too big, no
+ room for them) - add checking modules of pcitable and usbtable
+
+2002-07-21 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: Load "extmod" is a must! (for
+ things like shape and dga)
+
+2002-07-21 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: fix typo
+
+2002-07-21 14:25 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: no more locale.cz2, just keeping the
+ main charset /usr/share/locale/UTF-8
+
+2002-07-21 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - remove utf_xxx charsets, adding a flag
+ UTF-8 instead - add during_install__lang2charset - when using
+ ramdisk, no locale.cz2 anymore: there are 3 main charsets
+ containing everything for all locales, except LC_CTYPE by
+ default, there is UTF-8. when asked for GB2312 or BIG5,
+ removing the other main charsets - cleanup comments (use #-
+ instead of #) - various cleanup
+
+2002-07-21 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: gen_locales.pl, gen_locales.sh: build per
+ languages symlinks using the new::during_install__lang2charset ->
+ this enables doing the same during install when using ramdisk
+ => no need to have a locale.cz2 anymore (this is now possible
+ since the number of special cases is lower than before)
+
+2002-07-21 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/locales-skeleton.tar.bz2: usr/share/locale
+ skeleton is now build in gen_locales.pl
+
+2002-07-20 23:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: - $in and $do_pkgs are no more
+ global => it's now easier to keep track of interactive vs
+ non-interactive functions - rename updateCardAccordingName into
+ add_to_card__using_Cards - rename cardConfigurationAuto into
+ probe_cards - and a few other function renamings
+
+2002-07-20 23:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: (getinfoFromXF86Config): move here
+ setting prefer_xf3 based on current choice on system
+
+2002-07-20 23:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: - rename updateCardAccordingName
+ into add_to_card__using_Cards - rename cardConfigurationAuto into
+ probe_cards - cleanup the simple XF86Config used during install
+
+2002-07-20 23:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: call config_dvd with $have_devfsd
+
+2002-07-20 23:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - rename
+ updateCardAccordingName into add_to_card__using_Cards - rename
+ cardConfigurationAuto into probe_cards
+
+2002-07-20 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: try very hard to make rdvd work: - if not
+ using devfs, it worked so keeping things unchanged - if using
+ devfs, using the new dynamic rawdevice.script script to bind a
+ rawdevice on demand
+
+ pb: can't have both a devfs and a non-devfs config, the
+ /etc/sysconfig/rawdevices solution gives errors with devfs
+ (since the dvd is not REGISTERed yet)
+
+2002-07-20 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: please perl_checker
+
+2002-07-20 14:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm: shorter and nicer XF86Config's
+
+2002-07-20 14:21 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - complete app list
+
+2002-07-20 13:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typo
+
+2002-07-20 12:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf): use devfs names for
+ devfs/conf.d/xxx.conf, but not for the symlink in /dev (which is
+ used when devfs is not)
+
+2002-07-20 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, mouse.pm: devfssymlinkf doesn't have any
+ return value, so don't check it
+
+2002-07-20 01:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: reduce "Use of uninitialized
+ value" in a heavy used place (useful when debugging)
+
+2002-07-20 01:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: - reorganize monitor tree - merge
+ XF3 & XF4 server/module choosing - replace {eide} by {EISA_ID}
+ (=> {monitor} cleanup) - ensure a few "Cancel" are more better
+ handled - ensure the default monitor in the monitor tree is the
+ last chosen one
+
+2002-07-20 01:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: read monitor's VendorName & ModelName
+
+2002-07-20 01:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: - fix good_default_monitor
+ (must not be 1600x1200!) - add r128 & radeon in XF4 drivers list
+
+2002-07-19 23:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf): try devices::to_devfs when
+ devfs_device is not provided
+
+2002-07-19 23:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add functions to_devfs and from_devfs.
+ These only work for devices entries which can go devfs -> normal
+ and normal -> devfs
+
+2002-07-19 23:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, mouse.pm: (devfssymlinkf): use
+ devfs_device instead of device when available
+
+2002-07-19 23:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: help perl_checker
+
+2002-07-19 23:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, partition_table.pm: handling
+ devfs names for cdrom/hds on ide/scsi (needs testing)
+
+2002-07-19 20:00 Fançois Pons
+
+ * make_boot_img: make progress bar more appropriate.
+
+2002-07-19 19:57 Fançois Pons
+
+ * make_boot_img: reduce progress bar width.
+
+2002-07-19 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: partly cleanup monitor
+ re-configuration (work in progress)
+
+2002-07-19 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: fix default_monitors to
+ adapt new MonitorsDB
+
+2002-07-19 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: (readCardsDB): add handling
+ BAD_FB_RESTORE & BAD_FB_RESTORE_XF3
+
+2002-07-19 17:47 Fançois Pons
+
+ * perl-install/install_any.pm: select default_packages directly
+ during setPackages.
+
+2002-07-19 17:46 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure
+ unselectMostPackages is called (so that changes in
+ default_packages are taken into account... but is may be any
+ changes here ?).
+
+2002-07-19 17:17 Fançois Pons
+
+ * perl-install/any.pm: revert changes so that DrakX work again.
+
+2002-07-19 16:55 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/adsl.pm: - check if speedtouch_mgmt exist
+ before installing it
+
+2002-07-19 16:54 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use lilo-bmp2mdk which is now in path
+
+2002-07-19 15:48 Fançois Pons
+
+ * perl-install/install_any.pm: fix typo on what_provides (for
+ pitchounette :-)).
+
+2002-07-19 15:47 Fançois Pons
+
+ * perl-install/standalone.pm: fix typo on last commit.
+
+2002-07-19 15:44 Fançois Pons
+
+ * perl-install/standalone.pm: added what_provides.
+
+2002-07-19 15:37 Fançois Pons
+
+ * perl-install/install_any.pm: added what_provides.
+
+2002-07-19 15:18 Christian Belisle
+
+ * perl-install/any.pm: - remove any msec related functions - remove
+ 'use security::msec'
+
+2002-07-19 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: - don't write XF86Config when no
+ {card}{server} - don't write XF86Config-4 when no {card}{driver}
+ - workaround mixing values from existing config and
+ cardConfigurationAuto() - fix asking VideoRam - fix device0 in
+ XF86Config
+
+2002-07-19 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: nicer error message when {val} is
+ not set for ask_from & list
+
+2002-07-19 15:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt.po: updated Portuguese file
+
+2002-07-19 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: rename $i in $X (to have the
+ same as Xconfigurator.pm)
+
+2002-07-19 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm: - use "device1",
+ "device2"... for "Device" Identifier - restore having a nice
+ VendorName + BoardName (since Identifier is not very useful) -
+ get {card}{Chipset} from existing XF86Config - use $::prefix -
+ drop obsolete stuff: Ramdac, Dacspeed, Clockchip - drop
+ {card}{flags}, the few flags are moved directly to {card} -
+ force_xf4 is now a global in Xconfigurator - create new functions
+ for better modularity: multi_head_config, xfree_and_glx_choices,
+ xfree_and_glx_choose - for ppc, allow choosing DRI or not - need
+ flag {card}{use_DRI_GLX} and {card}{use_UTAH_GLX} deciding wether
+ to use DRI_GLX or UTAH_GLX. That way, {card}{DRI_GLX},
+ {card}{UTAH_GLX} are only flags allowing or not DRI/UTAH. -
+ {card}{use_xf4} is dropped. New function using_xf4 has this
+ functionality. The flags are now: - using XF4 if {driver} &&
+ !{prefer_xf3} otherwise using XF3 - error if $force_xf4 &&
+ !{driver} || !{driver} && !{server} - internal error if
+ $force_xf4 && {prefer_xf3} || {prefer_xf3} && !{server} -
+ {card}{description} contains what used to be {card}{identifier} -
+ rename {card}{type} to {card}{card_name} - drop {monitor}{type}
+
+2002-07-19 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't pass the prefix parameter,
+ not needed/wanted anymore
+
+2002-07-19 12:06 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: -
+ any::setup_thiskind_backend changed in
+ any::load_category_no_message
+
+2002-07-19 11:59 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: stage1 version s/8.2/cooker/
+
+2002-07-18 21:21 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm:
+ add support/option for Windows(tm) authentication via winbind
+
+2002-07-18 20:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: useless standalone dependancy for
+ pixel fscking checker
+
+2002-07-18 20:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, standalone/XFdrake:
+ don't pass the prefix parameter, not needed/wanted anymore
+
+2002-07-18 19:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 7mdk changes
+
+2002-07-18 19:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: faster startup: remove use
+ (diagnostics|vars|strict) in srpm target as in local target (dams
+ fsck)
+
+2002-07-18 19:30 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/network/netconnect.pm: . draknet renamed in
+ drakconnect
+
+2002-07-18 19:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: s/draknet/drakconnect/
+
+2002-07-18 19:15 Christian Belisle
+
+ * perl-install/security/msec.pm: - add prefix var in file names -
+ remove useless expert_mode var - add get_options(): will be used
+ to get various options from msec
+
+2002-07-18 19:07 Christian Belisle
+
+ * perl-install/security/msec.pm: move the msec related functions
+ from any.pm to msec.pm. create sec_options
+
+2002-07-18 19:05 Christian Belisle
+
+ * perl-install/standalone/draksec: create the main() function in
+ security.pm
+
+2002-07-18 19:04 Christian Belisle
+
+ * perl-install/security.pm: Re-Addition: will contain the security
+ related (but not related to any apps) funtioncs and the draksec
+ interface.
+
+2002-07-18 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install_any.pm: use $::prefix instead
+ of $::o->{prefix}
+
+2002-07-18 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - set $::prefix - drop $o->{root} (was
+ "/tmp/root-perl-install" when testing but completly unused)
+
+2002-07-18 18:46 Christian Belisle
+
+ * perl-install/security.pm: removing
+
+2002-07-18 18:08 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fixes with new urpm library of
+ urpmi.
+
+2002-07-18 17:53 Fançois Pons
+
+ * perl-install/pkgs.pm: removed all the commented out code
+ obsoleted.
+
+2002-07-18 17:51 Fançois Pons
+
+ * perl-install/install_any.pm: fixes allowNVIDIA_rpms against
+ perl-URPM.
+
+2002-07-18 17:48 Fançois Pons
+
+ * perl-install/install_any.pm: really fixes it.
+
+2002-07-18 17:47 Fançois Pons
+
+ * perl-install/install_any.pm: fixes error if package is not found
+ (regression fixed).
+
+2002-07-18 16:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 6mdk final changes
+
+2002-07-18 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-07-18 16:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: - bump version number - move scsi
+ & ata controllers, tv-audio, dvd, burners, ... in their own
+ "non configurable" sections
+
+2002-07-18 15:11 Fançois Pons
+
+ * tools/updatehdlist: added back support for multiple hdlists.
+
+2002-07-18 15:10 Fançois Pons
+
+ * isolinux-graphic.bmp: picture for isolinux in graphic mode (start
+ with 9.0 beta1).
+
+2002-07-18 15:09 Fançois Pons
+
+ * make_boot_img: add bmp2mdk of isolinux picture if present.
+
+2002-07-18 13:16 Warly <warly at mandriva.com>
+
+ * perl-install/share/logo-mandrake.png: install logo for 9.0 beta 1
+
+2002-07-18 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm: - %standard_monitors are now in Cards+,
+ dropping them - multi head support generalized, now based on
+ Cards+ MULTI_HEAD - fix some ModeLines being written twice in
+ XF86Config - remove setting DefaultFbBpp to 32 (since it is the
+ default in all my tests)
+
+2002-07-18 11:35 Fançois Pons
+
+ * perl-install/pkgs.pm: fix speed improvement for computeGroupSize
+ by computing closure directly (in order to have an approximative
+ size, not the real one).
+
+2002-07-18 10:44 Fançois Pons
+
+ * perl-install/pkgs.pm: add back change CD support.
+
+2002-07-17 20:24 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: some more fixes
+
+2002-07-17 20:09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: some little changes
+
+2002-07-17 16:59 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: remove debugging code
+
+2002-07-17 15:17 Guillaume Cottenceau
+
+ * tools/cvslog2changelog.pl: add daouda chaumette cbelisle
+
+2002-07-17 15:02 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: add snd-via8233 (many others would need
+ to be added...)
+
+2002-07-17 15:01 Pixel <pixel at mandriva.com>
+
+ * Makefile: all.rdz is needed to update isolinux
+
+2002-07-17 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/drakxtools.spec: the new XFdrake needs latest
+ ldetect-lst
+
+2002-07-17 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm, install_steps.pm, standalone/XFdrake:
+ Big Xconfigurator.pm cleanup/rework
+
+ - use $X instead of $o (to avoid name conflict with DrakX's $o) -
+ {flag}{noclockprobe} unused, dropping it - rename {memory} into
+ "VideoRam" - rename {ramdac} into {Ramdac} - rename {chipset}
+ into {Chipset} - rename {clockchip} into {Clockchip} - rename
+ {keyboard}{xkb_model} into {keyboard}{XkbModel} - rename
+ {keyboard}{xkb_keymap} into {keyboard}{XkbLayout} - drop
+ {mouse}{chordmiddle} (obsolete) - drop {mouse}{cleardtrrts}
+ (obsolete, was not written to XF4 config) - &testConfig is
+ unused, removing it - as a concequence, {clocklines} is never
+ set, dropping it - when UNSUPPORTED remove {driver}, instead of
+ setting {flag}{unsupported} - Cards+ now only provide {Chipset}
+ for cards needing it => {flag}{needChipset} not needed anymore
+ - moved setting needVideoRam in Cards+ (via NEEDVIDEORAM)
+ (hoping it will work: since the regexp was broken, it was never
+ done. (it was applied on the module field of pcitable,
+ instead of the description)) - dropped
+ modelines_text_Trident_TG_96xx case (it has never been used) -
+ rename %xkb_options into %XkbOptions - rename {DRI_glx} into
+ {DRI_GLX}, the value now comes from Cards+ instead of
+ regexp'ing {identifier} - rename {Utah_glx} into {UTAH_GLX}, the
+ value now comes from Cards+ instead of regexp'ing {identifier}
+ - rename {Utah_glx_EXPERIMENTAL} into {UTAH_GLX_EXPERIMENTAL},
+ the value now comes from Cards+ instead of regexp'ing
+ {identifier} - very_bad_card and bad_card are now the same, the
+ value now comes from Cards+ (BAD_FB_RESTORE &
+ BAD_FB_RESTORE_XF3) - drop unused @accelservers - remove
+ $modelines_text_apple, use $modelines_text_ext instead - don't
+ use a <Section "Modes"> together with <UseModes "Mac Modes">, put
+ directly modelines in Section "Monitor" (why should ppc
+ behave differently than others!?) - replace (conflicting)
+ ModeLines "1280x1024 @ 74 Hz" and "1280x1024 @ 76 Hz" with
+ "1280x1024 @ 75 Hz" (from ddcxinfos) - drop ModeLine "640x480 @
+ 72 Hz" (it conflicts, and anyway, it has no real use nowadays
+ :) - drop comments about HorizSync, VertRefresh and ModeLine's
+ from XF86Config - drop many unneeded stuff from XF86Config:
+ AutoRepeat, Xqueue, Xleds, NoTrapSignals, XkbTypes, XkbKeycodes,
+ XkbCompat, XkbRules, LeftAlt/RightAlt/ScrollLock/RightCtl - drop
+ section comments from XF86Config - drop XF86_Mono configuration
+ (it doesn't work anyway, seems like it needs a special ModeLine?)
+ - drop 320x200 with XF86_SVGA (who can use this!?) - do not write
+ Screen section "accel" if the server configured is not an accel
+ one - drop the "Generic VGA" Device section for XF4 (this
+ device is unused) - drop {monitor}{vendor}, {monitor}{model},
+ {card}{vendor}, {card}{model}, {card}{board} (only description
+ strings, not useful for running the server) - use x_res instead
+ of wres for things like 1024 in 1024x768
+
+2002-07-17 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: move the "if !$::testing" for not modifying
+ inittab in function runlevel() (was in install_steps.pm)
+
+2002-07-17 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: normalize Modeline to ModeLine
+
+2002-07-17 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: add function "internal_error" (a
+ specialized "die")
+
+2002-07-17 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (test_pms): exclude urpm from uses
+
+2002-07-17 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: use {XXX} instead of
+ {'XXX'} (as detected by new perl_checker)
+
+2002-07-17 13:48 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: added missing use pkgs.
+
+2002-07-17 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm, commands.pm: remove
+ "$_ =~ " (as detected by new perl_checker)
+
+2002-07-17 13:16 Guillaume Cottenceau
+
+ * perl-install/pkgs.pm: spell right harddrake (two 'd') in
+ @preferred
+
+2002-07-17 00:54 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: unused string removed
+
+2002-07-16 20:58 Christian Belisle
+
+ * perl-install/security.pm: draksec - initial commit. preparing for
+ the advanced section.
+
+2002-07-16 19:42 Christian Belisle
+
+ * perl-install/standalone/draksec: re-write the part setting the
+ security admin
+
+2002-07-16 19:42 Fançois Pons
+
+ * perl-install/crypto.pm: allow upgrade (if any) by using version
+ at 8.2.
+
+2002-07-16 19:41 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: code cleanup.
+
+2002-07-16 19:41 Christian Belisle
+
+ * perl-install/any.pm: draksec: - rewrite the function to set the
+ security admin - remove ugly buttons, 'advanced' button will come
+ later
+
+2002-07-16 19:41 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: improve a little.
+
+2002-07-16 19:41 Fançois Pons
+
+ * perl-install/pkgs.pm: update with newer perl-URPM.
+
+2002-07-16 18:03 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/: drakbug, drakxconf,
+ interactive_http/authorised_progs: o finish moving draknet to
+ drakconnect in standalone
+
+2002-07-16 16:06 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: extend a bit fatal error when trying to
+ execute /usr/bin/runinstall2 and it's not possible
+
+2002-07-16 15:38 Guillaume Cottenceau
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: reflect typo fix in any.pm in the po's so that the
+ translation are not broken
+
+2002-07-16 14:42 Guillaume Cottenceau
+
+ * perl-install/any.pm: small english fix thx to vdanen
+
+2002-07-16 12:03 Fançois Pons
+
+ * perl-install/install2.pm: fixed reference to step
+ 'selectPackagesToUpgrade'.
+
+2002-07-16 12:02 Fançois Pons
+
+ * perl-install/install_any.pm: fixed die when choosePackages step
+ is redone.
+
+2002-07-16 12:02 Fançois Pons
+
+ * perl-install/install_steps.pm: removed useless package selection
+ cleaning.
+
+2002-07-16 12:00 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed missing upgrade.
+ added wait message when finding packages to upgrade.
+
+2002-07-16 12:00 Fançois Pons
+
+ * perl-install/pkgs.pm: added log (finding packages to upgrade or
+ computing installed flag)
+
+2002-07-16 11:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: don't display etags command (too long, not
+ nice)
+
+2002-07-16 11:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakTermServ: fix "$" in translated
+ string
+
+2002-07-15 19:56 Fançois Pons
+
+ * perl-install/install2.pm: synced.
+
+2002-07-15 19:56 Fançois Pons
+
+ * perl-install/install_any.pm: synced with other module updated.
+
+2002-07-15 19:55 Fançois Pons
+
+ * perl-install/install_steps.pm: code re-organisation (a little).
+
+2002-07-15 19:54 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed flag usage (still check
+ selected package to upgrade but already selected are correctly
+ shown).
+
+2002-07-15 19:54 Fançois Pons
+
+ * perl-install/pkgs.pm: made upgrade almost work again (need
+ testing and remove/deselect still doesn't work properly).
+
+2002-07-15 19:53 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: cleaned no more used method.
+
+2002-07-15 18:33 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/draksec: - isStandalone is set in
+ standalone.pm, removed.
+
+2002-07-15 18:31 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - isStandalone is set in
+ standalone.pm, removed
+
+2002-07-15 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: revert titi's error
+
+2002-07-15 17:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/draksec: - set isStandalone to 1 to
+ center wait messages
+
+2002-07-15 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: move USB and SMBus controllers
+ from unknown section to their own non configurable section too
+
+2002-07-15 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: put ide controller in their own
+ non configurable subtree to prevent users to misunderstand why
+ they're unknown/others
+
+2002-07-15 14:29 Fançois Pons
+
+ * perl-install/Makefile: updated to drop URPM... reference for
+ test_pms.
+
+2002-07-15 14:29 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: just updated to use monitor icons
+ all the time (fallback to 1280 monitor aspect).
+
+2002-07-15 14:28 Fançois Pons
+
+ * perl-install/bootloader.pm: now use kept c::rpmvercmp instead of
+ removed pkgs::versionCompare.
+
+2002-07-15 14:27 Fançois Pons
+
+ * perl-install/install_any.pm: updated NVIDIA support for new
+ methods.
+
+2002-07-15 14:27 Fançois Pons
+
+ * perl-install/: install_steps_interactive.pm,
+ install_steps_gtk.pm: fixed reference to no more used variable
+ since new callback scheme.
+
+2002-07-15 14:26 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed log referencing old methods of
+ stuff.xs no more existing. updated remove code (need testing).
+
+2002-07-15 14:25 Fançois Pons
+
+ * perl-install/network/isdn.pm: fixed reference to no more used
+ method of pkgs.
+
+2002-07-15 14:25 Fançois Pons
+
+ * perl-install/standalone/mousedrake: added patch from
+ imz@altlinux.ru
+
+2002-07-15 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: ease testing of standalone's when
+ non-superuser via setting TESTING=1
+
+2002-07-15 12:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: Updated Basque file
+
+2002-07-14 22:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: do not use 8-bit characters (they were
+ not useful anyway :)
+
+2002-07-12 18:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printerdrake.pm: fix undef
+
+2002-07-12 15:21 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 6mdk changes
+
+2002-07-12 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: ask_window_manager_to_logout: handle wmaker
+ too
+
+2002-07-12 15:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/any.pm: drop kde1 support
+
+2002-07-12 14:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: printerdrake.pm, install_steps.pm: draknet is
+ drakconnect now
+
+2002-07-12 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: draknet is replaced by drakconnect
+
+2002-07-12 14:04 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: - draknet_conf to
+ drakconnect_conf
+
+2002-07-12 14:00 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/icons/: drakconnect_step.png,
+ wiz_drakconnect.png: - draknet png renaming
+
+2002-07-12 13:58 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/icons/: draknet_step.png,
+ wiz_draknet.png: - changing draknet to drakconnect
+
+2002-07-12 13:25 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated translation
+
+2002-07-12 10:39 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Metacity is now default WM for
+ GNOME2
+
+2002-07-11 19:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: replace drakconnet with drakconnect
+ :-(
+
+2002-07-11 19:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: replace draknet with drakconnet
+
+2002-07-11 19:13 Pixel <pixel at mandriva.com>
+
+ * rescue/list.i386: switch to vendor_perl
+
+2002-07-11 19:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: during install, between transactions, more
+ verbose message when killing processes still alive
+
+2002-07-11 19:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: no need to run service harddrake
+ start in %%post since the service doesn't anymore configure the
+ world when the previous config is empty
+
+2002-07-11 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove debugging info that
+ slipped in
+
+2002-07-11 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (config_mtools): don't create
+ /etc/mtools.conf if it doesn't exist
+
+2002-07-11 17:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/draknet: draknet is dead; viva el
+ drakconnect
+
+2002-07-11 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakconnect: update copyright
+
+2002-07-11 17:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/mouse.pm: fix the detection of the fscking mac ps/2
+ mouse ("Mouse:USB|1 button: Apple Computer|iMac Mouse [Human
+ Interface Devices|Boot Interface Subclass|Mouse]")
+
+2002-07-11 17:12 Damien Chaumette <dchaumette at mandriva.com>
+
+ * perl-install/standalone/drakconnect: changing draknet name to
+ drakconnect
+
+2002-07-11 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, modules.pm, mouse.pm,
+ printerdrake.pm: use get_probeall instead of get_alias for
+ usb-interface
+
+2002-07-11 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cleanup usbMice
+
+2002-07-11 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: list -5mdk changes
+
+2002-07-11 15:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - i18n: move $version out of
+ translatable strings
+
+ - ui: o increase default main window size o put back the hw
+ tree root o eide devices: split info between vendor and model
+ strings
+
+ - internals: o give meaningful names to some variables o
+ cleanups
+
+2002-07-11 14:25 sdupont
+
+ * perl-install/standalone/: drakbackup, drakfont: perltidy parsing.
+
+2002-07-11 14:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2002-07-10 21:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: Updated pot file
+
+2002-07-10 21:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: K7.png, cable.png,
+ cd.png, cpu.png, floppy.png, harddisk.png, harddrake.png,
+ hw_mouse.png, hw_network.png, hw_printer.png, ide_hd.png,
+ isdn.png, joystick.png, keyboard.png, memory.png, modem.png,
+ scanner.png, scsi.png, scsi_hd.png, sound.png, tape.png, tv.png,
+ unknown.png, usb.png, video.png, webcam.png: readd icons
+
+2002-07-10 20:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/ftp.pm: don't let Timeout kill us
+
+2002-07-10 18:39 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: nicer use of vendor_perl instead of site_perl
+ (check of rpmtools.pm and packdrake.pm presence) ... i had forgot
+ to commit :-(
+
+2002-07-10 18:25 Fançois Pons
+
+ * perl-install/: pkgs.pm, share/list, crypto.pm, install2.pm,
+ install_any.pm, install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: use perl-URPM instead of rpmtools.
+
+2002-07-10 18:21 Fançois Pons
+
+ * tools/Makefile: use vendor_perl instead of site_perl (check of
+ rpmtools.pm and packdrake.pm presence).
+
+2002-07-10 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/modparm.pm: rollback titi's modif
+
+2002-07-10 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cleanup
+
+2002-07-10 17:49 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modparm.pm: typo fix
+
+2002-07-10 17:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modparm.pm: no need to test two times if modinfo is
+ executable in normal (ie not in drakx) case ...
+
+2002-07-10 16:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: list and describe all gui tools
+ from drakxtools
+
+2002-07-10 15:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: detect_devices.pm, drakxtools.spec,
+ install_steps.pm, diskdrake/interactive.pm, harddrake/ui.pm:
+ enhance cohenrency: step 1
+
+ - ide and scsi devices use channel rather than bus to store their
+ physical connection, which is more logic (at least for eide)
+
+ - all devices have their connection bus in bus field, not in bus
+ for {pci,usb,...} and interface_type for
+ {scsi,eide,other_block_devices}
+
+ - detect_devices:getIDE() : add eide_hds hash in order to be able
+ to split info field between model and vendor
+
+ - harddrake::ui : code reduction allowed by the above changes
+
+2002-07-10 15:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools: remove all
+ (use\s+(diagnostics|vars|strict)' instances
+
+2002-07-10 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix parrallel build
+
+2002-07-10 14:32 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - code update - use local http
+ server for test.
+
+2002-07-10 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix perl depandancy on new perl
+
+2002-07-10 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add integer.pm (needed by Time::Local
+ (needed by Net::FTP))
+
+2002-07-10 00:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: rewrite getSCSI, now handling
+ scanners
+
+2002-07-10 00:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, modparm.pm: move join_lines to common
+
+2002-07-10 00:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: have MDK::Common's in TAGS
+
+2002-07-10 00:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: adapt to new perl 5.8.0
+
+2002-07-09 22:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/Makefile: fake make so that its builtin
+ rule to create file from file.sh doesn't nuke service_harddrake
+ with it wrapper
+
+2002-07-09 21:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake.sh: - redirect stderr -
+ remove old commented stuff
+
+2002-07-09 21:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: - configurator got
+ displayed - move timeout around configurator asking (still not
+ 100% ok)
+
+2002-07-09 17:43 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: time out after 200
+ seconds
+
+2002-07-09 16:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix url
+
+2002-07-09 16:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add harddrake service wrapper
+
+2002-07-09 16:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add harddrake service wrapper to
+ installed files
+
+2002-07-09 15:46 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: really final changes
+
+2002-07-09 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - add channel: primary/slave for
+ eide deivces - get rid of ->{set,get}_user_data
+
+2002-07-09 15:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: ensure we don't mix scsi and pci
+ devices
+
+2002-07-09 15:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: final batch of changes for -3mdk ?
+
+2002-07-09 15:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: Makefile.drakxtools, drakxtools.spec,
+ harddrake/TODO, standalone/service_harddrake,
+ standalone/service_harddrake.sh: fix boot freeze on hw change:
+ initscript was running us with stdout redirected to /dev/null;
+ just use a small sh wrapper to fix it
+
+2002-07-09 15:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: log only if options set
+
+2002-07-09 15:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update
+
+2002-07-09 12:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: typo fix
+
+2002-07-09 12:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: only log explanations in
+ standalone mode
+
+2002-07-08 22:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: remove fixed stuff
+
+2002-07-08 22:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: update
+
+2002-07-08 21:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix post: add start argument
+
+2002-07-08 21:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: no need to 'use strict' in
+ "binary"
+
+2002-07-08 19:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: service changes batch for 2mdk
+
+2002-07-08 19:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: rpmlint fixes
+
+2002-07-08 19:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: - only work on start -
+ add "please wait" message - really don't cry when no previous
+ config
+
+2002-07-08 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: parrallel build
+
+2002-07-08 18:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: s/PHONY/.PHONY/
+
+2002-07-08 17:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: 1.1.8-2mdk
+
+2002-07-08 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm: mtools config so that
+ "mdir a:" accesses the usb floppy if one is there
+
+2002-07-08 17:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - enhance descriptions - various
+ spec clean
+
+2002-07-08 17:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: split-up between harddrake and
+ harddrake-ui
+
+2002-07-08 17:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: skip configuration on
+ firt run
+
+2002-07-08 17:03 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: complete changelog
+
+2002-07-08 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - obsoletes/provides libdetect-lst,
+ libdetect-lst-devel, detect, detect-lst - don't restart
+ harddrake on install
+
+2002-07-08 16:58 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/service_harddrake: skip hw classes
+ without configurator (which'll have a configurator after porting
+ updfstab)
+
+2002-07-08 16:57 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - rehide "run config tool" button
+ when it has been displayed in another hw class
+
+2002-07-08 16:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't display "run config tool"
+ button if no configurator availlable
+
+2002-07-08 16:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - center the main window - remove
+ drakx decorations
+
+2002-07-08 15:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: mice: - s/nbuttons/Number of
+ buttons/ - delete qw(MOUSETYPE XMOUSETYPE unsafe)
+
+2002-07-08 15:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't delete info field in normal
+ path
+
+2002-07-08 15:54 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - eide devices: split up info field
+ into vendor and model fields - complete help
+
+2002-07-08 15:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: cache @devices so that hw probe
+ is only done once
+
+2002-07-08 15:28 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: hummm ... eide: 0->master, 1->slave
+ :-(
+
+2002-07-08 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: create the list_modules symlink
+
+2002-07-08 15:18 Pixel <pixel at mandriva.com>
+
+ * Makefile: put back "make check" when uploading
+
+2002-07-08 15:18 Pixel <pixel at mandriva.com>
+
+ * Makefile: have the default rule be "install" (willplizfpons)
+
+2002-07-08 15:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - remove save_report menu entry,
+ this is done by service_harddrake - move $in declaration near
+ where it's used
+
+2002-07-08 15:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - some stuff moved into
+ Makefile.drakxtools - fix harddrake menu entry - fix build
+
+2002-07-08 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: - simplifications - harddrake
+ support is complete
+
+2002-07-08 15:11 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - detect package automatically
+ when app is chosen
+
+2002-07-08 15:06 Pixel <pixel at mandriva.com>
+
+ * kernel/update_kernel: move all.kernels to the new "kernel"
+ directory
+
+2002-07-08 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: in case the licence is
+ refused, ask for confirmation
+
+2002-07-08 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: make Clear_all work on a
+ LVM VG make Clear_all remove partitions from raids
+
+2002-07-08 14:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: do not display "Clear all" (and
+ the other per kind buttons) for the raid tab
+
+2002-07-08 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: make test_pms should now work (was pb with
+ list_modules.pm)
+
+2002-07-08 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: eide hard disks : print
+ master/slave for bus_location
+
+2002-07-08 12:16 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/modules.pm: - s/snd-card/snd/ - make some code
+ clearer
+
+2002-07-08 11:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fixes for missing files
+
+2002-07-08 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: help perl_checker
+
+2002-07-08 11:25 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: enhanced description
+
+2002-07-08 11:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: update todo list
+
+2002-07-08 11:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - fix options handling - use
+ "perl -w" - s/bttv/harddrake::bttv/ due to recent changes
+
+2002-07-08 11:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - remove dead stuff - comment some
+ stuff
+
+2002-07-08 10:42 Guillaume Cottenceau
+
+ * mdk-stage1/mount.c: small readability & size enhancement
+
+2002-07-08 10:34 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/scanner.pm: this doesn't need either
+ "#!/usr/bin/perl" nor "use lib qw(/usr/lib/libDrakX);"
+
+2002-07-08 10:33 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - add drakbug
+
+2002-07-08 10:31 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: minor simplication
+
+2002-07-08 10:31 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug: - standalone app
+
+2002-07-08 10:20 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - add dir recursively
+
+2002-07-08 09:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, harddrake/bttv.pm,
+ harddrake/data.pm, harddrake/ui.pm, standalone/draknet,
+ standalone/harddrake2, standalone/service_harddrake: various
+ cleanups: - move all harddrake modules to harddrake namespace -
+ replace two use by require so that it's not done at compil time
+ but at runtime - there was a missing $ in harddrake::ui.pm
+
+2002-07-08 01:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: smarter raidAutoStartRaidtab
+
+2002-07-08 01:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: raid.pm, diskdrake/interactive.pm: ensure the raid
+ is disactivated and marked dirty on any actions that destroy the
+ raid
+
+2002-07-08 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fsedit.pm: great new
+ raidAutoStartRaidtab allowing to handle existing software raids
+ even when RAID_AUTORUN is not supported by kernel (which is the
+ case for us since md.o is a not builtin the kernel)
+
+2002-07-08 00:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - directory should exist before
+ mv'ing things (mkdir %%buildroot%%_initrddir)
+
+2002-07-07 23:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: use c::total_sectors() instead of
+ BLKGETSIZE
+
+2002-07-07 23:07 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - mv typo in %install section (titi
+ sux)
+
+2002-07-07 21:51 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile: - remove share/wizard.rc in DISTFILE
+
+2002-07-07 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: new "append_to_etc_modules" function
+
+2002-07-07 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: make the buttons work in all
+ cases - workaround segfaults - ensure the perl values are set
+ when calling the clicked_may_quit callback
+
+2002-07-07 15:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, partition_table.pm: for greater symmetry
+ with smb, drop isNfs in favour of isThisFs('nfs', ...)
+
+2002-07-07 15:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, modules.pm: remove
+ detect_devices::check (including the annoying log about no
+ modules for the pci entry)
+
+2002-07-07 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: small regexp cleanup
+
+2002-07-06 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: /root and /mnt must "remain within the
+ root filesystem" (ie can't be used as mountpoints), dixit redhat
+
+2002-07-06 19:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm:
+ s/check_type/diskdrake::interactive::check_type/
+
+2002-07-06 16:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: add harddrake2 service
+
+2002-07-06 16:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile.config: add the harddrake service which was
+ missing
+
+2002-07-06 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.drakxtools, drakxtools.spec, my_gtk.pm,
+ diskdrake/hd_gtk.pm, share/wizard.rc: - move diskdrake.rc from
+ /etc/gtk to /usr/share/libDrakX - remove unused wizard.rc
+
+2002-07-06 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): the user name length must be <=
+ 32
+
+2002-07-06 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: hd_gtk.pm, interactive.pm: (as suggested
+ by Alexander Skwar) - in interactive::check_type, check if the
+ package (like jfsprogs) is installed - use
+ interactive::check_type where usefull - cleanup
+
+2002-07-06 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setDefaultPackages): use
+ fsedit::package_needed_for_partition_type to get things like
+ jfsprogs
+
+2002-07-06 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (package_needed_for_partition_type):
+ return the package needed for a partition type (check_type):
+ cleanup
+
+2002-07-06 14:18 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/icons/harddrake2/: K7.png, cable.png,
+ cd.png, cpu.png, floppy.png, harddisk.png, harddrake.png,
+ hw_mouse.png, hw_network.png, hw_printer.png, ide_hd.png,
+ isdn.png, joystick.png, keyboard.png, memory.png, modem.png,
+ scanner.png, scsi.png, scsi_hd.png, sound.png, tape.png, tv.png,
+ unknown.png, usb.png, video.png, webcam.png: add harddrake2 icons
+
+2002-07-06 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/printer.pm: try to simplify
+
+2002-07-06 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: standalone/drakbug doesn't exist!
+ (why did deush add it???)
+
+2002-07-06 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: it is standalone/harddrake2, not
+ standalone/harddrake (poor deush must be loosing his brain :p)
+
+2002-07-06 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: simplify: use reverse
+
+2002-07-06 13:27 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - help system:
+
+ - add an help entry in help menu;
+
+ - begin to describe information fields
+
+ - reformat license in about window
+
+ - information frame (mostly fixing incoherency between various hw
+ classes fields)
+
+ - s/media type/media class/
+
+ - s/info/Hardware id/
+
+ - s/device/device file/
+
+ - split description into manufacturer/description
+
+ - eide devices:
+
+ - rename bus as bus_location
+
+ - set interface_type as bus
+
+ - scsi devices:
+
+ - set bus to SCSI
+
+ - set bus_location to bus:id fields
+
+ - don't print pci subids when non set
+
+ - remove fields that were already used above (vendor id
+ subvendor
+ subid pci_bus pci_device pci_function)
+
+ - no need to return window after program exit
+
+ - print usage if needed
+
+ - embed hardware tree in a "detected hardware" frame
+
+ - cleanups:
+
+ - rename widget2 as frame
+
+ - remove dead commented code
+
+2002-07-06 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: supermount now handles fs=auto, using it :)
+
+2002-07-06 13:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: add bits regarding eide and scsi
+
+2002-07-06 13:09 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: add harddrake to DISTFILES
+
+2002-07-06 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/harddrake2: add missing 'use lib' due to
+ harddrak::ui changes
+
+2002-07-06 13:07 Pixel <pixel at mandriva.com>
+
+ * docs/comparisons: various remarks about mandrake
+
+2002-07-06 13:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/lsnetdrake: simplify
+
+2002-07-06 13:06 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: add a configurator for sound
+
+2002-07-06 13:04 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: the "each" trap got me :-( fixed (=>
+ fixes the modules.conf missing many aliases)
+
+2002-07-06 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_any.pm: when merge_fstabs, handle
+ in a different way mtab and fstab (or manualFstab) => this allows
+ to force the type&options in manualFstab
+
+2002-07-06 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_lvm_PV.pm:
+ Allows people having PVs on unpartitioned disks to install (but
+ no way to create such beasts)
+
+2002-07-06 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: adapt to new modprobe.pm
+
+2002-07-06 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: cleanup
+
+2002-07-06 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: add harddrake pm's
+
+2002-07-06 11:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Resize): resize2fs
+ handles ext3 :)
+
+2002-07-05 21:14 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/Makefile.config: - add harddrake drakbug
+ drakTermServ to STANDALONEPMS_
+
+2002-07-05 20:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/drakxtools.spec: - snapshot - new entries: o
+ harddrake2 : new hardware detection && configuration tool o
+ drakbugreport: bug reporting tool a la Kde (not working!) o
+ drakTermServ : configuration tool for diskless stations.
+
+2002-07-05 17:24 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: if we're root and there's a tv
+ card managed by bttv, offer to configure bttv trough
+ harddrake::bttv
+
+2002-07-05 17:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: remove device test: there're only
+ two harddrake::bttv users, install_steps_interactive.pm and
+ drakxtv which both have already tested that a bttv managed tv
+ card is there.
+
+2002-07-05 17:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: - add more tv cards
+
+ - enable users to select number of buffers for mmap()
+
+ - better description for pll setting
+
+ - add tooltips help for some entries
+
+2002-07-05 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: typo fix
+
+2002-07-05 16:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (prepare_write_fstab): for supermount, have
+ "none" as the device (cleaner, and more coherent with the
+ "supermount" script (tx to FredC))
+
+2002-07-05 16:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: tv cards list:
+
+ - split multi-cards entries
+
+ - reverse the hash (needed since now bttv card types are not
+ anymore unique)
+
+ - complete the list from various sources
+
+ - use a tree to display the list, it's clearer now since
+ it's
+ splitted by vendors
+
+ - longer message
+
+2002-07-05 16:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix typo
+
+2002-07-05 16:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: fix dirs1/dirs2 mismatch
+
+2002-07-05 15:52 Guillaume Cottenceau
+
+ * kernel/update_kernel: s|modinfo|/sbin/modinfo| for people with
+ "normal" path ;p
+
+2002-07-05 15:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: - remove uneeded stuff for
+ modules ("#!/..", "use lib..", "use standalone", ...)
+
+ - simplify bttv options managment:
+
+ - use if_, thanks MDK::Common
+
+ - s/mapn/map by using a hash at first
+
+ - s/mapn{if}/map{if_}
+
+ - don't read/write modules.conf here, drakx take care of that for
+ us
+
+ thus, the test program became:
+
+ #!/usr/bin/perl
+
+ use strict; use lib qw(/usr/lib/libDrakX);
+
+ use standalone; use bttv; use interactive; use modules;
+
+ modules::read_conf; bttv::config('interactive'->vnew());
+ modules::write_conf;
+
+2002-07-05 15:19 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - M-q descriptions
+
+ - simplify file lists building
+
+ - we can use several -f on one "%%files" line
+
+2002-07-05 15:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: remove uneeded "#!/...",
+ standalone, lib, ... (this is a module)
+
+ POSIX is no more used too.
+
+2002-07-05 15:01 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: remove uneeded "#!/.." and "use
+ lib"
+
+2002-07-05 14:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: minimize startup: only
+ load harddrake::bttv if the user click on "tv card" field in the
+ hw summary window
+
+2002-07-05 14:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: use harddrake::bttv to
+ let people configure their tv card if it's misdetected
+
+2002-07-05 14:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/bttv.pm: spec29: bttv configuration part
+ of drakxtv. it can be used by:
+
+ #!/usr/bin/perl
+
+ use strict; use lib qw(/usr/lib/libDrakX);
+
+ use standalone; use harddrake::bttv; use interactive;
+
+ bttv::config('interactive'->vnew());
+
+2002-07-05 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (merge_info_from_fstab): try to keep options
+ from merged fstab IF the entry is for the same mountpoint AND the
+ same device
+
+2002-07-05 14:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, diskdrake/interactive.pm: handle comments
+ in fstab
+
+2002-07-05 13:36 Pixel <pixel at mandriva.com>
+
+ * kernel/: check_mar.pl, update_kernel: add checks (which used to
+ be done by mdk-stage1/pci-resource/update-pci-ids)
+
+2002-07-05 13:34 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/usb-resource/update-usb-ids.pl: - do not use mar files
+ for the list of modules, use list_modules.pm via
+ kernel/modules.pl instead - use read_pcitable to parse usbtable
+
+2002-07-05 13:31 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: make it work with "use
+ strict"
+
+2002-07-05 12:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add gnupg in "4 SYSTEM", so that rpm
+ do not *Require* gnupg, only suggest it very strongly :)
+
+2002-07-05 12:26 Pixel <pixel at mandriva.com>
+
+ * kernel/modules.pl: add pci_modules4stage1 for use in
+ mdk-stage1/pci-resource/update-pci-ids.pl
+
+2002-07-05 12:25 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: do not look at the mar
+ files anymore, only use kernel/modules.pl (and so
+ list_modules.pm)
+
+2002-07-05 12:23 Pixel <pixel at mandriva.com>
+
+ * kernel/list_modules.pm: better comment
+
+2002-07-05 12:08 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/drakxtools.spec: - add preliminary harddrake support
+
+ - clean %post
+
+ - bump version number
+
+2002-07-05 11:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/Makefile: don't use sed when not needed
+
+2002-07-05 11:10 Fançois Pons
+
+ * perl-install/Makefile: - handle /lib/i686 case - replace
+ Mandrake/RPMS with Mandrake/RPMS*
+
+2002-07-05 00:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: when building the tar for drakxtools,
+ handle specially list_modules.pm
+
+2002-07-05 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, commands.pm, detect_devices.pm,
+ install2.pm, install_any.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_interactive.pm,
+ mouse.pm, printerdrake.pm, network/ethernet.pm, network/isdn.pm,
+ network/netconnect.pm: adapt to new modules.pm
+
+2002-07-05 00:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2: create symlink list_modules.pm in current
+ directory for testing purpose
+
+2002-07-05 00:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: reworked & cleaned the kernel modules part -
+ adapt to new modules.pm - adapt to new modparm.pm - renamed
+ setup_thiskind to load_category - renamed setup_thiskind_backend
+ to load_category_no_message
+
+2002-07-05 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: adapt to new ldetect
+
+2002-07-05 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: reworked, cleaned: - the list of modules
+ is moved to kernel/list_modules.pm (and a few functions too) -
+ new "add_probeall" function (similar to "add_alias") -> used
+ for scsi_hostadapter and usb-interface - "load_multi" removed in
+ favour of "load" which is now more powerful - load_thiskind
+ renamed load_category - get_that_type renamed probe_category -
+ %modules::drivers dropped (handled for list_modules)
+
+ still more cleanup to come
+
+2002-07-05 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/modparm.pm: rework, cleanup, simplify and make it
+ work
+
+2002-07-05 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: make the "clean" rule less
+ verbose
+
+2002-07-05 00:05 Pixel <pixel at mandriva.com>
+
+ * update_kernel: moved to kernel/update_kernel
+
+2002-07-05 00:03 Pixel <pixel at mandriva.com>
+
+ * Makefile, kernel/.cvsignore, kernel/Makefile,
+ kernel/list_modules.pm, kernel/modules.pl, kernel/update_kernel,
+ mdk-stage1/pci-resource/update-pci-ids.pl: new directory "kernel"
+ containing: - all.modules all.kernels update_kernel - part of
+ perl-install/modules.pm now in kernel/list_modules.pm and
+ kernel/modules.pl - update_kernel cleaned (it doesn't mention
+ module names anymore, it is now in kernel/modules.pl) - cleanup
+ Makefile - mdk-stage1 doesn't depend on perl-install anymore
+ (more precisely mdk-stage1/pci-resource/update-pci-ids.pl)
+
+2002-07-04 23:58 Pixel <pixel at mandriva.com>
+
+ * make_ks_from_floppy: obsolete
+
+2002-07-04 23:54 Pixel <pixel at mandriva.com>
+
+ * .cvsignore, make_boot_img, perl-install/Makefile,
+ rescue/make_rescue_img: adapt to the move all.modules ->
+ kernel/all.modules and all.kernels -> kernel/all.kernels
+
+2002-07-04 17:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: get rid of 'use vars'
+
+2002-07-04 17:48 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/data.pm: remove wait_message hack for
+ printerdraker, better use class_discard
+
+2002-07-04 17:41 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/TODO: add harddrake2 todo list
+
+2002-07-04 17:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: don't stack signals on config
+ buttons
+
+2002-07-04 17:18 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix GNOME2 packages Install
+ urw-fonts when installing XFree
+
+2002-07-04 14:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - remove no more used @pid_launched
+
+ - better GUI reactivity: don't wait for config tool to complete,
+ just "fork and forget" [(c) us air force] and refuse to run
+ another config tool until the first one to complete
+
+2002-07-04 14:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: print "Running $configurator ..."
+ in status bar while running a config tool
+
+2002-07-04 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: - POSIX is needed for POSIX::wait
+
+ - move strict and standalone require at top
+
+ - c is unused
+
+ - comment exceptions in devices loop (ie skip classes without any
+ devices or any detector
+
+ - optimize away $pid
+
+2002-07-04 14:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/harddrake/ui.pm: fix move from harddrake.pm to
+ harddrake/data.pm:
+
+ - menu does appear
+
+ - information fields are translated from raw to english again
+
+2002-07-04 13:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2002-07-04 13:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2002-07-04 13:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: harddrake/data.pm, harddrake/ui.pm,
+ standalone/harddrake2, standalone/service_harddrake: harddrake2:
+ "the return of the vengeance son"
+
+ - harddrake/data.pm: the data structure
+
+ - harddrake/ui.pm: the ui code
+
+ - standalone/service_harddrake: the init.d service (which need a
+ few polishing (timeout, ...)
+
+ - standalone/harddrake2: the ui caller which need to be dadou/ln
+ -fied
+
+2002-07-04 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: do_resize_fat, getpkgs_deps: removed since unused
+
+2002-07-04 13:12 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/draknet: - don't display clear password
+
+2002-07-04 12:54 Pixel <pixel at mandriva.com>
+
+ * tools/specific_arch: simplified using MDK::Common
+
+2002-07-04 12:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Changed some languages to defautl to utf-8
+ removed X11_NOT_LOCALIZED (now Gnome2 fully supports
+ right-to-left languages)
+
+2002-07-04 10:15 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/detect_devices.pm: add tapes() for harddrake2
+
+2002-07-03 20:38 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile.common, automatic.c, dhcp.c, disk.c,
+ init.c, minilibc.c, modules.c, newt-frontend.c, stage1.c, url.c,
+ bzlib/bzlib.c, mar/mar-extract-only.c, mar/mar-frontend.c,
+ newt/checkboxtree.c, newt/entry.c, newt/grid.c, newt/listbox.c,
+ newt/newt.c, newt/textbox.c: compile with -W
+
+2002-07-03 15:36 Fançois Pons
+
+ * mdk-stage1/probing.c: fixed static definition when non static
+ declaration (gcc limitation). added conditional code around
+ network detection.
+
+2002-07-02 19:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: try harder to find the full list of
+ servers available, using "smbclient -L" to check the workgroup
+ masters
+
+2002-07-02 18:21 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/my_gtk.pm: - fill a combo by default :
+ gtkcombo_setpopdown_strings($combo_widget,@strings)
+
+2002-07-02 09:38 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/c/smp.c: - TODO: Update ia64 check with
+ /proc/pal/cpuX ? - TODO: Update x86_64 check when SMP machines
+ are actually available - Conditionalize compilation of main()
+ with TEST macro
+
+2002-07-01 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: (raw_hd_mount_point): nicer
+ default mount point
+
+2002-06-28 23:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, diskdrake/smbnfs_gtk.pm, network/smb.pm,
+ network/smbnfs.pm: - add authentification in diskdrake --smb
+ (esp. for windows NT) - use "credentials=" to put the passwords
+ (ideas and investigations from Stew Benedict, integrated by
+ Pixel, but need testing) Known bug: if you want to change the
+ password when there are 2 entries in fstab using the same
+ username=/password=, writing the credentials is done in random
+ order, => you've got one chance in 2 that the password is
+ changed :-(
+
+2002-06-28 18:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: handle spaces in mount points and devices
+ (using \040)
+
+2002-06-27 21:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/: drakTermServ, icons/drakTS.620x57.png:
+ Add drakTermServ application and icon.
+
+2002-06-26 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: ensure licence step is asked in any
+ case (ie. even when selectLanguage is automatic)
+
+2002-06-26 13:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: "my" variables where needed
+
+2002-06-25 10:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, tr.po: Updated po files
+
+2002-06-19 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: mounting of ntfs after install really mount
+ the partition (thanks to Buchan Milne)
+
+2002-06-19 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: use "wide links = no" for
+ exporting via samba (thanks to Jan Schäfer)
+
+2002-06-19 15:40 Fançois Pons
+
+ * perl-install/patch/patch-oem-hp.pl: added patch-oem.pl file used
+ to generate HP Mandrake Linux 8.2.
+
+2002-06-19 11:56 Guillaume Cottenceau
+
+ * perl-install/modules.pm: remove a few drivers so that hd.img and
+ network.img are possible with latest BOOT kernel
+
+2002-06-19 03:42 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Makefile: corrected rules to make distributable
+ rpms.
+
+2002-06-18 23:37 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Makefile: added targets to build test and
+ distribution rpms and srpms (localrpm, localsrpm, rpm, srpm).
+
+2002-06-18 23:32 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/: apps.net_monitor, drakxtools.spec,
+ pam.net_monitor, diskdrake/diskdrake.html: ripped from the srpm
+
+2002-06-18 22:14 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: manage security subdir.
+
+2002-06-18 22:13 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/Makefile: added security to the installed
+ directories
+
+2002-06-18 13:16 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/my_gtk.pm: - add gtkset_text, gtkprepend_text,
+ gtkappend_text for entry widgets
+
+2002-06-18 12:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-06-17 20:15 Christian Belisle
+
+ * perl-install/any.pm: draksec: customize entries for each options
+ (lists, checkboxes and text boxes)
+
+2002-06-17 20:12 Christian Belisle
+
+ * perl-install/security/msec.pm: - Customize entries for each
+ options (checkboxes, text boxes and lists)
+
+2002-06-17 06:06 Christian Belisle
+
+ * perl-install/standalone/draksec: added server, user and network
+ advanced options
+
+2002-06-17 06:05 Christian Belisle
+
+ * perl-install/security/msec.pm: added network, server and user
+ advanced options
+
+2002-06-17 06:05 Christian Belisle
+
+ * perl-install/any.pm: Added user,server and network advanced
+ options
+
+2002-06-15 18:59 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updates
+
+2002-06-13 18:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-06-13 15:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Catalan doesn't have French fallback
+ anymore
+
+2002-06-11 18:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: added /tmp in @suggestions_mntpoints (as
+ suggested by Philippe Coulon)
+
+2002-06-10 20:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: s/class/class_/ for ldetect 0.4
+
+2002-06-10 17:47 Christian Belisle
+
+ * perl-install/any.pm: Add security user email entry in draksec
+
+2002-06-10 17:45 Christian Belisle
+
+ * perl-install/standalone/draksec: Add an entry for the security
+ user email
+
+2002-06-10 17:44 Christian Belisle
+
+ * perl-install/security/msec.pm: Initial commit
+
+2002-06-10 14:42 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/network/tools.pm: - choose country according to
+ timezone.
+
+2002-06-10 08:51 Guillaume Cottenceau
+
+ * tools/syncrpms: english fix
+
+2002-06-07 19:05 Guillaume Cottenceau
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm: split
+ ask_browse_tree_info from interactive_gtk to my_gtk between
+ widgets creation and real stuff so that we can now call it with
+ widgets places differently
+
+2002-06-07 16:50 Guillaume Cottenceau
+
+ * perl-install/timezone.pm: remove duplicate entry in ntp_servers
+
+2002-06-06 12:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated po file
+
+2002-06-05 18:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: adapt to new lilo
+
+2002-06-05 11:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: use -ff for mkreiserfs, do not use -q for
+ mkreiserfs
+
+2002-06-03 18:44 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c, mdk-stage1/network.c, mdk-stage1/stage1.c,
+ perl-install/any.pm, perl-install/install_steps_gtk.pm,
+ perl-install/install_steps_interactive.pm: english fixes thx to
+ vincent meyer
+
+2002-06-03 12:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: have the
+ /root/drakx/auto_install.cfg.pl replay style instead of weird
+ style with clearall unset & auto_allocate set
+
+2002-05-29 10:50 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: little fixes
+
+2002-05-28 17:42 Guillaume Cottenceau
+
+ * perl-install/interactive_gtk.pm: remove typo fix when it's not a
+ fix :-)
+
+2002-05-28 17:03 Guillaume Cottenceau
+
+ * perl-install/interactive_gtk.pm: small typo
+
+2002-05-28 16:21 Guillaume Cottenceau
+
+ * perl-install/interactive_gtk.pm: remove typo (hopefully really a
+ typo ;p)
+
+2002-05-28 12:31 Guillaume Cottenceau
+
+ * perl-install/any.pm: be a bit more polite
+
+2002-05-27 18:17 Fançois Pons
+
+ * perl-install/install2.pm: make sure patch is always read after
+ defcfg to take precedance.
+
+2002-05-27 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: have usb-interface1 for ehci-hcd
+
+2002-05-24 19:41 Guillaume Cottenceau
+
+ * perl-install/Xconfigurator.pm: dams fixes a bug in the install
+ :-)
+
+2002-05-21 15:18 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: xtraceroute needs 3d
+
+2002-05-15 12:34 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/Changelog: info about polish translation
+
+2002-05-14 16:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: polish finished
+
+2002-05-14 16:39 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: updated polish translation
+
+2002-05-14 16:28 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: polish updated to near finished.
+ Fuzzy removed and checked
+
+2002-05-14 12:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, pl.po: updated po file
+
+2002-05-14 10:01 Guillaume Cottenceau
+
+ * docs/HACKING: libncurses* also for the sucking neuneux
+
+2002-05-13 17:34 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, probing.c, ppp/pppd/ipcp.c: adapt to
+ gcc-3.1
+
+2002-05-13 14:17 Guillaume Cottenceau
+
+ * docs/HACKING: libbzip2* and more explanations about failing
+ compilation
+
+2002-05-13 10:27 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: mostly finished polish
+ translation.!!
+
+2002-05-02 17:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: small corrections
+
+2002-05-02 14:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Put back xcin as default XIM for zh_TW.Big5
+
+2002-04-29 15:24 Guillaume Cottenceau
+
+ * mdk-stage1/usb-resource/update-usb-ids.pl: support USB2
+ controllers as well
+
+2002-04-29 06:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, wa.po: updated po files
+
+2002-04-26 15:34 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed some machine with two
+ present i830 CGC but only one in reality.
+
+2002-04-26 10:35 Fançois Pons
+
+ * perl-install/detect_devices.pm: updated usbMice to take care of
+ device declared as Mouse:USB in usbtable (was not the case !)
+
+2002-04-25 15:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-04-23 17:35 Guillaume Cottenceau
+
+ * perl-install/any.pm: fixes
+
+2002-04-23 16:56 Guillaume Cottenceau
+
+ * perl-install/any.pm: english fixes from v meyer
+
+2002-04-23 16:27 Guillaume Cottenceau
+
+ * perl-install/bootlook.pm: a few english fixes
+
+2002-04-23 16:26 Guillaume Cottenceau
+
+ * perl-install/any.pm: a few english fixes thx to vincent meyer
+
+2002-04-19 22:07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: It's only about 100 entries to the
+ end
+
+2002-04-19 17:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated po file
+
+2002-04-19 11:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2002-04-18 21:39 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: 3 more long messages
+
+2002-04-18 18:41 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: one entry
+
+2002-04-18 10:45 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: stil working....
+
+2002-04-17 23:10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Mostly finished polish translation
+
+2002-04-17 14:14 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: final candidate.
+
+2002-04-17 14:12 Fançois Pons
+
+ * rescue/tree/etc/oem: add gcc-cpp to oem install.
+
+2002-04-17 11:08 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: translations, fixes etc...
+
+2002-04-17 00:02 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: still working
+
+2002-04-16 23:27 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Few fixes
+
+2002-04-16 22:58 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
+
+ * perl-install/share/po/pl.po: Updated translation. Many strings is
+ not yet translated...
+
+2002-04-16 19:07 Fançois Pons
+
+ * rescue/tree/etc/oem: sync with oem-prepare
+
+2002-04-16 17:46 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed stupid error.
+
+2002-04-16 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: handle "Cancel" on NIS
+ / LDAP server dialog box
+
+2002-04-16 16:10 Fançois Pons
+
+ * rescue/tree/etc/oem: forget packdrake module invocation.
+
+2002-04-16 15:12 Fançois Pons
+
+ * tools/oem-prepare: add gcc-cpp to always installed.
+
+2002-04-16 15:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated po file
+
+2002-04-16 15:01 Fançois Pons
+
+ * tools/oem-prepare: disable unselection of some package (gmc, all
+ gcc3.0 stuff).
+
+2002-04-16 15:00 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed to support non standard rpm filename.
+
+2002-04-16 09:29 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: only main version of automake
+
+2002-04-15 16:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: Another small fix
+
+2002-04-15 14:25 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: ipchains now conflicts with iptables
+
+2002-04-15 13:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: Small corrections
+
+2002-04-13 13:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ro.po: merged with drakfloppy strings
+
+2002-04-11 13:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/mt.po: updated Maltese file
+
+2002-04-10 15:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: small typo correction
+
+2002-04-10 14:53 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: autofs -> 2
+
+2002-04-09 11:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table_bsd.pm, partition_table_dos.pm,
+ partition_table_empty.pm, partition_table_gpt.pm,
+ partition_table_mac.pm, partition_table_sun.pm: nicer debug "bag
+ magic" error message (thanks to Brian J. Murrell)
+
+2002-04-09 10:50 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: time to remove ipchains/2.2 stuff
+ since now ipchains and iptables packages conflict
+
+2002-04-08 18:25 Guillaume Cottenceau
+
+ * perl-install/: Xconfigurator.pm, fsedit.pm,
+ install_interactive.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, interactive_stdio.pm,
+ partition_table.pm, printer.pm, printerdrake.pm,
+ diskdrake/interactive.pm, diskdrake/removable_gtk.pm,
+ network/isdn.pm, network/netconnect.pm, network/network.pm,
+ network/tools.pm: fix a few english strings
+
+2002-04-08 18:24 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fixed a bunch of things
+
+2002-04-08 12:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, mt.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: merged with drakfloppy strings
+
+2002-04-07 21:34 Yves Duret
+
+ * perl-install/Makefile.config: add drakfloppy to STANDALONEPMS_
+
+2002-04-07 21:31 Yves Duret
+
+ * perl-install/standalone/drakfloppy: moving from his own rpm to
+ drakxtools
+
+2002-04-04 23:42 sdupont
+
+ * perl-install/standalone/drakfont: remove uninteresting yduret
+ changes, would it be possible to know what are your "bugs fixies"
+ ?
+
+ to yduret: I'm the creator of this program so please do not
+ remove my changes.
+
+2002-04-04 22:15 sdupont
+
+ * perl-install/standalone/drakbackup: please yduret, do not commit
+ these changes on cvs before to test it. you can say "bugs fixes"
+ only if you have corrected some errors but not if you create it!
+ the backup on cd was disabled because the backend is not
+ available for moment.
+
+2002-04-04 18:39 Guillaume Cottenceau
+
+ * perl-install/c/Makefile.PL: rpmlib 4.0.4 now also needs libpopt
+
+2002-04-03 20:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: setting /etc/sysconfig/msec for
+ chkconfig which doesn't use $ENV{SECURE_LEVEL} anymore
+
+2002-04-02 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add tmpwatch (since it is not
+ mandatory any more)
+
+2002-04-02 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: do not have "root=" with no root
+ (needed for memtest) (thanks to Borsenkow Andrej)
+
+2002-03-30 11:21 Yves Duret
+
+ * perl-install/standalone/: drakbackup, drakfont: bugs fixes, code
+ clean up, more mdkish..
+
+2002-03-26 16:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Fixed several
+ problems related to HP multi-function devices: - Parallel
+ multi-function devices worked only on the first (onboard)
+ parallel port. - HP LaserJet 2200 needs HPOJ for printing via
+ USB. - For the HP OfficeJet D series the scanning instructions
+ were not shown. - HPOJ does not work with HP PhotoSmart 10xx,
+ 11xx, and 12xx.
+
+2002-03-22 15:37 Dam's
+
+ * perl-install/my_gtk.pm: cleaned gtkpowerpack
+
+2002-03-21 18:56 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: use /root rather than /tmp for some
+ temp files (security suxx)
+
+2002-03-20 23:11 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: don't save DHCP_HOSTNAME if the value is
+ void
+
+2002-03-20 22:39 Guillaume Cottenceau
+
+ * rescue/list: rpm 4.0.4
+
+2002-03-20 15:32 sdupont
+
+ * perl-install/standalone/drakfont: fixing problems
+
+2002-03-20 14:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: use log for what is not related
+ to explanations
+
+2002-03-20 14:04 sdupont
+
+ * perl-install/standalone/drakbackup: remove backup on cd
+
+2002-03-20 13:55 sdupont
+
+ * perl-install/standalone/drakfont: exchanging: ttmkfdir by
+ /usr/X11R6/bin/mkttfdir which generate correct fonts.dir
+
+2002-03-20 12:22 Guillaume Cottenceau
+
+ * update_kernel: don't remove all the kernels if all.kernels/.main
+ is non existent
+
+2002-03-19 15:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - default tv norm is pal rather
+ than ntsc (because of alphabetical sort) since it's the most
+ used tv norm
+
+ - figure out tv norm & country (aka frequency table) from locales
+
+ - add a hash based on lang in order to do this
+
+ - add --no-guess if one doesn't want drakxtv to automagically
+ guess tv norm and geographic area through locales (lang.pm)
+
+ - log with standalone::explanations:
+
+ - guessed values from locales: language, tv norm and
+ country
+
+ - runned command to scan for tv channels
+
+ - ~/.xawtv creation
+
+ - s/bcast/broadcast/ in displayed messages
+
+ - add -h and --help support
+
+2002-03-19 14:46 Fançois Pons
+
+ * tools/updatehdlist: take care of commercial medium (not
+ syncable).
+
+2002-03-18 18:20 Dam's
+
+ * perl-install/: install_gtk.pm, mouse.pm, my_gtk.pm: corrected
+ create_xpm API
+
+2002-03-18 15:41 Fançois Pons
+
+ * tools/oem-prepare: fixed to support rpm filename incoherent to
+ standard naming for commercial packages (commercial are *really*
+ shit (almost, for the hope) all the time ?)
+
+2002-03-17 00:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated po file
+
+2002-03-17 00:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated po file
+
+2002-03-16 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/ethernet.pm: small cleanup on untested code
+ (need testing:)
+
+2002-03-16 12:56 Dam's
+
+ * perl-install/network/ethernet.pm: we now consider dhcp provide
+ GATEWAY and internet connection.
+
+2002-03-15 23:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: - remove obsolete code
+ - the result is to use directly $availableC instead $size2install
+ which was min($availableC, $max_size)
+
+2002-03-15 18:24 Fançois Pons
+
+ * perl-install/bootloader.pm: force mkinitrd *really* for
+ bootsplash.
+
+2002-03-15 18:08 Fançois Pons
+
+ * perl-install/bootloader.pm: force initrd regeneration for oem on
+ some case (maybe the cause of bootsplash perturbation, as
+ maintainer don't even known why it is running correctly :-)
+
+2002-03-15 15:59 Fançois Pons
+
+ * make_boot_img: make oem use frame buffer, for bootsplash to be
+ happy.
+
+2002-03-15 15:27 Fançois Pons
+
+ * perl-install/share/rpmsrate: remove doublon on NVIDIA_nforce.
+
+2002-03-15 15:18 Fançois Pons
+
+ * perl-install/share/rpmsrate: update to 6mdk for NVIDIA_nforce*
+
+2002-03-15 14:51 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated bad lilo/grub/yaboot
+ translation
+
+2002-03-15 14:43 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translations
+
+2002-03-15 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: yet again add some dropped entities
+ from drakx-help.xml
+
+2002-03-15 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: add the dropped &linux-mandrake;
+ &mandrake-linux; and a few &os-linux;
+
+2002-03-15 14:24 Fançois Pons
+
+ * perl-install/pkgs.pm: do not try to get synthesis if hdlist is
+ available as an handle on file (typical for updates).
+
+2002-03-15 11:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added xx_YY -> keyboard lines in
+ addition of xx -> keyboard ones
+
+2002-03-15 11:40 Dam's
+
+ * perl-install/my_gtk.pm: corrected get_text_coord : widget instead
+ of style, and handling of ugly language (/ja|zh/)
+
+2002-03-15 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: s/Linux Mandrake/Mandrake Linux/
+ (from the drakx-help.xml not merged)
+
+2002-03-15 11:32 Dam's
+
+ * perl-install/install_steps_gtk.pm: submitting widget instead of
+ style (style/font initialization bug from gtk
+
+2002-03-15 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (unpack_keyboards): return undef on
+ error
+
+2002-03-15 11:28 Fançois Pons
+
+ * rescue/tree/etc/oem: update lang according to lang.pm of 8.2
+ (remove @euro appended for 8.1).
+
+2002-03-15 11:24 Dam's
+
+ * perl-install/share/po/ja.po: reverted ' \n' from pablo because I
+ managed to correct the way we wrap for the advertising
+
+2002-03-14 23:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated po file
+
+2002-03-14 21:02 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add commercial apps
+
+2002-03-14 19:38 Guillaume Cottenceau
+
+ * perl-install/standalone/drakxtv: english
+
+2002-03-14 19:12 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - add SECAM to france
+ description to ease user comprehension
+
+ - remove unused variables
+
+ - revert gc & dam's (also known as the usual suckers) garbage
+ who'ven't the hardware to test:
+
+ - explain in source why we don't try to install xawtv
+ (see below)
+
+ - just display a message if xawtv isn't installed
+ since drakx should have installed it
+
+ - let it be runned as root again (how many times i'm
+ supposed to restore this behaviour)
+
+ - retest with a tv card
+
+ - use %ENV rather than relying on shell ~ expansion
+
+ - if tv card wasn't detected, ask the user to spam us
+
+ - factorize $in->exit() out of scan4tvchannels()
+
+ - add to TODO list the possibility to install xawtv if needed
+
+ - check scantv return value and display an error message
+
+ - also if the wrapper was runned on console, display a nice
+ message saying one can now run xawtv under X11
+
+2002-03-14 19:09 Yves Duret
+
+ * perl-install/standalone/logdrake: fix some bug
+
+2002-03-14 18:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: added \n in advertising
+
+2002-03-14 17:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hr.po, no.po: updated po files
+
+2002-03-14 15:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated po file
+
+2002-03-14 15:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed LANGUAGE for basque
+
+2002-03-14 13:25 Yves Duret
+
+ * perl-install/standalone/logdrake: fix * bug in field matching/
+ not matching
+
+2002-03-14 11:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate.server: obsolete
+
+2002-03-14 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: CHARSET"iso-8859-1" and
+ CHARSET"iso-8859-15" is no good for english which has CHARSET"C",
+ adding it
+
+2002-03-13 18:37 Dam's
+
+ * perl-install/share/logo-mandrake.png: new gfx
+
+2002-03-13 18:31 Fançois Pons
+
+ * tools/oem-prepare: sync with oem (removed mach32 server).
+
+2002-03-13 18:31 Fançois Pons
+
+ * rescue/tree/etc/oem: remove Mach32 XF3.3.6 server too.
+
+2002-03-13 18:29 Fançois Pons
+
+ * tools/oem-prepare: sync with oem.
+
+2002-03-13 18:29 Fançois Pons
+
+ * rescue/tree/etc/oem: remove Mach8 and Mono driver for oem only.
+
+2002-03-13 18:25 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: remove bzflag.
+
+2002-03-13 18:00 Fançois Pons
+
+ * tools/oem-prepare: synced with oem script.
+
+2002-03-13 18:00 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed closure selection on sub groups (like
+ 3D), moved some big package out of oem, minor fixes.
+
+2002-03-13 17:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add aspell-fr and en for gabber
+ require
+
+2002-03-13 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, eu.po: updated po files
+
+2002-03-13 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: add gcc and gcc-c++ in @preferred
+
+2002-03-13 15:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Add openoffice with weight = 2
+
+2002-03-13 13:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: small console font changes
+
+2002-03-13 13:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: set default console fotns for latin1/0 to
+ lat1-16 and lat0-16; the font lat0-sun16 is missing some chars of
+ iso-8859-1/15 !
+
+2002-03-13 10:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, sv.po, vi.po: updated po files
+
+2002-03-12 23:57 Dam's
+
+ * perl-install/network/network.pm: onboot option only in expert
+ mode
+
+2002-03-12 21:45 Dam's
+
+ * perl-install/network/network.pm: corrected domainname bug; added
+ onboot option
+
+2002-03-12 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: "fam" is not a naughtyServers
+
+2002-03-12 16:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: remove the old "boa" comment
+
+2002-03-12 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: adapt naughtyServers for 8.2
+
+2002-03-12 16:31 Dam's
+
+ * perl-install/standalone/net_monitor: greater timeout
+
+2002-03-12 15:30 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid Utah GLX only if > 800MB,
+ not if <= 800MB (!)
+
+2002-03-12 15:01 Dam's
+
+ * perl-install/network/: netconnect.pm, tools.pm: changed timeout
+ for testing internet connection
+
+2002-03-12 14:50 Dam's
+
+ * perl-install/standalone/: drakbackup, drakfont: minor bug
+ correction
+
+2002-03-12 14:46 Fançois Pons
+
+ * perl-install/install_any.pm: added fix to support update hdlist
+ renaming (ie hdlist of update are always hdlist.cz).
+
+2002-03-12 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: don't have
+ "quiet" boot in the server meta_class
+
+2002-03-12 14:18 Fançois Pons
+
+ * perl-install/install_any.pm: remove old synthesis file, to make
+ sure gzip can build a new one.
+
+2002-03-12 14:18 Fançois Pons
+
+ * perl-install/pkgs.pm: remove synthesis if not found (filesize is
+ 0)
+
+2002-03-12 13:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-03-12 12:11 Fançois Pons
+
+ * perl-install/share/rpmsrate: added nforce support (hack by adding
+ kernel version inside)
+
+2002-03-12 11:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated po file
+
+2002-03-12 10:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ga.po: fixed email address
+
+2002-03-11 23:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated po file
+
+2002-03-11 22:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, be.po, bg.po, br.po, bs.po, ca.po,
+ cs.po, el.po, et.po, fi.po, gl.po, hr.po, is.po, ko.po, lt.po,
+ lv.po, no.po, pl.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated po files (finished merging with manual strings)
+
+2002-03-11 22:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, ko.po, lt.po, lv.po, mt.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po: updated po files
+
+2002-03-11 22:02 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: a few missing translations
+
+2002-03-11 20:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, et.po,
+ eu.po, fi.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po: updated po files
+
+2002-03-11 18:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, eu.po, it.po, fr.po: merged
+ with new strings from manuals
+
+2002-03-11 18:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish
+
+2002-03-11 18:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Reverted parts of the last
+ change, they broke in non-DevFS environments (e. g. during
+ installation).
+
+2002-03-11 18:15 Dam's
+
+ * perl-install/standalone/drakxtv: added embedded mode
+
+2002-03-11 18:09 Guillaume Cottenceau
+
+ * perl-install/standalone/drakxtv: - install xawtv when necessary
+ instead of telling people to use urpmi (titi sucks) - prints out
+ a message when no tv card has been detected
+
+2002-03-11 17:54 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: small ortograf
+
+2002-03-11 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove phpgroupware from OFFICE
+ (since it appeas twice, the rate is 4, and it requires apache,
+ and ...)
+
+2002-03-11 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (fullname2mouse): workaround when "1
+ Button" is not found
+
+2002-03-11 17:08 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: webmin: 3
+
+2002-03-11 17:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Small text fix.
+
+2002-03-11 16:58 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: for updates, make tree as flat
+ instead in order to see all packages.
+
+2002-03-11 16:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Security fix: Give a warning that
+ SMB passwords can easily be revealed by normal users when
+ printing on a Windows-hosted printer is set up.
+
+2002-03-11 16:56 Dam's
+
+ * perl-install/Makefile.config: added drakproxy
+
+2002-03-11 16:27 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add bwbserver_linux in rpmsate for
+ BeeWeb server
+
+2002-03-11 15:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.server: remove ICEWM choice
+
+2002-03-11 13:49 Yves Duret
+
+ * tools/cvslog2changelog.pl: added yduret entry in user.
+
+2002-03-11 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - remove the hack for not
+ displaying Utilities in classic meta_class - new compssUsers
+ groups for the server meta_class
+
+2002-03-11 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - fix the setting of
+ compssUsersChoices in auto_install when it is empty - set the
+ default compssUsersChoices adapted to the server meta_class
+
+2002-03-11 12:38 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/Makefile: upload the various compssUsers*
+ (esp. compssUsers.server)
+
+2002-03-11 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers.server: fix the path=Utilities for
+ the Utilities section
+
+2002-03-11 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: remove "Utilities" here instead
+ of removing it hackily in install_steps_gtk
+
+2002-03-11 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: - default security
+ level now set in miscellaneousBefore - default security level is
+ 3 in meta_class server
+
+2002-03-11 12:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, de.po: updated GErman file
+
+2002-03-11 11:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2002-03-11 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: search /commercial/i instead of
+ /Application/ before showing the commercial license
+
+2002-03-11 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Mount_point): when files
+ exist in the chosen mount point, propose migration
+
+2002-03-11 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, standalone/drakboot: fix Stew sucks
+
+2002-03-11 10:58 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: add Rage Mobility as bad card for
+ XF4 (was already bad card for XF3) (gégé report).
+
+2002-03-11 07:43 Yves Duret
+
+ * perl-install/standalone/scannerdrake: re-re-re-re-re-re-uncomment
+ the pkgs check line.
+
+2002-03-10 20:04 chipaux
+
+ * perl-install/share/po/fr.po: Corrected few typo mistakes.
+
+2002-03-10 19:04 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Protect the Star Office/OpenOffice.org
+ configuration against manual changing of the
+ "update-alternatives" assignment of the "lpr" command.
+
+2002-03-10 18:17 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: update
+
+2002-03-10 18:12 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: added tag filename
+
+2002-03-10 17:35 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: put userdrake together with drakconf
+ so that userdrake is not missing (till)
+
+2002-03-10 17:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Made USB printer auto-detection
+ more stable and reliable.
+
+2002-03-10 16:26 Yves Duret
+
+ * perl-install/scanner.pm: added ASK support for more
+ interactiveness during configuration
+
+2002-03-10 16:25 Yves Duret
+
+ * perl-install/standalone/scannerdrake: added ASK DEVICE support
+
+2002-03-10 16:15 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: gcize damienization
+
+2002-03-10 11:55 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: and still fixes ...
+
+2002-03-10 11:39 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-03-10 10:49 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: update
+
+2002-03-10 10:38 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/any.pm: added missing i18n _()
+
+2002-03-09 22:59 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: comply better to ClientID stuff
+
+2002-03-09 19:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated po file
+
+2002-03-09 15:23 Yves Duret
+
+ * perl-install/standalone/scannerdrake: added sum up at the end
+
+2002-03-09 01:58 Yves Duret
+
+ * perl-install/standalone/scannerdrake: uncomment line that checks
+ if sane rpm is installed or not (thx gc). i sux,
+
+2002-03-08 21:15 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translation
+
+2002-03-08 20:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: corrected typo
+
+2002-03-08 19:44 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: missing translations + a few changes
+
+2002-03-08 19:24 Dam's
+
+ * perl-install/standalone/drakfont: ergonomy changed to fit in mcc
+
+2002-03-08 19:24 Dam's
+
+ * perl-install/standalone/drakproxy: drakproxy rewritten
+
+2002-03-08 19:24 Dam's
+
+ * perl-install/network/network.pm: proxy settings corrected
+
+2002-03-08 18:54 Dam's
+
+ * perl-install/standalone/drakproxy: working drakproxy
+
+2002-03-08 18:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, it.po: updated po files
+
+2002-03-08 17:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-03-08 17:41 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: have 4 seconds of delay for usb stuff to
+ show up rather than seconds
+
+2002-03-08 17:26 Dam's
+
+ * perl-install/: install_steps.pm, standalone/drakfont: corrected
+ network up/down when network install
+
+2002-03-08 16:02 Fançois Pons
+
+ * perl-install/install_any.pm: fixed allowNVIDIA_rpms to take care
+ of new kernel naming conventions.
+
+2002-03-08 15:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: removed the "translation" of
+ licence, it was random text.
+
+2002-03-08 15:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/locales-skeleton.tar.bz2: Added
+ symlinks in locales-skeleton so non primary chinese encodings can
+ work
+
+2002-03-08 15:38 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed possible additional XFree
+ packages not installed if server is already installed.
+
+2002-03-08 15:35 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fixed NVIDIA support to use
+ newer kernel naming conventions.
+
+2002-03-08 12:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated po file
+
+2002-03-08 00:35 Guillaume Cottenceau
+
+ * mdk-stage1/newt-frontend.c: english fix thx to till & phil
+
+2002-03-07 21:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated po file
+
+2002-03-07 21:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2002-03-07 21:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: removing quota choices for reiserfs
+
+2002-03-07 21:01 Dam's
+
+ * perl-install/: modparm.pm, share/po/fr.po: corrected
+
+2002-03-07 20:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakboot: i18n changes
+
+2002-03-07 19:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed bug of network not being
+ started by Printerdrake during installation.
+
+2002-03-07 19:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/drakfont: Added a missing _( ) around a
+ text
+
+2002-03-07 19:31 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: generate_automatic_stage1_params:
+ also save the interface number in case the machine will have
+ several interfaces; clean code a bit
+
+2002-03-07 19:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: corrected the locale->keyboard list
+ building
+
+2002-03-07 19:30 Guillaume Cottenceau
+
+ * perl-install/install_steps_auto_install.pm: in replay mode, since
+ $o->{interactiveSteps} exists, we can't simply ||=
+ @graphical_steps, we need to push to ensure that the
+ @graphical_steps is always honoured
+
+2002-03-07 19:11 Dam's
+
+ * perl-install/standalone/draknet: corrected network/internet
+ restart when already connected
+
+2002-03-07 18:36 Dam's
+
+ * perl-install/network/netconnect.pm: corrected bad previous
+ behaviour
+
+2002-03-07 18:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: make keyboard selection choose first
+ the 5 first chars of lang; then the 2 first chars;
+
+2002-03-07 17:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, eu.po, ko.po, tr.po: commented out
+ the translations using argument switching (not yet handled by
+ DrakX)
+
+2002-03-07 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: "--timeout=" must be after terminal
+
+2002-03-07 17:41 Guillaume Cottenceau
+
+ * perl-install/modules.pm: try to avoid segfaulting probeall stuff
+
+2002-03-07 17:34 Fançois Pons
+
+ * perl-install/any.pm: fix autologin sometimes activated without
+ user intervention.
+
+2002-03-07 17:11 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, compssUsers.server, rpmsrate:
+ update server, merge with normal rpmsrate
+
+2002-03-07 16:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: don't have the adsl & modem
+ passwords in report.bug
+
+2002-03-07 16:54 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed package tree
+ with a given medium.
+
+2002-03-07 16:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, hu.po, id.po, vi.po: updated po
+ files
+
+2002-03-07 16:36 Dam's
+
+ * perl-install/share/advertising/: 02-internet.pl,
+ 02-internet_icon.png, 03-graphic.pl, 03-graphic_icon.png,
+ 04-develop.pl, 04-develop_icon.png, 05-contcenter.pl,
+ 05-contcenter_icon.png, 06-user.pl, 06-user_icon.png,
+ 07-server.pl, 07-server_icon.png, 08-games.pl, 08-games_icon.png,
+ 09-MDKcampus.pl, 09-MDKcampus_icon.png, 10-MDKexpert.pl,
+ 10-MDKexpert_icon.png, 12-MDKstore.pl, 12-MDKstore_icon.png:
+ changed icon sizes
+
+2002-03-07 16:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add --timeout=... for "terminal
+ serial ..." line in grub's menu.lst
+
+2002-03-07 16:06 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: better error msg regarding pcmcia net
+ adapters supported either with pcmcia.img or network.img (amaury
+ sucks)
+
+2002-03-07 16:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated po file
+
+2002-03-07 15:48 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add ns83820 gigabit (goes to other.img)
+
+2002-03-07 15:29 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Evolution is not dependent on GNOME
+ selection (not require gnome-core)
+
+2002-03-07 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix fileshare custom config
+
+2002-03-07 14:10 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - call net_monitor to disable
+ internet connection before network-restart - user return value
+ when status'ing the initscripts rather than grepping their
+ text output
+
+2002-03-07 14:05 Dam's
+
+ * perl-install/standalone/net_monitor: make gc happy
+
+2002-03-07 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: fix *some* stew errors
+
+2002-03-07 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (zips__faking_ide_scsi): fix
+ returned value in standalone (getSCSI): don't call isFloppyOrHD
+ for ZIPs (lowers the number of kernel error when there is no
+ floppy)
+
+2002-03-07 12:33 Dam's
+
+ * perl-install/standalone/drakfont: corrected bad system command
+
+2002-03-07 12:30 Guillaume Cottenceau
+
+ * rescue/rescue-doc: english fixes thx to phil
+
+2002-03-07 11:24 Fançois Pons
+
+ * perl-install/install_steps.pm: avoid destroying some files in
+ /etc.
+
+2002-03-07 01:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm,
+ standalone/drakboot: drakboot functionality for PPC
+
+2002-03-07 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset:
+ (nfs_exports::update_server): ensure portmap is running
+
+2002-03-06 22:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated po file
+
+2002-03-06 21:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated po file
+
+2002-03-06 21:17 Dam's
+
+ * perl-install/standalone/drakautoinst: corrected HASH and ARRAY
+ label
+
+2002-03-06 21:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated po file
+
+2002-03-06 20:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: translate the actions
+
+2002-03-06 19:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: add @preferred libxpm4
+
+2002-03-06 19:48 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove abiword
+
+2002-03-06 19:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: do not allow encrypted /var
+
+2002-03-06 19:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: choose to activate crypto.
+ type password. unselect encryption. Select encryption again, you
+ were not asked for password. Fixed
+
+2002-03-06 19:30 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: no 3D with Utah GLX (XF 3.3) if
+ more than 800 MB.
+
+2002-03-06 19:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use formatError
+
+2002-03-06 18:40 Fançois Pons
+
+ * perl-install/install_any.pm: update for newer pkgs module (fix
+ for abort during installation).
+
+2002-03-06 18:39 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed error when using multiple removable
+ media and user aborted installation (for some other error) and
+ hdlists cannot be retrieved.
+
+2002-03-06 18:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-03-06 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: when called by kcontrol with
+ --apply, don't modify kde config files, kcontrol takes care of it
+ more nicely
+
+2002-03-06 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix typo in %xim (for chineese)
+
+2002-03-06 17:09 Dam's
+
+ * perl-install/my_gtk.pm: corrected font stuff
+
+2002-03-06 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (find_free_loop): fix
+
+2002-03-06 16:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (add_append): don't add to entries of
+ type 'other'
+
+2002-03-06 16:51 Fançois Pons
+
+ * rescue/tree/etc/oem: allow oem script to be executable from
+ standard cd set (powerpack or other).
+
+2002-03-06 16:35 Fançois Pons
+
+ * perl-install/pkgs.pm: add save of synthesis too when partitions
+ are reformated, so that urpmi is happy after.
+
+2002-03-06 16:31 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed when hdlist gives no new package (new
+ name) but only obsoleted package or updated package, ie security
+ updates may appreciate.
+
+2002-03-06 14:29 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: print an error message if xawtv
+ isn't installed
+
+2002-03-06 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: ensure the fstab is kept on upgrade
+
+2002-03-06 13:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, fr.po, id.po, zh_TW.po: updated
+ some po files
+
+2002-03-06 13:11 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: fix conflict between i18n and
+ complete signal handler (ie return key and not value)
+
+2002-03-06 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): use
+ "interactiveSteps" field instead of pushing in
+ @install_steps_auto_install::graphical_steps
+
+2002-03-06 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - create the kde share/config's directory,
+ so that kde config files are created in any case - in user_only
+ localedrake, ensure the /etc/sysconfig/i18n is taken into account
+ when ~/.i18n doesn't exist (thanks to F.Crozat)
+
+2002-03-05 23:20 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: an old sucking PCI card needs
+ oldskool i82365 :-((, ugly patch
+
+2002-03-05 21:51 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add Fred Bastok modif remove too
+ many duplicate in i18n packages that are now automatically added
+
+2002-03-05 18:04 Fançois Pons
+
+ * perl-install/install_steps.pm: added auto restore of some files
+ (/etc/profile) needed by upgrade (from .rpmnew).
+
+2002-03-05 17:43 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: deactivate v4l module if DRI is
+ enabled and r128 driver used.
+
+2002-03-05 17:37 Fançois Pons
+
+ * perl-install/crypto.pm: avoid trying to find hdlist-updates.cz in
+ existing medium (instead of ftp one).
+
+2002-03-05 17:28 Fançois Pons
+
+ * perl-install/install_any.pm: fix duplicate synthesis.hdlist.xxx
+ file present in /var/lib/urpmi, and furthermore uncompressed :-(
+
+2002-03-05 17:26 Dam's
+
+ * perl-install/network/netconnect.pm: corrected expert option in
+ install mode
+
+2002-03-05 17:10 Dam's
+
+ * perl-install/network/netconnect.pm: added expert mode
+
+2002-03-05 17:09 Dam's
+
+ * perl-install/modparm.pm: cosmetic
+
+2002-03-05 17:08 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, dhcp.h, network.c: save dhcp_hostname for
+ stage2
+
+2002-03-05 17:07 Fançois Pons
+
+ * perl-install/install_steps.pm: added log for hasNetwork (so that
+ we can understand why installUpdates do nothing).
+
+2002-03-05 17:05 Fançois Pons
+
+ * perl-install/fs.pm: fixed hd install to allow using specific
+ directory.
+
+2002-03-05 16:19 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: fix bug in generating automatic
+ stage1 params for http
+
+2002-03-05 15:50 Dam's
+
+ * perl-install/my_gtk.pm: greater interstice
+
+2002-03-05 15:50 Dam's
+
+ * perl-install/modparm.pm: gzipped modules handled
+
+2002-03-05 14:06 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install xlockmore when installing
+ gnome, since xscreensaver can't lock root desktop..
+
+2002-03-05 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: if mem=nopentium is given on
+ cmdline, have it after install
+
+2002-03-05 13:28 Fançois Pons
+
+ * perl-install/install_any.pm: fixed possible bug when generating
+ synthesis file for urpmi installation.
+
+2002-03-05 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (extract_modules): created (was done in
+ load_raw)
+
+2002-03-05 12:48 Chmouel Boudjnah
+
+ * perl-install/modules.pm: Add USB2 controller
+
+2002-03-05 12:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added support for HP's newest MF
+ devices: HP OfficeJet D series, HP LaserJet 33xx MFP. Fixed bug
+ of printerdrake sometimes assuming the user has an MF device when
+ he has typed the device file name in the expert mode.
+
+2002-03-05 12:03 Guillaume Cottenceau
+
+ * perl-install/modules.pm: aironet core sucking thing
+
+2002-03-05 10:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sp.po, sr.po: updated po files
+
+2002-03-05 07:56 Yves Duret
+
+ * perl-install/standalone/logdrake: mail alert: use eval {} to
+ catch wizcancel
+
+2002-03-05 02:59 Yves Duret
+
+ * perl-install/bootlook.pm: fix nobody bug
+
+2002-03-05 02:34 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: use UseFBDev for r128 - PPC
+
+2002-03-04 16:01 Fançois Pons
+
+ * perl-install/pkgs.pm: fix scroll total to match reality.
+
+2002-03-04 15:46 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed interpretation of size of package
+ when doing an install (this can be severe, need testing).
+
+2002-03-04 12:51 Dam's
+
+ * perl-install/modparm.pm: corected weirdness, I suck
+
+2002-03-04 00:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cy.po: updated po file
+
+2002-03-03 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (gtkicons_labels_widget): since style is
+ not set either, use the widget and ask it the style->font. This
+ *works*
+
+2002-03-03 20:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: updated po file
+
+2002-03-03 19:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Let Star Office/OpenOffice.org
+ configuration corrcet a bug in the PostScript produced by these
+ programs so that the Euro symbol is printed correctly.
+
+2002-03-03 18:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (gtkicons_labels_widget): pass the style
+ instead of directly passing the font
+
+2002-03-02 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: better jaz detection (thanks to
+ Randy Welch)
+
+2002-03-02 20:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: better name for windobe new 0x42
+ special id (their own LVM marker)
+
+2002-03-02 18:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Replaced "Open
+ Office" by "OpenOffice.org".
+
+2002-03-02 18:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated po file
+
+2002-03-02 17:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hu.po, sv.po, vi.po: updated po
+ files
+
+2002-03-02 13:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix ide zip name when there are
+ already some other SCSI drives
+
+2002-03-02 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add lvreduce & lvextend
+
+2002-03-02 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Resize): ensure we call
+ lv_resize from lvm and adjust_* for normal partitions, even for
+ destructive resizes
+
+2002-03-02 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: ZIPs and Jazz's are not floppies
+
+2002-03-02 00:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix gc's bulshit
+
+2002-03-01 20:14 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: a few missing trads
+
+2002-03-01 20:07 Fançois Pons
+
+ * perl-install/install_any.pm: reset correct setup_postinstall_rpms
+ calling.
+
+2002-03-01 20:07 Fançois Pons
+
+ * tools/oem-prepare: added handling of newer rpmsrate format with
+ INSTALL category.
+
+2002-03-01 19:28 Fançois Pons
+
+ * rescue/tree/etc/oem: added ext3 support.
+
+2002-03-01 18:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm, standalone/localedrake: restrict
+ localedrake to installed lang
+
+2002-03-01 18:16 Dam's
+
+ * perl-install/my_gtk.pm: style & font correction
+
+2002-03-01 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: ask which hard drive is the booting one when
+ there is mixed kind of drives (scsi+ide, ide2+ide) and the
+ bootloader is not installed on MBR
+
+2002-03-01 17:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - do not indent "disk=... bios=..." -
+ $lilo->{first_hd_device} can be used to tell which drive is the
+ first one for the BIOS. Useful when the bootloader is installed
+ on a partition and not on the MBR.
+
+2002-03-01 17:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Reduced the paths to search for
+ Star/Open Office, on systems without these applications installed
+ the search needed a significant time.
+
+2002-03-01 16:43 Dam's
+
+ * perl-install/services.pm: corrected translation used for shell
+ command
+
+2002-03-01 16:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: fixed two typos
+
+2002-03-01 16:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: small corrections (non breakable
+ spaces)
+
+2002-03-01 16:09 Fançois Pons
+
+ * perl-install/install_any.pm: removed some card where 3D is not
+ installed by default: Riva128, Radeon 8500 and Rage Mobility
+ card.
+
+2002-03-01 15:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated po files
+
+2002-03-01 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: read "disk=/dev/xxx bios=0x8x" and
+ save it
+
+2002-03-01 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: add 'C' in %charset2kde_font (so that
+ english has normal fonts)
+
+2002-03-01 15:23 Fançois Pons
+
+ * perl-install/share/rpmsrate: updated INSTALL category with NOCOPY
+ new flag added.
+
+2002-03-01 15:23 Fançois Pons
+
+ * perl-install/share/rpmsrate.server: synced with rpmsrate INSTALL
+ category.
+
+2002-03-01 15:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: handle leaving X for both Xdrakres
+ and XFdrake (=> Xdrakres completly obsolete)
+
+2002-03-01 15:11 Fançois Pons
+
+ * perl-install/pkgs.pm: added pixel comments for handling INSTALL
+ category and NOCOPY handling.
+
+2002-03-01 15:03 Fançois Pons
+
+ * perl-install/pkgs.pm: only copy package in INSTALL category with
+ a rate of at least 2.
+
+2002-03-01 14:54 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: please translators, keep two
+ newlines when there are two newlines in original string, it's on
+ purpose
+
+2002-03-01 14:35 Fançois Pons
+
+ * perl-install/install_any.pm: removed staling debug code.
+
+2002-03-01 14:34 Fançois Pons
+
+ * perl-install/install_any.pm: fixed bad copied package (if one is
+ not found).
+
+2002-03-01 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: call dcop as user
+
+2002-03-01 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: add is_a_recent_computer()
+
+2002-03-01 12:38 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: add hostname/domain in dhcp negociation, thx
+ to david@eastcott.net
+
+2002-03-01 12:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: switch en_GB, *_CH, da, es@tradicional and
+ wa to iso-8859-15
+
+2002-03-01 12:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: special case for non detected usb
+ interface on a box with no mouse. we *must* find out if there
+ really is no usb, otherwise the box may not be accessible via the
+ keyboard (if the keyboard is USB) the only way to know this is to
+ make a full pci probe
+
+2002-03-01 06:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, nl.po, zh_TW.po: updated po files
+
+2002-02-28 21:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, no.po: updated po files
+
+2002-02-28 19:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-02-28 19:22 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: and another part of updates
+
+2002-02-28 18:01 Guillaume Cottenceau
+
+ * make_boot_img: don't have /images/alternatives/usb.img-2.2.14
+
+2002-02-28 17:50 Dam's
+
+ * perl-install/modparm.pm: corrected modinfo path for isa modules
+ during install
+
+2002-02-28 17:43 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: try to fix if no chosen width has
+ been found.
+
+2002-02-28 17:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-02-28 17:18 Guillaume Cottenceau
+
+ * perl-install/install2.pm: more precise msg when can't access
+ kernel modules because we still have many dumb people on cooker
+ asking what's going on
+
+2002-02-28 17:13 Dam's
+
+ * perl-install/standalone/drakbackup: bugfixs
+
+2002-02-28 17:01 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: small english fix
+
+2002-02-28 16:51 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: added curl as a bonus for
+ oem install (it will be used by urpmi)
+
+2002-02-28 16:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: last translation but not least.
+
+2002-02-28 16:07 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: further updates
+
+2002-02-28 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-02-28 15:43 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: added a2ps as a bonus (it
+ fetch tetex where oem limited disk usage do not agree a lot).
+
+2002-02-28 15:22 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-02-28 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (loadkeys_files): ensure each file
+ appear only once
+
+2002-02-28 15:03 Dam's
+
+ * perl-install/standalone/drakbackup: corrected translation for
+ crontab
+
+2002-02-28 14:55 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: resolve conflicts for short keytable
+ names (eg: "no" could be either "no-dvorak" or "no-latin1")
+
+2002-02-28 14:14 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: removed Radeon 8500 from DRI
+ capable cards.
+
+2002-02-28 14:11 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed bad copy of install packages.
+
+2002-02-28 14:11 Fançois Pons
+
+ * tools/oem-prepare: fixed bad copy of INSTALL packages.
+
+2002-02-28 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_steps.pm: use the "soft" option by
+ default for /mnt/nfs and for "diskdrake --nfs"
+
+2002-02-28 13:33 Guillaume Cottenceau
+
+ * rescue/: aliases, list: include /sbin/fsck.ext3 since our users
+ are so dumb
+
+2002-02-28 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add "nowarn" in lilo.conf
+
+2002-02-28 13:02 sdupont
+
+ * perl-install/standalone/drakfont: including 'su' mode on
+ drakfont.
+
+2002-02-28 11:36 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updated missing strings
+
+2002-02-28 11:09 Dam's
+
+ * perl-install/share/themes-marble3d.rc: rechanged bg for camille
+
+2002-02-28 05:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Re-activated function to specify a
+ CUPS server in another network and to switch to manual CUPS
+ configuration.
+
+2002-02-28 04:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/: rpmsrate, rpmsrate.server: Added "curl" to
+ install section, it is needed by printerdrake.
+
+2002-02-28 04:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: - Fixes/Improvements
+ on Star Office/Open Office support: o When one switches the
+ spooler, the entries of the printers under the old spooler
+ are removed from Star Office/Open Office o Printers on remote
+ CUPS servers (which are known through broadcasting) can be
+ added to Star Office/Open Office
+
+2002-02-28 04:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2002-02-28 00:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: - Improved fully automatic adding
+ of printer queue: o Ask for a queue name if more than one
+ printer is detected o Let user confirm the model automatically
+ chosen from the database o Set correct paper size according to
+ the language/country - When one chooses a "CUPS + GIMP-Print"
+ driver now all important options are displayed directly
+ (without needing "Advanced" button). - Made less warning
+ appearing on the console from where "printerdrake" was called.
+
+2002-02-28 00:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2002-02-27 20:27 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: misc
+
+2002-02-27 20:25 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: also report when pcitable
+ is "too old"
+
+2002-02-27 18:36 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: flightgear is now fully lowercase
+ glaxium
+
+2002-02-27 17:49 Fançois Pons
+
+ * perl-install/crypto.pm: fix missing version listed when doing
+ update.
+
+2002-02-27 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: ensure a keyboard is
+ only once available, either in advanced or normal, but not in
+ both (tx2fredl)
+
+2002-02-27 16:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: workaround iso-8859-1 charset based
+ languages not displayed correctly at install
+
+2002-02-27 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - simplify an
+ ACTION||fallback;fallback into ACTION;fallback - print a message
+ saying that xawtv can be used now at the end of the channels
+ auto-probing in case of direct use from cl and not from XawTV
+ wrapper (from qa test) aka let the world be better :-)
+
+2002-02-27 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/da.po: - it is UTF-8 - fix line splitting
+
+2002-02-27 16:26 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: formatAlaTex for
+ congratz msg
+
+2002-02-27 16:23 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: xfs + bootdisk =
+ warning_msg
+
+2002-02-27 14:31 Guillaume Cottenceau
+
+ * mdk-stage1/rescue-gui.c, rescue/list.i386,
+ rescue/make_rescue_img, rescue/restore_ms_boot: add "restore
+ Windows Boot Loader" to rescue
+
+2002-02-27 14:31 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: a few translations
+
+2002-02-27 14:12 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/merge_from_pcitable: write a short perl
+ program to easily merge new cardbus controllers from pcitable
+ into probe.c
+
+2002-02-27 14:02 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: minor update
+
+2002-02-27 13:38 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update brezhoneg translation
+
+2002-02-27 12:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated po file
+
+2002-02-27 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: simplify pyDict
+
+2002-02-27 12:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-02-27 12:41 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/probe.c: add Keld Jørn Simonsen
+ <keld@dkuug.dk>'s O2 Micro CardBus controller, and two other PCI
+ entries which have close descriptions
+
+2002-02-27 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - %lang2country is the authority, so if the
+ country given by %lang2country doesn't exist in KDE, return C -
+ fix be,sp,sr
+
+2002-02-27 11:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - s/def/default/ (typo) - add some utf kde
+ fonts
+
+2002-02-27 10:11 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: converted to UTF-8
+
+2002-02-27 00:08 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-02-26 23:59 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: version 8.2
+
+2002-02-26 23:34 Dam's
+
+ * perl-install/modparm.pm: corrected bad sprintf
+
+2002-02-26 23:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, hu.po, sv.po: updated po files
+
+2002-02-26 22:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: interactive.pm, removable.pm,
+ smbnfs_gtk.pm: propose some mount points for removable/nfs/smb
+
+2002-02-26 22:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (@icon_paths): ease testing
+
+2002-02-26 22:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: if no sound card are
+ detected AND the user selected things needing a sound card,
+ propose a special case for ISA cards
+
+2002-02-26 22:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add sndconfig in INSTALL (installed
+ when user say Yes when asked for a ISA sound card)
+
+2002-02-26 22:19 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translations
+
+2002-02-26 21:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, fs.pm,
+ install_steps.pm: - zips() now return devices ending with "4",
+ raw_zips() is the old zips() - rdvd handling - add .conf for
+ /etc/devfs/conf.d/ files
+
+2002-02-26 19:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: don't add mem=nopentium anymore.
+ kernel people says it's not needed and bad for performance. It
+ also means any bug must be addressed to them
+
+2002-02-26 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add xine in VIDEO 4
+
+2002-02-26 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (devfssymlinkf): use
+ /etc/devfs/conf.d/name.conf instead of putting the symlink in
+ lib/dev-state
+
+2002-02-26 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: create /dev/dvd for DVDs
+
+2002-02-26 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: cleanup
+
+2002-02-26 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2002-02-26 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: make perl_checker happy
+
+2002-02-26 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: have "Ok More Show all" instead
+ of "Ok Cancel Show all"
+
+2002-02-26 16:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/any.pm: fixed English typo
+
+2002-02-26 16:13 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: - explain where to put nbsp spaces,
+ explain what's nbsp spaces, explain how to compose them - add a
+ few missing nbsp spaces - translate a few more things
+
+2002-02-26 15:45 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: use "xvt -T" rather than "xvt
+ --title": now not only we support rxvt and xterm but konsole too.
+ the only one missing is gnome-terminal which has -t but not -T
+
+2002-02-26 15:40 Dam's
+
+ * perl-install/share/logo-mandrake.png: new logo
+
+2002-02-26 15:29 Fançois Pons
+
+ * make_boot_img: use /usr/lib/syslinux/isolinux files instead of
+ /usr/lib/isolinux files.
+
+2002-02-26 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: set the locale properly instead of
+ setting the translated messages in the script
+
+2002-02-26 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: create bindtextdomain which does only part
+ of the load_mo job
+
+2002-02-26 14:00 Dam's
+
+ * perl-install/standalone/drakfont: corrected ttf/TTF and xfs
+ restart
+
+2002-02-26 13:52 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: Ti Powerbook uses non-std
+ 1152x768, rather than 1152x864
+
+2002-02-26 13:47 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: update comments
+
+2002-02-26 13:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: - remove useless "no_edit => 1"
+ - use interactive_gtk to determine if we're runned under X11 (ie
+ authorized acces to X11 server, X11 context, ...) - add a note
+ to remember that we should add a method to detect if we run
+ under X11 if/when we implement interactive_qt - simplify code :
+ * remove is_tv and simplify its code to be a one-liner
+ (replace a foreach by a scalar context) * use format to
+ prevent reverse lookup on scantv run thus enabling to
+ reverse the initial hash table - all cases (newt, gtk, wt/wo xvt,
+ ...) have been re tested on real hw.
+
+2002-02-26 13:41 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix translation of test program.
+
+2002-02-26 02:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove passwords and realnames from
+ report.bug
+
+2002-02-26 02:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated po file
+
+2002-02-25 23:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fs.pm, install_steps.pm,
+ modules.pm: use ide-scsi for ide zips
+
+2002-02-25 23:40 Guillaume Cottenceau
+
+ * rescue/list: add mt-st DAT stuff for joeghi (ghibo)
+
+2002-02-25 23:39 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: don't put accents for bootloader, we
+ can just use 7bit chars (titi sucks bigtime)
+
+2002-02-25 23:26 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix a typo (thanks gc)
+
+2002-02-25 23:22 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: add a few nbsp spaces
+
+2002-02-25 23:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-02-25 21:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: sort the list of
+ keyboards
+
+2002-02-25 20:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: add --testing
+
+2002-02-25 19:55 Dam's
+
+ * perl-install/standalone/drakfont: debug
+
+2002-02-25 19:55 Dam's
+
+ * perl-install/: any.pm, modparm.pm: corrected modules parameters
+ functions
+
+2002-02-25 19:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: ignore-table is a global flag, so put
+ it there (when needed)
+
+2002-02-25 17:52 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: more precise location
+ for errata's
+
+2002-02-25 17:50 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add me
+
+2002-02-25 17:10 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/rpmsrate: add zapping to tv group
+
+2002-02-25 15:06 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translation
+
+2002-02-25 14:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-02-25 14:51 Dam's
+
+ * perl-install/share/advertising/13-Nvert.pl: corrected
+ advertisings
+
+2002-02-25 14:41 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add mrproject to Office / GNOME
+
+2002-02-25 14:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: completed lang2country
+
+2002-02-25 12:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Improvved mechanism which searches for
+ Star/Open Office Added path to Star/Open Office printing commands
+
+2002-02-25 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): add users in group usb
+ if SECURE_LEVEL <= 3
+
+2002-02-25 09:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, eu.po, ja.po, nl.po: updated
+ po files
+
+2002-02-25 00:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Generalized the search method for
+ Star/Open Office so that automatic printer configuration also
+ works for Star Office 6.x and 5.1.
+
+2002-02-24 21:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-02-24 20:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/tinyfirewall.pm: fix some escaped " causing xgettext
+ to go wild
+
+2002-02-24 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, keyboard.pm: use the
+ langs chosen to know the keyboards to propose (and not only the
+ main lang)
+
+2002-02-24 19:03 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add linuxconf-lang
+
+2002-02-24 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: force Option "sw_cursor"
+ for MagicMedia 256XL+ (thanks to Edward Tandi)
+
+2002-02-24 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: don't call formatAlaTeX 5 times, simpler to
+ call it once where it's needed
+
+2002-02-24 16:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: fix permission
+
+2002-02-24 01:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, ca.po, cs.po, da.po, el.po, eo.po,
+ es.po, et.po, eu.po, ro.po, ru.po, sp.po, sr.po, sv.po, th.po,
+ tr.po, uk.po: updated some po files
+
+2002-02-24 00:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: - use simplify_string to ensure
+ multi-line and too long strings are not used (hacky, but no other
+ solution) - set $::setstep like interactive_gtk is doing (??)
+
+2002-02-24 00:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: no need to catch the exception
+ from devices::make anymore
+
+2002-02-24 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: remove "-f" option for insmod
+
+2002-02-24 00:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: adding gphoto2
+
+2002-02-24 00:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added automatic
+ configuration of printers in Star Office and Open Office.
+
+2002-02-23 23:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: not_edit'able filesystem
+ type (allow esp. a nicer newt version)
+
+2002-02-23 21:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, be.po, bg.po, br.po, bs.po,
+ sk.po, sl.po, sv.po: updated some po files
+
+2002-02-23 19:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: Makefile, cy.po: updated Welsh file
+
+2002-02-23 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (devices::make): following a good advice
+ from Andrej Borsenkow, return the file even if the device file
+ doesn't exist the caller will fail or not. The advantage is
+ better compatibility than raising an exception
+
+2002-02-23 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_empty.pm: handle MBR containing the
+ same character (0 or "l")
+
+2002-02-23 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: nicer error message when mount fails
+
+2002-02-23 13:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, eu.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: udated Vietnamese file
+
+2002-02-23 12:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, devices.pm: devices::make
+ doesn't mknod with devfs
+
+2002-02-23 12:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: fix @icon_paths to include
+ /usr/share/libDrakX/pixmaps (thanks to garrick)
+
+2002-02-23 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: when passwords do not
+ match, focus on first password entry, not the second (thanks to
+ garrick)
+
+2002-02-23 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: remove Option "sw_cursor"
+ for "SiS 6326" since it's already handled in Xconfigurator.pm
+
+2002-02-23 09:42 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed silly error
+
+2002-02-23 09:35 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-02-23 07:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: removed useless _( )
+ around a string displayed in English only
+
+2002-02-22 22:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add atibm (thanks to Robin Pollard)
+
+2002-02-22 21:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po: updated Danish file
+
+2002-02-22 19:58 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: exit the pur_gtk version after
+ launching the wizard version
+
+2002-02-22 18:32 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: powermanga: 2 -> 3
+
+2002-02-22 18:20 Guillaume Cottenceau
+
+ * perl-install/any.pm: better rephrasing
+
+2002-02-22 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: workaround set_active failing
+
+2002-02-22 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix 2 entries in charset2kde_font
+
+2002-02-22 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - remove non needed entries in lang2country
+ - fix syntax errors - rename kdefont in charset2kde_font - much
+ cleanup
+
+2002-02-22 17:56 Guillaume Cottenceau
+
+ * perl-install/any.pm: change name and description of security
+ levels
+
+2002-02-22 17:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add procmail in SYSTEM 4
+
+2002-02-22 17:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: start of support of kde fonts
+
+2002-02-22 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: use invalid instead of
+ unknown for errors when checking
+
+2002-02-22 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: put ignore-table to disable lilo's
+ partition table checking (esp. the checking of the CHS geometry
+ vs linear geometry)
+
+2002-02-22 16:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: put back the less deep langs
+
+2002-02-22 16:42 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: further translations
+
+2002-02-22 16:32 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation
+
+2002-02-22 16:23 Dam's
+
+ * perl-install/my_gtk.pm: corrected icon paths
+
+2002-02-22 15:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, share/keyboards.tar.bz2:
+ fixed some keyboard names
+
+2002-02-22 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use the setupBootloader help instead of
+ setupBootloaderGeneral
+
+2002-02-22 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: have the tree less deep (esp. nicer when
+ not displaying UTF-8 entries)
+
+2002-02-22 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm, lang.pm: not translating in console
+ installs (esp. newt) when the font is missing
+
+2002-02-22 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add samba-doc samba-winbind
+ samba-swat
+
+2002-02-22 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm: restrict the langs displayed to
+ non utf8 during install
+
+2002-02-22 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: fix syntax typo
+
+2002-02-22 13:53 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: update TODO list; explain what
+ is HRC
+
+2002-02-22 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix warning message
+
+2002-02-22 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: change the message
+
+2002-02-22 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: disable perl warnings when
+ checking
+
+2002-02-22 13:41 Dam's
+
+ * perl-install/share/po/fr.po: corrected bad translation
+
+2002-02-22 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: - add checks for the various data
+ structures - fix another typo for usb2drakxkbd
+
+2002-02-22 13:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: - exclude urpm from perl_checker - add
+ checking keyboard.pm
+
+2002-02-22 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: even smarted process to kill selection
+
+2002-02-22 11:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: make perl_checker happy
+
+2002-02-22 11:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: fix typo
+
+2002-02-22 10:46 Dam's
+
+ * perl-install/share/advertising/: 01-gnu.pl, 02-internet.pl,
+ 03-graphic.pl, 04-develop.pl, 05-contcenter.pl, 06-user.pl,
+ 07-server.pl, 08-games.pl, 09-MDKcampus.pl, 10-MDKexpert.pl,
+ 11-consul.pl, 12-MDKstore.pl, 13-Nvert.pl: corrected advertising
+ text
+
+2002-02-22 09:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added the two ?win_toggle choices
+
+2002-02-22 09:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: some info useful for keyboard handling
+
+2002-02-22 01:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated hungarian file
+
+2002-02-22 00:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Removed "Manual configuration"
+ button when "Local Printer" dialog is started from the queue
+ modification menu (Recommended mode). Improved matching of
+ printer names resulting from auto-detection with names in the
+ database.
+
+2002-02-21 21:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kinput2-wnn4
+
+2002-02-21 19:41 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish po file
+
+2002-02-21 19:28 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: spacecup no more exists armagetron
+ is nice, no use to install gltron as well
+
+2002-02-21 19:27 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: autoconf2.5 and automake1.5
+
+2002-02-21 19:23 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: shorter displayed message
+
+2002-02-21 18:50 Dam's
+
+ * perl-install/my_gtk.pm: corrected icon list
+
+2002-02-21 17:38 Guillaume Cottenceau
+
+ * perl-install/interactive.pm: when not in X and needs su, use
+ consolehelper now
+
+2002-02-21 17:30 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: final batch of typos fixes (next
+ time, please run a check speller)
+
+2002-02-21 17:26 Guillaume Cottenceau
+
+ * perl-install/interactive.pm: use consolehelper when no "kdeinit:
+ kwin" process is running
+
+2002-02-21 17:14 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix more typos
+
+2002-02-21 16:56 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translation; fix typos
+
+2002-02-21 15:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, lvm.pm: ensure lvm tools don't
+ need to be all installed at the same time
+
+2002-02-21 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm, tools/make_mdkinst_stage2: LC_COLLATE and
+ LC_CTYPE are getFile'd (cuz they are big, causing the .cz2 to be
+ *big*)
+
+2002-02-21 15:49 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: update
+
+2002-02-21 15:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, ar.po, az.po,
+ be.po, bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po,
+ el.po, eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po,
+ hr.po, hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po,
+ nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-02-21 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add aic7xxx_old
+
+2002-02-21 14:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2002-02-21 14:31 Dam's
+
+ * perl-install/standalone/icons/: categ.png, drakbackup.540x57.png,
+ drakfont.620x57.png, draknet_step.png, eth_card_mini2.png,
+ gmon.png, hori.png, ic-drakfont-48.png, ic82-CD-40.png,
+ ic82-back-up-16.png, ic82-back-up-32.png, ic82-back-up-48.png,
+ ic82-discdurwhat-40.png, ic82-dossier-32.png,
+ ic82-moreoption-40.png, ic82-network-40.png, ic82-others-40.png,
+ ic82-system-40.png, ic82-systemeplus-40.png, ic82-tape-40.png,
+ ic82-users-40.png, ic82-when-40.png, ic82-where-40.png,
+ mdk_logo.png, net_c.png, net_d.png, net_u.png,
+ smbnfs_default.png, smbnfs_has_mntpoint.png, smbnfs_mounted.png,
+ smbnfs_server.png, tradi.png, verti.png, wiz_default_left.png,
+ wiz_default_up.png, wiz_drakgw.png, wiz_draknet.png,
+ wiz_firewall.png, wiz_printerdrake.png, wiz_scannerdrake.png:
+ added new gfx only standalone
+
+2002-02-21 14:29 Dam's
+
+ * perl-install/pixmaps/: categ.png, drakbackup.540x57.png,
+ drakfont.620x57.png, draknet_step.png, eth_card_mini2.png,
+ gmon.png, hori.png, ic-drakfont-48.png, ic82-back-up-32.png,
+ ic82-back-up-48.png, ic82-discdurwhat-40.png,
+ ic82-dossier-32.png, ic82-moreoption-40.png, ic82-network-40.png,
+ ic82-systemeplus-40.png, ic82-tape-40.png, ic82-users-40.png,
+ ic82-when-40.png, ic82-where-40.png, mdk_logo.png, net_u.png,
+ smbnfs_default.png, smbnfs_has_mntpoint.png, smbnfs_mounted.png,
+ smbnfs_server.png, tradi.png, wiz_default_up.png, wiz_drakgw.png,
+ wiz_draknet.png, wiz_firewall.png, wiz_printerdrake.png,
+ wiz_scannerdrake.png, ic82-CD-40.png, ic82-back-up-16.png,
+ ic82-others-40.png, ic82-system-40.png, net_c.png, net_d.png,
+ verti.png, wiz_default_left.png: removed gfx not used during
+ install
+
+2002-02-21 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (remove_bigseldom_used): remove
+ xf86Wacom.so & mkfs.xfs
+
+2002-02-21 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: DarkMarble theme is removed
+
+2002-02-21 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_gtk.pm, share/themes-DarkMarble.rc,
+ share/themes-blueHeart.rc, share/themes.rc: remove DarkMarble and
+ blueHeart themes
+
+2002-02-21 13:39 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: more translatable strings; hide
+ scantv output on console; check that we're under X11 before
+ running scantv in an xterm
+
+2002-02-21 13:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: template.in stuff removed
+
+2002-02-21 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, share/po/Makefile: make
+ a difference between PMS and ALLPMS. For install, only use PMS
+
+2002-02-21 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (kdeicons_postinstall): remove this
+ obsolete code
+
+2002-02-21 12:02 Dam's
+
+ * perl-install/standalone/draknet: changed button label
+
+2002-02-21 11:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: have devfs=nomount for failsafe
+
+2002-02-21 11:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: nfs.pm, smbnfs.pm: nicer conditional
+ displaying of nfs comment
+
+2002-02-21 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: no special case for installing
+ imwheel
+
+2002-02-21 11:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: smarter choosing of processes to kill
+
+2002-02-21 10:47 Fançois Pons
+
+ * perl-install/crypto.pm: fixed another not seen 8.1 reference in
+ label.
+
+2002-02-21 10:46 Fançois Pons
+
+ * perl-install/crypto.pm: fixed 8.1 release hard coded.
+
+2002-02-21 02:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: updated Finnish file
+
+2002-02-21 01:07 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: snapshot
+
+2002-02-21 01:03 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added "type => 'list'" to the
+ printer modification menu, it appeared as a drop-down list during
+ the installation.
+
+2002-02-21 00:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: much simpler & stronger killing of still
+ running processes
+
+2002-02-21 00:01 Guillaume Cottenceau
+
+ * perl-install/standalone.pm: explanations stuff: no reason to use
+ "updated" at a place when we use "modified" at the rest of the
+ locations..
+
+2002-02-20 22:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (ejectCdrom): display "files still
+ open:" for all processes when umounting fail
+
+2002-02-20 22:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: USB|Generic is 3 button mice, add a USB 2
+ Button entry
+
+2002-02-20 21:27 Guillaume Cottenceau
+
+ * mdk-stage1/doc/UPDATEMODULES: add an example on modules with
+ options
+
+2002-02-20 21:02 Guillaume Cottenceau
+
+ * mdk-stage1/doc/UPDATEMODULES: first line comment no more
+ necessary
+
+2002-02-20 21:01 Guillaume Cottenceau
+
+ * mdk-stage1/doc/UPDATEMODULES: s/row/column/, silly me
+
+2002-02-20 20:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2002-02-20 19:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2002-02-20 18:35 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: update
+
+2002-02-20 18:00 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: synced with newer
+ rpmsrate of DrakX and newer method to select INSTALL packages.
+
+2002-02-20 16:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2002-02-20 16:32 Dam's
+
+ * perl-install/share/themes-marble3d.rc: updated theme
+
+2002-02-20 16:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated FRench file
+
+2002-02-20 15:51 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translations
+
+2002-02-20 15:22 Dam's
+
+ * perl-install/network/adsl.pm: mgmt install corrected
+
+2002-02-20 15:06 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fixed NVIDIA package in urpmi db
+ by directly using urpm library instead of parsing (now removed)
+ depslist.ordered file.
+
+2002-02-20 14:55 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed default value if selecting a
+ card (use previous one or existing one). added XFree 4 driver
+ choice if Other|Unlisted is chosen. fixed cancel on card
+ selection so that previous choice is not lost.
+
+2002-02-20 14:53 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added @allbutfbdrivers and
+ @alldrivers for listing XFree 4 drivers.
+
+2002-02-20 14:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix s/SILO/LILO/
+
+2002-02-20 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (loadSavePackagesOnFloppy): add a "Cancel" button
+
+2002-02-20 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: have "with /usr" translated
+
+2002-02-20 14:09 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/rpmsrate: - Add gcc3.0-c++ and
+ libstdc++3.0-devel - Prefer gcc3.0-java over gcc-java - Remove
+ BasiliskII-sheepnet since it does no longer exist - Add/prefer
+ BasiliskII-jit over BasiliskII
+
+2002-02-20 14:00 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: - same weight for rfbdrake in
+ NETWORKING_REMOTE_ACCESS NETWORKING_REMOTE_ACCESS_SERVER
+
+2002-02-20 13:53 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Remove mozilla-psm from list, it is
+ merged in mozilla
+
+2002-02-20 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, standalone/draksec:
+ factorize and update the reading of previous security level
+
+2002-02-20 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: move installUpdates after configureX
+ (workaround for bad timeouts during installing updates)
+
+2002-02-20 13:20 Dam's
+
+ * perl-install/my_gtk.pm: added mcc kill if wait message
+
+2002-02-20 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove fsck_option (obsolete)
+
+2002-02-20 12:26 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: snapshot
+
+2002-02-20 12:19 Fançois Pons
+
+ * perl-install/: install_any.pm, pkgs.pm: fixed INSTALL category in
+ rpmsrate for copying file when changing cd (was an limitation in
+ read_rpmsrate when a package having a category and INSTALL caused
+ INSTALL to be dropped).
+
+2002-02-20 12:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/advertising/: 01-gnu.pl, 07-server.pl:
+ Improved English strings
+
+2002-02-20 11:50 Dam's
+
+ * perl-install/standalone/logdrake: cosmetic change, mcc compliance
+
+2002-02-20 11:40 Dam's
+
+ * perl-install/share/advertising/13-Nvert.pl: changed toll free
+
+2002-02-20 04:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, es.po, hu.po: updated Hungarian
+ and Spanish files
+
+2002-02-19 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: ugly hack to fix die
+
+2002-02-19 18:48 Guillaume Cottenceau
+
+ * perl-install/any.pm: english fix
+
+2002-02-19 18:35 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: -Install gnome-vfs-extras when
+ installing nautilus (to get samba browsing) -don't install
+ nautilus-mozilla, it is pulled by nautilus
+
+2002-02-19 18:11 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates for beta 3
+
+2002-02-19 17:57 Pixel <pixel at mandriva.com>
+
+ * Makefile: upload on ken Mandrake/share/advertising
+
+2002-02-19 17:55 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/share/advertising/Makefile: advertising
+ installation cleanup
+
+2002-02-19 17:52 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Changed button texts of "Do you
+ want to auto-detect?" dialog.
+
+2002-02-19 17:50 Dam's
+
+ * Makefile: unified
+
+2002-02-19 17:47 Dam's
+
+ * Makefile: modified to handle ads
+
+2002-02-19 17:40 Dam's
+
+ * perl-install/share/advertising/Makefile: new Makefile to install
+ ads
+
+2002-02-19 17:11 Guillaume Cottenceau
+
+ * perl-install/any.pm: report_bug: find syslog in /var/log if it's
+ not in /tmp, add $prefix in front of /var/* when missing
+
+2002-02-19 17:07 Guillaume Cottenceau
+
+ * perl-install/any.pm: since we give "lilo.conf" in drakbug_report,
+ let's also give "menu.lst"
+
+2002-02-19 16:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add grub in 4 SYSTEM
+
+2002-02-19 16:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm,
+ standalone/printerdrake: Assured that the default page size is
+ "Letter" for US/Canada and "A4" for the rest of the world. The
+ "Description" field of a printer queue is filled in with printer
+ manufacturer and model by default. Removed unused varaiables in
+ /usr/sbin/printerdrake.
+
+2002-02-19 16:41 Dam's
+
+ * perl-install/share/advertising/essi.p: blah
+
+2002-02-19 16:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, vi.po: updated Vietnamese and
+ Hungarian files
+
+2002-02-19 16:29 Dam's
+
+ * perl-install/share/advertising/: 08-games_icon.png, 08-games.png,
+ 09-MDKcampus_icon.png, 09-MDKcampus.png, 10-MDKexpert_icon.png,
+ 10-MDKexpert.png, 11-consul.png, 12-MDKstore_icon.png,
+ 12-MDKstore.png, 13-Nvert.png: re-adding with -kb
+
+2002-02-19 16:29 Dam's
+
+ * perl-install/share/advertising/: 08-games_icon.png, 08-games.png,
+ 09-MDKcampus_icon.png, 09-MDKcampus.png, 10-MDKexpert_icon.png,
+ 10-MDKexpert.png, 11-consul.png, 12-MDKstore_icon.png,
+ 12-MDKstore.png, 13-Nvert.png: removing for re-adding with -kb
+
+2002-02-19 16:26 Dam's
+
+ * perl-install/share/advertising/: 00-thanks.png, 01-gnu.png,
+ 02-internet_icon.png, 02-internet.png, 03-graphic_icon.png,
+ 03-graphic.png, 04-develop_icon.png, 04-develop.png,
+ 05-contcenter_icon.png, 05-contcenter.png, 06-user_icon.png,
+ 06-user.png, 07-server_icon.png, 07-server.png: re-adding with
+ -kb
+
+2002-02-19 16:26 Dam's
+
+ * perl-install/share/advertising/: 00-thanks.png, 01-gnu.png,
+ 02-internet_icon.png, 02-internet.png, 03-graphic_icon.png,
+ 03-graphic.png, 04-develop_icon.png, 04-develop.png,
+ 05-contcenter_icon.png, 05-contcenter.png, 06-user_icon.png,
+ 06-user.png, 07-server_icon.png, 07-server.png: removing for
+ re-adding with -kb
+
+2002-02-19 16:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Replaced "a4" and
+ "letter" by "A4" and "Letter" so that Foomatic recognizes the
+ paper sizes. Also use "Letter" paper for "en_CA" and "fr_CA"
+ locales.
+
+2002-02-19 15:10 Dam's
+
+ * perl-install/Makefile.config: addde share/advertising/*.pl for
+ translation
+
+2002-02-19 15:09 Dam's
+
+ * perl-install/share/advertising/: 00-thanks.pl, 00-thanks.png,
+ 01-gnu.pl, 01-gnu.png, 02-internet.pl, 02-internet.png,
+ 02-internet_icon.png, 03-graphic.pl, 03-graphic.png,
+ 03-graphic_icon.png, 04-develop.pl, 04-develop.png,
+ 04-develop_icon.png, 05-contcenter.pl, 05-contcenter.png,
+ 05-contcenter_icon.png, 06-user.pl, 06-user.png,
+ 06-user_icon.png, 07-server.pl, 07-server.png,
+ 07-server_icon.png, 08-games.pl, 08-games.png, 08-games_icon.png,
+ 09-MDKcampus.pl, 09-MDKcampus.png, 09-MDKcampus_icon.png,
+ 10-MDKexpert.pl, 10-MDKexpert.png, 10-MDKexpert_icon.png,
+ 11-consul.pl, 11-consul.png, 12-MDKstore.pl, 12-MDKstore.png,
+ 12-MDKstore_icon.png, 13-Nvert.pl, 13-Nvert.png, essi.p, list:
+ added advertising for translation
+
+2002-02-19 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: anchor the -IP match at the end of the
+ string
+
+2002-02-19 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: move loading /tmp/network from stage1
+ before doing the auto_install stuff to allow the -IP feature on
+ auto_install file name
+
+2002-02-19 11:02 Dam's
+
+ * perl-install/network/netconnect.pm: setting help
+
+2002-02-19 11:02 Dam's
+
+ * perl-install/my_gtk.pm: new icon handler
+
+2002-02-18 22:59 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: when no net device found, print a msg to
+ tell that now most pcmcia network adapters are supported with
+ network.img
+
+2002-02-18 21:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, de.po, es.po, eu.po, fr.po,
+ it.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-02-18 20:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2002-02-18 20:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, standalone/localedrake: - handle
+ --kde_lang with optionally --kde_country - handle --apply
+
+2002-02-18 20:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: s/hbox/vbox for "Select
+ Install Class"
+
+2002-02-18 18:34 Yves Duret
+
+ * perl-install/scanner.pm: update
+
+2002-02-18 18:32 Yves Duret
+
+ * perl-install/standalone/scannerdrake: HP OfficeJet support
+
+2002-02-18 18:14 Dam's
+
+ * perl-install/share/logo-mandrake.png: new gfx
+
+2002-02-18 18:08 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: titi sucks again
+
+2002-02-18 17:16 Yves Duret
+
+ * perl-install/scanner.pm: scsi parport preliminary support no more
+ show unsupported scanner common output for ScannerDB update from
+ sane *.desc files and from usbtable
+
+2002-02-18 17:12 Yves Duret
+
+ * perl-install/standalone/scannerdrake: scsi/parport preliminary
+ support
+
+2002-02-18 17:06 Yves Duret
+
+ * perl-install/bootlook.pm: remove aurora part (commented for the
+ moment)
+
+2002-02-18 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount_options_unpack): add usrquota and
+ grpquota for ext2/ext3/reiserfs/xfs
+
+2002-02-18 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (lang2kde_lang): add missing
+ valid_kde_langs
+
+2002-02-18 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: change the message & ask
+ wether to logout or not
+
+2002-02-18 16:27 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install Guppi when installing
+ gnumeric
+
+2002-02-18 15:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: workaround not having the right to
+ connect to our new created test server. info about the pb (sorry
+ for the french):
+
+ quand on lance le serveur - via xdm/kdm/startx, ca utilise xauth,
+ xhost est fermé - via X/xinit, xhost est ouvert sur localhost,
+ xauth n'est pas utilisé *sauf* si X/xinit est lancé à partir
+ d'un X *et* .Xauthority est non vide. dans ce cas, xhost est
+ fermé, et aucun xauth n'est ajouté une conséquence, c'est
+ que XFdrake ne peut pas accéder au X de test si XFdrake est
+ lancé sous X ou "xauth list" est non vide
+
+ exception: quand on lance le xdm/kdm en root, xhost n'est
+ pas fermé,
+ pas contre il est fermé en root & startx.
+
+2002-02-18 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fuzzy language finding between available
+ langs when it doesn't match (useful for upgrades where fr_FR was
+ fr_FR@euro)
+
+2002-02-18 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: - add Cancel - move "click
+ here" in "Search servers" on the right side - remove Export - fix
+ bug
+
+2002-02-18 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: remove cdrom-burner from
+ media_type set
+
+2002-02-18 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fs.pm: - remove media_type
+ cdrom-burner, use {capacity} instead - use
+ /proc/sys/dev/cdrom/info to fill in the {capacity}
+
+2002-02-18 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (fileshare_config): rework the custom
+ message and launch userdrake (report_bug): add lilo.conf
+
+2002-02-18 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: raise xsane in SCANNER (Yves Duret)
+ raise mkisofs & cdrecord in BURNER
+
+2002-02-18 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: add EDITORS in
+ Development/Development
+
+2002-02-18 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: add EDITORS in
+ Development/Development
+
+2002-02-18 01:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak ile
+
+2002-02-18 01:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2002-02-18 00:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: warn_if_renumbered now
+ also done at install
+
+2002-02-17 23:25 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: added check for missing
+ xsltproc
+
+2002-02-17 22:57 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/Makefile: allow me to work with a symlink
+ to doc in this directory
+
+2002-02-17 21:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: do not use run_program::xxx, use
+ directly "system" so that stdout is kept unchanged during
+ "postInstall" execution
+
+2002-02-17 21:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: (clean): remove .memdump
+
+2002-02-17 21:27 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: fix perl warnings after
+ adding -w
+
+2002-02-17 21:21 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/.cvsignore: added .memdump
+
+2002-02-17 21:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: hotplug now handled via rpmsrate and
+ the USB flag
+
+2002-02-17 21:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: fix typo (s/nfs/smbfs/)
+
+2002-02-17 21:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (autologin): do not allow empty user name
+ since no autologin can already be achieved by choosing "No"
+
+2002-02-17 20:42 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/help.pm: new version for 8.2
+
+2002-02-17 20:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: help_xml2pm.pl, id.xsl: use xsltproc as a
+ filter to remove entities
+
+2002-02-17 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: force scalar context for
+ warp_text
+
+2002-02-17 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: have icewm-light in any case (to be
+ used as a failsafe window manager)
+
+2002-02-17 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add hotplug, usbutils and usbview
+ with the new flag USB
+
+2002-02-17 16:10 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2002-02-17 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add some log to know why umounting
+ /tmp/image fail
+
+2002-02-16 21:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/crypto.pm: (mirrors): add a timeout via "alarm"
+ (needs testing)
+
+2002-02-16 21:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - LVs "device" field were containing
+ "/dev/vg/number" whereas it must be "vg/name" - added lv_resize
+
+2002-02-16 21:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: add Resize'ing mounted XFS
+ on LVM
+
+2002-02-16 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: - call pvcreate with "-y -ff" - created LVs
+ are notFormatted
+
+2002-02-16 20:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setupSCSI): when
+ "clicked", ask "Do you have any SCSI interfaces" instead of
+ assuming there is a SCSI interface and asking the driver name
+
+2002-02-16 19:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: do not trash error messages if
+ testing
+
+2002-02-16 19:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: - fix non X + testing + su - since
+ "interactive" takes care of "format" for type "combo", remove
+ "format" (so that interactive_newt which switch to type "list"
+ don't apply "format" once again)
+
+2002-02-16 19:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: - prefer XKB available from existing
+ XF86Config over /etc/sysconfig/keyboard KEYTABLE - fix
+ translating from /etc/sysconfig/keyboard KEYTABLE to XKB
+
+2002-02-16 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (country2lang): created (write): ensure it
+ doesn't fail when kdeglobals is not writable (eg: the directory
+ doesn't exist) (list): return the languages in a "specific" order
+ (favours non utf8 over utf8)
+
+2002-02-16 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: handle
+ --kde_country=<country>
+
+2002-02-16 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix call to update_gnomekderc
+
+2002-02-16 08:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-02-16 01:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, es.po, sk.po: updated Czech,
+ Spanish and Slovak files
+
+2002-02-16 01:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: remove unused & unneeded special
+ %lang2kde_lang
+
+2002-02-16 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: - add lang::check - fix utf-ko -> utf_ko -
+ fix utf-14 -> utf_14 - modify share/config/kdeglobals - add
+ charset2kde_charset, lang2country, lang2kde_lang
+
+2002-02-16 00:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: lang::write doesn't need the
+ filename anymore
+
+2002-02-16 00:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: use the new warp_text
+
+2002-02-16 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (check): add lang::check checking
+
+2002-02-16 00:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: use lang::charset2kde_charset
+
+2002-02-16 00:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix typo
+
+2002-02-15 22:51 Dam's
+
+ * perl-install/my_gtk.pm: highlight in gtk icon widget
+
+2002-02-15 19:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-02-15 17:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: remove assigning STDIN to /dev/null
+ since: - programs should not use STDIN - the "postInstall" script
+ for auto_install's is more happy still having the STDIN.
+
+2002-02-15 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: force scalar for Gtk::Label->new
+ with warp_text
+
+2002-02-15 15:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, cs.po, da.po, eu.po, fi.po,
+ fr.po, hu.po, sv.po, vi.po, wa.po: updated Basque file; fixed a
+ msgid change
+
+2002-02-15 15:37 Dam's
+
+ * perl-install/share/: step-green-click.xpm, step-green-on.xpm,
+ step-green.xpm, step-orange-click.xpm, step-orange-on.xpm,
+ step-orange.xpm, step-red-click.xpm, step-red-on.xpm,
+ step-red.xpm: new gfx
+
+2002-02-15 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: use 'combo' instead of 'type' for bootloader
+ choice and security choice (requested by fredb&dadou)
+
+2002-02-15 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: smbnfs_default.png,
+ smbnfs_has_mntpoint.png, smbnfs_mounted.png, smbnfs_server.png:
+ add icons showing if a mount-point is associated or if the share
+ is mounted
+
+2002-02-15 14:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: favour "combo" over "list" in any
+ case
+
+2002-02-15 14:22 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update translation
+
+2002-02-15 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: add icons showing if a
+ mount-point is associated or if the share is mounted
+
+2002-02-15 12:48 Dam's
+
+ * perl-install/standalone/drakfont: embedded mode correction
+
+2002-02-15 12:43 Dam's
+
+ * perl-install/share/: step-green-click.xpm, step-green-on.xpm,
+ step-green.xpm, step-orange-click.xpm, step-orange-on.xpm,
+ step-orange.xpm, step-red-click.xpm, step-red-on.xpm,
+ step-red.xpm: new gfx
+
+2002-02-14 21:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: some cleanup, icons showing
+ wether a mount-point is associated are coming
+
+2002-02-14 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/lsnetdrake: adapt to the neater
+ network::smb and network::nfs
+
+2002-02-14 21:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: nfs.pm, smb.pm, smbnfs.pm: cleaner & OOed
+ code, with more code sharing
+
+2002-02-14 21:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (ctree_set_icon): new function
+
+2002-02-14 21:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: fix expert and testing options
+ handling
+
+2002-02-14 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, diskdrake/interactive.pm: use
+ the new warp_text feature
+
+2002-02-14 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: undef'ing some macros used by 2
+ independent sources et still needed :-(
+
+2002-02-14 19:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: gzip report.bug
+
+2002-02-14 19:19 Dam's
+
+ * perl-install/standalone/drakfont: embedded mode
+
+2002-02-14 19:08 Dam's
+
+ * perl-install/standalone/drakfont: drakfont embedde mode
+
+2002-02-14 18:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: Makefile, ar.po, cy.po, ga.po, is.po,
+ ro.po, sl.po: Instead of temporary removingfiles from CVS put a
+ rule in Makefile to don't use them (thanks Thierry)
+
+2002-02-14 18:01 Dam's
+
+ * perl-install/share/: step-green-click.xpm, step-green-on.xpm,
+ step-orange-click.xpm, step-orange-on.xpm, step-orange.xpm,
+ step-red-click.xpm, step-red-on.xpm, step-red.xpm: new gfx
+
+2002-02-14 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: #include iconv.h is needed even when
+ C_RPM is undefined
+
+2002-02-14 16:59 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update convert to utf-8
+
+2002-02-14 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updted Brazilian file
+
+2002-02-14 15:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2002-02-14 14:33 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed obsoletes management according to
+ urpmi code.
+
+2002-02-14 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: if testing, don't use kdesu
+
+2002-02-14 14:05 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/drakxtv: uses xawtv internal strings
+ instead of frequencies tables ids as values in %freqtables in
+ order to enhance drakxtv robustness when translators'll arrive.
+ thus we'll pass right strings to scantv instead of translated
+ ones
+
+ explain how we manage the "all frequencies" case
+
+ display sorted tv norms
+
+2002-02-14 13:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, de.po, el.po, eo.po, es.po, et.po,
+ fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po,
+ uk.po, vi.po, zh_CN.po, zh_TW.po: updated some po files; removed
+ the ones too lowly translated for the 8.2
+
+2002-02-13 21:26 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2002-02-13 18:51 Fançois Pons
+
+ * perl-install/install_any.pm: avoid generating headers for copying
+ file in postinstall-rpm directory. make sure not to crash if a
+ package that should have been in CD1 is somewhere else.
+
+2002-02-13 18:20 Fançois Pons
+
+ * perl-install/install_any.pm: fixed stupid typo.
+
+2002-02-13 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): switch from "list" to
+ "combo"
+
+2002-02-13 17:47 Fançois Pons
+
+ * perl-install/pkgs.pm: added extension to
+ setSelectedFromCompssList.
+
+2002-02-13 17:45 Fançois Pons
+
+ * perl-install/install_any.pm: removed all @needToCopy... variables
+ and now use INSTALL category in rpmsrate.
+
+2002-02-13 17:37 Fançois Pons
+
+ * perl-install/share/rpmsrate.server: synced INSTALL category with
+ standard rpmsrate.
+
+2002-02-13 17:32 Fançois Pons
+
+ * perl-install/share/rpmsrate: updated INSTALL category with the
+ merge of DrakX obsoleted list (it will use INSTALL now :-)
+
+2002-02-13 16:28 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: When one visited the help page of a
+ remote CUPS printer afterwards the full printer modification menu
+ was shown, not only the one for remote CUPS printers. This is
+ fixed now.
+
+2002-02-13 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: have the fstab entries
+ shown by default
+
+2002-02-13 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: don't show shares ending with "$"
+
+2002-02-13 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: nfs.pm, smb.pm: $server->{ip} is no more
+ mandatory
+
+2002-02-13 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (fstab_to_string): unsetting mount points in
+ standalone will now work
+
+2002-02-13 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, fs.pm,
+ diskdrake/interactive.pm: - handle WORM type in /proc/scsi/scsi -
+ added media_type cdrom-burner - adapting to new media_type -
+ nicer fd&hd testing
+
+2002-02-13 04:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hu.po: updated Danish and
+ Hungarian files
+
+2002-02-12 22:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2002-02-12 21:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, cs.po, wa.po: updated Czech
+ and Walloon files
+
+2002-02-12 21:01 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: In the USB auto-detection checked
+ whether and where the device node was created.
+
+2002-02-12 20:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: i prefer /(.*?)(\d+)$/ to /(.*\D)(\d+)$/
+
+2002-02-12 20:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, devices.pm: Fixes on device
+ auto-detection: - Made USB printer auto-detection routine in
+ "detect_devices.pm" creating the appropriate device nodes
+ (needed for USB printers being recognized during installation).
+ - Fixed "devices.pm" to be able to handle device files with
+ numbers geater than 9 (ex: /dev/usb/lp10).
+
+2002-02-12 18:20 Dam's
+
+ * perl-install/: network/network.pm, standalone/drakbackup: bug
+ correction
+
+2002-02-12 17:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Added forgotten '$prefix'es.
+
+2002-02-12 15:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: - Assure that Foomatic is
+ installed before checking existing printer queues.
+
+2002-02-12 15:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Fixed: - Endless loop
+ when entering printerdrake during installation in recommended
+ mode without local printer - Printerdrake was not closed when one
+ was in the "Add Printer" sequence during installation and one
+ clicked another installation item (entries on left hand side) -
+ When configuring printing only after installation Printerdrake
+ tried to check the installed queues without Foomatic being
+ installed (bug was already in 8.1, but noone discovered it). -
+ CUPS died when one tried to add a (local) printer in recommended
+ mode after installation. - Improved text for the dialog
+ telling that no local printer was detected. - The list of
+ auto-detected printers appeared as drop-down menu and not as a
+ list.
+
+2002-02-12 13:33 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: factorize the various entries so that isolinux and
+ syslinux share the entries
+
+2002-02-12 12:51 Pixel <pixel at mandriva.com>
+
+ * docs/README.pxe: cleanup the .cfg
+
+2002-02-12 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2002-02-12 12:35 Dam's
+
+ * perl-install/share/: step-green-click.xpm, step-green.xpm,
+ step-orange-click.xpm, step-orange.xpm, step-red-click.xpm,
+ step-red.xpm: new gfx
+
+2002-02-12 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - move bootsplash from SYSTEM to X -
+ lower Aurora
+
+2002-02-12 07:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-02-12 00:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: booh, fpons was faster than me on
+ "bootsplash wanting fb". Keeping my solution ;p
+
+2002-02-12 00:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: allow to edit the initrd field (thx to
+ randy.k.wilson)
+
+2002-02-11 23:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (@needToCopy): add "ntp"
+
+2002-02-11 19:15 Fançois Pons
+
+ * perl-install/install_steps.pm: added Aurora or bootsplash for
+ getting a need on frame buffer.
+
+2002-02-11 18:34 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid testing fbdev driver.
+
+2002-02-11 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: "standard_charset" and "iconv" are
+ needed even when C_RPM is undefined
+
+2002-02-11 17:44 Fançois Pons
+
+ * perl-install/install_steps.pm: added fbdev for GeForce
+ Integrated.
+
+2002-02-11 17:00 Dam's
+
+ * perl-install/share/list: added modinfo
+
+2002-02-11 16:01 Dam's
+
+ * perl-install/network/netconnect.pm: added cancel for first step
+
+2002-02-11 15:34 Fançois Pons
+
+ * perl-install/any.pm: fixed syntax error...
+
+2002-02-11 10:46 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove dev from INSTALL, the sun is
+ rising, and there are no more needs to have ppp in the INSTALL
+ section, as the darkness is going away...
+
+2002-02-11 05:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, hu.po, vi.po: updated Danish,
+ Hungarian and Vietnamese files
+
+2002-02-11 00:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: in case there is both ata66 (hde) and ata33
+ hard drives, go to expert questions directly (it would need a
+ semi_auto asking on which drive the bios boots...)
+
+2002-02-10 14:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2002-02-09 15:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help.pm file
+
+2002-02-09 15:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, de.po, es.po, eu.po,
+ fi.po, fr.po, help_xml2pm.pl, hu.po, it.po, sv.po: merged with
+ the manual help
+
+2002-02-09 08:47 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add rfbdrake to
+ NETWORKING_REMOTE_ACCESS and NETWORKING_REMOTE_ACCESS_SERVER
+
+2002-02-09 04:37 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add ppp in INSTALL
+
+2002-02-09 04:05 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add dev in INSTALL
+
+2002-02-09 00:05 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add bootsplash in system 4
+
+2002-02-08 23:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/locales-skeleton.tar.bz2: Added
+ choice of charset for various languages
+
+2002-02-08 21:27 Dam's
+
+ * perl-install/pixmaps/: wiz_default_up.png, wiz_drakgw.png,
+ wiz_draknet.png, wiz_firewall.png: new gfx
+
+2002-02-08 17:23 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Enabled transferring queues of HP
+ multi-function devices between spoolers.
+
+2002-02-08 17:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added instructions for scanning on
+ HP's MF devices to the printer help page.
+
+2002-02-08 15:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: HP PhotoSmart printers do not scan,
+ so do not show how to scan with them. Do not let dialogs of
+ network configuration correction appear embedded in the "Add
+ printer" wizard.
+
+2002-02-08 14:12 Dam's
+
+ * perl-install/network/network.pm: corrected wireless modules
+
+2002-02-08 11:32 Pixel <pixel at mandriva.com>
+
+ * docs/SHORTCUTS: add F1 & F2
+
+2002-02-08 04:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: CUPS 1.1.13 dies on SIGHUP, do normal
+ restart instead.
+
+2002-02-08 03:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Completed wizard mode
+ for adding a printer in both recommended and expert mode.
+
+2002-02-08 00:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-02-07 23:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: fix error causing a bad window
+ sizing when there is a horiz scroll
+
+2002-02-07 22:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: create and use
+ miscellaneousAfter (so that SECURE_LEVEL is set *after* asking)
+
+2002-02-07 22:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: make perl_checker happy
+
+2002-02-07 18:13 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/: standalone/drakxtv, Makefile.config: add drakxtv
+ (scantv gui)
+
+2002-02-07 18:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: fixed email address
+
+2002-02-07 17:55 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/standalone/localedrake: fix pixel stuff: don't
+ restart wm on cancel
+
+2002-02-07 17:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: (Options): wrap the help
+ text
+
+2002-02-07 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: allow to edit the hsyncrange and
+ vsyncrange when choosing monitor "Custom"
+
+2002-02-07 15:51 Dam's
+
+ * perl-install/my_gtk.pm: fixed shadow when testing X
+
+2002-02-07 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: handle --embedded xxx xxx
+
+2002-02-07 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: - don't pop the "do you
+ want to install samba?" - rwindow is not a window when embedded,
+ so set_default_size only if possible
+
+2002-02-07 14:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: ensure no more than one child is in the
+ Plug
+
+2002-02-07 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (exit): ensure USR1 is sent to
+ mcc
+
+2002-02-07 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: fix (causing XFdrake to use a combo
+ instead of a list)
+
+2002-02-07 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): precise the type when mounting in
+ standalone (for smb, nfs would not need it)
+
+2002-02-07 12:58 Dam's
+
+ * perl-install/printerdrake.pm: corrected wizard pb
+
+2002-02-07 12:57 Dam's
+
+ * perl-install/my_gtk.pm: wizard fixes
+
+2002-02-07 12:21 Dam's
+
+ * perl-install/share/logo-mandrake.png: beta 2
+
+2002-02-06 18:15 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added some stuff for the Wizard
+ mode.
+
+2002-02-06 17:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/: rpmsrate, rpmsrate.server: Added scanning
+ packages to INSTALL section, for HP MF device installation by
+ printerdrake.
+
+2002-02-06 17:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Automatic
+ configuration of the scanning part of HP's multi-function
+ devices.
+
+2002-02-06 16:29 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: have frozen-bubble in GAMES at level
+ 4
+
+2002-02-06 15:45 Fançois Pons
+
+ * rescue/tree/etc/oem, tools/oem-prepare: better handling of group
+ linked to hardware or options.
+
+2002-02-06 14:57 Dam's
+
+ * perl-install/my_gtk.pm: removed ugly pink and ugly left bar for
+ wizard mode
+
+2002-02-06 12:11 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printerdrake.pm, share/rpmsrate,
+ share/rpmsrate.server: Updated automatic package installation in
+ printerdrake, no "kups" and "qtcups" any more, but "gpr", "a2ps",
+ and "hpoj", updated also "rpmsrate" and "rpmsrate.server"
+ appropriately.
+
+2002-02-06 10:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, fi.po, fr.po: updated French
+ file
+
+2002-02-06 00:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added automatic
+ configuration of HPOJ for HP's multi-function devices.
+
+2002-02-05 18:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po, it.po,
+ ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po,
+ ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2002-02-05 18:43 Fançois Pons
+
+ * perl-install/install2.pm: auto_allocate for oem mode is not
+ needed as oem script create all necessary partition.
+
+2002-02-05 18:42 Fançois Pons
+
+ * rescue/tree/etc/oem: select preferred kernel as kernel-\d.
+
+2002-02-05 17:44 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed logic, when someone want
+ /root/drakx, it has to check /root/drakx and not /root only.
+
+2002-02-05 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix "Details" translated in "Détails
+ de la partition" but is used at different place where the meaning
+ has nothing to do with "partitions"
+
+2002-02-05 17:04 Guillaume Cottenceau
+
+ * rescue/tree/sbin/modprobe: don't do insmod -f, it's not really
+ necessary and it taints the kernel (pabo)
+
+2002-02-05 15:48 Fançois Pons
+
+ * perl-install/share/rpmsrate.server: synced with normal rpmsrate
+ for Basque management.
+
+2002-02-05 15:06 Guillaume Cottenceau
+
+ * rescue/tree/etc/profile: use LD_LIBRARY_PATH in rescue so that
+ PATH'ing in /mnt can really be used
+
+2002-02-05 15:04 Fançois Pons
+
+ * perl-install/share/rpmsrate: add support for Basque (no netscape
+ in such case)
+
+2002-02-05 15:03 Fançois Pons
+
+ * perl-install/install_any.pm: add support for Basque (no KDE).
+
+2002-02-05 13:12 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate.server: begin rpmsrate.server
+ cleaning
+
+2002-02-05 13:04 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers.server: remove non server group
+ from rpmsrate.server add utilities group in compssUser.server
+ (webmin,ssh-server,wizards,monitoring)
+
+2002-02-05 12:26 Dam's
+
+ * perl-install/standalone/logdrake: wizard updated
+
+2002-02-05 12:16 Dam's
+
+ * perl-install/standalone/logdrake: correction for mcc.
+
+2002-02-05 11:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: testFinalConfig now always returns
+ true if test is skipped because of a bad_card (back to the old
+ behaviour, this was no good (the aim is to enable changing the
+ monitor when test is skipped))
+
+2002-02-05 11:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix "help lilo when there is hdd with
+ no hdc drive"
+
+2002-02-05 01:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: log the "chkconfig --del gpm" when
+ there is a serial mouse
+
+2002-02-05 00:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Made HP
+ multi-function devices configured with HPOJ being displayed
+ correctly by printerdrake.
+
+2002-02-04 23:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Replace "Hewlett-Packard" by "HP"
+ when HP device is detected on a parallel port.
+
+2002-02-04 21:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix creating
+ /etc/security/msec/server
+
+2002-02-04 21:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix "More" translation
+
+2002-02-04 17:37 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: have numlock activated when
+ isLaptop rather than $o->{pcmcia}
+
+2002-02-04 17:11 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added v4l module all the time
+ (along with dbe already present).
+
+2002-02-04 15:02 Dam's
+
+ * perl-install/standalone/logdrake: corrected typo. Yvounet, check
+ your code!!
+
+2002-02-04 15:00 Dam's
+
+ * perl-install/standalone/logdrake: embedded, explain
+
+2002-02-04 13:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update french translations
+
+2002-02-04 13:47 Dam's
+
+ * perl-install/my_gtk.pm: bug correction
+
+2002-02-04 13:47 Dam's
+
+ * perl-install/: services.pm, network/netconnect.pm,
+ standalone/drakfont: applied cooker guy english review
+
+2002-02-04 10:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, nl.po, no.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated some po files
+
+2002-02-04 00:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: - fix some vga text modes 80x30 -
+ chmod 600 lilo.conf when a password is given - fix general
+ "append" (thanks to David Eastcott)
+
+2002-02-04 00:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: "password" works without
+ "restricted", not the other way round (reported by David
+ Eastcott)
+
+2002-02-03 21:01 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate.server: synchronize with current
+ cooker rpmsrate
+
+2002-02-03 20:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix typo
+
+2002-02-03 20:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: force a few more "list"s instead of "combo"
+ boxes
+
+2002-02-03 20:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, interactive.pm: since "format" is now
+ handled for combo boxes, combo boxes are used in much too many
+ places. Fix this by forcing type "list" for some cases, and using
+ type "list" when a ask_from has only one entry
+
+2002-02-03 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: help lilo when there is hdd with no
+ hdc drive (needs testing!)
+
+2002-02-03 17:33 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers.server, rpmsrate.server: add
+ rpmsrate.server and compssUsers.server
+
+2002-02-02 20:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: fix dropping samba sections
+ which don't have any "path="
+
+2002-02-02 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: XFree is now 4.2
+
+2002-02-02 00:01 Yves Duret
+
+ * perl-install/bootlook.pm: ergo fix thx dadou report...
+
+2002-02-01 23:59 Yves Duret
+
+ * perl-install/standalone/logdrake: ergo fix thx dadou report
+
+2002-02-01 21:53 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: First steps of the implementation
+ for the "Add printer" wizard.
+
+2002-02-01 20:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: create symlink
+ /etc/security/msec/server in security > 3
+
+2002-02-01 19:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, sv.po: updated Swedish file
+
+2002-02-01 19:10 Yves Duret
+
+ * perl-install/standalone/logdrake: fix --explain=foo bug that
+ prevent to show anything
+
+2002-02-01 18:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Made auto-detection working for
+ HP DeskJet 840C on USB General improvements for reliability of
+ USB printer auto-detection
+
+2002-02-01 18:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: merged again French file to recover
+ some lost strings; and added non breakable spaces at all the
+ needed places as required by French typography
+
+2002-02-01 17:14 Yves Duret
+
+ * perl-install/pixmaps/wiz_scannerdrake.png: readding it with -kb
+ option (i am still jeune and boulet)
+
+2002-02-01 17:13 Yves Duret
+
+ * perl-install/pixmaps/wiz_scannerdrake.png: rm for readding with
+ -kb option (i am jeune and boulet)
+
+2002-02-01 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: use from_Mb for choosing the
+ size of the windows partition
+
+2002-02-01 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: please perl_checker
+
+2002-02-01 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: testFinalConfig now returns false
+ if test is skipped because of a bad_card or verybad_card and
+ $skip_badcard is not set
+
+2002-02-01 12:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-02-01 11:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: printerdrake.pm, services.pm,
+ standalone/drakbackup, standalone/logdrake: changed some strings
+ to make translation easier
+
+2002-01-31 20:50 Yves Duret
+
+ * perl-install/pixmaps/wiz_scannerdrake.png: on rajoute la zolie
+ image
+
+2002-01-31 14:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, share/keyboards.tar.bz2:
+ Added Tamil language and keyboard choices (KDE is translated to
+ Tamil)
+
+2002-01-30 23:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/localedrake: now works in normal user: it
+ modifies the ~/.i18n (todo: handle kde crazy variables?)
+
+2002-01-30 23:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_window_manager_to_logout,
+ running_window_manager): created from Xconfigurator and cleaned
+ (selectLanguage): if $langs is empty, don't ask for "other
+ languages"
+
+2002-01-30 23:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, Xconfigurator_consts.pm: move
+ "what is the running_window_manager" and
+ "ask_window_manager_to_logout" to any.pm
+
+2002-01-30 23:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: handle read'ing and write'ing to a
+ specified file (useful example: ~/.i18n)
+
+2002-01-30 14:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, bg.po, br.po, bs.po, cs.po, da.po,
+ de.po, el.po, eo.po, es.po, et.po, fi.po, hu.po, nl.po, no.po,
+ ro.po, ru.po, uk.po, zh_CN.po, zh_TW.po: updated some po files
+
+2002-01-30 14:04 sdupont
+
+ * perl-install/standalone/drakbackup: complex merging.... change
+ /var/drakbackup to /var/lib/drakbackup crontab update mail report
+ update sendmail update require rpm mode code optimisation remove
+ about gi new help function
+
+2002-01-30 12:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: Added setting of model=jp106 for
+ Japanese keyboard
+
+2002-01-30 11:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keyboards.tar.bz2: Added
+ Bulgarian "phonetic" keyboard
+
+2002-01-30 11:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Enabled "ms" language in the language
+ selection list (there are Gnome and KDE translations for it)
+
+2002-01-30 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add gnome-core in GNOME (used to be
+ required?)
+
+2002-01-30 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/wiz_printerdrake.png: re-adding with -kb
+
+2002-01-30 10:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/wiz_printerdrake.png: removing for re-adding
+ with -kb
+
+2002-01-30 00:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/pixmaps/wiz_printerdrake.png: Added logo for the
+ "Add Printer" wizard of printerdrake.
+
+2002-01-30 00:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Prepared printerdrake
+ for the "Add printer" wizard. Improvements for the selection of
+ a local printer, especially when no or one printer was detected.
+
+2002-01-30 00:19 Yves Duret
+
+ * perl-install/standalone/logdrake: logdrake is now under
+ gi/perl-install/standalone
+
+2002-01-29 23:38 Guillaume Cottenceau
+
+ * docs/README, perl-install/any.pm, perl-install/install2.pm,
+ perl-install/install_any.pm, perl-install/install_steps.pm,
+ perl-install/log.pm, perl-install/pkgs.pm,
+ perl-install/standalone/drakautoinst,
+ perl-install/standalone/drakbug_report: move /root/* files
+ (ddebug.log, install.log, report.bug, auto_inst.cfg.pl,
+ replay_install.img) to /root/drakx/, and also save stage1.log
+ there
+
+2002-01-29 23:09 Guillaume Cottenceau
+
+ * perl-install/partition_table_raw.pm: add new pixel-made grub
+ signature
+
+2002-01-29 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: use the new format for
+ combo's to clean code handling {vga} field
+
+2002-01-29 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: handle "format" for combo's
+
+2002-01-29 17:13 Yves Duret
+
+ * docs/interactive/: ask_from, ask_from_list, ask_from_listf,
+ ask_from_treelist, wait_message: added some snipet coe for
+ example
+
+2002-01-29 16:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: visually unselect X
+ and docs when minimal install
+
+2002-01-29 15:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/interactive.pm: fix pixel's minimal example using
+ interactive.
+
+2002-01-29 14:46 Guillaume Cottenceau
+
+ * perl-install/any.pm: rephrase a little bit highest level to not
+ refer to "level 4" anymore
+
+2002-01-29 14:35 Guillaume Cottenceau
+
+ * perl-install/any.pm: use formatAlaTeX for describing security
+ levels
+
+2002-01-29 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, diskdrake/smbnfs_gtk.pm: handle the case
+ where samba and/or nfs-utils are not installed
+
+2002-01-29 14:20 Guillaume Cottenceau
+
+ * perl-install/crypto.pm: update land2tzs accordingly to new
+ url2land
+
+2002-01-29 14:17 Guillaume Cottenceau
+
+ * perl-install/crypto.pm: Add url2land entries for nl, it, at
+
+2002-01-29 14:10 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: fix thanks to chipaux
+ msg about mkbootdisk
+
+2002-01-29 13:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: help.pm, share/po/DrakX.pot, share/po/de.po,
+ share/po/es.po, share/po/eu.po, share/po/fr.po, share/po/hr.po,
+ share/po/it.po, share/po/sv.po: updated pot file with help
+ messages from manual
+
+2002-01-29 12:50 Dam's
+
+ * perl-install/my_gtk.pm: icons placements are better
+
+2002-01-29 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: "With X" choice is now
+ working
+
+2002-01-29 11:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: handle "Cancel" on
+ language selection
+
+2002-01-29 11:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/hd_gtk.pm: look diskdrake.rc in another
+ directory
+
+2002-01-29 11:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: move the various
+ bootloader::add_append's in setupBootloaderBefore
+
+2002-01-29 00:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Removed debug helper line.
+
+2002-01-29 00:19 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Replaced "sleep"
+ commands by a subroutine which waits exactly until CUPS is ready.
+ CUPS >= 1.1.12 needs to "know" all devices, let CUPS restart if
+ a device is not "known" to it.
+
+2002-01-29 00:12 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: do the few new translations
+
+2002-01-28 23:54 Guillaume Cottenceau
+
+ * perl-install/standalone.pm: try to reflect hierarchy for */*.pm
+
+2002-01-28 23:17 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: more french translations
+
+2002-01-28 22:49 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2002-01-28 22:44 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/br.po: update brezhoneg translations
+
+2002-01-28 21:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/interactive.pm: don't warn_if_renumbered
+ during install
+
+2002-01-28 20:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, diskdrake/interactive.pm: warn
+ if partitions have been renumbered due to a partition being added
+ or removed
+
+2002-01-28 20:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo
+
+2002-01-28 20:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: crypto.pm, printerdrake.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/bg.po, share/po/bs.po, share/po/cs.po,
+ share/po/da.po, share/po/de.po, share/po/es.po, share/po/eu.po,
+ share/po/fi.po, share/po/fr.po, share/po/hu.po, share/po/id.po,
+ share/po/ja.po, share/po/ko.po, share/po/nl.po, share/po/no.po,
+ share/po/sk.po, share/po/sv.po, share/po/tr.po, share/po/uk.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.po,
+ share/po/zh_TW.po, standalone/drakbackup, standalone/draknet:
+ Corrected various English typos
+
+2002-01-28 19:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: cleanup
+ perImageAppend code (hopefully handling nicely the mem=nopentium
+ case)
+
+2002-01-28 18:23 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed get_append if key=mem.
+
+2002-01-28 16:56 Fançois Pons
+
+ * perl-install/bootloader.pm: timeout passed to 10 instead of 5.
+
+2002-01-28 16:19 Dam's
+
+ * perl-install/network/: netconnect.pm, tools.pm: debug network
+ testing
+
+2002-01-28 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: simpler&nicer solution for writing kppprc in
+ utf8
+
+2002-01-28 13:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: don't use wait_message's
+ when waiting (waiting is usually very short), use a waiting
+ cursor instead. (the wait_message's were causing bad
+ interactivity stuff)
+
+2002-01-28 13:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-01-28 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove test code
+
+2002-01-28 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (remove_advertising): ensure
+ removing /tmp/drakx-images can't fail
+
+2002-01-28 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: have kppprc strings in utf8
+
+2002-01-28 11:59 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: update games rates
+
+2002-01-27 23:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: add a minimal example
+
+2002-01-27 21:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: handle --removable *and*
+ --removable=<dev>
+
+2002-01-27 21:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: handle --removable=<dev>
+
+2002-01-27 21:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/removable.pm: remove debugging code
+
+2002-01-27 20:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/smbnfs_gtk.pm: fix updating the actions
+
+2002-01-27 20:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools, diskdrake.pm,
+ diskdrake_interactive.pm, install_interactive.pm, standalone.pm:
+ - adapt to new diskdrake modules - some cleanup in drakxtools
+ build
+
+2002-01-27 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: - adapt to new diskdrake modules -
+ add logdrake to STANDALONEPMS_
+
+2002-01-27 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake/: hd_gtk.pm, interactive.pm, removable.pm,
+ removable_gtk.pm, smbnfs_gtk.pm: new diskdrake modules
+ (diskdrake_interactive is now diskdrake::interactive, diskdrake
+ is now diskdrake::hd_gtk, others created from diskdrake.pm)
+
+2002-01-27 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: find_exports: add a timeout
+
+2002-01-27 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: - new options --hd, --nfs,
+ --smb, --removable - adapt to new diskdrake modules - save
+ $all_hds->{current_fstab} to know if /etc/fstab must be saved
+
+2002-01-27 20:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: new function fstab_to_string
+
+2002-01-27 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: - move the require on my_gtk to
+ ask_standalone_gtk - cleanup
+
+2002-01-27 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: strange protection against ensure_focus
+ generating a "focus" event causing a dead-loop (reminder:
+ ensure_focus helps ensuring a widget is focused)
+
+2002-01-25 22:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Less important
+ options only shown when "Advanced" button clicked. Handling of
+ cursor position in the main window improved. Handling of empty
+ printer queue list in main window improved. Removed line breaks
+ from longer texts, so that text flows into window nicely Minor
+ text improvements.
+
+2002-01-25 20:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove_advertising: use rm_rf since
+ we don't have the real list of files (the .pl's are not in
+ @advertising_images)
+
+2002-01-25 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add devfsd
+
+2002-01-25 17:31 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish translation
+
+2002-01-25 16:38 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: remove 'ncr53c8xx'
+
+2002-01-25 15:28 Dam's
+
+ * perl-install/install_steps_gtk.pm: corrected decy
+
+2002-01-25 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: prefer default
+ linux-{smp,enterprise,secure} over simple linux
+
+2002-01-25 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: call clean-rpmsrate
+
+2002-01-25 14:33 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: please find a better fix
+
+2002-01-25 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix spelling
+
+2002-01-25 14:08 Dam's
+
+ * perl-install/share/logo-mandrake.png: beta logo
+
+2002-01-25 13:54 Dam's
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm: advertising
+ engine updated
+
+2002-01-25 13:30 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/Makefile: silly shell
+
+2002-01-25 13:25 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: Makefile, pci-resource/Makefile: ensure errors
+ propagate
+
+2002-01-25 13:07 Pixel <pixel at mandriva.com>
+
+ * Makefile: re-enable make check
+
+2002-01-25 13:07 Pixel <pixel at mandriva.com>
+
+ * Makefile, make_boot_img, update_kernel: use latest
+ /RPMS/kernel-BOOT-*.rpm (and some hacks to update tftpboot
+ directory)
+
+2002-01-25 12:25 Dam's
+
+ * perl-install/share/po/fr.po: typo
+
+2002-01-25 12:06 Dam's
+
+ * perl-install/share/po/fr.po: corrected too long label Mise à
+ niveau deas paquetages seule. please find a better FIX
+
+2002-01-25 11:39 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed try opening to trigger changeCD
+ callback.
+
+2002-01-25 11:38 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: cosmetic changes.
+
+2002-01-24 23:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: detect_devices.pm, printer.pm, printerdrake.pm:
+ Fixed bug of empty menu entry appearing after adding a new
+ printer. Modified "Local Printer" dialog to be more
+ newbie-friendly.
+
+2002-01-24 22:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: truncate lvm name to 63
+ characters since longer vg names are not allowed
+
+2002-01-24 14:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: log excludedocs
+
+2002-01-24 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: ensure grub is installed if grub is chosen
+
+2002-01-24 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm: minimal install now handles
+ excludedocs
+
+2002-01-24 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: - add DOCS (based on !excludedocs) -
+ set BIGMEM and SMP flags (since kernel-smp and kernel-enterprise
+ sub-numbers are better handled by rpmsrate together with Warly's
+ clean-rpmsrate)
+
+2002-01-24 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add msec in any install - use
+ BIGMEM flag for kernel-enterprise - use SMP flag for kernel-smp
+ (those 2 goes together with Warly's clean-rpmsrate)
+
+2002-01-24 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add flag DOCS which should work
+ together with !excludedocs
+
+2002-01-24 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: put devfs=mount only if devfsd is
+ installed
+
+2002-01-23 19:40 Fançois Pons
+
+ * perl-install/install_steps.pm: restored mem=nopentium.
+
+2002-01-23 19:40 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed to allow multiple mem=xxx
+ parameter (especially mem=nopentium).
+
+2002-01-23 19:24 Dam's
+
+ * perl-install/my_gtk.pm: removed font loading
+
+2002-01-23 19:13 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: New user interface in
+ main window More printer info in printer modification window
+ Better support for remote CUPS printers
+
+2002-01-23 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: name mangling max length
+ set to 12
+
+2002-01-23 16:00 Fançois Pons
+
+ * perl-install/install_steps.pm: removed mem=nopentium.
+
+2002-01-23 12:57 Dam's
+
+ * perl-install/network/adsl.pm: updated speedtouch code to use
+ pppoa3
+
+2002-01-23 02:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: use name mangling for samba
+ labels
+
+2002-01-23 00:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm: add
+ "quit_if_double_click" and "tree_expanded" flags (request from
+ till)
+
+2002-01-22 23:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - remove the default entry when that entry
+ is removed - use allow_empty_list for displaying the entries
+
+2002-01-22 23:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: add feature "allow_empty_list" for
+ "list" entries (disables the special cases for 0 and 1 element
+ lists)
+
+2002-01-22 23:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, standalone/drakboot: fix yves's code
+ duplication of lilo_choice (use $::lilo_choice in bootlook)
+
+2002-01-22 23:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: - fix default not being
+ formatted like labels for lilo - check the label is not already
+ used *case-sensitively* - check a kernel_or_dev is given
+
+2002-01-22 22:28 Pixel <pixel at mandriva.com>
+
+ * update_kernel: 2.4.17-8mdk
+
+2002-01-22 22:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: remove unused auto_win_extended
+ stuff
+
+2002-01-22 22:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, standalone/diskdrake: yet again better
+ error reporting
+
+2002-01-22 22:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: handle extended partitions with
+ no partitions inside (esp. for the first hda5 & windows XP)
+
+2002-01-22 21:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm,
+ install_any.pm, install_steps_interactive.pm,
+ standalone/diskdrake: cleanup error messages (and fix
+ diskdrake's)
+
+2002-01-22 17:42 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: Translate a few things more
+
+2002-01-22 17:35 Dam's
+
+ * perl-install/my_gtk.pm: improved widget_icons
+
+2002-01-22 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, fsedit.pm,
+ install_interactive.pm, raid.pm: defaults to ext3 instead of ext2
+
+2002-01-22 17:28 Dam's
+
+ * perl-install/install_steps.pm: added net_cnx_pg output when
+ configuring network in auto install
+
+2002-01-22 17:11 Fançois Pons
+
+ * perl-install/install_any.pm: changed code to build synthesis
+ file, check if they have not already been copied from mirror, or
+ build them using parsehdlist.
+
+2002-01-22 17:06 Fançois Pons
+
+ * perl-install/pkgs.pm: added support to save already existing
+ synthesis file.
+
+2002-01-22 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: better messages for
+ the minimal installs
+
+2002-01-22 15:03 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new kernel 2.4.17-7mdk
+
+2002-01-22 15:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: move mandrake-mime from SYSTEM to X
+
+2002-01-22 14:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower sndconfig
+
+2002-01-22 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: fix a few cancel's (reported by
+ slegros)
+
+2002-01-22 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add the new "mii" module to 'net_raw'
+
+2002-01-22 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't ask security
+ level in non-expert
+
+2002-01-22 12:32 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: resolve small conflict
+
+2002-01-22 12:28 Guillaume Cottenceau
+
+ * perl-install/Makefile: exclude standalone from testing
+
+2002-01-22 11:08 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Really install gnome control center
+ when installing GNOME
+
+2002-01-22 11:00 Fançois Pons
+
+ * perl-install/install_steps.pm: added mem=nopentium for any Athlon
+ or Duron processor.
+
+2002-01-22 00:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm: hopefully better
+ dialog box sizing
+
+2002-01-22 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: can't
+ call any::config_libsafe so early during install, move it where
+ msec is called
+
+2002-01-21 23:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: quiet perl's warning
+
+2002-01-21 21:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm,
+ standalone/draksec: cleanup, update, enhance security level
+ choice
+
+2002-01-21 21:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove deprecated msec groups
+ adding
+
+2002-01-21 20:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: when creating users, add handling of
+ xgrp/rpm/adm/wheel groups in high security
+
+2002-01-21 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix advice about "usermod -G"
+
+2002-01-21 18:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: cleanup
+
+2002-01-21 17:29 Dam's
+
+ * perl-install/install_steps.pm: fixed network conf in auto install
+
+2002-01-21 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: remove the "Active"
+ partition feature
+
+2002-01-21 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: increase the size of the "Choose
+ action" box
+
+2002-01-21 16:38 Dam's
+
+ * perl-install/my_gtk.pm: removed debug print
+
+2002-01-21 16:37 Dam's
+
+ * perl-install/my_gtk.pm: icons widget improvment : icon placment,
+ highlighting
+
+2002-01-21 13:42 Dam's
+
+ * perl-install/install_steps.pm: corrected network down
+
+2002-01-21 12:46 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2002-01-21 12:43 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/standalone/drakbackup: fixed i18n bugs
+
+2002-01-21 12:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: """ When I choose a /
+ partition smaller than 200 MB, the installation gives me an
+ error message complaining that my system does not have enough
+ free space for the installation, although basesystem install
+ require less than 100 MB. """
+
+ up to around 250MB, minimal install is chosen. questions are:
+ base system only, or no X, or normal.
+
+2002-01-21 11:49 Dam's
+
+ * perl-install/share/logo-mandrake.png: new ugly icon
+
+2002-01-21 11:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2002-01-21 11:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: add helvR12_iso15
+
+2002-01-20 22:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: call msec with run_commands=0 to fix
+ the network reloading (causing various problems, esp. "Net::FTP:
+ Timeout" at X config step)
+
+2002-01-20 22:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix "`msgid' and `msgstr' entries do
+ not both end with '\n'"
+
+2002-01-20 21:00 Yves Duret
+
+ * perl-install/timezone.pm: added Italy (time.ien.it) in
+
+2002-01-20 18:53 Guillaume Cottenceau
+
+ * perl-install/standalone/drakbackup: sorry, _("$_") is not allowed
+
+2002-01-20 00:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/detect_devices.pm: Replaced USB printer
+ auto-detection by a more reliable method.
+
+2002-01-19 04:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/standalone/drakbackup: Rework English syntax in
+ drakbackup - hopefully I've got the intent correct ;^)
+
+2002-01-18 21:22 Guillaume Cottenceau
+
+ * perl-install/: log.pm, standalone.pm, c/stuff.xs.pm,
+ standalone/XFdrake, standalone/adduserdrake,
+ standalone/diskdrake, standalone/drakautoinst,
+ standalone/drakbackup, standalone/drakboot, standalone/drakfont,
+ standalone/drakproxy, standalone/draksec, standalone/drakxconf,
+ standalone/drakxservices, standalone/keyboarddrake,
+ standalone/livedrake, standalone/localedrake,
+ standalone/logdrake, standalone/mousedrake,
+ standalone/net_monitor, standalone/printerdrake,
+ standalone/tinyfirewall: - write the 'common' part of the
+ 'explanations' stuff, with nice help from Pixel for the tough
+ Perl part - move 'use standalone' up in all standalone apps, to
+ comply to 'explanations'
+
+2002-01-18 21:19 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - move 'use standalone' up to
+ comply to 'explanations' - write higher-level 'explanations' -
+ small fix, s/`ls ..`/glob(..)/
+
+2002-01-18 21:16 Guillaume Cottenceau
+
+ * perl-install/standalone/scannerdrake: - move 'use standalone' up
+ to comply to 'explanations' - fix a small english problem
+
+2002-01-18 21:16 Guillaume Cottenceau
+
+ * perl-install/standalone/draknet: - move 'use standalone' up to
+ comply to 'explanations' - fix an english typo,
+ s/connexion/connection/
+
+2002-01-18 20:39 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: reduce a lot of fuzzy and
+ untranslations large stuff from printerdrake, drakbackup and
+ drakfont still to do :-)
+
+2002-01-18 17:14 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: changed Update ->
+ Upgrade for installation class.
+
+2002-01-18 16:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: fonts.tar.bz2, gen_locales.sh,
+ locales-skeleton.tar.bz2: changes to get in line with new XFree86
+
+2002-01-18 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: gen_locales.sh, locales-skeleton.tar.bz2:
+ find the X11 locale on the box so that XI18N_OBJS's and common
+ are included
+
+2002-01-18 12:08 Fançois Pons
+
+ * perl-install/crypto.pm: add update medium for crypto for urpmi
+ (flag update).
+
+2002-01-18 12:07 Fançois Pons
+
+ * perl-install/install_any.pm: add update flag for urpmi medium.
+
+2002-01-18 12:05 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: even if user cancel
+ update of package on tree, allow urpmi to install the medium.
+
+2002-01-18 11:40 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid downNetwork as
+ no difference are made between ethernet or ppp.
+
+2002-01-18 11:23 Fançois Pons
+
+ * perl-install/: crypto.pm, install_steps_interactive.pm: fixed
+ typo.
+
+2002-01-18 11:08 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: allow choosePackageTree to
+ display a cancel if a specific medium has been given.
+
+2002-01-18 11:08 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: allow cancel when
+ installUpdates.
+
+2002-01-18 11:06 Fançois Pons
+
+ * perl-install/crypto.pm: allow selection/deselection of update
+ medium (for cancel of installation).
+
+2002-01-18 02:13 sdupont
+
+ * perl-install/standalone/drakfont: update warning messages (qa).
+
+2002-01-18 02:07 sdupont
+
+ * perl-install/standalone/drakbackup: fix traduction problems and
+ more ...
+
+2002-01-17 20:35 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new BOOT kernel 2.4.17.6mdk
+
+2002-01-17 20:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, fsedit.pm: better error
+ message when auto allocate doesn't do anything
+
+2002-01-17 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix many disks bios remapping (esp.
+ booting on scsi when ide is present)
+
+2002-01-17 17:38 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: kdebase-nsplugins will be installed
+ by default when selecting KDE
+
+2002-01-17 16:50 Fançois Pons
+
+ * perl-install/pkgs.pm: avoid upgrading a package by selection on
+ files unless it has been obsoleted.
+
+2002-01-17 16:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: do not create /swap
+
+2002-01-17 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm, fsedit.pm:
+ check the mountpoint is valid for encrypting (disallow "/" and
+ "/usr")
+
+2002-01-17 14:26 sdupont
+
+ * perl-install/standalone/drakbackup: stable version for qa pkg.
+ (without unstables options)
+
+2002-01-17 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: move service apcupsd from Printing to
+ System
+
+2002-01-17 10:54 Dam's
+
+ * perl-install/my_gtk.pm: added timeout for redrawing icon widget
+
+2002-01-17 10:41 Dam's
+
+ * perl-install/network/: netconnect.pm, tools.pm: draknet : success
+ message only if success
+
+2002-01-16 21:53 sdupont
+
+ * perl-install/standalone/drakbackup: update send mail. (pixel
+ mode. ;))
+
+2002-01-16 19:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix cancel on scsi module loading
+
+2002-01-16 16:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: don't drop
+ default_packages in "Base system only"
+
+2002-01-16 14:48 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: installUpdates: use
+ formatAlaTeX
+
+2002-01-16 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: add locking to ensure
+ things are in a proper state
+
+2002-01-16 00:58 Dam's
+
+ * perl-install/install_steps_gtk.pm: advertising engine
+ amelioration
+
+2002-01-16 00:58 Dam's
+
+ * perl-install/my_gtk.pm: automatic icon placement in
+ icon_labels_widget
+
+2002-01-15 22:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: remove the test trick
+
+2002-01-15 22:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, diskdrake.pm,
+ diskdrake_interactive.pm, fs.pm, fsedit.pm, install_any.pm,
+ c/stuff.xs.pm, share/list: encrypted filesystem handling: - using
+ losetup - add "Options" for partitions in diskdrake (expert mode)
+
+2002-01-15 22:14 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new boot kernel (2.4.17.4mdk)
+
+2002-01-15 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: have ddcxinfos take the best result of every
+ run
+
+2002-01-15 14:07 Dam's
+
+ * perl-install/network/isdn_consts.pm: updated
+
+2002-01-15 14:04 sdupont
+
+ * perl-install/standalone/drakbackup: new ./drakbackup --show-conf
+
+2002-01-15 05:09 sdupont
+
+ * perl-install/standalone/drakfont: fix progress bar problem.
+
+2002-01-15 04:56 sdupont
+
+ * perl-install/standalone/drakfont: some gi updates: - windows
+ font importation. - advanced font importation. - licence
+ interface. - ...
+
+2002-01-15 03:44 sdupont
+
+ * perl-install/standalone/drakbackup: fix daemon problem (media to
+ use). update informations on drakbackup report mail.
+
+ __ 3290 lines.
+
+2002-01-15 02:17 sdupont
+
+ * perl-install/standalone/drakbackup: man pages fr created. some
+ code cleaning on backend mode. (all_user_list && return_path) new
+ functions on backend mode: - show-conf - debug -
+ help - version.
+
+2002-01-14 21:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix typo (making auto installs
+ working again)
+
+2002-01-14 18:39 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: have lbreakout weigthed 4 instead of
+ 2
+
+2002-01-14 16:51 Guillaume Cottenceau
+
+ * perl-install/modules.pm: - eata is SCSI adapter, not 'disk'
+ adapter - have eata module in boot floppies
+
+2002-01-14 16:50 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: suggest other.img in
+ file-not-found-in-archive (sugg David Faure and Pixel)
+
+2002-01-14 16:47 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: we need also "big"
+ modules in pci ids
+
+2002-01-13 22:50 sdupont
+
+ * perl-install/standalone/drakbackup: some updates ...
+
+2002-01-13 21:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cleanup
+
+2002-01-13 17:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: s/lbreakout/lbreakout2/
+
+2002-01-13 16:34 sdupont
+
+ * perl-install/standalone/drakbackup: in "more option" steps user
+ could choose to receive a report by mail for each backups.
+
+2002-01-13 10:37 sdupont
+
+ * perl-install/standalone/drakbackup: ftp backup work. fix time
+ problems. remove doc from file. security fix for configuration
+ file.
+
+2002-01-11 19:37 Dam's
+
+ * perl-install/install_steps_gtk.pm: advertising engine works !
+ champagne. still some display bugs, but they will be corrected
+ later. need new ads and adequat description file
+
+2002-01-11 17:07 sdupont
+
+ * perl-install/standalone/drakbackup: update header pixmaps.
+ correction of message problem.
+
+2002-01-11 17:06 sdupont
+
+ * perl-install/standalone/drakfont: update header pixmaps.
+
+2002-01-11 17:01 sdupont
+
+ * perl-install/pixmaps/: BDO-drakebackup1.png,
+ drakbackup.540x57.png, drakfont.620x57.png: update pixmaps for
+ drakbakup & drakfont.
+
+2002-01-11 15:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, Makefile, af.po, ar.po, az.po,
+ de.po, el.po, eo.po, es.po, et.po, eu.po, fi.po, fr.po, it.po,
+ sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated Spanish file; merged help-* files
+
+2002-01-11 13:59 Dam's
+
+ * perl-install/my_gtk.pm: new icons placement
+
+2002-01-11 13:54 Dam's
+
+ * perl-install/install_steps_gtk.pm: new advertising engine
+
+2002-01-11 13:53 Dam's
+
+ * perl-install/install_any.pm: modifications for new avertising
+ engine
+
+2002-01-10 22:28 Guillaume Cottenceau
+
+ * rescue/lsparts: better looking output of type of partition (%x =>
+ %0x)
+
+2002-01-10 16:26 Dam's
+
+ * perl-install/: install_steps_gtk.pm, network/network.pm:
+ domainname corection
+
+2002-01-10 16:02 Dam's
+
+ * perl-install/network/network.pm: corrected network domainname pb
+
+2002-01-10 13:56 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: english taste inspired
+ by daminette.
+
+2002-01-10 13:55 Dam's
+
+ * perl-install/install2.pm: corrected read_resolv => read_conf
+
+2002-01-09 20:55 Dam's
+
+ * perl-install/: network/adsl.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, standalone/draknet,
+ standalone/net_monitor: big merge from update 8.1 with cvs First
+ part. Part 2 following
+
+2002-01-09 15:41 Dam's
+
+ * perl-install/install_steps_interactive.pm: corrected fpons typo
+
+2002-01-09 15:00 Dam's
+
+ * perl-install/my_gtk.pm: added bold option in text creation. Some
+ corrections
+
+2002-01-09 13:58 Fançois Pons
+
+ * perl-install/crypto.pm: fix incomplete prefix for update mirror
+ when adding an entry for urpmi.
+
+2002-01-09 13:58 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: added rpmvercmp.
+
+2002-01-09 13:57 Fançois Pons
+
+ * perl-install/pkgs.pm: use rpm version comparison function.
+
+2002-01-09 13:57 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid asking for
+ minimal install for upgrade.
+
+2002-01-09 13:56 Fançois Pons
+
+ * perl-install/install_any.pm: fixed too many package selected for
+ No X or With X option of minimal installation.
+
+2002-01-09 13:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2002-01-09 11:57 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed stupid.
+
+2002-01-08 23:15 sdupont
+
+ * perl-install/standalone/drakbackup: drakbackup work ...
+ incremental backup and restore work.
+
+2002-01-08 18:43 Dam's
+
+ * perl-install/install2.pm: cosmetik
+
+2002-01-08 16:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2002-01-08 16:36 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: added eval around pixmap
+ drawing for advertising.
+
+2002-01-08 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: another round of bad use of
+ _() fixes.
+
+2002-01-08 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: fixed bad use of _().
+
+2002-01-08 11:21 Fançois Pons
+
+ * perl-install/standalone/drakautoinst: removed stupid invocation
+ of _("$_"), is it correct code to change it to $_ only ?
+
+2002-01-08 11:03 Fançois Pons
+
+ * perl-install/Makefile: again fixed dam's sucking, please dam's
+ check what you write before commiting.
+
+2002-01-07 19:25 Fançois Pons
+
+ * perl-install/share/list: fixed to match newer menu package.
+
+2002-01-07 19:24 Fançois Pons
+
+ * perl-install/steps.pm: changed installUpdates after summary (to
+ get corrected timezone).
+
+2002-01-07 19:24 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added minimal type of
+ install support.
+
+2002-01-07 19:23 Fançois Pons
+
+ * perl-install/install_any.pm: separated setDefaultPackages from
+ setPackages because it is used by allowing only base system to be
+ installed (allow remade a better package selection).
+
+2002-01-07 19:22 Fançois Pons
+
+ * perl-install/install2.pm: added option to only upgrade packages.
+
+2002-01-07 19:22 Fançois Pons
+
+ * perl-install/crypto.pm: added bestMirror method to retrieve a
+ good mirror (according to timezone) and add salt with random
+ number to avoid using always the same.
+
+2002-01-07 17:08 Dam's
+
+ * perl-install/my_gtk.pm: removed print
+
+2002-01-07 17:02 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: also log server name for HTTP install
+
+2002-01-07 16:46 Dam's
+
+ * perl-install/Makefile: socmetic
+
+2002-01-07 16:44 Fançois Pons
+
+ * perl-install/Makefile: fixed overwriting of install2 filtering,
+ keep diagnostic and strict for debug mode.
+
+2002-01-07 16:23 Dam's
+
+ * perl-install/my_gtk.pm: new pack_start functions, powerpack sub
+ added (code from adrien)
+
+2002-01-07 15:32 Dam's
+
+ * perl-install/: install_steps.pm, network/netconnect.pm: corrected
+ network connection during install
+
+2002-01-07 14:43 Dam's
+
+ * perl-install/Makefile: typo
+
+2002-01-07 14:40 Dam's
+
+ * perl-install/Makefile: added debug mode for the whole install
+
+2002-01-07 14:38 Dam's
+
+ * perl-install/my_gtk.pm: incorporated adrien's code to generalize
+ pack functions minor bug fixes
+
+2002-01-07 14:34 Dam's
+
+ * perl-install/install2: added debug mode for the whole install
+
+2002-01-04 19:48 Dam's
+
+ * perl-install/: install_steps.pm, my_gtk.pm, network/adsl.pm,
+ network/netconnect.pm, network/tools.pm: corrected minor bugs in
+ network (among others bug "modifying read only values") recode
+ upNetwork and downNetwork (it might work, at least if you are
+ lucky);
+
+2002-01-04 19:14 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: removed obsoleted
+ comment.
+
+2002-01-04 19:13 Fançois Pons
+
+ * perl-install/crypto.pm: removed test code.
+
+2002-01-04 18:50 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed empty flat package
+ selection when giving a limit to medium.
+
+2002-01-04 18:34 Fançois Pons
+
+ * perl-install/: crypto.pm, install_steps.pm,
+ install_steps_interactive.pm, pkgs.pm: allow to use same
+ identifier for security medium (1u). re-install urpmi. allow
+ some error to be catched.
+
+2002-01-04 18:16 Fançois Pons
+
+ * perl-install/install_steps.pm: fix for auto updates.
+
+2002-01-04 17:41 Fançois Pons
+
+ * perl-install/: crypto.pm, http.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm, steps.pm: added update
+ installation support to install (big modifs need testing).
+
+2002-01-04 14:53 Dam's
+
+ * perl-install/my_gtk.pm: corrected font display : no useless
+ font->height, but ascent + descent
+
+2002-01-04 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: enable easy patch-adding of
+ pcitable and usbtable entries
+
+2002-01-04 12:25 Dam's
+
+ * perl-install/my_gtk.pm: updated
+
+2002-01-04 12:23 Dam's
+
+ * perl-install/network/isdn_consts.pm: changed asus isdn hisax
+ identify
+
+2002-01-03 20:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: as asked by Vincent Danen, lower
+ uucp and raise sudo
+
+2002-01-03 20:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm: toggle
+ Advanced/Basic button
+
+2002-01-03 19:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: fix english messages
+
+2002-01-03 18:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, any.pm, install2.pm: save the output
+ of ddcxinfos before modprobe'ing i810fb, and use that output for
+ Xconfig (when i810fb is modprobe'd, ddc probe doesn't work
+ anymore)
+
+2002-01-03 17:06 Fançois Pons
+
+ * perl-install/install_any.pm: updated code to create synthesis
+ file (including provides on files).
+
+2002-01-03 15:48 Dam's
+
+ * perl-install/standalone/drakbackup: user can be equal to 500
+
+2002-01-03 12:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ar.po: updated Arabic file
+
+2002-01-03 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: prefer gcc-cpp
+
+2002-01-02 12:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: changed @euro locales to plain names; now
+ old currencies ones are obsolete
+
+2001-12-31 03:34 sdupont
+
+ * perl-install/standalone/drakfont: new fixed size and add a head
+ pixmap (to update).
+
+2001-12-31 02:08 sdupont
+
+ * perl-install/standalone/drakbackup: lots of update ... - cron
+ work. - backup incremental & normal work. - corrupted backup
+ data files supported. - error messages updated. - aff list of
+ backup data files pbs. - test all backup files before to
+ restore it.
+
+2001-12-30 22:51 Pixel <pixel at mandriva.com>
+
+ * update_kernel: back to 2.4.16.1mdk-1-1mdk
+
+2001-12-30 22:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: format home directories with "-m 0" for
+ ext2&ext3, so that the root reserved part is 0% (and not 5%)
+
+2001-12-30 19:05 sdupont
+
+ * perl-install/standalone/drakbackup: update
+
+2001-12-29 11:57 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: Updates
+
+2001-12-29 11:23 sdupont
+
+ * perl-install/standalone/drakbackup: update TODO test backup data.
+ and more....
+
+2001-12-29 04:38 sdupont
+
+ * perl-install/standalone/drakbackup: fix problem of incremental
+ backups !!!
+
+2001-12-28 19:15 sdupont
+
+ * perl-install/standalone/drakbackup: lots of update !!!
+
+2001-12-28 18:43 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add pcmcia-cs with PCMCIA flag in
+ system
+
+2001-12-28 18:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: special case pcmcia-cs now handled
+ in rpmsrate
+
+2001-12-28 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectMouse): when
+ selecting a usb mouse, call setup_thiskind with at_least_one=1
+ (so that pci_class probe is used and so unknown serial_usb
+ recognised (cf ldetect))
+
+2001-12-28 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setup_thiskind_backend): when
+ at_least_one==1, try load_thiskind forcing pci_class probe when
+ no modules is found.
+
+2001-12-28 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_thiskind): allow $probe_type to be
+ given, allowing forced pci probe (unsafe)
+
+2001-12-28 11:21 sdupont
+
+ * perl-install/standalone/drakbackup: update select data on backup
+ cd
+
+2001-12-27 19:04 sdupont
+
+ * perl-install/standalone/drakbackup: fix of user
+ selection during restore step.
+ remove return_file_date.
+ change algo for incremental backup.
+
+2001-12-26 19:16 sdupont
+
+ * perl-install/standalone/drakbackup: some gi corrections &
+ update.
+ incremental restore.
+
+2001-12-23 00:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: export gtkcolor (used in
+ install_steps_gtk)
+
+2001-12-23 00:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: make perl_checker happy
+
+2001-12-22 23:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: s/use pkgs/require pkgs/ since
+ pkgs::versionCompare is only used during install
+
+2001-12-22 11:39 sdupont
+
+ * perl-install/standalone/drakbackup: add pixmaps on backup step.
+
+2001-12-22 03:16 sdupont
+
+ * perl-install/pixmaps/: backup_bot.png, backup_bot2.png,
+ backup_hd.png, backup_left.png, backup_left2.png, backup_net.png,
+ backup_options.png, backup_time.png, backup_title.png, cdrom.png,
+ filedialog.png, hd.png, net.png: remove old drakbackup pixmaps
+ files.
+
+2001-12-22 02:05 sdupont
+
+ * perl-install/standalone/drakbackup: new designer pixmaps on
+ drakbackup.
+
+2001-12-22 01:26 sdupont
+
+ * perl-install/pixmaps/: ic82-CD-40.png, ic82-back-up-16.png,
+ ic82-back-up-32.png, ic82-back-up-48.png,
+ ic82-discdurwhat-40.png, ic82-dossier-32.png,
+ ic82-moreoption-40.png, ic82-network-40.png, ic82-others-40.png,
+ ic82-system-40.png, ic82-systemeplus-40.png, ic82-tape-40.png,
+ ic82-users-40.png, ic82-when-40.png, ic82-where-40.png:
+ drakbackup designer icons.
+
+2001-12-21 19:23 sdupont
+
+ * perl-install/standalone/drakbackup: some update in file name
+ parsing... etc ...
+
+2001-12-21 17:24 sdupont
+
+ * perl-install/pixmaps/BDO-drakebackup1.png: drakbackup
+
+2001-12-20 20:43 sdupont
+
+ * perl-install/standalone/drakbackup: update the todo header the
+ REQUIRE header & code cleaning
+
+2001-12-20 20:34 sdupont
+
+ * perl-install/standalone/drakbackup:
+ - tar -cvf tarfilename --after-date="sept 1, 2000" /home l.380
+ incremental: date -> if already exist do find -m ... | tar ...
+ non incremental: date + delete old before the backup - correct
+ detection of backups during restore. - gi for other media during
+ restore. hd-> ok - backend for build backup update and support
+ incremental backups. - real incremental backup
+
+2001-12-20 20:29 Dam's
+
+ * perl-install/install_steps_gtk.pm: API changed, so call changed
+
+2001-12-20 14:05 Dam's
+
+ * perl-install/share/logo-mandrake.png: new ayo logo
+
+2001-12-20 12:21 sdupont
+
+ * perl-install/standalone/drakbackup: update resore & help.
+
+2001-12-19 23:11 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add dl2k.o (nic module) per request of
+ nplanel
+
+2001-12-19 19:28 sdupont
+
+ * perl-install/standalone/drakbackup: - gi for other media during
+ restore. hd-> ok - backend for build backup update and support
+ incremental backups. - real incremental backup
+
+2001-12-19 16:52 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new BOOT kernel (2.4.16.10mdk-1-1mdk)
+
+2001-12-19 14:38 Dam's
+
+ * perl-install/my_gtk.pm: update graphical backend
+
+2001-12-19 03:35 sdupont
+
+ * perl-install/standalone/drakbackup: add other media source during
+ restore.
+
+2001-12-19 03:03 sdupont
+
+ * perl-install/standalone/drakbackup: - update help & license. -
+ code cleaning.
+
+2001-12-19 02:33 sdupont
+
+ * perl-install/standalone/drakbackup: - ask during whqt sys step if
+ user want to backup critical files, like /etc/passwd /etc/group
+ /etc/fstab - use preserve permissions during tar - begin of total
+ backup step.( all partitions wanted, windows partitions for
+ example!) - remove replace mode (backup_*_version is enought)
+
+2001-12-18 19:19 sdupont
+
+ * perl-install/standalone/drakbackup: sort lists in all
+ lists selection.
+ correct use of incremental backup
+ parse of restore & system state.
+
+2001-12-18 18:31 Yves Duret
+
+ * perl-install/standalone/logdrake: fix console mode : exit now
+
+2001-12-18 17:07 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed dam's sucking (syntax
+ error only, code is untested).
+
+2001-12-18 17:02 sdupont
+
+ * perl-install/standalone/drakfont: include new pixmap on main
+ menu.
+
+2001-12-18 16:57 sdupont
+
+ * perl-install/pixmaps/ic-drakfont-48.png: drakfont pixmap...
+
+2001-12-18 16:32 sdupont
+
+ * perl-install/standalone/drakbackup:
+ fix restore user selection problems fix build backup data
+ selection problems ect ... drakbackup -> drakxtools.rpm
+
+2001-12-18 01:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix typos
+
+2001-12-17 20:24 sdupont
+
+ * perl-install/standalone/drakbackup:
+ ________________________________________________________________
+ DONE: incremental backups have depends whith replace
+ options. gtklist not maximized. restore mode.
+ view date during restore view size of file, date & hours
+ during backup on CD
+ ________________________________________________________________
+
+2001-12-17 19:27 Dam's
+
+ * perl-install/: install_steps_gtk.pm, my_gtk.pm: power graphical
+ backend update : text is now centered
+
+2001-12-17 18:58 Guillaume Cottenceau
+
+ * perl-install/: interactive_gtk.pm, standalone/drakgw: drakgw for
+ gold
+
+2001-12-17 17:48 Dam's
+
+ * perl-install/my_gtk.pm: updated new graphical backend
+
+2001-12-17 13:30 Guillaume Cottenceau
+
+ * tools/pcmcia_config.patch: remove permanently (using
+ patch_pcmcia_config.pl now)
+
+2001-12-17 12:37 Pixel <pixel at mandriva.com>
+
+ * Makefile: s/kenobi/ken/
+
+2001-12-17 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, fs.pm, install2.pm:
+ clean_tmp now means using tmpfs
+
+2001-12-17 02:43 sdupont
+
+ * perl-install/standalone/drakbackup: update of build backup mode,
+ restore mode, cdrw options
+
+2001-12-14 19:37 sdupont
+
+ * perl-install/standalone/drakbackup: fix some gi problems. change
+ texte alignment on boxes. code cleaning new step during the
+ build backup menu to build a bootable cdrom. help for ftp
+ connexions
+
+2001-12-14 17:46 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: change again way of
+ selection PCI entries : what's in mar files --> what's given by
+ modules (e.g. just as update_kernel does)
+
+2001-12-14 02:41 sdupont
+
+ * perl-install/standalone/drakbackup: update configuration state
+ and restore state message, ftp mode.
+
+2001-12-13 19:42 sdupont
+
+ * perl-install/standalone/drakbackup: fix some problems with wizard
+ gi, add tape on retore included on wizard & advanced steps. add
+ view conf before build backup. sensitive mode for wizard progess
+ bar during backup.
+
+2001-12-13 17:56 sdupont
+
+ * perl-install/pixmaps/cdrom.png: new size
+
+2001-12-13 16:47 Yves Duret
+
+ * perl-install/standalone/logdrake: moving from soft/control-center
+ to here, since there will be a console based version
+
+2001-12-13 00:42 Guillaume Cottenceau
+
+ * perl-install/install2.pm: use "askdisplay" to ask a question at
+ begining of install for what display you want to use during
+ install
+
+2001-12-12 22:40 Guillaume Cottenceau
+
+ * mdk-stage1/rescue-gui.c, rescue/Makefile, rescue/make_rescue_img,
+ rescue/rescue-doc: have a bunch of Rescue documentation directly
+ available from the Rescue-menu following suggestions by Denis
+ among others
+
+2001-12-12 22:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/bootloader.pm: mods to address new yaboot's lack of
+ symlink ability, xfs initrd load
+
+2001-12-12 22:01 Guillaume Cottenceau
+
+ * make_boot_img, perl-install/Makefile,
+ tools/patch_pcmcia_config.pl: externalize patch_pcmcia_config
+ (from make_boot_img) because we need it in perl-install/Makefile
+ also
+
+2001-12-12 21:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * rescue/make_rescue_img: larger rescue image on PPC to accomodate
+ huge xfs module
+
+2001-12-12 19:48 Pixel <pixel at mandriva.com>
+
+ * docs/README, perl-install/common.pm, perl-install/install2.pm,
+ perl-install/my_gtk.pm, perl-install/share/list: enable easy
+ screenshot'ing
+
+2001-12-12 19:23 sdupont
+
+ * perl-install/standalone/drakbackup: begin: progress bar for
+ backup step gtk unsensitive (button & checkbutton) for each step
+ if not check better use of wizard message box.
+
+2001-12-12 18:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added facility to not do printer
+ auto-detection.
+
+2001-12-12 17:07 sdupont
+
+ * perl-install/standalone/drakbackup: restore to specific path.
+ warning message if restore and no data to restore. warning
+ message if uncheked button during each step of wizard, restore.
+ warning message if restore or build backup and no configuration
+ file. fix some problems, with check buttons -> checked but not
+ use by program.
+
+2001-12-12 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - ensure /usr is formatted if / is -
+ remove /var/lib/rpm if /var is kept
+
+2001-12-11 18:00 sdupont
+
+ * perl-install/standalone/drakbackup: filedialog in advanced box
+ hd. conf file message for wizard mode & restore mode. wizard
+ mode ok: more: user choice, cdrom, net, hd choice restore mode
+ ok: message at the end with all restore files. ect...
+
+2001-12-11 16:32 sdupont
+
+ * perl-install/pixmaps/: filedialog.png, warning.png: backup
+ pixmaps
+
+2001-12-11 16:04 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: Xconfigurator_consts.pm, keyboard.pm,
+ partition_table_mac.pm, share/list.ppc: finish journalled fs
+ usage - PPC, add "\n" keyboard.pm, new modelines
+
+2001-12-11 15:48 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, stage1.c, stage1.h: support "filename" in
+ DHCP answers and give this to stage2 as --kickstart parameter
+
+2001-12-11 13:32 Dam's
+
+ * perl-install/my_gtk.pm: updated create_pix_text. added
+ fille_tiled
+
+2001-12-11 09:48 sdupont
+
+ * perl-install/standalone/drakbackup: fix wizard step2 problems,
+ and add configuration button.
+
+2001-12-11 09:37 sdupont
+
+ * perl-install/standalone/drakbackup: wizard step, 1 & 2, with
+ "select user manually" and "configure it for each locations"
+
+2001-12-10 19:27 Fançois Pons
+
+ * perl-install/bootloader.pm: added safe guard against looping
+ symlink.
+
+2001-12-10 19:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: http.pm, install_any.pm: enable http:// in
+ auto_install file location
+
+2001-12-10 18:02 sdupont
+
+ * perl-install/standalone/drakbackup: restore mode, advanced mode
+ done. wizard mode begin.
+
+2001-12-10 17:36 Fançois Pons
+
+ * perl-install/install_any.pm: added network package not present in
+ @needToCopy (package that may be installed by DrakX to avoid
+ re-asking of CD1).
+
+2001-12-10 16:26 sdupont
+
+ * perl-install/standalone/drakbackup: fix restore mode gi problems.
+ better box in all main menu.
+
+2001-12-10 14:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install_steps.pm: - fix
+ bootloader::add_append - add handling of serial console
+
+2001-12-10 12:25 sdupont
+
+ * perl-install/standalone/drakfont: fix libdrakx path problem.
+
+2001-12-10 10:50 sdupont
+
+ * perl-install/standalone/drakbackup: restore button box step 2
+
+2001-12-10 10:05 sdupont
+
+ * perl-install/standalone/drakbackup: help button box
+
+2001-12-10 09:57 sdupont
+
+ * perl-install/standalone/drakbackup: restore step with correct
+ help button & code cleanning.
+
+2001-12-10 02:54 sdupont
+
+ * perl-install/standalone/drakbackup: some gi update and code
+ cleaning, remove some unuse functions, interactive mode without
+ popup windows. restore mode in same window like interactive
+ mode.
+
+2001-12-08 01:59 sdupont
+
+ * perl-install/standalone/drakbackup: begin new wizard gi. button
+ position correction in restore mode
+
+2001-12-08 01:49 sdupont
+
+ * perl-install/standalone/drakbackup: in advanced step:
+ custom help for each steps and return automaticaly on the current
+ step.
+
+ help: options help
+
+2001-12-07 19:07 sdupont
+
+ * perl-install/standalone/drakbackup: NEW Gaphicall Interface -> ok
+ for advanced step ok for button.
+
+ after discution with dadou.
+
+2001-12-07 15:16 Chmouel Boudjnah
+
+ * perl-install/modules.pm: Remove pre-install in modules.conf for
+ pcmcia.
+
+2001-12-07 11:24 sdupont
+
+ * perl-install/standalone/drakbackup: fix ftp client hostname pb.
+ gi rebuild
+
+2001-12-07 02:39 sdupont
+
+ * perl-install/standalone/drakbackup: some docs and remove telnet
+ mode.
+
+2001-12-07 02:29 sdupont
+
+ * perl-install/standalone/drakbackup: add ftp client for network
+ backup.
+
+2001-12-06 23:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/: nfs.pm, smb.pm: ask before installing
+ nfs-utils-clients or samba-client
+
+2001-12-06 18:57 sdupont
+
+ * perl-install/standalone/drakbackup: code clean & gi of network
+ configuration step.
+
+2001-12-06 12:21 sdupont
+
+ * perl-install/standalone/drakbackup: remove passwd entry, and
+ remember pass check button.
+
+2001-12-06 01:33 Dam's
+
+ * perl-install/my_gtk.pm: added create_pix_text function
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: no need to give kernelVersion to
+ bootloader::suggest
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest, add_kernel): much cleanup
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/steps.pm: createBootdisk now after setupBootloader
+ (together with dumber install_any::kernelVersion)
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (selectPackage): hard coded preference to
+ simple kernel
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: fix call to fileshare_config
+
+2001-12-06 00:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (kernelVersion): looks at
+ /boot/vmlinuz
+
+2001-12-05 19:19 sdupont
+
+ * perl-install/standalone/drakbackup: todo : scp ssl sftp rsync
+ connections perl || c ? done : bzip2 backup
+
+2001-12-05 18:13 Guillaume Cottenceau
+
+ * make_boot_img, update_kernel, mdk-stage1/Makefile,
+ mdk-stage1/pcmcia_/cardmgr.c: - fix problems with sockets not
+ initialized (disabling hotplug support -> cardmgr handles
+ sockets) - fix problems with PCMCIA net adapters now using PCI
+ modules, by adding PCMCIA base code in `network.img'
+
+2001-12-05 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix type "smb" vs "smbfs", and handle options
+ in fs::mount
+
+2001-12-05 14:00 sdupont
+
+ * perl-install/standalone/drakbackup: merge
+
+2001-12-05 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: fix missing ";" (thanks to Robert
+ Fox)
+
+2001-12-05 11:46 sdupont
+
+ * perl-install/pixmaps/backup_bot2.png: update pixmaps
+
+2001-12-05 01:36 Dam's
+
+ * perl-install/share/logo-mandrake.png: updateed logo
+
+2001-12-04 22:27 Dam's
+
+ * perl-install/Makefile.config: added drakbackup drakfont
+
+2001-12-04 21:32 Dam's
+
+ * perl-install/standalone/drakbackup: corrected pixmap path
+
+2001-12-04 21:27 Dam's
+
+ * perl-install/standalone/drakbackup: corrected pixmap path
+
+2001-12-04 21:04 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.c, doc/TECH-INFOS: support shorter
+ versions of automatic keywords to beat problems with very long
+ kernel commandlines
+
+2001-12-04 20:06 sdupont
+
+ * perl-install/pixmaps/: backup_bot.png, backup_left.png: correct
+ colors problems.
+
+2001-12-04 19:20 Guillaume Cottenceau
+
+ * docs/README, mdk-stage1/log.c, perl-install/any.pm: save
+ stage1.log and have it in report.bug
+
+2001-12-04 19:16 sdupont
+
+ * perl-install/standalone/drakbackup: bzip2 ok for compression to
+ see: decomp without pbs whith tar.gz and tar.bz2
+
+ todo: update mode -> decomp + update tar file + recomp
+
+2001-12-04 19:14 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pm: floppy_info: add missing close(fd)
+
+2001-12-04 18:53 Pixel <pixel at mandriva.com>
+
+ * update_kernel: ensure errors are propagated (shell sux)
+
+2001-12-04 18:52 Pixel <pixel at mandriva.com>
+
+ * Makefile: (dirs): cleanup + ensure errors make "make" stop
+
+2001-12-04 18:20 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new boot kernel 2.4.16.1mdk-1-1mdk
+
+2001-12-04 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: re-enable supermount by default
+
+2001-12-04 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/smb.pm: cleaner smbclient call
+
+2001-12-04 17:58 Pixel <pixel at mandriva.com>
+
+ * update_kernel: new BOOT kernel (2.4.13-9mdk)
+
+2001-12-04 17:57 Pixel <pixel at mandriva.com>
+
+ * Makefile: add target upload_only (useful when make check fails)
+
+2001-12-04 17:40 Guillaume Cottenceau
+
+ * perl-install/install_interactive.pm: try to not get something
+ poorly wrapped
+
+2001-12-04 17:06 Fançois Pons
+
+ * perl-install/install_any.pm: fix bad parsing of package to copy
+ (when one doen't exist anymore) in postinstall_rpms directory.
+
+2001-12-04 16:44 sdupont
+
+ * perl-install/standalone/drakbackup: last update... for cooker
+
+2001-12-04 16:42 Dam's
+
+ * perl-install/network/tools.pm: corrected pipe reading
+
+2001-12-04 16:42 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, update_kernel, mdk-stage1/.cvsignore,
+ mdk-stage1/Makefile, mdk-stage1/probing.c,
+ mdk-stage1/usb-resource/update-usb-ids.pl,
+ perl-install/modules.pm: support install from USB CDROMS (using
+ usb-storage)
+
+2001-12-04 16:19 sdupont
+
+ * perl-install/standalone/drakbackup:
+ drakbackup deamon -> ok drakbackup cvs -> to do (only for /etc)
+ drakbackup wizard -> only last step drakbackup cd -> device
+ detection and ask for only iso file. drakbackup net -> do rsync
+ drakbackup begin -> todo : update initial message
+
+ update help and about.
+
+2001-12-04 12:33 Dam's
+
+ * perl-install/network/network.pm: additional package for wlan
+
+2001-12-04 12:28 Fançois Pons
+
+ * perl-install/any.pm: make sure lilo is installed on automatic
+ mode.
+
+2001-12-04 12:15 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: fpons is a sucking chief
+
+2001-12-04 11:25 Fançois Pons
+
+ * mdk-stage1/modules.c: fixed gégé sucking.
+
+2001-12-04 10:48 sdupont
+
+ * perl-install/standalone/drakbackup: update...
+
+2001-12-03 20:37 Dam's
+
+ * perl-install/Xconfigurator.pm: removed use gtk
+
+2001-12-03 20:33 sdupont
+
+ * perl-install/standalone/drakbackup: update
+
+2001-12-03 19:48 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: typo of last commit (unused variable ->
+ could not compile)
+
+2001-12-03 16:45 sdupont
+
+ * perl-install/standalone/drakbackup: option step. write other
+ file content. restore gi.
+
+2001-12-03 16:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, es.po, hu.po: updated
+ Hungarian and Spanish files
+
+2001-12-03 14:59 Fançois Pons
+
+ * tools/updatehdlist: initial revision, simple way to update a
+ local set of medium from /RPMS.
+
+2001-12-02 01:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-12-01 04:41 sdupont
+
+ * perl-install/standalone/drakbackup: do not include browser cache.
+
+2001-11-30 20:19 sdupont
+
+ * perl-install/pixmaps/backup_left2.png: drakbackup pixmap
+
+2001-11-30 19:36 sdupont
+
+ * perl-install/standalone/drakbackup: backend mode-> ok for hd
+
+ we can use drakbackup !.
+
+ todo : backend mode: - net - cd
+
+ advanced mode:
+ - device detection (cd writer)
+
+ wizard:
+ - end of this step.
+
+ gi:
+ - option step in adnanced step to choice
+ for example tar.gz or tar.gz2 ...
+
+2001-11-30 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools, any.pm,
+ diskdrake.pm, network/smb.pm, standalone/diskdrake: fileshare
+ should be ok, handle diskdrake --fileshare, fix smb import
+
+2001-11-30 18:11 sdupont
+
+ * perl-install/standalone/drakbackup: update
+
+2001-11-30 17:09 sdupont
+
+ * perl-install/standalone/drakbackup: restore step 1 & 2. adv step
+ -> ok todo: wizard ...
+
+2001-11-30 14:02 Fançois Pons
+
+ * docs/spec-DrakX-8.0.html: added spec (forgotten for quite a long)
+
+2001-11-30 11:56 sdupont
+
+ * perl-install/standalone/drakbackup: little update!
+
+2001-11-30 10:42 sdupont
+
+ * perl-install/standalone/drakbackup:
+ variables correction in advanced step. wizard user question, sys
+ question & daemon
+
+2001-11-30 10:14 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: - Don't forget to link the initrd to
+ the real image in /boot/efi/ too - Remove DEBUG printouts in
+ install_efi_boot_menu
+
+2001-11-30 10:13 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/modules.pm: Suckiness fixes from mainline (gc): - Do
+ parse /proc/modules in reverse order - Fix "convert old
+ scsi_hostadapter's to new probeall" scheme
+
+2001-11-30 10:12 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: - cleanups from mainline
+
+2001-11-29 19:55 sdupont
+
+ * perl-install/standalone/drakbackup: just update....
+
+2001-11-29 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: - allow root to export
+ everything - remove empty mntpoint (from smb)
+
+2001-11-29 16:41 sdupont
+
+ * perl-install/standalone/drakbackup: advanced: users correction
+ during save. user pass, user login, path to save local
+ or on host combo for network protocol. wizrad:
+ already to do!
+
+ CDRW burn: todo: devices detection (see to_fond_cd).
+
+2001-11-29 14:49 sdupont
+
+ * perl-install/standalone/drakfont: cleanning code.
+
+2001-11-29 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: remove the export tree for nfs/smb
+ feature, remove some test code
+
+2001-11-29 12:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: tentative version with export/import
+ nfs/smb tree (committed to have it in CVS as the export tree is
+ already deprecated)
+
+2001-11-29 12:11 Chmouel Boudjnah
+
+ * perl-install/share/rpmsrate: Remove linux_logo
+
+2001-11-29 12:09 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: remove unneeded handling of "alias
+ scsi_hostadapter"
+
+2001-11-29 12:08 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: add another expert_third_party_modules at
+ the end of enabling-pcmcia-stuff
+
+2001-11-29 11:40 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add wvlan_cs
+
+2001-11-29 02:28 sdupont
+
+ * perl-install/standalone/drakbackup: code cleaning.
+
+2001-11-28 19:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: zh_CN.po, zh_TW.po: updated Chinese file
+
+2001-11-28 19:31 sdupont
+
+ * perl-install/standalone/drakbackup: no important changement!
+
+2001-11-28 19:18 Guillaume Cottenceau
+
+ * perl-install/modules.pm: - fix pixel sucks of not parsing
+ /proc/modules in reverse order - be more in sync regarding
+ names of pcmcia drivers
+
+2001-11-28 19:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (read_conf): fix "convert old
+ scsi_hostadapter's to new probeall"
+
+2001-11-28 18:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbackup: make check_what_user works
+
+2001-11-28 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: better description
+
+2001-11-28 18:42 sdupont
+
+ * perl-install/standalone/drakbackup: clean code
+
+2001-11-28 18:24 sdupont
+
+ * perl-install/standalone/drakbackup: update! for gc & Warly: some
+ fixes, correction of advanced, wizard and after advanced steps.
+ the user have a better gestion during advanced step, the
+ protocols ftp, sftp, scp, rsync are now include in advanced
+ step..... etc ;-)
+
+ todo: when checkbuttonbox are clicked for user choice set it to 0
+ or 1 juste after.
+
+2001-11-28 18:06 Guillaume Cottenceau
+
+ * perl-install/any.pm: add modules.conf in report.bug
+
+2001-11-28 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: gr_mem in getgrent is space
+ separated, not comma separated
+
+2001-11-28 14:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: add samba handling. Should
+ be finished now :)
+
+2001-11-28 01:31 sdupont
+
+ * perl-install/standalone/drakbackup: clean code.
+
+2001-11-28 01:19 sdupont
+
+ * perl-install/pixmaps/: backup_bot2.png, quit.png: drakbackup
+ pixmaps.
+
+2001-11-28 01:15 sdupont
+
+ * perl-install/standalone/drakbackup: new after advanced step,
+ correction of checkbuttons problems & new pixmaps.
+
+2001-11-27 22:49 sdupont
+
+ * perl-install/pixmaps/: cdrom.png, hd.png, net.png: pixmaps for
+ drakbackup.
+
+2001-11-27 22:48 sdupont
+
+ * perl-install/standalone/drakbackup: advanced step...
+
+2001-11-27 20:07 sdupont
+
+ * perl-install/standalone/drakbackup: update.
+
+2001-11-27 18:18 sdupont
+
+ * perl-install/standalone/drakbackup: advanced mode ... and ...
+
+2001-11-27 18:13 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid problem of array reference
+ badly evaluated.
+
+2001-11-27 17:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: (generate_guid): cleanup
+
+2001-11-27 17:40 Guillaume Cottenceau
+
+ * tools/mailchangelog.pl: beurk
+
+2001-11-27 14:40 Guillaume Cottenceau
+
+ * tools/mailchangelog.pl: changelog is at linux-mandrake not
+ mandrakesoft
+
+2001-11-27 14:38 sdupont
+
+ * perl-install/standalone/drakbackup: read and use user list
+ correctly, advanced step user list.
+
+2001-11-27 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): s/last/return/
+
+2001-11-27 14:28 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: i810 -> no FB at boot
+
+2001-11-27 12:37 Dam's
+
+ * perl-install/share/logo-mandrake.png: updated, cooker style
+
+2001-11-27 02:31 sdupont
+
+ * perl-install/pixmaps/: backup_bot.png, backup_left.png: new
+ dimenssion of pixmaps.
+
+2001-11-27 02:30 sdupont
+
+ * perl-install/standalone/drakbackup: read conf when doesn't exist.
+ and gi whithout mdk cc.
+
+2001-11-27 01:46 sdupont
+
+ * perl-install/standalone/drakbackup: update default mode and
+ pixmaps places.
+
+2001-11-27 01:34 sdupont
+
+ * perl-install/standalone/drakbackup: parse passwd users, update gi
+ and wizard steps.
+
+2001-11-26 19:21 sdupont
+
+ * perl-install/standalone/drakbackup: wizard steps & passwd parse,
+ etc...
+
+2001-11-26 17:35 Dam's
+
+ * perl-install/: common.pm, my_gtk.pm: new features for new mcc
+
+2001-11-26 17:33 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: getAndSaveAutoInstallFloppy: don't
+ die when output'ing of auto_inst.cfg is not possible
+
+2001-11-26 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: cleanup
+
+2001-11-26 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: add $o->{excludedocs} feature
+
+2001-11-26 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: remove unneeded files (*.bs and
+ .exists)
+
+2001-11-26 16:57 sdupont
+
+ * perl-install/standalone/drakbackup: new gi, advanced step.
+
+2001-11-26 16:05 sdupont
+
+ * perl-install/pixmaps/: backup_hd.png, backup_net.png,
+ backup_options.png, backup_time.png: png files for DrakBackup.
+
+2001-11-26 11:20 sdupont
+
+ * perl-install/standalone/drakbackup: update.
+
+2001-11-26 02:18 sdupont
+
+ * perl-install/standalone/drakbackup: gawk cmds.
+
+2001-11-26 02:11 sdupont
+
+ * perl-install/standalone/drakbackup: better use for read and save
+ conf. file now on /etc/draxtools/drakbackup/drakbackup.cfg
+
+2001-11-25 22:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/fileshareset: first version. for the
+ moment, only nfs.
+
+2001-11-25 21:14 sdupont
+
+ * perl-install/standalone/drakbackup: update of read_conf_file and
+ default mode.
+
+2001-11-24 16:02 sdupont
+
+ * perl-install/standalone/drakfont: about...
+
+2001-11-24 15:59 sdupont
+
+ * perl-install/standalone/drakbackup: update
+
+2001-11-24 15:27 sdupont
+
+ * perl-install/standalone/drakbackup: update gi ,build of system,
+ user, other, options interfaces.
+
+2001-11-24 15:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, es.po: updated Spanish and Danish
+ files
+
+2001-11-24 02:05 sdupont
+
+ * perl-install/standalone/drakbackup: advanced step.
+
+2001-11-24 00:14 sdupont
+
+ * perl-install/standalone/drakbackup: radio buttons & information
+ message.
+
+2001-11-23 19:11 sdupont
+
+ * perl-install/standalone/drakbackup: change gi interface, include
+ help, about and pixmaps (backup_*.png on standalone/pixmaps
+ directory)
+
+2001-11-23 15:01 Guillaume Cottenceau
+
+ * make_boot_img: fix patching of /etc/pcmcia/config (for new
+ pcmcia-cs)
+
+2001-11-23 14:18 Guillaume Cottenceau
+
+ * perl-install/: any.pm, detect_devices.pm: pcmcia: /var/run/stab
+ is nor /var/lib/pcmcia/stab yes it probably doesn't bring
+ anything valuable but it's how life is :-)
+
+2001-11-23 14:16 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: package for pcmcia is now called
+ "pcmcia-cs"
+
+2001-11-22 19:20 sdupont
+
+ * perl-install/standalone/drakbackup: update gi. TODO: separate
+ all the boxes. include wizard and advanced in pixmaps.
+
+2001-11-22 18:47 sdupont
+
+ * perl-install/standalone/drakfont: about button & GPL license.
+
+2001-11-22 18:20 sdupont
+
+ * perl-install/standalone/drakbackup: update
+
+2001-11-22 14:42 sdupont
+
+ * perl-install/standalone/drakbackup:
+ notebook gi.
+
+2001-11-22 14:32 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: removed loading of agpgart module
+ for i810 card.
+
+2001-11-21 20:42 Guillaume Cottenceau
+
+ * update_kernel, perl-install/install2.pm, perl-install/modules.pm:
+ i810fb
+
+2001-11-21 16:51 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: hack for SiS 640 for laptop.
+
+2001-11-21 16:50 Fançois Pons
+
+ * perl-install/install_any.pm: fixed install_urpmi to build a
+ correct urpmi db.
+
+2001-11-21 15:54 Guillaume Cottenceau
+
+ * make_boot_img, update_kernel, perl-install/Makefile,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm, perl-install/c/Makefile.PL: migrate
+ pcmcia in drakx to use in-kernel version (only for 2.4, though
+ --> pcmcia in 2.2 no longer supported)
+
+2001-11-21 15:43 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, stage1.c, pcmcia_/Makefile,
+ pcmcia_/cardmgr.c, pcmcia_/ds.h, pcmcia_/lex_config.c,
+ pcmcia_/pcmcia.h, pcmcia_/probe.c, pcmcia_/yacc_config.c: migrate
+ to pcmcia support from kernel, patching untouched imported
+ sources from pcmcia-cs-3.1.29, to ease further updates of vendor
+ code (start from a clean pcmcia_ subdir)
+
+2001-11-21 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (suggestions_mntpoint): if there's no
+ server suggestion, use the simple one, so that 'simple' is the
+ only one required when someone modifies %fsedit::suggestions
+
+2001-11-21 00:35 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/: cardmgr.c, bulkmem.h, cardmgr.h, cirrus.h,
+ cistpl.h, cs.h, cs_types.h, driver_ops.h, ds.h, i82365.h,
+ lex_config.c, probe.c, tcic.h, version.h, vg468.h, yacc_config.c,
+ yacc_config.h: Initial revision
+
+2001-11-21 00:35 Guillaume Cottenceau
+
+ * mdk-stage1/pcmcia_/: cardmgr.c, bulkmem.h, cardmgr.h, cirrus.h,
+ cistpl.h, cs.h, cs_types.h, driver_ops.h, ds.h, i82365.h,
+ lex_config.c, probe.c, tcic.h, version.h, vg468.h, yacc_config.c,
+ yacc_config.h: version 3.1.29
+
+2001-11-20 19:34 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: - Add isEfi() to
+ isOtherAvailableFS() test so that install doesn't suggest to
+ format /boot/efi by default. That way, we could preserve (shame
+ on us) EFI boot partition generated by Windows XP 64 bits...
+
+2001-11-19 20:04 Guillaume Cottenceau
+
+ * perl-install/interactive_stdio.pm: for po i can't use $ for
+ string interpolation
+
+2001-11-19 19:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-11-19 18:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: services.pm, standalone/scannerdrake: Corrected
+ English errors
+
+2001-11-19 17:58 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Last correction was wrong, reverted
+ it.
+
+2001-11-19 16:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, hu.po: updated Czech and Hungarian
+ files
+
+2001-11-19 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): fix typo
+
+2001-11-19 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): fix typo
+
+2001-11-19 11:50 Yves Duret
+
+ * perl-install/standalone/scannerdrake: added dynamic support
+
+2001-11-16 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: syntax cleanup
+
+2001-11-16 13:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: - a little cleanup - in case there is both
+ scsi and ide hard drives, go to expert questions directly (it
+ would need a semi_auto asking on which drive the bios boots...)
+
+2001-11-14 08:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: help_xml2pm.pl, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po: updated
+ pot file
+
+2001-11-14 08:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po: updated
+ pot file
+
+2001-11-14 07:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2001-11-14 06:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Added Swedish dvorak keyboard
+
+2001-11-12 18:44 sdupont
+
+ * perl-install/standalone/drakbackup: new backup tool.
+ backend_mode with options. begin interactive mode.
+
+2001-11-12 16:29 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/detect_devices.pm: - Misc merges from HEAD
+
+2001-11-12 16:28 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/steps.pm: - Don't create a boot disk on ia64
+
+2001-11-12 16:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/modules.pm: - Don't try imm, ppa on ia64
+
+2001-11-12 16:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: install_interactive.pm, partition_table_bsd.pm,
+ partition_table_dos.pm: - Yet merges for GPT support from Pixel
+
+2001-11-12 16:24 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/fs.pm: - Format EFI partitions in FAT32
+
+2001-11-12 16:23 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install_steps.pm: - Add
+ support for elilo 3.1 - Add an EFI boot menu for "Mandrake Linux"
+ once everything is installed
+
+2001-11-12 16:19 Yves Duret
+
+ * perl-install/standalone/scannerdrake: update
+
+2001-11-12 16:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_any.pm, partition_table.pm,
+ partition_table_gpt.pm, partition_table_raw.pm: - Add support for
+ GPT partitions (Pixel) - Search for EFI partitions first and
+ suggest /mnt/efi_ for mount point
+
+2001-11-12 16:18 Yves Duret
+
+ * perl-install/scanner.pm: update, sync with cvs
+
+2001-11-12 16:14 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/standalone/XFdrake: - Use /usr/X11R6/lib/X11/rgb.txt
+ instead of Cards
+
+2001-11-12 16:13 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: Makefile, share/list, share/list.ia64: - Add bash
+ as the default shell on ia64 - Add fibootmgr and xfs_repair -
+ Remove wacom module for X11 on ia64
+
+2001-11-12 16:11 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.ia64: - Add xfs_repair and efibootmgr
+
+2001-11-12 16:10 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * mdk-stage1/: probing.c, pci-resource/update-pci-ids.pl: -
+ pci-resource/update-pci-ids.pl, probing.c: updates from main
+
+2001-11-12 16:08 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: make_boot_img (boot_img_ia64): Add default=linux
+
+2001-11-12 11:56 sdupont
+
+ * perl-install/standalone/drakfont: modify help text.
+
+2001-11-09 15:49 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_mac.pm:
+ Journalled filesystems for PPC now too.
+
+2001-11-08 19:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix wait_message during module loading
+ disappearing before being useful (old bug introduced by dams :)
+
+2001-11-08 12:23 sdupont
+
+ * perl-install/standalone/drakfont: updated
+
+2001-11-05 18:03 Guillaume Cottenceau
+
+ * rescue/guessmounts: honours hash in /etc/fstab to disable lines
+
+2001-11-05 17:07 Dam's
+
+ * perl-install/standalone/drakautoinst: typo
+
+2001-11-03 13:34 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed typo
+
+2001-11-01 11:55 sdupont
+
+ * perl-install/standalone/drakfont: correction of empty vfat
+ partition in windows inportation.
+
+2001-11-01 03:57 sdupont
+
+ * perl-install/standalone/drakfont: netscape support.
+
+2001-11-01 03:38 sdupont
+
+ * perl-install/standalone/drakfont: ext2 -> vfat during windows
+ import.
+
+2001-10-31 20:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2001-10-31 13:16 sdupont
+
+ * perl-install/standalone/drakfont: some corrections &bugs fixes
+ for advanced install & uninstall.
+
+2001-10-30 21:11 Dam's
+
+ * perl-install/: my_gtk.pm, standalone/drakautoinst,
+ standalone/drakproxy, standalone/mousedrake,
+ standalone/tinyfirewall: corrected ref($in) =~ /gtk/
+
+2001-10-30 20:10 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: use isa rather than ref to test
+ if we're gtk
+
+2001-10-30 18:50 sdupont
+
+ * perl-install/standalone/drakfont: sone updates and corrections.
+
+2001-10-30 18:00 Dam's
+
+ * perl-install/standalone/drakautoinst: updated
+
+2001-10-30 00:50 Guillaume Cottenceau
+
+ * make_boot_img: better patching of /etc/pcmcia/config (through a
+ prog not a patch)
+
+2001-10-30 00:16 sdupont
+
+ * perl-install/standalone/drakfont: Copyright (C)
+
+2001-10-30 00:11 sdupont
+
+ * perl-install/standalone/drakfont: correction of warning & code
+ cleaning.
+
+2001-10-30 00:06 Guillaume Cottenceau
+
+ * perl-install/modules.pm: here too
+
+2001-10-30 00:06 Guillaume Cottenceau
+
+ * perl-install/modules.pm: CDCEther looks good, I add it
+
+2001-10-29 23:19 Guillaume Cottenceau
+
+ * perl-install/: bootloader.pm, fs.pm, fsedit.pm, loopback.pm:
+ revert back to /initrd
+
+2001-10-29 23:17 Pixel <pixel at mandriva.com>
+
+ * tools/pcmcia_config.patch: adapt for new pcmcia-cs
+
+2001-10-29 18:38 sdupont
+
+ * perl-install/standalone/drakfont: the end.... i think...
+
+2001-10-29 16:35 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.ia64: - Add xfs_repair and efibootmgr
+
+2001-10-29 15:14 sdupont
+
+ * perl-install/standalone/drakfont: updated
+
+2001-10-29 14:01 Dam's
+
+ * perl-install/standalone/drakfont: code correction
+
+2001-10-29 13:35 sdupont
+
+ * perl-install/standalone/drakfont: uninstall interface & progress
+ bar
+
+2001-10-29 01:41 sdupont
+
+ * perl-install/standalone/drakfont: uninstall interface : lists &
+ progress bar new progress bar update todo: second list
+
+2001-10-28 18:33 Dam's
+
+ * perl-install/standalone/drakfont: cleaning
+
+2001-10-27 17:39 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/devices.pm: return value at end of module
+
+2001-10-27 17:35 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/: my_gtk.pm, Xconfig.pm: return value at end of
+ module
+
+2001-10-27 17:29 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: - increase icewm weight.
+
+2001-10-26 19:24 sdupont
+
+ * perl-install/standalone/drakfont: updated.
+
+2001-10-26 18:56 sdupont
+
+ * perl-install/standalone/drakfont: search correct progress bar
+ mode implementation.
+
+2001-10-26 15:45 Dam's
+
+ * perl-install/standalone/: drakautoinst, drakfont: progress bar
+ hack
+
+2001-10-26 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table_gpt.pm, partition_table_raw.pm: no
+ adjust start and end on GPT
+
+2001-10-26 14:42 sdupont
+
+ * perl-install/standalone/drakfont: updated
+
+2001-10-26 13:48 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: use the pcmcia patch from gi/tools, not
+ gi/mdk-stage1
+
+2001-10-26 13:48 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pcmcia_config.patch: was duplicated in gi/tools
+
+2001-10-26 13:09 sdupont
+
+ * perl-install/standalone/drakfont: fix some bugs & interface
+ progress implementation. TODO: progress before backend.
+ search if directory already exist before custom install.
+
+2001-10-26 01:20 sdupont
+
+ * perl-install/standalone/drakfont: merge differents versions.
+
+2001-10-25 22:16 Dam's
+
+ * perl-install/standalone/drakfont: code correction
+
+2001-10-25 18:15 sdupont
+
+ * perl-install/standalone/drakfont: file sector, list of fonts for
+ advanced install...
+
+2001-10-25 15:44 sdupont
+
+ * perl-install/standalone/drakfont: applications choice, license
+ widget, help widget.
+
+2001-10-25 13:59 Dam's
+
+ * perl-install/standalone/drakautoinst: simple variables handled,
+ code compression.
+
+2001-10-25 13:17 Dam's
+
+ * perl-install/standalone/drakautoinst: The new and shiny
+ drakautoinst is coming. P|-|34R
+
+2001-10-25 04:18 Dam's
+
+ * perl-install/standalone/drakautoinst: The new drakautoinst is
+ coming. P|-|34R
+
+2001-10-25 03:27 Dam's
+
+ * perl-install/pixmaps/mdk_logo.png: additional logo
+
+2001-10-25 00:34 Guillaume Cottenceau
+
+ * mdk-stage1/.cvsignore, mdk-stage1/Makefile,
+ mdk-stage1/frontend.h, mdk-stage1/newt-frontend.c,
+ mdk-stage1/rescue-gui.c, mdk-stage1/stdio-frontend.c,
+ rescue/Makefile, rescue/guessmounts, rescue/install_bootloader,
+ rescue/lsparts, rescue/make_rescue_img, rescue/tree/etc/issue,
+ rescue/tree/etc/rc.sysinit: - add a GUI to the rescue - provide
+ guessmounts with better efficiency and output, go to console, and
+ reboot - provide install_bootloader which runs lilo from /mnt
+ if it seems safe - add lsparts to rescue, which prints partitions
+ with detected types
+
+2001-10-24 23:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, fs.pm, fsedit.pm, loopback.pm:
+ replace /initrd with /lib/initrd
+
+2001-10-24 20:11 Dam's
+
+ * perl-install/standalone/drakfont: updated
+
+2001-10-24 19:44 Dam's
+
+ * perl-install/my_gtk.pm: added set_editable
+
+2001-10-24 19:44 Dam's
+
+ * perl-install/standalone/drakfont: updated
+
+2001-10-24 19:43 Guillaume Cottenceau
+
+ * update_kernel: all needs pcmcia core modules
+
+2001-10-24 19:38 Dam's
+
+ * perl-install/standalone/drakfont: updated, lot of bugs.
+
+2001-10-24 18:53 sdupont
+
+ * perl-install/standalone/drakfont: scroll `
+
+2001-10-24 17:09 Dam's
+
+ * perl-install/standalone/drakfont: updated
+
+2001-10-24 16:12 sdupont
+
+ * perl-install/standalone/drakfont: import_status & progress.
+
+2001-10-24 16:02 sdupont
+
+ * perl-install/standalone/drakfont: gi update.
+
+2001-10-24 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_bsd.pm,
+ partition_table_gpt.pm, partition_table_raw.pm: add methods
+ first_usable_sector and last_usable_sector
+
+2001-10-24 14:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (hds): in case of GPT, allow ext2 to be
+ replaced by any kind of partitions (esp. EFI)
+
+2001-10-23 20:10 sdupont
+
+ * perl-install/standalone/drakfont: gi update
+
+2001-10-23 17:25 sdupont
+
+ * perl-install/standalone/drakfont: doc and progress bar.
+
+2001-10-23 16:23 Yves Duret
+
+ * perl-install/share/po/fr.po: fixed fohtes grammar
+
+2001-10-23 14:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/services.pm: tagged as translatable some left out
+ strigns
+
+2001-10-23 12:35 sdupont
+
+ * perl-install/standalone/drakfont: gui: install from directory
+
+2001-10-23 12:02 sdupont
+
+ * perl-install/standalone/drakfont: gui supported.
+
+2001-10-22 19:17 Dam's
+
+ * perl-install/network/tools.pm: speedtouch config : added usa vpi
+ vci
+
+2001-10-22 16:45 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: oops forgot to umount after
+ "updatemodules"...
+
+2001-10-22 13:20 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/profile: fix PATH (have /mnt/bin /mnt/usr/bin
+ ...)
+
+2001-10-21 17:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed connection device setting for
+ "oki4w" driver.
+
+2001-10-19 22:30 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: small fix
+
+2001-10-19 19:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_raw.pm: (adjustEnd): in case the end
+ is totalsectors, don't adjust since totalsectors / cylinder_size
+ may not be an integer
+
+2001-10-19 19:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: - Use /dev/random through
+ devices::make() instead of /dev/urandom - Localize file
+ descriptor - Capitalize error message if no /dev/random found
+
+2001-10-19 19:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: cleanup
+
+2001-10-19 18:53 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: - s/Win98 FAT32/FAT32/ -
+ s/Partition that contains an EFI file system/EFI (FAT-12/16/32)/
+ - Add "FAT32" to @important_types for IA-64 & /boot/efi
+
+2001-10-19 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: handle empty $hd->{primary}{raw}
+ (happens with no partitions on ia64)
+
+2001-10-19 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: fix ending is last sector,
+ not next one
+
+2001-10-19 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: add TODO for partition entry
+ guid
+
+2001-10-19 13:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_gpt.pm: - writing partition table
+ now works - creating a new partition table now works (except
+ GUIDs generation)
+
+2001-10-19 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: OOize can_raw_add
+
+2001-10-19 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: - raw_add, can_raw_add moved to
+ partition_table_raw - using raw_removed
+
+2001-10-19 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_raw.pm: (zero_MBR): defaults to GPT
+ on ia64 (raw_add, can_raw_add, raw_removed): created, can now be
+ overloaded in partition_table_*.pm's (get_geometry): keep the
+ total_sectors as given by c::total_sectors, don't try to
+ recompute it based on nb_cylinders (for hds where total_sectors
+ is not a multiple of nb_cylinders)
+
+2001-10-19 13:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_dos.pm: better handling of CHS
+ overflow (mainly for non cylinder-boundary aligned part (like
+ ia64))
+
+2001-10-19 01:07 sdupont
+
+ * perl-install/standalone/drakfont: change Fontmap ghostscript
+ file.
+
+2001-10-19 01:05 sdupont
+
+ * perl-install/standalone/drakfont: drakfont support now .gsf fonts
+
+2001-10-19 00:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, partition_table_gpt.pm: - add checksum
+ verif on partition entries - detect the type of partition since
+ the partition table types seem quite poor
+
+2001-10-18 23:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_gpt.pm: read
+ part of GPT partition table working
+
+2001-10-18 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: safer modprobe ide-floppy
+
+2001-10-18 21:04 Dam's
+
+ * perl-install/network/tools.pm: corrected GET_FL and co
+
+2001-10-18 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: shorter GPT name
+
+2001-10-18 17:12 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fix ia64 glitches with
+ /usr/X11R6/lib/X11/Cards (now use rgb.txt instead).
+
+2001-10-18 14:50 sdupont
+
+ * perl-install/standalone/drakfont: end of backend......
+
+2001-10-18 13:01 sdupont
+
+ * perl-install/standalone/drakfont: update
+
+2001-10-17 20:34 sdupont
+
+ * perl-install/standalone/drakfont: implementation of type1 fonts
+ removing.
+
+2001-10-17 18:16 sdupont
+
+ * perl-install/standalone/drakfont: ghostscript, xfs and staroffice
+ tested and supported.
+
+2001-10-17 12:59 Dam's
+
+ * perl-install/standalone/draksec: typo
+
+2001-10-17 00:03 Guillaume Cottenceau
+
+ * rescue/tree/etc/rc.sysinit: better phrasing
+
+2001-10-16 14:53 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: print checks
+
+2001-10-16 14:44 Dam's
+
+ * perl-install/standalone/interactive_http/Makefile: makes rpmlint
+ happy
+
+2001-10-16 13:44 Dam's
+
+ * perl-install/standalone/draksec: correct bad level display
+
+2001-10-16 03:21 Stew Benedict <sbenedict at mandriva.com>
+
+ * update_kernel, mdk-stage1/pci-resource/update-pci-ids.pl,
+ rescue/devices.pl, rescue/list.ppc: typo in update kernel by /me
+ fine-tune sanity_check for ppc move /dev/nvram from list.ppc to
+ devices.pl
+
+2001-10-15 16:48 Yves Duret
+
+ * perl-install/scanner.pm: wonderful perl forgotten
+
+2001-10-15 06:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-10-12 19:20 sdupont
+
+ * perl-install/standalone/drakfont: support all installations, and
+ support xfs, ghostcript, staroffice. todo aplli: openoffice,
+ gimp, abiword, netscape & other browsers... todo or to see:
+ --strong ttmkfdir -c ???
+
+2001-10-12 15:02 sdupont
+
+ * perl-install/standalone/drakfont: emd of backend..
+
+2001-10-12 12:43 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: have "other.img"
+ drivers also supported
+
+2001-10-11 19:23 sdupont
+
+ * perl-install/standalone/drakfont: improved....
+
+2001-10-11 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: ensure postInstallNonRooted is done
+ *before* ejecting cdrom
+
+2001-10-11 17:31 Guillaume Cottenceau
+
+ * perl-install/: install_steps_stdio.pm, interactive_stdio.pm:
+ stdio mode works again
+
+2001-10-11 16:56 Dam's
+
+ * perl-install/network/tools.pm: aded use c
+
+2001-10-11 16:27 sdupont
+
+ * perl-install/standalone/drakfont: improved && implement remove
+ fonts for xfs
+
+2001-10-11 16:25 Dam's
+
+ * perl-install/standalone/draknet: multiple card configuration bug
+ corrected. allelluia.
+
+2001-10-11 16:22 sdupont
+
+ * perl-install/standalone/drakfont: improved
+
+2001-10-11 16:06 sdupont
+
+ * perl-install/standalone/drakfont: improved
+
+2001-10-11 15:26 sdupont
+
+ * perl-install/standalone/drakfont: optimisation
+
+2001-10-11 14:45 sdupont
+
+ * docs/drakfont/: drakfont.jpg, drakfont_install.jpg,
+ drakfont_uninstall.jpg, mandrake.ps: jpg & ps with -kb option
+
+2001-10-11 14:43 sdupont
+
+ * docs/drakfont/: drakfont.jpg, drakfont_install.jpg,
+ drakfont_uninstall.jpg, mandrake.ps: clean...2
+
+2001-10-11 14:41 sdupont
+
+ * docs/drakfont/: drakfont.dvi, drakfont.log, drakfont.pdf: clean
+ directory..
+
+2001-10-11 14:38 sdupont
+
+ * docs/drakfont/: drakfont.aux, dia_srcs/drakfont.dia,
+ dia_srcs/drakfont_install.dia, dia_srcs/drakfont_uninstall.dia:
+ delete all bads files...
+
+2001-10-11 14:30 Dam's
+
+ * perl-install/standalone/drakfont: code review
+
+2001-10-11 14:01 sdupont
+
+ * perl-install/standalone/drakfont: correction of option install
+ --replace
+
+2001-10-11 12:39 sdupont
+
+ * perl-install/standalone/drakfont: dialog of install options
+
+2001-10-11 12:36 sdupont
+
+ * perl-install/standalone/drakfont: correction of install option.
+
+2001-10-11 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: normalize the default type entry
+ ("entry")
+
+2001-10-11 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: fix typo (on clicked_may_quit)
+
+2001-10-10 19:03 sdupont
+
+ * perl-install/standalone/drakfont: option replace for "install
+ from" & windows_import...
+
+2001-10-10 18:11 Dam's
+
+ * perl-install/network/tools.pm: updated
+
+2001-10-10 18:09 Dam's
+
+ * perl-install/standalone/drakfont: typo
+
+2001-10-10 18:00 Dam's
+
+ * perl-install/standalone/net_monitor: ergo and features
+ improvments, pipe handling correction
+
+2001-10-10 17:59 sdupont
+
+ * docs/drakfont/: Makefile, drakfont.aux, drakfont.dvi,
+ drakfont.jpg, drakfont.log, drakfont.pdf, drakfont.tex,
+ drakfont_install.jpg, drakfont_uninstall.jpg, mandrake.ps: docs
+ drakfont
+
+2001-10-10 17:30 Dam's
+
+ * perl-install/standalone/drakfont: improved options handling
+
+2001-10-10 17:14 sdupont
+
+ * perl-install/standalone/drakfont: update install dir
+
+2001-10-10 16:40 sdupont
+
+ * perl-install/standalone/drakfont: better for --install
+
+2001-10-10 16:06 sdupont
+
+ * perl-install/standalone/drakfont: new version of drakfont. in
+ perl langage.
+
+2001-10-10 14:48 Yves Duret
+
+ * perl-install/Makefile.config: added scannerdrake
+
+2001-10-10 14:45 Yves Duret
+
+ * perl-install/standalone/scannerdrake: first apparition on earth..
+
+2001-10-10 11:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/locales-skeleton.tar.bz2: enabled
+ Maltese language
+
+2001-10-09 22:01 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, Xconfigurator_consts.pm,
+ keyboard.pm: move to Linux keycodes on PPC, add additional Apple
+ modelines
+
+2001-10-09 15:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, install2.pm, modules.pm: ensure
+ floppies() takes care of usb-storage if possible, so that patch
+ on usb floppy works
+
+2001-10-09 15:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, partition_table_raw.pm: fix
+ detecting read-only drives (like memory-sticks)
+
+2001-10-09 15:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2001-10-09 15:08 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: re-enable PPC
+ bootloader setup
+
+2001-10-09 14:01 Dam's
+
+ * perl-install/pixmaps/net_u.png: new pixmap for
+ draknet/net_monitor
+
+2001-10-09 14:00 Dam's
+
+ * perl-install/network/tools.pm: removed trash
+
+2001-10-09 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_raw.pm: make
+ perl_checker happy
+
+2001-10-09 13:15 Dam's
+
+ * perl-install/: network/tools.pm, standalone/draknet,
+ standalone/net_monitor: connection test is now in background,
+ corrects the interface freeze problem
+
+2001-10-08 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: modules.pm, partition_table.pm: yet a few other
+ ataraid cases
+
+2001-10-08 17:32 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: ia64
+
+2001-10-08 17:08 Dam's
+
+ * perl-install/c/stuff.xs.pm: added FL_GET and FL_SET
+
+2001-10-08 16:08 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: 8.1 -> cooker
+
+2001-10-08 14:48 Fançois Pons
+
+ * rescue/tree/etc/oem: added silly modification to avoid using more
+ than 7 partition for DAC960 (/home and /var are not created in
+ the current state).
+
+2001-10-08 13:57 Fançois Pons
+
+ * perl-install/modules.pm: keep isp and gdth module for hd.img (as
+ well as all.rdz) as they have been removed from the skip list for
+ stage1.
+
+2001-10-06 02:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: partition_table.pm, partition_table_raw.pm:
+ updates to accomodate IBM PPC systems with DOS partition table
+
+2001-10-05 17:18 Fançois Pons
+
+ * rescue/tree/etc/oem: added (missing) creation of
+ /hd/boot/grub/device.map (needed for CompactSmartArray).
+
+2001-10-05 11:18 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: kdegames : 2 -> 4
+
+2001-10-04 23:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_dos.pm: is little-endian, so use "V"
+ instead of "I"
+
+2001-10-04 16:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2001-10-04 16:28 Fançois Pons
+
+ * rescue/tree/etc/oem: fix (work around) parted problem when it
+ refuse to use all disk space for partition.
+
+2001-10-04 14:27 Fançois Pons
+
+ * rescue/tree/etc/oem: added another psacct log file in touch.
+
+2001-10-04 11:50 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed typo on scalar reference for psacct
+ bug.
+
+2001-10-04 11:10 Fançois Pons
+
+ * rescue/tree/etc/oem, tools/oem-prepare: updated with 8.1 OEM
+ ProSuite.
+
+2001-10-03 18:10 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed typo in produced patch.
+
+2001-10-03 17:43 Fançois Pons
+
+ * tools/oem-prepare: synced with oem script.
+
+2001-10-03 17:43 Fançois Pons
+
+ * rescue/tree/etc/oem: added extension to pro suite CD (added
+ kernel-enterprise to possibly installable and install kernel22).
+
+2001-10-03 14:09 Fançois Pons
+
+ * tools/oem-prepare, rescue/tree/etc/oem: removed 3D games not
+ installed by default.
+
+2001-10-03 14:00 Fançois Pons
+
+ * rescue/tree/etc/oem: added missing xmms-arts.
+
+2001-10-03 13:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: yet another ataraid support patch
+
+2001-10-03 11:51 Fançois Pons
+
+ * rescue/tree/etc/oem: allow halting.
+
+2001-10-02 18:53 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix previous hack.
+
+2001-10-02 17:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: bloody ataraid detection
+
+2001-10-02 17:11 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added hack to do "/sbin/depmod -a"
+ for NVIDIA driver.
+
+2001-10-02 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: ataraid devices support
+
+2001-10-02 12:41 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: small fix
+
+2001-10-02 12:28 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: don't call pkgs_install when no
+ package needs to be installed
+
+2001-10-02 12:26 Guillaume Cottenceau
+
+ * mdk-stage1/usb-resource/update-usb-ids.pl: better look
+
+2001-10-02 12:26 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: new pci-ids.h
+
+2001-10-01 22:34 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: reword it so that it
+ reflects what's in the marfiles
+
+2001-10-01 19:45 Fançois Pons
+
+ * perl-install/install_any.pm: use $boot_medium for default medium
+ in oem install, avoid using kernel22 or kernel-enterprise in oem
+ install (space available is too tight on CD oem version).
+
+2001-10-01 19:44 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: avoid asking for changing CD
+ on oem install.
+
+2001-10-01 19:43 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid chooseCD on oem
+ install.
+
+2001-10-01 19:42 Fançois Pons
+
+ * tools/oem-prepare: synced with oem script.
+
+2001-10-01 19:41 Fançois Pons
+
+ * rescue/tree/etc/oem: added CHARSET support, removed kernel22 and
+ kernel-enterprise from list of package installable in oem mode,
+ added possibility to set language on /etc/oem script invocation.
+
+2001-10-01 17:41 Fançois Pons
+
+ * perl-install/share/rpmsrate: fixed bad format for BOOKS used in
+ DEVELOPMENT.
+
+2001-10-01 13:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: updated Bulgarian file
+
+2001-09-30 00:37 Chmouel Boudjnah
+
+ * update_kernel, docs/README: New adress where to find the kernel
+ BOOT
+
+2001-09-29 03:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-09-27 18:00 Guillaume Cottenceau
+
+ * rescue/drvinst: don't install usb keyboard drivers more than once
+
+2001-09-27 17:57 Guillaume Cottenceau
+
+ * rescue/drvinst: try to fix usb keyboards
+
+2001-09-27 07:33 kjx
+
+ * perl-install/share/po/zh_CN.po: translating
+
+2001-09-26 18:02 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/: partition_table.pm, share/list.ia64: -
+ partition_table.pm: Add XFS suggestion for IA-64 -
+ share/list.ia64: misc updates and additions wrt. XFS, ReiserFS
+
+2001-09-26 15:04 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * rescue/list.ia64: - Add file list for "rescue" disk
+
+2001-09-26 15:03 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: - make_boot_img (boot_img_ia64): add "rescue" boot
+ entry
+
+2001-09-26 10:27 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: - bootloader.pm (suggest): don't
+ search for dos (or windows) boot partition on IA-64 since ELILO
+ can only boot Linux. - bootloader.pm (write_lilo_conf): don't
+ cry if we don't have /boot/boot.b or boot/message on IA-64.
+
+2001-09-26 10:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_any.pm: - Suggest /boot/efi on IA-64 for the
+ first VFAT partition found, instead of /mnt/windows
+
+2001-09-25 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (naughtyServers): cleanup comments
+
+2001-09-25 18:03 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/partition_table.pm: - Add ReiserFS and Ext3fs
+ entries for IA-64
+
+2001-09-25 17:19 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: s/Linux Mandrake/Mandrake Linux/
+
+2001-09-25 17:15 David Baudens <baudens at mandriva.com>
+
+ * perl-install/share/po/fr.po: Remove totally crazy translation.
+
+ Translators, please use your brain!
+
+2001-09-25 13:09 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: put gtk-themes _and_ sawfish-themes
+ to 4 so that it is installed for newbie and drakfirsttime does
+ not fail.
+
+2001-09-25 12:11 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: put gtk-themes to 4 so that it is
+ installed for newbie and drakfirsttime does not fail.
+
+2001-09-25 11:14 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: allow non ejectable
+ medium to allow all hdlists on the bootable medium.
+
+2001-09-25 10:26 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make current boot
+ medium already selected if multiple hdlist are on this boot
+ medium.
+
+2001-09-25 00:39 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, mount.c, mount.h, stage1.c: hd.img now
+ detects partition types... backport from DrakX :-)
+
+2001-09-24 23:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2001-09-24 20:46 Dam's
+
+ * perl-install/share/po/fr.po: corrected translation
+
+2001-09-24 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount_part): fix for iso loopback mounted
+
+2001-09-24 18:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix
+
+2001-09-24 18:40 Dam's
+
+ * perl-install/share/po/fr.po: corrected bad translation
+
+2001-09-24 18:30 Guillaume Cottenceau
+
+ * perl-install/bootloader.pm: fix add_append (there was a ) at the
+ end of the parameter value)
+
+2001-09-24 17:36 Dam's
+
+ * perl-install/network/: adsl.pm, isdn.pm: type assignation bug fix
+
+2001-09-24 17:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, ko.po, tr.po: updated Spanish,
+ Korean and Turkish files
+
+2001-09-24 17:10 Dam's
+
+ * perl-install/: network/adsl.pm, network/isdn.pm,
+ standalone/draknet: corrected type assignation
+
+2001-09-24 17:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower arkeia
+
+2001-09-24 16:31 Dam's
+
+ * perl-install/modules.pm: corrected isdn firmware
+
+2001-09-24 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: do not propose to mount/umount
+ removable medias (disabled for now)
+
+2001-09-24 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: hide the supermount
+ checkbox in standalone
+
+2001-09-24 16:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix small error merging existing fstab
+
+2001-09-24 14:54 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-09-24 14:25 Dam's
+
+ * perl-install/install_any.pm, rescue/tree/etc/oem: added
+ isdn-light to be copied on hd during install
+
+2001-09-24 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: - disable supermount by default -
+ cleanup nsswitch.conf wins removing
+
+2001-09-24 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: add "iocharset=" for cdrom
+
+2001-09-24 14:00 Fançois Pons
+
+ * perl-install/share/rpmsrate: allow rpm build for non expert who
+ choose development.
+
+2001-09-24 13:39 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: deactivated Riva128 3D hw
+ acceleration and too many problems reported with it.
+
+2001-09-24 13:28 Fançois Pons
+
+ * perl-install/install_steps.pm: disable wins in /etc/nsswitch.conf
+ (after installed packages).
+
+2001-09-24 12:47 Dam's
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: bug fix
+
+2001-09-24 11:43 Fançois Pons
+
+ * perl-install/share/rpmsrate: removed any reference to
+ XFree86-glide-module or Glide_XXX packages.
+
+2001-09-24 11:06 Fançois Pons
+
+ * perl-install/pkgs.pm: sort mediums by number, in allMediums()
+ else they will be in hash keys orders in
+ install_steps_interactive::chooseCD().
+
+2001-09-24 02:16 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: File permission settings during install
+ were not done. Fixed.
+
+2001-09-23 21:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: simplify (for the moment)
+
+2001-09-23 21:41 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: misc typo correction
+
+2001-09-23 21:38 Guillaume Cottenceau
+
+ * perl-install/install_steps.pm: voodoo cards don't like performing
+ 3d accel in fb mode
+
+2001-09-23 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: add "Graphical Environment" in
+ meta_class server
+
+2001-09-23 20:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, share/compssUsers, share/rpmsrate:
+ do not force X flag, have it selected for any "Graphical
+ Environment"
+
+2001-09-23 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: allow bootloader on fat partitions
+
+2001-09-23 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: add magic SWAPSPACE2
+
+2001-09-23 18:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2001-09-23 02:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, hu.po: updated Czech and Hungarian
+ file
+
+2001-09-22 21:52 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: version is 8.1
+
+2001-09-22 20:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po: updated Bosnian file
+
+2001-09-22 20:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install2.pm: - cleanup noatime option
+ setting - cleanup exec option setting (must noexec => 0 instead
+ of exec => 1)
+
+2001-09-22 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): fix kernel 2.2 secure
+ adding in menu
+
+2001-09-22 16:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: updated Bulgarian file
+
+2001-09-22 16:18 Guillaume Cottenceau
+
+ * make_boot_img: add "prompt" and "timeout" params to isolinux so
+ that we can choose an alternate boot method
+
+2001-09-22 14:49 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added support for
+ automatic /dev/... file permissions setting by devfsd.
+
+2001-09-22 04:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Improved matching of auto-detection
+ results with database entries. Given hint to the user to select
+ the correct model when matching fails.
+
+2001-09-22 01:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated Korean file
+
+2001-09-22 01:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: use "us" XKB file for Korean keyboard,
+ otherwise some functionality is lost
+
+2001-09-22 00:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: small fix for "vn" keyboard (enable
+ toggle key)
+
+2001-09-21 21:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: When one changes the
+ driver of a freshly added printer, the cursor was not pointed to
+ the old driver, fixed. Fixed paper size not set according to
+ chosen language during installation.
+
+2001-09-21 20:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ bs.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po,
+ ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ru.po,
+ sk.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po: updated pot file
+
+2001-09-21 20:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printerdrake.pm: small fix
+
+2001-09-21 19:27 Fançois Pons
+
+ * perl-install/detect_devices.pm: avoid detecting plip for live
+ upgrade.
+
+2001-09-21 18:50 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: S3 ViRGE is a bad card for testing
+ on live upgrade.
+
+2001-09-21 17:58 Dam's
+
+ * perl-install/network/adsl.pm: typo
+
+2001-09-21 17:26 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Added a forgotten "_( ... )".
+
+2001-09-21 17:06 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid keeping testing
+ code.
+
+2001-09-21 17:04 Fançois Pons
+
+ * perl-install/: install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm: reworked medium
+ management.
+
+2001-09-21 16:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ bs.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po,
+ ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ru.po,
+ sk.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: updated pot file
+
+2001-09-21 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, share/rpmsrate: add HIGH_SECURITY
+ flag, use it for libsafe and kernel22-secure
+
+2001-09-21 14:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printerdrake.pm: changed text strings to be more
+ translator friendly (NEVER EVER cut a phrase)
+
+2001-09-21 14:38 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add gnomemeeting and openmcu
+
+2001-09-21 13:59 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: moved com_license to parent
+ package (as code that show the license is now available even for
+ non gtk install).
+
+2001-09-21 13:58 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added code to support
+ changeable cdrom, set a unique copy of license for installing
+ commercial application as package variable (exported).
+
+2001-09-21 13:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: write password in lilo.conf even if
+ it's also done by msec, otherwise lilo will fail with restricted
+ only
+
+2001-09-21 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: Ensure $o->{superuser}{name} is
+ temporary
+
+2001-09-21 12:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, no.po: updated Norwegian and
+ Hungarian files
+
+2001-09-21 12:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ru.po, vi.po, zh_CN.po: corrected extra
+ \n
+
+2001-09-21 10:26 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/po/no.po: remove trailing '\n'
+
+2001-09-21 09:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ bs.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, gl.po, help_xml2pm.pl, hr.po, hu.po, id.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ru.po, sk.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po,
+ vi.po, wa.po, zh_CN.po, zh_TW.po: updated pot file
+
+2001-09-21 07:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2001-09-21 06:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: adapted keyboard priority numbers (it
+ is useless to give a multichoice with a value higher than 90)
+
+2001-09-21 00:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: (partition_with_diskdrake):
+ ensure the $::expert flag modifications in diskdrake do not
+ escape from diskdrake
+
+2001-09-21 00:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (choosePartitionsToFormat): do not propose check bad blocks for
+ xfs and jfs
+
+2001-09-20 22:33 Dam's
+
+ * perl-install/network/adsl.pm: test if microcode is there
+
+2001-09-20 22:22 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed flow of the program for the
+ "recommended" mode of the installation.
+
+2001-09-20 22:20 Dam's
+
+ * perl-install/bootlook.pm: removed blocking die
+
+2001-09-20 22:16 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add gnome-user-docs to GNOME install
+
+2001-09-20 21:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2001-09-20 20:47 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install Mdk eazel engine for gnome
+
+2001-09-20 18:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2001-09-20 17:52 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: misc
+
+2001-09-20 17:47 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added VideoRam for ET 6x00 card.
+
+2001-09-20 17:09 Dam's
+
+ * perl-install/network/netconnect.pm: don't reapply the conf, if
+ already applied. usefull for dhcp, because the network should be
+ restarted after configured
+
+2001-09-20 16:47 Fançois Pons
+
+ * perl-install/network/netconnect.pm: tried to fix damien sucking.
+
+2001-09-20 16:14 Fançois Pons
+
+ * perl-install/pkgs.pm: take care not probing in /dev/ for finding
+ package to upgrade, this cause problem in live_upgrade.
+
+2001-09-20 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (hds): do a get_major_minor where needed
+
+2001-09-20 16:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, nl.po, zh_TW.po: updated Danish,
+ Chinese and Dutch files
+
+2001-09-20 15:55 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: add changedisk parameter for isolinux
+
+2001-09-20 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: raise i18n fonts
+
+2001-09-20 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: replace xcin by chinput as per Alex request
+
+2001-09-20 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/printerdrake.pm: back out the modif from till as
+ asked by till
+
+2001-09-20 14:02 Dam's
+
+ * perl-install/standalone/net_monitor: less gethostbyname
+
+2001-09-20 14:02 Dam's
+
+ * perl-install/mouse.pm: text positionning
+
+2001-09-20 13:43 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Make it possible to configure more
+ than 1 printer in a "recommended" mode installation.
+
+2001-09-20 13:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: s/telnet-server/telnet-server-krb5/
+
+2001-09-20 13:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (add2all_hds): allow both "smbfs" and "smb"
+ as fs type
+
+2001-09-20 00:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: no.po, pl.po, pt.po, pt_BR.po, ru.po,
+ sk.po, sp.po, sr.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-09-19 22:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, el.po, eo.po, et.po, eu.po, fi.po,
+ gl.po, hr.po, id.po, it.po, ja.po, ko.po, lt.po, lv.po: updated
+ pot file
+
+2001-09-19 22:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, az.po, be.po, bg.po, bs.po, ca.po,
+ da.po, hu.po, nl.po, sv.po, wa.po: updated pot file
+
+2001-09-19 21:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2001-09-19 21:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, de.po, es.po, fr.po, it.po:
+ updated help xml
+
+2001-09-19 20:58 Pixel <pixel at mandriva.com>
+
+ * .cvsignore, Makefile, make_boot_img: add isolinux stuff
+ generation
+
+2001-09-19 20:06 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: chromium and tuxracer don't work
+ well with Riva
+
+2001-09-19 19:45 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, netconnect.pm:
+ network restart at better place
+
+2001-09-19 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_gtk.pm: initial support
+ for server install
+
+2001-09-19 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/loopback.pm: (create): don't use seek to create big
+ files otherwise you get hole and swapon doesn't like it
+
+2001-09-19 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/printerdrake.pm: help perl_checker
+
+2001-09-19 18:04 Fançois Pons
+
+ * perl-install/pkgs.pm: added code to check if package are really
+ installed.
+
+2001-09-19 17:00 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: Rage 128 doesn't like XF3 at all.
+
+2001-09-19 16:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Removed a forgotten debug help line
+ from the code.
+
+2001-09-19 16:15 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: make only bad card Riva128 for
+ testing XF4.
+
+2001-09-19 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, lang.pm: compatibility with older
+ $o->{lang} names (for auto_installs)
+
+2001-09-19 15:52 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed typo in dialog text of
+ high/paranoid security.
+
+2001-09-19 15:49 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix french mistakes
+
+2001-09-19 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm, share/rpmsrate: - gmc
+ instead of nautilus for non-latin1 installs - introduce CHARSET
+ flag and use it
+
+2001-09-19 15:25 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: Riva128 is now a bad card.
+
+2001-09-19 13:58 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: raklet quoting
+
+2001-09-19 13:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): default icon "man"
+
+2001-09-19 09:54 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add mdk-eazel-engine
+
+2001-09-19 03:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Network is now only
+ required (and checked) for remote printers. Several buglets
+ fixed in remote CUPS server dialog.
+
+2001-09-19 00:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: tentative to
+ correct install time for big installs
+
+2001-09-18 23:17 Dam's
+
+ * perl-install/network/netconnect.pm: don't ask to connect if lan
+ or dhcp
+
+2001-09-18 23:10 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: misc
+
+2001-09-18 23:09 Guillaume Cottenceau
+
+ * perl-install/install2.pm: don't create bootdisk by default
+
+2001-09-18 23:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (write_passwd_user): fix setting "pw" field
+ (for auto_installs)
+
+2001-09-18 22:36 Dam's
+
+ * perl-install/standalone/drakgw: debug
+
+2001-09-18 20:54 Dam's
+
+ * perl-install/: my_gtk.pm, network/adsl.pm: corrected Speedtouch
+ -> speedtouch
+
+2001-09-18 19:41 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: now finally really
+ fixed printer label in summary dialog.
+
+2001-09-18 19:35 Guillaume Cottenceau
+
+ * perl-install/standalone/drakautoinst: have "manual" and "replay"
+ translated
+
+2001-09-18 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, share/gen_locales.sh,
+ share/locales-skeleton.tar.bz2: - remove ISO-8859-5, KOI8-R and
+ KOI8-U - cleanup packdrake extracting locales - cleanup/fixes
+ lang.pm
+
+2001-09-18 19:09 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed printer
+ description in summary (again).
+
+2001-09-18 18:42 Fançois Pons
+
+ * perl-install/commands.pm: make lspci a full pci probe instead of
+ safe pci probe.
+
+2001-09-18 18:41 Fançois Pons
+
+ * perl-install/detect_devices.pm: added back full pci probe for
+ stage2 command lspci.
+
+2001-09-18 18:28 Fançois Pons
+
+ * perl-install/detect_devices.pm: removed full pci probe for
+ stringlist (used for generating report_bug).
+
+2001-09-18 18:21 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * tools/ia64/elilo.efi: - elilo 3.1
+
+2001-09-18 18:19 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: - Force XFree 4 on IA-64. No XFree
+ 3.3.X there...
+
+2001-09-18 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: fix setting kdmrc for latin1
+
+2001-09-18 16:43 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed no printer
+ displayed (at least, print Remote CUPS server).
+
+2001-09-18 13:23 Fançois Pons
+
+ * rescue/tree/etc/oem: added X group with SYSTEM.
+
+2001-09-18 10:44 Fançois Pons
+
+ * rescue/tree/etc/oem: finally work arounded rpm bug by flepied.
+
+2001-09-18 05:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, nl.po: updated Dutch and Hungarian
+ files
+
+2001-09-17 22:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm: - '--' to separate options for
+ supermount + small workaround (ro and exec before --) - fix nfs
+ in manualFstab (for auto_installs, reported by David Eastcott)
+
+2001-09-17 22:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed bug of
+ /etc/foomatic/defaultspooler not been written in expert install.
+
+2001-09-17 21:24 Fançois Pons
+
+ * rescue/tree/etc/oem: updated for 8.1, contains workaround for bug
+ of "rpm --root" but need more testing.
+
+2001-09-17 21:23 Fançois Pons
+
+ * rescue/list: updated for rpm 4.0.3.
+
+2001-09-17 21:23 Fançois Pons
+
+ * perl-install/standalone/XFdrake: removed comment.
+
+2001-09-17 21:22 Fançois Pons
+
+ * perl-install/standalone/XFdrake: added support to configure
+ NVIDIA driver if everything is correctly installed.
+
+2001-09-17 20:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: Added choice of
+ "English|Ireland (euro)" so people wanting English language but
+ also euro symbol can choose it.
+
+2001-09-17 19:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed Belgian keyboard
+
+2001-09-17 18:50 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: /etc/foomatic/defaultspooler was
+ not written in expert mode installation.
+
+2001-09-17 18:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Do not die when "chkconfig" fails
+ (needed for "security_check"). Added "-q" option to
+ foomatic-configure (should not get interactive).
+
+2001-09-17 17:59 Dam's
+
+ * perl-install/network/network.pm: no expert mode needed to choose
+ gateway
+
+2001-09-17 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (adjust_main_extended): do not
+ use linux extended
+
+2001-09-17 17:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added handling of
+ high and paranoid security levels.
+
+2001-09-17 17:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, fr.po, wa.po: updated Spanish and
+ Wallon files; corrected error syntax in French file
+
+2001-09-17 16:32 odin
+
+ * perl-install/share/po/fr.po: updated fr.po
+
+2001-09-17 15:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): do not hand update /etc/mtab for nfs
+ mounts, already done by mount(8)
+
+2001-09-17 15:27 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: deactivating bad card test (too).
+
+2001-09-17 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbug_report: fix
+
+2001-09-17 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (set_default_options): disable iocharset= and
+ codepage= for supermount
+
+2001-09-17 13:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (pci_probe): log full pci probes
+
+2001-09-17 13:42 Fançois Pons
+
+ * perl-install/printerdrake.pm: add eval around installing
+ lexmark-driver (proprietary).
+
+2001-09-17 09:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bs.po,
+ ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po, eu.po,
+ fi.po, fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ru.po, sk.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-09-17 08:48 Chmouel Boudjnah
+
+ * update_kernel: Adjust my patch for install_kernel.
+
+2001-09-17 08:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help file
+
+2001-09-17 01:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate): fix bug
+
+2001-09-17 00:53 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed bug which prevented from printing
+ the option list during install.
+
+2001-09-17 00:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed bug which prevents printerdrake
+ from running without PDQ installed.
+
+2001-09-16 22:54 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: use new mkdir_p, rm_rf and cp_af from
+ MDK::Common
+
+2001-09-16 22:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getAndSaveAutoInstallFloppy): skip
+ it on ia64
+
+2001-09-16 22:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, pkgs.pm: more up to my need ALL
+ flag in compssUsersChoice
+
+2001-09-16 22:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove auto-install special case
+ (initialisation of compssUsersChoice)
+
+2001-09-16 21:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm, share/rpmsrate: - cleanup packages
+ appearing twice in rpmsrate - handle a few case of packages
+ appearing twice - special case for packages appearing in INSTALL
+ section (flag dropped) - new special flag ALL for
+ compssUsersChoice
+
+2001-09-16 21:12 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: added "systemitem"
+
+2001-09-16 20:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, commands.pm, fs.pm,
+ install2.pm, install_any.pm, install_steps.pm, keyboard.pm,
+ lang.pm, loopback.pm, mouse.pm, pkgs.pm, printer.pm,
+ printerdrake.pm, raid.pm, services.pm, timezone.pm,
+ tinyfirewall.pm, network/adsl.pm, network/netconnect.pm: use new
+ mkdir_p, rm_rf and cp_af from MDK::Common
+
+2001-09-16 18:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: updated help.pm file
+
+2001-09-16 17:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hu.po: updated Hungarian file
+
+2001-09-16 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, fsedit.pm, lvm.pm:
+ enhance lvm handling (mostly standalone)
+
+2001-09-16 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (make): ensure it never returns a
+ non-absolute name (it happened with make("foo") when cwd=/dev and
+ /dev/foo existed)
+
+2001-09-16 17:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, az.po, be.po, bg.po, bs.po, ca.po,
+ cs.po, da.po, de.po, el.po, eo.po, es.po, et.po, eu.po, fi.po,
+ fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ru.po, sk.po, sp.po,
+ sr.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po, zh_TW.po:
+ updated pot file
+
+2001-09-16 16:38 Dam's
+
+ * perl-install/: mouse.pm, my_gtk.pm: bugfix + cosmetic changes
+
+2001-09-16 16:28 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/.cvsignore: added .*.sw? for vim users
+
+2001-09-16 16:26 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: added commet explainig that
+ help.pm is automatically generated.
+
+2001-09-16 15:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, sv.po: updated pot file
+
+2001-09-16 14:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: "please click on ..." for removable,
+ nfs, smb.
+
+2001-09-16 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/verify_c: add special case for c::to_utf8
+
+2001-09-16 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: - cleanup & enhance raid mdstat reading
+ (now works with or without devfs mounted) - chunk size is buggy?
+
+2001-09-16 05:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added possibility to
+ list command line options for the printers and to give the users
+ help for printing Fixed bug of sometimes appearing the wron
+ dialog after printing test pages
+
+2001-09-16 01:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix options appearing twice in fstab
+
+2001-09-16 01:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, c/stuff.pm: i18n kdmrc
+
+2001-09-16 00:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_mo): ensure the locale is set (was
+ broken in non-gtk installs)
+
+2001-09-16 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: (enteringStep): do
+ not translate in ja|ko|zh
+
+2001-09-15 22:21 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Added the PDQ panic
+ button.
+
+2001-09-15 20:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix typo
+
+2001-09-15 20:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): fix supermount moving from
+ options to fstype
+
+2001-09-15 20:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps_interactive.pm,
+ steps.pm: find error in /tmp/.error only if exception is "xxx
+ failed"
+
+2001-09-15 19:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: fix user icons choice
+
+2001-09-15 19:18 civileme
+
+ * perl-install/help.pm:
+ Added a dialog in English for users selecting a printing system
+ since no other OS seems to offer such a choice during install.
+
+2001-09-15 19:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Fixed bug of spooler choice
+ via command line options being ignored.
+
+2001-09-15 19:07 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Removed a superfluous "set_help"
+ line.
+
+2001-09-15 18:51 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/standalone/draksec: use " instead of ' to get i18n
+
+2001-09-15 18:13 Dam's
+
+ * perl-install/mouse.pm: readded darea realization
+
+2001-09-15 17:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Save default spooler at program
+ start, fixed typos in comments.
+
+2001-09-15 17:08 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add drakfirsttime
+
+2001-09-15 17:06 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Command line commands
+ as "lpr", "lpq", ... are mapped to the correct spooler now.
+
+2001-09-15 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: don't warn if modules are missing when
+ testing
+
+2001-09-15 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: makes cancel on mouse selection
+ works even better
+
+2001-09-15 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fake_c.pl: fix a tricky hack
+
+2001-09-15 16:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/adsl.pm: correct dams typo
+
+2001-09-15 16:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2001-09-15 16:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_lilo_conf): ensure linear and
+ lba32 are not both set
+
+2001-09-15 16:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: make gtk-themes installed when Gnome
+ is choosen
+
+2001-09-15 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix cancel on mouse
+ choice
+
+2001-09-15 15:53 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: add aewm-drakx
+
+2001-09-15 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: add aewm-drakx
+
+2001-09-15 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_gtk.pm, install_steps_gtk.pm: -
+ add and use aewm-drakx - add some "skip" title on help/logo/steps
+ windows so that aewm-drakx know they don't need keyboard focus -
+ add some more title to ease debugging (when aewm-drakx is in
+ debug mode)
+
+2001-09-15 15:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: do the set_events before the show
+ otherwise gtk go crazy (no more keyboard focus)
+
+2001-09-15 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: enable supermount again
+
+2001-09-15 11:20 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed another typo
+
+2001-09-15 11:01 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/printerdrake.pm: added missing _()
+
+2001-09-15 10:50 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new string
+
+2001-09-15 10:45 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/standalone/draknet: fixed missing _()
+
+2001-09-15 04:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hu.po, wa.po: updated Hungarian file
+
+2001-09-15 03:02 Dam's
+
+ * perl-install/standalone/draknet: better connection testing
+
+2001-09-15 03:01 Dam's
+
+ * perl-install/network/tools.pm: more timeout
+
+2001-09-15 03:00 Dam's
+
+ * perl-install/network/adsl.pm: avoid asking 2 times to restart the
+ ethernet card
+
+2001-09-15 02:05 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed bug of a waiting message
+ appearing together with a dialog Cleaned up variables to
+ correctly switch between CUPS/Foomatic/Raw type for a printer
+
+2001-09-15 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, partition_table_raw.pm: when
+ testing for bad drives, if opening for writing fails, remove the
+ drive from the hard drive list (useful for Smartmedia readers)
+
+2001-09-15 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: do not install Aurora in russian
+
+2001-09-15 01:25 Dam's
+
+ * perl-install/network/adsl.pm: debug
+
+2001-09-15 01:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-09-15 01:22 Dam's
+
+ * perl-install/my_gtk.pm: no icon if wizard
+
+2001-09-15 01:13 Dam's
+
+ * perl-install/mouse.pm: trying to remove draw
+
+2001-09-14 23:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2001-09-14 22:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Added "set_help" lines for
+ installer help texts.
+
+2001-09-14 21:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix odin bug (please run msgfmt
+ before committing!)
+
+2001-09-14 20:32 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Raw queue entry
+ added, so cursor not always on "Alps MD-1000" when no printer
+ detected.
+
+2001-09-14 19:48 Dam's
+
+ * perl-install/: my_gtk.pm, Xconfigurator.pm: no shadow when X test
+
+2001-09-14 19:47 Dam's
+
+ * perl-install/: install_any.pm, network/adsl.pm: pptp-adsl instead
+ of pptp-adsl-fr
+
+2001-09-14 19:30 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/standalone/drakautoinst: Check exisence of
+ "/root/replay_install.img" before anything else ...
+
+2001-09-14 19:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-09-14 19:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated Korean file
+
+2001-09-14 19:10 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-09-14 19:03 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed filtering of depth for newt
+ version.
+
+2001-09-14 18:29 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Resolved conflict.
+
+2001-09-14 18:12 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: depth 24 is used for DRI for Rage
+ 128 and Radeon instead of Depth 32 (as depth 32 simply doesn't
+ work, even if DRI guide says it works :-) 24 bit works fine for
+ Rage 128.
+
+2001-09-14 18:04 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: apply restriction on depth
+ available when changing resolution, removed S3 ViRGE from
+ experimental 3D accelerated card list as it really does not work,
+ allow on second pass to change card configuration to choose
+ server (experimental server are still only available to expert),
+ added support for UseCCEFor2D for Rage 128 card if a TV card is
+ installed (set to true, else set to false), added support for
+ Rage Mobility M... card that are Rage 128 Mobile chipset,
+ improved error message display to catch only appropriate error
+ message of XFree 4.1.0 only, added support for 32 bits for DRI
+ using Matrox card, improved info message with real version of
+ XFree used (anybody) and identifier from PCI probe (expert).
+
+2001-09-14 17:59 Fançois Pons
+
+ * perl-install/install_steps.pm: removed S3 ViRGE card from card
+ with problem with frame buffer as it works fine.
+
+2001-09-14 17:48 Dam's
+
+ * perl-install/: printer.pm, printerdrake.pm: make test_pms happy
+
+2001-09-14 17:42 Dam's
+
+ * perl-install/: bootlook.pm, network/adsl.pm: bugfix
+
+2001-09-14 17:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: update correctSize and invCorrectSize (now
+ linear)
+
+2001-09-14 17:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Made network checking working on
+ non-english systems.
+
+2001-09-14 17:06 Dam's
+
+ * perl-install/standalone.pm: bugfix
+
+2001-09-14 17:06 Dam's
+
+ * perl-install/bootlook.pm: iautologin correction
+
+2001-09-14 16:40 Dam's
+
+ * perl-install/my_gtk.pm: shadow color
+
+2001-09-14 16:26 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, Makefile.mkinitrd_helper: back to using a
+ reduced form of mkinitrd_helper for mkinitrd (only to provide a
+ dietlibc-enabled static insmod)
+
+2001-09-14 16:08 Dam's
+
+ * perl-install/network/adsl.pm: updated speedtouch handling.
+
+2001-09-14 14:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bs.po, sv.po: updated Bosnian and Swedish
+ files
+
+2001-09-14 13:25 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/Makefile: clean also cleans the DIET
+ target
+
+2001-09-14 12:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/standalone/printerdrake: Fixed spooler selection by
+ command line.
+
+2001-09-14 12:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Now it is checked
+ whether the network is configured and running. draknet is called
+ when the network is not configured. It is checked whether the
+ spooler is automatically started at boot. The oki4daemon is
+ started when needed. Lexmarks inkjet drivers are fully
+ integrated. The permissions of the device files are set so that
+ normal users can print with PDQ.
+
+2001-09-14 04:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, tr.po: updated Turkish and
+ Bulgarian files
+
+2001-09-14 02:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated pot file
+
+2001-09-14 02:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ bs.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ru.po, sk.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-09-14 01:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: - add back shortcuts - red colored
+ buttons in nfs/smb/removable
+
+2001-09-14 01:22 odin
+
+ * perl-install/share/po/fr.po: updated up to 6648
+
+2001-09-14 00:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: new migration feature for
+ creation of partitions on existing mount points
+
+2001-09-13 23:45 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added mt-st to ARCHIVING
+
+2001-09-13 23:25 Dam's
+
+ * perl-install/my_gtk.pm: updated
+
+2001-09-13 22:58 Dam's
+
+ * perl-install/my_gtk.pm: addde /usr/share/icons in path for
+ pixmaps search
+
+2001-09-13 22:38 Dam's
+
+ * perl-install/pixmaps/: wiz_default_up.png, wiz_draknet.png:
+ updated
+
+2001-09-13 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (inspect): use a safer dir when standalone
+
+2001-09-13 20:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectKeyboard):
+ don't prompt in newbie mode if >=90, not >90
+
+2001-09-13 19:59 odin
+
+ * perl-install/share/po/fr.po: updated fr.po
+
+2001-09-13 19:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add krozat
+
+2001-09-13 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: extend disable KDE GreetString to
+ ja|ko|zh|ru|th|vi|be|bg
+
+2001-09-13 17:57 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: removed ugly Modeline
+ 1024x768 which causes trouble to XFree86 4.1.0.
+
+2001-09-13 17:40 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix for missing Xinerama for
+ Matrox cards.
+
+2001-09-13 17:24 Dam's
+
+ * perl-install/my_gtk.pm: shadow reduced to 5 pixels
+
+2001-09-13 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: BLKPG_ADD_PARTITION support (aka
+ adding partition on the fly without rebooting on a device with
+ some already mounted partitions)
+
+2001-09-13 17:06 Fançois Pons
+
+ * perl-install/install_any.pm: updates 3D category according Matrox
+ G550 and Radeon card.
+
+2001-09-13 17:05 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix for Matrox G550 support, now
+ add DRI support. disable any question to user about XF3 if he
+ choose a dual head configuration. disable DRI if Xinerama has
+ been chosen.
+
+2001-09-13 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do not translate kdm GreetString
+ in ja|ko|zh (what about ru?)
+
+2001-09-13 16:22 Dam's
+
+ * perl-install/: network/isdn.pm, standalone/draknet: isdn timeout
+ works now.
+
+2001-09-13 16:15 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: updated Rage Mobility regexp for
+ bad_card, added bad_card for XF4 as Tseng ET6\d00.
+
+2001-09-13 16:14 Fançois Pons
+
+ * perl-install/install_steps.pm: synced with Xconfigurator bad_card
+ class of video card to avoid using frame buffer, added ET6\d00
+ style card which seems to have problem.
+
+2001-09-13 16:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: in kdmrc GreetString, magic string
+ HOSTNAME replaced by %n
+
+2001-09-13 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: filtered the list from lang2keyboard to
+ display only valid keyboards
+
+2001-09-13 15:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: add partition adding on the fly trick
+
+2001-09-13 15:16 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid creating
+ /etc/X11/XF86Config* file if --g_auto_install.
+
+2001-09-13 15:11 Fançois Pons
+
+ * perl-install/services.pm: updated repartition of services into
+ category, network category are commented so that service will to
+ "Other" one.
+
+2001-09-13 15:09 Fançois Pons
+
+ * perl-install/g_auto_install: updated so that this scripts is
+ running again.
+
+2001-09-13 15:08 Fançois Pons
+
+ * perl-install/install2.pm: do not output error message for bad
+ kernel if using --g_auto_install.
+
+2001-09-13 15:07 Fançois Pons
+
+ * perl-install/live_install2: updated #! as ../perl is not used.
+
+2001-09-13 15:06 Fançois Pons
+
+ * perl-install/: my_gtk.pm, Xconfigurator.pm: synced with
+ --g_auto_install mode.
+
+2001-09-13 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (selectKeyboard): remove code causing
+ install_steps::selectKeyboard to be skipped
+
+2001-09-13 14:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ru.po, sk.po, sp.po, sr.po, sv.po,
+ th.po, uk.po: updated pot file
+
+2001-09-13 14:15 Fançois Pons
+
+ * perl-install/lang.pm: fixed bad $localedir in load_mo().
+
+2001-09-13 11:06 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed Printer name
+ reporting for a specific printer.
+
+2001-09-13 10:19 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: disable testing with all SiS card
+ except SiS 630 under XF4.
+
+2001-09-12 23:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, modules.pm: display error when the
+ kernel mismatch the modules
+
+2001-09-12 23:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/lsnetdrake: fix typo
+
+2001-09-12 23:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools,
+ standalone/lsnetdrake: added wonderful lsnetdrake
+
+2001-09-12 22:33 Dam's
+
+ * perl-install/standalone.pm: added wait message while installing
+ package
+
+2001-09-12 19:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: be.po, ca.po, cs.po, el.po, eo.po, et.po,
+ eu.po, fi.po, gl.po, hr.po, vi.po, wa.po, zh_TW.po: updated pot
+ file
+
+2001-09-12 19:48 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/share/: list, list.i386, list.ia64: - list
+ (/sbin/mkfs.jfs, /sbin/mkfs.xfs): Move to... - list.i386: ...
+ Here. - list.ia64: Updates.
+
+2001-09-12 19:46 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * make_boot_img: - make_boot_img (boot_img_ia64): updates
+
+2001-09-12 19:37 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new & shiny verion
+
+2001-09-12 19:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm: (suggest): no "quiet" boot for smp
+ and enterprise kernels
+
+2001-09-12 19:15 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, tools.pm: new default connection handling
+
+2001-09-12 19:12 Dam's
+
+ * perl-install/my_gtk.pm: typo
+
+2001-09-12 18:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, bg.po, da.po,
+ de.po, es.po, fr.po, help_xml2pm.pl, hu.po, it.po, tr.po,
+ zh_CN.po: updated pot file
+
+2001-09-12 18:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: new version with [ and ]
+
+2001-09-12 18:03 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Fix gnome install
+
+2001-09-12 17:59 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: fixed silly error
+
+2001-09-12 17:39 odin
+
+ * perl-install/share/po/fr.po: updated fr.po
+
+2001-09-12 17:33 Dam's
+
+ * perl-install/share/help.png: new help
+
+2001-09-12 17:15 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/help_xml2pm.pl: added keycap patch
+
+2001-09-12 17:12 Dam's
+
+ * perl-install/my_gtk.pm: new color for shadow
+
+2001-09-12 16:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: commented out utf-8 russian locale, for now
+
+2001-09-12 16:15 Fançois Pons
+
+ * perl-install/install2.pm: removed obsolete --nocpi flag for
+ install2. avoid probing usb device (for mouse) if --noauto is
+ given.
+
+2001-09-12 16:00 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added MGA G550 as always having
+ two head.
+
+2001-09-12 15:59 Fançois Pons
+
+ * perl-install/install_steps.pm: disabled frame buffer for most of
+ the SiS display card except SiS 630.
+
+2001-09-12 15:16 Dam's
+
+ * perl-install/my_gtk.pm: corrected shadow handling
+
+2001-09-12 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbug_report: cleanup
+
+2001-09-12 15:06 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/standalone/drakbug_report: add Mandrake release
+ section
+
+2001-09-12 14:47 Dam's
+
+ * perl-install/mouse.pm: removed debug code
+
+2001-09-12 14:40 Dam's
+
+ * perl-install/my_gtk.pm: no shadow if liveupdate
+
+2001-09-12 14:40 Fançois Pons
+
+ * perl-install/live_install: use system perl instead.
+
+2001-09-12 14:40 Fançois Pons
+
+ * perl-install/live_install2: fix when switching perl version.
+
+2001-09-12 14:33 Pixel <pixel at mandriva.com>
+
+ * docs/README: explain how to get the boot kernels
+
+2001-09-12 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: allow grub even for more than 800MB
+
+2001-09-12 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree):
+ translate the categories
+
+2001-09-12 13:17 Dam's
+
+ * perl-install/my_gtk.pm: table undef corrected
+
+2001-09-12 12:57 Dam's
+
+ * perl-install/standalone/: drakgw, draknet: corrected wizard mode
+ in newt mode
+
+2001-09-12 12:56 Dam's
+
+ * perl-install/network/netconnect.pm: corrected splash in non X
+ mode
+
+2001-09-12 12:55 Dam's
+
+ * perl-install/my_gtk.pm: removed shadows if standalone
+
+2001-09-12 11:03 kjx
+
+ * perl-install/share/po/zh_CN.po: revison
+
+2001-09-11 22:18 Dam's
+
+ * perl-install/share/rpmsrate: added ibod
+
+2001-09-11 22:16 Dam's
+
+ * perl-install/share/rpmsrate: added isdn-light
+
+2001-09-11 22:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (tar-drakxtools): remove the building of
+ "help" for drakxtools
+
+2001-09-11 20:55 Dam's
+
+ * perl-install/network/netconnect.pm: removed useless print
+
+2001-09-11 20:07 Dam's
+
+ * perl-install/pixmaps/arrow_down.xpm: pixmap corrected
+
+2001-09-11 20:06 Dam's
+
+ * perl-install/mouse.pm: test updated
+
+2001-09-11 19:43 Dam's
+
+ * perl-install/pixmaps/: arrow_down.xpm, arrow_up.xpm: new arrows
+
+2001-09-11 19:39 Dam's
+
+ * perl-install/mouse.pm: mouse test worked
+
+2001-09-11 19:39 Dam's
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: don't detect
+ ethx if no autodetection. implement smarter checkboxes
+
+2001-09-11 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: for lilo, do not have table=/dev/xxx
+ if the device is not a primary partition (otherwise lilo dies)
+
+2001-09-11 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/help.pm: small fix
+
+2001-09-11 17:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, fr.po, it.po, DrakX.pot, hu.po:
+ updated Hungarian file; updated pot file
+
+2001-09-11 15:16 Dam's
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm: fear the shaped
+ windows...
+
+2001-09-11 00:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, interactive_gtk.pm, my_gtk.pm: -
+ make diskdrake work in embedded mode - $my_gtk::pop_it used where
+ it should
+
+2001-09-10 23:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: fix Umount and Mount when i18ned for
+ nfs/smb
+
+2001-09-10 21:48 Dam's
+
+ * perl-install/: network/network.pm, standalone/draknet,
+ standalone/net_monitor: removed timeout:1 in resolv.conf,
+ modified timeout scanning in draknet/net_monitor
+
+2001-09-10 21:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: s/my/our/ for $i18ned_...
+ vars
+
+2001-09-10 20:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, de.po, help_xml2pm.pl: updated
+ German file; added choice of various quotes in help_xml2pm.pl
+
+2001-09-10 20:09 Dam's
+
+ * perl-install/network/: ethernet.pm, modem.pm: detect_devices
+
+2001-09-10 20:08 Dam's
+
+ * perl-install/my_gtk.pm: added border
+
+2001-09-10 20:07 Dam's
+
+ * perl-install/mouse.pm: test_mouse moved
+
+2001-09-10 20:05 Dam's
+
+ * perl-install/: install_gtk.pm, install_steps_gtk.pm: mouse test
+ moved
+
+2001-09-10 20:04 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added some more ModeLine
+ (1024x768 @ 97.6 Hz, 1024x480 but not automatically used).
+
+2001-09-10 20:04 Dam's
+
+ * perl-install/standalone/mousedrake: don't fork the code
+
+2001-09-10 20:03 Fançois Pons
+
+ * perl-install/install_any.pm: updated g_auto_install() for newer
+ printerdrake interface.
+
+2001-09-10 19:42 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: plop
+
+2001-09-10 19:31 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Copying of PPD file when moving a CUPS
+ (non-Foomatic) queue modified to not get interactive when
+ overwriting a file. Comment put into non-Foomatic CUPS PPD files
+ in /etc/cups/ppd/ to be able to identify which PPD from
+ /usr/share/cups/model was used (for auto-install).
+
+2001-09-10 19:06 Fançois Pons
+
+ * make_boot_img: use a different boot.msg file for blank.img image
+ floppy.
+
+2001-09-10 18:28 Dam's
+
+ * perl-install/my_gtk.pm: window decorations
+
+2001-09-10 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated Korean file
+
+2001-09-10 18:00 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: some adjustements in Games section
+
+2001-09-10 17:54 Fançois Pons
+
+ * perl-install/: detect_devices.pm, modules.pm: moved
+ modules::get_pcmcia_devices into detect_devices::pcmcia_probe.
+
+2001-09-10 17:53 Fançois Pons
+
+ * perl-install/: install_steps_interactive.pm, mouse.pm: added hid
+ type usb mouse support.
+
+2001-09-10 17:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/help_xml2pm.pl: - skip directories missing
+ drakx-help.xml - convert to the right charset (taken from
+ $lang.po)
+
+2001-09-10 16:36 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-09-10 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix ide-scsi appearing 2 times
+ when standalone because both in /proc/ide and /proc/scsi/scsi
+
+2001-09-10 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: don't display Wizard if wizard done
+ before DrakX
+
+2001-09-10 14:26 Dam's
+
+ * perl-install/network/adsl.pm: debug
+
+2001-09-10 14:25 Dam's
+
+ * perl-install/my_gtk.pm: no set_events if embedded
+
+2001-09-10 13:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2001-09-10 12:54 Dam's
+
+ * perl-install/: network/adsl.pm, standalone/draknet:
+ debug
+
+2001-09-10 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: .cvsignore, Makefile, help_xml2pm.pl: -
+ rename help-*.po by help-*.pot - fix typo in script removing
+ $lang.po translations to favour help-*.pot
+
+2001-09-10 11:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po:
+ Updated pot file; removed translations that are too low on
+ percentage.
+
+2001-09-10 00:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: probeall handling
+
+2001-09-09 22:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: xml help handling/enhancing for
+ multi-langs
+
+2001-09-09 21:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: .cvsignore, Makefile, help_xml2pm.pl: xml
+ help handling/enhancing for multi-langs
+
+2001-09-09 20:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/i18n_compssUsers: ensure we're not adding a
+ string already there (otherwise msgmerge yells)
+
+2001-09-09 19:34 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: getAndSaveInstallFloppy: fix
+ multiple cdrom issue
+
+2001-09-09 19:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (ejectCdrom): fix D state on exit
+
+2001-09-09 18:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2001-09-09 18:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, interactive.pm, interactive_gtk.pm,
+ interactive_newt.pm: clicked_may_quit used in place of
+ clicked+exception to work-around perl-GTK bug (?)
+
+2001-09-09 18:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm,
+ install_interactive.pm: - "Wizard" and "More" are back - allow
+ "Use for loopback" when there is already a loopback - set the
+ options on newly created partitions - recompute_loopbacks called
+ after modification of loopbacks, no more before reading -
+ restrict the lenght of the lines in partition description - make
+ loopback work
+
+2001-09-09 17:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-09-09 13:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (set_default_options): remove iocharset=...
+ for nfs (why was it there?)
+
+2001-09-09 12:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (get_normal_parts_and_holes):
+ remove only small holes, not small partitions
+
+2001-09-09 02:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (write_conf): switch to "probeall
+ scsi_hostadapter ..."
+
+2001-09-09 01:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: force exitInstall to
+ be non automatic
+
+2001-09-09 01:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm, fs.pm,
+ fsedit.pm, install2.pm, install_steps.pm,
+ install_steps_interactive.pm: make loopback installs work again
+
+2001-09-09 00:26 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix some ortograf
+
+2001-09-09 00:11 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: lvm not installed for everyone ?!
+
+2001-09-08 23:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/diskdrake.rc: change name
+
+2001-09-08 23:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: ugly workaround perl bug ([ID
+ 20010908.008] memory leak with nested subs)
+
+2001-09-08 23:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: remove debug code
+
+2001-09-08 19:35 Guillaume Cottenceau
+
+ * perl-install/modules.pm: fix write_conf regarding /etc/modules so
+ that (1) it doesn't flush it when it didn't decide to put any
+ modules in it (to leave user's modules) (2) it doesn't remove the
+ last line (3) it uses stronger regexp'es for substitution to not
+ remove modules that have names made of other modules names
+ subsets
+
+2001-09-08 15:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/zh_TW.po: updated Chinese file
+
+2001-09-08 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix font in iso-15
+
+2001-09-08 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (write_conf): put "probeall scsi-hosts
+ scsi_hostadapter ..."
+
+2001-09-08 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: Asia/Taipei for Traditional Chinese
+
+2001-09-08 01:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm,
+ standalone/printerdrake: Data structure fitted for auto-install
+ to work Optimized program to be much faster Many more waiting
+ messages Many bugfixes
+
+2001-09-07 23:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, vi.po: updated Vietnamese and
+ Japanese files
+
+2001-09-07 22:16 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: some work on games
+
+2001-09-07 20:22 Guillaume Cottenceau
+
+ * rescue/: guessmounts, list.i386, tree/etc/oem,
+ tree/etc/rc.sysinit: ext3, xfs, jfs
+
+2001-09-07 20:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix load_mo call
+
+2001-09-07 20:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: cleanup po
+
+2001-09-07 18:27 Guillaume Cottenceau
+
+ * perl-install/bootloader.pm: use -v for mkinitrd
+
+2001-09-07 17:16 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: "reseaux" and plurals
+
+2001-09-07 17:14 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: misc
+
+2001-09-07 16:50 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add grio500
+
+2001-09-07 16:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/Makefile,
+ share/po/help_xml2pm.pl: new help
+
+2001-09-07 16:42 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix card managed only by XF4 (may
+ have some wrong result). fix all Matrox card used with XF4 which
+ really does not like X in frame buffer (unable to restore frame
+ buffer of DrakX).
+
+2001-09-07 16:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: s|kdmrc|kdm/kdmrc|
+
+2001-09-07 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, fs.pm:
+ disable_forced_fsck called for ext3 formatting
+
+2001-09-07 16:08 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: add mdkonline (X 4)
+
+2001-09-07 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Type): disable fsck when
+ migrated ext2->ext3
+
+2001-09-07 15:42 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-09-07 14:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, keyboard.pm: cleanup
+
+2001-09-07 13:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (write_lilo_conf): fix typo
+
+2001-09-07 13:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: partition_table.pm, share/list: add xfs
+
+2001-09-07 12:58 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates/fixes
+
+2001-09-07 12:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add jfsprogs
+
+2001-09-07 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove the "konsole and
+ gnome-terminal are lamers in exotic languages, link them to
+ something better"
+
+2001-09-07 11:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2001-09-07 09:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-09-07 09:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.po,
+ zh_TW.po: updated pot file
+
+2001-09-07 06:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/any.pm: Changed simple quote to double quote for a
+ translatable string (otherwise it isn't seen)
+
+2001-09-06 22:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: 'zh' in LANGUAGE for Chinese is needed by
+ DrakX
+
+2001-09-06 21:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm, share/gen_locales.sh,
+ share/list, share/locales-skeleton.tar.bz2, share/po/az.po:
+ corrected lang.pm to have coherence in locale usage (it was the
+ source of much of the problems); changed keyboard.pm to ignore
+ charset encoding in locale name for locale -> keyboard guessing.
+ removed unused gconv modules, converted az.po to utf-8 (as it was
+ the only remaining az.po on Earth still in a non standard
+ encoding)
+
+2001-09-06 18:19 Fançois Pons
+
+ * perl-install/install_steps.pm: removed some cards for allowing
+ frame buffer.
+
+2001-09-06 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm, keyboard.pm: fix keyboard config +
+ some cleanup
+
+2001-09-06 18:06 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: cleanup for bad card and prefer
+ XF3, so now using XFree 4.1.0 is not bad, and all NVIDIA card are
+ no more considered bad.
+
+2001-09-06 17:38 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: works now ;p
+
+2001-09-06 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: cleanup (use /proc/self instead of
+ /proc/$$)
+
+2001-09-06 17:03 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed retry of package 3 times everytime
+ even if first install succeeded, now after first successfull
+ install, go to next package to install.
+
+2001-09-06 16:48 Dam's
+
+ * perl-install/network/: adsl.pm, tools.pm: corrected speedtouch
+
+2001-09-06 16:47 Dam's
+
+ * perl-install/install_gtk.pm: removed comments
+
+2001-09-06 16:27 Fançois Pons
+
+ * perl-install/install_any.pm: update printer data for
+ g_auto_install.
+
+2001-09-06 16:26 Fançois Pons
+
+ * perl-install/install_steps.pm: fix log when configuring printer
+ queue.
+
+2001-09-06 15:54 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added 1400, 1920 and 2048
+ for %min_hsync4wres. cleaned up a bit and using XFree86 4.1.0
+ builtin timings for 1400x1050 and 1920x1440, 2048x1536 has no
+ modeline (but its min hsync is really high).
+
+2001-09-06 15:53 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid using @resolutions_laptop,
+ now use only @resolutions, this means 1400x1050 is available to
+ other, use XFree86 4.1.0 builtin timings for 1400x1050 (so
+ 1400x1050 is no more printed as modeline for XFree 4.1.0
+ configuration file).
+
+2001-09-06 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (merge_fstabs): correction allowing
+ manual_fstab to not give the type
+
+2001-09-06 14:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fsedit.pm, share/diskdrake.rc: add
+ journalised in legend, fix the use
+
+2001-09-06 14:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Add2LVM): do not allow
+ spaces in lvm names
+
+2001-09-06 14:06 Fançois Pons
+
+ * perl-install/pkgs.pm: revert previous patch, this is not usable
+ with current rpm as it complains if one the file has a modified
+ MD5SUM against the header describing it in the hdlist, so this is
+ most of the time useless.
+
+2001-09-06 13:46 Fançois Pons
+
+ * perl-install/pkgs.pm: guess filename if the file is not found
+ (for an rpm file during installation), so try with release
+ incremented in such case (good for Cooker user or local tester
+ using network installation).
+
+2001-09-06 13:23 Fançois Pons
+
+ * perl-install/printerdrake.pm: revert previous commit.
+
+2001-09-06 13:23 Fançois Pons
+
+ * perl-install/printer.pm: start ifup lo before starting service
+ cups.
+
+2001-09-06 13:22 Fançois Pons
+
+ * perl-install/printerdrake.pm: added a missing ifup lo, on some
+ case (auto_install) it fails.
+
+2001-09-06 12:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-09-06 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: (ntp_server): fix (step-tickers was
+ empty)
+
+2001-09-06 02:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ga.po, no.po: updated Irish and Norwegian
+ files
+
+2001-09-06 02:22 Dam's
+
+ * perl-install/install_gtk.pm: new mouse test
+
+2001-09-06 01:40 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Set default printer
+ (all spoolers), manual config (CUPS), bugfixes, clean-ups.
+
+2001-09-06 01:04 Dam's
+
+ * perl-install/standalone/mousedrake: typo
+
+2001-09-06 00:49 Dam's
+
+ * perl-install/network/tools.pm: corrected initcript
+
+2001-09-06 00:48 Dam's
+
+ * perl-install/pixmaps/: mouse_left.xpm, mouse_middle.xpm,
+ mouse_right.xpm: new pixmaps
+
+2001-09-06 00:45 Dam's
+
+ * perl-install/standalone/mousedrake: updated
+
+2001-09-05 23:50 Dam's
+
+ * perl-install/standalone/: draknet, net_monitor: corrected opeions
+
+2001-09-05 22:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: fix function called
+
+2001-09-05 19:52 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed typo preventing removable
+ devices to be seen in /etc/fstab.
+
+2001-09-05 16:22 Fançois Pons
+
+ * perl-install/bootloader.pm: removed yvounet sucking, handle
+ Mandrake lilo or unknown lilo.
+
+2001-09-05 16:01 Guillaume Cottenceau
+
+ * tools/i386/busybox: hopefully fix the _ problems with busybox
+ 0.60.1
+
+2001-09-05 15:55 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed display of XFdrake test
+ image (fcrozat).
+
+2001-09-05 15:47 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed configurePrinter (used for
+ auto_install).
+
+2001-09-05 15:43 Fançois Pons
+
+ * perl-install/install_any.pm: filtering $o->{printer} for
+ g_auto_install().
+
+2001-09-05 15:32 Dam's
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ harddrive.png, keyboard.png, mouse.png, network.png, printer.png,
+ rootpasswd.png, security.png: new pixmaps
+
+2001-09-05 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: use EISA_ID in more cases to have
+ the name
+
+2001-09-05 14:33 Dam's
+
+ * perl-install/standalone/draknet: interface display corrected
+
+2001-09-05 14:09 Dam's
+
+ * perl-install/pixmaps/: wiz_default_left.png, wiz_default_up.png,
+ wiz_drakgw.png: new icons
+
+2001-09-05 14:09 Dam's
+
+ * perl-install/install_gtk.pm: 2 sec without sensitives buttons
+
+2001-09-05 14:08 Dam's
+
+ * perl-install/network/netconnect.pm: only if standalone
+
+2001-09-05 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: fix typos
+
+2001-09-05 14:02 Dam's
+
+ * perl-install/share/themes-mdk.rc: updated theme
+
+2001-09-05 13:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm: non-case dependent
+ EISA comparison
+
+2001-09-05 13:24 Fançois Pons
+
+ * perl-install/fs.pm: fix bad creation of /mnt/hd for an hd
+ installation without ramdisk.
+
+2001-09-05 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: favor tmscsim over AM53C974
+
+2001-09-05 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm: also try EISA ID to
+ auto-detect the monitor (sometimes the EISA ID is there, but not
+ the [hv]syncrange
+
+2001-09-05 12:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/uk.po: updated Ukrainian file
+
+2001-09-05 12:05 Fançois Pons
+
+ * perl-install/install_any.pm: allow installing urpmi on hd install
+ even if low memory (so not using ramdisk).
+
+2001-09-05 12:04 Fançois Pons
+
+ * perl-install/fs.pm: support setting /tmp/hdimage in /etc/fstab
+ even if memory is low (not using ramdisk).
+
+2001-09-05 12:03 Fançois Pons
+
+ * perl-install/diskdrake_interactive.pm: Do not use for loopback of
+ magic partition (/tmp/hdimage).
+
+2001-09-05 12:03 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: avoid asking when
+ using existing partition for magic partition with a real mntpoint
+ (typically /tmp/hdimage) if we are not using a ramdisk (so
+ partition is not unmountable).
+
+2001-09-05 11:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po: updated Bosnian file
+
+2001-09-05 00:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Fitted to the new
+ Foomatic version. Fixed bug of spooler change only working when
+ language is English.
+
+2001-09-04 22:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix typo
+
+2001-09-04 21:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: af.po, ar.po, az.po, be.po, bg.po, br.po,
+ bs.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sl.po, sp.po, sr.po, th.po, tr.po, vi.po, wa.po,
+ zh_CN.po, zh_TW.po: Updated Danish file; updated pot file
+
+2001-09-04 21:23 Guillaume Cottenceau
+
+ * mdk-stage1/mount.c: reflect scd -> sr here too, /me sucks :-(
+
+2001-09-04 20:31 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: Compaq mescouilles has changed proc stuff
+
+2001-09-04 20:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ja.po: updated Japanese file
+
+2001-09-04 19:50 Guillaume Cottenceau
+
+ * perl-install/network/netconnect.pm: small english change
+
+2001-09-04 19:46 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: tetex-doc
+
+2001-09-04 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: re-add JFS
+
+2001-09-04 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: mount ext3 as ext2 during install for speed
+ up
+
+2001-09-04 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, common.pm, fsedit.pm: - don't
+ expand symlinks in grub's menu.lst - better use of
+ /proc/partitions verification
+
+2001-09-04 18:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (add_alias): use "above" instead of
+ "post-install"
+
+2001-09-04 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getCompaqSmartArray): add yet
+ another location for cpqarray location
+
+2001-09-04 18:21 Fançois Pons
+
+ * perl-install/install_steps.pm: fix bad vga= which go for some
+ install.
+
+2001-09-04 16:04 Fançois Pons
+
+ * perl-install/pkgs.pm: cleanup to avoid invalid file error.
+
+2001-09-04 14:49 Yves Duret
+
+ * perl-install/my_gtk.pm: emebedded mode fix
+
+2001-09-04 14:48 Yves Duret
+
+ * perl-install/: diskdrake.pm, interactive_gtk.pm: embedded mode
+ fix
+
+2001-09-04 11:39 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add plugins for KDE and Mozilla
+
+2001-09-03 23:06 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: unfuzzy-ise a few things, translate
+ a few things
+
+2001-09-03 22:24 Yves Duret
+
+ * perl-install/: diskdrake.pm, my_gtk.pm: fix Embedded mode
+
+2001-09-03 21:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated Korean file
+
+2001-09-03 21:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix for lvm (non-)creation of devices
+
+2001-09-03 19:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: better sizing for combo boxes
+
+2001-09-03 19:11 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: change `scd' with `sr'
+
+2001-09-03 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: (ntp_server): also set
+ /etc/ntp/step-tickers
+
+2001-09-03 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (smb_create, nfs_create): make the
+ "New" button work (raw_hd_mount_point): fix checking the same
+ mount point (try_): fix error displaying
+
+2001-09-03 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (set_default_options): created
+
+2001-09-03 17:48 Yves Duret
+
+ * perl-install/standalone/net_monitor: sync with new logdrake
+ command line options
+
+2001-09-03 17:32 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added 1920x1440 and
+ 2048x1536.
+
+2001-09-03 17:24 Dam's
+
+ * perl-install/network/network.pm: added timeout in resolv.conf
+
+2001-09-03 16:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: those files disappeared ??
+
+2001-09-03 16:59 Pixel <pixel at mandriva.com>
+
+ * Makefile: build the all.rdz's for isolinux
+
+2001-09-03 14:38 Fançois Pons
+
+ * perl-install/install_any.pm: updated to use new urpmi.cfg format
+ for install_urpmi, make sure the directory is not given for ftp
+ and http install ($dir).
+
+2001-09-03 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, fs.pm, fsedit.pm: fix mtab reading and
+ pseudo-device use
+
+2001-09-03 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: fix switching to 0x85 extended
+ when remove_empty_extended is called
+
+2001-09-03 13:16 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add axnet_cs to pcmcia category
+
+2001-09-03 12:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2001-09-03 11:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (choosePartitionsToFormat): do not propose to propose already
+ formatted fat partitions
+
+2001-09-03 11:25 Fançois Pons
+
+ * perl-install/Xconfig.pm: make sure a staling Mouse2 is not
+ present unless it really physically exists.
+
+2001-09-02 23:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po: updated bosnian file
+
+2001-09-02 14:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bs.po: Added Bosnian file
+
+2001-09-01 17:23 Fançois Pons
+
+ * perl-install/pkgs.pm: avoid deleting package from %packages in
+ install() when closing fd associated, if the open is called again
+ (?), it will cause an invalid file (seems to happens on some
+ invalid file).
+
+2001-08-31 19:27 Yves Duret
+
+ * perl-install/bootlook.pm: updated code
+
+2001-08-31 19:19 Dam's
+
+ * perl-install/any.pm: corrected autologin : no uc anymore
+
+2001-08-31 18:49 Fançois Pons
+
+ * perl-install/standalone.pm: add option --allow-medium-change to
+ force asking question even if --auto is given on command line of
+ urpmi, for installing package so that a dialog appears.
+
+2001-08-31 18:47 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added missing AlwaysCore line for
+ second mouse for XF3.
+
+2001-08-31 18:45 Fançois Pons
+
+ * perl-install/mouse.pm: added missing AlwaysCore line for second
+ mouse in XF3.
+
+2001-08-31 17:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-08-31 16:09 Dam's
+
+ * perl-install/standalone/draksec: corrected yesno interpretation
+
+2001-08-31 16:05 Dam's
+
+ * perl-install/standalone/draksec: libsafe modification
+
+2001-08-31 16:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, es.po, sv.po, uk.po: updated
+ Ukrainian and Spanish files
+
+2001-08-31 15:43 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: mures is a fine game, have it at
+ weight "4" under GAMES section
+
+2001-08-31 15:34 Dam's
+
+ * perl-install/network/ethernet.pm: corrected zero return when
+ cable configuring
+
+2001-08-31 15:33 Dam's
+
+ * perl-install/network/netconnect.pm: corrected profil recording
+ for modem
+
+2001-08-31 15:19 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/help_sav.png: not used any more
+
+2001-08-31 15:17 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/: logo-mandrake-Desktop.png,
+ logo-mandrake2.png, logo-mandrake_sav.png,
+ logo-mandrake_trans.png: old versions => not in use any more
+
+2001-08-31 15:01 Dam's
+
+ * perl-install/standalone/net_monitor: correted typo
+
+2001-08-31 13:37 Dam's
+
+ * perl-install/share/logo-mandrake.png: new logo
+
+2001-08-31 13:35 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: have "numlock" in INSTALL because
+ it's the only package which goes to CD#2 when you unselect all
+ groups, so having it here will allow not changing CD with this
+ kind of small install
+
+2001-08-31 12:02 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-08-31 11:56 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: patch with --no-backup-if-mismatch
+
+2001-08-31 02:20 Dam's
+
+ * perl-install/network/modem.pm: added domainname2 setting
+
+2001-08-31 00:02 Dam's
+
+ * perl-install/standalone/draknet: added use common.pm (can be
+ usefull, eh?)
+
+2001-08-30 23:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: Updated Danishfile
+
+2001-08-30 23:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, install_steps.pm: disable gpm
+ (in case of serial mouse) before service choice
+
+2001-08-30 23:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (new): call
+ interactive_gtk::new
+
+2001-08-30 23:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_CN.po, zh_TW.Big5.po, zh_TW.po: updated pot file (I had lost
+ the group descriptions, sorry, they are back now) moved chinese
+ files to charset independent names
+
+2001-08-30 22:56 Dam's
+
+ * perl-install/network/network.pm: silently /sbin/ip
+
+2001-08-30 22:56 Dam's
+
+ * perl-install/network/tools.pm: nicer display
+
+2001-08-30 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (naughtyServers): update for 8.1
+
+2001-08-30 22:43 Dam's
+
+ * perl-install/network/network.pm: track_network_id only if laptop
+
+2001-08-30 21:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (read): it works now
+
+2001-08-30 21:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fixed (was utf8)
+
+2001-08-30 20:19 Dam's
+
+ * perl-install/my_gtk.pm: new wizard
+
+2001-08-30 19:59 Dam's
+
+ * perl-install/pixmaps/wiz_default_left.png: new logo
+
+2001-08-30 19:21 Dam's
+
+ * perl-install/interactive_gtk.pm: corrected wizard mode display
+ height/width
+
+2001-08-30 19:21 Dam's
+
+ * perl-install/interactive.pm: corrected icon display
+
+2001-08-30 19:19 Dam's
+
+ * perl-install/network/network.pm: dhcp package installation
+
+2001-08-30 19:18 Dam's
+
+ * perl-install/standalone/draknet: added draknet client
+ installation
+
+2001-08-30 19:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: fix utf8 translation of xml file
+
+2001-08-30 18:38 Fançois Pons
+
+ * perl-install/standalone/mousedrake: fix previous fix (typo).
+
+2001-08-30 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: fix&cleanup window size
+
+2001-08-30 18:34 Fançois Pons
+
+ * perl-install/standalone/mousedrake: keep mouse specific paramater
+ if user does not change its mouse.
+
+2001-08-30 18:16 Fançois Pons
+
+ * perl-install/mouse.pm: make sure to update all symlink according
+ to any mouse (max 2) probed.
+
+2001-08-30 18:15 Fançois Pons
+
+ * perl-install/Xconfig.pm: when reading existing configuration for
+ mouse, update type|name for second mouse too.
+
+2001-08-30 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: allow LVM on RAID
+
+2001-08-30 17:57 Fançois Pons
+
+ * perl-install/Makefile: ugly to make sure standalone/pixmaps is
+ not here when building tar-drakxtools.
+
+2001-08-30 17:38 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: for single heads mode, no screen
+ id should be set in file (or XFree is going mad, but he is right,
+ no ?)
+
+2001-08-30 17:32 Fançois Pons
+
+ * perl-install/Xconfig.pm: make sure default to set 3 for nbuttons
+ for getinfoFromXF86Config for second mouse if this mouse has 3
+ buttons.
+
+2001-08-30 17:25 Fançois Pons
+
+ * perl-install/standalone/mousedrake: make sure --auto is not
+ interactive on some part. use default value for port device if a
+ serial mouse.
+
+2001-08-30 17:24 Fançois Pons
+
+ * perl-install/mouse.pm: fix previous fixes on mouse::write_conf
+
+2001-08-30 16:10 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add koffice-i18n diald vlan-utils
+
+2001-08-30 15:57 Fançois Pons
+
+ * perl-install/install_any.pm: if a medium is refused, get rid of
+ it definitively until it is accepted again.
+
+2001-08-30 14:03 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-08-30 13:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (set_default_options): "ro" for cdroms,
+ "user" for vfat only if removable media
+
+2001-08-30 12:26 Fançois Pons
+
+ * perl-install/printer.pm: fixed foomatic failed (no lo up since
+ ifup lo don't run)
+
+2001-08-30 12:17 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: have a wait_message
+ during installation of bootloader
+
+2001-08-30 12:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, ja.po, vi.po: updated Japanese,
+ Spanish and Vietnamese files
+
+2001-08-30 11:28 Pixel <pixel at mandriva.com>
+
+ * Makefile, tools/Makefile: cleanup unneeded stuff
+
+2001-08-30 11:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup
+
+2001-08-30 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix language selection
+
+2001-08-30 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/c.pm: better error message when function c::foo() is
+ missing
+
+2001-08-30 00:44 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: minor fix
+
+2001-08-29 23:58 Guillaume Cottenceau
+
+ * perl-install/standalone/drakautoinst: quit_global
+
+2001-08-29 23:52 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: quit_global
+
+2001-08-29 23:37 Pixel <pixel at mandriva.com>
+
+ * rescue/: dirs, make_rescue_img: make it work (do not have the dev
+ in /)
+
+2001-08-29 23:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): have Ok
+ button by default for asking for changing CD
+
+2001-08-29 23:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: remove "msdos"
+
+2001-08-29 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (mkbootdisk): cleanup
+
+2001-08-29 23:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: remove fd0H1440 and fd1H1440
+
+2001-08-29 23:19 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed if undef encountered in depslist when
+ installing package (traversing depslist as $depOrder).
+
+2001-08-29 19:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, any.pm,
+ install_steps_interactive.pm, lang.pm, standalone/localedrake:
+ add localedrake (not tested)
+
+2001-08-29 18:46 Fançois Pons
+
+ * perl-install/standalone/mousedrake: try to merge already existing
+ mouse configuration with what has been probed, change if mouse is
+ really changed as probe is incomplete.
+
+2001-08-29 18:45 Fançois Pons
+
+ * perl-install/mouse.pm: improved write_conf to enable multi-mice
+ if only once mice is already defined.
+
+2001-08-29 18:44 Fançois Pons
+
+ * perl-install/Xconfig.pm: improve getinfoFromXF86Config for mouse
+ parameters.
+
+2001-08-29 17:54 Pixel <pixel at mandriva.com>
+
+ * rescue/: devices.pl, list, make_rescue_img: cleanup, speedup, use
+ mknod for devices
+
+2001-08-29 17:50 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: don't cp devices, mknod them
+
+2001-08-29 17:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (loadkeys_files): fixed
+
+2001-08-29 17:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, es.po: updated Danish
+ file
+
+2001-08-29 16:27 Dam's
+
+ * perl-install/: network/adsl.pm, network/tools.pm, share/rpmsrate:
+ speedtouch configuration
+
+2001-08-29 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm, fs.pm,
+ fsedit.pm, install_any.pm: try to better handle symlinks device
+ and devfs devices
+
+2001-08-29 13:08 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: games
+
+2001-08-29 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (main): fix
+
+2001-08-29 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: no need to have devfs=nomount
+ anymore in root raid
+
+2001-08-29 11:56 Fançois Pons
+
+ * perl-install/install_steps.pm: add support for mandatory frame
+ buffer support (SiS 630) need them for XF3 to work properly, XF4
+ does work with it nicely.
+
+2001-08-29 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: fix DISABLE_WINDOWS_KEY state handling
+ (for upgrade), cleanup
+
+2001-08-29 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, c/stuff.xs.pm: better floppy
+ detection/info
+
+2001-08-29 11:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do not modify fstab options in
+ upgrade
+
+2001-08-29 11:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Create): fix typo causing
+ primaryOrExtended to be ignored
+
+2001-08-29 11:25 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: make sure Port entry for wacom is
+ placed first.
+
+2001-08-28 23:34 Dam's
+
+ * perl-install/services.pm: added cupslpd in printing section
+
+2001-08-28 22:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ propose to format / and /usr even if isFormatted. More generally
+ do not trust isFormatted to show which partitions to format
+
+2001-08-28 21:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2001-08-28 19:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: remove the temporary file
+ /tmp/autoinst.img
+
+2001-08-28 19:16 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/: ChangeLog, keyboard.pm: - keyboard.pm: write
+ DISABLE_WINDOWS_KEY=no in /etc/sysconfig/keyboard if no laptop is
+ detected (= give users the chance to know about the existence of
+ this variable).
+
+2001-08-28 18:10 Fançois Pons
+
+ * perl-install/Makefile.config: really fix typo...
+
+2001-08-28 18:06 Fançois Pons
+
+ * perl-install/Makefile.config: fixed typo.
+
+2001-08-28 17:59 Dam's
+
+ * perl-install/: install2.pm, interactive.pm: corrected icon
+ handling
+
+2001-08-28 17:53 Yves Duret
+
+ * perl-install/standalone/diskdrake: embedded mode nicer
+
+2001-08-28 17:38 Fançois Pons
+
+ * perl-install/Makefile.config: removed reference to e2fsck.shared
+ (now use e2fsck from package which is shared since 1.23-2mdk).
+
+2001-08-28 17:37 Fançois Pons
+
+ * perl-install/share/aliases: added fsck.ext2 -> e2fsck (now in
+ list file)
+
+2001-08-28 17:36 Fançois Pons
+
+ * perl-install/share/list: added /sbin/e2fsck
+
+2001-08-28 17:35 Fançois Pons
+
+ * perl-install/share/aliases: removed e2fsck.shared as e2fsprogs
+ now provide a shared version instead of a static one.
+
+2001-08-28 17:04 Dam's
+
+ * perl-install/steps.pm: new icons
+
+2001-08-28 17:04 Dam's
+
+ * perl-install/: any.pm, mouse.pm: updated for devfssumlinkf
+
+2001-08-28 17:00 Dam's
+
+ * perl-install/share/logo-mandrake.png: removed beta logo
+
+2001-08-28 16:59 Dam's
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ exit.png, language.png, mouse.png, network.png, partition.png,
+ printer.png, rootpasswd.png, security.png, services.png,
+ summary.png, user.png: new icons
+
+2001-08-28 15:58 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Replace usbd by hotplug
+
+2001-08-28 15:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2001-08-28 15:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (facesdir): now it's /usr/share/mdk/faces/
+
+2001-08-28 15:13 Fançois Pons
+
+ * perl-install/pkgs.pm: updated allowedToUpgrade to avoid upgrading
+ some newer kernel packages.
+
+2001-08-28 14:52 Dam's
+
+ * perl-install/install_gtk.pm: cursor confined to test windo
+
+2001-08-28 14:47 Dam's
+
+ * perl-install/mouse.pm: typo
+
+2001-08-28 13:07 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: move libsafe to SERVER_OTHER 2
+
+2001-08-28 12:59 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: added prelude, libsafe...
+
+2001-08-28 12:16 Yves Duret
+
+ * perl-install/standalone/drakxconf: readded dsikdrake
+
+2001-08-28 11:47 Yves Duret
+
+ * perl-install/standalone/drakxconf: added new items, remove some
+ old ones
+
+2001-08-28 11:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, c/stuff.xs.pm, standalone/drakboot:
+ security fix and various
+
+2001-08-28 11:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: move to all_hds stuff
+
+2001-08-28 10:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: default the licence
+ agreement to "Refuse"
+
+2001-08-28 00:33 Dam's
+
+ * perl-install/network/: netconnect.pm, network.pm: corrected
+ hwaddr setting and draknet first window display
+
+2001-08-28 00:13 Dam's
+
+ * perl-install/network/network.pm: corrected typo
+
+2001-08-27 22:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: fix the rights
+
+2001-08-27 21:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: (setlocale): do not set LC_NUMERIC
+
+2001-08-27 21:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: nicer help display
+
+2001-08-27 20:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: eu.po, sk.po: updated Basque and slovak
+ files
+
+2001-08-27 19:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: Checked and updated xmodmap
+ files for DrakX
+
+2001-08-27 19:17 Dam's
+
+ * perl-install/: any.pm, mouse.pm, network/network.pm: make it
+ compile
+
+2001-08-27 18:54 Dam's
+
+ * perl-install/network/network.pm: corrected hwaddr stuff
+
+2001-08-27 18:53 Dam's
+
+ * perl-install/: any.pm, mouse.pm: add_devfslink
+
+2001-08-27 15:14 Dam's
+
+ * perl-install/network/network.pm: added HWADDR
+
+2001-08-27 15:13 Dam's
+
+ * perl-install/network/netconnect.pm: corrected bad window size
+
+2001-08-27 15:13 Dam's
+
+ * perl-install/network/tools.pm: corrected internet initscript
+
+2001-08-27 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: use empty hash instead of the
+ raid/loopback array
+
+2001-08-27 13:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: Added "zh_HK" to Chinese in
+ LANGUAGE list. Added Latvian keyboard
+
+2001-08-27 12:08 Fançois Pons
+
+ * perl-install/: any.pm, standalone/draknet, network/modem.pm:
+ added Borsenkow Andrej patch to support CHAP again.
+
+2001-08-27 00:29 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add some important packages
+
+2001-08-26 16:50 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: save the .img file so that multi-cd
+ install won't ask to re-enter first cd
+
+2001-08-26 16:34 Guillaume Cottenceau
+
+ * perl-install/standalone/drakautoinst: require -> use
+
+2001-08-26 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: .cvsignore, Makefile: fetch directly the
+ latest drakx-help.xml
+
+2001-08-26 06:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sv.po, th.po, tr.po,
+ uk.po, vi.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: updated pot
+ file
+
+2001-08-25 23:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakbug_report: add "rpm -qa"
+
+2001-08-25 20:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: don't the grab flag propagate
+ everywhere
+
+2001-08-25 20:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: fix deprecated call
+ standalone::pkgs_install
+
+2001-08-25 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: added the missing security
+ parameter to set_default_options
+
+2001-08-25 18:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): accept mounting iso9660 filesystem
+ as it should be
+
+2001-08-25 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): enable mounting more than one
+ swap :)
+
+2001-08-25 13:50 Dam's
+
+ * perl-install/: install2.pm, steps.pm: icon correction
+
+2001-08-24 23:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: help.pm, share/po/Makefile,
+ share/po/help_xml2pm.pl: auto-generates help.pm from xml doc done
+ by doc team
+
+2001-08-24 23:47 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: give a little more free space (esp.
+ for russian lang)
+
+2001-08-24 23:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (test_pms): make perl_checker skip help.pm
+
+2001-08-24 22:29 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: - descr of proc files - fix small typo
+ (segfault or not segfault? that's the question)
+
+2001-08-24 21:29 Dam's
+
+ * perl-install/pixmaps/: mouse_3b+.xpm, mouse_3b+_mini.xpm,
+ mouse_3b.xpm, mouse_3b_mini.xpm: mini pixmaps, and lower color
+ res for normal pix
+
+2001-08-24 21:12 Dam's
+
+ * perl-install/standalone/mousedrake: updated mouse test
+
+2001-08-24 21:11 Guillaume Cottenceau
+
+ * mdk-stage1/: mount.c, probing.c, tools.c: enable install from
+ Compaq Smart Array
+
+2001-08-24 21:10 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: allow unsetting of automatic mode if not
+ enough parameter provided in network steps
+
+2001-08-24 20:37 Guillaume Cottenceau
+
+ * mdk-stage1/bzlib/Makefile: use CC rather than gcc statically
+
+2001-08-24 20:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: ensure no .orig are generated when the
+ pcmcia patch is applied
+
+2001-08-24 20:04 Pixel <pixel at mandriva.com>
+
+ * tools/pcmcia_config.patch: update the patch
+
+2001-08-24 20:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: lang.pm, share/gen_locales.sh: no need for
+ UTF-8/LC_CTYPE
+
+2001-08-24 19:09 Fançois Pons
+
+ * perl-install/diskdrake_interactive.pm: fixed typo
+ common::usingRamdisk() instead of common::useRamdisk().
+
+2001-08-24 18:48 Guillaume Cottenceau
+
+ * mdk-stage1/automatic.c: revert my auto->interactive patch
+
+2001-08-24 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: fix "invalid file"
+
+2001-08-24 16:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/fonts.tar.bz2,
+ share/locales-skeleton.tar.bz2: enabling euro and utf-8 for some
+ languages; added unicode font
+
+2001-08-24 16:21 Fançois Pons
+
+ * perl-install/install_any.pm: fixed hdInstallPath for an hd
+ installation without usingRamdisk (not installing urpmi in such
+ case).
+
+2001-08-24 16:18 Fançois Pons
+
+ * perl-install/install_any.pm: updated packages to copy for
+ printerdrake, removed almost obsoletes XFree86 3.3.6 servers
+ (8514, AGX, Mach32, Mach8, Mono, P9000, W32, I128, VGA16, 3DLabs)
+ which means user will have to change CD back to CD#1 if he a such
+ a card.
+
+2001-08-24 15:46 Fançois Pons
+
+ * perl-install/fs.pm: take care of using ram disk to remap mntpoint
+ of hd installation partition.
+
+2001-08-24 15:44 Fançois Pons
+
+ * perl-install/diskdrake_interactive.pm: take care mount point
+ action is available for the hd installation partition only if a
+ ramdisk is used (as it can be unmounted).
+
+2001-08-24 15:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): allow to mount 'proc' and 'usbdevfs'
+
+2001-08-24 15:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (write): do not die when
+ real_mntpoint fs fail to unmount/remount, just log
+
+2001-08-24 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_mo): if not usingRamdisk, don't try
+ getFile
+
+2001-08-24 14:50 Dam's
+
+ * perl-install/network/adsl.pm: bugfix, speedtouch help
+
+2001-08-24 14:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, install_steps.pm: remove
+ the cond_umount_hdimage and cond_remount_hdimage
+
+2001-08-24 14:48 Fançois Pons
+
+ * perl-install/diskdrake_interactive.pm: use more global
+ isMagicPart instead of isInstallHdPart.
+
+2001-08-24 14:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Done): do not write fstab
+ nor ask about it in install
+
+2001-08-24 14:44 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed possible bug (not sorted
+ partition when calling mount_part).
+
+2001-08-24 14:44 Fançois Pons
+
+ * perl-install/install_any.pm: removed obsolete code for
+ cond_remount and cond_umount and update hdInstallPath for hd
+ installation.
+
+2001-08-24 14:43 Fançois Pons
+
+ * perl-install/fs.pm: fixed partition never seen as mounted, added
+ special case for real_mntpoint to remount magic partition on the
+ right place.
+
+2001-08-24 14:42 Fançois Pons
+
+ * perl-install/diskdrake_interactive.pm: added real_mntpoint
+ documentation and take care of hd install partition for available
+ actions.
+
+2001-08-24 14:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (write): unmount+remount
+ real_mntpoint before doing the kernel_read
+
+2001-08-24 11:22 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: New & shiny german version
+
+2001-08-24 11:19 Fançois Pons
+
+ * make_boot_img: added reference to second help page.
+
+2001-08-24 03:25 Dam's
+
+ * perl-install/network/adsl.pm: added aliases for speedtouch stuff
+
+2001-08-24 03:13 Dam's
+
+ * perl-install/network/: adsl.pm, netconnect.pm, tools.pm:
+ speedtouch configuration
+
+2001-08-24 02:26 Dam's
+
+ * perl-install/my_gtk.pm: gtk_create_xpm handles no absolute xpm
+ path
+
+2001-08-24 02:26 Dam's
+
+ * perl-install/standalone/mousedrake: no absolute pixmap reference
+
+2001-08-24 02:23 Dam's
+
+ * perl-install/standalone/mousedrake: new mousedrake. experimental
+
+2001-08-24 02:21 Dam's
+
+ * perl-install/network/tools.pm: export write_initscript, correct
+ initscript.
+
+2001-08-24 02:21 Dam's
+
+ * perl-install/network/adsl.pm: removed adsl detectioin, once
+ again.
+
+2001-08-24 02:19 Dam's
+
+ * perl-install/pixmaps/: mouse_3b+.xpm, mouse_3b.xpm,
+ mouse_middle.xpm: added new mouse pixmap for mousedrake
+
+2001-08-24 01:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/el.po: updated Greek file
+
+2001-08-23 23:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2001-08-23 20:22 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: work on GAMES section
+
+2001-08-23 18:22 Dam's
+
+ * perl-install/network/adsl.pm: restart network after having tested
+ adsl. experimental
+
+2001-08-23 18:22 Dam's
+
+ * perl-install/network/netconnect.pm: at_boot connection,resolvconf
+ in profiles
+
+2001-08-23 18:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/lv.po: updated Latvian file
+
+2001-08-23 17:43 Dam's
+
+ * perl-install/standalone/draksec: addedlibsafe option
+
+2001-08-23 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: cancel at startup will now
+ exit
+
+2001-08-23 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: keep the freq&passno of /etc/fstab
+
+2001-08-23 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: ask wether to save fstab
+
+2001-08-23 15:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix locale support when usingRamdisk
+
+2001-08-23 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (cond_umount_hdimage): do not
+ unmount /tmp/hdimage if not using ramdisk
+
+2001-08-23 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (part_possible_actions):
+ have "Mount point" first to please fpons
+
+2001-08-23 14:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (disable_user_view): damned kdmrc
+ moved
+
+2001-08-23 11:58 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: removed unusefull greping when
+ building package tree.
+
+2001-08-22 20:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: gen_locales.sh, locales-skeleton.tar.bz2:
+ fix ru KOI8-R
+
+2001-08-22 20:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: more intelligent setting back
+ the selected value in the clist and ctree (done already for
+ entry)
+
+2001-08-22 18:16 anoncvs
+
+ * perl-install/share/po/zh_CN.GB2312.po: * Wed Aug 22 2001 DU
+ Xiaoming <dxiaoming@mandrakesoft.com> Updated chinese
+ (simplied) translation.
+
+2001-08-22 18:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, pkgs.pm, c/stuff.xs.pm: do
+ init_db inside pkg_inside otherwise LOG is closed and rpmlib
+ tries to write in it and ...
+
+2001-08-22 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/nfs.pm: pleac perl_checker
+
+2001-08-22 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: - fix entries editing causing
+ the cursor to go to the end of line - select the text
+
+2001-08-22 16:26 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po files for DrakX
+ and drakbootdisk
+
+2001-08-22 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do not call configurePrinter if no
+ printer is wanted
+
+2001-08-22 14:43 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, disk.c, lomount.c, modules.c, mount.c,
+ mount.h, network.c, stage1.c, tools.c: mount all but ramdisk Read
+ Only
+
+2001-08-22 14:38 Guillaume Cottenceau
+
+ * mdk-stage1/automatic.c: don't stay automatic for ask_from_entries
+ when entries are not given
+
+2001-08-22 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: fix typo
+
+2001-08-22 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: don't have
+ formatPartitions interactive by default
+
+2001-08-22 11:57 Fançois Pons
+
+ * perl-install/printerdrake.pm: fixed int and float checking which
+ should accept negative number (added explicit positive too),
+ cleaned code for some perl idioms.
+
+2001-08-22 11:55 Fançois Pons
+
+ * perl-install/install_steps.pm: updated configurePrinter to use
+ foomatic printer configuration.
+
+2001-08-22 09:01 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-08-22 08:32 kjx
+
+ * perl-install/share/po/: zh_CN.GB2312.po: review
+
+2001-08-22 00:29 Dam's
+
+ * perl-install/Makefile: added rpcinfo to the tar
+
+2001-08-22 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add telnet-client-krb5 and
+ ftp-client-krb5
+
+2001-08-21 23:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2001-08-21 23:14 Dam's
+
+ * perl-install/Makefile: corrected bad Makefile : rpcinfo-flushed.c
+ comes from tools.
+
+2001-08-21 23:03 Dam's
+
+ * perl-install/standalone/draknet: ergonomy correction
+
+2001-08-21 20:33 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-08-21 19:53 Fançois Pons
+
+ * perl-install/printerdrake.pm: slight rewrite of some perl idioms.
+
+2001-08-21 19:53 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: moved installation
+ code of foomatic (only) if a printer may be chosen.
+
+2001-08-21 19:00 Dam's
+
+ * perl-install/standalone/net_monitor: log updatede
+
+2001-08-21 18:50 Dam's
+
+ * perl-install/network/tools.pm: corrected qq bug
+
+2001-08-21 18:48 Dam's
+
+ * perl-install/network/tools.pm: corrected bug
+
+2001-08-21 18:22 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/Makefile, perl-install/share/po/Makefile:
+ check presence of '$' in DrakX.pot
+
+2001-08-21 18:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: cleanup
+
+2001-08-21 18:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated pot file
+
+2001-08-21 18:01 Dam's
+
+ * perl-install/standalone/net_monitor: removed memoty leak
+
+2001-08-21 17:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix '$' in i18n
+ message
+
+2001-08-21 17:28 Dam's
+
+ * perl-install/standalone/net_monitor: time connection label
+
+2001-08-21 17:23 Fançois Pons
+
+ * perl-install/install_any.pm: fixed hd installation for urpmi.
+
+2001-08-21 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (read_fstab): don't expand symlink if the
+ link goes in a directory
+
+2001-08-21 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: try to fix umount/remounting
+ /tmp/hdimage in hd install
+
+2001-08-21 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: install hotplug if usb (i kept usbd
+ just in case)
+
+2001-08-21 14:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: fix spelling error
+
+2001-08-21 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Create): force no sorting
+ on filesystems, editable mount points
+
+2001-08-21 12:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: umask=0 only if security level < 3
+
+2001-08-21 09:13 kjx
+
+ * perl-install/share/po/zh_CN.GB2312.po: review
+
+2001-08-21 02:33 Dam's
+
+ * perl-install/network/: ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, tools.pm: generik internet initscript, planq the
+ children again
+
+2001-08-21 02:32 Dam's
+
+ * perl-install/network/adsl.pm: speedtouch config generik internet
+ initscript, planq the children again
+
+2001-08-21 00:04 Pixel <pixel at mandriva.com>
+
+ * tools/.cvsignore, tools/Makefile, tools/rpcinfo-flushed.c,
+ perl-install/Makefile, perl-install/Makefile.drakxtools,
+ perl-install/diskdrake.pm, perl-install/fs.pm,
+ perl-install/network/nfs.pm: basic nfs handling in drakx
+
+2001-08-20 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, install_any.pm,
+ install_steps.pm: try harder to umount /tmp/hdimage only when
+ needed
+
+2001-08-20 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: fix bug 4257
+
+2001-08-20 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: try a stronger matching technique for
+ parsing /proc/mdstat with devfs
+
+2001-08-20 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (raidAutoStart): fix for when
+ kmod is there
+
+2001-08-20 17:35 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: Have NETWORKING_DNS in "Internet
+ station" (was nowhere)
+
+2001-08-20 14:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: remove test code
+
+2001-08-20 14:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: add weird options for
+ NeoMagic NM2160 (request of Alex Hulse <axh0@aber.ac.uk> on
+ cooker)
+
+2001-08-20 13:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (wait_message_nextW): fix
+ previous text == new text causing no expose_event causing dead
+ loop
+
+2001-08-20 01:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, fs.pm, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_interactive.pm, lang.pm, pkgs.pm,
+ standalone/diskdrake: rename isCdNotEjectable in usingRamdisk,
+ ensure no files are removed unless we're in ramdisk
+
+2001-08-20 00:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: fix diskdrake requiring gtk
+
+2001-08-20 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: add some test code
+
+2001-08-20 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: save fstab on exit
+
+2001-08-20 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm: various typos fix
+
+2001-08-20 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: make the devfs= mount or nomount
+ choice based on raid-based root work
+
+2001-08-19 23:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: disable supermount for the moment
+
+2001-08-19 23:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: remove JFS from @important_types
+ (too broken for the moment)
+
+2001-08-19 23:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootlook.pm, diskdrake.pm,
+ diskdrake_interactive.pm, fs.pm, fsedit.pm, install_any.pm,
+ install_steps.pm, standalone/diskdrake, standalone/drakboot:
+ major fs.pm rework + adaptation to it
+
+2001-08-19 23:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: remove isSupermount (was unused)
+
+2001-08-19 23:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, lang.pm: simplify
+
+2001-08-19 17:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: cleanup
+
+2001-08-19 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: don't show nfs/smb/removable in
+ install
+
+2001-08-19 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fs.pm, network/smb.pm: basic smb
+ handling
+
+2001-08-19 16:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (create_ctree): fix focusing
+ (the assumption number of leaves = number of lines is dumb)
+
+2001-08-19 01:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm, fs.pm,
+ fsedit.pm, standalone/diskdrake: basic nfs/smb handling in
+ diskdrake
+
+2001-08-19 00:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: oops, i inverted devfs=nomount and
+ devfs=mount
+
+2001-08-19 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, fs.pm, partition_table.pm: fixes and
+ function prototype removing
+
+2001-08-19 00:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: nicer mount options code (for autofs
+ and supermount)
+
+2001-08-19 00:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: readd the sorting based on size when
+ no sorting is precised
+
+2001-08-19 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (n_line_size): bigger spacing for
+ 'various'
+
+2001-08-19 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: fix bug in box's height use
+
+2001-08-18 23:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: less verbose
+ resize_reiserfs
+
+2001-08-18 23:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): add notail for reiserfs
+ partitions in any case
+
+2001-08-18 22:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: do not use devfs with root
+ software raid
+
+2001-08-18 22:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake_interactive.pm, fsedit.pm, raid.pm:
+ update the raid size as it should be
+
+2001-08-18 22:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: better radiobox keyboard
+ handling
+
+2001-08-18 20:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/network/tools.pm: fix typo
+
+2001-08-18 19:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, diskdrake.pm,
+ diskdrake_interactive.pm, install_interactive.pm,
+ install_steps_interactive.pm, interactive.pm, interactive_gtk.pm,
+ interactive_http.pm, interactive_newt.pm, printerdrake.pm,
+ proxy.pm, network/ethernet.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, network/tools.pm,
+ standalone/drakautoinst: big renaming of ask_from_entries_refH in
+ ask_from and ask_from_entries_refH_powered in ask_from_
+
+2001-08-18 19:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm: enhance look, fix
+ ask_fileW
+
+2001-08-18 19:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fs.pm: cleanup mounting options
+ parsing
+
+2001-08-18 16:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix pass
+ $all_hds->{hds} instead of $all_hds
+
+2001-08-18 02:44 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/printerdrake.pm: i18n fixes
+
+2001-08-18 02:24 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-08-18 02:10 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/: bootlook.pm, install_any.pm, raid.pm: fixed i18n
+
+2001-08-18 02:06 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/: network/ethernet.pm, network/network.pm,
+ standalone/drakgw: fixed i18n
+
+2001-08-18 01:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: fix po not build, add
+ interactive_http in DIRS
+
+2001-08-18 01:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: is_ext3 is needed in standalone
+
+2001-08-18 01:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/interactive_http/interactive_http.cgi:
+ fix typo
+
+2001-08-18 01:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: is_ext3 is needed in standalone Xtest
+ not needed in standalone
+
+2001-08-18 01:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/interactive_http/: Makefile,
+ interactive_http.cgi, miniserv.init: restrict the progs callable
+ to a few one.
+
+2001-08-18 01:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/interactive_http/: index.html,
+ index.html.pl: autogenerate index.html
+
+2001-08-18 01:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, diskdrake_interactive.pm, fs.pm: add
+ mount options choice (with IA-like stripping of unused options)
+
+2001-08-18 01:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: move back sunhme in sparc only
+
+2001-08-18 01:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: use diskdrake_interactive
+ instead of diskdrake
+
+2001-08-17 19:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (part_possible_actions):
+ have possible actions sorted the way we want
+
+2001-08-17 19:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake_interactive.pm: (Type): fix ext2->ext3
+ detection
+
+2001-08-17 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, bootlook.pm,
+ detect_devices.pm, diskdrake.pm, diskdrake_interactive.pm, fs.pm,
+ fsedit.pm, install2.pm, install_any.pm, install_interactive.pm,
+ install_steps.pm, install_steps_auto_install.pm,
+ install_steps_interactive.pm, loopback.pm, partition_table.pm,
+ partition_table_raw.pm, raid.pm, standalone/diskdrake: a hell lot
+ of cleanup/rewrite: * diskdrake_interactive created, diskdrake is
+ now interactive aware * added some documentation about the
+ structure used for partitioning * all_hds now contain the various
+ hds, lvm, raid * cleanup the isLVM, isRAID and alike functions *
+ field {type} in detect_devices is now {media_type} *
+ detect_devices::floppies is now floppies_dev * removed old
+ function prototypes
+
+2001-08-17 18:12 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/share/rpmsrate: Corrected listing of packages for
+ printing in 'INSTALL' section.
+
+2001-08-17 13:18 Dam's
+
+ * perl-install/: install2.pm, interactive.pm: removed no_incon
+
+2001-08-17 13:15 Dam's
+
+ * perl-install/standalone/net_monitor: added no internet connection
+ configured label on button
+
+2001-08-17 13:14 Dam's
+
+ * perl-install/interactive_gtk.pm: no scrollbar if list <= 10 and
+ the list is alone
+
+2001-08-17 13:04 Dam's
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: corrected
+ connection script creation
+
+2001-08-17 12:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add package needed by the install in
+ INSTALL remove shapecfg and gpa
+
+2001-08-16 22:00 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed bug of CUPS not being
+ installed during installation
+
+2001-08-16 20:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm: add remove_unused to
+ have more place for mo files
+
+2001-08-16 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getAndSaveAutoInstallFloppy): fix a
+ missing del_loop which caused the unmounting at end of install to
+ fail
+
+2001-08-16 17:00 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add package needed by the install in
+ INSTALL
+
+2001-08-16 15:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Fixed setup dialog for the
+ "postpipe" connection type
+
+2001-08-16 14:31 Pixel <pixel at mandriva.com>
+
+ * update_kernel: takes care of cardmgr in sbin
+
+2001-08-16 12:14 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kernel in INSTALL
+ s/DrakConf/drakconf/
+
+2001-08-16 11:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2001-08-16 10:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added explicit setting of XFree86 internal
+ XIM for Thai
+
+2001-08-16 06:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: updated French file
+
+2001-08-16 00:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Let the "Options"
+ button only appear when the queue is Foomatic or with PPD (CUPS)
+
+2001-08-15 19:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sp.po, sr.po, tr.po: updated Turkish and
+ Serbian files
+
+2001-08-15 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: oops reverting modifs commited
+ by error
+
+2001-08-15 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: diskdrake, keyboarddrake: fix
+ XkbOptions handling
+
+2001-08-15 17:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, it.po, ko.po: updated Indonesian,
+ Italian and Korean files
+
+2001-08-15 07:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: es.po, id.po: updated spanish and
+ Indonesian files
+
+2001-08-14 23:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: cleanup (it was working, but wasn't
+ nice)
+
+2001-08-14 23:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: remove ask_file (was unused)
+
+2001-08-14 23:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm: - small fixes
+ (esp. gtk sensitive handling) - add ask_file - add "gtk"
+ preference field
+
+2001-08-14 23:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/http.pm: cleanup to please perl_checker
+
+2001-08-14 23:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add number-only device-name handling
+ (eg: "801" is "sda1")
+
+2001-08-14 23:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (TAGS): add MDK/Common files
+
+2001-08-14 19:28 Dam's
+
+ * perl-install/standalone/net_monitor: added options
+
+2001-08-14 17:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-08-14 17:56 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: oops, fix type of installing X or
+ not
+
+2001-08-14 17:27 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: - fix
+ createBootdisk with auto - fix setupBootloader with auto
+
+2001-08-14 16:56 Pixel <pixel at mandriva.com>
+
+ * update_kernel: (install_kernel): small location fixes
+
+2001-08-14 16:48 Guillaume Cottenceau
+
+ * perl-install/Makefile.config: add drakautoinst in drakxtools
+ standalone binaries
+
+2001-08-14 16:36 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, install_steps.pm,
+ install_steps_interactive.pm, network/netconnect.pm: - fix
+ behaviour of draknet when auto-install - remove auto flag when
+ error-in-step
+
+2001-08-14 16:36 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: - fix choice of packages when auto
+ install
+
+2001-08-14 16:35 Guillaume Cottenceau
+
+ * perl-install/Xconfigurator.pm: fix automatic configuration
+
+2001-08-14 16:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Transfer queues non-interactively
+ when switching between LPD and LPRng.
+
+2001-08-14 16:01 Dam's
+
+ * perl-install/standalone/draknet: corrected activation button
+
+2001-08-14 15:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: fix typo?
+
+2001-08-14 13:34 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Wait message for queue transfer,
+ manufacturer name bugfix
+
+2001-08-14 13:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Removed superfluous lines.
+
+2001-08-14 01:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Automatic transfer of
+ queues when changing the spooler.
+
+2001-08-13 22:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, install_steps.pm,
+ install_steps_interactive.pm, standalone/XFdrake: really use a
+ class_discard for Xconfigurator::main
+
+2001-08-13 21:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm,
+ install_steps_auto_install.pm, steps.pm: auto_inst enhancements
+
+2001-08-13 21:08 Guillaume Cottenceau
+
+ * perl-install/standalone/drakautoinst: ouch! use lib from
+ /usr/lib/libDrakX, rather than from ..
+
+2001-08-13 21:06 Guillaume Cottenceau
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_auto_install.pm, install_steps_interactive.pm,
+ steps.pm, standalone/drakautoinst: initial revision for
+ drakautoinst - put %installSteps in a separate package (steps.pm)
+ (for drakxtools) - use additional fields {auto} and {noauto}, by
+ step, to ease interactive auto install and oem stuff - in
+ install2.pm, perform each step either from the interactive class
+ or from install_steps, according to the {auto} flag - id, tell
+ each step to not try to be automatic if {noauto} - in the
+ install, have auto install bootdisk created in install_any so we
+ can always write a bootdisk (from install_steps) for further use
+ from drakautoinst in standalone - interactive version of
+ install_steps_auto_install is now inheriting from the interactive
+ class, so we can click on a previous automatic step and have it
+ interactively during an interactive auto install
+
+2001-08-13 21:01 Guillaume Cottenceau
+
+ * make_boot_img: don't generate a useless rdz file
+
+2001-08-13 20:42 Dam's
+
+ * perl-install/interactive.pm: corrected 'no icon'
+
+2001-08-13 17:11 Dam's
+
+ * perl-install/network/: adsl.pm, netconnect.pm: adsl autodetection
+ activated (planq the children)
+
+2001-08-13 15:24 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Update printer queue list when
+ exiting during install, so that the "Summary" entry is correct.
+
+2001-08-13 15:24 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-08-13 13:49 Yves Duret
+
+ * perl-install/standalone/drakxconf: removed diskdrake from the
+ choice
+
+2001-08-13 13:47 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: The photo test page was not printed
+ during installation.
+
+2001-08-13 13:45 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: When one sayd "No" on the test
+ page, the modify dialog was not pointing to the current printer
+
+2001-08-13 13:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/interactive.pm: Tree lists are sorted again now.
+
+2001-08-13 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: add /dev/hd[mt] handling
+
+2001-08-13 00:35 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/interactive.pm: Lists get only sorted when the
+ "sort" option is given.
+
+2001-08-13 00:33 Pixel <pixel at mandriva.com>
+
+ * tools/cvslog2changelog.pl: add till
+
+2001-08-13 00:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: clean the nice till fix
+
+2001-08-13 00:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: ensure locales.tar.bz2 in
+ perl-install/share is build
+
+2001-08-13 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/po/Makefile: po->mo is no longer
+ gonna be nasty with us
+
+2001-08-12 23:54 Dam's
+
+ * perl-install/standalone/draknet: longer timeout
+
+2001-08-12 23:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Check files before
+ checking RPM database => Acceleration, waiting windows
+
+2001-08-12 22:04 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix ortograf typo
+
+2001-08-12 20:38 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Now the cursor in the main menu
+ stands on the position which was choosen last time.
+
+2001-08-12 20:22 Dam's
+
+ * perl-install/: network/tools.pm, standalone/draknet,
+ standalone/net_monitor: corrected connected call
+
+2001-08-12 17:36 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/interactive_newt.pm: When a dialog has too many
+ widgets use a scrollbar so that the dialog does not exceed the
+ screen size
+
+2001-08-12 17:18 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: When a dialog has too many
+ widgets use a scrollbar so that the dialog does not exceed the
+ screen size
+
+2001-08-12 02:37 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: Fixed bug of input fields with a
+ number as default input not allowing to enter more characters
+ than the value of the number.
+
+2001-08-12 02:08 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: "Expert Mode" button,
+ better "Remote CUPS server" dialog, bugfixes
+
+2001-08-11 20:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-08-11 06:18 Dam's
+
+ * perl-install/share/: logo-mandrake.png, themes-mdk.rc, themes.rc:
+ new theme for beta
+
+2001-08-11 06:18 Dam's
+
+ * perl-install/share/theme-editor.pl: updated
+
+2001-08-11 03:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printerdrake.pm, printer.pm: Restructuring
+ continued and debugged
+
+2001-08-11 03:24 Dam's
+
+ * perl-install/share/theme-editor.pl: now works.
+
+2001-08-11 01:42 Dam's
+
+ * perl-install/share/theme-editor.pl: added theme editor
+
+2001-08-11 00:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: updated Bulgarian file
+
+2001-08-10 22:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: small font fix
+
+2001-08-10 22:17 Dam's
+
+ * perl-install/standalone/draknet: corrected internet cnfiguration
+ pop up, and some other studds
+
+2001-08-10 22:16 Dam's
+
+ * perl-install/network/netconnect.pm: added spped and timeout
+ handling for isdn
+
+2001-08-10 22:15 Dam's
+
+ * perl-install/network/tools.pm: corrected password file
+ substitution
+
+2001-08-10 22:14 Dam's
+
+ * perl-install/network/isdn.pm: tomeout option deactivated.
+
+2001-08-10 22:13 Dam's
+
+ * perl-install/network/ethernet.pm: remove Data::Dumper
+
+2001-08-10 22:11 Dam's
+
+ * perl-install/my_gtk.pm: removed Datta::Dump use
+
+2001-08-10 20:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated pot file
+
+2001-08-10 19:50 Dam's
+
+ * perl-install/any.pm: corrected autologin question
+
+2001-08-10 12:50 Dam's
+
+ * perl-install/pixmaps/eth_card_mini2.png: added
+
+2001-08-10 12:49 Dam's
+
+ * perl-install/standalone/draknet: ifup/down ethx, anew pixmap for
+ list
+
+2001-08-10 03:45 Yves Duret
+
+ * perl-install/bootlook.pm: corrected vnew usage (thx gc)
+
+2001-08-10 01:25 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: New structure for
+ queue modification, general structure clean-up
+
+2001-08-10 00:59 Dam's
+
+ * perl-install/my_gtk.pm: added gtkbuttonset, and corrected
+ scrollbar height for standalone mode.
+
+2001-08-10 00:39 Dam's
+
+ * perl-install/network/tools.pm: added useless function
+ type2interface for future use
+
+2001-08-09 20:42 Dam's
+
+ * perl-install/standalone/draknet: added missing use added pixmap
+ for eth. Some factorisation
+
+2001-08-09 20:41 Dam's
+
+ * perl-install/network/isdn.pm: labels corrections
+
+2001-08-09 17:28 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: put traceroute in network client
+ also, for claudio
+
+2001-08-09 15:05 Yves Duret
+
+ * perl-install/bootlook.pm: readded in->do_pkg->install (i sux)
+
+2001-08-09 14:58 Yves Duret
+
+ * perl-install/bootlook.pm: rewrite in a more drakx fashion
+
+2001-08-09 14:37 Yves Duret
+
+ * perl-install/my_gtk.pm: added gtkset_sensitive in wrapper..
+
+2001-08-09 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, standalone.pm: rename
+ interactive_pkgs in pkgs_interactive
+
+2001-08-09 11:35 Guillaume Cottenceau
+
+ * perl-install/standalone/: XFdrake, adduserdrake, drakboot,
+ drakgw, draknet, drakproxy, draksec, drakxconf, drakxservices,
+ keyboarddrake, livedrake, mousedrake, net_monitor, printerdrake,
+ tinyfirewall: use vnew the right way everywhere
+
+2001-08-09 11:24 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/standalone/interactive_http/: Makefile,
+ miniserv.logrotate: Added logrotate for
+ "/var/log/drakxtools_http.log"
+
+2001-08-09 11:15 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - if package installs fail, redo
+ one by one to know which one failed - try to not end up with a
+ failing configuration file, if program is brutally stopped - if
+ unrecognized config file, don't fail, rather ignore it and
+ proceed - run dhcpd_update feature (if present) after setup of
+ dhcp server
+
+2001-08-09 01:33 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Different choosable
+ test pages available now
+
+2001-08-09 01:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: installing foomatic
+ before doing anything about printer
+
+2001-08-09 00:20 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Corrected init script calls in the
+ (start|stop|restart)_service functions
+
+2001-08-09 00:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (remove, remove_nodeps): fix typo
+
+2001-08-08 22:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: typo
+
+2001-08-08 22:44 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printerdrake.pm: Removed superfluous line in
+ install_spooler function
+
+2001-08-08 22:42 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: Installation fitted to
+ new printerdrake
+
+2001-08-08 22:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, install_any.pm,
+ install_steps.pm: makes interactive_pkgs stuff work
+
+2001-08-08 21:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated pot file
+
+2001-08-08 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, bootlook.pm,
+ install_any.pm, install_steps.pm, install_steps_interactive.pm,
+ printer.pm, printerdrake.pm, proxy.pm, standalone.pm,
+ tinyfirewall.pm, network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/modem.pm, network/netconnect.pm,
+ network/network.pm, network/tools.pm, standalone/XFdrake,
+ standalone/adduserdrake, standalone/drakgw, standalone/draknet,
+ standalone/drakproxy: add interactive_pkgs stuff
+
+2001-08-08 20:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: skip module CGI in test_pms (perl_checker)
+
+2001-08-08 20:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (check_mntpoint): remove /root from
+ directories that "should remain within the root filesystem"
+
+2001-08-08 19:48 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printerdrake.pm, standalone.pm: New package
+ handling functions
+
+2001-08-08 19:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/printerdrake.pm: fixed a translatable string
+
+2001-08-08 19:27 Dam's
+
+ * perl-install/standalone/draknet: added state of eth card added
+ internet config modification corrected ifconfig use removed
+ network disabling (no lo anymore, bad)
+
+2001-08-08 19:25 Dam's
+
+ * perl-install/network/tools.pm: huptimeout handling
+
+2001-08-08 19:24 Dam's
+
+ * perl-install/network/netconnect.pm: removed splash screen during
+ install
+
+2001-08-08 19:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone.pm: adding interactive_pkgs stuff
+
+2001-08-08 19:24 Dam's
+
+ * perl-install/network/isdn.pm: added HUPTIMEOUT option handling
+
+2001-08-08 19:23 Dam's
+
+ * perl-install/network/adsl.pm: cosmetic
+
+2001-08-08 19:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, printer.pm,
+ printerdrake.pm, standalone/printerdrake: change to do_pkgs
+
+2001-08-08 19:10 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Bugfixes on automatic
+ installation of needed packages
+
+2001-08-08 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (miscellaneous): defaults
+ perImageAppend to devfs=mount
+
+2001-08-08 18:05 Yves Duret
+
+ * perl-install/my_gtk.pm: added gtkset_sensitive
+
+2001-08-08 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: disable XFS as we don't have it
+ in the kernel
+
+2001-08-08 15:18 Pixel <pixel at mandriva.com>
+
+ * update_kernel: update install_kernel to the fact that boot
+ kernels are now rpms
+
+2001-08-08 13:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (naughtyServers): add drakxtools-http
+
+2001-08-08 01:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: draknet_step.png, network.png: re-adding
+ with -kb
+
+2001-08-08 01:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: draknet_step.png, network.png: removing
+ for re-adding with -kb
+
+2001-08-08 00:56 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Automatic
+ installation of all needed packages
+
+2001-08-07 23:39 Dam's
+
+ * perl-install/pixmaps/: draknet_step.png, network.png: added
+
+2001-08-07 23:00 Dam's
+
+ * perl-install/standalone/net_monitor: nex features
+
+2001-08-07 22:59 Dam's
+
+ * perl-install/network/netconnect.pm: removed debugging message
+
+2001-08-07 22:58 Dam's
+
+ * perl-install/network/isdn.pm: corrected pkgs use -> require
+
+2001-08-07 22:58 Dam's
+
+ * perl-install/my_gtk.pm: added gtkset_relief
+
+2001-08-07 21:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.drakxtools,
+ interactive_http.pm, standalone/interactive_http.cgi,
+ standalone/interactive_http/Makefile,
+ standalone/interactive_http/index.html,
+ standalone/interactive_http/interactive_http.cgi,
+ standalone/interactive_http/miniserv.conf,
+ standalone/interactive_http/miniserv.init,
+ standalone/interactive_http/miniserv.pam,
+ standalone/interactive_http/miniserv.pl,
+ standalone/interactive_http/miniserv.users: add interactive_http
+
+2001-08-07 21:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: nicer names for journalised fs
+
+2001-08-07 21:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/main.pm: fix
+
+2001-08-07 21:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/diskdrake.rc: have every journalised in
+ darkred
+
+2001-08-07 20:53 Dam's
+
+ * perl-install/standalone/net_monitor: added color choice
+
+2001-08-07 20:53 Dam's
+
+ * perl-install/standalone/draknet: corrected label
+
+2001-08-07 19:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/interactive_http/: miniserv.pem,
+ miniserv.pl: Initial revision
+
+2001-08-07 19:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: miniserv.pem, miniserv.pl: Initial
+ revision
+
+2001-08-07 19:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: miniserv.pem, miniserv.pl: import
+
+2001-08-07 17:07 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile.common, bzlib/bzlib.h: don't use system
+ wide bzlib.h but our own provided one
+
+2001-08-07 15:16 Dam's
+
+ * perl-install/standalone/net_monitor: lot of improvments
+
+2001-08-07 14:54 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: say that it's a data read error, when we
+ can't load the ramdisk
+
+2001-08-07 12:23 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/issue: fix distrib number
+
+2001-08-07 02:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_http.pm,
+ standalone/interactive_http.cgi: adding http feature, mainly for
+ standalone tools
+
+2001-08-07 02:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: add S_IFIFO
+
+2001-08-06 23:54 Dam's
+
+ * perl-install/: my_gtk.pm, network/ethernet.pm, network/isdn.pm,
+ network/netconnect.pm: debugging, profile coding, isdn 128
+ debugging
+
+2001-08-06 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, interactive_newt.pm: cleanup,
+ functions already defined in interactive
+
+2001-08-06 18:02 Dam's
+
+ * perl-install/: install_steps_gtk.pm, interactive_gtk.pm,
+ my_gtk.pm: corrected gtkradio : shift instead of pop
+
+2001-08-06 17:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/de.po: Updates to German file by Peer
+ Dunker <peer46@gmx.net>
+
+2001-08-06 16:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: updated Vietnamese file
+
+2001-08-06 15:37 Yves Duret
+
+ * perl-install/tinyfirewall.pm: use MDK::Common; use
+ network::netconnect;
+
+2001-08-06 15:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (@suggestions_mntpoints): remove /root
+ (tx2gc)
+
+2001-08-06 15:11 Yves Duret
+
+ * perl-install/standalone/drakgw: use MDK::Common; use
+ network::netconnect; and update functions call from netconnect
+
+2001-08-06 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: kernel_arch removed
+
+2001-08-06 12:15 Guillaume Cottenceau
+
+ * tools/i386/busybox: try a busybox with better globbing under the
+ SHELL
+
+2001-08-05 15:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: switch to gtk install
+ when interactiveSteps is defined
+
+2001-08-05 15:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eo.po: updated Esperanto file
+
+2001-08-05 02:39 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Automatic
+ installation and start of the desired printer spooler
+
+2001-08-05 01:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add tune2fs enabling switching from ext2
+ to ext3
+
+2001-08-05 01:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fs.pm, fsedit.pm,
+ partition_table.pm: add ext3 support
+
+2001-08-05 01:35 Pixel <pixel at mandriva.com>
+
+ * update_kernel: bloody cp -f not overriding the -i
+
+2001-08-05 01:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/: Makefile.PL, stuff.xs.pm: add is_ext3
+
+2001-08-05 01:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: moved arch() and alike to
+ MDK::Common::System
+
+2001-08-05 01:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Type): handle lossless switch from
+ ext2 to ext3
+
+2001-08-05 00:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: make perl_checker happy
+
+2001-08-04 21:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_raw.pm: add yaboot detection
+
+2001-08-04 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: add the feather feature, but
+ do not enable it
+
+2001-08-04 14:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: as when lilo is selected, we don't
+ try to install grub, just create the config file in case it may
+ be useful
+
+2001-08-04 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: share/rpmsrate, install_any.pm: create a new flags
+ "X" selected by default, contain what X related packages which
+ were in "SYSTEM"
+
+2001-08-04 14:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (choosePackages): simplify, fix
+ setSelectedFromCompssList not called in expert even the
+ first_time (especially nasty for auto_installs)
+
+2001-08-04 13:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_browse_tree_info_refW):
+ s/wait_msg/wait_message/ (wait_msg doesn't exist anywhere, it
+ must be a fpons typo)
+
+2001-08-04 01:24 Dam's
+
+ * perl-install/: network/isdn.pm, network/netconnect.pm,
+ network/tools.pm, standalone/net_monitor: debugging, 128Kb/s ISDN
+
+2001-08-03 23:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: typo fix
+
+2001-08-03 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, diskdrake.pm, fs.pm,
+ install_any.pm, install_steps_interactive.pm, partition_table.pm:
+ replace isJfs/isXfs/... with isThisFs("jfs"
+
+2001-08-03 22:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: better po skipping
+
+2001-08-03 20:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (check_mntpoint): /root should remain
+ within the root filesystem
+
+2001-08-03 20:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (choosePartitionsToFormat):
+ toFormatUnsure=1 for /usr
+
+2001-08-03 20:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (sync): (re-?)add
+
+2001-08-03 15:43 Dam's
+
+ * perl-install/: Makefile, Makefile.drakxtools: added network pms
+
+2001-08-03 02:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm: update_userkderc
+ is now called update_gnomekderc
+
+2001-08-02 17:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, install_any.pm,
+ install_interactive.pm, install_steps_interactive.pm,
+ services.pm, network/netconnect.pm: instead of testing if
+ ref($in) or ref($o) contains /gtk/, test if interactive_gtk is in
+ ISA of the object
+
+2001-08-02 17:10 Guillaume Cottenceau
+
+ * mdk-stage1/doc/TECH-INFOS: - small update
+
+2001-08-02 17:02 Guillaume Cottenceau
+
+ * mdk-stage1/: adsl.c, doc/TECH-INFOS: - fix problem of clashing
+ user/pass between adsl and ftp/http in case of automatic installs
+ - update doc on automatic install parameters (doc/TECH-INFOS)
+
+2001-08-02 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fsedit.pm, partition_table.pm: JFS
+ support
+
+2001-08-02 16:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2001-08-02 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm, tools/ntp_servers.pl: update ntp
+ servers list
+
+2001-08-02 13:40 Pixel <pixel at mandriva.com>
+
+ * update_kernel: minor fix
+
+2001-08-02 13:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install_any.pm, partition_table.pm,
+ share/list: add jfs support
+
+2001-08-01 20:17 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/printer.pm: Fixed bug in recognizing the printer ID
+ in the Foomatic overview.
+
+2001-08-01 14:52 Dam's
+
+ * perl-install/network/isdn.pm: typo
+
+2001-08-01 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, install_steps.pm: handle
+ auto_allocate_raids for auto_installs
+
+2001-08-01 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: (new): now works with a list of partitions
+
+2001-08-01 14:46 Dam's
+
+ * perl-install/network/netconnect.pm: translation correction
+
+2001-08-01 14:46 Dam's
+
+ * perl-install/network/isdn.pm: added de-installation before
+ installateion
+
+2001-08-01 14:45 Dam's
+
+ * perl-install/my_gtk.pm: write_on_text writes in blue instead of
+ black
+
+2001-08-01 00:46 Guillaume Cottenceau
+
+ * perl-install/install_steps_interactive.pm: after copying the auto
+ install floppy, sync in case you shall remove the floppy right
+ after the LED switches off yet the kernel decides to not flush
+ everything
+
+2001-08-01 00:33 Guillaume Cottenceau
+
+ * perl-install/bootloader.pm: load msdos and vfat before mkbootdisk
+ (now using syslinux so..)
+
+2001-08-01 00:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (translate): empty string translation is
+ an empty string
+
+2001-07-31 23:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: gen_locales.sh, locales-skeleton.tar.bz2:
+ chineese locale support
+
+2001-07-31 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: remove bad prototype
+
+2001-07-31 22:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: (test_mouse): s/my (.*) = 0 if 0/my
+ $1 if 0/
+
+2001-07-31 22:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): make
+ $show_advertising a global state (for Vincent Meyer)
+
+2001-07-31 19:25 Guillaume Cottenceau
+
+ * mdk-stage1/modules_descr.h, perl-install/modules.pm: have "catc"
+ driver for usbnet installs
+
+2001-07-31 18:29 Dam's
+
+ * perl-install/network/netconnect.pm: added splash screen between
+ different configurations. Added splash wizard mode
+
+2001-07-31 18:28 Dam's
+
+ * perl-install/my_gtk.pm: added write_on pixmap : a function to
+ write text on pixma, using fonts.
+
+2001-07-31 16:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/Makefile, share/gen_locales.sh,
+ share/locales-skeleton.tar.bz2: better handling of locales
+
+2001-07-31 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add cpio lower gurpmi (5->4)
+
+2001-07-31 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: (install): s/cp -rf/cp -rfL/
+ (-L = --dereference, aka always follow symbolic links)
+
+2001-07-31 02:25 Dam's
+
+ * perl-install/network/: ethernet.pm, netconnect.pm: added intro
+ step for each configuration type.
+
+2001-07-31 02:25 Dam's
+
+ * perl-install/network/tools.pm: corrected ask_connect_now
+
+2001-07-31 01:30 Dam's
+
+ * perl-install/network/netconnect.pm: corrected ask_connect_now
+ behaviour
+
+2001-07-30 20:41 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: In beginners mode one
+ chooses only the printer, not the driver (default driver)
+
+2001-07-30 19:39 Dam's
+
+ * perl-install/network/: adsl.pm, isdn.pm, modem.pm, netconnect.pm,
+ tools.pm: corrected ask_connect_now
+
+2001-07-30 19:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: raise rxvt (4->5) lower rpmdrake &
+ harddrake (5->4) remove rootfiles (unneeded)
+
+2001-07-30 19:11 Dam's
+
+ * perl-install/network/ethernet.pm: added cable internet connection
+ selection
+
+2001-07-30 19:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/resize_fat/main.pm: switch to MDK::Common (i wonder
+ why it was not done yet)
+
+2001-07-30 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (getDeps): ensure "depslist.ordered has not
+ same package as hdlist files" occurs when the hdlists are in fact
+ not available
+
+2001-07-30 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: use -excludeMDK::Common::Globals for
+ perl_checker
+
+2001-07-30 19:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: use MDK::Common i
+ wonder why it was included and Till used an older version without
+ merging?
+
+2001-07-30 18:54 Dam's
+
+ * perl-install/network/netconnect.pm: debug
+
+2001-07-30 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/.cvsignore, share/gen_locales.sh,
+ share/locales-skeleton.tar.bz2: automatic handling of
+ locales.tar.bz2 based on installed glibc
+
+2001-07-30 17:54 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, tools.pm: added internet connection selection in
+ case of multiple configurations
+
+2001-07-30 15:28 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, stage1.c, tools.c: have a memory
+ limit also for Rescue (different one)
+
+2001-07-28 23:09 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm: Support for PPD files
+ of PostScript printers (when CUPS is used)
+
+2001-07-27 18:51 Till Kamppeter <till at mandriva.com>
+
+ * perl-install/: printer.pm, printerdrake.pm,
+ standalone/printerdrake: Printerdrake changed to use Foomatic,
+ driver options, spooler change
+
+2001-07-27 17:56 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: allow to escape from Update Modules if you
+ don't want to insert an ext2 floppy
+
+2001-07-27 16:27 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, help.pm, keyboard.pm,
+ partition_table.pm: last of sync with PPC beta mods
+
+2001-07-27 15:14 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed undeselectable group
+ when 'Other' sub-tree is seen as a package.
+
+2001-07-27 15:06 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * Makefile, make_boot_img: - Makefile (ia64): RELEASE_BOOT_IMG is
+ all.img - make_boot_img (initrd): ia64: increased image to 16 MB,
+ don't try to copy /etc/pcmcia since we don't have it
+
+2001-07-27 14:59 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: - install_steps_gtk.pm
+ (launchX) : create /var/log, if not existent, for XFree86.log
+
+2001-07-27 14:29 Fançois Pons
+
+ * perl-install/interactive_gtk.pm: allow ask_browse_tree_info_refW
+ to return 0 on cancel (previously always 1).
+
+2001-07-27 14:28 Fançois Pons
+
+ * perl-install/services.pm: allow cancel on services which do not
+ change anything.
+
+2001-07-27 14:20 Fançois Pons
+
+ * perl-install/interactive_gtk.pm: added a before leaving code to
+ clean added reference (else it seems to bahave strangely on
+ changing steps).
+
+2001-07-27 14:18 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: changed warn dialog to
+ okcancel dialog when asking user to insert Boot floppy used or
+ Update Modules floppy (die may cause to rerun install else).
+
+2001-07-27 13:58 Fançois Pons
+
+ * perl-install/interactive_gtk.pm: fixed wrong reference to added
+ icons to ask_browse_tree_info_refW.
+
+2001-07-27 12:49 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: Disk -> Floppy for Update Modules disk
+
+2001-07-26 19:43 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fix spelling of 'molette'
+
+2001-07-26 19:21 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed some silly typo and tiny
+ bugs.
+
+2001-07-26 18:08 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: really fixes Diskette
+ with Floppy.
+
+2001-07-26 17:56 Fançois Pons
+
+ * perl-install/bootloader.pm: added prioritary kernel entry
+ 'default' as the kernel typically copied from a modified
+ blank.img file with a kernel (no initrd.img necessary to build).
+ This kernel takes precedance over any other kernel.
+
+2001-07-26 17:47 Fançois Pons
+
+ * perl-install/install2.pm: added blank and updatemodules options
+ to DrakX.
+
+2001-07-26 17:47 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fix typo as Diskette
+ to Floppy.
+
+2001-07-26 17:46 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed typo as Diskette to Floppy.
+
+2001-07-26 17:45 Fançois Pons
+
+ * perl-install/install_steps.pm: add support for modified blank.img
+ floppy and Update Modules floppy. In first case copy kernel to
+ /boot/vmlinuz-default to be taken into account by bootloader
+ suggestion method. In second case, check installed kernel and
+ update any modules listed in the Update Modules floppy.
+
+2001-07-26 17:43 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: add support for new
+ modules load as described by GG.
+
+2001-07-26 16:33 Gwenole Beauchesne <gbeauchesne at mandriva.com>
+
+ * perl-install/bootloader.pm: - Don't set "lba32" on ia64
+
+2001-07-26 15:12 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c: pass "--blank" to
+ DrakX when module loading is disabled
+
+2001-07-26 14:50 Dam's
+
+ * perl-install/standalone/draknet: MDK::common correction
+
+2001-07-26 14:49 Dam's
+
+ * perl-install/network/isdn.pm: added firmware
+ loading/configuration not loading the module at detection.
+
+2001-07-26 14:47 Dam's
+
+ * perl-install/modules.pm: added default option id="HiSax" to isdn
+ module
+
+2001-07-26 13:05 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c, stage1.h, tools.c,
+ doc/UPDATEMODULES: - add "changedisk" feature - add
+ "updatemodules" feature
+
+2001-07-26 12:26 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: silently load usb controllers
+
+2001-07-25 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, common.pm, install2.pm,
+ install_steps.pm, partition_table.pm, partition_table_mac.pm,
+ partition_table_raw.pm, partition_table_sun.pm: do not export
+ sync, keep it in common (esp. so that it doesn't conflict with
+ my_gtk::sync
+
+2001-07-25 17:40 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed no test (or die test) to void package
+ read on depslist (allowed to keep package indexing good on
+ multi-arch).
+
+2001-07-25 16:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * mdk-stage1/modules_descr.h: add decriptions for integrated Apple
+ Network/SCSI hardware
+
+2001-07-25 14:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add MDK::Common::Globals
+
+2001-07-25 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: - temporary hack to have at least good
+ UTF-8 based locales (otherwise rpmlib segfaults) - touch
+ share/po/*.po, so that they are not rebuilded (pablo takes care
+ of them)
+
+2001-07-25 14:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (removeXiBSuffix): add TB (tera)
+
+2001-07-25 14:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/verify_modules.pl: new common syntax
+
+2001-07-25 14:32 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: use MDK::Common
+
+2001-07-25 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: (install): build mo's
+
+2001-07-25 14:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/i18n_compssUsers: use MDK::Common
+
+2001-07-25 14:14 Dam's
+
+ * perl-install/standalone/draknet: fixed new network organization
+
+2001-07-25 14:13 Dam's
+
+ * perl-install/network/isdn_consts.pm: updated ISDN detection.
+ Added firmware handling and drivers other than hisax
+
+2001-07-25 14:12 Dam's
+
+ * perl-install/standalone/net_monitor: updated. Profile handling.
+
+2001-07-25 14:08 Fançois Pons
+
+ * rescue/make_rescue_img: fixed to use perl-MDK-Common.
+
+2001-07-25 13:44 Fançois Pons
+
+ * perl-install/pkgs.pm: cleaned code to examine depslist.ordered
+ and packages list.
+
+2001-07-25 12:29 Guillaume Cottenceau
+
+ * mdk-stage1/: init.c, newt-frontend.c: Use Yahve quoting
+
+2001-07-25 12:29 Guillaume Cottenceau
+
+ * mdk-stage1/modules_descr.h: small typo
+
+2001-07-25 11:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands: move to MDK::Common, bool->to_bool
+
+2001-07-25 11:06 Fançois Pons
+
+ * tools/syncrpms: fixed still missing rpmtools:: before a
+ version_compare ...
+
+2001-07-25 01:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, swap.pm: temporary hack to have at least
+ good UTF-8 based locales (otherwise rpmlib segfaults)
+
+2001-07-25 00:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/: globals.pm, perl2fcalls, network/adsl.pm,
+ network/ethernet.pm, network/isdn.pm, network/modem.pm,
+ network/netconnect.pm, network/tools.pm: - globals is now
+ MDK::Common::Globals - perl2fcalls is now /usr/bin/perl_checker
+
+2001-07-25 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, install_steps_gtk.pm: move to
+ MDK::Common, bool->to_bool
+
+2001-07-25 00:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm, any.pm, bootloader.pm, bootlook.pm,
+ commands.pm, common.pm, crypto.pm, detect_devices.pm, devices.pm,
+ diskdrake.pm, fs.pm, fsedit.pm, help.pm, install2.pm,
+ install_any.pm, install_gtk.pm, install_interactive.pm,
+ install_steps.pm, install_steps_auto_install.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm,
+ install_steps_newt.pm, install_steps_stdio.pm, interactive.pm,
+ interactive_gtk.pm, interactive_newt.pm, interactive_stdio.pm,
+ keyboard.pm, lang.pm, loopback.pm, lvm.pm, modparm.pm,
+ modules.pm, mouse.pm, my_gtk.pm, partition_table.pm,
+ partition_table_bsd.pm, partition_table_dos.pm,
+ partition_table_empty.pm, partition_table_mac.pm,
+ partition_table_raw.pm, partition_table_sun.pm, pkgs.pm,
+ printer.pm, printerdrake.pm, proxy.pm, raid.pm, services.pm,
+ swap.pm, timezone.pm, tinyfirewall.pm, network/adsl.pm,
+ network/ethernet.pm, network/isdn.pm, network/modem.pm,
+ network/netconnect.pm, network/network.pm, network/tools.pm,
+ resize_fat/any.pm, resize_fat/boot_sector.pm,
+ resize_fat/directory.pm, resize_fat/info_sector.pm,
+ resize_fat/main.pm, share/list, standalone/adduserdrake,
+ standalone/diskdrake, standalone/drakboot, standalone/drakgw,
+ standalone/draksec, standalone/drakxconf,
+ standalone/drakxservices, standalone/keyboarddrake,
+ standalone/livedrake, standalone/mousedrake,
+ standalone/net_monitor: move to MDK::Common, bool->to_bool
+
+2001-07-24 17:40 Dam's
+
+ * perl-install/network/: ethernet.pm, isdn_consts.pm,
+ netconnect.pm: corrected speed fax + PCI, updated configuration
+
+2001-07-24 17:01 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated pot file
+
+2001-07-24 12:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: cleanup (remove unused stuff and
+ dangerous prototypes)
+
+2001-07-24 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: fix syntax
+
+2001-07-24 12:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, common.pm, install_steps_gtk.pm,
+ printerdrake.pm, services.pm: removed/renamed unused/seldom-used
+ functions
+
+2001-07-24 12:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, any.pm, bootlook.pm, commands.pm,
+ common.pm, detect_devices.pm, install_any.pm, timezone.pm,
+ standalone/diskdrake, standalone/draknet, unused/scsi.pm:
+ generalize the use of chomp_ as the functional alternative to
+ chomp (and works on lists)
+
+2001-07-24 10:05 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/bootlook.pm: better runlevel handling -> persistent
+ level choice
+
+2001-07-23 22:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hr.po, sk.po: updated Slovak and Croatian
+ files
+
+2001-07-23 20:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/Makefile.drakxtools,
+ perl-install/common.pm, perl-install/lang.pm,
+ perl-install/standalone.pm, perl-install/c/stuff.xs.pm,
+ perl-install/share/po/.cvsignore, perl-install/share/po/Makefile,
+ tools/make_mdkinst_stage2: do not use the po's directly. Use mo's
+ through gettext
+
+2001-07-23 19:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cleanup
+
+2001-07-23 17:32 Dam's
+
+ * perl-install/: modules.pm, network/isdn.pm,
+ network/isdn_consts.pm, network/netconnect.pm, network/tools.pm:
+ isdn now works with isdn-light. Only 64kb/s and still some debuf
+ stuff to be fixed.
+
+2001-07-23 01:04 Dam's
+
+ * perl-install/network/: isdn.pm, isdn_consts.pm, netconnect.pm,
+ netconnect_consts.pm: updated isdn config, moved isdn_data from
+ netconnect_const to isdn_const
+
+2001-07-22 21:58 Dam's
+
+ * perl-install/: detect_devices.pm, modules.pm, network/isdn.pm,
+ network/netconnect.pm, network/tools.pm, standalone/net_monitor:
+ big work on isdn. Not finished
+
+2001-07-20 19:41 Fançois Pons
+
+ * docs/README.pxe: initial release, dhcpd and tftpd only.
+
+2001-07-20 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fake_c.pl: cleanup
+
+2001-07-20 16:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/: Makefile, fake_c.pl: externalize the pm 2
+ pm_.c in fake_c.pl
+
+2001-07-20 16:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: fix
+
+2001-07-20 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_po): enhance readability
+
+2001-07-20 16:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: fix
+
+2001-07-20 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (translate): basic plural forms handling
+ (not finished)
+
+2001-07-20 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/help.pm: fix missing ``"''
+
+2001-07-20 15:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_lilo): order fat partitions
+ first
+
+2001-07-20 13:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/el.po: updated Greek file
+
+2001-07-20 01:53 Dam's
+
+ * perl-install/network/netconnect.pm: correct bug. thanx to the
+ little stagiaire.
+
+2001-07-20 01:46 Dam's
+
+ * perl-install/share/: help.png, logo-mandrake.png, themes-mdk.rc,
+ themes.rc: new color
+
+2001-07-19 17:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, hr.po, hu.po, wa.po: updated
+ Croatian file
+
+2001-07-19 14:47 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed problable freeze on pci
+ probe.
+
+2001-07-19 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: fix exit install in
+ graphical auto_install's
+
+2001-07-19 12:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/services.pm: rename ask_install_gtk in ask_install,
+ ask_install is now ask_install_simple (obsolete)
+
+2001-07-19 12:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: no strict 'refs' instead of 'vars'
+
+2001-07-19 02:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_auto_install.pm,
+ install_steps_newt.pm: based on Michael Brown
+ <mbrown@fensystems.co.uk> patch: - enables graphical steps in
+ auto_installs for more than gtk - various cleanup
+
+2001-07-18 17:54 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/detect_devices.pm, perl-install/diskdrake.pm,
+ perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm, perl-install/partition_table_mac.pm,
+ tools/serial_probe/serial.c: roll back some changes from PPC beta
+ - OldWorld vs NewWorld bootloader modem detection on ttyS0, new
+ sound module in 2.4.4
+
+2001-07-18 16:53 mbadaire
+
+ * perl-install/: bootloader.pm, modules.pm, install_any.pm: IA64
+ adaptation
+
+2001-07-17 18:43 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: cleaned and added S3 Inc in the
+ list to disable test for these card.
+
+2001-07-17 18:38 Fançois Pons
+
+ * perl-install/install_steps.pm: disabled Frame buffer for all S3
+ cards (hangs with XF4 and S3 ViRGE on reboot with Aurora).
+
+2001-07-16 23:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: small keyboard changes
+
+2001-07-16 21:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed references to
+ XFree86-ISO8859-{2,9} packages (no more used)
+
+2001-07-13 15:35 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/po/fr.po: update
+
+2001-07-12 15:34 Fançois Pons
+
+ * perl-install/run_program.pm: changed exit code of failed exec in
+ rooted to 128 instead of 1 (may clash with exit code of fsck
+ else).
+
+2001-07-12 15:33 Fançois Pons
+
+ * perl-install/fs.pm: fixed wrong examination of fsck return code
+ (exit code 1 says fsck succeeded in fixing partition and now is
+ ok).
+
+2001-07-12 15:32 Fançois Pons
+
+ * perl-install/any.pm: fixed bug for writing in
+ /etc/sysconfig/desktop file.
+
+2001-07-12 13:14 Fançois Pons
+
+ * perl-install/interactive_gtk.pm: merging common code for
+ individual package selection and service to create
+ ask_browse_tree_info_refW, added featrures for group icon always
+ up-to-date (take some memory but not too much, not used if flat
+ model).
+
+2001-07-12 13:12 Fançois Pons
+
+ * perl-install/interactive.pm: added ask_browse_tree_info and
+ ask_browse_tree_info_refW (default).
+
+2001-07-12 13:11 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: use common code for tree with
+ info dialog (individual package selection).
+
+2001-07-12 13:11 Fançois Pons
+
+ * perl-install/services.pm: reworked to use new service layout for
+ install.
+
+2001-07-10 17:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * mdk-stage1/: Makefile.common, init.c: minor mods for PPC build,
+ define TIOCSCTTY, Makefile mods
+
+2001-07-09 18:18 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added LDAP support for
+ password authentication, updated root password window look.
+
+2001-07-09 18:17 Fançois Pons
+
+ * perl-install/install_any.pm: added LDAP support for
+ authentication.
+
+2001-07-09 18:17 Fançois Pons
+
+ * perl-install/help.pm: updated root password help.
+
+2001-07-09 18:16 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed compilation error.
+
+2001-07-09 16:55 mbadaire
+
+ * perl-install/bootloader.pm: modify lilo.conf to elilo.conf if
+ arch ia64
+
+2001-07-09 15:44 Fançois Pons
+
+ * perl-install/bootloader.pm: removed compilation error, the
+ resolution is not quite good and may be reworked :-)
+
+2001-07-09 15:20 Fançois Pons
+
+ * perl-install/pkgs.pm: added multiple tries if a transaction of
+ only one package fails.
+
+2001-07-09 14:11 mbadaire
+
+ * perl-install/common.pm: Add IA64 support
+
+2001-07-08 22:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): replace "is ia64" with "is
+ not ia64" so that boot partition is set correctly again
+
+2001-07-06 18:09 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed selected_leaves. change algorithm as
+ previous one can still causes dead lock and may not reproduce
+ correct list. take care of choice that need to be examined before
+ else another package may be chosen if choice is not satisfied
+ when selecting packages.
+
+2001-07-06 18:07 Fançois Pons
+
+ * perl-install/install_any.pm: change all 8 space into a
+ tabulation, this is simple and may change visual aspect but it
+ gives correct output and filesize by 40%.
+
+2001-07-06 12:35 Pixel <pixel at mandriva.com>
+
+ * tools/ntp_servers.pl: some workarounds
+
+2001-07-06 00:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: typo fix
+
+2001-07-06 00:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: ia64 bootloader
+ configuration adaptations
+
+2001-07-06 00:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (file2part): created
+
+2001-07-05 20:57 Guillaume Cottenceau
+
+ * mdk-stage1/modules_descr.h: add usb net descriptions
+
+2001-07-05 14:32 Fançois Pons
+
+ * perl-install/keyboard.pm: added DISABLE_WINDOWS_KEY in
+ /etc/sysconfig/keyboard if a laptop is detected.
+
+2001-07-05 01:20 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, network.pm, tools.pm: modularized. It compiles,
+ runs, and works for some stuff.
+
+2001-07-05 00:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: check exclude_uses before reporting bad
+ use of "use"
+
+2001-07-05 00:14 Dam's
+
+ * perl-install/network/: ethernet.pm, netconnect.pm, network.pm:
+ modularization continuated
+
+2001-07-05 00:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: exclude module globals from use's to
+ look at
+
+2001-07-05 00:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_interactive.pm: fix typo
+
+2001-07-04 21:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: (import): yet another fix
+
+2001-07-04 21:35 mbadaire
+
+ * tools/ia64/: e2fsck.shared, elilo.efi: Ia64 Adaptation
+
+2001-07-04 21:31 mbadaire
+
+ * make_boot_img, tools/specific_arch: Ia64 Adaptation
+
+2001-07-04 21:23 mbadaire
+
+ * perl-install/share/list.ia64: Ia64 Adaptation
+
+2001-07-04 21:22 mbadaire
+
+ * perl-install/: common.pm, install_gtk.pm, install_steps_gtk.pm,
+ share/list, share/list.alpha, share/list.i386, share/list.ppc,
+ share/list.sparc: Ia64 adaptation
+
+2001-07-04 21:18 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, tools.pm: updated CVS:
+ ----------------------------------------------------------------------
+
+2001-07-04 21:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: fix a pb when init is called before
+ another import
+
+2001-07-04 21:15 Dam's
+
+ * perl-install/globals.pm: added error handling
+
+2001-07-04 20:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm, install_steps.pm: verify a
+ /boot/efi partition exists
+
+2001-07-04 20:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: add /boot/efi in suggestions for ia64
+
+2001-07-04 19:32 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added missing last Card read from
+ Cards+ file.
+
+2001-07-04 19:31 Guillaume Cottenceau
+
+ * mdk-stage1/newt-frontend.c: very nice things happen when you
+ hardcode arrays to a too small value
+
+2001-07-04 19:31 Guillaume Cottenceau
+
+ * mdk-stage1/adsl.c: nonsense to exit if interface is not "eth.*"
+
+2001-07-04 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: typo correction
+
+2001-07-04 18:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: enhanced: shared values are grouped
+ together based on a name
+
+2001-07-04 18:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/globals.pm: module to share constant values between
+ modules
+
+2001-07-04 18:03 Dam's
+
+ * docs/net_object_class.fig: updated doc
+
+2001-07-04 17:59 Dam's
+
+ * perl-install/network/: adsl.pm, ethernet.pm, isdn.pm, modem.pm,
+ netconnect.pm, tools.pm: uses the fantastic global module.
+
+2001-07-04 17:24 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: allow S3 card to have VideoRam
+ uncommented, fix 86c368 video driver that seems needing VideoRam
+ too.
+
+2001-07-04 17:18 Dam's
+
+ * perl-install/: network/adsl.pm, network/ethernet.pm,
+ network/netconnect.pm, network/tools.pm, standalone/draknet:
+ corrected
+
+2001-07-04 17:02 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added back timezone
+ settings (thanks FredC).
+
+2001-07-04 15:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, install_any.pm, share/list,
+ share/list.alpha, share/list.ppc, share/list.sparc: remove
+ busybox as default shell. Only use it as the interactive shell on
+ tty2
+
+2001-07-04 14:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (selected_leaves): fix dead-loop
+
+2001-07-04 14:30 Guillaume Cottenceau
+
+ * docs/HACKING: update -d in order to get all the directories...
+
+2001-07-04 13:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (selected_leaves): make it work with loops
+ (eg: mandrake_desk loops with control-center resulting on none of
+ them being a leaf)
+
+2001-07-04 11:29 Fançois Pons
+
+ * perl-install/install_any.pm: another too wide string truncated to
+ 80 chars.
+
+2001-07-04 11:28 Fançois Pons
+
+ * perl-install/install_any.pm: make auto_inst.cfg file no longer
+ than 80 chars wide.
+
+2001-07-04 10:23 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed need of video ram if 86c368
+ and S3 ViRGE.
+
+2001-07-04 00:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (doPartitionDisks):
+ better error message when no root partition is found
+
+2001-07-03 23:37 Dam's
+
+ * docs/net_object_class.fig: documentation about net modules
+ structure
+
+2001-07-03 22:08 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, update_kernel, mdk-stage1/.cvsignore,
+ mdk-stage1/Makefile, mdk-stage1/probing.c, mdk-stage1/probing.h,
+ mdk-stage1/usb-resource/.cvsignore,
+ mdk-stage1/usb-resource/Makefile,
+ mdk-stage1/usb-resource/update-usb-ids.pl,
+ perl-install/modules.pm: add support for install from USB Network
+ Adapters
+
+2001-07-03 22:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ro.po, ru.po, sk.po, sl.po,
+ sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po, wa.po,
+ zh_CN.GB2312.po, zh_TW.Big5.po: updated Danish file
+
+2001-07-03 19:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, timezone.pm:
+ (configureTimezone): propose a list of NTP servers
+
+2001-07-03 18:47 Pixel <pixel at mandriva.com>
+
+ * tools/ntp_servers.pl: get a formatted list of NTP servers from an
+ authorised source
+
+2001-07-03 17:53 Dam's
+
+ * perl-install/network/: adsl.pm, isdn.pm, modem.pm, netconnect.pm,
+ netconnect_consts.pm, tools.pm: network subsystem now compiles.
+ Enjoy
+
+2001-07-03 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: (ntp_server): fix
+
+2001-07-03 16:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): fix fsck.ext2'ing
+
+2001-07-03 15:51 Fançois Pons
+
+ * perl-install/standalone/XFdrake: expert is allowed to choose
+ frame buffer.
+
+2001-07-03 15:50 Fançois Pons
+
+ * perl-install/install_any.pm: modified g_default_packages to be
+ used from package tree save on floppy.
+
+2001-07-03 15:49 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added
+ loadSavePackagesOnFloppy to manage package selection file used by
+ auto_install too from packages tree directly on floppies.
+
+2001-07-03 15:47 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: added Load/Save on floppy.
+
+2001-07-03 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, timezone.pm: add ntp handling
+
+2001-07-03 15:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): add fsck.ext2 before ext2-mounting
+
+2001-07-03 14:23 Pixel <pixel at mandriva.com>
+
+ * tools/addchangelog.pl: reverted the last erroneous modif
+
+2001-07-03 14:08 Pixel <pixel at mandriva.com>
+
+ * Makefile: (check): add a check for missing -kb's
+
+2001-07-03 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ default.png, harddrive.png, keyboard.png, mouse.png, printer.png,
+ rootpasswd.png, security.png, user.png: re-adding with -kb
+
+2001-07-03 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ default.png, harddrive.png, keyboard.png, mouse.png, printer.png,
+ rootpasswd.png, security.png, user.png: removing for re-adding
+ with -kb
+
+2001-07-03 14:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: ftin.png, ftout.png, help.png, help_sav.png,
+ logo-mandrake-Desktop.png: removing for re-adding with -kb
+
+2001-07-03 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/services.png,
+ perl-install/share/logo-mandrake.png,
+ perl-install/share/logo-mandrake2.png,
+ perl-install/share/logo-mandrake_sav.png,
+ perl-install/share/logo-mandrake_trans.png,
+ perl-install/share/reload.png, perl-install/share/rpm-base.png,
+ perl-install/share/rpm-installed.png,
+ perl-install/share/rpm-selected.png,
+ perl-install/share/rpm-semiselected.png,
+ perl-install/share/rpm-unselected.png, Makefile,
+ docs/comparisons, perl-install/share/ftin.png,
+ tools/addchangelog.pl, perl-install/share/ftout.png,
+ perl-install/share/help.png, perl-install/share/help_sav.png,
+ perl-install/share/logo-mandrake-Desktop.png: re-adding with -kb
+
+2001-07-03 13:57 Fançois Pons
+
+ * perl-install/share/floppy.png: updated size to 16x22 to be more
+ aligned.
+
+2001-07-03 13:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: logo-mandrake.png, logo-mandrake2.png,
+ logo-mandrake_sav.png, logo-mandrake_trans.png, reload.png,
+ rpm-base.png, rpm-installed.png, rpm-selected.png,
+ rpm-semiselected.png, rpm-unselected.png: removing for re-adding
+ with -kb
+
+2001-07-03 13:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/user.png: re-adding with -kb
+
+2001-07-03 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/pixmaps/: user.png, services.png: removing for
+ re-adding with -kb
+
+2001-07-03 13:47 Guillaume Cottenceau
+
+ * mdk-stage1/rp-pppoe/gui/html/: mainwin-busy.png,
+ mainwin-nonroot.png, mainwin.png, props-advanced.png,
+ props-basic.png, props-nic.png, props-options.png: plop
+
+2001-07-03 13:33 Fançois Pons
+
+ * perl-install/share/floppy.png: for loading/saving packages
+ selection.
+
+2001-07-03 13:10 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: added improve choice of
+ package, well not very usefull but asked by higher people :-)
+
+2001-07-03 11:37 Fançois Pons
+
+ * perl-install/network/netconnect.pm: fix another dam's sucks
+
+2001-07-03 11:23 Fançois Pons
+
+ * perl-install/network/: netconnect.pm, netconnect_consts.pm: fix
+ dam's sucks
+
+2001-07-03 10:53 Fançois Pons
+
+ * perl-install/Makefile.config: fix dam's sucks
+
+2001-07-02 22:50 Dam's
+
+ * perl-install/install_steps_interactive.pm: new network sources
+ reorganizationCVS:
+ ----------------------------------------------------------------------
+
+2001-07-02 22:50 Dam's
+
+ * perl-install/share/list: added modinfo
+
+2001-07-02 22:48 Dam's
+
+ * perl-install/: network/adsl.pm, network/ethernet.pm,
+ network/isdn.pm, network/modem.pm, network/netconnect.pm,
+ network/netconnect_consts.pm, network/network.pm,
+ network/tools.pm, netconnect.pm, netconnect_consts.pm,
+ network.pm, standalone/draknet: new network sources
+ reorganization
+
+2001-07-02 22:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (write_XF86Config): fix fpons
+ sucks (multi wacoms in XF3)
+
+2001-07-02 21:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: use size_t instead of int where it
+ should
+
+2001-07-02 21:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: add handling of using pkg::func when
+ func is provided by pkg2 use'd by pkg
+
+2001-07-02 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: yet even better i18n strings
+ extraction
+
+2001-07-02 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: update po files
+
+2001-07-02 16:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/b_dump_strings.pm: high level i18n messages
+ getting. only partial stuff. Used only for verification
+
+2001-07-02 16:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/crypto.pm: remove buggy prototype
+
+2001-07-02 16:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: - fix to add some missing
+ messages - add more verif
+
+2001-07-02 14:52 Dam's
+
+ * perl-install/modparm.pm: syntax correction
+
+2001-06-29 20:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: updated Czech file
+
+2001-06-28 17:22 Dam's
+
+ * perl-install/modparm.pm: complete path
+
+2001-06-28 17:17 Dam's
+
+ * perl-install/modparm.pm: rewritten using modinfo
+
+2001-06-28 17:06 Dam's
+
+ * perl-install/netconnect.pm: source factorization
+
+2001-06-28 17:05 Dam's
+
+ * perl-install/Xconfigurator.pm: Ultimez 31337 perlization
+
+2001-06-27 17:06 Fançois Pons
+
+ * tools/syncrpms: make syncrpms use rpmtools::version_compare.
+
+2001-06-27 17:06 Fançois Pons
+
+ * perl-install/pkgs.pm: added epoch (serial) support. added
+ mismatching rpm filename lookup.
+
+2001-06-27 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: (STANDALONEPMS): add drakbug_report
+
+2001-06-27 16:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_any.pm, standalone/drakbug_report:
+ have the drakx "bug" command available in standalone via
+ "drakbug_report"
+
+2001-06-27 15:54 Fançois Pons
+
+ * perl-install/c/: stuff.xs.pm, stuff.pm: added support for epoch
+ (serial).
+
+2001-06-27 15:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (openFileMaybeCompressed): make it
+ re-entrant, catch file not readable
+
+2001-06-27 15:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - in auto_install when auto_install
+ file is bad/missing, fail instead of continuing normal install -
+ correctly detect bad auto_install files
+
+2001-06-27 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): fix compssListLevel (4 instead
+ of 50)
+
+2001-06-26 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: fonts.tar.bz2: default
+
+2001-06-26 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: re-add with -kb
+
+2001-06-26 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: remove for re-add with -kb
+
+2001-06-25 17:46 Dam's
+
+ * perl-install/services.pm: changed Resolution to Service
+
+2001-06-25 17:43 Dam's
+
+ * perl-install/netconnect.pm: isdn configuration updated
+
+2001-06-25 17:40 Dam's
+
+ * perl-install/Xconfigurator.pm: changed linux-mandrake to
+ mandrakelinuxCVS:
+ ----------------------------------------------------------------------
+
+2001-06-25 14:13 jgarzik
+
+ * perl-install/share/list.sparc, rescue/list.alpha,
+ rescue/list.ppc, rescue/list.sparc: use PERL_VERSION
+
+2001-06-25 14:12 jgarzik
+
+ * perl-install/share/list.alpha: update
+
+2001-06-25 13:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: switch from llseek to lseek64
+
+2001-06-25 07:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: updated Indonesian file
+
+2001-06-23 23:05 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-06-22 17:27 Fançois Pons
+
+ * perl-install/install_any.pm: automagically install
+ kernel-enterprise if memory is greater than 800MB.
+
+2001-06-22 17:26 Fançois Pons
+
+ * perl-install/bootloader.pm: take care of enterprise kernel if
+ installed.
+
+2001-06-22 14:12 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: unfuzzyise
+
+2001-06-22 02:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: bootlook.pm, help.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, install_steps_newt.pm,
+ tinyfirewall.pm, share/po/DrakX.pot, share/po/af.po,
+ share/po/ar.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fi.po,
+ share/po/fr.po, share/po/ga.po, share/po/gl.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po, share/po/lv.po,
+ share/po/nl.po, share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sr.po,
+ share/po/sv.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.GB2312.po,
+ share/po/zh_TW.Big5.po: s/Linux-Mandrake/Mandrake Linux/
+
+2001-06-21 19:47 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: generate_automatic_stage1_params:
+ listize
+
+2001-06-21 19:41 Guillaume Cottenceau
+
+ * perl-install/Makefile, perl-install/install_any.pm,
+ perl-install/share/aliases, perl-install/share/list,
+ perl-install/share/list.alpha, perl-install/share/list.ppc,
+ tools/i386/busybox: use busybox for the shell of stage2
+
+2001-06-21 18:39 Fançois Pons
+
+ * perl-install/pkgs.pm: added minimal support for rpmtools >= 3.0
+
+2001-06-21 18:28 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: defaults to not spawn shell
+
+2001-06-21 18:12 Guillaume Cottenceau
+
+ * update_kernel: sort of a pixelization
+
+2001-06-21 14:43 Guillaume Cottenceau
+
+ * mdk-stage1/hack: kloug
+
+2001-06-21 13:31 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/make_boot_img: remove GG sux
+
+2001-06-21 12:43 Pixel <pixel at mandriva.com>
+
+ * docs/README, mdk-stage1/init.c, mdk-stage1/make_boot_img,
+ perl-install/detect_devices.pm, rescue/tree/etc/issue,
+ rescue/tree/etc/rc.sysinit: s/Linux-Mandrake/Mandrake Linux/
+ s/linux-mandrake/mandrakesoft/ (hand made, no i18n messages done)
+
+2001-06-21 12:20 Pixel <pixel at mandriva.com>
+
+ * live_update, make_boot_img, docs/HACKING, docs/README,
+ mdk-stage1/config-stage1.h, mdk-stage1/doc/README,
+ perl-install/ChangeLog, perl-install/bootloader.pm,
+ perl-install/install2, perl-install/resize_fat/README,
+ perl-install/resize_fat/main.pm, perl-install/standalone/XFdrake,
+ perl-install/standalone/diskdrake,
+ perl-install/standalone/printerdrake, rescue/tree/etc/issue,
+ tools/cvslog2changelog.pl, tools/genmodparm,
+ tools/mailchangelog.pl: s/Linux-Mandrake/Mandrake Linux/
+ s/linux-mandrake/mandrakesoft/ (hand made, no i18n messages done)
+
+2001-06-21 12:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/genmodparm: remove duplicate, look in gi/tools
+
+2001-06-20 17:31 Guillaume Cottenceau
+
+ * mdk-stage1/: adsl.c, network.c, network.h: save adsl info for
+ stage2
+
+2001-06-19 14:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/: Makefile.PL, stuff.xs.pm: switch to rpm 4.0.3
+
+2001-06-19 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: more failsafe
+
+2001-06-19 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: yet another switch to PERL_VERSION from
+ 5.6.0
+
+2001-06-18 21:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ Updated Hungarian file
+
+2001-06-18 19:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: small fixes in keyboard list
+
+2001-06-15 15:21 odin
+
+ * perl-install/proxy.pm: fix some tab madness
+
+2001-06-14 15:34 Guillaume Cottenceau
+
+ * mdk-stage1/adsl.c: let term signal go to pppd, when connection
+ fails
+
+2001-06-14 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/draksec: look for SECURE_LEVEL in
+ /etc/profile before look in $ENV{SECURE_LEVEL}, otherwise you
+ need re-sourcing.
+
+2001-06-14 14:02 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm: use vmlinuz like other
+ archs, fix yaboot setup for seperate /boot partition
+
+2001-06-14 11:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (_ask_file): add parameter path to set
+ the default path where to get the file
+
+2001-06-13 19:23 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix fix for laptop resolutions.
+
+2001-06-13 18:54 Fançois Pons
+
+ * perl-install/install_any.pm: fixed missing 3D choice for Matrox
+ G450 card.
+
+2001-06-13 18:53 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed hasPCMCIA and added
+ isLaptop to probe for problable laptop computer (according to
+ PCMCIA present or laptop graphics card).
+
+2001-06-13 18:52 Fançois Pons
+
+ * perl-install/any.pm: fix to use isLaptop instead of previously
+ always false hasPCMCIA.
+
+2001-06-13 18:51 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added support for 1400x1050
+ on laptop only. Added modeline for PAL fullscreen on monitor (TV
+ support) and 1400x1050 for both XF3 and XF4.
+
+2001-06-13 18:50 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added support for 1400x1050 on
+ laptop only though.
+
+2001-06-13 18:12 odin
+
+ * perl-install/proxy.pm: small fixes
+
+2001-06-13 17:19 Fançois Pons
+
+ * tools/Makefile: manage perl version for build without hard coding
+ it.
+
+2001-06-13 15:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, netconnect.pm,
+ partition_table.pm: fix HFS partition mount/format issue, offer
+ /mnt/macos, modem detection
+
+2001-06-13 01:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_thiskind): pass "options" to load
+ (get_that_type): special case for ISDN
+
+2001-06-13 00:45 Dam's
+
+ * perl-install/proxy.pm: typo
+
+2001-06-13 00:35 Dam's
+
+ * perl-install/proxy.pm: perlized
+
+2001-06-12 16:51 Fançois Pons
+
+ * perl-install/printer.pm: added final patch (4) from David
+ Eastcott, although it was rewritten a bit.
+
+2001-06-12 16:47 odin
+
+ * perl-install/proxy.pm: added some sanity checks.
+
+2001-06-12 15:34 odin
+
+ * perl-install/proxy.pm: drakproxy begins to work :-)
+
+2001-06-12 14:45 odin
+
+ * perl-install/: proxy.pm, standalone/drakproxy: ui for drakproxy
+ almost done
+
+2001-06-12 01:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, bootloader.pm,
+ detect_devices.pm, modules.pm, mouse.pm, perl2fcalls: - enhance
+ perl2fcalls (which now handle /xxx(...)/ as a regexp in more
+ cases) - remove the use of /xxx (...)/x by /xxx(...)/ as
+ perl2fcalls is getting smart => make gc happy which is very
+ important, what would we be without him?
+
+2001-06-12 00:17 Guillaume Cottenceau
+
+ * perl-install/: detect_devices.pm, fsedit.pm, install_any.pm,
+ raid.pm: include patch to autodetect raid arrays (still needs a
+ kernel that implements the ioctl..)
+
+2001-06-11 23:38 Guillaume Cottenceau
+
+ * rescue/tree/: etc/inittab, sbin/fakeshutdown: umount as much as
+ possible before rebooting the rescue
+
+2001-06-11 23:12 Guillaume Cottenceau
+
+ * rescue/tree/etc/rc.sysinit: minor changes
+
+2001-06-11 22:21 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: change handling of .depend in Makefile
+
+2001-06-11 22:21 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: change location of error message when no reply
+ received
+
+2001-06-11 19:14 Guillaume Cottenceau
+
+ * perl-install/modules.pm: have PPP drivers in net_raw rather than
+ in net
+
+2001-06-11 19:00 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add PPP modules for 'net' drivers
+
+2001-06-11 18:58 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fix missing newline on
+ /etc/X11/glx.conf when modifying mga_dma = 0
+
+2001-06-11 18:45 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: really fix the Matrox G200 PCI
+ card acceleration using XF3, by disabling DMA on
+ /etc/X11/glx.conf
+
+2001-06-11 18:34 Dam's
+
+ * perl-install/standalone/drakproxy: corrected CVS:
+ ----------------------------------------------------------------------
+
+2001-06-11 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (grep_): add a missing semi-colon
+
+2001-06-11 18:17 Dam's
+
+ * perl-install/: proxy.pm, standalone/drakproxy: updated
+
+2001-06-11 18:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): don't check /usr/bin/urpmi,
+ better check /usr/sbin/urpmi.update
+
+2001-06-11 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: remove NIS which is handled by
+ DrakX (titi sucks)
+
+2001-06-11 18:06 Dam's
+
+ * perl-install/proxy.pm: typoCVS:
+ ----------------------------------------------------------------------
+
+2001-06-11 18:04 Dam's
+
+ * perl-install/my_gtk.pm: added gtkset_layout
+
+2001-06-11 18:03 Dam's
+
+ * perl-install/interactive.pm: no icon if wizard
+
+2001-06-11 18:03 Dam's
+
+ * perl-install/standalone/drakproxy: perlised
+
+2001-06-11 17:44 Dam's
+
+ * perl-install/proxy.pm: proxy
+
+2001-06-11 17:22 odin
+
+ * perl-install/standalone/drakproxy: first import of drakproxy
+
+2001-06-11 16:46 Guillaume Cottenceau
+
+ * make_boot_img: - adsl support in network.img - have
+ root=/dev/ram3 in bootloaders so I don't need some code in stage1
+
+2001-06-11 16:46 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, adsl.c, make_boot_img, ppp/.cvsignore,
+ ppp/pppd/.cvsignore, ppp/pppd/Makefile, ppp/pppd/auth.c,
+ ppp/pppd/magic.c, ppp/pppd/main.c, ppp/pppd/md5.c,
+ ppp/pppd/multilink.c, ppp/pppd/options.c, ppp/pppd/pathnames.h,
+ ppp/pppd/utils.c, rp-pppoe/.cvsignore, rp-pppoe/src/.cvsignore,
+ rp-pppoe/src/Makefile, rp-pppoe/src/config.h: have adsl pppoe
+ installation available
+
+2001-06-11 16:45 Guillaume Cottenceau
+
+ * Makefile: refine all.modules deps so we won't rebuild kernel
+ stuff everytime
+
+2001-06-11 16:43 Guillaume Cottenceau
+
+ * tools/Makefile: perl 5.6.1 now
+
+2001-06-11 16:42 Guillaume Cottenceau
+
+ * mdk-stage1/: stage1.c, tools.c: do not set root=/dev/ram3 from my
+ code anymore, expect the bootloader to set the parameter
+ correctly
+
+2001-06-11 16:41 Guillaume Cottenceau
+
+ * mdk-stage1/newt-frontend.c: axalon sucks, we can have
+ NEWT_FLAG_PASSWORD that will show us '**' for passwords
+
+2001-06-11 16:04 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added magic probe of resolution
+ found, if the probed resolution seems strange according to memory
+ available, it try to let the user select the right resolution and
+ depth.
+
+2001-06-11 16:01 Fançois Pons
+
+ * perl-install/Xconfigurator_consts.pm: added some bigger memory
+ range.
+
+2001-06-11 15:49 Guillaume Cottenceau
+
+ * mdk-stage1/rp-pppoe/: README, go, go-gui, rp-pppoe-gui.spec,
+ rp-pppoe.spec, configs/firewall-masq,
+ configs/firewall-standalone, configs/pap-secrets,
+ configs/pppoe-server-options, configs/pppoe.conf, doc/CHANGES,
+ doc/HOW-TO-CONNECT, doc/KERNEL-MODE-PPPOE, doc/LICENSE,
+ doc/PROBLEMS, gui/Makefile.in, gui/pppoe-wrapper.1,
+ gui/tkpppoe.1, gui/tkpppoe.in, gui/wrapper.c,
+ gui/html/mainwin-busy.png, gui/html/mainwin-nonroot.png,
+ gui/html/mainwin.png, gui/html/props-advanced.png,
+ gui/html/props-basic.png, gui/html/props-nic.png,
+ gui/html/props-options.png, gui/html/tkpppoe.html,
+ man/adsl-connect.8, man/adsl-setup.8, man/adsl-start.8,
+ man/adsl-status.8, man/adsl-stop.8, man/pppoe-relay.8,
+ man/pppoe-server.8, man/pppoe-sniff.8, man/pppoe.8,
+ man/pppoe.conf.5, scripts/adsl-connect.in,
+ scripts/adsl-init-suse.in, scripts/adsl-init-turbolinux.in,
+ scripts/adsl-init.in, scripts/adsl-setup.in,
+ scripts/adsl-start.in, scripts/adsl-status, scripts/adsl-stop.in,
+ src/Makefile.in, src/common.c, src/config.h.in, src/configure,
+ src/configure.in, src/debug.c, src/discovery.c, src/if.c,
+ src/install-sh, src/md5.c, src/md5.h, src/ppp.c,
+ src/pppoe-server.c, src/pppoe-sniff.c, src/plugin.c, src/pppoe.c,
+ src/pppoe.h, src/relay.c, src/relay.h: Initial revision
+
+2001-06-11 15:49 Guillaume Cottenceau
+
+ * mdk-stage1/rp-pppoe/: README, go, go-gui, rp-pppoe-gui.spec,
+ rp-pppoe.spec, configs/firewall-masq,
+ configs/firewall-standalone, configs/pap-secrets,
+ configs/pppoe-server-options, configs/pppoe.conf, doc/CHANGES,
+ doc/HOW-TO-CONNECT, doc/KERNEL-MODE-PPPOE, doc/LICENSE,
+ doc/PROBLEMS, gui/Makefile.in, gui/pppoe-wrapper.1,
+ gui/tkpppoe.1, gui/tkpppoe.in, gui/wrapper.c,
+ gui/html/mainwin-busy.png, gui/html/mainwin-nonroot.png,
+ gui/html/mainwin.png, gui/html/props-advanced.png,
+ gui/html/props-basic.png, gui/html/props-nic.png,
+ gui/html/props-options.png, gui/html/tkpppoe.html,
+ man/adsl-connect.8, man/adsl-setup.8, man/adsl-start.8,
+ man/adsl-status.8, man/adsl-stop.8, man/pppoe-relay.8,
+ man/pppoe-server.8, man/pppoe-sniff.8, man/pppoe.8,
+ man/pppoe.conf.5, scripts/adsl-connect.in,
+ scripts/adsl-init-suse.in, scripts/adsl-init-turbolinux.in,
+ scripts/adsl-init.in, scripts/adsl-setup.in,
+ scripts/adsl-start.in, scripts/adsl-status, scripts/adsl-stop.in,
+ src/Makefile.in, src/common.c, src/config.h.in, src/configure,
+ src/configure.in, src/debug.c, src/discovery.c, src/if.c,
+ src/install-sh, src/md5.c, src/md5.h, src/ppp.c,
+ src/pppoe-server.c, src/pppoe-sniff.c, src/plugin.c, src/pppoe.c,
+ src/pppoe.h, src/relay.c, src/relay.h: import initial sources
+ from rp-pppoe v3.0
+
+2001-06-11 13:44 Guillaume Cottenceau
+
+ * mdk-stage1/ppp/: Changes-2.3, FAQ, PLUGINS, README,
+ README.MSCHAP80, README.cbcp, README.linux, README.sol2,
+ README.sunos4, SETUP, configure, chat/Makefile.linux,
+ chat/Makefile.linux.makeopt, chat/Makefile.sol2,
+ chat/Makefile.sunos4, chat/chat.8, chat/chat.c, common/zlib.c,
+ common/zlib.h, contrib/pppgetpass/Makefile.linux,
+ contrib/pppgetpass/pppgetpass.8,
+ contrib/pppgetpass/pppgetpass.gtk.c,
+ contrib/pppgetpass/pppgetpass.sh,
+ contrib/pppgetpass/pppgetpass.vt.c, etc.ppp/chap-secrets,
+ etc.ppp/options, etc.ppp/options.options, etc.ppp/pap-secrets,
+ include/pcap-int.h, include/linux/if_ppp.h,
+ include/linux/if_pppvar.h, include/linux/ppp-comp.h,
+ include/linux/ppp_defs.h, include/net/if_ppp.h,
+ include/net/ppp-comp.h, include/net/ppp_defs.h,
+ include/net/pppio.h, include/net/slcompress.h,
+ include/net/vjcompress.h, linux/Makefile.top, modules/bsd-comp.c,
+ modules/deflate.c, modules/if_ppp.c, modules/ppp.c,
+ modules/ppp_ahdlc.c, modules/ppp_comp.c, modules/ppp_mod.h,
+ modules/vjcompress.c, pppd/Makefile.linux, pppd/Makefile.sol2,
+ pppd/Makefile.sunos4, pppd/auth.c, pppd/cbcp.c, pppd/cbcp.h,
+ pppd/ccp.c, pppd/ccp.h, pppd/chap.c, pppd/chap.h, pppd/chap_ms.c,
+ pppd/chap_ms.h, pppd/demand.c, pppd/eui64.c, pppd/eui64.h,
+ pppd/fsm.c, pppd/fsm.h, pppd/ipcp.c, pppd/ipcp.h, pppd/ipv6cp.c,
+ pppd/ipv6cp.h, pppd/ipxcp.c, pppd/ipxcp.h, pppd/lcp.c,
+ pppd/lcp.h, pppd/magic.c, pppd/magic.h, pppd/main.c, pppd/md4.c,
+ pppd/md4.h, pppd/md5.c, pppd/md5.h, pppd/multilink.c,
+ pppd/options.c, pppd/patchlevel.h, pppd/pathnames.h,
+ pppd/ppp.pam, pppd/Makefile.linux.make, pppd/pppd.8, pppd/pppd.h,
+ pppd/pppd.h.wtmp, pppd/sys-linux.c, pppd/sys-solaris.c,
+ pppd/sys-sunos4.c, pppd/tdb.c, pppd/tdb.h, pppd/tty.c,
+ pppd/upap.c, pppd/upap.h, pppd/utils.c,
+ pppd/Makefile.linux.makeopt, pppd/sys-linux.c.wtmp,
+ pppd/plugins/Makefile.linux, pppd/plugins/Makefile.sol2,
+ pppd/plugins/minconn.c, pppd/plugins/passprompt.c,
+ pppdump/Makefile.linux, pppdump/Makefile.linux.makeopt,
+ pppdump/Makefile.linux.pppdump-Makefile, pppdump/Makefile.sol2,
+ pppdump/Makefile.sunos4, pppdump/bsd-comp.c, pppdump/deflate.c,
+ pppdump/ppp-comp.h, pppdump/pppdump.8, pppdump/pppdump.c,
+ pppdump/zlib.c, pppdump/zlib.h, pppstats/Makefile.linux,
+ pppstats/Makefile.sol2, pppstats/Makefile.sunos4,
+ pppstats/pppstats.8, pppstats/pppstats.c, sample/auth-down,
+ sample/auth-up, sample/ip-down, sample/ip-up, sample/options,
+ sample/options.ttyXX, sample/pap-secrets, scripts/README,
+ scripts/callback, scripts/chat-callback,
+ scripts/ip-down.local.add, scripts/ip-up.local.add,
+ scripts/options-rsh-loc, scripts/options-rsh-rem,
+ scripts/options-ssh-loc, scripts/options-ssh-rem,
+ scripts/ppp-off, scripts/ppp-on, scripts/ppp-on-dialer,
+ scripts/ppp-on-rsh, scripts/ppp-on-ssh, scripts/redialer,
+ scripts/secure-card, scripts/chatchat/chatchat.c,
+ scripts/chatchat/README, solaris/Makedefs, solaris/Makedefs.sol2,
+ solaris/Makefile.sol2, solaris/Makefile.sol2-64,
+ solaris/Makefile.top, solaris/ppp.c, solaris/ppp.conf,
+ solaris/ppp_ahdlc.c, solaris/ppp_ahdlc_mod.c, solaris/ppp_comp.c,
+ solaris/ppp_comp_mod.c, solaris/ppp_mod.c, solaris/ppp_mod.h,
+ sunos4/Makedefs, sunos4/Makefile, sunos4/Makefile.top,
+ sunos4/if_ppp_vdcmd.c, sunos4/ppp.INSTALL,
+ sunos4/ppp_ahdlc_vdcmd.c, sunos4/ppp_comp_vdcmd.c,
+ sunos4/ppp_vdcmd.c, svr4/Makedefs, svr4/Makedefs.sol2,
+ svr4/Makefile.sol2, svr4/Makefile.sol2-64, svr4/Makefile.svr4,
+ svr4/Makefile.top, svr4/ppp.Master, svr4/ppp.Node,
+ svr4/ppp.System, svr4/ppp.conf, svr4/ppp_ahdl.Master,
+ svr4/ppp_ahdl.System, svr4/ppp_ahdlc_mod.c, svr4/ppp_comp.Master,
+ svr4/ppp_comp.System, svr4/ppp_comp_mod.c, svr4/ppp_mod.c:
+ Initial revision
+
+2001-06-11 13:44 Guillaume Cottenceau
+
+ * mdk-stage1/ppp/: Changes-2.3, FAQ, PLUGINS, README,
+ README.MSCHAP80, README.cbcp, README.linux, README.sol2,
+ README.sunos4, SETUP, configure, chat/Makefile.linux,
+ chat/Makefile.linux.makeopt, chat/Makefile.sol2,
+ chat/Makefile.sunos4, chat/chat.8, chat/chat.c, common/zlib.c,
+ common/zlib.h, contrib/pppgetpass/Makefile.linux,
+ contrib/pppgetpass/pppgetpass.8,
+ contrib/pppgetpass/pppgetpass.gtk.c,
+ contrib/pppgetpass/pppgetpass.sh,
+ contrib/pppgetpass/pppgetpass.vt.c, etc.ppp/chap-secrets,
+ etc.ppp/options, etc.ppp/options.options, etc.ppp/pap-secrets,
+ include/pcap-int.h, include/linux/if_ppp.h,
+ include/linux/if_pppvar.h, include/linux/ppp-comp.h,
+ include/linux/ppp_defs.h, include/net/if_ppp.h,
+ include/net/ppp-comp.h, include/net/ppp_defs.h,
+ include/net/pppio.h, include/net/slcompress.h,
+ include/net/vjcompress.h, linux/Makefile.top, modules/bsd-comp.c,
+ modules/deflate.c, modules/if_ppp.c, modules/ppp.c,
+ modules/ppp_ahdlc.c, modules/ppp_comp.c, modules/ppp_mod.h,
+ modules/vjcompress.c, pppd/Makefile.linux, pppd/Makefile.sol2,
+ pppd/Makefile.sunos4, pppd/auth.c, pppd/cbcp.c, pppd/cbcp.h,
+ pppd/ccp.c, pppd/ccp.h, pppd/chap.c, pppd/chap.h, pppd/chap_ms.c,
+ pppd/chap_ms.h, pppd/demand.c, pppd/eui64.c, pppd/eui64.h,
+ pppd/fsm.c, pppd/fsm.h, pppd/ipcp.c, pppd/ipcp.h, pppd/ipv6cp.c,
+ pppd/ipv6cp.h, pppd/ipxcp.c, pppd/ipxcp.h, pppd/lcp.c,
+ pppd/lcp.h, pppd/magic.c, pppd/magic.h, pppd/main.c, pppd/md4.c,
+ pppd/md4.h, pppd/md5.c, pppd/md5.h, pppd/multilink.c,
+ pppd/options.c, pppd/patchlevel.h, pppd/pathnames.h,
+ pppd/ppp.pam, pppd/Makefile.linux.make, pppd/pppd.8, pppd/pppd.h,
+ pppd/pppd.h.wtmp, pppd/sys-linux.c, pppd/sys-solaris.c,
+ pppd/sys-sunos4.c, pppd/tdb.c, pppd/tdb.h, pppd/tty.c,
+ pppd/upap.c, pppd/upap.h, pppd/utils.c,
+ pppd/Makefile.linux.makeopt, pppd/sys-linux.c.wtmp,
+ pppd/plugins/Makefile.linux, pppd/plugins/Makefile.sol2,
+ pppd/plugins/minconn.c, pppd/plugins/passprompt.c,
+ pppdump/Makefile.linux, pppdump/Makefile.linux.makeopt,
+ pppdump/Makefile.linux.pppdump-Makefile, pppdump/Makefile.sol2,
+ pppdump/Makefile.sunos4, pppdump/bsd-comp.c, pppdump/deflate.c,
+ pppdump/ppp-comp.h, pppdump/pppdump.8, pppdump/pppdump.c,
+ pppdump/zlib.c, pppdump/zlib.h, pppstats/Makefile.linux,
+ pppstats/Makefile.sol2, pppstats/Makefile.sunos4,
+ pppstats/pppstats.8, pppstats/pppstats.c, sample/auth-down,
+ sample/auth-up, sample/ip-down, sample/ip-up, sample/options,
+ sample/options.ttyXX, sample/pap-secrets, scripts/README,
+ scripts/callback, scripts/chat-callback,
+ scripts/ip-down.local.add, scripts/ip-up.local.add,
+ scripts/options-rsh-loc, scripts/options-rsh-rem,
+ scripts/options-ssh-loc, scripts/options-ssh-rem,
+ scripts/ppp-off, scripts/ppp-on, scripts/ppp-on-dialer,
+ scripts/ppp-on-rsh, scripts/ppp-on-ssh, scripts/redialer,
+ scripts/secure-card, scripts/chatchat/chatchat.c,
+ scripts/chatchat/README, solaris/Makedefs, solaris/Makedefs.sol2,
+ solaris/Makefile.sol2, solaris/Makefile.sol2-64,
+ solaris/Makefile.top, solaris/ppp.c, solaris/ppp.conf,
+ solaris/ppp_ahdlc.c, solaris/ppp_ahdlc_mod.c, solaris/ppp_comp.c,
+ solaris/ppp_comp_mod.c, solaris/ppp_mod.c, solaris/ppp_mod.h,
+ sunos4/Makedefs, sunos4/Makefile, sunos4/Makefile.top,
+ sunos4/if_ppp_vdcmd.c, sunos4/ppp.INSTALL,
+ sunos4/ppp_ahdlc_vdcmd.c, sunos4/ppp_comp_vdcmd.c,
+ sunos4/ppp_vdcmd.c, svr4/Makedefs, svr4/Makedefs.sol2,
+ svr4/Makefile.sol2, svr4/Makefile.sol2-64, svr4/Makefile.svr4,
+ svr4/Makefile.top, svr4/ppp.Master, svr4/ppp.Node,
+ svr4/ppp.System, svr4/ppp.conf, svr4/ppp_ahdl.Master,
+ svr4/ppp_ahdl.System, svr4/ppp_ahdlc_mod.c, svr4/ppp_comp.Master,
+ svr4/ppp_comp.System, svr4/ppp_comp_mod.c, svr4/ppp_mod.c: import
+ initial ppp sources
+
+2001-06-11 11:49 Fançois Pons
+
+ * perl-install/: install_steps.pm, printer.pm: applied patches
+ given for printer configuration bug reported by David Eastcott.
+
+2001-06-11 00:41 Pixel <pixel at mandriva.com>
+
+ * rescue/guessmounts: pixelization (tested!)
+
+2001-06-10 23:08 Guillaume Cottenceau
+
+ * rescue/: Makefile, guessmounts, make_rescue_img,
+ tree/etc/rc.sysinit: - add 'guessmounts' that mimics RH's
+ detecting of partitions when rescue starts
+
+2001-06-10 18:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2001-06-10 18:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, ru.po: updated Russian file
+
+2001-06-10 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): more comments in
+ auto_inst.cfg file
+
+2001-06-09 23:05 Guillaume Cottenceau
+
+ * perl-install/share/list: rescuept in /sbin now
+
+2001-06-09 22:40 Guillaume Cottenceau
+
+ * rescue/list.i386: rescuept is in /sbin now
+
+2001-06-08 20:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, lang.pm, c/stuff.pm, c/stuff.xs.pm: -
+ c::iconv replace c::from_utf8 and c::to_utf8 - handle po files in
+ any charset, iconv'ed to the right charset
+
+2001-06-08 17:25 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed fix for isBurner as it does
+ not run on SCSI device.
+
+2001-06-07 17:58 Dam's
+
+ * perl-install/netconnect_consts.pm: corrected bad isdn tpe
+
+2001-06-07 16:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ru.po, uk.po: updated Russian and
+ Ukrainian files
+
+2001-06-07 12:33 Pixel <pixel at mandriva.com>
+
+ * Makefile: check all files are world-readable before uploading
+
+2001-06-07 12:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: ensure files are all
+ world-readable (otherwise it bothers mirrors)
+
+2001-06-07 11:36 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german wersion
+
+2001-06-06 16:54 Dam's
+
+ * perl-install/standalone/mousedrake: added icon support
+
+2001-06-06 14:21 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: use a wait_message again when in automatic
+ mode for insmoding scsi modules since it's long
+
+2001-06-06 14:21 Guillaume Cottenceau
+
+ * mdk-stage1/newt-frontend.c: refresh newt when newt comes up, so
+ if dialogues delay to appear we're not with a blank screen
+
+2001-06-06 11:55 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: switch to XFree 4.1.0 instead of
+ 4.0.3.
+
+2001-06-06 11:53 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: Matrox card does not like DRI
+ without AGP bus.
+
+2001-06-06 10:49 Fançois Pons
+
+ * tools/oem-prepare: keep Aurora and install icewm-light
+ furthermore.
+
+2001-06-06 10:40 Fançois Pons
+
+ * rescue/: list, list.i386, make_rescue_img: Avoid hard coded perl
+ version in list files, use PERL_VERSION magic string instead.
+
+2001-06-06 10:29 Fançois Pons
+
+ * perl-install/: Makefile, share/list: Avoid hard coded perl
+ version in list files, use PERL_VERSION magic string instead.
+
+2001-06-06 10:11 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed burner and dvd drive
+ detection ;-) c::isBurner seems to detect both IDE and SCSI drive
+ and description does not necessary contains CDRW substring (for
+ info). c::isDvdDrive is unable to detect SCSI drive (at least
+ one tested) but DVD substring is quite nicely well represented,
+ and there is few DVD drive available as SCSI (pionneer?)
+
+2001-06-05 19:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: detect_devices.pm, c/stuff.xs.pm: nicer solution
+ for detecting DVD drives (still need SCSI detection)
+
+2001-06-05 18:54 Fançois Pons
+
+ * perl-install/: detect_devices.pm, install_any.pm: added DVD
+ support, only first try to detect a DVD drive and rpmsrate is not
+ updated.
+
+2001-06-05 18:45 Fançois Pons
+
+ * perl-install/install_any.pm: fixed non ejection of cdrom at end
+ of install, cleaned regexp used.
+
+2001-06-05 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): accept gid's which
+ already exist, and don't them in /etc/group (for auto installs)
+
+2001-06-05 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: fix
+
+2001-06-05 18:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list, rescue/list, rescue/list.i386: switch to
+ perl 5.6.1
+
+2001-06-05 18:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (mount): notail in any case
+
+2001-06-05 17:29 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: don't wait on upping lo interface
+
+2001-06-05 17:21 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: exit when exec fails after fork, i don't
+ want two stage1 processes!
+
+2001-06-05 17:20 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: fix minor bug detecting when modules are
+ present
+
+2001-06-05 16:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: updated Polish file
+
+2001-06-02 19:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, ar.po, az.po, be.po,
+ bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po,
+ pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po,
+ sv.po, th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated Russian file
+
+2001-06-01 21:09 Guillaume Cottenceau
+
+ * mdk-stage1/: adsl.c, adsl.h, dns.c, dns.h, network.c, network.h,
+ nfsmount.c, url.c: - first draft of adsl support - get back some
+ code for supporting broken glibc unable to resolve when linked
+ statically
+
+2001-06-01 21:07 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: use -FULL postfix for common .c files
+ targetting stage1-full
+
+2001-06-01 21:00 Guillaume Cottenceau
+
+ * mdk-stage1/newt/textbox.c: don't modify newt code to fix dietlibc
+ bugs, i want to link against glibc too
+
+2001-06-01 16:29 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: minor fix
+
+2001-05-31 22:54 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/bootlook.pm: add runlevel chooser feature
+
+2001-05-31 18:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: hide step formatPartitions when
+ upgrading
+
+2001-05-31 13:49 Pixel <pixel at mandriva.com>
+
+ * rescue/make_rescue_img: check presence of files from list and
+ list.ARCH
+
+2001-05-31 12:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (get_needed_files): exit with error
+ message if files from share/list (and share/list.ARCH) are
+ missing
+
+2001-05-30 18:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.drakxtools: (install): ensure pm's in
+ subdirs don't have /use(diagnostics|vars|strict)/
+
+2001-05-30 16:31 mbadaire
+
+ * mdk-stage1/: Makefile, Makefile.common, init-libc-headers.h,
+ stage1.c, bzlib/Makefile, insmod-modutils/Makefile,
+ insmod-modutils/obj/Makefile, insmod-modutils/util/Makefile,
+ mar/Makefile, newt/Makefile, newt/windows.c, slang/Makefile,
+ slang/slmalloc.c: - allow build on ia64 - have CFLAGS centralized
+ in Makefile.common (should help ports such as alpha) - better
+ looking sub makefiles
+
+2001-05-29 19:52 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * perl-install/share/compssUsers: add NIS client to network clients
+
+2001-05-29 12:01 Fançois Pons
+
+ * perl-install/printerdrake.pm: added fix from Michael Brown to
+ handle pipe in queue name for lpr.
+
+2001-05-28 16:32 Guillaume Cottenceau
+
+ * mdk-stage1/newt-frontend.c: use Axalon patch to hide passwords
+ (highly rewritten..)
+
+2001-05-26 00:28 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updated time
+
+2001-05-26 00:24 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: moved to UTF-8
+
+2001-05-25 15:16 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: fix bootstrap
+ information screen back to orig with missing ":" - PPC
+
+2001-05-25 04:40 Stew Benedict <sbenedict at mandriva.com>
+
+ * update_kernel, perl-install/bootloader.pm,
+ perl-install/install_steps_interactive.pm, rescue/list.ppc: add
+ hfs support to rescue - PPC, fix bootstrap creation, formatting
+ sequence
+
+2001-05-24 11:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): autoExitInstall
+ set if not replay (was the opposite)
+
+2001-05-24 07:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2001-05-23 17:43 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add scd0...
+
+2001-05-23 00:30 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: add net boot options for PPC
+
+2001-05-22 08:21 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-05-21 14:35 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/: mkINSTALLCD, mkhybrid-1.12b5.4-x86: enable creation
+ of PPC boot CD on x86 platform
+
+2001-05-18 03:06 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: be sure to print pci vendor and id with 4
+ digits each
+
+2001-05-18 02:35 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: - better detect when IP is not good -
+ error_msg when netmask seems invalid - don't log too much
+ `guessing netmask'
+
+2001-05-18 01:46 Guillaume Cottenceau
+
+ * mdk-stage1/frontend-common.c: plop
+
+2001-05-17 22:27 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: unify user notification of network and scsi
+ devices that make load of drivers
+
+2001-05-17 22:27 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: add log for modules aliasing of SCSI
+ drivers
+
+2001-05-17 18:53 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, dhcp.c, disk.c, frontend.h,
+ modules.c, network.c, newt-frontend.c, probing.c, stage1.c,
+ stage1.h, stdio-frontend.c, tools.c: don't write nonsense code to
+ separate frontend from stage1, but rather, try to do some clever
+ things
+
+2001-05-17 16:55 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed parted that ask for confirmation if
+ partition table is not right (MAXDATA for example), this cause
+ parted to ignore warning. added blank space between partition
+ windows and linux to help resolving above case.
+
+2001-05-17 14:26 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed hole in partitionning (need testing),
+ use fdisk to get disk geometry and create partition that matches
+ cylinder boundaries (no more approximation). make sure to create
+ all partitions including /home.
+
+2001-05-16 22:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, de.po, tr.po, wa.po: updated
+ Turkish file
+
+2001-05-16 20:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: fix yet again DrakX.pot making
+
+2001-05-16 18:07 Guillaume Cottenceau
+
+ * mdk-stage1/: HACKING, Makefile, README, TECH-INFOS, WHY-DIETLIBC,
+ frontend.h, newt-frontend.c, stage1.c, stage1.h,
+ stdio-frontend.c: have a 100% independence between UI stuff and
+ code from stage1
+
+2001-05-16 18:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: re-add reiserfs as it should add
+ xfs
+
+2001-05-16 17:51 Guillaume Cottenceau
+
+ * mdk-stage1/doc/: HACKING, README, TECH-INFOS, WHY-DIETLIBC,
+ documented..frontend.h: have doc here
+
+2001-05-16 16:16 Fançois Pons
+
+ * rescue/tree/etc/oem: added support for /var creation, and more
+ specific package selection for server. Include option support by
+ VERSION file.
+
+2001-05-16 13:15 Dam's
+
+ * perl-install/standalone/draknet: added icon managment
+
+2001-05-16 13:13 Dam's
+
+ * perl-install/standalone/: XFdrake, adduserdrake, drakboot,
+ drakgw, draksec, drakxservices, keyboarddrake, printerdrake:
+ added icon management
+
+2001-05-16 13:12 Dam's
+
+ * perl-install/pixmaps/printer.png: added icon
+
+2001-05-16 13:07 Dam's
+
+ * perl-install/pixmaps/: X.png, bootdisk.png, bootloader.png,
+ default.png, harddrive.png, keyboard.png, mouse.png,
+ rootpasswd.png, security.png, services.png, user.png: added icons
+
+2001-05-16 13:03 Dam's
+
+ * perl-install/: interactive.pm, my_gtk.pm: icons management
+
+2001-05-16 13:01 Dam's
+
+ * perl-install/install2.pm: added icons management
+
+2001-05-16 00:29 Guillaume Cottenceau
+
+ * mdk-stage1/: newt-frontend.c, probing.c: allow wait_message calls
+ to be multi-lines
+
+2001-05-15 23:45 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: a bit of size reduction plus some language
+ change
+
+2001-05-15 20:58 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: nicer layout for PCI detection messages
+
+2001-05-15 20:58 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: fix guess netmask
+
+2001-05-15 20:57 Guillaume Cottenceau
+
+ * mdk-stage1/newt/windows.c: have a wider default window
+
+2001-05-15 17:30 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, probing.c: better modules
+ handling interface (use of enum rather than guessing single
+ numbers..)
+
+2001-05-15 17:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/Makefile: fix messages to i18n extracting
+
+2001-05-15 17:07 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: blurk
+
+2001-05-15 16:36 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: full path for iptables
+
+2001-05-15 15:50 Guillaume Cottenceau
+
+ * mdk-stage1/WHY-DIETLIBC: advocate dietlibc
+
+2001-05-15 15:47 Guillaume Cottenceau
+
+ * mdk-stage1/: network.c, network.h: configure_net_device is only
+ used internally
+
+2001-05-15 15:46 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: libresolv deprecated in GLIBC
+
+2001-05-15 15:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: added arabic azerty keyboard
+
+2001-05-15 15:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ar.po, tr.po: Updated Turkish file
+
+2001-05-15 15:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: Added north-african
+ keyboard
+
+2001-05-15 14:10 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: have stage1-full with pcmcia also compile
+ with dietlibc, cool!
+
+2001-05-15 13:26 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c: bzero string buffer before sscanf call,
+ security for dietlibc implementation
+
+2001-05-15 12:02 Fançois Pons
+
+ * rescue/tree/etc/oem: added missing Aurora, added icewm-light that
+ may be usefull.
+
+2001-05-14 23:47 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, newt-frontend.c, newt/Makefile,
+ newt/button.c, newt/buttonbar.c, newt/checkbox.c,
+ newt/checkboxtree.c, newt/entry.c, newt/form.c, newt/grid.c,
+ newt/label.c, newt/listbox.c, newt/newt.c, newt/newt.h,
+ newt/newt_pr.h, newt/scale.c, newt/scrollbar.c, newt/textbox.c,
+ newt/windows.c, slang/Makefile, slang/_slang.h, slang/config.h,
+ slang/jdmacros.h, slang/keywhash.c, slang/sl-feat.h,
+ slang/slang.c, slang/slang.h, slang/slarith.c, slang/slarith.inc,
+ slang/slarray.c, slang/slarrfun.c, slang/slarrfun.inc,
+ slang/slarrmis.c, slang/slassoc.c, slang/slbstr.c,
+ slang/slclass.c, slang/slcmd.c, slang/slcmplex.c,
+ slang/slcompat.c, slang/slcurses.c, slang/slcurses.h,
+ slang/sldisply.c, slang/slerr.c, slang/slerrno.c,
+ slang/slgetkey.c, slang/slimport.c, slang/slinclud.h,
+ slang/slintall.c, slang/slistruc.c, slang/slkeymap.c,
+ slang/slkeypad.c, slang/sllimits.h, slang/slmalloc.c,
+ slang/slmath.c, slang/slmemchr.c, slang/slmemcmp.c,
+ slang/slmemcpy.c, slang/slmemset.c, slang/slmisc.c,
+ slang/slnspace.c, slang/slospath.c, slang/slpack.c,
+ slang/slparse.c, slang/slpath.c, slang/slposdir.c,
+ slang/slposio.c, slang/slprepr.c, slang/slproc.c,
+ slang/slregexp.c, slang/slrline.c, slang/slscanf.c,
+ slang/slscroll.c, slang/slsearch.c, slang/slsignal.c,
+ slang/slsmg.c, slang/slstd.c, slang/slstdio.c, slang/slstring.c,
+ slang/slstrops.c, slang/slstruct.c, slang/sltermin.c,
+ slang/sltime.c, slang/sltoken.c, slang/sltypes.c, slang/slutty.c,
+ slang/slxstrng.c: i can compile slang and newt with dietlibc now
+
+2001-05-14 23:45 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, network.c: Have the wait_message() with the
+ sleep()
+
+2001-05-14 17:59 Chmouel Boudjnah
+
+ * perl-install/fs.pm: s|mkxfs|mkfs.xfs|;
+
+2001-05-14 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, fsedit.pm, install_any.pm,
+ partition_table.pm: basic xfs handling
+
+2001-05-14 16:42 Guillaume Cottenceau
+
+ * mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2: add
+ stage1-data which provides the busybox
+
+2001-05-14 16:42 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: no need to poll() for data at beginning of
+ load_ramdisk_fd, it was a fix of another problem (bug with file
+ stdio operations with sockets in dietlibc)
+
+2001-05-14 16:41 Guillaume Cottenceau
+
+ * mdk-stage1/nfsmount.c: use new gethostby* interface
+
+2001-05-14 16:39 Guillaume Cottenceau
+
+ * mdk-stage1/make_boot_img: use busybox for my debugging purpose
+
+2001-05-14 16:39 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/busybox.h: fix conflicts with dietlibc
+ headers
+
+2001-05-14 16:38 Guillaume Cottenceau
+
+ * mdk-stage1/: dns.c, dns.h: now use gethostby* functions provided
+ by dietlibc
+
+2001-05-14 16:37 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: we don't use this sucking sash no more we
+ now use `busybox' compiled with the marvellous dietlibc, which
+ provides no less than 73 usefull binaries
+
+2001-05-14 16:33 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: every targets build with dietlibc
+
+2001-05-14 16:31 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile.common: new dietlibc binaries location
+
+2001-05-14 16:30 Guillaume Cottenceau
+
+ * mdk-stage1/url.c: use poll() rather than select(), smaller code
+ size
+
+2001-05-14 16:28 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: - add a sleep(2) after ioctl ifupping so that
+ further operation can work normally - more logs
+
+2001-05-14 16:27 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: - complies to gethostby functions - add
+ sleep(2) so that net intf is really up before operation - more
+ logs - FTP: don't try to close control connection with data
+ socket, erhm :-( - debug netmask guessing, with stdio-frontend
+
+2001-05-14 10:41 kjx
+
+ * perl-install/share/po/zh_CN.GB2312.po: process untranslated
+
+2001-05-11 19:37 Fançois Pons
+
+ * tools/oem-prepare: fixed missing package which may be selected on
+ hardware during real install.
+
+2001-05-11 18:39 Fançois Pons
+
+ * rescue/tree/etc/oem: added support to change boot entries when
+ invoking oem script. fixed missing SCSI support and driver
+ module loading. fixed missing speficic packages not installed on
+ HW detected.
+
+2001-05-08 15:58 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: use poll() rather than select() to win some
+ bytesCVS:
+ ----------------------------------------------------------------------
+
+2001-05-08 15:55 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: minor fix
+
+2001-05-08 15:55 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: needs to poll() for available data before
+ loading ramdisk because ftp transfers would fail in some
+ situations
+
+2001-05-08 15:54 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: fix minor stuff re-include correct
+ layout for [] choices, in a smaller way than before
+
+2001-05-08 15:51 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: new maxim
+
+2001-05-08 15:50 Guillaume Cottenceau
+
+ * mdk-stage1/config-stage1.h: adjust COMPRESSION_RATIO so that last
+ star is printed when last blocks of file are read
+
+2001-05-08 12:38 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed plenty ugly typos
+
+2001-05-08 05:59 Dam's
+
+ * perl-install/standalone/mousedrake: code cleaned and debugged
+
+2001-05-08 02:37 Dam's
+
+ * perl-install/standalone/mousedrake: added mouse test. Ugly
+
+2001-05-08 02:37 Dam's
+
+ * perl-install/my_gtk.pm: VBox -> HBox in Embedded mode
+
+2001-05-08 00:13 Yves Duret
+
+ * perl-install/: any.pm, bootloader.pm: updated install_lilo()
+ according to new lilo package (/boot/lilo-{menu,graphic,text})
+
+2001-05-07 15:58 Yves Duret
+
+ * docs/README.devel: fix one typo
+
+2001-05-07 13:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: updated Brazilian file
+
+2001-05-06 17:27 Dam's
+
+ * perl-install/netconnect.pm: corrected bad output and bad adsl
+ script
+
+2001-05-06 15:14 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install2.pm: workaround for msec hang on PPC
+
+2001-05-04 19:46 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: KDE+SOUND -> 4 xmms-arts
+
+2001-05-04 19:40 Thierry Vignaud <tvignaud at mandriva.com>
+
+ * mdk-stage1/mar/mar-extract-only.c: text size micro-opt
+
+2001-05-04 18:37 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, keyboard.pm, c/smp.c: force XF4
+ in expert too for PPC, don't run xmodmap, PPC SMP routine
+ placeholder
+
+2001-05-04 00:13 Dam's
+
+ * perl-install/netconnect.pm: removed install if requires
+ satisfied('kisdn').
+
+2001-05-03 11:57 Dam's
+
+ * perl-install/any.pm: corrected set_autologin
+
+2001-05-02 20:39 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, bootloader.pm, install_any.pm: Don't
+ delete any images in test mode. Fix tabs in bootloader.pm.
+ Default bootstrap partition in expert. Change mdk-bg.png to 4x4
+ for PPC strangeness.
+
+2001-05-02 16:41 Chmouel Boudjnah
+
+ * perl-install/install2.pm: Set KEYBOARD_AT_BOOT instead.
+
+2001-05-02 13:19 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hr.po, no.po: Updated Croatian and
+ Norwegian files
+
+2001-05-01 14:54 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: force "novideo" mode in text install, rescue
+
+2001-04-30 22:13 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: nicer layout for progressbar and
+ statusreport, when update_progression
+
+2001-04-30 21:46 Guillaume Cottenceau
+
+ * perl-install/modules.pm: skip u14-34f on stage1, seems to be
+ duplicate from ultrastor.o
+
+2001-04-30 19:25 Guillaume Cottenceau
+
+ * perl-install/modules.pm: have slightly better descr of drivers
+
+2001-04-30 19:23 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, modules.c, modules_descr.h,
+ newt-frontend.c, stdio-frontend.c, tools.c, tools.h: Provide some
+ description of the drivers
+
+2001-04-30 17:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: remove $::VERSION
+
+2001-04-30 15:32 Pixel <pixel at mandriva.com>
+
+ * docs/advocacy: fuck'em all
+
+2001-04-30 15:20 Pixel <pixel at mandriva.com>
+
+ * docs/README: s/gi.tar.bz2/DrakX-*.src.rpm/
+
+2001-04-30 15:19 Guillaume Cottenceau
+
+ * docs/HACKING: fix
+
+2001-04-30 14:36 Guillaume Cottenceau
+
+ * docs/HACKING: pserver -> ext
+
+2001-04-29 12:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add kdevelop raise telnet
+
+2001-04-27 15:32 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: no PCMCIA on PPC yet
+
+2001-04-27 10:18 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed typo
+
+2001-04-26 17:44 Fançois Pons
+
+ * docs/: README, README.devel: added some more comments for DrakX
+ code source and usage.
+
+2001-04-26 15:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fi.po: Updated Finnish file
+
+2001-04-25 19:30 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: Updated Czech file
+
+2001-04-25 19:27 Fançois Pons
+
+ * perl-install/install_any.pm: added NVIDIA cards detection to
+ enable 3D.
+
+2001-04-25 19:26 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: updated NVIDIA cards detection.
+
+2001-04-25 18:49 Fançois Pons
+
+ * tools/oem-prepare: fixed use of VERSION file to find language.
+
+2001-04-25 18:44 Fançois Pons
+
+ * perl-install/printerdrake.pm: allow non expert user to remove a
+ printer queue.
+
+2001-04-25 18:19 Fançois Pons
+
+ * perl-install/install2.pm: re-enabled mouse support for oem (not
+ automatic, for wheel mouse support).
+
+2001-04-25 18:10 Fançois Pons
+
+ * rescue/tree/etc/oem: added missing autologin package.
+
+2001-04-25 17:44 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: avoid testing card using NVIDIA
+ driver as the module is not loaded.
+
+2001-04-25 17:24 Fançois Pons
+
+ * rescue/tree/etc/oem: added option to enable oem mode.
+
+2001-04-25 17:24 Fançois Pons
+
+ * perl-install/install2.pm: removed auto mode for configureX
+ (problem if no monitor detected).
+
+2001-04-25 17:14 Fançois Pons
+
+ * rescue/tree/etc/: oem-server, oem: added missing VERSION file.
+
+2001-04-25 14:29 Fançois Pons
+
+ * tools/oem-prepare: prepare a oem disk to be used by moving all
+ files that will not be installed by oem (oem-master disk
+ preparation).
+
+2001-04-25 13:36 Fançois Pons
+
+ * rescue/tree/etc/: closurepkgs, oem, oem-server,
+ part_and_bootloader: fixed usage of free space on disk, added
+ NVIDIA packages to install.
+
+2001-04-25 13:01 Fançois Pons
+
+ * perl-install/standalone/XFdrake: added support for NVIDIA 3D
+ acceleration.
+
+2001-04-25 13:01 Fançois Pons
+
+ * perl-install/share/rpmsrate: decrease shogo-demo not to be
+ installed by default (else oem disk too big).
+
+2001-04-25 12:59 Fançois Pons
+
+ * perl-install/install_any.pm: added support for NVIDIA 3D
+ acceleration which is only enabled if package are available in
+ package list and match kernel version and release.
+
+2001-04-25 12:58 Fançois Pons
+
+ * perl-install/: Xconfigurator.pm, install_steps.pm,
+ install_steps_interactive.pm: added support for NVIDIA 3D
+ acceleration.
+
+2001-04-24 22:58 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: version is labelled "cooker"
+
+2001-04-24 14:54 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed non update of usb printer
+ device.
+
+2001-04-24 14:01 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po files
+
+2001-04-23 13:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pt_BR.po: Updated Brazilian file
+
+2001-04-22 19:03 Chmouel Boudjnah
+
+ * perl-install/c/: smp.c, smp.h: Merge SMP from Red Hat
+ anaconda-7.1.
+
+2001-04-20 12:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, vi.po: Updated Vietnamese file
+
+2001-04-20 12:06 Fançois Pons
+
+ * perl-install/bootloader.pm: fixed to make sure symlink are
+ expanded all the time for grub, really avoid generating
+ altconfigfile if reiserfs.
+
+2001-04-20 10:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/bootloader.pm: Added comments for translators
+
+2001-04-19 23:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/share/list.ppc, rescue/list, rescue/list.alpha,
+ rescue/list.i386, rescue/list.ppc, rescue/list.sparc: move
+ /sbin/sfdisk to list.arch, update both list.ppc
+
+2001-04-19 23:49 Dam's
+
+ * perl-install/netconnect.pm: updated network conf script
+
+2001-04-19 16:34 Guillaume Cottenceau
+
+ * tools/serial_probe/: serial.c, serial_probe.c: integrate fg's
+ fixes for includes
+
+2001-04-19 16:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cy.po, ga.po, is.po, sk.po, sl.po:
+ Updated Slovak file Merged back the too lowly translated files
+
+2001-04-18 18:09 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-04-18 17:32 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: fix bug that trashes the network config of
+ stage1 during stage2, when no DNS is provided
+
+2001-04-18 10:00 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: * put am-utils and autofs in
+ NETWORKING_FILE * drakprofile in level 1 * swapped tkinter and
+ python-devel * vnc-server in NETWORKING_REMOTE_ACCESS_SERVER *
+ vnc-SVGALIB in level 2
+
+2001-04-18 09:44 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet,
+ standalone/net_monitor: last corrections
+
+2001-04-18 08:07 Dam's
+
+ * perl-install/install_steps_gtk.pm: corrected cursor on details
+
+2001-04-18 05:19 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: corrected
+ internet connection test, and parameters editing
+
+2001-04-18 00:34 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: put MAKEDEV at end of line
+
+2001-04-17 23:23 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: fix 75dpi-fonts bug with MAKEDEV
+
+2001-04-17 17:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/draknet: fixed typo
+
+2001-04-17 17:52 Fançois Pons
+
+ * perl-install/any.pm: restored grub as everything seems fine.
+
+2001-04-17 17:24 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed missing mouse
+ update in summary.
+
+2001-04-17 17:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po,
+ ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po,
+ wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: Updated Basque file
+
+2001-04-17 17:18 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: left out root= in yaboot.config
+
+2001-04-17 17:17 Dam's
+
+ * perl-install/standalone/mousedrake: fixed embedded
+
+2001-04-17 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword):
+ better ensure 'broadcast' insteaf of overriding
+
+2001-04-17 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword): set
+ NIS to broadcast when NIS asked. Empty NIS still means no NIS
+
+2001-04-17 17:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): remove a warning
+
+2001-04-17 16:48 Fançois Pons
+
+ * rescue/tree/etc/: oem-server, oem: fixed swap size instead of
+ inst size for swap gap.
+
+2001-04-17 16:40 Dam's
+
+ * perl-install/bootlook.pm: chmoded autologin
+
+2001-04-17 16:40 Fançois Pons
+
+ * rescue/tree/etc/oem: make sure kernel is selected.
+
+2001-04-17 16:39 Fançois Pons
+
+ * rescue/tree/etc/oem-server: make sure kernel will be selected.
+
+2001-04-17 15:54 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed parted problem.
+
+2001-04-17 01:00 Dam's
+
+ * perl-install/any.pm: removed Grub if Embedded
+
+2001-04-17 00:07 Dam's
+
+ * perl-install/netconnect.pm: minor bug.
+
+2001-04-16 22:00 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix minor thing
+
+2001-04-16 21:59 Dam's
+
+ * perl-install/standalone/: draknet, net_monitor: updated
+
+2001-04-16 20:24 Guillaume Cottenceau
+
+ * mdk-stage1/TECH-INFOS: update doc
+
+2001-04-16 18:43 Dam's
+
+ * perl-install/: netconnect.pm, network.pm: dhcpd -> dhcpcd
+
+2001-04-16 18:33 Fançois Pons
+
+ * rescue/tree/etc/oem: added missing rio500 in closure.
+
+2001-04-16 18:19 Fançois Pons
+
+ * perl-install/fs.pm: restored not neccessary to load reiserfs for
+ formating.
+
+2001-04-16 18:09 Fançois Pons
+
+ * rescue/tree/etc/oem: finally fixed menu by generating
+ /etc/rpm/macros file.
+
+2001-04-16 18:02 Fançois Pons
+
+ * perl-install/fs.pm: loading reiserfs module before formatting.
+
+2001-04-16 17:58 Fançois Pons
+
+ * rescue/tree/etc/oem: added missing LF.
+
+2001-04-16 17:50 Fançois Pons
+
+ * rescue/tree/etc/oem: now fixed menu problems.
+
+2001-04-16 17:44 Fançois Pons
+
+ * rescue/tree/etc/oem: try another fix for RPM_INSTALL_LANG as
+ first fr_FR:fr instead of fr:fr_FR.
+
+2001-04-16 17:36 Fançois Pons
+
+ * rescue/tree/etc/oem: really disable server.
+
+2001-04-16 17:10 Dam's
+
+ * perl-install/Xconfigurator.pm: added nice monitor.png
+
+2001-04-16 17:10 Dam's
+
+ * perl-install/my_gtk.pm: corrected typo
+
+2001-04-16 17:06 Fançois Pons
+
+ * rescue/tree/etc/oem: maybe fixed RPM_INSTALL_LANG (from "fr" to
+ "fr:fr_FR" for french).
+
+2001-04-16 17:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: remove BURNER from Utilities
+
+2001-04-16 16:56 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower portsentry
+
+2001-04-16 16:45 Fançois Pons
+
+ * perl-install/Xconfig.pm: fixed standalone error for wacom
+ weirdness.
+
+2001-04-16 16:34 Dam's
+
+ * perl-install/pixmaps/: categ.png, colors.png, colors16.png,
+ colors8.png, eth_card_mini.png, gmon.png, hori.png,
+ monitor-1024.png, monitor-1280.png, monitor-640.png,
+ monitor-800.png, monitor.png, net_c.png, net_d.png, tradi.png,
+ verti.png, wiz_default_left.png, wiz_default_up.png,
+ wiz_drakgw.png, wiz_draknet.png, wiz_firewall.png: plop
+
+2001-04-16 16:32 Dam's
+
+ * perl-install/pixmaps/: categ.png, colors.png, colors16.png,
+ colors8.png, eth_card_mini.png, gmon.png, hori.png,
+ monitor-1024.png, monitor-1280.png, monitor-640.png,
+ monitor-800.png, monitor.png, net_c.png, net_d.png, tradi.png,
+ verti.png, wiz_default_left.png, wiz_default_up.png,
+ wiz_drakgw.png, wiz_draknet.png, wiz_firewall.png: removed for
+ readd in kb
+
+2001-04-16 16:28 Guillaume Cottenceau
+
+ * perl-install/pixmaps/: monitor-1024.png, monitor-1280.png,
+ monitor-640.png, monitor-800.png: add nice shots for XFdrake
+
+2001-04-16 16:27 Fançois Pons
+
+ * perl-install/Xconfig.pm: fixed HASH() in /etc/X11/XF86Config*.
+
+2001-04-16 16:22 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed to avoid nasty message in wrong
+ places.
+
+2001-04-16 16:19 Dam's
+
+ * perl-install/my_gtk.pm: added grey fix for contreol-center
+
+2001-04-16 16:17 Fançois Pons
+
+ * rescue/tree/etc/oem: moved warning message around.
+
+2001-04-16 16:09 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-16 16:07 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed wrong LOCALES"...".
+
+2001-04-16 15:49 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed lang weirdness, fixed minimal size of
+ / partition to be more confortable, fixed default language for
+ starting DrakX after.
+
+2001-04-16 14:55 Dam's
+
+ * perl-install/standalone/draknet: bugfix
+
+2001-04-16 13:43 Dam's
+
+ * perl-install/standalone/draknet: added update thread
+
+2001-04-16 13:16 Dam's
+
+ * perl-install/netconnect.pm: debug
+
+2001-04-16 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): do not take
+ 'mkbootdisk'
+
+2001-04-16 08:09 Dam's
+
+ * perl-install/: install_steps.pm, netconnect.pm, network.pm,
+ standalone/draknet: corrected bad install package.
+
+2001-04-16 05:52 Dam's
+
+ * perl-install/standalone/draknet: updated expert mode
+
+2001-04-16 05:52 Dam's
+
+ * perl-install/tinyfirewall.pm: corrected package installation
+
+2001-04-16 01:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/gl.po: updated Galician file
+
+2001-04-15 23:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (reallyChooseGroups):
+ translate path (eg: Workstation, Server) to make gg happy
+
+2001-04-15 22:50 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updates
+
+2001-04-15 22:42 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fix minor typo
+
+2001-04-15 20:13 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Add mozilla-mail and mozilla-irc to
+ correct categories
+
+2001-04-15 20:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ko.po, sv.po: Updated Swedish and Korean
+ files
+
+2001-04-15 20:01 Pixel <pixel at mandriva.com>
+
+ * Makefile: (tar): s/cfy/cfj/
+
+2001-04-15 18:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (write_passwd_user): fix use of local
+
+2001-04-15 17:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): add an eval around
+ "require log" to keep perl from going totally mad (getting things
+ like v18.843.482 required--this is only v5.6.0)
+
+2001-04-15 15:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/printerdrake.pm: (main): restore the "Ok" button for
+ the queues manipulation
+
+2001-04-15 12:57 Yves Duret
+
+ * perl-install/bootlook.pm: bug fix: if cancel pressed in lilo/grub
+ choice => return to mcc normally
+
+2001-04-15 12:48 Yves Duret
+
+ * perl-install/bootlook.pm: fix layout & size
+
+2001-04-15 01:26 Dam's
+
+ * perl-install/netconnect.pm: corrected isdn detect display
+
+2001-04-14 20:22 Dam's
+
+ * perl-install/standalone/: draknet, net_monitor: wait 10 sec,
+ instead of 7
+
+2001-04-14 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: (createXconf): ensure the mouse
+ device is created (mainly for auto_inst)
+
+2001-04-14 18:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (naughtyServers): add apache
+
+2001-04-14 18:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (exitInstall): fix bad
+ i18n of Replay button (thx2submarine)
+
+2001-04-14 18:28 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower viavoicemenu to 1 to avoid
+ error message for powerpack boxes without ViaVoice
+
+2001-04-14 17:15 Fançois Pons
+
+ * rescue/tree/etc/oem: changed priority level from 2 to 4 for rate
+ selection of packages.
+
+2001-04-14 16:25 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed absurd mismatch of use of <=> and cmp
+ on versionCompare.
+
+2001-04-14 15:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (use vars): fix stew sux
+ (testFinalConfig): nicer stderr handling
+
+2001-04-14 15:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, interactive_newt.pm: (exit):
+ fix the exit code
+
+2001-04-14 15:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_po): s/!isStandalone/isInstall/
+ (mainly for XFdrake's test)
+
+2001-04-14 14:58 Fançois Pons
+
+ * perl-install/install_any.pm: fixed to gzip synthesis file.
+
+2001-04-14 14:42 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, list, rpmsrate: add icons in
+ compssUser and list
+
+2001-04-14 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureX): fix link
+ /etc/gtk (to /mnt/etc/gtk) instead of /etc/gtkrc
+
+2001-04-14 14:22 Fançois Pons
+
+ * perl-install/install_any.pm: safe guard generation of synthesis
+ file.
+
+2001-04-14 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (autologin): spurious messages of chksession
+ -> dave nul
+
+2001-04-14 14:19 Fançois Pons
+
+ * perl-install/install_any.pm: fixed umask on urpmi list file and
+ generate synthesis file for each hdlist.
+
+2001-04-14 14:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: (wait_message_endW): don't log
+ "none stacked wait-messages" (as a lot of them exist...)
+ (waitbox): remove spurious '0' in wait_messages
+
+2001-04-14 12:21 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img, perl-install/Xconfigurator.pm,
+ perl-install/Xconfigurator_consts.pm, perl-install/mouse.pm:
+ updates to X, mouse setup for PPC
+
+2001-04-14 01:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: Updated Norwegian file
+
+2001-04-14 00:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po,
+ ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po,
+ ru.po, sk.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, vi.po,
+ wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: Updated po files
+
+2001-04-13 22:17 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-04-13 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (main): reverse message
+
+2001-04-13 19:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): do not have an empty icon.
+ better not ask for icon if no icon
+
+2001-04-13 19:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW):
+ set_default_size width 250
+
+2001-04-13 18:49 Fançois Pons
+
+ * rescue/tree/etc/oem: avoid locking cdrom for oem (compssUsers
+ file still opened).
+
+2001-04-13 18:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: do not set XkbVariant
+ "winkeys" for ru(winkeys), it is redondant
+
+2001-04-13 18:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): hide
+ Details button sooner
+
+2001-04-13 18:20 Dam's
+
+ * perl-install/Xconfigurator.pm: corrected
+
+2001-04-13 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): do not show
+ button "Details" when no advertising
+
+2001-04-13 17:32 Dam's
+
+ * perl-install/Xconfigurator.pm: updated
+
+2001-04-13 17:21 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: synchro with EN
+
+2001-04-13 17:18 Dam's
+
+ * perl-install/Xconfigurator.pm: updated message
+
+2001-04-13 17:15 Dam's
+
+ * perl-install/netconnect.pm: net_cnx_up/down xritten in neuneu
+
+2001-04-13 17:14 Dam's
+
+ * perl-install/standalone/draknet: message corrected
+
+2001-04-13 17:07 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: avoid illegal modulus zero if
+ no advertizing is available.
+
+2001-04-13 16:55 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed very old typo not
+ encountered before;
+
+2001-04-13 16:49 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: add ssh server in Network
+ Computer Server
+
+2001-04-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (addUser): remove the
+ setting of $o->{autologin}, now done in any::autologin
+
+2001-04-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (backtrace): created
+
+2001-04-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): add the empty icon (autologin):
+ fix
+
+2001-04-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): log the empty list
+ instead of dying (for 8.0 only, should be switched back to die)
+ (ask_from_listf): display the backtrace when empty list
+
+2001-04-13 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (miscellaneous): add setting
+ KEYBOARD=yes in /etc/sysconfig/usb as asked by Lord Chmou
+
+2001-04-13 15:35 Dam's
+
+ * perl-install/bootlook.pm: embedded = 0 -> local
+
+2001-04-13 15:32 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: add DATABASES to Database
+
+2001-04-13 15:09 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: add icons for server
+
+2001-04-13 14:55 Dam's
+
+ * perl-install/standalone/draknet: updated
+
+2001-04-13 14:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: don't use Locale::GetText, use DrakX's
+ i18n
+
+2001-04-13 13:57 Fançois Pons
+
+ * perl-install/: install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: added conditional update-menus if
+ package are installed.
+
+2001-04-13 13:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (new): make dams happy
+
+2001-04-13 13:46 Fançois Pons
+
+ * perl-install/netconnect.pm: fixed syntax error :-)
+
+2001-04-13 12:10 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure update-menus
+ is called after installing cups related packages.
+
+2001-04-13 11:21 Dam's
+
+ * perl-install/network.pm: updated wireless configuration
+
+2001-04-13 11:15 Dam's
+
+ * perl-install/netconnect.pm: corrected loop in isdn + other things
+
+2001-04-13 11:15 Dam's
+
+ * perl-install/standalone/draknet: added delete event
+
+2001-04-13 04:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po, ga.po, is.po, sl.po:
+ Removed po files with too low leve lof translating ( < 60% ) so
+ they are not included on final CD
+
+2001-04-13 04:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fr.po, hr.po, hu.po, sv.po: Updated
+ Croatian and Swedish files
+
+2001-04-13 00:17 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: remove unnecessary redhat history code
+
+2001-04-13 00:13 Guillaume Cottenceau
+
+ * Makefile: work when I have no alternatives kernel
+
+2001-04-12 19:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (main): only accept X (gdk) events
+ key_press, key_release and exposure (so that not to receive
+ motion_notify which would generate focus_out in non-interesting
+ cases)
+
+2001-04-12 19:05 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: minor fix
+
+2001-04-12 18:22 Fançois Pons
+
+ * perl-install/live_install: removed gtk variable for data, moved
+ to second script.
+
+2001-04-12 18:22 Fançois Pons
+
+ * perl-install/live_install2: added some gtk and gdk_imlib missing
+ variables.
+
+2001-04-12 18:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/printer.pm: use run_program and remove "require
+ run_program"s
+
+2001-04-12 17:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): fix the test for empty
+ lists
+
+2001-04-12 16:35 Fançois Pons
+
+ * live_update: updated to use current working directory if valable
+ or /mnt/cdrom in any other cases.
+
+2001-04-12 16:01 Fançois Pons
+
+ * perl-install/install_any.pm: fixed wrong kernel version
+ extraction (typically for upgrade).
+
+2001-04-12 16:00 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: remove unneeded #define
+
+2001-04-12 15:50 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: add some rule so later on
+ tinyfirewall will not prevent everything from working
+
+2001-04-12 15:49 Fançois Pons
+
+ * perl-install/interactive.pm: removed strict die on empty list.
+
+2001-04-12 15:43 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: write some ppc translations
+
+2001-04-12 15:12 Pixel <pixel at mandriva.com>
+
+ * Makefile: (install): clean old images/alternatives
+
+2001-04-12 15:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (configure_pcmcia): better handling for
+ not running cardmgr many times
+
+2001-04-12 15:03 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: removed Cancel of
+ Summary.
+
+2001-04-12 15:03 Fançois Pons
+
+ * perl-install/printerdrake.pm: automatically add a queue if
+ nothing exists.
+
+2001-04-12 15:02 Fançois Pons
+
+ * perl-install/: commands.pm, keyboard.pm, lang.pm, modules.pm,
+ pkgs.pm: fixed log of packdrake.
+
+2001-04-12 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (configure_pcmcia): always run cardmgr
+ so that it is run even if stage1 did create a /var/run/stab. This
+ is just a try :-/
+
+2001-04-12 14:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (pack_langs): set RPM_INSTALL_LANG for
+ package "menu"
+
+2001-04-12 14:50 Pixel <pixel at mandriva.com>
+
+ * Makefile: move special images to dir alternatives
+
+2001-04-12 14:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: Updated Italian file
+
+2001-04-12 14:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): - when not_edit and
+ empty list, die. - when not_edit and single element list, don't
+ display that entry.
+
+2001-04-12 14:05 Fançois Pons
+
+ * perl-install/standalone/printerdrake: never ask to configure a
+ printer in standalone.
+
+2001-04-12 14:04 Fançois Pons
+
+ * perl-install/printerdrake.pm: fixed ask to configure a printer.
+
+2001-04-12 14:03 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed ask printer
+ configuration.
+
+2001-04-12 14:02 Fançois Pons
+
+ * perl-install/detect_devices.pm: fix Hewlett-Packard to HP in
+ case.
+
+2001-04-12 13:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): fix no
+ advertising with less than 20MB of packages
+
+2001-04-12 13:50 Dam's
+
+ * perl-install/netconnect.pm: if neuneu but explicited clicked,
+ don't skip
+
+2001-04-12 13:35 Fançois Pons
+
+ * perl-install/common.pm: improved bestMatchSentence2.
+
+2001-04-12 13:34 Dam's
+
+ * perl-install/netconnect.pm: corrected pcmcia driver
+
+2001-04-12 13:33 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: un-dadouize a problem
+
+2001-04-12 13:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureX): fix for
+ X test at install with exotic fonts
+
+2001-04-12 12:58 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: sync
+
+2001-04-12 12:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, da.po, de.po, el.po, eo.po,
+ es.po, et.po, eu.po, fi.po, fr.po, id.po, is.po, it.po, ja.po,
+ ko.po, sk.po, sl.po, sp.po, sr.po, sv.po, vi.po, wa.po,
+ zh_CN.GB2312.po, zh_TW.Big5.po: Updated Chinese file
+
+2001-04-12 10:19 Dam's
+
+ * perl-install/: network.pm, standalone/draknet: corrected network
+ connection
+
+2001-04-12 09:13 Dam's
+
+ * perl-install/standalone/net_monitor: typo
+
+2001-04-12 08:57 Dam's
+
+ * perl-install/my_gtk.pm: corrected set_modal
+
+2001-04-12 04:46 Dam's
+
+ * perl-install/lang.pm: pixel sux
+
+2001-04-12 03:36 Yves Duret
+
+ * perl-install/bootlook.pm: added some stuff
+
+2001-04-12 03:11 Dam's
+
+ * perl-install/: netconnect.pm, bootlook.pm: corrected typo
+
+2001-04-12 03:07 Dam's
+
+ * perl-install/bootlook.pm: added use bootloader
+
+2001-04-12 03:06 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po files
+
+2001-04-12 02:56 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-04-12 01:49 Dam's
+
+ * perl-install/my_gtk.pm: no setmodal 0 if wizard
+
+2001-04-12 01:09 Yves Duret
+
+ * perl-install/bootlook.pm: bug fix in autologin
+
+2001-04-12 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (reallyChooseGroups): relook
+
+2001-04-12 00:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups): warn
+ if chosen size is too big
+
+2001-04-12 00:34 Dam's
+
+ * perl-install/netconnect.pm: updated
+
+2001-04-11 23:35 Dam's
+
+ * perl-install/share/themes-mdk.rc: tooltips
+
+2001-04-11 23:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: adapt for new profile choosing
+ layout
+
+2001-04-11 22:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): pressing
+ "Details" gives you more detailed info
+
+2001-04-11 22:36 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: unfuzzyize
+
+2001-04-11 22:27 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: sync with new msg in services.pm and
+ compssUsers
+
+2001-04-11 22:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (reallyChooseGroups): start
+ relooking (installPackages): don't display advertising if less
+ 20MB of packages
+
+2001-04-11 21:58 Dam's
+
+ * perl-install/netconnect.pm: added driver for pcmcia, corrected
+ eth conf for pppoe
+
+2001-04-11 21:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, wa.po: Updated Walloon file
+
+2001-04-11 20:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated po files
+
+2001-04-11 19:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (fsck_option): add a closing ``"''
+ so that strings to i18n extraction works
+
+2001-04-11 19:09 Dam's
+
+ * perl-install/tinyfirewall.pm: installation of package : not at
+ the same place
+
+2001-04-11 19:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Added reference to
+ netscape-chinese_big5 file
+
+2001-04-11 19:01 Fançois Pons
+
+ * perl-install/install_any.pm: added missing LD_LOADER for calling
+ rpm.
+
+2001-04-11 18:56 Fançois Pons
+
+ * perl-install/printerdrake.pm: fixed probe on kernel 2.4.
+
+2001-04-11 18:56 Fançois Pons
+
+ * perl-install/pkgs.pm: added missing use of LD_LOADER for starting
+ parsehdlist on upgrade.
+
+2001-04-11 18:55 Fançois Pons
+
+ * perl-install/lang.pm: added missing LD_LOADER reference and
+ remove old code commented.
+
+2001-04-11 18:54 Fançois Pons
+
+ * perl-install/detect_devices.pm: avoid need of shell for live
+ upgrade on serial_probe (removed 2>/dev/null which is not
+ necessary).
+
+2001-04-11 18:54 Dam's
+
+ * perl-install/bootlook.pm: updated
+
+2001-04-11 18:53 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: sync with pablo update
+
+2001-04-11 18:38 Dam's
+
+ * perl-install/bootlook.pm: corrected
+
+2001-04-11 17:47 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: fixes of translations
+
+2001-04-11 17:39 Guillaume Cottenceau
+
+ * perl-install/standalone/tinyfirewall: i18n title
+
+2001-04-11 17:28 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: kosmetik
+
+2001-04-11 17:16 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: do i18n for title also
+
+2001-04-11 17:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (fsck_option): add a closing ``"''
+ so that strings to i18n extraction works
+
+2001-04-11 16:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm,
+ install_steps_interactive.pm: translate the ``path'' in profile
+ selection
+
+2001-04-11 16:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/i18n_compssUsers: relooking
+
+2001-04-11 16:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): translate the bootloaders
+ to use
+
+2001-04-11 15:55 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: Add descr for servers
+
+2001-04-11 15:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, bg.po, ca.po, cs.po, de.po,
+ es.po, fi.po, fr.po, id.po, is.po, it.po, ja.po, ko.po, pl.po,
+ sk.po, vi.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: Updated
+ Slovak, Walloon and Polish files
+
+2001-04-11 15:37 Guillaume Cottenceau
+
+ * perl-install/services.pm: have many more services tooltipped from
+ here so we can get translations afterwards
+
+2001-04-11 15:04 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: fix typos of rpmsrate groups
+
+2001-04-11 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): nicer look&feel
+
+2001-04-11 14:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: make it work (why was
+ bootloader::install commented?)
+
+2001-04-11 14:30 Fançois Pons
+
+ * perl-install/printerdrake.pm: make printer devices more accurate.
+
+2001-04-11 14:17 Guillaume Cottenceau
+
+ * perl-install/share/po/fr.po: write the shitload of untranslated
+ and fuzzy msg
+
+2001-04-11 14:16 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed printer probe (usb and
+ parallel).
+
+2001-04-11 14:15 Fançois Pons
+
+ * perl-install/printerdrake.pm: removed limitation to only one port
+ probed
+
+2001-04-11 14:13 Fançois Pons
+
+ * perl-install/standalone/printerdrake: added missing take into
+ account of /etc/modules.conf
+
+2001-04-11 14:03 Fançois Pons
+
+ * perl-install/mouse.pm: fix wacom usb tablet
+
+2001-04-11 13:51 Pixel <pixel at mandriva.com>
+
+ * update_kernel: have a fake main for cardmgr only if needed
+
+2001-04-11 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: (rooted): don't call
+ install_any::check_prog if rooted
+
+2001-04-11 13:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (check_prog): make it work
+
+2001-04-11 13:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: take cardmgr-*
+
+2001-04-11 13:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (More): fix exception relaunching
+
+2001-04-11 10:01 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updated german version
+
+2001-04-11 03:25 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po file
+
+2001-04-11 03:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: check resize_reiserfs is there or get
+ it
+
+2001-04-11 03:03 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: to lighten mdkinst_stage2: - completly
+ remove po's (will be getFile'd) - remove LVM progs,
+ resize_reiserfs, big fonts (will be getFile'd)
+
+2001-04-11 03:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: in install, call
+ install_any::check_prog to allow shadow progs which are fetched
+ when needed via getFile
+
+2001-04-11 03:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (check_prog): if a prog isn't
+ available, try to fetch it via getFile (remove_bigseldom_used):
+ created, purpose: remove unneeded stuff on stage2 to allow a
+ getAndSaveFile. (getAndSaveFile): if only one arg is given,
+ assume the name is the same
+
+2001-04-11 03:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (get_x_fontset): special cases for some big
+ (size) fonts
+
+2001-04-11 02:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/aliases: add rmmod -> insmod_
+
+2001-04-11 02:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: remove rmmod (is now a symlink)
+
+2001-04-11 02:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: fix bug for running xfs
+
+2001-04-11 01:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: - fix wiz_*.png removing - fix copying
+ cardmgr* which included cardmgr.o
+
+2001-04-11 01:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ca.po: Updated Catalan file
+
+2001-04-11 00:45 Guillaume Cottenceau
+
+ * perl-install/bootlook.pm: do not use french in i18n'ed msg
+ yvounet!!
+
+2001-04-10 23:33 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: add INTERFACE param in sysconfig
+ parameter for smooth interoperation with bastille-firewall
+
+2001-04-10 23:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: Updated Czech file
+
+2001-04-10 22:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: Updated Bulgarian file
+
+2001-04-10 22:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, fi.po, wa.po: Added a missing
+ translatable string
+
+2001-04-10 19:01 Yves Duret
+
+ * perl-install/bootlook.pm: grub/lilo mode
+
+2001-04-10 18:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, ja.po, ko.po, vi.po: Updated
+ Indonesian, Japanese, Korean and Vietnamese files
+
+2001-04-10 18:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: use gtkset_tip
+ (choosePackagesTree): fix "Show automatically selected packages"
+
+2001-04-10 18:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, my_gtk.pm: create and use
+ gtkset_tip
+
+2001-04-10 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: use gtkset_tip (so that no tip
+ is set when tip eq '') (create_boxradio): handle double_click
+ (ask_from_entries_refW): use radio boxes instead of list/clist if
+ small number of choices
+
+2001-04-10 17:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (_create_window): XSetInputFocus done
+ only on expose_event of the topmost window (new): ensure only one
+ modal
+
+2001-04-10 17:32 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed selection of
+ CDs.
+
+2001-04-10 17:32 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add viavoicemenu_{us,gr,fe}
+
+2001-04-10 17:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (main): have an "Ok" button to
+ leave
+
+2001-04-10 16:42 Guillaume Cottenceau
+
+ * mdk-stage1/mkinitrd_helper/: Makefile, mkinitrd_helper.c: -
+ honour quiet mode at boot time - fake modprobe to shut up kmod
+
+2001-04-10 14:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated po files
+
+2001-04-10 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (create_ctree): handle single
+ click on node opens the node
+
+2001-04-10 10:47 Fançois Pons
+
+ * perl-install/devices.pm: added input/event class of devices
+ (necessary for usb wacom at install)
+
+2001-04-10 05:57 Dam's
+
+ * perl-install/network.pm: get rid of ifcfg-
+
+2001-04-10 05:05 Dam's
+
+ * perl-install/netconnect.pm: corrected bad network restart
+
+2001-04-10 04:29 Dam's
+
+ * perl-install/network.pm: minor correction
+
+2001-04-10 04:29 Dam's
+
+ * perl-install/my_gtk.pm: corrected bad font
+
+2001-04-10 01:44 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/tinyfirewall.pm: i18n fixes
+
+2001-04-10 00:25 Dam's
+
+ * perl-install/tinyfirewall.pm: typo
+
+2001-04-09 22:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_grub): altconfigfile only if
+ /boot is not reiserfs :-/
+
+2001-04-09 22:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): also have SOUND set
+ in compssUsersChoice based on pciusbtable
+
+2001-04-09 22:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: - SOUND is now a flag
+ - AUDIO is the group
+
+2001-04-09 21:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Create): check for 40MB instead of
+ 32MB for min reiserfs size as the check is done before rounding.
+
+2001-04-09 21:40 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: fix the stage2 too big (was keeping
+ too many modules.cz)
+
+2001-04-09 20:12 Yves Duret
+
+ * perl-install/standalone/tinyfirewall: button policy (thx gc)
+
+2001-04-09 20:12 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/Xconfigurator.pm: fixed i18n bug
+
+2001-04-09 20:09 Yves Duret
+
+ * perl-install/standalone/drakgw: deyvounification : remove some
+ un-useful comments in code
+
+2001-04-09 18:32 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: 8.0rc -> 8.0
+
+2001-04-09 18:29 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed always 8bpp for
+ autoDefaultDepth.
+
+2001-04-09 18:29 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: do not die when an initscript
+ returns non-0 (initscripts too buggy)
+
+2001-04-09 17:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated Danish file
+
+2001-04-09 17:35 Fançois Pons
+
+ * perl-install/pkgs.pm: changed transaction error management this
+ way: if a transaction fails, DrakX tries to make as many
+ transaction as there are package that have failed to be installed
+ (this means one transaction of only one package). This help
+ installing most package that are correct (as a transaction that
+ failed cause all remaining package to be not installed).
+
+2001-04-09 16:48 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/any.pm: changed ISO_8859-1 TO ISO-8859-1
+
+2001-04-09 16:28 Fançois Pons
+
+ * rescue/tree/etc/oem: fixes of grub installation using hd.img
+
+2001-04-09 16:23 Guillaume Cottenceau
+
+ * rescue/tree/etc/oem: fix english thanks to Kevin
+
+2001-04-09 16:14 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixes
+
+2001-04-09 15:56 Fançois Pons
+
+ * rescue/tree/etc/oem: fix the fix for loopback mounting of hd.img.
+
+2001-04-09 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm: handle XkbModel (especially for abnt2
+ (br))
+
+2001-04-09 15:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps.pm, c/stuff.xs.pm: create
+ to_utf8 from po strings, use it for kdm message
+
+2001-04-09 15:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_po): sets $lang::charset to the
+ charset used in the po
+
+2001-04-09 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): sets umask (seems like default
+ one is no more 022, kernel change?)
+
+2001-04-09 14:50 Yves Duret
+
+ * perl-install/standalone/drakboot: added lilo/grub
+
+2001-04-09 14:49 Yves Duret
+
+ * perl-install/bootlook.pm: added lilo/grub mode
+
+2001-04-09 14:12 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: 8.0beta -> 8.0rc
+
+2001-04-09 13:39 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: fix for when there is an already
+ existing rc.firewall complies with old format of drakgw so that
+ upgrades will work
+
+2001-04-09 12:58 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: fix Traktopel Maxim thanks to Kevin Lawton
+
+2001-04-09 12:41 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed hd.img access right.
+
+2001-04-09 12:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_lilo): better handling of
+ map-drive (there's not always only 2 disks!)
+
+2001-04-09 12:26 Fançois Pons
+
+ * rescue/tree/etc/oem: make kernel22 installed for every oem
+ install...
+
+2001-04-09 12:25 Fançois Pons
+
+ * rescue/tree/etc/oem: moved some package to closure instead of
+ installed.
+
+2001-04-09 12:23 Fançois Pons
+
+ * rescue/tree/etc/oem: added some missing packages.
+
+2001-04-09 12:17 Dam's
+
+ * perl-install/netconnect.pm: corrected buggy cable
+
+2001-04-09 12:03 Dam's
+
+ * perl-install/tinyfirewall.pm: corrected
+
+2001-04-09 12:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): log the umask
+
+2001-04-09 12:00 Fançois Pons
+
+ * perl-install/standalone/mousedrake: fixed mousedrake (with
+ interactive.pm fixes applied).
+
+2001-04-09 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_treelistf): make it
+ behaves correctly when "cancel" is clicked
+
+2001-04-09 11:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (entry): add hd[ijkl]*
+
+2001-04-09 11:34 Fançois Pons
+
+ * perl-install/standalone/keyboarddrake: fixed exit on cancel
+ (should cause trouble in DrakConf only).
+
+2001-04-09 11:33 Dam's
+
+ * perl-install/standalone.pm: install function now returns the
+ return value of the system.
+
+2001-04-09 11:30 Fançois Pons
+
+ * perl-install/standalone/mousedrake: fixed cancel support.
+
+2001-04-09 11:26 Fançois Pons
+
+ * perl-install/standalone/mousedrake: added conditional restart of
+ gpm on mouse configuration change.
+
+2001-04-09 11:07 Fançois Pons
+
+ * perl-install/fs.pm: removed notail option for reiserfs.
+
+2001-04-09 11:01 Dam's
+
+ * perl-install/netconnect.pm: removed buggy modem screen repetition
+
+2001-04-09 10:53 Fançois Pons
+
+ * rescue/tree/etc/oem: added nolock option for nfsmount.
+
+2001-04-09 10:50 Fançois Pons
+
+ * rescue/tree/etc/oem, perl-install/install_any.pm: added missing
+ package to copy.
+
+2001-04-09 10:33 Fançois Pons
+
+ * perl-install/printer.pm: added Till patch for printer (raw queue
+ and PostScript queue).
+
+2001-04-09 08:33 kjx
+
+ * perl-install/share/po/zh_CN.GB2312.po: translate before 8.0
+ release
+
+2001-04-09 07:36 Dam's
+
+ * perl-install/netconnect.pm: corrected bad bug when creating new
+ profile
+
+2001-04-09 07:14 Yves Duret
+
+ * perl-install/bootlook.pm: fix, added lilo/grub frame
+
+2001-04-09 05:58 Yves Duret
+
+ * perl-install/bootlook.pm: fixed till bug
+
+2001-04-09 02:38 Dam's
+
+ * perl-install/Makefile: removed install_any
+
+2001-04-09 02:36 Dam's
+
+ * perl-install/modules.pm: removed use install_any
+
+2001-04-09 01:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): add option "quiet" to the
+ kernel in fb (requested by chmou)
+
+2001-04-09 01:19 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: increase quanta weight .
+
+2001-04-09 01:13 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-04-09 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): remove
+ setting of kde charset in kdeglobals (kde is a grown-up now)
+
+2001-04-08 23:22 Guillaume Cottenceau
+
+ * perl-install/modules.pm: correct my mistakes on removing some
+ modules from stage1 and stage2 (-> remove only from stage1)
+
+2001-04-08 22:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write): remove debugging info :-(
+
+2001-04-08 20:32 Dam's
+
+ * perl-install/install_any.pm, perl-install/netconnect.pm,
+ rescue/tree/etc/closurepkgs, rescue/tree/etc/oem: get rid of
+ kisdn
+
+2001-04-08 20:00 Dam's
+
+ * perl-install/standalone/net_monitor: removed Data::Dumper
+
+2001-04-08 18:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: share/compssUsers.desktop, share/po/DrakX.pot,
+ share/po/af.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fi.po,
+ share/po/fr.po, share/po/ga.po, share/po/gl.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po, share/po/lv.po,
+ share/po/nl.po, share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sr.po,
+ share/po/sv.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.GB2312.po,
+ share/po/zh_TW.Big5.po, standalone/draknet: Fixed some english
+ typos
+
+2001-04-08 17:40 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po files
+
+2001-04-08 16:57 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-04-08 16:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: netconnect.pm, standalone/net_monitor: Some
+ English changes
+
+2001-04-08 16:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated pot file and various po files
+
+2001-04-08 07:33 Dam's
+
+ * perl-install/: my_gtk.pm, netconnect.pm, netconnect_consts.pm,
+ tinyfirewall.pm, standalone/drakgw, standalone/draknet,
+ standalone/tinyfirewall: updated
+
+2001-04-08 06:26 Dam's
+
+ * perl-install/standalone/: draknet, net_monitor: typo
+
+2001-04-08 06:11 Dam's
+
+ * perl-install/netconnect.pm: no more askwarn in wizard mode
+
+2001-04-08 05:50 Dam's
+
+ * perl-install/tinyfirewall.pm: added package installation
+
+2001-04-08 05:39 Dam's
+
+ * perl-install/standalone/draknet: corrected bad isdn field
+
+2001-04-08 02:57 Dam's
+
+ * perl-install/netconnect.pm: updated
+
+2001-04-08 01:56 Dam's
+
+ * perl-install/: netconnect.pm: typo
+
+2001-04-08 01:00 Dam's
+
+ * perl-install/: Makefile.config, netconnect.pm,
+ standalone/net_monitor: net_monitor incorporation
+
+2001-04-07 20:13 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: PCL-CVS release v2_9_9
+
+ Repository :
+ :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker Working
+ directory: /home/warly/local/share/mdk/gi/perl-install/share/
+
+ In directory .: Modified rpmsrate
+
+ --------------------- End --------------------- -- last cmd: cvs
+ -f update -d -P --
+
+2001-04-07 20:11 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: PCL-CVS release v2_9_9
+
+ Repository :
+ :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker Working
+ directory: /home/warly/local/share/mdk/gi/perl-install/share/
+
+ In directory .: Modified compssUsers
+ In directory po: patched Up-To-Date
+ po/DrakX.pot patched Up-To-Date po/ca.po
+ patched Up-To-Date po/de.po patched
+ Up-To-Date po/hr.po patched Up-To-Date
+ po/id.po patched Up-To-Date po/it.po
+ patched Up-To-Date po/ja.po patched
+ Up-To-Date po/ko.po patched Up-To-Date
+ po/sp.po patched Up-To-Date po/sr.po
+ patched Up-To-Date po/vi.po patched
+ Up-To-Date po/wa.po
+
+ --------------------- End --------------------- -- last cmd: cvs
+ -f update -d -P --
+
+2001-04-07 17:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, it.po, ko.po, sp.po, sr.po,
+ wa.po: Updated Korean, Italian, Serbian and Walloon files
+
+2001-04-07 04:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hr.po: updated Croatian files
+
+2001-04-06 23:17 Guillaume Cottenceau
+
+ * perl-install/modules.pm: use jeff's suggestions to remove some
+ old stuff
+
+2001-04-06 23:09 Guillaume Cottenceau
+
+ * mdk-stage1/mkinitrd_helper/: Makefile, mkinitrd_helper.c: steal
+ raid_autorun from rh
+
+2001-04-06 21:42 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-04-06 20:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, id.po: Updated Catalan and
+ Indonesian files
+
+2001-04-06 19:44 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ja.po, vi.po: Updated Japanese and
+ Vietnamese files
+
+2001-04-06 19:11 Guillaume Cottenceau
+
+ * perl-install/modules.pm: Sun Happy Meal only for Sparc
+
+2001-04-06 18:51 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, probing.c, stdio-frontend.c: - do not
+ print warning when we are in AUTOMATIC and insmod failed because
+ of file-not-found in mar file (raid cards, etc) - print "please
+ include msg from Alt-F3" for this warning message to ease further
+ support - print pci entry of cards found in te logs
+
+2001-04-06 17:09 Yves Duret
+
+ * perl-install/standalone/drakgw: swap cancel/configure button
+
+2001-04-06 17:07 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed absence of /boot in install CD for oem
+ stuff.
+
+2001-04-06 16:39 Guillaume Cottenceau
+
+ * perl-install/modules.pm: re integrate some TR net cards
+
+2001-04-06 16:12 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - correct yvounetification in
+ i18n stuff - remove some remaining debugging printings - add a
+ bit more of explanations when starting drakgw in wizard mode
+
+2001-04-06 15:30 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed if label does not exists and grub
+ refuse to read.
+
+2001-04-06 15:17 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed typo for cups
+ checking of installation.
+
+2001-04-06 15:13 Fançois Pons
+
+ * make_boot_img: restore oem and preinst for every image.
+
+2001-04-06 15:08 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed "No printer"
+ after configuring cups for remove server. added log for CD
+ medium chosen par user.
+
+2001-04-06 15:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated Thai file Updated pot file
+
+2001-04-06 14:51 Fançois Pons
+
+ * perl-install/pkgs.pm: added killing on child process of
+ transaction that have been detached (typically with pid >
+ transaction_pid and parent is 1).
+
+2001-04-06 14:12 Dam's
+
+ * perl-install/standalone/draknet2: dead code
+
+2001-04-06 14:02 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-06 14:01 Dam's
+
+ * perl-install/netconnect.pm: be quiet
+
+2001-04-06 12:13 Dam's
+
+ * perl-install/netconnect.pm: correctedInternetAccessTye and
+ ADSLType
+
+2001-04-06 11:36 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-06 10:24 Dam's
+
+ * perl-install/share/logo-mandrake.png: new icon
+
+2001-04-06 09:05 Dam's
+
+ * perl-install/pixmaps/: net_c.png, net_d.png: added
+
+2001-04-06 08:31 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-06 06:22 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-06 06:06 Dam's
+
+ * perl-install/Makefile: iCorrected missing file install_any.pm.
+ pixel sux.
+
+2001-04-06 05:49 Dam's
+
+ * perl-install/my_gtk.pm: addde tk like routines
+
+2001-04-06 04:53 Dam's
+
+ * perl-install/standalone/net_monitor: updated
+
+2001-04-06 04:30 Dam's
+
+ * perl-install/standalone/net_monitor: added
+
+2001-04-06 03:59 Yves Duret
+
+ * perl-install/bootlook.pm: minor fix
+
+2001-04-06 03:34 Yves Duret
+
+ * perl-install/standalone/drakgw: recoded a embedded && gtk mode
+
+2001-04-06 02:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add write_fstab
+
+2001-04-06 02:50 Pixel <pixel at mandriva.com>
+
+ * tools/make_mdkinst_stage2: instead of removing modules.cz-2.2*,
+ remove every modules.cz except the biggest one
+
+2001-04-06 02:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fs.pm, install2.pm, install_any.pm,
+ install_steps.pm: create install_any::write_fstab and use it
+
+2001-04-06 01:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (fs_options): created (gets codepage and
+ iocharset)
+
+2001-04-06 01:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (if_): better logging of the error
+
+2001-04-06 00:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: - fix getting result of
+ fsedit::hds - cleanup
+
+2001-04-06 00:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (addUser): default
+ autologin to first user in beginner
+
+2001-04-06 00:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_grub): small fix
+
+2001-04-05 21:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (getVarsFromSh): fix for AA="" inspired
+ by chmou the Great (but the Great what?)
+
+2001-04-05 21:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_lilo): fix lilo's dumbness
+ (when lilo warns about not the first drive, it usually fails)
+
+2001-04-05 20:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (More): created, asks for supermount,
+ rescue pt, reload.
+
+2001-04-05 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/: pkgs.pm, share/rpmsrate: - s/PCI/HW/ - add rio500
+
+2001-04-05 18:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (autologin): fix
+
+2001-04-05 17:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm: ask for
+ autologin
+
+2001-04-05 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (kernelVersion): fix enormous stupid
+ typo
+
+2001-04-05 16:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): do not use $o->{pcmcia} to know if
+ pcmcia.img was used. Better have a look at /proc/cmdline
+
+2001-04-05 16:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (exitInstall): oups, report_bug is
+ no more in commands::
+
+2001-04-05 13:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureXBefore): fix the xkb
+ verification (was broken for things like ``de(nodeadkeys)'')
+
+2001-04-05 13:19 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: fixed typo
+
+2001-04-05 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (format_reiserfs): quietly format reiserfs
+
+2001-04-05 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree): invert
+ the meaning of 'Show automatically selected packages' to go along
+ with the new description
+
+2001-04-05 12:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (write_XF86Config): try to have $_
+ interpreted (otherwise you get things like ``InputDevice
+ "Stylus$_" "AlwaysCore"'')
+
+2001-04-05 12:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: - move report_bug in install_any -
+ g_auto_install generates the auto_inst.cfg string without
+ output'ing it
+
+2001-04-05 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add ldetect - the default Aurora
+ chose is the categorizing one
+
+2001-04-05 12:23 Yves Duret
+
+ * perl-install/bootlook.pm: fix pablo mess install autolgin just if
+ we want to autolog :)
+
+2001-04-05 11:30 Dam's
+
+ * perl-install/my_gtk.pm: added gtksize
+
+2001-04-05 10:55 Dam's
+
+ * perl-install/: ChangeLog, bootloader.pm: readded passwd. Must
+ verify that it's secure vs msec.
+
+2001-04-05 10:49 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: No longer propose nautilus-mozilla
+ (required by nautilus) propose nautilus-trilobite (for Eazel
+ services)
+
+2001-04-04 19:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (kernelVersion): cleanup
+
+2001-04-04 19:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, sk.po: Updated Azeri and Slovak
+ files
+
+2001-04-04 19:02 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: removed limitation to 24 bits for
+ SiS card, make sure to remove 32 bits depth for such card.
+
+2001-04-04 18:06 Fançois Pons
+
+ * perl-install/printerdrake.pm: make sure to insmod parport_probe
+ alone as it is not available in 2.4 kernel and this this not a
+ problem (silent error).
+
+2001-04-04 18:01 Fançois Pons
+
+ * perl-install/detect_devices.pm: fixed parport probe for printer
+ under 2.4 kernel.
+
+2001-04-04 17:41 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_any.pm: kernelVersion mods for PPC
+
+2001-04-04 17:38 Fançois Pons
+
+ * perl-install/printerdrake.pm: added complete callback to check
+ queue name under cups does contains only letters, numerics or
+ underscore.
+
+2001-04-04 17:38 Fançois Pons
+
+ * perl-install/printer.pm: added die on error of lpadmin.
+
+2001-04-04 17:37 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed printer
+ description in summary.
+
+2001-04-04 17:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (tv): add ultracam & usbvideo
+ (@skip_modules_on_stage1): kaweth and pegasus doesn't work on
+ stage1, so skip them
+
+2001-04-04 16:19 Fançois Pons
+
+ * perl-install/diskdrake.pm: fixed adding 1 to size for resize2fs,
+ causing a corruption some times.
+
+2001-04-04 16:02 Frederic Lepied <flepied at mandriva.com>
+
+ * perl-install/share/rpmsrate: added SCANNER and PHOTO groups
+
+2001-04-04 15:44 Fançois Pons
+
+ * perl-install/install2.pm: added selectPackagesToUpgrade the first
+ time choosePackages is called.
+
+2001-04-04 15:43 Fançois Pons
+
+ * perl-install/install_any.pm: fixed multiple wait message
+ (looking+finding packages)
+
+2001-04-04 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (@skip_modules_on_stage1): kaweth and
+ pegasus doesn't work on stage1, so skip them
+
+2001-04-04 15:13 Fançois Pons
+
+ * perl-install/detect_devices.pm: added missing LD_LOADER reference
+ for /bin/dmesg (needed for live upgrade so that error message are
+ not printed)
+
+2001-04-04 15:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): better handling for
+ tv, photo and scanner
+
+2001-04-04 15:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - add photo, tv and scanner - add
+ pegasus and kaweth modules
+
+2001-04-04 15:10 Fançois Pons
+
+ * perl-install/live_install: unset locale environment for safety
+
+2001-04-04 14:34 Fançois Pons
+
+ * perl-install/netconnect.pm: use SHARE_PATH instead of /usr/share
+
+2001-04-04 14:28 Fançois Pons
+
+ * perl-install/any.pm: use SHARE_PATH instead of /usr/share
+
+2001-04-04 14:28 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: add gatos for ati tv card .
+
+2001-04-04 14:26 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: fixed to use SHARE_PATH
+ instead of /usr/share
+
+2001-04-04 13:44 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: reput klyx but in lower weight (2)
+
+2001-04-04 13:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: remove TV (it is a hardware flag)
+
+2001-04-04 13:26 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: removed klyx from rpmsrate (bad idea
+ according to pixel )
+
+2001-04-04 13:09 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: add klyx in install "Office KDE"
+
+2001-04-04 11:10 Fançois Pons
+
+ * perl-install/install_steps.pm: disable frame buffer for Matrox
+ cards.
+
+2001-04-04 05:31 Dam's
+
+ * perl-install/netconnect.pm: typo
+
+2001-04-04 00:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): trap strange error. Should
+ not really fix the pb
+
+2001-04-03 20:44 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: install_steps_interactive.pm, mouse.pm: PPC
+ keyboard/mouse button emulation
+
+2001-04-03 19:57 Fançois Pons
+
+ * perl-install/install_any.pm: keep mount point configuration
+ trhough multi-passes of diskdrake and others.
+
+2001-04-03 18:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: do not use isSpecial which should only
+ be used on partitions
+
+2001-04-03 18:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ko.po, sp.po, sr.po: Updated Korean file
+
+2001-04-03 17:03 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: prefer XF3 for SiS card.
+
+2001-04-03 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (get_fstab): restore loopback::loopbacks
+ because hds contains only true hard drives (not pseudo one like
+ raid, loopback and lvm)
+
+2001-04-03 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (main): do not have loopback pseudo hd
+ in hds out of diskdrake
+
+2001-04-03 16:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: fix horrible error (using an
+ undefined $o)
+
+2001-04-03 15:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: (get_lvs): remove the setting of flag
+ isFormatted which was wrong (didn't propose to format it)
+
+2001-04-03 14:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: protect the loading of module lvm-mod
+
+2001-04-03 14:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages): do
+ not make a special case for upgrades (was: select the min size,
+ which was on contradiction with profile selection)
+
+2001-04-03 14:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): don't preselect
+ profiles in upgrade
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_raw): add the require install_any
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (setupBootloaderBefore): nicer
+ Aurora presence detetection
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: no more special case for mkreiserfs (can
+ be done via -v 1)
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree): better
+ name than "Automatic dependencies"
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): handle Flag:<theflag>
+ (setPackages): install kernel22 if install kernel is a 2.2
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: don't start xfs if skiptest
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (real_format_part): give "-v 1" to mkreiserfs
+ if kernel is 2.2
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (charset): fix for chineese which have
+ charset in the name
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add back mkreiserfs
+
+2001-04-03 14:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: restore Aurora (i really don't
+ understand what i've done with flag AURORA a month ago) to a
+ simple behaviour
+
+2001-04-03 12:46 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, vi.po: Updated Vietnamese file
+
+2001-04-03 09:31 Dam's
+
+ * perl-install/standalone/draknet: typo
+
+2001-04-03 09:14 Dam's
+
+ * perl-install/standalone/draknet: bug fixes
+
+2001-04-03 09:14 Dam's
+
+ * perl-install/netconnect.pm: a lot of bugfixs
+
+2001-04-03 04:49 Dam's
+
+ * perl-install/standalone/draknet: removed debugging messages and
+ Data::Dumper
+
+2001-04-03 04:40 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: corrected bad
+ flag test
+
+2001-04-03 03:11 Dam's
+
+ * perl-install/netconnect.pm: corrected bad priority
+
+2001-04-03 01:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/cs.po: Updated Czech file
+
+2001-04-03 00:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/: Makefile, Makefile.PL: small cleanup for
+ pcmcia_probe.c
+
+2001-04-03 00:40 Dam's
+
+ * perl-install/netconnect.pm: protecting against non existent files
+
+2001-04-03 00:40 Dam's
+
+ * perl-install/modules.pm: corrected petite's mistake
+
+2001-04-03 00:05 Pixel <pixel at mandriva.com>
+
+ * Makefile: make generating MD5SUM work
+
+2001-04-02 23:47 Guillaume Cottenceau
+
+ * mdk-stage1/: .cvsignore, make_boot_img: fix
+
+2001-04-02 23:41 Guillaume Cottenceau
+
+ * mdk-stage1/: .cvsignore, make_boot_img: comply to all.kernels
+ policy
+
+2001-04-02 23:36 Guillaume Cottenceau
+
+ * Makefile: update MD5SUM according to images
+
+2001-04-02 23:35 Guillaume Cottenceau
+
+ * tools/make_mdkinst_stage2: fix remove of alternate cz modules
+
+2001-04-02 23:23 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: do make pcmcia for multiple kernels
+
+2001-04-02 23:22 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): fix uploading of images
+
+2001-04-02 23:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages):
+ s/reiserfs-utils/reiserfsprogs/
+
+2001-04-02 23:03 Pixel <pixel at mandriva.com>
+
+ * .cvsignore: update
+
+2001-04-02 23:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/.cvsignore: add pcmcia_probe.c
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: (install): s/-r/-rf/
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): install imwheel if
+ nbuttons > 3
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: ignore dams or at least dams errors
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: don't use pcmcia_probe.o from stage1,
+ better compile it here, otherwise perl-install require mdk-stage1
+ to do compiled => circular dependency
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * update_kernel: update unuseful comment
+
+2001-04-02 22:59 Pixel <pixel at mandriva.com>
+
+ * Makefile: - "install" requires all.modules which require "mar"
+ and "perl-install" - cleanup
+
+2001-04-02 22:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install latin2 Postscript fonts for
+ latin2 locales, install fonts-ttf-thai for Thai locale
+
+2001-04-02 22:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: codepage option to mount requires only
+ numeric values, eg "437" and not "cp437" Changed accordingly in
+ the lists
+
+2001-04-02 19:16 Dam's
+
+ * perl-install/standalone/draknet: rah, fixed this pixmap again.
+
+2001-04-02 19:10 Dam's
+
+ * perl-install/pixmaps/: eth_card_mini.png, eth_card_mini.xpm:
+ changed pix
+
+2001-04-02 18:59 Guillaume Cottenceau
+
+ * rescue/make_rescue_img: fix pixelization (aka take advantage of
+ all.kernels/.main)
+
+2001-04-02 18:10 Dam's
+
+ * perl-install/pixmaps/eth_card_mini.xpm: updated
+
+2001-04-02 18:10 Dam's
+
+ * perl-install/standalone/draknet: typo
+
+2001-04-02 17:07 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: move mandrake_doc to
+ books remove locales dependencies for staroffice and mandrake_doc
+
+2001-04-02 16:56 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, fi.po, fr.po, hr.po, id.po, no.po,
+ sp.po, sr.po: Some corrections in French file. String
+ substitution in PPC firmware help message
+
+2001-04-02 16:22 Guillaume Cottenceau
+
+ * update_kernel: change a bit because packdrake seems to parse the
+ filename in some cases
+
+2001-04-02 14:30 Dam's
+
+ * perl-install/netconnect.pm: typo
+
+2001-04-02 14:29 Dam's
+
+ * perl-install/netconnect.pm: corrected typo
+
+2001-04-02 14:22 Dam's
+
+ * perl-install/: netconnect.pm, network.pm: updated
+
+2001-04-01 22:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: Updated Swedish file
+
+2001-04-01 19:56 Dam's
+
+ * perl-install/netconnect.pm: corrected syntax error
+
+2001-04-01 18:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, es.po, zh_CN.GB2312.po: Updated
+ Catalan file
+
+2001-04-01 14:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: et.po, hr.po, id.po, ko.po: Updated
+ Estonian, Croatian, Indonesian and Korean files
+
+2001-04-01 07:18 kjx
+
+ * perl-install/share/po/zh_CN.GB2312.po: refine translation
+
+2001-04-01 04:49 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po file
+
+2001-03-31 21:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: PPC catchup with changes ;^)
+
+2001-03-31 20:32 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-31 16:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: bootlook.pm, help.pm, share/po/DrakX.pot,
+ share/po/af.po, share/po/az.po, share/po/be.po, share/po/bg.po,
+ share/po/br.po, share/po/ca.po, share/po/cs.po, share/po/cy.po,
+ share/po/da.po, share/po/de.po, share/po/el.po, share/po/eo.po,
+ share/po/es.po, share/po/et.po, share/po/eu.po, share/po/fi.po,
+ share/po/fr.po, share/po/ga.po, share/po/gl.po, share/po/hr.po,
+ share/po/hu.po, share/po/id.po, share/po/is.po, share/po/it.po,
+ share/po/ja.po, share/po/ko.po, share/po/lt.po, share/po/lv.po,
+ share/po/nl.po, share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sr.po,
+ share/po/sv.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/vi.po, share/po/wa.po, share/po/zh_CN.GB2312.po,
+ share/po/zh_TW.Big5.po, standalone/drakgw: Updated po files and
+ help messages (patch from Pixel)
+
+2001-03-30 20:52 Pixel <pixel at mandriva.com>
+
+ * Makefile: update for *.img and *.rdz in directory images
+
+2001-03-30 20:48 Pixel <pixel at mandriva.com>
+
+ * update_kernel: - remove all.kernels/cardmgr (allow more simple
+ glob in all.kernels, and is not needed) - define
+ all.kernels/.main containing the name of the ``main'' kernel -
+ (create_modules): don't bother with missing modules for
+ non-``main'' kernel
+
+2001-03-30 20:47 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: (install): fix the globbing for packdrake.pm and
+ rpmtools.pm
+
+2001-03-30 20:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: take cardmgr directly in
+ all.kernels/$version/cardmgr/cardmgr-$version
+
+2001-03-30 20:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_raw): add a ``-'' between the file
+ and the version for modules.cz and cardmgr
+
+2001-03-30 20:47 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: some changes
+
+2001-03-30 19:48 Yves Duret
+
+ * perl-install/bootlook.pm: install autologin
+
+2001-03-30 18:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img: updated for PPC
+
+2001-03-30 17:13 Yves Duret
+
+ * perl-install/pixmaps/: gmon.png, tradi.png: i suck
+
+2001-03-30 16:30 Yves Duret
+
+ * perl-install/pixmaps/verti.png: update verti
+
+2001-03-30 16:22 Yves Duret
+
+ * perl-install/bootlook.pm: fixed button group
+
+2001-03-30 16:12 Yves Duret
+
+ * perl-install/bootlook.pm: updated, rpm install works, added categ
+
+2001-03-30 16:11 Yves Duret
+
+ * perl-install/pixmaps/: categ.png, gmon.png, hori.png, tradi.png:
+ updated aurora shot
+
+2001-03-30 13:32 Yves Duret
+
+ * perl-install/bootlook.pm: remove nmap (buggy)
+
+2001-03-30 00:48 Guillaume Cottenceau
+
+ * .cvsignore: Ignore What Should Be Ignored (TM)
+
+2001-03-30 00:47 Guillaume Cottenceau
+
+ * .cvsignore, Makefile, make_boot_img, update_kernel, docs/HACKING,
+ docs/README, mdk-stage1/pci-resource/update-pci-ids.pl,
+ perl-install/Makefile, perl-install/modules.pm,
+ rescue/make_rescue_img, tools/make_mdkinst_stage2: support more
+ than one boot kernel :-)
+
+2001-03-29 23:48 Dam's
+
+ * perl-install/netconnect.pm: corrected depmod
+
+2001-03-29 19:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, vi.po, zh_CN.GB2312.po:
+ Updated Chinese and Vietnamese files
+
+2001-03-29 19:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (reallyChooseGroups): created
+
+2001-03-29 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): fix the
+ size of the window
+
+2001-03-29 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups):
+ simplified, more complex version in install_steps_gtk
+ (configurePrinter): fix the inverted condition for installing
+ xpp/kups
+
+2001-03-29 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (report_bug): add fstab
+
+2001-03-29 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add tetex (so that it appears in the
+ tree)
+
+2001-03-29 18:08 Dam's
+
+ * perl-install/: ChangeLog, netconnect.pm, network.pm: updated
+
+2001-03-29 14:36 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: hum... nothing...
+
+2001-03-29 14:02 Dam's
+
+ * perl-install/pixmaps/: wiz_draknet.png, wiz_drakgw.png,
+ wiz_firewall.png: added
+
+2001-03-29 13:59 Dam's
+
+ * perl-install/my_gtk.pm: updated wizard layout for graphical
+ useability
+
+2001-03-29 13:54 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: Dispatch some development packages
+
+2001-03-29 13:52 Dam's
+
+ * perl-install/standalone/draknet: updated png wizard
+
+2001-03-29 13:52 Dam's
+
+ * perl-install/standalone/drakgw: updated for new wiz png policy
+
+2001-03-29 13:51 Dam's
+
+ * perl-install/netconnect.pm: updated wiz png policy
+
+2001-03-29 13:50 Dam's
+
+ * perl-install/standalone/tinyfirewall: updated wiz png
+
+2001-03-29 13:48 Dam's
+
+ * perl-install/Makefile: updated for new wizards png
+
+2001-03-29 13:47 Dam's
+
+ * perl-install/interactive_gtk.pm: don't crash if wizard. pixel's
+ fault
+
+2001-03-29 13:34 Dam's
+
+ * perl-install/my_gtk.pm: changed wizard pixmap policy
+
+2001-03-29 13:33 Guillaume Cottenceau
+
+ * rescue/drvinst: test for "Card:" and not install, some
+ videoboards are not reported as DISPLAY_VGA :-(
+
+2001-03-29 13:29 Guillaume Cottenceau
+
+ * rescue/list.i386: add reiserfsck
+
+2001-03-29 12:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (reallyChooseGroups):
+ created from chooseGroups so that it can be overridden in
+ install_steps_gtk
+
+2001-03-29 10:36 Dam's
+
+ * perl-install/netconnect.pm: updated
+
+2001-03-29 10:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (@preferred): replace wu-ftpd by proftpd,
+ add Bastille-Curses-module
+
+2001-03-29 10:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (cardConfiguration): move "Rage
+ Mobility P/M AGP..." and "Rage Mobility L AGP..." in Utah
+ experimental
+
+2001-03-29 02:07 Dam's
+
+ * perl-install/tinyfirewall.pm: bad message at the end if kernel2.4
+
+2001-03-29 02:05 Dam's
+
+ * perl-install/standalone/draknet: translation
+
+2001-03-29 02:05 Dam's
+
+ * perl-install/netconnect.pm: added missing Device in Ethx when
+ saving/loading
+
+2001-03-29 01:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, da.po, fi.po, hr.po, tr.po:
+ Updated Catalan, Danish, Finnish, Croatian and Turkish files
+
+2001-03-28 18:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: better default_size setting
+
+2001-03-28 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: fi.po, ko.po, sk.po: Updated Finnish,
+ Korean and Slovak files
+
+2001-03-28 17:03 Fançois Pons
+
+ * perl-install/Xconfig.pm: re-fix mouse fix.
+
+2001-03-28 16:52 Fançois Pons
+
+ * perl-install/Xconfig.pm: fixed wrong mouse probe.
+
+2001-03-28 16:25 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: gmc is back in standard GNOME
+ install, for people with existing home
+
+2001-03-28 16:19 Fançois Pons
+
+ * perl-install/: Xconfig.pm, mouse.pm, standalone/XFdrake,
+ standalone/mousedrake: fixed for standalone XFdrake and
+ mousedrake (multi-mouse and correct probe (USB)).
+
+2001-03-28 14:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: fix typo
+
+2001-03-28 14:48 Warly <warly at mandriva.com>
+
+ * perl-install/share/rpmsrate: add some commercial apps
+
+2001-03-28 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, install_steps.pm: add fstab in the
+ log
+
+2001-03-28 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: (test_mouse): ensure the test mouse
+ is not too big
+
+2001-03-28 10:04 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: restore multi mouse support for
+ XF3.
+
+2001-03-28 08:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, da.po: Updated Azeri and Danish
+ files
+
+2001-03-28 03:44 Dam's
+
+ * perl-install/standalone/draknet: corrected gtkpng in gtkwpm
+
+2001-03-28 03:28 Dam's
+
+ * perl-install/tinyfirewall.pm: workaround to make it work if
+ kernel 2.4
+
+2001-03-28 03:27 Dam's
+
+ * perl-install/interactive_gtk.pm: corrected pixel shit if embedded
+
+2001-03-28 03:27 Dam's
+
+ * perl-install/standalone/tinyfirewall: typo
+
+2001-03-28 03:27 Dam's
+
+ * perl-install/standalone/draksec: embedded mode
+
+2001-03-28 02:28 Dam's
+
+ * perl-install/bootlook.pm: cute button box
+
+2001-03-28 02:00 Dam's
+
+ * perl-install/standalone/draknet: added translation
+
+2001-03-27 23:10 Dam's
+
+ * perl-install/bootlook.pm: added kill USR2 before main
+
+2001-03-27 22:03 Dam's
+
+ * perl-install/tinyfirewall.pm: workaround to make it xork.
+
+2001-03-27 19:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm: try to fix
+ displaying in draksec
+
+2001-03-27 18:46 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: change verbage on
+ bootloader warning
+
+2001-03-27 18:18 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed mouse support for XF3, only
+ one mouse supported currently.
+
+2001-03-27 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_box_with_title): save the
+ box_size in field "box_size"
+
+2001-03-27 18:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, br.po, de.po, fi.po,
+ i18n_compssUsers, id.po, ja.po, ko.po, vi.po, wa.po: Updated
+ Vietnamese, Indonesian, Japanese, Korean and Walloon files
+ changed i18n_compssUsers to make "path" i18n'able
+
+2001-03-27 17:34 Fançois Pons
+
+ * make_boot_img: restore graphicallogo for network.img.
+
+2001-03-27 17:08 Fançois Pons
+
+ * update_kernel: restore update_kernel hability to build cardmgr...
+
+2001-03-27 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ pkgs.pm: warnAboutNaughtyServers
+
+2001-03-27 16:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: move back Bastille-Curses-module to
+ CONFIG
+
+2001-03-27 15:50 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: minor typo-fixes
+
+2001-03-27 15:22 Guillaume Cottenceau
+
+ * mdk-stage1/nfsmount.c: force 8192 bytes for nfs transfers
+
+2001-03-27 15:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm: remove use of Bastille. get
+ back to the good state we had :)
+
+2001-03-27 14:36 Dam's
+
+ * perl-install/share/help.xpm: changed help
+
+2001-03-27 14:32 Dam's
+
+ * perl-install/share/help.png: changed help button
+
+2001-03-27 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): catch the
+ no png file exception (in case warly is dumb again)
+
+2001-03-27 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): fix
+ displaying of printer configured
+
+2001-03-27 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): default profiles
+ selection to GNOME, KDE, CONFIG
+
+2001-03-27 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (langsLANGUAGE): give the list of languages
+
+2001-03-27 14:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - cleanup LOCALES"zh_*": when there
+ is LOCALES"zh_*", there is LOCALES"zh" - raise WindowMaker - add
+ xfce - am-utils is a server - raise some stuff in CONFIG to have
+ stuff there - remove drakxtools from CONFIG (DrakConf requires
+ drakxtools) - DrakConf from 5 to 4
+
+2001-03-27 14:04 Fançois Pons
+
+ * perl-install/: install_steps.pm, pkgs.pm: fixed too early erasing
+ of old rpmlib db. now postponed at end of install and only if
+ rpm-4.0 or above has been installed.
+
+2001-03-27 14:01 Fançois Pons
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm,
+ Xconfigurator_consts.pm, mouse.pm: added support for two mice
+ (laptop). The second mice is generally PS/2 as probe can says it
+ is present.
+
+2001-03-27 11:07 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-27 11:02 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/i18n_compssUsers: i18n group names
+
+2001-03-27 01:10 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/share/rpmsrate: add mandrake_desk and rootfiles to
+ SYSTEM (rpmsrate)
+
+2001-03-27 00:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: hr.po, vi.po, wa.po: Updated Croatian,
+ vietnamese and Walloon files
+
+2001-03-26 17:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, es.po, pt.po, sv.po, th.po, vi.po:
+ Updated Portuguese, Swedish and Thai files
+
+2001-03-26 17:29 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: first attempt at pixelization of
+ code (till's cups patches)
+
+2001-03-26 16:53 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: Install xscreensaver when installing
+ GNOME
+
+2001-03-26 16:12 Pixel <pixel at mandriva.com>
+
+ * Makefile: (RELEASE_BOOT_IMG): re-add other.img
+
+2001-03-26 01:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/http.pm: (getFile): verify the return value of the
+ server. If not 200 (aka Ok), return undef
+
+2001-03-26 00:10 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-25 23:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configurePrinter):
+ add Mesa-common for xpp and libqtcups2 for kups in
+ pkg_install_if_requires_satisfied
+
+2001-03-25 22:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): add entry for nt
+
+2001-03-25 17:17 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated spanish .po file
+
+2001-03-25 14:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: Updated Swedish file
+
+2001-03-25 13:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: Updated Korean file
+
+2001-03-25 11:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): fix dead-loop
+
+2001-03-24 23:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): disable_user_view (in
+ kdm/gdm) if no users
+
+2001-03-24 23:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (disable_user_view): created, takes
+ care of gdm too (taken from msec)
+
+2001-03-24 22:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: - readding with -kb -
+ fixing permissions on xmodmap.kr
+
+2001-03-24 22:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: remove before adding again
+ with -kb
+
+2001-03-24 22:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (ask_users): when "Done" is pressed, do
+ "Accept User" if a user is given.
+
+2001-03-24 21:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/vi.po: Updated Vietnamese file
+
+2001-03-24 19:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: have natsemi in network.img
+
+2001-03-24 19:23 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: remove the "use
+ common" which is unneeded (and "member" of merge2pcitable was
+ clashing)
+
+2001-03-24 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (detect): fix francois... uh, no too hard.
+ easier to fix francois's bugs ;pp
+
+2001-03-24 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: (%l2t): fix for fuzzyChoice
+
+2001-03-24 17:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: - add missing modules (now in sync with
+ pcitable) - add 'media' class - cleanup
+
+2001-03-24 16:47 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: (boot_img_i386): nice reporting when not enough
+ space on .img (initrd): help silly emacs-21
+
+2001-03-24 16:09 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: Updated Azeri file
+
+2001-03-24 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (copy_advertising): fix escaping $f
+ causing perl to segfault :-(
+
+2001-03-24 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: cleanup
+
+2001-03-24 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (copy_advertising): handle i18n'ed
+ advertising
+
+2001-03-24 11:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (read_stage1_conf): cleanup parport
+ stuff obsolote in kernel 2.4
+
+2001-03-24 08:48 Dam's
+
+ * perl-install/tinyfirewall.pm: corrected bad exited.
+ reincorporated some ugly code, need fixing
+
+2001-03-23 20:06 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed screen id for Device to be
+ present whenever the same BusID is used.
+
+2001-03-23 19:02 Fançois Pons
+
+ * perl-install/printerdrake.pm: Do not ask to configure a printer
+ if standalone, previously only for embended.
+
+2001-03-23 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: add Empty to bad_types
+
+2001-03-23 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/network.pm: (configureNetworkIntf): gray "IP
+ address" and "Netmask" in DHCP/BOOTP
+
+2001-03-23 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (exitInstall): no
+ "cancel" button
+
+2001-03-23 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (change_type): When changing a partition
+ type from ext2fs to Linux RAID (or LVM), the mount point should
+ be removed.
+
+2001-03-23 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (try): format the error (no more "at
+ line ...") (Add2LVM): "new" was not i18n'ed
+
+2001-03-23 18:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (formatError): created
+
+2001-03-23 17:55 Fançois Pons
+
+ * perl-install/Xconfig.pm: fixed typo for wacom.
+
+2001-03-23 17:46 Fançois Pons
+
+ * perl-install/: Xconfig.pm, Xconfigurator.pm, detect_devices.pm,
+ install2.pm, install_steps_gtk.pm, mouse.pm: added multiple
+ tablet support (wacom), moved usb probe for mouse and tablet at
+ the beginning.
+
+2001-03-23 17:42 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-23 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): fix the
+ fix fix fix
+
+2001-03-23 17:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): fix the
+ fix fix
+
+2001-03-23 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, netconnect.pm: ifix the dams stuff
+
+2001-03-23 17:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): fix the
+ bad fix
+
+2001-03-23 16:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * Makefile, update_kernel, perl-install/bootloader.pm,
+ perl-install/mouse.pm: mods to create/move image, to /export for
+ PPC, use vmlinux for PPC prepend of_dev to initrd stanza in
+ yaboot.conf
+
+ add 1-button mouse for PPC
+
+2001-03-23 16:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/i18n_compssUsers: fix for better compliance
+ with po format
+
+2001-03-23 16:40 Dam's
+
+ * perl-install/: any.pm, mouse.pm, netconnect.pm: added /dev/modem
+ in modem list selection
+
+2001-03-23 16:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: gzip ldetect-lst files
+
+2001-03-23 16:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: enable use of gzip'ed Cards+,
+ CardsNames and MonitorsDB
+
+2001-03-23 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: cleanup and enable gzip'ed isdn.db
+
+2001-03-23 16:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (openFileMaybeCompressed,
+ catMaybeCompressed): added
+
+2001-03-23 16:16 Dam's
+
+ * perl-install/tinyfirewall.pm: corrected bad translation
+
+2001-03-23 15:50 Fançois Pons
+
+ * tools/syncrpms: added size-stamp test to copy identical file in
+ version, release.
+
+2001-03-23 15:41 Frederic Crozat <fcrozat at mandriva.com>
+
+ * perl-install/share/rpmsrate: nautilus-mozilla and xalf are
+ installed by default in GNOME gmc is not installed by default in
+ GNOME gabber gaim are moved to instant messaging gcombust in
+ moved to GNOME CD burner gtm is installed by GNOME/File transfer
+ mozilla is installed by default as www browser galeon is
+ installed by default as www browser for GNOME
+
+2001-03-23 15:26 Dam's
+
+ * perl-install/standalone/tinyfirewall: added update code
+
+2001-03-23 15:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, th.po,
+ tr.po, uk.po, vi.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: Added
+ Vietnamese file
+
+2001-03-23 15:10 Dam's
+
+ * perl-install/standalone/tinyfirewall: updated wrapper to launch
+ tinyfirewall in embedded mode
+
+2001-03-23 14:54 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed wrong usage of Screen
+ keyword in Device section, should be present and reseted for any
+ multi head card with only one BusID.
+
+2001-03-23 14:52 Dam's
+
+ * perl-install/tinyfirewall.pm: correctedd typo
+
+2001-03-23 13:13 Dam's
+
+ * perl-install/tinyfirewall.pm: updated
+
+2001-03-23 12:14 Dam's
+
+ * perl-install/tinyfirewall.pm: code cleaning
+
+2001-03-23 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isUSBFDUDrive, usbfdus):
+ removed, doesn't scale (isFloppyOrHD): floppy type is 'fd', not
+ 'floppy' (stringlist): nicer (a la new lspcidrake)
+
+2001-03-23 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest_floppy): don't add an entry
+ for non-fd0 drives
+
+2001-03-23 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (detect): never probe psaux (workaround
+ for kernel/xfree bug)
+
+2001-03-23 11:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add i810_audio (still need a script to
+ add missing one and keep in sync)
+
+2001-03-23 11:25 Dam's
+
+ * perl-install/standalone/drakxconf: added tinyfirewall entry
+
+2001-03-23 11:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: de.po, es.po, fi.po: Updated Finnish file
+
+2001-03-23 11:02 Dam's
+
+ * perl-install/Makefile.config: added tinyfirewall
+
+2001-03-23 10:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (getVarsFromSh): take care of comments
+
+2001-03-23 09:54 Dam's
+
+ * perl-install/netconnect.pm: netconnect doesn't write the file 1
+
+2001-03-23 09:52 Dam's
+
+ * perl-install/tinyfirewall.pm: tinyfirewall now works.
+
+2001-03-23 00:25 Guillaume Cottenceau
+
+ * mdk-stage1/: probing.c, tools.h: - fix detection of more than 3
+ scsi attached devices - cleaner code for cmp of ptr against
+ static strings
+
+2001-03-22 18:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_thiskind): indent as it should be
+
+2001-03-22 17:03 Yves Duret
+
+ * perl-install/bootlook.pm: mapn works tx dams
+
+2001-03-22 16:58 Dam's
+
+ * perl-install/bootlook.pm: corrected mapn
+
+2001-03-22 16:49 Yves Duret
+
+ * perl-install/bootlook.pm: nmap
+
+2001-03-22 16:26 Yves Duret
+
+ * perl-install/bootlook.pm: added mapn fun to reduce code.. testing
+ it
+
+2001-03-22 16:11 Guillaume Cottenceau
+
+ * update_kernel.alpha, update_kernel.ppc, update_kernel.sparc:
+ remove update_kernel.* so that people can guess that we want to
+ use update_kernel for all arch's
+
+2001-03-22 16:04 Yves Duret
+
+ * perl-install/bootlook.pm: added install of rpm
+
+2001-03-22 15:32 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: changed "swap" for "intercambio" in
+ the spanish .po files
+
+2001-03-22 15:01 Yves Duret
+
+ * perl-install/bootlook.pm: xpm png files
+
+2001-03-22 14:06 Yves Duret
+
+ * perl-install/pixmaps/: gmon.png, gmon.xpm, hori.png, hori.xpm,
+ tradi.png, tradi.xpm, verti.png, verti.xpm: convert xpm to png
+
+2001-03-22 13:53 Dam's
+
+ * perl-install/: tinyfirewall.pm, standalone/draknet: removed use
+ Data::Dumper
+
+2001-03-22 13:52 Dam's
+
+ * perl-install/netconnect.pm: removed mail informat oin
+
+2001-03-22 12:06 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated DrakX, menudrake and urpmi
+ es.po files
+
+2001-03-22 11:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: remove test ugliness of dams
+
+2001-03-22 11:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: no need for "use Data::Dumper;"
+
+2001-03-22 11:02 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed wrong access to undefined
+ value promoted to empty array reference.
+
+2001-03-22 11:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): fix the message which was uptodate only
+ for sparc :-(
+
+2001-03-22 10:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: no pcmcia_probe in drakxtools
+
+2001-03-22 10:13 Dam's
+
+ * perl-install/netconnect.pm: comment update
+
+2001-03-22 05:50 Dam's
+
+ * perl-install/tinyfirewall.pm: working on tinyfirewall
+
+2001-03-22 01:11 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/modules.pm: no imm,ppa PPC, scan mesh,mac53c94 scsi
+ only, pmac should have been mace
+
+2001-03-21 22:29 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: sp.po, sr.po: Updated Serbian files
+
+2001-03-21 20:57 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-21 19:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_lilo): ensure labels don't
+ contain spaces, lilo doesn't like them
+
+2001-03-21 19:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_default_packages): nice warning
+ if mount in vfat fails
+
+2001-03-21 19:40 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: added support for pci id extraction.
+
+2001-03-21 19:39 Fançois Pons
+
+ * perl-install/detect_devices.pm: added pci id reference.
+
+2001-03-21 19:37 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed wrong XFree4 version
+ reference. fixed null string in monitor identifier. added
+ multi-head support in XFdrake.
+
+2001-03-21 19:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: Updated Azeri file
+
+2001-03-21 19:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: old code
+
+2001-03-21 19:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: (from_utf8): as pablo said...
+
+2001-03-21 19:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: Updated Azeri and Slovak files
+
+2001-03-21 19:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (when_load): move the alias sound to
+ when_load, don't check ppc as it could be used for non-ppc
+
+2001-03-21 19:07 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: honour embedded mode
+
+2001-03-21 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): fix
+
+2001-03-21 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: move webmin to CONFIG
+
+2001-03-21 16:57 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: move NETWORKING_FILE (contains
+ stuff for nfs mounting..) from Internet Station to Network
+ Computer
+
+2001-03-21 15:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (load_thiskind): fix pb causing
+ imm,ppa,usb-storage to be tested for every load_thiskind, not
+ only scsi one
+
+2001-03-21 15:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ Updated Croatian and Serbian files
+
+2001-03-21 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added fields to charsets table holding info
+ for mount (iocharset and codepage mount options)
+
+2001-03-21 12:06 Pixel <pixel at mandriva.com>
+
+ * docs/README: add cvs howto
+
+2001-03-21 02:17 Dam's
+
+ * perl-install/: tinyfirewall.pm, standalone/tinyfirewall: new
+ tinyfirewall conf tool
+
+2001-03-21 01:39 Dam's
+
+ * perl-install/netconnect.pm: corrected
+ /etc/sysconfig/network-scripts/net_up.* bug
+
+2001-03-21 01:24 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-21 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove ipchains and iptables, raise
+ gfcc
+
+2001-03-21 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (add_kernel): cleanup (suggest): make
+ it work with kernel22-secure and no kernel22
+
+2001-03-21 00:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (@drivers_by_category): if_ization
+ (load_thiskind): cleanup
+
+2001-03-20 22:36 Stew Benedict <sbenedict at mandriva.com>
+
+ * make_boot_img, perl-install/any.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/modules.pm: make_boot_img: add routine for - PPC
+ any.pm: double "Append" entry in expert mode for yaboot.conf -
+ PPC install_steps_interactive: setup dmasound - PPC modules.pm:
+ load Mac hardware modules - PPC
+
+2001-03-20 18:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install2.pm, share/rpmsrate: use bastille
+ backend
+
+2001-03-20 18:36 Dam's
+
+ * perl-install/interactive.pm: no wizard if warning
+
+2001-03-20 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: c/Makefile.PL, c/stuff.xs.pm,
+ install_steps_interactive.pm: fix pcmcia functions only on x86
+
+2001-03-20 18:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm: - create
+ install_any::unselectMostPackages - use it instead of
+ pkgs::unselectAllPackages (otherwise default_packages ends up
+ non-selected)
+
+2001-03-20 17:28 Guillaume Cottenceau
+
+ * perl-install/diskdrake.pm: fix formatting of raid
+
+2001-03-20 16:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setupSCSI): don't
+ pcmcia_probe if testing
+
+2001-03-20 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: (modem_detect_backend): cleanup
+
+2001-03-20 15:26 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, detect_devices.pm, netconnect.pm: any.pm:
+ enable module load PPC detect_devices.pm: forgot to remove
+ commented code after test netconnect.pm: load macserial module
+ for PPC
+
+2001-03-20 15:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: -
+ tellAboutProprietaryModules moved to setupSCSI - miscellaneous
+ step re-enabled, called Security - pcmcia_probe moved to
+ setupSCSI, skipped in noauto
+
+2001-03-20 14:09 Dam's
+
+ * perl-install/netconnect.pm: corrected bug in reading resolv.conf,
+ and changed chmod for net_cnx_*
+
+2001-03-20 14:08 Dam's
+
+ * perl-install/standalone/draknet: added update after
+ {dis}connecting
+
+2001-03-20 14:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, c/Makefile.PL, c/stuff.xs.pm: have
+ pcmcia_probe in stage2 (for non pcmcia.img, stage1 doesn't give
+ the parameter any more)
+
+2001-03-20 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): install usbd in case
+ of usb
+
+2001-03-20 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add nautilus
+
+2001-03-20 13:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: install cardmgr
+
+2001-03-20 10:41 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: improved
+ connection windows, and loading / saving of
+ /etc/sysconfig/network-scripot/netècnx*
+
+2001-03-19 23:07 Guillaume Cottenceau
+
+ * perl-install/diskdrake.pm: fix "loopback" name of loopback tab in
+ diskdrake
+
+2001-03-19 23:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): better
+ sizing in case of scrolls
+
+2001-03-19 23:06 Guillaume Cottenceau
+
+ * perl-install/fsedit.pm: fix loopback appearing twice in format
+ partition
+
+2001-03-19 17:15 Stew Benedict <sbenedict at mandriva.com>
+
+ * mdk-stage1/stage1.c: stage1.c: fix for rescue image PPC
+
+2001-03-19 17:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups): - make
+ the computed size work - unselectAll when a profile is unselected
+
+2001-03-19 17:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (computeGroupSize): fix hacks, better hacks
+ (saveCompssUsers): fix
+
+2001-03-19 16:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated korean file
+
+2001-03-19 16:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ Updated po files
+
+2001-03-19 15:09 Dam's
+
+ * perl-install/netconnect.pm: added net_cnx_{up, down} save
+
+2001-03-19 14:21 Dam's
+
+ * perl-install/standalone/draknet: corrected graphical layout for
+ newbies
+
+2001-03-19 14:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: (ask_from_entries_refW): -
+ ensure the width is less than $width - 7 (in french and 80x25,
+ the treelist was too big) - if term is very big, use 10 lines
+ instead of 5 - if no button is asked, but one in any case
+ otherwise it's buggy
+
+2001-03-19 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): fix fix
+
+2001-03-19 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): fix the
+ filtering of exceptions
+
+2001-03-19 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - add rxvt-CJK - exchange xterm and
+ rxvt - move bc from SCIENCES to SYSTEM
+
+2001-03-18 23:09 Guillaume Cottenceau
+
+ * mdk-stage1/: frontend.h, log.h, minilibc.h, stage1.h: use some
+ help with __attribute__
+
+2001-03-18 18:50 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, lomount.c, lomount.h: fix for hd-install
+ when you provide a not valid ISO (cd #2 for example)
+
+2001-03-17 20:15 Guillaume Cottenceau
+
+ * rescue/tree/etc/rc.sysinit: load sr_mod and sd_mod at startup
+
+2001-03-17 19:43 Guillaume Cottenceau
+
+ * mdk-stage1/: .cvsignore, Makefile.mkinitrd_helper: sync
+
+2001-03-17 19:30 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/Makefile: do not use marfiles for deps
+
+2001-03-17 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm:
+ (pkg_install_if_requires_satisfied): better logging
+
+2001-03-17 18:57 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: handle left and right arrow keys, in
+ editing ask_from_entries in stdio mode
+
+2001-03-17 18:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add gpm & evolution
+
+2001-03-17 18:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (write_langs): in case of empty
+ %_install_langs, don't write it
+
+2001-03-17 17:45 Guillaume Cottenceau
+
+ * mdk-stage1/mkinitrd_helper/Makefile: bump version to 1.0.1 for
+ new mkinitrd package release
+
+2001-03-17 17:15 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/utility.c: fix insmod calling
+ realloc(0,0) to work with dietlibc
+
+2001-03-17 17:13 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/Makefile: also build standalone
+ insmod-DIET for testing purposes..
+
+2001-03-17 13:42 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sv.po: updated Swedish file
+
+2001-03-17 12:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: Added choice of Korean keyboard
+
+2001-03-17 11:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: Added a Korean keyboard,
+ fixed bug in Japanese keyboard
+
+2001-03-17 00:46 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, mkinitrd_helper/Makefile,
+ mkinitrd_helper/mkinitrd_helper.c: write down mkinitrd_helper
+
+2001-03-16 22:34 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/Makefile: refine deps
+
+2001-03-16 21:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (write_conf): better logging
+
+2001-03-16 18:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: add from_utf8
+
+2001-03-16 18:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.pm: (headerGetEntry): use from_utf8 on
+ group, summary and description
+
+2001-03-16 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): set flag "TV" when
+ bttv hardware is there
+
+2001-03-16 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Type): fix the code verifying size
+ >32 for reiserfs
+
+2001-03-16 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: move out TV from
+ VIDEO
+
+2001-03-16 16:03 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/insmod.c: force load
+
+2001-03-16 02:28 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/: convert, magic, mapping, mkhybrid-1.12b5.4, yaboot:
+ gi/tools/ppc/convert, magic, mapping, mkhybrid-1.12b5.4, yaboot -
+ re-add - my bad
+
+2001-03-16 02:19 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/: convert, magic, mapping, mkhybrid-1.12b5.4, yaboot:
+ gi/tools/ppc/convert, magic, mapping, mkhybrid-1.12b5.4, yaboot -
+ remove/re-add - did not use -kb switch - thx Pixel
+
+2001-03-15 21:56 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/README: README: README for creating PPC boot CD
+
+2001-03-15 21:54 Stew Benedict <sbenedict at mandriva.com>
+
+ * tools/ppc/: convert, iboot, magic, mapping, mkINSTALLCD,
+ mkhybrid-1.12b5.4, yaboot: gi/tools/ppc/convert, magic, mapping,
+ mkINSTALLCD, mkhybrid-1.12b5.4, yaboot: create PPC CD
+
+2001-03-15 19:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, Xconfigurator_consts.pm:
+ andre@node1583e.a2000.nl says this is not needed anymore :)
+
+2001-03-15 15:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: bootloader.pm, detect_devices.pm,
+ install_steps_interactive.pm: bootloader.pm, detect_devices.pm,
+ install_steps_interactive.pm: changed temporary file read/write
+ per Pixel
+
+2001-03-15 14:09 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: force 1024x768 on Powerbook
+
+2001-03-15 14:00 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: try to enhance
+
+2001-03-15 13:20 Guillaume Cottenceau
+
+ * perl-install/modules.pm: skip dc395x_trm on stage1
+
+2001-03-15 12:54 Guillaume Cottenceau
+
+ * perl-install/modules.pm: dc395x_trm is back in 2.4
+
+2001-03-15 11:04 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: SiS card are no more prefered for
+ XF3. added standalone support to prefer XF3 or XF4 to keep
+ current used server version.
+
+2001-03-15 10:56 Fançois Pons
+
+ * perl-install/standalone/XFdrake: remove duplicate begin label.
+ take care of existing configuration.
+
+2001-03-15 01:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2001-03-15 00:28 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-03-14 23:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: Changelog, DrakX.pot, af.po, az.po,
+ be.po, bg.po, br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, i18n_compssUsers, id.po, is.po, it.po, ja.po, ko.po,
+ lt.po, lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po,
+ sk.po, sl.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, wa.po,
+ zh_CN.GB2312.po, zh_TW.Big5.po: corrected the script and updated
+ po files
+
+2001-03-14 22:45 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, partition_table_mac.pm: fix
+ bootstrap partition creation/tracking allow Xpmac to launch in 2
+ modes based on cmdline
+
+2001-03-14 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootlook.pm: fix for perl2fcalls
+
+2001-03-14 20:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps_gtk.pm, pkgs.pm: fix the compssUsers
+ interpretation
+
+2001-03-14 20:21 Dam's
+
+ * perl-install/netconnect.pm: changed label + profile before
+ types..
+
+2001-03-14 20:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups):
+ disable the size display as it is wrong (for the beta2)
+
+2001-03-14 19:48 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: keep only one Development entry
+
+2001-03-14 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: CLIENT & SERVER is
+ prohibited
+
+2001-03-14 18:21 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed unselect management of choice,
+ propagate unselection correctly to all packages requiring
+ unselected package.
+
+2001-03-14 18:13 Fançois Pons
+
+ * perl-install/install_any.pm: use LD_LOADER when invoking
+ parshedlist.
+
+2001-03-14 16:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: Fixed email of Korean translator
+
+2001-03-14 16:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (readCompssUsers): change the key of
+ compssUsers, added "label" (computeGroupSize): fix bug
+
+2001-03-14 16:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups): add
+ path for seperating groups, use "label" for the group text
+
+2001-03-14 16:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree): fix
+
+2001-03-14 16:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ko.po: updated Korean file
+
+2001-03-14 16:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: Updated Azeri file
+
+2001-03-14 15:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: remove gconv
+
+2001-03-14 15:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: install_gtk.pm, install_steps_interactive.pm,
+ keyboard.pm, lang.pm: completed language list completed
+ language->keyboard guessing list aesthetic changes to an English
+ message (removed \n and let gtk+ do the formatting, it is nicer)
+
+2001-03-14 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (computeGroupSize): fix logging
+
+2001-03-14 14:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/timezone.pm: - add many timezones - defaults to GMT
+ - verifier added
+
+2001-03-14 14:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (bestMatchSentence, bestMatchSentence2):
+ in wantarray, return the number of matched words/characters
+
+2001-03-14 13:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/: fonts.tar.bz2, list: new fonts and locale
+ files
+
+2001-03-14 08:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: nl.po, no.po: updated Norwegian file
+
+2001-03-14 00:43 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: Fixed typos.
+
+2001-03-13 20:17 jgarzik
+
+ * update_kernel.alpha: Add alpha version of update_kernel script
+
+2001-03-13 18:11 Guillaume Cottenceau
+
+ * perl-install/modules.pm: add e100 remove sk98 from
+ stage1-network, again :-(
+
+2001-03-13 18:06 Yves Duret
+
+ * perl-install/: ChangeLog, bootlook.pm: bootlook.pm updated
+
+2001-03-13 18:05 Yves Duret
+
+ * perl-install/pixmaps/gmon.xpm: added a nice picture
+
+2001-03-13 17:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (vnew): if kdesu is missing and $su
+ required, die
+
+2001-03-13 17:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: - cleanup double click stuff -
+ double click on ctree node doesn't quit
+
+2001-03-13 17:23 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: fix for bind
+
+2001-03-13 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: fix $users is now an array
+ ref.
+
+2001-03-13 16:31 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - fix destructive parts of
+ pixelization - fix some own bugs
+
+2001-03-13 16:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (load_module): add some logging to know what
+ the user did
+
+2001-03-13 15:59 Dam's
+
+ * docs/HACKING: updated
+
+2001-03-13 14:11 Dam's
+
+ * perl-install/share/help.png: changed
+
+2001-03-13 14:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm, pkgs.pm:
+ compss is deprecated. use compssUsers for the tree
+
+2001-03-13 13:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (burners): don't use cdroms()
+ which return scdX for ide burners, and isBurner don't use the
+ same technique. so use get() and grep for type "cdrom"
+
+2001-03-13 13:48 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: fix {W,w}orkstation remove
+ ^Server and ^Development
+
+2001-03-13 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: HDF can't be at the beginning of the
+ line or it will be taken as a flag
+
+2001-03-13 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): set
+ {compssUsersChoice}{PCMCIA} if hasPCMCIA
+
+2001-03-13 12:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups): fix to
+ get back the icons
+
+2001-03-13 12:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (readCompssUsers): get the "path"
+
+2001-03-13 10:52 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german translation
+
+2001-03-13 01:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (chooseGroups): size
+ computed should work
+
+2001-03-13 01:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, install_any.pm, install_steps.pm:
+ renamef created and used
+
+2001-03-13 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: moved icewm to SYSTEM with !KDE
+ !GNOME
+
+2001-03-13 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakgw: pixelization
+
+2001-03-12 23:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (computeGroupSize): log what is found
+
+2001-03-12 22:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): don't readCompssUsers
+ with $o->{packages}
+
+2001-03-12 20:04 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: add some NETWORKING_*
+ that were empty dispach some DEVELOPMENT and SERVER to more
+ appropriate groups
+
+2001-03-12 19:26 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: - make it work as a wizard - make
+ it work with iptables (kernel-2.4)
+
+2001-03-12 19:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (saveCompssUsers): make it work
+
+2001-03-12 19:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): kernel-secure doesn't
+ exist anymore, use kernel22-secure. don't use kernel-secure as a
+ kernel-smp.
+
+2001-03-12 17:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (readCompssUsers): clean-up
+ (saveCompssUsers): created
+
+2001-03-12 17:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): save the
+ compssUsers flattened for rpmdrake
+
+2001-03-12 17:34 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, eu.po, th.po, tr.po,
+ uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: Updated Basque file
+
+2001-03-12 17:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): add
+ $set for "label" entries
+
+2001-03-12 17:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: change the path format
+
+2001-03-12 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): remove
+ 'clicked' (labels are used)
+
+2001-03-12 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm: add "label"
+ type
+
+2001-03-12 16:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps_interactive.pm,
+ pkgs.pm: put everything in %compssUsers, use field flags for the
+ flags :)
+
+2001-03-12 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (computeGroupSize): created
+
+2001-03-12 16:18 Fançois Pons
+
+ * perl-install/: commands.pm, detect_devices.pm, lang.pm,
+ live_install2, modules.pm, pkgs.pm: fixed live update between
+ GLIBC 2.1 and GLIBC 2.2. should work for other combination but
+ not tested. fixed locale usage and gtk environment interaction
+ (added LOCPATH, GCONV_PATH and GTK_EXE_PREFIX).
+
+ created LD_LOADER environment variable to keep track of right ELF
+ loader to be used for the GLIBC used by the live update. added
+ internal PATH to LD_LIBRARY_PATH as ELF loader only check this
+ one and not PATH.
+
+2001-03-12 16:13 Dam's
+
+ * perl-install/Makefile: removed wizard pixmap from install
+
+2001-03-12 15:05 Dam's
+
+ * perl-install/pixmaps/: wiz_default_left.png, wiz_default_up.png,
+ wiz_internet.png, wiz_internet_left.png: updated
+
+2001-03-12 14:36 Warly <warly at mandriva.com>
+
+ * perl-install/share/compssUsers: added path
+
+2001-03-12 14:11 Dam's
+
+ * perl-install/install_steps_interactive.pm: added $::isInstall
+
+2001-03-12 13:23 Guillaume Cottenceau
+
+ * perl-install/modules.pm: reflect Jeff Garzik's answers to my
+ questions on kernel@
+
+2001-03-12 13:00 Guillaume Cottenceau
+
+ * make_boot_img: do not use graphical-syslinux for network.img
+
+2001-03-12 12:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (hds): search for existing lvm in @hds
+ *and* @lvms
+
+2001-03-12 12:00 Dam's
+
+ * perl-install/services.pm: removed use Data::Dumper
+
+2001-03-12 11:59 Dam's
+
+ * perl-install/my_gtk.pm: new wizard layout, with pixmaps.
+
+2001-03-12 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (get_mac_model): fix for
+ perl2fcalls
+
+2001-03-12 11:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (loadkeys): created
+
+2001-03-12 11:23 Dam's
+
+ * perl-install/share/: step-green-click.png, step-green-on.png,
+ step-green.png, step-green_s.png, step-orange-click.png,
+ step-orange-on.png, step-orange.png, step-red-click.png,
+ step-red-on.png, step-red.png: removing bad png files...
+
+2001-03-12 11:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower Zope (anyway Zope is not in
+ main)
+
+2001-03-12 10:32 Dam's
+
+ * perl-install/share/help.png: new help button. blah
+
+2001-03-12 10:32 Dam's
+
+ * perl-install/install_any.pm: typo
+
+2001-03-12 06:23 Dam's
+
+ * perl-install/share/logo-mandrake_trans.png: new logo for other
+ themes
+
+2001-03-12 06:08 Dam's
+
+ * perl-install/pixmaps/: wiz_internet.png, wiz_internet_left.png:
+ added pixmap for wizard
+
+2001-03-12 02:36 Dam's
+
+ * perl-install/services.pm: corrected bug in display
+
+2001-03-12 02:15 Dam's
+
+ * perl-install/netconnect.pm: corrected askokcancel -> askyesorno
+
+2001-03-12 02:15 Dam's
+
+ * perl-install/my_gtk.pm: added ugly workaround for ugly Hseparator
+
+2001-03-12 02:15 Dam's
+
+ * perl-install/interactive.pm: corrected bad okcanel in wizard mode
+
+2001-03-12 01:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): set compssUsersChoice
+ "3D" if 3D enabled graphic card
+
+2001-03-12 00:49 Guillaume Cottenceau
+
+ * perl-install/ftp.pm: do not retry on 550 file unavailable
+
+2001-03-12 00:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - lower tftp-server - a lot of
+ modifs (thanks to Prana)
+
+2001-03-12 00:01 Dam's
+
+ * perl-install/services.pm: no more restart button
+
+2001-03-11 22:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): fix clicked
+ empty handler
+
+2001-03-10 23:24 Dam's
+
+ * perl-install/services.pm: fixed big bug.
+
+2001-03-10 16:38 Dam's
+
+ * perl-install/services.pm:
+ imajor improvement.
+
+2001-03-10 09:21 Dam's
+
+ * perl-install/services.pm: improved.
+
+2001-03-10 08:49 Dam's
+
+ * perl-install/my_gtk.pm: added gtkset_border_width
+
+2001-03-10 08:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Korean file
+
+2001-03-10 06:28 Dam's
+
+ * perl-install/my_gtk.pm: typo again
+
+2001-03-10 06:27 Dam's
+
+ * perl-install/my_gtk.pm: typo
+
+2001-03-10 06:19 Dam's
+
+ * perl-install/my_gtk.pm: added gtkmove
+
+2001-03-10 06:19 Dam's
+
+ * perl-install/standalone/drakxservices: embedded mode
+
+2001-03-10 04:12 Dam's
+
+ * perl-install/my_gtk.pm: added gtkset_modal and gtkappenditems
+
+2001-03-09 15:10 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/detect_devices.pm: routine to detect MacIntosh model
+ code
+
+2001-03-09 15:06 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: keyboard mapping for PPC
+
+2001-03-09 06:00 Dam's
+
+ * perl-install/printerdrake.pm: if embedded -> no first question
+
+2001-03-09 05:53 Dam's
+
+ * perl-install/standalone/drakxconf: added harddrake
+
+2001-03-09 05:38 Dam's
+
+ * perl-install/bootlook.pm: workaround for the graphical layout.
+
+2001-03-09 05:37 Dam's
+
+ * perl-install/interactive_gtk.pm: added tooltips to
+ create_boxradio
+
+2001-03-09 03:40 Dam's
+
+ * perl-install/: install_steps_gtk.pm, interactive_gtk.pm,
+ my_gtk.pm: applied gtkradio created create_boxradio in wizard
+ mode : list -> radio buttons
+
+2001-03-09 03:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: a hell lot of modifications, mostly
+ cleanup of DEVELOPEMENT
+
+2001-03-09 02:52 Dam's
+
+ * perl-install/my_gtk.pm: added gtkradio
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages):
+ moved the log to install2::choosePackages (to have it in
+ auto_installs too)
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): set compssUsersChoice
+ LOCALES"*"
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (remove_advertising): created
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (choosePackages): log groups choosen
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate): handle the special case of
+ packages requiring locales-*, adding the flag LOCALES"*" for them
+
+2001-03-09 01:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - chineese packages - move Aurora's
+ to AURORA (DrakX take care of Aurora)
+
+2001-03-09 01:06 Dam's
+
+ * perl-install/standalone/draknet: changed graphical layout, expert
+ mode
+
+2001-03-08 23:11 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: workaround kernel-2.4 bug with /dev/log
+
+2001-03-08 22:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/verify_c: fix the regexp
+
+2001-03-08 22:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies): load module "floppy"
+ before probing
+
+2001-03-08 19:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add i18n'ed packages
+
+2001-03-08 18:25 Dam's
+
+ * perl-install/netconnect.pm: applied if__
+
+2001-03-08 18:21 Dam's
+
+ * perl-install/common.pm: added if__
+
+2001-03-08 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): catch
+ wizcancel and return undef
+
+2001-03-08 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (_create_window): on delete_event,
+ destroy the window and raise wizcancel
+
+2001-03-08 17:57 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: do not segfault in dhcp stuff, when af_packet
+ is not honoured by kernel
+
+2001-03-08 17:33 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2001-03-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_gtk.pm: advertising modifs
+
+2001-03-08 17:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, detect_devices.pm: cleanup
+
+2001-03-08 17:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): change again for 'none'
+ checking the mount point
+
+2001-03-08 17:06 Fançois Pons
+
+ * perl-install/pkgs.pm: changed choice of package for selection.
+
+2001-03-08 17:01 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: encourage Xpmac to run in at
+ least 16bpp
+
+2001-03-08 16:43 Fançois Pons
+
+ * perl-install/diskdrake.pm: avoid using e2fsck, else it abort by
+ checking partition size (which differs).
+
+2001-03-08 16:40 Fançois Pons
+
+ * perl-install/diskdrake.pm: fix resize ext2 by using resize2fs.
+
+2001-03-08 16:39 Fançois Pons
+
+ * perl-install/share/list: added resize2fs and dumpe2fs, removed
+ ext2resize which is replaced.
+
+2001-03-08 16:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/po/fr.po: fix bad translation
+
+2001-03-08 15:57 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/partition_table_mac.pm: fixed variable referencing -
+ thx Pixel
+
+2001-03-08 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): special case for device
+ ``none'' (which can be mounted twice or more :)
+
+2001-03-08 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): use burners instead
+ of IDEburners
+
+2001-03-08 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: raise kdebase
+
+2001-03-08 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (isBurner): use syslog to detect
+ scsi burners
+
+2001-03-08 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: re-add
+ miscellaneous step, but always hidden (aka automatic)
+
+2001-03-08 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: xcdroast is the best cd burner ui,
+ raise it above others
+
+2001-03-08 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): at least set BURNER
+ for ide burners
+
+2001-03-08 13:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: cleanup
+
+2001-03-08 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (dev2grub): better error reporting
+
+2001-03-08 13:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (setupBootloaderBefore): aurora
+ stupid renaming fix
+
+2001-03-08 12:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower some EDITORS raise vim-X11
+
+2001-03-08 12:06 Pixel <pixel at mandriva.com>
+
+ * tools/cvslog2changelog.pl: (%users): add stew
+
+2001-03-08 11:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower xrn, raise pan
+
+2001-03-08 02:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: bg.po, ca.po, sp.po, sr.po: updated
+ Bulgarian, Catalan and Serbian files
+
+2001-03-08 01:32 Dam's
+
+ * perl-install/netconnect.pm: corrected bad pci number -> string
+
+2001-03-07 23:55 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/devices.pm: * perl-install/devices.pm - add adbmouse
+
+2001-03-07 22:09 Dam's
+
+ * perl-install/netconnect.pm: corrected default focus after
+ detection
+
+2001-03-07 21:33 Dam's
+
+ * perl-install/netconnect.pm: don't test adsl if net install
+
+2001-03-07 21:22 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/any.pm: * perl-install/any.pm - fixed two $l vs. @l
+ references - bootloader menu, need image/boot in rec mode PPC
+
+ CVl:
+ ----------------------------------------------------------------------
+
+2001-03-07 21:07 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/help.pm: * perl-install/help.pm - typo in yaboot
+ help
+
+2001-03-07 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower heartbeat
+
+2001-03-07 18:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (add_alias): remove the alias
+ block-major-11 as it's overriding the default alias to sr_mod,
+ and is uneeded with scsi_hostadapter being added to
+ /etc/modules.conf
+
+2001-03-07 16:58 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, bootloader.pm: *
+ perl-install/Xconfigurator.pm - force XF4 for PPC in recommended
+ mode * perl-install/bootloader.pm - rework get_of_dev to work in
+ live install
+
+2001-03-07 16:53 Stew Benedict <sbenedict at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm,
+ partition_table_mac.pm:
+ * perl-install/any.pm - change in partition_table_mac'xxx syntax
+
+ * perl-install/install_steps_interactive.pm - change in
+ partition_table_mac'xxx syntax
+
+ * perl-install/partition_table_mac.pm - change in
+ partition_table_mac'xxx syntax
+
+2001-03-07 16:33 Dam's
+
+ * perl-install/standalone/draknet: not use common anymore, uses
+ gtkpng, cosmetic chages
+
+2001-03-07 14:55 Fançois Pons
+
+ * perl-install/pkgs.pm: added support for killing all child process
+ of a transaction, necessary to be able to umount cdrom and eject
+ it correctly.
+
+2001-03-07 13:43 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: remove 32 bit depth for S3 Trio3D
+ card.
+
+2001-03-07 13:29 Fançois Pons
+
+ * perl-install/: bootloader.pm, install_any.pm: fixed support for
+ other kernel for bootloader entries. automatically add 2.2
+ entries for kernel22 (manage hack-kernel too).
+
+2001-03-07 12:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakboot: make it please perl2fcalls
+
+2001-03-07 12:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/fonts.tar.bz2: use gb16fs instead of gb16st
+
+2001-03-07 12:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: lower Mesa's rate
+
+2001-03-07 12:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): save $@ in $err so that it's
+ not modified before being used
+
+2001-03-07 11:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: fix typo
+
+2001-03-07 02:39 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/fr.po: Fixed French typos reported by
+ tester
+
+2001-03-07 00:30 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: do not display from syslog msg's from RPM
+ telling that it installed/removed some pkg's
+
+2001-03-07 00:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (check_mntpoint): don't allow LVM on / or
+ /boot
+
+2001-03-06 23:50 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: fix save of automatic stage1 info
+ for static network
+
+2001-03-06 23:48 Dam's
+
+ * perl-install/netconnect.pm:
+ corrected bad %intf while savung
+
+2001-03-06 22:44 Dam's
+
+ * perl-install/netconnect.pm: don't ask configuration if expert
+
+2001-03-06 21:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): comment old code
+
+2001-03-06 21:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: hack to make perl2fcalls happy
+
+2001-03-06 21:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ftp.pm, http.pm: don't use install_any
+
+2001-03-06 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: - small fix for bootlook.pm - don't
+ display reused
+
+2001-03-06 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getHds): fix for no hd detected in
+ newbie installs
+
+2001-03-06 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): fixes
+ (setupSCSI): cleanup
+
+2001-03-06 18:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (setupSCSI): remove autoSCSI, cleanup
+
+2001-03-06 18:14 Dam's
+
+ * perl-install/standalone/draknet: remmoved 'quiting appli' screen
+
+2001-03-06 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): display
+ sound/tv/isdn cards found
+
+2001-03-06 16:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages):
+ s/snd-slot/sound-slot/
+
+2001-03-06 16:33 Yves Duret
+
+ * perl-install/bootlook.pm: pixelisation
+
+2001-03-06 16:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (stringlist): if no text
+ description, display ids
+
+2001-03-06 16:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (add): create 3 primaries before
+ creating an extended if DAC960 (/dev/rd/*)
+
+2001-03-06 16:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (@suggestions_mntpoints): add /boot
+
+2001-03-06 15:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (add): max number of parts for
+ rd, ida and cciss
+
+2001-03-06 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: (@graphical_steps):
+ add beforeInstallPackages so that advertisings are there
+
+2001-03-06 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: add cciss
+
+2001-03-06 14:55 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: fix includes for init
+
+2001-03-06 14:24 Dam's
+
+ * perl-install/netconnect.pm: now detecting adsl
+
+2001-03-06 14:10 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: help.pm, share/po/DrakX.pot, share/po/af.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/br.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/nl.po,
+ share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sr.po,
+ share/po/sv.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/wa.po, share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po,
+ standalone/draknet: corrected some typos, Updated Japanese file
+
+2001-03-06 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): remove unloading vfat (not
+ needed anymore with mdk-stage1)
+
+2001-03-06 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: common.pm, netconnect.pm, fs.pm: set_in_hash is
+ now put_in_hash
+
+2001-03-06 11:43 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: enable probing of all the CDROM drives in
+ automatic mode
+
+2001-03-06 11:32 Dam's
+
+ * perl-install/fs.pm: typo
+
+2001-03-06 09:25 Dam's
+
+ * perl-install/standalone/drakxconf: updated to be launched frome
+ DrakConf if no DISPLAY
+
+2001-03-06 04:06 Dam's
+
+ * perl-install/install2.pm: corrected bad file search
+
+2001-03-06 02:57 Dam's
+
+ * perl-install/standalone/draknet: added enable/disable networking
+ button.
+
+2001-03-06 02:39 Dam's
+
+ * perl-install/netconnect.pm: typo
+
+2001-03-06 02:37 Dam's
+
+ * perl-install/netconnect.pm: better load_conf
+
+2001-03-06 02:27 Dam's
+
+ * perl-install/Xconfigurator.pm: cleaned png displaying
+
+2001-03-06 02:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Lithuanian file
+
+2001-03-06 01:43 Dam's
+
+ * perl-install/install2.pm: corrected intf setting
+
+2001-03-06 01:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Create): pixelization
+
+2001-03-06 01:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, install_steps.pm: move
+ inittab modifying to any::runlevel
+
+2001-03-06 01:15 Dam's
+
+ * perl-install/common.pm: setinhash -> set_in_hash
+
+2001-03-06 01:15 Dam's
+
+ * perl-install/fs.pm: use set_in_hash
+
+2001-03-06 01:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (hds): pixelization
+
+2001-03-06 01:08 Dam's
+
+ * perl-install/common.pm: added setinhash
+
+2001-03-06 00:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: bootlook.pm, help.pm, netconnect.pm: fixed English
+ typos
+
+2001-03-06 00:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (generate_automatic_stage1_params):
+ replace generate_ks_cfg
+
+2001-03-06 00:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): use generate_automatic_stage1_params
+
+2001-03-06 00:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/: my_gtk.pm, c/stuff.xs.pm: XSetInputFocus now done
+ in perl-GTK
+
+2001-03-06 00:30 Dam's
+
+ * perl-install/Makefile: added pixmaps copying
+
+2001-03-05 23:58 Dam's
+
+ * perl-install/netconnect.pm: $mouse->{device} is set if it doesn't
+ exists.
+
+2001-03-05 23:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (salt): cleanup
+
+2001-03-05 23:38 Dam's
+
+ * perl-install/netconnect.pm: corrected short circuit if network
+ install
+
+2001-03-05 23:35 Dam's
+
+ * perl-install/network.pm: removed old NS0 fetching.
+ /etc/resolv.conf is read in install2.pm now
+
+2001-03-05 23:34 Dam's
+
+ * perl-install/standalone/draknet: required gtk only if needed,
+ added redirection to newt if needed
+
+2001-03-05 23:34 Dam's
+
+ * perl-install/install2.pm: moved askrootpasswd and adduser before
+ network conf
+
+2001-03-05 23:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: add use devices
+
+2001-03-05 23:12 Dam's
+
+ * perl-install/network.pm: removed setdefaultroute and sethostname
+
+2001-03-05 23:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): remove unloading vfat (not
+ needed anymore with mdk-stage1)
+
+2001-03-05 23:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_grub): ensure the translated
+ messages are not too big the hard way
+
+2001-03-05 21:36 Dam's
+
+ * perl-install/netconnect.pm: corrected bad end message, added
+ copying of resolv.conf & modules.conf
+
+2001-03-05 18:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ Updated Latvian, Belarussian and Spanish files
+
+2001-03-05 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (_create_window): don't care about
+ c::XSetInputFocus not existing
+
+2001-03-05 18:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (xtest): use external xtest if
+ standalone
+
+2001-03-05 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (vnew): cleanup
+
+2001-03-05 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (install_urpmi): have "use hdlist
+ ..." in any case
+
+2001-03-05 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): pixelization
+
+2001-03-05 16:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): fix call to get_append
+
+2001-03-05 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: compile fix
+
+2001-03-05 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: (lv_create): fix typo
+
+2001-03-05 12:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (create_buttons4partitions_): fix for
+ displaying LVM
+
+2001-03-05 11:28 Guillaume Cottenceau
+
+ * perl-install/share/compssUsers: fix typos
+
+2001-03-05 00:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: diskdrake.pm, share/po/DrakX.pot, share/po/af.po,
+ share/po/az.po, share/po/be.po, share/po/bg.po, share/po/br.po,
+ share/po/ca.po, share/po/cs.po, share/po/cy.po, share/po/da.po,
+ share/po/de.po, share/po/el.po, share/po/eo.po, share/po/es.po,
+ share/po/et.po, share/po/eu.po, share/po/fi.po, share/po/fr.po,
+ share/po/ga.po, share/po/gl.po, share/po/hr.po, share/po/hu.po,
+ share/po/id.po, share/po/is.po, share/po/it.po, share/po/ja.po,
+ share/po/ko.po, share/po/lt.po, share/po/lv.po, share/po/nl.po,
+ share/po/no.po, share/po/pl.po, share/po/pt.po,
+ share/po/pt_BR.po, share/po/ro.po, share/po/ru.po,
+ share/po/sk.po, share/po/sl.po, share/po/sp.po, share/po/sr.po,
+ share/po/sv.po, share/po/th.po, share/po/tr.po, share/po/uk.po,
+ share/po/wa.po, share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po:
+ updated po files
+
+2001-03-04 19:31 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): don't upload rpm2header (a static one made by
+ warly is better)
+
+2001-03-04 19:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Add2LVM): fix bug (causing empty
+ list), make cancel work
+
+2001-03-04 19:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: - remove autologin - move
+ X11R6-contrib to DEVELOPEMENT and lower rate
+
+2001-03-04 00:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: don't default the LVM name to 'pp' ;pp
+
+2001-03-03 22:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fsedit.pm, install2.pm,
+ install_interactive.pm, install_steps.pm, lvm.pm,
+ standalone/diskdrake: small fixes for LVM
+
+2001-03-03 20:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (formatPartitions): call vgscan if
+ needed when / is mounted
+
+2001-03-03 20:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/lvm.pm: creation
+
+2001-03-03 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/diskdrake: small adaptation
+
+2001-03-03 20:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add progs for LVM handling
+
+2001-03-03 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: cleanup
+
+2001-03-03 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (doPartitionDisksAfter): small
+ adaptation for LVMs
+
+2001-03-03 20:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: add isLVMBased
+
+2001-03-03 20:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getHds): handle LVMs. $o->{lvms}
+ contain them (setPackages): ask for installation of package lvm
+ when needed (suggest_mount_points, find_root_parts): take $fstab
+ as arg instead of $hds
+
+2001-03-03 20:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (hds): detect LVMs and return them (add):
+ handling of LVMs (@partitions_signatures): add new magic of
+ reiserfs
+
+2001-03-03 20:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: - addition of drive to notebook
+ cleaned - various clean-up - handling of LVMs
+
+2001-03-03 20:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (make): better caller in error
+
+2001-03-03 14:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/: bootloader.pm, install_steps.pm: use run_or_die
+
+2001-03-03 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/run_program.pm: (run_or_die, rooted_or_die): created
+
+2001-03-03 00:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: fix typo
+
+2001-03-02 21:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/et.po: updated Estonian file
+
+2001-03-02 19:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add hexedit and strace to SYSTEM
+
+2001-03-02 19:11 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getCompaqSmartArray): adapt for
+ cciss
+
+2001-03-02 17:09 Fançois Pons
+
+ * perl-install/: any.pm, bootloader.pm: added graphical LILO by
+ default.
+
+2001-03-02 15:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree): in the
+ tree, "Other" must be after the "best" packages
+
+2001-03-02 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: add hexedit and strace to SYSTEM
+
+2001-03-02 15:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (setupBootloaderBefore):
+ Aurora-wsMonitor or Aurora-mwsMonitor is chosen
+
+2001-03-02 15:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (removeXiBSuffix): enhanced, more
+ flexible
+
+2001-03-02 13:28 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: fix some doc (BOOKS)
+
+2001-03-02 12:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Create): can't choose a mount point
+ for LVM partitions
+
+2001-03-02 12:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages):
+ raise the min_mark
+
+2001-03-02 01:41 Dam's
+
+ * perl-install/share/logo-mandrake.png: updated
+
+2001-03-02 00:16 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Estonian and Czech files
+
+2001-03-01 19:45 Fançois Pons
+
+ * perl-install/: any.pm, bootloader.pm: added bootloader chooser.
+ added lilo configuration in text menu or graphic menu.
+
+2001-03-01 19:44 Fançois Pons
+
+ * perl-install/pkgs.pm: added retry support but automatic (no user
+ response).
+
+2001-03-01 18:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: add isLVM and isNonMountable ( =
+ isRAID || isLVM)
+
+2001-03-01 18:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: diskdrake.pm, fsedit.pm: s/isRAID/isNonMountable/
+
+2001-03-01 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: add LVM in important_types2. in
+ expert, have interesting types in the beginning
+
+2001-03-01 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/diskdrake.pm: (Type): don't sort the types
+
+2001-03-01 18:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): fix option sort=>0
+
+2001-03-01 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: remove wu-ftpd
+
+2001-03-01 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (getxim): patch for Alex Du for
+ localization tool
+
+2001-03-01 18:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix for telnet-server
+
+2001-03-01 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: devices.pm, fs.pm, fsedit.pm: add handling for
+ cciss (compaq smart array alike)
+
+2001-03-01 17:39 Dam's
+
+ * perl-install/network.pm: configure all network card, even if not
+ expert
+
+2001-03-01 15:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssUsers: fix uppercase
+
+2001-03-01 01:57 Dam's
+
+ * perl-install/standalone/XFdrake: updated embedded mode
+
+2001-03-01 01:18 Dam's
+
+ * perl-install/standalone/drakgw: updated embedded mode
+
+2001-03-01 00:45 Dam's
+
+ * perl-install/standalone/printerdrake: updated embedded
+
+2001-03-01 00:40 Dam's
+
+ * perl-install/standalone/keyboarddrake: updated embedded mode
+
+2001-03-01 00:24 Dam's
+
+ * perl-install/: bootlook.pm, standalone/draknet: typo
+
+2001-03-01 00:14 Dam's
+
+ * perl-install/standalone/mousedrake: typo
+
+2001-02-28 21:55 Dam's
+
+ * perl-install/standalone/drakboot: test if gtk -> bootlookdrake,
+ else drakboot
+
+2001-02-28 21:53 Dam's
+
+ * perl-install/bootlook.pm: added signal
+
+2001-02-28 20:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (install_grub, suggest): add PO
+ comments for i18n saying "don't use 8bit strings"
+
+2001-02-28 19:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/XFdrake: fix call to pkgs_install
+
+2001-02-28 19:04 Pixel <pixel at mandriva.com>
+
+ * tools/Makefile: (install): update the misc progs
+
+2001-02-28 19:04 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): update the misc progs
+
+2001-02-28 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configureServices):
+ services::ask done in expert or if clicked
+
+2001-02-28 15:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (configureServices): don't bypass in
+ non-expert. this choice is done in install_steps_interactive as
+ it should
+
+2001-02-28 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): s/ask_warn/ask_okcancel/ for asking
+ floppy
+
+2001-02-28 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (copy_advertising): don't use
+ advertising if width < 800
+
+2001-02-28 13:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_default_packages):
+ s/ask_warn/ask_okcancel/ for asking floppy
+
+2001-02-28 12:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (configurePrinter):
+ qtcups install_if_requires_satisfied (before kups)
+
+2001-02-28 08:39 Dam's
+
+ * perl-install/standalone/XFdrake: new look
+
+2001-02-28 08:39 Dam's
+
+ * perl-install/Xconfigurator.pm: new look.
+
+2001-02-28 08:39 Dam's
+
+ * perl-install/my_gtk.pm: added finish button handler in wizard
+ mode
+
+2001-02-28 08:37 Dam's
+
+ * perl-install/netconnect.pm: added Congratulation step
+
+2001-02-28 08:36 Dam's
+
+ * perl-install/pixmaps/: colors.png, colors16.png, colors8.png,
+ monitor.png: added pixmap for XFdrake new look
+
+2001-02-28 05:04 Daouda Lo <daouda at mandriva.com>
+
+ * perl-install/bootlook.pm: * add real users for autologin .
+
+2001-02-28 03:53 Dam's
+
+ * perl-install/my_gtk.pm: added gtkset_shadow_type added auto path
+ for png pixmap
+
+2001-02-27 21:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/devices.pm: (entry): add fd0H1440 and fd1H1440
+
+2001-02-27 21:29 Pixel <pixel at mandriva.com>
+
+ * update_kernel: no need to fake the main to cardmgr_main
+
+2001-02-27 21:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (mkbootdisk): fix for mkbootdisk
+ using fd0H1440. Must be created
+
+2001-02-27 18:28 Dam's
+
+ * perl-install/standalone/draknet: pop up a dialog to quit X when
+ accepting configuration
+
+2001-02-27 14:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_raw.pm: (@MBR_signatures): add yet
+ another grub signature
+
+2001-02-26 22:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/bootlook.pm: changed I_() to _() so xgettext cna
+ find the translatable strings
+
+2001-02-26 22:26 Dam's
+
+ * perl-install/standalone/draknet: reincluded Gtk + init Gtk
+ thiskind -> thiskind_backend
+
+2001-02-26 22:25 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po,
+ i18n_compssUsers, id.po, is.po, it.po, ja.po, ko.po, lt.po,
+ lv.po, nl.po, no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po,
+ sl.po, sp.po, sr.po, sv.po, th.po, tr.po, uk.po, wa.po,
+ zh_CN.GB2312.po, zh_TW.Big5.po: Fixed i18n_compssUsers script to
+ produce a correct pot file Updated Estonian and Walloon files
+
+2001-02-26 19:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/drakgw: pixelization
+
+2001-02-26 19:01 Dam's
+
+ * perl-install/bootlook.pm: typo
+
+2001-02-26 18:49 Dam's
+
+ * perl-install/Makefile: typo
+
+2001-02-26 18:47 Dam's
+
+ * perl-install/: bootlook.pm, pixmaps/hori.xpm, pixmaps/tradi.xpm,
+ pixmaps/verti.xpm: new pixmap policy
+
+2001-02-26 18:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (copy_advertising): fix
+ changing for advertising_images
+
+2001-02-26 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: remove unneeded "use
+ install_interactive"
+
+2001-02-26 18:16 Dam's
+
+ * perl-install/: Makefile, Makefile.drakxtools: new pixmap policy
+
+2001-02-26 17:51 Dam's
+
+ * perl-install/bootlook.pm: need to be merged with bootloader
+
+2001-02-26 17:51 Dam's
+
+ * perl-install/standalone/drakboot: short-circuit to bootlook for
+ the moment.
+
+2001-02-26 17:50 Dam's
+
+ * perl-install/: standalone/draknet, pixmaps/eth_card_mini.xpm: new
+ pixmap policy
+
+2001-02-26 16:49 Dam's
+
+ * perl-install/netconnect.pm: should correct bad resolv.conf when
+ swithcinf in standalone embedded mode. Not Certified
+
+2001-02-26 16:35 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: fixed
+ standalone edition
+
+2001-02-26 15:09 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssUsers, rpmsrate: remove some packages
+
+2001-02-26 13:39 Dam's
+
+ * perl-install/netconnect.pm: corrected wizard mode.
+
+2001-02-26 13:38 Dam's
+
+ * perl-install/interactive_gtk.pm: if wizard, show the button
+
+2001-02-26 13:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (if_): fix for use in scalar context
+
+2001-02-26 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): translate
+ mouse description
+
+2001-02-26 00:15 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: profile
+ handling.
+
+2001-02-25 19:30 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: profile
+ handling
+
+2001-02-25 15:47 Dam's
+
+ * perl-install/netconnect.pm: corrected wizard.
+
+2001-02-25 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (generateAutoInstFloppy): use "timeout 1" for replay
+
+2001-02-25 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): move the load_deps before all
+ the loadO's
+
+2001-02-25 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): ensure
+ "advanced" lists center the chosen value
+
+2001-02-25 14:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): have
+ formatMountPartitions graphical if $graphical
+
+2001-02-25 14:33 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: (boot_img_i386): mount as vfat instead of msdos
+
+2001-02-25 14:28 Dam's
+
+ * perl-install/install_steps_interactive.pm: updated
+
+2001-02-25 14:27 Dam's
+
+ * perl-install/share/: logo-mandrake-Firewall.xpm,
+ logo-mandrake.xpm: changed logo.
+
+2001-02-24 21:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_steps.pm: move writing to
+ config files from install2::selectKeyboard to install_steps
+
+2001-02-24 21:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile, perl-install/share/list,
+ tools/i386/mkreiserfs: for now, have mkreiserfs in the CVS since
+ the current cooker version is too recent
+
+2001-02-24 21:44 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (more): handle 'q' to quit
+
+2001-02-24 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (pci_probe): fix to clean the log
+
+2001-02-24 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword): NIS
+ server must be editable
+
+2001-02-24 16:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile: (stuff): fix the fix's fix :'-(
+
+2001-02-23 22:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (exitInstall): ask
+ wether Replay or Automated (generateAutoInstFloppy): handle
+ $replay flag. It means a 'not fully automated install'.
+ (summary): nicer mouse name
+
+2001-02-23 22:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): no kdm
+ UserView in NIS (configurePrinter): if_'ization
+
+2001-02-23 22:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: (@graphical_steps):
+ specify which step should be interactive
+
+2001-02-23 22:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): handle $replay
+ flag. It means a 'not fully automated install'.
+
+2001-02-23 22:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile: (stuff.xs): exporting C_RPM and C_DRAKX
+ is needed
+
+2001-02-23 17:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: add packages installed on demand by
+ DrakX. they are specifically flagged or flagged 'INSTALL'
+
+2001-02-23 17:19 Fançois Pons
+
+ * rescue/make_rescue_img: removed kernel_reread program.
+
+2001-02-23 17:10 Fançois Pons
+
+ * rescue/tree/etc/oem: removed server from selection.
+
+2001-02-23 16:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: handling of ``package''->import(``what
+ to import'')
+
+2001-02-23 16:26 Dam's
+
+ * perl-install/: my_gtk.pm, netconnect.pm, network.pm,
+ standalone/draknet: new wizard layout, no use gtk in draknet,
+ minor bugfixes
+
+2001-02-23 16:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: move the 'use my_gtk' in 'require
+ my_gtk' and only if needed
+
+2001-02-23 15:39 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: move xterm to SYSTEM
+
+2001-02-23 14:58 Fançois Pons
+
+ * perl-install/pkgs.pm: added accessor the rpmsrate data of
+ packages. avoid rebuilding the database for oem, rpm db is
+ assumed to be fine.
+
+2001-02-23 14:30 Fançois Pons
+
+ * rescue/tree/etc/oem: added mutli CD support to OEM (NFS/DVD
+ transparent)
+
+2001-02-23 14:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: hack for macroporcessing in term.h
+
+2001-02-23 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (vnew): use /usr/X11R6/bin/xtest
+ instead of c::Xtest
+
+2001-02-23 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (tar-drakxtools): C_RPM and C_DRAKX set to
+ 0
+
+2001-02-23 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile: add setting C_DRAKX to 1 by default
+
+2001-02-23 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/: Makefile.PL, stuff.xs.pm: use C_DRAKX
+
+2001-02-23 12:14 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed selection of package now select much
+ more than before.
+
+2001-02-23 12:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (setSelectedFromCompssList): fix the fix
+
+2001-02-23 11:22 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed root partition size set to the
+ minimum.
+
+2001-02-23 02:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): double
+ clicking on list means 'Ok'
+
+2001-02-23 02:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (setSelectedFromCompssList): fix sillyness
+
+2001-02-22 22:10 Fançois Pons
+
+ * rescue/: Makefile, list, list.i386: make rescue build a bit more
+ cleaner (added dependancy). added missing file for rescue to
+ enable new oem install.
+
+2001-02-22 22:09 Fançois Pons
+
+ * rescue/tree/etc/oem: minor cleanup to edit partition size more
+ easily.
+
+2001-02-22 21:52 Fançois Pons
+
+ * rescue/tree/etc/oem: brand new version written in perl, support
+ repartitionning on the fly of the hard disk and resize of already
+ present FAT partition.
+
+2001-02-22 18:21 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, Makefile.common, insmod.h, modules.c,
+ stage1.c, insmod-busybox/insmod.c, insmod-busybox/insmod.h,
+ insmod-modutils/Makefile, insmod-modutils/insmod-frontend.c,
+ insmod-modutils/insmod.c, insmod-modutils/include/config.h,
+ insmod-modutils/include/elf_alpha.h,
+ insmod-modutils/include/elf_arm.h,
+ insmod-modutils/include/elf_hppa.h,
+ insmod-modutils/include/elf_hppa64.h,
+ insmod-modutils/include/elf_i386.h,
+ insmod-modutils/include/elf_ia64.h,
+ insmod-modutils/include/elf_m68k.h,
+ insmod-modutils/include/elf_mips.h,
+ insmod-modutils/include/elf_ppc.h,
+ insmod-modutils/include/elf_s390.h,
+ insmod-modutils/include/elf_sparc.h,
+ insmod-modutils/include/elf_sparc64.h,
+ insmod-modutils/include/kallsyms.h,
+ insmod-modutils/include/kerneld.h,
+ insmod-modutils/include/modstat.h,
+ insmod-modutils/include/module.h, insmod-modutils/include/obj.h,
+ insmod-modutils/include/util.h,
+ insmod-modutils/include/version.h, insmod-modutils/obj/Makefile,
+ insmod-modutils/obj/obj_alpha.c, insmod-modutils/obj/obj_arm.c,
+ insmod-modutils/obj/obj_common.c, insmod-modutils/obj/obj_hppa.c,
+ insmod-modutils/obj/obj_hppa64.c, insmod-modutils/obj/obj_i386.c,
+ insmod-modutils/obj/obj_ia64.c,
+ insmod-modutils/obj/obj_kallsyms.c,
+ insmod-modutils/obj/obj_load.c, insmod-modutils/obj/obj_m68k.c,
+ insmod-modutils/obj/obj_mips.c, insmod-modutils/obj/obj_ppc.c,
+ insmod-modutils/obj/obj_reloc.c, insmod-modutils/obj/obj_s390.c,
+ insmod-modutils/obj/obj_sparc.c,
+ insmod-modutils/obj/obj_sparc64.c, insmod-modutils/util/Makefile,
+ insmod-modutils/util/alias.h, insmod-modutils/util/arch64.c,
+ insmod-modutils/util/config.c, insmod-modutils/util/gzfiles.c,
+ insmod-modutils/util/logger.c,
+ insmod-modutils/util/meta_expand.c,
+ insmod-modutils/util/modstat.c, insmod-modutils/util/snap_shot.c,
+ insmod-modutils/util/sys_cm.c, insmod-modutils/util/sys_dm.c,
+ insmod-modutils/util/sys_gks.c, insmod-modutils/util/sys_nim.c,
+ insmod-modutils/util/sys_oim.c, insmod-modutils/util/sys_qm.c,
+ insmod-modutils/util/xftw.c, insmod-modutils/util/xmalloc.c,
+ insmod-modutils/util/xrealloc.c, insmod-modutils/util/xstrcat.c,
+ insmod-modutils/util/xstrdup.c, insmod-modutils/util/xsystem.c:
+ use modutils for non Intel arch's
+
+2001-02-22 18:10 Dam's
+
+ * perl-install/netconnect.pm: corected infinite loop
+
+2001-02-22 15:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: commands.pm, modules.pm: call /usr/bin/insmod_
+ with full path
+
+2001-02-22 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): don't set a special
+ $remote_path PATH for postInstallNonRooted (otherwise install's
+ modprobe is not used, and you can't "modprobe vfat", even if
+ "/usr/bin/modprobe vfat" doesn't work because insmod_ is not
+ found.
+
+2001-02-22 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/fs.pm: (write_fstab): clean-up, $fstab takes
+ precedence over @to_add, but not over existing /etc/fstab. Fix
+ some stupid stuff
+
+2001-02-22 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_box_with_title): disallow
+ focusing on text if it is non-scrolled
+
+2001-02-22 14:06 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, init-libc-headers.h, init.c, minilibc.c,
+ minilibc.h: have "init" compiled against dietlibc (rather than
+ glibc) on non-Intel arch's
+
+2001-02-22 12:56 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): fix setting type to
+ 'list' in case of format. should be only set if type is unset
+
+2001-02-22 02:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): if no
+ button wanted, don't call create_okcancel
+
+2001-02-22 02:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: $graphical is now a
+ module variable. Can be changed from everywhere
+
+2001-02-22 02:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): if list+format then
+ type is 'list', combo not accepted (hacky?)
+
+2001-02-22 00:01 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, init-libc-headers.h, init.c, minilibc.c,
+ minilibc.h, tools.c: - fix "init" on ppc (do not use minilibc on
+ non-i386 arch's) - fix segfault of dietlibc-linked apps (broken
+ va_stuff in dietlibc) - cleanup of "init"
+
+2001-02-21 21:02 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: fix up syslog logging stuff
+
+2001-02-21 19:22 Dam's
+
+ * perl-install/: netconnect.pm, network.pm: netconnect recode,
+ wizard compatible. network.pm modified for wizard. Still need
+ work for ask_yesorno, ask_okcancel. +debugging of course
+
+2001-02-21 19:17 Dam's
+
+ * perl-install/standalone/draknet: updated (don't remember what)
+
+2001-02-21 19:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): do postInstallNonRooted before
+ postInstall (so that 'modprobe vfat' can be done in
+ postInstallNonRooted and used in postInstall)
+
+2001-02-21 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (exitInstall): add
+ generateAutoInstFloppy and g_default_packages calls in advanced
+
+2001-02-21 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (generateAutoInstFloppy): removed
+
+2001-02-21 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): use
+ selected_leaves for default_packages to reduce the list of
+ packages (aka cleanup auto_inst.cfg) (g_default_packages):
+ created
+
+2001-02-21 19:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: - move the loadO of patch/defcfg after
+ loading modules.dep - generateAutoInstFloppy is no more a step -
+ removed use Data::Dumper
+
+2001-02-21 19:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (selected_leaves): created
+
+2001-02-21 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: fsedit.pm, netconnect.pm, partition_table.pm:
+ cleanup Data::Dumper use
+
+2001-02-21 17:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-02-21 17:34 Guillaume Cottenceau
+
+ * mdk-stage1/TECH-INFOS: sync doc with disk automatic installs
+
+2001-02-21 17:24 Dam's
+
+ * docs/wizard.doc: putain de doc de merde pout petite qui est trop
+ débile
+
+2001-02-21 17:23 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c: add support for automatic (ex-kickstart) in
+ disk installs
+
+2001-02-21 12:39 Chmouel Boudjnah
+
+ * perl-install/share/rpmsrate: Add iputils to SYSTEM.
+
+2001-02-21 08:00 Dam's
+
+ * perl-install/: interactive.pm, my_gtk.pm: corrected wizard mode.
+
+2001-02-20 18:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_gtk.pm: better advertising support
+
+2001-02-20 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/printerdrake.pm: fix typo
+
+2001-02-20 16:49 Guillaume Cottenceau
+
+ * mdk-stage1/: network.c, url.c, url.h: for HTTP installs, make use
+ of Content-Length when available, to display progressbar
+
+2001-02-20 16:36 Warly <warly at mandriva.com>
+
+ * perl-install/share/: compssList, compssUsers, rpmsrate: update
+ rpmsrate
+
+2001-02-20 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Xconfigurator.pm, class_discard.pm,
+ modules.pm, my_gtk.pm: various
+
+2001-02-20 14:44 Pixel <pixel at mandriva.com>
+
+ * tools/pcmcia_config.patch: pcmcia_config.patch now here
+
+2001-02-20 14:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: - pcmcia_config.patch now in tools (no
+ more in install which is removed) - copy xpm's (until step icons
+ work with png's) - transform group icons in pngs
+
+2001-02-20 13:42 Fançois Pons
+
+ * perl-install/: live_install, live_install2, pkgs.pm,
+ c/stuff.xs.pm: added RPMRC_FILE env variable to choose rpmrc file
+ for rpmlib used by DrakX, neccessary for live update from a 7.2
+ or older. Check that if something goes wrong with rebuilddb,
+ avoid removing old rpm-3 db files. Make sure live_install can
+ start from top directory too.
+
+2001-02-20 02:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, diskdrake.pm,
+ install2.pm, install_steps_interactive.pm, interactive.pm,
+ interactive_gtk.pm, my_gtk.pm, netconnect.pm, printerdrake.pm,
+ standalone/keyboarddrake, standalone/mousedrake: major move. now
+ ask_from_list returns false when canceled (it doesn't die
+ 'ask_from_list canceled' anymore)
+
+2001-02-20 00:48 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: try to print errno's stuff when symlink to
+ /tmp/stage2 failed
+
+2001-02-19 17:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_packtable): don't use attach_raw
+ anymore (was a sillyme)
+
+2001-02-19 14:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): die
+ 'ask_from_list cancel' on cancel
+
+2001-02-19 12:15 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: ARP_MAX_RETRIES: s/5/4
+
+2001-02-19 01:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Estonian file
+
+2001-02-18 10:08 Dam's
+
+ * perl-install/standalone/draknet: typo
+
+2001-02-18 10:08 Dam's
+
+ * perl-install/standalone/draknet: make fbastok happy about button
+ placement. little improvements.
+
+2001-02-16 17:50 Guillaume Cottenceau
+
+ * mdk-stage1/stdio-frontend.c: display more nicely when there is a
+ long list to choose from (1, 2 or 4 columns)
+
+2001-02-16 17:49 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: better ansi colors
+
+2001-02-16 17:06 Dam's
+
+ * perl-install/network.pm: wireless eth support corrected.
+
+2001-02-16 13:24 Dam's
+
+ * perl-install/install_gtk.pm: corrected xpm mask
+
+2001-02-16 13:22 Dam's
+
+ * perl-install/share/: step-green-click.xpm, step-green-on.xpm,
+ step-green.xpm, step-orange-click.xpm, step-orange-on.xpm,
+ step-orange.xpm, step-red-click.xpm, step-red-on.xpm,
+ step-red.xpm: re added these xpm files against display mask pb.
+
+2001-02-16 12:43 Guillaume Cottenceau
+
+ * mdk-stage1/dhcp.c: comply with glibc-2.2.2 more strict headers
+
+2001-02-16 00:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2001-02-15 20:47 Guillaume Cottenceau
+
+ * mdk-stage1/: README, TECH-INFOS: update doc
+
+2001-02-15 20:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): fix
+ i_images
+
+2001-02-15 20:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (suggestions_mntpoint): fix
+
+2001-02-15 18:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (get_needed_files): copy png files instead
+ of xpm's
+
+2001-02-15 18:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: add Gtk::Gdk::ImlibImage
+
+2001-02-15 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages):
+ traktolpilization and advertising
+
+2001-02-15 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): set SHARE_PATH to
+ /export/Mandrake/mdkinst/usr/share if it exists
+
+2001-02-15 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (gtkcreate_png): add error message,
+ syntax cleanup
+
+2001-02-15 17:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/list: add GdkImlib stuff
+
+2001-02-15 14:26 Dam's
+
+ * perl-install/share/: ftin.xpm, ftout.xpm, help.xpm,
+ logo-mandrake-Desktop.xpm, logo-mandrake.xpm, reload.xpm,
+ rpm-base.xpm, rpm-installed.xpm, rpm-selected.xpm,
+ rpm-semiselected.xpm, rpm-unselected.xpm, step-green-click.xpm,
+ step-green-on.xpm, step-green.xpm, step-orange-click.xpm,
+ step-orange-on.xpm, step-orange.xpm, step-red-click.xpm,
+ step-red-on.xpm, step-red.xpm: removed, png are used instead.
+
+2001-02-15 14:25 Dam's
+
+ * perl-install/share/: ftin.png, ftout.png, help.png, help.xpm,
+ help_sav.png, logo-mandrake-Desktop.png, logo-mandrake.png,
+ logo-mandrake.xpm, logo-mandrake2.png, logo-mandrake_sav.png,
+ reload.png, rpm-base.png, rpm-installed.png, rpm-selected.png,
+ rpm-semiselected.png, rpm-unselected.png, step-green-click.png,
+ step-green-on.png, step-green.png, step-green_s.png,
+ step-orange-click.png, step-orange-on.png, step-orange.png,
+ step-red-click.png, step-red-on.png, step-red.png, themes-mdk.rc:
+ added png images
+
+2001-02-15 14:16 Dam's
+
+ * perl-install/: any.pm, install_gtk.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, interactive_gtk.pm, my_gtk.pm:
+ added png support. Need to test the faces2xpm stuff.
+
+2001-02-15 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (summary): better
+ message for i18n
+
+2001-02-15 13:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (selectKeyboard): give clicked as
+ parameter
+
+2001-02-15 12:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: (suggestions_mntpoint): fix typo
+
+2001-02-15 07:07 Dam's
+
+ * perl-install/standalone/draknet: updated internet and added eth
+ conf
+
+2001-02-14 11:47 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): add user
+ in group usb
+
+2001-02-14 10:52 Dam's
+
+ * perl-install/share/: help.xpm, logo-mandrake.xpm, themes-mdk.rc:
+ valentin theme :)
+
+2001-02-14 10:17 Dam's
+
+ * perl-install/: network.pm, standalone/draknet: wireless updated
+
+2001-02-14 09:52 Dam's
+
+ * perl-install/network.pm: updated wireless eth support
+
+2001-02-14 08:24 Dam's
+
+ * perl-install/share/themes-mdk.rc: added drawing theme section
+
+2001-02-13 23:40 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: better error msg thx to mcdtg
+
+2001-02-13 22:33 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: network con
+ initiated in draknet. netconnect improvement.
+
+2001-02-13 22:29 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.c, automatic.h, dhcp.c, disk.c,
+ frontend.h, network.c, network.h, newt-frontend.c,
+ stdio-frontend.c: write down Magic Callback (tm) for static ip
+ stuff
+
+2001-02-13 22:17 Guillaume Cottenceau
+
+ * mdk-stage1/: init.c, stage1.c: use exit code 66 for rescue
+
+2001-02-13 21:04 Guillaume Cottenceau
+
+ * mdk-stage1/modules.c: ask for modules parameters everytime in
+ expert mode, to avoid wrong autodetections in certain cases
+
+2001-02-13 16:54 Dam's
+
+ * perl-install/netconnect.pm: typo
+
+2001-02-13 16:54 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, mount.c, nfsmount.c: - better log of nfs
+ mount errors - don't insmod modules already present (important
+ for bzip2 slowness)
+
+2001-02-13 16:30 Dam's
+
+ * perl-install/network.pm: typo
+
+2001-02-13 16:27 Guillaume Cottenceau
+
+ * mdk-stage1/: init.c, stage1.c: better console messages at startup
+
+2001-02-13 16:26 Dam's
+
+ * perl-install/network.pm: corrected domainname setting
+
+2001-02-13 15:46 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: - save /etc/resolv.conf for rescue
+
+2001-02-13 15:43 Guillaume Cottenceau
+
+ * rescue/: list, make_rescue_img: include libs for hostname
+ resolving
+
+2001-02-13 15:25 Dam's
+
+ * perl-install/standalone/draknet: profile handling updated
+
+2001-02-13 15:25 Dam's
+
+ * perl-install/netconnect.pm: finished load_conf
+
+2001-02-13 12:38 uid553
+
+ * perl-install/any.pm: md5 now done via crypt
+
+2001-02-13 12:36 uid553
+
+ * perl-install/install_steps_interactive.pm: (selectKeyboard): can
+ be automatic only in non-expert
+
+2001-02-13 12:36 uid553
+
+ * perl-install/install_steps.pm: (exitInstall): catch exception of
+ output report.bug (for gc)
+
+2001-02-13 11:39 uid553
+
+ * tools/cvslog2changelog.pl: fix for gc & fpons
+
+2001-02-13 11:37 uid553
+
+ * tools/cvslog2changelog.pl: fix for fredl broken CVS
+
+2001-02-13 11:23 uid553
+
+ * perl-install/c/: Makefile.PL, md5.c, md5.h, md5_crypt.c,
+ stuff.xs.pm: md5 can be done via crypt of glibc, so remove all
+ this
+
+2001-02-13 10:39 uid526
+
+ * perl-install/network.pm: experimental wireless eth support. Not
+ tested
+
+2001-02-13 10:17 uid526
+
+ * perl-install/netconnect.pm: corrected profile handling
+
+2001-02-13 09:34 uid526
+
+ * perl-install/any.pm: merging difference
+
+2001-02-13 00:55 uid553
+
+ * tools/addchangelog.pl: log more than mdk-stage1 and perl-install
+ (added docs, rescue, tools)
+
+2001-02-12 23:53 uid553
+
+ * perl-install/: any.pm, diskdrake.pm, fsedit.pm, install2.pm,
+ install_interactive.pm: auto_allocate partitions choice modified.
+ diskdrake in expert asks what kind of auto_allocation is wanted,
+ others choose 'simple' in %fsedit::suggestions
+
+2001-02-12 23:22 uid535
+
+ * rescue/: aliases, list, tree/etc/issue: fix vi trouble
+
+2001-02-12 19:51 uid553
+
+ * docs/README: fix doc about Mandrake/base/compss
+
+2001-02-12 19:51 uid553
+
+ * perl-install/install2.pm: (main): gc has done it again!
+ /tmp/conf.modules is now /etc/modules.conf, so load both to keep
+ compatibility.
+
+2001-02-12 19:51 uid553
+
+ * perl-install/my_gtk.pm: cleanup (remove ask_from_list and
+ _ask_from_list)
+
+2001-02-12 19:44 uid553
+
+ * rescue/tree/etc/rc.sysinit: add floppy module for 2.4
+
+2001-02-12 19:42 uid553
+
+ * rescue/drvinst: pixelization
+
+2001-02-12 19:28 uid553
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): use
+ $common->{advanced_label} (create_ctree): add keyboard shortcuts
+ (create_clist): moveto only if row_is_visible
+
+2001-02-12 19:24 uid553
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): advanced_label
+ defaults to _("Advanced")
+
+2001-02-12 19:24 uid553
+
+ * perl-install/install_steps_interactive.pm: (configurePrinter):
+ cleanup, pkg_install_if_requires_satisfied('xpp', 'kups') only if
+ a printer is configured (for the case when _("Would you like to
+ configure a printer?") is answered no)
+
+2001-02-12 19:17 uid553
+
+ * perl-install/install_steps_gtk.pm: (choosePackagesTree): non
+ first choice packages are in "Other".
+
+2001-02-12 15:31 uid535
+
+ * rescue/: drvinst, list, list.i386, make_rescue_img: - add lspci,
+ lspcidrake, vim-minimal - better /etc/issue - better PS1 - write
+ embryonic tool (installation of detected drivers according to pci
+ cards)
+
+2001-02-12 14:14 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: tag it 8.0beta instead of 8.0, to avoid
+ future potential confusions
+
+2001-02-12 14:03 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: do not close un unbound socket!!
+
+2001-02-12 14:02 Guillaume Cottenceau
+
+ * perl-install/c/stuff.xs.pm: close socket everytime in
+ hasNetDevice
+
+2001-02-12 13:51 Guillaume Cottenceau
+
+ * perl-install/modules.pm: re include some network modules
+
+2001-02-10 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: XFdrake, draknet: corrected
+ pkgs_install given
+
+2001-02-10 13:14 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: corrected back $install call
+
+2001-02-10 13:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: add preConfigureTimezone
+
+2001-02-10 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: add step summary.
+ remove steps configureTimezone and configurePrinter, modify
+ selectKeyboard
+
+2001-02-10 13:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: keyboard.pm, share/keymaps_generate,
+ standalone/keyboarddrake: - lang2keyboards handle keyboard
+ percentages - xmodmaps now named keyboards
+
+2001-02-10 12:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ timezone.pm: add step summary. remove steps configureTimezone and
+ configurePrinter
+
+2001-02-10 12:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: cleanup
+
+2001-02-10 11:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/printerdrake.pm: (main): cleanup
+
+2001-02-10 11:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm,
+ interactive_newt.pm: button behaviour now chosen, and implemented
+
+2001-02-10 01:53 Dam's
+
+ * perl-install/: netconnect.pm, standalone/draknet: implemented
+ profiles handling
+
+2001-02-09 19:05 Dam's
+
+ * perl-install/netconnect.pm: corrected $install call
+
+2001-02-09 17:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: configureTimezone doesn't take
+ parameter /etc/sysconfig/clock
+
+2001-02-09 17:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm,
+ timezone.pm: configureTimezone doesn't take parameter
+ /etc/sysconfig/clock
+
+2001-02-09 17:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): have compatibility with old
+ stage1 (rhimage -> image)
+
+2001-02-09 17:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm,
+ interactive_newt.pm: add button handling, quite weird behaviour
+ though cuz of newt sillyness
+
+2001-02-09 16:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (formatPartitions):
+ s|etc/sysconfig/consoletrans|etc/sysconfig/console/consoletrans|
+ as it should now be (see lang.pm 1.143)
+
+2001-02-09 08:37 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-02-08 20:01 Fançois Pons
+
+ * perl-install/ftp.pm: fixed wrong URLPREFIX formation if no user
+ given.
+
+2001-02-08 17:17 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: added DRI experimental support
+ (sis, radeon). Prefer XF3 for SiS card.
+
+2001-02-08 17:16 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed problem for updating hdlist after
+ going back to partition step.
+
+2001-02-08 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/XFdrake: make sure
+ SHARE_PATH is set now in standalone
+
+2001-02-08 16:22 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fix the previous changelog wich
+ was wrong (bad spelling), added a char in comment to allow a new
+ release (thanks to pixel :-) make sure SHARE_PATH is set.
+
+2001-02-08 14:43 Fançois Pons
+
+ * perl-install/standalone/XFdrake: fixed SHARE_PATH to make sure it
+ is setted.
+
+2001-02-08 13:49 Guillaume Cottenceau
+
+ * mdk-stage1/: config-stage1.h, network.c, tools.c: better memory
+ detection (from wonderful drakx)
+
+2001-02-08 13:17 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (availableRamMB): cleanup
+
+2001-02-08 11:11 Dam's
+
+ * perl-install/standalone/: XFdrake, diskdrake, drakboot, drakgw,
+ draknet, keyboarddrake, mousedrake, printerdrake: implemented or
+ updated embedded mode
+
+2001-02-08 08:00 Dam's
+
+ * perl-install/standalone/drakgw: added embedded and (ugly) wizard
+ mode.
+
+2001-02-08 06:20 Dam's
+
+ * perl-install/standalone/XFdrake: corrected compilation bug.
+
+2001-02-08 05:51 Dam's
+
+ * perl-install/standalone/drakboot: updated embedded mode. Should
+ work, not tested in real world
+
+2001-02-08 04:15 Dam's
+
+ * perl-install/standalone/draknet: added embedded mode
+
+2001-02-08 04:14 Dam's
+
+ * perl-install/netconnect.pm: removed testing wizard instruction
+
+2001-02-08 02:49 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Norwegian file
+
+2001-02-07 21:18 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.c, automatic.h, init.c, modules.c,
+ network.c, probing.c, probing.h, stage1.c, stage1.h, tools.c: -
+ use description of network cards when you have to select between
+ interfaces; has accuracy even in the case of multiple interface
+ for a given kernel module - write down a small "shell" to change
+ parameters on the fly (needs compile option SPAWN_INTERACTIVE)
+
+2001-02-07 18:55 Fançois Pons
+
+ * perl-install/modules.pm: fixed module name without text for SCSI
+ configuration dialog, add log.
+
+2001-02-07 18:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages):
+ better fix for getting max install size.
+
+2001-02-07 18:17 Fançois Pons
+
+ * perl-install/install_any.pm: fixed unknown package ARRAY... and
+ locales selection according to langs.
+
+2001-02-07 18:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (formatXiB): more precise for cases like
+ 1_234_000 -> 1.2GB
+
+2001-02-07 17:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages): call
+ setSelectedFromCompssList with empty compssUsersChoice meaning
+ max
+
+2001-02-07 14:48 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add parted
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/logo-mandrake.xpm: xpm files should be xpm,
+ not pngs :-(
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_gtk.pm: (create_help_window,
+ create_logo_window): use gtkxpm
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (@installSteps): remove miscellaneous
+ (main): don't remove pcmcia modules anymore (not there anymore),
+ remove /sbin/stage1
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/bootloader.pm: (suggest): read CLEAN_TMP from
+ sysconfig/system, default value of memsize if given (install):
+ save CLEAN_TMP in sysconfig/system (get_append, add_append): get
+ or set an append value (has_profiles, set_profiles): get or add
+ an entry office for profiles, also add prof=Home in the default
+ entry
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (main): don't need isLaptop
+ anymore, use detect_devices::hasPCMCIA
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (setupBootloaderBefore,
+ miscellaneousBefore): remove taking care of profiles and memsize.
+ Now in any & bootloader (miscellaneousBefore): CLEAN_TMP is now
+ in $o->{bootloader}, not in $o->{miscellaneous} anymore
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (miscellaneous):
+ remove asking about numlock and hd optimizations, deprecates it
+ (aka don't do anything)
+
+2001-02-07 14:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (hasPCMCIA): created (check for
+ /proc/pcmcia)
+
+2001-02-07 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setupBootloader): take care of profiles and
+ memsize (facesnames): only display icons capitalized. This goes
+ along the new mandrake_desk where capitalized named faces are the
+ new one. [a-z].* icons being only kept for compatibility. (in
+ case no capitalized icons available display everything
+ (compatibility with old mandrake_desk)
+
+2001-02-07 14:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: remove the $isLaptop unused from a
+ hell lot of functions
+
+2001-02-07 14:45 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now
+ show 8.0
+
+2001-02-07 14:45 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: don't reverse hostname lookup if dhcp
+ already gave hostname+domain
+
+2001-02-07 14:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/: XFdrake, draknet: don't pass isLaptop
+
+2001-02-07 13:18 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-02-07 12:34 Chmouel Boudjnah
+
+ * perl-install/share/rpmsrate: Add usbd to SYSTEM.
+
+2001-02-07 11:45 Fançois Pons
+
+ * perl-install/: ftp.pm, http.pm, pkgs.pm: now fully fixed ftp
+ connection (and http too) caused by forked DrakX with latent ftp
+ connection.
+
+2001-02-07 11:35 Dam's
+
+ * perl-install/share/logo-mandrake.xpm: new logo
+
+2001-02-07 06:12 Dam's
+
+ * perl-install/netconnect.pm: updated wizard mode, intro and other
+ stuff
+
+2001-02-07 06:11 Dam's
+
+ * perl-install/: interactive.pm, interactive_gtk.pm, my_gtk.pm:
+ updated wizard mode
+
+2001-02-06 19:50 Fançois Pons
+
+ * perl-install/ftp.pm: reworked ftp behaviour a bit for cooperative
+ connection (avoid opening and closing connection too fast for
+ each transaction). There seems to be some problem for retrieving
+ twice a package, this cause huge pause between each transaction,
+ the best is to avoid them so ?
+
+2001-02-06 17:54 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, init.c, modules.c, network.c,
+ newt-frontend.c, stage1.c, stdio-frontend.c, tools.c: - slighty
+ change the message when exiting successfully from install, to not
+ mess with abnormal termination - get back dialog for hostname and
+ domain in case of unable to guess domain - try to resolve DNS if
+ self-ip can't resolve, to guess domain - remember entries so that
+ when there is a problem you don't have to re-enter everything
+ (ncurses sucking stuff in case of stdio-frontend..) - use larger
+ buffer for list_directory since in /dev there can be *many* files
+
+2001-02-05 18:51 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: Removed Device3Dfx as it is no
+ more.
+
+2001-02-05 18:50 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (create_ctree): node_moveto done
+ only if node_is_visible is not full
+
+2001-02-05 18:12 Fançois Pons
+
+ * perl-install/ftp.pm: rebuild URLPREFIX as stage1 does not provide
+ it anymore.
+
+2001-02-05 17:57 Fançois Pons
+
+ * perl-install/install_any.pm: removed abusive white char.
+
+2001-02-05 14:44 Dam's
+
+ * perl-install/: Makefile, Makefile.drakxtools: added wizard.rc
+ handling in Makfiles.
+
+2001-02-05 14:43 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/list: updated list of gconv modules
+
+2001-02-05 13:47 Fançois Pons
+
+ * perl-install/: install_any.pm, pkgs.pm: updated to use urpmi new
+ format (change fakemedium to better label)
+
+2001-02-05 12:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: (head_tail): fix usage
+
+2001-02-05 12:08 Fançois Pons
+
+ * perl-install/: install_any.pm, install_steps.pm: fixed frame
+ buffer usage if not enabled (installation of Aurora) clean up and
+ remove unused code.
+
+2001-02-05 01:17 Dam's
+
+ * perl-install/standalone/draknet: added infos recovering.
+
+2001-02-05 01:16 Dam's
+
+ * perl-install/netconnect.pm: added load_conf() to recover saved
+ infos from conffile.
+
+2001-02-04 23:33 Guillaume Cottenceau
+
+ * mdk-stage1/mar/mar-frontend.c: fix bug when creating marfiles
+ with file-not-found in args
+
+2001-02-04 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: fix adaptation to the terminal
+ size, should now work in 80x25
+
+2001-02-04 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackages):
+ don't call chooseSizeToInstall even with experts
+
+2001-02-04 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (charsetChanged): re-create
+ steps window
+
+2001-02-04 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (monitorConfiguration): better
+ handling of auto_install
+
+2001-02-03 16:01 Dam's
+
+ * perl-install/: modules.pm, netconnect.pm, standalone/draknet:
+ corrected module.conf update, net conf saving, and no wizard by
+ default.
+
+2001-02-03 12:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2001-02-03 01:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (monitorConfiguration): ease use
+ of {X}{type} in auto_installs
+
+2001-02-03 01:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: install cardmgr
+
+2001-02-03 01:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: (configure_pcmcia): cleanup
+
+2001-02-03 01:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: fix ``LOCALES "zh_CN"'' with
+ ``LOCALES"zh_CN"'' move ftp to SYSTEM so that it is installed
+
+2001-02-03 01:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (charsetChanged): created,
+ takes care of setting to the right charset the windows
+
+2001-02-03 01:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectLanguage): call
+ charsetChanged
+
+2001-02-03 01:26 Pixel <pixel at mandriva.com>
+
+ * update_kernel: - mar is still dumb when it comes to handling
+ missing files. Restore the use of $(ls $*) to remove missing one
+ - compile cardmgr until chmouel provides it in boot kernels
+
+2001-02-02 18:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: all GNOME and KDE moved out of
+ GRAPHICAL_DESKTOP
+
+2001-02-02 18:14 Dam's
+
+ * perl-install/share/wizard.rc: added rc file for wizard mode
+
+2001-02-02 17:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getCompaqSmartArray): adapted
+ getCompaqSmartArray to the fact that kernel 2.4 uses
+ /proc/driver/array instead of /proc/array. Also adapted the
+ regexp now that ida/c0d0p? is no more at the beginning of the
+ line.
+
+2001-02-02 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (get): cleanup, remove hasIDE
+ hasSCSI...
+
+2001-02-02 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): use
+ gtkxpm
+
+2001-02-02 17:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (gtkcreate_xpm): error handling with
+ error message
+
+2001-02-02 15:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator_consts.pm: add low_default_monitor for
+ default of auto_installs
+
+2001-02-02 15:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (monitorConfiguration): better
+ default for DDC probe fails and auto_install and not provided any
+ info about the monitor
+
+2001-02-02 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, diskdrake.pm, partition_table.pm,
+ partition_table_raw.pm, pkgs.pm: using the new formatXiB
+
+2001-02-02 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): in auto_installs,
+ default to all groups chosen, unless compssUsersChoice exist.
+ Won't change anything unless compssListLevel is used of course
+
+2001-02-02 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureXBefore): set
+ XKB_IN_USE=no if !$has_xkb in /etc/sysconfig/i18n
+
+2001-02-02 15:01 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/disk.c: (try_with_device): bloody guillaume changed
+ /tmp/hdimage to /tmp/disk without even telling, changing it back
+ as i don't see any good reason for the move.
+
+2001-02-02 14:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (formatXiB): created, format a number in
+ human readable format
+
+2001-02-02 05:15 Dam's
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm, netconnect.pm,
+ standalone/diskdrake, standalone/draknet: recoded wizard mode
+ corrected some stuff. trying not to break draknet for cooker
+ snapshot
+
+2001-02-02 00:06 Dam's
+
+ * perl-install/standalone/draknet: new draknet snapshot. Still
+ unuseable
+
+2001-02-01 22:27 Dam's
+
+ * perl-install/: interactive_gtk.pm, my_gtk.pm, netconnect.pm:
+ updated embedded mode in install.
+
+2001-01-31 19:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: (get_net_device): more cleanup syntax
+
+2001-01-31 19:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: (get_net_device): cleanup syntax
+
+2001-01-31 18:35 Fançois Pons
+
+ * perl-install/pkgs.pm: added rpmrebuilddb directory cleaning
+ before, remove old rpm file if everything has been successfull.
+
+2001-01-31 18:34 Fançois Pons
+
+ * perl-install/modules.pm: added missing die if modprobe failed on
+ live upgrade.
+
+2001-01-31 18:34 Fançois Pons
+
+ * perl-install/install_steps.pm: changed to clean selection for non
+ expert as used for group selection because it is not cleaned,
+ need better solution TODO.
+
+2001-01-31 17:15 Dam's
+
+ * perl-install/standalone/draknet: corected translation and
+ conflict.
+
+2001-01-31 16:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated pot file
+
+2001-01-31 15:12 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/standalone/draknet: Fixed English typos (in English
+ you DON'T PUT SPACES BEFORE COLON (:); and it is "Profile" and
+ not "Profil") CV:
+ ----------------------------------------------------------------------
+
+2001-01-31 12:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: restore window size for time
+ being
+
+2001-01-31 12:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (selectLanguage): warning for
+ debug (miscellaneousBefore): don't use installClass to decide to
+ use supermount or not. Choice is done on $::corporate. Can't say
+ "no supermount in server installs" anymore (selectInstallClass):
+ emptied (setupSCSI): don't configure PCMCIA if there is no PCMCIA
+
+2001-01-31 12:46 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (choosePackagesTree):
+ created, simple ask_many_from_list to choose individual packages
+ (choosePackages): log for debug (choosePackages): don't ask to
+ install in beginner. Max is chosen (setRootPassword): help not
+ based on installClass being server or not (selectInstallClass):
+ remove installClass choice (was normal/devel/server)
+ (chooseGroups): fix for individual package selection flag
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (main): better error message for
+ auto_install failing
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): don't set installClass=normal
+ meta_class desktop (deprecated) (miscellaneous): TYPE= removed
+ (was installClass) (selectInstallClass): don't set
+ $o->{partitions}. diskdrake will have to ask in a set of
+ possibilities ($o): replace fclass by fbeginner and fexpert ($o):
+ default security level to 2 since it can't be based on
+ installClass (deprecated)
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (set_autologin): log to ensure AUTOLOGIN is
+ not badly set by drakx. Still need finding the guilty
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): installClass
+ removed (setPackages): do not preselect compssUsers entries
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_many_from_list): fix sorting
+
+2001-01-31 12:45 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (psUpdateHdlistsDeps): also copy rpmsrate
+
+2001-01-31 08:58 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/rc.sysinit: add modprobe'ing of loop
+
+2001-01-31 07:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: more kbd corrections
+
+2001-01-31 06:58 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/keyboard.pm: fixed soem keybopard values
+
+2001-01-30 22:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (detect): replace commands::modprobe by
+ modules::load as it should (or??)
+
+2001-01-30 22:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/raid.pm: (make): replace commands::modprobe by
+ modules::load as it should (or??)
+
+2001-01-30 22:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2fcalls: (@exclude_calls): add Eth as dam's use
+ it quite a lot in his regexps
+
+2001-01-30 19:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_interactive.pm,
+ install_steps_interactive.pm, netconnect.pm: adapt format
+ functions given to ask_from_listf. $_ is no more set
+
+2001-01-30 19:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/perl2etags: adapt to new etags (emacs 21) format
+
+2001-01-30 19:15 Dam's
+
+ * perl-install/netconnect.pm: updated
+
+2001-01-30 16:53 Dam's
+
+ * perl-install/standalone/draknet: new draknet. unstable
+
+2001-01-30 16:46 Guillaume Cottenceau
+
+ * perl-install/share/rpmsrate: add ldetect to config stuff I want
+ to have on all installs (lspcidrake)
+
+2001-01-30 15:23 Dam's
+
+ * perl-install/netconnect.pm: debugged network card configuration
+ after pixelisation.
+
+2001-01-30 14:30 Guillaume Cottenceau
+
+ * rescue/: list, make_rescue_img: fix packdrake perl dependencies
+
+2001-01-30 14:29 Guillaume Cottenceau
+
+ * mdk-stage1/: newt-frontend.c, stdio-frontend.c: prevent from
+ trying to set progressbar to more than 100% (rescue is more
+ compressed than drakx)
+
+2001-01-30 00:49 Guillaume Cottenceau
+
+ * Makefile: have perl-install be make'd sooner in order to succeed
+ with update_kernel
+
+2001-01-29 23:24 Dam's
+
+ * perl-install/standalone/drakboot: corrected typo
+
+2001-01-29 20:11 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, update_kernel, docs/README,
+ perl-install/modules.pm: - deprecate "hdreiser.img" since we have
+ room for "reiserfs.o" in "hd.img" - following deprecation of
+ "other.img", reintegrate big modules in relevant boot disks
+
+2001-01-29 17:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: lang.pm, share/po/et.po: updated Estonian file
+
+2001-01-29 14:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (getCompaqSmartArray):
+ /proc/array/ida0 can contain more than one ida/c0d0p*
+
+2001-01-29 12:00 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): mdkinst_stage2 is now bzip2'ed, so upload
+ *_stage2.bz2 instead of *_stage2.gz
+
+2001-01-29 00:51 Dam's
+
+ * perl-install/: ChangeLog, netconnect.pm, network.pm,
+ share/help.xpm: updated
+
+2001-01-29 00:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (choosePartitionsToFormat): fixed horrible bug causing reiserfs
+ partitions not to be displayed/asked for formatting. The default
+ value being used.
+
+2001-01-29 00:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (get_autologin): adapt to new format of
+ sysconfig/desktop
+
+2001-01-28 15:25 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: new german version
+
+2001-01-26 20:15 Guillaume Cottenceau
+
+ * rescue/.cvsignore, rescue/Makefile, rescue/make_rescue_img,
+ tools/make_mdkinst_stage2: second stage ramdisk (install &
+ rescue) now must be bzipped, and not gzipped
+
+2001-01-26 19:26 Dam's
+
+ * perl-install/standalone/drakboot: added embedded mode
+
+2001-01-26 19:21 Dam's
+
+ * perl-install/interactive_gtk.pm: updated embedded mode
+
+2001-01-26 18:57 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: comply to new "mar -l"
+ format
+
+2001-01-26 18:52 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, modules.c, tools.c, bzlib/Makefile,
+ bzlib/blocksort.c, bzlib/bzlib.c, bzlib/bzlib_private.h,
+ bzlib/compress.c, bzlib/crctable.c, bzlib/decompress.c,
+ bzlib/huffman.c, bzlib/randtable.c: - use bzlib instead of zlib
+ to reduce overall size - take home my own bzlib code to (1)
+ reduce code size with good compile options (2) make it compile
+ and link against dietlibc
+
+2001-01-26 18:46 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: Makefile, mar-extract-only.c,
+ mar-extract-only.h, mar-frontend.c, mar.h: mar now uses bzlib, no
+ more zlib
+
+2001-01-26 18:44 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: restore passing of pcmcia info to stage2
+
+2001-01-26 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: (ask_from_entries_refW): major
+ rework for new format, still need work (ask_from_entries_refW):
+ use NEWT_FLAG_PASSWORD (aka 1<<11) instead of NEWT_FLAG_HIDDEN
+ (myTextbox): wrap the text if needed (myTextbox): use a vertical
+ scrollbar if needed
+
+2001-01-26 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): prepare for
+ advertising...
+
+2001-01-26 01:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/Newt/Newt.xs: (newtFormAddGrid): new name for
+ newtGridAddComponentsToForm, swap parameters for much better
+ understanding (newtListboxGetCurrent): returns a SV (together
+ with newtListboxAddEntry) (newtListboxAddEntry): data is now a SV
+
+2001-01-26 00:28 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: Waw, italian translator is very fast
+ :)
+
+2001-01-26 00:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: id.po, it.po: updated Indonesian and
+ Italian fiels
+
+2001-01-25 23:41 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: fixed LANGUAGE for mk locale
+
+2001-01-25 18:52 Guillaume Cottenceau
+
+ * update_kernel, mdk-stage1/stage1.c: - mdk-stage1: now linux-2.4
+ uses floppy.o to access floppy drives - remove fat/vfat modules
+ from some boot floppies now that we don't need it anymore
+
+2001-01-25 17:30 Guillaume Cottenceau
+
+ * docs/: HACKING, README, TODO, mdk-vs-redhat: update docs
+
+2001-01-25 16:13 Guillaume Cottenceau
+
+ * mdk-stage1/: probing.c, probing.h: better tightness of probing
+ stuff
+
+2001-01-25 16:06 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: print warning message when insmod of
+ PCI-detected device fails
+
+2001-01-25 15:27 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: re-integrate autoprobe
+ of tulip network cards, kernel-2.4 has strange way to classify
+ some of its net modules..
+
+2001-01-25 12:36 Guillaume Cottenceau
+
+ * mdk-stage1/stage1-data/stage1.tar.bz2: restore symlink /sbin/sh
+ -> /usr/bin/sh for stage2
+
+2001-01-25 12:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (spawnShell): fix error message
+
+2001-01-25 04:09 Dam's
+
+ * perl-install/network.pm: display ethernet module
+
+2001-01-25 04:09 Dam's
+
+ * perl-install/netconnect.pm: network informations filled into
+ $prefix/var/lib/naat/configuration
+
+2001-01-25 04:08 Dam's
+
+ * perl-install/install_steps_interactive.pm: don't oblige user
+ addition
+
+2001-01-25 04:07 Dam's
+
+ * perl-install/install2.pm: disable steps 'packages choice',
+ 'configure X', and 'configure' 'printer'
+
+2001-01-25 00:33 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, update_kernel, mdk-stage1/Makefile,
+ mdk-stage1/pcmcia_config.patch, mdk-stage1/stage1.c: stage1: add
+ pcmcia
+
+2001-01-25 00:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: better documentation of
+ ask_from_entries_refH features (entry)
+
+2001-01-25 00:03 Guillaume Cottenceau
+
+ * mdk-stage1/stage1-data/stage1.tar.bz2: - clean up deprecated
+ symlinks (insmod, rmmod, cardmgr) - remove unecessary device
+ files
+
+2001-01-25 00:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): cleanup
+
+2001-01-25 00:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (%types): s|Compaq|Compaq/HP|
+ per request of fpitoun
+
+2001-01-24 12:08 Guillaume Cottenceau
+
+ * docs/README: - fix anonymous CVS - fix gendistrib - fix multi-cd
+ installs - comply to mdk-stage1 - rpmsrate - now stage2 ramdisk
+ is no more 14 Mb but 22 Mb ;-)
+
+2001-01-24 00:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po,
+ tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: updated
+ Greek file
+
+2001-01-23 00:25 Dam's
+
+ * perl-install/: install_steps_interactive.pm, netconnect.pm:
+ corrected slide bar, and added network conf save in
+ /root/networking.tmp
+
+2001-01-22 23:34 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: add automatic support in choice of NET
+ device, in case of multiple NET devices
+
+2001-01-22 19:23 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: netconnect.pm, share/po/af.po, share/po/az.po,
+ share/po/be.po, share/po/bg.po, share/po/br.po, share/po/ca.po,
+ share/po/cs.po, share/po/cy.po, share/po/da.po, share/po/de.po,
+ share/po/el.po, share/po/eo.po, share/po/es.po, share/po/et.po,
+ share/po/eu.po, share/po/fi.po, share/po/fr.po, share/po/ga.po,
+ share/po/gl.po, share/po/hr.po, share/po/hu.po, share/po/is.po,
+ share/po/it.po, share/po/ja.po, share/po/ko.po, share/po/lt.po,
+ share/po/lv.po, share/po/nl.po, share/po/no.po, share/po/pl.po,
+ share/po/pt.po, share/po/pt_BR.po, share/po/ro.po,
+ share/po/ru.po, share/po/sk.po, share/po/sl.po, share/po/sp.po,
+ share/po/sr.po, share/po/sv.po, share/po/th.po, share/po/tr.po,
+ share/po/uk.po, share/po/wa.po, share/po/zh_CN.GB2312.po,
+ share/po/zh_TW.Big5.po: updated po files
+
+2001-01-22 19:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, wa.po: updated pot file
+
+2001-01-22 18:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: install2.pm, lang.pm: fixed the places where
+ console fonts and related files are put under /etc/sysconfig to
+ the places really used by console-tools
+
+2001-01-22 17:38 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): tools/mailchangelog.pl done in background
+
+2001-01-22 17:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (read_rpmsrate): if $packages is undef,
+ ignore it. That way, read_rpmsrate can be called standalone.
+
+2001-01-22 13:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, any.pm, diskdrake.pm,
+ install2.pm, install_any.pm, install_interactive.pm,
+ install_steps_interactive.pm, my_gtk.pm, netconnect.pm,
+ network.pm, partition_table.pm, printerdrake.pm: $::beginner is
+ deprecated, replaced by !$::expert
+
+2001-01-22 12:30 Guillaume Cottenceau
+
+ * mdk-stage1/: dhcp.c, modules.c, network.c, stage1.c: consistent
+ dot-terminated error messages, consistent no-dot log messages
+
+2001-01-22 12:25 Guillaume Cottenceau
+
+ * mdk-stage1/network.c: re-put Netmask input per default (void
+ entry -> automatic guess)
+
+2001-01-22 11:53 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/id.po: updated Indonesian file
+
+2001-01-22 11:38 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/hr.po: updated Croatian file
+
+2001-01-22 00:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (create_ctree): fix case with
+ formatted list
+
+2001-01-22 00:40 Guillaume Cottenceau
+
+ * mdk-stage1/: network.c, url.c: allow providing void password in
+ network/ftp installs
+
+2001-01-21 23:41 Guillaume Cottenceau
+
+ * mdk-stage1/: nfsmount.c, stage1.c: fix remaining perror's
+
+2001-01-21 22:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, pt_BR.po: updated Danish and
+ Brazilian files
+
+2001-01-21 21:00 Guillaume Cottenceau
+
+ * mdk-stage1/stage1.c: - better msg in fatal errors - do not
+ include code to spawn a shell for releases
+
+2001-01-21 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectMouse): use
+ ask_from_treelist_
+
+2001-01-21 19:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_treelist_): created, split
+ with the separator, call translate on words, then re-join.
+
+2001-01-19 13:32 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed unselect group
+ and inoperant individual package selection.
+
+2001-01-19 11:34 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: removed expert mode
+ and install class.
+
+2001-01-19 11:03 Fançois Pons
+
+ * perl-install/install_any.pm: fixes for CD not changeable.
+
+2001-01-18 16:23 Fançois Pons
+
+ * perl-install/live_install: update live install to match
+ /tmp/image instead of /tmp/rhimage.
+
+2001-01-18 15:02 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: make sure no ratio above 1 can
+ occur, still need to see why as it happens on
+ install-abort-choices-install or
+ install-abort-choices-fs-format(none)-choices-install
+
+2001-01-18 14:35 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed obligation of relative large
+ install, now minimum is lesser.
+
+2001-01-17 19:22 Fançois Pons
+
+ * tools/Makefile: forget to change install rules.
+
+2001-01-17 19:18 Fançois Pons
+
+ * tools/Makefile: updated to use gendistrib of newer rpmtools.
+
+2001-01-17 19:17 Fançois Pons
+
+ * perl-install/: install_any.pm, install_steps.pm: fixes with
+ /tmp/rhimage and /tmp/image.
+
+2001-01-17 19:17 Fançois Pons
+
+ * perl-install/install2.pm: fixes with /tmp/rhimage and /tmp/image
+
+2001-01-17 19:16 Fançois Pons
+
+ * perl-install/pkgs.pm: update to use new header file format in
+ hdlist (added arch) but depslist has not it...
+
+2001-01-16 15:50 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/bg.po: updated bulgarian file
+
+2001-01-12 23:46 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, modules.c, modules.h, stage1.c, tools.c,
+ tools.h: - add load of third party modules in Expert mode (PS
+ rulz)
+
+2001-01-12 23:43 Guillaume Cottenceau
+
+ * mdk-stage1/url.c: use strrchr instead of doing it by hand
+
+2001-01-12 23:42 Guillaume Cottenceau
+
+ * mdk-stage1/stage1-data/: stage1-with-sash.tar.bz2,
+ stage1.tar.bz2: add /dev/fd0
+
+2001-01-12 23:41 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/: busybox.h, insmod.c, utility.c: -
+ replace remaining perror's with log_perror's - little code
+ cleanup
+
+2001-01-12 18:09 Stefan Siegel <siegel at linux-mandrake.com>
+
+ * perl-install/share/po/de.po: updates
+
+2001-01-12 16:46 Fançois Pons
+
+ * make_boot_img: very light reorganization and sample automatic
+ network disk entry for ackbar.
+
+2001-01-12 16:07 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: add more memory carefulness with CDROM
+ install
+
+2001-01-12 16:03 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: make lang list in format for tree-selector
+
+2001-01-12 15:56 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed addUser for
+ invocation of any::ask_users.
+
+2001-01-12 15:43 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: - add wait_message for initializing of
+ CDROM's (it can be long when it's SCSI) - print CDROM drive names
+ (model) in dialogs
+
+2001-01-12 15:19 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, lomount.c, mount.c: - fix behaviour with bad
+ ISO images (DISK installs) - better dialogs for DISK installs
+
+2001-01-12 14:30 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: fixed bad invocation
+ of installation of X server.
+
+2001-01-12 13:51 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: improved locale dependency for
+ chinese
+
+2001-01-12 00:31 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, lomount.c: fix failing umount for DISK
+ installs in some failing loopback situations
+
+2001-01-12 00:10 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: close some fd's
+
+2001-01-11 23:50 Guillaume Cottenceau
+
+ * mdk-stage1/lomount.c: better log messages
+
+2001-01-11 23:48 Guillaume Cottenceau
+
+ * mdk-stage1/: modules.c, modules.h, stage1.c: polish generic
+ blank.img situation (no modules and/or modules.dep available)
+
+2001-01-11 23:25 Guillaume Cottenceau
+
+ * mdk-stage1/disk.c: act nicely when no partitions are found on
+ some disk
+
+2001-01-11 23:13 Guillaume Cottenceau
+
+ * mdk-stage1/: lomount.c, modules.c, stage1.c: continue anyway when
+ insmod'ing of modules fail (for blank.img)
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * Makefile: (RELEASE_BOOT_IMG): mdk-stage1 rulez :)
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * tools/addchangelog.pl: fix regexp for retrieving the new revision
+ of ChangeLog
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (addUser): fix
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: adduserdrake may handles
+ autologin
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): set autologin
+
+2001-01-11 21:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (addUser): moved setAuthentication to
+ install_steps::addUser
+
+2001-01-11 20:11 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, disk.c, hack, lomount.c, lomount.h: - add
+ DISK install from ISO image file
+
+2001-01-11 20:05 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/Config.h: tweak config
+
+2001-01-11 19:21 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, config-stage1.h, disk.c,
+ network.c, newt-frontend.c, stage1.c, stage1.h, stdio-frontend.c,
+ tools.c, tools.h: - add FTP - add HTTP - use single place for
+ mountpoints and static directories
+
+2001-01-11 16:54 Dam's
+
+ * Makefile, update_kernel, perl-install/ChangeLog,
+ perl-install/install_steps.pm,
+ perl-install/install_steps_interactive.pm,
+ perl-install/netconnect.pm: updated
+
+2001-01-11 15:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (create_ctree): fix default
+ value selecting failing (in case of "format")
+
+2001-01-11 13:51 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: (initrd): s/tar xyC/tar xjC/
+
+2001-01-11 13:47 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: remove nasty messages
+ when mar or marfiles not available to perform consistency check
+
+2001-01-11 13:41 Pixel <pixel at mandriva.com>
+
+ * Makefile: (dirs): "make all" in dirs so that mdk-stage1 can have
+ a different behaviour
+
+2001-01-11 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfig.pm: (getinfoFromDDC): removed
+ devices::make("/dev/zero") (now in install2::main)
+
+2001-01-11 13:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): move devices::make("/dev/zero")
+ needed by ddcxinfos here
+
+2001-01-11 12:54 Pixel <pixel at mandriva.com>
+
+ * tools/mailchangelog.pl: fix subject
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (g_auto_install): deep copy of
+ $o->{users} because we're modifying it
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (addUser): use
+ any::ask_users
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): apply
+ "format" on label when icon is missing for iconlist
+ (ask_from_entries_refW): handle "canceled" callback. Permits to
+ overrule the cancel.
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: use any::ask_users
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (configureX): call directly
+ $o->pkg_install, no need to add 'XFree86-' at the beginning
+ (addUser): use any::write_passwd_user (setRootPassword): use
+ any::write_passwd_user (configureX): fix bad $install given to
+ Xconfigurator::main
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (main): third argument is a function to
+ call before leaving in case of "cancel" clicked.
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): "canceled" callback
+ defaults to "sub { 0 }"
+
+2001-01-11 12:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (write_passwd_user): add or update an entry
+ in /etc/passwd (ask_users): created, interactively ask users to
+ add (used in adduserdrake and install) (allocUsers, addUsers):
+ changed the prototype (setupBootloader): grep out fat partitions
+ for the "Boot device" propositions (people are too stupid)
+
+2001-01-11 01:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (autologin): moved to package any
+
+2001-01-11 01:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile.config: (STANDALONEPMS): remove netdrake
+ (which is deprecated)
+
+2001-01-10 15:02 Pixel <pixel at mandriva.com>
+
+ * docs/README: small update
+
+2001-01-10 15:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: (cardConfiguration): adapt for
+ $install which is generic (autologin): use $install which is now
+ generic
+
+2001-01-10 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): use any::pack_passwd
+ (setRootPassword): use any::unpack_passwd and any::pack_passwd
+
+2001-01-10 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): add
+ handling of 'changed' callback on clist/list/ctree
+
+2001-01-10 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectLanguage):
+ many_languages choice moved there as advanced
+
+2001-01-10 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_packtable): yet another try to
+ have something nice :) !! uses Gtk::Table::attach_raw which is
+ available in perl-GTK-0.7004-6mdk !! (create_box_with_title):
+ with the size given to set_usize for the scroll containing the
+ text widget in case of long text. and don't let the scroll grow.
+ (gtktext_insert): remove adding an ending "\n" (no more needed?)
+
+2001-01-10 15:01 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (setAutologin): cleanup (pack_passwd,
+ unpack_passwd): created
+
+2001-01-10 13:43 Guillaume Cottenceau
+
+ * update_kernel: mar no more stops on file-not-founds
+
+2001-01-10 13:42 Guillaume Cottenceau
+
+ * perl-install/modules.pm: fix modules.pm for modules to be skept
+ in stage1 (ppa, imm, parport*, plip)
+
+2001-01-10 12:38 Dam's
+
+ * perl-install/install_steps_interactive.pm: corrected last message
+ . firewall
+
+2001-01-10 01:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/: standalone.pm, standalone/XFdrake,
+ standalone/diskdrake, standalone/drakboot, standalone/drakgw,
+ standalone/draknet, standalone/draknet2, standalone/draksec,
+ standalone/drakxconf, standalone/drakxservices,
+ standalone/keyboarddrake, standalone/livedrake,
+ standalone/mousedrake, standalone/netdrake,
+ standalone/printerdrake, standalone/adduserdrake: use standalone
+ and standalone::pkgs_install
+
+2001-01-10 00:34 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): addchangelog.pl called before doing the "make
+ install" so that new ChangeLog is commited when doing the "make
+ install".
+
+2001-01-10 00:34 Pixel <pixel at mandriva.com>
+
+ * tools/cvslog2changelog.pl: (auto_fill): indent lines beginning
+ with '-'
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * tools/addchangelog.pl: - hide the output of cvs commit ChangeLog
+ - give the revision of ChangeLog (aka DrakX version) to output
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * tools/mailchangelog.pl: DrakX version in the subject added
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (choosePartitionsToFormat): handle "check for bad blocks" as
+ advanced (setRootPassword): remove choosing non-md5 or non-shadow
+ passwords.
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (selectLanguage): $o->{langs} is
+ now a ref so initialize as such
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm:
+ (ask_from_entries_refH_powered_normalize): field "disabled"
+ added, "advanced_messages" added
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/my_gtk.pm: (create_packtable): no_expand option
+ added
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): log::l the drakx_version
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: (get_needed_files): generate
+ /usr/share/VERSION which contains the version of ChangeLog (which
+ is updated at each upload)
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (langs): created (transform the $o->{langs}
+ hash ref in a list) (pack_langs): use lang::langs
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (drakx_version): nicer (4gc)
+
+2001-01-10 00:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (setPackages): use lang::langs
+ instead of using $o->{langs} as a array ref (it is not so
+ anymore) (spawnShell): print the drakx_version
+
+2001-01-09 23:59 Pixel <pixel at mandriva.com>
+
+ * ChangeLog: deprecated
+
+2001-01-09 18:33 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW):
+ advanced window is below ok/cancel and not shown then hidden so
+ that window size is smaller.
+
+2001-01-09 17:53 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, disk.c, network.c, stage1.h: - disk install
+ can now load the second stage ramdisk, included pixel's readlink
+ test to cut vfat problems - disabled TOCHECK's for
+ rescue/umounting stuff
+
+2001-01-09 15:39 Dam's
+
+ * perl-install/install_steps_interactive.pm: corrected last message
+ in firewall install
+
+2001-01-09 15:32 Dam's
+
+ * perl-install/modules.pm: synchrnisation
+
+2001-01-09 15:29 Dam's
+
+ * perl-install/netconnect.pm: added default LAN configuration.
+
+2001-01-09 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_entries_refW): focus
+ on cancel button if asked for (with $common->{focus_cancel})
+
+2001-01-09 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (miscellaneousBefore): cleanup
+
+2001-01-09 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (miscellaneous):
+ accept xxxK memsize
+
+2001-01-09 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): add
+ focus_cancel set if defaults to second element of the list (for a
+ 2 element list)
+
+2001-01-09 13:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getHds): if testing, don't
+ test_for_bad_drives
+
+2001-01-09 13:10 Guillaume Cottenceau
+
+ * mdk-stage1/: disk.c, network.c: - use clearer messages
+ (s/Installation/Distribution/g and some more) - prints partition
+ sizes in Mbytes - prints extract of partition contents on failure
+ of some DISK steps
+
+2001-01-09 00:00 Guillaume Cottenceau
+
+ * mdk-stage1/probing.c: fix naming of multiple SCSI devices, thanks
+ to Franco Silvestro
+
+2001-01-08 19:31 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, dhcp.c, dhcp.h, network.c, network.h: -
+ add dhcp - save network information for stage2
+
+2001-01-08 19:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-08 19:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/: interactive.pm, interactive_gtk.pm, my_gtk.pm:
+ fixes
+
+2001-01-08 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_treelistW): removed
+ (create_ctree): created, used for ``type => treelist'' entries
+
+2001-01-08 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_treelistf,
+ ask_from_treelist): now use ask_from_entries_refH
+ (ask_from_entries_refH_powered): remove "1;" (was there for
+ debugging)
+
+2001-01-08 14:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-08 13:48 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: remove disable swap
+
+2001-01-07 20:06 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: cs.po, no.po, sp.po, sr.po: updated
+ Czech, Norwegian and Serbian files
+
+2001-01-07 17:53 Pixel <pixel at mandriva.com>
+
+ * perl-install/: any.pm, install_steps_interactive.pm,
+ interactive.pm, printerdrake.pm: update code for new
+ ask_from_entries_refH which doesn't handle optional ok/cancel
+ names in arg 1. must be handled via
+ ask_from_entries_refH_powered
+
+2001-01-07 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_gtk.pm: (ask_from_listW): removed
+ (create_list): calls "format" on list elems before prompting them
+ (create_clist): created (ask_from_entries_refW): calls
+ create_clist in case of list with no help
+
+2001-01-07 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectLanguage,
+ selectKeyboard): use ask_from_entries_refH instead of
+ ask_from_listf_, it enables the use of advanced
+
+2001-01-07 15:54 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive.pm: (ask_from_listf_no_check): replaces
+ ask_from_list_no_check (ask_from_entries_refH_powered): sorts the
+ list if needed or wanted
+
+2001-01-07 15:49 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): autoflush
+ stdout before beeping
+
+2001-01-07 15:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (installPackages): don't take
+ into account the time when prompting the user
+
+2001-01-07 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (may_apply): added
+
+2001-01-07 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table_raw.pm: (test_for_bad_drives):
+ created - ugly stuff needed mainly for Western Digital IDE drives
+ - try writing what we've just read, yells if it fails - testing
+ on last sector of head #0 (unused in 99% cases)
+
+2001-01-07 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (getHds): test_for_bad_drives called
+ on hard drives (getHds): ensure $o->{hds} is not set until the
+ hard drives are checked
+
+2001-01-07 01:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/ftp.pm: (getFile): make it work (it used to
+ dead-loop when getFile'ing an non-existent file, stressing the
+ ftp server :-/ )
+
+2001-01-07 01:40 Pixel <pixel at mandriva.com>
+
+ * Makefile, perl-install/ftp.pm, perl-install/install_steps.pm: for
+ the moment, just release cdrom.img, hd.img and hdreiser.img
+ others should should come...
+
+2001-01-07 00:29 Guillaume Cottenceau
+
+ * mdk-stage1/: cdrom.c, disk.c, modules.c, modules.h, mount.c,
+ network.c, probing.c, probing.h: uglyfy my shiny modules-loading
+ code to save some stuff in /etc/modules.conf (scsi, net, modules
+ options)
+
+2001-01-06 22:35 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: support both 2.2 and
+ 2.4
+
+2001-01-06 22:34 Guillaume Cottenceau
+
+ * mdk-stage1/Makefile: fix many dependencies include .depend stuff
+
+2001-01-06 22:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-06 22:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-06 22:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-06 21:40 Guillaume Cottenceau
+
+ * mdk-stage1/mar/mar-frontend.c: tolerate file not found at
+ creation of archives
+
+2001-01-06 21:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-06 21:08 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2001-01-06 20:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (setup): don't xmodmap if DISPLAY is
+ unset
+
+2001-01-06 19:03 Pixel <pixel at mandriva.com>
+
+ * update_kernel: - use $(ls $*) instead of $* before giving args to
+ mar otherwise mar stops on missing files, which is no good. - do
+ not generate modules.cpio.bz2 any more, it is unsused and
+ deprecated by modules.cz
+
+2001-01-06 18:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Xconfigurator.pm, any.pm,
+ diskdrake.pm, install_interactive.pm,
+ install_steps_interactive.pm, netconnect.pm, network.pm,
+ printerdrake.pm, standalone/adduserdrake: ask_from_entries_refH
+ parameter format has changed so change all accesses to it.
+
+2001-01-06 18:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/rpmdrake: deprecated (and has been for a
+ long time now)
+
+2001-01-05 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Xconfigurator.pm, diskdrake.pm,
+ install_steps_interactive.pm, interactive.pm, interactive_gtk.pm,
+ my_gtk.pm, network.pm, printerdrake.pm: move to new ask_from's: -
+ ask_from_entries_ref is deprecated, use ask_from_entries_refH -
+ ask_from_list now calls ask_from_entries_refH_powered
+
+ still not done: - ask_from_treelist should use
+ ask_from_entries_refH_powered, and lists with no help should use
+ CList (List is bad) - keyboard and mouse binding is still rough -
+ enhance the look
+
+2001-01-05 18:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: help cperl-mode
+
+2001-01-05 18:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: add the percentage of each keyboard
+ types (as a comment for now)
+
+2001-01-05 17:54 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: use of SHARE_PATH for MonitorsDB,
+ Cards+, CardsNames
+
+2001-01-05 17:41 Fançois Pons
+
+ * perl-install/live_install: no more copy of files on live system,
+ now use environment variable by DrakX cleanup
+
+2001-01-05 17:41 Fançois Pons
+
+ * perl-install/live_install2: cleanup to keep libperl.so but the
+ right one
+
+2001-01-05 17:05 Fançois Pons
+
+ * rescue/: list.ppc, list.alpha, list.sparc, list.i386, list:
+ update with current cooker
+
+2001-01-05 16:25 Fançois Pons
+
+ * perl-install/: lang.pm, keyboard.pm: forget _exit in child
+ process after a fork of DrakX
+
+2001-01-05 16:25 Fançois Pons
+
+ * perl-install/modules.pm: eval insmoding ide-cd (just in case)
+
+2001-01-05 14:13 Guillaume Cottenceau
+
+ * mdk-stage1/tools.c: do not need malloc padding anymore since
+ dietlibc malloc is fixed now
+
+2001-01-05 12:58 Fançois Pons
+
+ * perl-install/: commands.pm, install_any.pm, keyboard.pm, lang.pm,
+ modules.pm, pkgs.pm: removed need of packdrake binary
+
+2001-01-05 11:53 Fançois Pons
+
+ * perl-install/perl2fcalls: added packdrake call (via new but
+ incomplete) and package
+
+2001-01-05 11:52 Fançois Pons
+
+ * perl-install/netconnect.pm: fixed syntax error
+
+2001-01-05 09:56 Fançois Pons
+
+ * Makefile: restored Makefile capabilities of building
+
+2001-01-05 04:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, ca.po, ja.po: updated Azeri,
+ Catalan and Japanese files
+
+2001-01-04 22:30 Dam's
+
+ * perl-install/netconnect.pm: cleaned... everything should be
+ buggy.
+
+2001-01-04 22:17 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: remove confusing **temp** stuff
+
+2001-01-04 22:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (setRootPassword): fix
+ pixelization
+
+2001-01-04 22:07 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (%EXPORT_TAGS): add if_ in "common"
+ exported tags
+
+2001-01-04 21:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: nl keyboard is not used, so defaults to
+ us_intl
+
+2001-01-04 21:04 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, Makefile.common, hack, probing.c,
+ stage1.c, stdio-frontend.c, tools.c, insmod-busybox/Makefile,
+ insmod-busybox/busybox.h, insmod-busybox/insmod.c,
+ insmod-busybox/utility.c, mar/Makefile: integrate dietlibc/stdio
+ per default for cdrom and disk only installs
+
+2001-01-04 20:34 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, lang.pm, pkgs.pm: keep $o->{langs}
+ unpacked to simplify things
+
+2001-01-04 19:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: install_any.pm, lang.pm: fixed the functions doing
+ the lists of languages
+
+2001-01-04 19:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: if_ pixelization
+
+2001-01-04 18:52 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: some pixelization using the new
+ if_
+
+2001-01-04 18:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/common.pm: (if_): created. Use it to replace things
+ like ($::expert ? $val : ()) by if_($::expert, $val)
+
+2001-01-04 18:16 Pixel <pixel at mandriva.com>
+
+ * Makefile: (upload): also upload rpmsrate
+
+2001-01-04 17:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: The list of languages now has complete
+ locale names insted of just language code (that is needed to
+ differentiate zh_CN and zh_TW among others)
+
+2001-01-04 16:56 Guillaume Cottenceau
+
+ * make_boot_img: do not use graphicallogo for hdreiser neither
+
+2001-01-04 16:31 Guillaume Cottenceau
+
+ * mdk-stage1/init.c: fix english thanx to emma
+
+2001-01-04 16:31 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed some old $p->{file} by new
+ $p->[$FILE]
+
+2001-01-04 16:25 Guillaume Cottenceau
+
+ * update_kernel: re-integrate reiserfs.o gracias to
+ kernel-2.4-boot2
+
+2001-01-04 13:02 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eu.po: updated Basque file
+
+2001-01-04 12:04 Fançois Pons
+
+ * perl-install/pkgs.pm: code cleanup and fixes for lilo not upgrade
+
+2001-01-04 08:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Brazilian file
+
+2001-01-04 02:32 Pixel <pixel at mandriva.com>
+
+ * perl-install/netconnect.pm: quite a few clean-up (and buggying)
+
+2001-01-03 18:33 Fançois Pons
+
+ * perl-install/partition_table.pm: fixed overlapping partitions
+ between one extended and one regular primary. should be accepted
+ (log printed instead of error) as diskdrake allow their creation
+ in expert.
+
+2001-01-03 18:32 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed some other services to start
+ in case something gets wrong, this fixes some deadlock on upgrade
+ from 7.0.
+
+2001-01-03 16:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: locales in glibc 2.2 format
+
+2001-01-03 15:15 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): move the setting of PATH and
+ spawnShell *after* setting $prefix
+
+2001-01-03 13:37 Guillaume Cottenceau
+
+ * update_kernel, perl-install/modules.pm: add checks of
+ dependencies on marfiles fix a couple of broken dependencies in
+ modules.pm
+
+2001-01-03 12:39 Guillaume Cottenceau
+
+ * mdk-stage1/.cvsignore: really do it
+
+2001-01-03 12:20 Dam's
+
+ * perl-install/netconnect.pm: corrected typo
+
+2001-01-03 12:15 Dam's
+
+ * perl-install/netconnect.pm: LAN is configured with default value
+ if firewall
+
+2001-01-03 12:15 Dam's
+
+ * perl-install/install_steps_interactive.pm: admin user removed
+ before beeing added
+
+2001-01-03 11:15 Fançois Pons
+
+ * perl-install/: install2.pm, install_steps.pm: fixed usage with
+ testing
+
+2001-01-03 11:14 Fançois Pons
+
+ * perl-install/diskdrake.pm: fixed invocation of change_type by
+ clicking on legend unless expert
+
+2001-01-03 00:45 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: use more readable
+ warning messages for missing modules between pci-ids and files
+ actually in marfiles
+
+2001-01-03 00:40 Guillaume Cottenceau
+
+ * mdk-stage1/: log.c, log.h, modules.c: support load of modules
+ with parameters when insmod failed without parameter and user
+ asks for it
+
+2001-01-03 00:38 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/: insmod.c, insmod.h, utility.c:
+ vacances: - be consistent so that every error messages do not end
+ up with a newline. smaller code + consistency. - support insmod
+ calls with parameters given to the kernel (ISA boards and so
+ on..)
+
+2001-01-03 00:32 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: vacances: - honour
+ kernel-2.4 modules location when globbing for finding modules by
+ type - verify against ../../modules/*.mar stuff to print out
+ warnings if we miss some modules
+
+2001-01-03 00:30 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: mar-extract-only.c, mar-frontend.c: vacances: -
+ use malloc instead of alloca for big main allocation since on
+ some systems (LM-7.2 for example it seems) the stack size is
+ limited to 2048 kbyt es - don't give up when the CRC is not OK,
+ but tries to continue anyway
+
+2001-01-02 16:56 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/Makefile: remove file if perl script
+ execution failed
+
+2000-12-31 11:15 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/rpmsrate: added a few locales dependences
+
+2000-12-29 01:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2000-12-29 01:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (addUser): typo fix
+
+2000-12-29 01:22 Pixel <pixel at mandriva.com>
+
+ * perl-install/ftp.pm: (getFile): recall getFile after
+ rewindGetFile
+
+2000-12-28 18:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: now /usr/lib/X11 is a relative symlink to
+ please mirrors and jako
+
+2000-12-28 01:12 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: use the
+ ldetect-lst-devel package instead of assuming the CVS version in
+ gi/ldetect-lst
+
+2000-12-28 01:11 Pixel <pixel at mandriva.com>
+
+ * mdk-stage1/: insmod-busybox/Makefile, mar/Makefile: better
+ cleanup
+
+2000-12-26 14:08 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated Lithuanian file
+
+2000-12-26 13:36 Chmouel Boudjnah
+
+ * perl-install/keyboard.pm: Add the very ghost option
+ REMOVE_MOD_META_L.
+
+2000-12-22 20:42 Dam's
+
+ * perl-install/: install_steps.pm, install_steps_interactive.pm:
+ corrected admin user setting for firewall install.
+
+2000-12-22 20:07 Guillaume Cottenceau
+
+ * update_kernel, perl-install/modules.pm: make them work with
+ kernel-2.4 by disabling non existent modules
+
+2000-12-22 19:46 Guillaume Cottenceau
+
+ * make_boot_img: typo in "automatic" parameters
+
+2000-12-22 15:41 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, config-stage1.h, disk.c, init.c,
+ network.c, newt-frontend.c, stage1.c, stdio-frontend.c: use a
+ #define for Linux-Mandrake following fclara's require
+
+2000-12-22 13:08 Fançois Pons
+
+ * perl-install/modules.pm: fixed load_multi on live. added back
+ all removed module with the new great mdk-stage1 of gégé.
+
+2000-12-22 12:24 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, interactive_gtk.pm: commit symlink
+ /tmp/image /tmp/rhimage
+
+2000-12-21 23:17 Dam's
+
+ * docs/draknet_advanced_doc.txt: added doc (yes it's true!)
+
+2000-12-21 18:13 Guillaume Cottenceau
+
+ * mdk-stage1/: nfsmount.c, linux-2.2/nfs.h, linux-2.2/nfs_mount.h:
+ use kernel headers 2.2 for nfsmount stuff
+
+2000-12-21 18:12 Guillaume Cottenceau
+
+ * mdk-stage1/mar/mar-frontend.c: use max compression to save a few
+ bytes
+
+2000-12-21 17:29 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2000-12-21 16:01 Dam's
+
+ * docs/draknet_advanced_doc.txt: added draknet advnced doc
+
+2000-12-21 13:35 Dam's
+
+ * perl-install/install_steps.pm: added setAdminpassword (a little
+ bit redundant, sorry)
+
+2000-12-21 13:34 Dam's
+
+ * perl-install/install_steps_interactive.pm: if firewall, admin
+ password obliged
+
+2000-12-21 13:33 Dam's
+
+ * perl-install/any.pm: corrected module stuff.. Thanx to pixel
+
+2000-12-21 13:32 Dam's
+
+ * perl-install/install2.pm: firewall : automatic class set when
+ firewall (beginner=0)
+
+2000-12-21 00:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/unused/christmas-karaoke.patch: handle isa cards
+
+2000-12-20 22:57 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_gtk.pm: (selectMouse): unsure the
+ device exists
+
+2000-12-20 00:50 Guillaume Cottenceau
+
+ * Makefile: stage1, disk
+
+2000-12-20 00:36 Pixel <pixel at mandriva.com>
+
+ * Makefile, docs/comparisons, tools/addchangelog,
+ tools/addchangelog.pl, tools/cvslog2changelog.pl,
+ tools/mailchangelog, tools/mailchangelog.pl: tools to auto
+ generate the ChangeLog and the mail to changelog
+
+2000-12-20 00:35 Pixel <pixel at mandriva.com>
+
+ * update_kernel: adapt to new depmod (modutils)
+
+2000-12-20 00:23 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2000-12-20 00:04 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: New snapshot uploaded
+
+2000-12-19 19:43 Pixel <pixel at mandriva.com>
+
+ * perl-install/unused/christmas-karaoke.patch: Happy Christmas :)
+
+2000-12-19 19:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/Makefile: /usr/lib/X11 now exists on non-sparc (was
+ only for sparc)
+
+2000-12-19 19:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/modules.pm: when loading /snd-card-/ module, load
+ snd-pcm-oss
+
+2000-12-19 19:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: spawnShell: set DISPLAY, just in
+ case :)
+
+2000-12-19 19:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: set PATH before doing spawnShell
+
+2000-12-19 16:27 Guillaume Cottenceau
+
+ * make_boot_img: kernel parameters change corresponding to
+ mdk-stage1 for automatic mode
+
+2000-12-19 16:22 Dam's
+
+ * Makefile: corrected upload directory for the firewall
+
+2000-12-19 14:20 Guillaume Cottenceau
+
+ * mdk-stage1/pci-resource/update-pci-ids.pl: complies to
+ ldetect/pcitable
+
+2000-12-19 13:23 Guillaume Cottenceau
+
+ * Makefile: commit support for disk installs (hd.img) through
+ mdk-stage1
+
+2000-12-18 22:16 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, disk.c, make_boot_img, mount.c,
+ newt-frontend.c, probing.c, stage1.c: add disk install support
+
+2000-12-18 20:46 Dam's
+
+ * perl-install/netconnect.pm: corrected typo
+
+2000-12-18 20:44 Dam's
+
+ * perl-install/modules.pm: corrected bad mergeinconf
+
+2000-12-18 20:36 Dam's
+
+ * perl-install/interactive_gtk.pm: corrected embedded support.
+
+2000-12-18 20:36 Dam's
+
+ * perl-install/interactive_gtk.pm: added embedded support for
+ control-center
+
+2000-12-18 20:26 Dam's
+
+ * perl-install/install_gtk.pm: added firewall support
+
+2000-12-18 20:18 Dam's
+
+ * perl-install/install2.pm: included firewall handling
+
+2000-12-18 19:10 Dam's
+
+ * perl-install/: ChangeLog, interactive_gtk.pm, standalone/XFdrake,
+ standalone/adduserdrake, standalone/control-center,
+ standalone/drakboot, standalone/draknet2,
+ standalone/drakxservices: new control center and related
+
+2000-12-18 19:05 Dam's
+
+ * perl-install/: install2.pm, install_steps_interactive.pm: changed
+ firewall comportement
+
+2000-12-18 18:40 Guillaume Cottenceau
+
+ * mdk-stage1/cdrom.c: fix "cancel" sillyness in choosing cdrom
+ device dialog
+
+2000-12-18 18:31 Guillaume Cottenceau
+
+ * Makefile, make_boot_img, update_kernel, mdk-stage1/Makefile,
+ mdk-stage1/automatic.c, mdk-stage1/cdrom.c: mdk-stage1 produces
+ the boot images in Cooker
+
+2000-12-18 18:19 Guillaume Cottenceau
+
+ * mdk-stage1/stage1-data/stage1.tar.bz2: add /dev/ram3
+
+2000-12-18 18:18 Dam's
+
+ * perl-install/netconnect.pm: corrected typo
+
+2000-12-18 17:52 Guillaume Cottenceau
+
+ * mdk-stage1/mar/mar-frontend.c: mar-creation prints a bit of
+ information
+
+2000-12-18 16:21 Fançois Pons
+
+ * mdk-stage1/automatic.c: fixes compilation.
+
+2000-12-18 15:20 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, dhcp.c, dhcp.h, disk.c, network.c: polish
+ for integration into cooker
+
+2000-12-18 14:54 Fançois Pons
+
+ * mdk-stage1/pci-resource/Makefile: use of ldetect-lst instead of
+ obsoleted ../../perl-install/pci_probing/pcitable
+
+2000-12-18 14:53 Fançois Pons
+
+ * mdk-stage1/insmod-busybox/insmod.c: allow compilation on
+ glibc-2.2
+
+2000-12-18 13:03 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, share/keymaps_generate: tar and bzip2 is
+ cfj/xfj and no more cfI/xfI remove isdndb.net
+
+2000-12-18 13:00 Guillaume Cottenceau
+
+ * mdk-stage1/: automatic.c, cdrom.c, modules.c, newt-frontend.c,
+ stage1.c, stage1.h, stdio-frontend.c, tools.c, tools.h: nice
+ handle of automatic mode for cdrom install
+
+2000-12-18 00:32 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, TECH-INFOS, automatic.c, automatic.h,
+ network.c, newt-frontend.c, stage1.c, stage1.h, stdio-frontend.c,
+ tools.c, tools.h: automatic mode added (a.k.a get rid of redhat
+ kickstart)
+
+2000-12-16 23:03 Guillaume Cottenceau
+
+ * mdk-stage1/: HACKING, Makefile, cdrom.c, dns.c, dns.h, modules.c,
+ mount.c, mount.h, mount_rpcgen.h, network.c, nfsmount.c,
+ nfsmount.h, probing.c, stage1.c, stdio-frontend.c, tools.c,
+ tools.h: - network/nfs works
+
+2000-12-16 20:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.config, Makefile.drakxtools, any.pm: fix
+ daminetsex
+
+2000-12-16 19:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, detect_devices.pm, install2.pm,
+ live_install, modules.pm, mouse.pm, pkgs.pm, c/stuff.xs.pm,
+ standalone/lspcidrake: use ldetect-lst for usb => now auto
+ detects mice types :)
+
+2000-12-16 17:13 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, Makefile.config, Makefile.drakxtools,
+ detect_devices.pm, c/stuff.xs.pm, share/list, standalone/drakgw,
+ standalone/mousedrake: use ldetect-lst
+
+2000-12-16 01:00 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile.drakxtools, Xconfigurator.pm,
+ Xconfigurator_new.pm, detect_devices.pm, netconnect.pm,
+ c/Makefile.PL, c/stuff.xs.pm, share/Cards+,
+ share/Cards2CardsNames, share/CardsNames, share/MonitorsDB,
+ share/isdndb.net, share/list: pci_probing now done by libldetect
+ config files moved in package ldetect-lst
+
+2000-12-16 00:59 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: clean all unneeded stuff
+
+2000-12-15 17:18 Pixel <pixel at mandriva.com>
+
+ * docs/README: fix CVSROOT
+
+2000-12-15 17:10 Pixel <pixel at mandriva.com>
+
+ * perl-install/Xconfigurator.pm: Cards+ and CardsNames are moved to
+ ldetect-lst
+
+2000-12-15 00:47 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, config-stage1.h, frontend.h, hack,
+ make_boot_img, mount.c, network.c, network.h, newt-frontend.c,
+ probing.c, probing.h, stage1.c, stdio-frontend.c, tools.c,
+ pci-resource/Makefile, pci-resource/update-pci-ids.pl,
+ stage1-data/stage1-with-sash.tar.bz2: - do progressbar since it
+ seems nobody can live without it - write real separation between
+ cdrom, disk, and network code; have multiple targets for that
+ issue - begin network code: network interface is up and runing
+ (static IP only), network is configured
+
+2000-12-14 14:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssList: obsoleted by rpmsrate
+
+2000-12-14 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/rpmsrate: obsoletes compssList
+
+2000-12-14 12:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/: Makefile, install2.pm, install_any.pm,
+ install_steps.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm, pkgs.pm, share/compssUsers: move
+ from compssList to rpmsrate
+
+2000-12-14 12:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/Newt/Newt.xs: cleanup (use of alloca to pass
+ parameters)
+
+2000-12-14 08:25 Dam's
+
+ * perl-install/: netconnect.pm, any.pm: Big jump. The *_new.pm are
+ replaced by *.pm Everything should work, but you better test :)
+
+2000-12-14 08:23 Dam's
+
+ * perl-install/any.pm: corrected typo.
+
+2000-12-14 08:05 Dam's
+
+ * perl-install/: any_new.pm, netconnect_new.pm: preparing for big
+ jump.
+
+2000-12-14 06:54 Dam's
+
+ * perl-install/standalone/control-center: big improvement and
+ cosmetic changes
+
+2000-12-14 04:18 Dam's
+
+ * perl-install/standalone/control-center: a lot of improvement. Is
+ able to launch multiples soft passing in arguments.
+
+2000-12-14 02:13 Dam's
+
+ * perl-install/standalone/control-center: new file. Its location
+ should change soon.
+
+2000-12-13 13:17 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/it.po: updated Italian file
+
+2000-12-12 23:57 Guillaume Cottenceau
+
+ * mdk-stage1/: probing.c, stdio-frontend.c, t.c: blah, don't
+ include my test file in the repositoty
+
+2000-12-12 23:29 Guillaume Cottenceau
+
+ * mdk-stage1/: network.c, probing.c, probing.h, stdio-frontend.c:
+ network devices detection and insmod on user input
+
+2000-12-12 22:49 Guillaume Cottenceau
+
+ * mdk-stage1/: frontend.h, log.c, log.h, newt-frontend.c,
+ stdio-frontend.c, tools.c: progressbar for newt+stdio while
+ loading ramdisk
+
+2000-12-12 22:05 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, disk.c, frontend.h, hack, init.c,
+ minilibc.c, minilibc.h, modules.c, modules.h, mount.c, network.c,
+ newt-frontend.c, probing.c, probing.h, stage1.c,
+ stdio-frontend.c, tools.c, insmod-busybox/insmod.h,
+ pci-resource/Makefile, pci-resource/update-pci-ids.pl,
+ stage1-data/stage1-with-sash.tar.bz2: - add pci probing feature -
+ add listing of available modules and insmod'ing on user request -
+ make rescue-stage2 working
+
+2000-12-12 22:02 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: mar-extract-only.c, mar-extract-only.h: add
+ "list-contents" feature to mar-extract-only
+
+2000-12-12 22:02 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/insmod.c: make all error messages
+ consistently ending with a \n
+
+2000-12-12 15:08 Fançois Pons
+
+ * perl-install/share/list: added packdrake.pm as packdrake has been
+ splited.
+
+2000-12-12 15:04 Dam's
+
+ * perl-install/standalone/draknet2: new version... still working on
+ it
+
+2000-12-12 15:04 Dam's
+
+ * perl-install/share/logo-mandrake-Firewall.xpm: new logo
+
+2000-12-12 15:04 Dam's
+
+ * perl-install/modules.pm: my fault, corrected renaud's patch
+ incorporation
+
+2000-12-12 15:03 Dam's
+
+ * perl-install/netconnect.pm: typo + if firewall, don't display
+ 'disable network'
+
+2000-12-12 15:02 Dam's
+
+ * perl-install/ChangeLog: commit
+
+2000-12-12 15:02 Dam's
+
+ * Makefile: corrected typo
+
+2000-12-12 15:01 Dam's
+
+ * perl-install/share/themes-mdk-Firewall.rc: added firewall theme
+
+2000-12-12 11:27 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed versionCompare to always return
+ number. added checking of version to select obsoletes on upgrade.
+
+2000-12-11 18:10 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, frontend.h, hack, newt-frontend.c,
+ probing.c, stdio-frontend.c: add stdio frontend (get rid of
+ newt+slang -eq reducing binary by 80 kbytes) (40 kbytes for
+ compressed binary)
+
+2000-12-11 16:10 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, disk.c, log.c, log.h, modules.c,
+ mount.c, newt-frontend.c, probing.c, probing.h, stage1.c,
+ stage1.h, tools.c, tools.h, stage1-data/stage1-with-sash.tar.bz2:
+ week-end stuff: now supports second stage as a ramdisk adds
+ better device files handling (some in initrd, others dynamically
+ created) better logging of detected IDE and SCSI devices
+
+2000-12-11 15:29 Fançois Pons
+
+ * perl-install/lang.pm: fixed write_langs for upgrade.
+
+2000-12-11 15:10 Fançois Pons
+
+ * perl-install/lang.pm: i18n sucking fixes.
+
+2000-12-11 14:25 Fançois Pons
+
+ * perl-install/install_any.pm: Radeon uses 3D now.
+
+2000-12-11 14:23 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: Radeon uses 3D hw accel
+ theoritically now.
+
+2000-12-09 19:55 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (formatMountPartitions): the format partition dialog created at
+ first use, so that it doesn't appear if no partitions are
+ formatted.
+
+2000-12-09 14:35 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/lang.pm: Added configuration of Vietnamese input
+ server
+
+2000-12-09 13:26 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install_steps.pm, interactive_gtk.pm: small
+ renicing
+
+2000-12-09 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectInstallClass):
+ ensure expert choice is kept if it was prechosen
+
+2000-12-09 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/interactive_newt.pm: (ask_from_entries_refW): reset
+ all hidden entries to null in case of error on hidden entry cuz
+ newt doesn't display null entries, disturbing
+
+2000-12-09 13:25 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (selectInstallClass): give $clicked to
+ selectInstallClass
+
+2000-12-09 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (selectInstallClass):
+ if expert pre-chosen, ensure expert is kept
+
+2000-12-09 13:21 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/adduserdrake: remove debugging code
+
+2000-12-08 20:26 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, cdrom.c, frontend.h, log.c, log.h,
+ mount.c, mount.h, newt-frontend.c, probing.c, stage1.c, stage1.h,
+ stage1-data/stage1-with-sash.tar.bz2: mdk-stage1 can now run the
+ Install from CDROM
+
+2000-12-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (exitInstall): save the report.bug
+ in /root/report.bug
+
+2000-12-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/mouse.pm: (write_conf): fix to make make test_pms
+ happy
+
+2000-12-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/ftp.pm: (new): retry in case of ftp connection/login
+
+2000-12-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/any.pm: (rotate_logs): created, rotates ddebug.log
+ and install.log in /root
+
+2000-12-08 17:20 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): warn if VERSION file doesn't
+ exist (formatPartitions): call rotate_logs after mounting the
+ partitions
+
+2000-12-08 15:16 Pixel <pixel at mandriva.com>
+
+ * perl-install/commands.pm: report_bug: created, returns a string
+
+2000-12-08 14:00 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed bug in list of packages provided by
+ another one.
+
+2000-12-08 12:13 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, az.po, da.po, de.po, es.po,
+ fr.po, no.po, pt_BR.po, tr.po, wa.po: updated Brazilian file
+
+2000-12-08 00:41 Dam's
+
+ * perl-install/netconnect.pm: corrected ADSL connection choice.
+
+2000-12-08 00:16 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, README, cdrom.c, cdrom.h, disk.c, disk.h,
+ frontend.h, init.c, log.c, log.h, make_boot_img, minilibc.c,
+ minilibc.h, modules.c, modules.h, network.c, network.h,
+ newt-frontend.c, probing.c, probing.h, stage1.c, stage1.h, t.c,
+ tools.c, tools.h, mar/Makefile, mar/mar-extract-only.c,
+ mar/mar-extract-only.h, mar/mar-frontend.c, mar/mar.h: first
+ draft can detect your cdrom drives soon will launch the stage2
+
+2000-12-08 00:15 Guillaume Cottenceau
+
+ * mdk-stage1/insmod-busybox/: Config.h, Makefile, README,
+ busybox.h, insmod-frontend.c, insmod.c, insmod.h, loop.h,
+ messages.c, utility.c: add insmod from busybox (i386 only)
+
+2000-12-07 20:30 Dam's
+
+ * perl-install/netconnect.pm: corrected typo
+
+2000-12-07 00:55 Pixel <pixel at mandriva.com>
+
+ * rescue/list.i386: remove lilo as in any /boot/* for lilo are not
+ included, and moreover, it's stupid to have it in the PATH
+
+2000-12-06 22:51 Pixel <pixel at mandriva.com>
+
+ * perl-install/: install2.pm, install_any.pm, install_steps.pm,
+ install_steps_interactive.pm, lang.pm: adapt to the fact that
+ RPM_INSTALL_LANG is obsoloted. Now rpm uses %_install_langs in
+ /etc/rpm/macros
+
+2000-12-06 20:33 Dam's
+
+ * perl-install/install_gtk.pm: corrected errors
+
+2000-12-06 19:59 Dam's
+
+ * perl-install/install_gtk.pm: left pixmap centered if firewall
+
+2000-12-06 19:15 Dam's
+
+ * perl-install/install_gtk.pm: improved the firewall theme.
+
+2000-12-06 15:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/keyboarddrake: add possibility to use
+ keyboarddrake non-interactive (aka give the keyboard as first
+ parameter)
+
+2000-12-06 03:50 Dam's
+
+ * perl-install/share/logo-mandrake-Firewall.xpm: aded logo for
+ firewall
+
+2000-12-06 02:18 Dam's
+
+ * perl-install/install2.pm: erare humanum es
+
+2000-12-06 02:17 Dam's
+
+ * perl-install/install_gtk.pm:
+ errare humanum es
+
+2000-12-06 02:15 Dam's
+
+ * perl-install/install_gtk.pm: firewall infects the install. The
+ logo is changed if firewall.
+
+2000-12-06 02:06 Dam's
+
+ * perl-install/install2.pm: firewall begins to infect the install
+ :). new meta_class.
+
+2000-12-05 18:14 Fançois Pons
+
+ * tools/closurepkgs: added management of multi-lang.
+
+2000-12-05 17:22 Fançois Pons
+
+ * perl-install/pkgs.pm: final fixes to versionCompare to make sure
+ no deadlock can occurs.
+
+2000-12-05 14:48 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: restored Matrox G200/G400 hw 3d
+ accel configuration.
+
+2000-12-05 06:20 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, es.po, fi.po, pl.po, pt_BR.po:
+ updated several pofiles
+
+2000-12-04 22:43 Dam's
+
+ * Makefile: firewall snapshot will now send more explicit mail.
+
+2000-12-04 18:39 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: use isCdNotEjectable.
+
+2000-12-04 18:38 Fançois Pons
+
+ * perl-install/common.pm: added function isCdNotEjectable.
+
+2000-12-04 18:37 Fançois Pons
+
+ * perl-install/share/Cards+: SiS620 card are said to be unsupported
+ by XF4.
+
+2000-12-04 18:36 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: add Options sw_cursor for SiS 6326
+ in XF3 mode.
+
+2000-12-04 18:34 Fançois Pons
+
+ * perl-install/pkgs.pm: load only one hdlist in memory if CD is not
+ ejectable (low memory).
+
+2000-12-04 16:04 Fançois Pons
+
+ * tools/closurepkgs: fixed not to use already computed
+ depslist.ordered.
+
+2000-12-04 15:44 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed compareVersion for deadlock. removed
+ silly CODE print on deporder problems.
+
+2000-12-03 21:12 Dam's
+
+ * perl-install/any_new.pm: any_new > any, so we remove it now.
+
+2000-12-03 21:06 Dam's
+
+ * perl-install/netconnect_new.pm: netconnect_new > netconnect, so
+ we remove it now.
+
+2000-12-03 21:06 Dam's
+
+ * perl-install/netconnect.pm: netconnect_new > netconnect.pm
+
+2000-12-03 20:59 Dam's
+
+ * perl-install/standalone/draknet2: incoporated in the firewall
+ branch
+
+2000-12-03 20:59 Dam's
+
+ * perl-install/netconnect_new.pm: incorporated in the firewall
+ branch
+
+2000-12-03 20:56 Dam's
+
+ * perl-install/netconnect_consts.pm: incorporated in the firewall
+ branch.
+
+2000-12-03 20:22 Dam's
+
+ * perl-install/modules.pm: incorporated modifications to the
+ firewall branch. Hope they won't break anything...
+
+2000-12-03 01:05 Dam's
+
+ * perl-install/mouse.pm: incorporated cmodifications in the
+ firewall branch
+
+2000-12-03 00:40 Dam's
+
+ * perl-install/standalone/mousedrake: incorporated in the firewall
+ branch
+
+2000-12-03 00:23 Dam's
+
+ * perl-install/share/po/: no.po, ru.po, sk.po: correction
+ incorporated in the firewall branch
+
+2000-12-03 00:22 Dam's
+
+ * perl-install/share/po/az.po: correction in firewall incorporated
+
+2000-12-02 22:48 Dam's
+
+ * perl-install/ChangeLog: first attempt ro build the firewall
+ install
+
+2000-12-02 21:51 Dam's
+
+ * docs/HACKING: updated doc. Still bad.
+
+2000-12-02 21:47 Dam's
+
+ * Makefile: added upload_firewall section, updated upload
+ directory.
+
+2000-11-28 17:54 Dam's
+
+ * .cvsignore, ChangeLog, Makefile, live_update, make_boot_img,
+ make_ks_from_floppy, update_kernel, update_kernel.ppc,
+ update_kernel.sparc, perl-install/Makefile.drakxtools,
+ perl-install/fsedit.pm, perl-install/my_gtk.pm,
+ perl-install/partition_table_bsd.pm, perl-install/any.pm,
+ perl-install/any_new.pm, perl-install/help.pm,
+ perl-install/install_gtk.pm,
+ perl-install/install_steps_interactive.pm, perl-install/log.pm,
+ perl-install/printer.pm, perl-install/Makefile,
+ perl-install/Xconfigurator.pm,
+ perl-install/Xconfigurator_consts.pm, perl-install/diskdrake.pm,
+ perl-install/do_resize_fat, perl-install/getpkgs_deps,
+ perl-install/netconnect_consts.pm, perl-install/network.pm,
+ perl-install/perl2fcalls, perl-install/run_program.pm,
+ perl-install/swap.pm, perl-install/common.pm,
+ perl-install/crypto.pm, perl-install/fs.pm,
+ perl-install/genmodparm, perl-install/http.pm,
+ perl-install/install2, perl-install/install2.pm,
+ perl-install/install_steps_auto_install.pm,
+ perl-install/install_steps_newt.pm, perl-install/keyboard.pm,
+ perl-install/loopback.pm, perl-install/modules.pm,
+ perl-install/netconnect_new.pm,
+ perl-install/partition_table_empty.pm,
+ perl-install/partition_table_sun.pm, perl-install/perl2etags,
+ perl-install/printerdrake.pm, perl-install/verify_c,
+ perl-install/.cvsignore, perl-install/Xconfig.pm,
+ perl-install/bootloader.pm, perl-install/c.pm,
+ perl-install/commands, perl-install/devices.pm,
+ perl-install/g_auto_install, perl-install/install_interactive.pm,
+ perl-install/lang.pm, perl-install/mouse.pm,
+ perl-install/netconnect.pm, perl-install/partition_table_raw.pm,
+ perl-install/timezone.pm, perl-install/ChangeLog,
+ perl-install/detect_devices.pm, perl-install/ftp.pm,
+ perl-install/install_any.pm, perl-install/install_steps_stdio.pm,
+ perl-install/interactive_newt.pm, perl-install/live_install,
+ perl-install/live_install2, perl-install/modparm.pm,
+ perl-install/partition_table.pm,
+ perl-install/partition_table_dos.pm, perl-install/pkgs.pm,
+ perl-install/services.pm, perl-install/Makefile.config,
+ perl-install/class_discard.pm, perl-install/commands.pm,
+ perl-install/install_steps.pm, perl-install/install_steps_gtk.pm,
+ perl-install/interactive.pm, perl-install/interactive_gtk.pm,
+ perl-install/interactive_stdio.pm,
+ perl-install/partition_table_mac.pm, perl-install/raid.pm,
+ perl-install/standalone/XFdrake,
+ perl-install/standalone/adduserdrake,
+ perl-install/standalone/diskdrake,
+ perl-install/standalone/drakboot,
+ perl-install/standalone/draknet,
+ perl-install/standalone/draknet2,
+ perl-install/standalone/draksec,
+ perl-install/standalone/drakxconf,
+ perl-install/standalone/drakxservices,
+ perl-install/standalone/keyboarddrake,
+ perl-install/standalone/livedrake,
+ perl-install/standalone/lspcidrake,
+ perl-install/standalone/mousedrake,
+ perl-install/standalone/netdrake,
+ perl-install/standalone/printerdrake,
+ perl-install/standalone/rpmdrake, perl-install/c/.cvsignore,
+ perl-install/c/Makefile.PL, perl-install/c/README,
+ perl-install/c/md5.c, perl-install/c/md5.h,
+ perl-install/c/md5_crypt.c, perl-install/c/smp.c,
+ perl-install/c/stuff.pm, perl-install/c/stuff.xs.pm,
+ perl-install/resize_fat/.cvsignore,
+ perl-install/resize_fat/Makefile,
+ perl-install/resize_fat/Makefile.PL,
+ perl-install/resize_fat/README, perl-install/resize_fat/any.pm,
+ perl-install/resize_fat/boot_sector.pm,
+ perl-install/resize_fat/c_rewritten.pm,
+ perl-install/resize_fat/c_rewritten.xs,
+ perl-install/resize_fat/dir_entry.pm,
+ perl-install/resize_fat/directory.pm,
+ perl-install/resize_fat/fat.pm,
+ perl-install/resize_fat/info_sector.pm,
+ perl-install/resize_fat/io.pm, perl-install/resize_fat/main.pm,
+ perl-install/standalone/drakgw,
+ perl-install/standalone/icons/fileopen.xpm,
+ perl-install/standalone/icons/find.xpm,
+ perl-install/standalone/icons/findf.xpm,
+ perl-install/standalone/icons/ftin.xpm,
+ perl-install/standalone/icons/ftout.xpm,
+ perl-install/standalone/icons/reload.xpm, perl-install/c/sbus.c,
+ perl-install/c/silo.c, perl-install/share/Cards2CardsNames,
+ perl-install/share/aliases, perl-install/share/isdndb.net,
+ perl-install/share/keymaps.tar.bz2,
+ perl-install/share/step-green-on.xpm,
+ perl-install/share/step-orange-click.xpm,
+ perl-install/share/step-red.xpm,
+ perl-install/share/themes-marble3d.rc,
+ perl-install/share/list.sparc,
+ perl-install/share/step-green-click.xpm,
+ perl-install/share/step-red-on.xpm,
+ perl-install/share/themes-savane.rc,
+ perl-install/share/list.alpha, perl-install/share/modparm.lst,
+ perl-install/share/compssUsers.desktop,
+ perl-install/share/logo-mandrake.xpm,
+ perl-install/share/makedev.sh, perl-install/share/reload.xpm,
+ perl-install/share/rpm-installed.xpm,
+ perl-install/share/rpm-semiselected.xpm,
+ perl-install/share/rpm-unselected.xpm,
+ perl-install/share/step-green.xpm,
+ perl-install/share/step-orange-on.xpm,
+ perl-install/share/step-red-click.xpm,
+ perl-install/share/themes-blueHeart.rc,
+ perl-install/share/themes-mdk-Desktop.rc,
+ perl-install/share/fonts.tar.bz2,
+ perl-install/share/themes-DarkMarble.rc,
+ perl-install/share/themes-mdk.rc, perl-install/share/Cards+,
+ perl-install/share/compssUsers, perl-install/share/help.xpm,
+ perl-install/share/kmap2bkmap, perl-install/share/list,
+ perl-install/share/list.i386, perl-install/share/list.ppc,
+ perl-install/share/logo-mandrake-Desktop.xpm,
+ perl-install/share/rpm-base.xpm,
+ perl-install/share/rpm-selected.xpm,
+ perl-install/share/step-orange.xpm,
+ perl-install/share/themes-blackwhite.rc,
+ perl-install/share/themes-blue.rc, perl-install/share/compssList,
+ perl-install/share/CardsNames, perl-install/share/MonitorsDB,
+ perl-install/share/diskdrake.rc, perl-install/share/ftin.xpm,
+ perl-install/share/ftout.xpm, perl-install/share/install.rc,
+ perl-install/share/keyboards.tar.bz2,
+ perl-install/share/keymaps_generate,
+ perl-install/share/themes.rc, perl-install/share/po/be.po,
+ perl-install/share/po/sl.po, perl-install/share/po/pt_BR.po,
+ perl-install/share/po/eu.po, perl-install/share/po/pl.po,
+ perl-install/share/po/Makefile, perl-install/share/po/sr.po,
+ perl-install/share/po/fi.po, perl-install/share/po/hu.po,
+ perl-install/share/po/i18n_compssUsers,
+ perl-install/share/po/cs.po, perl-install/share/po/el.po,
+ perl-install/share/po/th.po, perl-install/share/po/lv.po,
+ perl-install/share/po/is.po, perl-install/share/po/wa.po,
+ perl-install/share/po/sv.po, perl-install/share/po/id.po,
+ perl-install/share/po/ro.po, perl-install/share/po/bg.po,
+ perl-install/share/po/az.po, perl-install/share/po/it.po,
+ perl-install/share/po/validate.pl, perl-install/share/po/no.po,
+ perl-install/share/po/Changelog, perl-install/share/po/sk.po,
+ perl-install/share/po/lt.po, perl-install/share/po/ja.po,
+ perl-install/share/po/ko.po, perl-install/share/po/et.po,
+ perl-install/share/po/ru.po, perl-install/share/po/da.po,
+ perl-install/share/po/pt.po, perl-install/share/po/.cvsignore,
+ perl-install/share/po/af.po, perl-install/share/po/uk.po,
+ perl-install/share/po/ga.po, perl-install/share/po/es.po,
+ perl-install/share/po/br.po, perl-install/share/po/hr.po,
+ perl-install/share/po/gl.po, perl-install/share/po/eo.po,
+ perl-install/share/po/nl.po, perl-install/share/po/de.po,
+ perl-install/share/po/tr.po,
+ perl-install/share/po/zh_CN.GB2312.po,
+ perl-install/share/po/sp.po, perl-install/share/po/cy.po,
+ perl-install/share/po/fr.po, perl-install/share/po/zh_TW.Big5.po,
+ perl-install/share/po/DrakX.pot, perl-install/share/po/ca.po,
+ perl-install/Newt/.cvsignore, perl-install/Newt/Av_CharPtrPtr.c,
+ perl-install/Newt/Av_CharPtrPtr.h, perl-install/Newt/Makefile.PL,
+ perl-install/Newt/Newt.pm, perl-install/Newt/Newt.xs,
+ perl-install/Newt/typemap,
+ perl-install/share/consolefonts/Cyr_a8x16,
+ perl-install/share/consolefonts/lat0-sun16,
+ perl-install/share/consolefonts/lat2-sun16,
+ perl-install/share/consolefonts/ruscii_8x16, tools/.cvsignore,
+ tools/2adsldb.pm, tools/2isdndb.pm, tools/Makefile,
+ tools/addchangelog, tools/closurepkgs, tools/extractchangelog,
+ tools/gencompss, tools/gencryptofiles, tools/genmodparm,
+ tools/mailchangelog, tools/make_mdkinst_stage2, tools/mkhdlist,
+ tools/specific_arch, tools/syncrpms, tools/xhost+.c,
+ tools/i386/e2fsck.shared, tools/i386/sh,
+ tools/serial_probe/.cvsignore, tools/serial_probe/Makefile,
+ tools/serial_probe/device.h, tools/serial_probe/serial.c,
+ tools/serial_probe/serial.h, tools/serial_probe/serial_probe.c,
+ tools/ppc/iboot, tools/ppc/e2fsck.shared, tools/ppc/Xpmac,
+ rescue/.cvsignore, rescue/Makefile, rescue/aliases, rescue/dirs,
+ rescue/kernel_read_part.c, rescue/list, rescue/list.alpha,
+ rescue/list.i386, rescue/list.ppc, rescue/list.sparc,
+ rescue/make_rescue_img, rescue/tree/bin/insmod,
+ rescue/tree/bin/login, rescue/tree/etc/closurepkgs,
+ rescue/tree/etc/fstab, rescue/tree/etc/group,
+ rescue/tree/etc/host.conf, rescue/tree/etc/hosts,
+ rescue/tree/etc/inittab, rescue/tree/etc/issue,
+ rescue/tree/etc/oem, rescue/tree/etc/part_and_bootloader,
+ rescue/tree/etc/passwd, rescue/tree/etc/profile,
+ rescue/tree/etc/rc.reboot, rescue/tree/etc/rc.sysinit,
+ rescue/tree/etc/resolv.conf, rescue/tree/sbin/modprobe,
+ rescue/tree/usr/lib/CVS.: branch to build the firewall install.
+
+2000-11-28 16:48 Dam's
+
+ * perl-install/modules.pm: included reno's patches. Now should work
+ without kudzu.
+
+2000-11-28 16:16 Fançois Pons
+
+ * perl-install/install_any.pm: removed some more logs.
+
+2000-11-28 16:11 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: modified def_mark to
+ 59 (gl hw acceleration level) and upgrade use this level for
+ newbies so.
+
+2000-11-28 15:27 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: make sure a
+ recommended upgrade get the minimum and a little more (80).
+
+2000-11-28 11:44 Fançois Pons
+
+ * tools/closurepkgs: updated.
+
+2000-11-28 11:44 Fançois Pons
+
+ * perl-install/pkgs.pm: fixed misuse of map with values returing
+ list which are indexed afterward.
+
+2000-11-28 11:44 Fançois Pons
+
+ * perl-install/keyboard.pm: keep track of unknown keyboard (for
+ upgrade)
+
+2000-11-28 11:43 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: choose default size
+ according to a default mark (currently 49).
+
+2000-11-28 11:43 Fançois Pons
+
+ * perl-install/install_steps_gtk.pm: extended chooseSizeToInstall.
+
+2000-11-28 11:42 Fançois Pons
+
+ * perl-install/install_steps.pm: updated comment.
+
+2000-11-28 11:42 Fançois Pons
+
+ * perl-install/install2.pm: change upgrade section for keyboard.
+
+2000-11-27 14:04 Dam's
+
+ * perl-install/netconnect_consts.pm: added isdn Gazel card 10b5
+ 1151
+
+2000-11-27 12:31 Pixel <pixel at mandriva.com>
+
+ * perl-install/partition_table.pm: (@bad_types): list of the
+ different type of extended partitions (important_types): remove
+ @bad_types from important_types
+
+2000-11-25 16:22 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ru.po: updated Russian file
+
+2000-11-24 18:40 Fançois Pons
+
+ * perl-install/pkgs.pm: avoid .la files for selection.
+
+2000-11-24 18:38 Fançois Pons
+
+ * perl-install/install_steps.pm: added missing portmap.
+
+2000-11-24 15:55 Dam's
+
+ * perl-install/standalone/mousedrake: splited
+
+2000-11-24 15:53 Dam's
+
+ * perl-install/mouse.pm: doc + split
+
+2000-11-24 11:47 Dam's
+
+ * perl-install/netconnect_new.pm: added depmod after having writed
+ modules.conf
+
+2000-11-23 19:18 Fançois Pons
+
+ * perl-install/install_any.pm: removed some ugly logs.
+
+2000-11-23 19:17 Fançois Pons
+
+ * perl-install/install_steps.pm: added tempory fix for initscripts
+ %post.
+
+2000-11-23 19:17 Fançois Pons
+
+ * perl-install/pkgs.pm: synced versionCompare() with
+ rpmtools-2.1-4mdk. removed ugly log on transaction. added
+ special case to avoid counting kernels space when upgrading as
+ these package are not upgraded (just installed).
+
+2000-11-23 18:32 Guillaume Cottenceau
+
+ * perl-install/share/compssList: put all tina stuff to weight 0
+
+2000-11-23 17:48 Dam's
+
+ * perl-install/standalone/draknet2: progressbar.
+
+2000-11-23 11:42 Fançois Pons
+
+ * perl-install/pkgs.pm: Memory usage optimization, change structure
+ of storing package informations. lot of fork to make sure of
+ freeing memory by perl (no free on used hashes or arrays usable
+ by other than perl), now upgrade takes as much as install which
+ takes at least 0.5Mb less than before.
+
+2000-11-23 11:37 Fançois Pons
+
+ * perl-install/: install_any.pm, install_steps.pm,
+ install_steps_gtk.pm, install_steps_interactive.pm: updated with
+ structural change of pkgs.
+
+2000-11-21 18:25 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: removed code to ask if
+ take care of /etc/X11/XF86Config* files.
+
+2000-11-21 18:25 Fançois Pons
+
+ * perl-install/install_steps.pm: always try to get default from
+ /etc/X11/XF86Config
+
+2000-11-21 18:24 Fançois Pons
+
+ * perl-install/Xconfigurator_new.pm: WARNING
+
+2000-11-21 18:24 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: upgrade for XF86Config, take care
+ of resolution and depth wanted.
+
+2000-11-21 18:23 Fançois Pons
+
+ * perl-install/Xconfig.pm: added more subtil upgrade from
+ /etc/X11/XF86Config* files, keep wacom entries.
+
+2000-11-21 18:13 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, hack, init.c, log.c, log.h, make_boot_img,
+ stage1.c, stage1-data/stage1-with-sash.tar.bz2,
+ stage1-data/stage1.tar.bz2: first draft
+
+2000-11-21 15:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: updated Azeri file
+
+2000-11-21 11:00 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: added wait message
+ during rebuild of rpm database as it takes some time.
+
+2000-11-21 11:00 Fançois Pons
+
+ * perl-install/install_steps.pm: removing logs.
+
+2000-11-21 10:59 Fançois Pons
+
+ * perl-install/pkgs.pm: cosmetic changes for upgrade, removing some
+ logs.
+
+2000-11-20 23:36 Guillaume Cottenceau
+
+ * mdk-stage1/: Makefile, init.c, minilibc.c, minilibc.h: first
+ draft for init and minilibc
+
+2000-11-20 20:02 Fançois Pons
+
+ * perl-install/pkgs.pm: clean up as today filelist is no more.
+
+2000-11-20 20:02 Fançois Pons
+
+ * tools/Makefile: filelist is no more used.
+
+2000-11-20 19:57 Fançois Pons
+
+ * perl-install/share/list: added parsehdlist.
+
+2000-11-20 19:57 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: removed logs.
+
+2000-11-20 19:57 Fançois Pons
+
+ * perl-install/pkgs.pm: use parsehdlist from rpmtools-2.1-3mdk or
+ above instead of perl code from DrakX forking to simulate a
+ filelist server. this increase performance by 100 to 150% on
+ selection of packages to upgrade.
+
+2000-11-20 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): moved the
+ writeandclean_ldsoconf here
+
+2000-11-20 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_auto_install.pm: (exitInstall): fix
+ message
+
+2000-11-20 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/fsedit.pm: add /var/ftp and /var/www in the list of
+ propose mount-points
+
+2000-11-20 16:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/Cards+: add radeon
+
+2000-11-20 16:21 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: Makefile, mar-extract-only.c,
+ mar-extract-only.h, mar-frontend.c, mar.h: commiting modifs of
+ Fri 17 (do not typedef the structs anymore, s/malloc/alloca when
+ possible, return int all the time)
+
+2000-11-17 23:32 Guillaume Cottenceau
+
+ * perl-install/install_any.pm: add openuniverse to the list of gl
+ apps
+
+2000-11-16 20:44 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: Makefile, mar-extract-only.c, mar-frontend.c,
+ mar.h: - fix bug of not actually writing down the `0' char to end
+ filetable - use stat to compute file lengths - test NULL pointers
+ directly on their value
+
+2000-11-16 18:02 Fançois Pons
+
+ * perl-install/modules.pm: tempory version for current glibc, a lot
+ of module have been removed due to problem of stage1 increase in
+ size when compiled with glibc-2.2 and current modutils.
+
+2000-11-16 14:41 Fançois Pons
+
+ * perl-install/c/Makefile.PL: updated with rpmlib 4.
+
+2000-11-16 14:40 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: completed something that seems to
+ work almost correctly at the first look with rpmlib 4.
+
+2000-11-16 14:39 Fançois Pons
+
+ * perl-install/share/list: include /usr/lib/rpm/macros else rpmlib
+ gets crazy :-)
+
+2000-11-16 14:07 Guillaume Cottenceau
+
+ * perl-install/share/compssList: add netscape-german, thx to florin
+
+2000-11-16 13:45 Guillaume Cottenceau
+
+ * perl-install/share/compssList: isdn4k-utils gets same weight as
+ isdn4net, thx to Florin
+
+2000-11-16 11:55 Dam's
+
+ * perl-install/netconnect_new.pm: corrected isdn_get_{list, info}
+
+2000-11-16 11:05 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/sk.po: updated Slovak file
+
+2000-11-16 04:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2000-11-15 19:59 Dam's
+
+ * perl-install/netconnect_new.pm: added isdn_get_list and
+ isdn_get_info
+
+2000-11-15 16:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/Makefile.PL: add librpmio
+
+2000-11-15 15:38 Fançois Pons
+
+ * perl-install/c/stuff.xs.pm: updated for rpm 4.
+
+2000-11-15 15:37 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/: oem, rc.reboot: umount before leaving, clean
+ unneeded stuff in rc.reboot
+
+2000-11-15 15:35 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: workaround for kernel-headers not in
+ sync with glibc (dev_t)
+
+2000-11-15 13:51 Dam's
+
+ * perl-install/Xconfigurator_new.pm: added to fork frontends
+ backends. Not operationnal at all for now.
+
+2000-11-15 13:49 Dam's
+
+ * perl-install/netconnect_new.pm: calls modules::write_conf to fill
+ the modules.conf.
+
+2000-11-15 13:48 Fançois Pons
+
+ * perl-install/pkgs.pm: rpmdepOrder again (for new TAGp)
+
+2000-11-15 13:35 Dam's
+
+ * perl-install/modules.pm: when loading a new module, add an alias
+ for it, even in standalone mode.
+
+2000-11-14 16:31 Fançois Pons
+
+ * perl-install/: network.pm, Xconfig.pm: removed foreach (<...
+ which are eating memory
+
+2000-11-14 16:27 Fançois Pons
+
+ * perl-install/: modparm.pm, modules.pm, netconnect.pm: removed
+ foreach (<... which are eating memory
+
+2000-11-14 16:24 Fançois Pons
+
+ * perl-install/: commands.pm, common.pm, fsedit.pm, lang.pm:
+ removed foreach (<... which are eating memory
+
+2000-11-14 16:20 Fançois Pons
+
+ * perl-install/: detect_devices.pm, Xconfigurator.pm, printer.pm,
+ pkgs.pm: removed foreach (<... which are eating memory
+
+2000-11-14 16:03 Fançois Pons
+
+ * perl-install/pkgs.pm: fork install on upgrade for searching
+ trhough filelist, this saves about 20Mb of memory before rpmlib
+ transaction are started so its is more than 2 times faster for
+ upgrading a system, sorry it was effectively a machine two
+ overloaded that makes the upgrade slower.
+
+ make rpmlib not to check size as DrakX should do it.
+
+ added special cases for selection of packages according to files,
+ avoid all kde-i18n packages if their locales-$lang is not
+ selected, avoid a -devel package if only one files is updated
+ (typical for fixes on package by moving files around).
+
+ deactivated rpmdepOrder as it should be done directly in
+ depslist.ordered file.
+
+ fixed obsoletes which never run correctly, even if almost no
+ package are selected explicitely this way.
+
+ added log during selection of packages to upgrade to keep a track
+ of what DrakX is doing.
+
+2000-11-14 13:55 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/da.po: updated Danish file
+
+2000-11-14 13:37 Dam's
+
+ * perl-install/netconnect_new.pm: better structure for the
+ ethx-driver. added call to add_alias and write_conf
+
+2000-11-14 13:03 Dam's
+
+ * perl-install/standalone/draknet2: updated
+
+2000-11-13 16:48 Guillaume Cottenceau
+
+ * perl-install/standalone/drakgw: Integrate Till's patches for
+ better work with Cups.
+
+2000-11-13 13:12 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: eject needs to know which device to eject,
+ so now we tell it.
+
+2000-11-12 18:12 Pixel <pixel at mandriva.com>
+
+ * perl-install/standalone/mousedrake: fix for bug #1350 (mousedrake
+ dies with: Undefined subroutine &mouse::serial_ports_names)
+
+2000-11-12 16:02 Pixel <pixel at mandriva.com>
+
+ * perl-install/pkgs.pm: (psUpdateHdlistsDeps): fixed an ugly typo
+ (uses .cz2 for .cz and .cz22 for .cz2) that makes for than one CD
+ install breaks :-(
+
+2000-11-12 00:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po, ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po,
+ et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
+ is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po,
+ pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po,
+ th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po:
+ updated pot file
+
+2000-11-10 22:47 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: lv.po, sk.po: updated Latvian and Slovak
+ files
+
+2000-11-10 19:48 Dam's
+
+ * perl-install/standalone/draknet2: draknet2 : new version of
+ draknet, post-install only, uses only libDrakX backend,
+ beautyfull
+
+2000-11-10 17:32 Fançois Pons
+
+ * perl-install/printerdrake.pm: fixed wrong case for managing IP
+ for remove CUPS server
+
+2000-11-10 17:30 Fançois Pons
+
+ * perl-install/share/po/fr.po: typo fixing
+
+2000-11-10 17:26 Fançois Pons
+
+ * perl-install/printerdrake.pm: updated typo for remote CUPS server
+ configuration dialog
+
+2000-11-10 15:16 Dam's
+
+ * perl-install/netconnect_new.pm: completed adsl_conf_backend
+ corrected conf_network_card_backend : return interface and module
+ separately splitted pppconfig.
+
+2000-11-10 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/c/stuff.xs.pm: initIMPS2 move where it should be (in
+ non-C_RPM dependent section)
+
+2000-11-10 11:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: da.po, wa.po: updated Danish and Walloon
+ files
+
+2000-11-10 00:09 Guillaume Cottenceau
+
+ * mdk-stage1/mar/: Makefile, mar-extract-only.c,
+ mar-extract-only.h, mar-frontend.c, mar.h: add `mar' archiving
+ program
+
+2000-11-09 17:44 Fançois Pons
+
+ * perl-install/printer.pm: make sure to restart cups when
+ cupsd.conf is modified.
+
+2000-11-09 17:39 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: the guy must now type "yes" before being
+ able to go on...
+
+2000-11-09 17:31 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: changed the message
+
+2000-11-09 17:17 Pixel <pixel at mandriva.com>
+
+ * rescue/list: add eject
+
+2000-11-09 17:17 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: umount and eject the cdrom before leaving
+ halt instead of reboot
+
+2000-11-09 14:49 Fançois Pons
+
+ * perl-install/printerdrake.pm: fixed modification of BrowsePoll on
+ a existing file.
+
+2000-11-09 14:20 Fançois Pons
+
+ * perl-install/share/po/fr.po: add some missing translation (mainly
+ printer for CUPS remote config)
+
+2000-11-09 14:17 Dam's
+
+ * perl-install/netconnect.pm: added handling for 2 ethernet cards
+ with the same module
+
+2000-11-08 22:39 Guillaume Cottenceau
+
+ * perl-install/share/MonitorsDB: Fixed Samsung SyncMaster 3Ne (bug
+ #1136)
+
+2000-11-08 22:18 Pixel <pixel at mandriva.com>
+
+ * make_boot_img: (boot_img_i386): add label preinst which is the
+ same as oem
+
+2000-11-08 19:49 Fançois Pons
+
+ * perl-install/pkgs.pm: added new function for selected or
+ installed accessor on pkg
+
+2000-11-08 19:48 Fançois Pons
+
+ * perl-install/install_steps.pm: fixed for urpmi again;
+
+2000-11-08 18:29 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed regexp for french : accep space or
+ minus before fr.
+
+2000-11-08 16:02 Fançois Pons
+
+ * perl-install/pkgs.pm: make sure package already installed for oem
+ are marked as selected, as some code refer to this state to
+ perform some actions (install_urpmi)
+
+2000-11-08 14:42 Fançois Pons
+
+ * perl-install/printerdrake.pm: add management of BrowsePoll
+ <ip>:<port> in /etc/cups/cupsd.conf
+
+2000-11-08 14:39 Fançois Pons
+
+ * perl-install/printer.pm: add minimal management of
+ /etc/cups/cupsd.conf
+
+2000-11-08 14:27 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/es.po: updated Spanish file
+
+2000-11-08 13:09 Dam's
+
+ * perl-install/netconnect_new.pm: updated
+
+2000-11-08 11:22 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: make sure class discarding do not
+ destroy result
+
+2000-11-07 21:08 Dam's
+
+ * perl-install/netconnect_new.pm: ttyS0 -> ttyS7 available for
+ configuration
+
+2000-11-07 21:07 Dam's
+
+ * perl-install/mouse.pm: now there are 8 ttyS* available for
+ configuration. Used for internal modem configuration that uses
+ ttyS* > 3
+
+2000-11-07 19:41 Fançois Pons
+
+ * rescue/tree/etc/closurepkgs: added missing cdrecord in
+ conditional package to install.
+
+2000-11-07 19:39 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): in oem, configureX automatic
+
+2000-11-07 19:04 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: set the lang chosen in menu.lst
+
+2000-11-07 19:02 Fançois Pons
+
+ * rescue/tree/etc/closurepkgs: added conditional packages to the
+ packages (closure or install) according cases.
+
+2000-11-07 18:46 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: find lang based on /cdrom/VERSION, give it
+ to closurepkgs
+
+2000-11-07 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (afterInstallPackages): give
+ medium 'cdrom' to install_urpmi in case of $::oem
+
+2000-11-07 18:38 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): $::oem is now global :-(
+ (needed in install_steps.pm)
+
+2000-11-07 17:36 Fançois Pons
+
+ * rescue/tree/etc/oem: fixed wrong generation of /etc/fstab
+
+2000-11-07 17:12 Fançois Pons
+
+ * rescue/tree/etc/oem: make sure fstab is not just empty but
+ contains /
+
+2000-11-07 16:52 Fançois Pons
+
+ * rescue/tree/etc/oem: use /etc/closurepkgs instead of closurepkgs
+ directly.
+
+2000-11-07 16:51 Fançois Pons
+
+ * rescue/tree/etc/closurepkgs: removed use strict (not present in
+ rescue) and ordered output according to depslist.ordered.
+
+2000-11-07 16:07 Guillaume Cottenceau
+
+ * perl-install/share/Cards+: fix tseng server for ET4000 W32i, W32p
+ thanks to <sileryti@mail.com>
+
+2000-11-07 16:03 Dam's
+
+ * perl-install/netconnect_new.pm: some doc
+
+2000-11-07 15:06 Fançois Pons
+
+ * perl-install/install_steps_interactive.pm: use of
+ install_any::boot_medium to avoid listing medium used for boot
+
+2000-11-07 15:05 Fançois Pons
+
+ * perl-install/install_any.pm: use of $boot_medium where the boot
+ medium is used (default 1)
+
+2000-11-07 15:04 Fançois Pons
+
+ * perl-install/Xconfigurator.pm: fixed text for card prefered in
+ XFree 3.3 (RIVA128).
+
+2000-11-07 15:02 Fançois Pons
+
+ * tools/closurepkgs: manage both to install and closure.
+
+2000-11-07 15:02 Fançois Pons
+
+ * rescue/tree/etc/oem: fixe for using standard CD for oem install
+ by using closurepkgs.
+
+2000-11-07 14:54 Fançois Pons
+
+ * rescue/tree/etc/closurepkgs: List packages to be installed
+ (compsslist level >= 50, lines beginning with I:) and packages
+ that could be installed by DrakX after packages (lines beginning
+ with C:). To be used with oem installation.
+
+2000-11-07 11:46 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: add creation of etc/fstab
+
+2000-11-07 11:45 Pixel <pixel at mandriva.com>
+
+ * Makefile: don't commit changelog
+
+2000-11-06 20:19 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm:
+ (choosePartitionsToFormat): don't propose already mounted
+ partitions
+
+2000-11-06 20:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (doPartitionDisksAfter): remove
+ the mount_all which is plain dumb
+
+2000-11-06 20:18 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (formatPartitions):
+ formatMountPartitions done even in upgrade
+
+2000-11-06 19:09 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (use_root_part): fs::mount_all
+ really removed
+
+2000-11-06 19:06 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: (installCrypto): nicer
+ layout
+
+2000-11-06 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_any.pm: (use_root_part): fs::mount_all
+ removed
+
+2000-11-06 19:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (doPartitionDisksAfter):
+ fs::mount_all moved here
+
+2000-11-06 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (doPartitionDisks): use
+ $o->{partitioning}{use_existing_root}
+
+2000-11-06 18:05 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): set
+ $o->{partitioning}{use_existing_root} in oem
+
+2000-11-06 17:03 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/part_and_bootloader: hda1 now is 128MB fixed the
+ previous version which was truncated to 1 sector
+
+2000-11-06 16:58 Fançois Pons
+
+ * perl-install/pkgs.pm: created function for examining already
+ installed package on install (oem).
+
+2000-11-06 16:56 Fançois Pons
+
+ * perl-install/install_steps.pm: conditionnal format of / and use
+ already installed packages if any on install.
+
+2000-11-06 16:55 Fançois Pons
+
+ * perl-install/install2.pm: add a flag to allow by default
+ formating /
+
+2000-11-06 16:54 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: ca.po, cs.po, cy.po, da.po, de.po, el.po,
+ eo.po, es.po, et.po, eu.po, fi.po, fr.po, ga.po, gl.po, hr.po,
+ hu.po, id.po, is.po, it.po, ja.po, ko.po, lt.po, lv.po, nl.po,
+ no.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po,
+ sr.po, sv.po, th.po, tr.po, uk.po, wa.po, zh_CN.GB2312.po,
+ zh_TW.Big5.po: updated pot file
+
+2000-11-06 16:54 Fançois Pons
+
+ * rescue/tree/etc/oem: copy RPMS and base directories, check rpm
+ file presence before trying to install.
+
+2000-11-06 16:16 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/oem: oem modified to pre-install packages.
+
+2000-11-06 16:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, az.po, be.po, bg.po,
+ br.po: updated pot file
+
+2000-11-06 15:21 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: ChangeLog, keyboard.pm: added the 3 kbd layouts
+ for CZ and SK kbds
+
+2000-11-06 14:56 Guillaume Cottenceau
+
+ * perl-install/share/MonitorsDB: added Hitachi CM753 contributed by
+ Adam Julius <ajulius@yahoo.com>
+
+2000-11-06 14:18 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, ru.po, uk.po: GRUB/LILO/SILO
+ messages *must* be in ascii only. Changed cyrillic to ascii
+ transliteration for them
+
+2000-11-06 14:07 Dam's
+
+ * perl-install/network.pm: configureNetwork2 commented.
+
+2000-11-06 13:57 Dam's
+
+ * perl-install/netconnect_new.pm: backend/frontend fork complete
+
+2000-11-06 13:54 Dam's
+
+ * perl-install/any_new.pm: load_thiskind changed to
+ load_thiskind_backend, the wait function is passed by argument
+
+2000-11-06 13:09 Pixel <pixel at mandriva.com>
+
+ * rescue/tree/etc/part_and_bootloader: changed the default
+ partitioning scheme. Now: hda1(64MB): for Mandrake/mdkinst
+ hda2(128MB): swap hda3(3GB): root partition
+
+ the free space will be used for /home (hda5)
+
+2000-11-06 00:08 Guillaume Cottenceau
+
+ * perl-install/share/MonitorsDB: added LG StudioWorks520Si
+ contributed by Yves Maniette <yves@maniette.com>
+
+2000-11-05 23:46 Dam's
+
+ * perl-install/mouse.pm: changed 'IntelliMouse label' to 'Generic
+ PS2 Wheel Mouse'
+
+2000-11-01 13:00 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/eo.po: updated Esperanto file
+
+2000-10-31 16:36 Dam's
+
+ * perl-install/any_new.pm: added this file to fork frontends and
+ backends in any.pm
+
+2000-10-31 16:36 Dam's
+
+ * perl-install/netconnect_new.pm: continuing forking frontend -
+ backend. adsl ist nearly finished
+
+2000-10-30 19:42 Pixel <pixel at mandriva.com>
+
+ * perl-install/lang.pm: (load_po): backslash @ in po strings,
+ otherwise the eval fails
+
+2000-10-30 16:35 Guillaume Cottenceau
+
+ * perl-install/share/compssList: heartbeat pixel wonderful un chien
+ vaut mieux que deux tu damsera
+
+2000-10-30 15:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/wa.po: updated Walloon file
+
+2000-10-30 14:14 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/keyboards.tar.bz2: updated keyboards
+
+2000-10-28 13:37 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/tr.po: updated Turkish file
+
+2000-10-28 03:50 Dam's
+
+ * perl-install/netconnect_new.pm: new version of draknet. Splited
+ frontends - backends
+
+2000-10-27 17:21 Fançois Pons
+
+ * perl-install/install_any.pm: remove the noising rpm output
+ command line when loging installed rpm size (only usefull for
+ live_update and just for conveniance).
+
+2000-10-27 14:05 Fançois Pons
+
+ * perl-install/pkgs.pm: Make sure $meta_class is defined in
+ readCompsUsers (for HTTP hack) before reading a compssUsers file.
+
+2000-10-27 14:03 Fançois Pons
+
+ * perl-install/live_install2: Make sure to remove font path in
+ /tmp/drakx before exiting.
+
+2000-10-27 14:02 Fançois Pons
+
+ * perl-install/live_install: add VERSION in list of file that have
+ to be symlinked.
+
+2000-10-27 14:02 Fançois Pons
+
+ * perl-install/common.pm: list_skels returns list of existing
+ directory and writeable.
+
+2000-10-26 09:59 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, it.po, tr.po: updated Italian
+ and Turkish files
+
+2000-10-24 22:45 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/pl.po: updated Polish file
+
+2000-10-24 16:56 Guillaume Cottenceau
+
+ * perl-install/share/compssList: fortune-mod gets 10/0/10 on
+ request from egil
+
+2000-10-23 22:40 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/ca.po: updated Catalan file
+
+2000-10-23 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/: ChangeLog, diskdrake.pm, install_steps.pm: added
+ some carriage returns to please jl :)
+
+2000-10-23 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_interactive.pm: (partitionWizardSolutions):
+ add "require resize_fat::main" as it should be
+
+2000-10-23 17:40 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (floppies, probeall): add require
+ "modules" as it should be
+
+2000-10-22 13:01 Guillaume Cottenceau
+
+ * perl-install/share/compssList: linuxconf-gui got -1/-1/-1 while
+ gnome-linuxconf has 74/0/74
+
+2000-10-21 03:31 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: az.po, tr.po, uk.po: updated Azeri,
+ Turkish and Ukrainian files
+
+2000-10-20 12:54 Fabian Mandelbaum <fabman at mandriva.com>
+
+ * perl-install/share/po/es.po: updated
+
+2000-10-20 11:21 Guillaume Cottenceau
+
+ * perl-install/share/compssList: ntp to -1/-1/-1
+
+2000-10-19 17:48 tlb
+
+ * perl-install/share/po/da.po:
+ 100%, Troels Liebe Bentsen.
+
+2000-10-19 12:13 Guillaume Cottenceau
+
+ * perl-install/share/compssList: put all packages requiring
+ kde1-compat to 0 except kisdn-free
+
+2000-10-19 11:54 Guillaume Cottenceau
+
+ * perl-install/share/compssList: aumix now gets a high weight (79)
+ because it's required to save the mixer settings at shutdown
+
+2000-10-18 22:24 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/no.po: updated Norwegian file
+
+2000-10-18 20:07 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/az.po: Added AZeri file
+
+2000-10-17 18:04 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/lv.po: updated Latvian file
+
+2000-10-17 13:18 Dam's
+
+ * perl-install/: interactive_gtk.pm, netconnect.pm,
+ netconnect_consts.pm: removed unused code in ineractive_gtk added
+ some isdn card in pcitable corrected typos, and made ISA isdn
+ work
+
+2000-10-16 22:37 Pixel <pixel at mandriva.com>
+
+ * perl-install/keyboard.pm: (write): small pixelization (neater
+ now)
+
+2000-10-16 22:28 Pixel <pixel at mandriva.com>
+
+ * perl-install/detect_devices.pm: (cdroms): fix the setting of scdX
+ for ide burners
+
+2000-10-16 22:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (installPackages): don't run
+ ldconfig in g_auto_install
+
+2000-10-16 22:27 Pixel <pixel at mandriva.com>
+
+ * perl-install/share/compssList: sympa is -1 except for server
+
+2000-10-16 14:32 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, af.po, be.po, bg.po, br.po,
+ ca.po, cs.po, cy.po, da.po, de.po, el.po, eo.po, es.po, et.po,
+ eu.po, fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, is.po,
+ it.po, ja.po, ko.po, lt.po, lv.po, nl.po, no.po, pl.po, pt.po,
+ pt_BR.po, ro.po, ru.po, sk.po, sl.po, sp.po, sr.po, sv.po, th.po,
+ tr.po, uk.po, wa.po, zh_CN.GB2312.po, zh_TW.Big5.po: updated pot
+ file
+
+2000-10-16 13:36 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: ChangeLog, keyboard.pm, standalone/keyboarddrake:
+ corrected BackSpace setting
+
+2000-10-15 03:57 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/nl.po: updated Dutch file
+
+2000-10-14 13:11 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/share/po/: DrakX.pot, bg.po, de.po, es.po, fr.po,
+ wa.po: updated Bulgarian file
+
+2000-10-14 12:52 Pablo Saratxaga <pablo at mandriva.com>
+
+ * perl-install/: keyboard.pm, lang.pm: small fix for Swedish locale
+
+2000-10-13 14:18 Guillaume Cottenceau
+
+ * perl-install/share/compssList: added viavoicemenu
+
+2000-10-13 12:27 Fançois Pons
+
+ * perl-install/partition_table_empty.pm: empty partition table as
+ assumed only if the MBR is really composed of only null chars.
+
+2000-10-12 14:36 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps.pm: (ask_mntpoint_s): dqs
+
+2000-10-11 13:41 Pixel <pixel at mandriva.com>
+
+ * perl-install/.cvsignore: ignore flog files
+
+2000-10-11 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/ChangeLog: qsdqsd
+
+2000-10-11 13:30 Pixel <pixel at mandriva.com>
+
+ * perl-install/install2.pm: (main): test
+
+2000-10-11 11:58 Pixel <pixel at mandriva.com>
+
+ * perl-install/install_steps_interactive.pm: *
+ (selectKeyboard): set default $o->{langs} to $o->{lang}
+
+2000/10/10 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw, ChangeLog: make only one call to urpmi in order to
+ install all the needed rpm's
+
+2000/10/10 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * share/po/no.po, share/po/es.po: updated Norwegian file
+
+ * share/po/pl.po: updated Polish file
+
+ * share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po: updated Chinese file
+
+2000/10/10 tlb
+
+ * share/po/da.po: 99%.
+
+2000-10-10 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw: make only one call to urpmi in order
+ to install all the needed rpm's
+
+2000-10-10 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-10 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm: increase $::VERSION
+
+2000-10-09 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/po/fr.po: update after Dam's new messages in netconnect
+
+2000-10-09 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-09 Pixel <pixel@mandrakesoft.com>
+
+ * install_any.pm (kdeicons_postinstall): remove the handling of
+ doc desktop icons. see dadou
+
+2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/compssUsers: new list (with icons)
+
+ * share/list: add icons for compssUsers
+
+2000-10-09 dam's <damien@mandrakesoft.com>
+
+ * standalone/draknet: added wait message
+
+2000-10-09 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-09 Pixel <pixel@mandrakesoft.com>
+
+ * share/themes-*.rc: change the fg[INSENSITIVE] entry
+
+2000-10-09 François Pons <fpons@mandrakesoft.com>
+
+ * install_any.pm: added tuxracer in OpenGL games to install if an
+ accelerated card has been found.
+
+2000-10-09 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (main): asking connection after writing start/stop scripts.
+ (adsl_conf): if during install, don't use chkconfig, make the
+ links directly for the adsl init script.
+
+2000-10-09 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-09 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm (afterInstallPackages): UserView in kdmrc is
+ now true by default. So put false if security >= 3 instead of
+ removing it.
+
+2000-10-09 François Pons <fpons@mandrakesoft.com>
+
+ * any.pm: default speed of modem set to 115200.
+
+ * fs.pm: fixed format of RAID partition.
+
+ * install_interactive.pm: take into account RAID partitions for
+ searching / partition.
+
+2000-10-09 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-09 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm (selectKeyboard): don't assume $o->{langs} is set
+ (selectLanguage): don't set $o->{langs} (so that you can go back
+ and it works)
+
+ * common.pm (round_up, round_down): ensure number is an integer
+
+ * install_steps_interactive.pm (chooseGroups): take into account
+ the min_level to compute the size
+
+2000-10-08 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePackages): move the
+ computing of max_size before calling chooseGroups (not the one for
+ desktop meta_class)
+ (chooseGroups): compute the size of Miscellaneous
+
+2000-10-07 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-07 Pixel <pixel@mandrakesoft.com>
+
+ * share/compssList: don't install locales-* even in 'all' install
+ (those files are usefull if RPM_INSTALL_LANG doesn't include that
+ lang)
+
+2000-10-07 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-07 Pixel <pixel@mandrakesoft.com>
+
+ * pkgs.pm (install): log the gonna be installed packages (-> be
+ able to track not installed packages that should have been
+ installed)
+
+2000-10-06 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-06 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (pppConfig): the domain used for kppp is copied in resolv.conf
+ (intro): connection detection improved : now use "ifconfig | grep interface"
+ (pppConfig): corrected cnx_up/down
+
+2000-10-06 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-06 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm (afterInstallPackages): don't fail if
+ kdeglobals file is not there
+
+ * share/compssUsers.desktop: fix icons
+
+ * detect_devices.pm (cdroms): fix for scsi cdrom drives
+
+ * pci_probing/pcitable: put cs46xx instead of snd-card-cs461x
+ (dixit jeff)
+
+ * diskdrake.pm (Resize): comment ext2&reiserfs resizing for the
+ moment
+
+2000-10-06 Frederic Lepied <flepied@mandrakesoft.com>
+
+ * Xconfigurator.pm (write_XF86Config): added mode of wacom devices
+
+2000-10-06 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (ask_connect_now): connection is now tested.
+
+2000-10-06 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_interactive.pm, install_steps_gtk.pm: updated
+ license.
+
+ * Xconfigurator.pm: removed Matrox G200/G400 3D acceleration by
+ DRI, use only Mesa with Utah GLX, fixed autologin for avoiding
+ drakres and no wm available, moved Riva128 card from experimental
+ to stable, fixed presentations of text.
+
+ * pci_probing/pcitable: fixed Cirrus Logic sound card.
+
+2000-10-06 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-06 François Pons <fpons@mandrakesoft.com>
+
+ * install2.pm: fixed bad call to hasUsb...
+
+ * share/Cards+: fixed wrong use of SiS card with 4.0.1, only keep
+ 530, 620 and 6326 with XFree 4.0.1.
+
+2000-10-06 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-06 Pixel <pixel@mandrakesoft.com>
+
+ * share/list: remove /usr/X11R6/lib/X11/Cards, not needed anymore
+
+ * install_steps.pm (afterInstallPackages): put the Charset in
+ kdeglobals, otherwise kde uses charset iso8859-1 :(
+
+ * lang.pm (charset): created
+
+ * common.pm (update_userkderc): fix it, change the argument
+ passing
+
+2000-10-05 Pixel <pixel@mandrakesoft.com>
+
+ * share/compssList: raise kde-i18n-*, should be installed whenever
+ kdebase is installed
+
+ * pci_probing/pcitable: integrate patch from viet (concerns
+ sym53c8xx cards)
+
+ * share/compssUsers: use "documentation" as the database icon
+
+ * install_steps_interactive.pm (chooseGroups): fix to accept icons
+ not in the format "*_section.xpm"
+
+ * install2.pm (miscellaneous): put yes/no in sysconfig/usb entries
+
+2000-10-05 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (adsl_conf): updated pppoe conf.
+ (main): added $netc->{minus_one} to avoid to count dhcp configured
+ eth when asking to share the connection.
+ (adsl-pppoe): improvement. Should work now.
+ (miscellaneous): corrected chmod 755 to 744 for connections scripts
+
+ * netconnect.pm (main): network is stopped then started, instead
+ of restarted.
+
+2000-10-05 François Pons <fpons@mandrakesoft.com>
+
+ * live_install: added icons (this fixes the yellow on white
+ tooltips problem).
+
+ * install_any.pm: added ghostscript-utils in the list of packages
+ to copy when changing CD.
+
+ * printerdrake.pm: install ghostscript-utils if a lexmark printer
+ is selected on cups.
+
+2000-10-05 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-05 Pixel <pixel@mandrakesoft.com>
+
+ * install_any.pm (loadO): look for auto_inst.cfg in /, not in
+ /Mandrake/base
+
+2000-10-05 François Pons <fpons@mandrakesoft.com>
+
+ * netconnect.pm: fixed syntax error.
+
+ * share/po/i18n_compssUsers: simplified version and fixed
+ dependancies to pkgs.pm (for building drakxtools).
+
+2000-10-04 François Pons <fpons@mandrakesoft.com>
+
+ * install_gtk.pm: removed 80 pixel on height for live upgrade.
+
+ * install_steps.pm: do not set keyboard when live upgrade after
+ setting the language.
+
+ * install_steps_gtk.pm: fixed the trying to start a X server on
+ live.
+
+2000-10-04 Pixel <pixel@mandrakesoft.com>
+
+ * share/po/i18n_compssUsers: fake module ``c'' so that no need to
+ build DrakX to use i18n_compssUsers
+
+ * install_steps_interactive.pm (selectLanguage): update license
+
+ * install_steps_gtk.pm (installPackages): add second license for
+ shitty soft (commercial one)
+
+2000-10-04 dam's <damien@mandrakesoft.com>
+
+ * draknet (netconnect.pm and network.pm): various translations
+ corrected, network is restarted, buttons connect/disconnect
+ debugged.
+
+2000-10-04 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-04 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm (main): kill prefdm instead of autologin
+
+ * install_any.pm (find_root_parts): don't use
+ suggest_mount_points, it couldn't do what we wanted
+ (guess_mount_point): created, contains the common stuff between
+ suggest_mount_points and find_root_parts
+
+2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw: fix some failing/untranslated i18n messages
+
+ * share/po/fr.po: write translations according to drakgw
+
+2000-10-04 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: removed bad card for 3D Rage Pro.
+
+ * install_any.pm: removed Aurora for SiS card, add more case for
+ detecting right cdrom for live upgrade, fixed wrong list of
+ packages for laptops.
+
+ * c/stuff.xs.pm: added time interval of 200ms between update of
+ progression bar of install, make sure the last step is seen.
+
+2000-10-04 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-04 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (when_load): stricter regexp for $type is scsi or not
+ (so that scsi_mod with is scsi_raw doesn't get an alias
+ scsi_hostadapter)
+
+ * detect_devices.pm (isLS120Drive): extend the regexp to include
+ "Caleb Technology - 144MB FDD UHD Floppy"
+
+ * detect_devices.pm (burners, IDEburners): reworked, renamed, now
+ works!
+ * c/stuff.xs.pm (isBurner): created
+
+ * modules.pm (load_ide): make sure ide-cd is loaded!
+
+ * install_steps_interactive.pm (chooseGroups): the label and help
+ are now translated (at least will be), so use the translations
+
+2000-10-03 Pixel <pixel@mandrakesoft.com>
+
+ * share/po/Makefile (DrakX.pot): added the to-be-translated from
+ compssUsers
+ * share/po/i18n_compssUsers: read the compssUsers's and output the
+ to-be-translated in po format
+
+ * log.pm (l): log to STDERR instead of STDOUT
+
+ * install_any.pm (loadO): use first floppy drive available (won't
+ help much though, as stage1 doesn't follow this...)
+
+2000-10-03 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-03 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm (autologin): don't propose autologin in
+ security > 3
+
+ * common.pm (availableRamMB): HACK HACK if i810 and memsize,
+ returns 127
+
+ * bootloader.pm (suggest): don't use grub if more than 800MB
+
+2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/po/validate.pl: create this tool
+
+ * share/po/fr.po: fix many typos
+
+ * share/po/fr.po: make compssUsers translation
+
+2000-10-03 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator_consts.pm: changed resolution allocation.
+
+ * fs.pm: removed no more used log.
+
+ * install2.pm: add exit button if live upgrade.
+
+ * install_any.pm: increased minimal available size to 65Mb.
+
+ * install_steps.pm, standalone/printerdrake: fixed cups to CUPS
+ for mode.
+
+ * printerdrake.pm: fixed not_edit for lpr mode of printerdrake.
+
+ * share/Cards+: fixed Savage2000 entry.
+
+2000-10-03 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-03 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: updated bad card with Rage Mobility card.
+
+ * live_install: added test of root user, abort if not root.
+
+2000-10-03 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/po/fr.po: fixed bug #518 and fixed other misc errors
+
+2000-10-03 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-10-02 François Pons <fpons@mandrakesoft.com>
+
+ * diskdrake.pm (Resize): fix to make ext2resizing work a little
+ better
+
+ * install_steps.pm: fixed installation of urpmi configuration.
+
+ * detect_devices.pm: updated comment about UltraDMA66/100
+ management.
+
+ * modules.pm: updated comment about UltraDMA66/100 management.
+
+ * diskdrake.pm: adding a cylinder for the minimum of the resize
+ and if there is nothing to do for resize, simply return.
+
+ * install_any.pm: added missing require pkgs.
+
+2000-10-02 Pixel <pixel@mandrakesoft.com>
+
+ * many files: remove many lnx4win special cases which are not
+ needed anymore
+
+ * any.pm (addUsers): grpuser output goes to Mr Dave
+
+ * bootloader.pm (install_lilo): change the default color of menu
+
+ * install_steps_interactive.pm (choosePackages): add 300MB choice
+ in desktop
+
+ * mouse.pm (fullnames): fix i18n fix
+
+ * install_steps.pm (miscellaneous): don't add ide2=0x... for
+ ultra66 (otherwise chmouel is not happy, so is hdc being hde)
+
+ * Xconfigurator.pm (main): add handling of icewm logout
+
+ * c/stuff.xs.pm: changed the stepping of "Progressing installing package"
+
+2000-10-02 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (main): infos are written only when needed.
+ * netconnect.pm (intro): connection checking now works.
+
+2000-10-02 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+
+ * pci_probing/pcitable: s|snd-card-via686a|via82cxxx_audio|; like
+ jeff request.
+
+2000-09-30 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-30 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm: a LOT of bugs fixed. draknet is now completely
+ brok^H^H^H^Hfrozen.
+
+2000-09-29 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-29 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (adsl_conf): dhcp should better work.
+
+ * network.pm (configureNetwork): remove connection script if a
+ gateway is given.
+
+ * common.pm (setVarsInShMode): created. chmod the file with
+ permissions passed in argument.
+
+2000-09-29 François Pons <fpons@mandrakesoft.com>
+
+ * modules.pm (load): fixed when standalone, use modprobe.
+
+ * pkgs.pm: added preference for wu-ftpd.
+
+ * detect_devices.pm: added code to proble USB printer.
+
+ * printer.pm: fixed missing PRINTER=yes on CUPS configuration for
+ USB printer.
+
+ * install_steps.pm: removed possibilty to add an user in urpmi
+ group (jloup).
+
+ * install_steps_interactive.pm: log if CD not ejectable.
+
+2000-09-29 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/compssList: sync with latest packages
+
+ * install_steps_interactive.pm (selectLanguage($)): s/42/43/ in
+ MandrakeSoft physical address
+
+2000-09-29 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-29 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (intro): detection of internet
+ configuration/connexion state.
+
+ * network.pm (write_resolv_conf): better "ppp temp nameserver" in resolv.conf
+
+2000-09-28 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (load_thiskind): add read_already_loaded cuz of
+ pcmcia
+
+2000-09-28 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/compssList: add nasty DrakSync and DrakProfile with 50 0 50
+
+2000-09-28 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-28 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePackages): the minimum is 25
+ in beginner, not 10
+
+ * pkgs.pm (readCompssUsers): fix reading description
+
+ * install_steps.pm (afterInstallPackages): remove the code to
+ handle RPM-GPG-KEYS
+
+2000-09-28 dam's <damien@mandrakesoft.com>
+
+ * interactive_gtk.pm (ask_from_list_with_helpW): no more theme
+ parsing, no more draknet.rc
+
+ * netconnect.pm (read_net_conf): no adsl tree anymore.
+
+ * netconnect.pm: drakgw called if enough card are installed.
+
+ * netconnect.pm: minor bugs correction.
+
+2000-09-28 François Pons <fpons@mandrakesoft.com>
+
+ * Makefile.config: added livedrake for drakxtools.
+ * diskdrake.pm: use corrected partition size when resizing a dos
+ partition (like the others).
+ * install_any.pm: no more pnm2ppa packages and others in package
+ to copy when changing CD.
+ * live_install: exec live_install2 instead.
+ * live_install2: contains post live upgrade stuff now.
+ * printerdrake.pm: protect set_help() usage by if $::isInstall,
+ removed reference to package pnm2ppa and others.
+ * standalone/livedrake: initial release for drakxtools.
+
+2000-09-28 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-28 Pixel <pixel@mandrakesoft.com>
+
+ * install_interactive.pm (partitionWizardSolutions): fix the limit
+ cases for lnx4win
+
+ * share/po/Makefile ($(PMSCFILES)): fix the DrakX.pot generation
+
+2000-09-27 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePackages): set $size2install
+ to $availableC in desktop install, as it should be
+
+ * install2.pm (choosePackages): remove the code for removing kdesu
+ in high security...
+
+ * install_steps_interactive.pm (createBootdisk): format more
+ nicely the text
+
+ * install_steps_gtk.pm (installPackages): add 10 seconds to have a
+ better estimation
+
+ * install_steps_interactive.pm (chooseGroups): now returns a boolean
+ (choosePackages): use chooseGroups return value to redo
+ choosePackages
+
+ * install_steps_gtk.pm (selectMouse): if mouse type is none, then
+ don't test!
+
+ * Xconfigurator.pm (monitorConfiguration): rename Unlisted to Custom
+
+ * various: replace all Rescue by Update
+
+ * pkgs.pm (readCompssUsers): read description for groups
+
+ * install_steps_interactive.pm (chooseGroups): add description for
+ groups
+
+2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/compssUsers.desktop: added description
+
+ * share/compssUsers: added description
+
+ * share/compssUsers.desktop: added icon support, reordered,
+ renamed
+
+ * share/compssUsers: reordered, renamed
+
+2000-09-27 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-27 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (selectLanguage): intregrate
+ license again
+
+ * pkgs.pm (readCompssUsers): reads compssUsers.meta_class
+
+ * diskdrake.pm (Create): replace ``ne "i386"'' by ``!~ /i.86/''
+ (as should be)
+
+ * install_steps_gtk.pm (selectInstallClass1): if @$l (list of
+ install classes) contains only one element, call
+ install_steps_interactive::selectInstallClass1
+
+ * install_steps_interactive.pm (choosePartitionsToFormat): fix for
+ "no partitions selected to format"
+
+ * my_gtk.pm (_create_window): alt-e now *toggles* expert/newbie
+
+2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * share/compssList: more for gnupg, -11 for sucking things,
+ changed compss-groups to be less than 70.
+
+ * share/compssUsers: modified compssUsers with Warly, added
+ compssUsers.desktop, simplified for KD (now uses Graphical
+ Desktop/KDE instead of listing all relevant packages)
+
+2000-09-27 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (get_info_adsl_providers, read_adsl_providers):
+ Created. adsl provider tree.
+ (set_net_conf): better informations storing.
+
+ * my_gtk.pm (new): windows are always centered if standalone.
+
+2000-09-27 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: added option "sw_cursor" for S3 Trio3D. fixed
+ 3D hw acceleration for i815 (VideoRam). prefer XF3 for all
+ NeoMagic cards.
+ * install_gtk.pm: re-enabled themes on live upgrade but without
+ modifying background image.
+ * install_steps_gtk.pm: fixed missing help.
+ * live_install: lot of fixes to enable DrakX font, keep upgraded
+ system clean (libperl.so which allows graphical login).
+ * pkgs.pm: added function allowedToUpgrade to filter kernel
+ package.
+
+2000-09-27 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-27 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (configureX): if `clicked' don't go
+ to auto mode
+
+ * Xconfigurator.pm (monitorConfiguration): fix the translated
+ 'Generic' which is not so (and must not be so) anymore
+
+2000-09-26 Pixel <pixel@mandrakesoft.com>
+
+ * pkgs.pm: remove all Unskip code
+
+ * my_gtk.pm (_create_window): add shortcut alt-e to switch to
+ expert
+
+ * Xconfigurator.pm (resolutionsConfiguration): fix for setting
+ legal resolution
+
+ * install_steps_interactive.pm (selectLanguage): use formatAlaTeX
+ on the license
+
+2000-09-26 François Pons <fpons@mandrakesoft.com>
+
+ * fs.pm: added mounting of swap partition when mounting them
+ all (this can help :-)
+ * pkgs.pm: fixed correction size code to make (really) a true
+ bijection between corrected and rpm size.
+
+2000-09-26 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-26 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (selectLanguage): integrate the
+ license (temporary one)
+
+ * modules.pm (write_conf): fix the /etc/modules generation
+
+ * interactive_gtk.pm (ask_many_from_listW): if more than 5 entries
+ in icon format, use scrollbar. In non-icon format, use scrollbar
+ for more than 11 entries.
+
+ * commands.pm (bug): add ddcxinfos
+
+ * pci_probing/pcitable: replace tulip by de4x5 for 2104x cards
+
+2000-09-26 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: added more 3D Rage Pro card for 3D
+ acceleration with Utah-GLX (Rage Mobility, Rage XC/XL),
+ modified identification for checking acceleration.
+ * install_any.pm: added automatic installation (up 60) for
+ OpenGL games if a graphic card MAY BE accelerated.
+ * live_install: fixed perl idioms in pure shell script and added
+ packdrake symlink if not already installed.
+ * share/compssList: changed level to -1 for all needing 3D hw
+ acceleration packages.
+
+2000-09-26 dam's <damien@mandrakesoft.com>
+
+ * network.pm (write_resolv_conf): write temp dns line to be used
+ with new initscripts package. Use to set dns live.
+
+2000-09-26 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-26 Pixel <pixel@mandrakesoft.com>
+
+ * mouse.pm (read): catch exception if fullname2mouse fails (eg:
+ old FULLNAME format)
+
+2000-09-25 Pixel <pixel@mandrakesoft.com>
+
+ * share/MonitorsDB: merge with latest redhat MonitorsDB
+
+ * pci_probing/pcitable: major merge with latest redhat pcitable
+
+ * share/Cards+: added "Intel 815", renamed "Rage 128 (generic)" to
+ "Rage 128", added "Rage 128 Mobility"
+
+ * install_any.pm (getAvailableSpace): keep 10% of free space on
+ big partitions
+
+ * Xconfigurator.pm (readMonitorsDB): don't translate Generic
+ (otherwise, only a part is translated, see MonitorsDB for the
+ non-translated part)
+
+ * interactive.pm (ask_many_from_list): fix sorting
+
+ * install_gtk.pm (test_mouse): smaller box to fit in 640x480
+
+ * install_steps.pm (afterInstallPackages, beforeInstallPackages):
+ RPM-GPG-KEYS is copied before installing packages
+
+ * pkgs.pm (readCompssUsers): handle icons in compssUsers
+
+ * common.pm (truncate_list): ensure the list is not too big
+
+ * install_steps_gtk.pm (choosePackagesTree): restrict the list to
+ 20 elements if it is too big (use truncate_list)
+
+2000-09-25 François Pons <fpons@mandrakesoft.com>
+
+ * bootloader.pm: add Video mode for entry.
+ * fs.pm: updated for live upgrade.
+ * install2.pm: dropped unuseful steps filtering.
+ * install_any.pm: fixed wrong Device3Dfx package name and clean
+ postinstall rpms directory on upgrade before filling it.
+ * install_gtk.pm: removed window restrictions of live upgrade.
+ * install_steps.pm: fixed initrd symlink following in case of
+ upgrade.
+ * install_steps_gtk.pm, install_steps_interactive.pm: keep always
+ upgrade on live upgrade.
+ * modules.pm: may fixed pcmcia lost driver (typically on network).
+ * pkgs.pm: fixed (uggly?) usage of floating perl data on perl
+ script :-)
+ * printer.pm: back to "Generic PostScript" for default printer (jloup).
+ * printerdrake.pm: make sure an expert can choose among available
+ devices.
+
+2000-09-25 dam's <damien@mandrakesoft.com>
+
+ * network.pm (write_resolv_conf): write '# ppp temp entry adsl' in
+ /etc/resolv.conf if needed.
+
+ * netconnect.pm : adsl connection does'nt need any dns anymore.
+
+ * netconnect.pm (read_net_conf): created. draknet now stores and
+ reload the config.
+
+ * netconnect.pm (main): if the user is french and uses french
+ keyboard, don't ask his country.
+
+2000-09-25 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm: added 8139too
+
+ * share/Cards+: GeForce2 DDR is handled by driver "nv"
+
+ * Xconfigurator.pm (main): in killall X for Xdrakres, also killall
+ kdm/xdm/gdm/autologin :)
+
+2000-09-25 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-25 dam's <damien@mandrakesoft.com>
+
+ * network.pm (configureNetwork): Warn user if he already
+ configured the interface.
+
+2000-09-24 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (mergein_conf): created. call read_conf, fills
+ %modules::conf and set $modules::scsi
+
+2000-09-24 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw (fatal_quit($)): add log of reason of fatal_quit
+
+2000-09-24 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-24 Pixel <pixel@mandrakesoft.com>
+
+ * commands.pm (bug): use first floppy drive instead of fd0 hard
+ coded (nice for LS120's)
+
+ * install_steps_gtk.pm (selectMouse): if device changed, do the
+ test
+ * standalone/mousedrake: fix for serial mice
+ * install_steps_interactive.pm (selectMouse): fix for serial mice
+
+2000-09-23 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (conf_network_card): now displays the modules of
+ detected ethernet cards.
+
+2000-09-22 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (main): calls drakegw.
+ * netconnect.pm (get_net_device): fixed
+
+2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw:
+ - added logs
+ - added verbose mode
+ - fixed wrong stopping of named in other languages than english
+
+ * netconnect.pm (get_net_device): try to fix it..
+
+2000-09-22 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (selectKeyboard,
+ choosePartitionsToFormat, chooseCD, installCrypto): use new ask_many_from_list
+ ():
+
+ * interactive.pm (ask_many_from_list): now only ask_many_from_list
+ exists, obsoleting ask_many_from_list_ref and
+ ask_many_from_list_with_help. More flexible and nicer
+ * interactive_newt.pm (ask_many_from_listW): adapted to new
+ calling type
+ * interactive_gtk.pm (ask_many_from_listW): adapted to new calling
+ type, handle 'shadow' and 'icon2f'
+
+2000-09-22 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (main): if /lnx4win/i in VERSION, set $o->{lnx4win}
+
+ * Xconfigurator.pm (cardConfiguration): fix setting 4MB of meg for
+ i810
+ (testFinalConfig): i810 is a verybad_card, aka can't test anything
+ on it :-(
+ (main): fork to background and stay there while waiting for the WM
+ to exit
+ (testFinalConfig): update the backgroung image path
+
+ * interactive_gtk.pm (exit): flush X before leaving (otherwise the
+ mousecursor is not restored)
+
+ * run_program.pm (rooted): don't redirect the stdout and stderr to
+ ddebug.log if not $::isInstall
+
+ * log.pm (l): log on stdout/stderr if !isInstall and !isStandalone
+
+ * modules.pm (load_raw): redirect stderr to tty5
+
+ * install2.pm (main): set variable $::isInstall
+
+2000-09-22 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/drakgw: now includes information from netconnect to
+ ignore the interface used for Internet connection
+
+2000-09-22 dam's <damien@mandrakesoft.com>
+
+ * install_steps_gtk.pm (selectInstallClass1): pixel's typo.
+
+ * netconnect.pm (get_net_device): added get_net_device to know
+ which interface has been used to configure the internet connection.
+ (conf_network_card): ask to restart network if dhcp too.
+ (main): enable dialing when modem.
+
+ * network.pm (configureNetworkIntf): changed label to warn people
+ about already configured eth cards.
+
+2000-09-22 François Pons <fpons@mandrakesoft.com>
+
+ * install_gtk.pm: added Desktop themes.
+ * share/themes-mdk-Desktop.rc, share/themes/mdk-Desktop-bg.png:
+ initial release.
+ * install2.pm: moved back to all steps for live upgrade.
+ * install_gtk.pm: select right logo if desktop.
+ * install_steps_interactive, install_steps_gtk.pm: avoid asking if
+ upgrade for a live upgrade.
+
+2000-09-22 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm: add some call to log_sizes to log the
+ installed size
+
+ * install_steps_gtk.pm (installPackages): beep before changeMedium
+
+2000-09-21 Pixel <pixel@mandrakesoft.com>
+
+ * interactive.pm (ask_from_listf): try to call the f translation
+ function on the default value with the index
+
+ * install_steps.pm (afterInstallPackages): make the gpg code work,
+ changed the call to
+ "gpg --fast-import --homedir /etc/rpm /root/tmp/RPM-GPG-KEYS"
+
+ * detect_devices.pm: cleanup and removed unused code
+
+2000-09-21 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * detect_devices.pm (getNet()): really remove plip in standalone
+
+2000-09-21 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps.pm, netconnect.pm: changed NETWORKING reference
+ from false to no.
+ * printer.pm: changed timeout from 30 to 60.
+ * printerdrake.pm: added wait message when waiting for cups to
+ start.
+ * pci_probing/pcitable: added erwan VIA Rhine board.
+ * network.pm: added DHCP_HOSTNAME reference.
+
+2000-09-21 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-21 Pixel <pixel@mandrakesoft.com>
+
+ * standalone/keyboarddrake: fix for XF4
+
+ * Xconfigurator.pm (write_XF86Config): comment the omit
+ xfree86-dga
+
+ * install_steps.pm (afterInstallPackages): configure GPG public
+ keyring with mandrake key
+
+ * standalone/mousedrake: updated/fixed for new mouse handling
+
+ * install2.pm (main): update for handling oem installs
+
+ * many files: relGetFile cleanup, updated calls to getFile and
+ getAndSaveFile accordingly
+
+ * Xconfigurator.pm (testFinalConfig): new XFdrake-image-test.jpg
+
+ * detect_devices.pm (@netdevices): plip removed in standalone,
+ otherwise plip is always there (because of kmod)
+
+ * install_steps_interactive.pm (choosePartitionsToFormat): replace
+ the die "cancel" by die "already displayed", so that no error is
+ displayed.
+
+ * pci_probing/pcitable: replace some rtl8139 by 8139too, added
+ cards DELTA8139 and ADDTRON8139 (for jeff)
+
+ * Xconfigurator.pm (show_info): also show the colordepth and
+ resolution. don't show server if none, show XF4 driver if there's
+ one.
+ (main): change the "Forget the changes" to "Keep the changes?"
+ with displaying the current configuration.
+
+2000-09-21 François Pons <fpons@mandrakesoft.com>
+
+ * printer.pm: changed "PostScript" ppd default description to "Raw
+ queue (no filtering)", asked by Till.
+ * Xconfigurator.pm: add log of what user select for 3D hw
+ acceleration.
+ * share/compssList: changed XFree86-glide-module to -2 because the
+ level is the same for XFree86-Glide* which may have multiple
+ different version installed due to dependancies of the first one.
+
+2000-09-21 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (conf_network_card): added check when dhcp. Cable connection
+ should now work.
+
+2000-09-21 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-21 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (exitInstall): call $o->exit if
+ "Some steps are not completed"
+
+2000-09-20 Pixel <pixel@mandrakesoft.com>
+
+ * bootloader.pm (install_loadlin_config_sys,
+ install_loadlin_desktop): extracted from install_loadlin, do not
+ call them anymore (remove it?)
+ (suggest): put grub in lnx4win install
+
+ * common.pm (availableRamMB): fixed (round to a multiple of 4)
+
+2000-09-20 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (get_info_isdn_providers & read_isdn_providers):
+ read file in /usr/share and $prefix/usr/share
+ (isdn_write_config): corrected file to be sh compliant.
+ (isdn_write_config): added default route settings for isdn.
+
+2000-09-20 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-20 Pixel <pixel@mandrakesoft.com>
+
+ * pci_probing/pcitable: replace es1371 by snd-card-ens1371
+
+2000-09-20 dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator.pm (autologin): for urpmi, added `--best-output' and suspend/resume
+
+2000-09-20 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * standalone/printerdrake: for urpmi, added `--best-output' and suspend/resume
+
+ * standalone/XFdrake: for urpmi, added `--best-output' and suspend/resume
+
+2000-09-20 dam's <damien@mandrakesoft.com>
+
+ * standalone/draknet: used new package install function.
+
+2000-09-20 Pixel <pixel@mandrakesoft.com>
+
+ * detect_devices.pm (isFloppyOrHD): detects wether a device is a
+ floppy or not based on its size (for scsi floppy)
+
+ * Xconfigurator.pm (testFinalConfig): check if "server" OR
+ "driver" field is set (otherwise XF4 only card won't pass)
+
+ * bootloader.pm (suggest): fix for ``installing the last cooker
+ from kenobi:/I on an smp machine i don't get anymore an entry for
+ linux-up'' (c chmouel)
+
+2000-09-20 dam's <damien@mandrakesoft.com>
+
+ * netconnect.pm (read_isdn_providers): corrected typo ($_ -> $_[0])
+
+2000-09-20 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-19 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (get_pcmcia_devices): fix (especially, now ethernet
+ should be detected)
+
+ * lang.pm (get_langs): created, gives rpm install langs
+ * install_any.pm (setPackages): give langs::get_langs() to
+ readCompssList
+ * pkgs.pm (readCompssList): don't use RPM_INSTALL_LANG, use given
+ $langs instead. This fixes the RPM_INSTALL_LANG=all install.
+
+2000-09-19 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * netconnect.pm: make dhcp-client, pump and such not translatable.
+ Those are program names and should therefore not be translated,
+ that only confuses translators
+
+2000-09-19 dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator.pm (autologin): corrected @users definition and
+ passwd cat.
+
+2000-09-19 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-19 Pixel <pixel@mandrakesoft.com>
+
+ * many files: changed some access to get_root to get_root_
+
+ * install_steps_interactive.pm (choosePackages): added code for
+ desktop meta_class install type
+
+ * install_steps_gtk.pm (selectMouse): cleanup, give parameter
+ emulate3buttons to setMouseLive
+ * c/stuff.xs.pm (setMouseLive): add argument emulate3buttons
+
+2000-09-19 Guillaume Cottenceau <gc@mandrakesoft.com>
+
+ * interactive*.pm: changed `suspend' and `resume' to behave as expected,
+ added `enter_console' and `leave_console'
+
+2000-09-19 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-19 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (miscellaneous): replaced LITTLE_FRIED_OIGNONS by
+ META_CLASS
+
+ * Xconfigurator.pm (cardConfiguration): when ddcxinfos gives false
+ result (not enough VideoRam), also remove the found resolutions
+ * Xconfigurator.pm (main): remove the automatic searching of
+ resolutions
+ * Xconfigurator.pm (resolutionsConfiguration): cleanup, remove the
+ automatic searching of resolutions.
+
+ * mouse.pm (fullnames): changed the `_' in `[' before Other
+ (nicer, uh?)
+
+ * install2.pm (selectMouse): changed clicked to !first_time
+
+2000-09-19 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-19 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm (testFinalConfig): remove the bloody prototype
+
+2000-09-19 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-18 Dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator (autologin): do it eve, if newbie. Autologin is
+ now in separated function.
+
+2000-09-18 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm (testFinalConfig): don't skip the test in auto
+ if called via "Test again"
+ * Xconfigurator.pm (resolutionsConfiguration): ensure all depth
+ are bounded
+
+ * bootloader.pm (suggest): don't put "linux-nonfb" if "linux" is
+ classic and no-fb
+
+ * fsedit.pm (check_mntpoint): add a check for /etc /lib... which
+ must not be mount points. Also check that /home, /tmp and /usr are
+ on trueFS
+
+ * interactive.pm (ask_from_entries_ref): add bounding of "val" in
+ case of type "range". die if min > max.
+
+2000-09-18 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-18 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePartitionsToFormat): nicer
+ partition/device display
+
+ * partition_table_raw.pm (zero_MBR): add on the fly require of the
+ good partition_table_$type
+
+ * detect_devices.pm (cdroms): fix (yet again) the scd$nb device
+ assignment to ide burners
+
+ * install_steps.pm (afterInstallPackages): comment out a part of
+ the icons mess messing
+
+ * Xconfigurator.pm (cardConfiguration): move Unlisted to
+ Other/Unlisted
+ * share/CardsNames: updated (for Voodoo5)
+
+ * install_steps_gtk.pm (selectMouse): fix the test to know wether
+ the guy has changed the mouse type (to know wether to test the
+ mouse or not)
+
+ * install_steps_interactive.pm (selectLanguage): add the license
+
+ * install_steps_interactive.pm (choosePackages): have the
+ "Recommended" size be the default
+ (in the choice Minimum/Recommanded/Complete)
+
+ * diskdrake.pm (Type): fix a typo
+
+ * install_steps.pm (doPartitionDisksAfter): mark partition as
+ mounted
+
+2000-09-17 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-17 Pixel <pixel@mandrakesoft.com>
+
+ * install/pcmcia_config.patch: cleaned
+
+ * diskdrake.pm (Create, Type): have type field not_editable
+
+ * tools/make_mdkinst_stage2: use TMPDIR if available
+
+2000-09-16 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePartitionsToFormat): move
+ the setting of toFormat before asking for bad blocks, seems to fix
+ things?? weird :-/
+
+ * network.pm (miscellaneousNetwork): fix the setting of focus on
+ error (tx2Thomas Poindessous :)
+
+ * install_steps_interactive.pm (configurePrinter): changed
+ "Cancel" to "None" (for Thomas Poindessous :)
+
+ * printer.pm (poll_ppd_base): max polling time raised from 10s to
+ 30s (for Till)
+
+ * install_steps.pm (ask_mntpoint_s): don't force partition type to
+ be ext2 (at least if it's a known fs) (for Warly)
+
+2000-09-15 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-15 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (set_help): save the help message displayed
+ in $o->{current_help}
+ * install_gtk.pm (create_big_help): display $o->{current_help}
+
+ * mouse.pm: reworked quite a lot. Now sorts/categorize nicely the mice.
+ * install_steps_interactive.pm (selectMouse): adapted for reworked mouse.pm
+ * install2.pm (selectMouse): adapted for mouse::read now returning
+ an hash ref
+
+ * detect_devices.pm (hasMousePS2): remove hasMouseMacUSB, do it in
+ one function (now takes the device in the parameter)
+
+ * interactive.pm (ask_from_treelistf): added (just like
+ ask_from_listf, but with a tree)
+
+ * Xconfigurator.pm: the reference is now nbuttons to
+ know wether to put Emulate3Buttons or ZAxisMapping.
+ * Xconfigurator.pm (cardConfiguration): install Glide_V3-DRI on
+ Banshee too.
+
+ * Xconfig.pm: guess nbuttons based on Emulate3Buttons and
+ ZAxisMapping.
+
+ * common.pm (availableRamMB): replace availableRam, now use the
+ size of /proc/kcore (what else to find the real ramsize?)
+
+ * common.pm (cat__): created
+
+ * install2.pm (main): add field meta_class in $o. Can be
+ 'desktop', in case option desktop is given, or if /desktop/i is
+ found in /VERSION
+
+ * install_steps.pm (miscellaneous): for lnx4win, always have
+ 'mem=' (so that the initrd is visible by both windows
+
+ * install2.pm (main): add option "desktop"
+
+ * install_any.pm (generate_ks_cfg): fix for new(?) $o->{intf} format
+
+ * install_interactive.pm (partitionWizardSolutions):
+ use only TrueFS for existing_part
+ (partitionWizard): have only "loopback" for lnx4win
+
+ * pci_probing/pcitable: associate Voodoo5 with Voodoo5
+
+ * share/Cards+: add Voodoo5
+
+ * bootloader.pm (suggest): add entry linux-nonfb (called linux-up
+ for smp)
+
+2000-09-14 DrakX <install@mandrakesoft.com>
+
+ * snapshot uploaded
+
+2000-09-12 François Pons <fpons@mandrakesoft.com>
+
+ * detect_devices.pm, mouse.pm: moved probing serial port before to
+ detect a wacom tablet (even if a PS/2 or USB mouse is found).
+ * help.pm: corrected reference to previous version of LM (jloup).
+ * install2.pm: removed duplicate code for getting network
+ configuration, using network module.
+ * netconnect.pm: intf is now a hash and no more an array.
+ * network.pm: changed nature of intf to hash from array, reworked
+ write_resolv_conf function to keep old code in comment but only
+ when not used anymore (to make it easier by hand modification).
+ * printer.pm: SOCKET accessible to expert only (jloup).
+ * printerdrake.pm: local port only available for expert if a
+ printer has been detected (jloup).
+
+2000-09-11 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: reorganized choices of 3D optimizations, added
+ experimental support for expert users.
+ * install_steps_interactive.pm: removed question to keep XF3.
+
+2000-09-05 François Pons <fpons@mandrakesoft.com>
+
+ * printerdrake.pm: removed all previous URI specific mode and
+ added socket and expert URI general mode.
+ * printer.pm: fixed bugs, start lo interface before cups.
+
+2000-09-04 François Pons <fpons@mandrakesoft.com>
+
+ * printerdrake.pm: added pnm2ppa and lm110 support in cups
+ configuration. probe for printer device (parallel) and try to
+ install usb for printer.
+ * printer.pm: removed local printer configuration for cups (keep
+ only local configuration using URI).
+
+2000-09-01 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: fixes to configure XF86Config-4 when XFree-3.3
+ is installed, make 16bits by default on 3D hardware acceleration,
+ fixed selection of hardware for hardware acceleration.
+ * install_steps.pm: add cups for printer configuration, used for
+ auto_install. added new function to add packages only if requires
+ are already satisfied.
+ * standalone/printerdrake: updated.
+
+2000-08-31 dam's <damien@mandrakesoft.com>
+
+ * moved many things to network.pm and any.pm
+ * everything should be broken now.
+
+2000-08-31 François Pons <fpons@mandrakesoft.com>
+
+ * install2.pm: removed printer default config (now obsoleted).
+ * install_steps_interactive.pm: add cups support.
+ * printerdrake.pm: add cups support.
+ * printer.pm: add cups support.
+
+2000-08-31 Frederic Lepied <flepied@mandrakesoft.com>
+
+ * install_any.pm (setPackages): install the right glide module
+ according to the Voodoo card detected.
+
+ * Xconfigurator.pm (write_XF86Config): ZAxisMapping for XF 4.
+ (autoDefaultDepth): default depth to 16 for Voodoo cards except
+ for Voodo5 ones.
+
+2000-08-29 dam's <damien@mandrakesoft.com>
+
+ * moved pppConfig in netconnect.pm and any.pm
+ * moved miscellaneousNetwork in any
+ * modem configuration is now useable in standalone mode.
+
+2000-08-29 David BAUDENS <baudens@mandrakesoft.com>
+
+ * install_steps_interactive.pm: change Small/Normal/Full ->
+ Minimum/Recommanded/Complete (aka make FredB happy)
+
+2000-08-28 dam's <damien@mandrakesoft.com>
+
+ * draknet (netconnect): renamed drakfuck -> draknet. standard ADSL
+ and french alcatel ADSL implemented.
+ * Xconfigurator.pm (autologin) : use of the new autologin system.
+
+2000-08-24 François Pons <fpons@mandrakesoft.com>
+
+ * ../update_kernel*: changed reference from extract_archive to
+ packadrake.
+ * Makefile*: added live_install and live_install2.
+ * Xconfigurator.pm: updated Mach64 acceleration to only 3D Rage
+ Pro AGP card type, commented SiS and S3ViRGE support by GLX.
+ * commands.pm, keyboard.pm, lang.pm, pkgs.pm, list, tools/*:
+ updated to use packdrake now.
+ * install2.pm, install_steps.pm, install_steps_gtk, Makefile*:
+ manage live upgrade.
+ * modules.pm: use standard modprobe command for load in live
+ upgrade.
+ * netconnect.pm: added minimal modification for being compilable.
+ * rescue/list: added packdrake and sfdisk.
+ * live_install, live_install2: live upgrade of package.
+
+2000-08-22 dam's <damien@mandrakesoft.com>
+
+ * drakfuck (netconnect):finished isdn PCI/ISA card implemetation
+ * added isdndb.net: providers database
+
+2000-08-20 dam's <damien@mandrakesoft.com>
+
+ * moved Netconnect.pm to netconnect.pm
+ * moved DrakFuck to drakfuck
+
+2000-08-18 Pixel <pixel@mandrakesoft.com>
+
+ * share/Cards+: for i810, force VideoRam
+
+2000-08-18 dam's <damien@mandrakesoft.com>
+
+ * modules.pm: added isdn type in @drivers_by_category. corrected
+ load_thiskind (thx pixel) : it's not unsafe anymore
+ * Netconnect.pm: just display PCI isdn card recognized.
+
+2000-08-17 Pixel <pixel@mandrakesoft.com>
+
+ * install_any.pm: many cleanup. moved some functions to common,
+ any or install_interactive (newly created)
+
+2000-08-16 dam's <damien@mandrakesoft.com>
+
+ * install_steps_interactive.pm(configureNetwork): added call to
+ isdn configuration
+ * added standalone/DrakFuck: standalone entry point to configure
+ internet connexion.
+ * added Netconnect.pm: internet connexion functions.
+
+2000-08-11 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (selectInstallClass): yet a bigger
+ warning so that people don't choose expert installs. Also set the
+ focus on "Custom" by default.
+
+ * install_steps_interactive.pm (doPartitionDisks): created, calls
+ the wizard.
+ * install_steps.pm (doPartitionDisksBefore,
+ doPartitionDisksAfter): created (was mainly in
+ install2::doPartitionDisks)
+ * install2.pm (doPartitionDisks): much cleanup
+ * install_any.pm (partitionWizard): working state (still rough)
+
+2000-08-08 Pixel <pixel@mandrakesoft.com>
+
+ * standalone/rpmdrake (AddMedia): fix the ftp addmedia, fix the
+ cdrom addmedia
+
+2000-08-07 Pixel <pixel@mandrakesoft.com>
+
+ * diskdrake.pm (Resize):
+ * install_steps_gtk.pm (doPartitionDisks): remove the
+ before_leaving ensuring the filehandle is closed
+ * resize_fat/main.pm (DESTROY): use a better solution for ensuring
+ the filehandle is closed
+
+2000-08-07 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: added SiS6326 in the list of chipset that
+ needVideoRam, reported on ml.
+ * install_steps.pm: fixed auto install of printer.
+
+2000-08-06 Pixel <pixel@mandrakesoft.com>
+
+ * interactive.pm (ask_from_listf): created this GREAT function
+ that should have been created a long time ago.
+ * any.pm, install_any.pm, install_steps_gtk.pm,
+ install_steps_interactive.pm: a lot of rewrite to use the new
+ ask_from_listf, a lot of nice cleanup!
+
+ * fs.pm (df): created, returns the free space of the part. Save it
+ in $part->{free}
+
+ * install_steps_gtk.pm (doPartitionDisks): ensure the closing of
+ the device in case of error
+ * resize_fat/main.pm (new): ensure the closing of the device in
+ case of error
+
+ * install_any.pm (partitionWizard): the great partitioning wizard
+ is created. Not finished yet (nor called from anywhere)
+
+ * install_steps.pm (doPartitionDisksLnx4win): created function out
+ of doPartitionDisks
+
+ * install_steps_gtk.pm (installPackages): removed the displaying
+ of size to install (people are bothered cuz not the same size)
+
+2000-08-06 dam's <damien@mandrakesoft.com>
+
+ * install_steps_gtk.pm (create_steps_window): use drawing area
+ instead of button. Implemented all steps events.
+
+2000-08-05 Pixel <pixel@mandrakesoft.com>
+
+ * mouse.pm (detect): test a hack for usb mouse via hub
+ (sparhawk@enteract.com)
+
+ * fsedit.pm (undo): force isDirty and needKernelReread only if hd
+ hasBeenDirty, otherwise believe the flag saved
+ * partition_table.pm (write): flag hd as hasBeenDirty
+
+ * install2.pm: a few renaming of methods so that the step names
+ correspond to install2 function and install_steps* methods (eg:
+ configureX & setupXfree unified to configureX)
+
+2000-08-04 dam's <damien@mandrakesoft.com>
+
+ * any.pm (setAutoLogin): added this method to write xdm-config
+ * Xconfigurator.pm: clenead autologin code and use of above method
+
+2000-08-04 Pixel <pixel@mandrakesoft.com>
+
+ * pkgs.pm (setSelectedFromCompssList): save $nb to able to restore
+ it in case of max_size reached. only purpose is the log!
+
+ * install_steps_interactive.pm (choosePackages): in newbie, ask
+ between Small/Medium/Full install
+ * install_steps_interactive.pm (choosePackages): in expert, have
+ the min_mark be 0 instead of 1
+
+ * common.pm (find_index): added this nice function
+
+ * install_any.pm (getAvailableSpace_mounted): use common::df
+ * loopback.pm (getFree): use common::df
+ * commands.pm (df): use common::df
+ * common.pm (df): added
+
+ * diskdrake.pm (Resize)): add resizing of reiserfs
+ * share/list.i386: add resize_reiserfs
+
+
+2000-08-02 dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator.pm : autologin is functionall. When wmsession.d is
+ more up to date, I'll add the list of wm to launch at boot. It
+ writes in /etc/X11/xdm/xdm-config.
+
+2000-08-01 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (miscellaneous): modify as chmouel want (aka, ""
+ instead of "no" for MOUSE and KEYBOARD in sysconfig/usb)
+
+ * services.pm: separation between interaction and action.
+ * install_steps.pm (servicesConfig): the job is now done here
+ * install_steps_interactive.pm (servicesConfig): only the asking
+ part
+
+2000-08-01 François Pons <fpons@mandrakesoft.com>
+
+ * pkgs.pm: fixed the below fixe, now ok.
+ * Xconfigurator.pm: fixed a bug for using default card flags
+ setting, add support for GeForce DDR for both 3.3 and 4.0.
+ * pci_probing/pcitable: fixed NV15 (GeForce2) card entry, now use
+ XFree 3.3 as unsupported in XFree 4.0.
+ * share/Cards+: added "NVIDIA GeForce2 DDR (generic)".
+
+2000-07-31 François Pons <fpons@mandrakesoft.com>
+
+ * pkgs.pm: fixed provided package with choice in deps used with a
+ base package, complicated but kernel-fb or similar can be
+ unselected now.
+
+2000-07-27 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_interactive.pm: changed expert message to ask
+ using XFree 3.3 instead of XFree 4.0 used by default (server).
+ * Xconfigurator.pm: make sure only one server is installed,
+ default to XFree 4.0 if supported unless XFree 3.3 accept
+ 3D acceleration and not XFree 4.0, ask user in such case.
+ * pci_probing/pcitable: added Intel 815 pci ids.
+
+2000-07-26 dam's <damien@mandrakesoft.com>
+
+ * install_steps_gtk.pm: applied new LN stars, logo title and help
+ logo. improved steps appearences.
+ * modified share/step-*.xpm
+ * added share/help.xpm
+ * updated ../HACKING to ling help logo.
+
+2000-07-21 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: enable 3D acceleration configuration with
+ XFree86, use /usr/X11R6/lib/modules/glx-3.so for X version 3
+ Utah-GLX accelerated module.
+
+2000-07-20 dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator.pm: use {miscellaneous}{autologuser} instead of
+ {miscellaneous}{autologuser} + {miscellaneous}{autologing}.
+ * move some README content to ../HACKING
+
+2000-07-19 dam's <damien@mandrakesoft.com>
+
+ * Xconfigurator.pm: added autologin boxes.
+ result is in {miscellaneous}{autologin} and in
+ {miscellaneous}{autologuser}
+
+2000-07-19 François Pons <fpons@mandrakesoft.com>
+
+ * any.pm: added default root to existing root device when adding
+ an entry in bootloader.
+ * bootloader.pm: avoid duplicating entry (floppy and old-floppy)
+ when they are identical.
+ manage hackkernel by suggest an entry by default if installed.
+ * install_steps.pm: reworked symlink closure for bootloader
+ to keep previous configuration.
+
+2000-07-11 François Pons <fpons@mandrakesoft.com>
+
+ * bootloader.pm: merged lilo.pm and silo.pm inside bootloader.pm,
+ this include a configure_entry from silo.pm to build a initrd if
+ used.
+ * share/compssList: added kde2 packages.
+ * share/compssUsers: added kde2 group, renamed kde to kde1 group
+ specific.
+
+2000-07-07 François Pons <fpons@mandrakesoft.com>
+
+ * install2.pm (choosePackages): always execute setPackage to copy
+ hdlist* and depslist files (support mixed partitionDisks and
+ choosePackages).
+ * install_any.pm (setPackages): avoid clearing upgrade flag.
+ * install_steps.pm (choosePackages): use $first_time to avoid
+ reselection of packages according to compssList.
+ * install_steps_interactive (choosePackages): use $first_time and
+ $individual to avoid reselection of packages according if user go
+ back to step choosePackages.
+ * pkgs.pm: added psUpdateHdlistsDeps to restore hdlist* and
+ depslist files in /var/lib/urpmi.
+ * diskdrake.pm: fixed uneditable combo for Mount point action.
+
+2000-06-23 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: better approach for Sun* server in newbie.
+ * fs.pm: added romfs support for mount.
+ * fsedit.pm: changed auto allocation for partitions for sparc*.
+ * install2.pm: restored bootdisk creation and auto install boot
+ disk creation for sparc*.
+ * install_any.pm: changed vfat to romfs when mounting kickstart
+ floppy on sparc*.
+ * install_steps.pm: avoid proposing formating sunos partition.
+ * install_steps_interactive.pm: boot disk for sparc* and support for
+ installation of SILO on /boot partition (sparc*).
+ * install_steps_newt.pm: removed cylinder 0 bug warning.
+ * interactive.pm: fixed typo for not_edit set to 1 by default.
+ * partition_table.pm: fixed get_holes on sparc* where a whole disk
+ partition caused problems.
+ * partition_table_sun.pm: removed cylinder 0 bug as found in mke2fs.
+ * silo.pm: handle /boot partition, install silo.conf in /boot and
+ make a symlink from /etc.
+ * share/list.sparc: added losetup and genromfs for boot disk creation.
+
+2000-06-21 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * lang.pm: changed the way console font data is written; not all
+ of the [0], [1], [2] values must defined, so three cases must be used.
+ Also added a variable $CHARSET for /etc/sysconfig/i18n; it can then
+ be used by console-tools to load the proper compose table
+
+2000-06-20 François Pons <fpons@mandrakesoft.com>
+
+ * c/sbus.c: added some functions for silo.c integration.
+ * c/silo.c: initial release including write in prom, and translation
+ of disk name from openprom to linux, rh version modified.
+ * silo.pm: added write in prom, support of sunos boot from silo.
+ * partition_table.pm: added support for ufs partition like windows one.
+ * install_steps_interactive.pm: added other entries in silo.
+ * install_steps.pm: support sunos partition.
+ * install_any.pm: automatically mount sunos partition with diskdrake.
+ * fsedit.pm: added /mnt/sunos suggested mount point.
+ * fs.pm: added ufs support for mount.
+
+2000-06-19 François Pons <fpons@mandrakesoft.com>
+
+ * crypto.pm: modified for getting sparc crypto file for sparc*.
+ * modules.pm: make sure to load sd_mod when needed.
+ * pci_probing/main.pm: always use loaw_endian in pci structs.
+ * pci_probing/translate-pcitable.pl: added arch specific module name
+ translation.
+
+2000-06-16 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (write_conf): rename conf.modules to modules.conf if
+ needed. Outputs to modules.conf
+
+ * detect_devices.pm (cdroms): fix using scd0 for ide-burners when
+ already a scsi cdrom drive
+
+2000-06-13 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * pkgs.pm: added 'acon' requirement for all right-to-left languages
+
+2000-06-07 François Pons <fpons@mandrakesoft.com>
+
+ * diskdrake.pm: added SunOS partition as blue for diskdrake.
+ * install_steps_interactive.pm: make sure of no division by zero may
+ happen.
+ * install_steps_newt.pm: added WARNING for fdisk on sparc*.
+ * modules.pm: make sure of loading sd_mod module after any scsi module.
+ * sbus_probing/main.pm: insmod openprom before trying sbus probing.
+ * pkgs.pm: corrected by use of parabolic solution for size approximation.
+ * silo.pm: try with "silo -p 2 -t" if "silo -t" has failed due to bad probe.
+
+2000-06-05 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * install_steps.pm,lang.pm: added load_console_font, to load the
+ proper console fonts (text mode install is not very useful otherwise)
+
+2000-06-03 Pixel <pixel@mandrakesoft.com>
+
+ * diskdrake.pm (Create): don't accept less than 32MB part for reiserfs
+ * diskdrake.pm (Type): don't accept less than 32MB part for reiserfs
+
+2000-06-01 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * share/fonts.tar.bz2: replaced the Korean 16pt fonts by a 12pt font;
+ it fits better with the other fonts. Added a 'README' file with
+ some comments and the required copyright notice
+
+2000-05-29 François Pons <fpons@mandrakesoft.com>
+
+ * Xconfigurator.pm: added support for SBUS card autodetection.
+ * commands.pm: added lssbus to list SBUS devices detected.
+ * detect_devices.pm: removed alpha restriction on USB.
+ * install_steps_interactive.pm: added SBUS support.
+ * c/sbus.c: initial revision, core SBUS support (inspired from kudzu).
+ * c/stuff.xs.pm: added wrapper for sbus.c interface.
+ * sbus_probing/main.pm: initial revision (inspired from kudzu).
+
+2000-05-27 Adam Lebsack <adam@mandrakesoft.com>
+
+ * share/list.ppc: various PPC modifications, for HFS
+ * partition_table_mac.pm: bug fixes
+ * partition_table.pm: various HFS fixes, isHiddenMacPart()
+ * diskdrake.pm: added HFS to top buttons when run on PPC
+ * keyboard.pm: fixed name of mac-fr2-ext keymap
+ * install_steps_gtk.pm: added Xpmac server support for PPC.
+ * install_steps_interactive.pm: disallow hardware configuration on PPC for
+ now. All drivers should be in the kernel. setup_this_kind().
+ * fsedit.pm: fixed verify_hds for PPC, /proc/partitions will never match
+ our partition table read. Added PPC grep condition for PPC in get_visible_fstab.
+ * fs.pm: fix argument for HFS formatting.
+ * Makefile: special installation of PPC files.
+
+2000-05-25 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+
+ * standalone/drakboot: Don't display Configure-/LILO/GRUB/ on
+ alpha|sparc.
+
+2000-05-25 François Pons <fpons@mandrakesoft.com>
+
+ * silo.pm: added configure_entry to try creating an initrd for an image
+ entry in bootloader. fixed wrong usage of run_programm::rooted with 2>.
+ * commands.pm: fixed insmod command to take modules64.cz* on sparc*
+ * install2.pm: removed create boot disk and create auto install disk on
+ sparc*. force writing of /etc/conf.modules for step setupBootloader.
+ * install_steps.pm: fixed upgrade for sparc* and disable supermount for sparc*.
+ * install_steps_interactive.pm: added missing $prefix for glob_. call
+ configure_entry in setupSILO. fixed cancel or None entry on setupBootloader.
+ * modules.pm: updated alias for sparc*.
+ * any.pm: fixed proprable wrong test for setupBootloader in beginner at
+ the very beginning.
+ * printer.pm: fixed typo.
+ * Xconfigurator.pm: avoid testing if using a Sun* server, added depth and
+ resolution for these server too.
+
+2000-05-24 François Pons <fpons@mandrakesoft.com>
+
+ * partition_tabel.pm: fixed wrong detection of DOS partition on sparc*.
+ * partition_table_sun.pm: fixed a bug when reading partition table
+ with unused partition in the middle of the table.
+
+2000-05-23 François Pons <fpons@mandrakesoft.com>
+
+ * common.pm: update arch to take into account sparc and sparc64. added
+ better_arch and compat_arch function.
+ * silo.pm: fixed adding new kernel automatically.
+ * install2.pm: removed create boot disk stuff for sparc*.
+ * install_steps.pm: added initrd generation for alpha. added ldconfig
+ at end of installation. removed /usr/bin/dumpkeys existence test on
+ sparc*, should be added in the future.
+ * install_steps_interactive.pm: removed supermount for sparc*.
+ * install_steps_gtk.pm: added /dev/kbd device creation and permedia2
+ support for sparc*. removed screen limit of 1024x768.
+ * detect_devices.pm: fixed problem on machine with really no IDE interface.
+ * modules.pm: added support for 32 and 64 bit architectures on sparc*.
+ * install_any.pm: fixed getAvailableSpace_mounted if /usr is not a separate
+ partition.
+ * pkgs.pm: added support for multi-arch rpm file (need for sparc*),
+ fixed correctSize and invCorrectSize to take back a linear approximation
+ above 9Gb approximatively. removed ftp rewind as broken currently.
+ * keyboard.pm: fixed bad list of available keyboard (broke sparc*), fixed
+ globing (removed) against existing '*'.
+ * partition_table.pm: removed support for non SUN partition table, as it
+ may freeze the kernel or may be blanked?
+ * Xconfigurator.pm: take Sun24 server by default on sparc*, add support
+ for permedia2 card (3DLabs server).
+ * share/list.sparc: added perl-5.6.0 for sparc*, fixed for sparc*.
+ * Makefile: added support for modules and modules64 for sparc*.
+ * c/stuff.xs.pm: added kernel_arch function for getting the current true
+ architecture provided by the kernel (uname -m).
+
+2000-05-09 Pixel <pixel@mandrakesoft.com>
+
+ * install_any.pm (kdeicons_postinstall): the URL link to doc must
+ be $lang/index.html, not only $lang.
+
+ * standalone/mousedrake: add handling of XF86Config-4
+
+ * any.pm (setupBootloader): fix bug (was adding 2 glob_'s)
+
+2000-05-08 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (main): move the touch of some files here to please linuxconf
+
+ * install2.pm (miscellaneous): s/KBD/KEYBOARD/
+
+ * lilo.pm (install_grub): don't keep symlinks for reiserfs
+ * lilo.pm (suggest): allow grub everytime now (not only if !reiserfs)
+
+ * install_any.pm (getHds): default mount point for windobe in
+ lowercased for StartOffice(!)
+
+2000-05-08 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * share/keyboards.tar.bz2: Fixed Brazilian keyboard (.br); added
+ Iranian (.ir), Arabic (.ar) and new Lithuanian (.lt_new) keyboards
+ * keyboard.pm: Added new Lithuanian keyboard and changed the
+ string for brazilian ABNT-2 to state more clearly its ABNT nature
+ (it is not a standard PC keyboard; it uses some different keycodes)
+
+2000-05-07 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm (choosePackages): return availableCorrected
+ instead of available
+
+ * pkgs.pm (correctSize): add 18MB for full multi-cd (many hdlist's)
+
+ * modules.pm (text2driver): same as text2lang below
+ * keyboard.pm (text2keyboard): same as text2lang below
+ * lang.pm (text2lang): replace the while (... each) by a foreach
+ (keys) (because each is dangerous if loop is exited)
+
+ * install_steps_interactive.pm (selectKeyboard): better handling
+ of multiple langs question.
+
+ * ftp.pm (new): Timeout set to 60 (seconds), was default (120)
+
+ * install_steps_interactive.pm (setup_thiskind): remove ide-*
+ from modules displayed as loaded.
+
+2000-05-06 Pixel <pixel@mandrakesoft.com>
+
+ * fsedit.pm (check_mntpoint): verify that standard mntpoints (/
+ /usr) are not on not trueFS
+
+ * any.pm (setupBootloader): add $prefix for the 2 glob_'s
+
+2000-05-07 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * share/keyboards.tar.bz2: added Ukrainian keyboard xmodmap.ua
+
+2000-05-06 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * printerdrake.pm: fixed English error
+
+2000-05-05 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm (monitorConfiguration): remove the special case
+ for fbdev.
+
+ * install_steps_interactive.pm (setup_thiskind): replace return by
+ next in case load_module fails.
+
+ * install_steps_gtk.pm (selectInstallClass1): translate Install/Upgrade
+
+ * Xconfigurator.pm (cardConfiguration): force xf4 for rage 128's
+ * Xconfigurator.pm (testFinalConfig): force $bad_card for xf4
+
+ * pkgs.pm (correctSize): updated for 7.1
+
+ * install_any.pm (getAvailableSpace): move the removing of
+ $minAvailableSize here.
+
+2000-05-04 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (configurePrinter): give clicked to printerConfig
+
+ * interactive.pm (ask_from_entries_ref): set default val if not_edit
+
+ * interactive_newt.pm (ask_from_entries_refW): remove setting of
+ default val. Now done in interactive::ask_from_entries_ref
+
+ * interactive_gtk.pm (ask_from_entries_refW): handle empty value
+
+ * modules.pm (read_already_loaded): ensure that already loaded
+ modules are put in %loaded.
+ * modules.pm (load_ide): add loading if ide-probe-mod (for new kernel)
+
+ * lilo.pm (install_lilo): truncate label's to 15 chars
+
+ * install_any.pm (generate_ks_cfg): fix missing space
+ * install_any.pm (generate_ks_cfg): fix bug for nfs comand
+
+ * install2.pm: get rid of autoformat
+ * install_steps.pm (choosePartitionsToFormat): get rid of autoformat
+
+2000-05-03 Pixel <pixel@mandrakesoft.com>
+
+ * any.pm (setupBootloader): replace ask_many_from_list by
+ ask_from_list for bootloader choice
+
+ * services.pm (drakxservices): stop immediately service if removed
+
+ * install_steps.pm (configureNetwork): replaced dhcpxd by dhcpcd
+ * install_steps.pm (afterInstallPackages): touch some files to
+ please linuxconf
+
+2000-05-03 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps.pm: updated min size, fixed kppprc generation.
+ * install_any.pm: make sure postinstall-rpm is here before
+ erasing (avoid error on reboot only).
+
+2000-05-02 Pixel <pixel@mandrakesoft.com>
+
+ * raid.pm (format_part): don't call raid::make if part is already
+ formatted (as raidstop fails)
+
+ * Xconfigurator_consts.pm: Rage128 and 3dfx are not available any
+ more
+
+ * install_steps_interactive.pm (setup_thiskind): make insmod'ing
+ fail a simple warning.
+
+ * Xconfigurator.pm (readMonitorsDB): adapt to new MonitorsDB
+ * share/MonitorsDB: take new one from RedHat
+
+ * standalone/drakboot: added kfloppy
+
+ * g_auto_install: add $dir/lib to LD_LIBRARY_PATH (it was silly
+ not to have it)
+
+2000-05-01 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (setRootPassword): remove
+ NIS_server, use NIS instead
+ * install_any.pm (setAuthentication): remove NIS_server, use NIS instead
+
+ * standalone/rpmdrake (AddMedia): hdlist.cz2 instead of hdlist
+
+2000-04-28 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps.pm (afterInstallPackages): fix yet another bug for
+ ttf from windobe handling
+
+ * install_steps_interactive.pm (selectInstallClass): hide beginner
+ mode in corporate. Display special help.
+
+2000-04-29 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * my_gtk.pm: added call to Gtk->init; that makes 16 bit locales
+ text to be properly aligned (reported by Craig Chang
+ <craig_chang@taipei.siscomm.com.tw>)
+ * common.pm: now that po handling is correct, I changed the order
+ of reading variables so that it follows the standards ($LANGUAGE first)
+ * share/fonts.tar.bz2, lang.pm: added an 8pt font for cp1251
+
+2000-04-28 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps*.pm: added support for selection of package during
+ upgrade the same way it is done for installation. added check of
+ minimal size, abort else (at least let the user know about :-)
+ fixed crypto if no network interface available.
+ * install2.pm: fixed problem during upgrade that lost network
+ configuration.
+
+2000-04-28 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (load_raw): don't call commands::insmod, do it in
+ place. Merge with load_multi
+
+ * install_steps.pm (afterInstallPackages): fix windobe ttfonts
+ symlinking
+
+ * Xconfigurator.pm (cardConfiguration): load module agpgart for
+ i810
+
+ * install_any.pm (getHds): changed the mount point setting for
+ windows partitions as device_windobe is not unique
+
+2000-04-27 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (create_steps_window): changed to adapt to
+ new hidden format
+
+ * install2.pm (@installSteps): changed the way hidden is handled.
+ Now it is a true perl expression (great power now)
+
+ * install_steps_gtk.pm (selectInstallClass1): update steps window
+ before asking normal/devel/server. Nicer!
+
+ * install_steps_interactive.pm (configureNetwork): when "Cancel"
+ pressed at network interface configuration do not skip all
+ configuration.
+
+2000-04-26 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps.pm (pppConfig): modified a lot, removed template
+ file for ifcfg and chat file.
+
+2000-04-26 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (choosePackagesTree): use a fix width for
+ the tree column (so that the checkbox are always visible without
+ scrolling)
+
+ * standalone/drakboot: drakfloppy and gfloppy are X only, no need
+ to propose them in console
+
+ * install_any.pm (relGetFile): added auto_inst to files to get
+ from Mandrake/base
+
+ * install2.pm (main): changed auto_inst behaviour
+
+ * standalone/adduserdrake: fix a bug (s/$o/$in/g)
+
+ * interactive_newt.pm (ask_from_entries_refW): now handling
+ complete/changed/focus_out callbacks (at least more than before)
+
+ * Newt/Newt.xs: added rough callback handling
+
+2000-04-25 François Pons <fpons@mandrakesoft.com>
+
+ * printerdrake.pm: added support for PPA more easily, allow
+ printers entry using ppa driver event if pnm2ppa not installed,
+ install it if neccessary after.
+ * network.pm, install_steps.pm, install_steps_interactive.pm:
+ added support for stoping a network interface, usefull for ppp0 to
+ avoid using it too long.
+ * install_steps.pm: fixed missing local on pap_secrets file.
+
+2000-04-25 Pixel <pixel@mandrakesoft.com>
+
+ * lilo.pm (install): moved the generation of the keytable here. It
+ is used by both lilo & grub (lilo is not always installed as was
+ assumed)
+
+ * common.pm (formatAlaTeX): remove bounding spaces
+
+ * pkgs.pm (setSelectedFromCompssList): remove the hack for min
+ mark 25 in beginner
+ * install_steps_interactive.pm (choosePackages): set $min_mark to
+ 25 in beginner
+
+2000-04-24 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (setupXfree): add a yesorno
+ question for choosing between XF4 and XF3 in expert
+
+ * install_steps_gtk.pm (choosePackagesTree): enlarge the tree window
+
+ * install_any.pm (update_userkderc): make sure uid and gid are kept
+
+ * diskdrake.pm (Create): add Extended_0x85 as a choice for expert
+
+ * partition_table.pm (add_extended): handle a 3rd arg,
+ $extended_type to tell which kind of extended partition is wanted
+ * partition_table.pm (adjust_main_extended): in non-expert,
+ automatically set extended to linux-extended if there's only
+ linux-type partitions.
+
+2000-04-22 Pablo Saratxaga <pablo@madrakesoft.com>
+
+ * install_steps_interactive.pm: s/Mb/MB/ as 'b' is symbol for bit
+ and not for byte. RAM is expressed in megabytes -> MB
+
+2000-04-19 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_interactive.pm: fixed crazy mutli CD manipulation.
+ * printer.pm: fixed wrong prototype of print_pages.
+ * install2.pm: set version to 7.1 for crypto stuff.
+ * crypto.pm: commented ackbar crypto site.
+
+2000-04-17 Pixel <pixel@mandrakesoft.com>
+
+ * lilo.pm (suggest): in failsafe, runlevel ASKRUNLEVEL (handled by
+ linuxconf)
+
+2000-04-14 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePartitionsToFormat): don't
+ ask about checking bad blocks for reiserfs, cuz not handled
+
+ * fs.pm (mount): reiserfs handling
+ * fs.pm (format_reiserfs): added
+ * fs.pm (write_fstab): add option "notail" for reiserfs if
+ the partition holds the kernel (/boot or /)
+
+ * partition_table.pm (isTrueFS): added, replaces most occurences
+ of isExt2
+
+2000-04-12 François Pons <fpons@mandrakesoft.com>
+
+ * install2.pm: force installation step if package have been
+ selected on step choose packages.
+ * install_any.pm: protected against die in perl (setstep or
+ theme_changed).
+
+2000-04-11 François Pons <fpons@mandrakesoft.com>
+
+ * resize_fat: added some limits verification.
+ * interactive_gtk.pm: corrected swap of arg with help adding.
+
+2000-04-10 François Pons <fpons@mandrakesoft.com>
+
+ * interactive_gtk.pm, my_gtk.pm: added tooltips for ask_from_list,
+ which is used by printerdrake only. drops key bindings.
+
+2000-04-07 François Pons <fpons@mandrakesoft.com>
+
+ * tools/serial_probe: obsoleting pnp_serial which is now replaced
+ by this one, taken from kudzu, really faster and probe all serial
+ devices at one time. modified to probe correctly modem :-)
+ * mouse.pm: updated to use serial_probe interface of
+ detect_devices.pm.
+ * detect_devices.pm: modified to use serial_probe, cache probed
+ devices to avoid reprobing.
+
+2000-04-06 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_interactive.pm, install_steps.pm: added support
+ for peerdns options of ppp, so removed dns address unless expert.
+
+2000-04-05 François Pons <fpons@mandrakesoft.com>
+
+ * crypto.pm, install_steps_interactive.pm, install2.pm,
+ install_steps.pm: added crypto stuff to support hdlist-crypto.cz2
+ and depslist-crypto. dependancies are not supported but with a
+ simpler format of depslist file where closure are not done and
+ only package name are used for dependancies.
+ * pkgs.pm: added better support for multi CD manipulation,
+ including selection and refus.
+
+2000-04-04 François Pons <fpons@mandrakesoft.com>
+
+ * pkgs.pm: modified selection packages from compssList by
+ incremental selection, much more quickly.
+ added selected medium for selecting a package.
+ * install_any.pm: refused media hash transfered to selected value
+ of media table.
+ @needToCopy list should only have package of default medium.
+
+2000-04-03 Pixel <pixel@mandrakesoft.com>
+
+ * fs.pm (format_ext2): add options "-b 1024 -O none" for alpha
+
+2000-03-31 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_gtk.pm: made changeMedium sub modification
+ permanent.
+ * pkgs.pm: modified upgrade to avoid use of header.
+
+2000-03-31 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * keyboard.pm: some more choices for PPC keyboards
+
+2000-03-30 François Pons <fpons@mandrakesoft.com>
+
+ * install2pm: added eval around loading af_packet and postinstall
+ copy of RPMS.
+ * devices.pm: added /dev/kdb for SPARC.
+ * install_any.pm: modified multi CD management, postinstall copy
+ of RPMS.
+ * install_steps_gtk.pm: added support for Xsun server for SPARC.
+ * install_steps_interactive.pm: added multi CD dialog box for
+ selecting CD available. Serialized ethernet configuration and ppp
+ configuration.
+ * pkgs.pm: added check for infinite recursion for bad depslist.
+ * printer.pm: better test for reparse of printerdb.
+ * Xconfigurator.pm: added support for Xsun server for SPARC.
+
+2000-03-30 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (choosePackagesTree): enhance tree selection
+
+2000-03-29 Pixel <pixel@mandrakesoft.com>
+
+ * interactive_gtk.pm (wait_messageW): add some padding (nicer)
+
+ * install_steps_interactive.pm (generateAutoInstFloppy): created,
+ creates a floppy for auto installs.
+
+ * install_any.pm (generate_ks_cfg): created, generates stage1
+ ks.cfg file
+
+ * share/po/DrakX.pot: added special comment for grub entry
+
+2000-03-28 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (selectKeyboard): sort langs for
+ many-lang install
+
+ * mouse.pm (write): add WHEEL telling if a wheel mouse is there
+
+2000-03-28 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * keyboard.pm: added entries for all three Armenian keyboards
+
+2000-03-26 Pixel <pixel@mandrakesoft.com>
+
+ * install_any.pm (install_urpmi): full support for multi-hdlist's
+
+ * pkgs.pm (extractHeaders): look for hdlist in /tmp instead of
+ $prefix/var/lib/urpmi
+ * pkgs.pm (psUsingHdlists): put hdlist's in /var/lib/urpmi with a
+ fake name. Access via /tmp/$hdlist is given for non-fake name
+
+ * detect_devices.pm (hasHPT): return undef if no htp (silly me :-/)
+
+2000-03-25 Pixel <pixel@mandrakesoft.com>
+
+ * lilo.pm: updated to the new format of entries. It was an hash.
+ Now the key is field kernel_or_dev, and entries is an array.
+
+ (get): added, it returns the entry using a kernel
+ (needed because entries is no more a hash)
+
+ * install_steps_interactive.pm (setupLILO): adapted to the new format
+
+ * Xconfigurator.pm (write_XF86Config): basic XF86Config-4 handling
+
+ * fsedit.pm (suggest_part): if suggested part contains a field
+ "hd", ensure the partition is created on this hard drive
+
+ * install2.pm (main): before leaving installation, remove
+ /var/lib/urpmi if urpmi not installed
+
+ * diskdrake.pm (Resize): ext2resize to size $part->{size} instead
+ of $size
+
+2000-03-24 Pixel <pixel@mandrakesoft.com>
+
+ * detect_devices.pm (hasHPT): added. Now nice handling of hpt366
+ (ultra66) without rebooting and making special floppy :)
+
+ * lilo.pm (install_grub): much better grub configuration (better
+ than lilo's :pp)
+
+ * install_steps.pm (setupBootloaderBefore): remove entry floppy
+ for security > 3
+
+2000-03-23 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (selectMouse): added, takes care of telling
+ the X server if the user changed the mouse type. Only done if
+ a serial mouse is chosen.
+
+ * install_steps_newt.pm (doPartitionDisks): add a call to
+
+ * mouse.pm (write): added "device=" in etc/sysconfig/mouse for
+ devfs (it looses the symlink /dev/mouse)
+
+2000-03-22 Pixel <pixel@mandrakesoft.com>
+
+ * pci_probing/pcitable: replace Server:Rage128 by proper XFree entry
+
+2000-03-20 François Pons <fpons@mandrakesoft.com>
+
+ * detect_devices.pm, fs.pm, install_any.pm: added supports for
+ LS-120 floppy drive and icons on desktop of KDE (untested).
+ * printer.pm, printerdrake.pm: added supports for PPA interface in
+ new rhs-printfilters, always enable "Print text as postscript"
+ option for such printers.
+
+2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ * keyboard.pm: changed XKB name for Swedish keyboard
+ changed XKB names for Russian and German keyboards
+ added a choice for "Croatian" keyboard
+ * share/compss{,List}: added various new locales-*, ispell-*
+ and netscape-* files. changed ppa to pnm2ppa.
+
+2000-03-17 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps.pm: added setup for all configured queue.
+ * install_steps_interactive.pm: modified for retrieving packages
+ or current configuration.
+ * printer.pm: correction, tested retrieve of printer
+ configuration without printtool comments in printcap file: added
+ update of entry according to gsdriver used (untested again).
+ * printerdrake.pm: better handling of cancel, manage of multiple
+ queue definition together (as lp|My printer).
+
+2000-03-16 François Pons <fpons@mandrakesoft.com>
+
+ * install_steps_interactive.pm: moved in printerdrake.pm the test
+ of printer usage.
+ * printerdrake.pm: heavy modification to handle multiple queue,
+ corrected some bugs too, added much more features as printtool.
+ * printer.pm: added more features for filter, allow printer to be
+ retrieved without help of printtool id in printcap file (untested).
+
+2000-03-14 Pixel <pixel@mandrakesoft.com>
+
+ * diskdrake.pm (Loopback): handling of the file loopback: test
+ existence of the file and take its size.
+
+2000-03-14 François Pons <fpons@mandrakesoft.com>
+
+ * install_any.pm: corrected for duplicate file on other CD.
+
+2000-03-13 Pixel <pixel@mandrakesoft.com>
+
+ * detect_devices.pm (floppies): don't return hash but the device name
+
+2000-03-13 François Pons <fpons@mandrakesoft.com>
+
+ * pkgs.pm, install_any.pm: small correction for multiple media
+ installation.
+ * tools/syncrpms: added for handling synchronisation of multiple source
+ rpm directories (and multiple target), include cleaning.
+ * tools/closurepkgs: tools to get rpm that may be installed by DrakX
+ after normal packages installation (printer, network, X11...), may
+ be used to duplicate on other CD some important stuff of the first
+ one.
+
+2000-03-12 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_interactive.pm (choosePackages): compute the
+ max_size very simply (sum of all package sizes), otherwise too costly
+
+ * pkgs.pm (install): call cleanHeaders at the end
+ * pkgs.pm (cleanHeaders): created
+
+ * install2.pm (miscellaneous): /etc/msec/init.sh is now
+ /usr/sbin/msec (yoann thanks for not telling :pp)
+
+ * pkgs.pm (install): remove the $prefix of mountpoints for not
+ enough room to install error message
+
+2000-03-11 Pixel <pixel@mandrakesoft.com>
+
+ * my_gtk.pm (_create_window): add callback on focus to
+ ensure_focus. The result is no more 3 focus states with 2 buttons.
+
+ * interactive_gtk.pm (ask_from_treelistW): better keyboard handling
+
+ * raid.pm (make): check the result of mkraid. Suggest raidtools
+ are missing in standalone diskdrake
+
+ * devices.pm (set_loop): created, searches for an available
+ loopback and sets the file to it
+
+ * lilo.pm (dev2grub): fixed a missing slash
+
+ * interactive_gtk.pm (wait_message_nextW): do not update if same
+ message, otherwise silly gtk won't do anything and we'll wait
+ forever :(
+
+2000-03-10 François Pons <fpons@mandrakesoft.com>
+
+ * *.pm: heavy modification to take into account multiple media
+ installation.
+
+2000-03-10 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (@install_classes): cleanup, no more i18n (is now in
+ install_steps_interactive), remove old entries
+
+2000-03-09 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (write_conf): don't add alias block-major-11 in every case
+ * modules.pm (add_alias): special case oss (post-installs modprobe snd-pcm-oss)
+
+ * fs.pm (format_*): move the @options before the device
+
+ * loopback.pm: created, added a lot of stuff for loopback in
+ diskdrake.pm, fs.pm...
+
+2000-03-08 Pixel <pixel@mandrakesoft.com>
+
+ * partition_table.pm: %type2fs replaced ox402 by 0x402
+
+ * detect_devices.pm (cdroms): fix "scd" (should be "scd0")
+
+ * install_any.pm (install_urpmi): update for new hdlist.cz2
+
+2000-03-07 Pixel <pixel@mandrakesoft.com>
+
+ * interactive_gtk.pm (ask_from_treelistW): s/focus_row/set_focus_row/
+
+ * install_steps_interactive.pm (addUser): force add a normal user
+ for security 4
+
+2000-03-05 Pixel <pixel@mandrakesoft.com>
+
+ * my_gtk.pm (_ask_from_list): replace focus_row with set_focus_row
+ (tis the Gtk-Perl 0.7002 was of doing)
+
+2000-03-04 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (write_conf): add ide-floppy to the modprobes of
+ post-install supermount
+
+2000-03-03 Pixel <pixel@mandrakesoft.com>
+
+ * commands.pm (ps): add RSS to ps command
+
+2000-03-02 Adam Lebsack <adam@mandrakesoft.com>
+
+ * mouse.pm: added mac mouse detection to mouse::detect.
+ * detect_devices.pm: added a routine to probe /dev/usbmouse on macs.
+
+2000-03-01 François Pons <fpons@mandrakesoft.com>
+
+ * *.pm: heavy modification to take into account smaller
+ transaction during installation.
+ still a lot of test to perform, no provides updated currently and
+ building of hdlist.cz2 and depslist.ordered need old files...
+ nothing done for hdlist.gz during post installation, but
+ hdlist.cz2 is already copied in /var/lib/urpmi [and is used during
+ installation of packages as extract_archive need a true file].
+
+2000-03-01 Pixel <pixel@mandrakesoft.com>
+
+ * lilo.pm (install_grub): creation
+
+ * network.pm (write_interface_conf): ONBOOT = !pcmcia
+
+ * install_steps_gtk.pm (new): more intelligent SIGCHLD handler
+
+2000-02-29 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm: moved common network stuff from "net" to "network"
+ (modules like nfs lockd...)
+
+ * fs.pm (write_fstab): moved the sort to the right place
+
+ * services.pm (drakxservices): chkconfig --list is i18n'ed :(
+ set LANGUAGE=C before
+
+ * partition_table_raw.pm (get_geometry): geom{cylinders} must not
+ be a decimal value :)
+
+ * install_steps_gtk.pm (create_logo_window): set_name logo for
+ logo window
+ * share/install.rc: force disabling of background image theme
+
+ * install_steps_gtk.pm (enteringStep): add step information for
+ console 1
+
+ * any.pm (addKdmIcon): new function
+ * install_steps.pm (addUser): handle field icon
+ * install_steps_interactive.pm (addUser): add choice of kdm icon
+ * standalone/adduserdrake: add choice of kdm icon
+
+ * diskdrake.pm (ask_all_data...): change for easier i18n
+
+ * install_steps.pm (miscellaneous): add CLEAN_TMP handling
+ (need cleaning?)
+ * install_steps_interactive.pm (miscellaneous): add CLEAN_TMP
+ option in expert
+ * install2.pm (miscellaneous): add CLEAN_TMP option for
+ /etc/sysconfig/system
+
+ * install_steps_interactive.pm (miscellaneous): forbidden
+ useSupermount if high security.
+
+ * mouse.pm (detect): fix bug (ttyS instead of ttyS0)
+
+2000-02-28 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (createXconf): do not use "Generic VGA" for
+ svga and accel. SVGA also wants 16 bpp. added ugly modeline for
+ 800x600.
+
+ * partition_table_raw.pm (get_geometry): when the
+ HDIO_GET_IDENTITY fails, defaults to what GETGEO gave
+
+ * install2.pm (main): use modules::load_multi to increase boot
+ start time
+
+ * modules.pm (load_multi): added this function for loading many
+ modules at once.
+
+ * install_steps_gtk.pm (new): increase time before timeout
+
+ * detect_devices.pm (cdroms): change the device associated with
+ ide-burners (hdX -> scdX). Problem is how to know the X in scdX :(
+
+ * modules.pm (write_conf): sort scsi_hostadapter's
+
+2000-02-27 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (main): load ide-probe and the like in 'prereq' type
+ so no aliases are added to conf.modules
+
+2000-02-25 Pixel <pixel@mandrakesoft.com>
+
+ * devices.pm (make): small code cleanup
+
+ * partition_table_raw.pm (adjustEnd): more explicit error message
+
+ * fsedit.pm (allocatePartitions): fix a bug (size was getting too
+ big after each allocation) making adjustEnd cry
+
+2000-02-24 Pixel <pixel@mandrakesoft.com>
+
+ * interactive_gtk.pm (new): added the "new" method to initialize
+ windowheight for isStandalone
+
+ * install_steps_gtk.pm (new): returns undef in case no X server
+ works
+
+ * install2.pm (main): moved the ejectCdrom from install_steps::END
+ to here
+ * install2.pm (main): fix the $SIG{SEGV} handler
+ * install2.pm (main): added a "try again" in text install if the
+ "new" fails
+
+ * install_steps_interactive.pm (createBootdisk): fix an error for
+ non fdX choice of floppy drive
+
+ * install_steps_interactive.pm (setup_thiskind): remove the
+ "defined @l"
+
+2000-02-23 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (%suggestedPartitions): remove any /boot entries
+ * install2.pm (selectInstallClass): removed the special code to
+ /boot entries from suggestedPartitions for on non-intel (and it
+ was buggy :)
+ * fsedit.pm (@suggestions): remove the /boot entry
+ * fsedit.pm (check_mntpoint): remove the 1024 cylinder check
+ * fsedit.pm (suggest_part): remove the 1024 cylinder special case
+
+ * install_steps_interactive.pm (setupLILO): replace linear option
+ by lba32
+
+ * lilo.pm (suggest): add lba32 by default
+
+ * install_steps_interactive.pm (load_thiskind): moved the HPT
+ stuff to install_any::ultra66 and call it.
+ Add sound card configuration (3 lines :)
+
+ * my_gtk.pm and interactive_gtk: resize the list and tree based on
+ root window size
+
+ * install_steps_gtk: $width and $height goes $::rootwidth and
+ $::rootheight, also other dimensions goes global (main::)
+
+ * commands.pm (strings): replace the typo \{$n,} by {$n,}
+
+2000-02-23 François Pons <fpons@mandrakesoft.com>
+
+ * build_archive, extract_archive: changed format of TOC to speed
+ up extraction of archive, now 5 to 6 times faster to read TOC :-)
+
+2000-02-22 Pixel <pixel@mandrakesoft.com>
+
+ * Xconfigurator.pm: load "Cards" database only to translate NAME
+ to fields. Added file CardsNames created from Cards using
+ share/Cards2CardsNames. Kind of list of normalized NAMEs
+
+ * MonitorsDB: replace the ` ' separator for vendor by `|'
+
+ * install_steps_interactive.pm (timeConfig): use ask_from_treelist
+
+ * interactive_gtk.pm (ask_from_treelist): creation of
+ ask_from_treelist. Usage is just the same as ask_from_list with
+ one more argument (the separator eg: |, /)
+
+2000-02-21 François Pons <fpons@mandrakesoft.com>
+
+ * diskdrake.pm: fixed deadlock while trying to create partition
+ when available space is equal or less than 2 cylinders. fixed
+ Create action on corrupted partition by removing stalling window.
+ Blocked partition table writing if there are error by forcing user
+ to correct partition table.
+ * partition_table.pm: fixed typo in verifyParts with cdie, added
+ verifyParts on Resize action.
+
+2000-02-21 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (create_big_help): display the help in full
+ screen
+
+ * my_gtk.pm (_create_window): add big help on F1
+
+ * common.pm (add2hash): now returns the first parameter
+
+ * mouse.pm (detect): really defaults to serial mouse
+
+ * interactive.pm: add ask_many_from_list_with_help and
+ ask_many_from_list_with_help_ref
+
+ * services.pm: creation, it handles what was in
+ standalone/drakxservices
+
+2000-02-18 Pixel <pixel@mandrakesoft.com>
+
+ * install_steps_gtk.pm (createXconf): added /dev/ (X wants
+ "/dev/psaux" and not "psaux")
+
+ * diskdrake.pm (Create): show start sector even for non-expert on
+ non-i386
+
+2000-02-16 Pixel <pixel@mandrakesoft.com>
+
+ * mouse.pm (detect): add defaults to serial mouse
+
+ * install_steps_gtk.pm (createXconf): remove the defaults to
+ serial mouse
+
+2000-02-15 Pixel <pixel@mandrakesoft.com>
+
+ * diskdrake.pm: "After %s partition %s," inlined otherwise does
+ not please pablo and translators...
+
+2000-02-14 Pixel <pixel@mandrakesoft.com>
+
+ * diskdrake.pm (Create): hide start sector choice for non-expert
+
+2000-02-11 Pixel <pixel@mandrakesoft.com>
+
+ * partition_table_raw.pm (get_geometry): do not use the cylinder
+ number given by HDIO_GETGEO cuz limited to 16bits. Compute using
+ the total_sectors using HDIO_GET_IDENTITY
+
+ * c/stuff.xs.pm: added total_sectors (gives the number of sector
+ of a drive)
+
+ * modules.pm (load): ignore error in loading prereq's
+
+ * modules.pm (@drivers_by_category): rcpci instead of rcpci45,
+ z85230 added
+
+ * commands.pm (mount): add modules::load_deps otherwise the
+ fs::mount won't succeed insmoding vfat if needed
+
+2000-02-11 François Pons <fpons@mandrakesoft.com>
+
+ * fixed diskdrake to handle limit case when creating and resizing
+ partition table, address size limit and start sector limit.
+
+2000-02-11 Pixel <pixel@mandrakesoft.com>
+
+ * install2.pm (main): add a callback on SEGV
+ -> message printed
+ -> that way, ENDs are called (otherwise skipped)
+
+ * install_steps_interactive.pm (setup_thiskind): handles the undef
+ value returned by load_thiskind
+
+ * install_steps_interactive.pm (exitInstall): do not call
+ install_steps::exitInstall
+
+ * install_steps (exitInstall): removed
+ * install_steps (END): added (it does ejectCdrom)
+
+ * install_steps_interactive.pm (load_thiskind): returns undef if
+ error loading a module
+
+ * fs.pm (format_part): changed the prototype from $;$@ to $;@
+ otherwise, @options always have a value (mostly undef) and mkdosfs
+ fails (with "mkdosfs", "/dev/hdXX", undef, "-F", 32)
+
+ * install_steps_interactive.pm (setup_thiskind):
+ add a $auto_probe_pci that overrules $o->{auto_probe_pci}
+ (that way no pci probe the second time)
+
+2000-02-10 François Pons <fpons@mandrakesoft.com>
+
+ * heavy modification of build_archive and extract_archive to manage
+ a TOC directly in archive file, handle bzip2 or gzip compression,
+ extract_archive can extract multiple files a time, with minimal
+ invocation of uncompress program and follow symlink and expand
+ directory contents.
+ * use build_archive/extract_archive for locales.
+ * fixed a min/max in install_steps_gtk for Resize/Create partition.
+ * fixed adjustEnd with dos partition table, take care of magic 63
+ sectors at beginning of partitions, a more solid method should be
+ used for that.
+
+2000-02-10 Pixel <pixel@mandrakesoft.com>
+
+ * modules.pm (load_thiskind): skip modules "unknown" and "ignore"
+
+2000-02-09 Pixel <pixel@mandrakesoft.com>
+
+ * partition_table.pm (add): cdie if maximum number of partitions
+ handled by linux is reached
+
+ * Xconfigurator.pm (chooseResolutionsGtk): display the graphic
+ card or server found
+
+ * install_any.pm (relGetFile): for mdkinst files, take care not to
+ have a double '/' (see debbugs #591)
+
+ * install_steps_interactive.pm (configureNetwork):
+ purpose: add ability to configure both modem and lan
+ clean up the behaviour
+
+ * fs.pm (write_fstab):
+ purpose: sort the fstab per mount point (cuz /usr must be before /usr/local)
+ also: rewrite of the part writing the fstab.
diff --git a/Makefile b/Makefile
index 2bbe88e06..ac686b8aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,120 +1,28 @@
-ROOTDEST = /export
-
-DIRS = tools kernel mdk-stage1 perl-install rescue
-
-
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-ifeq (i386,$(ARCH))
- BOOT_IMG = cdrom.img hd.img hdcdrom_usb.img network.img network_gigabit_usb.img blank.img pcmcia.img
-endif
-ifeq (sparc,$(ARCH))
- BOOT_IMG = cdrom.img hd.img network.img live.img tftp.img tftprd.img
- BOOT_IMG += cdrom64.img hd64.img network64.img live64.img tftp64.img tftprd64.img
-endif
-ifeq (ppc,$(ARCH))
- BOOT_IMG = all.img
-endif
-ifeq (ia64,$(ARCH))
- BOOT_IMG = all.img
-endif
-ifeq (x86_64,$(ARCH))
- BOOT_IMG = cdrom.img hd.img hdcdrom_usb.img network.img network_gigabit.img network_usb.img blank.img
-endif
+ROOTDEST = /export
+STAGE2_DEST = $(ROOTDEST)/install/stage2
-FBOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz)
-ifneq (all.img,$(findstring all.img,$(BOOT_IMG)))
-FBOOT_RDZ += images/all.rdz
-endif
+DIRS = tools images perl-install/install rescue
.PHONY: dirs install
-install: dirs images rescue install_only
+install: dirs rescue install_only
dirs:
@for n in $(DIRS); do $(MAKE) -C $$n all || exit 1 ; done
-images: $(FBOOT_IMG) images/all.rdz # all.rdz is needed to update isolinux
-
-$(FBOOT_RDZ): kernel/all.modules
- ./make_boot_img $@ `basename $(@:%.rdz=%)`
-
-$(FBOOT_IMG): %.img: %.rdz
- ./make_boot_img $@ `basename $(@:%.img=%)`
-
-tar: clean
- rpm -qa > needed_rpms.lst
- cd .. ; tar cfj gi.tar.bz2 gi
- rm needed_rpms.lst
-
install_only:
- for i in images misc Mandrake Mandrake/base Mandrake/share; do install -d $(ROOTDEST)/$$i ; done
- ifneq (ppc,$(ARCH))
- for i in $(FBOOT_IMG); do cp -f $${i}* $(ROOTDEST)/images; done
- endif
- ifeq (alpha,$(ARCH))
- for i in $(FBOOT_RDZ); do cp -f $${i}* $(ROOTDEST)/boot; done
- cp -f vmlinux.gz $(ROOTDEST)/boot/instboot.gz
- make -C tools/$(ARCH)/cd install ROOTDEST=$(ROOTDEST)
- endif
- cd $(ROOTDEST)/images; rm -rf alternatives
- if [ `ls $(ROOTDEST)/images/*.img-* 2>/dev/null | wc -l` -gt 0 ]; then \
- cd $(ROOTDEST)/images; mkdir alternatives; cd alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; \
- fi
- cd $(ROOTDEST)/images; md5sum *.img* > MD5SUM
-
- ifeq (i386,$(ARCH))
- rm -rf $(ROOTDEST)/isolinux
- cp -af isolinux $(ROOTDEST)
- cp -f images/cdrom-changedisk.img $(ROOTDEST)/images
- endif
-
- ifeq (x86_64,$(ARCH))
- rm -rf $(ROOTDEST)/isolinux
- cp -af isolinux $(ROOTDEST)
- endif
-
- install live_update $(ROOTDEST)/live_update
- make -C perl-install full_stage2
- make -C perl-install/share/advertising install
- make -C rescue install
+ make -C images install ROOTDEST=$(ROOTDEST)
+ make -C tools install ROOTDEST=$(ROOTDEST)
+ make -C perl-install/install install ROOTDEST=$(ROOTDEST)
+ make -C rescue install STAGE2_DEST=$(STAGE2_DEST)
+ make -C advertising install ROOTDEST=$(ROOTDEST)
clean:
- rm -rf images all.modules all.modules64
+# force taking new rpms from repository
+ rm -rf images/RPMS
for i in $(DIRS); do make -C $$i clean; done
find . -name "*~" -o -name ".#*" | xargs rm -f
check:
- @badrights=`find $(ROOTDEST)/Mandrake/mdkinst | perl -lne 'print if !((stat)[2] & 4)'`; [ -z "$$badrights" ] || { echo "bad rights for files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$badrights" ; echo "bad rights for files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
- @missing_kb=`find -name "Entries" | xargs perl -F/ -alne 'print $$ARGV =~ m|(.*)/CVS|, "/$$F[1]" if $$F[1] =~ /\.(png|gif|bmp|xcf|gz|bz2|tar|rdz|so|a|o|mar|img|exe)$$/ && $$F[4] ne "-kb"'` ; [ -z "$$missing_kb" ] || { echo "missing -kb in CVS for files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing_kb" ; echo "missing -kb in CVS for files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
$(MAKE) -C perl-install check
-
-upload:
- $(MAKE) clean
-
-# # done before make install to increment ChangeLog version
- tools/addchangelog.pl tools/cvslog2changelog.pl | tools/mailchangelog.pl &
-
- $(MAKE) install
- $(MAKE) check
- $(MAKE) upload_only
-
-upload_only:
- function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@ken:/c/cooker/$$1; } ;\
- upload Mandrake/mdkinst '' ;\
- upload Mandrake/base compssUsers* ;\
- upload Mandrake/base rpmsrate ;\
- upload Mandrake/base *_stage2.bz2 ;\
- upload Mandrake/share/advertising '' ;\
- upload misc gendistrib ;\
- upload misc make_mdkinst_stage2 ;\
- upload misc packdrake ;\
- upload misc packdrake.pm ;\
- upload misc auto ;\
- upload images MD5SUM ;\
- upload images *.img* ;\
- upload images/alternatives '' ;\
- upload isolinux '' ;\
- echo
diff --git a/Makefile.config b/Makefile.config
new file mode 100644
index 000000000..dabf65a5b
--- /dev/null
+++ b/Makefile.config
@@ -0,0 +1,20 @@
+
+_DISTRIB_NAME := $(shell sed -n '/^.*distribution=\([^,]*\),.*/s//\1/p' /etc/product.id)
+DISTRIB_NAME = "$(_DISTRIB_NAME)"
+DISTRIB_VERSION = $(shell sed -n '/^.*version=\([^,]*\),.*/s//\1/p' /etc/product.id)
+DISTRIB_TYPE = $(shell sed -n '/^.*type=\([^,]*\),.*/s//\1/p' /etc/product.id)
+DISTRIB_DESCR = "$(_DISTRIB_NAME) release $(DISTRIB_VERSION)"
+
+
+# not config, but useful everywhere :)
+ARCH := $(patsubst i%86,i386,$(shell uname -m))
+ARCH := $(ARCH:sparc%=sparc)
+ARCH := $(ARCH:arm%=arm)
+
+PKG_ARCH := $(ARCH:i386=i586)
+
+ifeq (x86_64, $(ARCH))
+LIB = lib64
+else
+LIB = lib
+endif
diff --git a/advertising/01_IM_mageia.pl b/advertising/01_IM_mageia.pl
new file mode 100644
index 000000000..e8b554b51
--- /dev/null
+++ b/advertising/01_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Join Us!");
diff --git a/advertising/01_IM_mageia.png b/advertising/01_IM_mageia.png
new file mode 100644
index 000000000..0ad6cb769
--- /dev/null
+++ b/advertising/01_IM_mageia.png
Binary files differ
diff --git a/advertising/02_IM_mageia.pl b/advertising/02_IM_mageia.pl
new file mode 100644
index 000000000..ddeeb73d5
--- /dev/null
+++ b/advertising/02_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Make it yours!");
diff --git a/advertising/02_IM_mageia.png b/advertising/02_IM_mageia.png
new file mode 100644
index 000000000..c19f00867
--- /dev/null
+++ b/advertising/02_IM_mageia.png
Binary files differ
diff --git a/advertising/03_IM_mageia.pl b/advertising/03_IM_mageia.pl
new file mode 100644
index 000000000..85dfe0561
--- /dev/null
+++ b/advertising/03_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Your choice!");
diff --git a/advertising/03_IM_mageia.png b/advertising/03_IM_mageia.png
new file mode 100644
index 000000000..3bf05ef0f
--- /dev/null
+++ b/advertising/03_IM_mageia.png
Binary files differ
diff --git a/advertising/04_IM_mageia.pl b/advertising/04_IM_mageia.pl
new file mode 100644
index 000000000..d79d45a3a
--- /dev/null
+++ b/advertising/04_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Office tools");
diff --git a/advertising/04_IM_mageia.png b/advertising/04_IM_mageia.png
new file mode 100644
index 000000000..a759ae383
--- /dev/null
+++ b/advertising/04_IM_mageia.png
Binary files differ
diff --git a/advertising/05_IM_mageia.pl b/advertising/05_IM_mageia.pl
new file mode 100644
index 000000000..0be976b2f
--- /dev/null
+++ b/advertising/05_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Home entertainment");
diff --git a/advertising/05_IM_mageia.png b/advertising/05_IM_mageia.png
new file mode 100644
index 000000000..01b0ef866
--- /dev/null
+++ b/advertising/05_IM_mageia.png
Binary files differ
diff --git a/advertising/06_IM_mageia.pl b/advertising/06_IM_mageia.pl
new file mode 100644
index 000000000..96c259df7
--- /dev/null
+++ b/advertising/06_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("For kids");
diff --git a/advertising/06_IM_mageia.png b/advertising/06_IM_mageia.png
new file mode 100644
index 000000000..7f2a5e76b
--- /dev/null
+++ b/advertising/06_IM_mageia.png
Binary files differ
diff --git a/advertising/07_IM_mageia.pl b/advertising/07_IM_mageia.pl
new file mode 100644
index 000000000..d205668a6
--- /dev/null
+++ b/advertising/07_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("For family!");
diff --git a/advertising/07_IM_mageia.png b/advertising/07_IM_mageia.png
new file mode 100644
index 000000000..5aa4ec481
--- /dev/null
+++ b/advertising/07_IM_mageia.png
Binary files differ
diff --git a/advertising/08_IM_mageia.pl b/advertising/08_IM_mageia.pl
new file mode 100644
index 000000000..d6767f491
--- /dev/null
+++ b/advertising/08_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("For developers!");
diff --git a/advertising/08_IM_mageia.png b/advertising/08_IM_mageia.png
new file mode 100644
index 000000000..3a2dc4624
--- /dev/null
+++ b/advertising/08_IM_mageia.png
Binary files differ
diff --git a/advertising/09_IM_mageia.pl b/advertising/09_IM_mageia.pl
new file mode 100644
index 000000000..55e63f502
--- /dev/null
+++ b/advertising/09_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Thank you!");
diff --git a/advertising/09_IM_mageia.png b/advertising/09_IM_mageia.png
new file mode 100644
index 000000000..e80d49a11
--- /dev/null
+++ b/advertising/09_IM_mageia.png
Binary files differ
diff --git a/advertising/10_IM_mageia.pl b/advertising/10_IM_mageia.pl
new file mode 100644
index 000000000..a75b16b5f
--- /dev/null
+++ b/advertising/10_IM_mageia.pl
@@ -0,0 +1 @@
+$title = N("Be Free!");
diff --git a/advertising/10_IM_mageia.png b/advertising/10_IM_mageia.png
new file mode 100644
index 000000000..ef1261f43
--- /dev/null
+++ b/advertising/10_IM_mageia.png
Binary files differ
diff --git a/advertising/Makefile b/advertising/Makefile
new file mode 100644
index 000000000..d897938b8
--- /dev/null
+++ b/advertising/Makefile
@@ -0,0 +1,18 @@
+VERSION = 9.1
+PRODUCT = drakx-installer-advertising
+
+THEME = pwp
+DESTDIR = $(ROOTDEST)/install/extra/advertising
+
+install:
+ rm -rf $(DESTDIR)
+ install -d $(DESTDIR)
+ install -m755 `cat list-$(THEME) | sed 's/png$$/pl/'` $(DESTDIR)
+ install -m644 `cat list-$(THEME)` $(DESTDIR)
+ install -m644 list-$(THEME) $(DESTDIR)/list
+
+tar:
+ git archive --prefix $(PRODUCT)-$(VERSION)/ HEAD | xz -9 > $(PRODUCT)-$(VERSION).tar.xz
+
+clean:
+ find . -name "*~" -o -name ".#*" | xargs rm -f
diff --git a/advertising/NEWS b/advertising/NEWS
new file mode 100644
index 000000000..415fbe9ee
--- /dev/null
+++ b/advertising/NEWS
@@ -0,0 +1,94 @@
+Version 9.1 - 24 June 2023
+
+- Fix typos in slideshow (developer and Languages) (mga#31872)
+
+Version 9 - 17 April 2023
+
+- Mageia 9 artwork
+
+Version 8 - 11 January 2021
+
+- Mageia 8 artwork
+
+Version 7 - 4 May 2019
+
+- Mageia 7
+
+Version 6 - 8 May 2017
+
+- Mageia 6
+
+Version 5.1 - 18 December 2014
+
+- Fix badly exported 03_IM_mageia.png
+
+Version 5 - 17 December 2014
+
+- Mageia 5
+
+Version 4 - 8 January 2014
+
+- Mageia 4
+
+Version 3 - 6 april 2013
+
+- Mageia 3
+
+Version 2 - 25 april 2011
+
+- make it more generic for Mageia 2
+
+Version 1 - 12 March 2011
+
+- new advertising for Mageia 1
+
+Version 2011.0 - 13 Oct 2010
+
+- bump version
+
+Version 2010.1 - 02 May 2010
+
+- 2010.1 images
+
+Version 2010.0 - 28 October 2009
+
+- 2010.0 images
+
+Version 2009.1 - 7 March 2009
+
+- 2009.1 images
+
+Version 2009.0 - 11 September 2008
+
+- 2009.0 images
+
+Version 2008.1.1 - 21 March 2008
+
+- 2008.1 titles
+
+Version 2008.1 - 26 February 2008
+
+- 2008.1 images
+
+Version 0.6 - 18 September 2007, by Pascal "Pixel" Rigaux
+
+- really add titles for 2008.0 adversting
+
+Version 0.5 - 18 September 2007, by Pascal "Pixel" Rigaux
+
+- fix 02IM_MIGRATION.png screenshot
+
+Version 0.4 - 17 September 2007, by Pascal "Pixel" Rigaux
+
+- add titles for 2008.0 adversting
+
+Version 0.3 - 14 September 2007, by Pascal "Pixel" Rigaux
+
+- 2008.0 advertising images
+- drop *.pl files, not used by drakx-installer-stage2 anymore
+
+Version 0.2 - 4 April 2007, by Pascal "Pixel" Rigaux
+
+- 2007.1 advertising images
+- move advertising out of drakx-installer-stage2 into drakx-installer-advertising
+
diff --git a/advertising/README b/advertising/README
new file mode 100644
index 000000000..58d63c2e3
--- /dev/null
+++ b/advertising/README
@@ -0,0 +1,4 @@
+dis == Discovery
+dwd == Download
+ppp == PowerPackPlus
+pwp == PowerPack
diff --git a/advertising/list-pwp b/advertising/list-pwp
new file mode 100644
index 000000000..65540338b
--- /dev/null
+++ b/advertising/list-pwp
@@ -0,0 +1,10 @@
+01_IM_mageia.png
+02_IM_mageia.png
+03_IM_mageia.png
+04_IM_mageia.png
+05_IM_mageia.png
+06_IM_mageia.png
+07_IM_mageia.png
+08_IM_mageia.png
+09_IM_mageia.png
+10_IM_mageia.png
diff --git a/docs/.cvsignore b/docs/.cvsignore
deleted file mode 100644
index a0593a470..000000000
--- a/docs/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pictures
diff --git a/docs/9.0_errata.txt b/docs/9.0_errata.txt
deleted file mode 100644
index 4fec8885c..000000000
--- a/docs/9.0_errata.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-# This file contains all the bugs/glitches/inconsistencies shipped in
-# 9.0 (Dolphin) Mandrake Linux Release.
-
-# Feel free to add your entry and if possible the fixes and status of
-# the errata.
-
- o Drakxtools:
- ==========
-
- widget libraries:
-
- In both XFdrake and printerdrake pop up small, empty, gray windows when
- clicking in the main menu. STATUS: Not fixed.
-
- Scroll bars and widget sizes often not correct (visible primarily in the
- printer options step of the "Add printer" wizard of printerdrake. STATUS:
- Not fixed.
-
- harddrake:
-
- logdrake:
- IS: Send the alert mail when service is stopped but the mail
- is empty.
- SHOULD BE: incorporate a text on which service is stopped.
- Status: not fixed.
-
- o Drakconf:
- =========
- IS: locale nl_NL, sl and zh_CN prevent drakconf from starting with
- a "cannot call set_active on undefined values" error.
-
- SHOULD BE: work well in all locales.
-
- a workaround has been comitted
-
- o Drakfont:
- =========
-
- drakfont get stopped in stat64("/mnt/nt/winnt/fonts/8514oem.fon",
- ...) on ntfs partitions.
- there's a bug in ntfs.o fs module of the kernel
-
- o Install:
- ========
-
- o urpmi:
- ======
-
- "urpmi mplayer" shows a list of libraries it needs and asks whether
- to install all this, after saying "y", it says that all these
- packages are missing and fails (I have shown it to François and he
- says that is a bug with the "contribs". He had to regenerate the
- hdlists somehow. STATUS: Not fixed.
-
- o XFree 4.2.x:
- ============
-
- Touchpad mouse on my Asus S8600 notebook. Worked out-of-the-box
- with Mandrake 8.2, but in 9.0 I cannot do any dragging operation
- with the PS/2-"Standard" mouse setting. I switched to "Glidepoint"
- with mousedrake and then dragging works, but the emulation of the
- third button by pressing both buttons not. Adding the lines
-
- Option "Emulate3Buttons"
- Option "Emulate3Timeout" "50"
-
- to the mouse section of /etc/X11/XF86Config-4 manually fixes the
- middle-button problem. STATUS: Not fixed.
-
-
-
- Sometimes, XFree86 can cause sound glitches because of intensive
- pci bus usage.
- Adding the line
-
- Option "PciRetry" "true"
-
- to the "Device" section /etc/X11/XF86Config-4 fixes these boxes.
-
-
- I810 driver is bogus: when Xrender extension is in use (antialiased
- fonts), X11 may crash upon vt switch.
- is fixed in devel branch of cvs
-
-
- o Printer drivers:
- ================
-
- "Best Grayscale" mode of HP DeskJet 6xx and Apollo printers does
- not work. STATUS: Fixed on linuxprinting.org, needs to be packaged
- in "printer-drivers".
-
-o kernel:
- =======
-
- Sometimes reboot stops on "illegal seek" message (having /usr on /
- fs fix it)
-
- Sometimes process get blocked in D-state on ntfs partitions (see
- drakfont)
-
- i810_audio mistakely say to modules.pm through modules.*map it
- handles nforces whereas it lacks some workaround nvidia and alsa
- uses.
- workaround: perl-install/patch/patch-nforce.pl
-
- snd-via686 is said to produce background noise since alsa-0.9.0rc3
- workaround: switch to via82cxxx_audio (oss driver) through draksound
diff --git a/docs/9.1_errata.txt b/docs/9.1_errata.txt
deleted file mode 100644
index fa73c200e..000000000
--- a/docs/9.1_errata.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-# This file contains all the bugs/glitches/inconsistencies shipped in
-# 9.1 (Bamboo) Mandrake Linux Release.
-
-# Feel free to add your entry and if possible the fixes and status of
-# the errata.
-
-
- o DrakConf:
- =========
-
- - #2439: menudrake failled to run for users other than root and
- xserver owner
-
- - #3415: do not kill "explicitely non embeddable" processes when
- killing embedded tools
-
- both fixed in 9.1-12mdk
-
-
-
- o DrakxTools:
- ===========
- - drakconnect:
- o ltmodem support is missing from mdk9.1 [added in hp release]
- o various other fixes came into mdk4hp release
-
- - explanations: most common ones are not logged because of a
- standalone.pm vs common.pm methods overloading bug [not yet
- fixed]
-
- - harddrake-ui:
- o menu entry starts logdrake instead of harddrake's gui [fixed in
- cvs]
- o status bar is not cleared on config tool exit [fixed in cvs]
- o title bar miss some spaces in french locale [fixed in cvs]
-
- - harddrake service: 5 second timeout was too short so it was
- increased up to 25 seconds [in hp release]
-
- - localedrake/drakx: legal problem with rpc vs hong-kong||taiwan
- [fixed in hp release]
-
-
-
- o Kernel:
- =======
-
- - ntfs driver has a hang, additionally also causing 100% cpu usage
- if either the size of the ntfs filesystem or the number of MFT
- entries fell to a certain range and statfs() system call was
- invoked by an application (e.g. df, gnome system monitor, etc).
- see #3353
-
- it got fixed quickly but unfortunately too late for us
-
- the probability one hits this bug is 0.2% or every 512th users.
-
- updated ntfs driver (2.1.2a) is at the usual place,
-
- http://linux-ntfs.sourceforge.net/
-
- or more precisely,
-
- http://sourceforge.net/project/showfiles.php?group_id=13956
-
diff --git a/docs/BUGS b/docs/BUGS
deleted file mode 100644
index 1d154fcf1..000000000
--- a/docs/BUGS
+++ /dev/null
@@ -1,10 +0,0 @@
-doInstallStep: if there's not enough room, error, but packages are marked installed :(
-
-when you click directly on setupFilesystems and you have scsi, you're fucked.
-Even if you go to setupSCSI, you won't be able to have partitions again.
-
-bug non reproductible:
-- /etc/passwd is empty after `root passwd' stage :(
-- reboot at the end of package installation with a lot of error messages from
-gtk about the progressbar
-
diff --git a/docs/HACKING b/docs/HACKING
deleted file mode 100644
index 4e3d51661..000000000
--- a/docs/HACKING
+++ /dev/null
@@ -1,120 +0,0 @@
--=-=--
-DrakX is a very big project, and it needs special setups to work.
-The purpose of this file is to explain how you can setup your box to make it
-compile and run.
--=-=--
-
-Beware, don't try this on a production machine with important data.
-
-
---------------------------------------------------------------------------
-Sources installation:
-
- First grab the gi.tar.bz2 archive and untar it in your home directory,
-for example from DrakX-*.src.rpm on your Mandrake Linux distribution.
-
-cd to gi
-for i in `du -a | grep CVS/Root | cut -f 2`
-do
- sed -e 's/prigaux/anoncvs/' $i > $i.tmp
- mv $i.tmp $i
-done
-
-Then, log yourself into the cvs:
-% export CVS_RSH=ssh
-% export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker
-% cvs checkout gi
- (passwd: 'cvs')
-And update the gi package:
-cvs update -P -d
-
-
---------------------------------------------------------------------------
-Preparing the compilation process:
-
-(1) target directory
-
-create a /export directory and copy a recent Mandrake Linux CD in there.
-(You don't have to put have all the RPMS...) ; you'll need roughly 1.5
-Gbytes for a full install.
-
-[gc@obiwan ~/cvs/gi] su -c "mkdir /export"
-
-
-(2) devel packages
-
-you need quite a few devel packages to run the stuff; roughly: gcc, make,
-glibc-devel, perl-devel, XFree86-devel, libglib-devel, libgtk+-devel,
-perl-GTK, ldetect*, libslang-devel, libnewt-devel, e2fsprogs, dosfstools,
-rpm-devel, popt-devel, rpmtools, libbzip2*, libncurses*.
-
-you may need a few others I forgot to mention. if the compilation
-fails, try to understand the message and install any necessary
-remaining package.
-
-
-(3) sudo
-
-never build or run DrakX as root; install package sudo, and set up
-relevant permissions; the following should be enough: (in your
-/etc/sudoers)
-
-gc ALL=(root) NOPASSWD:/usr/bin/patch,NOPASSWD:/bin/rpm,NOPASSWD:/bin/mount,NOPASSWD:/bin/cp,NOPASSWD:/bin/umount,NOPASSWD:/usr/bin/install,NOPASSWD:/bin/rm,NOPASSWD:/bin/mv,NOPASSWD:/bin/tar,NOPASSWD:/bin/cpio,NOPASSWD:/bin/chown,NOPASSWD:/bin/mkdir,NOPASSWD:/usr/bin/strip,NOPASSWD:/bin/mknod
-
-
-(4) boot kernel
-
-you need one or more kernels and (all?) their modules. it's
-located in the subdirectory "all.kernels" of the "gi/kernel"
-directory; if you ever grab (or build) another boot kernel,
-replace or add an entry in "all.kernels" as:
-
-[gc@obiwan ~/cvs/gi/kernel/all.kernels] mkdir 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/kernel/all.kernels] cd 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/kernel/all.kernels/2.4.1-BOOTcustom] tar jxvf ~/mycustomkernel.tar.bz2
-[gc@obiwan ~/cvs/gi/kernel/all.kernels/2.4.1-BOOTcustom] ls
-boot/ lib/
-
-
-(5) pray
-
-[gc@obiwan ~/cvs/gi] make
-
-
----------------------------------------------------------------------------
-The comments written with #- are automatically stripped out at install.
-
-
----------------------------------------------------------------------------
-testing all:
-
- go to the perl-install directory and execute ./install2 --test
-
- NEVER execute DrakX as root! You might need to allow all users
- to read the block devices of your hard-disks, though (chmod a+w
- /dev/hda* for example).
-
-
-
-Here is how I (dams) made it work on my computer.
--------------------------------------------------
-
-- get the sources
-- install the librairies needed included newt-devel gtk+-devel popt-devel popt gtk-engines
-- cd path/to/gi
-- make
-- mkdir /usr/share/gtk
-- ln -s path/to/gi/perl-install/share/themes /usr/share/gtk
-- ln -s path/to/gi/perl-install/share/step-* /usr/share
-- ln -s path/to/gi/perl-install/share/help.xpm /usr/share
-- ln -s path/to/gi/perl-install/share/isdn* /etc/sysconfdir/network-scripts
-- have a cd architecture linked on /export
-- ln -s /export /tmp/rhimage
-- export PERL_INSTALL_TEST=1
-- cd path/to/gi/perl-install
-- gendistrib --noclean --distrib /export
-- ./install2 in root (dangerous) or chmod a+r /dev/hd* and ./install2 in user
-
-
-
-address all bugreports to dave@null.com
diff --git a/docs/Partition-ends-after-end-of-disk.txt b/docs/Partition-ends-after-end-of-disk.txt
index 3da57d561..037fe9106 100644
--- a/docs/Partition-ends-after-end-of-disk.txt
+++ b/docs/Partition-ends-after-end-of-disk.txt
@@ -1,6 +1,6 @@
Cylinder/Head/Size Hell Is Not Over
- pixel@mandrakesoft.com
+ pixel
$Date$
diff --git a/docs/README b/docs/README
index c1defd2a3..02bc5d351 100644
--- a/docs/README
+++ b/docs/README
@@ -1,29 +1,18 @@
-Well here is a little description of what DrakX needs to work in comparison
-to the RH newt install.
+Well here is a little description of what DrakX needs to work
********************************************************************************
-* CVS **************************************************************************
+* VCS **************************************************************************
********************************************************************************
-Like all good free software, DrakX is in CVS :)
+Like all good free software, DrakX is in SVN :)
-You can access it at http://www.mandrakelinux.com/cgi-bin/cvsweb.cgi/gi
+You can access it at http://svnweb.mageia.org/soft/drakx/trunk/
or via
-export CVS_RSH=ssh
-export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker
-cvs checkout gi
- (enter password 'cvs')
+svn co svn+ssh://svn.mageia.org/svn/soft/drakx/trunk
-This is only read-only access. If you want more, tell me (pixel@mandrakesoft.com)
-
-Alas, all is not in CVS, a lot of things come from rpm packages which you must
-install.
-
-Please note that redoing *all* the stuff is not for the faint of heart. I myself
-sometimes wonder what the whole make does :-%
-Instead, changing some .pm files is quite easy (nice interpreted language)
+This is only read-only access. If you want more, tell me (pixel)
********************************************************************************
* Making your custom install ***************************************************
@@ -31,27 +20,19 @@ Instead, changing some .pm files is quite easy (nice interpreted language)
If you have your own rpms you want to add, or make your own updated cdrom, you
just have to issue:
-% gendistrib --noclean --distrib <DIRS>
-
-Where <DIRS> is the root of all the media that the install will see, this first
-one is the main one :
+% gendistrib --noclean --distrib <DIR>
-(1) network or 1-cdrom installs
- DIRS == the root directory of the Distribution
+Where <DIR> is the root of all the distribution.
-(2) multi-cdrom install
- DIRS == the root directories of all the media that the install will see
+``gendistrib'' will scan the file media/media_info/media.cfg to search for all
+media used. Typically you use media/main for RPM packages repository.
-``gendistrib'' will scan the file Mandrake/base/hdlists in the main root
-directory (the first one in DIRS) to search for all media used. Typically you
-use Mandrake/RPMS* for RPM packages repository.
-For multi-cd, please use Mandrake/RPMS or Mandrake/RPMS1, Mandrake/RPMS2, etc.
-For one CD or a network/hd volume, please use Mandrake/RPMS.
-
-Optionnally, you can modify ``Mandrake/base/rpmsrate''; this file manages
+Optionnally, you can modify ``media/media_info/rpmsrate''; this file manages
the relative importance of the files, and thus their installation or not.
-Also, mdkinst_stage2.gz must be remade if you modify files in Mandrake/mdkinst.
+To modify the code of stage2, use "misc/mdkinst_stage2_tool --uncompress
+install/stage2" to generate "install/stage2/live". When you are done, use
+"misc/mdkinst_stage2_tool --clean --compress install/stage2".
See below for information about these files.
********************************************************************************
@@ -59,88 +40,59 @@ See below for information about these files.
********************************************************************************
First here are the different things needed :
-Mandrake/base/hdlists
+media/media_info/media.cfg
description of the available install media.
- format is one line for one medium as
- <hdlist_name> <rpms_directory> <description>
- <hdlist_name> should be match regexp /hdlist\S*.cz2?/
- for example (two cd install) you get
- hdlist1.cz Mandrake/RPMS1 Boot CD
- hdlist2.cz Mandrake/RPMS2 Extension CD
-
-Mandrake/base/hdlist*.cz
- table of rpm's headers, referred by ``hdlists''
+ cf MDV::Distribconf(3)
+
+media/media_info/hdlist*.cz
+ table of rpm's headers, referred by ``media.cfg''
their contents can be listed using ``packdrake -l <hdlist_file>'' or
or ``parsehdlist <hdlist_file>''.
- ! Need to be remade when Mandrake/RPMS* changes (with ``gendistrib'') !
+ ! Need to be remade when media/main changes (with ``gendistrib'') !
-Mandrake/base/depslist.ordered
- for each packages, tell which package it depends on. Also contains the
- size for some (obscure) bloody reasons.
- ! Need to be remade when Mandrake/RPMS* changes !
- (with ``gendistrib --noclean --distrib .'')
+media/media_info/compssUsers.pl
-Mandrake/base/compss
- obsoletes comps. It store packages in different categories, generated
- from the %{GROUP} field
- ! Need to be remade when Mandrake/RPMS* changes !
- (with ``gendistrib --noclean --distrib .'')
-
-Mandrake/base/rpmsrate
+media/media_info/rpmsrate
ranks and classify packages, so that the installer will know which
ones to install. format is :
<intern_group>
<level> <packages>
- where <intern_group> is a symbolic name used in Mandrake/base/compssUsers* files,
+ where <intern_group> is a symbolic name used in media/media_info/compssUsers* files,
and <level> defines importance level as described below :
- 5 must have
+ 5 mandatory
4 important
- 3 very nice
+ 3 interesting
2 nice
1 maybe
- by default (for non expert), group selects packages for level 4 (important)
- and 5 (must have). export mode add 3 (very nice) level. other level (below 2)
- can only be selected using individual package selection.
-
-Mandrake/mdkinst
- live system used on certain installs. See ``Ramdisk or not'' below for
- more.
+ installer selects packages for level 4 (important) and 5 (mandatory).
+ packages in other level (3, 2, 1) can only be selected using
+ individual package selection.
-Mandrake/base/mdkinst_stage2.bz2
- for the ramdisk. live sytem in ext2 filesystem bzipped2.
- generated from Mandrake/mdkinst tree using misc/make_mdkinst_stage2
- See ``Ramdisk or not'' below for more.
+install/stage2/mdkinst.sqfs
+ for the compressed loopback of install.
+ generated from install/stage2/live tree using misc/mdkinst_stage2_tool
-Mandrake/base/rescue_stage2.bz2
- rescue ramdisk. live sytem in ext2 filesystem bzipped2.
+install/stage2/rescue.sqfs
+ rescue ramdisk. create_compressed_fs iso file
this is the ramdisk loaded when typing rescue on boot prompt.
- there is no live system available, only the ramdisk is used.
-
-images/*.img
- boot images to use with DrakX. Use:
- - cdrom for cdrom install
- - network for ftp/nfs install (non-pcmcia devices)
- - hd for hard-disk install
- - pcmcia for pcmcia install (see ``PCMCIA install'' below for more)
-
- the following modules have been removed from:
- network.img: acenic sk98lin de4x5
- cdrom.img and hd.img: BusLogic seagate fdomain g_NCR5380 dc395x_trm tmscsim
- hd.img: dpt_i2o eata eata_pio eata_dma
- cdrom.img: aztcd gscd isp16 mcd mcdx optcd cm206 sjcd
- pcmcia.img: apa1480_cb
- they are now in "other.img",
-
- blank.img is a blank boot image without a kernel nor initrd. this image
- can be used to generate custom boot disk (to use it:
- compile your custom kernel with everything needed
- compiled in the kernel, not as a module (loop.o, ext3.o
- if needed, usb stuff, etc) and put the "vmlinuz" on the
- blank.img, then boot on it)
-
- if you think one of those modules is used a lot, tell me, i may find some room
- to put it back on the main floppies.
+install/images/all.img
+ fat16 image to dd on a partition (hint: sda1)
+
+install/images/boot.iso
+ iso image to burn enabling any install (cdrom/hd/nfs/ftp)
+
+ To boot from cdrom, use boot.iso
+ To boot from network, use isolinux/alt0/all.rdz + vmlinuz via pxe
+ To boot from hd (esp. usb key), use all.img.
+
+ NB for usb boot:
+ - it seems some bioses don't use the code on MBR (sda),
+ or at least skip it when it's blanked
+ (eg: "dd if=/dev/zero of=/dev/sda bs=1 count=446")
+ - some bioses need it. I had some luck using
+ dd if=/usr/lib/extipl/aldebaran.bin of=/dev/sda
+ (install package extipl first)
********************************************************************************
* logs *************************************************************************
@@ -158,7 +110,7 @@ not interesting.
- alt-F4: kernel's place. aka the output of dmesg.
- alt-F7: the graphical install lives there
-- command "bug" puts on floppy lots of interesting stuff.
+- command "bug" puts on floppy/usb-key lots of interesting stuff.
- /tmp/stage1.log: same as alt-F3 part when stage1 run (e.g. actions
before graphical install really begins)
- /tmp/ddebug.log: (nearly the) same as latter alt-F3 part
@@ -175,83 +127,11 @@ the auto-partitionning partitions can be changed, the default user class can be
set to developer (!)...
********************************************************************************
-* po translation files *********************************************************
-********************************************************************************
-DrakX uses .po files for its translation. A script takes the different
-strings out of the .pm files. It generates the DrakX.pot file which contains
-all the english strings to translate.
-To add a new language, you just have to add it to lang.pm (if it's not there
-already) and put the .po in the perl-install/po directory (see ``Ramdisk or
-not'' to know if you have to regenerate the mdkinst_stage2.gz)
-
-********************************************************************************
-* PCMCIA install ***************************************************************
-********************************************************************************
-If the media you use to install is a pcmcia device, use the pcmcia boot disk.
-
-********************************************************************************
-* Ramdisk or not ***************************************************************
-********************************************************************************
-The DrakX install is much bigger than the newt one. So the ramdisk which was
-used is getting big, and costs a lot in memory
-(eg: the mdkinst_stage2 is 14MB - 23/09/99)
-(update! now size is 21MB - 24/01/01)
-(update! now size is 19MB - 26/04/01)
-
-| | newt | DrakX
-|-------+---------+----------------------------------------------------------
-| nfs | live | live
-| ftp | ramdisk | ramdisk
-| http | ramdisk | ramdisk
-| hd | ramdisk | live if Mandrake/mdkinst/usr/bin/runinstall2 is a link,
-| | | ramdisk otherwise
-| cdrom | ramdisk | live if memory < 52MB, ramdisk otherwise
-
-Where ramdisk is needed, if detected memory is below the limit allowed for
-ramdisk (maintained in file gi/mdk-stage1/config-stage1.h; currently 52 Mb),
-a failure dialog will be printed explaining that there is not enough memory
-to perform the installation.
-
-When i say live, it means that the stage1 will *mount* the
-Mandrake/mdkinst and use it that way.
-
-The ramdisk is used in place of the live in some cases. This ramdisk is filled
-with mdkinst_stage2.gz
-
-For cdrom install, the ramdisk is used to speed up things (access time is quite
-high on cdrom drives)
-
-For pcmcia, it depends on the type of install.
-
-
-********************************************************************************
* modules **********************************************************************
********************************************************************************
-Modules can be found in at least 2 places:
-- in /modules/modules.mar
-- in /lib/modules.cz<KERNEL_VERSION_RELEASE>
-
-/modules/modules.mar is used in mdk-stage1. It contains only modules
-interesting for one kind of install. For example in an hd install, it
-contains scsi modules. For a network install, it contains network card
-modules. (To create, extract or view files in a ``mar'' archive, please
-use gi/mdk-stage1/mar/mar; this is basically an archive format meant to
-be minimalistic)
-
-/lib/modules.cz<KERNEL_VERSION_RELEASE> contains all modules, it is used
-in stage2.
-
-
To manually install a module during install, switch to console #2
and type "modprobe <modulename>". The modprobe program is a perl
-wrapper around /usr/bin/insmod. It uses the dependencies found in
-/modules/modules.dep (stage1).
-
-/usr/bin/insmod is a wrapper around /usr/bin/insmod_. It just extracts the
-module out of /lib/modules.cz in /tmp. Then it calls insmod_.
-
-/usr/bin/insmod_ is the real prog (which you usually find in /sbin/). You need
-to give it the complete path.
+wrapper around /usr/bin/insmod.
********************************************************************************
* Making screenshots ***********************************************************
@@ -279,7 +159,7 @@ About the stage2 part (the actual installer, at the time you're
documentation written by David Eastcott. Either install the
package "drakx-autoinstall-doc" from contrib, or browse:
-http://members.shaw.ca/mandrake/drakx/9.0/HTML/
+http://members.shaw.ca/Mandrake2/drakx/9.2/AutoInstall-9.2.2.html
The previous document will explain you how to setup the contents
of the auto_inst.cfg file. Note that you have 3 alternatives for
@@ -287,12 +167,12 @@ providing this file:
- from a floppy disk; use "kickstart=floppy" as kernel parameter,
as explained in the document
- from the installation volume itself; put the file in the
- "Mandrake/base" directory of the installation volume; use
+ "install" directory of the installation volume; use
"kickstart" only, or "kickstart=filename" to specify another
filename than auto_inst.cfg
- specified by the network; setup your DHCP server to provide the
"bootfile" parameter, this file will be used as the
- "auto_inst.cfg" file, in the case you also provide the
+ "auto_inst.cfg" file; in this case you also need to provide the
"netauto" boot parameter
In any case, if the specified file ends with -IP or -IP.pl, IP
@@ -310,15 +190,6 @@ your auto installs from your server.
init loads stage1
stage1 loads stage2, from various medium type
-stage2 is too big to fit on a floppy, that's why stage1 exists
-
-> - How each stage relates to the various media access methods
-
-stage1 knows only how to access to the media is compiled for. It
-contains only the kernel modules needed for that media. For eg,
-the nfs/ftp/http stage1 (network.img floppy) doesn't contain scsi
-modules nor ide.
-
> - How one stage terminates and another begins. i.e., How does
> stage1 find, mount, and launch stage2?
@@ -333,84 +204,5 @@ replaces stage1, and init then monitors stage2)
> o Text and Graphic mode installers
> - Architectural overview of each
-have a look at gi/docs/object_class.fig
-
+have a look at drakx/docs/object_class.fig
-********************************************************************************
-* OEM **************************************************************************
-********************************************************************************
-> I am a system OEM in Bangalore,India selling systems bundled with
-> Mandrake Linux. The problem is that with every system I sell, I need to
-> install & configure the system which takes HOURS!. Can I do a diskcopy
-> instead?
->
-> Please Help. This is a major bottleneck for me.
-
-many solutions:
-
-- make an install on drive hdb, then :
- dd if=/dev/hdb of=/dev/hdc
- but you should make sure the hardware is *REALLY* identical.
-
-- try the oem feature
- 3. - burn a cd out of *latest* cooker or 8.0 and above.
- - boot on it telling "oem" to syslinux
- !! it will destroy every data on the harddrive or
- resize (or use free space) if *ONLY* one fat partition is defined !!
- - you now have a very automated install matrix
- (duplicate it with "dd if=/dev/hdb of=/dev/hdc bs=1M count=730")
-
- put the harddrive in the oem box, the user will now have an *very* automated
- install, just asking the root password and user password, and some other
- question according its hardware.
-
- 4. just like 3. but you may have to mount /cdrom after typing rescue on
- syslinux prompt (oem script do it automatically if a automatic boot nfs
- network has been done as server is known). under /cdrom may be anything
- as long as it provides an installation tree of Mandrake Linux.
- after that run oem script by typing "/etc/oem -f" for normal installation
- or "/etc/oem -f server" for server installation (normal with server installed).
-
- 5. (just like 3. without burning a cd, doing the first part by hand)
- have a look at the /etc/oem script on the rescue and do it by hand...
-
-
-cu Pixel, fpons.
-
-
-comments:
-1. maybe copy unnecessary things -> take too long
- solution -> use bs=8k count=xxxx
-2. kernel_reread can be found on the new rescue, source is also at end of this
-mail. This solution works with one partition. Can be easily enhanced to many
-primary partitions... For extended partitions, more complicated, but not much :)
-3. has just been added in latest cooker. It may still have some pb. The main
-current limitation is IDE only, though it can be fixed easily for special cases.
-
---------------------------------------------------------------------------------
-#include <stdio.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-
-void die(char *msg)
-{
- perror(msg);
- exit(1);
-}
-
-void kernel_read(char *dev)
-{
- int fd;
- if ((fd = open(dev, O_RDONLY)) == -1) die("can't open device");
- ioctl(fd, BLKRRPART, 0);
- close(fd);
-}
-
-int main(int argc, char **argv)
-{
- if (argc != 2) {
- fprintf(stderr, "usage: kernel_read_part <hard drive device>\n");
- exit(1);
- }
- kernel_read(argv[1]);
-}
diff --git a/docs/README.devel b/docs/README.devel
index 989946de9..70d2b6285 100644
--- a/docs/README.devel
+++ b/docs/README.devel
@@ -12,12 +12,12 @@ entry point for stage2 is /usr/bin/runinstall2 which is typically a link to
install2::main with @ARGV.
install2::main parse command line arguments, prepare installation, find the right
-install_interactive class (take a look at gi/docs/object_class.fig) according to
+install/interactive class (take a look at gi/docs/object_class.fig) according to
command line, memory available and if the interactive chosen is initializing
correctly, else it will try a less-demanding interactive object.
Once done, $::o is set to this install & interactive object and main runs the
various step of install2 defined in $o->{steps}, starting with $o->{steps}{first}
-and iterating with method install_any::getNextStep().
+and iterating with method install::any::getNextStep().
while running step, it trap any errors that may arise and use perl exception to
change step.
@@ -28,35 +28,35 @@ Here is a brief description of what each modules of DrakX is doing.
install2: main module of DrakX as described above, main loop execution of DrakX.
-install_steps: generic installation module containing steps definition, all steps
+install/steps: generic installation module containing steps definition, all steps
should always be defined here as some methods may be used on automatic mode.
there is no interactivity available. typically are defined base operation for
configuring each step according to $o.
-install_steps_interactive: generic installation module with generic interative
+install/steps_interactive: generic installation module with generic interative
methods. typically are found all interactive code of DrakX for each steps.
-install_steps_auto_install: implementation installation module without interactive
+install/steps_auto_install: implementation installation module without interactive
methods to match auto_install mode. this is the simplest as almost no method are
- redefined (inherit module install_steps only, compared to other implementation
+ redefined (inherit module install/steps only, compared to other implementation
modules described below).
-install_steps_stdio: implementation installation module with interactive stdio
- methods to match stdio mode. inherit modules install_steps_interactive and
+install/steps_stdio: implementation installation module with interactive stdio
+ methods to match stdio mode. inherit modules install/steps_interactive and
interactive_stdio.
-install_steps_newt: implementation installation module with interactive newt
- methods to match newt mode. inherit modules install_steps_interactive and
+install/steps_newt: implementation installation module with interactive newt
+ methods to match newt mode. inherit modules install/steps_interactive and
interactive_newt.
-install_steps_gtk: implementation installation module with interactive gtk
- methods to match gtk mode. inherit modules install_steps_interactive and
+install/steps_gtk: implementation installation module with interactive gtk
+ methods to match gtk mode. inherit modules install/steps_interactive and
interactive_gtk.
-install_any: contains various methods using generic interactive interface but
+install/any: contains various methods using generic interactive interface but
not used by standalone tools.
-install_gtk: contains various methods using gtk interface but not used by
+install/gtk: contains various methods using gtk interface but not used by
standalone tools.
interactive_stdio: implementation methods for interactivity in stdio mode.
@@ -71,7 +71,7 @@ interactive_gtk: implementation methods for interactivity in gtk mode.
my_gtk: basic gtk access methods.
any: contains various methods using generic interactive interface. to compare
- against install_any module as this one is available for standalone tools.
+ against install/any module as this one is available for standalone tools.
class_discard: simple module that implement every methods undefined to return
nothing. this trick is used to ensure no undefined method can arise when using
@@ -237,14 +237,14 @@ the 0, 1, '' means not "redoable", "skip on error", "don't hide"
sub selectAlawindows { $o->selectAlawindows }
-3. add your function selectAlawindows in install_steps_interactive.pm
+3. add your function selectAlawindows in install/steps_interactive.pm
sub selectAlawindows {
my ($o) = @_;
$o->{alawindows} = $o->ask_yesorno('', _("Throw everything away as windobe does?"), 1);
}
-4. add your function selectAlawindows in install_steps.pm (not needed in that
+4. add your function selectAlawindows in install/steps.pm (not needed in that
case, except for auto_install)
sub selectAlawindows {}
diff --git a/docs/README.pxe b/docs/README.pxe
index 2ddd205fe..e60aa9ecf 100644
--- a/docs/README.pxe
+++ b/docs/README.pxe
@@ -13,7 +13,7 @@ You can install tftp-server and dhcp-server package from the Mandrake
distribution for example.
On the server machine at 192.168.2.1, you will find a "/etc/dhcpd.conf" sample
-file written by Florin Grad <florin@mandrakesoft.com>, where "mydomain.com" is
+file written by Florin Grad <florin>, where "mydomain.com" is
assumed to be your domain name, and 192.168.1.1 a name server. All install are
done on subnet 192.168.2.0.
diff --git a/docs/SHORTCUTS b/docs/SHORTCUTS
index 93a7133db..0a0d6e0ab 100644
--- a/docs/SHORTCUTS
+++ b/docs/SHORTCUTS
@@ -3,8 +3,6 @@ main shortcuts
F1 -> help
F2 -> take a screenshot
-F11 -> previous step
-F12 -> next (reachable) step
********************************************************************************
diskdrake
diff --git a/docs/TODO b/docs/TODO
deleted file mode 100644
index cb9399f82..000000000
--- a/docs/TODO
+++ /dev/null
@@ -1,515 +0,0 @@
--URGENT---------------------------------------------------------------------------------
-check for fpons/pixel BOTH that resize_fat is clean for current version
-relative to 7.0-2.
-
-heavy testing of diskdrake to avoid corrupting partition table, current version
-should be available to fix bogus partition table, writing enabled only when
-partition is Ok (fixme? allow primary partition inside extended one, but with
-warning on diskdrake startup, made them as warning ?).
-
--features-------------------------------------------------------------------------------
-add rpmdrake in menu
-
-(7.1 or later) clean SCSI CDROM autoboot.
-(done,gc,8.0) stage1 & cdrom: add ability in expert to choose the scsi cdrom drive to use
-
-(7.1)better help for partitioning in newbie
-
-(7.1)Improved network configuration (PPP and/or Ethernet)
-PPPoE install and configuration (SuSE includes it, DHCP-like)
-(7.1)standalone applications for configuration (netdrake, timetool, authentificationconf, soundcard)
-
-----
-(7.2) replace normal with standard (in the installClass's)
-
-(7.2 or later)horizontal sub-steps
-
-(7.2 or later)diskdrake in text mode
-
-ask "do you have SCSI?" before asking "probe PCI or not"
-
-(?) paride in stage1
-(done,gc,8.0) stage1 & network: add ability to choose the network interface to use
-
-(?) msec custom
-
-(?)firewall configuration (instant firewalling?)
-
-(?)widget for displaying fdisk (dindinx)
-add fdisk using the zvt widget (taken in gnome-libs)
-
-(?)help in some configuration files.
-
-ability to add nfs/weird_fs entries in fstab
-
-size of packages in crypto
-
--to test--------------------------------------------------------------------------------
-what's lseek64?
-
-ensure installClass is set to something in auto install.
-
-for axp, swriteboot -f1 if swriteboot failed.
-axp with swap part sigsegv
-
-tree for choosing monitors (buggy?)
-
-what happens if a module fails to insmod (scsi step), in beginner/normal/expert
-
-fstab must be sorted (/usr/local after /usr)
-
-RAID upgrades
-
-add choice clean /tmp or not in expert
-
-kernel chosen by default must be the one according to supermount/secure
-
-bug if ide-scsi, no more hdX, but scd0 (aka sr0)
- (and add alias block-major-11 ide-scsi ?)
-
-check on update for conf.modules and modules.conf !
-
-with /usr, /usr/local and /usr/local/e mount points i get an error at step mounting local filesystems
-
--easy fixes-----------------------------------------------------------------------------
-rpmdrake proposition for cdrom labels
-
-use option nocheck to mount for upgrades
-
--fixes needing thinking-----------------------------------------------------------------
-bug: changing mem= in miscellaneous doesn't modify lilo conf if you backtrack
-
-ask network configuration only if NIC found?
-
-configure DHCP for newbies if ethernet & DHCP card available
-
-xvidtune like screen configuration (see SuSE's yast)
-
-live cdrom for alpha (sparc?)
-
-network boot
-
-get the error when getting/reading .rpm files fail
-better timeout handling for network installs
-
-handle not enough room for update
-(fpons)verify the free space is big enough.
-
-the XFdrake test does not handle the fontset
-
-> Here I go into the printer configuration select 'HP Deskjet 722C Colour',
-> print a test ASCII page, pressing 'No' when prompted to indicate the page did
-> not print OK and then hitting cancel when prompted to choose a printer type
-> again.
-> ask_from_list cancel at /usr/lib/libDrakX/my_gtk.pm line 504.
-
-diskdrake: take from parted mklabel, hide(?)
-
-bug in kde desktop if keeps home but not an upgrade
-
-bug in users: mandrake user is added twice in strange installs
-(mixed of security 0 + ???)
-
-bugs rpmdrake:
-- just after installing a package, switch to `Installed', the package has wrong name
-- refresh the kde desktop after package installation in rpmdrake
-(restart kpanel)
-- rpmdrake and same name packages
-
-urpmi: pb if XXX-devel requires XXX = 1.2.3 and we updgrade XXX-1.2.3
-
-bug in defcfg in with lang=fr_FR, display is buggy
-
-bug keyboard focus: after switch in console at Xconfig step
-
-
-
--to look at--------------------------------------------------------------------------
-adduserdrake to remove/update users
-
-(???)free provider auto configuration facility (to be discussed).
-auto ppp-configure with free provider
-
-(?)on laptop, configure the MMU to use swap not very often
-
-(?)checkboxes in groups based on compssList (and availableSpace?)
-
-(?)see what can be done with nvram (50 bytes to save information)
-
-better wacom support
-
-(fpons)bug: CANON BJC 4X00 do not work with current rhs-printfilters
- (work with magicfilters (debian))
- (should be handled by ghostscript BJC600's driver)
-
-(pix)install text on mem=8M, mem=16M?
-
-(pix)kickstart
-partitioning? raid?
-X configuration and bootloader in kickstart
-
-XFdrake chooseResolutions with ask_from_list do not permit ``Show all''
-
-(?) options in mkfs, progress bar when formatting
-
-(?) when some error occurs, partition must be unset isFormatted
-
--hardware-------------------------------------------------------------------------------
-- with no floppy drive, mkbootdisk step fails badly
-- with bad floppy or write protected, mkbootdisk doesn't say anything
-- try detect_devices::floppies (and how are scsi floppies handled?)
-maybe: do a iotcl FDGETPRM to detect fd1, fd0.
-
-need a simple solution to precise mouse type (syslinux option?)
-
-ELSA Gloria has bad ddc info
-
-token ring is tr0 not eth0
-
-I have Mandrake 6.1 installed and working on a ThinkPad 770.
-To enable the PCMCIA Token ring I have to append the following line to
-/etc/pcmcia/config.opts
-module "ibmtr_cs" opts "mmiobase=0xd2000 srambase=0xd4000"
-
-smp not detected (mhoward@memphisonline.com on cooker, bios=BP6PW)
-
-UDMA66 (ultra66.o for promise)
-
-aha152x needs "insmod aha152x.o aha152x=0x140,11,7"
-
-(obsolete) usb module not removed if no mouse found
-
-(fpons)handle dat drives
-
-hibernation on laptop -> clock not restored
-
-# in 2.3.15 "Silicon Integrated Systems [SiS]|SiS900 10/100 Ethernet" is handled
-
-(?)enable the testing of the mouse type (under X) (wheel)
-possibility to specify the mouse
-
--(?)---------------------------------------------------------------------------------
-(?) handle NT (add entry for it in lilo, put it in fstab)
-
-(?) lilo-0.22-19mdk is buggy with boot=/dev/hde & root=/dev/sda13, it needs
-disk=/dev/hde bios=0x80 & disk=/dev/sda bios=0x81
-
-(?)using setxkb, enable the testing of the keyboard
-
-(?)XFdrake does not handle fbdev
-
-(?) Je viens de faire une installation sur une machine où seul Be était
-installé. Je l'ai supprimé et installé (mode recommandé) Oxygen. Au
-redémarrage, le boot manager de Be apparaît et il est impossible de
-démarrer Linux.
-Pourquoi ne pas installer LILO si on supprime toutes les partitions ?
-
-(?)initrd in bzip2
-
-(?)smaller zsh (or ash in initrd)
-
-(?)is configureNetworkNet needed with dhcp/bootp?
-
-(?)bug in upgrade: install from hda1:/usr/local/blah with hda1:/
-
-(?)mandrake_desk was not installed while kdebase it there on upgrade
-
-(?)when clicking on X configuration, installation of packages is not displayed
-
-(?)maybe remove commented lines in /usr/lib/perl5/... files
-
-(?)timezone using a picture (pb: how to delimit zones)
-when asking GMT or not, display the time for each possibility
-the list is too big for USA
-
-(?)ability to select the type of install when booting of cdrom
-(?)use the ability of el torito to handle 2.88MB or more
-
-(obsolete)lilo-deinstallation in case of lilo auto-installation for beginners
-
-(?)loadFont sucks
-
-(obsolete)trash on the screen when X first starts
-
-(?)remove the gray line surrounding the logo
-
-(?)cleanup /etc/services & /etc/protocols
-
-(?)strange: no scsi of type 'fd', only 'tape'
-
-(?)remount ro before X test.
-
-(?)remove every << and >> (doesn't handle > 32bits)
-
-
--done---------------------------------------------------------------------------------
-(7.1,done,fpons) improve printerdrake to at least have the same functionalities as printtool.
-
-(done,fpons)diskdrake can olverlap partitions (resize lower, resize original typically
-after clear all and auto allocate, try maximal size available).
-
-(done,fpons)rewrite mouseconfig in perl?
-
-(done,pix)kudzu or not in miscellaneous
-
-(done,pix)warn the user if not enough ram to fulfill install
-
-(done,fpons)test after printer config
-
-(done,pix)ask for more than the memory size detected
-
-(done,fpons)modem config
-
-(done,pix)call kudzu in batch to initialize its list
-
-(done,pix)standalone generator of mdkinst_stage2.gz
-
-(done,pix)text install
-
-(done,pix) if u choose mouse usb != found mouse, it fails at X config
-
-(done,pix) diskdrake bug: saved information on floppy contains isMounted.
-
-(done,pix) update devices.c from modules.pm
-
-(done,pix) in lilo.conf, put
-disk=/dev/hdb
- bios=0x80
-
-(done,pix) diskdrake
-auto_partitions
-suggested partition tables must be better foreach installClass
-
-(done,pix) update the list of modules (in update_kernel)
-
-(done,pix) language support: only choose the right locales and upmark the packages requiring it
-
-(done,pix) move security question before isntallation of packages
-
-(done,pix) install ssh
-
-(done,fpons,pix) change the boot message of syslinux (have something different from RedHat)
-
-(done,pix) install_steps.pm: 569 (128M + 3)
-
-(done,pix) bug: mouse freeze just before network configuration (mouse primax)
- (was kudzu)
-
-(done,pix) signal 11 in stage1 nfs kickstart mount failed
-
-(done,pix) ask supermount or not, no supermount with kernel-secure
-
-(done,pix) fix bug in g_auto_install (can't go through all)
-
-(done,pix) bug: install from ciril.fr fails
-
-(done,pix)wizard for partitioning in case of one full vfat
-
-(done,dindinx)app for choosing drakxtools (drakxconf)
-(done,pix)verify being root
-(done,pix)log::l -> initlog
-
-(done,pix)install apmd for laptops (maybe not start apmd though)
-(done,pix)icewm apm (sh icewm_apm)
-(done,pix)kde apm (put Kapm.kdelnk in ~/Desktop/Autostart)
-
-(done,pix)bug in adduserdrake: missing pwconv in md5
-(done,pix)correct the default value of draksec (cp draksec)
-(done,pix)in draksec, (and maybe others) have --expert as default if /etc/sysconfig/system has TYPE=expert
-
-(done,pix)bug in XFdrake in install, cancel in choose Card do not close the window
-
-(done,pix)in XFdrake, testing should not overwrite /etc/X11/XF86Config
-
-(done,pix) hwiz and supermount and eject :(
-
-(done(replaced by msec's),pix) bug: usermod -G urpmi a not done (full install)
-
-(done,pix)perl and .ph's
-
-(done,pix) BUG bootp in network install sigsegv
-
-(done,pix) move the last done stuff before Xconfiguration if possible
-
-(done,pix)draksec is buggy, don't try security >= 4
-
-(done,pix)install apmd on laptops?? (maybe ask emcweb@btinernet.com (see alix))
-
-(done,pix)missing alias ll for root
-
-(done,pix)urpmi.addmedia: |gzip instead of doing it afterwards
-
-(done,pix)locale (and fonts?) buggy in case ramdisk is used
-
-(done,pix)rpmdrake: Installed packages not in hdlist should be there
-
-(done)in ftp install, locale not installed properly
-
-(done,pix)pcmcia.img does not handle hd/cdrom
-
-(done,pix)cyrillic font buggy in DrakX
-
-(done,fred)remove xfs user from kdm
-
-(done,pix)bug with 2 cdrom drives (.kdelnk to there for 1st drive)
-
-(done,pix(works))test ramdisk stage2 and romanian
-
-(done,pix)kfmrc
-
-(done,pix)on laptop, default to 1024x768
-
-(done,pix)mkinitrd and deps
-
-(done,fred(removed the call))XFdrake and mousedrake freeze if lothar launches them
-
-(done,pix)crypto message
-
-(done,pix)test bug with lilo and windows (if not on mbr)
-
-(done,pix)removed icons come back later (kde desktop)
-
-(done,pix(was bug in upgrade reading old config))
- segfault in linuxconf (adapter 1 empty)
- (test with the sysconfig sent)
-
-(done,fpons)bug: Lrosqu'on effectue une mise à jour et que /etc/lilo.conf
-contient la variable « default » positionnée sur autre chose que
-« linux » ou « windows », DrakX est incapable de générer LILO.
-
-(done,fpons)bug: GeForce and hd.img?
-
-(done,fpons)for upgrade in expert, give choice of packages to install
- choosing packages available in upgrade?
-
-(done,pix)rpmdrake: pb uninstalling package with dependencies (rpmdrake is killed?!) (as root too)
-
-(done,pix)noatime option for ext2 fs on laptops (do not wake up the hd)
- Do not update inode access times on this
- file system (e.g, for faster access on the
- news spool to speed up news servers).
-
-(done,pix)kde's icons: 28 horiz and 25 vert grid for big icons
-
-(done,pix)bug: DrakConf don't follow the charset -> add setlocale(LC_ALL, "")
-(done,pix)for ko|ja|zh, gnome-terminal should point to rxvt (-CLE)
-(done,pix)group cdrom in /etc/group (gid=22)
-(done,pix)drakxtools should require urpmi
-(done,pix)bug: gdm unset LANG
-(done,pix) zip with automount -> ppa not autoloaded
-(done,pix)when you set the kde icons to Large, maybe it'd be good to chown the .kderc
-(done,pix)lilo in russian/japaneese is horrible
-(ok,pix)test ide burners
-(ok)test check bad blocks optional for mke2fs
-(done,pix)hd install: no umount is done at the end of install :(
-
-just before release:
-(done,pix)- mandrake_doc-xx, the symlink is no good in /usr/doc/mandrake as
-(done,pix)- crypto dependencies to update
-(done,pix)- update kudzu's pcitable
-(done,pix)- update pcitable for 86C368 if 3.3.6 (and other S3 3D's)
- ("ATI|3D Rage P/M Mobility AGP 2x" -> changed to Server:Mach64)
-
-(done,pix)with 2MB of video ram, chooses 8bpp instead of 16bpp
-
-(done,pix) replace
- { device => "loop7", type => 0x83, size => ((cat_('/dos/lnx4win/size.txt'))[0]*2048), mntpoint => "/", isFormatted => 1, isMounted => 1 },
-by
- { device => "loop7", type => 0x83, size => cat_('/dos/lnx4win/size.txt') * 2048, mntpoint => "/", isFormatted => 1, isMounted => 1 },
-
-(done,fpons)in ftp install, bug with X server install with wu-ftpd 2.6 (see http://www.wu-ftpd.org/broken-clients.html)
-
-(done,pix)ask package installation languages (must be put in RPM_INSTALL_LANG)
-
-(done,pix)bug (by dadou): Si la partition racine est trop petite pour installer le système, un
-message d'erreur apparaît pour signaler le problème (bien) mais on ne
-peut en sortir. La seule solution est de redémarrer.
-
-(obsolete)bug when selecting compssUsers, do not deselect after (if u deselect)
-
-(done,pix)detect ide burners and then add hdX=ide-scsi to kernel cmdline
-
-(done,pix)urpmi: handle many args on cmd-line
-
-(done,pix)fix any // in path to ftp server otherwise windobe server bug :(
-
-(done,pix)diskdrake and auto partitioning, may have the last creation of partition rejected,
-try to figure why?
-
-(done,pix)in chooseResolutions: display the graphic card found
-
-(done,pix)with pcmcia, need ONBOOT=no
-
-(fpons,done) XFree: handle by card options
-eg: SIS6326 needs "no_bitblt" "no_bltimage" and 24bpp instead of 32bpp
-
-(done,pix) Xconfiguration: if "can't open fixed font", relaunch xfs.
-
-(obsolete) pb with dependencies ``missing'': icewm do not require XFree86 and so you can have icewm but no X server
-
-(obsolete) bug in ext2resizing (no sparse superbloc, don't finish properly)
-
-(done,pix,7.1)manage a lot of language (ergonomic issue as it already exists)
-
-(done,pix,7.1)tree for choosing things like timezone, monitors, graphic cards, modules, mice, keyboard? ...
-
-(done,pix,7.1)sound config, although very simple, no dedicated steps and only PCI (or maybe ISA-PNP if time left ?)
-
-(done,pix,7.1)partitioning, keyboard shortcut.
-
-(done,fpons,7.1)index/compress hdlist? (for multi-cd)
-! for multi-cd live is mandatory, small transaction are mandatory too.
-
-(done,pix,7.1?)loopback partitions (even root one)
-
-(done,pix)in ok_cancel, focus has 3 states, should be 2 (ask dindinx)
-
-(done,pix,7.1)Generally improved package selection /ergonmic issue.
-Tree -> CTree, ``all'' branch with all packages
-show the value associated (100->a must, 90->great, 80->nice, ... 10->useless, 0->do not install)
-
-(done,pix)let diskdrake have dos/win partition automatically set up with mount point,
-this will help loopback too.
-
-(done,pix,7.1)grub
-
-(done,pix,7.1)feature missing: cancel installation
-
-(obsolete) bug in diskdrake: can in strange cases create a primary partition at sector #0
-
-(done,pix(partly, protection against bugging))bug in diskdrake:
-in expert: blank, create hda5 at beginning, create hda6 at the end, create hda7
-in the middle, remove the first one. Result hda5 at the end and bug.
-
-(obsolete) have a better time estimation of the remaining time in install packages
-
-(done,dindinx+pix)ask_many_from_list can't keyboard scroll
-
-(done,pix,7.1)individual package selection: double click is tiring...
-
-(done,fpons,7.1) sparc ehancement, avoid V7+ machine target (div and mul not in v7 standard)
-
-(done,fpons,7.1)syslinux in graphical mode to be improved for heavily bogus BIOSes.
-
-(done,pix)missing feature in lilo configuration: can't give hda2 with /boot/vmlinuz if
-already hda1 with /boot/vmlinuz
-
-(done,pix)in 640x480 install box is to small (cuz of 'Cancel' button beeing added)
-
-(done,pix)chooseGroup with individual alone
-
-(done)(7.1) rewrite crypto stuff
-(done)crypto: add a cancel & progress bar while downloading
-(done)error handling (like reading hdlist)
-(done)(7.1)progression bar on crypto.
-
-(done, daouda&pix,7.1, other persons)rescue:
-- small modification for stage1 to get the rescue stage2
-- create a stage2 with many tools (fdisk, bash...)
-the rescue could be on another cd (if multi-cd)
-! care must be taken about modules (if ide is in module...)
-
-(done,7.1)install in 800x600
-- need handling of both 640x480 (mostly for VGA16) and 800x600
-
-(done,NEED 7.1) auto-install for corporate, very important (need consolidation).
diff --git a/docs/comparisons b/docs/comparisons
index f399a9e84..ccd98f547 100644
--- a/docs/comparisons
+++ b/docs/comparisons
@@ -90,6 +90,24 @@ rpmsrate
4 all 1433 1331 21:44 ext2 2G
4 X+kde 822 749 6:05 ext2 2G
4 X+gnome 369 319 5:58 ext2 2G
+ rpm df time time/rpm rpm/df
+2006beta
+celeron 360Mhz, 256MB, auto_install
+6 - 106 225 1:46 ext3 788M 1.00 0.47
+5 X 365 440 4:19 ext2 3.2G 0.71 0.83
+5 X 385 417 5:15 ext2 3.2G 0.82 0.92
+4 X 415 489 05:26 ext2 3.2G 0.79 0.85
+4 X 436 511 06:05 ext2 788M 0.84 0.85
+4 X+KDE 709 829 08:39 ext2 3.2G 0.73 0.86
+4 X+KDE 709 829 09:01 ext2 3.2G 0.76 0.86
+4 X+KDE 709 934 11:01 ext3 3.2G 0.93 0.76
+4 X+KDE 709 934 10:37 ext3 3.2G 0.90 0.76
+4 X+KDE+GNO 763 888 11:06 ext2 3.2G 0.87 0.86
+4 def+GNO 1024 1126 12:41 ext2 3.2G 0.74 0.91
+4 def+GNO 1227 1130 13:52 ext2 3.2G 0.68 1.09
+4 default 1433 1536 18:26 ext2 3.2G 0.77 0.93
+4 def+GNO 1442 1633 17:58 ext2 3.2G 0.75 0.88
+2 all 2800 3200 47:56 ext2 4G 1.03 0.88
redhat 7.3:
diff --git a/docs/diskdrake.TODO b/docs/diskdrake.TODO
deleted file mode 100644
index e6f2da038..000000000
--- a/docs/diskdrake.TODO
+++ /dev/null
@@ -1,23 +0,0 @@
-- test what windows can handle (the number of partitions)
-- better keyboard focus handling
-- end sector in Create
-- add warnings for scsi drives if you create more than sdx15
-- the information put in save/restore partitions must be cleaned
-(remove mounted/formatted/..., also remove the Data::Dumper dependency)
-- test, test, test
-- do not allow swap partitions above 2Gigs
-- wanting the first partition to be extended is not used
-- maybe warn if a mounted partition change of dev number
-- text version
-- better error handling (what to do if we find a bad partition table?)
-- display the information about the correspondance color2type
-- handle the partition labels (missing information here)
-- add comments in the code
-- add documentation
-- handle the `luke' case (main extended partition must be extended)
-- ability to batch actions (like chained moves)
-- add a verification after fdiskReadPartitionTable that the start_cyl,
-end_cyl... do correspond to start and start+size. For the moment, this
-information is just discarded :(
-This verif can't be done in fdiskReadPartitionTable as start is relative in
-extended partitions
diff --git a/docs/drakfont/drakfont.tex b/docs/drakfont/drakfont.tex
index bbc936e5b..035adf3a9 100644
--- a/docs/drakfont/drakfont.tex
+++ b/docs/drakfont/drakfont.tex
@@ -48,7 +48,7 @@
%\end{center}
%\end{figure}
-\author{Dupont Sebastien \\ sdupont@mandrakesoft.com}
+\author{Dupont Sebastien \\ sdupont}
\date{05/10/2001}
\pagestyle{myheadings}
\markright{\scriptsize \trtitle}
diff --git a/docs/draknet_advanced_doc.txt b/docs/draknet_advanced_doc.txt
deleted file mode 100644
index a0c0c63e0..000000000
--- a/docs/draknet_advanced_doc.txt
+++ /dev/null
@@ -1,165 +0,0 @@
-This document details the entry points you can call without the DrakX graohical
-toolkit. First, the general variables you will encounter further. If you don't
-know wht a variable is, look here. Any additional locally variables are
-commented 'in place'
-
-------------------------------
-Special types (in upper cases)
-------------------------------
- DB_FILE : file storing the ISDN ISP database. see share/isdndb.txt : file of lines in 'Unlisted - edit manually' or /^(.*)\|(.*)\|(.*)=>([0-9]*)=>(.*)=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})=>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ where $1=Land $2=City $3=ISP_name $4=phone_number $5=hostname $6=dns1 $7=dns2
-
----------------------------------------------------------------------------------------
-Summary of common variables used (local variables are described in the function itself)
----------------------------------------------------------------------------------------
-notation : keys : description : type : format (regexp or enumeration. `...' means it's not exhaustive
- $prefix : prefix path (empty in post-install) : string : path
- $isLaptop : flag for laptop : boolean or int : guess
- $isdn : hash table containing isdn infos
- $isdn->{login} : cnx login : string
- $isdn->{passwd} : cnx passwd : string
- $isdn->{phone_in} : user phone : /^[0-9]*$/
- $isdn->{phone_out} : ISP phone : /^[0-9]*$/
- $isdn->{dialing_mode} : dialing mode : "auto" or "manual"
- $isdn->{driver} : driver used for the card : "hisax" or "b1pci" or ...
- $isdn->{type} : type of card, used for the driver, see netconnect_consts : integer : /^[1-22]|[24-37]$/
- $isdn->{irq} : irq of the ISA card : integer |
- $isdn->{mem} : mem of the ISA card : string |
- $isdn->{io} : io of the ISA card : string | see netconnect_consts for examples.
- $isdn->{io0} : io0 of the ISA card : string |
- $isdn->{io1} : i01 of the ISA card : string |
- $isdn->{idl} : amount of time after the cnx times out in secs : int
- $isdn->{user_name} : not used anymore. Not explicit. It represented the name of the connexion.
- $isdn->{card_type} : card type : string : "isa" or "pci" or "pcmcia"
- $isdn->{protocol} : cnx protocol : int : 1|2|3 : 1 for old german specific (not used anymore), 2 for europe, 3 for rest of the world
- $isdn->{id} : card id. Associated with vendor, identify strictly the card. see pcitable : integer
- $isdn->{description} : card description from pcitable : string
- $isdn->{vendor} : card vendor : integer
- $isdn->{passwd2} : passwd verification : string
- $modem : hash table containing modem infos
- $modem->{device} : device of the modem : string : /ttyS[0-9]/
- $adsl : hash table containing modem infos
- $adsl->{login} : cnx login : string
- $adsl->{passwd} : cnx passwd : string
- $adsl->{atboot} :
- $netc : hash table containing system-wide networking infos (maybe not true, correct this) :
- $netc->{NET_DEVICE}
- $netc->{dnsServer2}
- $netc->{dnsServer3}
- $netc->{DOMAINNAME2}
- $netc->{NET_INTERFACE} is set to "ppp0"
- $in : interactive object
-
-------------
-Entry points
-------------
-
-isdn_write_config_backend : write isdn info, only for ippp0 -> ask_connect_now
-input :
- $prefix
- $isdn
-$isdn input:
- $isdn->{login} $isdn->{passwd} $isdn->{phone_in} $isdn->{phone_out} $isdn->{dialing_mode}
- $isdn->{driver} $isdn->{type} $isdn->{irq} $isdn->{mem} $isdn->{io} $isdn->{io0} $isdn->{io1}
-
-write_secret_backend : write login and passwd into /etc/ppp/{chap, pap}-secrets. Replace old passwd only if same login
-input :
- $a : login : string : /^.*$/
- $b : passwd : string : /^.*$/
-
-connect_backend : launch the cnx script
-input : $prefix
-
-connect_backend : launch the cnx script
-input : $prefix
-
-read_providers_backend : build the tree of isdn ISP
-input :
- $file : 1st location of the file : ISDN_DB_FILE
- $file2 : 2nd location of the file : ISDN_DB_FILE
-output : the list of ISP : array of strings : array of /^(.*)\|(.*)\|(.*)$/ where $1=Land $2=City $3=ISP_name
-
-get_info_isdn_backend : fills the infos from the line of the tree returned into $isdn and $netc
-input :
- $isdn
- $netc
- $name : the line choosen in the tree of ISP : string : /^(.*)\|(.*)\|(.*)$/ with $1=Land $2=City $3=ISP_name
- $file : 1st location of the file : ISDN_DB_FILE
- $file2 : 2nd location of the file : ISDN_DB_FILE
-$isdn ouput
- $isdn->{user_name}, $isdn->{phone_out}, $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3},
-$netc output
- $netc->{DOMAINNAME2}, $netc->{dnsServer2}, $netc->{dnsServer3}
-
-isdn_detect_backend : detects isdn pci card and fills the infos in $isdn : only detects one card
-input
- $isdn
-$isdn output:
- $isdn->{description} $isdn->{vendor} $isdn->{id} $isdn->{driver} $isdn->{card_type} $isdn->{type}
-
-isdn_get_list : return isdn cards descriptions list. This function is not use internally.
-output : descriptions : list of strings
-
-isdn_get_info : return isdn card infos. This function is not use internally.
-input : the description of the card (see isdn_get_list)
-output : a reference on the decription of the card. : ref on a hash(description,type,irq,mem,io,io0,io1card,)
-
-conf_network_card_backend : configure the network cards and return the list of them, or configure one specified interface : WARNING, you have to setup the ethernet cards, by calling setup_thiskind($in, 'net', !$::expert, 1) or setup_thiskind_backend before calling this function. Basically, you call this function in 2 times.
-input
- $prefix
- $netc
- $intf
- $type : type of interface, must be given if $interface is : string : "static" or "dhcp"
- $interface : facultative, if given, set this interface and return it in a proper form. If not, return @all_cards
- $ipadr : facultative, ip address of the interface : string
- $netadr : facultative, netaddress of the interface : string
-when $interface is given, informations are written in $intf and $netc. If not, @all_cards is returned.
-$intf output: $device is the result of
- $intf->{$device}->{DEVICE} : which device is concerned : $device is the result of $interface =~ /(eth[0-9]+)/; my $device = $1;;
- $intf->{$device}->{BOOTPROTO} : $type
- $intf->{$device}->{NETMASK} : '255.255.255.0'
- $intf->{$device}->{NETWORK} : $netadr
- $intf->{$device}->{ONBOOT} : "yes"
-$netc output:
- $netc->{nb_cards} : nb of ethernet cards
- $netc->{NET_DEVICE} : this is used to indicate that this eth card is used to connect to internet : $device
-output:
- $all_cards : a list of a list ( (eth1, module1), ... , (ethn, modulen)). Pass the ethx as $interface in further call.
- $device : only returned in case $interface was given it's $interface, but filtered by /eth[0-9+]/ : string : /eth[0-9+]/
-
-adsl_conf_backend : write adsl configuration
-input :
- $prefix
- $adsl
- $netc
- $adsl_type : type of cnx : string : "pptp" or "pppoe"
-$adsl input:
- $adsl->{login}, $adsl->{passwd}, $adsl->{atboot}
-$netc input:
- $netc->{NET_DEVICE}
- $netc->{dnsServer2}
- $netc->{dnsServer3}
- $netc->{DOMAINNAME2}
-$netc output:
- $netc->{NET_INTERFACE} is set to "ppp0"
-
-modem_detect_backend : detects modem on serial ports and fills the infos in $modem : detects only one card
-input
- $modem
- $mouse : facultative, hash containing device to exclude not to test mouse port : ( device => /ttyS[0-9]/ )
-output:
- $modem->{device} : device where the modem were detected
-
-get_net_device : return the device choosen for the net cnx
-no input
-output : name of the internet device.
-
-read_net_conf : read the information stored in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
-input:
- $prefix
- $netcnx
- $netc
-
-set_net_conf : set the information from netcnx in $prefix/etc/sysconfig/draknet and $prefix/etc/sysconfig/draknet.`type`
- $prefix
- $netcnx
- $netc : useless! REMOVE ME
diff --git a/docs/ka_method/Makefile b/docs/ka_method/Makefile
new file mode 100644
index 000000000..346475433
--- /dev/null
+++ b/docs/ka_method/Makefile
@@ -0,0 +1,59 @@
+#--------- HTML TARGET ---------
+WWW_PATH=html/
+
+#-------- PDF TARGET --------------
+DSL=/usr/share/sgml/docbook/utils-0.6.??/docbook-utils.dsl
+#CATALOG=/etc/sgml/xml-docbook-4.1.2.cat
+CATALOG=/etc/sgml/catalog
+
+#-------- ALL TARGETS --------------
+XSL_FILE=oneduplication.xsl
+BASE=doc-duplication
+XML_FILE=${BASE}.xml
+
+#----------- ----------------
+DSSSL_JADETEX=/usr/share/sgml/docbook/dsssl-stylesheets/print/docbook.dsl
+XSL_JADETEX=/usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl
+JADE=openjade
+
+#------------ MAIN ----------------
+all: clean prepare html_doc
+
+prepare:
+ mkdir -p ${WWW_PATH}
+ rm -rf ${WWW_PATH}*.html
+
+clean:
+ rm -rf *log
+ rm -rf ${BASE}.pdf ${BASE}.tex ${BASE}.fot
+ rm -rf *~
+ rm -rf *.aux
+ rm -rf *.out
+ rm -rf *.pdf
+pdf_doc:
+ db2pdf -c ${CATALOG} -d ${DSL} ${XML_FILE} 2>&1
+
+pdf_noprint:
+ make clean
+ DSSSL_JADETEX=docbook-jadetex.dsssl make duplication.pdf DSSSL_JADETEX=docbook-jadetex.dsssl
+
+html_doc:
+ xsltproc ${XSL_FILE} ${XML_FILE}
+ mv -f index.html ${WWW_PATH}/duplication.html
+ cp -v styleguibo.css ${WWW_PATH}
+
+%.tex: %.xml $(DSSSL_JADETEX)
+ $(JADE) -t tex -d $(DSSSL_JADETEX) -c /usr/share/sgml/openjade/catalog \
+ -o $@ /usr/share/sgml/openjade/pubtext/xml.dcl $<
+
+%.pdf %.out %.aux %.log: %.tex
+ if [ -e prior.aux ]; then cp -pf prior.aux pprior.aux; fi
+ f=$(shell basename $< .tex).aux; if [ -e $$f ]; then cp -pf $$f prior.aux; fi
+ -pdfjadetex $< > pdfjadetex.log
+ if ! cmp $(shell basename $< .tex).aux prior.aux > /dev/null 2>&1 && \
+ ! cmp $(shell basename $< .tex).aux pprior.aux > /dev/null 2>&1 && \
+ expr $(MAKELEVEL) '<' 4 > /dev/null; then \
+ rm -f $@; \
+ echo "Found undefined references, compiling again..."; \
+ $(MAKE) $@ DSSSL_JADETEX=docbook-jadetex.dsssl; \
+ fi
diff --git a/docs/ka_method/doc-duplication.xml b/docs/ka_method/doc-duplication.xml
new file mode 100644
index 000000000..8196835fb
--- /dev/null
+++ b/docs/ka_method/doc-duplication.xml
@@ -0,0 +1,1487 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+ <article lang="en">
+ <title>Clone a node/computer using KA method</title>
+ <sect1><title>CLONING WILL ERASE ALL CLIENT NODES DATA !</title><para>!! USE WITH CARE !! </para></sect1>
+ <sect1>
+ <title>Clone a computer over the network</title>
+ <para>
+ Goal of duplication is to easily deploy a computer over network without taking care of numbers of computer. In this documentation, we call golden node the node we want to clone. We can duplicate SCSI or IDE hard drive, and duplication support multiple filesystem (reiserfs, ext2, ext3, ext4, xfs, jfs).
+ This method came from a very old project called CLIC, and was used under IGGI project, all Mandrake Clustering products, and now it is used under XtreemOS project. Now it should be available in 2010 spring, and all futur product.
+ </para>
+ <para>WARNING: all data on client nodes will be ERASED ! We duplicate partitions of HDD's golden node, and the process will do an fdisk command on the client node, so ALL YOUR DATA will be erased on client nodes.</para>
+ <sect2>
+ <title>KA method</title>
+ <para>
+ With KA method you can quickly duplicate a node using a <emphasis role="bold">desc</emphasis>
+ file describing partitions. KA method only duplicate data on partitions, so if you have 80go HDD disk, and
+ only 10go on it, KA only duplicates 10go, and not the whole disk. KA method doesn't not support RAID software.
+ </para>
+ <para>
+ Drawbacks:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem><para>KA method doesn't support RAID software (use dolly to do that)</para></listitem>
+ <listitem><para>all data on client nodes are erased</para></listitem>
+ <listitem><para>you need a PXE, DHDCP and TFTP server</para></listitem>
+ <listitem><para>you must re-create same partition table as the golden node (even if size can differ)</para></listitem>
+ <listitem><para>even if it has been tested, it's still an experimental method</para></listitem>
+ <listitem><para>cloning script are old, and need a full rewrite</para></listitem>
+ <listitem><para>now it's only works with the Mageia installer (need to patch it to support a KA method)</para></listitem>
+ <listitem><para>if a node crash while doing a duplication, the duplication process stop (or became very unstable)</para></listitem>
+ <listitem><para>using fdisk to erase and re-format the HDD is not a good way to proceed</para></listitem>
+ <listitem><para>UUID support is not really done (fstab use old /dec/sdX)</para></listitem>
+ <listitem><para>you can only clone Linux filesystems (if you want to duplicate another kinf of FS, it's up to you to modify the scripts)</para></listitem>
+ <listitem><para>of course various other things !</para></listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+ <sect2>
+ <title>HOW it works</title>
+ <sect3>
+ <title>Steps</title>
+ <para>
+ The clone process works in three steps
+ </para>
+ <itemizedlist>
+ <listitem><para><emphasis role="bold">PXE boot to retrieve stage1</emphasis>: the computer boot on PXE mode, retrieve <emphasis role="bold">vmlinuz</emphasis> and an <emphasis role="bold">initrd</emphasis> image. The computer is in <emphasis role="bold">stage1</emphasis> mode, and is able to get the stage2 throug KA. Network is up.</para></listitem>
+ <listitem><para><emphasis role="bold">get stage2</emphasis>: the computer gets the stage2 with the KA method. The <emphasis role="bold">stage2</emphasis> contains all necessary tools to recognize your hardware (the most important things is to detect your HDD and your network card), and all necessary tools/scripts to finalize the cloning process.</para></listitem>
+ <listitem><para><emphasis role="bold">Duplication process</emphasis>: the computer auto-probes needed modules to be able to access the HDD. A basic log server is launched on the client node to be able to run command and get status of the KA duplication process. The computer reconfigure the modprobe.conf and restore the booloader (grub or lilo)</para></listitem>
+ </itemizedlist>
+ </sect3>
+ <sect3>
+ <title>Needed files</title>
+ <para>
+ All needed files are available in Mageia cooker.
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem><para><emphasis role="bold">install/stage2/rescue.sqfs</emphasis>: this is the stage2 file with all needed files to detect and probe modules, and launch the third step of the duplication process. This file will be used on the golden node.</para></listitem>
+ <listitem><para><emphasis role="bold">isolinux/alt0/vmlinuz</emphasis>: linux kernel, needed in the <emphasis role="bold">/var/lib/tftpboot/X86PC/linux/images/</emphasis> directory of the PXE server</para></listitem>
+ <listitem><para><emphasis role="bold">isolinux/alt0/all.rdz</emphasis>: stage1 and all needed modules and tools.</para></listitem>
+ </itemizedlist>
+ </para>
+ </sect3>
+ </sect2>
+ <sect2>
+ <title>Step 1: PXE, TFTP, DHCPD services</title>
+ <para>
+ To easily clone a computer node, we use PXE technology to boot a <emphasis role="bold">kernel</emphasis>, and an <emphasis role="bold">initrd</emphasis> image wich contains all needed modules for network and media storage. Documentation about PXE can be found here: <ulink url="http://people.mandriva.com/~aginies/doc/pxe/">PXE doc</ulink>. Please, keep in mind setting such services can <emphasis role="bold">DISTURB</emphasis> your current network architecture.
+ </para>
+ <sect3>
+ <title>PXE parameters on server</title>
+ <para>
+ Mageia installer supports various methods to install a computer. With PXE configuration file you can specify wich method you want to use to install your node, or add a specific option at boot prompt. Edit your default PXE configuration file to add your custom entry (<emphasis role="bold">/var/lib/tftpboot/X86PC/linux/pxelinux.cfg/default</emphasis>).
+ </para>
+ <para>
+ <screen>
+PROMPT 1
+DEFAULT local
+DISPLAY messages
+TIMEOUT 50
+F1 help.txt
+
+label local
+ LOCALBOOT 0
+
+label kamethod
+ KERNEL images/vmlinuz
+ APPEND initrd=images/all.rdz ramdisk_size=64000 vga=788 \
+ automatic=method:ka,interface:eth0,network:dhcp root=/dev/ram3 rw kamethod</screen>
+ </para>
+ <para>
+ At boot prompt no you can boot:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem><para><emphasis role="bold">DEFAULT local</emphasis>: default boot will be local one, change it with the name of a <emphasis role="bold">LABEL</emphasis></para></listitem>
+ <listitem><para><emphasis role="bold">local</emphasis>: boot local</para></listitem>
+ <listitem><para><emphasis role="bold">kamethod</emphasis>: automatic mode, get stage2 through <emphasis role="bold">KA</emphasis>. Network interface is set to eth0. Auto setup the network with DHCP, and use the KA technology to launch the replication method.</para></listitem>
+ </itemizedlist>
+ </para>
+ </sect3>
+ <sect3>
+ <title>TFTP server</title>
+ <para>
+ TFTP server should be activated in <emphasis role="bold">/etc/xinetd.d/tftp</emphasis> file, and the <emphasis role="bold">xinetd</emphasis> service started.
+ </para>
+ <para>
+ <screen>
+service tftp
+{
+ disable= no
+ socket_type= dgram
+ protocol= udp
+ wait= yes
+ user= root
+ server= /usr/sbin/in.tftpd
+ server_args = -s /var/lib/tftpboot
+ per_source= 11
+ cps= 100 2
+ flags= IPv4
+}</screen>
+ </para>
+ </sect3>
+ <sect3>
+ <title>PXE configuration</title>
+ <para>
+<programlisting><![CDATA[
+# which interface to use
+interface=eth0
+default_address=IPADDR_PXE
+
+# the multicast ip address to listen on
+multicast_address=224.0.1.2
+
+# mtftp info
+mtftp_address=IPADDR_TFTP
+mtftp_client_port=1758
+mtftp_server_port=1759
+
+# the port to listen on
+listen_port=4011
+
+# enable multicast?
+use_multicast=1
+
+# enable broadcast?
+use_broadcast=0
+
+# user prompt
+prompt=Press F8 to view menu ...
+prompt_timeout=2
+
+# what services to provide, priority in ordering
+# CSA = Client System Architecture
+# service=<CSA>,<min layer>,<max layer>,<basename>,<menu entry>
+service=X86PC,0,2,linux,Mageia x86
+service=IA64PC,0,2,linux,Mageia IA64
+service=X86PC,0,0,local,Local boot
+
+# tftpd base dir
+tftpdbase=/
+
+# domain=guibland.com
+domain=
+]]></programlisting>
+ </para>
+ </sect3>
+ <sect3>
+ <title>DHCPD configuration</title>
+ <para>
+ IE of an <emphasis role="bold">/etc/dhcpd.conf</emphasis> configuration file. Change <emphasis role="bold">IPADDR_TFTP</emphasis> with the IP address of the TFTP serrver, and the <emphasis role="bold">NET</emphasis> value. Don't forget to adjust the <emphasis role="bold">domain-name</emphasis> and the <emphasis role="bold">domain-name-servers</emphasis>.
+ </para>
+ <para>
+ <screen>
+ddns-update-style none;
+allow booting;
+allow bootp;
+
+authoritative;
+
+# Definition of PXE-specific options
+# Code 1: Multicast IP address of bootfile
+# Code 2: UDP port that client should monitor for MTFTP responses
+# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
+# Code 4: Number of secondes a client must listen for activity before trying
+# to start a new MTFTP transfer
+# Code 5: Number of secondes a client must listen before trying to restart
+# a MTFTP transfer
+
+# define Option for the PXE class
+option space PXE;
+option PXE.mtftp-ip code 1 = ip-address;
+option PXE.mtftp-cport code 2 = unsigned integer 16;
+option PXE.mtftp-sport code 3 = unsigned integer 16;
+option PXE.mtftp-tmout code 4 = unsigned integer 8;
+option PXE.mtftp-delay code 5 = unsigned integer 8;
+option PXE.discovery-control code 6 = unsigned integer 8;
+option PXE.discovery-mcast-addr code 7 = ip-address;
+
+#Define options for pxelinux
+option space pxelinux;
+option pxelinux.magic code 208 = string;
+option pxelinux.configfile code 209 = text;
+option pxelinux.pathprefix code 210 = text;
+option pxelinux.reboottime code 211 = unsigned integer 32;
+site-option-space "pxelinux";
+
+option pxelinux.magic f1:00:74:7e;
+option pxelinux.reboottime 30;
+
+#Class that determine the options for Etherboot 5.x requests
+class "Etherboot" {
+#if The vendor-class-identifier equal Etherboot-5.0
+match if substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.0";
+# filename define the file retrieve by the client, there nbgrub
+# our tftp is chrooted so is just the path to the file
+filename "/etherboot/nbgrub";
+#Used by etherboot to detect a valid pxe dhcp server
+option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
+# Set the "vendor-class-identifier" field to "PXEClient" in dhcp answer
+# if this field is not set the pxe client will ignore the answer !
+option vendor-class-identifier "Etherboot-5.0";
+vendor-option-space PXE;
+option PXE.mtftp-ip 0.0.0.0;
+# IP of you TFTP server
+next-server IPADDR_TFTP;
+}
+
+# create the Class PXE
+class "PXE" {
+# if the "vendor-class-identifier" is set to "PXEClient" in the client dhcp request
+match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
+filename "/X86PC/linux/linux.0";
+option vendor-class-identifier "PXEClient";
+vendor-option-space PXE;
+option PXE.mtftp-ip 0.0.0.0;
+next-server IPADDR_TFTP;
+}
+
+#host node20 {
+# hardware ethernet 00:40:CA:8C:B6:E9;
+# fixed-address node20;
+#}
+
+subnet NET.0 netmask 255.255.255.0 {
+ option subnet-mask 255.255.255.0;
+ option routers IPADDR_GW;
+ default-lease-time 288000;
+ max-lease-time 864000;
+ option domain-name "guibland.com";
+ option domain-name-servers IPADDR_DNS;
+ next-server IPADDR_TFTP;
+ pool {
+ range NET.30 NET.40;
+ }
+}</screen>
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Setup a node as a golden node</title>
+ <sect2>
+ <title>The rescue.sqfs file</title>
+ <para>
+ You need the rescue disk (wich contains the <emphasis role="bold">/ka</emphasis> directory),
+ Just extract this file, and copy all directory in <emphasis role="bold">/mnt/ka</emphasis>.
+ </para>
+ <para>
+ <screen>
+[root@guibpiv ~]# mkdir /mnt/ka
+[root@guibpiv ~]# cd /mnt/ka/
+[root@guibpiv ka]# unsquashfs rescue.sqfs
+[root@guibpiv ka]# mv squashfs-root/* .
+[root@guibpiv ka]# ls
+bin/ dev/ etc/ ka/ lib/ modules/ proc/ sbin/ squashfs-root/ tmp/ usr/ var/
+</screen>
+ </para>
+ <para>
+ Go in the <emphasis role="bold">/mnt/ka/ka</emphasis> directory, and see all new files available. All those files are needed to do a <emphasis role="bold">KA</emphasis> duplication process. We will explain now the rule of each of them. You can modify all them, those files will be copied in the directory <emphasis role="bold">/tmp/stage2</emphasis> of the client node of the duplication process (second step).
+ </para>
+ <sect3>
+ <title>ka-d.sh</title>
+ <para>
+ This is the master script to declare a node as a golden node. This script takes a lot of arguments. This script should be run
+ on the host wich have the <emphasis role="bold">/mnt/ka</emphasis> directory.
+<screen>
+ -h, --help : display this message
+ -n num : specify the number of (destination) nodes
+ -x dir : exclude directory
+ -X sdb|sdc : exclude sdb for the replication
+ -m drive : copy the master boot record (for windows) of this drive (not really tested yet)
+ -M drive file : use 'file' as master boot record (must be 446 bytes long) for the specified drive
+ -D partition : also copy partition 'partition'
+ -p drive pdesc : use 'pdesc' file as partition scheme (see doc) for the specified drive
+ -d delay : delay beteween the release of 2 clients (1/10 second)
+ -r 'grub|lilo' : choose the bootloader (you can add mkinitrd options)
+
+ ie: ka-d.sh -n 3 -p sda /tmp/desc -X 'sdb|sdc' -r 'grub --with=ata_piix --with=piix'</screen>
+ </para>
+ </sect3>
+ <sect3>
+ <title>replication.conf</title>
+ <para>
+ This file contains all variables needed by other scripts. It also tries to get information like IP address.
+ </para>
+ </sect3>
+ <sect3>
+ <title>fdisk_to_desc</title>
+ <para>
+ This script generate the description table of the hard drive disk in the <emphasis role="bold">/tmp/desc</emphasis> file.
+ This file must follow some rules: one line per partition, with two fields : type of partition and size in megabytes.
+ The type can be linux, swap, extended. Other types can be obtained by appending their hexadecimal number to 'type'.
+ For example linux is the same as type83. The size is either a number of megabytes, or the keyword fill (to take all
+ available space). The logical partitions must have the logical keyword. Do a <emphasis role="bold">man ka-d</emphasis> for more help.
+ </para>
+ </sect3>
+ <sect3>
+ <title>gen_modprobe_conf.pl</title>
+ <para>
+ This script creates a basic output like the content of the<emphasis role="bold">/etc/modprobe.conf</emphasis> file. Drawbacks
+ this file must be updated for each new modules available in the kernel (based on the <emphasis role="bold">kernel/list_modules.pm</emphasis> file).
+ </para>
+ </sect3>
+ <sect3>
+ <title>ka-d-client</title>
+ <para>
+ The <emphasis role="bold">ka-d-client</emphasis> binary file is used to get stage2 with the <emphasis role="bold">KA</emphasis> method, and after get the whole system. The important argument is the <emphasis role="bold">-s</emphasis> session name. A <emphasis role="bold">KA</emphasis> can only connect to a specific session (getstage2, kainstall ...). The code source is available in the ka-deploy SRPM.
+ </para>
+ </sect3>
+ <sect3>
+ <title>ka-d-server</title>
+ <para>
+ The <emphasis role="bold">ka-d-server</emphasis> binary file is used to be a <emphasis role="bold">KA</emphasis> golden node server. Like the <emphasis role="bold">ka-d-client</emphasis> the session arguments is an important parameter (<emphasis role="bold">-s session_name</emphasis>). The session name will be <emphasis role="bold">getstage2</emphasis> to retrieve the stage2 (after the PXE boot) and will be <emphasis role="bold">kainstall1</emphasis> at duplication process step. If you want to do more than one duplication process of nodes at the same time, you should synchronize the ka_sesion name between the server and the client. The code source is available in the ka-deploy SRPM.
+ </para>
+ </sect3>
+ <sect3>
+ <title>ka_replication.sh</title>
+ <para>
+ Script launched on the <emphasis role="bold">KA</emphasis> client (after getting stage2 and probing modules), to do the full process of the <emphasis role="bold">Ka</emphasis> duplication.
+ This script call other scripts to prepare the node (prepare_node.sh), configure the bootloader (make_initrd_grub or make_initrd_lilo).
+ </para>
+ </sect3>
+ <sect3>
+ <title>store_log.sh</title>
+ <para>
+ Basic script to store the log of the <emphasis role="bold">KA</emphasis> duplication process on an FTP server. Adjust to feet your need, and uncomment the line <emphasis role="bold">#store_log.sh</emphasis> in the <emphasis role="bold">/mnt/ka/ka/ka_replication.sh</emphasis> file.
+ </para>
+ </sect3>
+ <sect3>
+ <title>bootable_flag.sh</title>
+ <para>
+ Script to set bootable an HDD using fdisk. First arg must be the HDD device.
+ </para>
+ </sect3>
+ <sect3>
+ <title>make_initrd_grub</title>
+ <para>
+ Restore and reload the Grub bootloader in the <emphasis role="bold">/mnt/disk</emphasis> directory. It's a very basic script, and perhaps use the <emphasis role="bold">restore_bootloader</emphasis> of the Mageia Rescue should be a better idea.</para>
+ </sect3>
+ <sect3>
+ <title>make_initrd_lilo</title>
+ <para>
+ Restore and reload the lilo bootloader in the <emphasis role="bold">/mnt/disk</emphasis> directory. Again it's a very basic script, perhaps we should use the <emphasis role="bold">restore_bootloader</emphasis> of the Mageia Rescue.
+ </para>
+ </sect3>
+ <sect3>
+ <title>prepare_node.sh</title>
+ <para>
+ This script remove in the futur system the old network's udev rules, old dhcp cache files, launch the script <emphasis role="bold">gen_modprobe_conf.pl</emphasis> to regenerate an up to date <emphasis role="bold">/etc/modprobe.conf</emphasis> in the new system, and launch the script to restore the bootloader. If you want to do more action on the installed, system, you can modify this script.
+ </para>
+ </sect3>
+ <sect3>
+ <title>send_status.pl</title>
+ <para>
+ Very basic perl script to open the port 12345, and paste the content of the <emphasis role="bold">/tmp/ka*</emphasis> file. It also permit the execution of commands on node, if user send a message from the golden node with the <emphasis role="bold">exec</emphasis> prefix.
+ </para>
+ </sect3>
+ <sect3>
+ <title>status_node.pl</title>
+ <para>
+ Script to connect to a client node, first arg must be the IP address of the node. You can run command on the node with the <emphasis role="bold">exec</emphasis> prefix.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>The golden node, KA server</title>
+ <para>
+ Now, it is time to build a description of the node partitions. You can use the script <emphasis role="bold">/mnt/ka/ka/fdisk_to_desc</emphasis> as root user, or your favorite text editor,
+ you can write a file like this one:
+ </para>
+ <para>
+ <screen>
+linux 3500
+extended fill
+logical swap 500
+logical linux fill</screen>
+ </para>
+ <para>
+ This file describes your partition table and the sample above can be considered as a default one for a recommended
+ installation. There is a 3.5GB <emphasis role="bold">/</emphasis> partition, a 500 MB swap
+ partition, and <emphasis role="bold">/var</emphasis> fills the rest, of course you can adjust
+ sizes accoding to your system.
+ </para>
+ <para>
+ Type the following to start the ka replication server as root user on the golden node:
+ </para>
+ <para>
+<programlisting><![CDATA[
+[root@node40 ka]# ./ka-d.sh -n 1 -p sda /root/desc -X sdb -r "grub --with=jfs --with=ata_piix"
+takembr =
+desc = sda /root/desc
++ Mount points :
+ /dev/sda5 / ext3
+ /dev/sda1 swap swap
++ Hard drives :
+ sda
++ Reading partition table description for sda
+ Added partition 1 : type 82
+ Added partition 5 : type 83
++ Included mount points : /
++ Bootloader is: grub --with=jfs --with=ata_piix
++++ Sending Stage2 +++
+Compiled : Aug 23 2007 12:58:29
+ARGS=+ka-d-server+-s+getstage2+-n+1+-e+(cd /mnt/ka; tar --create --one-file-system --sparse . )+
+Server IP = 10.0.1.40
+command = (cd /mnt/ka; tar --create --one-file-system --sparse . )
+I want 1 clients
+Socket 4 on port 30765 on node40.guibland.com ready.
+Socket 5 on port 30764 on node40.guibland.com ready.
+]]></programlisting>
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem><para><emphasis role="bold">-r "grub --with=jfs --with=ata_piix"</emphasis>: use grub bootloader and <emphasis role="bold">--with=jfs --with=piix</emphasis> mkinitrd option in the chrooted system after the <emphasis role="bold">KA</emphasis> deploiement</para></listitem>
+ <listitem><para><emphasis role="bold">-n nb_nodes</emphasis>: specify how many nodes are clients</para></listitem>
+ <listitem><para><emphasis role="bold">-p sda desc</emphasis>: specify the name of the hdd</para></listitem>
+ <listitem><para><emphasis role="bold">-x /tmp</emphasis>: exclude <emphasis role="bold">/tmp</emphasis> directory</para></listitem>
+ <listitem><para><emphasis role="bold">-X sdb</emphasis>: exclude <emphasis role="bold">sdb</emphasis> hdd for the duplication</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Now the golden node is waiting for clients nodes to start replication.
+ </para>
+ </sect1>
+ <sect1>
+ <title>KA client node</title>
+ <sect2>
+ <title>PXE server (kamethod)</title>
+ <para>
+ We have to configure the PXE to boot by default on <emphasis role="bold">kamethod</emphasis>.
+ To do this just edit <emphasis role="bold">/var/lib/tftpboot/X86PC/linux/pxelinux.cfg/default</emphasis> and set
+ <emphasis role="bold">DEFAULT</emphasis> to kamethod:
+ </para>
+ <screen>DEFAULT kamethod</screen>
+ <para>
+ So, next time a node boots, the PXE server will force the node to boot using the kamethod entry.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Stage1 KA method, node waiting stage2 </title>
+ <para>
+ Now, you boot all remaining nodes. The replication process
+ will start once all nodes are up and waiting on the <emphasis role="bold">KA</emphasis>
+ screen.
+ </para>
+ <para>
+ If the nodes can't reach the golden node, running the <emphasis role="bold">KA</emphasis>
+ server the message <emphasis role="bold">Can't reach a valid KA server</emphasis> will appear.
+ Each node will try five times to reach the <emphasis role="bold">KA</emphasis> server, after that the node will reboot.
+ As the node boots on <emphasis role="bold">kamethod</emphasis>, it will retry until it finds it.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Stage2, the duplication process</title>
+ <para>
+ Once all the nodes have found the <emphasis role="bold">KA</emphasis> server, the first
+ duplication process will start. This step duplicates the
+ <emphasis role="bold">stage2</emphasis> from the <emphasis role="bold">/mnt/ka</emphasis> directory
+ of the golden node, in the client's nodes memory (<emphasis role="bold">/dev/ram3</emphasis> formated as ext2). Then, nodes chroot their memories (the <emphasis role="bold">/tmp/stage2</emphasis> directory), and launch the <emphasis role="bold">drvinst</emphasis> command from the stage2, to probe all needed their modules (drivers). Then, the second step of the duplication starts.
+ </para>
+ <para>
+ The duplication process will clone your drives following
+ the description you have made (<emphasis role="bold">/tmp/desc</emphasis> of the golden node).
+ Nodes will rewrite their partition table, then format their filesystems (ReiserFs, XFS,
+ ext2/3/4, JFS). All new partitions will be mounted in the <emphasis role="bold">/mnt/disk</emphasis> directory.
+ Then, the drive duplication process will begin. On a fast Ethernet switch you can reach speeds of 10MBytes/sec.
+ </para>
+ </sect2>
+ <sect2>
+ <title>Prepare the node</title>
+ <para>
+ At the end of the duplication process, each node will
+ chroot its partitions and rebuild its <emphasis role="bold">/boot/initrd.img</emphasis>,
+ and <emphasis role="bold">/etc/modprobe.conf</emphasis> files.
+ This step ensures that your node will reboot using its potential
+ SCSI drives and adjusting its network card driver. Before
+ rebooting, each node reinstalls lilo/grub. All your node are
+ now ready, and are clone of master node.
+ </para>
+ </sect2>
+ <sect2><title>PXE server to local boot</title>
+ <para>
+ Don't forget to change the default PXE boot to <emphasis role="bold">local</emphasis>
+ so node after replication will boot localy.
+ </para>
+ </sect2>
+ </sect1>
+ <sect1>
+ <title>Step by step from scratch KA duplication</title>
+ <para>We will use a PIV 3gz box as golden node, with a SATA hard drive, and an Intel 82540EM Gigabit Ethernet Controller card. This golden box will be the: PXE, DHCPD, TFTP server. Client nodes are</para>
+ <para>
+ <itemizedlist>
+ <listitem><para>basic PIV 2.8gz, with a Realtek Semiconductor 8139 network card, and a IDE hard drive disk</para></listitem>
+ <listitem><para>PE2650 dual XEON 2.4gz, SCSI Hard Drive disk, and NetXtreme BCM5701 Gigabit Ethernet cards</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>Both nodes are configured to boot on their network card.</para>
+ <sect2>
+ <title>Golden node side</title>
+ <para>
+ Prepapre the golden node, install all needed tools.
+ </para>
+ <para>
+<programlisting><![CDATA[
+[root@localhost ~]# urpmi ka-deploy-source-node
+ http://192.168.1.253/cooker/i586/media/main/release/ka-deploy-source-node-0.94.1-1mdv2010.1.i586.rpm
+installing ka-deploy-source-node-0.94.1-1mdv2010.1.i586.rpm from /var/cache/urpmi/rpms
+Preparing... ###############################################################################
+ 1/1: ka-deploy-source-node ###############################################################################
+
+[root@localhost ~]# rpm -ql ka-deploy-source-node
+/etc/ka
+/etc/ka/replication.conf
+/usr/bin/bootable_flag.sh
+/usr/bin/fdisk_to_desc
+/usr/bin/gen_modprobe_conf.pl
+/usr/bin/ka-d-client
+/usr/bin/ka-d-server
+/usr/bin/ka-d.sh
+/usr/bin/ka_replication.sh
+/usr/bin/make_initrd_grub
+/usr/bin/make_initrd_lilo
+/usr/bin/prepare_node.sh
+/usr/bin/send_status.pl
+/usr/bin/status_node.pl
+/usr/bin/store_log.sh
+/usr/bin/udev_creation.sh
+/usr/share/ka-deploy-0.94.1
+/usr/share/man/man1/ka-d-client.1.lzma
+/usr/share/man/man1/ka-d-server.1.lzma
+/usr/share/man/man1/ka-d.1.lzma
+/usr/share/man/man1/ka-d.sh.1.lzma
+/usr/share/man/man1/ka-deploy.1.lzma
+]]></programlisting>
+ </para>
+ <para>Create the /mnt/ka directory, and put all stuff in it (this directory will be sent to all client nodes and use to finish
+ the duplication process)</para>
+ <para>
+<programlisting><![CDATA[
+[root@localhost ~]# mkdir /mnt/ka
+lftp distrib-coffee.ipsl.jussieu.fr:~> cd pub/linux/Mageia/distrib/cauldron/i586/install/stage2/
+lftp distrib-coffee.ipsl.jussieu.fr:/pub/linux/Mageia/distrib/cauldron/i586/install/stage2> pget rescue.sqfs
+19132416 bytes transferred in 78 seconds (241.1K/s)
+
+[root@localhost ~]# urpmi squashfs-tools
+ http://192.168.1.253/cooker/i586/media/main/release/squashfs-tools-4.0-3.20091221.1mdv2010.1.i586.rpm
+installing squashfs-tools-4.0-3.20091221.1mdv2010.1.i586.rpm from /var/cache/urpmi/rpms
+Preparing... ############################################################################
+ 1/1: squashfs-tools ############################################################################
+
+[root@localhost ~]# unsquashfs rescue.sqfs
+Parallel unsquashfs: Using 2 processors
+988 inodes (1222 blocks) to write
+[============================================================================================-] 1222/1222 100%
+created 550 files
+created 93 directories
+created 60 symlinks
+created 371 devices
+created 1 fifos
+
+[root@localhost ~]# cd squashfs-root/
+[root@localhost squashfs-root]# ls
+bin/ dev/ etc/ ka/ lib/ modules/ proc/ sbin/ tmp/ usr/ var/
+[root@localhost squashfs-root]# mv * /mnt/ka/
+]]></programlisting>
+ </para>
+ <para>Install all needed packages to be able to be a PXE, DHCPD and TFTP server</para>
+ <para>
+<programlisting><![CDATA[
+[root@localhost ka]# ka-d.sh -h
+/usr/bin/ka-d.sh : clone this machine
+Usage:
+ -h, --help : display this message
+ -n num : specify the number of (destination) nodes
+ -x 'dir|dir2' : exclude directory
+ -X 'sdb|sdc' : exclude sdb for the replication
+ -m drive : copy the master boot record (for windows) of this drive
+ -M drive file : use 'file' as master boot record (must be 446 bytes long) for the specified drive
+ -D partition : also copy partition 'partition'
+ -p drive pdesc : use 'pdesc' file as partition scheme (see doc) for the specified drive
+ -d delay : delay beteween the release of 2 clients (1/10 second)
+ -r 'grub|lilo' : choose the bootloader (you can add mkinitrd options)
+
+ ie: ka-d.sh -n 3 -p sda /tmp/desc -X sdb -r 'grub --with=ata_piix --with=piix'
+
+[root@localhost ka]# urpmi ka-deploy-server
+To satisfy dependencies, the following packages are going to be installed:
+ Package Version Release Arch
+(medium "Main")
+ bind-utils 9.7.0 4mdv2010.1 i586
+ clusterscripts-common 3.5 1mdv2010.1 noarch
+ clusterscripts-server-conf 3.5 1mdv2010.1 noarch
+ clusterscripts-server-pxe 3.5 1mdv2010.1 noarch
+ dhcp-server 4.1.1 5mdv2010.1 i586
+ ka-deploy-server 0.94.1 1mdv2010.1 i586
+ perl-Crypt-PasswdMD5 1.300.0 1mdv2010.1 noarch
+ pxe 1.4.2 19mdv2010.1 i586
+ pxelinux 3.83 1mdv2010.1 i586
+ syslinux 3.83 1mdv2010.1 i586
+ tftp-server 5.0 4mdv2010.1 i586
+ xinetd 2.3.14 11mdv2010.1 i586
+12MB of additional disk space will be used.
+2.5MB of packages will be retrieved.
+Proceed with the installation of the 12 packages? (Y/n)
+]]></programlisting>
+ </para>
+ <para>Configure all services</para>
+ <para>
+<programlisting><![CDATA[
+[root@localhost ~]# hostname
+node42.guibland.com
+[root@localhost ~]# domainname
+guibland.com
+
+[root@localhost ~]# ip addr show eth0
+2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 100
+ link/ether 00:17:31:19:a0:78 brd ff:ff:ff:ff:ff:ff
+ inet 10.0.1.42/24 brd 10.0.1.255 scope global eth0
+ inet6 fe80::217:31ff:fe19:a078/64 scope link
+ valid_lft forever preferred_lft forever
+
+[root@localhost ~]# vi /etc/pxe.conf
+# which interface to use
+interface=eth0
+default_address=10.0.1.42
+
+# the multicast ip address to listen on
+multicast_address=224.0.1.2
+
+# mtftp info
+mtftp_address=10.0.1.42
+mtftp_client_port=1758
+mtftp_server_port=1759
+
+# the port to listen on
+listen_port=4011
+
+# enable multicast?
+use_multicast=1
+
+# enable broadcast?
+use_broadcast=0
+
+# user prompt
+prompt=Press F8 to view menu ...
+prompt_timeout=2
+
+# what services to provide, priority in ordering
+# CSA = Client System Architecture
+# service=<CSA>,<min layer>,<max layer>,<basename>,<menu entry>
+service=X86PC,0,2,linux,Mageia x86
+service=IA64PC,0,2,linux,Mageia IA64
+service=X86PC,0,0,local,Local boot
+
+# tftpd base dir
+tftpdbase=/
+
+# domain name
+domain=guibland.com
+
+[root@localhost ~]# vi /etc/xinetd.d/tftp
+service tftp
+{
+ disable = no
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/sbin/in.tftpd
+ server_args = -s /var/lib/tftpboot
+ per_source = 11
+ cps = 100 2
+ flags = IPv4
+}
+
+
+[root@localhost ~]# cp /etc/dhcpd.conf.pxe.single /etc/dhcpd.conf
+cp: overwrite `/etc/dhcpd.conf'? y
+
+[root@localhost ~]# cat /etc/resolv.conf
+nameserver 10.0.1.253
+search guibland.com
+
+[root@localhost ~]# cat /etc/dhcpd.conf
+# for explanation in french go to : http://www.delafond.org/traducmanfr/man/man5/dhcpd.conf.5.html
+ddns-update-style none;
+allow booting;
+allow bootp;
+
+# Your dhcp server is not master on your network !
+#not authoritative;
+# Your dhcpd server is master on your network !
+#authoritative;
+authoritative;
+
+#Interface where dhcpd is active
+#DHCPD_INTERFACE = "eth0";
+
+# Definition of PXE-specific options
+# Code 1: Multicast IP address of bootfile
+# Code 2: UDP port that client should monitor for MTFTP responses
+# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
+# Code 4: Number of secondes a client must listen for activity before trying
+# to start a new MTFTP transfer
+# Code 5: Number of secondes a client must listen before trying to restart
+# a MTFTP transfer
+
+# define Option for the PXE class
+option space PXE;
+option PXE.mtftp-ip code 1 = ip-address;
+option PXE.mtftp-cport code 2 = unsigned integer 16;
+option PXE.mtftp-sport code 3 = unsigned integer 16;
+option PXE.mtftp-tmout code 4 = unsigned integer 8;
+option PXE.mtftp-delay code 5 = unsigned integer 8;
+option PXE.discovery-control code 6 = unsigned integer 8;
+option PXE.discovery-mcast-addr code 7 = ip-address;
+
+#Define options for pxelinux
+option space pxelinux;
+option pxelinux.magic code 208 = string;
+option pxelinux.configfile code 209 = text;
+option pxelinux.pathprefix code 210 = text;
+option pxelinux.reboottime code 211 = unsigned integer 32;
+site-option-space "pxelinux";
+# These lines should be customized to your setup
+#option pxelinux.configfile "configs/common";
+#option pxelinux.pathprefix "/pxelinux/files/";
+#filename "/pxelinux/pxelinux.bin";
+
+option pxelinux.magic f1:00:74:7e;
+option pxelinux.reboottime 30;
+#if exists dhcp-parameter-request-list {
+# Always send the PXELINUX options
+# append dhcp-parameter-request-list 208, 209, 210, 211;
+# append dhcp-parameter-request-list 208,211;
+# }
+
+#Class that determine the options for Etherboot 5.x requests
+class "Etherboot" {
+
+#if The vendor-class-identifier equal Etherboot-5.0
+match if substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.0";
+
+# filename define the file retrieve by the client, there nbgrub
+# our tftp is chrooted so is just the path to the file
+filename "/etherboot/nbgrub";
+
+#Used by etherboot to detect a valid pxe dhcp server
+option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
+
+# Set the "vendor-class-identifier" field to "PXEClient" in dhcp answer
+# if this field is not set the pxe client will ignore the answer !
+option vendor-class-identifier "Etherboot-5.0";
+
+vendor-option-space PXE;
+option PXE.mtftp-ip 0.0.0.0;
+
+# IP of you TFTP server
+next-server 10.0.1.42;
+}
+
+
+# create the Class PXE
+class "PXE" {
+# if the "vendor-class-identifier" is set to "PXEClient" in the client dhcp request
+match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
+
+# filename define the file retrieve by the client, there pxelinux.0
+# our tftp is chrooted so is just the path to the file
+# If you prefer use grub, use pxegrub compiled for your ethernet card.
+#filename "/PXEClient/pxegrub";
+filename "/X86PC/linux/linux.0";
+
+# Set the "vendor-class-identifier" field to "PXEClient" in dhcp answer
+# if this field is not set the pxe client will ignore the answer !
+option vendor-class-identifier "PXEClient";
+
+
+vendor-option-space PXE;
+option PXE.mtftp-ip 0.0.0.0;
+
+# IP of you TFTP server
+next-server 10.0.1.42;
+}
+
+# Tags uses by dhcpnode and setup_add_nodes_to_dhcp
+# TAG: NODE_LIST_ADMIN_BEGIN
+
+# TAG: NODE_LIST_ADMIN_END
+
+# TAG: MY_ADMIN_BEGIN
+subnet 10.0.1.0 netmask 255.255.255.0 {
+ option subnet-mask 255.255.255.0;
+ option routers 10.0.1.253;
+ default-lease-time 288000;
+ max-lease-time 864000;
+ option domain-name "guibland.com";
+ option domain-name-servers 10.0.1.253;
+ next-server 10.0.1.42;
+
+ pool {
+ range 10.0.1.110 10.0.1.120;
+ }
+}
+
+# TAG: MY_ADMIN_END
+
+
+[root@localhost ~]# service xinetd restart
+Stopping xinetd [FAILED]
+Starting xinetd [ OK ]
+[root@localhost ~]# service pxe restart
+Stopping PXE server [FAILED]
+Dhcp server is not running on this machine !
+Be sure that a valid PXE Dhcp server is running on your network
+Starting PXE server [ OK ]
+[root@localhost ~]# service dhcpd restart
+Shutting down dhcpd: [ OK ]
+Starting dhcpd: [ OK ]
+]]></programlisting>
+ </para>
+ <para>KA listen only listen on eth0, and need a FQDN. So if it is not the case, ka-d-server will try to open
+ a port on 0.0.0.0 IP address, wich cause an error. You can fix it easely setting an valid hostname in /etc/hosts file.
+ Don't forget to kill ka-d-server with crtl+C key, after testing it will open a port on a valid IP address.</para>
+ <para>
+<programlisting><![CDATA[
+[root@node42 ~]# ka-d-server
+Compiled : May 4 2010 20:33:07
+ARGS=+ka-d-server+
+Server IP = 0.0.0.0
+command = (cd /; tar --create --one-file-system --sparse /)
+I want 1 clients
+ka-d-server: server.c:1987: main: Assertion `socket_server >=0' failed.
+Aborted
+
+
+[root@node42 ~]# cat /etc/hosts
+127.0.0.1 localhost.localdomain localhost
+10.0.1.42 node42.guibland.com
+
+[root@node42 ~]# ka-d-server
+Compiled : May 4 2010 20:33:07
+ARGS=+ka-d-server+
+Server IP = 10.0.1.42
+command = (cd /; tar --create --one-file-system --sparse /)
+I want 1 clients
+Socket 3 on port 30765 on node42.guibland.com ready.
+Socket 4 on port 30764 on node42.guibland.com ready.
+[root@node42 ~]# ^C
+]]></programlisting>
+ </para>
+ <para>We need to describe the partition table of our golden node, to send it to client nodes.</para>
+ <para>
+<programlisting><![CDATA[
+[root@node42 ~]# fdisk -l
+
+Disk /dev/sda: 80.0 GB, 80026361856 bytes
+255 heads, 63 sectors/track, 9729 cylinders
+Units = cylinders of 16065 * 512 = 8225280 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / 512 bytes
+Disk identifier: 0xd9b576f2
+
+ Device Boot Start End Blocks Id System
+/dev/sda1 * 1 1019 8185086 82 Linux swap / Solaris
+/dev/sda2 1020 4843 30716280 83 Linux
+/dev/sda3 4844 9729 39246795 5 Extended
+/dev/sda5 4844 9729 39246763+ 83 Linux
+
+
+[root@node42 ~]# fdisk_to_desc
+ -devices: sda1 -size en Mo: 7993 -filesystem: Linux
+Use of uninitialized value $e in concatenation (.) or string at /usr/bin/fdisk_to_desc line 50.
+ -devices: sda2 -size en Mo: 29996 -filesystem: Linux
+Use of uninitialized value $e in concatenation (.) or string at /usr/bin/fdisk_to_desc line 55.
+ -devices: sda3 -size en Mo: 38326 -filesystem: Extended
+ -devices: sda5 -size en Mo: 38326 -filesystem: Linux
+Desc file is /tmp/desc
+[root@node42 ~]# cat /tmp/d
+ddebug.log desc
+[root@node42 ~]# cat /tmp/desc
+swap 7993
+linux 29996
+extended 38326
+logical linux 38326
+
+[root@node42 ~]# cat /tmp/desc
+swap 7993
+linux 29996
+extended fill
+logical linux fill
+]]></programlisting>
+ </para>
+ <para>Set default PXE boot to kamethod</para>
+ <para>
+<programlisting><![CDATA[
+[root@node42 ~]# cat /var/lib/tftpboot/X86PC/linux/pxelinux.cfg/default
+PROMPT 1
+DEFAULT kamethod
+DISPLAY messages
+TIMEOUT 50
+
+label local
+ LOCALBOOT 0
+
+label kamethod
+ KERNEL images/vmlinuz
+ APPEND initrd=images/all.rdz ramdisk_size=64000 vga=788 automatic=method:ka,interface:eth0,network:dhcp root=/dev/ram3 rw kamethod
+
+
+[root@node42 ~]# cd /var/lib/tftpboot/X86PC/linux/
+[root@node42 linux]# ls
+help.txt linux.0 memdisk messages pxelinux.cfg/
+[root@node42 linux]# mkdir images
+
+lftp distrib-coffee.ipsl.jussieu.fr:/pub/linux/Mageia/distrib/cauldron/i586/isolinux/alt0> ls
+-rw-r--r-- 1 ftp ftp 15613654 Apr 23 17:26 all.rdz
+-rw-r--r-- 1 ftp ftp 2279584 Apr 23 17:26 vmlinuz
+lftp distrib-coffee.ipsl.jussieu.fr:/pub/linux/Mageia/distrib/cauldron/i586/isolinux/alt0> mget *
+17893238 bytes transferred in 77 seconds (227.9K/s)
+Total 2 files transferred
+lftp distrib-coffee.ipsl.jussieu.fr:/pub/linux/Mageia/distrib/cauldron/i586/isolinux/alt0>
+
+[root@node42 images]# pwd
+/var/lib/tftpboot/X86PC/linux/images
+[root@node42 images]# ls
+all.rdz vmlinuz
+]]></programlisting>
+ </para>
+ <para>Now it's time to launch the duplication process</para>
+ <para>
+<programlisting><![CDATA[
+[root@node42 ka]# ka-d.sh -n 2 -p sda /tmp/desc -r grub
+takembr =
+desc = sda /tmp/desc
+`/etc/fstab' -> `/tmp/ka-d3156/pfstab.tmp'
++ Mount points :
+ /dev/sda2 / ext3 relatime 1 1
+ /dev/sda5 /home ext4 relatime 1 2
+ /dev/sda1 swap swap defaults 0 0
++ Hard drives :
+ sda
++ Reading partition table description for sda
+ Added partition 1 : type 82
+ Added partition 2 : type 83
+ Added partition 5 : type 83
++ Included mount points : / /home
++ Bootloader is: grub
++++ Sending Stage2 +++
+Compiled : May 4 2010 20:33:07
+ARGS=+ka-d-server+-s+getstage2+-n+2+-e+(cd /mnt/ka; tar --create --one-file-system --sparse . )+
+Server IP = 10.0.1.42
+command = (cd /mnt/ka; tar --create --one-file-system --sparse . )
+I want 2 clients
+Socket 4 on port 30765 on node42.guibland.com ready.
+Socket 5 on port 30764 on node42.guibland.com ready.
+got UDP packet from 10.0.1.111
+Session name matches
+Sending UDP reply to 10.0.1.111
+Accepting connection from 10.0.1.111
+Clients : want_data 0 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+got UDP packet from 10.0.1.110
+Session name matches
+Sending UDP reply to 10.0.1.110
+Accepting connection from 10.0.1.110
+Clients : want_data 1 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+Added client 10.0.1.110, daddy = 10.0.1.42
+Added client 10.0.1.111, daddy = 10.0.1.110
+Accepting connection from 10.0.1.110
+checking connection auth10.0.1.42 reports 10.0.1.110 has opened data connection
+Client 10.0.1.110 reports data position : 0
+10.0.1.42 reports 10.0.1.110 has been accepted
+Welcome son, you are number 1 (MAX 4)
+Client got client
+10.0.1.110 reports 10.0.1.111 has opened data connection
+Client 10.0.1.111 reports data position : 0
+sending auth for 10.0.1.111 to 10.0.1.110
+Client got client
+10.0.1.110 reports 10.0.1.111 has been accepted
+Let's go!
+Total data read = 43 Megs, BUF: 34M FREE = 0M startpos = 8MM
+End of data flow
+Dropping children
+Dropping child 10.0.1.110
+All children dropped
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 1 -- connected : 2
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 0 -- connected : 2
+Peer closed connection on socket 7
+close_connection(7)
+Busy clients: 0 -- connected : 1
+Peer closed connection on socket 6
+close_connection(6)
+Busy clients: 0 -- connected : 0
+All clients left, I quit
+Total data sent = 44 Megs, in 1543 packets
+Transfer time = 0.858 seconds, throughput = 51.307 Mbytes/second
+The pipeline was emptied in 3.250 seconds
+ - Sending partition/filesystem/mount points informations...
+ +++ Running ka-deploy +++
+Compiled : May 4 2010 20:33:07
+ARGS=+ka-d-server+-s+kainstall1+-n+2+-e+(cd /tmp/ka-d3156 && tar c *)+
+Server IP = 10.0.1.42
+command = (cd /tmp/ka-d3156 && tar c *)
+I want 2 clients
+Socket 4 on port 30765 on node42.guibland.com ready.
+Socket 5 on port 30764 on node42.guibland.com ready.
+got UDP packet from 10.0.1.110
+Session name matches
+Sending UDP reply to 10.0.1.110
+Accepting connection from 10.0.1.110
+Clients : want_data 0 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+got UDP packet from 10.0.1.111
+Session name matches
+Sending UDP reply to 10.0.1.111
+Accepting connection from 10.0.1.111
+Clients : want_data 1 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+Added client 10.0.1.110, daddy = 10.0.1.42
+Added client 10.0.1.111, daddy = 10.0.1.110
+Accepting connection from 10.0.1.110
+checking connection auth10.0.1.42 reports 10.0.1.110 has opened data connection
+Client 10.0.1.110 reports data position : 0
+10.0.1.42 reports 10.0.1.110 has been accepted
+Welcome son, you are number 1 (MAX 4)
+Client got client
+10.0.1.110 reports 10.0.1.111 has opened data connection
+Client 10.0.1.111 reports data position : 0
+sending auth for 10.0.1.111 to 10.0.1.110
+Client got client
+10.0.1.110 reports 10.0.1.111 has been accepted
+Let's go!
+Total data read = 0 Megs, BUF: 0M FREE = 34M startpos = 0M
+End of data flow
+Dropping children
+Dropping child 10.0.1.110
+All children dropped
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 1 -- connected : 2
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 0 -- connected : 2
+Peer closed connection on socket 6
+close_connection(6)
+Busy clients: 0 -- connected : 1
+Peer closed connection on socket 7
+close_connection(7)
+Busy clients: 0 -- connected : 0
+All clients left, I quit
+Total data sent = 0 Megs, in 1 packets
+Transfer time = 0.006 seconds, throughput = 1.698 Mbytes/second
+The pipeline was emptied in 0.038 seconds
+ WAITING node (partition/format)
+ - Sending Linux filesystem...
+ +++ Running ka-deploy +++
+Compiled : May 4 2010 20:33:07
+ARGS=+ka-d-server+-s+kainstall2+-n+2+-e+(cd /; tar --create --one-file-system --sparse / /home)+
+Server IP = 10.0.1.42
+command = (cd /; tar --create --one-file-system --sparse / /home)
+I want 2 clients
+Socket 4 on port 30765 on node42.guibland.com ready.
+Socket 5 on port 30764 on node42.guibland.com ready.
+got UDP packet from 10.0.1.110
+Session name matches
+Sending UDP reply to 10.0.1.110
+Accepting connection from 10.0.1.110
+Clients : want_data 0 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+got UDP packet from 10.0.1.111
+Session name matches
+Sending UDP reply to 10.0.1.111
+Accepting connection from 10.0.1.111
+Clients : want_data 1 / connected 0
+client says hello !
+Client sends options
+Client accepts data
+Added client 10.0.1.110, daddy = 10.0.1.42
+Added client 10.0.1.111, daddy = 10.0.1.110
+Accepting connection from 10.0.1.110
+checking connection auth10.0.1.42 reports 10.0.1.110 has opened data connection
+Client got client
+10.0.1.110 reports 10.0.1.111 has opened data connection
+Client 10.0.1.110 reports data position : 0
+10.0.1.42 reports 10.0.1.110 has been accepted
+Welcome son, you are number 1 (MAX 4)
+Client 10.0.1.111 reports data position : 0
+sending auth for 10.0.1.111 to 10.0.1.110
+Client got client
+10.0.1.110 reports 10.0.1.111 has been accepted
+Let's go!
+Total data read = 789 Megs, BUF: 34M FREE = 0M startpos = 754M
+End of data flow
+Dropping children
+Dropping child 10.0.1.110
+All children dropped
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 1 -- connected : 2
+Client says dad disconnected
+Client says he has finished
+Client has finished transfer
+Busy clients: 0 -- connected : 2
+Peer closed connection on socket 7
+close_connection(7)
+Busy clients: 0 -- connected : 1
+Peer closed connection on socket 6
+close_connection(6)
+Busy clients: 0 -- connected : 0
+All clients left, I quit
+Total data sent = 792 Megs, in 25445 packets
+Transfer time = 69.904 seconds, throughput = 11.343 Mbytes/second
+The pipeline was emptied in 4.002 seconds
+]]></programlisting>
+ </para>
+ </sect2>
+ <sect2>
+ <title>KA client side</title>
+ <para>
+ To get the log of the client node, launch <emphasis role="bold">/mnt/ka/ka/status_node.pl IPADD</emphasis> on the golden node.
+ </para>
+<programlisting><![CDATA[
+[root@node42 ka]# status_node.pl 10.0.1.111
+
+ Get the status of the Ka duplication process
+ If you want to execute a command on node, just use the 'exec' prefix
+10.0.1.111> ------| Ka |---- Install starting...
+10.0.1.111> Current session is -s kainstall1
+10.0.1.111> Receiving partitions information...OK
+10.0.1.111> Cleaning hard drive...
+10.0.1.111> ==> /tmp/kacmd <==
+10.0.1.111> Starting log server..
+10.0.1.111>
+10.0.1.111> ==> /tmp/ka_log-10.0.1.111-20100507-10h32 <==
+10.0.1.111> OK
+10.0.1.111> Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
+10.0.1.111> Building a new DOS disklabel with disk identifier 0x59be1427.
+10.0.1.111> Changes will remain in memory only, until you decide to write them.
+10.0.1.111> After that, of course, the previous content won't be recoverable.
+10.0.1.111>
+10.0.1.111>
+10.0.1.111> The number of cylinders for this disk is set to 1116.
+10.0.1.111> There is nothing wrong with that, but this is larger than 1024,
+10.0.1.111> and could in certain setups cause problems with:
+10.0.1.111> 1) software that runs at boot time (e.g., old versions of LILO)
+10.0.1.111> 2) booting and partitioning software from other OSs
+10.0.1.111> (e.g., DOS FDISK, OS/2 FDISK)
+10.0.1.111> Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
+10.0.1.111>
+10.0.1.111> Command (m for help): The partition table has been altered!
+10.0.1.111>
+10.0.1.111> Calling ioctl() to re-read partition table.
+10.0.1.111> Syncing disks.
+10.0.1.111> Writing partition table for sda using fdisk...OK
+10.0.1.111> Formatting /dev/sda2 as ext3...OK
+10.0.1.111> Formatting /dev/sda5 as ext4...OK
+10.0.1.111> Formatting /dev/sda1 as swap...OK
+10.0.1.111> - Mounting /dev/sda2 as /mnt/disk/ ......OK
+10.0.1.111> - Mounting /dev/sda5 as /mnt/disk/home ......OK
+10.0.1.111> ++++++++++++++++++++++++++
+10.0.1.111> none on /sys type sysfs (rw,relatime)
+10.0.1.111> none on /proc/bus/usb type usbfs (rw,relatime)
+10.0.1.111> /dev/ram3 on /tmp/stage2 type ext2 (rw,relatime,errors=continue)
+10.0.1.111> /dev/sda2 on /mnt/disk type ext3 (rw,relatime,errors=continue,data=ordered)
+10.0.1.111> /dev/sda5 on /mnt/disk/home type ext4 (rw,relatime,barrier=1,data=ordered)
+10.0.1.111> ++++++++++++++++++++++++++
+10.0.1.111> Linux copy is about to start
+10.0.1.111> Server IP is 10.0.1.42
+10.0.1.111> Buffers names :pipe
+Total data received = 21 Megs (10.830 Mbytes/sec); BUF :0M
+10.0.1.111> ==> /tmp/kacmd <==
+10.0.1.111> Starting log server..
+10.0.1.111>
+10.0.1.111> ==> /tmp/ka_log-localhost-20100507-11h17 <==
+Total data received = 788 Megs (10.796 Mbytes/sec); BUF :0M End of data flow
+10.0.1.111> Flushing buffers
+10.0.1.111> Total data received = 792 Megs, in 574479 packets
+10.0.1.111> Elapsed time = 73.413 seconds, throughput = 10.801 Mbytes/second
+10.0.1.111> Syncing disks...OK
+10.0.1.111> Linux copy done.
+10.0.1.111> Creating excluded directories
+10.0.1.111> - bootloader is grub (user choice)
+10.0.1.111> `/tmp/partfiles/pfstab' -> `/mnt/disk/etc/fstab'
+10.0.1.111> - Removing duplicated dhcp cache
+10.0.1.111> - Writing modprobe.conf
+10.0.1.111> ********************
+10.0.1.111> install scsi_hostadapter /sbin/modprobe aic7xxx; /bin/true
+10.0.1.111> install scsi_hostadapter /sbin/modprobe pata_serverworks; /bin/true
+10.0.1.111> alias eth0 tg3
+10.0.1.111> alias eth1 tg3
+10.0.1.111> ********************
+10.0.1.111> - Remove persistent udev rules
+10.0.1.111> removed `/mnt/disk/etc/udev/rules.d/70-persistent-net.rules'
+10.0.1.111> - Fix /dev in /mnt/disk
+10.0.1.111> `/ka2/udev_creation.sh' -> `/mnt/disk/sbin/udev_creation.sh'
+10.0.1.111> Starting udev: [ OK ]
+10.0.1.111> umount: /mnt/disk/dev: device is busy.
+10.0.1.111> (In some cases useful info about processes that use
+10.0.1.111> the device is found by lsof(8) or fuser(1))
+10.0.1.111> - Running mkinitrd
+10.0.1.111> - Looking for default grub menu
+10.0.1.111> - erase old initrd.img link
+10.0.1.111> removed `/mnt/disk/boot/initrd.img'
+10.0.1.111> initrd will be : /boot/initrd-2.6.33.3-desktop-1mnb.img
+10.0.1.111> running: chroot /mnt/disk /sbin/mkinitrd -v -f /boot/initrd-2.6.33.3-desktop-1mnb.img 2.6.33.3-desktop-1mnb
+10.0.1.111> Creating initramfs
+10.0.1.111> Looking for driver for /dev/sda2 in /sys/block/sda/sda2
+10.0.1.111> Looking for deps of module scsi:t-0x00: crc-t10dif scsi_mod sd_mod
+10.0.1.111> Looking for deps of module pci:v00009005d000000CFsv00001028sd00000121bc01sc00i00: scsi_mod scsi_transport_spi aic7xxx
+10.0.1.111> Looking for deps of module pci:v00008086d00000309sv00000000sd00000000bc06sc04i00: pci_hotplug shpchp
+10.0.1.111> Looking for driver for /dev/sda1 in /sys/block/sda/sda1
+10.0.1.111> Using modules: usbhid ehci-hcd ohci-hcd uhci-hcd ext3 crc-t10dif scsi_mod sd_mod scsi_transport_spi aic7xxx pci_hotplug shpchp pata_serverworks
+10.0.1.111> Building initrd in /tmp/initrd.uuIIkZ
+10.0.1.111> /sbin/nash -> /tmp/initrd.uuIIkZ/bin/nash
+10.0.1.111> /usr/lib/libnash.so.6.0.93 -> /tmp/initrd.uuIIkZ/usr/lib/libnash.so.6.0.93
+10.0.1.111> /lib/libdevmapper.so.1.02 -> /tmp/initrd.uuIIkZ/lib/libdevmapper.so.1.02
+10.0.1.111> /lib/libreadline.so.6 -> /tmp/initrd.uuIIkZ/lib/libreadline.so.6
+10.0.1.111> /lib/libreadline.so.6.1 -> /tmp/initrd.uuIIkZ/lib/libreadline.so.6.1
+10.0.1.111> /lib/libncurses.so.5 -> /tmp/initrd.uuIIkZ/lib/libncurses.so.5
+10.0.1.111> /lib/libncurses.so.5.7 -> /tmp/initrd.uuIIkZ/lib/libncurses.so.5.7
+10.0.1.111> /lib/libc.so.6 -> /tmp/initrd.uuIIkZ/lib/libc.so.6
+10.0.1.111> /lib/libc-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/libc-2.11.1.so
+10.0.1.111> /lib/ld-linux.so.2 -> /tmp/initrd.uuIIkZ/lib/ld-linux.so.2
+10.0.1.111> /lib/ld-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/ld-2.11.1.so
+10.0.1.111> /lib/libdl.so.2 -> /tmp/initrd.uuIIkZ/lib/libdl.so.2
+10.0.1.111> /lib/libdl-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/libdl-2.11.1.so
+10.0.1.111> /lib/libudev.so.0 -> /tmp/initrd.uuIIkZ/lib/libudev.so.0
+10.0.1.111> /lib/libudev.so.0.7.0 -> /tmp/initrd.uuIIkZ/lib/libudev.so.0.7.0
+10.0.1.111> /usr/lib/libparted.so.0 -> /tmp/initrd.uuIIkZ/usr/lib/libparted.so.0
+10.0.1.111> /usr/lib/libparted.so.0.0.1 -> /tmp/initrd.uuIIkZ/usr/lib/libparted.so.0.0.1
+10.0.1.111> /lib/libuuid.so.1 -> /tmp/initrd.uuIIkZ/lib/libuuid.so.1
+10.0.1.111> /lib/libuuid.so.1.3.0 -> /tmp/initrd.uuIIkZ/lib/libuuid.so.1.3.0
+10.0.1.111> /lib/libblkid.so.1 -> /tmp/initrd.uuIIkZ/lib/libblkid.so.1
+10.0.1.111> /lib/libblkid.so.1.1.0 -> /tmp/initrd.uuIIkZ/lib/libblkid.so.1.1.0
+10.0.1.111> /lib/libpopt.so.0 -> /tmp/initrd.uuIIkZ/lib/libpopt.so.0
+10.0.1.111> /lib/libpopt.so.0.0.0 -> /tmp/initrd.uuIIkZ/lib/libpopt.so.0.0.0
+10.0.1.111> /lib/libresolv.so.2 -> /tmp/initrd.uuIIkZ/lib/libresolv.so.2
+10.0.1.111> /lib/libresolv-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/libresolv-2.11.1.so
+10.0.1.111> /usr/lib/libelf.so.1 -> /tmp/initrd.uuIIkZ/usr/lib/libelf.so.1
+10.0.1.111> /usr/lib/libelf-0.146.so -> /tmp/initrd.uuIIkZ/usr/lib/libelf-0.146.so
+10.0.1.111> /lib/libm.so.6 -> /tmp/initrd.uuIIkZ/lib/libm.so.6
+10.0.1.111> /lib/libm-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/libm-2.11.1.so
+10.0.1.111> /lib/libgcc_s.so.1 -> /tmp/initrd.uuIIkZ/lib/libgcc_s.so.1
+10.0.1.111> /lib/libgcc_s-4.4.3.so.1 -> /tmp/initrd.uuIIkZ/lib/libgcc_s-4.4.3.so.1
+10.0.1.111> /usr/lib/libbdevid.so.6.0.93 -> /tmp/initrd.uuIIkZ/usr/lib/libbdevid.so.6.0.93
+10.0.1.111> /sbin/modprobe -> /tmp/initrd.uuIIkZ/bin/modprobe
+10.0.1.111> /lib/libmodprobe.so.0 -> /tmp/initrd.uuIIkZ/lib/libmodprobe.so.0
+10.0.1.111> /lib/libmodprobe.so.0.0.0 -> /tmp/initrd.uuIIkZ/lib/libmodprobe.so.0.0.0
+10.0.1.111> /lib/libz.so.1 -> /tmp/initrd.uuIIkZ/lib/libz.so.1
+10.0.1.111> /lib/libz.so.1.2.3 -> /tmp/initrd.uuIIkZ/lib/libz.so.1.2.3
+10.0.1.111> /sbin/rmmod -> /tmp/initrd.uuIIkZ/bin/rmmod
+10.0.1.111> /bin/ln -> /tmp/initrd.uuIIkZ/bin/ln
+10.0.1.111> resolving for MODULES
+10.0.1.111> and that has items of usbhid ehci-hcd ohci-hcd uhci-hcd ext3 crc-t10dif scsi_mod sd_mod scsi_transport_spi aic7xxx pci_hotplug shpchp pata_serverworks
+10.0.1.111> Looking for deps of module usbhid: usbcore hid
+10.0.1.111> Looking for deps of module ehci-hcd: usbcore
+10.0.1.111> Looking for deps of module ohci-hcd: usbcore
+10.0.1.111> Looking for deps of module uhci-hcd: usbcore
+10.0.1.111> Looking for deps of module ext3: jbd
+10.0.1.111> Looking for deps of module crc-t10dif
+10.0.1.111> Looking for deps of module scsi_mod
+10.0.1.111> Looking for deps of module sd_mod: crc-t10dif scsi_mod
+10.0.1.111> Looking for deps of module scsi_transport_spi: scsi_mod
+10.0.1.111> Looking for deps of module aic7xxx: scsi_mod scsi_transport_spi
+10.0.1.111> Looking for deps of module pci_hotplug
+10.0.1.111> Looking for deps of module shpchp: pci_hotplug
+10.0.1.111> Looking for deps of module pata_serverworks: scsi_mod libata
+10.0.1.111> Looking for deps of module aic7xxx: scsi_mod scsi_transport_spi
+10.0.1.111> Looking for deps of module crc-t10dif
+10.0.1.111> Looking for deps of module ehci-hcd: usbcore
+10.0.1.111> Looking for deps of module ext3: jbd
+10.0.1.111> Looking for deps of module hid
+10.0.1.111> Looking for deps of module jbd
+10.0.1.111> Looking for deps of module libata: scsi_mod
+10.0.1.111> Looking for deps of module ohci-hcd: usbcore
+10.0.1.111> Looking for deps of module pata_serverworks: scsi_mod libata
+10.0.1.111> Looking for deps of module pci_hotplug
+10.0.1.111> Looking for deps of module scsi_mod
+10.0.1.111> Looking for deps of module scsi_transport_spi: scsi_mod
+10.0.1.111> Looking for deps of module sd_mod: crc-t10dif scsi_mod
+10.0.1.111> Looking for deps of module shpchp: pci_hotplug
+10.0.1.111> Looking for deps of module uhci-hcd: usbcore
+10.0.1.111> Looking for deps of module usbcore
+10.0.1.111> Looking for deps of module usbhid: usbcore hid
+10.0.1.111> resolving for availmodules
+10.0.1.111> and that has items of
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/scsi/aic7xxx/aic7xxx.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/aic7xxx.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/lib/crc-t10dif.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/crc-t10dif.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/usb/host/ehci-hcd.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/ehci-hcd.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/fs/ext3/ext3.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/ext3.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/hid/hid.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/hid.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/fs/jbd/jbd.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/jbd.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/ata/libata.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/libata.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/usb/host/ohci-hcd.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/ohci-hcd.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/ata/pata_serverworks.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/pata_serverworks.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/pci/hotplug/pci_hotplug.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/pci_hotplug.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/scsi/scsi_mod.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/scsi_mod.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/scsi/scsi_transport_spi.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/scsi_transport_spi.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/scsi/sd_mod.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/sd_mod.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/pci/hotplug/shpchp.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/shpchp.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/usb/host/uhci-hcd.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/uhci-hcd.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/usb/core/usbcore.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/usbcore.ko.gz
+10.0.1.111> /lib/modules/2.6.33.3-desktop-1mnb/kernel/drivers/hid/usbhid/usbhid.ko.gz -> /tmp/initrd.uuIIkZ/lib/modules/2.6.33.3-desktop-1mnb/usbhid.ko.gz
+10.0.1.111> /etc/sysconfig/keyboard -> /tmp/initrd.uuIIkZ/etc/sysconfig/keyboard
+10.0.1.111> /bin/loadkeys -> /tmp/initrd.uuIIkZ/bin/loadkeys
+10.0.1.111> /etc/sysconfig/console/default.kmap -> /tmp/initrd.uuIIkZ/etc/sysconfig/console/default.kmap
+10.0.1.111> /etc/sysconfig/i18n -> /tmp/initrd.uuIIkZ/etc/sysconfig/i18n
+10.0.1.111> /bin/setfont -> /tmp/initrd.uuIIkZ/bin/setfont
+10.0.1.111> /usr/lib/kbd/consolefonts/lat0-16.psfu.gz -> /tmp/initrd.uuIIkZ/usr/lib/kbd/consolefonts/lat0-16.psfu.gz
+10.0.1.111> /lib/udev/console_init -> /tmp/initrd.uuIIkZ/lib/udev/console_init
+10.0.1.111> probing for drm modules for pci device /sys/bus/pci/devices/0000:00:0e.0
+10.0.1.111> Adding graphics device /sys/bus/pci/devices/0000:00:0e.0
+10.0.1.111> Looking for deps of module pci:v00001002d00004752sv00001028sd00000121bc03sc00i00
+10.0.1.111> resolving for GRAPHICSMODS
+10.0.1.111> and that has items of
+10.0.1.111> Adding module usbhid
+10.0.1.111> Adding module ehci-hcd
+10.0.1.111> Adding module ohci-hcd
+10.0.1.111> Adding module uhci-hcd
+10.0.1.111> Adding module ext3
+10.0.1.111> Adding module crc-t10dif
+10.0.1.111> Adding module scsi_mod
+10.0.1.111> Adding module sd_mod
+10.0.1.111> Adding module scsi_transport_spi
+10.0.1.111> Adding module aic7xxx
+10.0.1.111> Adding module pci_hotplug
+10.0.1.111> Adding module shpchp
+10.0.1.111> Adding module pata_serverworks
+10.0.1.111> /usr/sbin/resume -> /tmp/initrd.uuIIkZ/bin/resume
+10.0.1.111> /usr/lib/suspend/resume -> /tmp/initrd.uuIIkZ/usr/lib/suspend/resume
+10.0.1.111> /usr/lib/liblzo2.so.2 -> /tmp/initrd.uuIIkZ/usr/lib/liblzo2.so.2
+10.0.1.111> /usr/lib/liblzo2.so.2.0.0 -> /tmp/initrd.uuIIkZ/usr/lib/liblzo2.so.2.0.0
+10.0.1.111> /lib/libpthread.so.0 -> /tmp/initrd.uuIIkZ/lib/libpthread.so.0
+10.0.1.111> /lib/libpthread-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/libpthread-2.11.1.so
+10.0.1.111> /lib/libply.so.2 -> /tmp/initrd.uuIIkZ/lib/libply.so.2
+10.0.1.111> /lib/libply.so.2.0.0 -> /tmp/initrd.uuIIkZ/lib/libply.so.2.0.0
+10.0.1.111> /lib/librt.so.1 -> /tmp/initrd.uuIIkZ/lib/librt.so.1
+10.0.1.111> /lib/librt-2.11.1.so -> /tmp/initrd.uuIIkZ/lib/librt-2.11.1.so
+10.0.1.111> /lib/libply-splash-core.so.2 -> /tmp/initrd.uuIIkZ/lib/libply-splash-core.so.2
+10.0.1.111> /lib/libply-splash-core.so.2.0.0 -> /tmp/initrd.uuIIkZ/lib/libply-splash-core.so.2.0.0
+10.0.1.111> /etc/suspend.conf -> /tmp/initrd.uuIIkZ/etc/suspend.conf
+10.0.1.111> This initrd uses dynamic shared objects.
+10.0.1.111> Adding dynamic linker configuration files.
+10.0.1.111> /etc/ld.so.conf -> /tmp/initrd.uuIIkZ/etc/ld.so.conf
+10.0.1.111> Running ldconfig
+10.0.1.111> Installation finished. No error reported.
+10.0.1.111> This is the contents of the device map /boot/grub/device.map.
+10.0.1.111> Check if this is correct or not. If any of the lines is incorrect,
+10.0.1.111> fix it and re-run the script `grub-install'.
+10.0.1.111>
+10.0.1.111> (hd0) /dev/sda
+10.0.1.111> Umounting /dev/sda5...OK
+10.0.1.111> Umounting /dev/sda2...OK
+10.0.1.111> ftp: connect: Connection refused
+10.0.1.111> Local directory now /tmp
+10.0.1.111> Not connected.
+]]></programlisting>
+ </sect2>
+ <sect2>
+ <title>Post duplication process</title>
+ <para>Now client nodes reboots, so we have to switch PXE to a local boot.</para>
+ <para>
+<programlisting><![CDATA[
+[root@node42 ka]# vi /var/lib/tftpboot/X86PC/linux/pxelinux.cfg/default
+DEFAULT local
+]]></programlisting>
+ </para>
+ <para>Nodes hsould be up, we can to see their hardware.</para>
+ <para>
+ <programlisting><![CDATA[
+[root@node42 ka]# ssh render@10.0.1.110
+[render@linux ~]$ lspcidrake
+8139too : Realtek Semiconductor Co., Ltd.|RTL-8139/8139C/8139C+ [NETWORK_ETHERNET] (rev: 10)
+snd_intel8x0 : Intel Corporation|82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller [MULTIMEDIA_AUDIO] (rev: 02)
+i2c_i801 : Intel Corporation|82801EB/ER (ICH5/ICH5R) SMBus Controller [SERIAL_SMBUS] (rev: 02)
+ata_piix : Intel Corporation|82801EB/ER (ICH5/ICH5R) IDE Controller [STORAGE_IDE] (rev: 02)
+iTCO_wdt : Intel Corporation|82801EB/ER (ICH5/ICH5R) LPC Interface Bridge [BRIDGE_ISA] (rev: 02)
+shpchp : Intel Corporation|82801 PCI Bridge [BRIDGE_PCI] (rev: c2)
+ehci_hcd : Intel Corporation|82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller [SERIAL_USB] (rev: 02)
+uhci_hcd : Intel Corporation|82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 [SERIAL_USB] (rev: 02)
+uhci_hcd : Intel Corporation|82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 [SERIAL_USB] (rev: 02)
+uhci_hcd : Intel Corporation|82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 [SERIAL_USB] (rev: 02)
+uhci_hcd : Intel Corporation|82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 [SERIAL_USB] (rev: 02)
+unknown : Intel Corporation|82865G/PE/P Processor to I/O Memory Interface [SYSTEM_OTHER] (rev: 02)
+Card:Intel 810 and later: Intel Corporation|82865G Integrated Graphics Controller [DISPLAY_VGA] (rev: 02)
+unknown : Intel Corporation|82865G/PE/P DRAM Controller/Host-Hub Interface [BRIDGE_HOST] (rev: 02)
+hub : Linux 2.6.33.3-desktop-1mnb uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+hub : Linux 2.6.33.3-desktop-1mnb uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+hub : Linux 2.6.33.3-desktop-1mnb uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+usbhid : |SCISSORS Keyboard [Human Interface Device|Boot Interface Subclass|Keyboard]
+hub : Linux 2.6.33.3-desktop-1mnb uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+hub : Linux 2.6.33.3-desktop-1mnb ehci_hcd|EHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+[render@linux ~]$ cat /etc/modprobe.conf
+install scsi_hostadapter /sbin/modprobe ata_piix; /sbin/modprobe ahci; /bin/true
+alias eth0 8139too
+install usb-interface /sbin/modprobe ehci_hcd; /sbin/modprobe uhci_hcd; /bin/true
+alias sound-slot-0 snd_intel8x0
+
+[root@node42 ka]# ssh render@10.0.1.111
+[render@localhost ~]$ lspcidrake
+ath5k : Atheros Communications Inc.|AR2413 802.11bg NIC [NETWORK_ETHERNET] (rev: 01)
+tg3 : Broadcom Corporation|NetXtreme BCM5701 Gigabit Ethernet [NETWORK_ETHERNET] (rev: 15)
+tg3 : Broadcom Corporation|NetXtreme BCM5701 Gigabit Ethernet [NETWORK_ETHERNET] (rev: 15)
+aic7xxx : Adaptec|AIC-7899P U160/m [STORAGE_SCSI] (rev: 01)
+aic7xxx : Adaptec|AIC-7899P U160/m [STORAGE_SCSI] (rev: 01)
+shpchp : Intel Corporation|80303 I/O Processor PCI-to-PCI Bridge [BRIDGE_PCI] (rev: 01)
+unknown : Broadcom|CIOB-X2 PCI-X I/O Bridge [BRIDGE_HOST] (rev: 03)
+unknown : Broadcom|CIOB-X2 PCI-X I/O Bridge [BRIDGE_HOST] (rev: 03)
+unknown : Broadcom|CIOB-X2 PCI-X I/O Bridge [BRIDGE_HOST] (rev: 03)
+unknown : Broadcom|CIOB-X2 PCI-X I/O Bridge [BRIDGE_HOST] (rev: 03)
+unknown : Broadcom|CSB5 LPC bridge [BRIDGE_ISA]
+ohci_hcd : Broadcom|OSB4/CSB5 OHCI USB Controller [SERIAL_USB] (rev: 05)
+pata_serverworks: Broadcom|CSB5 IDE Controller [STORAGE_IDE] (rev: 93)
+i2c_piix4 : Broadcom|CSB5 South Bridge [BRIDGE_HOST] (rev: 93)
+Card:ATI Mach 64-based cards (no 3D acceleration): ATI Technologies Inc|Rage XL [DISPLAY_VGA] (rev: 27)
+unknown : Dell|Embedded Remote Access: BMC/SMIC device
+unknown : Dell|Remote Access Card III
+unknown : Dell|Embedded Remote Access or ERA/O
+unknown : Broadcom|CMIC-LE [BRIDGE_HOST]
+unknown : Broadcom|CMIC-WS Host Bridge (GC-LE chipset) [BRIDGE_HOST]
+unknown : Broadcom|CMIC-WS Host Bridge (GC-LE chipset) [BRIDGE_HOST] (rev: 13)
+hub : Linux 2.6.33.3-desktop-1mnb ohci_hcd|OHCI Host Controller [Hub|Unused|Full speed (or root) hub]
+
+
+[render@localhost ~]$ cat /etc/modprobe.conf
+install scsi_hostadapter /sbin/modprobe pata_serverworks; /sbin/modprobe aic7xxx; /bin/true
+alias eth0 tg3
+alias eth1 tg3
+install ide-controller /sbin/modprobe ide_generic; /bin/true
+install usb-interface /sbin/modprobe ohci_hcd; /bin/true
+alias wlan0 ath5k
+]]></programlisting>
+ </para>
+ </sect2>
+ </sect1>
+</article>
+<!-- Keep this comment at the end of the file
+Local Variables:
+mode: xml
+sgml-parent-document: (".duplication.xml" "legalnotice")
+End:
+-->
diff --git a/docs/ka_method/docbook-jadetex.dsssl b/docs/ka_method/docbook-jadetex.dsssl
new file mode 100644
index 000000000..5b7d8b96d
--- /dev/null
+++ b/docs/ka_method/docbook-jadetex.dsssl
@@ -0,0 +1,450 @@
+<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
+<!ENTITY dbstyle SYSTEM "/usr/share/sgml/docbook/dsssl-stylesheets/print/docbook.dsl" CDATA DSSSL>
+]>
+
+<!--
+;; This customization layer is inspired from:
+;;
+;;#######################################################################
+;;# #
+;;# The GNOME Documentation Project's #
+;;# Custion DocBook Stylesheet Layer #
+;;# by Dave Mason dcm@redhat.com #
+;;# Based on Norman Walsh's Modular Stylesheets #
+;;# #
+;;# This is intended as a drop-in replacement for #
+;;# the cygnus-both.dsl file in DocBook Tools. #
+;;# Just copy it to the location dbtools created #
+;;# and rename it cygnus-both.dsl #
+;;# #
+;;# This is Version 1.0-4 #
+;;# patched to fix RTF output (#49677) #
+;;# patched to work with docbook-dsssl-1.72 #
+;;# patched for ADDRESS output (#50605) #
+;;# removed comment and remark #
+;;# disabled use-id-as-filename #
+;;# don't define %graphic-default-extension% #
+;;#######################################################################
+-->
+
+<style-sheet>
+<style-specification use="docbook">
+<style-specification-body>
+
+;;#######################################################################
+;; Change the parameters below at your envy...
+;;#######################################################################
+
+;;======================================
+;;General Options
+;;======================================
+
+;;Do you want to print on both sides of the paper?
+(define %two-side% #f)
+
+;;Do you want enumerated sections? (E.g, 1.1, 1.1.1, 1.2, etc.)
+(define %section-autolabel% #t)
+
+;;Show URL links? If the text of the link and the URL are identical,
+;;the parenthetical URL is suppressed.
+(define %show-ulinks% #t)
+
+;; footnotes at the bottom of each page (and not chapter)
+(define bop-footnotes #t)
+
+;Make Ulinks footnotes to stop bleeding in the edges - this increases
+;'jade --> print' time tremendously keep this in mind before
+;complaining!
+(define %footnote-ulinks% #t)
+
+(define %no-shade-screen% #f)
+
+;;Tex Backend on
+(define tex-backend #t)
+
+;;Define Line Spacing
+(define %line-spacing-factor% 1.1)
+
+;;Define the Paragraph Style
+;;(define para-style
+;; (style
+;; font-size: %bf-size%
+;; color: *blue*
+;; font-weight: 'medium
+;; font-posture: 'upright
+;; font-family-name: %body-font-family%
+;; line-spacing: (* %bf-size% %line-spacing-factor%)))
+
+(define ($object-titles-after$)
+ (list (normalize "figure")))
+
+;;======================================
+;;Book Options
+;;======================================
+
+;;Do you want a title page for a Book?
+(define %generate-book-titlepage% #t)
+
+;;Do you want a separate page for the title?
+(define %generate-book-titlepage-on-separate-page% #f)
+
+;;Generate Book TOC?
+(define %generate-book-toc% #t)
+
+;;What depth should the TOC generate?
+;;!Only top level of appendixes!
+(define (toc-depth nd)
+ (if (string=? (gi nd) (normalize "book"))
+ 3
+ (if (string=? (gi nd) (normalize "appendix"))
+ 0
+ 1)))
+
+;;Do you want a TOC for the element part?
+(define %generate-part-toc% #f)
+
+;;Do you want the part toc on the part titlepage or separate?
+;(define %generate-part-toc-on-titlepage%
+; #t)
+
+;;Generate Part Title Page?
+(define %generate-part-titlepage% #f)
+
+;;Do you want the Part intro on the part title page?
+(define %generate-partintro-on-titlepage% #f)
+
+;;What elements should have a LOT?
+(define ($generate-book-lot-list$)
+ (list (normalize "equation")))
+
+;;Do you want chapters enumerated?
+(define %chapter-autolabel% #t)
+
+;;Do you want Chapter's and Appendix's
+;;to have automatic labels?
+(define %chap-app-running-head-autolabel% #f)
+
+;;======================================
+;;Article Options
+;;======================================
+
+;;Do you want a title page for an Article?
+(define %generate-article-titlepage%
+ #t)
+
+;;Generate Article TOC?
+(define %generate-article-toc%
+ #t)
+
+;;Do you want a separate page for the title?
+(define %generate-article-titlepage-on-separate-page%
+ #t)
+
+;;Do you want the article toc on the titlepage or separate?
+(define %generate-article-toc-on-titlepage%
+ #t)
+
+;;Do you want to start new page numbers with each article?
+(define %article-page-number-restart%
+ #f)
+
+;;Titlepage Separate?
+(define (chunk-skip-first-element-list)
+ '())
+
+;;Titlepage Not Separate
+;(define (chunk-skip-first-element-list)
+; (list (normalize "sect1")
+; (normalize "section")))
+
+;;======================================
+;;Columns
+;;======================================
+
+;;How many columns do you want?
+(define %page-n-columns% 1)
+
+;;How much space between columns?
+(define %page-column-sep% 0.2in)
+
+;;How many Columns on the titlepage?
+(define %titlepage-n-columns% 1)
+
+;;Balance columns?
+(define %page-balance-colums% #t)
+
+;;======================================
+;;Fonts
+;;======================================
+
+;;Defines the general size of the text in the document. normal(10),
+;;presbyopic(12), and large-type(24).
+(define %visual-acuity% "normal")
+
+;;What font would you like for titles?
+(define %title-font-family% "Helvetica")
+
+;;What font would you like for the body?
+(define %body-font-family% "Palatino")
+
+;;What font would you like for mono-seq?
+(define %mono-font-family% "Courier New")
+
+;;If the base fontsize is 10pt, and '%hsize-bump-factor%' is
+;; 1.2, hsize 1 is 12pt, hsize 2 is 14.4pt, hsize 3 is 17.28pt, etc
+(define %hsize-bump-factor%
+ 1.1)
+
+;;What size do you want the body fonts?
+(define %bf-size%
+ (case %visual-acuity%
+ (("tiny") 8pt)
+ (("normal") 10pt)
+ (("presbyopic") 12pt)
+ (("large-type") 24pt)))
+
+(define-unit em %bf-size%)
+
+;;======================================
+;;Margins
+;;======================================
+
+(define %left-right-margin% 2pi)
+
+;;How much indentation for the body?
+(define %body-start-indent% 1pt)
+
+;;How big is the left margin? (relative to physical page)
+(define %left-margin% 2pi) ;white-paper-column
+
+;;How big is the right margin? (relative to physical page)
+(define %right-margin% 2pi) ;white-paper-column
+
+;;How big do you want the margin at the top?
+(define %top-margin%
+(if (equal? %visual-acuity% "large-type")
+ 7.5pi
+ 6pi))
+
+;;How big do you want the margin at the bottom?
+(define %bottom-margin%
+ (if (equal? %visual-acuity% "large-type")
+ 7.5pi
+ 6pi))
+
+;;Define the text width. (Change the elements in the formula rather
+;;than the formula itself)
+;(define %text-width% (- %page-width% (* %left-right-margin% 2)))
+(define %text-width% (- %page-width% (+ %left-margin% %right-margin%)))
+
+;;Define the body width. (Change the elements in the formula rather
+;;than the formula itself)
+(define %body-width% (- %text-width% %body-start-indent%))
+
+;;Define distance between paragraphs
+(define %para-sep% (/ %bf-size% 2.0))
+
+;;Define distance between block elements (figures, tables, etc.).
+(define %block-sep% (* %para-sep% 2.0))
+
+;;Indent block elements?
+(define %block-start-indent% 0pt)
+;0pt
+
+;;======================================
+;;Admon Graphics
+;;======================================
+
+;;Do you want admon graohics on?
+(define %admon-graphics% #t)
+
+;;Where are the admon graphics?
+(define %admon-graphics-path% "images/")
+
+;;======================================
+;;Quadding
+;;======================================
+
+;;What quadding do you want by default; start, center, justify, or end?
+(define %default-quadding% 'justify)
+
+;;What quadding for component titles(Chapter, Appendix, etc)?
+(define %component-title-quadding% 'start)
+
+;;What quadding for section titles?
+(define %section-title-quadding% 'start)
+
+;;What quadding for section sub-titles?
+(define %section-subtitle-quadding% 'start)
+
+;;What quadding for article title?
+(define %article-title-quadding% 'center)
+
+;;What quadding for article sub-titles?
+(define %article-subtitle-quadding% 'center)
+
+;;What quadding for division subtitles?
+(define %division-subtitle-quadding% 'start)
+
+;;What quadding for component subtitles?
+(define %component-subtitle-quadding% 'start)
+
+(define box-start-indent .25in)
+(define box-end-indent 5in)
+
+;;======================================
+;;Paper Options
+;;======================================
+
+;;What size paper do you need? A4, A5, USletter or USlandscape?
+(define %paper-type%
+ "A4")
+
+;;Now define those paper types' width
+(define %page-width%
+ (case %paper-type%
+ (("A4") 210mm)
+ (("A5") 148.5mm)
+ (("USletter") 8.5in)
+ (("USlandscape") 11in)))
+
+;;Now define those paper types' height
+(define %page-height%
+ (case %paper-type%
+ (("A4") 297mm)
+ (("A5") 210mm)
+ (("USletter") 11in)
+ (("USlandscape") 8.5in)))
+
+;;Callouts are confusing in Postscript... fix them.
+(define %callout-fancy-bug% #t)
+
+(define *rgb-color-space*
+ (color-space "ISO/IEC 10179:1996//Color-Space Family::Device RGB"))
+(define *bluet*
+ (color *rgb-color-space* (/ 16 255) (/ 73 255) (/ 148 255)))
+(define *grey*
+ (color *rgb-color-space* (/ 231 255) (/ 231 255) (/ 231 255)))
+(define *bluec*
+ (color *rgb-color-space* (/ 74 255) (/ 97 255) (/ 173 255)))
+(define *black*
+ (color *rgb-color-space* 0 0 0))
+(define *white*
+ (color *rgb-color-space* 1 1 1))
+
+(element (book title)
+ (make sequence
+ color: *black*
+ )
+ )
+
+(element (chapter title)
+ (make paragraph
+ end-indent: 0.3cm
+ quadding: 'center
+ (make box
+ font-size: 16pt
+ font-weight: 'bold
+ background-color: *bluet*
+ color: *white*
+ )
+ (empty-sosofo)
+ )
+ )
+
+(element (title)
+ (make paragraph
+ end-indent: 0.3cm
+ (make box
+ font-size: 13pt
+ font-posture: 'oblique
+ background-color: *bluec*
+ color: *white*
+ )
+ (empty-sosofo)
+ )
+ )
+
+(element (para)
+ (make sequence
+ (make paragraph
+ space-before: 0.3cm
+ font-size: 10pt
+ color: *black*
+ )
+ (empty-sosofo)
+ )
+ )
+
+(element (itemizedlist)
+ (make box
+ background-color: *grey*
+ color: *black*
+ )
+ )
+
+(element (orderedlist)
+ (make box
+ background-color: *grey*
+ color: *black*
+ )
+ )
+
+;;======================================
+;;Non-printing Elements
+;;======================================
+;;(element TITLEABBREV (empty-sosofo))
+;;(element SUBTITLE (empty-sosofo))
+;;(element SETINFO (empty-sosofo))
+;;(element BOOKINFO (empty-sosofo))
+;;(element BIBLIOENTRY (empty-sosofo))
+;;(element BIBLIOMISC (empty-sosofo))
+;;(element BOOKBIBLIO (empty-sosofo))
+;;(element SERIESINFO (empty-sosofo))
+;;(element DOCINFO (empty-sosofo))
+;;(element ARTHEADER (empty-sosofo))
+;;(element revhistory (empty-sosofo))
+;;(element ADDRESS (empty-sosofo))
+
+;;Show comment element?
+(define %show-comments%
+ #t)
+
+;;======================================
+;;Formalpara titles
+;;======================================
+
+
+;;Change the way Formal Paragraph titles are displayed. The commented
+;;out section will run the titles in the paragraphs.
+(element (formalpara title)
+ ;(make sequence
+ ;font-weight: 'bold
+ ;($runinhead$))
+ ($lowtitle$ 5 7))
+
+;;======================================
+;;Inlines
+;;======================================
+
+(element application ($mono-seq$))
+(element command ($bold-seq$))
+(element filename ($mono-seq$))
+(element function ($mono-seq$))
+(element guibutton ($bold-seq$))
+(element guiicon ($bold-seq$))
+(element guilabel ($italic-seq$))
+(element guimenu ($bold-seq$))
+(element guimenuitem ($bold-seq$))
+(element hardware ($bold-mono-seq$))
+(element keycap ($bold-seq$))
+(element literal ($mono-seq$))
+(element parameter ($italic-mono-seq$))
+(element prompt ($mono-seq$))
+(element symbol ($charseq$))
+(element emphasis ($italic-seq$))
+
+</style-specification-body>
+</style-specification>
+<external-specification id="docbook" document="dbstyle">
+</style-sheet> \ No newline at end of file
diff --git a/docs/ka_method/duplication.xml b/docs/ka_method/duplication.xml
new file mode 100644
index 000000000..410c37d40
--- /dev/null
+++ b/docs/ka_method/duplication.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//FR"
+"/usr/share/sgml/docbook/xml-dtd-4.2/docbookx.dtd" [
+<!ENTITY dupli SYSTEM "doc-duplication.xml">
+]>
+<!-- juste un commentaire -->
+<book lang="en">
+ <title>Mageia: HOWTO Clone a system using KA method</title>
+ <bookinfo>
+ <authorgroup>
+ <author>
+ <firstname>Antoine Ginies</firstname>
+ <email>aginies _@_ mandriva.com</email>
+ </author>
+ </authorgroup>
+ <revhistory>
+ <revision>
+ <revnumber>0.3</revnumber>
+ <date>May 2010</date>
+ <authorinitials>ag</authorinitials>
+ <revremark>update/fix</revremark>
+ </revision>
+ <revision>
+ <revnumber>0.2</revnumber>
+ <date>Fev 2010</date>
+ <authorinitials>ag</authorinitials>
+ <revremark>update</revremark>
+ </revision>
+ <revision>
+ <revnumber>0.1</revnumber>
+ <date>OCT 2007</date>
+ <authorinitials>ag</authorinitials>
+ <revremark>update</revremark>
+ </revision>
+ </revhistory>
+ <pubdate>2007</pubdate>
+ </bookinfo>
+ &dupli;
+</book>
diff --git a/docs/ka_method/duplication.xsl b/docs/ka_method/duplication.xsl
new file mode 100644
index 000000000..f2027f5eb
--- /dev/null
+++ b/docs/ka_method/duplication.xsl
@@ -0,0 +1,24 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk.xsl"/>
+<xsl:param name="chunk.section.depth" select="0"/>
+<xsl:param name="html.ext" select="'.html'"/>
+<xsl:param name="navig.graphics" select="0"/>
+<xsl:param name="generate.chapter.toc" select="0"/>
+<xsl:param name="toc.section.depth" select="3"/>
+<xsl:param name="section.autolabel" select="1"/>
+<xsl:param name="section.label.includes.component.label" select="1"/>
+<xsl:param name="html.stylesheet.type">text/css</xsl:param>
+<xsl:param name="html.stylesheet">styleguibo.css</xsl:param>
+<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
+<xsl:param name="css.decoration">1</xsl:param>
+<xsl:param name="callout.defaultcolumn" select="'60'"/>
+<xsl:param name="callout.graphics" select="'1'"/>
+<xsl:param name="callout.list.table" select="'1'"/>
+<xsl:param name="callout.graphics.extension" select="'.gif'"/>
+<xsl:param name="callout.graphics.path">images</xsl:param>
+</xsl:stylesheet>
diff --git a/docs/ka_method/oneduplication.xsl b/docs/ka_method/oneduplication.xsl
new file mode 100644
index 000000000..e63762722
--- /dev/null
+++ b/docs/ka_method/oneduplication.xsl
@@ -0,0 +1,37 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import
+ href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/onechunk.xsl"/>
+<xsl:param name="chunk.section.depth" select="'1'"/>
+<xsl:param name="html.ext" select="'.html'"/>
+<xsl:param name="navig.graphics" select="'0'"/>
+<xsl:param name="generate.chapter.toc" select="'1'"/>
+<xsl:param name="toc.section.depth" select="'3'"/>
+<xsl:param name="generate.toc">
+ appendix toc
+ article toc
+ chapter toc
+ part toc
+ preface toc
+ qandadiv toc
+ qandaset toc
+ reference toc
+ section toc
+ set toc
+</xsl:param>
+<xsl:param name="section.autolabel" select="'1'"/>
+<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
+<xsl:param name="section.autolabel" select="'1'"/>
+<xsl:param name="section.label.includes.component.label" select="1"/>
+<xsl:param name="html.stylesheet.type">text/css</xsl:param>
+<xsl:param name="html.stylesheet">styleguibo.css</xsl:param>
+<xsl:param name="css.decoration">1</xsl:param>
+<xsl:param name="callout.defaultcolumn" select="'60'"/>
+<xsl:param name="callout.graphics" select="'1'"/>
+<xsl:param name="callout.list.table" select="'1'"/>
+<xsl:param name="callout.graphics.path">images</xsl:param>
+</xsl:stylesheet>
diff --git a/docs/ka_method/styleguibo.css b/docs/ka_method/styleguibo.css
new file mode 100644
index 000000000..9d088cc93
--- /dev/null
+++ b/docs/ka_method/styleguibo.css
@@ -0,0 +1,296 @@
+/* Documentation specific changes */
+
+span.guilabel {
+ padding: 0px, 1px, 0px, 1px;
+ margin: 1px;
+ background: #e6e6e6;
+ border-style: none;
+}
+
+span.guimenu, span.guimenuitem, .guibutton {
+ padding: 0px, 1px, 0px, 1px;
+ margin: 1px;
+ border-top: 1px solid #eeeeee;
+ border-right: 2px solid #cccccc;
+ border-bottom: 2px solid #cccccc;
+ border-left: 1px solid #eeeeee;
+ background: #f5f5f5;
+}
+
+span.accel {
+ text-decoration: underline;
+}
+
+pre.screen { background-color: #E0E0E0; }
+pre.programlisting { background-color: #E0E0E0; }
+
+/* Colours borrowed from Firefox's keyboard shortcuts table */
+.keycap, .keysym {
+ padding: 0px, 1px, 0px, 1px;
+ margin: 1px;
+ border-top: 1px solid #eedddd;
+ border-right: 2px solid #bbaaaa;
+ border-bottom: 2px solid #bbaaaa;
+ border-left: 1px solid #eeeedd;
+ background: #faf6f6;
+ font-family: Courier, monospaced, mono;
+}
+
+
+/* Mandrakesoft.com website default */
+
+BODY {
+ background-color: #ffffff;
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ color: #333333;
+}
+
+.plinks {
+ background-color: #ffffff;
+ font-family: Arial, sans-serif;
+ font-size: 13px;
+ color: #333333;
+}
+
+TD {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ color: #333333;
+}
+
+FORM {
+ display: inline;
+}
+
+A:link {
+ text-decoration: none;
+ color: #21449c;
+}
+
+A:visited {
+ text-decoration: none;
+ color: #21449c;
+}
+
+A:hover {
+ text-decoration: underline;
+ color: #21449c;
+}
+
+A:active {
+ text-decoration: underline;
+ color: #21449c;
+}
+
+INPUT, SELECT {
+ font-size: 15px;
+}
+
+A.News {
+ font-size: 13px;
+ color: #333333;
+}
+
+h1 {
+ font-family: Arial, sans-serif;
+ font-size: 23px;
+ font-weight: bold;
+ color: #000000;
+}
+
+h2 {
+ font-family: Arial, sans-serif;
+ font-size: 18px;
+ font-weight: bold;
+ color: #21449c;
+ display: inline;
+}
+
+h3 {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ font-weight: italic;
+ color: #11649b;
+ padding: 25px;
+ display: inline;
+}
+
+h4 {
+ font-family: Arial, sans-serif;
+ font-size: 14px;
+ padding: 45px;
+ display: inline;
+}
+
+h3.div {
+ font-family: Arial, sans-serif;
+ font-size: 11px;
+ padding: 45px;
+ display: inline;
+}
+
+
+#MainTable {
+ width: 900px;
+}
+
+
+#ContentTable {
+ width: 719px;
+}
+
+.SelectedLinks {
+ color: #333333;
+ font-size: 15px;
+ font-weight: bold;
+ padding: 3px;
+ background-color: #eeeeee;
+}
+
+
+.Footer {
+ font-size: 14px;
+ padding: 3px;
+ background-color: #eeeeee;
+}
+
+
+.BoxTitle {
+ font-size: 15px;
+ color: #333333;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ font-weight: bold;
+}
+
+.BoxContent {
+ font-size: 13px;
+ color: #333333;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+.SelectList {
+ background-color: #ffffff;
+ color: #333333;
+ border-style: none;
+}
+
+.InputText {
+ font-size: 15px;
+ border-style: solid;
+ background-color: #ffffff;
+ border-color: #cccccc;
+}
+
+A.FocusTitle {
+ color: #999999;
+ font-weight: bold;
+ font-size: 15px;
+ font-decoration: none;
+}
+
+.HomeLink, A.HomeLink {
+ color: #21449c;
+ font-size: 15px;
+}
+
+.HomeNewsDate {
+ color: #21449c;
+ font-size: 13px;
+}
+
+.text {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ color : #333333;
+}
+
+.texte {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ color : #333333;
+}
+
+.text4form {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ color: #333333;
+}
+
+
+.titre1 {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ color: #21449c;
+}
+
+.titre2 {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ color: #21449c;
+ display: inline;
+}
+
+.titre3 {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ font-weight: bold;
+ color: #333333;
+}
+
+.textbox {
+ font-family: Arial, sans-serif;
+ text-align: left;
+ font-size: 15px;
+ color: #000000;
+}
+
+.newsdate {
+ font-family: Arial, sans-serif;
+ font-size: 15px;
+ color: #000000;
+}
+
+.date {
+ font-family: Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+ color: #333333;
+}
+
+.note {
+ font-family: Arial, sans-serif;
+ font-size: 13px;
+ color: #333366;
+}
+
+.inzedark {
+ font-family: Arial, sans-serif;
+ font-size: 13px;
+ color: #ffffff;
+}
+
+.titrinzedark {
+ font-family: Arial, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+ color: #ffffff;
+}
+
+.TitreHome1 {
+ font-family: Arial, sans-serif;
+ font-size: 21px;
+ font-weight: bold;
+ color: #acacac;
+ }
+
+.TitreHome2 {
+ font-family: Arial, sans-serif;
+ font-size: 18px;
+ font-weight: bold;
+ color: #21449c;
+ }
diff --git a/docs/mastering-tool-for-restore-cd b/docs/mastering-tool-for-restore-cd
new file mode 100644
index 000000000..f40db4d77
--- /dev/null
+++ b/docs/mastering-tool-for-restore-cd
@@ -0,0 +1,84 @@
+Restore CD architecture ########################################################
+
+the restore CD is based on a mdv rescue CD.
+it typically contains:
+
+ data/box.XXX/lst
+ data/box.XXX/hda5
+ isolinux/all.rdz
+ isolinux/isolinux.bin
+ isolinux/isolinux.cfg
+ isolinux/vmlinuz
+ install/stage2/rescue.sqfs
+
+
+ data/box.XXX #######################################################
+
+ - lst contains the partition table and the drive geometry
+ (the format is custom, read and generated by partimage_whole_disk)
+
+ - hda5 is an imagefile, a mirror of /dev/hda5
+ (the format is partimage only, the idea of partimage is same as dump(8))
+
+ isolinux ###########################################################
+
+ - kernel and stage1 (same as standard mdv rescue)
+
+ - isolinux.cfg customized to call directly save_all or rest_all
+ (with option keepmounted for rest_all)
+
+ install/stage2/rescue.sqfs ##########################################
+
+ - compressed loopback containing a iso9660 filesystem.
+ it is mostly the same as the mdv rescue.sqfs, *plus* partimage_whole_disk
+ (nb : use extract_compressed_fs/create_compressed_fs to expand/create rescue.sqfs)
+
+
+Mastering process ##############################################################
+
+1. install a distribution and customize it
+
+ nb: it's better to leave an empty space on the disk after the /home
+ partition (since the restore script grows it, it's no waste) to allow
+ adapting to different disk geometry without failing
+
+2. boot on part_save_all.iso
+3. "partimage_whole_disk -s hostfoo save_all /data/box" is called
+ 3.1. it connects to partimaged server on hostfoo
+ 3.2. it fins the first free /data/box.XXX
+ 3.3. it saves the partition table and geometry in /data/box.XXX/lst calling
+ partimage with action save_file (need a patched partimage)
+ 3.4. it saves the devices needing to be saved calling partimage with action save.
+ nb: it doesn't save swap partitions (useless)
+ nb: it doesn't save ntfs/fat partitions
+ nb: with option save_home_directory, the last linux partition is not saved
+
+4. a restore CD iso is built using the data from step (3.)
+5. restore CD is burned
+
+6. restore CD booted on the target computer
+7. "partimage_whole_disk rest_all /data/box.XXX" is called
+ 7.1. it resizes main windows partition if wanted and needed
+ 7.2. it gets the partition table and geometry and creates partition table
+ accordingly
+ 7.3. it creates swap partitions if needed
+ 7.4. it restores linux partitions
+ 7.5. it creates linux partitions if wanted (esp. for /home)
+ 7.6. it grows the last linux partition if wanted (esp. for /home)
+ 7.7. it installs the bootloader (calling rescue script "install_bootloader")
+
+
+Build process ##################################################################
+
+- patched partimaged must be installed and launched
+ (one gets patched partimage rpm building with option "--with jail")
+
+- the data gets to /var/lib/partimage/data/box.XXX (owned by user partimag)
+
+- sudo chmod a+r /var/lib/partimage/data/*/*
+
+- in gi/rescue, call
+ ./make_partimage_save_rest_all partimage-0.6.4-7mdk.i586.rpm /var/lib/partimage /data/box.XXX
+
+ => it calls ./make_rescue_img with special options to create a special rescue.sqfs
+ => generates part_save_all.iso and part_rest_all.iso
diff --git a/docs/mdk-9.2 b/docs/mdk-9.2
deleted file mode 100644
index 1d5a06494..000000000
--- a/docs/mdk-9.2
+++ /dev/null
@@ -1,129 +0,0 @@
--*- outline -*-
-
- todo list for mdk9.2
- (mainly gtk+ oriented for now)
-
-* erratas
-** put them in gi/perl-install/patch/mdk_9.1
-** move mdk9.1 ones from gi/perl-install/patch into gi/perl-install/patch/mdk_9.0
-
-
-* libDrakX
-** document internals through docbook like kernel-2.5.x does
-
-* mcc vs tools communication
-** faster tools embedding in mcc (gc idea)
- move gui into gui/<sg>.pm so that mcc can just do require on them
- instead of doing slow fork+perl startup (same idea as fast_cgi,
- perl_mod and the like)
-** told apps to ask user whether to save their changes or to discard them on cancel (#1437)
-** to let diskdrake fit better when embedded, we should write "formated - mounted" rather than "formated\nmounted"
-** "testing mode" option in options menu so that we pass --testing to our tools ?
-
-* ugtk2 & tools guies:
-** cleanups:
-*** $o->flush() should be sub { $_[0]->window->process_updates(1) }
- see logdrake::parse_file()'s progress bar as an example
-** saner/cleaner usage of gtk+-2.2 widgets:
-*** use MessageDialog for modal windows (cleaner)
- especially for wait/error messages so that one uses std gtk+ icons for info/error/warning and the like events
-*** use button boxes everywhere when we have several buttons for saner gui (as per gnome specs/recommendations)
-*** gtk::combo => gtk::optionMenu (as per gtk+-2 doc)
-*** use size::group to let things be smoother in some places (eg: clock.pl from mcc)
-
-* tools
-** all:
-*** provide menu entries for more gui tools (?): for now, only harddrake2 and logdrake have one
-*** explanations of std standalone.pm functions are broken due to common.pm overloading
-*** have a button or a menu to access help (was already part of mdk9.1 specs)
- only harddrake2, mcc and rpmdrake have one for now
- policy might be: "most users access tools via the mcc, so let handle help, bug reports and co only in mcc"
-*** rename and provide compatibility links:
-**** adduserdrake => drakeuseradd
-**** diskdrake => drakdisk
-**** harddrake => drakhw
-**** keyboarddrake => drakkeyboard
-**** localedrake => draklocale
-**** logdrake => draklog
-**** menudrake => drakmenu [fredc]
-**** mousedrake => drakmouse
-**** printerdrake => drakprinter
-**** userdrake => drakuser [deush]
-**** XFdrake => drakx11
-** drakboot:
-*** should prevent the user to insert a space in a kernel label (#2826)
-*** fix "Display theme under console" setting from current theme config file (#2662)
-** drakconnect
-*** does not show up zeroconf as a valid mode in "configuring lan" window in embedded mode
-** drakedm:
-*** restart dm service ?
-** harddrake:
-*** colorize the internal help
-*** add raw description (or join('|', vendor, descr)) for mass medias (see drakx bug #3???)
-*** use pure gtk+ instead of interactive for "fields description" or alter interactive so that it creates modal windows
-** logdrake:
-*** search field does not get focus when embedded
-*** we may disable the search button when one deselect all explanation files
-** mcc:
-*** make tool names be black or blue (like in rpmdrake & harddrake2 guies) (#2695)
-*** hide non executable programs instead of warning at runtime if program isn't executable
-*** make more program being options rather than depandancies (ie like rpmdrake and drakwizard)
-*** add scrollbars if root window is below 800x600 (#2961)
-*** add scrollbars for too big translated messages (but how to detect it)
-*** move drakedm from hardware to system section
-*** enhance mcc descriptions (#3265)
-** rpmdrake
-*** save mode (sort by group, mdk choice, ...)
-**** sa serait cool que tu sauve la position (aka choix mdk, tri/alpha, par
- groupe, par taille, ...) et que tu la restaure
-*** m-q accelerator to quit
-*** if package is unselectable, explain why
-*** si conflit, proposer de deselectionner le package en question +tot que de
- devoir se taper l'arborescence pour le deselectionner (a - que la
- recherche e perde pas la selection de package en cours)
-*** some windows are still non modal, like:
- o tout ce qui se rapporte aux dependances "des paquetages
- supplementaires sont necessaires", ... tu oublie de passer "{
- transient => $w->{rwindow} }"
- o toutes les fenetres grpmi. faudrait voir si on peut foutre le
- core de grpmi dans un package pour faire "use grpmi" et seter
- le nouveau $::main_window pour corriger ca.
-*** we need access to urpmi options like "no gpg signature check"
-*** bug 1
-1) selectionner des packages a installer
-
-2) rpmdrake dit que X doit etres vier
-
-3) rpmdrake le vire
-
-4) rpmdrake passe a l'update/isntall proprement dite
-
-5) rpmdrake failled
-
-rpmdrake re-tentera d'enlever le package X du 1 en cas de reessai
-alors qu'il n'est + la
-
-** scannerdrake/sane-find-scanner
-*** do not detect every usb devices as scanner
-** urpmi
-*** --repair-system: add missing dependancies for currently installed packages
-
-
-* packages
-** main package updates:
-*** rpm-4.2
-*** kernel-2.6 (if availlable and stabilized: not probable) ?
- at least, keep kernel-2.4.x
-** add new packages:
-*** kernel-mosix
-*** dvb related packages: vcr, vdr, ...
-** icewm/windowmaker/other wm
-*** export BROWSER like gnome/kde (look at /etc/gnome/gnomerc)
-
-* hardware support
-** kernel: update alsa, bttv, dvb & saa7134 drivers for better hardware support (the laters from http://bytesex.org)
-*** add "REGISTER ^dvb/adapter[0-9]+/[^/]+$ PERMISSIONS root.video 0660" to devfsd
-*** update oss audigy driver from pserver:anonymous@cvs.sourceforge.net:/cvsroot/emu10k1 cvs
-** add cx88 sound driver from http://bytesex.org/snapshot
-** isa detection/probing in ldetect ? (#118, #497) => need some old hw in order to test
- probably not
diff --git a/docs/porting-ugtk b/docs/porting-ugtk
deleted file mode 100755
index a72faabb6..000000000
--- a/docs/porting-ugtk
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/perl -pi
-#
-# $Id$
-#
-# This is not an automatic gtk+-1.x to gtk+-2.x port tool,
-# just a tool that ease perl apps' gtk2 port.
-# you'll have to fix all remaining problems, beginning by spotted warnings
-# it'll save you basic conversion work
-#
-# if you used Gtk::Text, a little more work will be needed (look at logdrake gtk2 port)
-# if you used Gtk::CTree, Gtk::CList or worse, Gtk::Tree, you'll need quite a lot of exhausting work :-(
-#
-# usage: porting-ugtk <file>
-#
-# hint: always use strict
-
-# switch to gtk2 :
-s!Gtk:!Gtk2:!g;
-/(use|require) Gtk/ and print STDERR "Warning: if this (bad) app that did not use my_gtk, you'll have a hard time :-)\n if not, using both Gtk && my_gtk was misdesigned ...\n";
-s!(use|require) Gtk.*!!g; #
-s!my_gtk!ugtk2!g;
-
-# one should pass the right ":stuff" to "use ugtk2 qw();"
-/ugtk::/ and print STDERR "Warning: you'll have to passe eiter :ask, :create, :helpers or :wrappers to ugtk\n";
-s!ugtk::!!g;
-# if my_gtk wasn't used, this'll be spotted by the lack of "use ugtk2;" anyway
-s!(require|use) ugtk.*!!g;
-
-
-# deprecated :
-/::(CTree|CList|Text[^V])/ and print STDERR "Warning: CTree, CList and Text widgets are deprecated... Good luck :-(\n";
-/gtkcreate_(png|xpm)/ and print STDERR "Warning: new Gtk::Pixmap(gtkcreate_(png|xpm)) should be replaced by gtkcreate_img\n";
-/set_policy/ and print STDERR "Warning: ->set_policy() should be replaced by allow_shrink/allow_grow/set_resizable\n";
-
-# obsoletes methods||functions :
-s!set_usize!set_size_request!g;
-s!gtkset_set_border_width!gtkset_border_width!g;
-s!border_width!set_border_width!g;
-s!-(end|spread|extended|start|single)!'\1'!g;
-s!createScrolledWindow!create_scrolled_window!g;
-# quite a lot less usefull with gtk+2 but who knows... :
-s!set_position\(1\)!set_position('center')!g;
-s!gtkpng!gtkcreate_img!g;
-# hacky but usefull in ->set_pixmap() context; else that'll be spoted at run time :
-s!gtkcreate_png!gtkcreate_img!g;
-# usefull sometimes but not in most cases :
-#s!new GtkVBox!create_vbox!g;
-#s!new GtkHBox!create_hbox!g;
diff --git a/docs/spec-DrakX-8.0.html b/docs/spec-DrakX-8.0.html
deleted file mode 100644
index 3fd545447..000000000
--- a/docs/spec-DrakX-8.0.html
+++ /dev/null
@@ -1,405 +0,0 @@
-<html><head><title>DrakX Specification for Linux-Mandrake 8.0</title></head>
-<body bgcolor="#FFFFFF" link="#0066FF" vlink="#0066FF" alink="#FF0000">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
-<tr>
-<td bgcolor="#99AAFF"><h2 align="left">DrakX Specification for Linux-Mandrake 8.0</h2></td></tr>
-<tr><td valign="top">
-Current team of Install group is :
-<p>
-<table cellpadding="2" cellspacing="2" border="1" width="30%">
-<tbody>
-<tr valign="Top">
-<td valign="Top">gc
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">damien
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">fpons
-
-</td>
-</tr>
-<tr valign="Top">
-<td valign="Top">pixel
-
-</td>
-</tr>
-</tbody>
-</table>
-<p>
-
-<pre>
-
- <b>Boot process (stage1)</b>
-
- Installation begin by booting from CD-ROM or Diskette. From CD-ROM all
-installation method are available (CD, HD, NFS, FTP, HTTP) on options. From
-Diskette according to image selected, only some related method (network or cdrom
-or hd) are available and module managed due to size limitation to 1.44Mb.
- Options are always available by pressing on F1.
-
- <b>DrakX process (stage2)</b>
-
- DrakX installation organized in steps (execution sequence described below).
-Steps listed on left side and help available on bottom right side. most of the
-screen is available for various dialog for interacting with the user. Steps
-execution sequence is automated and described below.
-
-Mouse is probed and if none has been found or if the mouse has not moved, a
-specific mouse configuration is displayed at the begining.
-
-
-Before the graphical steps, there is a detection step. It detects various
-hardware, including modems (from tty0 to tty7), mouse (serial, usb, ps/2) and
-tablets.
-
- <b>Steps</b>
-
- <i>Choose Your language</i>: step always displayed. default choice is previous one or
-<font color="#000080"><i>English</i></font>. After choosing a language, a license splash screen translated in the
-chosen language is displayed with <font color="#000080"><i>Accept</i></font> and <font color="#000080"><i>Refuse</i></font> buttons. <font color="#000080"><i>Refuse</i></font> should
-stop installation. <font color="#000080"><i>Accept</i></font> validate language choice which are propagated to all
-DrakX visible widget. Advanced mode allow to select other language available to
-be installed. Advanced mode allow to select language which will be installed on
-system.
- If step is redone, the license is no more displayed.
-
- <font color="#000080"><i>Select Install Class</i></font>: step always displayed. default choice is previous one
-or <font color="#000080"><i>Recommended</i></font>. Only one other option available is <font color="#000080"><i>Customized</i></font>. Two buttons
-available are <font color="#000080"><i>Install</i></font> or <font color="#000080"><i>Upgrade</i></font>. Available steps (left side) are changed
-according to installation class selected, where the default is the one of
-<font color="#000080"><i>Recommended</i></font> with <font color="#000080"><i>Install</i></font>.
-
- <font color="#000080"><i>Hard Drive Detection</i></font>: step always displayed. In recommended mode,
-automatically done. In Customized mode, all modules that manage SCSI/IDE cards
-are loaded automatically and a question asking for other module to load is
-displayed.
- If clicked later or if to the question to load other module the
-answer is <font color="#000080"><i>Yes</i></font>, a list of module is displayed (or if the question to other
-module to load is. When a module is chosen, two options are available
-<font color="#000080"><i>Autoprobe</i></font> and <font color="#000080"><i>Specify options</i></font>. Autoprobe try to load the module without any
-other user options (default module parameter). Specify options allow user to
-give module parameters individually in a list for all known parameters. At this
-point <font color="#000080"><i>Ok</i></font> or <font color="#000080"><i>Cancel</i></font> are available, Cancel should stop the module installation
-and go to next step. If any error occurs during module installation, a question
-asking to try with other parameter is displayed, the same module is still used.
-
- <font color="#000080"><i>Setup filesystems</i></font>: step always displayed. display a list of available choice
-accoding to what has been probed. May contains <font color="#000080"><i>Use free space</i></font>, "Use existing
-partition<font color="#000080"><i>, </i></font>Use the window partition for loopback<font color="#000080"><i>, </i></font>Use the free space on the
-Windows partition<font color="#000080"><i>, </i></font>Remove Windows(TM)<font color="#000080"><i>|</i></font>Erase entire disk" (according to disk
-configuration =&gt; only one big fat for the first case only), "Custom disk
-partitioning".
- If <font color="#000080"><i>Use free space</i></font> mode, auto allocation in available on available disk.
- If <font color="#000080"><i>Use existing partition</i></font> mode, a list of partition named in Linux
-scheme are displayed with their approximate size in Mb and propose mount point
-to choose in list boxes for each partitions available on hard drive.
- If <font color="#000080"><i>Use the window partition for loopback</i></font> mode, DrakX use available size
-on the windows partition to create a root file and a swap file which will be
-used in loopback, this means this is a lnx4win installation.
- If <font color="#000080"><i>Use the free space on the Windows partition</i></font> mode, DrakX will resize
-the windows partition and allocate true linux filesystem (at least / and swap).
- If <font color="#000080"><i>Remove Windows(TM)</i></font>|<font color="#000080"><i>Erase entire disk</i></font> mode, DrakX clean the
-partition table before auto allocating partition.
- If <font color="#000080"><i>Custom disk partitioning</i></font> mode, diskdrake is launch. TO BE DEFINED to
-change make diskdrake use only advanced mode.
-Diskdrake show all partition of all non-removable disk graphically. All special
-partition are hidden, only user accessible partition are visible: this remove
-extended partition, whole disk partition on sparc platform. Clicking on a disk
-notebook tab show all his partitions. Clicking on a partition show all actions
-available for this partition (depend if customized or advanced mode) as well as
-information on this partition (depend if customized or advanced mode). Most
-diskdrake operation are done without writing on disk (exception are Resizing
-partitions) and everything is written once on the disk when exiting diskdrake,
-at any time if writing partition table is necessary, there are always a dialog
-box asking the user to confirm the write. If no operation are modifying
-partition table, no dialog is displayed on exit (for example if giving mount
-point to partition). General action are available too:
- <font color="#000080"><i>Clear All</i></font>: clear all partition of the given disk.
- <font color="#000080"><i>Auto allocate</i></font>: try to allocate partition in available disk (not the
-seen disk).
- <font color="#000080"><i>Undo</i></font>: undo last operation.
- <font color="#000080"><i>Done</i></font>: quit and save changes.
-Other operations are available in advanced mode:
- <font color="#000080"><i>Rescue partition table</i></font>: try to rescue a lost partition table,
-absolutely no garantee to succeed and may destroy what could be saveable by
-another tools.
- <font color="#000080"><i>Reload</i></font>: reload partition table from disk, erasing all changes in
-memory done by the user.
- <font color="#000080"><i>Wizard</i></font>: go to partition wizard, that the partition filesystems default
-behaviour on startup.
- <font color="#000080"><i>Restore from floppy</i></font>: restore a partition table from previously saved
-partition table from diskdrake.
- <font color="#000080"><i>Save to floppy</i></font>: save partition table to floppy.
- <font color="#000080"><i>Options</i></font>: global options available for filesystem configuration. This
-include <font color="#000080"><i>Removable media automouting supermount</i></font> check box disabled by default.
- Operation available on partition are:
- <font color="#000080"><i>Mount point</i></font>: change or define mount point for partition, only
-available for true filesystem partition.
- <font color="#000080"><i>Resize</i></font>: resize partition, if a specific algorithm to keep data is
-used no data may be lost, else all data are lost but nothing is written by
-diskdrake on the partition data in this last case (this means data can be
-restored by restoring original size and location).
- <font color="#000080"><i>Delete</i></font>: delete partition, if the same partition is created (same type,
-location, size) all data can be restored as diskdrake doesn't write on partition
-data.
- Operation available on partition table but in advanced mode are:
- <font color="#000080"><i>Type</i></font>: change type of partition, all data will be lost but diskdrake as
-above does not destroy them, and everyting can be restored.
- <font color="#000080"><i>Format</i></font>: format partition, at this point, all data ARE LOST.
- <font color="#000080"><i>Mount</i></font>: mount partition now, usefull for swap to increase memory
-capacity for machine low on resource that are not available to complete setup
-filesystem step correctly (problably if a resize partition is used on FAT fs).
-allow Mounting swap on customized mode too.
- A legend for partition type colors is available
-(Ext2,ReiserFS,Swap,FAT,Other,Empty). It has additionnal features to create a
-partition or change its type (only available in advanced mode).
-
- <font color="#000080"><i>Format partitions</i></font>: step always displayed. display list of partition to
-format with click boxes. Some are defined according to type of partitions and if
-the partition has been created or taken back.
-If a partition has already been formated, it is not proposed, or if it should
-not be proposed (alrady existing partition like /mnt/windows).
-On Advanced tag, an additional dialog is displayed to select partition to format
-(all available partition listed) and to format them with bad block checking.
-
- <font color="#000080"><i>Choose packages</i></font>: step always displayed. default selection done to be
-<font color="#000080"><i>correct</i></font> according to size available, Install or Upgrade, Hardware available.
-This selection is done according to <font color="#000080"><i>Mandrake first choice</i></font> of packages.
-On all mode, display groups and main desktop used (KDE or Gnome), an
-individual package selection check box is available to allow selecting package
-individually. In this case, a dialog displaying a tree with groups, (Mandrake
-first choice/alternatives) and packages is shown on the left part, a description
-window for each packages is shown on the right part.
-
- <font color="#000080"><i>Install system</i></font>: step always displayed. no interactive and display
-installation progression. include if available and on a CD basis a spash screen
-of advertising and other (pub!).
-
- <font color="#000080"><i>Hardware panel</i></font>: step always displayed. show current configuration for
-Mouse, Keyboard, TimeZone, Graphic/TV Card, Monitor.
-At each values chosen (list boxes displayed a
-synthesis description) the current dialog is removed from screen and specific
-configuration panels are displayed (like currently for mouse, keyboard ...).
-And end of these specific configuration panels, this one is remapped on screen
-to be accepted in general.
-
- <b>Sub steps of Hardware panel:</b>
-
- <font color="#000080"><i>Configure mouse</i></font>: displayed on request or if the mouse has not been
-moved (so unsafe detection), but have to be displayed earlier. A mouse tree
-selection for type is displayed with default case as what is probed or
-<font color="#000080"><i>serial/Generic 2 button Mouse</i></font> if none has been probed. <font color="#000080"><i>Cancel</i></font> disable mouse
-modification and <font color="#000080"><i>Ok</i></font> allow next mouse configuration dialog. Then comes a serial
-port dialog for serial mice (default mouse connected to COM1 if nothing found).
-Then a mouse screen control is chown (according to mouse capacity: 3 buttons
-with or without mouse, need 7 buttons checking ?). Here <font color="#000080"><i>Ok</i></font> validate to go to
-next step and <font color="#000080"><i>Cancel</i></font> to first mouse dialog displayed (mouse tree selection for
-type).
-
- <font color="#000080"><i>Configure keyboard</i></font>: displayed on request. default is set according to
-TimeZone definition (itself defaulting to language selection at the beginning).
-A list of keyboard is shown to the user and <font color="#000080"><i>Ok</i></font> validates change and return to
-<font color="#000080"><i>Hardware panel</i></font> dialog with enabled change. <font color="#000080"><i>Cancel</i></font> abort any modification and
-return to the same <font color="#000080"><i>Hardware panel</i></font> dialog.
-
- <font color="#000080"><i>Configure timezone</i></font>: displayed on request. default is set according to
-language selection. A timezone tree selection is shown with only the subtree
-corresponding to the current selection expanded (as other tree dialog). <font color="#000080"><i>Ok</i></font>
-validates change and return to <font color="#000080"><i>Hardware panel</i></font> dialog whereas <font color="#000080"><i>Cancel</i></font> avoid
-the change before returning to the same main dialog.
-
- <font color="#000080"><i>Graphic Card</i></font>: display graphic card probed. No change available.
-
- <font color="#000080"><i>TV Card</i></font>: display TV/Tuner card probed. No change available.
-
- <font color="#000080"><i>Monitor</i></font>: need execution of ddcxinfos at this point. Only Size, Max
-resolution and depth displayed. No change available.
-
-
- Miscellaneous step have been removed and dispatched to other steps. "Use
-hard drive optimisation<font color="#000080"><i> and </i></font>Enable num lock at startup<font color="#000080"><i> are removed. </i></font>Choose
-security level<font color="#000080"><i> is moved to security step. </i></font>Precise RAM size if needed" and
-<font color="#000080"><i>Clean /tmp at each boot</i></font> are moved to bootloader step.
-<font color="#000080"><i>Removable media automouting</i></font> is moved to diskdrake options.
-
- <font color="#000080"><i>Security</i></font>: step displayed only in customized mode. TO BE DEFINED. should
-display at least securty level to choose. level are <font color="#000080"><i>Low</i></font>, <font color="#000080"><i>Medium</i></font>, <font color="#000080"><i>High</i></font> and
-for advanced there are <font color="#000080"><i>Welcome To Crackers</i></font>, <font color="#000080"><i>Poor</i></font>, <font color="#000080"><i>Paranoid</i></font> too.
-
- <font color="#000080"><i>Configure networking</i></font>: step always displayed. dialog always displayed in
-both <font color="#000080"><i>Recommended</i></font> and <font color="#000080"><i>Customized</i></font> mode. A list of network configuration
-entries are shown with the following:
- <font color="#000080"><i>Configure a normal modem connection</i></font>
- <font color="#000080"><i>Configure an ISDN connection</i></font>
- "Configure a DSL (or ADSL) connection
- <font color="#000080"><i>Configure a cable connection</i></font>
- <font color="#000080"><i>Configure local network</i></font>|<font color="#000080"><i>Reconfigure local network</i></font>
- <font color="#000080"><i>Disable networking</i></font>|<font color="#000080"><i>Enable networking</i></font>
- <font color="#000080"><i>Done</i></font>
- By cliking on a specific item, another dialog is displayed to configure
-some specific part of the network.
- <font color="#000080"><i>Configure a normal modem connection</i></font>: display a question to probe for a
-modem if not already detected, then if none are found or probe has been refused
-a list of possible serial device are listed (in the form ttySx / COM(x+1) with
-the current mouse device removed if it is serial). After that a dialog including
-all parameters than can be used is shown. This includes <font color="#000080"><i>Connection Name</i></font>,
-<font color="#000080"><i>Phone number</i></font>, <font color="#000080"><i>Login ID</i></font>, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Authentication</i></font>, <font color="#000080"><i>Domain name</i></font>, <font color="#000080"><i>DNS 1</i></font>
-and <font color="#000080"><i>DNS 2</i></font>. Authentication is a combo of <font color="#000080"><i>PAP</i></font>, <font color="#000080"><i>Termina-Based</i></font> and
-<font color="#000080"><i>Script-Based</i></font> (It seems necessary to get CHAP back on this one, no way of
-testing TO BE DEFINED). If no DNS are given, the connection is configured to try
-using provider DNS. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> button are available.
- <font color="#000080"><i>Configure an ISDN connection</i></font>:
-Try to detect some PCI card. If not detected, asks if it's a ISA/pcmcia or PCI
-card, and gives the list of the cards. Information are then asked:
-<font color="#000080"><i>Card IRQ</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card mem (DMA)</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card IO</i></font> only if ISA/pcmcia
-<font color="#000080"><i>Card IO_0</i></font> only if ISA/pcmcia with io0
-<font color="#000080"><i>Card IO_1</i></font> only if ISA/pcmcia with io1
-<font color="#000080"><i>Your personal phone number</i></font> phone
-<font color="#000080"><i>Provider name (ex provider.net)</i></font>
-<font color="#000080"><i>Provider phone number</i></font>
-<font color="#000080"><i>Provider dns 1</i></font>
-<font color="#000080"><i>Provider dns 2</i></font>
-<font color="#000080"><i>Dialing mode</i></font> auto or manual
-<font color="#000080"><i>Account Login (user name)</i></font>
-<font color="#000080"><i>Account Password</i></font> hided
-<font color="#000080"><i>Confirm Password</i></font> again
- <font color="#000080"><i>Configure a DLS (or ADSL) connection</i></font>:
-The user chooses between pptp, pppoe and dhcp. If dhcp, redirection to LAN.
-If there is more than one ethernet card, The user must choose the card to use
-(displayed with the module). After that, some informations are asked:
-<font color="#000080"><i>Provider name (ex provider.net)</i></font>
-<font color="#000080"><i>Provider dns 1</i></font>
-<font color="#000080"><i>Provider dns 2</i></font>
-<font color="#000080"><i>Account Login (user name)</i></font>
-<font color="#000080"><i>Account Password</i></font> hided
-<font color="#000080"><i>Confirm Password</i></font> again
- <font color="#000080"><i>Configure a cable connection</i></font>: redirection to LAN
- <font color="#000080"><i>Configure local network</i></font>: display what has been probed with a question
-about using another module and <font color="#000080"><i>Yes</i></font>, <font color="#000080"><i>No</i></font> and <font color="#000080"><i>See hardware info</i></font> buttons.
-<font color="#000080"><i>No</i></font> is the default. If <font color="#000080"><i>Yes</i></font> is clicked a list of modules is displayed with
-<font color="#000080"><i>Ok</i></font> or <font color="#000080"><i>Cancel</i></font> buttons available. <font color="#000080"><i>Cancel</i></font> should go back to previous
-question. If <font color="#000080"><i>See hardware info</i></font> is clicked a list of probed hardware is
-displayed. If <font color="#000080"><i>Yes</i></font> is clicked, for each ethernet interface, a dialog asking for
-IP address, Netmask and Automatic IP check box (DHCP/BOOTP) is displayed. Then
-if DHCP has been chosen, only a dialog asking for Host name and another for HTTP
-proxy and FTP proxy if any. If DHCP has not been chosen, an IP address has to be
-defined and a dialog including <font color="#000080"><i>Host name</i></font>, <font color="#000080"><i>DNS server</i></font>, <font color="#000080"><i>Gateway</i></font> and "Gateway
-device" is displayed. Then the same HTTP proxy and FTP proxy dialog as above. As
-network configuration may to have been reworked a bit it has TO BE DEFINED if
-this is kept like that or not.
- <font color="#000080"><i>Disable networking</i></font>|<font color="#000080"><i>Enable networking</i></font> is just a way to toggle
-networking on or off, may be to be accessible only for advanced mode.
- <font color="#000080"><i>Quit</i></font> exit the network step.
-
-<b>NETWORK ADVANCED DOCUMENTATION:</b>
-Here is a list of entry points available in post install without using the ugly
-install graphic toolkit:
-
-<a href=<font color="#000080"><i>http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt</i></font>>http://www.mandrakesoft.com/~damien/html/draknet_advanced_doc.txt</a>
-
- <font color="#000080"><i>Configure Printer</i></font>: step always displayed. In recommended mode, only
-activated if a local printer is detected, else no printer are configured by
-default. In customized mode or if the step has been clicked a list of printer
-already configured is displayed and the possibility to add or exit the
-configuration. It allow configuration of printers for both LPR and CUPS
-individually (available by advanced mode when adding a printer). Printer
-protocol managed are local/usb/samba/ncp/lpd for LPR and
-local/usb/serial/samba/lpd/cups_network for CUPS.
-
- <font color="#000080"><i>Set root password</i></font>: step always displayed for Install only. In
-recommended mode display only a <font color="#000080"><i>Password</i></font> entry and a <font color="#000080"><i>Password (again)</i></font> entry
-to select the root password. In advanced mode, a Use NIS (yellow pages) check
-boxes and Use MD5 check box are available. <font color="#000080"><i>Ok</i></font> validate root password and "No
-password<font color="#000080"><i> avoid setting a password. </i></font>No password<font color="#000080"><i> is only available in </i></font>Low"
-security level or less. The length of the minimal password depend upon security level.
-
-In corporate firewall :
- <font color="#000080"><i>Set admin password</i></font>: step always displayed for Install only. It only
- displays a <font color="#000080"><i>Password</i></font> entry and a <font color="#000080"><i>Password (again)</i></font> entry
-to select the admin password.
-The length of the minimal password depend upon security level. (double of the
- security level)
-
- <font color="#000080"><i>Add a user</i></font>: step always displayed for Install Only. In recommend mode
-display <font color="#000080"><i>Real name</i></font>, <font color="#000080"><i>User name</i></font>, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Password (again)</i></font> and icon
-choices as graphical. For customized mode a shell combo is available to choose a
-specific shell for the user depending on the package installed. The real name is
-the user friendly name of the user whereas user name is its login id name. The
-box display user that have already been added below the title. <font color="#000080"><i>Accept user</i></font>
-button allow the creation of the user and <font color="#000080"><i>Done</i></font> finish this step. High or
-higher security level implies the creation of at least one user. Password length
-are subject to same restriction according to security level. In advanced mode,
-allow to choose the user in auto login mode.
-
- <font color="#000080"><i>Create a boot disk</i></font>: step always displayed. In recommended mode this
-step is automatically done by doing nothing. If clicked or customized mode, the
-user is prompted to allow building a boot disk (default is yes). In advanced
-mode allow selection of floppy drive.
-
- <font color="#000080"><i>Install boot loader</i></font>: step always displayed. In recommended mode this
-step is automatically done. In customized mode, a combo <font color="#000080"><i>Boot device</i></font> list the
-various boot device that can be used where the bootloader can be installed. The
-boot device can the Linux description of the whole disk available (ex: /dev/hda)
-or partition available in these disk or floppy drives. Other platform
-specificity are not listed here.
- LBA check box is displayed in advanced mode (enabled by default) to
-allow using LBA addressing if available (PC with LILO). bootloader combo to
-select a given bootloader to use, available choice are <font color="#000080"><i>Grub</i></font>, "LILO with text
-menu<font color="#000080"><i>, </i></font>LILO with graphical menu<font color="#000080"><i>. default chosen is </i></font>LILO
-with graphical menu<font color="#000080"><i>. </i></font>Delay before booting default image" entry
-field is available with default value current setting (upgrade) or 5 else.
-<font color="#000080"><i>Precise RAM size if needed (found xx MB)</i></font> entry is displayed too,
-<font color="#000080"><i>clean /tmp</i></font> check box is disabled by default too.
-Boot in graphical mode (init 5) is available here in advanced mode too
-(previously in X configuration). <font color="#000080"><i>Video mode</i></font> combo, <font color="#000080"><i>Password</i></font>, <font color="#000080"><i>Password (again)</i></font>,
-<font color="#000080"><i>Restrict command line options</i></font> check box is displayed.
-Video mode combo list text mode and video mode used for frame buffer, video mode
-used for frame buffer are available only if the install managed to boot with
-frame buffer activated. Password are restricted according to security level as
-other password. Password are mandatory according to security level TO BE DEFINED.
-
- <font color="#000080"><i>Configure X</i></font>: step always displayed. By default on recommended mode,
-everything is done automatically if possible up to test of graphic card, and if
-the user accept the settings no more question are asked to him. In customized
-mode a dialog is displayed to choose resolution, color depth and which version
-of XFree (with 3D optionally) is available for the current card where only a
-short description is displayed. <font color="#000080"><i>Ok</i></font> button allow to jump to test phase (for the
-first time only) if available. <font color="#000080"><i>Cancel</i></font> return to main XFree configuration
-window allowing to change Monitor, Graphic card, Server options or Resolution
-with X version to choose. <font color="#000080"><i>Show all</i></font> extend resolution list to more resolutions
-according to card (with onboard memory) only and no more monitor capabilities.
- The main dialog is a list of command to change some X configuration aspect
-according to advanced mode or not :
- <font color="#000080"><i>Change Monitor</i></font>: display a tree selection of monitors where default one
-is selected. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> buttons are available.
- <font color="#000080"><i>Change Graphic card</i></font>: display a tree selection of graphic card where
-default one is selected. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> buttons are available. If <font color="#000080"><i>Unlisted</i></font>
-is chosen, then a tree of server/driver is displayed containing available server
-for XF3 or driver for XF4. <font color="#000080"><i>Cancel</i></font> return to main window and <font color="#000080"><i>Ok</i></font> validates
-change.
- <font color="#000080"><i>Change Server options</i></font>: available only in advanced mode. display list
-of check boxes options for server currently used. <font color="#000080"><i>Ok</i></font> and <font color="#000080"><i>Cancel</i></font> available.
- <font color="#000080"><i>Change Resolution</i></font>: change resolution and depth including with X server
-version chosen (relative to Xdrakres too).
- <font color="#000080"><i>Show Information</i></font>: display an information dialog showing current
-configuration internals of X.
- <font color="#000080"><i>Test again</i></font>: restart test with current configuration of X.
- <font color="#000080"><i>Quit</i></font>: exit X configuration main window. Other question about autologin
-and window manager to use are asked on Add user step.
-
- <font color="#000080"><i>Exit install</i></font>: step displayed only in customized mode but always
-executed. Only a text is displayed with a <font color="#000080"><i>Ok</i></font> button. If clicked and some step
-have not been executed/completed correctly, a question dialog ask the user if he
-really want to quit now, default answer is <font color="#000080"><i>No</i></font>. Advanced switch let user access
-to do the previously <font color="#000080"><i>Auto install floppy</i></font> step in DrakX &lt; 8.0. This is just a
-question asking the user to generate an auto install floppy automatically.
-</pre>
-</body>
-</html>
diff --git a/images/Makefile b/images/Makefile
new file mode 100644
index 000000000..5ac5cf59c
--- /dev/null
+++ b/images/Makefile
@@ -0,0 +1,51 @@
+include ../Makefile.config
+
+VERSION=2.92
+PRODUCT=drakx-installer-images
+KERNELS=$(shell rpm -qf /lib/modules/6.*)
+
+IMAGES_DEST = $(ROOTDEST)/install/images
+
+all: images
+
+boot.iso: images/boot.iso
+
+images/boot.iso: all.kernels/.list make_boot_img
+ DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img images/boot.iso
+
+all.img: images/all.img
+
+images/all.img: all.kernels/.list make_boot_img
+ DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img images/all.img
+
+images: all.kernels/.list
+ DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img
+ rm -rf images/alternatives
+ if [ `ls images/*.img-* 2>/dev/null | wc -l` -gt 0 ]; then \
+ mkdir images/alternatives; cd images/alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; sha512sum *.img-* > SHA512SUM; \
+ fi
+ cd images; md5sum *.{img,iso}* > MD5SUM; sha512sum *.{img,iso}* > SHA512SUM
+
+all.kernels/.list: update_kernel
+ ./update_kernel $(KERNELS)
+
+dist: tar
+tar:
+ @rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ $(PRODUCT)-$(VERSION) images kernel Makefile.config | xz >images/$(PRODUCT)-$(VERSION).tar.xz;
+ $(info $(PRODUCT)-$(VERSION).tar.xz is ready)
+
+clean:
+ rm -rf images isolinux all.kernels modules.description build
+ find . -name "*~" -o -name ".#*" | xargs rm -f
+
+install:
+ install -d $(IMAGES_DEST)
+ rm -rf $(IMAGES_DEST)/alternatives
+ cp -r images/* $(IMAGES_DEST)
+ ifneq (,$(findstring $(ARCH), i386 x86_64))
+ rm -rf $(ROOTDEST)/isolinux
+ cp -af isolinux $(ROOTDEST)
+ endif
+
+.PHONY: boot.iso all.img install clean dist tar images
diff --git a/images/NEWS b/images/NEWS
new file mode 100644
index 000000000..d08d5d491
--- /dev/null
+++ b/images/NEWS
@@ -0,0 +1,856 @@
+Version 2.92 - 18 October 2025 by Jani Välimaa
+- remove 'Memory Test' from boot images as we don't have linux32 module anymore in grub2
+
+Version 2.91 - 29 August 2023 by Thomas Backlund
+
+- switch to Mageia 10 (Cauldron)
+
+Version 2.90 - 11 August 2023 by Thomas Backlund
+
+- update for Mageia 9 release
+
+Version 2.89 - 11 July 2023 by Thomas Backlund
+
+- Sync list_modules with kernel 6.4
+- Sync with kernel 6.0
+
+Version 2.88 - 9 February 2023 by Thomas Backlund
+
+- Sync with kernel 5.19
+- Sync with kernel 6.0
+- Sync with kernel 6.1
+
+Version 2.87 - 31 October 2022 by Martin Whitaker
+
+- update grub.config search label for Mageia 9 (mga#30932)
+
+Version 2.86 - 17 September 2022 by Martin Whitaker
+
+- revert to using Memtest86+, now it is based on PCMemTest
+- Sync with kernel 5.17
+- Sync with kernel 5.18
+
+Version 2.85 - 2 February 2022 by Thierry Vignaud
+
+- Sync with kernel 5.16
+
+Version 2.84 - 6 January 2022 by Thierry Vignaud
+
+- Add missing 'genet' driver
+- Fix installing unicode.pf2
+- Fix warning & use the intended compression level
+- Include 'network-legacy' when using 'nfs' dracut module
+- sync with kernel 5.15
+
+Version 2.83 - 27 February 2021 by Thomas Backlund
+
+- re-enable Cauldron
+
+Version 2.82 - 14 February 2021 by Thomas Backlund
+
+- drop cauldron references
+
+Version 2.81 - 4 January 2021 by Thomas Backlund
+
+- recognize rtw89_pci driver
+
+Version 2.80 - 15 December 2020 by Thierry Vignaud
+
+- identify and include missing firmware for iwlwifi (mga#9541)
+- include amd_sfh HID driver
+
+Version 2.79 - 4 December 2020 by Thierry Vignaud
+
+- sync with kernel 5.10
+
+Version 2.78 - 2 December 2020 by Martin Whitaker
+
+- include michael_mic, needed for TKIP on older wireless devices
+- include more rtw88_*
+
+Version 2.77 - 30 November 2020 by Martin Whitaker
+
+- include lib80211_crypt_*, needed by some wireless devices (mga#9541)
+
+Version 2.76 - 28 November 2020 by Martin Whitaker
+
+- include ccm for WPA2
+
+Version 2.75 - 5 November 2020 by Martin Whitaker
+
+- use pcmemtest instead of memtest86+ (mga#25232)
+- add memory test to UEFI boot menu
+
+Version 2.74 - 14 September 2020 by Thierry Vignaud
+
+- sync with kernel 5.9
+
+Version 2.73 - 19 August 2020 by Thierry Vignaud
+
+- sync with kernel 5.8
+
+Version 2.72 - 28 June 2020 by Thierry Vignaud
+
+- sync with kernel 5.6/5.7
+
+Version 2.71 - 20 March 2020 by Thierry Vignaud
+
+- include amd-rng intel-rng
+
+Version 2.70 - 18 March 2020 by Thierry Vignaud
+
+- include crc32_generic for f2fs
+- include more platform/x86 drivers
+- switch from xz to zstd compression (faster decompression)
+- sync with kernel 5.5
+
+Version 2.69 - 22 December 2019 by Thomas Backlund
+
+- sync with kernel 5.4
+
+Version 2.68 - 9 October 2019 by Thierry Vignaud
+
+- sync with kernel 5.3
+
+Version 2.67 - 30 June 2019 by Thomas Backlund
+
+- Switch to Mageia 8 (Cauldron)
+
+Version 2.66 - 17 June 2019 by Thomas Backlund
+
+- include 8821ce (mga#24605)
+
+Version 2.65 - 7 June 2019 by Thomas Backlund
+
+- drop '(Cauldron)' references
+
+Version 2.64 - 5 June 2019 by Martin Whitaker
+
+- add chromeos_laptop (mga#24891)
+
+Version 2.63 - 1 June 2019 by Martin Whitaker
+
+- add cyapatp (mga#24891)
+
+Version 2.62 - 27 May 2019 by Martin Whitaker
+
+- add intel-lpss* (mga#20327)
+
+Version 2.61 - 26 May 2019 by Martin Whitaker
+
+- add elan_i2c (mga#20327)
+
+Version 2.60 - 11 May 2019 by Thierry Vignaud
+
+- add AMD PCIe MP2 I2C detection
+
+Version 2.59 - 3 May 2019 by Thierry Vignaud
+
+- sync with kernel 5.1
+
+Version 2.58 - 8 April 2019 by Martin Whitaker
+
+- include modules needed by cryptsetup (mga#24638)
+
+Version 2.57 - 18 March 2019 by Thierry Vignaud
+
+- include i2c_algo_bit (mga#20327)
+
+Version 2.56 - 8 March 2019 by Thierry Vignaud
+
+- do not include hyperv_fb (mga#17711)
+- sync with kernel 5.0
+
+Version 2.55 - 30 November 2018 by Thierry Vignaud
+
+- include NFS tools (support NFSv4, ...)
+
+Version 2.54 - 17 November 2018 by Martin Whitaker
+
+- list_modules: don't include vboxvideo (mga#23467)
+
+Version 2.53 - 15 November 2018 by Thierry Vignaud
+
+- sync with kernel 4.1[89]
+
+Version 2.52 - 25 July 2018 by Thomas Backlund
+
+- add missing smartpqi driver (mga#23305)
+
+Version 2.51 - 2 July 2018 by Thomas Backlund
+
+- add missing Mellanox drivers (mga#23263)
+
+Version 2.50 - 22 June 2018 by Thierry Vignaud
+
+- list_modules: add dm-cache + deps (mga#22946)
+- sync with kernel 4.1[5-7]
+
+Version 2.49 - 10 February 2018 by Thierry Vignaud
+
+- further sync with kernel 4.14
+
+Version 2.48 - 19 January 2018 by Thomas Backlund
+
+- sync with kernel 4.14
+
+Version 2.47 - 22 July 2017 by Thomas Backlund
+
+- switch UEFI menu to Mageia 7 (Cauldron)
+
+Version 2.46 - 23 June 2017 by Martin Whitaker
+
+- change default screen resolution to 1024x768 (mga#20624)
+
+Version 2.45 - 22 June 2017 by Thierry Vignaud
+
+- include 8812au (mga#21043)
+
+Version 2.44 - 26 April 2017 by Thomas Backlund
+
+- add missing unicode.pf2 in /EFI/BOOT/fonts/ (mga#19468)
+
+Version 2.43 - 25 February 2017 by Thierry Vignaud
+
+- sync with kernel-4.8
+
+Version 2.42 - 4 February 2017 by Thomas Backlund
+
+- dosfstools 4.1 does not require 63 sector layout anymore
+ on filesystems less than 512MB
+
+Version 2.41 - 6 January 2017 by Thomas Backlund
+
+- disable audit logging as it floods the logs
+- sync with kernel-4.9
+
+Version 2.40 - 22 December 2016 by Thomas Backlund
+
+- fix background theme image name (mga#19468)
+- try to dereference symbolic links in order to fix image size
+ for FAT32 efiboot.img (mga#19323)
+- copy efiboot.img from boot.iso to toplevel isolinux/ so it can be
+ re-used with CI and live isos
+
+Version 2.39 - 8 September 2016 by Thierry Vignaud
+
+- fix colors in boot.iso's first screen (mga#18316)
+
+Version 2.38 - 8 July 2016 by Thierry Vignaud
+
+- include virtio-console
+
+Version 2.37 - 5 July 2016 by Thierry Vignaud
+
+- sync with kernel-4.7
+
+Version 2.36 - 30 June 2016 by Thierry Vignaud
+
+- include some missing wireless drivers (mga#16768)
+
+Version 2.35 - 20 May 2016 by Thomas Backlund
+
+- add sha512 sums for images
+- typo fix (mga#18492)
+
+Version 2.34 - 10 May 2016 by Thomas Backlund
+
+- adjust image creation for new dosfstools 4 using 63 cylinders everywhere
+- let mkdosfs create the image file, and drop usage of dd
+- revert "back to arch dependant isolinux.bin (mga#17771)"
+
+Version 2.33 - 26 Apr 2016 by Thierry Vignaud
+
+- sync with kernel-4.6
+
+Version 2.32 - 21 Feb 2016 by Anne Nicolas
+
+- back to arch dependant isolinux.bin (mga#17771)
+
+Version 2.31 - 10 Jan 2016 by Thomas Backlund
+
+- psmouse is now modular, so add it to list_modules.pm (mga#17470)
+
+Version 2.30 - 22 Dec 2015 by Thierry Vignaud
+
+- sync with kernel-4.4
+
+Version 2.29 - 4 Dec 2015 by Thierry Vignaud
+
+- sync with kernel-4.3
+
+Version 2.28 - 27 Aug 2015 by Thierry Vignaud
+
+- sync with kernel-4.1
+
+Version 2.27 - 13 Jul 2015 by Thomas Backlund
+
+- update efi menus for mga6 (cauldron)
+
+Version 2.26 - 22 May 2015 by Thomas Backlund
+
+- use xorriso for proper efi metadata
+- generate proper efi isohybrid
+
+Version 2.25 - 9 May 2015 by Thomas Backlund
+
+- update UEFI menu
+
+Version 2.24 - 8 May 2015 by Thierry Vignaud
+
+- include r8723bs (mga#15874)
+
+Version 2.23 - 4 May 2015 by Anne Nicolas
+
+- add noiswmd to all entries of isolinux.cfg
+
+Version 2.22 - 13 April 2015 by Thierry Vignaud
+
+- honor BOOT_AUTOMATIC_METHOD env var for UEFI too
+- reduce timeout when using BOOT_AUTOMATIC_METHOD env var
+
+Version 2.21 - 7 April 2015 by Thomas Backlund
+
+- fix finding grub legacy files for hd_grub generation
+- syslinux needs more space on all.img
+
+Version 2.20 - 7 April 2015 by Thomas Backlund
+
+- drop nonexistant linuxefi grub2-efi module
+
+Version 2.19 - 7 April 2015 by Thomas Backlund
+
+- create efi loader at build time
+
+Version 2.18 - 6 April 2015 by Anne Nicolas
+
+- use noiswmd as default boot option (mga#11105)
+
+Version 2.17 - 17 March 2015 by Thierry Vignaud
+
+- include virtio_rng
+
+Version 2.16 - 28 January 2015 by Thierry Vignaud
+
+- sync with kernel-3.19
+
+Version 2.15 - 20 December 2014 by Thierry Vignaud
+
+- sync with kernel-3.18 (mga#14799)
+
+Version 2.14 - 20 December 2014 by Thierry Vignaud
+
+- include new 3.18 USB host drivers (mga#14799)
+
+Version 2.13 - 16 December 2014 by Erwan Velu
+
+- make_boot_img: Avoid gfxboot install string for chain.c32
+- make_boot_img: Using chain.c32 instead of localboot
+
+Version 2.12 - 12 December 2014 by Thierry Vignaud
+
+- include hv_balloon & hyperv_fb
+- include virtio_balloon & vmw_balloon as well
+
+Version 2.11 - 31 August 2014 by Thierry Vignaud
+
+- sync with kernel-3.17
+
+Version 2.10 - 22 August 2014 by Thierry Vignaud
+
+- include paravirtual network driver for hyper-v
+
+Version 2.9 - 6 August 2014 by Thierry Vignaud
+
+- sync with kernel-3.16
+
+Version 2.8 - 15 June 2014 by Thierry Vignaud
+
+- include acpi-cpufreq
+- sync with kernel-3.15
+
+Version 2.7 - 28 April 2014 by Thierry Vignaud
+
+- sync with kernel-3.14
+
+Version 2.6 - 16 February 2014 by Thierry Vignaud
+
+- sync with kernel-3.13
+
+Version 2.5 - 24 January 2014 by Colin Guthrie
+
+- Double syslinux overhead to 256. mga#11795
+
+Version 2.4 - 15 December 2013 by Anne Nicolas
+
+- remove buggy control caracters (#11602)
+- use audit=0 in rescue isolinux config to allow systemd-nspawn to work smoothly
+
+Version 2.3 - 2 December 2013 by Thierry Vignaud
+
+- include "sdhci-acpi" for eMMC (mga#11812)
+
+Version 2.2 - 13 November 2013 by Colin Guthrie
+
+- pass the modules we want in modules.alias, but not in the initrd through to
+ dracut via an environment variable
+- add BOOT_AUTOMATIC_METHOD to inject command line params into boot.iso syslinux
+
+Version 2.1 - 5 November 2013 by Colin Guthrie
+
+- revert back to static per-arch isolinux.cfg files
+
+Version 2.00 - 2 November 2013 by Thomas Backlund
+
+- ensure initrd is created with 644 perms (normally 600 for security reasons)
+- fix 32-bit isolinux wrapper (s/i586/i386)
+
+Version 1.95 - 2 November 2013 by Colin Guthrie
+
+- omit the dracut network module now that we include our own networking kernel modules
+- add a dracut.conf rather than adding lots of command line options
+- ensure initrd is xz compressed
+- include network modules as specified by kernel/list_modules.pm
+
+Version 1.94 - 29 October 2013 by Colin Guthrie
+
+- adapt to a dracut based stage1
+
+Version 1.93 - 14 October 2013 by Thierry Vignaud
+
+- sync with kernel-3.12
+
+Version 1.92 - 10 October 2013 by Thierry Vignaud
+
+- sync with kernel-3.11 (might fix mga#11377)
+
+Version 1.91 - 10 October 2013 by Thierry Vignaud
+
+- partial sync with kernel-3.11 regarding USB: include
+ ehci-tegra, ohci-pci ohci-platform fusbh200-hcd & usb_common
+ (might fix mga#11377)
+
+Version 1.90 - 16 July 2013 by Thierry Vignaud
+
+- sync with kernel-3.10
+
+Version 1.89 - 2 June 2013 by Thomas Backlund
+
+- fix URL in help message (mga#9772)
+- sync with kernel-3.9
+
+Version 1.88.1 - 2 March 2013 by Thomas Backlund
+
+- update list_modules for xen dom0 and virtio support (#9242)
+
+Version 1.88 - 21 January 2013 by Thomas Backlund
+
+- update usb host list for kernel 3.8
+
+Version 1.87 - 16 January 2013 by Thomas Backlund
+
+- include new kernel 3.8 drivers:
+ o phy: at91_ether, macb, mvmdio
+ o usb: cdc_mbim
+ o wifi: ar5523, rtl8723ae
+ o scsi: mpt3sas
+ o raid; csiostor
+ o hid: hid-icade, hid-roccat-lua
+ o sound: snd-scs1x
+- do not include firmware loader anywhere
+
+Version 1.86 - 10 December 2012 by Thierry Vignaud
+
+- include new drivers:
+ o input: hid-sensor-hub
+ o PHY: at803x
+
+Version 1.85 - 21 October 2012 by Thomas Backlund
+
+- add alx ethernet module (#7853)
+
+Version 1.84 - 18 October 2012 by Thierry Vignaud
+
+- include new drivers:
+ o HID: hid-roccat-savu, hid-holtek-kbd, hid-lenovo-tpkbd
+ o NFS: nfsv[2-4]
+ o PHY: bcm87xx
+ o WIFI: iwldvm
+- no more need to fix modules.order
+
+Version 1.83 - 17 September 2012 by Thierry Vignaud
+
+- fix modules.order so that cciss got detected (mga#5833)
+- use new hotplug (mga#6323)
+
+Version 1.82 - 12 September 2012 by Thierry Vignaud
+
+- include overlayfs module instead of unionfs
+
+Version 1.81 - 4 September 2012 by Thierry Vignaud
+
+- include new drivers:
+ o crypto: aesni_intel
+ o input: hid-aureal synaptics_usb
+ o wifi: qmi_wwan, mwifiex_usb
+- remove tokenring drivers
+
+Version 1.80 - 3 September 2012 by Thierry Vignaud
+
+- fix creating some directories when not in debug mode
+
+Version 1.79 - 3 September 2012 by Thierry Vignaud
+
+- do not include ka stuff unlesse BUILD_KA is set
+- precreate /sys
+
+Version 1.78 - 31 August 2012 by Thierry Vignaud
+
+- include new 'hid-generic' driver (mga#7130, #7248)
+
+Version 1.77 - 5 June 2012 by Thierry Vignaud
+
+- do not include "screen" terminfo anymore
+
+Version 1.76 - 1 June 2012 by Thierry Vignaud
+
+- enable to do a debug build in the BS
+- include new drivers:
+ o HID: hid-saitek, hid-tivo
+ o PHY: amd
+ o virt: hv_storvsc, virtio_scsi & xen-netfront
+ o WIFI: ath6kl_usb
+
+Version 1.75 - 17 May 2012 by Thomas Backlund
+
+- add modules.order and modules.builtin in initrd
+
+Version 1.74 - 13 May 2012 by Thierry Vignaud
+
+- include "fuse" module (mga#5685)
+
+Version 1.73 - 10 May 2012 by Thomas Backlund
+
+- add all network phys
+
+Version 1.72 - 10 May 2012 by Thomas Backlund
+
+- add broadcom and libphy to get tg3 to work (#5567)
+
+Version 1.71 - 8 April 2012 by Thomas Backlund
+
+- make isohybrid start first partition on sector 1 (mga #5036)
+
+Version 1.70 - 5 April 2012 by Thierry Vignaud
+
+- include "screen" terminfo (mga#4894)
+
+Version 1.69 - 13 March 2012 by Thierry Vignaud
+
+- include more HID drivers (mga#4905)
+
+Version 1.68 - 12 March 2012 by Thierry Vignaud
+
+- include more USB host controller modules (mga#4905)
+
+Version 1.67 - 24 February 2012 by Thierry Vignaud
+
+- include 'cryptd' & 'xts' modules for new crypted fs (mga#3749)
+
+Version 1.66 - 23 February 2012 by Thierry Vignaud
+
+- include more HID drivers (mga#4129)
+
+Version 1.65 - 15 February 2012 by Thierry Vignaud
+
+- do not recompress modules as XZ since kernel now compress
+ them with XZ
+
+Version 1.64 - 9 February 2012 by Anne Nicolas
+
+- fix isolinux.bin copy due to syslinux 4
+
+Version 1.63 - 27 January 2012 by Thierry Vignaud
+
+- include dkms-modules.alias too (mga#1405)
+
+Version 1.62 - 20 January 2012 by Thierry Vignaud
+
+- smaller stage1:
+ o compress initrd with XZ instead of gzip
+ o recompress gz modules as XZ
+
+Version 1.61 - 19 January 2012 by Thierry Vignaud
+
+- smaller stage1: remove busybox if not in debug mode
+
+Version 1.60 - 5 January 2012 by Thierry Vignaud
+
+- use upstream pppd & pppoe instead of a 10 years old snapshot
+
+Version 1.59 - 29 December 2011 by Thomas Backlund
+
+- sync with kernel-3.2.0-0.rc7.1.mga2
+ * add wireless drivers:
+ at76c50x_usb, ath9k_htc, brcmfmac, i2400m_usb, orinoco_usb,
+ rtl8187, usb8xxx
+ * add usb network adapters:
+ dm9601, smsc75xx, smsc95xx
+ * add network drivers:
+ cxgb4, myri10ge
+
+Version 1.58 - 24 October 2011 by Thierry Vignaud
+
+- include nilfs2 module (#3807)
+
+Version 1.57 - 24 October 2011 by Thomas Backlund
+
+- sync with kernel-3.1.0-1.mga2
+ * add hid devices:
+ hid-keytouch, hid-uclogic
+ * add sas/raid driver:
+ isci
+ * add sound devices:
+ snd-lola, snd-firewire-speakers snd-isight, snd-usb-6fire
+ * add usb/storage:
+ ums-eneub6250, ums-realtek
+ * add wireless drivers:
+ brcmsmac, rtl8187se, rtusb, rtl8192se, rtl8192cu, rtl8192de
+
+Version 1.56 - 06 October 2011 by Thierry Vignaud
+
+- fix isolinux.bin path with new syslinux
+- use gfxboot.c32 as graphical boot loader
+
+Version 1.55 - 22 August 2011 by Thierry Vignaud
+
+- include microcode
+
+Version 1.54 - 20 May 2011 by Olivier Blin
+
+- add ums-* (USB mass storage) modules in disk/usb category
+- merge mkdosfs patch from packages SVN
+ (to replace mkdosfs-with-dir which requires obsolete perl-suid)
+
+Version 1.53 - 5 May 2011 by Anne Nicolas
+
+- make boot.iso isohybrid
+
+Version 1.52 - 25 Apr 2011, by Thomas Backlund
+
+- add sdhci-pci to card-reader list
+- add xhci-hcd (usb3 support)
+
+Version 1.51 - 2 Apr 2011, by Thomas Backlund
+
+- update modules list needed for md raid456 and dm-raid 4/5/6 target
+- compress tarball with xz
+
+Version 1.50 - 13 Oct 2010, by Thierry Vignaud
+
+- 2011.0 build
+
+Version 1.49 - 27 May 2010, by Olivier Blin
+
+- disable restore option
+
+Version 1.48 - 28 February 2010, by Thierry Vignaud
+
+- handle new SCSI driver: mpt2sas (#57833)
+
+Version 1.47 - 4 January 2010, by Pascal Terjan
+
+- use /bin/busybox.static
+
+Version 1.46 - 12 October 2009, by Olivier Blin
+
+- properly fix FileHandle issue
+
+Version 1.45 - 12 October 2009, by Thierry Vignaud
+
+- fix firmware again (#53220)
+
+Version 1.44 - 6 October 2009, by Thierry Vignaud
+
+- do not do anything anymore with bootsplash.cfg
+
+Version 1.43 - 22 September 2009, by Olivier Blin
+
+- fix firmware loading (#49195)
+- revert squashfs-lzma and sqlzma inclusion (this breaks install)
+- list asix module in network/usb group
+
+Version 1.42 - 9 September 2009, by Pascal Terjan
+
+- include squashfs-lzma and sqlzma kernel modules in all.rdz
+- add /dev/ptmx (for screen to work)
+- drop duplicated code including busybox, ka version is better than
+ the one of DEBUGSTAGE1
+- embed all firmwares that are needed by the modules we embed
+
+Version 1.40 - 14 April 2009, by Pascal Terjan
+
+- handle firmware loading in stage2 too
+
+Version 1.39 - 6 April 2009, by Pascal Terjan
+
+- fix firmware helper generation
+
+Version 1.38 - 3 April 2009, by Thierry Vignaud
+
+- include firmwares for most common network cards (#49195)
+- pass restore instead of --restore option
+- add a userspace helper to load firmwares
+
+Version 1.37 - 3 April 2009, by Pascal Terjan
+
+- fix crypto module names when arch is not i586 (#46814)
+
+Version 1.36 - 9 March 2009, by Thierry Vignaud
+
+- add /dev/random and /dev/urandom (for curl)
+
+Version 1.35 - 18 February 2009, by Thierry Vignaud
+
+- pass --restore instead of restore option
+
+Version 1.34 - 10 February 2009, by Thierry Vignaud
+
+- enable to select restore option
+
+Version 1.33 - 23 January 2009, by Christophe Fergeau
+
+- adjust to new syslinux 3.72 gfxboot COM32 module
+
+Version 1.32 - 15 January 2008, by Thierry Vignaud
+
+- include:
+ o network drivers: enic, et131x, qlge, smsc95xx, sxg & w35und
+ o IDE driver: tx4939ide
+- ext4dev was renamed as ext4 in 2.6.29-rc1 (keep ext4dev for older kernels)
+
+Version 1.31 - 19 September 2008, by Pascal "pixel" Rigaux
+
+- add modules "sha256_generic cbc amd768_rng" for crypsetup/LUKS
+
+Version 1.30 - 12 June 2008, by Olivier "blino" Blin
+
+- handle ide-cd being renamed as ide-cd_mod
+
+Version 1.29 - 2 April 2008, by Olivier "blino" Blin
+
+- use "Mdv Boot ISO" as label for boot.iso
+
+Version 1.28 - 12 February 2008, by Olivier "blino" Blin
+
+- restore full modules.alias (depmod keeps only available modules in
+ modules.alias, but we want them all)
+
+Version 1.27 - 12 February 2008, by Olivier "blino" Blin
+
+- add modules in /modules/`uname -r` and use depmod to build
+ modules.dep and modules.alias
+- remove symlinks in toplevel /modules
+- fix custom bootsplash theme support
+
+Version 1.26 - 21 December 2007, by Olivier "blino" Blin
+
+- rebuild with list_modules to handle atl2 ethernet driver
+- fix live stage2 support
+
+Version 1.25 - 12 December 2007, by Pascal "Pixel" Rigaux
+
+- rebuild for new list_modules
+
+Version 1.24 - 15 October 2007, by Olivier "blino" Blin
+
+- rebuild for new list_modules (to include ipw3945)
+
+Version 1.23 - 17 September 2007, by Pascal "Pixel" Rigaux
+
+- add dm-zero for dmraid
+
+Version 1.22 - 11 September 2007, by Olivier "blino" Blin
+
+- add /lib/module-init-tools/ldetect-lst-modules.alias
+
+Version 1.21 - 7 September 2007, by Olivier "blino" Blin
+
+- add jmicron driver
+- provide /usr/share/ldetect-lst/*-modules.alias in installer images
+
+Version 1.20 - 31 August 2007, by Pascal "Pixel" Rigaux
+
+- dynamically determine the size of all.img
+
+Version 1.19 - 27 August 2007, by Olivier "blino" Blin
+
+- add raid456 module
+
+Version 1.18 - 21 August 2007, by Olivier "blino" Blin
+
+- release with latest scripts from drakx/kernel
+
+Version 1.17 - 21 August 2007, by Olivier "blino" Blin
+
+- keep modules without dependencies in modules.dep
+
+Version 1.16 - 21 August 2007, by Olivier "blino" Blin
+
+- build with new list_modules
+
+Version 1.15 - 15 August 2007, by Olivier "blino" Blin
+
+- add pcitable, usbtable and pci.ids
+- fix typos affecting mtab and /var/run creation
+- add a /lib/modules symlink
+
+Version 1.14 - 9 August 2007, by Pascal "Pixel" Rigaux
+
+- update_kernel: now require install rpms or rpm files as arguments
+ (this allow specifying precisely which installed kernels are used)
+
+Version 1.13 - 8 August 2007, by Pascal "Pixel" Rigaux
+
+- add modules.alias in /modules/<version> as required by stage2 with new libldetect
+- add unionfs module
+- revert isolinux starting install by default instead of booting on harddrive (#32040)
+
+Version 1.12 - 17 July 2007, by Olivier "blino" Blin
+
+- add ide-disk module
+
+Version 1.11 - 29 June 2007, by Pascal "Pixel" Rigaux
+
+- increase all.img size to 10.5MB
+- default to theme Mandriva-Free, and allow setting another one through THEME
+ environment variable
+
+Version 1.9 - 3 April 2007, by Pascal "Pixel" Rigaux
+
+- include mmc_block for card readers
+
+Version 1.8 - 23 March 2007, by Pascal "Pixel" Rigaux
+
+- restore F1 & F2 in boot.iso (#29766)
+
+Version 1.6 - 14 March 2007, by Olivier Blin
+
+- add tifm modules (Titi)
+
+Version 1.5 - 9 March 2007, by Pascal "Pixel" Rigaux
+
+- copy isolinux images for x86_64 as well
+
+Version 1.4 - 8 March 2007, by Pascal "Pixel" Rigaux
+
+- restore vga= and automatic= default options.
+ also restore noacpi, alt0, vgalo, vgahi, text entries
+ (all this is needed when gfxboot is not working or not there)
+
+Version 1.3 - 16 February 2007, by Pascal "Pixel" Rigaux
+
+- rely on gfxboot for options (vga=, automatic=...)
+- really use memtest instead of memtest.bin
+ (with file name "memtest.bin" it fails with error 8000, with "memtest" it works)
+ (it seems to be an ancient bug as far as google says)
diff --git a/images/advanced.msg.xml b/images/advanced.msg.xml
new file mode 100644
index 000000000..9f0bb1818
--- /dev/null
+++ b/images/advanced.msg.xml
@@ -0,0 +1,17 @@
+<document>
+The following install types may be used instead of previously notified :
+ o <white>vgahi</white> for high resolution graphical installation.
+ o <white>vga16</white> for 640x480 in 16 colors graphical installation.
+
+The following options may be added on the command line :
+ o <white>readonly=1</white> to disable editing disk partitions.
+ o <white>display=ackbar:0</white> to export display to <blue>ackbar</blue> machine screen 0 during
+ installation (only for network installations).
+ o <white>noauto</white> to disable automatic detection.
+ o <white>nodmraid</white> to disable BIOS software RAID.
+ o <white>updatemodules</white> to use the special update floppy containing modules updates.
+ o <white>patch</white> to use a patch from the floppy (file named <blue>patch.pl</blue>).
+ o <white>auto_install=floppy</white> to enable auto_install using <blue>auto_inst.cfg</blue> file on the
+ floppy.
+ o <white>memtest</white> to test your computer RAM for faulty memory modules.
+</document>
diff --git a/images/dracut.conf b/images/dracut.conf
new file mode 100644
index 000000000..88efd9a14
--- /dev/null
+++ b/images/dracut.conf
@@ -0,0 +1,4 @@
+hostonly=no
+nofscks=yes
+omit_dracutmodules+=" dash modsign systemd plymouth btrfs crypt lvm cifs resume rootfs-block biosdevname usrmount shutdown "
+compress="zstd -14"
diff --git a/images/grub2.config b/images/grub2.config
new file mode 100644
index 000000000..545722e00
--- /dev/null
+++ b/images/grub2.config
@@ -0,0 +1,33 @@
+
+insmod efi_gop
+insmod efi_uga
+insmod video_bochs
+insmod video_cirrus
+insmod video_fb
+
+insmod font
+if loadfont ${prefix}/fonts/unicode.pf2
+then
+ insmod gfxterm
+ set gfxmode=1024x768,800x600,640x480
+ set gfxpayload=keep
+ terminal_output gfxterm
+fi
+
+insmod png
+set theme=($root)/EFI/BOOT/themes/maggy/theme.txt
+export theme
+
+set timeout=10
+
+search --no-floppy --set=root -l 'Mageia-10-x86_64-netinstall'
+
+menuentry 'Start Mageia 10 (Cauldron) Install' {
+ linux /isolinux/x86_64/vmlinuz audit=0 quiet noiswmd
+ initrd /isolinux/x86_64/all.rdz
+}
+
+menuentry 'Start Mageia 10 (Cauldron) Rescue' {
+ linux /isolinux/x86_64/vmlinuz audit=0 noiswmd rescue
+ initrd /isolinux/x86_64/all.rdz
+}
diff --git a/images/grub2.theme b/images/grub2.theme
new file mode 100644
index 000000000..ff6c463bb
--- /dev/null
+++ b/images/grub2.theme
@@ -0,0 +1,34 @@
+# GRUB gfxmenu theme "maggy".
+
+title-text: "Mageia 10 (Cauldron) UEFI"
+title-font: "MageiaLogo Bold 28"
+title-color: "white"
+
+desktop-image: "grub2-mageia-default.png"
+terminal-font: "Unknown Regular 16"
+
++ boot_menu {
+ left = 20%
+ top = 15%
+ width = 60%
+ height = 55%
+ item_font = "MageiaLogo Regular 20"
+ selected_item_font = "MageiaLogo Bold 20"
+ color_normal="black/black"
+ item_color = "#2397d4"
+ selected_item_color = "white"
+ item_height = 24
+ item_spacing = 10
+}
+
++ progress_bar
+{
+ id = "__timeout__"
+ left = 20%
+ top = 65%
+ width = 60%
+ height = 1%
+ fg_color = "lightskyblue"
+ bg_color = "dodgerblue"
+ border_color = "midnightblue"
+}
diff --git a/images/help.msg.xml b/images/help.msg.xml
new file mode 100644
index 000000000..358dcf248
--- /dev/null
+++ b/images/help.msg.xml
@@ -0,0 +1,21 @@
+<document>
+ <green>Welcome to <blue>Mageia</blue> install help</green>
+
+In most cases, the best way to get started is to simply press the <yellow>&lt;Enter&gt;</yellow> key.
+If you experience problems with standard install, try one of the following
+install types (type the highlighted text and press <yellow>&lt;Enter&gt;</yellow>):
+
+ o <white>text</white> for text installation instead of the graphical one.
+ o <white>linux</white> for standard graphical installation at normal resolution.
+ o <white>linux vga=785</white> for low resolution graphical installation.
+
+
+To repair an already installed system type <white>rescue</white> followed
+by <yellow>&lt;Enter&gt;</yellow>.
+
+You can also pass some <white>&lt;specific kernel options&gt;</white> to the Linux kernel.
+For example, try <white>linux noapic</white> if your system has trouble operating
+your network adapter correctly.
+<red>NOTE</red>: You cannot pass options to modules (SCSI, ethernet card) or devices
+such as CD-ROM drives in this way. If you need to do so, use noauto mode.
+</document>
diff --git a/images/make_boot_img b/images/make_boot_img
new file mode 100755
index 000000000..31af50744
--- /dev/null
+++ b/images/make_boot_img
@@ -0,0 +1,431 @@
+#!/usr/bin/perl
+
+use Config;
+use FileHandle;
+use MDK::Common;
+use POSIX;
+use Carp;
+
+Config->import;
+my ($arch) = $Config{archname} =~ /(.*?)-/;
+
+my $default_append = 'audit=0';
+my $default_acpi = '';
+my $default_vga = "vga=791 splash quiet";
+my $default_iswmd = "noiswmd";
+my $timeout = $ENV{BOOT_AUTOMATIC_METHOD} ? 5 : 150;
+my $isolinux_bin = '/usr/lib/syslinux/isolinux.bin';
+
+my $tmp_mnt = '/tmp/drakx_mnt';
+
+if ($>) {
+ $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
+}
+
+sub __ { print @_, "\n"; system(@_) }
+sub _ { __ @_; $? and croak "'" . join(' ', @_) . "failed ($?)\n" }
+
+sub mke2fs {
+ my ($f) = @_;
+ _ "/sbin/mke2fs -q -m 0 -F -s 1 $f";
+ _ "/sbin/tune2fs -c 0 -U clear -T 1970010101 $f";
+}
+
+_ "mkdir -p $tmp_mnt";
+mkdir "images";
+
+my @kernels = chomp_(cat_('all.kernels/.list'));
+
+my @all_images = (
+ if_($arch =~ /i.86|x86_64/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'),
+ );
+
+my @images = @ARGV ? @ARGV : map { "images/$_" } @all_images;
+
+foreach my $img (@images) {
+ my ($type, undef, $extension) = $img =~ m!([^/]*)(64)?\.([^.]*)$!;
+
+ if ($img =~ /hd_grub/) {
+ hd_grub($img);
+ } elsif ($img =~ /isolinux/) {
+ isolinux(\@kernels);
+
+ if (my ($tftpboot) = grep { -e $_ } qw(/tftpboot /var/lib/tftpboot)) {
+ system("/bin/cp -f isolinux/alt0/* $tftpboot");
+ }
+ } elsif ($img =~ /boot.iso/) {
+ boot_iso($img, \@kernels);
+ } elsif ($extension eq 'rdz') {
+ initrd("$img-$_", $_) foreach @kernels;
+ } elsif ($extension eq 'img') {
+ print STDERR "calling boot_img_$arch for $img\n";
+ $::{"boot_img_$arch"}->($type, "$img-$_", $_, "all.kernels/$_/vmlinuz") foreach @kernels;
+ rename("$img-$kernels[0]", $img);
+ } else {
+ die "unknown image $img";
+ }
+}
+
+# The ascii 15 / Shift In / ^O character before the 0 should not be removed
+sub syslinux_color {
+ chr(15) . "0" . {
+ default => '7',
+ blue => '9',
+ green => 'a',
+ red => 'c',
+ yellow => 'e',
+ white => 'f',
+ }->{$_[0]} || die "unknown color $_[0]\n";
+}
+
+sub syslinux_msg {
+ my ($msg_xml_file, @more_text) = @_;
+
+ require XML::Parser;
+
+ sub xml_tree2syslinux {
+ my ($current_color, $tree) = @_;
+ my (undef, @l) = @$tree;
+ join('', map {
+ my ($type, $val) = @$_;
+ if ($type eq '0') {
+ $val;
+ } else {
+ syslinux_color($type) . xml_tree2syslinux($type, $val) . syslinux_color($current_color);
+ }
+ } group_by2(@l));
+ }
+
+ print "parsing $msg_xml_file\n";
+ my $tree = XML::Parser->new(Style => 'Tree')->parsefile($msg_xml_file);
+ $tree->[0] eq 'document' or die "bad file $msg_xml_file\n";
+ my $text = xml_tree2syslinux('default', $tree->[1]);
+
+ " "
+ . $text . join('', @more_text)
+ . "\n" . syslinux_color('red') . "[F1-Help] [F2-Advanced Help]" . syslinux_color('default') . "\n";
+}
+
+sub syslinux_cfg {
+ my ($entries, $b_gfxboot) = @_;
+ my $default = 'linux';
+
+ my $header = <<EOF;
+default $default
+prompt 1
+timeout $timeout
+display help.msg
+implicit 1
+EOF
+ my $header_gfxboot = <<EOF;
+ui gfxboot.c32 bootlogo
+label harddisk
+ com32 chain.c32 hd0 exit
+EOF
+ my $header_non_gfxboot = <<EOF;
+F1 help.msg
+F2 advanced.msg
+F3 boot.msg
+EOF
+
+ my @l = map {
+ $_->{append} =~ s/\s+/ /g;
+ "label $_->{label}\n" .
+ " kernel $_->{kernel}\n" .
+ ($_->{initrd} ? " append initrd=$_->{initrd} $_->{append}\n" : '');
+ } @$entries;
+
+ $header . ($b_gfxboot ? $header_gfxboot : $header_non_gfxboot) . join('', @l);
+}
+
+sub trim {
+ return $_[0] =~ s/^\s+|\s+$//rg;
+}
+
+sub initrd {
+ my ($img, $kernel) = @_;
+ my $stage1_binary = $ENV{USE_LOCAL_STAGE1} ? trim(`realpath ../mdk-stage1/stage1`) : "";
+ my $init_binary = $ENV{USE_LOCAL_STAGE1} ? trim(`realpath ../mdk-stage1/init`) : "";
+ my $modules = " mgainstaller network-legacy nfs ";
+ my $drivers = `perl ../kernel/modules.pl list_needed_modules $kernel | xargs`;
+ my $fakedrivers = `perl ../kernel/modules.pl list_fake_modules $kernel | xargs`;
+
+ if ($ENV{DEBUGSTAGE1} || $ENV{BUILD_KA}) {
+ $modules="$modules busybox ";
+ }
+ $modules="$modules mgakadeploy " if $ENV{BUILD_KA};
+
+ my $extras = `perl ../kernel/modules.pl list_additional_firmware $kernel | xargs`;
+ chomp $extras;
+ my $install_extras = $extras ? "--install '$extras'" : "";
+
+ mkdir_p("build/dracut.conf.d");
+ # TODO if --nofscks and --no-hostonly are switched, dracut gives an error - fix or report upstream
+ __ "DRAKX_STAGE1_BINARY=$stage1_binary DRAKX_INIT_BINARY=$init_binary DRAKX_FAKE_MODULES='$fakedrivers' dracut --conf dracut.conf --confdir ./build/dracut.conf.d --add ' $modules ' --add-drivers ' $drivers ' $install_extras '$img' '$kernel'";
+ chmod(0644, $img);
+}
+
+
+sub entries_append {
+ my ($type) = @_;
+
+ my $automatic = $type =~ /cdrom/ ? 'automatic=method:cdrom ' : '';
+ $automatic .= 'changedisk ' if $type =~ /changedisk/;
+
+ my @simple_entries = (
+ linux => $default_vga,
+ vgalo => "vga=785",
+ vgahi => "vga=791",
+ text => "text",
+# patch => "patch $default_vga",
+ rescue => "audit=0 rescue",
+ );
+ my @entries = (
+ (map { $_->[0] => "$automatic$default_acpi $default_iswmd audit=0 $_->[1]" } group_by2(@simple_entries)),
+ noacpi => "$automatic$default_vga $default_iswmd audit=0 acpi=off",
+# restore => "$automatic$default_vga restore",
+ );
+
+ map { { label => $_->[0], append => join(' ', grep { $_ } $default_append, $_->[1]) } }
+ group_by2(@entries);
+}
+
+sub syslinux_cfg_all {
+ my ($type, $b_gfxboot) = @_;
+
+ syslinux_cfg([
+ (map {
+ { kernel => "$arch/vmlinuz", initrd => "$arch/all.rdz", %$_ };
+ } entries_append($type)),
+ (map_index {
+ { label => $arch, kernel => "$arch/vmlinuz", initrd => "$arch/all.rdz",
+ append => join(' ', grep { $_ } $default_append, $default_acpi, $default_vga, $default_iswmd) };
+ } @kernels),
+ ], $b_gfxboot);
+}
+sub remove_ending_zero {
+ my ($img) = @_;
+ _(q(perl -0777 -pi -e 's/\0+$//' ) . $img);
+}
+
+sub boot_img_i386 {
+ my ($type, $img, $kernel, $vmlinuz) = @_;
+
+ _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt;
+ _ "cat $vmlinuz > $tmp_mnt/vmlinuz";
+
+ output("$tmp_mnt/help.msg", syslinux_msg('help.msg.xml'));
+ output("$tmp_mnt/advanced.msg", syslinux_msg('advanced.msg.xml'));
+
+ (my $rdz = $img) =~ s/\.img/.rdz/;
+ initrd($rdz, $kernel);
+ my $short_type = substr($type, 0, 8);
+
+ output("$tmp_mnt/syslinux.cfg",
+ syslinux_cfg([ map {
+ { kernel => 'vmlinuz', initrd => "$short_type.rdz", %$_ };
+ } entries_append($type) ]));
+
+ _ "cp -f $rdz $tmp_mnt/$short_type.rdz";
+ unlink $rdz;
+
+ # mtools wants the image to be a power of 32.
+ my $syslinux_overhead = 32 * 16;
+ my $size = max(ceil(chomp_(`du -s -k $tmp_mnt`) / 32) * 32 + $syslinux_overhead, 1440);
+
+ _ "/sbin/mkdosfs -C $img $size";
+ _ "mcopy -i $img $tmp_mnt/* ::";
+ _ "syslinux $img";
+ _ "rm -rf $tmp_mnt";
+}
+
+# alias to x86 variant, slightly bigger with images though
+sub boot_img_x86_64 { &boot_img_i386 }
+
+sub VERSION {
+ my ($kernels) = @_;
+
+ map { "$_\n" }
+ $ENV{DISTRIB_DESCR},
+ scalar gmtime(),
+ '', @$kernels;
+}
+
+sub syslinux_all_files {
+ my ($dir, $kernels) = @_;
+
+ eval { rm_rf($dir) }; mkdir_p($dir);
+
+ @$kernels or die "syslinux_all_files: no kernel\n";
+
+ each_index {
+ mkdir "$dir/$arch", 0777;
+ _ "cp all.kernels/$_/vmlinuz $dir/$arch";
+ initrd("images/all.rdz-$_", $_);
+ rename("images/all.rdz-$_", "$dir/$arch/all.rdz");
+ } @$kernels;
+
+ output("$dir/help.msg", syslinux_msg('help.msg.xml'));
+ output("$dir/advanced.msg", syslinux_msg('advanced.msg.xml',
+ "\nYou can choose the following kernels :\n",
+ map_index { " o " . syslinux_color('white') . "alt$::i" . syslinux_color('default') . " is kernel $_\n" } @$kernels));
+}
+
+sub isolinux {
+ my ($kernels) = @_;
+
+ syslinux_all_files('isolinux', $kernels);
+
+ _ "cp $isolinux_bin isolinux/isolinux.bin";
+ _ "cp /usr/lib/syslinux/ifcpu.c32 isolinux/ifcpu.c32";
+ _ "cp /usr/lib/syslinux/ldlinux.c32 isolinux/ldlinux.c32";
+ _ "cp /usr/lib/syslinux/libcom32.c32 isolinux/libcom32.c32";
+ _ "cp /usr/lib/syslinux/libgpl.c32 isolinux/libgpl.c32";
+ _ "cp /usr/lib/syslinux/libmenu.c32 isolinux/libmenu.c32";
+ _ "cp /usr/lib/syslinux/libutil.c32 isolinux/libutil.c32";
+ _ "cp /usr/lib/syslinux/gfxboot.c32 isolinux/gfxboot.c32";
+ _ "cp /usr/lib/syslinux/chain.c32 isolinux/chain.c32";
+ output("isolinux/isolinux.cfg", syslinux_cfg_all('cdrom', 1));
+
+ xbox_stage1() if arch() =~ /i.86/;
+}
+
+sub xbox_stage1() {
+ my $xbox_kernel = find { /xbox/ } all('all.kernels') or return;
+
+ my $dir = 'isolinux/xbox';
+ eval { rm_rf($dir) }; mkdir_p($dir);
+
+ _ "cp all.kernels/$xbox_kernel/vmlinuz $dir";
+ initrd("images/all.rdz-$xbox_kernel", $xbox_kernel);
+ rename("images/all.rdz-$xbox_kernel", "$dir/initrd");
+
+ _ "cp /usr/share/cromwell/xromwell-installer.xbe $dir/default.xbe";
+ output("$dir/linuxboot.cfg", <<EOF);
+kernel $dir/vmlinuz
+initrd $dir/initrd
+append root=/dev/ram3 ramdisk_size=36000 automatic=method:cdrom
+EOF
+}
+
+sub boot_iso {
+ my ($iso, $kernels) = @_;
+
+ syslinux_all_files('.boot_iso/isolinux', $kernels);
+
+ output('.boot_iso/VERSION', VERSION($kernels));
+
+ # for the boot iso, use standard isolinux
+ _ "cp $isolinux_bin .boot_iso/isolinux/isolinux.bin";
+ _ "cp /usr/lib/syslinux/ifcpu.c32 .boot_iso/isolinux/ifcpu.c32";
+ _ "cp /usr/lib/syslinux/ldlinux.c32 .boot_iso/isolinux/ldlinux.c32";
+ _ "cp /usr/lib/syslinux/libcom32.c32 .boot_iso/isolinux/libcom32.c32";
+ _ "cp /usr/lib/syslinux/libgpl.c32 .boot_iso/isolinux/libgpl.c32";
+ _ "cp /usr/lib/syslinux/libmenu.c32 .boot_iso/isolinux/libmenu.c32";
+ _ "cp /usr/lib/syslinux/libutil.c32 .boot_iso/isolinux/libutil.c32";
+ _ "cp /usr/lib/syslinux/chain.c32 .boot_iso/isolinux/chain.c32";
+
+ my $with_gfxboot = 0;
+ _ "cp /usr/share/gfxboot/themes/Mageia/install/* .boot_iso/isolinux" if $with_gfxboot;
+# _ "cp /home/pixel/cooker/soft/theme/mandriva-gfxboot-theme/inst/* .boot_iso/isolinux" if $with_gfxboot;
+ #_ "cp /home/teuf/mdv/src/mandriva-gfxboot-theme/inst/* .boot_iso/isolinux" if $with_gfxboot;
+ _ "cp /usr/lib/syslinux/gfxboot.c32 .boot_iso/isolinux/gfxboot.c32" if $with_gfxboot;
+
+ output('.boot_iso/isolinux/isolinux.cfg', syslinux_cfg_all('', $with_gfxboot));
+
+ if ($ENV{BOOT_AUTOMATIC_METHOD}) {
+ _ "sed -i 's#\\(append .*\\)\\(splash quiet\\|rescue\\)\$#\\1\\2 automatic=$ENV{BOOT_AUTOMATIC_METHOD}#' .boot_iso/isolinux/isolinux.cfg";
+ }
+
+ my $arch = arch();
+ my $options = "-J -joliet-long -r -v -T -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table";
+ my $cmd = "xorriso -as mkisofs -U -A 'Mageia-$ENV{DISTRIB_VERSION}-$arch-netinstall' -V 'Mageia-$ENV{DISTRIB_VERSION}-$arch-netinstall' -volset 'Mageia-$ENV{DISTRIB_VERSION}-$arch' $options";
+ # create efi stuff on the fly
+ if ($arch =~ /x86_64/) {
+ _ "mkdir -p .boot_iso/EFI/BOOT/";
+ # create efi loader
+ my $efi_core = "configfile normal boot linux loadenv ls reboot search search_label";
+ my $efi_part_fs = "part_msdos part_gpt part_apple fat iso9660 udf";
+ my $efi_gfx = "gfxmenu gfxterm efi_gop efi_uga video video_bochs video_cirrus video_fb font png";
+ _ "/usr/bin/grub2-mkimage --prefix='/EFI/BOOT' -O x86_64-efi -o .boot_iso/EFI/BOOT/bootx64.efi $efi_core $efi_part_fs $efi_gfx";
+ _ "cp -f grub2.config .boot_iso/EFI/BOOT/grub.cfg";
+ if ($ENV{BOOT_AUTOMATIC_METHOD}) {
+ _ "sed -i 's#\\(linux .*\\)#\\1 automatic=$ENV{BOOT_AUTOMATIC_METHOD}#' .boot_iso/EFI/BOOT/grub.cfg";
+ _ "sed -i 's#timeout=[0-9]*#timeout=1#' .boot_iso/EFI/BOOT/grub.cfg";
+ }
+ # add theme
+ _ "cp -r -L /boot/grub2/themes .boot_iso/EFI/BOOT/";
+ _ "cp -f grub2.theme .boot_iso/EFI/BOOT/themes/maggy/theme.txt";
+ _ "mkdir -p .boot_iso/EFI/BOOT/fonts";
+ _ "cp -f /usr/share/grub/unicode.pf2 .boot_iso/EFI/BOOT/fonts/";
+ # create efiboot.img, mtools wants the image to be a power of 32.
+ my $efisize = ceil(ceil(chomp_(`du -s -k .boot_iso/EFI`) / 1024) * 1024 / 32) * 32;
+ my $efi_img = ".boot_iso/isolinux/efiboot.img";
+ _ "/sbin/mkdosfs -F12 -C $efi_img $efisize";
+ _ "mcopy -s -i $efi_img .boot_iso/EFI ::";
+ # create iso
+ _ "$cmd -eltorito-alt-boot -e isolinux/efiboot.img -no-emul-boot -o $iso .boot_iso";
+ _ "isohybrid -u $iso";
+ } else {
+ _ "$cmd -o $iso .boot_iso";
+ _ "isohybrid -o 1 $iso";
+ }
+ rm_rf('.boot_iso');
+}
+
+sub hd_grub {
+ my ($img) = @_;
+ my $mapfile = '/tmp/device.map.tmp';
+
+ my ($grub_dir) = glob("/lib/grub/*-mageia");
+ my @grub_files = map { "$grub_dir/$_" } qw(stage1 stage2);
+
+ # mtools wants the image to be a power of 32.
+ my $size = ceil((40_000 + sum(map { -s $_ } @grub_files)) / 32 / 1024) * 32;
+
+ _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt;
+ _ "cp @grub_files $tmp_mnt";
+
+ output("$tmp_mnt/menu.lst", <<EOF);
+timeout 10
+default 0
+fallback 1
+
+title Mageia Install
+
+root (hd0,0)
+kernel /cauldron/isolinux/alt0/vmlinuz $default_append $default_acpi $default_vga $default_iswmd automatic=method:disk
+initrd /cauldron/isolinux/alt0/all.rdz
+
+title Help
+
+pause To display the help, press <space> until you reach "HELP END"
+pause .
+pause Please see https://doc.mageia.org/ for a friendlier solution
+pause .
+pause To specify the location where Mageia is copied,
+pause choose "Mageia Install", and press "e".
+pause Then change "root (hd0,0)". FYI:
+pause - (hd0,0) is the first partition on first bios hard drive (usually hda1)
+pause - (hd0,4) is the first extended partition (usually hda5)
+pause - (hd1,0) is the first partition on second bios hard drive
+pause Replace /cauldron to suit the directory containing Mageia
+pause .
+pause HELP END
+EOF
+
+ _ "/sbin/mkdosfs -C $img $size";
+ _ "mcopy -i $img $tmp_mnt/* ::";
+ _ "rm -rf $tmp_mnt";
+
+ output($mapfile, "(fd0) $img\n");
+
+ open(my $G, "| grub --device-map=$mapfile --batch");
+ print $G <<EOF;
+root (fd0)
+install /stage1 d (fd0) /stage2 p /menu.lst
+quit
+EOF
+ close $G;
+ unlink $mapfile;
+}
diff --git a/images/update_kernel b/images/update_kernel
new file mode 100755
index 000000000..e003f457b
--- /dev/null
+++ b/images/update_kernel
@@ -0,0 +1,45 @@
+#!/usr/bin/perl
+
+# this script takes command kernel rpms (either installed rpms or rpm files)
+# and create various files in all_kernels/:
+# all.kernels/VER/all_modules.tar (used for all.rdz)
+# all.kernels/VER/modules.dep
+# all.kernels/VER/modules.alias
+# all.kernels/VER/vmlinuz
+
+use lib '../kernel';
+use MDK::Common;
+use list_modules;
+
+my $rpm = 'rpm --nosignature';
+
+
+@ARGV or die "usage: ./update_kernel <installed kernel name> ...\n";
+
+eval { rm_rf('all.kernels') }; #- remove old things
+mkdir 'all.kernels';
+
+my @kernels = map {
+ my $kern_ver = rpm2version($_);
+ extract_installed_rpm('', $kern_ver);
+ $kern_ver;
+} @ARGV;
+
+output('all.kernels/.list', map { "$_\n" } @kernels);
+
+sub system_verbose { print join(' ', @_), "\n"; system(@_) }
+sub sys { &system_verbose; $? and die }
+
+sub rpm2version {
+ my ($kernel_rpm) = @_;
+ my $opt = -e $kernel_rpm ? '-qpl' : '-ql';
+ `$rpm $opt $kernel_rpm` =~ m!/boot/vmlinuz-(.*)! && $1 or die "can't find vmlinuz in $kernel_rpm (is it installed?)\n";
+}
+
+sub extract_installed_rpm {
+ my ($installed_dir, $kern_ver) = @_;
+ my $local_dir = "all.kernels/$kern_ver";
+ mkdir_p($local_dir);
+
+ sys('cp', "$installed_dir/boot/vmlinuz-$kern_ver", "$local_dir/vmlinuz");
+}
diff --git a/isolinux-graphic.bmp b/isolinux-graphic.bmp
deleted file mode 100644
index 0f8402945..000000000
--- a/isolinux-graphic.bmp
+++ /dev/null
Binary files differ
diff --git a/kernel/.cvsignore b/kernel/.cvsignore
deleted file mode 100644
index 827e0ba13..000000000
--- a/kernel/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-modules.description
-all.modules
-all.kernels
diff --git a/kernel/Makefile b/kernel/Makefile
index a821d3939..819173f76 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -1,13 +1,8 @@
-all: all.modules
-
-all.modules: ../mdk-stage1/mar/mar update_kernel list_modules.pm
- `../tools/specific_arch ./update_kernel`
-
-../mdk-stage1/mar/mar:
- make -C `dirname $@` mar
-
clean:
- rm -rf *~ modules.description all.modules all.modules64
+ rm -rf *~
check:
- perl modules.pl check > /dev/null
+ perl -I. modules.pl check > /dev/null
+ @echo "unlisted drivers: "
+ @for i in $$(zcat /usr/share/ldetect-lst/pcitable.gz|cut -f 2 -d \" | grep -E -v '^#|ADSL:|Bad:|Card:|H[cs]f:|ISDN:|LT:'|sort|uniq|less);do grep -F -q $$i list_modules.pm|| echo -n "$$i ";done
+ @echo
diff --git a/kernel/check_mar.pl b/kernel/check_mar.pl
deleted file mode 100755
index aedbfdfe7..000000000
--- a/kernel/check_mar.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl
-
-use MDK::Common;
-
-my $mar = '../mdk-stage1/mar/mar';
--x $mar or die "ERROR: Sorry, need $mar binary\n";
-
-my %sanity_check = (
- hd => [
- qw(sym53c8xx),
- if_(arch() !~ /x86_64/, 'initio'),
- if_(arch() !~ /ppc|x86_64/, 'advansys'),
- ],
- network => [
- qw(3c59x eepro100 tulip via-rhine ne2k-pci 8139too),
- if_(arch() !~ /ppc/, 'e100'),
- if_(arch() !~ /ppc|ia64/, 'tlan'),
- ],
-);
-
-my $main_version = chomp_(cat_("all.kernels/.main"));
-
-foreach (keys %sanity_check) {
- my $marfile = "all.modules/$main_version/${_}_modules.mar";
- -e $marfile or die "ERROR: missing $marfile\n";
-
- my @l = map { /(\S+)\.o/ } `$mar -l $marfile`;
- my @pbs = difference2($sanity_check{$_}, \@l);
-
- @pbs and die "ERROR: sanity check should prove that " . join(" ", @pbs) . " be part of $marfile\n";
-}
diff --git a/kernel/list_modules.pm b/kernel/list_modules.pm
index f64d308e2..ee0d1f77b 100644
--- a/kernel/list_modules.pm
+++ b/kernel/list_modules.pm
@@ -7,93 +7,186 @@ our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2
# the categories have 2 purposes
# - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl)
-# - performing a load_category or probe_category (modules.pm and many files in perl-install)
+# - performing a load_category or probe_category (detect_devices.pm and many files in perl-install)
our %l = (
################################################################################
network =>
{
+ atm => [ qw(ambassador eni firestream fore_200e he horizon idt77252 iphase lanai nicstar solos-pci zatm) ],
main => [
- if_(arch() =~ /ppc/, qw(mace bmac gmac airport)),
- if_(arch() =~ /^sparc/, qw(sunbmac sunhme sunqe)),
- if_(arch() !~ /alpha|sparc/,
- qw(3c501 3c503 3c505 3c507 3c509 3c515 3c90x),
- qw(82596 abyss ac3200 acenic aironet4500_card at1700 atp com20020-pci),
- qw(cs89x0 de600 de620),
- qw(acx100_pci defxx orinoco_plx), # most unused
- qw(depca dgrs dmfe e100 e2100 eepro eepro100 eexpress epic100 eth16i),
- qw(ewrk3 hamachi hp hp-plus hp100 ibmtr),
- qw(lance natsemi ne ne2k-pci ni5010 ni52 ni65 nvnet olympic pcnet32 plip rcpci),
- qw(sb1000 sis900 smc-ultra smc9194 starfire tlan tmspci tulip via-rhine),
- qw(wd winbond-840),
- qw(fealnx 3c990 3c990fx bcm4400),
- qw(skfp tc35815 lanstreamer farsync sdladrv orinoco_pci prism2_plx),
-
- qw(iph5526), #- fibre channel
- ),
- qw(3c59x 8139too 8139cp sundance), #rtl8139
+ qw(3c501 3c503 3c505 3c507 3c509 3c515 3c990 3c990fx),
+ qw(82596 ac3200 acenic aironet4500_card altera_tse amd8111e at1700 atl2 atp ax88796c),
+ qw(bcm4400 cassini cs89x0 cx82310_eth de600 de620),
+ qw(depca dmfe dwc-xlgmac e2100 ec_bhf eepro eexpress enic eth16i),
+ qw(ewrk3 fm10k funeth genet hp hp-plus hp100 i40e i40evf iavf ice ionic),
+ qw(iph5526), #- fibre channel
+ qw(i40evf jme lance ne nfp ni5010 ni52 ni65 mv88e6060 nvnet),
+ qw(prism2_plx qlge r6040 rcpci realtek-smi rhineget),
+ qw(sb1000 sc92031 sfc-siena sh_eth smc-ultra smsc911x smc9194 smsc9420 smsc95xx),
+ qw(tc35815 tlan uli526x ),
+ qw(b44 com20020-pci de2104x),
+ qw(defxx), # most unused
+ qw(dgrs e100 eepro100 epic100 fealnx hamachi mana mlx5_core mlxsw_pci natsemi),
+ qw(ne2k-pci pcnet32 plip qede sis900 skfp starfire stmmac-platform tulip),
+ qw(txgbe typhoon via-rhine winbond-840 xgene-enet xilinx_emac forcedeth),
+ qw(sungem sunhme), # drivers for ultrasparc, but compiled in ix86 kernels...
+ qw(3c59x 8139too 8139cp cpmac niu sundance), #rtl8139
+ # add all phys
+ qw(adin adin1100 amd aquantia at803x ax88796b bcm7xxx bcm84881 bcm87xx broadcom cicada cortina davicom dp83848 dp83867 dp83869 dp83td510 et1011c fixed_phy icplus intel-xway),
+ qw(lxt marwell macb macb_pci marwell10g marvell-88x2222 mdio-bcm-unimac mdio-bitbang mdio-cavium mdio_devres mdio-gpio mdio-i2c),
+ qw(mdio-mscc-mii mdio-thunder mdio-xpcs mediatek-ge micrel microchip microchip_t1 microchip_t1s motorcomm mscc national ncn26000 nxp-tja11xx phylink),
+ qw(phy-bcm-kona-usb2 phy-cpcap-usb phy-exynos-usb2 phy-intel-emmc phy-intel-lgm-emmc phy-can-transceiver phy-lgm-usb phy-pxa-28nm-hsic),
+ qw(phy-pxa-28nm-usb2 phy-qcom-usb-hs phy-qcom-usb-hsic phy-tusb1210),
+ qw(qsemi r8152 r8153_ecm r815x realtek rockchip sfp smsc spi_ks8995 ste10Xp teranetics vitesse xilinx_gmii2rgmii),
],
+ firewire => [ qw(eth1394 pcilynx) ],
gigabit => [
- qw(dl2k myri_sbus yellowfin ns83820 r8169 tg3 e1000 sk98lin),
+ qw(amd-xgbe alx aqc111 atl1 atl1c atl1e atlantic at91_ether ax88179_178a bcmsysport be2net bna bnx2 bnx2x bnxt_en cxgb cxgb3 cxgb4 dl2k dwc-xlgmac e1000 e1000e et131x),
+ qw(gve hinic hfi1 igb igc ionic ipg ixgb ixgbe lan78xx liquidio liquidio_vf macb mlx4_core mlx4_en mlx5_core mvmdio myri_sbus myri10ge netxen_nic nixge ns83820 pch_gbe),
+ qw(qla3xxx r8169 s2io samsung-sxgbe sfc sfc-falcon sfc-siena sxg_nic sis190 sk98lin skge sky2 slicoss spidernet stmmac tehuti tg3 txgbe via-velocity vxge yellowfin),
qw(bcm5820 bcm5700), #- encrypted
],
raw => [
- qw(ppp_generic ppp_async),
+ qw(ppp_generic ppp_async ppp_deflate bsd_comp mhi_pci_generic thunderbolt-net),
],
pcmcia => [
- qw(3c574_cs 3c589_cs airo airo_cs aironet4500_cs axnet_cs fmvj18x_cs),
- qw(ibmtr_cs orinoco_cs netwave_cs nmclan_cs pcnet_cs ray_cs smc91c92_cs wavelan_cs wvlan_cs),
+ qw(3c574_cs 3c589_cs axnet_cs fmvj18x_cs),
+ qw(ibmtr_cs libertas_cs nmclan_cs pcnet_cs smc91c92_cs),
qw(xirc2ps_cs xircom_cb xircom_tulip_cb),
],
+ #- generic NIC detection for USB seems broken (class, subclass,
+ #- protocol reported are not accurate) so we match network adapters against
+ #- known drivers :-(
usb => [
- qw(catc CDCEther kaweth pegasus rtl8150 usbnet usbvnet_rfmd),
+ qw(aqc111 asix catc cdc_ether ch9200 dm9601 huawei_cdc_ncm kaweth mcs7830 pegasus rtl8150 smsc75xx smsc95xx usbnet),
+ ],
+ wireless => [
+ qw(8812au 8821ce acx-pci acx-usb adm8211 agnx airo airo_cs aironet4500_cs),
+ qw(aironet_cs ar5523 ar9170usb arlan arusb_lnx at76c50x_usb ath10k_pci ath10k_sdio ath10k_usb ath11k_pci ath5k ath6kl ath6kl_sdio ath6kl_usb ath9k ath9k_htc ath9k_pci_owl_loader),
+ qw(ath_pci atmel_cs atmel_pci b43 b43legacy bcm43xx bcm_wimax bcma brcm80211 brcmsmac brcmfmac carl9170 com20020_cs),
+ qw(dyc_ar5 hostap_cs hostap_pci hostap_plx i2400m_usb ipw2100),
+ qw(ipw2200 ipw3945 iwl3945 iwl4965 iwlagn iwldvm iwlmei iwlmvm iwlwifi libertas_spi madwifi_pci),
+ qw(mt76x2e mt76x2u mt7601u mt76x02 mt76x0e mt76x0u mt7603e mt7615e mt7663u mt7915e mt7921e mt7921s mt7921u mwifiex_pcie mwifiex_sdio mwifiex_usb mwl8k ndiswrapper netwave_cs orinoco orinoco_cs),
+ qw(orinoco_nortel orinoco_pci orinoco_plx orinoco_tmd orinoco_usb p54pci p54spi),
+ qw(p54usb plfxlc prism2_cs prism2_pci prism2_usb prism54 qmi_wwan qtnfmac qtnfmac_pcie r8180),
+ qw(r8187se rtl8188ee rtl8192ce r8192_pci r8192s_usb r8192u_usb r8712u r8723bs r8822be ray_cs rndis_wlan rsi_sdio rsi_usb rt2400 rt2400pci rt2500),
+ qw(rt2500pci rt2500usb rt2570 rt2800pci rt2800usb rt2860 rt2860sta rt2870),
+ qw(rt3070sta rt61 rt61pci rt73 rt73usb rtl8180 rtl8187 rtl8187se rtl818x_pci r8188eu r8192ee r8723au rtl_pci rtl_usb rtusb rtwpci rtw88_8723d rtw88_8723de rtw88_8723du rtw88_8821ce rtw88_8821cu rtw88_8822be rtw88_8822bu rtw88_8822ce rtw88_8822cu),
+ qw(rtw88_8723ds rtw88_8821cs rtw88_8822bs rtw88_8822cs rtw89_8852ae rtw89_8852be rtw89_8852ce),
+ qw(rtl8192se rtl8192cu rtl8192de rtl8192ee rtl8723ae rtl8723be rtl8821ae rtl8xxxu spectrum_cs sr9700 sr9800 ssb usb8xxx usbvnet_rfmd vt6655_stage vt6656_stage vt_ar5k w35und),
+ qw(wavelan_cs wcn36xx wfx wil6210 wilc1000-sdio wl wl1251_sdio wl1251_spi wl12xx wl18xx wl3501_cs wlcore_sdio wvlan_cs zd1201 zd1211rw),
],
isdn => [
- qw(b1pci c4 hisax hisax_fcpcipnp hysdn t1pci tpam),
+ qw(avmfritz c4 cdc-acm b1pci divas hfc4s8s_l1 hfc_usb hfc4s8s_l1 hisax hisax_st5481 hisax_fcpcipnp hysdn sedlfax t1pci tpam w6692pci),
+ qw(avmfritz hfcpci hfcmulti hfcsusb mISDNinfineon netjet), # mISDN
+ qw(fcpci fcdsl fcdsl fcdsl2 fcdslsl fcdslslusb fcdslusb fcdslusba fcusb fcusb2 fxusb fxusb_CZ)
+ ],
+ cellular => [
+ qw(cdc_mbim hso nozomi option sierra),
+ ],
+ modem => [
+ qw(ltmodem mwave sm56 ft1000),
],
+ slmodem => [
+ qw(slamr slusb snd-ali5451 snd-atiixp-modem snd-intel8x0m snd-via82xx-modem),
+ ],
+ wan => [ qw(c101 cosa cyclomx cycx_drv dlci dscc4 farsync hdlc hostess_sv11 lapbether lmc n2 pc300 pci200syn sbni sdla sdladrv sealevel syncppp wanxl z85230) ],
+ usb_dsl => [ qw(cxacru speedtch ueagle-atm usbatm xusbatm) ],
+ virtual => [ qw(ena hv_netvsc i2c-virtio vboxdrv virtio-iommu virtio_net virtio_pci_modern_dev vmxnet3 xen-netfront) ],
},
################################################################################
disk =>
{
+ # ide drivers compiled as modules:
+ ide => [
+ qw(aec62xx alim15x3 amd74xx atiixp cmd64x),
+ qw(delkin_cb dtc2278 hpt34x hpt366 ns87415 ht6560b it8172 it8213 it821x jmicron),
+ qw(opti621 pdc202xx_new pdc202xx_old piix qd65xx rz1000 sc1200 serverworks siimage sis5513 slc90e66),
+ qw(tc86c001 triflex trm290 tx4938ide tx4939ide umc8672 via82cxxx ide-pci-generic ide-generic),
+ ],
scsi => [
- if_(arch() =~ /ppc/, qw(mesh mac53c94)),
- if_(arch() =~ /^sparc/, qw(qlogicpti)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- qw(3w-xxxx AM53C974 BusLogic NCR53c406a a100u2w advansys aha152x aha1542 aha1740),
- qw(atp870u dc395x_trm dtc g_NCR5380 in2000 initio pas16 pci2220i psi240i fdomain),
- qw(qla1280 qla2x00 qlogicfas qlogicfc),
- qw(seagate wd7000 sim710 sym53c416 t128 tmscsim u14-34f ultrastor),
- qw(eata eata_pio eata_dma mptscsih nsp32),
- ),
- '53c7,8xx',
- qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicisp sym53c8xx), # ncr53c8xx
+ '53c7,8xx',
+ qw(a100u2w advansys aha152x aha1542 aha1740 am53c974 atp870u),
+ qw(be2iscsi bfa BusLogic dc395x dc395x_trm dmx3191d dtc eata eata_dma),
+ qw(eata_pio efct fdomain fdomain_cs fdomain_pci g_NCR5380 in2000 initio mpi3m mpt2sas mpt3sas mvsas myrb myrs NCR53c406a),
+ qw(nsp32 pas16 pci2220i pm80xx pm8001 psi240i qla1280 qla2x00 qla2xxx),
+ qw(qlogicfas qlogicfc rsxx seagate shasta skd sim710 snic stex sym53c416),
+ qw(t128 tmscsim u14-34f ultrastor wd7000 xen-scsiback xen-scsifront),
+ qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicfas408 sym53c8xx wd719x lpfc lpfcdd), # ncr53c8xx
+ ],
+ sata => [
+ # note that ata_piix manage RAID devices on ICH6R
+ qw(ahci ahci_dwc aic94xx ata_adma ata_piix pata_pdc2027x pdc_adma),
+ qw(sata_dwc_460ex sata_fsl sata_inic162x sata_mv sata_nv sata_promise),
+ qw(sata_qstor sata_rcar sata_sil sata_sil24 sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8),
+ # new drivers: old ide drivers ported over libata:
+ qw(ata_generic mv-ahci pata_ali pata_amd pata_artop pata_atiixp pata_atp867x),
+ qw(pata_bf54x pata_cmd640 pata_cmd64x pata_cs5520 pata_cs5530),
+ qw(pata_cs5535 pata_cs5536 pata_cypress pata_efar pata_hpt366),
+ qw(pata_hpt37x pata_hpt3x2n pata_hpt3x3 pata_isapnp pata_it8172),
+ qw(pata_it8213 pata_it821x pata_jmicron pata_legacy pata_marvell),
+ qw(pata_mpiix pata_netcell pata_ninja32 pata_ns87410),
+ qw(pata_ns87415 pata_oldpiix pata_opti pata_optidma),
+ qw(pata_pdc2027x pata_pdc202xx_old pata_piccolo pata_platform pata_qdi),
+ qw(pata_radisys pata_rdc pata_rz1000 pata_sc1200 pata_sch),
+ qw(pata_serverworks pata_sil680 pata_sis pata_sl82c105),
+ qw(pata_triflex pata_via pata_winbond),
+ qw(pata_acpi),
],
hardware_raid => [
- if_(arch() =~ /^sparc/, qw(pluto)),
- if_(arch() !~ /alpha/ && arch() !~ /sparc/,
- qw(DAC960 dpt_i2o megaraid aacraid cciss cpqarray gdth i2o_block),
- qw(cpqfc qla2200 qla2300 ataraid hptraid silraid pdcraid pdc-ultra),
- qw(ips ppa imm),
- ),
- ],
- pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs) ], #ide_cs
- raw => [ qw(scsi_mod sd_mod) ],
- usb => [ qw(usb-storage) ],
+ # 3w-xxxx drives ATA-RAID, 3w-9xxx and arcmsr drive SATA-RAID
+ qw(3w-9xxx 3w-sas 3w-xxxx a320raid aacraid arcmsr cciss cpqarray),
+ qw(cpqfc csiostor DAC960 dpt_i2o esas2r gdth hpsa hptiop i2o_block imm ipr ips isci),
+ qw(it8212 it821x iteraid megaide megaraid megaraid_mbox),
+ qw(megaraid_sas mptfc mptsas mptscsih mptspi pdc-ultra pmcraid ppa),
+ qw(qla2100 qla2200 qla2300 qla2322 qla4xxx qla6312 qla6322 smartpqi),
+ ],
+ virtual => [ qw(hv_storvsc virtio_blk virtio_scsi vmw_pvscsi xenblk xen-blkfront) ],
+ pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs pata_pcmcia sym53c500_cs) ],
+ raw => [ qw(ide-gd_mod sd_mod) ],
+ usb => [ qw(keucr uas ums-alauda ums-cypress ums-datafab ums-eneub6250 ums-freecom ums-isd200),
+ qw(ums-jumpshot ums-karma ums-onetouch ums-realtek ums-sddr09 ums-sddr55 ums-usbat usb-storage) ],
firewire => [ qw(sbp2) ],
- cdrom => [ qw(ide-cd cdrom sr_mod) ],
+ cdrom => [ qw(ide-cd_mod sr_mod) ],
+ card_reader => [ qw(rts5208 rtsx_pci rtsx_usb sdhci sdhci-pci tifm_sd tifm_7xx1 toshsd ushc via-sdmmc) ],
},
################################################################################
bus =>
{
- usb => [ qw(usbcore usb-uhci usb-ohci ehci-hcd usbkbd keybdev input) ],
- firewire => [ qw(ohci1394 ieee1394) ],
+ usb => [ qw(bcma-hcd c67x00 dwc3-haps dwc3 dwc3-pci ehci-hcd ehci-pci ehci-platform ehci-tegra fhci fusbh200-hcd hwa-hc
+ imx21-hcd isp116x-hcd isp1362-hcd isp1760 ohci-hcd ohci-pci ohci-platform oxu210hp-hcd
+ r8a66597-hcd renesas-usbhs sl811_cs sl811-hcd ssb-hcd u132-hcd
+ uhci-hcd usb-ohci usb-uhci vhci-hcd whci-hcd xen-hcd xhci-hcd xhci-pci xhci-pci-renesas xhci-plat-hcd) ],
+ bluetooth => [ qw(ath3k bcm203x bfusb bluecard_cs bpa10x bt3c_cs btusb dtl1_cs) ],
+ firewire => [ qw(ohci1394) ],
+ i2c => [
+ qw(i2c_algo_bit i2c-ali1535 i2c-ali1563 i2c-ali15x3 i2c-amd756 i2c-amd8111 i2c-amd-mp2-pci i2c-amd-mp2-plat i2c-i801 i2c-i810 i2c_designware_platform i2c-nforce2),
+ qw(i2c-piix4 i2c-prosavage i2c-savage4 i2c-sis5595 i2c-sis630 i2c-sis96x i2c_smbus i2c-via i2c-viapro i2c-voodoo3),
+ qw(i2c-hydra i2c-ibm_iic i2c-mpc i2c-amd-mp2-pci i2c-amd-mp2-plat),
+ ],
pcmcia => [
- if_(arch() !~ /^sparc/, qw(pcmcia_core tcic ds i82365 i82092 yenta_socket)), # cb_enabler
+ qw(au1x00_ss i82365 i82092 pd6729 tcic vrc4171_card vrc4173_cardu yenta_socket), # cb_enabler
],
+ hid => [ qw(amd-mp2-pcie amd_sfh amd-sfhtp-hid ff-memless hid hid-a4tech hid-alps hid-apple hid-appleir hid-asus hid-aureal hid-axff hid-belkin hid-betopff hid_bigbenff
+ hid-cherry hid-chicony hid-cmedia hid-corsair hid-cougar hid-cp2112 hid-creative-sb0540 hid-cypress hid-dr hid-drff hid-elan hid-elecom hid-elo hid-emsff hid-evision
+ hid-ezkey hid-gaff hid-gembird hid-generic hid-gfrm hid-google-hammer hid-gt683r hid-gyration hid-holtek-kbd hid-holtekff hid-holtek-mouse
+ hid-hyperv hid-icade hid-ite hid-jabra hid-kensington hid-keytouch hid-kye hid-lcpower hid-led hid-lenovo hid-lenovo-tpkbd hid-lg-g15
+ hid-logitech hid-logitech-dj hid-logitech-hidpp hid-macally hid-magicmouse hid-megaworld hid-mf hid-microsoft hid-monterey
+ hid-multilaser hid-multitouch hid-nintendo hid-ntrig hid-ortek hid-penmount hid-petalynx hid-picolcd
+ hid-pl hid-plantronics hid-playstation hid-primax hid-prodikeys hid_razer hid_redragon hid-retrode hid-roccat hid-roccat-arvo hid-roccat-common hid-rmi
+ hid-roccat-isku hid-roccat-kone hid-roccat-koneplus hid-roccat-konepure hid-roccat-kovaplus hid-roccat-lua
+ hid-roccat-pyra hid-roccat-ryos hid-roccat-savu hid-saitek hid-samsung hid-semitek hid-sensor-hub hid_sensor_accel_3d hid_sensor_gyro_3d hid_sensor_trigger hid-sjoy hid-sony
+ hid-speedlink hid_steam hid-steelseries hid-sunplus hid-thrustmaster hid-tivo hid-tmff hid-topseed hid-twinhan
+ hid-uclogic hid_vivaldi hid-waltop hid-wiimote hid-xiaomi hid-xinmo hid-zpff hid-zydacron wacom
+ i2c-hid-acpi
+ intel-ish-ipc intel-ishtp-hid intel-ishtp intel-ishtp-loader ipts ithc
+ surface_hid surface_kbd) ],
+
#serial_cs
#ftl_cs 3c575_cb apa1480_cb epic_cb serial_cb tulip_cb iflash2+_mtd iflash2_mtd
#cb_enabler
@@ -101,15 +194,13 @@ our %l = (
fs =>
{
- network => [ qw(af_packet nfs lockd sunrpc) ],
+ network => [ qw(af_packet nfs nfsv2 nfsv3 nfsv4 smbfs) ],
cdrom => [ qw(isofs) ],
- loopback => [ qw(isofs loop) ],
+ loopback => [ qw(isofs loop squashfs) ],
local => [
- if_(arch() =~ /^i.86|x86_64/, qw(vfat fat)),
- if_(arch() =~ /^ppc/, qw(hfs)),
- qw(reiserfs),
+ qw(btrfs exfat ext3 ext4 f2fs jfs nilfs2 ntfs ntfs3 reiserfs vfat xfs),
],
- various => [ qw(smbfs romfs jbd xfs) ],
+ various => [ qw(efivarfs efibc capsule-loader overlay romfs ufs fuse) ],
},
@@ -117,90 +208,257 @@ our %l = (
multimedia =>
{
sound => [
- if_(arch() =~ /ppc/, qw(dmasound_pmac)),
- if_(arch() !~ /^sparc/,
- qw(ad1816 ad1848 ad1889 ali5455 awe_wave audigy cmpci cs46xx cs4232 cs4281 emu10k1 es1370 es1371 esssolo1 forte),
- qw(gus i810_audio ice1712 kahlua mad16 maestro maestro3 mpu401 msnd_pinnacle nvaudio opl3 opl3sa opl3sa2 nm256_audio),
- qw(pas2 pss rme96xx sb sgalaxy sam9407 sonicvibes sscape trident via82cxxx_audio wavefront ymfpci),
- qw(snd-ali5451 snd-als100 snd-als4000 snd-azt2320 snd-azt3328 snd-cmi8330 snd-cmipci),
- qw(snd-cs4231 snd-cs4232 snd-cs4236 snd-cs46xx snd-dt0197h snd-cs4281 snd-emu10k1),
- qw(snd-ad1816a snd-ad1848 snd-gusclassic snd-gusextreme snd-gusmax snd-interwave),
- qw(snd-mpu401 snd-opti93x snd-rme9652 snd-sb8 snd-sbawe),
- qw(snd-ens1370 snd-ens1371 snd-es18xx snd-es968 snd-es1938 snd-es1968 snd-es1688),
- qw(snd-fm801 snd-hdsp snd-ice1712 snd-ice1724 snd-intel8x0 snd-korg1212 snd-maestro3),
- qw(snd-nm256 snd-rme96 snd-rme32 snd-opl3sa2 snd-sb16 snd-sgalaxy snd-sonicvibes),
- qw(snd-trident audio snd-via82xx snd-vx222 snd-wavefront snd-ymfpci),
- ),
- ],
- tv => [ qw(bttv cpia_usb ibmcam mod_quickcam ov511 ov518_decomp ultracam usbvideo cyber2000fb saa7134) ],
+ qw(ad1816 ad1848 ad1889 ali5455 audigy audio awe_wave cmpci cs4232 cs4281 cs46xx cx88-alsa),
+ qw(emu10k1 es1370 es1371 esssolo1 forte gus i810_audio ice1712 kahlua mad16 maestro),
+ qw(maestro3 mpu401 msnd_pinnacle nm256_audio nvaudio opl3 opl3sa opl3sa2 pas2 pss),
+ qw(rme96xx sam9407 sb sgalaxy snd-pci-acp3x snd-ad1816a snd-ad1848 snd-ad1889 snd-ali5451 snd-als100 snd-als300),
+ qw(snd-als4000 snd-atiixp snd-au8810 snd-au8820 snd-au8830 snd-audigyls snd-aw2 snd-azt2316 snd-azt2320 snd-azt3328 snd-azx),
+ qw(snd-asihpi snd-at73c213 snd-bcd2000 snd-bebob snd-bt87x snd-ca0106 snd-cmi8330 snd-cmi8788 snd-cmipci),
+ qw(snd-cs4231 snd-cs4232 snd-cs4236 snd-cs4281 snd-cs46xx snd-cs5530 snd-cs5535audio),
+ qw(snd_ctxfi),
+ qw(snd-darla20 snd-darla24 snd-dt019x snd-echo3g snd-emu10k1 snd-emu10k1x),
+ qw(snd-ens1370 snd-ens1371 snd-es1688 snd-es18xx snd-es1938 snd-es1968 snd-es968),
+ qw(snd-fireworks snd-fm801 snd-gina20 snd-gina24 snd-gina3g),
+ qw(snd-gusclassic snd-gusextreme snd-gusmax),
+ qw(snd-hda-intel snd-hdsp snd-hdspm snd-ice1712 snd-ice1724),
+ qw(snd-indi snd-indigo snd-indigodj snd-indigodjx snd-indigoio snd-indigoiox snd-intel8x0 snd-interwave),
+ qw(snd-interwave-stb snd-korg1212 snd-layla20 snd-layla24 snd-layla3g snd-lola snd-lx6464es),
+ qw(snd-maestro3 snd-mia snd-mixart snd-mona snd-mpu401 snd-nm256),
+ qw(snd-opl3sa2 snd-opti92x-ad1848 snd-opti92x-cs4231 snd-opti93x snd-oxygen snd_pci_acp5x snd-pcsp snd-pcxhr snd-riptide snd-rme32),
+ qw(snd-rme96 snd-rme9652 snd-sb16 snd-sb8 snd-sbawe snd-sc6000 snd-sgalaxy snd-sis7019),
+ qw(snd-soc-cs35l56-i2c snd-soc-cs35l56 snd-soc-cs35l56-sdw snd-soc-cs35l56-shared snd-soc-cs35l56-spi snd-soc-cs42l42-sdw snd-soc-idt821034),
+ qw(snd-soc-max98363 snd-soc-rt1318-sdw snd-soc-rt712-sdca-dmic snd-soc-rt712-sdca snd-soc-sma1303 snd-soc-avs-max98927 snd-soc-avs-probe),
+ qw(snd-sof-amd-renoir snd-sof-acpi-intel-bdw snd-sof-intel-hda-mlink snd-sof-acpi-intel-byt snd-sof-pci snd-sonicvibes),
+ qw(snd-sscape snd-trident snd-usb-variax snd-via82xx snd-virtuoso snd-vx222 snd-vxp440 snd-vxpocket snd-wavefront),
+ qw(snd_xen_front snd-ymfpci sonicvibes soundwire-amd sscape trident via82cxxx_audio virtio_snd wavefront ymfpci),
+ ],
+ tv => [ qw(bt878 bttv cx23885 cx25821 cx8800 cx8802 cx88-blackbird dpc7146),
+ qw(em28xx ivtv mxb pvrusb2 saa7134 saa7164 zr36067) ],
+ dvb => [
+ qw(b2c2-flexcop-pci b2c2-flexcop-usb budget budget-av),
+ qw(budget-ci cinergyT2 dm1105 dvb-dibusb dvb-ttpci),
+ qw(dvb-ttusb-budget dvb-usb-a800 dvb-usb-af9015 dvb-usb-ce6230),
+ qw(dvb-usb-cinergyT2 dvb-usb-cxusb dvb-usb-dib0700),
+ qw(dvb-usb-dibusb-mb dvb-usb-dibusb-mc dvb-usb-digitv),
+ qw(dvb-usb-dtt200u dvb-usb-dtv5100 dvb-usb-ec168 dvb-usb-friio dvb-usb-gp8ps),
+ qw(dvb-usb-nova-t-usb2 dvb-usb-ttusb2 dvb-usb-umt-010),
+ qw(dvb-usb-vp702x dvb-usb-vp7045 earth-pt1 firedtv hexium_gemini),
+ qw(hexium_orion netup-unidvb pluto2 skystar2 smsusb ttusb_dec),
+ ],
photo => [ qw(dc2xx mdc800) ],
- radio => [ qw(radio-maxiradio) ],
+ radio => [ qw(radio-gemtek-pci radio-keene radio-maestro radio-ma901
+ radio-maxiradio radio-miropcm20 radio-mr800 radio-raremono radio-shark
+ radio-usb-si470x shark2) ],
scanner => [ qw(scanner microtek) ],
- joystick => [ qw(ns558 emu10k1-gp iforce) ],
+ firewire => [ qw(snd-dice snd-firewire-digi00x snd-firewire-speakers snd-isight snd-oxfw snd-scs1x snd-firewire-tascam) ],
+ gameport => [ qw(cs461x ns558 emu10k1-gp fm801-gp lightning ns558 vortex) ],
+ usb_sound => [ qw(audio dabusb dsbr100 snd-usb-audio snd-usb-6fire snd-usb-caiaq snd-usb-hiface snd-usb-usx2y usb-midi) ],
+ webcam => [
+ qw(cafe_ccic cpia2 cpia_usb cyber2000fb et61x251 gspca),
+ qw(gspca_benq gspca_conex gspca_cpia1 gspca_dtcs033 gspca_etoms
+ gspca_finepix gspca_gl860 gspca_jeilinj gspca_jl2005bcd
+ gspca_kinect gspca_konica gspca_m5602 gspca_mars
+ gspca_mr97310a gspca_nw80x gspca_ov519 gspca_ov534
+ gspca_ov534_9 gspca_pac207 gspca_pac7302 gspca_pac7311
+ gspca_se401 gspca_sn9c2028 gspca_sn9c20x gspca_sonixb
+ gspca_sonixj gspca_spca1528 gspca_spca500 gspca_spca501
+ gspca_spca505 gspca_spca506 gspca_spca508 gspca_spca561
+ gspca_sq905 gspca_sq905c gspca_sq930x gspca_stk014 gspca_stk1135
+ gspca_stv0680 gspca_stv06xx gspca_sunplus gspca_t613
+ gspca_topro gspca_touptek gspca_tv8532 gspca_vc032x gspca_vicam
+ gspca_xirlink_cit gspca_zc3xx),
+ qw(ibmcam konicawc mod_quickcam ov511 ov511-alt ov518_decomp),
+ qw(ov51x-jpeg ovfx2 pwc qc-usb-messenger quickcam quickcam_messenger),
+ # both STV06xx & stv06xx b/c drivers/media/video/gspca/stv06xx/stv06xx.h
+ # wrongly use upcase letters:
+ qw(se401 sn9c102 STV06xx stv06xx stv680 tcm825x ultracam),
+ qw(usbvideo usbvision uvcvideo vicam w9968cf zc0301 zc3xx),
+ ],
+ },
+
+ # USB input stuff get automagically loaded by hotplug and thus
+ # magically work through /dev/input/mice multiplexing:
+ input => {
+ joystick => [
+ qw(iforce iforce-serio iforce-usb xpad),
+ # there're more drivers in drivers/input/joystick but they support non USB or PCI devices
+ # and thus cannot be detected but by slow (and maybe dangerous?) load_category:
+ qw(a3d adi analog cobra db9 gamecon gf2k grip grip_mp guillemot interact),
+ qw(joydump magellan pxrc qwiic-joystick sidewinder spaceball spaceorb stinger tmdc turbografx warrior)
+ ],
+ remote => [ qw(ati_remote) ],
+ # USB tablets and touchscreens:
+ tablet => [ qw(acecad aiptek wacom wacom_serial4 kbtab) ],
+ touchscreen => [ qw(ads7846_ts bu21013_ts bu21029_ts gunze hp680_ts_input itmtouch mk712 mtouch sur40 usbtouchscreen) ],
},
various =>
# just here for classification, unused categories (nor auto-detect, nor load_thiskind)
{
raid => [
- qw(linear raid0 raid1 raid5 lvm-mod md multipath xor),
+ qw(dm-bio-prison dm-bufio dm-cache dm-clone dm-crypt dm-log dm-log-userspace dm-mirror dm-mod dm-multipath dm-persistent-data dm-queue-length dm-raid),
+ qw(dm-region-hash dm-round-robindm-service-time dm-snapshot dm-zero faulty linear lvm-mod md-mod multipath md-mod raid0 raid10 raid1 raid456),
+ # needed by raid456 and dm-raid 456 target
+ qw(async_memcpy async_pq async_raid6_recov async_tx async_xor raid6_pq xor),
],
mouse => [
- qw(busmouse msbusmouse logibusmouse serial qpmouse atixlmouse),
+ qw(atixlmouse busmouse cyapatp elan_i2c generic_serial inport ioc3_serial logibm logibusmouse msbusmouse psmouse pcips2 qpmouse synclinkmp),
+ qw(mousedev usbhid usbmouse synaptics_usb),
],
char => [
- if_(arch() =~ /ia64/, qw(efivars)),
- qw(amd768_rng applicom n_r3964 nvram pc110pad ppdev),
- qw(mxser moxa isicom wdt_pci epca synclink istallion sonypi i810-tco sx), #- what are these???
+ qw(applicom n_r3964 nvram pc110pad ppdev),
+ qw(wdt_pci i810-tco sx), #- what are these???
+ ],
+ crypto => [
+ qw(aes_generic aesni_intel cbc ccm cryptd n5pf padlock-aes padlock-sha sha256_generic virtio_crypto virtio_rng xts),
+ qw(aria-aesni-avx2-x86_64 aria-gfni-avx512-x86_64 amd-rng intel-rng),
+ qw(af_alg algif_aead algif_hash algif_rng algif_skcipher),
+ qw(lib80211_crypt_ccmp lib80211_crypt_tkip lib80211_crypt_wep michael_mic),
+ ],
+ laptop => [
+ qw(i8k sonypi toshiba),
+ ],
+ serial => [
+ qw(8250_pci 8250 epca esp isicom istallion jsm moxa mxser mxser_new stallion sx synclink synclinkmp),
],
other => [
- qw(agpgart defxx i810_rng i810fb ide-floppy ide-scsi ide-tape loop lp nbd sg st),
- qw(parport parport_pc parport_serial),
+ qw(defxx ide-floppy ide-tape loop lp nbd sg st),
+ qw(parport_pc parport_serial),
qw(btaudio),
+ qw(mmc_block sdhci-acpi), # eMMC
+ 'cryptoloop',
+ 'ulpi',
+
+ # Virtualization:
+ qw(hv_balloon pci-hyperv pci-hyperv-intf),
+ qw(mlx5-vfio-pci),
+ # Don't include vboxvideo, it doesn't work properly in stage1 or stage2 (mga#23467)
+ qw(vboxsf vboxguest vmw_balloon),
+ qw(nd_virtio virtio virtiofs virtio_balloon virtio-console virtio_input virtio_pci virtio_pmem virtio_ring vhost_iotlb vhost_scsi vhost_vsock hyperv-keyboard),
+ qw(xen-front-pgdir-shbuf),
+
+ # xfs and btrfs needs crc32c(-intel), f2fs needs crc32(_generic)
+ qw(crc32c crc32_generic),
+ 'nvme',
+
+ qw(evdev), qw(usblp printer), 'floppy', 'microcode', 'usb_common',
+ qw(acpi_cpufreq processor),
+ qw(bcm_sf2),
+ qw(intel-lpss intel-lpss-acpi intel-lpss-pci),
+ qw(usbip-host),
+ qw(vgem),
+
+ # drivers/platform/x86:
+ qw(acerhdf acer-wireless acer-wmi alienware-wmi amilo-rfkill apple-gmux asus-laptop asus-nb-wmi asus-wireless asus-wmi classmate-laptop compal-laptop),
+ qw(dcdbas dell-laptop dell-rbtn dell-smbios dell-smo8800 dell-wmi-aio dell-wmi-descriptor dell-wmi dell-wmi-ddv dell-wmi-led eeepc-laptop eeepc-wmi fujitsu-laptop),
+ qw(fujitsu-tablet gpd-pocket-fan hdaps hp_accel hp-wireless hp-wmi huawei-wmi i2c-multi-instantiate ibm_rtl ideapad-laptop intel_atomisp2_pm),
+ qw(intel_bxtwc_tmu intel_chtdc_ti_pwrbtn intel-hid intel_int0002_vgpio intel_ips intel_menlow intel_oaktrail intel_pmc_ipc intel_punit_ipc intel-rst),
+ qw(intel-smartconnect intel_telemetry_core intel_telemetry_debugfs intel_telemetry_pltdrv intel-vbtn intel-wmi-thunderbolt lenovo-ymc lg-laptop mlx-platform),
+ qw(msi-ec msi-laptop msi-wmi mxm-wmi panasonic-laptop peaq-wmi samsung-laptop samsung-q10 shuttle-wmi sony-laptop surface3_button surface3-wmi),
+ qw(surfacepro3_button system76_acpi thinkpad_acpi topstar-laptop toshiba_acpi toshiba_bluetooth toshiba_haps toshiba-wmi wmi-bmof wmi xiaomi-wmi),
+ # no more a platform driver:
+ qw(pvpanic),
+
+ # drivers/platform/chrome:
+ qw(chromeos_laptop),
#- these need checking
- qw(pcilynx sktr rrunner meye 3c559 buz paep),
+ qw(rrunner meye),
+
+ qw(mei pch_phub),
+ ],
+ agpgart => [
+ qw(ali-agp amd64-agp amd-k7-agp ati-agp efficeon-agp intel-agp),
+ qw(k7-agp mch-agp nvidia-agp sis-agp sworks-agp via-agp),
],
},
);
-my %dependencies;
+my %moddeps;
sub load_dependencies {
- my ($file) = @_;
+ my ($file, $o_root) = @_;
+
+ %moddeps = ();
+ foreach (cat_($o_root . $file)) {
+ my ($m, $d) = split ':';
+ my $path = $m;
+ my ($filename, @fdeps) = map {
+ s![^ ]*/!!g;
+ s!\.ko!!g;
+ s!\.[gx]z!!g;
+ $_;
+ } $m, split(' ', $d);
- %dependencies = map {
- my ($f, $deps) = split ':';
- $f => [ split ' ', $deps ];
- } cat_($file);
+ my ($modname, @deps) = map { filename2modname($_) } $filename, @fdeps;
+ $moddeps{$modname}{deps} = \@deps;
+ $moddeps{$modname}{filename} = $filename;
+ if (!begins_with($path, "/")) {
+ #- with newer module-init-tools, modules.dep can contain
+ #- relative paths
+ $path = dirname($file) . '/' . $path;
+ }
+ $moddeps{$modname}{path} = $path;
+ }
}
sub dependencies_closure {
- my @l = map { dependencies_closure($_) } @{$dependencies{$_[0]} || []};
+ my @l = map { dependencies_closure($_) } @{exists $moddeps{$_[0]} && $moddeps{$_[0]}{deps} || []};
(@l, $_[0]);
}
+sub filename2modname {
+ my ($modname) = @_;
+ $modname =~ s/-/_/g;
+ $modname;
+}
+
+sub load_default_moddeps() {
+ require c;
+ load_dependencies('/lib/modules/' . c::kernel_version() . '/modules.dep');
+}
+
+sub modname2filename {
+ load_default_moddeps() if !%moddeps;
+ $moddeps{$_[0]}{filename};
+}
+
+sub modname2path {
+ load_default_moddeps() if !%moddeps;
+ $moddeps{$_[0]}{path};
+}
+
sub category2modules {
map {
my ($t1, $t2s) = m|(.*)/(.*)|;
- map {
+ my @sub = $t2s eq '*' ? keys %{$l{$t1}} : split('\|', $t2s);
+ map {
my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace();
- @$l;
- } split('\|', $t2s);
+ map { filename2modname($_) } @$l;
+ } @sub;
} split(' ', $_[0]);
}
+sub all_modules() {
+ map { @$_ } map { values %$_ } values %l;
+}
+
sub module2category {
my ($module) = @_;
+ $module = filename2modname($module);
foreach my $t1 (keys %l) {
my $h = $l{$t1};
foreach my $t2 (keys %$h) {
- $module eq $_ and return "$t1/$t2" foreach @{$h->{$t2}};
+ $module eq filename2modname($_) and return "$t1/$t2" foreach @{$h->{$t2}};
}
}
return;
}
+sub ethernet_categories() {
+ 'network/main|gigabit|pcmcia|usb|wireless|firewire';
+}
+
sub sub_categories {
my ($t1) = @_;
keys %{$l{$t1}};
diff --git a/kernel/modules.pl b/kernel/modules.pl
index 97231731d..9ec6f5356 100644
--- a/kernel/modules.pl
+++ b/kernel/modules.pl
@@ -10,72 +10,6 @@ BEGIN {
use MDK::Common;
use list_modules;
-#- seldom used modules
-#- we don't bother making a special floppy for those
-my %modules_only_for_all_img = (
-
- 'network/main' => [
- qw(olympic acenic),
- qw(aironet4500_card com20020-pci hamachi starfire winbond-840),
- qw(fealnx 3c990 3c990fx prism2_plx dgrs),
-
- # token ring
- qw(tmspci ibmtr abyss),
-
- qw(3c501 3c503 3c505 3c507 3c515), # unused, hopefully?
- qw(eepro 82596 de620 depca ewrk3 cs89x0),
-
- if_(arch() =~ /x86_64/, qw(orinoco_plx)), # don't support laptop for now
- if_(arch() =~ /x86_64/, qw(hp100 epic100)), # old (nico)
- if_(arch() =~ /alpha|ppc/, qw(sb1000)),
- qw(iph5526),
-
- qw(ac3200 at1700 atp ni5010 ni52 ni65), #- unused from Jeff
- ],
-
- 'bus/pcmcia' => [
- if_(arch() =~ /x86_64/, qw(pcmcia_core ds tcic yenta_socket)), # don't support laptop for now
- if_(arch() =~ /x86_64/, qw(i82092 i82365)), # doco says "older laptops"
- ],
-
- 'disk/scsi' => [
- # ISA cards:
- qw(NCR53c406a aha152x psi240i qlogicfas qlogicfc wd7000 sim710 t128 ultrastor), '53c7,8xx',
- qw(qla2x00 in2000 pas16 a100u2w seagate g_NCR5380),
- if_(arch() =~ /x86_64/, qw(53c7,8xx nsp32 initio advansys atp870u)), #- old
- qw(AM53C974), # deprecated by tmscsim
- qw(u14-34f), #- duplicate from ultrastor.o
- #- still used, keeping them: qw(aha1542 sym53c416),
-
- qw(dc395x_trm mptscsih BusLogic fdomain),
- qw(pci2220i eata eata_pio eata_dma),
- 'aic7xxx_old',
- ],
-
- 'disk/hardware_raid' => [
- if_(arch() =~ /x86_64/, qw(ataraid)), #- old
- qw(i2o_block qla2200 qla2300 cpqfc DAC960 gdth pdc-ultra),
- ],
-);
-
-#- modules that will only be available in stage2
-#- those modules are NOT in all.img, network.img...
-#- there should only be modules that can't be used on stage1
-#- completly unused modules should be removed directly from the kernel
-#- (and so be removed from stage2 too)
-my %modules_removed_from_stage1 = (
- 'network/main' => [
- 'plip'
- ],
-
- 'disk/hardware_raid' => [
- qw(imm ppa),
- qw(ataraid hptraid silraid pdcraid), # ad-hoc raid which is unsupported in stage1 anyway
- ],
-);
-
-my @modules_always_on_stage1 = qw(floppy);
-
sub flatten_and_check {
my ($h) = @_;
@@ -96,62 +30,66 @@ sub flatten_and_check {
} keys %$h;
}
-my @modules_only_for_all_img = flatten_and_check(\%modules_only_for_all_img);
-my @modules_removed_from_stage1 = flatten_and_check(\%modules_removed_from_stage1);
-
-
-my %images = (
- network_gigabit
- => 'fs/network network/raw network/gigabit',
- network_usb
- => 'fs/network network/raw bus/usb network/usb',
- network_gigabit_usb
- => 'fs/network network/raw bus/usb network/gigabit|usb',
- network => 'fs/network network/raw bus/pcmcia network/main',
- hd => 'disk/raw fs/local|loopback disk/scsi|hardware_raid',
- hdcdrom_usb
- => 'disk/cdrom|raw fs/local|loopback|cdrom bus/usb disk/usb bus/firewire disk/firewire',
- pcmcia => 'fs/cdrom disk/cdrom|raw|pcmcia bus/pcmcia fs/network network/pcmcia|raw',
- cdrom => 'fs/cdrom disk/cdrom|raw|scsi',
- all => 'fs/cdrom disk/cdrom|raw bus/usb disk/usb|scsi fs/loopback|local bus/pcmcia disk/pcmcia|hardware_raid fs/network network/main|pcmcia|usb|raw|gigabit bus/firewire disk/firewire',
-);
-
-load_dependencies(glob("all.modules/2.4*/modules.dep"));
-
-my $verbose = "@ARGV" =~ /-v/;
-images() if "@ARGV" =~ /images/;
-check() if "@ARGV" =~ /check/;
-pci_modules4stage1($1) if "@ARGV" =~ /pci_modules4stage1:(.*)/;
-
-sub images {
- while (my ($image, $l) = each %images) {
- my @modules = @modules_always_on_stage1;
- foreach (split(' ', $l)) {
- push @modules, category2modules($_);
- }
-
- @modules = difference2(\@modules, \@modules_removed_from_stage1);
+my $images_cat = 'fs/* disk/* bus/* network/* input/* various/*'; #- ie everything except multimedia
- if ($image !~ /all/) {
- @modules = difference2(\@modules, \@modules_only_for_all_img);
- }
- @modules = uniq(map { dependencies_closure($_) } @modules);
- printf qq(%s_modules="%s"\n), $image, join(" ", map { "$_.o" } @modules);
+my $verbose = $ARGV[0] eq '-v' && shift;
+my ($f, @para) = @ARGV;
+$::{$f}->(@para);
+
+sub modules() {
+ my @nls_modules = ('nls_cp437', 'nls_iso8859_1');
+ @nls_modules, map { category2modules($_) } split(' ', $images_cat);
+}
+
+sub list_needed_modules {
+ my ($kern_ver) = @_;
+
+ load_dependencies("/lib/modules/$kern_ver/modules.dep");
+
+ my @all = modules();
+ my @all_with_deps = map { dependencies_closure($_) } @all;
+ my %wanted_modules = map { (list_modules::modname2filename($_) => 1) } @all_with_deps;
+ foreach (`find /lib/modules/$kern_ver -name '*.ko.?z'`) {
+ my $modfile = basename($_);
+ $modfile =~ s/\.ko\.xz//;
+ $wanted_modules{$modfile} and print "$modfile\n";
}
}
+sub list_fake_modules {
+ my ($kern_ver) = @_;
+
+ load_dependencies("/lib/modules/$kern_ver/modules.dep");
+
+ my @all = map { category2modules($_) } split(' ', 'multimedia/*');
+ my %wanted_modules = map { (list_modules::modname2filename($_) => 1) } @all;
+ foreach (`find /lib/modules/$kern_ver -name '*.ko.?z'`) {
+ my $modfile = basename($_);
+ $modfile =~ s/\.ko\.xz//;
+ $wanted_modules{$modfile} and print "$modfile\n";
+ }
+}
+
+sub get_main_modules() {
+ my $base = dirname($0);
+ my $main = chomp_(cat_("$base/RPMS/.main"));
+ chomp_(`tar tf $base/all.kernels/$main/all_modules.tar`);
+}
+
sub pci_modules4stage1 {
- print "$_\n" foreach uniq(map { dependencies_closure($_) } difference2([ category2modules($_[0]) ], \@modules_removed_from_stage1));
+ my ($category) = @_;
+ my @modules = difference2([ category2modules($category) ]);
+ print "$_\n" foreach uniq(map { dependencies_closure($_) } @modules);
}
-sub check {
+sub check() {
my $error;
my %listed;
while (my ($t1, $l) = each %list_modules::l) {
while (my ($t2, $l) = each %$l) {
ref $l or die "bad $l in $t1/$t2";
foreach (@$l) {
- $listed{$_} = 1;
+ $listed{$_} = "$t1/$t2";
}
}
}
@@ -162,10 +100,10 @@ sub check {
my ($msg, $verbose, @l) = @_;
my %not_listed;
foreach (@l) {
- my ($mod) = m|([^/]*)\.o(\.gz)?$| or next;
+ my ($mod) = m|([^/]*)\.k?o(\.gz)?$| or next;
delete $deprecated_modules{$mod};
next if $listed{$mod};
- s|.*?mdk(BOOT)?/||;
+ s|.*?mdk/||;
s|kernel/||; s|drivers/||; s|3rdparty/||;
$_ = dirname $_;
$_ = dirname $_ if $mod eq basename($_);
@@ -176,9 +114,15 @@ sub check {
print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
}
};
- $not_listed->('NOT LISTED', 1, `cd all.kernels/2.4* ; find -name "*.o" -o -name "*.o.gz"`);
- $not_listed->('not listed', $verbose, `rpm -qpl /RPMS/kernel-2.4*`);
- print "bad/old modules : ", join(" ", sort keys %deprecated_modules), "\n" if %deprecated_modules;
+ $not_listed->('NOT LISTED', 1, get_main_modules());
+ $not_listed->('not listed', $verbose, chomp_(`rpm -qpl RPMS/kernel-*2.6*`));
+ if (%deprecated_modules) {
+ my %per_cat;
+ push @{$per_cat{$listed{$_}}}, $_ foreach keys %deprecated_modules;
+ foreach my $cat (sort keys %per_cat) {
+ print "bad/old modules ($cat) : ", join(" ", sort @{$per_cat{$cat}}), "\n";
+ }
+ }
{
require '/usr/bin/merge2pcitable.pl';
@@ -192,7 +136,7 @@ sub check {
if (my $l = delete $not_listed{''}) {
print "bad/old pcitable modules : ", join(" ", @$l), "\n";
}
- print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
#$error = 1;
}
@@ -200,11 +144,29 @@ sub check {
if (my @l = difference2(\@l2, [ keys %listed ])) {
my %not_listed;
push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
- if ($verbose) {
- print "usbtable modules not listed $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
- }
+ print STDERR "usbtable modules not listed $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
}
}
exit $error;
}
+
+sub list_additional_firmware {
+ my ($kern_ver) = @_;
+
+ # The firmware reported by 'modinfo iwlwifi' is the latest supported version of each firmware
+ # type. Sometimes the latest supported version is not available, and the driver falls back to
+ # an older version. This means dracut doesn't automatically identify and include the necessary
+ # firmware files, so we need to list them here (mga#9541).
+ foreach (map { /^firmware:\s+(.*)/ ? $1 : () } split("\n", `modinfo -k $kern_ver iwlwifi`)) {
+ next if -f "/lib/firmware/$_";
+ my ($basename, $version) = /(.*)-([0-9]+).ucode/;
+ while ($version-- > 0) {
+ my $filepath = "/lib/firmware/$basename-$version.ucode";
+ if (-f $filepath) {
+ print "$filepath\n";
+ last;
+ }
+ }
+ }
+}
diff --git a/kernel/strip_modules b/kernel/strip_modules
deleted file mode 100755
index 98e4f4496..000000000
--- a/kernel/strip_modules
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-#
-# Given a list of objects, strip all static symbols except those
-# required by insmod.
-#
-# Copyright Keith Owens <kaos@ocs.com.au>. GPL.
-# Sat Feb 1 12:52:17 EST 1997
-#
-# Mainly intended for reducing the size of modules to save space
-# on emergency and install disks. Be aware that removing the
-# static symbols reduces the amount of diagnostic information
-# available for oops. Not recommended for normal module usage.
-#
-# This code requires the modules use MODULE_PARM and EXPORT_.
-# Do not strip modules that have not been converted to use
-# MODULE_PARM or are using the old method of exporting symbols.
-# In particular do not use on modules prior to 2.1.20 (approx).
-#
-# The objects are stripped in /tmp, only if the strip works is
-# the original overwritten. If the command line to strip the
-# symbols becomes too long, the strip is done in multiple passes.
-# Running strip_module twice on the same object is safe (and a
-# waste of time).
-#
-
-sizeofptr="/tmp/$$.sizeofptr"
-echo 'int main() { return sizeof(void *); }' | gcc -xc - -o $sizeofptr
-$sizeofptr
-export SIZEOF_POINTER=$?
-rm -f $sizeofptr
-
-cat > /tmp/$$.awk <<\EOF
-BEGIN {
- strip = "/usr/bin/objcopy";
- nm = "/usr/bin/nm";
- cp = "/bin/cp";
- mv = "/bin/mv";
- rm = "/bin/rm";
- tmp = "/tmp";
- command_size = 400; # arbitrary but safe
-
- getline < "/proc/self/stat";
- pid = $1;
- tmpcopy = tmp "/" pid ".object";
- nmout = tmp "/" pid ".nmout";
-
- for (i = 1; i < ARGC; ++i)
- strip_module(ARGV[i]);
-
- do_command(rm " -f " tmpcopy " " nmout);
-
- exit(0);
-}
-
-function strip_module(object,
- keep_symbol, to_strip, symbol, command, changed) {
- do_command(cp " -a " object " " tmpcopy);
- do_command(nm " " tmpcopy " > " nmout);
- # delete array_name sometimes breaks, internal error, play safe
- for (symbol in keep_symbol)
- delete keep_symbol[symbol];
- for (symbol in to_strip)
- delete to_strip[symbol];
- new_module_format = 0;
- ptrskip = 2 + 2 * ENVIRON["SIZEOF_POINTER"];
- while ((getline < nmout) > 0) {
- $0 = substr($0, ptrskip);
- # b static variable, uninitialised
- # d static variable, initialised
- # r static array, initialised
- # t static label/procedures
- if ($1 ~ /[bdrt]/)
- to_strip[$2] = "";
- else if ($2 ~ /R __ksymtab_/)
- keep_symbol[substr($2, 11)] = "";
- else if ($0 ~ /R __module_parm_/)
- keep_symbol[substr($2, 15)] = "";
- else if ($1 != "?")
- keep_symbol[$2] = "";
- if ($2 ~ /__module/)
- new_module_format = 1;
- }
- close(nmout);
- command = "";
- changed = 0;
- failure = 0;
- if (new_module_format) {
- for (symbol in to_strip) {
- if (!(symbol in keep_symbol)) {
- changed = 1;
- if (length(command) > command_size) {
- failure = failure || do_command(strip command " " tmpcopy);
- command = "";
- }
- command = command " --strip-symbol=" symbol;
- }
- }
- }
- if (command != "") {
- changed = 1;
- failure = failure || do_command(strip command " " tmpcopy);
- }
- if (changed && !failure)
- do_command(mv " " tmpcopy " " object);
-}
-
-function do_command(command) {
- if ((ret = system(command)) != 0) {
- giveup("command \"" command "\" failed " ret, ret);
- return 1;
- }
- return 0;
-}
-
-function giveup(message, ret) {
- print "strip_module: " message > "/dev/stderr";
-# exit(ret);
-}
-EOF
-
-awk -f /tmp/$$.awk "$@"
-ret=$?
-rm -f /tmp/$$.awk
-exit $ret
diff --git a/kernel/update_kernel b/kernel/update_kernel
deleted file mode 100755
index ddb7483dc..000000000
--- a/kernel/update_kernel
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-
-ALL_KERNELS="all.kernels"
-RPMS=/export/Mandrake/RPMS
-
-ARCH=`uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/'`
-
-
-# move stuff to this new "kernel" directory
-if [ ! -d all.kernels ]; then
- if [ -d ../all.kernels ]; then
- mv ../all.kernels .
- rm -rf ../all.modules
- else
- # make sure "all.kernels" directory exists
- mkdir all.kernels
- fi
-fi
-
-function create_marfile() {
- marfile=$1
- shift
- $GIBASEDIR/mdk-stage1/mar/mar -c $marfile $*
-}
-
-function create_modules() {
- kernel_path=$1
- kern=$2
- echo "Updating modules in '`pwd`' for kernel '$kern'"
- cp -f `find $kernel_path/lib/modules/ -name "*.o"` .
- /sbin/depmod -F $kernel_path/boot/System.map* -e *.o | perl -pe 's/\\\n//' \
- | perl -ne 's/\.o//g; s/[ \t]+/ /g; print if /: /' > modules.dep
- perl -pi -e 's/((plip|ppa|imm): parport)/$1 parport_pc/' modules.dep
-
- /sbin/modinfo -f '%{filename} %{description}\n' *.o | perl -lne 'print "$1\t$2" if /(.*?)\.o "(.*)"/' > modules.description
-}
-
-function create_modules_mar() {
- echo -n "stripping $kern: "
- $GIBASEDIR/kernel/strip_modules *.o 2>/dev/null
- echo "done"
-
- echo -n "packdrake $kern: "
- ls *.o | packdrake -b9s "modules.cz" 400000
- echo "done"
- mv modules.cz ../modules.cz-$kern
- for i in network network_gigabit_usb network_gigabit network_usb cdrom hd hdcdrom_usb pcmcia all; do
- modules_var="${i}_modules"
- eval "create_marfile ${i}_modules.mar \$$modules_var"
- done
- echo
-}
-
-[ -e $ALL_KERNELS/.main ] && main=$(cat $ALL_KERNELS/.main)
-
-if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then
- rpm=$(rpm -qp --qf '%{name}' $RPMS/kernel-[0-9]*.rpm | perl -pe 's/kernel-((\.?[0-9]+){3})\.(.*)/$1-${3}/')
-else
- rpm=$(rpm -qp --qf '%{name}' $RPMS/kernel-BOOT-*.rpm | perl -pe 's/kernel-BOOT-((\.?[0-9]+){3})\.(.*)/$1-${3}BOOT/')
-fi
-if [ -n "$rpm" -a ! -e $ALL_KERNELS/$rpm ]; then
- [ -n "$main" ] && rm -rf $ALL_KERNELS/$main
- cd $ALL_KERNELS
- rm -rf $rpm ; mkdir $rpm
- cd $rpm
- if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then
- rpm2cpio $RPMS/kernel-[0-9]*.rpm | cpio -id
- else
- rpm2cpio $RPMS/kernel-BOOT-*.rpm | cpio -id
- fi
- find -type f -name "*.o.gz" | xargs gunzip
- cd ../..
-
- for dir in /tftpboot /var/lib/tftpboot; do
- rm -f $dir/{vmlinuz,network.rdz}
- done
-fi
-
-[ -n "$main" -a -e $ALL_KERNELS/$main ] || {
- cd $ALL_KERNELS
- main=$(echo 2.* | sed 's/.* //')
- echo "Choosing $main"
- echo $main > .main
- cd ..
-}
-
-
-if [ "$ARCH" == "i386" ]; then
- for i in $ALL_KERNELS/*/boot/vmlinuz*; do
- #disable any existing resolution!!!
- /usr/sbin/rdev -v $i 65535 #788 #785
- done
-fi
-
-
-GIBASEDIR=`pwd`/..
-
-rm -rf all.modules ; mkdir all.modules
-for i in $ALL_KERNELS/*; do
- kern=`basename $i`
- (
- mkdir all.modules/$kern
- cd all.modules/$kern
-
- create_modules ../../$i $kern
- ) || exit 1
-done
-cp -f all.modules/$main/modules.description .
-
-l=`perl modules.pl images` || exit 1
-eval $l
-
-for i in $ALL_KERNELS/*; do
- kern=`basename $i`
- (
- cd all.modules/$kern
-
- if [ "$kern" = "$main" ]; then
- create_modules_mar ../../$i $kern
- else
- echo "$kern ($main)"
- create_modules_mar ../../$i $kern 2>/dev/null
- fi
- ) || exit 1
-done
-
-
-./check_mar.pl
diff --git a/live_update b/live_update
deleted file mode 100644
index 0778b4ae8..000000000
--- a/live_update
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-message=/usr/X11R6/bin/gmessage
-[ -x $message ] || message=/usr/X11R6/bin/xmessage
-[ -x $message ] || unset message
-
-if [ "$UID" -ne 0 ]; then
- if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Arrêter:0"
- msg="Mise à jour en direct de Mandrake Linux.
-
-Vous devez être l'utilisateur root pour lancer cette application." ;;
- *) buttons="Abort:0"
- msg="Mandrake Linux live upgrade.
-
-You need to be root to start this program." ;;
- esac
- $message -buttons "$buttons" -print "$msg"
- else
- echo >&2 "You need to be root to start this program."
- fi
- exit 3
-fi
-
-distrib=`pwd`;
-if [ ! -x "$distrib/Mandrake/mdkinst/usr/bin/perl-install/live_install" ]; then
- distrib="/mnt/cdrom"
-fi
-if [ ! -x "$distrib/Mandrake/mdkinst/usr/bin/perl-install/live_install" ]; then
- if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Arrêter:0"
- msg="Mise à jour en direct de Mandrake Linux.
-
-Impossible de trouver le Cédérom d'installation de Mandrake Linux dans le premier lecteur." ;;
- *) buttons="Abort:0"
- msg="Mandrake Linux live upgrade.
-
-Unable to find Mandrake Linux Installation Cd-Rom in the first drive." ;;
- esac
- $message -buttons "$buttons" -print "$msg"
- else
- echo >&2 "Unable to find Mandrake Linux Installation Cd-Rom in the first drive."
- fi
- exit 2
-fi
-
-if [ -x "$message" ]; then
- case "$LANG" in
- fr*) buttons="Mise à jour:0,Annuler:1"
- msg="Mise à jour en direct de Mandrake Linux.
-
-Appuyez sur \"Mise à jour\" pour lancer la mise à jour de votre système,
-cela prendra quelques minutes avant que l'écran de DrakX apparaisse.
-
-Appuyez sur \"Annuler\" pour ne pas mettre à jour votre système de cette manière." ;;
- *) buttons="Upgrade:0,Cancel:1"
- msg="Mandrake Linux live upgrade.
-
-Press \"Upgrade\" to start live upgrade on your system, note this will
-take some time to prepare the system before DrakX screen appears.
-
-Press \"Cancel\" to avoid upgrading your system this way." ;;
- esac
- default=`echo $buttons | cut -d: -f1`
- $message -buttons "$buttons" -default "$default" -print "$msg"
- [ $? -ne 0 ] && exit 1
-else
- echo >&2 "Press ENTER to start live upgrade on your system, note this will
-take some time to prepare the system before DrakX screen appears.
-
-Press CTRL-C to avoid upgrading your system this way."
-fi
-
-cd "$distrib/Mandrake/mdkinst/usr/bin/perl-install" && exec ./live_install
-exit 2
diff --git a/make_boot_img b/make_boot_img
deleted file mode 100755
index 4df3d2c45..000000000
--- a/make_boot_img
+++ /dev/null
@@ -1,711 +0,0 @@
-#!/usr/bin/perl
-
-@ARGV >= 2 or die "usage: $0 <image> all|cdrom|hd|hdcdrom_usb|network|network_gigabit_usb|network_gigabit|network_usb|blank|pcmcia|live|tftp|tftprd\n";
-
-use Config;
-use MDK::Common;
-Config->import;
-my ($arch) = $Config{archname} =~ /(.*?)-/;
-
-($img, $type) = @ARGV;
-
-# move stuff to new "kernel" directory
--d 'kernel' or die "directory kernel is missing\n";
-rename 'all.kernels', 'kernel/all.kernels';
-rename 'all.modules', 'kernel/all.modules';
-
-$default_append = "ramdisk_size=128000 root=/dev/ram3";
-# full acpi support for amd64, enough acpi support for x86 ht, no acpi for others
-$default_acpi = ($arch =~ /i.86/ ? "acpi=ht" : ($arch =~ /x86_64/ ? "acpi=off" : "acpi=off"));
-$default_vga = "vga=788";
-
-$instdir = "mdk-stage1";
-$mnt = "/tmp/drakx_mnt";
-$mke2fs = "/sbin/mke2fs -q -m 0 -F -s 1";
-
-if ($>) {
- $sudo = "sudo";
- $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
-}
-
-sub __ { print @_, "\n"; system(@_); }
-sub _ { __ @_; $? and die; }
-
-_ "$sudo mkdir $mnt" unless -e $mnt;
-_ "$sudo mkdir ${mnt}2" unless -e "${mnt}2";
-
-$install = $ {{
- all => "stage1-full",
- blank => "stage1-full",
- live => "stage1-full",
- tftp => "stage1-full",
- tftprd => "stage1-full",
- pcmcia => "stage1-full",
- network => "stage1-network",
- network_gigabit => "stage1-network",
- network_usb => "stage1-network-usb",
- network_gigabit_usb => "stage1-network-usb",
- cdrom => "stage1-cdrom",
- hd => "stage1-disk",
- hdcdrom_usb => "stage1-medias-usb",
- live64 => "stage1-full",
- tftp64 => "stage1-full",
- tftprd64 => "stage1-full",
- pcmcia64 => "stage1-full",
- network64 => "stage1-network",
- cdrom64 => "stage1-cdrom",
- hd64 => "stage1-disk",
-}}{$type} or die;
-
-mkdir "images";
-chomp($main = `cat kernel/all.kernels/.main`);
-
-if ($img =~ /blank|pcmcia/) {
- @kernels = $main;
-} else {
- @kernels = map { m|kernel/all.kernels/(.*)| } glob('kernel/all.kernels/*');
- $img =~ /usb/ and @kernels = grep { $_ !~ /2\.2\.14/ } @kernels; #- 2.2.14 is too old, usb support was not working properly
-}
-
-foreach (@kernels) {
- if ($img =~ /rdz$/) {
- initrd($mnt, "$img-$_");
- } else {
- print STDERR "calling boot_img_$arch\n";
- $::{"boot_img_$arch"}->($mnt, "$img-$_", glob("kernel/all.kernels/$_/boot/vmlinu*"));
- rename("$img-$main", "$img");
- }
-}
-if ($arch =~ /x86_64/ && $img =~ /all/) {
- # isolinux is supposed to work on all those new hardware
- isolinux($main, @kernels);
-}
-if ($arch =~ /i.86/ && $img =~ /all/) {
- isolinux($main, @kernels);
-
- my ($img, $img_sav) = ("images/cdrom.img-$main", 'images/cdrom.img-sav');
- rename($img, $img_sav);
- $type = 'cdrom';
- $::{"boot_img_$arch"}->($mnt, $img, "kernel/all.kernels/$main/boot/vmlinu*", sub { $_[0] =~ s/\bautomatic=\S+\b//; "$_[0] changedisk" });
- rename($img, 'images/cdrom-changedisk.img');
- rename($img_sav, $img);
-}
-
-if (my ($tftpboot) = grep { -e $_ } qw(/tftpboot /var/lib/tftpboot)) {
- system("/bin/cp -f kernel/all.kernels/$main/boot/vmlinu* $tftpboot/vmlinuz 2>/dev/null");
- system("/bin/cp -f images/network.rdz-$main $tftpboot/network.rdz 2>/dev/null");
-}
-
-sub install_stripped { _ "strip $_[0]"; _ "$sudo install $_[0] $_[1]" }
-
-sub initrd {
- my ($mnt, $img) = @_;
- my ($ltype, $I) = $type =~ /(.*?)(64)/; $ltype ||= $type;
- my $tmp = "$ENV{HOME}/tmp/initrd";
- my $tar = "$instdir/stage1-data/stage1.tar.bz2";
-
- __ "$sudo umount $tmp $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$tmp bs=1k count=" . ($arch =~ /ia64/ ? ($type eq "all" ? 16386 : 16384) : ($type eq "all" ? 4000 : 2000));
- _ "$mke2fs $tmp";
- _ "$sudo mount -t ext2 $tmp $mnt -o loop";
-
- _ "$sudo tar xjC $mnt -f $tar";
- symlinkf "/tmp/stage2/lib64", "$mnt/lib64" if ($arch =~ /x86_64/);
- install_stripped("$instdir/init", "$mnt/sbin");
- install_stripped("$instdir/$install", "$mnt/sbin/stage1");
-
- if (member($type, qw(network network_gigabit_usb all blank))) {
- install_stripped("$instdir/ppp/pppd-bin", "$mnt/sbin/pppd");
- install_stripped("$instdir/rp-pppoe/pppoe-bin", "$mnt/sbin/pppoe");
- _ "$sudo mknod $mnt/dev/ppp c 108 0";
- _ "$sudo mknod $mnt/dev/ptyp0 c 2 0";
- _ "$sudo mknod $mnt/dev/ttyp0 c 3 0";
- }
-
- if (member($type, qw(pcmcia all network)) && $arch !~ /ppc|ia64|x86_64/) {
- _ "$sudo cp -a /etc/pcmcia $mnt/etc";
- _ "cp $mnt/etc/pcmcia/config /tmp/pcmcia_config_tmp";
- _ "tools/patch_pcmcia_config.pl /tmp/pcmcia_config_tmp kernel/all.modules/$main/modules.dep";
- _ "sudo mv /tmp/pcmcia_config_tmp $mnt/etc/pcmcia/config";
- }
- my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- $modz = "kernel/all.modules$I/$ext";
- if ($type !~ /blank/) {
- _ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" ;
- _ "$sudo cp -f $modz/modules.dep $mnt/modules/";
- }
- _ "$sudo umount $mnt";
-
-
-# Workaround for vfat-loop bug (quite touchy)
- _ "gzip -9f $tmp";
- _ "cp -f $tmp.gz $img";
- _ "rm -f $tmp.gz";
-# _ "gzip -9 -c $tmp > $img";
-# _ "rm -f $tmp";
-}
-
-sub entries_append {
- my ($type) = @_;
-
- my $automatic = "";
- $automatic = "automatic=method:cdrom" if ($type eq "cdrom");
- $automatic = "automatic=method:disk" if ($type eq "hd");
-
- my @simple_entries = (
- linux => "$default_vga",
- vgalo => "vga=785",
- vgahi => "vga=791",
- vga16 => "vga16",
- text => "text",
- patch => "patch $default_vga",
- expert => "expert $default_vga",
- rescue => "rescue rw",
- );
- my @entries = (
- (map { $_->[0] => "$automatic $default_acpi $_->[1]" } group_by2(@simple_entries)),
- acpi => "$automatic $default_vga",
- if_(member($type, "cdrom", "all"), oem => "automatic=method:cdrom $default_vga $default_acpi rescue oem rw",),
- if_($type eq "all", all => "pcmcia $default_vga $default_acpi"),
- );
-
- map { [ $_->[0], "$default_append $_->[1]" ] }
- group_by2(@entries);
-}
-
-sub boot_img_i386 {
- my ($mnt, $img, $kernel, $args_callback) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
-
- if ($type eq "hd") {
- _ "bunzip2 -c $instdir/init-data/msgboot.img.bz2 > $img";
- } elsif ($type eq "all") {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo-2880.img.bz2 > $img";
- } elsif ($type eq "blank") {
- _ "bunzip2 -c $instdir/init-data/msgboot-blank.img.bz2 > $img";
- } else {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo.img.bz2 > $img";
- }
-
-
- _ "$sudo mount -t vfat -o umask=0 $img $mnt -o loop";
- _ "cat $kernel > $mnt/vmlinuz" if $type !~ /blank/;
-
- my $rdz = $img; $rdz =~ s/\.img/.rdz/;
- initrd("${mnt}2", $rdz) if !-e $rdz;
- my $short_type = substr($type, 0, 8);
- eval { _ "cp -f $rdz $mnt/$short_type.rdz" };
- if ($@) {
- unlink "$mnt/$short_type.rdz";
- my $avail = (split ' ', `df $mnt`)[-3];
- my $s = int((-s $rdz) / 1024);
- die sprintf("not enough room for $rdz: need %dKB (available %dKB < needed %dKB)\n", $s - $avail, $avail, $s);
- }
-
- my $timeout = 72;
- output "$mnt/syslinux.cfg",
-"default linux
-prompt 1
-timeout $timeout
-display boot.msg
-F1 help.msg
-F2 advanced.msg
-F3 boot.msg
-" . join('', map {
- my $args = $args_callback ? $args_callback->($_->[1]) : $_->[1];
-"label $_->[0]
- kernel vmlinuz
- append initrd=$short_type.rdz $args
-" } entries_append($type));
-
- _ "sync";
- _ "df $mnt";
-}
-
-# alias to x86 variant, slightly bigger with images though
-sub boot_img_x86_64 { &boot_img_i386 }
-
-sub boot_img_alpha {
- my ($mnt, $img) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$img bs=1k count=1440";
- _ "$mke2fs $img";
- _ "/sbin/e2writeboot $img /boot/bootlx";
- _ "$sudo mount -t ext2 $img $mnt -o loop";
- _ "cp -f vmlinux.gz $mnt" if $type !~ /blank/;
- -f "$type.rdz" ? _ "cp -f $type.rdz $mnt" : initrd("${mnt}2", "$mnt/$type.rdz");
-
- mkdir "$mnt/etc", 0777;
- output("$mnt/etc/aboot.conf",
-"0:vmlinux.gz initrd=$type.rdz rw $default_append $type
-1:vmlinux.gz initrd=$type.rdz rw $default_append text $type
-");
- _ "sync";
- _ "df $mnt";
-}
-
-sub boot_img_ia64 {
- my ($mnt, $img, $kernel) = @_;
- my $rdz = $img; $rdz =~ s/\.img/.rdz/;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "dd if=/dev/zero of=$img bs=1k count=16384";
- _ "mkdosfs $img";
- _ "$sudo mount -t vfat $img $mnt -o loop,umask=000";
- _ "$sudo cp -f $kernel $mnt/vmlinux";
- _ "cp -f $rdz $mnt/$type.rdz";
- _ "$sudo cp -f tools/ia64/elilo.efi $mnt";
- output("$mnt/elilo.conf", "
-prompt
-timeout=50
-
-image=vmlinux
- label=linux
- root=/dev/ram3
- initrd=$type.rdz
- append=\" ramdisk_size=120000\"
- read-only
-
-image=vmlinux
- label=rescue
- root=/dev/ram3
- initrd=$type.rdz
- append=\" rescue ramdisk_size=120000\"
-");
- _ "sync";
- _ "df $mnt";
-
-}
-
-sub boot_img_sparc {
- my ($mnt, $img) = @_;
- if ($type =~ /^live(.*)/) {
- #- hack to produce directly into /export the needed file for cdrom boot.
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
-
- _ "mkdir -p $dir/$boot";
- _ "cp -f /boot/cd.b /boot/second.b $dir/$boot";
- _ "cp -f vmlinux$1 $dir/$boot/vmlinux$1";
- -f "live$1.rdz" ? _ "cp -f live$1.rdz $dir/$boot" : initrd("${mnt}2", "$dir/$boot/live$1.rdz");
-
- output("$dir/$boot/silo.conf", "
-partition=1
-default=linux
-timeout=100
-read-write
-message=/$boot/boot.msg
-image=\"cat /$boot/boot.msg\"
- label=1
- single-key
-image=\"cat /$boot/general.msg\"
- label=2
- single-key
-image=\"cat /$boot/expert.msg\"
- label=3
- single-key
-image=\"cat /$boot/rescue.msg\"
- label=4
- single-key
-image=\"cat /$boot/kickit.msg\"
- label=5
- single-key
-image=\"cat /$boot/param.msg\"
- label=6
- single-key
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=linux
- alias=install
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=text
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 text root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=expert
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 expert root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=ks
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 ks root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=rescue
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=128000 rescue rw root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=linux
- alias=install
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=text
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 text root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=expert
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 expert root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=ks
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 ks root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=rescue
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=128000 rescue rw root=/dev/ram3\"
-");
-
- output("$dir/$boot/README", "
-To Build a Bootable CD-ROM, try:
- mkisofs -R -o t.iso -s /$boot/silo.conf /export
-");
- } elsif ($type =~ /^tftprd(.*)/) {
- my $dir = "/export";
- my $boot = "images";
- my $setarch = $1 ? "sparc64" : "sparc32";
-
- _ "mkdir -p $dir/$boot";
- -f "$type.rdz" or initrd("${mnt}2", "$type.rdz");
- _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
- _ "$setarch kernel$1/src/arch/sparc$1/boot/piggyback $dir/$boot/$type.img kernel$1/boot/System.map $type.rdz";
- } elsif ($type =~ /^tftp(.*)/) {
- my $dir = "/export";
- my $boot = "images";
-
- _ "mkdir -p $dir/$boot";
- _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
- } else {
- my $dir = "floppy";
- my ($ltype, $I) = $type =~ /(.*?)(64)/; $ltype ||= $type;
-
- __ "$sudo umount $mnt 2>/dev/null";
- _ "rm -rf $dir";
- _ "mkdir -p $dir";
- _ "cp -f /boot/fd.b /boot/second.b $dir";
- _ "cp -f vmlinuz$I $dir/vmlinux$I.gz" if $type !~ /blank/;
- -f "$type.rdz" ? _ "cp -f $type.rdz $dir" : initrd("${mnt}2", "$dir/$type.rdz");
-
- output("$dir/boot.msg", "
-Welcome to Mandrake Linux 7.1
-
-Press <Enter> to install or upgrade a system 7mMandrake Linux7m
-");
-
- output("$dir/silo.conf", "
-partition=1
-default=linux
-timeout=100
-read-write
-message=/boot.msg
-image=/vmlinux$I.gz
- label=linux
- initrd=/$type.rdz
- append=\"ramdisk_size=128000 $ltype root=/dev/ram3\"
-");
- _ "genromfs -d $dir -f /dev/ram -A 2048,/.. -a 512 -V \'DrakX boot disk\'";
- _ "$sudo mount -t romfs /dev/ram $mnt";
- _ "silo -r $mnt -F -i /fd.b -b /second.b -C /silo.conf";
- _ "$sudo umount $mnt";
- _ "dd if=/dev/ram of=$type.img bs=1440k count=1";
- _ "sync";
- _ "$sudo mount -t romfs /dev/ram $mnt";
- _ "df $mnt";
- }
-}
-
-sub boot_img_ppc {
- my (@kernels) = @_;
- #- hack to produce directly into /export the needed file for cdrom boot.
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
- _ "rm -rf $dir/$boot"; mkdir "$dir/$boot", 0777;
- foreach (glob("kernel/all.kernels/*")) {
- my $ext = basename($_);
- if ($ext =~ /2.4/) {
- _ "cp $_/boot/vmlinux $dir/$boot/vmlinux";
- _ "cp images/all.rdz-$ext $dir/$boot/all.gz";
- }
- if ($ext =~ /2.2/) {
- _ "cp $_/boot/vmlinux $dir/$boot/vmlinux-2.2";
- _ "cp images/all.rdz-$ext $dir/$boot/all-2.2.gz";
- }
- }
- _ "cp -f /usr/lib/yaboot/yaboot $dir/$boot/yaboot";
-
- output("$dir/$boot/ofboot.b", "<CHRP-BOOT>
-<COMPATIBLE>
-MacRISC
-</COMPATIBLE>
-<DESCRIPTION>
-Mandrake Linux PPC bootloader
-</DESCRIPTION>
-<BOOT-SCRIPT>
-\" screen\" output
-dev screen
-\" \"(0000000000aa00aa0000aaaaaa0000aa00aaaa5500aaaaaa)\" drop 0 8 set-colors
-\" \"(5555555555ff55ff5555ffffff5555ff55ffffff55ffffff)\" drop 8 8 set-colors
-device-end
-3 to foreground-color
-0 to background-color
-\" \"(0C)\" fb8-write drop
-\" Booting Mandrake Linux PPC...\" fb8-write drop 100 ms
-boot cd:2,\\\\yaboot
-</BOOT-SCRIPT>
-<OS-BADGE-ICONS>
-1010
-000000000000F8FEACF6000000000000
-0000000000F5FFFFFEFEF50000000000
-00000000002BFAFEFAFCF70000000000
-0000000000F65D5857812B0000000000
-0000000000F5350B2F88560000000000
-0000000000F6335708F8FE0000000000
-00000000005600F600F5FD8100000000
-00000000F9F8000000F5FAFFF8000000
-000000008100F5F50000F6FEFE000000
-000000F8F700F500F50000FCFFF70000
-00000088F70000F50000F5FCFF2B0000
-0000002F582A00F5000008ADE02C0000
-00090B0A35A62B0000002D3B350A0000
-000A0A0B0B3BF60000505E0B0A0B0A00
-002E350B0B2F87FAFCF45F0B2E090000
-00000007335FF82BF72B575907000000
-000000000000ACFFFF81000000000000
-000000000081FFFFFFFF810000000000
-0000000000FBFFFFFFFFAC0000000000
-000000000081DFDFDFFFFB0000000000
-000000000081DD5F83FFFD0000000000
-000000000081DDDF5EACFF0000000000
-0000000000FDF981F981FFFF00000000
-00000000FFACF9F9F981FFFFAC000000
-00000000FFF98181F9F981FFFF000000
-000000ACACF981F981F9F9FFFFAC0000
-000000FFACF9F981F9F981FFFFFB0000
-00000083DFFBF981F9F95EFFFFFC0000
-005F5F5FDDFFFBF9F9F983DDDD5F0000
-005F5F5F5FDD81F9F9E7DF5F5F5F5F00
-0083DD5F5F83FFFFFFFFDF5F835F0000
-000000FBDDDFACFBACFBDFDFFB000000
-000000000000FFFFFFFF000000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFF0000000000
-0000000000FFFFFFFFFFFFFF00000000
-00000000FFFFFFFFFFFFFFFFFF000000
-00000000FFFFFFFFFFFFFFFFFF000000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFFFF0000
-00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
-00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
-000000FFFFFFFFFFFFFFFFFFFF000000
-</OS-BADGE-ICONS>
-</CHRP-BOOT>
-");
-
- output("$dir/$boot/yaboot.conf", "
-init-message = \"\\nWelcome to Mandrake Linux PPC!\\nHit <TAB> for boot options.\\n\\n\"
-timeout = 150
-default = install-gui
-message=cd:,\\\\\\\\yaboot.msg
-
-image = cd:,\\\\\\\\vmlinux
- label = install-gui
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-gui-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
-
-image = cd:,\\\\\\\\vmlinux
- label = install-text
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-text-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-gui-old
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" gui-old video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux-2.2
- label = install-gui-old-2.2
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all-2.2.gz
- initrd-size = 34000
- append = \" gui-old video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux-2.2
- label = install-net-2.2
- root = /dev/ram3
- initrd = enet:0,all-2.2.gz
- initrd-size = 34000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net-text
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = enet:0,vmlinux-2.2
- label = install-net-text-2.2
- root = /dev/ram3
- initrd = enet:0,all-2.2.gz
- initrd-size = 34000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = rescue
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 34000
- append = \" rescue video=ofonly\"
-
-image = enet:0,vmlinux
- label = rescue-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 34000
- append = \" rescue video=ofonly\"
-");
-
- output("$dir/$boot/yaboot.msg", "
-Thanks for choosing Mandrake Linux PPC. The following is a short
-explanation of the various options for booting the install CD.
-
-All options ending with \"2.2\" will use the 2.2.20-9mdkBOOT kernel.
-The default syntax with no suffix uses the 2.4.18-4mdkBOOT kernel.
-The default if you just hit enter is \"install-gui\".
-
-install-gui: uses XFree86 fbdev mode
-install-text: text based install
-install-gui-old: old Xpmac gui
-install-net: allows you to use a minimal boot CD,
- pulling the rest of the install from
- a network server
-install-net-text: text mode network install
-rescue: boots the rescue image
-rescue-net: boots the rescue image from a network server
-
-");
-
-}
-
-sub isolinux {
- my ($main, @kernels) = @_;
- @kernels = ($main, grep { $_ ne $main } @kernels);
- _ "rm -rf isolinux"; mkdir "isolinux", 0777;
- my $i = 0;
- foreach (@kernels) {
- mkdir "isolinux/alt$i", 0777;
- my ($kernel) = glob("kernel/all.kernels/$_/boot/vmlinu*");
- _ "cp $kernel isolinux/alt$i/vmlinuz";
- _ "cp images/all.rdz-$_ isolinux/alt$i/all.rdz";
- $i++;
- }
- if (-e "isolinux-graphic.bmp") {
- #- change here for newer picture isolinux-graphic.bmp and newer parameters.
- #- for old style pictures (9.1 and previous)
- # lilo-bmp2mdk mode:0x103 progress:425,173,16,7,64+21 clear:600,800,64+59 pos:0,0 <isolinux-graphic.bmp >isolinux/boot.msg
- #- for current 9.2 pictures.
- _ "lilo-bmp2mdk mode:0x103 progress:371,144,4,8,64+60 clear:600,800,64+127 pos:0,0 <isolinux-graphic.bmp >isolinux/boot.msg";
- }
- _ "cp /usr/lib/syslinux/isolinux.bin isolinux/isolinux.bin";
- output "isolinux/isolinux.cfg", "
-default linux
-prompt 1
-timeout 150
-" . (-e "isolinux/boot.msg" ? "display boot.msg" : "display help.msg") . "
-F1 help.msg
-F2 advanced.msg
-" . (-e "isolinux/boot.msg" && "F3 boot.msg") . "
-" . join('', map {
-"label $_->[0]
- kernel alt0/vmlinuz
- append initrd=alt0/all.rdz $_->[1] automatic=method:cdrom
-" } entries_append('all'))
- . join('', map_index {
-"label alt$::i
- kernel alt$::i/vmlinuz
- append initrd=alt$::i/all.rdz $default_append $default_acpi $default_vga
-" } @kernels);
-
- output "isolinux/help.msg", (-e "isolinux/boot.msg" && pack "C*", 0x0E, 0x80, 0x03, 0x00) .
-"
- 0aWelcome to 09Mandrake Linux0a install help07
-
-In most cases, the best way to get started is to simply press the 0e<Enter>07 key.
-If you experience problems with standard install, try one of the following
-install types (type the highlighted text and press 0e<Enter>07):
-
- o 0fvgalo07 for low resolution graphical installation.
- o 0ftext07 for text installation instead of the graphical one.
- o 0flinux07 for standard graphical installation at normal resolution.
- o 0fexpert07 for expert graphical installation at normal resolution.
-
-
-To use this CD to repair an already installed system type 0frescue07
-followed by 0e<Enter>07.
-
-You can also pass some 0f<specific kernel options>07 to the Linux kernel.
-For example, try 0flinux mem=128M07 if your system has 128Mb of RAM but the default
-kernel ($main) does not detect it correctly.
-0cNOTE07: You cannot pass options to modules (SCSI, ethernet card) or devices
-such as CD-ROM drives in this way. If you need to do so, use expert mode.
-
-" . (-e "isolinux/boot.msg" ?
- "0c[F1-Help] [F2-Advanced Help] [F3-Main]07" :
- "0c[F1-Help] [F2-Advanced Help]07") . "\n";
-
- output "isolinux/advanced.msg", (-e "isolinux/boot.msg" && pack "C*", 0x0E, 0x80, 0x03, 0x00) .
-"
-The following install types may be used instead of previously notified :
- o 0fvgahi07 for high resolution graphical installation.
- o 0fvga1607 for 640x480 in 16 colors graphical installation.
-
-The following options may be added on the command line :
- o 0freadonly=107 to disable editing disk partitions.
- o 0fdisplay=ackbar:007 to export display to 09ackbar07 machine screen 0 during
- installation.
- o 0fnoauto07 to disable automatic detection (generally used with 0fexpert07).
- o 0fsecurity=n07 to set security level to value 09n07.
- o 0fupdatemodules07 to use the special update floppy containing modules updates.
- o 0fpatch07 to use a patch from the floppy (file named 09patch.pl07).
- o 0fauto_install=floppy07 to enable auto_install using 09auto_inst.cfg07 file on the
- floppy.
-
-You can choose the following kernels :
-" . join('', map_index { " o 0falt$::i07 is kernel $_\n" } @kernels) . "
-" . (-e "isolinux/boot.msg" ?
- "0c[F1-Help] [F2-Advanced Help] [F3-Main]07" :
- "0c[F1-Help] [F2-Advanced Help]07") . "\n";
-}
diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore
deleted file mode 100644
index d6a8a8434..000000000
--- a/mdk-stage1/.cvsignore
+++ /dev/null
@@ -1,13 +0,0 @@
-init
-stage1-full
-stage1-cdrom
-stage1-disk
-stage1-medias-usb
-stage1-network
-stage1-network-usb
-debug.log
-.depend
-*.rdz*
-mkinitrd_helper.tar.bz2
-hack_*
-rescue-gui
diff --git a/mdk-stage1/.gitignore b/mdk-stage1/.gitignore
new file mode 100644
index 000000000..fe2469cea
--- /dev/null
+++ b/mdk-stage1/.gitignore
@@ -0,0 +1,13 @@
+*.o
+dhcp-client
+init
+probe-modules
+rescue-gui
+stage1
+pci-resource/pci-ids.h
+usb-resource/usb-ids.h
+pcmcia-resource/pcmcia-ids.h
+pcmcia/lex_config.c
+pcmcia/libpcmcia.a
+pcmcia/yacc_config.c
+pcmcia/yacc_config.h
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile
index 60fcf0830..1d66d22fe 100644
--- a/mdk-stage1/Makefile
+++ b/mdk-stage1/Makefile
@@ -2,11 +2,9 @@
#
# mdk-stage1 - the program that will load second-stage install
#
- # $Id$
+ # Pixel (pixel) (mostly done by Guillaume Cottenceau)
#
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
+ # Copyright 2000-2004 Mandriva
#
# This software may be freely redistributed under the terms of the GNU
# public license.
@@ -14,265 +12,156 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+VERSION=2.62
+PRODUCT=drakx-installer-binaries
+
#
# Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software
#
- #*****************************************************************************
- #
- # Currently:
- #
- # ix86
- # init with minilibc
- # stage1 with dietlibc
- #
- # ppc
- # init with dietlibc
- # stage1 with glibc
- #
- # ia64
- # init with glibc
- # stage1 with glibc
- #
- # x86-64
- # init with minilibc
- # stage1 with dietlibc
- #
- #*****************************************************************************
-VERSION = 9.2
-
top_dir = .
include $(top_dir)/Makefile.common
+include $(top_dir)/../Makefile.config
+ARCHDIR=$(ARCH)
+ifeq (i386, $(ARCH))
+ARCHDIR=i686
+endif
+DEFS = -DDISTRIB_NAME=\"$(DISTRIB_NAME)\" -DDISTRIB_VERSION=\"$(DISTRIB_VERSION)\" -DDISTRIB_TYPE=\"$(DISTRIB_TYPE)\" -DDISTRIB_DESCR=\"$(DISTRIB_DESCR)\" $(ADDITIONAL_DEFS) -D_FILE_OFFSET_BITS=64 -DARCH=\"$(ARCHDIR)\" -DCONFIG_USE_ZLIB
-DEFS = -DVERSION=\"$(VERSION)\" -DSPAWN_SHELL
-
-COMPILE = $(CC) $(DEFS) $(CFLAGS)
-
+COMPILE = $(CC) $(DEFS) $(CFLAGS) -Wno-error=format-truncation
- #- stage1 "loader"
-ifeq (i386, $(ARCH))
-INITSRC = minilibc.c init.c
-INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\" -fno-builtin
-else
-ifeq (x86_64, $(ARCH))
-INITSRC = minilibc.c init.c
-INIT_DEFS = -DINIT_HEADERS=\"minilibc.h\" -fno-builtin
-else
INITSRC = init.c
-ifeq (ia64, $(ARCH))
-INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(GLIBC_INCLUDES)
-else
-INIT_DEFS = -DINIT_HEADERS=\"init-libc-headers.h\" $(DIETLIBC_INCLUDES)
-endif
-endif
-endif
-INITOBJS = $(subst .c,.o,$(INITSRC))
+STAGE1_DEFS=-DDISABLE_KA
+
+INITOBJS = $(INITSRC:.c=.o)
#- frontends
NEWT_FRONTEND_SRC = newt-frontend.c
-NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a
+NEWT_FRONTEND_LIBS = -lnewt -lslang
STDIO_FRONTEND_SRC = stdio-frontend.c
STDIO_FRONTEND_LIBS =
-STDIO_FRONTEND_LIBS =
-
-FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC))
+FRONTEND_OBJS = $($(F)_FRONTEND_SRC:.c=.o)
FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS)
-INSMOD = insmod-modutils
-ifeq (i386, $(ARCH))
-INSMOD = insmod-busybox
-endif
-ifeq (x86_64, $(ARCH))
-INSMOD = insmod-busybox
-endif
+STAGE1_OWN_LIBS = -lz -lldetect -lkmod -lpci -llzma -lsysfs
-STAGE1_OWN_LIBS = $(INSMOD)/libinsmod.a mar/libmar.a bzlib/libbzlib.a
-
-
-ifeq (DIETLIBC, $(L))
-STAGE1_NETWORK_LIBS = $(top_dir)/dietlibc/bin-$(ARCH)/librpc.a
-endif
-
-ifeq (GLIBC, $(L))
-ifeq (x86_64, $(ARCH))
-STAGE1_NETWORK_LIBS = /usr/lib64/libresolv.a
-else
-STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a
-endif
-endif
#- stage1 itself
-STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c
+STAGE1SRC = stage1.c log.c utils.c params.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c lomount.c thirdparty.c zlibsupport.c
CDROMSRC = cdrom.c
-DISKSRC = disk.c lomount.c
-NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c
-
-ALLSRC = $(INITSRC) $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)
-
-
-
-STAGE1OBJS-CDROM = $(subst .c,-CDROM.o,$(STAGE1SRC) $(CDROMSRC))
+DISKSRC = disk.c directory.c partition.c
+NETWORKSRC = network.c dhcp.c url.c dns.c adsl.c directory.c wireless.c
+#KASRC = ka.c
-CDROM_DEFS = -DDISABLE_DISK -DDISABLE_NETWORK
+# use sort to remove duplicates
+STAGE1_ALLSRC = $(sort $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC) $(KASRC))
+ALLSRC = $(INITSRC) $(STAGE1_ALLSRC)
-STAGE1OBJS-DISK = $(subst .c,-DISK.o,$(STAGE1SRC) $(DISKSRC))
-DISK_DEFS = -DDISABLE_CDROM -DDISABLE_NETWORK
-
-
-STAGE1OBJS-MEDIAS-USB = $(subst .c,-MEDIAS-USB.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC))
-
-MEDIAS-USB_DEFS = -DDISABLE_NETWORK
+CDROM_DEFS = -DSPAWN_SHELL -DDISABLE_DISK -DDISABLE_NETWORK
STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC))
-STAGE1OBJS-NETWORK-USB = $(subst .c,-NETWORK-USB.o,$(STAGE1SRC) $(NETWORKSRC))
-NETWORK_DEFS = -DDISABLE_CDROM -DDISABLE_DISK
+NETWORK_DEFS = -DSPAWN_SHELL -DDISABLE_CDROM -DDISABLE_DISK -DDISABLE_KA
-STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC))
+STAGE1OBJS-NETWORK-STANDALONE = $(subst .c,-NETWORK-STANDALONE.o,$(STAGE1SRC) $(NETWORKSRC))
+NETWORK_STANDALONE_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -DENABLE_NETWORK_STANDALONE -DDISABLE_KA
-ifeq (i386, $(ARCH))
-LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o
-else
-ifeq (x86_64, $(ARCH))
-LDFLAGS_INIT = -static -nostdlib /usr/lib64/crt1.o
-INIT_LIBC = $(GLIBC_LIBC)
-else
-ifeq (ia64, $(ARCH))
-LDFLAGS_INIT = $(GLIBC_LDFLAGS_STAGE1)
-INIT_LIBC = $(GLIBC_LIBC)
-else
-LDFLAGS_INIT = $(DIETLIBC_LDFLAGS_STAGE1)
-INIT_LIBC = $(DIETLIBC_LIBC)
-endif
-endif
-endif
+STAGE1OBJS-FULL = $(STAGE1_ALLSRC:.c=-FULL.o)
-BINS = init stage1-full
+BINS = init stage1 dhcp-client rescue-gui probe-modules
-ifeq (i386, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network stage1-network-usb stage1-medias-usb
-endif
-ifeq (x86_64, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network stage1-network-usb stage1-medias-usb
-endif
-
-ifeq (i386, $(ARCH))
-DIRS = dietlibc
-endif
-ifeq (ppc, $(ARCH))
-DIRS = dietlibc
-endif
-ifeq (x86_64, $(ARCH))
-DIRS = dietlibc
-endif
-DIRS += mar pci-resource usb-resource bzlib $(INSMOD) slang newt ppp/pppd rp-pppoe/src
-ifeq (i386, $(ARCH))
-DIRS += pcmcia_
-endif
-
-
-ifeq (i386,$(ARCH))
-PCMCIA_LIB = pcmcia_/libpcmcia.a
+OTHERS = pci-ids.h usb-ids.h
+ifneq (,$(filter $(ARCH),i386 x86_64))
+OTHERS += pcmcia-ids.h pcmcia
+PCMCIA_LIB = pcmcia/libpcmcia.a
PCMCIA_DEFS = -DENABLE_PCMCIA
endif
USB_DEFS_GEN = -DENABLE_USB
USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS
-all: dirs $(BINS)
+all: $(OTHERS) $(BINS)
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n || exit 1 ;\
- done
+pci-ids.h: /usr/share/ldetect-lst/pcitable.gz update-pci-ids.pl
+ perl update-pci-ids.pl > $@ || { rm -f $@; exit 1; }
-init: $(INITOBJS) $(INIT_LIBC)
- $(CC) $(LDFLAGS_INIT) -o $@ $^
- $(STRIPCMD) $@
+usb-ids.h: /usr/share/ldetect-lst/usbtable.gz update-usb-ids.pl
+ perl update-usb-ids.pl > $@ || rm -f $@
-stage1-cdrom: $(STAGE1OBJS-CDROM) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
+pcmcia-ids.h: update-pcmcia-ids.pl
+ perl update-pcmcia-ids.pl > $@ || { rm -f $@; exit 1; }
-stage1-disk: $(STAGE1OBJS-DISK) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
+pcmcia/libpcmcia.a:
+ make -j -C pcmcia
-stage1-medias-usb: $(STAGE1OBJS-MEDIAS-USB) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
+probing.c: pci-ids.h
-stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
+init: $(INITOBJS)
+ $(CC) $(LDFLAGS) -o $@ $^
$(STRIPCMD) $@
-stage1-network-usb: $(STAGE1OBJS-NETWORK-USB) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
+stage1: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB)
+ $(CC) $(LDFLAGS) -o $@ $^
$(STRIPCMD) $@
-stage1-full: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(PCMCIA_LIB) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
+dhcp-client: $(STAGE1OBJS-NETWORK-STANDALONE) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK)
+ $(CC) $(LDFLAGS) -o $@ $^
$(STRIPCMD) $@
$(INITOBJS): %.o: %.c
- $(COMPILE) $(INIT_DEFS) -c $<
-
-$(STAGE1OBJS-CDROM): %-CDROM.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(CDROM_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-DISK): %-DISK.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(DISK_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-MEDIAS-USB): %-MEDIAS-USB.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(MEDIAS-USB_DEFS) $(USB_DEFS_GEN) -c $< -o $@
+ $(COMPILE) -c $<
$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) -c $< -o $@
+ $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) $(USB_DEFS_GEN) -DENABLE_ADDITIONAL_MODULES -c $< -o $@
-$(STAGE1OBJS-NETWORK-USB): %-NETWORK-USB.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(USB_DEFS_GEN) -c $< -o $@
+$(STAGE1OBJS-NETWORK-STANDALONE): %-NETWORK-STANDALONE.o: %.c
+ $(COMPILE) $(INCLUDES) $(NETWORK_STANDALONE_DEFS) $(USB_DEFS_GEN) -c $< -o $@
$(STAGE1OBJS-FULL): %-FULL.o: %.c
- $(DIET) $(COMPILE) $(INCLUDES) $(USB_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@
+ $(COMPILE) $(INCLUDES) -DSPAWN_SHELL $(USB_DEFS_GEN) $(PCMCIA_DEFS) $(STAGE1_DEFS) -c $< -o $@
.c.o:
- $(DIET) $(COMPILE) $(INCLUDES) -c $<
+ $(COMPILE) $(INCLUDES) -c $<
-clean:
+clean: localclean
@for n in $(DIRS); do \
(cd $$n; make clean) \
done
- rm -f *.o .depend *.rdz *.img rescue-gui $(BINS)
+localclean:
+ rm -f *.o .depend *.rdz *.img pci-ids.h pcmcia-ids.h usb-ids.h $(BINS)
-tar-mkinitrd_helper: clean
- rm -rf mkinitrd_helper-subdir
- mkdir mkinitrd_helper-subdir
- cd mkinitrd_helper-subdir ; cp -a ../dietlibc ../insmod-busybox ../Makefile.common ../insmod.h ../log.h . ; \
- cp ../Makefile.mkinitrd_helper Makefile
- tar cfj mkinitrd_helper.tar.bz2 mkinitrd_helper-subdir --exclude CVS
- rm -rf mkinitrd_helper-subdir
-rescue-gui: rescue-gui.o frontend-common.o $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(DIET) $(CC) $(LDFLAGS_STAGE1) -o $@ $^
+rescue-gui: rescue-gui.o frontend-common.o params.o utils.o log.o automatic.o $(FRONTEND_LINK)
+ $(CC) $(LDFLAGS) -o $@ $^
+ $(STRIPCMD) $@
+
+probe-modules: probe-modules.o probing-FULL.o modules-FULL.o params-FULL.o utils-FULL.o log-FULL.o automatic-FULL.o frontend-common-FULL.o stdio-frontend.o zlibsupport-FULL.o $(STAGE1_OWN_LIBS) $(PCMCIA_LIB)
+ $(CC) $(LDFLAGS) -o $@ $^
$(STRIPCMD) $@
+dist: tar
+tar:
+ rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ HEAD mdk-stage1 kernel Makefile.config | xz >mdk-stage1/$(PRODUCT)-$(VERSION).tar.xz;
+ $(info $(PRODUCT)-$(VERSION).tar.xz is ready)
.depend:
$(CPP) $(CFLAGS) -M $(ALLSRC) > .depend
@@ -282,15 +171,7 @@ include .depend
endif
-*-CDROM.o: %-CDROM.o: %.o
-
-*-DISK.o: %-DISK.o: %.o
-
-*-MEDIAS-USB.o: %-MEDIAS-USB.o: %.o
-
*-NETWORK.o: %-NETWORK.o: %.o
-*-NETWORK-USB.o: %-NETWORK-USB.o: %.o
-
*-FULL.o: %-FULL.o: %.o
diff --git a/mdk-stage1/Makefile.common b/mdk-stage1/Makefile.common
index 04c070fc2..f2c70273a 100644
--- a/mdk-stage1/Makefile.common
+++ b/mdk-stage1/Makefile.common
@@ -1,9 +1,9 @@
# -*- makefile -*-
#******************************************************************************
#
- # Guillaume Cottenceau (gc@mandrakesoft.com)
+ # Guillaume Cottenceau (gc)
#
- # Copyright 2000 MandrakeSoft
+ # Copyright 2000 Mandriva
#
# This software may be freely redistributed under the terms of the GNU
# public license.
@@ -15,50 +15,33 @@
#*****************************************************************************
ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
+ARCH := $(ARCH:arm%=arm)
- #- default lib is dietlibc (honoured by main Makefile whenever possible)
-L = DIETLIBC
-#L = GLIBC
+# DEBUG = 1
#- default frontend is newt (honoured by main Makefile whenever possible)
+ifdef DEBUG
+F = STDIO
+else
F = NEWT
-# F = STDIO
-
- #- override in some situations
-ifeq (ia64, $(ARCH))
-L = GLIBC
-endif
-ifeq (ppc, $(ARCH))
-L = GLIBC
-endif
-ifeq (x86_64, $(ARCH))
-#L = GLIBC
endif
-ifeq (DIETLIBC, $(L))
-DIET = $(top_dir)/dietlibc/bin-$(ARCH)/diet
-endif
-
-
- #- flags used by all stuff
-ifeq (ppc, $(ARCH))
-CFLAGS = -Os -pipe -Wall -fomit-frame-pointer -fno-strict-aliasing
+ifdef DEBUG
+OPTFLAGS = -g -DDEBUG
else
-CFLAGS = -Os -pipe -Wall -Werror -W -fomit-frame-pointer -fno-strict-aliasing
+OPTFLAGS = -Os
endif
-DIETLIBC_INCLUDES = -I$(top_dir)/dietlibc/include -I. -I$(top_dir)/bzlib
-GLIBC_INCLUDES = -I. -I$(top_dir)/bzlib
-INCLUDES = $($(L)_INCLUDES)
+#- flags used by all stuff
+CFLAGS = $(OPTFLAGS) -pipe -Wall -fomit-frame-pointer -fno-strict-aliasing -Werror
-GLIBC_LDFLAGS_STAGE1 = -static
-DIETLIBC_LDFLAGS_STAGE1 = -nostdlib
-LDFLAGS_STAGE1 = $($(L)_LDFLAGS_STAGE1)
+INCLUDES = -I.
-GLIBC_LIBC =
-DIETLIBC_LIBC =
-STAGE1_LIBC = $($(L)_LIBC)
+LDFLAGS =
+ifdef DEBUG
+STRIPCMD = echo not stripping
+else
STRIPCMD = strip -R .note -R .comment
+endif
diff --git a/mdk-stage1/Makefile.mkinitrd_helper b/mdk-stage1/Makefile.mkinitrd_helper
deleted file mode 100644
index 72bef595f..000000000
--- a/mdk-stage1/Makefile.mkinitrd_helper
+++ /dev/null
@@ -1,30 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-
-DIRS = dietlibc insmod-busybox
-
-
-all: dirs
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS
new file mode 100644
index 000000000..714ea3129
--- /dev/null
+++ b/mdk-stage1/NEWS
@@ -0,0 +1,572 @@
+- Replace i586 with i686 in files
+
+2.62
+
+- Sync list_modules with kernel 6.4
+
+2.61
+
+- Sync with kernel 6.0
+- Increase MEM_LIMIT_* to match current stage2 size
+- Fix the detection of available memory
+- Fix a build failure with -Werror=address
+
+2.60
+
+- Sync with kernel 5.17
+- Sync with kernel 5.18
+- Sync with kernel 5.19
+- Sync with kernel 6.0
+- Sync with kernel 6.1
+
+2.59
+
+- use 'nolock' option for NFS
+
+2.58
+
+- fix 'disk' method after kernel-5.15 breakage
+
+2.57
+
+- http server: allow to specify a port different than default "80" (mga#28367)
+
+2.56
+
+- load exfat module to mount exfat (mga#28371)
+
+2.55
+
+- recognize rtw89_pci HID driver
+
+2.53
+
+- recognize amd_sfh HID driver
+
+2.52
+
+- recognize more rtw88_*
+- sync with kernel 5.10
+
+2.51
+
+- configure wpa_supplicant to try both nl80211 and wext interfaces
+ o some old wireless driver modules may only support wext
+- improve help for entering wireless keys/passphrases
+ o note that ASCII strings can now be used for WEP keys (mga#21042)
+
+2.50
+
+- add support for WPA/WPA2 (mga#9541)
+
+2.49
+
+- sync with kernel 5.9
+
+2.48
+
+- sync with kernel 5.8
+
+2.47
+
+- sync with kernel 5.6/5.7
+
+2.46
+
+- make NVME code really generic and reuse if for most other disks
+
+2.45
+
+- fix NVME code to work for disks with no vendor
+
+2.44
+
+- add support for NVME disks
+
+2.43
+
+- sync with kernel 5.5
+
+2.42
+
+- sync with kernel 5.4
+
+2.41
+
+- sync with kernel 5.3
+
+2.40
+
+- recognize 8821ce (mga#24605)
+
+2.39
+
+- add AMD PCIe MP2 I2C detection
+
+2.38
+
+- sync with kernel 5.1
+
+2.37
+
+- sync with kernel 5.0
+
+2.36
+
+- suppress mount error messages when probing for media (mga#24142)
+- better gcc8 workarounds
+
+2.35
+
+- fix compiling with gcc8
+- compile with -Wno-error=format-truncation for now
+
+2.34
+
+- mounting:
+ o let libblk guess the right fs type rather than manually trying a long list
+ of potential fses
+ o use regular mount tool rather than manual system calls
+ o use regular mount tool for NFS too (support NFSv4, ...)
+
+2.33
+
+- advertize "ext4" rather than "ext2"
+- check for builtin modules in /sys/fs too (eg: ext4)
+- support auto-install with "method:disk,disk:xxx,part:xxxY,dir:zzz"
+
+2.32
+
+- list_modules: don't include vboxvideo (mga#23467)
+
+2.31
+
+- sync with kernel 4.1[89]
+
+2.30
+
+- add missing smartpqi driver (mga#23305)
+
+2.29
+- add missing Mellanox drivers (mga#23263)
+
+2.28
+- sync with kernel 4.1[5-7]
+
+2.27
+- further sync with kernel 4.14
+
+2.26
+- sync with kernel 4.14
+
+2.25
+- fix build with gcc7
+
+2.24
+- recognize 8812au (mga#21043)
+
+2.23
+- recognize new kernel-4.8 drivers
+
+2.22
+- recognize new kernel-4.9 drivers
+
+2.21
+- recognize new kernel-4.7 drivers
+
+2.20
+- fix description of network interfaces (mga#15638)
+
+2.19
+- recognize some missing wireless drivers (mga#16768)
+
+2.18
+- recognize new kernel-4.6 drivers
+
+2.17
+- recognize new kernel-4.4 drivers
+
+2.16
+- recognize new kernel-4.3 drivers
+
+2.15
+- recognize new kernel-4.1 drivers
+
+2.14
+- network.c: fix -Werror=logical-not-parentheses
+
+2.13
+- mount again debugfs for ldetect (mga#14435)
+ (regression in 1.83)
+
+2.12
+- recognize new kernel-3.19 drivers
+
+2.11
+- recognize new kernel-3.18 drivers (mga#14799)
+
+2.10
+- include new 3.18 USB host drivers (mga#14799)
+
+2.9
+- glibc 2.20 wants _DEFAULT_SOURCE instead of _BSD_SOURCE
+
+2.8
+- recognize new kernel-3.17 drivers
+
+2.7
+- recognize hyper-v network card
+
+2.6
+- recognize new kernel-3.16 drivers
+
+2.5
+- stop creating /dev entries now that we use udev
+
+2.4
+- fix building with "make -j24"
+
+2.3
+- recognize new kernel-3.15 drivers
+
+2.2
+- drop support for supermount (dead since 2007)
+- recognize new kernel-3.14 drivers
+
+2.1
+- drop support for SPARC
+- support dynamic linking only
+- use getaddrinfo() with glibc too now that use the dynamic library
+
+2.0
+- kernel modules and firmware is needed during stage2, so move and symlink
+ (symlinks are only for if you umount state2 /usr and want a still working initrd)
+ mga#11600 mga#11601
+
+1.83
+- do initrd symlinking in 'init' rather than 'stage1' (stage1 is now run earlier)
+- build init and stage1 as a shared library (due to bugs in directory handling
+ in dietlibc as exposed in libkmod but also because glibc is already include in
+ dracut)
+
+1.82
+- detect new kernel-3.12 modules
+
+1.81
+- sync with kernel-3.11 (might fix mga#11377)
+
+1.80
+- include latest list_modules.pl
+ (might fix mga#11377)
+
+1.79
+- fix compiling with gcc-4.8
+
+1.78
+- probe virtual drivers too (mga#9546)
+ (install from Xen hd not supported yet)
+
+1.77
+- use kmod for module loading (mga#9242, based on Pok works @mdv)
+
+1.76
+- revert patch introduced in r7542
+
+1.75
+- fix loading modules with "-" in their names (mga#9242)
+
+1.74.1
+- update list_modules for xen dom0 and virtio support (#9242)
+
+1.74
+- fix unitialized memory screwing up dialog input (pok, mdv, mga#8729)
+- kill bootsplash support (we drop bootsplash in kernel in 2008)
+- kill firmware loader now that firmware are loaded by the kernel
+
+1.73
+- add firmware loader written in C (based on hotplug2) (mga#6323)
+
+1.72
+- fix URL passed to stage2 when user didn't provide the arch in the
+ install path (mga#6823)
+- retry with FTP instead of HTTP when there's no proxy and user didn't
+ provided the architecture in the URL
+
+1.71
+- silent hid_generic loading
+
+1.70
+- mount /dev as devtmpfs (pok, mdv)
+- rely on /sys being created in images
+
+1.69
+- do not try to mount /proc/bus/usb
+- load hid-generic
+
+1.68
+- mount /sys/kernel/debug (needed for new ldetect)
+
+1.67
+- make sure nurses get initialized in UTF-8 (mga#4894)
+- revert to "linux" terminfo
+
+1.66
+- do not advice long dead pcmcia.img & network.img images (mga#5466)
+- first attempt at supporting XenBlk discs
+- hide "KA server" option (mga#5944)
+- switch from gethostbyname() to getaddrinfo() (mga#4056)
+- switch from gethostbyaddr() to getnameinfo()
+- use system libraries for newtw, slang & sysfs (mdv)
+
+1.65
+- load btrfs module to mount btrfs
+- try mounting as btrfs
+
+1.64
+- default to "screen" instead of "linux" terminfo (mga#4894)
+
+1.63
+- do not try to load obsolete sqlzma & squashfs_lzma kernel modules
+- recognize c67x00, imx21-hcd, fhci, isp1362-hcd, oxu210hp-hcd & renesas-usbhs
+ USB host drivers (mga#4905)
+
+1.62
+- fix segfaulting when ISO directory is not valid (mga#4592)
+
+1.61
+- fix building with newer dietlibc/zlib
+
+1.60
+- add support for virtio discs
+
+1.59
+- try to use arch-prefixed location for FTP & HTTP installs (mga#2578)
+
+1.58
+- add support for kernel compressed as XZ
+
+1.57
+- fix linking with new kmod
+
+1.56
+- kill 10 years old snapshot of pppd & pppoe
+ (now using upstream pppd & pppoe)
+- link with libkmod instead of libmodprobe
+
+1.55:
+- pcmcia: kill obsolete test for 2.2 kernel
+- sync with kernel-3.2.0-0.rc7.1.mga2 for updated list_modules.pm
+
+1.54:
+- fix retrieving mirrorlist, broken in 1.53
+- fix build with Werror
+
+1.53:
+- display distro name in mirror list too (#191)
+
+1.52:
+- fix build with gcc-4.6.2
+ * fixes -Werror=unused-but-set-variable
+
+1.51:
+- sync with kernel-3.1.0-1.mga2
+ * add hid devices:
+ hid-keytouch, hid-uclogic
+ * add sas/raid driver:
+ isci
+ * add sound devices:
+ snd-lola, snd-firewire-speakers snd-isight, snd-usb-6fire
+ * add usb/storage:
+ ums-eneub6250, ums-realtek
+ * add wireless drivers:
+ brcmsmac, rtl8187se, rtusb, rtl8192se, rtl8192cu, rtl8192de
+
+1.50:
+- do not attempt to perform ISA probe for PCMCIA controller on x86_64
+ as it fails with kvm_amd (#1156)
+- add ums-* (USB mass storage) modules in disk/usb category
+
+1.49:
+- use new libldetect API for finding out unknown devices
+- handle more PCMCIA controllers
+- "i82365" driver was renamed "pd6729"
+
+1.48:
+- arm/mips support
+- try to handle built-in modules
+- fix build with Werror
+- use mirrors.mageia.org/api for mirror list
+
+1.47:
+- 2011.0 build
+
+1.46:
+- create device listed in /proc/partitions with correct major/minor (#57032)
+
+1.45:
+- do not list /dev/fd0 when no floppy is found (#58390)
+
+1.44:
+- rebuild with latest list_modules.pm (might fix #57833)
+
+1.43:
+- bump version (#57466)
+
+1.42:
+- list asix module in network/usb group
+- virtio: fix device probing: use PCI subdevices
+- fix format string bug from 1.41
+
+1.41:
+- load needed modules for known virtio devices, fixes #51804
+
+1.39:
+- set uevent helper which will load firmware and do not set firmware
+ timeout to 1 second (it will fail if firmware is not there)
+
+1.38:
+- handle hybrid ISOs (ISO images dumped to USB keys)
+
+1.37:
+- enumerate hid bus and load hid quirk modules, fixes #47167
+
+1.36:
+- load appropriate modules before trying to mount ext4/reiser4
+
+1.35:
+- allow installing from ext3/ext4/reiser4
+
+1.34:
+- adapt to new modules.dep format (prefix modules with directory path)
+- try to use arch-prefixed location for automatic disk installs
+
+1.33:
+- build fix for glibc 2.8
+- sort modules in the interface
+- try to load squashfs_lzma too
+
+1.32:
+- automatically find compressed stage2 with automatic=method:disk
+
+1.31:
+- usbkbd is dead, using usbhid instead
+
+1.30:
+- add back "ide-generic" support (incorrectly removed in 1.17), the
+ module that we want to avoid is "ide-pci-generic" (previously "generic"),
+ and this is handled by ldetect-lst preferred modules list
+- handle ide-cd being renamed as ide-cd_mod
+
+1.29:
+- allow to pass module options to probe-modules
+- build fixes for gcc 4.3
+
+1.28:
+- fix segfault with empty device description (can happen for USB devices)
+
+1.27.1:
+- fix build
+
+1.27:
+- do not set firmware timeout to 1 second in probe-modules helper for
+ Mandriva One (#39216)
+
+1.26:
+- load bus/firewire controllers (#31356)
+- really ask dhcp domain if not guessed
+
+1.25:
+- do not allow to choose outdated cooker mirror list (#37278)
+
+1.24:
+- load disk/ide before disk/scsi (#38451, to prevent sata deps from
+ overriding non-libata pata modules, like in stage2)
+- fix asking modules when no controller is detected
+
+1.23:
+- probe usb-storage/sbp2 only when probing USB/SCSI buses
+ (to make automatic boot faster on IDE)
+- make dhcp the first choice (instead of static) in the network type menu
+- clear tty2 after shell is killed
+- log "killed shell" message on tty3
+- add a space in front of top line (like help message)
+- space-pad top line with spaces to the right (like help message)
+
+1.22:
+- fix automatic IDE media detection (was broken with multiple CD drives, #36161)
+- fix bootsplash in automatic CD-Rom mode (as a result of IDE media detection fix)
+- wait only 1 second for firmware upload (not to hang boot with iwl3945, #37279)
+
+1.21:
+- load nls_cp437 and nls_iso8859_1 when loading vfat
+ (used to be in custom modules.dep)
+
+1.20:
+- probe-modules:
+ o handle the "--usb" option instead of "usb"
+ o load module passed as argument (if any), instead of probing bus
+- switch to modules from /lib/modules/`uname -r`, modules.dep containing full filename
+
+1.19:
+- rebuild with list_modules to handle atl2 ethernet driver
+
+1.18:
+- add probe-modules helper
+
+1.17:
+- use modules from disk/ide category (#33043)
+- do not explicitely try to load ide-generic, ldetect will fallback to
+ ide-generic when appropriate (#33043)
+
+1.16:
+- if you give nfs directory xxx, try to use xxx/ARCH
+- handle cdroms with and without ARCH at the root
+
+1.15:
+- ask loading modules from /modules if needed
+- read modules description from /modules/modules.description
+
+1.14:
+- fix segfault in USB detection code (when no module match, #32624)
+
+1.13:
+- use module names instead of filenames
+- convert module name to filename before loading it
+ (using modules.dep to get filename)
+- keep module in dependencies list even if it has no dependencies
+ (to keep track of its filename)
+- use '_' in module names when explicitely loading modules (cosmetics)
+
+1.12:
+- adapt to new list_modules
+
+1.11:
+- use ldetect/libmodprobe/libpci instead of custom pci/usb probe
+- rename rescue "GUI" as rescue "menu"
+
+1.10.1:
+- link init with dietlibc instead of minilibc on ix86/x86-64
+- add missing includes for wireless
+- fix build of pppoe by using dietlibc termios header
+
+1.10:
+- add ide-disk module
+- load ide-disk when detecting disks (ide is now modularized...)
+
+1.9:
+- ide is now modularized
+
+1.8:
+- build pcmcia header only on i386/x86_64 (#30668)
+- use api.mandriva.com to retrieve mirror list (#29346)
+
+1.7:
+- don't kill our init/klogd when running stage2
+ (bug introduced when switching to initramfs)
+
+1.6:
+- write DNS settings in temporary ifcfg file
+ (fixes resolv.conf post install)
+
+1.5:
+- fix infinite loop in wired interface mode
diff --git a/mdk-stage1/adsl.c b/mdk-stage1/adsl.c
index d542f2f35..70968f50b 100644
--- a/mdk-stage1/adsl.c
+++ b/mdk-stage1/adsl.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -31,14 +31,14 @@
#include "log.h"
#include "network.h"
#include "modules.h"
-#include "tools.h"
+#include "utils.h"
#include "frontend.h"
#include "automatic.h"
#include "adsl.h"
-static enum return_type adsl_connect(char * net_device, char * username, char * password)
+static enum return_type adsl_connect(struct interface_info * intf, char * username, char * password, char * acname)
{
char pppoe_call[500];
char * pppd_launch[] = { "/sbin/pppd", "pty", pppoe_call, "noipdefault", "noauth", "default-asyncmap", "defaultroute",
@@ -51,8 +51,12 @@ static enum return_type adsl_connect(char * net_device, char * username, char *
enum return_type status = RETURN_ERROR;
pid_t ppp_pid;
- snprintf(pppoe_call, sizeof(pppoe_call), "/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I %s -T 80 -U -m 1412", net_device);
+ snprintf(pppoe_call, sizeof(pppoe_call), "/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I %s -T 80 -U -m 1412", intf->device);
+ if (!streq(acname, "")) {
+ strcat(pppoe_call, "-C ");
+ strcat(pppoe_call, acname);
+ }
fd = open(tty_adsl, O_RDWR);
if (fd == -1) {
@@ -75,7 +79,7 @@ static enum return_type adsl_connect(char * net_device, char * username, char *
log_perror("could not set new controlling tty");
printf("\t(exec of pppd)\n");
- execve(pppd_launch[0], pppd_launch, grab_env());
+ execv(pppd_launch[0], pppd_launch);
log_message("execve of %s failed: %s", pppd_launch[0], strerror(errno));
exit(-1);
}
@@ -85,10 +89,16 @@ static enum return_type adsl_connect(char * net_device, char * username, char *
if ((f = fopen("/var/run/pppd.tdb", "rb"))) {
while (1) {
char buf[500];
+ char *p;
if (!fgets(buf, sizeof(buf), f))
break;
- if (strstr(buf, "IPLOCAL="))
+ p = strstr(buf, "IPLOCAL=");
+ if (p) {
+ struct sockaddr_in addr;
+ if (inet_aton(p + 8, &addr.sin_addr))
+ intf->ip = addr.sin_addr;
status = RETURN_OK;
+ }
}
fclose(f);
if (status == RETURN_OK) {
@@ -115,8 +125,8 @@ static enum return_type adsl_connect(char * net_device, char * username, char *
enum return_type perform_adsl(struct interface_info * intf)
{
struct in_addr addr;
- char * questions[] = { "Username", "Password", NULL };
- char * questions_auto[] = { "adsluser", "adslpass", NULL };
+ char * questions[] = { "Username", "Password", "AC Name", NULL };
+ char * questions_auto[] = { "adsluser", "adslpass", "adslacname", NULL };
static char ** answers = NULL;
enum return_type results;
@@ -137,6 +147,7 @@ enum return_type perform_adsl(struct interface_info * intf)
}
results = ask_from_entries_auto("Please enter the username and password for your ADSL account.\n"
+ "Leave blank the AC Name field if you don't know what it means.\n"
"(Warning! only PPPoE protocol is supported)",
questions, &answers, 40, questions_auto, NULL);
if (results != RETURN_OK)
@@ -145,19 +156,19 @@ enum return_type perform_adsl(struct interface_info * intf)
intf->boot_proto = BOOTPROTO_ADSL_PPPOE;
wait_message("Waiting for ADSL connection to show up...");
- my_insmod("ppp_generic", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp_async", ANY_DRIVER_TYPE, NULL);
- my_insmod("ppp", ANY_DRIVER_TYPE, NULL);
- results = adsl_connect(intf->device, answers[0], answers[1]);
+ my_modprobe("ppp_generic", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("ppp_async", ANY_DRIVER_TYPE, NULL);
+ results = adsl_connect(intf, answers[0], answers[1], answers[2]);
remove_wait_message();
if (results != RETURN_OK) {
wait_message("Retrying the ADSL connection...");
- results = adsl_connect(intf->device, answers[0], answers[1]);
+ results = adsl_connect(intf, answers[0], answers[1], answers[2]);
remove_wait_message();
} else {
intf->user = strdup(answers[0]);
intf->pass = strdup(answers[1]);
+ intf->acname = strdup(answers[2]);
}
if (results != RETURN_OK) {
diff --git a/mdk-stage1/adsl.h b/mdk-stage1/adsl.h
index 9d32cc631..aa4461108 100644
--- a/mdk-stage1/adsl.h
+++ b/mdk-stage1/adsl.h
@@ -1,9 +1,9 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
- * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
+ * View the homepage: http://us.mandriva.com/~gc/html/stage1.html
*
*
* This software may be freely redistributed under the terms of the GNU
diff --git a/mdk-stage1/automatic.c b/mdk-stage1/automatic.c
index 1c6e021a0..5e9ed56a2 100644
--- a/mdk-stage1/automatic.c
+++ b/mdk-stage1/automatic.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -23,6 +23,7 @@
#include <stdlib.h>
#include <string.h>
#include "tools.h"
+#include "utils.h"
#include "stage1.h"
#include "frontend.h"
#include "log.h"
@@ -45,14 +46,14 @@ void grab_automatic_params(char * line)
int j = i;
while (line[i] != ':' && line[i] != '\0')
i++;
- name = memdup(&line[j], i-j + 1);
+ name = _memdup(&line[j], i-j + 1);
name[i-j] = 0;
k = i+1;
i++;
while (line[i] != ',' && line[i] != '\0')
i++;
- value = memdup(&line[k], i-k + 1);
+ value = _memdup(&line[k], i-k + 1);
value[i-k] = 0;
tmp_params[p].name = name;
@@ -64,7 +65,7 @@ void grab_automatic_params(char * line)
}
tmp_params[p++].name = NULL;
- automatic_params = memdup(tmp_params, sizeof(struct param_elem) * p);
+ automatic_params = _memdup(tmp_params, sizeof(struct param_elem) * p);
log_message("AUTOMATIC MODE: got %d params", p-1);
}
@@ -78,7 +79,8 @@ char * get_auto_value(char * auto_param)
{ { "method", "met" }, { "network", "netw" }, { "interface", "int" }, { "gateway", "gat" },
{ "netmask", "netm" }, { "adsluser", "adslu" }, { "adslpass", "adslp" }, { "hostname", "hos" },
{ "domain", "dom" }, { "server", "ser" }, { "directory", "dir" }, { "user", "use" },
- { "pass", "pas" }, { "disk", "dis" }, { "partition", "par" }, { NULL, NULL } };
+ { "pass", "pas" }, { "disk", "dis" }, { "partition", "par" }, { "proxy_host", "proxh" },
+ { "proxy_port", "proxp" }, { NULL, NULL } };
struct param_elem * ptr_alias = short_aliases;
while (ptr_alias->name) {
if (streq(auto_param, ptr_alias->name))
@@ -99,9 +101,9 @@ char * get_auto_value(char * auto_param)
enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, char * auto_param, char ** elems_auto)
{
- if (!IS_AUTOMATIC)
+ if (!IS_AUTOMATIC) {
return ask_from_list(msg, elems, choice);
- else {
+ } else {
char ** sav_elems = elems;
char * tmp = get_auto_value(auto_param);
while (elems && *elems) {
@@ -113,16 +115,16 @@ enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, ch
elems++;
elems_auto++;
}
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
return ask_from_list(msg, sav_elems, choice);
}
}
enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto)
{
- if (!IS_AUTOMATIC)
+ if (!IS_AUTOMATIC) {
return ask_from_list_comments(msg, elems, elems_comments, choice);
- else {
+ } else {
char ** sav_elems = elems;
char * tmp = get_auto_value(auto_param);
while (elems && *elems) {
@@ -134,7 +136,7 @@ enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** e
elems++;
elems_auto++;
}
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
return ask_from_list_comments(msg, sav_elems, elems_comments, choice);
}
}
@@ -142,9 +144,9 @@ enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** e
enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** answers, int entry_size, char ** questions_auto, void (*callback_func)(char ** strings))
{
- if (!IS_AUTOMATIC)
+ if (!IS_AUTOMATIC) {
return ask_from_entries(msg, questions, answers, entry_size, callback_func);
- else {
+ } else {
char * tmp_answers[50];
int i = 0;
while (questions && *questions) {
@@ -155,7 +157,7 @@ enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** an
questions_auto++;
}
- *answers = memdup(tmp_answers, sizeof(char *) * i);
+ *answers = _memdup(tmp_answers, sizeof(char *) * i);
return RETURN_OK;
}
}
diff --git a/mdk-stage1/automatic.h b/mdk-stage1/automatic.h
index 4b58c0ea8..5fb890d61 100644
--- a/mdk-stage1/automatic.h
+++ b/mdk-stage1/automatic.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
diff --git a/mdk-stage1/bzlib/Makefile b/mdk-stage1/bzlib/Makefile
deleted file mode 100644
index 8e4bba791..000000000
--- a/mdk-stage1/bzlib/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libbzlib
-
-OBJS = blocksort.o bzlib.o compress.o crctable.o decompress.o huffman.o randtable.o
-
-DEFS =
-
-INCS =
-
-
-TARGETS = $(LIBNAME).a
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) $(CC) $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/bzlib/blocksort.c b/mdk-stage1/bzlib/blocksort.c
deleted file mode 100644
index c1b78c483..000000000
--- a/mdk-stage1/bzlib/blocksort.c
+++ /dev/null
@@ -1,1138 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Block sorting machinery ---*/
-/*--- blocksort.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
-
- To get some idea how the block sorting algorithms in this file
- work, read my paper
- On the Performance of BWT Sorting Algorithms
- in Proceedings of the IEEE Data Compression Conference 2000,
- Snowbird, Utah, USA, 27-30 March 2000. The main sort in this
- file implements the algorithm called cache in the paper.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------*/
-/*--- Fallback O(N log(N)^2) sorting ---*/
-/*--- algorithm, for repetitive blocks ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-void fallbackSimpleSort ( UInt32* fmap,
- UInt32* eclass,
- Int32 lo,
- Int32 hi )
-{
- Int32 i, j, tmp;
- UInt32 ec_tmp;
-
- if (lo == hi) return;
-
- if (hi - lo > 3) {
- for ( i = hi-4; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
- fmap[j-4] = fmap[j];
- fmap[j-4] = tmp;
- }
- }
-
- for ( i = hi-1; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
- fmap[j-1] = fmap[j];
- fmap[j-1] = tmp;
- }
-}
-
-
-/*---------------------------------------------*/
-#define fswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define fvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- fswap(fmap[yyp1], fmap[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-
-#define fmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define fpush(lz,hz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- sp++; }
-
-#define fpop(lz,hz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; }
-
-#define FALLBACK_QSORT_SMALL_THRESH 10
-#define FALLBACK_QSORT_STACK_SIZE 100
-
-
-static
-void fallbackQSort3 ( UInt32* fmap,
- UInt32* eclass,
- Int32 loSt,
- Int32 hiSt )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m;
- Int32 sp, lo, hi;
- UInt32 med, r, r3;
- Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
- Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
-
- r = 0;
-
- sp = 0;
- fpush ( loSt, hiSt );
-
- while (sp > 0) {
-
- AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 );
-
- fpop ( lo, hi );
- if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
- fallbackSimpleSort ( fmap, eclass, lo, hi );
- continue;
- }
-
- /* Random partitioning. Median of 3 sometimes fails to
- avoid bad cases. Median of 9 seems to help but
- looks rather expensive. This too seems to work but
- is cheaper. Guidance for the magic constants
- 7621 and 32768 is taken from Sedgewick's algorithms
- book, chapter 35.
- */
- r = ((r * 7621) + 1) % 32768;
- r3 = r % 3;
- if (r3 == 0) med = eclass[fmap[lo]]; else
- if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
- med = eclass[fmap[hi]];
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (1) {
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unLo]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unLo], fmap[ltLo]);
- ltLo++; unLo++;
- continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unHi]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unHi], fmap[gtHi]);
- gtHi--; unHi--;
- continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
-
- if (gtHi < ltLo) continue;
-
- n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
- m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- if (n - lo > hi - m) {
- fpush ( lo, n );
- fpush ( m, hi );
- } else {
- fpush ( m, hi );
- fpush ( lo, n );
- }
- }
-}
-
-#undef fmin
-#undef fpush
-#undef fpop
-#undef fswap
-#undef fvswap
-#undef FALLBACK_QSORT_SMALL_THRESH
-#undef FALLBACK_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- eclass exists for [0 .. nblock-1]
- ((UChar*)eclass) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)eclass) [0 .. nblock-1] holds block
- All other areas of eclass destroyed
- fmap [0 .. nblock-1] holds sorted order
- bhtab [ 0 .. 2+(nblock/32) ] destroyed
-*/
-
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
-#define WORD_BH(zz) bhtab[(zz) >> 5]
-#define UNALIGNED_BH(zz) ((zz) & 0x01f)
-
-static
-void fallbackSort ( UInt32* fmap,
- UInt32* eclass,
- UInt32* bhtab,
- Int32 nblock,
- Int32 verb )
-{
- Int32 ftab[257];
- Int32 ftabCopy[256];
- Int32 H, i, j, k, l, r, cc, cc1;
- Int32 nNotDone;
- Int32 nBhtab;
- UChar* eclass8 = (UChar*)eclass;
-
- /*--
- Initial 1-char radix sort to generate
- initial fmap and initial BH bits.
- --*/
- if (verb >= 4)
- VPrintf0 ( " bucket sorting ...\n" );
- for (i = 0; i < 257; i++) ftab[i] = 0;
- for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
- for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
- for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
-
- for (i = 0; i < nblock; i++) {
- j = eclass8[i];
- k = ftab[j] - 1;
- ftab[j] = k;
- fmap[k] = i;
- }
-
- nBhtab = 2 + (nblock / 32);
- for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
- for (i = 0; i < 256; i++) SET_BH(ftab[i]);
-
- /*--
- Inductively refine the buckets. Kind-of an
- "exponential radix sort" (!), inspired by the
- Manber-Myers suffix array construction algorithm.
- --*/
-
- /*-- set sentinel bits for block-end detection --*/
- for (i = 0; i < 32; i++) {
- SET_BH(nblock + 2*i);
- CLEAR_BH(nblock + 2*i + 1);
- }
-
- /*-- the log(N) loop --*/
- H = 1;
- while (1) {
-
- if (verb >= 4)
- VPrintf1 ( " depth %6d has ", H );
-
- j = 0;
- for (i = 0; i < nblock; i++) {
- if (ISSET_BH(i)) j = i;
- k = fmap[i] - H; if (k < 0) k += nblock;
- eclass[k] = j;
- }
-
- nNotDone = 0;
- r = -1;
- while (1) {
-
- /*-- find the next non-singleton bucket --*/
- k = r + 1;
- while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (ISSET_BH(k)) {
- while (WORD_BH(k) == 0xffffffff) k += 32;
- while (ISSET_BH(k)) k++;
- }
- l = k - 1;
- if (l >= nblock) break;
- while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (!ISSET_BH(k)) {
- while (WORD_BH(k) == 0x00000000) k += 32;
- while (!ISSET_BH(k)) k++;
- }
- r = k - 1;
- if (r >= nblock) break;
-
- /*-- now [l, r] bracket current bucket --*/
- if (r > l) {
- nNotDone += (r - l + 1);
- fallbackQSort3 ( fmap, eclass, l, r );
-
- /*-- scan bucket and generate header bits-- */
- cc = -1;
- for (i = l; i <= r; i++) {
- cc1 = eclass[fmap[i]];
- if (cc != cc1) { SET_BH(i); cc = cc1; };
- }
- }
- }
-
- if (verb >= 4)
- VPrintf1 ( "%6d unresolved strings\n", nNotDone );
-
- H *= 2;
- if (H > nblock || nNotDone == 0) break;
- }
-
- /*--
- Reconstruct the original block in
- eclass8 [0 .. nblock-1], since the
- previous phase destroyed it.
- --*/
- if (verb >= 4)
- VPrintf0 ( " reconstructing block ...\n" );
- j = 0;
- for (i = 0; i < nblock; i++) {
- while (ftabCopy[j] == 0) j++;
- ftabCopy[j]--;
- eclass8[fmap[i]] = (UChar)j;
- }
- AssertH ( j < 256, 1005 );
-}
-
-#undef SET_BH
-#undef CLEAR_BH
-#undef ISSET_BH
-#undef WORD_BH
-#undef UNALIGNED_BH
-
-
-/*---------------------------------------------*/
-/*--- The main, O(N^2 log(N)) sorting ---*/
-/*--- algorithm. Faster for "normal" ---*/
-/*--- non-repetitive blocks. ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-Bool mainGtU ( UInt32 i1,
- UInt32 i2,
- UChar* block,
- UInt16* quadrant,
- UInt32 nblock,
- Int32* budget )
-{
- Int32 k;
- UChar c1, c2;
- UInt16 s1, s2;
-
- AssertD ( i1 != i2, "mainGtU" );
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 9 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 10 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 11 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 12 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
-
- k = nblock + 8;
-
- do {
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
-
- if (i1 >= nblock) i1 -= nblock;
- if (i2 >= nblock) i2 -= nblock;
-
- k -= 8;
- (*budget)--;
- }
- while (k >= 0);
-
- return False;
-}
-
-
-/*---------------------------------------------*/
-/*--
- Knuth's increments seem to work better
- than Incerpi-Sedgewick here. Possibly
- because the number of elems to sort is
- usually small, typically <= 20.
---*/
-static
-Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
- 9841, 29524, 88573, 265720,
- 797161, 2391484 };
-
-static
-void mainSimpleSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 lo,
- Int32 hi,
- Int32 d,
- Int32* budget )
-{
- Int32 i, j, h, bigN, hp;
- UInt32 v;
-
- bigN = hi - lo + 1;
- if (bigN < 2) return;
-
- hp = 0;
- while (incs[hp] < bigN) hp++;
- hp--;
-
- for (; hp >= 0; hp--) {
- h = incs[hp];
-
- i = lo + h;
- while (True) {
-
- /*-- copy 1 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 2 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 3 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- if (*budget < 0) return;
- }
- }
-}
-
-
-/*---------------------------------------------*/
-/*--
- The following is an implementation of
- an elegant 3-way quicksort for strings,
- described in a paper "Fast Algorithms for
- Sorting and Searching Strings", by Robert
- Sedgewick and Jon L. Bentley.
---*/
-
-#define mswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define mvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- mswap(ptr[yyp1], ptr[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-static
-__inline__
-UChar mmed3 ( UChar a, UChar b, UChar c )
-{
- UChar t;
- if (a > b) { t = a; a = b; b = t; };
- if (b > c) {
- b = c;
- if (a > b) b = a;
- }
- return b;
-}
-
-#define mmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- stackD [sp] = dz; \
- sp++; }
-
-#define mpop(lz,hz,dz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; \
- dz = stackD [sp]; }
-
-
-#define mnextsize(az) (nextHi[az]-nextLo[az])
-
-#define mnextswap(az,bz) \
- { Int32 tz; \
- tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
- tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
- tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
-
-
-#define MAIN_QSORT_SMALL_THRESH 20
-#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
-#define MAIN_QSORT_STACK_SIZE 100
-
-static
-void mainQSort3 ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 loSt,
- Int32 hiSt,
- Int32 dSt,
- Int32* budget )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m, med;
- Int32 sp, lo, hi, d;
-
- Int32 stackLo[MAIN_QSORT_STACK_SIZE];
- Int32 stackHi[MAIN_QSORT_STACK_SIZE];
- Int32 stackD [MAIN_QSORT_STACK_SIZE];
-
- Int32 nextLo[3];
- Int32 nextHi[3];
- Int32 nextD [3];
-
- sp = 0;
- mpush ( loSt, hiSt, dSt );
-
- while (sp > 0) {
-
- AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );
-
- mpop ( lo, hi, d );
- if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
- d > MAIN_QSORT_DEPTH_THRESH) {
- mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
- if (*budget < 0) return;
- continue;
- }
-
- med = (Int32)
- mmed3 ( block[ptr[ lo ]+d],
- block[ptr[ hi ]+d],
- block[ptr[ (lo+hi)>>1 ]+d] );
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (True) {
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unLo]+d]) - med;
- if (n == 0) {
- mswap(ptr[unLo], ptr[ltLo]);
- ltLo++; unLo++; continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unHi]+d]) - med;
- if (n == 0) {
- mswap(ptr[unHi], ptr[gtHi]);
- gtHi--; unHi--; continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "mainQSort3(2)" );
-
- if (gtHi < ltLo) {
- mpush(lo, hi, d+1 );
- continue;
- }
-
- n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
- m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- nextLo[0] = lo; nextHi[0] = n; nextD[0] = d;
- nextLo[1] = m; nextHi[1] = hi; nextD[1] = d;
- nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
-
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
- if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
-
- AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
- AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
-
- mpush (nextLo[0], nextHi[0], nextD[0]);
- mpush (nextLo[1], nextHi[1], nextD[1]);
- mpush (nextLo[2], nextHi[2], nextD[2]);
- }
-}
-
-#undef mswap
-#undef mvswap
-#undef mpush
-#undef mpop
-#undef mmin
-#undef mnextsize
-#undef mnextswap
-#undef MAIN_QSORT_SMALL_THRESH
-#undef MAIN_QSORT_DEPTH_THRESH
-#undef MAIN_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > N_OVERSHOOT
- block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)block32) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)block32) [0 .. nblock-1] holds block
- All other areas of block32 destroyed
- ftab [0 .. 65536 ] destroyed
- ptr [0 .. nblock-1] holds sorted order
- if (*budget < 0), sorting was abandoned
-*/
-
-#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
-#define SETMASK (1 << 21)
-#define CLEARMASK (~(SETMASK))
-
-static
-void mainSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- UInt32* ftab,
- Int32 nblock,
- Int32 verb,
- Int32* budget )
-{
- Int32 i, j, k, ss, sb;
- Int32 runningOrder[256];
- Bool bigDone[256];
- Int32 copyStart[256];
- Int32 copyEnd [256];
- UChar c1;
- Int32 numQSorted;
- UInt16 s;
- if (verb >= 4) VPrintf0 ( " main sort initialise ...\n" );
-
- /*-- set up the 2-byte frequency table --*/
- for (i = 65536; i >= 0; i--) ftab[i] = 0;
-
- j = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- quadrant[i-1] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
- ftab[j]++;
- quadrant[i-2] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
- ftab[j]++;
- quadrant[i-3] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
- ftab[j]++;
- }
- for (; i >= 0; i--) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- }
-
- /*-- (emphasises close relationship of block & quadrant) --*/
- for (i = 0; i < BZ_N_OVERSHOOT; i++) {
- block [nblock+i] = block[i];
- quadrant[nblock+i] = 0;
- }
-
- if (verb >= 4) VPrintf0 ( " bucket sorting ...\n" );
-
- /*-- Complete the initial radix sort --*/
- for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
-
- s = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- s = (s >> 8) | (block[i-1] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-1;
- s = (s >> 8) | (block[i-2] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-2;
- s = (s >> 8) | (block[i-3] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-3;
- }
- for (; i >= 0; i--) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- }
-
- /*--
- Now ftab contains the first loc of every small bucket.
- Calculate the running order, from smallest to largest
- big bucket.
- --*/
- for (i = 0; i <= 255; i++) {
- bigDone [i] = False;
- runningOrder[i] = i;
- }
-
- {
- Int32 vv;
- Int32 h = 1;
- do h = 3 * h + 1; while (h <= 256);
- do {
- h = h / 3;
- for (i = h; i <= 255; i++) {
- vv = runningOrder[i];
- j = i;
- while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
- runningOrder[j] = runningOrder[j-h];
- j = j - h;
- if (j <= (h - 1)) goto zero;
- }
- zero:
- runningOrder[j] = vv;
- }
- } while (h != 1);
- }
-
- /*--
- The main sorting loop.
- --*/
-
- numQSorted = 0;
-
- for (i = 0; i <= 255; i++) {
-
- /*--
- Process big buckets, starting with the least full.
- Basically this is a 3-step process in which we call
- mainQSort3 to sort the small buckets [ss, j], but
- also make a big effort to avoid the calls if we can.
- --*/
- ss = runningOrder[i];
-
- /*--
- Step 1:
- Complete the big bucket [ss] by quicksorting
- any unsorted small buckets [ss, j], for j != ss.
- Hopefully previous pointer-scanning phases have already
- completed many of the small buckets [ss, j], so
- we don't have to sort them at all.
- --*/
- for (j = 0; j <= 255; j++) {
- if (j != ss) {
- sb = (ss << 8) + j;
- if ( ! (ftab[sb] & SETMASK) ) {
- Int32 lo = ftab[sb] & CLEARMASK;
- Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
- if (hi > lo) {
- if (verb >= 4)
- VPrintf4 ( " qsort [0x%x, 0x%x] "
- "done %d this %d\n",
- ss, j, numQSorted, hi - lo + 1 );
- mainQSort3 (
- ptr, block, quadrant, nblock,
- lo, hi, BZ_N_RADIX, budget
- );
- numQSorted += (hi - lo + 1);
- if (*budget < 0) return;
- }
- }
- ftab[sb] |= SETMASK;
- }
- }
-
- AssertH ( !bigDone[ss], 1006 );
-
- /*--
- Step 2:
- Now scan this big bucket [ss] so as to synthesise the
- sorted order for small buckets [t, ss] for all t,
- including, magically, the bucket [ss,ss] too.
- This will avoid doing Real Work in subsequent Step 1's.
- --*/
- {
- for (j = 0; j <= 255; j++) {
- copyStart[j] = ftab[(j << 8) + ss] & CLEARMASK;
- copyEnd [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
- }
- for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyStart[c1]++ ] = k;
- }
- for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyEnd[c1]-- ] = k;
- }
- }
-
- AssertH ( copyStart[ss]-1 == copyEnd[ss], 1007 );
-
- for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
-
- /*--
- Step 3:
- The [ss] big bucket is now done. Record this fact,
- and update the quadrant descriptors. Remember to
- update quadrants in the overshoot area too, if
- necessary. The "if (i < 255)" test merely skips
- this updating for the last bucket processed, since
- updating for the last bucket is pointless.
-
- The quadrant array provides a way to incrementally
- cache sort orderings, as they appear, so as to
- make subsequent comparisons in fullGtU() complete
- faster. For repetitive blocks this makes a big
- difference (but not big enough to be able to avoid
- the fallback sorting mechanism, exponential radix sort).
-
- The precise meaning is: at all times:
-
- for 0 <= i < nblock and 0 <= j <= nblock
-
- if block[i] != block[j],
-
- then the relative values of quadrant[i] and
- quadrant[j] are meaningless.
-
- else {
- if quadrant[i] < quadrant[j]
- then the string starting at i lexicographically
- precedes the string starting at j
-
- else if quadrant[i] > quadrant[j]
- then the string starting at j lexicographically
- precedes the string starting at i
-
- else
- the relative ordering of the strings starting
- at i and j has not yet been determined.
- }
- --*/
- bigDone[ss] = True;
-
- if (i < 255) {
- Int32 bbStart = ftab[ss << 8] & CLEARMASK;
- Int32 bbSize = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
- Int32 shifts = 0;
-
- while ((bbSize >> shifts) > 65534) shifts++;
-
- for (j = bbSize-1; j >= 0; j--) {
- Int32 a2update = ptr[bbStart + j];
- UInt16 qVal = (UInt16)(j >> shifts);
- quadrant[a2update] = qVal;
- if (a2update < BZ_N_OVERSHOOT)
- quadrant[a2update + nblock] = qVal;
- }
- AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
- }
-
- }
-
- if (verb >= 4)
- VPrintf3 ( " %d pointers, %d sorted, %d scanned\n",
- nblock, numQSorted, nblock - numQSorted );
-}
-
-#undef BIGFREQ
-#undef SETMASK
-#undef CLEARMASK
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)arr2) [0 .. nblock-1] holds block
- arr1 exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)arr2) [0 .. nblock-1] holds block
- All other areas of block destroyed
- ftab [ 0 .. 65536 ] destroyed
- arr1 [0 .. nblock-1] holds sorted order
-*/
-void BZ2_blockSort ( EState* s )
-{
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt32* ftab = s->ftab;
- Int32 nblock = s->nblock;
- Int32 verb = s->verbosity;
- Int32 wfact = s->workFactor;
- UInt16* quadrant;
- Int32 budget;
- Int32 budgetInit;
- Int32 i;
-
- if (nblock < 10000) {
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- } else {
- /* Calculate the location for quadrant, remembering to get
- the alignment right. Assumes that &(block[0]) is at least
- 2-byte aligned -- this should be ok since block is really
- the first section of arr2.
- */
- i = nblock+BZ_N_OVERSHOOT;
- if (i & 1) i++;
- quadrant = (UInt16*)(&(block[i]));
-
- /* (wfact-1) / 3 puts the default-factor-30
- transition point at very roughly the same place as
- with v0.1 and v0.9.0.
- Not that it particularly matters any more, since the
- resulting compressed stream is now the same regardless
- of whether or not we use the main sort or fallback sort.
- */
- if (wfact < 1 ) wfact = 1;
- if (wfact > 100) wfact = 100;
- budgetInit = nblock * ((wfact-1) / 3);
- budget = budgetInit;
-
- mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
- if (verb >= 3)
- VPrintf3 ( " %d work, %d block, ratio %5.2f\n",
- budgetInit - budget,
- nblock,
- (float)(budgetInit - budget) /
- (float)(nblock==0 ? 1 : nblock) );
- if (budget < 0) {
- if (verb >= 2)
- VPrintf0 ( " too repetitive; using fallback"
- " sorting algorithm\n" );
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- }
- }
-
- s->origPtr = -1;
- for (i = 0; i < s->nblock; i++)
- if (ptr[i] == 0)
- { s->origPtr = i; break; };
-
- AssertH( s->origPtr != -1, 1003 );
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end blocksort.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/bzlib.c b/mdk-stage1/bzlib/bzlib.c
deleted file mode 100644
index b1fc85236..000000000
--- a/mdk-stage1/bzlib/bzlib.c
+++ /dev/null
@@ -1,1567 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Library top-level functions. ---*/
-/*--- bzlib.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-/*--
- CHANGES
- ~~~~~~~
- 0.9.0 -- original version.
-
- 0.9.0a/b -- no changes in this file.
-
- 0.9.0c
- * made zero-length BZ_FLUSH work correctly in bzCompress().
- * fixed bzWrite/bzRead to ignore zero-length requests.
- * fixed bzread to correctly handle read requests after EOF.
- * wrong parameter order in call to bzDecompressInit in
- bzBuffToBuffDecompress. Fixed.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Compression stuff ---*/
-/*---------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-#ifndef BZ_NO_STDIO
-void BZ2_bz__AssertH__fail ( int errcode )
-{
- fprintf(stderr,
- "\n\nbzip2/libbzip2: internal error number %d.\n"
- "This is a bug in bzip2/libbzip2, %s.\n"
- "Please report it to me at: jseward@acm.org. If this happened\n"
- "when you were using some program which uses libbzip2 as a\n"
- "component, you should also report this bug to the author(s)\n"
- "of that program. Please make an effort to report this bug;\n"
- "timely and accurate bug reports eventually lead to higher\n"
- "quality software. Thanks. Julian Seward, 21 March 2000.\n\n",
- errcode,
- BZ2_bzlibVersion()
- );
- exit(3);
-}
-#endif
-
-
-/*---------------------------------------------------*/
-static
-int bz_config_ok ( void )
-{
- if (sizeof(int) != 4) return 0;
- if (sizeof(short) != 2) return 0;
- if (sizeof(char) != 1) return 0;
- return 1;
-}
-
-
-/*---------------------------------------------------*/
-static
-void* default_bzalloc ( void* opaque __attribute__ ((unused)), Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque __attribute__ ((unused)), void* addr )
-{
- if (addr != NULL) free ( addr );
-}
-
-
-/*---------------------------------------------------*/
-static
-void prepare_new_block ( EState* s )
-{
- Int32 i;
- s->nblock = 0;
- s->numZ = 0;
- s->state_out_pos = 0;
- BZ_INITIALISE_CRC ( s->blockCRC );
- for (i = 0; i < 256; i++) s->inUse[i] = False;
- s->blockNo++;
-}
-
-
-/*---------------------------------------------------*/
-static
-void init_RL ( EState* s )
-{
- s->state_in_ch = 256;
- s->state_in_len = 0;
-}
-
-
-static
-Bool isempty_RL ( EState* s )
-{
- if (s->state_in_ch < 256 && s->state_in_len > 0)
- return False; else
- return True;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressInit)
- ( bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 n;
- EState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(EState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
-
- s->arr1 = NULL;
- s->arr2 = NULL;
- s->ftab = NULL;
-
- n = 100000 * blockSize100k;
- s->arr1 = BZALLOC( n * sizeof(UInt32) );
- s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
- s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
-
- if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- if (s != NULL) BZFREE(s);
- return BZ_MEM_ERROR;
- }
-
- s->blockNo = 0;
- s->state = BZ_S_INPUT;
- s->mode = BZ_M_RUNNING;
- s->combinedCRC = 0;
- s->blockSize100k = blockSize100k;
- s->nblockMAX = 100000 * blockSize100k - 19;
- s->verbosity = verbosity;
- s->workFactor = workFactor;
-
- s->block = (UChar*)s->arr2;
- s->mtfv = (UInt16*)s->arr1;
- s->zbits = NULL;
- s->ptr = (UInt32*)s->arr1;
-
- strm->state = s;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- init_RL ( s );
- prepare_new_block ( s );
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void add_pair_to_block ( EState* s )
-{
- Int32 i;
- UChar ch = (UChar)(s->state_in_ch);
- for (i = 0; i < s->state_in_len; i++) {
- BZ_UPDATE_CRC( s->blockCRC, ch );
- }
- s->inUse[s->state_in_ch] = True;
- switch (s->state_in_len) {
- case 1:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 2:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 3:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- default:
- s->inUse[s->state_in_len-4] = True;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = ((UChar)(s->state_in_len-4));
- s->nblock++;
- break;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void flush_RL ( EState* s )
-{
- if (s->state_in_ch < 256) add_pair_to_block ( s );
- init_RL ( s );
-}
-
-
-/*---------------------------------------------------*/
-#define ADD_CHAR_TO_BLOCK(zs,zchh0) \
-{ \
- UInt32 zchh = (UInt32)(zchh0); \
- /*-- fast track the common case --*/ \
- if (zchh != zs->state_in_ch && \
- zs->state_in_len == 1) { \
- UChar ch = (UChar)(zs->state_in_ch); \
- BZ_UPDATE_CRC( zs->blockCRC, ch ); \
- zs->inUse[zs->state_in_ch] = True; \
- zs->block[zs->nblock] = (UChar)ch; \
- zs->nblock++; \
- zs->state_in_ch = zchh; \
- } \
- else \
- /*-- general, uncommon cases --*/ \
- if (zchh != zs->state_in_ch || \
- zs->state_in_len == 255) { \
- if (zs->state_in_ch < 256) \
- add_pair_to_block ( zs ); \
- zs->state_in_ch = zchh; \
- zs->state_in_len = 1; \
- } else { \
- zs->state_in_len++; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_input_until_stop ( EState* s )
-{
- Bool progress_in = False;
-
- if (s->mode == BZ_M_RUNNING) {
-
- /*-- fast track the common case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- }
-
- } else {
-
- /*-- general, uncommon case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- /*-- flush/finish end? --*/
- if (s->avail_in_expect == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- s->avail_in_expect--;
- }
- }
- return progress_in;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_output_until_stop ( EState* s )
-{
- Bool progress_out = False;
-
- while (True) {
-
- /*-- no output space? --*/
- if (s->strm->avail_out == 0) break;
-
- /*-- block done? --*/
- if (s->state_out_pos >= s->numZ) break;
-
- progress_out = True;
- *(s->strm->next_out) = s->zbits[s->state_out_pos];
- s->state_out_pos++;
- s->strm->avail_out--;
- s->strm->next_out++;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- return progress_out;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool handle_compress ( bz_stream* strm )
-{
- Bool progress_in = False;
- Bool progress_out = False;
- EState* s = strm->state;
-
- while (True) {
-
- if (s->state == BZ_S_OUTPUT) {
- progress_out |= copy_output_until_stop ( s );
- if (s->state_out_pos < s->numZ) break;
- if (s->mode == BZ_M_FINISHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- prepare_new_block ( s );
- s->state = BZ_S_INPUT;
- if (s->mode == BZ_M_FLUSHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- }
-
- if (s->state == BZ_S_INPUT) {
- progress_in |= copy_input_until_stop ( s );
- if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
- flush_RL ( s );
- BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->nblock >= s->nblockMAX) {
- BZ2_compressBlock ( s, False );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->strm->avail_in == 0) {
- break;
- }
- }
-
- }
-
- return progress_in || progress_out;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
-{
- Bool progress;
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- preswitch:
- switch (s->mode) {
-
- case BZ_M_IDLE:
- return BZ_SEQUENCE_ERROR;
-
- case BZ_M_RUNNING:
- if (action == BZ_RUN) {
- progress = handle_compress ( strm );
- return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
- }
- else
- if (action == BZ_FLUSH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FLUSHING;
- goto preswitch;
- }
- else
- if (action == BZ_FINISH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FINISHING;
- goto preswitch;
- }
- else
- return BZ_PARAM_ERROR;
-
- case BZ_M_FLUSHING:
- if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
- s->mode = BZ_M_RUNNING;
- return BZ_RUN_OK;
-
- case BZ_M_FINISHING:
- if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (!progress) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FINISH_OK;
- s->mode = BZ_M_IDLE;
- return BZ_STREAM_END;
- }
- return BZ_OK; /*--not reached--*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressEnd) ( bz_stream *strm )
-{
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- BZFREE(strm->state);
-
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-/*--- Decompression stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressInit)
- ( bz_stream* strm,
- int verbosity,
- int small )
-{
- DState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL) return BZ_PARAM_ERROR;
- if (small != 0 && small != 1) return BZ_PARAM_ERROR;
- if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
-
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(DState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
- strm->state = s;
- s->state = BZ_X_MAGIC_1;
- s->bsLive = 0;
- s->bsBuff = 0;
- s->calculatedCombinedCRC = 0;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- s->smallDecompress = (Bool)small;
- s->ll4 = NULL;
- s->ll16 = NULL;
- s->tt = NULL;
- s->currBlockNo = 0;
- s->verbosity = verbosity;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_FAST ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- /* restore */
- UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC;
- UChar c_state_out_ch = s->state_out_ch;
- Int32 c_state_out_len = s->state_out_len;
- Int32 c_nblock_used = s->nblock_used;
- Int32 c_k0 = s->k0;
- UInt32* c_tt = s->tt;
- UInt32 c_tPos = s->tPos;
- char* cs_next_out = s->strm->next_out;
- unsigned int cs_avail_out = s->strm->avail_out;
- /* end restore */
-
- UInt32 avail_out_INIT = cs_avail_out;
- Int32 s_save_nblockPP = s->save_nblock+1;
- unsigned int total_out_lo32_old;
-
- while (True) {
-
- /* try to finish existing run */
- if (c_state_out_len > 0) {
- while (True) {
- if (cs_avail_out == 0) goto return_notr;
- if (c_state_out_len == 1) break;
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- c_state_out_len--;
- cs_next_out++;
- cs_avail_out--;
- }
- s_state_out_len_eq_one:
- {
- if (cs_avail_out == 0) {
- c_state_out_len = 1; goto return_notr;
- };
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- cs_next_out++;
- cs_avail_out--;
- }
- }
- /* can a new run be started? */
- if (c_nblock_used == s_save_nblockPP) {
- c_state_out_len = 0; goto return_notr;
- };
- c_state_out_ch = c_k0;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (k1 != c_k0) {
- c_k0 = k1; goto s_state_out_len_eq_one;
- };
- if (c_nblock_used == s_save_nblockPP)
- goto s_state_out_len_eq_one;
-
- c_state_out_len = 2;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- c_state_out_len = 3;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- BZ_GET_FAST_C(k1); c_nblock_used++;
- c_state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST_C(c_k0); c_nblock_used++;
- }
-
- return_notr:
- total_out_lo32_old = s->strm->total_out_lo32;
- s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
- if (s->strm->total_out_lo32 < total_out_lo32_old)
- s->strm->total_out_hi32++;
-
- /* save */
- s->calculatedBlockCRC = c_calculatedBlockCRC;
- s->state_out_ch = c_state_out_ch;
- s->state_out_len = c_state_out_len;
- s->nblock_used = c_nblock_used;
- s->k0 = c_k0;
- s->tt = c_tt;
- s->tPos = c_tPos;
- s->strm->next_out = cs_next_out;
- s->strm->avail_out = cs_avail_out;
- /* end save */
- }
-}
-
-
-
-/*---------------------------------------------------*/
-__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
-{
- Int32 nb, na, mid;
- nb = 0;
- na = 256;
- do {
- mid = (nb + na) >> 1;
- if (indx >= cftab[mid]) nb = mid; else na = mid;
- }
- while (na - nb != 1);
- return nb;
-}
-
-
-/*---------------------------------------------------*/
-static
-void unRLE_obuf_to_output_SMALL ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- while (True) {
- if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
- if (s->state == BZ_X_OUTPUT) {
- if (s->smallDecompress)
- unRLE_obuf_to_output_SMALL ( s ); else
- unRLE_obuf_to_output_FAST ( s );
- if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
- BZ_FINALISE_CRC ( s->calculatedBlockCRC );
- if (s->verbosity >= 3)
- VPrintf2 ( " {0x%x, 0x%x}", s->storedBlockCRC,
- s->calculatedBlockCRC );
- if (s->verbosity >= 2) VPrintf0 ( "]" );
- if (s->calculatedBlockCRC != s->storedBlockCRC)
- return BZ_DATA_ERROR;
- s->calculatedCombinedCRC
- = (s->calculatedCombinedCRC << 1) |
- (s->calculatedCombinedCRC >> 31);
- s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
- s->state = BZ_X_BLKHDR_1;
- } else {
- return BZ_OK;
- }
- }
- if (s->state >= BZ_X_MAGIC_1) {
- Int32 r = BZ2_decompress ( s );
- if (r == BZ_STREAM_END) {
- if (s->verbosity >= 3)
- VPrintf2 ( "\n combined CRCs: stored = 0x%x, computed = 0x%x",
- s->storedCombinedCRC, s->calculatedCombinedCRC );
- if (s->calculatedCombinedCRC != s->storedCombinedCRC)
- return BZ_DATA_ERROR;
- return r;
- }
- if (s->state != BZ_X_OUTPUT) return r;
- }
- }
-
- AssertH ( 0, 6001 );
-
- return 0; /*NOTREACHED*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressEnd) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->tt != NULL) BZFREE(s->tt);
- if (s->ll16 != NULL) BZFREE(s->ll16);
- if (s->ll4 != NULL) BZFREE(s->ll4);
-
- BZFREE(strm->state);
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-/*--- File I/O stuff ---*/
-/*---------------------------------------------------*/
-
-#define BZ_SETERR(eee) \
-{ \
- if (bzerror != NULL) *bzerror = eee; \
- if (bzf != NULL) bzf->lastErr = eee; \
-}
-
-typedef
- struct {
- FILE* handle;
- Char buf[BZ_MAX_UNUSED];
- Int32 bufN;
- Bool writing;
- bz_stream strm;
- Int32 lastErr;
- Bool initialisedOk;
- }
- bzFile;
-
-
-/*---------------------------------------------*/
-static Bool myfeof ( FILE* f )
-{
- return feof(f) ? True : False;
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzWriteOpen)
- ( int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 ret;
- bzFile* bzf = NULL;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (blockSize100k < 1 || blockSize100k > 9) ||
- (workFactor < 0 || workFactor > 250) ||
- (verbosity < 0 || verbosity > 4))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
- bzf->initialisedOk = False;
- bzf->bufN = 0;
- bzf->handle = f;
- bzf->writing = True;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- if (workFactor == 0) workFactor = 30;
- ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = 0;
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWrite)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return; };
-
- bzf->strm.avail_in = len;
- bzf->strm.next_in = buf;
-
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
- if (ret != BZ_RUN_OK)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (bzf->strm.avail_in == 0)
- { BZ_SETERR(BZ_OK); return; };
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWriteClose)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out )
-{
- BZ2_bzWriteClose64 ( bzerror, b, abandon,
- nbytes_in, NULL, nbytes_out, NULL );
-}
-
-
-void BZ_API(BZ2_bzWriteClose64)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
- if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
- if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
- if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
-
- if ((!abandon) && bzf->lastErr == BZ_OK) {
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
- if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (ret == BZ_STREAM_END) break;
- }
- }
-
- if ( !abandon && !ferror ( bzf->handle ) ) {
- fflush ( bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (nbytes_in_lo32 != NULL)
- *nbytes_in_lo32 = bzf->strm.total_in_lo32;
- if (nbytes_in_hi32 != NULL)
- *nbytes_in_hi32 = bzf->strm.total_in_hi32;
- if (nbytes_out_lo32 != NULL)
- *nbytes_out_lo32 = bzf->strm.total_out_lo32;
- if (nbytes_out_hi32 != NULL)
- *nbytes_out_hi32 = bzf->strm.total_out_hi32;
-
- BZ_SETERR(BZ_OK);
- BZ2_bzCompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzReadOpen)
- ( int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused )
-{
- bzFile* bzf = NULL;
- int ret;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (small != 0 && small != 1) ||
- (verbosity < 0 || verbosity > 4) ||
- (unused == NULL && nUnused != 0) ||
- (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
-
- bzf->initialisedOk = False;
- bzf->handle = f;
- bzf->bufN = 0;
- bzf->writing = False;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- while (nUnused > 0) {
- bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
- unused = ((void*)( 1 + ((UChar*)(unused)) ));
- nUnused--;
- }
-
- ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
-
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
-{
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
-
- if (bzf->initialisedOk)
- (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzRead)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
-
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return 0; };
-
- bzf->strm.avail_out = len;
- bzf->strm.next_out = buf;
-
- while (True) {
-
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
-
- if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
- n = fread ( bzf->buf, sizeof(UChar),
- BZ_MAX_UNUSED, bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
- bzf->bufN = n;
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
- }
-
- ret = BZ2_bzDecompress ( &(bzf->strm) );
-
- if (ret != BZ_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return 0; };
-
- if (ret == BZ_OK && myfeof(bzf->handle) &&
- bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
- { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
-
- if (ret == BZ_STREAM_END)
- { BZ_SETERR(BZ_STREAM_END);
- return len - bzf->strm.avail_out; };
- if (bzf->strm.avail_out == 0)
- { BZ_SETERR(BZ_OK); return len; };
-
- }
-
- return 0; /*not reached*/
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadGetUnused)
- ( int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused )
-{
- bzFile* bzf = (bzFile*)b;
- if (bzf == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (bzf->lastErr != BZ_STREAM_END)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (unused == NULL || nUnused == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
-
- BZ_SETERR(BZ_OK);
- *nUnused = bzf->strm.avail_in;
- *unused = bzf->strm.next_in;
-}
-#endif
-
-
-/*---------------------------------------------------*/
-/*--- Misc convenience stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffCompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- verbosity < 0 || verbosity > 4 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzCompressInit ( &strm, blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzCompress ( &strm, BZ_FINISH );
- if (ret == BZ_FINISH_OK) goto output_overflow;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzCompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow:
- BZ2_bzCompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
-
- errhandler:
- BZ2_bzCompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffDecompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- (small != 0 && small != 1) ||
- verbosity < 0 || verbosity > 4)
- return BZ_PARAM_ERROR;
-
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzDecompress ( &strm );
- if (ret == BZ_OK) goto output_overflow_or_eof;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow_or_eof:
- if (strm.avail_out > 0) {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_UNEXPECTED_EOF;
- } else {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
- };
-
- errhandler:
- BZ2_bzDecompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- Code contributed by Yoshioka Tsuneo
- (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-/*--
- return version like "0.9.0c".
---*/
-const char * BZ_API(BZ2_bzlibVersion)(void)
-{
- return BZ_VERSION;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-
-#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-static
-BZFILE * bzopen_or_bzdopen
- ( const char *path, /* no use when bzdopen */
- int fd, /* no use when bzdopen */
- const char *mode,
- int open_mode) /* bzopen: 0, bzdopen:1 */
-{
- int bzerr;
- char unused[BZ_MAX_UNUSED];
- int blockSize100k = 9;
- int writing = 0;
- char mode2[10] = "";
- FILE *fp = NULL;
- BZFILE *bzfp = NULL;
- int verbosity = 0;
- int workFactor = 30;
- int smallMode = 0;
- int nUnused = 0;
-
- if (mode == NULL) return NULL;
- while (*mode) {
- switch (*mode) {
- case 'r':
- writing = 0; break;
- case 'w':
- writing = 1; break;
- case 's':
- smallMode = 1; break;
- default:
- if (isdigit((int)(*mode))) {
- blockSize100k = *mode-'0';
- }
- }
- mode++;
- }
- strcat(mode2, writing ? "w" : "r" );
- strcat(mode2,"b"); /* binary mode */
-
- if (open_mode==0) {
- if (path==NULL || strcmp(path,"")==0) {
- fp = (writing ? stdout : stdin);
- SET_BINARY_MODE(fp);
- } else {
- fp = fopen(path,mode2);
- }
- } else {
-#ifdef BZ_STRICT_ANSI
- fp = NULL;
-#else
- fp = fdopen(fd,mode2);
-#endif
- }
- if (fp == NULL) return NULL;
-
- if (writing) {
- /* Guard against total chaos and anarchy -- JRS */
- if (blockSize100k < 1) blockSize100k = 1;
- if (blockSize100k > 9) blockSize100k = 9;
- bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
- verbosity,workFactor);
- } else {
- bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
- unused,nUnused);
- }
- if (bzfp == NULL) {
- if (fp != stdin && fp != stdout) fclose(fp);
- return NULL;
- }
- return bzfp;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- open file for read or write.
- ex) bzopen("file","w9")
- case path="" or NULL => use stdin or stdout.
---*/
-BZFILE * BZ_API(BZ2_bzopen)
- ( const char *path,
- const char *mode )
-{
- return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
-}
-
-
-/*---------------------------------------------------*/
-BZFILE * BZ_API(BZ2_bzdopen)
- ( int fd,
- const char *mode )
-{
- return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
-{
- int bzerr, nread;
- if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
- nread = BZ2_bzRead(&bzerr,b,buf,len);
- if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
- return nread;
- } else {
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
-{
- int bzerr;
-
- BZ2_bzWrite(&bzerr,b,buf,len);
- if(bzerr == BZ_OK){
- return len;
- }else{
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzflush) (BZFILE *b __attribute__ ((unused)))
-{
- /* do nothing now... */
- return 0;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzclose) (BZFILE* b)
-{
- int bzerr;
- FILE *fp = ((bzFile *)b)->handle;
-
- if (b==NULL) {return;}
- if(((bzFile*)b)->writing){
- BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
- if(bzerr != BZ_OK){
- BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
- }
- }else{
- BZ2_bzReadClose(&bzerr,b);
- }
- if(fp!=stdin && fp!=stdout){
- fclose(fp);
- }
-}
-
-
-/*---------------------------------------------------*/
-/*--
- return last error code
---*/
-static char *bzerrorstrings[] = {
- "OK"
- ,"SEQUENCE_ERROR"
- ,"PARAM_ERROR"
- ,"MEM_ERROR"
- ,"DATA_ERROR"
- ,"DATA_ERROR_MAGIC"
- ,"IO_ERROR"
- ,"UNEXPECTED_EOF"
- ,"OUTBUFF_FULL"
- ,"CONFIG_ERROR"
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
-};
-
-
-const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
-{
- int err = ((bzFile *)b)->lastErr;
-
- if(err>0) err = 0;
- *errnum = err;
- return bzerrorstrings[err*-1];
-}
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/bzlib.h b/mdk-stage1/bzlib/bzlib.h
deleted file mode 100644
index c9447a295..000000000
--- a/mdk-stage1/bzlib/bzlib.h
+++ /dev/null
@@ -1,319 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Public header file for the library. ---*/
-/*--- bzlib.h ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-
-#ifndef _BZLIB_H
-#define _BZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BZ_RUN 0
-#define BZ_FLUSH 1
-#define BZ_FINISH 2
-
-#define BZ_OK 0
-#define BZ_RUN_OK 1
-#define BZ_FLUSH_OK 2
-#define BZ_FINISH_OK 3
-#define BZ_STREAM_END 4
-#define BZ_SEQUENCE_ERROR (-1)
-#define BZ_PARAM_ERROR (-2)
-#define BZ_MEM_ERROR (-3)
-#define BZ_DATA_ERROR (-4)
-#define BZ_DATA_ERROR_MAGIC (-5)
-#define BZ_IO_ERROR (-6)
-#define BZ_UNEXPECTED_EOF (-7)
-#define BZ_OUTBUFF_FULL (-8)
-#define BZ_CONFIG_ERROR (-9)
-
-typedef
- struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
- }
- bz_stream;
-
-
-#ifndef BZ_IMPORT
-#define BZ_EXPORT
-#endif
-
-#ifdef _WIN32
-# include <stdio.h>
-# include <windows.h>
-# ifdef small
- /* windows.h define small to char */
-# undef small
-# endif
-# ifdef BZ_EXPORT
-# define BZ_API(func) WINAPI func
-# define BZ_EXTERN extern
-# else
- /* import windows dll dynamically */
-# define BZ_API(func) (WINAPI * func)
-# define BZ_EXTERN
-# endif
-#else
-# define BZ_API(func) func
-# define BZ_EXTERN extern
-#endif
-
-
-/*-- Core (low-level) library functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
- bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompress) (
- bz_stream* strm,
- int action
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
- bz_stream *strm,
- int verbosity,
- int small
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
- bz_stream *strm
- );
-
-
-
-/*-- High(er) level library functions --*/
-
-#ifndef BZ_NO_STDIO
-#define BZ_MAX_UNUSED 5000
-
-typedef void BZFILE;
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
- int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
- int* bzerror,
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
- int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzRead) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
- int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWrite) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32
- );
-#endif
-
-
-/*-- Utility functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity
- );
-
-
-/*--
- Code contributed by Yoshioka Tsuneo
- (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-
-BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
- void
- );
-
-#ifndef BZ_NO_STDIO
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
- const char *path,
- const char *mode
- );
-
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
- int fd,
- const char *mode
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzread) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzwrite) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzflush) (
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzclose) (
- BZFILE* b
- );
-
-BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
- BZFILE *b,
- int *errnum
- );
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.h ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/bzlib_private.h b/mdk-stage1/bzlib/bzlib_private.h
deleted file mode 100644
index fb51c7a1d..000000000
--- a/mdk-stage1/bzlib/bzlib_private.h
+++ /dev/null
@@ -1,530 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Private header file for the library. ---*/
-/*--- bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-
-#ifndef _BZLIB_PRIVATE_H
-#define _BZLIB_PRIVATE_H
-
-#include <stdlib.h>
-
-#ifndef BZ_NO_STDIO
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#endif
-
-#include "bzlib.h"
-
-
-
-/*-- General stuff. --*/
-
-#define BZ_VERSION "1.0.1, 23-June-2000"
-
-typedef char Char;
-typedef unsigned char Bool;
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-typedef short Int16;
-typedef unsigned short UInt16;
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-#ifndef __GNUC__
-#define __inline__ /* */
-#endif
-
-#ifndef BZ_NO_STDIO
-extern void BZ2_bz__AssertH__fail ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
-#if BZ_DEBUG
-#define AssertD(cond,msg) \
- { if (!(cond)) { \
- fprintf ( stderr, \
- "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
- exit(1); \
- }}
-#else
-#define AssertD(cond,msg) /* */
-#endif
-#define VPrintf0(zf) \
- fprintf(stderr,zf)
-#define VPrintf1(zf,za1) \
- fprintf(stderr,zf,za1)
-#define VPrintf2(zf,za1,za2) \
- fprintf(stderr,zf,za1,za2)
-#define VPrintf3(zf,za1,za2,za3) \
- fprintf(stderr,zf,za1,za2,za3)
-#define VPrintf4(zf,za1,za2,za3,za4) \
- fprintf(stderr,zf,za1,za2,za3,za4)
-#define VPrintf5(zf,za1,za2,za3,za4,za5) \
- fprintf(stderr,zf,za1,za2,za3,za4,za5)
-#else
-extern void bz_internal_error ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) bz_internal_error ( errcode ); }
-#define AssertD(cond,msg) /* */
-#define VPrintf0(zf) /* */
-#define VPrintf1(zf,za1) /* */
-#define VPrintf2(zf,za1,za2) /* */
-#define VPrintf3(zf,za1,za2,za3) /* */
-#define VPrintf4(zf,za1,za2,za3,za4) /* */
-#define VPrintf5(zf,za1,za2,za3,za4,za5) /* */
-#endif
-
-
-#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
-#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
-
-
-/*-- Constants for the back end. --*/
-
-#define BZ_MAX_ALPHA_SIZE 258
-#define BZ_MAX_CODE_LEN 23
-
-#define BZ_RUNA 0
-#define BZ_RUNB 1
-
-#define BZ_N_GROUPS 6
-#define BZ_G_SIZE 50
-#define BZ_N_ITERS 4
-
-#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
-
-
-
-/*-- Stuff for randomising repetitive blocks. --*/
-
-extern Int32 BZ2_rNums[512];
-
-#define BZ_RAND_DECLS \
- Int32 rNToGo; \
- Int32 rTPos \
-
-#define BZ_RAND_INIT_MASK \
- s->rNToGo = 0; \
- s->rTPos = 0 \
-
-#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
-
-#define BZ_RAND_UPD_MASK \
- if (s->rNToGo == 0) { \
- s->rNToGo = BZ2_rNums[s->rTPos]; \
- s->rTPos++; \
- if (s->rTPos == 512) s->rTPos = 0; \
- } \
- s->rNToGo--;
-
-
-
-/*-- Stuff for doing CRCs. --*/
-
-extern UInt32 BZ2_crc32Table[256];
-
-#define BZ_INITIALISE_CRC(crcVar) \
-{ \
- crcVar = 0xffffffffL; \
-}
-
-#define BZ_FINALISE_CRC(crcVar) \
-{ \
- crcVar = ~(crcVar); \
-}
-
-#define BZ_UPDATE_CRC(crcVar,cha) \
-{ \
- crcVar = (crcVar << 8) ^ \
- BZ2_crc32Table[(crcVar >> 24) ^ \
- ((UChar)cha)]; \
-}
-
-
-
-/*-- States and modes for compression. --*/
-
-#define BZ_M_IDLE 1
-#define BZ_M_RUNNING 2
-#define BZ_M_FLUSHING 3
-#define BZ_M_FINISHING 4
-
-#define BZ_S_OUTPUT 1
-#define BZ_S_INPUT 2
-
-#define BZ_N_RADIX 2
-#define BZ_N_QSORT 12
-#define BZ_N_SHELL 18
-#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
-
-
-
-
-/*-- Structure holding all the compression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* mode this stream is in, and whether inputting */
- /* or outputting data */
- Int32 mode;
- Int32 state;
-
- /* remembers avail_in when flush/finish requested */
- UInt32 avail_in_expect;
-
- /* for doing the block sorting */
- UInt32* arr1;
- UInt32* arr2;
- UInt32* ftab;
- Int32 origPtr;
-
- /* aliases for arr1 and arr2 */
- UInt32* ptr;
- UChar* block;
- UInt16* mtfv;
- UChar* zbits;
-
- /* for deciding when to use the fallback sorting algorithm */
- Int32 workFactor;
-
- /* run-length-encoding of the input */
- UInt32 state_in_ch;
- Int32 state_in_len;
- BZ_RAND_DECLS;
-
- /* input and output limits and current posns */
- Int32 nblock;
- Int32 nblockMAX;
- Int32 numZ;
- Int32 state_out_pos;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- UChar unseqToSeq[256];
-
- /* the buffer for bit stream creation */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* block and combined CRCs */
- UInt32 blockCRC;
- UInt32 combinedCRC;
-
- /* misc administratium */
- Int32 verbosity;
- Int32 blockNo;
- Int32 blockSize100k;
-
- /* stuff for coding the MTF values */
- Int32 nMTF;
- Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
-
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- /* second dimension: only 3 needed; 4 makes index calculations faster */
- UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
-
- }
- EState;
-
-
-
-/*-- externs for compression. --*/
-
-extern void
-BZ2_blockSort ( EState* );
-
-extern void
-BZ2_compressBlock ( EState*, Bool );
-
-extern void
-BZ2_bsInitWrite ( EState* );
-
-extern void
-BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
-
-extern void
-BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
-
-
-
-/*-- states for decompression. --*/
-
-#define BZ_X_IDLE 1
-#define BZ_X_OUTPUT 2
-
-#define BZ_X_MAGIC_1 10
-#define BZ_X_MAGIC_2 11
-#define BZ_X_MAGIC_3 12
-#define BZ_X_MAGIC_4 13
-#define BZ_X_BLKHDR_1 14
-#define BZ_X_BLKHDR_2 15
-#define BZ_X_BLKHDR_3 16
-#define BZ_X_BLKHDR_4 17
-#define BZ_X_BLKHDR_5 18
-#define BZ_X_BLKHDR_6 19
-#define BZ_X_BCRC_1 20
-#define BZ_X_BCRC_2 21
-#define BZ_X_BCRC_3 22
-#define BZ_X_BCRC_4 23
-#define BZ_X_RANDBIT 24
-#define BZ_X_ORIGPTR_1 25
-#define BZ_X_ORIGPTR_2 26
-#define BZ_X_ORIGPTR_3 27
-#define BZ_X_MAPPING_1 28
-#define BZ_X_MAPPING_2 29
-#define BZ_X_SELECTOR_1 30
-#define BZ_X_SELECTOR_2 31
-#define BZ_X_SELECTOR_3 32
-#define BZ_X_CODING_1 33
-#define BZ_X_CODING_2 34
-#define BZ_X_CODING_3 35
-#define BZ_X_MTF_1 36
-#define BZ_X_MTF_2 37
-#define BZ_X_MTF_3 38
-#define BZ_X_MTF_4 39
-#define BZ_X_MTF_5 40
-#define BZ_X_MTF_6 41
-#define BZ_X_ENDHDR_2 42
-#define BZ_X_ENDHDR_3 43
-#define BZ_X_ENDHDR_4 44
-#define BZ_X_ENDHDR_5 45
-#define BZ_X_ENDHDR_6 46
-#define BZ_X_CCRC_1 47
-#define BZ_X_CCRC_2 48
-#define BZ_X_CCRC_3 49
-#define BZ_X_CCRC_4 50
-
-
-
-/*-- Constants for the fast MTF decoder. --*/
-
-#define MTFA_SIZE 4096
-#define MTFL_SIZE 16
-
-
-
-/*-- Structure holding all the decompression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* state indicator for this stream */
- Int32 state;
-
- /* for doing the final run-length decoding */
- UChar state_out_ch;
- Int32 state_out_len;
- Bool blockRandomised;
- BZ_RAND_DECLS;
-
- /* the buffer for bit stream reading */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* misc administratium */
- Int32 blockSize100k;
- Bool smallDecompress;
- Int32 currBlockNo;
- Int32 verbosity;
-
- /* for undoing the Burrows-Wheeler transform */
- Int32 origPtr;
- UInt32 tPos;
- Int32 k0;
- Int32 unzftab[256];
- Int32 nblock_used;
- Int32 cftab[257];
- Int32 cftabCopy[257];
-
- /* for undoing the Burrows-Wheeler transform (FAST) */
- UInt32 *tt;
-
- /* for undoing the Burrows-Wheeler transform (SMALL) */
- UInt16 *ll16;
- UChar *ll4;
-
- /* stored and calculated CRCs */
- UInt32 storedBlockCRC;
- UInt32 storedCombinedCRC;
- UInt32 calculatedBlockCRC;
- UInt32 calculatedCombinedCRC;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- Bool inUse16[16];
- UChar seqToUnseq[256];
-
- /* for decoding the MTF values */
- UChar mtfa [MTFA_SIZE];
- Int32 mtfbase[256 / MTFL_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
-
- Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 minLens[BZ_N_GROUPS];
-
- /* save area for scalars in the main decompress code */
- Int32 save_i;
- Int32 save_j;
- Int32 save_t;
- Int32 save_alphaSize;
- Int32 save_nGroups;
- Int32 save_nSelectors;
- Int32 save_EOB;
- Int32 save_groupNo;
- Int32 save_groupPos;
- Int32 save_nextSym;
- Int32 save_nblockMAX;
- Int32 save_nblock;
- Int32 save_es;
- Int32 save_N;
- Int32 save_curr;
- Int32 save_zt;
- Int32 save_zn;
- Int32 save_zvec;
- Int32 save_zj;
- Int32 save_gSel;
- Int32 save_gMinlen;
- Int32* save_gLimit;
- Int32* save_gBase;
- Int32* save_gPerm;
-
- }
- DState;
-
-
-
-/*-- Macros for decompression. --*/
-
-#define BZ_GET_FAST(cccc) \
- s->tPos = s->tt[s->tPos]; \
- cccc = (UChar)(s->tPos & 0xff); \
- s->tPos >>= 8;
-
-#define BZ_GET_FAST_C(cccc) \
- c_tPos = c_tt[c_tPos]; \
- cccc = (UChar)(c_tPos & 0xff); \
- c_tPos >>= 8;
-
-#define SET_LL4(i,n) \
- { if (((i) & 0x1) == 0) \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
- }
-
-#define GET_LL4(i) \
- ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
-
-#define SET_LL(i,n) \
- { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
- SET_LL4(i, n >> 16); \
- }
-
-#define GET_LL(i) \
- (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
-
-#define BZ_GET_SMALL(cccc) \
- cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
- s->tPos = GET_LL(s->tPos);
-
-
-/*-- externs for decompression. --*/
-
-extern Int32
-BZ2_indexIntoF ( Int32, Int32* );
-
-extern Int32
-BZ2_decompress ( DState* );
-
-extern void
-BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
- Int32, Int32, Int32 );
-
-
-#endif
-
-
-/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
-
-#ifdef BZ_NO_STDIO
-#ifndef NULL
-#define NULL 0
-#endif
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/compress.c b/mdk-stage1/bzlib/compress.c
deleted file mode 100644
index 58d5abe7c..000000000
--- a/mdk-stage1/bzlib/compress.c
+++ /dev/null
@@ -1,720 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Compression machinery (not incl block sorting) ---*/
-/*--- compress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-/*--
- CHANGES
- ~~~~~~~
- 0.9.0 -- original version.
-
- 0.9.0a/b -- no changes in this file.
-
- 0.9.0c
- * changed setting of nGroups in sendMTFValues() so as to
- do a bit better on small files
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Bit stream I/O ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-void BZ2_bsInitWrite ( EState* s )
-{
- s->bsLive = 0;
- s->bsBuff = 0;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsFinishWrite ( EState* s )
-{
- while (s->bsLive > 0) {
- s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
- s->numZ++;
- s->bsBuff <<= 8;
- s->bsLive -= 8;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define bsNEEDW(nz) \
-{ \
- while (s->bsLive >= 8) { \
- s->zbits[s->numZ] \
- = (UChar)(s->bsBuff >> 24); \
- s->numZ++; \
- s->bsBuff <<= 8; \
- s->bsLive -= 8; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-__inline__
-void bsW ( EState* s, Int32 n, UInt32 v )
-{
- bsNEEDW ( n );
- s->bsBuff |= (v << (32 - s->bsLive - n));
- s->bsLive += n;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUInt32 ( EState* s, UInt32 u )
-{
- bsW ( s, 8, (u >> 24) & 0xffL );
- bsW ( s, 8, (u >> 16) & 0xffL );
- bsW ( s, 8, (u >> 8) & 0xffL );
- bsW ( s, 8, u & 0xffL );
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUChar ( EState* s, UChar c )
-{
- bsW( s, 8, (UInt32)c );
-}
-
-
-/*---------------------------------------------------*/
-/*--- The back end proper ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-static
-void makeMaps_e ( EState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->unseqToSeq[i] = s->nInUse;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void generateMTFValues ( EState* s )
-{
- UChar yy[256];
- Int32 i, j;
- Int32 zPend;
- Int32 wr;
- Int32 EOB;
-
- /*
- After sorting (eg, here),
- s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
- and
- ((UChar*)s->arr2) [ 0 .. s->nblock-1 ]
- holds the original block data.
-
- The first thing to do is generate the MTF values,
- and put them in
- ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
- Because there are strictly fewer or equal MTF values
- than block values, ptr values in this area are overwritten
- with MTF values only when they are no longer needed.
-
- The final compressed bitstream is generated into the
- area starting at
- (UChar*) (&((UChar*)s->arr2)[s->nblock])
-
- These storage aliases are set up in bzCompressInit(),
- except for the last one, which is arranged in
- compressBlock().
- */
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt16* mtfv = s->mtfv;
-
- makeMaps_e ( s );
- EOB = s->nInUse+1;
-
- for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
-
- wr = 0;
- zPend = 0;
- for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
-
- for (i = 0; i < s->nblock; i++) {
- UChar ll_i;
- AssertD ( wr <= i, "generateMTFValues(1)" );
- j = ptr[i]-1; if (j < 0) j += s->nblock;
- ll_i = s->unseqToSeq[block[j]];
- AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
-
- if (yy[0] == ll_i) {
- zPend++;
- } else {
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
- {
- register UChar rtmp;
- register UChar* ryy_j;
- register UChar rll_i;
- rtmp = yy[1];
- yy[1] = yy[0];
- ryy_j = &(yy[1]);
- rll_i = ll_i;
- while ( rll_i != rtmp ) {
- register UChar rtmp2;
- ryy_j++;
- rtmp2 = rtmp;
- rtmp = *ryy_j;
- *ryy_j = rtmp2;
- };
- yy[0] = rtmp;
- j = ryy_j - &(yy[0]);
- mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
- }
-
- }
- }
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
-
- mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
-
- s->nMTF = wr;
-}
-
-
-/*---------------------------------------------------*/
-#define BZ_LESSER_ICOST 0
-#define BZ_GREATER_ICOST 15
-
-static
-void sendMTFValues ( EState* s )
-{
- Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
- Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
- Int32 nGroups, nBytes;
-
- /*--
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- is a global since the decoder also needs it.
-
- Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- are also globals only used in this proc.
- Made global to keep stack frame size small.
- --*/
-
-
- UInt16 cost[BZ_N_GROUPS];
- Int32 fave[BZ_N_GROUPS];
-
- UInt16* mtfv = s->mtfv;
-
- if (s->verbosity >= 3)
- VPrintf3( " %d in block, %d after MTF & 1-2 coding, "
- "%d+2 syms in use\n",
- s->nblock, s->nMTF, s->nInUse );
-
- alphaSize = s->nInUse+2;
- for (t = 0; t < BZ_N_GROUPS; t++)
- for (v = 0; v < alphaSize; v++)
- s->len[t][v] = BZ_GREATER_ICOST;
-
- /*--- Decide how many coding tables to use ---*/
- AssertH ( s->nMTF > 0, 3001 );
- if (s->nMTF < 200) nGroups = 2; else
- if (s->nMTF < 600) nGroups = 3; else
- if (s->nMTF < 1200) nGroups = 4; else
- if (s->nMTF < 2400) nGroups = 5; else
- nGroups = 6;
-
- /*--- Generate an initial set of coding tables ---*/
- {
- Int32 nPart, remF, tFreq, aFreq;
-
- nPart = nGroups;
- remF = s->nMTF;
- gs = 0;
- while (nPart > 0) {
- tFreq = remF / nPart;
- ge = gs-1;
- aFreq = 0;
- while (aFreq < tFreq && ge < alphaSize-1) {
- ge++;
- aFreq += s->mtfFreq[ge];
- }
-
- if (ge > gs
- && nPart != nGroups && nPart != 1
- && ((nGroups-nPart) % 2 == 1)) {
- aFreq -= s->mtfFreq[ge];
- ge--;
- }
-
- if (s->verbosity >= 3)
- VPrintf5( " initial group %d, [%d .. %d], "
- "has %d syms (%4.1f%%)\n",
- nPart, gs, ge, aFreq,
- (100.0 * (float)aFreq) / (float)(s->nMTF) );
-
- for (v = 0; v < alphaSize; v++)
- if (v >= gs && v <= ge)
- s->len[nPart-1][v] = BZ_LESSER_ICOST; else
- s->len[nPart-1][v] = BZ_GREATER_ICOST;
-
- nPart--;
- gs = ge+1;
- remF -= aFreq;
- }
- }
-
- /*---
- Iterate up to BZ_N_ITERS times to improve the tables.
- ---*/
- for (iter = 0; iter < BZ_N_ITERS; iter++) {
-
- for (t = 0; t < nGroups; t++) fave[t] = 0;
-
- for (t = 0; t < nGroups; t++)
- for (v = 0; v < alphaSize; v++)
- s->rfreq[t][v] = 0;
-
- /*---
- Set up an auxiliary length table which is used to fast-track
- the common case (nGroups == 6).
- ---*/
- if (nGroups == 6) {
- for (v = 0; v < alphaSize; v++) {
- s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
- s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
- s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
- }
- }
-
- nSelectors = 0;
- totc = 0;
- gs = 0;
- while (True) {
-
- /*--- Set group start & end marks. --*/
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
-
- /*--
- Calculate the cost of this group as coded
- by each of the coding tables.
- --*/
- for (t = 0; t < nGroups; t++) cost[t] = 0;
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- register UInt32 cost01, cost23, cost45;
- register UInt16 icv;
- cost01 = cost23 = cost45 = 0;
-
-# define BZ_ITER(nn) \
- icv = mtfv[gs+(nn)]; \
- cost01 += s->len_pack[icv][0]; \
- cost23 += s->len_pack[icv][1]; \
- cost45 += s->len_pack[icv][2]; \
-
- BZ_ITER(0); BZ_ITER(1); BZ_ITER(2); BZ_ITER(3); BZ_ITER(4);
- BZ_ITER(5); BZ_ITER(6); BZ_ITER(7); BZ_ITER(8); BZ_ITER(9);
- BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
- BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
- BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
- BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
- BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
- BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
- BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
- BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
-
-# undef BZ_ITER
-
- cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
- cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
- cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- UInt16 icv = mtfv[i];
- for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
- }
- }
-
- /*--
- Find the coding table which is best for this group,
- and record its identity in the selector table.
- --*/
- bc = 999999999; bt = -1;
- for (t = 0; t < nGroups; t++)
- if (cost[t] < bc) { bc = cost[t]; bt = t; };
- totc += bc;
- fave[bt]++;
- s->selector[nSelectors] = bt;
- nSelectors++;
-
- /*--
- Increment the symbol frequencies for the selected table.
- --*/
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
-
-# define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
-
- BZ_ITUR(0); BZ_ITUR(1); BZ_ITUR(2); BZ_ITUR(3); BZ_ITUR(4);
- BZ_ITUR(5); BZ_ITUR(6); BZ_ITUR(7); BZ_ITUR(8); BZ_ITUR(9);
- BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
- BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
- BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
- BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
- BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
- BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
- BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
- BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
-
-# undef BZ_ITUR
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++)
- s->rfreq[bt][ mtfv[i] ]++;
- }
-
- gs = ge+1;
- }
- if (s->verbosity >= 3) {
- VPrintf2 ( " pass %d: size is %d, grp uses are ",
- iter+1, totc/8 );
- for (t = 0; t < nGroups; t++)
- VPrintf1 ( "%d ", fave[t] );
- VPrintf0 ( "\n" );
- }
-
- /*--
- Recompute the tables based on the accumulated frequencies.
- --*/
- for (t = 0; t < nGroups; t++)
- BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
- alphaSize, 20 );
- }
-
-
- AssertH( nGroups < 8, 3002 );
- AssertH( nSelectors < 32768 &&
- nSelectors <= (2 + (900000 / BZ_G_SIZE)),
- 3003 );
-
-
- /*--- Compute MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
- for (i = 0; i < nGroups; i++) pos[i] = i;
- for (i = 0; i < nSelectors; i++) {
- ll_i = s->selector[i];
- j = 0;
- tmp = pos[j];
- while ( ll_i != tmp ) {
- j++;
- tmp2 = tmp;
- tmp = pos[j];
- pos[j] = tmp2;
- };
- pos[0] = tmp;
- s->selectorMtf[i] = j;
- }
- };
-
- /*--- Assign actual codes for the tables. --*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- AssertH ( !(maxLen > 20), 3004 );
- AssertH ( !(minLen < 1), 3005 );
- BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
- minLen, maxLen, alphaSize );
- }
-
- /*--- Transmit the mapping table. ---*/
- {
- Bool inUse16[16];
- for (i = 0; i < 16; i++) {
- inUse16[i] = False;
- for (j = 0; j < 16; j++)
- if (s->inUse[i * 16 + j]) inUse16[i] = True;
- }
-
- nBytes = s->numZ;
- for (i = 0; i < 16; i++)
- if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
-
- for (i = 0; i < 16; i++)
- if (inUse16[i])
- for (j = 0; j < 16; j++) {
- if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
- }
-
- if (s->verbosity >= 3)
- VPrintf1( " bytes: mapping %d, ", s->numZ-nBytes );
- }
-
- /*--- Now the selectors. ---*/
- nBytes = s->numZ;
- bsW ( s, 3, nGroups );
- bsW ( s, 15, nSelectors );
- for (i = 0; i < nSelectors; i++) {
- for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
- bsW(s,1,0);
- }
- if (s->verbosity >= 3)
- VPrintf1( "selectors %d, ", s->numZ-nBytes );
-
- /*--- Now the coding tables. ---*/
- nBytes = s->numZ;
-
- for (t = 0; t < nGroups; t++) {
- Int32 curr = s->len[t][0];
- bsW ( s, 5, curr );
- for (i = 0; i < alphaSize; i++) {
- while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
- while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
- bsW ( s, 1, 0 );
- }
- }
-
- if (s->verbosity >= 3)
- VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
-
- /*--- And finally, the block data proper ---*/
- nBytes = s->numZ;
- selCtr = 0;
- gs = 0;
- while (True) {
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
- AssertH ( s->selector[selCtr] < nGroups, 3006 );
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- UInt16 mtfv_i;
- UChar* s_len_sel_selCtr
- = &(s->len[s->selector[selCtr]][0]);
- Int32* s_code_sel_selCtr
- = &(s->code[s->selector[selCtr]][0]);
-
-# define BZ_ITAH(nn) \
- mtfv_i = mtfv[gs+(nn)]; \
- bsW ( s, \
- s_len_sel_selCtr[mtfv_i], \
- s_code_sel_selCtr[mtfv_i] )
-
- BZ_ITAH(0); BZ_ITAH(1); BZ_ITAH(2); BZ_ITAH(3); BZ_ITAH(4);
- BZ_ITAH(5); BZ_ITAH(6); BZ_ITAH(7); BZ_ITAH(8); BZ_ITAH(9);
- BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
- BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
- BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
- BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
- BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
- BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
- BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
- BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
-
-# undef BZ_ITAH
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- bsW ( s,
- s->len [s->selector[selCtr]] [mtfv[i]],
- s->code [s->selector[selCtr]] [mtfv[i]] );
- }
- }
-
-
- gs = ge+1;
- selCtr++;
- }
- AssertH( selCtr == nSelectors, 3007 );
-
- if (s->verbosity >= 3)
- VPrintf1( "codes %d\n", s->numZ-nBytes );
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_compressBlock ( EState* s, Bool is_last_block )
-{
- if (s->nblock > 0) {
-
- BZ_FINALISE_CRC ( s->blockCRC );
- s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
- s->combinedCRC ^= s->blockCRC;
- if (s->blockNo > 1) s->numZ = 0;
-
- if (s->verbosity >= 2)
- VPrintf4( " block %d: crc = 0x%8x, "
- "combined CRC = 0x%8x, size = %d\n",
- s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
-
- BZ2_blockSort ( s );
- }
-
- s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
-
- /*-- If this is the first block, create the stream header. --*/
- if (s->blockNo == 1) {
- BZ2_bsInitWrite ( s );
- bsPutUChar ( s, 'B' );
- bsPutUChar ( s, 'Z' );
- bsPutUChar ( s, 'h' );
- bsPutUChar ( s, (UChar)('0' + s->blockSize100k) );
- }
-
- if (s->nblock > 0) {
-
- bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
- bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
- bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
-
- /*-- Now the block's CRC, so it is in a known place. --*/
- bsPutUInt32 ( s, s->blockCRC );
-
- /*--
- Now a single bit indicating (non-)randomisation.
- As of version 0.9.5, we use a better sorting algorithm
- which makes randomisation unnecessary. So always set
- the randomised bit to 'no'. Of course, the decoder
- still needs to be able to handle randomised blocks
- so as to maintain backwards compatibility with
- older versions of bzip2.
- --*/
- bsW(s,1,0);
-
- bsW ( s, 24, s->origPtr );
- generateMTFValues ( s );
- sendMTFValues ( s );
- }
-
-
- /*-- If this is the last block, add the stream trailer. --*/
- if (is_last_block) {
-
- bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
- bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
- bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
- bsPutUInt32 ( s, s->combinedCRC );
- if (s->verbosity >= 2)
- VPrintf1( " final combined CRC = 0x%x\n ", s->combinedCRC );
- bsFinishWrite ( s );
- }
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end compress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/crctable.c b/mdk-stage1/bzlib/crctable.c
deleted file mode 100644
index c0ea3f769..000000000
--- a/mdk-stage1/bzlib/crctable.c
+++ /dev/null
@@ -1,148 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for doing CRCs ---*/
-/*--- crctable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*--
- I think this is an implementation of the AUTODIN-II,
- Ethernet & FDDI 32-bit CRC standard. Vaguely derived
- from code by Rob Warnock, in Section 51 of the
- comp.compression FAQ.
---*/
-
-UInt32 BZ2_crc32Table[256] = {
-
- /*-- Ugly, innit? --*/
-
- 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
- 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
- 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
- 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
- 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
- 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
- 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
- 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
- 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
- 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
- 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
- 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
- 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
- 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
- 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
- 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
- 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
- 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
- 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
- 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
- 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
- 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
- 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
- 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
- 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
- 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
- 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
- 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
- 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
- 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
- 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
- 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
- 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
- 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
- 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
- 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
- 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
- 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
- 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
- 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
- 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
- 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
- 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
- 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
- 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
- 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
- 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
- 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
- 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
- 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
- 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
- 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
- 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
- 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
- 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
- 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
- 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
- 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
- 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
- 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
- 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
- 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
- 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
- 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end crctable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/decompress.c b/mdk-stage1/bzlib/decompress.c
deleted file mode 100644
index 65cf75d8f..000000000
--- a/mdk-stage1/bzlib/decompress.c
+++ /dev/null
@@ -1,664 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Decompression machinery ---*/
-/*--- decompress.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-static
-void makeMaps_d ( DState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->seqToUnseq[s->nInUse] = i;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define RETURN(rrr) \
- { retVal = rrr; goto save_state_and_return; };
-
-#define GET_BITS(lll,vvv,nnn) \
- case lll: s->state = lll; \
- while (True) { \
- if (s->bsLive >= nnn) { \
- UInt32 v; \
- v = (s->bsBuff >> \
- (s->bsLive-nnn)) & ((1 << nnn)-1); \
- s->bsLive -= nnn; \
- vvv = v; \
- break; \
- } \
- if (s->strm->avail_in == 0) RETURN(BZ_OK); \
- s->bsBuff \
- = (s->bsBuff << 8) | \
- ((UInt32) \
- (*((UChar*)(s->strm->next_in)))); \
- s->bsLive += 8; \
- s->strm->next_in++; \
- s->strm->avail_in--; \
- s->strm->total_in_lo32++; \
- if (s->strm->total_in_lo32 == 0) \
- s->strm->total_in_hi32++; \
- }
-
-#define GET_UCHAR(lll,uuu) \
- GET_BITS(lll,uuu,8)
-
-#define GET_BIT(lll,uuu) \
- GET_BITS(lll,uuu,1)
-
-/*---------------------------------------------------*/
-#define GET_MTF_VAL(label1,label2,lval) \
-{ \
- if (groupPos == 0) { \
- groupNo++; \
- if (groupNo >= nSelectors) \
- RETURN(BZ_DATA_ERROR); \
- groupPos = BZ_G_SIZE; \
- gSel = s->selector[groupNo]; \
- gMinlen = s->minLens[gSel]; \
- gLimit = &(s->limit[gSel][0]); \
- gPerm = &(s->perm[gSel][0]); \
- gBase = &(s->base[gSel][0]); \
- } \
- groupPos--; \
- zn = gMinlen; \
- GET_BITS(label1, zvec, zn); \
- while (1) { \
- if (zn > 20 /* the longest code */) \
- RETURN(BZ_DATA_ERROR); \
- if (zvec <= gLimit[zn]) break; \
- zn++; \
- GET_BIT(label2, zj); \
- zvec = (zvec << 1) | zj; \
- }; \
- if (zvec - gBase[zn] < 0 \
- || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
- RETURN(BZ_DATA_ERROR); \
- lval = gPerm[zvec - gBase[zn]]; \
-}
-
-
-/*---------------------------------------------------*/
-Int32 BZ2_decompress ( DState* s )
-{
- UChar uc;
- Int32 retVal;
- Int32 minLen, maxLen;
- bz_stream* strm = s->strm;
-
- /* stuff that needs to be saved/restored */
- Int32 i;
- Int32 j;
- Int32 t;
- Int32 alphaSize;
- Int32 nGroups;
- Int32 nSelectors;
- Int32 EOB;
- Int32 groupNo;
- Int32 groupPos;
- Int32 nextSym;
- Int32 nblockMAX;
- Int32 nblock;
- Int32 es;
- Int32 N;
- Int32 curr;
- Int32 zt;
- Int32 zn;
- Int32 zvec;
- Int32 zj;
- Int32 gSel;
- Int32 gMinlen;
- Int32* gLimit;
- Int32* gBase;
- Int32* gPerm;
-
- if (s->state == BZ_X_MAGIC_1) {
- /*initialise the save area*/
- s->save_i = 0;
- s->save_j = 0;
- s->save_t = 0;
- s->save_alphaSize = 0;
- s->save_nGroups = 0;
- s->save_nSelectors = 0;
- s->save_EOB = 0;
- s->save_groupNo = 0;
- s->save_groupPos = 0;
- s->save_nextSym = 0;
- s->save_nblockMAX = 0;
- s->save_nblock = 0;
- s->save_es = 0;
- s->save_N = 0;
- s->save_curr = 0;
- s->save_zt = 0;
- s->save_zn = 0;
- s->save_zvec = 0;
- s->save_zj = 0;
- s->save_gSel = 0;
- s->save_gMinlen = 0;
- s->save_gLimit = NULL;
- s->save_gBase = NULL;
- s->save_gPerm = NULL;
- }
-
- /*restore from the save area*/
- i = s->save_i;
- j = s->save_j;
- t = s->save_t;
- alphaSize = s->save_alphaSize;
- nGroups = s->save_nGroups;
- nSelectors = s->save_nSelectors;
- EOB = s->save_EOB;
- groupNo = s->save_groupNo;
- groupPos = s->save_groupPos;
- nextSym = s->save_nextSym;
- nblockMAX = s->save_nblockMAX;
- nblock = s->save_nblock;
- es = s->save_es;
- N = s->save_N;
- curr = s->save_curr;
- zt = s->save_zt;
- zn = s->save_zn;
- zvec = s->save_zvec;
- zj = s->save_zj;
- gSel = s->save_gSel;
- gMinlen = s->save_gMinlen;
- gLimit = s->save_gLimit;
- gBase = s->save_gBase;
- gPerm = s->save_gPerm;
-
- retVal = BZ_OK;
-
- switch (s->state) {
-
- GET_UCHAR(BZ_X_MAGIC_1, uc);
- if (uc != 'B') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_2, uc);
- if (uc != 'Z') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_3, uc)
- if (uc != 'h') RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
- if (s->blockSize100k < '1' ||
- s->blockSize100k > '9') RETURN(BZ_DATA_ERROR_MAGIC);
- s->blockSize100k -= '0';
-
- if (s->smallDecompress) {
- s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
- s->ll4 = BZALLOC(
- ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
- );
- if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
- } else {
- s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
- if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
- }
-
- GET_UCHAR(BZ_X_BLKHDR_1, uc);
-
- if (uc == 0x17) goto endhdr_2;
- if (uc != 0x31) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_2, uc);
- if (uc != 0x41) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_3, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_4, uc);
- if (uc != 0x26) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_5, uc);
- if (uc != 0x53) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_6, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
-
- s->currBlockNo++;
- if (s->verbosity >= 2)
- VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
-
- s->storedBlockCRC = 0;
- GET_UCHAR(BZ_X_BCRC_1, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_2, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_3, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_4, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
-
- GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
-
- s->origPtr = 0;
- GET_UCHAR(BZ_X_ORIGPTR_1, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_2, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_3, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
-
- if (s->origPtr < 0)
- RETURN(BZ_DATA_ERROR);
- if (s->origPtr > 10 + 100000*s->blockSize100k)
- RETURN(BZ_DATA_ERROR);
-
- /*--- Receive the mapping table ---*/
- for (i = 0; i < 16; i++) {
- GET_BIT(BZ_X_MAPPING_1, uc);
- if (uc == 1)
- s->inUse16[i] = True; else
- s->inUse16[i] = False;
- }
-
- for (i = 0; i < 256; i++) s->inUse[i] = False;
-
- for (i = 0; i < 16; i++)
- if (s->inUse16[i])
- for (j = 0; j < 16; j++) {
- GET_BIT(BZ_X_MAPPING_2, uc);
- if (uc == 1) s->inUse[i * 16 + j] = True;
- }
- makeMaps_d ( s );
- if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
- alphaSize = s->nInUse+2;
-
- /*--- Now the selectors ---*/
- GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
- if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
- GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
- if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
- for (i = 0; i < nSelectors; i++) {
- j = 0;
- while (True) {
- GET_BIT(BZ_X_SELECTOR_3, uc);
- if (uc == 0) break;
- j++;
- if (j >= nGroups) RETURN(BZ_DATA_ERROR);
- }
- s->selectorMtf[i] = j;
- }
-
- /*--- Undo the MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], tmp, v;
- for (v = 0; v < nGroups; v++) pos[v] = v;
-
- for (i = 0; i < nSelectors; i++) {
- v = s->selectorMtf[i];
- tmp = pos[v];
- while (v > 0) { pos[v] = pos[v-1]; v--; }
- pos[0] = tmp;
- s->selector[i] = tmp;
- }
- }
-
- /*--- Now the coding tables ---*/
- for (t = 0; t < nGroups; t++) {
- GET_BITS(BZ_X_CODING_1, curr, 5);
- for (i = 0; i < alphaSize; i++) {
- while (True) {
- if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
- GET_BIT(BZ_X_CODING_2, uc);
- if (uc == 0) break;
- GET_BIT(BZ_X_CODING_3, uc);
- if (uc == 0) curr++; else curr--;
- }
- s->len[t][i] = curr;
- }
- }
-
- /*--- Create the Huffman decoding tables ---*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- BZ2_hbCreateDecodeTables (
- &(s->limit[t][0]),
- &(s->base[t][0]),
- &(s->perm[t][0]),
- &(s->len[t][0]),
- minLen, maxLen, alphaSize
- );
- s->minLens[t] = minLen;
- }
-
- /*--- Now the MTF values ---*/
-
- EOB = s->nInUse+1;
- nblockMAX = 100000 * s->blockSize100k;
- groupNo = -1;
- groupPos = 0;
-
- for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
-
- /*-- MTF init --*/
- {
- Int32 ii, jj, kk;
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- /*-- end MTF init --*/
-
- nblock = 0;
- GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
-
- while (True) {
-
- if (nextSym == EOB) break;
-
- if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
-
- es = -1;
- N = 1;
- do {
- if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
- if (nextSym == BZ_RUNB) es = es + (1+1) * N;
- N = N * 2;
- GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
- }
- while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
-
- es++;
- uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
- s->unzftab[uc] += es;
-
- if (s->smallDecompress)
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->ll16[nblock] = (UInt16)uc;
- nblock++;
- es--;
- }
- else
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->tt[nblock] = (UInt32)uc;
- nblock++;
- es--;
- };
-
- continue;
-
- } else {
-
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
-
- /*-- uc = MTF ( nextSym-1 ) --*/
- {
- Int32 ii, jj, kk, pp, lno, off;
- UInt32 nn;
- nn = (UInt32)(nextSym - 1);
-
- if (nn < MTFL_SIZE) {
- /* avoid general-case expense */
- pp = s->mtfbase[0];
- uc = s->mtfa[pp+nn];
- while (nn > 3) {
- Int32 z = pp+nn;
- s->mtfa[(z) ] = s->mtfa[(z)-1];
- s->mtfa[(z)-1] = s->mtfa[(z)-2];
- s->mtfa[(z)-2] = s->mtfa[(z)-3];
- s->mtfa[(z)-3] = s->mtfa[(z)-4];
- nn -= 4;
- }
- while (nn > 0) {
- s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
- };
- s->mtfa[pp] = uc;
- } else {
- /* general case */
- lno = nn / MTFL_SIZE;
- off = nn % MTFL_SIZE;
- pp = s->mtfbase[lno] + off;
- uc = s->mtfa[pp];
- while (pp > s->mtfbase[lno]) {
- s->mtfa[pp] = s->mtfa[pp-1]; pp--;
- };
- s->mtfbase[lno]++;
- while (lno > 0) {
- s->mtfbase[lno]--;
- s->mtfa[s->mtfbase[lno]]
- = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
- lno--;
- }
- s->mtfbase[0]--;
- s->mtfa[s->mtfbase[0]] = uc;
- if (s->mtfbase[0] == 0) {
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- }
- }
- /*-- end uc = MTF ( nextSym-1 ) --*/
-
- s->unzftab[s->seqToUnseq[uc]]++;
- if (s->smallDecompress)
- s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
- s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
- nblock++;
-
- GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
- continue;
- }
- }
-
- /* Now we know what nblock is, we can do a better sanity
- check on s->origPtr.
- */
- if (s->origPtr < 0 || s->origPtr >= nblock)
- RETURN(BZ_DATA_ERROR);
-
- s->state_out_len = 0;
- s->state_out_ch = 0;
- BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
- s->state = BZ_X_OUTPUT;
- if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
-
- /*-- Set up cftab to facilitate generation of T^(-1) --*/
- s->cftab[0] = 0;
- for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
- for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
-
- if (s->smallDecompress) {
-
- /*-- Make a copy of cftab, used in generation of T --*/
- for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
-
- /*-- compute the T vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->ll16[i]);
- SET_LL(i, s->cftabCopy[uc]);
- s->cftabCopy[uc]++;
- }
-
- /*-- Compute T^(-1) by pointer reversal on T --*/
- i = s->origPtr;
- j = GET_LL(i);
- do {
- Int32 tmp = GET_LL(j);
- SET_LL(j, i);
- i = j;
- j = tmp;
- }
- while (i != s->origPtr);
-
- s->tPos = s->origPtr;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- } else {
-
- /*-- compute the T^(-1) vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->tt[i] & 0xff);
- s->tt[s->cftab[uc]] |= (i << 8);
- s->cftab[uc]++;
- }
-
- s->tPos = s->tt[s->origPtr] >> 8;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_FAST(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_FAST(s->k0); s->nblock_used++;
- }
-
- }
-
- RETURN(BZ_OK);
-
-
-
- endhdr_2:
-
- GET_UCHAR(BZ_X_ENDHDR_2, uc);
- if (uc != 0x72) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_3, uc);
- if (uc != 0x45) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_4, uc);
- if (uc != 0x38) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_5, uc);
- if (uc != 0x50) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_6, uc);
- if (uc != 0x90) RETURN(BZ_DATA_ERROR);
-
- s->storedCombinedCRC = 0;
- GET_UCHAR(BZ_X_CCRC_1, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_2, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_3, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_4, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
-
- s->state = BZ_X_IDLE;
- RETURN(BZ_STREAM_END);
-
- default: AssertH ( False, 4001 );
- }
-
- AssertH ( False, 4002 );
-
- save_state_and_return:
-
- s->save_i = i;
- s->save_j = j;
- s->save_t = t;
- s->save_alphaSize = alphaSize;
- s->save_nGroups = nGroups;
- s->save_nSelectors = nSelectors;
- s->save_EOB = EOB;
- s->save_groupNo = groupNo;
- s->save_groupPos = groupPos;
- s->save_nextSym = nextSym;
- s->save_nblockMAX = nblockMAX;
- s->save_nblock = nblock;
- s->save_es = es;
- s->save_N = N;
- s->save_curr = curr;
- s->save_zt = zt;
- s->save_zn = zn;
- s->save_zvec = zvec;
- s->save_zj = zj;
- s->save_gSel = gSel;
- s->save_gMinlen = gMinlen;
- s->save_gLimit = gLimit;
- s->save_gBase = gBase;
- s->save_gPerm = gPerm;
-
- return retVal;
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end decompress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/huffman.c b/mdk-stage1/bzlib/huffman.c
deleted file mode 100644
index 8994f0bb9..000000000
--- a/mdk-stage1/bzlib/huffman.c
+++ /dev/null
@@ -1,232 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Huffman coding low-level stuff ---*/
-/*--- huffman.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------------*/
-#define WEIGHTOF(zz0) ((zz0) & 0xffffff00)
-#define DEPTHOF(zz1) ((zz1) & 0x000000ff)
-#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
-
-#define ADDWEIGHTS(zw1,zw2) \
- (WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \
- (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
-
-#define UPHEAP(z) \
-{ \
- Int32 zz, tmp; \
- zz = z; tmp = heap[zz]; \
- while (weight[tmp] < weight[heap[zz >> 1]]) { \
- heap[zz] = heap[zz >> 1]; \
- zz >>= 1; \
- } \
- heap[zz] = tmp; \
-}
-
-#define DOWNHEAP(z) \
-{ \
- Int32 zz, yy, tmp; \
- zz = z; tmp = heap[zz]; \
- while (True) { \
- yy = zz << 1; \
- if (yy > nHeap) break; \
- if (yy < nHeap && \
- weight[heap[yy+1]] < weight[heap[yy]]) \
- yy++; \
- if (weight[tmp] < weight[heap[yy]]) break; \
- heap[zz] = heap[yy]; \
- zz = yy; \
- } \
- heap[zz] = tmp; \
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbMakeCodeLengths ( UChar *len,
- Int32 *freq,
- Int32 alphaSize,
- Int32 maxLen )
-{
- /*--
- Nodes and heap entries run from 1. Entry 0
- for both the heap and nodes is a sentinel.
- --*/
- Int32 nNodes, nHeap, n1, n2, i, j, k;
- Bool tooLong;
-
- Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ];
- Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
- Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ];
-
- for (i = 0; i < alphaSize; i++)
- weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
-
- while (True) {
-
- nNodes = alphaSize;
- nHeap = 0;
-
- heap[0] = 0;
- weight[0] = 0;
- parent[0] = -2;
-
- for (i = 1; i <= alphaSize; i++) {
- parent[i] = -1;
- nHeap++;
- heap[nHeap] = i;
- UPHEAP(nHeap);
- }
-
- AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
-
- while (nHeap > 1) {
- n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- nNodes++;
- parent[n1] = parent[n2] = nNodes;
- weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
- parent[nNodes] = -1;
- nHeap++;
- heap[nHeap] = nNodes;
- UPHEAP(nHeap);
- }
-
- AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
-
- tooLong = False;
- for (i = 1; i <= alphaSize; i++) {
- j = 0;
- k = i;
- while (parent[k] >= 0) { k = parent[k]; j++; }
- len[i-1] = j;
- if (j > maxLen) tooLong = True;
- }
-
- if (! tooLong) break;
-
- for (i = 1; i < alphaSize; i++) {
- j = weight[i] >> 8;
- j = 1 + (j / 2);
- weight[i] = j << 8;
- }
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbAssignCodes ( Int32 *code,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 n, vec, i;
-
- vec = 0;
- for (n = minLen; n <= maxLen; n++) {
- for (i = 0; i < alphaSize; i++)
- if (length[i] == n) { code[i] = vec; vec++; };
- vec <<= 1;
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbCreateDecodeTables ( Int32 *limit,
- Int32 *base,
- Int32 *perm,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 pp, i, j, vec;
-
- pp = 0;
- for (i = minLen; i <= maxLen; i++)
- for (j = 0; j < alphaSize; j++)
- if (length[j] == i) { perm[pp] = j; pp++; };
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
- for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
-
- for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
- vec = 0;
-
- for (i = minLen; i <= maxLen; i++) {
- vec += (base[i+1] - base[i]);
- limit[i] = vec-1;
- vec <<= 1;
- }
- for (i = minLen + 1; i <= maxLen; i++)
- base[i] = ((limit[i-1] + 1) << 1) - base[i];
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end huffman.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/bzlib/randtable.c b/mdk-stage1/bzlib/randtable.c
deleted file mode 100644
index a1fc82cfb..000000000
--- a/mdk-stage1/bzlib/randtable.c
+++ /dev/null
@@ -1,128 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for randomising repetitive blocks ---*/
-/*--- randtable.c ---*/
-/*-------------------------------------------------------------*/
-
-/*--
- This file is a part of bzip2 and/or libbzip2, a program and
- library for lossless, block-sorting data compression.
-
- Copyright (C) 1996-2000 Julian R Seward. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
- 4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Julian Seward, Cambridge, UK.
- jseward@acm.org
- bzip2/libbzip2 version 1.0 of 21 March 2000
-
- This program is based on (at least) the work of:
- Mike Burrows
- David Wheeler
- Peter Fenwick
- Alistair Moffat
- Radford Neal
- Ian H. Witten
- Robert Sedgewick
- Jon L. Bentley
-
- For more information on these sources, see the manual.
---*/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------*/
-Int32 BZ2_rNums[512] = {
- 619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
- 985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
- 733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
- 419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
- 878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
- 862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
- 150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
- 170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
- 73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
- 909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
- 641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
- 161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
- 382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
- 98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
- 227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
- 469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
- 184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
- 715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
- 951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
- 652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
- 645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
- 609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
- 653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
- 411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
- 170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
- 857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
- 669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
- 944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
- 344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
- 897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
- 433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
- 686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
- 946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
- 978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
- 680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
- 707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
- 297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
- 134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
- 343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
- 140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
- 170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
- 369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
- 804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
- 896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
- 661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
- 768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
- 61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
- 372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
- 780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
- 920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
- 645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
- 936, 638
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end randtable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/mdk-stage1/cdrom.c b/mdk-stage1/cdrom.c
index ba0341b30..71db1da16 100644
--- a/mdk-stage1/cdrom.c
+++ b/mdk-stage1/cdrom.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -30,6 +30,8 @@
#include "probing.h"
#include "log.h"
#include "mount.h"
+#include "tools.h"
+#include "utils.h"
#include "cdrom.h"
@@ -37,17 +39,15 @@
static int mount_that_cd_device(char * dev_name)
{
char device_fullname[50];
+ int mount_result;
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev_name);
+ snprintf(device_fullname, sizeof(device_fullname), "/dev/%s", dev_name);
- return my_mount(device_fullname, IMAGE_LOCATION, "iso9660", 0);
-}
+ mount_result = my_mount(device_fullname, MEDIA_LOCATION, "iso9660", 0);
+ create_IMAGE_LOCATION(MEDIA_LOCATION);
-static int test_that_cd()
-{
- return access(IMAGE_LOCATION LIVE_LOCATION, R_OK);
+ return mount_result;
}
@@ -55,9 +55,9 @@ static enum return_type try_with_device(char * dev_name, char * dev_model);
static enum return_type do_with_device(char * dev_name, char * dev_model)
{
- if (test_that_cd()) {
+ if (!image_has_stage2()) {
enum return_type results;
- umount(IMAGE_LOCATION);
+ umount(MEDIA_LOCATION);
results = ask_yes_no("That CDROM disc does not seem to be a " DISTRIB_NAME " Installation CDROM.\nRetry with another disc?");
if (results == RETURN_OK)
return try_with_device(dev_name, dev_model);
@@ -66,13 +66,13 @@ static enum return_type do_with_device(char * dev_name, char * dev_model)
log_message("found a " DISTRIB_NAME " CDROM, good news!");
- if (IS_SPECIAL_STAGE2 || ramdisk_possible())
- load_ramdisk(); /* we don't care about return code, we'll do it live if we failed */
+ may_load_compressed_image();
- if (IS_RESCUE)
- umount(IMAGE_LOCATION);
+ if (!KEEP_MOUNTED)
+ /* in rescue mode, we don't need the media anymore */
+ umount(MEDIA_LOCATION);
- method_name = strdup("cdrom");
+ add_to_env("METHOD", "cdrom");
return RETURN_OK;
}
@@ -83,7 +83,7 @@ static enum return_type try_with_device(char * dev_name, char * dev_model)
if (mount_that_cd_device(dev_name) == -1) {
enum return_type results;
char msg[500];
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
remove_wait_message();
snprintf(msg, sizeof(msg), "I can't access a " DISTRIB_NAME " Installation disc in your CDROM drive (%s).\nRetry?", dev_model);
@@ -113,12 +113,12 @@ int try_automatic(char ** medias, char ** medias_models)
wait_message("Trying to access " DISTRIB_NAME " CDROM disc (drive %s)", *model);
if (mount_that_cd_device(*ptr) != -1) {
- if (!test_that_cd()) {
+ if (image_has_stage2()) {
remove_wait_message();
return i;
}
else
- umount(IMAGE_LOCATION);
+ umount(MEDIA_LOCATION);
}
remove_wait_message();
@@ -136,15 +136,20 @@ enum return_type cdrom_prepare(void)
char * choice;
int i, count = 0;
enum return_type results;
+ static int already_probed_ide_generic = 0;
- my_insmod("ide-cd", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("ide_cd_mod", ANY_DRIVER_TYPE, NULL);
if (IS_AUTOMATIC) {
get_medias(CDROM, &medias, &medias_models, BUS_IDE);
if ((i = try_automatic(medias, medias_models)) != -1)
return do_with_device(medias[i], medias_models[i]);
- my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
+ get_medias(CDROM, &medias, &medias_models, BUS_PCMCIA);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ my_modprobe("sr_mod", ANY_DRIVER_TYPE, NULL);
get_medias(CDROM, &medias, &medias_models, BUS_SCSI);
if ((i = try_automatic(medias, medias_models)) != -1)
return do_with_device(medias[i], medias_models[i]);
@@ -153,9 +158,16 @@ enum return_type cdrom_prepare(void)
if ((i = try_automatic(medias, medias_models)) != -1)
return do_with_device(medias[i], medias_models[i]);
- unset_param(MODE_AUTOMATIC);
+ /* detect hybrid isos (isos dumped to an USB stick) */
+ my_modprobe("sd_mod", ANY_DRIVER_TYPE, NULL);
+ get_medias(DISK, &medias, &medias_models, BUS_USB);
+ if ((i = try_automatic(medias, medias_models)) != -1) {
+ return do_with_device(medias[i], medias_models[i]);
+ }
+
+ unset_automatic();
} else
- my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("sr_mod", ANY_DRIVER_TYPE, NULL);
get_medias(CDROM, &medias, &medias_models, BUS_ANY);
@@ -166,8 +178,13 @@ enum return_type cdrom_prepare(void)
}
if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_modprobe("ide_generic", ANY_DRIVER_TYPE, NULL);
+ return cdrom_prepare();
+ }
stg1_error_message("No CDROM device found.");
- i = ask_insmod(SCSI_ADAPTERS);
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return cdrom_prepare();
@@ -177,7 +194,7 @@ enum return_type cdrom_prepare(void)
results = try_with_device(*medias, *medias_models);
if (results == RETURN_OK)
return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return cdrom_prepare();
@@ -202,7 +219,7 @@ enum return_type cdrom_prepare(void)
if (results == RETURN_BACK)
return cdrom_prepare();
- i = ask_insmod(SCSI_ADAPTERS);
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return cdrom_prepare();
diff --git a/mdk-stage1/cdrom.h b/mdk-stage1/cdrom.h
index 639487eed..7d182b257 100644
--- a/mdk-stage1/cdrom.h
+++ b/mdk-stage1/cdrom.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
diff --git a/mdk-stage1/config-stage1.h b/mdk-stage1/config-stage1.h
index 823694df2..e3409df98 100644
--- a/mdk-stage1/config-stage1.h
+++ b/mdk-stage1/config-stage1.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -15,23 +15,52 @@
#ifndef _CONFIG_STAGE1_H_
#define _CONFIG_STAGE1_H_
+#ifdef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
#define _GNU_SOURCE 1
/* If we have more than that amount of memory (in Mbytes), we assume we can load the second stage as a ramdisk */
-#define MEM_LIMIT_RAMDISK 68
+#define MEM_LIMIT_DRAKX 192
+/* If we have more than that amount of memory (in Mbytes), we preload the second stage as a ramdisk */
+#define MEM_LIMIT_DRAKX_PRELOAD 256
/* If we have more than that amount of memory (in Mbytes), we assume we can load the rescue as a ramdisk */
#define MEM_LIMIT_RESCUE 40
+/* If we have more than that amount of memory (in Mbytes), we preload the rescue as a ramdisk */
+#define MEM_LIMIT_RESCUE_PRELOAD 100
+
+#define KA_MAX_RETRY 5
+
+#define LIVE_LOCATION_REL "install/stage2/live/"
+#define COMPRESSED_LOCATION_REL "install/stage2/"
+#define COMPRESSED_STAGE2_NAME "mdkinst.sqfs"
+#define COMPRESSED_RESCUE_NAME "rescue.sqfs"
+#define COMPRESSED_NAME(prefix) (IS_RESCUE ? prefix COMPRESSED_RESCUE_NAME : prefix COMPRESSED_STAGE2_NAME)
+#define COMPRESSED_FILE_REL(prefix) COMPRESSED_NAME(prefix COMPRESSED_LOCATION_REL)
+
+/* the remote media is mounted in MEDIA_LOCATION, and
+ - IMAGE_LOCATION is a symlink image -> image/mdk/mirror/dir
+ - IMAGE_LOCATION is a symlink image -> loop/i686 and iso file is loopback mounted in LOOP_LOCATION
+ */
+#define MEDIA_LOCATION_REL "media"
+#define MEDIA_LOCATION IMAGE_LOCATION_DIR MEDIA_LOCATION_REL
+
+#define LOOP_LOCATION_REL "loop"
+#define LOOP_LOCATION IMAGE_LOCATION_DIR LOOP_LOCATION_REL
-#define DISTRIB_NAME "Mandrake Linux"
+#define IMAGE_LOCATION_REL "image"
+#define IMAGE_LOCATION_DIR "/tmp/"
+#define IMAGE_LOCATION IMAGE_LOCATION_DIR IMAGE_LOCATION_REL
-#define RAMDISK_COMPRESSION_RATIO 1.95
+#define COMPRESSED_LOCATION IMAGE_LOCATION "/" COMPRESSED_LOCATION_REL
+
+/* - if we use a compressed image : STAGE2_LOCATION is a the mount point
+ - if we use the live: STAGE2_LOCATION is a relative symlink to image/install/stage2/live
+*/
+#define STAGE2_LOCATION "/tmp/stage2"
-#define LIVE_LOCATION "/Mandrake/mdkinst/"
-#define RAMDISK_LOCATION "/Mandrake/base/"
-#define IMAGE_LOCATION "/tmp/image"
-#define STAGE2_LOCATION "/tmp/stage2"
/* user-definable (in Makefile): DISABLE_NETWORK, DISABLE_DISK, DISABLE_CDROM, DISABLE_PCMCIA */
@@ -44,5 +73,10 @@
#endif
#endif
+/* path to mirror list for net install */
+#ifndef DISABLE_NETWORK
+#define MIRRORLIST_HOST "mirrors.mageia.org"
+#define MIRRORLIST_PATH "/api"
+#endif
#endif
diff --git a/mdk-stage1/dhcp.c b/mdk-stage1/dhcp.c
index de91adae0..678031e85 100644
--- a/mdk-stage1/dhcp.c
+++ b/mdk-stage1/dhcp.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -45,6 +45,8 @@
#include "stage1.h"
#include "log.h"
+#include "tools.h"
+#include "utils.h"
#include "network.h"
#include "frontend.h"
#include "automatic.h"
@@ -211,12 +213,16 @@ static void parse_reply(struct bootp_request * breq, struct interface_info * int
unsigned char * chptr;
unsigned char option, length;
- if (breq->bootfile && strlen(breq->bootfile) > 0 && IS_NETAUTO)
- stage2_kickstart = strdup(breq->bootfile);
+ if (strlen(breq->bootfile) > 0) {
+ if (IS_NETAUTO)
+ add_to_env("KICKSTART", breq->bootfile);
+ else
+ log_message("warning: ignoring `bootfile' DHCP server parameter, since `netauto' boot parameter was not given; reboot with `linux netauto' (and anymore useful boot parameters) if you want `bootfile' to be used as a `auto_inst.cfg.pl' stage2 configuration file");
+ }
memcpy(&intf->ip, &breq->yiaddr, 4);
- chptr = breq->vendor;
+ chptr = (unsigned char *) breq->vendor;
chptr += 4;
while (*chptr != 0xFF && (void *) chptr < (void *) breq->vendor + DHCP_VENDOR_LENGTH) {
char tmp_str[500];
@@ -286,7 +292,7 @@ static int prepare_request(struct bootp_request * breq, int sock, char * device)
return -1;
}
- breq->hw = 1; /* ethernet */
+ breq->hw = req.ifr_hwaddr.sa_family;
breq->hwlength = IFHWADDRLEN;
memcpy(breq->hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
memcpy(gen_hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
@@ -303,7 +309,7 @@ static int get_vendor_code(struct bootp_request * bresp, unsigned char option, v
unsigned char * chptr;
unsigned int length, theOption;
- chptr = bresp->vendor + 4;
+ chptr = (unsigned char*) bresp->vendor + 4;
while (*chptr != 0xFF && *chptr != option) {
theOption = *chptr++;
if (!theOption)
@@ -479,7 +485,7 @@ static void add_vendor_code(struct bootp_request * breq, unsigned char option, u
unsigned char * chptr;
int theOption, theLength;
- chptr = breq->vendor;
+ chptr = (unsigned char*) breq->vendor;
chptr += 4;
while (*chptr != 0xFF && *chptr != option) {
theOption = *chptr++;
@@ -512,11 +518,6 @@ enum return_type perform_dhcp(struct interface_info * intf)
char requested_options[50];
char * client_id_str, * client_id_hwaddr;
- if (strncmp(intf->device, "eth", 3)) {
- stg1_error_message("DHCP available only for Ethernet networking.");
- return RETURN_ERROR;
- }
-
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0) {
log_perror("socket");
@@ -569,9 +570,14 @@ enum return_type perform_dhcp(struct interface_info * intf)
if (dhcp_hostname && *dhcp_hostname) { /* pick client id form based on absence or presence of domain name */
if (*dhcp_domain) /* alternate style <hostname>.<domainname> */
add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
- else { /* usual style (aka windows / dhcpcd) */
+ else { /* usual style (aka windows / dhcpcd) */
/* but put MAC in form required for client identifier first */
client_id_hwaddr = malloc(IFHWADDRLEN+2);
+ /* (from pump-0.8.22/dhcp.c)
+ * Microsoft uses a client identifier field of the 802.3 address with a
+ * pre-byte of a "1". In order to re-use the DHCP address that they set
+ * for this interface, we have to mimic their identifier.
+ */
client_id_hwaddr[0] = 1; /* set flag for ethernet */
memcpy(client_id_hwaddr+1, gen_hwaddr, IFHWADDRLEN);
add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
@@ -581,7 +587,7 @@ enum return_type perform_dhcp(struct interface_info * intf)
log_message("DHCP: telling server to use name = %s", dhcp_hostname);
}
- memset(&client_addr.sin_addr, 0, sizeof(&client_addr.sin_addr));
+ memset(&client_addr.sin_addr, 0, sizeof(client_addr.sin_addr));
client_addr.sin_family = AF_INET;
client_addr.sin_port = htons(BOOTP_CLIENT_PORT); /* bootp client */
diff --git a/mdk-stage1/dhcp.h b/mdk-stage1/dhcp.h
index 71d062e9c..e17094adc 100644
--- a/mdk-stage1/dhcp.h
+++ b/mdk-stage1/dhcp.h
@@ -1,9 +1,9 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
- * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
+ * View the homepage: http://us.mandriva.com/~gc/html/stage1.html
*
*
* This software may be freely redistributed under the terms of the GNU
@@ -32,5 +32,6 @@
enum return_type perform_dhcp(struct interface_info * intf);
extern char * dhcp_hostname;
+extern char * dhcp_domain;
#endif
diff --git a/mdk-stage1/dietlibc/.cvsignore b/mdk-stage1/dietlibc/.cvsignore
deleted file mode 100644
index f0be42e21..000000000
--- a/mdk-stage1/dietlibc/.cvsignore
+++ /dev/null
@@ -1,28 +0,0 @@
-t
-elftrunc
-mapfile
-t1
-load
-compile
-bin-alpha
-bin-arm
-bin-i386
-bin-mips
-bin-ppc
-bin-sparc
-bin-mipsel
-bin-parisc
-bin-s390
-bin-sparc64
-pic-alpha
-pic-arm
-pic-i386
-pic-mips
-pic-ppc
-pic-sparc
-pic-mipsel
-pic-parisc
-pic-s390
-pic-sparc64
-bin-ia64
-bin-x86_64
diff --git a/mdk-stage1/dietlibc/AUTHOR b/mdk-stage1/dietlibc/AUTHOR
deleted file mode 100644
index 3f6a44e6d..000000000
--- a/mdk-stage1/dietlibc/AUTHOR
+++ /dev/null
@@ -1,3 +0,0 @@
-Felix von Leitner <felix-dietlibc@fefe.de>
-
-Please see the file THANKS for additional authors and contributors.
diff --git a/mdk-stage1/dietlibc/Makefile b/mdk-stage1/dietlibc/Makefile
deleted file mode 100644
index 0fe32e61b..000000000
--- a/mdk-stage1/dietlibc/Makefile
+++ /dev/null
@@ -1,413 +0,0 @@
-INSTALL=install
-prefix?=/usr
-# Set the following to install to a different root
-#DESTDIR=/tmp/fefix
-# Use "make DEBUG=1" to compile a debug version.
-
-MYARCH:=$(shell uname -m | sed -e 's/i[4-9]86/i386/' -e 's/armv[3-6][lb]/arm/' -e 's/ppc64/ppc/')
-
-# This extra-ugly cruft is here so make will not run uname and sed each
-# time it looks at $(OBJDIR). This alone sped up running make when
-# nothing has to be done from 1 sec to 0.12 sec on a 900 MHz Athlon.
-# We don't use ARCH:=$(MYARCH) so we can detect unknown architectures.
-ifeq ($(MYARCH),i386)
-ARCH=i386
-else
-ifeq ($(MYARCH),mips)
-ARCH=mips
-else
-ifeq ($(MYARCH),alpha)
-ARCH=alpha
-else
-ifeq ($(MYARCH),ppc)
-ARCH=ppc
-else
-ifeq ($(MYARCH),arm)
-ARCH=arm
-else
-ifeq ($(MYARCH),sparc)
-ARCH=sparc
-else
-ifeq ($(MYARCH),sparc64)
-ARCH=sparc64
-else
-ifeq ($(MYARCH),s390)
-ARCH=s390
-else
-ifeq ($(MYARCH),mipsel)
-ARCH=mipsel
-else
-ifeq ($(MYARCH),parisc)
-ARCH=parisc
-else
-ifeq ($(MYARCH),parisc64)
-ARCH=parisc
-MYARCH=parisc
-else
-ifeq ($(MYARCH),x86_64)
-ARCH=x86_64
-else
-ifeq ($(MYARCH),ia64)
-ARCH=ia64
-else
-$(error unknown architecture, please fix Makefile)
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-endif
-
-# ARCH=$(MYARCH)
-
-LIBDIR=${prefix}/lib
-ifeq ($(ARCH),x86_64)
-LIBDIR=${prefix}/lib64
-endif
-BINDIR=${prefix}/bin
-MAN1DIR=${prefix}/share/man/man1
-INSTALLHOME=$(LIBDIR)/dietlibc
-
-OBJDIR=bin-$(ARCH)
-ILIBDIR=$(INSTALLHOME)/lib-$(ARCH)
-
-HOME=$(shell pwd)
-
-WHAT= $(OBJDIR) $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o \
- $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a \
- $(OBJDIR)/libcompat.a $(OBJDIR)/libm.a \
- $(OBJDIR)/librpc.a $(OBJDIR)/libpthread.a \
- $(OBJDIR)/diet $(OBJDIR)/diet-i
-
-all: $(WHAT)
-
-profiling: $(OBJDIR)/libgmon.a $(OBJDIR)/pstart.o
-
-CFLAGS=-pipe -nostdinc
-CROSS=
-
-CC=gcc
-
-VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:libcompat:libdl:librpc:libregex:libm:profiling
-
-SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S))
-
-LIBOBJ=$(patsubst lib/%.c,$(OBJDIR)/%.o,$(wildcard lib/*.c))
-LIBUGLYOBJ=$(patsubst libugly/%.c,$(OBJDIR)/%.o,$(wildcard libugly/*.c))
-LIBSTDIOOBJ=$(patsubst libstdio/%.c,$(OBJDIR)/%.o,$(wildcard libstdio/*.c))
-LIBCRUFTOBJ=$(patsubst libcruft/%.c,$(OBJDIR)/%.o,$(wildcard libcruft/*.c))
-LIBCRYPTOBJ=$(patsubst libcrypt/%.c,$(OBJDIR)/%.o,$(wildcard libcrypt/*.c))
-LIBSHELLOBJ=$(patsubst libshell/%.c,$(OBJDIR)/%.o,$(wildcard libshell/*.c))
-LIBCOMPATOBJ=$(patsubst libcompat/%.c,$(OBJDIR)/%.o,$(wildcard libcompat/*.c)) $(OBJDIR)/syscall.o
-LIBMATH=$(patsubst libm/%.c,%.o,$(wildcard libm/*.c))
-
-LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c))
-LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c))
-
-LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(wildcard libdl/*.c)) $(OBJDIR)/_dl_jump.o
-
-LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o
-
-LIBGMON_OBJS=$(OBJDIR)/__mcount.o $(OBJDIR)/monitor.o $(OBJDIR)/profil.o
-
-include $(ARCH)/Makefile.add
-
-LIBMATHOBJ=$(patsubst %,$(OBJDIR)/%,$(LIBMATH))
-
-ifeq ($(CFLAGS),-pipe -nostdinc)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-ifneq ($(DEBUG),)
-CFLAGS = -g
-COMMENT = :
-endif
-CFLAGS += -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wredundant-decls -Wno-unused
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-# added real dynamic dietlibc.so
-PICODIR = pic-$(ARCH)
-
-$(OBJDIR) $(PICODIR):
- mkdir $@
-
-% :: %,v
-
-$(OBJDIR)/pstart.o: start.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -DPROFILING -c $< -o $@
-
-$(OBJDIR)/%.o: %.S $(ARCH)/syscalls.h
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/pthread_%.o: libpthread/pthread_%.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
-
-$(OBJDIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) -$(CROSS)strip -x -R .comment -R .note $@
-
-DIETLIBC_OBJ = $(OBJDIR)/unified.o \
-$(SYSCALLOBJ) $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) \
-$(OBJDIR)/__longjmp.o $(OBJDIR)/setjmp.o \
-$(OBJDIR)/mmap.o $(OBJDIR)/clone.o
-
-$(OBJDIR)/dietlibc.a: $(DIETLIBC_OBJ) $(OBJDIR)/start.o
- $(CROSS)ar cru $@ $(DIETLIBC_OBJ)
-
-$(OBJDIR)/librpc.a: $(LIBRPCOBJ)
- $(CROSS)ar cru $@ $(LIBRPCOBJ)
-
-LIBLATIN1_OBJS=$(patsubst liblatin1/%.c,$(OBJDIR)/%.o,$(wildcard liblatin1/*.c))
-$(OBJDIR)/liblatin1.a: $(LIBLATIN1_OBJS)
- $(CROSS)ar cru $@ $^
-
-$(OBJDIR)/libgmon.a: $(LIBGMON_OBJS)
- $(CROSS)ar cru $@ $^
-
-$(OBJDIR)/libpthread.a: $(LIBPTHREAD_OBJS) dietfeatures.h
- $(CROSS)ar cru $@ $(LIBPTHREAD_OBJS)
-
-$(OBJDIR)/libcompat.a: $(LIBCOMPATOBJ)
- $(CROSS)ar cru $@ $(LIBCOMPATOBJ)
-
-$(OBJDIR)/libm.a: $(LIBMATHOBJ)
- $(CROSS)ar cru $@ $(LIBMATHOBJ)
-
-$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-dyn: dyn_lib
-
-# added dynamic linker
-$(OBJDIR)/libdl.a: $(LIBDLOBJ)
- $(CROSS)ar cru $@ $(LIBDLOBJ)
-
-dyn_lib: $(PICODIR) $(PICODIR)/libc.so $(PICODIR)/dstart.o \
- $(PICODIR)/dyn_so_start.o $(PICODIR)/dyn_start.o $(PICODIR)/dyn_stop.o \
- $(PICODIR)/libpthread.so $(PICODIR)/libdl.so $(PICODIR)/libcompat.so \
- $(PICODIR)/diet-dyn $(PICODIR)/diet-dyn-i
-
-$(PICODIR)/%.o: %.S $(ARCH)/syscalls.h
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
-
-$(PICODIR)/pthread_%.o: libpthread/pthread_%.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-$(PICODIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-$(PICODIR)/dstart.o: start.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@
-
-$(PICODIR)/dyn_so_start.o: dyn_start.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -D__DYN_LIB_SHARED -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-DYN_LIBC_PIC = $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ)
-
-DYN_LIBC_OBJ = $(PICODIR)/dyn_syscalls.o $(PICODIR)/errlist.o \
- $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(DYN_LIBC_PIC))
-
-DYN_PTHREAD_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBPTHREAD_OBJS))
-
-DYN_LIBDL_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBDLOBJ))
-
-DYN_LIBCOMPAT_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBCOMPATOBJ))
-
-$(PICODIR)/libc.so: $(PICODIR) $(DYN_LIBC_OBJ)
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBC_OBJ) -lgcc -Wl,-soname=libc.so
-
-$(PICODIR)/libpthread.so: $(DYN_PTHREAD_OBJS) dietfeatures.h
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_PTHREAD_OBJS) -L$(PICODIR) -lc -Wl,-soname=libpthread.so
-
-$(PICODIR)/libdl.so: libdl/_dl_main.c dietfeatures.h
- $(CROSS)$(CC) -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -nostdlib -shared -o $@ $(CFLAGS) -I. -Iinclude libdl/_dl_main.c -Wl,-soname=libdl.so
-
-#$(PICODIR)/libdl.so: $(DYN_LIBDL_OBJS) dietfeatures.h
-# $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBDL_OBJS) -L$(PICODIR) -ldietc -Wl,-soname=libdl.so
-
-$(PICODIR)/libcompat.so: $(DYN_LIBCOMPAT_OBJS) dietfeatures.h
- $(CROSS)$(CC) -nostdlib -shared -o $@ $(CFLAGS) -fPIC $(DYN_LIBCOMPAT_OBJS) -L$(PICODIR) -lc -Wl,-soname=libcompat.so
-
-
-
-$(SYSCALLOBJ): syscalls.h
-
-VERSION=dietlibc-$(shell head -1 CHANGES|sed 's/://')
-CURNAME=$(notdir $(shell pwd))
-
-$(OBJDIR)/diet: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -DVERSION=\"$(VERSION)\" -lgcc
- $(CROSS)strip -R .comment -R .note $@
-
-$(OBJDIR)/diet-i: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(INSTALLHOME)\" -DVERSION=\"$(VERSION)\" -DINSTALLVERSION -lgcc
- $(CROSS)strip -R .comment -R .note $@
-
-$(PICODIR)/diet-dyn: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(HOME)/$(PICODIR)/libdl.so
- $(CROSS)strip -R .command -R .note $@
-
-$(PICODIR)/diet-dyn-i: $(PICODIR)/start.o $(PICODIR)/dyn_start.o diet.c
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -fPIC -nostdlib -o $@ $^ -DDIETHOME=\"$(prefix)\" -D__DYN_LIB -DVERSION=\"$(VERSION)\" -L$(PICODIR) -lc -lgcc $(PICODIR)/dyn_stop.o -Wl,-dynamic-linker=$(ILIBDIR)/libdl.so -DINSTALLVERSION
- $(CROSS)strip -R .command -R .note $@
-
-$(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load
-
-$(OBJDIR)/compile:
- echo 'exec' $(CC) '$(CFLAGS) -I$(PWD)/$(OBJDIR)/include -c $${1+"$$@"}' > $@
- chmod 755 $@
-
-$(OBJDIR)/load:
- echo 'main="$$1"; shift; exec' $(CC) '-nostdlib -o "$$main" $(PWD)/$(OBJDIR)/start.o "$$main".o $${1+"$$@"} $(PWD)/$(OBJDIR)/dietlibc.a -lgcc' > $@
- chmod 755 $@
-
-clean:
- rm -f *.o *.a t t1 compile load exports mapfile libdietc.so
- rm -rf bin-* pic-*
- $(MAKE) -C libdl clean
-
-tar: clean rename
- cd ..; tar cvvf $(VERSION).tar.bz2 $(VERSION) --use=bzip2 --exclude CVS
-
-rename:
- if test $(CURNAME) != $(VERSION); then cd .. && mv $(CURNAME) $(VERSION); fi
-
-$(OBJDIR)/exports: $(OBJDIR)/dietlibc.a
- nm -g $(OBJDIR)/dietlibc.a | grep -w T | awk '{ print $$3 }' | sort -u > $(OBJDIR)/exports
-
-.PHONY: t t1
-t:
- $(CROSS)$(CC) -g $(CFLAGS) -fno-builtin -nostdlib -Iinclude -o t t.c $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dietlibc.a -lgcc $(OBJDIR)/dyn_stop.o -Wl,-Map,mapfile
-
-t1:
- $(CROSS)$(CC) -g -o t1 t.c
-
-install: $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/librpc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(OBJDIR)/diet-i
- $(INSTALL) -d $(DESTDIR)$(ILIBDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(BINDIR)
- $(INSTALL) $(OBJDIR)/start.o $(DESTDIR)$(ILIBDIR)/start.o
- $(INSTALL) -m 644 $(OBJDIR)/libm.a $(OBJDIR)/libpthread.a $(OBJDIR)/librpc.a \
-$(OBJDIR)/liblatin1.a $(OBJDIR)/libcompat.a $(DESTDIR)$(ILIBDIR)
- $(INSTALL) -m 644 $(OBJDIR)/dietlibc.a $(DESTDIR)$(ILIBDIR)/libc.a
-ifeq ($(MYARCH),$(ARCH))
- $(INSTALL) $(OBJDIR)/diet-i $(DESTDIR)$(BINDIR)/diet
- -$(INSTALL) $(PICODIR)/diet-dyn-i $(DESTDIR)$(BINDIR)/diet-dyn
-endif
- -$(INSTALL) $(OBJDIR)/pstart.o $(OBJDIR)/libgmon.a $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o $(DESTDIR)$(ILIBDIR)
- -$(INSTALL) $(PICODIR)/libc.so $(DESTDIR)$(ILIBDIR)/libc.so
- -$(INSTALL) $(PICODIR)/libpthread.so $(DESTDIR)$(ILIBDIR)/libpthread.so
- -$(INSTALL) $(PICODIR)/libdl.so $(DESTDIR)$(ILIBDIR)/libdl.so
- -$(INSTALL) $(PICODIR)/libcompat.so $(DESTDIR)$(ILIBDIR)/libcompat.so
- -$(INSTALL) $(PICODIR)/dyn_start.o $(DESTDIR)$(ILIBDIR)/dyn_dstart.o
- -$(INSTALL) $(PICODIR)/dyn_stop.o $(DESTDIR)$(ILIBDIR)/dyn_dstop.o
- -$(INSTALL) $(PICODIR)/dstart.o $(PICODIR)/dyn_so_start.o $(DESTDIR)$(ILIBDIR)
- $(INSTALL) -m 644 diet.1 $(DESTDIR)$(MAN1DIR)/diet.1
- if test -f $(PICODIR)/libc.so -a ! -f $(DESTDIR)/etc/diet.ld.conf; then echo "$(ILIBDIR)" > $(DESTDIR)/etc/diet.ld.conf; fi
- for i in `find include -name \*.h`; do install -m 644 -D $$i $(DESTDIR)$(INSTALLHOME)/$$i; done
-
-.PHONY: sparc ppc mips arm alpha i386 parisc mipsel powerpc s390 sparc64
-.PHONY: x86_64 ia64
-
-arm sparc ppc alpha i386 mips parisc s390 sparc64 x86_64 ia64:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all
-
-# Cross compile for little endian MIPS
-mipsel:
- $(MAKE) ARCH=$@ CROSS=mips-linux- all
-
-mips-gnu:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all
-
-# Some people named their cross compiler toolchain powerpc-linux-gcc
-powerpc:
- $(MAKE) ARCH=ppc CROSS=powerpc-linux- all
-
-cross:
- $(MAKE) arm sparc ppc alpha i386 mips sparc64
-
-
-# these depend on dietfeatures.h for large file backward compatibility
-$(OBJDIR)/__fstat64.o $(OBJDIR)/__lstat64.o $(OBJDIR)/__stat64.o $(OBJDIR)/lseek64.o $(OBJDIR)/readdir64.o $(OBJDIR)/stat64.o $(OBJDIR)/lstat64.o $(OBJDIR)/fstat64.o $(OBJDIR)/truncate64.o $(OBJDIR)/__truncate64.o $(OBJDIR)/ftruncate64.o $(OBJDIR)/__ftruncate64.o $(PICODIR)/dyn_syscalls.o $(PICODIR)/__truncate64.o $(PICODIR)/__ftruncate64.o $(PICODIR)/__stat64.o $(PICODIR)/__lstat64.o $(PICODIR)/__fstat64.o: dietfeatures.h
-
-# these depend on dietfeatures.h for thread support
-$(OBJDIR)/alloc.o $(OBJDIR)/perror.o $(OBJDIR)/logging.o $(OBJDIR)/unified.o $(OBJDIR)/clone.o $(OBJDIR)/set_errno.o: dietfeatures.h
-
-# these depend on dietfeatures.h for linker warnings
-$(OBJDIR)/assert_fail.o $(OBJDIR)/sprintf.o $(OBJDIR)/vsnprintf.o $(OBJDIR)/___div.o $(OBJDIR)/fflush.o $(OBJDIR)/setvbuf.o $(OBJDIR)/system.o $(OBJDIR)/sendfile.o $(OBJDIR)/setenv.o: dietfeatures.h
-
-# these depend on dietfeatures.h for buffered stdio
-fclose.o $(OBJDIR)/fdglue.o $(OBJDIR)/fflush.o $(OBJDIR)/fgetc.o $(OBJDIR)/fputc.o $(OBJDIR)/fread.o $(OBJDIR)/fseek.o $(OBJDIR)/printf.o $(OBJDIR)/setvbuf.o $(OBJDIR)/stderr.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o $(OBJDIR)/fwrite.o $(OBJDIR)/puts.o: dietfeatures.h
-
-# these depend on dietfeatures.h for fast string routines
-strcasecmp.o $(OBJDIR)/strcat.o $(OBJDIR)/strchr.o $(OBJDIR)/strcmp.o $(OBJDIR)/strcpy.o $(OBJDIR)/strlen.o $(OBJDIR)/strncasecmp.o $(OBJDIR)/strncat.o $(OBJDIR)/strrchr.o: dietfeatures.h
-
-# these depend on dietfeatures.h for /proc
-$(OBJDIR)/ttyname.o $(OBJDIR)/sysconf_cpus.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_TZFILE_PARSER
-$(OBJDIR)/localtime_r.o $(OBJDIR)/strftime.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_SMALL_STDIO_BUFS
-$(LIBSTDIOOBJ): dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FULL_RESOLV_CONF
-$(OBJDIR)/dnscruft.o $(OBJDIR)/dnscruft2.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_THREAD_SAFE and errno
-$(LIBRPCOBJ) $(OBJDIR)/logging.o $(OBJDIR)/alloc.o $(OBJDIR)/cfsetospeed.o $(OBJDIR)/cfsetispeed.o \
-$(OBJDIR)/execl.o $(OBJDIR)/execlp.o $(OBJDIR)/execv.o $(OBJDIR)/execvp.o $(OBJDIR)/isatty.o \
-$(OBJDIR)/lockf.o $(OBJDIR)/perror.o $(OBJDIR)/remove.o $(OBJDIR)/set_errno.o $(OBJDIR)/sigemptyset.o \
-$(OBJDIR)/tcsetattr.o $(OBJDIR)/dnscruft2.o $(OBJDIR)/dnscruft.o $(OBJDIR)/entlib.o \
-$(OBJDIR)/gethostbyaddr.o $(OBJDIR)/gethostbyaddr_r.o $(OBJDIR)/gethostbyname.o \
-$(OBJDIR)/gethostbyname_r.o $(OBJDIR)/gethostbyname2.o $(OBJDIR)/gethostbyname2_r.o \
-$(OBJDIR)/inet_pton.o $(OBJDIR)/mkstemp.o $(OBJDIR)/mktemp.o $(OBJDIR)/tempnam.o \
-$(OBJDIR)/glob.o $(OBJDIR)/realpath.o $(OBJDIR)/fdglue.o $(OBJDIR)/fdglue2.o \
-$(OBJDIR)/getaddrinfo.o $(OBJDIR)/getnameinfo.o $(OBJDIR)/getprotoent.o \
-$(OBJDIR)/getservent.o $(OBJDIR)/iconv.o $(OBJDIR)/iconv_open.o \
-$(OBJDIR)/netent.o $(OBJDIR)/system.o $(OBJDIR)/stdin.o $(OBJDIR)/stdout.o \
-$(OBJDIR)/stderr.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_CRYPT_MD5
-$(OBJDIR)/crypt.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FREAD_OPTIMIZATION
-$(OBJDIR)/fread.o $(OBJDIR)/fwrite.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_DYNAMIC
-$(OBJDIR)/start.o $(OBJDIR)/dyn_start.o $(OBJDIR)/dyn_stop.o: dietfeatures.h
-
-$(OBJDIR)/unified.o: dietuglyweaks.h
-
-$(OBJDIR)/adjtimex.o: include/sys/timex.h
-
-$(OBJDIR)/fgetc_unlocked.o $(OBJDIR)/fread.o $(OBJDIR)/ungetc.o: dietstdio.h
-
-# these depend on dietfeatures.h for WANT_LINKER_WARNINGS
-$(OBJDIR)/setlinebuf.o $(OBJDIR)/bzero.o $(OBJDIR)/setegid.o \
-$(OBJDIR)/seteuid.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_FULL_POSIX_COMPAT
-$(OBJDIR)/strncpy.o: dietfeatures.h
-$(OBJDIR)/strxfrm.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_INET_ADDR_DNS
-$(OBJDIR)/gethostbyname_r.o: dietfeatures.h
-
-
-# CFLAGS+=-W -Wshadow -Wid-clash-31 -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wwrite-strings
diff --git a/mdk-stage1/dietlibc/README b/mdk-stage1/dietlibc/README
deleted file mode 100644
index 2a1fa332c..000000000
--- a/mdk-stage1/dietlibc/README
+++ /dev/null
@@ -1,49 +0,0 @@
- The system library is a challenge to all those using the computer to
- write their own faster and better routines or to bow to the superior
- strength and skill of a true master.
- --http://www.inner.net/users/cmetz/program-like-a-klingon
-
-diet libc to statically link programs that don't need all the bloat
-from glibc.
-
-malloc, printf and scanf contributed from Olaf Dreesen.
-
-To compile:
-
- $ make
-
-make should compile the diet libc itself.
-
-When make is done, it will have created dietlibc.a in bin-i386 (or
-bin-ppc, bin-alpha, bin-sparc, bin-ppc or bin-arm, depending on your
-architecture). In that directory you will also find a program called
-"diet", which you need to copy in a directory in your $PATH:
-
- # install bin-i386/diet /usr/local/bin
-
-Then you can compile programs by prepending diet to the command line,
-i.e.
-
- $ diet gcc -s -Os -pipe -o t t.c
-
-diet is cross-compiler friendly and can also be used like this:
-
- $ diet sparc-linux-gcc -o t t.c
-
-diet will then link against dietlibc.a from bin-sparc, of course.
-diet comes with a man page (diet.1), which you can copy to an
-appropriate location, too:
-
- # cp diet.1 /usr/local/man/man1
-
-After you compiled the diet libc successfully, I invite you to check out
-the embedded utils (http://www.fefe.de/embutils/) and the diet libc
-binary repository (ftp://foobar.math.fu-berlin.de/pub/dietlibc/), too.
-The embedded utils are small replacements for common utilities like mv,
-chown, ls, and even a small tar that can extract tar files. The binary
-repository contains a few utilities I linked against the diet libc, for
-example gzip, bzip2 and fdisk.
-
-
-The license for the diet libc is the GNU General Public License, version
-2 (as included in the file COPYING).
diff --git a/mdk-stage1/dietlibc/alpha/Makefile.add b/mdk-stage1/dietlibc/alpha/Makefile.add
deleted file mode 100644
index 68b10b43c..000000000
--- a/mdk-stage1/dietlibc/alpha/Makefile.add
+++ /dev/null
@@ -1,5 +0,0 @@
-
-CFLAGS+=-Os -Iinclude -fomit-frame-pointer -fstrict-aliasing
-VPATH:=alpha:syscalls.s:$(VPATH)
-
-LIBOBJ+=$(patsubst %,$(OBJDIR)/%,divq.o divl.o remq.o reml.o __time.o __alarm.o)
diff --git a/mdk-stage1/dietlibc/alpha/__alarm.c b/mdk-stage1/dietlibc/alpha/__alarm.c
deleted file mode 100644
index 7ca35cb78..000000000
--- a/mdk-stage1/dietlibc/alpha/__alarm.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <sys/time.h>
-
-unsigned int alarm(unsigned int seconds) {
- struct itimerval old, new;
- unsigned int ret;
- new.it_interval.tv_usec=0;
- new.it_interval.tv_sec=0;
- new.it_value.tv_usec =0;
- new.it_value.tv_sec =(long)seconds;
- if (setitimer(ITIMER_REAL,&new,&old)==-1) return 0;
- return old.it_value.tv_sec+(old.it_value.tv_usec?1:0);
-}
diff --git a/mdk-stage1/dietlibc/alpha/__longjmp.S b/mdk-stage1/dietlibc/alpha/__longjmp.S
deleted file mode 100644
index 31e374d0f..000000000
--- a/mdk-stage1/dietlibc/alpha/__longjmp.S
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <setjmp.h>
-
-.text
-.align 2
-
-.global __longjmp
-.type __longjmp,@function
-__longjmp:
- mov $17, $0 /* a1 -> v0 */
-
- ldq $9, (JB_S0*8) ($16) /* s0 */
- ldq $10, (JB_S1*8) ($16) /* s1 */
- ldq $11, (JB_S2*8) ($16) /* s2 */
- ldq $12, (JB_S3*8) ($16) /* s3 */
- ldq $13, (JB_S4*8) ($16) /* s4 */
- ldq $14, (JB_S5*8) ($16) /* s5 */
-
- ldq $26, (JB_PC*8) ($16) /* ra */
- ldq $fp, (JB_FP*8) ($16) /* fp */
- ldq $sp, (JB_SP*8) ($16) /* sp */
-
- ldt $f2, (JB_F2*8) ($16) /* f2 */
- ldt $f3, (JB_F3*8) ($16) /* f3 */
- ldt $f4, (JB_F4*8) ($16) /* f4 */
- ldt $f5, (JB_F5*8) ($16) /* f5 */
- ldt $f6, (JB_F6*8) ($16) /* f6 */
- ldt $f7, (JB_F7*8) ($16) /* f7 */
- ldt $f8, (JB_F8*8) ($16) /* f8 */
- ldt $f9, (JB_F9*8) ($16) /* f9 */
-
- cmoveq $0, 0x1, $0
-
- ret $31, ($26), 1
diff --git a/mdk-stage1/dietlibc/alpha/__testandset.S b/mdk-stage1/dietlibc/alpha/__testandset.S
deleted file mode 100644
index c5ef81241..000000000
--- a/mdk-stage1/dietlibc/alpha/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global __testandsets
-.type __testandsets,@function
-__testandset:
- ldq_l $0, 0($16) /* load lock */
- bne $0,1f /* ok there is a lock... */
- lda $0, 1($31) /* load a 1 to register 0 */
- stq_c $0, 0($16) /* write lock is locked :) */
- beq $0,__testandset /* oops someone changed MY lock */
-1: ret $31, ($26), 0x01 /* return */
diff --git a/mdk-stage1/dietlibc/alpha/__time.c b/mdk-stage1/dietlibc/alpha/__time.c
deleted file mode 100644
index 07275e0e3..000000000
--- a/mdk-stage1/dietlibc/alpha/__time.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <time.h>
-#include <sys/time.h>
-
-time_t time(time_t *foo) {
- struct timeval tv;
- time_t tmp=(time_t)-1;
- if (gettimeofday(&tv,0)==0)
- tmp=(time_t)tv.tv_sec;
- if (foo) *foo=tmp;
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/alpha/accept.S b/mdk-stage1/dietlibc/alpha/accept.S
deleted file mode 100644
index 459c45d7a..000000000
--- a/mdk-stage1/dietlibc/alpha/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(accept,accept,__libc_accept)
diff --git a/mdk-stage1/dietlibc/alpha/bind.S b/mdk-stage1/dietlibc/alpha/bind.S
deleted file mode 100644
index 86a04cb70..000000000
--- a/mdk-stage1/dietlibc/alpha/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind,bind)
diff --git a/mdk-stage1/dietlibc/alpha/clone.S b/mdk-stage1/dietlibc/alpha/clone.S
deleted file mode 100644
index 28e61a8bc..000000000
--- a/mdk-stage1/dietlibc/alpha/clone.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-
-.text
-.align 2
-.weak clone
-clone:
-.global __clone
-.type __clone,@function
-__clone:
- ldiq $0, EINVAL
- beq $16, .Lerror
- beq $17, .Lerror
-
- subq $17, 16, $17
- stq $16, 0($17)
- stq $19, 8($17)
- mov $18, $16
-
- lda $0, __NR_clone($31)
- callsys
- bne $19, .Lerror
-
- beq $0, .Lstart_thread
-
- ret $31, ($26), 0x01
-
-.Lerror:
- jmp error_unified_syscall
-
-.Lstart_thread:
- clr $fp
-
- ldq $27, 0($sp)
- ldq $16, 8($sp)
-
- jsr $26, ($27), 0x04
-
- ldgp $gp, 0($26)
- mov $0, $16
- jsr $26, exit
-
diff --git a/mdk-stage1/dietlibc/alpha/connect.S b/mdk-stage1/dietlibc/alpha/connect.S
deleted file mode 100644
index c191ca808..000000000
--- a/mdk-stage1/dietlibc/alpha/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(connect,connect,__libc_connect)
diff --git a/mdk-stage1/dietlibc/alpha/divl.S b/mdk-stage1/dietlibc/alpha/divl.S
deleted file mode 100644
index 3af22a5e8..000000000
--- a/mdk-stage1/dietlibc/alpha/divl.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __divlu
- .globl __divlu
-
- .align 3
-__divlu :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30 )
- zapnot $25 ,15, $1
- stq $2 , 8($30 )
- zapnot $24 ,15, $2
- stq $0 , 16($30 )
- clr $27
- stq $3 , 24($30 )
- ldiq $0 , 1
- stq $4 ,32($30 )
- beq $1 , .Ldivbyzero
-
- .align 3
-
-
-1: cmpult $1 , $2 , $at
- s8addq $1 , $31 , $1
- s8addq $0 , $31 , $0
- bne $at , 1b
-
-
-
-3: addq $27 ,$0 , $4
- srl $0 , 1, $0
- cmpule $1 , $2 , $at
- subq $2 , $1 , $3
- cmovne $at ,$4 , $27
- srl $1 , 1, $1
- cmovne $at , $3 , $2
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
- ldq $4 ,32($30 )
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __divlu
-
- .ent __divl
- .globl __divl
-
- .align 3
-__divl :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
- sextl $at , $at
- bge $at , .Ludiv
-
-
- stq $24 , 0($30 )
- negl $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negl $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __divlu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- xor $24 , $25 , $at
- negl $27 , $3
- sextl $at , $at
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
- .end __divl
diff --git a/mdk-stage1/dietlibc/alpha/divq.S b/mdk-stage1/dietlibc/alpha/divq.S
deleted file mode 100644
index cf70862c4..000000000
--- a/mdk-stage1/dietlibc/alpha/divq.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __divqu
- .globl __divqu
-
- .align 3
-__divqu :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
-$udiv:
- stq $1 , 0($30 )
- mov $25 , $1
- stq $2 , 8($30 )
- mov $24 , $2
- stq $0 , 16($30 )
- clr $27
- stq $3 , 24($30 )
- ldiq $0 , 1
- stq $4 ,32($30 )
- beq $1 , $divbyzero
-
- .align 3
-
-
-1: cmpult $1 , $2 , $at
- blt $1 , 2f
- addq $1 , $1 , $1
- addq $0 , $0 , $0
- bne $at , 1b
- unop
-2:
-3: addq $27 ,$0 , $4
- srl $0 , 1, $0
- cmpule $1 , $2 , $at
- subq $2 , $1 , $3
- cmovne $at ,$4 , $27
- srl $1 , 1, $1
- cmovne $at , $3 , $2
- bne $0 , 3b
-
-$done: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
- ldq $4 ,32($30 )
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
-$divbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br $done
-
- .end __divqu
-
- .ent __divq
- .globl __divq
-
- .align 3
-__divq :
- lda $30 , - 48 ($30 )
- .frame $30 , 48 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
-
- bge $at , $udiv
-
-
- stq $24 , 0($30 )
- negq $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negq $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __divqu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- xor $24 , $25 , $at
- negq $27 , $3
-
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 48 ($30 )
- ret $31 , ($23 ), 1
-
- .end __divq
-
diff --git a/mdk-stage1/dietlibc/alpha/errlist.S b/mdk-stage1/dietlibc/alpha/errlist.S
deleted file mode 100644
index a5956ce05..000000000
--- a/mdk-stage1/dietlibc/alpha/errlist.S
+++ /dev/null
@@ -1,288 +0,0 @@
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 8
-.global sys_errlist
-.type sys_errlist,@object
-
-sys_errlist:
- .quad .LC000
- .quad .LC001
- .quad .LC002
- .quad .LC003
- .quad .LC004
- .quad .LC005
- .quad .LC006
- .quad .LC007
- .quad .LC008
- .quad .LC009
- .quad .LC010
- .quad .LC011
- .quad .LC012
- .quad .LC013
- .quad .LC014
- .quad .LC015
- .quad .LC016
- .quad .LC017
- .quad .LC018
- .quad .LC019
- .quad .LC020
- .quad .LC021
- .quad .LC022
- .quad .LC023
- .quad .LC024
- .quad .LC025
- .quad .LC026
- .quad .LC027
- .quad .LC028
- .quad .LC029
- .quad .LC030
- .quad .LC031
- .quad .LC032
- .quad .LC033
- .quad .LC034
- .quad .LC035
- .quad .LC036
- .quad .LC037
- .quad .LC038
- .quad .LC039
- .quad .LC040
- .quad .LC041
- .quad .LC042
- .quad .LC043
- .quad .LC044
- .quad .LC045
- .quad .LC046
- .quad .LC047
- .quad .LC048
- .quad .LC049
- .quad .LC050
- .quad .LC051
- .quad .LC052
- .quad .LC053
- .quad .LC054
- .quad .LC055
- .quad .LC056
- .quad .LC057
- .quad .LC058
- .quad .LC059
- .quad .LC060
- .quad .LC061
- .quad .LC062
- .quad .LC063
- .quad .LC064
- .quad .LC065
- .quad .LC066
- .quad .LC067
- .quad .LC068
- .quad .LC069
- .quad .LC070
- .quad .LC071
- .quad .LC072
- .quad .LC073
- .quad .LC074
- .quad .LC075
- .quad .LC076
- .quad .LC077
- .quad .LC078
- .quad .LC079
- .quad .LC080
- .quad .LC081
- .quad .LC082
- .quad .LC083
- .quad .LC084
- .quad .LC085
- .quad .LC086
- .quad .LC087
- .quad .LC088
- .quad .LC089
- .quad .LC090
- .quad .LC091
- .quad .LC092
- .quad .LC093
- .quad .LC094
- .quad .LC095
- .quad .LC096
- .quad .LC097
- .quad .LC098
- .quad .LC099
- .quad .LC100
- .quad .LC101
- .quad .LC102
- .quad .LC103
- .quad .LC104
- .quad .LC105
- .quad .LC106
- .quad .LC107
- .quad .LC108
- .quad .LC109
- .quad .LC110
- .quad .LC111
- .quad .LC112
- .quad .LC113
- .quad .LC114
- .quad .LC115
- .quad .LC116
- .quad .LC117
- .quad .LC118
- .quad .LC119
- .quad .LC120
- .quad .LC121
- .quad .LC122
- .quad .LC123
- .quad .LC124
- .quad .LC125
- .quad .LC126
- .quad .LC127
- .quad .LC128
- .quad .LC129
- .quad .LC130
- .quad 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-.type sys_nerr,@object
-sys_nerr:
- .long 130
-.size sys_nerr,4
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Resource deadlock would occur"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Try again"
-.LC036: .string "Operation now in progress"
-.LC037: .string "Operation already in progress"
-.LC038: .string "Socket operation on non-socket"
-.LC039: .string "Destination address required"
-.LC040: .string "Message too long"
-.LC041: .string "Protocol wrong type for socket"
-.LC042: .string "Protocol not available"
-.LC043: .string "Protocol not supported"
-.LC044: .string "Socket type not supported"
-.LC045: .string "Operation not supported on transport endpoint"
-.LC046: .string "Protocol family not supported"
-.LC047: .string "Address family not supported by protocol"
-.LC048: .string "Address already in use"
-.LC049: .string "Cannot assign requested address"
-.LC050: .string "Network is down"
-.LC051: .string "Network is unreachable"
-.LC052: .string "Network dropped connection because of reset"
-.LC053: .string "Software caused connection abort"
-.LC054: .string "Connection reset by peer"
-.LC055: .string "No buffer space available"
-.LC056: .string "Transport endpoint is already connected"
-.LC057: .string "Transport endpoint is not connected"
-.LC058: .string "Cannot send after transport endpoint shutdown"
-.LC059: .string "Too many references: cannot splice"
-.LC060: .string "Connection timed out"
-.LC061: .string "Connection refused"
-.LC062: .string "Too many symbolic links encountered"
-.LC063: .string "File name too long"
-.LC064: .string "Host is down"
-.LC065: .string "No route to host"
-.LC066: .string "Directory not empty"
-.LC067: .string "Error 67"
-.LC068: .string "Too many users"
-.LC069: .string "Quota exceeded"
-.LC070: .string "Stale NFS file handle"
-.LC071: .string "Object is remote"
-.LC072: .string "Error 72"
-.LC073: .string "Error 73"
-.LC074: .string "Error 74"
-.LC075: .string "Error 75"
-.LC076: .string "Error 76"
-.LC077: .string "No record locks available"
-.LC078: .string "Function not implemented"
-.LC079: .string "Error 79"
-.LC080: .string "No message of desired type"
-.LC081: .string "Identifier removed"
-.LC082: .string "Out of streams resources"
-.LC083: .string "Timer expired"
-.LC084: .string "Not a data message"
-.LC085: .string "Protocol error"
-.LC086: .string "No data available"
-.LC087: .string "Device not a stream"
-.LC088: .string "Channel number out of range"
-.LC089: .string "Level 2 not synchronized"
-.LC090: .string "Level 3 halted"
-.LC091: .string "Level 3 reset"
-.LC092: .string "Package not installed"
-.LC093: .string "Link number out of range"
-.LC094: .string "Protocol driver not attached"
-.LC095: .string "No CSI structure available"
-.LC096: .string "Level 2 halted"
-.LC097: .string "Invalid exchange"
-.LC098: .string "Invalid request descriptor"
-.LC099: .string "Exchange full"
-.LC100: .string "No anode"
-.LC101: .string "Invalid request code"
-.LC102: .string "Invalid slot"
-.LC103: .string "Error 103"
-.LC104: .string "Bad font file format"
-.LC105: .string "Machine is not on the network"
-.LC106: .string "Link has been severed"
-.LC107: .string "Advertise error"
-.LC108: .string "Srmount error"
-.LC109: .string "Communication error on send"
-.LC110: .string "Multihop attempted"
-.LC111: .string "RFS specific error"
-.LC112: .string "Value too large for defined data type"
-.LC113: .string "Name not unique on network"
-.LC114: .string "File descriptor in bad state"
-.LC115: .string "Remote address changed"
-.LC116: .string "Illegal byte sequence"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Can not access a needed shared library"
-.LC123: .string "Accessing a corrupted shared library"
-.LC124: .string ".lib section in a.out corrupted"
-.LC125: .string "Attempting to link in too many shared libraries"
-.LC126: .string "Cannot exec a shared library directly"
-.LC127: .string "Interrupted system call should be restarted"
-.LC128: .string "Streams pipe error"
-.LC129: .string "No medium found"
-.LC130: .string "Wrong medium type"
-
diff --git a/mdk-stage1/dietlibc/alpha/getegid.S b/mdk-stage1/dietlibc/alpha/getegid.S
deleted file mode 100644
index 89c35d45e..000000000
--- a/mdk-stage1/dietlibc/alpha/getegid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global getegid
-getegid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getgid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/geteuid.S b/mdk-stage1/dietlibc/alpha/geteuid.S
deleted file mode 100644
index 087ca7348..000000000
--- a/mdk-stage1/dietlibc/alpha/geteuid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global geteuid
-geteuid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getuid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/getgid.S b/mdk-stage1/dietlibc/alpha/getgid.S
deleted file mode 100644
index 7350082f3..000000000
--- a/mdk-stage1/dietlibc/alpha/getgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxgid,getgid)
diff --git a/mdk-stage1/dietlibc/alpha/getpeername.S b/mdk-stage1/dietlibc/alpha/getpeername.S
deleted file mode 100644
index 3b3f48b1a..000000000
--- a/mdk-stage1/dietlibc/alpha/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername,getpeername)
diff --git a/mdk-stage1/dietlibc/alpha/getpid.S b/mdk-stage1/dietlibc/alpha/getpid.S
deleted file mode 100644
index d8b3523b2..000000000
--- a/mdk-stage1/dietlibc/alpha/getpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxpid,getpid)
diff --git a/mdk-stage1/dietlibc/alpha/getppid.S b/mdk-stage1/dietlibc/alpha/getppid.S
deleted file mode 100644
index e181268c3..000000000
--- a/mdk-stage1/dietlibc/alpha/getppid.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.align 2
-.global getppid
-getppid:
- lda $sp,-8($sp)
- stq $26, 0($sp)
- jsr getpid
- ldq $26, 0($sp)
- lda $sp, 8($sp)
- cmovge $0, $20, $0
- ret
diff --git a/mdk-stage1/dietlibc/alpha/getsockname.S b/mdk-stage1/dietlibc/alpha/getsockname.S
deleted file mode 100644
index 2727d88da..000000000
--- a/mdk-stage1/dietlibc/alpha/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname,getsockname)
diff --git a/mdk-stage1/dietlibc/alpha/getsockopt.S b/mdk-stage1/dietlibc/alpha/getsockopt.S
deleted file mode 100644
index 44b4a910a..000000000
--- a/mdk-stage1/dietlibc/alpha/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt,getsockopt)
diff --git a/mdk-stage1/dietlibc/alpha/getuid.S b/mdk-stage1/dietlibc/alpha/getuid.S
deleted file mode 100644
index fcb5570c2..000000000
--- a/mdk-stage1/dietlibc/alpha/getuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getxuid,getuid)
diff --git a/mdk-stage1/dietlibc/alpha/listen.S b/mdk-stage1/dietlibc/alpha/listen.S
deleted file mode 100644
index 1102831d4..000000000
--- a/mdk-stage1/dietlibc/alpha/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen,listen)
diff --git a/mdk-stage1/dietlibc/alpha/lseek64.S b/mdk-stage1/dietlibc/alpha/lseek64.S
deleted file mode 100644
index f051e734d..000000000
--- a/mdk-stage1/dietlibc/alpha/lseek64.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-.global lseek64
-lseek64:
- br lseek
diff --git a/mdk-stage1/dietlibc/alpha/mmap.S b/mdk-stage1/dietlibc/alpha/mmap.S
deleted file mode 100644
index 2e57fbb74..000000000
--- a/mdk-stage1/dietlibc/alpha/mmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mmap,mmap)
diff --git a/mdk-stage1/dietlibc/alpha/msgctl.S b/mdk-stage1/dietlibc/alpha/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/alpha/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/alpha/msgget.S b/mdk-stage1/dietlibc/alpha/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/alpha/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/alpha/msgrcv.S b/mdk-stage1/dietlibc/alpha/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/alpha/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/alpha/msgsnd.S b/mdk-stage1/dietlibc/alpha/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/alpha/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/alpha/n_sigprocmask.S b/mdk-stage1/dietlibc/alpha/n_sigprocmask.S
deleted file mode 100644
index 55f9fde28..000000000
--- a/mdk-stage1/dietlibc/alpha/n_sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(osf_sigprocmask,__old_sigprocmask,__n_sigprocmask)
diff --git a/mdk-stage1/dietlibc/alpha/pipe.S b/mdk-stage1/dietlibc/alpha/pipe.S
deleted file mode 100644
index 3dfef10bf..000000000
--- a/mdk-stage1/dietlibc/alpha/pipe.S
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "syscalls.h"
-
-.text
-.align 2
-.global pipe
-.type pipe,@function
-pipe:
- lda $0, __NR_pipe($31)
- callsys
- bne $19, .Lerror
- stl $0, 0($16)
- stl $20, 4($16)
- clr $0
- ret $31, ($26), 0x01
-.Lerror:
- br error_unified_syscall
-
diff --git a/mdk-stage1/dietlibc/alpha/recv.S b/mdk-stage1/dietlibc/alpha/recv.S
deleted file mode 100644
index 17664f2e2..000000000
--- a/mdk-stage1/dietlibc/alpha/recv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(recv,recv,__libc_recv)
diff --git a/mdk-stage1/dietlibc/alpha/recvfrom.S b/mdk-stage1/dietlibc/alpha/recvfrom.S
deleted file mode 100644
index d8e3922af..000000000
--- a/mdk-stage1/dietlibc/alpha/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(recvfrom,recvfrom,__libc_recvfrom)
diff --git a/mdk-stage1/dietlibc/alpha/recvmsg.S b/mdk-stage1/dietlibc/alpha/recvmsg.S
deleted file mode 100644
index 6ce87eebb..000000000
--- a/mdk-stage1/dietlibc/alpha/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg,recvmsg)
diff --git a/mdk-stage1/dietlibc/alpha/reml.S b/mdk-stage1/dietlibc/alpha/reml.S
deleted file mode 100644
index 2d89e3280..000000000
--- a/mdk-stage1/dietlibc/alpha/reml.S
+++ /dev/null
@@ -1,101 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __remlu
- .globl __remlu
-
- .align 3
-__remlu :
- lda $30 , -32($30)
- .frame $30 , 32 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30)
- zapnot $25 , 15 , $1
- stq $2 , 8($30)
- zapnot $24 , 15 , $27
- stq $0 , 16($30)
- clr $2
- stq $3 , 24($30)
- ldiq $0 , 1
-
- beq $1 , .Ldivbyzero
-
- .align 3
-
-
-1: cmpult $1 , $27 , $at
- s8addq $1 , $31 , $1
- s8addq $0 , $31 , $0
- bne $at , 1b
-
-
-
-3:
- srl $0 , 1 , $0
- cmpule $1 , $27 , $at
- subq $27 , $1 , $3
-
- srl $1 , 1 , $1
- cmovne $at , $3 , $27
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30)
- ldq $2 , 8($30)
- ldq $0 , 16($30)
- ldq $3 , 24($30)
-
- lda $30 , 32($30)
- ret $31 , ($23), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __remlu
-
- .ent __reml
- .globl __reml
-
- .align 3
-__reml :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
- sextl $at , $at
- bge $at , .Ludiv
-
-
- stq $24 , 0($30 )
- negl $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negl $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
-
- bsr $23 , __remlu
-
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- mov $24 , $at
- negl $27 , $3
- sextl $at , $at
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
- .end __reml
diff --git a/mdk-stage1/dietlibc/alpha/remq.S b/mdk-stage1/dietlibc/alpha/remq.S
deleted file mode 100644
index 713484da3..000000000
--- a/mdk-stage1/dietlibc/alpha/remq.S
+++ /dev/null
@@ -1,97 +0,0 @@
-/* taken from glibc 2.2 */
-
- .set noreorder
- .set noat
-
- .ent __remqu
- .globl __remqu
-
- .align 3
-__remqu :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
-.Ludiv:
- stq $1 , 0($30 )
- mov $25 , $1
- stq $2 , 8($30 )
- mov $24 , $27
- stq $0 , 16($30 )
- clr $2
- stq $3 , 24($30 )
- ldiq $0 , 1
-
- beq $1 , .Ldivbyzero
-
- .align 3
-
-1: cmpult $1 , $27 , $at
- blt $1 , 2f
- addq $1 , $1 , $1
- addq $0 , $0 , $0
- bne $at , 1b
- unop
-2:
-3:
- srl $0 , 1, $0
- cmpule $1 , $27 , $at
- subq $27 , $1 , $3
-
- srl $1 , 1, $1
- cmovne $at , $3 , $27
- bne $0 , 3b
-
-.Ldone: ldq $1 , 0($30 )
- ldq $2 , 8($30 )
- ldq $0 , 16($30 )
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
-.Ldivbyzero:
- mov $16 , $3
- ldiq $16 , -2
- call_pal 170
- mov $3 , $16
- clr $27
- br .Ldone
-
- .end __remqu
-
- .ent __remq
- .globl __remq
-
- .align 3
-__remq :
- lda $30 , - 32 ($30 )
- .frame $30 , 32 , $23 , 0
- .prologue 0
- or $24 , $25 , $at
-
- bge $at , .Ludiv
-
- stq $24 , 0($30 )
- negq $24 , $at
- stq $25 , 8($30 )
- cmovge $at , $at , $24
- stq $23 , 16($30 )
- negq $25 , $at
- stq $3 , 24($30 )
- cmovge $at , $at , $25
-
- bsr $23 , __remqu
-
- ldq $24 , 0($30 )
- ldq $25 , 8($30 )
- mov $24 , $at
- negq $27 , $3
-
- ldq $23 , 16($30 )
- cmovlt $at , $3 , $27
- ldq $3 , 24($30 )
-
- lda $30 , 32 ($30 )
- ret $31 , ($23 ), 1
-
- .end __remq
diff --git a/mdk-stage1/dietlibc/alpha/semctl.S b/mdk-stage1/dietlibc/alpha/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/alpha/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/alpha/semget.S b/mdk-stage1/dietlibc/alpha/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/alpha/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/alpha/semop.S b/mdk-stage1/dietlibc/alpha/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/alpha/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/alpha/send.S b/mdk-stage1/dietlibc/alpha/send.S
deleted file mode 100644
index cfd11be2a..000000000
--- a/mdk-stage1/dietlibc/alpha/send.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(send,send,__libc_send)
diff --git a/mdk-stage1/dietlibc/alpha/sendmsg.S b/mdk-stage1/dietlibc/alpha/sendmsg.S
deleted file mode 100644
index 14646ad68..000000000
--- a/mdk-stage1/dietlibc/alpha/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg,sendmsg)
diff --git a/mdk-stage1/dietlibc/alpha/sendto.S b/mdk-stage1/dietlibc/alpha/sendto.S
deleted file mode 100644
index 17a033011..000000000
--- a/mdk-stage1/dietlibc/alpha/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sendto,sendto,__libc_sendto)
diff --git a/mdk-stage1/dietlibc/alpha/seteuid.c b/mdk-stage1/dietlibc/alpha/seteuid.c
deleted file mode 100644
index a7cf47893..000000000
--- a/mdk-stage1/dietlibc/alpha/seteuid.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-
-#undef seteuid
-int seteuid(uid_t euid) {
- return setreuid(-1,euid);
-}
diff --git a/mdk-stage1/dietlibc/alpha/setjmp.S b/mdk-stage1/dietlibc/alpha/setjmp.S
deleted file mode 100644
index 04bfd3d94..000000000
--- a/mdk-stage1/dietlibc/alpha/setjmp.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <setjmp.h>
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.weak __setjmp
-.type __setjmp,@function
-__setjmp:
- mov 0, $17
-.global __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- stq $9, (JB_S0*8) ($16) /* s0 */
- stq $10, (JB_S1*8) ($16) /* s1 */
- stq $11, (JB_S2*8) ($16) /* s2 */
- stq $12, (JB_S3*8) ($16) /* s3 */
- stq $13, (JB_S4*8) ($16) /* s4 */
- stq $14, (JB_S5*8) ($16) /* s5 */
-
- stq $26, (JB_PC*8) ($16) /* ra */
- stq $fp, (JB_FP*8) ($16) /* fp */
- stq $sp, (JB_SP*8) ($16) /* sp */
-
- stt $f2, (JB_F2*8) ($16) /* f2 */
- stt $f3, (JB_F3*8) ($16) /* f3 */
- stt $f4, (JB_F4*8) ($16) /* f4 */
- stt $f5, (JB_F5*8) ($16) /* f5 */
- stt $f6, (JB_F6*8) ($16) /* f6 */
- stt $f7, (JB_F7*8) ($16) /* f7 */
- stt $f8, (JB_F8*8) ($16) /* f8 */
- stt $f9, (JB_F9*8) ($16) /* f9 */
-
- br $31, __sigjmp_save /* jmp __sigjmp_save */
-
diff --git a/mdk-stage1/dietlibc/alpha/setsockopt.S b/mdk-stage1/dietlibc/alpha/setsockopt.S
deleted file mode 100644
index e3fe1d321..000000000
--- a/mdk-stage1/dietlibc/alpha/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt,setsockopt)
diff --git a/mdk-stage1/dietlibc/alpha/shmat.S b/mdk-stage1/dietlibc/alpha/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/alpha/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/alpha/shmctl.S b/mdk-stage1/dietlibc/alpha/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/alpha/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/alpha/shmdt.S b/mdk-stage1/dietlibc/alpha/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/alpha/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/alpha/shmget.S b/mdk-stage1/dietlibc/alpha/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/alpha/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/alpha/shutdown.S b/mdk-stage1/dietlibc/alpha/shutdown.S
deleted file mode 100644
index 9b5139325..000000000
--- a/mdk-stage1/dietlibc/alpha/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown,shutdown)
diff --git a/mdk-stage1/dietlibc/alpha/sigaction.c b/mdk-stage1/dietlibc/alpha/sigaction.c
deleted file mode 100644
index f6c3ada7d..000000000
--- a/mdk-stage1/dietlibc/alpha/sigaction.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr, void* restorer);
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, _NSIG/8, 0);
-}
diff --git a/mdk-stage1/dietlibc/alpha/socket.S b/mdk-stage1/dietlibc/alpha/socket.S
deleted file mode 100644
index 85401f56e..000000000
--- a/mdk-stage1/dietlibc/alpha/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket,socket)
diff --git a/mdk-stage1/dietlibc/alpha/socketcall.S b/mdk-stage1/dietlibc/alpha/socketcall.S
deleted file mode 100644
index b150bd5d5..000000000
--- a/mdk-stage1/dietlibc/alpha/socketcall.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-/*
- * Doesn't exist on alpha ( accept, bind, ... are SYSCALLS !?! )
- */
diff --git a/mdk-stage1/dietlibc/alpha/socketpair.S b/mdk-stage1/dietlibc/alpha/socketpair.S
deleted file mode 100644
index 06956a7ce..000000000
--- a/mdk-stage1/dietlibc/alpha/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair,socketpair)
diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S
deleted file mode 100644
index 850ce2420..000000000
--- a/mdk-stage1/dietlibc/alpha/start.S
+++ /dev/null
@@ -1,33 +0,0 @@
-.text
-.align 2
- .set noreorder
-
-.global __start
-__start:
-.global _start
-_start:
- clr $fp /* clear frame pointer */
-
- br $gp,.Lstart /* set global pointer */
-.Lstart:
- ldgp $gp, 0($gp)
-
-/* prepare to call main */
- ldl $16, 0($sp) /* argc / a0 */
-
- lda $17, 8($sp) /* argv / a1 */
-
- addq $16, 1, $18 /* argp / a2 */
- s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
-
- stq $18, environ
-
-#ifdef WANT_DYNAMIC
-/* in v0 ($0) is the ld.so _fini pointer */
- mov $0, $19 /* mov v0(dynload) to a3 */
- jsr $26, dyn_start
-#else
- jsr $26, main
-#endif
- mov $0, $16
- jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
diff --git a/mdk-stage1/dietlibc/alpha/strlen.c b/mdk-stage1/dietlibc/alpha/strlen.c
deleted file mode 100644
index ac532254a..000000000
--- a/mdk-stage1/dietlibc/alpha/strlen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <string.h>
-
-static const unsigned long long magic = 0x0101010101010101LL;
-
-size_t strlen(const char *s)
-{
- const char *t = s;
- unsigned long long word;
-
- if (!s) return 0;
-
- /* Byte compare up until 64 bit word boundary */
- for (; ((unsigned long long) t & 7); t++)
- if (!*t) return t - s;
-
- /* Word compare */
- do {
- word = *((unsigned long long *) t); t += 8;
- word = (word - magic) &~ word;
- word &= (magic << 7);
- } while (word == 0);
-
- /* word & 0x8080808080808080 == word */
- word = (word - 1) & (magic << 8);
- word += (word << 32);
- word += (word << 16);
- word += (word << 8);
- t += word >> 56;
- return ((const char *) t) - 8 - s;
-}
-
-
diff --git a/mdk-stage1/dietlibc/alpha/syscalls.h b/mdk-stage1/dietlibc/alpha/syscalls.h
deleted file mode 100644
index 5c654b4bf..000000000
--- a/mdk-stage1/dietlibc/alpha/syscalls.h
+++ /dev/null
@@ -1,371 +0,0 @@
-
-#define __NR_osf_syscall 0 /* not implemented */
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_osf_old_open 5 /* not implemented */
-#define __NR_close 6
-#define __NR_osf_wait4 7
-#define __NR_osf_old_creat 8 /* not implemented */
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_osf_execve 11 /* not implemented */
-#define __NR_chdir 12
-#define __NR_fchdir 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_chown 16
-#define __NR_brk 17
-#define __NR_osf_getfsstat 18 /* not implemented */
-#define __NR_lseek 19
-#define __NR_getxpid 20
-#define __NR_osf_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getxuid 24
-#define __NR_exec_with_loader 25 /* not implemented */
-#define __NR_ptrace 26
-#define __NR_osf_nrecvmsg 27 /* not implemented */
-#define __NR_osf_nsendmsg 28 /* not implemented */
-#define __NR_osf_nrecvfrom 29 /* not implemented */
-#define __NR_osf_naccept 30 /* not implemented */
-#define __NR_osf_ngetpeername 31 /* not implemented */
-#define __NR_osf_ngetsockname 32 /* not implemented */
-#define __NR_access 33
-#define __NR_osf_chflags 34 /* not implemented */
-#define __NR_osf_fchflags 35 /* not implemented */
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_osf_old_stat 38 /* not implemented */
-#define __NR_setpgid 39
-#define __NR_osf_old_lstat 40 /* not implemented */
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_osf_set_program_attributes 43
-#define __NR_osf_profil 44 /* not implemented */
-#define __NR_open 45
-#define __NR_osf_old_sigaction 46 /* not implemented */
-#define __NR_getxgid 47
-#define __NR_osf_sigprocmask 48
-#define __NR_osf_getlogin 49 /* not implemented */
-#define __NR_osf_setlogin 50 /* not implemented */
-#define __NR_acct 51
-#define __NR_sigpending 52
-
-#define __NR_ioctl 54
-#define __NR_osf_reboot 55 /* not implemented */
-#define __NR_osf_revoke 56 /* not implemented */
-#define __NR_symlink 57
-#define __NR_readlink 58
-#define __NR_execve 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_osf_old_fstat 62 /* not implemented */
-#define __NR_getpgrp 63
-#define __NR_getpagesize 64
-#define __NR_osf_mremap 65 /* not implemented */
-#define __NR_vfork 66
-#define __NR_stat 67
-#define __NR_lstat 68
-#define __NR_osf_sbrk 69 /* not implemented */
-#define __NR_osf_sstk 70 /* not implemented */
-#define __NR_mmap 71 /* OSF/1 mmap is superset of Linux */
-#define __NR_osf_old_vadvise 72 /* not implemented */
-#define __NR_munmap 73
-#define __NR_mprotect 74
-#define __NR_madvise 75
-#define __NR_vhangup 76
-#define __NR_osf_kmodcall 77 /* not implemented */
-#define __NR_osf_mincore 78 /* not implemented */
-#define __NR_getgroups 79
-#define __NR_setgroups 80
-#define __NR_osf_old_getpgrp 81 /* not implemented */
-#define __NR_setpgrp 82 /* BSD alias for setpgid */
-#define __NR_osf_setitimer 83
-#define __NR_osf_old_wait 84 /* not implemented */
-#define __NR_osf_table 85 /* not implemented */
-#define __NR_osf_getitimer 86
-#define __NR_gethostname 87
-#define __NR_sethostname 88
-#define __NR_getdtablesize 89
-#define __NR_dup2 90
-#define __NR_fstat 91
-#define __NR_fcntl 92
-#define __NR_osf_select 93
-#define __NR_poll 94
-#define __NR_fsync 95
-#define __NR_setpriority 96
-#define __NR_socket 97
-#define __NR_connect 98
-#define __NR_accept 99
-#define __NR_getpriority 100
-#define __NR_send 101
-#define __NR_recv 102
-#define __NR_sigreturn 103
-#define __NR_bind 104
-#define __NR_setsockopt 105
-#define __NR_listen 106
-#define __NR_osf_plock 107 /* not implemented */
-#define __NR_osf_old_sigvec 108 /* not implemented */
-#define __NR_osf_old_sigblock 109 /* not implemented */
-#define __NR_osf_old_sigsetmask 110 /* not implemented */
-#define __NR_sigsuspend 111
-#define __NR_osf_sigstack 112
-#define __NR_recvmsg 113
-#define __NR_sendmsg 114
-#define __NR_osf_old_vtrace 115 /* not implemented */
-#define __NR_osf_gettimeofday 116
-#define __NR_osf_getrusage 117
-#define __NR_getsockopt 118
-
-#define __NR_readv 120
-#define __NR_writev 121
-#define __NR_osf_settimeofday 122
-#define __NR_fchown 123
-#define __NR_fchmod 124
-#define __NR_recvfrom 125
-#define __NR_setreuid 126
-#define __NR_setregid 127
-#define __NR_rename 128
-#define __NR_truncate 129
-#define __NR_ftruncate 130
-#define __NR_flock 131
-#define __NR_setgid 132
-#define __NR_sendto 133
-#define __NR_shutdown 134
-#define __NR_socketpair 135
-#define __NR_mkdir 136
-#define __NR_rmdir 137
-#define __NR_osf_utimes 138
-#define __NR_osf_old_sigreturn 139 /* not implemented */
-#define __NR_osf_adjtime 140 /* not implemented */
-#define __NR_getpeername 141
-#define __NR_osf_gethostid 142 /* not implemented */
-#define __NR_osf_sethostid 143 /* not implemented */
-#define __NR_getrlimit 144
-#define __NR_setrlimit 145
-#define __NR_osf_old_killpg 146 /* not implemented */
-#define __NR_setsid 147
-#define __NR_quotactl 148
-#define __NR_osf_oldquota 149 /* not implemented */
-#define __NR_getsockname 150
-
-#define __NR_osf_pid_block 153 /* not implemented */
-#define __NR_osf_pid_unblock 154 /* not implemented */
-
-#define __NR_sigaction 156
-#define __NR_osf_sigwaitprim 157 /* not implemented */
-#define __NR_osf_nfssvc 158 /* not implemented */
-#define __NR_osf_getdirentries 159
-#define __NR_osf_statfs 160
-#define __NR_osf_fstatfs 161
-
-#define __NR_osf_asynch_daemon 163 /* not implemented */
-#define __NR_osf_getfh 164 /* not implemented */
-#define __NR_osf_getdomainname 165
-#define __NR_setdomainname 166
-
-#define __NR_osf_exportfs 169 /* not implemented */
-
-#define __NR_osf_alt_plock 181 /* not implemented */
-
-#define __NR_osf_getmnt 184 /* not implemented */
-
-#define __NR_osf_alt_sigpending 187 /* not implemented */
-#define __NR_osf_alt_setsid 188 /* not implemented */
-
-#define __NR_osf_swapon 199
-#define __NR_msgctl 200
-#define __NR_msgget 201
-#define __NR_msgrcv 202
-#define __NR_msgsnd 203
-#define __NR_semctl 204
-#define __NR_semget 205
-#define __NR_semop 206
-#define __NR_osf_utsname 207
-#define __NR_lchown 208
-#define __NR_osf_shmat 209
-#define __NR_shmctl 210
-#define __NR_shmdt 211
-#define __NR_shmget 212
-#define __NR_osf_mvalid 213 /* not implemented */
-#define __NR_osf_getaddressconf 214 /* not implemented */
-#define __NR_osf_msleep 215 /* not implemented */
-#define __NR_osf_mwakeup 216 /* not implemented */
-#define __NR_msync 217
-#define __NR_osf_signal 218 /* not implemented */
-#define __NR_osf_utc_gettime 219 /* not implemented */
-#define __NR_osf_utc_adjtime 220 /* not implemented */
-
-#define __NR_osf_security 222 /* not implemented */
-#define __NR_osf_kloadcall 223 /* not implemented */
-
-#define __NR_getpgid 233
-#define __NR_getsid 234
-#define __NR_sigaltstack 235
-#define __NR_osf_waitid 236 /* not implemented */
-#define __NR_osf_priocntlset 237 /* not implemented */
-#define __NR_osf_sigsendset 238 /* not implemented */
-#define __NR_osf_set_speculative 239 /* not implemented */
-#define __NR_osf_msfs_syscall 240 /* not implemented */
-#define __NR_osf_sysinfo 241
-#define __NR_osf_uadmin 242 /* not implemented */
-#define __NR_osf_fuser 243 /* not implemented */
-#define __NR_osf_proplist_syscall 244
-#define __NR_osf_ntp_adjtime 245 /* not implemented */
-#define __NR_osf_ntp_gettime 246 /* not implemented */
-#define __NR_osf_pathconf 247 /* not implemented */
-#define __NR_osf_fpathconf 248 /* not implemented */
-
-#define __NR_osf_uswitch 250 /* not implemented */
-#define __NR_osf_usleep_thread 251
-#define __NR_osf_audcntl 252 /* not implemented */
-#define __NR_osf_audgen 253 /* not implemented */
-#define __NR_sysfs 254
-#define __NR_osf_subsys_info 255 /* not implemented */
-#define __NR_osf_getsysinfo 256
-#define __NR_osf_setsysinfo 257
-#define __NR_osf_afs_syscall 258 /* not implemented */
-#define __NR_osf_swapctl 259 /* not implemented */
-#define __NR_osf_memcntl 260 /* not implemented */
-#define __NR_osf_fdatasync 261 /* not implemented */
-
-
-/*
- * Linux-specific system calls begin at 300
- */
-#define __NR_bdflush 300
-#define __NR_sethae 301
-#define __NR_mount 302
-#define __NR_old_adjtimex 303
-#define __NR_swapoff 304
-#define __NR_getdents 305
-#define __NR_create_module 306
-#define __NR_init_module 307
-#define __NR_delete_module 308
-#define __NR_get_kernel_syms 309
-#define __NR_syslog 310
-#define __NR_reboot 311
-#define __NR_clone 312
-#define __NR_uselib 313
-#define __NR_mlock 314
-#define __NR_munlock 315
-#define __NR_mlockall 316
-#define __NR_munlockall 317
-#define __NR_sysinfo 318
-#define __NR__sysctl 319
-/* 320 was sys_idle. */
-#define __NR_oldumount 321
-#define __NR_swapon 322
-#define __NR_times 323
-#define __NR_personality 324
-#define __NR_setfsuid 325
-#define __NR_setfsgid 326
-#define __NR_ustat 327
-#define __NR_statfs 328
-#define __NR_fstatfs 329
-#define __NR_sched_setparam 330
-#define __NR_sched_getparam 331
-#define __NR_sched_setscheduler 332
-#define __NR_sched_getscheduler 333
-#define __NR_sched_yield 334
-#define __NR_sched_get_priority_max 335
-#define __NR_sched_get_priority_min 336
-#define __NR_sched_rr_get_interval 337
-#define __NR_afs_syscall 338
-#define __NR_uname 339
-#define __NR_nanosleep 340
-#define __NR_mremap 341
-#define __NR_nfsservctl 342
-#define __NR_setresuid 343
-#define __NR_getresuid 344
-#define __NR_pciconfig_read 345
-#define __NR_pciconfig_write 346
-#define __NR_query_module 347
-#define __NR_prctl 348
-#define __NR_pread 349
-#define __NR_pwrite 350
-#define __NR_rt_sigreturn 351
-#define __NR_rt_sigaction 352
-#define __NR_rt_sigprocmask 353
-#define __NR_rt_sigpending 354
-#define __NR_rt_sigtimedwait 355
-#define __NR_rt_sigqueueinfo 356
-#define __NR_rt_sigsuspend 357
-#define __NR_select 358
-#define __NR_gettimeofday 359
-#define __NR_settimeofday 360
-#define __NR_getitimer 361
-#define __NR_setitimer 362
-#define __NR_utimes 363
-#define __NR_getrusage 364
-#define __NR_wait4 365
-#define __NR_adjtimex 366
-#define __NR_getcwd 367
-#define __NR_capget 368
-#define __NR_capset 369
-#define __NR_sendfile 370
-#define __NR_setresgid 371
-#define __NR_getresgid 372
-#define __NR_dipc 373
-#define __NR_pivot_root 374
-#define __NR_mincore 375
-#define __NR_pciconfig_iobase 376
-#define __NR_getdents64 377
-#define __NR_gettid 378
-#define __NR_readahead 379
-#define __NR_security 380 /* syscall for security modules */
-#define __NR_tkill 381
-#define __NR_setxattr 382
-#define __NR_lsetxattr 383
-#define __NR_fsetxattr 384
-#define __NR_getxattr 385
-#define __NR_lgetxattr 386
-#define __NR_fgetxattr 387
-#define __NR_listxattr 388
-#define __NR_llistxattr 389
-#define __NR_flistxattr 390
-#define __NR_removexattr 391
-#define __NR_lremovexattr 392
-#define __NR_fremovexattr 393
-#define __NR_futex 394
-#define __NR_sched_setaffinity 395
-#define __NR_sched_getaffinity 396
-#define __NR_tuxcall 397
-#define __NR_io_setup 398
-#define __NR_io_destroy 399
-#define __NR_io_getevents 400
-#define __NR_io_submit 401
-#define __NR_io_cancel 402
-#define __NR_alloc_hugepages 403
-#define __NR_free_hugepages 404
-#define __NR_exit_group 405
-#define __NR_lookup_dcookie 406
-#define __NR_sys_epoll_create 407
-#define __NR_sys_epoll_ctl 408
-#define __NR_sys_epoll_wait 409
-#define __NR_remap_file_pages 410
-#define __NR_set_tid_address 411
-
-#define syscall_weak(name,wsym,sym) \
-.text ; \
-.align 2 ; \
-.weak wsym; \
-.type wsym,@function ; \
-wsym: ; \
-.global sym ; \
-.type sym,@function ; \
-sym: ; \
- lda $0, __NR_##name($31) ; \
- br __unified_syscall
-
-#define syscall(name,sym) \
-.text ; \
-.align 2 ; \
-.global sym ; \
-.type sym,@function ; \
-sym: ; \
- lda $0, __NR_##name($31) ; \
- br __unified_syscall
-
diff --git a/mdk-stage1/dietlibc/alpha/time.S b/mdk-stage1/dietlibc/alpha/time.S
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/alpha/time.S
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/alpha/unified.S b/mdk-stage1/dietlibc/alpha/unified.S
deleted file mode 100644
index 506bf7387..000000000
--- a/mdk-stage1/dietlibc/alpha/unified.S
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.weak exit
-exit:
-.global _exit
-_exit:
- lda $0, __NR_exit
-.global __unified_syscall
-__unified_syscall:
- callsys
- bne $19, .Lerror
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret $31, ($26), 0x01
-
-.Lerror:
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAFE
- lda $sp, -16($sp) /* alloc 2 qwords on stack */
- stq $26, 0($sp) /* save ra to stack */
- stq $0, 8($sp) /* save v0 to stack */
-
- jsr $26, __errno_location /* call __errno_location */
-
- ldq $1, 8($sp) /* write old v0 to errno */
- stl $1, 0($0)
-
- lda $0, -1($31) /* new return value is -1 */
- ldq $26, 0($sp) /* restore return address */
- lda $sp, 16($sp) /* free 2 qwords on stack */
-#else
- lda $1, errno
- stl $0, 0($1)
-#endif
- ret $31, ($26), 0x01 /* return */
diff --git a/mdk-stage1/dietlibc/alpha/utime.S b/mdk-stage1/dietlibc/alpha/utime.S
deleted file mode 100644
index a9a8aada6..000000000
--- a/mdk-stage1/dietlibc/alpha/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utimes,utime)
diff --git a/mdk-stage1/dietlibc/alpha/waitpid.S b/mdk-stage1/dietlibc/alpha/waitpid.S
deleted file mode 100644
index 6dc1c99db..000000000
--- a/mdk-stage1/dietlibc/alpha/waitpid.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <syscalls.h>
-
-.text
-.align 2
-.weak waitpid
-waitpid:
-.global __libc_waitpid
-__libc_waitpid:
- clr $19
- br wait4
diff --git a/mdk-stage1/dietlibc/binshstr.h b/mdk-stage1/dietlibc/binshstr.h
deleted file mode 100644
index f1bf789fe..000000000
--- a/mdk-stage1/dietlibc/binshstr.h
+++ /dev/null
@@ -1,6 +0,0 @@
-
-extern const char __binsh [8];
-
-#define __sh (__binsh + 5 )
-
-/* end of binshstr.h */
diff --git a/mdk-stage1/dietlibc/diet.c b/mdk-stage1/dietlibc/diet.c
deleted file mode 100644
index c3a053ac8..000000000
--- a/mdk-stage1/dietlibc/diet.c
+++ /dev/null
@@ -1,367 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <write12.h>
-
-#include "dietfeatures.h"
-
-/* goal:
- * when invoked as
- * "diet gcc -c t.c"
- * exec
- * "gcc -I/path/to/dietlibc/include -c t.c"
- *
- * when invoked as
- * "diet sparc-linux-gcc -o t t.o"
- * exec
- * "sparc-linux-gcc -nostdlib -static -o t t.o /path/to/dietlibc/bin-sparc/start.o /path/to/dietlibc/bin-sparc/dietlibc.a"
-*/
-
-static void error(const char *message) {
- __write2(message);
- exit(1);
-}
-
-static const char* Os[] = {
- "i386","-Os","-mpreferred-stack-boundary=2",
- "-malign-functions=0","-malign-jumps=0",
- "-malign-loops=0","-fomit-frame-pointer",0,
- "x86_64","-Os","-fno-omit-frame-pointer",0,
- "sparc","-Os","-mcpu=supersparc",0,
- "sparc64","-Os","-m64",0,
- "alpha","-Os","-fomit-frame-pointer",0,
- "arm","-Os","-fomit-frame-pointer",0,
- "mips","-Os","-fomit-frame-pointer","-mno-abicalls","-G","8","-fno-pic",0,
- "ppc","-Os","-fomit-frame-pointer","-mpowerpc-gpopt","-mpowerpc-gfxopt",0,
- "s390","-Os","-fomit-frame-pointer",0,
- "sh","-Os","-fomit-frame-pointer",0,
- "ia64","-Os","-fno-omit-frame-pointer",0,
- "x86_64","-Os","-fstrict-aliasing","-momit-leaf-frame-pointer","-mfance-math-387",0,
- 0};
-
-int main(int argc,char *argv[]) {
- int _link=0;
- int compile=0;
- int preprocess=0;
- int verbose=0;
- int profile=0;
- char diethome[]=DIETHOME;
- char platform[1000];
-#ifdef __DYN_LIB
- int shared=0;
-#endif
- char* shortplatform=0;
-#ifdef WANT_SAFEGUARD
- char safeguard1[]="-include";
- char safeguard2[]=DIETHOME "/include/dietref.h";
-#endif
- const char *nostdlib="-nostdlib";
- const char *libgcc="-lgcc";
- char dashL[1000];
- char dashstatic[]="-static";
- int i;
- int mangleopts=0;
- char manglebuf[1024];
-
-#ifdef INSTALLVERSION
- strcpy(platform,DIETHOME "/lib-");
-#else
-#ifndef __DYN_LIB
- strcpy(platform,DIETHOME "/bin-");
-#else
- strcpy(platform,DIETHOME "/pic-");
-#endif
-#endif
- strcpy(dashL,"-L");
-
- if (argc<2) {
-usage:
- if (verbose) {
- __write2(
-#ifdef __DYN_LIB
- "dyn-"
-#endif
- "diet version " VERSION
-#ifndef INSTALLVERSION
- " (non-install version in source tree)"
-#endif
- "\n\n");
- }
- error("usage: diet [-v] [-Os] gcc command line\n"
- "e.g. diet -Os gcc -c t.c\n"
- "or diet sparc-linux-gcc -o foo foo.c bar.o\n");
- }
- if (!strcmp(argv[1],"-v")) {
- ++argv; --argc;
- verbose=1;
- }
- if (argv[1] && !strcmp(argv[1],"-Os")) {
- ++argv; --argc;
- mangleopts=1;
- }
- if (!argv[1]) goto usage;
- {
- char *tmp=strchr(argv[1],0)-2;
- char *tmp2,*tmp3;
- char *cc=argv[1];
- if (tmp<cc) goto donttouch;
- if ((tmp2=strstr(cc,"linux-"))) { /* cross compiling? */
- int len=strlen(platform);
- --tmp2;
- tmp3=strchr(cc,'-');
- if (tmp3<tmp2) tmp2=tmp3;
- if (tmp2-cc>90) error("platform name too long!\n");
- shortplatform=platform+len;
- memmove(shortplatform,argv[1],(size_t)(tmp2-cc));
- platform[tmp2-cc+len]=0;
- if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
- } else {
-#ifdef __sparc__
-#ifdef __arch64__
- shortplatform="sparc64";
-#else
- shortplatform="sparc";
-#endif
-#endif
-#ifdef __powerpc__
- shortplatform="ppc";
-#endif
-#ifdef __i386__
- shortplatform="i386";
-#endif
-#ifdef __alpha__
- shortplatform="alpha";
-#endif
-#ifdef __arm__
- shortplatform="arm";
-#endif
-#ifdef __mips__
- shortplatform="mips";
-#endif
-#ifdef __s390__
- shortplatform="s390";
-#endif
-#ifdef __sh__
- shortplatform="sh";
-#endif
-#ifdef __hppa__
- shortplatform="parisc";
-#endif
-#ifdef __x86_64__
- shortplatform="x86_64";
-#endif
-#ifdef __ia64__
- shortplatform="ia64";
-#endif
- {
- char *tmp=platform+strlen(platform);
- strcpy(tmp,shortplatform);
- shortplatform=tmp;
- }
- }
- /* MIPS needs special handling. If argv contains -EL, change
- * platform name to mipsel */
- if (!strcmp(shortplatform,"mips")) {
- int i;
- for (i=1; i<argc; ++i)
- if (!strcmp(argv[i],"-EL"))
- strcpy(shortplatform,"mipsel");
- }
- strcat(dashL,platform);
- if (!strcmp(tmp,"cc")) {
- char **newargv;
- char **dest;
- char *a,*b,*c;
-#ifdef WANT_DYNAMIC
- char *d,*e,*f;
-#endif
-/* we need to add -I... if the command line contains -c, -S or -E */
- for (i=2; i<argc; ++i) {
- if (argv[i][0]=='-' && argv[i][1]=='M')
- goto pp;
- if (!strcmp(argv[i],"-pg"))
- profile=1;
- if (!strcmp(argv[i],"-c") || !strcmp(argv[i],"-S"))
- compile=1;
- if (!strcmp(argv[i],"-E"))
-pp:
- preprocess=compile=1;
- }
-/* we need to add -nostdlib if we are not compiling*/
- _link=!compile;
-#ifdef __DYN_LIB
- if (_link) {
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-shared")) {
- shared=1;
- _link=0;
- }
- }
-#endif
-#if 0
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-o"))
- if (!compile) _link=1;
-#endif
- newargv=alloca(sizeof(char*)*(argc+100));
- a=alloca(strlen(diethome)+20);
- b=alloca(strlen(platform)+20);
- c=alloca(strlen(platform)+20);
-
- strcpy(a,"-I"); strcat(a,diethome); strcat(a,"/include");
-#ifndef __DYN_LIB
- strcpy(b,platform);
- if (profile) strcat(b,"/pstart.o"); else strcat(b,"/start.o");
-#ifdef INSTALLVERSION
- strcpy(c,platform); strcat(c,"/libc.a");
-#else
- strcpy(c,platform); strcat(c,"/dietlibc.a");
-#endif
-#else
- strcpy(b,platform); strcat(b,"/dstart.o");
- strcpy(c,"-lc");
-#endif
-
-#ifdef WANT_DYNAMIC
- d=alloca(strlen(platform)+20);
- e=alloca(strlen(platform)+20);
-#ifdef __DYN_LIB
- strcpy(d,platform);
- strcpy(e,platform);
- if (shared)
- strcat(d,"/dyn_so_start.o");
-#ifdef INSTALLVERSION
- else
- strcat(d,"/dyn_dstart.o");
- strcat(e,"/dyn_dstop.o");
-#else
- else
- strcat(d,"/dyn_start.o");
- strcat(e,"/dyn_stop.o");
-#endif
-#else
- strcpy(d,platform); strcat(d,"/dyn_start.o");
- strcpy(e,platform); strcat(e,"/dyn_stop.o");
-#endif
-#endif
-
- dest=newargv;
- *dest++=argv[1];
-#ifndef __DYN_LIB
- if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; }
-#else
- /* avoid R_*_COPY relocations */
- *dest++="-fPIC";
- if (_link || shared) { *dest++=(char*)nostdlib; *dest++=dashL; }
-#endif
-#ifdef WANT_SAFEGUARD
- if (compile && !preprocess) {
- *dest++=safeguard1;
- *dest++=safeguard2;
- }
-#endif
- if (_link) { *dest++=b; }
-#ifdef WANT_DYNAMIC
- if (_link) { *dest++=d; }
-#endif
- for (i=2; i<argc; ++i) {
- if (mangleopts)
- if (argv[i][0]=='-' && (argv[i][1]=='O' || argv[i][1]=='f' || argv[i][1]=='m')) {
- if (strcmp(argv[i],"-fpic") && strcmp(argv[i],"-fno-pic"))
- continue;
- }
- *dest++=argv[i];
- }
-#ifndef __DYN_LIB
- if (compile || _link) *dest++=a;
-#else
- if (compile || _link || shared) *dest++=a;
-#endif
- *dest++="-D__dietlibc__";
- if (mangleopts) {
- const char **o=Os;
-
- {
- int fd;
- char* tmp=getenv("HOME");
- if (tmp) {
- if (strlen(tmp)+strlen(cc)<900) {
- strcpy(manglebuf,tmp);
- strcat(manglebuf,"/.diet/");
- strcat(manglebuf,cc);
- if ((fd=open(manglebuf,O_RDONLY))>=0) {
- int len=read(fd,manglebuf,1023);
- if (len>0) {
- int i;
- manglebuf[len]=0;
- *dest++=manglebuf;
- for (i=1; i<len; ++i) {
- if (manglebuf[i]==' ' || manglebuf[i]=='\n') {
- manglebuf[i]=0;
- if (i+1<len)
- *dest++=manglebuf+i+1;
- }
- }
- goto incorporated;
- }
- }
- }
- }
- }
- for (o=Os;*o;++o) {
- if (!strcmp(*o,shortplatform)) {
- ++o;
- while (*o) {
- *dest++=(char*)*o;
- ++o;
- }
- break;
- } else
- while (*o) ++o;
- }
- }
-incorporated:
- if (_link) {
- if (profile) *dest++="-lgmon";
- if (!strcmp(shortplatform,"sparc") || !strcmp(shortplatform,"sparc64")) {
- *dest++=(char*)libgcc; *dest++=c;
- } else {
- *dest++=c; *dest++=(char*)libgcc;
- }
- }
-#ifdef WANT_DYNAMIC
- if (_link) { *dest++=e; }
-#endif
-#ifdef __DYN_LIB
- if (shared){ *dest++=c; }
- f=alloca(strlen(platform)+100);
- if (_link) {
- strcpy(f,"-Wl,-dynamic-linker=");
- strcat(f,platform);
-// strcat(f,"/diet-linux.so");
- strcat(f,"/libdl.so");
- *dest++=f;
- }
-#endif
- *dest=0;
- if (verbose) {
- int i;
- for (i=0; newargv[i]; i++) {
- __write2(newargv[i]);
- __write2(" ");
- }
- __write2("\n");
- }
- execvp(newargv[0],newargv);
- goto error;
- } else if (!strcmp(tmp,"ld")) {
- }
- }
-donttouch:
- execvp(argv[1],argv+1);
-error:
- error("execvp() failed!\n");
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/dietdirent.h b/mdk-stage1/dietlibc/dietdirent.h
deleted file mode 100644
index dbd7206a6..000000000
--- a/mdk-stage1/dietlibc/dietdirent.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/shm.h>
-
-struct __dirstream {
- int fd;
- char buf[PAGE_SIZE-(sizeof (int)*3)];
- unsigned int num;
- unsigned int cur;
-}; /* stream data from opendir() */
diff --git a/mdk-stage1/dietlibc/dietdns.h b/mdk-stage1/dietlibc/dietdns.h
deleted file mode 100644
index c4c1c5f72..000000000
--- a/mdk-stage1/dietlibc/dietdns.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
diff --git a/mdk-stage1/dietlibc/dietfeatures.h b/mdk-stage1/dietlibc/dietfeatures.h
deleted file mode 100644
index a7b84d5b9..000000000
--- a/mdk-stage1/dietlibc/dietfeatures.h
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef _DIETFEATURES_H
-#define _DIETFEATURES_H
-
-/* feel free to comment some of these out to reduce code size */
-
-/* #define WANT_FLOATING_POINT_IN_PRINTF */
-/* #define WANT_FLOATING_POINT_IN_SCANF */
-#define WANT_CHARACTER_CLASSES_IN_SCANF
-#define WANT_NULL_PRINTF
-/* #define WANT_LONGLONG_PRINTF */
-/* #define WANT_LONGLONG_SCANF */
-
-/* 128 or 2048 bytes buffer size? */
-/* #define WANT_SMALL_STDIO_BUFS */
-
-/* want fread to read() directly if size of data is larger than buffer?
- * This costs a few bytes but is worth it if the application is already
- * buffering. */
-#define WANT_FREAD_OPTIMIZATION
-
-/* this is only for meaningful for ttyname and sysconf_cpus so far */
-#define SLASH_PROC_OK
-
-/* use errno_location instead of errno */
-/* #define WANT_THREAD_SAFE */
-
-/* make the startcode, etc. dynamic aware ({con,de}structors) */
-/* #define WANT_DYNAMIC */
-
-/* do you want smaller or faster string routines? */
-/* #define WANT_FASTER_STRING_ROUTINES */
-
-/* define this to have strncpy zero-fill and not just zero-terminate the
- * string */
-/* #define WANT_FULL_POSIX_COMPAT */
-
-/* read the comment in lib/strncat.c for an explanation */
-/* #define WANT_NON_COMPLIANT_STRNCAT */
-
-/* #define WANT_LINKER_WARNINGS */
-
-/* you need to define this if you want to run your programs with large
- * file support on kernel 2.2 or 2.0 */
-/* #define WANT_LARGEFILE_BACKCOMPAT */
-
-/* do you want localtime(3) to read /etc/localtime?
- * Needed for daylight saving time etc. */
-/* #define WANT_TZFILE_PARSER */
-
-/* do you want the DNS routines to parse and use "domain" and "search"
- * lines from /etc/resolv.conf? Normally not used on boot floppies and
- * embedded environments. */
-#define WANT_FULL_RESOLV_CONF
-
-/* do you want IPv6 transport support in the DNS resolver? */
-/* #define WANT_IPV6_DNS */
-
-/* do you want gethostbyname and friends to consult /etc/hosts? */
-#define WANT_ETC_HOSTS
-
-/* do you want gethostbyname to understand dotted decimal IP numbers
- * directly and not try to resolve them? */
-#define WANT_INET_ADDR_DNS
-
-/* do you want math functions high precision rather than fast/small? */
-/* #define WANT_HIGH_PRECISION_MATH */
-
-/* do you want support for matherr? */
-/* #define WANT_MATHERR */
-
-/* do you want crypt(3) to use MD5 if the salt starts with "$1$"? */
-/* #define WANT_CRYPT_MD5 */
-
-/* do you want diet to include a safeguard dependency to make linking
- * against glibc fail? This may fail with older binutils. */
-#define WANT_SAFEGUARD
-
-/* dy you want that malloc(0) return a pointer to a "zero-length" object
- * that is realloc-able; means realloc(..,size) gives a NEW object (like a
- * call to malloc(size)).
- * WARNING: this violates C99 */
-/* #define WANT_MALLOC_ZERO */
-
-
-/* stop uncommenting here ;-) */
-#ifndef WANT_FASTER_STRING_ROUTINES
-#define WANT_SMALL_STRING_ROUTINES
-#endif
-
-#ifdef WANT_THREAD_SAFE
-#ifndef __ASSEMBLER__
-#define errno (*__errno_location())
-#define _REENTRANT
-#endif
-#endif
-
-#ifdef __DYN_LIB
-/* with shared libraries you MUST have a dynamic aware startcode */
-#ifndef WANT_DYNAMIC
-#define WANT_DYNAMIC
-#endif
-/* saveguard crashes with shared objects ... */
-#ifdef WANT_SAFEGUARD
-#undef WANT_SAFEGUARD
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/dieticonv.h b/mdk-stage1/dietlibc/dieticonv.h
deleted file mode 100644
index 540ef2f6f..000000000
--- a/mdk-stage1/dietlibc/dieticonv.h
+++ /dev/null
@@ -1,12 +0,0 @@
-enum charset {
- INVALID=0,
- ISO_8859_1,
- UTF_8,
- UCS_2,
- UCS_4
-};
-
-#define ic_from(x) (((x) )&0xffff)
-#define ic_to(x) (((x)>>16)&0xffff)
-
-#include <iconv.h>
diff --git a/mdk-stage1/dietlibc/dietlibm.h b/mdk-stage1/dietlibc/dietlibm.h
deleted file mode 100644
index fe735e40d..000000000
--- a/mdk-stage1/dietlibc/dietlibm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/types.h>
-
-double __poly(double x, size_t n, const double* c);
-double exp2(double x);
-double log2(double x);
diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h
deleted file mode 100644
index 2e0e93601..000000000
--- a/mdk-stage1/dietlibc/dietstdio.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* diet stdio */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include "dietfeatures.h"
-#ifdef WANT_THREAD_SAFE
-#include <pthread.h>
-#endif
-#include <stdarg.h>
-
-#ifdef WANT_SMALL_STDIO_BUFS
-#define BUFSIZE 128
-#else
-#define BUFSIZE 2048
-#endif
-
-struct __stdio_file {
- int fd;
- int flags;
- unsigned int bs; /* read: bytes in buffer */
- unsigned int bm; /* position in buffer */
- unsigned int buflen; /* length of buf */
- char *buf;
- struct __stdio_file *next; /* for fflush */
- pid_t popen_kludge;
- unsigned char ungetbuf;
- char ungotten;
-#ifdef WANT_THREAD_SAFE
- pthread_mutex_t m;
-#endif
-};
-
-#define ERRORINDICATOR 1
-#define EOFINDICATOR 2
-#define BUFINPUT 4
-#define BUFLINEWISE 8
-#define NOBUF 16
-#define STATICBUF 32
-#define FDPIPE 64
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-#include <stdio.h>
-
-/* internal function to flush buffer.
- * However, if next is BUFINPUT and the buffer is an input buffer, it
- * will not be flushed. Vice versa for output */
-extern int __fflush4(FILE *stream,int next);
-extern int __buffered_outs(const char *s,size_t len);
-
-/* ..scanf */
-struct arg_scanf {
- void *data;
- int (*getch)(void*);
- int (*putch)(int,void*);
-};
-
-int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr);
-
-struct arg_printf {
- void *data;
- int (*put)(void*,size_t,void*);
-};
-
-int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr);
-
-extern FILE *__stdio_root;
-
-int __fflush_stdin(void);
-int __fflush_stdout(void);
-int __fflush_stderr(void);
-
-FILE* __stdio_init_file(int fd,int closeonerror);
-int __stdio_parse_mode(const char *mode);
-void __stdio_flushall(void);
diff --git a/mdk-stage1/dietlibc/dietuglyweaks.h b/mdk-stage1/dietlibc/dietuglyweaks.h
deleted file mode 100644
index 4b2aa231a..000000000
--- a/mdk-stage1/dietlibc/dietuglyweaks.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __DIET_UGLY_WEAKS__
-#define __DIET_UGLY_WEAKS__
-
-/* if you change something here ... KNOW what you're doing !
- * it'll effect ALL platforms ! */
-
-.weak __thread_doexit
-__thread_doexit:
-.weak __fflush_stdin
-__fflush_stdin:
-.weak __fflush_stdout
-__fflush_stdout:
-.weak __fflush_stderr
-__fflush_stderr:
-.weak flockfile
-flockfile:
-.weak funlockfile
-funlockfile:
-.weak __nop
-__nop:
-.global __you_tried_to_link_a_dietlibc_object_against_glibc
-__you_tried_to_link_a_dietlibc_object_against_glibc:
-
-#endif
diff --git a/mdk-stage1/dietlibc/dietwarning.h b/mdk-stage1/dietlibc/dietwarning.h
deleted file mode 100644
index f7c67a175..000000000
--- a/mdk-stage1/dietlibc/dietwarning.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LINKER_WARNINGS
-
-#ifndef __ASSEMBLER__
-
-#define link_warning(symbol,msg) \
- asm (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous");
-
-#else
-
-#define link_warning(symbol,msg) \
- .section .gnu.warning.##symbol ;\
- .string msg ;\
- .previous
-
-#endif
-
-#else
-
-#define link_warning(foo,bar)
-
-#endif
diff --git a/mdk-stage1/dietlibc/dyn_start.c b/mdk-stage1/dietlibc/dyn_start.c
deleted file mode 100644
index 391797e12..000000000
--- a/mdk-stage1/dietlibc/dyn_start.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_DYNAMIC
-#include <stdlib.h>
-
-typedef void(*structor)(void);
-
-__attribute__((section(".ctors")))
-static structor __CTOR_LIST__[1]={((structor)-1)};
-
-__attribute__((section(".dtors")))
-static structor __DTOR_LIST__[1]={((structor)-1)};
-
-static void __do_global_dtors_aux(void)
-{
- structor *df=__CTOR_LIST__; /* ugly trick to prevent warning */
- for (df=((__DTOR_LIST__)+1);(*df) != (structor)0; df++) (*df)();
-}
-
-void _fini(void) __attribute__((section(".fini")));
-__attribute__((section(".fini"))) void _fini(void)
-{
- __do_global_dtors_aux();
-}
-
-#ifndef __DYN_LIB_SHARED
-/* pre main, post _start */
-int _dyn_start(int argc, char **argv, char **envp, structor dl_init);
-int _dyn_start(int argc, char **argv, char **envp, structor dl_init)
-{
- static __attribute__((section(".init"))) void _init(void);
- int main(int argc, char **argv, char **envp);
-
- if (dl_init) atexit(dl_init);
- _init();
- atexit(_fini);
- return main(argc, argv, envp);
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/dyn_stop.c b/mdk-stage1/dietlibc/dyn_stop.c
deleted file mode 100644
index 7213a8089..000000000
--- a/mdk-stage1/dietlibc/dyn_stop.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_DYNAMIC
-typedef void(*structor)(void);
-
-__attribute__((section(".ctors")))
-static structor __CTOR_END__[1]={((structor)0)};
-
-__attribute__((section(".dtors")))
-static structor __DTOR_END__[1]={((structor)0)};
-
-static void __do_global_ctors_aux(void)
-{
- structor *cf=__DTOR_END__; /* ugly trick to prevent warning */
- for(cf=((__CTOR_END__)-1); (*cf) != (structor)-1; cf--) (*cf)();
-}
-
-void _init() __attribute__((section(".init")));
-__attribute__((section(".init"))) void _init()
-{
- __do_global_ctors_aux();
-}
-#endif
diff --git a/mdk-stage1/dietlibc/findcflags.sh b/mdk-stage1/dietlibc/findcflags.sh
deleted file mode 100755
index 8b8b3d74a..000000000
--- a/mdk-stage1/dietlibc/findcflags.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-version=`${1:-gcc} -v 2>&1 |sed -n '/gcc version/ {s/gcc version //;p;}'`
-case $version in
- 2.9*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;;
- 3.0*) echo -march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2 ;;
- 3*) echo -Os -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0 -mpreferred-stack-boundary=2;;
- *) echo -O2 -pipe -fomit-frame-pointer ;;
-esac
diff --git a/mdk-stage1/dietlibc/i386/Makefile.add b/mdk-stage1/dietlibc/i386/Makefile.add
deleted file mode 100644
index 83b18ae29..000000000
--- a/mdk-stage1/dietlibc/i386/Makefile.add
+++ /dev/null
@@ -1,8 +0,0 @@
-
-M:=$(shell ./findcflags.sh $(CC))
-LIBOBJ+=$(OBJDIR)/__ten.o $(OBJDIR)/md5asm.o $(OBJDIR)/mmap64.o
-LIBMATH+=acos.o asin.o atan.o atan2.o ceil.o cos.o exp.o exp10.o exp2.o expm1.o fabs.o floor.o hypot.o log.o log10.o log2.o sin.o sqrt.o tan.o copysign.o sincos.o __half.o ldexp.o pow.o ilogb.o cbrt.o log1p.o sqrtl.o fmod.o libm2.o
-#CFLAGS+=-march=i386 -Os -fomit-frame-pointer -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mpreferred-stack-boundary=2
-CFLAGS+=$(M)
-VPATH:=i386:syscalls.s:$(VPATH)
-LIBGMON_OBJS+=$(OBJDIR)/mcount.o
diff --git a/mdk-stage1/dietlibc/i386/PIC.h b/mdk-stage1/dietlibc/i386/PIC.h
deleted file mode 100644
index 45ddeb446..000000000
--- a/mdk-stage1/dietlibc/i386/PIC.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __I386_PIC_H__
-#define __I386_PIC_H__
-#ifdef __DYN_LIB
-
-#if 1
-/* don't trash the athlon return stack */
-.text
-.Lgetpic:
- mov (%esp),%ebx
- ret
-
-.macro PIC_INIT
- call .Lgetpic
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
-.endm
-#else
-/* standard code for PIC init */
-.macro PIC_INIT
- call 0f
-0: popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-0b], %ebx
-.endm
-#endif
-
-#define PIC_SAVE pushl %ebx
-#define PIC_RESTORE popl %ebx
-
-
-/* get memory variable (var) in register (reg) */
-.macro GET_VAR var reg
- movl \var@GOT(%ebx), \reg
- movl (\reg), \reg
-.endm
-
-/* put register (reg) into memory variable (var) TRASH register (tmp) */
-.macro PUT_VAR reg var tmp
- movl \var@GOT(%ebx), \tmp
- movl \reg, (\tmp)
-.endm
-
-/* get memory variable (var) in register (reg)
- * IF no more PIC-code is needed */
-.macro GET_1VAR var reg
- PIC_SAVE
- PIC_INIT
- GET_VAR \var, \reg
- PIC_RESTORE
-.endm
-
-/* put register (reg) into memory variable (var)
- * IF no more PIC-code is needed */
-.macro PUT_1VAR reg var
- PIC_SAVE
- PIC_INIT
- PUT_VAR \reg, \var, %ebx
- PIC_RESTORE
-.endm
-
-#else
-
-#define PIC_SAVE
-#define PIC_RESTORE
-#define PIC_INIT
-
-.macro GET_VAR var reg
- movl \var, \reg
-.endm
-
-.macro PUT_VAR reg var tmp
- movl \reg, \var
-.endm
-
-.macro GET_1VAR var reg
- GET_VAR \var, \reg
-.endm
-
-.macro PUT_1VAR reg var
- PUT_VAR \reg, \var, none
-.endm
-
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/i386/__half.S b/mdk-stage1/dietlibc/i386/__half.S
deleted file mode 100644
index 6355c93e4..000000000
--- a/mdk-stage1/dietlibc/i386/__half.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Definiert Konstante (float)0.5 unter dem Namen __half
-# Wird von etlichen Funktionen benutzt (sinh, cosh, atanh)
-#
-
-.global __half
-.data
-.type __half,@object
-.size __half,4
-__half: .long 0x3f000000
diff --git a/mdk-stage1/dietlibc/i386/__longjmp.S b/mdk-stage1/dietlibc/i386/__longjmp.S
deleted file mode 100644
index a09191f0b..000000000
--- a/mdk-stage1/dietlibc/i386/__longjmp.S
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __longjmp
-.type __longjmp,@function
-__longjmp:
- movl 4(%esp), %ecx /* User's jmp_buf in %ecx. */
- movl 8(%esp), %eax /* Second argument is return value. */
- /* Save the return address now. */
- movl (JB_PC*4)(%ecx), %edx
- /* Restore registers. */
- movl (JB_BX*4)(%ecx), %ebx
- movl (JB_SI*4)(%ecx), %esi
- movl (JB_DI*4)(%ecx), %edi
- movl (JB_BP*4)(%ecx), %ebp
- movl (JB_SP*4)(%ecx), %esp
- /* Jump to saved PC. */
- jmp *%edx
-.size __longjmp,.-__longjmp;
diff --git a/mdk-stage1/dietlibc/i386/__ten.S b/mdk-stage1/dietlibc/i386/__ten.S
deleted file mode 100644
index 47b9431f4..000000000
--- a/mdk-stage1/dietlibc/i386/__ten.S
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Definiert Konstante (float)10. unter dem Namen __ten
-#
-
-.global __ten
-.data
-.type __ten,@object
-.size __ten,4
-__ten: .long 0x41200000
diff --git a/mdk-stage1/dietlibc/i386/__testandset.S b/mdk-stage1/dietlibc/i386/__testandset.S
deleted file mode 100644
index 29b02d57a..000000000
--- a/mdk-stage1/dietlibc/i386/__testandset.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.text
-.global __testandset
-.type __testandset,@function
-__testandset:
- xorl %eax, %eax
- movl 0x4(%esp),%edx
- incl %eax
- xchgl %eax,(%edx)
- ret
diff --git a/mdk-stage1/dietlibc/i386/accept.S b/mdk-stage1/dietlibc/i386/accept.S
deleted file mode 100644
index d8be36a54..000000000
--- a/mdk-stage1/dietlibc/i386/accept.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(accept,ACCEPT)
diff --git a/mdk-stage1/dietlibc/i386/acos.S b/mdk-stage1/dietlibc/i386/acos.S
deleted file mode 100644
index baabf9f04..000000000
--- a/mdk-stage1/dietlibc/i386/acos.S
+++ /dev/null
@@ -1,30 +0,0 @@
-
-.text
-
-.global acosf,acos,acosl # ,__acos
- .type acosf,@function
- .type acos,@function
- .type acosl,@function
-# .type __acos,@function
-acosf:
- flds 4(%esp)
- jmp __acos
-acosl:
- fldt 4(%esp)
- jmp __acos
-acos:
- fldl 4(%esp)
-__acos:
- fld %st
- fmul %st
- fld1
- fsubp
- fsqrt
- fxch %st(1)
- fpatan
- ret
-
-.ende:
-.size acos,.ende-acos
-.size acosf,.ende-acosf
-.size acosl,.ende-acosl
diff --git a/mdk-stage1/dietlibc/i386/acosh.S b/mdk-stage1/dietlibc/i386/acosh.S
deleted file mode 100644
index 0611c9d31..000000000
--- a/mdk-stage1/dietlibc/i386/acosh.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.global acosh
-.type acosh,@function
-
-acosh:
- fldln2
- fldl 4(%esp)
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- fsubrp %st(0),%st(1)
- fsqrt
- faddp %st(0),%st(1)
- fyl2x
- ret
-
-.Lende:
- .size acosh,.Lende-acosh
diff --git a/mdk-stage1/dietlibc/i386/asin.S b/mdk-stage1/dietlibc/i386/asin.S
deleted file mode 100644
index 7b0c31407..000000000
--- a/mdk-stage1/dietlibc/i386/asin.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-
-.global asinf,asin,asinl # ,__asin
- .type asinf,@function
- .type asin,@function
- .type asinl,@function
-# .type __asin,@function
-asinf:
- flds 4(%esp)
- jmp __asin
-asinl:
- fldt 4(%esp)
- jmp __asin
-asin:
- fldl 4(%esp)
-__asin:
- fld %st
- fmul %st
- fld1
- fsubp
- fsqrt
- fpatan
- ret
-
-.ende:
-.size asin,.ende-asin
-.size asinf,.ende-asinf
-.size asinl,.ende-asinl
diff --git a/mdk-stage1/dietlibc/i386/asinh.S b/mdk-stage1/dietlibc/i386/asinh.S
deleted file mode 100644
index 8c3964392..000000000
--- a/mdk-stage1/dietlibc/i386/asinh.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.global asinh
-.type asinh,@function
-
-asinh:
- fldln2
- fldl 4(%esp)
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- faddp %st(0),%st(1)
- fsqrt
- faddp %st(0),%st(1)
- fyl2x
- ret
-
-.Lende:
- .size asinh,.Lende-asinh
diff --git a/mdk-stage1/dietlibc/i386/atan.S b/mdk-stage1/dietlibc/i386/atan.S
deleted file mode 100644
index 76513f928..000000000
--- a/mdk-stage1/dietlibc/i386/atan.S
+++ /dev/null
@@ -1,27 +0,0 @@
-
-.text
-
-.global atanf,atan,atanl
- .type atanf,@function
- .type atan,@function
- .type atanl,@function
-atanf:
- flds 4(%esp)
- fld1
- fpatan
- ret
-atan:
- fldl 4(%esp)
- fld1
- fpatan
- ret
-atanl:
- fldt 4(%esp)
- fld1
- fpatan
- ret
-
-.ende:
-.size atan,.ende-atan
-.size atanf,.ende-atanf
-.size atanl,.ende-atanl
diff --git a/mdk-stage1/dietlibc/i386/atan2.S b/mdk-stage1/dietlibc/i386/atan2.S
deleted file mode 100644
index acf6e03ae..000000000
--- a/mdk-stage1/dietlibc/i386/atan2.S
+++ /dev/null
@@ -1,12 +0,0 @@
-
-.text
-.type atan2,@function
-.global atan2
-atan2:
- fldl 4(%esp)
- fldl 12(%esp)
- fpatan
- ret
-
-.ende:
-.size atan2,.ende-atan2
diff --git a/mdk-stage1/dietlibc/i386/atanh.S b/mdk-stage1/dietlibc/i386/atanh.S
deleted file mode 100644
index b75f0fa8e..000000000
--- a/mdk-stage1/dietlibc/i386/atanh.S
+++ /dev/null
@@ -1,19 +0,0 @@
-.text
-.global atanh
-.type atanh,@function
-
-atanh:
- fldln2
- fldl 4(%esp)
- fld1
- fld %st(1)
- fadd %st(1),%st(0)
- fxch %st(1)
- fsubp %st(0),%st(2)
- fdivp %st(0),%st(1)
- fyl2x
- fmuls __half
- ret
-
-.Lende:
- .size atanh,.Lende-atanh
diff --git a/mdk-stage1/dietlibc/i386/atol.S b/mdk-stage1/dietlibc/i386/atol.S
deleted file mode 100644
index 5bd7f2c24..000000000
--- a/mdk-stage1/dietlibc/i386/atol.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- atol.S
- i386 assembler implementation of atoi(3) & atol(3)
-*/
-
-.text
-.globl atoi
-.globl atol
-.type atoi,@function
-.type atol,@function
-
-atoi:
-atol:
- pushl %esi
- movl 0x8(%esp), %esi
- xorl %eax, %eax
- xorl %edx, %edx
- xorb %cl, %cl
-.LSpace:
- lodsb
- cmpb $0x21, %al
- jng .LSpace
- cmpb $'+', %al
- jz .Lfe5
- cmpb $'-', %al
- jnz .Lfe3
- inc %cl
- jmp .Lfe5
-.Lfe2:
- imul $0xa, %edx
- addl %eax, %edx
-.Lfe5:
- lodsb
-.Lfe3:
- cmpb $47, %al
- jng .Lout
- subb $('0'), %al
- cmpb $9, %al
- jng .Lfe2
-.Lout:
- movl %edx, %eax
- or %cl, %cl
- jz .Lreturn
- negl %eax
-.Lreturn:
- popl %esi
- ret
-.size atoi, . - atoi
-.size atol, . - atol
diff --git a/mdk-stage1/dietlibc/i386/atoll.S b/mdk-stage1/dietlibc/i386/atoll.S
deleted file mode 100644
index 093bf762a..000000000
--- a/mdk-stage1/dietlibc/i386/atoll.S
+++ /dev/null
@@ -1,64 +0,0 @@
-
-.text
-.type atoll,@function
-.global atoll
-
-atoll:
- movl 4(%esp),%ecx
- push %edi
-
- xorl %edi,%edi # sign = 0
-
- decl %ecx
-.Lspaces:
- incl %ecx # while ( isspace(*p) ) p++;
- movb (%ecx),%al
- cmpb $' ',%al
- je .Lspaces
- subb $9,%al
- cmpb $5,%al
- jc .Lspaces # c = *p - 9;
-
- cmpb $'+'-9,%al # if ( c == '+' - 9 ) p++;
- je .Lpos
- cmpb $'-'-9,%al # else if ( c == '-' - 9 ) sign = -sign, p++;
- jne .Lnosign
- decl %edi
-.Lpos: incl %ecx
-.Lnosign:
-
- push %ebx
- push %esi
- push %ebp
- movl $10,%ebp
-
- xorl %esi,%esi # Hi(value) = 0;
- xorl %eax,%eax # Lo(value) = 0;
-.Lcont: movzbl (%ecx),%ebx # while ( (unsigned) (*p - '0') < 10 )
- inc %ecx
- subl $'0',%ebx
- cmpl %ebp,%ebx
- jnc .Lfini
- imull %ebp,%esi # value *= 10,
- mull %ebp
- addl %edx,%esi
- addl %ebx,%eax # value += (*p - '0');
- adcl $0,%esi
- jmp .Lcont
-
-.Lfini: xchg %edx,%esi # return sign== 0 ? +value
- xorl %edi,%eax # sign==-1 ? -value
- xorl %edi,%edx
- subl %edi,%eax
- sbbl %edi,%edx
-
- pop %ebp
- pop %esi
- pop %ebx
- pop %edi
- ret
-
-.Lende:
-
-.size atoll,.Lende-atoll
-
diff --git a/mdk-stage1/dietlibc/i386/bind.S b/mdk-stage1/dietlibc/i386/bind.S
deleted file mode 100644
index caff9bb8b..000000000
--- a/mdk-stage1/dietlibc/i386/bind.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(bind,BIND)
diff --git a/mdk-stage1/dietlibc/i386/cbrt.S b/mdk-stage1/dietlibc/i386/cbrt.S
deleted file mode 100644
index 9d8aebd1e..000000000
--- a/mdk-stage1/dietlibc/i386/cbrt.S
+++ /dev/null
@@ -1,46 +0,0 @@
-.text
-
-tab: .byte 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4
- .byte 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9
- .byte 10,10,11,11,12,12,12,13,13,14,14,14,15,15,15,16
-
-_3: .long 0x40400000
-
-
-.global cbrt
-cbrt:
- fldl 4(%esp)
- movw 10(%esp),%ax
- movb %ah,%ch
- andw $0x7FFF,%ax
- jz zero /* cbrt(0) = 0 */
- pushl %ebx
- cwd
- movl $16*3,%ebx /* AX 3FE0 3FF0 4000 4010 */
- divw %bx /* AX 154 155 155 155 */
- /* DX 20 0 10 20 */
- shlw $5,%ax
- addb %ch,%ch
- rcrw %ax /* AX 1540 1550 1550 1550 */
- addw $0x3FF0-0x1550,%ax /* AX 3FE0 3FF0 3FF0 3FF0 */
- movw %dx,%bx
- addb tab(%ebx),%al
- adcb $0,%ah
- popl %ebx
- movw %ax,10(%esp)
- fldl 4(%esp) /* y x */
-
- movl $4,%ecx
-lop:
- fld %st(0) /* y y x */
- fmul %st(0),%st(0) /* y^2 y x */
- fdivr %st(2),%st(0) /* x/y^2 y x */
- fadd %st(1),%st(0) /* x/y^2+y y x */
- faddp /* x/y^2+2y x */
- fdivs _3 /* y' x */
- loop lop
-
- fstp %st(1) /* y' */
-zero:
- ret
-
diff --git a/mdk-stage1/dietlibc/i386/ceil.S b/mdk-stage1/dietlibc/i386/ceil.S
deleted file mode 100644
index e6a4e989c..000000000
--- a/mdk-stage1/dietlibc/i386/ceil.S
+++ /dev/null
@@ -1,44 +0,0 @@
-.text
-
-.global ceilf,ceil,ceill,__flcetr
- .type ceilf,@function
- .type ceil,@function
- .type ceill,@function
- .type __flcetr,@function
-
-ceilf:
- flds 4(%esp)
- movb $0x08,%ah
- jmp __flcetr
-
-ceill:
- fldt 4(%esp)
- movb $0x08,%ah
- jmp __flcetr
-
-ceil:
- fldl 4(%esp)
- movb $0x08,%ah
-
-# Wspolny kod dla funkcji floor, ceil i trunc
-# W ah maska bitow 11 i 10 rejestru sterowania koprocesora
-__flcetr:
- xorl %ecx,%ecx # wyzerowanie rejestru
- movb %ah,%ch # i utworzenie maski w cx
- pushl %eax # krotsze niz subl $4,%esp
- fstcw (%esp)
- movw (%esp),%ax
- andb $0x03,%ah # wyzerowanie bitow 11 i 10
- orl %ecx,%eax # ustawienie bitow z maski
- movw %ax,2(%esp)
- fldcw 2(%esp)
- frndint
- fldcw (%esp) # odtworzenie rejestru sterowania
- popl %eax # i polozenia stosu
- ret
-
-.Lende:
-.size ceil,.Lende-ceil
-.size ceill,.Lende-ceill
-.size ceilf,.Lende-ceilf
-.size flcetr,.Lende-__flcetr
diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S
deleted file mode 100644
index ea43bc2e2..000000000
--- a/mdk-stage1/dietlibc/i386/clone.S
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-#include "PIC.h"
-
-.text
-.type clone,@function
-.weak clone
-clone:
-.type __clone,@function
-.global __clone
-__clone:
- mov $-EINVAL, %eax
-
- movl 4(%esp), %ecx /* have non null thread_funcion */
- jecxz .Lclone_error
-
- movl 8(%esp), %ecx /* have non null child_stack pointer */
- jecxz .Lclone_error
-
- /* put the parameter on thread stack */
- subl $8, %ecx
-
- movl 16(%esp), %eax /* arg */
- movl %eax, 4(%ecx)
-
- movl 4(%esp), %eax /* thread_func */
- movl %eax, 0(%ecx)
-
- /* the syscall */
- pushl %ebx
- movl 16(%esp), %ebx /* flags */
- movl $__NR_clone, %eax
- int $0x80
- popl %ebx
-
- testl %eax, %eax
- jl .Lclone_error
- jne .Lreturn
-.Lstart_thread:
- xorl %ebp,%ebp
- call *%ebx
- pushl %eax
- call _exit
-
-.Lclone_error:
- negl %eax
- pushl %eax
-#ifdef PIC
- pushl %ebx
- PIC_INIT
- call __errno_location@PLT
- popl %ebx
-#else
- call __errno_location
-#endif
- popl %ecx
- movl %ecx, (%eax)
- orl $-1, %eax
-.Lreturn:
- ret
diff --git a/mdk-stage1/dietlibc/i386/connect.S b/mdk-stage1/dietlibc/i386/connect.S
deleted file mode 100644
index a295a8814..000000000
--- a/mdk-stage1/dietlibc/i386/connect.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(connect,CONNECT)
diff --git a/mdk-stage1/dietlibc/i386/copysign.S b/mdk-stage1/dietlibc/i386/copysign.S
deleted file mode 100644
index 3a495efee..000000000
--- a/mdk-stage1/dietlibc/i386/copysign.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type copysign,@function
-.global copysign
-
-# double copysign ( double value, double sign );
-
-copysign:
- movb 12+7(%esp),%al
- movb 4+7(%esp),%ah
- andw $0x7F80,%ax
- orb %ah,%al
- movb 4+7(%esp),%al
- fldl 4(%esp)
- ret
-
-.ende:
-.size copysign,.ende-copysign
diff --git a/mdk-stage1/dietlibc/i386/cos.S b/mdk-stage1/dietlibc/i386/cos.S
deleted file mode 100644
index f95c81ca7..000000000
--- a/mdk-stage1/dietlibc/i386/cos.S
+++ /dev/null
@@ -1,35 +0,0 @@
-.text
-
-.global cosf,cos,cosl
-.type cosf,@function
-.type cos,@function
-.type cosl,@function
-
-cosf:
- flds 4(%esp)
- jmp 1f
-cos:
- fldl 4(%esp)
-1:
- fcos
- fnstsw %ax
- testb $0x04, %ah
- je 3f
- fldpi
- fadd %st
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testb $0x04, %ah
- jne 2b
- fstp %st(1)
- fcos
-3: ret
-cosl:
- fldt 4(%esp)
- jmp 1b
-
-.Lende:
-.size cos,.Lende-cos
-.size cosl,.Lende-cosl
-.size cosf,.Lende-cosf
diff --git a/mdk-stage1/dietlibc/i386/cosh.S b/mdk-stage1/dietlibc/i386/cosh.S
deleted file mode 100644
index f6a33704d..000000000
--- a/mdk-stage1/dietlibc/i386/cosh.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-.type cosh,@function
-.global cosh
-
-cosh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but cosh(x) = (y + 1/y) * 0.5
-
- fld1
- fdiv %st(1),%st(0)
- faddp
- fmuls __half
- ret
-
-.Lende:
-
-.size cosh,.ende-cosh
diff --git a/mdk-stage1/dietlibc/i386/dyn_syscalls.S b/mdk-stage1/dietlibc/i386/dyn_syscalls.S
deleted file mode 100644
index c4fd2fff5..000000000
--- a/mdk-stage1/dietlibc/i386/dyn_syscalls.S
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * dynamic unified-syscalls
- * Olaf Dreesen
- */
-
-#include "../syscalls.s/environ.S"
-#include "../syscalls.s/errno.S"
-
-#include <dietfeatures.h>
-#include "syscalls.h"
-#include "PIC.h"
-
-/* ok now include all syscalls.s (*.S) and sysdep *.S */
-
-#include "mmap.S"
-
-/* here on i386 I had split them some pre- some post-unified-syscall,
- * because the jumps pre-u.s.c. have only a 1 byte displacement. the first
- * post-u.s.c. have also 1 byte dsplacement the rest a 4 byte.
- * this pre/post split saves about 250 byte of code ....
- *
- * Please put additional syscalls AFTER the post-u.s.c.
- * or try to not break the savings :) */
-
-#include "select.S"
-
-#include "../syscalls.s/fork.S"
-#include "../syscalls.s/read.S"
-#include "../syscalls.s/write.S"
-#include "../syscalls.s/open.S"
-#include "../syscalls.s/close.S"
-#include "../syscalls.s/waitpid.S"
-
-#include "../syscalls.s/getgid.S"
-#include "../syscalls.s/getpgid.S"
-#include "../syscalls.s/getpid.S"
-#include "../syscalls.s/getppid.S"
-#include "../syscalls.s/getuid.S"
-#include "../syscalls.s/kill.S"
-#include "../syscalls.s/ioctl.S"
-#include "../syscalls.s/_llseek.S"
-#include "../syscalls.s/lseek.S"
-#include "../syscalls.s/lstat.S"
-#include "../syscalls.s/lstat64.S"
-#include "../syscalls.s/mkdir.S"
-#include "../syscalls.s/mprotect.S"
-#include "../syscalls.s/nanosleep.S"
-#include "../syscalls.s/pipe.S"
-#include "../syscalls.s/poll.S"
-#include "../syscalls.s/readv.S"
-#include "../syscalls.s/stat.S"
-#include "../syscalls.s/stat64.S"
-#include "../syscalls.s/truncate.S"
-#include "../syscalls.s/umask.S"
-#include "../syscalls.s/wait4.S"
-#include "../syscalls.s/writev.S"
-#include "../syscalls.s/__getpagesize.S"
-
-/* OK this is basicaly unified.S */
-.text
-.type __unified_syscall_256,@function
-__unified_syscall_256:
- movzwl %ax, %eax
- jmp .L23
-.L22:
-.size __unified_syscall_256,.L22-__unified_syscall_256
-.type exit,@function
-.weak exit
-exit:
-.type _exit,@function
-.global _exit
-_exit:
-__exit:
- mov $__NR_exit, %al
-__unified_syscall:
- movzbl %al, %eax
-.L23:
- push %edi
- push %esi
- push %ebx
- movl %esp,%edi
- movl 0x10(%edi),%ebx
- movl 0x14(%edi),%ecx
- movl 0x18(%edi),%edx
- movl 0x1c(%edi),%esi
- movl 0x20(%edi),%edi
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
- neg %eax
-
- /* PIC-code Ohhhhh My. */
- push %eax
- PIC_INIT
- call __errno_location@PLT
- popl %ebx
- movl %ebx,(%eax)
- orl $-1,%eax
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
-#include "dietuglyweaks.h"
- ret
-
-#include "../syscalls.s/__pread.S"
-#include "../syscalls.s/__pwrite.S"
-#include "../syscalls.s/__reboot.S"
-#include "../syscalls.s/access.S"
-#include "../syscalls.s/adjtimex.S"
-#include "../syscalls.s/brk.S"
-#include "../syscalls.s/chdir.S"
-#include "../syscalls.s/chmod.S"
-#include "../syscalls.s/chown.S"
-#include "../syscalls.s/chroot.S"
-#include "../syscalls.s/dup.S"
-#include "../syscalls.s/dup2.S"
-#include "../syscalls.s/execve.S"
-#include "../syscalls.s/fchdir.S"
-#include "../syscalls.s/fchmod.S"
-#include "../syscalls.s/fchown.S"
-#include "../syscalls.s/fcntl.S"
-#include "../syscalls.s/flock.S"
-#include "../syscalls.s/fstat.S"
-#include "../syscalls.s/fstat64.S"
-#include "../syscalls.s/fstatfs.S"
-#include "../syscalls.s/fsync.S"
-#include "../syscalls.s/fdatasync.S"
-#include "../syscalls.s/ftruncate.S"
-#include "../syscalls.s/getcwd.S"
-#include "../syscalls.s/getdents.S"
-#include "../syscalls.s/getdents64.S"
-#include "../syscalls.s/getegid.S"
-#include "../syscalls.s/geteuid.S"
-#include "../syscalls.s/getgroups.S"
-#include "../syscalls.s/getitimer.S"
-#include "../syscalls.s/getpriority.S"
-#include "../syscalls.s/getresgid.S"
-#include "../syscalls.s/getresuid.S"
-#include "../syscalls.s/getrlimit.S"
-#include "../syscalls.s/getrusage.S"
-#include "../syscalls.s/getsid.S"
-#include "../syscalls.s/gettimeofday.S"
-#include "../syscalls.s/ioperm.S"
-#include "../syscalls.s/iopl.S"
-#include "../syscalls.s/ipc.S"
-#include "../syscalls.s/lchown.S"
-#include "../syscalls.s/link.S"
-#include "../syscalls.s/mknod.S"
-#include "../syscalls.s/mlock.S"
-#include "../syscalls.s/mlockall.S"
-#include "../syscalls.s/mount.S"
-#include "../syscalls.s/mremap.S"
-#include "../syscalls.s/munlockall.S"
-#include "../syscalls.s/munmap.S"
-#include "../syscalls.s/n_sigaction.S"
-#include "../syscalls.s/n_sigpending.S"
-#include "../syscalls.s/n_sigprocmask.S"
-#include "../syscalls.s/n_sigsuspend.S"
-#include "../syscalls.s/nice.S"
-#include "../syscalls.s/pause.S"
-#include "../syscalls.s/personality.S"
-#include "../syscalls.s/query_module.S"
-#include "../syscalls.s/init_module.S"
-#include "../syscalls.s/delete_module.S"
-#include "../syscalls.s/create_module.S"
-#include "../syscalls.s/readlink.S"
-#include "../syscalls.s/rename.S"
-#include "../syscalls.s/rmdir.S"
-#include "../syscalls.s/rt_sigaction.S"
-#include "../syscalls.s/rt_sigpending.S"
-#include "../syscalls.s/rt_sigprocmask.S"
-#include "../syscalls.s/rt_sigqueueinfo.S"
-#include "../syscalls.s/rt_sigsuspend.S"
-#include "../syscalls.s/rt_sigtimedwait.S"
-#include "../syscalls.s/sched_get_priority_max.S"
-#include "../syscalls.s/sched_get_priority_min.S"
-#include "../syscalls.s/sched_getparam.S"
-#include "../syscalls.s/sched_getscheduler.S"
-#include "../syscalls.s/sched_rr_get_interval.S"
-#include "../syscalls.s/sched_setparam.S"
-#include "../syscalls.s/sched_setscheduler.S"
-#include "../syscalls.s/sched_yield.S"
-#include "../syscalls.s/sendfile.S"
-#include "../syscalls.s/setdomainname.S"
-#include "../syscalls.s/setfsgid.S"
-#include "../syscalls.s/setfsuid.S"
-#include "../syscalls.s/setgid.S"
-#include "../syscalls.s/setgroups.S"
-#include "../syscalls.s/sethostname.S"
-#include "../syscalls.s/setitimer.S"
-#include "../syscalls.s/setpgid.S"
-#include "../syscalls.s/setpriority.S"
-#include "../syscalls.s/setregid.S"
-#include "../syscalls.s/setresgid.S"
-#include "../syscalls.s/setresuid.S"
-#include "../syscalls.s/setreuid.S"
-#include "../syscalls.s/setrlimit.S"
-#include "../syscalls.s/setsid.S"
-#include "../syscalls.s/setuid.S"
-#include "../syscalls.s/sigaltstack.S"
-#include "../syscalls.s/statfs.S"
-#include "../syscalls.s/stime.S"
-#include "../syscalls.s/swapoff.S"
-#include "../syscalls.s/swapon.S"
-#include "../syscalls.s/symlink.S"
-#include "../syscalls.s/sync.S"
-#include "../syscalls.s/sysctl.S"
-#include "../syscalls.s/sysinfo.S"
-#include "../syscalls.s/syslog.S"
-#include "../syscalls.s/time.S"
-#include "../syscalls.s/times.S"
-#include "../syscalls.s/umount.S"
-#include "../syscalls.s/umount2.S"
-#include "../syscalls.s/uname.S"
-#include "../syscalls.s/unlink.S"
-#include "../syscalls.s/utime.S"
-#include "../syscalls.s/vhangup.S"
-
-#include "../syscalls.s/chown32.S"
-#include "../syscalls.s/fchown32.S"
-#include "../syscalls.s/getegid32.S"
-#include "../syscalls.s/geteuid32.S"
-#include "../syscalls.s/getgid32.S"
-#include "../syscalls.s/getgroups32.S"
-#include "../syscalls.s/getresgid32.S"
-#include "../syscalls.s/getuid32.S"
-#include "../syscalls.s/lchown32.S"
-#include "../syscalls.s/setfsgid32.S"
-#include "../syscalls.s/setfsuid32.S"
-#include "../syscalls.s/setgid32.S"
-#include "../syscalls.s/setregid32.S"
-#include "../syscalls.s/setresgid32.S"
-#include "../syscalls.s/setreuid32.S"
-#include "../syscalls.s/setuid32.S"
-#include "../syscalls.s/alarm.S"
-#include "../syscalls.s/ptrace.S"
-#include "../syscalls.s/truncate64.S"
-#include "../syscalls.s/ftruncate64.S"
-#include "../syscalls.s/epoll_create.S"
-#include "../syscalls.s/epoll_ctl.S"
-#include "../syscalls.s/epoll_wait.S"
-
-#undef __PIC__
-#undef __socketcall
-/* oh what a kludge! */
-#define socketcall .Lsocketcall
-#include "../i386/send.S"
-#include "../i386/recv.S"
-#include "../i386/socket.S"
-#include "../i386/accept.S"
-#include "../i386/shutdown.S"
-#include "../i386/socketpair.S"
-#include "../i386/setsockopt.S"
-#include "../i386/sendto.S"
-#include "../i386/sendmsg.S"
-#include "../i386/recvmsg.S"
-#include "../i386/recvfrom.S"
-#include "../i386/listen.S"
-#include "../i386/getsockopt.S"
-#include "../i386/getsockname.S"
-#include "../i386/getpeername.S"
-#include "../i386/connect.S"
-#include "../i386/bind.S"
-#undef socketcall
-.Lsocketcall:
-#include "../i386/socketcall.S"
-#define __PIC__
-#undef __socketcall
-
-
-/* so now this was the last u.s.c. */
-
-/* other asm-files ... */
-#define PIC
-
-#define _exit __exit
-#include "clone.S"
-#undef _exit
-
-#include "__longjmp.S"
-#include "setjmp.S"
diff --git a/mdk-stage1/dietlibc/i386/exp.S b/mdk-stage1/dietlibc/i386/exp.S
deleted file mode 100644
index 6c82128e4..000000000
--- a/mdk-stage1/dietlibc/i386/exp.S
+++ /dev/null
@@ -1,35 +0,0 @@
-.text
-
-.global expf,exp,expl,__finexp
- .type expf,@function
- .type exp,@function
- .type expl,@function
- .type __finexp,@function
-expf:
- fldl2e
- fmuls 4(%esp)
- jmp __finexp
-expl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp __finexp
-exp:
- fldl2e
- fmull 4(%esp)
-__finexp:
- fst %st(1)
- frndint
- fst %st(2)
- fsubrp
- f2xm1
- fld1
- faddp
- fscale
- ret
-
-.Lende:
-.size exp,.Lende-exp
-.size expl,.Lende-expl
-.size expf,.Lende-expf
-.size __finexp,.Lende-__finexp
diff --git a/mdk-stage1/dietlibc/i386/exp10.S b/mdk-stage1/dietlibc/i386/exp10.S
deleted file mode 100644
index 6223e5f85..000000000
--- a/mdk-stage1/dietlibc/i386/exp10.S
+++ /dev/null
@@ -1,27 +0,0 @@
-
-.text
-.type exp10,@function
-.global exp10
-.type pow10,@function
-.global pow10
-
-
-pow10:
-exp10: # note: 10^(x) = 2^(x*log2(10))
- fldl2t
- fmull 4(%esp) # x*log2(10)
- fld %st(0) # x*log2(10) x*log2(10)
- frndint # int(x*log2(10)) x*log2(10)
- fxch # x*log2(10) int(x*log2(10))
- fsub %st(1),%st(0) # frac(x*log2(10)) int(x*log2(10))
- f2xm1 # 2^(fract(x*log2(10)))-1 int(x*log2(10))
- fld1 # 1 2^(fract(x*log2(10)))-1 int(x*log2(10))
- faddp %st(0),%st(1) # 2^(fract(x*log2(10))) int(x*log2(10))
- fscale # 2^(x*log2(10)) int(x*log2(10))
- fstp %st(1) # 2^(x*log2(10))
- ret
-
-.ende:
-
-.size exp10,.ende-exp10
-.size pow10,.ende-pow10
diff --git a/mdk-stage1/dietlibc/i386/exp2.S b/mdk-stage1/dietlibc/i386/exp2.S
deleted file mode 100644
index d5389a22e..000000000
--- a/mdk-stage1/dietlibc/i386/exp2.S
+++ /dev/null
@@ -1,18 +0,0 @@
-.text
-.type exp2,@function
-.global exp2
-exp2: # note: exp2(x) = 2^x
- fldl 4(%esp) # x
- fld %st(0) # x x
- frndint # int(x) x
- fxch # x int(x)
- fsub %st(1),%st(0) # frac(x) int(x)
- f2xm1 # 2^(fract(x))-1 int(x)
- fld1 # 1 2^(fract(x))-1 int(x)
- faddp %st(0),%st(1) # 2^(fract(x)) int(x)
- fscale # 2^x int(x)
- fstp %st(1) # 2^x
- ret
-
-.ende:
-.size exp2,.ende-exp2
diff --git a/mdk-stage1/dietlibc/i386/expm1.S b/mdk-stage1/dietlibc/i386/expm1.S
deleted file mode 100644
index 677f4723f..000000000
--- a/mdk-stage1/dietlibc/i386/expm1.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-.type expm1,@function
-.global expm1
-expm1: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fscale # 2^(x*log2(e))-2^int(x*log2(e)) int(x*log2(e))
- fxch # int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fld1 # 1 int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fscale # 2^int(x*log2(e)) int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fstp %st(1) # 2^int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fld1 # 1 2^int(x*log2(e)) 2^(x*log2(e))-2^int(x*log2(e))
- fsubrp %st(1) # 2^int(x*log2(e))-1 2^(x*log2(e))-2^int(x*log2(e))
- faddp %st(1)
- ret
-
-.ende:
-.size expm1,.ende-expm1
diff --git a/mdk-stage1/dietlibc/i386/fabs.S b/mdk-stage1/dietlibc/i386/fabs.S
deleted file mode 100644
index d9c1c2212..000000000
--- a/mdk-stage1/dietlibc/i386/fabs.S
+++ /dev/null
@@ -1,11 +0,0 @@
-
-.text
-.type fabs,@function
-.global fabs
-fabs:
- fldl 4(%esp)
- fabs
- ret
-
-.ende:
-.size fabs,.ende-fabs
diff --git a/mdk-stage1/dietlibc/i386/floor.S b/mdk-stage1/dietlibc/i386/floor.S
deleted file mode 100644
index af26d0c94..000000000
--- a/mdk-stage1/dietlibc/i386/floor.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-
-.global floorf,floor,floorl
- .type floorf,@function
- .type floor,@function
- .type floorf,@function
-
-floorf:
- flds 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-floor:
- fldl 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-floorl:
- fldt 4(%esp)
- movb $0x04,%ah
- jmp __flcetr
-
-.Lende:
-.size floor,.Lende-floor
-.size floorl,.Lende-floorl
-.size floorf,.Lende-floorf
diff --git a/mdk-stage1/dietlibc/i386/fmod.S b/mdk-stage1/dietlibc/i386/fmod.S
deleted file mode 100644
index 5bf4c06ab..000000000
--- a/mdk-stage1/dietlibc/i386/fmod.S
+++ /dev/null
@@ -1,37 +0,0 @@
-.text
-.type fmod,@function
-.type fmodf,@function
-.type fmodl,@function
-.type __fmod2pi,@function
-.global fmod, fmodl, fmodf, __fmod2pi
-
-__fmod2pi:
- fldpi
- fadd %st(0)
- fxch
- jmp .Lfmod
-
-fmodf:
- flds 8(%esp) # y
- flds 4(%esp) # x
- jmp .Lfmod
-fmod:
- fldl 12(%esp)
- fldl 4(%esp)
-.Lfmod:
- fprem
- fstsw %ax
- sahf
- jp .Lfmod
- ret
-
-fmodl:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp .Lfmod
-
-
-.ende:
-.size fmod,.ende-fmod
-.size fmodl,.ende-fmodl
-.size fmodf,.ende-fmodf
diff --git a/mdk-stage1/dietlibc/i386/getenv.S b/mdk-stage1/dietlibc/i386/getenv.S
deleted file mode 100644
index dafbf37ee..000000000
--- a/mdk-stage1/dietlibc/i386/getenv.S
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "PIC.h"
-
-.text
-.global getenv
-.type getenv,@function
-getenv:
- pushl %esi
- pushl %edi
- movl 0xc(%esp), %edi
- cld
- movl %edi, %edx
- xorl %eax, %eax
- leal -1(%eax), %ecx
- repnz scasb
- not %ecx
- dec %ecx
- pushl %ecx
- movl (%edx), %ecx
-
- GET_1VAR environ, %esi # non-PIC: movl environ, %esi
- jmp .Lloop
-
-.Lprepare:
- movl (%edx), %ecx
- movl %eax, %esi
-.Lloop:
- lodsl
- or %eax, %eax
- jz .Lout
- cmpb %cl, (%eax)
- jnz .Lloop
-
- movl %edx, %edi
- xchg %esi, %eax
- movl (%esp), %ecx
- repz cmpsb
- jne .Lprepare
- or %ecx, %ecx
- jnz .Lprepare
- cmpb $'=', (%esi)
- jne .Lprepare
- leal 0x1(%esi), %eax
-.Lout:
- popl %ecx
- popl %edi
- popl %esi
- ret
-.size getenv, . - getenv
diff --git a/mdk-stage1/dietlibc/i386/getpeername.S b/mdk-stage1/dietlibc/i386/getpeername.S
deleted file mode 100644
index 833322941..000000000
--- a/mdk-stage1/dietlibc/i386/getpeername.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getpeername,GETPEERNAME)
diff --git a/mdk-stage1/dietlibc/i386/getsockname.S b/mdk-stage1/dietlibc/i386/getsockname.S
deleted file mode 100644
index f0618481c..000000000
--- a/mdk-stage1/dietlibc/i386/getsockname.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getsockname,GETSOCKNAME)
diff --git a/mdk-stage1/dietlibc/i386/getsockopt.S b/mdk-stage1/dietlibc/i386/getsockopt.S
deleted file mode 100644
index 23d7c2470..000000000
--- a/mdk-stage1/dietlibc/i386/getsockopt.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(getsockopt,GETSOCKOPT)
diff --git a/mdk-stage1/dietlibc/i386/htonl.S b/mdk-stage1/dietlibc/i386/htonl.S
deleted file mode 100644
index f3732d16a..000000000
--- a/mdk-stage1/dietlibc/i386/htonl.S
+++ /dev/null
@@ -1,13 +0,0 @@
-.text
-.global htonl
-.type htonl,@function
-.global ntohl
-.type ntohl,@function
-
-htonl:
-ntohl:
- movl 4(%esp),%eax
- xchgb %al,%ah
- rorl $16,%eax
- xchgb %al,%ah
- ret
diff --git a/mdk-stage1/dietlibc/i386/htons.S b/mdk-stage1/dietlibc/i386/htons.S
deleted file mode 100644
index 367d6d03c..000000000
--- a/mdk-stage1/dietlibc/i386/htons.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.global htons
-.type htons,@function
-.global ntohs
-.type ntohs,@function
-
-htons:
-ntohs:
- movzwl 4(%esp),%eax
- xchgb %al,%ah
- ret
diff --git a/mdk-stage1/dietlibc/i386/hypot.S b/mdk-stage1/dietlibc/i386/hypot.S
deleted file mode 100644
index 730b2c5c9..000000000
--- a/mdk-stage1/dietlibc/i386/hypot.S
+++ /dev/null
@@ -1,15 +0,0 @@
-
-.text
-.type hypot,@function
-.global hypot
-hypot:
- fldl 4(%esp)
- fmul %st(0),%st(0)
- fldl 12(%esp)
- fmul %st(0),%st(0)
- faddp
- fsqrt
- ret
-
-.ende:
-.size hypot,.ende-hypot
diff --git a/mdk-stage1/dietlibc/i386/ilogb.S b/mdk-stage1/dietlibc/i386/ilogb.S
deleted file mode 100644
index 3bebd88ba..000000000
--- a/mdk-stage1/dietlibc/i386/ilogb.S
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# int ilogb ( double x );
-#
-# returns (int) log2 (fabs(x)) for x!=0
-# returns MIN_INT for x==0
-#
-
-.text
-.global ilogb
-.type ilogb,@function
-
-ilogb:
- movl 8(%esp),%eax
- addl %eax,%eax
- jz .Lzero
- shrl $21,%eax
- subl $1023,%eax
- ret
-
-.Lzero:
- stc
- rcrl %eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/ipow.S b/mdk-stage1/dietlibc/i386/ipow.S
deleted file mode 100644
index cca6a0ce1..000000000
--- a/mdk-stage1/dietlibc/i386/ipow.S
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# This is not standard, but often you only need such this function
-# which is much shorter than the generic pow() function.
-#
-# double ipow ( double mant, int expo );
-#
-
-.text
-.global ipow
-.type ipow,@function
-
-ipow: fld1
- movl 12(%esp),%ecx
- fldl 4(%esp)
- and %ecx,%ecx
- jns .Lstart
- negl %ecx
- fdivr %st(1),%st(0)
- jmp .Lstart
-
-.Lnext: fmul %st(0),%st(0)
-.Lstart:shrl %ecx
- jnc .Lnomul
- fmul %st(0),%st(1)
-.Lnomul:jnz .Lnext
- fcomp
- ret
diff --git a/mdk-stage1/dietlibc/i386/isleap.S b/mdk-stage1/dietlibc/i386/isleap.S
deleted file mode 100644
index 28d1ee0ce..000000000
--- a/mdk-stage1/dietlibc/i386/isleap.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.globl __isleap
-.type __isleap,@function
-
-__isleap:
- movl 4(%esp),%eax
- testb $3,%al
- jne .Lretzero
-#if 1
- movb $100,%cl /* this works only for 0 a.D. ... 25599 a.C. */
- divb %cl
- andb %ah,%ah
-#else
- cltd /* This works for 2147483648 b.C. ... 2147483647 a.C. */
- movl $100,%ecx
- divl %ecx
- andl %edx,%edx
-#endif
- jne .Lretone
- testb $3,%al
- jne .Lretzero
-.Lretone: xorl %eax,%eax
- incl %eax
- ret
-
-.Lretzero:xorl %eax,%eax
- ret
-
diff --git a/mdk-stage1/dietlibc/i386/ldexp.S b/mdk-stage1/dietlibc/i386/ldexp.S
deleted file mode 100644
index 51d9bae89..000000000
--- a/mdk-stage1/dietlibc/i386/ldexp.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.global ldexpf,ldexp,ldexpl
- .type ldexpf,@function
- .type ldexp,@function
- .type ldexpl,@function
-
-ldexpf:
- fildl 8(%esp)
- flds 4(%esp)
- fscale
- ret
-
-ldexp:
- fildl 12(%esp)
- fldl 4(%esp)
- fscale
- ret
-
-ldexpl:
- fildl 16(%esp)
- fldt 4(%esp)
- fscale
- ret
-
-.ende:
-.size ldexpl,.ende-ldexpl
-.size ldexp,ldexpl-ldexp
-.size ldexpf,ldexp-ldexpf
diff --git a/mdk-stage1/dietlibc/i386/libm2.S b/mdk-stage1/dietlibc/i386/libm2.S
deleted file mode 100644
index 91c4437cd..000000000
--- a/mdk-stage1/dietlibc/i386/libm2.S
+++ /dev/null
@@ -1,643 +0,0 @@
-.text
-#d.half:
-# .long 0x3f000000 # 1/2
-#d.log1p:
-# .long 0x3ed413cc # < sqrt(2)-1-2^(-25)
-
-.global fabsf,fabs,fabsl
- .type fabsf,@function
- .type fabs,@function
- .type fabsl,@function
-fabsf:
- flds 4(%esp)
- fabs
- ret
-fabs:
- fldl 4(%esp)
- fabs
- ret
-fabsl:
- fldt 4(%esp)
- fabs
- ret
-
-.global sincosf,sincos,sincosl
-.type sincosf,@function
-.type sincos,@function
-.type sincosl,@function
-# void sincos ( double x, double* sinx, double* cosx );
-
-sincosf:
- flds 4(%esp)
- call __fmod2pi
- movl 12(%esp),%eax
- movl 8(%esp),%ecx
- fsincos
- fstps (%eax)
- fstps (%ecx)
- ret
-sincos:
- fldl 4(%esp)
- call __fmod2pi
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- fsincos
- fstpl (%eax)
- fstpl (%ecx)
- ret
-sincosl:
- fldt 4(%esp)
- call __fmod2pi
- movl 20(%esp),%eax
- movl 16(%esp),%ecx
- fsincos
- fstpt (%eax)
- fstpt (%ecx)
- ret
-
-.global tanf,tan,tanl
-.type tanf,@function
-.type tan,@function
-.type tanl,@function
-tanf:
- flds 4(%esp)
- jmp __tan
-tan:
- fldl 4(%esp)
-__tan:
- call __fmod2pi
- fsincos
- fdivrp
- ret
-tanl:
- fldt 4(%esp)
- jmp __tan
-
-.global atan2f,atan2,atan2l
- .type atan2f,@function
- .type atan2,@function
- .type atan2l,@function
-atan2f:
- flds 4(%esp)
- flds 8(%esp)
- fpatan
- ret
-atan2l:
- fldt 4(%esp)
- fldt 16(%esp)
- fpatan
- ret
-atan2:
- fldl 4(%esp)
- fldl 12(%esp)
- fpatan
- ret
-
-.global cbrtf,cbrt,cbrtl
- .type cbrtf,@function
- .type cbrt,@function
- .type cbrtl,@function
-cbrtf:
- flds 4(%esp)
- jmp __cbrt
-cbrtl:
- fldt 4(%esp)
- jmp __cbrt
-cbrt:
- fldl 4(%esp)
-# fldt 1/3
-__cbrt:
- pushl $0x00003ffd # yes, this method of loading 1/3
- pushl $0xaaaaaaaa # is shorter than keeping the data
- pushl $0xaaaaaaab # separate
- fldt (%esp)
- addl $12,%esp
- fxch # st(0)=x, st(1)=1/3
- ftst
- fstsw %ax
- sahf
- jz 1f
- jnc finpow
- fchs
- call finpow
- fchs
-1: ret
-
-# x^y; st(0)=x, st(1)=y (x > 0)
-finpow:
- fyl2x
- jmp __finexp
-
-.global exp2f,exp2,exp2l
- .type exp2f,@function
- .type exp2,@function
- .type exp2l,@function
-exp2f:
- flds 4(%esp)
- jmp __finexp
-exp2:
- fldl 4(%esp)
- jmp __finexp
-exp2l:
- fldt 4(%esp)
- jmp __finexp
-
-.global exp10f,exp10,exp10l #,pow10f,pow10,pow10l
- .type exp10f,@function
- .type exp10,@function
- .type exp10l,@function
-# .type pow10f,@function
-# .type pow10,@function
-# .type pow10l,@function
-exp10f:
-#pow10f:
- fldl2t
- fmuls 4(%esp)
- jmp __finexp
-exp10:
-#pow10:
- fldl2t
- fmull 4(%esp)
- jmp __finexp
-exp10l:
-#pow10l:
- fldl2t
- fldt 4(%esp)
- fmulp
- jmp __finexp
-
-# exp(x)-1
-.global expm1f,expm1,expm1l
- .type expm1f,@function
- .type expm1,@function
- .type expm1l,@function
-expm1f:
- fldl2e
- fmuls 4(%esp)
- jmp finem1
-expm1l:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp finem1
-expm1:
- fldl2e
- fmull 4(%esp)
-# -1 <= st <= 1 ?
-finem1:
- fst %st(1) # st(1)=st(0)
- fabs
- fld1
- fcompp
- fstsw %ax
- sahf
-# |x| >= 1
- jc 1f
- f2xm1
- ret
-1: call __finexp
- fld1
- fsubrp
- ret
-
-# sinh(x)=(exp(x)-exp(-x))/2
-# cosh(x)=(exp(x)+exp(-x))/2
-# tanh(x)=sinh(x)/cosh(x)
-.global sinhf,sinh,sinhl
- .type sinhf,@function
- .type sinh,@function
- .type sinhl,@function
-sinhf:
- fldl2e
- fmuls 4(%esp)
- jmp finsinh
-sinh:
- fldl2e
- fmull 4(%esp)
-finsinh:
- call __finexp
- fld1
- fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x)
- fsubrp %st(0),%st(1)
- pushl $0x3f000000 # 1/2
- flds (%esp)
- popl %eax
- fmulp
- ret
-
-sinhl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp finsinh
-
-.global coshf,cosh,coshl
- .type coshf,@function
- .type cosh,@function
- .type coshl,@function
-coshf:
- fldl2e
- fmuls 4(%esp)
- jmp fincosh
-cosh:
- fldl2e
- fmull 4(%esp)
-fincosh:
- call __finexp
- fld1
- fdiv %st(1),%st(0) # st(0)=1/exp(x), st(1)=exp(x)
- faddp %st,%st(1)
- pushl $0x3f000000 # 1/2
- flds (%esp)
- popl %eax
- fmulp
- ret
-
-coshl:
- fldl2e
- fldt 4(%esp)
- fmulp
- jmp fincosh
-
-.global tanhf,tanh,tanhl
- .type tanhf,@function
- .type tanh,@function
- .type tanhl,@function
-tanhf:
- fldl2e
- fmuls 4(%esp)
- call __finexp
- jmp fintanh
-tanh:
- fldl2e
- fmull 4(%esp)
- call __finexp
-fintanh:
- fld1
- fdiv %st(1),%st # st(0)=1/exp(x), st(1)=exp(x)
- fst %st(2) # st(2)=1/exp(x)
- fadd %st(1),%st(0)
- fstp %st(3) # st(2)=exp(x)+exp(-x), st(1)=exp(-x), st(0)=exp(x)
- fsubp # st(1)=exp(x)+exp(-x), st(0)=exp(x)-exp(-x)
- fdivp
- ret
-
-tanhl:
- fldl2e
- fldt 4(%esp)
- fmulp
- call __finexp
- jmp fintanh
-
-.global hypotf,hypot,hypotl # ,__hypot
- .type hypotf,@function
- .type hypot,@function
- .type hypotl,@function
-# .type __hypot,@function
-hypotf:
- flds 8(%esp)
- flds 4(%esp)
- jmp __hypot
-hypotl:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp __hypot
-hypot:
- fldl 12(%esp)
- fldl 4(%esp)
-__hypot:
- fmul %st(0),%st(0)
- fxch
- fmul %st(0),%st(0)
- faddp
- fsqrt
- ret
-
-.global log1pf,log1p,log1pl
- .type log1pf,@function
- .type log1p,@function
- .type log1pl,@function
-log1pf:
- flds 4(%esp)
- jmp __log1p
-log1pl:
- fldt 4(%esp)
- jmp __log1p
-log1p:
- fldl 4(%esp)
-__log1p:
-# Sprawdzenie zakresu parametru
- fst %st(1)
- pushl $0x3ed413cc # sqrt(2)-1-2^(-25)
- fabs
- flds (%esp)
- popl %eax
- fcompp # porownanie
- fstsw %ax
- fldln2
- fxch
- sahf
-# |x| >= sqrt(2)-1
- jc 1f
- fyl2xp1
- ret
-1: fld1 # x = x + 1
- faddp
- fyl2x
- ret
-
-.global log10f,log10,log10l
- .type log10f,@function
- .type log10,@function
- .type log10l,@function
-log10f:
- fldlg2
- flds 4(%esp)
- fyl2x
- ret
-log10l:
- fldlg2
- fldt 4(%esp)
- fyl2x
- ret
-log10:
- fldlg2
- fldl 4(%esp)
- fyl2x
- ret
-
-.global log2f,log2,log2l
- .type log2f,@function
- .type log2,@function
- .type log2l,@function
-log2f:
- fld1
- flds 4(%esp)
- fyl2x
- ret
-log2l:
- fld1
- fldt 4(%esp)
- fyl2x
- ret
-log2:
- fld1
- fldl 4(%esp)
- fyl2x
- ret
-
-.global fmaf,fma,fmal
- .type fmaf,@function
- .type fma,@function
- .type fmal,@function
-fmaf:
- flds 4(%esp)
- fmuls 8(%esp)
- fadds 12(%esp)
- ret
-fma:
- fldl 4(%esp)
- fmull 12(%esp)
- faddl 20(%esp)
- ret
-fmal:
- fldt 4(%esp)
- fldt 16(%esp)
- fmulp %st,%st(1)
- fldt 28(%esp)
- faddp %st,%st(1)
- ret
-
-.global asinhf,asinh,asinhl
- .type asinhf,@function
- .type asinh,@function
- .type asinhl,@function
-asinhf:
- flds 4(%esp)
- jmp __asinh
-asinh:
- fldl 4(%esp)
-__asinh:
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- faddp %st(0),%st(1)
-finasch:
- fsqrt
- faddp %st(0),%st(1)
- fldln2
- fxch
- fyl2x
- ret
-asinhl:
- fldt 4(%esp)
- jmp __asinh
-
-.global acoshf,acosh,acoshl
- .type acoshf,@function
- .type acosh,@function
- .type acoshl,@function
-acoshf:
- flds 4(%esp)
- jmp __acosh
-acosh:
- fldl 4(%esp)
-__acosh:
- fld %st(0)
- fmul %st(0),%st(0)
- fld1
- fsubrp %st(0),%st(1) # st1=st1-st0; pop
- jmp finasch
-acoshl:
- fldt 4(%esp)
- jmp __acosh
-
-.global atanhf,atanh,atanhl
- .type atanhf,@function
- .type atanh,@function
- .type atanhl,@function
-atanhf:
- flds 4(%esp)
- jmp __atanh
-atanh:
- fldl 4(%esp)
-__atanh:
- fst %st(1)
- fld1 # st0=1, st1=x, st2=x
- fadd %st(0),%st(2) # st0=1, st1=x, st2=x+1
- fsubp %st(0),%st(1) # st0=1-x, st1=x+1
- fdivrp %st(0),%st(1)
- fsqrt
- fldln2
- fxch
- fyl2x
- ret
-atanhl:
- fldt 4(%esp)
- jmp __atanh
-
-.global dremf,drem,dreml
- .type dremf,@function
- .type drem,@function
- .type dreml,@function
-dremf:
- flds 8(%esp) # y
- flds 4(%esp) # x
- jmp __drem
-drem:
- fldl 12(%esp)
- fldl 4(%esp)
-__drem:
- fprem1
- fstsw %ax
- sahf
- jp __drem
- ret
-
-dreml:
- fldt 16(%esp)
- fldt 4(%esp)
- jmp __drem
-
-# |ret| = |x|, sign(ret) = sign(y)
-.global copysignf,copysign,copysignl
- .type copysignf,@function
- .type copysign,@function
- .type copysignl,@function
-copysignf:
- flds 4(%esp) # x
- flds 8(%esp) # y
- jmp __copysign
-copysign:
- fldl 4(%esp)
- fldl 12(%esp)
-__copysign:
- fmul %st(1),%st # st = x*y
- ftst
- fstsw %ax
- fincstp
- sahf
- jnc 1f
- fchs
-1: ret
-
-copysignl:
- fldt 4(%esp)
- fldt 16(%esp)
- jmp __copysign
-
-.global fdimf,fdim,fdiml
- .type fdimf,@function
- .type fdim,@function
- .type fdiml,@function
-fdimf:
- flds 4(%esp)
- fsubl 12(%esp)
- jmp __fdim
-fdim:
- fldl 4(%esp)
- fsubl 12(%esp)
-__fdim:
- fstsw %ax
- sahf
- jnc 1f
- fldz
-1: ret
-fdiml:
- fldt 4(%esp)
- fldt 16(%esp)
- fsubp
- jmp __fdim
-
-
-.global truncf,trunc,truncl
- .type truncf,@function
- .type trunc,@function
- .type truncl,@function
-
-truncf:
- flds 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-trunc:
- fldl 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-truncl:
- fldt 4(%esp)
- movb $0x0c,%ah
- jmp __flcetr
-
-.global frexpf,frexp,frexpl
- .type frexpf,@function
- .type frexp,@function
- .type frexpl,@function
-
-frexpf:
- flds 4(%esp)
- movl 8(%esp),%eax
- jmp __frexp
-
-frexp:
- fldl 4(%esp)
- movl 12(%esp),%eax
-__frexp:
- fxtract
- fxch
- fistpl (%eax)
- pushl $0x3f000000 # 1/2
- fmuls (%esp)
- incl (%eax)
- popl %eax
- ret
-
-frexpl:
- fldt 4(%esp)
- movl 16(%esp),%eax
- jmp __frexp
-
-.global logbf,logb,logbl
- .type logbf,@function
- .type logb,@function
- .type logbl,@function
-
-#logbf: flds 4(%esp)
-# fxtract
-# fxch
-# ret
-
-#logb: fldl 4(%esp)
-# fxtract
-# fxch
-# ret
-
-#logbl: fldt 4(%esp)
-# fxtract
-# fxch
-# ret
-
-.global ilogbf,ilogb,ilogbl
- .type ilogbf,@function
- .type ilogb,@function
- .type ilogbl,@function
-
-logbf:
-ilogbf: flds 4(%esp)
- jmp __ilogb
-
-logb:
-ilogb: fldl 4(%esp)
-__ilogb:
- fxtract
- pushl %eax
- fxch
- fistl (%esp)
- popl %eax
- ret
-
-logbl:
-ilogbl: fldt 4(%esp)
- jmp __ilogb
-
diff --git a/mdk-stage1/dietlibc/i386/listen.S b/mdk-stage1/dietlibc/i386/listen.S
deleted file mode 100644
index a0879be37..000000000
--- a/mdk-stage1/dietlibc/i386/listen.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(listen,LISTEN)
diff --git a/mdk-stage1/dietlibc/i386/log.S b/mdk-stage1/dietlibc/i386/log.S
deleted file mode 100644
index 0d42c9297..000000000
--- a/mdk-stage1/dietlibc/i386/log.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-
-.global logf,log,logl
- .type logf,@function
- .type log,@function
- .type logl,@function
-logf:
- fldln2
- flds 4(%esp)
- fyl2x
- ret
-logl:
- fldln2
- fldt 4(%esp)
- fyl2x
- ret
-log:
- fldln2
- fldl 4(%esp)
- fyl2x
- ret
-
-.Lende:
-.size log,.Lende-log
-.size logl,.Lende-logl
-.size logf,.Lende-logf
diff --git a/mdk-stage1/dietlibc/i386/log10.S b/mdk-stage1/dietlibc/i386/log10.S
deleted file mode 100644
index dcd08cc3f..000000000
--- a/mdk-stage1/dietlibc/i386/log10.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type log10,@function
-.global log10
-log10:
- fldlg2
- fldl 4(%esp)
- fyl2x
- ret
-
-.ende:
-.size log10,.ende-log10
diff --git a/mdk-stage1/dietlibc/i386/log1p.S b/mdk-stage1/dietlibc/i386/log1p.S
deleted file mode 100644
index 4dd2d58b4..000000000
--- a/mdk-stage1/dietlibc/i386/log1p.S
+++ /dev/null
@@ -1,12 +0,0 @@
-.text
-.type log1p,@function
-.global log1p
-log1p:
- fldln2
- fldl 4(%esp)
- fyl2xp1
- ret
-
-.ende:
-.size log1p,.ende-log1p
-
diff --git a/mdk-stage1/dietlibc/i386/log2.S b/mdk-stage1/dietlibc/i386/log2.S
deleted file mode 100644
index 80e99a8c9..000000000
--- a/mdk-stage1/dietlibc/i386/log2.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type log2,@function
-.global log2
-log2:
- fld1
- fldl 4(%esp)
- fyl2x
- ret
-
-.ende:
-.size log2,.ende-log2
diff --git a/mdk-stage1/dietlibc/i386/ltostr.S b/mdk-stage1/dietlibc/i386/ltostr.S
deleted file mode 100644
index ddf85a4f6..000000000
--- a/mdk-stage1/dietlibc/i386/ltostr.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- __ltostr.S -- convert an integer into a string
-
- %eax = dividend
- %ebx = divisor
- %ecx = size of output-buffer
- %edi = output-buffer
- %ebp = if uppercase is set, then %ebp is 'A'-10 else %ebp is 'a'-10
-
-*/
-
-.text
-.globl __ltostr
-__ltostr:
- pushl %esi
- pushl %edi # destination
- pushl %ebp
- pushl %ebx
- movl %esp, %eax
- movl 0x14(%eax), %edi
- movl 0x18(%eax), %ecx # size
- movl 0x20(%eax), %ebx # divisor
- movl 0x1c(%eax), %eax # dividend
- decl %ecx
- movl %ecx, %esi
- movl $('A'-0xa), %ebp
- xorl %edx, %edx # must be 0 -- used by idiv
- cmpl $0x0, 36(%esp) # check for uppercase
- jnz .Lnext
- addl $0x20, %ebp # set lowercase
-.Lnext:
- idiv %ebx, %eax
- cmpb $0x9, %dl
- jg .Lnext2
- addb $'0', %dl
- jmp .Lstos
-.Lnext2:
- addl %ebp, %edx
-.Lstos:
- movb %dl, (%edi, %ecx)
- xorl %edx, %edx
- decl %ecx
- jz .Lout
- orl %eax, %eax
- jnz .Lnext
-.Lout:
- cld
- movl %esi, %ebx
- leal 1(%edi, %ecx), %esi
- subl %ebx, %ecx
- negl %ecx
- movl %ecx, %eax
- repnz movsb
- movb $0x0, (%edi)
- popl %ebx
- popl %ebp
- popl %edi
- popl %esi
- ret
-.size __ltostr, . - __ltostr
diff --git a/mdk-stage1/dietlibc/i386/mcount.S b/mdk-stage1/dietlibc/i386/mcount.S
deleted file mode 100644
index 11feed5e0..000000000
--- a/mdk-stage1/dietlibc/i386/mcount.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- mcount.S
- i386 assembler implementation of mcount
-*/
-
-/* .section ".profile" */
-.text
-.globl mcount
-.type mcount,@function
-mcount:
-/*
- save all generic registers which
- might be used by __mcount, but aren't
- automatically saved
- */
- pushl %eax
- pushl %ecx
- pushl %edx
-
-/* push the instruction pointer of the calling function */
- pushl 0xc(%esp)
-
-/* push the instruction pointer of the
- function that called the calling function */
- pushl 0x4(%ebp)
-
- call __mcount
-
-/* clean up stack */
- addl $0x8, %esp
-
-/* restore the previously saved registers */
- popl %edx
- popl %ecx
- popl %eax
- ret
-
-.size mcount,.-mcount
diff --git a/mdk-stage1/dietlibc/i386/md5asm.S b/mdk-stage1/dietlibc/i386/md5asm.S
deleted file mode 100644
index a99a92934..000000000
--- a/mdk-stage1/dietlibc/i386/md5asm.S
+++ /dev/null
@@ -1,300 +0,0 @@
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-
-// #define F(x, y, z) (x & y) + (~x & z) = x&y + (z - z&x) = z + y&x - z&x
-//#define F(x, y, z) movl x,%ebx; movl x,%eax; notl %ebx; andl y,%eax; andl z,%ebx; addl %ebx,%eax
-#define F(x, y, z) movl y,%eax; movl z,%ebx; andl x,%eax; andl x,%ebx; addl z,%eax; subl %ebx,%eax
-
-// #define G(x, y, z) (x & z) + (y & ~z) = x&z + (y - y&z) = y + x&z - y&z
-#define G(x, y, z) movl z,%ebx; movl z,%eax; notl %ebx; andl x,%eax; andl y,%ebx; addl %ebx,%eax
-//#define G(x, y, z) movl x,%eax; movl y,%ebx; andl z,%eax; andl z,%ebx; addl y,%eax; subl %ebx,%eax
-//#define G(x, y, z) movl z,%eax; movl z,%ebx; andl x,%eax; andl y,%ebx; addl y,%eax; subl %ebx,%eax
-
-// #define H(x, y, z) x ^ y ^ z
-#define H(x, y, z) movl z,%eax; xorl y,%eax; xorl x,%eax
-
-// #define I(x, y, z) y ^ (x | ~z)
-#define I(x, y, z) movl z,%eax; notl %eax; orl x,%eax; xorl y,%eax
-
-
-// #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-#define ROTATE_LEFT(x, n) roll $n,x
-
-// #define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-// #define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (word)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-
-#define FF(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; F (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define GG(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; G (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define HH(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; H (b, c, d); addl %eax,a; roll $s,a; addl b,a
-#define II(a, b, c, d, x, s, ac) addl x, a; addl $ac,a; I (b, c, d); addl %eax,a; roll $s,a; addl b,a
-
-
-// // x is ecx
-// word a = state [0]; // a is edx
-// word b = state [1]; // b is esi
-// word c = state [2]; // c is edi
-// word d = state [3]; // d is ebp
-
-#define X(n) 4*(n)(%ecx)
-#define X0 (%ecx)
-#define a %edx
-#define b %esi
-#define c %edi
-#define d %ebp
-
-
-
-/* MD5 basic transformation: Transforms state based on data block */
-
-// void __MD5Transform ( word state[4], const word* x, size_t repeat )
-
-.text
-.type __MD5Transform, @function
-.align 32
-.global __MD5Transform
-
- .align 32
-.Lrepeat:
-
- /* Round 1 */
- FF (a, b, c, d, X0 , S11, 0xd76aa478); /* 1 */
- FF (d, a, b, c, X( 1), S12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, X( 2), S13, 0x242070db); /* 3 */
- FF (b, c, d, a, X( 3), S14, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, X( 4), S11, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, X( 5), S12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, X( 6), S13, 0xa8304613); /* 7 */
- FF (b, c, d, a, X( 7), S14, 0xfd469501); /* 8 */
- FF (a, b, c, d, X( 8), S11, 0x698098d8); /* 9 */
- FF (d, a, b, c, X( 9), S12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, X(10), S13, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, X(11), S14, 0x895cd7be); /* 12 */
- FF (a, b, c, d, X(12), S11, 0x6b901122); /* 13 */
- FF (d, a, b, c, X(13), S12, 0xfd987193); /* 14 */
- FF (c, d, a, b, X(14), S13, 0xa679438e); /* 15 */
- FF (b, c, d, a, X(15), S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
- GG (a, b, c, d, X( 1), S21, 0xf61e2562); /* 17 */
- GG (d, a, b, c, X( 6), S22, 0xc040b340); /* 18 */
- GG (c, d, a, b, X(11), S23, 0x265e5a51); /* 19 */
- GG (b, c, d, a, X0 , S24, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, X( 5), S21, 0xd62f105d); /* 21 */
- GG (d, a, b, c, X(10), S22, 0x02441453); /* 22 */
- GG (c, d, a, b, X(15), S23, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, X( 4), S24, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, X( 9), S21, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, X(14), S22, 0xc33707d6); /* 26 */
- GG (c, d, a, b, X( 3), S23, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, X( 8), S24, 0x455a14ed); /* 28 */
- GG (a, b, c, d, X(13), S21, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, X( 2), S22, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, X( 7), S23, 0x676f02d9); /* 31 */
- GG (b, c, d, a, X(12), S24, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- HH (a, b, c, d, X( 5), S31, 0xfffa3942); /* 33 */
- HH (d, a, b, c, X( 8), S32, 0x8771f681); /* 34 */
- HH (c, d, a, b, X(11), S33, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, X(14), S34, 0xfde5380c); /* 36 */
- HH (a, b, c, d, X( 1), S31, 0xa4beea44); /* 37 */
- HH (d, a, b, c, X( 4), S32, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, X( 7), S33, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, X(10), S34, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, X(13), S31, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, X0 , S32, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, X( 3), S33, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, X( 6), S34, 0x04881d05); /* 44 */
- HH (a, b, c, d, X( 9), S31, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, X(12), S32, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, X(15), S33, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, X( 2), S34, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- II (a, b, c, d, X0 , S41, 0xf4292244); /* 49 */
- II (d, a, b, c, X( 7), S42, 0x432aff97); /* 50 */
- II (c, d, a, b, X(14), S43, 0xab9423a7); /* 51 */
- II (b, c, d, a, X( 5), S44, 0xfc93a039); /* 52 */
- II (a, b, c, d, X(12), S41, 0x655b59c3); /* 53 */
- II (d, a, b, c, X( 3), S42, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, X(10), S43, 0xffeff47d); /* 55 */
- II (b, c, d, a, X( 1), S44, 0x85845dd1); /* 56 */
- II (a, b, c, d, X( 8), S41, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, X(15), S42, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, X( 6), S43, 0xa3014314); /* 59 */
- II (b, c, d, a, X(13), S44, 0x4e0811a1); /* 60 */
- II (a, b, c, d, X( 4), S41, 0xf7537e82); /* 61 */
- II (d, a, b, c, X(11), S42, 0xbd3af235); /* 62 */
- II (c, d, a, b, X( 2), S43, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, X( 9), S44, 0xeb86d391); /* 64 */
-
-// state [0] += a;
-// state [1] += b;
-// state [2] += c;
-// state [3] += d;
-
- addl $64,%ecx
-
- movl 4+32(%esp),%eax // state
- addl (%eax),a
- addl 4(%eax),b
- addl 8(%eax),c
- addl 12(%eax),d
- movl a, (%eax)
- movl b, 4(%eax)
- movl c, 8(%eax)
- movl d,12(%eax)
-
-.Lstart:
- decl 12+32(%esp)
- jns .Lrepeat
-
- popal
- ret
-
-__MD5Transform:
-__MD5TransformLocal:
- pushal
- movl 8+32(%esp),%ecx // x
- movl 4+32(%esp),%eax // state
- movl (%eax),a
- movl 4(%eax),b
- movl 8(%eax),c
- movl 12(%eax),d
- jmp .Lstart
-
-.Lende:
-.size __MD5Transform, .Lende-__MD5Transform
-
-.type MD5Init,@function
-.global MD5Init
-
-MD5Init:
- movl 4(%esp), %ecx
- xorl %eax,%eax
- movl $0x67452301, (%ecx)
- movl $0xefcdab89, 4(%ecx)
- movl $0x98badcfe, 8(%ecx)
- movl $0x10325476, 12(%ecx)
- movl %eax, 16(%ecx)
- movl %eax, 20(%ecx)
- ret
-
-
-.global MD5Update
-.type MD5Update,@function
-
-
-// void MD5Update ( MD5_CTX* context, const byte* input, size_t inputBytes )
-
-#define CONTEXT 4+32(%esp)
-#define INPUT 8+32(%esp)
-#define INPUTBYTES 12+32(%esp)
-
-#define COUNT 16(%ebx)
-#define BUFFER 24(%ebx)
-
-
-MD5Update:
- pushal
- cld
- movl CONTEXT, %ebx
-
-// ByteIndex = (context->count[0] >> 3) & 0x3F;
-
- movl COUNT, %ebp
- shrl $3, %ebp
- andl $63,%ebp // ebp = ByteIndex
-
-// if ( (context->count[0] += inputBytes << 3 ) < (inputBytes << 3) )
-// context->count[1]++;
-// context->count[1] += inputBytes >> (32-3);
-
- movl $8, %eax
- mull INPUTBYTES
- addl %eax, 0+COUNT
- adcl %edx, 4+COUNT
-
-// partLen = 64 - ByteIndex;
-
- movl $64, %eax
- subl %ebp, %eax // eax = partLen
-
-// i = 0;
-// if ( partLen <= inputBytes ) {
-
- xorl %ecx,%ecx // ecx = i
- cmpl INPUTBYTES, %eax
- ja .Lende2
-
-// memcpy ( context->buffer + ByteIndex, input, partLen );
-
- leal 24(%ebx,%ebp,1), %edi
- movl INPUT, %esi
- movl %eax, %ecx
- rep movsb
-
-// MD5Transform ( context->state, context->buffer, 1 );
-
- pushl $1
- leal BUFFER, %ecx
- pushl %ecx
- push %ebx
- call __MD5TransformLocal
-
-// len = (inputBytes - partLen) / 64;
-
- movl 12+INPUTBYTES, %ecx
- subl %eax, %ecx
- shrl $6, %ecx
-
-// MD5Transform ( context->state, input+partLen, len );
-
- pushl %ecx
- pushl %esi
- pushl %ebx
- call __MD5TransformLocal
- addl $24,%esp
-
-// i = partLen + 64 * len;
-// ByteIndex = 0;
-
- shll $6, %ecx
- addl %eax, %ecx
- xorl %ebp, %ebp
-
-.Lende2:
-
-// }
-// memcpy ( context->buffer + ByteIndex, input + i, inputBytes - i );
-
- movl INPUT, %esi
- addl %ecx, %esi
-
- negl %ecx
- addl INPUTBYTES, %ecx
-
- leal 24(%ebx,%ebp,1), %edi
- rep movsb
-
- popal
- ret
-
-
diff --git a/mdk-stage1/dietlibc/i386/memccpy.S b/mdk-stage1/dietlibc/i386/memccpy.S
deleted file mode 100644
index 0b7dce49e..000000000
--- a/mdk-stage1/dietlibc/i386/memccpy.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- memccpy.S
- i386 assembler implementation of memccpy(3)
-*/
-
-.text
-.global memccpy
-.type memccpy,@function
-memccpy:
- pushl %esi
- pushl %edi
-
- movl %esp, %ecx
- movl 0x0c(%ecx), %edi
- movl 0x10(%ecx), %esi
- movb 0x14(%ecx), %dl
- movl 0x18(%ecx), %ecx
- cld
-.Lloop:
- lodsb
- stosb
- cmp %al, %dl
- jz .Lout
- decl %ecx
- jnz .Lloop
- xorl %edi, %edi
-.Lout:
- movl %edi, %eax
- popl %edi
- popl %esi
- ret
-.Lende:
-.size memccpy,.Lende-memccpy
diff --git a/mdk-stage1/dietlibc/i386/memchr.S b/mdk-stage1/dietlibc/i386/memchr.S
deleted file mode 100644
index 7d04f990b..000000000
--- a/mdk-stage1/dietlibc/i386/memchr.S
+++ /dev/null
@@ -1,24 +0,0 @@
-.text
-.align 0
-.global memchr
-.type memchr,@function
-memchr:
- pushl %edi
- movl 8(%esp),%edi
- movl 12(%esp),%eax
- movl 16(%esp),%ecx
- cld
- jecxz .Lnotfound
-
- repne scasb
-
- je .Lfound
-.Lnotfound:
- xorl %edi, %edi
- incl %edi
-.Lfound:
- movl %edi, %eax
- decl %eax
-
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/memcmp.S b/mdk-stage1/dietlibc/i386/memcmp.S
deleted file mode 100644
index aa6d55f23..000000000
--- a/mdk-stage1/dietlibc/i386/memcmp.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.text
-.align 0
-.global memcmp
-.type memcmp,@function
-memcmp:
- xorl %eax,%eax
- orl 12(%esp),%eax
- jz .Lempty
- pushl %esi
- pushl %edi
- movl 12(%esp),%esi
- movl 16(%esp),%edi
- movl %eax,%ecx
-
- rep cmpsb
-
- decl %esi
- decl %edi
- lodsb
- subb (%edi), %al
- movsx %al, %eax
-
- popl %edi
- popl %esi
-.Lempty:
- ret
diff --git a/mdk-stage1/dietlibc/i386/memcpy.S b/mdk-stage1/dietlibc/i386/memcpy.S
deleted file mode 100644
index cbe74459f..000000000
--- a/mdk-stage1/dietlibc/i386/memcpy.S
+++ /dev/null
@@ -1,16 +0,0 @@
-.text
-.align 0
-.global memcpy
-.type memcpy,@function
-memcpy:
- pushl %esi
- pushl %edi
- movl 12(%esp),%edi
- movl 16(%esp),%esi
- movl 20(%esp),%ecx
- movl %edi, %eax
- cld
- rep movsb
- popl %edi
- popl %esi
- ret
diff --git a/mdk-stage1/dietlibc/i386/memset.S b/mdk-stage1/dietlibc/i386/memset.S
deleted file mode 100644
index 472390b84..000000000
--- a/mdk-stage1/dietlibc/i386/memset.S
+++ /dev/null
@@ -1,15 +0,0 @@
-.text
-.align 0
-.global memset
-.type memset,@function
-memset:
- pushl %edi
- movl 8(%esp),%edi
- movl 12(%esp),%eax
- movl 16(%esp),%ecx
- cld
- pushl %edi
- rep stosb
- popl %eax
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/mmap.S b/mdk-stage1/dietlibc/i386/mmap.S
deleted file mode 100644
index c824aa037..000000000
--- a/mdk-stage1/dietlibc/i386/mmap.S
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global mmap
-.type mmap,@function
-mmap:
- mov $__NR_mmap,%al
- lea 0x4(%esp,1),%edx
- push %edx
- call __unified_syscall
- pop %ecx
- ret
-.Lende3:
-.size mmap,.Lende3-mmap
diff --git a/mdk-stage1/dietlibc/i386/mmap.c b/mdk-stage1/dietlibc/i386/mmap.c
deleted file mode 100644
index 26ecb55c0..000000000
--- a/mdk-stage1/dietlibc/i386/mmap.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.h>
-
-#define __NR__mmap __NR_mmap
-_syscall1(int,_mmap,unsigned long *,buffer)
-
-char *mmap(char *addr, size_t len, int prot, int flags, int fd, unsigned long off) {
- unsigned long buffer[6];
- buffer[0] = (unsigned long)addr;
- buffer[1] = (unsigned long)len;
- buffer[2] = (unsigned long)prot;
- buffer[3] = (unsigned long)flags;
- buffer[4] = (unsigned long)fd;
- buffer[5] = (unsigned long)off;
- return (char*) _mmap(buffer);
-}
diff --git a/mdk-stage1/dietlibc/i386/mmap64.S b/mdk-stage1/dietlibc/i386/mmap64.S
deleted file mode 100644
index 421325260..000000000
--- a/mdk-stage1/dietlibc/i386/mmap64.S
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <dietfeatures.h>
-#include <syscalls.h>
-#include <errno.h>
-
-#ifdef __DYN_LIB
-#ifndef WANT_THREAD_SAFE
-#define WANT_THREAD_SAFE
-#endif
-#endif
-
-.text
-.global mmap64
-.type mmap64,@function
-mmap64:
-/* man is this ugly! */
- push %ebp
- push %edi
- push %esi
- push %ebx
- movl %esp, %edi
- movl 0x28(%edi), %eax
- movl 0x2c(%edi), %edx
- testl $0xfff, %eax /* offset in pages */
- jnz .Leinval
- shrdl $12, %edx, %eax
- shrl $12, %edx
- jnz .Leinval
- movl %eax, %ebp
- movl 0x14(%edi),%ebx
- movl 0x18(%edi),%ecx
- movl 0x1c(%edi),%edx
- movl 0x20(%edi),%esi
- movl 0x24(%edi),%edi
- movl $__NR_mmap2,%eax
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
- neg %eax
-.Lerror:
-#ifdef WANT_THREAD_SAFE
- movl %eax,%ebx
-#ifdef __DYN_LIB
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- movl %ebx,(%eax)
- orl $-1,%eax
-#else
- mov %eax,errno
- sbb %eax,%eax # eax = eax - eax - CY = -1
-#endif
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
- pop %ebp
- ret
-.Leinval:
- movl $EINVAL,%eax
- jmp .Lerror
-.Lende2:
-.size mmap64,.Lende2-mmap64
diff --git a/mdk-stage1/dietlibc/i386/poly.S b/mdk-stage1/dietlibc/i386/poly.S
deleted file mode 100644
index d8be7d7f5..000000000
--- a/mdk-stage1/dietlibc/i386/poly.S
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.text
-.global __poly
-.type __poly,@function
-
-
-#
-# double __poly ( double x, int n, const double* c );
-#
-
-__poly:
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- leal (%eax,%ecx,8),%eax
- fldl 4(%esp)
- fldz
-.Lloop:
- fmul %st(1),%st(0)
- faddl (%eax)
- addl $-8,%eax
- decl %ecx
- jns .Lloop
- fstp %st(1)
- ret
diff --git a/mdk-stage1/dietlibc/i386/pow.S b/mdk-stage1/dietlibc/i386/pow.S
deleted file mode 100644
index 46562a299..000000000
--- a/mdk-stage1/dietlibc/i386/pow.S
+++ /dev/null
@@ -1,67 +0,0 @@
-.text
-.global pow
-.type pow,@function
-
-# pow(x,y)
-.global powf,pow,powl
- .type powf,@function
- .type pow,@function
- .type powl,@function
-powf:
- flds 4(%esp) # x
- flds 8(%esp) # y
- jmp .L__pow
-powl:
- fldt 4(%esp)
- fldt 16(%esp)
- jmp .L__pow
-pow:
- fldl 4(%esp)
- fldl 12(%esp)
-# x^y; st(0)=y, st(1)=x
-.L__pow:
- ftst # y = 0 ?
- fstsw %ax
- fld1 # st(0)=1, st(1)=y, st(2)=x
- sahf
- jz 1f # return 1
- fcomp %st(1) # y = 1 ?
- fstsw %ax
- fxch # st(0)=x, st(1)=y
- sahf
- jz 1f # return x
- ftst # x = 0 ?
- fstsw %ax
- sahf
- jz 1f
- jnc .Lfinpow # x > 0
- fxch # st(0)=y, st(1)=x
- fld %st(0) # st(0)=y, st(1)=y, st(2)=x
- frndint # st(0)=int(y)
- fcomp %st(1) # y = int(y)?
- fstsw %ax
- fxch
- sahf
- jnz .Lfinpow # fyl2x -> st(0) = NaN
-# y even or odd ?
- fld1
- fadd %st(0) # st(0) = 2
- fdivr %st(2),%st(0) # st(0)=st(2)/2
- frndint
- fadd %st(0),%st(0)
- fcomp %st(2) # st(0) = x, st(1) = y
- fstsw %ax
- fchs # st(0) = -x
- sahf
- jz .Lfinpow # y even
- call .Lfinpow # y odd
- fchs
-1: ret
-.Lfinpow:
- fyl2x
- jmp __finexp
-
-.Lende:
-.size pow,.Lende-pow
-.size powf,.Lende-powf
-.size powl,.Lende-powl
diff --git a/mdk-stage1/dietlibc/i386/recv.S b/mdk-stage1/dietlibc/i386/recv.S
deleted file mode 100644
index 215343ccc..000000000
--- a/mdk-stage1/dietlibc/i386/recv.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recv,RECV)
diff --git a/mdk-stage1/dietlibc/i386/recvfrom.S b/mdk-stage1/dietlibc/i386/recvfrom.S
deleted file mode 100644
index a9dde840d..000000000
--- a/mdk-stage1/dietlibc/i386/recvfrom.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recvfrom,RECVFROM)
diff --git a/mdk-stage1/dietlibc/i386/recvmsg.S b/mdk-stage1/dietlibc/i386/recvmsg.S
deleted file mode 100644
index cb26e2f08..000000000
--- a/mdk-stage1/dietlibc/i386/recvmsg.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(recvmsg,RECVMSG)
diff --git a/mdk-stage1/dietlibc/i386/rint.S b/mdk-stage1/dietlibc/i386/rint.S
deleted file mode 100644
index f56ab1f93..000000000
--- a/mdk-stage1/dietlibc/i386/rint.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-
-.global rintf,rint,rintl
- .type rintf,@function
- .type rint,@function
- .type rintl,@function
-rintf:
- flds 4(%esp)
- frndint
- ret
-rint:
- fldl 4(%esp)
- frndint
- ret
-rintl:
- fldt 4(%esp)
- frndint
- ret
-
-.Lende:
-.size rint,.Lende-rint
-.size rintl,.Lende-rintl
-.size rintf,.Lende-rintf
diff --git a/mdk-stage1/dietlibc/i386/select.S b/mdk-stage1/dietlibc/i386/select.S
deleted file mode 100644
index 9e7066eae..000000000
--- a/mdk-stage1/dietlibc/i386/select.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(_newselect,select,__libc_select)
diff --git a/mdk-stage1/dietlibc/i386/send.S b/mdk-stage1/dietlibc/i386/send.S
deleted file mode 100644
index f2dd7e3d5..000000000
--- a/mdk-stage1/dietlibc/i386/send.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(send,SEND)
diff --git a/mdk-stage1/dietlibc/i386/sendmsg.S b/mdk-stage1/dietlibc/i386/sendmsg.S
deleted file mode 100644
index 484d62e50..000000000
--- a/mdk-stage1/dietlibc/i386/sendmsg.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(sendmsg,SENDMSG)
diff --git a/mdk-stage1/dietlibc/i386/sendto.S b/mdk-stage1/dietlibc/i386/sendto.S
deleted file mode 100644
index 04270f0f0..000000000
--- a/mdk-stage1/dietlibc/i386/sendto.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(sendto,SENDTO)
diff --git a/mdk-stage1/dietlibc/i386/setjmp.S b/mdk-stage1/dietlibc/i386/setjmp.S
deleted file mode 100644
index 09b266c61..000000000
--- a/mdk-stage1/dietlibc/i386/setjmp.S
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <setjmp.h>
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.globl __setjmp
-.type __setjmp,@function
-__setjmp:
- popl %eax
- popl %ecx
- pushl $0
- pushl %ecx
- pushl %eax
-
-.globl __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- movl 4(%esp), %eax
-
- /* Save registers. */
- movl %ebx, (JB_BX*4)(%eax)
- movl %esi, (JB_SI*4)(%eax)
- movl %edi, (JB_DI*4)(%eax)
- movl %ebp, (JB_BP*4)(%eax)
- leal 4(%esp), %edx /* Save SP as it will be after we return. */
- movl 0(%esp), %ecx /* Save PC we are returning to now. */
- movl %edx, (JB_SP*4)(%eax)
- movl %ecx, (JB_PC*4)(%eax)
-
- /* Make a tail call to __sigjmp_save; it takes the same args. */
-#ifdef PIC
- call 1f
- addl $_GLOBAL_OFFSET_TABLE_, %ecx
- jmp *__sigjmp_save@GOT(%ecx)
-1: movl (%esp), %ecx
- ret
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
diff --git a/mdk-stage1/dietlibc/i386/setsockopt.S b/mdk-stage1/dietlibc/i386/setsockopt.S
deleted file mode 100644
index 6a81aec82..000000000
--- a/mdk-stage1/dietlibc/i386/setsockopt.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(setsockopt,SETSOCKOPT)
diff --git a/mdk-stage1/dietlibc/i386/shutdown.S b/mdk-stage1/dietlibc/i386/shutdown.S
deleted file mode 100644
index f9dc707e8..000000000
--- a/mdk-stage1/dietlibc/i386/shutdown.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(shutdown,SHUTDOWN)
diff --git a/mdk-stage1/dietlibc/i386/sin.S b/mdk-stage1/dietlibc/i386/sin.S
deleted file mode 100644
index 404bf5eed..000000000
--- a/mdk-stage1/dietlibc/i386/sin.S
+++ /dev/null
@@ -1,34 +0,0 @@
-
-.text
-
-.global sinf,sin,sinl
-.type sinf,@function
-.type sin,@function
-.type sinl,@function
-sinf:
- flds 4(%esp)
- jmp 1f
-sin:
- fldl 4(%esp)
-1: fsin
- fnstsw %ax
- testb $0x04, %ah
- je 3f
- fldpi
- fadd %st
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testb $0x04, %ah
- jne 2b
- fstp %st(1)
- fsin
-3: ret
-sinl:
- fldt 4(%esp)
- jmp 1b
-
-.ende:
-.size sin,.ende-sin
-.size sinf,.ende-sinf
-.size sinl,.ende-sinl
diff --git a/mdk-stage1/dietlibc/i386/sincos.S b/mdk-stage1/dietlibc/i386/sincos.S
deleted file mode 100644
index 7395075f3..000000000
--- a/mdk-stage1/dietlibc/i386/sincos.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type sincos,@function
-.global sincos
-
-# void sincos ( double x, double* sinx, double* cosx );
-
-sincos:
- fldl 4(%esp)
- fsincos
- movl 16(%esp),%eax
- movl 12(%esp),%ecx
- fstpl (%eax)
- fstpl (%ecx)
- ret
-
-.ende:
-.size sincos,.ende-sincos
diff --git a/mdk-stage1/dietlibc/i386/sinh.S b/mdk-stage1/dietlibc/i386/sinh.S
deleted file mode 100644
index 98f7ee752..000000000
--- a/mdk-stage1/dietlibc/i386/sinh.S
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.text
-.type sinh,@function
-.global sinh
-
-sinh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but sinh(x) = (y - 1/y) * 0.5
-
- fld1
- fdiv %st(1),%st(0)
- fsubrp
- fmuls __half
- ret
-
-.Lende:
-
-.size sinh,.ende-sinh
diff --git a/mdk-stage1/dietlibc/i386/sleep.S b/mdk-stage1/dietlibc/i386/sleep.S
deleted file mode 100644
index 356552dc2..000000000
--- a/mdk-stage1/dietlibc/i386/sleep.S
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "PIC.h"
-
-.text
-.global sleep
-.type sleep,@function
-
-sleep:
- movl 4(%esp),%eax # Argument holen
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- pushl $0 # 0 ns
- pushl %eax # 'x' µs warten
- movl %esp,%eax
- pushl %eax # zweimal ein Zeiger auf das Stackobjekt
- pushl %eax # ptr ptr sec nsec return arg
-#ifdef __DYN_LIB
- call nanosleep@PLT
-#else
- call nanosleep
-#endif
- movl 20(%esp),%eax # 'x' holen
- subl 8(%esp),%eax # schon abgelaufende Zeit subtrahieren
- addl $16,%esp
- PIC_RESTORE # non-PIC: empty line
- ret
diff --git a/mdk-stage1/dietlibc/i386/socket.S b/mdk-stage1/dietlibc/i386/socket.S
deleted file mode 100644
index bc8cbe536..000000000
--- a/mdk-stage1/dietlibc/i386/socket.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(socket,SOCKET)
diff --git a/mdk-stage1/dietlibc/i386/socketcall.S b/mdk-stage1/dietlibc/i386/socketcall.S
deleted file mode 100644
index 4e8019ec2..000000000
--- a/mdk-stage1/dietlibc/i386/socketcall.S
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <syscalls.h>
-
-.text
-.global socketcall
-.type socketcall,@function
-socketcall:
- leal 4(%esp), %ecx
- pushl %ecx
- movzbl %al,%eax
- pushl %eax
- movb $__NR_socketcall,%al
- call __unified_syscall
- popl %ecx
- popl %ecx
- retl
-.Lende:
-.size socketcall,.Lende-socketcall
diff --git a/mdk-stage1/dietlibc/i386/socketpair.S b/mdk-stage1/dietlibc/i386/socketpair.S
deleted file mode 100644
index a5de65f25..000000000
--- a/mdk-stage1/dietlibc/i386/socketpair.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linuxnet.h>
-#include <syscalls.h>
-
-__socketcall(socketpair,SOCKETPAIR)
diff --git a/mdk-stage1/dietlibc/i386/sqrt.S b/mdk-stage1/dietlibc/i386/sqrt.S
deleted file mode 100644
index 5e4527612..000000000
--- a/mdk-stage1/dietlibc/i386/sqrt.S
+++ /dev/null
@@ -1,23 +0,0 @@
-.text
-
-.global sqrtf,sqrt,sqrtl
- .type sqrtf,@function
- .type sqrt,@function
- .type sqrtl,@function
-sqrtf:
- flds 4(%esp)
- fsqrt
- ret
-sqrt:
- fldl 4(%esp)
- fsqrt
- ret
-sqrtl:
- fldt 4(%esp)
- fsqrt
- ret
-
-.ende:
-.size sqrt,.ende-sqrt
-.size sqrtf,.ende-sqrtf
-.size sqrtl,.ende-sqrtl
diff --git a/mdk-stage1/dietlibc/i386/sqrtl.S b/mdk-stage1/dietlibc/i386/sqrtl.S
deleted file mode 100644
index c1a931fd8..000000000
--- a/mdk-stage1/dietlibc/i386/sqrtl.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.type sqrtl,@function
-.global sqrtl
-sqrtl:
- fldt 4(%esp)
- fsqrt
- ret
-
-.ende:
-.size sqrtl,.ende-sqrtl
-
diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S
deleted file mode 100644
index 1a825fc2a..000000000
--- a/mdk-stage1/dietlibc/i386/start.S
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "dietfeatures.h"
-#include "PIC.h"
-
-.text
-.global _start
-_start:
-#if 1
- popl %ecx /* %ecx = argc */
- movl %esp,%esi /* %esi = argv */
- pushl %ecx
-#else
- movl (%esp),%ecx /* %ecx = argc */
- leal 4(%esp),%esi /* %esi = argv */
-#endif
- leal 4(%esi,%ecx,4),%eax /* %eax = envp = (4*ecx)+%esi+4 */
-
-#ifdef WANT_DYNAMIC
-/* in %edx we have the ld.so dynamic _fini ( register this if non null ) */
- push %edx
-#endif
-
- pushl %eax
- pushl %esi
- pushl %ecx
- PIC_INIT /* non-PIC: this is an empty line */
- PUT_VAR %eax, environ, %ecx /* non-PIC: movl %eax,environ */
-
-#ifdef PROFILING
- pushl $_etext
- pushl $.text
- call monitor
- addl $0x8, %esp
-#endif
-
-#ifdef WANT_DYNAMIC
- call _dyn_start
-#else
- call main
-#endif
-
-#ifdef PROFILING
- pushl %eax
- call _stop_monitor
- popl %eax
-#endif
- pushl %eax
- call exit
- hlt /* die now ! will ya ... */
-.Lstart:
- .size _start,.Lstart-_start
-
diff --git a/mdk-stage1/dietlibc/i386/stpcpy.S b/mdk-stage1/dietlibc/i386/stpcpy.S
deleted file mode 100644
index 1cb74b2ea..000000000
--- a/mdk-stage1/dietlibc/i386/stpcpy.S
+++ /dev/null
@@ -1,22 +0,0 @@
-.text
-.global stpcpy
-.type stpcpy,@function
-stpcpy:
- pushl %edi
- pushl %esi
- movl 0xc(%esp), %edi
- movl 0x10(%esp), %esi
-
-.Lcopy:
- lodsb
- stosb
- testb %al, %al
- jnz .Lcopy
-
- movl %edi, %eax
- decl %eax
- popl %esi
- popl %edi
- ret
-.Lende:
-.size stpcpy,.Lende-stpcpy
diff --git a/mdk-stage1/dietlibc/i386/strcasecmp.S b/mdk-stage1/dietlibc/i386/strcasecmp.S
deleted file mode 100644
index a836680db..000000000
--- a/mdk-stage1/dietlibc/i386/strcasecmp.S
+++ /dev/null
@@ -1,31 +0,0 @@
-.text
-.globl strcasecmp
-
-strcasecmp:
- pushl %esi
- movl 0x8(%esp), %esi
- movl 0xc(%esp), %edx
- xorl %eax, %eax
- xorl %ecx, %ecx
- cld
-.Lloop:
- lodsb
- movb (%edx), %cl
- incl %edx
- or %al, %al
- jz .Lfinifirst
- cmp $'A', %al
- jnge .Lcmp
- cmp $'z', %al
- jg .Lcmp
- or $0x20, %al
- or $0x20, %cl
-.Lcmp:
- subl %ecx, %eax
- jz .Lloop
-.Lret:
- popl %esi
- ret
-.Lfinifirst:
- subl %ecx, %eax
- jmp .Lret
diff --git a/mdk-stage1/dietlibc/i386/strcat.S b/mdk-stage1/dietlibc/i386/strcat.S
deleted file mode 100644
index e7d74ef13..000000000
--- a/mdk-stage1/dietlibc/i386/strcat.S
+++ /dev/null
@@ -1,29 +0,0 @@
-.text
-.align 0
-.global strcat
-.type strcat,@function
-strcat:
- pushl %edi
- pushl %esi
-
- movl 12(%esp), %edi
- movl 16(%esp), %esi
-
- pushl %edi
-
- xorl %eax, %eax
- xorl %ecx, %ecx
- decl %ecx
- repne scasb
- decl %edi
-
-.Lloop:
- lodsb
- stosb
- testb %al, %al
- jnz .Lloop
-
- popl %eax
- popl %esi
- popl %edi
- ret
diff --git a/mdk-stage1/dietlibc/i386/strchr.S b/mdk-stage1/dietlibc/i386/strchr.S
deleted file mode 100644
index 4515d9835..000000000
--- a/mdk-stage1/dietlibc/i386/strchr.S
+++ /dev/null
@@ -1,22 +0,0 @@
-
-.text
-.type strchr,@function
-.global strchr
-.weak index
-.type index,@function
-
-index:
-strchr:
- movl 4(%esp),%ecx
- movb 8(%esp),%dl
-.Lloop:
- movb (%ecx),%al
- cmpb %al,%dl
- jz .Lfound
- incl %ecx
- testb %al,%al
- jnz .Lloop
- xorl %ecx,%ecx
-.Lfound:
- movl %ecx,%eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/strcmp.S b/mdk-stage1/dietlibc/i386/strcmp.S
deleted file mode 100644
index e01064ffb..000000000
--- a/mdk-stage1/dietlibc/i386/strcmp.S
+++ /dev/null
@@ -1,31 +0,0 @@
-.text
-.global strcmp
-.type strcmp,@function
-.weak strcoll
-.type strcoll,@function
-
-#ifdef HIGH_PERFORMANCE
-.align 16
-#endif
-
-.Ldiff:
- movzbl (%edx), %ecx
- subl %ecx, %eax # (unsigned char)*p - (unsigned char)*q, so wie die Original libc
- ret # und ohne Überlaufprobleme:
- # (int) ((signed char)c - (signed char)d) != (int)(signed char) ((unsigned char)c - (unsigned char)d)
- # c = 'ä', d = 'e': left expression: -129, right expression: 127
-
-strcoll:
-strcmp:
- movl 4(%esp), %ecx
- movl 8(%esp), %edx
- xorl %eax, %eax
-.Lloop: # Schleifenanfang liegt genau auf Modulanfang + 0x10, damit alignbar
- movb (%ecx), %al
- cmpb (%edx), %al
- jnz .Ldiff
- incl %edx
- incl %ecx
- testb %al, %al
- jnz .Lloop
- ret
diff --git a/mdk-stage1/dietlibc/i386/strcpy.S b/mdk-stage1/dietlibc/i386/strcpy.S
deleted file mode 100644
index a597436bc..000000000
--- a/mdk-stage1/dietlibc/i386/strcpy.S
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.text
-.align 0
-.global strcpy
-.type strcpy,@function
-strcpy:
- pushl %esi
- pushl %edi
-
- movl 12(%esp), %edx
- movl 16(%esp), %esi
- movl %edx, %edi
- cld
-
-.Lloop:
- lodsb
- stosb
- orb %al, %al
- jnz .Lloop
-
- popl %edi
- popl %esi
- movl %edx,%eax
- ret
diff --git a/mdk-stage1/dietlibc/i386/strlen.S b/mdk-stage1/dietlibc/i386/strlen.S
deleted file mode 100644
index 66f8ee553..000000000
--- a/mdk-stage1/dietlibc/i386/strlen.S
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.text
-.type strlen,@function
-.global strlen
-
-strlen:
- movl 4(%esp),%ecx
- xorl %eax,%eax
- jecxz .Lnull
- decl %eax
-.Llbl: incl %eax
- cmpb $0,(%ecx, %eax)
- jne .Llbl
-.Lnull: ret
-
-.Lende:
-
-.size strlen,.Lende-strlen
diff --git a/mdk-stage1/dietlibc/i386/strncmp.S b/mdk-stage1/dietlibc/i386/strncmp.S
deleted file mode 100644
index bf07b07d0..000000000
--- a/mdk-stage1/dietlibc/i386/strncmp.S
+++ /dev/null
@@ -1,28 +0,0 @@
-.text
-.align 0
-.global strncmp
-.type strncmp,@function
-strncmp:
- push %ebx
- movl %esp,%ebx
- movl 12(%ebx),%edx
- movl 16(%ebx),%ecx
- movl 8(%ebx),%ebx
-.Lloop:
- jecxz .Ldone
- decl %ecx
- movb (%ebx),%al
- incl %edx
- incl %ebx
- movb %al,%ah
- subb -1(%edx),%al
- jnz .Lnotequal
- testb %ah,%ah
- jnz .Lloop
-
-.Ldone:
- xorl %eax,%eax
-.Lnotequal:
- movsx %al, %eax
- popl %ebx
- ret
diff --git a/mdk-stage1/dietlibc/i386/strncpy.S b/mdk-stage1/dietlibc/i386/strncpy.S
deleted file mode 100644
index 837b43c41..000000000
--- a/mdk-stage1/dietlibc/i386/strncpy.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- strncpy.S
- i386 assembler implementation of strncpy(3)
-*/
-
-#include "dietfeatures.h"
-
-.text
-.globl strncpy
-.type strncpy,@function
-
-strncpy:
- pushl %esi
- pushl %edi
- movl %esp, %ecx
- movl 0x0c(%ecx), %edi
- movl 0x10(%ecx), %esi
- movl 0x14(%ecx), %ecx
-
- movl %edi, %edx
-
-.Lloop:
- dec %ecx
- js .Lout
- lodsb
- stosb
- or %al, %al
- jnz .Lloop
-#ifdef WANT_FULL_POSIX_COMPAT
- repnz stosb
-#endif
-.Lout:
- movl %edx, %eax
- popl %edi
- popl %esi
- ret
diff --git a/mdk-stage1/dietlibc/i386/strrchr.S b/mdk-stage1/dietlibc/i386/strrchr.S
deleted file mode 100644
index 9fd6e8b32..000000000
--- a/mdk-stage1/dietlibc/i386/strrchr.S
+++ /dev/null
@@ -1,19 +0,0 @@
-.text
-.globl strrchr
-.type strrchr,@function
-
-strrchr:
- movl 0x4(%esp), %edx
- movb 0x8(%esp), %cl
- xorl %eax, %eax
- decl %edx
-.Lloop:
- incl %edx
- cmpb $0x0,(%edx)
- jz .Lret
- cmpb %cl, (%edx)
- jnz .Lloop
- movl %edx, %eax
- jmp .Lloop
-.Lret:
- ret
diff --git a/mdk-stage1/dietlibc/i386/syscalls.h b/mdk-stage1/dietlibc/i386/syscalls.h
deleted file mode 100644
index 3cbf7b605..000000000
--- a/mdk-stage1/dietlibc/i386/syscalls.h
+++ /dev/null
@@ -1,303 +0,0 @@
-
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86old 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_vm86 166
-#define __NR_query_module 167
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread 180
-#define __NR_pwrite 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_getpmsg 188 /* some people actually want streams */
-#define __NR_putpmsg 189 /* some people actually want streams */
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_pivot_root 217
-#define __NR_mincore 218
-#define __NR_madvise 219
-#define __NR_madvise1 219 /* delete when C lib stub is removed */
-#define __NR_getdents64 220
-#define __NR_fcntl64 221
-#define __NR_security 223 /* syscall for security modules */
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_set_thread_area 243
-#define __NR_get_thread_area 244
-#define __NR_io_setup 245
-#define __NR_io_destroy 246
-#define __NR_io_getevents 247
-#define __NR_io_submit 248
-#define __NR_io_cancel 249
-#define __NR_alloc_hugepages 250
-#define __NR_free_hugepages 251
-#define __NR_exit_group 252
-#define __NR_lookup_dcookie 253
-#define __NR_sys_epoll_create 254
-#define __NR_sys_epoll_ctl 255
-#define __NR_sys_epoll_wait 256
-#define __NR_remap_file_pages 257
-#define __NR_set_tid_address 258
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall; \
-.Lend##sym: ; \
-.size sym,.Lend##sym-sym
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
-.ifle __NR_##name-255; \
- movb $__NR_##name,%al; \
- jmp __unified_syscall; \
-.else; \
- movw $__NR_##name,%ax; \
- jmp __unified_syscall_256; \
-.endif; \
-.Lend##sym: ; \
-.size sym,.Lend##sym-sym
-
-#ifndef __PIC__
-#define __socketcall(name,NAME) \
-.text; \
-.type name,@function; \
-.weak name; \
-name: ; \
-.global __libc_##name; \
-__libc_##name: ; \
- movb $SYS_##NAME,%al; \
- jmp socketcall; \
-.Lend##name:; \
-.size name,.Lend##name-name
-#else
-#define __socketcall(name,NAME)
-#endif
diff --git a/mdk-stage1/dietlibc/i386/tan.S b/mdk-stage1/dietlibc/i386/tan.S
deleted file mode 100644
index 4904c2d59..000000000
--- a/mdk-stage1/dietlibc/i386/tan.S
+++ /dev/null
@@ -1,12 +0,0 @@
-
-.text
-.type tan,@function
-.global tan
-tan:
- fldl 4(%esp)
- fsincos
- fdivrp
- ret
-
-.Lende:
-.size tan,.Lende-tan
diff --git a/mdk-stage1/dietlibc/i386/tanh.S b/mdk-stage1/dietlibc/i386/tanh.S
deleted file mode 100644
index 61d3f3376..000000000
--- a/mdk-stage1/dietlibc/i386/tanh.S
+++ /dev/null
@@ -1,32 +0,0 @@
-
-.text
-.type tanh,@function
-.global tanh
-
-tanh: # note: exp(x) = 2^(x*log2(e))
- fldl2e
- fmull 4(%esp) # x*log2(e)
- fld %st(0) # x*log2(e) x*log2(e)
- frndint # int(x*log2(e)) x*log2(e)
- fxch # x*log2(e) int(x*log2(e))
- fsub %st(1),%st(0) # frac(x*log2(e)) int(x*log2(e))
- f2xm1 # 2^(fract(x*log2(e)))-1 int(x*log2(e))
- fld1 # 1 2^(fract(x*log2(e)))-1 int(x*log2(e))
- faddp %st(0),%st(1) # 2^(fract(x*log2(e))) int(x*log2(e))
- fscale # 2^(x*log2(e)) int(x*log2(e))
- fstp %st(1) # 2^(x*log2(e))
-
-# now we have y = exp(x), but tanh(x) = (y - 1/y) / (y + 1/y)
-
- fld1
- fdiv %st(1),%st(0) # 1/y y
- fld %st(0) # 1/y 1/y y
- fadd %st(2) # y+1/y 1/y y
- fxch %st(2) # y 1/y y+1/y
- fsubp # y-1/y y+1/y
- fdivp # (y-1/y)/(y+1/y)
- ret
-
-.Lende:
-
-.size tanh,.ende-tanh
diff --git a/mdk-stage1/dietlibc/i386/unified.S b/mdk-stage1/dietlibc/i386/unified.S
deleted file mode 100644
index 989bf37b5..000000000
--- a/mdk-stage1/dietlibc/i386/unified.S
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall_256
-.type __unified_syscall_256,@function
-__unified_syscall_256:
- movzwl %ax,%eax
- jmp .L1
-.L2:
-.size __unified_syscall_256,.L2-__unified_syscall_256
-.weak exit
-exit:
-.global _exit
-.type _exit,@function
-_exit:
- movb $1,%al
-.global __unified_syscall
-.type __unified_syscall,@function
-__unified_syscall:
-.size _exit,__unified_syscall-_exit
- movzbl %al, %eax
-.L1:
- push %edi
- push %esi
- push %ebx
- movl %esp,%edi
- /* we use movl instead of pop because otherwise a signal would
- destroy the stack frame and crash the program, although it
- would save a few bytes. */
- movl 0x10(%edi),%ebx
- movl 0x14(%edi),%ecx
- movl 0x18(%edi),%edx
- movl 0x1c(%edi),%esi
- movl 0x20(%edi),%edi
- int $0x80
- cmp $-124,%eax
- jbe .Lnoerror
- neg %eax
-#ifdef WANT_THREAD_SAFE
- movl %eax,%ebx
- call __errno_location
- movl %ebx,(%eax)
- orl $-1,%eax
-#else
- mov %eax,errno
- sbb %eax,%eax # eax = eax - eax - CY = -1
-#endif
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret
-.L3:
-.size __unified_syscall,.L3-__unified_syscall
diff --git a/mdk-stage1/dietlibc/i386/usleep.S b/mdk-stage1/dietlibc/i386/usleep.S
deleted file mode 100644
index 7c0cc6ce7..000000000
--- a/mdk-stage1/dietlibc/i386/usleep.S
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "PIC.h"
-
-.text
-.global usleep
-.type usleep,@function
-
-usleep:
- movl 4(%esp),%eax
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- xorl %edx,%edx
- movl $1000000,%ecx
- divl %ecx
- imull $1000,%edx
- pushl %edx
- pushl %eax
- movl %esp,%eax
- pushl %eax
- pushl %eax
-#ifdef __DYN_LIB
- call nanosleep@PLT
-#else
- call nanosleep
-#endif
- addl $16,%esp
- PIC_RESTORE # non-PIC: empty line
- ret
-
-.Lende:
-.size usleep,.Lende-usleep
-
diff --git a/mdk-stage1/dietlibc/i386/vfork.S b/mdk-stage1/dietlibc/i386/vfork.S
deleted file mode 100644
index c07c5f6af..000000000
--- a/mdk-stage1/dietlibc/i386/vfork.S
+++ /dev/null
@@ -1,9 +0,0 @@
-.text
-.globl vfork
-vfork:
- popl %edx
- xorl %eax,%eax
- movb $190, %al
- int $0x80
- jmpl *%edx
-.size vfork, . - vfork
diff --git a/mdk-stage1/dietlibc/i386/write12.S b/mdk-stage1/dietlibc/i386/write12.S
deleted file mode 100644
index a40f63a86..000000000
--- a/mdk-stage1/dietlibc/i386/write12.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "PIC.h"
-
-.text
-
-.global __write1
-.type __write1,@function
-
-.global __write2
-.type __write2,@function
-
- # regparm=1, daher Stringadresse in %eax
-__write2:
- clc # CY = 0
- .byte 0xB2 # zusammen mit nächstem Byte: mov dl,0xF9
-__write1:
- stc # CY = 1
- sbbl %ecx,%ecx # __write2: ecx=0, __write1: ecx=-1
- incl %ecx
- incl %ecx # __write2: ecx=2, __write1: ecx=1
- xorl %edx,%edx
- decl %edx
-.Lnext: incl %edx
- cmpb %ch,(%edx,%eax) # ch=0, da bei beiden Filedescriptoren Bits 15:8 0 sind
- jnz .Lnext # Stringlänge in edx, ohne eax zerstört zu haben
- PIC_SAVE # non-PIC: empty line
- PIC_INIT # non-PIC: empty line
- pushl %edx
- pushl %eax
- pushl %ecx
-#ifdef __DYN_LIB
- call write@PLT
-#else
- call write # alles ruf uf dn Stack und ab damit
-#endif
- addl $12,%esp # und das leidvolle Putzen
- PIC_RESTORE # non-PIC: empty line
- ret
diff --git a/mdk-stage1/dietlibc/ia64/Makefile.add b/mdk-stage1/dietlibc/ia64/Makefile.add
deleted file mode 100644
index f660930af..000000000
--- a/mdk-stage1/dietlibc/ia64/Makefile.add
+++ /dev/null
@@ -1,2 +0,0 @@
-VPATH:=ia64:syscalls.s:$(VPATH)
-LIBOBJ+=$(OBJDIR)/__time.o $(OBJDIR)/__waitpid.o $(OBJDIR)/__nice.o $(OBJDIR)/__alarm.o
diff --git a/mdk-stage1/dietlibc/ia64/README b/mdk-stage1/dietlibc/ia64/README
deleted file mode 100644
index 684364d93..000000000
--- a/mdk-stage1/dietlibc/ia64/README
+++ /dev/null
@@ -1,4 +0,0 @@
-A Port for IA64.
-
-Does not yet support: clone, FPU and profiling. And includes
-some subtle bugs which will hopefully be fixed later.
diff --git a/mdk-stage1/dietlibc/ia64/__alarm.c b/mdk-stage1/dietlibc/ia64/__alarm.c
deleted file mode 100644
index e2c499f2c..000000000
--- a/mdk-stage1/dietlibc/ia64/__alarm.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "alpha/__alarm.c"
diff --git a/mdk-stage1/dietlibc/ia64/__longjmp.S b/mdk-stage1/dietlibc/ia64/__longjmp.S
deleted file mode 100644
index 698bda528..000000000
--- a/mdk-stage1/dietlibc/ia64/__longjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* No longjmp yet */
diff --git a/mdk-stage1/dietlibc/ia64/__nice.c b/mdk-stage1/dietlibc/ia64/__nice.c
deleted file mode 100644
index 012ea2628..000000000
--- a/mdk-stage1/dietlibc/ia64/__nice.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/resource.h>
-
-int nice(int x) {
- if (setpriority(PRIO_PROCESS,0,x)) return -1;
- return getpriority(PRIO_PROCESS,0);
-}
diff --git a/mdk-stage1/dietlibc/ia64/__testandset.S b/mdk-stage1/dietlibc/ia64/__testandset.S
deleted file mode 100644
index d462e3c58..000000000
--- a/mdk-stage1/dietlibc/ia64/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.globl __testandset
-.proc __testandset
-__testandset:
- mov ar.ccv = r0
- mov r29 = 1
- ld8 r3 = [r32]
- cmpxchg8.acq r8 = [r32], r29, ar.ccv /* cmpxchg is atomic */
- br.ret.sptk.clr b0
-.endp __testandset
-.size __testandset, . - __testandset
diff --git a/mdk-stage1/dietlibc/ia64/__time.c b/mdk-stage1/dietlibc/ia64/__time.c
deleted file mode 100644
index 7547acb1d..000000000
--- a/mdk-stage1/dietlibc/ia64/__time.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <time.h>
-#include <sys/time.h>
-
-time_t time(time_t*t) {
- struct timeval tv;
- time_t ret;
- if (gettimeofday(&tv,0)) {
- ret=(time_t)-1;
- } else {
- ret=(time_t)tv.tv_sec;
- }
- if (t) *t=ret;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/ia64/__waitpid.c b/mdk-stage1/dietlibc/ia64/__waitpid.c
deleted file mode 100644
index 8c228f375..000000000
--- a/mdk-stage1/dietlibc/ia64/__waitpid.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/types.h>
-
-pid_t waitpid(int pid, int * wait_stat, int flags) {
- return wait4(pid, wait_stat, flags, 0);
-}
diff --git a/mdk-stage1/dietlibc/ia64/accept.S b/mdk-stage1/dietlibc/ia64/accept.S
deleted file mode 100644
index 7bdc38c7e..000000000
--- a/mdk-stage1/dietlibc/ia64/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(accept, accept);
diff --git a/mdk-stage1/dietlibc/ia64/bind.S b/mdk-stage1/dietlibc/ia64/bind.S
deleted file mode 100644
index 05849d470..000000000
--- a/mdk-stage1/dietlibc/ia64/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind, bind);
diff --git a/mdk-stage1/dietlibc/ia64/clone.S b/mdk-stage1/dietlibc/ia64/clone.S
deleted file mode 100644
index ba768141c..000000000
--- a/mdk-stage1/dietlibc/ia64/clone.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/* This is untested code which probably won´t work out of the box! */
-
-#include "syscalls.h"
-#include <errno.h>
-
-.text
-.globl __clone
-.proc __clone
-.weak __clone2
-__clone2:
-__clone:
- mov r8 = EINVAL
- cmp.eq p6,p0=0,r32
-(p6) br.cond.spnt.few __error_unified_syscall
- cmp.eq p6,p0=0,r33
-(p6) br.cond.spnt.few __error_unified_syscall
- flushrs
-
- mov.m r17 = ar.rsc
- mov r14 = r32
- mov r18 = r33
- mov r16 = r36;;
- mov r15 = __NR_clone2
- break 0x100000
- cmp.eq p6,p0=-1,r10
-(p6) br.cond.spnt.few __error_unified_syscall
- cmp.eq p6,p7=0,r8
-(p6) ld8 r34=[r14],8
-(p6) mov.m ar.bspstore=r18
-(p6) mov r32 = r16
- mov.m ar.rsc = r17
-(p7) br.ret.sptk b0
- ld8 r1 = [r14]
- mov b6 = r34
- br.call.dptk.few b0=b6
- mov r32 = r8
- br.call.dptk.few b0=__error_unified_syscall
- br.ret.sptk.few b0
-.endp __clone
-.endp __clone2
-.size __clone, . - __clone
diff --git a/mdk-stage1/dietlibc/ia64/connect.S b/mdk-stage1/dietlibc/ia64/connect.S
deleted file mode 100644
index 5fbd151ae..000000000
--- a/mdk-stage1/dietlibc/ia64/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(connect, connect);
diff --git a/mdk-stage1/dietlibc/ia64/fork.S b/mdk-stage1/dietlibc/ia64/fork.S
deleted file mode 100644
index 3b253a80b..000000000
--- a/mdk-stage1/dietlibc/ia64/fork.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl fork
-fork:
- mov r15 = __NR_clone
- mov r32 = 17
- br __unified_syscall
diff --git a/mdk-stage1/dietlibc/ia64/getpeername.S b/mdk-stage1/dietlibc/ia64/getpeername.S
deleted file mode 100644
index fdaa1038a..000000000
--- a/mdk-stage1/dietlibc/ia64/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername, getpeername);
diff --git a/mdk-stage1/dietlibc/ia64/getsockname.S b/mdk-stage1/dietlibc/ia64/getsockname.S
deleted file mode 100644
index 1ea0bc000..000000000
--- a/mdk-stage1/dietlibc/ia64/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname, getsockname);
diff --git a/mdk-stage1/dietlibc/ia64/getsockopt.S b/mdk-stage1/dietlibc/ia64/getsockopt.S
deleted file mode 100644
index 465c4e08e..000000000
--- a/mdk-stage1/dietlibc/ia64/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt, getsockopt);
diff --git a/mdk-stage1/dietlibc/ia64/listen.S b/mdk-stage1/dietlibc/ia64/listen.S
deleted file mode 100644
index 66a3fe376..000000000
--- a/mdk-stage1/dietlibc/ia64/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen, listen);
diff --git a/mdk-stage1/dietlibc/ia64/mmap.S b/mdk-stage1/dietlibc/ia64/mmap.S
deleted file mode 100644
index cca4bbdbb..000000000
--- a/mdk-stage1/dietlibc/ia64/mmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall (mmap, mmap)
diff --git a/mdk-stage1/dietlibc/ia64/msgctl.S b/mdk-stage1/dietlibc/ia64/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/ia64/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/ia64/msgget.S b/mdk-stage1/dietlibc/ia64/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/ia64/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/ia64/msgrcv.S b/mdk-stage1/dietlibc/ia64/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/ia64/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/ia64/msgsnd.S b/mdk-stage1/dietlibc/ia64/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/ia64/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/ia64/pipe.S b/mdk-stage1/dietlibc/ia64/pipe.S
deleted file mode 100644
index c3bf4570b..000000000
--- a/mdk-stage1/dietlibc/ia64/pipe.S
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl pipe
-.proc pipe
-
-pipe:
- st8 [r12] = r32
- mov r15 = __NR_pipe
- break.i 0x100000
- ld8 r2 = [r12]
- cmp.eq p7,p6=-1,r10
-(p6) st4 [r2] = r8,4
- mov r8 = r0
-(p7) br.cond.spnt.few __error_unified_syscall
-(p6) st4 [r2] = r9
-(p6) br.ret.sptk.few b0
-
-.endp pipe
-.size pipe, . - pipe
diff --git a/mdk-stage1/dietlibc/ia64/recv.S b/mdk-stage1/dietlibc/ia64/recv.S
deleted file mode 100644
index 1f1640390..000000000
--- a/mdk-stage1/dietlibc/ia64/recv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recv, recv);
diff --git a/mdk-stage1/dietlibc/ia64/recvfrom.S b/mdk-stage1/dietlibc/ia64/recvfrom.S
deleted file mode 100644
index d3c2e602f..000000000
--- a/mdk-stage1/dietlibc/ia64/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvfrom, recvfrom);
diff --git a/mdk-stage1/dietlibc/ia64/recvmsg.S b/mdk-stage1/dietlibc/ia64/recvmsg.S
deleted file mode 100644
index cfbbafdc1..000000000
--- a/mdk-stage1/dietlibc/ia64/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg, recvmsg);
diff --git a/mdk-stage1/dietlibc/ia64/semctl.S b/mdk-stage1/dietlibc/ia64/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/ia64/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/ia64/semget.S b/mdk-stage1/dietlibc/ia64/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/ia64/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/ia64/semop.S b/mdk-stage1/dietlibc/ia64/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/ia64/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/ia64/send.S b/mdk-stage1/dietlibc/ia64/send.S
deleted file mode 100644
index 38f47f398..000000000
--- a/mdk-stage1/dietlibc/ia64/send.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(send, send);
diff --git a/mdk-stage1/dietlibc/ia64/sendmsg.S b/mdk-stage1/dietlibc/ia64/sendmsg.S
deleted file mode 100644
index c2bc80f72..000000000
--- a/mdk-stage1/dietlibc/ia64/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg, sendmsg);
diff --git a/mdk-stage1/dietlibc/ia64/sendto.S b/mdk-stage1/dietlibc/ia64/sendto.S
deleted file mode 100644
index 1579a3b45..000000000
--- a/mdk-stage1/dietlibc/ia64/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendto, sendto);
diff --git a/mdk-stage1/dietlibc/ia64/setjmp.S b/mdk-stage1/dietlibc/ia64/setjmp.S
deleted file mode 100644
index f0f5bc431..000000000
--- a/mdk-stage1/dietlibc/ia64/setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* No, I am not going to save 128 registers */
diff --git a/mdk-stage1/dietlibc/ia64/setsockopt.S b/mdk-stage1/dietlibc/ia64/setsockopt.S
deleted file mode 100644
index 45fcfbb6c..000000000
--- a/mdk-stage1/dietlibc/ia64/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt, setsockopt);
diff --git a/mdk-stage1/dietlibc/ia64/shmat.S b/mdk-stage1/dietlibc/ia64/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/ia64/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/ia64/shmctl.S b/mdk-stage1/dietlibc/ia64/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/ia64/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/ia64/shmdt.S b/mdk-stage1/dietlibc/ia64/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/ia64/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/ia64/shmget.S b/mdk-stage1/dietlibc/ia64/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/ia64/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/ia64/shutdown.S b/mdk-stage1/dietlibc/ia64/shutdown.S
deleted file mode 100644
index 024e99e18..000000000
--- a/mdk-stage1/dietlibc/ia64/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown, shutdown);
diff --git a/mdk-stage1/dietlibc/ia64/socket.S b/mdk-stage1/dietlibc/ia64/socket.S
deleted file mode 100644
index cc453881f..000000000
--- a/mdk-stage1/dietlibc/ia64/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket, socket);
diff --git a/mdk-stage1/dietlibc/ia64/socketpair.S b/mdk-stage1/dietlibc/ia64/socketpair.S
deleted file mode 100644
index d92eaa4d8..000000000
--- a/mdk-stage1/dietlibc/ia64/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair, socketpair);
diff --git a/mdk-stage1/dietlibc/ia64/start.S b/mdk-stage1/dietlibc/ia64/start.S
deleted file mode 100644
index dbacb25f6..000000000
--- a/mdk-stage1/dietlibc/ia64/start.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- This file is part of the IA64-Port of the dietlibc
-
- start.S
- Implemenation of the _start startup function
-*/
-
-.psr abi64
-.psr lsb
-.lsb
-
-.text
-.globl _start
-.proc _start
-
-_start:
- alloc r2 = ar.pfs,0,0,7,0
- adds out1 = 16, sp /* base arguments */
- movl gp = @gprel(0f) /* base offset */
- ;;
-0:
- ld8 out0 = [out1], 8 /* load argc and set argv */
- mov r9 = ip
- ;;
- shladd out2=out0,3,out1 /* envp = argv+8*argc */
- sub gp = r9, gp /* subtract program counter */
- ;;
- addl r15 = @ltoff(environ#), gp /* offset to environ */
- adds out2 = 8, out2 /* envp += 8 */
- ;;
- ld8 r14 = [r15]
- ;;
- st8 [r14] = out2 /* store envp in environ */
- br.call.sptk.few rp = main /* call main */
- ;;
- mov r32 = r8 /* store return code */
- br _exit /* branch to _exit */
-.endp _start
-.size _start, . - _start
diff --git a/mdk-stage1/dietlibc/ia64/syscalls.h b/mdk-stage1/dietlibc/ia64/syscalls.h
deleted file mode 100644
index 65eda0ed2..000000000
--- a/mdk-stage1/dietlibc/ia64/syscalls.h
+++ /dev/null
@@ -1,242 +0,0 @@
-#ifndef __DLIBC_SYSCALL_H_
-#define __DLIBC_SYSCALL_H_
-
-#define __NR_ni_syscall 1024
-#define __NR_exit 1025
-#define __NR_read 1026
-#define __NR_write 1027
-#define __NR_open 1028
-#define __NR_close 1029
-#define __NR_creat 1030
-#define __NR_link 1031
-#define __NR_unlink 1032
-#define __NR_execve 1033
-#define __NR_chdir 1034
-#define __NR_fchdir 1035
-#define __NR_utimes 1036
-#define __NR_mknod 1037
-#define __NR_chmod 1038
-#define __NR_chown 1039
-#define __NR_lseek 1040
-#define __NR_getpid 1041
-#define __NR_getppid 1042
-#define __NR_mount 1043
-#define __NR_umount 1044
-#define __NR_setuid 1045
-#define __NR_getuid 1046
-#define __NR_geteuid 1047
-#define __NR_ptrace 1048
-#define __NR_access 1049
-#define __NR_sync 1050
-#define __NR_fsync 1051
-#define __NR_fdatasync 1052
-#define __NR_kill 1053
-#define __NR_rename 1054
-#define __NR_mkdir 1055
-#define __NR_rmdir 1056
-#define __NR_dup 1057
-#define __NR_pipe 1058
-#define __NR_times 1059
-#define __NR_brk 1060
-#define __NR_setgid 1061
-#define __NR_getgid 1062
-#define __NR_getegid 1063
-#define __NR_acct 1064
-#define __NR_ioctl 1065
-#define __NR_fcntl 1066
-#define __NR_umask 1067
-#define __NR_chroot 1068
-#define __NR_ustat 1069
-#define __NR_dup2 1070
-#define __NR_setreuid 1071
-#define __NR_setregid 1072
-#define __NR_getresuid 1073
-#define __NR_setresuid 1074
-#define __NR_getresgid 1075
-#define __NR_setresgid 1076
-#define __NR_getgroups 1077
-#define __NR_setgroups 1078
-#define __NR_getpgid 1079
-#define __NR_setpgid 1080
-#define __NR_setsid 1081
-#define __NR_getsid 1082
-#define __NR_sethostname 1083
-#define __NR_setrlimit 1084
-#define __NR_getrlimit 1085
-#define __NR_getrusage 1086
-#define __NR_gettimeofday 1087
-#define __NR_settimeofday 1088
-#define __NR_select 1089
-#define __NR_poll 1090
-#define __NR_symlink 1091
-#define __NR_readlink 1092
-#define __NR_uselib 1093
-#define __NR_swapon 1094
-#define __NR_swapoff 1095
-#define __NR_reboot 1096
-#define __NR_truncate 1097
-#define __NR_ftruncate 1098
-#define __NR_fchmod 1099
-#define __NR_fchown 1100
-#define __NR_getpriority 1101
-#define __NR_setpriority 1102
-#define __NR_statfs 1103
-#define __NR_fstatfs 1104
-#define __NR_gettid 1105
-#define __NR_semget 1106
-#define __NR_semop 1107
-#define __NR_semctl 1108
-#define __NR_msgget 1109
-#define __NR_msgsnd 1110
-#define __NR_msgrcv 1111
-#define __NR_msgctl 1112
-#define __NR_shmget 1113
-#define __NR_shmat 1114
-#define __NR_shmdt 1115
-#define __NR_shmctl 1116
-#define __NR_syslog 1117
-#define __NR_setitimer 1118
-#define __NR_getitimer 1119
-#define __NR_old_stat 1120
-#define __NR_old_lstat 1121
-#define __NR_old_fstat 1122
-#define __NR_vhangup 1123
-#define __NR_lchown 1124
-#define __NR_vm86 1125
-#define __NR_wait4 1126
-#define __NR_sysinfo 1127
-#define __NR_clone 1128
-#define __NR_setdomainname 1129
-#define __NR_uname 1130
-#define __NR_adjtimex 1131
-#define __NR_create_module 1132
-#define __NR_init_module 1133
-#define __NR_delete_module 1134
-#define __NR_get_kernel_syms 1135
-#define __NR_query_module 1136
-#define __NR_quotactl 1137
-#define __NR_bdflush 1138
-#define __NR_sysfs 1139
-#define __NR_personality 1140
-#define __NR_afs_syscall 1141
-#define __NR_setfsuid 1142
-#define __NR_setfsgid 1143
-#define __NR_getdents 1144
-#define __NR_flock 1145
-#define __NR_readv 1146
-#define __NR_writev 1147
-#define __NR_pread 1148
-#define __NR_pwrite 1149
-#define __NR__sysctl 1150
-#define __NR_mmap 1151
-#define __NR_munmap 1152
-#define __NR_mlock 1153
-#define __NR_mlockall 1154
-#define __NR_mprotect 1155
-#define __NR_mremap 1156
-#define __NR_msync 1157
-#define __NR_munlock 1158
-#define __NR_munlockall 1159
-#define __NR_sched_getparam 1160
-#define __NR_sched_setparam 1161
-#define __NR_sched_getscheduler 1162
-#define __NR_sched_setscheduler 1163
-#define __NR_sched_yield 1164
-#define __NR_sched_get_priority_max 1165
-#define __NR_sched_get_priority_min 1166
-#define __NR_sched_rr_get_interval 1167
-#define __NR_nanosleep 1168
-#define __NR_nfsservctl 1169
-#define __NR_prctl 1170
-#define __NR_mmap2 1172
-#define __NR_pciconfig_read 1173
-#define __NR_pciconfig_write 1174
-#define __NR_perfmonctl 1175
-#define __NR_sigaltstack 1176
-#define __NR_rt_sigaction 1177
-#define __NR_rt_sigpending 1178
-#define __NR_rt_sigprocmask 1179
-#define __NR_rt_sigqueueinfo 1180
-#define __NR_rt_sigreturn 1181
-#define __NR_rt_sigsuspend 1182
-#define __NR_rt_sigtimedwait 1183
-#define __NR_getcwd 1184
-#define __NR_capget 1185
-#define __NR_capset 1186
-#define __NR_sendfile 1187
-#define __NR_getpmsg 1188
-#define __NR_putpmsg 1189
-#define __NR_socket 1190
-#define __NR_bind 1191
-#define __NR_connect 1192
-#define __NR_listen 1193
-#define __NR_accept 1194
-#define __NR_getsockname 1195
-#define __NR_getpeername 1196
-#define __NR_socketpair 1197
-#define __NR_send 1198
-#define __NR_sendto 1199
-#define __NR_recv 1200
-#define __NR_recvfrom 1201
-#define __NR_shutdown 1202
-#define __NR_setsockopt 1203
-#define __NR_getsockopt 1204
-#define __NR_sendmsg 1205
-#define __NR_recvmsg 1206
-#define __NR_pivot_root 1207
-#define __NR_mincore 1208
-#define __NR_madvise 1209
-#define __NR_stat 1210
-#define __NR_lstat 1211
-#define __NR_fstat 1212
-#define __NR_clone2 1213
-#define __NR_getdents64 1214
-#define __NR_getunwind 1215
-#define __NR_readahead 1216
-#define __NR_setxattr 1217
-#define __NR_lsetxattr 1218
-#define __NR_fsetxattr 1219
-#define __NR_getxattr 1220
-#define __NR_lgetxattr 1221
-#define __NR_fgetxattr 1222
-#define __NR_listxattr 1223
-#define __NR_llistxattr 1224
-#define __NR_flistxattr 1225
-#define __NR_removexattr 1226
-#define __NR_lremovexattr 1227
-#define __NR_fremovexattr 1228
-#define __NR_tkill 1229
-#define __NR_futex 1230
-#define __NR_sched_setaffinity 1231
-#define __NR_sched_getaffinity 1232
-#define __NR_security 1233
-#define __NR_alloc_hugepages 1234
-#define __NR_free_hugepages 1235
-#define __NR_exit_group 1236
-#define __NR_lookup_dcookie 1237
-#define __NR_io_setup 1238
-#define __NR_io_destroy 1239
-#define __NR_io_getevents 1240
-#define __NR_io_submit 1241
-#define __NR_io_cancel 1242
-#define __NR_epoll_create 1243
-#define __NR_epoll_ctl 1244
-#define __NR_epoll_wait 1245
-
-#define syscall(name, sym) \
-.text; \
-.globl sym; \
-sym: \
- mov r15 = __NR_##name; \
- br __unified_syscall;
-
-#define syscall_weak(name, sym, wsym) \
-.text; \
-.weak wsym; \
-wsym: \
-.globl sym; \
-sym: \
- mov r15 = __NR_##name; \
- br __unified_syscall;
-
-#endif
diff --git a/mdk-stage1/dietlibc/ia64/unified.S b/mdk-stage1/dietlibc/ia64/unified.S
deleted file mode 100644
index 998fba75e..000000000
--- a/mdk-stage1/dietlibc/ia64/unified.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright (C) 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-
- This file is part of the ia64-Port of dietlibc
-
- unified.S
- General system-call interface
-*/
-
-.lsb
-
-.text
-
-.globl __unified_syscall
-.proc __unified_syscall
-.globl __error_unified_syscall
-.proc __error_unified_syscall
-.globl _exit
-.proc _exit
-
-_exit:
- mov r15 = 1025
-.endp _exit
-.size _exit, . - _exit
-
-__unified_syscall:
- break.i 0x100000
- movl r2=errno
- cmp.eq p6,p0=-1,r10
- ;;
-__error_unified_syscall:
-(p6) st4 [r2]=r8
-(p6) mov r8=-1
-
-#include "dietuglyweaks.h"
-
- br.ret.sptk.few rp
-
-.endp __unified_syscall
-.endp __error_unified_syscall
-.size __unified_syscall, __error_unified_syscall - __unified_syscall
-.size __error_unified_syscall, . - __error_unified_syscall
diff --git a/mdk-stage1/dietlibc/ia64/utime.S b/mdk-stage1/dietlibc/ia64/utime.S
deleted file mode 100644
index a9a8aada6..000000000
--- a/mdk-stage1/dietlibc/ia64/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utimes,utime)
diff --git a/mdk-stage1/dietlibc/ia64/vfork.S b/mdk-stage1/dietlibc/ia64/vfork.S
deleted file mode 100644
index e59f04364..000000000
--- a/mdk-stage1/dietlibc/ia64/vfork.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.globl vfork
-vfork:
- mov r15 = __NR_clone
- mov r32 = 16657
- br __unified_syscall
diff --git a/mdk-stage1/dietlibc/include/alloca.h b/mdk-stage1/dietlibc/include/alloca.h
deleted file mode 100644
index 41f92354f..000000000
--- a/mdk-stage1/dietlibc/include/alloca.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _ALLOCA_H
-#define _ALLOCA_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#ifdef __GNUC__
-#define alloca(x) __builtin_alloca(x)
-#else
-void *alloca(size_t size) __THROW;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/arpa/inet.h b/mdk-stage1/dietlibc/include/arpa/inet.h
deleted file mode 100644
index bb278d399..000000000
--- a/mdk-stage1/dietlibc/include/arpa/inet.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _ARPA_INET_H
-#define _ARPA_INET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-
-int inet_aton(const char *cp, struct in_addr *inp) __THROW;
-unsigned long int inet_addr(const char *cp) __THROW;
-unsigned long int inet_network(const char *cp) __THROW;
-char *inet_ntoa(struct in_addr in) __THROW;
-char *inet_ntoa_r(struct in_addr in,char* buf) __THROW;
-struct in_addr inet_makeaddr(int net, int host) __THROW;
-unsigned long int inet_lnaof(struct in_addr in) __THROW;
-unsigned long int inet_netof(struct in_addr in) __THROW;
-
-int inet_pton (int AF, const char* CP, void* BUF) __THROW;
-const char* inet_ntop (int AF, const void* CP, char* BUF, size_t LEN) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/arpa/nameser.h b/mdk-stage1/dietlibc/include/arpa/nameser.h
deleted file mode 100644
index 9327006b0..000000000
--- a/mdk-stage1/dietlibc/include/arpa/nameser.h
+++ /dev/null
@@ -1,253 +0,0 @@
-#ifndef _ARPA_NAMESER_H
-#define _ARPA_NAMESER_H
-
-#include <endian.h>
-
-#define NS_PACKETSZ 512 /* maximum packet size */
-#define NS_MAXDNAME 1025 /* maximum domain name */
-#define NS_MAXCDNAME 255 /* maximum compressed domain name */
-#define NS_MAXLABEL 63 /* maximum length of domain label */
-#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
-#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
-#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
-#define NS_INT32SZ 4 /* #/bytes of data in a u_int32_t */
-#define NS_INT16SZ 2 /* #/bytes of data in a u_int16_t */
-#define NS_INT8SZ 1 /* #/bytes of data in a u_int8_t */
-#define NS_INADDRSZ 4 /* IPv4 T_A */
-#define NS_IN6ADDRSZ 16 /* IPv6 T_AAAA */
-#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
-#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
-
-/*
- * Currently defined type values for resources and queries.
- */
-typedef enum __ns_type {
- ns_t_invalid = 0, /* Cookie. */
- ns_t_a = 1, /* Host address. */
- ns_t_ns = 2, /* Authoritative server. */
- ns_t_md = 3, /* Mail destination. */
- ns_t_mf = 4, /* Mail forwarder. */
- ns_t_cname = 5, /* Canonical name. */
- ns_t_soa = 6, /* Start of authority zone. */
- ns_t_mb = 7, /* Mailbox domain name. */
- ns_t_mg = 8, /* Mail group member. */
- ns_t_mr = 9, /* Mail rename name. */
- ns_t_null = 10, /* Null resource record. */
- ns_t_wks = 11, /* Well known service. */
- ns_t_ptr = 12, /* Domain name pointer. */
- ns_t_hinfo = 13, /* Host information. */
- ns_t_minfo = 14, /* Mailbox information. */
- ns_t_mx = 15, /* Mail routing information. */
- ns_t_txt = 16, /* Text strings. */
- ns_t_rp = 17, /* Responsible person. */
- ns_t_afsdb = 18, /* AFS cell database. */
- ns_t_x25 = 19, /* X_25 calling address. */
- ns_t_isdn = 20, /* ISDN calling address. */
- ns_t_rt = 21, /* Router. */
- ns_t_nsap = 22, /* NSAP address. */
- ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
- ns_t_sig = 24, /* Security signature. */
- ns_t_key = 25, /* Security key. */
- ns_t_px = 26, /* X.400 mail mapping. */
- ns_t_gpos = 27, /* Geographical position (withdrawn). */
- ns_t_aaaa = 28, /* Ip6 Address. */
- ns_t_loc = 29, /* Location Information. */
- ns_t_nxt = 30, /* Next domain (security). */
- ns_t_eid = 31, /* Endpoint identifier. */
- ns_t_nimloc = 32, /* Nimrod Locator. */
- ns_t_srv = 33, /* Server Selection. */
- ns_t_atma = 34, /* ATM Address */
- ns_t_naptr = 35, /* Naming Authority PoinTeR */
- ns_t_kx = 36, /* Key Exchange */
- ns_t_cert = 37, /* Certification record */
- ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */
- ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
- ns_t_sink = 40, /* Kitchen sink (experimentatl) */
- ns_t_opt = 41, /* EDNS0 option (meta-RR) */
- ns_t_tsig = 250, /* Transaction signature. */
- ns_t_ixfr = 251, /* Incremental zone transfer. */
- ns_t_axfr = 252, /* Transfer zone of authority. */
- ns_t_mailb = 253, /* Transfer mailbox records. */
- ns_t_maila = 254, /* Transfer mail agent records. */
- ns_t_any = 255, /* Wildcard match. */
- ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
- ns_t_max = 65536
-} ns_type;
-
-/*
- * Values for class field
- */
-typedef enum __ns_class {
- ns_c_invalid = 0, /* Cookie. */
- ns_c_in = 1, /* Internet. */
- ns_c_2 = 2, /* unallocated/unsupported. */
- ns_c_chaos = 3, /* MIT Chaos-net. */
- ns_c_hs = 4, /* MIT Hesiod. */
- /* Query class values which do not appear in resource records */
- ns_c_none = 254, /* for prereq. sections in update requests */
- ns_c_any = 255, /* Wildcard match. */
- ns_c_max = 65536
-} ns_class;
-
-/*
- * Currently defined opcodes.
- */
-typedef enum __ns_opcode {
- ns_o_query = 0, /* Standard query. */
- ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
- ns_o_status = 2, /* Name server status query (unsupported). */
- /* Opcode 3 is undefined/reserved. */
- ns_o_notify = 4, /* Zone change notification. */
- ns_o_update = 5, /* Zone update message. */
- ns_o_max = 6
-} ns_opcode;
-
-/*
- * Currently defined response codes.
- */
-typedef enum __ns_rcode {
- ns_r_noerror = 0, /* No error occurred. */
- ns_r_formerr = 1, /* Format error. */
- ns_r_servfail = 2, /* Server failure. */
- ns_r_nxdomain = 3, /* Name error. */
- ns_r_notimpl = 4, /* Unimplemented. */
- ns_r_refused = 5, /* Operation refused. */
- /* these are for BIND_UPDATE */
- ns_r_yxdomain = 6, /* Name exists */
- ns_r_yxrrset = 7, /* RRset exists */
- ns_r_nxrrset = 8, /* RRset does not exist */
- ns_r_notauth = 9, /* Not authoritative for zone */
- ns_r_notzone = 10, /* Zone of record different from zone section */
- ns_r_max = 11,
- /* The following are TSIG extended errors */
- ns_r_badsig = 16,
- ns_r_badkey = 17,
- ns_r_badtime = 18
-} ns_rcode;
-
-typedef struct {
- unsigned id :16; /* query identification number */
-#if BYTE_ORDER == BIG_ENDIAN
- /* fields in third byte */
- unsigned qr: 1; /* response flag */
- unsigned opcode: 4; /* purpose of message */
- unsigned aa: 1; /* authoritive answer */
- unsigned tc: 1; /* truncated message */
- unsigned rd: 1; /* recursion desired */
- /* fields in fourth byte */
- unsigned ra: 1; /* recursion available */
- unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
- unsigned ad: 1; /* authentic data from named */
- unsigned cd: 1; /* checking disabled by resolver */
- unsigned rcode :4; /* response code */
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
- /* fields in third byte */
- unsigned rd :1; /* recursion desired */
- unsigned tc :1; /* truncated message */
- unsigned aa :1; /* authoritive answer */
- unsigned opcode :4; /* purpose of message */
- unsigned qr :1; /* response flag */
- /* fields in fourth byte */
- unsigned rcode :4; /* response code */
- unsigned cd: 1; /* checking disabled by resolver */
- unsigned ad: 1; /* authentic data from named */
- unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
- unsigned ra :1; /* recursion available */
-#endif
- /* remaining bytes */
- unsigned qdcount :16; /* number of question entries */
- unsigned ancount :16; /* number of answer entries */
- unsigned nscount :16; /* number of authority entries */
- unsigned arcount :16; /* number of resource entries */
-} HEADER;
-
-#define PACKETSZ NS_PACKETSZ
-#define MAXDNAME NS_MAXDNAME
-#define MAXCDNAME NS_MAXCDNAME
-#define MAXLABEL NS_MAXLABEL
-#define HFIXEDSZ NS_HFIXEDSZ
-#define QFIXEDSZ NS_QFIXEDSZ
-#define RRFIXEDSZ NS_RRFIXEDSZ
-#define INT32SZ NS_INT32SZ
-#define INT16SZ NS_INT16SZ
-#define INADDRSZ NS_INADDRSZ
-#define IN6ADDRSZ NS_IN6ADDRSZ
-#define INDIR_MASK NS_CMPRSFLGS
-#define NAMESERVER_PORT NS_DEFAULTPORT
-
-#define S_ZONE ns_s_zn
-#define S_PREREQ ns_s_pr
-#define S_UPDATE ns_s_ud
-#define S_ADDT ns_s_ar
-
-#define QUERY ns_o_query
-#define IQUERY ns_o_iquery
-#define STATUS ns_o_status
-#define NS_NOTIFY_OP ns_o_notify
-#define NS_UPDATE_OP ns_o_update
-
-#define NOERROR ns_r_noerror
-#define FORMERR ns_r_formerr
-#define SERVFAIL ns_r_servfail
-#define NXDOMAIN ns_r_nxdomain
-#define NOTIMP ns_r_notimpl
-#define REFUSED ns_r_refused
-#define YXDOMAIN ns_r_yxdomain
-#define YXRRSET ns_r_yxrrset
-#define NXRRSET ns_r_nxrrset
-#define NOTAUTH ns_r_notauth
-#define NOTZONE ns_r_notzone
-
-#define DELETE ns_uop_delete
-#define ADD ns_uop_add
-
-#define T_A ns_t_a
-#define T_NS ns_t_ns
-#define T_MD ns_t_md
-#define T_MF ns_t_mf
-#define T_CNAME ns_t_cname
-#define T_SOA ns_t_soa
-#define T_MB ns_t_mb
-#define T_MG ns_t_mg
-#define T_MR ns_t_mr
-#define T_NULL ns_t_null
-#define T_WKS ns_t_wks
-#define T_PTR ns_t_ptr
-#define T_HINFO ns_t_hinfo
-#define T_MINFO ns_t_minfo
-#define T_MX ns_t_mx
-#define T_TXT ns_t_txt
-#define T_RP ns_t_rp
-#define T_AFSDB ns_t_afsdb
-#define T_X25 ns_t_x25
-#define T_ISDN ns_t_isdn
-#define T_RT ns_t_rt
-#define T_NSAP ns_t_nsap
-#define T_NSAP_PTR ns_t_nsap_ptr
-#define T_SIG ns_t_sig
-#define T_KEY ns_t_key
-#define T_PX ns_t_px
-#define T_GPOS ns_t_gpos
-#define T_AAAA ns_t_aaaa
-#define T_LOC ns_t_loc
-#define T_NXT ns_t_nxt
-#define T_EID ns_t_eid
-#define T_NIMLOC ns_t_nimloc
-#define T_SRV ns_t_srv
-#define T_ATMA ns_t_atma
-#define T_NAPTR ns_t_naptr
-#define T_TSIG ns_t_tsig
-#define T_IXFR ns_t_ixfr
-#define T_AXFR ns_t_axfr
-#define T_MAILB ns_t_mailb
-#define T_MAILA ns_t_maila
-#define T_ANY ns_t_any
-
-#define C_IN ns_c_in
-#define C_CHAOS ns_c_chaos
-#define C_HS ns_c_hs
-#define C_NONE ns_c_none
-#define C_ANY ns_c_any
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h b/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h
deleted file mode 100644
index 13faab0b5..000000000
--- a/mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h
+++ /dev/null
@@ -1,29 +0,0 @@
-struct sigcontext {
- /*
- * What should we have here? I'd probably better use the same
- * stack layout as OSF/1, just in case we ever want to try
- * running their binaries..
- *
- * This is the basic layout, but I don't know if we'll ever
- * actually fill in all the values..
- */
- long sc_onstack;
- long sc_mask;
- long sc_pc;
- long sc_ps;
- long sc_regs[32];
- long sc_ownedfp;
- long sc_fpregs[32];
- unsigned long sc_fpcr;
- unsigned long sc_fp_control;
- unsigned long sc_reserved1, sc_reserved2;
- unsigned long sc_ssize;
- char * sc_sbase;
- unsigned long sc_traparg_a0;
- unsigned long sc_traparg_a1;
- unsigned long sc_traparg_a2;
- unsigned long sc_fp_trap_pc;
- unsigned long sc_fp_trigger_sum;
- unsigned long sc_fp_trigger_inst;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h b/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h
deleted file mode 100644
index 26fa04e64..000000000
--- a/mdk-stage1/dietlibc/include/asm/arm-sigcontext.h
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#define PC(ctx) (ctx.arm_pc)
-
-/*
- * Signal context structure - contains all info to do with the state
- * before the signal handler was invoked. Note: only add new entries
- * to the end of the structure.
- */
-struct sigcontext {
- unsigned long trap_no;
- unsigned long error_code;
- unsigned long oldmask;
- unsigned long arm_r0;
- unsigned long arm_r1;
- unsigned long arm_r2;
- unsigned long arm_r3;
- unsigned long arm_r4;
- unsigned long arm_r5;
- unsigned long arm_r6;
- unsigned long arm_r7;
- unsigned long arm_r8;
- unsigned long arm_r9;
- unsigned long arm_r10;
- unsigned long arm_fp;
- unsigned long arm_ip;
- unsigned long arm_sp;
- unsigned long arm_lr;
- unsigned long arm_pc;
- unsigned long arm_cpsr;
- unsigned long fault_address;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h b/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h
deleted file mode 100644
index e830b9b97..000000000
--- a/mdk-stage1/dietlibc/include/asm/i386-sigcontext.h
+++ /dev/null
@@ -1,66 +0,0 @@
-
-struct _fpreg {
- unsigned short significand[4];
- unsigned short exponent;
-};
-
-struct _fpxreg {
- unsigned short significand[4];
- unsigned short exponent;
- unsigned short padding[3];
-};
-
-struct _xmmreg {
- unsigned long element[4];
-};
-
-struct _fpstate {
- /* Regular FPU environment */
- unsigned long cw;
- unsigned long sw;
- unsigned long tag;
- unsigned long ipoff;
- unsigned long cssel;
- unsigned long dataoff;
- unsigned long datasel;
- struct _fpreg _st[8];
- unsigned short status;
- unsigned short magic; /* 0xffff = regular FPU data only */
-
- /* FXSR FPU environment */
- unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */
- unsigned long mxcsr;
- unsigned long reserved;
- struct _fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */
- struct _xmmreg _xmm[8];
- unsigned long padding[56];
-};
-
-#define X86_FXSR_MAGIC 0x0000
-#define PC(ctx) (ctx.eip)
-
-struct sigcontext {
- unsigned short gs, __gsh;
- unsigned short fs, __fsh;
- unsigned short es, __esh;
- unsigned short ds, __dsh;
- unsigned long edi;
- unsigned long esi;
- unsigned long ebp;
- unsigned long esp;
- unsigned long ebx;
- unsigned long edx;
- unsigned long ecx;
- unsigned long eax;
- unsigned long trapno;
- unsigned long err;
- unsigned long eip;
- unsigned short cs, __csh;
- unsigned long eflags;
- unsigned long esp_at_signal;
- unsigned short ss, __ssh;
- struct _fpstate * fpstate;
- unsigned long oldmask;
- unsigned long cr2;
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h
deleted file mode 100644
index ebab3c8f4..000000000
--- a/mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <sys/ptrace.h>
-
-#define PC(ctx) (ctx.sc_ip)
-
-struct sigcontext {
- unsigned long sc_flags;
- unsigned long sc_nat;
- stack_t sc_stack;
- unsigned long sc_ip;
- unsigned long sc_cfm;
- unsigned long sc_um;
- unsigned long sc_ar_rsc;
- unsigned long sc_ar_bsp;
- unsigned long sc_ar_rnat;
- unsigned long sc_ar_ccv;
- unsigned long sc_ar_unat;
- unsigned long sc_ar_fpsr;
- unsigned long sc_ar_pfs;
- unsigned long sc_ar_lc;
- unsigned long sc_pr;
- unsigned long sc_br[8];
- unsigned long sc_gr[32];
- struct ia64_fpreg sc_fr[128];
- sigset_t sc_mask;
-};
diff --git a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h b/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h
deleted file mode 100644
index 1210abf31..000000000
--- a/mdk-stage1/dietlibc/include/asm/mips-sigcontext.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-/*
- * Keep this struct definition in sync with the sigcontext fragment
- * in arch/mips/tools/offset.c
- */
-struct sigcontext {
- unsigned int sc_regmask; /* Unused */
- unsigned int sc_status;
- unsigned long long sc_pc;
- unsigned long long sc_regs[32];
- unsigned long long sc_fpregs[32]; /* Unused */
- unsigned int sc_ownedfp;
- unsigned int sc_fpc_csr; /* Unused */
- unsigned int sc_fpc_eir; /* Unused */
- unsigned int sc_ssflags; /* Unused */
- unsigned long long sc_mdhi;
- unsigned long long sc_mdlo;
-
- unsigned int sc_cause; /* Unused */
- unsigned int sc_badvaddr; /* Unused */
-
- unsigned long sc_sigset[4]; /* kernel's sigset_t */
-};
diff --git a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h
deleted file mode 100644
index 9428dd3e5..000000000
--- a/mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#define PARISC_SC_FLAG_ONSTACK 1<<0
-#define PARISC_SC_FLAG_IN_SYSCALL 1<<1
-
-/* We will add more stuff here as it becomes necessary, until we know
- it works. */
-struct sigcontext {
- unsigned long sc_flags;
-
- unsigned long sc_gr[32]; /* PSW in sc_gr[0] */
- unsigned long long sc_fr[32]; /* FIXME, do we need other state info? */
- unsigned long sc_iasq[2];
- unsigned long sc_iaoq[2];
- unsigned long sc_sar; /* cr11 */
-};
-
diff --git a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h
deleted file mode 100644
index 1d9704f3a..000000000
--- a/mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h
+++ /dev/null
@@ -1,76 +0,0 @@
-
-struct pt_regs {
- unsigned long gpr[32];
- unsigned long nip;
- unsigned long msr;
- unsigned long orig_gpr3; /* Used for restarting system calls */
- unsigned long ctr;
- unsigned long link;
- unsigned long xer;
- unsigned long ccr;
- unsigned long mq; /* 601 only (not used at present) */
- /* Used on APUS to hold IPL value. */
- unsigned long trap; /* Reason for being here */
- unsigned long dar; /* Fault registers */
- unsigned long dsisr;
- unsigned long result; /* Result of a system call */
-};
-
-/*
- * Offsets used by 'ptrace' system call interface.
- * These can't be changed without breaking binary compatibility
- * with MkLinux, etc.
- */
-#define PT_R0 0
-#define PT_R1 1
-#define PT_R2 2
-#define PT_R3 3
-#define PT_R4 4
-#define PT_R5 5
-#define PT_R6 6
-#define PT_R7 7
-#define PT_R8 8
-#define PT_R9 9
-#define PT_R10 10
-#define PT_R11 11
-#define PT_R12 12
-#define PT_R13 13
-#define PT_R14 14
-#define PT_R15 15
-#define PT_R16 16
-#define PT_R17 17
-#define PT_R18 18
-#define PT_R19 19
-#define PT_R20 20
-#define PT_R21 21
-#define PT_R22 22
-#define PT_R23 23
-#define PT_R24 24
-#define PT_R25 25
-#define PT_R26 26
-#define PT_R27 27
-#define PT_R28 28
-#define PT_R29 29
-#define PT_R30 30
-#define PT_R31 31
-
-#define PT_NIP 32
-#define PT_MSR 33
-#define PT_CTR 35
-#define PT_LNK 36
-#define PT_XER 37
-#define PT_CCR 38
-#define PT_MQ 39
-
-#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
-#define PT_FPR31 (PT_FPR0 + 2*31)
-#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
-
-#define sigcontext_struct sigcontext
-struct sigcontext {
- unsigned long _unused[4];
- int signal;
- unsigned long handler;
- unsigned long oldmask;
- struct pt_regs *regs;
-};
diff --git a/mdk-stage1/dietlibc/include/asm/sigcontext.h b/mdk-stage1/dietlibc/include/asm/sigcontext.h
deleted file mode 100644
index c4a720cc0..000000000
--- a/mdk-stage1/dietlibc/include/asm/sigcontext.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _ASM_SIGCONTEXT_H
-#define _ASM_SIGCONTEXT_H
-
-#if defined(__i386__) || defined(__x86_64__)
-#include <asm/i386-sigcontext.h>
-#endif
-
-#ifdef __sparc__
-#include <asm/sparc-sigcontext.h>
-#endif
-
-#ifdef __mips__
-#include <asm/mips-sigcontext.h>
-#endif
-
-#ifdef __powerpc__
-#include <asm/ppc-sigcontext.h>
-#endif
-
-#ifdef __alpha__
-#include <asm/alpha-sigcontext.h>
-#endif
-
-#ifdef __arm__
-#include <asm/arm-sigcontext.h>
-#endif
-
-#ifdef __hppa__
-#include <asm/parisc-sigcontext.h>
-#endif
-
-#ifdef __ia64__
-#include <asm/ia64-sigcontext.h>
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h b/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h
deleted file mode 100644
index 98e4e09ce..000000000
--- a/mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#define __SUNOS_MAXWIN 31
-
-/* This is what SunOS does, so shall I. */
-struct sigcontext {
- int sigc_onstack; /* state to restore */
- int sigc_mask; /* sigmask to restore */
- int sigc_sp; /* stack pointer */
- int sigc_pc; /* program counter */
- int sigc_npc; /* next program counter */
- int sigc_psr; /* for condition codes etc */
- int sigc_g1; /* User uses these two registers */
- int sigc_o0; /* within the trampoline code. */
-
- /* Now comes information regarding the users window set
- * at the time of the signal.
- */
- int sigc_oswins; /* outstanding windows */
-
- /* stack ptrs for each regwin buf */
- char *sigc_spbuf[__SUNOS_MAXWIN];
-
- /* Windows to restore after signal */
- struct {
- unsigned long locals[8];
- unsigned long ins[8];
- } sigc_wbuf[__SUNOS_MAXWIN];
-};
-
-typedef struct {
- struct {
- unsigned long psr;
- unsigned long pc;
- unsigned long npc;
- unsigned long y;
- unsigned long u_regs[16]; /* globals and ins */
- } si_regs;
- int si_mask;
-} __siginfo_t;
-
-typedef struct {
- unsigned long si_float_regs [32];
- unsigned long si_fsr;
- unsigned long si_fpqdepth;
- struct {
- unsigned long *insn_addr;
- unsigned long insn;
- } si_fpqueue [16];
-} __siginfo_fpu_t;
-
diff --git a/mdk-stage1/dietlibc/include/asm/statfs.h b/mdk-stage1/dietlibc/include/asm/statfs.h
deleted file mode 100644
index 53b3b5e4d..000000000
--- a/mdk-stage1/dietlibc/include/asm/statfs.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/vfs.h>
diff --git a/mdk-stage1/dietlibc/include/asm/types.h b/mdk-stage1/dietlibc/include/asm/types.h
deleted file mode 100644
index aafa80f16..000000000
--- a/mdk-stage1/dietlibc/include/asm/types.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _ASM_TYPES_H
-#define _ASM_TYPES_H
-
-#include <sys/types.h>
-
-#ifdef __alpha__
-typedef unsigned int umode_t;
-#else
-typedef unsigned short umode_t;
-#endif
-
-typedef uint8_t __u8;
-typedef uint16_t __u16;
-typedef uint32_t __u32;
-#ifndef __STRICT_ANSI__
-typedef uint64_t __u64;
-#endif
-
-typedef int8_t __s8;
-typedef int16_t __s16;
-typedef int32_t __s32;
-#ifndef __STRICT_ANSI__
-typedef int64_t __s64;
-#endif
-
-#if defined(__alpha__)
-typedef unsigned long __kernel_size_t;
-#else
-typedef unsigned int __kernel_size_t;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/assert.h b/mdk-stage1/dietlibc/include/assert.h
deleted file mode 100644
index a8ce3ce87..000000000
--- a/mdk-stage1/dietlibc/include/assert.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _ASSERT_H
-#define _ASSERT_H
-
-#include <sys/cdefs.h>
-
-/* This prints an "Assertion failed" message and aborts. */
-extern void __assert_fail (const char *__assertion, const char *__file,
- unsigned int __line, const char *__function)
- __THROW __attribute__ ((__noreturn__));
-
-#ifdef __PRETTY_FUNCTION__
-#define __ASSERT_FUNCTION __PRETTY_FUNCTION__
-#else
-# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-# define __ASSERT_FUNCTION __func__
-# else
-# define __ASSERT_FUNCTION ((const char *) 0)
-# endif
-#endif
-
-#undef assert
-#ifdef NDEBUG
-#define assert(expr)
-#else
-#ifdef expect
-# define assert(expr) \
- ((void) (expect((long)(expr),0) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#else
-# define assert(expr) \
- ((void) ((expr) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/cpio.h b/mdk-stage1/dietlibc/include/cpio.h
deleted file mode 100644
index a18c2fbb6..000000000
--- a/mdk-stage1/dietlibc/include/cpio.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _CPIO_H_
-#define _CPIO_H_
-
-#define C_IRUSR 0000400
-#define C_IWUSR 0000200
-#define C_IXUSR 0000100
-#define C_IRGRP 0000040
-#define C_IWGRP 0000020
-#define C_IXGRP 0000010
-#define C_IROTH 0000004
-#define C_IWOTH 0000002
-#define C_IXOTH 0000001
-#define C_ISUID 0004000
-#define C_ISGID 0002000
-#define C_ISVTX 0001000
-#define C_ISDIR 0040000
-#define C_ISFIFO 0010000
-#define C_ISREG 0100000
-#define C_ISBLK 0060000
-#define C_ISCHR 0020000
-#define C_ISCTG 0110000
-#define C_ISLNK 0120000
-#define C_ISSOCK 0140000
-
-#define MAGIC "070707"
-
-#endif /* _CPIO_H_ */
diff --git a/mdk-stage1/dietlibc/include/ctype.h b/mdk-stage1/dietlibc/include/ctype.h
deleted file mode 100644
index 9322e8c7b..000000000
--- a/mdk-stage1/dietlibc/include/ctype.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _CTYPE_H
-#define _CTYPE_H
-
-#include <sys/cdefs.h>
-
-extern int isascii (int c) __THROW __attribute__ ((__const__));
-extern int isblank (int c) __THROW __attribute__ ((__const__));
-extern int isalnum (int c) __THROW __attribute__ ((__const__));
-extern int isalpha (int c) __THROW __attribute__ ((__const__));
-extern int isdigit (int c) __THROW __attribute__ ((__const__));
-extern int isspace (int c) __THROW __attribute__ ((__const__));
-
-extern int isupper (int c) __THROW __attribute__ ((__const__));
-extern int islower (int c) __THROW __attribute__ ((__const__));
-
-extern int tolower(int c) __THROW __attribute__ ((__const__));
-extern int toupper(int c) __THROW __attribute__ ((__const__));
-
-extern int isprint(int c) __THROW __attribute__ ((__const__));
-extern int ispunct(int c) __THROW __attribute__ ((__const__));
-extern int iscntrl(int c) __THROW __attribute__ ((__const__));
-
-/* fscking GNU extensions! */
-extern int isxdigit(int c) __THROW __attribute__ ((__const__));
-
-extern int isgraph(int c) __THROW __attribute__ ((__const__));
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/daemon.h b/mdk-stage1/dietlibc/include/daemon.h
deleted file mode 100644
index e2413d42b..000000000
--- a/mdk-stage1/dietlibc/include/daemon.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _DAEMON_H
-#define _DAEMON_H
-
-#include <unistd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dietref.h b/mdk-stage1/dietlibc/include/dietref.h
deleted file mode 100644
index 99d446300..000000000
--- a/mdk-stage1/dietlibc/include/dietref.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* diet includes this file to create linker dependencies on the diet
- * libc, so trying to link an object file compiled with diet against
- * glibc will fail. */
-
-#ifndef NODIETREF
-#include <endian.h>
-#ifdef __ASSEMBLER__
-.section .note
-#if (__WORDSIZE == 64)
-.quad __you_tried_to_link_a_dietlibc_object_against_glibc
-#else
-.long __you_tried_to_link_a_dietlibc_object_against_glibc
-#endif
-.previous
-#else
-#if (__WORDSIZE == 64)
-__asm__ (".section .note\n\t.quad __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous");
-#else
-__asm__ (".section .note\n\t.long __you_tried_to_link_a_dietlibc_object_against_glibc\n\t.previous");
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/include/dirent.h b/mdk-stage1/dietlibc/include/dirent.h
deleted file mode 100644
index ad8b3a41a..000000000
--- a/mdk-stage1/dietlibc/include/dirent.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _DIRENT_H
-#define _DIRENT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <limits.h>
-
-struct dirent {
- long d_ino;
- off_t d_off;
- unsigned short d_reclen;
- char d_name[256]; /* We must not include limits.h! */
-};
-
-#ifndef __STRICT_ANSI__
-struct dirent64 {
- uint64_t d_ino;
- int64_t d_off;
- unsigned short d_reclen;
- unsigned char d_type;
- char d_name[256];
-};
-#endif
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-#undef _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-
-typedef struct __dirstream DIR;
-
-DIR *opendir (const char *__name) __THROW;
-int closedir (DIR *__dirp) __THROW;
-struct dirent *readdir (DIR *__dirp) __THROW;
-struct dirent64 *readdir64 (DIR *__dirp) __THROW;
-void rewinddir (DIR *__dirp) __THROW;
-void seekdir (DIR *__dirp, long int __pos) __THROW;
-long int telldir (DIR *__dirp) __THROW;
-
-int scandir(const char *dir, struct dirent ***namelist,
- int (*selection)(const struct dirent *),
- int (*compar)(const struct dirent **, const struct dirent **)) __THROW;
-int scandir64(const char *dir, struct dirent64 ***namelist,
- int (*selection)(const struct dirent64 *),
- int (*compar)(const struct dirent64 **, const struct dirent64 **)) __THROW;
-
-int alphasort(const struct dirent **a, const struct dirent **b) __THROW __attribute__((const));
-int alphasort64(const struct dirent64 **a, const struct dirent64 **b) __THROW __attribute__((const));
-
-#define MAXNAMLEN NAME_MAX
-
-#ifdef _BSD_SOURCE
-extern int dirfd(DIR *dirp) __THROW;
-#endif
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define dirent dirent64
-#define readdir readdir64
-#define scandir scandir64
-#define alphasort alphasort64
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dlfcn.h b/mdk-stage1/dietlibc/include/dlfcn.h
deleted file mode 100644
index 0ddcafdba..000000000
--- a/mdk-stage1/dietlibc/include/dlfcn.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _DLFCN_H
-#define _DLFCN_H 1
-
-#define RTLD_LAZY 0x00000
-#define RTLD_NOW 0x00001
-
-#define RTLD_LOCAL 0x00000
-#define RTLD_GLOBAL 0x10000
-
-#define RTLD_DEFAULT ((void*)1)
-#define RTLD_NEXT ((void*)2)
-
-void *dlopen (const char *filename, int flag);
-const char *dlerror(void);
-void *dlsym(void *handle, char *symbol);
-int dlclose (void *handle);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/elf.h b/mdk-stage1/dietlibc/include/elf.h
deleted file mode 100644
index 7b198bad3..000000000
--- a/mdk-stage1/dietlibc/include/elf.h
+++ /dev/null
@@ -1,780 +0,0 @@
-#ifndef _ELF_H
-#define _ELF_H
-
-#include <inttypes.h>
-
-/* 32-bit ELF base types. */
-typedef uint32_t Elf32_Addr;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Off;
-typedef int32_t Elf32_Sword;
-typedef uint32_t Elf32_Word;
-
-/* 64-bit ELF base types. */
-typedef uint64_t Elf64_Addr;
-typedef uint16_t Elf64_Half;
-typedef int16_t Elf64_SHalf;
-typedef uint64_t Elf64_Off;
-typedef int32_t Elf64_Sword;
-typedef uint32_t Elf64_Word;
-typedef uint64_t Elf64_Xword;
-typedef int64_t Elf64_Sxword;
-
-/* These constants are for the segment types stored in the image headers */
-#define PT_NULL 0
-#define PT_LOAD 1
-#define PT_DYNAMIC 2
-#define PT_INTERP 3
-#define PT_NOTE 4
-#define PT_SHLIB 5
-#define PT_PHDR 6
-#define PT_LOPROC 0x70000000
-#define PT_HIPROC 0x7fffffff
-#define PT_MIPS_REGINFO 0x70000000
-
-/* Flags in the e_flags field of the header */
-#define EF_MIPS_NOREORDER 0x00000001
-#define EF_MIPS_PIC 0x00000002
-#define EF_MIPS_CPIC 0x00000004
-#define EF_MIPS_ARCH 0xf0000000
-
-/* These constants define the different elf file types */
-#define ET_NONE 0
-#define ET_REL 1
-#define ET_EXEC 2
-#define ET_DYN 3
-#define ET_CORE 4
-#define ET_LOPROC 0xff00
-#define ET_HIPROC 0xffff
-
-/* These constants define the various ELF target machines */
-#define EM_NONE 0
-#define EM_M32 1
-#define EM_SPARC 2
-#define EM_386 3
-#define EM_68K 4
-#define EM_88K 5
-#define EM_486 6 /* Perhaps disused */
-#define EM_860 7
-
-#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
-#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */
-
-#define EM_PARISC 15 /* HPPA */
-#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
-#define EM_PPC 20 /* PowerPC */
-#define EM_S390 22 /* IBM S/390 */
-
-#define EM_ARM 40 /* ARM */
-#define EM_SH 42 /* SuperH */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit */
-#define EM_IA_64 50 /* HP/Intel IA-64 */
-#define EM_X86_64 62 /* AMD x86-64 */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */
-
-/*
- * This is an interim value that we will use until the committee comes
- * up with a final number.
- */
-#define EM_ALPHA 0x9026
-
-/*
- * This is the old interim value for S/390 architecture
- */
-#define EM_S390_OLD 0xA390
-
-/* This is the info that is needed to parse the dynamic section of the file */
-#define DT_NULL 0
-#define DT_NEEDED 1
-#define DT_PLTRELSZ 2
-#define DT_PLTGOT 3
-#define DT_HASH 4
-#define DT_STRTAB 5
-#define DT_SYMTAB 6
-#define DT_RELA 7
-#define DT_RELASZ 8
-#define DT_RELAENT 9
-#define DT_STRSZ 10
-#define DT_SYMENT 11
-#define DT_INIT 12
-#define DT_FINI 13
-#define DT_SONAME 14
-#define DT_RPATH 15
-#define DT_SYMBOLIC 16
-#define DT_REL 17
-#define DT_RELSZ 18
-#define DT_RELENT 19
-#define DT_PLTREL 20
-#define DT_DEBUG 21
-#define DT_TEXTREL 22
-#define DT_JMPREL 23
-#define DT_NUM 24
-#define DT_LOPROC 0x70000000
-#define DT_HIPROC 0x7fffffff
-#define DT_MIPS_RLD_VERSION 0x70000001
-#define DT_MIPS_TIME_STAMP 0x70000002
-#define DT_MIPS_ICHECKSUM 0x70000003
-#define DT_MIPS_IVERSION 0x70000004
-#define DT_MIPS_FLAGS 0x70000005
- #define RHF_NONE 0
- #define RHF_HARDWAY 1
- #define RHF_NOTPOT 2
-#define DT_MIPS_BASE_ADDRESS 0x70000006
-#define DT_MIPS_CONFLICT 0x70000008
-#define DT_MIPS_LIBLIST 0x70000009
-#define DT_MIPS_LOCAL_GOTNO 0x7000000a
-#define DT_MIPS_CONFLICTNO 0x7000000b
-#define DT_MIPS_LIBLISTNO 0x70000010
-#define DT_MIPS_SYMTABNO 0x70000011
-#define DT_MIPS_UNREFEXTNO 0x70000012
-#define DT_MIPS_GOTSYM 0x70000013
-#define DT_MIPS_HIPAGENO 0x70000014
-#define DT_MIPS_RLD_MAP 0x70000016
-
-/* This info is needed when parsing the symbol table */
-#define STB_LOCAL 0
-#define STB_GLOBAL 1
-#define STB_WEAK 2
-
-#define STT_NOTYPE 0
-#define STT_OBJECT 1
-#define STT_FUNC 2
-#define STT_SECTION 3
-#define STT_FILE 4
-
-#define ELF32_ST_BIND(x) ((x) >> 4)
-#define ELF32_ST_TYPE(x) (((unsigned int) x) & 0xf)
-
-#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
-#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
-
-/* Symbolic values for the entries in the auxiliary table
- put on the initial stack */
-#define AT_NULL 0 /* end of vector */
-#define AT_IGNORE 1 /* entry should be ignored */
-#define AT_EXECFD 2 /* file descriptor of program */
-#define AT_PHDR 3 /* program headers for program */
-#define AT_PHENT 4 /* size of program header entry */
-#define AT_PHNUM 5 /* number of program headers */
-#define AT_PAGESZ 6 /* system page size */
-#define AT_BASE 7 /* base address of interpreter */
-#define AT_FLAGS 8 /* flags */
-#define AT_ENTRY 9 /* entry point of program */
-#define AT_NOTELF 10 /* program is not ELF */
-#define AT_UID 11 /* real uid */
-#define AT_EUID 12 /* effective uid */
-#define AT_GID 13 /* real gid */
-#define AT_EGID 14 /* effective gid */
-#define AT_PLATFORM 15 /* string identifying CPU for optimizations */
-#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */
-#define AT_CLKTCK 17 /* frequency at which times() increments */
-
-typedef struct dynamic{
- Elf32_Sword d_tag;
- union{
- Elf32_Sword d_val;
- Elf32_Addr d_ptr;
- } d_un;
-} Elf32_Dyn;
-
-typedef struct {
- Elf64_Sxword d_tag; /* entry tag value */
- union {
- Elf64_Xword d_val;
- Elf64_Addr d_ptr;
- } d_un;
-} Elf64_Dyn;
-
-/* The following are used with relocations */
-#define ELF32_R_SYM(x) ((x) >> 8)
-#define ELF32_R_TYPE(x) ((x) & 0xff)
-
-#define ELF64_R_SYM(x) ((x) >> 32)
-#define ELF64_R_TYPE(x) ((x) & 0xffffffff)
-
-#define R_386_NONE 0
-#define R_386_32 1
-#define R_386_PC32 2
-#define R_386_GOT32 3
-#define R_386_PLT32 4
-#define R_386_COPY 5
-#define R_386_GLOB_DAT 6
-#define R_386_JMP_SLOT 7
-#define R_386_RELATIVE 8
-#define R_386_GOTOFF 9
-#define R_386_GOTPC 10
-#define R_386_NUM 11
-
-#define R_MIPS_NONE 0
-#define R_MIPS_16 1
-#define R_MIPS_32 2
-#define R_MIPS_REL32 3
-#define R_MIPS_26 4
-#define R_MIPS_HI16 5
-#define R_MIPS_LO16 6
-#define R_MIPS_GPREL16 7
-#define R_MIPS_LITERAL 8
-#define R_MIPS_GOT16 9
-#define R_MIPS_PC16 10
-#define R_MIPS_CALL16 11
-#define R_MIPS_GPREL32 12
-/* The remaining relocs are defined on Irix, although they are not
- in the MIPS ELF ABI. */
-#define R_MIPS_UNUSED1 13
-#define R_MIPS_UNUSED2 14
-#define R_MIPS_UNUSED3 15
-#define R_MIPS_SHIFT5 16
-#define R_MIPS_SHIFT6 17
-#define R_MIPS_64 18
-#define R_MIPS_GOT_DISP 19
-#define R_MIPS_GOT_PAGE 20
-#define R_MIPS_GOT_OFST 21
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_GOTHI16 22
-#define R_MIPS_GOTLO16 23
-#define R_MIPS_SUB 24
-#define R_MIPS_INSERT_A 25
-#define R_MIPS_INSERT_B 26
-#define R_MIPS_DELETE 27
-#define R_MIPS_HIGHER 28
-#define R_MIPS_HIGHEST 29
-/*
- * The following two relocation types are specified in the MIPS ABI
- * conformance guide version 1.2 but not yet in the psABI.
- */
-#define R_MIPS_CALLHI16 30
-#define R_MIPS_CALLLO16 31
-/*
- * This range is reserved for vendor specific relocations.
- */
-#define R_MIPS_LOVENDOR 100
-#define R_MIPS_HIVENDOR 127
-
-
-/*
- * Sparc ELF relocation types
- */
-#define R_SPARC_NONE 0
-#define R_SPARC_8 1
-#define R_SPARC_16 2
-#define R_SPARC_32 3
-#define R_SPARC_DISP8 4
-#define R_SPARC_DISP16 5
-#define R_SPARC_DISP32 6
-#define R_SPARC_WDISP30 7
-#define R_SPARC_WDISP22 8
-#define R_SPARC_HI22 9
-#define R_SPARC_22 10
-#define R_SPARC_13 11
-#define R_SPARC_LO10 12
-#define R_SPARC_GOT10 13
-#define R_SPARC_GOT13 14
-#define R_SPARC_GOT22 15
-#define R_SPARC_PC10 16
-#define R_SPARC_PC22 17
-#define R_SPARC_WPLT30 18
-#define R_SPARC_COPY 19
-#define R_SPARC_GLOB_DAT 20
-#define R_SPARC_JMP_SLOT 21
-#define R_SPARC_RELATIVE 22
-#define R_SPARC_UA32 23
-#define R_SPARC_PLT32 24
-#define R_SPARC_HIPLT22 25
-#define R_SPARC_LOPLT10 26
-#define R_SPARC_PCPLT32 27
-#define R_SPARC_PCPLT22 28
-#define R_SPARC_PCPLT10 29
-#define R_SPARC_10 30
-#define R_SPARC_11 31
-#define R_SPARC_WDISP16 40
-#define R_SPARC_WDISP19 41
-#define R_SPARC_7 43
-#define R_SPARC_5 44
-#define R_SPARC_6 45
-
-/* Bits present in AT_HWCAP, primarily for Sparc32. */
-
-#define HWCAP_SPARC_FLUSH 1 /* CPU supports flush instruction. */
-#define HWCAP_SPARC_STBAR 2
-#define HWCAP_SPARC_SWAP 4
-#define HWCAP_SPARC_MULDIV 8
-#define HWCAP_SPARC_V9 16
-#define HWCAP_SPARC_ULTRA3 32
-
-/*
- * 68k ELF relocation types
- */
-#define R_68K_NONE 0
-#define R_68K_32 1
-#define R_68K_16 2
-#define R_68K_8 3
-#define R_68K_PC32 4
-#define R_68K_PC16 5
-#define R_68K_PC8 6
-#define R_68K_GOT32 7
-#define R_68K_GOT16 8
-#define R_68K_GOT8 9
-#define R_68K_GOT32O 10
-#define R_68K_GOT16O 11
-#define R_68K_GOT8O 12
-#define R_68K_PLT32 13
-#define R_68K_PLT16 14
-#define R_68K_PLT8 15
-#define R_68K_PLT32O 16
-#define R_68K_PLT16O 17
-#define R_68K_PLT8O 18
-#define R_68K_COPY 19
-#define R_68K_GLOB_DAT 20
-#define R_68K_JMP_SLOT 21
-#define R_68K_RELATIVE 22
-
-/*
- * Alpha ELF relocation types
- */
-#define R_ALPHA_NONE 0 /* No reloc */
-#define R_ALPHA_REFLONG 1 /* Direct 32 bit */
-#define R_ALPHA_REFQUAD 2 /* Direct 64 bit */
-#define R_ALPHA_GPREL32 3 /* GP relative 32 bit */
-#define R_ALPHA_LITERAL 4 /* GP relative 16 bit w/optimization */
-#define R_ALPHA_LITUSE 5 /* Optimization hint for LITERAL */
-#define R_ALPHA_GPDISP 6 /* Add displacement to GP */
-#define R_ALPHA_BRADDR 7 /* PC+4 relative 23 bit shifted */
-#define R_ALPHA_HINT 8 /* PC+4 relative 16 bit shifted */
-#define R_ALPHA_SREL16 9 /* PC relative 16 bit */
-#define R_ALPHA_SREL32 10 /* PC relative 32 bit */
-#define R_ALPHA_SREL64 11 /* PC relative 64 bit */
-#define R_ALPHA_OP_PUSH 12 /* OP stack push */
-#define R_ALPHA_OP_STORE 13 /* OP stack pop and store */
-#define R_ALPHA_OP_PSUB 14 /* OP stack subtract */
-#define R_ALPHA_OP_PRSHIFT 15 /* OP stack right shift */
-#define R_ALPHA_GPVALUE 16
-#define R_ALPHA_GPRELHIGH 17
-#define R_ALPHA_GPRELLOW 18
-#define R_ALPHA_IMMED_GP_16 19
-#define R_ALPHA_IMMED_GP_HI32 20
-#define R_ALPHA_IMMED_SCN_HI32 21
-#define R_ALPHA_IMMED_BR_HI32 22
-#define R_ALPHA_IMMED_LO32 23
-#define R_ALPHA_COPY 24 /* Copy symbol at runtime */
-#define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */
-#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */
-#define R_ALPHA_RELATIVE 27 /* Adjust by program base */
-
-/* Legal values for e_flags field of Elf64_Ehdr. */
-
-#define EF_ALPHA_32BIT 1 /* All addresses are below 2GB */
-
-/*
- * PowerPC
- */
-
-/* Values for Elf32/64_Ehdr.e_flags. */
-#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag */
-
-/* Cygnus local bits below */
-#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag*/
-#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib flag */
-
-/* PowerPC relocations defined by the ABIs */
-#define R_PPC_NONE 0
-#define R_PPC_ADDR32 1 /* 32bit absolute address */
-#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */
-#define R_PPC_ADDR16 3 /* 16bit absolute address */
-#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */
-#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */
-#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */
-#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */
-#define R_PPC_ADDR14_BRTAKEN 8
-#define R_PPC_ADDR14_BRNTAKEN 9
-#define R_PPC_REL24 10 /* PC relative 26 bit */
-#define R_PPC_REL14 11 /* PC relative 16 bit */
-#define R_PPC_REL14_BRTAKEN 12
-#define R_PPC_REL14_BRNTAKEN 13
-#define R_PPC_GOT16 14
-#define R_PPC_GOT16_LO 15
-#define R_PPC_GOT16_HI 16
-#define R_PPC_GOT16_HA 17
-#define R_PPC_PLTREL24 18
-#define R_PPC_COPY 19
-#define R_PPC_GLOB_DAT 20
-#define R_PPC_JMP_SLOT 21
-#define R_PPC_RELATIVE 22
-#define R_PPC_LOCAL24PC 23
-#define R_PPC_UADDR32 24
-#define R_PPC_UADDR16 25
-#define R_PPC_REL32 26
-#define R_PPC_PLT32 27
-#define R_PPC_PLTREL32 28
-#define R_PPC_PLT16_LO 29
-#define R_PPC_PLT16_HI 30
-#define R_PPC_PLT16_HA 31
-#define R_PPC_SDAREL16 32
-#define R_PPC_SECTOFF 33
-#define R_PPC_SECTOFF_LO 34
-#define R_PPC_SECTOFF_HI 35
-#define R_PPC_SECTOFF_HA 36
-/* Keep this the last entry. */
-#define R_PPC_NUM 37
-
-/* The remaining relocs are from the Embedded ELF ABI, and are not
- in the SVR4 ELF ABI. */
-#define R_PPC_EMB_NADDR32 101
-#define R_PPC_EMB_NADDR16 102
-#define R_PPC_EMB_NADDR16_LO 103
-#define R_PPC_EMB_NADDR16_HI 104
-#define R_PPC_EMB_NADDR16_HA 105
-#define R_PPC_EMB_SDAI16 106
-#define R_PPC_EMB_SDA2I16 107
-#define R_PPC_EMB_SDA2REL 108
-#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */
-#define R_PPC_EMB_MRKREF 110
-#define R_PPC_EMB_RELSEC16 111
-#define R_PPC_EMB_RELST_LO 112
-#define R_PPC_EMB_RELST_HI 113
-#define R_PPC_EMB_RELST_HA 114
-#define R_PPC_EMB_BIT_FLD 115
-#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */
-
-/* Diab tool relocations. */
-#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */
-#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */
-#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */
-#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */
-#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */
-#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */
-
-/* This is a phony reloc to handle any old fashioned TOC16 references
- that may still be in object files. */
-#define R_PPC_TOC16 255
-
-/*
- * ARM ELF relocation types
- */
-#define R_ARM_NONE 0 /* No reloc */
-#define R_ARM_PC24 1 /* PC relative 26 bit branch */
-#define R_ARM_ABS32 2 /* Direct 32 bit */
-#define R_ARM_REL32 3 /* PC relative 32 bit */
-#define R_ARM_PC13 4
-#define R_ARM_ABS16 5 /* Direct 16 bit */
-#define R_ARM_ABS12 6 /* Direct 12 bit */
-#define R_ARM_THM_ABS5 7
-#define R_ARM_ABS8 8 /* Direct 8 bit */
-#define R_ARM_SBREL32 9
-#define R_ARM_THM_PC22 10
-#define R_ARM_THM_PC8 11
-#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
-#define R_ARM_THM_SWI8 14
-#define R_ARM_XPC25 15
-#define R_ARM_THM_XPC22 16
-#define R_ARM_COPY 20 /* Copy symbol at runtime */
-#define R_ARM_GLOB_DAT 21 /* Create GOT entry */
-#define R_ARM_JUMP_SLOT 22 /* Create PLT entry */
-#define R_ARM_RELATIVE 23 /* Adjust by program base */
-#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */
-#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
-#define R_ARM_GOT32 26 /* 32 bit GOT entry */
-#define R_ARM_PLT32 27 /* 32 bit PLT address */
-#define R_ARM_GNU_VTENTRY 100
-#define R_ARM_GNU_VTINHERIT 101
-#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
-#define R_ARM_THM_PC9 103 /* thumb conditional branch */
-#define R_ARM_RXPC25 249
-#define R_ARM_RSBREL32 250
-#define R_ARM_THM_RPC22 251
-#define R_ARM_RREL32 252
-#define R_ARM_RABS22 253
-#define R_ARM_RPC24 254
-#define R_ARM_RBASE 255
-/* Keep this the last entry. */
-#define R_ARM_NUM 256
-
-/* Processor specific flags for the ELF header e_flags field. */
-#define EF_ARM_RELEXEC 0x01
-#define EF_ARM_HASENTRY 0x02
-#define EF_ARM_INTERWORK 0x04
-#define EF_ARM_APCS_26 0x08
-#define EF_ARM_APCS_FLOAT 0x10
-#define EF_ARM_PIC 0x20
-#define EF_ALIGN8 0x40 /* 8-bit structure alignment is in use */
-#define EF_NEW_ABI 0x80
-#define EF_OLD_ABI 0x100
-
-/* Additional symbol types for Thumb */
-#define STT_ARM_TFUNC 0xd
-
-/* AMD x86-64 relocations. */
-#define R_X86_64_NONE 0 /* No reloc */
-#define R_X86_64_64 1 /* Direct 64 bit */
-#define R_X86_64_PC32 2 /* PC relative 32 bit signed */
-#define R_X86_64_GOT32 3 /* 32 bit GOT entry */
-#define R_X86_64_PLT32 4 /* 32 bit PLT address */
-#define R_X86_64_COPY 5 /* Copy symbol at runtime */
-#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
-#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
-#define R_X86_64_RELATIVE 8 /* Adjust by program base */
-#define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative
- offset to GOT */
-#define R_X86_64_32 10 /* Direct 32 bit zero extended */
-#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
-#define R_X86_64_16 12 /* Direct 16 bit zero extended */
-#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */
-#define R_X86_64_8 14 /* Direct 8 bit sign extended */
-#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in module's TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in initial TLS block */
-#define R_X86_64_TLSGD 19 /* 32 bit signed PC relative offset
- to two GOT entries for GD symbol */
-#define R_X86_64_TLSLD 20 /* 32 bit signed PC relative offset
- to two GOT entries for LD symbol */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* 32 bit signed PC relative offset
- to GOT entry for IE symbol */
-#define R_X86_64_TPOFF32 23 /* Offset in initial TLS block */
-
-#define R_X86_64_NUM 24
-
-typedef struct elf32_rel {
- Elf32_Addr r_offset;
- Elf32_Word r_info;
-} Elf32_Rel;
-
-typedef struct elf64_rel {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
-} Elf64_Rel;
-
-typedef struct elf32_rela{
- Elf32_Addr r_offset;
- Elf32_Word r_info;
- Elf32_Sword r_addend;
-} Elf32_Rela;
-
-typedef struct elf64_rela {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
- Elf64_Sxword r_addend; /* Constant addend used to compute value */
-} Elf64_Rela;
-
-typedef struct elf32_sym{
- Elf32_Word st_name;
- Elf32_Addr st_value;
- Elf32_Word st_size;
- unsigned char st_info;
- unsigned char st_other;
- Elf32_Half st_shndx;
-} Elf32_Sym;
-
-typedef struct elf64_sym {
- Elf64_Word st_name; /* Symbol name, index in string tbl */
- unsigned char st_info; /* Type and binding attributes */
- unsigned char st_other; /* No defined meaning, 0 */
- Elf64_Half st_shndx; /* Associated section index */
- Elf64_Addr st_value; /* Value of the symbol */
- Elf64_Xword st_size; /* Associated symbol size */
-} Elf64_Sym;
-
-
-#define EI_NIDENT 16
-
-typedef struct elf32_hdr{
- unsigned char e_ident[EI_NIDENT];
- Elf32_Half e_type;
- Elf32_Half e_machine;
- Elf32_Word e_version;
- Elf32_Addr e_entry; /* Entry point */
- Elf32_Off e_phoff;
- Elf32_Off e_shoff;
- Elf32_Word e_flags;
- Elf32_Half e_ehsize;
- Elf32_Half e_phentsize;
- Elf32_Half e_phnum;
- Elf32_Half e_shentsize;
- Elf32_Half e_shnum;
- Elf32_Half e_shstrndx;
-} Elf32_Ehdr;
-
-typedef struct elf64_hdr {
- unsigned char e_ident[16]; /* ELF "magic number" */
- Elf64_Half e_type;
- Elf64_Half e_machine;
- Elf64_Word e_version;
- Elf64_Addr e_entry; /* Entry point virtual address */
- Elf64_Off e_phoff; /* Program header table file offset */
- Elf64_Off e_shoff; /* Section header table file offset */
- Elf64_Word e_flags;
- Elf64_Half e_ehsize;
- Elf64_Half e_phentsize;
- Elf64_Half e_phnum;
- Elf64_Half e_shentsize;
- Elf64_Half e_shnum;
- Elf64_Half e_shstrndx;
-} Elf64_Ehdr;
-
-/* These constants define the permissions on sections in the program
- header, p_flags. */
-#define PF_R 0x4
-#define PF_W 0x2
-#define PF_X 0x1
-
-typedef struct elf32_phdr{
- Elf32_Word p_type;
- Elf32_Off p_offset;
- Elf32_Addr p_vaddr;
- Elf32_Addr p_paddr;
- Elf32_Word p_filesz;
- Elf32_Word p_memsz;
- Elf32_Word p_flags;
- Elf32_Word p_align;
-} Elf32_Phdr;
-
-typedef struct elf64_phdr {
- Elf64_Word p_type;
- Elf64_Word p_flags;
- Elf64_Off p_offset; /* Segment file offset */
- Elf64_Addr p_vaddr; /* Segment virtual address */
- Elf64_Addr p_paddr; /* Segment physical address */
- Elf64_Xword p_filesz; /* Segment size in file */
- Elf64_Xword p_memsz; /* Segment size in memory */
- Elf64_Xword p_align; /* Segment alignment, file & memory */
-} Elf64_Phdr;
-
-/* sh_type */
-#define SHT_NULL 0
-#define SHT_PROGBITS 1
-#define SHT_SYMTAB 2
-#define SHT_STRTAB 3
-#define SHT_RELA 4
-#define SHT_HASH 5
-#define SHT_DYNAMIC 6
-#define SHT_NOTE 7
-#define SHT_NOBITS 8
-#define SHT_REL 9
-#define SHT_SHLIB 10
-#define SHT_DYNSYM 11
-#define SHT_NUM 12
-#define SHT_LOPROC 0x70000000
-#define SHT_HIPROC 0x7fffffff
-#define SHT_LOUSER 0x80000000
-#define SHT_HIUSER 0xffffffff
-#define SHT_MIPS_LIST 0x70000000
-#define SHT_MIPS_CONFLICT 0x70000002
-#define SHT_MIPS_GPTAB 0x70000003
-#define SHT_MIPS_UCODE 0x70000004
-
-/* sh_flags */
-#define SHF_WRITE 0x1
-#define SHF_ALLOC 0x2
-#define SHF_EXECINSTR 0x4
-#define SHF_MASKPROC 0xf0000000
-#define SHF_MIPS_GPREL 0x10000000
-#define SHF_ALPHA_GPREL 0x10000000
-
-/* special section indexes */
-#define SHN_UNDEF 0
-#define SHN_LORESERVE 0xff00
-#define SHN_LOPROC 0xff00
-#define SHN_HIPROC 0xff1f
-#define SHN_ABS 0xfff1
-#define SHN_COMMON 0xfff2
-#define SHN_HIRESERVE 0xffff
-#define SHN_MIPS_ACCOMON 0xff00
-
-typedef struct {
- Elf32_Word sh_name;
- Elf32_Word sh_type;
- Elf32_Word sh_flags;
- Elf32_Addr sh_addr;
- Elf32_Off sh_offset;
- Elf32_Word sh_size;
- Elf32_Word sh_link;
- Elf32_Word sh_info;
- Elf32_Word sh_addralign;
- Elf32_Word sh_entsize;
-} Elf32_Shdr;
-
-typedef struct elf64_shdr {
- Elf64_Word sh_name; /* Section name, index in string tbl */
- Elf64_Word sh_type; /* Type of section */
- Elf64_Xword sh_flags; /* Miscellaneous section attributes */
- Elf64_Addr sh_addr; /* Section virtual addr at execution */
- Elf64_Off sh_offset; /* Section file offset */
- Elf64_Xword sh_size; /* Size of section in bytes */
- Elf64_Word sh_link; /* Index of another section */
- Elf64_Word sh_info; /* Additional section information */
- Elf64_Xword sh_addralign; /* Section alignment */
- Elf64_Xword sh_entsize; /* Entry size if section holds table */
-} Elf64_Shdr;
-
-#define EI_MAG0 0 /* e_ident[] indexes */
-#define EI_MAG1 1
-#define EI_MAG2 2
-#define EI_MAG3 3
-#define EI_CLASS 4
-#define EI_DATA 5
-#define EI_VERSION 6
-#define EI_PAD 7
-
-#define ELFMAG0 0x7f /* EI_MAG */
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF"
-#define SELFMAG 4
-
-#define ELFCLASSNONE 0 /* EI_CLASS */
-#define ELFCLASS32 1
-#define ELFCLASS64 2
-#define ELFCLASSNUM 3
-
-#define ELFDATANONE 0 /* e_ident[EI_DATA] */
-#define ELFDATA2LSB 1
-#define ELFDATA2MSB 2
-
-#define EV_NONE 0 /* e_version, EI_VERSION */
-#define EV_CURRENT 1
-#define EV_NUM 2
-
-/* Notes used in ET_CORE */
-#define NT_PRSTATUS 1
-#define NT_PRFPREG 2
-#define NT_PRPSINFO 3
-#define NT_TASKSTRUCT 4
-#define NT_PRFPXREG 20
-
-/* Note header in a PT_NOTE section */
-typedef struct elf32_note {
- Elf32_Word n_namesz; /* Name size */
- Elf32_Word n_descsz; /* Content size */
- Elf32_Word n_type; /* Content type */
-} Elf32_Nhdr;
-
-/* Note header in a PT_NOTE section */
-typedef struct elf64_note {
- Elf64_Word n_namesz; /* Name size */
- Elf64_Word n_descsz; /* Content size */
- Elf64_Word n_type; /* Content type */
-} Elf64_Nhdr;
-
-#if ELF_CLASS == ELFCLASS32
-
-extern Elf32_Dyn _DYNAMIC [];
-#define elfhdr elf32_hdr
-#define elf_phdr elf32_phdr
-#define elf_note elf32_note
-
-#else
-
-extern Elf64_Dyn _DYNAMIC [];
-#define elfhdr elf64_hdr
-#define elf_phdr elf64_phdr
-#define elf_note elf64_note
-
-#endif
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/endian.h b/mdk-stage1/dietlibc/include/endian.h
deleted file mode 100644
index 93b1f2948..000000000
--- a/mdk-stage1/dietlibc/include/endian.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef _ENDIAN_H
-#define _ENDIAN_H
-
-#define __LITTLE_ENDIAN 1234
-#define __BIG_ENDIAN 4321
-
-#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__)
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __sparc__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __hppa__
-/* I hope this is correct...? */
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-
-#ifdef __mips__
-#ifdef __MIPSEB__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-#endif
-
-#ifndef __BYTE_ORDER
-#ifdef __BIG_ENDIAN__
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#else
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#endif
-#endif
-
-#define LITTLE_ENDIAN __LITTLE_ENDIAN
-#define BIG_ENDIAN __BIG_ENDIAN
-#define BYTE_ORDER __BYTE_ORDER
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-# define __LONG_LONG_PAIR(HI, LO) LO, HI
-#elif __BYTE_ORDER == __BIG_ENDIAN
-# define __LONG_LONG_PAIR(HI, LO) HI, LO
-#endif
-
-#if defined(__alpha__) || defined(__mips64) || defined(__sparc_v9__) || defined(__x86_64__) || defined(__ia64__)
-#define __WORDSIZE 64
-#endif
-
-#if defined(__sparc__) && (__arch64__)
-#define __WORDSIZE 64
-#endif
-
-#ifndef __WORDSIZE
-#define __WORDSIZE 32
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/errno.h b/mdk-stage1/dietlibc/include/errno.h
deleted file mode 100644
index 12aa394da..000000000
--- a/mdk-stage1/dietlibc/include/errno.h
+++ /dev/null
@@ -1,546 +0,0 @@
-#ifndef _ERRNO_H
-#define _ERRNO_H
-
-#if defined(__alpha__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EDEADLK 11 /* Resource deadlock would occur */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EAGAIN 35 /* Try again */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EINPROGRESS 36 /* Operation now in progress */
-#define EALREADY 37 /* Operation already in progress */
-#define ENOTSOCK 38 /* Socket operation on non-socket */
-#define EDESTADDRREQ 39 /* Destination address required */
-#define EMSGSIZE 40 /* Message too long */
-#define EPROTOTYPE 41 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 42 /* Protocol not available */
-#define EPROTONOSUPPORT 43 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
-#define EOPNOTSUPP 45 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 46 /* Protocol family not supported */
-#define EAFNOSUPPORT 47 /* Address family not supported by protocol */
-#define EADDRINUSE 48 /* Address already in use */
-#define EADDRNOTAVAIL 49 /* Cannot assign requested address */
-#define ENETDOWN 50 /* Network is down */
-#define ENETUNREACH 51 /* Network is unreachable */
-#define ENETRESET 52 /* Network dropped connection because of reset */
-#define ECONNABORTED 53 /* Software caused connection abort */
-#define ECONNRESET 54 /* Connection reset by peer */
-#define ENOBUFS 55 /* No buffer space available */
-#define EISCONN 56 /* Transport endpoint is already connected */
-#define ENOTCONN 57 /* Transport endpoint is not connected */
-#define ESHUTDOWN 58 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 59 /* Too many references: cannot splice */
-#define ETIMEDOUT 60 /* Connection timed out */
-#define ECONNREFUSED 61 /* Connection refused */
-#define ELOOP 62 /* Too many symbolic links encountered */
-#define ENAMETOOLONG 63 /* File name too long */
-#define EHOSTDOWN 64 /* Host is down */
-#define EHOSTUNREACH 65 /* No route to host */
-#define ENOTEMPTY 66 /* Directory not empty */
-#define EUSERS 68 /* Too many users */
-#define EDQUOT 69 /* Quota exceeded */
-#define ESTALE 70 /* Stale NFS file handle */
-#define EREMOTE 71 /* Object is remote */
-#define ENOLCK 77 /* No record locks available */
-#define ENOSYS 78 /* Function not implemented */
-#define ENOMSG 80 /* No message of desired type */
-#define EIDRM 81 /* Identifier removed */
-#define ENOSR 82 /* Out of streams resources */
-#define ETIME 83 /* Timer expired */
-#define EBADMSG 84 /* Not a data message */
-#define EPROTO 85 /* Protocol error */
-#define ENODATA 86 /* No data available */
-#define ENOSTR 87 /* Device not a stream */
-#define ENOPKG 92 /* Package not installed */
-#define EILSEQ 116 /* Illegal byte sequence */
-/* The following are just random noise.. */
-#define ECHRNG 88 /* Channel number out of range */
-#define EL2NSYNC 89 /* Level 2 not synchronized */
-#define EL3HLT 90 /* Level 3 halted */
-#define EL3RST 91 /* Level 3 reset */
-#define ELNRNG 93 /* Link number out of range */
-#define EUNATCH 94 /* Protocol driver not attached */
-#define ENOCSI 95 /* No CSI structure available */
-#define EL2HLT 96 /* Level 2 halted */
-#define EBADE 97 /* Invalid exchange */
-#define EBADR 98 /* Invalid request descriptor */
-#define EXFULL 99 /* Exchange full */
-#define ENOANO 100 /* No anode */
-#define EBADRQC 101 /* Invalid request code */
-#define EBADSLT 102 /* Invalid slot */
-#define EDEADLOCK EDEADLK
-#define EBFONT 104 /* Bad font file format */
-#define ENONET 105 /* Machine is not on the network */
-#define ENOLINK 106 /* Link has been severed */
-#define EADV 107 /* Advertise error */
-#define ESRMNT 108 /* Srmount error */
-#define ECOMM 109 /* Communication error on send */
-#define EMULTIHOP 110 /* Multihop attempted */
-#define EDOTDOT 111 /* RFS specific error */
-#define EOVERFLOW 112 /* Value too large for defined data type */
-#define ENOTUNIQ 113 /* Name not unique on network */
-#define EBADFD 114 /* File descriptor in bad state */
-#define EREMCHG 115 /* Remote address changed */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define ELIBACC 122 /* Can not access a needed shared library */
-#define ELIBBAD 123 /* Accessing a corrupted shared library */
-#define ELIBSCN 124 /* .lib section in a.out corrupted */
-#define ELIBMAX 125 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 126 /* Cannot exec a shared library directly */
-#define ERESTART 127 /* Interrupted system call should be restarted */
-#define ESTRPIPE 128 /* Streams pipe error */
-#define ENOMEDIUM 129 /* No medium found */
-#define EMEDIUMTYPE 130 /* Wrong medium type */
-
-#elif defined(__mips__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define ENOMSG 35 /* No message of desired type */
-#define EIDRM 36 /* Identifier removed */
-#define ECHRNG 37 /* Channel number out of range */
-#define EL2NSYNC 38 /* Level 2 not synchronized */
-#define EL3HLT 39 /* Level 3 halted */
-#define EL3RST 40 /* Level 3 reset */
-#define ELNRNG 41 /* Link number out of range */
-#define EUNATCH 42 /* Protocol driver not attached */
-#define ENOCSI 43 /* No CSI structure available */
-#define EL2HLT 44 /* Level 2 halted */
-#define EDEADLK 45 /* Resource deadlock would occur */
-#define ENOLCK 46 /* No record locks available */
-#define EBADE 50 /* Invalid exchange */
-#define EBADR 51 /* Invalid request descriptor */
-#define EXFULL 52 /* Exchange full */
-#define ENOANO 53 /* No anode */
-#define EBADRQC 54 /* Invalid request code */
-#define EBADSLT 55 /* Invalid slot */
-#define EDEADLOCK 56 /* File locking deadlock error */
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EDOTDOT 73 /* RFS specific error */
-#define EMULTIHOP 74 /* Multihop attempted */
-#define EBADMSG 77 /* Not a data message */
-#define ENAMETOOLONG 78 /* File name too long */
-#define EOVERFLOW 79 /* Value too large for defined data type */
-#define ENOTUNIQ 80 /* Name not unique on network */
-#define EBADFD 81 /* File descriptor in bad state */
-#define EREMCHG 82 /* Remote address changed */
-#define ELIBACC 83 /* Can not access a needed shared library */
-#define ELIBBAD 84 /* Accessing a corrupted shared library */
-#define ELIBSCN 85 /* .lib section in a.out corrupted */
-#define ELIBMAX 86 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 87 /* Cannot exec a shared library directly */
-#define EILSEQ 88 /* Illegal byte sequence */
-#define ENOSYS 89 /* Function not implemented */
-#define ELOOP 90 /* Too many symbolic links encountered */
-#define ERESTART 91 /* Interrupted system call should be restarted */
-#define ESTRPIPE 92 /* Streams pipe error */
-#define ENOTEMPTY 93 /* Directory not empty */
-#define EUSERS 94 /* Too many users */
-#define ENOTSOCK 95 /* Socket operation on non-socket */
-#define EDESTADDRREQ 96 /* Destination address required */
-#define EMSGSIZE 97 /* Message too long */
-#define EPROTOTYPE 98 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 99 /* Protocol not available */
-#define EPROTONOSUPPORT 120 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
-#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 123 /* Protocol family not supported */
-#define EAFNOSUPPORT 124 /* Address family not supported by protocol */
-#define EADDRINUSE 125 /* Address already in use */
-#define EADDRNOTAVAIL 126 /* Cannot assign requested address */
-#define ENETDOWN 127 /* Network is down */
-#define ENETUNREACH 128 /* Network is unreachable */
-#define ENETRESET 129 /* Network dropped connection because of reset */
-#define ECONNABORTED 130 /* Software caused connection abort */
-#define ECONNRESET 131 /* Connection reset by peer */
-#define ENOBUFS 132 /* No buffer space available */
-#define EISCONN 133 /* Transport endpoint is already connected */
-#define ENOTCONN 134 /* Transport endpoint is not connected */
-#define EUCLEAN 135 /* Structure needs cleaning */
-#define ENOTNAM 137 /* Not a XENIX named type file */
-#define ENAVAIL 138 /* No XENIX semaphores available */
-#define EISNAM 139 /* Is a named type file */
-#define EREMOTEIO 140 /* Remote I/O error */
-#define EINIT 141 /* Reserved */
-#define EREMDEV 142 /* Error 142 */
-#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 144 /* Too many references: cannot splice */
-#define ETIMEDOUT 145 /* Connection timed out */
-#define ECONNREFUSED 146 /* Connection refused */
-#define EHOSTDOWN 147 /* Host is down */
-#define EHOSTUNREACH 148 /* No route to host */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EALREADY 149 /* Operation already in progress */
-#define EINPROGRESS 150 /* Operation now in progress */
-#define ESTALE 151 /* Stale NFS file handle */
-#define ECANCELED 158 /* AIO operation canceled */
-#define ENOMEDIUM 159 /* No medium found */
-#define EMEDIUMTYPE 160 /* Wrong medium type */
-#define EDQUOT 1133 /* Quota exceeded */
-
-#elif defined(__sparc__)
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define EINPROGRESS 36 /* Operation now in progress */
-#define EALREADY 37 /* Operation already in progress */
-#define ENOTSOCK 38 /* Socket operation on non-socket */
-#define EDESTADDRREQ 39 /* Destination address required */
-#define EMSGSIZE 40 /* Message too long */
-#define EPROTOTYPE 41 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 42 /* Protocol not available */
-#define EPROTONOSUPPORT 43 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
-#define EOPNOTSUPP 45 /* Op not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 46 /* Protocol family not supported */
-#define EAFNOSUPPORT 47 /* Address family not supported by protocol */
-#define EADDRINUSE 48 /* Address already in use */
-#define EADDRNOTAVAIL 49 /* Cannot assign requested address */
-#define ENETDOWN 50 /* Network is down */
-#define ENETUNREACH 51 /* Network is unreachable */
-#define ENETRESET 52 /* Net dropped connection because of reset */
-#define ECONNABORTED 53 /* Software caused connection abort */
-#define ECONNRESET 54 /* Connection reset by peer */
-#define ENOBUFS 55 /* No buffer space available */
-#define EISCONN 56 /* Transport endpoint is already connected */
-#define ENOTCONN 57 /* Transport endpoint is not connected */
-#define ESHUTDOWN 58 /* No send after transport endpoint shutdown */
-#define ETOOMANYREFS 59 /* Too many references: cannot splice */
-#define ETIMEDOUT 60 /* Connection timed out */
-#define ECONNREFUSED 61 /* Connection refused */
-#define ELOOP 62 /* Too many symbolic links encountered */
-#define ENAMETOOLONG 63 /* File name too long */
-#define EHOSTDOWN 64 /* Host is down */
-#define EHOSTUNREACH 65 /* No route to host */
-#define ENOTEMPTY 66 /* Directory not empty */
-#define EPROCLIM 67 /* SUNOS: Too many processes */
-#define EUSERS 68 /* Too many users */
-#define EDQUOT 69 /* Quota exceeded */
-#define ESTALE 70 /* Stale NFS file handle */
-#define EREMOTE 71 /* Object is remote */
-#define ENOSTR 72 /* Device not a stream */
-#define ETIME 73 /* Timer expired */
-#define ENOSR 74 /* Out of streams resources */
-#define ENOMSG 75 /* No message of desired type */
-#define EBADMSG 76 /* Not a data message */
-#define EIDRM 77 /* Identifier removed */
-#define EDEADLK 78 /* Resource deadlock would occur */
-#define ENOLCK 79 /* No record locks available */
-#define ENONET 80 /* Machine is not on the network */
-#define ERREMOTE 81 /* SunOS: Too many lvls of remote in path */
-#define ENOLINK 82 /* Link has been severed */
-#define EADV 83 /* Advertise error */
-#define ESRMNT 84 /* Srmount error */
-#define ECOMM 85 /* Communication error on send */
-#define EPROTO 86 /* Protocol error */
-#define EMULTIHOP 87 /* Multihop attempted */
-#define EDOTDOT 88 /* RFS specific error */
-#define EREMCHG 89 /* Remote address changed */
-#define ENOSYS 90 /* Function not implemented */
-#define ESTRPIPE 91 /* Streams pipe error */
-#define EOVERFLOW 92 /* Value too large for defined data type */
-#define EBADFD 93 /* File descriptor in bad state */
-#define ECHRNG 94 /* Channel number out of range */
-#define EL2NSYNC 95 /* Level 2 not synchronized */
-#define EL3HLT 96 /* Level 3 halted */
-#define EL3RST 97 /* Level 3 reset */
-#define ELNRNG 98 /* Link number out of range */
-#define EUNATCH 99 /* Protocol driver not attached */
-#define ENOCSI 100 /* No CSI structure available */
-#define EL2HLT 101 /* Level 2 halted */
-#define EBADE 102 /* Invalid exchange */
-#define EBADR 103 /* Invalid request descriptor */
-#define EXFULL 104 /* Exchange full */
-#define ENOANO 105 /* No anode */
-#define EBADRQC 106 /* Invalid request code */
-#define EBADSLT 107 /* Invalid slot */
-#define EDEADLOCK 108 /* File locking deadlock error */
-#define EBFONT 109 /* Bad font file format */
-#define ELIBEXEC 110 /* Cannot exec a shared library directly */
-#define ENODATA 111 /* No data available */
-#define ELIBBAD 112 /* Accessing a corrupted shared library */
-#define ENOPKG 113 /* Package not installed */
-#define ELIBACC 114 /* Can not access a needed shared library */
-#define ENOTUNIQ 115 /* Name not unique on network */
-#define ERESTART 116 /* Interrupted syscall should be restarted */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EILSEQ 122 /* Illegal byte sequence */
-#define ELIBMAX 123 /* Atmpt to link in too many shared libs */
-#define ELIBSCN 124 /* .lib section in a.out corrupted */
-#define ENOMEDIUM 125 /* No medium found */
-#define EMEDIUMTYPE 126 /* Wrong medium type */
-
-#else
-
-/* i386, arm, ppc, x86_64, ia64 */
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-#define EDEADLK 35 /* Resource deadlock would occur */
-#define ENAMETOOLONG 36 /* File name too long */
-#define ENOLCK 37 /* No record locks available */
-#define ENOSYS 38 /* Function not implemented */
-#define ENOTEMPTY 39 /* Directory not empty */
-#define ELOOP 40 /* Too many symbolic links encountered */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define ENOMSG 42 /* No message of desired type */
-#define EIDRM 43 /* Identifier removed */
-#define ECHRNG 44 /* Channel number out of range */
-#define EL2NSYNC 45 /* Level 2 not synchronized */
-#define EL3HLT 46 /* Level 3 halted */
-#define EL3RST 47 /* Level 3 reset */
-#define ELNRNG 48 /* Link number out of range */
-#define EUNATCH 49 /* Protocol driver not attached */
-#define ENOCSI 50 /* No CSI structure available */
-#define EL2HLT 51 /* Level 2 halted */
-#define EBADE 52 /* Invalid exchange */
-#define EBADR 53 /* Invalid request descriptor */
-#define EXFULL 54 /* Exchange full */
-#define ENOANO 55 /* No anode */
-#define EBADRQC 56 /* Invalid request code */
-#define EBADSLT 57 /* Invalid slot */
-#define EDEADLOCK EDEADLK
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EMULTIHOP 72 /* Multihop attempted */
-#define EDOTDOT 73 /* RFS specific error */
-#define EBADMSG 74 /* Not a data message */
-#define EOVERFLOW 75 /* Value too large for defined data type */
-#define ENOTUNIQ 76 /* Name not unique on network */
-#define EBADFD 77 /* File descriptor in bad state */
-#define EREMCHG 78 /* Remote address changed */
-#define ELIBACC 79 /* Can not access a needed shared library */
-#define ELIBBAD 80 /* Accessing a corrupted shared library */
-#define ELIBSCN 81 /* .lib section in a.out corrupted */
-#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 83 /* Cannot exec a shared library directly */
-#define EILSEQ 84 /* Illegal byte sequence */
-#define ERESTART 85 /* Interrupted system call should be restarted */
-#define ESTRPIPE 86 /* Streams pipe error */
-#define EUSERS 87 /* Too many users */
-#define ENOTSOCK 88 /* Socket operation on non-socket */
-#define EDESTADDRREQ 89 /* Destination address required */
-#define EMSGSIZE 90 /* Message too long */
-#define EPROTOTYPE 91 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 92 /* Protocol not available */
-#define EPROTONOSUPPORT 93 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
-#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
-#define ENOTSUP EOPNOTSUPP/* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 96 /* Protocol family not supported */
-#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
-#define EADDRINUSE 98 /* Address already in use */
-#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
-#define ENETDOWN 100 /* Network is down */
-#define ENETUNREACH 101 /* Network is unreachable */
-#define ENETRESET 102 /* Network dropped connection because of reset */
-#define ECONNABORTED 103 /* Software caused connection abort */
-#define ECONNRESET 104 /* Connection reset by peer */
-#define ENOBUFS 105 /* No buffer space available */
-#define EISCONN 106 /* Transport endpoint is already connected */
-#define ENOTCONN 107 /* Transport endpoint is not connected */
-#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 109 /* Too many references: cannot splice */
-#define ETIMEDOUT 110 /* Connection timed out */
-#define ECONNREFUSED 111 /* Connection refused */
-#define EHOSTDOWN 112 /* Host is down */
-#define EHOSTUNREACH 113 /* No route to host */
-#define EALREADY 114 /* Operation already in progress */
-#define EINPROGRESS 115 /* Operation now in progress */
-#define ESTALE 116 /* Stale NFS file handle */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EDQUOT 122 /* Quota exceeded */
-#define ENOMEDIUM 123 /* No medium found */
-#define EMEDIUMTYPE 124 /* Wrong medium type */
-#endif
-
-#define __SYS_NERR ((EMEDIUMTYPE) + 1)
-
-#ifndef __ASSEMBLER__
-
-#ifndef _REENTRANT
-extern int errno;
-#else
-#define errno (*__errno_location())
-#endif
-
-extern int *__errno_location(void);
-
-#define __set_errno(x) errno=(x)
-
-#ifdef _BSD_SOURCE
-extern const char *const sys_errlist[];
-extern int sys_nerr;
-#endif
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fcntl.h b/mdk-stage1/dietlibc/include/fcntl.h
deleted file mode 100644
index 33f58d82a..000000000
--- a/mdk-stage1/dietlibc/include/fcntl.h
+++ /dev/null
@@ -1,564 +0,0 @@
-#ifndef _FCNTL_H
-#define _FCNTL_H
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-
-#define F_LINUX_SPECIFIC_BASE 1024
-
-#if defined(__i386__) || defined(__s390__) || defined(__x86_64__) || defined(__ia64__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECT 040000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0100000
-#define O_DIRECTORY 0200000 /* must be a directory */
-#define O_NOFOLLOW 0400000 /* don't follow links */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__alpha__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 01000 /* not fcntl */
-#define O_TRUNC 02000 /* not fcntl */
-#define O_EXCL 04000 /* not fcntl */
-#define O_NOCTTY 010000 /* not fcntl */
-
-#define O_NONBLOCK 00004
-#define O_APPEND 00010
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 040000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECT 040000 /* direct disk access - should check with OSF/1 */
-#define O_DIRECTORY 0100000 /* must be a directory */
-#define O_NOFOLLOW 0200000 /* don't follow links */
-#define O_LARGEFILE 0400000 /* will be set by the kernel on every open */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 7
-#define F_SETLK 8
-#define F_SETLKW 9
-
-#define F_SETOWN 5 /* for sockets. */
-#define F_GETOWN 6 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 1
-#define F_WRLCK 2
-#define F_UNLCK 8
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 16 /* or 3 */
-#define F_SHLCK 32 /* or 4 */
-
-#define F_INPROGRESS 64
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__mips__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0x0003
-#define O_RDONLY 0x0000
-#define O_WRONLY 0x0001
-#define O_RDWR 0x0002
-#define O_APPEND 0x0008
-#define O_SYNC 0x0010
-#define O_NONBLOCK 0x0080
-#define O_CREAT 0x0100 /* not fcntl */
-#define O_TRUNC 0x0200 /* not fcntl */
-#define O_EXCL 0x0400 /* not fcntl */
-#define O_NOCTTY 0x0800 /* not fcntl */
-#define FASYNC 0x1000 /* fcntl, for BSD compatibility */
-#define O_LARGEFILE 0x2000 /* allow large file opens - currently ignored */
-#define O_DIRECT 0x8000 /* direct disk access hint - currently ignored */
-#define O_DIRECTORY 0x10000 /* must be a directory */
-#define O_NOFOLLOW 0x20000 /* don't follow links */
-
-#define O_NDELAY O_NONBLOCK
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 14
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 24 /* for sockets. */
-#define F_GETOWN 23 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent XXXXXXXXXXXXXXXXXX
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-typedef struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- long l_sysid; /* XXXXXXXXXXXXXXXXXXXXXXXXX */
- pid_t l_pid;
- long pad[4]; /* ZZZZZZZZZZZZZZZZZZZZZZZZZZ */
-} flock_t;
-
-#elif defined(__sparc__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_RDONLY 0x0000
-#define O_WRONLY 0x0001
-#define O_RDWR 0x0002
-#define O_ACCMODE 0x0003
-#define O_APPEND 0x0008
-#define FASYNC 0x0040 /* fcntl, for BSD compatibility */
-#define O_CREAT 0x0200 /* not fcntl */
-#define O_TRUNC 0x0400 /* not fcntl */
-#define O_EXCL 0x0800 /* not fcntl */
-#define O_SYNC 0x2000
-#define O_NONBLOCK 0x4000
-#define O_NDELAY (0x0004 | O_NONBLOCK)
-#define O_NOCTTY 0x8000 /* not fcntl */
-#define O_DIRECTORY 0x10000 /* must be a directory */
-#define O_NOFOLLOW 0x20000 /* don't follow links */
-#define O_LARGEFILE 0x40000
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETOWN 5 /* for sockets. */
-#define F_SETOWN 6 /* for sockets. */
-#define F_GETLK 7
-#define F_SETLK 8
-#define F_SETLKW 9
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 1
-#define F_WRLCK 2
-#define F_UNLCK 3
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
- short __unused;
-};
-
-#ifdef __arch64__
-#define flock64 flock
-#else
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
- short __unused;
-};
-#endif
-
-#elif defined(__powerpc__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_LARGEFILE 0200000
-#define O_DIRECT 0400000 /* direct disk access hint - currently ignored */
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined (__arm__)
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-#define O_CREAT 0100 /* not fcntl */
-#define O_EXCL 0200 /* not fcntl */
-#define O_NOCTTY 0400 /* not fcntl */
-#define O_TRUNC 01000 /* not fcntl */
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_NDELAY O_NONBLOCK
-#define O_SYNC 010000
-#define FASYNC 020000 /* fcntl, for BSD compatibility */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0400000
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-/* for leases */
-#define F_INPROGRESS 16
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock */
-#define LOCK_READ 64 /* ... Which allows concurrent read operations */
-#define LOCK_WRITE 128 /* ... Which allows concurrent write operations */
-#define LOCK_RW 192 /* ... Which allows concurrent read & write ops */
-
-struct flock {
- short l_type;
- short l_whence;
- off_t l_start;
- off_t l_len;
- pid_t l_pid;
-};
-
-struct flock64 {
- short l_type;
- short l_whence;
- loff_t l_start;
- loff_t l_len;
- pid_t l_pid;
-};
-
-#elif defined(__hppa__)
-
-/* Copied from bits/fcntl.h */
-
-#define O_RDONLY 00000000
-#define O_WRONLY 00000001
-#define O_RDWR 00000002
-#define O_ACCMODE 00000003
-#define O_APPEND 00000010
-#define O_BLKSEEK 00000100 /* HPUX only */
-#define O_CREAT 00000400 /* not fcntl */
-#define O_TRUNC 00001000 /* not fcntl */
-#define O_EXCL 00002000 /* not fcntl */
-#define O_ASYNC 00020000
-#define O_SYNC 00100000
-#define O_NONBLOCK 00200004 /* HPUX has separate NDELAY & NONBLOCK */
-#define O_NDELAY O_NONBLOCK
-#define O_NOCTTY 00400000 /* not fcntl */
-#define O_DIRECTORY 00010000
-
-#define F_DUPFD 0 /* Duplicate file descriptor. */
-#define F_GETFD 1 /* Get file descriptor flags. */
-#define F_SETFD 2 /* Set file descriptor flags. */
-#define F_GETFL 3 /* Get file status flags. */
-#define F_SETFL 4 /* Set file status flags. */
-#define F_GETLK 5 /* Get record locking info. */
-#define F_SETLK 6 /* Set record locking info (non-blocking). */
-#define F_SETLKW 7 /* Set record locking info (blocking). */
-
-#define F_GETLK64 8 /* Get record locking info. */
-#define F_SETLK64 9 /* Set record locking info (non-blocking). */
-#define F_SETLKW64 10 /* Set record locking info (blocking). */
-
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-#define F_RDLCK 1 /* Read lock. */
-#define F_WRLCK 2 /* Write lock. */
-#define F_UNLCK 3 /* Remove lock. */
-
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-struct flock
-{
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- off_t l_start; /* Offset where the lock begins. */
- off_t l_len; /* Size of the locked area; zero means until EOF. */
- pid_t l_pid; /* Process holding the lock. */
-};
-
-struct flock64
-{
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- off64_t l_start; /* Offset where the lock begins. */
- off64_t l_len; /* Size of the locked area; zero means until EOF. */
- pid_t l_pid; /* Process holding the lock. */
-};
-
-#endif
-
-extern int fcntl (int __fd, int __cmd, ...) __THROW;
-extern int lockf (int __fd, int __cmd, off_t __len) __THROW;
-extern int lockf64 (int __fd, int __cmd, off64_t __len) __THROW;
-
-#define F_ULOCK 0 /* Unlock a previously locked region. */
-#define F_LOCK 1 /* Lock a region for exclusive use. */
-#define F_TLOCK 2 /* Test and lock a region for exclusive use. */
-#define F_TEST 3 /* Test a region for other processes locks. */
-
-#if !defined(O_ASYNC) && defined(FASYNC)
-#define O_ASYNC FASYNC
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/features.h b/mdk-stage1/dietlibc/include/features.h
deleted file mode 100644
index d2b92d15c..000000000
--- a/mdk-stage1/dietlibc/include/features.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _FEATURES_H
-#define _FEATURES_H
-
-#ifndef __dietlibc__
-#error "not using the diet wrapper?!"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/float.h b/mdk-stage1/dietlibc/include/float.h
deleted file mode 100644
index 9c9c85a3a..000000000
--- a/mdk-stage1/dietlibc/include/float.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _FLOAT_H
-#define _FLOAT_H
-
-/* blatantly copied from gcc headers for sparc */
-
- /* Radix of exponent representation */
-#undef FLT_RADIX
-#define FLT_RADIX 2
- /* Number of base-FLT_RADIX digits in the significand of a float */
-#undef FLT_MANT_DIG
-#define FLT_MANT_DIG 24
- /* Number of decimal digits of precision in a float */
-#undef FLT_DIG
-#define FLT_DIG 6
- /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
- /* Difference between 1.0 and the minimum float greater than 1.0 */
-#undef FLT_EPSILON
-#define FLT_EPSILON 1.19209290e-07F
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
-#undef FLT_MIN_EXP
-#define FLT_MIN_EXP (-125)
- /* Minimum normalised float */
-#undef FLT_MIN
-#define FLT_MIN 1.17549435e-38F
- /* Minimum int x such that 10**x is a normalised float */
-#undef FLT_MIN_10_EXP
-#define FLT_MIN_10_EXP (-37)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
-#undef FLT_MAX_EXP
-#define FLT_MAX_EXP 128
- /* Maximum float */
-#undef FLT_MAX
-#define FLT_MAX 3.40282347e+38F
- /* Maximum int x such that 10**x is a representable float */
-#undef FLT_MAX_10_EXP
-#define FLT_MAX_10_EXP 38
-
- /* Number of base-FLT_RADIX digits in the significand of a double */
-#undef DBL_MANT_DIG
-#define DBL_MANT_DIG 53
- /* Number of decimal digits of precision in a double */
-#undef DBL_DIG
-#define DBL_DIG 15
- /* Difference between 1.0 and the minimum double greater than 1.0 */
-#undef DBL_EPSILON
-#define DBL_EPSILON 2.2204460492503131e-16
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
-#undef DBL_MIN_EXP
-#define DBL_MIN_EXP (-1021)
- /* Minimum normalised double */
-#undef DBL_MIN
-#define DBL_MIN 2.2250738585072014e-308
- /* Minimum int x such that 10**x is a normalised double */
-#undef DBL_MIN_10_EXP
-#define DBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
-#undef DBL_MAX_EXP
-#define DBL_MAX_EXP 1024
- /* Maximum double */
-#undef DBL_MAX
-#define DBL_MAX 1.7976931348623157e+308
- /* Maximum int x such that 10**x is a representable double */
-#undef DBL_MAX_10_EXP
-#define DBL_MAX_10_EXP 308
-
- /* Number of base-FLT_RADIX digits in the significand of a long double */
-#undef LDBL_MANT_DIG
-#define LDBL_MANT_DIG 53
- /* Number of decimal digits of precision in a long double */
-#undef LDBL_DIG
-#define LDBL_DIG 15
- /* Difference between 1.0 and the minimum long double greater than 1.0 */
-#undef LDBL_EPSILON
-#define LDBL_EPSILON 2.2204460492503131e-16L
- /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
-#undef LDBL_MIN_EXP
-#define LDBL_MIN_EXP (-1021)
- /* Minimum normalised long double */
-#undef LDBL_MIN
-#define LDBL_MIN 2.2250738585072014e-308L
- /* Minimum int x such that 10**x is a normalised long double */
-#undef LDBL_MIN_10_EXP
-#define LDBL_MIN_10_EXP (-307)
- /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
-#undef LDBL_MAX_EXP
-#define LDBL_MAX_EXP 1024
- /* Maximum long double */
-#undef LDBL_MAX
-#define LDBL_MAX 1.7976931348623157e+308L
- /* Maximum int x such that 10**x is a representable long double */
-#undef LDBL_MAX_10_EXP
-#define LDBL_MAX_10_EXP 308
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fnmatch.h b/mdk-stage1/dietlibc/include/fnmatch.h
deleted file mode 100644
index 146e700bd..000000000
--- a/mdk-stage1/dietlibc/include/fnmatch.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _FNMATCH_H
-#define _FNMATCH_H
-
-#include <sys/cdefs.h>
-
-int fnmatch(const char *pattern, const char *string, int flags) __THROW;
-
-#define FNM_NOESCAPE 1
-#define FNM_PATHNAME 2
-#define FNM_FILE_NAME 2
-#define FNM_PERIOD 4
-#define FNM_LEADING_DIR 8
-#define FNM_CASEFOLD 16
-
-#define FNM_NOMATCH 1
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/ftw.h b/mdk-stage1/dietlibc/include/ftw.h
deleted file mode 100644
index e0450518e..000000000
--- a/mdk-stage1/dietlibc/include/ftw.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _FTW_H
-#define _FTW_H
-
-#include <sys/cdefs.h>
-#include <sys/stat.h>
-
-struct FTW
- {
- int base;
- int level;
- };
-
-int ftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag), int depth) __THROW;
-int nftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag, struct FTW *s), int depth, int flags) __THROW;
-
-enum
-{
- FTW_F, /* Regular file. */
-#define FTW_F FTW_F
- FTW_D, /* Directory. */
-#define FTW_D FTW_D
- FTW_DNR, /* Unreadable directory. */
-#define FTW_DNR FTW_DNR
- FTW_NS, /* Unstatable file. */
-#define FTW_NS FTW_NS
- FTW_SL, /* Symbolic link. */
-# define FTW_SL FTW_SL
-/* These flags are only passed from the `nftw' function. */
- FTW_DP, /* Directory, all subdirs have been visited. */
-# define FTW_DP FTW_DP
- FTW_SLN /* Symbolic link naming non-existing file. */
-# define FTW_SLN FTW_SLN
-};
-
-typedef int (*__ftw_func_t) (const char *__filename,
- const struct stat *__status, int __flag) __THROW;
-
-typedef int (*__nftw_func_t) (const char *__filename,
- const struct stat *__status, int __flag,
- struct FTW *__info) __THROW;
-
-#ifndef __NO_STAT64
-typedef int (*__ftw64_func_t) (const char *__filename,
- const struct stat64 *__status, int __flag) __THROW;
-
-typedef int (*__nftw64_func_t) (const char *__filename,
- const struct stat64 *__status,
- int __flag, struct FTW *__info) __THROW;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/getopt.h b/mdk-stage1/dietlibc/include/getopt.h
deleted file mode 100644
index db1592c52..000000000
--- a/mdk-stage1/dietlibc/include/getopt.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __GETOPT_H__
-#define __GETOPT_H__
-
-#include <unistd.h>
-
-extern int optopt;
-
-struct option {
- const char* name;
- int has_arg;
- int* flag;
- int val;
-};
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-extern int getopt_long(int argc, char *const *argv,
- const char *shortopts, const struct option *longopts,
- int *longind);
-
-extern int getopt_long_only(int argc, char *const *argv,
- const char *shortopts, const struct option *longopts,
- int *longind);
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/glob.h b/mdk-stage1/dietlibc/include/glob.h
deleted file mode 100644
index bc8f779c9..000000000
--- a/mdk-stage1/dietlibc/include/glob.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _GLOB_H
-#define _GLOB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef struct {
- size_t gl_pathc; /* Count of paths matched so far */
- char **gl_pathv; /* List of matched pathnames. */
- size_t gl_offs; /* Slots to reserve in `gl_pathv'. */
- int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */
-} glob_t;
-
-
-int glob(const char *pattern, int flags,
- int errfunc(const char * epath, int eerrno),
- glob_t *pglob) __THROW;
-
-void globfree(glob_t *pglob) __THROW;
-
-
-
-/* Bits set in the FLAGS argument to `glob'. */
-#define GLOB_ERR (1 << 0)/* Return on read errors. */
-#define GLOB_MARK (1 << 1)/* Append a slash to each name. */
-#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */
-#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */
-#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */
-#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */
-#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */
-#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */
-
-#define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */
-#define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions. */
-#define GLOB_BRACE (1 << 10)/* Expand "{a,b}" to "a" "b". */
-#define GLOB_NOMAGIC (1 << 11)/* If no magic chars, return the pattern. */
-#define GLOB_TILDE (1 << 12)/* Expand ~user and ~ to home directories. */
-#define GLOB_ONLYDIR (1 << 13)/* Match only directories. */
-#define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error
- if the user name is not available. */
-#define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
- GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \
- GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE| \
- GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK)
-
-
-/* Error returns from `glob'. */
-#define GLOB_NOSPACE 1 /* Ran out of memory. */
-#define GLOB_ABORTED 2 /* Read error. */
-#define GLOB_NOMATCH 3 /* No matches found. */
-#define GLOB_NOSYS 4 /* Not implemented. */
-/* Previous versions of this file defined GLOB_ABEND instead of
- GLOB_ABORTED. Provide a compatibility definition here. */
-#define GLOB_ABEND GLOB_ABORTED
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/grp.h b/mdk-stage1/dietlibc/include/grp.h
deleted file mode 100644
index 08b153137..000000000
--- a/mdk-stage1/dietlibc/include/grp.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _GRP_H
-#define _GRP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct group
- {
- char *gr_name; /* Group name. */
- char *gr_passwd; /* Password. */
- gid_t gr_gid; /* Group ID. */
- char **gr_mem; /* Member list. */
- };
-
-extern struct group *getgrgid (gid_t uid) __THROW;
-extern struct group *getgrnam (const char *name) __THROW;
-
-extern struct group *getgrent(void) __THROW;
-extern void setgrent(void) __THROW;
-extern void endgrent(void) __THROW;
-
-int getgrent_r(struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-int getgrnam_r(const char* name,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-int getgrgid_r(uid_t uid,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) __THROW;
-
-extern int setgroups(size_t n, const gid_t *groups) __THROW;
-extern int setgroups32(size_t n, const gid32_t *groups) __THROW;
-extern int initgroups(const char *user, gid_t group) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/iconv.h b/mdk-stage1/dietlibc/include/iconv.h
deleted file mode 100644
index 1205994ca..000000000
--- a/mdk-stage1/dietlibc/include/iconv.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _ICONV_H
-#define _ICONV_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* Identifier for conversion method from one codeset to another. */
-typedef unsigned int iconv_t;
-
-/* Allocate descriptor for code conversion from codeset FROMCODE to
- codeset TOCODE. */
-extern iconv_t iconv_open (const char *tocode, const char *fromcode) __THROW;
-
-/* Convert at most *INBYTESLEFT bytes from *INBUF according to the
- code conversion algorithm specified by CD and place up to
- *OUTBYTESLEFT bytes in buffer at *OUTBUF. */
-extern size_t iconv (iconv_t cd, const char** inbuf,
- size_t* inbytesleft,
- char** outbuf,
- size_t* outbytesleft) __THROW;
-
-/* Free resources allocated for descriptor CD for code conversion. */
-extern int iconv_close (iconv_t cd) __THROW;
-
-#endif /* iconv.h */
diff --git a/mdk-stage1/dietlibc/include/inttypes.h b/mdk-stage1/dietlibc/include/inttypes.h
deleted file mode 100644
index 32637f5f7..000000000
--- a/mdk-stage1/dietlibc/include/inttypes.h
+++ /dev/null
@@ -1,247 +0,0 @@
-#ifndef _INTTYPES_H
-#define _INTTYPES_H
-
-#include <sys/cdefs.h>
-#include <endian.h>
-
-# if __WORDSIZE == 64
-# define __PRI64_PREFIX "l"
-# define __PRIPTR_PREFIX "l"
-# else
-# define __PRI64_PREFIX "ll"
-# define __PRIPTR_PREFIX
-# endif
-
-/* Macros for printing format specifiers. */
-
-/* Decimal notation. */
-# define PRId8 "d"
-# define PRId16 "d"
-# define PRId32 "d"
-# define PRId64 __PRI64_PREFIX "d"
-
-# define PRIdLEAST8 "d"
-# define PRIdLEAST16 "d"
-# define PRIdLEAST32 "d"
-# define PRIdLEAST64 __PRI64_PREFIX "d"
-
-# define PRIdFAST8 "d"
-# define PRIdFAST16 "d"
-# define PRIdFAST32 "d"
-# define PRIdFAST64 __PRI64_PREFIX "d"
-
-
-# define PRIi8 "i"
-# define PRIi16 "i"
-# define PRIi32 "i"
-# define PRIi64 __PRI64_PREFIX "i"
-
-# define PRIiLEAST8 "i"
-# define PRIiLEAST16 "i"
-# define PRIiLEAST32 "i"
-# define PRIiLEAST64 __PRI64_PREFIX "i"
-
-# define PRIiFAST8 "i"
-# define PRIiFAST16 "i"
-# define PRIiFAST32 "i"
-# define PRIiFAST64 __PRI64_PREFIX "i"
-
-/* Octal notation. */
-# define PRIo8 "o"
-# define PRIo16 "o"
-# define PRIo32 "o"
-# define PRIo64 __PRI64_PREFIX "o"
-
-# define PRIoLEAST8 "o"
-# define PRIoLEAST16 "o"
-# define PRIoLEAST32 "o"
-# define PRIoLEAST64 __PRI64_PREFIX "o"
-
-# define PRIoFAST8 "o"
-# define PRIoFAST16 "o"
-# define PRIoFAST32 "o"
-# define PRIoFAST64 __PRI64_PREFIX "o"
-
-/* Unsigned integers. */
-# define PRIu8 "u"
-# define PRIu16 "u"
-# define PRIu32 "u"
-# define PRIu64 __PRI64_PREFIX "u"
-
-# define PRIuLEAST8 "u"
-# define PRIuLEAST16 "u"
-# define PRIuLEAST32 "u"
-# define PRIuLEAST64 __PRI64_PREFIX "u"
-
-# define PRIuFAST8 "u"
-# define PRIuFAST16 "u"
-# define PRIuFAST32 "u"
-# define PRIuFAST64 __PRI64_PREFIX "u"
-
-/* lowercase hexadecimal notation. */
-# define PRIx8 "x"
-# define PRIx16 "x"
-# define PRIx32 "x"
-# define PRIx64 __PRI64_PREFIX "x"
-
-# define PRIxLEAST8 "x"
-# define PRIxLEAST16 "x"
-# define PRIxLEAST32 "x"
-# define PRIxLEAST64 __PRI64_PREFIX "x"
-
-# define PRIxFAST8 "x"
-# define PRIxFAST16 "x"
-# define PRIxFAST32 "x"
-# define PRIxFAST64 __PRI64_PREFIX "x"
-
-/* UPPERCASE hexadecimal notation. */
-# define PRIX8 "X"
-# define PRIX16 "X"
-# define PRIX32 "X"
-# define PRIX64 __PRI64_PREFIX "X"
-
-# define PRIXLEAST8 "X"
-# define PRIXLEAST16 "X"
-# define PRIXLEAST32 "X"
-# define PRIXLEAST64 __PRI64_PREFIX "X"
-
-# define PRIXFAST8 "X"
-# define PRIXFAST16 "X"
-# define PRIXFAST32 "X"
-# define PRIXFAST64 __PRI64_PREFIX "X"
-
-
-/* Macros for printing `intmax_t' and `uintmax_t'. */
-# define PRIdMAX __PRI64_PREFIX "d"
-# define PRIiMAX __PRI64_PREFIX "i"
-# define PRIoMAX __PRI64_PREFIX "o"
-# define PRIuMAX __PRI64_PREFIX "u"
-# define PRIxMAX __PRI64_PREFIX "x"
-# define PRIXMAX __PRI64_PREFIX "X"
-
-
-/* Macros for printing `intptr_t' and `uintptr_t'. */
-# define PRIdPTR __PRIPTR_PREFIX "d"
-# define PRIiPTR __PRIPTR_PREFIX "i"
-# define PRIoPTR __PRIPTR_PREFIX "o"
-# define PRIuPTR __PRIPTR_PREFIX "u"
-# define PRIxPTR __PRIPTR_PREFIX "x"
-# define PRIXPTR __PRIPTR_PREFIX "X"
-
-
-/* Macros for scanning format specifiers. */
-
-/* Signed decimal notation. */
-# define SCNd8 "hhd"
-# define SCNd16 "hd"
-# define SCNd32 "d"
-# define SCNd64 __PRI64_PREFIX "d"
-
-# define SCNdLEAST8 "hhd"
-# define SCNdLEAST16 "hd"
-# define SCNdLEAST32 "d"
-# define SCNdLEAST64 __PRI64_PREFIX "d"
-
-# define SCNdFAST8 "hhd"
-# define SCNdFAST16 __PRIPTR_PREFIX "d"
-# define SCNdFAST32 __PRIPTR_PREFIX "d"
-# define SCNdFAST64 __PRI64_PREFIX "d"
-
-/* Signed decimal notation. */
-# define SCNi8 "hhi"
-# define SCNi16 "hi"
-# define SCNi32 "i"
-# define SCNi64 __PRI64_PREFIX "i"
-
-# define SCNiLEAST8 "hhi"
-# define SCNiLEAST16 "hi"
-# define SCNiLEAST32 "i"
-# define SCNiLEAST64 __PRI64_PREFIX "i"
-
-# define SCNiFAST8 "hhi"
-# define SCNiFAST16 __PRIPTR_PREFIX "i"
-# define SCNiFAST32 __PRIPTR_PREFIX "i"
-# define SCNiFAST64 __PRI64_PREFIX "i"
-
-/* Unsigned decimal notation. */
-# define SCNu8 "hhu"
-# define SCNu16 "hu"
-# define SCNu32 "u"
-# define SCNu64 __PRI64_PREFIX "u"
-
-# define SCNuLEAST8 "hhu"
-# define SCNuLEAST16 "hu"
-# define SCNuLEAST32 "u"
-# define SCNuLEAST64 __PRI64_PREFIX "u"
-
-# define SCNuFAST8 "hhu"
-# define SCNuFAST16 __PRIPTR_PREFIX "u"
-# define SCNuFAST32 __PRIPTR_PREFIX "u"
-# define SCNuFAST64 __PRI64_PREFIX "u"
-
-/* Octal notation. */
-# define SCNo8 "hho"
-# define SCNo16 "ho"
-# define SCNo32 "o"
-# define SCNo64 __PRI64_PREFIX "o"
-
-# define SCNoLEAST8 "hho"
-# define SCNoLEAST16 "ho"
-# define SCNoLEAST32 "o"
-# define SCNoLEAST64 __PRI64_PREFIX "o"
-
-# define SCNoFAST8 "hho"
-# define SCNoFAST16 __PRIPTR_PREFIX "o"
-# define SCNoFAST32 __PRIPTR_PREFIX "o"
-# define SCNoFAST64 __PRI64_PREFIX "o"
-
-/* Hexadecimal notation. */
-# define SCNx8 "hhx"
-# define SCNx16 "hx"
-# define SCNx32 "x"
-# define SCNx64 __PRI64_PREFIX "x"
-
-# define SCNxLEAST8 "hhx"
-# define SCNxLEAST16 "hx"
-# define SCNxLEAST32 "x"
-# define SCNxLEAST64 __PRI64_PREFIX "x"
-
-# define SCNxFAST8 "hhx"
-# define SCNxFAST16 __PRIPTR_PREFIX "x"
-# define SCNxFAST32 __PRIPTR_PREFIX "x"
-# define SCNxFAST64 __PRI64_PREFIX "x"
-
-
-/* Macros for scanning `intmax_t' and `uintmax_t'. */
-# define SCNdMAX __PRI64_PREFIX "d"
-# define SCNiMAX __PRI64_PREFIX "i"
-# define SCNoMAX __PRI64_PREFIX "o"
-# define SCNuMAX __PRI64_PREFIX "u"
-# define SCNxMAX __PRI64_PREFIX "x"
-
-/* Macros for scanning `intptr_t' and `uintptr_t'. */
-# define SCNdPTR __PRIPTR_PREFIX "d"
-# define SCNiPTR __PRIPTR_PREFIX "i"
-# define SCNoPTR __PRIPTR_PREFIX "o"
-# define SCNuPTR __PRIPTR_PREFIX "u"
-# define SCNxPTR __PRIPTR_PREFIX "x"
-
-typedef signed char int8_t;
-typedef signed short int16_t;
-typedef signed int int32_t;
-
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-
-typedef signed long int intptr_t;
-typedef unsigned long int uintptr_t;
-
-#ifndef __STRICT_ANSI__
-__extension__ typedef signed long long int64_t;
-__extension__ typedef unsigned long long uint64_t;
-__extension__ typedef signed long long int intmax_t;
-__extension__ typedef unsigned long long int uintmax_t;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/libgen.h b/mdk-stage1/dietlibc/include/libgen.h
deleted file mode 100644
index ab13b0a30..000000000
--- a/mdk-stage1/dietlibc/include/libgen.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _LIBGEN_H
-#define _LIBGEN_H
-
-#include <sys/cdefs.h>
-
-char *dirname(char *path) __THROW;
-char *basename(char *path) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/libintl.h b/mdk-stage1/dietlibc/include/libintl.h
deleted file mode 100644
index 20873f55f..000000000
--- a/mdk-stage1/dietlibc/include/libintl.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _LIBINTL_H
-#define _LIBINTL_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <locale.h>
-
-#define gettext(msgid) dgettext(0,msgid)
-#define dgettext(domainname,msgid) dcgettext(domainname,msgid,LC_MESSAGES)
-
-#define ngettext(msgid1,msgid2,n) dngettext(0,msgid1,msgid2,n)
-#define dngettext(dn,msgid1,msgid2,n) dngettext(dn,msgid1,msgid2,n,LC_MESSAGES)
-
-char* dcgettext(const char *domainname, const char *msgid, int category) __THROW;
-char* dcngettext(const char *domainname,
- const char *msgid1, const char *msgid2,
- unsigned long int n, int __category) __THROW;
-
-char* textdomain(const char *domainname) __THROW;
-char* bindtextdomain(const char *domainname, const char *dirname) __THROW;
-char* bind_textdomain_codeset(const char *domainname, const char *codeset) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/limits.h b/mdk-stage1/dietlibc/include/limits.h
deleted file mode 100644
index b5577a0bf..000000000
--- a/mdk-stage1/dietlibc/include/limits.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef _LIMITS_H
-#define _LIMITS_H
-
-#include <endian.h>
-
-#define CHAR_BIT 8
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 0x7f
-#define UCHAR_MAX 0xff
-
-#ifdef __CHAR_UNSIGNED__
-#undef CHAR_MIN
-#define CHAR_MIN 0
-#undef CHAR_MAX
-#define CHAR_MAX UCHAR_MAX
-#else
-#undef CHAR_MIN
-#define CHAR_MIN SCHAR_MIN
-#undef CHAR_MAX
-#define CHAR_MAX SCHAR_MAX
-#endif
-
-#define SHRT_MIN (-SHRT_MAX-1)
-#define SHRT_MAX 0x7fff
-#define USHRT_MAX 0xffff
-
-#define INT_MIN (-INT_MAX-1)
-#define INT_MAX 0x7fffffff
-#define UINT_MAX 0xffffffff
-
-#if __WORDSIZE == 64
-#define LONG_MAX 9223372036854775807L
-#define ULONG_MAX 18446744073709551615UL
-#else
-#define LONG_MAX 2147483647L
-#define ULONG_MAX 4294967295UL
-#endif
-#define LONG_MIN (-LONG_MAX - 1L)
-
-#define LLONG_MAX 9223372036854775807LL
-#define LLONG_MIN (-LLONG_MAX - 1LL)
-
-/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */
-#define ULLONG_MAX 18446744073709551615ULL
-
-#define SSIZE_MIN LONG_MIN
-#define SSIZE_MAX LONG_MAX
-
-#define PASS_MAX 256
-
-#define NR_OPEN 1024
-
-#define NGROUPS_MAX 32 /* supplemental group IDs are available */
-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
-#define CHILD_MAX 999 /* no limit :-) */
-#define OPEN_MAX 256 /* # open files a process may have */
-#define LINK_MAX 127 /* # links a file may have */
-#define MAX_CANON 255 /* size of the canonical input queue */
-#define MAX_INPUT 255 /* size of the type-ahead buffer */
-#define NAME_MAX 255 /* # chars in a file name */
-#define PATH_MAX 4095 /* # chars in a path name */
-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */
-
-#define RTSIG_MAX 32
-
-#define LINE_MAX 2048
-
-/* mutt demanded these */
-#define _POSIX_PATH_MAX PATH_MAX
-#define MB_LEN_MAX 16
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/eventpoll.h b/mdk-stage1/dietlibc/include/linux/eventpoll.h
deleted file mode 100644
index 19990ac2a..000000000
--- a/mdk-stage1/dietlibc/include/linux/eventpoll.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _LINUX_EVENTPOLL_H
-#define _LINUX_EVENTPOLL_H
-
-#include <sys/ioctl.h>
-#include <sys/poll.h>
-#include <sys/shm.h>
-
-#define POLLFD_X_PAGE (PAGE_SIZE / sizeof(struct pollfd))
-#define EP_FDS_PAGES(n) (((n) + POLLFD_X_PAGE - 1) / POLLFD_X_PAGE)
-#define EP_MAP_SIZE(n) (EP_FDS_PAGES(n) * PAGE_SIZE * 2)
-
-struct evpoll {
- int ep_timeout;
- unsigned long ep_resoff;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/if_ether.h b/mdk-stage1/dietlibc/include/linux/if_ether.h
deleted file mode 100644
index dbeb3728e..000000000
--- a/mdk-stage1/dietlibc/include/linux/if_ether.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the Ethernet IEEE 802.3 interface.
- *
- * Version: @(#)if_ether.h 1.0.1a 02/08/94
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Alan Cox, <alan@redhat.com>
- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_ETHER_H
-#define _LINUX_IF_ETHER_H
-
-/*
- * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
- * and FCS/CRC (frame check sequence).
- */
-
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-
-/*
- * These are the defined Ethernet Protocol ID's.
- */
-
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
-#define ETH_P_LAT 0x6004 /* DEC LAT */
-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
-#define ETH_P_CUST 0x6006 /* DEC Customer use */
-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
- * over Ethernet
- */
-
-/*
- * Non DIX types. Won't clash for 1500 types.
- */
-
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
-#define ETH_P_HDLC 0x0019 /* HDLC frames */
-
-/*
- * This is an Ethernet frame header.
- */
-
-struct ethhdr
-{
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- unsigned short h_proto; /* packet type ID field */
-};
-
-#endif /* _LINUX_IF_ETHER_H */
diff --git a/mdk-stage1/dietlibc/include/linux/loop.h b/mdk-stage1/dietlibc/include/linux/loop.h
deleted file mode 100644
index 1366f1877..000000000
--- a/mdk-stage1/dietlibc/include/linux/loop.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _LINUX_LOOP_H
-#define _LINUX_LOOP_H
-
-/* stolen form kernel */
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-/* Loop flags */
-#define LO_FLAGS_DO_BMAP 1
-#define LO_FLAGS_READ_ONLY 2
-#define LO_FLAGS_BH_REMAP 4
-
-struct loop_info {
- int lo_number; /* ioctl r/o */
- dev_t lo_device; /* ioctl r/o */
- unsigned long lo_inode; /* ioctl r/o */
- dev_t lo_rdevice; /* ioctl r/o */
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size; /* ioctl w/o */
- int lo_flags; /* ioctl r/o */
- char lo_name[LO_NAME_SIZE];
- unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- unsigned long lo_init[2];
- char reserved[4];
-};
-
-/* Loop filter types */
-#define LO_CRYPT_NONE 0
-#define LO_CRYPT_XOR 1
-#define LO_CRYPT_DES 2
-#define LO_CRYPT_FISH2 3 /* Brand new Twofish encryption */
-#define LO_CRYPT_BLOW 4
-#define LO_CRYPT_CAST128 5
-#define LO_CRYPT_IDEA 6
-#define LO_CRYPT_DUMMY 9
-#define LO_CRYPT_SKIPJACK 10
-#define MAX_LO_CRYPT 20
-
-/* IOCTL commands --- we will commandeer 0x4C ('L') */
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-#define LOOP_GET_STATUS 0x4C03
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/linux/nfs.h b/mdk-stage1/dietlibc/include/linux/nfs.h
deleted file mode 100644
index 9be6db37e..000000000
--- a/mdk-stage1/dietlibc/include/linux/nfs.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * NFS protocol definitions
- *
- * This file contains constants mostly for Version 2 of the protocol,
- * but also has a couple of NFSv3 bits in (notably the error codes).
- */
-#ifndef _LINUX_NFS_H
-#define _LINUX_NFS_H
-
-#define NFS_PROGRAM 100003
-#define NFS_PORT 2049
-#define NFS_MAXDATA 8192
-#define NFS_MAXPATHLEN 1024
-#define NFS_MAXNAMLEN 255
-#define NFS_MAXGROUPS 16
-#define NFS_FHSIZE 32
-#define NFS_COOKIESIZE 4
-#define NFS_FIFO_DEV (-1)
-#define NFSMODE_FMT 0170000
-#define NFSMODE_DIR 0040000
-#define NFSMODE_CHR 0020000
-#define NFSMODE_BLK 0060000
-#define NFSMODE_REG 0100000
-#define NFSMODE_LNK 0120000
-#define NFSMODE_SOCK 0140000
-#define NFSMODE_FIFO 0010000
-
-#define NFS_MNT_PROGRAM 100005
-#define NFS_MNT_PORT 627
-
-/*
- * NFS stats. The good thing with these values is that NFSv3 errors are
- * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
- * no-one uses anyway), so we can happily mix code as long as we make sure
- * no NFSv3 errors are returned to NFSv2 clients.
- * Error codes that have a `--' in the v2 column are not part of the
- * standard, but seem to be widely used nevertheless.
- */
- enum nfs_stat {
- NFS_OK = 0, /* v2 v3 */
- NFSERR_PERM = 1, /* v2 v3 */
- NFSERR_NOENT = 2, /* v2 v3 */
- NFSERR_IO = 5, /* v2 v3 */
- NFSERR_NXIO = 6, /* v2 v3 */
- NFSERR_EAGAIN = 11, /* v2 v3 */
- NFSERR_ACCES = 13, /* v2 v3 */
- NFSERR_EXIST = 17, /* v2 v3 */
- NFSERR_XDEV = 18, /* v3 */
- NFSERR_NODEV = 19, /* v2 v3 */
- NFSERR_NOTDIR = 20, /* v2 v3 */
- NFSERR_ISDIR = 21, /* v2 v3 */
- NFSERR_INVAL = 22, /* v2 v3 that Sun forgot */
- NFSERR_FBIG = 27, /* v2 v3 */
- NFSERR_NOSPC = 28, /* v2 v3 */
- NFSERR_ROFS = 30, /* v2 v3 */
- NFSERR_MLINK = 31, /* v3 */
- NFSERR_OPNOTSUPP = 45, /* v2 v3 */
- NFSERR_NAMETOOLONG = 63, /* v2 v3 */
- NFSERR_NOTEMPTY = 66, /* v2 v3 */
- NFSERR_DQUOT = 69, /* v2 v3 */
- NFSERR_STALE = 70, /* v2 v3 */
- NFSERR_REMOTE = 71, /* v2 v3 */
- NFSERR_WFLUSH = 99, /* v2 */
- NFSERR_BADHANDLE = 10001, /* v3 */
- NFSERR_NOT_SYNC = 10002, /* v3 */
- NFSERR_BAD_COOKIE = 10003, /* v3 */
- NFSERR_NOTSUPP = 10004, /* v3 */
- NFSERR_TOOSMALL = 10005, /* v3 */
- NFSERR_SERVERFAULT = 10006, /* v3 */
- NFSERR_BADTYPE = 10007, /* v3 */
- NFSERR_JUKEBOX = 10008 /* v3 */
- };
-
-/* NFSv2 file types - beware, these are not the same in NFSv3 */
-
-enum nfs_ftype {
- NFNON = 0,
- NFREG = 1,
- NFDIR = 2,
- NFBLK = 3,
- NFCHR = 4,
- NFLNK = 5,
- NFSOCK = 6,
- NFBAD = 7,
- NFFIFO = 8
-};
-
-#endif /* _LINUX_NFS_H */
diff --git a/mdk-stage1/dietlibc/include/linux/posix_types.h b/mdk-stage1/dietlibc/include/linux/posix_types.h
deleted file mode 100644
index 0d494a1f6..000000000
--- a/mdk-stage1/dietlibc/include/linux/posix_types.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _LINUX_POSIX_TYPES_H
-#define _LINUX_POSIX_TYPES_H
-
-/*
- * This allows for 1024 file descriptors: if NR_OPEN is ever grown
- * beyond that you'll have to change this too. But 1024 fd's seem to be
- * enough even for such "real" unices like OSF/1, so hopefully this is
- * one limit that doesn't have to be changed [again].
- *
- * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
- * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
- * place for them. Solved by having dummy defines in <sys/time.h>.
- */
-
-/*
- * Those macros may have been defined in <gnu/types.h>. But we always
- * use the ones here.
- */
-#undef __NFDBITS
-#define __NFDBITS (8 * sizeof(unsigned long))
-
-#undef __FD_SETSIZE
-#define __FD_SETSIZE 1024
-
-#undef __FDSET_LONGS
-#define __FDSET_LONGS (__FD_SETSIZE/__NFDBITS)
-
-#undef __FDELT
-#define __FDELT(d) ((d) / __NFDBITS)
-
-#undef __FDMASK
-#define __FDMASK(d) (1UL << ((d) % __NFDBITS))
-
-typedef struct {
- unsigned long fds_bits [__FDSET_LONGS];
-} __kernel_fd_set;
-
-#ifndef __KERNEL_STRICT_NAMES
-typedef __kernel_fd_set fd_set;
-#endif
-
-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
-
-#undef __FD_SET
-static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
-}
-
-#undef __FD_CLR
-static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
-}
-
-#undef __FD_ISSET
-static __inline__ int __FD_ISSET(unsigned long fd, __const__ __kernel_fd_set *p)
-{
- unsigned long _tmp = fd / __NFDBITS;
- unsigned long _rem = fd % __NFDBITS;
- return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
-}
-
-/*
- * This will unroll the loop for the normal constant cases (8 or 32 longs,
- * for 256 and 1024-bit fd_sets respectively)
- */
-#undef __FD_ZERO
-static __inline__ void __FD_ZERO(__kernel_fd_set *p)
-{
- unsigned long *tmp = p->fds_bits;
- int i;
-
- if (__builtin_constant_p(__FDSET_LONGS)) {
- switch (__FDSET_LONGS) {
- case 32:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
- tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
- tmp[16] = 0; tmp[17] = 0; tmp[18] = 0; tmp[19] = 0;
- tmp[20] = 0; tmp[21] = 0; tmp[22] = 0; tmp[23] = 0;
- tmp[24] = 0; tmp[25] = 0; tmp[26] = 0; tmp[27] = 0;
- tmp[28] = 0; tmp[29] = 0; tmp[30] = 0; tmp[31] = 0;
- return;
- case 16:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
- tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
- return;
- case 8:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
- return;
- case 4:
- tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
- return;
- }
- }
- i = __FDSET_LONGS;
- while (i) {
- i--;
- *tmp = 0;
- tmp++;
- }
-}
-
-#endif /* defined(__KERNEL__) */
-
-#endif /* _LINUX_POSIX_TYPES_H */
diff --git a/mdk-stage1/dietlibc/include/linux/types.h b/mdk-stage1/dietlibc/include/linux/types.h
deleted file mode 100644
index 1cd33bd41..000000000
--- a/mdk-stage1/dietlibc/include/linux/types.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _LINUX_TYPES_H
-#define _LINUX_TYPES_H
-
-#include <asm/types.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/locale.h b/mdk-stage1/dietlibc/include/locale.h
deleted file mode 100644
index 5cd002019..000000000
--- a/mdk-stage1/dietlibc/include/locale.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _LOCALE_H
-#define _LOCALE_H
-
-#include <sys/cdefs.h>
-
-enum {
- LC_CTYPE = 0,
- LC_NUMERIC = 1,
- LC_TIME = 2,
- LC_COLLATE = 3,
- LC_MONETARY = 4,
- LC_MESSAGES = 5,
- LC_ALL = 6,
- LC_PAPER = 7,
- LC_NAME = 8,
- LC_ADDRESS = 9,
- LC_TELEPHONE = 10,
- LC_MEASUREMENT = 11,
- LC_IDENTIFICATION = 12
-};
-
-/* Structure giving information about numeric and monetary notation. */
-struct lconv {
- /* Numeric (non-monetary) information. */
- char *decimal_point;
- char *thousands_sep;
- /* Each element is the number of digits in each group;
- elements with higher indices are farther left.
- An element with value CHAR_MAX means that no further grouping is done.
- An element with value 0 means that the previous element is used
- for all groups farther left. */
- char *grouping;
-
- /* Monetary information. */
-
- /* First three chars are a currency symbol from ISO 4217.
- Fourth char is the separator. Fifth char is '\0'. */
- char *int_curr_symbol;
- char *currency_symbol; /* Local currency symbol. */
- char *mon_decimal_point; /* Decimal point character. */
- char *mon_thousands_sep; /* Thousands separator. */
- char *mon_grouping; /* Like `grouping' element (above). */
- char *positive_sign; /* Sign for positive values. */
- char *negative_sign; /* Sign for negative values. */
- char int_frac_digits; /* Int'l fractional digits. */
- char frac_digits; /* Local fractional digits. */
- /* 1 if currency_symbol precedes a positive value, 0 if succeeds. */
- char p_cs_precedes;
- /* 1 iff a space separates currency_symbol from a positive value. */
- char p_sep_by_space;
- /* 1 if currency_symbol precedes a negative value, 0 if succeeds. */
- char n_cs_precedes;
- /* 1 iff a space separates currency_symbol from a negative value. */
- char n_sep_by_space;
- /* Positive and negative sign positions:
- 0 Parentheses surround the quantity and currency_symbol.
- 1 The sign string precedes the quantity and currency_symbol.
- 2 The sign string follows the quantity and currency_symbol.
- 3 The sign string immediately precedes the currency_symbol.
- 4 The sign string immediately follows the currency_symbol. */
- char p_sign_posn;
- char n_sign_posn;
- /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds. */
- char int_p_cs_precedes;
- /* 1 iff a space separates int_curr_symbol from a positive value. */
- char int_p_sep_by_space;
- /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds. */
- char int_n_cs_precedes;
- /* 1 iff a space separates int_curr_symbol from a negative value. */
- char int_n_sep_by_space;
- /* Positive and negative sign positions:
- 0 Parentheses surround the quantity and int_curr_symbol.
- 1 The sign string precedes the quantity and int_curr_symbol.
- 2 The sign string follows the quantity and int_curr_symbol.
- 3 The sign string immediately precedes the int_curr_symbol.
- 4 The sign string immediately follows the int_curr_symbol. */
- char int_p_sign_posn;
- char int_n_sign_posn;
-};
-
-char *setlocale (int category, const char *locale) __THROW;
-struct lconv *localeconv (void) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/malloc.h b/mdk-stage1/dietlibc/include/malloc.h
deleted file mode 100644
index c8b49f26d..000000000
--- a/mdk-stage1/dietlibc/include/malloc.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <stdlib.h>
diff --git a/mdk-stage1/dietlibc/include/math.h b/mdk-stage1/dietlibc/include/math.h
deleted file mode 100644
index 2cb545237..000000000
--- a/mdk-stage1/dietlibc/include/math.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _MATH_H
-#define _MATH_H
-
-#include <sys/cdefs.h>
-
-#define M_E 2.7182818284590452354 /* e */
-#define M_LOG2E 1.4426950408889634074 /* log_2 e */
-#define M_LOG10E 0.43429448190325182765 /* log_10 e */
-#define M_LN2 0.69314718055994530942 /* log_e 2 */
-#define M_LN10 2.30258509299404568402 /* log_e 10 */
-#define M_PI 3.14159265358979323846 /* pi */
-#define M_PI_2 1.57079632679489661923 /* pi/2 */
-#define M_PI_4 0.78539816339744830962 /* pi/4 */
-#define M_1_PI 0.31830988618379067154 /* 1/pi */
-#define M_2_PI 0.63661977236758134308 /* 2/pi */
-#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
-#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
-#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
-
-#define M_El 2.7182818284590452353602874713526625L /* e */
-#define M_LOG2El 1.4426950408889634073599246810018922L /* log_2 e */
-#define M_LOG10El 0.4342944819032518276511289189166051L /* log_10 e */
-#define M_LN2l 0.6931471805599453094172321214581766L /* log_e 2 */
-#define M_LN10l 2.3025850929940456840179914546843642L /* log_e 10 */
-#define M_PIl 3.1415926535897932384626433832795029L /* pi */
-#define M_PI_2l 1.5707963267948966192313216916397514L /* pi/2 */
-#define M_PI_4l 0.7853981633974483096156608458198757L /* pi/4 */
-#define M_1_PIl 0.3183098861837906715377675267450287L /* 1/pi */
-#define M_2_PIl 0.6366197723675813430755350534900574L /* 2/pi */
-#define M_2_SQRTPIl 1.1283791670955125738961589031215452L /* 2/sqrt(pi) */
-#define M_SQRT2l 1.4142135623730950488016887242096981L /* sqrt(2) */
-#define M_SQRT1_2l 0.7071067811865475244008443621048490L /* 1/sqrt(2) */
-
-double sin(double d) __THROW __attribute__((__const__));
-double cos(double d) __THROW __attribute__((__const__));
-double tan(double d) __THROW __attribute__((__const__));
-
-double sinh(double d) __THROW __attribute__((__const__));
-double cosh(double d) __THROW __attribute__((__const__));
-double tanh(double d) __THROW __attribute__((__const__));
-
-double asin(double d) __THROW __attribute__((__const__));
-double acos(double d) __THROW __attribute__((__const__));
-double atan(double d) __THROW __attribute__((__const__));
-
-double asinh(double d) __THROW __attribute__((__const__));
-double acosh(double d) __THROW __attribute__((__const__));
-double atanh(double d) __THROW __attribute__((__const__));
-
-double exp(double d) __THROW __attribute__((__const__));
-double exp10(double d) __THROW __attribute__((__const__));
-double log(double d) __THROW __attribute__((__const__));
-double log10(double d) __THROW __attribute__((__const__));
-
-double pow(double x, double y) __THROW __attribute__((__const__));
-
-double sqrt(double x) __THROW __attribute__((__const__));
-double fabs(double x) __THROW __attribute__((__const__));
-double fmod(double x, double y) __THROW __attribute__((__const__));
-
-double floor(double x) __attribute__((__const__));
-double ceil(double x) __attribute__((__const__));
-
-double expm1(double x) __THROW __attribute__((__const__));
-double hypot(double x, double y) __THROW __attribute__((__const__));
-double atan2(double x, double y) __THROW __attribute__((__const__));
-
-double copysign(double value, double sign) __attribute__((__const__));
-
-# define HUGE_VAL \
- (__extension__ \
- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
- { __l: 0x000000007ff00000ULL }).__d)
-
-#ifdef _GNU_SOURCE
-void sincos(double x, double* sinx, double* cosx);
-double ipow (double mant, int expo);
-#endif
-
-int isnan(double d) __attribute__((__const__));
-int isinf(double d) __attribute__((__const__));
-int finite(double d) __attribute__((__const__));
-
-double j0(double x);
-double j1(double x);
-double jn(int n, double x);
-double y0(double x);
-double y1(double x);
-double yn(int n, double x);
-double erf(double x);
-double erfc(double x);
-double lgamma(double x);
-
-double rint(double x);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/md5.h b/mdk-stage1/dietlibc/include/md5.h
deleted file mode 100644
index 7cbc0e8f3..000000000
--- a/mdk-stage1/dietlibc/include/md5.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- rights reserved.
-
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
-
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
-
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
- These notices must be retained in any copies of any part of this
- documentation and/or software.
-*/
-
-#ifndef _MD5_H
-#define _MD5_H
-
-#include <sys/types.h>
-
-/*
- Define the MD5 context structure.
- Please DO NOT change the order or contents of the structure as
- various assembler files depend on it !!
-*/
-typedef struct
-{
- uint32_t state[4]; /* state (ABCD) */
- uint32_t count[2]; /* number of bits, modulo 2^64 (least sig word first) */
- uint8_t buffer[64]; /* input buffer for incomplete buffer data */
-}
-MD5_CTX;
-
-void MD5Init (MD5_CTX* ctx);
-void MD5Update (MD5_CTX* ctx, const uint8_t* buf, size_t len);
-void MD5Final (uint8_t digest[16], MD5_CTX* ctx);
-
-char* md5crypt (const char* pw, const char* salt);
-
-#endif
-
diff --git a/mdk-stage1/dietlibc/include/memory.h b/mdk-stage1/dietlibc/include/memory.h
deleted file mode 100644
index 39adee705..000000000
--- a/mdk-stage1/dietlibc/include/memory.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _MEMORY_H
-#define _MEMORY_H
-
-#include <string.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/mntent.h b/mdk-stage1/dietlibc/include/mntent.h
deleted file mode 100644
index 301403224..000000000
--- a/mdk-stage1/dietlibc/include/mntent.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _MNTENT_H
-#define _MNTENT_H
-
-#include <sys/cdefs.h>
-#include <stdio.h>
-#include <paths.h>
-
-#define MNTTAB _PATH_MNTTAB /* Deprecated alias. */
-#define MOUNTED _PATH_MOUNTED /* Deprecated alias. */
-
-/* General filesystem types. */
-#define MNTTYPE_IGNORE "ignore" /* Ignore this entry. */
-#define MNTTYPE_NFS "nfs" /* Network file system. */
-#define MNTTYPE_SWAP "swap" /* Swap device. */
-
-
-/* Generic mount options. */
-#define MNTOPT_DEFAULTS "defaults" /* Use all default options. */
-#define MNTOPT_RO "ro" /* Read only. */
-#define MNTOPT_RW "rw" /* Read/write. */
-#define MNTOPT_SUID "suid" /* Set uid allowed. */
-#define MNTOPT_NOSUID "nosuid" /* No set uid allowed. */
-#define MNTOPT_NOAUTO "noauto" /* Do not auto mount. */
-
-__BEGIN_DECLS
-
-/* Structure describing a mount table entry. */
-struct mntent
- {
- char *mnt_fsname; /* Device or server for filesystem. */
- char *mnt_dir; /* Directory mounted on. */
- char *mnt_type; /* Type of filesystem: ufs, nfs, etc. */
- char *mnt_opts; /* Comma-separated options for fs. */
- int mnt_freq; /* Dump frequency (in days). */
- int mnt_passno; /* Pass number for `fsck'. */
- };
-
-
-/* Prepare to begin reading and/or writing mount table entries from the
- beginning of FILE. MODE is as for `fopen'. */
-extern FILE *setmntent (const char *file, const char *mode) __THROW;
-
-/* Read one mount table entry from STREAM. Returns a pointer to storage
- reused on the next call, or null for EOF or error (use feof/ferror to
- check). */
-extern struct mntent *getmntent (FILE* stream) __THROW;
-
-#ifdef __USE_MISC
-/* Reentrant version of the above function. */
-extern struct mntent *getmntent_r (FILE* stream,
- struct mntent* result,
- char* buffer,
- int bufsize) __THROW;
-#endif
-
-/* Write the mount table entry described by MNT to STREAM.
- Return zero on success, nonzero on failure. */
-extern int addmntent (FILE* stream,
- const struct mntent* mnt) __THROW;
-
-/* Close a stream opened with `setmntent'. */
-extern int endmntent (FILE *stream) __THROW;
-
-/* Search MNT->mnt_opts for an option matching OPT.
- Returns the address of the substring, or null if none found. */
-extern char *hasmntopt (const struct mntent *__mnt,
- const char *opt) __THROW;
-
-
-__END_DECLS
-
-#endif /* mntent.h */
diff --git a/mdk-stage1/dietlibc/include/net/ethernet.h b/mdk-stage1/dietlibc/include/net/ethernet.h
deleted file mode 100644
index 900ffd536..000000000
--- a/mdk-stage1/dietlibc/include/net/ethernet.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* Based on the FreeBSD version of this file. Curiously, that file
- lacks a copyright in the header. */
-
-#ifndef __NET_ETHERNET_H
-#define __NET_ETHERNET_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/if_ether.h> /* IEEE 802.3 Ethernet constants */
-
-__BEGIN_DECLS
-
-/* This is a name for the 48 bit ethernet address available on many
- systems. */
-struct ether_addr
-{
- uint8_t ether_addr_octet[ETH_ALEN];
-} __attribute__ ((__packed__));
-
-/* 10Mb/s ethernet header */
-struct ether_header
-{
- uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */
- uint8_t ether_shost[ETH_ALEN]; /* source ether addr */
- uint16_t ether_type; /* packet type ID field */
-} __attribute__ ((__packed__));
-
-/* Ethernet protocol ID's */
-#define ETHERTYPE_PUP 0x0200 /* Xerox PUP */
-#define ETHERTYPE_IP 0x0800 /* IP */
-#define ETHERTYPE_ARP 0x0806 /* Address resolution */
-#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */
-
-#define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */
-#define ETHER_TYPE_LEN 2 /* bytes in type field */
-#define ETHER_CRC_LEN 4 /* bytes in CRC field */
-#define ETHER_HDR_LEN ETH_HLEN /* total octets in header */
-#define ETHER_MIN_LEN (ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */
-#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */
-
-/* make sure ethenet length is valid */
-#define ETHER_IS_VALID_LEN(foo) \
- ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
-
-/*
- * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
- * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
- * by an ETHER type (as given above) and then the (variable-length) header.
- */
-#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */
-#define ETHERTYPE_NTRAILER 16
-
-#define ETHERMTU ETH_DATA_LEN
-#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
-
-__END_DECLS
-
-#endif /* net/ethernet.h */
diff --git a/mdk-stage1/dietlibc/include/net/if.h b/mdk-stage1/dietlibc/include/net/if.h
deleted file mode 100644
index ac4737db3..000000000
--- a/mdk-stage1/dietlibc/include/net/if.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _NET_IF_H
-#define _NET_IF_H
-
-#include <sys/cdefs.h>
-#include <sys/socket.h>
-
-/* Standard interface flags. */
-#define IFF_UP 0x1 /* interface is up */
-#define IFF_BROADCAST 0x2 /* broadcast address valid */
-#define IFF_DEBUG 0x4 /* turn on debugging */
-#define IFF_LOOPBACK 0x8 /* is a loopback net */
-#define IFF_POINTOPOINT 0x10 /* interface is has p-p link */
-#define IFF_NOTRAILERS 0x20 /* avoid use of trailers */
-#define IFF_RUNNING 0x40 /* resources allocated */
-#define IFF_NOARP 0x80 /* no ARP protocol */
-#define IFF_PROMISC 0x100 /* receive all packets */
-#define IFF_ALLMULTI 0x200 /* receive all multicast packets*/
-
-#define IFF_MASTER 0x400 /* master of a load balancer */
-#define IFF_SLAVE 0x800 /* slave of a load balancer */
-
-#define IFF_MULTICAST 0x1000 /* Supports multicast */
-
-#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_MASTER|IFF_SLAVE|IFF_RUNNING)
-
-#define IFF_PORTSEL 0x2000 /* can set media type */
-#define IFF_AUTOMEDIA 0x4000 /* auto media select active */
-#define IFF_DYNAMIC 0x8000 /* dialup device with changing addresses*/
-
-struct ifmap {
- unsigned long mem_start;
- unsigned long mem_end;
- unsigned short base_addr;
- unsigned char irq;
- unsigned char dma;
- unsigned char port;
- /* 3 bytes spare */
-};
-
-struct ifreq {
-#define IFHWADDRLEN 6
-#define IFNAMSIZ 16
- union
- {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- } ifr_ifrn;
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short ifru_flags;
- int ifru_ivalue;
- int ifru_mtu;
- struct ifmap ifru_map;
- char ifru_slave[IFNAMSIZ]; /* Just fits the size */
- char ifru_newname[IFNAMSIZ];
- char* ifru_data;
- } ifr_ifru;
-};
-
-#define ifr_name ifr_ifrn.ifrn_name /* interface name */
-#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_metric ifr_ifru.ifru_ivalue /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-#define ifr_map ifr_ifru.ifru_map /* device map */
-#define ifr_slave ifr_ifru.ifru_slave /* slave device */
-#define ifr_data ifr_ifru.ifru_data /* for use by interface */
-#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */
-#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */
-#define ifr_qlen ifr_ifru.ifru_ivalue /* Queue length */
-#define ifr_newname ifr_ifru.ifru_newname /* New name */
-
-struct ifconf {
- int ifc_len; /* size of buffer */
- union {
- char * ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-};
-
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-
-unsigned int if_nametoindex (const char *ifname) __THROW;
-char *if_indextoname (unsigned int ifindex, char *ifname) __THROW;
-
-struct if_nameindex {
- unsigned int if_index;
- char *if_name;
-};
-
-struct if_nameindex* if_nameindex(void) __THROW;
-void if_freenameindex(struct if_nameindex* ptr) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/if_arp.h b/mdk-stage1/dietlibc/include/net/if_arp.h
deleted file mode 100644
index b1054066a..000000000
--- a/mdk-stage1/dietlibc/include/net/if_arp.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef _NET_IF_ARP_H
-#define _NET_IF_ARP_H
-
-#include <sys/socket.h>
-
-#define MAX_ADDR_LEN 7
-
-/* ARP protocol HARDWARE identifiers. */
-#define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */
-#define ARPHRD_ETHER 1 /* Ethernet 10Mbps */
-#define ARPHRD_EETHER 2 /* Experimental Ethernet */
-#define ARPHRD_AX25 3 /* AX.25 Level 2 */
-#define ARPHRD_PRONET 4 /* PROnet token ring */
-#define ARPHRD_CHAOS 5 /* Chaosnet */
-#define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB */
-#define ARPHRD_ARCNET 7 /* ARCnet */
-#define ARPHRD_APPLETLK 8 /* APPLEtalk */
-#define ARPHRD_DLCI 15 /* Frame Relay DLCI */
-#define ARPHRD_ATM 19 /* ATM */
-#define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id) */
-
-/* Dummy types for non ARP hardware */
-#define ARPHRD_SLIP 256
-#define ARPHRD_CSLIP 257
-#define ARPHRD_SLIP6 258
-#define ARPHRD_CSLIP6 259
-#define ARPHRD_RSRVD 260 /* Notional KISS type */
-#define ARPHRD_ADAPT 264
-#define ARPHRD_ROSE 270
-#define ARPHRD_X25 271 /* CCITT X.25 */
-#define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */
-#define ARPHRD_PPP 512
-#define ARPHRD_CISCO 513 /* Cisco HDLC */
-#define ARPHRD_HDLC ARPHRD_CISCO
-#define ARPHRD_LAPB 516 /* LAPB */
-#define ARPHRD_DDCMP 517 /* Digital's DDCMP protocol */
-#define ARPHRD_RAWHDLC 518 /* Raw HDLC */
-
-#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
-#define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel */
-#define ARPHRD_FRAD 770 /* Frame Relay Access Device */
-#define ARPHRD_SKIP 771 /* SKIP vif */
-#define ARPHRD_LOOPBACK 772 /* Loopback device */
-#define ARPHRD_LOCALTLK 773 /* Localtalk device */
-#define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface */
-#define ARPHRD_BIF 775 /* AP1000 BIF */
-#define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */
-#define ARPHRD_IPDDP 777 /* IP over DDP tunneller */
-#define ARPHRD_IPGRE 778 /* GRE over IP */
-#define ARPHRD_PIMREG 779 /* PIMSM register interface */
-#define ARPHRD_HIPPI 780 /* High Performance Parallel Interface */
-#define ARPHRD_ASH 781 /* Nexus 64Mbps Ash */
-#define ARPHRD_ECONET 782 /* Acorn Econet */
-#define ARPHRD_IRDA 783 /* Linux-IrDA */
-/* ARP works differently on different FC media .. so */
-#define ARPHRD_FCPP 784 /* Point to point fibrechannel */
-#define ARPHRD_FCAL 785 /* Fibrechannel arbitrated loop */
-#define ARPHRD_FCPL 786 /* Fibrechannel public loop */
-#define ARPHRD_FCFABRIC 787 /* Fibrechannel fabric */
- /* 787->799 reserved for fibrechannel media types */
-#define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR */
-#define ARPHRD_IEEE80211 801 /* IEEE 802.11 */
-
-#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */
-
-/* ARP protocol opcodes. */
-#define ARPOP_REQUEST 1 /* ARP request */
-#define ARPOP_REPLY 2 /* ARP reply */
-#define ARPOP_RREQUEST 3 /* RARP request */
-#define ARPOP_RREPLY 4 /* RARP reply */
-#define ARPOP_InREQUEST 8 /* InARP request */
-#define ARPOP_InREPLY 9 /* InARP reply */
-#define ARPOP_NAK 10 /* (ATM)ARP NAK */
-
-
-/* ARP ioctl request. */
-struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
- char arp_dev[16];
-};
-
-struct arpreq_old {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
-};
-
-/* ARP Flag values. */
-#define ATF_COM 0x02 /* completed entry (ha valid) */
-#define ATF_PERM 0x04 /* permanent entry */
-#define ATF_PUBL 0x08 /* publish entry */
-#define ATF_USETRAILERS 0x10 /* has requested trailers */
-#define ATF_NETMASK 0x20 /* want to use a netmask (only
- for proxy entries) */
-#define ATF_DONTPUB 0x40 /* don't answer this addresses */
-
-/*
- * This structure defines an ethernet arp header.
- */
-
-struct arphdr
-{
- unsigned short ar_hrd; /* format of hardware address */
- unsigned short ar_pro; /* format of protocol address */
- unsigned char ar_hln; /* length of hardware address */
- unsigned char ar_pln; /* length of protocol address */
- unsigned short ar_op; /* ARP opcode (command) */
-};
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/if_ether.h b/mdk-stage1/dietlibc/include/net/if_ether.h
deleted file mode 100644
index 7451a6dc6..000000000
--- a/mdk-stage1/dietlibc/include/net/if_ether.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _NET_IF_ETHER_H
-#define _NET_IF_ETHER_H
-
-/* taken from <linux/if_ether.h> */
-
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-
-/*
- * These are the defined Ethernet Protocol ID's.
- */
-
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
-#define ETH_P_LAT 0x6004 /* DEC LAT */
-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
-#define ETH_P_CUST 0x6006 /* DEC Customer use */
-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport over Ethernet */
-
-/*
- * Non DIX types. Won't clash for 1500 types.
- */
-
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
-
-/*
- * This is an Ethernet frame header.
- */
-
-struct ethhdr {
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- unsigned short h_proto; /* packet type ID field */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/route.h b/mdk-stage1/dietlibc/include/net/route.h
deleted file mode 100644
index 383bb8370..000000000
--- a/mdk-stage1/dietlibc/include/net/route.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _NET_ROUTE_H
-#define _NET_ROUTE_H
-
-#include <inttypes.h>
-#include <netinet/in.h>
-
-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
-struct rtentry {
- unsigned long rt_pad1;
- struct sockaddr rt_dst; /* target address */
- struct sockaddr rt_gateway; /* gateway addr (RTF_GATEWAY) */
- struct sockaddr rt_genmask; /* target network mask (IP) */
- unsigned short rt_flags;
- short rt_pad2;
- unsigned long rt_pad3;
- void *rt_pad4;
- short rt_metric; /* +1 for binary compatibility! */
- char *rt_dev; /* forcing the device at add */
- unsigned long rt_mtu; /* per route MTU/Window */
-#ifndef __KERNEL__
-#define rt_mss rt_mtu /* Compatibility :-( */
-#endif
- unsigned long rt_window; /* Window clamping */
- unsigned short rt_irtt; /* Initial RTT */
-};
-
-#define RTF_UP 0x0001 /* route usable */
-#define RTF_GATEWAY 0x0002 /* destination is a gateway */
-#define RTF_HOST 0x0004 /* host entry (net otherwise) */
-#define RTF_REINSTATE 0x0008 /* reinstate route after tmout */
-#define RTF_DYNAMIC 0x0010 /* created dyn. (by redirect) */
-#define RTF_MODIFIED 0x0020 /* modified dyn. (by redirect) */
-#define RTF_MTU 0x0040 /* specific MTU for this route */
-#define RTF_MSS RTF_MTU /* Compatibility :-( */
-#define RTF_WINDOW 0x0080 /* per route window clamping */
-#define RTF_IRTT 0x0100 /* Initial round trip time */
-#define RTF_REJECT 0x0200 /* Reject route */
-
-struct in6_rtmsg {
- struct in6_addr rtmsg_dst;
- struct in6_addr rtmsg_src;
- struct in6_addr rtmsg_gateway;
- uint32_t rtmsg_type;
- uint16_t rtmsg_dst_len;
- uint16_t rtmsg_src_len;
- uint32_t rtmsg_metric;
- unsigned long int rtmsg_info;
- uint32_t rtmsg_flags;
- int rtmsg_ifindex;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netdb.h b/mdk-stage1/dietlibc/include/netdb.h
deleted file mode 100644
index be64f659f..000000000
--- a/mdk-stage1/dietlibc/include/netdb.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef _NETDB_H
-#define _NETDB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* Absolute file name for network data base files. */
-#define _PATH_HEQUIV "/etc/hosts.equiv"
-#define _PATH_HOSTS "/etc/hosts"
-#define _PATH_NETWORKS "/etc/networks"
-#define _PATH_NSSWITCH_CONF "/etc/nsswitch.conf"
-#define _PATH_PROTOCOLS "/etc/protocols"
-#define _PATH_SERVICES "/etc/services"
-
-/* Description of data base entry for a single service. */
-struct servent {
- char *s_name; /* Official service name. */
- char **s_aliases; /* Alias list. */
- int s_port; /* Port number. */
- char *s_proto; /* Protocol to use. */
-};
-
-extern void endservent (void) __THROW;
-extern void setservent(int stayopen) __THROW;
-
-extern int getservent_r(struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __THROW;
-extern int getservbyname_r(const char* name,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __THROW;
-extern int getservbyport_r(int port,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) __THROW;
-
-extern struct servent *getservent(void) __THROW;
-extern struct servent *getservbyname (const char *__name,
- const char *__proto) __THROW;
-extern struct servent *getservbyport (int __port, const char *__proto)
- __THROW;
-
-struct hostent {
- char *h_name; /* Official name of host. */
- char **h_aliases; /* Alias list. */
- int h_addrtype; /* Host address type. */
- socklen_t h_length; /* Length of address. */
- char **h_addr_list; /* List of addresses from name server. */
-#define h_addr h_addr_list[0] /* Address, for backward compatibility. */
-};
-
-extern void endhostent (void) __THROW;
-extern struct hostent *gethostent (void) __THROW;
-extern struct hostent *gethostent_r (char* buf,int len) __THROW;
-extern struct hostent *gethostbyaddr (const void *__addr, socklen_t __len,
- int __type) __THROW;
-extern struct hostent *gethostbyname (const char *__name) __THROW;
-extern struct hostent *gethostbyname2 (const char *__name, int __af) __THROW;
-
-/* this glibc "invention" is so ugly, I'm going to throw up any minute
- * now */
-extern int gethostbyname_r(const char* NAME, struct hostent* RESULT_BUF,char* BUF,
- size_t BUFLEN, struct hostent** RESULT,
- int* H_ERRNOP) __THROW;
-
-#define HOST_NOT_FOUND 1
-#define TRY_AGAIN 2
-#define NO_RECOVERY 3
-#define NO_ADDRESS 4
-#define NO_DATA 5
-
-extern int gethostbyaddr_r(const char* addr, size_t length, int format,
- struct hostent* result, char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) __THROW;
-
-int gethostbyname2_r(const char* name, int AF, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) __THROW;
-
-struct protoent {
- char *p_name; /* official protocol name */
- char **p_aliases; /* alias list */
- int p_proto; /* protocol number */
-};
-
-struct protoent *getprotoent(void) __THROW;
-struct protoent *getprotobyname(const char *name) __THROW;
-struct protoent *getprotobynumber(int proto) __THROW;
-void setprotoent(int stayopen) __THROW;
-void endprotoent(void) __THROW;
-
-int getprotoent_r(struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-int getprotobyname_r(const char* name,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-int getprotobynumber_r(int proto,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) __THROW;
-
-
-void sethostent(int stayopen) __THROW;
-
-/* dummy */
-extern int h_errno;
-
-struct netent {
- char *n_name; /* official network name */
- char **n_aliases; /* alias list */
- int n_addrtype; /* net address type */
- unsigned long int n_net; /* network number */
-};
-
-struct netent *getnetbyaddr(unsigned long net, int type) __THROW;
-void endnetent(void) __THROW;
-void setnetent(int stayopen) __THROW;
-struct netent *getnetbyname(const char *name) __THROW;
-struct netent *getnetent(void) __THROW;
-
-extern const char *hstrerror (int err_num) __THROW;
-void herror(const char *s) __THROW;
-
-#define NI_MAXHOST 1025
-#define NI_MAXSERV 32
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in.h b/mdk-stage1/dietlibc/include/netinet/in.h
deleted file mode 100644
index 9f98cc050..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in.h
+++ /dev/null
@@ -1,404 +0,0 @@
-#ifndef _NETINET_IN_H
-#define _NETINET_IN_H
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <endian.h>
-
-/* Standard well-defined IP protocols. */
-enum {
- IPPROTO_IP = 0, /* Dummy protocol for TCP */
-#define IPPROTO_IP IPPROTO_IP
- IPPROTO_ICMP = 1, /* Internet Control Message Protocol */
-#define IPPROTO_ICMP IPPROTO_ICMP
- IPPROTO_IGMP = 2, /* Internet Group Management Protocol */
-#define IPPROTO_IGMP IPPROTO_IGMP
- IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94) */
-#define IPPROTO_IPIP IPPROTO_IPIP
- IPPROTO_TCP = 6, /* Transmission Control Protocol */
-#define IPPROTO_TCP IPPROTO_TCP
- IPPROTO_EGP = 8, /* Exterior Gateway Protocol */
-#define IPPROTO_EGP IPPROTO_EGP
- IPPROTO_PUP = 12, /* PUP protocol */
-#define IPPROTO_PUP IPPROTO_PUP
- IPPROTO_UDP = 17, /* User Datagram Protocol */
-#define IPPROTO_UDP IPPROTO_UDP
- IPPROTO_IDP = 22, /* XNS IDP protocol */
-#define IPPROTO_IDP IPPROTO_IDP
- IPPROTO_RSVP = 46, /* RSVP protocol */
-#define IPPROTO_RSVP IPPROTO_RSVP
- IPPROTO_GRE = 47, /* Cisco GRE tunnels (rfc 1701,1702) */
-#define IPPROTO_GRE IPPROTO_GRE
- IPPROTO_IPV6 = 41, /* IPv6-in-IPv4 tunnelling */
-#define IPPROTO_IPV6 IPPROTO_IPV6
- IPPROTO_PIM = 103, /* Protocol Independent Multicast */
-#define IPPROTO_PIM IPPROTO_PIM
- IPPROTO_ESP = 50, /* Encapsulation Security Payload protocol */
-#define IPPROTO_ESP IPPROTO_ESP
- IPPROTO_AH = 51, /* Authentication Header protocol */
-#define IPPROTO_AH IPPROTO_AH
- IPPROTO_COMP = 108, /* Compression Header protocol */
-#define IPPROTO_COMP IPPROTO_COMP
- IPPROTO_RAW = 255, /* Raw IP packets */
-#define IPPROTO_RAW IPPROTO_RAW
- IPPROTO_MAX
-};
-
-#define IP_TOS 1
-#define IP_TTL 2
-#define IP_HDRINCL 3
-#define IP_OPTIONS 4
-#define IP_ROUTER_ALERT 5
-#define IP_RECVOPTS 6
-#define IP_RETOPTS 7
-#define IP_PKTINFO 8
-#define IP_PKTOPTIONS 9
-#define IP_MTU_DISCOVER 10
-#define IP_RECVERR 11
-#define IP_RECVTTL 12
-#define IP_RECVTOS 13
-#define IP_MTU 14
-#define IP_FREEBIND 15
-
-/* BSD compatibility */
-#define IP_RECVRETOPTS IP_RETOPTS
-
-/* IP_MTU_DISCOVER values */
-#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
-#define IP_PMTUDISC_WANT 1 /* Use per route hints */
-#define IP_PMTUDISC_DO 2 /* Always DF */
-
-#define IP_MULTICAST_IF 32
-#define IP_MULTICAST_TTL 33
-#define IP_MULTICAST_LOOP 34
-#define IP_ADD_MEMBERSHIP 35
-#define IP_DROP_MEMBERSHIP 36
-
-/* These need to appear somewhere around here */
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-
-#define IN6ADDR_ANY_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}}
-#define IN6ADDR_LOOPBACK_INIT {{{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }}}
-extern const struct in6_addr in6addr_any;
-extern const struct in6_addr in6addr_loopback;
-
-typedef uint16_t in_port_t;
-typedef uint32_t in_addr_t;
-
-struct in_addr {
- in_addr_t s_addr;
-};
-
-struct ip_mreq {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_interface; /* local IP address of interface */
-};
-
-struct ip_mreqn {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_address; /* local IP address of interface */
- int imr_ifindex; /* Interface index */
-};
-
-struct in_pktinfo {
- int ipi_ifindex;
- struct in_addr ipi_spec_dst;
- struct in_addr ipi_addr;
-};
-
-/* Structure describing an Internet (IP) socket address. */
-#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
-struct sockaddr_in {
- sa_family_t sin_family; /* Address family */
- in_port_t sin_port; /* Port number */
- struct in_addr sin_addr; /* Internet address */
- /* Pad to size of `struct sockaddr'. */
- unsigned char sin_zero[__SOCK_SIZE__ - sizeof(short int) -
- sizeof(unsigned short int) - sizeof(struct in_addr)];
-};
-
-
-/*
- * Definitions of the bits in an Internet address integer.
- * On subnets, host and network parts are found according
- * to the subnet mask, not these masks.
- */
-#define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
-#define IN_CLASSA_MAX 128
-
-#define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
-#define IN_CLASSB_MAX 65536
-
-#define IN_CLASSC(a) ((((long int) (a)) & 0xe0000000) == 0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
-
-#define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000)
-#define IN_MULTICAST(a) IN_CLASSD(a)
-#define IN_MULTICAST_NET 0xF0000000
-
-#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
-#define IN_BADCLASS(a) IN_EXPERIMENTAL((a))
-
-/* Address to accept any incoming messages. */
-#define INADDR_ANY ((unsigned long int) 0x00000000)
-
-/* Address to send to all hosts. */
-#define INADDR_BROADCAST ((unsigned long int) 0xffffffff)
-
-/* Address indicating an error return. */
-#define INADDR_NONE ((unsigned long int) 0xffffffff)
-
-/* Network number for local host loopback. */
-#define IN_LOOPBACKNET 127
-
-/* Address to loopback in software to local host. */
-#define INADDR_LOOPBACK 0x7f000001 /* 127.0.0.1 */
-#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
-
-/* Defines for Multicast INADDR */
-#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
-#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
-#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
-#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
-
-struct in6_addr {
- union {
- uint8_t u6_addr8[16];
- uint16_t u6_addr16[8];
- uint32_t u6_addr32[4];
- } in6_u;
-#define s6_addr in6_u.u6_addr8
-#define s6_addr16 in6_u.u6_addr16
-#define s6_addr32 in6_u.u6_addr32
-};
-
-struct sockaddr_in6 {
- unsigned short int sin6_family; /* AF_INET6 */
- uint16_t sin6_port; /* Transport layer port # */
- uint32_t sin6_flowinfo; /* IPv6 flow information */
- struct in6_addr sin6_addr; /* IPv6 address */
- uint32_t sin6_scope_id; /* scope id (new in RFC2553) */
-};
-
-struct sockaddr_in_pad {
- sa_family_t sin_family; /* Address family */
- in_port_t sin_port; /* Port number */
- struct in_addr sin_addr; /* Internet address */
- /* Pad to size of `struct sockaddr_in6'. */
- unsigned char sin_zero[sizeof(struct sockaddr_in6) - sizeof(short int) -
- sizeof(unsigned short int) - sizeof(struct in_addr)];
-};
-
-struct ipv6_mreq {
- /* IPv6 multicast address of group */
- struct in6_addr ipv6mr_multiaddr;
- /* local IPv6 address of interface */
- int ipv6mr_interface;
-};
-
-struct in6_flowlabel_req {
- struct in6_addr flr_dst;
- uint32_t flr_label;
- uint8_t flr_action;
- uint8_t flr_share;
- uint16_t flr_flags;
- uint16_t flr_expires;
- uint16_t flr_linger;
- uint32_t __flr_pad;
- /* Options in format of IPV6_PKTOPTIONS */
-};
-
-#define IPV6_FL_A_GET 0
-#define IPV6_FL_A_PUT 1
-#define IPV6_FL_A_RENEW 2
-
-#define IPV6_FL_F_CREATE 1
-#define IPV6_FL_F_EXCL 2
-
-#define IPV6_FL_S_NONE 0
-#define IPV6_FL_S_EXCL 1
-#define IPV6_FL_S_PROCESS 2
-#define IPV6_FL_S_USER 3
-#define IPV6_FL_S_ANY 255
-
-#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
-#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
-
-/*
- * IPV6 extension headers
- */
-#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
-#define IPPROTO_ROUTING 43 /* IPv6 routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
-
-/* IPv6 TLV options. */
-#define IPV6_TLV_PAD0 0
-#define IPV6_TLV_PADN 1
-#define IPV6_TLV_ROUTERALERT 5
-#define IPV6_TLV_JUMBO 194
-
-/* IPV6 socket options. */
-#define IPV6_ADDRFORM 1
-#define IPV6_PKTINFO 2
-#define IPV6_HOPOPTS 3
-#define IPV6_DSTOPTS 4
-#define IPV6_RTHDR 5
-#define IPV6_PKTOPTIONS 6
-#define IPV6_CHECKSUM 7
-#define IPV6_HOPLIMIT 8
-#define IPV6_NEXTHOP 9
-#define IPV6_AUTHHDR 10
-#define IPV6_FLOWINFO 11
-
-#define IPV6_UNICAST_HOPS 16
-#define IPV6_MULTICAST_IF 17
-#define IPV6_MULTICAST_HOPS 18
-#define IPV6_MULTICAST_LOOP 19
-#define IPV6_ADD_MEMBERSHIP 20
-#define IPV6_DROP_MEMBERSHIP 21
-#define IPV6_ROUTER_ALERT 22
-#define IPV6_MTU_DISCOVER 23
-#define IPV6_MTU 24
-#define IPV6_RECVERR 25
-
-/* IPV6_MTU_DISCOVER values */
-#define IPV6_PMTUDISC_DONT 0
-#define IPV6_PMTUDISC_WANT 1
-#define IPV6_PMTUDISC_DO 2
-
-/* Flowlabel */
-#define IPV6_FLOWLABEL_MGR 32
-#define IPV6_FLOWINFO_SEND 33
-
-#define IPV6_MIN_MTU 1280
-
-struct in6_pktinfo {
- struct in6_addr ipi6_addr;
- int ipi6_ifindex;
-};
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- uint32_t ifr6_prefixlen;
- int ifr6_ifindex;
-};
-
-#define IPV6_SRCRT_STRICT 0x01 /* this hop must be a neighbor */
-#define IPV6_SRCRT_TYPE_0 0 /* IPv6 type 0 Routing Header */
-
-/* routing header */
-struct ipv6_rt_hdr {
- uint8_t nexthdr;
- uint8_t hdrlen;
- uint8_t type;
- uint8_t segments_left;
- /* type specific data, variable length field */
-};
-
-struct ipv6_opt_hdr {
- uint8_t nexthdr;
- uint8_t hdrlen;
- /* TLV encoded option data follows. */
-};
-
-#define ipv6_destopt_hdr ipv6_opt_hdr
-#define ipv6_hopopt_hdr ipv6_opt_hdr
-
-/* routing header type 0 (used in cmsghdr struct) */
-
-#ifndef __STRICT_ANSI__
-struct rt0_hdr {
- struct ipv6_rt_hdr rt_hdr;
- uint32_t bitmap; /* strict/loose bit map */
- struct in6_addr addr[0];
-#define rt0_type rt_hdr.type;
-};
-#endif
-
-struct ipv6hdr {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int flow_lbl:20,
- priority:8,
- version:4;
-#else
- unsigned int version:4,
- priority:8,
- flow_lbl:20;
-#endif
-
- uint16_t payload_len;
- uint8_t nexthdr;
- uint8_t hop_limit;
-
- struct in6_addr saddr;
- struct in6_addr daddr;
-};
-/* fnord */
-
-#define IPPORT_RESERVED 1024
-#define INET6_ADDRSTRLEN 46
-
-#undef htonl
-#undef htons
-#undef ntohl
-#undef ntohs
-uint32_t htonl(uint32_t hostlong);
-uint16_t htons(uint16_t hostshort);
-uint32_t ntohl(uint32_t netlong);
-uint16_t ntohs(uint16_t netshort);
-
-#define IN6_IS_ADDR_UNSPECIFIED(a) \
- (((__const uint32_t *) (a))[0] == 0 \
- && ((__const uint32_t *) (a))[1] == 0 \
- && ((__const uint32_t *) (a))[2] == 0 \
- && ((__const uint32_t *) (a))[3] == 0)
-
-#define IN6_IS_ADDR_LOOPBACK(a) \
- (((__const uint32_t *) (a))[0] == 0 \
- && ((__const uint32_t *) (a))[1] == 0 \
- && ((__const uint32_t *) (a))[2] == 0 \
- && ((__const uint32_t *) (a))[3] == htonl (1))
-
-#define IN6_IS_ADDR_MULTICAST(a) (((__const uint8_t *) (a))[0] == 0xff)
-
-#define IN6_IS_ADDR_LINKLOCAL(a) \
- ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
- == htonl (0xfe800000))
-
-#define IN6_IS_ADDR_SITELOCAL(a) \
- ((((__const uint32_t *) (a))[0] & htonl (0xffc00000)) \
- == htonl (0xfec00000))
-
-#define IN6_IS_ADDR_V4MAPPED(a) \
- ((((__const uint32_t *) (a))[0] == 0) \
- && (((__const uint32_t *) (a))[1] == 0) \
- && (((__const uint32_t *) (a))[2] == htonl (0xffff)))
-
-#define IN6_IS_ADDR_V4COMPAT(a) \
- ((((__const uint32_t *) (a))[0] == 0) \
- && (((__const uint32_t *) (a))[1] == 0) \
- && (((__const uint32_t *) (a))[2] == 0) \
- && (ntohl (((__const uint32_t *) (a))[3]) > 1))
-
-#define IN6_ARE_ADDR_EQUAL(a,b) \
- ((((__const uint32_t *) (a))[0] == ((__const uint32_t *) (b))[0]) \
- && (((__const uint32_t *) (a))[1] == ((__const uint32_t *) (b))[1]) \
- && (((__const uint32_t *) (a))[2] == ((__const uint32_t *) (b))[2]) \
- && (((__const uint32_t *) (a))[3] == ((__const uint32_t *) (b))[3]))
-
-/* old legacy bullshit */
-int bindresvport(int sd, struct sockaddr_in* sin);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in_systm.h b/mdk-stage1/dietlibc/include/netinet/in_systm.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in_systm.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/netinet/ip.h b/mdk-stage1/dietlibc/include/netinet/ip.h
deleted file mode 100644
index 4ebf21706..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip.h
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef _NETINET_IP_H
-#define _NETINET_IP_H
-
-#include <inttypes.h>
-#include <endian.h>
-#include <netinet/in.h>
-
-#define IPVERSION 4 /* IP version number */
-#define IP_MAXPACKET 65535 /* maximum packet size */
-
-#define IPTOS_TOS_MASK 0x1E
-#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_RELIABILITY 0x04
-#define IPTOS_MINCOST 0x02
-#define IPTOS_LOWCOST IPTOS_MINCOST
-
-#define IPTOS_PREC_MASK 0xE0
-#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK)
-#define IPTOS_PREC_NETCONTROL 0xe0
-#define IPTOS_PREC_INTERNETCONTROL 0xc0
-#define IPTOS_PREC_CRITIC_ECP 0xa0
-#define IPTOS_PREC_FLASHOVERRIDE 0x80
-#define IPTOS_PREC_FLASH 0x60
-#define IPTOS_PREC_IMMEDIATE 0x40
-#define IPTOS_PREC_PRIORITY 0x20
-#define IPTOS_PREC_ROUTINE 0x00
-
-
-/* IP options */
-#define IPOPT_COPY 0x80
-#define IPOPT_CLASS_MASK 0x60
-#define IPOPT_NUMBER_MASK 0x1f
-
-#define IPOPT_COPIED(o) ((o)&IPOPT_COPY)
-#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK)
-#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK)
-
-#define IPOPT_CONTROL 0x00
-#define IPOPT_RESERVED1 0x20
-#define IPOPT_MEASUREMENT 0x40
-#define IPOPT_RESERVED2 0x60
-
-#define IPOPT_END (0 |IPOPT_CONTROL)
-#define IPOPT_NOOP (1 |IPOPT_CONTROL)
-#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT)
-#define IPOPT_RR (7 |IPOPT_CONTROL)
-#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY)
-
-#define IPVERSION 4
-#define MAXTTL 255
-#define IPDEFTTL 64
-
-/* struct timestamp, struct route and MAX_ROUTES are removed.
-
- REASONS: it is clear that nobody used them because:
- - MAX_ROUTES value was wrong.
- - "struct route" was wrong.
- - "struct timestamp" had fatally misaligned bitfields and was completely unusable.
- */
-
-#define IPOPT_OPTVAL 0
-#define IPOPT_OLEN 1
-#define IPOPT_OFFSET 2
-#define IPOPT_MINOFF 4
-#define MAX_IPOPTLEN 40
-#define IPOPT_NOP IPOPT_NOOP
-#define IPOPT_EOL IPOPT_END
-#define IPOPT_TS IPOPT_TIMESTAMP
-
-#define IPOPT_TS_TSONLY 0 /* timestamps only */
-#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
-#define IPOPT_TS_PRESPEC 3 /* specified modules only */
-
-struct iphdr { /* size 20/0x14 */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int ihl:4, version:4; /* offset 0; version=ip version (4) */
-#else
- unsigned int version:4, ihl:4; /* offset 0; ihl=ip header length, measured in words (5) */
-#endif
- unsigned char tos; /* offset 1 */
- unsigned short tot_len; /* offset 2; total bytes in packet in network byte order */
- unsigned short id; /* offset 4 */
- unsigned short frag_off; /* offset 6 */
- unsigned char ttl; /* offset 8 */
- unsigned char protocol; /* offset 9; 1=ICMP, 6=TCP, 17=UDP (see netinet/in.h) */
- unsigned short check; /* offset 10/0xa */
- unsigned int saddr; /* offset 12/0xc */
- unsigned int daddr; /* offset 16/0x10 */
- /*The options start here. */
-};
-
-struct ip {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- unsigned int ip_hl:4; /* header length */
- unsigned int ip_v:4; /* version */
-#endif
-#if __BYTE_ORDER == __BIG_ENDIAN
- unsigned int ip_v:4; /* version */
- unsigned int ip_hl:4; /* header length */
-#endif
- unsigned char ip_tos; /* type of service */
- unsigned short ip_len; /* total length */
- unsigned short ip_id; /* identification */
- unsigned short ip_off; /* fragment offset field */
-#define IP_RF 0x8000 /* reserved fragment flag */
-#define IP_DF 0x4000 /* dont fragment flag */
-#define IP_MF 0x2000 /* more fragments flag */
-#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
- unsigned char ip_ttl; /* time to live */
- unsigned char ip_p; /* protocol */
- unsigned short ip_sum; /* checksum */
- struct in_addr ip_src, ip_dst; /* source and dest address */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h b/mdk-stage1/dietlibc/include/netinet/ip_icmp.h
deleted file mode 100644
index cf8e016f7..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip_icmp.h
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef NETINET_IP_ICMP_H
-#define NETINET_IP_ICMP_H
-
-#include <sys/cdefs.h>
-#include <inttypes.h>
-#include <netinet/ip.h>
-
-struct icmphdr {
- uint8_t type; /* message type */
- uint8_t code; /* type sub-code */
- uint16_t checksum;
- union {
- struct {
- uint16_t id;
- uint16_t sequence;
- } echo; /* echo datagram */
- uint32_t gateway; /* gateway address */
- struct {
- uint16_t __unused;
- uint16_t mtu;
- } frag; /* path mtu discovery */
- } un;
-};
-
-#define ICMP_ECHOREPLY 0 /* Echo Reply */
-#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */
-#define ICMP_SOURCE_QUENCH 4 /* Source Quench */
-#define ICMP_REDIRECT 5 /* Redirect (change route) */
-#define ICMP_ECHO 8 /* Echo Request */
-#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */
-#define ICMP_PARAMETERPROB 12 /* Parameter Problem */
-#define ICMP_TIMESTAMP 13 /* Timestamp Request */
-#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */
-#define ICMP_INFO_REQUEST 15 /* Information Request */
-#define ICMP_INFO_REPLY 16 /* Information Reply */
-#define ICMP_ADDRESS 17 /* Address Mask Request */
-#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */
-#define NR_ICMP_TYPES 18
-
-
-/* Codes for UNREACH. */
-#define ICMP_NET_UNREACH 0 /* Network Unreachable */
-#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
-#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
-#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
-#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
-#define ICMP_SR_FAILED 5 /* Source Route failed */
-#define ICMP_NET_UNKNOWN 6
-#define ICMP_HOST_UNKNOWN 7
-#define ICMP_HOST_ISOLATED 8
-#define ICMP_NET_ANO 9
-#define ICMP_HOST_ANO 10
-#define ICMP_NET_UNR_TOS 11
-#define ICMP_HOST_UNR_TOS 12
-#define ICMP_PKT_FILTERED 13 /* Packet filtered */
-#define ICMP_PREC_VIOLATION 14 /* Precedence violation */
-#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */
-#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */
-
-/* Codes for REDIRECT. */
-#define ICMP_REDIR_NET 0 /* Redirect Net */
-#define ICMP_REDIR_HOST 1 /* Redirect Host */
-#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */
-#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */
-
-/* Codes for TIME_EXCEEDED. */
-#define ICMP_EXC_TTL 0 /* TTL count exceeded */
-#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
-
-/*
- * Lower bounds on packet lengths for various types.
- * For the error advice packets must first insure that the
- * packet is large enough to contain the returned ip header.
- * Only then can we do the check to see if 64 bits of packet
- * data have been returned, since we need to check the returned
- * ip header length.
- */
-#define ICMP_MINLEN 8 /* abs minimum */
-#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) /* timestamp */
-#define ICMP_MASKLEN 12 /* address mask */
-#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) /* min */
-#ifndef _IP_VHL
-#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
- /* N.B.: must separately check that ip_hl >= 5 */
-#else
-#define ICMP_ADVLEN(p) (8 + (IP_VHL_HL((p)->icmp_ip.ip_vhl) << 2) + 8)
- /* N.B.: must separately check that header length >= 5 */
-#endif
-
-/* Definition of type and code fields. */
-/* defined above: ICMP_ECHOREPLY, ICMP_REDIRECT, ICMP_ECHO */
-#define ICMP_UNREACH 3 /* dest unreachable, codes: */
-#define ICMP_SOURCEQUENCH 4 /* packet lost, slow down */
-#define ICMP_ROUTERADVERT 9 /* router advertisement */
-#define ICMP_ROUTERSOLICIT 10 /* router solicitation */
-#define ICMP_TIMXCEED 11 /* time exceeded, code: */
-#define ICMP_PARAMPROB 12 /* ip header bad */
-#define ICMP_TSTAMP 13 /* timestamp request */
-#define ICMP_TSTAMPREPLY 14 /* timestamp reply */
-#define ICMP_IREQ 15 /* information request */
-#define ICMP_IREQREPLY 16 /* information reply */
-#define ICMP_MASKREQ 17 /* address mask request */
-#define ICMP_MASKREPLY 18 /* address mask reply */
-
-#define ICMP_MAXTYPE 18
-
-/* UNREACH codes */
-#define ICMP_UNREACH_NET 0 /* bad net */
-#define ICMP_UNREACH_HOST 1 /* bad host */
-#define ICMP_UNREACH_PROTOCOL 2 /* bad protocol */
-#define ICMP_UNREACH_PORT 3 /* bad port */
-#define ICMP_UNREACH_NEEDFRAG 4 /* IP_DF caused drop */
-#define ICMP_UNREACH_SRCFAIL 5 /* src route failed */
-#define ICMP_UNREACH_NET_UNKNOWN 6 /* unknown net */
-#define ICMP_UNREACH_HOST_UNKNOWN 7 /* unknown host */
-#define ICMP_UNREACH_ISOLATED 8 /* src host isolated */
-#define ICMP_UNREACH_NET_PROHIB 9 /* net denied */
-#define ICMP_UNREACH_HOST_PROHIB 10 /* host denied */
-#define ICMP_UNREACH_TOSNET 11 /* bad tos for net */
-#define ICMP_UNREACH_TOSHOST 12 /* bad tos for host */
-#define ICMP_UNREACH_FILTER_PROHIB 13 /* admin prohib */
-#define ICMP_UNREACH_HOST_PRECEDENCE 14 /* host prec vio. */
-#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 /* prec cutoff */
-
-/* REDIRECT codes */
-#define ICMP_REDIRECT_NET 0 /* for network */
-#define ICMP_REDIRECT_HOST 1 /* for host */
-#define ICMP_REDIRECT_TOSNET 2 /* for tos and net */
-#define ICMP_REDIRECT_TOSHOST 3 /* for tos and host */
-
-/* TIMEXCEED codes */
-#define ICMP_TIMXCEED_INTRANS 0 /* ttl==0 in transit */
-#define ICMP_TIMXCEED_REASS 1 /* ttl==0 in reass */
-
-/* PARAMPROB code */
-#define ICMP_PARAMPROB_OPTABSENT 1 /* req. opt. absent */
-
-#define ICMP_INFOTYPE(type) \
- ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \
- (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \
- (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \
- (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \
- (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/tcp.h b/mdk-stage1/dietlibc/include/netinet/tcp.h
deleted file mode 100644
index e47f24dff..000000000
--- a/mdk-stage1/dietlibc/include/netinet/tcp.h
+++ /dev/null
@@ -1,164 +0,0 @@
-#ifndef _NETINET_TCP_H
-#define _NETINET_TCP_H
-
-#include <inttypes.h>
-#include <endian.h>
-
-struct tcphdr { /* size 20/0x14 40/0x28 with IP header */
- uint16_t source; /* offset 0 20/0x14 */
- uint16_t dest; /* offset 2 22/0x16 */
- uint32_t seq; /* offset 4 24/0x18 */
- uint32_t ack_seq; /* offset 8 28/0x1c */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- uint16_t res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1;
-#else
- uint16_t doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1;
-#endif
- /* offset 12/0xc 32/0x20 */
- uint16_t window; /* offset 14/0xe 34/0x22 */
- uint16_t check; /* offset 16/0x10 36/0x24 */
- uint16_t urg_ptr; /* offset 18/0x12 38/0x26 */
-};
-
-
-enum {
- TCP_ESTABLISHED = 1,
- TCP_SYN_SENT,
- TCP_SYN_RECV,
- TCP_FIN_WAIT1,
- TCP_FIN_WAIT2,
- TCP_TIME_WAIT,
- TCP_CLOSE,
- TCP_CLOSE_WAIT,
- TCP_LAST_ACK,
- TCP_LISTEN,
- TCP_CLOSING, /* now a valid state */
-
- TCP_MAX_STATES /* Leave at the end! */
-};
-
-#define TCP_STATE_MASK 0xF
-#define TCP_ACTION_FIN (1 << 7)
-
-enum {
- TCPF_ESTABLISHED = (1 << 1),
- TCPF_SYN_SENT = (1 << 2),
- TCPF_SYN_RECV = (1 << 3),
- TCPF_FIN_WAIT1 = (1 << 4),
- TCPF_FIN_WAIT2 = (1 << 5),
- TCPF_TIME_WAIT = (1 << 6),
- TCPF_CLOSE = (1 << 7),
- TCPF_CLOSE_WAIT = (1 << 8),
- TCPF_LAST_ACK = (1 << 9),
- TCPF_LISTEN = (1 << 10),
- TCPF_CLOSING = (1 << 11)
-};
-
-/*
- * The union cast uses a gcc extension to avoid aliasing problems
- * (union is compatible to any of its members)
- * This means this part of the code is -fstrict-aliasing safe now.
- */
-union tcp_word_hdr {
- struct tcphdr hdr;
- uint32_t words[5];
-};
-
-#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
-
-enum {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- TCP_FLAG_CWR = 0x00008000,
- TCP_FLAG_ECE = 0x00004000,
- TCP_FLAG_URG = 0x00002000,
- TCP_FLAG_ACK = 0x00001000,
- TCP_FLAG_PSH = 0x00000800,
- TCP_FLAG_RST = 0x00000400,
- TCP_FLAG_SYN = 0x00000200,
- TCP_FLAG_FIN = 0x00000100,
- TCP_RESERVED_BITS = 0x0000C00F,
- TCP_DATA_OFFSET = 0x000000F0
-#else
- TCP_FLAG_CWR = 0x00800000,
- TCP_FLAG_ECE = 0x00400000,
- TCP_FLAG_URG = 0x00200000,
- TCP_FLAG_ACK = 0x00100000,
- TCP_FLAG_PSH = 0x00080000,
- TCP_FLAG_RST = 0x00040000,
- TCP_FLAG_SYN = 0x00020000,
- TCP_FLAG_FIN = 0x00010000,
- TCP_RESERVED_BITS = 0x0FC00000,
- TCP_DATA_OFFSET = 0xF0000000
-#endif
-};
-
-/* TCP socket options */
-#define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */
-#define TCP_MAXSEG 2 /* Limit MSS */
-#define TCP_CORK 3 /* Never send partially complete segments */
-#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
-#define TCP_KEEPINTVL 5 /* Interval between keepalives */
-#define TCP_KEEPCNT 6 /* Number of keepalives before death */
-#define TCP_SYNCNT 7 /* Number of SYN retransmits */
-#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
-#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
-#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
-#define TCP_INFO 11 /* Information about this connection. */
-#define TCP_QUICKACK 12 /* Block/reenable quick acks */
-
-#define TCPI_OPT_TIMESTAMPS 1
-#define TCPI_OPT_SACK 2
-#define TCPI_OPT_WSCALE 4
-#define TCPI_OPT_ECN 8
-
-enum tcp_ca_state {
- TCP_CA_Open = 0,
-#define TCPF_CA_Open (1<<TCP_CA_Open)
- TCP_CA_Disorder = 1,
-#define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
- TCP_CA_CWR = 2,
-#define TCPF_CA_CWR (1<<TCP_CA_CWR)
- TCP_CA_Recovery = 3,
-#define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
- TCP_CA_Loss = 4
-#define TCPF_CA_Loss (1<<TCP_CA_Loss)
-};
-
-struct tcp_info {
- uint8_t tcpi_state;
- uint8_t tcpi_ca_state;
- uint8_t tcpi_retransmits;
- uint8_t tcpi_probes;
- uint8_t tcpi_backoff;
- uint8_t tcpi_options;
- uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
- uint32_t tcpi_rto;
- uint32_t tcpi_ato;
- uint32_t tcpi_snd_mss;
- uint32_t tcpi_rcv_mss;
-
- uint32_t tcpi_unacked;
- uint32_t tcpi_sacked;
- uint32_t tcpi_lost;
- uint32_t tcpi_retrans;
- uint32_t tcpi_fackets;
-
- /* Times. */
- uint32_t tcpi_last_data_sent;
- uint32_t tcpi_last_ack_sent; /* Not remembered, sorry. */
- uint32_t tcpi_last_data_recv;
- uint32_t tcpi_last_ack_recv;
-
- /* Metrics. */
- uint32_t tcpi_pmtu;
- uint32_t tcpi_rcv_ssthresh;
- uint32_t tcpi_rtt;
- uint32_t tcpi_rttvar;
- uint32_t tcpi_snd_ssthresh;
- uint32_t tcpi_snd_cwnd;
- uint32_t tcpi_advmss;
- uint32_t tcpi_reordering;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/udp.h b/mdk-stage1/dietlibc/include/netinet/udp.h
deleted file mode 100644
index 3c5e9524e..000000000
--- a/mdk-stage1/dietlibc/include/netinet/udp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _NETINET_UDP_H
-#define _NETINET_UDP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct udphdr { /* size 8 28/0x1c with IP header */
- uint16_t source; /* offset 0 20/0x14 */
- uint16_t dest; /* offset 2 22/0x16 */
- uint16_t len; /* offset 4 24/0x18 */
- uint16_t check; /* offset 6 26/0x1a */
-};
-
-#define SOL_UDP 17 /* sockopt level for UDP */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netpacket/packet.h b/mdk-stage1/dietlibc/include/netpacket/packet.h
deleted file mode 100644
index b265094c6..000000000
--- a/mdk-stage1/dietlibc/include/netpacket/packet.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __NETPACKET_PACKET_H
-#define __NETPACKET_PACKET_H
-
-struct sockaddr_ll {
- unsigned short int sll_family;
- unsigned short int sll_protocol;
- int sll_ifindex;
- unsigned short int sll_hatype;
- unsigned char sll_pkttype;
- unsigned char sll_halen;
- unsigned char sll_addr[8];
-};
-
-#define PACKET_HOST 0 /* To us. */
-#define PACKET_BROADCAST 1 /* To all. */
-#define PACKET_MULTICAST 2 /* To group. */
-#define PACKET_OTHERHOST 3 /* To someone else. */
-#define PACKET_OUTGOING 4 /* Originated by us. */
-#define PACKET_LOOPBACK 5
-#define PACKET_FASTROUTE 6
-
-/* Packet socket options. */
-
-#define PACKET_ADD_MEMBERSHIP 1
-#define PACKET_DROP_MEMBERSHIP 2
-#define PACKET_RECV_OUTPUT 3
-#define PACKET_RX_RING 5
-#define PACKET_STATISTICS 6
-
-struct packet_mreq {
- int mr_ifindex;
- unsigned short int mr_type;
- unsigned short int mr_alen;
- unsigned char mr_address[8];
-};
-
-#define PACKET_MR_MULTICAST 0
-#define PACKET_MR_PROMISC 1
-#define PACKET_MR_ALLMULTI 2
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/paths.h b/mdk-stage1/dietlibc/include/paths.h
deleted file mode 100644
index 9073d267a..000000000
--- a/mdk-stage1/dietlibc/include/paths.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _PATHS_H
-#define _PATHS_H
-
-#define _PATH_BSHELL "/bin/sh"
-#define _PATH_DEFPATH "/bin:/usr/bin:"
-
-#define _PATH_DEVNULL "/dev/null"
-
-#define _PATH_CONSOLE "/dev/console"
-#define _PATH_MOUNTED "/etc/mtab"
-
-#define _PATH_PASSWD "/etc/passwd"
-#define _PATH_GROUP "/etc/group"
-#define _PATH_SHADOW "/etc/shadow"
-
-#define _PATH_SHELLS "/etc/shells"
-
-#define _PATH_VARRUN "/var/run/"
-
-/* puke */
-#define _PATH_MAILDIR "/var/mail"
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pthread.h b/mdk-stage1/dietlibc/include/pthread.h
deleted file mode 100644
index e243c0281..000000000
--- a/mdk-stage1/dietlibc/include/pthread.h
+++ /dev/null
@@ -1,244 +0,0 @@
-#ifndef _PTHREAD_H
-#define _PTHREAD_H 1
-
-#include <sched.h>
-#include <signal.h>
-#include <setjmp.h>
-
-#define PTHREAD_STACK_SIZE 16384
-
-#define PTHREAD_THREADS_MAX 128
-
-#define MAX_SPIN_COUNT 50
-#define SPIN_SLEEP_DURATION 2000001
-
-#define PTHREAD_KEYS_MAX 7
-#define PTHREAD_DESTRUCTOR_ITERATIONS 10
-
-typedef struct _pthread_descr_struct *_pthread_descr;
-typedef int pthread_t;
-
-/* Fast locks */
-#ifdef __parisc__
-#define PTHREAD_SPIN_LOCKED 0
-#define PTHREAD_SPIN_UNLOCKED 1
-#else
-#define PTHREAD_SPIN_LOCKED 1
-#define PTHREAD_SPIN_UNLOCKED 0
-#endif
-struct _pthread_fastlock {
- int __spinlock;
-};
-
-/* Mutexes */
-typedef struct {
- struct _pthread_fastlock lock;
- _pthread_descr owner;
- int kind;
- unsigned int count;
-} pthread_mutex_t;
-
-enum {
- PTHREAD_MUTEX_FAST_NP,
- PTHREAD_MUTEX_RECURSIVE_NP,
- PTHREAD_MUTEX_ERRORCHECK_NP,
-};
-
-enum
-{
- PTHREAD_PROCESS_PRIVATE,
-#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
- PTHREAD_PROCESS_SHARED
-#define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
-};
-
-#define PTHREAD_MUTEX_INITIALIZER \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_FAST_NP, 0}
-
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0}
-
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-{{PTHREAD_SPIN_UNLOCKED}, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0}
-
-typedef struct {
- int __mutexkind;
-} pthread_mutexattr_t;
-
-int pthread_mutexattr_init(pthread_mutexattr_t *attr);
-int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
-
-int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind);
-int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);
-
-int pthread_mutex_init(pthread_mutex_t *mutex,
- const pthread_mutexattr_t *mutexattr);
-int pthread_mutex_lock(pthread_mutex_t *mutex);
-int pthread_mutex_unlock(pthread_mutex_t *mutex);
-int pthread_mutex_trylock(pthread_mutex_t *mutex);
-int pthread_mutex_destroy(pthread_mutex_t *mutex);
-
-/* Conditions */
-typedef void* pthread_condattr_t;
-
-typedef struct {
- struct _pthread_fastlock lock;
- _pthread_descr wait_chain;
-} pthread_cond_t;
-
-#define PTHREAD_COND_INITIALIZER \
-{{PTHREAD_SPIN_UNLOCKED},0}
-
-int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);
-int pthread_cond_destroy(pthread_cond_t *cond);
-int pthread_cond_signal(pthread_cond_t *cond);
-int pthread_cond_broadcast(pthread_cond_t *cond);
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- const struct timespec *abstime);
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
-
-/* only for completeness (always return NULL) */
-int pthread_condattr_init(pthread_condattr_t *attr);
-int pthread_condattr_destroy(pthread_condattr_t *attr);
-int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared);
-int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared);
-
-/* thread specific variables */
-typedef unsigned int pthread_key_t;
-
-int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*));
-int pthread_key_delete(pthread_key_t key);
-int pthread_setspecific(pthread_key_t key, const void *value);
-const void *pthread_getspecific(pthread_key_t key);
-
-
-/* Attributes for threads. */
-typedef struct
-{
- int __detachstate;
- int __schedpolicy;
- struct sched_param __schedparam;
- int __inheritsched;
- int __scope;
- void * __stackaddr;
- unsigned long __stacksize;
-} pthread_attr_t;
-
-enum
-{
- PTHREAD_CREATE_JOINABLE,
-#define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
- PTHREAD_CREATE_DETACHED
-#define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
-};
-
-enum
-{
- PTHREAD_EXPLICIT_SCHED,
-#define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
- PTHREAD_INHERIT_SCHED
-#define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
-};
-
-enum /* for completeness */
-{
- PTHREAD_SCOPE_SYSTEM,
-#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
- PTHREAD_SCOPE_PROCESS
-#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
-};
-
-int pthread_attr_init(pthread_attr_t *attr);
-int pthread_attr_destroy(pthread_attr_t *attr);
-
-int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
-int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
-
-int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
-int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
-
-int pthread_attr_setschedparam(pthread_attr_t *attr,
- const struct sched_param *param);
-int pthread_attr_getschedparam(const pthread_attr_t *attr,
- struct sched_param *param);
-
-int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit);
-int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit);
-
-int pthread_attr_setscope(pthread_attr_t *attr, int scope);
-int pthread_attr_getscope(const pthread_attr_t *attr, int *scope);
-
-int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack);
-int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack);
-
-int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
-int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize);
-
-int pthread_setschedparam(pthread_t target_thread, int policy,
- const struct sched_param *param);
-int pthread_getschedparam(pthread_t target_thread, int *policy,
- struct sched_param *param);
-
-/* ONCE */
-typedef int pthread_once_t;
-#define PTHREAD_ONCE_INIT PTHREAD_SPIN_UNLOCKED
-
-int __pthread_once(pthread_once_t* once_control, void (*init_routine)(void));
-int pthread_once(pthread_once_t* once_control, void (*init_routine)(void));
-
-/* CANCEL */
-
-enum {
- PTHREAD_CANCEL_ENABLE,
-#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
- PTHREAD_CANCEL_DISABLE,
-#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
-};
-
-enum {
- PTHREAD_CANCEL_ASYNCHRONOUS,
-#define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
- PTHREAD_CANCEL_DEFERRED,
-#define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-};
-
-#define PTHREAD_CANCELED ((void *) -1)
-
-int pthread_cancel(pthread_t thread);
-int pthread_setcancelstate(int state, int *oldstate);
-
-int pthread_setcanceltype(int type, int *oldtype);
-
-void pthread_testcancel(void);
-
-/* CLEANUP */
-
-void pthread_cleanup_push(void (*routine)(void*), void *arg);
-void pthread_cleanup_pop (int execute);
-
-void pthread_cleanup_push_defer_np(void (*routine)(void *), void *arg);
-void pthread_cleanup_pop_restore_np(int execute);
-
-/* FORK */
-
-pid_t pthread_atfork(void (*prepare)(void), void (*parent)(void),
- void (*child)(void));
-
-/* THREADS */
-int pthread_create (pthread_t *__threadarg,
- const pthread_attr_t *__attr,
- void *(*__start_routine) (void *),
- void *__arg);
-
-void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
-
-int pthread_join (pthread_t __th, void **__thread_return);
-
-int pthread_detach (pthread_t __th);
-
-pthread_t pthread_self (void);
-int pthread_equal (pthread_t __thread1, pthread_t __thread2);
-
-int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pty.h b/mdk-stage1/dietlibc/include/pty.h
deleted file mode 100644
index fa53d9934..000000000
--- a/mdk-stage1/dietlibc/include/pty.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _PTY_H
-#define _PTY_H
-
-#include <sys/cdefs.h>
-#include <termios.h>
-
-/* Create pseudo tty master slave pair with NAME and set terminal
- * attributes according to TERMP and WINP and return handles for both
- * ends in AMASTER and ASLAVE. */
-extern int openpty (int *__amaster, int *__aslave, char *__name, struct
- termios *__termp, struct winsize *__winp) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pwd.h b/mdk-stage1/dietlibc/include/pwd.h
deleted file mode 100644
index 8901a2d7f..000000000
--- a/mdk-stage1/dietlibc/include/pwd.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _PWD_H
-#define _PWD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <stdio.h>
-
-struct passwd {
- char *pw_name; /* Username. */
- char *pw_passwd; /* Password. */
- uid_t pw_uid; /* User ID. */
- gid_t pw_gid; /* Group ID. */
- char *pw_gecos; /* Real name. */
- char *pw_dir; /* Home directory. */
- char *pw_shell; /* Shell program. */
-};
-
-extern struct passwd *getpwuid (uid_t uid) __THROW;
-extern struct passwd *getpwnam (const char *name) __THROW;
-
-extern struct passwd *getpwent(void) __THROW;
-extern void setpwent(void) __THROW;
-extern void endpwent(void) __THROW;
-extern int putpwent(const struct passwd *p, FILE *stream) __THROW;
-
-int getpwent_r(struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-int getpwnam_r(const char* name,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-int getpwuid_r(uid_t uid,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h
deleted file mode 100644
index abc9ab57b..000000000
--- a/mdk-stage1/dietlibc/include/regex.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _REGEX_H
-#define _REGEX_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef ptrdiff_t regoff_t;
-
-typedef struct {
- regoff_t rm_so;
- regoff_t rm_eo;
-} regmatch_t;
-
-#define REG_EXTENDED 1
-#define REG_ICASE 2
-#define REG_NOSUB 4
-#define REG_NEWLINE 8
-
-#define REG_NOTBOL 1
-#define REG_NOTEOL 2
-
-#define REG_NOMATCH -1
-
-#define RE_DUP_MAX 255
-
-struct __regex_t;
-
-typedef int (*matcher)(void*,const char*,int ofs,struct __regex_t *t,int plus,int eflags);
-
-typedef struct __regex_t {
- struct regex {
- matcher m;
- void* next;
- int pieces;
- int num;
- struct branch *b;
- } r;
- int brackets,cflags;
- regmatch_t *l;
-} regex_t;
-#define re_nsub r.pieces
-
-int regcomp(regex_t *preg, const char *regex, int cflags) __THROW;
-int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) __THROW;
-size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) __THROW;
-void regfree(regex_t *preg) __THROW;
-
-enum __regex_errors {
- REG_NOERROR,
- REG_BADRPT, /* Invalid use of repetition operators such as using `*' as the first character. */
- REG_BADBR, /* Invalid use of back reference operator. */
- REG_EBRACE, /* Un-matched brace interval operators. */
- REG_EBRACK, /* Un-matched bracket list operators. */
- REG_ERANGE, /* Invalid use of the range operator, eg. the ending point of the
- range occurs prior to the starting point. */
- REG_ECTYPE, /* Unknown character class name. */
- REG_ECOLLATE, /* Invalid collating element. */
- REG_EPAREN, /* Un-matched parenthesis group operators. */
- REG_ESUBREG, /* Invalid back reference to a subexpression. */
- REG_EEND, /* Non specific error. This is not defined by POSIX.2. */
- REG_EESCAPE, /* Trailing backslash. */
- REG_BADPAT, /* Invalid use of pattern operators such as group or list. */
- REG_ESIZE, /* Compiled regular expression requires a pattern buffer
- larger than 64Kb. This is not defined by POSIX.2. */
- REG_ESPACE /* regcomp ran out of space */
-};
-
-char * re_comp(char * regex);
-int re_exec(char * string);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/resolv.h b/mdk-stage1/dietlibc/include/resolv.h
deleted file mode 100644
index dae226582..000000000
--- a/mdk-stage1/dietlibc/include/resolv.h
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef _RESOLV_H
-#define _RESOLV_H
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <netinet/in.h>
-
-#ifndef _PATH_RESCONF
-#define _PATH_RESCONF "/etc/resolv.conf"
-#endif
-
-/*
- * Global defines and variables for resolver stub.
- */
-#define MAXNS 8 /* max # name servers we'll track */
-#define MAXDFLSRCH 3 /* # default domain levels to try */
-#define MAXDNSRCH 6 /* max # domains in search path */
-#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
-
-#define RES_TIMEOUT 5 /* min. seconds between retries */
-#define MAXRESOLVSORT 10 /* number of net to sort on */
-#define RES_MAXNDOTS 15 /* should reflect bit field size */
-
-struct res_state {
- int retrans; /* retransmission time interval */
- int retry; /* number of times to retransmit */
- unsigned long options; /* option flags - see below. */
- int nscount; /* number of name servers */
- struct sockaddr_in_pad
- nsaddr_list[MAXNS]; /* address of name server */
-#define nsaddr nsaddr_list[0] /* for backward compatibility */
- unsigned short id; /* current message id */
- char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
- char defdname[256]; /* default domain (deprecated) */
- unsigned long pfcode; /* RES_PRF_ flags - see below. */
- unsigned ndots:4; /* threshold for initial abs. query */
- unsigned nsort:4; /* number of elements in sort_list[] */
- char unused[3];
- struct {
- struct in_addr addr;
- uint32_t mask;
- } sort_list[MAXRESOLVSORT];
- char pad[72]; /* on an i386 this means 512b total */
-};
-
-/*
- * Resolver options (keep these in synch with res_debug.c, please)
- */
-#define RES_INIT 0x00000001 /* address initialized */
-#define RES_DEBUG 0x00000002 /* print debug messages */
-#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/
-#define RES_USEVC 0x00000008 /* use virtual circuit */
-#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */
-#define RES_IGNTC 0x00000020 /* ignore trucation errors */
-#define RES_RECURSE 0x00000040 /* recursion desired */
-#define RES_DEFNAMES 0x00000080 /* use default domain name */
-#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */
-#define RES_DNSRCH 0x00000200 /* search up local domain tree */
-#define RES_INSECURE1 0x00000400 /* type 1 security disabled */
-#define RES_INSECURE2 0x00000800 /* type 2 security disabled */
-#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */
-#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */
-
-#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
-
-/*
- * Resolver "pfcode" values. Used by dig.
- */
-#define RES_PRF_STATS 0x00000001
-/* 0x00000002 */
-#define RES_PRF_CLASS 0x00000004
-#define RES_PRF_CMD 0x00000008
-#define RES_PRF_QUES 0x00000010
-#define RES_PRF_ANS 0x00000020
-#define RES_PRF_AUTH 0x00000040
-#define RES_PRF_ADD 0x00000080
-#define RES_PRF_HEAD1 0x00000100
-#define RES_PRF_HEAD2 0x00000200
-#define RES_PRF_TTLID 0x00000400
-#define RES_PRF_HEADX 0x00000800
-#define RES_PRF_QUERY 0x00001000
-#define RES_PRF_REPLY 0x00002000
-#define RES_PRF_INIT 0x00004000
-/* 0x00008000 */
-
-struct res_sym {
- int number; /* Identifying number, like T_MX */
- char * name; /* Its symbolic name, like "MX" */
- char * humanname; /* Its fun name, like "mail exchanger" */
-};
-
-extern struct res_state _res;
-extern const struct res_sym __p_class_syms[];
-extern const struct res_sym __p_type_syms[];
-
-int res_init(void) __THROW;
-
-int res_query(const char *dname, int class, int type,
- unsigned char *answer, int anslen) __THROW;
-
-int res_search(const char *dname, int class, int type,
- unsigned char *answer, int anslen) __THROW;
-
-int res_querydomain(const char *name, const char *domain,
- int class, int type, unsigned char *answer,
- int anslen) __THROW;
-
-int res_mkquery(int op, const char *dname, int class,
- int type, char *data, int datalen, const unsigned char* newrr,
- char *buf, int buflen) __THROW;
-
-int res_send(const char *msg, int msglen, char *answer,
- int anslen) __THROW;
-
-int dn_comp(unsigned char *msg, unsigned char *comp_dn,
- int length, unsigned char **dnptrs, unsigned char *exp_dn,
- unsigned char **lastdnptr) __THROW;
-
-int dn_expand(unsigned char *msg, unsigned char *eomorig,
- unsigned char *comp_dn, unsigned char *exp_dn,
- int length) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/auth.h b/mdk-stage1/dietlibc/include/rpc/auth.h
deleted file mode 100644
index 6e0ae0675..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/* @(#)auth.h 2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * auth.h, Authentication interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The data structures are completely opaque to the client. The client
- * is required to pass a AUTH * to routines that create rpc
- * "sessions".
- */
-
-#ifndef _RPC_AUTH_H
-
-#define _RPC_AUTH_H 1
-#include <sys/cdefs.h>
-#include <sys/socket.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-#define MAX_AUTH_BYTES 400
-#define MAXNETNAMELEN 255 /* maximum length of network user's name */
-
-/*
- * Status returned from authentication check
- */
-enum auth_stat {
- AUTH_OK=0,
- /*
- * failed at remote end
- */
- AUTH_BADCRED=1, /* bogus credentials (seal broken) */
- AUTH_REJECTEDCRED=2, /* client should begin new session */
- AUTH_BADVERF=3, /* bogus verifier (seal broken) */
- AUTH_REJECTEDVERF=4, /* verifier expired or was replayed */
- AUTH_TOOWEAK=5, /* rejected due to security reasons */
- /*
- * failed locally
- */
- AUTH_INVALIDRESP=6, /* bogus response verifier */
- AUTH_FAILED=7 /* some unknown reason */
-};
-
-union des_block {
- struct {
- uint32_t high;
- uint32_t low;
- } key;
- char c[8];
-};
-typedef union des_block des_block;
-extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) __THROW;
-
-/*
- * Authentication info. Opaque to client.
- */
-struct opaque_auth {
- enum_t oa_flavor; /* flavor of auth */
- char* oa_base; /* address of more auth stuff */
- unsigned int oa_length; /* not to exceed MAX_AUTH_BYTES */
-};
-
-/*
- * Auth handle, interface to client side authenticators.
- */
-typedef struct AUTH AUTH;
-struct AUTH {
- struct opaque_auth ah_cred;
- struct opaque_auth ah_verf;
- union des_block ah_key;
- struct auth_ops {
- void (*ah_nextverf) (AUTH *);
- int (*ah_marshal) (AUTH *, XDR *); /* nextverf & serialize */
- int (*ah_validate) (AUTH *, struct opaque_auth *);
- /* validate verifier */
- int (*ah_refresh) (AUTH *); /* refresh credentials */
- void (*ah_destroy) (AUTH *); /* destroy this structure */
- } *ah_ops;
- char* ah_private;
-};
-
-
-/*
- * Authentication ops.
- * The ops and the auth handle provide the interface to the authenticators.
- *
- * AUTH *auth;
- * XDR *xdrs;
- * struct opaque_auth verf;
- */
-#define AUTH_NEXTVERF(auth) \
- ((*((auth)->ah_ops->ah_nextverf))(auth))
-#define auth_nextverf(auth) \
- ((*((auth)->ah_ops->ah_nextverf))(auth))
-
-#define AUTH_MARSHALL(auth, xdrs) \
- ((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-#define auth_marshall(auth, xdrs) \
- ((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-
-#define AUTH_VALIDATE(auth, verfp) \
- ((*((auth)->ah_ops->ah_validate))((auth), verfp))
-#define auth_validate(auth, verfp) \
- ((*((auth)->ah_ops->ah_validate))((auth), verfp))
-
-#define AUTH_REFRESH(auth) \
- ((*((auth)->ah_ops->ah_refresh))(auth))
-#define auth_refresh(auth) \
- ((*((auth)->ah_ops->ah_refresh))(auth))
-
-#define AUTH_DESTROY(auth) \
- ((*((auth)->ah_ops->ah_destroy))(auth))
-#define auth_destroy(auth) \
- ((*((auth)->ah_ops->ah_destroy))(auth))
-
-
-extern struct opaque_auth _null_auth;
-
-
-/*
- * These are the various implementations of client side authenticators.
- */
-
-/*
- * Unix style authentication
- * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
- * char *machname;
- * int uid;
- * int gid;
- * int len;
- * int *aup_gids;
- */
-extern AUTH *authunix_create (char *__machname,uid_t __uid, gid_t __gid,
- int __len, gid_t *__aup_gids) __THROW;
-extern AUTH *authunix_create_default (void) __THROW;
-extern AUTH *authnone_create (void) __THROW;
-extern AUTH *authdes_create (const char *__servername, unsigned int __window,
- struct sockaddr *__syncaddr, des_block *__ckey)
- __THROW;
-extern AUTH *authdes_pk_create (const char *, netobj *, unsigned int,
- struct sockaddr *, des_block *) __THROW;
-
-
-#define AUTH_NONE 0 /* no authentication */
-#define AUTH_NULL 0 /* backward compatibility */
-#define AUTH_SYS 1 /* unix style (uid, gids) */
-#define AUTH_UNIX AUTH_SYS
-#define AUTH_SHORT 2 /* short hand unix style */
-#define AUTH_DES 3 /* des style (encrypted timestamps) */
-#define AUTH_DH AUTH_DES /* Diffie-Hellman (this is DES) */
-#define AUTH_KERB 4 /* kerberos style */
-
-/*
- * Netname manipulating functions
- *
- */
-extern int getnetname (char *) __THROW;
-extern int host2netname (char *, const char *, const char *) __THROW;
-extern int user2netname (char *, const uid_t, const char *) __THROW;
-extern int netname2user (const char *, uid_t *, gid_t *, int *, gid_t *)
- __THROW;
-extern int netname2host (const char *, char *, const int) __THROW;
-
-/*
- *
- * These routines interface to the keyserv daemon
- *
- */
-extern int key_decryptsession (char *, des_block *) __THROW;
-extern int key_decryptsession_pk (char *, netobj *, des_block *) __THROW;
-extern int key_encryptsession (char *, des_block *) __THROW;
-extern int key_encryptsession_pk (char *, netobj *, des_block *) __THROW;
-extern int key_gendes (des_block *) __THROW;
-extern int key_setsecret (char *) __THROW;
-extern int key_secretkey_is_set (void) __THROW;
-extern int key_get_conv (char *, des_block *) __THROW;
-
-/*
- * XDR an opaque authentication struct.
- */
-extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/auth.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/auth_des.h b/mdk-stage1/dietlibc/include/rpc/auth_des.h
deleted file mode 100644
index 8accd3779..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth_des.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _RPC_AUTH_DES_H
-#define _RPC_AUTH_DES_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/auth.h>
-
-__BEGIN_DECLS
-
-/* There are two kinds of "names": fullnames and nicknames */
-enum authdes_namekind
- {
- ADN_FULLNAME,
- ADN_NICKNAME
- };
-
-/* A fullname contains the network name of the client,
- a conversation key and the window */
-struct authdes_fullname
- {
- char *name; /* network name of client, up to MAXNETNAMELEN */
- des_block key; /* conversation key */
- uint32_t window; /* associated window */
- };
-
-/* A credential */
-struct authdes_cred
- {
- enum authdes_namekind adc_namekind;
- struct authdes_fullname adc_fullname;
- uint32_t adc_nickname;
- };
-
-/* A timeval replacement for !32bit platforms */
-struct rpc_timeval
- {
- uint32_t tv_sec; /* Seconds. */
- uint32_t tv_usec; /* Microseconds. */
- };
-
-/* A des authentication verifier */
-struct authdes_verf
- {
- union
- {
- struct rpc_timeval adv_ctime; /* clear time */
- des_block adv_xtime; /* crypt time */
- }
- adv_time_u;
- uint32_t adv_int_u;
- };
-
-/* des authentication verifier: client variety
-
- adv_timestamp is the current time.
- adv_winverf is the credential window + 1.
- Both are encrypted using the conversation key. */
-#define adv_timestamp adv_time_u.adv_ctime
-#define adv_xtimestamp adv_time_u.adv_xtime
-#define adv_winverf adv_int_u
-
-/* des authentication verifier: server variety
-
- adv_timeverf is the client's timestamp + client's window
- adv_nickname is the server's nickname for the client.
- adv_timeverf is encrypted using the conversation key. */
-#define adv_timeverf adv_time_u.adv_ctime
-#define adv_xtimeverf adv_time_u.adv_xtime
-#define adv_nickname adv_int_u
-
-/* Map a des credential into a unix cred. */
-extern int authdes_getucred (const struct authdes_cred * __adc,
- uid_t * __uid, gid_t * __gid,
- short *__grouplen, gid_t * __groups) __THROW;
-
-/* Get the public key for NAME and place it in KEY. NAME can only be
- up to MAXNETNAMELEN bytes long and the destination buffer KEY should
- have HEXKEYBYTES + 1 bytes long to fit all characters from the key. */
-extern int getpublickey (const char *__name, char *__key) __THROW;
-
-/* Get the secret key for NAME and place it in KEY. PASSWD is used to
- decrypt the encrypted key stored in the database. NAME can only be
- up to MAXNETNAMELEN bytes long and the destination buffer KEY
- should have HEXKEYBYTES + 1 bytes long to fit all characters from
- the key. */
-extern int getsecretkey (const char *__name, char *__key,
- const char *__passwd) __THROW;
-
-extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep,
- struct rpc_timeval *__timeout) __THROW;
-
-__END_DECLS
-
-
-#endif /* rpc/auth_des.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/auth_unix.h b/mdk-stage1/dietlibc/include/rpc/auth_unix.h
deleted file mode 100644
index 9dd8142f1..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth_unix.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)auth_unix.h 1.5 86/07/16 SMI */
-
-/*
- * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-/*
- * The system is very weak. The client uses no encryption for it
- * credentials and only sends null verifiers. The server sends backs
- * null verifiers or optionally a verifier that suggests a new short hand
- * for the credentials.
- */
-
-#ifndef _RPC_AUTH_UNIX_H
-#define _RPC_AUTH_UNIX_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The machine name is part of a credential; it may not exceed 255 bytes */
-#define MAX_MACHINE_NAME 255
-
-/* gids compose part of a credential; there may not be more than 16 of them */
-#define NGRPS 16
-
-/*
- * Unix style credentials.
- */
-struct authunix_parms
- {
- unsigned long aup_time;
- char *aup_machname;
- uid_t aup_uid;
- gid_t aup_gid;
- unsigned int aup_len;
- gid_t *aup_gids;
- };
-
-extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p)
- __THROW;
-
-/*
- * If a response verifier has flavor AUTH_SHORT,
- * then the body of the response verifier encapsulates the following structure;
- * again it is serialized in the obvious fashion.
- */
-struct short_hand_verf
- {
- struct opaque_auth new_cred;
- };
-
-__END_DECLS
-
-#endif /* rpc/auth_unix.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/clnt.h b/mdk-stage1/dietlibc/include/rpc/clnt.h
deleted file mode 100644
index 9b100556c..000000000
--- a/mdk-stage1/dietlibc/include/rpc/clnt.h
+++ /dev/null
@@ -1,421 +0,0 @@
-/* @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.31 88/02/08 SMI*/
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * clnt.h - Client side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_CLNT_H
-#define _RPC_CLNT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <sys/un.h>
-
-__BEGIN_DECLS
-
-/*
- * Rpc calls return an enum clnt_stat. This should be looked at more,
- * since each implementation is required to live with this (implementation
- * independent) list of errors.
- */
-enum clnt_stat {
- RPC_SUCCESS=0, /* call succeeded */
- /*
- * local errors
- */
- RPC_CANTENCODEARGS=1, /* can't encode arguments */
- RPC_CANTDECODERES=2, /* can't decode results */
- RPC_CANTSEND=3, /* failure in sending call */
- RPC_CANTRECV=4, /* failure in receiving result */
- RPC_TIMEDOUT=5, /* call timed out */
- /*
- * remote errors
- */
- RPC_VERSMISMATCH=6, /* rpc versions not compatible */
- RPC_AUTHERROR=7, /* authentication error */
- RPC_PROGUNAVAIL=8, /* program not available */
- RPC_PROGVERSMISMATCH=9, /* program version mismatched */
- RPC_PROCUNAVAIL=10, /* procedure unavailable */
- RPC_CANTDECODEARGS=11, /* decode arguments error */
- RPC_SYSTEMERROR=12, /* generic "other problem" */
- RPC_NOBROADCAST = 21, /* Broadcasting not supported */
- /*
- * callrpc & clnt_create errors
- */
- RPC_UNKNOWNHOST=13, /* unknown host name */
- RPC_UNKNOWNPROTO=17, /* unknown protocol */
- RPC_UNKNOWNADDR = 19, /* Remote address unknown */
-
- /*
- * rpcbind errors
- */
- RPC_RPCBFAILURE=14, /* portmapper failed in its call */
-#define RPC_PMAPFAILURE RPC_RPCBFAILURE
- RPC_PROGNOTREGISTERED=15, /* remote program is not registered */
- RPC_N2AXLATEFAILURE = 22, /* Name to addr translation failed */
- /*
- * unspecified error
- */
- RPC_FAILED=16,
- RPC_INTR=18,
- RPC_TLIERROR=20,
- RPC_UDERROR=23,
- /*
- * asynchronous errors
- */
- RPC_INPROGRESS = 24,
- RPC_STALERACHANDLE = 25
-};
-
-
-/*
- * Error info.
- */
-struct rpc_err {
- enum clnt_stat re_status;
- union {
- int RE_errno; /* related system error */
- enum auth_stat RE_why; /* why the auth error occurred */
- struct {
- unsigned long low; /* lowest verion supported */
- unsigned long high; /* highest verion supported */
- } RE_vers;
- struct { /* maybe meaningful if RPC_FAILED */
- long s1;
- long s2;
- } RE_lb; /* life boot & debugging only */
- } ru;
-#define re_errno ru.RE_errno
-#define re_why ru.RE_why
-#define re_vers ru.RE_vers
-#define re_lb ru.RE_lb
-};
-
-
-/*
- * Client rpc handle.
- * Created by individual implementations, see e.g. rpc_udp.c.
- * Client is responsible for initializing auth, see e.g. auth_none.c.
- */
-typedef struct CLIENT CLIENT;
-struct CLIENT {
- AUTH *cl_auth; /* authenticator */
- struct clnt_ops {
- enum clnt_stat (*cl_call) (CLIENT *, unsigned long, xdrproc_t, char*, xdrproc_t,
- char*, struct timeval);
- /* call remote procedure */
- void (*cl_abort) (void); /* abort a call */
- void (*cl_geterr) (CLIENT *, struct rpc_err *);
- /* get specific error code */
- bool_t (*cl_freeres) (CLIENT *, xdrproc_t, char*);
- /* frees results */
- void (*cl_destroy) (CLIENT *); /* destroy this structure */
- bool_t (*cl_control) (CLIENT *, int, char *);
- /* the ioctl() of rpc */
- } *cl_ops;
- char* cl_private; /* private stuff */
-};
-
-
-/*
- * client side rpc interface ops
- *
- * Parameter types are:
- *
- */
-
-/*
- * enum clnt_stat
- * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
- * CLIENT *rh;
- * unsigned long proc;
- * xdrproc_t xargs;
- * char* argsp;
- * xdrproc_t xres;
- * char* resp;
- * struct timeval timeout;
- */
-#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs) \
- ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-#define clnt_call(rh, proc, xargs, argsp, xres, resp, secs) \
- ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
-
-/*
- * void
- * CLNT_ABORT(rh);
- * CLIENT *rh;
- */
-#define CLNT_ABORT(rh) ((*(rh)->cl_ops->cl_abort)(rh))
-#define clnt_abort(rh) ((*(rh)->cl_ops->cl_abort)(rh))
-
-/*
- * struct rpc_err
- * CLNT_GETERR(rh);
- * CLIENT *rh;
- */
-#define CLNT_GETERR(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
-#define clnt_geterr(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
-
-
-/*
- * bool_t
- * CLNT_FREERES(rh, xres, resp);
- * CLIENT *rh;
- * xdrproc_t xres;
- * char* resp;
- */
-#define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-#define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
-
-/*
- * bool_t
- * CLNT_CONTROL(cl, request, info)
- * CLIENT *cl;
- * unsigned int request;
- * char *info;
- */
-#define CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-#define clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
-
-/*
- * control operations that apply to all transports
- *
- * Note: options marked XXX are no-ops in this implementation of RPC.
- * The are present in TI-RPC but can't be implemented here since they
- * depend on the presence of STREAMS/TLI, which we don't have.
- */
-#define CLSET_TIMEOUT 1 /* set timeout (timeval) */
-#define CLGET_TIMEOUT 2 /* get timeout (timeval) */
-#define CLGET_SERVER_ADDR 3 /* get server's address (sockaddr) */
-#define CLGET_FD 6 /* get connections file descriptor */
-#define CLGET_SVC_ADDR 7 /* get server's address (netbuf) XXX */
-#define CLSET_FD_CLOSE 8 /* close fd while clnt_destroy */
-#define CLSET_FD_NCLOSE 9 /* Do not close fd while clnt_destroy*/
-#define CLGET_XID 10 /* Get xid */
-#define CLSET_XID 11 /* Set xid */
-#define CLGET_VERS 12 /* Get version number */
-#define CLSET_VERS 13 /* Set version number */
-#define CLGET_PROG 14 /* Get program number */
-#define CLSET_PROG 15 /* Set program number */
-#define CLSET_SVC_ADDR 16 /* get server's address (netbuf) XXX */
-#define CLSET_PUSH_TIMOD 17 /* push timod if not already present XXX */
-#define CLSET_POP_TIMOD 18 /* pop timod XXX */
-/*
- * Connectionless only control operations
- */
-#define CLSET_RETRY_TIMEOUT 4 /* set retry timeout (timeval) */
-#define CLGET_RETRY_TIMEOUT 5 /* get retry timeout (timeval) */
-
-/*
- * void
- * CLNT_DESTROY(rh);
- * CLIENT *rh;
- */
-#define CLNT_DESTROY(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
-#define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
-
-
-/*
- * RPCTEST is a test program which is accessible on every rpc
- * transport/port. It is used for testing, performance evaluation,
- * and network administration.
- */
-
-#define RPCTEST_PROGRAM ((unsigned long)1)
-#define RPCTEST_VERSION ((unsigned long)1)
-#define RPCTEST_NULL_PROC ((unsigned long)2)
-#define RPCTEST_NULL_BATCH_PROC ((unsigned long)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((unsigned long)0)
-
-/*
- * Below are the client handle creation routines for the various
- * implementations of client side rpc. They can return NULL if a
- * creation failure occurs.
- */
-
-/*
- * Memory based rpc (for speed check and testing)
- * CLIENT *
- * clntraw_create(prog, vers)
- * unsigned long prog;
- * unsigned long vers;
- */
-extern CLIENT *clntraw_create (const unsigned long __prog, const unsigned long __vers)
- __THROW;
-
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp" and
- * "unix"
- * CLIENT *
- * clnt_create(host, prog, vers, prot)
- * char *host; -- hostname
- * unsigned long prog; -- program number
- * u_ong vers; -- version number
- * char *prot; -- protocol
- */
-extern CLIENT *clnt_create (const char *__host, const unsigned long __prog,
- const unsigned long __vers, const char *__prot)
- __THROW;
-
-
-/*
- * TCP based rpc
- * CLIENT *
- * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * unsigned long prog;
- * unsigned long version;
- * register int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, unsigned long __prog,
- unsigned long __version, int *__sockp, unsigned int __sendsz,
- unsigned int __recvsz) __THROW;
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- * struct sockaddr_in *raddr;
- * unsigned long program;
- * unsigned long version;
- * struct timeval wait_resend;
- * int *sockp;
- *
- * Same as above, but you specify max packet sizes.
- * CLIENT *
- * clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * unsigned long program;
- * unsigned long version;
- * struct timeval wait_resend;
- * int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, unsigned long __program,
- unsigned long __version, struct timeval __wait_resend,
- int *__sockp) __THROW;
-extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
- unsigned long __program, unsigned long __version,
- struct timeval __wait_resend, int *__sockp,
- unsigned int __sendsz, unsigned int __recvsz) __THROW;
-
-
-
-
-/*
- * AF_UNIX based rpc
- * CLIENT *
- * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_un *raddr;
- * unsigned long prog;
- * unsigned long version;
- * register int *sockp;
- * unsigned int sendsz;
- * unsigned int recvsz;
- */
-extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, unsigned long __program,
- unsigned long __version, int *__sockp,
- unsigned int __sendsz, unsigned int __recvsz) __THROW;
-
-
-extern int callrpc (const char *__host, const unsigned long __prognum,
- const unsigned long __versnum, const unsigned long __procnum,
- const xdrproc_t __inproc, const char *__in,
- const xdrproc_t __outproc, char *__out) __THROW;
-extern int _rpc_dtablesize (void) __THROW;
-
-/*
- * Print why creation failed
- */
-extern void clnt_pcreateerror (const char *__msg) __THROW; /* stderr */
-extern char *clnt_spcreateerror(const char *__msg) __THROW; /* string */
-
-/*
- * Like clnt_perror(), but is more verbose in its output
- */
-extern void clnt_perrno (enum clnt_stat __num) __THROW; /* stderr */
-
-/*
- * Print an English error message, given the client error code
- */
-extern void clnt_perror (CLIENT *__clnt, const char *__msg) __THROW;
- /* stderr */
-extern char *clnt_sperror (CLIENT *__clnt, const char *__msg) __THROW;
- /* string */
-
-/*
- * If a creation fails, the following allows the user to figure out why.
- */
-struct rpc_createerr {
- enum clnt_stat cf_stat;
- struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
-};
-
-extern struct rpc_createerr rpc_createerr;
-
-
-
-/*
- * Copy error message to buffer.
- */
-extern char *clnt_sperrno (enum clnt_stat __num) __THROW; /* string */
-
-/*
- * get the port number on the host for the rpc program,version and proto
- */
-extern int getrpcport (const char * __host, unsigned long __prognum,
- unsigned long __versnum, unsigned int proto) __THROW;
-
-/*
- * get the local host's IP address without consulting
- * name service library functions
- */
-extern void get_myaddress (struct sockaddr_in *) __THROW;
-
-#define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
-#define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */
-
-__END_DECLS
-
-#endif /* rpc/clnt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/des_crypt.h b/mdk-stage1/dietlibc/include/rpc/des_crypt.h
deleted file mode 100644
index 6a65887d3..000000000
--- a/mdk-stage1/dietlibc/include/rpc/des_crypt.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)des_crypt.h 2.1 88/08/11 4.0 RPCSRC; from 1.4 88/02/08 (C) 1986 SMI
- *
- * des_crypt.h, des library routine interface
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-#ifndef __DES_CRYPT_H__
-#define __DES_CRYPT_H__ 1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-#define DES_MAXDATA 8192 /* max bytes encrypted in one call */
-#define DES_DIRMASK (1 << 0)
-#define DES_ENCRYPT (0*DES_DIRMASK) /* Encrypt */
-#define DES_DECRYPT (1*DES_DIRMASK) /* Decrypt */
-
-
-#define DES_DEVMASK (1 << 1)
-#define DES_HW (0*DES_DEVMASK) /* Use hardware device */
-#define DES_SW (1*DES_DEVMASK) /* Use software device */
-
-
-#define DESERR_NONE 0 /* succeeded */
-#define DESERR_NOHWDEVICE 1 /* succeeded, but hw device not available */
-#define DESERR_HWERROR 2 /* failed, hardware/driver error */
-#define DESERR_BADPARAM 3 /* failed, bad parameter to call */
-
-#define DES_FAILED(err) \
- ((err) > DESERR_NOHWDEVICE)
-
-/*
- * cbc_crypt()
- * ecb_crypt()
- *
- * Encrypt (or decrypt) len bytes of a buffer buf.
- * The length must be a multiple of eight.
- * The key should have odd parity in the low bit of each byte.
- * ivec is the input vector, and is updated to the new one (cbc only).
- * The mode is created by oring together the appropriate parameters.
- * DESERR_NOHWDEVICE is returned if DES_HW was specified but
- * there was no hardware to do it on (the data will still be
- * encrypted though, in software).
- */
-
-
-/*
- * Cipher Block Chaining mode
- */
-extern int cbc_crypt (char *__key, char *__buf, unsigned __len,
- unsigned __mode, char *__ivec) __THROW;
-
-/*
- * Electronic Code Book mode
- */
-extern int ecb_crypt (char *__key, char *__buf, unsigned __len,
- unsigned __mode) __THROW;
-
-/*
- * Set des parity for a key.
- * DES parity is odd and in the low bit of each byte
- */
-extern void des_setparity (char *__key) __THROW;
-
-__END_DECLS
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/key_prot.h b/mdk-stage1/dietlibc/include/rpc/key_prot.h
deleted file mode 100644
index c398b82f8..000000000
--- a/mdk-stage1/dietlibc/include/rpc/key_prot.h
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _KEY_PROT_H_RPCGEN
-#define _KEY_PROT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if 0
-#pragma ident "@(#)key_prot.x 1.7 94/04/29 SMI"
-#endif
-/* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */
-
-/*
- * Compiled from key_prot.x using rpcgen.
- * DO NOT EDIT THIS FILE!
- * This is NOT source code!
- */
-#define PROOT 3
-#define HEXMODULUS "d4a0ba0250b6fd2ec626e7efd637df76c716e22d0944b88b"
-#define HEXKEYBYTES 48
-#define KEYSIZE 192
-#define KEYBYTES 24
-#define KEYCHECKSUMSIZE 16
-
-enum keystatus {
- KEY_SUCCESS = 0,
- KEY_NOSECRET = 1,
- KEY_UNKNOWN = 2,
- KEY_SYSTEMERR = 3,
-};
-typedef enum keystatus keystatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_keystatus(XDR *, keystatus*);
-#elif __STDC__
-extern bool_t xdr_keystatus(XDR *, keystatus*);
-#else /* Old Style C */
-bool_t xdr_keystatus();
-#endif /* Old Style C */
-
-
-typedef char keybuf[HEXKEYBYTES];
-#ifdef __cplusplus
-extern "C" bool_t xdr_keybuf(XDR *, keybuf);
-#elif __STDC__
-extern bool_t xdr_keybuf(XDR *, keybuf);
-#else /* Old Style C */
-bool_t xdr_keybuf();
-#endif /* Old Style C */
-
-
-typedef char *netnamestr;
-#ifdef __cplusplus
-extern "C" bool_t xdr_netnamestr(XDR *, netnamestr*);
-#elif __STDC__
-extern bool_t xdr_netnamestr(XDR *, netnamestr*);
-#else /* Old Style C */
-bool_t xdr_netnamestr();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg {
- netnamestr remotename;
- des_block deskey;
-};
-typedef struct cryptkeyarg cryptkeyarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyarg(XDR *, cryptkeyarg*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg();
-#endif /* Old Style C */
-
-
-struct cryptkeyarg2 {
- netnamestr remotename;
- netobj remotekey;
- des_block deskey;
-};
-typedef struct cryptkeyarg2 cryptkeyarg2;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyarg2(XDR *, cryptkeyarg2*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyarg2();
-#endif /* Old Style C */
-
-
-struct cryptkeyres {
- keystatus status;
- union {
- des_block deskey;
- } cryptkeyres_u;
-};
-typedef struct cryptkeyres cryptkeyres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#elif __STDC__
-extern bool_t xdr_cryptkeyres(XDR *, cryptkeyres*);
-#else /* Old Style C */
-bool_t xdr_cryptkeyres();
-#endif /* Old Style C */
-
-#define MAXGIDS 16
-
-struct unixcred {
- unsigned int uid;
- unsigned int gid;
- struct {
- unsigned int gids_len;
- unsigned int *gids_val;
- } gids;
-};
-typedef struct unixcred unixcred;
-#ifdef __cplusplus
-extern "C" bool_t xdr_unixcred(XDR *, unixcred*);
-#elif __STDC__
-extern bool_t xdr_unixcred(XDR *, unixcred*);
-#else /* Old Style C */
-bool_t xdr_unixcred();
-#endif /* Old Style C */
-
-
-struct getcredres {
- keystatus status;
- union {
- unixcred cred;
- } getcredres_u;
-};
-typedef struct getcredres getcredres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_getcredres(XDR *, getcredres*);
-#elif __STDC__
-extern bool_t xdr_getcredres(XDR *, getcredres*);
-#else /* Old Style C */
-bool_t xdr_getcredres();
-#endif /* Old Style C */
-
-
-struct key_netstarg {
- keybuf st_priv_key;
- keybuf st_pub_key;
- netnamestr st_netname;
-};
-typedef struct key_netstarg key_netstarg;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#elif __STDC__
-extern bool_t xdr_key_netstarg(XDR *, key_netstarg*);
-#else /* Old Style C */
-bool_t xdr_key_netstarg();
-#endif /* Old Style C */
-
-
-struct key_netstres {
- keystatus status;
- union {
- key_netstarg knet;
- } key_netstres_u;
-};
-typedef struct key_netstres key_netstres;
-#ifdef __cplusplus
-extern "C" bool_t xdr_key_netstres(XDR *, key_netstres*);
-#elif __STDC__
-extern bool_t xdr_key_netstres(XDR *, key_netstres*);
-#else /* Old Style C */
-bool_t xdr_key_netstres();
-#endif /* Old Style C */
-
-
-#ifndef opaque
-#define opaque char
-#endif
-
-
-#define KEY_PROG ((unsigned long)100029)
-#define KEY_VERS ((unsigned long)1)
-
-#ifdef __cplusplus
-#define KEY_SET ((unsigned long)1)
-extern "C" keystatus * key_set_1(opaque *, CLIENT *);
-extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((unsigned long)2)
-extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((unsigned long)3)
-extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((unsigned long)4)
-extern "C" des_block * key_gen_1(void *, CLIENT *);
-extern "C" des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((unsigned long)5)
-extern "C" getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#elif __STDC__
-#define KEY_SET ((unsigned long)1)
-extern keystatus * key_set_1(opaque *, CLIENT *);
-extern keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((unsigned long)2)
-extern cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((unsigned long)3)
-extern cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((unsigned long)4)
-extern des_block * key_gen_1(void *, CLIENT *);
-extern des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((unsigned long)5)
-extern getcredres * key_getcred_1(netnamestr *, CLIENT *);
-extern getcredres * key_getcred_1_svc(netnamestr *, struct svc_req *);
-
-#else /* Old Style C */
-#define KEY_SET ((unsigned long)1)
-extern keystatus * key_set_1();
-extern keystatus * key_set_1_svc();
-#define KEY_ENCRYPT ((unsigned long)2)
-extern cryptkeyres * key_encrypt_1();
-extern cryptkeyres * key_encrypt_1_svc();
-#define KEY_DECRYPT ((unsigned long)3)
-extern cryptkeyres * key_decrypt_1();
-extern cryptkeyres * key_decrypt_1_svc();
-#define KEY_GEN ((unsigned long)4)
-extern des_block * key_gen_1();
-extern des_block * key_gen_1_svc();
-#define KEY_GETCRED ((unsigned long)5)
-extern getcredres * key_getcred_1();
-extern getcredres * key_getcred_1_svc();
-#endif /* Old Style C */
-#define KEY_VERS2 ((unsigned long)2)
-
-#ifdef __cplusplus
-extern "C" keystatus * key_set_2(opaque *, CLIENT *);
-extern "C" keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern "C" cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern "C" des_block * key_gen_2(void *, CLIENT *);
-extern "C" des_block * key_gen_2_svc(void *, struct svc_req *);
-extern "C" getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern "C" getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((unsigned long)6)
-extern "C" cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((unsigned long)7)
-extern "C" cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((unsigned long)8)
-extern "C" keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern "C" keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((unsigned long)9)
-extern "C" key_netstres * key_net_get_2(void *, CLIENT *);
-extern "C" key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((unsigned long)10)
-extern "C" cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern "C" cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#elif __STDC__
-extern keystatus * key_set_2(opaque *, CLIENT *);
-extern keystatus * key_set_2_svc(opaque *, struct svc_req *);
-extern cryptkeyres * key_encrypt_2(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern cryptkeyres * key_decrypt_2(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_2_svc(cryptkeyarg *, struct svc_req *);
-extern des_block * key_gen_2(void *, CLIENT *);
-extern des_block * key_gen_2_svc(void *, struct svc_req *);
-extern getcredres * key_getcred_2(netnamestr *, CLIENT *);
-extern getcredres * key_getcred_2_svc(netnamestr *, struct svc_req *);
-#define KEY_ENCRYPT_PK ((unsigned long)6)
-extern cryptkeyres * key_encrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern cryptkeyres * key_encrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_DECRYPT_PK ((unsigned long)7)
-extern cryptkeyres * key_decrypt_pk_2(cryptkeyarg2 *, CLIENT *);
-extern cryptkeyres * key_decrypt_pk_2_svc(cryptkeyarg2 *, struct svc_req *);
-#define KEY_NET_PUT ((unsigned long)8)
-extern keystatus * key_net_put_2(key_netstarg *, CLIENT *);
-extern keystatus * key_net_put_2_svc(key_netstarg *, struct svc_req *);
-#define KEY_NET_GET ((unsigned long)9)
-extern key_netstres * key_net_get_2(void *, CLIENT *);
-extern key_netstres * key_net_get_2_svc(void *, struct svc_req *);
-#define KEY_GET_CONV ((unsigned long)10)
-extern cryptkeyres * key_get_conv_2(opaque *, CLIENT *);
-extern cryptkeyres * key_get_conv_2_svc(opaque *, struct svc_req *);
-
-#else /* Old Style C */
-extern keystatus * key_set_2();
-extern keystatus * key_set_2_svc();
-extern cryptkeyres * key_encrypt_2();
-extern cryptkeyres * key_encrypt_2_svc();
-extern cryptkeyres * key_decrypt_2();
-extern cryptkeyres * key_decrypt_2_svc();
-extern des_block * key_gen_2();
-extern des_block * key_gen_2_svc();
-extern getcredres * key_getcred_2();
-extern getcredres * key_getcred_2_svc();
-#define KEY_ENCRYPT_PK ((unsigned long)6)
-extern cryptkeyres * key_encrypt_pk_2();
-extern cryptkeyres * key_encrypt_pk_2_svc();
-#define KEY_DECRYPT_PK ((unsigned long)7)
-extern cryptkeyres * key_decrypt_pk_2();
-extern cryptkeyres * key_decrypt_pk_2_svc();
-#define KEY_NET_PUT ((unsigned long)8)
-extern keystatus * key_net_put_2();
-extern keystatus * key_net_put_2_svc();
-#define KEY_NET_GET ((unsigned long)9)
-extern key_netstres * key_net_get_2();
-extern key_netstres * key_net_get_2_svc();
-#define KEY_GET_CONV ((unsigned long)10)
-extern cryptkeyres * key_get_conv_2();
-extern cryptkeyres * key_get_conv_2_svc();
-#endif /* Old Style C */
-
-#endif /* !_KEY_PROT_H_RPCGEN */
diff --git a/mdk-stage1/dietlibc/include/rpc/netdb.h b/mdk-stage1/dietlibc/include/rpc/netdb.h
deleted file mode 100644
index a991d3a95..000000000
--- a/mdk-stage1/dietlibc/include/rpc/netdb.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* @(#)netdb.h 2.1 88/07/29 3.9 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)rpc.h 1.8 87/07/24 SMI */
-
-/* Cleaned up for GNU C library roland@gnu.ai.mit.edu:
- added multiple inclusion protection and use of <sys/cdefs.h>.
- In GNU this file is #include'd by <netdb.h>. */
-
-#ifndef _RPC_NETDB_H
-#define _RPC_NETDB_H 1
-
-#include <sys/cdefs.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-struct rpcent
-{
- char *r_name; /* Name of server for this rpc program. */
- char **r_aliases; /* Alias list. */
- int r_number; /* RPC program number. */
-};
-
-extern void setrpcent (int __stayopen) __THROW;
-extern void endrpcent (void) __THROW;
-extern struct rpcent *getrpcbyname (const char *__name) __THROW;
-extern struct rpcent *getrpcbynumber (int __number) __THROW;
-extern struct rpcent *getrpcent (void) __THROW;
-
-#ifdef __USE_MISC
-extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
- char *__buffer, size_t __buflen,
- struct rpcent **__result) __THROW;
-
-extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
- char *__buffer, size_t __buflen,
- struct rpcent **__result) __THROW;
-
-extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
- size_t __buflen, struct rpcent **__result) __THROW;
-#endif
-
-__END_DECLS
-
-#endif /* rpc/netdb.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h b/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h
deleted file mode 100644
index c63922772..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_clnt.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* @(#)pmap_clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * pmap_clnt.h
- * Supplies C routines to get to portmap services.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_CLNT_H
-#define _RPC_PMAP_CLNT_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-__BEGIN_DECLS
-
-typedef bool_t (*resultproc_t) (char* resp, struct sockaddr_in *raddr);
-
-/*
- * Usage:
- * success = pmap_set(program, version, protocol, port);
- * success = pmap_unset(program, version);
- * port = pmap_getport(address, program, version, protocol);
- * head = pmap_getmaps(address);
- * clnt_stat = pmap_rmtcall(address, program, version, procedure,
- * xdrargs, argsp, xdrres, resp, tout, port_ptr)
- * (works for udp only.)
- * clnt_stat = clnt_broadcast(program, version, procedure,
- * xdrargs, argsp, xdrres, resp, eachresult)
- * (like pmap_rmtcall, except the call is broadcasted to all
- * locally connected nets. For each valid response received,
- * the procedure eachresult is called. Its form is:
- * done = eachresult(resp, raddr)
- * bool_t done;
- * char* resp;
- * struct sockaddr_in raddr;
- * where resp points to the results of the call and raddr is the
- * address if the responder to the broadcast.
- */
-
-extern bool_t pmap_set (const unsigned long __program, const unsigned long __vers,
- int __protocol, unsigned short __port) __THROW;
-extern bool_t pmap_unset (const unsigned long __program, const unsigned long __vers)
- __THROW;
-extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW;
-extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr,
- const unsigned long __prog,
- const unsigned long __vers,
- const unsigned long __proc,
- xdrproc_t __xdrargs,
- char* __argsp, xdrproc_t __xdrres,
- char* __resp, struct timeval __tout,
- unsigned long *__port_ptr) __THROW;
-extern enum clnt_stat clnt_broadcast (const unsigned long __prog,
- const unsigned long __vers,
- const unsigned long __proc, xdrproc_t __xargs,
- char* __argsp, xdrproc_t __xresults,
- char* __resultsp,
- resultproc_t __eachresult) __THROW;
-extern unsigned short pmap_getport (struct sockaddr_in *__address,
- const unsigned long __program,
- const unsigned long __version, unsigned int __protocol)
- __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_clnt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h b/mdk-stage1/dietlibc/include/rpc/pmap_prot.h
deleted file mode 100644
index da06d34c1..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_prot.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* @(#)pmap_prot.h 2.1 88/07/29 4.0 RPCSRC; from 1.14 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * pmap_prot.h
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_PROT_H
-#define _RPC_PMAP_PROT_H 1
-
-#include <sys/cdefs.h>
-
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-/* The following procedures are supported by the protocol:
- *
- * PMAPPROC_NULL() returns ()
- * takes nothing, returns nothing
- *
- * PMAPPROC_SET(struct pmap) returns (bool_t)
- * TRUE is success, FALSE is failure. Registers the tuple
- * [prog, vers, prot, port].
- *
- * PMAPPROC_UNSET(struct pmap) returns (bool_t)
- * TRUE is success, FALSE is failure. Un-registers pair
- * [prog, vers]. prot and port are ignored.
- *
- * PMAPPROC_GETPORT(struct pmap) returns (long unsigned).
- * 0 is failure. Otherwise returns the port number where the pair
- * [prog, vers] is registered. It may lie!
- *
- * PMAPPROC_DUMP() RETURNS (struct pmaplist *)
- *
- * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>)
- * RETURNS (port, string<>);
- * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs);
- * Calls the procedure on the local machine. If it is not registered,
- * this procedure is quite; ie it does not return error information!!!
- * This procedure only is supported on rpc/udp and calls via
- * rpc/udp. This routine only passes null authentication parameters.
- * This file has no interface to xdr routines for PMAPPROC_CALLIT.
- *
- * The service supports remote procedure calls on udp/ip or tcp/ip socket 111.
- */
-
-#define PMAPPORT ((unsigned short)111)
-#define PMAPPROG ((unsigned long)100000)
-#define PMAPVERS ((unsigned long)2)
-#define PMAPVERS_PROTO ((unsigned long)2)
-#define PMAPVERS_ORIG ((unsigned long)1)
-#define PMAPPROC_NULL ((unsigned long)0)
-#define PMAPPROC_SET ((unsigned long)1)
-#define PMAPPROC_UNSET ((unsigned long)2)
-#define PMAPPROC_GETPORT ((unsigned long)3)
-#define PMAPPROC_DUMP ((unsigned long)4)
-#define PMAPPROC_CALLIT ((unsigned long)5)
-
-struct pmap {
- long unsigned pm_prog;
- long unsigned pm_vers;
- long unsigned pm_prot;
- long unsigned pm_port;
-};
-
-extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs) __THROW;
-
-struct pmaplist {
- struct pmap pml_map;
- struct pmaplist *pml_next;
-};
-
-extern bool_t xdr_pmaplist (XDR *__xdrs, struct pmaplist **__rp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_prot.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h b/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h
deleted file mode 100644
index 3b975d0fb..000000000
--- a/mdk-stage1/dietlibc/include/rpc/pmap_rmt.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* @(#)pmap_rmt.h 2.1 88/07/29 4.0 RPCSRC; from 1.2 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Structures and XDR routines for parameters to and replies from
- * the portmapper remote-call-service.
- *
- * Copyright (C) 1986, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_PMAP_RMT_H
-#define _RPC_PMAP_RMT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-struct rmtcallargs {
- unsigned long prog, vers, proc, arglen;
- char* args_ptr;
- xdrproc_t xdr_args;
-};
-
-extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp)
- __THROW;
-
-struct rmtcallres {
- unsigned long *port_ptr;
- unsigned long resultslen;
- char* results_ptr;
- xdrproc_t xdr_results;
-};
-
-extern bool_t xdr_rmtcallres (XDR *__xdrs, struct rmtcallres *__crp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/pmap_rmt.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc.h b/mdk-stage1/dietlibc/include/rpc/rpc.h
deleted file mode 100644
index a966d2e23..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* @(#)rpc.h 2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * rpc.h, Just includes the billions of rpc header files necessary to
- * do remote procedure calling.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_RPC_H
-#define _RPC_RPC_H 1
-
-#include <rpc/types.h> /* some typedefs */
-#include <netinet/in.h>
-
-/* external data representation interfaces */
-#include <rpc/xdr.h> /* generic (de)serializer */
-
-/* Client side only authentication */
-#include <rpc/auth.h> /* generic authenticator (client side) */
-
-/* Client side (mostly) remote procedure call */
-#include <rpc/clnt.h> /* generic rpc stuff */
-
-/* semi-private protocol headers */
-#include <rpc/rpc_msg.h> /* protocol for rpc messages */
-#include <rpc/auth_unix.h> /* protocol for unix style cred */
-#include <rpc/auth_des.h> /* protocol for des style cred */
-
-/* Server side only remote procedure callee */
-#include <rpc/svc.h> /* service manager and multiplexer */
-#include <rpc/svc_auth.h> /* service side authenticator */
-
-/*
- * COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION
- * OF UNIX BASED ON NFSSRC. These systems will already have the structures
- * defined by <rpc/netdb.h> included in <netdb.h>.
- */
-/* routines for parsing /etc/rpc */
-#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */
-
-#endif /* rpc/rpc.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_des.h b/mdk-stage1/dietlibc/include/rpc/rpc_des.h
deleted file mode 100644
index 0f36d1697..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc_des.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/*
- * Generic DES driver interface
- * Keep this file hardware independent!
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
-#ifndef _DES_H
-#define _DES_H
-
-#include <sys/types.h>
-
-#define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */
-#define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */
-
-enum desdir
- {
- ENCRYPT, DECRYPT
- };
-enum desmode
- {
- CBC, ECB
- };
-
-/*
- * parameters to ioctl call
- */
-struct desparams
- {
- u_char des_key[8]; /* key (with low bit parity) */
- enum desdir des_dir; /* direction */
- enum desmode des_mode; /* mode */
- u_char des_ivec[8]; /* input vector */
- unsigned des_len; /* number of bytes to crypt */
- union
- {
- u_char UDES_data[DES_QUICKLEN];
- u_char *UDES_buf;
- }
- UDES;
-#define des_data UDES.UDES_data /* direct data here if quick */
-#define des_buf UDES.UDES_buf /* otherwise, pointer to data */
- };
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h b/mdk-stage1/dietlibc/include/rpc/rpc_msg.h
deleted file mode 100644
index d597608ab..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc_msg.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/* @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)rpc_msg.h 1.7 86/07/16 SMI */
-
-#ifndef _RPC_MSG_H
-#define _RPC_MSG_H 1
-
-#include <sys/cdefs.h>
-
-#include <rpc/xdr.h>
-#include <rpc/clnt.h>
-
-/*
- * rpc_msg.h
- * rpc message definition
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#define RPC_MSG_VERSION ((unsigned long) 2)
-#define RPC_SERVICE_PORT ((unsigned short) 2048)
-
-__BEGIN_DECLS
-
-/*
- * Bottom up definition of an rpc message.
- * NOTE: call and reply use the same overall struct but
- * different parts of unions within it.
- */
-
-enum msg_type {
- CALL=0,
- REPLY=1
-};
-
-enum reply_stat {
- MSG_ACCEPTED=0,
- MSG_DENIED=1
-};
-
-enum accept_stat {
- SUCCESS=0,
- PROG_UNAVAIL=1,
- PROG_MISMATCH=2,
- PROC_UNAVAIL=3,
- GARBAGE_ARGS=4,
- SYSTEM_ERR=5
-};
-
-enum reject_stat {
- RPC_MISMATCH=0,
- AUTH_ERROR=1
-};
-
-/*
- * Reply part of an rpc exchange
- */
-
-/*
- * Reply to an rpc request that was accepted by the server.
- * Note: there could be an error even though the request was
- * accepted.
- */
-struct accepted_reply {
- struct opaque_auth ar_verf;
- enum accept_stat ar_stat;
- union {
- struct {
- unsigned long low;
- unsigned long high;
- } AR_versions;
- struct {
- char* where;
- xdrproc_t proc;
- } AR_results;
- /* and many other null cases */
- } ru;
-#define ar_results ru.AR_results
-#define ar_vers ru.AR_versions
-};
-
-/*
- * Reply to an rpc request that was rejected by the server.
- */
-struct rejected_reply {
- enum reject_stat rj_stat;
- union {
- struct {
- unsigned long low;
- unsigned long high;
- } RJ_versions;
- enum auth_stat RJ_why; /* why authentication did not work */
- } ru;
-#define rj_vers ru.RJ_versions
-#define rj_why ru.RJ_why
-};
-
-/*
- * Body of a reply to an rpc request.
- */
-struct reply_body {
- enum reply_stat rp_stat;
- union {
- struct accepted_reply RP_ar;
- struct rejected_reply RP_dr;
- } ru;
-#define rp_acpt ru.RP_ar
-#define rp_rjct ru.RP_dr
-};
-
-/*
- * Body of an rpc request call.
- */
-struct call_body {
- unsigned long cb_rpcvers; /* must be equal to two */
- unsigned long cb_prog;
- unsigned long cb_vers;
- unsigned long cb_proc;
- struct opaque_auth cb_cred;
- struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
- unsigned long rm_xid;
- enum msg_type rm_direction;
- union {
- struct call_body RM_cmb;
- struct reply_body RM_rmb;
- } ru;
-#define rm_call ru.RM_cmb
-#define rm_reply ru.RM_rmb
-};
-#define acpted_rply ru.RM_rmb.ru.RP_ar
-#define rjcted_rply ru.RM_rmb.ru.RP_dr
-
-
-/*
- * XDR routine to handle a rpc message.
- * xdr_callmsg(xdrs, cmsg)
- * XDR *xdrs;
- * struct rpc_msg *cmsg;
- */
-extern bool_t xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-
-/*
- * XDR routine to pre-serialize the static part of a rpc message.
- * xdr_callhdr(xdrs, cmsg)
- * XDR *xdrs;
- * struct rpc_msg *cmsg;
- */
-extern bool_t xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) __THROW;
-
-/*
- * XDR routine to handle a rpc reply.
- * xdr_replymsg(xdrs, rmsg)
- * XDR *xdrs;
- * struct rpc_msg *rmsg;
- */
-extern bool_t xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) __THROW;
-
-/*
- * Fills in the error part of a reply message.
- * _seterr_reply(msg, error)
- * struct rpc_msg *msg;
- * struct rpc_err *error;
- */
-extern void _seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error)
- __THROW;
-
-__END_DECLS
-
-#endif /* rpc/rpc_msg.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/svc.h b/mdk-stage1/dietlibc/include/rpc/svc.h
deleted file mode 100644
index ec598ba79..000000000
--- a/mdk-stage1/dietlibc/include/rpc/svc.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * svc.h, Server-side remote procedure call interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_H
-#define _RPC_SVC_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/rpc_msg.h>
-
-__BEGIN_DECLS
-
-/*
- * This interface must manage two items concerning remote procedure calling:
- *
- * 1) An arbitrary number of transport connections upon which rpc requests
- * are received. The two most notable transports are TCP and UDP; they are
- * created and registered by routines in svc_tcp.c and svc_udp.c, respectively;
- * they in turn call xprt_register and xprt_unregister.
- *
- * 2) An arbitrary number of locally registered services. Services are
- * described by the following four data: program number, version number,
- * "service dispatch" function, a transport handle, and a boolean that
- * indicates whether or not the exported program should be registered with a
- * local binder service; if true the program's number and version and the
- * port number from the transport handle are registered with the binder.
- * These data are registered with the rpc svc system via svc_register.
- *
- * A service's dispatch function is called whenever an rpc request comes in
- * on a transport. The request's program and version numbers must match
- * those of the registered service. The dispatch function is passed two
- * parameters, struct svc_req * and SVCXPRT *, defined below.
- */
-
-enum xprt_stat {
- XPRT_DIED,
- XPRT_MOREREQS,
- XPRT_IDLE
-};
-
-/*
- * Server side transport handle
- */
-typedef struct SVCXPRT SVCXPRT;
-struct SVCXPRT {
- int xp_sock;
- unsigned short xp_port; /* associated port number */
- const struct xp_ops {
- bool_t (*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg);
- /* receive incoming requests */
- enum xprt_stat (*xp_stat) (SVCXPRT *__xprt);
- /* get transport status */
- bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
- char* args_ptr); /* get arguments */
- bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg);
- /* send reply */
- bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
- char* args_ptr);
- /* free mem allocated for args */
- void (*xp_destroy) (SVCXPRT *__xprt);
- /* destroy this struct */
- } *xp_ops;
- int xp_addrlen; /* length of remote address */
- struct sockaddr_in xp_raddr; /* remote address */
- struct opaque_auth xp_verf; /* raw response verifier */
- char* xp_p1; /* private */
- char* xp_p2; /* private */
- char xp_pad [256]; /* padding, internal use */
-};
-
-/*
- * Approved way of getting address of caller
- */
-#define svc_getcaller(x) (&(x)->xp_raddr)
-
-/*
- * Operations defined on an SVCXPRT handle
- *
- * SVCXPRT *xprt;
- * struct rpc_msg *msg;
- * xdrproc_t xargs;
- * char* argsp;
- */
-#define SVC_RECV(xprt, msg) \
- (*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-#define svc_recv(xprt, msg) \
- (*(xprt)->xp_ops->xp_recv)((xprt), (msg))
-
-#define SVC_STAT(xprt) \
- (*(xprt)->xp_ops->xp_stat)(xprt)
-#define svc_stat(xprt) \
- (*(xprt)->xp_ops->xp_stat)(xprt)
-
-#define SVC_GETARGS(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-#define svc_getargs(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
-
-#define SVC_REPLY(xprt, msg) \
- (*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-#define svc_reply(xprt, msg) \
- (*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
-
-#define SVC_FREEARGS(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-#define svc_freeargs(xprt, xargs, argsp) \
- (*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
-
-#define SVC_DESTROY(xprt) \
- (*(xprt)->xp_ops->xp_destroy)(xprt)
-#define svc_destroy(xprt) \
- (*(xprt)->xp_ops->xp_destroy)(xprt)
-
-
-/*
- * Service request
- */
-struct svc_req {
- rpcprog_t rq_prog; /* service program number */
- rpcvers_t rq_vers; /* service protocol version */
- rpcproc_t rq_proc; /* the desired procedure */
- struct opaque_auth rq_cred; /* raw creds from the wire */
- char* rq_clntcred; /* read only cooked cred */
- SVCXPRT *rq_xprt; /* associated transport */
-};
-
-#ifndef __DISPATCH_FN_T
-#define __DISPATCH_FN_T
-typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*);
-#endif
-
-/*
- * Service registration
- *
- * svc_register(xprt, prog, vers, dispatch, protocol)
- * SVCXPRT *xprt;
- * rpcprog_t prog;
- * rpcvers_t vers;
- * void (*dispatch)(struct svc_req*, SVCXPRT*);
- * rpcprot_t protocol; like TCP or UDP, zero means do not register
- */
-extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog,
- rpcvers_t __vers, __dispatch_fn_t __dispatch,
- rpcprot_t __protocol) __THROW;
-
-/*
- * Service un-registration
- *
- * svc_unregister(prog, vers)
- * rpcprog_t prog;
- * rpcvers_t vers;
- */
-extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) __THROW;
-
-/*
- * Transport registration.
- *
- * xprt_register(xprt)
- * SVCXPRT *xprt;
- */
-extern void xprt_register (SVCXPRT *__xprt) __THROW;
-
-/*
- * Transport un-register
- *
- * xprt_unregister(xprt)
- * SVCXPRT *xprt;
- */
-extern void xprt_unregister (SVCXPRT *__xprt) __THROW;
-
-
-/*
- * When the service routine is called, it must first check to see if it
- * knows about the procedure; if not, it should call svcerr_noproc
- * and return. If so, it should deserialize its arguments via
- * SVC_GETARGS (defined above). If the deserialization does not work,
- * svcerr_decode should be called followed by a return. Successful
- * decoding of the arguments should be followed the execution of the
- * procedure's code and a call to svc_sendreply.
- *
- * Also, if the service refuses to execute the procedure due to too-
- * weak authentication parameters, svcerr_weakauth should be called.
- * Note: do not confuse access-control failure with weak authentication!
- *
- * NB: In pure implementations of rpc, the caller always waits for a reply
- * msg. This message is sent when svc_sendreply is called.
- * Therefore pure service implementations should always call
- * svc_sendreply even if the function logically returns void; use
- * xdr.h - xdr_void for the xdr routine. HOWEVER, tcp based rpc allows
- * for the abuse of pure rpc via batched calling or pipelining. In the
- * case of a batched call, svc_sendreply should NOT be called since
- * this would send a return message, which is what batching tries to avoid.
- * It is the service/protocol writer's responsibility to know which calls are
- * batched and which are not. Warning: responding to batch calls may
- * deadlock the caller and server processes!
- */
-
-extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results,
- char* __xdr_location) __THROW;
-
-extern void svcerr_decode (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_weakauth (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_noproc (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers,
- rpcvers_t __high_vers) __THROW;
-
-extern void svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) __THROW;
-
-extern void svcerr_noprog (SVCXPRT *__xprt) __THROW;
-
-extern void svcerr_systemerr (SVCXPRT *__xprt) __THROW;
-
-/*
- * Lowest level dispatching -OR- who owns this process anyway.
- * Somebody has to wait for incoming requests and then call the correct
- * service routine. The routine svc_run does infinite waiting; i.e.,
- * svc_run never returns.
- * Since another (coexistent) package may wish to selectively wait for
- * incoming calls or other events outside of the rpc architecture, the
- * routine svc_getreq is provided. It must be passed readfds, the
- * "in-place" results of a select system call (see select, section 2).
- */
-
-/*
- * Global keeper of rpc service descriptors in use
- * dynamic; must be inspected before each call to select
- */
-
-extern struct pollfd *svc_pollfd;
-extern int svc_max_pollfd;
-extern fd_set svc_fdset;
-#define svc_fds svc_fdset.fds_bits[0] /* compatibility */
-
-/*
- * a small program implemented by the svc_rpc implementation itself;
- * also see clnt.h for protocol numbers.
- */
-extern void svc_getreq (int __rdfds) __THROW;
-extern void svc_getreq_common (const int __fd) __THROW;
-extern void svc_getreqset (fd_set *__readfds) __THROW;
-extern void svc_getreq_poll (struct pollfd *, const int) __THROW;
-extern void svc_exit (void) __THROW;
-extern void svc_run (void) __THROW;
-
-/*
- * Socket to use on svcxxx_create call to get default socket
- */
-#define RPC_ANYSOCK -1
-
-/*
- * These are the existing service side transport implementations
- */
-
-/*
- * Memory based rpc for testing and timing.
- */
-extern SVCXPRT *svcraw_create (void) __THROW;
-
-/*
- * Udp based rpc.
- */
-extern SVCXPRT *svcudp_create (int __sock) __THROW;
-extern SVCXPRT *svcudp_bufcreate (int __sock, unsigned int __sendsz, unsigned int __recvsz)
- __THROW;
-
-/*
- * Tcp based rpc.
- */
-extern SVCXPRT *svctcp_create (int __sock, unsigned int __sendsize, unsigned int __recvsize)
- __THROW;
-
-
-/*
- * Unix based rpc.
- */
-extern SVCXPRT *svcunix_create (int __sock, unsigned int __sendsize, unsigned int __recvsize,
- char *__path) __THROW;
-
-
-__END_DECLS
-
-#endif /* rpc/svc.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/svc_auth.h b/mdk-stage1/dietlibc/include/rpc/svc_auth.h
deleted file mode 100644
index cd4b8da29..000000000
--- a/mdk-stage1/dietlibc/include/rpc/svc_auth.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* @(#)svc_auth.h 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* @(#)svc_auth.h 1.6 86/07/16 SMI */
-
-/*
- * svc_auth.h, Service side of rpc authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_SVC_AUTH_H
-#define _RPC_SVC_AUTH_H 1
-
-#include <sys/cdefs.h>
-#include <rpc/svc.h>
-
-__BEGIN_DECLS
-
-/*
- * Server side authenticator
- */
-extern enum auth_stat _authenticate (struct svc_req *__rqst,
- struct rpc_msg *__msg) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/svc_auth.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/types.h b/mdk-stage1/dietlibc/include/rpc/types.h
deleted file mode 100644
index d4be65e38..000000000
--- a/mdk-stage1/dietlibc/include/rpc/types.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/* fixincludes should not add extern "C" to this file */
-/*
- * Rpc additions to <sys/types.h>
- */
-#ifndef _RPC_TYPES_H
-#define _RPC_TYPES_H 1
-
-typedef int bool_t;
-typedef int enum_t;
-/* This needs to be changed to uint32_t in the future */
-typedef unsigned long rpcprog_t;
-typedef unsigned long rpcvers_t;
-typedef unsigned long rpcproc_t;
-typedef unsigned long rpcprot_t;
-typedef unsigned long rpcport_t;
-
-#define __dontcare__ -1
-
-#ifndef FALSE
-# define FALSE (0)
-#endif
-
-#ifndef TRUE
-# define TRUE (1)
-#endif
-
-#include <stdlib.h> /* For malloc decl. */
-#define mem_alloc(bsize) malloc(bsize)
-#define mem_free(ptr, bsize) free(ptr)
-
-#ifndef makedev /* ie, we haven't already included it */
-#include <sys/types.h>
-#endif
-
-# ifndef __dietlibc_u_char_defined
-typedef char* caddr_t;
-typedef uint32_t u_long;
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-# define __dietlibc_u_char_defined
-#endif
-
-#include <sys/time.h>
-#include <sys/param.h>
-
-#include <netinet/in.h>
-
-#ifndef INADDR_LOOPBACK
-#define INADDR_LOOPBACK 0x7F000001UL
-#endif
-#ifndef MAXHOSTNAMELEN
-#define MAXHOSTNAMELEN 64
-#endif
-
-#endif /* rpc/types.h */
diff --git a/mdk-stage1/dietlibc/include/rpc/xdr.h b/mdk-stage1/dietlibc/include/rpc/xdr.h
deleted file mode 100644
index 590392070..000000000
--- a/mdk-stage1/dietlibc/include/rpc/xdr.h
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * xdr.h, External Data Representation Serialization Routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#ifndef _RPC_XDR_H
-#define _RPC_XDR_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-
-/* We need FILE. */
-#include <stdio.h>
-
-__BEGIN_DECLS
-
-/*
- * XDR provides a conventional way for converting between C data
- * types and an external bit-string representation. Library supplied
- * routines provide for the conversion on built-in C data types. These
- * routines and utility routines defined here are used to help implement
- * a type encode/decode routine for each user-defined type.
- *
- * Each data type provides a single procedure which takes two arguments:
- *
- * bool_t
- * xdrproc(xdrs, argresp)
- * XDR *xdrs;
- * <type> *argresp;
- *
- * xdrs is an instance of a XDR handle, to which or from which the data
- * type is to be converted. argresp is a pointer to the structure to be
- * converted. The XDR handle contains an operation field which indicates
- * which of the operations (ENCODE, DECODE * or FREE) is to be performed.
- *
- * XDR_DECODE may allocate space if the pointer argresp is null. This
- * data can be freed with the XDR_FREE operation.
- *
- * We write only one procedure per data type to make it easy
- * to keep the encode and decode procedures for a data type consistent.
- * In many cases the same code performs all operations on a user defined type,
- * because all the hard work is done in the component type routines.
- * decode as a series of calls on the nested data types.
- */
-
-/*
- * Xdr operations. XDR_ENCODE causes the type to be encoded into the
- * stream. XDR_DECODE causes the type to be extracted from the stream.
- * XDR_FREE can be used to release the space allocated by an XDR_DECODE
- * request.
- */
-enum xdr_op {
- XDR_ENCODE = 0,
- XDR_DECODE = 1,
- XDR_FREE = 2
-};
-
-/*
- * This is the number of bytes per unit of external data.
- */
-#define BYTES_PER_XDR_UNIT (4)
-/*
- * This only works if the above is a power of 2. But it's defined to be
- * 4 by the appropriate RFCs. So it will work. And it's normally quicker
- * than the old routine.
- */
-#if 1
-#define RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1))
-#else /* this is the old routine */
-#define RNDUP(x) ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
- * BYTES_PER_XDR_UNIT)
-#endif
-
-/*
- * The XDR handle.
- * Contains operation which is being applied to the stream,
- * an operations vector for the particular implementation (e.g. see xdr_mem.c),
- * and two private fields for the use of the particular implementation.
- */
-typedef struct XDR XDR;
-struct XDR
- {
- enum xdr_op x_op; /* operation; fast additional param */
- struct xdr_ops
- {
- bool_t (*x_getlong) (XDR *__xdrs, long *__lp);
- /* get a long from underlying stream */
- bool_t (*x_putlong) (XDR *__xdrs, const long *__lp);
- /* put a long to " */
- bool_t (*x_getbytes) (XDR *__xdrs, char* __addr, unsigned int __len);
- /* get some bytes from " */
- bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, unsigned int __len);
- /* put some bytes to " */
- unsigned int (*x_getpostn) (const XDR *__xdrs);
- /* returns bytes off from beginning */
- bool_t (*x_setpostn) (XDR *__xdrs, unsigned int __pos);
- /* lets you reposition the stream */
- int32_t *(*x_inline) (XDR *__xdrs, int __len);
- /* buf quick ptr to buffered data */
- void (*x_destroy) (XDR *__xdrs);
- /* free privates of this xdr_stream */
- bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip);
- /* get a int from underlying stream */
- bool_t (*x_putint32) (XDR *__xdrs, const int32_t *__ip);
- /* put a int to " */
- }
- *x_ops;
- char* x_public; /* users' data */
- char* x_private; /* pointer to private data */
- char* x_base; /* private used for position info */
- int x_handy; /* extra private word */
- };
-
-/*
- * A xdrproc_t exists for each data type which is to be encoded or decoded.
- *
- * The second argument to the xdrproc_t is a pointer to an opaque pointer.
- * The opaque pointer generally points to a structure of the data type
- * to be decoded. If this pointer is 0, then the type routines should
- * allocate dynamic storage of the appropriate size and return it.
- * bool_t (*xdrproc_t)(XDR *, char* *);
- */
-typedef bool_t (*xdrproc_t) (XDR *, void *,...);
-
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR *xdrs;
- * int32_t *int32p;
- * long *longp;
- * char* addr;
- * unsigned int len;
- * unsigned int pos;
- */
-#define XDR_GETINT32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-#define xdr_getint32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
-
-#define XDR_PUTINT32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-#define xdr_putint32(xdrs, int32p) \
- (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
-
-#define XDR_GETLONG(xdrs, longp) \
- (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-#define xdr_getlong(xdrs, longp) \
- (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-
-#define XDR_PUTLONG(xdrs, longp) \
- (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-#define xdr_putlong(xdrs, longp) \
- (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-
-#define XDR_GETBYTES(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-#define xdr_getbytes(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-
-#define XDR_PUTBYTES(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-#define xdr_putbytes(xdrs, addr, len) \
- (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-
-#define XDR_GETPOS(xdrs) \
- (*(xdrs)->x_ops->x_getpostn)(xdrs)
-#define xdr_getpos(xdrs) \
- (*(xdrs)->x_ops->x_getpostn)(xdrs)
-
-#define XDR_SETPOS(xdrs, pos) \
- (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-#define xdr_setpos(xdrs, pos) \
- (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-
-#define XDR_INLINE(xdrs, len) \
- (*(xdrs)->x_ops->x_inline)(xdrs, len)
-#define xdr_inline(xdrs, len) \
- (*(xdrs)->x_ops->x_inline)(xdrs, len)
-
-#define XDR_DESTROY(xdrs) \
- do { \
- if ((xdrs)->x_ops->x_destroy) \
- (*(xdrs)->x_ops->x_destroy)(xdrs); \
- } while (0)
-#define xdr_destroy(xdrs) \
- do { \
- if ((xdrs)->x_ops->x_destroy) \
- (*(xdrs)->x_ops->x_destroy)(xdrs); \
- } while (0)
-
-/*
- * Support struct for discriminated unions.
- * You create an array of xdrdiscrim structures, terminated with
- * a entry with a null procedure pointer. The xdr_union routine gets
- * the discriminant value and then searches the array of structures
- * for a matching value. If a match is found the associated xdr routine
- * is called to handle that part of the union. If there is
- * no match, then a default routine may be called.
- * If there is no match and no default routine it is an error.
- */
-#define NULL_xdrproc_t ((xdrproc_t)0)
-struct xdr_discrim
-{
- int value;
- xdrproc_t proc;
-};
-
-/*
- * Inline routines for fast encode/decode of primitive data types.
- * Caveat emptor: these use single memory cycles to get the
- * data from the underlying buffer, and will fail to operate
- * properly if the data is not aligned. The standard way to use these
- * is to say:
- * if ((buf = XDR_INLINE(xdrs, count)) == NULL)
- * return (FALSE);
- * <<< macro calls >>>
- * where ``count'' is the number of bytes of data occupied
- * by the primitive data types.
- *
- * N.B. and frozen for all time: each data type here uses 4 bytes
- * of external representation.
- */
-
-#define IXDR_GET_INT32(buf) ((int32_t)ntohl((uint32_t)*(buf)++))
-#define IXDR_PUT_INT32(buf, v) (*(buf)++ = (int32_t)htonl((uint32_t)(v)))
-#define IXDR_GET_U_INT32(buf) ((uint32_t)IXDR_GET_INT32(buf))
-#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_INT32(buf, (int32_t)(v))
-
-/* WARNING: The IXDR_*_LONG defines are removed by Sun for new platforms
- * and shouldn't be used any longer. Code which use this defines or longs
- * in the RPC code will not work on 64bit Solaris platforms !
- */
-#define IXDR_GET_LONG(buf) \
- ((long)ntohl((unsigned long)*__extension__((uint32_t*)(buf))++))
-#define IXDR_PUT_LONG(buf, v) \
- (*__extension__((uint32_t*)(buf))++ = (long)htonl((unsigned long)(v)))
-#define IXDR_GET_U_LONG(buf) ((unsigned long)IXDR_GET_LONG(buf))
-#define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-
-
-#define IXDR_GET_BOOL(buf) ((bool_t)IXDR_GET_LONG(buf))
-#define IXDR_GET_ENUM(buf, t) ((t)IXDR_GET_LONG(buf))
-#define IXDR_GET_SHORT(buf) ((short)IXDR_GET_LONG(buf))
-#define IXDR_GET_U_SHORT(buf) ((unsigned short)IXDR_GET_LONG(buf))
-
-#define IXDR_PUT_BOOL(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_ENUM(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_SHORT(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-#define IXDR_PUT_U_SHORT(buf, v) IXDR_PUT_LONG(buf, (long)(v))
-
-/*
- * These are the "generic" xdr routines.
- * None of these can have const applied because it's not possible to
- * know whether the call is a read or a write to the passed parameter
- * also, the XDR structure is always updated by some of these calls.
- */
-extern bool_t xdr_void (void) __THROW;
-extern bool_t xdr_short (XDR *__xdrs, short *__sp) __THROW;
-extern bool_t xdr_u_short (XDR *__xdrs, unsigned short *__usp) __THROW;
-extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW;
-extern bool_t xdr_u_int (XDR *__xdrs, unsigned int *__up) __THROW;
-extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW;
-extern bool_t xdr_u_long (XDR *__xdrs, unsigned long *__ulp) __THROW;
-extern bool_t xdr_hyper (XDR *__xdrs, int64_t *__llp) __THROW;
-extern bool_t xdr_u_hyper (XDR *__xdrs, uint64_t *__ullp) __THROW;
-extern bool_t xdr_longlong_t (XDR *__xdrs, int64_t *__llp) __THROW;
-extern bool_t xdr_u_longlong_t (XDR *__xdrs, uint64_t *__ullp) __THROW;
-extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) __THROW;
-extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) __THROW;
-extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) __THROW;
-extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) __THROW;
-extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) __THROW;
-extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) __THROW;
-extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) __THROW;
-extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) __THROW;
-extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) __THROW;
-extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) __THROW;
-extern bool_t xdr_array (XDR * _xdrs, char* *__addrp, unsigned int *__sizep,
- unsigned int __maxsize, unsigned int __elsize, xdrproc_t __elproc)
- __THROW;
-extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, unsigned int *__sizep,
- unsigned int __maxsize) __THROW;
-extern bool_t xdr_opaque (XDR *__xdrs, char* __cp, unsigned int __cnt) __THROW;
-extern bool_t xdr_string (XDR *__xdrs, char **__cpp, unsigned int __maxsize) __THROW;
-extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp,
- const struct xdr_discrim *__choices,
- xdrproc_t dfault) __THROW;
-extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW;
-extern bool_t xdr_u_char (XDR *__xdrs, unsigned char *__cp) __THROW;
-extern bool_t xdr_vector (XDR *__xdrs, char *__basep, unsigned int __nelem,
- unsigned int __elemsize, xdrproc_t __xdr_elem) __THROW;
-extern bool_t xdr_float (XDR *__xdrs, float *__fp) __THROW;
-extern bool_t xdr_double (XDR *__xdrs, double *__dp) __THROW;
-extern bool_t xdr_reference (XDR *__xdrs, char* *__xpp, unsigned int __size,
- xdrproc_t __proc) __THROW;
-extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp,
- unsigned int __obj_size, xdrproc_t __xdr_obj) __THROW;
-extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW;
-extern unsigned long xdr_sizeof (xdrproc_t, void *) __THROW;
-
-/*
- * Common opaque bytes objects used by many rpc protocols;
- * declared here due to commonality.
- */
-#define MAX_NETOBJ_SZ 1024
-struct netobj
-{
- unsigned int n_len;
- char *n_bytes;
-};
-typedef struct netobj netobj;
-extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) __THROW;
-
-/*
- * These are the public routines for the various implementations of
- * xdr streams.
- */
-
-/* XDR using memory buffers */
-extern void xdrmem_create (XDR *__xdrs, const char* __addr,
- unsigned int __size, enum xdr_op __xop) __THROW;
-
-/* XDR using stdio library */
-extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop)
- __THROW;
-
-/* XDR pseudo records for tcp */
-extern void xdrrec_create (XDR *__xdrs, unsigned int __sendsize,
- unsigned int __recvsize, char* __tcp_handle,
- int (*__readit) (char *, char *, int),
- int (*__writeit) (char *, char *, int)) __THROW;
-
-/* make end of xdr record */
-extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) __THROW;
-
-/* move to beginning of next record */
-extern bool_t xdrrec_skiprecord (XDR *__xdrs) __THROW;
-
-/* true if no more input */
-extern bool_t xdrrec_eof (XDR *__xdrs) __THROW;
-
-/* free memory buffers for xdr */
-extern void xdr_free (xdrproc_t __proc, char *__objp) __THROW;
-
-__END_DECLS
-
-#endif /* rpc/xdr.h */
diff --git a/mdk-stage1/dietlibc/include/sched.h b/mdk-stage1/dietlibc/include/sched.h
deleted file mode 100644
index b6442c73b..000000000
--- a/mdk-stage1/dietlibc/include/sched.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _SCHED_H
-#define _SCHED_H 1
-
-#include <time.h>
-
-#include <sys/types.h>
-
-/*
- * cloning flags:
- */
-#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
-#define CLONE_VM 0x00000100 /* set if VM shared between processes */
-#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
-#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
-#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
-#define CLONE_PID 0x00001000 /* set if pid shared */
-#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
-#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
-#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
-#define CLONE_THREAD 0x00010000 /* Same thread group? */
-
-#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD)
-
-int clone(void*(*fn)(void*),void*stack,int flags,void*arg);
-
-/*
- * Scheduling policies
- */
-#define SCHED_OTHER 0
-#define SCHED_FIFO 1
-#define SCHED_RR 2
-
-/*
- * This is an additional bit set when we want to
- * yield the CPU for one re-schedule..
- */
-#define SCHED_YIELD 0x10
-
-struct sched_param {
- int sched_priority;
-};
-
-/* END OF COPY form kernel-header */
-
-int __sched_setparam(pid_t pid, const struct sched_param *p);
-int sched_setparam(pid_t pid, const struct sched_param *p);
-
-int __sched_getparam(pid_t pid, struct sched_param *p);
-int sched_getparam(pid_t pid, struct sched_param *p);
-
-int __sched_getscheduler(pid_t pid);
-int sched_getscheduler(pid_t pid);
-
-int __sched_setscheduler(pid_t pid, int policy, const struct sched_param *p);
-int sched_setscheduler(pid_t pid, int policy, const struct sched_param *p);
-
-int __sched_yield(void);
-int sched_yield(void);
-
-int __sched_get_priority_max(int policy);
-int sched_get_priority_max(int policy);
-
-int __sched_get_priority_min(int policy);
-int sched_get_priority_min(int policy);
-
-int __sched_rr_get_interval(pid_t pid, struct timespec *tp);
-int sched_rr_get_interval(pid_t pid, struct timespec *tp);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/scsi/scsi.h b/mdk-stage1/dietlibc/include/scsi/scsi.h
deleted file mode 100644
index 652e44ee9..000000000
--- a/mdk-stage1/dietlibc/include/scsi/scsi.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/*
- * This header file contains public constants and structures used by
- * the scsi code for linux.
- */
-
-#ifndef _SCSI_SCSI_H
-#define _SCSI_SCSI_H 1
-
-/*
- * SCSI opcodes
- */
-
-#define TEST_UNIT_READY 0x00
-#define REZERO_UNIT 0x01
-#define REQUEST_SENSE 0x03
-#define FORMAT_UNIT 0x04
-#define READ_BLOCK_LIMITS 0x05
-#define REASSIGN_BLOCKS 0x07
-#define READ_6 0x08
-#define WRITE_6 0x0a
-#define SEEK_6 0x0b
-#define READ_REVERSE 0x0f
-#define WRITE_FILEMARKS 0x10
-#define SPACE 0x11
-#define INQUIRY 0x12
-#define RECOVER_BUFFERED_DATA 0x14
-#define MODE_SELECT 0x15
-#define RESERVE 0x16
-#define RELEASE 0x17
-#define COPY 0x18
-#define ERASE 0x19
-#define MODE_SENSE 0x1a
-#define START_STOP 0x1b
-#define RECEIVE_DIAGNOSTIC 0x1c
-#define SEND_DIAGNOSTIC 0x1d
-#define ALLOW_MEDIUM_REMOVAL 0x1e
-
-#define SET_WINDOW 0x24
-#define READ_CAPACITY 0x25
-#define READ_10 0x28
-#define WRITE_10 0x2a
-#define SEEK_10 0x2b
-#define WRITE_VERIFY 0x2e
-#define VERIFY 0x2f
-#define SEARCH_HIGH 0x30
-#define SEARCH_EQUAL 0x31
-#define SEARCH_LOW 0x32
-#define SET_LIMITS 0x33
-#define PRE_FETCH 0x34
-#define READ_POSITION 0x34
-#define SYNCHRONIZE_CACHE 0x35
-#define LOCK_UNLOCK_CACHE 0x36
-#define READ_DEFECT_DATA 0x37
-#define MEDIUM_SCAN 0x38
-#define COMPARE 0x39
-#define COPY_VERIFY 0x3a
-#define WRITE_BUFFER 0x3b
-#define READ_BUFFER 0x3c
-#define UPDATE_BLOCK 0x3d
-#define READ_LONG 0x3e
-#define WRITE_LONG 0x3f
-#define CHANGE_DEFINITION 0x40
-#define WRITE_SAME 0x41
-#define READ_TOC 0x43
-#define LOG_SELECT 0x4c
-#define LOG_SENSE 0x4d
-#define MODE_SELECT_10 0x55
-#define RESERVE_10 0x56
-#define RELEASE_10 0x57
-#define MODE_SENSE_10 0x5a
-#define PERSISTENT_RESERVE_IN 0x5e
-#define PERSISTENT_RESERVE_OUT 0x5f
-#define MOVE_MEDIUM 0xa5
-#define READ_12 0xa8
-#define WRITE_12 0xaa
-#define WRITE_VERIFY_12 0xae
-#define SEARCH_HIGH_12 0xb0
-#define SEARCH_EQUAL_12 0xb1
-#define SEARCH_LOW_12 0xb2
-#define READ_ELEMENT_STATUS 0xb8
-#define SEND_VOLUME_TAG 0xb6
-#define WRITE_LONG_2 0xea
-
-/*
- * Status codes
- */
-
-#define GOOD 0x00
-#define CHECK_CONDITION 0x01
-#define CONDITION_GOOD 0x02
-#define BUSY 0x04
-#define INTERMEDIATE_GOOD 0x08
-#define INTERMEDIATE_C_GOOD 0x0a
-#define RESERVATION_CONFLICT 0x0c
-#define COMMAND_TERMINATED 0x11
-#define QUEUE_FULL 0x14
-
-#define STATUS_MASK 0x3e
-
-/*
- * SENSE KEYS
- */
-
-#define NO_SENSE 0x00
-#define RECOVERED_ERROR 0x01
-#define NOT_READY 0x02
-#define MEDIUM_ERROR 0x03
-#define HARDWARE_ERROR 0x04
-#define ILLEGAL_REQUEST 0x05
-#define UNIT_ATTENTION 0x06
-#define DATA_PROTECT 0x07
-#define BLANK_CHECK 0x08
-#define COPY_ABORTED 0x0a
-#define ABORTED_COMMAND 0x0b
-#define VOLUME_OVERFLOW 0x0d
-#define MISCOMPARE 0x0e
-
-
-/*
- * DEVICE TYPES
- */
-
-#define TYPE_DISK 0x00
-#define TYPE_TAPE 0x01
-#define TYPE_PROCESSOR 0x03 /* HP scanners use this */
-#define TYPE_WORM 0x04 /* Treated as ROM by our system */
-#define TYPE_ROM 0x05
-#define TYPE_SCANNER 0x06
-#define TYPE_MOD 0x07 /* Magneto-optical disk -
- * - treated as TYPE_DISK */
-#define TYPE_MEDIUM_CHANGER 0x08
-#define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */
-#define TYPE_NO_LUN 0x7f
-
-/*
- * standard mode-select header prepended to all mode-select commands
- *
- * moved here from cdrom.h -- kraxel
- */
-
-struct ccs_modesel_head
- {
- unsigned char _r1; /* reserved. */
- unsigned char medium; /* device-specific medium type. */
- unsigned char _r2; /* reserved. */
- unsigned char block_desc_length; /* block descriptor length. */
- unsigned char density; /* device-specific density code. */
- unsigned char number_blocks_hi; /* number of blocks in this block
- desc. */
- unsigned char number_blocks_med;
- unsigned char number_blocks_lo;
- unsigned char _r3;
- unsigned char block_length_hi; /* block length for blocks in this
- desc. */
- unsigned char block_length_med;
- unsigned char block_length_lo;
- };
-
-/*
- * MESSAGE CODES
- */
-
-#define COMMAND_COMPLETE 0x00
-#define EXTENDED_MESSAGE 0x01
-#define EXTENDED_MODIFY_DATA_POINTER 0x00
-#define EXTENDED_SDTR 0x01
-#define EXTENDED_EXTENDED_IDENTIFY 0x02 /* SCSI-I only */
-#define EXTENDED_WDTR 0x03
-#define SAVE_POINTERS 0x02
-#define RESTORE_POINTERS 0x03
-#define DISCONNECT 0x04
-#define INITIATOR_ERROR 0x05
-#define ABORT 0x06
-#define MESSAGE_REJECT 0x07
-#define NOP 0x08
-#define MSG_PARITY_ERROR 0x09
-#define LINKED_CMD_COMPLETE 0x0a
-#define LINKED_FLG_CMD_COMPLETE 0x0b
-#define BUS_DEVICE_RESET 0x0c
-
-#define INITIATE_RECOVERY 0x0f /* SCSI-II only */
-#define RELEASE_RECOVERY 0x10 /* SCSI-II only */
-
-#define SIMPLE_QUEUE_TAG 0x20
-#define HEAD_OF_QUEUE_TAG 0x21
-#define ORDERED_QUEUE_TAG 0x22
-
-/*
- * Here are some scsi specific ioctl commands which are sometimes useful.
- */
-/* These are a few other constants only used by scsi devices. */
-
-#define SCSI_IOCTL_GET_IDLUN 0x5382
-
-/* Used to turn on and off tagged queuing for scsi devices. */
-
-#define SCSI_IOCTL_TAGGED_ENABLE 0x5383
-#define SCSI_IOCTL_TAGGED_DISABLE 0x5384
-
-/* Used to obtain the host number of a device. */
-#define SCSI_IOCTL_PROBE_HOST 0x5385
-
-/* Used to get the bus number for a device. */
-#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386
-
-#endif /* scsi/scsi.h */
diff --git a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h b/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h
deleted file mode 100644
index bc9931838..000000000
--- a/mdk-stage1/dietlibc/include/scsi/scsi_ioctl.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _SCSI_IOCTL_H
-#define _SCSI_IOCTL_H
-
-/* IOCTLs for SCSI. */
-#define SCSI_IOCTL_SEND_COMMAND 1 /* Send a command to the SCSI host. */
-#define SCSI_IOCTL_TEST_UNIT_READY 2 /* Test if unit is ready. */
-#define SCSI_IOCTL_BENCHMARK_COMMAND 3
-#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters. */
-#define SCSI_IOCTL_START_UNIT 5
-#define SCSI_IOCTL_STOP_UNIT 6
-#define SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */
-#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */
-
-#endif
-
-
diff --git a/mdk-stage1/dietlibc/include/scsi/sg.h b/mdk-stage1/dietlibc/include/scsi/sg.h
deleted file mode 100644
index 00334654e..000000000
--- a/mdk-stage1/dietlibc/include/scsi/sg.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/*
- History:
- Started: Aug 9 by Lawrence Foard (entropy@world.std.com), to allow user
- process control of SCSI devices.
- Development Sponsored by Killy Corp. NY NY
-*/
-
-#ifndef _SCSI_SG_H
-#define _SCSI_SG_H 1
-
-#include <sys/types.h>
-
-/* New interface introduced in the 3.x SG drivers follows */
-
-/* Same structure as used by readv() Linux system call. It defines one
- scatter-gather element. */
-typedef struct sg_iovec
-{
- void * iov_base; /* Starting address */
- size_t iov_len; /* Length in bytes */
-} sg_iovec_t;
-
-
-typedef struct sg_io_hdr
-{
- int interface_id; /* [i] 'S' for SCSI generic (required) */
- int dxfer_direction; /* [i] data transfer direction */
- unsigned char cmd_len; /* [i] SCSI command length ( <= 16 bytes) */
- unsigned char mx_sb_len; /* [i] max length to write to sbp */
- unsigned short int iovec_count; /* [i] 0 implies no scatter gather */
- unsigned int dxfer_len; /* [i] byte count of data transfer */
- void * dxferp; /* [i], [*io] points to data transfer memory
- or scatter gather list */
- unsigned char * cmdp; /* [i], [*i] points to command to perform */
- unsigned char * sbp; /* [i], [*o] points to sense_buffer memory */
- unsigned int timeout; /* [i] MAX_UINT->no timeout (unit: millisec) */
- unsigned int flags; /* [i] 0 -> default, see SG_FLAG... */
- int pack_id; /* [i->o] unused internally (normally) */
- void * usr_ptr; /* [i->o] unused internally */
- unsigned char status; /* [o] scsi status */
- unsigned char masked_status;/* [o] shifted, masked scsi status */
- unsigned char msg_status; /* [o] messaging level data (optional) */
- unsigned char sb_len_wr; /* [o] byte count actually written to sbp */
- unsigned short int host_status; /* [o] errors from host adapter */
- unsigned short int driver_status;/* [o] errors from software driver */
- int resid; /* [o] dxfer_len - actual_transferred */
- unsigned int duration; /* [o] time taken by cmd (unit: millisec) */
- unsigned int info; /* [o] auxiliary information */
-} sg_io_hdr_t;
-
-
-/* Use negative values to flag difference from original sg_header structure. */
-#define SG_DXFER_NONE -1 /* e.g. a SCSI Test Unit Ready command */
-#define SG_DXFER_TO_DEV -2 /* e.g. a SCSI WRITE command */
-#define SG_DXFER_FROM_DEV -3 /* e.g. a SCSI READ command */
-#define SG_DXFER_TO_FROM_DEV -4 /* treated like SG_DXFER_FROM_DEV with the
- additional property than during indirect
- IO the user buffer is copied into the
- kernel buffers before the transfer */
-
-
-/* following flag values can be "or"-ed together */
-#define SG_FLAG_DIRECT_IO 1 /* default is indirect IO */
-#define SG_FLAG_LUN_INHIBIT 2 /* default is to put device's lun into */
- /* the 2nd byte of SCSI command */
-#define SG_FLAG_NO_DXFER 0x10000 /* no transfer of kernel buffers to/from */
- /* user space (debug indirect IO) */
-
-/* The following 'info' values are "or"-ed together. */
-#define SG_INFO_OK_MASK 0x1
-#define SG_INFO_OK 0x0 /* no sense, host nor driver "noise" */
-#define SG_INFO_CHECK 0x1 /* something abnormal happened */
-
-#define SG_INFO_DIRECT_IO_MASK 0x6
-#define SG_INFO_INDIRECT_IO 0x0 /* data xfer via kernel buffers (or no xfer) */
-#define SG_INFO_DIRECT_IO 0x2 /* direct IO requested and performed */
-#define SG_INFO_MIXED_IO 0x4 /* part direct, part indirect IO */
-
-
-/* Request information about a specific SG device, used by
- SG_GET_SCSI_ID ioctl (). */
-struct sg_scsi_id {
- /* Host number as in "scsi<n>" where 'n' is one of 0, 1, 2 etc. */
- int host_no;
- int channel;
- /* SCSI id of target device. */
- int scsi_id;
- int lun;
- /* TYPE_... defined in <scsi/scsi.h>. */
- int scsi_type;
- /* Host (adapter) maximum commands per lun. */
- short int h_cmd_per_lun;
- /* Device (or adapter) maximum queue length. */
- short int d_queue_depth;
- /* Unused, set to 0 for now. */
- int unused[2];
-};
-
-/* Used by SG_GET_REQUEST_TABLE ioctl(). */
-typedef struct sg_req_info {
- char req_state; /* 0 -> not used, 1 -> written, 2 -> ready to read */
- char orphan; /* 0 -> normal request, 1 -> from interruped SG_IO */
- char sg_io_owned; /* 0 -> complete with read(), 1 -> owned by SG_IO */
- char problem; /* 0 -> no problem detected, 1 -> error to report */
- int pack_id; /* pack_id associated with request */
- void * usr_ptr; /* user provided pointer (in new interface) */
- unsigned int duration; /* millisecs elapsed since written (req_state==1)
- or request duration (req_state==2) */
- int unused;
-} sg_req_info_t;
-
-
-/* IOCTLs: Those ioctls that are relevant to the SG 3.x drivers follow.
- [Those that only apply to the SG 2.x drivers are at the end of the file.]
- (_GET_s yield result via 'int *' 3rd argument unless otherwise indicated) */
-
-#define SG_EMULATED_HOST 0x2203 /* true for emulated host adapter (ATAPI) */
-
-/* Used to configure SCSI command transformation layer for ATAPI devices */
-/* Only supported by the ide-scsi driver */
-#define SG_SET_TRANSFORM 0x2204 /* N.B. 3rd arg is not pointer but value: */
- /* 3rd arg = 0 to disable transform, 1 to enable it */
-#define SG_GET_TRANSFORM 0x2205
-
-#define SG_SET_RESERVED_SIZE 0x2275 /* request a new reserved buffer size */
-#define SG_GET_RESERVED_SIZE 0x2272 /* actual size of reserved buffer */
-
-/* The following ioctl has a 'sg_scsi_id_t *' object as its 3rd argument. */
-#define SG_GET_SCSI_ID 0x2276 /* Yields fd's bus, chan, dev, lun + type */
-/* SCSI id information can also be obtained from SCSI_IOCTL_GET_IDLUN */
-
-/* Override host setting and always DMA using low memory ( <16MB on i386) */
-#define SG_SET_FORCE_LOW_DMA 0x2279 /* 0-> use adapter setting, 1-> force */
-#define SG_GET_LOW_DMA 0x227a /* 0-> use all ram for dma; 1-> low dma ram */
-
-/* When SG_SET_FORCE_PACK_ID set to 1, pack_id is input to read() which
- tries to fetch a packet with a matching pack_id, waits, or returns EAGAIN.
- If pack_id is -1 then read oldest waiting. When ...FORCE_PACK_ID set to 0
- then pack_id ignored by read() and oldest readable fetched. */
-#define SG_SET_FORCE_PACK_ID 0x227b
-#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1) */
-
-#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read() */
-
-/* Yields max scatter gather tablesize allowed by current host adapter */
-#define SG_GET_SG_TABLESIZE 0x227F /* 0 implies can't do scatter gather */
-
-#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */
-
-/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */
-#define SG_SCSI_RESET 0x2284
-/* Associated values that can be given to SG_SCSI_RESET follow */
-#define SG_SCSI_RESET_NOTHING 0
-#define SG_SCSI_RESET_DEVICE 1
-#define SG_SCSI_RESET_BUS 2
-#define SG_SCSI_RESET_HOST 3
-
-/* synchronous SCSI command ioctl, (only in version 3 interface) */
-#define SG_IO 0x2285 /* similar effect as write() followed by read() */
-
-#define SG_GET_REQUEST_TABLE 0x2286 /* yields table of active requests */
-
-/* How to treat EINTR during SG_IO ioctl(), only in SG 3.x series */
-#define SG_SET_KEEP_ORPHAN 0x2287 /* 1 -> hold for read(), 0 -> drop (def) */
-#define SG_GET_KEEP_ORPHAN 0x2288
-
-
-#define SG_SCATTER_SZ (8 * 4096) /* PAGE_SIZE not available to user */
-/* Largest size (in bytes) a single scatter-gather list element can have.
- The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on
- i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported
- by adapter then this value is the largest data block that can be
- read/written by a single scsi command. The user can find the value of
- PAGE_SIZE by calling getpagesize() defined in unistd.h . */
-
-#define SG_DEFAULT_RETRIES 1
-
-/* Defaults, commented if they differ from original sg driver */
-#define SG_DEF_FORCE_LOW_DMA 0 /* was 1 -> memory below 16MB on i386 */
-#define SG_DEF_FORCE_PACK_ID 0
-#define SG_DEF_KEEP_ORPHAN 0
-#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ /* load time option */
-
-/* maximum outstanding requests, write() yields EDOM if exceeded */
-#define SG_MAX_QUEUE 16
-
-#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE /* for backward compatibility */
-
-/* Alternate style type names, "..._t" variants preferred */
-typedef struct sg_io_hdr Sg_io_hdr;
-typedef struct sg_io_vec Sg_io_vec;
-typedef struct sg_scsi_id Sg_scsi_id;
-typedef struct sg_req_info Sg_req_info;
-
-
-/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
-/* The older SG interface based on the 'sg_header' structure follows. */
-/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
-
-#define SG_MAX_SENSE 16 /* this only applies to the sg_header interface */
-
-struct sg_header
- {
- /* Length of incoming packet (including header). */
- int pack_len;
- /* Maximal length of expected reply. */
- int reply_len;
- /* Id number of packet. */
- int pack_id;
- /* 0==ok, otherwise error number. */
- int result;
- /* Force 12 byte command length for group 6 & 7 commands. */
- unsigned int twelve_byte:1;
- /* SCSI status from target. */
- unsigned int target_status:5;
- /* Host status (see "DID" codes). */
- unsigned int host_status:8;
- /* Driver status+suggestion. */
- unsigned int driver_status:8;
- /* Unused. */
- unsigned int other_flags:10;
- /* Output in 3 cases:
- when target_status is CHECK_CONDITION or
- when target_status is COMMAND_TERMINATED or
- when (driver_status & DRIVER_SENSE) is true. */
- unsigned char sense_buffer[SG_MAX_SENSE];
- };
-
-
-/* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t
- interface is used. They are kept for backward compatibility with
- the original and version 2 drivers. */
-
-#define SG_SET_TIMEOUT 0x2201 /* Set timeout; *(int *)arg==timeout. */
-#define SG_GET_TIMEOUT 0x2202 /* Get timeout; return timeout. */
-
-/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */
-#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on). */
-#define SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1. */
-
-/* Turn on error sense trace (1..8), dump this device to log/console (9)
- or dump all sg device states ( >9 ) to log/console. */
-#define SG_SET_DEBUG 0x227e /* 0 -> turn off debug */
-
-#define SG_NEXT_CMD_LEN 0x2283 /* Override SCSI command length with given
- number on the next write() on this file
- descriptor. */
-
-/* Defaults, commented if they differ from original sg driver */
-#define SG_DEFAULT_TIMEOUT (60*HZ) /* HZ == 'jiffies in 1 second' */
-#define SG_DEF_COMMAND_Q 0 /* command queuing is always on when
- the new interface is used */
-#define SG_DEF_UNDERRUN_FLAG 0
-
-
-#endif /* scsi/sg.h */
diff --git a/mdk-stage1/dietlibc/include/setjmp.h b/mdk-stage1/dietlibc/include/setjmp.h
deleted file mode 100644
index b591936ac..000000000
--- a/mdk-stage1/dietlibc/include/setjmp.h
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifndef _SETJMP_H
-#define _SETJMP_H
-
-#include <sys/cdefs.h>
-
-#ifdef __i386__
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[6];
-#endif
-# define JB_BX 0
-# define JB_SI 1
-# define JB_DI 2
-# define JB_BP 3
-# define JB_SP 4
-# define JB_PC 5
-# define JB_SIZE 24
-#endif
-
-#ifdef __x86_64__
-#ifndef __ASSEMBLER__
-typedef long __jmp_buf[8];
-#endif
-# define JB_RBX 0
-# define JB_RBP 1
-# define JB_R12 2
-# define JB_R13 3
-# define JB_R14 4
-# define JB_R15 5
-# define JB_RSP 6
-# define JB_PC 7
-# define JB_SIZE 64
-#endif
-
-#ifdef __s390__
-#ifndef __ASSEMBLER__
-typedef struct {
- long int gregs[10];
- long fpregs[4];
-} __jmp_buf[1];
-#endif
-#define __JB_GPR6 0
-#define __JB_GPR7 1
-#define __JB_GPR8 2
-#define __JB_GPR9 3
-#define __JB_GPR10 4
-#define __JB_GPR11 5
-#define __JB_GPR12 6
-#define __JB_GPR13 7
-#define __JB_GPR14 8
-#define __JB_GPR15 9
-
-#define _JMPBUF_UNWINDS(jmpbuf, address) ((int) (address) < (jmpbuf)->gregs[__JB_GPR15])
-#endif
-
-#ifdef __alpha__
-#define JB_S0 0
-#define JB_S1 1
-#define JB_S2 2
-#define JB_S3 3
-#define JB_S4 4
-#define JB_S5 5
-#define JB_PC 6
-#define JB_FP 7
-#define JB_SP 8
-#define JB_F2 9
-#define JB_F3 10
-#define JB_F4 11
-#define JB_F5 12
-#define JB_F6 13
-#define JB_F7 14
-#define JB_F8 15
-#define JB_F9 16
-#ifndef __ASSEMBLER__
-typedef long int __jmp_buf[17];
-#endif
-#endif
-
-#ifdef __mips__
-#ifndef __ASSEMBLER__
-typedef struct
- {
- void * __pc; /* Program counter. */
- void * __sp; /* Stack pointer. */
- int __regs[8]; /* Callee-saved registers s0 through s7. */
- void * __fp; /* The frame pointer. */
- void * __gp; /* The global pointer. */
- int __fpc_csr; /* Floating point status register. */
- double __fpregs[6]; /* Callee-saved floating point registers. */
- } __jmp_buf[1];
-#endif
-#endif
-
-#ifdef __sparc__
-#ifdef __arch64__
-
-#define MC_TSTATE 0
-#define MC_PC 1
-#define MC_NPC 2
-#define MC_Y 3
-#define MC_G1 4
-#define MC_G2 5
-#define MC_G3 6
-#define MC_G4 7
-#define MC_G5 8
-#define MC_G6 9
-#define MC_G7 10
-#define MC_O0 11
-#define MC_O1 12
-#define MC_O2 13
-#define MC_O3 14
-#define MC_O4 15
-#define MC_O5 16
-#define MC_O6 17
-#define MC_O7 18
-#define MC_NGREG 19
-
-#define FLAG_SAVEMASK 512
-#ifndef __ASSEMBLER__
-#include <signal.h>
-
-/* this equal to ucontext from "include/asm-sparc64/uctx.h" */
-typedef struct __sparc64_jmp_buf {
- struct __sparc64_jmp_buf *uc_link;
- unsigned long uc_flags;
- sigset_t uc_sigmask;
- struct {
- unsigned long mc_gregs[MC_NGREG];
- unsigned long mc_fp;
- unsigned long mc_i7;
- struct {
- union {
- unsigned int sregs[32];
- unsigned long dregs[32];
- long double qregs[16];
- } mcfpu_fregs;
- unsigned long mcfpu_fsr;
- unsigned long mcfpu_fprs;
- unsigned long mcfpu_gsr;
- struct {
- unsigned long *mcfq_addr;
- unsigned int mcfq_insn;
- } *mcfpu_fq;
- unsigned char mcfpu_qcnt;
- unsigned char mcfpu_qentsz;
- unsigned char mcfpu_enab;
- } mc_fpregs;
- } uc_mcontext;
-} __jmp_buf[1];
-
-#endif
-
-#else
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[3];
-#endif
-
-#endif
-#endif
-
-#ifdef __arm__
-#define __JMP_BUF_SP 8
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[24];
-#endif
-#endif
-
-#ifdef __powerpc__
-# define JB_GPR1 0 /* Also known as the stack pointer */
-# define JB_GPR2 1
-# define JB_LR 2 /* The address we will return to */
-# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
-# define JB_CR 21 /* Condition code registers. */
-# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
-# define JB_SIZE (58*4)
-#ifndef __ASSEMBLER__
-typedef long int __jmp_buf[58];
-#endif
-#endif
-
-#ifdef __hppa__
-#ifndef __ASSEMBLER__
-typedef double __jmp_buf[21];
-#endif
-#endif
-
-#ifdef __ia64__
-#ifndef __ASSEMBLER__
-typedef long __jmp_buf[70] __attribute__ ((aligned(16)));
-#endif
-#endif
-
-#ifndef __ASSEMBLER__
-#include <signal.h>
-
-/* typedef int sig_atomic_t; */
-#define __sig_atomic_t sig_atomic_t
-
-/* Calling environment, plus possibly a saved signal mask. */
-typedef struct __jmp_buf_tag { /* C++ doesn't like tagless structs. */
-/* NOTE: The machine-dependent definitions of `__sigsetjmp'
- * assume that a `jmp_buf' begins with a `__jmp_buf'.
- * Do not move this member or add others before it. */
- __jmp_buf __jmpbuf; /* Calling environment. */
- int __mask_was_saved; /* Saved the signal mask? */
- sigset_t __saved_mask; /* Saved signal mask. */
-} jmp_buf[1];
-
-extern int __sigsetjmp(jmp_buf __env,int __savemask) __THROW;
-
-extern void longjmp(jmp_buf __env,int __val)
- __THROW __attribute__((__noreturn__));
-
-typedef jmp_buf sigjmp_buf;
-
-extern void siglongjmp(sigjmp_buf __env,int __val)
- __THROW __attribute__((__noreturn__));
-
-#ifdef _BSD_SOURCE
-#define setjmp(env) __sigsetjmp(env,1)
-#else
-#define setjmp(env) __sigsetjmp(env,0)
-#endif
-#define sigsetjmp(a,b) __sigsetjmp(a,b)
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/shadow.h b/mdk-stage1/dietlibc/include/shadow.h
deleted file mode 100644
index 1c84de9e6..000000000
--- a/mdk-stage1/dietlibc/include/shadow.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _SHADOW_H
-#define _SHADOW_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct spwd {
- char *sp_namp; /* user login name */
- char *sp_pwdp; /* encrypted password */
- long sp_lstchg; /* last password change */
- int sp_min; /* days until change allowed. */
- int sp_max; /* days before change required */
- int sp_warn; /* days warning for expiration */
- int sp_inact; /* days before account inactive */
- int sp_expire; /* date when account expires */
- int sp_flag; /* reserved for future use */
-};
-
-extern struct spwd *getspent(void) __THROW;
-extern void setspent(void) __THROW;
-extern void endspent(void) __THROW;
-extern struct spwd *getspnam (const char *__name) __THROW;
-
-int getspent_r(struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) __THROW;
-int getspnam_r(const char* name,
- struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) __THROW;
-
-#endif /* _SHADOW_H */
diff --git a/mdk-stage1/dietlibc/include/signal.h b/mdk-stage1/dietlibc/include/signal.h
deleted file mode 100644
index fdc0518cf..000000000
--- a/mdk-stage1/dietlibc/include/signal.h
+++ /dev/null
@@ -1,500 +0,0 @@
-#ifndef _SIGNAL_H
-#define _SIGNAL_H
-
-#include <sys/cdefs.h>
-
-#define __WANT_POSIX1B_SIGNALS__
-
-#include <sys/types.h>
-#include <sys/time.h>
-
-#define NSIG 32
-
-#ifdef __mips__
-#define _NSIG 128
-#else
-#define _NSIG 64
-#endif
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGSEGV 11
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGUNUSED 31
-#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__arm__) \
- || defined(__s390__) || defined(__ia64__)
-#define SIGBUS 7
-#define SIGUSR1 10
-#define SIGUSR2 12
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPWR 30
-#define SIGSYS 31
-#elif defined(__alpha__) || defined(__sparc__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGURG 16
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGIO 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGPWR 29
-#define SIGUSR1 30
-#define SIGUSR2 31
-#if defined(__alpha__)
-#define SIGINFO SIGPWR
-#endif
-#elif defined(__mips__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGUSR1 16
-#define SIGUSR2 17
-#define SIGCHLD 18
-#define SIGPWR 19
-#define SIGWINCH 20
-#define SIGURG 21
-#define SIGIO 22
-#define SIGSTOP 23
-#define SIGTSTP 24
-#define SIGCONT 25
-#define SIGTTIN 26
-#define SIGTTOU 27
-#define SIGVTALRM 28
-#define SIGPROF 29
-#define SIGXCPU 30
-#define SIGXFSZ 31
-#elif defined(__hppa__)
-#define SIGEMT 7
-#define SIGBUS 10
-#define SIGSYS 12
-#define SIGUSR1 16
-#define SIGUSR2 17
-#define SIGCHLD 18
-#define SIGPWR 19
-#define SIGVTALRM 20
-#define SIGPROF 21
-#define SIGIO 22
-#define SIGWINCH 23
-#define SIGSTOP 24
-#define SIGTSTP 25
-#define SIGCONT 26
-#define SIGTTIN 27
-#define SIGTTOU 28
-#define SIGURG 29
-#define SIGLOST 30
-#define SIGUNUSED 31
-#define SIGRESERVE SIGUNUSE
-#define SIGXCPU 33
-#define SIGXFSZ 34
-#define SIGSTKFLT 36
-
-#else
-#error signal layout not yet known
-#endif
-
-#define SIGCLD SIGCHLD
-#define SIGLOST SIGPWR
-#define SIGPOLL SIGIO
-
-/* These should not be considered constants from userland. */
-#ifdef __hppa__
-#define SIGRTMIN 37
-#else
-#define SIGRTMIN 32
-#endif
-#define SIGRTMAX (_NSIG-1)
-
-/* SA_FLAGS values: */
-#if defined(__alpha__)
-#define SA_ONSTACK 0x00000001
-#define SA_RESTART 0x00000002
-#define SA_NOCLDSTOP 0x00000004
-#define SA_NODEFER 0x00000008
-#define SA_RESETHAND 0x00000010
-#define SA_NOCLDWAIT 0x00000020 /* not supported yet */
-#define SA_SIGINFO 0x00000040
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#elif defined(__hppa__)
-#define SA_ONSTACK 0x00000001
-#define SA_RESETHAND 0x00000004
-#define SA_NOCLDSTOP 0x00000008
-#define SA_SIGINFO 0x00000010
-#define SA_NODEFER 0x00000020
-#define SA_RESTART 0x00000040
-#define SA_NOCLDWAIT 0x00000080 /* not supported yet */
-#define _SA_SIGGFAULT 0x00000100 /* HPUX */
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#define SA_RESTORER 0x04000000 /* obsolete -- ignored */
-#elif defined (__sparc__)
-#define SV_SSTACK 1 /* This signal handler should use sig-stack */
-#define SV_INTR 2 /* Sig return should not restart system call */
-#define SV_RESET 4 /* Set handler to SIG_DFL upon taken signal */
-#define SV_IGNCHILD 8 /* Do not send SIGCHLD */
-
-#define SA_NOCLDSTOP SV_IGNCHILD
-#define SA_STACK SV_SSTACK
-#define SA_ONSTACK SV_SSTACK
-#define SA_RESTART SV_INTR
-#define SA_RESETHAND SV_RESET
-#define SA_INTERRUPT 0x10
-#define SA_NODEFER 0x20
-#define SA_SHIRQ 0x40
-#define SA_NOCLDWAIT 0x100 /* not supported yet */
-#define SA_SIGINFO 0x200
-#else
-#if defined (__mips__)
-#define SA_NOCLDSTOP 0x00000001
-#define SA_SIGINFO 0x00000008
-#define SA_NOCLDWAIT 0x00010000 /* Not supported yet */
-#else
-#define SA_NOCLDSTOP 0x00000001
-#define SA_NOCLDWAIT 0x00000002 /* not supported yet */
-#define SA_SIGINFO 0x00000004
-#endif
-#if defined(__arm__)
-#define SA_THIRTYTWO 0x02000000
-#endif
-#define SA_RESTORER 0x04000000
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-#endif
-
-/* ugh, historic Linux legacy, for gpm :-( */
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-
-/* sigaltstack controls */
-#define SS_ONSTACK 1
-#define SS_DISABLE 2
-
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-
-#if defined(__alpha__) || defined(__mips__)
-#define SIG_BLOCK 1 /* for blocking signals */
-#define SIG_UNBLOCK 2 /* for unblocking signals */
-#define SIG_SETMASK 3 /* for setting the signal mask */
-#else
-#define SIG_BLOCK 0 /* for blocking signals */
-#define SIG_UNBLOCK 1 /* for unblocking signals */
-#define SIG_SETMASK 2 /* for setting the signal mask */
-#endif
-
-typedef int sig_atomic_t;
-
-typedef void (*sighandler_t)(int);
-
-#ifdef _BSD_SOURCE
-typedef sighandler_t sig_t;
-#endif
-
-#define SIG_DFL ((sighandler_t)0) /* default signal handling */
-#define SIG_IGN ((sighandler_t)1) /* ignore signal */
-#define SIG_ERR ((sighandler_t)-1) /* error return from signal */
-
-typedef union sigval {
- int sival_int;
- void *sival_ptr;
-} sigval_t;
-
-#define SI_MAX_SIZE 128
-#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3)
-
-typedef struct siginfo {
- int si_signo;
- int si_errno;
- int si_code;
- union {
- int _pad[SI_PAD_SIZE];
- /* kill() */
- struct {
- pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
- } _kill;
- /* POSIX.1b timers */
- struct {
- unsigned int _timer1;
- unsigned int _timer2;
- } _timer;
- /* POSIX.1b signals */
- struct {
- pid_t _pid; /* sender's pid */
- uid_t _uid; /* sender's uid */
- sigval_t _sigval;
- } _rt;
- /* SIGCHLD */
- struct {
- pid_t _pid; /* which child */
- uid_t _uid; /* sender's uid */
- int _status; /* exit code */
- clock_t _utime;
- clock_t _stime;
- } _sigchld;
- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
- struct {
- void *_addr; /* faulting insn/memory ref. */
- } _sigfault;
- /* SIGPOLL */
- struct {
- int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
- int _fd;
- } _sigpoll;
- } _sifields;
-} siginfo_t;
-
-/*
- * How these fields are to be accessed.
- */
-#define si_pid _sifields._kill._pid
-#define si_uid _sifields._kill._uid
-#define si_status _sifields._sigchld._status
-#define si_utime _sifields._sigchld._utime
-#define si_stime _sifields._sigchld._stime
-#define si_value _sifields._rt._sigval
-#define si_int _sifields._rt._sigval.sival_int
-#define si_ptr _sifields._rt._sigval.sival_ptr
-#define si_addr _sifields._sigfault._addr
-#define si_band _sifields._sigpoll._band
-#define si_fd _sifields._sigpoll._fd
-
-/* Values for `si_code'. Positive values are reserved for kernel-generated
- signals. */
-enum {
- SI_ASYNCNL = -6, /* Sent by asynch name lookup completion. */
-# define SI_ASYNCNL SI_ASYNCNL
- SI_SIGIO, /* Sent by queued SIGIO. */
-# define SI_SIGIO SI_SIGIO
- SI_ASYNCIO, /* Sent by AIO completion. */
-# define SI_ASYNCIO SI_ASYNCIO
- SI_MESGQ, /* Sent by real time mesq state change. */
-# define SI_MESGQ SI_MESGQ
- SI_TIMER, /* Sent by timer expiration. */
-# define SI_TIMER SI_TIMER
- SI_QUEUE, /* Sent by sigqueue. */
-# define SI_QUEUE SI_QUEUE
- SI_USER, /* Sent by kill, sigsend, raise. */
-# define SI_USER SI_USER
- SI_KERNEL = 0x80 /* Send by kernel. */
-#define SI_KERNEL SI_KERNEL
-};
-
-
-/* `si_code' values for SIGILL signal. */
-enum {
- ILL_ILLOPC = 1, /* Illegal opcode. */
-# define ILL_ILLOPC ILL_ILLOPC
- ILL_ILLOPN, /* Illegal operand. */
-# define ILL_ILLOPN ILL_ILLOPN
- ILL_ILLADR, /* Illegal addressing mode. */
-# define ILL_ILLADR ILL_ILLADR
- ILL_ILLTRP, /* Illegal trap. */
-# define ILL_ILLTRP ILL_ILLTRP
- ILL_PRVOPC, /* Privileged opcode. */
-# define ILL_PRVOPC ILL_PRVOPC
- ILL_PRVREG, /* Privileged register. */
-# define ILL_PRVREG ILL_PRVREG
- ILL_COPROC, /* Coprocessor error. */
-# define ILL_COPROC ILL_COPROC
- ILL_BADSTK /* Internal stack error. */
-# define ILL_BADSTK ILL_BADSTK
-};
-
-/* `si_code' values for SIGFPE signal. */
-enum {
- FPE_INTDIV = 1, /* Integer divide by zero. */
-# define FPE_INTDIV FPE_INTDIV
- FPE_INTOVF, /* Integer overflow. */
-# define FPE_INTOVF FPE_INTOVF
- FPE_FLTDIV, /* Floating point divide by zero. */
-# define FPE_FLTDIV FPE_FLTDIV
- FPE_FLTOVF, /* Floating point overflow. */
-# define FPE_FLTOVF FPE_FLTOVF
- FPE_FLTUND, /* Floating point underflow. */
-# define FPE_FLTUND FPE_FLTUND
- FPE_FLTRES, /* Floating point inexact result. */
-# define FPE_FLTRES FPE_FLTRES
- FPE_FLTINV, /* Floating point invalid operation. */
-# define FPE_FLTINV FPE_FLTINV
- FPE_FLTSUB /* Subscript out of range. */
-# define FPE_FLTSUB FPE_FLTSUB
-};
-
-/* `si_code' values for SIGSEGV signal. */
-enum {
- SEGV_MAPERR = 1, /* Address not mapped to object. */
-# define SEGV_MAPERR SEGV_MAPERR
- SEGV_ACCERR /* Invalid permissions for mapped object. */
-# define SEGV_ACCERR SEGV_ACCERR
-};
-
-/* `si_code' values for SIGBUS signal. */
-enum {
- BUS_ADRALN = 1, /* Invalid address alignment. */
-# define BUS_ADRALN BUS_ADRALN
- BUS_ADRERR, /* Non-existant physical address. */
-# define BUS_ADRERR BUS_ADRERR
- BUS_OBJERR /* Object specific hardware error. */
-# define BUS_OBJERR BUS_OBJERR
-};
-
-/* `si_code' values for SIGTRAP signal. */
-enum {
- TRAP_BRKPT = 1, /* Process breakpoint. */
-# define TRAP_BRKPT TRAP_BRKPT
- TRAP_TRACE /* Process trace trap. */
-# define TRAP_TRACE TRAP_TRACE
-};
-
-/* `si_code' values for SIGCHLD signal. */
-enum {
- CLD_EXITED = 1, /* Child has exited. */
-# define CLD_EXITED CLD_EXITED
- CLD_KILLED, /* Child was killed. */
-# define CLD_KILLED CLD_KILLED
- CLD_DUMPED, /* Child terminated abnormally. */
-# define CLD_DUMPED CLD_DUMPED
- CLD_TRAPPED, /* Traced child has trapped. */
-# define CLD_TRAPPED CLD_TRAPPED
- CLD_STOPPED, /* Child has stopped. */
-# define CLD_STOPPED CLD_STOPPED
- CLD_CONTINUED /* Stopped child has continued. */
-# define CLD_CONTINUED CLD_CONTINUED
-};
-
-/* `si_code' values for SIGPOLL signal. */
-enum {
- POLL_IN = 1, /* Data input available. */
-# define POLL_IN POLL_IN
- POLL_OUT, /* Output buffers available. */
-# define POLL_OUT POLL_OUT
- POLL_MSG, /* Input message available. */
-# define POLL_MSG POLL_MSG
- POLL_ERR, /* I/O error. */
-# define POLL_ERR POLL_ERR
- POLL_PRI, /* High priority input available. */
-# define POLL_PRI POLL_PRI
- POLL_HUP /* Device disconnected. */
-# define POLL_HUP POLL_HUP
-};
-
-#define _NSIG_WORDS ((_NSIG/sizeof(long))>>3)
-
-typedef struct {
- unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
-struct sigaction {
-#if defined(__alpha__)
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- sigset_t sa_mask;
- unsigned long sa_flags;
-#elif defined(__ia64__) || defined(__hppa__)
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- unsigned long sa_flags;
- sigset_t sa_mask;
-#elif defined(__mips__)
- unsigned long sa_flags;
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- sigset_t sa_mask;
- void (*sa_restorer)(void);
- int sa_resv[1];
-#else /* arm, i386, ppc, s390, sparc, saprc64, x86_64 */
- union {
- sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, siginfo_t*, void*);
- } _u;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
- sigset_t sa_mask;
-#endif
-};
-
-#define sa_handler _u._sa_handler
-#define sa_sigaction _u._sa_sigaction
-
-typedef struct sigaltstack {
-#if defined(__mips__)
- void *ss_sp;
- size_t ss_size;
- int ss_flags;
-#else
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-#endif
-} stack_t;
-
-int sigaltstack(const struct sigaltstack *newstack, struct sigaltstack *oldstack) __THROW;
-
-int sigemptyset(sigset_t *set) __THROW;
-int sigfillset(sigset_t *set) __THROW;
-int sigaddset(sigset_t *set, int signum) __THROW;
-int sigdelset(sigset_t *set, int signum) __THROW;
-int sigismember(const sigset_t *set, int signo) __THROW;
-int sigsuspend(const sigset_t *mask) __THROW;
-int sigpending(sigset_t *set) __THROW;
-int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) __THROW;
-
-
-sighandler_t signal(int signum, sighandler_t action);
-
-int raise (int sig) __THROW;
-int kill(pid_t pid, int sig) __THROW;
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) __THROW;
-
-int sigtimedwait(const sigset_t *mask, siginfo_t *info, const struct timespec *ts) __THROW;
-int sigqueueinfo(int pid, int sig, siginfo_t *info) __THROW;
-int siginterrupt(int sig, int flag) __THROW;
-
-int killpg(int pgrp, int sig) __THROW;
-
-/* 0 is OK ! kernel puts in MAX_THREAD_TIMEOUT :) */
-#define sigwaitinfo(m, i) sigtimedwait((m),(i),0)
-
-extern const char *const sys_siglist[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdarg-cruft.h b/mdk-stage1/dietlibc/include/stdarg-cruft.h
deleted file mode 100644
index fbd9e0ca4..000000000
--- a/mdk-stage1/dietlibc/include/stdarg-cruft.h
+++ /dev/null
@@ -1,299 +0,0 @@
-#if defined(__sparc__) || defined(__alpha__) || defined(__mips__)
-enum {
- __no_type_class = -1,
- __void_type_class,
- __integer_type_class,
- __char_type_class,
- __enumeral_type_class,
- __boolean_type_class,
- __pointer_type_class,
- __reference_type_class,
- __offset_type_class,
- __real_type_class,
- __complex_type_class,
- __function_type_class,
- __method_type_class,
- __record_type_class,
- __union_type_class,
- __array_type_class,
- __string_type_class,
- __set_type_class,
- __file_type_class,
- __lang_type_class
-};
-#endif
-
-#if defined(__sparc__)
-
-typedef char* va_list;
-#define va_end(ap) ap=0
-
-#define va_start(AP, LASTARG) \
- (__builtin_next_arg (LASTARG), AP = (char *) __builtin_saveregs ())
-
-#define __va_rounded_size(TYPE) \
- (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-
-/* We don't declare the union member `d' to have type TYPE
- because that would lose in C++ if TYPE has a constructor. */
-/* We cast to void * and then to TYPE * because this avoids
- a warning about increasing the alignment requirement.
- The casts to char * avoid warnings about invalid pointer arithmetic. */
-#define va_arg(pvar,TYPE) \
-__extension__ \
-(*({((__builtin_classify_type (*(TYPE*) 0) >= __record_type_class \
- || (__builtin_classify_type (*(TYPE*) 0) == __real_type_class \
- && sizeof (TYPE) == 16)) \
- ? ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE *), \
- *(TYPE **) (void *) ((char *)(pvar) - __va_rounded_size (TYPE *))) \
- : __va_rounded_size (TYPE) == 8 \
- ? ({ union {char __d[sizeof (TYPE)]; int __i[2];} __u; \
- __u.__i[0] = ((int *) (void *) (pvar))[0]; \
- __u.__i[1] = ((int *) (void *) (pvar))[1]; \
- (pvar) = (char *)(pvar) + 8; \
- (TYPE *) (void *) __u.__d; }) \
- : ((pvar) = (char *)(pvar) + __va_rounded_size (TYPE), \
- ((TYPE *) (void *) ((char *)(pvar) - __va_rounded_size (TYPE)))));}))
-
-
-#elif defined(__mips__)
-
-typedef char * va_list;
-
-#ifdef __mips64
-#define __va_rounded_size(__TYPE) \
- (((sizeof (__TYPE) + 8 - 1) / 8) * 8)
-#else
-#define __va_rounded_size(__TYPE) \
- (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-#endif
-#ifdef __mips64
-#define __va_reg_size 8
-#else
-#define __va_reg_size 4
-#endif
-
-#define va_start(__AP, __LASTARG) \
- (__AP = (va_list) __builtin_next_arg (__LASTARG))
-
-#ifdef __mips64
-#ifdef __MIPSEB__
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) \
- ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))))[-1]
-#else
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#endif
-
-#else /* not __mips64 */
-
-#ifdef __MIPSEB__
-/* For big-endian machines. */
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((__alignof__ (__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#else
-/* For little-endian machines. */
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size(__type))))[-1]
-#endif
-#endif
-
-#elif defined(__powerpc__)
-
-typedef struct __va_list_tag {
- unsigned char gpr; /* index into the array of 8 GPRs stored in the
- register save area gpr=0 corresponds to r3,
- gpr=1 to r4, etc. */
- unsigned char fpr; /* index into the array of 8 FPRs stored in the
- register save area fpr=0 corresponds to f1,
- fpr=1 to f2, etc. */
- char *overflow_arg_area; /* location on stack that holds the next
- overflow argument */
- char *reg_save_area; /* where r3:r10 and f1:f8, if saved are stored */
-} va_list[1];
-
-#define __va_overflow(AP) (AP)->overflow_arg_area
-#ifdef __OPTIMIZE__
-extern void __va_arg_type_violation(void) __attribute__((__noreturn__));
-#else
-#define __va_arg_type_violation()
-#endif
-
-typedef struct {
- long __gp_save[8]; /* save area for GP registers */
- double __fp_save[8]; /* save area for FP registers */
-} __va_regsave_t;
-
-/* Macros to access the register save area */
-/* We cast to void * and then to TYPE * because this avoids
- a warning about increasing the alignment requirement. */
-#define __VA_FP_REGSAVE(AP,OFS,TYPE) \
- ((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__fp_save[OFS])))
-
-#define __VA_GP_REGSAVE(AP,OFS,TYPE) \
- ((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__gp_save[OFS])))
-
-#define __va_start_common(AP, FAKE) \
- __builtin_memcpy ((AP), __builtin_saveregs (), sizeof(va_list))
-
-#define va_start(AP,LASTARG) \
- (__builtin_next_arg (LASTARG), __va_start_common (AP, 0))
-
-#ifdef _SOFT_FLOAT
-#define __va_float_p(TYPE) 0
-#else
-#define __va_float_p(TYPE) (__builtin_classify_type(*(TYPE *)0) == 8)
-#endif
-
-#define __va_aggregate_p(TYPE) (__builtin_classify_type(*(TYPE *)0) >= 12)
-#define __va_size(TYPE) ((sizeof(TYPE) + sizeof (long) - 1) / sizeof (long))
-
-#define va_arg(AP,TYPE) \
-__extension__ (*({ \
- register TYPE *__ptr; \
- \
- if (__va_float_p (TYPE) && sizeof (TYPE) < 16) \
- { \
- unsigned char __fpr = (AP)->fpr; \
- if (__fpr < 8) \
- { \
- __ptr = __VA_FP_REGSAVE (AP, __fpr, TYPE); \
- (AP)->fpr = __fpr + 1; \
- } \
- else if (sizeof (TYPE) == 8) \
- { \
- unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
- __ptr = (TYPE *)((__addr + 7) & -8); \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- else \
- { \
- /* float is promoted to double. */ \
- __va_arg_type_violation (); \
- } \
- } \
- \
- /* Aggregates and long doubles are passed by reference. */ \
- else if (__va_aggregate_p (TYPE) || __va_float_p (TYPE)) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 8) \
- { \
- __ptr = * __VA_GP_REGSAVE (AP, __gpr, TYPE *); \
- (AP)->gpr = __gpr + 1; \
- } \
- else \
- { \
- TYPE **__pptr = (TYPE **) (__va_overflow (AP)); \
- __ptr = * __pptr; \
- __va_overflow (AP) = (char *) (__pptr + 1); \
- } \
- } \
- \
- /* Only integrals remaining. */ \
- else \
- { \
- /* longlong is aligned. */ \
- if (sizeof (TYPE) == 8) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 7) \
- { \
- __gpr += __gpr & 1; \
- __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
- (AP)->gpr = __gpr + 2; \
- } \
- else \
- { \
- unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
- __ptr = (TYPE *)((__addr + 7) & -8); \
- (AP)->gpr = 8; \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- } \
- else if (sizeof (TYPE) == 4) \
- { \
- unsigned char __gpr = (AP)->gpr; \
- if (__gpr < 8) \
- { \
- __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
- (AP)->gpr = __gpr + 1; \
- } \
- else \
- { \
- __ptr = (TYPE *) __va_overflow (AP); \
- __va_overflow (AP) = (char *)(__ptr + 1); \
- } \
- } \
- else \
- { \
- /* Everything else was promoted to int. */ \
- __va_arg_type_violation (); \
- } \
- } \
- __ptr; \
-}))
-
-#define va_end(AP) ((void)0)
-
-/* Copy va_list into another variable of this type. */
-#define __va_copy(dest, src) *(dest) = *(src)
-
-#elif defined(__alpha__)
-
-typedef struct {
- char *__base; /* Pointer to first integer register. */
- int __offset; /* Byte offset of args so far. */
-} va_list;
-
-#define va_start(pvar, firstarg) \
- (__builtin_next_arg (firstarg), \
- (pvar) = *(va_list *) __builtin_saveregs ())
-#define va_end(__va) ((void) 0)
-
-#define __va_tsize(__type) \
- (((sizeof (__type) + __extension__ sizeof (long long) - 1) \
- / __extension__ sizeof (long long)) * __extension__ sizeof (long long))
-
-#define va_arg(__va, __type) \
-(*(((__va).__offset += __va_tsize (__type)), \
- (__type *)(void *)((__va).__base + (__va).__offset \
- - (((__builtin_classify_type (* (__type *) 0) \
- == __real_type_class) && (__va).__offset <= (6 * 8)) \
- ? (6 * 8) + 8 : __va_tsize (__type)))))
-
-#else /* !__sparc__ && !__powerpc__ && !__mips__ && !__alpha__*/
-
-typedef char* va_list;
-
-/* this only works when everything is passed on the stack (i.e. x86) */
-#if __WORDSIZE == 64
-#define va_start(ap,argn) ap=((char*)&argn)+8
-#else
-#define va_start(ap,argn) ap=((char*)&argn)+4
-#endif
-#define va_arg(ap,type) (ap+=sizeof(type), *(type*)((void*)ap-sizeof(type)))
-
-#endif
-
-#ifndef __va_copy
-#define __va_copy(x,y) x=y
-#endif
-
-#ifndef va_end
-#define va_end(ap) ((void)0)
-#endif
-
diff --git a/mdk-stage1/dietlibc/include/stdarg.h b/mdk-stage1/dietlibc/include/stdarg.h
deleted file mode 100644
index 3a21bdb56..000000000
--- a/mdk-stage1/dietlibc/include/stdarg.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _STDARG_H
-#define _STDARG_H
-
-#include <endian.h>
-
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-
-typedef __builtin_va_list va_list;
-#define va_start(v,l) __builtin_stdarg_start((v),l)
-#define va_end __builtin_va_end
-#define va_arg __builtin_va_arg
-#define __va_copy(d,s) __builtin_va_copy((d),(s))
-
-#endif
-
-#ifndef va_end
-#include <stdarg-cruft.h>
-#endif
-
-#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
-#define va_copy(d,s) __va_copy(d,s)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stddef.h b/mdk-stage1/dietlibc/include/stddef.h
deleted file mode 100644
index cdf54ec1e..000000000
--- a/mdk-stage1/dietlibc/include/stddef.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _STDDEF_H
-#define _STDDEF_H
-
-/* ugh. This is normally provided by gcc. */
-
-#ifdef __GNUC__
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-typedef __SIZE_TYPE__ size_t;
-typedef __WCHAR_TYPE__ wchar_t;
-#else
-typedef signed long ptrdiff_t;
-typedef unsigned long size_t;
-typedef int wchar_t;
-#endif
-
-#ifndef NULL
-#define NULL (void*)0
-#endif
-
-#undef offsetof
-#define offsetof(type,member) ((size_t) &((type*)0)->member)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdint.h b/mdk-stage1/dietlibc/include/stdint.h
deleted file mode 100644
index bbc7ddf0c..000000000
--- a/mdk-stage1/dietlibc/include/stdint.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _STDINT_H
-#define _STDINT_H
-
-#include <inttypes.h>
-
-typedef int8_t int_least8_t;
-typedef int16_t int_least16_t;
-typedef int32_t int_least32_t;
-typedef uint8_t uint_least8_t;
-typedef uint16_t uint_least16_t;
-typedef uint32_t uint_least32_t;
-
-#ifndef __STRICT_ANSI__
-typedef int64_t int_least64_t;
-typedef uint64_t uint_least64_t;
-#endif
-
-typedef signed char int_fast8_t;
-typedef signed long int int_fast16_t;
-typedef signed long int int_fast32_t;
-typedef signed long long int int_fast64_t;
-
-typedef unsigned char uint_fast8_t;
-typedef unsigned long int uint_fast16_t;
-typedef unsigned long int uint_fast32_t;
-typedef unsigned long long int uint_fast64_t;
-
-#include <endian.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdio.h b/mdk-stage1/dietlibc/include/stdio.h
deleted file mode 100644
index 04783c3b8..000000000
--- a/mdk-stage1/dietlibc/include/stdio.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef _STDIO_H
-#define _STDIO_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-typedef struct __stdio_file FILE;
-
-FILE *fopen (const char *path, const char *mode) __THROW;
-FILE *fdopen (int fildes, const char *mode) __THROW;
-FILE *freopen (const char *path, const char *mode, FILE *stream) __THROW;
-
-int printf(const char *format, ...) __THROW __attribute__((format(printf,1,2)));
-int fprintf(FILE *stream, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int sprintf(char *str, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int snprintf(char *str, size_t size, const char *format, ...) __THROW __attribute__((format(printf,3,4)));
-int asprintf(char **ptr, const char* format, ...) __THROW __attribute_malloc__ __attribute__((format(printf,2,3)));
-
-int scanf(const char *format, ...) __THROW __attribute__((format(scanf,1,2)));
-int fscanf(FILE *stream, const char *format, ...) __THROW __attribute__((format(scanf,2,3)));
-int sscanf(const char *str, const char *format, ...) __THROW __attribute__((format(scanf,2,3)));
-
-#include <stdarg.h>
-
-int vprintf(const char *format, va_list ap) __THROW __attribute__((format(printf,1,0)));
-int vfprintf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-int vsprintf(char *str, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-int vsnprintf(char *str, size_t size, const char *format, va_list ap) __THROW __attribute__((format(printf,3,0)));
-
-int fdprintf(int fd, const char *format, ...) __THROW __attribute__((format(printf,2,3)));
-int vfdprintf(int fd, const char *format, va_list ap) __THROW __attribute__((format(printf,2,0)));
-
-int vscanf(const char *format, va_list ap) __THROW __attribute__((format(scanf,1,0)));
-int vsscanf(const char *str, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0)));
-int vfscanf(FILE *stream, const char *format, va_list ap) __THROW __attribute__((format(scanf,2,0)));
-
-int fgetc(FILE *stream) __THROW;
-int fgetc_unlocked(FILE *stream) __THROW;
-char *fgets(char *s, int size, FILE *stream) __THROW;
-int getc(FILE *stream) __THROW;
-int getchar(void) __THROW;
-char *gets(char *s) __THROW;
-int ungetc(int c, FILE *stream) __THROW;
-
-int fputc(int c, FILE *stream) __THROW;
-int fputc_unlocked(int c, FILE *stream) __THROW;
-int fputs(const char *s, FILE *stream) __THROW;
-
-int putchar(int c) __THROW;
-
-#define putc(c,stream) fputc(c,stream)
-#define putchar(c) fputc(c,stdout)
-
-#define getchar() fgetc(stdin)
-#define getc(stream) fgetc(stream)
-#define getc_unlocked(stream) fgetc_unlocked(stream)
-
-int puts(const char *s) __THROW;
-
-int fseek(FILE *stream, long offset, int whence) __THROW;
-long ftell(FILE *stream) __THROW;
-int fseeko(FILE *stream, off_t offset, int whence) __THROW;
-off_t ftello(FILE *stream) __THROW;
-
-#ifndef __NO_STAT64
-int fseeko64(FILE *stream, loff_t offset, int whence) __THROW;
-loff_t ftello64(FILE *stream) __THROW;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define off_t loff_t
-#define fseeko(foo,bar,baz) fseeko64(foo,bar,baz)
-#define ftello(foo) ftello64(foo)
-#endif
-
-#endif
-
-void rewind(FILE *stream) __THROW;
-int fgetpos(FILE *stream, fpos_t *pos) __THROW;
-int fsetpos(FILE *stream, fpos_t *pos) __THROW;
-
-size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW;
-
-size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) __THROW;
-
-int fflush(FILE *stream) __THROW;
-
-int fclose(FILE *stream) __THROW;
-
-int feof (FILE *stream) __THROW;
-int ferror(FILE *stream) __THROW;
-int fileno(FILE *stream) __THROW;
-void clearerr(FILE *stream) __THROW;
-
-int remove(const char *pathname) __THROW;
-
-void perror(const char *s) __THROW;
-
-extern FILE *stdin, *stdout, *stderr;
-
-#define EOF (-1)
-
-#define BUFSIZ 128
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-int setvbuf(FILE *stream, char *buf, int mode , size_t size) __THROW;
-
-#define setbuf(stream,buf) setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)
-#define setbuffer(stream,buf,size) setvbuf(stream,buf,buf?_IOFBF:_IONBF,size)
-#define setlinebuf(stream) setvbuf(stream,0,_IOLBF,BUFSIZ)
-
-FILE *popen(const char *command, const char *type) __THROW;
-int pclose(FILE *stream) __THROW;
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#endif
-
-#define L_tmpnam 128
-#define P_tmpdir "/tmp"
-char* tmpnam(char *s) __THROW; /* DO NOT USE!!! Use mkstemp instead! */
-char* tempnam(char* dir,char* _template); /* dito */
-FILE* tmpfile(void) __THROW;
-
-#define FILENAME_MAX 4095
-#define FOPEN_MAX 16
-
-#ifdef _POSIX_SOURCE
-#define L_ctermid 9
-#define L_cuserid 9
-#endif
-
-void flockfile(FILE* f) __THROW;
-void funlockfile(FILE* f) __THROW;
-
-#ifdef _GNU_SOURCE
-ssize_t getline(char **lineptr, size_t *n, FILE *stream);
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
-#define getline(lineptr,n,stream) getdelim(lineptr,n,'\n',stream)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h
deleted file mode 100644
index 5824a6ffa..000000000
--- a/mdk-stage1/dietlibc/include/stdlib.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _STDLIB_H
-#define _STDLIB_H
-
-#ifndef __ASSEMBLER__
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <alloca.h>
-
-void *calloc(size_t nmemb, size_t size) __attribute_malloc__ __THROW;
-void *malloc(size_t size) __attribute_malloc__ __THROW;
-void free(void *ptr) __THROW;
-void *realloc(void *ptr, size_t size) __attribute_malloc__ __THROW;
-
-char *getenv(const char *name) __THROW __pure__;
-int putenv(const char *string) __THROW;
-int setenv(const char *name, const char *value, int overwrite) __THROW;
-void unsetenv(const char *name) __THROW;
-
-int system (const char * string) __THROW;
-int atexit(void (*function)(void)) __THROW;
-
-float strtof(const char *nptr, char **endptr) __THROW;
-double strtod(const char *nptr, char **endptr) __THROW;
-long double strtold(const char *nptr, char **endptr) __THROW;
-long int strtol(const char *nptr, char **endptr, int base) __THROW;
-unsigned long int strtoul(const char *nptr, char **endptr, int base) __THROW;
-
-extern int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase) __THROW;
-extern int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) __THROW;
-
-#ifndef __STRICT_ANSI__
-__extension__ long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
-__extension__ unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW;
-__extension__ int __lltostr(char *s, unsigned int size, unsigned long long i, unsigned int base, int UpCase) __THROW;
-#endif
-
-int atoi(const char *nptr) __THROW;
-long int atol(const char *nptr) __THROW;
-double atof(const char *nptr) __THROW;
-
-void exit(int status) __THROW __attribute__((noreturn));
-void abort(void) __THROW;
-
-extern int rand(void) __THROW;
-extern int rand_r(unsigned int *seed) __THROW;
-extern void srand(unsigned int seed) __THROW;
-#ifdef _BSD_SOURCE
-extern int random(void) __THROW;
-extern void srandom(unsigned int seed) __THROW;
-#endif
-
-typedef unsigned short randbuf[3];
-double drand48(void) __THROW;
-long lrand48(void) __THROW;
-long mrand48(void) __THROW;
-void srand48(long seed) __THROW;
-unsigned short *seed48(randbuf buf) __THROW;
-void lcong48(unsigned short param[7]) __THROW;
-long jrand48(randbuf buf) __THROW;
-long nrand48(randbuf buf) __THROW;
-double erand48(randbuf buf) __THROW;
-
-void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW;
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) __THROW;
-
-extern char **environ;
-
-/* now this function is the greatest bullshit I have ever seen.
- * The ISO people must be out of their minds. */
-typedef struct { int quot,rem; } div_t;
-div_t div(int numer, int denom) __THROW __attribute__((const));
-
-char *realpath(const char *path, char *resolved_path) __THROW;
-
-int mkstemp(char *_template);
-char* mkdtemp(char *_template);
-
-char* mktemp(char *_template);
-
-int abs(int i) __THROW __attribute__((const));
-long int labs(long int i) __THROW __attribute__((const));
-__extension__ long long int llabs(long long int i) __THROW __attribute__((const));
-
-#ifdef _XOPEN_SOURCE
-int grantpt (int fd) __THROW;
-int unlockpt (int fd) __THROW;
-char *ptsname (int fd) __THROW;
-#endif
-
-#endif
-
-#define EXIT_FAILURE 1
-#define EXIT_SUCCESS 0
-
-#define RAND_MAX ((1<<31) -2)
-
-#define MB_CUR_MAX 1
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/string.h b/mdk-stage1/dietlibc/include/string.h
deleted file mode 100644
index 1c3df8621..000000000
--- a/mdk-stage1/dietlibc/include/string.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _STRING_H
-#define _STRING_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-char *strcpy(char *dest, const char *src) __THROW;
-
-void *memccpy(void *dest, const void *src, int c, size_t n) __THROW;
-void *memmove(void *dest, const void *src, size_t n) __THROW;
-
-int memccmp(const void *s1, const void *s2, int c, size_t n) __THROW __pure__;
-
-void* memset(void *s, int c, size_t n) __THROW;
-int memcmp(const void *s1, const void *s2, size_t n) __THROW __pure__;
-void* memcpy(void *dest, const void *src, size_t n) __THROW;
-
-char *strncpy(char *dest, const char *src, size_t n) __THROW;
-int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-char *strncat(char *dest, const char *src, size_t n) __THROW;
-
-int strcmp(const char *s1, const char *s2) __THROW __pure__;
-
-size_t strlen(const char *s) __THROW __pure__;
-
-char *strstr(const char *haystack, const char *needle) __THROW __pure__;
-
-char *strdup(const char *s) __attribute_malloc__ __THROW;
-
-char *strchr(const char *s, int c) __THROW __pure__;
-char *strrchr(const char *s, int c) __THROW __pure__;
-
-char *strcat(char *dest, const char *src) __THROW;
-
-size_t strspn(const char *s, const char *_accept) __THROW;
-size_t strcspn(const char *s, const char *reject) __THROW;
-
-char *strpbrk(const char *s, const char *_accept) __THROW;
-char *strsep(char **stringp, const char *delim) __THROW;
-
-void* memchr(const void *s, int c, size_t n) __THROW __pure__;
-#ifdef _GNU_SOURCE
-void* memrchr(const void *s, int c, size_t n) __THROW __pure__;
-#endif
-
-/* I would like to make this const, but Paul Jarc points out it has to
- * be char* :-( */
-char *strerror(int errnum) __THROW;
-/* work around b0rken GNU crapware like tar 1.13.19 */
-#define strerror strerror
-
-#ifdef _GNU_SOURCE
-const char *strsignal(int signum) __THROW;
-void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen) __THROW;
-
-char *strndup(const char *s,size_t n) __attribute_malloc__ __THROW;
-#endif
-
-char *strtok(char *s, const char *delim) __THROW;
-char *strtok_r(char *s, const char *delim, char **ptrptr) __THROW;
-
-size_t strlcpy(char *dst, const char *src, size_t size) __THROW;
-size_t strlcat(char *dst, const char *src, size_t size) __THROW;
-
-int strcoll(const char *s1, const char *s2) __THROW;
-size_t strxfrm(char *dest, const char *src, size_t n) __THROW;
-
-#ifdef _BSD_SOURCE
-#include <strings.h>
-#endif
-
-char *stpcpy(char *dest, const char *src);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/strings.h b/mdk-stage1/dietlibc/include/strings.h
deleted file mode 100644
index fd2616465..000000000
--- a/mdk-stage1/dietlibc/include/strings.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _STRINGS_H
-#define _STRINGS_H
-
-#include <stddef.h>
-#include <sys/cdefs.h>
-
-int strcasecmp(const char *s1, const char *s2) __THROW __pure__;
-int strncasecmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-int ffs(int i) __THROW __attribute__((__const__));
-
-int bcmp(const void *, const void *, size_t) __THROW __pure__;
-void bcopy(const void *, void *, size_t) __THROW;
-void bzero(void *, size_t) __THROW;
-char *index(const char *, int) __THROW __pure__;
-char *rindex(const char *, int) __THROW __pure__;
-
-#define bzero(s,n) memset(s,0,n)
-#define bcopy(src,dest,n) memmove(dest,src,n)
-#define bcmp(a,b,n) memcmp(a,b,n)
-#define index(a,b) strchr(a,b)
-#define rindex(a,b) strrchr(a,b)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h b/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h
deleted file mode 100644
index f1bde3bbb..000000000
--- a/mdk-stage1/dietlibc/include/sys/alpha-ioctl.h
+++ /dev/null
@@ -1,168 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- ((unsigned int) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT)))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-#define TIOCGETP _IOR('t', 8, struct sgttyb)
-#define TIOCSETP _IOW('t', 9, struct sgttyb)
-#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */
-
-#define TIOCSETC _IOW('t', 17, struct tchars)
-#define TIOCGETC _IOR('t', 18, struct tchars)
-#define TCGETS _IOR('t', 19, struct termios)
-#define TCSETS _IOW('t', 20, struct termios)
-#define TCSETSW _IOW('t', 21, struct termios)
-#define TCSETSF _IOW('t', 22, struct termios)
-
-#define TCGETA _IOR('t', 23, struct termio)
-#define TCSETA _IOW('t', 24, struct termio)
-#define TCSETAW _IOW('t', 25, struct termio)
-#define TCSETAF _IOW('t', 28, struct termio)
-
-#define TCSBRK _IO('t', 29)
-#define TCXONC _IO('t', 30)
-#define TCFLSH _IO('t', 31)
-
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
-#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
-#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
-
-#define TIOCGLTC _IOR('t', 116, struct ltchars)
-#define TIOCSLTC _IOW('t', 117, struct ltchars)
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-
-#define TIOCSTI 0x5412
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-# define TIOCM_LE 0x001
-# define TIOCM_DTR 0x002
-# define TIOCM_RTS 0x004
-# define TIOCM_ST 0x008
-# define TIOCM_SR 0x010
-# define TIOCM_CTS 0x020
-# define TIOCM_CAR 0x040
-# define TIOCM_RNG 0x080
-# define TIOCM_DSR 0x100
-# define TIOCM_CD TIOCM_CAR
-# define TIOCM_RI TIOCM_RNG
-# define TIOCM_OUT1 0x2000
-# define TIOCM_OUT2 0x4000
-# define TIOCM_LOOP 0x8000
-
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-# define TIOCPKT_DATA 0
-# define TIOCPKT_FLUSHREAD 1
-# define TIOCPKT_FLUSHWRITE 2
-# define TIOCPKT_STOP 4
-# define TIOCPKT_START 8
-# define TIOCPKT_NOSTOP 16
-# define TIOCPKT_DOSTOP 32
-
-
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
- /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-
-/* Socket-level I/O control calls. */
-
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
diff --git a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h b/mdk-stage1/dietlibc/include/sys/arm-ioctl.h
deleted file mode 100644
index ab8b844a5..000000000
--- a/mdk-stage1/dietlibc/include/sys/arm-ioctl.h
+++ /dev/null
@@ -1,149 +0,0 @@
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define FIOQSIZE 0x545E
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
diff --git a/mdk-stage1/dietlibc/include/sys/cdefs.h b/mdk-stage1/dietlibc/include/sys/cdefs.h
deleted file mode 100644
index 4ccb0ed2f..000000000
--- a/mdk-stage1/dietlibc/include/sys/cdefs.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _SYS_CDEFS_H
-#define _SYS_CDEFS_H
-
-/* Suppress kernel-name space pollution unless user expressedly asks
- for it. */
-#ifndef _LOOSE_KERNEL_NAMES
-# define __KERNEL_STRICT_NAMES
-#endif
-
-#ifndef __cplusplus
-#define __THROW
-#define __BEGIN_DECLS
-#define __END_DECLS
-#else
-#define __THROW throw ()
-#define __BEGIN_DECLS extern "C" {
-#define __END_DECLS }
-#endif
-
-#ifndef __GNUC__
-#define __attribute__(xyz)
-#define __extension__
-#endif
-
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-#define __pure__ __attribute__ ((__pure__))
-#else
-#define __pure__
-#endif
-
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
-#define __restrict__
-#endif
-
-#ifndef __STRICT_ANSI__
-#if __GNUC__ < 3
-#define __builtin_expect(foo,bar) (foo)
-#define expect(foo,bar) (foo)
-#else
-#define expect(foo,bar) __builtin_expect(foo,bar)
-#define __attribute_malloc__ __attribute__((malloc))
-#endif
-#endif
-
-#ifndef __attribute_malloc__
-#define __attribute_malloc__
-#endif
-
-#define __P(x) x
-
-#define __ptr_t void*
-
-#ifdef __STRICT_ANSI__
-#define inline
-#endif
-
-#ifndef __i386__
-#define regparm(x)
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/epoll.h b/mdk-stage1/dietlibc/include/sys/epoll.h
deleted file mode 100644
index d65d5465f..000000000
--- a/mdk-stage1/dietlibc/include/sys/epoll.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _SYS_EPOLL_H
-#define _SYS_EPOLL_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/poll.h>
-
-/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl() */
-#define EPOLL_CTL_ADD 1 /* Add a file decriptor to the interface */
-#define EPOLL_CTL_DEL 2 /* Remove a file decriptor from the interface */
-#define EPOLL_CTL_MOD 3 /* Change file decriptor epoll_event structure */
-
-enum EPOLL_EVENTS {
- EPOLLIN = 0x001,
-#define EPOLLIN EPOLLIN
- EPOLLPRI = 0x002,
-#define EPOLLPRI EPOLLPRI
- EPOLLOUT = 0x004,
-#define EPOLLOUT EPOLLOUT
-
-#ifdef __USE_XOPEN
- EPOLLRDNORM = 0x040,
-#define EPOLLRDNORM EPOLLRDNORM
- EPOLLRDBAND = 0x080,
-#define EPOLLRDBAND EPOLLRDBAND
- EPOLLWRNORM = 0x100,
-#define EPOLLWRNORM EPOLLWRNORM
- EPOLLWRBAND = 0x200,
-#define EPOLLWRBAND EPOLLWRBAND
-#endif /* #ifdef __USE_XOPEN */
-
-#ifdef __USE_GNU
- EPOLLMSG = 0x400,
-#define EPOLLMSG EPOLLMSG
-#endif /* #ifdef __USE_GNU */
-
- EPOLLERR = 0x008,
-#define EPOLLERR EPOLLERR
- EPOLLHUP = 0x010
-#define EPOLLHUP EPOLLHUP
-};
-
-typedef union epoll_data {
- void *ptr;
- int fd;
- uint32_t u32;
- uint64_t u64;
-} epoll_data_t;
-
-struct epoll_event {
- uint32_t events;
- epoll_data_t data;
-};
-
-int epoll_create(int size) __THROW;
-int epoll_ctl(int epfd, int op, int fd, struct epoll_event* event) __THROW;
-int epoll_wait(int epfd, struct epoll_event *events, int maxevents,
- int timeout) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/file.h b/mdk-stage1/dietlibc/include/sys/file.h
deleted file mode 100644
index cf2c74305..000000000
--- a/mdk-stage1/dietlibc/include/sys/file.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _SYS_FILE_H
-#define _SYS_FILE_H
-
-#include <sys/cdefs.h>
-#include <fcntl.h>
-
-extern int fcntl(int fd, int cmd, ...) __THROW;
-extern int flock(int fd, int operation) __THROW;
-
-#endif /* _SYS_FILE_H */
diff --git a/mdk-stage1/dietlibc/include/sys/fsuid.h b/mdk-stage1/dietlibc/include/sys/fsuid.h
deleted file mode 100644
index 538070451..000000000
--- a/mdk-stage1/dietlibc/include/sys/fsuid.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __FSUID_H
-#define __FSUID_H 1
-
-#include <sys/types.h>
-
-/* Linux only: */
-int setfsuid(uid_t uid);
-int setfsgid(gid_t gid);
-int setfsuid32(uid32_t fsuid) __THROW;
-int setfsgid32(gid32_t fsgid) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/gmon.h b/mdk-stage1/dietlibc/include/sys/gmon.h
deleted file mode 100644
index 50aae3028..000000000
--- a/mdk-stage1/dietlibc/include/sys/gmon.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef __DLC_GMON_H_
-#define __DLC_GMON_H_
-
-# define HISTCOUNTER unsigned short
-# define HISTFRACTION 2
-# define HASHFRACTION 2
-# define ARCDENSITY 2
-# define MINARCS 50
-# define MAXARCS (( 1 << (8 * sizeof(HISTCOUNTER))) - 2)
-
-# define ROUNDDOWN(x,y) (((x)/(y))*y)
-# define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*y)
-
-# define PROF_SECTION __attribute__ ((section (".profile")))
-
-struct tostruct {
- unsigned long selfpc;
- signed long count;
- unsigned short link;
- unsigned short pad;
-};
-
-struct rawarc {
- unsigned long raw_frompc;
- unsigned long raw_selfpc;
- signed long raw_count;
-};
-
-struct monparam {
- unsigned short *kcount;
- unsigned long kcountsize;
- struct rawarc *arcs;
- unsigned long arcnum;
- unsigned long lowpc;
- unsigned long highpc;
- unsigned long textsize;
-};
-
-struct gmonparam {
- long state;
- unsigned short *kcount;
- unsigned long kcountsize;
- unsigned short *froms;
- unsigned long fromsize;
- struct tostruct *tos;
- unsigned long tossize;
- long tolimit;
- unsigned long lowpc;
- unsigned long highpc;
- unsigned long textsize;
- unsigned long hashfraction;
- unsigned long log_hashfraction;
-};
-
-struct gmon_hdr {
- char cookie[4];
- long version;
- char spare[12];
-};
-
-struct gmon_hist_hdr {
- long low_pc;
- long high_pc;
- long hist_size;
- long prof_rate;
- char dimen[15];
- char dimen_abbrev;
-};
-
-struct gmon_cg_arc_record {
- long from_pc;
- long self_pc;
- long count;
-};
-
-struct __bb {
- long zero_word;
- char *filename;
- long *counts;
- long ncounts;
- struct __bb *next;
- unsigned long *addresses;
-};
-
-typedef enum {
- GMON_TAG_TIME_HIST, GMON_TAG_CG_ARC, GMON_TAG_BB_COUNT
-} GMON_Record_Tag;
-
-enum { GMON_PROF_ON, GMON_PROF_BUSY, GMON_PROF_ERROR, GMON_PROF_OFF };
-enum { GPROF_STATE, GPROF_COUNT, GPROF_FROMS, GPROF_TOS, GPROF_GMONPARAM };
-
-extern struct gmonparam gmparam;
-extern struct __bb * __bb_head;
-
-extern void __monstartup(unsigned long, unsigned long);
-extern void monstartup(unsigned long, unsigned long);
-extern void _mcleanup(void);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/gmon_out.h b/mdk-stage1/dietlibc/include/sys/gmon_out.h
deleted file mode 100644
index 31566b999..000000000
--- a/mdk-stage1/dietlibc/include/sys/gmon_out.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/gmon.h>
diff --git a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h b/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h
deleted file mode 100644
index 62b6f1cf9..000000000
--- a/mdk-stage1/dietlibc/include/sys/hppa-ioctl.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef __ARCH_PARISC_IOCTLS_H__
-#define __ARCH_PARISC_IOCTLS_H__
-
-#ifndef _ASM_PARISC_IOCTL_H
-#define _ASM_PARISC_IOCTL_H
-
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 2U
-#define _IOC_READ 1U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#endif /* _ASM_PARISC_IOCTL_H */
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS _IOR('T', 16, struct termios) /* TCGETATTR */
-#define TCSETS _IOW('T', 17, struct termios) /* TCSETATTR */
-#define TCSETSW _IOW('T', 18, struct termios) /* TCSETATTRD */
-#define TCSETSF _IOW('T', 19, struct termios) /* TCSETATTRF */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
-#define TCSBRK _IO('T', 5)
-#define TCXONC _IO('T', 6)
-#define TCFLSH _IO('T', 7)
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP _IOR('T', 30, int)
-#define TIOCSPGRP _IOW('T', 29, int)
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID _IOR('T', 20, int) /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-#define FIOQSIZE 0x5460 /* Get exact space used by quota */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-#endif /* _ASM_PARISC_IOCTLS_H */
diff --git a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h b/mdk-stage1/dietlibc/include/sys/i386-ioctl.h
deleted file mode 100644
index c9aa270d6..000000000
--- a/mdk-stage1/dietlibc/include/sys/i386-ioctl.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
-#define FIOQSIZE 0x5460
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h
deleted file mode 100644
index 5edf33a57..000000000
--- a/mdk-stage1/dietlibc/include/sys/io.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _SYS_IO_H
-#define _SYS_IO_H
-
-#include <sys/cdefs.h>
-
-extern int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
-extern int iopl(int level) __THROW;
-
-#ifndef __STRICT_ANSI__
-/* anyone have a cleaner solution for this mess? */
-#ifdef __i386__
-static inline unsigned char inb (unsigned short int port) {
- unsigned char _v;
- __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static inline unsigned short inw (unsigned short int port) {
- unsigned short _v;
- __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static inline unsigned int inl (unsigned short int port) {
- unsigned int _v;
- __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static inline void outb (unsigned char value, unsigned short int port) {
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
-
-static inline void outw (unsigned short value, unsigned short int port) {
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
-}
-
-static inline void outl (unsigned int value, unsigned short int port) {
- __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
-}
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ioctl.h b/mdk-stage1/dietlibc/include/sys/ioctl.h
deleted file mode 100644
index a7890f038..000000000
--- a/mdk-stage1/dietlibc/include/sys/ioctl.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _IOCTL_H
-#define _IOCTL_H
-
-#include <sys/cdefs.h>
-
-#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__)
-#include <sys/i386-ioctl.h>
-#elif defined(__alpha__)
-#include <sys/alpha-ioctl.h>
-#elif defined(__arm__)
-#include <sys/arm-ioctl.h>
-#elif defined(__sparc__)
-#include <sys/sparc-ioctl.h>
-#elif defined(__mips__)
-#include <sys/mips-ioctl.h>
-#elif defined(__powerpc__)
-#include <sys/ppc-ioctl.h>
-#elif defined(__s390__)
-#include <sys/s390-ioctl.h>
-#elif defined(__hppa__)
-#include <sys/hppa-ioctl.h>
-#endif
-
-/* used for /dev/epoll */
-#define EP_ALLOC _IOR('P', 1, int)
-#define EP_POLL _IOWR('P', 2, struct evpoll)
-#define EP_FREE _IO('P', 3)
-#define EP_ISPOLLED _IOWR('P', 4, struct pollfd)
-
-int ioctl(int d, int request, ...) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ipc.h b/mdk-stage1/dietlibc/include/sys/ipc.h
deleted file mode 100644
index 481d97b62..000000000
--- a/mdk-stage1/dietlibc/include/sys/ipc.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define SEMOP 1
-#define SEMGET 2
-#define SEMCTL 3
-#define MSGSND 11
-#define MSGRCV 12
-#define MSGGET 13
-#define MSGCTL 14
-#define SHMAT 21
-#define SHMDT 22
-#define SHMGET 23
-#define SHMCTL 24
-
-#define IPC_PRIVATE ((key_t) 0)
-
-#define IPC_CREAT 00001000 /* create if key is nonexistent */
-#define IPC_EXCL 00002000 /* fail if key exists */
-#define IPC_NOWAIT 00004000 /* return error on wait */
-
-#define IPC_RMID 0 /* remove resource */
-#define IPC_SET 1 /* set ipc_perm options */
-#define IPC_STAT 2 /* get ipc_perm options */
-#define IPC_INFO 3 /* see ipcs */
-
-/*
- * Version flags for semctl, msgctl, and shmctl commands
- * These are passed as bitflags or-ed with the actual command
- */
-#define IPC_OLD 0 /* Old version (no 32-bit UID support on many
- architectures) */
-#define IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger
- message sizes, etc. */
-
-struct ipc_perm {
- key_t key;
- uid_t uid;
- gid_t gid;
- uid_t cuid;
- gid_t cgid;
- mode_t mode;
- unsigned short seq;
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/kd.h b/mdk-stage1/dietlibc/include/sys/kd.h
deleted file mode 100644
index 98b337ede..000000000
--- a/mdk-stage1/dietlibc/include/sys/kd.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef _SYS_KD_H
-#define _SYS_KD_H
-
-/* 0x4B is 'K', to avoid collision with termios and vt */
-
-#define GIO_FONT 0x4B60 /* gets font in expanded form */
-#define PIO_FONT 0x4B61 /* use font in expanded form */
-
-#define GIO_FONTX 0x4B6B /* get font using struct consolefontdesc */
-#define PIO_FONTX 0x4B6C /* set font using struct consolefontdesc */
-
-struct consolefontdesc {
- unsigned short charcount; /* characters in font (256 or 512) */
- unsigned short charheight; /* scan lines per character (1-32) */
- char *chardata; /* font data in expanded form */
-};
-
-#define PIO_FONTRESET 0x4B6D /* reset to default font */
-
-#define GIO_CMAP 0x4B70 /* gets colour palette on VGA+ */
-#define PIO_CMAP 0x4B71 /* sets colour palette on VGA+ */
-
-#define KIOCSOUND 0x4B2F /* start sound generation (0 for off) */
-#define KDMKTONE 0x4B30 /* generate tone */
-
-#define KDGETLED 0x4B31 /* return current led state */
-#define KDSETLED 0x4B32 /* set led state [lights, not flags] */
-#define LED_SCR 0x01 /* scroll lock led */
-#define LED_CAP 0x04 /* caps lock led */
-#define LED_NUM 0x02 /* num lock led */
-
-#define KDGKBTYPE 0x4B33 /* get keyboard type */
-#define KB_84 0x01
-#define KB_101 0x02 /* this is what we always answer */
-#define KB_OTHER 0x03
-
-#define KDADDIO 0x4B34 /* add i/o port as valid */
-#define KDDELIO 0x4B35 /* del i/o port as valid */
-#define KDENABIO 0x4B36 /* enable i/o to video board */
-#define KDDISABIO 0x4B37 /* disable i/o to video board */
-
-#define KDSETMODE 0x4B3A /* set text/graphics mode */
-#define KD_TEXT 0x00
-#define KD_GRAPHICS 0x01
-#define KD_TEXT0 0x02 /* obsolete */
-#define KD_TEXT1 0x03 /* obsolete */
-#define KDGETMODE 0x4B3B /* get current mode */
-
-#define KDMAPDISP 0x4B3C /* map display into address space */
-#define KDUNMAPDISP 0x4B3D /* unmap display from address space */
-
-typedef char scrnmap_t;
-
-#define E_TABSZ 256
-#define GIO_SCRNMAP 0x4B40 /* get screen mapping from kernel */
-#define PIO_SCRNMAP 0x4B41 /* put screen mapping table in kernel */
-#define GIO_UNISCRNMAP 0x4B69 /* get full Unicode screen mapping */
-#define PIO_UNISCRNMAP 0x4B6A /* set full Unicode screen mapping */
-
-#define GIO_UNIMAP 0x4B66 /* get unicode-to-font mapping from kernel */
-
-struct unipair {
- unsigned short unicode;
- unsigned short fontpos;
-};
-
-struct unimapdesc {
- unsigned short entry_ct;
- struct unipair *entries;
-};
-
-#define PIO_UNIMAP 0x4B67 /* put unicode-to-font mapping in kernel */
-#define PIO_UNIMAPCLR 0x4B68 /* clear table, possibly advise hash algorithm */
-
-struct unimapinit {
- unsigned short advised_hashsize; /* 0 if no opinion */
- unsigned short advised_hashstep; /* 0 if no opinion */
- unsigned short advised_hashlevel; /* 0 if no opinion */
-};
-
-#define UNI_DIRECT_BASE 0xF000 /* start of Direct Font Region */
-#define UNI_DIRECT_MASK 0x01FF /* Direct Font Region bitmask */
-
-#define K_RAW 0x00
-#define K_XLATE 0x01
-#define K_MEDIUMRAW 0x02
-#define K_UNICODE 0x03
-#define KDGKBMODE 0x4B44 /* gets current keyboard mode */
-#define KDSKBMODE 0x4B45 /* sets current keyboard mode */
-
-#define K_METABIT 0x03
-#define K_ESCPREFIX 0x04
-#define KDGKBMETA 0x4B62 /* gets meta key handling mode */
-#define KDSKBMETA 0x4B63 /* sets meta key handling mode */
-
-#define K_SCROLLLOCK 0x01
-#define K_CAPSLOCK 0x02
-#define K_NUMLOCK 0x04
-#define KDGKBLED 0x4B64 /* get led flags (not lights) */
-#define KDSKBLED 0x4B65 /* set led flags (not lights) */
-
-struct kbentry {
- unsigned char kb_table;
- unsigned char kb_index;
- unsigned short kb_value;
-};
-
-#define K_NORMTAB 0x00
-#define K_SHIFTTAB 0x01
-#define K_ALTTAB 0x02
-#define K_ALTSHIFTTAB 0x03
-
-#define KDGKBENT 0x4B46 /* gets one entry in translation table */
-#define KDSKBENT 0x4B47 /* sets one entry in translation table */
-
-struct kbsentry {
- unsigned char kb_func;
- unsigned char kb_string[512];
-};
-
-#define KDGKBSENT 0x4B48 /* gets one function key string entry */
-#define KDSKBSENT 0x4B49 /* sets one function key string entry */
-
-struct kbdiacr {
- unsigned char diacr, base, result;
-};
-
-struct kbdiacrs {
- unsigned int kb_cnt; /* number of entries in following array */
- struct kbdiacr kbdiacr[256]; /* MAX_DIACR from keyboard.h */
-};
-
-#define KDGKBDIACR 0x4B4A /* read kernel accent table */
-#define KDSKBDIACR 0x4B4B /* write kernel accent table */
-
-struct kbkeycode {
- unsigned int scancode, keycode;
-};
-
-#define KDGETKEYCODE 0x4B4C /* read kernel keycode table entry */
-#define KDSETKEYCODE 0x4B4D /* write kernel keycode table entry */
-
-#define KDSIGACCEPT 0x4B4E /* accept kbd generated signals */
-
-struct hwclk_time {
- unsigned int sec; /* 0..59 */
- unsigned int min; /* 0..59 */
- unsigned int hour; /* 0..23 */
- unsigned int day; /* 1..31 */
- unsigned int mon; /* 0..11 */
- unsigned int year; /* 70... */
- int wday; /* 0..6, 0 is Sunday, -1 means unknown/don't set */
-};
-
-#define KDGHWCLK 0x4B50 /* get hardware clock */
-#define KDSHWCLK 0x4B51 /* set hardware clock */
-
-struct kbd_repeat {
- int delay; /* in msec; <= 0: don't change */
- int rate; /* in msec; <= 0: don't change */
-};
-
-#define KDKBDREP 0x4B52 /* set keyboard delay/repeat rate;
- * actually used values are returned */
-
-#define KDFONTOP 0x4B72 /* font operations */
-
-struct console_font_op {
- unsigned int op; /* operation code KD_FONT_OP_* */
- unsigned int flags; /* KD_FONT_FLAG_* */
- unsigned int width, height; /* font size */
- unsigned int charcount;
- unsigned char *data; /* font data with height fixed to 32 */
-};
-
-#define KD_FONT_OP_SET 0 /* Set font */
-#define KD_FONT_OP_GET 1 /* Get font */
-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */
-#define KD_FONT_OP_COPY 3 /* Copy from another console */
-
-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't recalculate hw charcell size [compat] */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/klog.h b/mdk-stage1/dietlibc/include/sys/klog.h
deleted file mode 100644
index abacfef9c..000000000
--- a/mdk-stage1/dietlibc/include/sys/klog.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_KLOG_H
-#define _SYS_KLOG_H
-
-#include <sys/cdefs.h>
-
-extern int klogctl (int __type, char *__bufp, int __len) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h b/mdk-stage1/dietlibc/include/sys/mips-ioctl.h
deleted file mode 100644
index 889ac83ae..000000000
--- a/mdk-stage1/dietlibc/include/sys/mips-ioctl.h
+++ /dev/null
@@ -1,177 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * We to additionally limit parameters to a maximum 255 bytes.
- */
-#define _IOC_SLMASK 0xff
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-/*
- * The following are included for compatibility
- */
-#define _IOC_VOID 0x20000000
-#define _IOC_OUT 0x40000000
-#define _IOC_IN 0x80000000
-#define _IOC_INOUT (IOC_IN|IOC_OUT)
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- (((size) & _IOC_SLMASK) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define tIOC ('t' << 8)
-#endif
-
-#define TCGETA 0x5401
-#define TCSETA 0x5402
-#define TCSETAW 0x5403
-#define TCSETAF 0x5404
-
-#define TCSBRK 0x5405
-#define TCXONC 0x5406
-#define TCFLSH 0x5407
-
-#define TCGETS 0x540d
-#define TCSETS 0x540e
-#define TCSETSW 0x540f
-#define TCSETSF 0x5410
-
-#define TIOCEXCL 0x740d /* set exclusive use of tty */
-#define TIOCNXCL 0x740e /* reset exclusive use of tty */
-#define TIOCOUTQ 0x7472 /* output queue size */
-#define TIOCSTI 0x5472 /* simulate terminal input */
-#define TIOCMGET 0x741d /* get all modem bits */
-#define TIOCMBIS 0x741b /* bis modem bits */
-#define TIOCMBIC 0x741c /* bic modem bits */
-#define TIOCMSET 0x741a /* set all modem bits */
-#define TIOCPKT 0x5470 /* pty: set/clear packet mode */
-#define TIOCPKT_DATA 0x00 /* data packet */
-#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */
-#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */
-#define TIOCPKT_STOP 0x04 /* stop output */
-#define TIOCPKT_START 0x08 /* start output */
-#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */
-#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */
-#if 0
-#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
-#endif
-#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */
-#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */
-#define TIOCNOTTY 0x5471 /* void tty association */
-#define TIOCSETD (tIOC | 1)
-#define TIOCGETD (tIOC | 0)
-
-#define FIOCLEX 0x6601
-#define FIONCLEX 0x6602 /* these numbers need to be adjusted. */
-#define FIOASYNC 0x667d
-#define FIONBIO 0x667e
-#define FIOQSIZE 0x667f
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define TIOCGLTC (tIOC | 116) /* get special local chars */
-#define TIOCSLTC (tIOC | 117) /* set special local chars */
-#endif
-#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */
-#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */
-#define TIOCCONS _IOW('t', 120, int) /* become virtual console */
-
-#define FIONREAD 0x467f
-#define TIOCINQ FIONREAD
-
-#if defined(__USE_MISC) || defined (__KERNEL__)
-#define TIOCGETP (tIOC | 8)
-#define TIOCSETP (tIOC | 9)
-#define TIOCSETN (tIOC | 10) /* TIOCSETP wo flush */
-#endif
-
-#if 0
-#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */
-#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */
-#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */
-#define TIOCGETD _IOR('t', 26, int) /* get line discipline */
-#define TIOCSETD _IOW('t', 27, int) /* set line discipline */
- /* 127-124 compat */
-#endif
-
-/* I hope the range from 0x5480 on is free ... */
-#define TIOCSCTTY 0x5480 /* become controlling tty */
-#define TIOCGSOFTCAR 0x5481
-#define TIOCSSOFTCAR 0x5482
-#define TIOCLINUX 0x5483
-#define TIOCGSERIAL 0x5484
-#define TIOCSSERIAL 0x5485
-
-#define TCSBRKP 0x5486 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5487 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x7416 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5488
-#define TIOCSERGWILD 0x5489
-#define TIOCSERSWILD 0x548a
-#define TIOCGLCKTRMIOS 0x548b
-#define TIOCSLCKTRMIOS 0x548c
-#define TIOCSERGSTRUCT 0x548d /* For debugging only */
-#define TIOCSERGETLSR 0x548e /* Get line status register */
-#define TIOCSERGETMULTI 0x548f /* Get multiport config */
-#define TIOCSERSETMULTI 0x5490 /* Set multiport config */
-#define TIOCMIWAIT 0x5491 /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x5492 /* read serial port inline interrupt counts */
-#define TIOCGHAYESESP 0x5493 /* Get Hayes ESP configuration */
-#define TIOCSHAYESESP 0x5494 /* Set Hayes ESP configuration */
-
-/* Socket-level I/O control calls. */
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
diff --git a/mdk-stage1/dietlibc/include/sys/mman.h b/mdk-stage1/dietlibc/include/sys/mman.h
deleted file mode 100644
index 298773a92..000000000
--- a/mdk-stage1/dietlibc/include/sys/mman.h
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef _SYS_MMAN_H
-#define _SYS_MMAN_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define MREMAP_MAYMOVE 1UL
-#define MREMAP_FIXED 2UL
-
-#define PROT_READ 0x1 /* page can be read */
-#define PROT_WRITE 0x2 /* page can be written */
-#define PROT_EXEC 0x4 /* page can be executed */
-#define PROT_NONE 0x0 /* page can not be accessed */
-
-#define MAP_SHARED 0x01 /* Share changes */
-#define MAP_PRIVATE 0x02 /* Changes are private */
-
-#ifdef __mips__
-#define MAP_FIXED 0x010 /* Interpret addr exactly */
-#define MAP_NORESERVE 0x0400 /* don't check for reservations */
-#define MAP_ANONYMOUS 0x0800 /* don't use a file */
-#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
-#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
-#define MAP_LOCKED 0x8000 /* pages are locked */
-#define MS_ASYNC 0x0001 /* sync memory asynchronously */
-#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */
-#define MS_SYNC 0x0004 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#else
-
-#ifdef __alpha__
-#define MAP_FIXED 0x100 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x10 /* don't use a file */
-#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
-#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
-#define MAP_LOCKED 0x8000 /* lock the mapping */
-#define MAP_NORESERVE 0x10000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_SYNC 2 /* synchronous memory sync */
-#define MS_INVALIDATE 4 /* invalidate the caches */
-#define MCL_CURRENT 8192 /* lock all currently mapped pages */
-#define MCL_FUTURE 16384 /* lock all additions to address space */
-#define MADV_NORMAL 0 /* no further special treatment */
-#define MADV_RANDOM 1 /* expect random page references */
-#define MADV_SEQUENTIAL 2 /* expect sequential page references */
-#define MADV_WILLNEED 3 /* will need these pages */
-#define MADV_SPACEAVAIL 5 /* ensure resources are available */
-#define MADV_DONTNEED 6 /* dont need these pages */
-#else
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-#endif
-
-#if defined(__i386__) || defined(__s390__) || defined(__x86_64__)
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#elif defined(__sparc__) || defined (__powerpc__)
-#define MAP_RENAME MAP_ANONYMOUS /* In SunOS terminology */
-#define MAP_NORESERVE 0x40 /* don't reserve swap pages */
-#define MAP_INHERIT 0x80 /* SunOS doesn't do this, but... */
-#define MAP_LOCKED 0x100 /* lock the mapping */
-#define _MAP_NEW 0x80000000 /* Binary compatibility is fun... */
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */
-#define MCL_FUTURE 0x4000 /* lock all additions to address space */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-#define MADV_FREE 0x5 /* (Solaris) contents can be freed */
-#elif defined (__arm__)
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MADV_NORMAL 0x0 /* default page-in behavior */
-#define MADV_RANDOM 0x1 /* page-in minimum required */
-#define MADV_SEQUENTIAL 0x2 /* read-ahead aggressively */
-#define MADV_WILLNEED 0x3 /* pre-fault pages */
-#define MADV_DONTNEED 0x4 /* discard these pages */
-
-#elif defined(__hppa__)
-#define MAP_TYPE 0x03 /* Mask for type of mapping */
-#define MAP_FIXED 0x04 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x10 /* don't use a file */
-
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_GROWSDOWN 0x8000 /* stack-like segment */
-
-#define MS_SYNC 1 /* synchronous memory sync */
-#define MS_ASYNC 2 /* sync memory asynchronously */
-#define MS_INVALIDATE 4 /* invalidate the caches */
-
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2
-
-#elif defined(__ia64__)
-
-#define MAP_TYPE 0x0f /* Mask for type of mapping */
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_GROWSUP 0x0200 /* register stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_WRITECOMBINED 0x10000 /* write-combine the area */
-#define MAP_NONCACHED 0x20000 /* don't cache the memory */
-
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-
-#endif
-
-#endif
-
-/* compatibility flags */
-#define MAP_ANON MAP_ANONYMOUS
-#define MAP_FILE 0
-
-#define MAP_FAILED ((void *) -1)
-
-extern void *mmap (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off_t __offset);
-
-extern int munmap (void *__addr, size_t __len) __THROW;
-extern int mprotect (void *__addr, size_t __len, int __prot) __THROW;
-extern int msync (void *__addr, size_t __len, int __flags) __THROW;
-extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
- unsigned long __may_move) __THROW;
-extern int mincore (void *__start, size_t __len, unsigned char *__vec);
-
-extern void *mmap64 (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off64_t __offset) __THROW;
-
-int mlockall(int flags) __THROW;
-int mlock(const void *addr, size_t len) __THROW;
-int munlock(const void *addr, size_t len) __THROW;
-int munlockall(void) __THROW;
-
-int madvise(void *start, size_t length, int advice) __THROW;
-
-#define _POSIX_MAPPED_FILES
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mount.h b/mdk-stage1/dietlibc/include/sys/mount.h
deleted file mode 100644
index a5170fda9..000000000
--- a/mdk-stage1/dietlibc/include/sys/mount.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef _SYS_MOUNT_H
-#define _SYS_MOUNT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#define _LINUX_CONFIG_H
-
-#define BLOCK_SIZE 1024
-#define BLOCK_SIZE_BITS 10
-
-
-/* These are the fs-independent mount-flags: up to 16 flags are
- supported */
-enum
-{
- MS_RDONLY = 1, /* Mount read-only. */
-#define MS_RDONLY MS_RDONLY
- MS_NOSUID = 2, /* Ignore suid and sgid bits. */
-#define MS_NOSUID MS_NOSUID
- MS_NODEV = 4, /* Disallow access to device special files. */
-#define MS_NODEV MS_NODEV
- MS_NOEXEC = 8, /* Disallow program execution. */
-#define MS_NOEXEC MS_NOEXEC
- MS_SYNCHRONOUS = 16, /* Writes are synced at once. */
-#define MS_SYNCHRONOUS MS_SYNCHRONOUS
- MS_REMOUNT = 32, /* Alter flags of a mounted FS. */
-#define MS_REMOUNT MS_REMOUNT
- MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */
-#define MS_MANDLOCK MS_MANDLOCK
- S_WRITE = 128, /* Write on file/directory/symlink. */
-#define S_WRITE S_WRITE
- S_APPEND = 256, /* Append-only file. */
-#define S_APPEND S_APPEND
- S_IMMUTABLE = 512, /* Immutable file. */
-#define S_IMMUTABLE S_IMMUTABLE
- MS_NOATIME = 1024, /* Do not update access times. */
-#define MS_NOATIME MS_NOATIME
- MS_NODIRATIME = 2048, /* Do not update directory access times. */
-#define MS_NODIRATIME MS_NODIRATIME
- MS_BIND = 4096, /* Bind directory at different place. */
-#define MS_BIND MS_BIND
-};
-
-/* Flags that can be altered by MS_REMOUNT */
-#define MS_RMT_MASK (MS_RDONLY | MS_MANDLOCK)
-
-
-/* Magic mount flag number. Has to be or-ed to the flag values. */
-
-#define MS_MGC_VAL 0xc0ed0000 /* Magic flag number to indicate "new" flags */
-#define MS_MGC_MSK 0xffff0000 /* Magic flag number mask */
-
-
-/* The read-only stuff doesn't really belong here, but any other place
- is probably as bad and I don't want to create yet another include
- file. */
-
-#define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */
-#define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */
-#define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */
-#define BLKGETSIZE _IO(0x12, 96) /* Return device size. */
-#define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */
-#define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */
-#define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */
-
-
-/* Possible value for FLAGS parameter of `umount2'. */
-enum
-{
- MNT_FORCE = 1 /* Force unmounting. */
-#define MNT_FORCE MNT_FORCE
-};
-
-int mount(const char* specialfile, const char* dir, const char* filesystemtype,
- unsigned long rwflag, const void * data) __THROW;
-
-int umount(const char *specialfile) __THROW;
-int umount2(const char *specialfile, int mflag) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/msg.h b/mdk-stage1/dietlibc/include/sys/msg.h
deleted file mode 100644
index 564fd9472..000000000
--- a/mdk-stage1/dietlibc/include/sys/msg.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _SYS_MSG_H
-#define _SYS_MSG_H
-
-#include <sys/ipc.h>
-
-/* ipcs ctl commands */
-#define MSG_STAT 11
-#define MSG_INFO 12
-
-/* msgrcv options */
-#define MSG_NOERROR 010000 /* no error if message is too big */
-#define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/
-
-struct msqid_ds {
- struct ipc_perm msg_perm;
- struct msg *msg_first; /* first message on queue,unused */
- struct msg *msg_last; /* last message in queue,unused */
- time_t msg_stime; /* last msgsnd time */
- time_t msg_rtime; /* last msgrcv time */
- time_t msg_ctime; /* last change time */
- unsigned long msg_lcbytes; /* Reuse junk fields for 32 bit */
- unsigned long msg_lqbytes; /* ditto */
- unsigned short msg_cbytes; /* current number of bytes on queue */
- unsigned short msg_qnum; /* number of messages in queue */
- unsigned short msg_qbytes; /* max number of bytes on queue */
- pid_t msg_lspid; /* pid of last msgsnd */
- pid_t msg_lrpid; /* last receive pid */
-};
-
-/* message buffer for msgsnd and msgrcv calls */
-struct msgbuf {
- long mtype; /* type of message */
- char mtext[1]; /* message text */
-};
-
-/* buffer for msgctl calls IPC_INFO, MSG_INFO */
-struct msginfo {
- int msgpool;
- int msgmap;
- int msgmax;
- int msgmnb;
- int msgmni;
- int msgssz;
- int msgtql;
- unsigned short msgseg;
-};
-
-#define MSGMNI 16 /* <= IPCMNI */ /* max # of msg queue identifiers */
-#define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */
-#define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */
-
-extern int msgctl (int msqid, int cmd, struct msqid_ds *buf) __THROW;
-extern int msgget (key_t key, int msgflg) __THROW;
-extern int msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) __THROW;
-extern int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mtio.h b/mdk-stage1/dietlibc/include/sys/mtio.h
deleted file mode 100644
index 08c735dcc..000000000
--- a/mdk-stage1/dietlibc/include/sys/mtio.h
+++ /dev/null
@@ -1,340 +0,0 @@
-#ifndef _SYS_MTIO_H
-#define _SYS_MTIO_H
-
-#include <sys/ioctl.h>
-
-/* structure for MTIOCTOP - mag tape op command */
-struct mtop {
- short int mt_op; /* operations defined below */
- int mt_count; /* how many of them */
-};
-
-/* Magnetic Tape operations [Not all operations supported by all drivers]: */
-#define MTRESET 0 /* +reset drive in case of problems */
-#define MTFSF 1 /* forward space over FileMark,
- * position at first record of next file
- */
-#define MTBSF 2 /* backward space FileMark (position before FM) */
-#define MTFSR 3 /* forward space record */
-#define MTBSR 4 /* backward space record */
-#define MTWEOF 5 /* write an end-of-file record (mark) */
-#define MTREW 6 /* rewind */
-#define MTOFFL 7 /* rewind and put the drive offline (eject?) */
-#define MTNOP 8 /* no op, set status only (read with MTIOCGET) */
-#define MTRETEN 9 /* retension tape */
-#define MTBSFM 10 /* +backward space FileMark, position at FM */
-#define MTFSFM 11 /* +forward space FileMark, position at FM */
-#define MTEOM 12 /* goto end of recorded media (for appending files).
- * MTEOM positions after the last FM, ready for
- * appending another file.
- */
-#define MTERASE 13 /* erase tape -- be careful! */
-
-#define MTRAS1 14 /* run self test 1 (nondestructive) */
-#define MTRAS2 15 /* run self test 2 (destructive) */
-#define MTRAS3 16 /* reserved for self test 3 */
-
-#define MTSETBLK 20 /* set block length (SCSI) */
-#define MTSETDENSITY 21 /* set tape density (SCSI) */
-#define MTSEEK 22 /* seek to block (Tandberg, etc.) */
-#define MTTELL 23 /* tell block (Tandberg, etc.) */
-#define MTSETDRVBUFFER 24 /* set the drive buffering according to SCSI-2 */
- /* ordinary buffered operation with code 1 */
-#define MTFSS 25 /* space forward over setmarks */
-#define MTBSS 26 /* space backward over setmarks */
-#define MTWSM 27 /* write setmarks */
-
-#define MTLOCK 28 /* lock the drive door */
-#define MTUNLOCK 29 /* unlock the drive door */
-#define MTLOAD 30 /* execute the SCSI load command */
-#define MTUNLOAD 31 /* execute the SCSI unload command */
-#define MTCOMPRESSION 32/* control compression with SCSI mode page 15 */
-#define MTSETPART 33 /* Change the active tape partition */
-#define MTMKPART 34 /* Format the tape with one or two partitions */
-
-/* structure for MTIOCGET - mag tape get status command */
-
-typedef int daddr_t;
-
-struct mtget {
- long int mt_type; /* type of magtape device */
- long int mt_resid; /* residual count: (not sure)
- * number of bytes ignored, or
- * number of files not skipped, or
- * number of records not skipped.
- */
- /* the following registers are device dependent */
- long int mt_dsreg; /* status register */
- long int mt_gstat; /* generic (device independent) status */
- long int mt_erreg; /* error register */
- /* The next two fields are not always used */
- daddr_t mt_fileno; /* number of current file on tape */
- daddr_t mt_blkno; /* current block number */
-};
-
-/*
- * Constants for mt_type. Not all of these are supported,
- * and these are not all of the ones that are supported.
- */
-#define MT_ISUNKNOWN 0x01
-#define MT_ISQIC02 0x02 /* Generic QIC-02 tape streamer */
-#define MT_ISWT5150 0x03 /* Wangtek 5150EQ, QIC-150, QIC-02 */
-#define MT_ISARCHIVE_5945L2 0x04 /* Archive 5945L-2, QIC-24, QIC-02? */
-#define MT_ISCMSJ500 0x05 /* CMS Jumbo 500 (QIC-02?) */
-#define MT_ISTDC3610 0x06 /* Tandberg 6310, QIC-24 */
-#define MT_ISARCHIVE_VP60I 0x07 /* Archive VP60i, QIC-02 */
-#define MT_ISARCHIVE_2150L 0x08 /* Archive Viper 2150L */
-#define MT_ISARCHIVE_2060L 0x09 /* Archive Viper 2060L */
-#define MT_ISARCHIVESC499 0x0A /* Archive SC-499 QIC-36 controller */
-#define MT_ISQIC02_ALL_FEATURES 0x0F /* Generic QIC-02 with all features */
-#define MT_ISWT5099EEN24 0x11 /* Wangtek 5099-een24, 60MB, QIC-24 */
-#define MT_ISTEAC_MT2ST 0x12 /* Teac MT-2ST 155mb drive, Teac DC-1 card (Wangtek type) */
-#define MT_ISEVEREX_FT40A 0x32 /* Everex FT40A (QIC-40) */
-#define MT_ISDDS1 0x51 /* DDS device without partitions */
-#define MT_ISDDS2 0x52 /* DDS device with partitions */
-#define MT_ISONSTREAM_SC 0x61 /* OnStream SCSI tape drives (SC-x0)
- and SCSI emulated (DI, DP, USB) */
-#define MT_ISSCSI1 0x71 /* Generic ANSI SCSI-1 tape unit */
-#define MT_ISSCSI2 0x72 /* Generic ANSI SCSI-2 tape unit */
-
-/* QIC-40/80/3010/3020 ftape supported drives.
- * 20bit vendor ID + 0x800000 (see ftape-vendors.h)
- */
-#define MT_ISFTAPE_UNKNOWN 0x800000 /* obsolete */
-#define MT_ISFTAPE_FLAG 0x800000
-
-struct mt_tape_info {
- long int t_type; /* device type id (mt_type) */
- char* t_name; /* descriptive name */
-};
-
-#define MT_TAPE_INFO { \
- {MT_ISUNKNOWN, "Unknown type of tape device"}, \
- {MT_ISQIC02, "Generic QIC-02 tape streamer"}, \
- {MT_ISWT5150, "Wangtek 5150, QIC-150"}, \
- {MT_ISARCHIVE_5945L2, "Archive 5945L-2"}, \
- {MT_ISCMSJ500, "CMS Jumbo 500"}, \
- {MT_ISTDC3610, "Tandberg TDC 3610, QIC-24"}, \
- {MT_ISARCHIVE_VP60I, "Archive VP60i, QIC-02"}, \
- {MT_ISARCHIVE_2150L, "Archive Viper 2150L"}, \
- {MT_ISARCHIVE_2060L, "Archive Viper 2060L"}, \
- {MT_ISARCHIVESC499, "Archive SC-499 QIC-36 controller"}, \
- {MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \
- {MT_ISWT5099EEN24, "Wangtek 5099-een24, 60MB"}, \
- {MT_ISTEAC_MT2ST, "Teac MT-2ST 155mb data cassette drive"}, \
- {MT_ISEVEREX_FT40A, "Everex FT40A, QIC-40"}, \
- {MT_ISONSTREAM_SC, "OnStream SC-, DI-, DP-, or USB tape drive"}, \
- {MT_ISSCSI1, "Generic SCSI-1 tape"}, \
- {MT_ISSCSI2, "Generic SCSI-2 tape"}, \
- {0, NULL} \
-}
-
-
-/* structure for MTIOCPOS - mag tape get position command */
-
-struct mtpos {
- long int mt_blkno; /* current block number */
-};
-
-
-/* structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended
- * as an interim solution for QIC-02 until DDI is fully implemented.
- */
-struct mtconfiginfo {
- long int mt_type; /* drive type */
- long int ifc_type; /* interface card type */
- unsigned short int irqnr; /* IRQ number to use */
- unsigned short int dmanr; /* DMA channel to use */
- unsigned short int port; /* IO port base address */
-
- unsigned long int debug; /* debugging flags */
-
- unsigned int have_dens:1;
- unsigned int have_bsf:1;
- unsigned int have_fsr:1;
- unsigned int have_bsr:1;
- unsigned int have_eod:1;
- unsigned int have_seek:1;
- unsigned int have_tell:1;
- unsigned int have_ras1:1;
- unsigned int have_ras2:1;
- unsigned int have_ras3:1;
- unsigned int have_qfa:1;
-
- unsigned int pad1:5;
- char reserved[10];
-};
-
-/* structure for MTIOCVOLINFO, query information about the volume
- * currently positioned at (zftape)
- */
-struct mtvolinfo {
- unsigned int mt_volno; /* vol-number */
- unsigned int mt_blksz; /* blocksize used when recording */
- unsigned int mt_rawsize; /* raw tape space consumed, in kb */
- unsigned int mt_size; /* volume size after decompression, in kb */
- unsigned int mt_cmpr:1; /* this volume has been compressed */
-};
-
-/* raw access to a floppy drive, read and write an arbitrary segment.
- * For ftape/zftape to support formatting etc.
- */
-#define MT_FT_RD_SINGLE 0
-#define MT_FT_RD_AHEAD 1
-#define MT_FT_WR_ASYNC 0 /* start tape only when all buffers are full */
-#define MT_FT_WR_MULTI 1 /* start tape, continue until buffers are empty */
-#define MT_FT_WR_SINGLE 2 /* write a single segment and stop afterwards */
-#define MT_FT_WR_DELETE 3 /* write deleted data marks, one segment at time */
-
-struct mtftseg {
- unsigned int mt_segno; /* the segment to read or write */
- unsigned int mt_mode; /* modes for read/write (sync/async etc.) */
- int mt_result; /* result of r/w request, not of the ioctl */
- void *mt_data; /* User space buffer: must be 29kb */
-};
-
-/* get tape capacity (ftape/zftape)
- */
-struct mttapesize {
- unsigned long mt_capacity; /* entire, uncompressed capacity of a cartridge */
- unsigned long mt_used; /* what has been used so far, raw uncompressed amount */
-};
-
-/* possible values of the ftfmt_op field
- */
-#define FTFMT_SET_PARMS 1 /* set software parms */
-#define FTFMT_GET_PARMS 2 /* get software parms */
-#define FTFMT_FORMAT_TRACK 3 /* start formatting a tape track */
-#define FTFMT_STATUS 4 /* monitor formatting a tape track */
-#define FTFMT_VERIFY 5 /* verify the given segment */
-
-struct ftfmtparms {
- unsigned char ft_qicstd; /* QIC-40/QIC-80/QIC-3010/QIC-3020 */
- unsigned char ft_fmtcode; /* Refer to the QIC specs */
- unsigned char ft_fhm; /* floppy head max */
- unsigned char ft_ftm; /* floppy track max */
- unsigned short ft_spt; /* segments per track */
- unsigned short ft_tpc; /* tracks per cartridge */
-};
-
-struct ftfmttrack {
- unsigned int ft_track; /* track to format */
- unsigned char ft_gap3; /* size of gap3, for FORMAT_TRK */
-};
-
-struct ftfmtstatus {
- unsigned int ft_segment; /* segment currently being formatted */
-};
-
-struct ftfmtverify {
- unsigned int ft_segment; /* segment to verify */
- unsigned long ft_bsm; /* bsm as result of VERIFY cmd */
-};
-
-struct mtftformat {
- unsigned int fmt_op; /* operation to perform */
- union fmt_arg {
- struct ftfmtparms fmt_parms; /* format parameters */
- struct ftfmttrack fmt_track; /* ctrl while formatting */
- struct ftfmtstatus fmt_status;
- struct ftfmtverify fmt_verify; /* for verifying */
- } fmt_arg;
-};
-
-/* mag tape io control commands */
-#define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */
-#define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */
-#define MTIOCPOS _IOR('m', 3, struct mtpos) /* get tape position */
-
-/* The next two are used by the QIC-02 driver for runtime reconfiguration.
- * See tpqic02.h for struct mtconfiginfo.
- */
-#define MTIOCGETCONFIG _IOR('m', 4, struct mtconfiginfo) /* get tape config */
-#define MTIOCSETCONFIG _IOW('m', 5, struct mtconfiginfo) /* set tape config */
-
-/* the next six are used by the floppy ftape drivers and its frontends
- * sorry, but MTIOCTOP commands are write only.
- */
-#define MTIOCRDFTSEG _IOWR('m', 6, struct mtftseg) /* read a segment */
-#define MTIOCWRFTSEG _IOWR('m', 7, struct mtftseg) /* write a segment */
-#define MTIOCVOLINFO _IOR('m', 8, struct mtvolinfo) /* info about volume */
-#define MTIOCGETSIZE _IOR('m', 9, struct mttapesize)/* get cartridge size*/
-#define MTIOCFTFORMAT _IOWR('m', 10, struct mtftformat) /* format ftape */
-#define MTIOCFTCMD _IOWR('m', 11, struct mtftcmd) /* send QIC-117 cmd */
-
-/* Generic Mag Tape (device independent) status macros for examining
- * mt_gstat -- HP-UX compatible.
- * There is room for more generic status bits here, but I don't
- * know which of them are reserved. At least three or so should
- * be added to make this really useful.
- */
-#define GMT_EOF(x) ((x) & 0x80000000)
-#define GMT_BOT(x) ((x) & 0x40000000)
-#define GMT_EOT(x) ((x) & 0x20000000)
-#define GMT_SM(x) ((x) & 0x10000000) /* DDS setmark */
-#define GMT_EOD(x) ((x) & 0x08000000) /* DDS EOD */
-#define GMT_WR_PROT(x) ((x) & 0x04000000)
-/* #define GMT_ ? ((x) & 0x02000000) */
-#define GMT_ONLINE(x) ((x) & 0x01000000)
-#define GMT_D_6250(x) ((x) & 0x00800000)
-#define GMT_D_1600(x) ((x) & 0x00400000)
-#define GMT_D_800(x) ((x) & 0x00200000)
-/* #define GMT_ ? ((x) & 0x00100000) */
-/* #define GMT_ ? ((x) & 0x00080000) */
-#define GMT_DR_OPEN(x) ((x) & 0x00040000) /* door open (no tape) */
-/* #define GMT_ ? ((x) & 0x00020000) */
-#define GMT_IM_REP_EN(x) ((x) & 0x00010000) /* immediate report mode */
-/* 16 generic status bits unused */
-
-
-/* SCSI-tape specific definitions */
-/* Bitfield shifts in the status */
-#define MT_ST_BLKSIZE_SHIFT 0
-#define MT_ST_BLKSIZE_MASK 0xffffff
-#define MT_ST_DENSITY_SHIFT 24
-#define MT_ST_DENSITY_MASK 0xff000000
-
-#define MT_ST_SOFTERR_SHIFT 0
-#define MT_ST_SOFTERR_MASK 0xffff
-
-/* Bitfields for the MTSETDRVBUFFER ioctl */
-#define MT_ST_OPTIONS 0xf0000000
-#define MT_ST_BOOLEANS 0x10000000
-#define MT_ST_SETBOOLEANS 0x30000000
-#define MT_ST_CLEARBOOLEANS 0x40000000
-#define MT_ST_WRITE_THRESHOLD 0x20000000
-#define MT_ST_DEF_BLKSIZE 0x50000000
-#define MT_ST_DEF_OPTIONS 0x60000000
-#define MT_ST_TIMEOUTS 0x70000000
-#define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000)
-#define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000)
-
-#define MT_ST_BUFFER_WRITES 0x1
-#define MT_ST_ASYNC_WRITES 0x2
-#define MT_ST_READ_AHEAD 0x4
-#define MT_ST_DEBUGGING 0x8
-#define MT_ST_TWO_FM 0x10
-#define MT_ST_FAST_MTEOM 0x20
-#define MT_ST_AUTO_LOCK 0x40
-#define MT_ST_DEF_WRITES 0x80
-#define MT_ST_CAN_BSR 0x100
-#define MT_ST_NO_BLKLIMS 0x200
-#define MT_ST_CAN_PARTITIONS 0x400
-#define MT_ST_SCSI2LOGICAL 0x800
-#define MT_ST_SYSV 0x1000
-
-/* The mode parameters to be controlled. Parameter chosen with bits 20-28 */
-#define MT_ST_CLEAR_DEFAULT 0xfffff
-#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000)
-#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000)
-#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000)
-
-/* The offset for the arguments for the special HP changer load command. */
-#define MT_ST_HPLOADER_OFFSET 10000
-
-/* Specify default tape device. */
-#ifndef DEFTAPE
-#define DEFTAPE "/dev/tape/0"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/param.h b/mdk-stage1/dietlibc/include/sys/param.h
deleted file mode 100644
index 0744dccdb..000000000
--- a/mdk-stage1/dietlibc/include/sys/param.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <limits.h>
-
-#define MAXPATHLEN PATH_MAX
-#define MAXHOSTNAMELEN 64
-#define NGROUPS 32
-#define NOGROUP (-1)
-
-#undef MIN
-#undef MAX
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#define MAX(a,b) (((a)>(b))?(a):(b))
-
-#ifdef __alpha__
-#define HZ 1024
-#else
-#define HZ 100
-#endif
-
-#ifndef howmany
-# define howmany(x, y) (((x)+((y)-1))/(y))
-#endif
-#define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
-#define powerof2(x) ((((x)-1)&(x))==0)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/poll.h b/mdk-stage1/dietlibc/include/sys/poll.h
deleted file mode 100644
index fe36df79d..000000000
--- a/mdk-stage1/dietlibc/include/sys/poll.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _SYS_POLL_H
-#define _SYS_POLL_H
-
-#include <sys/cdefs.h>
-
-enum {
- POLLIN = 0x0001,
-#define POLLIN POLLIN
- POLLPRI = 0x0002,
-#define POLLPRI POLLPRI
- POLLOUT = 0x0004,
-#define POLLOUT POLLOUT
- POLLERR = 0x0008,
-#define POLLERR POLLERR
- POLLHUP = 0x0010,
-#define POLLHUP POLLHUP
- POLLNVAL = 0x0020,
-#define POLLNVAL POLLNVAL
- POLLRDNORM = 0x0040,
-#define POLLRDNORM POLLRDNORM
- POLLRDBAND = 0x0080,
-#define POLLRDBAND POLLRDBAND
- POLLWRBAND = 0x0200,
-#define POLLWRBAND POLLWRBAND
- POLLMSG = 0x0400,
-#define POLLMSG POLLMSG
-/* POLLREMOVE is for /dev/epoll (/dev/misc/eventpoll),
- * a new event notification mechanism for 2.6 */
- POLLREMOVE = 0x1000,
-#define POLLREMOVE POLLREMOVE
-};
-
-#if defined(__sparc__) || defined (__mips__)
-#define POLLWRNORM POLLOUT
-#else
-#define POLLWRNORM 0x0100
-#endif
-
-struct pollfd {
- int fd;
- short events;
- short revents;
-};
-
-extern int poll(struct pollfd *ufds, unsigned int nfds, int timeout) __THROW;
-
-#endif /* _SYS_POLL_H */
diff --git a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h b/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h
deleted file mode 100644
index c3de6d254..000000000
--- a/mdk-stage1/dietlibc/include/sys/ppc-ioctl.h
+++ /dev/null
@@ -1,164 +0,0 @@
-
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 13
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit.
- * And this turns out useful to catch old ioctl numbers in header
- * files for us.
- */
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode them.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* various drivers, such as the pcmcia stuff, need these... */
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-#define TIOCGETP _IOR('t', 8, struct sgttyb)
-#define TIOCSETP _IOW('t', 9, struct sgttyb)
-#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */
-
-#define TIOCSETC _IOW('t', 17, struct tchars)
-#define TIOCGETC _IOR('t', 18, struct tchars)
-#define TCGETS _IOR('t', 19, struct termios)
-#define TCSETS _IOW('t', 20, struct termios)
-#define TCSETSW _IOW('t', 21, struct termios)
-#define TCSETSF _IOW('t', 22, struct termios)
-
-#define TCGETA _IOR('t', 23, struct termio)
-#define TCSETA _IOW('t', 24, struct termio)
-#define TCSETAW _IOW('t', 25, struct termio)
-#define TCSETAF _IOW('t', 28, struct termio)
-
-#define TCSBRK _IO('t', 29)
-#define TCXONC _IO('t', 30)
-#define TCFLSH _IO('t', 31)
-
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
-#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
-#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
-
-#define TIOCGLTC _IOR('t', 116, struct ltchars)
-#define TIOCSLTC _IOW('t', 117, struct ltchars)
-#define TIOCSPGRP _IOW('t', 118, int)
-#define TIOCGPGRP _IOR('t', 119, int)
-
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-
-#define TIOCSTI 0x5412
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-# define TIOCM_LE 0x001
-# define TIOCM_DTR 0x002
-# define TIOCM_RTS 0x004
-# define TIOCM_ST 0x008
-# define TIOCM_SR 0x010
-# define TIOCM_CTS 0x020
-# define TIOCM_CAR 0x040
-# define TIOCM_RNG 0x080
-# define TIOCM_DSR 0x100
-# define TIOCM_CD TIOCM_CAR
-# define TIOCM_RI TIOCM_RNG
-
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-# define TIOCPKT_DATA 0
-# define TIOCPKT_FLUSHREAD 1
-# define TIOCPKT_FLUSHWRITE 2
-# define TIOCPKT_STOP 4
-# define TIOCPKT_START 8
-# define TIOCPKT_NOSTOP 16
-# define TIOCPKT_DOSTOP 32
-
-
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
- /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-
-#if 0 /* These are defined this way on Alpha - maybe later. */
-/* Socket-level I/O control calls. */
-
-#define FIOGETOWN _IOR('f', 123, int)
-#define FIOSETOWN _IOW('f', 124, int)
-
-#define SIOCATMARK _IOR('s', 7, int)
-#define SIOCSPGRP _IOW('s', 8, pid_t)
-#define SIOCGPGRP _IOR('s', 9, pid_t)
-
-#define SIOCGSTAMP 0x8906 /* Get stamp - linux-specific */
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/prctl.h b/mdk-stage1/dietlibc/include/sys/prctl.h
deleted file mode 100644
index 26749cbd4..000000000
--- a/mdk-stage1/dietlibc/include/sys/prctl.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_PRCTL_H
-#define _SYS_PRCTL_H
-
-#include <sys/cdefs.h>
-
-int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ptrace.h b/mdk-stage1/dietlibc/include/sys/ptrace.h
deleted file mode 100644
index b09d3ac3a..000000000
--- a/mdk-stage1/dietlibc/include/sys/ptrace.h
+++ /dev/null
@@ -1,846 +0,0 @@
-#ifndef _SYS_PTRACE_H
-#define _SYS_PTRACE_H
-
-#include <sys/cdefs.h>
-
-#define PTRACE_TRACEME 0
-#define PTRACE_PEEKTEXT 1
-#define PTRACE_PEEKDATA 2
-#define PTRACE_PEEKUSR 3
-#define PTRACE_PEEKUSER PTRACE_PEEKUSR
-#define PTRACE_POKETEXT 4
-#define PTRACE_POKEDATA 5
-#define PTRACE_POKEUSR 6
-#define PTRACE_POKEUSER PTRACE_POKEUSR
-#define PTRACE_CONT 7
-#define PTRACE_KILL 8
-#define PTRACE_SINGLESTEP 9
-
-#define PTRACE_ATTACH 0x10
-#define PTRACE_DETACH 0x11
-
-#define PTRACE_SYSCALL 24
-
-#define PT_TRACE_ME PTRACE_TRACEME
-#define PT_READ_I PTRACE_PEEKTEXT
-#define PT_READ_D PTRACE_PEEKDATA
-#define PT_READ_U PTRACE_READ_U
-#define PT_WRITE_I PTRACE_POKETEXT
-#define PT_WRITE_D PTRACE_POKEDATA
-#define PT_WRITE_U PTRACE_POKEUSER
-#define PT_CONTINUE PTRACE_CONT
-#define PT_KILL PTRACE_KILL
-#define PT_STEP PTRACE_SINGLESTEP
-#define PT_GETREGS PTRACE_GETREGS
-#define PT_SETREGS PTRACE_SETREGS
-#define PT_GETFPREGS PTRACE_GETFPREGS
-#define PT_SETFPREGS PTRACE_SETFPREGS
-#define PT_ATTACH PTRACE_ATTACH
-#define PT_DETACH PTRACE_DETACH
-
-#if defined(__i386__)
-#define EBX 0
-#define ECX 1
-#define EDX 2
-#define ESI 3
-#define EDI 4
-#define EBP 5
-#define EAX 6
-#define DS 7
-#define ES 8
-#define FS 9
-#define GS 10
-#define ORIG_EAX 11
-#define EIP 12
-#define CS 13
-#define EFL 14
-#define UESP 15
-#define SS 16
-#define FRAME_SIZE 17
-
-/* this struct defines the way the registers are stored on the
- stack during a system call. */
-
-struct pt_regs {
- long ebx;
- long ecx;
- long edx;
- long esi;
- long edi;
- long ebp;
- long eax;
- int xds;
- int xes;
- long orig_eax;
- long eip;
- int xcs;
- long eflags;
- long esp;
- int xss;
-};
-
-/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
-#define PTRACE_GETREGS 12
-#define PTRACE_SETREGS 13
-#define PTRACE_GETFPREGS 14
-#define PTRACE_SETFPREGS 15
-#define PTRACE_GETFPXREGS 18
-#define PTRACE_SETFPXREGS 19
-
-#define PTRACE_SETOPTIONS 21
-
-/* options set using PTRACE_SETOPTIONS */
-#define PTRACE_O_TRACESYSGOOD 0x00000001
-
-#elif defined(__s390__)
-
-#define PT_PSWMASK 0x00
-#define PT_PSWADDR 0x04
-#define PT_GPR0 0x08
-#define PT_GPR1 0x0C
-#define PT_GPR2 0x10
-#define PT_GPR3 0x14
-#define PT_GPR4 0x18
-#define PT_GPR5 0x1C
-#define PT_GPR6 0x20
-#define PT_GPR7 0x24
-#define PT_GPR8 0x28
-#define PT_GPR9 0x2C
-#define PT_GPR10 0x30
-#define PT_GPR11 0x34
-#define PT_GPR12 0x38
-#define PT_GPR13 0x3C
-#define PT_GPR14 0x40
-#define PT_GPR15 0x44
-#define PT_ACR0 0x48
-#define PT_ACR1 0x4C
-#define PT_ACR2 0x50
-#define PT_ACR3 0x54
-#define PT_ACR4 0x58
-#define PT_ACR5 0x5C
-#define PT_ACR6 0x60
-#define PT_ACR7 0x64
-#define PT_ACR8 0x68
-#define PT_ACR9 0x6C
-#define PT_ACR10 0x70
-#define PT_ACR11 0x74
-#define PT_ACR12 0x78
-#define PT_ACR13 0x7C
-#define PT_ACR14 0x80
-#define PT_ACR15 0x84
-#define PT_ORIGGPR2 0x88
-#define PT_FPC 0x90
-#define PT_FPR0_HI 0x98
-#define PT_FPR0_LO 0x9C
-#define PT_FPR1_HI 0xA0
-#define PT_FPR1_LO 0xA4
-#define PT_FPR2_HI 0xA8
-#define PT_FPR2_LO 0xAC
-#define PT_FPR3_HI 0xB0
-#define PT_FPR3_LO 0xB4
-#define PT_FPR4_HI 0xB8
-#define PT_FPR4_LO 0xBC
-#define PT_FPR5_HI 0xC0
-#define PT_FPR5_LO 0xC4
-#define PT_FPR6_HI 0xC8
-#define PT_FPR6_LO 0xCC
-#define PT_FPR7_HI 0xD0
-#define PT_FPR7_LO 0xD4
-#define PT_FPR8_HI 0xD8
-#define PT_FPR8_LO 0XDC
-#define PT_FPR9_HI 0xE0
-#define PT_FPR9_LO 0xE4
-#define PT_FPR10_HI 0xE8
-#define PT_FPR10_LO 0xEC
-#define PT_FPR11_HI 0xF0
-#define PT_FPR11_LO 0xF4
-#define PT_FPR12_HI 0xF8
-#define PT_FPR12_LO 0xFC
-#define PT_FPR13_HI 0x100
-#define PT_FPR13_LO 0x104
-#define PT_FPR14_HI 0x108
-#define PT_FPR14_LO 0x10C
-#define PT_FPR15_HI 0x110
-#define PT_FPR15_LO 0x114
-#define PT_CR_9 0x118
-#define PT_CR_10 0x11C
-#define PT_CR_11 0x120
-#define PT_IEEE_IP 0x13C
-#define PT_LASTOFF PT_IEEE_IP
-#define PT_ENDREGS 0x140-1
-
-#define NUM_GPRS 16
-#define NUM_FPRS 16
-#define NUM_CRS 16
-#define NUM_ACRS 16
-#define GPR_SIZE 4
-#define FPR_SIZE 8
-#define FPC_SIZE 4
-#define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */
-#define CR_SIZE 4
-#define ACR_SIZE 4
-
-#define STACK_FRAME_OVERHEAD 96 /* size of minimum stack frame */
-
-#include <inttypes.h>
-
-/* this typedef defines how a Program Status Word looks like */
-typedef struct {
- uint32_t mask;
- uint32_t addr;
-} psw_t __attribute__ ((aligned(8)));
-
-typedef union
-{
- float f;
- double d;
- uint64_t ui;
- struct
- {
- uint32_t hi;
- uint32_t lo;
- } fp;
-} freg_t;
-
-typedef struct
-{
- uint32_t fpc;
- freg_t fprs[NUM_FPRS];
-} s390_fp_regs;
-
-#define FPC_EXCEPTION_MASK 0xF8000000
-#define FPC_FLAGS_MASK 0x00F80000
-#define FPC_DXC_MASK 0x0000FF00
-#define FPC_RM_MASK 0x00000003
-#define FPC_VALID_MASK 0xF8F8FF03
-
-typedef struct
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
-} s390_regs;
-
-struct pt_regs
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
- uint32_t trap;
- uint32_t old_ilc;
-};
-
-typedef struct
-{
- uint32_t cr[3];
-} per_cr_words __attribute__((packed));
-
-#define PER_EM_MASK 0xE8000000
-
-typedef uint32_t addr_t;
-
-typedef struct
-{
- unsigned em_branching : 1;
- unsigned em_instruction_fetch : 1;
- /*
- * Switching on storage alteration automatically fixes
- * the storage alteration event bit in the users std.
- */
- unsigned em_storage_alteration : 1;
- unsigned em_gpr_alt_unused : 1;
- unsigned em_store_real_address : 1;
- unsigned : 3;
- unsigned branch_addr_ctl : 1;
- unsigned : 1;
- unsigned storage_alt_space_ctl : 1;
- unsigned : 21;
- addr_t starting_addr;
- addr_t ending_addr;
-} per_cr_bits __attribute__((packed));
-
-typedef struct
-{
- uint16_t perc_atmid; /* 0x096 */
- uint32_t address; /* 0x098 */
- uint8_t access_id; /* 0x0a1 */
-} per_lowcore_words __attribute__((packed));
-
-typedef struct
-{
- unsigned perc_branching : 1; /* 0x096 */
- unsigned perc_instruction_fetch : 1;
- unsigned perc_storage_alteration : 1;
- unsigned perc_gpr_alt_unused : 1;
- unsigned perc_store_real_address : 1;
- unsigned : 4;
- unsigned atmid_validity_bit : 1;
- unsigned atmid_psw_bit_32 : 1;
- unsigned atmid_psw_bit_5 : 1;
- unsigned atmid_psw_bit_16 : 1;
- unsigned atmid_psw_bit_17 : 1;
- unsigned si : 2;
- addr_t address; /* 0x098 */
- unsigned : 4; /* 0x0a1 */
- unsigned access_id : 4;
-} per_lowcore_bits __attribute__((packed));
-
-typedef struct
-{
- union {
- per_cr_words words;
- per_cr_bits bits;
- } control_regs __attribute__((packed));
- /*
- * Use these flags instead of setting em_instruction_fetch
- * directly they are used so that single stepping can be
- * switched on & off while not affecting other tracing
- */
- unsigned single_step : 1;
- unsigned instruction_fetch : 1;
- unsigned : 30;
- /*
- * These addresses are copied into cr10 & cr11 if single
- * stepping is switched off
- */
- uint32_t starting_addr;
- uint32_t ending_addr;
- union {
- per_lowcore_words words;
- per_lowcore_bits bits;
- } lowcore;
-} per_struct __attribute__((packed));
-
-typedef struct
-{
- uint32_t len;
- addr_t kernel_addr;
- addr_t process_addr;
-} ptrace_area;
-
-/*
- * S/390 specific non posix ptrace requests. I chose unusual values so
- * they are unlikely to clash with future ptrace definitions.
- */
-#define PTRACE_PEEKUSR_AREA 0x5000
-#define PTRACE_POKEUSR_AREA 0x5001
-#define PTRACE_PEEKTEXT_AREA 0x5002
-#define PTRACE_PEEKDATA_AREA 0x5003
-#define PTRACE_POKETEXT_AREA 0x5004
-#define PTRACE_POKEDATA_AREA 0x5005
-/*
- * PT_PROT definition is loosely based on hppa bsd definition in
- * gdb/hppab-nat.c
- */
-#define PTRACE_PROT 21
-
-typedef enum
-{
- ptprot_set_access_watchpoint,
- ptprot_set_write_watchpoint,
- ptprot_disable_watchpoint
-} ptprot_flags;
-
-typedef struct
-{
- addr_t lowaddr;
- addr_t hiaddr;
- ptprot_flags prot;
-} ptprot_area;
-
-/* Sequence of bytes for breakpoint illegal instruction. */
-#define S390_BREAKPOINT {0x0,0x1}
-#define S390_BREAKPOINT_U16 ((uint16_t)0x0001)
-#define S390_SYSCALL_OPCODE ((uint16_t)0x0a00)
-#define S390_SYSCALL_SIZE 2
-
-/*
- * The user_regs_struct defines the way the user registers are
- * store on the stack for signal handling.
- */
-struct user_regs_struct
-{
- psw_t psw;
- uint32_t gprs[NUM_GPRS];
- uint32_t acrs[NUM_ACRS];
- uint32_t orig_gpr2;
- s390_fp_regs fp_regs;
- /*
- * These per registers are in here so that gdb can modify them
- * itself as there is no "official" ptrace interface for hardware
- * watchpoints. This is the way intel does it.
- */
- per_struct per_info;
- addr_t ieee_instruction_pointer;
- /* Used to give failing instruction back to user for ieee exceptions */
-};
-
-#elif defined(__arm__)
-
-/* this assumes armv */
-#define USR26_MODE 0x00
-#define FIQ26_MODE 0x01
-#define IRQ26_MODE 0x02
-#define SVC26_MODE 0x03
-#define USR_MODE 0x10
-#define FIQ_MODE 0x11
-#define IRQ_MODE 0x12
-#define SVC_MODE 0x13
-#define ABT_MODE 0x17
-#define UND_MODE 0x1b
-#define SYSTEM_MODE 0x1f
-#define MODE_MASK 0x1f
-#define T_BIT 0x20
-#define F_BIT 0x40
-#define I_BIT 0x80
-#define CC_V_BIT (1 << 28)
-#define CC_C_BIT (1 << 29)
-#define CC_Z_BIT (1 << 30)
-#define CC_N_BIT (1 << 31)
-#define PCMASK 0
-
-struct pt_regs {
- long uregs[18];
-};
-
-#define ARM_cpsr uregs[16]
-#define ARM_pc uregs[15]
-#define ARM_lr uregs[14]
-#define ARM_sp uregs[13]
-#define ARM_ip uregs[12]
-#define ARM_fp uregs[11]
-#define ARM_r10 uregs[10]
-#define ARM_r9 uregs[9]
-#define ARM_r8 uregs[8]
-#define ARM_r7 uregs[7]
-#define ARM_r6 uregs[6]
-#define ARM_r5 uregs[5]
-#define ARM_r4 uregs[4]
-#define ARM_r3 uregs[3]
-#define ARM_r2 uregs[2]
-#define ARM_r1 uregs[1]
-#define ARM_r0 uregs[0]
-#define ARM_ORIG_r0 uregs[17]
-
-#elif defined(__alpha__)
-
-struct pt_regs {
- unsigned long r0;
- unsigned long r1;
- unsigned long r2;
- unsigned long r3;
- unsigned long r4;
- unsigned long r5;
- unsigned long r6;
- unsigned long r7;
- unsigned long r8;
- unsigned long r19;
- unsigned long r20;
- unsigned long r21;
- unsigned long r22;
- unsigned long r23;
- unsigned long r24;
- unsigned long r25;
- unsigned long r26;
- unsigned long r27;
- unsigned long r28;
- unsigned long hae;
-/* JRP - These are the values provided to a0-a2 by PALcode */
- unsigned long trap_a0;
- unsigned long trap_a1;
- unsigned long trap_a2;
-/* These are saved by PAL-code: */
- unsigned long ps;
- unsigned long pc;
- unsigned long gp;
- unsigned long r16;
- unsigned long r17;
- unsigned long r18;
-};
-
-struct switch_stack {
- unsigned long r9;
- unsigned long r10;
- unsigned long r11;
- unsigned long r12;
- unsigned long r13;
- unsigned long r14;
- unsigned long r15;
- unsigned long r26;
- unsigned long fp[32]; /* fp[31] is fpcr */
-};
-
-#elif defined(__mips__)
-
-/* 0 - 31 are integer registers, 32 - 63 are fp registers. */
-#define FPR_BASE 32
-#define PC 64
-#define CAUSE 65
-#define BADVADDR 66
-#define MMHI 67
-#define MMLO 68
-#define FPC_CSR 69
-#define FPC_EIR 70
-
-struct pt_regs {
- /* Pad bytes for argument save space on the stack. */
- unsigned long pad0[6];
- /* Saved main processor registers. */
- unsigned long regs[32];
- /* Other saved registers. */
- unsigned long lo;
- unsigned long hi;
- /* saved cp0 registers */
- unsigned long cp0_epc;
- unsigned long cp0_badvaddr;
- unsigned long cp0_status;
- unsigned long cp0_cause;
-};
-
-#elif defined(__sparc__)
-
-struct pt_regs {
- unsigned long psr;
- unsigned long pc;
- unsigned long npc;
- unsigned long y;
- unsigned long u_regs[16]; /* globals and ins */
-};
-
-#define UREG_G0 0
-#define UREG_G1 1
-#define UREG_G2 2
-#define UREG_G3 3
-#define UREG_G4 4
-#define UREG_G5 5
-#define UREG_G6 6
-#define UREG_G7 7
-#define UREG_I0 8
-#define UREG_I1 9
-#define UREG_I2 10
-#define UREG_I3 11
-#define UREG_I4 12
-#define UREG_I5 13
-#define UREG_I6 14
-#define UREG_I7 15
-#define UREG_WIM UREG_G0
-#define UREG_FADDR UREG_G0
-#define UREG_FP UREG_I6
-#define UREG_RETPC UREG_I7
-
-/* A register window */
-struct reg_window {
- unsigned long locals[8];
- unsigned long ins[8];
-};
-
-/* A Sparc stack frame */
-struct sparc_stackf {
- unsigned long locals[8];
- unsigned long ins[6];
- struct sparc_stackf *fp;
- unsigned long callers_pc;
- char *structptr;
- unsigned long xargs[6];
- unsigned long xxargs[1];
-};
-
-#define TRACEREG_SZ sizeof(struct pt_regs)
-#define STACKFRAME_SZ sizeof(struct sparc_stackf)
-#define REGWIN_SZ sizeof(struct reg_window)
-
-/* These are for pt_regs. */
-#define PT_PSR 0x0
-#define PT_PC 0x4
-#define PT_NPC 0x8
-#define PT_Y 0xc
-#define PT_G0 0x10
-#define PT_WIM PT_G0
-#define PT_G1 0x14
-#define PT_G2 0x18
-#define PT_G3 0x1c
-#define PT_G4 0x20
-#define PT_G5 0x24
-#define PT_G6 0x28
-#define PT_G7 0x2c
-#define PT_I0 0x30
-#define PT_I1 0x34
-#define PT_I2 0x38
-#define PT_I3 0x3c
-#define PT_I4 0x40
-#define PT_I5 0x44
-#define PT_I6 0x48
-#define PT_FP PT_I6
-#define PT_I7 0x4c
-
-/* Reg_window offsets */
-#define RW_L0 0x00
-#define RW_L1 0x04
-#define RW_L2 0x08
-#define RW_L3 0x0c
-#define RW_L4 0x10
-#define RW_L5 0x14
-#define RW_L6 0x18
-#define RW_L7 0x1c
-#define RW_I0 0x20
-#define RW_I1 0x24
-#define RW_I2 0x28
-#define RW_I3 0x2c
-#define RW_I4 0x30
-#define RW_I5 0x34
-#define RW_I6 0x38
-#define RW_I7 0x3c
-
-/* Stack_frame offsets */
-#define SF_L0 0x00
-#define SF_L1 0x04
-#define SF_L2 0x08
-#define SF_L3 0x0c
-#define SF_L4 0x10
-#define SF_L5 0x14
-#define SF_L6 0x18
-#define SF_L7 0x1c
-#define SF_I0 0x20
-#define SF_I1 0x24
-#define SF_I2 0x28
-#define SF_I3 0x2c
-#define SF_I4 0x30
-#define SF_I5 0x34
-#define SF_FP 0x38
-#define SF_PC 0x3c
-#define SF_RETP 0x40
-#define SF_XARG0 0x44
-#define SF_XARG1 0x48
-#define SF_XARG2 0x4c
-#define SF_XARG3 0x50
-#define SF_XARG4 0x54
-#define SF_XARG5 0x58
-#define SF_XXARG 0x5c
-
-/* Stuff for the ptrace system call */
-#define PTRACE_SUNATTACH 10
-#define PTRACE_SUNDETACH 11
-#define PTRACE_GETREGS 12
-#define PTRACE_SETREGS 13
-#define PTRACE_GETFPREGS 14
-#define PTRACE_SETFPREGS 15
-#define PTRACE_READDATA 16
-#define PTRACE_WRITEDATA 17
-#define PTRACE_READTEXT 18
-#define PTRACE_WRITETEXT 19
-#define PTRACE_GETFPAREGS 20
-#define PTRACE_SETFPAREGS 21
-
-#define PTRACE_GETUCODE 29 /* stupid bsd-ism */
-
-#elif defined(__powerpc__)
-
-struct pt_regs {
- unsigned long gpr[32];
- unsigned long nip;
- unsigned long msr;
- unsigned long orig_gpr3; /* Used for restarting system calls */
- unsigned long ctr;
- unsigned long link;
- unsigned long xer;
- unsigned long ccr;
- unsigned long mq; /* 601 only (not used at present) */
- /* Used on APUS to hold IPL value. */
- unsigned long trap; /* Reason for being here */
- unsigned long dar; /* Fault registers */
- unsigned long dsisr;
- unsigned long result; /* Result of a system call */
-};
-
-/*
- * Offsets used by 'ptrace' system call interface.
- * These can't be changed without breaking binary compatibility
- * with MkLinux, etc.
- */
-#define PT_R0 0
-#define PT_R1 1
-#define PT_R2 2
-#define PT_R3 3
-#define PT_R4 4
-#define PT_R5 5
-#define PT_R6 6
-#define PT_R7 7
-#define PT_R8 8
-#define PT_R9 9
-#define PT_R10 10
-#define PT_R11 11
-#define PT_R12 12
-#define PT_R13 13
-#define PT_R14 14
-#define PT_R15 15
-#define PT_R16 16
-#define PT_R17 17
-#define PT_R18 18
-#define PT_R19 19
-#define PT_R20 20
-#define PT_R21 21
-#define PT_R22 22
-#define PT_R23 23
-#define PT_R24 24
-#define PT_R25 25
-#define PT_R26 26
-#define PT_R27 27
-#define PT_R28 28
-#define PT_R29 29
-#define PT_R30 30
-#define PT_R31 31
-
-#define PT_NIP 32
-#define PT_MSR 33
-#define PT_CTR 35
-#define PT_LNK 36
-#define PT_XER 37
-#define PT_CCR 38
-#define PT_MQ 39
-
-#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
-#define PT_FPR31 (PT_FPR0 + 2*31)
-#define PT_FPSCR (PT_FPR0 + 2*32 + 1)
-
-#elif defined(__hppa__)
-
-#include <inttypes.h>
-
-struct pt_regs {
- unsigned long gr[32]; /* PSW is in gr[0] */
- uint64_t fr[32];
- unsigned long sr[ 8];
- unsigned long iasq[2];
- unsigned long iaoq[2];
- unsigned long cr27;
- unsigned long pad0; /* available for other uses */
- unsigned long orig_r28;
- unsigned long ksp;
- unsigned long kpc;
- unsigned long sar; /* CR11 */
- unsigned long iir; /* CR19 */
- unsigned long isr; /* CR20 */
- unsigned long ior; /* CR21 */
- unsigned long ipsw; /* CR22 */
-};
-
-#define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */
-#define PTRACE_GETSIGINFO 13 /* get child's siginfo structure */
-#define PTRACE_SETSIGINFO 14 /* set child's siginfo structure */
-
-#elif defined(__ia64__)
-
-struct ia64_fpreg {
- union {
- unsigned long bits[2];
- } u;
-} __attribute__ ((aligned (16)));
-
-struct pt_regs {
- unsigned long cr_ipsr; /* interrupted task's psr */
- unsigned long cr_iip; /* interrupted task's instruction pointer */
- unsigned long cr_ifs; /* interrupted task's function state */
- unsigned long ar_unat; /* interrupted task's NaT register (preserved) */
- unsigned long ar_pfs; /* prev function state */
- unsigned long ar_rsc; /* RSE configuration */
- unsigned long ar_rnat; /* RSE NaT */
- unsigned long ar_bspstore; /* RSE bspstore */
- unsigned long pr; /* 64 predicate registers (1 bit each) */
- unsigned long b6; /* scratch */
- unsigned long loadrs; /* size of dirty partition << 16 */
- unsigned long r1; /* the gp pointer */
- unsigned long r2; /* scratch */
- unsigned long r3; /* scratch */
- unsigned long r12; /* interrupted task's memory stack pointer */
- unsigned long r13; /* thread pointer */
- unsigned long r14; /* scratch */
- unsigned long r15; /* scratch */
- unsigned long r8; /* scratch (return value register 0) */
- unsigned long r9; /* scratch (return value register 1) */
- unsigned long r10; /* scratch (return value register 2) */
- unsigned long r11; /* scratch (return value register 3) */
- unsigned long r16; /* scratch */
- unsigned long r17; /* scratch */
- unsigned long r18; /* scratch */
- unsigned long r19; /* scratch */
- unsigned long r20; /* scratch */
- unsigned long r21; /* scratch */
- unsigned long r22; /* scratch */
- unsigned long r23; /* scratch */
- unsigned long r24; /* scratch */
- unsigned long r25; /* scratch */
- unsigned long r26; /* scratch */
- unsigned long r27; /* scratch */
- unsigned long r28; /* scratch */
- unsigned long r29; /* scratch */
- unsigned long r30; /* scratch */
- unsigned long r31; /* scratch */
- unsigned long ar_ccv; /* compare/exchange value (scratch) */
- unsigned long ar_fpsr; /* floating point status (preserved) */
- unsigned long b0; /* return pointer (bp) */
- unsigned long b7; /* scratch */
- struct ia64_fpreg f6; /* scratch */
- struct ia64_fpreg f7; /* scratch */
- struct ia64_fpreg f8; /* scratch */
- struct ia64_fpreg f9; /* scratch */
-};
-
-struct switch_stack {
- unsigned long caller_unat; /* user NaT collection register (preserved) */
- unsigned long ar_fpsr; /* floating-point status register */
-
- struct ia64_fpreg f2; /* preserved */
- struct ia64_fpreg f3; /* preserved */
- struct ia64_fpreg f4; /* preserved */
- struct ia64_fpreg f5; /* preserved */
-
- struct ia64_fpreg f10; /* scratch, but untouched by kernel */
- struct ia64_fpreg f11; /* scratch, but untouched by kernel */
- struct ia64_fpreg f12; /* scratch, but untouched by kernel */
- struct ia64_fpreg f13; /* scratch, but untouched by kernel */
- struct ia64_fpreg f14; /* scratch, but untouched by kernel */
- struct ia64_fpreg f15; /* scratch, but untouched by kernel */
- struct ia64_fpreg f16; /* preserved */
- struct ia64_fpreg f17; /* preserved */
- struct ia64_fpreg f18; /* preserved */
- struct ia64_fpreg f19; /* preserved */
- struct ia64_fpreg f20; /* preserved */
- struct ia64_fpreg f21; /* preserved */
- struct ia64_fpreg f22; /* preserved */
- struct ia64_fpreg f23; /* preserved */
- struct ia64_fpreg f24; /* preserved */
- struct ia64_fpreg f25; /* preserved */
- struct ia64_fpreg f26; /* preserved */
- struct ia64_fpreg f27; /* preserved */
- struct ia64_fpreg f28; /* preserved */
- struct ia64_fpreg f29; /* preserved */
- struct ia64_fpreg f30; /* preserved */
- struct ia64_fpreg f31; /* preserved */
-
- unsigned long r4; /* preserved */
- unsigned long r5; /* preserved */
- unsigned long r6; /* preserved */
- unsigned long r7; /* preserved */
-
- unsigned long b0; /* so we can force a direct return in copy_thread */
- unsigned long b1;
- unsigned long b2;
- unsigned long b3;
- unsigned long b4;
- unsigned long b5;
-
- unsigned long ar_pfs; /* previous function state */
- unsigned long ar_lc; /* loop counter (preserved) */
- unsigned long ar_unat; /* NaT bits for r4-r7 */
- unsigned long ar_rnat; /* RSE NaT collection register */
- unsigned long ar_bspstore; /* RSE dirty base (preserved) */
- unsigned long pr; /* 64 predicate registers (1 bit each) */
-};
-
-#endif
-
-extern long int ptrace(int request, ...) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/reboot.h b/mdk-stage1/dietlibc/include/sys/reboot.h
deleted file mode 100644
index b17a556e5..000000000
--- a/mdk-stage1/dietlibc/include/sys/reboot.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SYS_REBOOT_H
-#define _SYS_REBOOT_H
-
-#define LINUX_REBOOT_MAGIC1 0xfee1dead
-#define LINUX_REBOOT_MAGIC2 672274793
-#define LINUX_REBOOT_MAGIC2A 85072278
-#define LINUX_REBOOT_MAGIC2B 369367448
-
-#define LINUX_REBOOT_CMD_RESTART 0x01234567
-#define LINUX_REBOOT_CMD_HALT 0xCDEF0123
-#define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF
-#define LINUX_REBOOT_CMD_CAD_OFF 0x00000000
-#define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC
-#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4
-
-/* Reboot or halt the system. */
-int reboot (int flag);
-
-/* the glibc people changed their macro names :-/ */
-#define RB_AUTOBOOT 0x01234567
-#define RB_HALT_SYSTEM 0xcdef0123
-#define RB_ENABLE_CAD 0x89abcdef
-#define RB_DISABLE_CAD 0
-#define RB_POWER_OFF 0x4321fedc
-
-#endif /* _SYS_REBOOT_H */
diff --git a/mdk-stage1/dietlibc/include/sys/resource.h b/mdk-stage1/dietlibc/include/sys/resource.h
deleted file mode 100644
index df31b82ab..000000000
--- a/mdk-stage1/dietlibc/include/sys/resource.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _SYS_RESOURCE_H
-#define _SYS_RESOURCE_H
-
-#include <time.h>
-#include <sys/cdefs.h>
-
-#define RUSAGE_SELF 0
-#define RUSAGE_CHILDREN (-1)
-#define RUSAGE_BOTH (-2) /* sys_wait4() uses this */
-
-struct rusage {
- struct timeval ru_utime; /* user time used */
- struct timeval ru_stime; /* system time used */
- long ru_maxrss; /* maximum resident set size */
- long ru_ixrss; /* integral shared memory size */
- long ru_idrss; /* integral unshared data size */
- long ru_isrss; /* integral unshared stack size */
- long ru_minflt; /* page reclaims */
- long ru_majflt; /* page faults */
- long ru_nswap; /* swaps */
- long ru_inblock; /* block input operations */
- long ru_oublock; /* block output operations */
- long ru_msgsnd; /* messages sent */
- long ru_msgrcv; /* messages received */
- long ru_nsignals; /* signals received */
- long ru_nvcsw; /* voluntary context switches */
- long ru_nivcsw; /* involuntary " */
-};
-
-struct rlimit {
- unsigned long rlim_cur;
- unsigned long rlim_max;
-};
-
-#define PRIO_MIN (-20)
-#define PRIO_MAX 20
-
-#define PRIO_PROCESS 0
-#define PRIO_PGRP 1
-#define PRIO_USER 2
-
-#define RLIMIT_CPU 0 /* CPU time in ms */
-#define RLIMIT_FSIZE 1 /* Maximum filesize */
-#define RLIMIT_DATA 2 /* max data size */
-#define RLIMIT_STACK 3 /* max stack size */
-#define RLIMIT_CORE 4 /* max core file size */
-#define RLIMIT_RSS 5 /* max resident set size */
-#define RLIMIT_NPROC 6 /* max number of processes */
-#define RLIMIT_NOFILE 7 /* max number of open files */
-#define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
-#define RLIMIT_AS 9 /* address space limit */
-#define RLIMIT_LOCKS 10 /* maximum file locks held */
-
-#define RLIM_NLIMITS 11
-
-#define RLIM_INFINITY ((long)(~0UL>>1))
-
-int getpriority(int which, int who) __THROW;
-int setpriority(int which, int who, int prio) __THROW;
-
-int getrlimit (int resource, struct rlimit *rlim);
-int getrusage (int who, struct rusage *usage);
-int setrlimit (int resource, const struct rlimit *rlim);
-
-typedef unsigned long rlim_t;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/s390-ioctl.h b/mdk-stage1/dietlibc/include/sys/s390-ioctl.h
deleted file mode 100644
index 4682a0fda..000000000
--- a/mdk-stage1/dietlibc/include/sys/s390-ioctl.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The i386 ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 14
-#define _IOC_DIRBITS 2
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits.
- */
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define FIOQSIZE 0x545E
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
diff --git a/mdk-stage1/dietlibc/include/sys/select.h b/mdk-stage1/dietlibc/include/sys/select.h
deleted file mode 100644
index ce67b8bee..000000000
--- a/mdk-stage1/dietlibc/include/sys/select.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _SYS_SELECT_H
-#define _SYS_SELECT_H
-
-typedef long int fd_mask;
-
-#define NFDBITS (8 * sizeof(unsigned long))
-#define FD_SETSIZE 1024
-#define __FDSET_LONGS (FD_SETSIZE/NFDBITS)
-#define __FDELT(d) ((d) / NFDBITS)
-#define __FDMASK(d) (1UL << ((d) % NFDBITS))
-
-typedef struct {
- unsigned long fds_bits [__FDSET_LONGS];
-} fd_set;
-
-#define FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
-#define FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
-#define FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
-#define FD_ZERO(set) \
- ((void) memset ((void*) (set), 0, sizeof (fd_set)))
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sem.h b/mdk-stage1/dietlibc/include/sys/sem.h
deleted file mode 100644
index ad16b5f53..000000000
--- a/mdk-stage1/dietlibc/include/sys/sem.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _SYS_SEM_H
-#define _SYS_SEM_H
-
-#include <sys/ipc.h>
-
-/* semop flags */
-#define SEM_UNDO 0x1000 /* undo the operation on exit */
-
-/* semctl Command Definitions. */
-#define GETPID 11 /* get sempid */
-#define GETVAL 12 /* get semval */
-#define GETALL 13 /* get all semval's */
-#define GETNCNT 14 /* get semncnt */
-#define GETZCNT 15 /* get semzcnt */
-#define SETVAL 16 /* set semval */
-#define SETALL 17 /* set all semval's */
-
-/* ipcs ctl cmds */
-#define SEM_STAT 18
-#define SEM_INFO 19
-
-struct semid_ds {
- struct ipc_perm sem_perm; /* permissions .. see ipc.h */
- time_t sem_otime; /* last semop time */
- time_t sem_ctime; /* last change time */
- struct sem *sem_base; /* ptr to first semaphore in array */
- struct sem_queue *sem_pending; /* pending operations to be processed */
- struct sem_queue **sem_pending_last; /* last pending operation */
- struct sem_undo *undo; /* undo requests on this array */
- unsigned short sem_nsems; /* no. of semaphores in array */
-};
-
-/* semop system calls takes an array of these. */
-struct sembuf {
- unsigned short sem_num; /* semaphore index in array */
- short sem_op; /* semaphore operation */
- short sem_flg; /* operation flags */
-};
-
-/* please complain to the glibc goons for the following misbehaviour */
-#if 0
-/* arg for semctl system calls. */
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
- void *__pad;
-};
-#endif
-#define _SEM_SEMUN_UNDEFINED
-
-struct seminfo {
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
-};
-
-#define SEMMNI 128 /* <= IPCMNI max # of semaphore identifiers */
-#define SEMMSL 250 /* <= 8 000 max num of semaphores per id */
-#define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */
-#define SEMOPM 32 /* <= 1 000 max num of ops per semop call */
-#define SEMVMX 32767 /* <= 32767 semaphore maximum value */
-
-extern int semget( key_t key, int nsems, int semflg) __THROW;
-
-/* The prototype really is:
- * extern int semctl(int semid, int semnum, int cmd, union semun arg) __THROW;
- * glibc bug compatibility forces us to write it like this: */
-extern int semctl(int semid, int semnum, int cmd, ...) __THROW;
-
-extern int semop(int semid, struct sembuf *sops, unsigned nsops) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sendfile.h b/mdk-stage1/dietlibc/include/sys/sendfile.h
deleted file mode 100644
index ce6630676..000000000
--- a/mdk-stage1/dietlibc/include/sys/sendfile.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_SENDFILE_H
-#define _SYS_SENDFILE_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-extern ssize_t sendfile (int out_fd, int in_fd, off_t* offset,
- size_t count) __THROW;
-
-extern ssize_t sendfile64 (int out_fd, int in_fd, loff_t* offset,
- size_t count) __THROW;
-
-#endif /* sys/sendfile.h */
diff --git a/mdk-stage1/dietlibc/include/sys/shm.h b/mdk-stage1/dietlibc/include/sys/shm.h
deleted file mode 100644
index 879a8786e..000000000
--- a/mdk-stage1/dietlibc/include/sys/shm.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <sys/ipc.h>
-
-#define SHMMAX 0x2000000 /* max shared seg size (bytes) */
-#define SHMMIN 1 /* min shared seg size (bytes) */
-#define SHMMNI 4096 /* max num of segs system wide */
-#define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) /* max shm system wide (pages) */
-#define SHMSEG SHMMNI /* max shared segs per process */
-
-struct shmid_ds {
- struct ipc_perm shm_perm; /* operation perms */
- int shm_segsz; /* size of segment (bytes) */
- time_t shm_atime; /* last attach time */
- time_t shm_dtime; /* last detach time */
- time_t shm_ctime; /* last change time */
- pid_t shm_cpid; /* pid of creator */
- pid_t shm_lpid; /* pid of last operator */
- unsigned short shm_nattch; /* no. of current attaches */
- unsigned short shm_unused; /* compatibility */
- void *shm_unused2; /* ditto - used by DIPC */
- void *shm_unused3; /* unused */
-};
-
-/* permission flag for shmget */
-#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
-#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
-
-/* mode for attach */
-#define SHM_RDONLY 010000 /* read-only access */
-#define SHM_RND 020000 /* round attach address to SHMLBA boundary */
-#define SHM_REMAP 040000 /* take-over region on attach */
-
-/* super user shmctl commands */
-#define SHM_LOCK 11
-#define SHM_UNLOCK 12
-
-/* ipcs ctl commands */
-#define SHM_STAT 13
-#define SHM_INFO 14
-
-/* Obsolete, used only for backwards compatibility */
-struct shminfo {
- int shmmax;
- int shmmin;
- int shmmni;
- int shmseg;
- int shmall;
-};
-
-struct shm_info {
- int used_ids;
- unsigned long shm_tot; /* total allocated shm */
- unsigned long shm_rss; /* total resident shm */
- unsigned long shm_swp; /* total swapped shm */
- unsigned long swap_attempts;
- unsigned long swap_successes;
-};
-
-#if defined(__i386__) || defined(__mips__) || defined(__arm__) || defined(__powerpc__) || defined(__s390__) || defined(__hppa__) || defined(__x86_64__) || defined(__ia64__)
-#define PAGE_SIZE 4096UL
-#define PAGE_SHIFT 12
-#elif defined(__alpha__) || defined(__sparc__)
-/* sun4* has 4k except sun4 architecture, sparc64 has 8k */
-#define PAGE_SIZE 8192UL
-#define PAGE_SHIFT 13
-#endif
-
-extern int shmget(key_t key, int size, int shmflg) __THROW;
-extern void *shmat(int shmid, const void *shmaddr, int shmflg) __THROW;
-extern int shmdt (const void *shmaddr) __THROW;
-extern int shmctl(int shmid, int cmd, struct shmid_ds *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/signal.h b/mdk-stage1/dietlibc/include/sys/signal.h
deleted file mode 100644
index 2e602dad8..000000000
--- a/mdk-stage1/dietlibc/include/sys/signal.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <signal.h>
diff --git a/mdk-stage1/dietlibc/include/sys/socket.h b/mdk-stage1/dietlibc/include/sys/socket.h
deleted file mode 100644
index a1130c4f6..000000000
--- a/mdk-stage1/dietlibc/include/sys/socket.h
+++ /dev/null
@@ -1,526 +0,0 @@
-#ifndef _SYS_SOCKET_H
-#define _SYS_SOCKET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* For setsockoptions(2) */
-#if defined(__alpha__) || defined(__mips__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_REUSEADDR 0x0004
-#define SO_TYPE 0x1008
-#define SO_ERROR 0x1007
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_KEEPALIVE 0x0008
-#define SO_OOBINLINE 0x0100
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 0x0080
-#define SO_BSDCOMPAT 14
-/* To add :#define SO_REUSEPORT 15 */
-#define SO_PASSCRED 17
-#define SO_PEERCRED 18
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVTIMEO 0x1006
-#define SO_SNDTIMEO 0x1005
-#define SO_ACCEPTCONN 0x1009
-
-#define SO_STYLE SO_TYPE /* Synonym */
-
-#elif defined(__hppa__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_REUSEADDR 0x0004
-#define SO_KEEPALIVE 0x0008
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_LINGER 0x0080
-#define SO_OOBINLINE 0x0100
-/* To add :#define SO_REUSEPORT 0x0200 */
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDTIMEO 0x1005
-#define SO_RCVTIMEO 0x1006
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-#define SO_PEERNAME 0x2000
-
-#define SO_NO_CHECK 0x400b
-#define SO_PRIORITY 0x400c
-#define SO_BSDCOMPAT 0x400e
-#define SO_PASSCRED 0x4010
-#define SO_PEERCRED 0x4011
-#define SO_TIMESTAMP 0x4012
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 0x4016
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 0x4017
-#define SO_SECURITY_ENCRYPTION_NETWORK 0x4018
-
-#define SO_BINDTODEVICE 0x4019
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 0x401a
-#define SO_DETACH_FILTER 0x401b
-
-#define SO_ACCEPTCONN 0x401c
-
-#elif defined(__sparc__)
-#define SOL_SOCKET 0xffff
-
-#define SO_DEBUG 0x0001
-#define SO_PASSCRED 0x0002
-#define SO_REUSEADDR 0x0004
-#define SO_KEEPALIVE 0x0008
-#define SO_DONTROUTE 0x0010
-#define SO_BROADCAST 0x0020
-#define SO_PEERCRED 0x0040
-#define SO_LINGER 0x0080
-#define SO_OOBINLINE 0x0100
-/* To add :#define SO_REUSEPORT 0x0200 */
-#define SO_BSDCOMPAT 0x0400
-#define SO_RCVLOWAT 0x0800
-#define SO_SNDLOWAT 0x1000
-#define SO_RCVTIMEO 0x2000
-#define SO_SNDTIMEO 0x4000
-#define SO_ACCEPTCONN 0x8000
-
-#define SO_DONTLINGER (~SO_LINGER) /* Older SunOS compat. hack */
-
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-
-#define SO_ATTACH_FILTER 0x001a
-#define SO_DETACH_FILTER 0x001b
-
-#define SO_PEERNAME 0x001c
-#define SO_TIMESTAMP 0x001d
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 0x5001
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002
-#define SO_SECURITY_ENCRYPTION_NETWORK 0x5004
-
-#else
-
-#define SOL_SOCKET 1
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-/* To add :#define SO_REUSEPORT 15 */
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-#define SO_ACCEPTCONN 30
-
-#endif
-
-#if !defined(__hppa__) && !defined(__sparc__)
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-#endif
-
-/* Socket types. */
-#ifdef __mips__
-#define SOCK_DGRAM 1 /* datagram (conn.less) socket */
-#define SOCK_STREAM 2 /* stream (connection) socket */
-#else
-#define SOCK_STREAM 1 /* stream (connection) socket */
-#define SOCK_DGRAM 2 /* datagram (conn.less) socket */
-#endif
-#define SOCK_RAW 3 /* raw socket */
-#define SOCK_RDM 4 /* reliably-delivered message */
-#define SOCK_SEQPACKET 5 /* sequential packet socket */
-#define SOCK_PACKET 10 /* linux specific way of */
- /* getting packets at the dev */
- /* level. For writing rarp and */
- /* other similar things on the */
- /* user level. */
-
-struct sockaddr {
- sa_family_t sa_family;
- char sa_data[14];
-};
-
-struct linger {
- int l_onoff;
- int l_linger;
-};
-
-struct iovec {
- void* iov_base; /* BSD uses caddr_t (1003.1g requires void *) */
- size_t iov_len; /* Must be size_t (1003.1g) */
-};
-
-struct msghdr {
- void* msg_name; /* Socket name */
- int msg_namelen; /* Length of name */
- struct iovec* msg_iov; /* Data blocks */
- size_t msg_iovlen; /* Number of blocks */
- void* msg_control; /* Per protocol magic (eg BSD file descriptor passing) */
- size_t msg_controllen; /* Length of cmsg list */
- unsigned msg_flags;
-};
-
-struct cmsghdr {
- size_t cmsg_len; /* data byte count, including hdr */
- int cmsg_level; /* originating protocol */
- int cmsg_type; /* protocol-specific type */
-};
-
-#define UIO_FASTIOV 8
-#define UIO_MAXIOV 1024
-
-/* "Socket"-level control message types: */
-
-#define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */
-#define SCM_CREDENTIALS 0x02 /* rw: struct ucred */
-#define SCM_CONNECT 0x03 /* rw: struct scm_connect */
-
-struct ucred {
- unsigned int pid;
- unsigned int uid;
- unsigned int gid;
-};
-
-/* Supported address families. */
-#define AF_UNSPEC 0
-#define AF_UNIX 1 /* Unix domain sockets */
-#define AF_LOCAL 1 /* POSIX name for AF_UNIX */
-#define AF_INET 2 /* Internet IP Protocol */
-#define AF_AX25 3 /* Amateur Radio AX.25 */
-#define AF_IPX 4 /* Novell IPX */
-#define AF_APPLETALK 5 /* AppleTalk DDP */
-#define AF_NETROM 6 /* Amateur Radio NET/ROM */
-#define AF_BRIDGE 7 /* Multiprotocol bridge */
-#define AF_ATMPVC 8 /* ATM PVCs */
-#define AF_X25 9 /* Reserved for X.25 project */
-#define AF_INET6 10 /* IP version 6 */
-#define AF_ROSE 11 /* Amateur Radio X.25 PLP */
-#define AF_DECnet 12 /* Reserved for DECnet project */
-#define AF_NETBEUI 13 /* Reserved for 802.2LLC project*/
-#define AF_SECURITY 14 /* Security callback pseudo AF */
-#define AF_KEY 15 /* PF_KEY key management API */
-#define AF_NETLINK 16
-#define AF_ROUTE AF_NETLINK /* Alias to emulate 4.4BSD */
-#define AF_PACKET 17 /* Packet family */
-#define AF_ASH 18 /* Ash */
-#define AF_ECONET 19 /* Acorn Econet */
-#define AF_ATMSVC 20 /* ATM SVCs */
-#define AF_SNA 22 /* Linux SNA Project (nutters!) */
-#define AF_IRDA 23 /* IRDA sockets */
-#define AF_PPPOX 24 /* PPPoX sockets */
-#define AF_WANPIPE 25 /* Wanpipe API Sockets */
-#define AF_MAX 32 /* For now.. */
-
-/* Protocol families, same as address families. */
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_LOCAL AF_LOCAL
-#define PF_INET AF_INET
-#define PF_AX25 AF_AX25
-#define PF_IPX AF_IPX
-#define PF_APPLETALK AF_APPLETALK
-#define PF_NETROM AF_NETROM
-#define PF_BRIDGE AF_BRIDGE
-#define PF_ATMPVC AF_ATMPVC
-#define PF_X25 AF_X25
-#define PF_INET6 AF_INET6
-#define PF_ROSE AF_ROSE
-#define PF_DECnet AF_DECnet
-#define PF_NETBEUI AF_NETBEUI
-#define PF_SECURITY AF_SECURITY
-#define PF_KEY AF_KEY
-#define PF_NETLINK AF_NETLINK
-#define PF_ROUTE AF_ROUTE
-#define PF_PACKET AF_PACKET
-#define PF_ASH AF_ASH
-#define PF_ECONET AF_ECONET
-#define PF_ATMSVC AF_ATMSVC
-#define PF_SNA AF_SNA
-#define PF_IRDA AF_IRDA
-#define PF_PPPOX AF_PPPOX
-#define PF_WANPIPE AF_WANPIPE
-#define PF_MAX AF_MAX
-
-/* Maximum queue length specifiable by listen. */
-#define SOMAXCONN 128
-
-/* Flags we can use with send/ and recv.
- Added those for 1003.1g not all are supported yet */
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-#define MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */
-#define MSG_CTRUNC 8
-#define MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */
-#define MSG_TRUNC 0x20
-#define MSG_DONTWAIT 0x40 /* Nonblocking io */
-#define MSG_EOR 0x80 /* End of record */
-#define MSG_WAITALL 0x100 /* Wait for a full request */
-#define MSG_FIN 0x200
-#define MSG_EOF MSG_FIN
-#define MSG_SYN 0x400
-#define MSG_CONFIRM 0x800 /* Confirm path validity */
-#define MSG_RST 0x1000
-#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
-#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */
-#define MSG_MORE 0x8000 /* Sender will send more */
-
-/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
-#define SOL_IP 0
-/* #define SOL_ICMP 1 No-no-no! Due to Linux :-) we cannot use SOL_ICMP=1 */
-#define SOL_TCP 6
-#define SOL_UDP 17
-#define SOL_IPV6 41
-#define SOL_ICMPV6 58
-#define SOL_RAW 255
-#define SOL_IPX 256
-#define SOL_AX25 257
-#define SOL_ATALK 258
-#define SOL_NETROM 259
-#define SOL_ROSE 260
-#define SOL_DECNET 261
-#define SOL_X25 262
-#define SOL_PACKET 263
-#define SOL_ATM 264 /* ATM layer (cell level) */
-#define SOL_AAL 265 /* ATM Adaption Layer (packet level) */
-#define SOL_IRDA 266
-
-/* IPX options */
-#define IPX_TYPE 1
-
-#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) )
-#define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg))
-#define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg))
-
-static inline struct cmsghdr* __cmsg_nxthdr(void *__ctl, size_t __size, struct cmsghdr *__cmsg)
-{
- struct cmsghdr * __ptr;
- __ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) + CMSG_ALIGN(__cmsg->cmsg_len));
- if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size)
- return (struct cmsghdr *)0;
- return __ptr;
-}
-
-static inline struct cmsghdr* cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg)
-{
- return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
-}
-
-#define CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
-#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len))
-#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
-
-#define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? \
- (struct cmsghdr *)(ctl) : \
- (struct cmsghdr *)NULL)
-#define CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
-
-struct sockaddr_storage {
- sa_family_t ss_family;
- uint32_t __ss_align;
- char __ss_padding[(128 - (2 * sizeof (uint32_t ))) ];
-};
-
-#ifndef SOCK_DGRAM
-/* the Linux kernel headers suck really badly on non-x86 */
-#define SOCK_STREAM 1 /* stream (connection) socket */
-#define SOCK_DGRAM 2 /* datagram (conn.less) socket */
-#define SOCK_RAW 3 /* raw socket */
-#define SOCK_RDM 4 /* reliably-delivered message */
-#define SOCK_SEQPACKET 5 /* sequential packet socket */
-#define SOCK_PACKET 10 /* linux specific way of */
-#endif
-
-int socket(int domain, int type, int protocol) __THROW;
-int accept(int s, struct sockaddr *addr, socklen_t *addrlen) __THROW;
-int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) __THROW;
-int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen) __THROW;
-int recv(int s, void *buf, size_t len, int flags) __THROW;
-int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) __THROW;
-int recvmsg(int s, struct msghdr *msg, int flags) __THROW;
-int send(int s, const void *msg, size_t len, int flags) __THROW;
-int sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) __THROW;
-int sendmsg(int s, const struct msghdr *msg, int flags) __THROW;
-
-int getpeername(int s, struct sockaddr *name, socklen_t *namelen) __THROW;
-int getsockname(int s , struct sockaddr * name , socklen_t * namelen) __THROW;
-
-int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen) __THROW;
-int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen) __THROW;
-
-int listen(int s, int backlog) __THROW;
-
-#define SHUT_RD 0
-#define SHUT_WR 1
-#define SHUT_RDWR 2
-int shutdown(int s, int how) __THROW;
-
-int socketpair(int d, int type, int protocol, int sv[2]);
-
-/* currently not supported: */
-#define NI_NOFQDN 1
-
-#define NI_NUMERICHOST 2
-#define NI_NAMEREQD 4
-#define NI_NUMERICSERV 8
-#define NI_DGRAM 16
-
-struct addrinfo {
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- struct sockaddr *ai_addr;
- char *ai_canonname;
- struct addrinfo *ai_next;
-};
-
-int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
- size_t hostlen, char *serv, size_t servlen, int flags) __THROW;
-int getaddrinfo(const char *node, const char *service, const struct
- addrinfo *hints, struct addrinfo **res) __THROW;
-void freeaddrinfo(struct addrinfo *res) __THROW;
-const char *gai_strerror(int errcode) __THROW;
-
-#define EAI_FAMILY -1
-#define EAI_SOCKTYPE -2
-#define EAI_BADFLAGS -3
-#define EAI_NONAME -4
-#define EAI_SERVICE -5
-#define EAI_ADDRFAMILY -6
-#define EAI_NODATA -7
-#define EAI_MEMORY -8
-#define EAI_FAIL -9
-#define EAI_AGAIN -10
-#define EAI_SYSTEM -11
-
-#define AI_NUMERICHOST 1
-#define AI_CANONNAME 2
-#define AI_PASSIVE 4
-
-/* Linux-specific socket ioctls */
-#define SIOCINQ FIONREAD
-#define SIOCOUTQ TIOCOUTQ
-
-/* Routing table calls. */
-#define SIOCADDRT 0x890B /* add routing table entry */
-#define SIOCDELRT 0x890C /* delete routing table entry */
-#define SIOCRTMSG 0x890D /* call to routing system */
-
-/* Socket configuration controls. */
-#define SIOCGIFNAME 0x8910 /* get iface name */
-#define SIOCSIFLINK 0x8911 /* set iface channel */
-#define SIOCGIFCONF 0x8912 /* get iface list */
-#define SIOCGIFFLAGS 0x8913 /* get flags */
-#define SIOCSIFFLAGS 0x8914 /* set flags */
-#define SIOCGIFADDR 0x8915 /* get PA address */
-#define SIOCSIFADDR 0x8916 /* set PA address */
-#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
-#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
-#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
-#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
-#define SIOCGIFNETMASK 0x891b /* get network PA mask */
-#define SIOCSIFNETMASK 0x891c /* set network PA mask */
-#define SIOCGIFMETRIC 0x891d /* get metric */
-#define SIOCSIFMETRIC 0x891e /* set metric */
-#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
-#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
-#define SIOCGIFMTU 0x8921 /* get MTU size */
-#define SIOCSIFMTU 0x8922 /* set MTU size */
-#define SIOCSIFNAME 0x8923 /* set interface name */
-#define SIOCSIFHWADDR 0x8924 /* set hardware address */
-#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
-#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931 /* Multicast address lists */
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
-#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
-#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936 /* delete PA address */
-#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
-#define SIOCGIFCOUNT 0x8938 /* get number of devices */
-
-#define SIOCGIFBR 0x8940 /* Bridging support */
-#define SIOCSIFBR 0x8941 /* Set bridging options */
-
-#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
-#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
-
-#define SIOCGIFDIVERT 0x8944 /* Frame diversion support */
-#define SIOCSIFDIVERT 0x8945 /* Set frame diversion options */
-
-#define SIOCETHTOOL 0x8946 /* Ethtool interface */
-
-/* ARP cache control calls. */
- /* 0x8950 - 0x8952 * obsolete calls, don't re-use */
-#define SIOCDARP 0x8953 /* delete ARP table entry */
-#define SIOCGARP 0x8954 /* get ARP table entry */
-#define SIOCSARP 0x8955 /* set ARP table entry */
-
-/* RARP cache control calls. */
-#define SIOCDRARP 0x8960 /* delete RARP table entry */
-#define SIOCGRARP 0x8961 /* get RARP table entry */
-#define SIOCSRARP 0x8962 /* set RARP table entry */
-
-/* Driver configuration calls */
-
-#define SIOCGIFMAP 0x8970 /* Get device parameters */
-#define SIOCSIFMAP 0x8971 /* Set device parameters */
-
-/* DLCI configuration calls */
-
-#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
-#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
-
-#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
-
-#define _LINUX_SOCKET_H
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/soundcard.h b/mdk-stage1/dietlibc/include/sys/soundcard.h
deleted file mode 100644
index e8766499a..000000000
--- a/mdk-stage1/dietlibc/include/sys/soundcard.h
+++ /dev/null
@@ -1,1300 +0,0 @@
-#ifndef _SYS_SOUNDCARD_H
-#define _SYS_SOUNDCARD_H
-
-/*
- * Copyright by Hannu Savolainen 1993-1997
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer. 2.
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-/*
- * OSS interface version. With versions earlier than 3.6 this value is
- * an integer with value less than 361. In versions 3.6 and later
- * it's a six digit hexadecimal value. For example value
- * of 0x030600 represents OSS version 3.6.0.
- * Use ioctl(fd, OSS_GETVERSION, &int) to get the version number of
- * the currently active driver.
- */
-#define SOUND_VERSION 0x030802
-#define OPEN_SOUND_SYSTEM
-
-/* In Linux we need to be prepared for cross compiling */
-#include <sys/ioctl.h>
-
-/*
- * Supported card ID numbers (Should be somewhere else?)
- */
-
-#define SNDCARD_ADLIB 1
-#define SNDCARD_SB 2
-#define SNDCARD_PAS 3
-#define SNDCARD_GUS 4
-#define SNDCARD_MPU401 5
-#define SNDCARD_SB16 6
-#define SNDCARD_SB16MIDI 7
-#define SNDCARD_UART6850 8
-#define SNDCARD_GUS16 9
-#define SNDCARD_MSS 10
-#define SNDCARD_PSS 11
-#define SNDCARD_SSCAPE 12
-#define SNDCARD_PSS_MPU 13
-#define SNDCARD_PSS_MSS 14
-#define SNDCARD_SSCAPE_MSS 15
-#define SNDCARD_TRXPRO 16
-#define SNDCARD_TRXPRO_SB 17
-#define SNDCARD_TRXPRO_MPU 18
-#define SNDCARD_MAD16 19
-#define SNDCARD_MAD16_MPU 20
-#define SNDCARD_CS4232 21
-#define SNDCARD_CS4232_MPU 22
-#define SNDCARD_MAUI 23
-#define SNDCARD_PSEUDO_MSS 24
-#define SNDCARD_GUSPNP 25
-#define SNDCARD_UART401 26
-/* Sound card numbers 27 to N are reserved. Don't add more numbers here. */
-
-/***********************************
- * IOCTL Commands for /dev/sequencer
- */
-
-#ifndef _SIOWR
-#if defined(_IOWR) && (defined(_AIX) || (!defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__)))
-/* Use already defined ioctl defines if they exist (except with Sun or Sparc) */
-#define SIOCPARM_MASK IOCPARM_MASK
-#define SIOC_VOID IOC_VOID
-#define SIOC_OUT IOC_OUT
-#define SIOC_IN IOC_IN
-#define SIOC_INOUT IOC_INOUT
-#define _SIOC_SIZE _IOC_SIZE
-#define _SIOC_DIR _IOC_DIR
-#define _SIOC_NONE _IOC_NONE
-#define _SIOC_READ _IOC_READ
-#define _SIOC_WRITE _IOC_WRITE
-#define _SIO _IO
-#define _SIOR _IOR
-#define _SIOW _IOW
-#define _SIOWR _IOWR
-#else
-
-/* Ioctl's have the command encoded in the lower word,
- * and the size of any in or out parameters in the upper
- * word. The high 2 bits of the upper word are used
- * to encode the in/out status of the parameter; for now
- * we restrict parameters to at most 8191 bytes.
- */
-/* #define SIOCTYPE (0xff<<8) */
-#define SIOCPARM_MASK 0x1fff /* parameters must be < 8192 bytes */
-#define SIOC_VOID 0x00000000 /* no parameters */
-#define SIOC_OUT 0x20000000 /* copy out parameters */
-#define SIOC_IN 0x40000000 /* copy in parameters */
-#define SIOC_INOUT (SIOC_IN|SIOC_OUT)
-/* the 0x20000000 is so we can distinguish new ioctl's from old */
-#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
-#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-/* this should be _SIORW, but stdio got there first */
-#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
-#define _SIOC_DIR(x) (x & 0xf0000000)
-#define _SIOC_NONE SIOC_VOID
-#define _SIOC_READ SIOC_OUT
-#define _SIOC_WRITE SIOC_IN
-# endif /* _IOWR */
-#endif /* !_SIOWR */
-
-#define SNDCTL_SEQ_RESET _SIO ('Q', 0)
-#define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
-#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
-#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int) /* Set/get timer resolution (HZ) */
-#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
-#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
-#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
-#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument) /* Obsolete. Don't use!!!!!! */
-#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
-#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
-#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
-#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
-#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
-#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
-#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int) /* in=dev#, out=memsize */
-#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int) /* in=dev# */
-#define SNDCTL_SEQ_PANIC _SIO ('Q',17)
-#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
-#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
-#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info)
-#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control)
-#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample)
-
-typedef struct synth_control
-{
- int devno; /* Synthesizer # */
- char data[4000]; /* Device spesific command/data record */
-}synth_control;
-
-typedef struct remove_sample
-{
- int devno; /* Synthesizer # */
- int bankno; /* MIDI bank # (0=General MIDI) */
- int instrno; /* MIDI instrument number */
-} remove_sample;
-
-typedef struct seq_event_rec {
- unsigned char arr[8];
-} seq_event_rec;
-
-#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
-#define SNDCTL_TMR_START _SIO ('T', 2)
-#define SNDCTL_TMR_STOP _SIO ('T', 3)
-#define SNDCTL_TMR_CONTINUE _SIO ('T', 4)
-#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
-#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
-# define TMR_INTERNAL 0x00000001
-# define TMR_EXTERNAL 0x00000002
-# define TMR_MODE_MIDI 0x00000010
-# define TMR_MODE_FSK 0x00000020
-# define TMR_MODE_CLS 0x00000040
-# define TMR_MODE_SMPTE 0x00000080
-#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int)
-#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int)
-
-/*
- * Some big endian/little endian handling macros
- */
-
-#if defined(_AIX) || defined(AIX) || defined(sparc) || defined(__sparc__) || defined(HPPA) || defined(PPC)
-/* Big endian machines */
-# define _PATCHKEY(id) (0xfd00|id)
-# define AFMT_S16_NE AFMT_S16_BE
-#else
-# define _PATCHKEY(id) ((id<<8)|0xfd)
-# define AFMT_S16_NE AFMT_S16_LE
-#endif
-
-/*
- * Sample loading mechanism for internal synthesizers (/dev/sequencer)
- * The following patch_info structure has been designed to support
- * Gravis UltraSound. It tries to be universal format for uploading
- * sample based patches but is probably too limited.
- *
- * (PBD) As Hannu guessed, the GUS structure is too limited for
- * the WaveFront, but this is the right place for a constant definition.
- */
-
-struct patch_info {
- unsigned short key; /* Use WAVE_PATCH here */
-#define WAVE_PATCH _PATCHKEY(0x04)
-#define GUS_PATCH WAVE_PATCH
-#define WAVEFRONT_PATCH _PATCHKEY(0x06)
-
- short device_no; /* Synthesizer number */
- short instr_no; /* Midi pgm# */
-
- unsigned int mode;
-/*
- * The least significant byte has the same format than the GUS .PAT
- * files
- */
-#define WAVE_16_BITS 0x01 /* bit 0 = 8 or 16 bit wave data. */
-#define WAVE_UNSIGNED 0x02 /* bit 1 = Signed - Unsigned data. */
-#define WAVE_LOOPING 0x04 /* bit 2 = looping enabled-1. */
-#define WAVE_BIDIR_LOOP 0x08 /* bit 3 = Set is bidirectional looping. */
-#define WAVE_LOOP_BACK 0x10 /* bit 4 = Set is looping backward. */
-#define WAVE_SUSTAIN_ON 0x20 /* bit 5 = Turn sustaining on. (Env. pts. 3)*/
-#define WAVE_ENVELOPES 0x40 /* bit 6 = Enable envelopes - 1 */
-#define WAVE_FAST_RELEASE 0x80 /* bit 7 = Shut off immediately after note off */
- /* (use the env_rate/env_offs fields). */
-/* Linux specific bits */
-#define WAVE_VIBRATO 0x00010000 /* The vibrato info is valid */
-#define WAVE_TREMOLO 0x00020000 /* The tremolo info is valid */
-#define WAVE_SCALE 0x00040000 /* The scaling info is valid */
-#define WAVE_FRACTIONS 0x00080000 /* Fraction information is valid */
-/* Reserved bits */
-#define WAVE_ROM 0x40000000 /* For future use */
-#define WAVE_MULAW 0x20000000 /* For future use */
-/* Other bits must be zeroed */
-
- int len; /* Size of the wave data in bytes */
- int loop_start, loop_end; /* Byte offsets from the beginning */
-
-/*
- * The base_freq and base_note fields are used when computing the
- * playback speed for a note. The base_note defines the tone frequency
- * which is heard if the sample is played using the base_freq as the
- * playback speed.
- *
- * The low_note and high_note fields define the minimum and maximum note
- * frequencies for which this sample is valid. It is possible to define
- * more than one samples for an instrument number at the same time. The
- * low_note and high_note fields are used to select the most suitable one.
- *
- * The fields base_note, high_note and low_note should contain
- * the note frequency multiplied by 1000. For example value for the
- * middle A is 440*1000.
- */
-
- unsigned int base_freq;
- unsigned int base_note;
- unsigned int high_note;
- unsigned int low_note;
- int panning; /* -128=left, 127=right */
- int detuning;
-
-/* New fields introduced in version 1.99.5 */
-
- /* Envelope. Enabled by mode bit WAVE_ENVELOPES */
- unsigned char env_rate[ 6 ]; /* GUS HW ramping rate */
- unsigned char env_offset[ 6 ]; /* 255 == 100% */
-
- /*
- * The tremolo, vibrato and scale info are not supported yet.
- * Enable by setting the mode bits WAVE_TREMOLO, WAVE_VIBRATO or
- * WAVE_SCALE
- */
-
- unsigned char tremolo_sweep;
- unsigned char tremolo_rate;
- unsigned char tremolo_depth;
-
- unsigned char vibrato_sweep;
- unsigned char vibrato_rate;
- unsigned char vibrato_depth;
-
- int scale_frequency;
- unsigned int scale_factor; /* from 0 to 2048 or 0 to 2 */
-
- int volume;
- int fractions;
- int reserved1;
- int spare[2];
- char data[1]; /* The waveform data starts here */
- };
-
-struct sysex_info {
- short key; /* Use SYSEX_PATCH or MAUI_PATCH here */
-#define SYSEX_PATCH _PATCHKEY(0x05)
-#define MAUI_PATCH _PATCHKEY(0x06)
- short device_no; /* Synthesizer number */
- int len; /* Size of the sysex data in bytes */
- unsigned char data[1]; /* Sysex data starts here */
- };
-
-/*
- * /dev/sequencer input events.
- *
- * The data written to the /dev/sequencer is a stream of events. Events
- * are records of 4 or 8 bytes. The first byte defines the size.
- * Any number of events can be written with a write call. There
- * is a set of macros for sending these events. Use these macros if you
- * want to maximize portability of your program.
- *
- * Events SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO. Are also input events.
- * (All input events are currently 4 bytes long. Be prepared to support
- * 8 byte events also. If you receive any event having first byte >= 128,
- * it's a 8 byte event.
- *
- * The events are documented at the end of this file.
- *
- * Normal events (4 bytes)
- * There is also a 8 byte version of most of the 4 byte events. The
- * 8 byte one is recommended.
- */
-#define SEQ_NOTEOFF 0
-#define SEQ_FMNOTEOFF SEQ_NOTEOFF /* Just old name */
-#define SEQ_NOTEON 1
-#define SEQ_FMNOTEON SEQ_NOTEON
-#define SEQ_WAIT TMR_WAIT_ABS
-#define SEQ_PGMCHANGE 3
-#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
-#define SEQ_SYNCTIMER TMR_START
-#define SEQ_MIDIPUTC 5
-#define SEQ_DRUMON 6 /*** OBSOLETE ***/
-#define SEQ_DRUMOFF 7 /*** OBSOLETE ***/
-#define SEQ_ECHO TMR_ECHO /* For synching programs with output */
-#define SEQ_AFTERTOUCH 9
-#define SEQ_CONTROLLER 10
-
-/*******************************************
- * Midi controller numbers
- *******************************************
- * Controllers 0 to 31 (0x00 to 0x1f) and
- * 32 to 63 (0x20 to 0x3f) are continuous
- * controllers.
- * In the MIDI 1.0 these controllers are sent using
- * two messages. Controller numbers 0 to 31 are used
- * to send the MSB and the controller numbers 32 to 63
- * are for the LSB. Note that just 7 bits are used in MIDI bytes.
- */
-
-#define CTL_BANK_SELECT 0x00
-#define CTL_MODWHEEL 0x01
-#define CTL_BREATH 0x02
-/* undefined 0x03 */
-#define CTL_FOOT 0x04
-#define CTL_PORTAMENTO_TIME 0x05
-#define CTL_DATA_ENTRY 0x06
-#define CTL_MAIN_VOLUME 0x07
-#define CTL_BALANCE 0x08
-/* undefined 0x09 */
-#define CTL_PAN 0x0a
-#define CTL_EXPRESSION 0x0b
-/* undefined 0x0c */
-/* undefined 0x0d */
-/* undefined 0x0e */
-/* undefined 0x0f */
-#define CTL_GENERAL_PURPOSE1 0x10
-#define CTL_GENERAL_PURPOSE2 0x11
-#define CTL_GENERAL_PURPOSE3 0x12
-#define CTL_GENERAL_PURPOSE4 0x13
-/* undefined 0x14 - 0x1f */
-
-/* undefined 0x20 */
-/* The controller numbers 0x21 to 0x3f are reserved for the */
-/* least significant bytes of the controllers 0x00 to 0x1f. */
-/* These controllers are not recognised by the driver. */
-
-/* Controllers 64 to 69 (0x40 to 0x45) are on/off switches. */
-/* 0=OFF and 127=ON (intermediate values are possible) */
-#define CTL_DAMPER_PEDAL 0x40
-#define CTL_SUSTAIN 0x40 /* Alias */
-#define CTL_HOLD 0x40 /* Alias */
-#define CTL_PORTAMENTO 0x41
-#define CTL_SOSTENUTO 0x42
-#define CTL_SOFT_PEDAL 0x43
-/* undefined 0x44 */
-#define CTL_HOLD2 0x45
-/* undefined 0x46 - 0x4f */
-
-#define CTL_GENERAL_PURPOSE5 0x50
-#define CTL_GENERAL_PURPOSE6 0x51
-#define CTL_GENERAL_PURPOSE7 0x52
-#define CTL_GENERAL_PURPOSE8 0x53
-/* undefined 0x54 - 0x5a */
-#define CTL_EXT_EFF_DEPTH 0x5b
-#define CTL_TREMOLO_DEPTH 0x5c
-#define CTL_CHORUS_DEPTH 0x5d
-#define CTL_DETUNE_DEPTH 0x5e
-#define CTL_CELESTE_DEPTH 0x5e /* Alias for the above one */
-#define CTL_PHASER_DEPTH 0x5f
-#define CTL_DATA_INCREMENT 0x60
-#define CTL_DATA_DECREMENT 0x61
-#define CTL_NONREG_PARM_NUM_LSB 0x62
-#define CTL_NONREG_PARM_NUM_MSB 0x63
-#define CTL_REGIST_PARM_NUM_LSB 0x64
-#define CTL_REGIST_PARM_NUM_MSB 0x65
-/* undefined 0x66 - 0x78 */
-/* reserved 0x79 - 0x7f */
-
-/* Pseudo controllers (not midi compatible) */
-#define CTRL_PITCH_BENDER 255
-#define CTRL_PITCH_BENDER_RANGE 254
-#define CTRL_EXPRESSION 253 /* Obsolete */
-#define CTRL_MAIN_VOLUME 252 /* Obsolete */
-#define SEQ_BALANCE 11
-#define SEQ_VOLMODE 12
-
-/*
- * Volume mode decides how volumes are used
- */
-
-#define VOL_METHOD_ADAGIO 1
-#define VOL_METHOD_LINEAR 2
-
-/*
- * Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as
- * input events.
- */
-
-/*
- * Event codes 0xf0 to 0xfc are reserved for future extensions.
- */
-
-#define SEQ_FULLSIZE 0xfd /* Long events */
-/*
- * SEQ_FULLSIZE events are used for loading patches/samples to the
- * synthesizer devices. These events are passed directly to the driver
- * of the associated synthesizer device. There is no limit to the size
- * of the extended events. These events are not queued but executed
- * immediately when the write() is called (execution can take several
- * seconds of time).
- *
- * When a SEQ_FULLSIZE message is written to the device, it must
- * be written using exactly one write() call. Other events cannot
- * be mixed to the same write.
- *
- * For FM synths (YM3812/OPL3) use struct sbi_instrument and write it to the
- * /dev/sequencer. Don't write other data together with the instrument structure
- * Set the key field of the structure to FM_PATCH. The device field is used to
- * route the patch to the corresponding device.
- *
- * For wave table use struct patch_info. Initialize the key field
- * to WAVE_PATCH.
- */
-#define SEQ_PRIVATE 0xfe /* Low level HW dependent events (8 bytes) */
-#define SEQ_EXTENDED 0xff /* Extended events (8 bytes) OBSOLETE */
-
-/*
- * Record for FM patches
- */
-
-typedef unsigned char sbi_instr_data[32];
-
-struct sbi_instrument {
- unsigned short key; /* FM_PATCH or OPL3_PATCH */
-#define FM_PATCH _PATCHKEY(0x01)
-#define OPL3_PATCH _PATCHKEY(0x03)
- short device; /* Synth# (0-4) */
- int channel; /* Program# to be initialized */
- sbi_instr_data operators; /* Register settings for operator cells (.SBI format) */
- };
-
-struct synth_info { /* Read only */
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- int synth_type;
-#define SYNTH_TYPE_FM 0
-#define SYNTH_TYPE_SAMPLE 1
-#define SYNTH_TYPE_MIDI 2 /* Midi interface */
-
- int synth_subtype;
-#define FM_TYPE_ADLIB 0x00
-#define FM_TYPE_OPL3 0x01
-#define MIDI_TYPE_MPU401 0x401
-
-#define SAMPLE_TYPE_BASIC 0x10
-#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
-#define SAMPLE_TYPE_WAVEFRONT 0x11
-
- int perc_mode; /* No longer supported */
- int nr_voices;
- int nr_drums; /* Obsolete field */
- int instr_bank_size;
- unsigned int capabilities;
-#define SYNTH_CAP_PERCMODE 0x00000001 /* No longer used */
-#define SYNTH_CAP_OPL3 0x00000002 /* Set if OPL3 supported */
-#define SYNTH_CAP_INPUT 0x00000004 /* Input (MIDI) device */
- int dummies[19]; /* Reserve space */
- };
-
-struct sound_timer_info {
- char name[32];
- int caps;
- };
-
-#define MIDI_CAP_MPU401 1 /* MPU-401 intelligent mode */
-
-struct midi_info {
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- unsigned int capabilities; /* To be defined later */
- int dev_type;
- int dummies[18]; /* Reserve space */
- };
-
-/********************************************
- * ioctl commands for the /dev/midi##
- */
-typedef struct {
- unsigned char cmd;
- char nr_args, nr_returns;
- unsigned char data[30];
- } mpu_command_rec;
-
-#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
-#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
-#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
-
-/********************************************
- * IOCTL commands for /dev/dsp and /dev/audio
- */
-
-#define SNDCTL_DSP_RESET _SIO ('P', 0)
-#define SNDCTL_DSP_SYNC _SIO ('P', 1)
-#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
-#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
-#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
-#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
-#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
-#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
-#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
-#define SNDCTL_DSP_POST _SIO ('P', 8)
-#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
-#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
-
-/* Audio data formats (Note! U8=8 and S16_LE=16 for compatibility) */
-#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) /* Returns a mask */
-#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) /* Selects ONE fmt*/
-# define AFMT_QUERY 0x00000000 /* Return current fmt */
-# define AFMT_MU_LAW 0x00000001
-# define AFMT_A_LAW 0x00000002
-# define AFMT_IMA_ADPCM 0x00000004
-# define AFMT_U8 0x00000008
-# define AFMT_S16_LE 0x00000010 /* Little endian signed 16*/
-# define AFMT_S16_BE 0x00000020 /* Big endian signed 16 */
-# define AFMT_S8 0x00000040
-# define AFMT_U16_LE 0x00000080 /* Little endian U16 */
-# define AFMT_U16_BE 0x00000100 /* Big endian U16 */
-# define AFMT_MPEG 0x00000200 /* MPEG (2) audio */
-# define AFMT_AC3 0x00000400 /* Dolby Digital AC3 */
-
-/*
- * Buffer status queries.
- */
-typedef struct audio_buf_info {
- int fragments; /* # of available fragments (partially usend ones not counted) */
- int fragstotal; /* Total # of fragments allocated */
- int fragsize; /* Size of a fragment in bytes */
-
- int bytes; /* Available space in bytes (includes partially used fragments) */
- /* Note! 'bytes' could be more than fragments*fragsize */
- } audio_buf_info;
-
-#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info)
-#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info)
-#define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
-#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
-# define DSP_CAP_REVISION 0x000000ff /* Bits for revision level (0 to 255) */
-# define DSP_CAP_DUPLEX 0x00000100 /* Full duplex record/playback */
-# define DSP_CAP_REALTIME 0x00000200 /* Real time capability */
-# define DSP_CAP_BATCH 0x00000400 /* Device has some kind of */
- /* internal buffers which may */
- /* cause some delays and */
- /* decrease precision of timing */
-# define DSP_CAP_COPROC 0x00000800 /* Has a coprocessor */
- /* Sometimes it's a DSP */
- /* but usually not */
-# define DSP_CAP_TRIGGER 0x00001000 /* Supports SETTRIGGER */
-# define DSP_CAP_MMAP 0x00002000 /* Supports mmap() */
-# define DSP_CAP_MULTI 0x00004000 /* support multiple open */
-# define DSP_CAP_BIND 0x00008000 /* channel binding to front/rear/cneter/lfe */
-
-
-#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
-#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
-# define PCM_ENABLE_INPUT 0x00000001
-# define PCM_ENABLE_OUTPUT 0x00000002
-
-typedef struct count_info {
- int bytes; /* Total # of bytes processed */
- int blocks; /* # of fragment transitions since last time */
- int ptr; /* Current DMA pointer value */
- } count_info;
-
-#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info)
-#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info)
-
-typedef struct buffmem_desc {
- unsigned *buffer;
- int size;
- } buffmem_desc;
-#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc)
-#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc)
-#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21)
-#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22)
-#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int)
-
-#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
-#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
-# define DSP_BIND_QUERY 0x00000000
-# define DSP_BIND_FRONT 0x00000001
-# define DSP_BIND_SURR 0x00000002
-# define DSP_BIND_CENTER_LFE 0x00000004
-# define DSP_BIND_HANDSET 0x00000008
-# define DSP_BIND_MIC 0x00000010
-# define DSP_BIND_MODEM1 0x00000020
-# define DSP_BIND_MODEM2 0x00000040
-# define DSP_BIND_I2S 0x00000080
-# define DSP_BIND_SPDIF 0x00000100
-
-#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int)
-#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int)
-# define SPDIF_PRO 0x0001
-# define SPDIF_N_AUD 0x0002
-# define SPDIF_COPY 0x0004
-# define SPDIF_PRE 0x0008
-# define SPDIF_CC 0x07f0
-# define SPDIF_L 0x0800
-# define SPDIF_DRS 0x4000
-# define SPDIF_V 0x8000
-
-/*
- * Application's profile defines the way how playback underrun situations should be handled.
- *
- * APF_NORMAL (the default) and APF_NETWORK make the driver to cleanup the
- * playback buffer whenever an underrun occurs. This consumes some time
- * prevents looping the existing buffer.
- * APF_CPUINTENS is intended to be set by CPU intensive applications which
- * are likely to run out of time occasionally. In this mode the buffer cleanup is
- * disabled which saves CPU time but also let's the previous buffer content to
- * be played during the "pause" after the underrun.
- */
-#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
-#define APF_NORMAL 0 /* Normal applications */
-#define APF_NETWORK 1 /* Underruns probably caused by an "external" delay */
-#define APF_CPUINTENS 2 /* Underruns probably caused by "overheating" the CPU */
-
-#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
-#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
-#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int)
-#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int)
-
-/* Some alias names */
-#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
-#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
-#define SOUND_PCM_POST SNDCTL_DSP_POST
-#define SOUND_PCM_RESET SNDCTL_DSP_RESET
-#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
-#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
-#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
-#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
-#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
-#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
-#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
-#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
-#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
-#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
-#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
-#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
-#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
-#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
-#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
-#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
-
-/*
- * ioctl calls to be used in communication with coprocessors and
- * DSP chips.
- */
-
-typedef struct copr_buffer {
- int command; /* Set to 0 if not used */
- int flags;
-#define CPF_NONE 0x0000
-#define CPF_FIRST 0x0001 /* First block */
-#define CPF_LAST 0x0002 /* Last block */
- int len;
- int offs; /* If required by the device (0 if not used) */
-
- unsigned char data[4000]; /* NOTE! 4000 is not 4k */
- } copr_buffer;
-
-typedef struct copr_debug_buf {
- int command; /* Used internally. Set to 0 */
- int parm1;
- int parm2;
- int flags;
- int len; /* Length of data in bytes */
- } copr_debug_buf;
-
-typedef struct copr_msg {
- int len;
- unsigned char data[4000];
- } copr_msg;
-
-#define SNDCTL_COPR_RESET _SIO ('C', 0)
-#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
-#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
-#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
-#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf)
-#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf)
-#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
-#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
-#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
-#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg)
-
-/*********************************************
- * IOCTL commands for /dev/mixer
- */
-
-/*
- * Mixer devices
- *
- * There can be up to 20 different analog mixer channels. The
- * SOUND_MIXER_NRDEVICES gives the currently supported maximum.
- * The SOUND_MIXER_READ_DEVMASK returns a bitmask which tells
- * the devices supported by the particular mixer.
- */
-
-#define SOUND_MIXER_NRDEVICES 25
-#define SOUND_MIXER_VOLUME 0
-#define SOUND_MIXER_BASS 1
-#define SOUND_MIXER_TREBLE 2
-#define SOUND_MIXER_SYNTH 3
-#define SOUND_MIXER_PCM 4
-#define SOUND_MIXER_SPEAKER 5
-#define SOUND_MIXER_LINE 6
-#define SOUND_MIXER_MIC 7
-#define SOUND_MIXER_CD 8
-#define SOUND_MIXER_IMIX 9 /* Recording monitor */
-#define SOUND_MIXER_ALTPCM 10
-#define SOUND_MIXER_RECLEV 11 /* Recording level */
-#define SOUND_MIXER_IGAIN 12 /* Input gain */
-#define SOUND_MIXER_OGAIN 13 /* Output gain */
-/*
- * The AD1848 codec and compatibles have three line level inputs
- * (line, aux1 and aux2). Since each card manufacturer have assigned
- * different meanings to these inputs, it's inpractical to assign
- * specific meanings (line, cd, synth etc.) to them.
- */
-#define SOUND_MIXER_LINE1 14 /* Input source 1 (aux1) */
-#define SOUND_MIXER_LINE2 15 /* Input source 2 (aux2) */
-#define SOUND_MIXER_LINE3 16 /* Input source 3 (line) */
-#define SOUND_MIXER_DIGITAL1 17 /* Digital (input) 1 */
-#define SOUND_MIXER_DIGITAL2 18 /* Digital (input) 2 */
-#define SOUND_MIXER_DIGITAL3 19 /* Digital (input) 3 */
-#define SOUND_MIXER_PHONEIN 20 /* Phone input */
-#define SOUND_MIXER_PHONEOUT 21 /* Phone output */
-#define SOUND_MIXER_VIDEO 22 /* Video/TV (audio) in */
-#define SOUND_MIXER_RADIO 23 /* Radio in */
-#define SOUND_MIXER_MONITOR 24 /* Monitor (usually mic) volume */
-
-/* Some on/off settings (SOUND_SPECIAL_MIN - SOUND_SPECIAL_MAX) */
-/* Not counted to SOUND_MIXER_NRDEVICES, but use the same number space */
-#define SOUND_ONOFF_MIN 28
-#define SOUND_ONOFF_MAX 30
-
-/* Note! Number 31 cannot be used since the sign bit is reserved */
-#define SOUND_MIXER_NONE 31
-
-/*
- * The following unsupported macros are no longer functional.
- * Use SOUND_MIXER_PRIVATE# macros in future.
- */
-#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
-#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
-#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
-
-
-#define SOUND_DEVICE_LABELS {"Vol ", "Bass ", "Trebl", "Synth", "Pcm ", "Spkr ", "Line ", \
- "Mic ", "CD ", "Mix ", "Pcm2 ", "Rec ", "IGain", "OGain", \
- "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \
- "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"}
-
-#define SOUND_DEVICE_NAMES {"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \
- "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \
- "line1", "line2", "line3", "dig1", "dig2", "dig3", \
- "phin", "phout", "video", "radio", "monitor"}
-
-/* Device bitmask identifiers */
-
-#define SOUND_MIXER_RECSRC 0xff /* Arg contains a bit for each recording source */
-#define SOUND_MIXER_DEVMASK 0xfe /* Arg contains a bit for each supported device */
-#define SOUND_MIXER_RECMASK 0xfd /* Arg contains a bit for each supported recording source */
-#define SOUND_MIXER_CAPS 0xfc
-# define SOUND_CAP_EXCL_INPUT 0x00000001 /* Only one recording source at a time */
-#define SOUND_MIXER_STEREODEVS 0xfb /* Mixer channels supporting stereo */
-#define SOUND_MIXER_OUTSRC 0xfa /* Arg contains a bit for each input source to output */
-#define SOUND_MIXER_OUTMASK 0xf9 /* Arg contains a bit for each supported input source to output */
-
-/* Device mask bits */
-
-#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
-#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
-#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
-#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
-#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
-#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
-#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
-#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
-#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
-#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
-#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
-#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
-#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
-#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
-#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
-#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
-#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
-#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
-#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
-#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
-#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
-#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
-#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
-#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
-#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
-
-/* Obsolete macros */
-#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
-#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
-#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
-
-#define MIXER_READ(dev) _SIOR('M', dev, int)
-#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
-#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
-#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
-#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
-#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
-#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
-#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
-#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
-#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
-#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
-
-#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
-#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
-#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
-#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
-#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
-#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
-#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
-
-typedef struct mixer_info
-{
- char id[16];
- char name[32];
- int modify_counter;
- int fillers[10];
-} mixer_info;
-
-typedef struct _old_mixer_info /* Obsolete */
-{
- char id[16];
- char name[32];
-} _old_mixer_info;
-
-#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info)
-#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info)
-
-/*
- * A mechanism for accessing "proprietary" mixer features. This method
- * permits passing 128 bytes of arbitrary data between a mixer application
- * and the mixer driver. Interpretation of the record is defined by
- * the particular mixer driver.
- */
-typedef unsigned char mixer_record[128];
-
-#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
-
-/*
- * Two ioctls for special souncard function
- */
-#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
-#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
-
-/*
- * The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers.
- * These features can be used when accessing device specific features.
- */
-#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
-#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
-#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
-#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
-#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
-
-/*
- * SOUND_MIXER_GETLEVELS and SOUND_MIXER_SETLEVELS calls can be used
- * for querying current mixer settings from the driver and for loading
- * default volume settings _prior_ activating the mixer (loading
- * doesn't affect current state of the mixer hardware). These calls
- * are for internal use only.
- */
-
-typedef struct mixer_vol_table {
- int num; /* Index to volume table */
- char name[32];
- int levels[32];
-} mixer_vol_table;
-
-#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
-#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
-
-/*
- * An ioctl for identifying the driver version. It will return value
- * of the SOUND_VERSION macro used when compiling the driver.
- * This call was introduced in OSS version 3.6 and it will not work
- * with earlier versions (returns EINVAL).
- */
-#define OSS_GETVERSION _SIOR ('M', 118, int)
-
-/*
- * Level 2 event types for /dev/sequencer
- */
-
-/*
- * The 4 most significant bits of byte 0 specify the class of
- * the event:
- *
- * 0x8X = system level events,
- * 0x9X = device/port specific events, event[1] = device/port,
- * The last 4 bits give the subtype:
- * 0x02 = Channel event (event[3] = chn).
- * 0x01 = note event (event[4] = note).
- * (0x01 is not used alone but always with bit 0x02).
- * event[2] = MIDI message code (0x80=note off etc.)
- *
- */
-
-#define EV_SEQ_LOCAL 0x80
-#define EV_TIMING 0x81
-#define EV_CHN_COMMON 0x92
-#define EV_CHN_VOICE 0x93
-#define EV_SYSEX 0x94
-/*
- * Event types 200 to 220 are reserved for application use.
- * These numbers will not be used by the driver.
- */
-
-/*
- * Events for event type EV_CHN_VOICE
- */
-
-#define MIDI_NOTEOFF 0x80
-#define MIDI_NOTEON 0x90
-#define MIDI_KEY_PRESSURE 0xA0
-
-/*
- * Events for event type EV_CHN_COMMON
- */
-
-#define MIDI_CTL_CHANGE 0xB0
-#define MIDI_PGM_CHANGE 0xC0
-#define MIDI_CHN_PRESSURE 0xD0
-#define MIDI_PITCH_BEND 0xE0
-
-#define MIDI_SYSTEM_PREFIX 0xF0
-
-/*
- * Timer event types
- */
-#define TMR_WAIT_REL 1 /* Time relative to the prev time */
-#define TMR_WAIT_ABS 2 /* Absolute time since TMR_START */
-#define TMR_STOP 3
-#define TMR_START 4
-#define TMR_CONTINUE 5
-#define TMR_TEMPO 6
-#define TMR_ECHO 8
-#define TMR_CLOCK 9 /* MIDI clock */
-#define TMR_SPP 10 /* Song position pointer */
-#define TMR_TIMESIG 11 /* Time signature */
-
-/*
- * Local event types
- */
-#define LOCL_STARTAUDIO 1
-
-#if (!defined(__KERNEL__) && !defined(KERNEL) && !defined(INKERNEL) && !defined(_KERNEL)) || defined(USE_SEQ_MACROS)
-/*
- * Some convenience macros to simplify programming of the
- * /dev/sequencer interface
- *
- * These macros define the API which should be used when possible.
- */
-#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
-
-void seqbuf_dump(void); /* This function must be provided by programs */
-
-extern int OSS_init(int seqfd, int buflen);
-extern void OSS_seqbuf_dump(int fd, unsigned char *buf, int buflen);
-extern void OSS_seq_advbuf(int len, int fd, unsigned char *buf, int buflen);
-extern void OSS_seq_needbuf(int len, int fd, unsigned char *buf, int buflen);
-extern void OSS_patch_caching(int dev, int chn, int patch,
- int fd, unsigned char *buf, int buflen);
-extern void OSS_drum_caching(int dev, int chn, int patch,
- int fd, unsigned char *buf, int buflen);
-extern void OSS_write_patch(int fd, unsigned char *buf, int len);
-extern int OSS_write_patch2(int fd, unsigned char *buf, int len);
-
-#define SEQ_PM_DEFINES int __foo_bar___
-#ifdef OSSLIB
-# define SEQ_USE_EXTBUF() \
- extern unsigned char *_seqbuf; \
- extern int _seqbuflen;extern int _seqbufptr
-# define SEQ_DEFINEBUF(len) SEQ_USE_EXTBUF();static int _requested_seqbuflen=len
-# define _SEQ_ADVBUF(len) OSS_seq_advbuf(len, seqfd, _seqbuf, _seqbuflen)
-# define _SEQ_NEEDBUF(len) OSS_seq_needbuf(len, seqfd, _seqbuf, _seqbuflen)
-# define SEQ_DUMPBUF() OSS_seqbuf_dump(seqfd, _seqbuf, _seqbuflen)
-
-# define SEQ_LOAD_GMINSTR(dev, instr) \
- OSS_patch_caching(dev, -1, instr, seqfd, _seqbuf, _seqbuflen)
-# define SEQ_LOAD_GMDRUM(dev, drum) \
- OSS_drum_caching(dev, -1, drum, seqfd, _seqbuf, _seqbuflen)
-#else /* !OSSLIB */
-
-# define SEQ_LOAD_GMINSTR(dev, instr)
-# define SEQ_LOAD_GMDRUM(dev, drum)
-
-# define SEQ_USE_EXTBUF() \
- extern unsigned char _seqbuf[]; \
- extern int _seqbuflen;extern int _seqbufptr
-
-#ifndef USE_SIMPLE_MACROS
-/* Sample seqbuf_dump() implementation:
- *
- * SEQ_DEFINEBUF (2048); -- Defines a buffer for 2048 bytes
- *
- * int seqfd; -- The file descriptor for /dev/sequencer.
- *
- * void
- * seqbuf_dump ()
- * {
- * if (_seqbufptr)
- * if (write (seqfd, _seqbuf, _seqbufptr) == -1)
- * {
- * perror ("write /dev/sequencer");
- * exit (-1);
- * }
- * _seqbufptr = 0;
- * }
- */
-
-#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
-#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
-#define _SEQ_ADVBUF(len) _seqbufptr += len
-#define SEQ_DUMPBUF seqbuf_dump
-#else
-/*
- * This variation of the sequencer macros is used just to format one event
- * using fixed buffer.
- *
- * The program using the macro library must define the following macros before
- * using this library.
- *
- * #define _seqbuf name of the buffer (unsigned char[])
- * #define _SEQ_ADVBUF(len) If the applic needs to know the exact
- * size of the event, this macro can be used.
- * Otherwise this must be defined as empty.
- * #define _seqbufptr Define the name of index variable or 0 if
- * not required.
- */
-#define _SEQ_NEEDBUF(len) /* empty */
-#endif
-#endif /* !OSSLIB */
-
-#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (mode);\
- _seqbuf[_seqbufptr+4] = 0;\
- _seqbuf[_seqbufptr+5] = 0;\
- _seqbuf[_seqbufptr+6] = 0;\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-/*
- * Midi voice messages
- */
-
-#define _CHN_VOICE(dev, event, chn, note, parm) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_VOICE;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (note);\
- _seqbuf[_seqbufptr+5] = (parm);\
- _seqbuf[_seqbufptr+6] = (0);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
-
-#define SEQ_STOP_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
-
-#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) \
- _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
-
-/*
- * Midi channel messages
- */
-
-#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_COMMON;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (p1);\
- _seqbuf[_seqbufptr+5] = (p2);\
- *(short *)&_seqbuf[_seqbufptr+6] = (w14);\
- _SEQ_ADVBUF(8);}
-/*
- * SEQ_SYSEX permits sending of sysex messages. (It may look that it permits
- * sending any MIDI bytes but it's absolutely not possible. Trying to do
- * so _will_ cause problems with MPU401 intelligent mode).
- *
- * Sysex messages are sent in blocks of 1 to 6 bytes. Longer messages must be
- * sent by calling SEQ_SYSEX() several times (there must be no other events
- * between them). First sysex fragment must have 0xf0 in the first byte
- * and the last byte (buf[len-1] of the last fragment must be 0xf7. No byte
- * between these sysex start and end markers cannot be larger than 0x7f. Also
- * lengths of each fragments (except the last one) must be 6.
- *
- * Breaking the above rules may work with some MIDI ports but is likely to
- * cause fatal problems with some other devices (such as MPU401).
- */
-#define SEQ_SYSEX(dev, buf, len) \
- {int ii, ll=(len); \
- unsigned char *bufp=buf;\
- if (ll>6)ll=6;\
- _SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_SYSEX;\
- _seqbuf[_seqbufptr+1] = (dev);\
- for(ii=0;ii<ll;ii++)\
- _seqbuf[_seqbufptr+ii+2] = bufp[ii];\
- for(ii=ll;ii<6;ii++)\
- _seqbuf[_seqbufptr+ii+2] = 0xff;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_CHN_PRESSURE(dev, chn, pressure) \
- _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
-
-#define SEQ_SET_PATCH SEQ_PGM_CHANGE
-#ifdef OSSLIB
-# define SEQ_PGM_CHANGE(dev, chn, patch) \
- {OSS_patch_caching(dev, chn, patch, seqfd, _seqbuf, _seqbuflen); \
- _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0);}
-#else
-# define SEQ_PGM_CHANGE(dev, chn, patch) \
- _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
-#endif
-
-#define SEQ_CONTROL(dev, chn, controller, value) \
- _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
-
-#define SEQ_BENDER(dev, chn, value) \
- _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
-
-
-#define SEQ_V2_X_CONTROL(dev, voice, controller, value) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_CONTROLLER;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (voice);\
- _seqbuf[_seqbufptr+4] = (controller);\
- _seqbuf[_seqbufptr+5] = ((value)&0xff);\
- _seqbuf[_seqbufptr+6] = ((value>>8)&0xff);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-/*
- * The following 5 macros are incorrectly implemented and obsolete.
- * Use SEQ_BENDER and SEQ_CONTROL (with proper controller) instead.
- */
-#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
-#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
-#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128)
-#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100)
-#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
-
-/*
- * Timing and syncronization macros
- */
-
-#define _TIMER_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_TIMING; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
-#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
-#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
-#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
-#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
-#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
-#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
-#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
-#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
-
-/*
- * Local control events
- */
-
-#define _LOCAL_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_SEQ_LOCAL; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
-/*
- * Events for the level 1 interface only
- */
-
-#define SEQ_MIDIOUT(device, byte) {_SEQ_NEEDBUF(4);\
- _seqbuf[_seqbufptr] = SEQ_MIDIPUTC;\
- _seqbuf[_seqbufptr+1] = (byte);\
- _seqbuf[_seqbufptr+2] = (device);\
- _seqbuf[_seqbufptr+3] = 0;\
- _SEQ_ADVBUF(4);}
-
-/*
- * Patch loading.
- */
-#ifdef OSSLIB
-# define SEQ_WRPATCH(patchx, len) \
- OSS_write_patch(seqfd, (char*)(patchx), len)
-# define SEQ_WRPATCH2(patchx, len) \
- OSS_write_patch2(seqfd, (char*)(patchx), len)
-#else
-# define SEQ_WRPATCH(patchx, len) \
- {if (_seqbufptr) SEQ_DUMPBUF();\
- if (write(seqfd, (char*)(patchx), len)==-1) \
- perror("Write patch: /dev/sequencer");}
-# define SEQ_WRPATCH2(patchx, len) \
- (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len))
-#endif
-
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h b/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h
deleted file mode 100644
index 07b502465..000000000
--- a/mdk-stage1/dietlibc/include/sys/sparc-ioctl.h
+++ /dev/null
@@ -1,172 +0,0 @@
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-#define _IOC_SIZEBITS 8
-#define _IOC_RESVBITS 5
-#define _IOC_DIRBITS 3
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_RESVMASK ((1 << _IOC_RESVBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS)
-#define _IOC_RESVSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS)
-#define _IOC_DIRSHIFT (_IOC_RESVSHIFT + _IOC_RESVBITS)
-
-#define _IOC_NONE 1U
-#define _IOC_READ 2U
-#define _IOC_WRITE 4U
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the PCMCIA... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-/* Big T */
-#define TCGETA _IOR('T', 1, struct termio)
-#define TCSETA _IOW('T', 2, struct termio)
-#define TCSETAW _IOW('T', 3, struct termio)
-#define TCSETAF _IOW('T', 4, struct termio)
-#define TCSBRK _IO('T', 5)
-#define TCXONC _IO('T', 6)
-#define TCFLSH _IO('T', 7)
-#define TCGETS _IOR('T', 8, struct termios)
-#define TCSETS _IOW('T', 9, struct termios)
-#define TCSETSW _IOW('T', 10, struct termios)
-#define TCSETSF _IOW('T', 11, struct termios)
-
-/* Note that all the ioctls that are not available in Linux have a
- * double underscore on the front to: a) avoid some programs to
- * thing we support some ioctls under Linux (autoconfiguration stuff)
- */
-/* Little t */
-#define TIOCGETD _IOR('t', 0, int)
-#define TIOCSETD _IOW('t', 1, int)
-#define __TIOCHPCL _IO('t', 2) /* SunOS Specific */
-#define __TIOCMODG _IOR('t', 3, int) /* SunOS Specific */
-#define __TIOCMODS _IOW('t', 4, int) /* SunOS Specific */
-#define __TIOCGETP _IOR('t', 8, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETP _IOW('t', 9, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETN _IOW('t', 10, struct sgttyb) /* SunOS Specific */
-#define TIOCEXCL _IO('t', 13)
-#define TIOCNXCL _IO('t', 14)
-#define __TIOCFLUSH _IOW('t', 16, int) /* SunOS Specific */
-#define __TIOCSETC _IOW('t', 17, struct tchars) /* SunOS Specific */
-#define __TIOCGETC _IOR('t', 18, struct tchars) /* SunOS Specific */
-#define __TIOCTCNTL _IOW('t', 32, int) /* SunOS Specific */
-#define __TIOCSIGNAL _IOW('t', 33, int) /* SunOS Specific */
-#define __TIOCSETX _IOW('t', 34, int) /* SunOS Specific */
-#define __TIOCGETX _IOR('t', 35, int) /* SunOS Specific */
-#define TIOCCONS _IO('t', 36)
-#define __TIOCSSIZE _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
-#define __TIOCGSIZE _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
-#define TIOCGSOFTCAR _IOR('t', 100, int)
-#define TIOCSSOFTCAR _IOW('t', 101, int)
-#define __TIOCUCNTL _IOW('t', 102, int) /* SunOS Specific */
-#define TIOCSWINSZ _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ _IOR('t', 104, struct winsize)
-#define __TIOCREMOTE _IOW('t', 105, int) /* SunOS Specific */
-#define TIOCMGET _IOR('t', 106, int)
-#define TIOCMBIC _IOW('t', 107, int)
-#define TIOCMBIS _IOW('t', 108, int)
-#define TIOCMSET _IOW('t', 109, int)
-#define __TIOCSTART _IO('t', 110) /* SunOS Specific */
-#define __TIOCSTOP _IO('t', 111) /* SunOS Specific */
-#define TIOCPKT _IOW('t', 112, int)
-#define TIOCNOTTY _IO('t', 113)
-#define TIOCSTI _IOW('t', 114, char)
-#define TIOCOUTQ _IOR('t', 115, int)
-#define __TIOCGLTC _IOR('t', 116, struct ltchars) /* SunOS Specific */
-#define __TIOCSLTC _IOW('t', 117, struct ltchars) /* SunOS Specific */
-/* 118 is the non-posix setpgrp tty ioctl */
-/* 119 is the non-posix getpgrp tty ioctl */
-#define __TIOCCDTR _IO('t', 120) /* SunOS Specific */
-#define __TIOCSDTR _IO('t', 121) /* SunOS Specific */
-#define TIOCCBRK _IO('t', 122)
-#define TIOCSBRK _IO('t', 123)
-#define __TIOCLGET _IOW('t', 124, int) /* SunOS Specific */
-#define __TIOCLSET _IOW('t', 125, int) /* SunOS Specific */
-#define __TIOCLBIC _IOW('t', 126, int) /* SunOS Specific */
-#define __TIOCLBIS _IOW('t', 127, int) /* SunOS Specific */
-#define __TIOCISPACE _IOR('t', 128, int) /* SunOS Specific */
-#define __TIOCISIZE _IOR('t', 129, int) /* SunOS Specific */
-#define TIOCSPGRP _IOW('t', 130, int)
-#define TIOCGPGRP _IOR('t', 131, int)
-#define TIOCSCTTY _IO('t', 132)
-#define TIOCGSID _IOR('t', 133, int)
-/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
-#define TIOCGPTN _IOR('t', 134, unsigned int) /* Get Pty Number */
-#define TIOCSPTLCK _IOW('t', 135, int) /* Lock/unlock PTY */
-
-/* Little f */
-#define FIOCLEX _IO('f', 1)
-#define FIONCLEX _IO('f', 2)
-#define FIOASYNC _IOW('f', 125, int)
-#define FIONBIO _IOW('f', 126, int)
-#define FIONREAD _IOR('f', 127, int)
-#define TIOCINQ FIONREAD
-#define FIOQSIZE _IOR('f', 128, loff_t)
-
-/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it
- * someday. This is completely bogus, I know...
- */
-#define __TCGETSTAT _IO('T', 200) /* Rutgers specific */
-#define __TCSETSTAT _IO('T', 201) /* Rutgers specific */
-
-/* Linux specific, no SunOS equivalent. */
-#define TIOCLINUX 0x541C
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TCSBRKP 0x5425
-#define TIOCTTYGSTRUCT 0x5426
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-#define TIOCMIWAIT 0x545C /* Wait input */
-#define TIOCGICOUNT 0x545D /* Read serial port inline interrupt counts */
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp */
-
diff --git a/mdk-stage1/dietlibc/include/sys/stat.h b/mdk-stage1/dietlibc/include/sys/stat.h
deleted file mode 100644
index d31cbd1f2..000000000
--- a/mdk-stage1/dietlibc/include/sys/stat.h
+++ /dev/null
@@ -1,516 +0,0 @@
-#ifndef _SYS_STAT_H
-#define _SYS_STAT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <endian.h>
-
-#if defined(__i386__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-struct stat64 {
- unsigned short st_dev;
- unsigned char __pad0[10];
-
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
-
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned long st_uid;
- unsigned long st_gid;
-
- unsigned short st_rdev;
- unsigned char __pad3[10];
-
-__extension__ long long st_size;
- unsigned long st_blksize;
-
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long __pad4; /* future possible st_blocks high bits */
-
- unsigned long st_atime;
- unsigned long __pad5;
-
- signed long st_mtime;
- unsigned long __pad6;
-
- unsigned long st_ctime;
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
-
-__extension__ unsigned long long st_ino;
-};
-#elif defined(__sparc__)
-struct stat {
- unsigned short st_dev;
- unsigned long st_ino;
- unsigned short st_mode;
- short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- long st_size;
- long st_atime;
- unsigned long __unused1;
- long st_mtime;
- unsigned long __unused2;
- long st_ctime;
- unsigned long __unused3;
- long st_blksize;
- long st_blocks;
- unsigned long __unused4[2];
-};
-
-struct stat64 {
- unsigned char __pad0[6];
- unsigned short st_dev;
-
-__extension__ unsigned long long st_ino;
-
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned int st_uid;
- unsigned int st_gid;
-
- unsigned char __pad2[6];
- unsigned short st_rdev;
-
- unsigned char __pad3[8];
-
-__extension__ long long st_size;
- unsigned int st_blksize;
-
- unsigned char __pad4[8];
- unsigned int st_blocks;
-
- signed int st_atime;
- unsigned int __unused1;
-
- signed int st_mtime;
- unsigned int __unused2;
-
- signed int st_ctime;
- unsigned int __unused3;
-
- unsigned int __unused4;
- unsigned int __unused5;
-};
-#elif defined(__alpha__)
-struct stat {
- unsigned int st_dev;
- unsigned int st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int st_rdev;
- long st_size;
- signed long st_atime;
- signed long st_mtime;
- signed long st_ctime;
- unsigned int st_blksize;
- int st_blocks;
- unsigned int st_flags;
- unsigned int st_gen;
-};
-#elif defined(__mips__)
-struct stat {
- unsigned int st_dev;
- long st_pad1[3]; /* Reserved for network id */
- ino_t st_ino;
- unsigned int st_mode;
- int st_nlink;
- int st_uid;
- int st_gid;
- unsigned int st_rdev;
- long st_pad2[2];
- long st_size;
- long st_pad3;
- /*
- * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
- * but we don't have it under Linux.
- */
- time_t st_atime;
- long reserved0;
- time_t st_mtime;
- long reserved1;
- time_t st_ctime;
- long reserved2;
- long st_blksize;
- long st_blocks;
- char st_fstype[16]; /* Filesystem type name */
- long st_pad4[8];
- /* Linux specific fields */
- unsigned int st_flags;
- unsigned int st_gen;
-};
-
-struct stat64 {
- unsigned long st_dev;
- unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
-__extension__ unsigned long long st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned long st_rdev;
- unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
-__extension__ long long st_size;
- /*
- * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
- * but we don't have it under Linux.
- */
- time_t st_atime;
- unsigned long reserved0; /* Reserved for st_atime expansion */
- time_t st_mtime;
- unsigned long reserved1; /* Reserved for st_atime expansion */
- time_t st_ctime;
- unsigned long reserved2; /* Reserved for st_atime expansion */
- unsigned long st_blksize;
- unsigned long st_pad2;
-__extension__ long long st_blocks;
-};
-#elif defined(__powerpc__)
-struct stat {
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- off_t st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1.
- */
-struct stat64 {
-__extension__ unsigned long long st_dev; /* Device. */
-__extension__ unsigned long long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
-__extension__ unsigned long long st_rdev; /* Device number, if device. */
- unsigned short int __pad2;
-__extension__ long long st_size; /* Size of file, in bytes. */
- long st_blksize; /* Optimal block size for I/O. */
-
-__extension__ long long st_blocks; /* Number 512-byte blocks allocated. */
- long st_atime; /* Time of last access. */
- unsigned long int __unused1;
- long st_mtime; /* Time of last modification. */
- unsigned long int __unused2;
- long st_ctime; /* Time of last status change. */
- unsigned long int __unused3;
- unsigned long int __unused4;
- unsigned long int __unused5;
-};
-#elif defined(__arm__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- signed long st_atime;
- unsigned long __unused1;
- signed long st_mtime;
- unsigned long __unused2;
- signed long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1, hence the absolutely
- * insane amounts of padding around dev_t's.
- */
-struct stat64 {
- unsigned short st_dev;
- unsigned char __pad0[10];
-
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned long st_uid;
- unsigned long st_gid;
-
- unsigned short st_rdev;
- unsigned char __pad3[10];
-
-__extension__ long long st_size;
- unsigned long st_blksize;
-
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long __pad4; /* future possible st_blocks high bits */
-
- signed long st_atime;
- unsigned long __pad5;
-
- signed long st_mtime;
- unsigned long __pad6;
-
- signed long st_ctime;
- unsigned long __pad7; /* will be high 32 bits of ctime someday */
-
-__extension__ unsigned long long st_ino;
-};
-#elif defined(__s390__)
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long __unused1;
- unsigned long st_mtime;
- unsigned long __unused2;
- unsigned long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-struct stat64 {
- unsigned char __pad0[6];
- unsigned short st_dev;
- unsigned int __pad1;
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned char __pad2[6];
- unsigned short st_rdev;
- unsigned int __pad3;
-__extension__ long long st_size;
- unsigned long st_blksize;
- unsigned char __pad4[4];
- unsigned long __pad5; /* future possible st_blocks high bits */
- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long st_atime;
- unsigned long __pad6;
- unsigned long st_mtime;
- unsigned long __pad7;
- unsigned long st_ctime;
- unsigned long __pad8; /* will be high 32 bits of ctime someday */
-__extension__ unsigned long long st_ino;
-};
-
-#elif defined(__hppa__)
-
-struct stat {
- unsigned long long st_dev;
- unsigned short int _pad1;
- unsigned long st_ino;
- unsigned long st_mode;
- unsigned long st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned long long st_rdev;
- unsigned short int _pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long int unused1;
- unsigned long st_mtime;
- unsigned long int unused2;
- unsigned long st_ctime;
- unsigned long int unused3;
- unsigned long long unused4;
-};
-
-struct stat64 {
- unsigned long long st_dev;
- unsigned int __pad1;
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
- unsigned long st_mode;
- unsigned long st_nlink;
- unsigned long st_uid;
- unsigned long st_gid;
- unsigned long long st_rdev;
- unsigned int __pad2;
- unsigned long long st_size;
- unsigned long long st_blksize;
-
- unsigned long long st_blocks;
- unsigned long st_atime;
- unsigned long int __unused1;
- unsigned long st_mtime;
- unsigned long int __unused2;
- unsigned long st_ctime;
- unsigned long int __unused3;
- unsigned long long st_ino;
-};
-
-#elif defined(__x86_64__)
-struct stat {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_nlink;
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int __pad0;
- unsigned long st_rdev;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long __reserved0;
- unsigned long st_mtime;
- unsigned long __reserved1;
- unsigned long st_ctime;
- unsigned long __reserved2;
- long __unused[3];
-};
-
-#elif defined(__ia64__)
-
-struct stat {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_nlink;
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int __pad;
- unsigned long st_rdev;
- unsigned long st_size;
- unsigned long st_atime;
- unsigned long reserved;
- unsigned long st_mtime;
- unsigned long reserved2;
- unsigned long st_ctime;
- unsigned long reserved3;
- unsigned long st_blksize;
- long st_blocks;
- unsigned long pad[3];
-};
-
-#endif
-
-#define S_IFMT 00170000
-#define S_IFSOCK 0140000
-#define S_IFLNK 0120000
-#define S_IFREG 0100000
-#define S_IFBLK 0060000
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFIFO 0010000
-#define S_ISUID 0004000
-#define S_ISGID 0002000
-#define S_ISVTX 0001000
-
-#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-
-#define S_IRWXU 00700
-#define S_IRUSR 00400
-#define S_IWUSR 00200
-#define S_IXUSR 00100
-
-#define S_IRWXG 00070
-#define S_IRGRP 00040
-#define S_IWGRP 00020
-#define S_IXGRP 00010
-
-#define S_IRWXO 00007
-#define S_IROTH 00004
-#define S_IWOTH 00002
-#define S_IXOTH 00001
-
-extern int stat(const char *__file, struct stat *__buf) __THROW;
-extern int fstat(int __fd, struct stat *__buf) __THROW;
-extern int lstat(const char *__file, struct stat *__buf) __THROW;
-
-#if __WORDSIZE == 64
-#define __NO_STAT64
-#else
-extern int stat64(const char *__file, struct stat64 *__buf) __THROW;
-extern int fstat64(int __fd, struct stat64 *__buf) __THROW;
-extern int lstat64(const char *__file, struct stat64 *__buf) __THROW;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define lstat lstat64
-#define fstat fstat64
-#define stat stat64
-#define pread pread64
-#define pwrite pwrite64
-#endif
-#endif
-
-#define major(dev) (((dev)>>8) & 0xff)
-#define minor(dev) ((dev) & 0xff)
-#define makedev(major, minor) ((((unsigned int) (major)) << 8) | ((unsigned int) (minor)))
-
-extern int chmod (const char *__file, mode_t __mode) __THROW;
-extern int fchmod (int __fd, mode_t __mode) __THROW;
-extern mode_t umask (mode_t __mask) __THROW;
-extern int mkdir (const char *__path, mode_t __mode) __THROW;
-extern int mknod (const char *__path, mode_t __mode, dev_t __dev) __THROW;
-extern int mkfifo (const char *__path, mode_t __mode) __THROW;
-
-#define S_IREAD S_IRUSR
-#define S_IWRITE S_IWUSR
-#define S_IEXEC S_IXUSR
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/syscall.h b/mdk-stage1/dietlibc/include/sys/syscall.h
deleted file mode 100644
index 5d6b5a4ad..000000000
--- a/mdk-stage1/dietlibc/include/sys/syscall.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYSCALL_H
-#define _SYSCALL_H
-
-#include <asm/unistd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sysinfo.h b/mdk-stage1/dietlibc/include/sys/sysinfo.h
deleted file mode 100644
index cf88be34c..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysinfo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _SYS_SYSINFO_H
-#define _SYS_SYSINFO_H
-
-#include <sys/cdefs.h>
-
-#define SI_LOAD_SHIFT 16
-struct sysinfo {
- long uptime; /* Seconds since boot */
- unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
- unsigned long totalram; /* Total usable main memory size */
- unsigned long freeram; /* Available memory size */
- unsigned long sharedram; /* Amount of shared memory */
- unsigned long bufferram; /* Memory used by buffers */
- unsigned long totalswap; /* Total swap space size */
- unsigned long freeswap; /* swap space still available */
- unsigned short procs; /* Number of current processes */
- unsigned short pad; /* explicit padding */
- unsigned long totalhigh; /* Total high memory size */
- unsigned long freehigh; /* Available high memory size */
- unsigned int mem_unit; /* Memory unit size in bytes */
- char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
-};
-
-
-int sysinfo(struct sysinfo *info) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/syslog.h b/mdk-stage1/dietlibc/include/sys/syslog.h
deleted file mode 100644
index 8722038a5..000000000
--- a/mdk-stage1/dietlibc/include/sys/syslog.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _SYS_SYSLOG_H
-#define _SYS_SYSLOG_H 1
-
-#include <sys/cdefs.h>
-#include <stdarg.h>
-
-#define _PATH_LOG "/dev/log"
-
-/*
- * priorities/facilities are encoded into a single 32-bit quantity, where the
- * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility
- * (0-big number). Both the priorities and the facilities map roughly
- * one-to-one to strings in the syslogd(8) source code. This mapping is
- * included in this file.
- *
- * priorities (these are ordered)
- */
-#define LOG_EMERG 0 /* system is unusable */
-#define LOG_ALERT 1 /* action must be taken immediately */
-#define LOG_CRIT 2 /* critical conditions */
-#define LOG_ERR 3 /* error conditions */
-#define LOG_WARNING 4 /* warning conditions */
-#define LOG_NOTICE 5 /* normal but significant condition */
-#define LOG_INFO 6 /* informational */
-#define LOG_DEBUG 7 /* debug-level messages */
-
-#define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */
- /* extract priority */
-#define LOG_PRI(p) ((p) & LOG_PRIMASK)
-#define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri))
-
-/* facility codes */
-#define LOG_KERN (0<<3) /* kernel messages */
-#define LOG_USER (1<<3) /* random user-level messages */
-#define LOG_MAIL (2<<3) /* mail system */
-#define LOG_DAEMON (3<<3) /* system daemons */
-#define LOG_AUTH (4<<3) /* security/authorization messages */
-#define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */
-#define LOG_LPR (6<<3) /* line printer subsystem */
-#define LOG_NEWS (7<<3) /* network news subsystem */
-#define LOG_UUCP (8<<3) /* UUCP subsystem */
-#define LOG_CRON (9<<3) /* clock daemon */
-#define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */
-#define LOG_FTP (11<<3) /* ftp daemon */
-
- /* other codes through 15 reserved for system use */
-#define LOG_LOCAL0 (16<<3) /* reserved for local use */
-#define LOG_LOCAL1 (17<<3) /* reserved for local use */
-#define LOG_LOCAL2 (18<<3) /* reserved for local use */
-#define LOG_LOCAL3 (19<<3) /* reserved for local use */
-#define LOG_LOCAL4 (20<<3) /* reserved for local use */
-#define LOG_LOCAL5 (21<<3) /* reserved for local use */
-#define LOG_LOCAL6 (22<<3) /* reserved for local use */
-#define LOG_LOCAL7 (23<<3) /* reserved for local use */
-
-#define LOG_NFACILITIES 24 /* current number of facilities */
-#define LOG_FACMASK 0x03f8 /* mask to extract facility part */
- /* facility of pri */
-#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
-
-/*
- * arguments to setlogmask.
- */
-#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */
-#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */
-
-/*
- * Option flags for openlog.
- *
- * LOG_ODELAY no longer does anything.
- * LOG_NDELAY is the inverse of what it used to be.
- */
-#define LOG_PID 0x01 /* log the pid with each message */
-#define LOG_CONS 0x02 /* log on the console if errors in sending */
-#define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */
-#define LOG_NDELAY 0x08 /* don't delay open */
-#define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */
-#define LOG_PERROR 0x20 /* log to stderr as well */
-
-/* Open connection to system logger. */
-/* against the glibc-routine ident has not to be const ! */
-/* instead ident is limited to 80 characters ! */
-void openlog (const char *ident, int option, int facility);
-
-void closelog (void) __THROW;
-
-int setlogmask (int mask) __THROW;
-
-void syslog (int priority, const char *format, ...) __THROW;
-
-void vsyslog (int priority, const char *format, va_list arg_ptr) __THROW;
-
-/* yuck yuck yuck, only needed for syslogd. */
-typedef struct _code {
- const char *const c_name;
- int c_val;
-} CODE;
-
-extern CODE prioritynames[];
-extern CODE facilitynames[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/sysmacros.h b/mdk-stage1/dietlibc/include/sys/sysmacros.h
deleted file mode 100644
index 8a8124131..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysmacros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYSMACROS_H
-#define _SYSMACROS_H
-
-#include <sys/stat.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/time.h b/mdk-stage1/dietlibc/include/sys/time.h
deleted file mode 100644
index 9fc40089f..000000000
--- a/mdk-stage1/dietlibc/include/sys/time.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _SYS_TIME_H
-#define _SYS_TIME_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/select.h>
-
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-
-struct timeval {
- time_t tv_sec; /* seconds */
- suseconds_t tv_usec; /* microseconds */
-};
-
-struct timezone {
- int tz_minuteswest; /* minutes west of Greenwich */
- int tz_dsttime; /* type of dst correction */
-};
-
-#define ITIMER_REAL 0
-#define ITIMER_VIRTUAL 1
-#define ITIMER_PROF 2
-
-struct itimerspec {
- struct timespec it_interval; /* timer period */
- struct timespec it_value; /* timer expiration */
-};
-
-struct itimerval {
- struct timeval it_interval; /* timer interval */
- struct timeval it_value; /* current value */
-};
-
-#if defined _GNU_SOURCE || defined _BSD_SOURCE
-typedef struct timezone *__timezone_ptr_t;
-#else
-typedef void *__timezone_ptr_t;
-#endif
-
-int getitimer(int which, struct itimerval *value) __THROW;
-int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue) __THROW;
-
-int gettimeofday(struct timeval *tv, struct timezone *tz) __THROW;
-int settimeofday(const struct timeval *tv , const struct timezone *tz) __THROW;
-
-extern int utimes (const char *__file, const struct timeval __tvp[2]) __THROW;
-
-extern int adjtime (const struct timeval *delta, struct timeval *olddelta) __THROW;
-
-struct tm {
- int tm_sec; /* Seconds. [0-60] (1 leap second) */
- int tm_min; /* Minutes. [0-59] */
- int tm_hour; /* Hours. [0-23] */
- int tm_mday; /* Day. [1-31] */
- int tm_mon; /* Month. [0-11] */
- int tm_year; /* Year - 1900. */
- int tm_wday; /* Day of week. [0-6] */
- int tm_yday; /* Days in year.[0-365] */
- int tm_isdst; /* DST. [-1/0/1]*/
-
- long int tm_gmtoff; /* Seconds east of UTC. */
- const char *tm_zone; /* Timezone abbreviation. */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/timeb.h b/mdk-stage1/dietlibc/include/sys/timeb.h
deleted file mode 100644
index ceed377e7..000000000
--- a/mdk-stage1/dietlibc/include/sys/timeb.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __SYS_TIMEB_H
-#define __SYS_TIMEB_H 1
-
-struct timeb {
- time_t time;
- unsigned short millitm;
- short timezone;
- short dstflag;
-};
-
-int ftime(struct timeb *tp);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/times.h b/mdk-stage1/dietlibc/include/sys/times.h
deleted file mode 100644
index 27f75cdc5..000000000
--- a/mdk-stage1/dietlibc/include/sys/times.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _SYS_TIMES_H
-#define _SYS_TIMES_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct tms {
- clock_t tms_utime;
- clock_t tms_stime;
- clock_t tms_cutime;
- clock_t tms_cstime;
-};
-
-clock_t times(struct tms *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/timex.h b/mdk-stage1/dietlibc/include/sys/timex.h
deleted file mode 100644
index cf024e009..000000000
--- a/mdk-stage1/dietlibc/include/sys/timex.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _SYS_TIMEX_H
-#define _SYS_TIMEX_H
-
-struct timex {
- unsigned int modes; /* mode selector */
- long int offset; /* time offset (usec) */
- long int freq; /* frequency offset (scaled ppm) */
- long int maxerror; /* maximum error (usec) */
- long int esterror; /* estimated error (usec) */
- int status; /* clock command/status */
- long int constant; /* pll time constant */
- long int precision; /* clock precision (usec) (read only) */
- long int tolerance; /* clock frequency tolerance (ppm) (read only) */
- struct timeval time; /* (read only) */
- long int tick; /* (modified) usecs between clock ticks */
-
- long int ppsfreq; /* pps frequency (scaled ppm) (ro) */
- long int jitter; /* pps jitter (us) (ro) */
- int shift; /* interval duration (s) (shift) (ro) */
- long int stabil; /* pps stability (scaled ppm) (ro) */
- long int jitcnt; /* jitter limit exceeded (ro) */
- long int calcnt; /* calibration intervals (ro) */
- long int errcnt; /* calibration errors (ro) */
- long int stbcnt; /* stability limit exceeded (ro) */
-
- /* ??? */
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
-};
-
-#define ADJ_OFFSET 0x0001 /* time offset */
-#define ADJ_FREQUENCY 0x0002 /* frequency offset */
-#define ADJ_MAXERROR 0x0004 /* maximum time error */
-#define ADJ_ESTERROR 0x0008 /* estimated time error */
-#define ADJ_STATUS 0x0010 /* clock status */
-#define ADJ_TIMECONST 0x0020 /* pll time constant */
-#define ADJ_TICK 0x4000 /* tick value */
-#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */
-
-#define TIME_OK 0 /* clock synchronized */
-#define TIME_INS 1 /* insert leap second */
-#define TIME_DEL 2 /* delete leap second */
-#define TIME_OOP 3 /* leap second in progress */
-#define TIME_WAIT 4 /* leap second has occurred */
-#define TIME_BAD 5 /* clock not synchronized */
-
-int adjtimex(struct timex *buf);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/types.h b/mdk-stage1/dietlibc/include/sys/types.h
deleted file mode 100644
index a3d2bf4be..000000000
--- a/mdk-stage1/dietlibc/include/sys/types.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _SYS_TYPES_H
-#define _SYS_TYPES_H
-
-#include <inttypes.h>
-#include <stddef.h>
-
-typedef unsigned long int blkcnt_t; /* Used for file block counts */
-typedef unsigned long int blksize_t; /* Used for block sizes */
-typedef unsigned long int clock_t; /* Used for system times in
- clock ticks or CLOCKS_PER_SEC
- (see <time.h>). */
-
-/* TODO:
- clockid_t
- Used for clock ID type in the clock and timer functions.
- fsblkcnt_t
- Used for file system block counts
- fsfilcnt_t
- Used for file system file counts
- pthread_attr_t
- Used to identify a thread attribute object.
- pthread_cond_t
- Used for condition variables.
- pthread_condattr_t
- Used to identify a condition attribute object.
- pthread_key_t
- Used for thread-specific data keys.
- pthread_mutex_t
- Used for mutexes.
- pthread_mutexattr_t
- Used to identify a mutex attribute object.
- pthread_once_t
- Used for dynamic package initialisation.
- pthread_rwlock_t
- Used for read-write locks.
- pthread_rwlockattr_t
- Used for read-write lock attributes.
- pthread_t
- Used to identify a thread.
- timer_t
- Used for timer ID returned by timer_create().
-*/
-
-#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__hppa__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int uid_t; /* Used for user IDs. */
-typedef unsigned int gid_t; /* Used for group IDs. */
-typedef unsigned int dev_t; /* Used for device IDs. */
-#else
-typedef unsigned short uid_t; /* Used for user IDs. */
-typedef unsigned short gid_t; /* Used for group IDs. */
-typedef unsigned short dev_t; /* Used for device IDs. */
-#endif
-
-#if defined(__alpha__) || defined(__mips__) || defined(__powerpc__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int mode_t; /* Used for some file attributes. */
-#else
-typedef unsigned short mode_t; /* Used for some file attributes. */
-#endif
-
-#if defined(__alpha__) || defined(__mips__) || defined(__sparc64__) \
- || defined(__x86_64__) || defined(__ia64__)
-typedef unsigned int nlink_t; /* Used for link counts. */
-#else
-typedef unsigned short nlink_t; /* Used for link counts. */
-#endif
-
-typedef signed int id_t; /* Used as a general identifier; can be
- used to contain at least a pid_t,
- uid_t or a gid_t. */
-typedef unsigned long ino_t; /* Used for file serial numbers. */
-typedef signed int key_t; /* Used for interprocess communication. */
-typedef signed int pid_t; /* Used for process IDs and process group IDs. */
-typedef signed long ssize_t; /* Used for a count of bytes or an error indication. */
-typedef signed long suseconds_t; /* Used for time in microseconds. */
-typedef signed long time_t; /* Used for time in seconds. */
-typedef signed long useconds_t; /* Used for time in microseconds. */
-
-/* non-susv2 types: */
-__extension__ typedef signed long long loff_t; /* 64-bit offset */
-
-__extension__ typedef signed long long off64_t;
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-typedef off64_t off_t;
-#else
-typedef signed long off_t; /* Used for file sizes. */
-#endif
-
-__extension__ typedef unsigned long long ino64_t;
-__extension__ typedef signed long long blkcnt64_t;
-
-typedef uint32_t uid32_t;
-typedef uint32_t gid32_t;
-
-typedef long int fpos_t;
-
-#define __socklen_t_defined
-typedef unsigned int socklen_t;
-typedef unsigned short sa_family_t;
-
-#ifdef _BSD_SOURCE
-/* die, BSD, die! */
-typedef uint16_t nshort;
-typedef uint32_t ntime;
-typedef uint32_t nlong;
-typedef uint32_t ulong;
-typedef uint16_t n_short;
-typedef uint32_t n_time;
-typedef uint32_t n_long;
-# ifndef __dietlibc_u_char_defined
-typedef char* caddr_t;
-typedef uint32_t u_long;
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-# define __dietlibc_u_char_defined
-# endif
-typedef unsigned char uchar;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-#endif
-
-#ifdef _GNU_SOURCE
-typedef uint8_t u_int8_t;
-typedef uint16_t u_int16_t;
-typedef uint32_t u_int32_t;
-#ifndef __STRICT_ANSI__
-typedef uint64_t u_int64_t;
-#endif
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/ucontext.h b/mdk-stage1/dietlibc/include/sys/ucontext.h
deleted file mode 100644
index 573c6c7fb..000000000
--- a/mdk-stage1/dietlibc/include/sys/ucontext.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H
-
-#include <asm/sigcontext.h>
-#include <signal.h>
-
-typedef struct sigcontext mcontext_t;
-
-#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__mips64__) || defined(__powerpc__) || defined(__hppa__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__alpha__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- unsigned long uc_osf_sigmask;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__sparc__) || defined(__sparc64__)
-
-#define MC_TSTATE 0
-#define MC_PC 1
-#define MC_NPC 2
-#define MC_Y 3
-#define MC_G1 4
-#define MC_G2 5
-#define MC_G3 6
-#define MC_G4 7
-#define MC_G5 8
-#define MC_G6 9
-#define MC_G7 10
-#define MC_O0 11
-#define MC_O1 12
-#define MC_O2 13
-#define MC_O3 14
-#define MC_O4 15
-#define MC_O5 16
-#define MC_O6 17
-#define MC_O7 18
-#define MC_NGREG 19
-
-typedef unsigned long mc_greg_t;
-typedef mc_greg_t mc_gregset_t[MC_NGREG];
-
-#define MC_MAXFPQ 16
-struct mc_fq {
- unsigned long *mcfq_addr;
- unsigned int mcfq_insn;
-};
-
-typedef struct mc_fpu {
- union {
- unsigned int sregs[32];
- unsigned long dregs[32];
- long double qregs[16];
- } mcfpu_fregs;
- unsigned long mcfpu_fsr;
- unsigned long mcfpu_fprs;
- unsigned long mcfpu_gsr;
- struct mc_fq *mcfpu_fq;
- unsigned char mcfpu_qcnt;
- unsigned char mcfpu_qentsz;
- unsigned char mcfpu_enab;
-} mc_fpu_t;
-
-typedef struct {
- mc_gregset_t mc_gregs;
- mc_greg_t mc_fp;
- mc_greg_t mc_i7;
- mc_fpu_t mc_fpregs;
-} mcontext_t;
-
-struct ucontext {
- struct ucontext *uc_link;
- unsigned long uc_flags;
- sigset_t uc_sigmask;
- mcontext_t uc_mcontext;
-};
-#elif defined(__s390__)
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- _sigregs uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-#elif defined(__ia64__)
-
-/* oh my god is this ugly! --fefe*/
-struct ucontext {
- struct sigcontext uc_mcontext;
-};
-
-#define uc_link uc_mcontext.sc_gr[0] /* wrong type; nobody cares */
-#define uc_sigmask uc_mcontext.sc_sigmask
-#define uc_stack uc_mcontext.sc_stack
-#else
-#error NEED TO PORT <sys/sigcontext.h>!
-#endif
-
-typedef struct ucontext ucontext_t;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/uio.h b/mdk-stage1/dietlibc/include/sys/uio.h
deleted file mode 100644
index 5edbdc8b2..000000000
--- a/mdk-stage1/dietlibc/include/sys/uio.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_UIO
-#define _SYS_UIO 1
-
-#include <sys/socket.h>
-
-int readv(int filedes, const struct iovec *vector, size_t count);
-int writev(int filedes, const struct iovec *vector, size_t count);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/un.h b/mdk-stage1/dietlibc/include/sys/un.h
deleted file mode 100644
index 000a937c1..000000000
--- a/mdk-stage1/dietlibc/include/sys/un.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_UN_H
-#define _SYS_UN_H
-
-#include <sys/cdefs.h>
-
-#define UNIX_PATH_MAX 108
-
-struct sockaddr_un {
- sa_family_t sun_family; /* AF_UNIX */
- char sun_path[UNIX_PATH_MAX]; /* pathname */
-};
-
-#endif /* sys/un.h */
diff --git a/mdk-stage1/dietlibc/include/sys/utsname.h b/mdk-stage1/dietlibc/include/sys/utsname.h
deleted file mode 100644
index 37bf6c811..000000000
--- a/mdk-stage1/dietlibc/include/sys/utsname.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SYS_UTSNAME_H
-#define _SYS_UTSNAME_H 1
-
-#include <sys/cdefs.h>
-
-/* Length of the entries in `struct utsname' is 65. */
-#define _UTSNAME_LENGTH 65
-#define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH
-
-/* Linux provides as additional information in the `struct utsname'
- the name of the current domain. Define _UTSNAME_DOMAIN_LENGTH
- to a value != 0 to activate this entry. */
-#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH
-
-struct utsname {
- /* Name of the implementation of the operating system. */
- char sysname[_UTSNAME_LENGTH];
-
- /* Name of this node on the network. */
- char nodename[_UTSNAME_NODENAME_LENGTH];
-
- /* Current release level of this implementation. */
- char release[_UTSNAME_LENGTH];
- /* Current version level of this release. */
- char version[_UTSNAME_LENGTH];
-
- /* Name of the hardware type the system is running on. */
- char machine[_UTSNAME_LENGTH];
-
- /* Name of the domain of this node on the network. */
- char domainname[_UTSNAME_DOMAIN_LENGTH];
-};
-
-extern int uname (struct utsname *__name) __THROW;
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/vfs.h b/mdk-stage1/dietlibc/include/sys/vfs.h
deleted file mode 100644
index 19b3242bb..000000000
--- a/mdk-stage1/dietlibc/include/sys/vfs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SYS_VFS_H
-#define _SYS_VFS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-typedef struct {
- int __val[2];
-} __kernel_fsid_t;
-
-struct statfs {
- long f_type;
- long f_bsize;
-#ifdef __mips__
- long f_frsize;
-#endif
- long f_blocks;
- long f_bfree;
-#ifndef __mips__
- long f_bavail;
-#endif
- long f_files;
- long f_ffree;
-#ifdef __mips__
- long f_bavail;
-#endif
- __kernel_fsid_t f_fsid;
- long f_namelen;
- long f_spare[6];
-};
-
-int statfs(const char *path, struct statfs *buf) __THROW;
-int fstatfs(int fd, struct statfs *buf) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/wait.h b/mdk-stage1/dietlibc/include/sys/wait.h
deleted file mode 100644
index 0ba55499e..000000000
--- a/mdk-stage1/dietlibc/include/sys/wait.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _SYS_WAIT_H
-#define _SYS_WAIT_H
-
-#include <sys/cdefs.h>
-#include <sys/resource.h>
-
-#define WNOHANG 0x00000001
-#define WUNTRACED 0x00000002
-
-#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads in this group */
-#define __WALL 0x40000000 /* Wait on all children, regardless of type */
-#define __WCLONE 0x80000000 /* Wait only on non-SIGCHLD children */
-
-/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
-#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
-#define WEXITSTATUS __WEXITSTATUS
-
-/* If WIFSIGNALED(STATUS), the terminating signal. */
-#define __WTERMSIG(status) ((status) & 0x7f)
-#define WTERMSIG __WTERMSIG
-
-/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
-#define __WSTOPSIG(status) __WEXITSTATUS(status)
-#define WSTOPSIG __WSTOPSIG
-
-/* Nonzero if STATUS indicates normal termination. */
-#define WIFEXITED(status) (__WTERMSIG(status) == 0)
-
-/* Nonzero if STATUS indicates termination by a signal. */
-#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
-
-/* Nonzero if STATUS indicates the child is stopped. */
-#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
-
-/* Nonzero if STATUS indicates the child dumped core. */
-#define WCOREDUMP(status) ((status) & 0x80)
-
-pid_t wait(int *status) __THROW;
-pid_t waitpid(pid_t pid, int *status, int options) __THROW;
-
-pid_t wait3(int *status, int options, struct rusage *rusage) __THROW;
-
-pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sysexits.h b/mdk-stage1/dietlibc/include/sysexits.h
deleted file mode 100644
index 5540795ff..000000000
--- a/mdk-stage1/dietlibc/include/sysexits.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SYSEXITS_H
-#define _SYSEXITS_H 1
-
-#define EX_OK 0
-
-#define EX__BASE 64
-
-#define EX_USAGE 64
-#define EX_DATAERR 65
-#define EX_NOINPUT 66
-#define EX_NOUSER 67
-#define EX_NOHOST 68
-#define EX_UNAVAILABLE 69
-#define EX_SOFTWARE 70
-#define EX_OSERR 71
-#define EX_OSFILE 72
-#define EX_CANTCREAT 73
-#define EX_IOERR 74
-#define EX_TEMPFAIL 75
-#define EX_PROTOCOL 76
-#define EX_NOPERM 77
-#define EX_CONFIG 78
-
-#define EX__MAX 78
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/syslog.h b/mdk-stage1/dietlibc/include/syslog.h
deleted file mode 100644
index 830b4928a..000000000
--- a/mdk-stage1/dietlibc/include/syslog.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/syslog.h>
diff --git a/mdk-stage1/dietlibc/include/tar.h b/mdk-stage1/dietlibc/include/tar.h
deleted file mode 100644
index a78bbce54..000000000
--- a/mdk-stage1/dietlibc/include/tar.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _TAR_H_
-#define _TAR_H_
-
-#define TMAGIC "ustar"
-#define TVERSION "00"
-
-#define TMAGLEN 6
-#define TVERSLEN 2
-
-#define REGTYPE '0'
-#define AREGTYPE '\0'
-#define LNKTYPE '1'
-#define SYMTYPE '2'
-#define CHRTYPE '3'
-#define BLKTYPE '4'
-#define DIRTYPE '5'
-#define FIFOTYPE '6'
-#define CONTTYPE '7'
-
-#define TSUID 04000
-#define TSGID 02000
-#define TSVTX 01000
-
-#define TUREAD 00400
-#define TUWRITE 00200
-#define TUEXEC 00100
-
-#define TGREAD 00040
-#define TGWRITE 00020
-#define TGEXEC 00010
-
-#define TOREAD 00004
-#define TOWRITE 00002
-#define TOEXEC 00001
-
-#endif /* _TAR_H_ */
diff --git a/mdk-stage1/dietlibc/include/termio.h b/mdk-stage1/dietlibc/include/termio.h
deleted file mode 100644
index 55d1f242b..000000000
--- a/mdk-stage1/dietlibc/include/termio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* this looks horribly wrong, but glibc does it like that */
-
-#include <termios.h>
-#include <sys/ioctl.h>
diff --git a/mdk-stage1/dietlibc/include/termios.h b/mdk-stage1/dietlibc/include/termios.h
deleted file mode 100644
index 12e02c5d7..000000000
--- a/mdk-stage1/dietlibc/include/termios.h
+++ /dev/null
@@ -1,383 +0,0 @@
-#ifndef _TERMIOS_H
-#define _TERMIOS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define NCC 8
-struct termio {
- unsigned short c_iflag; /* input mode flags */
- unsigned short c_oflag; /* output mode flags */
- unsigned short c_cflag; /* control mode flags */
- unsigned short c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[NCC]; /* control characters */
-};
-
-/* modem lines */
-#ifdef __mips__
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x010
-#define TIOCM_SR 0x020
-#define TIOCM_CTS 0x040
-#define TIOCM_CAR 0x100
-#define TIOCM_RNG 0x200
-#define TIOCM_DSR 0x400
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-#else
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-#endif
-
-/* line disciplines */
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6 /* X.25 async */
-#define N_6PACK 7
-#define N_MASC 8 /* Reserved for Mobitex module <kaz@cafe.net> */
-#define N_R3964 9 /* Reserved for Simatic R3964 module */
-#define N_PROFIBUS_FDL 10 /* Reserved for Profibus <Dave@mvhi.com> */
-#define N_IRDA 11 /* Linux IR - http://irda.sourceforge.net/ */
-#define N_SMSBLOCK 12 /* SMS block mode - for talking to GSM data cards about SMS messages */
-#define N_HDLC 13 /* synchronous HDLC */
-#define N_SYNC_PPP 14 /* synchronous PPP */
-#define N_HCI 15 /* Bluetooth HCI UART */
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define _POSIX_VDISABLE '\0'
-
-#if defined(__i386__) || defined(__arm__) || defined(__ia64__) || defined(__hppa__) || defined(__s390__) || defined(__s390x__) || defined(__x86_64__)
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#elif defined(__mips__) || defined(__mips64__)
-#define NCCS 23
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- /*
- * Seems nonexistent in the ABI, but Linux assumes existence ...
- */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#elif defined(powerpc) || defined(__alpha__)
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[NCCS]; /* control characters */
- cc_t c_line; /* line discipline (== c_cc[19]) */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-#elif defined(__sparc__)
-#define NCCS 17
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-#else
-# error "Struct termios undefined on your architecture"
-#endif
-
-/* c_cc characters */
-#if defined(__alpha__)
-#define VEOF 0
-#define VEOL 1
-#define VEOL2 2
-#define VERASE 3
-#define VWERASE 4
-#define VKILL 5
-#define VREPRINT 6
-#define VSWTC 7
-#define VINTR 8
-#define VQUIT 9
-#define VSUSP 10
-#define VSTART 12
-#define VSTOP 13
-#define VLNEXT 14
-#define VDISCARD 15
-#define VMIN 16
-#define VTIME 17
-#elif defined(__mips__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VMIN 4
-#define VTIME 5
-#define VEOL2 6
-#define VSWTC 7
-#define VSWTCH VSWTC
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOF 16
-#define VEOL 17
-#elif defined(__powerpc__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VMIN 5
-#define VEOL 6
-#define VTIME 7
-#define VEOL2 8
-#define VSWTC 9
-#define VWERASE 10
-#define VREPRINT 11
-#define VSUSP 12
-#define VSTART 13
-#define VSTOP 14
-#define VLNEXT 15
-#define VDISCARD 16
-#elif defined(__sparc__)
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VEOL 5
-#define VEOL2 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VDSUSP 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VMIN 16
-#define VTIME 17
-#else /* arm, i386, parisc, s390, x86_64 */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-#endif
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate (not used) */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#ifdef __mips__
-#define IEXTEN 0000400
-#define FLUSHO 0020000
-#define TOSTOP 0100000
-#else
-#define TOSTOP 0000400
-#define FLUSHO 0010000
-#define IEXTEN 0100000
-#endif
-#define PENDIN 0040000
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#ifdef __mips__
-#define TCSANOW 0x540e
-#define TCSADRAIN 0x540f
-#define TCSAFLUSH 0x5410
-#else
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-#endif
-
-int tcgetattr(int fd, struct termios *termios_p) __THROW;
-int tcsetattr(int fd, int optional_actions, struct termios *termios_p) __THROW;
-speed_t cfgetospeed(struct termios *termios_p) __THROW;
-int cfsetospeed(struct termios *termios_p, speed_t speed) __THROW;
-speed_t cfgetispeed(struct termios *termios_p) __THROW;
-int cfsetispeed(struct termios *termios_p, speed_t speed) __THROW;
-void cfmakeraw(struct termios *t) __THROW;
-
-int tcflush(int fd, int queue_selector) __THROW;
-int tcdrain(int fd) __THROW;
-int tcflow (int fd,int action) __THROW;
-int tcsendbreak (int fd,int duration) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/time.h b/mdk-stage1/dietlibc/include/time.h
deleted file mode 100644
index 29681fa3d..000000000
--- a/mdk-stage1/dietlibc/include/time.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _TIME_H
-#define _TIME_H
-
-#include <sys/cdefs.h>
-#include <sys/time.h>
-
-extern int __isleap(int year);
-
-int nanosleep(const struct timespec *req, struct timespec *rem) __THROW;
-
-time_t mktime(struct tm *timeptr) __THROW __pure__;
-
-char *asctime(const struct tm *timeptr) __THROW;
-char *asctime_r(const struct tm *timeptr, char *buf) __THROW;
-
-char *ctime(const time_t *timep) __THROW;
-
-size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) __THROW __attribute__((format(strftime,3,0)));
-time_t time(time_t *t) __THROW;
-
-int stime(time_t *t) __THROW;
-
-double difftime(time_t time1, time_t time0) __THROW __attribute__((const));
-
-#define CLOCKS_PER_SEC 1000000l
-
-extern long int timezone;
-extern int daylight;
-extern char* tzname[2];
-
-void tzset (void) __THROW;
-
-struct tm* localtime(const time_t* t) __THROW;
-struct tm* gmtime(const time_t* t) __THROW;
-struct tm* localtime_r(const time_t* t, struct tm* r) __THROW;
-struct tm* gmtime_r(const time_t* t, struct tm* r) __THROW;
-
-clock_t clock(void);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/unistd.h b/mdk-stage1/dietlibc/include/unistd.h
deleted file mode 100644
index 2fba5d584..000000000
--- a/mdk-stage1/dietlibc/include/unistd.h
+++ /dev/null
@@ -1,233 +0,0 @@
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <sys/fsuid.h>
-
-extern int optind,opterr;
-extern char *optarg;
-int getopt(int argc, char *const argv[], const char *options);
-
-/* Values for the second argument to access.
- These may be OR'd together. */
-#define R_OK 4 /* Test for read permission. */
-#define W_OK 2 /* Test for write permission. */
-#define X_OK 1 /* Test for execute permission. */
-#define F_OK 0 /* Test for existence. */
-
-/* Test for access to NAME using the real UID and real GID. */
-extern int access (const char *__name, int __type) __THROW;
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#endif
-
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-off_t lseek(int fildes, off_t offset, int whence) __THROW;
-#ifndef __NO_STAT64
-loff_t lseek64(int fildes, loff_t offset, int whence) __THROW;
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define lseek(fildes,offset,whence) lseek64(fildes,offset,whence)
-#endif
-#endif
-
-int chdir(const char *path) __THROW;
-int fchdir(int fd) __THROW;
-int rmdir(const char *pathname) __THROW;
-char *getcwd(char *buf, size_t size) __THROW;
-
-int open(const char* pathname,int flags, ...) __THROW;
-int open64(const char* pathname,int flags, ...) __THROW;
-int creat(const char* pathname,mode_t mode) __THROW;
-int creat64(const char* pathname,mode_t mode) __THROW;
-int write(int fd,const void* buf,size_t len) __THROW;
-int read(int fd,void* buf,size_t len) __THROW;
-int close(int fd) __THROW;
-
-int unlink(const char *pathname) __THROW;
-
-int pread(int fd, void *buf, size_t count, off_t offset);
-int pwrite(int fd, const void *buf, size_t count, off_t offset);
-
-int execve(const char *filename, char *const argv [], char *const envp[]) __THROW;
-int execlp(const char *file, const char *arg, ...) __THROW;
-int execv(const char *path, char *const argv[]) __THROW;
-int execvp(const char *file, char *const argv[]) __THROW;
-int execl(const char *path, ...) __THROW;
-int execle(const char *path, ...) __THROW;
-
-pid_t getpid(void) __THROW;
-pid_t getppid(void) __THROW;
-
-int setpgid (pid_t pid,pid_t pgid) __THROW;
-pid_t getpgid (pid_t pid) __THROW;
-int setpgrp (void) __THROW;
-pid_t getpgrp (void) __THROW;
-pid_t getsid(pid_t pid) __THROW;
-pid_t setsid (void) __THROW;
-int dup (int oldfd) __THROW;
-int dup2 (int oldfd,int newfd) __THROW;
-
-struct dirent;
-struct dirent64;
-int getdents(int fd, struct dirent *dirp, unsigned int count) __THROW;
-int getdents64(int fd, struct dirent64 *dirp, unsigned int count) __THROW;
-
-pid_t fork(void) __THROW;
-pid_t vfork(void) __THROW;
-
-int readlink(const char *path, char *buf, size_t bufsiz) __THROW;
-int symlink(const char *oldpath, const char *newpath) __THROW;
-int link(const char *oldpath, const char *newpath) __THROW;
-
-int chown(const char *path, uid_t owner, gid_t group) __THROW;
-int fchown(int fd, uid_t owner, gid_t group) __THROW;
-int lchown(const char *path, uid_t owner, gid_t group) __THROW;
-
-int fsync(int fd) __THROW;
-#define _POSIX_SYNCHRONIZED_IO
-int fdatasync(int fd) __THROW;
-
-int pipe(int filedes[2]) __THROW;
-
-char *ttyname (int desc) __THROW;
-
-int brk(void *end_data_segment) __THROW;
-void *sbrk(ptrdiff_t increment) __THROW;
-
-int gethostname(char *name, size_t len) __THROW;
-int sethostname(const char *name, size_t len) __THROW;
-
-int usleep(unsigned long useconds) __THROW;
-unsigned int sleep(unsigned int seconds) __THROW;
-
-unsigned int alarm(unsigned int seconds) __THROW;
-int sync(void) __THROW;
-
-int isatty(int desc) __THROW;
-
-void _exit(int status) __THROW __attribute__((noreturn));
-
-extern int daemon(int nochdir,int noclose) __THROW;
-
-int pause(void) __THROW;
-
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
-#define open open64
-#define creat creat64
-#define truncate truncate64
-#define ftruncate ftruncate64
-#define getdents getdents64
-#endif
-
-extern char* getlogin(void) __THROW;
-/* warning: the diet libc getlogin() simply returns getenv("LOGNAME") */
-
-int chroot(const char *path) __THROW;
-
-uid_t getuid(void) __THROW;
-uid_t geteuid(void) __THROW;
-gid_t getgid(void) __THROW;
-gid_t getegid(void) __THROW;
-int setuid(uid_t uid) __THROW;
-/* int seteuid(uid_t uid) __THROW; */
-int setgid(gid_t gid) __THROW;
-/* int setegid(gid_t gid) __THROW; */
-int setregid(gid_t rgid, gid_t egid) __THROW;
-int setreuid(uid_t ruid, uid_t euid) __THROW;
-#define seteuid(euid) setreuid(-1,euid)
-#define setegid(egid) setregid(-1,egid)
-
-int rename(const char *oldpath, const char *newpath) __THROW;
-int truncate(const char *path, off_t length) __THROW;
-int ftruncate(int fd, off_t length) __THROW;
-#ifndef __NO_STAT64
-int truncate64(const char *path, loff_t length) __THROW;
-int ftruncate64(int fd, loff_t length) __THROW;
-#endif
-
-int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) __THROW;
-
-int nice(int inc) __THROW;
-
-extern char **__environ;
-
-char *crypt(const char *key, const char *salt) __THROW;
-void encrypt(char block[64], int edflag) __THROW;
-void setkey(const char *key) __THROW;
-
-size_t getpagesize(void) __THROW __attribute__((__const__));
-
-int getdomainname(char *name, size_t len) __THROW;
-int setdomainname(const char *name, size_t len) __THROW;
-
-int getgroups(int size, gid_t list[]) __THROW;
-int getdtablesize(void) __THROW;
-char *getpass(const char * prompt) __THROW;
-
-/* warning: linux specific: */
-int llseek(int fildes, unsigned long hi, unsigned long lo, loff_t* result,int whence) __THROW;
-
-/* include <linux/sysctl.h> to get all the definitions! */
-struct __sysctl_args;
-int _sysctl(struct __sysctl_args *args) __THROW;
-
-#define _SC_CLK_TCK 1
-#define _SC_ARG_MAX 2
-#define _SC_NGROUPS_MAX 3
-#define _SC_OPEN_MAX 4
-#define _SC_PAGESIZE 5
-#define _SC_NPROCESSORS_ONLN 6
-#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_ONLN
-long sysconf(int name) __THROW;
-#define _PC_PATH_MAX 1
-#define _PC_VDISABLE 2
-
-pid_t tcgetpgrp(int fd) __THROW;
-int tcsetpgrp(int fd, pid_t pgrpid) __THROW;
-
-int profil(unsigned short *buf, size_t bufsiz, size_t offset, unsigned int scale);
-
-/* Linux only: */
-int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid) __THROW;
-int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid) __THROW;
-int setresuid(uid_t ruid, uid_t euid, uid_t suid) __THROW;
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid) __THROW;
-
-/* 32-bit uid support */
-int chown32(const char *path, uid32_t owner, gid32_t group) __THROW;
-int fchown32(int fd, uid32_t owner, gid32_t group) __THROW;
-int lchown32(const char *path, uid32_t owner, gid32_t group) __THROW;
-uid32_t getuid32(void) __THROW;
-uid32_t geteuid32(void) __THROW;
-gid32_t getgid32(void) __THROW;
-gid32_t getegid32(void) __THROW;
-int setuid32(uid32_t uid) __THROW;
-int setgid32(gid32_t gid) __THROW;
-int setreuid32(uid32_t ruid, uid32_t euid) __THROW;
-int setregid32(gid32_t rgid, gid32_t egid) __THROW;
-#define seteuid32(euid) setreuid32(-1,euid)
-#define setegid32(egid) setregid32(-1,egid)
-int getgroups32(int size, gid32_t list[]) __THROW;
-int getresuid32(uid32_t *ruid, uid32_t *euid, uid32_t *suid);
-int getresgid32(gid32_t *rgid, gid32_t *egid, gid32_t *sgid);
-int setresuid32(uid32_t ruid, uid32_t euid, uid32_t suid) __THROW;
-int setresgid32(gid32_t rgid, gid32_t egid, gid32_t sgid) __THROW;
-
-#ifdef _BSD_SOURCE
-char *getusershell(void);
-void setusershell(void);
-void endusershell(void);
-#endif
-
-#define _POSIX_VERSION 199506L
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/utime.h b/mdk-stage1/dietlibc/include/utime.h
deleted file mode 100644
index 41674f379..000000000
--- a/mdk-stage1/dietlibc/include/utime.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _UTIME_H
-#define _UTIME_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <time.h>
-
-struct utimbuf {
- time_t actime; /* access time */
- time_t modtime; /* modification time */
-};
-
-int utime(const char *filename, struct utimbuf *buf) __THROW;
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/utmp.h b/mdk-stage1/dietlibc/include/utmp.h
deleted file mode 100644
index cc2adc9f6..000000000
--- a/mdk-stage1/dietlibc/include/utmp.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef _UTMP_H
-#define _UTMP_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <time.h>
-
-#define UT_LINESIZE 32
-#define UT_NAMESIZE 32
-#define UT_HOSTSIZE 256
-
-#define _PATH_UTMP "/var/run/utmp"
-#define _PATH_WTMP "/var/log/wtmp"
-#ifdef _BSD_SOURCE
-/* die, BSD, die!!! */
-#define UTMP_FILE _PATH_UTMP
-#define WTMP_FILE _PATH_WTMP
-#endif
-
-/* The structure describing an entry in the database of
- previous logins. */
-struct lastlog
- {
- time_t ll_time;
- char ll_line[UT_LINESIZE];
- char ll_host[UT_HOSTSIZE];
- };
-
-/* The structure describing the status of a terminated process. This
- type is used in `struct utmp' below. */
-struct exit_status
- {
- short int e_termination; /* Process termination status. */
- short int e_exit; /* Process exit status. */
- };
-
-/* The structure describing an entry in the user accounting database. */
-struct utmp
-{
- short int ut_type; /* Type of login. */
- pid_t ut_pid; /* Process ID of login process. */
- char ut_line[UT_LINESIZE]; /* Devicename. */
- char ut_id[4]; /* Inittab ID. */
- char ut_user[UT_NAMESIZE]; /* Username. */
- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
-#define ut_name ut_user
- struct exit_status ut_exit; /* Exit status of a process marked
- as DEAD_PROCESS. */
- long int ut_session; /* Session ID, used for windowing. */
-#define ut_time ut_tv.tv_sec
- struct timeval ut_tv; /* Time entry was made. */
-#define ut_addr ut_addr_v6[0]
- int32_t ut_addr_v6[4]; /* Internet address of remote host. */
- char __unused[20]; /* Reserved for future use. */
-};
-
-/* Values for the `ut_type' field of a `struct utmp'. */
-#define EMPTY 0 /* No valid user accounting information. */
-
-#define RUN_LVL 1 /* The system's runlevel. */
-#define BOOT_TIME 2 /* Time of system boot. */
-#define NEW_TIME 3 /* Time after system clock changed. */
-#define OLD_TIME 4 /* Time when system clock changed. */
-
-#define INIT_PROCESS 5 /* Process spawned by the init process. */
-#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */
-#define USER_PROCESS 7 /* Normal process. */
-#define DEAD_PROCESS 8 /* Terminated process. */
-
-#define ACCOUNTING 9
-
-/* Tell the user that we have a modern system with UT_HOST, UT_PID,
- UT_TYPE, UT_ID and UT_TV fields. */
-#define _HAVE_UT_TYPE 1
-#define _HAVE_UT_PID 1
-#define _HAVE_UT_ID 1
-#define _HAVE_UT_TV 1
-#define _HAVE_UT_HOST 1
-
-struct utmp *getutent(void) __THROW;
-struct utmp *getutid(struct utmp *ut) __THROW;
-struct utmp *getutline(struct utmp *ut) __THROW;
-
-void pututline(struct utmp *ut) __THROW;
-
-void setutent(void) __THROW;
-void endutent(void) __THROW;
-
-void utmpname(const char *file) __THROW;
-
-void updwtmp(const char *wtmp_file, const struct utmp *ut);
-void logwtmp(const char *line, const char *name, const char *host);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/write12.h b/mdk-stage1/dietlibc/include/write12.h
deleted file mode 100644
index 960b4b722..000000000
--- a/mdk-stage1/dietlibc/include/write12.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <sys/cdefs.h>
-
-int __write1 ( const char* s ) __attribute__ (( regparm(1) ));
-int __write2 ( const char* s ) __attribute__ (( regparm(1) ));
diff --git a/mdk-stage1/dietlibc/lib/__dtostr.c b/mdk-stage1/dietlibc/lib/__dtostr.c
deleted file mode 100644
index 580258936..000000000
--- a/mdk-stage1/dietlibc/lib/__dtostr.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include <stdlib.h>
-#include <endian.h>
-#include <math.h>
-/* convert double to string. Helper for sprintf. */
-
-static int copystring(char* buf,int maxlen, const char* s) {
- int i;
- for (i=0; i<3&&i<maxlen; ++i)
- buf[i]=s[i];
- if (i<maxlen) { buf[i]=0; ++i; }
- return i;
-}
-
-int __dtostr(double d,char *buf,unsigned int maxlen,unsigned int prec,unsigned int prec2) {
-#if 1
- unsigned long long *x=(unsigned long long *)&d;
- /* step 1: extract sign, mantissa and exponent */
- signed long e=((*x>>52)&((1<<11)-1))-1023;
-#else
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- signed long e=(((((unsigned long*)&d)[1])>>20)&((1<<11)-1))-1023;
-#else
- signed long e=(((*((unsigned long*)&d))>>20)&((1<<11)-1))-1023;
-#endif
-#endif
-/* unsigned long long m=*x & ((1ull<<52)-1); */
- /* step 2: exponent is base 2, compute exponent for base 10 */
- signed long e10;
- /* step 3: calculate 10^e10 */
- unsigned int i;
- double backup=d;
- double tmp;
- char *oldbuf=buf;
-
- if (isnan(d)) return copystring(buf,maxlen,"nan");
- if ((i=isinf(d))) return copystring(buf,maxlen,i>0?"inf":"-inf");
- e10=1+(long)(e*0.30102999566398119802); /* log10(2) */
- /* Wir iterieren von Links bis wir bei 0 sind oder maxlen erreicht
- * ist. Wenn maxlen erreicht ist, machen wir das nochmal in
- * scientific notation. Wenn dann von prec noch was übrig ist, geben
- * wir einen Dezimalpunkt aus und geben prec2 Nachkommastellen aus.
- * Wenn prec2 Null ist, geben wir so viel Stellen aus, wie von prec
- * noch übrig ist. */
- if (d==0.0) {
- prec2=prec2==0?1:prec2+2;
- prec2=prec2>maxlen?8:prec2;
- for (i=0; i<prec2; ++i) buf[i]='0';
- buf[1]='.'; buf[i]=0;
- return i;
- }
-
- if (d < 0.0) { d=-d; *buf='-'; --maxlen; ++buf; }
-
- /*
- Perform rounding. It needs to be done before we generate any
- digits as the carry could propagate through the whole number.
- */
-
- tmp = 0.5;
- for (i = 0; i < prec2; i++) { tmp *= 0.1; }
- d += tmp;
-
- if (d < 1.0) { *buf='0'; --maxlen; ++buf; }
-/* printf("e=%d e10=%d prec=%d\n",e,e10,prec); */
- if (e10>0) {
- int first=1; /* are we about to write the first digit? */
- tmp = 10.0;
- i=e10;
- while (i>10) { tmp=tmp*1e10; i-=10; }
- while (i>1) { tmp=tmp*10; --i; }
- /* the number is greater than 1. Iterate through digits before the
- * decimal point until we reach the decimal point or maxlen is
- * reached (in which case we switch to scientific notation). */
- while (tmp>0.9) {
- char digit;
- double fraction=d/tmp;
- digit=(int)(fraction); /* floor() */
- if (!first || digit) {
- first=0;
- *buf=digit+'0'; ++buf;
- if (!maxlen) {
- /* use scientific notation */
- int len=__dtostr(backup/tmp,oldbuf,maxlen,prec,prec2);
- int initial=1;
- if (len==0) return 0;
- maxlen-=len; buf+=len;
- if (maxlen>0) {
- *buf='e';
- ++buf;
- }
- --maxlen;
- for (len=1000; len>0; len/=10) {
- if (e10>=len || !initial) {
- if (maxlen>0) {
- *buf=(e10/len)+'0';
- ++buf;
- }
- --maxlen;
- initial=0;
- e10=e10%len;
- }
- }
- if (maxlen>0) goto fini;
- return 0;
- }
- d-=digit*tmp;
- --maxlen;
- }
- tmp/=10.0;
- }
- }
- else
- {
- tmp = 0.1;
- }
-
- if (buf==oldbuf) {
- if (!maxlen) return 0; --maxlen;
- *buf='0'; ++buf;
- }
- if (prec2 || prec>(unsigned int)(buf-oldbuf)+1) { /* more digits wanted */
- if (!maxlen) return 0; --maxlen;
- *buf='.'; ++buf;
- prec-=buf-oldbuf-1;
- if (prec2) prec=prec2;
- if (prec>maxlen) return 0;
- while (prec>0) {
- char digit;
- double fraction=d/tmp;
- digit=(int)(fraction); /* floor() */
- *buf=digit+'0'; ++buf;
- d-=digit*tmp;
- tmp/=10.0;
- --prec;
- }
- }
-fini:
- *buf=0;
- return buf-oldbuf;
-}
diff --git a/mdk-stage1/dietlibc/lib/__fstat64.c b/mdk-stage1/dietlibc/lib/__fstat64.c
deleted file mode 100644
index f2f9858ea..000000000
--- a/mdk-stage1/dietlibc/lib/__fstat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-extern int __dietlibc_fstat64(int __fd, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int fstat64(int __fd, struct stat64 *__buf) {
- if (__dietlibc_fstat64(__fd,__buf)) {
- struct stat temp;
- if (errno!=ENOSYS) return -1;
- if (fstat(__fd,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__ftruncate64.c b/mdk-stage1/dietlibc/lib/__ftruncate64.c
deleted file mode 100644
index e0ea8c98a..000000000
--- a/mdk-stage1/dietlibc/lib/__ftruncate64.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#include "syscalls.h"
-#include <unistd.h>
-#ifndef __NO_STAT64
-#ifdef __NR_ftruncate64
-
-extern int __dietlibc_ftruncate64(int fd, loff_t o);
-
-int ftruncate64(int fd, loff_t o) {
- int tmp;
- if ((tmp=__dietlibc_ftruncate64(fd,o))==-1) {
- if (errno!=ENOSYS) return -1;
- if (o>0x7fffffff) { errno=EOVERFLOW; return -1; }
- return ftruncate(fd,o);
- }
- return tmp;
-}
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__getcwd.c b/mdk-stage1/dietlibc/lib/__getcwd.c
deleted file mode 100644
index 8616704ec..000000000
--- a/mdk-stage1/dietlibc/lib/__getcwd.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-
-extern int __syscall_getcwd(char* buf, size_t size);
-
-char *getcwd(char *buf, size_t size) {
- int tmp;
- if ((tmp=__syscall_getcwd(buf,size))<0) return 0;
- buf[tmp]=0;
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/lib/__isinf.c b/mdk-stage1/dietlibc/lib/__isinf.c
deleted file mode 100644
index 359bd2709..000000000
--- a/mdk-stage1/dietlibc/lib/__isinf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <math.h>
-
-int isinf(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF0000000000000ll?1:*x==0xFFF0000000000000?-1:0);
-}
-int __isinf(double d) __attribute__((alias("isinf")));
-
-#if 0
-TestFromIeeeExtended("7FFF0000000000000000"); /* +infinity */
-TestFromIeeeExtended("FFFF0000000000000000"); /* -infinity */
-TestFromIeeeExtended("7FFF8001000000000000"); /* Quiet NaN(1) */
-TestFromIeeeExtended("7FFF0001000000000000"); /* Signalling NaN(1) */
-TestFromIeeeExtended("3FFFFEDCBA9876543210"); /* accuracy test */
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__isnan.c b/mdk-stage1/dietlibc/lib/__isnan.c
deleted file mode 100644
index de74b8a9f..000000000
--- a/mdk-stage1/dietlibc/lib/__isnan.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <math.h>
-
-int isnan(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF8000000000000ll || *x==0x7FF0000000000000 || *x==0xfff8000000000000);
-}
-int __isnan(double d) __attribute__((alias("isnan")));
-
-#if 0
-TestFromIeeeExtended("7FFF0000000000000000"); /* +infinity */
-TestFromIeeeExtended("FFFF0000000000000000"); /* -infinity */
-TestFromIeeeExtended("7FFF8001000000000000"); /* Quiet NaN(1) */
-TestFromIeeeExtended("7FFF0001000000000000"); /* Signalling NaN(1) */
-TestFromIeeeExtended("3FFFFEDCBA9876543210"); /* accuracy test */
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__lltostr.c b/mdk-stage1/dietlibc/lib/__lltostr.c
deleted file mode 100644
index fe4701f29..000000000
--- a/mdk-stage1/dietlibc/lib/__lltostr.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <string.h>
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase);
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
-{
- char *tmp;
- unsigned int j=0;
-
- s[--size]=0;
-
- tmp=s+size;
-
- if ((base==0)||(base>36)) base=10;
-
- j=0;
- if (!i)
- {
- *(--tmp)='0';
- j=1;
- }
-
- while((tmp>s)&&(i))
- {
- tmp--;
- if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
- i=i/base;
- j++;
- }
- memmove(s,tmp,j+1);
-
- return j;
-}
diff --git a/mdk-stage1/dietlibc/lib/__lstat64.c b/mdk-stage1/dietlibc/lib/__lstat64.c
deleted file mode 100644
index 0eab6a94b..000000000
--- a/mdk-stage1/dietlibc/lib/__lstat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-extern int __dietlibc_lstat64(const char *__file, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int lstat64(const char *__file, struct stat64 *__buf) {
- if (__dietlibc_lstat64(__file,__buf)) {
- struct stat temp;
- if (errno!=ENOSYS) return -1;
- if (lstat(__file,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__ltostr.c b/mdk-stage1/dietlibc/lib/__ltostr.c
deleted file mode 100644
index fa71be9ab..000000000
--- a/mdk-stage1/dietlibc/lib/__ltostr.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase)
-{
- char *tmp;
- unsigned int j=0;
-
- s[--size]=0;
-
- tmp=s+size;
-
- if ((base==0)||(base>36)) base=10;
-
- j=0;
- if (!i)
- {
- *(--tmp)='0';
- j=1;
- }
-
- while((tmp>s)&&(i))
- {
- tmp--;
- if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
- i=i/base;
- j++;
- }
- memmove(s,tmp,j+1);
-
- return j;
-}
diff --git a/mdk-stage1/dietlibc/lib/__ptrace.c b/mdk-stage1/dietlibc/lib/__ptrace.c
deleted file mode 100644
index bd14a0351..000000000
--- a/mdk-stage1/dietlibc/lib/__ptrace.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* we need this because we need to use the glibc prototype which uses
- * varargs :-( */
-#define ptrace fnord
-#include <sys/ptrace.h>
-#undef ptrace
-#include <sys/types.h>
-#include <unistd.h>
-
-extern int __diet_ptrace(int request, pid_t pid, void *addr, void *data);
-int ptrace(int request, pid_t pid, void *addr, void *data);
-
-int ptrace(int request, pid_t pid, void *addr, void *data) {
- switch (request) {
- case PTRACE_TRACEME: case PTRACE_KILL: case PTRACE_ATTACH:
- case PTRACE_DETACH:
- return (__diet_ptrace (request, pid, NULL, NULL));
- case PTRACE_PEEKDATA: case PTRACE_PEEKUSER: case PTRACE_PEEKTEXT:
- {
- long result;
- if (__diet_ptrace (request, pid, addr, &result) == -1)
- return (-1);
- return (result);
- }
- default:
- return (__diet_ptrace (request, pid, addr, data));
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/__stat64.c b/mdk-stage1/dietlibc/lib/__stat64.c
deleted file mode 100644
index fcbdfef2d..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-extern int __dietlibc_stat64(const char *__file, struct stat64 *__buf);
-extern void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-int stat64(const char *__file, struct stat64 *__buf) {
- if (__dietlibc_stat64(__file,__buf)) {
- struct stat temp;
- if (errno!=ENOSYS) return -1;
- if (stat(__file,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__stat64_cvt.c b/mdk-stage1/dietlibc/lib/__stat64_cvt.c
deleted file mode 100644
index c4ce8bea4..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64_cvt.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-void __stat64_cvt(const struct stat *src,struct stat64 *dest);
-
-void __stat64_cvt(const struct stat *src,struct stat64 *dest) {
- dest->st_dev=src->st_dev;
- dest->st_ino=src->st_ino;
- dest->st_mode=src->st_mode;
- dest->st_nlink=src->st_nlink;
- dest->st_uid=src->st_gid;
- dest->st_rdev=src->st_rdev;
- dest->st_size=src->st_size;
- dest->st_blksize=src->st_blksize;
- dest->st_blocks=src->st_blocks;
- dest->st_atime=src->st_atime;
- dest->st_mtime=src->st_mtime;
- dest->st_ctime=src->st_ctime;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__stime.c b/mdk-stage1/dietlibc/lib/__stime.c
deleted file mode 100644
index 7b2c77729..000000000
--- a/mdk-stage1/dietlibc/lib/__stime.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <errno.h>
-#include <sys/time.h>
-#include <time.h>
-#include <syscalls.h>
-
-#ifndef __NR_stime
-int stime(time_t *when)
-{
- struct timeval tv;
- tv.tv_sec = *when;
- tv.tv_usec = 0;
- return settimeofday(&tv, (struct timezone *)0);
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__truncate64.c b/mdk-stage1/dietlibc/lib/__truncate64.c
deleted file mode 100644
index ccb3e7f64..000000000
--- a/mdk-stage1/dietlibc/lib/__truncate64.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#include "syscalls.h"
-#include <unistd.h>
-#ifndef __NO_STAT64
-#ifdef __NR_truncate64
-
-extern int __dietlibc_truncate64(const char* f, loff_t o);
-
-int truncate64(const char* f, loff_t o) {
- int tmp;
- if ((tmp=__dietlibc_truncate64(f,o))==-1) {
- if (errno!=ENOSYS) return -1;
- if (o>0x7fffffff) { errno=EOVERFLOW; return -1; }
- return truncate(f,o);
- }
- return tmp;
-}
-#endif
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__v_printf.c b/mdk-stage1/dietlibc/lib/__v_printf.c
deleted file mode 100644
index 15011cdd8..000000000
--- a/mdk-stage1/dietlibc/lib/__v_printf.c
+++ /dev/null
@@ -1,300 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietwarning.h"
-
-static inline unsigned int skip_to(const unsigned char *format) {
- unsigned int nr;
- for (nr=0; format[nr] && (format[nr]!='%'); ++nr);
- return nr;
-}
-
-#define A_WRITE(fn,buf,sz) ((fn)->put((void*)(buf),(sz),(fn)->data))
-
-static const char pad_line[2][16]= { " ", "0000000000000000", };
-static inline int write_pad(struct arg_printf* fn, int len, int padwith) {
- int nr=0;
- for (;len>15;len-=16,nr+=16) {
- A_WRITE(fn,pad_line[(padwith=='0')?1:0],16);
- }
- if (len>0) {
- A_WRITE(fn,pad_line[(padwith=='0')?1:0],(unsigned int)len); nr+=len;
- }
- return nr;
-}
-
-int __v_printf(struct arg_printf* fn, const unsigned char *format, va_list arg_ptr)
-{
- int len=0;
-
- while (*format) {
- unsigned int sz = skip_to(format);
- if (sz) {
- A_WRITE(fn,format,sz); len+=sz;
- format+=sz;
- }
- if (*format=='%') {
- char buf[128];
-
- unsigned char ch, *s, padwith=' ';
-
- char flag_in_sign=0;
- char flag_upcase=0;
- char flag_hash=0;
- char flag_left=0;
- char flag_space=0;
- char flag_sign=0;
- char flag_dot=0;
- signed char flag_long=0;
-
- unsigned int base;
- unsigned int width=0, preci=0;
-
- long number=0;
-#ifdef WANT_LONGLONG_PRINTF
- long long llnumber=0;
-#endif
-
- ++format;
-inn_printf:
- switch(ch=*format++) {
- case 0:
- return -1;
- break;
-
- /* FLAGS */
- case '#':
- flag_hash=-1;
- case 'z':
- goto inn_printf;
-
- case 'h':
- --flag_long;
- goto inn_printf;
- case 'L':
- ++flag_long; /* fall through */
- case 'l':
- ++flag_long;
- goto inn_printf;
-
- case '0':
- padwith='0';
- goto inn_printf;
-
- case '-':
- flag_left=1;
- goto inn_printf;
-
- case ' ':
- flag_space=1;
- goto inn_printf;
-
- case '+':
- flag_sign=1;
- goto inn_printf;
-
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if(flag_dot) return -1;
- width=strtoul(format-1,(char**)&s,10);
- format=s;
- goto inn_printf;
-
- case '*':
- width=va_arg(arg_ptr,int);
- goto inn_printf;
-
- case '.':
- flag_dot=1;
- if (*format=='*') {
- preci=va_arg(arg_ptr,int);
- ++format;
- } else {
- long int tmp=strtol(format,(char**)&s,10);
- preci=tmp<0?0:tmp;
- format=s;
- }
- goto inn_printf;
-
- /* print a char or % */
- case 'c':
- ch=(char)va_arg(arg_ptr,int);
- case '%':
- A_WRITE(fn,&ch,1); ++len;
- break;
-
- /* print a string */
- case 's':
- s=va_arg(arg_ptr,char *);
-#ifdef WANT_NULL_PRINTF
- if (!s) s="(null)";
-#endif
- sz = strlen(s);
- if (flag_dot && sz>preci) sz=preci;
- flag_dot^=flag_dot;
-
-print_out:
- if (width && (!flag_left)) {
- if (flag_in_sign) {
- A_WRITE(fn,s,1); ++len;
- ++s; --sz;
- --width;
- }
- if (flag_hash>0) {
- A_WRITE(fn,s,flag_hash); len+=flag_hash;
- s+=flag_hash; sz-=flag_hash;
- width-=flag_hash;
- }
-// len+=write_pad(fn,(signed int)width-(signed int)sz,padwith);
- if (flag_dot) {
- len+=write_pad(fn,(signed int)width-(signed int)preci,padwith);
- len+=write_pad(fn,(signed int)preci-(signed int)sz,'0');
- } else
- len+=write_pad(fn,(signed int)width-(signed int)sz,padwith);
- }
- A_WRITE(fn,s,sz); len+=sz;
- if (width && (flag_left)) {
- len+=write_pad(fn,(signed int)width-(signed int)sz,' ');
- }
- break;
-
- /* print an integer value */
- case 'b':
- base=2;
- sz=0;
- goto num_printf;
- case 'p':
- flag_hash=2;
- flag_long=1;
- ch='x';
- case 'X':
- flag_upcase=(ch=='X');
- case 'x':
- base=16;
- sz=0;
- if (flag_dot) width=preci;
- if (flag_hash) {
- buf[1]='0';
- buf[2]=ch;
- flag_hash=2;
- sz=2;
- }
- goto num_printf;
- case 'd':
- case 'i':
- flag_in_sign=1;
- case 'u':
- base=10;
- sz=0;
- goto num_printf;
- case 'o':
- base=8;
- sz=0;
- if (flag_hash) {
- buf[1]='0';
- flag_hash=1;
- ++sz;
- }
-
-num_printf:
- s=buf+1;
-
- if (flag_long>0) {
-#ifdef WANT_LONGLONG_PRINTF
- if (flag_long>1)
- llnumber=va_arg(arg_ptr,long long);
- else
-#endif
- number=va_arg(arg_ptr,long);
- }
- else
- number=va_arg(arg_ptr,int);
-
- if (flag_in_sign) {
-#ifdef WANT_LONGLONG_PRINTF
- if ((flag_long>1)&&(llnumber<0)) {
- llnumber=-llnumber;
- flag_in_sign=2;
- } else
-#endif
- if (number<0) {
- number=-number;
- flag_in_sign=2;
- }
- }
- if (flag_long<0) number&=0xffff;
- if (flag_long<-1) number&=0xff;
-#ifdef WANT_LONGLONG_PRINTF
- if (flag_long>1)
- sz += __lltostr(s+sz,sizeof(buf)-5,(unsigned long long) llnumber,base,flag_upcase);
- else
-#endif
- sz += __ltostr(s+sz,sizeof(buf)-5,(unsigned long) number,base,flag_upcase);
-
- if (flag_in_sign==2) {
- *(--s)='-';
- ++sz;
- } else if ((flag_in_sign)&&(flag_sign || flag_space)) {
- *(--s)=(flag_sign)?'+':' ';
- ++sz;
- } else flag_in_sign=0;
-
- goto print_out;
-
-#ifdef WANT_FLOATING_POINT_IN_PRINTF
- /* print a floating point value */
- case 'f':
- case 'g':
- {
- int g=(ch=='g');
- double d=va_arg(arg_ptr,double);
- if (width==0) width=1;
- if (!flag_dot) preci=6;
- sz=__dtostr(d,buf,sizeof(buf),width,preci);
- if (flag_dot) {
- char *tmp;
- if ((tmp=strchr(buf,'.'))) {
- ++tmp;
- while (preci>0 && *++tmp) --preci;
- *tmp=0;
- }
- }
- if (g) {
- char *tmp,*tmp1; /* boy, is _this_ ugly! */
- if ((tmp=strchr(buf,'.'))) {
- tmp1=strchr(tmp,'e');
- while (*tmp) ++tmp;
- if (tmp1) tmp=tmp1;
- while (*--tmp=='0') ;
- if (*tmp!='.') ++tmp;
- *tmp=0;
- if (tmp1) strcpy(tmp,tmp1);
- }
- }
- preci=strlen(buf);
- s=buf;
-
- goto print_out;
- }
-#endif
-
- default:
- break;
- }
- }
- }
- return len;
-}
-
-link_warning("__v_printf","warning: the printf functions add several kilobytes of bloat.")
-
diff --git a/mdk-stage1/dietlibc/lib/__v_scanf.c b/mdk-stage1/dietlibc/lib/__v_scanf.c
deleted file mode 100644
index 6db51db59..000000000
--- a/mdk-stage1/dietlibc/lib/__v_scanf.c
+++ /dev/null
@@ -1,391 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-
-#include "dietstdio.h"
-#include "dietwarning.h"
-
-#define A_GETC(fn) (++consumed,(fn)->getch((fn)->data))
-#define A_PUTC(c,fn) (--consumed,(fn)->putch((c),(fn)->data))
-
-int __v_scanf(struct arg_scanf* fn, const unsigned char *format, va_list arg_ptr)
-{
- unsigned int ch; /* format act. char */
- int n=0;
-
- /* arg_ptr tmps */
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- double *pd;
- float *pf;
-#endif
-#ifdef WANT_LONGLONG_SCANF
- long long *pll;
-#endif
- long *pl;
- short *ph;
- int *pi;
- char *s;
-
- unsigned int consumed=0;
-
- /* get one char */
- int tpch= A_GETC(fn);
-
- //while ((tpch!=-1)&&(*format))
- while (*format)
- {
-// const unsigned char *prev_fmt=format;
- ch=*format++;
- switch (ch) {
- /* end of format string ?!? */
- case 0: return 0;
-
- /* skip spaces ... */
- case ' ':
- case '\f':
- case '\t':
- case '\v':
- case '\n':
- case '\r':
- while((*format)&&(isspace(*format))) ++format;
- while(isspace(tpch)) tpch=A_GETC(fn);
- break;
-
- /* format string ... */
- case '%':
- {
- unsigned int _div=0;
- int width=-1;
- char flag_width=0;
- char flag_discard=0;
- char flag_half=0;
- char flag_long=0;
- char flag_longlong=0;
-
-in_scan:
- ch=*format++;
- if(ch!='n' && tpch==-1) goto err_out;
- switch (ch) {
- /* end of format string ?!? */
- case 0: return 0;
-
- /* check for % */
- case '%':
- if ((unsigned char)tpch != ch) goto err_out;
- tpch=A_GETC(fn);
- break;
-
- /* FLAGS */
- case '*':
- flag_discard=1;
- goto in_scan;
- case 'h':
- flag_half=1;
- goto in_scan;
- case 'l':
- if (flag_long) flag_longlong=1;
- flag_long=1;
- goto in_scan;
- case 'q':
- case 'L':
- flag_longlong=1;
- goto in_scan;
-
- /* WIDTH */
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- width=strtol(format-1,&s,10);
- format=s;
- flag_width=1;
- goto in_scan;
-
- /* scan for integer / strtol reimplementation ... */
- case 'p':
- case 'X':
- case 'x':
- _div+=6;
- case 'd':
- _div+=2;
- case 'o':
- _div+=8;
- case 'u':
- case 'i':
- {
-#ifdef WANT_LONGLONG_SCANF
- unsigned long long v=0;
-#else
- unsigned long v=0;
-#endif
- unsigned int consumedsofar=consumed;
- int neg=0;
- while(isspace(tpch)) tpch=A_GETC(fn);
- if (tpch=='-') {
- tpch=A_GETC(fn);
- neg=1;
- }
-
- if (tpch=='+') tpch=A_GETC(fn);
-
- if (!flag_width) {
- if ((_div==16) && (tpch=='0')) goto scan_hex;
- if (!_div) {
- _div=10;
- if (tpch=='0') {
- _div=8;
-scan_hex:
- tpch=A_GETC(fn);
- if ((tpch|32)=='x') {
- tpch=A_GETC(fn);
- _div=16;
- }
- }
- }
- }
- while ((width)&&(tpch!=-1)) {
- register unsigned long c=tpch&0xff;
-#ifdef WANT_LONGLONG_SCANF
- register unsigned long long d=c|0x20;
-#else
- register unsigned long d=c|0x20;
-#endif
- c=(d>='a'?d-'a'+10:c<='9'?c-'0':0xff);
- if (c>=_div) break;
- d=v*_div;
-#ifdef WANT_LONGLONG_SCANF
- v=(d<v)?ULLONG_MAX:d+c;
-#else
- v=(d<v)?ULONG_MAX:d+c;
-#endif
- --width;
- tpch=A_GETC(fn);
- }
- if ((ch|0x20)<'p') {
-#ifdef WANT_LONGLONG_SCANF
- register long long l=v;
- if (v>=-((unsigned long long)LLONG_MIN)) {
- l=(neg)?LLONG_MIN:LLONG_MAX;
- }
- else {
- if (neg) v*=-1;
- }
-#else
- register long l=v;
- if (v>=-((unsigned long)LONG_MIN)) {
- l=(neg)?LONG_MIN:LONG_MAX;
- }
- else {
- if (neg) v*=-1;
- }
-#endif
- }
- if (!flag_discard) {
-#ifdef WANT_LONGLONG_SCANF
- if (flag_longlong) {
- pll=(long long *)va_arg(arg_ptr,long long*);
- *pll=v;
- } else
-#endif
- if (flag_long) {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=v;
- } else if (flag_half) {
- ph=(short*)va_arg(arg_ptr,short*);
- *ph=v;
- } else {
- pi=(int *)va_arg(arg_ptr,int*);
- *pi=v;
- }
- if(consumedsofar<consumed)
- ++n;
- }
- }
- break;
-
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- /* floating point numbers */
- case 'e':
- case 'E':
- case 'f':
- case 'g':
- {
- double d=0.0;
- int neg=0;
-
- while(isspace(tpch)) tpch=A_GETC(fn);
-
- if (tpch=='-') {
- tpch=A_GETC(fn);
- neg=1;
- }
- if (tpch=='+') tpch=A_GETC(fn);
-
- while (isdigit(tpch)) {
- d=d*10+(tpch-'0');
- tpch=A_GETC(fn);
- }
- if (tpch=='.') {
- double factor=.1;
- tpch=A_GETC(fn);
- while (isdigit(tpch)) {
- d=d+(factor*(tpch-'0'));
- factor/=10;
- tpch=A_GETC(fn);
- }
- }
- if ((tpch|0x20)=='e') {
- int exp=0, prec=tpch;
- double factor=10;
- tpch=A_GETC(fn);
- if (tpch=='-') {
- factor=0.1;
- tpch=A_GETC(fn);
- } else if (tpch=='+') {
- tpch=A_GETC(fn);
- } else {
- d=0;
- if (tpch!=-1) A_PUTC(tpch,fn);
- tpch=prec;
- goto exp_out;
- }
- while (isdigit(tpch)) {
- exp=exp*10+(tpch-'0');
- tpch=A_GETC(fn);
- }
- while (exp) { /* as in strtod: XXX: this introduces rounding errors */
- d*=factor; --exp;
- }
- }
-exp_out:
- if (!flag_discard) {
- if (flag_long) {
- pd=(double *)va_arg(arg_ptr,double*);
- *pd=d;
- } else {
- pf=(float *)va_arg(arg_ptr,float*);
- *pf=d;
- }
- }
- ++n;
- }
- break;
-#endif
-
- /* char-sequences */
- case 'c':
- if (!flag_discard) {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (!flag_width) width=1;
- while (width && (tpch!=-1)) {
- if (!flag_discard) *(s++)=tpch;
- --width;
- tpch=A_GETC(fn);
- }
- break;
-
- /* c-string */
- case 's':
- if (!flag_discard) s=(char *)va_arg(arg_ptr,char*);
- while(isspace(tpch)) tpch=A_GETC(fn);
- while (width && (tpch!=-1) && (!isspace(tpch))) {
- if (!flag_discard) *s=tpch;
- if (tpch) ++s; else break;
- --width;
- tpch=A_GETC(fn);
- }
- if (!flag_discard) { *s=0; n++; }
- break;
-
- /* consumed-count */
- case 'n':
- if (!flag_discard) {
- s=(char *)va_arg(arg_ptr,char*);
-// ++n; /* in accordance to ANSI C we don't count this conversion */
- }
- if (!flag_discard) *(s++)=consumed-1;
- break;
-
-#ifdef WANT_CHARACTER_CLASSES_IN_SCANF
- case '[':
- {
- char cset[256];
- int flag_not=0;
- int flag_dash=0;
- memset(cset,0,sizeof(cset));
- ch=*format++;
- /* first char specials */
- if (ch=='^') {
- flag_not=1;
- ch=*format++;
- }
- if ((ch=='-')||(ch==']')) {
- cset[ch]=1;
- ch=*format++;
- }
- /* almost all non special chars */
- for (;(*format) && (*format!=']');++format) {
- if (flag_dash) {
- register unsigned char tmp=*format;
- for (;ch<=tmp;++ch) cset[ch]=1;
- flag_dash=0;
- ch=*format;
- }
- else if (*format=='-') flag_dash=1;
- else {
- cset[ch]=1;
- ch=*format;
- }
- }
- /* last char specials */
- if (flag_dash) cset['-']=1;
- else cset[ch]=1;
-
- /* like %c or %s */
- if (!flag_discard) {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- while (width && (tpch>=0) && (cset[tpch]^flag_not)) {
- if (!flag_discard) *s=tpch;
- if (tpch) ++s; else break;
- --width;
- tpch=A_GETC(fn);
- }
- if (!flag_discard) *s=0;
- ++format;
- }
- break;
-#endif
- default:
- goto err_out;
- }
- }
- break;
-
- /* check if equal format string... */
- default:
- if ((unsigned char)tpch != ch) goto err_out;
- tpch=A_GETC(fn);
- break;
- }
- }
-err_out:
- if (tpch<0 && n==0) return EOF;
- A_PUTC(tpch,fn);
- return n;
-}
-
-link_warning("__v_scanf","warning: the scanf functions add several kilobytes of bloat.");
diff --git a/mdk-stage1/dietlibc/lib/_brk.c b/mdk-stage1/dietlibc/lib/_brk.c
deleted file mode 100644
index e73d7b621..000000000
--- a/mdk-stage1/dietlibc/lib/_brk.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-
-extern void* __diet_brk(void *end_data_segment);
-
-void* __curbrk=0;
-
-int __libc_brk(void *end_data_segment);
-
-int __libc_brk(void *end_data_segment) {
- return ((__curbrk=__diet_brk(end_data_segment))==(void*)-1?-1:0);
-}
-
-int brk(void *end_data_segment) __attribute__((weak,alias("__libc_brk")));
diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c
deleted file mode 100644
index 7c49a32ef..000000000
--- a/mdk-stage1/dietlibc/lib/abort.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#ifndef __PIC__
-void __stdio_flushall(void) __attribute__((weak));
-void __stdio_flushall(void) { }
-#endif
-
-void abort() {
- sigset_t t;
- __stdio_flushall();
- if (!sigemptyset(&t) && !sigaddset(&t, SIGABRT))
- sigprocmask(SIG_UNBLOCK, &t, 0);
- while (1)
- if (raise(SIGABRT))
- exit(127);
-}
diff --git a/mdk-stage1/dietlibc/lib/abs.c b/mdk-stage1/dietlibc/lib/abs.c
deleted file mode 100644
index d3b75f202..000000000
--- a/mdk-stage1/dietlibc/lib/abs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-
-int abs(int i) { return i>=0?i:-i; }
-#if __WORDSIZE == 32
-long labs(long i) __attribute__((alias("abs")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/accept.c b/mdk-stage1/dietlibc/lib/accept.c
deleted file mode 100644
index 08359b894..000000000
--- a/mdk-stage1/dietlibc/lib/accept.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_accept(int a, void * addr, void * addr2);
-
-int __libc_accept(int a, void * addr, void * addr2) {
- unsigned long args[] = { a, (long) addr, (long) addr2 };
- return socketcall(SYS_ACCEPT, args);
-}
-
-int accept(int a, void * addr, void * addr2) __attribute__((weak,alias("__libc_accept")));
diff --git a/mdk-stage1/dietlibc/lib/adjtime.c b/mdk-stage1/dietlibc/lib/adjtime.c
deleted file mode 100644
index b8986be57..000000000
--- a/mdk-stage1/dietlibc/lib/adjtime.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <time.h>
-#include <sys/timex.h>
-
-int adjtime (const struct timeval *itv, struct timeval *otv) {
- struct timex tmp;
- if (itv) {
- tmp.offset = (itv->tv_usec % 1000000L) + (itv->tv_sec + itv->tv_usec / 1000000L) * 1000000L;
- tmp.modes = ADJ_OFFSET_SINGLESHOT;
- } else
- tmp.modes = 0;
- if (adjtimex(&tmp)==-1)
- return -1;
- if (otv) {
- otv->tv_usec = tmp.offset % 1000000;
- otv->tv_sec = tmp.offset / 1000000;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c
deleted file mode 100644
index a2b3b73a1..000000000
--- a/mdk-stage1/dietlibc/lib/alloc.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * malloc/free by O.Dreesen
- *
- * first TRY:
- * lists w/magics
- * and now the second TRY
- * let the kernel map all the stuff (if there is something to do)
- */
-
-#include <unistd.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sys/shm.h> /* for PAGE_SIZE */
-
-
-/* -- HELPER CODE --------------------------------------------------------- */
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void*)-1)
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-typedef union {
- void* next;
- size_t size;
-} __alloc_t;
-
-#define BLOCK_START(b) (((void*)(b))-sizeof(__alloc_t))
-#define BLOCK_RET(b) (((void*)(b))+sizeof(__alloc_t))
-
-#define MEM_BLOCK_SIZE PAGE_SIZE
-#define PAGE_ALIGN(s) (((s)+MEM_BLOCK_SIZE-1)&(unsigned long)(~(MEM_BLOCK_SIZE-1)))
-
-/* a simple mmap :) */
-
-#ifdef __i386__
-/* regparm exists only on i386 */
-static void *do_mmap(size_t size) __attribute__((regparm(1)));
-static size_t get_index(size_t _size) __attribute__((regparm(1)));
-static void* __small_malloc(size_t _size) __attribute__((regparm(1)));
-#endif
-
-static void *do_mmap(size_t size) {
- return mmap(0, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, (size_t)0);
-}
-
-/* -- SMALL MEM ----------------------------------------------------------- */
-
-static __alloc_t* __small_mem[8];
-
-#define __SMALL_NR(i) (MEM_BLOCK_SIZE/(i))
-
-#define __MIN_SMALL_SIZE __SMALL_NR(256) /* 16 / 32 */
-#define __MAX_SMALL_SIZE __SMALL_NR(2) /* 2048 / 4096 */
-
-#define GET_SIZE(s) (__MIN_SMALL_SIZE<<get_index((s)))
-
-#define FIRST_SMALL(p) (((unsigned long)(p))&(~(MEM_BLOCK_SIZE-1)))
-
-static inline int __ind_shift() { return (MEM_BLOCK_SIZE==4096)?4:5; }
-
-static size_t get_index(size_t _size) {
- register size_t idx=0;
- if (_size) {
- register size_t size=((_size-1)&(MEM_BLOCK_SIZE-1))>>__ind_shift();
- while(size) { size>>=1; ++idx; }
- }
- return idx;
-}
-
-/* small mem */
-static void __small_free(void*_ptr,size_t _size) __attribute__((regparm(2)));
-
-static void __small_free(void*_ptr,size_t _size) {
- __alloc_t* ptr=BLOCK_START(_ptr);
- size_t size=_size;
- size_t idx=get_index(size);
-
- memset(ptr,0,size); /* allways zero out small mem */
-
- ptr->next=__small_mem[idx];
- __small_mem[idx]=ptr;
-}
-
-static void* __small_malloc(size_t _size) {
- __alloc_t *ptr;
- size_t size=_size;
- size_t idx;
-
- idx=get_index(size);
- ptr=__small_mem[idx];
-
- if (ptr==0) { /* no free blocks ? */
- register int i,nr;
- ptr=do_mmap(MEM_BLOCK_SIZE);
- if (ptr==MAP_FAILED) return MAP_FAILED;
-
- __small_mem[idx]=ptr;
-
- nr=__SMALL_NR(size)-1;
- for (i=0;i<nr;i++) {
- ptr->next=(((void*)ptr)+size);
- ptr=ptr->next;
- }
- ptr->next=0;
-
- ptr=__small_mem[idx];
- }
-
- /* get a free block */
- __small_mem[idx]=ptr->next;
- ptr->next=0;
-
- return ptr;
-}
-
-/* -- PUBLIC FUNCTIONS ---------------------------------------------------- */
-
-static void _alloc_libc_free(void *ptr) {
- register size_t size;
- if (ptr) {
- size=((__alloc_t*)BLOCK_START(ptr))->size;
- if (size) {
- if (size<=__MAX_SMALL_SIZE)
- __small_free(ptr,size);
- else
- munmap(BLOCK_START(ptr),size);
- }
- }
-}
-void __libc_free(void *ptr) __attribute__((alias("_alloc_libc_free")));
-void free(void *ptr) __attribute__((weak,alias("_alloc_libc_free")));
-void if_freenameindex(void* ptr) __attribute__((alias("free")));
-
-#ifdef WANT_MALLOC_ZERO
-static __alloc_t zeromem[2]={{0},{0}};
-#endif
-
-static void* _alloc_libc_malloc(size_t size) {
- __alloc_t* ptr;
- size_t need;
-#ifdef WANT_MALLOC_ZERO
- if (!size) return BLOCK_RET(zeromem);
-#else
- if (!size) goto retzero;
-#endif
- size+=sizeof(__alloc_t);
- if (size<sizeof(__alloc_t)) goto retzero;
- if (size<=__MAX_SMALL_SIZE) {
- need=GET_SIZE(size);
- ptr=__small_malloc(need);
- }
- else {
- need=PAGE_ALIGN(size);
- if (!need) ptr=MAP_FAILED; else ptr=do_mmap(need);
- }
- if (ptr==MAP_FAILED) goto err_out;
- ptr->size=need;
- return BLOCK_RET(ptr);
-err_out:
- (*__errno_location())=ENOMEM;
-retzero:
- return 0;
-}
-void* __libc_malloc(size_t size) __attribute__((alias("_alloc_libc_malloc")));
-void* malloc(size_t size) __attribute__((weak,alias("_alloc_libc_malloc")));
-
-void *calloc(size_t nmemb, size_t _size) {
- register size_t size=_size*nmemb;
- if (nmemb && size/nmemb!=_size) {
- (*__errno_location())=ENOMEM;
- return 0;
- }
- return malloc(size);
-}
-
-void* __libc_realloc(void* ptr, size_t _size);
-void* __libc_realloc(void* ptr, size_t _size) {
- register size_t size=_size;
- if (ptr) {
- if (size) {
- __alloc_t* tmp=BLOCK_START(ptr);
- size+=sizeof(__alloc_t);
- if (size<sizeof(__alloc_t)) goto retzero;
- size=(size<=__MAX_SMALL_SIZE)?GET_SIZE(size):PAGE_ALIGN(size);
- if (tmp->size!=size) {
- if ((tmp->size<=__MAX_SMALL_SIZE)) {
- void *new=_alloc_libc_malloc(_size);
- if (new) {
- register __alloc_t* foo=BLOCK_START(new);
- size=foo->size;
- if (size>tmp->size) size=tmp->size;
- if (size) memcpy(new,ptr,size-sizeof(__alloc_t));
- _alloc_libc_free(ptr);
- }
- ptr=new;
- }
- else {
- register __alloc_t* foo;
- size=PAGE_ALIGN(size);
- foo=mremap(tmp,tmp->size,size,MREMAP_MAYMOVE);
- if (foo==MAP_FAILED) {
-retzero:
- (*__errno_location())=ENOMEM;
- ptr=0;
- }
- else {
- foo->size=size;
- ptr=BLOCK_RET(foo);
- }
- }
- }
- }
- else { /* size==0 */
- _alloc_libc_free(ptr);
- }
- }
- else { /* ptr==0 */
- if (size) {
- ptr=_alloc_libc_malloc(size);
- }
- }
- return ptr;
-}
-void* realloc(void* ptr, size_t size) __attribute__((weak,alias("__libc_realloc")));
-
diff --git a/mdk-stage1/dietlibc/lib/assert_fail.c b/mdk-stage1/dietlibc/lib/assert_fail.c
deleted file mode 100644
index 35b8b186a..000000000
--- a/mdk-stage1/dietlibc/lib/assert_fail.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietwarning.h"
-#include <write12.h>
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function);
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function)
-{
- unsigned int alen=strlen(assertion);
- unsigned int flen=strlen(file);
- unsigned int fulen=function?strlen(function):0;
- char *buf=(char*)alloca(alen+flen+fulen+50);
- if (buf) {
- char *tmp;
- *buf=0;
- if (file) strcat(strcat(buf,file),":");
- tmp=buf+strlen(buf);
- __ltostr(tmp,10,line,10,0);
- strcat(buf,": ");
- if (function) strcat(strcat(buf,function),": ");
- strcat(buf,"Assertion `");
- strcat(buf,assertion);
- strcat(buf,"' failed.\n");
- __write2(buf);
- }
- abort();
-}
-
-link_warning("__assert_fail","warning: your code still has assertions enabled!")
diff --git a/mdk-stage1/dietlibc/lib/atexit.c b/mdk-stage1/dietlibc/lib/atexit.c
deleted file mode 100644
index e0eef19c6..000000000
--- a/mdk-stage1/dietlibc/lib/atexit.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdlib.h>
-
-typedef void (*function)(void);
-
-#define NUM_ATEXIT 32
-
-static function __atexitlist[NUM_ATEXIT];
-static int atexit_counter = 0;
-
-int atexit(function t) {
- if (atexit_counter<NUM_ATEXIT) {
- __atexitlist[atexit_counter]=t;
- ++atexit_counter;
- return 0;
- }
- return -1;
-}
-
-extern void _exit(int code) __attribute__((noreturn));
-extern void __thread_doexit();
-
-void __libc_exit(int code);
-void __libc_exit(int code) {
- register int i=atexit_counter;
- __thread_doexit();
- while(i) {
- __atexitlist[--i]();
- }
- _exit(code);
-}
-void exit(int code) __attribute__((alias("__libc_exit")));
diff --git a/mdk-stage1/dietlibc/lib/atof.c b/mdk-stage1/dietlibc/lib/atof.c
deleted file mode 100644
index 54221390e..000000000
--- a/mdk-stage1/dietlibc/lib/atof.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdlib.h>
-
-double atof(const char *nptr) {
-#if 0
- return strtod(nptr,0);
-#else
- double tmp=strtod(nptr,0);
- return tmp;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/atoi.c b/mdk-stage1/dietlibc/lib/atoi.c
deleted file mode 100644
index 10b618950..000000000
--- a/mdk-stage1/dietlibc/lib/atoi.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-#if __WORDSIZE == 64
-int atoi(const char* s) {
- long int v=0;
- int sign=1;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) s++;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign==-1?-v:v;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/atol.c b/mdk-stage1/dietlibc/lib/atol.c
deleted file mode 100644
index 5961a1881..000000000
--- a/mdk-stage1/dietlibc/lib/atol.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-long int atol(const char* s) {
- long int v=0;
- int sign=0;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) ++s;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign?-v:v;
-}
-
-#if __WORDSIZE == 64
-long long int atoll(const char* s) __attribute__((alias("atol")));
-#else
-int atoi(const char* s) __attribute__((alias("atol")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/atoll.c b/mdk-stage1/dietlibc/lib/atoll.c
deleted file mode 100644
index 7bf2b2fd6..000000000
--- a/mdk-stage1/dietlibc/lib/atoll.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <endian.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-#if __WORDSIZE != 64
-long long int atoll(const char* s) {
- long long int v=0;
- int sign=1;
- while ( *s == ' ' || (unsigned int)(*s - 9) < 5u) ++s;
- switch (*s) {
- case '-': sign=-1;
- case '+': ++s;
- }
- while ((unsigned int) (*s - '0') < 10u) {
- v=v*10+*s-'0'; ++s;
- }
- return sign==-1?-v:v;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/bcd.c b/mdk-stage1/dietlibc/lib/bcd.c
deleted file mode 100644
index 1936b82f6..000000000
--- a/mdk-stage1/dietlibc/lib/bcd.c
+++ /dev/null
@@ -1,185 +0,0 @@
-
-static long double powers [] = {
- 1.e+1, 1.e+2, 1.e+4, 1.e+8, 1.e+16, 1.e+32, 1.e+64, 1.e+128, 1.e+256
-};
-
-/*
- * So, die ist zum Zerlegen von Gleitkommazahlen am besten geeignet.
- *
- * Die nichtnegative übergebende Gleitkommazahl number wird in einen
- * Exponenten e und eine Mantisse m zerlegt mit:
- *
- * 1 <= m < 10
- * number = m * 10^e
- *
- * Die Mantisse wird in precision Dezimalstellen zerlegt, die nach digits
- * geschrieben werden. digits[0] ist die Vorkommastelle, digits [1 ...
- * precision-1] die Nachkommastellen der Mantisse Zurückgeliefert wird der
- * Exponent.
- *
- * Für precision ist ein Wert von 0 erlaubt, Sinn machen allerdings erst
- * Werte ab 1.
- */
-
-int __decompose_floatp ( long double number,
- unsigned char* digits, unsigned int precision );
-
-int __decompose_floatp ( long double number,
- unsigned char* digits, unsigned int precision )
-{
- int ret = 0;
- int i;
- double tmp;
-
- if ( number > 0.L ) {
-
- // Exponent abtrennen
- if ( number >= 10.L ) {
- for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--)
- if ( number >= powers [i] ) {
- number /= powers [i];
- ret += 1 << i;
- }
- } else if ( number < 1.L )
- for ( i = sizeof(powers)/sizeof(*powers)-1; i >= 0; i--)
- if ( number * powers [i] < 10.L ) {
- number *= powers [i];
- ret -= 1 << i;
- }
-
- // Runden (ohne Geradezahlregel => Bug)
- tmp = 5.;
- {
- unsigned int j;
- for ( j = 0; j < precision; j++ )
- tmp *= 0.1;
- }
-
- number += tmp;
-
- // Dabei kann die Zahl in die nächste Dekade reinrutschen ...
- if ( number >= 10.L ) {
- number = 1.L;
- ret++;
- }
- }
-
- // Mantisse in ASCII konvertieren
- while ( precision-- ) {
- i = (int) number;
- number = (number - i) * 10.L;
- *digits++ = '0' + i;
- }
-
- // Exponent zurück
- return ret;
-}
-
-
-/*
- * So, die ist zum Zerlegen von Festkommazahlen am besten geeignet.
- *
- * Die nichtnegative übergebende Festkomma wird in einen Integeranteil und
- * einen Bruchanteil zerlegt.
- *
- * Der Bruchanteil wird in digits_frac[0...precision_frac-1] gespeichert,
- * falls precision_frac != 0 ist.
- *
- * Der Integeranteil wird ab digits_int + precision_int - 1 rückwrts
- * geschrieben. Zurückgeliefert wird ein Zeiger auf das erste Zeichen, das
- * bei der Konvertierung != '0' ist (Ausnahme ist die 0.0 selbst). Zeichen
- * zwischen digits_int und diesem Zeiger (exklusive des Zeichens unter dem
- * Zeiger) sind unbestimmt. Wünscht man dort Nullen oder Leerzeichen,
- * sollte man mittels memset() dieses vorher initialsieren.
- */
-
-char* __decompose_fixp ( long double number,
- unsigned char* digits_int , unsigned int precision_int,
- unsigned char* digits_frac, unsigned int precision_frac );
-
-char* __decompose_fixp ( long double number,
- unsigned char* digits_int , unsigned int precision_int,
- unsigned char* digits_frac, unsigned int precision_frac )
-{
- long long int integer;
- double tmp;
- int i;
-
- // Runden (ohne Geradezahlregel => Bug)
- tmp = 0.5;
- {
- unsigned int j;
- for ( j = 0; j < precision_frac; j++ )
- tmp *= 0.1;
- }
-
- number += tmp;
-
- integer = number;
- number -= integer;
-
- // Nachkommastellen
- while ( precision_frac-- ) {
- number *= 10.L;
- i = (int) number;
- number -= i;
- *digits_frac++
- = '0' + i;
- }
-
- // Vorkommastellen
- while ( precision_int ) {
- i = (int) (integer % 10);
- integer /= 10;
- digits_int [--precision_int]
- = '0' + i;
- if ( integer == 0 )
- break;
- }
-
- return digits_int + precision_int;
-}
-
-
-#if 0
-
-#include <stdio.h>
-#include <math.h>
-
-long double test [] = {
- 1, M_PI, 123, 123456789, 12345678901234567, 1e300, 0.00123456789, 1.234567890123456e-300, 0
-};
-
-int main ( void )
-{
- int i;
- int j;
- int k;
- char buff1 [32];
- char buff2 [32];
- char* retp;
- int ret;
-
- for ( i = 0; i < sizeof(test)/sizeof(*test); i++ ) {
- printf ("\n*** %30.20Lf ***\n\n", test[i] );
-
- for ( j = 0; j <= 20; j++ ) {
- memset ( buff1, 0, sizeof(buff1) );
- ret = __decompose_floatp ( test[i], buff1, j );
- printf ( "floatp(%2u) = <%sE%+d>\n", j, buff1, ret );
- }
- for ( j = 0; j <= 20; j++ ) {
- for ( k = 0; k <= 20; k++ ) {
- memset ( buff1, 0, sizeof(buff1) );
- memset ( buff2, 0, sizeof(buff2) );
- retp = __decompose_fixp ( test[i], buff1, j, buff2, k );
- printf ( "fixp(%2u,%2u) = <%s.%s>\n", j, k, retp, buff2 );
- }
- }
-
- }
-
- return 0;
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/bind.c b/mdk-stage1/dietlibc/lib/bind.c
deleted file mode 100644
index dae80f491..000000000
--- a/mdk-stage1/dietlibc/lib/bind.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_bind(int a, void * b, int c);
-int __libc_bind(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_BIND, args);
-}
-
-int bind(int a, void * b, int c) __attribute__((weak,alias("__libc_bind")));
diff --git a/mdk-stage1/dietlibc/lib/binshstr.c b/mdk-stage1/dietlibc/lib/binshstr.c
deleted file mode 100644
index 814297e3d..000000000
--- a/mdk-stage1/dietlibc/lib/binshstr.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "binshstr.h"
-
-const char __binsh [] = "/bin/sh";
-
-/* end of binshstr.c */
diff --git a/mdk-stage1/dietlibc/lib/bsearch.c b/mdk-stage1/dietlibc/lib/bsearch.c
deleted file mode 100644
index 14605f1f6..000000000
--- a/mdk-stage1/dietlibc/lib/bsearch.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <assert.h>
-#include <stdlib.h>
-
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- size_t m;
- while (nmemb) {
- int tmp;
- void *p;
- m=nmemb/2;
- p=(void *) (((const char *) base) + (m * size));
- if ((tmp=(*compar)(key,p))<0) {
- nmemb=m;
- } else if (tmp>0) {
- base=p+size;
- nmemb-=m+1;
- } else
- return p;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/cfgetospeed.c b/mdk-stage1/dietlibc/lib/cfgetospeed.c
deleted file mode 100644
index c330352b2..000000000
--- a/mdk-stage1/dietlibc/lib/cfgetospeed.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <termios.h>
-#include <sys/types.h>
-
-speed_t cfgetospeed(struct termios *termios_p) {
- return ((termios_p->c_cflag & (CBAUD|CBAUDEX)));
-}
-
-speed_t cfgetispeed(struct termios *termios_p) __attribute__((weak,alias("cfgetospeed")));
diff --git a/mdk-stage1/dietlibc/lib/cfmakeraw.c b/mdk-stage1/dietlibc/lib/cfmakeraw.c
deleted file mode 100644
index e33c783c9..000000000
--- a/mdk-stage1/dietlibc/lib/cfmakeraw.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-void cfmakeraw(struct termios *t) {
- t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
- t->c_oflag &= ~OPOST;
- t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
- t->c_cflag &= ~(CSIZE|PARENB);
- t->c_cflag |= CS8;
- t->c_cc[VMIN] = 1;
- t->c_cc[VTIME] = 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/cfsetispeed.c b/mdk-stage1/dietlibc/lib/cfsetispeed.c
deleted file mode 100644
index ab0333853..000000000
--- a/mdk-stage1/dietlibc/lib/cfsetispeed.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <termios.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#define IBAUD0 020000000000
-
-int cfsetispeed(struct termios *termios_p, speed_t speed)
-{
- if ((speed & (speed_t)~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno=EINVAL;
- return -1;
- }
- if (speed == 0)
- termios_p->c_iflag |= IBAUD0;
- else {
- termios_p->c_iflag &= ~IBAUD0;
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/cfsetospeed.c b/mdk-stage1/dietlibc/lib/cfsetospeed.c
deleted file mode 100644
index d1aee3595..000000000
--- a/mdk-stage1/dietlibc/lib/cfsetospeed.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <termios.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-int cfsetospeed(struct termios *termios_p, speed_t speed) {
- if ((speed & (speed_t)~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno=EINVAL;
- return -1;
- }
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c
deleted file mode 100644
index 3aade81b3..000000000
--- a/mdk-stage1/dietlibc/lib/closedir.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietdirent.h"
-#include <sys/mman.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-int closedir (DIR* d) {
- int res=close(d->fd);
- munmap (d, PAGE_SIZE);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/connect.c b/mdk-stage1/dietlibc/lib/connect.c
deleted file mode 100644
index 642303ef3..000000000
--- a/mdk-stage1/dietlibc/lib/connect.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_connect(int a, void * b, int c);
-int __libc_connect(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_CONNECT, args);
-}
-
-int connect(int a, void * b, int c) __attribute__((weak,alias("__libc_connect")));
diff --git a/mdk-stage1/dietlibc/lib/creat.c b/mdk-stage1/dietlibc/lib/creat.c
deleted file mode 100644
index 41d8236aa..000000000
--- a/mdk-stage1/dietlibc/lib/creat.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <fcntl.h>
-
-int __libc_creat(const char *file,mode_t mode);
-int __libc_creat(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
-}
-int creat(const char *file,mode_t mode) __attribute__((weak,alias("__libc_creat")));
diff --git a/mdk-stage1/dietlibc/lib/creat64.c b/mdk-stage1/dietlibc/lib/creat64.c
deleted file mode 100644
index 8cf897b57..000000000
--- a/mdk-stage1/dietlibc/lib/creat64.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-int creat64(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE,mode);
-}
diff --git a/mdk-stage1/dietlibc/lib/errlistu.c b/mdk-stage1/dietlibc/lib/errlistu.c
deleted file mode 100644
index 15e38807b..000000000
--- a/mdk-stage1/dietlibc/lib/errlistu.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * used by perror() and strerror()
- */
-
-const char __sys_err_unknown [] = "[unknown error]";
-
diff --git a/mdk-stage1/dietlibc/lib/errno_location.c b/mdk-stage1/dietlibc/lib/errno_location.c
deleted file mode 100644
index 298c9c3cf..000000000
--- a/mdk-stage1/dietlibc/lib/errno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int errno;
-
-int *__errno_location(void) __attribute__((weak));
-int *__errno_location() { return &errno; }
-
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c
deleted file mode 100644
index 575c03d6d..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <paths.h>
-
-extern char **environ;
-
-int __exec_shell(const char *file, char *const argv[]);
-int __exec_shell(const char *file, char *const argv[]) {
- int i;
-
- for (i = 0; argv[i]; i++);
-
- {
- const char *shell_argv[i + 1];
- shell_argv[0] = _PATH_BSHELL;
- shell_argv[1] = file;
- for (; i > 1; i--)
- shell_argv[i] = argv[i - 1];
- return execve(_PATH_BSHELL, (char*const*)shell_argv, environ);
- }
-}
-
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.h b/mdk-stage1/dietlibc/lib/exec_lib.h
deleted file mode 100644
index 0971bd1fb..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __EXEC_LIB_H
-#define __EXEC_LIB_H
-
-#include <paths.h>
-
-extern int __exec_shell(const char *file, char *const argv[]);
-
-#endif /* __EXEC_LIB_H */
-
diff --git a/mdk-stage1/dietlibc/lib/execl.c b/mdk-stage1/dietlibc/lib/execl.c
deleted file mode 100644
index 360bd3908..000000000
--- a/mdk-stage1/dietlibc/lib/execl.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietfeatures.h"
-
-int execl( const char *path,...) {
- va_list ap;
- int n,i;
- char **argv,*tmp;
- va_start(ap, path);
- n=1;
- while ((tmp=va_arg(ap,char *)))
- ++n;
- va_end (ap);
- if ((argv=(char **)alloca(n*sizeof(char*)))) {
- va_start(ap, path);
- for (i=0; i<n; ++i)
- argv[i]=va_arg(ap,char *);
- va_end (ap);
- return execve(path,argv,environ);
- }
- errno=ENOMEM;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execle.c b/mdk-stage1/dietlibc/lib/execle.c
deleted file mode 100644
index 6d05c48a0..000000000
--- a/mdk-stage1/dietlibc/lib/execle.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietfeatures.h"
-
-int execle( const char *path,...) {
- va_list ap;
- int n,i;
- char **argv,*tmp, **env;
- va_start(ap, path);
- n=1;
- while ((tmp=va_arg(ap,char *)))
- ++n;
- va_end (ap);
- if ((argv=(char **)alloca(n*sizeof(char*)))) {
- va_start(ap, path);
- for (i=0; i<n; ++i)
- argv[i]=va_arg(ap,char *);
- env=va_arg(ap, char **);
- va_end (ap);
- return execve(path,argv,env);
- }
- errno=ENOMEM;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execlp.c b/mdk-stage1/dietlibc/lib/execlp.c
deleted file mode 100644
index 27dc0bb95..000000000
--- a/mdk-stage1/dietlibc/lib/execlp.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include "dietfeatures.h"
-
-int execlp(const char* file, const char *arg,...) {
- va_list ap,bak;
- int n,i;
- char **argv,*tmp;
- va_start(ap, arg);
- va_copy(bak,ap);
- n=2;
- while ((tmp=va_arg(ap,char *)))
- ++n;
- va_end (ap);
- if ((argv=(char **)alloca(n*sizeof(char*)))) {
- argv[0]=(char*)arg;
- for (i=0; i<n; ++i)
- argv[i+1]=va_arg(bak,char *);
- va_end (bak);
- return execvp(file,argv);
- }
- errno=ENOMEM;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execv.c b/mdk-stage1/dietlibc/lib/execv.c
deleted file mode 100644
index d7acfa29f..000000000
--- a/mdk-stage1/dietlibc/lib/execv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-#include "dietfeatures.h"
-
-int execv(const char *file, char *const argv[]) {
- if (execve(file,argv,environ)==-1) {
- if (errno==ENOEXEC)
- __exec_shell(file,argv);
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/execvp.c b/mdk-stage1/dietlibc/lib/execvp.c
deleted file mode 100644
index 72447af7a..000000000
--- a/mdk-stage1/dietlibc/lib/execvp.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-#include "dietfeatures.h"
-
-int execvp(const char *file, char *const argv[]) {
- const char *path=getenv("PATH");
- char *cur,*next;
- char buf[PATH_MAX];
- if (strchr((char*)file,'/')) {
- if (execve(file,argv,environ)==-1) {
- if (errno==ENOEXEC)
- __exec_shell(file,argv);
- return -1;
- }
- }
- if (!path) path=_PATH_DEFPATH;
- for (cur=(char*)path; cur; cur=next) {
- next=strchr(cur,':');
- if (!next)
- next=cur+strlen(cur);
- if (next==cur) {
- buf[0]='.';
- cur--;
- } else {
- if (next-cur>=PATH_MAX-3) { error: errno=EINVAL; return -1; }
- memmove(buf,cur,(size_t)(next-cur));
- }
- buf[next-cur]='/';
- {
- int len=strlen(file);
- if (len+(next-cur)>=PATH_MAX-2) goto error;
- memmove(&buf[next-cur+1],file,strlen(file)+1);
- }
- if (execve(buf,argv,environ)==-1) {
- if (errno==ENOEXEC)
- return __exec_shell(buf,argv);
- if ((errno!=EACCES) && (errno!=ENOENT)) return -1;
- }
- if (*next==0) break;
- next++;
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/ftw.c b/mdk-stage1/dietlibc/lib/ftw.c
deleted file mode 100644
index af13a7f86..000000000
--- a/mdk-stage1/dietlibc/lib/ftw.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <sys/stat.h>
-#include <unistd.h>
-#include <limits.h>
-#include <ftw.h>
-#include <dirent.h>
-#include <string.h>
-#include <stdlib.h>
-#include "dietdirent.h"
-
-int ftw(const char*dir,int(*f)(const char*file,const struct stat*sb,int flag),int dpth){
- char* cd;
- size_t cdl;
- DIR* d;
- struct dirent* de;
- struct stat sb;
- int r;
- unsigned int oldlen=0;
- char* filename; /* the warning gcc issues here is bogus */
- if(chdir(dir))return-1;
- cd=alloca(PATH_MAX+1);
- if(!getcwd(cd,PATH_MAX))return-1;
- cd[PATH_MAX]='\0';
- cdl=strlen(cd);
- if(!(d=opendir(".")))return-1;
- while((de=readdir(d))){
- int flg;
- size_t nl;
- if(de->d_name[0]=='.'){if(!de->d_name[1])continue;if(de->d_name[1]=='.'&&!de->d_name[2])continue;}
- nl=strlen(de->d_name);
- if (nl+cdl+2>oldlen)
- filename=alloca(oldlen=nl+cdl+2);
- memmove(filename,cd,cdl);
- filename[cdl]='/';
- memmove(filename+cdl+1,de->d_name,nl+1);
- if(!lstat(de->d_name,&sb)){
- if(S_ISLNK(sb.st_mode))flg=FTW_SL;else if(S_ISDIR(sb.st_mode))flg=FTW_D;else flg=FTW_F;
- }else flg=FTW_NS;
- r=f(filename,&sb,flg);
- if(r){closedir(d);return r;}
- if(flg==FTW_D&&dpth){
- r=ftw(filename,f,dpth-1);
- fchdir(d->fd);
- if (r){closedir(d);return r;}
- }
- }
- return closedir(d);
-}
diff --git a/mdk-stage1/dietlibc/lib/getdomainname.c b/mdk-stage1/dietlibc/lib/getdomainname.c
deleted file mode 100644
index 75486b010..000000000
--- a/mdk-stage1/dietlibc/lib/getdomainname.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-#include <unistd.h>
-
-int getdomainname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- size_t i;
- if (len>=_UTSNAME_DOMAIN_LENGTH)
- len=_UTSNAME_DOMAIN_LENGTH;
- for (i=0; i<len; i++)
- name[i]=u.domainname[i];
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/getenv.c b/mdk-stage1/dietlibc/lib/getenv.c
deleted file mode 100644
index 5b529c17f..000000000
--- a/mdk-stage1/dietlibc/lib/getenv.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-
-extern char *getenv(const char *s)
-{
- int i;
- unsigned int len;
-
- if (!environ || !s) return 0;
- len = strlen(s);
- for (i = 0;environ[i];++i)
- if ((memcmp(environ[i],s,len)==0) && (environ[i][len] == '='))
- return environ[i] + len + 1;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/gethostname.c b/mdk-stage1/dietlibc/lib/gethostname.c
deleted file mode 100644
index c3d2f3d5e..000000000
--- a/mdk-stage1/dietlibc/lib/gethostname.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-#include <unistd.h>
-
-int gethostname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- size_t i;
- if (len>=_UTSNAME_NODENAME_LENGTH)
- len=_UTSNAME_NODENAME_LENGTH;
- for (i=0; i<len; i++)
- name[i]=u.nodename[i];
- }
- return res;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getopt.c b/mdk-stage1/dietlibc/lib/getopt.c
deleted file mode 100644
index aa1988f8d..000000000
--- a/mdk-stage1/dietlibc/lib/getopt.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt(int argc, char * const argv[], const char *optstring) {
- static int lastidx=0,lastofs=0;
- char *tmp;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/getpeername.c b/mdk-stage1/dietlibc/lib/getpeername.c
deleted file mode 100644
index c806c720d..000000000
--- a/mdk-stage1/dietlibc/lib/getpeername.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getpeername(int a, void * b, int *c);
-int __libc_getpeername(int a, void * b, int *c) {
- unsigned long args[] = { a, (long) b, (long) c };
- return socketcall(SYS_GETPEERNAME, args);
-}
-
-int getpeername(int a, struct sockaddr* b, socklen_t *c) __attribute__((weak,alias("__libc_getpeername")));
diff --git a/mdk-stage1/dietlibc/lib/getpgrp.c b/mdk-stage1/dietlibc/lib/getpgrp.c
deleted file mode 100644
index ee2ab0257..000000000
--- a/mdk-stage1/dietlibc/lib/getpgrp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-
-int getpgrp()
-{
- return getpgid(0);
-}
diff --git a/mdk-stage1/dietlibc/lib/getsockname.c b/mdk-stage1/dietlibc/lib/getsockname.c
deleted file mode 100644
index 6c81e317d..000000000
--- a/mdk-stage1/dietlibc/lib/getsockname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getsockname(int a, void * b, int c);
-int __libc_getsockname(int a, void * b, int c) {
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETSOCKNAME, args);
-}
-
-int getsockname(int a, struct sockaddr* b, socklen_t* c) __attribute__((weak,alias("__libc_getsockname")));
diff --git a/mdk-stage1/dietlibc/lib/getsockopt.c b/mdk-stage1/dietlibc/lib/getsockopt.c
deleted file mode 100644
index 05b71d77d..000000000
--- a/mdk-stage1/dietlibc/lib/getsockopt.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_getsockopt(int a, int b, int c, void *d, int e);
-int __libc_getsockopt(int a, int b, int c, void *d, int e) {
- unsigned long args[] = { a, b, c, (long)d, e };
- return socketcall(SYS_GETSOCKOPT, args);
-}
-
-int getsockopt(int s, int level, int optname, void * optval, socklen_t *optlen) __attribute__((weak,alias("__libc_getsockopt")));
diff --git a/mdk-stage1/dietlibc/lib/htonl.c b/mdk-stage1/dietlibc/lib/htonl.c
deleted file mode 100644
index 4096d04f5..000000000
--- a/mdk-stage1/dietlibc/lib/htonl.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <endian.h>
-#include <netinet/in.h>
-
-uint32_t htonl(uint32_t hostlong) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return (hostlong>>24) | ((hostlong&0xff0000)>>8) |
- ((hostlong&0xff00)<<8) | (hostlong<<24);
-#else
- return hostlong;
-#endif
-}
-
-uint32_t ntohl(uint32_t hostlong) __attribute__((weak,alias("htonl")));
diff --git a/mdk-stage1/dietlibc/lib/htons.c b/mdk-stage1/dietlibc/lib/htons.c
deleted file mode 100644
index a64483174..000000000
--- a/mdk-stage1/dietlibc/lib/htons.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <endian.h>
-#include <netinet/in.h>
-
-uint16_t htons(uint16_t hostshort) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return ((hostshort>>8)&0xff) | (hostshort<<8);
-#else
- return hostshort;
-#endif
-}
-
-uint16_t ntohs(uint16_t hostshort) __attribute__((weak,alias("htons")));
diff --git a/mdk-stage1/dietlibc/lib/if_indextoname.c b/mdk-stage1/dietlibc/lib/if_indextoname.c
deleted file mode 100644
index cc3111ed8..000000000
--- a/mdk-stage1/dietlibc/lib/if_indextoname.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <net/if.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-char* if_indextoname(unsigned int interface,char* blub) {
- struct ifreq ifr;
- int fd;
-
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- ifr.ifr_ifindex=interface;
- if (ioctl(fd,SIOCGIFNAME,&ifr)==0) {
- int i;
- close(fd);
- for (i=0; i<IFNAMSIZ-1; i++)
- if (!(blub[i]=ifr.ifr_name[i]))
- return blub;
- blub[i]=0;
- return blub;
- }
- close(fd);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/if_nameindex.c b/mdk-stage1/dietlibc/lib/if_nameindex.c
deleted file mode 100644
index fc0e1c0ff..000000000
--- a/mdk-stage1/dietlibc/lib/if_nameindex.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <net/if.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <stdio.h>
-
-struct if_nameindex* if_nameindex(void) {
- struct ifconf ic;
- int fd,len,i;
- struct if_nameindex* x,* y;
- char *dest;
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- ic.ifc_buf=0;
- ic.ifc_len=0;
- if (ioctl(fd,SIOCGIFCONF,&ic)<0) {
-b0rken:
- close(fd);
- return 0;
- }
- ic.ifc_buf=alloca((size_t)ic.ifc_len);
- if (ioctl(fd,SIOCGIFCONF,&ic)<0) goto b0rken;
- len=(ic.ifc_len/sizeof(struct ifreq));
- x=(struct if_nameindex*)malloc((len+1)*sizeof(struct if_nameindex)+len*IFNAMSIZ);
- if (!x) goto b0rken;
- dest=(char*)(x+len+1);
- y=x;
- for (i=0; i<len; ++i) {
- struct ifreq* ir=(struct ifreq*)&ic.ifc_req[i];
- y->if_name=dest;
- memcpy(dest,ir->ifr_name,IFNAMSIZ);
- if (ioctl(fd,SIOCGIFINDEX,ir)==-1) continue;
- y->if_index=ir->ifr_ifindex;
- dest+=IFNAMSIZ;
- ++y;
- }
- y->if_name=0; y->if_index=0;
- return x;
-}
diff --git a/mdk-stage1/dietlibc/lib/if_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c
deleted file mode 100644
index c9dd1b051..000000000
--- a/mdk-stage1/dietlibc/lib/if_nametoindex.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <net/if.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-unsigned int if_nametoindex(const char* blub) {
- struct ifreq ifr;
- int fd;
- char *tmp;
- int len=sizeof(ifr.ifr_name);
- fd=socket(AF_INET6,SOCK_DGRAM,0);
- if (fd<0) fd=socket(AF_INET,SOCK_DGRAM,0);
- for (tmp=ifr.ifr_name; len>0; --len) {
- if ((*tmp++=*blub++)==0) break;
- }
- if (ioctl(fd,SIOCGIFINDEX,&ifr)==0) {
- close(fd);
- return ifr.ifr_ifindex;
- }
- close(fd);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/ipv6constants.c b/mdk-stage1/dietlibc/lib/ipv6constants.c
deleted file mode 100644
index 1d5cb1f08..000000000
--- a/mdk-stage1/dietlibc/lib/ipv6constants.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "netinet/in.h"
-
-const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
-const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT;
diff --git a/mdk-stage1/dietlibc/lib/isalnum.c b/mdk-stage1/dietlibc/lib/isalnum.c
deleted file mode 100644
index 3192cc20d..000000000
--- a/mdk-stage1/dietlibc/lib/isalnum.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isalnum_ascii ( int ch );
-int __isalnum_ascii ( int ch ) {
- return (unsigned int)((ch | 0x20) - 'a') < 26u ||
- (unsigned int)( ch - '0') < 10u;
-}
-
-int isalnum ( int ch ) __attribute__((weak,alias("__isalnum_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isalpha.c b/mdk-stage1/dietlibc/lib/isalpha.c
deleted file mode 100644
index efd8b1940..000000000
--- a/mdk-stage1/dietlibc/lib/isalpha.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isalpha_ascii ( int ch );
-int __isalpha_ascii ( int ch ) {
- return (unsigned int)((ch | 0x20) - 'a') < 26u;
-}
-
-int isalpha ( int ch ) __attribute__((weak,alias("__isalpha_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isascii.c b/mdk-stage1/dietlibc/lib/isascii.c
deleted file mode 100644
index 57a23ba44..000000000
--- a/mdk-stage1/dietlibc/lib/isascii.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isascii ( int ch )
-{
- return (unsigned int)ch < 128u;
-}
diff --git a/mdk-stage1/dietlibc/lib/isatty.c b/mdk-stage1/dietlibc/lib/isatty.c
deleted file mode 100644
index 4858a364d..000000000
--- a/mdk-stage1/dietlibc/lib/isatty.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#define ioctl libc_ioctl
-#include <termios.h>
-#undef ioctl
-#include <sys/ioctl.h>
-#include <errno.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-int isatty(int fd) {
- int save;
- int is_tty;
- struct termios term;
-
- save = errno;
- is_tty = ioctl(fd, TCGETS, &term) == 0;
- errno = save;
-
- return is_tty;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/isblank.c b/mdk-stage1/dietlibc/lib/isblank.c
deleted file mode 100644
index f13ca304a..000000000
--- a/mdk-stage1/dietlibc/lib/isblank.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isblank ( int ch )
-{
- return ch == ' ' || ch == '\t';
-}
diff --git a/mdk-stage1/dietlibc/lib/iscntrl.c b/mdk-stage1/dietlibc/lib/iscntrl.c
deleted file mode 100644
index 98dbae6f3..000000000
--- a/mdk-stage1/dietlibc/lib/iscntrl.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __iscntrl_ascii ( int ch );
-int __iscntrl_ascii ( int ch ) {
- return (unsigned int)ch < 32u || ch == 127;
-}
-
-int iscntrl ( int ch ) __attribute__((weak,alias("__iscntrl_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isdigit.c b/mdk-stage1/dietlibc/lib/isdigit.c
deleted file mode 100644
index d04d281a8..000000000
--- a/mdk-stage1/dietlibc/lib/isdigit.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isdigit_ascii ( int ch );
-int __isdigit_ascii ( int ch ) {
- return (unsigned int)(ch - '0') < 10u;
-}
-
-int isdigit ( int ch ) __attribute__((weak,alias("__isdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isgraph.c b/mdk-stage1/dietlibc/lib/isgraph.c
deleted file mode 100644
index 83419e788..000000000
--- a/mdk-stage1/dietlibc/lib/isgraph.c
+++ /dev/null
@@ -1,6 +0,0 @@
-int __isgraph_ascii ( int ch );
-int __isgraph_ascii ( int ch ) {
- return (unsigned int)(ch - '!') < 127u - '!';
-}
-
-int isgraph ( int ch ) __attribute__((weak,alias("__isgraph_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/islower.c b/mdk-stage1/dietlibc/lib/islower.c
deleted file mode 100644
index 8d219c43a..000000000
--- a/mdk-stage1/dietlibc/lib/islower.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __islower_ascii ( int ch );
-int __islower_ascii ( int ch ) {
- return (unsigned int) (ch - 'a') < 26u;
-}
-
-int islower ( int ch ) __attribute__((weak,alias("__islower_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isprint.c b/mdk-stage1/dietlibc/lib/isprint.c
deleted file mode 100644
index 51ff5b6ee..000000000
--- a/mdk-stage1/dietlibc/lib/isprint.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int __isprint_ascii ( int ch );
-int __isprint_ascii ( int ch ) {
- return (unsigned int)(ch - ' ') < 127u - ' ';
-}
-
-int isprint ( int ch ) __attribute__((weak,alias("__isprint_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/ispunct.c b/mdk-stage1/dietlibc/lib/ispunct.c
deleted file mode 100644
index 8bbfcdb5a..000000000
--- a/mdk-stage1/dietlibc/lib/ispunct.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __ispunct_ascii ( int ch );
-int __ispunct_ascii ( int ch )
-{
- return isprint (ch) && !isalnum (ch) && !isspace (ch);
-}
-
-int ispunct ( int ch ) __attribute__((weak,alias("__ispunct_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isspace.c b/mdk-stage1/dietlibc/lib/isspace.c
deleted file mode 100644
index bfa46648b..000000000
--- a/mdk-stage1/dietlibc/lib/isspace.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isspace_ascii ( int ch );
-int __isspace_ascii ( int ch )
-{
- return (unsigned int)(ch - 9) < 5u || ch == ' ';
-}
-
-int isspace ( int ch ) __attribute__((weak,alias("__isspace_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isupper.c b/mdk-stage1/dietlibc/lib/isupper.c
deleted file mode 100644
index 048d4fd6c..000000000
--- a/mdk-stage1/dietlibc/lib/isupper.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <ctype.h>
-
-int __isupper_ascii ( int ch );
-int __isupper_ascii ( int ch )
-{
- return (unsigned int)(ch - 'A') < 26u;
-}
-
-int isupper ( int ch ) __attribute__((weak,alias("__isupper_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/isxdigit.c b/mdk-stage1/dietlibc/lib/isxdigit.c
deleted file mode 100644
index bca8e74ac..000000000
--- a/mdk-stage1/dietlibc/lib/isxdigit.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int __isxdigit_ascii ( int ch );
-int __isxdigit_ascii ( int ch )
-{
- return (unsigned int)( ch - '0') < 10u ||
- (unsigned int)((ch | 0x20) - 'a') < 6u;
-}
-
-int isxdigit ( int ch ) __attribute__((weak,alias("__isxdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/labs.c b/mdk-stage1/dietlibc/lib/labs.c
deleted file mode 100644
index 364557f40..000000000
--- a/mdk-stage1/dietlibc/lib/labs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-
-#if __WORDSIZE == 64
-long int labs(long int i) { return i>=0?i:-i; }
-long long int llabs(long long int i) __attribute__((alias("labs")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/listen.c b/mdk-stage1/dietlibc/lib/listen.c
deleted file mode 100644
index 661b86a63..000000000
--- a/mdk-stage1/dietlibc/lib/listen.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_listen(int a, int b);
-int __libc_listen(int a, int b) {
- unsigned long args[] = { a, b, 0 };
- return socketcall(SYS_LISTEN, args);
-}
-
-int listen(int s, int backlog) __attribute__((weak,alias("__libc_listen")));
diff --git a/mdk-stage1/dietlibc/lib/llabs.c b/mdk-stage1/dietlibc/lib/llabs.c
deleted file mode 100644
index bcbd3dc78..000000000
--- a/mdk-stage1/dietlibc/lib/llabs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <endian.h>
-#include <stdlib.h>
-
-#if __WORDSIZE != 64
-long long int llabs(long long int i) { if (i<0) i=-i; return i; }
-#endif
diff --git a/mdk-stage1/dietlibc/lib/lockf.c b/mdk-stage1/dietlibc/lib/lockf.c
deleted file mode 100644
index 1b6fcb80c..000000000
--- a/mdk-stage1/dietlibc/lib/lockf.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-int lockf(int fd, int cmd, off_t len) {
- struct flock fl;
- fl.l_whence=SEEK_CUR;
- fl.l_start=0;
- fl.l_len=len;
- fl.l_pid=0;
- switch (cmd) {
- case F_TEST:
- if (fcntl(fd,F_GETLK,&fl)<0)
- return -1;
- if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())
- return 0;
- errno=EACCES;
- return -1;
- case F_ULOCK:
- fl.l_type=F_UNLCK;
- cmd=F_SETLK;
- break;
- case F_LOCK:
- fl.l_type = F_WRLCK;
- cmd = F_SETLKW;
- break;
- case F_TLOCK:
- fl.l_type = F_WRLCK;
- cmd = F_SETLK;
- break;
- default:
- errno=EINVAL;
- return -1;
- }
- return fcntl(fd,cmd,&fl);
-}
diff --git a/mdk-stage1/dietlibc/lib/longjmp.c b/mdk-stage1/dietlibc/lib/longjmp.c
deleted file mode 100644
index 6f1afb4b1..000000000
--- a/mdk-stage1/dietlibc/lib/longjmp.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <setjmp.h>
-#include <signal.h>
-
-void __longjmp(void*env,int val);
-
-void __libc_longjmp(sigjmp_buf env,int val);
-void __libc_longjmp(sigjmp_buf env,int val) {
- if (env[0].__mask_was_saved) {
- sigprocmask(SIG_SETMASK,(sigset_t*)&env[0].__saved_mask,0);
- }
- if (val==0) val=1;
- __longjmp(env[0].__jmpbuf,val);
-}
-void __siglongjmp(sigjmp_buf env,int val) __attribute__((alias("__libc_longjmp")));
-void longjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp")));
-void siglongjmp(sigjmp_buf env,int val) __attribute__((weak,alias("__libc_longjmp")));
diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c
deleted file mode 100644
index 62acf4a2b..000000000
--- a/mdk-stage1/dietlibc/lib/lseek64.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <unistd.h>
-
-loff_t lseek64(int fildes, loff_t offset, int whence) {
- loff_t tmp;
- if (llseek(fildes,(unsigned long)(offset>>32),(unsigned long)offset&0xffffffff,&tmp,whence)) {
- if (errno!=ENOSYS) return -1;
- return (loff_t)lseek(fildes,(off_t)offset,whence);
- }
- return tmp;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/memccpy.c b/mdk-stage1/dietlibc/lib/memccpy.c
deleted file mode 100644
index 3208cfabb..000000000
--- a/mdk-stage1/dietlibc/lib/memccpy.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-void *memccpy(void *dst, const void *src, int c, size_t count)
-{
- char *a = dst;
- const char *b = src;
- while (count--)
- {
- *a++ = *b;
- if (*b==c)
- {
- return (void *)a;
- }
- b++;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memchr.c b/mdk-stage1/dietlibc/lib/memchr.c
deleted file mode 100644
index ae76bb150..000000000
--- a/mdk-stage1/dietlibc/lib/memchr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-void* memchr(const void *s, int c, size_t n) {
- register const char* t=s;
- int i;
- for (i=n; i; --i) {
- if (*t==c)
- return (char*)t;
- ++t;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memcmp.c b/mdk-stage1/dietlibc/lib/memcmp.c
deleted file mode 100644
index 4c8f77142..000000000
--- a/mdk-stage1/dietlibc/lib/memcmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-int memcmp(const void *dst, const void *src, size_t count) {
- register int r;
- register const char *d=dst;
- register const char *s=src;
- while (count--) {
- if ((r=(*d - *s)))
- return r;
- ++d;
- ++s;
- }
- return 0;
-}
-
-int bcmp(const char *a,const char *b,size_t c) __attribute__((weak,alias("memcmp")));
diff --git a/mdk-stage1/dietlibc/lib/memcpy.c b/mdk-stage1/dietlibc/lib/memcpy.c
deleted file mode 100644
index ebfd1e60a..000000000
--- a/mdk-stage1/dietlibc/lib/memcpy.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-void* memcpy(void* dst, const void* src, size_t count) {
- register char *d=dst;
- register const char *s=src;
- ++count; /* this actually produces better code than using count-- */
- while (--count) {
- *d = *s;
- ++d; ++s;
- }
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/memmem.c b/mdk-stage1/dietlibc/lib/memmem.c
deleted file mode 100644
index 5c88a29e7..000000000
--- a/mdk-stage1/dietlibc/lib/memmem.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define _GNU_SOURCE 23
-#include <sys/types.h>
-#include <string.h>
-
-void *memmem(const void* haystack, size_t hl, const void* needle, size_t nl) {
- int i;
- if (nl>hl) return 0;
- for (i=hl-nl+1; i; --i) {
- if (!memcmp(haystack,needle,nl))
- return (char*)haystack;
- ++haystack;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c
deleted file mode 100644
index 58414d503..000000000
--- a/mdk-stage1/dietlibc/lib/memmove.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-void *memmove(void *dst, const void *src, size_t count)
-{
- char *a = dst;
- const char *b = src;
- if (src!=dst)
- {
- if (src>dst)
- {
- while (count--) *a++ = *b++;
- }
- else
- {
- a+=count-1;
- b+=count-1;
- while (count--) *a-- = *b--;
- }
- }
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/memrchr.c b/mdk-stage1/dietlibc/lib/memrchr.c
deleted file mode 100644
index f7750d2d7..000000000
--- a/mdk-stage1/dietlibc/lib/memrchr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define _GNU_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-void* memrchr(const void *s, int c, size_t n) {
- register const char* t=s;
- register const char* last=0;
- int i;
- for (i=n; i; --i) {
- if (*t==c)
- last=t;
- ++t;
- }
- return (void*)last; /* man, what an utterly b0rken prototype */
-}
diff --git a/mdk-stage1/dietlibc/lib/memset.c b/mdk-stage1/dietlibc/lib/memset.c
deleted file mode 100644
index a019eca44..000000000
--- a/mdk-stage1/dietlibc/lib/memset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-void* memset(void * dst, int s, size_t count) {
- register char * a = dst;
- count++; /* this actually creates smaller code than using count-- */
- while (--count)
- *a++ = s;
- return dst;
-}
diff --git a/mdk-stage1/dietlibc/lib/mkfifo.c b/mdk-stage1/dietlibc/lib/mkfifo.c
deleted file mode 100644
index 1bd132e65..000000000
--- a/mdk-stage1/dietlibc/lib/mkfifo.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/stat.h>
-#include <unistd.h>
-
-int mkfifo(const char *fn,mode_t mode) {
- return mknod(fn,(mode_t)(mode|S_IFIFO),0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgctl.c b/mdk-stage1/dietlibc/lib/msgctl.c
deleted file mode 100644
index 51cffdef0..000000000
--- a/mdk-stage1/dietlibc/lib/msgctl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-int msgctl(int msqid, int cmd, struct msqid_ds *buf) {
- return __ipc(MSGCTL,msqid,cmd,0,buf);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgget.c b/mdk-stage1/dietlibc/lib/msgget.c
deleted file mode 100644
index 6023c1786..000000000
--- a/mdk-stage1/dietlibc/lib/msgget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-int msgget(key_t key,int flag) {
- return __ipc(MSGGET,key,flag,0,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgrcv.c b/mdk-stage1/dietlibc/lib/msgrcv.c
deleted file mode 100644
index 8168187a5..000000000
--- a/mdk-stage1/dietlibc/lib/msgrcv.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,size_t,int,void*);
-
-struct ipc_kludge {
- struct msgbuf *msgp;
- long msgtyp;
-};
-
-int msgrcv(int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) {
- struct ipc_kludge tmp;
- tmp.msgp = msgp;
- tmp.msgtyp = msgtyp;
- return __ipc(MSGRCV,msqid, msgsz, msgflg, &tmp);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgsnd.c b/mdk-stage1/dietlibc/lib/msgsnd.c
deleted file mode 100644
index 6e9ef445e..000000000
--- a/mdk-stage1/dietlibc/lib/msgsnd.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-
-extern int __ipc(int,int,size_t,int,const void*);
-
-int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) {
- return __ipc(MSGSND,msqid, msgsz, msgflg, msgp);
-}
diff --git a/mdk-stage1/dietlibc/lib/open64.c b/mdk-stage1/dietlibc/lib/open64.c
deleted file mode 100644
index 2599e2259..000000000
--- a/mdk-stage1/dietlibc/lib/open64.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-int __libc_open64(const char* file,int oflag,int mode);
-int __libc_open64(const char* file,int oflag,int mode) {
- return open(file,oflag|O_LARGEFILE,mode);
-}
-
-int open64(const char* file,int oflag,...) __attribute__((weak,alias("__libc_open64")));
diff --git a/mdk-stage1/dietlibc/lib/opendir.c b/mdk-stage1/dietlibc/lib/opendir.c
deleted file mode 100644
index 2530d1ac9..000000000
--- a/mdk-stage1/dietlibc/lib/opendir.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "dietdirent.h"
-#include <sys/mman.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <fcntl.h>
-
-DIR* opendir ( const char* name ) {
- int fd = open (name, O_RDONLY | O_DIRECTORY);
- DIR* t = NULL;
-
- if ( fd >= 0 ) {
- if (fcntl (fd, F_SETFD, FD_CLOEXEC) < 0)
- goto lose;
- t = (DIR *) mmap (NULL, PAGE_SIZE, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- if (t == MAP_FAILED)
-lose:
- close (fd);
- else
- t->fd = fd;
- }
-
-
- return t;
-}
diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c
deleted file mode 100644
index 0a45fb9d6..000000000
--- a/mdk-stage1/dietlibc/lib/perror.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#define _BSD_SOURCE
-#include <errno.h>
-
-extern const char __sys_err_unknown [];
-
-void perror ( const char* prepend )
-{
- register const char* message = __sys_err_unknown;
-
- if ( (unsigned int) errno < (unsigned int) __SYS_NERR )
- message = sys_errlist [errno];
-
- if (prepend) {
- write ( 2, prepend, strlen(prepend) );
- write ( 2, ": ", 2 );
- }
- write ( 2, message, strlen(message) );
- write ( 2, "\n", 1 );
-}
diff --git a/mdk-stage1/dietlibc/lib/pread.c b/mdk-stage1/dietlibc/lib/pread.c
deleted file mode 100644
index fd6c49149..000000000
--- a/mdk-stage1/dietlibc/lib/pread.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-
-extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pread(int fd, void *buf, size_t count, off_t offset);
-size_t __libc_pread(int fd, void *buf, size_t count, off_t offset) {
- return __pread(fd,buf,count,offset,0);
-}
-
-int pread(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread")));
diff --git a/mdk-stage1/dietlibc/lib/pread64.c b/mdk-stage1/dietlibc/lib/pread64.c
deleted file mode 100644
index 6dc93cefa..000000000
--- a/mdk-stage1/dietlibc/lib/pread64.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef __NO_STAT64
-extern size_t __pread(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset);
-size_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) {
- return __pread(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(offset>>32)));
-}
-
-int pread64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pread64")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/putenv.c b/mdk-stage1/dietlibc/lib/putenv.c
deleted file mode 100644
index 448d59840..000000000
--- a/mdk-stage1/dietlibc/lib/putenv.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-int putenv(const char *string) {
- size_t len;
- int envc;
- int remove=0;
- char *tmp;
- const char **ep;
- char **newenv;
- static char **origenv;
- if (!origenv) origenv=environ;
- if (!(tmp=strchr(string,'='))) {
- len=strlen(string);
- remove=1;
- } else
- len=tmp-string+1;
- for (envc=0, ep=(const char**)environ; *ep; ++ep) {
- if (*string == **ep && !memcmp(string,*ep,len)) {
- if (remove) {
- for (; ep[1]; ++ep) ep[0]=ep[1];
- ep[0]=0;
- return 0;
- }
- *ep=string;
- return 0;
- }
- ++envc;
- }
- if (tmp) {
- newenv = (char**) realloc(environ==origenv?0:origenv,
- (envc+2)*sizeof(char*));
- if (!newenv) return -1;
- newenv[0]=(char*)string;
- memcpy(newenv+1,environ,(envc+1)*sizeof(char*));
- environ=newenv;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/pwrite.c b/mdk-stage1/dietlibc/lib/pwrite.c
deleted file mode 100644
index 1e9fde545..000000000
--- a/mdk-stage1/dietlibc/lib/pwrite.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-
-extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset);
-size_t __libc_pwrite(int fd, void *buf, size_t count, off_t offset) {
- return __pwrite(fd,buf,count,offset,0);
-}
-
-int pwrite(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite")));
diff --git a/mdk-stage1/dietlibc/lib/pwrite64.c b/mdk-stage1/dietlibc/lib/pwrite64.c
deleted file mode 100644
index cac46024a..000000000
--- a/mdk-stage1/dietlibc/lib/pwrite64.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <endian.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifndef __NO_STAT64
-extern size_t __pwrite(int fd, void *buf, size_t count, off_t a,off_t b);
-
-size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset);
-size_t __libc_pwrite64(int fd, void *buf, size_t count, off64_t offset) {
- return __pwrite(fd,buf,count,__LONG_LONG_PAIR ((off_t)(offset&0xffffffff),(off_t)(offset>>32)));
-}
-
-int pwrite64(int fd, void *buf, size_t count, off_t offset) __attribute__((weak,alias("__libc_pwrite64")));
-#endif
diff --git a/mdk-stage1/dietlibc/lib/qsort.c b/mdk-stage1/dietlibc/lib/qsort.c
deleted file mode 100644
index 62217e142..000000000
--- a/mdk-stage1/dietlibc/lib/qsort.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include <sys/cdefs.h>
-#include <stdlib.h>
-#include <assert.h>
-
-/* comments:
- 1. insertion sort sofort, nicht nachträglich
- 2. threshold = 16
- */
-
-static inline void iswap(void *a,void *b,size_t size) {
- register char *x=a;
- register char *y=b;
- register char *z=x+size;
- while (x<z) {
- register char tmp=*x;
- *x=*y;
- *y=tmp;
- ++x; ++y;
- }
-}
-
-static inline void swap(void *base,size_t size,size_t a,size_t b) {
- iswap((char*)base+a*size,(char*)base+b*size,size);
-}
-
-#if 0
-extern int array[];
-
-void dumparray() {
- printf("array now {%d,%d,%d,%d,%d}\n",array[0],array[1],array[2],array[3],array[4]);
-}
-#endif
-
-void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
-void isort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- size_t i;
- while (expect(nmemb>1,1)) {
- char *min=base;
- char *tmp=min+size;
- for (i=1; i<nmemb; ++i) {
- if (expect(compar(tmp,min)<0,0))
- min=tmp;
- tmp+=size;
- }
- iswap(min,base,size);
- (char*)base+=size;
- nmemb-=1;
- }
-}
-
-void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
-#ifdef DEBUG
- char *dbase=base;
- char *dmax=base+(nmemb-1)*size;
- char dmemb=nmemb;
-#endif
- static int level=0;
- char* v; /* pivot */
- char* mid, *max, *min;
- size_t lmemb;
-
-#if 0
- int left,right;
- left=(int*)base-array;
- right=left+nmemb-1;
- ++level;
- { int i; for (i=0; i<level; ++i) printf(" "); }
- printf("qsort: level %d; base=%p, %dx%d; array[%d..%d]\n",level,base,nmemb,size,left,right);
- assert(left>=0 && right<=1000);
-#endif
- if (nmemb<=8) {
- --level;
- return isort(base,nmemb,size,compar);
- }
- {
- mid=(char*)base+(nmemb/2)*size;
- max=(char*)base+(nmemb-1)*size;
-
- if (compar(base,max)<0) /* a[left] < a[right] */
- if (compar(base,mid)<0) /* a[left] < a[med] */
- if (compar(max,mid)<0) /* a[left] < a[right] < a[med] */
- v=max;
- else /* a[left] < a[med] < a[right] */
- v=mid;
- else /* a[med] < a[left] < a[right] */
- v=base;
- else /* a[right] < a[left] */
- if (compar(base,mid)<0) /* a[right] < a[left] < a[med] */
- v=base;
- else /* a[right] < a[left] && a[med] < a[left] */
- if (compar(max,mid)<0) /* a[right] < a[med] < a[left] */
- v=mid;
- else
- v=max;
-// printf("%d %d %d -> median %d\n",*(int*)base,*(int*)mid,*(int*)max,*(int*)v);
- }
- if (v != max)
- iswap(v,max,size);
- v=max;
- min=base; lmemb=0;
- for (;;) {
- while (expect(compar(min,v)<0,1)) { min+=size; ++lmemb; }
- while (expect(compar(max-=size,v)>0,1)) ;
- if (min>=max) break;
- iswap(min,max,size);
- }
- iswap(min,v,size);
-#ifdef DEBUG
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("-=< base=%p, min=%p, nmemb=%d, lmemb=%d (%d)\n",base,min,nmemb,lmemb,(min-(char*)base)/size);
- assert(lmemb==((min-(char*)base)/size));
-#endif
- if (min>(char*)base+size) {
-#ifdef DEBUG
- assert(base==dbase);
-#endif
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("+-left %d [%d..%d] of [%d..%d]\n",level+1,left,left+lmemb,left,right);
- qsort(base,lmemb,size,compar);
- }
- if (nmemb>lmemb+1) {
-// { int i; for (i=0; i<level; ++i) printf(" "); }
-// printf("+-right %d [%d..%d] of [%d..%d]\n",level+1,left+lmemb,right,left,right);
- qsort(min+size,nmemb-lmemb-1,size,compar);
- }
- --level;
-}
diff --git a/mdk-stage1/dietlibc/lib/raise.c b/mdk-stage1/dietlibc/lib/raise.c
deleted file mode 100644
index 0f548fc3b..000000000
--- a/mdk-stage1/dietlibc/lib/raise.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <signal.h>
-
-int raise(int sig) {
- return kill(getpid(),sig);
-}
diff --git a/mdk-stage1/dietlibc/lib/rand.c b/mdk-stage1/dietlibc/lib/rand.c
deleted file mode 100644
index beb2d2717..000000000
--- a/mdk-stage1/dietlibc/lib/rand.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-int rand(void) {
- return rand_r(&seed);
-}
-
-void srand(unsigned int i) { seed=i; }
-
-int random(void) __attribute__((alias("rand")));
-void srandom(unsigned int i) __attribute__((alias("srand")));
diff --git a/mdk-stage1/dietlibc/lib/rand48.c b/mdk-stage1/dietlibc/lib/rand48.c
deleted file mode 100644
index 9c6cfcda2..000000000
--- a/mdk-stage1/dietlibc/lib/rand48.c
+++ /dev/null
@@ -1,89 +0,0 @@
-#include <stdlib.h>
-
-static randbuf rand48buf;
-#define A_0 0xE66D
-#define A_1 0xDEEC
-#define A_2 0x5
-#define C 0xB
-static randbuf a = { A_0, A_1, A_2 };
-static unsigned short c = C;
-
-static void calc_next(randbuf buf) {
- randbuf tmp;
- long t;
- t = buf[0] * a[0] + c;
- tmp[0] = t & 0xffff;
- tmp[1] = (t >> 16) & 0xffff;
- t = buf[1] * a[0] + buf[0] * a[1] + tmp[1];
- tmp[1] = t & 0xffff;
- tmp[2] = (t >> 16) & 0xffff;
- t = buf[2] * a[0] + buf[1] * a[1] + buf[0] * a[2] + tmp[2];
- tmp[2] = t & 0xffff;
- buf[0] = tmp[0];
- buf[1] = tmp[1];
- buf[2] = tmp[2];
-}
-
-double drand48(void) {
- return erand48(rand48buf);
-}
-
-long lrand48(void) {
- return nrand48(rand48buf);
-}
-
-long mrand48(void) {
- return jrand48(rand48buf);
-}
-
-void srand48(long seed) {
- rand48buf[1] = (seed >> 16) & 0xffff;
- rand48buf[2] = seed & 0xffff;
- rand48buf[0] = 0x330e;
- a[0] = A_0;
- a[1] = A_1;
- a[2] = A_2;
- c = C;
-}
-
-unsigned short *seed48(randbuf buf) {
- static randbuf oldx;
- int i;
- for (i = 0; i < 3; i++) {
- oldx[i] = rand48buf[i];
- rand48buf[i] = buf[i];
- }
- a[0] = A_0;
- a[1] = A_1;
- a[2] = A_2;
- c = C;
- return (unsigned short *)&oldx;
-}
-
-void lcong48(unsigned short param[7]) {
- int i;
- for (i = 0; i < 3; i++) {
- rand48buf[i] = param[i];
- a[i] = param[i + 3];
- }
- c = param[6];
-}
-
-long jrand48(randbuf buf) {
- long ret;
- ret = buf[2] << 16 | buf[1];
- calc_next(buf);
- return ret;
-}
-
-long nrand48(randbuf buf) {
- return jrand48(buf) & 0x7FFFFFFFL;
-}
-
-double erand48(randbuf buf) {
- double ret;
- ret = ((buf[0] / 65536.0 + buf[1]) / 65536.0 + buf[2]) / 65536.0;
- calc_next(buf);
- return ret;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/rand_r.c b/mdk-stage1/dietlibc/lib/rand_r.c
deleted file mode 100644
index 55f8303bc..000000000
--- a/mdk-stage1/dietlibc/lib/rand_r.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Copyright (C) 2002 Luc Van Oostenryck
-
- This is free software. You can redistribute and
- modify it under the terms of the GNU General Public
- Public License.
-*/
-
-#include <stdlib.h>
-#include <stdint.h>
-
-/* Knuth's TAOCP section 3.6 */
-#define M ((1U<<31) -1)
-#define A 48271
-#define Q 44488 // M/A
-#define R 3399 // M%A; R < Q !!!
-
-// FIXME: ISO C/SuS want a longer period
-
-int rand_r(unsigned int* seed)
-{ int32_t X;
-
- X = *seed;
- X = A*(X%Q) - R * (int32_t) (X/Q);
- if (X < 0)
- X += M;
-
- *seed = X;
- return X;
-}
diff --git a/mdk-stage1/dietlibc/lib/readdir.c b/mdk-stage1/dietlibc/lib/readdir.c
deleted file mode 100644
index ed885a5f0..000000000
--- a/mdk-stage1/dietlibc/lib/readdir.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-struct dirent* readdir(DIR *d) {
- if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents(d->fd,(struct dirent*)d->buf,sizeof (d->buf)-1);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- return (struct dirent*)(d->buf+d->cur);
-}
diff --git a/mdk-stage1/dietlibc/lib/readdir64.c b/mdk-stage1/dietlibc/lib/readdir64.c
deleted file mode 100644
index b9b0aafcc..000000000
--- a/mdk-stage1/dietlibc/lib/readdir64.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "dietfeatures.h"
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include "syscalls.h"
-
-#ifndef __NR_getdents64
-#define WANT_LARGEFILE_BACKCOMPAT
-#endif
-
-#ifndef WANT_LARGEFILE_BACKCOMPAT
-struct dirent64* readdir64(DIR *d) {
- if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents64(d->fd,(struct dirent64*)d->buf, sizeof (d->buf)-1);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- return (struct dirent64*)(d->buf+d->cur);
-}
-#else
-struct dirent64* readdir64(DIR *d) {
-#ifdef __NR_getdents64
- static int trygetdents64=1;
-#endif
- struct dirent* o;
- static struct dirent64 d64;
-again:
-#ifdef __NR_getdents64
- if (!trygetdents64) {
-#endif
- if (!d->num || (d->cur += ((struct dirent*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents(d->fd,(struct dirent*)d->buf, sizeof (d->buf)-1);
- if (res<=0) return 0;
- d->num=res; d->cur=0;
- }
- o=(struct dirent*)(d->buf+d->cur);
- d64.d_ino=o->d_ino;
- d64.d_off=o->d_off;
- d64.d_reclen=o->d_reclen;
- strcpy(d64.d_name,o->d_name);
- d64.d_type=0; /* is this correct? */
- return &d64;
-#ifdef __NR_getdents64
- }
- if (!d->num || (d->cur += ((struct dirent64*)(d->buf+d->cur))->d_reclen)>=d->num) {
- int res=getdents64(d->fd,(struct dirent64*)d->buf,sizeof (d->buf));
- if (res<=0) {
- if (errno==ENOSYS) {
- trygetdents64=0;
- goto again;
- }
- return 0;
- }
- d->num=res; d->cur=0;
- }
- return (struct dirent64*)(d->buf+d->cur);
-#endif
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/reboot.c b/mdk-stage1/dietlibc/lib/reboot.c
deleted file mode 100644
index 421068504..000000000
--- a/mdk-stage1/dietlibc/lib/reboot.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/reboot.h>
-
-int __reboot(unsigned int magic1, unsigned int magic2, int cmd);
-
-int reboot(int cmd)
-{
- return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd);
-}
diff --git a/mdk-stage1/dietlibc/lib/recv.c b/mdk-stage1/dietlibc/lib/recv.c
deleted file mode 100644
index c6bab4fb1..000000000
--- a/mdk-stage1/dietlibc/lib/recv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recv(int a, const void * b, size_t c, int flags);
-int __libc_recv(int a, const void * b, size_t c, int flags) {
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_RECV, args);
-}
-
-int recv(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_recv")));
diff --git a/mdk-stage1/dietlibc/lib/recvfrom.c b/mdk-stage1/dietlibc/lib/recvfrom.c
deleted file mode 100644
index b66ce3813..000000000
--- a/mdk-stage1/dietlibc/lib/recvfrom.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen);
-int __libc_recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen) {
- unsigned long args[] = { a, (long) b, c, flags, (long) to, (long) tolen };
- return socketcall(SYS_RECVFROM, args);
-}
-
-int recvfrom(int a, const void * b, size_t c, int flags, void *to, void *tolen)
- __attribute__ ((weak,alias("__libc_recvfrom"))) ;
diff --git a/mdk-stage1/dietlibc/lib/recvmsg.c b/mdk-stage1/dietlibc/lib/recvmsg.c
deleted file mode 100644
index d843ce9c0..000000000
--- a/mdk-stage1/dietlibc/lib/recvmsg.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvmsg(int a, struct msghdr* msg, int flags);
-int __libc_recvmsg(int a, struct msghdr* msg, int flags) {
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_RECVMSG, args);
-}
-
-int recvmsg(int a, struct msghdr *msg, int flags)
- __attribute__ ((weak,alias("__libc_recvmsg"))) ;
diff --git a/mdk-stage1/dietlibc/lib/remove.c b/mdk-stage1/dietlibc/lib/remove.c
deleted file mode 100644
index 06f686356..000000000
--- a/mdk-stage1/dietlibc/lib/remove.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include "dietfeatures.h"
-#include <stdio.h>
-
-int remove(const char* filename) {
- if (unlink(filename)) {
- if (errno==EISDIR)
- return rmdir(filename);
- return -1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/rewind.c b/mdk-stage1/dietlibc/lib/rewind.c
deleted file mode 100644
index 48434a316..000000000
--- a/mdk-stage1/dietlibc/lib/rewind.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-void rewind( FILE *stream) {
- fseek(stream, 0L, SEEK_SET);
-}
diff --git a/mdk-stage1/dietlibc/lib/rewinddir.c b/mdk-stage1/dietlibc/lib/rewinddir.c
deleted file mode 100644
index addc7bde9..000000000
--- a/mdk-stage1/dietlibc/lib/rewinddir.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-void rewinddir(DIR *d) {
- if (lseek(d->fd,0,SEEK_SET) != (off_t)-1)
- d->num=d->cur=0;
-}
diff --git a/mdk-stage1/dietlibc/lib/sbrk.c b/mdk-stage1/dietlibc/lib/sbrk.c
deleted file mode 100644
index 799ce7428..000000000
--- a/mdk-stage1/dietlibc/lib/sbrk.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-
-extern int __libc_brk(void *end_data_segment);
-
-extern void* __curbrk;
-
-void* __libc_sbrk(ptrdiff_t increment);
-void* __libc_sbrk(ptrdiff_t increment) {
- void* oldbrk;
- if (__curbrk==0)
- if (__libc_brk(0) < 0)
- return (void*)-1;
- if (increment==0)
- return __curbrk;
- oldbrk=__curbrk;
- if (__libc_brk((char*)oldbrk+increment)<0)
- return (void*)-1;
- return oldbrk;
-}
-
-void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__libc_sbrk")));
diff --git a/mdk-stage1/dietlibc/lib/seekdir.c b/mdk-stage1/dietlibc/lib/seekdir.c
deleted file mode 100644
index cf111fbc8..000000000
--- a/mdk-stage1/dietlibc/lib/seekdir.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-void seekdir(DIR *d,off_t offset) {
- if (lseek(d->fd,offset,SEEK_SET) != (off_t)-1)
- d->num=d->cur=0;
-}
diff --git a/mdk-stage1/dietlibc/lib/semctl.c b/mdk-stage1/dietlibc/lib/semctl.c
deleted file mode 100644
index cec0b7535..000000000
--- a/mdk-stage1/dietlibc/lib/semctl.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
- void *__pad;
-};
-
-int semctl(int semid, int semnum, int cmd, union semun arg);
-int semctl(int semid, int semnum, int cmd, union semun arg) {
- return __ipc(SEMCTL,semid,semnum,cmd,&arg);
-}
diff --git a/mdk-stage1/dietlibc/lib/semget.c b/mdk-stage1/dietlibc/lib/semget.c
deleted file mode 100644
index c3649eea1..000000000
--- a/mdk-stage1/dietlibc/lib/semget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-int semget(key_t key, int nsems, int semflg) {
- return __ipc(SEMGET,key,nsems,semflg,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/semop.c b/mdk-stage1/dietlibc/lib/semop.c
deleted file mode 100644
index 4d2e748cc..000000000
--- a/mdk-stage1/dietlibc/lib/semop.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-
-extern int __ipc(int,int,unsigned,int,void*);
-
-int semop(int semid,struct sembuf *sops,unsigned nsops) {
- return __ipc(SEMOP,semid,nsops,0,sops);
-}
diff --git a/mdk-stage1/dietlibc/lib/send.c b/mdk-stage1/dietlibc/lib/send.c
deleted file mode 100644
index 783ecaf89..000000000
--- a/mdk-stage1/dietlibc/lib/send.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_send(int a, const void * b, size_t c, int flags);
-int __libc_send(int a, const void * b, size_t c, int flags) {
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_SEND, args);
-}
-
-int send(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_send")));
diff --git a/mdk-stage1/dietlibc/lib/sendmsg.c b/mdk-stage1/dietlibc/lib/sendmsg.c
deleted file mode 100644
index bb5d1711a..000000000
--- a/mdk-stage1/dietlibc/lib/sendmsg.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags);
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags) {
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_SENDMSG, args);
-}
-
-int sendmsg(int a, const struct msghdr *msg, int flags)
- __attribute__ ((weak,alias("__libc_sendmsg"))) ;
diff --git a/mdk-stage1/dietlibc/lib/sendto.c b/mdk-stage1/dietlibc/lib/sendto.c
deleted file mode 100644
index d3239932b..000000000
--- a/mdk-stage1/dietlibc/lib/sendto.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen);
-int __libc_sendto(int a, const void * b, size_t c, int flags, void *to, int tolen) {
- unsigned long args[] = { a, (long) b, c, flags, (long) to, tolen };
- return socketcall(SYS_SENDTO, args);
-}
-
-int sendto(int a, const void * b, size_t c, int flags, const struct sockaddr* to, socklen_t tolen)
- __attribute__ ((weak, alias("__libc_sendto")));
diff --git a/mdk-stage1/dietlibc/lib/setlinebuf.c b/mdk-stage1/dietlibc/lib/setlinebuf.c
deleted file mode 100644
index 1f30e183a..000000000
--- a/mdk-stage1/dietlibc/lib/setlinebuf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-#include "dietwarning.h"
-#undef setlinebuf
-
-/* there is no previous prototype because it is a #define */
-void setlinebuf(FILE* stream);
-
-void setlinebuf(FILE* stream) {
- setvbuf(stream,0,_IOLBF,BUFSIZ);
-}
-
-link_warning("setlinebuf","warning: you used setlinebuf without including <stdio.h>")
diff --git a/mdk-stage1/dietlibc/lib/setpgrp.c b/mdk-stage1/dietlibc/lib/setpgrp.c
deleted file mode 100644
index 825ca3725..000000000
--- a/mdk-stage1/dietlibc/lib/setpgrp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-
-int setpgrp()
-{
- return setpgid(0,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/setsockopt.c b/mdk-stage1/dietlibc/lib/setsockopt.c
deleted file mode 100644
index e4bab349f..000000000
--- a/mdk-stage1/dietlibc/lib/setsockopt.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_setsockopt(int a, int b, int c, void *d, void *e);
-int __libc_setsockopt(int a, int b, int c, void *d, void *e) {
- unsigned long args[] = { a, b, c, (long)d, (long) e };
- return socketcall(SYS_SETSOCKOPT, args);
-}
-
-int setsockopt(int s, int level, int optname, const void* optval, socklen_t optlen) __attribute__((weak,alias("__libc_setsockopt")));
diff --git a/mdk-stage1/dietlibc/lib/shmat.c b/mdk-stage1/dietlibc/lib/shmat.c
deleted file mode 100644
index d4b34c120..000000000
--- a/mdk-stage1/dietlibc/lib/shmat.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern void* __ipc(int,int,int,void*,const void*);
-
-void* shmat(int shmid,const void* shmaddr,int shmflg) {
- void* raddr;
- register void* result;
- result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr);
- if ((unsigned long)result <= -(unsigned long)8196)
- result=raddr;
- return result;
-}
diff --git a/mdk-stage1/dietlibc/lib/shmctl.c b/mdk-stage1/dietlibc/lib/shmctl.c
deleted file mode 100644
index 92b9d1fbb..000000000
--- a/mdk-stage1/dietlibc/lib/shmctl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,int,int,int,void*);
-
-int shmctl(int shmid, int cmd, struct shmid_ds *buf) {
- return __ipc(SHMCTL,shmid,cmd,0,buf);
-}
diff --git a/mdk-stage1/dietlibc/lib/shmdt.c b/mdk-stage1/dietlibc/lib/shmdt.c
deleted file mode 100644
index 54dc6f41b..000000000
--- a/mdk-stage1/dietlibc/lib/shmdt.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,int,int,int,const void*);
-
-int shmdt(const void* shmaddr) {
- return __ipc(SHMDT,0,0,0,shmaddr);
-}
diff --git a/mdk-stage1/dietlibc/lib/shmget.c b/mdk-stage1/dietlibc/lib/shmget.c
deleted file mode 100644
index bf1dc2030..000000000
--- a/mdk-stage1/dietlibc/lib/shmget.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-extern int __ipc(int,key_t,int,int,int);
-
-int shmget(key_t key, int size, int shmflg) {
- return __ipc(SHMGET,key,size,shmflg,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/shutdown.c b/mdk-stage1/dietlibc/lib/shutdown.c
deleted file mode 100644
index 0e7b8755c..000000000
--- a/mdk-stage1/dietlibc/lib/shutdown.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-#include <sys/socket.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_shutdown(int s, int how);
-int __libc_shutdown(int s, int how) {
- unsigned long args[] = { s, (long) how, 0 };
- return socketcall(SYS_SHUTDOWN, args);
-}
-
-int shutdown(int s, int how) __attribute__((weak,alias("__libc_shutdown")));
diff --git a/mdk-stage1/dietlibc/lib/sigaction.c b/mdk-stage1/dietlibc/lib/sigaction.c
deleted file mode 100644
index fe1351f0f..000000000
--- a/mdk-stage1/dietlibc/lib/sigaction.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr);
-
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, _NSIG/8);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
-__attribute__((weak,alias("__libc_sigaction")));
diff --git a/mdk-stage1/dietlibc/lib/sigaddset.c b/mdk-stage1/dietlibc/lib/sigaddset.c
deleted file mode 100644
index 1c2632e67..000000000
--- a/mdk-stage1/dietlibc/lib/sigaddset.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigaddset(sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- set->sig[__word]|=__mask;
- return 0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigdelset.c b/mdk-stage1/dietlibc/lib/sigdelset.c
deleted file mode 100644
index 0c47ce348..000000000
--- a/mdk-stage1/dietlibc/lib/sigdelset.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigdelset(sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- set->sig[__word]&=~__mask;
- return 0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigemptyset.c b/mdk-stage1/dietlibc/lib/sigemptyset.c
deleted file mode 100644
index 4efee2550..000000000
--- a/mdk-stage1/dietlibc/lib/sigemptyset.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <signal.h>
-
-int sigemptyset(sigset_t *set) {
- set->sig[0]=0;
- if (_NSIG_WORDS>1) set->sig[1]=0;
- if (_NSIG_WORDS>2) {
- set->sig[2]=0;
- set->sig[3]=0;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sigfillset.c b/mdk-stage1/dietlibc/lib/sigfillset.c
deleted file mode 100644
index b4e369fe4..000000000
--- a/mdk-stage1/dietlibc/lib/sigfillset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <signal.h>
-
-int sigfillset(sigset_t *set) {
- set->sig[0]=(unsigned long)-1;
- if (_NSIG_WORDS>1) set->sig[1]=(unsigned long)-1;
- if (_NSIG_WORDS>2) {
- set->sig[2]=(unsigned long)-1;
- set->sig[3]=(unsigned long)-1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/siginterrupt.c b/mdk-stage1/dietlibc/lib/siginterrupt.c
deleted file mode 100644
index 8926f09ed..000000000
--- a/mdk-stage1/dietlibc/lib/siginterrupt.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <signal.h>
-
-int siginterrupt(int sig, int flag) {
- int ret;
- struct sigaction act;
-
- sigaction(sig, 0, &act);
-
- if (flag)
- act.sa_flags &= ~SA_RESTART;
- else
- act.sa_flags |= SA_RESTART;
-
- ret = sigaction(sig, &act, 0);
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/lib/sigismember.c b/mdk-stage1/dietlibc/lib/sigismember.c
deleted file mode 100644
index 8ffe9762a..000000000
--- a/mdk-stage1/dietlibc/lib/sigismember.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#define __sigmask(sig) ( ((unsigned long)1) << (((sig)-1) % (8*sizeof(unsigned long))) )
-#define __sigword(sig) ( ((sig)-1) / (8*sizeof(unsigned long)) )
-
-int sigismember(const sigset_t *set, int signo) {
- if ((signo<1)||(signo>SIGRTMAX)) {
- (*__errno_location())=EINVAL;
- return -1;
- } else {
- unsigned long __mask = __sigmask (signo);
- unsigned long __word = __sigword (signo);
- return (set->sig[__word] & __mask)?1:0;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/sigjmp.c b/mdk-stage1/dietlibc/lib/sigjmp.c
deleted file mode 100644
index 73c8baa8e..000000000
--- a/mdk-stage1/dietlibc/lib/sigjmp.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <setjmp.h>
-#include <signal.h>
-
-int __sigjmp_save(sigjmp_buf env,int savemask);
-int __sigjmp_save(sigjmp_buf env,int savemask) {
- if (savemask) {
- env[0].__mask_was_saved=(sigprocmask(SIG_BLOCK,(sigset_t*)0,(sigset_t*)&env[0].__saved_mask)==0);
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/signal.c b/mdk-stage1/dietlibc/lib/signal.c
deleted file mode 100644
index 51441558e..000000000
--- a/mdk-stage1/dietlibc/lib/signal.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <signal.h>
-
-sighandler_t signal(int signum, sighandler_t action) {
- struct sigaction sa,oa;
- sa.sa_handler=action;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask,signum);
- sa.sa_flags=SA_NODEFER;
- if (sigaction(signum,&sa,&oa))
- return SIG_ERR;
- return oa.sa_handler;
-}
diff --git a/mdk-stage1/dietlibc/lib/sigpending.c b/mdk-stage1/dietlibc/lib/sigpending.c
deleted file mode 100644
index 62a4761c6..000000000
--- a/mdk-stage1/dietlibc/lib/sigpending.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigpending(sigset_t *set, long nr);
-
-int sigpending(sigset_t *set) {
- return __rt_sigpending(set, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigprocmask.c b/mdk-stage1/dietlibc/lib/sigprocmask.c
deleted file mode 100644
index 6d770c3d3..000000000
--- a/mdk-stage1/dietlibc/lib/sigprocmask.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigprocmask(int how, const sigset_t *set, sigset_t *oldsetm, long nr);
-
-int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) {
- return __rt_sigprocmask(how, set, oldset, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigqueueinfo.c b/mdk-stage1/dietlibc/lib/sigqueueinfo.c
deleted file mode 100644
index adb7349f4..000000000
--- a/mdk-stage1/dietlibc/lib/sigqueueinfo.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigqueueinfo(int pid, int sig, siginfo_t *info);
-
-int sigqueueinfo(int pid, int sig, siginfo_t *info) {
- return __rt_sigqueueinfo(pid, sig, info);
-}
diff --git a/mdk-stage1/dietlibc/lib/sigsuspend.c b/mdk-stage1/dietlibc/lib/sigsuspend.c
deleted file mode 100644
index a020789e9..000000000
--- a/mdk-stage1/dietlibc/lib/sigsuspend.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <signal.h>
-
-int __rt_sigsuspend(const sigset_t *mask, long nr);
-
-int __libc_sigsuspend(const sigset_t *mask);
-int __libc_sigsuspend(const sigset_t *mask) {
- return __rt_sigsuspend(mask, _NSIG/8);
-}
-
-int sigsuspend(const sigset_t *mask) __attribute__((weak,alias("__libc_sigsuspend")));
diff --git a/mdk-stage1/dietlibc/lib/sigtimedwait.c b/mdk-stage1/dietlibc/lib/sigtimedwait.c
deleted file mode 100644
index 864e433c3..000000000
--- a/mdk-stage1/dietlibc/lib/sigtimedwait.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts, long nr);
-
-int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts) {
- return __rt_sigtimedwait(set,info,ts,_NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/lib/sleep.c b/mdk-stage1/dietlibc/lib/sleep.c
deleted file mode 100644
index 45c51f1b6..000000000
--- a/mdk-stage1/dietlibc/lib/sleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <time.h>
-
-unsigned int sleep(unsigned int secs) {
- struct timespec t;
- t.tv_sec=secs;
- t.tv_nsec=0;
- nanosleep(&t,&t);
- return secs-t.tv_sec;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/snprintf.c b/mdk-stage1/dietlibc/lib/snprintf.c
deleted file mode 100644
index 141b4ec13..000000000
--- a/mdk-stage1/dietlibc/lib/snprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-
-int snprintf(char *str,size_t size,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(str,size,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/socket.c b/mdk-stage1/dietlibc/lib/socket.c
deleted file mode 100644
index c18df5123..000000000
--- a/mdk-stage1/dietlibc/lib/socket.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_socket(int a, int b, int c);
-int __libc_socket(int a, int b, int c) {
- unsigned long args[] = { a, b, c };
- return socketcall(SYS_SOCKET, args);
-}
-
-int socket(int a,int b,int c) __attribute__((weak,alias("__libc_socket")));
diff --git a/mdk-stage1/dietlibc/lib/socketpair.c b/mdk-stage1/dietlibc/lib/socketpair.c
deleted file mode 100644
index e6f1fd822..000000000
--- a/mdk-stage1/dietlibc/lib/socketpair.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linuxnet.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_socketpair(int a, int type, int protocol, int sv[2]);
-int __libc_socketpair(int a, int type, int protocol, int sv[2]) {
- unsigned long args[] = { a, type, protocol, (long)sv };
- return socketcall(SYS_SOCKETPAIR, args);
-}
-
-int socketpair(int d, int type, int protocol, int sv[2])
- __attribute__((weak,alias("__libc_socketpair")));
diff --git a/mdk-stage1/dietlibc/lib/sprintf.c b/mdk-stage1/dietlibc/lib/sprintf.c
deleted file mode 100644
index 37fd831d9..000000000
--- a/mdk-stage1/dietlibc/lib/sprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-int sprintf(char *dest,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsprintf(dest,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/sscanf.c b/mdk-stage1/dietlibc/lib/sscanf.c
deleted file mode 100644
index e608878ef..000000000
--- a/mdk-stage1/dietlibc/lib/sscanf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-
-int sscanf(const char *str, const char *format, ...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsscanf(str,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/strcasecmp.c b/mdk-stage1/dietlibc/lib/strcasecmp.c
deleted file mode 100644
index cf1592567..000000000
--- a/mdk-stage1/dietlibc/lib/strcasecmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <strings.h>
-
-int strcasecmp ( const char* s1, const char* s2 )
-{
- register unsigned int x2;
- register unsigned int x1;
-
- while (1) {
- x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32;
- x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32;
- if ( x2 != x1 )
- break;
- if ( x1 == (unsigned int)-'A' )
- break;
- }
-
- return x1 - x2;
-}
diff --git a/mdk-stage1/dietlibc/lib/strcat.c b/mdk-stage1/dietlibc/lib/strcat.c
deleted file mode 100644
index 8a755afea..000000000
--- a/mdk-stage1/dietlibc/lib/strcat.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-#include <string.h>
-
-char* strcat(register char* s,register const char* t)
-{
- char *dest=s;
- s+=strlen(s);
- for (;;) {
- if (!(*s = *t)) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) break; ++s; ++t;
- if (!(*s = *t)) break; ++s; ++t;
- if (!(*s = *t)) break; ++s; ++t;
-#endif
- }
- return dest;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/strchr.c b/mdk-stage1/dietlibc/lib/strchr.c
deleted file mode 100644
index 3a4c9b5b4..000000000
--- a/mdk-stage1/dietlibc/lib/strchr.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "dietfeatures.h"
-#include <string.h>
-
-char *strchr(register const char *t, int c) {
- register char ch;
-
- ch = c;
- for (;;) {
- if (*t == ch) break; if (!*t) return 0; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (*t == ch) break; if (!*t) return 0; ++t;
- if (*t == ch) break; if (!*t) return 0; ++t;
- if (*t == ch) break; if (!*t) return 0; ++t;
-#endif
- }
- return (char*)t;
-}
-
-char *index(char *t,int c) __attribute__((weak,alias("strchr")));
diff --git a/mdk-stage1/dietlibc/lib/strcmp.c b/mdk-stage1/dietlibc/lib/strcmp.c
deleted file mode 100644
index 3892379e5..000000000
--- a/mdk-stage1/dietlibc/lib/strcmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-
-int strcmp(register const char *s,register const char *t) {
- register char x;
-
- for (;;) {
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
-
-int strcoll(const char *s,const char* t) __attribute__((weak,alias("strcmp")));
diff --git a/mdk-stage1/dietlibc/lib/strcpy.c b/mdk-stage1/dietlibc/lib/strcpy.c
deleted file mode 100644
index 444054e71..000000000
--- a/mdk-stage1/dietlibc/lib/strcpy.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.h"
-
-char* strcpy(register char* s,register const char* t)
-{
- char *dest=s;
-#ifndef WANT_SMALL_STRING_ROUTINES
- for (;;) {
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- }
-#else
- while ((*dest++=*t++));
- return s;
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/strcspn.c b/mdk-stage1/dietlibc/lib/strcspn.c
deleted file mode 100644
index 37053c72c..000000000
--- a/mdk-stage1/dietlibc/lib/strcspn.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-size_t strcspn(const char *s, const char *reject)
-{
- size_t l=0;
- int a=1,i,al=strlen(reject);
-
- while((a)&&(*s))
- {
- for(i=0;(a)&&(i<al);i++)
- if (*s==reject[i]) a=0;
- if (a) l++;
- s++;
- }
- return l;
-}
diff --git a/mdk-stage1/dietlibc/lib/strdup.c b/mdk-stage1/dietlibc/lib/strdup.c
deleted file mode 100644
index 6a2ea5f95..000000000
--- a/mdk-stage1/dietlibc/lib/strdup.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-char *strdup(const char *s) {
- char *tmp=(char *)malloc(strlen(s)+1);
- if (!tmp) return 0;
- strcpy(tmp,s);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/lib/strerror.c b/mdk-stage1/dietlibc/lib/strerror.c
deleted file mode 100644
index 7cb79d988..000000000
--- a/mdk-stage1/dietlibc/lib/strerror.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-
-#define _BSD_SOURCE
-#include <errno.h>
-
-extern const char __sys_err_unknown[];
-
-char*strerror(int errnum) {
- register const char*message=__sys_err_unknown;
-
- if ( (unsigned int)errnum < (unsigned int)__SYS_NERR )
- message=sys_errlist[errnum];
-#if defined(__mips__)
- if ( errnum == 1133 )
- message="Quota exceeded";
-#endif
- return (char*)message;
-}
diff --git a/mdk-stage1/dietlibc/lib/strlcat.c b/mdk-stage1/dietlibc/lib/strlcat.c
deleted file mode 100644
index fd35ec8af..000000000
--- a/mdk-stage1/dietlibc/lib/strlcat.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $ */
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Appends src to string dst of size siz (unlike strncat, siz is the
- * full size of dst, not space left). At most siz-1 characters
- * will be copied. Always NUL terminates (unless siz == 0).
- * Returns strlen(initial dst) + strlen(src); if retval >= siz,
- * truncation occurred.
- */
-size_t strlcat(dst, src, siz)
- char *dst;
- const char *src;
- size_t siz;
-{
- register char *d = dst;
- register const char *s = src;
- register size_t n = siz;
- size_t dlen;
-
- /* Find the end of dst and adjust bytes left but don't go past end */
- while (*d != '\0' && n-- != 0)
- d++;
- dlen = d - dst;
- n = siz - dlen;
-
- if (n == 0)
- return(dlen + strlen(s));
- while (*s != '\0') {
- if (n != 1) {
- *d++ = *s;
- n--;
- }
- s++;
- }
- *d = '\0';
-
- return(dlen + (s - src)); /* count does not include NUL */
-}
diff --git a/mdk-stage1/dietlibc/lib/strlcpy.3 b/mdk-stage1/dietlibc/lib/strlcpy.3
deleted file mode 100644
index e00af8d6b..000000000
--- a/mdk-stage1/dietlibc/lib/strlcpy.3
+++ /dev/null
@@ -1,169 +0,0 @@
-.\" $OpenBSD: strlcpy.3,v 1.10 2000/11/06 01:03:25 aaron Exp $
-.\"
-.\" Copyright (c) 1998, 2000 Todd C. Miller <Todd.Miller@courtesan.com>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd June 22, 1998
-.Dt STRLCPY 3
-.Os
-.Sh NAME
-.Nm strlcpy ,
-.Nm strlcat
-.Nd size-bounded string copying and concatenation
-.Sh SYNOPSIS
-.Fd #include <string.h>
-.Ft size_t
-.Fn strlcpy "char *dst" "const char *src" "size_t size"
-.Ft size_t
-.Fn strlcat "char *dst" "const char *src" "size_t size"
-.Sh DESCRIPTION
-The
-.Fn strlcpy
-and
-.Fn strlcat
-functions copy and concatenate strings respectively.
-They are designed
-to be safer, more consistent, and less error prone replacements for
-.Xr strncpy 3
-and
-.Xr strncat 3 .
-Unlike those functions,
-.Fn strlcpy
-and
-.Fn strlcat
-take the full size of the buffer (not just the length) and guarantee to
-NUL-terminate the result (as long as
-.Fa size
-is larger than 0 or, in the case of
-.Fn strlcat ,
-as long as there is at least one byte free in
-.Fa dst ) .
-Note that you should include a byte for the NUL in
-.Fa size .
-Also note that
-.Fn strlcpy
-and
-.Fn strlcat
-only operate on true
-.Dq C
-strings.
-This means that for
-.Fn strlcpy
-.Fa src
-must be NUL-terminated and for
-.Fn strlcat
-both
-.Fa src
-and
-.Fa dst
-must be NUL-terminated.
-.Pp
-The
-.Fn strlcpy
-function copies up to
-.Fa size
-- 1 characters from the NUL-terminated string
-.Fa src
-to
-.Fa dst ,
-NUL-terminating the result.
-.Pp
-The
-.Fn strlcat
-function appends the NUL-terminated string
-.Fa src
-to the end of
-.Fa dst .
-It will append at most
-.Fa size
-- strlen(dst) - 1 bytes, NUL-terminating the result.
-.Sh RETURN VALUES
-The
-.Fn strlcpy
-and
-.Fn strlcat
-functions return the total length of the string they tried to create.
-For
-.Fn strlcpy
-that means the length of
-.Fa src .
-For
-.Fn strlcat
-that means the initial length of
-.Fa dst
-plus
-the length of
-.Fa src .
-While this may seem somewhat confusing it was done to make
-truncation detection simple.
-.Sh EXAMPLES
-The following code fragment illustrates the simple case:
-.Bd -literal -offset indent
-char *s, *p, buf[BUFSIZ];
-
-\&...
-
-(void)strlcpy(buf, s, sizeof(buf));
-(void)strlcat(buf, p, sizeof(buf));
-.Ed
-.Pp
-To detect truncation, perhaps while building a pathname, something
-like the following might be used:
-.Bd -literal -offset indent
-char *dir, *file, pname[MAXPATHLEN];
-
-\&...
-
-if (strlcpy(pname, dir, sizeof(pname)) >= sizeof(pname))
- goto toolong;
-if (strlcat(pname, file, sizeof(pname)) >= sizeof(pname))
- goto toolong;
-.Ed
-.Pp
-Since we know how many characters we copied the first time, we can
-speed things up a bit by using a copy instead of an append:
-.Bd -literal -offset indent
-char *dir, *file, pname[MAXPATHLEN];
-size_t n;
-
-\&...
-
-n = strlcpy(pname, dir, sizeof(pname));
-if (n >= sizeof(pname))
- goto toolong;
-if (strlcpy(pname + n, file, sizeof(pname) - n) >= sizeof(pname) - n)
- goto toolong;
-.Ed
-.Pp
-However, one may question the validity of such optimizations, as they
-defeat the whole purpose of
-.Fn strlcpy
-and
-.Fn strlcat .
-As a matter of fact, the first version of this manual page got it wrong.
-.Sh SEE ALSO
-.Xr snprintf 3 ,
-.Xr strncat 3 ,
-.Xr strncpy 3
diff --git a/mdk-stage1/dietlibc/lib/strlcpy.c b/mdk-stage1/dietlibc/lib/strlcpy.c
deleted file mode 100644
index b935b9527..000000000
--- a/mdk-stage1/dietlibc/lib/strlcpy.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $ */
-
-/*
- * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: strlcpy.c,v 1.3 1999/04/24 01:17:37 millert Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Copy src to string dst of size siz. At most siz-1 characters
- * will be copied. Always NUL terminates (unless siz == 0).
- * Returns strlen(src); if retval >= siz, truncation occurred.
- */
-size_t strlcpy(dst, src, siz)
- char *dst;
- const char *src;
- size_t siz;
-{
- register char *d = dst;
- register const char *s = src;
- register size_t n = siz;
-
- /* Copy as many bytes as will fit */
- if (n != 0 && --n != 0) {
- do {
- if ((*d++ = *s++) == 0)
- break;
- } while (--n != 0);
- }
-
- /* Not enough room in dst, add NUL and traverse rest of src */
- if (n == 0) {
- if (siz != 0)
- *d = '\0'; /* NUL-terminate dst */
- while (*s++)
- ;
- }
-
- return(s - src - 1); /* count does not include NUL */
-}
diff --git a/mdk-stage1/dietlibc/lib/strlen.c b/mdk-stage1/dietlibc/lib/strlen.c
deleted file mode 100644
index 96da5a540..000000000
--- a/mdk-stage1/dietlibc/lib/strlen.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <endian.h>
-#include "dietfeatures.h"
-#include <string.h>
-
-#ifdef WANT_SMALL_STRING_ROUTINES
-size_t strlen(const char *s) {
- register size_t i;
- if (!s) return 0;
- for (i=0; *s; ++s) ++i;
- return i;
-}
-#else
-static const unsigned long magic = 0x01010101;
-
-size_t strlen(const char *s)
-{
- const char *t = s;
- unsigned long word;
-
- if (!s) return 0;
-
- /* Byte compare up until word boundary */
- for (; ((unsigned long) t & 3); t++)
- if (!*t) return t - s;
-
- /* Word compare */
- do {
- word = *((unsigned long *) t); t += 4;
- word = (word - magic) &~ word;
- word &= (magic << 7);
- } while (word == 0);
-
-#if BYTE_ORDER == LITTLE_ENDIAN
- /* word & 0x80808080 == word */
- word = (word - 1) & (magic << 10);
- word += (word << 8) + (word << 16);
- t += word >> 26;
-#else
- if ((word & 0x80800000) == 0) {
- word <<= 16;
- t += 2;
- }
- if ((word & 0x80000000) == 0) t += 1;
-#endif
- return ((const char *) t) - 4 - s;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/lib/strncasecmp.c b/mdk-stage1/dietlibc/lib/strncasecmp.c
deleted file mode 100644
index 543fe56ba..000000000
--- a/mdk-stage1/dietlibc/lib/strncasecmp.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/types.h>
-#include <strings.h>
-
-int strncasecmp ( const char* s1, const char* s2, size_t len )
-{
- register unsigned int x2;
- register unsigned int x1;
- register const char* end = s1 + len;
-
- while (1) {
- if ( s1 >= end )
- return 0;
- x2 = *s2++ - 'A'; if (x2 < 26u) x2 += 32;
- x1 = *s1++ - 'A'; if (x1 < 26u) x1 += 32;
- if ( x2 != x1 )
- break;
- if ( x1 == (unsigned int)-'A' )
- break;
- }
-
- return x1 - x2;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncat.c b/mdk-stage1/dietlibc/lib/strncat.c
deleted file mode 100644
index 9802d5678..000000000
--- a/mdk-stage1/dietlibc/lib/strncat.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include "dietfeatures.h"
-#include <string.h>
-
-#ifdef WANT_NON_COMPLIANT_STRNCAT
-/* this implementation is not standards compliant.
- * the standard says that strncat(dest,"foobar",3) should write 'f', 'o'
- * and 'o'. The programmer is then expected to overwrite the last byte
- * with '\0', which is often forgotten. This implementation makes sure
- * the last written bytes is always '\0'. */
-#endif
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-char *strncat(char *s, const char *t, size_t n) {
- char *dest=s;
- register char *max;
- s+=strlen(s);
-#ifdef WANT_NON_COMPLIANT_STRNCAT
- if ((max=s+n-1)<=s) goto fini;
-#else
- if ((max=s+n)==s) goto fini;
-#endif
- for (;;) {
- if (!(*s = *t)) break; if (++s==max) break; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) break; if (++s==max) break; ++t;
- if (!(*s = *t)) break; if (++s==max) break; ++t;
- if (!(*s = *t)) break; if (++s==max) break; ++t;
-#endif
- }
- *s=0;
-fini:
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c
deleted file mode 100644
index b3b56cfbb..000000000
--- a/mdk-stage1/dietlibc/lib/strncmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-int strncmp(const char *s1, const char *s2, size_t n) {
- register const char* a=s1;
- register const char* b=s2;
- register const char* fini=a+n;
- while (a<fini) {
- register int res=*a-*b;
- if (res) return res;
- if (!*a) return 0;
- ++a; ++b;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncpy.c b/mdk-stage1/dietlibc/lib/strncpy.c
deleted file mode 100644
index 31b682a1e..000000000
--- a/mdk-stage1/dietlibc/lib/strncpy.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-/* gcc is broken and has a non-SUSv2 compliant internal prototype.
- * This causes it to warn about a type mismatch here. Ignore it. */
-char *strncpy(char *dest, const char *src, size_t n) {
-#ifdef WANT_FULL_POSIX_COMPAT
- memset(dest,0,n);
-#endif
- memccpy(dest,src,0,n);
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strpbrk.c b/mdk-stage1/dietlibc/lib/strpbrk.c
deleted file mode 100644
index e18fd2a2d..000000000
--- a/mdk-stage1/dietlibc/lib/strpbrk.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strpbrk(const char *s, const char *accept) {
- register int i,l=strlen(accept);
- for (; *s; s++)
- for (i=0; i<l; i++)
- if (*s == accept[i])
- return (char*)s;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strrchr.c b/mdk-stage1/dietlibc/lib/strrchr.c
deleted file mode 100644
index 1abb655e2..000000000
--- a/mdk-stage1/dietlibc/lib/strrchr.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <string.h>
-#include "dietfeatures.h"
-
-char *strrchr(const char *t, int c) {
- register char ch;
- register const char *l=0;
-
- ch = c;
- for (;;) {
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
- if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
-#endif
- }
- return (char*)l;
-}
-
-char *rindex(const char *t,int c) __attribute__((weak,alias("strrchr")));
diff --git a/mdk-stage1/dietlibc/lib/strsep.c b/mdk-stage1/dietlibc/lib/strsep.c
deleted file mode 100644
index db76f89b5..000000000
--- a/mdk-stage1/dietlibc/lib/strsep.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-
-char *strsep(char **stringp, const char *delim) {
- register char *tmp=*stringp;
- register char *tmp2=tmp;
- register const char *tmp3;
- if (!*stringp) return 0;
- for (tmp2=tmp; *tmp2; ++tmp2) {
- for (tmp3=delim; *tmp3; ++tmp3)
- if (*tmp2==*tmp3) { /* delimiter found */
- *tmp2=0;
- *stringp=tmp2+1;
- return tmp;
- }
- }
- *stringp=0;
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/lib/strspn.c b/mdk-stage1/dietlibc/lib/strspn.c
deleted file mode 100644
index 2b3a4c116..000000000
--- a/mdk-stage1/dietlibc/lib/strspn.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-size_t strspn(const char *s, const char *accept)
-{
- size_t l=0;
- int a=1,i,al=strlen(accept);
-
- while((a)&&(*s))
- {
- for(a=i=0;(!a)&&(i<al);i++)
- if (*s==accept[i]) a=1;
- if (a) l++;
- s++;
- }
- return l;
-}
diff --git a/mdk-stage1/dietlibc/lib/strstr.c b/mdk-stage1/dietlibc/lib/strstr.c
deleted file mode 100644
index 0632cc28a..000000000
--- a/mdk-stage1/dietlibc/lib/strstr.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strstr(const char *haystack, const char *needle) {
- size_t nl=strlen(needle);
- size_t hl=strlen(haystack);
- int i;
- if (!nl) goto found;
- if (nl>hl) return 0;
- for (i=hl-nl+1; i; --i) {
- if (*haystack==*needle && !memcmp(haystack,needle,nl))
-found:
- return (char*)haystack;
- ++haystack;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtod.c b/mdk-stage1/dietlibc/lib/strtod.c
deleted file mode 100644
index 5d50cc535..000000000
--- a/mdk-stage1/dietlibc/lib/strtod.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-double strtod(const char* s, char** endptr) {
- register const char* p = s;
- register long double value = 0.L;
- int sign = +1;
- long double factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtof.c b/mdk-stage1/dietlibc/lib/strtof.c
deleted file mode 100644
index acb081e51..000000000
--- a/mdk-stage1/dietlibc/lib/strtof.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-float strtof(const char* s, char** endptr) {
- register const char* p = s;
- register float value = 0.;
- int sign = +1;
- float factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok.c b/mdk-stage1/dietlibc/lib/strtok.c
deleted file mode 100644
index e041703e3..000000000
--- a/mdk-stage1/dietlibc/lib/strtok.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-
-static char *strtok_pos;
-
-char *strtok(char *s, const char *delim)
-{
- return strtok_r(s,delim,&strtok_pos);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok_r.c b/mdk-stage1/dietlibc/lib/strtok_r.c
deleted file mode 100644
index 93f9401de..000000000
--- a/mdk-stage1/dietlibc/lib/strtok_r.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <string.h>
-
-char *strtok_r(char *s, const char *delim, char **ptrptr)
-{
- int i;
- char *tmp=0;
-
- if (s) (*ptrptr)=s;
-
- if (**ptrptr)
- {
- while(!(i=strcspn(*ptrptr,delim))) (*ptrptr)++;
- if (**ptrptr)
- {
- tmp=(*ptrptr);
- (*ptrptr)+=i;
- if (**ptrptr) *(*ptrptr)++=0;
- }
- }
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtol.c b/mdk-stage1/dietlibc/lib/strtol.c
deleted file mode 100644
index 2624aca0e..000000000
--- a/mdk-stage1/dietlibc/lib/strtol.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-#define ABS_LONG_MIN 2147483648UL
-long int strtol(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-') { neg=-1; ++nptr; }
- v=strtoul(nptr,endptr,base);
- if (v>=ABS_LONG_MIN) {
- if (v==ABS_LONG_MIN && neg) {
- errno=0;
- return v;
- }
- errno=ERANGE;
- return (neg?LONG_MIN:LONG_MAX);
- }
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtold.c b/mdk-stage1/dietlibc/lib/strtold.c
deleted file mode 100644
index ae5f0fa48..000000000
--- a/mdk-stage1/dietlibc/lib/strtold.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-long double strtold(const char* s, char** endptr) {
- register const char* p = s;
- register long double value = 0.L;
- int sign = +1;
- long double factor;
- unsigned int expo;
-
- while ( isspace(*p) )
- p++;
-
- switch (*p) {
- case '-': sign = -1;
- case '+': p++;
- default : break;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- value = value*10 + (*p++ - '0');
-
- if ( *p == '.' ) {
- factor = 1.;
-
- p++;
- while ( (unsigned int)(*p - '0') < 10u ) {
- factor *= 0.1;
- value += (*p++ - '0') * factor;
- }
- }
-
- if ( (*p | 32) == 'e' ) {
- expo = 0;
- factor = 10.L;
-
- switch (*++p) { // ja hier weiß ich nicht, was mindestens nach einem 'E' folgenden MUSS.
- case '-': factor = 0.1;
- case '+': p++;
- break;
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- break;
- default : value = 0.L;
- p = s;
- goto done;
- }
-
- while ( (unsigned int)(*p - '0') < 10u )
- expo = 10 * expo + (*p++ - '0');
-
- while ( 1 ) {
- if ( expo & 1 )
- value *= factor;
- if ( (expo >>= 1) == 0 )
- break;
- factor *= factor;
- }
- }
-
-done:
- if ( endptr != NULL )
- *endptr = (char*)p;
-
- return value * sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c
deleted file mode 100644
index 9e05e740e..000000000
--- a/mdk-stage1/dietlibc/lib/strtoll.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <ctype.h>
-#include <stdlib.h>
-
-long long int strtoll(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; }
- v=strtoull(nptr,endptr,base);
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoul.c b/mdk-stage1/dietlibc/lib/strtoul.c
deleted file mode 100644
index e9c09fb59..000000000
--- a/mdk-stage1/dietlibc/lib/strtoul.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-
-unsigned long int strtoul(const char *nptr, char **endptr, int base)
-{
- int neg = 0;
- unsigned long int v=0;
-
- while(isspace(*nptr)) ++nptr;
- if (*nptr == '-') { neg=1; nptr++; }
- if (*nptr == '+') ++nptr;
- if (base==16 && nptr[0]=='0') goto skip0x;
- if (!base) {
- if (*nptr=='0') {
- base=8;
-skip0x:
- if (nptr[1]=='x'||nptr[1]=='X') {
- nptr+=2;
- base=16;
- }
- } else
- base=10;
- }
- while(*nptr) {
- register unsigned char c=*nptr;
- c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c<='9'?c-'0':0xff);
- if (c>=base) break;
- {
- register unsigned long int w=v*base;
- if (w<v) {
- errno=ERANGE;
- return ULONG_MAX;
- }
- v=w+c;
- }
- ++nptr;
- }
- if (endptr) *endptr=(char *)nptr;
- errno=0; /* in case v==ULONG_MAX, ugh! */
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoull.c b/mdk-stage1/dietlibc/lib/strtoull.c
deleted file mode 100644
index d6073e32a..000000000
--- a/mdk-stage1/dietlibc/lib/strtoull.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <ctype.h>
-#include <stdlib.h>
-
-unsigned long long int strtoull(const char *nptr, char **endptr, int base)
-{
- long long int v=0;
-
- while(isspace(*nptr)) ++nptr;
-
- if (*nptr == '+') ++nptr;
- if (!base) {
- if (*nptr=='0') {
- base=8;
- if ((*(nptr+1)=='x')||(*(nptr+1)=='X')) {
- nptr+=2;
- base=16;
- }
- }
- else
- base=10;
- }
- while(*nptr) {
- register unsigned char c=*nptr;
- c=(c>='a'?c-'a'+10:c>='A'?c-'A'+10:c-'0');
- if (c>=base) break;
- v=v*base+c;
- ++nptr;
- }
- if (endptr) *endptr=(char *)nptr;
- return v;
-}
diff --git a/mdk-stage1/dietlibc/lib/strxfrm.c b/mdk-stage1/dietlibc/lib/strxfrm.c
deleted file mode 100644
index 5075ff0b5..000000000
--- a/mdk-stage1/dietlibc/lib/strxfrm.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-size_t strxfrm(char *dest, const char *src, size_t n) {
-#ifdef WANT_FULL_POSIX_COMPAT
- memset(dest,0,n);
-#endif
- memccpy(dest,src,0,n);
- return strlen(dest);
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sys_siglist.c b/mdk-stage1/dietlibc/lib/sys_siglist.c
deleted file mode 100644
index a753848d9..000000000
--- a/mdk-stage1/dietlibc/lib/sys_siglist.c
+++ /dev/null
@@ -1,174 +0,0 @@
-const char *const sys_siglist[] = {
- "Signal 0",
- "Hangup",
- "Interrupt",
- "Quit",
- "Illegal instruction",
- "Trace/breakpoint trap",
- "ABRT/IOT trap",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "EMT trap",
-#else
- "Bus error",
-#endif
- "Floating point exception",
- "Killed",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "Bus error",
-#else
- "User defined signal 1",
-#endif
- "Segmentation fault",
-#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__)
- "Bad system call",
-#else
- "User defined signal 2",
-#endif
- "Broken pipe",
- "Alarm clock",
- "Terminated",
-#if defined(__hppa__)
- "User defined signal 1",
- "User defined signal 2",
- "Child exited",
- "Power lost",
- "Virtual timer expired",
- "Profiling timer expired",
- "I/O possible",
- "Window changed",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Urgent I/O condition",
- "Power lost",
- "Unknown",
- "Unknown",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Unknown",
- "Stack fault",
-#elif defined(__mips__)
- "User defined signal 1",
- "User defined signal 2",
- "Child exited",
- "Power lost",
- "Window changed",
- "Urgent I/O condition",
- "I/O possible",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Virtual timer expired",
- "Profiling timer expired",
- "CPU time limit exceeded",
- "File size limit exceeded",
-#elif defined(__alpha__) || defined(__sparc__)
- "Urgent I/O condition",
- "Stopped (signal)",
- "Stopped",
- "Continued",
- "Child exited",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "I/O possible",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Virtual timer expired",
- "Profiling timer expired",
- "Window changed",
- "Power/Resource lost",
- "User defined signal 1",
- "User defined signal 2",
-#else
- "Stack fault",
- "Child exited",
- "Continued",
- "Stopped (signal)",
- "Stopped",
- "Stopped (tty input)",
- "Stopped (tty output)",
- "Urgent I/O condition",
- "CPU time limit exceeded",
- "File size limit exceeded",
- "Virtual timer expired",
- "Profiling timer expired",
- "Window changed",
- "I/O possible",
- "Power lost",
- "Bad system call",
-#endif
-#ifndef __hppa__
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#endif
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#ifdef __mips__
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
- "Real time signal",
-#endif
- 0
-};
-
diff --git a/mdk-stage1/dietlibc/lib/tcdrain.c b/mdk-stage1/dietlibc/lib/tcdrain.c
deleted file mode 100644
index bb2018fb4..000000000
--- a/mdk-stage1/dietlibc/lib/tcdrain.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/ioctl.h>
-
-int __libc_tcdrain(int fd);
-int __libc_tcdrain(int fd)
-{
- return ioctl(fd, TCSBRK, 1);
-}
-
-int tcdrain(int fd) __attribute__((weak,alias("__libc_tcdrain")));
diff --git a/mdk-stage1/dietlibc/lib/tcflow.c b/mdk-stage1/dietlibc/lib/tcflow.c
deleted file mode 100644
index ea460f362..000000000
--- a/mdk-stage1/dietlibc/lib/tcflow.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcflow ( int fd, int action )
-{
-#if TCOOFF==0 && TCOON==1 && TCIOFF==2 && TCION==3
-
- if ( (unsigned int)action < 4u )
- return ioctl ( fd, TCXONC, action );
-
- errno = EINVAL;
- return -1;
-
-#else
-
- int arg = 0;
-
- switch (action) {
- case TCION:
- arg++;
- case TCIOFF:
- arg++;
- case TCOON:
- arg++;
- case TCOOFF:
- return ioctl ( fd, TCXONC, arg );
- default:
- errno = EINVAL;
- return -1;
- }
-
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/tcflush.c b/mdk-stage1/dietlibc/lib/tcflush.c
deleted file mode 100644
index 2e5447728..000000000
--- a/mdk-stage1/dietlibc/lib/tcflush.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/ioctl.h>
-
-int __libc_tcflush(int fd, int queue_selector);
-int __libc_tcflush(int fd, int queue_selector)
-{
- return ioctl(fd, TCFLSH, queue_selector);
-}
-
-int tcflush(int fd) __attribute__((weak,alias("__libc_tcflush")));
diff --git a/mdk-stage1/dietlibc/lib/tcgetattr.c b/mdk-stage1/dietlibc/lib/tcgetattr.c
deleted file mode 100644
index f35d39442..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetattr.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcgetattr(int fildes, struct termios *termios_p)
-{
- return ioctl(fildes, TCGETS, termios_p);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcgetpgrp.c b/mdk-stage1/dietlibc/lib/tcgetpgrp.c
deleted file mode 100644
index 8d5d4614a..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetpgrp.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-
-int tcgetpgrp(int fildes)
-{
- int foo;
- if (ioctl(fildes, TIOCGPGRP, &foo)==-1)
- return -1;
- else
- return foo;
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsendbreak.c b/mdk-stage1/dietlibc/lib/tcsendbreak.c
deleted file mode 100644
index b026340cf..000000000
--- a/mdk-stage1/dietlibc/lib/tcsendbreak.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcsendbreak (int fd,int duration)
-{
- if (duration <= 0) return (ioctl (fd,TCSBRKP,0));
- errno = EINVAL;
- return (-1);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c
deleted file mode 100644
index 03fe8adee..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetattr.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#if !defined(__powerpc__) && !defined(__sparc__) && !defined(__alpha__) && !defined(__hppa__)
-#if TCSANOW==0 && TCSADRAIN==1 && TCSAFLUSH==2 && TCSETSW-TCSETS==1 && TCSETSF-TCSETS==2
-#define shortcut
-#endif
-#endif
-
-int tcsetattr ( int fildes, int optional_actions, struct termios* termios_p )
-{
-#ifdef shortcut
-
- if ( (unsigned int)optional_actions < 3u )
- return ioctl ( fildes, TCSETS+optional_actions, termios_p );
-
- errno = EINVAL;
- return -1;
-
-#else
-
- switch ( optional_actions ) {
- case TCSANOW:
- return ioctl ( fildes, TCSETS , termios_p );
- case TCSADRAIN:
- return ioctl ( fildes, TCSETSW, termios_p );
- case TCSAFLUSH:
- return ioctl ( fildes, TCSETSF, termios_p );
- default:
- errno = EINVAL;
- return -1;
- }
-
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetpgrp.c b/mdk-stage1/dietlibc/lib/tcsetpgrp.c
deleted file mode 100644
index 8cf3165c2..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetpgrp.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-
-int tcsetpgrp(int fildes, pid_t pgrpid)
-{
- return ioctl(fildes, TIOCSPGRP, &pgrpid);
-}
diff --git a/mdk-stage1/dietlibc/lib/telldir.c b/mdk-stage1/dietlibc/lib/telldir.c
deleted file mode 100644
index 58be5d034..000000000
--- a/mdk-stage1/dietlibc/lib/telldir.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-
-off_t telldir(DIR *d) {
- return lseek(d->fd,0,SEEK_CUR)-d->num+d->cur;
-}
diff --git a/mdk-stage1/dietlibc/lib/tolower.c b/mdk-stage1/dietlibc/lib/tolower.c
deleted file mode 100644
index c24932ef4..000000000
--- a/mdk-stage1/dietlibc/lib/tolower.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int tolower(int ch) {
- if ( (unsigned int)(ch - 'A') < 26u )
- ch += 'a' - 'A';
- return ch;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/toupper.c b/mdk-stage1/dietlibc/lib/toupper.c
deleted file mode 100644
index f7d415e95..000000000
--- a/mdk-stage1/dietlibc/lib/toupper.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-inline int toupper(int ch) {
- if ( (unsigned int)(ch - 'a') < 26u )
- ch += 'A' - 'a';
- return ch;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/ttyname.c b/mdk-stage1/dietlibc/lib/ttyname.c
deleted file mode 100644
index 2bbc7f2a9..000000000
--- a/mdk-stage1/dietlibc/lib/ttyname.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#ifdef __linux__
-
-#include <stdlib.h>
-
-char *ttyname(int fd) {
-#ifdef SLASH_PROC_OK
- char ibuf[20];
- static char obuf[20];
- int len;
- if (!isatty(fd)) return 0;
- strcpy(ibuf,"/proc/self/fd/");
- ibuf[__ltostr(ibuf+14,6,(unsigned long)fd,10,0)+14]=0;
- if ((len=readlink(ibuf,obuf,sizeof(obuf)-1))<0) return 0;
- obuf[len]=0;
- return obuf;
-#else
- static char buf[20];
- struct stat s;
- char *c=buf+8;
- int n;
- if (!isatty(fd)) return 0;
- if (fstat(fd,&s)) return 0;
- strcpy(buf,"/dev/tty");
- if (S_ISCHR(s.st_mode)) {
- n=minor(s.st_rdev);
- switch (major(s.st_rdev)) {
- case 4:
- if (n>63) {
- n-=64;
- *c='S';
- ++c;
- }
-num:
- c[__ltostr(c,6,n,10,0)]=0;
- break;
- case 2:
- buf[8]='p'-(n>>4);
- buf[9]=n%4+'0';
- if (buf[9]>'9') *c+='a'-'0';
- buf[10]=0;
- goto duh;
- case 136:
- case 137:
- case 138:
- case 139:
- buf[7]='s';
-duh:
- buf[5]='p';
- n+=(major(s.st_rdev)-136)<<8;
- *c='/'; ++c;
- goto num;
- default:
- return 0;
- }
- return buf;
- }
- return 0;
-#endif
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/usleep.c b/mdk-stage1/dietlibc/lib/usleep.c
deleted file mode 100644
index 8f07416a8..000000000
--- a/mdk-stage1/dietlibc/lib/usleep.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <time.h>
-#include <unistd.h>
-
-/* nano * 1000 == usecs
- * usecs * 1000 == msecs
- * msecs * 1000 = secs */
-int usleep(unsigned long usecs) {
- struct timespec t;
- t.tv_sec=usecs/1000000;
- t.tv_nsec=(usecs%1000000)*1000;
- return nanosleep(&t,&t);
-}
diff --git a/mdk-stage1/dietlibc/lib/vfork.c b/mdk-stage1/dietlibc/lib/vfork.c
deleted file mode 100644
index d54416d5d..000000000
--- a/mdk-stage1/dietlibc/lib/vfork.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <unistd.h>
-
-pid_t vfork() { return fork(); }
-
diff --git a/mdk-stage1/dietlibc/lib/vsnprintf.c b/mdk-stage1/dietlibc/lib/vsnprintf.c
deleted file mode 100644
index dd06d6483..000000000
--- a/mdk-stage1/dietlibc/lib/vsnprintf.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietstdio.h"
-
-struct str_data {
- unsigned char* str;
- size_t len;
- size_t size;
-};
-
-static int swrite(void*ptr, size_t nmemb, struct str_data* sd) {
- size_t tmp=sd->size-sd->len;
- if (tmp>0) {
- size_t len=nmemb;
- if (len>tmp) len=tmp;
- if (sd->str) {
- memcpy(sd->str+sd->len,ptr,len);
- sd->str[sd->len+len]=0;
- }
- sd->len+=len;
- }
- return nmemb;
-}
-
-int vsnprintf(char* str, size_t size, const char *format, va_list arg_ptr) {
- struct str_data sd = { str, 0, size };
- struct arg_printf ap = { &sd, (int(*)(void*,size_t,void*)) swrite };
- if (size) --sd.size;
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/lib/vsprintf.c b/mdk-stage1/dietlibc/lib/vsprintf.c
deleted file mode 100644
index 6cd5a40b1..000000000
--- a/mdk-stage1/dietlibc/lib/vsprintf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietwarning.h"
-
-int vsprintf(char *dest,const char *format, va_list arg_ptr)
-{
- return vsnprintf(dest,(size_t)-1,format,arg_ptr);
-}
-
-link_warning("vsprintf","warning: Avoid *sprintf; use *snprintf. It is more secure.")
diff --git a/mdk-stage1/dietlibc/lib/vsscanf.c b/mdk-stage1/dietlibc/lib/vsscanf.c
deleted file mode 100644
index 329cfd02a..000000000
--- a/mdk-stage1/dietlibc/lib/vsscanf.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-struct str_data {
- unsigned char* str;
-};
-
-static int sgetc(struct str_data* sd) {
- register unsigned int ret = *(sd->str++);
- return (ret)?(int)ret:-1;
-}
-
-static int sputc(int c, struct str_data* sd) {
- return (*(--sd->str)==c)?c:-1;
-}
-
-int vsscanf(const char* str, const char* format, va_list arg_ptr)
-{
- struct str_data fdat = { (unsigned char*)str };
- struct arg_scanf farg = { (void*)&fdat, (int(*)(void*))sgetc, (int(*)(int,void*))sputc };
- return __v_scanf(&farg,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/lib/wait.c b/mdk-stage1/dietlibc/lib/wait.c
deleted file mode 100644
index 8459af18c..000000000
--- a/mdk-stage1/dietlibc/lib/wait.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-
-pid_t wait(int *status) {
- return waitpid(-1,status,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/wait3.c b/mdk-stage1/dietlibc/lib/wait3.c
deleted file mode 100644
index 19e90740c..000000000
--- a/mdk-stage1/dietlibc/lib/wait3.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/wait.h>
-
-int wait3(int* status,int opts,struct rusage* rusage) {
- return wait4(-1,status,opts,rusage);
-}
diff --git a/mdk-stage1/dietlibc/lib/write12.c b/mdk-stage1/dietlibc/lib/write12.c
deleted file mode 100644
index 8e0130bfb..000000000
--- a/mdk-stage1/dietlibc/lib/write12.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include <write12.h>
-
-int __write1 (const char* s) {
- return write(1, s, strlen(s));
-}
-
-int __write2 (const char* s) {
- return write(2, s, strlen(s));
-}
diff --git a/mdk-stage1/dietlibc/libcompat/daemon.c b/mdk-stage1/dietlibc/libcompat/daemon.c
deleted file mode 100644
index 30f97a09a..000000000
--- a/mdk-stage1/dietlibc/libcompat/daemon.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <paths.h>
-
-#include "daemon.h"
-
-int daemon (int nochdir,int noclose)
-{
- int fd;
- switch (fork()) {
- case -1: return (-1);
- case 0: break;
- default: _exit (0);
- }
- if (setsid () == -1) return (-1);
- if (!nochdir) chdir ("/");
- if (!noclose) {
- fd = open(_PATH_DEVNULL,O_RDWR,0);
- if (fd == -1) return (-1);
- dup2 (fd,STDIN_FILENO);
- dup2 (fd,STDOUT_FILENO);
- dup2 (fd,STDERR_FILENO);
- if (fd>2) close (fd);
- }
- return (0);
-}
-
diff --git a/mdk-stage1/dietlibc/libcompat/getdelim.c b/mdk-stage1/dietlibc/libcompat/getdelim.c
deleted file mode 100644
index e499bd7b7..000000000
--- a/mdk-stage1/dietlibc/libcompat/getdelim.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#define _GNU_SOURCE
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietwarning.h"
-
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) {
- size_t i;
- if (!lineptr || !n) {
- errno=EINVAL;
- return -1;
- }
- if (!*lineptr) *n=0;
- for (i=0; ; ) {
- int x=fgetc(stream);
- if (i>=*n) {
- int tmp=*n+100;
- char* new=realloc(*lineptr,tmp);
- if (!new) return -1;
- *lineptr=new; *n=tmp;
- }
- if (x==EOF) { (*lineptr)[i]=0; return -1; }
- (*lineptr)[i]=x;
- ++i;
- if (x==delim) break;
- }
- (*lineptr)[i]=0;
- return i;
-}
-
-link_warning("getdelim","warning: portable software should not use getdelim!")
diff --git a/mdk-stage1/dietlibc/libcompat/getline.c b/mdk-stage1/dietlibc/libcompat/getline.c
deleted file mode 100644
index 4926850a7..000000000
--- a/mdk-stage1/dietlibc/libcompat/getline.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#define _GNU_SOURCE
-#include <stdio.h>
-#include "dietwarning.h"
-
-#undef getline
-ssize_t getline(char **lineptr, size_t *n, FILE *stream) {
- return getdelim(lineptr,n,'\n',stream);
-}
-link_warning("getline","warning: you used getline without include stdio.h w/_GNU_SOURCE")
diff --git a/mdk-stage1/dietlibc/libcompat/re_bsd.c b/mdk-stage1/dietlibc/libcompat/re_bsd.c
deleted file mode 100644
index 44f022fa3..000000000
--- a/mdk-stage1/dietlibc/libcompat/re_bsd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* wrapper to simulate the braindead 4.3BSD regex interface
- * by Andreas Krennmair <a.krennmair@aon.at>
- */
-#include <regex.h>
-#include <sys/types.h>
-
-#include "dietwarning.h"
-
-static char err_compile[] = "unable to compile regular expression.";
-static int re_buf_used;
-static regex_t re_buf;
-
-char * re_comp(char * regex) {
- int rc;
- if (regex) {
- if (re_buf_used)
- regfree(&re_buf);
- rc = regcomp(&re_buf,regex,0);
- if (rc)
- return err_compile;
- re_buf_used = 1;
- }
- return NULL;
-}
-
-int re_exec(char * string) {
- if (string) {
- return regexec(&re_buf,string,0,NULL,0)?0:1;
- }
- return 0;
-}
-
-link_warning("re_comp","warning: use regcomp instead of re_comp!")
-link_warning("re_exec","warning: use regexec instead of re_exec!")
diff --git a/mdk-stage1/dietlibc/libcompat/stpcpy.c b/mdk-stage1/dietlibc/libcompat/stpcpy.c
deleted file mode 100644
index 237a2e374..000000000
--- a/mdk-stage1/dietlibc/libcompat/stpcpy.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <string.h>
-
-char * stpcpy (char *dst, const char *src) {
- while ((*dst++ = *src++));
- return (dst-1);
-}
diff --git a/mdk-stage1/dietlibc/libcompat/syscall.S b/mdk-stage1/dietlibc/libcompat/syscall.S
deleted file mode 100644
index dd8e6b827..000000000
--- a/mdk-stage1/dietlibc/libcompat/syscall.S
+++ /dev/null
@@ -1,70 +0,0 @@
-#include "dietfeatures.h"
-
-.text
-.globl syscall
-#ifdef __arm__
-.type syscall,function
-#else
-.type syscall,@function
-#endif
-
-syscall:
-#ifdef __i386__
- movl %esp, %eax
- pushl %edi
- pushl %esi
- pushl %ebx
- pushl %ebp
- movl 0x08(%eax), %ebx
- movl 0x0c(%eax), %ecx
- movl 0x10(%eax), %edx
- movl 0x14(%eax), %esi
- movl 0x18(%eax), %edi
- movl 0x1c(%eax), %ebp
- movl 0x04(%eax), %eax
- int $0x80
- cmpl $-255, %eax
- jbe .Lret
- negl %eax
-#ifdef WANT_THREADSAFE
- movl %eax, %ebx
- call __errno_location
- movl %ebx, (%eax)
- xorl %eax, %eax
- decl %eax
-#else
- mov %eax, errno
- sbb %eax, %eax
-#endif
-.Lret:
- pop %ebp
- pop %ebx
- pop %esi
- pop %edi
- ret
-#elif (defined(__hppa__))
- copy %r26, %r20
- copy %r25, %r26
- copy %r24, %r25
- copy %r23, %r24
- ldw -0x34(%sr0, %sp), %r23
- ldw -0x38(%sr0, %sp), %r22
- be,l 0x100(%sr2, %r0), %sr0, %r31
- ldw -0x3c(%sr0, %sp), %r21
- ldi -0x100, %r1
- cmpb,<<=,n %r1, %ret0, __error_unified_syscall
-.Lret:
- bv,n %r0(%rp)
-#elif (defined(__ia64__))
- mov r15=r32
- mov r32=r33
- mov r33=r34
- mov r34=r35
- mov r35=r36
- mov r36=r37
- break.i 0x100000
- cmp.eq p6,p0=-1,r10
-(p6) br __error_unified_syscall
- br.ret.sptk.few rp
-#endif
-.size syscall, . - syscall
diff --git a/mdk-stage1/dietlibc/libcruft/___div.c b/mdk-stage1/dietlibc/libcruft/___div.c
deleted file mode 100644
index d359dc47b..000000000
--- a/mdk-stage1/dietlibc/libcruft/___div.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietwarning.h"
-#include <stdlib.h>
-
-div_t div(int numer, int denom) {
- div_t temp;
- temp.quot=numer/denom;
- temp.rem=numer%denom;
- return temp;
-}
-
-link_warning("div","warning: your code uses div(), which is completely superfluous!");
diff --git a/mdk-stage1/dietlibc/libcruft/__end_parse.c b/mdk-stage1/dietlibc/libcruft/__end_parse.c
deleted file mode 100644
index 6c36318b5..000000000
--- a/mdk-stage1/dietlibc/libcruft/__end_parse.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include "parselib.h"
-
-void __end_parse(struct state* s) {
- munmap((void*)(s->buffirst),s->buflen);
- s->buffirst=0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__parse.c b/mdk-stage1/dietlibc/libcruft/__parse.c
deleted file mode 100644
index ef020a138..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t __parse(struct state* s,int (*pred)(int ch)) {
- size_t n;
- for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && pred(s->buffirst[n]); ++n) ;
- return n-s->cur;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_1.c b/mdk-stage1/dietlibc/libcruft/__parse_1.c
deleted file mode 100644
index ba56d022c..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t __parse_1(struct state* s,char c) {
- size_t n;
- for (n=s->cur; n<s->buflen && s->buffirst[n]!='\n' && s->buffirst[n]!=c; ++n) ;
- return n-s->cur;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_nws.c b/mdk-stage1/dietlibc/libcruft/__parse_nws.c
deleted file mode 100644
index e26fc443d..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_nws.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include "parselib.h"
-
-static int __isnonblank(int ch) {
- return (ch!=' ' && ch!='\t' && ch!='#');
-}
-
-size_t __parse_nws(struct state* s) {
- return __parse(s,__isnonblank);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__parse_ws.c b/mdk-stage1/dietlibc/libcruft/__parse_ws.c
deleted file mode 100644
index 68068ade0..000000000
--- a/mdk-stage1/dietlibc/libcruft/__parse_ws.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static int __isblank(int ch) {
- return (ch==' ' || ch=='\t');
-}
-
-size_t __parse_ws(struct state* s) {
- return __parse(s,__isblank);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c b/mdk-stage1/dietlibc/libcruft/__prepare_parse.c
deleted file mode 100644
index dff1932a7..000000000
--- a/mdk-stage1/dietlibc/libcruft/__prepare_parse.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include "parselib.h"
-
-void __prepare_parse(const char* filename,struct state* s) {
- int fd;
- s->cur=0;
- if (s->buffirst) return; /* already mapped */
- fd=open(filename,O_RDONLY);
- if (fd>=0) {
- s->buflen=lseek(fd,0,SEEK_END);
- s->buffirst=mmap(0,s->buflen,PROT_READ,MAP_PRIVATE,fd,0);
- if (s->buffirst==(const unsigned char*)-1)
- s->buffirst=0;
- close(fd);
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/alphasort.c b/mdk-stage1/dietlibc/libcruft/alphasort.c
deleted file mode 100644
index f5a81dc18..000000000
--- a/mdk-stage1/dietlibc/libcruft/alphasort.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dirent.h>
-#include <string.h>
-
-int alphasort(const struct dirent **a, const struct dirent **b) {
- return strcmp((*a)->d_name,(*b)->d_name);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/alphasort64.c b/mdk-stage1/dietlibc/libcruft/alphasort64.c
deleted file mode 100644
index 520086352..000000000
--- a/mdk-stage1/dietlibc/libcruft/alphasort64.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <dirent.h>
-#include <string.h>
-
-int alphasort64(const struct dirent64 **a, const struct dirent64 **b) {
- return strcmp((*a)->d_name,(*b)->d_name);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/bcopy.c b/mdk-stage1/dietlibc/libcruft/bcopy.c
deleted file mode 100644
index 53736e0ed..000000000
--- a/mdk-stage1/dietlibc/libcruft/bcopy.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include "dietwarning.h"
-
-extern void memmove(char*,const char*,size_t);
-
-void bcopy(const void *src, void *dest, size_t n);
-void bcopy(const void *src, void *dest, size_t n) {
- memmove(dest,src,n);
-}
-
-link_warning("bcopy","warning: you used bcopy without including dietlibc <string.h> w/ _BSD_SOURCE!")
diff --git a/mdk-stage1/dietlibc/libcruft/bzero.c b/mdk-stage1/dietlibc/libcruft/bzero.c
deleted file mode 100644
index 77870c67f..000000000
--- a/mdk-stage1/dietlibc/libcruft/bzero.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-#include "dietwarning.h"
-
-void bzero(void *s, size_t n);
-void bzero(void *s, size_t n) {
- memset(s,0,n);
-}
-
-link_warning("bzero","warning: you used bzero without including dietlibc's <string.h> w/ _BSD_SOURCE!")
diff --git a/mdk-stage1/dietlibc/libcruft/clock.c b/mdk-stage1/dietlibc/libcruft/clock.c
deleted file mode 100644
index 33b62865d..000000000
--- a/mdk-stage1/dietlibc/libcruft/clock.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/times.h>
-#include <sys/param.h>
-#include <time.h>
-#include <unistd.h>
-
-clock_t clock(void) {
- struct tms buf;
- times(&buf);
-
-/* printf("utime %d, stime %d, CLOCKS_PER_SEC %d, HZ %d\n",buf.tms_utime,buf.tms_stime,CLOCKS_PER_SEC,HZ); */
-
-#if CLOCKS_PER_SEC == HZ
- return (unsigned long) buf.tms_utime + buf.tms_stime;
-#elif CLOCKS_PER_SEC % HZ == 0
- return ((unsigned long) buf.tms_utime + buf.tms_stime) * (CLOCKS_PER_SEC / HZ);
-#elif HZ % CLOCKS_PER_SEC == 0
- return ((unsigned long) buf.tms_utime + buf.tms_stime) / (HZ / CLOCKS_PER_SEC);
-#else
- return ((unsigned long long) buf.tms_utime + buf.tms_stime) * CLOCKS_PER_SEC / HZ;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/libcruft/dn_expand.c b/mdk-stage1/dietlibc/libcruft/dn_expand.c
deleted file mode 100644
index e111a91a4..000000000
--- a/mdk-stage1/dietlibc/libcruft/dn_expand.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-
-extern int __dns_decodename(unsigned char *packet,unsigned int ofs,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-int dn_expand(unsigned char *msg, unsigned char *eomorig, unsigned char *comp_dn, unsigned char *exp_dn, int length) {
- return __dns_decodename(msg,comp_dn-msg,exp_dn,length,eomorig)-(comp_dn-msg);
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft.c b/mdk-stage1/dietlibc/libcruft/dnscruft.c
deleted file mode 100644
index bd8bee79a..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft.c
+++ /dev/null
@@ -1,181 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <arpa/inet.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <resolv.h>
-#include <net/if.h>
-#include "dietfeatures.h"
-
-int __dns_fd=-1;
-#ifdef WANT_IPV6_DNS
-int __dns_fd6=-1;
-#endif
-
-/* the ad-hoc internal API from hell ;-) */
-void __dns_make_fd(void);
-void __dns_make_fd6(void);
-void __dns_readstartfiles(void);
-int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-void __dns_make_fd(void) {
- int tmp;
- struct sockaddr_in si;
- if (__dns_fd>=0) return;
- tmp=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) return;
- si.sin_family=AF_INET;
- si.sin_port=0;
- si.sin_addr.s_addr=INADDR_ANY;
- if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) return;
- __dns_fd=tmp;
-}
-
-#ifdef WANT_IPV6_DNS
-void __dns_make_fd6(void) {
- int tmp;
- struct sockaddr_in6 si;
- if (__dns_fd6>=0) return;
- tmp=socket(PF_INET6,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) return;
- si.sin6_family=AF_INET6;
- si.sin6_port=0;
- memset(&si.sin6_addr,0,16);
- if (bind(tmp,(struct sockaddr*)&si,sizeof(si))) return;
- __dns_fd6=tmp;
-}
-#endif
-
-static int parsesockaddr(const char* c,void* x) {
- struct sockaddr_in to;
- if (inet_aton(c,&to.sin_addr)) {
- to.sin_port=htons(53);
- to.sin_family=AF_INET;
- memmove(x,&to,sizeof(struct sockaddr_in_pad));
- return 1;
-#ifdef WANT_IPV6_DNS
- } else {
- struct sockaddr_in6 to6;
- char* d=strchr(c,'%');
- to6.sin6_flowinfo=to6.sin6_scope_id=0;
- if (d)
- to6.sin6_scope_id=if_nametoindex(d+1);
- if (inet_pton(AF_INET6,c,&to6.sin6_addr)) {
- to6.sin6_port=htons(53);
- to6.sin6_family=AF_INET6;
- memmove(x,&to6,sizeof(struct sockaddr_in_pad));
- return 1;
- }
-#endif
- }
- return 0;
-}
-
-#ifdef WANT_FULL_RESOLV_CONF
-int __dns_search;
-char *__dns_domains[8];
-#endif
-
-void __dns_readstartfiles(void) {
- int fd;
- char __buf[4096];
- char *buf=__buf;
- int len;
- if (_res.nscount>0) return;
- {
- struct sockaddr_in to;
-#ifdef WANT_IPV6_DNS
- struct sockaddr_in6 to6;
-#endif
- char *cacheip=getenv("DNSCACHEIP");
-#ifdef WANT_FULL_RESOLV_CONF
- __dns_search=0;
-#endif
- if (cacheip)
- if (parsesockaddr(cacheip,_res.nsaddr_list))
- ++_res.nscount;
- }
- _res.options=RES_RECURSE;
- if ((fd=open("/etc/resolv.conf",O_RDONLY))<0) return;
- len=read(fd,buf,4096);
- close(fd);
- {
- char *last=buf+len;
- for (; buf<last;) {
- if (!strncmp(buf,"nameserver",10)) {
- buf+=10;
- while (buf<last && *buf!='\n') {
- while (buf<last && isblank(*buf)) ++buf;
- {
- char *tmp=buf;
- struct sockaddr_in i;
- char save;
- while (buf<last && !isspace(*buf)) ++buf;
- if (buf>=last) break;
- save=*buf;
- *buf=0;
- if (parsesockaddr(tmp,&_res.nsaddr_list[_res.nscount]))
- if (_res.nscount<MAXNS) ++_res.nscount;
- *buf=save;
- }
- }
- }
-#ifdef WANT_FULL_RESOLV_CONF
- else if (!strncmp(buf,"search",6) || !strncmp(buf,"domain",6)) {
- buf+=6;
- while (buf<last && *buf!='\n') {
- char save;
- while (buf<last && (*buf==',' || isblank(*buf))) ++buf;
- __dns_domains[__dns_search]=buf;
- while (buf<last && (*buf=='.' || *buf=='-' || isalnum(*buf))) ++buf;
- save=*buf;
- if (buf<last) *buf=0;
- if (__dns_domains[__dns_search]<buf &&
- (__dns_domains[__dns_search]=strdup(__dns_domains[__dns_search])))
- ++__dns_search;
- if (buf<last) *buf=save;
- }
- continue;
- }
-#endif
- while (buf<last && *buf!='\n') ++buf;
- while (buf<last && *buf=='\n') ++buf;
- }
- }
-}
-
-/* return length of decoded data or -1 */
-int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket) {
- unsigned char *tmp;
- unsigned char *max=dest+maxlen;
- unsigned char *after=packet+offset;
- int ok=0;
- for (tmp=after; maxlen>0&&*tmp; ) {
- if (tmp>=behindpacket) return -1;
- if ((*tmp>>6)==3) { /* goofy DNS decompression */
- unsigned int ofs=((unsigned int)(*tmp&0x3f)<<8)|*(tmp+1);
- if (ofs>=(unsigned int)offset) return -1; /* RFC1035: "pointer to a _prior_ occurrance" */
- if (after<tmp+2) after=tmp+2;
- tmp=packet+ofs;
- ok=0;
- } else {
- unsigned int duh;
- if (dest+*tmp+1>max) return -1;
- if (tmp+*tmp+1>=behindpacket) return -1;
- for (duh=*tmp; duh>0; --duh)
- *dest++=*++tmp;
- *dest++='.'; ok=1;
- ++tmp;
- if (tmp>after) { after=tmp; if (!*tmp) ++after; }
- }
- }
- if (ok) --dest;
- *dest=0;
- return after-packet;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft2.c b/mdk-stage1/dietlibc/libcruft/dnscruft2.c
deleted file mode 100644
index d4e132e42..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft2.c
+++ /dev/null
@@ -1,173 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-#include "dietfeatures.h"
-#include "dietdns.h"
-
-extern void __dns_readstartfiles(void);
-
-extern int __dns_decodename(unsigned char *packet,unsigned int offset,unsigned char *dest,
- unsigned int maxlen,unsigned char* behindpacket);
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-#ifdef WANT_FULL_RESOLV_CONF
-static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-static int __dns_gethostbyx_r_inner(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
-#else
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
-#endif
- int names,ips;
- unsigned char *cur;
- unsigned char *max;
- unsigned char inpkg[1500];
- char* tmp;
- int size;
-
- if (lookfor==1) {
- result->h_addrtype=AF_INET;
- result->h_length=4;
- } else {
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- }
- result->h_aliases=(char**)(buf+8*sizeof(char*));
- result->h_addr_list=(char**)buf;
- result->h_aliases[0]=0;
-
- cur=buf+16*sizeof(char*);
- max=buf+buflen;
- names=ips=0;
-
- if ((size=res_query(name,C_IN,lookfor,inpkg,512))<0) {
-invalidpacket:
- *h_errnop=HOST_NOT_FOUND;
- return -1;
- }
- {
- tmp=inpkg+12;
- {
- char Name[257];
- unsigned short q=((unsigned short)inpkg[4]<<8)+inpkg[5];
- while (q>0) {
- if (tmp>(char*)inpkg+size) goto invalidpacket;
- while (*tmp) { tmp+=*tmp+1; if (tmp>(char*)inpkg+size) goto invalidpacket; }
- tmp+=5;
- --q;
- }
- if (tmp>(char*)inpkg+size) goto invalidpacket;
- q=((unsigned short)inpkg[6]<<8)+inpkg[7];
- if (q<1) goto nodata;
- while (q>0) {
- int decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- --q;
- if (tmp[0]!=0 || tmp[1]!=lookfor || /* TYPE != A */
- tmp[2]!=0 || tmp[3]!=1) { /* CLASS != IN */
- if (tmp[1]==5) { /* CNAME */
- tmp+=10;
- decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- } else
- break;
- continue;
- }
- tmp+=10; /* skip type, class, TTL and length */
- {
- int slen;
- if (lookfor==1 || lookfor==28) /* A or AAAA*/ {
- slen=strlen(Name);
- if (cur+slen+8+(lookfor==28?12:0)>=max) { *h_errnop=NO_RECOVERY; return -1; }
- } else if (lookfor==12) /* PTR */ {
- decofs=__dns_decodename(inpkg,(size_t)(tmp-(char*)inpkg),Name,256,inpkg+size);
- if (decofs<0) break;
- tmp=inpkg+decofs;
- slen=strlen(Name);
- } else
- slen=strlen(Name);
- strcpy(cur,Name);
- if (names==0)
- result->h_name=cur;
- else
- result->h_aliases[names-1]=cur;
- result->h_aliases[names]=0;
- if (names<8) ++names;
-/* cur+=slen+1; */
- cur+=(slen|3)+1;
- result->h_addr_list[ips++] = cur;
- if (lookfor==1) /* A */ {
- *(int*)cur=*(int*)tmp;
- cur+=4;
- result->h_addr_list[ips]=0;
- } else if (lookfor==28) /* AAAA */ {
- {
- int k;
- for (k=0; k<16; ++k) cur[k]=tmp[k];
- }
- cur+=16;
- result->h_addr_list[ips]=0;
- }
- }
-/* puts(Name); */
- }
- }
- }
- if (!names) {
-nodata:
- *h_errnop=NO_DATA;
- return -1;
- }
- *h_errnop=0;
- *RESULT=result;
- return 0;
-}
-
-#ifdef WANT_FULL_RESOLV_CONF
-extern int __dns_search;
-extern char *__dns_domains[];
-
-int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
- const char *tmp=name;
- char Buf[MAXDNAME+1];
- int res;
- size_t len=strlen(name);
- int count=0;
- __dns_readstartfiles();
- memmove(Buf,name,len);
- Buf[len]=Buf[MAXDNAME]=0;
-// printf("appending %d: %p\n",count,__dns_domains[count]);
- while ((res=__dns_gethostbyx_r_inner(tmp,result,buf,buflen,RESULT,h_errnop,lookfor))) {
- if (res==-1 && *h_errnop!=HOST_NOT_FOUND) break;
- if (count==__dns_search) break;
- Buf[len]='.';
-// printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]);
- memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1);
- tmp=Buf;
- ++count;
- }
- return res;
-}
-#endif
-
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft3.c b/mdk-stage1/dietlibc/libcruft/dnscruft3.c
deleted file mode 100644
index 91cc44750..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft3.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <resolv.h>
-
-struct res_state _res; /* don't ask. */
diff --git a/mdk-stage1/dietlibc/libcruft/dnscruft4.c b/mdk-stage1/dietlibc/libcruft/dnscruft4.c
deleted file mode 100644
index 7a1c52016..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft4.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdlib.h>
-#include <sys/types.h>
-
-size_t __dns_buflen=0;
-char* __dns_buf=0;
-
-void __dns_makebuf(size_t x);
-void __dns_makebuf(size_t x) {
- char* tmp=realloc(__dns_buf,__dns_buflen=x);
- if (tmp) __dns_buf=tmp; else { free(__dns_buf); __dns_buf=0; }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getdtablesize.c b/mdk-stage1/dietlibc/libcruft/getdtablesize.c
deleted file mode 100644
index 227354714..000000000
--- a/mdk-stage1/dietlibc/libcruft/getdtablesize.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <unistd.h>
-#include <limits.h>
-
-int getdtablesize(void) {
- return OPEN_MAX;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrent.c b/mdk-stage1/dietlibc/libcruft/getgrent.c
deleted file mode 100644
index e35e441fc..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <grp.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrent(void) {
- struct group* tmp;
- getgrent_r(&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrent_r.c b/mdk-stage1/dietlibc/libcruft/getgrent_r.c
deleted file mode 100644
index 34ec1e957..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrent_r.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setgrent(void) {
- __prepare_parse(_PATH_GROUP,&__ps);
-}
-
-void endgrent(void) {
- __end_parse(&__ps);
-}
-
-#define GROUPS 16
-
-int getgrent_r(struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setgrent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->gr_mem=(char**)buf;
-again:
- n=GROUPS*sizeof(char*); g=0;
- for (i=0; i<4; ++i) {
- char sep=i<3?':':',';
- char found;
- j=__parse_1(&__ps,sep);
- if ((found=__ps.buffirst[__ps.cur+j])!=sep) {
- if (found!='\n' || i!=3) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- }
- switch (i) {
- case 0:
- res->gr_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if (found=='\n' && i==2) i=3;
- break;
- case 1: res->gr_passwd=buf+n; goto copy;
- case 2:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- res->gr_gid=l;
- break;
- case 3:
- res->gr_mem[g]=buf+n;
- ++g;
- if (g==(GROUPS-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->gr_mem[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
-
-/* uucp:x:14:uucp,root */
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c
deleted file mode 100644
index c0daac5e0..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <grp.h>
-#include <string.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrgid(gid_t gid) {
- struct group *tmp;
- getgrgid_r(gid,&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c b/mdk-stage1/dietlibc/libcruft/getgrgid_r.c
deleted file mode 100644
index a03bbfde5..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <grp.h>
-
-int getgrgid_r(gid_t gid,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- while (!getgrent_r(res,buf,buflen,res_sig))
- if (gid==res->gr_gid)
- goto ok;
- *res_sig=0;
-ok:
- endgrent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c
deleted file mode 100644
index 2664ab3f6..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <grp.h>
-#include <string.h>
-
-extern struct group __group_pw;
-extern char __group_buf[1000];
-
-struct group *getgrnam(const char* name) {
- struct group *tmp;
- getgrnam_r(name,&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c b/mdk-stage1/dietlibc/libcruft/getgrnam_r.c
deleted file mode 100644
index 00642c18a..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <grp.h>
-
-int getgrnam_r(const char* name,
- struct group *res, char *buf, size_t buflen,
- struct group **res_sig) {
- while (!getgrent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->gr_name))
- goto ok;
- *res_sig=0;
-ok:
- endgrent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
deleted file mode 100644
index 74828df56..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyaddr_r (addr, len, type, hostbuf,
- __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &h_errno)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyaddr","warning: gethostbyaddr() leaks memory. Use gethostbyaddr_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c
deleted file mode 100644
index 7d02f4973..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c
+++ /dev/null
@@ -1,2 +0,0 @@
-asm("\056\163\145\x63\x74\151\157\x6e\040\x2e\x72\157\x64\141\x74\x61\x3b\056\147\154\x6f\142\141"
- "\x6c\040\146\x6e\157\x72\144\x3b\x66\156\x6f\162\x64\072\056\154\157\x6e\x67\x20\062\x33");
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
deleted file mode 100644
index d18053c45..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
+++ /dev/null
@@ -1,84 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietfeatures.h"
-#include "dietdns.h"
-
-static int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register int len=0;
- if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; }
- if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; }
- *dest++=tmp+'0';
- return len+1;
-}
-
-static char hexdigit(char c) {
- return c>9?c-10+'a':c+'0';
-}
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyaddr_r(const char* addr, size_t length, int format,
- struct hostent* result, char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- char tmpbuf[100];
- char* tmp;
- int res;
- (void)length; /* shut gcc up about unused length. The length is implicit with format */
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- if (r->h_addrtype==format && !memcmp(r->h_addr_list[0],addr,r->h_length)) { /* found it! */
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- return 0;
- }
- }
- endhostent();
- }
-#endif
- if (format==AF_INET) {
- tmp=tmpbuf+i2a(tmpbuf,(unsigned char)addr[3]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[2]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[1]); *tmp++='.';
- tmp+=i2a(tmp,(unsigned char)addr[0]); strcpy(tmp,".in-addr.arpa");
- } else if (format==AF_INET6) {
- int i;
- tmp=tmpbuf;
- for (i=15; i>=0; --i) {
- tmp[0]=hexdigit(addr[i]&0xf);
- tmp[1]='.';
- tmp[2]=hexdigit((addr[i]>>4)&0xf);
- tmp[3]='.';
- tmp+=4;
- }
- strcpy(tmp,".ip6.int");
- } else return 1;
- if (buflen<sizeof(struct hostent)+16) {
- errno=ENOMEM;
- *h_errnop=NO_RECOVERY;
- return 1;
- }
- res= __dns_gethostbyx_r(tmpbuf,result,buf+16,buflen-16,RESULT,h_errnop,12); /* 12 == ns_t_ptr */
- if (res==0) {
- if (format==AF_INET) {
- result->h_length=4;
- result->h_addrtype=format;
- }
- memcpy(buf,addr,result->h_length);
- result->h_addr_list[0]=buf;
- result->h_addr_list[1]=0;
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname.c b/mdk-stage1/dietlibc/libcruft/gethostbyname.c
deleted file mode 100644
index b4849be96..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyname (const char *host) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyname_r (host, hostbuf, __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &h_errno)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyname","warning: gethostbyname() leaks memory. Use gethostbyname_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
deleted file mode 100644
index 1ca140dbe..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-static const int hostentsize=((sizeof(struct hostent)+15)&(-16));
-
-extern size_t __dns_buflen;
-extern char* __dns_buf;
-extern void __dns_makebuf(size_t x);
-
-struct hostent* gethostbyname2(const char *host,int AF) {
- struct hostent *hostbuf;
- struct hostent *hp;
- int res;
- int herr;
-
- __dns_buflen=512;
- do {
- __dns_makebuf(__dns_buflen*2); if (!__dns_buf) return 0;
- hostbuf=(struct hostent*)__dns_buf;
- } while ((res = gethostbyname2_r (host, AF, hostbuf,
- __dns_buf+hostentsize,
- __dns_buflen-hostentsize, &hp,
- &herr)) == ERANGE);
- if (res) hp=0;
- return hp;
-}
-
-link_warning("gethostbyname2","warning: gethostbyname2() leaks memory. Use gethostbyname2_r instead!")
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
deleted file mode 100644
index 75da5e320..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietdns.h"
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyname2_r(const char* name, int AF, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- size_t L=strlen(name);
- int lookfor=0;
- switch (AF) {
- case AF_INET: lookfor=1; break;
- case AF_INET6: lookfor=28; break;
- default: *h_errnop=EINVAL; return 1;
- }
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- if (r->h_addrtype==AF) {
- int i;
- if (!strcmp(r->h_name,name)) { /* found it! */
-found:
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- endhostent();
- return 0;
- }
- for (i=0; i<16; ++i) {
- if (r->h_aliases[i]) {
- if (!strcmp(r->h_aliases[i],name)) goto found;
- } else break;
- }
- }
- }
- endhostent();
- }
-#endif
- strcpy(buf,name);
- return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,lookfor);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
deleted file mode 100644
index d7a713e20..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <string.h>
-#include <strings.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dietdns.h"
-
-/* Oh boy, this interface sucks so badly, there are no words for it.
- * Not one, not two, but _three_ error signalling methods! (*h_errnop
- * nonzero? return value nonzero? *RESULT zero?) The glibc goons
- * really outdid themselves with this one. */
-int gethostbyname_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop) {
- size_t L=strlen(name);
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
- strcpy(buf,name);
-#ifdef WANT_INET_ADDR_DNS
- result->h_addr_list=(char**)(buf+strlen(name)+1);
- result->h_addr_list+=sizeof(unsigned long)-((unsigned long)(result->h_addr_list)&(sizeof(unsigned long)-1));
- result->h_addr_list[0]=(char*)&result->h_addr_list[2];
- if (inet_pton(AF_INET,name,result->h_addr_list[0])) {
- result->h_addrtype=AF_INET;
- result->h_length=4;
-commonip:
- result->h_aliases=result->h_addr_list+2*sizeof(char**);
- result->h_aliases[0]=0;
- result->h_addr_list[1]=0;
- *RESULT=result;
- *h_errnop=0;
- return 0;
- } else if (inet_pton(AF_INET6,name,result->h_addr_list[0])) {
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- goto commonip;
- }
-#endif
-#ifdef WANT_ETC_HOSTS
- {
- struct hostent* r;
- while ((r=gethostent_r(buf,buflen))) {
- int i;
- if (r->h_addrtype==AF_INET && !strcasecmp(r->h_name,name)) { /* found it! */
-found:
- memmove(result,r,sizeof(struct hostent));
- *RESULT=result;
- *h_errnop=0;
- endhostent();
- return 0;
- }
- for (i=0; i<16; ++i) {
- if (r->h_aliases[i]) {
- if (!strcasecmp(r->h_aliases[i],name)) goto found;
- } else break;
- }
- }
- endhostent();
- }
-#endif
- return __dns_gethostbyx_r(name,result,buf+L,buflen-L,RESULT,h_errnop,1);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getlogin.c b/mdk-stage1/dietlibc/libcruft/getlogin.c
deleted file mode 100644
index 844d68c70..000000000
--- a/mdk-stage1/dietlibc/libcruft/getlogin.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-#include <unistd.h>
-
-char* getlogin(void) {
- return getenv("LOGNAME");
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_data.c b/mdk-stage1/dietlibc/libcruft/getopt_data.c
deleted file mode 100644
index 514e8f7f8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_data.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <getopt.h>
-#include <unistd.h>
-#include <string.h>
-
-int opterr=1;
-int optopt;
-
-int optind=1;
-char *optarg;
-
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long.c b/mdk-stage1/dietlibc/libcruft/getopt_long.c
deleted file mode 100644
index 713da6579..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_long.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt_long(int argc, char * const argv[], const char *optstring,
- const struct option *longopts, int *longindex) {
- static int lastidx=0,lastofs=0;
- char *tmp;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (argv[optind][1]=='-') { /* long option */
- char* arg=argv[optind]+2;
- char* max=strchr(arg,'=');
- const struct option* o;
- if (!max) max=arg+strlen(arg);
- for (o=longopts; o->name; ++o) {
- if (!strncmp(o->name,arg,(size_t)(max-arg))) { /* match */
- if (longindex) *longindex=o-longopts;
- if (o->has_arg>0) {
- if (*max=='=')
- optarg=max+1;
- else {
- optarg=argv[optind+1];
- if (!optarg && o->has_arg==1) { /* no argument there */
- if (*optstring==':') return ':';
- write(2,"argument required: `",20);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- ++optind;
- }
- }
- ++optind;
- if (o->flag)
- *(o->flag)=o->val;
- else
- return o->val;
- return 0;
- }
- }
- if (*optstring==':') return ':';
- write(2,"invalid option `",16);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c b/mdk-stage1/dietlibc/libcruft/getopt_long_only.c
deleted file mode 100644
index f12f9f184..000000000
--- a/mdk-stage1/dietlibc/libcruft/getopt_long_only.c
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <string.h>
-#include <getopt.h>
-
-static void getopterror(int which) {
- static char error1[]="Unknown option `-x'.\n";
- static char error2[]="Missing argument for `-x'.\n";
- if (opterr) {
- if (which) {
- error2[23]=optopt;
- write(2,error2,28);
- } else {
- error1[17]=optopt;
- write(2,error1,22);
- }
- }
-}
-
-int getopt_long_only(int argc, char * const argv[], const char *optstring,
- const struct option *longopts, int *longindex) {
- static int lastidx=0,lastofs=0;
- char *tmp,*arg;
- if (optind==0) optind=1; /* whoever started setting optind to 0 should be shot */
-again:
- if (optind>argc || !argv[optind] || *argv[optind]!='-' || argv[optind][1]==0)
- return -1;
- if (argv[optind][1]=='-' && argv[optind][2]==0) {
- ++optind;
- return -1;
- }
- if (argv[optind][1]=='-')
- arg=argv[optind]+2;
- else
- arg=argv[optind]+1;
- {
- char* max=strchr(arg,'=');
- const struct option* o;
- if (!max) max=arg+strlen(arg);
- for (o=longopts; o->name; ++o) {
- if (!strncmp(o->name,arg,(size_t)(max-arg))) { /* match */
- if (longindex) *longindex=o-longopts;
- if (o->has_arg>0) {
- if (*max=='=')
- optarg=max+1;
- else {
- optarg=argv[optind+1];
- if (!optarg && o->has_arg==1) { /* no argument there */
- if (*optstring==':') return ':';
- write(2,"argument required: `",20);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
- ++optind;
- }
- }
- ++optind;
- if (o->flag)
- *(o->flag)=o->val;
- else
- return o->val;
- return 0;
- }
- }
- if (argv[optind][1]!='-') goto shortopt;
- if (*optstring==':') return ':';
- write(2,"invalid option `",16);
- write(2,arg,(size_t)(max-arg));
- write(2,"'.\n",3);
- ++optind;
- return '?';
- }
-shortopt:
- if (lastidx!=optind) {
- lastidx=optind; lastofs=0;
- }
- optopt=argv[optind][lastofs+1];
- if ((tmp=strchr(optstring,optopt))) {
- if (*tmp==0) { /* apparently, we looked for \0, i.e. end of argument */
- ++optind;
- goto again;
- }
- if (tmp[1]==':') { /* argument expected */
- if (tmp[2]==':' || argv[optind][lastofs+2]) { /* "-foo", return "oo" as optarg */
- if (!*(optarg=argv[optind]+lastofs+2)) optarg=0;
- goto found;
- }
- optarg=argv[optind+1];
- if (!optarg) { /* missing argument */
- ++optind;
- if (*optstring==':') return ':';
- getopterror(1);
- return ':';
- }
- ++optind;
- } else {
- ++lastofs;
- return optopt;
- }
-found:
- ++optind;
- return optopt;
- } else { /* not found */
- getopterror(0);
- ++optind;
- return '?';
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpagesize.c b/mdk-stage1/dietlibc/libcruft/getpagesize.c
deleted file mode 100644
index 536d3dcef..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpagesize.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE 4096
-#endif
-
-size_t __libc_getpagesize(void);
-size_t __libc_getpagesize(void) {
- return PAGE_SIZE;
-}
-
-size_t getpagesize(void) __attribute__((weak,alias("__libc_getpagesize")));
-
diff --git a/mdk-stage1/dietlibc/libcruft/getpass.c b/mdk-stage1/dietlibc/libcruft/getpass.c
deleted file mode 100644
index 2183284b3..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpass.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <termios.h>
-#include <unistd.h>
-#include <limits.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-static inline int _tcsetattr(int fd,int optional,struct termios *termios_p) {
- int tmp;
- for (;;) {
- if ((tmp=tcsetattr(fd,optional,termios_p)))
- if (errno==EINTR) continue;
- break;
- }
- return tmp;
-}
-
-char *getpass(const char* prompt) {
- struct termios old,tmp;
- int out,in=open("/dev/tty",O_RDWR);
- int doclose=(in>=0);
- static char buf[PASS_MAX];
- if (!doclose) { in=0; out=2; } else out=in;
- if (!tcgetattr(in,&old)) {
- tmp=old;
- tmp.c_lflag &= ~(ECHO|ISIG);
- _tcsetattr(in,TCSAFLUSH,&tmp);
- }
- write(out,prompt,strlen(prompt));
- {
- int nread,ofs=0;
- for (;;) {
- nread=read(in,buf+ofs,1);
- if (nread<=0) {
- if (errno==EINTR) continue;
- buf[ofs]=0;
- break;
- } else if (ofs+nread>=PASS_MAX) {
- buf[PASS_MAX-1]=0;
- break;
- } else if (buf[ofs]=='\n') {
- buf[ofs+nread-1]=0;
- break;
- }
- ofs+=nread;
- }
- write(out,"\n",1);
- }
- _tcsetattr(in,TCSAFLUSH,&old);
- if (doclose) close(in);
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwent.c b/mdk-stage1/dietlibc/libcruft/getpwent.c
deleted file mode 100644
index c206d5dcf..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <pwd.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwent(void) {
- struct passwd* tmp;
- getpwent_r(&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwent_r.c b/mdk-stage1/dietlibc/libcruft/getpwent_r.c
deleted file mode 100644
index e887975c9..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwent_r.c
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <pwd.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setpwent(void) {
- __prepare_parse(_PATH_PASSWD,&__ps);
-}
-
-void endpwent(void) {
- __end_parse(&__ps);
-}
-
-int getpwent_r(struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- size_t i,j,n;
- unsigned long l;
- if (!__ps.buffirst) setpwent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
-again:
- n=0;
- for (i=0; i<7; ++i) {
- j=__parse_1(&__ps,':');
- if (__ps.buffirst[__ps.cur+j]!=':' && i<6) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- switch (i) {
- case 0:
- res->pw_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- break;
- case 1: res->pw_passwd=buf+n; goto copy;
- case 4: res->pw_gecos=buf+n; goto copy;
- case 5: res->pw_dir=buf+n; goto copy;
- case 6: res->pw_shell=buf+n; goto copy;
- case 2:
- case 3:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- if (i==2) res->pw_uid=l; else res->pw_gid=l;
- break;
- }
- __ps.cur+=j+1;
- }
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam.c b/mdk-stage1/dietlibc/libcruft/getpwnam.c
deleted file mode 100644
index d2e204150..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwnam(const char* name) {
- struct passwd *tmp;
- getpwnam_r(name,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c b/mdk-stage1/dietlibc/libcruft/getpwnam_r.c
deleted file mode 100644
index 55f0bf634..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <pwd.h>
-
-int getpwnam_r(const char* name,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- while (!getpwent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->pw_name))
- goto ok;
- *res_sig=0;
-ok:
- endpwent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c
deleted file mode 100644
index bca6a8a0c..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-extern struct passwd __passwd_pw;
-extern char __passwd_buf[1000];
-
-struct passwd *getpwuid(uid_t uid) {
- struct passwd *tmp;
- getpwuid_r(uid,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c b/mdk-stage1/dietlibc/libcruft/getpwuid_r.c
deleted file mode 100644
index 64ebfbde8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <pwd.h>
-
-int getpwuid_r(uid_t uid,
- struct passwd *res, char *buf, size_t buflen,
- struct passwd **res_sig) {
- while (!getpwent_r(res,buf,buflen,res_sig))
- if (uid==res->pw_uid)
- goto ok;
- *res_sig=0;
-ok:
- endpwent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspent.c b/mdk-stage1/dietlibc/libcruft/getspent.c
deleted file mode 100644
index 2e14c8659..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <shadow.h>
-
-extern struct spwd __shadow_pw;
-extern char __shadow_buf[1000];
-
-struct spwd *getspent(void) {
- struct spwd* tmp;
- getspent_r(&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspent_r.c b/mdk-stage1/dietlibc/libcruft/getspent_r.c
deleted file mode 100644
index 7b8d19ac1..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspent_r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <shadow.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setspent(void) {
- __prepare_parse(_PATH_SHADOW,&__ps);
-}
-
-void endspent(void) {
- __end_parse(&__ps);
-}
-
-int getspent_r(struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) {
- size_t i,j,n;
- unsigned long l;
- if (!__ps.buffirst) setspent();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
-again:
- n=0;
- for (i=0; i<9; ++i) {
- j=__parse_1(&__ps,':');
- if (__ps.buffirst[__ps.cur+j]!=':' && i<6) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- if (i>1) {
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- if (j==0) l=(unsigned long)-1;
- }
- switch (i) {
- case 0:
- res->sp_namp=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- break;
- case 1: res->sp_pwdp=buf+n; goto copy;
- case 2: res->sp_lstchg=l; break;
- case 3: res->sp_min=l; break;
- case 4: res->sp_max=l; break;
- case 5: res->sp_warn=l; break;
- case 6: res->sp_inact=l; break;
- case 7: res->sp_expire=l; break;
- case 8: res->sp_flag=l; break;
- }
- __ps.cur+=j+1;
- }
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c
deleted file mode 100644
index a4eafbfb2..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <shadow.h>
-#include <string.h>
-
-extern struct spwd __shadow_pw;
-extern char __shadow_buf[1000];
-
-struct spwd *getspnam(const char* name) {
- struct spwd *tmp;
- getspnam_r(name,&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam_r.c b/mdk-stage1/dietlibc/libcruft/getspnam_r.c
deleted file mode 100644
index 084751d16..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam_r.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <string.h>
-#include <shadow.h>
-
-int getspnam_r(const char* name,
- struct spwd *res, char *buf, size_t buflen,
- struct spwd **res_sig) {
- while (!getspent_r(res,buf,buflen,res_sig))
- if (!strcmp(name,res->sp_namp))
- goto ok;
- *res_sig=0;
-ok:
- endspent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getusershell.c b/mdk-stage1/dietlibc/libcruft/getusershell.c
deleted file mode 100644
index 4c99aa4d4..000000000
--- a/mdk-stage1/dietlibc/libcruft/getusershell.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#define _BSD_SOURCE
-#include <unistd.h>
-#include <paths.h>
-#include <string.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setusershell(void) {
- __prepare_parse(_PATH_SHELLS,&__ps);
-}
-
-void endusershell(void) {
- __end_parse(&__ps);
-}
-
-#define MAXSHELL 128
-
-char *getusershell(void) {
- static char line[MAXSHELL+1];
- size_t i;
- if (!__ps.buffirst) setusershell();
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- i=__parse_1(&__ps,'\n');
- if (i>=MAXSHELL) i=MAXSHELL-1;
- memcpy(line,__ps.buffirst+__ps.cur,i);
- line[i]=0;
- __ps.cur+=i+1;
- return line;
-error:
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/grbuf.c b/mdk-stage1/dietlibc/libcruft/grbuf.c
deleted file mode 100644
index a1b9440ce..000000000
--- a/mdk-stage1/dietlibc/libcruft/grbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <grp.h>
-
-struct group __group_pw;
-char __group_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libcruft/h_errno.c b/mdk-stage1/dietlibc/libcruft/h_errno.c
deleted file mode 100644
index 73ead0469..000000000
--- a/mdk-stage1/dietlibc/libcruft/h_errno.c
+++ /dev/null
@@ -1 +0,0 @@
-int h_errno;
diff --git a/mdk-stage1/dietlibc/libcruft/herrno_location.c b/mdk-stage1/dietlibc/libcruft/herrno_location.c
deleted file mode 100644
index 5908fe212..000000000
--- a/mdk-stage1/dietlibc/libcruft/herrno_location.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <errno.h>
-#include <resolv.h>
-#include <netdb.h>
-
-int *__h_errno_location(void);
-int *__h_errno_location(void) { return &h_errno; }
-
-int *h_errno_location(void) __attribute__((weak,alias("__h_errno_location")));
diff --git a/mdk-stage1/dietlibc/libcruft/herror.c b/mdk-stage1/dietlibc/libcruft/herror.c
deleted file mode 100644
index 619dd9ce5..000000000
--- a/mdk-stage1/dietlibc/libcruft/herror.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <netdb.h>
-
-void herror(const char* s) {
- write(2,s,strlen(s));
- write(2,": DNS error.\n",13);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/hstrerror.c b/mdk-stage1/dietlibc/libcruft/hstrerror.c
deleted file mode 100644
index fb8902f67..000000000
--- a/mdk-stage1/dietlibc/libcruft/hstrerror.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <netdb.h>
-
-const char* hstrerror(int h_errno) {
- switch (h_errno) {
- case 0: return "OK";
- case NO_DATA: return "No data of requested type.";
- case TRY_AGAIN: return "Temporary failure.";
- case HOST_NOT_FOUND:
- default: return "Unknown host.";
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_addr.c b/mdk-stage1/dietlibc/libcruft/inet_addr.c
deleted file mode 100644
index 0b8531ab1..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_addr.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-unsigned long int inet_addr(const char *cp) {
- struct in_addr foo;
- if (inet_aton(cp,&foo))
- return foo.s_addr;
- else
- return (unsigned long int)-1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_aton.c b/mdk-stage1/dietlibc/libcruft/inet_aton.c
deleted file mode 100644
index 01adb341e..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_aton.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-
-/* inet_aton() converts the Internet host address cp from the standard
- * numbers-and-dots notation into binary data and stores it in the
- * structure that inp points to. inet_aton returns nonzero if the
- * address is valid, zero if not. */
-
-/* problem is, inet_aton is historically quite, uh, lenient.
- * the following are all acceptable:
- * 0x7f000001 == 127.1 == 127.0.0.1.0 == 127.0.0.1
- * btw: 127.0.0.x.y == 127.0.0.(x|y)
- * and: 10.1.1 == 10.1.0.1 (huh?!)
- * and: 10 == 0.0.0.10 (?!?!?)
- * The Berkeley people must have been so stoned that they are still high.
- */
-
-/* I hereby disclaim that I wrote this code. */
-int inet_aton(const char *cp, struct in_addr *inp) {
- int i;
- unsigned int ip=0;
- char *tmp=(char*)cp;
- for (i=24; ;) {
- long j;
- j=strtoul(tmp,&tmp,0);
- if (*tmp==0) {
- ip|=j;
- break;
- }
- if (*tmp=='.') {
- if (j>255) return 0;
- ip|=(j<<i);
- if (i>0) i-=8;
- ++tmp;
- continue;
- }
- return 0;
- }
- inp->s_addr=htonl(ip);
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
deleted file mode 100644
index 632d81424..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-char *inet_ntoa(struct in_addr in) {
- static char buf[20];
- return inet_ntoa_r(in,buf);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c b/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c
deleted file mode 100644
index dcf0eab7b..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-static unsigned int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register unsigned int len=0;
- if (x>=100) { *dest++=tmp/100+'0'; tmp=tmp%100; ++len; }
- if (x>=10) { *dest++=tmp/10+'0'; tmp=tmp%10; ++len; }
- *dest++=tmp+'0';
- return len+1;
-}
-
-char *inet_ntoa_r(struct in_addr in,char* buf) {
- unsigned int len;
- unsigned char *ip=(unsigned char*)&in;
- len=i2a(buf,ip[0]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[1]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[2]); buf[len]='.'; ++len;
- len+=i2a(buf+ len,ip[3]); buf[len]=0;
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntop.c b/mdk-stage1/dietlibc/libcruft/inet_ntop.c
deleted file mode 100644
index 81bee0a90..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-static const unsigned char V4mappedprefix[12]={0,0,0,0,0,0,0,0,0,0,0xff,0xff};
-
-static char tohex(char hexdigit) {
- return hexdigit>9?hexdigit+'a'-10:hexdigit+'0';
-}
-
-static int fmt_xlong(char* s,unsigned int i) {
- char* bak=s;
- *s=tohex((i>>12)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex((i>>8)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex((i>>4)&0xf); if (s!=bak || *s!='0') ++s;
- *s=tohex(i&0xf);
- return s-bak+1;
-}
-
-static unsigned int fmt_ip6(char *s,const char ip[16]) {
- unsigned int len;
- unsigned int i;
- unsigned int temp;
- unsigned int compressing;
- int j;
-
- len = 0; compressing = 0;
- for (j=0; j<16; j+=2) {
- if (j==12 && !memcmp(ip,V4mappedprefix,12)) {
- inet_ntoa_r(*(struct in_addr*)(ip+12),s);
- temp=strlen(s);
- return len+temp;
- }
- temp = ((unsigned long) (unsigned char) ip[j] << 8) +
- (unsigned long) (unsigned char) ip[j+1];
- if (temp == 0) {
- if (!compressing) {
- compressing=1;
- if (j==0) {
- *s++=':'; ++len;
- }
- }
- } else {
- if (compressing) {
- compressing=0;
- *s++=':'; ++len;
- }
- i = fmt_xlong(s,temp); len += i; s += i;
- if (j<14) {
- *s++ = ':';
- ++len;
- }
- }
- }
- if (compressing) {
- *s++=':'; ++len;
- }
- *s=0;
- return len;
-}
-
-const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) {
- char buf[100];
- size_t len;
- if (AF==AF_INET) {
- inet_ntoa_r(*(struct in_addr*)CP,buf);
- len=strlen(buf);
- } else if (AF==AF_INET6) {
- len=fmt_ip6(buf,CP);
- } else
- return 0;
- if (len<LEN) {
- strcpy(BUF,buf);
- return BUF;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/inet_pton.c b/mdk-stage1/dietlibc/libcruft/inet_pton.c
deleted file mode 100644
index a62785d5f..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_pton.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include <stdlib.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <errno.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-static unsigned int scan_ip6(const char *s,char ip[16])
-{
- unsigned int i;
- unsigned int len=0;
- unsigned long u;
-
- char suffix[16];
- unsigned int prefixlen=0;
- unsigned int suffixlen=0;
-
- for (i=0; i<16; i++) ip[i]=0;
-
- for (;;) {
- if (*s == ':') {
- len++;
- if (s[1] == ':') { /* Found "::", skip to part 2 */
- s+=2;
- len++;
- break;
- }
- s++;
- }
- {
- char *tmp;
- u=strtoul(s,&tmp,16);
- i=tmp-s;
- }
-
- if (!i) return 0;
- if (prefixlen==12 && s[i]=='.') {
- /* the last 4 bytes may be written as IPv4 address */
- if (inet_aton(s,(struct in_addr*)(ip+12)))
- return i+len;
- else
- return 0;
- }
- ip[prefixlen++] = (u >> 8);
- ip[prefixlen++] = (u & 255);
- s += i; len += i;
- if (prefixlen==16)
- return len;
- }
-
-/* part 2, after "::" */
- for (;;) {
- if (*s == ':') {
- if (suffixlen==0)
- break;
- s++;
- len++;
- } else if (suffixlen!=0)
- break;
- {
- char *tmp;
- u=strtol(s,&tmp,16);
- i=tmp-s;
- }
- if (!i) {
- if (*s) len--;
- break;
- }
- if (suffixlen+prefixlen<=12 && s[i]=='.') {
- if (inet_aton(s,(struct in_addr*)(suffix+suffixlen))) {
- suffixlen+=4;
- len+=strlen(s);
- break;
- } else
- prefixlen=12-suffixlen; /* make end-of-loop test true */
- }
- suffix[suffixlen++] = (u >> 8);
- suffix[suffixlen++] = (u & 255);
- s += i; len += i;
- if (prefixlen+suffixlen==16)
- break;
- }
- for (i=0; i<suffixlen; i++)
- ip[16-suffixlen+i] = suffix[i];
- return len;
-}
-
-int inet_pton(int AF, const char *CP, void *BUF) {
- int len;
- if (AF==AF_INET) {
- if (!inet_aton(CP,(struct in_addr*)BUF))
- return 0;
- } else if (AF==AF_INET6) {
- if (CP[len=scan_ip6(CP,BUF)])
- if (CP[len]!='%') /* allow "fe80::220:e0ff:fe69:ad92%eth0" */
- return 0;
- } else {
- errno=EAFNOSUPPORT;
- return -1;
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/initgroups.c b/mdk-stage1/dietlibc/libcruft/initgroups.c
deleted file mode 100644
index 932fddfd6..000000000
--- a/mdk-stage1/dietlibc/libcruft/initgroups.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <string.h>
-
-int initgroups(const char *user, gid_t group) {
- int n=1;
- gid_t grouplist[32];
- struct group *g;
- grouplist[0]=group;
- setgrent();
- while ((g=getgrent())) {
- char **duh=g->gr_mem;
- while (*duh) {
- if (!strcmp(*duh,user)) {
- grouplist[n]=g->gr_gid;
- if (++n>=32)
- break;
- }
- duh++;
- }
- }
- return setgroups(n,grouplist);
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/killpg.c b/mdk-stage1/dietlibc/libcruft/killpg.c
deleted file mode 100644
index c03bb6330..000000000
--- a/mdk-stage1/dietlibc/libcruft/killpg.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <signal.h>
-
-int killpg(pid_t pgrp, int signal) {
- return kill(-pgrp,signal);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/localeconv.c b/mdk-stage1/dietlibc/libcruft/localeconv.c
deleted file mode 100644
index d2c5ff82c..000000000
--- a/mdk-stage1/dietlibc/libcruft/localeconv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <limits.h>
-#include <locale.h>
-
-/* these answers are what glibc says */
-
-static struct lconv l =
- {".","","","","","", /* decimal_point - mon_decimal_point */
- "","","","",127,127, /* mon_thousands_sep - frac_digits */
- 127,127,127,127,127,127, /* p_cs_precedes - n_sign_posn */
- 127,127,127,127,127,127 }; /* __int_p_cs_precedes - __int_n_sign_posn */
-
-
-struct lconv* localeconv() {
- return &l;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mkdtemp.c b/mdk-stage1/dietlibc/libcruft/mkdtemp.c
deleted file mode 100644
index 1c388938c..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkdtemp.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-char* mkdtemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd,i;
- unsigned int random;
- if (tmp<template) goto error;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return 0; }
- randfd=open("/dev/urandom",O_RDONLY);
- for (;;) {
- read(randfd,&random,sizeof(random));
- for (i=0; i<6; ++i) {
- int hexdigit=(random>>(i*5))&0x1f;
- tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0';
- }
- if (mkdir(template,0700)==0) break;
- if (errno==EEXIST) continue;
- close(randfd);
- return 0;
- }
- close(randfd);
- return template;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c
deleted file mode 100644
index 7dc19d4ed..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkstemp.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 0
-#endif
-
-int mkstemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd;
- int i,res;
- unsigned int random;
- if (tmp<template) goto error;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return -1; }
- randfd=open("/dev/urandom",O_RDONLY);
- for (;;) {
- read(randfd,&random,sizeof(random));
- for (i=0; i<6; ++i) {
- int hexdigit=(random>>(i*5))&0x1f;
- tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0';
- }
- res=open(template,O_CREAT|O_RDWR|O_EXCL|O_NOFOLLOW,0600);
- if (res>=0 || errno!=EEXIST) break;
- }
- close(randfd);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/mktemp.c b/mdk-stage1/dietlibc/libcruft/mktemp.c
deleted file mode 100644
index d1908a9ac..000000000
--- a/mdk-stage1/dietlibc/libcruft/mktemp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <dietwarning.h>
-
-link_warning("mktemp","\e[1;33;41m>>> mktemp stinks! DON'T USE IT ! <<<\e[0m");
-
-char* mktemp(char* template) {
- int fd;
- if ((fd=mkstemp(template))<0) return 0;
- close(fd);
- unlink(template);
- return template;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/pwbuf.c b/mdk-stage1/dietlibc/libcruft/pwbuf.c
deleted file mode 100644
index aa0ad7001..000000000
--- a/mdk-stage1/dietlibc/libcruft/pwbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <pwd.h>
-
-struct passwd __passwd_pw;
-char __passwd_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_init.c b/mdk-stage1/dietlibc/libcruft/res_init.c
deleted file mode 100644
index 78baa2b30..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_init.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <resolv.h>
-
-extern void __dns_readstartfiles(void);
-
-int res_init(void) {
- _res.nscount=0;
- __dns_readstartfiles();
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/res_mkquery.c b/mdk-stage1/dietlibc/libcruft/res_mkquery.c
deleted file mode 100644
index cf5693668..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_mkquery.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <resolv.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include "dietfeatures.h"
-
-static char dnspacket[]="\xfe\xfe\001\000\000\001\000\000\000\000\000\000";
-
-/*
- 1 1 1 1 1 1
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ID |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | QDCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ANCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | NSCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ARCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
-*/
-
-extern void __dns_make_fd(void);
-extern int __dns_fd;
-
-extern int __dns_servers;
-extern struct sockaddr __dns_server_ips[];
-
-extern void __dns_readstartfiles(void);
-
-int res_mkquery(int op, const char *dname, int class, int type, char* data,
- int datalen, const unsigned char* newrr, char* buf, int buflen) {
- unsigned char packet[512];
- memmove(packet,dnspacket,12);
- if ((_res.options&RES_RECURSE)==0) packet[2]=0;
- *(unsigned short*)packet=rand();
- {
- unsigned char* x;
- const char* y,* tmp;
- x=packet+12; y=dname;
- while (*y) {
- while (*y=='.') ++y;
- for (tmp=y; *tmp && *tmp!='.'; ++tmp) ;
- *x=tmp-y;
- if (!(tmp-y)) break;
- ++x;
- if (x>=packet+510-(tmp-y)) { return -1; }
- memmove(x,y,tmp-y);
- x+=tmp-y;
- if (!*tmp) {
- *x=0;
- break;
- }
- y=tmp;
- }
- *++x= 0; *++x= type; /* A */
- *++x= 0; *++x= class; /* IN */
- ++x;
- if (x-packet>buflen) return -1;
- memmove(buf,packet,x-packet);
- return x-packet;
- }
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_query.c b/mdk-stage1/dietlibc/libcruft/res_query.c
deleted file mode 100644
index 28b5c3ac8..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_query.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <resolv.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include "dietfeatures.h"
-
-extern void __dns_make_fd(void);
-extern int __dns_fd;
-#ifdef WANT_IPV6_DNS
-extern void __dns_make_fd6(void);
-extern int __dns_fd6;
-#endif
-
-extern void __dns_readstartfiles(void);
-
-int res_query(const char *dname, int class, int type, unsigned char *answer, int anslen) {
- unsigned char packet[512];
- int size;
-#ifndef WANT_IPV6_DNS
- __dns_make_fd();
-#endif
-
- __dns_readstartfiles();
- if ((size=res_mkquery(QUERY,dname,class,type,0,0,0,packet,512))<0) { h_errno=NO_RECOVERY; return -1; }
- {
- {
- int i; /* current server */
- int j; /* timeout count down */
- struct pollfd duh;
- struct timeval last,now;
-#ifdef WANT_IPV6_DNS
- int tmpfd; /* the warning gcc issues here is bogus */
-#else
- duh.fd=__dns_fd;
-#endif
- i=0;
- duh.events=POLLIN;
- last.tv_sec=0;
- for (j=120; j>0; --j) {
- gettimeofday(&now,0);
- if (now.tv_sec-last.tv_sec>10) {
-#ifdef WANT_IPV6_DNS
- struct sockaddr* s=(struct sockaddr*)&(_res.nsaddr_list[i]);
- if (s->sa_family==AF_INET6) {
- __dns_make_fd6();
- tmpfd=__dns_fd6;
- } else {
- __dns_make_fd();
- tmpfd=__dns_fd;
- }
- duh.fd=tmpfd;
- if (sendto(tmpfd,packet,size,0,s,sizeof(struct sockaddr_in6))==0)
- gettimeofday(&last,0);
-#else
- if (sendto(__dns_fd,packet,size,0,(struct sockaddr*)&(_res.nsaddr_list[i]),sizeof(struct sockaddr))==0)
- gettimeofday(&last,0);
-#endif
- last=now;
- }
- if (++i >= _res.nscount) i=0;
- if (poll(&duh,1,1000) == 1) {
- /* read and parse answer */
- unsigned char inpkg[1500];
-#ifdef WANT_IPV6_DNS
- int len=read(tmpfd,inpkg,1500);
-#else
- int len=read(__dns_fd,inpkg,1500);
-#endif
- /* header, question, answer, authority, additional */
- if (inpkg[0]!=packet[0] || inpkg[1]!=packet[1]) continue; /* wrong ID */
- if ((inpkg[2]&0xf9) != (_res.options&RES_RECURSE?0x81:0x80)) continue; /* not answer */
- if ((inpkg[3]&0x0f) != 0) { h_errno=HOST_NOT_FOUND; return -1; } /* error */
- if (len>anslen) {
- h_errno=NO_RECOVERY;
- return -1;
- }
- memmove(answer,inpkg,len);
- return len;
- }
-/*kaputt:*/
- }
- }
- }
- h_errno=NO_DATA;
- return -1;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/res_search.c b/mdk-stage1/dietlibc/libcruft/res_search.c
deleted file mode 100644
index a8b9257bc..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_search.c
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-
-extern int __dns_search;
-extern char *__dns_domains[];
-
-int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen) {
- const char *tmp=dname;
- char Buf[MAXDNAME+1];
- int res;
- int len=strlen(dname);
- int count=0;
- memmove(Buf,dname,len);
- Buf[len]=Buf[MAXDNAME]=0;
-// printf("appending %d: %p\n",count,__dns_domains[count]);
- while ((res=res_query(tmp,class,type,answer,anslen))<0) {
- if (count==__dns_search) break;
- Buf[len]='.';
-// printf("appending %d: %p (%s)\n",count,__dns_domains[count],__dns_domains[count]);
- memccpy(Buf+len+1,__dns_domains[count],0,MAXDNAME-len-1);
- tmp=Buf;
- ++count;
- }
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scan_ulong.c b/mdk-stage1/dietlibc/libcruft/scan_ulong.c
deleted file mode 100644
index dfbec5c55..000000000
--- a/mdk-stage1/dietlibc/libcruft/scan_ulong.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include "parselib.h"
-
-size_t scan_ulong(const char* s,unsigned long* l) {
- size_t n;
- unsigned long x;
- unsigned int digit;
- for (x=n=0; (digit=(s[n]-'0'))<10u; ++n)
- x=x*10+digit;
- *l=x;
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scandir.c b/mdk-stage1/dietlibc/libcruft/scandir.c
deleted file mode 100644
index fac7eaa7f..000000000
--- a/mdk-stage1/dietlibc/libcruft/scandir.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdlib.h>
-#include <dirent.h>
-#include <string.h>
-
-int scandir(const char *dir, struct dirent ***namelist,
- int (*select)(const struct dirent *),
- int (*compar)(const struct dirent **, const struct dirent **)) {
- DIR* d;
- struct dirent *D;
- int num=0;
- if (!(d=opendir(dir)))
- return -1;
- *namelist=0;
- while ((D=readdir(d))) {
- if (select==0 || select(D)) {
- struct dirent **tmp;
- ++num;
-/* printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */
- if (!(tmp=realloc(*namelist,num*sizeof(struct dirent**))) ||
- !(tmp[num-1]=malloc(sizeof(struct dirent)))) {
- int i;
- for (i=0; i<num-1; ++i) free(tmp[i]);
- free(*namelist);
- closedir(d);
- return -1;
- }
- memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX);
- *namelist=tmp;
-/* printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */
- }
- }
- closedir(d);
-#if 0
- {
- int i;
- puts("pre-qsort:\n");
- for (i=0; i<num-1; ++i) {
- puts((*namelist)[i]->d_name);
- }
- puts("post-qsort:\n");
- }
-#endif
-// qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- if (compar)
- qsort(*namelist,num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- return num;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/scandir64.c b/mdk-stage1/dietlibc/libcruft/scandir64.c
deleted file mode 100644
index c1bdc3415..000000000
--- a/mdk-stage1/dietlibc/libcruft/scandir64.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdlib.h>
-#include <dirent.h>
-#include <string.h>
-
-int scandir64(const char *dir, struct dirent64 ***namelist,
- int (*select)(const struct dirent64 *),
- int (*compar)(const struct dirent64 **, const struct dirent64 **)) {
- DIR* d;
- struct dirent64 *D;
- int num=0;
- if (!(d=opendir(dir)))
- return -1;
- *namelist=0;
- while ((D=readdir64(d))) {
- if (select==0 || select(D)) {
- struct dirent64 **tmp;
- ++num;
-/* printf("realloc %p,%d -> ",*namelist,num*sizeof(struct dirent**)); */
- if (!(tmp=realloc(*namelist,num*sizeof(struct dirent64**))) ||
- !(tmp[num-1]=malloc(sizeof(struct dirent64)))) {
- int i;
- for (i=0; i<num-1; ++i) free(tmp[i]);
- free(*namelist);
- closedir(d);
- return -1;
- }
- memccpy(tmp[num-1]->d_name,D->d_name,0,NAME_MAX);
- *namelist=tmp;
-/* printf("%p; tmp[num-1(%d)]=%p\n",*namelist,num-1,tmp[num-1]); */
- }
- }
- closedir(d);
-#if 0
- {
- int i;
- puts("pre-qsort:\n");
- for (i=0; i<num-1; ++i) {
- puts((*namelist)[i]->d_name);
- }
- puts("post-qsort:\n");
- }
-#endif
-// qsort(&(*namelist)[0],num,sizeof(struct dirent*),(int (*)(const void*,const void*))(compar));
- if (compar)
- qsort(*namelist,num,sizeof(struct dirent64*),(int (*)(const void*,const void*))(compar));
- return num;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/setegid.c b/mdk-stage1/dietlibc/libcruft/setegid.c
deleted file mode 100644
index 6e891952b..000000000
--- a/mdk-stage1/dietlibc/libcruft/setegid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#undef setegid
-int setegid(gid_t gid);
-int setegid(gid_t gid) {
- return setregid((gid_t)-1,gid);
-}
-
-link_warning("setegid","warning: you used setegid without including <unistd.h>")
diff --git a/mdk-stage1/dietlibc/libcruft/seteuid.c b/mdk-stage1/dietlibc/libcruft/seteuid.c
deleted file mode 100644
index 8145f20d7..000000000
--- a/mdk-stage1/dietlibc/libcruft/seteuid.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#undef seteuid
-int seteuid(uid_t uid);
-int seteuid(uid_t uid) {
- return setreuid((uid_t)-1,uid);
-}
-
-link_warning("setegid","warning: you used setegid without including <unistd.h>")
diff --git a/mdk-stage1/dietlibc/libcruft/setlocale.c b/mdk-stage1/dietlibc/libcruft/setlocale.c
deleted file mode 100644
index e0e8f647d..000000000
--- a/mdk-stage1/dietlibc/libcruft/setlocale.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <locale.h>
-
-char *setlocale (int category, const char *locale) {
- (void)category;
- (void)locale;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/spbuf.c b/mdk-stage1/dietlibc/libcruft/spbuf.c
deleted file mode 100644
index ab880bbcf..000000000
--- a/mdk-stage1/dietlibc/libcruft/spbuf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <shadow.h>
-
-struct spwd __shadow_pw;
-char __shadow_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libcruft/sysconf.c b/mdk-stage1/dietlibc/libcruft/sysconf.c
deleted file mode 100644
index e9c15cb66..000000000
--- a/mdk-stage1/dietlibc/libcruft/sysconf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include <limits.h>
-#include <sys/resource.h>
-
-extern int __sc_nr_cpus();
-
-long sysconf(int name)
-{
- switch(name)
- {
- case _SC_OPEN_MAX:
- {
- struct rlimit limit;
- getrlimit(RLIMIT_NOFILE, &limit);
- return limit.rlim_cur;
- }
- case _SC_CLK_TCK:
-#ifdef __alpha__
- return 1024;
-#else
- return 100;
-#endif
-
- case _SC_PAGESIZE:
-#if ( defined(__alpha__) || defined(__sparc__) )
- return 8192;
-#else
- return 4096;
-#endif
-
- case _SC_ARG_MAX:
- return ARG_MAX;
-
- case _SC_NGROUPS_MAX:
- return NGROUPS_MAX;
-
- case _SC_NPROCESSORS_ONLN:
- return __sc_nr_cpus();
-
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c b/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c
deleted file mode 100644
index b5361d0a4..000000000
--- a/mdk-stage1/dietlibc/libcruft/sysconf_cpus.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include "dietfeatures.h"
-
-/*
- * by Olaf Dreesen
- *
- * arm NO SMP ?!? (return 1)
- *
- * alpha -> cpus detected\t\t: <nr>\n
- * sparc -> ncpus active\t: <nr>\n
- *
- * default -> processor\t: <cpunr>\n (one per cpu)
- */
-
-#ifdef SLASH_PROC_OK
-int __sc_nr_cpus(void);
-int __sc_nr_cpus() {
-#if defined(__arm__)
- return 1;
-#else
- int fd;
- fd = open("/proc/cpuinfo", O_RDONLY);
- if (fd==-1) return 1; /* fallback if no proc-fs mounted */
- else {
- int n,nr=0;
- char buf[2048]; /* holds ~6 cpuinfos */
-
- while((n=read(fd,buf,sizeof(buf)))>0) {
- register int i=0;
- while (i<n) {
-#if defined(__alpha__)
- if ((buf[i]=='c')&&(!memcmp(buf+i,"cpus detected",13))) {
- i+=17;
- nr=atoi(buf+i);
- break;
- }
-#elif defined(__sparc__)
- if ((buf[i]=='n')&&(!memcmp(buf+i,"ncpus active",12))) {
- i+=15;
- nr=atoi(buf+i);
- break;
- }
-#else /* DEFAULT */
- if ((buf[i]=='p')&&(!memcmp(buf+i,"processor",9))) {
- ++nr;
- i+=9;
- }
-#endif
- while(buf[i++]!='\n'); /* skip rest of line */
- }
- }
- close(fd);
- return nr;
- }
-#endif
-}
-#else
-int __sc_nr_cpus() {
- return 1; /* kludge kludge ;-) */
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libcruft/tempnam.c b/mdk-stage1/dietlibc/libcruft/tempnam.c
deleted file mode 100644
index 01c20b490..000000000
--- a/mdk-stage1/dietlibc/libcruft/tempnam.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <dietwarning.h>
-
-link_warning("tempnam","\e[1;33;41m>>> tempnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m");
-
-char* tempnam(char* dir,char* template) {
- char buf[1024];
- int len=sizeof(buf)-1,fd;
- buf[len]=0;
- if ((dir)&&(*dir)) {
- memccpy(buf,dir,0,len);
- strncat(buf,"/",1);
- }
- else
- strncpy(buf,"/tmp/",len);
- len=(sizeof(buf)-1)-strlen(buf);
- if (template)
- strncat(buf,template, --len);
- else
- strncat(buf,"temp_", --len);
- len=(sizeof(buf)-1)-strlen(buf);
- strncat(buf,"XXXXXX",len);
- if ((fd=mkstemp(buf))<0) return 0;
- close(fd);
- unlink(buf);
- return strdup(buf);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/tmpnam.c b/mdk-stage1/dietlibc/libcruft/tmpnam.c
deleted file mode 100644
index 707730616..000000000
--- a/mdk-stage1/dietlibc/libcruft/tmpnam.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <sys/stat.h>
-#include <dietwarning.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-link_warning("tmpnam","\e[1;33;41m>>> tmpnam stinks! NEVER ! NEVER USE IT ! <<<\e[0m");
-
-char* tmpnam(char* s) {
- static char buf[100];
- char *tmp;
- if (s) tmp=s; else tmp=buf;
- strcpy(tmp,"/tmp/temp_");
- for (;;) {
- struct stat s;
- int i,j;
- i=rand();
- for (j=0; j<8; ++j) {
- char c=i&0xf;
- tmp[9+j]=c>9?c+'a'-10:c+'0';
- i>>=4;
- }
- tmp[17]=0;
- if (lstat(tmp,&s)==-1 && errno==ENOENT) break;
- }
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libcrypt/crypt.c b/mdk-stage1/dietlibc/libcrypt/crypt.c
deleted file mode 100644
index 3c162d513..000000000
--- a/mdk-stage1/dietlibc/libcrypt/crypt.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <md5.h>
-
-/* Initial permutation, */
-static const char IP[] = {
- 57,49,41,33,25,17, 9, 1,
- 59,51,43,35,27,19,11, 3,
- 61,53,45,37,29,21,13, 5,
- 63,55,47,39,31,23,15, 7,
- 56,48,40,32,24,16, 8, 0,
- 58,50,42,34,26,18,10, 2,
- 60,52,44,36,28,20,12, 4,
- 62,54,46,38,30,22,14, 6
-};
-
-/* Final permutation, FP = IP^(-1) */
-static const char FP[] = {
- 39, 7,47,15,55,23,63,31,
- 38, 6,46,14,54,22,62,30,
- 37, 5,45,13,53,21,61,29,
- 36, 4,44,12,52,20,60,28,
- 35, 3,43,11,51,19,59,27,
- 34, 2,42,10,50,18,58,26,
- 33, 1,41, 9,49,17,57,25,
- 32, 0,40, 8,48,16,56,24
-};
-
-/* Permuted-choice 1 from the key bits to yield C and D.
- * Note that bits 8,16... are left out: They are intended for a parity check.
- */
-static const char PC1_C[] = {
- 56,48,40,32,24,16, 8,
- 0,57,49,41,33,25,17,
- 9, 1,58,50,42,34,26,
- 18,10, 2,59,51,43,35
-};
-
-static const char PC1_D[] = {
- 62,54,46,38,30,22,14,
- 6,61,53,45,37,29,21,
- 13, 5,60,52,44,36,28,
- 20,12, 4,27,19,11, 3
-};
-
-/* Sequence of shifts used for the key schedule. */
-static const char shifts[] = { 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 };
-
-/*
- * Permuted-choice 2, to pick out the bits from the CD array that generate
- * the key schedule.
- */
-static const char PC2_C[] = {
- 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9,
- 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1
-};
-
-static const char PC2_D[] = {
- 12, 23, 2, 8, 18, 26, 1, 11, 22, 16, 4, 19,
- 15, 20, 10, 27, 5, 24, 17, 13, 21, 7, 0, 3
-};
-
-/* The C and D arrays used to calculate the key schedule. */
-
-static char C[28];
-static char D[28];
-/* The key schedule. Generated from the key. */
-static char KS[16][48];
-
-/* The E bit-selection table. */
-static char E[48];
-static const char e2[] = {
- 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9,
- 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17,
- 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25,
- 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1
-};
-
-/* Set up the key schedule from the key. */
-void setkey(const char *key)
-{
- register int i, j, k;
- int t;
- int s;
-
- /* First, generate C and D by permuting the key. The low order bit of each
- * 8-bit char is not used, so C and D are only 28 bits apiece.
- */
- for(i=0; i < 28; i++) {
- C[i] = key[(int)PC1_C[i]];
- D[i] = key[(int)PC1_D[i]];
- }
- /* To generate Ki, rotate C and D according to schedule and pick up a
- * permutation using PC2.
- */
- for(i=0; i < 16; i++) {
- /* rotate. */
- s = shifts[i];
- for(k=0; k < s; k++) {
- t = C[0];
- for(j=0; j < 27; j++)
- C[j] = C[j+1];
- C[27] = t;
- t = D[0];
- for(j=0; j < 27; j++)
- D[j] = D[j+1];
- D[27] = t;
- }
- /* get Ki. Note C and D are concatenated. */
- for(j=0; j < 24; j++) {
- KS[i][j] = C[(int)PC2_C[j]];
- KS[i][j+24] = D[(int)PC2_D[j]];
- }
- }
-
- for(i=0; i < 48; i++)
- E[i] = e2[i];
-}
-
-/* The 8 selection functions. For some reason, they give a 0-origin index,
- * unlike everything else.
- */
-static const char S[8][64] = {
- {
- 14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,
- 0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,
- 4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,
- 15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13
- },
-
- {
- 15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,
- 3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,
- 0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,
- 13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9
- },
-
- {
- 10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,
- 13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,
- 13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,
- 1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12
- },
-
- {
- 7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,
- 13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,
- 10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,
- 3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14
- },
-
- {
- 2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,
- 14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,
- 4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,
- 11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3
- },
-
- {
- 12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,
- 10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,
- 9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,
- 4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13
- },
-
- {
- 4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,
- 13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,
- 1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,
- 6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12
- },
-
- {
- 13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,
- 1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,
- 7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,
- 2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11
- }
-};
-
-/* P is a permutation on the selected combination of the current L and key. */
-static const char P[] = {
- 15, 6,19,20, 28,11,27,16, 0,14,22,25, 4,17,30, 9,
- 1, 7,23,13, 31,26, 2, 8, 18,12,29, 5, 21,10, 3,24
-};
-
-/* The current block, divided into 2 halves. */
-static char L[32], R[32];
-static char tempL[32];
-static char f[32];
-
-/* The combination of the key and the input, before selection. */
-static char preS[48];
-
-/* The payoff: encrypt a block. */
-void encrypt(char block[64],int edflag)
-{
- int i, ii;
- register int t, j, k;
-
- (void)edflag;
- /* First, permute the bits in the input */
- for(j=0; j < 64; j++)
- L[j] = block[(int)IP[j]];
- /* Perform an encryption operation 16 times. */
- for(ii=0; ii < 16; ii++) {
- i = ii;
- /* Save the R array, which will be the new L. */
- for(j=0; j < 32; j++)
- tempL[j] = R[j];
- /* Expand R to 48 bits using the E selector;
- * exclusive-or with the current key bits.
- */
- for(j=0; j < 48; j++)
- preS[j] = R[E[j]-1] ^ KS[i][j];
- /* The pre-select bits are now considered in 8 groups of 6 bits each.
- * The 8 selection functions map these 6-bit quantities into 4-bit
- * quantities and the results permuted to make an f(R, K).
- * The indexing into the selection functions is peculiar;
- * it could be simplified by rewriting the tables.
- */
- for(j=0; j < 8; j++) {
- t = ((j<<1)+j)<<1;
- k = S[j][(preS[t]<<5)+
- (preS[t+1]<<3)+
- (preS[t+2]<<2)+
- (preS[t+3]<<1)+
- (preS[t+4] )+
- (preS[t+5]<<4)];
- t = j << 2;
- f[t ] = (k>>3)&01;
- f[t+1] = (k>>2)&01;
- f[t+2] = (k>>1)&01;
- f[t+3] = (k )&01;
- }
- /* The new R is L ^ f(R, K). The f here has to be permuted first, though. */
- for(j=0; j < 32; j++)
- R[j] = L[j] ^ f[(int)P[j]];
- /* Finally, the new L (the original R) is copied back. */
- for(j=0; j < 32; j++)
- L[j] = tempL[j];
- }
- /* The output L and R are reversed. */
- for(j=0; j < 32; j++) {
- L[j] ^= R[j];
- R[j] ^= L[j];
- L[j] ^= R[j];
- }
- /* The final output gets the inverse permutation of the very original. */
- for(j=0; j < 64; j++)
- block[j] = L[(int)FP[j]];
-}
-
-char * crypt(const char *pw, const char *salt)
-{
- register int i, j, c;
- static char block[66], iobuf[16];
-#ifdef WANT_CRYPT_MD5
- if (salt[0]=='$' && salt[1]=='1' && salt[2]=='$')
- return md5crypt(pw,salt);
-#endif
- for(i=0; i < 66; i++)
- block[i] = 0;
- for(i=0; (c= *pw) && i < 64; pw++) {
- for(j=0; j < 7; j++, i++)
- block[i] = (c>>(6-j)) & 01;
- i++;
- }
-
- setkey(block);
-
- for(i=0; i < 66; i++)
- block[i] = 0;
-
- for(i=0; i < 2; i++) {
- c = *salt++;
- iobuf[i] = c;
- if(c > 'Z')
- c -= 6;
- if(c > '9')
- c -= 7;
- c -= '.';
- for(j=0; j < 6; j++) {
- if((c>>j) & 01) {
- int ind1 = (((i<<1)+i)<< 1) + j;
- int ind2 = ind1 + 24;
- E[ind1] ^= E[ind2];
- E[ind2] ^= E[ind1];
- E[ind1] ^= E[ind2];
- }
- }
- }
-
- for(i=0; i < 25; i++)
- encrypt(block,0);
-
- for(i=0; i < 11; i++) {
- c = 0;
- for(j=0; j < 6; j++) {
- c <<= 1;
- c |= block[(((i<<1)+i)<<1)+j];
- }
- c += '.';
- if(c > '9')
- c += 7;
- if(c > 'Z')
- c += 6;
- iobuf[i+2] = c;
- }
- iobuf[i+2] = 0;
- if(iobuf[1] == 0)
- iobuf[1] = iobuf[0];
- return(iobuf);
-}
diff --git a/mdk-stage1/dietlibc/libcrypt/md5.c b/mdk-stage1/dietlibc/libcrypt/md5.c
deleted file mode 100644
index ede9a067e..000000000
--- a/mdk-stage1/dietlibc/libcrypt/md5.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*****************************************************************************
-*
-* "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm".
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*
-*****************************************************************************/
-
-#include <endian.h>
-#include <md5.h>
-#include <string.h>
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
-/*
- Block copy and convert byte order to little-endian.
- dst must be 32bit aligned.
- Length is the number of 32bit words
-*/
-static void CopyToLittleEndian (uint32_t *dst, const uint8_t *src, int length) {
- while (length--) {
- *dst=(((uint32_t)src[3])<<24) |
- (((uint32_t)src[2])<<16) |
- (((uint32_t)src[1])<< 8) |
- (uint32_t)src[0];
- src+=4;
- dst++;
- }
-}
-#endif
-
-
-/*
- Assembler versions of __MD5Transform, MD5Init and MD5Update
- currently exist for x86 and little-endian ARM.
- For other targets, we need to use the C versions below.
-*/
-
-#if !(defined (__i386__) || ((defined (__arm__) && (__BYTE_ORDER == __LITTLE_ENDIAN))))
-
-/*
- Initialise the MD5 context.
-*/
-void MD5Init (MD5_CTX* context) {
- context->count[0] = 0;
- context->count[1] = 0;
-
- context->state[0] = 0x67452301; /* Load magic constants. */
- context->state[1] = 0xefcdab89;
- context->state[2] = 0x98badcfe;
- context->state[3] = 0x10325476;
-}
-
-#define ROTATE_LEFT(x, n) ((x << n) | (x >> (32-n)))
-
-#define F(x, y, z) (z ^ (x & (y ^ z)))
-#define G(x, y, z) (y ^ (z & (x ^ y)))
-#define H(x, y, z) (x ^ y ^ z)
-#define I(x, y, z) (y ^ (x | ~z))
-
-#define FF(a, b, c, d, x, s, ac) { (a) += F (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define GG(a, b, c, d, x, s, ac) { (a) += G (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define HH(a, b, c, d, x, s, ac) { (a) += H (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-#define II(a, b, c, d, x, s, ac) { (a) += I (b, c, d) + (x) + (uint32_t)(ac); (a) = ROTATE_LEFT (a, s); (a) += (b); }
-
-static void __MD5Transform (uint32_t state[4], const uint8_t *in, int repeat) {
- const uint32_t *x;
-
- uint32_t a = state[0];
- uint32_t b = state[1];
- uint32_t c = state[2];
- uint32_t d = state[3];
-
- for ( ; repeat; repeat--) {
- uint32_t tempBuffer[16];
-#if (__BYTE_ORDER == __BIG_ENDIAN)
-
- CopyToLittleEndian (tempBuffer, in, 16);
- x = tempBuffer;
-#else
- if ((long)in & 3) {
- memcpy(tempBuffer, in, 64);
- x = tempBuffer;
- } else
- x = (const uint32_t *) in;
-#endif
-
- FF (a, b, c, d, x[ 0], 7, 0xd76aa478); /* 1 */ /* Round 1 */
- FF (d, a, b, c, x[ 1], 12, 0xe8c7b756); /* 2 */
- FF (c, d, a, b, x[ 2], 17, 0x242070db); /* 3 */
- FF (b, c, d, a, x[ 3], 22, 0xc1bdceee); /* 4 */
- FF (a, b, c, d, x[ 4], 7, 0xf57c0faf); /* 5 */
- FF (d, a, b, c, x[ 5], 12, 0x4787c62a); /* 6 */
- FF (c, d, a, b, x[ 6], 17, 0xa8304613); /* 7 */
- FF (b, c, d, a, x[ 7], 22, 0xfd469501); /* 8 */
- FF (a, b, c, d, x[ 8], 7, 0x698098d8); /* 9 */
- FF (d, a, b, c, x[ 9], 12, 0x8b44f7af); /* 10 */
- FF (c, d, a, b, x[10], 17, 0xffff5bb1); /* 11 */
- FF (b, c, d, a, x[11], 22, 0x895cd7be); /* 12 */
- FF (a, b, c, d, x[12], 7, 0x6b901122); /* 13 */
- FF (d, a, b, c, x[13], 12, 0xfd987193); /* 14 */
- FF (c, d, a, b, x[14], 17, 0xa679438e); /* 15 */
- FF (b, c, d, a, x[15], 22, 0x49b40821); /* 16 */
-
- GG (a, b, c, d, x[ 1], 5, 0xf61e2562); /* 17 */ /* Round 2 */
- GG (d, a, b, c, x[ 6], 9, 0xc040b340); /* 18 */
- GG (c, d, a, b, x[11], 14, 0x265e5a51); /* 19 */
- GG (b, c, d, a, x[ 0], 20, 0xe9b6c7aa); /* 20 */
- GG (a, b, c, d, x[ 5], 5, 0xd62f105d); /* 21 */
- GG (d, a, b, c, x[10], 9, 0x02441453); /* 22 */
- GG (c, d, a, b, x[15], 14, 0xd8a1e681); /* 23 */
- GG (b, c, d, a, x[ 4], 20, 0xe7d3fbc8); /* 24 */
- GG (a, b, c, d, x[ 9], 5, 0x21e1cde6); /* 25 */
- GG (d, a, b, c, x[14], 9, 0xc33707d6); /* 26 */
- GG (c, d, a, b, x[ 3], 14, 0xf4d50d87); /* 27 */
- GG (b, c, d, a, x[ 8], 20, 0x455a14ed); /* 28 */
- GG (a, b, c, d, x[13], 5, 0xa9e3e905); /* 29 */
- GG (d, a, b, c, x[ 2], 9, 0xfcefa3f8); /* 30 */
- GG (c, d, a, b, x[ 7], 14, 0x676f02d9); /* 31 */
- GG (b, c, d, a, x[12], 20, 0x8d2a4c8a); /* 32 */
-
- HH (a, b, c, d, x[ 5], 4, 0xfffa3942); /* 33 */ /* Round 3 */
- HH (d, a, b, c, x[ 8], 11, 0x8771f681); /* 34 */
- HH (c, d, a, b, x[11], 16, 0x6d9d6122); /* 35 */
- HH (b, c, d, a, x[14], 23, 0xfde5380c); /* 36 */
- HH (a, b, c, d, x[ 1], 4, 0xa4beea44); /* 37 */
- HH (d, a, b, c, x[ 4], 11, 0x4bdecfa9); /* 38 */
- HH (c, d, a, b, x[ 7], 16, 0xf6bb4b60); /* 39 */
- HH (b, c, d, a, x[10], 23, 0xbebfbc70); /* 40 */
- HH (a, b, c, d, x[13], 4, 0x289b7ec6); /* 41 */
- HH (d, a, b, c, x[ 0], 11, 0xeaa127fa); /* 42 */
- HH (c, d, a, b, x[ 3], 16, 0xd4ef3085); /* 43 */
- HH (b, c, d, a, x[ 6], 23, 0x04881d05); /* 44 */
- HH (a, b, c, d, x[ 9], 4, 0xd9d4d039); /* 45 */
- HH (d, a, b, c, x[12], 11, 0xe6db99e5); /* 46 */
- HH (c, d, a, b, x[15], 16, 0x1fa27cf8); /* 47 */
- HH (b, c, d, a, x[ 2], 23, 0xc4ac5665); /* 48 */
-
- II (a, b, c, d, x[ 0], 6, 0xf4292244); /* 49 */ /* Round 4 */
- II (d, a, b, c, x[ 7], 10, 0x432aff97); /* 50 */
- II (c, d, a, b, x[14], 15, 0xab9423a7); /* 51 */
- II (b, c, d, a, x[ 5], 21, 0xfc93a039); /* 52 */
- II (a, b, c, d, x[12], 6, 0x655b59c3); /* 53 */
- II (d, a, b, c, x[ 3], 10, 0x8f0ccc92); /* 54 */
- II (c, d, a, b, x[10], 15, 0xffeff47d); /* 55 */
- II (b, c, d, a, x[ 1], 21, 0x85845dd1); /* 56 */
- II (a, b, c, d, x[ 8], 6, 0x6fa87e4f); /* 57 */
- II (d, a, b, c, x[15], 10, 0xfe2ce6e0); /* 58 */
- II (c, d, a, b, x[ 6], 15, 0xa3014314); /* 59 */
- II (b, c, d, a, x[13], 21, 0x4e0811a1); /* 60 */
- II (a, b, c, d, x[ 4], 6, 0xf7537e82); /* 61 */
- II (d, a, b, c, x[11], 10, 0xbd3af235); /* 62 */
- II (c, d, a, b, x[ 2], 15, 0x2ad7d2bb); /* 63 */
- II (b, c, d, a, x[ 9], 21, 0xeb86d391); /* 64 */
-
- state[0] = a = a + state[0];
- state[1] = b = b + state[1];
- state[2] = c = c + state[2];
- state[3] = d = d + state[3];
-
- in += 64;
- }
-}
-
-
-/*
- MD5 block update operation:
- Process another sub-string of the message and update the context.
-*/
-void MD5Update (MD5_CTX *context, const uint8_t *input, size_t inputBytes) {
- int i;
- int byteIndex;
- unsigned int partLen;
- int len;
-
- /* Compute number of bytes mod 64 */
- byteIndex = (context->count[0] >> 3) & 0x3F;
-
- /* Update number of bits: count += 8 * inputBytes */
- if ((context->count[0] += inputBytes << 3) < (inputBytes << 3))
- context->count[1]++;
- context->count[1] += (inputBytes >> (32-3));
-
- partLen = (64 - byteIndex);
-
- /* Transform as many times as possible. */
- if (inputBytes >= partLen) {
- memcpy (context->buffer + byteIndex, input, partLen);
- __MD5Transform (context->state, (const uint8_t *) context->buffer, 1);
- len = (inputBytes - partLen) / 64;
- __MD5Transform (context->state, &input[partLen], len);
- i = partLen + 64 * len;
- byteIndex = 0;
- } else
- i = 0;
-
- /* Buffer remaining input */
- memcpy (&context->buffer[byteIndex], &input[i], inputBytes - i);
-}
-
-#endif
-
-
-void MD5Final (uint8_t digest[16], MD5_CTX* context) {
- static uint8_t finalBlock[64];
-
- uint32_t bits[2];
- int byteIndex;
- int finalBlockLength;
-
- byteIndex = (context->count[0] >> 3) & 0x3F;
- finalBlockLength = ((byteIndex < 56) ? 56 : 120) - byteIndex;
- finalBlock[0] = 0x80;
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
- CopyToLittleEndian (bits, (const uint8_t *) context->count, 2);
-#else
- memcpy(bits, context->count, 8);
-#endif
-
- MD5Update (context, finalBlock, finalBlockLength);
- MD5Update (context, (const uint8_t *) bits, 8);
-
-#if (__BYTE_ORDER == __BIG_ENDIAN)
- CopyToLittleEndian ((uint32_t *) digest, (const uint8_t *) context->state, 4);
-#else
- memcpy (digest, context->state, 16);
-#endif
-
- memset(context, 0, sizeof(*context));
-}
-
diff --git a/mdk-stage1/dietlibc/libcrypt/md5crypt.c b/mdk-stage1/dietlibc/libcrypt/md5crypt.c
deleted file mode 100644
index ebbb4be44..000000000
--- a/mdk-stage1/dietlibc/libcrypt/md5crypt.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* $OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $ */
-
-/*
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $FreeBSD: crypt.c,v 1.5 1996/10/14 08:34:02 phk Exp $
- *
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: md5crypt.c,v 1.9 1997/07/23 20:58:27 kstailey Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <md5.h>
-
-static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */
- "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-
-static void to64 (char *, uint32_t, int);
-
-static void
-to64(s, v, n)
- char *s;
- uint32_t v;
- int n;
-{
- while (--n >= 0) {
- *s++ = itoa64[v&0x3f];
- v >>= 6;
- }
-}
-
-/*
- * UNIX password
- *
- * Use MD5 for what it is best at...
- */
-
-char *
-md5crypt(pw, salt)
- register const char *pw;
- register const char *salt;
-{
- /*
- * This string is magic for this algorithm. Having
- * it this way, we can get get better later on
- */
- static unsigned char *magic = (unsigned char *)"$1$";
-
- static char passwd[120], *p;
- static const unsigned char *sp,*ep;
- unsigned char final[16];
- int sl,pl,i;
- MD5_CTX ctx,ctx1;
- uint32_t l;
-
- /* Refine the Salt first */
- sp = (const unsigned char *)salt;
-
- /* If it starts with the magic string, then skip that */
- if(!strncmp((const char *)sp,(const char *)magic,strlen((const char *)magic)))
- sp += strlen((const char *)magic);
-
- /* It stops at the first '$', max 8 chars */
- for(ep=sp;*ep && *ep != '$' && ep < (sp+8);ep++)
- continue;
-
- /* get the length of the true salt */
- sl = ep - sp;
-
- MD5Init(&ctx);
-
- /* The password first, since that is what is most unknown */
- MD5Update(&ctx,(const unsigned char *)pw,strlen(pw));
-
- /* Then our magic string */
- MD5Update(&ctx,magic,strlen((const char *)magic));
-
- /* Then the raw salt */
- MD5Update(&ctx,sp,sl);
-
- /* Then just as many characters of the MD5(pw,salt,pw) */
- MD5Init(&ctx1);
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Update(&ctx1,sp,sl);
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Final(final,&ctx1);
- for(pl = strlen(pw); pl > 0; pl -= 16)
- MD5Update(&ctx,final,pl>16 ? 16 : pl);
-
- /* Don't leave anything around in vm they could use. */
- memset(final,0,sizeof final);
-
- /* Then something really weird... */
- for (i = strlen(pw); i ; i >>= 1)
- if(i&1)
- MD5Update(&ctx, final, 1);
- else
- MD5Update(&ctx, (const unsigned char *)pw, 1);
-
- /* Now make the output string */
- strcpy(passwd,(const char *)magic);
- memcpy(passwd+3,sp,sl);
- passwd[sl+3]='$';
- passwd[sl+4]=0;
-
- MD5Final(final,&ctx);
-
- /*
- * and now, just to make sure things don't run too fast
- * On a 60 Mhz Pentium this takes 34 msec, so you would
- * need 30 seconds to build a 1000 entry dictionary...
- */
- for(i=0;i<1000;i++) {
- MD5Init(&ctx1);
- if(i & 1)
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- else
- MD5Update(&ctx1,final,16);
-
- if(i % 3)
- MD5Update(&ctx1,sp,sl);
-
- if(i % 7)
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
-
- if(i & 1)
- MD5Update(&ctx1,final,16);
- else
- MD5Update(&ctx1,(const unsigned char *)pw,strlen(pw));
- MD5Final(final,&ctx1);
- }
-
- p = passwd + strlen(passwd);
-
- l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p,l,4); p += 4;
- l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p,l,4); p += 4;
- l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p,l,4); p += 4;
- l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p,l,4); p += 4;
- l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p,l,4); p += 4;
- l = final[11] ; to64(p,l,2); p += 2;
- *p = '\0';
-
- /* Don't leave anything around in vm they could use. */
- memset(final,0,sizeof final);
-
- return passwd;
-}
-
diff --git a/mdk-stage1/dietlibc/libdl/Makefile b/mdk-stage1/dietlibc/libdl/Makefile
deleted file mode 100644
index 29164f105..000000000
--- a/mdk-stage1/dietlibc/libdl/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# local "test" make file
-
-CC = gcc
-DCC = diet $(CC)
-
-SRC = $(wildcard *.c) # test/test.c
-OBJ = _dl_jump.o $(SRC:.c=.o)
-
-#CFLAGS = -Wall -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -g -O
-CFLAGS = -Wall -O2 -D__OD_CLEAN_ROOM -DNODIETREF -fPIC -frerun-loop-opt -fschedule-insns2 $(DEB) # -fomit-frame-pointer
-
-%.o : %.S
- $(DCC) $(CFLAGS) -c -o $@ $^
-
-%.o : %.c
- $(DCC) $(CFLAGS) -c -o $@ $^
-
-it: t.out
-
-a.out: t.out
- gcc -O -g test/a.c t.out -L/opt/diet/lib-i386 -lc -lgcc -o $@ -Wl,-dynamic-linker=`pwd`/t.out -nostdlib
-
-t.out: _dl_main.o
- ld -shared -o $@ $? -soname=libdl.so
-
-all: test.out libdl.a
-
-libdl.a: $(OBJ)
- ar cru $@ $^
-
-test.g: test/test.c
- gcc -o $@ $^ -ldl
-
-test.out: $(OBJ) test/test.o
- diet gcc -o $@ $^
-
-clean:
- $(RM) *.o *.a *.out *~ # *.so
diff --git a/mdk-stage1/dietlibc/libdl/README b/mdk-stage1/dietlibc/libdl/README
deleted file mode 100644
index 6f1d0e46e..000000000
--- a/mdk-stage1/dietlibc/libdl/README
+++ /dev/null
@@ -1,82 +0,0 @@
-this is the experimental libdl
-
-written by Olaf Dreesen
-
-Fri Nov 15 16:23:28 CET 2002
-
- fixing the copy-relocation bug.
-
- TODO as last time.... plus
- - dlsym with RTLD_NEXT
-
-Wed Nov 6 19:08:00 CET 2002
-
- Ups.. misunderstood the manual-page of dlopen.
- now dlopen(0,...) works the way it is described in the susv2, BUT still not
- complete.
-
- TODO:
- - gdb support
-
- - RTLD_GLOBAL/RTLD_LOCAL
- at the moment ALL are GLOBAL.
-
- - open of a shared object ONCE
- there is no library hard-, symlink detection yet.
-
- - code for other archs then i386 and arm
-
-
-Fri Sep 13 16:28:42 CEST 2002
-
- this unified libdl/dynlinker is now the default.
-
-
-Mon Mar 11 19:44:20 CET 2002
-
- the unified libdl/dynlinker now seems to stand the NORMAL usage so I think
- it should be tested outside my CLEANROOM :)
-
- TODO: code for other archs than i386 and arm
-
-
-Thu Nov 1 18:41:36 MET 2001
-
- ufffff.... now the libdl code can be used in the libdl.so :)
- Status: it works in my clean room on i386, arm-code started
-
- TODO: see below :)
-
-
-Wed Jul 4 11:55:00 MEST 2001
-
- Uwe Ohse pointed to some flaws in my code, I have started to fix them....
-
- TODO: rebuild the code in a more readable and consistent way.
- TODO: code for other archs than i386
-
-
-Thu Jun 21 15:32:45 MEST 2001
-
- It work good enough to make a libdietc.so possible.
-
- TODO: rebuild the code in a more readable and consistent way.
- TODO: code for other archs than i386
-
-
-Thu Jun 7 14:10:03 MEST 2001
-
- Status: test-pre-alpha code
- the code is now "testable" ...
- I need a dyn-dietlibc specific ld.so. (in work)
-
- TODO: rebuild the code in a more readable and consistent way.
-
-
-INITIAL May ? :
-
- Status: test-pre-pre-alpha code
-
- Shouldn't work yet. Had and have some problems with the elf specs...
- and more inconsistencies...
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_alloc.c b/mdk-stage1/dietlibc/libdl/_dl_alloc.c
deleted file mode 100644
index 41d0d4671..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_alloc.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/mman.h>
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0;
-static struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0;
-static struct _dl_handle*_dl_free_list=(struct _dl_handle*)0;
-#else
-struct _dl_handle*_dl_root_handle=(struct _dl_handle*)0;
-struct _dl_handle*_dl_top_handle=(struct _dl_handle*)0;
-struct _dl_handle*_dl_free_list=(struct _dl_handle*)0;
-#endif
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void _dl_free_handle(struct _dl_handle*dh) {
- if (_dl_root_handle==dh) _dl_root_handle=dh->next;
- if (_dl_top_handle ==dh) _dl_top_handle=dh->prev;
-
- if (dh->next) dh->next->prev=dh->prev;
- if (dh->prev) dh->prev->next=dh->next;
-
- if ((dh->flags&RTLD_NOSONAME) && dh->name) free(dh->name);
- memset(dh,0,sizeof(struct _dl_handle));
- dh->next=_dl_free_list;
- _dl_free_list=dh;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-struct _dl_handle*_dl_get_handle() {
- struct _dl_handle*tmp;
-
- if (_dl_free_list==0) {
- register int i,m;
-#ifdef __DIET_LD_SO__
- tmp = (struct _dl_handle*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- m=at_pagesize/sizeof(struct _dl_handle);
-#else
- int ps=getpagesize();
- tmp = (struct _dl_handle*)mmap(0,ps,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- m=ps/sizeof(struct _dl_handle);
-#endif
- for (i=m;i;) _dl_free_handle(tmp+(--i));
- }
-
- tmp = _dl_free_list;
- _dl_free_list = tmp->next;
-
- tmp->next=0;
- if (_dl_root_handle) {
- _dl_top_handle->next=tmp;
- tmp->prev=_dl_top_handle;
- } else
- _dl_root_handle = tmp;
-
- _dl_top_handle=tmp;
-
- return tmp;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-struct _dl_handle*_dl_find_lib(const char* name) {
- if (name) {
- if (_dl_root_handle) {
- struct _dl_handle*tmp;
- for (tmp=_dl_root_handle;tmp;tmp=tmp->next) {
- if (!tmp->name) continue;
- if (!strcmp(tmp->name,name)) return tmp;
- }
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h
deleted file mode 100644
index 1bab10a92..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_int.h
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef ___DL_INT_H__
-#define ___DL_INT_H__
-
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__)
-#define ELF_CLASS ELFCLASS64
-#else
-#define ELF_CLASS ELFCLASS32
-#endif
-
-#include <elf.h>
-#include <dlfcn.h>
-
-#include "_dl_rel.h"
-
-#if ELF_CLASS == ELFCLASS32
-
-#define Elf_Addr Elf32_Addr
-
-#define Elf_Dyn Elf32_Dyn
-#define Elf_Ehdr Elf32_Ehdr
-#define Elf_Phdr Elf32_Phdr
-#define Elf_Rel Elf32_Rel
-#define Elf_Rela Elf32_Rela
-#define Elf_Sym Elf32_Sym
-
-#define ELF_R_SYM(x) ELF32_R_SYM((x))
-#define ELF_R_TYPE(x) ELF32_R_TYPE((x))
-
-#define ELF_ST_BIND(x) ELF32_ST_BIND((x))
-#define ELF_ST_TYPE(x) ELF32_ST_TYPE((x))
-
-#else
-
-#define Elf_Addr Elf64_Addr
-
-#define Elf_Dyn Elf64_Dyn
-#define Elf_Ehdr Elf64_Ehdr
-#define Elf_Phdr Elf64_Phdr
-#define Elf_Rel Elf64_Rel
-#define Elf_Rela Elf64_Rela
-#define Elf_Sym Elf64_Sym
-
-#define ELF_R_SYM(x) ELF64_R_SYM((x))
-#define ELF_R_TYPE(x) ELF64_R_TYPE((x))
-
-#define ELF_ST_BIND(x) ELF64_ST_BIND((x))
-#define ELF_ST_TYPE(x) ELF64_ST_TYPE((x))
-
-#endif
-
-//#define DEBUG
-#ifdef DEBUG
-#ifndef __DIET_LD_SO__
-#include <stdio.h>
-#define pf(s) write(2,s,strlen(s))
-#define ph(l) fdprintf(2,"%08lx",(l))
-#endif
-#endif
-
-#define RTLD_USER 0x10000000
-#define RTLD_NOSONAME 0x20000000
-#define LDSO_FLAGS (RTLD_LAZY|RTLD_GLOBAL|RTLD_NOSONAME)
-
-struct _dl_handle {
- char * mem_base; /* base address of maped *.so / or zero if program | Elf_Addr l_addr */
- char * l_name; /* Abloslute filename of this object */
- Elf_Dyn* dynamic; /* _DYNAMIC */
-
- struct _dl_handle *next;
- struct _dl_handle *prev;
-
- unsigned int flags; /* FLAGS */
-
- char * name; /* name of shared object */
-
- /* basic */
- unsigned long mem_size; /* len of mem block */
- unsigned long lnk_count; /* reference count (other libraries) */
-
- /* lazy evaluator data */
- unsigned long*pltgot; /* PLT/GOT */
-
- /* symbol resolve helper */
- unsigned long*hash_tab; /* hash table */
- char * dyn_str_tab; /* dyn_name table */
- Elf_Sym * dyn_sym_tab; /* dynamic symbol table */
- _dl_rel_t* plt_rel; /* PLT relocation table */
-
- /* INIT / FINI */
- void (*fini)(void);
-};
-
-/* debug communication (GDB) (dyn-linker only) */
-struct r_debug {
- int r_version;
- struct _dl_handle* r_map;
- unsigned long r_brk;
- enum {
- RT_CONSISTENT, /* mapping complete */
- RT_ADD, /* begin add object */
- RT_DELETE, /* begin del object */
- } r_state;
- unsigned long r_ldbase;
-};
-
-#define HASH_BUCKET_LEN(p) (*((p)))
-#define HASH_BUCKET(p) ((p)+2)
-
-#define HASH_CHAIN_LEN(p) (*((p)+1))
-#define HASH_CHAIN(p) ((p)+2+HASH_BUCKET_LEN(p))
-
-/* _dl_alloc.c */
-extern struct _dl_handle* _dl_root_handle;
-extern struct _dl_handle* _dl_top_handle;
-extern struct _dl_handle* _dl_free_list;
-#ifndef __DIET_LD_SO__
-void _dl_free_handle(struct _dl_handle* dh);
-struct _dl_handle* _dl_get_handle();
-struct _dl_handle* _dl_find_lib(const char* name);
-
-/* _dl_open.c */
-void *_dl_open(const char* filename, int flags);
-
-/* _dl_load.c */
-void *_dl_load(const char* filename, const char*pathname, int fd, int flags);
-struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags);
-
-/* _dl_search.c */
-void _dl_set_rpath(const char *path);
-const char* _dl_get_rpath();
-int _dl_search(char *buf, int len, const char *filename);
-
-/* dlsym.c */
-void *_dlsym(void*dh,char*symbol);
-void *_dl_sym_search_str(struct _dl_handle*h,char*name);
-void *_dl_sym(struct _dl_handle * h, int symbol);
-
-/* _dl_queue.c */
-int _dl_queue_lib(const char* name, int flags);
-int _dl_open_dep();
-
-/* _dl_relocate.c */
-int _dl_relocate(struct _dl_handle* dh, _dl_rel_t *rel, int num);
-
-/* dlerror.c */
-extern unsigned int _dl_error;
-extern const char* _dl_error_location;
-extern const char* _dl_error_data;
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_jump.S b/mdk-stage1/dietlibc/libdl/_dl_jump.S
deleted file mode 100644
index bd7115258..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_jump.S
+++ /dev/null
@@ -1,55 +0,0 @@
-.text
-.global _dl_jump
-_dl_jump:
-
-#ifdef __i386__
-.type _dl_jump,@function
-
- pushl %eax # save register args...
- pushl %ecx
- pushl %edx
-
- pushl %ebx
-
- pushl 20(%esp) # 2. arg from plt
- pushl 20(%esp) # 1. arg from plt
-
-#ifdef __DYN_LIB
- call 1f
-1: popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b],%ebx
- call do_rel@PLT
-#else
- call do_rel
-#endif
- addl $8, %esp
-
- popl %ebx
-
- popl %edx # restore register args...
- popl %ecx
-
- xchgl %eax, (%esp) # restore eax and save function pointer (for return)
-
- ret $8 # remove arguments from plt and jump to REAL function
-
-#endif
-
-#ifdef __arm__
-.type _dl_jump,function
-
- stmdb sp!, {r0, r1, r2, r3}
- sub r1, ip, lr
- sub r1, r1, #4
- add r1, r1, r1 /* dyntab entry */
- ldr r0, [lr, #-4] /* dynlib handle */
-#ifdef __DYN_LIB
- bl do_rel(PLT)
-#else
- bl do_rel
-#endif
- mov r12, r0
- ldmia sp!, {r0, r1, r2, r3, lr}
- mov pc, r12
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_load.c b/mdk-stage1/dietlibc/libdl/_dl_load.c
deleted file mode 100644
index 49e8db0be..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_load.c
+++ /dev/null
@@ -1,401 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <dlfcn.h>
-#include <elf.h>
-
-#include "_dl_int.h"
-
-#define _ELF_DWN_ROUND(ps,n) ((n)&(~((ps)-1)))
-#define _ELF_UP_ROUND(ps,n) ((((n)&((ps)-1))?(ps):0)+ _ELF_DWN_ROUND((ps),(n)))
-#define _ELF_RST_ROUND(ps,n) ((n)&((ps)-1))
-
-/* this is an arch specific "return jump" for the relocation */
-void _dl_jump();
-
-/*
- * this file is a Q. & D. hack ... don't think this is bug free or meaningfull
- */
-
-static inline int map_flags(int flags)
-{
- int perm = 0;
- if (flags & PF_X) perm|=PROT_EXEC;
- if (flags & PF_R) perm|=PROT_READ;
- if (flags & PF_W) perm|=PROT_WRITE;
- return perm;
-}
-
-static inline void *do_map_in(void *base, unsigned long length, int flags, int fd, unsigned long offset)
-{
- register int op = MAP_PRIVATE;
- if (base) op|=MAP_FIXED;
- return mmap(base, length, map_flags(flags), op, fd, offset);
-}
-
-static struct _dl_handle *_dl_map_lib(const char*fn, const char*pathname, int fd, int flags)
-{
- struct _dl_handle* ret=0;
- int ps=getpagesize();
- int i;
- unsigned char buf[1024];
- char *m=0,*d=0;
-
- unsigned long l;
- struct stat st;
-
- Elf_Ehdr *eh;
- Elf_Phdr *ph;
-
- int ld_nr=0;
- Elf_Phdr **ld=0;
- Elf_Phdr *dyn=0;
-
- if (fd==-1) return 0;
-
-#ifdef DEBUG
- pf(__func__": "); pf(pathname); pf("\n");
-#endif
-
- if (fstat(fd,&st)<0) {
- close(fd);
- _dl_error=2;
- return 0;
- }
- else {
- // use st_dev and st_ino for identification
- }
-
- if (read(fd, buf, 1024)<128) {
- close(fd);
- _dl_error=2;
- return 0;
- }
-
- eh=(Elf_Ehdr*)buf;
- ph=(Elf_Phdr*)&buf[eh->e_phoff];
-
- for (i=0; i<eh->e_phnum; i++) {
- if (ph[i].p_type==PT_LOAD) ++ld_nr;
- }
- ld=alloca(ld_nr*sizeof(Elf_Phdr));
-
- for (ld_nr=i=0; i<eh->e_phnum; i++) {
- if (ph[i].p_type==PT_LOAD) {
- ld[ld_nr++]=ph+i;
- }
- if (ph[i].p_type==PT_DYNAMIC) {
- dyn=ph+i;
- }
- }
-
- if (ld_nr==1) {
- unsigned long offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset);
- unsigned long off = _ELF_RST_ROUND(ps,ld[0]->p_offset);
- unsigned long length = _ELF_UP_ROUND(ps,ld[0]->p_memsz+off);
- ret = _dl_get_handle();
-
- m = (char*)do_map_in(0, length, ld[0]->p_flags, fd, offset);
- if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; }
-
- /* zero pad bss */
- l = ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- ret->mem_base=m;
- ret->mem_size=length;
- }
- else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */
-// unsigned long text_addr = _ELF_DWN_ROUND(ps,ld[0]->p_vaddr); /* do we need this ? */
- unsigned long text_offset = _ELF_DWN_ROUND(ps,ld[0]->p_offset);
- unsigned long text_off = _ELF_RST_ROUND(ps,ld[0]->p_offset);
- unsigned long text_size = _ELF_UP_ROUND(ps,ld[0]->p_memsz+text_off);
-
- unsigned long data_addr = _ELF_DWN_ROUND(ps,ld[1]->p_vaddr);
- unsigned long data_offset = _ELF_DWN_ROUND(ps,ld[1]->p_offset);
- unsigned long data_off = _ELF_RST_ROUND(ps,ld[1]->p_offset);
- unsigned long data_size = _ELF_UP_ROUND(ps,ld[1]->p_memsz+data_off);
- unsigned long data_fsize = _ELF_UP_ROUND(ps,ld[1]->p_filesz+data_off);
-
- ret = _dl_get_handle();
- /* mmap all mem_blocks for *.so */
- m = (char*) do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset);
- if (m==MAP_FAILED) { _dl_free_handle(ret); close(fd); return 0; }
-
- /* release data,bss part */
- mprotect(m+data_addr, data_size, PROT_NONE);
-
- /* mmap data,bss part */
- d = (char*) do_map_in(m+data_addr,data_fsize,ld[1]->p_flags,fd,data_offset);
-
- /* zero pad bss */
- l = data_off+ld[1]->p_filesz;
- memset(d+l,0,data_fsize-l);
-
- /* more bss ? */
- if (data_size>data_fsize) {
- l = data_size-data_fsize;
- mmap(d+data_fsize, l, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
- }
-
- ret->mem_base=m;
- ret->mem_size=text_size+data_size;
- }
-
- if (ret) {
- ret->lnk_count=1;
- ret->name=strdup(fn);
- ret->dyn_str_tab=(char*)m+dyn->p_vaddr; /* missuse of field */
- }
-
- close(fd);
- return ret;
-}
-
-/* local alias */
-static struct _dl_handle* __dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags)
-__attribute__ ((alias("_dl_dyn_scan")));
-
-struct _dl_handle* _dl_dyn_scan(struct _dl_handle* dh, void* dyn_addr, int flags)
-{
- Elf_Dyn* dyn_tab = dyn_addr;
-
- void (*init)()=0;
- unsigned long* got=0;
- void* jmprel=0;
- int pltreltype=0;
- int pltrelsize=0;
- unsigned long rel=0;
- int relent=0;
- int relsize=0;
-
- int i;
-
-#ifdef DEBUG
- pf(__func__": pre dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
- dh->dyn_str_tab=0;
- dh->flags=flags;
-
- for(i=0;dyn_tab[i].d_tag;i++) {
-// DEBUG(printf("_dl_load dyn %d, %08lx\n",dyn_tab[i].d_tag, dyn_tab[i].d_un.d_val);)
- if (dyn_tab[i].d_tag==DT_HASH) {
- dh->hash_tab = (unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have hash @ "); ph((long)dh->hash_tab); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_SYMTAB) {
- dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_STRTAB) {
- dh->dyn_str_tab = (char*)(dh->mem_base+dyn_tab[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__func__": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n");
-#endif
- }
-
- /* INIT / FINI */
- else if (dyn_tab[i].d_tag==DT_FINI) {
- dh->fini = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have fini @ "); ph((long)dh->fini); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_INIT) {
- init = (void(*)(void))(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have init @ "); ph((long)init); pf("\n");
-#endif
- }
-
- /* PLT / Relocation entries for PLT in GOT */
- else if (dyn_tab[i].d_tag==DT_PLTGOT) {
- got=(unsigned long*)(dh->mem_base+dyn_tab[i].d_un.d_val);
- dh->pltgot=got;
-#ifdef DEBUG
- pf(__func__": have plt got @ "); ph((long)dh->pltgot); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_PLTREL) {
- pltreltype=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have pltreltype @ "); ph((long)pltreltype); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_PLTRELSZ) {
- pltrelsize=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have pltrelsize @ "); ph((long)pltrelsize); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_JMPREL) {
- jmprel=(dh->mem_base+dyn_tab[i].d_un.d_val);
- dh->plt_rel=jmprel;
-#ifdef DEBUG
- pf(__func__": have jmprel @ "); ph((long)jmprel); pf("\n");
-#endif
- }
-
- /* Relocation */
- else if (dyn_tab[i].d_tag==DT_REL) {
- rel=(unsigned long)(dh->mem_base+dyn_tab[i].d_un.d_val);
-#ifdef DEBUG
- pf(__func__": have rel @ "); ph((long)rel); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_RELENT) {
- relent=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have relent @ "); ph((long)relent); pf("\n");
-#endif
- }
- else if (dyn_tab[i].d_tag==DT_RELSZ) {
- relsize=dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": have relsize @ "); ph((long)relsize); pf("\n");
-#endif
- }
-
- else if (dyn_tab[i].d_tag==DT_TEXTREL) {
- _dl_free_handle(dh);
- _dl_error = 3;
- return 0;
- }
- }
- /* extra scan for rpath (if program) ... */
- if (dh->name==0) {
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_RPATH) {
- char *rpath=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
- _dl_set_rpath(rpath);
-#ifdef DEBUG
- pf(__func__": have runpath: "); pf(rpath); pf("\n");
-#endif
- }
- }
- }
-
-#ifdef DEBUG
- pf(__func__": post dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
-
- if ((got=_dlsym(dh,"_GLOBAL_OFFSET_TABLE_"))) {
-#ifdef DEBUG
- pf(__func__": found a GOT @ "); ph((unsigned long)got); pf("\n");
-#endif
- /* GOT */
- got[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- got[1] =(unsigned long)dh;
- got[2] =(unsigned long)(_dl_jump); /* sysdep jump to _dl_rel */
- /* */
- }
- else {
- if (dh) {
- munmap(dh->mem_base,dh->mem_size);
- _dl_free_handle(dh);
- }
- _dl_error = 3;
- return 0;
- }
-
- /* load other libs */
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__func__": needed for this lib: "); pf(lib_name); pf("\n");
-#endif
- _dl_queue_lib(lib_name,flags);
- }
- }
-
- if (_dl_open_dep()) {
- _dl_error = 1;
- return 0;
- }
-
- /* relocate */
- if (rel) {
-#ifdef DEBUG
- pf(__func__": try to relocate some values\n");
-#endif
- if (_dl_relocate(dh,(Elf_Rel*)rel,relsize/relent)) {
- munmap(dh->mem_base,dh->mem_size);
- _dl_free_handle(dh);
- return 0;
- }
- }
-
- /* do PTL / GOT relocation */
- if (pltreltype == DT_REL) {
- Elf_Rel *tmp = jmprel;
-#ifdef DEBUG
- pf(__func__": rel got\n");
-#endif
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rel)) {
- if ((flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_free_handle(dh);
- _dl_error = 4;
- return 0;
- }
- }
- else
- *((unsigned long*)(dh->mem_base+tmp->r_offset))+=(unsigned long)dh->mem_base;
-#if 0
- DEBUG("_dl_load rel @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info));
- DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset)));
-#endif
- }
- }
- if (pltreltype == DT_RELA) {
- Elf_Rela *tmp = jmprel;
-#ifdef DEBUG
- pf(__func__": rela got\n");
-#endif
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf_Rela)) {
- if ((flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_free_handle(dh);
- _dl_error = 4;
- return 0;
- }
- }
- else
- *((unsigned long*)(dh->mem_base+tmp->r_offset))=(unsigned long)(dh->mem_base+tmp->r_addend);
-#if 0
- DEBUG("_dl_load rela @ %08lx with type %d -> %d\n",(long)dh->mem_base+tmp->r_offset,ELF_R_TYPE(tmp->r_info),ELF_R_SYM(tmp->r_info));
- DEBUG("_dl_load -> %08lx\n",*((unsigned long*)(dh->mem_base+tmp->r_offset)));
-#endif
- }
- }
-
- /* _dl_load depending libs ... */
-#ifdef DEBUG
- pf(__func__": post resolve, pre init\n");
-#endif
- if (init) init();
-#ifdef DEBUG
- pf(__func__": post init\n");
-#endif
-
- return dh;
-}
-
-void *_dl_load(const char*fn, const char*pathname, int fd, int flags)
-{
- struct _dl_handle* ret=0;
- if ((ret=_dl_map_lib(fn,pathname,fd,flags))) {
- ret=__dl_dyn_scan(ret,(void*)(ret->dyn_str_tab),flags);
- }
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_main.c b/mdk-stage1/dietlibc/libdl/_dl_main.c
deleted file mode 100644
index 8ecf44f0b..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_main.c
+++ /dev/null
@@ -1,1059 +0,0 @@
-#ifdef __OD_CLEAN_ROOM
-
-#define __DIET_LD_SO__
-
-/*
- * this is the dietlibc libdl & dynamic-linker
- *
- * NEED to be compiled with -fPIC ...
- */
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include "_dl_int.h"
-#include "_dl_rel.h"
-
-void _start(void); /* entry of lib... */
-
-static void (*fini_entry)(void)=0;
-static char **_dl_environ=0;
-static unsigned long loadaddr=0;
-static unsigned long prog_entry=0;
-
-static Elf_Phdr*prog_ph;
-static unsigned long prog_ph_size;
-static unsigned long prog_ph_num;
-
-static unsigned long at_uid;
-static unsigned long at_euid;
-static unsigned long at_gid;
-static unsigned long at_egid;
-static unsigned long at_pagesize;
-
-/* this are the "local syscalls" */
-void _dl_sys_exit(int val);
-int _dl_sys_read(int fd,char*buf,unsigned long len);
-int _dl_sys_write(int fd,char*buf,unsigned long len);
-int _dl_sys_open(const char*filename,int flags,int mode);
-int _dl_sys_close(int fd);
-void*_dl_sys_mmap(void*start,unsigned long length,int prot,int flags,int fd,unsigned long offset);
-int _dl_sys_munmap(void*start,unsigned long length);
-int _dl_sys_mprotect(const void*addr,unsigned long len,int prot);
-int _dl_sys_fstat(int filedes, struct stat *buf);
-
-extern char*strdup(const char*s);
-
-#ifdef __i386__
-
-asm(".text \n"
-".type _start,@function \n"
-"_start: \n"
-" movl %esp, %ebp # save stack \n"
-" movl (%ebp), %ecx # argc \n"
-" leal 4(%ebp), %esi # argv \n"
-" leal 4(%esi,%ecx,4), %eax # envp \n"
-
-"# PIC code \n"
-" call getpic \n"
-" addl $_GLOBAL_OFFSET_TABLE_, %ebx \n"
-
-"# for calculation of load addr, get 'relocated' address of _DYNAMIC \n"
-" leal _DYNAMIC@GOTOFF(%ebx), %edx \n"
-
-"# put parameter on stack and call _dl_main \n"
-" pushl %edx \n"
-" pushl %eax \n"
-" pushl %esi \n"
-" pushl %ecx \n"
-" call _dl_main \n"
-
-"# restore stack \n"
-" movl %ebp, %esp \n"
-
-"# get fini pointer \n"
-" movl fini_entry@GOTOFF(%ebx), %edx \n"
-
-"# clear callee-save-register like kernel \n"
-" xorl %ebx, %ebx \n"
-" xorl %ebp, %ebp \n"
-" xorl %edi, %edi \n"
-" xorl %esi, %esi \n"
-
-"# jump to program entry point \n"
-" jmp *%eax \n"
-
-"_dl_sys_read: \n"
-" movb $3,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_write: \n"
-" movb $4,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_open: \n"
-" movb $5,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_close: \n"
-" movb $6,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_mmap: \n"
-" movb $90,%al \n"
-" leal 4(%esp),%edx \n"
-" pushl %edx \n"
-" call _dl_sys_call3 \n"
-" popl %ecx \n"
-" ret \n"
-"_dl_sys_munmap: \n"
-" movb $91,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_fstat: \n"
-" movb $108,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_mprotect: \n"
-" movb $125,%al \n"
-" jmp _dl_sys_call3 \n"
-"_dl_sys_exit: \n"
-" movb $1,%al \n"
-"_dl_sys_call3: \n"
-" movzbl %al,%eax \n"
-" pushl %ebx \n"
-" movl %esp,%ebx \n"
-" movl 16(%ebx),%edx \n"
-" movl 12(%ebx),%ecx \n"
-" movl 8(%ebx),%ebx \n"
-" int $0x80 \n"
-" popl %ebx \n"
-" ret \n"
-
-".type _dl_jump,@function \n"
-"_dl_jump: \n"
-" pushl %eax # save register args... \n"
-" pushl %ecx \n"
-" pushl %edx \n"
-
-" push 16(%esp) # 2. arg from plt \n"
-" push 16(%esp) # 1. arg from plt \n"
-" call do_resolve \n"
-" add $8, %esp \n"
-
-" popl %edx # restore register args... \n"
-" popl %ecx \n"
-" xchgl %eax, (%esp) # restore eax and save function pointer (for return) \n"
-" ret $8 # remove arguments from plt and jump to REAL function \n"
-
-"# GET Position In Code :) \n"
-"getpic: movl (%esp), %ebx \n"
-" ret");
-
-static inline unsigned long* get_got(void) {
- register unsigned long *got asm ("%ebx");
- return got;
-}
-
-static inline int work_on_pltgot(struct _dl_handle*dh) {
- /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
- static void _dl_jump(void);
- if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) {
- unsigned long*tmp=dh->pltgot;
- /* GOT */
- tmp[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- tmp[1] =(unsigned long)dh; /* the handle */
- tmp[2] =(unsigned long)(_dl_jump); /* sysdep jump to do_resolve */
- }
- return 0;
-}
-
-#elif __arm__
-
-asm(".text \n"
-".type _start,function \n"
-"_start: \n"
-" mov r4, sp \n"
-" mov fp, #0 @ start new stack frame \n"
-
-" ldr a1, [sp], #4 @ argc \n"
-" mov a2, sp @ argv \n"
-
-" add a3, a2, a1, lsl #2 @ envp \n"
-" add a3, a3, #4 \n"
-
-" ldr sl, .L_got @ PIC code \n"
-"1: add sl, pc, sl \n"
-
-" ldr a4, .L_la @ get 'relocated' address of _DYNAMIC \n"
-" add a4, a4, sl \n"
-
-" bl _dl_main @ call _dl_main \n"
-
-" mov sp, r4 \n"
-
-" mov lr, a1 @ save program entry point \n"
-
-" ldr a1, [pc, #.L_fe-(.+8)] @ agrument 1: global fini entry \n"
-" ldr a1, [sl, a1] \n"
-
-" mov pc, lr \n"
-
-".L_got: .long _GLOBAL_OFFSET_TABLE_-(1b+8) \n"
-".L_la: .long _DYNAMIC(GOTOFF) \n"
-".L_fe: .long fini_entry(GOTOFF) \n"
-
-"_dl_sys_exit: \n"
-" swi #0x900001 @ exit \n"
-" eor pc, lr, lr @ OR DIE ! \n"
-" mov pc, lr \n"
-
-"_dl_sys_read: \n"
-" swi #0x900003 @ read \n"
-" mov pc, lr \n"
-"_dl_sys_write: \n"
-" swi #0x900004 @ write \n"
-" mov pc, lr \n"
-"_dl_sys_open: \n"
-" swi #0x900005 @ open \n"
-" mov pc, lr \n"
-"_dl_sys_close: \n"
-" swi #0x900006 @ close \n"
-" mov pc, lr \n"
-"_dl_sys_mmap: \n"
-" stmdb sp!,{r0,r1,r2,r3} \n"
-" mov r0, sp \n"
-" swi #0x900090 @ mmap \n"
-" add sp, sp, #16 \n"
-" mov pc, lr \n"
-"_dl_sys_munmap: \n"
-" swi #0x900091 @ munmap \n"
-" mov pc, lr \n"
-"_dl_sys_fstat: \n"
-" swi #0x900108 @ fstat \n"
-" mov pc, lr \n"
-"_dl_sys_mprotect: \n"
-" swi #0x900125 @ mprotect \n"
-" mov pc, lr \n"
-
-".type _dl_jump,function \n"
-"_dl_jump: \n"
-" stmdb sp!, {r0, r1, r2, r3} @ save arguments \n"
-
-" sub r1, ip, lr @ dyntab entry \n"
-" sub r1, r1, #4 \n"
-" add r1, r1, r1 \n"
-
-" ldr r0, [lr, #-4] @ dynlib handle \n"
-
-" bl do_resolve \n"
-
-" mov r12, r0 \n"
-" ldmia sp!, {r0, r1, r2, r3, lr} @ restore arguments \n"
-" mov pc, r12");
-
-static inline unsigned long* get_got(void) {
- register unsigned long *got asm ("sl");
- return got;
-}
-
-static inline int work_on_pltgot(struct _dl_handle*dh) {
- /* declare _dl_jump static otherwise we have a GOT access BEFOR we have the resolver */
- static void _dl_jump(void);
- if ((dh->plt_rel)&&(!(dh->flags&RTLD_NOW))) {
- unsigned long*tmp=dh->pltgot;
- /* GOT */
- tmp[0]+=(unsigned long)dh->mem_base; /* reloc dynamic pointer */
- tmp[1] =(unsigned long)dh; /* the handle */
- tmp[2] =(unsigned long)(_dl_jump); /* sysdep jump to do_resolve */
- }
- return 0;
-}
-
-#else
-#error "libdl: arch not supported"
-#endif
-
-static void*_dl_load(const char*fn,const char*pathname,int fd,int flags);
-
-/* here do the code includes */
-
-/* strncpy */
-static char*strncpy(register char*s,register const char*t,register unsigned long n) {
- char *dest=s;
- for(;n;--n) {
- char ch=*t;
- *s=ch;
- if (ch==0) return dest;
- ++s; ++t;
- }
- return 0;
-}
-
-/* strlen.c */
-static unsigned long strlen(register const char*s) {
- register unsigned long i;
- if (!s) return 0;
- for (i=0; *s; ++s) ++i;
- return i;
-}
-
-/* strcmp.c */
-static int strcmp(register const unsigned char*s,register const unsigned char*t) {
- register char x;
- for (;;) {
- x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
- }
- return ((int)(unsigned int)x) - ((int)(unsigned int)*t);
-}
-
-/* strcspn.c */
-static unsigned long strcspn(const char*s,const char*reject) {
- unsigned long l=0;
- int a=1,i,al=strlen(reject);
- while((a)&&(*s)) {
- for(i=0;(a)&&(i<al);++i) if (*s==reject[i]) a=0;
- if (a) ++l;
- ++s;
- }
- return l;
-}
-
-/* memcpy.c */
-static void*memcpy(void*dst,const void*src,unsigned long count) {
- register char *d=dst;
- register const char *s=src;
- ++count;
- while (--count) {
- *d = *s;
- ++d; ++s;
- }
- return dst;
-}
-
-/* memset.c */
-static void*memset(void*dst,int ch,unsigned long count) {
- register char *d=dst;
- ++count;
- while (--count) {
- *d=ch;
- ++d;
- }
- return dst;
-}
-
-/* memcmp.c */
-static int memcmp(register const unsigned char*s,register const unsigned char*t,unsigned long count) {
- register int r;
- ++count;
- while(--count) {
- if ((r=(*s-*t))) return r;
- ++s;
- ++t;
- }
- return 0;
-}
-
-/* getenv.c */
-static char*getenv(const char*env) {
- unsigned int i,len=strlen(env);
- for (i=0;_dl_environ[i];++i) {
- if ((memcmp(_dl_environ[i],env,len)==0) && (_dl_environ[i][len]=='='))
- return _dl_environ[i]+len+1;
- }
- return 0;
-}
-
-/* basic debug output functions */
-static void pf(const char*s) { _dl_sys_write(2,(void*)s,strlen(s)); }
-static void ph(unsigned long l) {
- const int max=(sizeof(unsigned long)<<1);
- unsigned char buf[16];
- int i;
- for (i=max;i;l>>=4) {
- register unsigned long v='0'|(l&15);
- if (v>'9') v+=0x27;
- buf[--i]=v;
- }
- _dl_sys_write(2,buf,max);
-}
-
-/* the never free strdup (internal) */
-static unsigned long _dl_lib_strdup_len=0;
-static char*_dl_lib_strdup_str;
-static char*_dl_lib_strdup(const char*s) {
- char*ret=_dl_lib_strdup_str;
- unsigned long l=strlen(s)+1;
- if (_dl_lib_strdup_len<l) {
- ret=(char*)_dl_sys_mmap(0,at_pagesize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);
- _dl_lib_strdup_len=at_pagesize;
- }
- _dl_lib_strdup_str=ret+l;
- _dl_lib_strdup_len-=l;
- memcpy(ret,s,l);
- return ret;
-}
-
-#ifdef __GDB_SUPPORT__
-volatile void _dl_debug_state(void);
-/* gdb debug break point */
-void _dl_debug_state() {}
-
-/* gdb debug init stuff */
-struct r_debug _r_debug;
-static struct r_debug* _dl_debug_init(Elf_Addr dl_base) {
- if (_r_debug.r_brk==0) {
- _r_debug.r_version = 1;
- _r_debug.r_ldbase = dl_base;
- _r_debug.r_map = _dl_root_handle; /* this my be wrong */
- _r_debug.r_brk = (Elf_Addr)&_dl_debug_state;
- }
- return &_r_debug;
-}
-#endif
-
-/* now reuse some unchanged sources */
-#include "dlerror.c"
-#include "_dl_alloc.c"
-
-#include "dlsym.c"
-
-#include "_dl_search.c"
-
-#include "_dl_open.c"
-#include "dlopen.c"
-
-#include "_dl_relocate.c"
-#include "_dl_queue.c"
-
-#include "dlclose.c"
-
-/* back to the "new" implementation */
-static void tt_fini(void) {
- struct _dl_handle*tmp;
-#ifdef DEBUG
- pf("dyn fini\n");
-#endif
- for(tmp=_dl_root_handle;tmp;tmp=tmp->next)
- if (tmp->fini) tmp->fini();
-}
-
-/* exit ! */
-static void _DIE_() { _dl_sys_exit(213); }
-
-/* lazy function resolver */
-static unsigned long do_resolve(struct _dl_handle*dh,unsigned long off) {
- _dl_rel_t *tmp = ((void*)dh->plt_rel)+off;
- int sym=ELF_R_SYM(tmp->r_info);
- register unsigned long sym_val;
-
- if (0) sym_val=(unsigned long)do_resolve; /* TRICK: no warning */
-
- /* modify GOT for REAL symbol */
- sym_val=(unsigned long)_dl_sym(dh,sym);
- *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym_val;
-
- /* JUMP (arg sysdep...) */
- if (sym_val) return sym_val;
- /* can't find symbol */
- return (unsigned long)_DIE_;
-}
-
-/* library loader */
-
-/* ELF -> MMAP permissions */
-static inline int map_flags(int flags) {
- int perm = 0;
- if (flags & PF_X) perm|=PROT_EXEC;
- if (flags & PF_R) perm|=PROT_READ;
- if (flags & PF_W) perm|=PROT_WRITE;
- return perm;
-}
-
-/* a simple mmap wrapper */
-static inline void*do_map_in(void*base,unsigned long length,int flags,int fd,unsigned long offset) {
- register int op = MAP_PRIVATE;
- if (base) op|=MAP_FIXED;
- return _dl_sys_mmap(base, length, map_flags(flags), op, fd, offset);
-}
-
-/* map a library into memory */
-#define _ELF_DWN_ROUND(ps,n) ((n)&(~((ps)-1)))
-#define _ELF_UP_ROUND(ps,n) ((((n)&((ps)-1))?(ps):0)+_ELF_DWN_ROUND((ps),(n)))
-#define _ELF_RST_ROUND(ps,n) ((n)&((ps)-1))
-static struct _dl_handle*_dl_map_lib(const char*fn,const char*pathname,int fd,int flags) {
- struct _dl_handle*ret=0;
- int i;
- unsigned char buf[1024];
- char *m=0,*d=0;
-
- unsigned long l;
- struct stat st;
-
- Elf_Ehdr*eeh;
- Elf_Phdr*eph;
-
- int ld_nr=0;
- Elf_Phdr*ld[4]={0,0,0,0};
- Elf_Phdr*dyn=0;
-
- if (0) { pathname=0; } /* no unused parameter */
- if (fd==-1) return 0;
-
- if (_dl_sys_fstat(fd,&st)<0) {
-err_out_close:
- _dl_sys_close(fd);
- _dl_error_data=fn;
- _dl_error=2;
- return 0;
- } else {
- /* use st_dev and st_ino for identification */
- }
-
- if (_dl_sys_read(fd,buf,1024)<128) goto err_out_close;
-
- eeh=(Elf_Ehdr*)buf;
- eph=(Elf_Phdr*)&buf[eeh->e_phoff];
-
- for (i=0;i<eeh->e_phnum;++i) {
- if (eph[i].p_type==PT_LOAD) {
- if (ld_nr>3) goto err_out_close;
- ld[ld_nr++]=eph+i;
- }
- if (eph[i].p_type==PT_DYNAMIC) {
- dyn=eph+i;
- }
- }
-
- if (ld_nr==1) {
- unsigned long offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long off =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long length=_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+off);
- ret=_dl_get_handle();
- m=(char*)do_map_in(0,length,ld[0]->p_flags,fd,offset);
- if (m==MAP_FAILED) goto err_out_free;
- /* zero pad bss */
- l=ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- ret->mem_base=m;
- ret->mem_size=length;
- }
- else if (ld_nr==2) { /* aem... yes Quick & Really Dirty / for the avarage 99% */
-// unsigned long text_addr = _ELF_DWN_ROUND(at_pagesize,ld[0]->p_vaddr); /* do we need this ? */
- unsigned long text_offset=_ELF_DWN_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long text_off =_ELF_RST_ROUND(at_pagesize,ld[0]->p_offset);
- unsigned long text_size =_ELF_UP_ROUND(at_pagesize,ld[0]->p_memsz+text_off);
-
- unsigned long data_addr =_ELF_DWN_ROUND(at_pagesize,ld[1]->p_vaddr);
- unsigned long data_offset=_ELF_DWN_ROUND(at_pagesize,ld[1]->p_offset);
- unsigned long data_off =_ELF_RST_ROUND(at_pagesize,ld[1]->p_offset);
- unsigned long data_size =_ELF_UP_ROUND(at_pagesize,ld[1]->p_memsz+data_off);
- unsigned long data_fsize =_ELF_UP_ROUND(at_pagesize,ld[1]->p_filesz+data_off);
-
- ret=_dl_get_handle();
- /* mmap all mem_blocks for *.so */
- m=(char*)do_map_in(0,text_size+data_size,ld[0]->p_flags,fd,text_offset);
- if (m==MAP_FAILED) {
-err_out_free:
- _dl_free_handle(ret);
- _dl_sys_close(fd);
- return 0;
- }
-
- /* release data,bss part */
- _dl_sys_mprotect(m+data_addr,data_size,PROT_NONE);
-
- /* mmap data,bss part */
- d=(char*)do_map_in(m+data_addr,data_fsize,ld[1]->p_flags,fd,data_offset);
-
- /* zero pad bss */
- l=data_off+ld[1]->p_filesz;
- memset(d+l,0,data_fsize-l);
- /* more bss ? */
- if (data_size>data_fsize) {
- l=data_size-data_fsize;
- _dl_sys_mmap(d+data_fsize,l,PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,-1,0);
- }
-
- ret->mem_base=m;
- ret->mem_size=text_size+data_size;
- }
- else {
- _dl_error_data=fn;
- _dl_error=7;
- }
-
- if (ret) {
- ++ret->lnk_count;
- if (flags&RTLD_USER)
- ret->name=strdup(fn);
- else
- ret->name=_dl_lib_strdup(fn);
- ret->flags=flags;
- ret->dynamic=(Elf_Dyn*)(m+dyn->p_vaddr);
- }
-
- _dl_sys_close(fd);
- return ret;
-}
-
-/* dynamic section parser */
-static struct _dl_handle* _dl_dyn_scan(struct _dl_handle*dh,Elf_Dyn*_dynamic) {
- void(*init)(void)=0;
-
- _dl_rel_t* plt_rel=0;
- unsigned long plt_relsz=0;
-
- _dl_rel_t* rel=0;
- unsigned long relent=0;
- unsigned long relsize=0;
-
- int i;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
- for(i=0;_dynamic[i].d_tag;++i) {
- switch(_dynamic[i].d_tag) {
- /* this depends on dyn_str_tab -> second run */
- case DT_NEEDED:
- case DT_SONAME:
- break;
-
- /* BASIC DYNAMIC STUFF */
- case DT_HASH:
- dh->hash_tab = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have hash @ "); ph((long)dh->hash_tab); pf("\n");
-#endif
- break;
- case DT_SYMTAB:
- dh->dyn_sym_tab = (Elf_Sym*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have dyn_sym_tab @ "); ph((long)dh->dyn_sym_tab); pf("\n");
-#endif
- break;
- case DT_STRTAB:
- dh->dyn_str_tab = (char*)(dh->mem_base+_dynamic[i].d_un.d_ptr);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have dyn_str_tab @ "); ph((long)dh->dyn_str_tab); pf("\n");
-#endif
- break;
-
- /* DYNAMIC INIT/FINI (constructors/destructors) */
- case DT_FINI:
- dh->fini = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have fini @ "); ph((long)dh->fini); pf("\n");
-#endif
- break;
- case DT_INIT:
- init = (void(*)(void))(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have init @ "); ph((long)init); pf("\n");
-#endif
- break;
-
- /* PLT RELOCATION */
- case DT_PLTGOT:
- dh->pltgot = (unsigned long*)(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have plt/got @ "); ph((long)dh->pltgot); pf("\n");
-#endif
- break;
- case DT_PLTREL:
- if (_dynamic[i].d_un.d_val!=_DL_REL_T) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have incompatible relocation type\n");
-#endif
- _dl_error_data=dh->name;
- _dl_error=6;
- return 0;
- }
- break;
- case DT_JMPREL:
- plt_rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val);
- dh->plt_rel = plt_rel;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have jmprel @ "); ph((long)plt_rel); pf("\n");
-#endif
- break;
- case DT_PLTRELSZ:
- plt_relsz = _dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have pltrelsize @ "); ph((long)plt_relsz); pf("\n");
-#endif
- break;
-
- /* BASIC RELOCATION */
- case DT_REL:
- rel = (_dl_rel_t*)(dh->mem_base+_dynamic[i].d_un.d_val);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have rel @ "); ph((long)rel); pf("\n");
-#endif
- break;
- case DT_RELENT:
- relent=_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have relent @ "); ph((long)relent); pf("\n");
-#endif
- break;
- case DT_RELSZ:
- relsize=_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have relsize @ "); ph((long)relsize); pf("\n");
-#endif
- break;
-
-
- /* TEXT RELOCATIONS POSSIBLE -> NO SHARED OBJECT */
- case DT_TEXTREL:
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": found possible textrelocation -> "); pf(dh->name); pf(" is not compiled as a shared library\n");
-#endif
- _dl_error_data=dh->name;
- _dl_error=3;
- return 0;
- break;
-
- /* OTHERS */
- default:
-#ifdef DEBUG
-#if 0
- pf(__FUNCTION__); pf(": unknown "); ph(_dynamic[i].d_tag); pf(", "); ph(_dynamic[i].d_un.d_val); pf("\n");
-#endif
-#endif
- break;
- }
- }
-
- for(i=0;_dynamic[i].d_tag;i++) {
- if (dh->name) { /* librabry can have a SONAME */
- if (_dynamic[i].d_tag==DT_SONAME) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre soname: "); pf(dh->name); pf("\n");
-#endif
- if (dh->flags&RTLD_USER) free(dh->name);
- dh->flags&=~RTLD_NOSONAME;
- dh->name = dh->dyn_str_tab+_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have soname: "); pf(dh->name); pf("\n");
-#endif
- }
- }
- else { /* programs can have a LD_RUN_PATH */
- if (_dynamic[i].d_tag==DT_RPATH) {
- register char *rpath=dh->dyn_str_tab+_dynamic[i].d_un.d_val;
- _dl_search_rpath=rpath;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": have runpath: "); pf(rpath); pf("\n");
-#endif
- }
- }
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post dynamic scan "); ph((unsigned long)dh); pf("\n");
-#endif
-
- if (work_on_pltgot(dh)) {
- _dl_error_data=dh->name;
- _dl_error=3;
- return 0;
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre load depending libraries "); ph((unsigned long)dh); pf("\n");
-#endif
- /* load depending libs */
- for(i=0;_dynamic[i].d_tag;++i) {
- if (_dynamic[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+_dynamic[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": needed for this lib: "); pf(lib_name); pf("\n");
-#endif
- _dl_queue_lib(lib_name,dh->flags);
- }
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre open depending libraries 2 "); ph((unsigned long)dh); pf("\n");
-#endif
- if (_dl_open_dep()) {
- return 0;
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post load depending libraries, pre resolve "); ph((unsigned long)dh); pf("\n");
-#endif
-
- /* relocation */
- if (rel) {
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": try to relocate some values\n");
-#endif
- if (_dl_relocate(dh,rel,relsize/relent)) return 0;
- }
-
- /* do PTL / GOT relocation */
- if (plt_rel) {
- _dl_rel_t *tmp,*max=((void*)plt_rel)+plt_relsz;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": rel plt/got\n");
-#endif
- for(tmp=plt_rel;tmp<max;(char*)tmp=((char*)tmp)+sizeof(_dl_rel_t)) {
- if ((dh->flags&RTLD_NOW)) {
- unsigned long sym=(unsigned long)_dl_sym(dh,ELF_R_SYM(tmp->r_info));
- if (sym) *((unsigned long*)(dh->mem_base+tmp->r_offset))=sym;
- else {
- _dl_error_data=dh->name;
- _dl_error=4;
- return 0;
- }
- }
- else
- _DL_REL_PLT(dh->mem_base,tmp);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": rel @ "); ph((long)dh->mem_base+tmp->r_offset); pf(" with type ");
- ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(ELF_R_SYM(tmp->r_info));
- pf(" -> "); ph(*((unsigned long*)(dh->mem_base+tmp->r_offset))); pf("\n");
-#endif
- }
- }
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post resolve, pre init "); ph((unsigned long)dh); pf("\n");
-#endif
- if (init) init();
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post init "); ph((unsigned long)dh); pf("\n");
-#endif
-
- return dh;
-}
-
-static void*_dl_load(const char*fn,const char*pathname,int fd,int flags) {
- struct _dl_handle*ret=0;
- if ((ret=_dl_map_lib(fn,pathname,fd,flags))) {
- ret=_dl_dyn_scan(ret,ret->dynamic);
- }
- return ret;
-}
-
-
-/* ELF AUX parser */
-static void _dl_elfaux(register unsigned long*ui) {
- register struct elf_aux {
- unsigned long type;
- unsigned long val;
- } *ea;
-
- while (*ui) ++ui;
- /* now *ui points to the tailing NULL-pointer of the envirioment */
-
- /* walk the elf_aux table */
- for (ea=(struct elf_aux*)(ui+1); ea->type; ++ea) {
- switch (ea->type) {
- case AT_EXECFD: /* 2 */
- /* DIE! DIE! DIE! */
- pf("kernel gives us an unsupported binary load type...\n");
- _dl_sys_exit(42);
- break;
-
- case AT_PHDR: /* 3 */
- prog_ph=(Elf_Phdr*)ea->val;
-#ifdef DEBUG
- pf("program header @ "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_PHENT: /* 4 */
- prog_ph_size=ea->val;
-#ifdef DEBUG
- pf("program header size "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_PHNUM: /* 5 */
- prog_ph_num=ea->val;
-#ifdef DEBUG
- pf("program header # "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_PAGESZ: /* 6 */
- at_pagesize=ea->val;
-#ifdef DEBUG
- pf("page size "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_BASE: /* 7 */
- loadaddr=ea->val;
-#ifdef DEBUG
- pf("interpreter base: "); ph(ea->val); pf("\n");
-#endif
- break;
-
-#if 0
- case AT_FLAGS: /* 8 */
-#ifdef DEBUG
- pf("flags "); ph(ea->val); pf("\n");
-#endif
- break;
-#endif
-
- case AT_ENTRY: /* 9 */
- prog_entry=ea->val;
-#ifdef DEBUG
- pf("start program @ "); ph(ea->val); pf("\n");
-#endif
- break;
-
- case AT_NOTELF: /* 10 */
- pf("this is an ELF-loader... and therefor can't handle anything else.\n");
- _dl_sys_exit(42);
- break;
-
- case AT_UID: /* 11 */
- at_uid=ea->val;
-#ifdef DEBUG
- pf(" UID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_EUID: /* 12 */
- at_euid=ea->val;
-#ifdef DEBUG
- pf("EUID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_GID: /* 13 */
- at_gid=ea->val;
-#ifdef DEBUG
- pf(" GID: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_EGID: /* 14 */
- at_egid=ea->val;
-#ifdef DEBUG
- pf("EGID: "); ph(ea->val); pf("\n");
-#endif
- break;
-
-#if 0
- case AT_PLATFORM: /* 15 */
-#ifdef DEBUG
- pf("CPU: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_HWCAP: /* 16 */
-#ifdef DEBUG
- pf("CPU capabilities: "); ph(ea->val); pf("\n");
-#endif
- break;
- case AT_CLKTCK: /* 17 */
-#ifdef DEBUG
- pf("CLK per sec "); ph( ea->val); pf("\n");
-#endif
- break;
- case AT_FPUCW: /* 18 */
-#ifdef DEBUG
- pf("FPU control word "); ph( ea->val); pf("\n");
-#endif
- break;
-#endif
-
- default:
- break;
- }
- }
-}
-
-
-/* start of libdl dynamic linker */
-static unsigned long _dl_main(int argc,char*argv[],char*envp[],unsigned long _dynamic) {
- unsigned long*got;
- struct _dl_handle*prog,*mydh;
- struct _dl_handle my_dh;
- Elf_Dyn*prog_dynamic=0;
- unsigned int i;
-
- if (0) _dl_main(argc,argv,envp,_dynamic); /* TRICK: no warning */
-
- /* prepare to bootstarp the relocations */
- got=get_got();
- _dl_environ=envp;
-
- /* run elf_aux (kernel provided misc data) */
- _dl_elfaux((unsigned long*)envp);
-
- if (loadaddr==0) {
- pf("\ndiet libdl.so/dynamic-linker can't be started as a program !\n\n SORRY...\n\n");
- return (unsigned long)_DIE_;
- }
-
- memset(&my_dh,0,sizeof(my_dh));
- my_dh.mem_base=(char*)loadaddr;
- my_dh.mem_size=0;
- my_dh.lnk_count=1024;
- my_dh.name="libdl.so";
- my_dh.flags=LDSO_FLAGS;
-
- got[1]=0; /* NOT YET (my_dh) */
- got[2]=(unsigned long)_DIE_; /* NO lazy symbol resolver as long as we are not ready */
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": pre scan\n");
-#endif
- /* bootstrap relocation */
- if (_dl_dyn_scan(&my_dh,(Elf_Dyn*)_dynamic)==0) {
- pf("error with dyn_scan myself\n");
- return (unsigned long)_DIE_;
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": post scan\n");
-#endif
-
- /* now we are save to use anything :) (hopefully) */
-
- fini_entry=tt_fini;
-
- prog=_dl_get_handle();
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": ugly, ugly, COPY pregenerated handle to real handle\n");
-#endif
- mydh=_dl_get_handle();
- {
- register struct _dl_handle*tmp=mydh->prev;
- memcpy(mydh,&my_dh,sizeof(struct _dl_handle));
- mydh->prev=tmp;
- }
- got[1]=(unsigned long)mydh;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": MORE ugly: prepare program...\n");
-#endif
- for(i=0;(i<prog_ph_num);++i) {
- if (prog_ph[i].p_type==PT_DYNAMIC) {
- prog_dynamic=(Elf_Dyn*)prog_ph[i].p_vaddr;
- break;
- }
- }
- if (prog_dynamic==0) {
- ph(0xe0000001);
- pf(" error with program: no dynamic section ?\n");
- return (unsigned long)_DIE_;
- }
- prog->name=0;
- prog->lnk_count=1024;
- prog->dynamic=prog_dynamic;
- prog->flags=LDSO_FLAGS;
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": dyn_scan program...\n");
-#endif
- if (_dl_dyn_scan(prog,(Elf_Dyn*)prog_dynamic)==0) {
- _dl_error_location="error in dyn_scan the program";
- pf(dlerror()); pf("\n");
- return (unsigned long)_DIE_;
- }
-
- /* now start the program */
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": now jump to program entrypoint\n");
-#endif
- return prog_entry;
-}
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_open.c b/mdk-stage1/dietlibc/libdl/_dl_open.c
deleted file mode 100644
index f7bd0af95..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_open.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-#ifndef __DIET_LD_SO__
-#include <string.h>
-#endif
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_open(const char*filename,int flags) {
- int fd;
- char buf[PATH_MAX];
- const char*p=0;
-
- for (fd=0;filename[fd] && (p==0);++fd) if (filename[fd]=='/') p=filename;
- if (p) {
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(p,O_RDONLY,0))<0) fd=-1;
-#else
- fd=open(p,O_RDONLY);
-#endif
- } else {
- p=buf;
- fd=_dl_search(buf,sizeof(buf)-1,filename);
- }
- if (fd==-1) {
- _dl_error_data=filename;
- _dl_error=1;
- return 0;
- }
- return _dl_load(filename,p,fd,flags);
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_queue.c b/mdk-stage1/dietlibc/libdl/_dl_queue.c
deleted file mode 100644
index 5e08020d5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_queue.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <dlfcn.h>
-#include "_dl_int.h"
-
-#define MAX_QUEUE 64
-
-static int _dl_queue_start=0;
-static int _dl_queue_stop=0;
-
-static struct {
- const char*name;
- int flags;
-} _dl_queue[MAX_QUEUE];
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_queue_lib(const char*name,int flags) {
- if (_dl_find_lib(name)==0) {
- register int tmp;
- if ((tmp=_dl_queue_stop+1)>=MAX_QUEUE) tmp=0;
- if (tmp==_dl_queue_start) return -1;
- _dl_queue[_dl_queue_stop].name=name;
- _dl_queue[_dl_queue_stop].flags=flags;
- _dl_queue_stop=tmp;
- }
- return 0;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_open_dep() {
- while (_dl_queue_start!=_dl_queue_stop) {
- register int tmp=_dl_queue_start;
- (++_dl_queue_start>=MAX_QUEUE)?_dl_queue_start=0:0;
- if (!_dlopen(_dl_queue[tmp].name,_dl_queue[tmp].flags)) return 1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.c b/mdk-stage1/dietlibc/libdl/_dl_rel.c
deleted file mode 100644
index bc8717dc2..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_rel.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <dlfcn.h>
-
-#include "_dl_int.h"
-
-static void exit_now(void) {
-#ifdef DEBUG
- pf(__func__": symbol not found\n");
-#endif
- _exit(213);
-}
-
-unsigned long do_rel(struct _dl_handle * tmp_dl, unsigned long off)
-{
- Elf_Rel *tmp = ((void*)tmp_dl->plt_rel)+off;
-
- int sym=ELF_R_SYM(tmp->r_info);
-
- register unsigned long sym_val;
-
-#ifdef DEBUG
- pf(__func__": "); ph((unsigned long)tmp_dl); pf(" "); ph(off); pf(" on ");
- ph((long)tmp_dl->plt_rel); pf("\n");
- pf(__func__": @ "); ph((long)tmp->r_offset); pf(" with type ");
- ph(ELF_R_TYPE(tmp->r_info)); pf(" and sym "); ph(sym);
- pf(" symval "); ph(tmp_dl->dyn_sym_tab[sym].st_value); pf("\n");
-#endif
-
- /* modify GOT for REAL symbol */
- //sym_val=((unsigned long)(tmp_dl->mem_base+tmp_dl->dyn_sym_tab[sym].st_value));
- sym_val=(unsigned long)_dl_sym(tmp_dl,sym);
- *((unsigned long*)(tmp_dl->mem_base+tmp->r_offset))=sym_val;
-
-#ifdef DEBUG
- pf(__func__": sym "); ph(sym_val); pf("\n");
-#endif
- /* JUMP (arg sysdep...) */
- if (sym_val) return sym_val;
- /* can't find symbol -> die now */
- return (unsigned long)exit_now;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_rel.h b/mdk-stage1/dietlibc/libdl/_dl_rel.h
deleted file mode 100644
index 948aa5b79..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_rel.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef ___DL_REL_H__
-#define ___DL_REL_H__
-
-#if defined(__arm__) || defined(__i386__) || defined(__mips__)
-/* this are REL only archs: arm, i386, mips */
-
-#define _dl_rel_t Elf_Rel
-#define _DL_REL_T DT_REL
-
-#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)+=(unsigned long)(b))
-
-#elif defined(__alpha__) || defined(__hppa__) || defined(__ppc__) || defined(__sparc__) || defined(__s390__)
-/* this are RELA only archs: alpha, chris, hppa, ia64, m68k, ppc, sparc, sparc64, sh, s390 */
-
-#define _dl_rel_t Elf_Rela
-#define _DL_REL_T DT_RELA
-
-#define _DL_REL_PLT(b,r) (*(unsigned long*)((b)+(r)->r_offset)=(unsigned long)((b)+(r)->r_addend))
-
-#else
-/* there are no known linux supported arch with mixed relocation types ... */
-#error "_dl_rel.h: NOT SUPPORTED"
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_relocate.c b/mdk-stage1/dietlibc/libdl/_dl_relocate.c
deleted file mode 100644
index e91e48ccf..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_relocate.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include "_dl_int.h"
-
-#include "_dl_rel.h"
-
-#if 0
-/*--- are other relocation types vital to shared objects ? ---*/
-
- R_386_NONE 0 /* No reloc */
- R_386_32 1 /* Direct 32 bit */
- R_386_COPY 5 /* Copy symbol at runtime ?!? */
- R_386_GLOB_DAT 6 /* Create GOT entry */
- R_386_JMP_SLOT 7 /* Create PLT entry */
- R_386_RELATIVE 8 /* Adjust by program base */
-
- R_ARM_NONE 0 /* No reloc */
- R_ARM_ABS32 2 /* Direct 32 bit */
- R_ARM_COPY 20 /* Copy symbol at runtime */
- R_ARM_GLOB_DAT 21 /* Create GOT entry */
- R_ARM_JUMP_SLOT 22 /* Create PLT entry */
- R_ARM_RELATIVE 23 /* Adjust by program base */
-
-#endif
-
-static int _dl_apply_relocate(struct _dl_handle*dh,_dl_rel_t*rel) {
- int typ,ret=0;
- Elf_Addr*loc;
-
- loc=(Elf_Addr *)(dh->mem_base+rel->r_offset);
-
-#ifdef DEBUG
-#if 0
- pf(__FUNCTION__); pf(": "); ph(ELF_R_TYPE(rel->r_info)); pf(" @ "); ph((unsigned long)loc);
- pf(" preval "); ph(*(unsigned long*)loc); pf("\n");
-#endif
-#endif
-
- typ=ELF_R_TYPE(rel->r_info);
-
-#ifdef __i386__
- if (typ==R_386_32) { /* 1 */
- *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value);
- } else if (typ==R_386_COPY) { /* 5 */
- int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": R_386_COPY !\n");
-#endif
- memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len);
- } else if (typ==R_386_GLOB_DAT) { /* 6 */
- *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info));
- } else if (typ==R_386_JMP_SLOT) { /* 7 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_386_RELATIVE) { /* 8 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_386_NONE) { /* 0 */
- } else
- ret=1;
-#endif
-#ifdef __arm__
- if (typ==R_ARM_ABS32) { /* 2 */
- *loc=(unsigned long)(dh->mem_base+dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_value);
- } else if (typ==R_ARM_COPY) { /* 20 */
- int len=dh->dyn_sym_tab[ELF_R_SYM(rel->r_info)].st_size;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": R_ARM_COPY !\n");
-#endif
- memcpy(loc,(void*)(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info)),len);
- } else if (typ==R_ARM_GLOB_DAT) { /* 21 */
- *loc=(unsigned long)_dl_sym(dh,ELF_R_SYM(rel->r_info));
- } else if (typ==R_ARM_JUMP_SLOT) { /* 22 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_ARM_RELATIVE) { /* 23 */
- *loc+=(unsigned long)dh->mem_base;
- } else if (typ==R_ARM_NONE) { /* 0 */
- } else
- ret=1;
-#endif
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": @ "); ph((unsigned long)loc); pf(" val "); ph(*(unsigned long*)loc); pf("\n");
-#endif
- return ret;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_relocate(struct _dl_handle*dh,_dl_rel_t *rel,int num) {
- int i;
- for (i=0;i<num;i++) {
- if (_dl_apply_relocate(dh,rel+i)) {
- _dl_error=4;
- return 1;
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_search.c b/mdk-stage1/dietlibc/libdl/_dl_search.c
deleted file mode 100644
index ccf9c51c5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_search.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include <stdlib.h>
-#include <dlfcn.h>
-
-#include <fcntl.h>
-
-#include "_dl_int.h"
-
-#define WANT_LD_SO_CONF_SEARCH
-
-static const char *_dl_search_rpath=0;
-
-#ifndef __DIET_LD_SO__
-#include <unistd.h>
-#include <string.h>
-void _dl_set_rpath(const char *path) { _dl_search_rpath=path; }
-const char* _dl_get_rpath() { return _dl_search_rpath; }
-#endif
-
-/* search a colon (semicolon) seperated path for the libraray "filename" */
-static int _dl_search_path(char*buf,int len,const char*path,const int pathlen,const char*filename) {
- int fd,i=1,fl=strlen(filename),ml=len-fl;
- const char*c,*pe=path+pathlen;
-
- if (path) {
- for (c=path;c<pe;c+=i) {
- int l=len-1;
- if ((*c==':')||(*c==';')) ++c;
- i=strcspn(c,":;");
- if (i) {
- if (i>ml) continue; /* if len(path-entry)+len(filename)+2 is greater than the buffer ? SKIP */
- memcpy(buf,c,i);
- buf[i]='/';
- l-=++i;
- }
- memcpy(buf+i,filename,fl);
- buf[i+fl]=0;
-#ifdef DEBUG
-// pf(__func__": "); pf(buf); pf("\n");
-#endif
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(buf,O_RDONLY,0))>-1) return fd;
-#else
- if ((fd=open(buf,O_RDONLY))!=-1) return fd;
-#endif
- }
- }
- return -1;
-}
-
-/* parse the SMALL file "conf" for lib directories (aem... hang me if you can :) ) */
-static int _dl_search_conf(char*buf,int len,const char*conf,const char*filename) {
- char ld_so_conf[1024];
- int i,l,fd;
-#ifdef __DIET_LD_SO__
- if ((fd=_dl_sys_open(conf,O_RDONLY,0))>-1) {
- l=_dl_sys_read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
-#else
- if ((fd=open(conf,O_RDONLY))!=-1) {
- l=read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
-#endif
- ld_so_conf[sizeof(ld_so_conf)-1]=0;
-#ifdef __DIET_LD_SO__
- _dl_sys_close(fd);
-#else
- close(fd);
-#endif
- if (l>0) {
- if (ld_so_conf[l-1]=='\n') ld_so_conf[--l]=0;
- for (i=0;i<l;i++) if (ld_so_conf[i]=='\n') ld_so_conf[i]=':';
- if ((fd=_dl_search_path(buf,len,ld_so_conf,l,filename))!=-1) return fd;
- }
- }
- return -1;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-int _dl_search(char*buf,int len,const char*filename) {
- int fd;
-
- /* 1. search the LD_RUN_PATH (from the executable) */
- if (_dl_search_rpath) {
- if ((fd=_dl_search_path(buf,len,_dl_search_rpath,strlen(_dl_search_rpath),filename))!=-1) return fd;
- }
-
- /* 2. IF we have a "secure" enviroment THEN search LD_LIBRARY_PATH */
-#ifdef __DIET_LD_SO__
- if ((at_uid==at_euid)&&(at_gid==at_egid)) {
-#else
- if ((getuid()==geteuid())&&(getgid()==getegid())) {
-#endif
- char *p=getenv("LD_LIBRARY_PATH");
- if (p)
- if ((fd=_dl_search_path(buf,len,p,strlen(p),filename))!=-1) return fd;
- }
-
- /* 3. search all pathes in the the /etc/diet.ld.conf, a dietlibc extension :) */
- if ((fd=_dl_search_conf(buf,len,"/etc/diet.ld.conf",filename))!=-1) return fd;
-
-#ifdef WANT_LD_SO_CONF_SEARCH
- /* 4. search all pathes in the the /etc/ld.so.conf / can't handle this ...=lib?? crap */
- if ((fd=_dl_search_conf(buf,len,"/etc/ld.so.conf",filename))!=-1) return fd;
-#endif
-
- /* default path search */
- {
- const char def_path[]="/usr/lib:/lib";
- return _dl_search_path(buf,len,def_path,strlen(def_path),filename);
- }
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlclose.c b/mdk-stage1/dietlibc/libdl/dlclose.c
deleted file mode 100644
index 6fafedcf5..000000000
--- a/mdk-stage1/dietlibc/libdl/dlclose.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <sys/mman.h>
-
-#include "_dl_int.h"
-
-static void dec_referenced_libs(struct _dl_handle*dh) {
- Elf_Dyn* dyn_tab=dh->dynamic;
- int i;
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_NEEDED) {
- char *lib_name=dh->dyn_str_tab+dyn_tab[i].d_un.d_val;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": lib: "); pf(lib_name); pf("\n");
-#endif
- dlclose(_dl_find_lib(lib_name));
- }
- }
-}
-
-int dlclose(void*handle) {
- _dl_error_location="dlclose";
- if (handle) {
- struct _dl_handle*dh=handle;
- if (--(dh->lnk_count)) return 0; /* not yet unreferenced */
-
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": "); pf(dh->name); pf("\n");
-#endif
- if (dh->fini) dh->fini();
- dec_referenced_libs(dh);
-#ifdef __DIET_LD_SO__
- if (_dl_sys_munmap(dh->mem_base,dh->mem_size)<0) return -1;
-#else
- if (munmap(dh->mem_base,dh->mem_size)==-1) return -1;
-#endif
- _dl_free_handle(handle);
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlerror.c b/mdk-stage1/dietlibc/libdl/dlerror.c
deleted file mode 100644
index 3fea0b75c..000000000
--- a/mdk-stage1/dietlibc/libdl/dlerror.c
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static unsigned int _dl_error;
-static const char*_dl_error_location;
-static const char*_dl_error_data;
-#else
-#include <string.h>
-unsigned int _dl_error;
-const char*_dl_error_location;
-const char*_dl_error_data;
-#endif
-
-static struct _dl_err_msg {
- char*msg;
- int len;
-} _dl_error_msg[]={
-#define MSG(n) { (n), sizeof((n))-1 }
- MSG("can't open: "), /* 1 */
- MSG("can't stat: "), /* 2 */
- MSG("shared object is not position independent: "), /* 3 */
- MSG("can't resolve all symbols in: "), /* 4 */
- MSG("can't find symbol: "), /* 5 */
- MSG("invalid relocation type in: "), /* 6 */
- MSG("internal error: layout not yet supported: "), /* 7 */
-};
-
-const char *dlerror(void) {
- static char buf[1024],*p=buf;
- register int l,len=sizeof(buf)-1;
- if (_dl_error==0) return 0;
-
- buf[0]=0;
- buf[len]=0;
- --_dl_error;
-
- if (_dl_error>=(sizeof(_dl_error_msg)/sizeof(struct _dl_err_msg)))
- return "HAE ?!?";
-
- if (_dl_error_location) {
- l=strlen(_dl_error_location);
- strncpy(p,_dl_error_location,len); len-=l; p+=l;
- strncpy(p,": ",len); len-=2; p+=2;
- }
- l=_dl_error_msg[_dl_error].len;
- strncpy(p,_dl_error_msg[_dl_error].msg,len); len-=l; p+=l;
- strncpy(p,_dl_error_data,len);
-
- _dl_error_location=0;
- _dl_error_data="";
- _dl_error=0;
-
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlopen.c b/mdk-stage1/dietlibc/libdl/dlopen.c
deleted file mode 100644
index 79fa7903c..000000000
--- a/mdk-stage1/dietlibc/libdl/dlopen.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-
-#include "_dl_int.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dlopen(const char *filename, int flags) {
- struct _dl_handle* ret;
- if (filename) {
- if ((ret=_dl_find_lib(filename))) {
- ++(ret->lnk_count); /* add a reference */
- return ret;
- }
- return _dl_open(filename,flags);
- }
- /* return 1 as an indicator for dlsym to search ALL global objects */
- return RTLD_DEFAULT;
-}
-
-void*dlopen(const char *filename, int flags) {
- _dl_error_location="dlopen";
- return _dlopen(filename,flags|RTLD_USER|RTLD_NOSONAME);
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlsym.c b/mdk-stage1/dietlibc/libdl/dlsym.c
deleted file mode 100644
index c58bb4d11..000000000
--- a/mdk-stage1/dietlibc/libdl/dlsym.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "_dl_int.h"
-
-#include "elf_hash.h"
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void *_dlsym(void*handle,char*symbol) {
- unsigned long*sym=0;
- if (handle) {
- struct _dl_handle*dh=(struct _dl_handle*)handle;
- unsigned long hash =elf_hash(symbol);
- unsigned long bhash=hash%HASH_BUCKET_LEN(dh->hash_tab);
- unsigned long*chain=HASH_CHAIN(dh->hash_tab);
- unsigned long ind;
- char *name=dh->dyn_str_tab;
-
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": bucket("); ph(bhash); pf(",\""); pf(symbol); pf("\")\n");
-#endif
-
- ind=HASH_BUCKET(dh->hash_tab)[bhash];
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": chain ("); ph(ind); pf(",\""); pf(symbol); pf("\")\n");
-#endif
-
- while(ind) {
- int ptr=dh->dyn_sym_tab[ind].st_name;
-#ifdef DEBUG
-// pf(__FUNCTION__); pf(": symbol(\""); pf(name+ptr); pf("\",\"); pf(symbol); pf("\")\n");
-#endif
- if (strcmp(name+ptr,symbol)==0) {
- if (ELF_ST_TYPE(dh->dyn_sym_tab[ind].st_shndx)!=0) {
- sym=(long*)(dh->mem_base+dh->dyn_sym_tab[ind].st_value);
- break; /* ok found ... */
- }
- }
- ind=chain[ind];
- }
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": symbol \""); pf(symbol); pf("\" @ "); ph((long)sym); pf("\n");
-#endif
- }
- return sym;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_sym_search_str(struct _dl_handle*dh,char*name) {
- void *sym=0;
- struct _dl_handle*tmp;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": search for: "); pf(name); pf("\n");
-#endif
- for (tmp=_dl_root_handle;tmp && (!sym);tmp=tmp->next) {
-// if (!(tmp->flags&RTLD_GLOBAL)) continue;
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": searching in "); pf(tmp->name); pf("\n");
-#endif
- sym=_dlsym((void*)tmp,name);
-#ifdef DEBUG
- if (sym) { pf(__FUNCTION__); pf(": found: "); pf(name); pf(" @ "); ph((long)sym); pf("\n"); }
-#endif
- }
- return sym;
-}
-
-#ifdef __DIET_LD_SO__
-static
-#endif
-void*_dl_sym(struct _dl_handle*dh,int symbol) {
- char *name=dh->dyn_str_tab+dh->dyn_sym_tab[symbol].st_name;
- void*sym=_dl_sym_search_str(dh,name);
-#ifdef DEBUG
- pf(__FUNCTION__); pf(": "); ph(symbol); pf(" -> "); ph((long)sym); pf("\n");
-#endif
- return sym;
-}
-
-void*dlsym(void*handle,char*symbol) {
- void*h;
- if (handle==RTLD_DEFAULT || !handle /* RTLD_DEFAULT is NULL on glibc */ )
- h=_dl_sym_search_str(0,symbol);
- else h=_dlsym(handle,symbol);
- if (h==0) {
- _dl_error_location="dlsym";
- _dl_error_data=symbol;
- _dl_error=5;
- }
- return h;
-}
diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.h b/mdk-stage1/dietlibc/libdl/elf_hash.h
deleted file mode 100644
index be55982ea..000000000
--- a/mdk-stage1/dietlibc/libdl/elf_hash.h
+++ /dev/null
@@ -1,10 +0,0 @@
-static unsigned long elf_hash(const unsigned char *name) {
- unsigned long h=0, g;
-
- while (*name) {
- h = (h<<4) + *(name++);
- if ((g = h&0xf0000000)) h ^= g>>24;
- h &= ~g;
- }
- return h;
-}
diff --git a/mdk-stage1/dietlibc/libdl/test/test.c b/mdk-stage1/dietlibc/libdl/test/test.c
deleted file mode 100644
index d467134ba..000000000
--- a/mdk-stage1/dietlibc/libdl/test/test.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <dlfcn.h>
-
-int main(int argc, char **argv)
-{
- void *Hlib;
-
-// if (Hlib=dlopen("libtest.so", RTLD_LAZY)) {
- if (Hlib=dlopen("libtest.so", RTLD_NOW)) {
- void (*t)(void) = dlsym(Hlib,"test");
- if (t) {
- printf("test @ %08lx\n",(long)t);
- t();
- }
- dlclose(Hlib);
- }
- else {
- printf("%s\n",dlerror());
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/test/test_so.c b/mdk-stage1/dietlibc/libdl/test/test_so.c
deleted file mode 100644
index 09d243c56..000000000
--- a/mdk-stage1/dietlibc/libdl/test/test_so.c
+++ /dev/null
@@ -1,11 +0,0 @@
-
-int* test();
-
-int err
-=(int)test
-;
-
-int* test() {
- write(1,"helo\n",5);
- return &err;
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c b/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
deleted file mode 100644
index 5a6361442..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int iscntrl(int x) {
- unsigned char c=x&0xff;
- return (c<32) || (c>=127 && c<=160);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c b/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
deleted file mode 100644
index e79a19e52..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int isgraph(int x) {
- unsigned char c=x&0xff;
- return (c>=33 && c<=126) || (c>=161 && c<=255);
-}
-
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c b/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
deleted file mode 100644
index c5ad18d1e..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int islower(int c) {
- unsigned char x=c&0xff;
- return (x>='a' && x<='z') || (x>=223 && x<=255 && x!=247);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c b/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
deleted file mode 100644
index 9493892b1..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isprint(int x) {
- unsigned char c=x&0xff;
- return (c>=32 && c<=126) || (c>=160 && c<=255);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c b/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
deleted file mode 100644
index a024548fd..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isupper(int c) {
- unsigned char x=c&0xff;
- return (x>='A' && x<='Z') || (x>=192 && x<=222 && x!=215);
-}
diff --git a/mdk-stage1/dietlibc/libm/acosh.c b/mdk-stage1/dietlibc/libm/acosh.c
deleted file mode 100644
index a09a4c9f0..000000000
--- a/mdk-stage1/dietlibc/libm/acosh.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math.h>
-
-double acosh ( double x )
-{
- return log ( x + sqrt (x*x - 1.) );
-}
diff --git a/mdk-stage1/dietlibc/libm/asinh.c b/mdk-stage1/dietlibc/libm/asinh.c
deleted file mode 100644
index 49c6b467f..000000000
--- a/mdk-stage1/dietlibc/libm/asinh.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math.h>
-
-double asinh ( double x )
-{
- return log ( x + sqrt (x*x + 1.) );
-}
diff --git a/mdk-stage1/dietlibc/libm/atanh.c b/mdk-stage1/dietlibc/libm/atanh.c
deleted file mode 100644
index bdb3367be..000000000
--- a/mdk-stage1/dietlibc/libm/atanh.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double atanh ( double x )
-{
- return __half * log ( (1.+x) / (1.-x) );
-}
diff --git a/mdk-stage1/dietlibc/libm/bessel.c b/mdk-stage1/dietlibc/libm/bessel.c
deleted file mode 100644
index ba8a1afcb..000000000
--- a/mdk-stage1/dietlibc/libm/bessel.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*--------------------------------------------------------------------------*
-
-Name j0, j1, jn - Bessel functions
- y0, y1, yn - Weber functions
-
-Usage double j0 (double x);
- double j1 (double x);
- double jn (int n, double x);
- double y0 (double x);
- double y1 (double x);
- double yn (int n, double x);
-
-Prototype in math.h
-
-Description j0, j1 and jn calculate the Bessel function.
- y0, y1 and yn calcualte the Weber function.
-
-Return value return their return values as doubles.
-
-*---------------------------------------------------------------------------*/
-
-#include <math.h>
-
-#define M_C 0.5772156649015328
-#if 0
-#define M_1_PI 0.318309886183790671538
-#define M_2_PI 0.636619772367581343076
-#define M_PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148
-#endif
-
-
-#define EXPL(x) ((((short *)&x)[4] & 0x7FFF) >> 0)
-#define EXPD(x) ((((short *)&x)[3] & 0x7FF0) >> 4)
-#define EXPF(x) ((((short *)&x)[1] & 0x7F80) >> 7)
-
-#define SQUARE(x) (long) (My - (x) * (x) )
-
-
-static long double P ( int My, double* x )
-{
- long double Sum = 0.;
- long double Fact = 1.;
- long double z182 = -0.015625 / (x[0] * x[0]);
- register int i;
-
- for ( i = 1; ; i += 2 ) {
- Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1));
- if ( EXPL (Fact) < 0x3FFF-53 )
- break;
- Sum += Fact;
- }
- return 1. + Sum;
-}
-
-static long double Q ( int My, double* x )
-{
- long double Fact = (My-1) / x[0] * 0.125;
- long double Sum = Fact;
- long double z182 = -0.015625 / (x[0]*x[0]);
- register int i;
-
- for ( i = 2; ; i += 2 ) {
- Fact *= SQUARE(i+i-1) * SQUARE(i+i+1) * z182 / (i*(i+1));
- if ( EXPL (Fact) < 0x3FFF-53 )
- break;
- Sum += Fact;
- }
- return Sum;
-}
-
-
-static long double ___jn ( int n, double* x )
-{
- long double Sum;
- long double Fact;
- long double y;
- register int i;
- double xx;
- long double Xi;
- int My;
-
- if ( n < 0 )
- return n & 1 ? ___jn (-n, x) : -___jn (-n, x);
-
- if ((x[0] >= 17.7+0.0144*(n*n))) {
- Xi = x[0] - M_PI * (n*0.5 + 0.25);
- My = n*n << 2;
-
- return sqrt ( M_2_PI/x[0] ) * ( P(My,x) * cos(Xi) - Q(My,x) * sin(Xi) );
- }
- xx = x[0] * 0.5;
- Sum = 0.;
- Fact = 1.;
- y = -xx * xx;
-
- for ( i = 1; i <= n; i++ )
- Fact *= xx/i;
- for ( i = 1; ; i++ ) {
- Sum += Fact;
- Fact *= y / (i*(n+i));
- if ( EXPL (Sum) - EXPL(Fact) > 53 || !EXPL(Fact) )
- break;
- }
- return Sum;
-}
-
-
-static long double ___yn ( int n, double* x )
-{
- long double Sum1;
- long double Sum2;
- long double Fact1;
- long double Fact2;
- long double F1;
- long double F2;
- long double y;
- register int i;
- double xx;
- long double Xi;
- unsigned int My;
-
- if ( EXPD (x[0]) == 0 )
- return -1./0.; /* ignore the gcc warning, this is intentional */
-
- if ( (x[0] >= (n>=32 ? 25.8 : (n<8 ? 17.4+0.1*n : 16.2+0.3*n))) ) {
- Xi = x[0] - M_PI * (n*0.5+0.25);
- My = n*n << 2;
-
- return sqrt ( M_2_PI / x[0] ) * ( P(My,x) * sin(Xi) + Q(My,x) * cos(Xi) );
- }
-
- Sum1 = Sum2 = F1 = F2 = 0;
- Fact1 = 1. / (xx = x[0] * 0.5 );
- Fact2 = 1.;
- y = xx*xx;
-
- for ( i = 1; i < n; i++ )
- Fact1 *= (n-i) / xx;
-
- for ( i = 1; i <= n; i++ ) {
- Sum1 += Fact1;
- if ( i == n )
- break;
- Fact1 *= y/(i*(n-i));
- }
-
- for (i=1; i<=n; i++) {
- Fact2 *= xx / i;
- F1 += 1. / i;
- }
-
- for ( i = 1; ; i++ ) {
- Sum2 += Fact2 * (F1+F2);
- Fact2 *= -y / (i*(n+i));
- if ( EXPL (Sum2) - EXPL (Fact2) > 53 || !EXPL (Fact2) )
- break;
- F1 += 1. / (n+i);
- F2 += 1. / i;
- }
-
- return M_1_PI * (2. * (M_C + log(xx)) * ___jn (n, x) - Sum1 - Sum2);
-}
-
-
-double j0 ( double x ) { return ___jn ( 0,&x ); }
-double j1 ( double x ) { return ___jn ( 1,&x ); }
-double jn ( int n, double x ) { return ___jn ( n,&x ); }
-double y0 ( double x ) { return ___yn ( 0,&x ); }
-double y1 ( double x ) { return ___yn ( 1,&x ); }
-double yn ( int n, double x ) { return ___yn ( n,&x ); }
-
diff --git a/mdk-stage1/dietlibc/libm/cosh.c b/mdk-stage1/dietlibc/libm/cosh.c
deleted file mode 100644
index f64d59106..000000000
--- a/mdk-stage1/dietlibc/libm/cosh.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double cosh ( double x )
-{
- long double y = exp (x);
- return (y + 1./y) * __half;
-}
diff --git a/mdk-stage1/dietlibc/libm/erf.c b/mdk-stage1/dietlibc/libm/erf.c
deleted file mode 100644
index 63f52d81f..000000000
--- a/mdk-stage1/dietlibc/libm/erf.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "dietlibm.h"
-
-/*--------------------------------------------------------------------------*
- z
- 1 | -x²/2
-Name erf(z) = --------- | e dx
- sqrt(2pi) |
- 0
-
- oo
- 1 | -x²/2
- erfc(z) = -------- | e dx
- sqrt(2pi) |
- z
-
-Usage double erf (double x);
- double erfc(double x);
-
-Prototype in math.h
-
-Description erf(x) is the probability a normal distributed event occures
- within the range [0,x]. erfc(x) is the probability a normal
- distributed event occures within the range [x,oo].
-
-Return value return their respective function value.
-
-*---------------------------------------------------------------------------*/
-
-
-/* even function in (0): Coefficients for gamma(0) */
-
-static const double tab1 [9 + 1] = {
- 0.398942280401432677926, -0.066490380066905446321, 9.97355701003581694794E-3, -1.18732821548045439878E-3, 1.15434687616155288764E-4, -9.44465625950361453450E-6, 6.65969351631665127484E-7, -4.12266741486268888409E-8, 2.27352982437280636972E-9, -1.13011716416192129505E-10
-};
-
-/* non even or odd function in (x), x>0: Coefficients for gamma(x), x>0 */
-
-static const double tab2 [] [31 + 1] = {
- { -0.158655253931457051468, +0.241970724519143349823, -0.120985362259571674911, 0, +0.0201642270432619458197, -4.03284540865238916394E-3, -2.01642270432619458197E-3, +7.68161030219502697887E-4, +1.20025160971797296538E-4, -8.80184513793180174807E-5, -1.86705805956129127862E-6, +7.37124220917704609315E-6, -4.72826391707080259142E-7, -4.83395817951682973566E-7, +6.57036391970156141055E-8, +2.5544260402922190768E-8, -5.4292285616752144141E-9, -1.08932444506260820153E-9, +3.44399256708718202774E-10, +3.6021429664641554881E-11, -1.81147204852239925966E-11, -7.66935128389784976374E-13, +8.19047721646461768154E-13, -3.78144699611990981391E-15, -3.24856460059989147863E-14, +1.44438130842455313227E-15, +1.14391687912824634892E-15, -9.38053726039148625184E-17, -3.59908648108845288945E-17, +4.36020846676166022246E-18, +1.01298640134330880603E-18, -1.68640470512244526894E-19 },
- { -0.0227501319481792072104, +0.0539909665131880519553, -0.0539909665131880519553, +0.0269954832565940259776, -4.49924720943233766301E-3, -2.24962360471616883129E-3, +1.34977416282970129877E-3, -1.17837426913704081544E-4, -1.15159303574756261652E-4, +3.70473728554448438507E-5, +2.82690796888936559912E-6, -3.54513195524355369855E-6, +3.76695631261094890352E-7, +1.92024079214184701051E-7, -5.22690859049557191018E-8, -4.91799344974114749666E-9, +3.66377919234006038965E-9, -1.5981997209104676352E-10, -1.73812379171063320997E-10, +2.62403075313043113473E-11, +5.60918720760414713346E-12, -1.72126983666416144614E-12, -8.63428809787622525331E-14, +7.89441765474563834480E-14, -3.13747960081562321348E-15, -2.77519506625391157547E-15, +3.29321944203493138076E-16, +7.44375150395529134369E-17, -1.66428523299294690222E-17, -1.32735612757620496568E-18, +6.24122437514304644794E-19, +1.12471123532438919306E-21 },
- { -1.3498980316300945272E-3, +4.43184841193800717687E-3, -6.64777261790701076574E-3, +5.90913121591734290293E-3, -3.32388630895350538287E-3, +1.10796210298450179421E-3, -1.10796210298450179595E-4, -8.44161602273906129349E-5, +4.35270826172482847927E-5, -6.30190085030867423515E-6, -1.9785037553294674925E-6, +1.05520200284238266374E-6, -1.13913852579575399458E-7, -4.81174572974454799623E-8, +1.78216871733806513653E-8, -5.85637697215219690327E-10, -9.29791350219350980904E-10, +1.96377023046901260016E-10, +1.58870373467897094393E-11, -1.22699105512396660364E-11, +1.08794270836433192571E-12, +3.99646995170699427940E-13, -1.01594404465456044793E-13, -3.33469605506835759271E-15, +4.46588935876766499879E-15, -4.08076707607833277747E-16, -1.17808602368979218862E-16, +2.76224909899945482352E-17, +1.09206599392049874162E-18, -1.03145418746203977253E-18, +6.79984672177279963209E-20, +2.55831283729070534712E-20 },
- { -3.16712418331199212695E-5, +1.33830225764885351832E-4, -2.67660451529770703664E-4, +3.34575564412213379613E-4, -2.89965489157251595673E-4, +1.8178605666396926958E-4, -8.25286392216793003064E-5, +2.55180251904870680833E-5, -3.91665839292075186649E-6, -7.40182052221464123606E-7, +6.44220233592652481453E-7, -1.73701553397390201613E-7, +9.09595464817154590424E-9, +9.44943118114780783705E-9, -3.29957075383376125942E-9, +2.94920746951281580686E-10, +1.18744773902482360274E-10, -4.42039585809856402486E-11, +3.61422484008923382324E-12, +1.43638335494248833511E-12, -4.58476794992724591068E-13, +2.23496663226445199624E-14, +1.57839046076890756440E-14, -3.67258220998453293248E-15, -1.69716269032291432153E-17, +1.43497778353923791279E-16, -2.14499365995613073838E-17, -1.93255135682867953692E-18, +1.01377499752128183701E-18, -7.55713215369572830154E-20, -2.25510650946079103289E-20, +5.26633993110171917109E-21 },
- { -2.86651571879193912033E-7, +1.48671951473429770924E-6, -3.7167987868357442731E-6, +5.9468780589371908374E-6, -6.81413110919886450076E-6, +5.92209940035828587496E-6, -4.02653201907205629582E-6, +2.17108246596119665457E-6, -9.25512396325170449452E-7, +3.03096091545533908077E-7, -6.92802772105295808398E-8, +6.69226396924248971087E-9, +2.46006252876483997508E-9, -1.41806830376639605249E-9, +3.44251040657349801884E-10, -2.6965166176434937652E-11, -1.16546962748761528049E-11, +4.91490145086991326748E-12, -7.55854519365765424197E-13, -4.53988828124843593484E-14, +4.71533558309731405623E-14, -9.17323049919073092370E-15, +4.35542982587998484108E-17, +3.71238868922011013332E-16, -7.90772907386322623053E-17, +1.58463483904927528072E-18, +2.61503941976309571331E-18, -5.40699423853895351239E-19, +6.61825040533797444037E-21, +1.68378440730394776550E-20, -3.01930850797704474581E-21, -3.80658085177617928332E-23 },
- { -9.8658764503769814198E-10, +6.07588284982328549581E-9, -1.82276485494698564874E-8, +3.54426499573024987263E-8, -5.01260335110421053478E-8, +5.48348427196551516061E-8, -4.81513715848495375522E-8, +3.47446467489597046263E-8, -2.08994095347716137282E-8, +1.0554987922587771203E-8, -4.4752674615729637229E-9, +1.57746505810079893253E-9, -4.49697115294871911476E-10, +9.63210042443717269402E-11, -1.16300711402336909847E-11, -1.31070037808191623761E-12, +1.16993345829435057496E-12, -3.40636420312606285351E-13, +5.23724821541706939045E-14, +3.93541148139975862961E-16, -2.59886413069218394637E-15, +7.24729556829529838503E-16, -8.51485747763574768020E-17, -7.86503719948806184368E-18, +5.35986191777031053618E-18, -9.84873767617830925356E-19, +2.93759678710573738811E-20, +2.85458592629073152182E-20, -7.12725445137377009753E-21, +5.25419393758902871947E-22, +1.24299023131490990316E-22, -4.04419210566489645405E-23 },
- { -1.27981254388583500631E-12, +9.1347204083645933588E-12, -3.19715214292760767584E-11, +7.30777632669167468738E-11, -1.22557498812224960902E-10, +1.60618833847077433236E-10, -1.71047639646627010648E-10, +1.51926349902927316213E-10, -1.14609023345779936276E-10, +7.43697341394886835864E-11, -4.18713451557949730558E-11, +2.05606050331840905587E-11, -8.82161466664564577599E-12, +3.30031395277698236679E-12, -1.06851205331295409813E-12, +2.94333808755089195146E-13, -6.64411715537625335642E-14, +1.11264855981436243262E-14, -8.52918435682649455145E-16, -2.38837813662069487819E-16, +1.23994634366691956599E-16, -3.05269770279941723219E-17, +4.34539596489459676621E-18, -5.55819387468189608390E-20, -1.56974672263484202926E-19, +4.60835492190702561464E-20, -6.61112150617493330405E-21, +7.28424268476803924831E-23, +2.09156005934313228089E-22, -5.29080328670107625978E-23, +5.61375000671507211726E-24, +3.82199410465700894394E-25 },
- { -6.22096057427178413283E-16, +5.05227108353689229741E-15, -2.02090843341475691883E-14, +5.30488463771373691202E-14, -1.02729512031916810045E-13, +1.56409892294496290711E-13, -1.94849254788406146283E-13, +2.04064637342166989709E-13, -1.83187931471980616892E-13, +1.42994099344605424348E-13, -9.8111907789286062426E-14, +5.96545975367403288587E-14, -3.23370114040930933005E-14, +1.56932853967230342257E-14, -6.83548101324218922896E-15, +2.67410077774155118457E-15, -9.38313996431647887562E-16, +2.94090734842381109313E-16, -8.16448235152204729921E-17, +1.9758222496699617607E-17, -4.03590262164308783690E-18, +6.43662361965717426956E-19, -5.93446415094778572090E-20, -6.07164564350191039536E-21, +4.38906686886388095825E-21, -1.17175498170220204828E-21, +1.98482140750318604418E-22, -1.70803571702439545981E-23, -1.94600332107885234554E-24, +1.10477141319981582738E-24, -2.31975718243847439962E-25, +2.54148402104633283670E-26 },
- { -1.12858840595384064928E-19, +1.02797735716689148111E-18, -4.62589810725101166456E-18, +1.37063647622252197466E-17, -3.0068337697131575822E-17, +5.2067053140503053517E-17, -7.40914680178037035E-17, +8.9062000172830588611E-17, -9.22563786210983011008E-17, +8.35975730487397716492E-17, -6.70372487553237232779E-17, +4.80088566412770650047E-17, -3.09280630297969106245E-17, +1.8026496052333452774E-17, -9.54924880090907168481E-18, +4.61362333444861021959E-18, -2.03812361224098073479E-18, +8.24578860830779678155E-19, -3.0572087552697254564E-19, +1.03827313453936543577E-19, -3.22407758977306397999E-20, +9.12052549039695437376E-21, -2.33541947993595580264E-21, +5.35339963891271164659E-22, -1.07674173853083520575E-22, +1.82413373046113374293E-23, -2.33864726317468746329E-24, +1.29928813344150027051E-25, +3.86668349205203745336E-26, -1.63203452712600670685E-26, +3.65165372186699607411E-27, -5.51243539825332137371E-28 },
- { -7.61985302416052609616E-24, +7.69459862670641937159E-23, -3.84729931335320968601E-22, +1.26960877340655919637E-21, -3.10990027829384449637E-21, +6.02935924057670511377E-21, -9.6342786971886625897E-21, +1.30454744197246721374E-20, -1.52745988785284834672E-20, +1.57034665186695273938E-20, -1.43457243961336621961E-20, +1.17567385540485497556E-20, -8.7104848256363928121E-21, +5.87137214731944288587E-21, -3.61951956727412561213E-21, +2.04954715001535632502E-21, -1.06982832733527370879E-21, +5.1628428354196120786E-22, -2.30885865897937993512E-22, +9.58556229281154921137E-23, -3.69911125531027884646E-23, +1.32784897023484841369E-23, -4.43433027366044567275E-24, +1.37688611947822111040E-24, -3.96971995397574368025E-25, +1.06008163579031271153E-25, -2.61149430849477426613E-26, +5.89698164189548613154E-27, -1.20793190886658723050E-27, +2.20446342551066852143E-28, -3.46061447029252398335E-29, +4.28913922246949096952E-30 }
-};
-
-static const double tab3 [8] = { +1, -1, +3, -15, +105, -945, +10395, -135135.0 };
-
-
-/*
- Calculated: oo
- 1 | -x²/2
- gauss(z) = --------- | e dx
- sqrt(2pi) |
- z
-
- gauss ( 0) = 0.5
- gauss ( 1) ~ 0.1586
- gauss ( 2) ~ 0.02275
- gauss ( 4) ~ 3.17e-5
- gauss (10) ~ 7.62e-24
- gauss (oo) = 0
-
- Note: only for z>0
-*/
-#include <stdio.h>
-#include <math.h>
-
-#define M_1_SQRT2PI 0.398942280401432686
-
-static long double gauss ( double x )
-{
- unsigned int i = (unsigned int)(x + 0.5);
- double y = x * x;
-
- if ( i > 150 ) return 0.;
- if ( i > 10 ) return M_1_SQRT2PI * exp (-0.5*y) / x * __poly (1./y, 7, tab3);
- if ( i > 0 ) return -__poly ((x-i), 31, tab2 [i-1]);
- return 0.5 - x * __poly (y, 9, tab1);
- }
-
-double erf ( double x )
-{
- return x < 0. ? -0.5 + gauss(-x) : 0.5 - gauss(x);
-}
-
-double erfc ( double x )
-{
- return x < 0. ? 1.0 - gauss(-x) : gauss(x);
-}
-
diff --git a/mdk-stage1/dietlibc/libm/gamma.c b/mdk-stage1/dietlibc/libm/gamma.c
deleted file mode 100644
index d5f3e4275..000000000
--- a/mdk-stage1/dietlibc/libm/gamma.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include "dietlibm.h"
-
-/*--------------------------------------------------------------------------*
-
-Name gamma, lgamma - gamma function
-
-Usage double gamma (double x);
- double lgamma(double x);
- extern int signgam;
-
-Prototype in math.h
-
-Description gamma returns the logarithm of the absolute value of the
- gamma function. So it is possible â(x) for very large x.
- The sign is stored in signgam, a extern variable
- overwritten during every call to gamma(). lgamma() is
- a synonym for gamma().
- You can calculate â(x) by the following sequence:
-
- double gammafunction(double x)
- { double y=exp(gamma(x));
-
- return signgam ? -y : +y;
- }
-
-Return value gamma returns a value in range (-0.1208, +oo). For a input
- value of zero, it returns +oo and errno is set to:
-
- ERANGE Result out of range
-
-*---------------------------------------------------------------------------*/
-
-#include <stdlib.h>
-#include <math.h>
-
-#define B0 + 1.0l/ 6/ 1/ 2
-#define B1 - 1.0l/ 30/ 3/ 4
-#define B2 + 1.0l/ 42/ 5/ 6
-#define B3 - 1.0l/ 30/ 7/ 8
-#define B4 + 5.0l/ 66/ 9/10
-#define B5 - 691.0l/2730/11/12
-#define B6 + 7.0l/ 6/13/14
-#define B7 - 3617.0l/ 510/15/16
-#define B8 + 43867.0l/ 798/17/18
-#define B9 - 174611.0l/ 330/19/20
-#define B10 + 854513.0l/ 138/21/22
-#define B11 - 236364091.0l/2730/23/24
-#define B12 + 8553103.0l/ 6/25/26
-
-static const double coeff[] = { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 };
-int signgam;
-
-#define EXPL(x) (((short *)&x)[4] & 0x7FFF)
-
-static double logfact ( long double x )
-{
- long double z = 2. * M_PI * x;
- register int e = EXPL (x);
-
- static unsigned char list [] = { 6, 4, 3, 3, 2, 2 };
-
- return (log(x) - 1) * x + 0.5*log(z) + __poly (1./(x*x), e<0x4003 ? 10 : (e>0x4008 ? 1 : list [e-0x4003] ), coeff) / x;
-}
-
-
-double lgamma ( double x )
-{
- register int k = floor (x);
- long double w;
- long double y;
- long double z;
-
- signgam = 0;
-
- if ( k >= 7 )
- return logfact (x-1);
-
- if ( k == x )
- switch (k) {
- case 1 :
- case 2 : return 0.000000000000000000000000000l;
- case 3 : return 0.693147180559945309432805516l;
- case 4 : return 1.791759469228055000858148560l;
- case 5 : return 3.178053830347945619723759592l;
- case 6 : return 4.787491742782045994244981560l;
- default: return 1./0.; /* ignore the gcc warning, this is intentional */
- }
-
- z = logfact (y = x - k + 7.0 - 1);
- w = 1;
- for ( k = 7 - k; k--; )
- w *= y, y -= 1.;
-
- signgam = k >= 0 ? 0 : k & 1;
- return z - log (w);
-}
-
-double gamma ( double val ) __attribute__ ((weak,alias("lgamma")));
diff --git a/mdk-stage1/dietlibc/libm/ipow.c b/mdk-stage1/dietlibc/libm/ipow.c
deleted file mode 100644
index 399986ea1..000000000
--- a/mdk-stage1/dietlibc/libm/ipow.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#define _GNU_SOURCE
-#include <math.h>
-/*
- * This is not standard, but often you only need such this function
- * which is much shorter than the generic pow() function.
- *
- * double ipow ( double mant, int expo );
- */
-
-double ipow ( double mant, int expo )
-{
- double ret = 1.;
- unsigned int e = expo; /* Some attention is necessary for expo = 2^31 */
-
- if ( (int)e < 0 ) {
- e = -e;
- mant = 1./mant;
- }
-
- while (1) {
- if ( e & 1 )
- ret *= mant;
- if ( (e >>= 1) == 0 )
- break;
- mant *= mant;
- }
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libm/poly.c b/mdk-stage1/dietlibc/libm/poly.c
deleted file mode 100644
index cdcfb8c5c..000000000
--- a/mdk-stage1/dietlibc/libm/poly.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*--------------------------------------------------------------------------*
-
-Name __poly - generates a polynomial from arguments
-
-Usage double __poly ( double x, int n, const double* c );
-
-Prototype in math.h
-
-Description __poly generates a polynomial in x, of degree n, with
- coefficients c[0], c[1], ..., c[n]. For example, if n=4,
- the generated polynomial is
-
- c[4]*x^4 + c[3]*x^3 + c[2]*x^2 + c[1]*x + c[0]
-
- The polynomial is calculated using Horner's method:
-
- polynom = (..((x*c[n] + c[n-1])*x + c[n-2])..)*x + c[0]
-
-Return value __poly returns the value of the polynomial as evaluated for
- the given x.
- A range error occurs if the result exceeds double range.
-
-*---------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include "dietlibm.h"
-
-double __poly ( double x, size_t n, const double* c)
-{
- long double ret;
- size_t i;
-
- i = n;
- c += n;
- ret = 0;
- do
- ret = ret * x + *c--;
- while ( i-- );
-
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libm/pow.c b/mdk-stage1/dietlibc/libm/pow.c
deleted file mode 100644
index e0e5a2983..000000000
--- a/mdk-stage1/dietlibc/libm/pow.c
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#include <math.h>
-#include "dietlibm.h"
-
-double pow ( double mant, double expo )
-{
- unsigned int e;
- long double ret;
-
- /* special cases 0^x */
- if ( mant == 0. ) {
- if ( expo > 0. )
- return 0.;
- else if ( expo == 0. )
- return 1.;
- else
- return 1./mant;
- }
-
- /* special cases x^n with n is integer */
- if ( expo == (int) (e = (int) expo) ) {
-
- if ( (int)e < 0 ) {
- e = -e;
- mant = 1./mant;
- }
-
- ret = 1.;
-
- while (1) {
- if ( e & 1 )
- ret *= mant;
- if ( (e >>= 1) == 0 )
- break;
- mant *= mant;
- }
- return ret;
- }
-
- /* normal case */
- return exp2 ( log2 (mant) * expo );
-}
diff --git a/mdk-stage1/dietlibc/libm/rint.c b/mdk-stage1/dietlibc/libm/rint.c
deleted file mode 100644
index b6f0d8f85..000000000
--- a/mdk-stage1/dietlibc/libm/rint.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math.h>
-
-double rint(double x) {
- return floor(x+0.5);
-}
diff --git a/mdk-stage1/dietlibc/libm/sinh.c b/mdk-stage1/dietlibc/libm/sinh.c
deleted file mode 100644
index ae4542d25..000000000
--- a/mdk-stage1/dietlibc/libm/sinh.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-extern const float __half;
-
-double sinh ( double x )
-{
- long double y = exp (x);
- return (y - 1./y) * __half;
-}
diff --git a/mdk-stage1/dietlibc/libm/tanh.c b/mdk-stage1/dietlibc/libm/tanh.c
deleted file mode 100644
index 21dc3d0c0..000000000
--- a/mdk-stage1/dietlibc/libm/tanh.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-double tanh ( double x )
-{
- long double y = exp (x + x);
- return (y - 1.) / (y + 1.);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/CHANGES b/mdk-stage1/dietlibc/libpthread/CHANGES
deleted file mode 100644
index 63376623b..000000000
--- a/mdk-stage1/dietlibc/libpthread/CHANGES
+++ /dev/null
@@ -1,51 +0,0 @@
-This is the pthread implementation of dietlibc.
-Written from scratch by Olaf Dreesen.
-
-Mon Aug 6 15:46:39 MEST 2001
-
- Ups... did the wrong error handling... the error is returned not put to
- errno...
- probably thread_key is not SMP save...
-
-Thu Apr 12 16:47:12 MEST 2001
-
- added conditional variables...
- except pthread_cond_timedwait all should work man-page like
- pthread_cond_timedwait dosen't handle cancel request according to man-page
-
- added thread specific key handling (all according to man-page)
-
-Fri Mar 30 18:47:37 MEST 2001
-
- uff found some logic errors and fixed them.
- pthread_create had a problem with user provided stacks.
-
-
-Fri Mar 23 14:09:54 MET 2001
-
- arg.. the kernel-header are so inconsistent...
- on x86 it works on arm and sparc not due to MISSING defines, miss-places
- includes and __KERNEL__ checks....
- the best in this category is that the kernel-header are changed that the
- buggy (g)libc haven't to change... (f..k glibc, the headers HAVE to be
- CONSISTENT)
- a public defined symbol on arch X have to be in Y to unless marked...
- that is mainly speaking SCHED.H ! arg....
-
-
-Wed Mar 14 04:28:45 MET 2001
-
- I have implemented the "Manager Thread" so that nested thread creation
- works. really ugly stuff... don't look at it unless you're sitting on solid
- ground.
-
-
-Mon Mar 12 16:16:00 CET 2001
-
- first of all:
- I strongly suggest NOT to use it yet, it's very, very, ... very
- experimental. I guess you got the point. there is still much debug code,
- incomplete functions and unusable states....
-
- I'm still working on the final alpha...
-
diff --git a/mdk-stage1/dietlibc/libpthread/Makefile b/mdk-stage1/dietlibc/libpthread/Makefile
deleted file mode 100644
index f2ab8d8dc..000000000
--- a/mdk-stage1/dietlibc/libpthread/Makefile
+++ /dev/null
@@ -1,140 +0,0 @@
-all: libpthread.a
-
-ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/')
-
-CFLAGS=-pipe
-CROSS=
-
-CC=gcc
-
-VPATH=../$(ARCH)/
-
-PTHREAD_OBJS = \
- __testandset.o \
- \
- pthread_internal.o \
- pthread_key.o \
- \
- pthread_once.o pthread_spinlock.o \
- \
- pthread_create.o pthread_detach.o \
- pthread_join.o pthread_self.o \
- pthread_exit.o pthread_equal.o \
- \
- pthread_cleanup_push.o \
- pthread_cleanup_pop.o \
- \
- pthread_attr_getdetachstate.o \
- pthread_attr_getinheritsched.o \
- pthread_attr_getschedparam.o \
- pthread_attr_getschedpolicy.o \
- pthread_attr_getscope.o \
- pthread_attr_getstackaddr.o \
- pthread_attr_getstacksize.o \
- pthread_attr_init.o \
- pthread_attr_setdetachstate.o \
- pthread_attr_setinheritsched.o \
- pthread_attr_setschedparam.o \
- pthread_attr_setschedpolicy.o \
- pthread_attr_setscope.o \
- pthread_attr_setstackaddr.o \
- pthread_attr_setstacksize.o \
- \
- pthread_cancel.o pthread_setcancelstate.o \
- pthread_setcanceltype.o pthread_testcancel.o \
- \
- pthread_mutex_init.o \
- pthread_mutex_destroy.o \
- pthread_mutex_lock.o \
- pthread_mutex_trylock.o \
- pthread_mutex_unlock.o \
- \
- pthread_mutexattr_getkind_np.o \
- pthread_mutexattr_init.o \
- pthread_mutexattr_setkind_np.o \
- \
- pthread_condattr.o \
- pthread_cond_broadcast.o \
- pthread_cond_destroy.o \
- pthread_cond_init.o \
- pthread_cond_signal.o \
- pthread_cond_timedwait.o \
- pthread_cond_wait.o \
- \
- pthread_key_create.o \
- pthread_key_delete.o \
- pthread_getspecific.o \
- pthread_setspecific.o \
- \
- pthread_atfork.o \
- pthread_sys_alloc.o \
- pthread_sys_close.o \
- pthread_sys_create.o \
- pthread_sys_fcntl.o \
- pthread_sys_fsync.o \
- pthread_sys_fdatasync.o \
- pthread_sys_nanosleep.o \
- pthread_sys_logging.o \
- pthread_sys_open.o \
- pthread_sys_pause.o \
- pthread_sys_read.o \
- pthread_sys_sigsuspend.o \
- pthread_sys_tcdrain.o \
- pthread_sys_waitpid.o \
- pthread_sys_write.o
-
-%.o : %.c
- $(CC) $(CFLAGS) -c -o $@ $?
-
-include ../$(ARCH)/Makefile.add
-
-ifeq ($(CFLAGS),-pipe)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-#CFLAGS = -g
-CFLAGS += -Wall
-
-CFLAGS += -I.. -I../include -Wall
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-% :: %,v
-
-%.o: %.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $<
-
-%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $<
-# $(CROSS)strip -x -R .comment -R .note $@
-
-libpthread.a: $(PTHREAD_OBJS)
- ar cr $@ $^
-
-libpthread.so: libpthread.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-
-clean:
- $(RM) *.o *.a *.so *.out *~
-
-exports: libpthread.a
- nm -g libpthread.a | grep -w T | awk '{ print $$3 }' | sort -u > exports
-
-.PHONY: test.out
-
-test.out: test.o libpthread.a $(LIBS)
- $(CROSS)$(CC) -g $(CFLAGS) -nostdlib ../bin-$(ARCH)/start.o -o $@ $^ ../bin-$(ARCH)/dietlibc.a -lgcc
-
-
-.PHONY: sparc ppc mips arm alpha i386
-
-sparc ppc alpha i386:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all t libdietc.so
-
-mips arm:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t libdietc.so
-
diff --git a/mdk-stage1/dietlibc/libpthread/README b/mdk-stage1/dietlibc/libpthread/README
deleted file mode 100644
index ee85a572d..000000000
--- a/mdk-stage1/dietlibc/libpthread/README
+++ /dev/null
@@ -1,36 +0,0 @@
-LIBPTHREAD
-
- This is the pthread implementation of dietlibc.
- Written from scratch by Olaf Dreesen.
-
-1. STATUS: near complete and should work (or not... I had a lot of heisen-bugs...)
- On non i386 archs the kernel header have major differences...
- NO workaround yet for this problems...
-
-It's like linuxthreads a clone base thread implementation.
-
-I have implemented a "Manager Thread" with all the pain it involves...
-Nested thread creation is now working fine...
-
-
-2. HOW-TO make this lib:
-
- it is a standard dietlibc helper lib...
-
-
-3. NOTES
-
-NON STANDARD SIGNAL HANDLING for the threads:
-
- SIGHUP the targeted thread is canceled
- depends on the cancel type of the thread.
-
- ASYNCHRONOUS: the signal handler will KILL the thread immediately.
-
- DEFERRED: the signal handler mark its thread as canceled.
- (only for the sig-handler to do some sane stuff...)
-
- SIGTERM the thread is KILLED
- if the thread signaled is the main thread, then ALL child-threads
- will get a SIGHUP and after some micros a SIGTERM....
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c b/mdk-stage1/dietlibc/libpthread/pthread_atfork.c
deleted file mode 100644
index 70ca9f162..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_atfork.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#define PTHREAD_NUM_ATFORK 4
-
-static struct _pthread_fastlock __atfork_struct_lock;
-static struct {
- int used;
- void (*prepare)(void);
- void (*parent)(void);
- void (*child)(void);
-} pthread_atfork_buf[PTHREAD_NUM_ATFORK];
-
-int pthread_atfork(void (*prepare)(void),
- void (*parent)(void),
- void (*child)(void))
-{
- int i,ret=-1;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__atfork_struct_lock);
-
- for (i=0;i<PTHREAD_NUM_ATFORK; ++i) {
- if (!(pthread_atfork_buf[i].used)) {
- pthread_atfork_buf[i].prepare=prepare;
- pthread_atfork_buf[i].parent=parent;
- pthread_atfork_buf[i].child=child;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__atfork_struct_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) ret=ENOMEM;
- return ret;
-}
-
-pid_t fork(void)
-{
- pid_t pid;
- int i=PTHREAD_NUM_ATFORK;
-
- __NO_ASYNC_CANCEL_BEGIN;
-
- __TEST_CANCEL();
- __pthread_lock(&__atfork_struct_lock);
-
- while (i) {
- if (pthread_atfork_buf[--i].used)
- if (pthread_atfork_buf[i].prepare)
- pthread_atfork_buf[i].prepare();
- }
-
- pid=__libc_fork();
-
- if (pid>0) { /* parent */
- for (i=0;i<PTHREAD_NUM_ATFORK;++i)
- if (pthread_atfork_buf[i].used)
- if (pthread_atfork_buf[i].parent)
- pthread_atfork_buf[i].parent();
- } else if (pid==0) { /* child */
- for (i=0;i<PTHREAD_NUM_ATFORK;++i)
- if (pthread_atfork_buf[i].used)
- if (pthread_atfork_buf[i].child)
- pthread_atfork_buf[i].child();
- }
-
- __pthread_unlock(&__atfork_struct_lock);
- __NO_ASYNC_CANCEL_END;
-
- return pid;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c
deleted file mode 100644
index ccdfc0e47..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getdetachstate.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate)
-{
- __THREAD_INIT();
-
- *detachstate=attr->__detachstate;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c
deleted file mode 100644
index 314fd8ade..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getinheritsched.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inherit)
-{
- __THREAD_INIT();
-
- *inherit = attr->__inheritsched;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c
deleted file mode 100644
index f0a9a07d1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedparam.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param)
-{
- __THREAD_INIT();
-
- param->sched_priority=attr->__schedparam.sched_priority;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c
deleted file mode 100644
index 53f1bed8c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getschedpolicy.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy)
-{
- __THREAD_INIT();
-
- *policy = attr->__schedpolicy;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c
deleted file mode 100644
index 99a33110d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getscope.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getscope(const pthread_attr_t *attr, int *scope)
-{
- __THREAD_INIT();
-
- *scope=PTHREAD_SCOPE_SYSTEM;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c
deleted file mode 100644
index d71421901..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstackaddr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getstackaddr(pthread_attr_t *attr, void **stack)
-{
- __THREAD_INIT();
-
- *stack=attr->__stackaddr;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c
deleted file mode 100644
index 4785979a0..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_getstacksize.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)
-{
- __THREAD_INIT();
-
- *stacksize=attr->__stacksize;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
deleted file mode 100644
index fbcefa3bd..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_init(pthread_attr_t *attr)
-{
- __THREAD_INIT();
-
- memset(attr,0,sizeof(pthread_attr_t));
- attr->__stacksize=PTHREAD_STACK_SIZE;
- return 0;
-}
-
-int pthread_attr_destroy(pthread_attr_t *attr) __attribute__((alias("pthread_attr_init")));
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
deleted file mode 100644
index f5eab5816..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate)
-{
- __THREAD_INIT();
-
- if ((detachstate == PTHREAD_CREATE_JOINABLE) ||
- (detachstate == PTHREAD_CREATE_DETACHED)) {
- attr->__detachstate=detachstate;
- return 0;
- }
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
deleted file mode 100644
index 0b7a691e7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setinheritsched(pthread_attr_t *attr, int inherit)
-{
- __THREAD_INIT();
-
- if ((inherit==PTHREAD_INHERIT_SCHED) ||
- (inherit==PTHREAD_EXPLICIT_SCHED)) {
- attr->__inheritsched=inherit;
- return 0;
- }
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
deleted file mode 100644
index a3e5a9b4a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param)
-{
- __THREAD_INIT();
-
- if ((attr->__schedpolicy == SCHED_OTHER) && (param->sched_priority == 0)) {
- attr->__schedparam.sched_priority=0;
- return 0;
- }
- if (((attr->__schedpolicy == SCHED_RR) || (attr->__schedpolicy == SCHED_FIFO))
- && ((param->sched_priority > 0) && (param->sched_priority < 100))) {
- attr->__schedparam.sched_priority=param->sched_priority;
- return 0;
- }
- return EINVAL;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
deleted file mode 100644
index 227d3f7ad..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy)
-{
- __THREAD_INIT();
-
- if (policy==SCHED_OTHER) {
- attr->__schedpolicy=policy;
- return 0;
- }
- if ((policy==SCHED_FIFO) || (policy==SCHED_RR)) {
- if (geteuid()==0) {
- attr->__schedpolicy=policy;
- return 0;
- }
- return ENOTSUP;
- }
- else
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
deleted file mode 100644
index 9be11ca2d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setscope(pthread_attr_t *attr, int scope)
-{
- __THREAD_INIT();
-
- if (scope==PTHREAD_SCOPE_SYSTEM) return 0;
-
- if (scope==PTHREAD_SCOPE_PROCESS)
- return ENOTSUP;
- else
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c
deleted file mode 100644
index 4b320cd9d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stack)
-{
- __THREAD_INIT();
-
- attr->__stackaddr=stack;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c b/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
deleted file mode 100644
index 1a0aae929..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize)
-{
- __THREAD_INIT();
-
- if (stacksize>=PTHREAD_STACK_SIZE) {
- attr->__stacksize=stacksize;
- return 0;
- }
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c b/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
deleted file mode 100644
index c0ae60349..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cancel(pthread_t th)
-{
- pthread_t j;
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- j=__find_thread_id(th);
-
- if (j==-1) {
- return ESRCH;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- return ESRCH;
- }
-
- if (thread->cancelstate!=PTHREAD_CANCEL_DISABLE) {
- thread->canceled=1;
- if (thread->canceltype!=PTHREAD_CANCEL_DEFERRED) {
- kill(thread->pid,SIGHUP);
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c
deleted file mode 100644
index 641bb6083..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_pop.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_cleanup_pop(int execute)
-{
- _pthread_descr this;
- struct thread_cleanup_t tmp;
- int i=PTHREAD_MAX_CLEANUP;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- while(i>0) {
- if (this->cleanup_stack[--i].func) {
- tmp.func=this->cleanup_stack[i].func;
- tmp.arg=this->cleanup_stack[i].arg;
- this->cleanup_stack[i].func=0;
- break;
- }
- }
-
- if (execute) tmp.func(tmp.arg);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c b/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c
deleted file mode 100644
index cd2aabf71..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cleanup_push.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_cleanup_push(void (*func)(void*), void *arg)
-{
- _pthread_descr this;
- int i;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- for (i=0; i<PTHREAD_MAX_CLEANUP; ++i) {
- if (this->cleanup_stack[i].func==0) {
- this->cleanup_stack[i].func=func;
- this->cleanup_stack[i].arg=arg;
- break;
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
deleted file mode 100644
index 776e0adfc..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_broadcast(pthread_cond_t *cond)
-{
- _pthread_descr tmp;
-
- __THREAD_INIT();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
-
- for (tmp=cond->wait_chain;tmp;tmp=tmp->waitnext) {
- tmp->waitnext=0;
- tmp->waiting=0;
- }
- cond->wait_chain=0;
-
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
deleted file mode 100644
index b553b41df..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_destroy(pthread_cond_t *cond)
-{
- __THREAD_INIT();
-
- if (cond->wait_chain) {
- return EBUSY;
- }
-
- memset(cond,0,sizeof(pthread_cond_t));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
deleted file mode 100644
index 76dd5cb97..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr)
-{
- __THREAD_INIT();
-
- memset(cond,0,sizeof(pthread_cond_t));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
deleted file mode 100644
index 02a3c028e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_signal(pthread_cond_t *cond)
-{
- _pthread_descr tmp=0;
-
- __THREAD_INIT();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if ((tmp=cond->wait_chain)) cond->wait_chain=tmp->waitnext;
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
-
- if (tmp) {
- tmp->waitnext=0;
- tmp->waiting=0;
- }
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
deleted file mode 100644
index 71d80bdb5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- const struct timespec *abstime)
-{
- _pthread_descr tmp;
- _pthread_descr this;
- int ret=0;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- this->waiting=1;
- if (cond->wait_chain) {
- for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext);
- tmp->waitnext=this;
- } else cond->wait_chain=this;
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
-
- /* Aeh yeah / wait till cond-signal OR timeout */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- struct timeval tv;
- gettimeofday(&tv,0);
- if ((abstime->tv_sec <= tv.tv_sec) && (abstime->tv_nsec <= (tv.tv_usec*1000))) {
- ret = 1;
- break;
- }
- __thread_wait_some_time();
- if (this->canceled) break; /* a cancel */
- }
- pthread_mutex_lock(mutex);
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if (this->waiting) { /* still waiting -> TIMEOUT or SIGNAL */
- _pthread_descr prev;
- /* remove from wait-chain */
- prev=cond->wait_chain;
- if ((prev=cond->wait_chain)==this) {
- cond->wait_chain=this->waitnext;
- } else {
- for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) {
- if (tmp==this) {
- prev->waitnext=this->waitnext;
- break;
- }
- }
- }
- this->waiting=0;
- this->waitnext=0;
- }
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_END;
-
- if (ret) return ETIMEDOUT;
-
- {
- register int err = (*__errno_location());
- if (err==EINTR) return err;
- }
- return 0;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c b/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
deleted file mode 100644
index 8db49e840..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
- _pthread_descr tmp;
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- this->waiting=1;
- if (cond->wait_chain) {
- for(tmp=cond->wait_chain;tmp->waitnext;tmp=tmp->waitnext);
- tmp->waitnext=this;
- } else cond->wait_chain=this;
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_STOP;
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- __thread_wait_some_time();
- if (this->canceled) break; /* we got a cancel signal */
- }
- pthread_mutex_lock(mutex);
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&(cond->lock));
- if (this->waiting) { /* still waiting -> SIGNAL */
- _pthread_descr prev;
- /* remove from wait-chain */
- prev=cond->wait_chain;
- if ((prev=cond->wait_chain)==this) {
- cond->wait_chain=this->waitnext;
- } else {
- for (tmp=prev->waitnext;tmp;prev=tmp,tmp=prev->waitnext) {
- if (tmp==this) {
- prev->waitnext=this->waitnext;
- break;
- }
- }
- }
- this->waiting=0;
- this->waitnext=0;
- }
- __pthread_unlock(&(cond->lock));
- __NO_ASYNC_CANCEL_END;
- return 0;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c b/mdk-stage1/dietlibc/libpthread/pthread_condattr.c
deleted file mode 100644
index c537890ba..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_condattr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <pthread.h>
-
-int pthread_condattr_init(pthread_condattr_t *attr)
-{
- return 0;
-}
-
-int pthread_condattr_destroy(pthread_condattr_t *attr)
-__attribute__((alias("pthread_condattr_init")));
-
-int pthread_condattr_getpshared(const pthread_condattr_t *attr, int *pshared)
-__attribute__((alias("pthread_condattr_init")));
-
-int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared)
-__attribute__((alias("pthread_condattr_init")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_create.c b/mdk-stage1/dietlibc/libpthread/pthread_create.c
deleted file mode 100644
index 714c2bf4b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_create.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_create (pthread_t *thread, const pthread_attr_t *attr,
- void *(*start_routine) (void *), void *arg)
-{
- int ret=0;
- _pthread_descr td;
- pthread_attr_t default_attr;
-
- __THREAD_INIT();
-
- if (start_routine==0) {
- return EINVAL;
- }
-
- td = __thread_get_free();
-
- if (td) {
- td->go.__spinlock=PTHREAD_SPIN_LOCKED;
- if (!(attr)) {
- pthread_attr_init(&default_attr);
- attr=&default_attr;
- }
-
- if ((td->policy!=SCHED_OTHER)&&(td->priority==0)) {
- return EINVAL;
- }
-
- if (attr->__inheritsched==PTHREAD_INHERIT_SCHED) {
- _pthread_descr this = __thread_self();
- td->policy = this->policy;
- td->priority = this->priority;
- } else {
- td->policy = attr->__schedpolicy;
- td->priority = attr->__schedparam.sched_priority;
- }
-
- td->func = start_routine;
- td->arg = arg;
-
- td->detached = attr->__detachstate;
-
- td->stack_size = attr->__stacksize;
-
- if (!(attr->__stackaddr)) {
- char *stack=(char*)malloc(td->stack_size);
- if (!(stack)) {
- return EINVAL;
- }
- td->stack_begin = stack;
-#ifdef __parisc__
- td->stack_addr = stack;
-#else
- td->stack_addr = stack+td->stack_size;
-#endif
- } else {
- td->stack_begin = 0;
- td->stack_addr = attr->__stackaddr;
- }
-
- ret = signal_manager_thread(td);
-
- if (ret>1)
- *thread=ret;
- else {
- ++td->exited; /* mark as exited */
- __thread_cleanup(td);
- if (ret<0) return (*(__errno_location()));
- return EAGAIN;
- }
- }
- else
- return EAGAIN;
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_detach.c b/mdk-stage1/dietlibc/libpthread/pthread_detach.c
deleted file mode 100644
index 2f72b97a7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_detach.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_detach(pthread_t th)
-{
- pthread_t j;
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- j=__find_thread_id(th);
-
- if (j==-1) {
- return ESRCH;
- }
- thread = __get_thread_struct(j);
-
- if (thread->detached) {
- return EINVAL;
- }
-
- if (!thread->joined) {
- thread->detached=1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_equal.c b/mdk-stage1/dietlibc/libpthread/pthread_equal.c
deleted file mode 100644
index d054d86ed..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_equal.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <pthread.h>
-
-int pthread_equal(pthread_t thread1, pthread_t thread2) { return (thread1==thread2); }
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_errno.c b/mdk-stage1/dietlibc/libpthread/pthread_errno.c
deleted file mode 100644
index d035544ad..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_errno.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int errno;
-
-#include "dietwarning.h"
-
-link_warning("errno","\e[1;33;41m>>> your multithreaded code uses errno! <<<\e[0m");
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_exit.c b/mdk-stage1/dietlibc/libpthread/pthread_exit.c
deleted file mode 100644
index 41eac0a33..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_exit.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_exit(void *retval)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
- this->retval = retval;
-
- longjmp(this->jmp_exit,1);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c b/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c
deleted file mode 100644
index d73c84220..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include <errno.h>
-
-extern int __stdio_atexit;
-extern FILE* __stdio_init_file_nothreads(int fd,int closeonerror);
-
-FILE* __stdio_init_file(int fd,int closeonerror) {
- FILE *tmp=__stdio_init_file_nothreads(fd,closeonerror);
- if (tmp) pthread_mutex_init(&tmp->m,0);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c b/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c
deleted file mode 100644
index 34e79e0fe..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fgetc.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fgetc(FILE *stream) {
- int tmp;
- pthread_mutex_lock(&stream->m);
- tmp=fgetc_unlocked(stream);
- pthread_mutex_unlock(&stream->m);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c
deleted file mode 100644
index 72131ffb1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_flockfile.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void flockfile(FILE* f) {
- pthread_mutex_lock(&f->m);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c b/mdk-stage1/dietlibc/libpthread/pthread_fputc.c
deleted file mode 100644
index 82344b107..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_fputc.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-
-int fputc(int c, FILE *stream) {
- int tmp;
- pthread_mutex_lock(&stream->m);
- tmp=fputc_unlocked(c,stream);
- pthread_mutex_unlock(&stream->m);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c b/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c
deleted file mode 100644
index beae058af..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void funlockfile(FILE* f) {
- pthread_mutex_unlock(&f->m);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c
deleted file mode 100644
index aaaba4458..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_getschedparam(pthread_t target_thread, int *policy, struct sched_param *param)
-{
- int p;
- __THREAD_INIT();
-
- if (__find_thread_id(target_thread)<0) {
- return ESRCH;
- }
-
- if (((p=sched_getscheduler(target_thread))==-1)||
- (sched_getparam(target_thread,param) ==-1)) {
- return (*(__errno_location()));
- }
- *policy=p;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c
deleted file mode 100644
index c2f84c814..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_getspecific.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-const void *pthread_getspecific(pthread_key_t key)
-{
- int id;
- __THREAD_INIT();
-
- id=__find_thread_id(getpid());
-
- if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) {
- return __thread_keys[key].tkd[id];
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_internal.c b/mdk-stage1/dietlibc/libpthread/pthread_internal.c
deleted file mode 100644
index 7bb4e16cb..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_internal.c
+++ /dev/null
@@ -1,359 +0,0 @@
-#include <signal.h>
-#include <string.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <sched.h>
-#include <sys/resource.h>
-
-#include <stdio.h>
-#include "thread_internal.h"
-
-static struct _pthread_fastlock __thread_struct_lock = {PTHREAD_SPIN_UNLOCKED};
-static struct _pthread_descr_struct threads[PTHREAD_THREADS_MAX];
-static int _max_used_thread_id=1;
-pthread_once_t __thread_inited;
-
-static struct _pthread_fastlock __manager_thread_signal_lock = {PTHREAD_SPIN_UNLOCKED};
-static struct _pthread_fastlock __manager_thread_data_lock = {PTHREAD_SPIN_LOCKED};
-static struct _pthread_fastlock __manager_thread_data_go_lock = {PTHREAD_SPIN_LOCKED};
-
-//#define DEBUG
-
-/* find thread */
-int __find_thread_id(int pid)
-{
- register int i;
- for (i=0; i<_max_used_thread_id; i++)
- if (threads[i].pid==pid)
- return i;
- return -1;
-}
-
-/* get thread */
-_pthread_descr __get_thread_struct(int id)
-{
- return threads+id;
-}
-
-/* thread errno location */
-int *__errno_location(void)
-{
- int id=0;
- if (__thread_inited) id=__find_thread_id(getpid());
- if (id<0)
- return 0;
- else
- return &threads[id].errno;
-}
-
-/* thread self */
-_pthread_descr __thread_self()
-{
- register int i=__find_thread_id(getpid());
- if (i<0)
- return 0;
- else
- return threads+i;
-}
-
-/* allocate a thread slot */
-_pthread_descr __thread_get_free()
-{
- _pthread_descr ret=0;
- int i;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_struct_lock);
-
- for (i=0; i<PTHREAD_THREADS_MAX; i++) {
- if (threads[i].pid==0) {
- ret = threads+i;
- /* clear struct */
- memset(ret,0,sizeof(struct _pthread_descr_struct));
- ret->pid=1; /* mark as taken */
- if (i>=_max_used_thread_id) _max_used_thread_id=i+1;
- break;
- }
- }
-
- __pthread_unlock(&__thread_struct_lock);
- __NO_ASYNC_CANCEL_END;
- return ret;
-}
-
-/* sleep a little (reschedule for this time) */
-void __thread_wait_some_time()
-{
- struct timespec reg;
- reg.tv_sec=0;
- reg.tv_nsec=SPIN_SLEEP_DURATION;
- __libc_nanosleep(&reg,0);
-}
-
-/* cleanup/join a thread */
-int __thread_join(_pthread_descr th, void**return_value)
-{
- /* mark thread th as joined */
- if (__testandset(&(th->joined))) return EINVAL;
- /* wait for thread to exit */
- while(!th->exited) __thread_wait_some_time();
- /* put return value to caller */
- if (return_value) *return_value=th->retval;
- /* cleanup thread */
- if (th->stack_begin) free(th->stack_begin);
- th->joined=0;
- th->pid=0;
- return 0;
-}
-
-/* SIGHUP handler (thread cancel) PTHREAD_CANCEL_ASYNCHRONOUS */
-static void __thread_cancel_handler(int sig)
-{
- _pthread_descr this;
- this = __thread_self();
- this->canceled=1;
- if (this->canceltype==PTHREAD_CANCEL_ASYNCHRONOUS)
- pthread_exit(PTHREAD_CANCELED);
- signal( SIGHUP, __thread_cancel_handler );
-}
-
-/* kill ALL threads / other then prime task and manager thread */
-static void __kill_all_threads()
-{
- int i;
-
- for (i=2; i<_max_used_thread_id; i++) {
- if (threads[i].pid>1) {
-#ifdef DEBUG
- printf("CANCEL ! %d\n",threads[i].pid);
-#endif
- threads[i].canceled=1;
- kill(threads[i].pid, SIGHUP); /* cancel thread */
- }
- }
-
- __thread_wait_some_time();
-
- for (i=2; i<_max_used_thread_id; i++) {
- if (threads[i].pid>1) {
-#ifdef DEBUG
- printf("KILL ! %d\n",threads[i].pid);
-#endif
- kill(threads[i].pid, SIGTERM); /* KILL thread */
- }
- }
-}
-
-__attribute__((weak)) volatile void __thread_start__key(int id);
-__attribute__((weak)) volatile void __thread_start__key(int id) { return; }
-__attribute__((weak,alias("__thread_start__key"))) volatile void __thread_exit__key(int id);
-
-/* support for manager */
-static void *__mthread_starter(void *arg)
-{
- _pthread_descr td = (_pthread_descr)arg;
- int i = td->stack_size-4096;
-
- /* just to be sure */
- td->pid=getpid();
-
- /* signal handling for a thread */
- signal(SIGTERM, _exit);
- signal(SIGCHLD, SIG_DFL);
- signal(SIGHUP, __thread_cancel_handler );
-
- /* limit stack so that we NEVER have to worry */
- setrlimit(RLIMIT_STACK, (struct rlimit *)(&i));
-
- /* set scheduler */
- if (td->policy!=SCHED_OTHER) {
- struct sched_param sp;
- sp.sched_priority=td->priority;
- sched_setscheduler(td->pid,td->policy, &sp);
- }
-
- /* thread_key glue */
- __thread_start__key(td-threads);
-
-#ifdef DEBUG
- printf("in starter %d, parameter %8p\n", td->pid, td->func);
-#endif
- do {
- __thread_wait_some_time();
- if (td->canceled) return (void*)42;
- } while (__pthread_trylock(&td->go));
-
-#ifdef DEBUG
- printf("post starter %d, parameter %8p\n", td->pid, td->func);
-#endif
-
- if (!td->canceled) {
- if (!(setjmp(td->jmp_exit))) {
- td->retval=td->func(td->arg);
-#ifdef DEBUG
- } else {
- printf("pthread_exit called in %d\n", td->pid);
-#endif
- }
- }
- pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,0);
-
- /* thread_key glue */
- __thread_exit__key(td-threads);
-
-#ifdef DEBUG
- printf("end starter %d, retval %8p\n", td->pid, td->retval);
-#endif
-
- /* execute all functions on the cleanup-stack */
- for (i=PTHREAD_MAX_CLEANUP;i;) {
- if (td->cleanup_stack[--i].func) {
- td->cleanup_stack[i].func(td->cleanup_stack[i].arg);
- }
- }
-
- return 0;
-}
-
-
-/* manager thread and signal handler */
-static char __manager_thread_stack[12*1024];
-static volatile _pthread_descr __manager_thread_data;
-static void __manager_SIGCHLD(int sig)
-{
- int pid, status, i;
-
- while(1) {
- pid = __libc_waitpid (-1, &status, WNOHANG);
- if (pid <= 0) break;
-
- for (i=0; i<_max_used_thread_id; i++) {
- if (threads[i].pid==pid) {
- ++threads[i].exited;
- if (threads[i].detached) {
- threads[i].joined=0;
- __thread_cleanup(threads+i);
- }
- break;
- }
- }
- }
-}
-
-static void __manager_SIGTERM(int sig)
-{
- __kill_all_threads();
- _exit(0);
-}
-
-static void* __manager_thread(void *arg)
-{
- struct sigaction sig_action_chld;
- sig_action_chld.sa_handler = __manager_SIGCHLD;
- sigemptyset(&sig_action_chld.sa_mask);
- sig_action_chld.sa_flags = SA_RESTART;
-
- sigaction(SIGCHLD, &sig_action_chld, 0);
- signal(SIGTERM, __manager_SIGTERM);
- signal(SIGHUP, SIG_IGN);
-
- __pthread_unlock(&__manager_thread_data_go_lock); /* release init */
- while(1) {
- do {
- __thread_wait_some_time();
- if (getppid()<2) __manager_SIGTERM(0);
- } while (__pthread_trylock(&__manager_thread_data_lock));
-
- __manager_thread_data->pid =
- __clone(__mthread_starter,
- __manager_thread_data->stack_addr,
- CLONE_VM | CLONE_FS | CLONE_FILES | SIGCHLD,
- __manager_thread_data);
- __thread_wait_some_time();
- __thread_wait_some_time();
- __pthread_unlock(&__manager_thread_data->go);
-#ifdef DEBUG
- printf("manager new thread %d\n",__manager_thread_data->pid);
-#endif
- __pthread_unlock(&__manager_thread_data_go_lock); /* release sender */
- }
- return 0;
-}
-
-/* pthread_create bottom half */
-int signal_manager_thread(_pthread_descr td)
-{
- __NO_ASYNC_CANCEL_BEGIN;
-
- __pthread_lock(&__manager_thread_signal_lock); /* lock */
-
- __manager_thread_data = td;
- __thread_wait_some_time();
- __pthread_unlock(&__manager_thread_data_lock); /* signal manager to start */
- __thread_wait_some_time();
- __pthread_lock(&__manager_thread_data_go_lock); /* wait for manager */
-
- __pthread_unlock(&__manager_thread_signal_lock); /* unlock */
-
- __NO_ASYNC_CANCEL_END;
-
- return td->pid;
-}
-
-
-/* thread stop */
-static void __thread_main_exit()
-{
- if (getpid()!=threads[0].pid) {
-#ifdef DEBUG
- printf("A THREAD ? %d\n",getpid());
-#endif
- kill(threads[0].pid, SIGTERM);
- while(1) __thread_wait_some_time();
- }
-#ifdef DEBUG
- else
- printf("EXIT ! %d\n",getpid());
-#endif
-
- /* stop ALL threads */
- kill(threads[1].pid, SIGTERM);
- __thread_wait_some_time();
- __kill_all_threads();
-}
-
-/* thread intern init */
-void __thread_init()
-{
- if (atexit(__thread_main_exit)==-1)
- exit(42);
-
-#ifdef DEBUG
- printf("INIT ! %d\n",getpid());
- memset(threads,0,sizeof(threads));
-#endif
-
- threads[0].pid = getpid();
-
- ++_max_used_thread_id;
- threads[1].stack_size=sizeof(__manager_thread_stack);
-#ifdef __parisc__
- threads[1].stack_addr=__manager_thread_stack;
-#else
- threads[1].stack_addr=&__manager_thread_stack[sizeof(__manager_thread_stack)];
-#endif
- threads[1].stack_begin=0;
- threads[1].func=__manager_thread;
-
- threads[1].pid = __clone(__mthread_starter, threads[1].stack_addr,
- CLONE_VM | CLONE_FS | CLONE_FILES, threads+1);
-
-#ifdef DEBUG
- printf("manager thread @ : %d\n",threads[1].pid);
-#endif
- __pthread_lock(&__manager_thread_data_go_lock); /* wait for manager to be ready */
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_join.c b/mdk-stage1/dietlibc/libpthread/pthread_join.c
deleted file mode 100644
index 39c076555..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_join.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include "thread_internal.h"
-#include <pthread.h>
-
-int pthread_join(pthread_t th, void **thread_return)
-{
- pthread_t j;
- _pthread_descr this, thread;
-
- __THREAD_INIT();
-
- this = __thread_self();
- j=__find_thread_id(th);
-
- if (j==-1) {
- return ESRCH;
- }
-
- thread = __get_thread_struct(j);
-
- /* error handling */
- if (thread==0) {
- return ESRCH;
- }
-
- if (this==thread) {
- return EDEADLK;
- }
-
- if (thread->detached || thread->joined) {
- return EINVAL;
- }
-
- return __thread_join(thread,thread_return);
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key.c b/mdk-stage1/dietlibc/libpthread/pthread_key.c
deleted file mode 100644
index 8a77f281a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-struct _pthread_fastlock __thread_keys_lock;
-struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-
-void __thread_start__key(int id);
-void __thread_exit__key(int id);
-
-void __thread_start__key(int id)
-{
- int i;
-
- if (id<2) return;
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- __thread_keys[i].tkd[id]=0;
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-}
-
-void __thread_exit__key(int id)
-{
- int i,try;
-
- if (id<2) return;
-
- __NO_ASYNC_CANCEL_BEGIN;
-// __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- if ((__thread_keys[i].used) && (__thread_keys[i].destructor)) {
- for (try=0;__thread_keys[i].tkd[id] && (try<PTHREAD_DESTRUCTOR_ITERATIONS);++try)
- __thread_keys[i].destructor(__thread_keys[i].tkd[id]);
- }
- }
-
-// __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_STOP;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c b/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
deleted file mode 100644
index 9718c695b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _pthread_fastlock __thread_keys_lock;
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_key_create(pthread_key_t *key, void (*destructor)(const void*))
-{
- int ret=-1,i;
-
- __THREAD_INIT();
-
- __NO_ASYNC_CANCEL_BEGIN;
- __pthread_lock(&__thread_keys_lock);
-
- for (i=0; i<PTHREAD_KEYS_MAX; i++) {
- if (!__thread_keys[i].used) {
- __thread_keys[i].used=1;
- __thread_keys[i].destructor=destructor;
- memset(__thread_keys[i].tkd,0,PTHREAD_THREADS_MAX*sizeof(void*));
- *key=i;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) return EAGAIN;
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c b/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c
deleted file mode 100644
index 8f7fb577f..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_key_delete(pthread_key_t key)
-{
- __THREAD_INIT();
-
- if (key>=PTHREAD_KEYS_MAX) {
- return EINVAL;
- }
-
- __thread_keys[key].used=0;
-
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
deleted file mode 100644
index f5d66613c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutex_destroy(pthread_mutex_t *mutex)
-{
- __THREAD_INIT();
-
- if ((mutex->owner)||(mutex->lock.__spinlock==PTHREAD_SPIN_LOCKED)) {
- return EBUSY;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
deleted file mode 100644
index 65161d0ec..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-#include <string.h>
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutex_init(pthread_mutex_t *mutex,
- const pthread_mutexattr_t *mutexattr)
-{
- __THREAD_INIT();
-
- memset(mutex,0,sizeof(pthread_mutex_t));
- if (mutexattr) {
- mutex->kind=mutexattr->__mutexkind;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c
deleted file mode 100644
index 0df2bcd8d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_lock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this==mutex->owner) {
- if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- return EDEADLK;
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) {
- ++(mutex->count);
- return 0;
- }
- }
-
- /* wait for mutex to free */
- __pthread_lock(&(mutex->lock));
- mutex->owner=this;
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c
deleted file mode 100644
index 620d26150..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_trylock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this!=mutex->owner) {
- /* wait for mutex to free */
- if (__pthread_trylock(&(mutex->lock))) {
- return EBUSY;
- }
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) {
- return EDEADLK;
- }
-
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) ++(mutex->count);
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c b/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
deleted file mode 100644
index 0c12282c1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-/* will never return EINVAL ! */
-
-int pthread_mutex_unlock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this==mutex->owner) {
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) {
- if (--(mutex->count)) return 0;
- }
-
- mutex->owner=0;
- __pthread_unlock(&(mutex->lock));
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP) {
- return EPERM;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c
deleted file mode 100644
index 63cd9133c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_getkind_np.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind)
-{
- __THREAD_INIT();
-
- *kind=attr->__mutexkind;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c
deleted file mode 100644
index ff60e4c74..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_init.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_init(pthread_mutexattr_t *attr)
-{
- __THREAD_INIT();
-
- attr->__mutexkind = 0;
- return 0;
-}
-
-int pthread_mutexattr_destroy(pthread_mutexattr_t *attr) __attribute__((alias ("pthread_mutexattr_init")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c b/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
deleted file mode 100644
index 8b110fe5a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind)
-{
- __THREAD_INIT();
-
- if ((kind==PTHREAD_MUTEX_FAST_NP) || (kind==PTHREAD_MUTEX_RECURSIVE_NP) ||
- (kind==PTHREAD_MUTEX_ERRORCHECK_NP)) {
- attr->__mutexkind=kind;
- return 0;
- }
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_once.c b/mdk-stage1/dietlibc/libpthread/pthread_once.c
deleted file mode 100644
index 16d9cb392..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_once.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <pthread.h>
-#include "thread_internal.h"
-
-int __pthread_once (pthread_once_t* once_control, void (*init_routine)(void))
-{
- if (!(__testandset(once_control))) init_routine();
- return 0;
-}
-int pthread_once (pthread_once_t* once_control, void (*init_routine)(void)) __attribute__((alias("__pthread_once")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_self.c b/mdk-stage1/dietlibc/libpthread/pthread_self.c
deleted file mode 100644
index 394686dd4..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_self.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <unistd.h>
-#include <pthread.h>
-
-pthread_t pthread_self() { return getpid(); }
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c b/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
deleted file mode 100644
index f832bef70..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setcancelstate(int state, int *oldstate)
-{
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- if ((state==PTHREAD_CANCEL_ENABLE) || (state==PTHREAD_CANCEL_DISABLE))
- {
- thread = __thread_self();
-
- if (oldstate) *oldstate = thread->cancelstate;
- thread->cancelstate = state;
-
- return 0;
- }
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c b/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
deleted file mode 100644
index f5669b70d..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setcanceltype(int type, int *oldtype)
-{
- _pthread_descr thread;
-
- __THREAD_INIT();
-
- if ((type==PTHREAD_CANCEL_DEFERRED) || (type==PTHREAD_CANCEL_ASYNCHRONOUS))
- {
- thread = __thread_self();
-
- if (oldtype) *oldtype = thread->canceltype;
- thread->canceltype = type;
-
- return 0;
- }
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c b/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c
deleted file mode 100644
index df007c408..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param *param)
-{
- __THREAD_INIT();
-
- if (__find_thread_id(target_thread)<0) {
- return ESRCH;
- }
-
- if (((policy == SCHED_OTHER) && (param->sched_priority==0)) ||
- (((policy == SCHED_RR) || (policy == SCHED_FIFO)) &&
- ((param->sched_priority > 0) && (param->sched_priority <100))))
- return sched_setscheduler(target_thread, policy, param);
-
- return EINVAL;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
deleted file mode 100644
index b66ce31d0..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-extern struct _thread_key __thread_keys[PTHREAD_KEYS_MAX];
-int pthread_setspecific(pthread_key_t key, const void *value)
-{
- int id;
- __THREAD_INIT();
-
- id=__find_thread_id(getpid());
- if ((key<PTHREAD_KEYS_MAX) && (__thread_keys[key].used)) {
- __thread_keys[key].tkd[id]=value;
- return 0;
- }
- return EINVAL;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c b/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c
deleted file mode 100644
index 691e9e51a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sigmask.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-
-#include <pthread.h>
-
-int pthread_sigmask(int how, const sigset_t*newset, sigset_t *oldset) {
- return (sigprocmask(how,newset,oldset)==-1)?(*(__errno_location())):0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c b/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
deleted file mode 100644
index 463c186bd..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <time.h>
-#include <pthread.h>
-#include "thread_internal.h"
-
-void __pthread_lock(struct _pthread_fastlock * lock)
-{
- int cnt = 0;
- struct timespec tm;
-
- while (__testandset(&lock->__spinlock)) {
- if (cnt < MAX_SPIN_COUNT) {
- sched_yield();
- cnt++;
- } else {
- tm.tv_sec = 0;
- tm.tv_nsec = SPIN_SLEEP_DURATION;
- __libc_nanosleep(&tm, 0);
- cnt = 0;
- }
- }
-}
-
-int __pthread_trylock(struct _pthread_fastlock * lock)
-{
- return __testandset(&lock->__spinlock);
-}
-
-int __pthread_unlock(struct _pthread_fastlock * lock)
-{
- lock->__spinlock = PTHREAD_SPIN_UNLOCKED;
- return 0;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
deleted file mode 100644
index 9fd4bcd95..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <stdlib.h>
-
-static pthread_mutex_t mutex_alloc = PTHREAD_MUTEX_INITIALIZER;
-
-void free(void *ptr) {
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- __libc_free(ptr);
- pthread_mutex_unlock(&mutex_alloc);
- __NO_ASYNC_CANCEL_END;
-}
-
-void *malloc(size_t size) {
- register void *ret;
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- ret=__libc_malloc(size);
- pthread_mutex_unlock(&mutex_alloc);
- __NO_ASYNC_CANCEL_END;
- return ret;
-}
-
-void* realloc(void* ptr, size_t size) {
- register void *ret;
- __NO_ASYNC_CANCEL_BEGIN;
- pthread_mutex_lock(&mutex_alloc);
- ret=__libc_realloc(ptr, size);
- pthread_mutex_unlock(&mutex_alloc);
- __NO_ASYNC_CANCEL_END;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c
deleted file mode 100644
index 84d5d5f36..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_close.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int close(int fd)
-{
- __TEST_CANCEL();
- return __libc_close(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c
deleted file mode 100644
index 9d47844f5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_create.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int creat(const char *pathname, mode_t mode)
-{
- __TEST_CANCEL();
- return __libc_creat(pathname,mode);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
deleted file mode 100644
index c7c3fb884..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fcntl(int fd, int cmd, void *arg);
-int fcntl(int fd, int cmd, void *arg)
-{
- __TEST_CANCEL();
- return __libc_fcntl(fd,cmd,arg);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c
deleted file mode 100644
index 69857c7b3..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fdatasync(int fd)
-{
- __TEST_CANCEL();
- return __libc_fdatasync(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c
deleted file mode 100644
index a2c995069..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int fsync(int fd)
-{
- __TEST_CANCEL();
- return __libc_fsync(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
deleted file mode 100644
index f9f93dce2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <unistd.h>
-#include <stdarg.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <syslog.h>
-
-static pthread_mutex_t mutex_syslog = PTHREAD_MUTEX_INITIALIZER;
-
-void closelog(void)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_closelog();
- pthread_cleanup_pop(1);
-}
-
-void openlog(const char *ident, int option, int facility)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_openlog(ident, option, facility);
- pthread_cleanup_pop(1);
-}
-
-void vsyslog(int priority, const char *format, va_list arg_ptr)
-{
- pthread_cleanup_push((void(*)(void*))pthread_mutex_unlock,&mutex_syslog);
- pthread_mutex_lock(&mutex_syslog);
- __libc_vsyslog(priority, format, arg_ptr);
- pthread_cleanup_pop(1);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c
deleted file mode 100644
index 699de4654..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <time.h>
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int nanosleep(const struct timespec *req, struct timespec *rem)
-{
- __TEST_CANCEL();
- return __libc_nanosleep(req,rem);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
deleted file mode 100644
index 8d9fb5523..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int __pthread_open(const char *pathname, int flags, mode_t mode);
-int __pthread_open(const char *pathname, int flags, mode_t mode)
-{
- __TEST_CANCEL();
- return __libc_open(pathname,flags,mode);
-}
-
-int open(const char *pathname, int flags, ...) __attribute__((alias("__pthread_open")));
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c
deleted file mode 100644
index ab15ead11..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_pause.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int pause()
-{
- __TEST_CANCEL();
- return __libc_pause();
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c
deleted file mode 100644
index 60f886003..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_read.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int read(int fd, void *buf, size_t count)
-{
- __TEST_CANCEL();
- return __libc_read(fd,buf,count);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c
deleted file mode 100644
index 72cd783ae..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_sigsuspend.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int sigsuspend(const sigset_t *mask)
-{
- __TEST_CANCEL();
- return __libc_sigsuspend(mask);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
deleted file mode 100644
index d5d94978b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <termios.h>
-
-int tcdrain(int fd)
-{
- __TEST_CANCEL();
- return __libc_tcdrain(fd);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
deleted file mode 100644
index e5020221a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-#include <sys/wait.h>
-
-pid_t waitpid(pid_t pid, int *status, int options)
-{
- __TEST_CANCEL();
- return __libc_waitpid(pid,status,options);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c b/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c
deleted file mode 100644
index 37541ae42..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_write.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-int write(int fd, const void *buf, size_t count)
-{
- __TEST_CANCEL();
- return __libc_write(fd,buf,count);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c b/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c
deleted file mode 100644
index 4151faca3..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_testcancel.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <errno.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-void pthread_testcancel()
-{
- _pthread_descr thread;
- __THREAD_INIT();
-
- thread=__thread_self();
-
- if (thread && thread->canceled) {
- pthread_exit(PTHREAD_CANCELED);
- }
-}
diff --git a/mdk-stage1/dietlibc/libpthread/test.c b/mdk-stage1/dietlibc/libpthread/test.c
deleted file mode 100644
index 3272c1753..000000000
--- a/mdk-stage1/dietlibc/libpthread/test.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <stdio.h>
-#include <pthread.h>
-
-#include <unistd.h>
-#include <signal.h>
-
-#include <errno.h>
-
-int ra;
-
-void test(int sig)
-{
- printf("SIGNAL %d in %d\n",sig,getpid());
- fflush(stdout);
- signal(SIGHUP, test);
-}
-
-void* thread(void* arg)
-{
- int i;
- for (i=0;i<10; i++)
- {
- printf("child %ld %8p\n", pthread_self(),arg);
- sleep(1);
- }
- return arg;
-}
-
-void* thread2(void *arg)
-{
- pthread_t t;
- int i;
-
- printf("child %ld %8p\n", pthread_self(),arg);
- for (i=0; i<3; ++i) {
- printf("child starting next in %d secs %ld %8p\n", 3-i, pthread_self(),arg);
- sleep(1);
- }
- pthread_create(&t,0, thread, (void*)2);
- printf("new child @ %ld\n",t);
- return (void*)t;
-}
-
-int main(int argc, char*argv[])
-{
- pthread_t t;
-
- signal(SIGHUP, test);
-
- pthread_create(&t,0, thread2, 0);
- pthread_create(&t,0, thread, (void *)3);
- pthread_create(&t,0, thread, (void *)1);
-
- puts("main");
-
-#if 0
- {
- int i;
- for(i=0;i<4;i++) sleep(1);
- }
-#else
- {
- int *tt;
- int i = pthread_join(t,(void*)&tt);
- printf("join %d %p %d\n",i,tt,(*(__errno_location())));
- }
-#endif
-
- puts("main exit");
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/thread_internal.h b/mdk-stage1/dietlibc/libpthread/thread_internal.h
deleted file mode 100644
index 7843fb59d..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef __THREAD_INTERNAL_H__
-#define __THREAD_INTERNAL_H__
-
-#include <pthread.h>
-#include <stdarg.h>
-#include <setjmp.h>
-#include "dietfeatures.h"
-#ifndef WANT_THREAD_SAFE
-#error "the diet libc is not compiled with thread safeness enabled!"
-#endif
-
-#undef errno
-
-/* cleanup */
-#define PTHREAD_MAX_CLEANUP 8
-struct thread_cleanup_t {
- void (*func)(void*);
- void *arg;
-};
-
-/* the thread descriptor / internal */
-struct _pthread_descr_struct {
- /* conditional variables */
- struct _pthread_descr_struct *waitnext; /* an other waiting thread or NULL */
- int waiting; /* internal waiting "lock" */
-
- /* thread/process data */
- int pid; /* Process id */
- int exited; /* Process is dead */
-
- int policy; /* thread scheduling policy */
- int priority; /* thread priority */
-
- /* errno handling */
- int errno;
- int h_errno;
-
- /* stack handling */
- unsigned int stack_size; /* stack size for setrlimit */
- void *stack_addr; /* stack address for clone */
- void *stack_begin; /* begin of lib-stack / lowest address (free) */
-
- /* thread exit handling */
- void *retval; /* thread return value */
- int joined; /* flag other thread has joined */
- jmp_buf jmp_exit; /* pthread_exit jump */
-
- /* thread flags */
- int detached; /* thread is detached */
- int canceled; /* thread canceled */
-
- /* cancel handling */
- int cancelstate; /* cancel state */
- int canceltype; /* type of cancellation */
-
- /* thread basics */
- void* (*func) (void* arg); /* thread function */
- void* arg; /* thread argument */
-
- /* create thread / manager thread lock */
- struct _pthread_fastlock go;
-
- /* cleanup stack */
- struct thread_cleanup_t cleanup_stack[PTHREAD_MAX_CLEANUP];
-
-} __attribute__ ((aligned(32)));
-
-/* thread keys */
-struct _thread_key {
- int used;
- void (*destructor)(const void*);
- const void *tkd[PTHREAD_THREADS_MAX];
-};
-
-/* internal stuff */
-int __testandset(int *spinlock);
-
-void __pthread_lock(struct _pthread_fastlock * lock);
-int __pthread_trylock(struct _pthread_fastlock * lock);
-int __pthread_unlock(struct _pthread_fastlock * lock);
-
-int __clone(void* (*fn)(void*), void* stack, int flags, void *arg);
-
-int __find_thread_id(int pid);
-_pthread_descr __get_thread_struct(int id);
-
-_pthread_descr __thread_get_free(void);
-_pthread_descr __thread_self(void);
-
-int __thread_join(_pthread_descr join, void **return_value);
-#define __thread_cleanup(th) (void)__thread_join((th),0)
-
-void __thread_wait_some_time(void);
-
-#define __NO_ASYNC_CANCEL_BEGIN { int oldtype; pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
-#define __NO_ASYNC_CANCEL_END pthread_setcanceltype(oldtype,0); pthread_testcancel(); }
-#define __NO_ASYNC_CANCEL_STOP pthread_setcanceltype(oldtype,0); }
-
-/* manager thread stuff */
-int signal_manager_thread(_pthread_descr td);
-
-/* init stuff */
-extern pthread_once_t __thread_inited;
-void __thread_init(void);
-#define __THREAD_INIT() __pthread_once(&__thread_inited, __thread_init)
-#define __TEST_CANCEL() pthread_testcancel()
-
-/* diet libc syscalls */
-
-void __libc_free(void *ptr);
-void *__libc_malloc(size_t size);
-void *__libc_realloc(void* ptr, size_t size);
-
-void __libc_closelog(void);
-void __libc_openlog(const char *ident, int option, int facility);
-void __libc_vsyslog(int priority, const char *format, va_list arg_ptr);
-
-pid_t __libc_fork(void);
-
-int __libc_close(int fd);
-int __libc_creat(const char *pathname, mode_t mode);
-int __libc_fcntl(int fd, int cmd, void *arg);
-int __libc_fsync(int fd);
-int __libc_fdatasync(int fd);
-int __libc_nanosleep(const struct timespec *req, struct timespec *rem);
-int __libc_open(const char *pathname, int flags, mode_t mode);
-int __libc_pause(void);
-int __libc_read(int fd, void *buf, size_t count);
-int __libc_sigsuspend(const sigset_t *mask);
-int __libc_tcdrain(int fd);
-pid_t __libc_waitpid(pid_t pid, int *status, int options);
-int __libc_write(int fd, const void *buf, size_t count);
-
-#endif
diff --git a/mdk-stage1/dietlibc/libregex/rx.c b/mdk-stage1/dietlibc/libregex/rx.c
deleted file mode 100644
index 9bab3e22c..000000000
--- a/mdk-stage1/dietlibc/libregex/rx.c
+++ /dev/null
@@ -1,494 +0,0 @@
-#define NDEBUG
-#include <regex.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.h>
-#include <assert.h>
-
-/* this is ugly.
- * the idea is to build a parse tree, then do some poor man's OOP with a
- * generic matcher function call that is always that the start of each
- * record, and a next pointer. When the parse tree is done, we need to
- * recursively set the next pointers to point to the part of the parse
- * tree that needs to match next.
- * This is the prototype of the generic match function call pointer.
- * The first argument is the "this" pointer, the second is the text to
- * be matched against, ofs is the offset from the start of the matched
- * text (so we can match "^") and matches is an array where match
- * positions are stored. */
-/* now declared in regex.h: */
-/* typedef int (*matcher)(void*,const char*,int ofs,regmatch_t* matches,int plus,int eflags); */
-
-/* one would think that this is approach is an order of magnitude slower
- * than the standard NFA approach, but it isn't. The busybox grep took
- * 0.26 seconds for a fixed string compared to 0.19 seconds for the
- * glibc regex. */
-
-/* first part: parse a regex into a parse tree */
-struct bracketed {
- unsigned int cc[32];
-};
-
-/* now declared in regex.h:
-struct regex {
- matcher m;
- void* next;
- int pieces;
- int num;
- struct branch *b;
-}; */
-
-struct atom {
- matcher m;
- void* next;
- enum { ILLEGAL, EMPTY, REGEX, BRACKET, ANY, LINESTART, LINEEND, WORDSTART, WORDEND, CHAR, } type;
- int bnum;
- union {
- struct regex r;
- struct bracketed b;
- char c;
- } u;
-};
-
-struct piece {
- matcher m;
- void* next;
- struct atom a;
- unsigned char min,max;
-};
-
-struct branch {
- matcher m;
- void* next;
- int num;
- struct piece *p;
-};
-
-static void clearcc(unsigned int* x) {
- memset(x,0,sizeof(struct bracketed));
-}
-
-static void setcc(unsigned int* x,unsigned int bit) {
- x[bit/32]|=(1<<((bit%32)-1));
-}
-
-static int issetcc(unsigned int* x,unsigned int bit) {
- return x[bit/32] & (1<<((bit%32)-1));
-}
-
-static const char* parsebracketed(struct bracketed*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char* t;
- int i,negflag=0;
- if (*s!='[') return s;
- t=s+1;
- clearcc(b->cc);
- if (*t=='^') { negflag=1; ++t; }
- do {
- if (*t==0) return s;
- setcc(b->cc,rx->cflags&REG_ICASE?tolower(*t):*t);
- if (t[1]=='-' && t[2]!=']') {
- for (i=*t+1; i<=t[2]; ++i) setcc(b->cc,rx->cflags&REG_ICASE?tolower(i):i);
- t+=2;
- }
- ++t;
- } while (*t!=']');
- if (negflag) for (i=0; i<32; ++i) b->cc[i]=~b->cc[i];
- return t+1;
-}
-
-static const char* parseregex(struct regex* r,const char* s,regex_t* rx);
-
-static int matchatom(void*__restrict__ x,const unsigned char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct atom* a=(struct atom*)x;
- int matchlen=0;
- assert(a->type!=ILLEGAL);
- switch (a->type) {
- case EMPTY:
-#ifdef DEBUG
- printf("matching atom EMPTY against \"%s\"\n",s);
- printf("a->bnum is %d\n",a->bnum);
-#endif
- if (a->bnum>=0) preg->l[a->bnum].rm_so=preg->l[a->bnum].rm_eo=ofs;
- goto match;
- case REGEX:
-#ifdef DEBUG
- printf("matching atom REGEX against \"%s\"\n",s);
- printf("a->bnum is %d\n",a->bnum);
-#endif
- if ((matchlen=a->u.r.m(&a->u.r,s,ofs,preg,0,eflags))>=0) {
- assert(a->bnum>=0);
- preg->l[a->bnum].rm_so=ofs;
- preg->l[a->bnum].rm_eo=ofs+matchlen;
- goto match;
- }
- break;
- case BRACKET:
-#ifdef DEBUG
- printf("matching atom BRACKET against \"%s\"\n",s);
-#endif
- matchlen=1;
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- if (*s && issetcc(a->u.b.cc,(preg->cflags&REG_ICASE?tolower(*s):*s)))
- goto match;
- break;
- case ANY:
-#ifdef DEBUG
- printf("matching atom ANY against \"%s\"\n",s);
-#endif
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- matchlen=1;
- if (*s) goto match;
- break;
- case LINESTART:
-#ifdef DEBUG
- printf("matching atom LINESTART against \"%s\"\n",s);
-#endif
- if (ofs==0 && (eflags&REG_NOTBOL)==0) {
- goto match;
- }
- break;
- case LINEEND:
-#ifdef DEBUG
- printf("matching atom LINEEND against \"%s\"\n",s);
-#endif
- if ((*s && *s!='\n') || (eflags&REG_NOTEOL)) break;
- goto match;
- case WORDSTART:
-#ifdef DEBUG
- printf("matching atom WORDSTART against \"%s\"\n",s);
-#endif
- if ((ofs==0 || !isalnum(s[-1])) && isalnum(*s))
- goto match;
- break;
- case WORDEND:
-#ifdef DEBUG
- printf("matching atom WORDEND against \"%s\"\n",s);
-#endif
- if (ofs>0 && isalnum(s[-1]) && !isalnum(*s))
- goto match;
- break;
- case CHAR:
-#ifdef DEBUG
- printf("matching atom CHAR %c against \"%s\"\n",a->u.c,s);
-#endif
- matchlen=1;
- if (((preg->cflags&REG_ICASE)?tolower(*s):*s)==a->u.c) goto match;
- break;
- }
- return -1;
-match:
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags);
- else
- return plus+matchlen;
-}
-
-static const char* parseatom(struct atom*__restrict__ a,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char *tmp;
- a->m=(matcher)matchatom;
- a->bnum=-1;
- switch (*s) {
- case '(':
- a->bnum=++rx->brackets;
- if (s[1]==')') {
- a->type=EMPTY;
- return s+2;
- }
- a->type=REGEX;
- if ((tmp=parseregex(&a->u.r,s+1,rx))!=s) {
- if (*tmp==')')
- return tmp+1;
- }
- case 0:
- case '|':
- case ')':
- return s;
- case '[':
- a->type=BRACKET;
- if ((tmp=parsebracketed(&a->u.b,s,rx))!=s)
- return tmp;
- return s;
- case '.':
- a->type=ANY;
- break;
- case '^':
- a->type=LINESTART;
- break;
- case '$':
- a->type=LINEEND;
- break;
- case '\\':
- if (!*++s) return s;
- if (*s=='<') {
- a->type=WORDSTART;
- break;
- } else if (*s=='>') {
- a->type=WORDEND;
- break;
- }
- default:
- a->type=CHAR;
- a->u.c=rx->cflags&REG_ICASE?tolower(*s):*s;
- break;
- }
- return s+1;
-}
-
-/* needs to do "greedy" matching, i.e. match as often as possible */
-static int matchpiece(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct piece* a=(struct piece*)x;
- int matchlen=0;
- int tmp=0,num=0;
- unsigned int *offsets;
- assert(a->max>0 && a->max<1000);
-#ifdef DEBUG
- printf("alloca(%d)\n",sizeof(int)*a->max);
-#endif
- offsets=alloca(sizeof(int)*a->max);
- offsets[0]=0;
-// printf("allocating %d offsets...\n",a->max);
-// printf("matchpiece \"%s\"...\n",s);
- /* first, try to match the atom as often as possible, up to a->max times */
- if (a->max == 1 && a->min == 1)
- return a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags);
- while (num<a->max) {
- void* save=a->a.next;
- a->a.next=0;
- if ((tmp=a->a.m(&a->a,s+matchlen,ofs+matchlen,preg,0,eflags))>=0) {
- a->a.next=save;
- ++num;
- matchlen+=tmp;
-// printf("setting offsets[%d] to %d\n",num,tmp);
- offsets[num]=tmp;
- } else {
- a->a.next=save;
- break;
- }
- }
- if (num<a->min) return -1; /* already at minimum matches; signal mismatch */
- /* then, while the rest does not match, back off */
- for (;num>=0;) {
- if (a->next)
- tmp=((struct atom*)(a->next))->m(a->next,s+matchlen,ofs+matchlen,preg,plus+matchlen,eflags);
- else
- tmp=plus+matchlen;
- if (tmp>=0) break; /* it did match; don't back off any further */
-// printf("using offsets[%d] (%d)\n",num,offsets[num]);
- matchlen-=offsets[num];
- --num;
- }
- return tmp;
-}
-
-static const char* parsepiece(struct piece*__restrict__ p,const char*__restrict__ s,regex_t*__restrict__ rx) {
- const char* tmp=parseatom(&p->a,s,rx);
- if (tmp==s) return s;
- p->m=matchpiece;
- p->min=p->max=1;
- switch (*tmp) {
- case '*': p->min=0; p->max=RE_DUP_MAX; break;
- case '+': p->min=1; p->max=RE_DUP_MAX; break;
- case '?': p->min=0; p->max=1; break;
- case '{':
- if (isdigit(*++tmp)) {
- p->min=*tmp-'0'; p->max=RE_DUP_MAX;
- while (isdigit(*++tmp)) p->min=p->min*10+*tmp-'0';
- if (*tmp==',') {
- if (isdigit(*++tmp)) {
- p->max=*tmp-'0';
- while (isdigit(*++tmp)) p->max=p->max*10+*tmp-'0';
- }
- }
- if (*tmp!='}') return s;
- ++tmp;
- }
- default:
- return tmp;
- }
- return tmp+1;
-}
-
-/* trivial, just pass through */
-static int matchbranch(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct branch* a=(struct branch*)x;
- int tmp;
-#ifdef DEBUG
- printf("%08p matching branch against \"%s\"\n",a,s);
- printf("%p %p\n",&a->p->m,a->p->m);
-#endif
- assert(a->p->m==matchpiece);
- tmp=a->p->m(a->p,s,ofs,preg,plus,eflags);
- if (tmp>=0) {
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags);
- else
- return plus+tmp;
- }
- return -1;
-}
-
-static const char* parsebranch(struct branch*__restrict__ b,const char*__restrict__ s,regex_t*__restrict__ rx,int*__restrict__ pieces) {
- struct piece p;
- const char *tmp; /* the gcc warning here is bogus */
- b->m=matchbranch;
- b->num=0; b->p=0;
- for (;;) {
- if (*s=='|') {
- if (b->num==0) {
- tmp=s+1;
- p.a.type=EMPTY;
- p.min=p.max=1;
- }
- } else {
- tmp=parsepiece(&p,s,rx);
- if (tmp==s) return s;
- }
-// printf("b->p from %p to ",b->p);
- if (!(b->p=realloc(b->p,++b->num*sizeof(p)))) return s;
-// printf("%p (size %d)\n",b->p,b->num*sizeof(p));
- b->p[b->num-1]=p;
- if (*tmp=='|') { break; }
- s=tmp;
- }
- *pieces+=b->num;
- return tmp;
-}
-
-/* try the branches one by one */
-static int matchregex(void*__restrict__ x,const char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct regex* a=(struct regex*)x;
- int i,tmp;
-#ifdef DEBUG
- printf("%08p matching regex against \"%s\"\n",a,s);
-#endif
- for (i=0; i<a->num; ++i) {
- assert(a->b[i].m==matchbranch);
- tmp=a->b[i].m(&a->b[i],s,ofs,preg,plus,eflags);
- if (tmp>=0) {
- if (a->next)
- return ((struct atom*)(a->next))->m(a->next,s+tmp,ofs+tmp,preg,plus+tmp,eflags);
- else
- return plus+tmp;
- }
- }
- return -1;
-}
-
-static const char* parseregex(struct regex*__restrict__ r,const char*__restrict__ s,regex_t*__restrict__ p) {
- struct branch b;
- const char *tmp;
- r->m=matchregex;
- r->num=0; r->b=0; r->pieces=0;
- p->brackets=0;
- for (;;) {
- tmp=parsebranch(&b,s,p,&r->pieces);
- if (tmp==s) return s;
-// printf("r->b from %p to ",r->b);
- if (!(r->b=realloc(r->b,++r->num*sizeof(b)))) return s;
-// printf("%p (size %d)\n",r->b,r->num*sizeof(b));
- r->b[r->num-1]=b;
- s=tmp; if (*s=='|') ++s;
- }
- return tmp;
-}
-
-
-/* The matcher relies on the presence of next pointers, of which the
- * parser does not know the correct destination. So we need an
- * additional pass through the data structure that sets the next
- * pointers correctly. */
-static void regex_putnext(struct regex* r,void* next);
-
-static void atom_putnext(struct atom*__restrict__ a,void*__restrict__ next) {
- a->next=next;
- if (a->type==REGEX)
- regex_putnext(&a->u.r,0);
-}
-
-static void piece_putnext(struct piece*__restrict__ p,void*__restrict__ next) {
- p->next=next;
- atom_putnext(&p->a,next);
-}
-
-static void branch_putnext(struct branch*__restrict__ b,void*__restrict__ next) {
- int i;
- for (i=0; i<b->num-1; ++i) {
- if (b->p[i+1].min==1 && b->p[i+1].max==1)
- piece_putnext(&b->p[i],&b->p[i+1].a);
- else
- piece_putnext(&b->p[i],&b->p[i+1]);
- }
- piece_putnext(&b->p[i],0);
- b->next=next;
-}
-
-static void regex_putnext(struct regex*__restrict__ r,void*__restrict__ next) {
- int i;
- for (i=0; i<r->num; ++i)
- branch_putnext(&r->b[i],next);
- r->next=next;
-}
-
-
-
-int regcomp(regex_t*__restrict__ preg, const char*__restrict__ regex, int cflags) {
- const char* t;
- preg->cflags=cflags;
- t=parseregex(&preg->r,regex,preg);
- if (t==regex) return -1;
- regex_putnext(&preg->r,0);
- return 0;
-}
-
-int regexec(const regex_t*__restrict__ preg, const char*__restrict__ string, size_t nmatch, regmatch_t pmatch[], int eflags) {
- int matched;
- const char *orig=string;
- assert(preg->brackets+1>0 && preg->brackets<1000);
-#ifdef DEBUG
- printf("alloca(%d)\n",sizeof(regmatch_t)*(preg->brackets+3));
-#endif
- ((regex_t*)preg)->l=alloca(sizeof(regmatch_t)*(preg->brackets+3));
- while (*string) {
- matched=preg->r.m((void*)&preg->r,string,string-orig,(regex_t*)preg,0,eflags);
-// printf("ebp on stack = %x\n",stack[1]);
- if (matched>=0) {
- preg->l[0].rm_so=string-orig;
- preg->l[0].rm_eo=string-orig+matched;
- if ((preg->cflags&REG_NOSUB)==0) memcpy(pmatch,preg->l,nmatch*sizeof(regmatch_t));
- return 0;
- }
- ++string; eflags|=REG_NOTBOL;
- }
- return REG_NOMATCH;
-}
-
-
-
-void regfree(regex_t* preg) {
- int i;
- for (i=0; i<preg->r.num; ++i)
- free(preg->r.b[i].p);
- free(preg->r.b);
-}
-
-size_t regerror(int errcode, const regex_t*__restrict__ preg, char*__restrict__ errbuf, size_t errbuf_size) {
- strncpy(errbuf,"invalid regular expression (sorry)",errbuf_size);
- return strlen(errbuf);
-}
-
-
-
-
-#if 0
-int main() {
- struct regex r;
- int bnum=-1;
- const char* t=parseregex(&r,"^a*ab$",&bnum);
- regex_putnext(&r,0);
- printf("%d pieces, %s\n",r.pieces,t);
- printf("%d\n",r.m(&r,"aaab",0,0,0));
- return 0;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/librpc/auth_none.c b/mdk-stage1/dietlibc/librpc/auth_none.c
deleted file mode 100644
index 59124bae4..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_none.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* @(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * auth_none.c
- * Creates a client authentication handle for passing "null"
- * credentials and verifiers to remote systems.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#define MAX_MARSHEL_SIZE 20
-
-static void authnone_verf();
-static bool_t authnone_validate();
-static bool_t authnone_refresh();
-static void authnone_destroy();
-static bool_t authnone_marshal(AUTH *client, XDR *xdrs);
-
-static struct auth_ops ops = {
- authnone_verf,
- authnone_marshal,
- authnone_validate,
- authnone_refresh,
- authnone_destroy
-};
-
-static struct authnone_private {
- AUTH no_client;
- char marshalled_client[MAX_MARSHEL_SIZE];
- unsigned int mcnt;
-} *authnone_private;
-
-AUTH *authnone_create()
-{
- register struct authnone_private *ap = authnone_private;
- XDR xdr_stream;
- register XDR *xdrs;
-
- if (ap == 0) {
- ap = (struct authnone_private *) calloc(1, sizeof(*ap));
- if (ap == 0)
- return (0);
- authnone_private = ap;
- }
- if (!ap->mcnt) {
- ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
- ap->no_client.ah_ops = &ops;
- xdrs = &xdr_stream;
- xdrmem_create(xdrs, ap->marshalled_client,
- (unsigned int) MAX_MARSHEL_SIZE, XDR_ENCODE);
- (void) xdr_opaque_auth(xdrs, &ap->no_client.ah_cred);
- (void) xdr_opaque_auth(xdrs, &ap->no_client.ah_verf);
- ap->mcnt = XDR_GETPOS(xdrs);
- XDR_DESTROY(xdrs);
- }
- return (&ap->no_client);
-}
-
- /*ARGSUSED*/ static bool_t authnone_marshal(client, xdrs)
-AUTH *client;
-XDR *xdrs;
-{
- register struct authnone_private *ap = authnone_private;
-
- if (ap == 0)
- return (0);
- return ((*xdrs->x_ops->x_putbytes) (xdrs,
- ap->marshalled_client, ap->mcnt));
-}
-
-static void authnone_verf()
-{
-}
-
-static bool_t authnone_validate()
-{
-
- return (TRUE);
-}
-
-static bool_t authnone_refresh()
-{
-
- return (FALSE);
-}
-
-static void authnone_destroy()
-{
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/auth_unix.c b/mdk-stage1/dietlibc/librpc/auth_unix.c
deleted file mode 100644
index 59eb6ff18..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_unix.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/* @(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * auth_unix.c, Implements UNIX style authentication parameters.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The system is very weak. The client uses no encryption for it's
- * credentials and only sends null verifiers. The server sends backs
- * null verifiers or optionally a verifier that suggests a new short hand
- * for the credentials.
- *
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <string.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#include <rpc/auth_unix.h>
-
-/*
- * Unix authenticator operations vector
- */
-static void authunix_nextverf();
-static bool_t authunix_marshal();
-static bool_t authunix_validate();
-static bool_t authunix_refresh();
-static void authunix_destroy();
-
-static struct auth_ops auth_unix_ops = {
- authunix_nextverf,
- authunix_marshal,
- authunix_validate,
- authunix_refresh,
- authunix_destroy
-};
-
-/*
- * This struct is pointed to by the ah_private field of an auth_handle.
- */
-struct audata {
- struct opaque_auth au_origcred; /* original credentials */
- struct opaque_auth au_shcred; /* short hand cred */
- unsigned long au_shfaults; /* short hand cache faults */
- char au_marshed[MAX_AUTH_BYTES];
- unsigned int au_mpos; /* xdr pos at end of marshed */
-};
-
-#define AUTH_PRIVATE(auth) ((struct audata *)auth->ah_private)
-
-static void marshal_new_auth();
-
-
-/*
- * Create a unix style authenticator.
- * Returns an auth handle with the given stuff in it.
- */
-AUTH *authunix_create __P ((char *machname, uid_t uid,
- gid_t gid, int len,
- gid_t *aup_gids))
-{
- struct authunix_parms aup;
- char mymem[MAX_AUTH_BYTES];
- struct timeval now;
- XDR xdrs;
- register AUTH *auth;
- register struct audata *au;
-
- /*
- * Allocate and set up auth handle
- */
- auth = (AUTH *) mem_alloc(sizeof(*auth));
-#ifndef KERNEL
- if (auth == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- au = (struct audata *) mem_alloc(sizeof(*au));
-#ifndef KERNEL
- if (au == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- auth->ah_ops = &auth_unix_ops;
- auth->ah_private = (char*) au;
- auth->ah_verf = au->au_shcred = _null_auth;
- au->au_shfaults = 0;
-
- /*
- * fill in param struct from the given params
- */
- (void) gettimeofday(&now, (struct timezone *) 0);
- aup.aup_time = now.tv_sec;
- aup.aup_machname = machname;
- aup.aup_uid = uid;
- aup.aup_gid = gid;
- aup.aup_len = (unsigned int) len;
- aup.aup_gids = aup_gids;
-
- /*
- * Serialize the parameters into origcred
- */
- xdrmem_create(&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE);
- if (!xdr_authunix_parms(&xdrs, &aup))
- abort();
- au->au_origcred.oa_length = len = XDR_GETPOS(&xdrs);
- au->au_origcred.oa_flavor = AUTH_UNIX;
-#ifdef KERNEL
- au->au_origcred.oa_base = mem_alloc((unsigned int) len);
-#else
- if ((au->au_origcred.oa_base = mem_alloc((unsigned int) len)) == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- memmove(au->au_origcred.oa_base, mymem, (unsigned int) len);
-
- /*
- * set auth handle to reflect new cred.
- */
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
- return (auth);
-}
-
-/*
- * Returns an auth handle with parameters determined by doing lots of
- * syscalls.
- */
-AUTH *authunix_create_default()
-{
- register int len;
- char machname[MAX_MACHINE_NAME + 1];
- register int uid;
- register int gid;
- gid_t gids[NGRPS];
-
- if (gethostname(machname, MAX_MACHINE_NAME) == -1)
- abort();
- machname[MAX_MACHINE_NAME] = 0;
- uid = geteuid();
- gid = getegid();
- if ((len = getgroups(NGRPS, gids)) < 0)
- abort();
- return (authunix_create(machname, uid, gid, len, gids));
-}
-
-/*
- * authunix operations
- */
-
-static void authunix_nextverf(auth)
-AUTH *auth;
-{
- /* no action necessary */
-}
-
-static bool_t authunix_marshal(auth, xdrs)
-AUTH *auth;
-XDR *xdrs;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
-
- return (XDR_PUTBYTES(xdrs, au->au_marshed, au->au_mpos));
-}
-
-static bool_t authunix_validate(auth, verf)
-register AUTH *auth;
-struct opaque_auth verf;
-{
- register struct audata *au;
- XDR xdrs;
-
- if (verf.oa_flavor == AUTH_SHORT) {
- au = AUTH_PRIVATE(auth);
- xdrmem_create(&xdrs, verf.oa_base, verf.oa_length, XDR_DECODE);
-
- if (au->au_shcred.oa_base != NULL) {
- mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length);
- au->au_shcred.oa_base = NULL;
- }
- if (xdr_opaque_auth(&xdrs, &au->au_shcred)) {
- auth->ah_cred = au->au_shcred;
- } else {
- xdrs.x_op = XDR_FREE;
- (void) xdr_opaque_auth(&xdrs, &au->au_shcred);
- au->au_shcred.oa_base = NULL;
- auth->ah_cred = au->au_origcred;
- }
- marshal_new_auth(auth);
- }
- return (TRUE);
-}
-
-static bool_t authunix_refresh(auth)
-register AUTH *auth;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
- struct authunix_parms aup;
- struct timeval now;
- XDR xdrs;
- register int stat;
-
- if (auth->ah_cred.oa_base == au->au_origcred.oa_base) {
- /* there is no hope. Punt */
- return (FALSE);
- }
- au->au_shfaults++;
-
- /* first deserialize the creds back into a struct authunix_parms */
- aup.aup_machname = NULL;
- aup.aup_gids = (gid_t *) NULL;
- xdrmem_create(&xdrs, au->au_origcred.oa_base,
- au->au_origcred.oa_length, XDR_DECODE);
- stat = xdr_authunix_parms(&xdrs, &aup);
- if (!stat)
- goto done;
-
- /* update the time and serialize in place */
- (void) gettimeofday(&now, (struct timezone *) 0);
- aup.aup_time = now.tv_sec;
- xdrs.x_op = XDR_ENCODE;
- XDR_SETPOS(&xdrs, 0);
- stat = xdr_authunix_parms(&xdrs, &aup);
- if (!stat)
- goto done;
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
- done:
- /* free the struct authunix_parms created by deserializing */
- xdrs.x_op = XDR_FREE;
- (void) xdr_authunix_parms(&xdrs, &aup);
- XDR_DESTROY(&xdrs);
- return (stat);
-}
-
-static void authunix_destroy(auth)
-register AUTH *auth;
-{
- register struct audata *au = AUTH_PRIVATE(auth);
-
- mem_free(au->au_origcred.oa_base, au->au_origcred.oa_length);
-
- if (au->au_shcred.oa_base != NULL)
- mem_free(au->au_shcred.oa_base, au->au_shcred.oa_length);
-
- mem_free(auth->ah_private, sizeof(struct audata));
-
- if (auth->ah_verf.oa_base != NULL)
- mem_free(auth->ah_verf.oa_base, auth->ah_verf.oa_length);
-
- mem_free((char*) auth, sizeof(*auth));
-}
-
-/*
- * Marshals (pre-serializes) an auth struct.
- * sets private data, au_marshed and au_mpos
- */
-static void marshal_new_auth(auth)
-register AUTH *auth;
-{
- XDR xdr_stream;
- register XDR *xdrs = &xdr_stream;
- register struct audata *au = AUTH_PRIVATE(auth);
-
- xdrmem_create(xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
- if ((!xdr_opaque_auth(xdrs, &(auth->ah_cred))) ||
- (!xdr_opaque_auth(xdrs, &(auth->ah_verf)))) {
- perror("auth_none.c - Fatal marshalling problem");
- } else {
- au->au_mpos = XDR_GETPOS(xdrs);
- }
- XDR_DESTROY(xdrs);
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/authunix_prot.c b/mdk-stage1/dietlibc/librpc/authunix_prot.c
deleted file mode 100644
index 53897a364..000000000
--- a/mdk-stage1/dietlibc/librpc/authunix_prot.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* @(#)authunix_prot.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * authunix_prot.c
- * XDR for UNIX style authentication parameters for RPC
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/auth.h>
-#include <rpc/auth_unix.h>
-
-/*
- * XDR for unix authentication parameters.
- */
-bool_t xdr_authunix_parms(xdrs, p)
-register XDR *xdrs;
-register struct authunix_parms *p;
-{
- int a,b;
-
- if (xdr_u_long(xdrs, &(p->aup_time))
- && xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
- && xdr_int(xdrs, &a)
- && xdr_int(xdrs, &b)
- && xdr_array(xdrs, (char* *) & (p->aup_gids),
- &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int)) {
- p->aup_uid=(uid_t)a;
- p->aup_gid=(gid_t)b;
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/bindresvport.c b/mdk-stage1/dietlibc/librpc/bindresvport.c
deleted file mode 100644
index 1131cc263..000000000
--- a/mdk-stage1/dietlibc/librpc/bindresvport.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1987 by Sun Microsystems, Inc.
- */
-
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include "dietfeatures.h"
-
-/*
- * Bind a socket to a privileged IP port
- */
-int bindresvport(sd, sin)
-int sd;
-struct sockaddr_in *sin;
-{
- int res;
- static short port;
- struct sockaddr_in myaddr;
- int i;
-
-#define STARTPORT 600
-#define ENDPORT (IPPORT_RESERVED - 1)
-#define NPORTS (ENDPORT - STARTPORT + 1)
-
- if (sin == (struct sockaddr_in *) 0) {
- sin = &myaddr;
- memset(sin,0,sizeof(*sin));
- sin->sin_family = AF_INET;
- } else if (sin->sin_family != AF_INET) {
- errno = EPFNOSUPPORT;
- return (-1);
- }
- if (port == 0) {
- port = (getpid() % NPORTS) + STARTPORT;
- }
- res = -1;
- errno = EADDRINUSE;
- for (i = 0; i < NPORTS && res < 0 && errno == EADDRINUSE; i++) {
- sin->sin_port = htons(port++);
- if (port > ENDPORT) {
- port = STARTPORT;
- }
- res = bind(sd, (struct sockaddr*)sin, sizeof(struct sockaddr_in));
- }
- return (res);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_generic.c b/mdk-stage1/dietlibc/librpc/clnt_generic.c
deleted file mode 100644
index 5c0b96af9..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_generic.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* @(#)clnt_generic.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_generic.c 1.4 87/08/11 (C) 1987 SMI";
-#endif
-/*
- * Copyright (C) 1987, Sun Microsystems, Inc.
- */
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <netdb.h>
-#include <string.h>
-
-/*
- * Generic client creation: takes (hostname, program-number, protocol) and
- * returns client handle. Default options are set, which the user can
- * change using the rpc equivalent of ioctl()'s.
- */
-CLIENT *clnt_create __P ((const char *hostname, const unsigned long prog,
- const unsigned long vers, const char *proto))
-{
- struct hostent *h;
- struct protoent *p;
- struct sockaddr_in sin;
- int sock;
- struct timeval tv;
- CLIENT *client;
-
- h = gethostbyname(hostname);
- if (h == NULL) {
- rpc_createerr.cf_stat = RPC_UNKNOWNHOST;
- return (NULL);
- }
- if (h->h_addrtype != AF_INET) {
- /*
- * Only support INET for now
- */
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = EAFNOSUPPORT;
- return (NULL);
- }
-#ifdef __linux__
- memset((char*)&sin,0,sizeof(sin));
-#endif
- sin.sin_family = h->h_addrtype;
- sin.sin_port = 0;
-#ifndef __linux__
- memset(sin.sin_zero,0,sizeof(sin.sin_zero));
-#endif
- memmove((char *) &sin.sin_addr, h->h_addr, h->h_length);
- p = getprotobyname(proto);
- if (p == NULL) {
- rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
- rpc_createerr.cf_error.re_errno = EPFNOSUPPORT;
- return (NULL);
- }
- sock = RPC_ANYSOCK;
- switch (p->p_proto) {
- case IPPROTO_UDP:
- tv.tv_sec = 5;
- tv.tv_usec = 0;
- client = clntudp_create(&sin, prog, vers, tv, &sock);
- if (client == NULL) {
- return (NULL);
- }
- tv.tv_sec = 25;
- clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
- break;
- case IPPROTO_TCP:
- client = clnttcp_create(&sin, prog, vers, &sock, 0, 0);
- if (client == NULL) {
- return (NULL);
- }
- tv.tv_sec = 25;
- tv.tv_usec = 0;
- clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
- break;
- default:
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = EPFNOSUPPORT;
- return (NULL);
- }
- return (client);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_perror.c b/mdk-stage1/dietlibc/librpc/clnt_perror.c
deleted file mode 100644
index 4ede1a43e..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_perror.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/* @(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)clnt_perror.c 1.15 87/10/07 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_perror.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- */
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/auth.h>
-#include <rpc/clnt.h>
-
-//extern char *sys_errlist[];
-//static char *auth_errmsg();
-
-extern char *strcpy();
-
-#if 0
-static char *buf;
-
-static char *_buf()
-{
-
- if (buf == 0)
- buf = (char *) malloc(256);
- return (buf);
-}
-#endif
-
-/*
- * Print reply error info
- */
-char *clnt_sperror __P ((CLIENT *rpch, const char *s))
-{
-#if 0
- struct rpc_err e;
- void clnt_perrno();
- char *err;
- char *str = _buf();
- char *strstart = str;
-
- if (str == 0)
- return (0);
- CLNT_GETERR(rpch, &e);
-
- (void) sprintf(str, "%s: ", s);
- str += strlen(str);
-
- (void) strcpy(str, clnt_sperrno(e.re_status));
- str += strlen(str);
-
- switch (e.re_status) {
- case RPC_SUCCESS:
- case RPC_CANTENCODEARGS:
- case RPC_CANTDECODERES:
- case RPC_TIMEDOUT:
- case RPC_PROGUNAVAIL:
- case RPC_PROCUNAVAIL:
- case RPC_CANTDECODEARGS:
- case RPC_SYSTEMERROR:
- case RPC_UNKNOWNHOST:
- case RPC_UNKNOWNPROTO:
- case RPC_PMAPFAILURE:
- case RPC_PROGNOTREGISTERED:
- case RPC_FAILED:
- break;
-
- case RPC_CANTSEND:
- case RPC_CANTRECV:
- (void) sprintf(str, "; errno = %s", sys_errlist[e.re_errno]);
- str += strlen(str);
- break;
-
- case RPC_VERSMISMATCH:
- (void) sprintf(str,
- "; low version = %lu, high version = %lu",
- e.re_vers.low, e.re_vers.high);
- str += strlen(str);
- break;
-
- case RPC_AUTHERROR:
- err = auth_errmsg(e.re_why);
- (void) sprintf(str, "; why = ");
- str += strlen(str);
- if (err != NULL) {
- (void) sprintf(str, "%s", err);
- } else {
- (void) sprintf(str,
- "(unknown authentication error - %d)",
- (int) e.re_why);
- }
- str += strlen(str);
- break;
-
- case RPC_PROGVERSMISMATCH:
- (void) sprintf(str,
- "; low version = %lu, high version = %lu",
- e.re_vers.low, e.re_vers.high);
- str += strlen(str);
- break;
-
- default: /* unknown */
- (void) sprintf(str,
- "; s1 = %lu, s2 = %lu", e.re_lb.s1, e.re_lb.s2);
- str += strlen(str);
- break;
- }
- (void) sprintf(str, "\n");
- return (strstart);
-#endif
- return (0);
-}
-
-void clnt_perror __P ((CLIENT *rpch, const char *s))
-{
- (void) fprintf(stderr, "%s", clnt_sperror(rpch, s));
-}
-
-
-struct rpc_errtab {
- enum clnt_stat status;
- char *message;
-};
-
-#if 0
-static struct rpc_errtab rpc_errlist[] = {
- {RPC_SUCCESS,
- "RPC: Success"},
- {RPC_CANTENCODEARGS,
- "RPC: Can't encode arguments"},
- {RPC_CANTDECODERES,
- "RPC: Can't decode result"},
- {RPC_CANTSEND,
- "RPC: Unable to send"},
- {RPC_CANTRECV,
- "RPC: Unable to receive"},
- {RPC_TIMEDOUT,
- "RPC: Timed out"},
- {RPC_VERSMISMATCH,
- "RPC: Incompatible versions of RPC"},
- {RPC_AUTHERROR,
- "RPC: Authentication error"},
- {RPC_PROGUNAVAIL,
- "RPC: Program unavailable"},
- {RPC_PROGVERSMISMATCH,
- "RPC: Program/version mismatch"},
- {RPC_PROCUNAVAIL,
- "RPC: Procedure unavailable"},
- {RPC_CANTDECODEARGS,
- "RPC: Server can't decode arguments"},
- {RPC_SYSTEMERROR,
- "RPC: Remote system error"},
- {RPC_UNKNOWNHOST,
- "RPC: Unknown host"},
- {RPC_UNKNOWNPROTO,
- "RPC: Unknown protocol"},
- {RPC_PMAPFAILURE,
- "RPC: Port mapper failure"},
- {RPC_PROGNOTREGISTERED,
- "RPC: Program not registered"},
- {RPC_FAILED,
- "RPC: Failed (unspecified error)"}
-};
-#endif
-
-/*
- * This interface for use by clntrpc
- */
-char *clnt_sperrno(stat)
-enum clnt_stat stat;
-{
-#if 0
- int i;
-
- for (i = 0; i < sizeof(rpc_errlist) / sizeof(struct rpc_errtab); i++) {
- if (rpc_errlist[i].status == stat) {
- return (rpc_errlist[i].message);
- }
- }
-#endif
- return ("RPC: (unknown error code)");
-}
-
-void clnt_perrno(num)
-enum clnt_stat num;
-{
- (void) fprintf(stderr, "%s", clnt_sperrno(num));
-}
-
-
-char *clnt_spcreateerror __P ((__const char *s))
-{
-#if 0
- extern int sys_nerr;
- extern char *sys_errlist[];
- char *str = _buf();
-
- if (str == 0)
- return (0);
- (void) sprintf(str, "%s: ", s);
- (void) strcat(str, clnt_sperrno(rpc_createerr.cf_stat));
- switch (rpc_createerr.cf_stat) {
- case RPC_PMAPFAILURE:
- (void) strcat(str, " - ");
- (void) strcat(str, clnt_sperrno(rpc_createerr.cf_error.re_status));
- break;
-
- case RPC_SYSTEMERROR:
- (void) strcat(str, " - ");
- if (rpc_createerr.cf_error.re_errno > 0
- && rpc_createerr.cf_error.re_errno < sys_nerr)
- (void) strcat(str,
- sys_errlist[rpc_createerr.cf_error.re_errno]);
- else
- (void) sprintf(&str[strlen(str)], "Error %d",
- rpc_createerr.cf_error.re_errno);
- break;
- }
- (void) strcat(str, "\n");
- return (str);
-#endif
- return(0);
-}
-
-extern void clnt_pcreateerror __P ((__const char *s))
-{
- (void) fprintf(stderr, "%s", clnt_spcreateerror(s));
-}
-
-struct auth_errtab {
- enum auth_stat status;
- char *message;
-};
-
-#if 0
-static struct auth_errtab auth_errlist[] = {
- {AUTH_OK,
- "Authentication OK"},
- {AUTH_BADCRED,
- "Invalid client credential"},
- {AUTH_REJECTEDCRED,
- "Server rejected credential"},
- {AUTH_BADVERF,
- "Invalid client verifier"},
- {AUTH_REJECTEDVERF,
- "Server rejected verifier"},
- {AUTH_TOOWEAK,
- "Client credential too weak"},
- {AUTH_INVALIDRESP,
- "Invalid server verifier"},
- {AUTH_FAILED,
- "Failed (unspecified error)"},
-};
-
-static char *auth_errmsg(stat)
-enum auth_stat stat;
-{
- int i;
-
- for (i = 0; i < sizeof(auth_errlist) / sizeof(struct auth_errtab); i++) {
- if (auth_errlist[i].status == stat) {
- return (auth_errlist[i].message);
- }
- }
- return (NULL);
-}
-#endif
diff --git a/mdk-stage1/dietlibc/librpc/clnt_raw.c b/mdk-stage1/dietlibc/librpc/clnt_raw.c
deleted file mode 100644
index 52ab64421..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_raw.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/* @(#)clnt_raw.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_raw.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * Memory based rpc for simple testing and timing.
- * Interface to create an rpc client and server in the same process.
- * This lets us similate rpc and get round trip overhead, without
- * any interference from the kernal.
- */
-
-#include <rpc/rpc.h>
-
-#define MCALL_MSG_SIZE 24
-
-/*
- * This is the "network" we will be moving stuff over.
- */
-static struct clntraw_private {
- CLIENT client_object;
- XDR xdr_stream;
- char _raw_buf[UDPMSGSIZE];
- char mashl_callmsg[MCALL_MSG_SIZE];
- unsigned int mcnt;
-} *clntraw_private;
-
-static enum clnt_stat clntraw_call();
-static void clntraw_abort();
-static void clntraw_geterr();
-static bool_t clntraw_freeres();
-static bool_t clntraw_control();
-static void clntraw_destroy();
-
-static struct clnt_ops client_ops = {
- clntraw_call,
- clntraw_abort,
- clntraw_geterr,
- clntraw_freeres,
- clntraw_destroy,
- clntraw_control
-};
-
-/*
- * Create a client handle for memory based rpc.
- */
-CLIENT *clntraw_create(prog, vers)
-unsigned long prog;
-unsigned long vers;
-{
- register struct clntraw_private *clp = clntraw_private;
- struct rpc_msg call_msg;
- XDR *xdrs = &clp->xdr_stream;
- CLIENT *client = &clp->client_object;
-
- if (clp == 0) {
- clp = (struct clntraw_private *) calloc(1, sizeof(*clp));
- if (clp == 0)
- return (0);
- clntraw_private = clp;
- }
- /*
- * pre-serialize the staic part of the call msg and stash it away
- */
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = prog;
- call_msg.rm_call.cb_vers = vers;
- xdrmem_create(xdrs, clp->mashl_callmsg, MCALL_MSG_SIZE, XDR_ENCODE);
- if (!xdr_callhdr(xdrs, &call_msg)) {
- perror("clnt_raw.c - Fatal header serialization error.");
- }
- clp->mcnt = XDR_GETPOS(xdrs);
- XDR_DESTROY(xdrs);
-
- /*
- * Set xdrmem for client/server shared buffer
- */
- xdrmem_create(xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE);
-
- /*
- * create client handle
- */
- client->cl_ops = &client_ops;
- client->cl_auth = authnone_create();
- return (client);
-}
-
-static enum clnt_stat
-clntraw_call(h, proc, xargs, argsp, xresults, resultsp, timeout)
-CLIENT *h;
-unsigned long proc;
-xdrproc_t xargs;
-char* argsp;
-xdrproc_t xresults;
-char* resultsp;
-struct timeval timeout;
-{
- register struct clntraw_private *clp = clntraw_private;
- register XDR *xdrs = &clp->xdr_stream;
- struct rpc_msg msg;
- enum clnt_stat status;
- struct rpc_err error;
-
- if (clp == 0)
- return (RPC_FAILED);
- call_again:
- /*
- * send request
- */
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- ((struct rpc_msg *) clp->mashl_callmsg)->rm_xid++;
- if ((!XDR_PUTBYTES(xdrs, clp->mashl_callmsg, clp->mcnt)) ||
- (!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(h->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp))) {
- return (RPC_CANTENCODEARGS);
- }
- (void) XDR_GETPOS(xdrs); /* called just to cause overhead */
-
- /*
- * We have to call server input routine here because this is
- * all going on in one process. Yuk.
- */
- svc_getreq(1);
-
- /*
- * get results
- */
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- msg.acpted_rply.ar_verf = _null_auth;
- msg.acpted_rply.ar_results.where = resultsp;
- msg.acpted_rply.ar_results.proc = xresults;
- if (!xdr_replymsg(xdrs, &msg))
- return (RPC_CANTDECODERES);
- _seterr_reply(&msg, &error);
- status = error.re_status;
-
- if (status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) {
- status = RPC_AUTHERROR;
- }
- } /* end successful completion */
- else {
- if (AUTH_REFRESH(h->cl_auth))
- goto call_again;
- } /* end of unsuccessful completion */
-
- if (status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &msg.acpted_rply.ar_verf)) {
- status = RPC_AUTHERROR;
- }
- if (msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs, &(msg.acpted_rply.ar_verf));
- }
- }
-
- return (status);
-}
-
-static void clntraw_geterr()
-{
-}
-
-
-static bool_t clntraw_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-char* res_ptr;
-{
- register struct clntraw_private *clp = clntraw_private;
- register XDR *xdrs = &clp->xdr_stream;
- bool_t rval;
-
- if (clp == 0) {
- rval = (bool_t) RPC_FAILED;
- return (rval);
- }
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clntraw_abort()
-{
-}
-
-static bool_t clntraw_control()
-{
- return (FALSE);
-}
-
-static void clntraw_destroy()
-{
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/clnt_simple.c b/mdk-stage1/dietlibc/librpc/clnt_simple.c
deleted file mode 100644
index e1f4c5f6c..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_simple.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* @(#)clnt_simple.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)clnt_simple.c 1.35 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_simple.c
- * Simplified front end to rpc.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <string.h>
-
-static struct callrpc_private {
- CLIENT *client;
- int socket;
- int oldprognum, oldversnum, valid;
- char *oldhost;
-} *callrpc_private;
-
-int callrpc (const char *host, const unsigned long prognum,
- const unsigned long versnum, const unsigned long procnum,
- const xdrproc_t inproc, const char *in,
- const xdrproc_t outproc, char *out)
-{
- register struct callrpc_private *crp = callrpc_private;
- struct sockaddr_in server_addr;
- enum clnt_stat clnt_stat;
- struct hostent *hp;
- struct timeval timeout, tottimeout;
-
- if (crp == 0) {
- crp = (struct callrpc_private *) calloc(1, sizeof(*crp));
- if (crp == 0)
- return (0);
- callrpc_private = crp;
- }
- if (crp->oldhost == NULL) {
- crp->oldhost = malloc(256);
- crp->oldhost[0] = 0;
- crp->socket = RPC_ANYSOCK;
- }
- if (crp->valid && crp->oldprognum == prognum
- && crp->oldversnum == versnum && strcmp(crp->oldhost, host) == 0) {
- /* reuse old client */
- } else {
- crp->valid = 0;
- (void) close(crp->socket);
- crp->socket = RPC_ANYSOCK;
- if (crp->client) {
- clnt_destroy(crp->client);
- crp->client = NULL;
- }
- if ((hp = gethostbyname(host)) == NULL)
- return ((int) RPC_UNKNOWNHOST);
- timeout.tv_usec = 0;
- timeout.tv_sec = 5;
- memmove((char *) &server_addr.sin_addr, hp->h_addr, hp->h_length);
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = 0;
- if ((crp->client = clntudp_create(&server_addr, (unsigned long) prognum,
- (unsigned long) versnum, timeout,
- &crp->socket)) == NULL)
- return ((int) rpc_createerr.cf_stat);
- crp->valid = 1;
- crp->oldprognum = prognum;
- crp->oldversnum = versnum;
- (void) strcpy(crp->oldhost, host);
- }
- tottimeout.tv_sec = 25;
- tottimeout.tv_usec = 0;
- clnt_stat = clnt_call(crp->client, procnum, inproc, (char*)in,
- outproc, out, tottimeout);
- /*
- * if call failed, empty cache
- */
- if (clnt_stat != RPC_SUCCESS)
- crp->valid = 0;
- return ((int) clnt_stat);
-}
diff --git a/mdk-stage1/dietlibc/librpc/clnt_tcp.c b/mdk-stage1/dietlibc/librpc/clnt_tcp.c
deleted file mode 100644
index f2ebed677..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_tcp.c
+++ /dev/null
@@ -1,464 +0,0 @@
-/* @(#)clnt_tcp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_tcp.c, Implements a TCP/IP based, client side RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * TCP based RPC supports 'batched calls'.
- * A sequence of calls may be batched-up in a send buffer. The rpc call
- * return immediately to the client even though the call was not necessarily
- * sent. The batching occurs if the results' xdr routine is NULL (0) AND
- * the rpc timeout value is zero (see clnt.h, rpc).
- *
- * Clients should NOT casually batch calls that in fact return results; that is,
- * the server side should be aware that a call is batched and not produce any
- * return message. Batched calls that produce many result messages can
- * deadlock (netlock) the client and the server....
- *
- * Now go hang yourself.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <errno.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-#define MCALL_MSG_SIZE 24
-
-static int readtcp();
-static int writetcp();
-
-static enum clnt_stat clnttcp_call();
-static void clnttcp_abort();
-static void clnttcp_geterr();
-static bool_t clnttcp_freeres();
-static bool_t clnttcp_control();
-static void clnttcp_destroy();
-
-static struct clnt_ops tcp_ops = {
- clnttcp_call,
- clnttcp_abort,
- clnttcp_geterr,
- clnttcp_freeres,
- clnttcp_destroy,
- clnttcp_control
-};
-
-struct ct_data {
- int ct_sock;
- bool_t ct_closeit;
- struct timeval ct_wait;
- bool_t ct_waitset; /* wait set by clnt_control? */
- struct sockaddr_in ct_addr;
- struct rpc_err ct_error;
- char ct_mcall[MCALL_MSG_SIZE]; /* marshalled callmsg */
- unsigned int ct_mpos; /* pos after marshal */
- XDR ct_xdrs;
-};
-
-/*
- * Create a client handle for a tcp/ip connection.
- * If *sockp<0, *sockp is set to a newly created TCP socket and it is
- * connected to raddr. If *sockp non-negative then
- * raddr is ignored. The rpc/tcp package does buffering
- * similar to stdio, so the client must pick send and receive buffer sizes,];
- * 0 => use the default.
- * If raddr->sin_port is 0, then a binder on the remote machine is
- * consulted for the right port number.
- * NB: *sockp is copied into a private area.
- * NB: It is the clients responsibility to close *sockp.
- * NB: The rpch->cl_auth is set null authentication. Caller may wish to set this
- * something more useful.
- */
-CLIENT *clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
-struct sockaddr_in *raddr;
-unsigned long prog;
-unsigned long vers;
-register int *sockp;
-unsigned int sendsz;
-unsigned int recvsz;
-{
- CLIENT *h;
- register struct ct_data *ct;
- struct timeval now;
- struct rpc_msg call_msg;
-
- h = (CLIENT *) mem_alloc(sizeof(*h));
- if (h == NULL) {
- (void) fprintf(stderr, "clnttcp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- ct = (struct ct_data *) mem_alloc(sizeof(*ct));
- if (ct == NULL) {
- (void) fprintf(stderr, "clnttcp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
-
- /*
- * If no port number given ask the pmap for one
- */
- if (raddr->sin_port == 0) {
- unsigned short port;
-
- if ((port = pmap_getport(raddr, prog, vers, IPPROTO_TCP)) == 0) {
- mem_free((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) h, sizeof(CLIENT));
- return ((CLIENT *) NULL);
- }
- raddr->sin_port = htons(port);
- }
-
- /*
- * If no socket given, open one
- */
- if (*sockp < 0) {
- *sockp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- (void) bindresvport(*sockp, (struct sockaddr_in *) 0);
- if ((*sockp < 0)
- || (connect(*sockp, (struct sockaddr *) raddr,
- sizeof(*raddr)) < 0)) {
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- if (*sockp >= 0)
- (void) close(*sockp);
- goto fooy;
- }
- ct->ct_closeit = TRUE;
- } else {
- ct->ct_closeit = FALSE;
- }
-
- /*
- * Set up private data struct
- */
- ct->ct_sock = *sockp;
- ct->ct_wait.tv_usec = 0;
- ct->ct_waitset = FALSE;
- ct->ct_addr = *raddr;
-
- /*
- * Initialize call message
- */
- (void) gettimeofday(&now, (struct timezone *) 0);
- call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = prog;
- call_msg.rm_call.cb_vers = vers;
-
- /*
- * pre-serialize the staic part of the call msg and stash it away
- */
- xdrmem_create(&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE,
- XDR_ENCODE);
- if (!xdr_callhdr(&(ct->ct_xdrs), &call_msg)) {
- if (ct->ct_closeit) {
- (void) close(*sockp);
- }
- goto fooy;
- }
- ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs));
- XDR_DESTROY(&(ct->ct_xdrs));
-
- /*
- * Create a client handle which uses xdrrec for serialization
- * and authnone for authentication.
- */
- xdrrec_create(&(ct->ct_xdrs), sendsz, recvsz,
- (char*) ct, readtcp, writetcp);
- h->cl_ops = &tcp_ops;
- h->cl_private = (char*) ct;
- h->cl_auth = authnone_create();
- return (h);
-
- fooy:
- /*
- * Something goofed, free stuff and barf
- */
- mem_free((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) h, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-static enum clnt_stat
-clnttcp_call(h, proc, xdr_args, args_ptr, xdr_results, results_ptr,
- timeout)
-register CLIENT *h;
-unsigned long proc;
-xdrproc_t xdr_args;
-char* args_ptr;
-xdrproc_t xdr_results;
-char* results_ptr;
-struct timeval timeout;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
- register XDR *xdrs = &(ct->ct_xdrs);
- struct rpc_msg reply_msg;
- unsigned long x_id;
- uint32_t *msg_x_id = (uint32_t *) (ct->ct_mcall); /* yuk */
- register bool_t shipnow;
- int refreshes = 2;
-
- if (!ct->ct_waitset) {
- ct->ct_wait = timeout;
- }
-
- shipnow =
- (xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0
- && timeout.tv_usec == 0) ? FALSE : TRUE;
-
- call_again:
- xdrs->x_op = XDR_ENCODE;
- ct->ct_error.re_status = RPC_SUCCESS;
- x_id = ntohl(--(*msg_x_id));
- if ((!XDR_PUTBYTES(xdrs, ct->ct_mcall, ct->ct_mpos)) ||
- (!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(h->cl_auth, xdrs)) ||
- (!(*xdr_args) (xdrs, args_ptr))) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTENCODEARGS;
- (void) xdrrec_endofrecord(xdrs, TRUE);
- return (ct->ct_error.re_status);
- }
- if (!xdrrec_endofrecord(xdrs, shipnow))
- return (ct->ct_error.re_status = RPC_CANTSEND);
- if (!shipnow)
- return (RPC_SUCCESS);
- /*
- * Hack to provide rpc-based message passing
- */
- if (timeout.tv_sec == 0 && timeout.tv_usec == 0) {
- return (ct->ct_error.re_status = RPC_TIMEDOUT);
- }
-
-
- /*
- * Keep receiving until we get a valid transaction id
- */
- xdrs->x_op = XDR_DECODE;
- while (TRUE) {
- reply_msg.acpted_rply.ar_verf = _null_auth;
- reply_msg.acpted_rply.ar_results.where = NULL;
- reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
- if (!xdrrec_skiprecord(xdrs))
- return (ct->ct_error.re_status);
- /* now decode and validate the response header */
- if (!xdr_replymsg(xdrs, &reply_msg)) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- continue;
- return (ct->ct_error.re_status);
- }
- if ((uint32_t)reply_msg.rm_xid == (uint32_t)x_id)
- break;
- }
-
- /*
- * process header
- */
- _seterr_reply(&reply_msg, &(ct->ct_error));
- if (ct->ct_error.re_status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(h->cl_auth, &reply_msg.acpted_rply.ar_verf)) {
- ct->ct_error.re_status = RPC_AUTHERROR;
- ct->ct_error.re_why = AUTH_INVALIDRESP;
- } else if (!(*xdr_results) (xdrs, results_ptr)) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTDECODERES;
- }
- /* free verifier ... */
- if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs, &(reply_msg.acpted_rply.ar_verf));
- }
- } /* end successful completion */
- else {
- /* maybe our credentials need to be refreshed ... */
- if (refreshes-- && AUTH_REFRESH(h->cl_auth))
- goto call_again;
- } /* end of unsuccessful completion */
- return (ct->ct_error.re_status);
-}
-
-static void clnttcp_geterr(h, errp)
-CLIENT *h;
-struct rpc_err *errp;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
-
- *errp = ct->ct_error;
-}
-
-static bool_t clnttcp_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-char* res_ptr;
-{
- register struct ct_data *ct = (struct ct_data *) cl->cl_private;
- register XDR *xdrs = &(ct->ct_xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clnttcp_abort()
-{
-}
-
-static bool_t clnttcp_control(cl, request, info)
-CLIENT *cl;
-int request;
-char *info;
-{
- register struct ct_data *ct = (struct ct_data *) cl->cl_private;
-
- switch (request) {
- case CLSET_TIMEOUT:
- ct->ct_wait = *(struct timeval *) info;
- ct->ct_waitset = TRUE;
- break;
- case CLGET_TIMEOUT:
- *(struct timeval *) info = ct->ct_wait;
- break;
- case CLGET_SERVER_ADDR:
- *(struct sockaddr_in *) info = ct->ct_addr;
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
-
-
-static void clnttcp_destroy(h)
-CLIENT *h;
-{
- register struct ct_data *ct = (struct ct_data *) h->cl_private;
-
- if (ct->ct_closeit) {
- (void) close(ct->ct_sock);
- }
- XDR_DESTROY(&(ct->ct_xdrs));
- mem_free((char*) ct, sizeof(struct ct_data));
-
- mem_free((char*) h, sizeof(CLIENT));
-}
-
-/*
- * Interface between xdr serializer and tcp connection.
- * Behaves like the system calls, read & write, but keeps some error state
- * around for the rpc level.
- */
-static int readtcp(ct, buf, len)
-register struct ct_data *ct;
-char* buf;
-register int len;
-{
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-
- if (len == 0)
- return (0);
- FD_ZERO(&mask);
- FD_SET(ct->ct_sock, &mask);
-#else
- register int mask = 1 << (ct->ct_sock);
- int readfds;
-
- if (len == 0)
- return (0);
-
-#endif /* def FD_SETSIZE */
- while (TRUE) {
- readfds = mask;
- switch (select
- (_rpc_dtablesize(), &readfds, 0, 0,
- &(ct->ct_wait))) {
- case 0:
- ct->ct_error.re_status = RPC_TIMEDOUT;
- return (-1);
-
- case -1:
- if (errno == EINTR)
- continue;
- ct->ct_error.re_status = RPC_CANTRECV;
- ct->ct_error.re_errno = errno;
- return (-1);
- }
- break;
- }
- switch (len = read(ct->ct_sock, buf, len)) {
-
- case 0:
- /* premature eof */
- ct->ct_error.re_errno = ECONNRESET;
- ct->ct_error.re_status = RPC_CANTRECV;
- len = -1; /* it's really an error */
- break;
-
- case -1:
- ct->ct_error.re_errno = errno;
- ct->ct_error.re_status = RPC_CANTRECV;
- break;
- }
- return (len);
-}
-
-static int writetcp(ct, buf, len)
-struct ct_data *ct;
-char* buf;
-int len;
-{
- register int i, cnt;
-
- for (cnt = len; cnt > 0; cnt -= i, buf += i) {
- if ((i = write(ct->ct_sock, buf, cnt)) == -1) {
- ct->ct_error.re_errno = errno;
- ct->ct_error.re_status = RPC_CANTSEND;
- return (-1);
- }
- }
- return (len);
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/clnt_udp.c b/mdk-stage1/dietlibc/librpc/clnt_udp.c
deleted file mode 100644
index 962718269..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_udp.c
+++ /dev/null
@@ -1,438 +0,0 @@
-/* @(#)clnt_udp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * clnt_udp.c, Implements a UDP/IP based, client side RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <netdb.h>
-#include <errno.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-/*
- * UDP bases client side rpc operations
- */
-static enum clnt_stat clntudp_call();
-static void clntudp_abort();
-static void clntudp_geterr();
-static bool_t clntudp_freeres();
-static bool_t clntudp_control();
-static void clntudp_destroy();
-
-static struct clnt_ops udp_ops = {
- clntudp_call,
- clntudp_abort,
- clntudp_geterr,
- clntudp_freeres,
- clntudp_destroy,
- clntudp_control
-};
-
-
-/*
- * Private data kept per client handle
- */
-struct cu_data {
- int cu_sock;
- bool_t cu_closeit;
- struct sockaddr_in cu_raddr;
- int cu_rlen;
- struct timeval cu_wait;
- struct timeval cu_total;
- struct rpc_err cu_error;
- XDR cu_outxdrs;
- unsigned int cu_xdrpos;
- unsigned int cu_sendsz;
- char *cu_outbuf;
- unsigned int cu_recvsz;
- char cu_inbuf[1];
-};
-
-/*
- * Create a UDP based client handle.
- * If *sockp<0, *sockp is set to a newly created UPD socket.
- * If raddr->sin_port is 0 a binder on the remote machine
- * is consulted for the correct port number.
- * NB: It is the clients responsibility to close *sockp.
- * NB: The rpch->cl_auth is initialized to null authentication.
- * Caller may wish to set this something more useful.
- *
- * wait is the amount of time used between retransmitting a call if
- * no response has been heard; retransmition occurs until the actual
- * rpc call times out.
- *
- * sendsz and recvsz are the maximum allowable packet sizes that can be
- * sent and received.
- */
-CLIENT *clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz,
- recvsz)
-struct sockaddr_in *raddr;
-unsigned long program;
-unsigned long version;
-struct timeval wait;
-register int *sockp;
-unsigned int sendsz;
-unsigned int recvsz;
-{
- CLIENT *cl;
- register struct cu_data *cu;
- struct timeval now;
- struct rpc_msg call_msg;
-
- cl = (CLIENT *) mem_alloc(sizeof(CLIENT));
- if (cl == NULL) {
- (void) fprintf(stderr, "clntudp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- sendsz = ((sendsz + 3) / 4) * 4;
- recvsz = ((recvsz + 3) / 4) * 4;
- cu = (struct cu_data *) mem_alloc(sizeof(*cu) + sendsz + recvsz);
- if (cu == NULL) {
- (void) fprintf(stderr, "clntudp_create: out of memory\n");
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- cu->cu_outbuf = &cu->cu_inbuf[recvsz];
-
- (void) gettimeofday(&now, (struct timezone *) 0);
- if (raddr->sin_port == 0) {
- unsigned short port;
-
- if ((port =
- pmap_getport(raddr, program, version, IPPROTO_UDP)) == 0) {
- goto fooy;
- }
- raddr->sin_port = htons(port);
- }
- cl->cl_ops = &udp_ops;
- cl->cl_private = (char*) cu;
- cu->cu_raddr = *raddr;
- cu->cu_rlen = sizeof(cu->cu_raddr);
- cu->cu_wait = wait;
- cu->cu_total.tv_sec = -1;
- cu->cu_total.tv_usec = -1;
- cu->cu_sendsz = sendsz;
- cu->cu_recvsz = recvsz;
- call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
- call_msg.rm_direction = CALL;
- call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- call_msg.rm_call.cb_prog = program;
- call_msg.rm_call.cb_vers = version;
- xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE);
- if (!xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) {
- goto fooy;
- }
- cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs));
- if (*sockp < 0) {
- int dontblock = 1;
-
- *sockp = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (*sockp < 0) {
- rpc_createerr.cf_stat = RPC_SYSTEMERROR;
- rpc_createerr.cf_error.re_errno = errno;
- goto fooy;
- }
- /* attempt to bind to prov port */
- (void) bindresvport(*sockp, (struct sockaddr_in *) 0);
- /* the sockets rpc controls are non-blocking */
- (void) ioctl(*sockp, FIONBIO, (char *) &dontblock);
- cu->cu_closeit = TRUE;
- } else {
- cu->cu_closeit = FALSE;
- }
- cu->cu_sock = *sockp;
- cl->cl_auth = authnone_create();
- return (cl);
- fooy:
- if (cu)
- mem_free((char*) cu, sizeof(*cu) + sendsz + recvsz);
- if (cl)
- mem_free((char*) cl, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-CLIENT *clntudp_create(raddr, program, version, wait, sockp)
-struct sockaddr_in *raddr;
-unsigned long program;
-unsigned long version;
-struct timeval wait;
-register int *sockp;
-{
-
- return (clntudp_bufcreate(raddr, program, version, wait, sockp,
- UDPMSGSIZE, UDPMSGSIZE));
-}
-
-static enum clnt_stat
-clntudp_call(cl, proc, xargs, argsp, xresults, resultsp, utimeout)
-register CLIENT *cl; /* client handle */
-unsigned long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-char* argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-char* resultsp; /* pointer to results */
-struct timeval utimeout; /* seconds to wait before giving up */
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
- register XDR *xdrs;
- register int outlen;
- register int inlen;
- int fromlen;
-
-#ifdef FD_SETSIZE
- fd_set readfds;
- fd_set mask;
-#else
- int readfds;
- register int mask;
-#endif /* def FD_SETSIZE */
- struct sockaddr_in from;
- struct rpc_msg reply_msg;
- XDR reply_xdrs;
- struct timeval time_waited;
- bool_t ok;
- int nrefreshes = 2; /* number of times to refresh cred */
- struct timeval timeout;
-
- if (cu->cu_total.tv_usec == -1) {
- timeout = utimeout; /* use supplied timeout */
- } else {
- timeout = cu->cu_total; /* use default timeout */
- }
-
- time_waited.tv_sec = 0;
- time_waited.tv_usec = 0;
- call_again:
- xdrs = &(cu->cu_outxdrs);
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, cu->cu_xdrpos);
- /*
- * the transaction is the first thing in the out buffer
- */
- (*(uint32_t *) (cu->cu_outbuf))++;
- if ((!XDR_PUTLONG(xdrs, (long *) &proc)) ||
- (!AUTH_MARSHALL(cl->cl_auth, xdrs)) || (!(*xargs) (xdrs, argsp)))
- return (cu->cu_error.re_status = RPC_CANTENCODEARGS);
- outlen = (int) XDR_GETPOS(xdrs);
-
- send_again:
- if (sendto(cu->cu_sock, cu->cu_outbuf, outlen, 0,
- (struct sockaddr *) &(cu->cu_raddr), cu->cu_rlen)
- != outlen) {
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTSEND);
- }
-
- /*
- * Hack to provide rpc-based message passing
- */
- if (timeout.tv_sec == 0 && timeout.tv_usec == 0) {
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
- }
- /*
- * sub-optimal code appears here because we have
- * some clock time to spare while the packets are in flight.
- * (We assume that this is actually only executed once.)
- */
- reply_msg.acpted_rply.ar_verf = _null_auth;
- reply_msg.acpted_rply.ar_results.where = resultsp;
- reply_msg.acpted_rply.ar_results.proc = xresults;
-#ifdef FD_SETSIZE
- FD_ZERO(&mask);
- FD_SET(cu->cu_sock, &mask);
-#else
- mask = 1 << cu->cu_sock;
-#endif /* def FD_SETSIZE */
- for (;;) {
- readfds = mask;
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, &(cu->cu_wait))) {
-
- case 0:
- time_waited.tv_sec += cu->cu_wait.tv_sec;
- time_waited.tv_usec += cu->cu_wait.tv_usec;
- while (time_waited.tv_usec >= 1000000) {
- time_waited.tv_sec++;
- time_waited.tv_usec -= 1000000;
- }
- if ((time_waited.tv_sec < timeout.tv_sec) ||
- ((time_waited.tv_sec == timeout.tv_sec) &&
- (time_waited.tv_usec < timeout.tv_usec)))
- goto send_again;
- return (cu->cu_error.re_status = RPC_TIMEDOUT);
-
- /*
- * buggy in other cases because time_waited is not being
- * updated.
- */
- case -1:
- if (errno == EINTR)
- continue;
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTRECV);
- }
- do {
- fromlen = sizeof(struct sockaddr);
-
- inlen = recvfrom(cu->cu_sock, cu->cu_inbuf,
- (int) cu->cu_recvsz, 0,
- (struct sockaddr *) &from, &fromlen);
- } while (inlen < 0 && errno == EINTR);
- if (inlen < 0) {
- if (errno == EWOULDBLOCK)
- continue;
- cu->cu_error.re_errno = errno;
- return (cu->cu_error.re_status = RPC_CANTRECV);
- }
- if (inlen < 4)
- continue;
- /* see if reply transaction id matches sent id */
- if (*((uint32_t *) (cu->cu_inbuf)) != *((uint32_t *) (cu->cu_outbuf)))
- continue;
- /* we now assume we have the proper reply */
- break;
- }
-
- /*
- * now decode and validate the response
- */
- xdrmem_create(&reply_xdrs, cu->cu_inbuf, (unsigned int) inlen, XDR_DECODE);
- ok = xdr_replymsg(&reply_xdrs, &reply_msg);
- /* XDR_DESTROY(&reply_xdrs); save a few cycles on noop destroy */
- if (ok) {
- _seterr_reply(&reply_msg, &(cu->cu_error));
- if (cu->cu_error.re_status == RPC_SUCCESS) {
- if (!AUTH_VALIDATE(cl->cl_auth,
- &reply_msg.acpted_rply.ar_verf)) {
- cu->cu_error.re_status = RPC_AUTHERROR;
- cu->cu_error.re_why = AUTH_INVALIDRESP;
- }
- if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
- (void) xdr_opaque_auth(xdrs,
- &(reply_msg.acpted_rply.ar_verf));
- }
- } /* end successful completion */
- else {
- /* maybe our credentials need to be refreshed ... */
- if (nrefreshes > 0 && AUTH_REFRESH(cl->cl_auth)) {
- nrefreshes--;
- goto call_again;
- }
- } /* end of unsuccessful completion */
- } /* end of valid reply message */
- else {
- cu->cu_error.re_status = RPC_CANTDECODERES;
- }
- return (cu->cu_error.re_status);
-}
-
-static void clntudp_geterr(cl, errp)
-CLIENT *cl;
-struct rpc_err *errp;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- *errp = cu->cu_error;
-}
-
-
-static bool_t clntudp_freeres(cl, xdr_res, res_ptr)
-CLIENT *cl;
-xdrproc_t xdr_res;
-char* res_ptr;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
- register XDR *xdrs = &(cu->cu_outxdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_res) (xdrs, res_ptr));
-}
-
-static void clntudp_abort( /*h */ )
- /*CLIENT *h; */
-{
-}
-
-static bool_t clntudp_control(cl, request, info)
-CLIENT *cl;
-int request;
-char *info;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- switch (request) {
- case CLSET_TIMEOUT:
- cu->cu_total = *(struct timeval *) info;
- break;
- case CLGET_TIMEOUT:
- *(struct timeval *) info = cu->cu_total;
- break;
- case CLSET_RETRY_TIMEOUT:
- cu->cu_wait = *(struct timeval *) info;
- break;
- case CLGET_RETRY_TIMEOUT:
- *(struct timeval *) info = cu->cu_wait;
- break;
- case CLGET_SERVER_ADDR:
- *(struct sockaddr_in *) info = cu->cu_raddr;
- break;
- default:
- return (FALSE);
- }
- return (TRUE);
-}
-
-static void clntudp_destroy(cl)
-CLIENT *cl;
-{
- register struct cu_data *cu = (struct cu_data *) cl->cl_private;
-
- if (cu->cu_closeit) {
- (void) close(cu->cu_sock);
- }
- XDR_DESTROY(&(cu->cu_outxdrs));
- mem_free((char*) cu, (sizeof(*cu) + cu->cu_sendsz + cu->cu_recvsz));
- mem_free((char*) cl, sizeof(CLIENT));
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/get_myaddress.c b/mdk-stage1/dietlibc/librpc/get_myaddress.c
deleted file mode 100644
index 1ce2c2b32..000000000
--- a/mdk-stage1/dietlibc/librpc/get_myaddress.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* @(#)get_myaddress.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)get_myaddress.c 1.4 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * get_myaddress.c
- *
- * Get client's IP address via ioctl. This avoids using the yellowpages.
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/pmap_prot.h>
-#include <sys/socket.h>
-#include <stdio.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#include <arpa/inet.h>
-#include <netinet/in.h>
-
-/* DO use gethostbyname because it's portable */
-#include <unistd.h>
-#include <netdb.h>
-#include <string.h>
-void get_myaddress(struct sockaddr_in* addr)
-{
- char localhost[256 + 1];
- struct hostent *hp;
-
- gethostname(localhost, 256);
- if ((hp = gethostbyname(localhost)) == NULL) {
- perror("get_myaddress: gethostbyname");
- exit(1);
- }
- addr->sin_family = AF_INET;
- memmove((char *) &addr->sin_addr, (char *) hp->h_addr, hp->h_length);
- addr->sin_port = htons(PMAPPORT);
-}
diff --git a/mdk-stage1/dietlibc/librpc/getrpcent.c b/mdk-stage1/dietlibc/librpc/getrpcent.c
deleted file mode 100644
index 71774a2eb..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcent.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/* @(#)getrpcent.c 2.2 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)getrpcent.c 1.9 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <rpc/rpc.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <string.h>
-#include <arpa/inet.h>
-
-/*
- * Internet version.
- */
-struct rpcdata {
- FILE *rpcf;
- char *current;
- int currentlen;
- int stayopen;
-#define MAXALIASES 35
- char *rpc_aliases[MAXALIASES];
- struct rpcent rpc;
- char line[BUFSIZ + 1];
- char *domain;
-} *rpcdata;
-
-static struct rpcent *interpret(const char* val, size_t len);
-
-#ifndef __linux__
-static char *index();
-#else
-char *index();
-#endif
-
-static char RPCDB[] = "/etc/rpc";
-
-static struct rpcdata *_rpcdata()
-{
- register struct rpcdata *d = rpcdata;
-
- if (d == 0) {
- d = (struct rpcdata *) calloc(1, sizeof(struct rpcdata));
-
- rpcdata = d;
- }
- return (d);
-}
-
-struct rpcent *getrpcbynumber(number)
-register int number;
-{
- register struct rpcdata *d = _rpcdata();
- register struct rpcent *p;
-
- if (d == 0)
- return (0);
- setrpcent(0);
- while ((p = getrpcent())) {
- if (p->r_number == number)
- break;
- }
- endrpcent();
- return (p);
-}
-
-struct rpcent *
-#ifdef __linux__
-getrpcbyname(const char *name)
-#else
-getrpcbyname(name)
-char *name;
-#endif
-{
- struct rpcent *rpc;
- char **rp;
-
- setrpcent(0);
- while ((rpc = getrpcent())) {
- if (strcmp(rpc->r_name, name) == 0)
- return (rpc);
- for (rp = rpc->r_aliases; *rp != NULL; rp++) {
- if (strcmp(*rp, name) == 0)
- return (rpc);
- }
- }
- endrpcent();
- return (NULL);
-}
-
-#ifdef __linux__
-void
-#endif
-setrpcent(f)
-int f;
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return;
- if (d->rpcf == NULL)
- d->rpcf = fopen(RPCDB, "r");
- else
- rewind(d->rpcf);
- if (d->current)
- free(d->current);
- d->current = NULL;
- d->stayopen |= f;
-}
-
-#ifdef __linux__
-void
-#endif
-endrpcent()
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return;
- if (d->current && !d->stayopen) {
- free(d->current);
- d->current = NULL;
- }
- if (d->rpcf && !d->stayopen) {
- fclose(d->rpcf);
- d->rpcf = NULL;
- }
-}
-
-struct rpcent *getrpcent()
-{
- register struct rpcdata *d = _rpcdata();
-
- if (d == 0)
- return (NULL);
- if (d->rpcf == NULL && (d->rpcf = fopen(RPCDB, "r")) == NULL)
- return (NULL);
- if (fgets(d->line, BUFSIZ, d->rpcf) == NULL)
- return (NULL);
- return interpret(d->line, strlen(d->line));
-}
-
-#ifdef __linux__
-static char *firstwhite(s)
-char *s;
-{
- char *s1, *s2;
-
- s1 = index(s, ' ');
- s2 = index(s, '\t');
- if (s1) {
- if (s2)
- return (s1 < s2) ? s1 : s2;
- else
- return s1;
- } else
- return s2;
-}
-#endif
-
-static struct rpcent *interpret(const char* val, size_t len)
-{
- register struct rpcdata *d = _rpcdata();
- char *p;
- register char *cp, **q;
-
- if (d == 0)
- return 0;
- strncpy(d->line, val, (size_t)len);
- p = d->line;
- d->line[len] = '\n';
- if (*p == '#')
- return (getrpcent());
- cp = index(p, '#');
- if (cp == NULL) {
- cp = index(p, '\n');
- if (cp == NULL)
- return (getrpcent());
- }
- *cp = '\0';
-#ifdef __linux__
- if ((cp = firstwhite(p)))
- *cp++ = 0;
- else
- return (getrpcent());
-#else
- cp = index(p, ' ');
- if (cp == NULL) {
- cp = index(p, '\t');
- if (cp == NULL)
- return (getrpcent());
- }
- *cp++ = '\0';
-#endif
- /* THIS STUFF IS INTERNET SPECIFIC */
- d->rpc.r_name = d->line;
- while (*cp == ' ' || *cp == '\t')
- cp++;
- d->rpc.r_number = atoi(cp);
- q = d->rpc.r_aliases = d->rpc_aliases;
-#ifdef __linux__
- if ((cp = firstwhite(cp)))
- *cp++ = '\0';
-#else
- cp = index(p, ' ');
- if (cp != NULL)
- *cp++ = '\0';
- else {
- cp = index(p, '\t');
- if (cp != NULL)
- *cp++ = '\0';
- }
-#endif
- while (cp && *cp) {
- if (*cp == ' ' || *cp == '\t') {
- cp++;
- continue;
- }
- if (q < &(d->rpc_aliases[MAXALIASES - 1]))
- *q++ = cp;
-#ifdef __linux__
- if ((cp = firstwhite(cp)))
- *cp++ = '\0';
-#else
- cp = index(p, ' ');
- if (cp != NULL)
- *cp++ = '\0';
- else {
- cp = index(p, '\t');
- if (cp != NULL)
- *cp++ = '\0';
- }
-#endif
- }
- *q = NULL;
- return (&d->rpc);
-}
diff --git a/mdk-stage1/dietlibc/librpc/getrpcport.c b/mdk-stage1/dietlibc/librpc/getrpcport.c
deleted file mode 100644
index 7b6e50a7d..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcport.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* @(#)getrpcport.c 2.1 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)getrpcport.c 1.3 87/08/11 SMI";
-#endif
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <string.h>
-#include <rpc/pmap_clnt.h>
-
-extern int getrpcport (const char * host, unsigned long prognum,
- unsigned long versnum, unsigned int proto)
-{
- struct sockaddr_in addr;
- struct hostent *hp;
-
- if ((hp = gethostbyname(host)) == NULL)
- return (0);
- memmove((char *) &addr.sin_addr, hp->h_addr, hp->h_length);
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
- return (pmap_getport(&addr, prognum, versnum, proto));
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_clnt.c b/mdk-stage1/dietlibc/librpc/pmap_clnt.c
deleted file mode 100644
index 9dbf3f624..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_clnt.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* @(#)pmap_clnt.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_clnt.c
- * Client interface to pmap rpc service.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <unistd.h>
-
-static struct timeval timeout = { 5, 0 };
-static struct timeval tottimeout = { 60, 0 };
-
-/*
- * Set a mapping between program,version and port.
- * Calls the pmap service remotely to do the mapping.
- */
-bool_t pmap_set(program, version, protocol, port)
-unsigned long program;
-unsigned long version;
-int protocol;
-unsigned short port;
-{
- struct sockaddr_in myaddress;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
- bool_t rslt;
-
- get_myaddress(&myaddress);
- client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS,
- timeout, &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client == (CLIENT *) NULL)
- return (FALSE);
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_prot = protocol;
- parms.pm_port = port;
- if (CLNT_CALL(client, PMAPPROC_SET, (xdrproc_t)xdr_pmap, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&rslt,
- tottimeout) != RPC_SUCCESS) {
- clnt_perror(client, "Cannot register service");
- return (FALSE);
- }
- CLNT_DESTROY(client);
- (void) close(socket);
- return (rslt);
-}
-
-/*
- * Remove the mapping between program,version and port.
- * Calls the pmap service remotely to do the un-mapping.
- */
-bool_t pmap_unset(program, version)
-unsigned long program;
-unsigned long version;
-{
- struct sockaddr_in myaddress;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
- bool_t rslt;
-
- get_myaddress(&myaddress);
- client = clntudp_bufcreate(&myaddress, PMAPPROG, PMAPVERS,
- timeout, &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client == (CLIENT *) NULL)
- return (FALSE);
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_port = parms.pm_prot = 0;
- CLNT_CALL(client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap, (char*)&parms, (xdrproc_t)xdr_bool, (void*)&rslt,
- tottimeout);
- CLNT_DESTROY(client);
- (void) close(socket);
- return (rslt);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c b/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
deleted file mode 100644
index de51a733a..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* @(#)pmap_getmaps.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_getmaps.c 1.10 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_getmap.c
- * Client interface to pmap rpc service.
- * contains pmap_getmaps, which is only tcp service involved
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <stdio.h>
-#include <errno.h>
-#include <netinet/in.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#define NAMELEN 255
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-
-/*
- * Get a copy of the current port maps.
- * Calls the pmap service remotely to do get the maps.
- */
-struct pmaplist *pmap_getmaps(address)
-struct sockaddr_in *address;
-{
- struct pmaplist *head = (struct pmaplist *) NULL;
- int socket = -1;
- struct timeval minutetimeout;
- register CLIENT *client;
-
- minutetimeout.tv_sec = 60;
- minutetimeout.tv_usec = 0;
- address->sin_port = htons(PMAPPORT);
- client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket, 50, 500);
- if (client != (CLIENT *) NULL) {
- if (CLNT_CALL(client, PMAPPROC_DUMP, (xdrproc_t)xdr_void, NULL, (xdrproc_t)xdr_pmaplist,
- (char*)&head, minutetimeout) != RPC_SUCCESS) {
- clnt_perror(client, "pmap_getmaps rpc problem");
- }
- CLNT_DESTROY(client);
- }
- (void) close(socket);
- address->sin_port = 0;
- return (head);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_getport.c b/mdk-stage1/dietlibc/librpc/pmap_getport.c
deleted file mode 100644
index f26cb7621..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getport.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* @(#)pmap_getport.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_getport.c 1.9 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_getport.c
- * Client interface to pmap rpc service.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-//#include <net/if.h>
-#include <unistd.h>
-
-static struct timeval timeout = { 5, 0 };
-static struct timeval tottimeout = { 60, 0 };
-
-/*
- * Find the mapped port for program,version.
- * Calls the pmap service remotely to do the lookup.
- * Returns 0 if no map exists.
- */
-unsigned short pmap_getport(address, program, version, protocol)
-struct sockaddr_in *address;
-unsigned long program;
-unsigned long version;
-unsigned int protocol;
-{
- unsigned short port = 0;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
-
- address->sin_port = htons((unsigned short)PMAPPORT);
- if (protocol == IPPROTO_TCP)
- client = clnttcp_create(address, PMAPPROG, PMAPVERS, &socket,
- RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
- else
- client = clntudp_bufcreate(address, PMAPPROG, PMAPVERS, timeout,
- &socket, RPCSMALLMSGSIZE,
- RPCSMALLMSGSIZE);
- if (client != (CLIENT *) NULL) {
- parms.pm_prog = program;
- parms.pm_vers = version;
- parms.pm_prot = protocol;
- parms.pm_port = 0; /* not needed or used */
- if (CLNT_CALL(client, PMAPPROC_GETPORT, (xdrproc_t)xdr_pmap, (char*)&parms,
- (xdrproc_t)xdr_u_short, (char*)&port, tottimeout) != RPC_SUCCESS) {
- rpc_createerr.cf_stat = RPC_PMAPFAILURE;
- clnt_geterr(client, &rpc_createerr.cf_error);
- } else if (port == 0) {
- rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED;
- }
- CLNT_DESTROY(client);
- }
- (void) close(socket);
- address->sin_port = 0;
- return (port);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot.c b/mdk-stage1/dietlibc/librpc/pmap_prot.c
deleted file mode 100644
index ec8b5af79..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_prot.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* @(#)pmap_prot.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_prot.c 1.17 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_prot.c
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/pmap_prot.h>
-
-
-bool_t xdr_pmap(xdrs, regs)
-XDR *xdrs;
-struct pmap *regs;
-{
-
- if (xdr_u_long(xdrs, &regs->pm_prog) &&
- xdr_u_long(xdrs, &regs->pm_vers) &&
- xdr_u_long(xdrs, &regs->pm_prot))
- return (xdr_u_long(xdrs, &regs->pm_port));
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_prot2.c b/mdk-stage1/dietlibc/librpc/pmap_prot2.c
deleted file mode 100644
index cd2deb036..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_prot2.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* @(#)pmap_prot2.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_prot2.c
- * Protocol for the local binder service, or pmap.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <rpc/pmap_prot.h>
-
-
-/*
- * What is going on with linked lists? (!)
- * First recall the link list declaration from pmap_prot.h:
- *
- * struct pmaplist {
- * struct pmap pml_map;
- * struct pmaplist *pml_map;
- * };
- *
- * Compare that declaration with a corresponding xdr declaration that
- * is (a) pointer-less, and (b) recursive:
- *
- * typedef union switch (bool_t) {
- *
- * case TRUE: struct {
- * struct pmap;
- * pmaplist_t foo;
- * };
- *
- * case FALSE: struct {};
- * } pmaplist_t;
- *
- * Notice that the xdr declaration has no nxt pointer while
- * the C declaration has no bool_t variable. The bool_t can be
- * interpreted as ``more data follows me''; if FALSE then nothing
- * follows this bool_t; if TRUE then the bool_t is followed by
- * an actual struct pmap, and then (recursively) by the
- * xdr union, pamplist_t.
- *
- * This could be implemented via the xdr_union primitive, though this
- * would cause a one recursive call per element in the list. Rather than do
- * that we can ``unwind'' the recursion
- * into a while loop and do the union arms in-place.
- *
- * The head of the list is what the C programmer wishes to past around
- * the net, yet is the data that the pointer points to which is interesting;
- * this sounds like a job for xdr_reference!
- */
-bool_t xdr_pmaplist(XDR* xdrs, struct pmaplist** rp)
-{
- /*
- * more_elements is pre-computed in case the direction is
- * XDR_ENCODE or XDR_FREE. more_elements is overwritten by
- * xdr_bool when the direction is XDR_DECODE.
- */
- bool_t more_elements;
- register int freeing = (xdrs->x_op == XDR_FREE);
- register struct pmaplist **next=0;
-
- while (TRUE) {
- more_elements = (bool_t) (*rp != NULL);
- if (!xdr_bool(xdrs, &more_elements))
- return (FALSE);
- if (!more_elements)
- return (TRUE); /* we are done */
- /*
- * the unfortunate side effect of non-recursion is that in
- * the case of freeing we must remember the next object
- * before we free the current object ...
- */
- if (freeing)
- next = &((*rp)->pml_next);
- if (!xdr_reference(xdrs, (char* *) rp,
- (unsigned int) sizeof(struct pmaplist), (xdrproc_t)xdr_pmap))
- return (FALSE);
-
- rp = (freeing) ? next : &((*rp)->pml_next);
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/pmap_rmt.c b/mdk-stage1/dietlibc/librpc/pmap_rmt.c
deleted file mode 100644
index 390bd736e..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_rmt.c
+++ /dev/null
@@ -1,402 +0,0 @@
-/* @(#)pmap_rmt.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * pmap_rmt.c
- * Client interface to pmap rpc service.
- * remote call and broadcast service
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <rpc/pmap_rmt.h>
-#include <sys/socket.h>
-#include <stdio.h>
-#include <errno.h>
-//#include <net/if.h>
-#include <sys/ioctl.h>
-#include <arpa/inet.h>
-#include <netinet/in.h>
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-static struct timeval timeout = { 3, 0 };
-
-
-/*
- * pmapper remote-call-service interface.
- * This routine is used to call the pmapper remote call service
- * which will look up a service program in the port maps, and then
- * remotely call that routine with the given parameters. This allows
- * programs to do a lookup and call in one step.
-*/
-enum clnt_stat pmap_rmtcall (struct sockaddr_in *addr,
- const unsigned long prog,
- const unsigned long vers,
- const unsigned long proc,
- xdrproc_t xdrargs,
- char* argsp, xdrproc_t xdrres,
- char* resp, struct timeval tout,
- unsigned long *port_ptr) {
- int socket = -1;
- register CLIENT *client;
- struct rmtcallargs a;
- struct rmtcallres r;
- enum clnt_stat stat;
-
- addr->sin_port = htons((short)PMAPPORT);
- client = clntudp_create(addr, PMAPPROG, PMAPVERS, timeout, &socket);
- if (client != (CLIENT *) NULL) {
- a.prog = prog;
- a.vers = vers;
- a.proc = proc;
- a.args_ptr = argsp;
- a.xdr_args = xdrargs;
- r.port_ptr = port_ptr;
- r.results_ptr = resp;
- r.xdr_results = xdrres;
- stat = CLNT_CALL(client, PMAPPROC_CALLIT, (xdrproc_t)xdr_rmtcall_args, (char*)&a,
- (xdrproc_t)xdr_rmtcallres, (char*)&r, tout);
- CLNT_DESTROY(client);
- } else {
- stat = RPC_FAILED;
- }
- (void) close(socket);
- addr->sin_port = 0;
- return (stat);
-}
-
-
-/*
- * XDR remote call arguments
- * written for XDR_ENCODE direction only
- */
-bool_t xdr_rmtcall_args(XDR* xdrs, struct rmtcallargs* cap)
-{
- unsigned int lenposition, argposition, position;
-
- if (xdr_u_long(xdrs, &(cap->prog)) &&
- xdr_u_long(xdrs, &(cap->vers)) && xdr_u_long(xdrs, &(cap->proc))) {
- lenposition = XDR_GETPOS(xdrs);
- if (!xdr_u_long(xdrs, &(cap->arglen)))
- return (FALSE);
- argposition = XDR_GETPOS(xdrs);
- if (!(*(cap->xdr_args)) (xdrs, cap->args_ptr))
- return (FALSE);
- position = XDR_GETPOS(xdrs);
- cap->arglen = (unsigned long) position - (unsigned long) argposition;
- XDR_SETPOS(xdrs, lenposition);
- if (!xdr_u_long(xdrs, &(cap->arglen)))
- return (FALSE);
- XDR_SETPOS(xdrs, position);
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR remote call results
- * written for XDR_DECODE direction only
- */
-bool_t xdr_rmtcallres(XDR* xdrs, struct rmtcallres* crp)
-{
- char* port_ptr;
-
- port_ptr = (char*) crp->port_ptr;
- if (xdr_reference(xdrs, &port_ptr, sizeof(unsigned long),
- (xdrproc_t)xdr_u_long) && xdr_u_long(xdrs, &crp->resultslen)) {
- crp->port_ptr = (unsigned long *) port_ptr;
- return ((*(crp->xdr_results)) (xdrs, crp->results_ptr));
- }
- return (FALSE);
-}
-
-
-/*
- * The following is kludged-up support for simple rpc broadcasts.
- * Someday a large, complicated system will replace these trivial
- * routines which only support udp/ip .
- */
-
-static int getbroadcastnets(addrs, sock, buf)
-struct in_addr *addrs;
-int sock; /* any valid socket will do */
-char *buf; /* why allocxate more when we can use existing... */
-{
-#ifdef __linux__
- struct sockaddr_in addr;
-
- get_myaddress(&addr);
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[0] = inet_makeaddr(inet_netof(addr.sin_addr), INADDR_ANY);
-#endif
- return 1;
-#else
- struct ifconf ifc;
- struct ifreq ifreq, *ifr;
- struct sockaddr_in *sin;
- int n, i;
-
- ifc.ifc_len = UDPMSGSIZE;
- ifc.ifc_buf = buf;
- if (ioctl(sock, SIOCGIFCONF, (char *) &ifc) < 0) {
- perror("broadcast: ioctl (get interface configuration)");
- return (0);
- }
- ifr = ifc.ifc_req;
- for (i = 0, n = ifc.ifc_len / sizeof(struct ifreq); n > 0; n--, ifr++) {
- ifreq = *ifr;
- if (ioctl(sock, SIOCGIFFLAGS, (char *) &ifreq) < 0) {
- perror("broadcast: ioctl (get interface flags)");
- continue;
- }
- if ((ifreq.ifr_flags & IFF_BROADCAST) &&
- (ifreq.ifr_flags & IFF_UP) &&
- ifr->ifr_addr.sa_family == AF_INET) {
- sin = (struct sockaddr_in *) &ifr->ifr_addr;
-#ifdef SIOCGIFBRDADDR /* 4.3BSD */
- if (ioctl(sock, SIOCGIFBRDADDR, (char *) &ifreq) < 0) {
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[i++] = inet_makeaddr(inet_netof
- (sin->sin_addr.s_addr),
- INADDR_ANY);
-#endif
- } else {
- addrs[i++] = ((struct sockaddr_in *)
- &ifreq.ifr_addr)->sin_addr;
- }
-#else /* 4.2 BSD */
-#if 1
- printf("%s(%d): no inet_makeaddr()\n", __FILE__, __LINE__);
-#else
- addrs[i++] = inet_makeaddr(inet_netof
- (sin->sin_addr.s_addr), INADDR_ANY);
-#endif
-#endif
- }
- }
- return (i);
-#endif
-}
-
-enum clnt_stat
-clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp,
- eachresult)
-unsigned long prog; /* program number */
-unsigned long vers; /* version number */
-unsigned long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-char* argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-char* resultsp; /* pointer to results */
-resultproc_t eachresult; /* call with each result obtained */
-{
- enum clnt_stat stat;
- AUTH *unix_auth = authunix_create_default();
- XDR xdr_stream;
- register XDR *xdrs = &xdr_stream;
- int outlen, inlen, fromlen, nets;
- register int sock;
- int on = 1;
-
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-#else
- int readfds;
- register int mask;
-#endif /* def FD_SETSIZE */
- register int i;
- bool_t done = FALSE;
- register unsigned long xid;
- unsigned long port;
- struct in_addr addrs[20];
- struct sockaddr_in baddr, raddr; /* broadcast and response addresses */
- struct rmtcallargs a;
- struct rmtcallres r;
- struct rpc_msg msg;
- struct timeval t;
- char outbuf[MAX_BROADCAST_SIZE], inbuf[UDPMSGSIZE];
-
- /*
- * initialization: create a socket, a broadcast address, and
- * preserialize the arguments into a send buffer.
- */
- if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- perror("Cannot create socket for broadcast rpc");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
-#ifdef SO_BROADCAST
- if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) < 0) {
- perror("Cannot set socket option SO_BROADCAST");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
-#endif /* def SO_BROADCAST */
-#ifdef FD_SETSIZE
- FD_ZERO(&mask);
- FD_SET(sock, &mask);
-#else
- mask = (1 << sock);
-#endif /* def FD_SETSIZE */
- nets = getbroadcastnets(addrs, sock, inbuf);
- memset((char*)&baddr,0,sizeof(baddr));
- baddr.sin_family = AF_INET;
- baddr.sin_port = htons((short)PMAPPORT);
- baddr.sin_addr.s_addr = htonl(INADDR_ANY);
-/* baddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); */
- (void) gettimeofday(&t, (struct timezone *) 0);
- msg.rm_xid = xid = getpid() ^ t.tv_sec ^ t.tv_usec;
- t.tv_usec = 0;
- msg.rm_direction = CALL;
- msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
- msg.rm_call.cb_prog = PMAPPROG;
- msg.rm_call.cb_vers = PMAPVERS;
- msg.rm_call.cb_proc = PMAPPROC_CALLIT;
- msg.rm_call.cb_cred = unix_auth->ah_cred;
- msg.rm_call.cb_verf = unix_auth->ah_verf;
- a.prog = prog;
- a.vers = vers;
- a.proc = proc;
- a.xdr_args = xargs;
- a.args_ptr = argsp;
- r.port_ptr = &port;
- r.xdr_results = xresults;
- r.results_ptr = resultsp;
- xdrmem_create(xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE);
- if ((!xdr_callmsg(xdrs, &msg)) || (!xdr_rmtcall_args(xdrs, &a))) {
- stat = RPC_CANTENCODEARGS;
- goto done_broad;
- }
- outlen = (int) xdr_getpos(xdrs);
- xdr_destroy(xdrs);
- /*
- * Basic loop: broadcast a packet and wait a while for response(s).
- * The response timeout grows larger per iteration.
- */
- for (t.tv_sec = 4; t.tv_sec <= 14; t.tv_sec += 2) {
- for (i = 0; i < nets; i++) {
- baddr.sin_addr = addrs[i];
- if (sendto(sock, outbuf, (size_t)outlen, 0,
- (struct sockaddr *) &baddr,
- sizeof(struct sockaddr)) != outlen) {
- perror("Cannot send broadcast packet");
- stat = RPC_CANTSEND;
- goto done_broad;
- }
- }
- if (eachresult == NULL) {
- stat = RPC_SUCCESS;
- goto done_broad;
- }
- recv_again:
- msg.acpted_rply.ar_verf = _null_auth;
- msg.acpted_rply.ar_results.where = (char*) & r;
- msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_rmtcallres;
- readfds = mask;
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, &t)) {
-
- case 0: /* timed out */
- stat = RPC_TIMEDOUT;
- continue;
-
- case -1: /* some kind of error */
- if (errno == EINTR)
- goto recv_again;
- perror("Broadcast select problem");
- stat = RPC_CANTRECV;
- goto done_broad;
-
- } /* end of select results switch */
- try_again:
- fromlen = sizeof(struct sockaddr);
-
- inlen = recvfrom(sock, inbuf, UDPMSGSIZE, 0,
- (struct sockaddr *) &raddr, &fromlen);
- if (inlen < 0) {
- if (errno == EINTR)
- goto try_again;
- perror("Cannot receive reply to broadcast");
- stat = RPC_CANTRECV;
- goto done_broad;
- }
- if ((size_t)inlen < sizeof(unsigned long))
- goto recv_again;
- /*
- * see if reply transaction id matches sent id.
- * If so, decode the results.
- */
- xdrmem_create(xdrs, inbuf, (unsigned int) inlen, XDR_DECODE);
- if (xdr_replymsg(xdrs, &msg)) {
- if ((msg.rm_xid == xid) &&
- (msg.rm_reply.rp_stat == MSG_ACCEPTED) &&
- (msg.acpted_rply.ar_stat == SUCCESS)) {
- raddr.sin_port = htons((unsigned short) port);
- done = (*eachresult) (resultsp, &raddr);
- }
- /* otherwise, we just ignore the errors ... */
- } else {
-#ifdef notdef
- /* some kind of deserialization problem ... */
- if (msg.rm_xid == xid)
- fprintf(stderr, "Broadcast deserialization problem");
- /* otherwise, just random garbage */
-#endif
- }
- xdrs->x_op = XDR_FREE;
- msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
- (void) xdr_replymsg(xdrs, &msg);
- (void) (*xresults) (xdrs, resultsp);
- xdr_destroy(xdrs);
- if (done) {
- stat = RPC_SUCCESS;
- goto done_broad;
- } else {
- goto recv_again;
- }
- }
- done_broad:
- (void) close(sock);
- AUTH_DESTROY(unix_auth);
- return (stat);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c b/mdk-stage1/dietlibc/librpc/rpc_callmsg.c
deleted file mode 100644
index a3514f41c..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_callmsg.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* @(#)rpc_callmsg.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * rpc_callmsg.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- */
-
-#include <sys/param.h>
-
-#include <rpc/rpc.h>
-#include <string.h>
-
-/*
- * XDR a call message
- */
-bool_t xdr_callmsg(xdrs, cmsg)
-register XDR *xdrs;
-register struct rpc_msg *cmsg;
-{
- register int32_t *buf;
- register struct opaque_auth *oa;
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (cmsg->rm_call.cb_cred.oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (cmsg->rm_call.cb_verf.oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT
- + RNDUP(cmsg->rm_call.cb_cred.oa_length)
- + 2 * BYTES_PER_XDR_UNIT
- + RNDUP(cmsg->rm_call.cb_verf.oa_length));
- if (buf != NULL) {
- IXDR_PUT_LONG(buf, cmsg->rm_xid);
- IXDR_PUT_ENUM(buf, cmsg->rm_direction);
- if (cmsg->rm_direction != CALL) {
- return (FALSE);
- }
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_rpcvers);
- if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) {
- return (FALSE);
- }
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_prog);
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_vers);
- IXDR_PUT_LONG(buf, cmsg->rm_call.cb_proc);
- oa = &cmsg->rm_call.cb_cred;
- IXDR_PUT_ENUM(buf, oa->oa_flavor);
- IXDR_PUT_LONG(buf, oa->oa_length);
- if (oa->oa_length) {
- memmove((char*) buf, oa->oa_base, oa->oa_length);
- buf += RNDUP(oa->oa_length) / sizeof(long);
- }
- oa = &cmsg->rm_call.cb_verf;
- IXDR_PUT_ENUM(buf, oa->oa_flavor);
- IXDR_PUT_LONG(buf, oa->oa_length);
- if (oa->oa_length) {
- memmove((char*) buf, oa->oa_base, oa->oa_length);
- /* no real need....
- buf += RNDUP(oa->oa_length) / sizeof (long);
- */
- }
- return (TRUE);
- }
- }
- if (xdrs->x_op == XDR_DECODE) {
- buf = XDR_INLINE(xdrs, 8 * BYTES_PER_XDR_UNIT);
- if (buf != NULL) {
- cmsg->rm_xid = IXDR_GET_LONG(buf);
- cmsg->rm_direction = IXDR_GET_ENUM(buf, enum msg_type);
-
- if (cmsg->rm_direction != CALL) {
- return (FALSE);
- }
- cmsg->rm_call.cb_rpcvers = IXDR_GET_LONG(buf);
- if (cmsg->rm_call.cb_rpcvers != RPC_MSG_VERSION) {
- return (FALSE);
- }
- cmsg->rm_call.cb_prog = IXDR_GET_LONG(buf);
- cmsg->rm_call.cb_vers = IXDR_GET_LONG(buf);
- cmsg->rm_call.cb_proc = IXDR_GET_LONG(buf);
- oa = &cmsg->rm_call.cb_cred;
- oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t);
- oa->oa_length = IXDR_GET_LONG(buf);
- if (oa->oa_length) {
- if (oa->oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (oa->oa_base == NULL) {
- oa->oa_base = (char*)
- mem_alloc(oa->oa_length);
- }
- buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length));
- if (buf == NULL) {
- if (xdr_opaque(xdrs, oa->oa_base,
- oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- memmove(oa->oa_base, (char*) buf, oa->oa_length);
- /* no real need....
- buf += RNDUP(oa->oa_length) /
- sizeof (long);
- */
- }
- }
- oa = &cmsg->rm_call.cb_verf;
- buf = XDR_INLINE(xdrs, 2 * BYTES_PER_XDR_UNIT);
- if (buf == NULL) {
- if (xdr_enum(xdrs, &oa->oa_flavor) == FALSE ||
- xdr_u_int(xdrs, &oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- oa->oa_flavor = IXDR_GET_ENUM(buf, enum_t);
- oa->oa_length = IXDR_GET_LONG(buf);
- }
- if (oa->oa_length) {
- if (oa->oa_length > MAX_AUTH_BYTES) {
- return (FALSE);
- }
- if (oa->oa_base == NULL) {
- oa->oa_base = (char*)
- mem_alloc(oa->oa_length);
- }
- buf = XDR_INLINE(xdrs, RNDUP(oa->oa_length));
- if (buf == NULL) {
- if (xdr_opaque(xdrs, oa->oa_base,
- oa->oa_length) == FALSE) {
- return (FALSE);
- }
- } else {
- memmove(oa->oa_base, (char*) buf, oa->oa_length);
- /* no real need...
- buf += RNDUP(oa->oa_length) /
- sizeof (long);
- */
- }
- }
- return (TRUE);
- }
- }
- if (xdr_u_long(xdrs, &(cmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) &&
- (cmsg->rm_direction == CALL) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
- (cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_proc)) &&
- xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_cred)))
- return (xdr_opaque_auth(xdrs, &(cmsg->rm_call.cb_verf)));
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_commondata.c b/mdk-stage1/dietlibc/librpc/rpc_commondata.c
deleted file mode 100644
index 39648d284..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_commondata.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* @(#)rpc_commondata.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#include <rpc/rpc.h>
-/*
- * This file should only contain common data (global data) that is exported
- * by public interfaces
- */
-struct opaque_auth _null_auth;
-
-#ifdef FD_SETSIZE
-fd_set svc_fdset;
-#else
-int svc_fds;
-#endif /* def FD_SETSIZE */
-struct rpc_createerr rpc_createerr;
diff --git a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c b/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c
deleted file mode 100644
index b08ebaccd..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_dtablesize.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* @(#)rpc_dtablesize.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)rpc_dtablesize.c 1.2 87/08/11 Copyr 1987 Sun Micro";
-#endif
-
-#include <unistd.h>
-
-/*
- * Cache the result of getdtablesize(), so we don't have to do an
- * expensive system call every time.
- */
-int _rpc_dtablesize()
-{
- static int size;
-
- if (size == 0) {
- size = getdtablesize();
- }
- return (size);
-}
diff --git a/mdk-stage1/dietlibc/librpc/rpc_prot.c b/mdk-stage1/dietlibc/librpc/rpc_prot.c
deleted file mode 100644
index d5ca5ab77..000000000
--- a/mdk-stage1/dietlibc/librpc/rpc_prot.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* @(#)rpc_prot.c 2.3 88/08/07 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)rpc_prot.c 1.36 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * rpc_prot.c
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * This set of routines implements the rpc message definition,
- * its serializer and some common rpc utility routines.
- * The routines are meant for various implementations of rpc -
- * they are NOT for the rpc client or rpc service implementations!
- * Because authentication stuff is easy and is part of rpc, the opaque
- * routines are also in this program.
- */
-
-#include <sys/param.h>
-
-#include <rpc/rpc.h>
-
-/* * * * * * * * * * * * * * XDR Authentication * * * * * * * * * * * */
-
-struct opaque_auth _null_auth;
-
-/*
- * XDR an opaque authentication struct
- * (see auth.h)
- */
-bool_t xdr_opaque_auth(xdrs, ap)
-register XDR *xdrs;
-register struct opaque_auth *ap;
-{
-
- if (xdr_enum(xdrs, &(ap->oa_flavor)))
- return (xdr_bytes(xdrs, &ap->oa_base,
- &ap->oa_length, MAX_AUTH_BYTES));
- return (FALSE);
-}
-
-/*
- * XDR a DES block
- */
-bool_t xdr_des_block(xdrs, blkp)
-register XDR *xdrs;
-register des_block *blkp;
-{
- return (xdr_opaque(xdrs, (char*) blkp, sizeof(des_block)));
-}
-
-/* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */
-
-/*
- * XDR the MSG_ACCEPTED part of a reply message union
- */
-bool_t xdr_accepted_reply(xdrs, ar)
-register XDR *xdrs;
-register struct accepted_reply *ar;
-{
-
- /* personalized union, rather than calling xdr_union */
- if (!xdr_opaque_auth(xdrs, &(ar->ar_verf)))
- return (FALSE);
- if (!xdr_enum(xdrs, (enum_t *) & (ar->ar_stat)))
- return (FALSE);
- switch (ar->ar_stat) {
-
- case SUCCESS:
- return ((*(ar->ar_results.proc)) (xdrs, ar->ar_results.where));
-
- case PROG_MISMATCH:
- if (!xdr_u_long(xdrs, &(ar->ar_vers.low)))
- return (FALSE);
- return (xdr_u_long(xdrs, &(ar->ar_vers.high)));
- }
- return (TRUE); /* TRUE => open ended set of problems */
-}
-
-/*
- * XDR the MSG_DENIED part of a reply message union
- */
-bool_t xdr_rejected_reply(xdrs, rr)
-register XDR *xdrs;
-register struct rejected_reply *rr;
-{
-
- /* personalized union, rather than calling xdr_union */
- if (!xdr_enum(xdrs, (enum_t *) & (rr->rj_stat)))
- return (FALSE);
- switch (rr->rj_stat) {
-
- case RPC_MISMATCH:
- if (!xdr_u_long(xdrs, &(rr->rj_vers.low)))
- return (FALSE);
- return (xdr_u_long(xdrs, &(rr->rj_vers.high)));
-
- case AUTH_ERROR:
- return (xdr_enum(xdrs, (enum_t *) & (rr->rj_why)));
- }
- return (FALSE);
-}
-
-static struct xdr_discrim reply_dscrm[3] = {
- {(int) MSG_ACCEPTED, (xdrproc_t)xdr_accepted_reply},
- {(int) MSG_DENIED, (xdrproc_t)xdr_rejected_reply},
- {__dontcare__, NULL_xdrproc_t}
-};
-
-/*
- * XDR a reply message
- */
-bool_t xdr_replymsg(xdrs, rmsg)
-register XDR *xdrs;
-register struct rpc_msg *rmsg;
-{
- if (xdr_u_long(xdrs, &(rmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (rmsg->rm_direction)) &&
- (rmsg->rm_direction == REPLY))
- return (xdr_union(xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat),
- (char*) & (rmsg->rm_reply.ru), reply_dscrm,
- NULL_xdrproc_t));
- return (FALSE);
-}
-
-
-/*
- * Serializes the "static part" of a call message header.
- * The fields include: rm_xid, rm_direction, rpcvers, prog, and vers.
- * The rm_xid is not really static, but the user can easily munge on the fly.
- */
-bool_t xdr_callhdr(xdrs, cmsg)
-register XDR *xdrs;
-register struct rpc_msg *cmsg;
-{
-
- cmsg->rm_direction = CALL;
- cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION;
- if (
- (xdrs->x_op == XDR_ENCODE) &&
- xdr_u_long(xdrs, &(cmsg->rm_xid)) &&
- xdr_enum(xdrs, (enum_t *) & (cmsg->rm_direction)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
- xdr_u_long(xdrs, &(cmsg->rm_call.cb_prog)))
- return (xdr_u_long(xdrs, &(cmsg->rm_call.cb_vers)));
- return (FALSE);
-}
-
-/* ************************** Client utility routine ************* */
-
-static void accepted(acpt_stat, error)
-register enum accept_stat acpt_stat;
-register struct rpc_err *error;
-{
-
- switch (acpt_stat) {
-
- case PROG_UNAVAIL:
- error->re_status = RPC_PROGUNAVAIL;
- return;
-
- case PROG_MISMATCH:
- error->re_status = RPC_PROGVERSMISMATCH;
- return;
-
- case PROC_UNAVAIL:
- error->re_status = RPC_PROCUNAVAIL;
- return;
-
- case GARBAGE_ARGS:
- error->re_status = RPC_CANTDECODEARGS;
- return;
-
- case SYSTEM_ERR:
- error->re_status = RPC_SYSTEMERROR;
- return;
-
- case SUCCESS:
- error->re_status = RPC_SUCCESS;
- return;
- }
- /* something's wrong, but we don't know what ... */
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) MSG_ACCEPTED;
- error->re_lb.s2 = (long) acpt_stat;
-}
-
-static void rejected(rjct_stat, error)
-register enum reject_stat rjct_stat;
-register struct rpc_err *error;
-{
-
- switch (rjct_stat) {
-
- case RPC_VERSMISMATCH:
- error->re_status = RPC_VERSMISMATCH;
- return;
-
- case AUTH_ERROR:
- error->re_status = RPC_AUTHERROR;
- return;
- }
- /* something's wrong, but we don't know what ... */
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) MSG_DENIED;
- error->re_lb.s2 = (long) rjct_stat;
-}
-
-/*
- * given a reply message, fills in the error
- */
-void _seterr_reply(msg, error)
-register struct rpc_msg *msg;
-register struct rpc_err *error;
-{
-
- /* optimized for normal, SUCCESSful case */
- switch (msg->rm_reply.rp_stat) {
-
- case MSG_ACCEPTED:
- if (msg->acpted_rply.ar_stat == SUCCESS) {
- error->re_status = RPC_SUCCESS;
- return;
- };
- accepted(msg->acpted_rply.ar_stat, error);
- break;
-
- case MSG_DENIED:
- rejected(msg->rjcted_rply.rj_stat, error);
- break;
-
- default:
- error->re_status = RPC_FAILED;
- error->re_lb.s1 = (long) (msg->rm_reply.rp_stat);
- break;
- }
- switch (error->re_status) {
-
- case RPC_VERSMISMATCH:
- error->re_vers.low = msg->rjcted_rply.rj_vers.low;
- error->re_vers.high = msg->rjcted_rply.rj_vers.high;
- break;
-
- case RPC_AUTHERROR:
- error->re_why = msg->rjcted_rply.rj_why;
- break;
-
- case RPC_PROGVERSMISMATCH:
- error->re_vers.low = msg->acpted_rply.ar_vers.low;
- error->re_vers.high = msg->acpted_rply.ar_vers.high;
- break;
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc.c b/mdk-stage1/dietlibc/librpc/svc.c
deleted file mode 100644
index b430deb4a..000000000
--- a/mdk-stage1/dietlibc/librpc/svc.c
+++ /dev/null
@@ -1,478 +0,0 @@
-/* @(#)svc.c 2.4 88/08/11 4.0 RPCSRC; from 1.44 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc.c 1.41 87/10/13 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc.c, Server-side remote procedure call interface.
- *
- * There are two sets of procedures here. The xprt routines are
- * for handling transport handles. The svc routines handle the
- * list of service routines.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <errno.h>
-#include <rpc/rpc.h>
-#include <rpc/pmap_clnt.h>
-#include <string.h>
-#ifdef __linux__
-#include <sys/types.h>
-#endif
-
-#ifdef FD_SETSIZE
-static SVCXPRT **xports;
-#else
-#define NOFILE 32
-
-static SVCXPRT *xports[NOFILE];
-#endif /* def FD_SETSIZE */
-
-#define NULL_SVC ((struct svc_callout *)0)
-#define RQCRED_SIZE 400 /* this size is excessive */
-
-/*
- * The services list
- * Each entry represents a set of procedures (an rpc program).
- * The dispatch routine takes request structs and runs the
- * apropriate procedure.
- */
-static struct svc_callout {
- struct svc_callout *sc_next;
- unsigned long sc_prog;
- unsigned long sc_vers;
- void (*sc_dispatch) ();
-} *svc_head;
-
-static struct svc_callout *svc_find();
-
-/* *************** SVCXPRT related stuff **************** */
-
-/*
- * Activate a transport handle.
- */
-void xprt_register(xprt)
-SVCXPRT *xprt;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- if (xports == NULL) {
- xports = (SVCXPRT **)
- mem_alloc(FD_SETSIZE * sizeof(SVCXPRT *));
- }
- if (sock < _rpc_dtablesize()) {
- xports[sock] = xprt;
- FD_SET(sock, &svc_fdset);
- }
-#else
- if (sock < NOFILE) {
- xports[sock] = xprt;
- svc_fds |= (1 << sock);
- }
-#endif /* def FD_SETSIZE */
-
-}
-
-/*
- * De-activate a transport handle.
- */
-void xprt_unregister(xprt)
-SVCXPRT *xprt;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- if ((sock < _rpc_dtablesize()) && (xports[sock] == xprt)) {
- xports[sock] = (SVCXPRT *) 0;
- FD_CLR(sock, &svc_fdset);
- }
-#else
- if ((sock < NOFILE) && (xports[sock] == xprt)) {
- xports[sock] = (SVCXPRT *) 0;
- svc_fds &= ~(1 << sock);
- }
-#endif /* def FD_SETSIZE */
-}
-
-
-/* ********************** CALLOUT list related stuff ************* */
-
-/*
- * Add a service program to the callout list.
- * The dispatch routine will be called when a rpc request for this
- * program number comes in.
- */
-bool_t svc_register(xprt, prog, vers, dispatch, protocol)
-SVCXPRT *xprt;
-unsigned long prog;
-unsigned long vers;
-void (*dispatch) ();
-rpcprot_t protocol;
-{
- struct svc_callout *prev;
- register struct svc_callout *s;
-
- if ((s = svc_find(prog, vers, &prev)) != NULL_SVC) {
- if (s->sc_dispatch == dispatch)
- goto pmap_it; /* he is registering another xptr */
- return (FALSE);
- }
- s = (struct svc_callout *) mem_alloc(sizeof(struct svc_callout));
-
- if (s == (struct svc_callout *) 0) {
- return (FALSE);
- }
- s->sc_prog = prog;
- s->sc_vers = vers;
- s->sc_dispatch = dispatch;
- s->sc_next = svc_head;
- svc_head = s;
- pmap_it:
- /* now register the information with the local binder service */
- if (protocol) {
- return (pmap_set(prog, vers, protocol, xprt->xp_port));
- }
- return (TRUE);
-}
-
-/*
- * Remove a service program from the callout list.
- */
-void svc_unregister(prog, vers)
-unsigned long prog;
-unsigned long vers;
-{
- struct svc_callout *prev;
- register struct svc_callout *s;
-
- if ((s = svc_find(prog, vers, &prev)) == NULL_SVC)
- return;
- if (prev == NULL_SVC) {
- svc_head = s->sc_next;
- } else {
- prev->sc_next = s->sc_next;
- }
- s->sc_next = NULL_SVC;
- mem_free((char *) s, (unsigned int) sizeof(struct svc_callout));
-
- /* now unregister the information with the local binder service */
- (void) pmap_unset(prog, vers);
-}
-
-/*
- * Search the callout list for a program number, return the callout
- * struct.
- */
-static struct svc_callout *svc_find(prog, vers, prev)
-unsigned long prog;
-unsigned long vers;
-struct svc_callout **prev;
-{
- register struct svc_callout *s, *p;
-
- p = NULL_SVC;
- for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
- if ((s->sc_prog == prog) && (s->sc_vers == vers))
- goto done;
- p = s;
- }
- done:
- *prev = p;
- return (s);
-}
-
-/* ******************* REPLY GENERATION ROUTINES ************ */
-
-/*
- * Send a reply to an rpc request
- */
-bool_t svc_sendreply(xprt, xdr_results, xdr_location)
-register SVCXPRT *xprt;
-xdrproc_t xdr_results;
-char* xdr_location;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = SUCCESS;
- rply.acpted_rply.ar_results.where = xdr_location;
- rply.acpted_rply.ar_results.proc = xdr_results;
- return (SVC_REPLY(xprt, &rply));
-}
-
-/*
- * No procedure error reply
- */
-void svcerr_noproc(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROC_UNAVAIL;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Can't decode args error reply
- */
-void svcerr_decode(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = GARBAGE_ARGS;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Some system error
- */
-void svcerr_systemerr(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = SYSTEM_ERR;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Authentication error reply
- */
-void svcerr_auth(xprt, why)
-SVCXPRT *xprt;
-enum auth_stat why;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_DENIED;
- rply.rjcted_rply.rj_stat = AUTH_ERROR;
- rply.rjcted_rply.rj_why = why;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Auth too weak error reply
- */
-void svcerr_weakauth(xprt)
-SVCXPRT *xprt;
-{
-
- svcerr_auth(xprt, AUTH_TOOWEAK);
-}
-
-/*
- * Program unavailable error reply
- */
-void svcerr_noprog(xprt)
-register SVCXPRT *xprt;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROG_UNAVAIL;
- SVC_REPLY(xprt, &rply);
-}
-
-/*
- * Program version mismatch error reply
- */
-void svcerr_progvers(xprt, low_vers, high_vers)
-register SVCXPRT *xprt;
-unsigned long low_vers;
-unsigned long high_vers;
-{
- struct rpc_msg rply;
-
- rply.rm_direction = REPLY;
- rply.rm_reply.rp_stat = MSG_ACCEPTED;
- rply.acpted_rply.ar_verf = xprt->xp_verf;
- rply.acpted_rply.ar_stat = PROG_MISMATCH;
- rply.acpted_rply.ar_vers.low = low_vers;
- rply.acpted_rply.ar_vers.high = high_vers;
- SVC_REPLY(xprt, &rply);
-}
-
-/* ******************* SERVER INPUT STUFF ******************* */
-
-/*
- * Get server side input from some transport.
- *
- * Statement of authentication parameters management:
- * This function owns and manages all authentication parameters, specifically
- * the "raw" parameters (msg.rm_call.cb_cred and msg.rm_call.cb_verf) and
- * the "cooked" credentials (rqst->rq_clntcred).
- * However, this function does not know the structure of the cooked
- * credentials, so it make the following assumptions:
- * a) the structure is contiguous (no pointers), and
- * b) the cred structure size does not exceed RQCRED_SIZE bytes.
- * In all events, all three parameters are freed upon exit from this routine.
- * The storage is trivially management on the call stack in user land, but
- * is mallocated in kernel land.
- */
-
-void svc_getreq(rdfds)
-int rdfds;
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-
- FD_ZERO(&readfds);
-/*#ifdef __linux__*/
-#if 0
- readfds = rdfds;
-#else
- readfds.fds_bits[0] = rdfds;
-#endif
- svc_getreqset(&readfds);
-#else
- int readfds = rdfds & svc_fds;
-
- svc_getreqset(&readfds);
-#endif /* def FD_SETSIZE */
-}
-
-void svc_getreqset(readfds)
-#ifdef FD_SETSIZE
-fd_set *readfds;
-{
-#else
-int *readfds;
-{
- int readfds_local = *readfds;
-#endif /* def FD_SETSIZE */
- enum xprt_stat stat;
- struct rpc_msg msg;
- int prog_found;
- unsigned long low_vers;
- unsigned long high_vers;
- struct svc_req r;
- register SVCXPRT *xprt;
- register unsigned long mask;
- register int bit;
- register unsigned long *maskp;
- register int setsize;
- register int sock;
- char cred_area[2 * MAX_AUTH_BYTES + RQCRED_SIZE];
-
- msg.rm_call.cb_cred.oa_base = cred_area;
- msg.rm_call.cb_verf.oa_base = &(cred_area[MAX_AUTH_BYTES]);
- r.rq_clntcred = &(cred_area[2 * MAX_AUTH_BYTES]);
-
-
-#ifdef FD_SETSIZE
- setsize = _rpc_dtablesize();
-#ifdef __linux__
-/*#define NFDBITS 32*/
- maskp = (unsigned long *) readfds;
-#else
- maskp = (unsigned long *) readfds->fds_bits;
-#endif
- for (sock = 0; sock < setsize; sock += NFDBITS) {
- for (mask = *maskp++; (bit = ffs(mask)); mask ^= (1 << (bit - 1))) {
- /* sock has input waiting */
- xprt = xports[sock + bit - 1];
-#else
- for (sock = 0; readfds_local != 0; sock++, readfds_local >>= 1) {
- if ((readfds_local & 1) != 0) {
- /* sock has input waiting */
- xprt = xports[sock];
-#endif /* def FD_SETSIZE */
- /* now receive msgs from xprtprt (support batch calls) */
- do {
- if (SVC_RECV(xprt, &msg)) {
-
- /* now find the exported program and call it */
- register struct svc_callout *s;
- enum auth_stat why;
-
- r.rq_xprt = xprt;
- r.rq_prog = msg.rm_call.cb_prog;
- r.rq_vers = msg.rm_call.cb_vers;
- r.rq_proc = msg.rm_call.cb_proc;
- r.rq_cred = msg.rm_call.cb_cred;
- /* first authenticate the message */
- if ((why = _authenticate(&r, &msg)) != AUTH_OK) {
- svcerr_auth(xprt, why);
- goto call_done;
- }
- /* now match message with a registered service */
- prog_found = FALSE;
- low_vers = 0 - 1;
- high_vers = 0;
- for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
- if (s->sc_prog == r.rq_prog) {
- if (s->sc_vers == r.rq_vers) {
- (*s->sc_dispatch) (&r, xprt);
- goto call_done;
- } /* found correct version */
- prog_found = TRUE;
- if (s->sc_vers < low_vers)
- low_vers = s->sc_vers;
- if (s->sc_vers > high_vers)
- high_vers = s->sc_vers;
- } /* found correct program */
- }
- /*
- * if we got here, the program or version
- * is not served ...
- */
- if (prog_found)
- svcerr_progvers(xprt, low_vers, high_vers);
- else
- svcerr_noprog(xprt);
- /* Fall through to ... */
- }
- call_done:
- if ((stat = SVC_STAT(xprt)) == XPRT_DIED) {
- SVC_DESTROY(xprt);
- break;
- }
- } while (stat == XPRT_MOREREQS);
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_auth.c b/mdk-stage1/dietlibc/librpc/svc_auth.c
deleted file mode 100644
index 336586d95..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_auth.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_auth.c 2.1 88/08/07 4.0 RPCSRC; from 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * svc_auth_nodes.c, Server-side rpc authenticator interface,
- * *WITHOUT* DES authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-
-/*
- * svcauthsw is the bdevsw of server side authentication.
- *
- * Server side authenticators are called from authenticate by
- * using the client auth struct flavor field to index into svcauthsw.
- * The server auth flavors must implement a routine that looks
- * like:
- *
- * enum auth_stat
- * flavorx_auth(rqst, msg)
- * register struct svc_req *rqst;
- * register struct rpc_msg *msg;
- *
- */
-
-enum auth_stat _svcauth_null(); /* no authentication */
-enum auth_stat _svcauth_unix(); /* unix style (uid, gids) */
-enum auth_stat _svcauth_short(); /* short hand unix style */
-
-static struct {
- enum auth_stat (*authenticator) ();
-} svcauthsw[] = {
- { _svcauth_null }, /* AUTH_NULL */
- { _svcauth_unix }, /* AUTH_UNIX */
- { _svcauth_short }, /* AUTH_SHORT */
-};
-
-#define AUTH_MAX 2 /* HIGHEST AUTH NUMBER */
-
-
-/*
- * The call rpc message, msg has been obtained from the wire. The msg contains
- * the raw form of credentials and verifiers. authenticate returns AUTH_OK
- * if the msg is successfully authenticated. If AUTH_OK then the routine also
- * does the following things:
- * set rqst->rq_xprt->verf to the appropriate response verifier;
- * sets rqst->rq_client_cred to the "cooked" form of the credentials.
- *
- * NB: rqst->rq_cxprt->verf must be pre-alloctaed;
- * its length is set appropriately.
- *
- * The caller still owns and is responsible for msg->u.cmb.cred and
- * msg->u.cmb.verf. The authentication system retains ownership of
- * rqst->rq_client_cred, the cooked credentials.
- *
- * There is an assumption that any flavour less than AUTH_NULL is
- * invalid.
- */
-enum auth_stat _authenticate(rqst, msg)
-register struct svc_req *rqst;
-struct rpc_msg *msg;
-{
- register int cred_flavor;
-
- rqst->rq_cred = msg->rm_call.cb_cred;
- rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor;
- rqst->rq_xprt->xp_verf.oa_length = 0;
- cred_flavor = rqst->rq_cred.oa_flavor;
- if ((cred_flavor <= AUTH_MAX) && (cred_flavor >= AUTH_NULL)) {
- return ((*(svcauthsw[cred_flavor].authenticator)) (rqst, msg));
- }
-
- return (AUTH_REJECTEDCRED);
-}
-
-enum auth_stat _svcauth_null( /*rqst, msg */ )
- /*struct svc_req *rqst;
- struct rpc_msg *msg; */
-{
-
- return (AUTH_OK);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c b/mdk-stage1/dietlibc/librpc/svc_auth_unix.c
deleted file mode 100644
index e81eba7d9..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_auth_unix.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* @(#)svc_auth_unix.c 2.3 88/08/01 4.0 RPCSRC; from 1.28 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_auth_unix.c
- * Handles UNIX flavor authentication parameters on the service side of rpc.
- * There are two svc auth implementations here: AUTH_UNIX and AUTH_SHORT.
- * _svcauth_unix does full blown unix style uid,gid+gids auth,
- * _svcauth_short uses a shorthand auth to index into a cache of longhand auths.
- * Note: the shorthand has been gutted for efficiency.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <string.h>
-
-/*
- * Unix longhand authenticator
- */
-enum auth_stat _svcauth_unix(rqst, msg)
-register struct svc_req *rqst;
-register struct rpc_msg *msg;
-{
- register enum auth_stat stat;
- XDR xdrs;
- register struct authunix_parms *aup;
- register int32_t *buf;
- struct area {
- struct authunix_parms area_aup;
- char area_machname[MAX_MACHINE_NAME + 1];
- gid_t area_gids[NGRPS];
- } *area;
- unsigned int auth_len;
- int str_len, gid_len;
- register int i;
-
- area = (struct area *) rqst->rq_clntcred;
- aup = &area->area_aup;
- aup->aup_machname = area->area_machname;
- aup->aup_gids = area->area_gids;
- auth_len = (unsigned int) msg->rm_call.cb_cred.oa_length;
- xdrmem_create(&xdrs, msg->rm_call.cb_cred.oa_base, auth_len,
- XDR_DECODE);
- buf = XDR_INLINE(&xdrs, auth_len);
- if (buf != NULL) {
- aup->aup_time = IXDR_GET_LONG(buf);
- str_len = IXDR_GET_U_LONG(buf);
- if (str_len > MAX_MACHINE_NAME) {
- stat = AUTH_BADCRED;
- goto done;
- }
- memmove(aup->aup_machname, (char*) buf, (unsigned int) str_len);
- aup->aup_machname[str_len] = 0;
- str_len = RNDUP(str_len);
- buf += str_len / sizeof(long);
-
- aup->aup_uid = IXDR_GET_LONG(buf);
- aup->aup_gid = IXDR_GET_LONG(buf);
- gid_len = IXDR_GET_U_LONG(buf);
- if (gid_len > NGRPS) {
- stat = AUTH_BADCRED;
- goto done;
- }
- aup->aup_len = gid_len;
- for (i = 0; i < gid_len; i++) {
- aup->aup_gids[i] = IXDR_GET_LONG(buf);
- }
- /*
- * five is the smallest unix credentials structure -
- * timestamp, hostname len (0), uid, gid, and gids len (0).
- */
- if ((5 + gid_len) * BYTES_PER_XDR_UNIT + str_len > auth_len) {
- (void) printf("bad auth_len gid %d str %d auth %d\n",
- gid_len, str_len, auth_len);
- stat = AUTH_BADCRED;
- goto done;
- }
- } else if (!xdr_authunix_parms(&xdrs, aup)) {
- xdrs.x_op = XDR_FREE;
- (void) xdr_authunix_parms(&xdrs, aup);
- stat = AUTH_BADCRED;
- goto done;
- }
- rqst->rq_xprt->xp_verf.oa_flavor = AUTH_NULL;
- rqst->rq_xprt->xp_verf.oa_length = 0;
- stat = AUTH_OK;
- done:
- XDR_DESTROY(&xdrs);
- return (stat);
-}
-
-
-/*
- * Shorthand unix authenticator
- * Looks up longhand in a cache.
- */
- /*ARGSUSED*/ enum auth_stat _svcauth_short(rqst, msg)
-struct svc_req *rqst;
-struct rpc_msg *msg;
-{
- return (AUTH_REJECTEDCRED);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_raw.c b/mdk-stage1/dietlibc/librpc/svc_raw.c
deleted file mode 100644
index eebb433ee..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_raw.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/* @(#)svc_raw.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_raw.c 1.15 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_raw.c, This a toy for simple testing and timing.
- * Interface to create an rpc client and server in the same UNIX process.
- * This lets us similate rpc and get rpc (round trip) overhead, without
- * any interference from the kernal.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-
-
-/*
- * This is the "network" that we will be moving data over
- */
-static struct svcraw_private {
- char _raw_buf[UDPMSGSIZE];
- SVCXPRT server;
- XDR xdr_stream;
- char verf_body[MAX_AUTH_BYTES];
-} *svcraw_private;
-
-static bool_t svcraw_recv();
-static enum xprt_stat svcraw_stat();
-static bool_t svcraw_getargs();
-static bool_t svcraw_reply();
-static bool_t svcraw_freeargs();
-static void svcraw_destroy();
-
-static struct xp_ops server_ops = {
- svcraw_recv,
- svcraw_stat,
- svcraw_getargs,
- svcraw_reply,
- svcraw_freeargs,
- svcraw_destroy
-};
-
-
-SVCXPRT *svcraw_create()
-{
- register struct svcraw_private *srp = svcraw_private;
-
- if (srp == 0) {
- srp = (struct svcraw_private *) calloc(1, sizeof(*srp));
- if (srp == 0)
- return (0);
- }
- srp->server.xp_sock = 0;
- srp->server.xp_port = 0;
- srp->server.xp_ops = &server_ops;
- srp->server.xp_verf.oa_base = srp->verf_body;
- xdrmem_create(&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE);
- return (&srp->server);
-}
-
-static enum xprt_stat svcraw_stat()
-{
-
- return (XPRT_IDLE);
-}
-
-static bool_t svcraw_recv(xprt, msg)
-SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (0);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_callmsg(xdrs, msg))
- return (FALSE);
- return (TRUE);
-}
-
-static bool_t svcraw_reply(xprt, msg)
-SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (FALSE);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_replymsg(xdrs, msg))
- return (FALSE);
- (void) XDR_GETPOS(xdrs); /* called just for overhead */
- return (TRUE);
-}
-
-static bool_t svcraw_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
- register struct svcraw_private *srp = svcraw_private;
-
- if (srp == 0)
- return (FALSE);
- return ((*xdr_args) (&srp->xdr_stream, args_ptr));
-}
-
-static bool_t svcraw_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
- register struct svcraw_private *srp = svcraw_private;
- register XDR *xdrs;
-
- if (srp == 0)
- return (FALSE);
- xdrs = &srp->xdr_stream;
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static void svcraw_destroy()
-{
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/svc_run.c b/mdk-stage1/dietlibc/librpc/svc_run.c
deleted file mode 100644
index 506b37942..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_run.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* @(#)svc_run.c 2.1 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_run.c 1.1 87/10/13 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-/*
- * This is the rpc server side idle loop
- * Wait for input, call server program.
- */
-#include <rpc/rpc.h>
-#include <errno.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-void svc_run()
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-#else
- int readfds;
-#endif /* def FD_SETSIZE */
-
- for (;;) {
-#ifdef FD_SETSIZE
- readfds = svc_fdset;
-#else
- readfds = svc_fds;
-#endif /* def FD_SETSIZE */
- switch (select(_rpc_dtablesize(), &readfds, 0, 0, 0)) {
- case -1:
- if (errno == EINTR) {
- continue;
- }
- perror("svc_run: - select failed");
- return;
- case 0:
- continue;
- default:
- svc_getreqset(&readfds);
- }
- }
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_simple.c b/mdk-stage1/dietlibc/librpc/svc_simple.c
deleted file mode 100644
index d2310de1e..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_simple.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* @(#)svc_simple.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)svc_simple.c 1.18 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_simple.c
- * Simplified front end to rpc.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <rpc/pmap_clnt.h>
-#include <string.h>
-
-static struct proglst {
- char *(*p_progname) ();
- int p_prognum;
- int p_procnum;
- xdrproc_t p_inproc, p_outproc;
- struct proglst *p_nxt;
-} *proglst;
-static void universal();
-static SVCXPRT *transp;
-struct proglst *pl;
-
-int registerrpc(int prognum, int versnum, int procnum, char *(*progname)(), xdrproc_t inproc, xdrproc_t outproc)
-{
-
- if (procnum == NULLPROC) {
- (void) fprintf(stderr,
- "can't reassign procedure number %d\n", NULLPROC);
- return (-1);
- }
- if (transp == 0) {
- transp = svcudp_create(RPC_ANYSOCK);
- if (transp == NULL) {
- (void) fprintf(stderr, "couldn't create an rpc server\n");
- return (-1);
- }
- }
- (void) pmap_unset((unsigned long) prognum, (unsigned long) versnum);
- if (!svc_register(transp, (unsigned long) prognum, (unsigned long) versnum,
- universal, IPPROTO_UDP)) {
- (void) fprintf(stderr, "couldn't register prog %d vers %d\n",
- prognum, versnum);
- return (-1);
- }
- pl = (struct proglst *) malloc(sizeof(struct proglst));
-
- if (pl == NULL) {
- (void) fprintf(stderr, "registerrpc: out of memory\n");
- return (-1);
- }
- pl->p_progname = progname;
- pl->p_prognum = prognum;
- pl->p_procnum = procnum;
- pl->p_inproc = inproc;
- pl->p_outproc = outproc;
- pl->p_nxt = proglst;
- proglst = pl;
- return (0);
-}
-
-static void universal(rqstp, transp)
-struct svc_req *rqstp;
-SVCXPRT *transp;
-{
- int prog, proc;
- char *outdata;
- char xdrbuf[UDPMSGSIZE];
- struct proglst *pl;
-
- /*
- * enforce "procnum 0 is echo" convention
- */
- if (rqstp->rq_proc == NULLPROC) {
- if (svc_sendreply(transp, (xdrproc_t)xdr_void, (char *) NULL) == FALSE) {
- (void) fprintf(stderr, "xxx\n");
- exit(1);
- }
- return;
- }
- prog = rqstp->rq_prog;
- proc = rqstp->rq_proc;
- for (pl = proglst; pl != NULL; pl = pl->p_nxt)
- if (pl->p_prognum == prog && pl->p_procnum == proc) {
- /* decode arguments into a CLEAN buffer */
- memset(xdrbuf, 0, sizeof(xdrbuf)); /* required ! */
- if (!svc_getargs(transp, pl->p_inproc, xdrbuf)) {
- svcerr_decode(transp);
- return;
- }
- outdata = (*(pl->p_progname)) (xdrbuf);
- if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void)
- /* there was an error */
- return;
- if (!svc_sendreply(transp, pl->p_outproc, outdata)) {
- (void) fprintf(stderr,
- "trouble replying to prog %d\n",
- pl->p_prognum);
- exit(1);
- }
- /* free the decoded arguments */
- (void) svc_freeargs(transp, pl->p_inproc, xdrbuf);
- return;
- }
- (void) fprintf(stderr, "never registered prog %d\n", prog);
- exit(1);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_tcp.c b/mdk-stage1/dietlibc/librpc/svc_tcp.c
deleted file mode 100644
index 0444bc0d0..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_tcp.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/* @(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_tcp.c, Server side for TCP/IP based RPC.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * Actually implements two flavors of transporter -
- * a tcp rendezvouser (a listner and connection establisher)
- * and a record/tcp stream.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-/*
- * Ops vector for TCP/IP based rpc service handle
- */
-static bool_t svctcp_recv();
-static enum xprt_stat svctcp_stat();
-static bool_t svctcp_getargs();
-static bool_t svctcp_reply();
-static bool_t svctcp_freeargs();
-static void svctcp_destroy();
-
-static struct xp_ops svctcp_op;
-
-/*
- * Ops vector for TCP/IP rendezvous handler
- */
-static bool_t rendezvous_request();
-static enum xprt_stat rendezvous_stat();
-
-static struct xp_ops svctcp_rendezvous_op = {
- rendezvous_request,
- rendezvous_stat,
- (void*)abort,
- (void*)abort,
- (void*)abort,
- svctcp_destroy
-};
-
-static int readtcp(), writetcp();
-static SVCXPRT *makefd_xprt();
-
-struct tcp_rendezvous { /* kept in xprt->xp_p1 */
- unsigned int sendsize;
- unsigned int recvsize;
-};
-
-struct tcp_conn { /* kept in xprt->xp_p1 */
- enum xprt_stat strm_stat;
- unsigned long x_id;
- XDR xdrs;
- char verf_body[MAX_AUTH_BYTES];
-};
-
-/*
- * Usage:
- * xprt = svctcp_create(sock, send_buf_size, recv_buf_size);
- *
- * Creates, registers, and returns a (rpc) tcp based transporter.
- * Once *xprt is initialized, it is registered as a transporter
- * see (svc.h, xprt_register). This routine returns
- * a NULL if a problem occurred.
- *
- * If sock<0 then a socket is created, else sock is used.
- * If the socket, sock is not bound to a port then svctcp_create
- * binds it to an arbitrary port. The routine then starts a tcp
- * listener on the socket's associated port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
- * associated port number.
- *
- * Since tcp streams do buffered io similar to stdio, the caller can specify
- * how big the send and receive buffers are via the second and third parms;
- * 0 => use the system default.
- */
-SVCXPRT *svctcp_create(sock, sendsize, recvsize)
-register int sock;
-unsigned int sendsize;
-unsigned int recvsize;
-{
- bool_t madesock = FALSE;
- register SVCXPRT *xprt;
- register struct tcp_rendezvous *r;
- struct sockaddr_in addr;
- int len = sizeof(struct sockaddr_in);
-
- if (sock == RPC_ANYSOCK) {
- if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
- perror("svc_tcp.c - tcp socket creation problem");
- return ((SVCXPRT *) NULL);
- }
- madesock = TRUE;
- }
- memset((char *) &addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- if (bindresvport(sock, &addr)) {
- addr.sin_port = 0;
- (void) bind(sock, (struct sockaddr *) &addr, len);
- }
- if ((getsockname(sock, (struct sockaddr *) &addr, &len) != 0) ||
- (listen(sock, 2) != 0)) {
- perror("svctcp_.c - cannot getsockname or listen");
- if (madesock)
- (void) close(sock);
- return ((SVCXPRT *) NULL);
- }
- r = (struct tcp_rendezvous *) mem_alloc(sizeof(*r));
- if (r == NULL) {
- (void) fprintf(stderr, "svctcp_create: out of memory\n");
- return (NULL);
- }
- r->sendsize = sendsize;
- r->recvsize = recvsize;
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == NULL) {
- (void) fprintf(stderr, "svctcp_create: out of memory\n");
- return (NULL);
- }
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (char*) r;
- xprt->xp_verf = _null_auth;
- xprt->xp_ops = &svctcp_rendezvous_op;
- xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
- xprt_register(xprt);
- return (xprt);
-}
-
-/*
- * Like svtcp_create(), except the routine takes any *open* UNIX file
- * descriptor as its first input.
- */
-SVCXPRT *svcfd_create(fd, sendsize, recvsize)
-int fd;
-unsigned int sendsize;
-unsigned int recvsize;
-{
-
- return (makefd_xprt(fd, sendsize, recvsize));
-}
-
-static SVCXPRT *makefd_xprt(fd, sendsize, recvsize)
-int fd;
-unsigned int sendsize;
-unsigned int recvsize;
-{
- register SVCXPRT *xprt;
- register struct tcp_conn *cd;
-
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == (SVCXPRT *) NULL) {
- (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
- goto done;
- }
- cd = (struct tcp_conn *) mem_alloc(sizeof(struct tcp_conn));
-
- if (cd == (struct tcp_conn *) NULL) {
- (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
- mem_free((char *) xprt, sizeof(SVCXPRT));
- xprt = (SVCXPRT *) NULL;
- goto done;
- }
- cd->strm_stat = XPRT_IDLE;
- xdrrec_create(&(cd->xdrs), sendsize, recvsize,
- (char*) xprt, readtcp, writetcp);
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (char*) cd;
- xprt->xp_verf.oa_base = cd->verf_body;
- xprt->xp_addrlen = 0;
- xprt->xp_ops = &svctcp_op; /* truely deals with calls */
- xprt->xp_port = 0; /* this is a connection, not a rendezvouser */
- xprt->xp_sock = fd;
- xprt_register(xprt);
- done:
- return (xprt);
-}
-
-static bool_t rendezvous_request(xprt)
-register SVCXPRT *xprt;
-{
- int sock;
- struct tcp_rendezvous *r;
- struct sockaddr_in addr;
- int len;
-
- r = (struct tcp_rendezvous *) xprt->xp_p1;
- again:
- len = sizeof(struct sockaddr_in);
-
- if ((sock = accept(xprt->xp_sock, (struct sockaddr *) &addr,
- &len)) < 0) {
- if (errno == EINTR)
- goto again;
- return (FALSE);
- }
- /*
- * make a new transporter (re-uses xprt)
- */
- xprt = makefd_xprt(sock, r->sendsize, r->recvsize);
- xprt->xp_raddr = addr;
- xprt->xp_addrlen = len;
- return (FALSE); /* there is never an rpc msg to be processed */
-}
-
-static enum xprt_stat rendezvous_stat()
-{
-
- return (XPRT_IDLE);
-}
-
-static void svctcp_destroy(xprt)
-register SVCXPRT *xprt;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) xprt->xp_p1;
-
- xprt_unregister(xprt);
- (void) close(xprt->xp_sock);
- if (xprt->xp_port != 0) {
- /* a rendezvouser socket */
- xprt->xp_port = 0;
- } else {
- /* an actual connection socket */
- XDR_DESTROY(&(cd->xdrs));
- }
- mem_free((char*) cd, sizeof(struct tcp_conn));
-
- mem_free((char*) xprt, sizeof(SVCXPRT));
-}
-
-/*
- * All read operations timeout after 35 seconds.
- * A timeout is fatal for the connection.
- */
-static struct timeval wait_per_try = { 35, 0 };
-
-/*
- * reads data from the tcp conection.
- * any error is fatal and the connection is closed.
- * (And a read of zero bytes is a half closed stream => error.)
- */
-static int readtcp(xprt, buf, len)
-register SVCXPRT *xprt;
-char* buf;
-register int len;
-{
- register int sock = xprt->xp_sock;
-
-#ifdef FD_SETSIZE
- fd_set mask;
- fd_set readfds;
-
- FD_ZERO(&mask);
- FD_SET(sock, &mask);
-#else
- register int mask = 1 << sock;
- int readfds;
-#endif /* def FD_SETSIZE */
- do {
- readfds = mask;
- if (select(_rpc_dtablesize(), &readfds, 0, 0, &wait_per_try) <= 0) {
- if (errno == EINTR) {
- continue;
- }
- goto fatal_err;
- }
-#ifdef FD_SETSIZE
- } while (!FD_ISSET(sock, &readfds));
-#else
- } while (readfds != mask);
-#endif /* def FD_SETSIZE */
- if ((len = read(sock, buf, len)) > 0) {
- return (len);
- }
- fatal_err:
- ((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED;
- return (-1);
-}
-
-/*
- * writes data to the tcp connection.
- * Any error is fatal and the connection is closed.
- */
-static int writetcp(xprt, buf, len)
-register SVCXPRT *xprt;
-char* buf;
-int len;
-{
- register int i, cnt;
-
- for (cnt = len; cnt > 0; cnt -= i, buf += i) {
- if ((i = write(xprt->xp_sock, buf, cnt)) < 0) {
- ((struct tcp_conn *) (xprt->xp_p1))->strm_stat = XPRT_DIED;
- return (-1);
- }
- }
- return (len);
-}
-
-static enum xprt_stat svctcp_stat(xprt)
-SVCXPRT *xprt;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
-
- if (cd->strm_stat == XPRT_DIED)
- return (XPRT_DIED);
- if (!xdrrec_eof(&(cd->xdrs)))
- return (XPRT_MOREREQS);
- return (XPRT_IDLE);
-}
-
-static bool_t svctcp_recv(xprt, msg)
-SVCXPRT *xprt;
-register struct rpc_msg *msg;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
- register XDR *xdrs = &(cd->xdrs);
-
- xdrs->x_op = XDR_DECODE;
- (void) xdrrec_skiprecord(xdrs);
- if (xdr_callmsg(xdrs, msg)) {
- cd->x_id = msg->rm_xid;
- return (TRUE);
- }
- return (FALSE);
-}
-
-static bool_t svctcp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
-
- return ((*xdr_args)
- (&(((struct tcp_conn *) (xprt->xp_p1))->xdrs), args_ptr));
-}
-
-static bool_t svctcp_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
- register XDR *xdrs = &(((struct tcp_conn *) (xprt->xp_p1))->xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static bool_t svctcp_reply(xprt, msg)
-SVCXPRT *xprt;
-register struct rpc_msg *msg;
-{
- register struct tcp_conn *cd = (struct tcp_conn *) (xprt->xp_p1);
- register XDR *xdrs = &(cd->xdrs);
- register bool_t stat;
-
- xdrs->x_op = XDR_ENCODE;
- msg->rm_xid = cd->x_id;
- stat = xdr_replymsg(xdrs, msg);
- (void) xdrrec_endofrecord(xdrs, TRUE);
- return (stat);
-}
-
-static struct xp_ops svctcp_op = {
- svctcp_recv,
- svctcp_stat,
- svctcp_getargs,
- svctcp_reply,
- svctcp_freeargs,
- svctcp_destroy
-};
-
diff --git a/mdk-stage1/dietlibc/librpc/svc_udp.c b/mdk-stage1/dietlibc/librpc/svc_udp.c
deleted file mode 100644
index af22f289f..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_udp.c
+++ /dev/null
@@ -1,467 +0,0 @@
-/* @(#)svc_udp.c 2.2 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_udp.c,
- * Server side for UDP/IP based RPC. (Does some caching in the hopes of
- * achieving execute-at-most-once semantics.)
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <rpc/rpc.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietfeatures.h"
-
-#define rpc_buffer(xprt) ((xprt)->xp_p1)
-
-static bool_t svcudp_recv();
-static bool_t svcudp_reply();
-static enum xprt_stat svcudp_stat();
-static bool_t svcudp_getargs();
-static bool_t svcudp_freeargs();
-static void svcudp_destroy();
-
-static struct xp_ops svcudp_op;
-
-/*
- * kept in xprt->xp_p2
- */
-struct svcudp_data {
- unsigned int su_iosz; /* byte size of send.recv buffer */
- unsigned long su_xid; /* transaction id */
- XDR su_xdrs; /* XDR handle */
- char su_verfbody[MAX_AUTH_BYTES]; /* verifier body */
- char *su_cache; /* cached data, NULL if no cache */
-};
-
-#define su_data(xprt) ((struct svcudp_data *)(xprt->xp_p2))
-
-static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, unsigned long* replylenp);
-static void cache_set(SVCXPRT* xprt, unsigned long replylen);
-
-/*
- * Usage:
- * xprt = svcudp_create(sock);
- *
- * If sock<0 then a socket is created, else sock is used.
- * If the socket, sock is not bound to a port then svcudp_create
- * binds it to an arbitrary port. In any (successful) case,
- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
- * associated port number.
- * Once *xprt is initialized, it is registered as a transporter;
- * see (svc.h, xprt_register).
- * The routines returns NULL if a problem occurred.
- */
-SVCXPRT *svcudp_bufcreate(sock, sendsz, recvsz)
-register int sock;
-unsigned int sendsz, recvsz;
-{
- bool_t madesock = FALSE;
- register SVCXPRT *xprt;
- register struct svcudp_data *su;
- struct sockaddr_in addr;
- int len = sizeof(struct sockaddr_in);
-
- if (sock == RPC_ANYSOCK) {
- if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- perror("svcudp_create: socket creation problem");
- return ((SVCXPRT *) NULL);
- }
- madesock = TRUE;
- }
- memset((char *) &addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- if (bindresvport(sock, &addr)) {
- addr.sin_port = 0;
- (void) bind(sock, (struct sockaddr *) &addr, len);
- }
- if (getsockname(sock, (struct sockaddr *) &addr, &len) != 0) {
- perror("svcudp_create - cannot getsockname");
- if (madesock)
- (void) close(sock);
- return ((SVCXPRT *) NULL);
- }
- xprt = (SVCXPRT *) mem_alloc(sizeof(SVCXPRT));
- if (xprt == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- su = (struct svcudp_data *) mem_alloc(sizeof(*su));
- if (su == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- su->su_iosz = ((MAX(sendsz, recvsz) + 3) / 4) * 4;
- if ((rpc_buffer(xprt) = mem_alloc(su->su_iosz)) == NULL) {
- (void) fprintf(stderr, "svcudp_create: out of memory\n");
- return (NULL);
- }
- xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz,
- XDR_DECODE);
- su->su_cache = NULL;
- xprt->xp_p2 = (char*) su;
- xprt->xp_verf.oa_base = su->su_verfbody;
- xprt->xp_ops = &svcudp_op;
- xprt->xp_port = ntohs(addr.sin_port);
- xprt->xp_sock = sock;
- xprt_register(xprt);
- return (xprt);
-}
-
-SVCXPRT *svcudp_create(sock)
-int sock;
-{
-
- return (svcudp_bufcreate(sock, UDPMSGSIZE, UDPMSGSIZE));
-}
-
-static enum xprt_stat svcudp_stat(xprt)
-SVCXPRT *xprt;
-{
-
- return (XPRT_IDLE);
-}
-
-static bool_t svcudp_recv(xprt, msg)
-register SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcudp_data *su = su_data(xprt);
- register XDR *xdrs = &(su->su_xdrs);
- register int rlen;
- char *reply;
- unsigned long replylen;
-
- again:
- xprt->xp_addrlen = sizeof(struct sockaddr_in);
-
- rlen = recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz,
- 0, (struct sockaddr *) &(xprt->xp_raddr),
- &(xprt->xp_addrlen));
- if (rlen == -1 && errno == EINTR)
- goto again;
- if (rlen < 4 * sizeof(unsigned long))
- return (FALSE);
- xdrs->x_op = XDR_DECODE;
- XDR_SETPOS(xdrs, 0);
- if (!xdr_callmsg(xdrs, msg))
- return (FALSE);
- su->su_xid = msg->rm_xid;
- if (su->su_cache != NULL) {
- if (cache_get(xprt, msg, &reply, &replylen)) {
- (void) sendto(xprt->xp_sock, reply, (int) replylen, 0,
- (struct sockaddr *) &xprt->xp_raddr,
- xprt->xp_addrlen);
- return (TRUE);
- }
- }
- return (TRUE);
-}
-
-static bool_t svcudp_reply(xprt, msg)
-register SVCXPRT *xprt;
-struct rpc_msg *msg;
-{
- register struct svcudp_data *su = su_data(xprt);
- register XDR *xdrs = &(su->su_xdrs);
- register int slen;
- register bool_t stat = FALSE;
-
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- msg->rm_xid = su->su_xid;
- if (xdr_replymsg(xdrs, msg)) {
- slen = (int) XDR_GETPOS(xdrs);
- if (sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0,
- (struct sockaddr *) &(xprt->xp_raddr), xprt->xp_addrlen)
- == slen) {
- stat = TRUE;
- if (su->su_cache && slen >= 0) {
- cache_set(xprt, (unsigned long) slen);
- }
- }
- }
- return (stat);
-}
-
-static bool_t svcudp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
-
- return ((*xdr_args) (&(su_data(xprt)->su_xdrs), args_ptr));
-}
-
-static bool_t svcudp_freeargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-char* args_ptr;
-{
- register XDR *xdrs = &(su_data(xprt)->su_xdrs);
-
- xdrs->x_op = XDR_FREE;
- return ((*xdr_args) (xdrs, args_ptr));
-}
-
-static void svcudp_destroy(xprt)
-register SVCXPRT *xprt;
-{
- register struct svcudp_data *su = su_data(xprt);
-
- xprt_unregister(xprt);
- (void) close(xprt->xp_sock);
- XDR_DESTROY(&(su->su_xdrs));
- mem_free(rpc_buffer(xprt), su->su_iosz);
- mem_free((char*) su, sizeof(struct svcudp_data));
-
- mem_free((char*) xprt, sizeof(SVCXPRT));
-}
-
-
-/***********this could be a separate file*********************/
-
-/*
- * Fifo cache for udp server
- * Copies pointers to reply buffers into fifo cache
- * Buffers are sent again if retransmissions are detected.
- */
-
-#define SPARSENESS 4 /* 75% sparse */
-
-#define CACHE_PERROR(msg) \
- (void) fprintf(stderr,"%s\n", msg)
-
-#define ALLOC(type, size) \
- (type *) mem_alloc((unsigned) (sizeof(type) * (size)))
-
-#define BZERO(addr, type, size) \
- memset((char *) addr, 0, sizeof(type) * (int) (size))
-
-/*
- * An entry in the cache
- */
-typedef struct cache_node *cache_ptr;
-struct cache_node {
- /*
- * Index into cache is xid, proc, vers, prog and address
- */
- unsigned long cache_xid;
- unsigned long cache_proc;
- unsigned long cache_vers;
- unsigned long cache_prog;
- struct sockaddr_in cache_addr;
- /*
- * The cached reply and length
- */
- char *cache_reply;
- unsigned long cache_replylen;
- /*
- * Next node on the list, if there is a collision
- */
- cache_ptr cache_next;
-};
-
-
-
-/*
- * The entire cache
- */
-struct udp_cache {
- unsigned long uc_size; /* size of cache */
- cache_ptr *uc_entries; /* hash table of entries in cache */
- cache_ptr *uc_fifo; /* fifo list of entries in cache */
- unsigned long uc_nextvictim; /* points to next victim in fifo list */
- unsigned long uc_prog; /* saved program number */
- unsigned long uc_vers; /* saved version number */
- unsigned long uc_proc; /* saved procedure number */
- struct sockaddr_in uc_addr; /* saved caller's address */
-};
-
-
-/*
- * the hashing function
- */
-#define CACHE_LOC(transp, xid) \
- (xid % (SPARSENESS*((struct udp_cache *) su_data(transp)->su_cache)->uc_size))
-
-
-/*
- * Enable use of the cache.
- * Note: there is no disable.
- */
-int svcudp_enablecache(SVCXPRT* transp, unsigned long size)
-{
- struct svcudp_data *su = su_data(transp);
- struct udp_cache *uc;
-
- if (su->su_cache != NULL) {
- CACHE_PERROR("enablecache: cache already enabled");
- return (0);
- }
- uc = ALLOC(struct udp_cache, 1);
- if (uc == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache");
- return (0);
- }
- uc->uc_size = size;
- uc->uc_nextvictim = 0;
- uc->uc_entries = ALLOC(cache_ptr, size * SPARSENESS);
- if (uc->uc_entries == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache data");
- return (0);
- }
- BZERO(uc->uc_entries, cache_ptr, size * SPARSENESS);
- uc->uc_fifo = ALLOC(cache_ptr, size);
- if (uc->uc_fifo == NULL) {
- CACHE_PERROR("enablecache: could not allocate cache fifo");
- return (0);
- }
- BZERO(uc->uc_fifo, cache_ptr, size);
- su->su_cache = (char *) uc;
- return (1);
-}
-
-
-/*
- * Set an entry in the cache
- */
-static void cache_set(SVCXPRT* xprt, unsigned long replylen)
-{
- register cache_ptr victim;
- register cache_ptr *vicp;
- register struct svcudp_data *su = su_data(xprt);
- struct udp_cache *uc = (struct udp_cache *) su->su_cache;
- unsigned int loc;
- char *newbuf;
-
- /*
- * Find space for the new entry, either by
- * reusing an old entry, or by mallocing a new one
- */
- victim = uc->uc_fifo[uc->uc_nextvictim];
- if (victim != NULL) {
- loc = CACHE_LOC(xprt, victim->cache_xid);
- for (vicp = &uc->uc_entries[loc];
- *vicp != NULL && *vicp != victim;
- vicp = &(*vicp)->cache_next);
- if (*vicp == NULL) {
- CACHE_PERROR("cache_set: victim not found");
- return;
- }
- *vicp = victim->cache_next; /* remote from cache */
- newbuf = victim->cache_reply;
- } else {
- victim = ALLOC(struct cache_node, 1);
-
- if (victim == NULL) {
- CACHE_PERROR("cache_set: victim alloc failed");
- return;
- }
- newbuf = mem_alloc(su->su_iosz);
- if (newbuf == NULL) {
- CACHE_PERROR("cache_set: could not allocate new rpc_buffer");
- return;
- }
- }
-
- /*
- * Store it away
- */
- victim->cache_replylen = replylen;
- victim->cache_reply = rpc_buffer(xprt);
- rpc_buffer(xprt) = newbuf;
- xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz,
- XDR_ENCODE);
- victim->cache_xid = su->su_xid;
- victim->cache_proc = uc->uc_proc;
- victim->cache_vers = uc->uc_vers;
- victim->cache_prog = uc->uc_prog;
- victim->cache_addr = uc->uc_addr;
- loc = CACHE_LOC(xprt, victim->cache_xid);
- victim->cache_next = uc->uc_entries[loc];
- uc->uc_entries[loc] = victim;
- uc->uc_fifo[uc->uc_nextvictim++] = victim;
- uc->uc_nextvictim %= uc->uc_size;
-}
-
-/*
- * Try to get an entry from the cache
- * return 1 if found, 0 if not found
- */
-static int cache_get(SVCXPRT* xprt, struct rpc_msg* msg, char** replyp, unsigned long* replylenp)
-{
- unsigned int loc;
- register cache_ptr ent;
- register struct svcudp_data *su = su_data(xprt);
- register struct udp_cache *uc = (struct udp_cache *) su->su_cache;
-
-# define EQADDR(a1, a2) (memcmp((char*)&a1, (char*)&a2, sizeof(a1)) == 0)
-
- loc = CACHE_LOC(xprt, su->su_xid);
- for (ent = uc->uc_entries[loc]; ent != NULL; ent = ent->cache_next) {
- if (ent->cache_xid == su->su_xid &&
- ent->cache_proc == uc->uc_proc &&
- ent->cache_vers == uc->uc_vers &&
- ent->cache_prog == uc->uc_prog &&
- EQADDR(ent->cache_addr, uc->uc_addr)) {
- *replyp = ent->cache_reply;
- *replylenp = ent->cache_replylen;
- return (1);
- }
- }
- /*
- * Failed to find entry
- * Remember a few things so we can do a set later
- */
- uc->uc_proc = msg->rm_call.cb_proc;
- uc->uc_vers = msg->rm_call.cb_vers;
- uc->uc_prog = msg->rm_call.cb_prog;
- uc->uc_addr = xprt->xp_raddr;
- return (0);
-}
-
-static struct xp_ops svcudp_op = {
- svcudp_recv,
- svcudp_stat,
- svcudp_getargs,
- svcudp_reply,
- svcudp_freeargs,
- svcudp_destroy
-};
-
diff --git a/mdk-stage1/dietlibc/librpc/xdr.c b/mdk-stage1/dietlibc/librpc/xdr.c
deleted file mode 100644
index 8849dde7a..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr.c
+++ /dev/null
@@ -1,576 +0,0 @@
-/* @(#)xdr.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr.c 1.35 87/08/12";
-#endif
-
-/*
- * xdr.c, Generic XDR routines implementation.
- *
- * Copyright (C) 1986, Sun Microsystems, Inc.
- *
- * These are the "generic" xdr routines used to serialize and de-serialize
- * most common data items. See xdr.h for more info on the interface to
- * xdr.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-/*
- * constants specific to the xdr "protocol"
- */
-#define XDR_FALSE ((long) 0)
-#define XDR_TRUE ((long) 1)
-#define LASTUNSIGNED ((unsigned int) 0-1)
-
-/*
- * for unit alignment
- */
-static char xdr_zero[BYTES_PER_XDR_UNIT] = { 0, 0, 0, 0 };
-
-/*
- * Free a data structure using XDR
- * Not a filter, but a convenient utility nonetheless
- */
-void xdr_free(xdrproc_t proc, char* objp)
-{
- XDR x;
-
- x.x_op = XDR_FREE;
- (*proc) (&x, objp);
-}
-
-/*
- * XDR nothing
- */
-bool_t xdr_void( /* xdrs, addr */ )
- /* XDR *xdrs; */
- /* char* addr; */
-{
-
- return (TRUE);
-}
-
-/*
- * XDR integers
- */
-bool_t xdr_int(XDR* xdrs, int* ip)
-{
- if (sizeof(int) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ip));
- } else if (sizeof(int) < sizeof(long)) {
- long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = (long) *ip;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *ip = (int) l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else {
- return (xdr_short(xdrs, (short *) ip));
- }
-}
-
-/*
- * XDR unsigned integers
- */
-bool_t xdr_u_int(XDR* xdrs, unsigned int* up)
-{
- if (sizeof(unsigned int) == sizeof(unsigned long)) {
- return (xdr_u_long(xdrs, (unsigned long *) up));
- } else if (sizeof(unsigned int) < sizeof(unsigned long)) {
- unsigned long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = (unsigned long) *up;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *up = (unsigned int) l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else {
- return (xdr_short(xdrs, (short *) up));
- }
-}
-
-/*
- * XDR long integers
- * same as xdr_u_long - open coded to save a proc call!
- */
-bool_t xdr_long(XDR* xdrs, long* lp)
-{
-
- if (xdrs->x_op == XDR_ENCODE
- && (sizeof(int32_t) == sizeof(long)
- || (int32_t) *lp == *lp))
- return (XDR_PUTLONG(xdrs, lp));
-
- if (xdrs->x_op == XDR_DECODE)
- return (XDR_GETLONG(xdrs, lp));
-
- if (xdrs->x_op == XDR_FREE)
- return (TRUE);
-
- return (FALSE);
-}
-
-/*
- * XDR unsigned long integers
- * same as xdr_long - open coded to save a proc call!
- */
-bool_t xdr_u_long(XDR* xdrs, unsigned long* ulp)
-{
-
- if (xdrs->x_op == XDR_DECODE) {
- long l;
- if (XDR_GETLONG(xdrs, &l) == FALSE)
- return FALSE;
- *ulp = (uint32_t) l;
- return TRUE;
- }
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (sizeof(uint32_t) != sizeof(unsigned long)
- && (uint32_t) *ulp != *ulp)
- return FALSE;
-
- return (XDR_PUTLONG(xdrs, (long *) ulp));
- }
-
- if (xdrs->x_op == XDR_FREE)
- return (TRUE);
-
- return (FALSE);
-}
-
-/*
- * XDR short integers
- */
-bool_t xdr_short(XDR* xdrs, short* sp)
-{
- long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (long) *sp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *sp = (short) l;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR unsigned short integers
- */
-bool_t xdr_u_short(XDR* xdrs, unsigned short* usp)
-{
- unsigned long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (unsigned long) * usp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *usp = (unsigned short) l;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-
-/*
- * XDR a char
- */
-bool_t xdr_char(XDR* xdrs, char* cp)
-{
- int i;
-
- i = (*cp);
- if (!xdr_int(xdrs, &i)) {
- return (FALSE);
- }
- *cp = i;
- return (TRUE);
-}
-
-/*
- * XDR an unsigned char
- */
-bool_t xdr_u_char(XDR* xdrs, unsigned char* cp)
-{
- unsigned int u;
-
- u = (*cp);
- if (!xdr_u_int(xdrs, &u)) {
- return (FALSE);
- }
- *cp = u;
- return (TRUE);
-}
-
-/*
- * XDR booleans
- */
-bool_t xdr_bool(xdrs, bp)
-register XDR *xdrs;
-bool_t *bp;
-{
- long lb;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- lb = *bp ? XDR_TRUE : XDR_FALSE;
- return (XDR_PUTLONG(xdrs, &lb));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &lb)) {
- return (FALSE);
- }
- *bp = (lb == XDR_FALSE) ? FALSE : TRUE;
- return (TRUE);
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * XDR enumerations
- */
-bool_t xdr_enum(xdrs, ep)
-XDR *xdrs;
-enum_t *ep;
-{
- enum sizecheck { SIZEVAL }; /* used to find the size of an enum */
-
- /*
- * enums are treated as ints
- */
- if (sizeof(enum sizecheck) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ep));
- } else if (sizeof(enum sizecheck) == sizeof(int)) {
- long l;
- switch (xdrs->x_op) {
- case XDR_ENCODE:
- l = *ep;
- return XDR_PUTLONG(xdrs, &l);
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l))
- return FALSE;
- *ep = l;
- case XDR_FREE:
- return TRUE;
- }
- return FALSE;
- } else if (sizeof(enum sizecheck) == sizeof(short)) {
- return (xdr_short(xdrs, (short *) ep));
- } else {
- return (FALSE);
- }
-}
-
-/*
- * XDR opaque data
- * Allows the specification of a fixed size sequence of opaque bytes.
- * cp points to the opaque object and cnt gives the byte length.
- */
-bool_t xdr_opaque(xdrs, cp, cnt)
-register XDR *xdrs;
-char* cp;
-register unsigned int cnt;
-{
- register unsigned int rndup;
- static char crud[BYTES_PER_XDR_UNIT];
-
- /*
- * if no data we are done
- */
- if (cnt == 0)
- return (TRUE);
-
- /*
- * round byte count to full xdr units
- */
- rndup = cnt % BYTES_PER_XDR_UNIT;
- if (rndup > 0)
- rndup = BYTES_PER_XDR_UNIT - rndup;
-
- if (xdrs->x_op == XDR_DECODE) {
- if (!XDR_GETBYTES(xdrs, cp, cnt)) {
- return (FALSE);
- }
- if (rndup == 0)
- return (TRUE);
- return (XDR_GETBYTES(xdrs, crud, rndup));
- }
-
- if (xdrs->x_op == XDR_ENCODE) {
- if (!XDR_PUTBYTES(xdrs, cp, cnt)) {
- return (FALSE);
- }
- if (rndup == 0)
- return (TRUE);
- return (XDR_PUTBYTES(xdrs, xdr_zero, rndup));
- }
-
- if (xdrs->x_op == XDR_FREE) {
- return (TRUE);
- }
-
- return (FALSE);
-}
-
-/*
- * XDR counted bytes
- * *cpp is a pointer to the bytes, *sizep is the count.
- * If *cpp is NULL maxsize bytes are allocated
- */
-bool_t xdr_bytes(xdrs, cpp, sizep, maxsize)
-register XDR *xdrs;
-char **cpp;
-register unsigned int *sizep;
-unsigned int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- register unsigned int nodesize;
-
- /*
- * first deal with the length since xdr bytes are counted
- */
- if (!xdr_u_int(xdrs, sizep)) {
- return (FALSE);
- }
- nodesize = *sizep;
- if ((nodesize > maxsize) && (xdrs->x_op != XDR_FREE)) {
- return (FALSE);
- }
-
- /*
- * now deal with the actual bytes
- */
- switch (xdrs->x_op) {
-
- case XDR_DECODE:
- if (nodesize == 0) {
- return (TRUE);
- }
- if (sp == NULL) {
- *cpp = sp = (char *) mem_alloc(nodesize);
- }
- if (sp == NULL) {
- (void) fprintf(stderr, "xdr_bytes: out of memory\n");
- return (FALSE);
- }
- /* fall into ... */
-
- case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, nodesize));
-
- case XDR_FREE:
- if (sp != NULL) {
- mem_free(sp, nodesize);
- *cpp = NULL;
- }
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * Implemented here due to commonality of the object.
- */
-bool_t xdr_netobj(xdrs, np)
-XDR *xdrs;
-struct netobj *np;
-{
-
- return (xdr_bytes(xdrs, &np->n_bytes, &np->n_len, MAX_NETOBJ_SZ));
-}
-
-/*
- * XDR a descriminated union
- * Support routine for discriminated unions.
- * You create an array of xdrdiscrim structures, terminated with
- * an entry with a null procedure pointer. The routine gets
- * the discriminant value and then searches the array of xdrdiscrims
- * looking for that value. It calls the procedure given in the xdrdiscrim
- * to handle the discriminant. If there is no specific routine a default
- * routine may be called.
- * If there is no specific or default routine an error is returned.
- */
-bool_t xdr_union(XDR* xdrs, enum_t* dscmp, char* unp, const struct xdr_discrim* choices, xdrproc_t dfault)
-{
- register enum_t dscm;
-
- /*
- * we deal with the discriminator; it's an enum
- */
- if (!xdr_enum(xdrs, dscmp)) {
- return (FALSE);
- }
- dscm = *dscmp;
-
- /*
- * search choices for a value that matches the discriminator.
- * if we find one, execute the xdr routine for that value.
- */
- for (; choices->proc != NULL_xdrproc_t; choices++) {
- if (choices->value == dscm)
- return ((*(choices->proc)) (xdrs, unp, LASTUNSIGNED));
- }
-
- /*
- * no match - execute the default xdr routine if there is one
- */
- return ((dfault == NULL_xdrproc_t) ? FALSE :
- (*dfault) (xdrs, unp, LASTUNSIGNED));
-}
-
-
-/*
- * Non-portable xdr primitives.
- * Care should be taken when moving these routines to new architectures.
- */
-
-
-/*
- * XDR null terminated ASCII strings
- * xdr_string deals with "C strings" - arrays of bytes that are
- * terminated by a NULL character. The parameter cpp references a
- * pointer to storage; If the pointer is null, then the necessary
- * storage is allocated. The last parameter is the max allowed length
- * of the string as specified by a protocol.
- */
-bool_t xdr_string(xdrs, cpp, maxsize)
-register XDR *xdrs;
-char **cpp;
-unsigned int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- unsigned int size;
- unsigned int nodesize;
-
- /*
- * first deal with the length since xdr strings are counted-strings
- */
- switch (xdrs->x_op) {
- case XDR_FREE:
- if (sp == NULL) {
- return (TRUE); /* already free */
- }
- /* fall through... */
- case XDR_ENCODE:
- size = strlen(sp);
- break;
- }
- if (!xdr_u_int(xdrs, &size)) {
- return (FALSE);
- }
- if (size > maxsize) {
- return (FALSE);
- }
- nodesize = size + 1;
-
- /*
- * now deal with the actual bytes
- */
- switch (xdrs->x_op) {
-
- case XDR_DECODE:
- if (nodesize == 0) {
- return (TRUE);
- }
- if (sp == NULL)
- *cpp = sp = (char *) mem_alloc(nodesize);
- if (sp == NULL) {
- (void) fprintf(stderr, "xdr_string: out of memory\n");
- return (FALSE);
- }
- sp[size] = 0;
- /* fall into ... */
-
- case XDR_ENCODE:
- return (xdr_opaque(xdrs, sp, size));
-
- case XDR_FREE:
- mem_free(sp, nodesize);
- *cpp = NULL;
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * Wrapper for xdr_string that can be called directly from
- * routines like clnt_call
- */
-bool_t xdr_wrapstring(xdrs, cpp)
-XDR *xdrs;
-char **cpp;
-{
- if (xdr_string(xdrs, cpp, LASTUNSIGNED)) {
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_array.c b/mdk-stage1/dietlibc/librpc/xdr_array.c
deleted file mode 100644
index f0c9bbbb3..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_array.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* @(#)xdr_array.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_array.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These are the "non-trivial" xdr primitives used to serialize and de-serialize
- * arrays. See xdr.h for more info on the interface to xdr.
- */
-
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-#define LASTUNSIGNED ((unsigned int)0-1)
-
-
-/*
- * XDR an array of arbitrary elements
- * *addrp is a pointer to the array, *sizep is the number of elements.
- * If addrp is NULL (*sizep * elsize) bytes are allocated.
- * elsize is the size (in bytes) of each element, and elproc is the
- * xdr procedure to call to handle each element of the array.
- */
-bool_t xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc)
-register XDR *xdrs;
-char* *addrp; /* array pointer */
-unsigned int *sizep; /* number of elements */
-unsigned int maxsize; /* max numberof elements */
-unsigned int elsize; /* size in bytes of each element */
-xdrproc_t elproc; /* xdr routine to handle each element */
-{
- register unsigned int i;
- register char* target = *addrp;
- register unsigned int c; /* the actual element count */
- register bool_t stat = TRUE;
- register unsigned int nodesize;
-
- /* like strings, arrays are really counted arrays */
- if (!xdr_u_int(xdrs, sizep)) {
- return (FALSE);
- }
- c = *sizep;
- if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) {
- return (FALSE);
- }
- /* duh, look for integer overflow (fefe) */
- {
- unsigned int i;
- nodesize = 0;
- for (i=c; i; --i) {
- unsigned int tmp=nodesize+elsize;
- if (tmp<nodesize) /* overflow */
- return FALSE;
- nodesize=tmp;
- }
- }
-
- /*
- * if we are deserializing, we may need to allocate an array.
- * We also save time by checking for a null array if we are freeing.
- */
- if (target == NULL)
- switch (xdrs->x_op) {
- case XDR_DECODE:
- if (c == 0)
- return (TRUE);
- *addrp = target = mem_alloc(nodesize);
- if (target == NULL) {
- (void) fprintf(stderr, "xdr_array: out of memory\n");
- return (FALSE);
- }
- memset(target, 0, nodesize);
- break;
-
- case XDR_FREE:
- return (TRUE);
- }
-
- /*
- * now we xdr each element of array
- */
- for (i = 0; (i < c) && stat; i++) {
- stat = (*elproc) (xdrs, target, LASTUNSIGNED);
- target += elsize;
- }
-
- /*
- * the array may need freeing
- */
- if (xdrs->x_op == XDR_FREE) {
- mem_free(*addrp, nodesize);
- *addrp = NULL;
- }
- return (stat);
-}
-
-/*
- * xdr_vector():
- *
- * XDR a fixed length array. Unlike variable-length arrays,
- * the storage of fixed length arrays is static and unfreeable.
- * > basep: base of the array
- * > size: size of the array
- * > elemsize: size of each element
- * > xdr_elem: routine to XDR each element
- */
-bool_t xdr_vector(xdrs, basep, nelem, elemsize, xdr_elem)
-register XDR *xdrs;
-register char *basep;
-register unsigned int nelem;
-register unsigned int elemsize;
-register xdrproc_t xdr_elem;
-{
- register unsigned int i;
- register char *elptr;
-
- elptr = basep;
- for (i = 0; i < nelem; i++) {
- if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) {
- return (FALSE);
- }
- elptr += elemsize;
- }
- return (TRUE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_float.c b/mdk-stage1/dietlibc/librpc/xdr_float.c
deleted file mode 100644
index f8eb5e99c..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_float.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/* @(#)xdr_float.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_float.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These are the "floating point" xdr routines used to (de)serialize
- * most common data items. See xdr.h for more info on the interface to
- * xdr.
- */
-
-#include <stdio.h>
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-/*
- * NB: Not portable.
- * This routine works on Suns (Sky / 68000's) and Vaxen.
- */
-
-#ifdef __linux__
-/* cheat big time */
-#define sparc
-#endif
-
-#ifdef vax
-
-/* What IEEE single precision floating point looks like on a Vax */
-struct ieee_single {
- unsigned int mantissa:23;
- unsigned int exp:8;
- unsigned int sign:1;
-};
-
-/* Vax single precision floating point */
-struct vax_single {
- unsigned int mantissa1:7;
- unsigned int exp:8;
- unsigned int sign:1;
- unsigned int mantissa2:16;
-};
-
-#define VAX_SNG_BIAS 0x81
-#define IEEE_SNG_BIAS 0x7f
-
-static struct sgl_limits {
- struct vax_single s;
- struct ieee_single ieee;
-} sgl_limits[2] = {
- { {
- 0x7f, 0xff, 0x0, 0xffff}, /* Max Vax */
- {
- 0x0, 0xff, 0x0}}, /* Max IEEE */
- { {
- 0x0, 0x0, 0x0, 0x0}, /* Min Vax */
- {
- 0x0, 0x0, 0x0}} /* Min IEEE */
-};
-#endif /* vax */
-
-bool_t xdr_float(xdrs, fp)
-register XDR *xdrs;
-register float *fp;
-{
-#if !defined(mc68000) && !defined(sparc)
- struct ieee_single is;
- struct vax_single vs, *vsp;
- struct sgl_limits *lim;
- int i;
-#endif
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
-#if defined(mc68000) || defined(sparc)
- return (XDR_PUTLONG(xdrs, (long *) fp));
-#else
- vs = *((struct vax_single *) fp);
- for (i = 0, lim = sgl_limits;
-
- i < sizeof(sgl_limits) / sizeof(struct sgl_limits);
- i++, lim++) {
- if ((vs.mantissa2 == lim->s.mantissa2) &&
- (vs.exp == lim->s.exp) &&
- (vs.mantissa1 == lim->s.mantissa1)) {
- is = lim->ieee;
- goto shipit;
- }
- }
- is.exp = vs.exp - VAX_SNG_BIAS + IEEE_SNG_BIAS;
- is.mantissa = (vs.mantissa1 << 16) | vs.mantissa2;
- shipit:
- is.sign = vs.sign;
- return (XDR_PUTLONG(xdrs, (long *) &is));
-#endif
-
- case XDR_DECODE:
-#if defined(mc68000) || defined(sparc)
- return (XDR_GETLONG(xdrs, (long *) fp));
-#else
- vsp = (struct vax_single *) fp;
- if (!XDR_GETLONG(xdrs, (long *) &is))
- return (FALSE);
- for (i = 0, lim = sgl_limits;
-
- i < sizeof(sgl_limits) / sizeof(struct sgl_limits);
- i++, lim++) {
- if ((is.exp == lim->ieee.exp) &&
- (is.mantissa == lim->ieee.mantissa)) {
- *vsp = lim->s;
- goto doneit;
- }
- }
- vsp->exp = is.exp - IEEE_SNG_BIAS + VAX_SNG_BIAS;
- vsp->mantissa2 = is.mantissa;
- vsp->mantissa1 = (is.mantissa >> 16);
- doneit:
- vsp->sign = is.sign;
- return (TRUE);
-#endif
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
-
-/*
- * This routine works on Suns (Sky / 68000's) and Vaxen.
- */
-
-#ifdef vax
-/* What IEEE double precision floating point looks like on a Vax */
-struct ieee_double {
- unsigned int mantissa1:20;
- unsigned int exp:11;
- unsigned int sign:1;
- unsigned int mantissa2:32;
-};
-
-/* Vax double precision floating point */
-struct vax_double {
- unsigned int mantissa1:7;
- unsigned int exp:8;
- unsigned int sign:1;
- unsigned int mantissa2:16;
- unsigned int mantissa3:16;
- unsigned int mantissa4:16;
-};
-
-#define VAX_DBL_BIAS 0x81
-#define IEEE_DBL_BIAS 0x3ff
-#define MASK(nbits) ((1 << nbits) - 1)
-
-static struct dbl_limits {
- struct vax_double d;
- struct ieee_double ieee;
-} dbl_limits[2] = {
- { {
- 0x7f, 0xff, 0x0, 0xffff, 0xffff, 0xffff}, /* Max Vax */
- {
- 0x0, 0x7ff, 0x0, 0x0}}, /* Max IEEE */
- { {
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* Min Vax */
- {
- 0x0, 0x0, 0x0, 0x0}} /* Min IEEE */
-};
-
-#endif /* vax */
-
-
-bool_t xdr_double(xdrs, dp)
-register XDR *xdrs;
-double *dp;
-{
- register long *lp;
-
-#if !defined(mc68000) && !defined(sparc)
- struct ieee_double id;
- struct vax_double vd;
- register struct dbl_limits *lim;
- int i;
-#endif
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
-#if defined(mc68000) || defined(sparc)
- lp = (long *) dp;
-#else
- vd = *((struct vax_double *) dp);
- for (i = 0, lim = dbl_limits;
-
- i < sizeof(dbl_limits) / sizeof(struct dbl_limits);
- i++, lim++) {
- if ((vd.mantissa4 == lim->d.mantissa4) &&
- (vd.mantissa3 == lim->d.mantissa3) &&
- (vd.mantissa2 == lim->d.mantissa2) &&
- (vd.mantissa1 == lim->d.mantissa1) &&
- (vd.exp == lim->d.exp)) {
- id = lim->ieee;
- goto shipit;
- }
- }
- id.exp = vd.exp - VAX_DBL_BIAS + IEEE_DBL_BIAS;
- id.mantissa1 = (vd.mantissa1 << 13) | (vd.mantissa2 >> 3);
- id.mantissa2 = ((vd.mantissa2 & MASK(3)) << 29) |
- (vd.mantissa3 << 13) | ((vd.mantissa4 >> 3) & MASK(13));
- shipit:
- id.sign = vd.sign;
- lp = (long *) &id;
-#endif
- return (XDR_PUTLONG(xdrs, lp++) && XDR_PUTLONG(xdrs, lp));
-
- case XDR_DECODE:
-#if defined(mc68000) || defined(sparc)
- lp = (long *) dp;
- return (XDR_GETLONG(xdrs, lp++) && XDR_GETLONG(xdrs, lp));
-#else
- lp = (long *) &id;
- if (!XDR_GETLONG(xdrs, lp++) || !XDR_GETLONG(xdrs, lp))
- return (FALSE);
- for (i = 0, lim = dbl_limits;
-
- i < sizeof(dbl_limits) / sizeof(struct dbl_limits);
- i++, lim++) {
- if ((id.mantissa2 == lim->ieee.mantissa2) &&
- (id.mantissa1 == lim->ieee.mantissa1) &&
- (id.exp == lim->ieee.exp)) {
- vd = lim->d;
- goto doneit;
- }
- }
- vd.exp = id.exp - IEEE_DBL_BIAS + VAX_DBL_BIAS;
- vd.mantissa1 = (id.mantissa1 >> 13);
- vd.mantissa2 = ((id.mantissa1 & MASK(13)) << 3) |
- (id.mantissa2 >> 29);
- vd.mantissa3 = (id.mantissa2 >> 13);
- vd.mantissa4 = (id.mantissa2 << 3);
- doneit:
- vd.sign = id.sign;
- *dp = *((double *) &vd);
- return (TRUE);
-#endif
-
- case XDR_FREE:
- return (TRUE);
- }
- return (FALSE);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_mem.c b/mdk-stage1/dietlibc/librpc/xdr_mem.c
deleted file mode 100644
index c21121183..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_mem.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/* @(#)xdr_mem.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_mem.h, XDR implementation using memory buffers.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * If you have some data to be interpreted as external data representation
- * or to be converted to external data representation in a memory buffer,
- * then this is the package for you.
- *
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <limits.h>
-
-static bool_t xdrmem_getlong (XDR *, long *);
-static bool_t xdrmem_putlong (XDR *, const long *);
-static bool_t xdrmem_getbytes (XDR *, char *, unsigned int);
-static bool_t xdrmem_putbytes (XDR *, const char *, unsigned int);
-static unsigned int xdrmem_getpos (const XDR *);
-static bool_t xdrmem_setpos (XDR *, unsigned int);
-static int32_t *xdrmem_inline (XDR *, unsigned int);
-static void xdrmem_destroy (XDR *);
-
-static struct xdr_ops xdrmem_ops = {
- xdrmem_getlong,
- xdrmem_putlong,
- xdrmem_getbytes,
- xdrmem_putbytes,
- xdrmem_getpos,
- xdrmem_setpos,
- xdrmem_inline,
- xdrmem_destroy
-};
-
-
-/*
- * The procedure xdrmem_create initializes a stream descriptor for a
- * memory buffer.
- */
-void
-xdrmem_create (XDR *xdrs, const char* addr, unsigned int size, enum xdr_op op)
-{
- xdrs->x_op = op;
- xdrs->x_ops = &xdrmem_ops;
- xdrs->x_private = xdrs->x_base = (char*)addr;
- xdrs->x_handy = size;
-}
-
-static void
-xdrmem_destroy (XDR *xdrs)
-{
-}
-
-static bool_t
-xdrmem_getlong (XDR *xdrs, long *lp)
-{
- if (xdrs->x_handy < 4) return FALSE;
- xdrs->x_handy -= 4;
-
- *lp = (int32_t) ntohl((*((int32_t *) (xdrs->x_private))));
- xdrs->x_private += 4;
- return TRUE;
-}
-
-static bool_t
-xdrmem_putlong (XDR *xdrs, const long *lp)
-{
- if (xdrs->x_handy < 4) return FALSE;
- xdrs->x_handy -= 4;
-
- *(int32_t *) xdrs->x_private = htonl(*lp);
- xdrs->x_private += 4;
- return (TRUE);
-}
-
-static bool_t
-xdrmem_getbytes (XDR *xdrs, char *addr, unsigned int len)
-{
- if (xdrs->x_handy < len) return FALSE;
- xdrs->x_handy -= len;
- memmove(addr, xdrs->x_private, len);
- xdrs->x_private += len;
- return TRUE;
-}
-
-static bool_t
-xdrmem_putbytes (XDR *xdrs, const char *addr, unsigned int len)
-{
- if (xdrs->x_handy < len) return FALSE;
- xdrs->x_handy -= len;
- memmove(xdrs->x_private, addr, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static unsigned int
-xdrmem_getpos (const XDR *xdrs)
-{
- return ((unsigned long) xdrs->x_private - (unsigned long) xdrs->x_base);
-}
-
-static bool_t xdrmem_setpos(xdrs, pos)
-register XDR *xdrs;
-unsigned int pos;
-{
- register char* newaddr = xdrs->x_base + pos;
- register char* lastaddr = xdrs->x_private + xdrs->x_handy;
-
- if ((long) newaddr > (long) lastaddr
- || (UINT_MAX < LONG_MAX
- && (long) UINT_MAX < (long) lastaddr - (long) newaddr))
- return (FALSE);
- xdrs->x_private = newaddr;
- xdrs->x_handy = (long) lastaddr - (long) newaddr;
- return (TRUE);
-}
-
-static int32_t *
-xdrmem_inline (XDR *xdrs, unsigned int len)
-{
- int32_t *buf = 0;
-
- if (xdrs->x_handy >= len) {
- xdrs->x_handy -= len;
- buf = (int32_t *) xdrs->x_private;
- xdrs->x_private += len;
- }
- return (buf);
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/xdr_rec.c b/mdk-stage1/dietlibc/librpc/xdr_rec.c
deleted file mode 100644
index ab0b6fd8d..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_rec.c
+++ /dev/null
@@ -1,572 +0,0 @@
-/* @(#)xdr_rec.c 2.2 88/08/01 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"
- * layer above tcp (for rpc's use).
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * These routines interface XDRSTREAMS to a tcp/ip connection.
- * There is a record marking layer between the xdr stream
- * and the tcp transport level. A record is composed on one or more
- * record fragments. A record fragment is a thirty-two bit header followed
- * by n bytes of data, where n is contained in the header. The header
- * is represented as a htonl(unsigned long). Thegh order bit encodes
- * whether or not the fragment is the last fragment of the record
- * (1 => fragment is last, 0 => more fragments to follow.
- * The other 31 bits encode the byte length of the fragment.
- */
-
-#include <stdio.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <unistd.h>
-
-static unsigned int fix_buf_size (unsigned int);
-
-static bool_t xdrrec_getlong (XDR *, long *);
-static bool_t xdrrec_putlong (XDR *, const long *);
-static bool_t xdrrec_getbytes (XDR *, char *, unsigned int);
-static bool_t xdrrec_putbytes (XDR *, const char *, unsigned int);
-static unsigned int xdrrec_getpos (const XDR *);
-static bool_t xdrrec_setpos (XDR *, unsigned int);
-static int32_t *xdrrec_inline (XDR *, unsigned int);
-static void xdrrec_destroy (XDR *);
-
-static struct xdr_ops xdrrec_ops = {
- xdrrec_getlong,
- xdrrec_putlong,
- xdrrec_getbytes,
- xdrrec_putbytes,
- xdrrec_getpos,
- xdrrec_setpos,
- xdrrec_inline,
- xdrrec_destroy
-};
-
-
-/*
- * A record is composed of one or more record fragments.
- * A record fragment is a two-byte header followed by zero to
- * 2**32-1 bytes. The header is treated as a long unsigned and is
- * encode/decoded to the network via htonl/ntohl. The low order 31 bits
- * are a byte count of the fragment. The highest order bit is a boolean:
- * 1 => this fragment is the last fragment of the record,
- * 0 => this fragment is followed by more fragment(s).
- *
- * The fragment/record machinery is not general; it is constructed to
- * meet the needs of xdr and rpc based on tcp.
- */
-
-#define LAST_FRAG ((unsigned long)(1 << 31))
-
-typedef struct rec_strm {
- char* tcp_handle;
- char* the_buffer;
- /*
- * out-goung bits
- */
- int (*writeit) (char *, char *, int);
- char* out_base; /* output buffer (points to frag header) */
- char* out_finger; /* next output position */
- char* out_boundry; /* data cannot up to this address */
- uint32_t *frag_header; /* beginning of curren fragment */
- bool_t frag_sent; /* true if buffer sent in middle of record */
- /*
- * in-coming bits
- */
- int (*readit) (char *, char *, int);
- unsigned long in_size; /* fixed size of the input buffer */
- char* in_base;
- char* in_finger; /* location of next byte to be had */
- char* in_boundry; /* can read up to this location */
- long fbtbc; /* fragment bytes to be consumed */
- bool_t last_frag;
- unsigned int sendsize;
- unsigned int recvsize;
-} RECSTREAM;
-
-
-/*
- * Create an xdr handle for xdrrec
- * xdrrec_create fills in xdrs. Sendsize and recvsize are
- * send and recv buffer sizes (0 => use default).
- * tcp_handle is an opaque handle that is passed as the first parameter to
- * the procedures readit and writeit. Readit and writeit are read and
- * write respectively. They are like the system
- * calls expect that they take an opaque handle rather than an fd.
- */
-void
-xdrrec_create (XDR *xdrs, unsigned int sendsize,
- unsigned int recvsize, char *tcp_handle,
- int (*readit) (char *, char *, int),
- int (*writeit) (char *, char *, int))
-{
- register RECSTREAM *rstrm = (RECSTREAM *) mem_alloc(sizeof(RECSTREAM));
-
- if (rstrm == NULL) {
- (void) fprintf(stderr, "xdrrec_create: out of memory\n");
- /*
- * This is bad. Should rework xdrrec_create to
- * return a handle, and in this case return NULL
- */
- return;
- }
- /*
- * adjust sizes and allocate buffer quad byte aligned
- */
- rstrm->sendsize = sendsize = fix_buf_size(sendsize);
- rstrm->recvsize = recvsize = fix_buf_size(recvsize);
- rstrm->the_buffer =
- mem_alloc(sendsize + recvsize + BYTES_PER_XDR_UNIT);
- if (rstrm->the_buffer == NULL) {
- (void) fprintf(stderr, "xdrrec_create: out of memory\n");
- return;
- }
- for (rstrm->out_base = rstrm->the_buffer;
- (unsigned long) rstrm->out_base % BYTES_PER_XDR_UNIT != 0;
- rstrm->out_base++);
- rstrm->in_base = rstrm->out_base + sendsize;
- /*
- * now the rest ...
- */
- xdrs->x_ops = &xdrrec_ops;
- xdrs->x_private = (char*) rstrm;
- rstrm->tcp_handle = tcp_handle;
- rstrm->readit = readit;
- rstrm->writeit = writeit;
- rstrm->out_finger = rstrm->out_boundry = rstrm->out_base;
- rstrm->frag_header = (uint32_t *) rstrm->out_base;
- rstrm->out_finger += 4;
- rstrm->out_boundry += sendsize;
- rstrm->frag_sent = FALSE;
- rstrm->in_size = recvsize;
- rstrm->in_boundry = rstrm->in_base;
- rstrm->in_finger = (rstrm->in_boundry += recvsize);
- rstrm->fbtbc = 0;
- rstrm->last_frag = TRUE;
-}
-
-
-/*
- * The reoutines defined below are the xdr ops which will go into the
- * xdr handle filled in by xdrrec_create.
- */
-
-static bool_t
-xdrrec_getlong (XDR *xdrs, long *lp)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int32_t *buflp = (int32_t *) (rstrm->in_finger);
- int32_t mylong;
-
- /* first try the inline, fast case */
- if ((rstrm->fbtbc >= BYTES_PER_XDR_UNIT) &&
- ((rstrm->in_boundry - (char *) buflp) >= BYTES_PER_XDR_UNIT)) {
- *lp = (int32_t) ntohl(*buflp);
- rstrm->fbtbc -= BYTES_PER_XDR_UNIT;
- rstrm->in_finger += BYTES_PER_XDR_UNIT;
- } else {
- if (!xdrrec_getbytes(xdrs, (char*) & mylong, BYTES_PER_XDR_UNIT))
- return (FALSE);
-
- *lp = (int32_t) ntohl(mylong);
- }
- return (TRUE);
-}
-
-/*
- * Internal useful routines
- */
-static bool_t flush_out(RECSTREAM* rstrm, bool_t eor)
-{
- register unsigned long eormask = (eor == TRUE) ? LAST_FRAG : 0;
- register unsigned long len = (rstrm->out_finger
- - (char *) rstrm->frag_header
- - BYTES_PER_XDR_UNIT);
-
- *(rstrm->frag_header) = htonl(len | eormask);
- len = rstrm->out_finger - rstrm->out_base;
- if ((*(rstrm->writeit)) (rstrm->tcp_handle, rstrm->out_base, (int) len)
- != (int) len)
- return (FALSE);
- rstrm->frag_header = (uint32_t *) rstrm->out_base;
- rstrm->out_finger = (char*) rstrm->out_base + BYTES_PER_XDR_UNIT;
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-fill_input_buf(rstrm)
-register RECSTREAM *rstrm;
-{
- register char* where;
- unsigned int i;
- register int len;
-
- where = rstrm->in_base;
- i = (unsigned long) rstrm->in_boundry % BYTES_PER_XDR_UNIT;
- where += i;
- len = rstrm->in_size - i;
- if ((len = (*(rstrm->readit)) (rstrm->tcp_handle, where, len)) == -1)
- return (FALSE);
- rstrm->in_finger = where;
- where += len;
- rstrm->in_boundry = where;
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-get_input_bytes(rstrm, addr, len)
-register RECSTREAM *rstrm;
-register char* addr;
-register int len;
-{
- register int current;
-
- while (len > 0) {
- current = rstrm->in_boundry - rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- memmove(addr, rstrm->in_finger, current);
- rstrm->in_finger += current;
- addr += current;
- len -= current;
- }
- return (TRUE);
-}
-
-static bool_t
-/* next two bytes of the input stream are treated as a header */
-set_input_fragment(rstrm)
-register RECSTREAM *rstrm;
-{
- uint32_t header;
-
- if (!get_input_bytes(rstrm, (char*) & header, sizeof(header)))
- return (FALSE);
- header = ntohl(header);
- rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE;
- /*
- * Sanity check. Try not to accept wildly incorrect fragment
- * sizes. Unfortunately, only a size of zero can be identified as
- * 'wildely incorrect', and this only, if it is not the last
- * fragment of a message. Ridiculously large fragment sizes may look
- * wrong, but we don't have any way to be certain that they aren't
- * what the client actually intended to send us. Many existing RPC
- * implementations may sent a fragment of size zero as the last
- * fragment of a message.
- */
- if (header == 0)
- return FALSE;
- rstrm->fbtbc = header & (~LAST_FRAG);
- return (TRUE);
-}
-
-static bool_t
-/* consumes input bytes; knows nothing about records! */
-skip_input_bytes(rstrm, cnt)
-register RECSTREAM *rstrm;
-long cnt;
-{
- register int current;
-
- while (cnt > 0) {
- current = rstrm->in_boundry - rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (cnt < current) ? cnt : current;
- rstrm->in_finger += current;
- cnt -= current;
- }
- return (TRUE);
-}
-
-static unsigned int
-fix_buf_size (unsigned int s)
-{
-
- if (s < 100)
- s = 4000;
- return (RNDUP(s));
-}
-
-static bool_t
-xdrrec_putlong (XDR *xdrs, const long *lp)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int32_t *dest_lp = (int32_t *) rstrm->out_finger;
-
- if ((rstrm->out_finger += BYTES_PER_XDR_UNIT) > rstrm->out_boundry) {
- /*
- * this case should almost never happen so the code is
- * inefficient
- */
- rstrm->out_finger -= BYTES_PER_XDR_UNIT;
-
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- dest_lp = ((int32_t *) (rstrm->out_finger));
- rstrm->out_finger += BYTES_PER_XDR_UNIT;
- }
- *dest_lp = htonl(*lp);
- return (TRUE);
-}
-
-static bool_t /* must manage buffers, fragments, and records */
-xdrrec_getbytes (XDR *xdrs, char *addr, unsigned int len)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register unsigned int current;
-
- while (len > 0) {
- current = rstrm->fbtbc;
- if (current == 0) {
- if (rstrm->last_frag)
- return (FALSE);
- if (!set_input_fragment(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- if (!get_input_bytes(rstrm, addr, current))
- return (FALSE);
- addr += current;
- rstrm->fbtbc -= current;
- len -= current;
- }
- return (TRUE);
-}
-
-static bool_t
-xdrrec_putbytes (XDR *xdrs, const char *addr, unsigned int len)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register unsigned int current;
-
- while (len > 0) {
- current = rstrm->out_boundry - rstrm->out_finger;
- current = (len < current) ? len : current;
- memmove(rstrm->out_finger, addr, current);
- rstrm->out_finger += current;
- addr += current;
- len -= current;
- if (rstrm->out_finger == rstrm->out_boundry) {
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- }
- }
- return (TRUE);
-}
-
-static unsigned int
-xdrrec_getpos (const XDR *xdrs)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- register long pos;
-
- pos = lseek((int)((long) rstrm->tcp_handle), (long) 0, 1);
- if (pos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- pos += rstrm->out_finger - rstrm->out_base;
- break;
-
- case XDR_DECODE:
- pos -= rstrm->in_boundry - rstrm->in_finger;
- break;
-
- default:
- pos = (unsigned int) - 1;
- break;
- }
- return ((unsigned int) pos);
-}
-
-static bool_t
-xdrrec_setpos (XDR *xdrs, unsigned int pos)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- unsigned int currpos = xdrrec_getpos(xdrs);
- int delta = currpos - pos;
- char* newpos;
-
- if ((int) currpos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- newpos = rstrm->out_finger - delta;
- if ((newpos > (char*) (rstrm->frag_header)) &&
- (newpos < rstrm->out_boundry)) {
- rstrm->out_finger = newpos;
- return (TRUE);
- }
- break;
-
- case XDR_DECODE:
- newpos = rstrm->in_finger - delta;
- if ((delta < (int) (rstrm->fbtbc)) &&
- (newpos <= rstrm->in_boundry) &&
- (newpos >= rstrm->in_base)) {
- rstrm->in_finger = newpos;
- rstrm->fbtbc -= delta;
- return (TRUE);
- }
- break;
- }
- return (FALSE);
-}
-
-static int32_t *xdrrec_inline(XDR* xdrs, unsigned int len)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- int32_t *buf = NULL;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- if ((rstrm->out_finger + len) <= rstrm->out_boundry) {
- buf = (int32_t *) rstrm->out_finger;
- rstrm->out_finger += len;
- }
- break;
-
- case XDR_DECODE:
- if ((len <= rstrm->fbtbc) &&
- ((rstrm->in_finger + len) <= rstrm->in_boundry)) {
- buf = (int32_t *) rstrm->in_finger;
- rstrm->fbtbc -= len;
- rstrm->in_finger += len;
- }
- break;
- }
- return (buf);
-}
-
-static void
-xdrrec_destroy (XDR *xdrs)
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
-
- mem_free(rstrm->the_buffer,
- rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT);
- mem_free((char*) rstrm, sizeof(RECSTREAM));
-}
-
-
-/*
- * Exported routines to manage xdr records
- */
-
-/*
- * Before reading (deserializing from the stream, one should always call
- * this procedure to guarantee proper record alignment.
- */
-bool_t xdrrec_skiprecord(xdrs)
-XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
-
- while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) {
- if (!skip_input_bytes(rstrm, rstrm->fbtbc))
- return (FALSE);
- rstrm->fbtbc = 0;
- if ((!rstrm->last_frag) && (!set_input_fragment(rstrm)))
- return (FALSE);
- }
- rstrm->last_frag = FALSE;
- return (TRUE);
-}
-
-/*
- * Look ahead fuction.
- * Returns TRUE iff there is no more input in the buffer
- * after consuming the rest of the current record.
- */
-bool_t xdrrec_eof(xdrs)
-XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
-
- while (rstrm->fbtbc > 0 || (!rstrm->last_frag)) {
- if (!skip_input_bytes(rstrm, rstrm->fbtbc))
- return (TRUE);
- rstrm->fbtbc = 0;
- if ((!rstrm->last_frag) && (!set_input_fragment(rstrm)))
- return (TRUE);
- }
- if (rstrm->in_finger == rstrm->in_boundry)
- return (TRUE);
- return (FALSE);
-}
-
-/*
- * The client must tell the package when an end-of-record has occurred.
- * The second paraemters tells whether the record should be flushed to the
- * (output) tcp stream. (This let's the package support batched or
- * pipelined procedure calls.) TRUE => immmediate flush to tcp connection.
- */
-bool_t xdrrec_endofrecord(xdrs, sendnow)
-XDR *xdrs;
-bool_t sendnow;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register unsigned long len; /* fragment length */
-
- if (sendnow || rstrm->frag_sent ||
- (rstrm->out_finger + BYTES_PER_XDR_UNIT >= rstrm->out_boundry)) {
- rstrm->frag_sent = FALSE;
- return (flush_out(rstrm, TRUE));
- }
- len = rstrm->out_finger - (char *)rstrm->frag_header -
- BYTES_PER_XDR_UNIT;
- *(rstrm->frag_header) = htonl((unsigned long) len | LAST_FRAG);
- rstrm->frag_header = (uint32_t *) rstrm->out_finger;
- rstrm->out_finger += BYTES_PER_XDR_UNIT;
- return (TRUE);
-}
-
diff --git a/mdk-stage1/dietlibc/librpc/xdr_reference.c b/mdk-stage1/dietlibc/librpc/xdr_reference.c
deleted file mode 100644
index 3e42d12f3..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_reference.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* @(#)xdr_reference.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)xdr_reference.c 1.11 87/08/11 SMI";
-#endif
-
-/*
- * xdr_reference.c, Generic XDR routines impelmentation.
- *
- * Copyright (C) 1987, Sun Microsystems, Inc.
- *
- * These are the "non-trivial" xdr primitives used to serialize and de-serialize
- * "pointers". See xdr.h for more info on the interface to xdr.
- */
-
-#include <stdio.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-#include <string.h>
-
-#define LASTUNSIGNED ((unsigned int)0-1)
-
-/*
- * XDR an indirect pointer
- * xdr_reference is for recursively translating a structure that is
- * referenced by a pointer inside the structure that is currently being
- * translated. pp references a pointer to storage. If *pp is null
- * the necessary storage is allocated.
- * size is the sizeof the referneced structure.
- * proc is the routine to handle the referenced structure.
- */
-bool_t xdr_reference(xdrs, pp, size, proc)
-register XDR *xdrs;
-char* *pp; /* the pointer to work on */
-unsigned int size; /* size of the object pointed to */
-xdrproc_t proc; /* xdr routine to handle the object */
-{
- register char* loc = *pp;
- register bool_t stat;
-
- if (loc == NULL)
- switch (xdrs->x_op) {
- case XDR_FREE:
- return (TRUE);
-
- case XDR_DECODE:
- *pp = loc = (char*) mem_alloc(size);
- if (loc == NULL) {
- (void) fprintf(stderr, "xdr_reference: out of memory\n");
- return (FALSE);
- }
- memset(loc, 0, (int) size);
- break;
- }
-
- stat = (*proc) (xdrs, loc, LASTUNSIGNED);
-
- if (xdrs->x_op == XDR_FREE) {
- mem_free(loc, size);
- *pp = NULL;
- }
- return (stat);
-}
-
-
-/*
- * xdr_pointer():
- *
- * XDR a pointer to a possibly recursive data structure. This
- * differs with xdr_reference in that it can serialize/deserialiaze
- * trees correctly.
- *
- * What's sent is actually a union:
- *
- * union object_pointer switch (boolean b) {
- * case TRUE: object_data data;
- * case FALSE: void nothing;
- * }
- *
- * > objpp: Pointer to the pointer to the object.
- * > obj_size: size of the object.
- * > xdr_obj: routine to XDR an object.
- *
- */
-bool_t xdr_pointer(xdrs, objpp, obj_size, xdr_obj)
-register XDR *xdrs;
-char **objpp;
-unsigned int obj_size;
-xdrproc_t xdr_obj;
-{
-
- bool_t more_data;
-
- more_data = (*objpp != NULL);
- if (!xdr_bool(xdrs, &more_data)) {
- return (FALSE);
- }
- if (!more_data) {
- *objpp = NULL;
- return (TRUE);
- }
- return (xdr_reference(xdrs, objpp, obj_size, xdr_obj));
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr_stdio.c b/mdk-stage1/dietlibc/librpc/xdr_stdio.c
deleted file mode 100644
index 405cc6a69..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_stdio.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* @(#)xdr_stdio.c 2.1 88/07/29 4.0 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] =
-
- "@(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * xdr_stdio.c, XDR implementation on standard i/o file.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * This set of routines implements a XDR on a stdio stream.
- * XDR_ENCODE serializes onto the stream, XDR_DECODE de-serializes
- * from the stream.
- */
-
-#include <rpc/types.h>
-#include <stdio.h>
-#include <rpc/xdr.h>
-
-static bool_t xdrstdio_getlong();
-static bool_t xdrstdio_putlong();
-static bool_t xdrstdio_getbytes();
-static bool_t xdrstdio_putbytes();
-static unsigned int xdrstdio_getpos();
-static bool_t xdrstdio_setpos();
-static int32_t *xdrstdio_inline();
-static void xdrstdio_destroy();
-
-/*
- * Ops vector for stdio type XDR
- */
-static struct xdr_ops xdrstdio_ops = {
- xdrstdio_getlong, /* deseraialize a long int */
- xdrstdio_putlong, /* seraialize a long int */
- xdrstdio_getbytes, /* deserialize counted bytes */
- xdrstdio_putbytes, /* serialize counted bytes */
- xdrstdio_getpos, /* get offset in the stream */
- xdrstdio_setpos, /* set offset in the stream */
- xdrstdio_inline, /* prime stream for inline macros */
- xdrstdio_destroy /* destroy stream */
-};
-
-
-/*
- * Initialize a stdio xdr stream.
- * Sets the xdr stream handle xdrs for use on the stream file.
- * Operation flag is set to op.
- */
-void xdrstdio_create(xdrs, file, op)
-register XDR *xdrs;
-FILE *file;
-enum xdr_op op;
-{
-
- xdrs->x_op = op;
- xdrs->x_ops = &xdrstdio_ops;
- xdrs->x_private = (char*) file;
- xdrs->x_handy = 0;
- xdrs->x_base = 0;
-}
-
-/*
- * Destroy a stdio xdr stream.
- * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create.
- */
-static void xdrstdio_destroy(xdrs)
-register XDR *xdrs;
-{
- (void) fflush((FILE *) xdrs->x_private);
- /* xx should we close the file ?? */
-};
-
-static bool_t xdrstdio_getlong(xdrs, lp)
-XDR *xdrs;
-register long *lp;
-{
-
- if (fread((char*) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
-#ifndef mc68000
- *lp = ntohl(*lp);
-#endif
- return (TRUE);
-}
-
-static bool_t xdrstdio_putlong(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
-
-#ifndef mc68000
- long mycopy = htonl(*lp);
-
- lp = &mycopy;
-#endif
- if (fwrite((char*) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
- return (TRUE);
-}
-
-static bool_t xdrstdio_getbytes(xdrs, addr, len)
-XDR *xdrs;
-char* addr;
-unsigned int len;
-{
-
- if ((len != 0)
- && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static bool_t xdrstdio_putbytes(xdrs, addr, len)
-XDR *xdrs;
-char* addr;
-unsigned int len;
-{
-
- if ((len != 0)
- && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static unsigned int xdrstdio_getpos(xdrs)
-XDR *xdrs;
-{
-
- return ((unsigned int) ftell((FILE *) xdrs->x_private));
-}
-
-static bool_t xdrstdio_setpos(xdrs, pos)
-XDR *xdrs;
-unsigned int pos;
-{
-
- return ((fseek((FILE *) xdrs->x_private, (long) pos, 0) < 0) ?
- FALSE : TRUE);
-}
-
-static int32_t *xdrstdio_inline(XDR* xdrs, unsigned int len)
-{
-
- /*
- * Must do some work to implement this: must insure
- * enough data in the underlying stdio buffer,
- * that the buffer is aligned so that we can indirect through a
- * long *, and stuff this pointer in xdrs->x_buf. Doing
- * a fread or fwrite to a scratch buffer would defeat
- * most of the gains to be had here and require storage
- * management on this buffer, so we don't do this.
- */
- return (NULL);
-}
-
diff --git a/mdk-stage1/dietlibc/libshell/basename.c b/mdk-stage1/dietlibc/libshell/basename.c
deleted file mode 100644
index fbf5b2478..000000000
--- a/mdk-stage1/dietlibc/libshell/basename.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <string.h>
-#include <libgen.h>
-
-/*
- path dirname basename
- "/usr/lib" "/usr" "lib"
- "/usr/" "/" "usr"
- "usr" "." "usr"
- "/" "/" "/"
- "." "." "."
- ".." "." ".."
-*/
-
-char *basename(char *path) {
- char *c;
-again:
- if (!(c=strrchr(path,'/'))) return path;
- if (c[1]==0) {
- if (c == path)
- return c;
- else {
- *c=0;
- goto again;
- }
- }
- return c+1;
-}
diff --git a/mdk-stage1/dietlibc/libshell/dirname.c b/mdk-stage1/dietlibc/libshell/dirname.c
deleted file mode 100644
index d35e6ea62..000000000
--- a/mdk-stage1/dietlibc/libshell/dirname.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <string.h>
-#include <libgen.h>
-
-/*
- path dirname basename
- "/usr/lib" "/usr" "lib"
- "/usr/" "/" "usr"
- "usr" "." "usr"
- "/" "/" "/"
- "." "." "."
- ".." "." ".."
-*/
-
-char *dirname(char *path) {
- char *c;
-again:
- if (!(c=strrchr(path,'/'))) return ".";
- while (c[1]==0) { /* remove trailing slashes */
- if (c==path) return c; /* unless path=='/' */
- *c=0;
- if (*--c!='/') break;
- }
- if (*c=='/') { if (c!=path) *c=0; return path; }
- goto again;
-}
diff --git a/mdk-stage1/dietlibc/libshell/fnmatch.c b/mdk-stage1/dietlibc/libshell/fnmatch.c
deleted file mode 100644
index ef43735f6..000000000
--- a/mdk-stage1/dietlibc/libshell/fnmatch.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <ctype.h>
-#include <fnmatch.h>
-#include <string.h>
-
-#define NOTFIRST 128
-
-static int match(char c,char d,int flags) {
- if (flags&FNM_CASEFOLD)
- return (tolower(c)==tolower(d));
- else
- return (c==d);
-}
-
-int fnmatch(const char *pattern, const char *string, int flags) {
- /*printf("fnmatch(\"%s\",\"%s\")\n",pattern,string);*/
- if (*string==0) {
- while (*pattern=='*') ++pattern;
- return (!!*pattern);
- }
- if (*string=='.' && *pattern!='.' && (flags&FNM_PERIOD)) {
- /* don't match if FNM_PERIOD and this is the first char */
- if ((flags&FNM_PERIOD) && (!(flags&NOTFIRST)))
- return FNM_NOMATCH;
- /* don't match if FNM_PERIOD and FNM_FILE_NAME and previous was '/' */
- if ((flags&(FNM_FILE_NAME|FNM_PERIOD)) && string[-1]=='/')
- return FNM_NOMATCH;
- }
- flags|=NOTFIRST;
- switch (*pattern) {
- case '[':
- {
- int neg=0;
- ++pattern;
- if (*string=='/' && flags&FNM_PATHNAME) return FNM_NOMATCH;
- if (*pattern=='^') { neg=1; ++pattern; }
- while (*pattern && *pattern!=']') {
- int res=0;
- if (pattern[1]=='-') {
- if (*string>=*pattern && *string<=pattern[2]) res=1;
- if (flags&FNM_CASEFOLD) {
- if (tolower(*string)>=tolower(*pattern) && tolower(*string)<=tolower(pattern[2])) res=1;
- }
- pattern+=3;
- } else {
- res=match(*pattern,*string,flags);
- ++pattern;
- }
- if (res ^ neg) {
- while (*pattern && *pattern!=']') ++pattern;
- return fnmatch(pattern+1,string+1,flags);
- }
- }
- }
- break;
- case '\\':
- if (flags&FNM_NOESCAPE) {
- if (*string=='\\')
- return fnmatch(pattern+1,string+1,flags);
- } else {
- if (*string==pattern[1])
- return fnmatch(pattern+2,string+1,flags);
- }
- break;
- case '*':
- if ((*string=='/' && flags&FNM_PATHNAME) || fnmatch(pattern,string+1,flags))
- return fnmatch(pattern+1,string,flags);
- return 0;
- case 0:
- if (*string==0 || (*string=='/' && (flags&FNM_LEADING_DIR)))
- return 0;
- break;
- default:
- if (match(*pattern,*string,flags))
- return fnmatch(pattern+1,string+1,flags);
- break;
- }
- return FNM_NOMATCH;
-}
diff --git a/mdk-stage1/dietlibc/libshell/glob.c b/mdk-stage1/dietlibc/libshell/glob.c
deleted file mode 100644
index def55f8dc..000000000
--- a/mdk-stage1/dietlibc/libshell/glob.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * dietlibc/libshell/glob.c
- *
- * Copyright 2001 Guillaume Cottenceau <gc@mandrakesoft.com>
- *
- * This is free software, licensed under the Gnu General Public License.
- *
- */
-
-/*
- * unsupported: GLOB_BRACE GLOB_ALTDIRFUNC GLOB_MAGCHAR
- */
-
-#define DEBUG(x)
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <assert.h>
-#include <fnmatch.h>
-#include <dirent.h>
-#include <pwd.h>
-#include "dietfeatures.h"
-
-#include <glob.h>
-
-
-
-/* If i18n, should be using strcoll */
-static int cmp_func(const void * a, const void * b)
-{
- const char *const s1 = *(const char *const * const) a;
- const char *const s2 = *(const char *const * const) b;
- if (s1 == NULL)
- return 1;
- if (s2 == NULL)
- return -1;
- return strcoll(s1, s2);
-}
-
-
-/* Like `glob', but PATTERN is a final pathname component,
- and matches are searched for in DIRECTORY.
- The GLOB_NOSORT bit in FLAGS is ignored. No sorting is ever done.
- The GLOB_APPEND flag is assumed to be set (always appends).
- Prepends DIRECTORY in constructed PGLOB. */
-static void close_dir_keep_errno(DIR* dp) {
- int save = errno;
- if (dp)
- closedir (dp);
- errno=save;
-}
-
-static int add_entry(const char* name,glob_t *pglob,int* nfound) {
- pglob->gl_pathv = (char **) realloc(pglob->gl_pathv,
- (pglob->gl_pathc + pglob->gl_offs + 2)
- * sizeof (char *));
- if (pglob->gl_pathv == NULL)
- return 1;
- pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc] = strdup(name);
- pglob->gl_pathv[pglob->gl_offs + pglob->gl_pathc + 1] = NULL;
- pglob->gl_pathc++;
- (*nfound)++;
- return 0;
-}
-
-static void build_fullname(char * fullname, const char * directory, const char * filename) {
- char *dest=fullname;
- if (directory[0]=='/' && !directory[1]) {
- *dest='/'; ++dest;
- } else if (directory[0]!='.' || directory[1]) {
- strcpy(dest,directory);
- dest=strchr(dest,0);
- *dest='/'; ++dest;
- }
- strcpy(dest,filename);
-}
-
-static int glob_in_dir(const char *pattern, const char *directory, int flags,
- int errfunc(const char * epath, int eerrno),
- glob_t *pglob)
-{
- DIR *dp = opendir(directory);
- int nfound = 0;
-
- int i;
- char * ptr;
-
- if (!dp) {
- if (errno != ENOTDIR
- && ((errfunc != NULL && (*errfunc) (directory, errno))
- || (flags & GLOB_ERR)))
- return GLOB_ABORTED;
- } else {
- int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
- | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0));
- struct dirent *ep;
- while ((ep = readdir(dp))) {
- i = strlen(directory) + strlen(ep->d_name) + 2;
- ptr = (char *) alloca(i);
- build_fullname(ptr, directory, ep->d_name);
- if (flags & GLOB_ONLYDIR) {
- struct stat statr;
- if (stat(ptr, &statr) || !S_ISDIR(statr.st_mode))
- continue;
- }
- if (fnmatch(pattern, ep->d_name, fnm_flags) == 0)
- if (add_entry(ptr,pglob,&nfound))
- goto memory_error;
- }
- }
-
- close_dir_keep_errno(dp);
-
- if (nfound != 0)
- pglob->gl_flags = flags;
- else if (flags & GLOB_NOCHECK) {
- /* nfound == 0 */
- i = strlen(directory) + strlen(pattern) + 2;
- ptr = (char *) alloca(i);
- build_fullname(ptr, directory, pattern);
- if (add_entry(ptr,pglob,&nfound))
- goto memory_error;
- }
-
- return (nfound == 0) ? GLOB_NOMATCH : 0;
-
- memory_error:
- /* We're in trouble since we can't free the already allocated memory. [allocated from strdup(filame)]
- * Well, after all, when malloc returns NULL we're already in a bad mood, and no doubt the
- * program will manage to segfault by itself very soon :-). */
- close_dir_keep_errno(dp);
- return GLOB_NOSPACE;
-}
-
-
-
-int glob(const char *pattern, int flags, int errfunc(const char * epath, int eerrno), glob_t *pglob)
-{
- char * pattern_;
- char * filename;
- char * dirname;
- size_t oldcount;
- struct stat statr;
-
- size_t i; /* tmp variables are declared here to save a bit of object space */
- int j, k; /* */
- char * ptr, * ptr2;
-
- if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0) {
- errno=EINVAL;
- return -1;
- }
-
- if (!(flags & GLOB_DOOFFS))
- pglob->gl_offs = 0;
-
-
- /* Duplicate pattern so I can make modif to it later (to handle
- TILDE stuff replacing old contents, and to null-terminate the
- directory) */
- pattern_ = alloca(strlen(pattern) + 1);
- strcpy(pattern_, pattern);
-
- /* Check for TILDE stuff */
- if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern_[0] == '~') {
- char * home_dir = NULL;
- if (pattern_[1] == '\0' || pattern_[1] == '/') {
- /* She's asking for ~, her homedir */
- home_dir = getenv("HOME");
- } else {
- /* She's asking for another one's homedir */
- struct passwd * p;
- ptr2 = alloca(strlen(pattern_) + 1);
- strcpy(ptr2, pattern_ + 1);
- ptr = strchr(ptr2, '/');
- if (ptr != NULL)
- *ptr = '\0';
- if (((p = getpwnam(ptr2)) != NULL))
- home_dir = p->pw_dir;
- }
- if (home_dir != NULL) {
- i = strlen(home_dir) + strlen(pattern_); /* pessimistic (the ~ case) */
- ptr = alloca(i);
- strncpy(ptr, home_dir, i);
- ptr2 = pattern_ + 1;
- while (*ptr2 != '/' && *ptr2 != '\0')
- ptr2++;
- strncat(ptr, ptr2, i);
- pattern_ = ptr;
- } else if (flags & GLOB_TILDE_CHECK)
- return GLOB_NOMATCH;
- }
-
- /* Find the filename */
- filename = strrchr(pattern_, '/');
-
- if (filename == NULL) {
- /* We have no '/' in the pattern */
- filename = pattern_;
- dirname = (char*)".";
- } else if (filename == pattern_) {
- /* "/pattern". */
- dirname = (char*)"/";
- filename++;
- } else {
- dirname = pattern_;
- filename++;
- /* allow dirname to be null terminated */
- *(filename-1) = '\0';
-
- if (filename[0] == '\0' && strcmp(pattern_, "/")) {
- /* "pattern/". Expand "pattern", appending slashes. */
- j = glob(dirname, flags | GLOB_MARK, errfunc, pglob);
- if (j == 0)
- pglob->gl_flags = ((pglob->gl_flags & ~GLOB_MARK)
- | (flags & GLOB_MARK));
- return j;
- }
- }
-
-
- /* Reserve memory for pglob */
- if (!(flags & GLOB_APPEND)) {
- pglob->gl_pathc = 0;
- if (!(flags & GLOB_DOOFFS))
- pglob->gl_pathv = NULL;
- else {
- pglob->gl_pathv = (char **) malloc((pglob->gl_offs + 1) * sizeof (char *));
- if (pglob->gl_pathv == NULL)
- return GLOB_NOSPACE;
- for (i = 0; i <= pglob->gl_offs; i++)
- pglob->gl_pathv[i] = NULL;
- }
- }
-
-
- oldcount = pglob->gl_pathc + pglob->gl_offs;
-
-
- /* Begin real work */
- if (!strcmp(dirname, "/") || !strcmp(dirname, ".")
- || (!strchr(dirname, '*') && !strchr(dirname, '?') && !strchr(dirname, '['))) {
- /* Approx of a terminal state, glob directly in dir. */
- j = glob_in_dir(filename, dirname, flags, errfunc, pglob);
- if (j != 0)
- return j;
- } else {
- /* We are not in a terminal state, so we have to glob for
- the directory, and then glob for the pattern in each
- directory found. */
- glob_t dirs;
-
- j = glob(dirname, ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ALTDIRFUNC))
- | GLOB_NOSORT | GLOB_ONLYDIR),
- errfunc, &dirs);
- if (j != 0)
- return j;
-
- /* We have successfully globbed the directory name.
- For each name we found, call glob_in_dir on it and FILENAME,
- appending the results to PGLOB. */
- for (i = 0; i < dirs.gl_pathc; i++) {
- j = glob_in_dir(filename, dirs.gl_pathv[i], ((flags | GLOB_APPEND) & ~GLOB_NOCHECK),
- errfunc, pglob);
- if (j == GLOB_NOMATCH)
- /* No matches in this directory. Try the next. */
- continue;
- if (j != 0) {
- globfree(&dirs);
- globfree(pglob);
- return j;
- }
- }
-
- /* We have ignored the GLOB_NOCHECK flag in the `glob_in_dir' calls.
- But if we have not found any matching entry and the GLOB_NOCHECK
- flag was set we must return the list consisting of the disrectory
- names followed by the filename. */
- if (pglob->gl_pathc + pglob->gl_offs == oldcount)
- {
- /* No matches. */
- if (flags & GLOB_NOCHECK)
- {
- for (i = 0; i < dirs.gl_pathc; i++) {
- if (stat(dirs.gl_pathv[i], &statr) || !S_ISDIR(statr.st_mode))
- continue;
-
- /* stat is okay, we will add the entry, but before let's resize the pathv */
- j = pglob->gl_pathc + pglob->gl_offs;
- pglob->gl_pathv = (char **) realloc(pglob->gl_pathv, (j + 2) * sizeof (char *));
- if (pglob->gl_pathv == NULL) {
- globfree (&dirs);
- return GLOB_NOSPACE;
- }
-
- /* okay now we add the new entry */
- k = strlen(dirs.gl_pathv[i]) + strlen(filename) + 2;
- if ((pglob->gl_pathv[j] = malloc(k)) == NULL) {
- globfree(&dirs);
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- build_fullname(pglob->gl_pathv[j], dirs.gl_pathv[i], filename);
- pglob->gl_pathc++;
- pglob->gl_pathv[j+1] = NULL;
- }
- } else {
- globfree(&dirs);
- return GLOB_NOMATCH;
- }
- }
-
- globfree (&dirs);
- }
-
-
- if (flags & GLOB_MARK) {
- for (i = oldcount; i < pglob->gl_pathc + pglob->gl_offs; i++)
- if (!stat(pglob->gl_pathv[i], &statr) && S_ISDIR(statr.st_mode)) {
- size_t len = strlen(pglob->gl_pathv[i]) + 2;
- ptr = realloc(pglob->gl_pathv[i], len);
- if (ptr == NULL) {
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- strcpy(&ptr[len - 2], "/");
- pglob->gl_pathv[i] = ptr;
- }
- }
-
- if (!(flags & GLOB_NOSORT)) {
- qsort(&pglob->gl_pathv[oldcount],
- pglob->gl_pathc + pglob->gl_offs - oldcount,
- sizeof(char *), cmp_func);
- }
-
- return 0;
-}
-
-
-/* Free storage allocated in PGLOB by a previous `glob' call. */
-void globfree (glob_t * pglob)
-{
- if (pglob->gl_pathv != NULL) {
- size_t i;
- for (i = 0; i < pglob->gl_pathc; i++)
- if (pglob->gl_pathv[pglob->gl_offs + i] != NULL)
- free((void *) pglob->gl_pathv[pglob->gl_offs + i]);
- free((void *) pglob->gl_pathv);
- }
-}
diff --git a/mdk-stage1/dietlibc/libshell/realpath.c b/mdk-stage1/dietlibc/libshell/realpath.c
deleted file mode 100644
index 9aee2c585..000000000
--- a/mdk-stage1/dietlibc/libshell/realpath.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include "dietfeatures.h"
-
-char* realpath(const char *path, char *resolved_path) {
- int fd=open(".",O_RDONLY);
- char* tmp=(char*)"";
- if (fd<0) return 0;
- if (chdir(path)) {
- if (errno==ENOTDIR) {
- char* match;
- if ((match=strrchr(path,'/'))) {
- tmp=match;
- memmove(resolved_path,path,tmp-path);
- resolved_path[tmp-path]=0;
- if (chdir(resolved_path)) { resolved_path=0; goto abort; }
- }
- } else {
- resolved_path=0; goto abort;
- }
- }
- if (!getcwd(resolved_path,PATH_MAX)) { resolved_path=0; goto abort; }
- strcat(resolved_path,tmp);
-abort:
- fchdir(fd);
- close(fd);
- return resolved_path;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/clearerr.c b/mdk-stage1/dietlibc/libstdio/clearerr.c
deleted file mode 100644
index 8bde8c702..000000000
--- a/mdk-stage1/dietlibc/libstdio/clearerr.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dietstdio.h"
-
-void clearerr( FILE *stream) {
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fclose.c b/mdk-stage1/dietlibc/libstdio/fclose.c
deleted file mode 100644
index 491ed2522..000000000
--- a/mdk-stage1/dietlibc/libstdio/fclose.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-int fclose(FILE *stream) {
- int res;
- FILE *f,*fl;
- fflush(stream);
- res=close(stream->fd);
- for (fl=0,f=__stdio_root; f; fl=f,f=f->next)
- if (f==stream) {
- if (fl)
- fl->next=f->next;
- else
- __stdio_root=f->next;
- break;
- }
- if ((!(stream->flags&STATICBUF))&&(stream->buf))
- free(stream->buf);
- free(stream);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdglue.c b/mdk-stage1/dietlibc/libstdio/fdglue.c
deleted file mode 100644
index 9542711e2..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include "dietstdio.h"
-
-int __stdio_parse_mode(const char *mode) {
- int f=0;
- for (;;) {
- switch (*mode) {
- case 0: return f;
- case 'b': break;
- case 'r': f=O_RDONLY; break;
- case 'w': f=O_WRONLY|O_CREAT|O_TRUNC; break;
- case 'a': f=O_WRONLY|O_CREAT|O_APPEND; break;
- case '+': f=(f&(~O_WRONLY))|O_RDWR; break;
- }
- ++mode;
- }
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/fdglue2.c b/mdk-stage1/dietlibc/libstdio/fdglue2.c
deleted file mode 100644
index b96e4c5b8..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue2.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <pthread.h>
-
-extern int __stdio_atexit;
-
-FILE* __stdio_init_file_nothreads(int fd,int closeonerror);
-FILE* __stdio_init_file_nothreads(int fd,int closeonerror) {
- FILE *tmp=(FILE*)malloc(sizeof(FILE));
- if (!tmp) goto err_out;
- tmp->buf=(char*)malloc(BUFSIZE);
- if (!tmp->buf) {
- free(tmp);
-err_out:
- if (closeonerror) close(fd);
- errno=ENOMEM;
- return 0;
- }
- tmp->fd=fd;
- tmp->bm=0;
- tmp->bs=0;
- tmp->buflen=BUFSIZE;
- {
- struct stat st;
- fstat(fd,&st);
- tmp->flags=(S_ISFIFO(st.st_mode))?FDPIPE:0;
- }
- tmp->popen_kludge=0;
- if (__stdio_atexit==0) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- tmp->next=__stdio_root;
- __stdio_root=tmp;
- tmp->ungotten=0;
- return tmp;
-}
-
-FILE* __stdio_init_file(int fd,int closeonerror) __attribute__((weak,alias("__stdio_init_file_nothreads")));
diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c
deleted file mode 100644
index 748b716eb..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdopen.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-FILE *fdopen(int filedes, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
-
- f=__stdio_parse_mode(mode);
- if (filedes<0) { errno=EBADF; return 0; }
- return __stdio_init_file(filedes,0);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdprintf.c b/mdk-stage1/dietlibc/libstdio/fdprintf.c
deleted file mode 100644
index f9fc7a3b4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int fdprintf(int fd,const char *format,...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr,format);
- n=vfdprintf(fd,format,arg_ptr);
- va_end(arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/feof.c b/mdk-stage1/dietlibc/libstdio/feof.c
deleted file mode 100644
index bf2267fcf..000000000
--- a/mdk-stage1/dietlibc/libstdio/feof.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-
-int feof(FILE *stream) {
- /* yuck!!! */
- if (stream->ungotten) return 0;
- return (stream->flags&EOFINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ferror.c b/mdk-stage1/dietlibc/libstdio/ferror.c
deleted file mode 100644
index e86873be0..000000000
--- a/mdk-stage1/dietlibc/libstdio/ferror.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <dietstdio.h>
-
-int ferror(FILE *stream) {
- return (stream->flags&ERRORINDICATOR);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fflush.c b/mdk-stage1/dietlibc/libstdio/fflush.c
deleted file mode 100644
index e0e23b3ba..000000000
--- a/mdk-stage1/dietlibc/libstdio/fflush.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-#include "dietstdio.h"
-
-FILE *__stdio_root;
-
-int __stdio_atexit=0;
-
-void __stdio_flushall(void) {
- fflush(0);
-}
-
-int fflush(FILE *stream) {
- if (stream==0) {
- int res;
- FILE *f;
- __fflush_stdin();
- __fflush_stdout();
- __fflush_stderr();
- for (res=0, f=__stdio_root; f; f=f->next)
- if (fflush(f))
- res=-1;
- return res;
- }
-// if (stream->flags&NOBUF) return 0;
- if (stream->flags&BUFINPUT) {
- register int tmp;
- if ((tmp=stream->bm-stream->bs)) {
- lseek(stream->fd,tmp,SEEK_CUR);
- }
- stream->bs=stream->bm=0;
- } else {
- if (stream->bm && write(stream->fd,stream->buf,stream->bm)!=(int)stream->bm) {
- stream->flags|=ERRORINDICATOR;
- return -1;
- }
- stream->bm=0;
- }
- return 0;
-}
-
-int __fflush4(FILE *stream,int next) {
- if (!__stdio_atexit) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- if ((stream->flags&BUFINPUT)!=next) {
- int res=fflush(stream);
- stream->flags=(stream->flags&~BUFINPUT)|next;
- return res;
- }
- if (stream->fd==0) __fflush_stdout();
- return 0;
-}
-
-/* Internal function, has no prototype.
- * This is defined here because of the weak symbol ELF semantics */
-int __stdio_outs(const char *s,size_t len);
-int __stdio_outs(const char *s,size_t len) {
- return fwrite(s,1,(size_t)len,stdout)==len?1:0;
-}
-
-link_warning("fflush","warning: your code uses stdio (7+k bloat).")
diff --git a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c
deleted file mode 100644
index 5136c8df1..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fgetc_unlocked(FILE *stream) {
- unsigned char c;
- if (stream->ungotten) {
- stream->ungotten=0;
- return stream->ungetbuf;
- }
- if (feof(stream))
- return EOF;
- if (__fflush4(stream,BUFINPUT)) return EOF;
- if (stream->bm>=stream->bs) {
- int len=read(stream->fd,stream->buf,stream->buflen);
- if (len==0) {
- stream->flags|=EOFINDICATOR;
- return EOF;
- } else if (len<0) {
- stream->flags|=ERRORINDICATOR;
- return EOF;
- }
- stream->bm=0;
- stream->bs=len;
- }
- c=stream->buf[stream->bm];
- ++stream->bm;
- return c;
-}
-
-int fgetc(FILE* stream) __attribute__((weak,alias("fgetc_unlocked")));
diff --git a/mdk-stage1/dietlibc/libstdio/fgetpos.c b/mdk-stage1/dietlibc/libstdio/fgetpos.c
deleted file mode 100644
index d58b6fa5b..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetpos.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdio.h>
-
-int fgetpos(FILE *stream, fpos_t *pos) {
- long l=ftell(stream);
- if (l==-1) return -1;
- *pos=l;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fgets.c b/mdk-stage1/dietlibc/libstdio/fgets.c
deleted file mode 100644
index d2ce4195d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgets.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietstdio.h"
-
-char *fgets(char *s, int size, FILE *stream) {
- char *orig=s;
- int l;
- for (l=size; l>1;) {
- int c=fgetc(stream);
- if (c==EOF) break;
- *s=c;
- ++s;
- --l;
- if (c=='\n') break;
- }
- if (l==size || ferror(stream))
- return 0;
- *s=0;
- return orig;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fileno.c b/mdk-stage1/dietlibc/libstdio/fileno.c
deleted file mode 100644
index f021d3881..000000000
--- a/mdk-stage1/dietlibc/libstdio/fileno.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <dietstdio.h>
-
-int fileno(FILE *stream) {
- return stream->fd;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fopen.c b/mdk-stage1/dietlibc/libstdio/fopen.c
deleted file mode 100644
index 3d9c28198..000000000
--- a/mdk-stage1/dietlibc/libstdio/fopen.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-extern int __stdio_atexit;
-
-FILE *fopen (const char *path, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
- int fd;
-
- f=__stdio_parse_mode(mode);
- if ((fd=open(path,f,0666))<0)
- return 0;
- return __stdio_init_file(fd,1);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fprintf.c b/mdk-stage1/dietlibc/libstdio/fprintf.c
deleted file mode 100644
index 6b3849a33..000000000
--- a/mdk-stage1/dietlibc/libstdio/fprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int fprintf(FILE *f,const char *format,...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr,format);
- n=vfprintf(f,format,arg_ptr);
- va_end(arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c b/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c
deleted file mode 100644
index 6441c5741..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputc_unlocked.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fputc_unlocked(int c, FILE *stream) {
- if (__fflush4(stream,0)) return EOF;
- if (stream->bm>=stream->buflen-1)
- if (fflush(stream)) return EOF;
- if (stream->flags&NOBUF) {
- if (write(stream->fd,&c,1) != 1) return EOF;
- return 0;
- }
- stream->buf[stream->bm]=c;
- ++stream->bm;
- if (((stream->flags&BUFLINEWISE) && c=='\n') ||
- ((stream->flags&NOBUF))) /* puke */
- if (fflush(stream)) return EOF;
- return 0;
-}
-
-int fputc(int c,FILE* stream) __attribute__((weak,alias("fputc_unlocked")));
diff --git a/mdk-stage1/dietlibc/libstdio/fputs.c b/mdk-stage1/dietlibc/libstdio/fputs.c
deleted file mode 100644
index 51ee9a96e..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietstdio.h"
-#include <string.h>
-
-int fputs(const char *s, FILE *stream) {
- return fwrite(s,strlen(s),1,stream);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fread.c b/mdk-stage1/dietlibc/libstdio/fread.c
deleted file mode 100644
index 813a98fb2..000000000
--- a/mdk-stage1/dietlibc/libstdio/fread.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
- unsigned long i,j;
- j=size*nmemb;
- i=0;
-
- if (!j || j/nmemb!=size) return 0;
- if (stream->ungotten) {
- stream->ungotten=0;
- *(char*)ptr=stream->ungetbuf;
- ++i;
- }
- if (!j) return 1;
-
-#ifdef WANT_FREAD_OPTIMIZATION
- if ( !(stream->flags&FDPIPE) && (j>stream->buflen)) {
- size_t tmp=j-i;
- int res;
- fflush(stream);
- while ((res=read(stream->fd,ptr+i,tmp))<(int)tmp) {
- if (res==-1) {
- stream->flags|=ERRORINDICATOR;
- goto exit;
- } else if (!res) {
- stream->flags|=EOFINDICATOR;
- goto exit;
- }
- i+=res; tmp-=res;
- }
- return nmemb;
- }
-#endif
- for (; i<j; ++i) {
- res=fgetc(stream);
- if (res==EOF)
-exit:
- return i/size;
- else
- ((unsigned char*)ptr)[i]=(unsigned char)res;
- }
- return nmemb;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/freopen.c b/mdk-stage1/dietlibc/libstdio/freopen.c
deleted file mode 100644
index 8d4644a10..000000000
--- a/mdk-stage1/dietlibc/libstdio/freopen.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-FILE *freopen (const char *path, const char *mode, FILE *stream) {
- fclose(stream);
- stream=fopen(path,mode);
- return stream;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fscanf.c b/mdk-stage1/dietlibc/libstdio/fscanf.c
deleted file mode 100644
index 07f477462..000000000
--- a/mdk-stage1/dietlibc/libstdio/fscanf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int fscanf(FILE *stream, const char *format, ...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vfscanf(stream,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseek.c b/mdk-stage1/dietlibc/libstdio/fseek.c
deleted file mode 100644
index a49230f0a..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseek.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fseek(FILE *stream, long offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek(stream->fd,offset,whence)!=-1?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseeko.c b/mdk-stage1/dietlibc/libstdio/fseeko.c
deleted file mode 100644
index 6459a6ff4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseeko.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-int fseeko(FILE *stream, off_t offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek(stream->fd,offset,whence)!=-1?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fseeko64.c b/mdk-stage1/dietlibc/libstdio/fseeko64.c
deleted file mode 100644
index 3b00596a1..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseeko64.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-#ifndef __NO_STAT64
-int fseeko64(FILE *stream, off64_t offset, int whence) {
- fflush(stream);
- stream->bm=0; stream->bs=0;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- stream->ungotten=0;
- return lseek64(stream->fd,offset,whence)!=-1?0:-1;
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libstdio/fsetpos.c b/mdk-stage1/dietlibc/libstdio/fsetpos.c
deleted file mode 100644
index 336135fff..000000000
--- a/mdk-stage1/dietlibc/libstdio/fsetpos.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int fsetpos(FILE *stream, fpos_t *pos) {
- if (fseek(stream,*pos,SEEK_SET)==-1)
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftell.c b/mdk-stage1/dietlibc/libstdio/ftell.c
deleted file mode 100644
index 48f74858a..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftell.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-long ftell(FILE *stream) {
- fflush(stream);
- return (lseek(stream->fd,0,SEEK_CUR)-stream->ungotten);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftello.c b/mdk-stage1/dietlibc/libstdio/ftello.c
deleted file mode 100644
index 9d36318e2..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftello.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-off_t ftello(FILE *stream) {
- fflush(stream);
- return (lseek(stream->fd,0,SEEK_CUR));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftello64.c b/mdk-stage1/dietlibc/libstdio/ftello64.c
deleted file mode 100644
index bda7a7de4..000000000
--- a/mdk-stage1/dietlibc/libstdio/ftello64.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-#ifndef __NO_STAT64
-off64_t ftello64(FILE *stream) {
- fflush(stream);
- return (lseek64(stream->fd,0ull,SEEK_CUR));
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libstdio/fwrite.c b/mdk-stage1/dietlibc/libstdio/fwrite.c
deleted file mode 100644
index e2536ccfb..000000000
--- a/mdk-stage1/dietlibc/libstdio/fwrite.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include <errno.h>
-
-size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
- unsigned long len=size*nmemb;
- long i;
- if (!nmemb || len/nmemb!=size) return 0; /* check for integer overflow */
- if (len>stream->buflen || (stream->flags&NOBUF)) {
- fflush(stream);
- do {
- res=write(stream->fd,ptr,size*nmemb);
- } while (res==-1 && errno==EINTR);
- } else {
- register const unsigned char *c=ptr;
- for (i=len; i>0; --i,++c)
- if (fputc(*c,stream)) { res=len-i; goto abort; }
- res=len;
- }
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- }
-abort:
- return size?res/size:0;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/printf.c b/mdk-stage1/dietlibc/libstdio/printf.c
deleted file mode 100644
index 5af172c58..000000000
--- a/mdk-stage1/dietlibc/libstdio/printf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-int printf(const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vprintf(format, arg_ptr);
- va_end(arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/putchar.c b/mdk-stage1/dietlibc/libstdio/putchar.c
deleted file mode 100644
index 7e5285a48..000000000
--- a/mdk-stage1/dietlibc/libstdio/putchar.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-#undef putchar
-int putchar(int c) {
- return fputc(c,stdout);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/puts.c b/mdk-stage1/dietlibc/libstdio/puts.c
deleted file mode 100644
index b1da01f9d..000000000
--- a/mdk-stage1/dietlibc/libstdio/puts.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietfeatures.h"
-
-int __cheap_outs(const char *s,size_t len);
-int __cheap_outs(const char *s,size_t len) {
- return (size_t)write(1,s,len)==len?1:0;
-}
-
-int __stdio_outs(const char *s,size_t len) __attribute__((weak,alias("__cheap_outs")));
-
-int puts(const char *s) {
- return (__stdio_outs(s,strlen(s)) && __stdio_outs("\n",1))?0:-1;
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/scanf.c b/mdk-stage1/dietlibc/libstdio/scanf.c
deleted file mode 100644
index 589c19f41..000000000
--- a/mdk-stage1/dietlibc/libstdio/scanf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int scanf(const char *format, ...) {
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vfscanf(stdin,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/setvbuf.c b/mdk-stage1/dietlibc/libstdio/setvbuf.c
deleted file mode 100644
index b8b50addf..000000000
--- a/mdk-stage1/dietlibc/libstdio/setvbuf.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-static int set_flags (FILE *stream, int flags) {
- switch (flags) {
- case _IONBF: stream->flags = (stream->flags & ~(BUFLINEWISE)) | NOBUF; break;
- case _IOLBF: stream->flags = (stream->flags & ~(NOBUF)) | BUFLINEWISE; break;
- case _IOFBF: stream->flags = stream->flags & ~(NOBUF | BUFLINEWISE); break;
- default: return -1;
- }
- return 0;
-}
-
-int setvbuf(FILE *stream, char *buf, int flags, size_t size) {
- if (buf) {
- if (!(stream->flags&STATICBUF)) free(stream->buf);
- stream->buf=buf;
- }
- else {
- char *tmp;
- if (!size) {
- return set_flags(stream,flags);
- }
- if (!(tmp=malloc(size))) return -1;
- if (!(stream->flags&STATICBUF)) free(stream->buf);
- stream->buf=tmp;
- }
- stream->buflen=size;
- stream->bm=stream->bs=0;
- return set_flags(stream,flags);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stderr.c b/mdk-stage1/dietlibc/libstdio/stderr.c
deleted file mode 100644
index a9a34fd7e..000000000
--- a/mdk-stage1/dietlibc/libstdio/stderr.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <dietstdio.h>
-
-static FILE __stderr = {
- .fd=2,
- .flags=NOBUF,
- .bs=0, .bm=0,
- .buflen=0,
- .buf=0,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stderr=&__stderr;
-
-int __fflush_stderr(void) {
- return fflush(stderr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stdin.c b/mdk-stage1/dietlibc/libstdio/stdin.c
deleted file mode 100644
index 217f3f609..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdin.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <dietstdio.h>
-
-static char __stdin_buf[BUFSIZE];
-static FILE __stdin = {
- .fd=0,
- .flags=BUFINPUT|STATICBUF,
- .bs=0, .bm=0,
- .buflen=BUFSIZE,
- .buf=__stdin_buf,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stdin=&__stdin;
-
-int __fflush_stdin(void) {
- return fflush(stdin);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/stdout.c b/mdk-stage1/dietlibc/libstdio/stdout.c
deleted file mode 100644
index 08054d0d4..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdout.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <dietstdio.h>
-
-static char __stdout_buf[BUFSIZE];
-static FILE __stdout = {
- .fd=1,
- .flags=BUFLINEWISE|STATICBUF,
- .bs=0, .bm=0,
- .buflen=BUFSIZE,
- .buf=__stdout_buf,
- .next=0,
- .popen_kludge=0,
- .ungetbuf=0,
- .ungotten=0
-#ifdef WANT_THREAD_SAFE
- , .m=PTHREAD_MUTEX_INITIALIZER
-#endif
-};
-
-FILE *stdout=&__stdout;
-
-int __fflush_stdout(void) {
- return fflush(stdout);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/tmpfile.c b/mdk-stage1/dietlibc/libstdio/tmpfile.c
deleted file mode 100644
index b20d8410d..000000000
--- a/mdk-stage1/dietlibc/libstdio/tmpfile.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-FILE *tmpfile (void) {
- int fd;
- char template[20] = "/tmp/tmpfile-XXXXXX";
- if ((fd=mkstemp(template))<0)
- return 0;
- unlink(template);
- return __stdio_init_file(fd,1);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c
deleted file mode 100644
index 133e92820..000000000
--- a/mdk-stage1/dietlibc/libstdio/ungetc.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietstdio.h"
-
-int ungetc(int c, FILE *stream) {
- if (stream->ungotten || c<0 || c>255)
- return EOF;
- stream->ungotten=1;
- stream->ungetbuf=(unsigned char)c;
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- return c;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfdprintf.c b/mdk-stage1/dietlibc/libstdio/vfdprintf.c
deleted file mode 100644
index fdfeb09e1..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfdprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-static int __fwrite(void*ptr, size_t nmemb, int fd) {
- return write(fd,ptr,nmemb);
-}
-
-int vfdprintf(int fd, const char *format, va_list arg_ptr)
-{
- struct arg_printf ap = { (void*)(long)fd, (int(*)(void*,size_t,void*)) __fwrite };
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfprintf.c b/mdk-stage1/dietlibc/libstdio/vfprintf.c
deleted file mode 100644
index 5e64cf099..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-static int __fwrite(void*ptr, size_t nmemb, FILE* f) {
- return fwrite(ptr,1,nmemb,f);
-}
-
-int vfprintf(FILE *stream, const char *format, va_list arg_ptr)
-{
- struct arg_printf ap = { stream, (int(*)(void*,size_t,void*)) __fwrite };
- return __v_printf(&ap,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vfscanf.c b/mdk-stage1/dietlibc/libstdio/vfscanf.c
deleted file mode 100644
index 6d75a45ac..000000000
--- a/mdk-stage1/dietlibc/libstdio/vfscanf.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int vfscanf(FILE *stream, const char *format, va_list arg_ptr)
-{
- struct arg_scanf farg = { (void*)stream, (int(*)(void*))fgetc, (int(*)(int,void*))ungetc };
- return __v_scanf(&farg,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/vprintf.c b/mdk-stage1/dietlibc/libstdio/vprintf.c
deleted file mode 100644
index 7fe579e0a..000000000
--- a/mdk-stage1/dietlibc/libstdio/vprintf.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include "dietstdio.h"
-
-int __stdio_outs(const char *s,size_t len) __attribute__((weak));
-int __stdio_outs(const char *s,size_t len) {
- return (write(1,s,len)==(int)len)?1:0;
-}
-
-int vprintf(const char *format, va_list ap)
-{
- struct arg_printf _ap = { 0, (int(*)(void*,size_t,void*)) __stdio_outs };
- return __v_printf(&_ap,format,ap);
-}
-
diff --git a/mdk-stage1/dietlibc/libstdio/vscanf.c b/mdk-stage1/dietlibc/libstdio/vscanf.c
deleted file mode 100644
index ba9358fc4..000000000
--- a/mdk-stage1/dietlibc/libstdio/vscanf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-int vscanf(const char *format, va_list arg_ptr)
-{
- return vfscanf(stdin,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libugly/asctime.c b/mdk-stage1/dietlibc/libugly/asctime.c
deleted file mode 100644
index e1fcc8706..000000000
--- a/mdk-stage1/dietlibc/libugly/asctime.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <time.h>
-
-static char buf[25];
-
-char *asctime(const struct tm *timeptr) {
- return asctime_r(timeptr,buf);
-}
diff --git a/mdk-stage1/dietlibc/libugly/asctime_r.c b/mdk-stage1/dietlibc/libugly/asctime_r.c
deleted file mode 100644
index 43c5e2cb2..000000000
--- a/mdk-stage1/dietlibc/libugly/asctime_r.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <time.h>
-
-static const char days[] = "Sun Mon Tue Wed Thu Fri Sat ";
-static const char months[] = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ";
-
-static void num2str(char *c,int i) {
- c[0]=i/10+'0';
- c[1]=i%10+'0';
-}
-
-char *asctime_r(const struct tm *t, char *buf) {
- /* "Wed Jun 30 21:49:08 1993\n" */
- *(int*)buf=*(int*)(days+(t->tm_wday<<2));
- *(int*)(buf+4)=*(int*)(months+(t->tm_mon<<2));
- num2str(buf+8,t->tm_mday);
- if (buf[8]=='0') buf[8]=' ';
- buf[10]=' ';
- num2str(buf+11,t->tm_hour);
-// if (buf[11]=='0') buf[11]=' ';
- buf[13]=':';
- num2str(buf+14,t->tm_min);
- buf[16]=':';
- num2str(buf+17,t->tm_sec);
- buf[19]=' ';
- num2str(buf+20,(t->tm_year+1900)/100);
- num2str(buf+22,(t->tm_year+1900)%100);
- buf[24]='\n';
- return buf;
-}
diff --git a/mdk-stage1/dietlibc/libugly/asprintf.c b/mdk-stage1/dietlibc/libugly/asprintf.c
deleted file mode 100644
index 9db1f67c7..000000000
--- a/mdk-stage1/dietlibc/libugly/asprintf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "dietwarning.h"
-
-int asprintf(char **s, const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
- va_start (arg_ptr, format);
- if ((*s=malloc(n+1))) {
- n=vsnprintf(*s,n+1,format,arg_ptr);
- return n;
- }
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/ctime.c b/mdk-stage1/dietlibc/libugly/ctime.c
deleted file mode 100644
index a0e12d673..000000000
--- a/mdk-stage1/dietlibc/libugly/ctime.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <time.h>
-
-char *ctime(const time_t *timep) {
- return asctime(localtime(timep));
-}
diff --git a/mdk-stage1/dietlibc/libugly/difftime.c b/mdk-stage1/dietlibc/libugly/difftime.c
deleted file mode 100644
index fc71363c7..000000000
--- a/mdk-stage1/dietlibc/libugly/difftime.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <time.h>
-#include "../dietwarning.h"
-
-double difftime(time_t time1, time_t time2) {
- return (double)time1 - (double)time2;
-}
-
-link_warning("difftime","warning: difftime introduces an unnecessary floating point dependency. Don't use it!")
diff --git a/mdk-stage1/dietlibc/libugly/dirfd.c b/mdk-stage1/dietlibc/libugly/dirfd.c
deleted file mode 100644
index 8d5af8b9a..000000000
--- a/mdk-stage1/dietlibc/libugly/dirfd.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/types.h>
-#include "dietdirent.h"
-#define _BSD_SOURCE
-#include <dirent.h>
-
-int dirfd(DIR* dirp) {
- return dirp->fd;
-}
diff --git a/mdk-stage1/dietlibc/libugly/endmntent.c b/mdk-stage1/dietlibc/libugly/endmntent.c
deleted file mode 100644
index 00ade38e5..000000000
--- a/mdk-stage1/dietlibc/libugly/endmntent.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include <mntent.h>
-
-int endmntent(FILE *filep) {
- return fclose(filep);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/facilitynames.c b/mdk-stage1/dietlibc/libugly/facilitynames.c
deleted file mode 100644
index 8b0e1f21f..000000000
--- a/mdk-stage1/dietlibc/libugly/facilitynames.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <sys/syslog.h>
-
-#ifndef INTERNAL_MARK
-#define INTERNAL_MARK 0x300
-#endif
-
-CODE facilitynames[] =
- {
- { "auth", LOG_AUTH },
- { "authpriv", LOG_AUTHPRIV },
- { "cron", LOG_CRON },
- { "daemon", LOG_DAEMON },
- { "ftp", LOG_FTP },
- { "kern", LOG_KERN },
- { "lpr", LOG_LPR },
- { "mail", LOG_MAIL },
- { "mark", INTERNAL_MARK }, /* INTERNAL */
- { "news", LOG_NEWS },
- { "security", LOG_AUTH }, /* DEPRECATED */
- { "syslog", LOG_SYSLOG },
- { "user", LOG_USER },
- { "uucp", LOG_UUCP },
- { "local0", LOG_LOCAL0 },
- { "local1", LOG_LOCAL1 },
- { "local2", LOG_LOCAL2 },
- { "local3", LOG_LOCAL3 },
- { "local4", LOG_LOCAL4 },
- { "local5", LOG_LOCAL5 },
- { "local6", LOG_LOCAL6 },
- { "local7", LOG_LOCAL7 },
- { 0, -1 }
- };
diff --git a/mdk-stage1/dietlibc/libugly/freeaddrinfo.c b/mdk-stage1/dietlibc/libugly/freeaddrinfo.c
deleted file mode 100644
index 72a13f5e1..000000000
--- a/mdk-stage1/dietlibc/libugly/freeaddrinfo.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/socket.h>
-#include <stdlib.h>
-
-void freeaddrinfo(struct addrinfo *res) {
- while (res) {
- struct addrinfo *duh;
- duh=res;
- res=res->ai_next;
- free(duh);
- }
-}
diff --git a/mdk-stage1/dietlibc/libugly/ftime.c b/mdk-stage1/dietlibc/libugly/ftime.c
deleted file mode 100644
index 3aa2d15c3..000000000
--- a/mdk-stage1/dietlibc/libugly/ftime.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/time.h>
-#include <sys/timeb.h>
-#include <unistd.h>
-
-int ftime(struct timeb *tp) {
- struct timeval tv;
- struct timezone tz;
- int ret=gettimeofday(&tv,&tz);
- tp->time = tv.tv_sec;
- tp->millitm = tv.tv_usec/1000;
- tp->timezone = tz.tz_minuteswest;
- tp->dstflag = tz.tz_dsttime;
- return ret;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/gai_strerror.c b/mdk-stage1/dietlibc/libugly/gai_strerror.c
deleted file mode 100644
index 9dc4f5dde..000000000
--- a/mdk-stage1/dietlibc/libugly/gai_strerror.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/socket.h>
-
-const char* gai_strerror(int error) {
- switch (error) {
- case EAI_FAMILY: return "family not supported";
- case EAI_SOCKTYPE: return "socket type not supported";
- case EAI_NONAME: return "unknown host";
- case EAI_SERVICE: return "unknown service";
- case EAI_MEMORY: return "memory allocation failure";
- case EAI_AGAIN: return "temporary failure";
- }
- return "DNS error. Sorry.";
-}
diff --git a/mdk-stage1/dietlibc/libugly/getaddrinfo.c b/mdk-stage1/dietlibc/libugly/getaddrinfo.c
deleted file mode 100644
index a4675d92b..000000000
--- a/mdk-stage1/dietlibc/libugly/getaddrinfo.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <stdlib.h>
-#include <string.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-
-/* XXX TODO FIXME */
-
-int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) {
- struct addrinfo **tmp;
- int family;
- tmp=res; *res=0;
- if (hints) {
- if (hints->ai_family && hints->ai_family != PF_INET6 && hints->ai_family != PF_INET) return EAI_FAMILY;
- if (hints->ai_socktype && hints->ai_socktype != SOCK_STREAM && hints->ai_socktype != SOCK_DGRAM) return EAI_SOCKTYPE;
- }
- for (family=PF_INET6; ; family=PF_INET) {
- if (!hints || hints->ai_family==family || hints->ai_family==AF_UNSPEC) { /* IPv6 addresses are OK */
- struct hostent h;
- struct hostent *H;
- int herrno=0;
- char buf[4096];
- int lookupok=0;
- h.h_addr_list=(char**)buf+16;
- if (node) {
- if (inet_pton(family,node,buf)>0) {
- h.h_name=(char*)node;
- h.h_addr_list[0]=buf;
- lookupok=1;
- } else if ((!hints || !(hints->ai_flags&AI_NUMERICHOST)) &&
- !gethostbyname2_r(node,family,&h,buf,4096,&H,&herrno)) {
- lookupok=1;
- } else {
- if (herrno==TRY_AGAIN) { freeaddrinfo(*res); return EAI_AGAIN; }
- }
- } else {
- h.h_name=0;
- h.h_addr_list[0]=buf;
- memset(buf,0,16);
- if (!hints || !(hints->ai_flags&AI_PASSIVE)) {
- if (family==AF_INET) {
- buf[0]=127; buf[3]=1;
- } else
- buf[15]=1;
- }
- lookupok=1;
- }
- if (lookupok) {
- struct ai_v6 {
- struct addrinfo ai;
- union {
- struct sockaddr_in6 ip6;
- struct sockaddr_in ip4;
- } ip;
- char name[1];
- } *foo;
- unsigned short port;
- int len=sizeof(struct ai_v6)+(h.h_name?strlen(h.h_name):0);
- if (!(foo=malloc(len))) goto error;
- foo->ai.ai_next=0;
- foo->ai.ai_socktype=SOCK_STREAM;
- foo->ai.ai_protocol=IPPROTO_TCP;
- foo->ai.ai_addrlen=family==PF_INET6?sizeof(struct sockaddr_in6):sizeof(struct sockaddr_in);
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- if (family==PF_INET6) {
- memset(&foo->ip,0,sizeof(foo->ip));
- memmove(&foo->ip.ip6.sin6_addr,h.h_addr_list[0],16);
- } else {
- memmove(&foo->ip.ip4.sin_addr,h.h_addr_list[0],4);
- }
- foo->ip.ip6.sin6_family=foo->ai.ai_family=family;
- if (h.h_name) {
- foo->ai.ai_canonname=foo->name;
- memmove(foo->name,h.h_name,strlen(h.h_name)+1);
- } else
- foo->ai.ai_canonname=0;
- if (!hints || hints->ai_socktype!=SOCK_DGRAM) { /* TCP is OK */
- char *x;
- port=htons(strtol(service?service:"0",&x,0));
- if (*x) { /* service is not numeric :-( */
- struct servent* se;
- if ((se=getservbyname(service,"tcp"))) { /* found a service. */
- port=se->s_port;
- blah1:
- if (family==PF_INET6)
- foo->ip.ip6.sin6_port=port;
- else
- foo->ip.ip4.sin_port=port;
- if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai);
- if (!(foo=malloc(len))) goto error;
- memmove(foo,*tmp,len);
- tmp=&(*tmp)->ai_next;
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- if (foo->ai.ai_canonname)
- foo->ai.ai_canonname=foo->name;
- } else {
- freeaddrinfo(*res);
- return EAI_SERVICE;
- }
- } else goto blah1;
- }
- foo->ai.ai_socktype=SOCK_DGRAM;
- foo->ai.ai_protocol=IPPROTO_UDP;
- if (!hints || hints->ai_socktype!=SOCK_STREAM) { /* UDP is OK */
- char *x;
- port=htons(strtol(service?service:"0",&x,0));
- if (*x) { /* service is not numeric :-( */
- struct servent* se;
- if ((se=getservbyname(service,"udp"))) { /* found a service. */
- port=se->s_port;
- blah2:
- if (family==PF_INET6)
- foo->ip.ip6.sin6_port=port;
- else
- foo->ip.ip4.sin_port=port;
- if (!*tmp) *tmp=&(foo->ai); else (*tmp)->ai_next=&(foo->ai);
- if (!(foo=malloc(len))) goto error;
- memmove(foo,*tmp,len);
- tmp=&(*tmp)->ai_next;
- foo->ai.ai_addr=(struct sockaddr*)&foo->ip;
- foo->ai.ai_canonname=foo->name;
- } else {
- freeaddrinfo(*res);
- return EAI_SERVICE;
- }
- } else goto blah2;
- }
- free(foo);
- }
- }
- if (family==PF_INET) break;
- }
- if (*res==0) return EAI_NONAME; /* kludge kludge... */
- return 0;
-error:
- freeaddrinfo(*res);
- return EAI_MEMORY;
-}
diff --git a/mdk-stage1/dietlibc/libugly/gethostent.c b/mdk-stage1/dietlibc/libugly/gethostent.c
deleted file mode 100644
index fe92beacf..000000000
--- a/mdk-stage1/dietlibc/libugly/gethostent.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <ctype.h>
-#include <netdb.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include "dietfeatures.h"
-
-static char* hostmap=0;
-static unsigned int hostlen;
-
-static char *cur;
-
-/* ::1 localhost6 alias1 alias2 # internet protocol, pseudo protocol number */
-struct hostent* gethostent_r(char* buf, int len) {
- char *dest;
- struct hostent* pe=(struct hostent*)buf;
- char* last;
- char* max=buf+len;
- int aliasidx;
- if (!hostmap) {
- int hostfd=open(_PATH_HOSTS,O_RDONLY);
- if (hostfd<0) return 0;
- hostlen=lseek(hostfd,0,SEEK_END);
- hostmap=mmap(0,hostlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,hostfd,0);
- if ((long)hostmap==(-1)) { close(hostfd); hostmap=0; goto error; }
- close(hostfd); hostfd=-1;
- cur=hostmap;
- }
- last=hostmap+hostlen;
-again:
- if ((size_t)len<sizeof(struct hostent)+11*sizeof(char*)) goto nospace;
- dest=buf+sizeof(struct hostent);
- pe->h_name=0;
- pe->h_aliases=(char**)dest; pe->h_aliases[0]=0; dest+=10*sizeof(char*);
- pe->h_addr_list=(char**)dest; dest+=2*sizeof(char**);
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the ip number */
- pe->h_name=cur;
- while (cur<last && !isspace(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- {
- char save=*cur;
- *cur=0;
- pe->h_addr_list[0]=dest;
- pe->h_addr_list[1]=0;
- if (max-dest<16) goto nospace;
- if (inet_pton(AF_INET6,pe->h_name,dest)>0) {
- pe->h_addrtype=AF_INET6;
- pe->h_length=16;
- dest+=16;
- } else if (inet_pton(AF_INET,pe->h_name,dest)>0) {
- pe->h_addrtype=AF_INET;
- pe->h_length=4;
- dest+=4;
- } else {
- *cur=save;
- goto parseerror;
- }
- *cur=save;
- }
- ++cur;
- /* now the aliases */
- for (aliasidx=0;aliasidx<9;++aliasidx) {
- while (cur<last && isblank(*cur)) ++cur;
- pe->h_aliases[aliasidx]=cur;
- while (cur<last && !isspace(*cur)) ++cur;
- {
- char *from=pe->h_aliases[aliasidx];
- int len=cur-from;
- if (max-dest<len+2) goto nospace;
- pe->h_aliases[aliasidx]=dest;
- memmove(dest,from,(size_t)(cur-from));
- dest+=len;
- *dest=0; ++dest;
- }
- if (*cur=='\n') { ++cur; ++aliasidx; break; }
- if (cur>=last || !isblank(*cur)) break;
- cur++;
- }
- pe->h_aliases[aliasidx]=0;
- pe->h_name=pe->h_aliases[0];
- pe->h_aliases++;
- return pe;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-nospace:
- errno=ERANGE;
- goto __error;
-error:
- errno=ENOMEM;
-__error:
- if (hostmap!=(char*)-1) munmap(hostmap,hostlen);
- hostmap=(char*)-1;
- return 0;
-}
-
-void sethostent(int stayopen) {
- (void)stayopen;
- cur=hostmap;
-}
-
-void endhostent(void) {
- if (hostmap!=(char*)-1) munmap(hostmap,hostlen);
- hostmap=0;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/getmntent.c b/mdk-stage1/dietlibc/libugly/getmntent.c
deleted file mode 100644
index 1a1bdca24..000000000
--- a/mdk-stage1/dietlibc/libugly/getmntent.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <mntent.h>
-#include <string.h>
-
-struct mntent *getmntent(FILE *filep) {
- static struct mntent m;
- static char buf[1024];
- do {
- char *tmp=buf;
- int num;
- if (!fgets(buf,1024,filep)) return 0;
-/* "/dev/ide/host0/bus0/target0/lun0/part2 / reiserfs defaults 1 1" */
- for (num=0; num<6; ++num) {
- switch (num) {
- case 0: m.mnt_fsname=tmp; break;
- case 1: m.mnt_dir=tmp; break;
- case 2: m.mnt_type=tmp; break;
- case 3: m.mnt_opts=tmp; break;
- case 4: m.mnt_freq=strtol(tmp,&tmp,0); if (*tmp!=' ' && *tmp!='\t') continue; break;
- case 5: m.mnt_passno=strtol(tmp,&tmp,0); if (*tmp=='\n') return &m; break;
- }
- while (*tmp && *tmp!=' ' && *tmp!='\n' && *tmp!='\t') ++tmp;
- if (*tmp) {
- if (num<4) *tmp++=0;
- while (*tmp==' ' || *tmp=='\t') ++tmp;
- } else
- continue;
- }
- } while (1);
-}
diff --git a/mdk-stage1/dietlibc/libugly/getnameinfo.c b/mdk-stage1/dietlibc/libugly/getnameinfo.c
deleted file mode 100644
index 40883ba09..000000000
--- a/mdk-stage1/dietlibc/libugly/getnameinfo.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
- size_t hostlen, char *serv, size_t servlen, int flags) {
- sa_family_t f=((struct sockaddr_storage *)sa)->ss_family;
- (void)salen; /* shut gcc up about unused salen */
- if (host && hostlen>0) { /* user wants me to resolve the host name */
- register const char*addr=(f==AF_INET6)?(char*)&((struct sockaddr_in6*)sa)->sin6_addr:
- (char*)&((struct sockaddr_in*)sa)->sin_addr;
- if (flags&NI_NUMERICHOST) {
- if (!inet_ntop(f,addr,host,hostlen))
- return EAI_NONAME;
- } else {
- char buf[4096];
- struct hostent h;
- struct hostent *H;
- int herrno;
- if (gethostbyaddr_r(addr,f==AF_INET6?16:4,f,&h,buf,4096,&H,&herrno)) {
- switch (herrno) {
- case TRY_AGAIN: return EAI_AGAIN;
- case NO_DATA:
- case HOST_NOT_FOUND: return EAI_NONAME;
- }
- }
- strncpy(host,h.h_name,hostlen-1);
- host[hostlen-1]=0;
- }
- }
- if (serv && servlen>0) {
- register short int port=(f==AF_INET6)?((struct sockaddr_in6*)sa)->sin6_port:((struct sockaddr_in*)sa)->sin_port;
- if (flags&NI_NUMERICSERV) {
- __ltostr(serv,servlen,ntohs(port),10,0);
- } else {
- struct servent *s;
- if (!(s=getservbyport(port,flags&NI_DGRAM?"udp":"tcp")))
- return EAI_SERVICE;
- }
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname.c b/mdk-stage1/dietlibc/libugly/getprotobyname.c
deleted file mode 100644
index 1de348791..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobyname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotobyname(const char *name) {
- struct protoent* tmp;
- if (getprotobyname_r(name,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c b/mdk-stage1/dietlibc/libugly/getprotobyname_r.c
deleted file mode 100644
index 3b1219aa7..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobyname_r.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getprotobyname_r(const char* name,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- while (!getprotoent_r(res,buf,buflen,res_sig)) {
- int i;
- if (!strcmp(res->p_name,name)) goto found;
- for (i=0; res->p_aliases[i]; ++i)
- if (!strcmp(res->p_aliases[i],name)) goto found;
- }
- *res_sig=0;
-found:
- endprotoent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber.c b/mdk-stage1/dietlibc/libugly/getprotobynumber.c
deleted file mode 100644
index 6170753e2..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobynumber.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotobynumber(int proto) {
- struct protoent* tmp;
- if (getprotobynumber_r(proto,&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c b/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c
deleted file mode 100644
index 2ca439fc6..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotobynumber_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getprotobynumber_r(int proto,
- struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- while (!getprotoent_r(res,buf,buflen,res_sig))
- if (proto==res->p_proto) goto found;
- *res_sig=0;
-found:
- endprotoent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent.c b/mdk-stage1/dietlibc/libugly/getprotoent.c
deleted file mode 100644
index 3f0fd4d41..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <netdb.h>
-
-extern struct protoent __protoent_pw;
-extern char __protoent_buf[1000];
-
-struct protoent *getprotoent(void) {
- struct protoent* tmp;
- getprotoent_r(&__protoent_pw,__protoent_buf,sizeof(__protoent_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent_r.c b/mdk-stage1/dietlibc/libugly/getprotoent_r.c
deleted file mode 100644
index aa9af79c3..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent_r.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <string.h>
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <netdb.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setprotoent(int stayopen) {
- (void)stayopen;
- __prepare_parse(_PATH_PROTOCOLS,&__ps);
-}
-
-void endprotoent(void) {
- __end_parse(&__ps);
-}
-
-#define ALIASES 16
-
-/* "igmp 2 IGMP # internet group management protocol" */
-int getprotoent_r(struct protoent *res, char *buf, size_t buflen,
- struct protoent **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setprotoent(0);
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->p_aliases=(char**)buf;
-/* getprotoent */
-again:
- n=ALIASES*sizeof(char*); g=0;
- for (i=0; i<3; ++i) {
- char found;
- __ps.cur+=__parse_ws(&__ps);
- if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; }
- j=__parse_nws(&__ps);
- if (!isblank(found=__ps.buffirst[__ps.cur+j])) {
- if (i==2) break; /* it's ok, no (more) aliases necessary */
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- }
- switch (i) {
- case 0:
- res->p_name=buf+n;
-copy:
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if ((found=='\n' || found=='#') && i==1) i=3;
- break;
- case 1:
- if (scan_ulong(__ps.buffirst+__ps.cur,&l)!=j) goto parseerror;
- res->p_proto=l;
- break;
- case 2:
- res->p_aliases[g]=buf+n;
- ++g;
- if (g==(ALIASES-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->p_aliases[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyname.c b/mdk-stage1/dietlibc/libugly/getservbyname.c
deleted file mode 100644
index f1c74eaa9..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyname.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservbyname(const char *name, const char *proto) {
- struct servent* tmp;
- if (getservbyname_r(name,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyname_r.c b/mdk-stage1/dietlibc/libugly/getservbyname_r.c
deleted file mode 100644
index f523a01ca..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyname_r.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getservbyname_r(const char* name,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- while (!getservent_r(res,buf,buflen,res_sig)) {
- int i;
- if (proto && strcmp(res->s_proto,proto)) continue;
- if (!strcmp(res->s_name,name)) goto found;
- for (i=0; res->s_aliases[i]; ++i)
- if (!strcmp(res->s_aliases[i],name)) goto found;
- }
- *res_sig=0;
-found:
- endservent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyport.c b/mdk-stage1/dietlibc/libugly/getservbyport.c
deleted file mode 100644
index 2821deb63..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyport.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservbyport(int port, const char *proto) {
- struct servent* tmp;
- if (getservbyport_r(port,proto,&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp)==0)
- return tmp;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservbyport_r.c b/mdk-stage1/dietlibc/libugly/getservbyport_r.c
deleted file mode 100644
index 9c0f21bdf..000000000
--- a/mdk-stage1/dietlibc/libugly/getservbyport_r.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <string.h>
-#include <netdb.h>
-
-extern int getservbyport_r(int port,const char* proto,
- struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- while (!getservent_r(res,buf,buflen,res_sig))
- if (port==res->s_port && !strcmp(res->s_proto,proto)) goto ok;
- *res_sig=0;
-ok:
- endservent();
- return *res_sig?0:-1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservent.c b/mdk-stage1/dietlibc/libugly/getservent.c
deleted file mode 100644
index 9eabc972a..000000000
--- a/mdk-stage1/dietlibc/libugly/getservent.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <netdb.h>
-
-extern struct servent __servent_pw;
-extern char __servent_buf[1000];
-
-struct servent *getservent(void) {
- struct servent* tmp;
- getservent_r(&__servent_pw,__servent_buf,sizeof(__servent_buf),&tmp);
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/getservent_r.c b/mdk-stage1/dietlibc/libugly/getservent_r.c
deleted file mode 100644
index 33db6f31d..000000000
--- a/mdk-stage1/dietlibc/libugly/getservent_r.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <netdb.h>
-#include <ctype.h>
-#include "parselib.h"
-
-static struct state __ps;
-
-void setservent(int stayopen) {
- (void)stayopen;
- __prepare_parse(_PATH_SERVICES,&__ps);
-}
-
-void endservent(void) {
- __end_parse(&__ps);
-}
-
-#define ALIASES 16
-
-/* "tcpmux 1/tcp # TCP port multiplexer (RFC1078)" */
-int getservent_r(struct servent *res, char *buf, size_t buflen,
- struct servent **res_sig) {
- size_t i,j,n,g;
- unsigned long l;
- if (!__ps.buffirst) setservent(0);
- if (!__ps.buffirst) goto error;
- if (__ps.cur>=__ps.buflen) goto error;
- res->s_aliases=(char**)buf;
-/* getservent */
-again:
- n=ALIASES*sizeof(char*); g=0;
- for (i=0; i<3; ++i) {
- char found;
- __ps.cur+=__parse_ws(&__ps);
- if (__ps.cur>=__ps.buflen) { if (i==2) break; else goto error; }
- j=__parse_nws(&__ps);
- if (!isblank(found=__ps.buffirst[__ps.cur+j])) {
- if (i==2 && found=='#') break;
- if (found=='#' || (i>1 && found!='\n')) {
-parseerror:
- while (__ps.cur+j<__ps.buflen) {
- if (__ps.buffirst[__ps.cur+j]=='\n') {
- __ps.cur+=j+1;
- goto again;
- }
- ++j;
- }
- goto error;
- }
- }
- switch (i) {
- case 0:
- res->s_name=buf+n;
-copy:
- if (!j) goto parseerror;
- if ((size_t)buflen<=n+j) goto error;
- memcpy(buf+n,__ps.buffirst+__ps.cur,j);
- buf[n+j]=0;
- n+=j+1;
- if ((found=='\n' || found=='#') && i==1) i=3;
- break;
- case 1:
- {
- int k;
- k=scan_ulong(__ps.buffirst+__ps.cur,&l);
- if (__ps.buffirst[__ps.cur+k]!='/') {
- goto parseerror;
- }
- res->s_port=htons(l);
- res->s_proto=buf+n;
- j-=k+1; __ps.cur+=k+1;
- goto copy;
- }
- case 2:
- res->s_aliases[g]=buf+n;
- ++g;
- if (g==(ALIASES-1)) break;
- --i; /* again */
- goto copy;
- }
- __ps.cur+=j+1;
- }
- res->s_aliases[g]=0;
- *res_sig=res;
- return 0;
-error:
- *res_sig=0;/* the glibc people should be taken behind the barn and shot */
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/gmtime.c b/mdk-stage1/dietlibc/libugly/gmtime.c
deleted file mode 100644
index d33af7972..000000000
--- a/mdk-stage1/dietlibc/libugly/gmtime.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <time.h>
-
-struct tm* gmtime(const time_t *t) {
- static struct tm tmp;
- return gmtime_r(t,&tmp);
-}
diff --git a/mdk-stage1/dietlibc/libugly/gmtime_r.c b/mdk-stage1/dietlibc/libugly/gmtime_r.c
deleted file mode 100644
index 6bc0bb5b2..000000000
--- a/mdk-stage1/dietlibc/libugly/gmtime_r.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <time.h>
-
-/* seconds per day */
-#define SPD 24*60*60
-
-extern short __spm[];
-
-struct tm *gmtime_r(const time_t *timep, struct tm *r) {
- time_t i;
- register time_t work=*timep%(SPD);
- r->tm_sec=work%60; work/=60;
- r->tm_min=work%60; r->tm_hour=work/60;
- work=*timep/(SPD);
- r->tm_wday=(4+work)%7;
- for (i=1970; ; ++i) {
- register time_t k=__isleap(i)?366:365;
- if (work>=k)
- work-=k;
- else
- break;
- }
- r->tm_year=i-1900;
- r->tm_yday=work;
-
- r->tm_mday=1;
- if (__isleap(i) && (work>58)) {
- if (work==59) r->tm_mday=2; /* 29.2. */
- work-=1;
- }
-
- for (i=11; i && (__spm[i]>work); --i) ;
- r->tm_mon=i;
- r->tm_mday+=work-__spm[i];
- return r;
-}
diff --git a/mdk-stage1/dietlibc/libugly/grantpt.c b/mdk-stage1/dietlibc/libugly/grantpt.c
deleted file mode 100644
index 0aa903b29..000000000
--- a/mdk-stage1/dietlibc/libugly/grantpt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#define _XOPEN_SOURCE
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-
-int grantpt (int fd) {
- struct stat st;
- if ((fstat(fd, &st))<0) return -1;
- if ((chmod((char*)ptsname(fd), st.st_mode | S_IRUSR | S_IWUSR | S_IWGRP))<0)
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/hasmntopt.c b/mdk-stage1/dietlibc/libugly/hasmntopt.c
deleted file mode 100644
index 2a547feee..000000000
--- a/mdk-stage1/dietlibc/libugly/hasmntopt.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <string.h>
-#include <mntent.h>
-
-char *hasmntopt(const struct mntent *mnt, const char *opt) {
- char *s=mnt->mnt_opts;
- char *c;
- int len=strlen(opt);
- if (!s) return 0;
- for (c=s;;) {
- if (!(c=strstr(c,opt))) break;
- if (c==s || c[-1]==',') {
- if (c[len]==0 || c[len]==',' || c[len]=='=')
- return c;
- }
- c+=len+1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv.c b/mdk-stage1/dietlibc/libugly/iconv.c
deleted file mode 100644
index 45be5d91d..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include "dietfeatures.h"
-#include <errno.h>
-#include "dieticonv.h"
-#include <netinet/in.h>
-
-size_t iconv(iconv_t cd, const char* * inbuf, size_t *
- inbytesleft, char* * outbuf, size_t * outbytesleft) {
- size_t converted=0,i,j,k;
- int bits;
- if (!inbuf || !*inbuf) return 0;
- while (*inbytesleft) {
- unsigned int v=0;
- v=*(unsigned char*)*inbuf;
- i=j=1;
- switch (ic_from(cd)) {
- case UCS_2:
- v=ntohs(*(unsigned short*)*inbuf);
- i=2;
- break;
- case UCS_4:
- v=ntohs(*(unsigned int*)*inbuf);
- i=4;
- case ISO_8859_1:
- break;
- case UTF_8:
- if (!(v&0x80)) break;
- for (i=0xC0; i!=0xFC; i=(i>>1)+0x80)
- if ((v&((i>>1)|0x80))==i) {
- v&=~i;
- break;
- }
- for (i=1; ((*inbuf)[i]&0xc0)==0x80; ++i)
- v=(v<<6)|((*inbuf)[i]&0x3f);
-/* printf("got %u in %u bytes, buflen %u\n",v,i,*inbytesleft); */
- break;
- }
- switch (ic_to(cd)) {
- case ISO_8859_1:
- **outbuf=(unsigned char)v;
- break;
- case UCS_2:
- *(unsigned short*)*outbuf=htons(v);
- j=2;
- break;
- case UCS_4:
- *(unsigned int*)*outbuf=htonl(v);
- j=4;
- break;
- case UTF_8:
- if (v>0x04000000) { bits=30; **outbuf=0xFC; j=6; } else
- if (v>0x00200000) { bits=24; **outbuf=0xF8; j=5; } else
- if (v>0x00010000) { bits=18; **outbuf=0xF0; j=4; } else
- if (v>0x00000800) { bits=12; **outbuf=0xE0; j=3; } else
- if (v>0x00000080) { bits=6; **outbuf=0xC0; j=2; } else
- { bits=0; **outbuf=0; }
- **outbuf |= (unsigned char)(v>>bits);
- if (*outbytesleft<j) {
- errno=E2BIG;
- return (size_t)-1;
- }
- for (k=1; k<j; ++k) {
- bits-=6;
- (*outbuf)[k]=0x80+((v>>bits)&0x3F);
- }
- break;
- }
- *inbuf+=i; *inbytesleft-=i; ++converted;
- *outbuf+=j; *outbytesleft-=j;
- }
- return converted;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv_close.c b/mdk-stage1/dietlibc/libugly/iconv_close.c
deleted file mode 100644
index 7d5d4c4b9..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv_close.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdlib.h>
-#include "dieticonv.h"
-
-int iconv_close(iconv_t cd) {
- (void)cd; /* shut gcc up about unused cd */
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libugly/iconv_open.c b/mdk-stage1/dietlibc/libugly/iconv_open.c
deleted file mode 100644
index eabab4273..000000000
--- a/mdk-stage1/dietlibc/libugly/iconv_open.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <string.h>
-#include <strings.h>
-#include "dietfeatures.h"
-#include <errno.h>
-#include <stdlib.h>
-#include "dieticonv.h"
-
-static enum charset parsecharset(const char* s) {
- if (!strcasecmp(s,"UTF-8")) return UTF_8; else
- if (!strcasecmp(s,"UCS-2") || !strcasecmp(s,"UCS2")) return UCS_2; else
- if (!strcasecmp(s,"UCS-4") || !strcasecmp(s,"UCS4")) return UCS_4; else
- if (!strcasecmp(s,"ISO-8859-1")) return ISO_8859_1; else
- if (!strcasecmp(s,"US-ASCII")) return ISO_8859_1; else
- return INVALID;
-}
-
-iconv_t iconv_open(const char* tocode, const char* fromcode) {
- int f,t;
-
- f=parsecharset(fromcode);
- t=parsecharset(tocode);
-
- if (f==INVALID || t==INVALID) {
- errno=EINVAL;
- return (iconv_t)(-1);
- }
- return (f|t<<16);
-}
diff --git a/mdk-stage1/dietlibc/libugly/isleap.c b/mdk-stage1/dietlibc/libugly/isleap.c
deleted file mode 100644
index d83712792..000000000
--- a/mdk-stage1/dietlibc/libugly/isleap.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <time.h>
-
-int __isleap(int year) {
- /* every fourth year is a leap year except for century years that are
- * not divisible by 400. */
-/* return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); */
- return (!(year%4) && ((year%100) || !(year%400)));
-}
diff --git a/mdk-stage1/dietlibc/libugly/localtime.c b/mdk-stage1/dietlibc/libugly/localtime.c
deleted file mode 100644
index 6fa6acf8a..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <time.h>
-
-struct tm* localtime(const time_t* t) {
- static struct tm tmp;
- return localtime_r(t,&tmp);
-}
diff --git a/mdk-stage1/dietlibc/libugly/localtime_r.c b/mdk-stage1/dietlibc/libugly/localtime_r.c
deleted file mode 100644
index 5d420303c..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime_r.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-#include <time.h>
-#include <sys/time.h>
-
-#ifdef WANT_TZFILE_PARSER
-extern void __maplocaltime(void);
-extern time_t __tzfile_map(time_t t, int *isdst);
-#else
-extern long int timezone;
-extern int daylight;
-#endif
-
-struct tm* localtime_r(const time_t* t, struct tm* r) {
- time_t tmp;
-#ifdef WANT_TZFILE_PARSER
- __maplocaltime();
- tmp=__tzfile_map(*t,&r->tm_isdst);
-#else
- struct timezone tz;
- gettimeofday(0, &tz);
- timezone=tz.tz_minuteswest*60L;
- tmp=*t+timezone;
-#endif
- return gmtime_r(&tmp,r);
-}
diff --git a/mdk-stage1/dietlibc/libugly/logging.c b/mdk-stage1/dietlibc/libugly/logging.c
deleted file mode 100644
index 680a1f850..000000000
--- a/mdk-stage1/dietlibc/libugly/logging.c
+++ /dev/null
@@ -1,197 +0,0 @@
-#include <errno.h>
-#include "dietfeatures.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <sys/socket.h>
-#include <signal.h>
-
-#define _PATH_CONSOLE "/dev/console"
-#define BUF_SIZE 2048 /* messagebuffer size (>= 200) */
-
-#define MAX_LOGTAG 1000
-
-/* those have to be global *sigh* */
-static volatile int connected = 0; /* have done connect */
-static volatile int LogMask = 0xff; /* mask of priorities to be logged */
-static char LogTag[MAX_LOGTAG]; /* string to tag the entry with */
-static int LogFile = -1; /* fd for log */
-static int LogType = SOCK_DGRAM; /* type of socket connection */
-static int LogFacility = LOG_USER; /* default facility code */
-static int LogStat; /* status bits, set by openlog() */
-extern char *__progname; /* Program name, from crt0. */
-static struct sockaddr SyslogAddr; /* AF_UNIX address of local logger */
-
-static void closelog_intern(void)
-{
- if (!connected) return;
- close(LogFile);
- LogFile = -1;
- connected = 0;
-}
-
-void __libc_closelog(void);
-void __libc_closelog(void)
-{
- closelog_intern();
-
- LogTag[0]=0;
- LogType = SOCK_DGRAM;
-}
-void closelog(void) __attribute__((weak,alias("__libc_closelog")));
-
-static void openlog_intern(int option, int facility)
-{
- LogStat = option;
- if (facility && ((facility & ~LOG_FACMASK) == 0))
- LogFacility = facility;
-
- /* yep, there is a continue inside ;) */
- while(1) {
- if (LogFile == -1) {
- SyslogAddr.sa_family = AF_UNIX;
- strncpy(SyslogAddr.sa_data, _PATH_LOG, sizeof(SyslogAddr.sa_data));
- if (LogStat & LOG_NDELAY)
- {
- if ((LogFile = socket(AF_UNIX, LogType, 0)) == -1) return;
- fcntl(LogFile, F_SETFD, 1);
- }
- }
- if ((LogFile != -1) && !connected) {
- int old_errno=errno;
- if(connect(LogFile, &SyslogAddr, sizeof(SyslogAddr)) == -1) {
- int saved_errno=errno;
- close(LogFile);
- LogFile = -1;
- if((LogType == SOCK_DGRAM) && (saved_errno == EPROTOTYPE)) {
- /* retry with SOCK_STREAM instead of SOCK_DGRAM */
- LogType = SOCK_STREAM;
- errno=old_errno;
- continue;
- }
- }
- else connected = 1;
- }
- break;
- }
-}
-
-/* has to be secured against multiple, simultanious call's in threaded environment */
-void __libc_openlog(const char *ident, int option, int facility);
-void __libc_openlog(const char *ident, int option, int facility)
-{
- if (ident) {
- strncpy(LogTag,ident,MAX_LOGTAG);
- LogTag[MAX_LOGTAG-1]=0;
- }
- openlog_intern(option, facility);
-}
-void openlog(const char *ident, int option, int facility) __attribute__((weak,alias("__libc_openlog")));
-
-int setlogmask(int mask)
-{
- int old = LogMask;
- if (mask) LogMask = mask;
- return old;
-}
-
-void __libc_vsyslog(int priority, const char *format, va_list arg_ptr);
-void __libc_vsyslog(int priority, const char *format, va_list arg_ptr)
-{
- char buffer[BUF_SIZE];
- char time_buf[20];
- int buflen, headerlen;
- time_t now;
- struct tm now_tm;
- pid_t pid;
- int fd;
- int sigpipe;
- struct sigaction action, oldaction;
- struct sigaction *oldaction_ptr = NULL;
- int saved_errno = errno;
-
- /* check for invalid priority/facility bits */
- if (priority & ~(LOG_PRIMASK|LOG_FACMASK)) {
- syslog(LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID, "syslog: unknown facility/priorityority: %x", priority);
- priority &= LOG_PRIMASK|LOG_FACMASK;
- }
-
- /* check priority against setlogmask */
- if ((LOG_MASK(LOG_PRI(priority)) && LogMask) == 0) return;
-
- /* Set default facility if none specified. */
- if ((priority & LOG_FACMASK) == 0) priority |= LogFacility;
-
- pid = getpid();
- time(&now);
- strftime(time_buf, 20, "%h %e %T", localtime_r (&now, &now_tm));
-
- if (LogStat & LOG_PID)
- headerlen = snprintf(buffer, 130, "<%d>%s %s[%d]: ", priority, time_buf, LogTag, pid);
- else
- headerlen = snprintf(buffer, 130, "<%d>%s %s: ", priority, time_buf, LogTag);
-
- if (!LogTag[0]) {
- if ((LogStat & LOG_PID) != LOG_PID)
- headerlen = snprintf(buffer, 130, "<%d>%s (unknown)[%d]: ", priority, time_buf, pid);
- strcat(buffer+headerlen, "syslog without openlog w/ ident, please check code!");
- buflen = 41;
- }
- else {
- errno=saved_errno;
- buflen = vsnprintf(buffer+headerlen, BUF_SIZE - headerlen, format, arg_ptr);
- }
- if (LogStat & LOG_PERROR) {
- write(1, buffer+headerlen, buflen);
- if (buffer[headerlen+buflen] != '\n') write(1,"\n", 1);
- }
-
- /* prepare for broken connection */
- memset(&action, 0, sizeof(action));
- action.sa_handler = SIG_IGN;
- sigemptyset(&action.sa_mask);
-
- if ((sigpipe = sigaction (SIGPIPE, &action, &oldaction))==0)
- oldaction_ptr = &oldaction;
-
- if (!connected) openlog_intern(LogStat | LOG_NDELAY, 0);
-
- /* If we have a SOCK_STREAM connection, also send ASCII NUL as a
- * record terminator. */
- if (LogType == SOCK_STREAM) buflen++;
-
- if (!connected || (send(LogFile, buffer, buflen+headerlen, 0) != buflen+headerlen)) {
- if (LogType == SOCK_STREAM) buflen--;
- closelog_intern();
- /*
- * Output the message to the console; don't worry about blocking,
- * if console blocks everything will. Make sure the error reported
- * is the one from the syslogd failure.
- */
- if ((LogStat & LOG_CONS) &&
- ((fd = open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0))
- {
- write(fd, buffer, buflen+headerlen);
- write(fd, "\r\n", 2);
- }
- }
-
- if (sigpipe == 0)
- sigaction(SIGPIPE, &oldaction, (struct sigaction *) NULL);
-}
-void vsyslog(int priority, const char *format, va_list arg_ptr) __attribute__((weak,alias("__libc_vsyslog")));
-
-void syslog(int priority, const char *format, ...)
-{
- va_list arg_ptr;
- va_start(arg_ptr, format);
- vsyslog(priority, format, arg_ptr);
- va_end(arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/libugly/mktime.c b/mdk-stage1/dietlibc/libugly/mktime.c
deleted file mode 100644
index 348068e1d..000000000
--- a/mdk-stage1/dietlibc/libugly/mktime.c
+++ /dev/null
@@ -1,53 +0,0 @@
-#include <time.h>
-
-extern const short __spm [];
-
-time_t mktime ( register struct tm* const t )
-{
- register time_t day;
- register time_t i;
-
- if ( t->tm_year < 70 )
- return (time_t) -1;
-
- day = t->tm_yday = __spm [t->tm_mon] + t->tm_mday-1 + ( __isleap (t->tm_year+1900) & (t->tm_mon > 1) );
-
- for ( i = 70; i < t->tm_year; i++ )
- day += 365 + __isleap (i+1900);
-
- /* day is now the number of days since 'Jan 1 1970' */
- i = 7;
- t->tm_wday = (day + 4) % i; /* Sunday=0, Monday=1, ..., Saturday=6 */
-
- i = 24;
- day *= i;
- i = 60;
- return ((day + t->tm_hour) * i + t->tm_min) * i + t->tm_sec;
-}
-
-#if 0
-
-#include <math.h>
-
-main()
-{
- int i, j, k;
- static char *s[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
-
- for (i=70; i<200; i++)
- for (j=0; j<12; j++)
- for (k=1; k<=31; k++) {
- struct tm t;
- double x;
- t.tm_year = i;
- t.tm_mon = j;
- t.tm_mday = k;
- t.tm_hour = 0;
- t.tm_min = 0;
- t.tm_sec = 0;
- x = mktime (&t);
- printf ("%4d.%5.0f %2u.%02u.%04u %s\n", (int)floor(x/86400), x-86400.*(int)floor(x/86400), k, j+1, 1900+i, s[t.tm_wday] );
- }
-
-}
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/netent.c b/mdk-stage1/dietlibc/libugly/netent.c
deleted file mode 100644
index 4710d0fe6..000000000
--- a/mdk-stage1/dietlibc/libugly/netent.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <ctype.h>
-#include "dietfeatures.h"
-#include <netdb.h>
-#include <arpa/inet.h>
-
-static int netfd=-1;
-static char* netmap;
-static unsigned int netlen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* loopback 127.0.0.0 lo # comment */
-struct netent *getnetent(void) {
- static struct netent ne;
- char *last;
- int aliasidx;
- if (netfd<0) {
- netfd=open(_PATH_NETWORKS,O_RDONLY);
- if (netfd<0) return 0;
- fcntl (netfd, F_SETFD, FD_CLOEXEC);
- netlen=lseek(netfd,0,SEEK_END);
- netmap=mmap(0,netlen,PROT_READ|PROT_WRITE,MAP_PRIVATE,netfd,0);
- if ((long)netmap==(-1)) goto error;
- cur=netmap;
- }
- last=netmap+netlen;
-again:
- ne.n_name=0;
- ne.n_aliases=aliases; aliases[0]=0;
- ne.n_addrtype=AF_INET;
- ne.n_net=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- ne.n_name=cur;
- ne.n_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the ip */
- while (cur<last && isblank(*cur)) cur++;
- {
- const char *tmp=cur;
- char save;
- while (cur<last && (isdigit(*cur) || *cur=='.')) ++cur;
- save=*cur; *cur=0;
- if (inet_aton(tmp,(struct in_addr*)&ne.n_net)==0) goto parseerror;
- *cur=save;
- }
- if (cur>=last) return 0;
- /* now the aliases */
- for (aliasidx=0;aliasidx<10;++aliasidx) {
- while (cur<last && isblank(*cur)) ++cur;
- aliases[aliasidx]=cur;
- while (cur<last && isalpha(*cur)) ++cur;
- if (*cur=='\n') { *cur++=0; ++aliasidx; break; }
- if (cur>=last || !isblank(*cur)) break;
- *cur++=0;
- }
- aliases[aliasidx]=0;
- return &ne;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (netmap!=(char*)-1) munmap(netmap,netlen);
- if (netfd!=-1) close(netfd);
- netmap=(char*)-1;
- netfd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-struct netent *getnetbyaddr(unsigned long net, int type) {
- struct netent *s;
- for (s=getnetent(); s; s=getnetent()) {
- if (net==s->n_net && type==s->n_addrtype)
- return s;
- }
- return 0;
-}
-
-void endnetent(void) {
- if (netmap!=(char*)-1) munmap(netmap,netlen);
- if (netfd!=-1) close(netfd);
- netmap=(char*)-1;
- netfd=-1;
-}
-
-void setnetent(int stayopen) {
- (void)stayopen;
- endnetent();
-}
-
-struct netent *getnetbyname(const char *name) {
- struct netent *s;
- setnetent(0);
- for (s=getnetent(); s; s=getnetent()) {
- char **tmp;
-#if 0
- write(1,"found ",6);
- write(1,s->s_name,strlen(s->s_name));
- write(1,"/",1);
- write(1,s->s_proto,strlen(s->s_proto));
- write(1,"\n",1);
- if (!strcmp(s->s_name,"ssh")) {
- write(2,"ssh!\n",5);
- }
-#endif
- if (!strcmp(name,s->n_name))
- return s;
- tmp=s->n_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/openpty.c b/mdk-stage1/dietlibc/libugly/openpty.c
deleted file mode 100644
index 8d06f329c..000000000
--- a/mdk-stage1/dietlibc/libugly/openpty.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <unistd.h>
-#include <pty.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-#include <string.h>
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-int openpty(int *amaster, int *aslave, char *name, struct termios
- *termp, struct winsize *winp) {
- int fd;
- char buf[20];
-#if 0
- This is what glibc does:
- open("/dev/ptmx", O_RDWR) = 4
- statfs("/dev/pts", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0
- ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
- ioctl(4, 0x80045430, [0]) = 0
- stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
- statfs("/dev/pts/0", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0
- ioctl(4, 0x40045431, [0]) = 0
- ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0
- ioctl(4, 0x80045430, [0]) = 0
- stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
- open("/dev/pts/0", O_RDWR|O_NOCTTY) = 5
-#endif
- if ((fd=open("/dev/ptmx",O_RDWR))<0) return -1;
-#if 0
- if (ioctl(fd,TCGETS,&ts)<0) goto kaputt;
-#endif
- {
- int unlock=0;
- while (ioctl(fd,TIOCSPTLCK, &unlock)<0) if (errno!=EINTR) goto kaputt;
- }
- {
- int ptyno;
- while (ioctl(fd,TIOCGPTN,&ptyno)<0) if (errno!=EINTR) goto kaputt;
- strcpy(buf,"/dev/pts/");
- __ltostr(buf+9,10,ptyno,10,0);
- }
- *aslave=open(buf,O_RDWR|O_NOCTTY);
- if (*aslave<0) goto kaputt;
- *amaster=fd;
- if (name) strcpy(name,buf);
- if (termp)
- while (tcsetattr(*aslave,TCSAFLUSH,termp) && errno==EINTR);
- if (winp) while (ioctl(*aslave, TIOCSWINSZ, winp) && errno==EINTR);
- return 0;
-kaputt:
- close(fd);
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/pclose.c b/mdk-stage1/dietlibc/libugly/pclose.c
deleted file mode 100644
index e33076c19..000000000
--- a/mdk-stage1/dietlibc/libugly/pclose.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-#include "dietstdio.h"
-
-int pclose(FILE *f) {
- int status;
- fclose(f);
- if (waitpid(f->popen_kludge,&status,0)>=0)
- return status;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libugly/popen.c b/mdk-stage1/dietlibc/libugly/popen.c
deleted file mode 100644
index aa9a2cde0..000000000
--- a/mdk-stage1/dietlibc/libugly/popen.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include "binshstr.h"
-
-extern char **environ;
-
-FILE *popen(const char *command, const char *type) {
- int pfd[2];
- int fd0;
- FILE* f;
- pid_t pid;
-
- if (pipe(pfd)<0) return 0;
- fd0=(*type=='r');
- if (!(f=fdopen(pfd[!fd0],type))) {
- close(pfd[0]); /* malloc failed */
- close(pfd[1]);
- return 0;
- }
- if ((pid=fork())<0) {
- close(pfd[0]);
- close(pfd[1]);
- return 0;
- }
- if (!pid) { /* child */
- const char *argv[]={__sh,"-c",0,0};
- close(pfd[!fd0]); close(fd0);
- dup2(pfd[fd0],fd0); close(pfd[fd0]);
- argv[2]=command;
- execve(__binsh,(char*const*)argv,environ);
- _exit(127);
- }
- close(pfd[fd0]);
- fcntl (pfd[!fd0], F_SETFD, FD_CLOEXEC);
- f->popen_kludge=pid;
- return f;
-}
diff --git a/mdk-stage1/dietlibc/libugly/prioritynames.c b/mdk-stage1/dietlibc/libugly/prioritynames.c
deleted file mode 100644
index 87a99b76d..000000000
--- a/mdk-stage1/dietlibc/libugly/prioritynames.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/syslog.h>
-
-#ifndef INTERNAL_NOPRI
-#define INTERNAL_NOPRI 0x10
-#endif
-
-CODE prioritynames[] =
- {
- { "alert", LOG_ALERT },
- { "crit", LOG_CRIT },
- { "debug", LOG_DEBUG },
- { "emerg", LOG_EMERG },
- { "err", LOG_ERR },
- { "error", LOG_ERR }, /* DEPRECATED */
- { "info", LOG_INFO },
- { "none", INTERNAL_NOPRI }, /* INTERNAL */
- { "notice", LOG_NOTICE },
- { "panic", LOG_EMERG }, /* DEPRECATED */
- { "warn", LOG_WARNING }, /* DEPRECATED */
- { "warning", LOG_WARNING },
- { 0, -1 }
- };
diff --git a/mdk-stage1/dietlibc/libugly/protoent_buf.c b/mdk-stage1/dietlibc/libugly/protoent_buf.c
deleted file mode 100644
index 0e303a5d4..000000000
--- a/mdk-stage1/dietlibc/libugly/protoent_buf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <netdb.h>
-
-struct protoent __protoent_pw;
-char __protoent_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libugly/ptsname.c b/mdk-stage1/dietlibc/libugly/ptsname.c
deleted file mode 100644
index a332faf6c..000000000
--- a/mdk-stage1/dietlibc/libugly/ptsname.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _XOPEN_SOURCE
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <stdlib.h>
-#include <string.h>
-
-# define MAX_FDS 4
-
-char *ptsname(int fd) {
- static char buffer[9+MAX_FDS]; /* Ahh..great */
- int pty;
-
- strcpy(buffer,"/dev/pts/");
- if ((ioctl(fd, TIOCGPTN, &pty)) == -1) return 0;
- __ltostr(buffer+9, MAX_FDS, pty, 10, 0);
- return buffer;
-}
diff --git a/mdk-stage1/dietlibc/libugly/putpwent.c b/mdk-stage1/dietlibc/libugly/putpwent.c
deleted file mode 100644
index f192c5934..000000000
--- a/mdk-stage1/dietlibc/libugly/putpwent.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* man, what a crook! */
-
-#include <pwd.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <errno.h>
-#include "dietwarning.h"
-
-int putpwent(const struct passwd *p, FILE *stream) {
- if (p && stream) {
- fprintf(stream,"%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
- p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
- return 0;
- }
- (*__errno_location())=EINVAL;
- return -1;
-}
-
-link_warning("putpwent","putpwent is garbage, don't use!")
diff --git a/mdk-stage1/dietlibc/libugly/servent_buf.c b/mdk-stage1/dietlibc/libugly/servent_buf.c
deleted file mode 100644
index b9e992adf..000000000
--- a/mdk-stage1/dietlibc/libugly/servent_buf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <netdb.h>
-
-struct servent __servent_pw;
-char __servent_buf[1000];
-
diff --git a/mdk-stage1/dietlibc/libugly/setenv.c b/mdk-stage1/dietlibc/libugly/setenv.c
deleted file mode 100644
index c65910471..000000000
--- a/mdk-stage1/dietlibc/libugly/setenv.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-#include <dietwarning.h>
-link_warning("setenv","setenv calls malloc. Avoid it in small programs.");
-
-int setenv(const char *name, const char *value, int overwrite) {
- if (getenv(name)) {
- if (!overwrite) return 0;
- unsetenv(name);
- }
- {
- char *c=malloc(strlen(name)+strlen(value)+3);
- strcpy(c,name);
- strcat(c,"=");
- strcat(c,value);
- return putenv(c);
- }
-}
diff --git a/mdk-stage1/dietlibc/libugly/setmntent.c b/mdk-stage1/dietlibc/libugly/setmntent.c
deleted file mode 100644
index a91d3902b..000000000
--- a/mdk-stage1/dietlibc/libugly/setmntent.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include <mntent.h>
-
-FILE *setmntent(const char *filename, const char *type) {
- return fopen(filename,type);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/strftime.c b/mdk-stage1/dietlibc/libugly/strftime.c
deleted file mode 100644
index 365d0c84f..000000000
--- a/mdk-stage1/dietlibc/libugly/strftime.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include <sys/types.h>
-#include <time.h>
-#include "dietfeatures.h"
-
-static const char sweekdays [7] [4] = {
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-};
-static const char weekdays [7] [10] = {
- "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
-};
-static const char smonths [12] [4] = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-};
-static const char* months [12] = {
- "January", "February", "March", "April", smonths[5-1], "June",
- "July", "August", "September", "October", "November", "December"
-};
-static const char ampm [4] [3] = {
- "am", "pm",
- "AM", "PM"
-};
-
-static int i2a ( char* dest,unsigned int x )
-{
- int div = 10;
- *dest++ = x/div + '0';
- *dest++ = x%div + '0';
- *dest++ = '\0';
- return 2;
-}
-
-size_t strftime ( char* dst, size_t max, const char* format, const struct tm* tm )
-{
- char* p = dst;
- const char* src;
- unsigned int no;
- char buf [5];
-
-
- for ( ; *format != '\0'; format++ ) {
- if (*format == '%') {
- if (*++format == '%') {
- *p++ = '%';
- }
- else
-again:
- switch (*format) {
-// case '%': *p++ = '%'; break; // reduce size of jump table
- case 'n': *p++ = '\n'; break;
- case 't': *p++ = '\t'; break;
- case 'O': case 'E': ++format; goto again;
- case 'c': src = "%b %a %d %k:%M:%S %Z %Y"; goto _strf;
- case 'r': src = "%I:%M:%S %p"; goto _strf;
- case 'R': src = "%H:%M"; goto _strf;
- case 'x': src = "%b %a %d"; goto _strf;
- case 'X': src = "%k:%M:%S"; goto _strf;
- case 'D': src = "%m/%d/%y"; goto _strf;
- case 'T': src = "%H:%M:%S";
- _strf: p += strftime (p, (size_t)(dst+max-p), src, tm); break;
- case 'a': src = sweekdays [tm->tm_wday]; goto _str;
- case 'A': src = weekdays [tm->tm_wday]; goto _str;
- case 'h':
- case 'b': src = smonths [tm->tm_mon]; goto _str;
- case 'B': src = months [tm->tm_mon]; goto _str;
- case 'p': src = ampm [tm->tm_hour > 12 ? 3 : 2]; goto _str;
- case 'P': src = ampm [tm->tm_hour > 12 ? 1 : 0]; goto _str;
- case 'C': no = tm->tm_year/100 + 19; goto _no;
- case 'd': no = tm->tm_mday; goto _no;
- case 'e': no = tm->tm_mday; goto _nos;
- case 'H': no = tm->tm_hour; goto _no;
- case 'I': no = tm->tm_hour % 12; goto _no;
- case 'j': no = tm->tm_yday; goto _no;
- case 'k': no = tm->tm_hour; goto _nos;
- case 'l': no = tm->tm_hour % 12; goto _nos;
- case 'm': no = tm->tm_mon + 1; goto _no;
- case 'M': no = tm->tm_min; goto _no;
- case 'S': no = tm->tm_sec; goto _no;
- case 'u': no = tm->tm_wday ? tm->tm_wday : 7; goto _no;
- case 'w': no = tm->tm_wday; goto _no;
- case 'U': no = (tm->tm_yday - tm->tm_wday + 7) / 7; goto _no;
- case 'W': no = (tm->tm_yday - (tm->tm_wday - 1 + 7) % 7 + 7) / 7; goto _no;
- case 'Z':
-#ifdef WANT_TZFILE_PARSER
- tzset(); src = tzname[0];
-#else
- src = "[unknown timezone]";
-#endif
- goto _str;
- case 'Y': i2a ( buf+0, (unsigned int)(tm->tm_year / 100 + 19) );
- i2a ( buf+2, (unsigned int)(tm->tm_year % 100) );
- src = buf;
- goto _str;
- case 'y': no = tm->tm_year % 100; goto _no;
- _no: i2a ( buf, no ); /* append number 'no' */
- src = buf;
- goto _str;
- _nos: i2a ( buf, no ); /* the same, but '0'->' ' */
- if (buf[0] == '0')
- buf[0] = ' ';
- src = buf;
- _str: while (*src && p < dst+max) /* append string */
- *p++ = *src++;
- break;
- };
- } else {
- *p++ = *format;
- }
-
- if (p >= dst+max)
- break;
- }
-
- *p = '\0';
- return p - dst;
-}
-
-
diff --git a/mdk-stage1/dietlibc/libugly/strndup.c b/mdk-stage1/dietlibc/libugly/strndup.c
deleted file mode 100644
index 7f912d4c6..000000000
--- a/mdk-stage1/dietlibc/libugly/strndup.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-
-char *strndup(const char *s,size_t n) {
- char *tmp=(char *)malloc(n+1);
- if (!tmp) return 0;
- strncpy(tmp,s,n);
- tmp[n]=0;
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libugly/strsignal.c b/mdk-stage1/dietlibc/libugly/strsignal.c
deleted file mode 100644
index d72777571..000000000
--- a/mdk-stage1/dietlibc/libugly/strsignal.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _GNU_SOURCE
-#include <string.h>
-#include <signal.h>
-
-const char* strsignal(int sig) {
- if (sig<=SIGRTMAX)
- return sys_siglist[sig];
- else
- return "(unknown signal)";
-}
diff --git a/mdk-stage1/dietlibc/libugly/system.c b/mdk-stage1/dietlibc/libugly/system.c
deleted file mode 100644
index 714aad056..000000000
--- a/mdk-stage1/dietlibc/libugly/system.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <signal.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include "dietwarning.h"
-#include "dietfeatures.h"
-#include "binshstr.h"
-
-extern char **environ;
-
-int __libc_system (const char *line);
-
-int __libc_system (const char *line)
-{
- struct sigaction sa, intr, quit;
- sigset_t block,omask;
- int save,pid,ret=-1;
-
- if (line == 0) return __libc_system("exit 0") == 0;
-
- sa.sa_handler = SIG_IGN;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- if (sigaction(SIGINT, &sa, &intr)<0) return -1;
- if (sigaction(SIGQUIT, &sa, &quit)<0) {
- save = errno;
-undo:
- sigaction (SIGINT, &intr, (struct sigaction*)0);
- errno=save;
- return -1;
- }
- sigemptyset(&block);
- sigaddset(&block,SIGCHLD);
- if (sigprocmask(SIG_BLOCK,&block,&omask)<0) {
- save=errno;
- sigaction (SIGQUIT, &quit, (struct sigaction*)0);
- goto undo;
- }
-
- pid=fork();
- if (pid>0)
- { /* parent */
- int n;
- do
- n=waitpid(pid, &ret, 0);
- while ((n==-1) && (errno==EINTR));
- if (n!=pid) ret=-1;
- }
- else if (!pid)
- { /* child */
- const char *nargs[4];
- nargs[0] = __sh;
- nargs[1] = "-c";
- nargs[2] = line;
- nargs[3] = 0;
-
- sigaction(SIGINT, &intr, (struct sigaction*)0);
- sigaction(SIGQUIT, &quit, (struct sigaction*)0);
- sigprocmask(SIG_SETMASK,&omask,0);
-
- execve(__binsh,(char *const *)nargs, environ);
- _exit(127);
- }
- save = errno;
- sigaction (SIGINT, &intr, (struct sigaction *)0);
- sigaction (SIGQUIT, &quit, (struct sigaction *)0);
- sigprocmask(SIG_SETMASK,&omask,0);
- errno=save;
- return ret;
-}
-
-int system (const char *line) __attribute__((weak,alias("__libc_system")));
-
-link_warning("system","warning: system() is a security risk. Use fork and execvp instead!")
diff --git a/mdk-stage1/dietlibc/libugly/time_table_spd.c b/mdk-stage1/dietlibc/libugly/time_table_spd.c
deleted file mode 100644
index 6850d76c4..000000000
--- a/mdk-stage1/dietlibc/libugly/time_table_spd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <time.h>
-
-/* days per month -- nonleap! */
-const short __spm[12] =
- { 0,
- (31),
- (31+28),
- (31+28+31),
- (31+28+31+30),
- (31+28+31+30+31),
- (31+28+31+30+31+30),
- (31+28+31+30+31+30+31),
- (31+28+31+30+31+30+31+31),
- (31+28+31+30+31+30+31+31+30),
- (31+28+31+30+31+30+31+31+30+31),
- (31+28+31+30+31+30+31+31+30+31+30),
- };
-
diff --git a/mdk-stage1/dietlibc/libugly/timezone.c b/mdk-stage1/dietlibc/libugly/timezone.c
deleted file mode 100644
index e8a94a906..000000000
--- a/mdk-stage1/dietlibc/libugly/timezone.c
+++ /dev/null
@@ -1,3 +0,0 @@
-
-long int timezone;
-int daylight;
diff --git a/mdk-stage1/dietlibc/libugly/tzfile.c b/mdk-stage1/dietlibc/libugly/tzfile.c
deleted file mode 100644
index e0e8f7846..000000000
--- a/mdk-stage1/dietlibc/libugly/tzfile.c
+++ /dev/null
@@ -1,107 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-#include <time.h>
-
-/* #include <stdio.h> */
-
-char* tzname[2]={"GMT","GMT"};
-
-#ifdef WANT_TZFILE_PARSER
-static char *tzfile=0;
-static int tzlen=-1;
-
-void __maplocaltime(void);
-void __maplocaltime(void) {
- int fd;
- unsigned int len;
- if (tzlen>=0) return;
- tzlen=0;
- if ((fd=open("/etc/localtime",O_RDONLY))<0) return;
- len=lseek(fd,0,SEEK_END);
- if ((tzfile=mmap(0,len,PROT_READ,MAP_PRIVATE,fd,0))==MAP_FAILED) return;
- close(fd);
- if (ntohl(*(int*)tzfile) != 0x545a6966) return;
- tzlen=len;
-}
-
-static unsigned long __myntohl(const unsigned char* c) {
- return (((unsigned long)c[0])<<24) +
- (((unsigned long)c[1])<<16) +
- (((unsigned long)c[2])<<8) +
- ((unsigned long)c[3]);
-}
-
-time_t __tzfile_map(time_t t, int *isdst);
-time_t __tzfile_map(time_t t, int *isdst) {
- /* "TZif" plus 16 reserved bytes. */
- char *tmp;
- int i;
- int tzh_ttisgmtcnt, tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt;
- *isdst=0;
- if (!tzfile) return t;
- tzh_ttisgmtcnt=ntohl(*(int*)(tzfile+20));
- tzh_ttisstdcnt=ntohl(*(int*)(tzfile+24));
- tzh_leapcnt=ntohl(*(int*)(tzfile+28));
- tzh_timecnt=ntohl(*(int*)(tzfile+32));
- tzh_typecnt=ntohl(*(int*)(tzfile+36));
- tzh_charcnt=ntohl(*(int*)(tzfile+40));
-
-#if 0
- tmp=tzfile+20+6*4;
- printf("ttisgmtcnt %d ttisstdcnt %d leapcnt %d timecnt %d typecnt %d charcnt %d\n",tzh_ttisgmtcnt,tzh_ttisstdcnt, tzh_leapcnt, tzh_timecnt, tzh_typecnt, tzh_charcnt);
- printf("transition times: ");
- for (i=0; i<tzh_timecnt; ++i) {
- printf("%s%lu",i?", ":"",ntohl(*(int*)tmp)); tmp+=4;
- }
- printf("\n");
- printf("indices: ");
- for (i=0; i<tzh_timecnt; ++i) {
- printf("%s%d",i?", ":"",*tmp); ++tmp;
- }
- printf("\n");
- printf("transition times: ");
- for (i=0; i<tzh_typecnt; ++i) {
- printf("%s(%lu,%d,%d)",i?", ":"",ntohl(*(int*)tmp),tmp[4],tmp[5]); tmp+=6;
- }
- printf("\n");
- for (i=0; i<tzh_charcnt; ++i) {
- printf("%s\"%s\"",i?", ":"",tmp);
- tmp+=strlen(tmp);
- }
- printf("\n");
-#endif
-
- tmp=tzfile+20+6*4;
- daylight=(tzh_timecnt>0);
- for (i=0; i<tzh_timecnt; ++i) {
- if ((time_t)__myntohl(tmp+i*4) >= t) {
- char* tz=tmp;
-/* printf("match at %d\n",i); */
- tmp+=tzh_timecnt*4;
- i=tmp[i-1];
-/* printf("using index %d\n",i); */
- tmp+=tzh_timecnt;
- tz+=tzh_timecnt*5+tzh_leapcnt*4+tzh_typecnt*6;
- tmp+=i*6;
-/* printf("(%lu,%d,%d)\n",ntohl(*(int*)tmp),tmp[4],tmp[5]); */
- *isdst=tmp[4];
- tzname[0]=tz+tmp[5];
- timezone=-(__myntohl(tmp));
- return t-timezone;
- }
- }
- return t;
-}
-
-void tzset(void) {
- int isdst;
- __maplocaltime();
- __tzfile_map(time(0),&isdst);
-}
-
-#else
-void tzset(void) __attribute__((weak,alias("__nop")));
-#endif
diff --git a/mdk-stage1/dietlibc/libugly/unlockpt.c b/mdk-stage1/dietlibc/libugly/unlockpt.c
deleted file mode 100644
index e0246ed8e..000000000
--- a/mdk-stage1/dietlibc/libugly/unlockpt.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _XOPEN_SOURCE
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int unlockpt (int fd) {
- int foo;
- /* hehe, that one is easy */
- return (ioctl (fd, TIOCSPTLCK, &foo));
-}
diff --git a/mdk-stage1/dietlibc/libugly/unsetenv.c b/mdk-stage1/dietlibc/libugly/unsetenv.c
deleted file mode 100644
index 46e880271..000000000
--- a/mdk-stage1/dietlibc/libugly/unsetenv.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-
-void unsetenv(const char *name) {
- putenv(name);
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/utent.c b/mdk-stage1/dietlibc/libugly/utent.c
deleted file mode 100644
index d8d5d1ba7..000000000
--- a/mdk-stage1/dietlibc/libugly/utent.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <utmp.h>
-
-static const char *utmp_file_name = _PATH_UTMP;
-static int fd = -1;
-
-static int lock_record(int type) {
- struct flock fl;
- fl.l_whence = SEEK_CUR;
- fl.l_start = 0;
- fl.l_len = sizeof(struct utmp);
- fl.l_pid = 0;
- fl.l_type = type;
- return fcntl(fd, F_SETLKW, &fl);
-}
-
-static int unlock_record() {
- struct flock fl;
- fl.l_whence = SEEK_CUR;
- fl.l_start = -sizeof(struct utmp);
- fl.l_len = sizeof(struct utmp);
- fl.l_pid = 0;
- fl.l_type = F_UNLCK;
- return fcntl(fd, F_SETLK, &fl);
-}
-
-void utmpname(const char *file) {
- if (file)
- utmp_file_name = file;
- else
- utmp_file_name = _PATH_UTMP;
-}
-
-void setutent() {
- if (fd<0) fd = open(utmp_file_name,O_RDWR);
- if (fd<0) fd = open(utmp_file_name,O_RDONLY);
- fcntl (fd, F_SETFD, FD_CLOEXEC);
- lseek(fd,0,SEEK_SET);
-}
-
-void endutent() {
- if (fd<0) return;
- close(fd); fd=-1;
-}
-
-struct utmp *getutent(void) {
- static struct utmp getutent_tmp;
- int ret;
-
- if (fd<0) {
- setutent();
- if (fd<0) return 0;
- }
- if (lock_record(F_RDLCK)) return 0;
- ret=read(fd, &getutent_tmp, sizeof(struct utmp));
- unlock_record();
- if (ret<1) return 0;
- return &getutent_tmp;
-}
-
-struct utmp *getutid(struct utmp *ut) {
- struct utmp *tmp;
-
- while ((tmp = getutent())) {
- if (ut->ut_type && (ut->ut_type <= OLD_TIME)) {
- if (ut->ut_type == tmp->ut_type) break;
- }
- if ((ut->ut_type >= INIT_PROCESS) && (ut->ut_type <= DEAD_PROCESS)) {
- if (!strncmp(ut->ut_id,tmp->ut_id,4)) break;
- }
- }
- return tmp;
-}
-
-struct utmp *getutline(struct utmp *ut) {
- struct utmp *tmp;
-
- while ((tmp = getutent())) {
- if ((tmp->ut_type == USER_PROCESS) || (tmp->ut_type == LOGIN_PROCESS)) {
- if (!strncmp(ut->ut_line,tmp->ut_line,UT_LINESIZE)) break;
- }
- }
- return tmp;
-}
-
-void pututline(struct utmp *ut) {
- struct utmp *tmp;
-
- if ((tmp = getutid(ut))) {
- lseek(fd, - (off_t)sizeof(struct utmp), SEEK_CUR);
- if (lock_record(F_WRLCK)) return;
- write(fd, ut, sizeof(struct utmp));
- }
- else {
- lseek(fd, 0, SEEK_END);
- if (lock_record(F_WRLCK)) return;
- write(fd, ut, (off_t)sizeof(struct utmp));
- }
- unlock_record();
-}
-
diff --git a/mdk-stage1/dietlibc/libugly/wtent.c b/mdk-stage1/dietlibc/libugly/wtent.c
deleted file mode 100644
index 1ca7c3202..000000000
--- a/mdk-stage1/dietlibc/libugly/wtent.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <utmp.h>
-
-void updwtmp(const char *wtmp_file, const struct utmp *ut) {
- int fd = open(wtmp_file, O_WRONLY|O_APPEND);
- if (fd<0) return;
- fcntl (fd, F_SETFD, FD_CLOEXEC);
- write(fd, ut, sizeof(struct utmp));
- close(fd);
-}
-
-void logwtmp(const char *line, const char *name, const char *host) {
- struct utmp ut;
-
- memset(&ut, 0, sizeof(struct utmp));
-
- ut.ut_pid = getpid ();
- ut.ut_type = name[0] ? USER_PROCESS : DEAD_PROCESS;
-
- memccpy (ut.ut_line, line, 0, sizeof ut.ut_line);
- memccpy (ut.ut_name, name, 0, sizeof ut.ut_name);
- memccpy (ut.ut_host, host, 0, sizeof ut.ut_host);
-
- gettimeofday (&ut.ut_tv, NULL);
-
- updwtmp (_PATH_WTMP, &ut);
-}
-
diff --git a/mdk-stage1/dietlibc/linuxnet.h b/mdk-stage1/dietlibc/linuxnet.h
deleted file mode 100644
index 8e2204701..000000000
--- a/mdk-stage1/dietlibc/linuxnet.h
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#define SYS_SOCKET 1 /* sys_socket(2) */
-#define SYS_BIND 2 /* sys_bind(2) */
-#define SYS_CONNECT 3 /* sys_connect(2) */
-#define SYS_LISTEN 4 /* sys_listen(2) */
-#define SYS_ACCEPT 5 /* sys_accept(2) */
-#define SYS_GETSOCKNAME 6 /* sys_getsockname(2) */
-#define SYS_GETPEERNAME 7 /* sys_getpeername(2) */
-#define SYS_SOCKETPAIR 8 /* sys_socketpair(2) */
-#define SYS_SEND 9 /* sys_send(2) */
-#define SYS_RECV 10 /* sys_recv(2) */
-#define SYS_SENDTO 11 /* sys_sendto(2) */
-#define SYS_RECVFROM 12 /* sys_recvfrom(2) */
-#define SYS_SHUTDOWN 13 /* sys_shutdown(2) */
-#define SYS_SETSOCKOPT 14 /* sys_setsockopt(2) */
-#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */
-#define SYS_SENDMSG 16 /* sys_sendmsg(2) */
-#define SYS_RECVMSG 17 /* sys_recvmsg(2) */
-
diff --git a/mdk-stage1/dietlibc/parselib.h b/mdk-stage1/dietlibc/parselib.h
deleted file mode 100644
index 831d9da2b..000000000
--- a/mdk-stage1/dietlibc/parselib.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* parse lib: parse mmapped text with \n terminated lines */
-
-/* a memory buffer. */
-struct state {
- const unsigned char* buffirst;/* pointer to the buffer */
- size_t buflen; /* length of the buffer */
- size_t cur; /* already parsed bytes */
-};
-
-/* open and mmap file, fill in struct state */
-void __prepare_parse(const char* filename,struct state* s);
-/* unmap file */
-void __end_parse(struct state* s);
-
-/* return the length of the matching string, 0 on error */
-/* match while pred returns nonzero */
-size_t __parse(struct state* s,int (*pred)(int ch));
-
-size_t __parse_ws(struct state* s); /* skip ' ' or '\t', break at '\n' or '#' */
-size_t __parse_nws(struct state* s); /* skip non-whitespace, break at '\n' or '#' */
-size_t __parse_1(struct state* s,char c); /* skip to c */
-
-size_t scan_ulong(const char* s,unsigned long* l);
diff --git a/mdk-stage1/dietlibc/ppc/Makefile.add b/mdk-stage1/dietlibc/ppc/Makefile.add
deleted file mode 100644
index 641cf1ade..000000000
--- a/mdk-stage1/dietlibc/ppc/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-mpowerpc-gpopt -mpowerpc-gfxopt -Os
-VPATH:=ppc:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/ppc/__longjmp.S b/mdk-stage1/dietlibc/ppc/__longjmp.S
deleted file mode 100644
index 8113eeeea..000000000
--- a/mdk-stage1/dietlibc/ppc/__longjmp.S
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <setjmp.h>
-
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-.global __longjmp
-.type __longjmp,@function
-.align 2
-__longjmp:
- lwz 1,(JB_GPR1*4)(3)
- lwz 2,(JB_GPR2*4)(3)
- lwz 0,(JB_LR*4)(3)
- lwz 14,((JB_GPRS+0)*4)(3)
- lfd 14,((JB_FPRS+0*2)*4)(3)
- lwz 15,((JB_GPRS+1)*4)(3)
- lfd 15,((JB_FPRS+1*2)*4)(3)
- lwz 16,((JB_GPRS+2)*4)(3)
- lfd 16,((JB_FPRS+2*2)*4)(3)
- lwz 17,((JB_GPRS+3)*4)(3)
- lfd 17,((JB_FPRS+3*2)*4)(3)
- lwz 18,((JB_GPRS+4)*4)(3)
- lfd 18,((JB_FPRS+4*2)*4)(3)
- lwz 19,((JB_GPRS+5)*4)(3)
- lfd 19,((JB_FPRS+5*2)*4)(3)
- lwz 20,((JB_GPRS+6)*4)(3)
- lfd 20,((JB_FPRS+6*2)*4)(3)
- mtlr 0
- lwz 21,((JB_GPRS+7)*4)(3)
- lfd 21,((JB_FPRS+7*2)*4)(3)
- lwz 22,((JB_GPRS+8)*4)(3)
- lfd 22,((JB_FPRS+8*2)*4)(3)
- lwz 0,(JB_CR*4)(3)
- lwz 23,((JB_GPRS+9)*4)(3)
- lfd 23,((JB_FPRS+9*2)*4)(3)
- lwz 24,((JB_GPRS+10)*4)(3)
- lfd 24,((JB_FPRS+10*2)*4)(3)
- lwz 25,((JB_GPRS+11)*4)(3)
- lfd 25,((JB_FPRS+11*2)*4)(3)
- mtcrf 0xFF,0
- lwz 26,((JB_GPRS+12)*4)(3)
- lfd 26,((JB_FPRS+12*2)*4)(3)
- lwz 27,((JB_GPRS+13)*4)(3)
- lfd 27,((JB_FPRS+13*2)*4)(3)
- lwz 28,((JB_GPRS+14)*4)(3)
- lfd 28,((JB_FPRS+14*2)*4)(3)
- lwz 29,((JB_GPRS+15)*4)(3)
- lfd 29,((JB_FPRS+15*2)*4)(3)
- lwz 30,((JB_GPRS+16)*4)(3)
- lfd 30,((JB_FPRS+16*2)*4)(3)
- lwz 31,((JB_GPRS+17)*4)(3)
- lfd 31,((JB_FPRS+17*2)*4)(3)
- mr 3,4
- blr
-.size __longjmp,.-__longjmp
-
diff --git a/mdk-stage1/dietlibc/ppc/__testandset.S b/mdk-stage1/dietlibc/ppc/__testandset.S
deleted file mode 100644
index 146982337..000000000
--- a/mdk-stage1/dietlibc/ppc/__testandset.S
+++ /dev/null
@@ -1,12 +0,0 @@
-.global __testandset
-.type __testandset,@function
-.align 2
-__testandset:
-1: lwarx 5,0,3
- li 0,1
- stwcx. 0,0,3
- bne- 1b
- mr 3,5
- blr
-.size __testandset,.-__testandset
-
diff --git a/mdk-stage1/dietlibc/ppc/clone.S b/mdk-stage1/dietlibc/ppc/clone.S
deleted file mode 100644
index 98f6bd4e8..000000000
--- a/mdk-stage1/dietlibc/ppc/clone.S
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-#include <errno.h>
-
-.text
-.weak clone
-clone:
-.global __clone
-__clone:
- cmpwi 4,0 /* check have non null child_stack pointer */
- cmpwi cr1, 3,0 /* check have non null thread_funcion */
- cror eq,4*cr1+eq,eq /* now if eq is set one is or both are zero */
- beq .Lclone_error
-
- stwu 1,-32(1) /* alloc some space on the stack */
- stmw 29, 16(1) /* save r29,r30,r31 on stack */
-
- rlwinm 4,4,0,0,27 /* mask out lower 4 bits */
-
- /* move parameter to positions clone wants them */
- mr 29,3 /* r29 = r3 fn */
- mr 30,4 /* r30 = r4 stack */
- mr 31,6 /* r31 = r6 arg */
- mr 3, 5 /* r3 = r5 flags */
-
- li 0, __NR_clone /* load syscall nr. */
- sc
-
- cmpwi cr1,3,0 /* compare return of syscall with 0 */
- crandc 4*cr1+eq,4*cr1+eq,so
- bne .Lclone_parent /* return was non zero -> .Lclone_parent */
-
- /* we are the cloned process */
- mr 1, 30 /* set stack pointer */
- mtctr 29 /* set count register to fn ? */
- mr 3, 31 /* set argument */
- bctrl /* branch trough count register and link */
- b _exit /* exit thread */
-
-.Lclone_parent:
- lmw 29,16(1) /* restore saved registers */
- addi 1, 1,32 /* free stack */
- bnslr+ /* had cloned a thread so return to parent */
- b error_unified_syscall
-
-.Lclone_error:
- li 3, EINVAL
- b error_unified_syscall
diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c
deleted file mode 100644
index d03e87089..000000000
--- a/mdk-stage1/dietlibc/ppc/mmap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietfeatures.h"
-#include <sys/types.h>
-#include <errno.h>
-#include "syscalls.h"
-
-int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
- unsigned long __sc_ret, __sc_err;
- {
- register unsigned long __sc_0 __asm__ ("r0");
- register unsigned long __sc_3 __asm__ ("r3");
- register unsigned long __sc_4 __asm__ ("r4");
- register unsigned long __sc_5 __asm__ ("r5");
- register unsigned long __sc_6 __asm__ ("r6");
- register unsigned long __sc_7 __asm__ ("r7");
- register unsigned long __sc_8 __asm__ ("r8");
-
- __sc_3 = (unsigned long) (start);
- __sc_4 = (unsigned long) (length);
- __sc_5 = (unsigned long) (prot);
- __sc_6 = (unsigned long) (flags);
- __sc_7 = (unsigned long) (fd);
- __sc_8 = (unsigned long) (offset);
- __sc_0 = __NR_mmap;
- __asm__ __volatile__
- ("sc \n\t"
- "mfcr %1 "
- : "=&r" (__sc_3), "=&r" (__sc_0)
- : "0" (__sc_3), "1" (__sc_0),
- "r" (__sc_4),
- "r" (__sc_5),
- "r" (__sc_6),
- "r" (__sc_7),
- "r" (__sc_8)
- : "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
- __sc_ret = __sc_3;
- __sc_err = __sc_0;
- }
- return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0),
- (int) __sc_ret;
-}
diff --git a/mdk-stage1/dietlibc/ppc/setjmp.S b/mdk-stage1/dietlibc/ppc/setjmp.S
deleted file mode 100644
index 50fa2bdd4..000000000
--- a/mdk-stage1/dietlibc/ppc/setjmp.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <setjmp.h>
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-.global __sigsetjmp
-.type __sigsetjmp,@function
-.align 2
-__sigsetjmp:
- stw 1,(JB_GPR1*4)(3)
- mflr 0
- stw 2,(JB_GPR2*4)(3)
- stw 14,((JB_GPRS+0)*4)(3)
- stfd 14,((JB_FPRS+0*2)*4)(3)
- stw 0,(JB_LR*4)(3)
- stw 15,((JB_GPRS+1)*4)(3)
- stfd 15,((JB_FPRS+1*2)*4)(3)
- mfcr 0
- stw 16,((JB_GPRS+2)*4)(3)
- stfd 16,((JB_FPRS+2*2)*4)(3)
- stw 0,(JB_CR*4)(3)
- stw 17,((JB_GPRS+3)*4)(3)
- stfd 17,((JB_FPRS+3*2)*4)(3)
- stw 18,((JB_GPRS+4)*4)(3)
- stfd 18,((JB_FPRS+4*2)*4)(3)
- stw 19,((JB_GPRS+5)*4)(3)
- stfd 19,((JB_FPRS+5*2)*4)(3)
- stw 20,((JB_GPRS+6)*4)(3)
- stfd 20,((JB_FPRS+6*2)*4)(3)
- stw 21,((JB_GPRS+7)*4)(3)
- stfd 21,((JB_FPRS+7*2)*4)(3)
- stw 22,((JB_GPRS+8)*4)(3)
- stfd 22,((JB_FPRS+8*2)*4)(3)
- stw 23,((JB_GPRS+9)*4)(3)
- stfd 23,((JB_FPRS+9*2)*4)(3)
- stw 24,((JB_GPRS+10)*4)(3)
- stfd 24,((JB_FPRS+10*2)*4)(3)
- stw 25,((JB_GPRS+11)*4)(3)
- stfd 25,((JB_FPRS+11*2)*4)(3)
- stw 26,((JB_GPRS+12)*4)(3)
- stfd 26,((JB_FPRS+12*2)*4)(3)
- stw 27,((JB_GPRS+13)*4)(3)
- stfd 27,((JB_FPRS+13*2)*4)(3)
- stw 28,((JB_GPRS+14)*4)(3)
- stfd 28,((JB_FPRS+14*2)*4)(3)
- stw 29,((JB_GPRS+15)*4)(3)
- stfd 29,((JB_FPRS+15*2)*4)(3)
- stw 30,((JB_GPRS+16)*4)(3)
- stfd 30,((JB_FPRS+16*2)*4)(3)
- stw 31,((JB_GPRS+17)*4)(3)
- stfd 31,((JB_FPRS+17*2)*4)(3)
- b JUMPTARGET (__sigjmp_save)
-.size __sigsetjmp,.-__sigsetjmp
diff --git a/mdk-stage1/dietlibc/ppc/start.S b/mdk-stage1/dietlibc/ppc/start.S
deleted file mode 100644
index 7b2aed7fb..000000000
--- a/mdk-stage1/dietlibc/ppc/start.S
+++ /dev/null
@@ -1,42 +0,0 @@
-.text
-.global _start
-.type _start,@function
-_start:
- /* Save the stack pointer, in case we're statically linked under Linux. */
- mr 9,1
- /* Set up an initial stack frame, and clear the LR. */
- clrrwi 1,1,4
- li 0,0
- stwu 1,-16(1)
- mtlr 0
- stw 0,0(1)
-
- /* r9 contains the initial stack pointer
- argc = (r9)
- argv = (r9+4)
- envp = argv+(argc+1)*4 */
-
- lwzu 3,0(9) /* argc */
- addi 4,9,4 /* argv */
- add 5,0,3 /* argc... */
- addi 5,5,1 /* argc+1...*/
- slwi 5,5,2 /* (argc+1)*4 */
- add 5,5,4 /* argv+(argc+1)*4 */
-
- lis 14,environ@ha
- stw 5,environ@l(14)
-
-#ifdef WANT_DYNAMIC
- mr 6,7
- bl _dyn_start
-#else
- bl main
-#endif
- b exit
-.size _start,.-_start
-
-
-/* Define a symbol for the first piece of initialized data. */
- .section ".data"
-__data_start:
-
diff --git a/mdk-stage1/dietlibc/ppc/syscalls.h b/mdk-stage1/dietlibc/ppc/syscalls.h
deleted file mode 100644
index 5e8707357..000000000
--- a/mdk-stage1/dietlibc/ppc/syscalls.h
+++ /dev/null
@@ -1,259 +0,0 @@
-
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_query_module 166
-#define __NR_poll 167
-#define __NR_nfsservctl 168
-#define __NR_setresgid 169
-#define __NR_getresgid 170
-#define __NR_prctl 171
-#define __NR_rt_sigreturn 172
-#define __NR_rt_sigaction 173
-#define __NR_rt_sigprocmask 174
-#define __NR_rt_sigpending 175
-#define __NR_rt_sigtimedwait 176
-#define __NR_rt_sigqueueinfo 177
-#define __NR_rt_sigsuspend 178
-#define __NR_pread 179
-#define __NR_pwrite 180
-#define __NR_chown 181
-#define __NR_getcwd 182
-#define __NR_capget 183
-#define __NR_capset 184
-#define __NR_sigaltstack 185
-#define __NR_sendfile 186
-#define __NR_getpmsg 187 /* some people actually want streams */
-#define __NR_putpmsg 188 /* some people actually want streams */
-#define __NR_vfork 189
-#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_pciconfig_read 198
-#define __NR_pciconfig_write 199
-#define __NR_pciconfig_iobase 200
-#define __NR_multiplexer 201
-#define __NR_getdents64 202
-#define __NR_pivot_root 203
-#define __NR_fcntl64 204
-#define __NR_madvise 205
-#define __NR_mincore 206
-#define __NR_gettid 207
-#define __NR_tkill 208
-#define __NR_setxattr 209
-#define __NR_lsetxattr 210
-#define __NR_fsetxattr 211
-#define __NR_getxattr 212
-#define __NR_lgetxattr 213
-#define __NR_fgetxattr 214
-#define __NR_listxattr 215
-#define __NR_llistxattr 216
-#define __NR_flistxattr 217
-#define __NR_removexattr 218
-#define __NR_lremovexattr 219
-#define __NR_fremovexattr 220
-#define __NR_futex 221
-#define __NR_sched_setaffinity 222
-#define __NR_sched_getaffinity 223
-#define __NR_security 224
-#define __NR_tuxcall 225
-#define __NR_sendfile64 226
-#define __NR_io_setup 227
-#define __NR_io_destroy 228
-#define __NR_io_getevents 229
-#define __NR_io_submit 230
-#define __NR_io_cancel 231
-#define __NR_alloc_hugepages 232
-#define __NR_free_hugepages 233
-#define __NR_exit_group 234
-#define __NR_lookup_dcookie 235
-#define __NR_sys_epoll_create 236
-#define __NR_sys_epoll_ctl 237
-#define __NR_sys_epoll_wait 238
-#define __NR_remap_file_pages 239
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S
deleted file mode 100644
index eb136a96b..000000000
--- a/mdk-stage1/dietlibc/ppc/unified.S
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.text
-.type exit,@function
-.weak exit
-exit:
-.type _exit,@function
-.global _exit
-_exit:
- li 0,__NR_exit
-.global __unified_syscall
-__unified_syscall:
- sc
- bnslr+
-
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAFE
- stwu 1,-16(1)
- mflr 0
- stw 0,20(1)
- stw 3,12(1)
- bl __errno_location
- lwz 0,12(1)
- stw 0,0(3)
- lwz 0,20(1)
- mtlr 0
- addi 1,1,16
-#else
- lis 9,errno@ha
- stw 3,errno@l(9)
-#endif
- li 3,-1
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- blr
-
diff --git a/mdk-stage1/dietlibc/profiling/PORTING b/mdk-stage1/dietlibc/profiling/PORTING
deleted file mode 100644
index c3fc5eba7..000000000
--- a/mdk-stage1/dietlibc/profiling/PORTING
+++ /dev/null
@@ -1,25 +0,0 @@
- Porting to other platforms
-
- ... is easy. Just create an mcount.S in the $ARCH
- directory (eg. dietlibc/i386) which includes a
- function (called "mcount") that:
-
- 1.) saves ALL registers that are freely usable
- and which might be used by __mcount().
- 2.) loads the instruction pointer (PC) from the
- function that called mcount, and the function
- which called the function, that called mcount
- into the first two argument registers (or push
- them on the stack - depending on the processor-
- architecture).
- 3.) call __mcount.
- 4.) restore the registers saved in 1)
-
- Then You need a macro called PC in <asm/sigcontext.h>
- which extracts the (instruction pointer / program
- counter) from a sigcontext structure (eg. on i386 this
- would be ctx.eip).
-
- $ARCH/start.S must also be modified to call monitor
- with the offset of .text and _etext as parameters.
-
diff --git a/mdk-stage1/dietlibc/profiling/README b/mdk-stage1/dietlibc/profiling/README
deleted file mode 100644
index 0a0293073..000000000
--- a/mdk-stage1/dietlibc/profiling/README
+++ /dev/null
@@ -1,37 +0,0 @@
-
- Notes on profiling support for dietlibc
-
- 1.) A big problem when doing profiling on statically linked
- programs, is that the internal profiling functions (mcount
- and friends) will be included in the call graph although
- they would not if the program would have been dynamically
- linked. This is because every symbol between .text and
- _etext is included in the call-graph. If a program is
- dynamically linked, then mcount and friends are not between
- .text and _etext, so they are not included. A workaround
- for this, would be to put mcount, __mcount, monitor and
- profiler into another section (eg. ".profile"), but this
- creates some strange problems, I'm currently not aware of.
- If you want to debug this: Putting a function into a specific
- section works like this (with gcc):
-
- void foo (int bar) __attribute__ ((section(".foobar")))
-
- 2.) _start may randomly be found in the callgraph. I don't
- know why. May be a bug in gprof.
-
- 3.) The profiling is a complete rewrite, though I looked at
- the glibc Version for inspiration. Please note that this
- version might not be as portable as the glibc version but
- its much smaller (although this is not a really important
- argument, as profiled binaries seldom get shipped) and
- hopefully easier to understand.
-
- 4.) all objects that should be profiled mustn't be compiled
- with -fomit-frame-pointer (as with glibc). Add
- -fno-fomit-frame-pointer to $CFLAGS if you're encountering
- weird problems.
-
- 5.) There is currently no basic-block statistic support.
-
-Please send comments and bug reports to: tom@rhadamanthys.org
diff --git a/mdk-stage1/dietlibc/profiling/__mcount.c b/mdk-stage1/dietlibc/profiling/__mcount.c
deleted file mode 100644
index b1955f370..000000000
--- a/mdk-stage1/dietlibc/profiling/__mcount.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <unistd.h>
-#include <sys/gmon.h>
-
-extern struct monparam mparam;
-
-void __mcount (unsigned long, unsigned long) PROF_SECTION;
-
-void
-__mcount (unsigned long frompc, unsigned long selfpc)
-{
- struct rawarc *arc = mparam.arcs, thisarc;
- unsigned long num;
- /* If arc already exists, increment count */
- for (num = 0; num < mparam.arcnum; num++)
- if (arc[num].raw_frompc == frompc && arc[num].raw_selfpc == selfpc) {
- arc[num].raw_count++;
- return;
- }
- if (selfpc < mparam.lowpc || selfpc > mparam.highpc) return;
- thisarc.raw_frompc = frompc;
- thisarc.raw_selfpc = selfpc;
- thisarc.raw_count = 1;
- arc[mparam.arcnum++] = thisarc;
-}
diff --git a/mdk-stage1/dietlibc/profiling/monitor.c b/mdk-stage1/dietlibc/profiling/monitor.c
deleted file mode 100644
index cc06e3465..000000000
--- a/mdk-stage1/dietlibc/profiling/monitor.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**************************************************************
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and modify
- it under the terms of the GNU General Public License.
-
- This file is part of the profiling support for dietlibc
-
- monitor(3) interface
-
- *************************************************************/
-#include <sys/uio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/gmon.h>
-
-typedef unsigned short u_short;
-
-struct monparam mparam;
-
-void monitor (unsigned long, unsigned long) PROF_SECTION;
-void _stop_monitor (void) PROF_SECTION;
-
-/*
- monitor is called by _start, to start profiling
- lowpc -> lowest valid program counter (normally .text)
- highpc -> highest valid program counter (normally _etext)
-*/
-void
-monitor (unsigned long lowpc, unsigned long highpc)
-{
- mparam.highpc = highpc;
- mparam.lowpc = lowpc;
- mparam.kcountsize = (mparam.textsize = highpc-lowpc) << 1;
- mparam.kcount = (u_short *) malloc (mparam.kcountsize);
- mparam.arcs = (struct rawarc *) malloc (MAXARCS*sizeof (struct rawarc));
- if (!mparam.kcount || !mparam.arcs)
- exit (42);
- mparam.arcnum = 0;
- /* start profiling */
- profil (mparam.kcount, highpc-lowpc, lowpc, 10000);
-}
-
-/*
- write_gmon - write all data collected by the helper routines
- to gmon.out
-*/
-static void
-write_gmon (void)
-{
- struct gmon_hdr ghdr = { "gmon", 1, "" };
- int fd = open ("gmon.out", O_CREAT | O_RDWR | O_TRUNC, 0666);
-
- if (fd < 0) return;
- write (fd, &ghdr, sizeof (ghdr));
- if (mparam.kcountsize)
- {
- char tag = GMON_TAG_TIME_HIST;
- struct gmon_hist_hdr ghdr = {
- mparam.lowpc, mparam.highpc,
- (mparam.kcountsize >> 1), 100, "seconds", 's'
- };
- struct iovec iov[3] = {
- { &tag, sizeof (tag) },
- { &ghdr, sizeof (ghdr) },
- { mparam.kcount, mparam.kcountsize >> 1 << 1 }
- };
- writev (fd, iov, 3);
- }
- if (mparam.arcnum)
- {
- char tag = GMON_TAG_CG_ARC;
- struct iovec iov[mparam.arcnum*2];
- unsigned long l;
- for (l=0;l<mparam.arcnum;l++) {
- iov[l*2].iov_base = &tag;
- iov[l*2].iov_len = sizeof (tag);
- iov[l*2+1].iov_base = &mparam.arcs[l];
- iov[l*2+1].iov_len = sizeof (mparam.arcs[l]);
- }
- writev (fd, iov, mparam.arcnum*2);
- }
- close (fd);
-}
-
-/* called by _start before exit */
-void
-_stop_monitor (void)
-{
- profil (NULL, 0, 0, 0);
- write_gmon ();
-}
diff --git a/mdk-stage1/dietlibc/profiling/profil.c b/mdk-stage1/dietlibc/profiling/profil.c
deleted file mode 100644
index fa9a0ef2b..000000000
--- a/mdk-stage1/dietlibc/profiling/profil.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************
- Copyright (C) 2001, 2002 Thomas M. Ogrisegg
-
- This is free software. You can redistribute and modify
- it under the terms of the GNU General Public License.
-
- This file is part of the profiling support for dietlibc
-
- profil (3) generic implementation
-
- *************************************************************/
-
-#include <asm/sigcontext.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <signal.h>
-
-#define SHORT_SIZE sizeof (short)
-#define MAX_SHORT 65536
-
-#ifdef DEBUG
-# include <stdio.h>
-# define debug printf
-#else
-# define debug
-#endif
-
-#ifndef u_short
-# define u_short unsigned short
-#endif
-
-#ifndef u_int
-# define u_int unsigned int
-#endif
-
-static unsigned short *buffer = NULL;
-static size_t maxhits = 0;
-static unsigned long low_pc = 0;
-static unsigned long pscale = 0;
-
-/* profiler - helper function for profil(3) */
-static void
-profiler (int signal, struct sigcontext ctx)
-{
- size_t s = PC(ctx)-low_pc;
- (void)signal;
- if ((PC(ctx)) < low_pc) return;
- s >>= 1;
- if (s < maxhits)
- ++buffer[s];
-}
-
-/* profil(3) - start or stop the profiling timer */
-int
-profil (u_short *buf, size_t bufsiz, size_t offset, u_int scale)
-{
- struct itimerval itv = { { 0, 1 }, { 0, 1 } };
- struct sigaction sa;
- if (!buf) {
- sigaction (SIGPROF, NULL, NULL);
- setitimer (ITIMER_PROF, NULL, NULL);
- return (0);
- }
- sa.sa_handler = (sighandler_t)&profiler;
- sa.sa_flags = SA_RESTART;
- sigfillset (&sa.sa_mask);
- sigaction (SIGPROF, &sa, NULL);
- pscale = scale;
- buffer = buf;
- low_pc = offset;
- maxhits = bufsiz/SHORT_SIZE;
-
- return (setitimer (ITIMER_PROF, &itv, &itv));
-}
diff --git a/mdk-stage1/dietlibc/sparc/Makefile.add b/mdk-stage1/dietlibc/sparc/Makefile.add
deleted file mode 100644
index 102175bc5..000000000
--- a/mdk-stage1/dietlibc/sparc/Makefile.add
+++ /dev/null
@@ -1,4 +0,0 @@
-
-CFLAGS+=-mcpu=supersparc -Os
-VPATH:=sparc:syscalls.s:$(VPATH)
-LIBOBJ+=$(OBJDIR)/udiv.o $(OBJDIR)/umul.o $(OBJDIR)/urem.o
diff --git a/mdk-stage1/dietlibc/sparc/__longjmp.S b/mdk-stage1/dietlibc/sparc/__longjmp.S
deleted file mode 100644
index 6550d2b5c..000000000
--- a/mdk-stage1/dietlibc/sparc/__longjmp.S
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ENV(base,reg) [%base + (reg * 4)]
-#define ST_FLUSH_WINDOWS 3
-#define RW_FP [%fp + 0x48]
-
-.text
-.global __longjmp
-.type __longjmp,function
-__longjmp:
- /* Store our arguments in global registers so we can still
- use them while unwinding frames and their register windows. */
-
- ld ENV(o0,JB_FP), %g3 /* Cache target FP in register %g3. */
- mov %o0, %g1 /* ENV in %g1 */
- orcc %o1, %g0, %g2 /* VAL in %g2 */
- be,a 0f /* Branch if zero; else skip delay slot. */
- mov 1, %g2 /* Delay slot only hit if zero: VAL = 1. */
-0:
- xor %fp, %g3, %o0
- add %fp, 512, %o1
- andncc %o0, 4095, %o0
- bne .Lthread
- cmp %o1, %g3
- bl .Lthread
-
- /* Now we will loop, unwinding the register windows up the stack
- until the restored %fp value matches the target value in %g3. */
-
-.Lloop:
- cmp %fp, %g3 /* Have we reached the target frame? */
- bl,a .Lloop /* Loop while current fp is below target. */
- restore /* Unwind register window in delay slot. */
- be,a .Lfound /* Better have hit it exactly. */
- ld ENV(g1,JB_SP), %o0 /* Delay slot: extract target SP. */
-
-.Lthread:
- /*
- * Do a "flush register windows trap". The trap handler in the
- * kernel writes all the register windows to their stack slots, and
- * marks them all as invalid (needing to be sucked up from the
- * stack when used). This ensures that all information needed to
- * unwind to these callers is in memory, not in the register
- * windows.
- */
- ta ST_FLUSH_WINDOWS
- ld ENV(g1,JB_PC), %o7 /* Set return PC. */
- ld ENV(g1,JB_SP), %fp /* Set saved SP on restore below. */
- sub %fp, 64, %sp /* Allocate a register frame. */
- st %g3, RW_FP /* Set saved FP on restore below. */
- retl
- restore %g2, 0, %o0 /* Restore values from above register frame. */
-
-.Lfound:
- /* We have unwound register windows so %fp matches the target. */
- mov %o0, %sp /* OK, install new SP. */
-
-.Lsp_ok:
- ld ENV(g1,JB_PC), %o0 /* Extract target return PC. */
- jmp %o0 + 8 /* Return there. */
- mov %g2, %o0 /* Delay slot: set return value. */
-
-.size __longjmp, . - __longjmp
-
diff --git a/mdk-stage1/dietlibc/sparc/__testandset.S b/mdk-stage1/dietlibc/sparc/__testandset.S
deleted file mode 100644
index 84f6cf597..000000000
--- a/mdk-stage1/dietlibc/sparc/__testandset.S
+++ /dev/null
@@ -1,6 +0,0 @@
-.text
-.align 4
-.global __testandset
-__testandset:
- retl
- ldstub [%o0], %o0
diff --git a/mdk-stage1/dietlibc/sparc/clone.S b/mdk-stage1/dietlibc/sparc/clone.S
deleted file mode 100644
index fd8d1d126..000000000
--- a/mdk-stage1/dietlibc/sparc/clone.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <errno.h>
-#include "syscalls.h"
-
-.text
-.align 4
-.weak clone
-clone:
-.type __clone,#function
-.global __clone
-__clone:
- save %sp, -96, %sp
-
- tst %i0 /* check for function pointer */
- be .Lerror
- tst %i1 /* check for stack pointer */
- be .Lerror
- nop
-
- mov %i1, %o1 /* child-stack */
- mov %i2, %o0 /* clone-flags */
- mov __NR_clone, %g1
- ta 0x10 /* syscall: clone */
- bcs .Lerror
-
- tst %o1
- bne .Lstart /* we are the child :) */
- nop
- mov %o0, %i0 /* return child pid */
- ret
- restore
-
-.Lerror:
- call __errno_location
- nop
- mov EINVAL, %l0
- st %l0, [%o0]
- ret
- restore %g0, -1, %o0
-
-.Lstart:
- call %i0 /* call child-function */
- mov %i3, %o0 /* put arg in the right place for the child */
-
- call _exit /* child returned */
- nop
-
diff --git a/mdk-stage1/dietlibc/sparc/errlist.S b/mdk-stage1/dietlibc/sparc/errlist.S
deleted file mode 100644
index c23f7b3d5..000000000
--- a/mdk-stage1/dietlibc/sparc/errlist.S
+++ /dev/null
@@ -1,280 +0,0 @@
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 4
-.global sys_errlist
-.type sys_errlist,@object
-sys_errlist:
- .long .LC000
- .long .LC001
- .long .LC002
- .long .LC003
- .long .LC004
- .long .LC005
- .long .LC006
- .long .LC007
- .long .LC008
- .long .LC009
- .long .LC010
- .long .LC011
- .long .LC012
- .long .LC013
- .long .LC014
- .long .LC015
- .long .LC016
- .long .LC017
- .long .LC018
- .long .LC019
- .long .LC020
- .long .LC021
- .long .LC022
- .long .LC023
- .long .LC024
- .long .LC025
- .long .LC026
- .long .LC027
- .long .LC028
- .long .LC029
- .long .LC030
- .long .LC031
- .long .LC032
- .long .LC033
- .long .LC034
- .long .LC035
- .long .LC036
- .long .LC037
- .long .LC038
- .long .LC039
- .long .LC040
- .long .LC041
- .long .LC042
- .long .LC043
- .long .LC044
- .long .LC045
- .long .LC046
- .long .LC047
- .long .LC048
- .long .LC049
- .long .LC050
- .long .LC051
- .long .LC052
- .long .LC053
- .long .LC054
- .long .LC055
- .long .LC056
- .long .LC057
- .long .LC058
- .long .LC059
- .long .LC060
- .long .LC061
- .long .LC062
- .long .LC063
- .long .LC064
- .long .LC065
- .long .LC066
- .long .LC067
- .long .LC068
- .long .LC069
- .long .LC070
- .long .LC071
- .long .LC072
- .long .LC073
- .long .LC074
- .long .LC075
- .long .LC076
- .long .LC077
- .long .LC078
- .long .LC079
- .long .LC080
- .long .LC081
- .long .LC082
- .long .LC083
- .long .LC084
- .long .LC085
- .long .LC086
- .long .LC087
- .long .LC088
- .long .LC089
- .long .LC090
- .long .LC091
- .long .LC092
- .long .LC093
- .long .LC094
- .long .LC095
- .long .LC096
- .long .LC097
- .long .LC098
- .long .LC099
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC100
- .long .LC120
- .long .LC121
- .long .LC122
- .long .LC123
- .long .LC124
- .long .LC125
- .long .LC126
- .long 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-.type sys_nerr,@object
-sys_nerr:
- .long 127
-.size sys_nerr,4
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Try again"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Operation would block"
-.LC036: .string "Operation now in progress"
-.LC037: .string "Operation already in progress"
-.LC038: .string "Socket operation on non-socket"
-.LC039: .string "Destination address required"
-.LC040: .string "Message too long"
-.LC041: .string "Protocol wrong type for socket"
-.LC042: .string "Protocol not available"
-.LC043: .string "Protocol not supported"
-.LC044: .string "Socket type not supported"
-.LC045: .string "Op not supported on transport endpoint"
-.LC046: .string "Protocol family not supported"
-.LC047: .string "Address family not supported by protocol"
-.LC048: .string "Address already in use"
-.LC049: .string "Cannot assign requested address"
-.LC050: .string "Network is down"
-.LC051: .string "Network is unreachable"
-.LC052: .string "Net dropped connection because of reset"
-.LC053: .string "Software caused connection abort"
-.LC054: .string "Connection reset by peer"
-.LC055: .string "No buffer space available"
-.LC056: .string "Transport endpoint is already connected"
-.LC057: .string "Transport endpoint is not connected"
-.LC058: .string "No send after transport endpoint shutdown"
-.LC059: .string "Too many references: cannot splice"
-.LC060: .string "Connection timed out"
-.LC061: .string "Connection refused"
-.LC062: .string "Too many symbolic links encountered"
-.LC063: .string "File name too long"
-.LC064: .string "Host is down"
-.LC065: .string "No route to host"
-.LC066: .string "Directory not empty"
-.LC067: .string "SUNOS: Too many processes"
-.LC068: .string "Too many users"
-.LC069: .string "Quota exceeded"
-.LC070: .string "Stale NFS file handle"
-.LC071: .string "Object is remote"
-.LC072: .string "Device not a stream"
-.LC073: .string "Timer expired"
-.LC074: .string "Out of streams resources"
-.LC075: .string "No message of desired type"
-.LC076: .string "Not a data message"
-.LC077: .string "Identifier removed"
-.LC078: .string "Resource deadlock would occur"
-.LC079: .string "No record locks available"
-.LC080: .string "Machine is not on the network"
-.LC081: .string "SunOS: Too many lvls of remote in path"
-.LC082: .string "Link has been severed"
-.LC083: .string "Advertise error"
-.LC084: .string "Srmount error"
-.LC085: .string "Communication error on send"
-.LC086: .string "Protocol error"
-.LC087: .string "Multihop attempted"
-.LC088: .string "RFS specific error"
-.LC089: .string "Remote address changed"
-.LC090: .string "Function not implemented"
-.LC091: .string "Streams pipe error"
-.LC092: .string "Value too large for defined data type"
-.LC093: .string "File descriptor in bad state"
-.LC094: .string "Channel number out of range"
-.LC095: .string "Level 2 not synchronized"
-.LC096: .string "Level 3 halted"
-.LC097: .string "Level 3 reset"
-.LC098: .string "Link number out of range"
-.LC099: .string "Protocol driver not attached"
-.LC100: .string "No CSI structure available"
-.LC101: .string "Level 2 halted"
-.LC102: .string "Invalid exchange"
-.LC103: .string "Invalid request descriptor"
-.LC104: .string "Exchange full"
-.LC105: .string "No anode"
-.LC106: .string "Invalid request code"
-.LC107: .string "Invalid slot"
-.LC108: .string "File locking deadlock error"
-.LC109: .string "Bad font file format"
-.LC110: .string "Cannot exec a shared library directly"
-.LC111: .string "No data available"
-.LC112: .string "Accessing a corrupted shared library"
-.LC113: .string "Package not installed"
-.LC114: .string "Can not access a needed shared library"
-.LC115: .string "Name not unique on network"
-.LC116: .string "Interrupted syscall should be restarted"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Illegal byte sequence"
-.LC123: .string "Atmpt to link in too many shared libs"
-.LC124: .string ".lib section in a.out corrupted"
-.LC125: .string "No medium found"
-.LC126: .string "Wrong medium type"
-
-
diff --git a/mdk-stage1/dietlibc/sparc/fork.S b/mdk-stage1/dietlibc/sparc/fork.S
deleted file mode 100644
index a54cab2a9..000000000
--- a/mdk-stage1/dietlibc/sparc/fork.S
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "syscalls.h"
-
-.text
-.weak fork
-fork:
-.global __libc_fork
-__libc_fork:
- mov 2, %g1
- ta 0x10
- bcc,a 1f
- nop
- save %sp, -96, %sp
-#ifdef WANT_THREAD_SAFE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %i0, [ %o0 ]
- retl
- restore %g0, -1, %o0
-1: dec %o1
- retl
- and %o0, %o1, %o0
diff --git a/mdk-stage1/dietlibc/sparc/mmap.c b/mdk-stage1/dietlibc/sparc/mmap.c
deleted file mode 100644
index 5342bac4e..000000000
--- a/mdk-stage1/dietlibc/sparc/mmap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <sys/types.h>
-#include "syscalls.h"
-
-#define __SYSCALL_STRING \
- "ta 0x10;" \
- "bcs 2f;" \
- " nop;" \
- "1:" \
- ".subsection 2;" \
- "2:" \
- "save %%sp, -192, %%sp;" \
- "call __errno_location;" \
- " nop;" \
- "st %%i0,[%%o0];" \
- "ba 1b;" \
- " restore %%g0, -1, %%o0;" \
- ".previous;"
-
-#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g7", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
- "cc", "memory"
-
-#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
-({ \
- register long __o0 __asm__ ("o0") = (long)(arg1); \
- register long __o1 __asm__ ("o1") = (long)(arg2); \
- register long __o2 __asm__ ("o2") = (long)(arg3); \
- register long __o3 __asm__ ("o3") = (long)(arg4); \
- register long __o4 __asm__ ("o4") = (long)(arg5); \
- register long __o5 __asm__ ("o5") = (long)(arg6); \
- register long __g1 __asm__ ("g1") = __NR_##name; \
- __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \
- "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2), \
- "r" (__o3), "r" (__o4), "r" (__o5) : \
- __SYSCALL_CLOBBERS); \
- __o0; \
-})
-int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
- return inline_syscall6(mmap,start,length,prot,flags,fd,offset);
-}
diff --git a/mdk-stage1/dietlibc/sparc/pipe.S b/mdk-stage1/dietlibc/sparc/pipe.S
deleted file mode 100644
index 076822765..000000000
--- a/mdk-stage1/dietlibc/sparc/pipe.S
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global pipe
-pipe:
- mov %o0, %o2
- mov __NR_pipe, %g1
- ta 0x10
- bcc,a 1f
- nop
- save %sp, -96, %sp
-#ifdef WANT_THREAD_SAFE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %i0, [ %o0 ]
- ret
- restore %g0, -1, %o0
-
-1: st %o0, [ %o2 ]
- st %o1, [ %o2 + 4 ]
- retl
- mov %g0, %o0
diff --git a/mdk-stage1/dietlibc/sparc/setjmp.S b/mdk-stage1/dietlibc/sparc/setjmp.S
deleted file mode 100644
index 579df757c..000000000
--- a/mdk-stage1/dietlibc/sparc/setjmp.S
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ST_FLUSH_WINDOWS 0x03
-
-.text
-.globl __setjmp
-.type __setjmp,function
-__setjmp:
- b 1f
- set 0, %o1
-.size __setjmp,.-__setjmp
-
-.globl setjmp
-.type setjmp,function
-setjmp:
- set 1, %o1
-.size setjmp,.-setjmp
-
-.globl __sigsetjmp
-.type __sigsetjmp,function
-__sigsetjmp:
-1:
- /* Save our PC, SP and FP. Save the signal mask if requested with
- a tail-call for simplicity; it always returns zero. */
- ta ST_FLUSH_WINDOWS
-
- st %o7, [%o0 + (JB_PC * 4)]
- st %sp, [%o0 + (JB_SP * 4)]
- st %fp, [%o0 + (JB_FP * 4)]
-
- mov %o7, %g1
- call __sigjmp_save
- mov %g1, %o7
-.size __sigsetjmp,.-__sigsetjmp
-
diff --git a/mdk-stage1/dietlibc/sparc/shmat.c b/mdk-stage1/dietlibc/sparc/shmat.c
deleted file mode 100644
index b7dce2e83..000000000
--- a/mdk-stage1/dietlibc/sparc/shmat.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <unistd.h>
-
-extern void* __ipc();
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE 4096
-#endif
-
-void* shmat(int shmid,const void* shmaddr,int shmflg) {
- void* raddr;
- register void* result;
- result=__ipc(SHMAT,shmid,shmflg,&raddr,shmaddr);
- if ((unsigned long)result <= -(unsigned long)PAGE_SIZE)
- result=raddr;
- return result;
-}
diff --git a/mdk-stage1/dietlibc/sparc/sigaction.c b/mdk-stage1/dietlibc/sparc/sigaction.c
deleted file mode 100644
index 028723699..000000000
--- a/mdk-stage1/dietlibc/sparc/sigaction.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <signal.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, void* restorer, long nr);
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- return __rt_sigaction(signum, act, oldact, 0, _NSIG/8);
-}
diff --git a/mdk-stage1/dietlibc/sparc/start.S b/mdk-stage1/dietlibc/sparc/start.S
deleted file mode 100644
index c6408ee8f..000000000
--- a/mdk-stage1/dietlibc/sparc/start.S
+++ /dev/null
@@ -1,50 +0,0 @@
- .section ".text"
- .align 4
- .global _start
- .type _start,@function
-_start:
-
-/* Terminate the stack frame, and reserve space for functions to
- drop their arguments. */
- mov %g0, %fp
- sub %sp, 6*4, %sp
-
-/* Extract the arguments and environment as encoded on the stack. The
- argument info starts after one register window (16 words) past the SP. */
- ld [%sp+22*4], %o0
- add %sp, 23*4, %o1
- add %o1, %o0, %o2
- add %o2, %o0, %o2
- add %o2, %o0, %o2
- add %o2, %o0, %o2
- add %o2, 4, %o2
-
- sethi %hi(environ), %o3
- or %o3, %lo(environ), %o3
- st %o2, [%o3]
-
-/* When starting a binary via the dynamic linker, %g1 contains the
- address of the shared library termination function, which will be
- registered with atexit(). If we are statically linked, this will
- be NULL. */
-
-/* Let libc do the rest of the initialization, and call main. */
-#ifdef WANT_DYNAMIC
- call dyn_start
-#else
- call main
-#endif
- mov %g1, %o3
-
- b exit
- mov %o0, %i0
-
-/* Die very horribly if exit returns. */
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
- ret
- nop
-
- .size _start, .-_start
-
diff --git a/mdk-stage1/dietlibc/sparc/strlen.S b/mdk-stage1/dietlibc/sparc/strlen.S
deleted file mode 100644
index 59ffb7981..000000000
--- a/mdk-stage1/dietlibc/sparc/strlen.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.text
-.globl strlen
-strlen:
- add %o0, 1, %o1
-.Lloop:
- ldsb [%o0], %o2
- orcc %o2, %o2, %g0
- bne .Lloop
- add %o0, 1, %o0
- retl
- sub %o0, %o1, %o0
diff --git a/mdk-stage1/dietlibc/sparc/syscalls.h b/mdk-stage1/dietlibc/sparc/syscalls.h
deleted file mode 100644
index ea5227c71..000000000
--- a/mdk-stage1/dietlibc/sparc/syscalls.h
+++ /dev/null
@@ -1,276 +0,0 @@
-
-#define __NR_exit 1 /* Common */
-#define __NR_fork 2 /* Common */
-#define __NR_read 3 /* Common */
-#define __NR_write 4 /* Common */
-#define __NR_open 5 /* Common */
-#define __NR_close 6 /* Common */
-#define __NR_wait4 7 /* Common */
-#define __NR_creat 8 /* Common */
-#define __NR_link 9 /* Common */
-#define __NR_unlink 10 /* Common */
-#define __NR_execv 11 /* SunOS Specific */
-#define __NR_chdir 12 /* Common */
-#define __NR_chown 13 /* Common */
-#define __NR_mknod 14 /* Common */
-#define __NR_chmod 15 /* Common */
-#define __NR_lchown 16 /* Common */
-#define __NR_brk 17 /* Common */
-#define __NR_perfctr 18 /* Performance counter operations */
-#define __NR_lseek 19 /* Common */
-#define __NR_getpid 20 /* Common */
-#define __NR_capget 21 /* Linux Specific */
-#define __NR_capset 22 /* Linux Specific */
-#define __NR_setuid 23 /* Implemented via setreuid in SunOS */
-#define __NR_getuid 24 /* Common */
-/* #define __NR_time alias 25 ENOSYS under SunOS */
-#define __NR_ptrace 26 /* Common */
-#define __NR_alarm 27 /* Implemented via setitimer in SunOS */
-#define __NR_sigaltstack 28 /* Common */
-#define __NR_pause 29 /* Is sigblock(0)->sigpause() in SunOS */
-#define __NR_utime 30 /* Implemented via utimes() under SunOS */
-#define __NR_lchown32 31 /* Linux sparc32 specific */
-#define __NR_fchown32 32 /* Linux sparc32 specific */
-#define __NR_access 33 /* Common */
-#define __NR_nice 34 /* Implemented via get/setpriority() in SunOS */
-#define __NR_chown32 35 /* Linux sparc32 specific */
-#define __NR_sync 36 /* Common */
-#define __NR_kill 37 /* Common */
-#define __NR_stat 38 /* Common */
-#define __NR_sendfile 39 /* Linux Specific */
-#define __NR_lstat 40 /* Common */
-#define __NR_dup 41 /* Common */
-#define __NR_pipe 42 /* Common */
-#define __NR_times 43 /* Implemented via getrusage() in SunOS */
-#define __NR_getuid32 44 /* Linux sparc32 specific */
-#define __NR_umount2 45 /* Linux Specific */
-#define __NR_setgid 46 /* Implemented via setregid() in SunOS */
-#define __NR_getgid 47 /* Common */
-#define __NR_signal 48 /* Implemented via sigvec() in SunOS */
-#define __NR_geteuid 49 /* SunOS calls getuid() */
-#define __NR_getegid 50 /* SunOS calls getgid() */
-#define __NR_acct 51 /* Common */
-/* #define __NR_memory_ordering 52 Linux sparc64 specific */
-#define __NR_getgid32 53 /* Linux sparc32 specific */
-#define __NR_ioctl 54 /* Common */
-#define __NR_reboot 55 /* Common */
-#define __NR_mmap2 56 /* Linux sparc32 Specific */
-#define __NR_symlink 57 /* Common */
-#define __NR_readlink 58 /* Common */
-#define __NR_execve 59 /* Common */
-#define __NR_umask 60 /* Common */
-#define __NR_chroot 61 /* Common */
-#define __NR_fstat 62 /* Common */
-#define __NR_fstat64 63 /* Linux sparc32 Specific */
-#define __NR_getpagesize 64 /* Common */
-#define __NR_msync 65 /* Common in newer 1.3.x revs... */
-#define __NR_vfork 66 /* Common */
-#define __NR_pread 67 /* Linux Specific */
-#define __NR_pwrite 68 /* Linux Specific */
-#define __NR_geteuid32 69 /* Linux sparc32, sbrk under SunOS */
-#define __NR_getegid32 70 /* Linux sparc32, sstk under SunOS */
-#define __NR_mmap 71 /* Common */
-#define __NR_setreuid32 72 /* Linux sparc32, vadvise under SunOS */
-#define __NR_munmap 73 /* Common */
-#define __NR_mprotect 74 /* Common */
-#define __NR_madvise 75 /* Common */
-#define __NR_vhangup 76 /* Common */
-#define __NR_truncate64 77 /* Linux sparc32 Specific */
-#define __NR_mincore 78 /* Common */
-#define __NR_getgroups 79 /* Common */
-#define __NR_setgroups 80 /* Common */
-#define __NR_getpgrp 81 /* Common */
-#define __NR_setgroups32 82 /* Linux sparc32, setpgrp under SunOS */
-#define __NR_setitimer 83 /* Common */
-#define __NR_ftruncate64 84 /* Linux sparc32 Specific */
-#define __NR_swapon 85 /* Common */
-#define __NR_getitimer 86 /* Common */
-#define __NR_setuid32 87 /* Linux sparc32, gethostname under SunOS */
-#define __NR_sethostname 88 /* Common */
-#define __NR_setgid32 89 /* Linux sparc32, getdtablesize under SunOS */
-#define __NR_dup2 90 /* Common */
-#define __NR_setfsuid32 91 /* Linux sparc32, getdopt under SunOS */
-#define __NR_fcntl 92 /* Common */
-#define __NR_select 93 /* Common */
-#define __NR_setfsgid32 94 /* Linux sparc32, setdopt under SunOS */
-#define __NR_fsync 95 /* Common */
-#define __NR_setpriority 96 /* Common */
-#define __NR_socket 97 /* Common */
-#define __NR_connect 98 /* Common */
-#define __NR_accept 99 /* Common */
-#define __NR_getpriority 100 /* Common */
-#define __NR_rt_sigreturn 101 /* Linux Specific */
-#define __NR_rt_sigaction 102 /* Linux Specific */
-#define __NR_rt_sigprocmask 103 /* Linux Specific */
-#define __NR_rt_sigpending 104 /* Linux Specific */
-#define __NR_rt_sigtimedwait 105 /* Linux Specific */
-#define __NR_rt_sigqueueinfo 106 /* Linux Specific */
-#define __NR_rt_sigsuspend 107 /* Linux Specific */
-#define __NR_setresuid32 108 /* Linux Specific, sigvec under SunOS */
-#define __NR_getresuid32 109 /* Linux Specific, sigblock under SunOS */
-#define __NR_setresgid32 110 /* Linux Specific, sigsetmask under SunOS */
-#define __NR_getresgid32 111 /* Linux Specific, sigpause under SunOS */
-#define __NR_setregid32 112 /* Linux sparc32, sigstack under SunOS */
-#define __NR_recvmsg 113 /* Common */
-#define __NR_sendmsg 114 /* Common */
-#define __NR_getgroups32 115 /* Linux sparc32, vtrace under SunOS */
-#define __NR_gettimeofday 116 /* Common */
-#define __NR_getrusage 117 /* Common */
-#define __NR_getsockopt 118 /* Common */
-#define __NR_getcwd 119 /* Linux Specific */
-#define __NR_readv 120 /* Common */
-#define __NR_writev 121 /* Common */
-#define __NR_settimeofday 122 /* Common */
-#define __NR_fchown 123 /* Common */
-#define __NR_fchmod 124 /* Common */
-#define __NR_recvfrom 125 /* Common */
-#define __NR_setreuid 126 /* Common */
-#define __NR_setregid 127 /* Common */
-#define __NR_rename 128 /* Common */
-#define __NR_truncate 129 /* Common */
-#define __NR_ftruncate 130 /* Common */
-#define __NR_flock 131 /* Common */
-#define __NR_lstat64 132 /* Linux sparc32 Specific */
-#define __NR_sendto 133 /* Common */
-#define __NR_shutdown 134 /* Common */
-#define __NR_socketpair 135 /* Common */
-#define __NR_mkdir 136 /* Common */
-#define __NR_rmdir 137 /* Common */
-#define __NR_utimes 138 /* SunOS Specific */
-#define __NR_stat64 139 /* Linux sparc32 Specific */
-/* #define __NR_adjtime 140 SunOS Specific */
-#define __NR_getpeername 141 /* Common */
-/* #define __NR_gethostid 142 SunOS Specific */
-/* #define __NR_ni_syscall 143 ENOSYS under SunOS */
-#define __NR_getrlimit 144 /* Common */
-#define __NR_setrlimit 145 /* Common */
-#define __NR_pivot_root 146 /* Linux Specific, killpg under SunOS */
-#define __NR_prctl 147 /* ENOSYS under SunOS */
-#define __NR_pciconfig_read 148 /* ENOSYS under SunOS */
-#define __NR_pciconfig_write 149 /* ENOSYS under SunOS */
-#define __NR_getsockname 150 /* Common */
-/* #define __NR_getmsg 151 SunOS Specific */
-/* #define __NR_putmsg 152 SunOS Specific */
-#define __NR_poll 153 /* Common */
-#define __NR_getdents64 154 /* Linux specific */
-#define __NR_fcntl64 155 /* Linux sparc32 Specific */
-/* #define __NR_getdirentries 156 SunOS Specific */
-#define __NR_statfs 157 /* Common */
-#define __NR_fstatfs 158 /* Common */
-#define __NR_umount 159 /* Common */
-/* #define __NR_async_daemon 160 SunOS Specific */
-/* #define __NR_getfh 161 SunOS Specific */
-#define __NR_getdomainname 162 /* SunOS Specific */
-#define __NR_setdomainname 163 /* Common */
-/* #define __NR_ni_syscall 164 ENOSYS under SunOS */
-#define __NR_quotactl 165 /* Common */
-/* #define __NR_exportfs 166 SunOS Specific */
-#define __NR_mount 167 /* Common */
-#define __NR_ustat 168 /* Common */
-/* #define __NR_semsys 169 SunOS Specific */
-/* #define __NR_msgsys 170 SunOS Specific */
-/* #define __NR_shmsys 171 SunOS Specific */
-/* #define __NR_auditsys 172 SunOS Specific */
-/* #define __NR_rfssys 173 SunOS Specific */
-#define __NR_getdents 174 /* Common */
-#define __NR_setsid 175 /* Common */
-#define __NR_fchdir 176 /* Common */
-/* #define __NR_fchroot 177 SunOS Specific */
-/* #define __NR_vpixsys 178 SunOS Specific */
-/* #define __NR_aioread 179 SunOS Specific */
-/* #define __NR_aiowrite 180 SunOS Specific */
-/* #define __NR_aiowait 181 SunOS Specific */
-/* #define __NR_aiocancel 182 SunOS Specific */
-#define __NR_sigpending 183 /* Common */
-#define __NR_query_module 184 /* Linux Specific */
-#define __NR_setpgid 185 /* Common */
-/* #define __NR_pathconf 186 SunOS Specific */
-/* #define __NR_fpathconf 187 SunOS Specific */
-/* #define __NR_sysconf 188 SunOS Specific */
-#define __NR_uname 189 /* Linux Specific */
-#define __NR_init_module 190 /* Linux Specific */
-#define __NR_personality 191 /* Linux Specific */
-/* #define __NR_prof 192 Linux Specific */
-/* #define __NR_break 193 Linux Specific */
-/* #define __NR_lock 194 Linux Specific */
-/* #define __NR_mpx 195 Linux Specific */
-/* #define __NR_ulimit 196 Linux Specific */
-#define __NR_getppid 197 /* Linux Specific */
-#define __NR_sigaction 198 /* Linux Specific */
-#define __NR_sgetmask 199 /* Linux Specific */
-#define __NR_ssetmask 200 /* Linux Specific */
-#define __NR_sigsuspend 201 /* Linux Specific */
-#define __NR_oldlstat 202 /* Linux Specific */
-#define __NR_uselib 203 /* Linux Specific */
-#define __NR_readdir 204 /* Linux Specific */
-/* #define __NR_ioperm 205 Linux Specific - i386 specific, unused */
-#define __NR_socketcall 206 /* Linux Specific */
-#define __NR_syslog 207 /* Linux Specific */
-/* #define __NR_olduname 208 Linux Specific */
-/* #define __NR_iopl 209 Linux Specific - i386 specific, unused */
-/* #define __NR_idle 210 Linux Specific - was sys_idle, now unused */
-/* #define __NR_vm86 211 Linux Specific - i386 specific, unused */
-#define __NR_waitpid 212 /* Linux Specific */
-#define __NR_swapoff 213 /* Linux Specific */
-#define __NR_sysinfo 214 /* Linux Specific */
-#define __NR_ipc 215 /* Linux Specific */
-#define __NR_sigreturn 216 /* Linux Specific */
-#define __NR_clone 217 /* Linux Specific */
-/* #define __NR_modify_ldt 218 Linux Specific - i386 specific, unused */
-#define __NR_adjtimex 219 /* Linux Specific */
-#define __NR_sigprocmask 220 /* Linux Specific */
-#define __NR_create_module 221 /* Linux Specific */
-#define __NR_delete_module 222 /* Linux Specific */
-#define __NR_get_kernel_syms 223 /* Linux Specific */
-#define __NR_getpgid 224 /* Linux Specific */
-#define __NR_bdflush 225 /* Linux Specific */
-#define __NR_sysfs 226 /* Linux Specific */
-#define __NR_afs_syscall 227 /* Linux Specific */
-#define __NR_setfsuid 228 /* Linux Specific */
-#define __NR_setfsgid 229 /* Linux Specific */
-#define __NR__newselect 230 /* Linux Specific */
-#define __NR_time 231 /* Linux Specific */
-/* #define __NR_oldstat 232 Linux Specific */
-#define __NR_stime 233 /* Linux Specific */
-/* #define __NR_oldfstat 234 Linux Specific */
-/* #define __NR_phys 235 Linux Specific */
-#define __NR__llseek 236 /* Linux Specific */
-#define __NR_mlock 237
-#define __NR_munlock 238
-#define __NR_mlockall 239
-#define __NR_munlockall 240
-#define __NR_sched_setparam 241
-#define __NR_sched_getparam 242
-#define __NR_sched_setscheduler 243
-#define __NR_sched_getscheduler 244
-#define __NR_sched_yield 245
-#define __NR_sched_get_priority_max 246
-#define __NR_sched_get_priority_min 247
-#define __NR_sched_rr_get_interval 248
-#define __NR_nanosleep 249
-#define __NR_mremap 250
-#define __NR__sysctl 251
-#define __NR_getsid 252
-#define __NR_fdatasync 253
-#define __NR_nfsservctl 254
-#define __NR_aplib 255
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,function; \
-.weak wsym; \
-wsym: ; \
-.type sym,function; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#define syscall(name,sym) \
-.text; \
-.type sym,function; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
diff --git a/mdk-stage1/dietlibc/sparc/udiv.S b/mdk-stage1/dietlibc/sparc/udiv.S
deleted file mode 100644
index fe8d04969..000000000
--- a/mdk-stage1/dietlibc/sparc/udiv.S
+++ /dev/null
@@ -1,361 +0,0 @@
-#ifdef __sparc__
- /* This file is generated from divrem.m4; DO NOT EDIT! */
-/*
- * Division and remainder, from Appendix E of the Sparc Version 8
- * Architecture Manual, with fixes from Gordon Irlam.
- */
-
-/*
- * Input: dividend and divisor in %o0 and %o1 respectively.
- *
- * m4 parameters:
- * .udiv name of function to generate
- * div div=div => %o0 / %o1; div=rem => %o0 % %o1
- * false false=true => signed; false=false => unsigned
- *
- * Algorithm parameters:
- * N how many bits per iteration we try to get (4)
- * WORDSIZE total number of bits (32)
- *
- * Derived constants:
- * TOPBITS number of bits in the top decade of a number
- *
- * Important variables:
- * Q the partial quotient under development (initially 0)
- * R the remainder so far, initially the dividend
- * ITER number of main division loop iterations required;
- * equal to ceil(log2(quotient) / N). Note that this
- * is the log base (2^N) of the quotient.
- * V the current comparand, initially divisor*2^(ITER*N-1)
- *
- * Cost:
- * Current estimate for non-large dividend is
- * ceil(log2(quotient) / N) * (10 + 7N/2) + C
- * A large dividend is one greater than 2^(31-TOPBITS) and takes a
- * different path, as the upper bits of the quotient must be developed
- * one bit at a time.
- */
-
-
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define END(name) \
- .size name, . - name
-
-#define ST_DIV0 0x02
-
-ENTRY(.udiv)
-
- ! Ready to divide. Compute size of quotient; scale comparand.
- orcc %o1, %g0, %o5
- bne 1f
- mov %o0, %o3
-
- ! Divide by zero trap. If it returns, return 0 (about as
- ! wrong as possible, but that is what SunOS does...).
- ta ST_DIV0
- retl
- clr %o0
-
-1:
- cmp %o3, %o5 ! if %o1 exceeds %o0, done
- blu .Lgot_result ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu .Lnot_really_big
- clr %o4
-
- ! Here the dividend is >= 2**(31-N) or so. We must be careful here,
- ! as our usual N-at-a-shot divide step will cause overflow and havoc.
- ! The number of bits in the result here is N*ITER+SC, where SC <= N.
- ! Compute ITER in an unorthodox manner: know we need to shift V into
- ! the top decade: so do not even bother to compare to R.
- 1:
- cmp %o5, %g1
- bgeu 3f
- mov 1, %g2
- sll %o5, 4, %o5
- b 1b
- add %o4, 1, %o4
-
- ! Now compute %g2.
- 2: addcc %o5, %o5, %o5
- bcc .Lnot_too_big
- add %g2, 1, %g2
-
- ! We get here if the %o1 overflowed while shifting.
- ! This means that %o3 has the high-order bit set.
- ! Restore %o5 and subtract from %o3.
- sll %g1, 4, %g1 ! high order bit
- srl %o5, 1, %o5 ! rest of %o5
- add %o5, %g1, %o5
- b .Ldo_single_div
- sub %g2, 1, %g2
-
- .Lnot_too_big:
- 3: cmp %o5, %o3
- blu 2b
- nop
- be .Ldo_single_div
- nop
- /* NB: these are commented out in the V8-Sparc manual as well */
- /* (I do not understand this) */
- ! %o5 > %o3: went too far: back up 1 step
- ! srl %o5, 1, %o5
- ! dec %g2
- ! do single-bit divide steps
- !
- ! We have to be careful here. We know that %o3 >= %o5, so we can do the
- ! first divide step without thinking. BUT, the others are conditional,
- ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high-
- ! order bit set in the first step, just falling into the regular
- ! division loop will mess up the first time around.
- ! So we unroll slightly...
- .Ldo_single_div:
- subcc %g2, 1, %g2
- bl .Lend_regular_divide
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b .Lend_single_divloop
- nop
- .Lsingle_divloop:
- sll %o2, 1, %o2
- bl 1f
- srl %o5, 1, %o5
- ! %o3 >= 0
- sub %o3, %o5, %o3
- b 2f
- add %o2, 1, %o2
- 1: ! %o3 < 0
- add %o3, %o5, %o3
- sub %o2, 1, %o2
- 2:
- .Lend_single_divloop:
- subcc %g2, 1, %g2
- bge .Lsingle_divloop
- tst %o3
- b,a .Lend_regular_divide
-
-.Lnot_really_big:
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be .Lgot_result
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-.Ldivloop:
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl .L1.16
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl .L2.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl .L3.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl .L4.23
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-.L4.23:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-.L3.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl .L4.21
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-.L4.21:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-.L2.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl .L3.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl .L4.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-.L4.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-.L3.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl .L4.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-.L4.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-.L1.16:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl .L2.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl .L3.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl .L4.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-.L4.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-.L3.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl .L4.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-.L4.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-.L2.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl .L3.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl .L4.11
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-.L4.11:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-.L3.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl .L4.9
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-.L4.9:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-.Lend_regular_divide:
- subcc %o4, 1, %o4
- bge .Ldivloop
- tst %o3
- bl,a .Lgot_result
- ! non-restoring fixup here (one instruction only!)
- sub %o2, 1, %o2
-
-
-.Lgot_result:
-
- retl
- mov %o2, %o0
-
-END(.udiv)
-
-#endif
diff --git a/mdk-stage1/dietlibc/sparc/umul.S b/mdk-stage1/dietlibc/sparc/umul.S
deleted file mode 100644
index 5d7d60f2b..000000000
--- a/mdk-stage1/dietlibc/sparc/umul.S
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifdef __sparc__
-/*
- * Unsigned multiply. Returns %o0 * %o1 in %o1%o0 (i.e., %o1 holds the
- * upper 32 bits of the 64-bit product).
- *
- * This code optimizes short (less than 13-bit) multiplies. Short
- * multiplies require 25 instruction cycles, and long ones require
- * 45 instruction cycles.
- *
- * On return, overflow has occurred (%o1 is not zero) if and only if
- * the Z condition code is clear, allowing, e.g., the following:
- *
- * call .umul
- * nop
- * bnz overflow (or tnz)
- */
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define END(name) \
- .size name, . - name
-
-ENTRY(.umul)
- or %o0, %o1, %o4
- mov %o0, %y ! multiplier -> Y
- andncc %o4, 0xfff, %g0 ! test bits 12..31 of *both* args
- be .Lmul_shortway ! if zero, can do it the short way
- andcc %g0, %g0, %o4 ! zero the partial product; clear N & V
-
- /*
- * Long multiply. 32 steps, followed by a final shift step.
- */
- mulscc %o4, %o1, %o4 ! 1
- mulscc %o4, %o1, %o4 ! 2
- mulscc %o4, %o1, %o4 ! 3
- mulscc %o4, %o1, %o4 ! 4
- mulscc %o4, %o1, %o4 ! 5
- mulscc %o4, %o1, %o4 ! 6
- mulscc %o4, %o1, %o4 ! 7
- mulscc %o4, %o1, %o4 ! 8
- mulscc %o4, %o1, %o4 ! 9
- mulscc %o4, %o1, %o4 ! 10
- mulscc %o4, %o1, %o4 ! 11
- mulscc %o4, %o1, %o4 ! 12
- mulscc %o4, %o1, %o4 ! 13
- mulscc %o4, %o1, %o4 ! 14
- mulscc %o4, %o1, %o4 ! 15
- mulscc %o4, %o1, %o4 ! 16
- mulscc %o4, %o1, %o4 ! 17
- mulscc %o4, %o1, %o4 ! 18
- mulscc %o4, %o1, %o4 ! 19
- mulscc %o4, %o1, %o4 ! 20
- mulscc %o4, %o1, %o4 ! 21
- mulscc %o4, %o1, %o4 ! 22
- mulscc %o4, %o1, %o4 ! 23
- mulscc %o4, %o1, %o4 ! 24
- mulscc %o4, %o1, %o4 ! 25
- mulscc %o4, %o1, %o4 ! 26
- mulscc %o4, %o1, %o4 ! 27
- mulscc %o4, %o1, %o4 ! 28
- mulscc %o4, %o1, %o4 ! 29
- mulscc %o4, %o1, %o4 ! 30
- mulscc %o4, %o1, %o4 ! 31
- mulscc %o4, %o1, %o4 ! 32
- mulscc %o4, %g0, %o4 ! final shift
-
- /*
- * Normally, with the shift-and-add approach, if both numbers are
- * positive you get the correct result. With 32-bit two's-complement
- * numbers, -x is represented as
- *
- * x 32
- * ( 2 - ------ ) mod 2 * 2
- * 32
- * 2
- *
- * (the `mod 2' subtracts 1 from 1.bbbb). To avoid lots of 2^32s,
- * we can treat this as if the radix point were just to the left
- * of the sign bit (multiply by 2^32), and get
- *
- * -x = (2 - x) mod 2
- *
- * Then, ignoring the `mod 2's for convenience:
- *
- * x * y = xy
- * -x * y = 2y - xy
- * x * -y = 2x - xy
- * -x * -y = 4 - 2x - 2y + xy
- *
- * For signed multiplies, we subtract (x << 32) from the partial
- * product to fix this problem for negative multipliers (see mul.s).
- * Because of the way the shift into the partial product is calculated
- * (N xor V), this term is automatically removed for the multiplicand,
- * so we don't have to adjust.
- *
- * But for unsigned multiplies, the high order bit wasn't a sign bit,
- * and the correction is wrong. So for unsigned multiplies where the
- * high order bit is one, we end up with xy - (y << 32). To fix it
- * we add y << 32.
- */
-#if 0
- tst %o1
- bl,a 1f ! if %o1 < 0 (high order bit = 1),
- add %o4, %o0, %o4 ! %o4 += %o0 (add y to upper half)
-1: rd %y, %o0 ! get lower half of product
- retl
- addcc %o4, %g0, %o1 ! put upper half in place and set Z for %o1==0
-#else
- /* Faster code from tege@sics.se. */
- sra %o1, 31, %o2 ! make mask from sign bit
- and %o0, %o2, %o2 ! %o2 = 0 or %o0, depending on sign of %o1
- rd %y, %o0 ! get lower half of product
- retl
- addcc %o4, %o2, %o1 ! add compensation and put upper half in place
-#endif
-
-.Lmul_shortway:
- /*
- * Short multiply. 12 steps, followed by a final shift step.
- * The resulting bits are off by 12 and (32-12) = 20 bit positions,
- * but there is no problem with %o0 being negative (unlike above),
- * and overflow is impossible (the answer is at most 24 bits long).
- */
- mulscc %o4, %o1, %o4 ! 1
- mulscc %o4, %o1, %o4 ! 2
- mulscc %o4, %o1, %o4 ! 3
- mulscc %o4, %o1, %o4 ! 4
- mulscc %o4, %o1, %o4 ! 5
- mulscc %o4, %o1, %o4 ! 6
- mulscc %o4, %o1, %o4 ! 7
- mulscc %o4, %o1, %o4 ! 8
- mulscc %o4, %o1, %o4 ! 9
- mulscc %o4, %o1, %o4 ! 10
- mulscc %o4, %o1, %o4 ! 11
- mulscc %o4, %o1, %o4 ! 12
- mulscc %o4, %g0, %o4 ! final shift
-
- /*
- * %o4 has 20 of the bits that should be in the result; %y has
- * the bottom 12 (as %y's top 12). That is:
- *
- * %o4 %y
- * +----------------+----------------+
- * | -12- | -20- | -12- | -20- |
- * +------(---------+------)---------+
- * -----result-----
- *
- * The 12 bits of %o4 left of the `result' area are all zero;
- * in fact, all top 20 bits of %o4 are zero.
- */
-
- rd %y, %o5
- sll %o4, 12, %o0 ! shift middle bits left 12
- srl %o5, 20, %o5 ! shift low bits right 20
- or %o5, %o0, %o0
- retl
- addcc %g0, %g0, %o1 ! %o1 = zero, and set Z
-
-END(.umul)
-#endif
diff --git a/mdk-stage1/dietlibc/sparc/unified.S b/mdk-stage1/dietlibc/sparc/unified.S
deleted file mode 100644
index 873a522df..000000000
--- a/mdk-stage1/dietlibc/sparc/unified.S
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <dietfeatures.h>
-#include "syscalls.h"
-
-.text
-.weak exit
-.type exit,function
-exit:
-.global _exit
-.type _exit,function
-_exit:
- mov __NR_exit, %g1
-.global __unified_syscall
-__unified_syscall:
- ta 0x10
-
- bcc 1f
- save %sp, -104, %sp
-
- neg %i0, %i0
-1:
- add %i0, 0xff, %l2
- cmp %l2, 0xfe
- bgu 2f
- neg %i0, %l3
-#ifdef WANT_THREAD_SAFE
- call __errno_location
- nop
-#else
- sethi %hi(errno), %o0
- or %o0, %lo(errno), %o0
-#endif
- st %l3, [ %o0 ]
- mov -1, %i0
-2:
- ret
- restore
diff --git a/mdk-stage1/dietlibc/sparc/urem.S b/mdk-stage1/dietlibc/sparc/urem.S
deleted file mode 100644
index f7a9fd394..000000000
--- a/mdk-stage1/dietlibc/sparc/urem.S
+++ /dev/null
@@ -1,360 +0,0 @@
-#ifdef __sparc__
- /* This file is generated from divrem.m4; DO NOT EDIT! */
-/*
- * Division and remainder, from Appendix E of the Sparc Version 8
- * Architecture Manual, with fixes from Gordon Irlam.
- */
-
-/*
- * Input: dividend and divisor in %o0 and %o1 respectively.
- *
- * m4 parameters:
- * .urem name of function to generate
- * rem rem=div => %o0 / %o1; rem=rem => %o0 % %o1
- * false false=true => signed; false=false => unsigned
- *
- * Algorithm parameters:
- * N how many bits per iteration we try to get (4)
- * WORDSIZE total number of bits (32)
- *
- * Derived constants:
- * TOPBITS number of bits in the top decade of a number
- *
- * Important variables:
- * Q the partial quotient under development (initially 0)
- * R the remainder so far, initially the dividend
- * ITER number of main division loop iterations required;
- * equal to ceil(log2(quotient) / N). Note that this
- * is the log base (2^N) of the quotient.
- * V the current comparand, initially divisor*2^(ITER*N-1)
- *
- * Cost:
- * Current estimate for non-large dividend is
- * ceil(log2(quotient) / N) * (10 + 7N/2) + C
- * A large dividend is one greater than 2^(31-TOPBITS) and takes a
- * different path, as the upper bits of the quotient must be developed
- * one bit at a time.
- */
-
-
-
-#define C_LABEL(name) name:
-
-#define C_SYMBOL_NAME(name) name
-
-#define ENTRY(name) \
- .global C_SYMBOL_NAME(name); \
- .align 4;\
- C_LABEL(name);\
- .type name,@function;
-
-#define END(name) \
- .size name, . - name
-
-#define ST_DIV0 0x02
-
-ENTRY(.urem)
-
- ! Ready to divide. Compute size of quotient; scale comparand.
- orcc %o1, %g0, %o5
- bne 1f
- mov %o0, %o3
-
- ! Divide by zero trap. If it returns, return 0 (about as
- ! wrong as possible, but that is what SunOS does...).
- ta ST_DIV0
- retl
- clr %o0
-
-1:
- cmp %o3, %o5 ! if %o1 exceeds %o0, done
- blu .Lgot_result ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu .Lnot_really_big
- clr %o4
-
- ! Here the dividend is >= 2**(31-N) or so. We must be careful here,
- ! as our usual N-at-a-shot divide step will cause overflow and havoc.
- ! The number of bits in the result here is N*ITER+SC, where SC <= N.
- ! Compute ITER in an unorthodox manner: know we need to shift V into
- ! the top decade: so do not even bother to compare to R.
- 1:
- cmp %o5, %g1
- bgeu 3f
- mov 1, %g2
- sll %o5, 4, %o5
- b 1b
- add %o4, 1, %o4
-
- ! Now compute %g2.
- 2: addcc %o5, %o5, %o5
- bcc .Lnot_too_big
- add %g2, 1, %g2
-
- ! We get here if the %o1 overflowed while shifting.
- ! This means that %o3 has the high-order bit set.
- ! Restore %o5 and subtract from %o3.
- sll %g1, 4, %g1 ! high order bit
- srl %o5, 1, %o5 ! rest of %o5
- add %o5, %g1, %o5
- b .Ldo_single_div
- sub %g2, 1, %g2
-
- .Lnot_too_big:
- 3: cmp %o5, %o3
- blu 2b
- nop
- be .Ldo_single_div
- nop
- /* NB: these are commented out in the V8-Sparc manual as well */
- /* (I do not understand this) */
- ! %o5 > %o3: went too far: back up 1 step
- ! srl %o5, 1, %o5
- ! dec %g2
- ! do single-bit divide steps
- !
- ! We have to be careful here. We know that %o3 >= %o5, so we can do the
- ! first divide step without thinking. BUT, the others are conditional,
- ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high-
- ! order bit set in the first step, just falling into the regular
- ! division loop will mess up the first time around.
- ! So we unroll slightly...
- .Ldo_single_div:
- subcc %g2, 1, %g2
- bl .Lend_regular_divide
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b .Lend_single_divloop
- nop
- .Lsingle_divloop:
- sll %o2, 1, %o2
- bl 1f
- srl %o5, 1, %o5
- ! %o3 >= 0
- sub %o3, %o5, %o3
- b 2f
- add %o2, 1, %o2
- 1: ! %o3 < 0
- add %o3, %o5, %o3
- sub %o2, 1, %o2
- 2:
- .Lend_single_divloop:
- subcc %g2, 1, %g2
- bge .Lsingle_divloop
- tst %o3
- b,a .Lend_regular_divide
-
-.Lnot_really_big:
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be .Lgot_result
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-.Ldivloop:
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl .L1.16
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl .L2.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl .L3.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl .L4.23
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-.L4.23:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-.L3.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl .L4.21
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-.L4.21:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-.L2.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl .L3.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl .L4.19
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-.L4.19:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-.L3.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl .L4.17
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-.L4.17:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-.L1.16:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl .L2.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl .L3.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl .L4.15
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-.L4.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-.L3.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl .L4.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-.L4.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-.L2.15:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl .L3.13
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl .L4.11
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-.L4.11:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-.L3.13:
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl .L4.9
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-.L4.9:
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-.Lend_regular_divide:
- subcc %o4, 1, %o4
- bge .Ldivloop
- tst %o3
- bl,a .Lgot_result
- ! non-restoring fixup here (one instruction only!)
- add %o3, %o1, %o3
-
-
-.Lgot_result:
-
- retl
- mov %o3, %o0
-
-END(.urem)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h
deleted file mode 100644
index aa62f67a9..000000000
--- a/mdk-stage1/dietlibc/syscalls.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#if defined(__i386__)
-#include "i386/syscalls.h"
-
-#elif defined(__x86_64__)
-#include "x86_64/syscalls.h"
-
-#elif defined(__sparc__)
-#if defined(__arch64__)
-#include "sparc64/syscalls.h"
-#else
-#include "sparc/syscalls.h"
-#endif
-
-#elif defined(__powerpc__)
-#include "ppc/syscalls.h"
-
-#elif defined(__mips__)
-#include "mips/syscalls.h"
-
-#elif defined(__arm__)
-#include "arm/syscalls.h"
-
-#elif defined(__s390__)
-#include "s390/syscalls.h"
-
-#elif defined(__alpha__)
-#include "alpha/syscalls.h"
-
-#elif defined(__hppa__)
-#include "parisc/syscalls.h"
-
-#elif defined(__ia64__)
-#include "ia64/syscalls.h"
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S b/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
deleted file mode 100644
index c9fd97898..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__getpagesize.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getpagesize
-syscall(getpagesize,getpagesize)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/__pread.S b/mdk-stage1/dietlibc/syscalls.s/__pread.S
deleted file mode 100644
index ae2068352..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pread,__pread)
diff --git a/mdk-stage1/dietlibc/syscalls.s/__pwrite.S b/mdk-stage1/dietlibc/syscalls.s/__pwrite.S
deleted file mode 100644
index f52ead7b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__pwrite.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pwrite,__pwrite)
diff --git a/mdk-stage1/dietlibc/syscalls.s/__reboot.S b/mdk-stage1/dietlibc/syscalls.s/__reboot.S
deleted file mode 100644
index 0de4f25b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__reboot.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(reboot,__reboot)
diff --git a/mdk-stage1/dietlibc/syscalls.s/_llseek.S b/mdk-stage1/dietlibc/syscalls.s/_llseek.S
deleted file mode 100644
index 68d021168..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR__llseek
-.global llseek
-llseek:
-syscall(_llseek,_llseek)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/access.S b/mdk-stage1/dietlibc/syscalls.s/access.S
deleted file mode 100644
index d1edafd8c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/access.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(access,access)
diff --git a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S b/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
deleted file mode 100644
index 190ebcd7e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/adjtimex.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(adjtimex,adjtimex)
diff --git a/mdk-stage1/dietlibc/syscalls.s/alarm.S b/mdk-stage1/dietlibc/syscalls.s/alarm.S
deleted file mode 100644
index b1b0d3e49..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/alarm.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-#ifdef __NR_alarm
-syscall(alarm,alarm)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/bdflush.S b/mdk-stage1/dietlibc/syscalls.s/bdflush.S
deleted file mode 100644
index b7788baef..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/bdflush.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_bdflush
-syscall(bdflush,bdflush)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/brk.S b/mdk-stage1/dietlibc/syscalls.s/brk.S
deleted file mode 100644
index 6e21810bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/brk.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(brk,__diet_brk)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chdir.S b/mdk-stage1/dietlibc/syscalls.s/chdir.S
deleted file mode 100644
index 204f3dd6c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chdir,chdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chmod.S b/mdk-stage1/dietlibc/syscalls.s/chmod.S
deleted file mode 100644
index c1b85f5a4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chmod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chmod,chmod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chown.S b/mdk-stage1/dietlibc/syscalls.s/chown.S
deleted file mode 100644
index daac3bf13..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chown,chown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/chown32.S b/mdk-stage1/dietlibc/syscalls.s/chown32.S
deleted file mode 100644
index 98d68f980..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_chown32
-syscall_weak(chown32,chown32,__libc_chown32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/chroot.S b/mdk-stage1/dietlibc/syscalls.s/chroot.S
deleted file mode 100644
index 65de1e473..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/chroot.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(chroot,chroot)
diff --git a/mdk-stage1/dietlibc/syscalls.s/close.S b/mdk-stage1/dietlibc/syscalls.s/close.S
deleted file mode 100644
index 361ca5272..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/close.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(close,close,__libc_close)
diff --git a/mdk-stage1/dietlibc/syscalls.s/create_module.S b/mdk-stage1/dietlibc/syscalls.s/create_module.S
deleted file mode 100644
index f2da644ad..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/create_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_create_module
-syscall(create_module,create_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/delete_module.S b/mdk-stage1/dietlibc/syscalls.s/delete_module.S
deleted file mode 100644
index d0919b6be..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/delete_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_delete_module
-syscall(delete_module,delete_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/dup.S b/mdk-stage1/dietlibc/syscalls.s/dup.S
deleted file mode 100644
index b2977fd43..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/dup.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(dup,dup)
diff --git a/mdk-stage1/dietlibc/syscalls.s/dup2.S b/mdk-stage1/dietlibc/syscalls.s/dup2.S
deleted file mode 100644
index 774bfbfe7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/dup2.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(dup2,dup2)
diff --git a/mdk-stage1/dietlibc/syscalls.s/environ.S b/mdk-stage1/dietlibc/syscalls.s/environ.S
deleted file mode 100644
index eb3ff0b94..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/environ.S
+++ /dev/null
@@ -1,16 +0,0 @@
-.section ".bss"
-.align 8
-
-.type environ,object
-.weak environ
-.type __environ,object
-.weak __environ
-__environ:
-environ:
-#if __WORDSIZE == 64
- .quad 0
-#else
- .long 0
-#endif
-.size environ,.-environ
-.size __environ,.-__environ
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S b/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
deleted file mode 100644
index 09bb50209..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_create.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_create
-syscall(sys_epoll_create,epoll_create)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S b/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
deleted file mode 100644
index 4587f59de..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_ctl
-syscall(sys_epoll_ctl,epoll_ctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S b/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
deleted file mode 100644
index dab5a58b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/epoll_wait.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sys_epoll_wait
-syscall(sys_epoll_wait,epoll_wait)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/errlist.S b/mdk-stage1/dietlibc/syscalls.s/errlist.S
deleted file mode 100644
index c06d3d3ac..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/errlist.S
+++ /dev/null
@@ -1,293 +0,0 @@
-#include <endian.h>
-
-#
-# My gcc tries to align some of the strings if written the code in C. This costs a lot of bytes.
-#
-
-#ifdef __DYN_LIB
-.section .data
-#else
-.section .rodata
-#endif
-
-.align 4
-.global sys_errlist
-#ifdef __arm__
-.type sys_errlist,object
-.type sys_nerr,object
-#else
-.type sys_errlist,@object
-.type sys_nerr,@object
-#endif
-
-#if (__WORDSIZE == 64)
-#define deflong .quad
-#else
-#define deflong .long
-#endif
-
-sys_errlist:
- deflong .LC000
- deflong .LC001
- deflong .LC002
- deflong .LC003
- deflong .LC004
- deflong .LC005
- deflong .LC006
- deflong .LC007
- deflong .LC008
- deflong .LC009
- deflong .LC010
- deflong .LC011
- deflong .LC012
- deflong .LC013
- deflong .LC014
- deflong .LC015
- deflong .LC016
- deflong .LC017
- deflong .LC018
- deflong .LC019
- deflong .LC020
- deflong .LC021
- deflong .LC022
- deflong .LC023
- deflong .LC024
- deflong .LC025
- deflong .LC026
- deflong .LC027
- deflong .LC028
- deflong .LC029
- deflong .LC030
- deflong .LC031
- deflong .LC032
- deflong .LC033
- deflong .LC034
- deflong .LC035
- deflong .LC036
- deflong .LC037
- deflong .LC038
- deflong .LC039
- deflong .LC040
- deflong .LC041
- deflong .LC042
- deflong .LC043
- deflong .LC044
- deflong .LC045
- deflong .LC046
- deflong .LC047
- deflong .LC048
- deflong .LC049
- deflong .LC050
- deflong .LC051
- deflong .LC052
- deflong .LC053
- deflong .LC054
- deflong .LC055
- deflong .LC056
- deflong .LC057
- deflong .LC058
- deflong .LC059
- deflong .LC060
- deflong .LC061
- deflong .LC062
- deflong .LC063
- deflong .LC064
- deflong .LC065
- deflong .LC066
- deflong .LC067
- deflong .LC068
- deflong .LC069
- deflong .LC070
- deflong .LC071
- deflong .LC072
- deflong .LC073
- deflong .LC074
- deflong .LC075
- deflong .LC076
- deflong .LC077
- deflong .LC078
- deflong .LC079
- deflong .LC080
- deflong .LC081
- deflong .LC082
- deflong .LC083
- deflong .LC084
- deflong .LC085
- deflong .LC086
- deflong .LC087
- deflong .LC088
- deflong .LC089
- deflong .LC090
- deflong .LC091
- deflong .LC092
- deflong .LC093
- deflong .LC094
- deflong .LC095
- deflong .LC096
- deflong .LC097
- deflong .LC098
- deflong .LC099
- deflong .LC100
- deflong .LC101
- deflong .LC102
- deflong .LC103
- deflong .LC104
- deflong .LC105
- deflong .LC106
- deflong .LC107
- deflong .LC108
- deflong .LC109
- deflong .LC110
- deflong .LC111
- deflong .LC112
- deflong .LC113
- deflong .LC114
- deflong .LC115
- deflong .LC116
- deflong .LC117
- deflong .LC118
- deflong .LC119
- deflong .LC120
- deflong .LC121
- deflong .LC122
- deflong .LC123
- deflong .LC124
- deflong 0
-.size sys_errlist,.-sys_errlist
-
-.align 4
-.global sys_nerr
-sys_nerr:
- .long 125
-.size sys_nerr,4
-
-
-#ifdef __DYN_LIB
-.section .rodata
-#endif
-
-.LC000: .string "Success"
-.LC001: .string "Operation not permitted"
-.LC002: .string "No such file or directory"
-.LC003: .string "No such process"
-.LC004: .string "Interrupted system call"
-.LC005: .string "I/O error"
-.LC006: .string "No such device or address"
-.LC007: .string "Arg list too long"
-.LC008: .string "Exec format error"
-.LC009: .string "Bad file number"
-.LC010: .string "No child processes"
-.LC011: .string "Try again"
-.LC012: .string "Out of memory"
-.LC013: .string "Permission denied"
-.LC014: .string "Bad address"
-.LC015: .string "Block device required"
-.LC016: .string "Device or resource busy"
-.LC017: .string "File exists"
-.LC018: .string "Cross-device link"
-.LC019: .string "No such device"
-.LC020: .string "Not a directory"
-.LC021: .string "Is a directory"
-.LC022: .string "Invalid argument"
-.LC023: .string "File table overflow"
-.LC024: .string "Too many open files"
-.LC025: .string "Not a typewriter"
-.LC026: .string "Text file busy"
-.LC027: .string "File too large"
-.LC028: .string "No space left on device"
-.LC029: .string "Illegal seek"
-.LC030: .string "Read-only file system"
-.LC031: .string "Too many links"
-.LC032: .string "Broken pipe"
-.LC033: .string "Math argument out of domain of func"
-.LC034: .string "Math result not representable"
-.LC035: .string "Resource deadlock would occur"
-.LC036: .string "File name too long"
-.LC037: .string "No record locks available"
-.LC038: .string "Function not implemented"
-.LC039: .string "Directory not empty"
-.LC040: .string "Too many symbolic links encountered"
-.LC041: .string "Operation would block"
-.LC042: .string "No message of desired type"
-.LC043: .string "Identifier removed"
-.LC044: .string "Channel number out of range"
-.LC045: .string "Level 2 not synchronized"
-.LC046: .string "Level 3 halted"
-.LC047: .string "Level 3 reset"
-.LC048: .string "Link number out of range"
-.LC049: .string "Protocol driver not attached"
-.LC050: .string "No CSI structure available"
-.LC051: .string "Level 2 halted"
-.LC052: .string "Invalid exchange"
-.LC053: .string "Invalid request descriptor"
-.LC054: .string "Exchange full"
-.LC055: .string "No anode"
-.LC056: .string "Invalid request code"
-.LC057: .string "Invalid slot"
-.LC058: .string "File locking deadlock error"
-.LC059: .string "Bad font file format"
-.LC060: .string "Device not a stream"
-.LC061: .string "No data available"
-.LC062: .string "Timer expired"
-.LC063: .string "Out of streams resources"
-.LC064: .string "Machine is not on the network"
-.LC065: .string "Package not installed"
-.LC066: .string "Object is remote"
-.LC067: .string "Link has been severed"
-.LC068: .string "Advertise error"
-.LC069: .string "Srmount error"
-.LC070: .string "Communication error on send"
-.LC071: .string "Protocol error"
-.LC072: .string "Multihop attempted"
-.LC073: .string "RFS specific error"
-.LC074: .string "Not a data message"
-.LC075: .string "Value too large for defined data type"
-.LC076: .string "Name not unique on network"
-.LC077: .string "File descriptor in bad state"
-.LC078: .string "Remote address changed"
-.LC079: .string "Can not access a needed shared library"
-.LC080: .string "Accessing a corrupted shared library"
-.LC081: .string ".lib section in a.out corrupted"
-.LC082: .string "Attempting to link in too many shared libraries"
-.LC083: .string "Cannot exec a shared library directly"
-.LC084: .string "Illegal byte sequence"
-.LC085: .string "Interrupted system call should be restarted"
-.LC086: .string "Streams pipe error"
-.LC087: .string "Too many users"
-.LC088: .string "Socket operation on non-socket"
-.LC089: .string "Destination address required"
-.LC090: .string "Message too long"
-.LC091: .string "Protocol wrong type for socket"
-.LC092: .string "Protocol not available"
-.LC093: .string "Protocol not supported"
-.LC094: .string "Socket type not supported"
-.LC095: .string "Operation not supported on transport endpoint"
-.LC096: .string "Protocol family not supported"
-.LC097: .string "Address family not supported by protocol"
-.LC098: .string "Address already in use"
-.LC099: .string "Cannot assign requested address"
-.LC100: .string "Network is down"
-.LC101: .string "Network is unreachable"
-.LC102: .string "Network dropped connection because of reset"
-.LC103: .string "Software caused connection abort"
-.LC104: .string "Connection reset by peer"
-.LC105: .string "No buffer space available"
-.LC106: .string "Transport endpoint is already connected"
-.LC107: .string "Transport endpoint is not connected"
-.LC108: .string "Cannot send after transport endpoint shutdown"
-.LC109: .string "Too many references: cannot splice"
-.LC110: .string "Connection timed out"
-.LC111: .string "Connection refused"
-.LC112: .string "Host is down"
-.LC113: .string "No route to host"
-.LC114: .string "Operation already in progress"
-.LC115: .string "Operation now in progress"
-.LC116: .string "Stale NFS file handle"
-.LC117: .string "Structure needs cleaning"
-.LC118: .string "Not a XENIX named type file"
-.LC119: .string "No XENIX semaphores available"
-.LC120: .string "Is a named type file"
-.LC121: .string "Remote I/O error"
-.LC122: .string "Quota exceeded"
-.LC123: .string "No medium found"
-.LC124: .string "Wrong medium type"
diff --git a/mdk-stage1/dietlibc/syscalls.s/errno.S b/mdk-stage1/dietlibc/syscalls.s/errno.S
deleted file mode 100644
index 2f0a2eca8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/errno.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.section ".bss"
-.align 8
-
-.type errno,object
-.weak errno
-errno:
- .long 0
-.size errno,.-errno
diff --git a/mdk-stage1/dietlibc/syscalls.s/execve.S b/mdk-stage1/dietlibc/syscalls.s/execve.S
deleted file mode 100644
index ff952ae7d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/execve.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(execve,execve)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchdir.S b/mdk-stage1/dietlibc/syscalls.s/fchdir.S
deleted file mode 100644
index 0aeaf610b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchdir,fchdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchmod.S b/mdk-stage1/dietlibc/syscalls.s/fchmod.S
deleted file mode 100644
index 30bc2e210..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchmod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchmod,fchmod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown.S b/mdk-stage1/dietlibc/syscalls.s/fchown.S
deleted file mode 100644
index bc2a296ea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fchown,fchown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fchown32.S b/mdk-stage1/dietlibc/syscalls.s/fchown32.S
deleted file mode 100644
index 25b18bc8e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fchown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_fchown32
-syscall_weak(fchown32,fchown32,__libc_fchown32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/fcntl.S b/mdk-stage1/dietlibc/syscalls.s/fcntl.S
deleted file mode 100644
index 2285929a0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fcntl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fcntl,fcntl,__libc_fcntl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S b/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
deleted file mode 100644
index 46afd94d2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fdatasync.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-
-#ifndef __NR_fdatasync
-#define __NR_fdatasync __NR_fsync
-#endif
-syscall_weak(fdatasync,fdatasync,__libc_fdatasync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/flock.S b/mdk-stage1/dietlibc/syscalls.s/flock.S
deleted file mode 100644
index 7b4daeff7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/flock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(flock,flock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fork.S b/mdk-stage1/dietlibc/syscalls.s/fork.S
deleted file mode 100644
index b40c3f708..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fork.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fork,fork,__libc_fork)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat.S b/mdk-stage1/dietlibc/syscalls.s/fstat.S
deleted file mode 100644
index 9dd465cda..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fstat,fstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstat64.S b/mdk-stage1/dietlibc/syscalls.s/fstat64.S
deleted file mode 100644
index f034ddf5b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_fstat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(fstat64,__dietlibc_fstat64)
-#else
-syscall(fstat64,fstat64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S b/mdk-stage1/dietlibc/syscalls.s/fstatfs.S
deleted file mode 100644
index a23c8770c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstatfs.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(fstatfs,fstatfs)
diff --git a/mdk-stage1/dietlibc/syscalls.s/fsync.S b/mdk-stage1/dietlibc/syscalls.s/fsync.S
deleted file mode 100644
index 66af59ef9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fsync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(fsync,fsync,__libc_fsync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate.S
deleted file mode 100644
index dde57a615..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ftruncate.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ftruncate,ftruncate)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S b/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
deleted file mode 100644
index 639dcf5b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ftruncate64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_ftruncate64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(ftruncate64,__dietlibc_ftruncate64)
-#else
-syscall(ftruncate64,ftruncate64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getcwd.S b/mdk-stage1/dietlibc/syscalls.s/getcwd.S
deleted file mode 100644
index e13262f20..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getcwd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getcwd,__syscall_getcwd)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents.S b/mdk-stage1/dietlibc/syscalls.s/getdents.S
deleted file mode 100644
index f476e939d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getdents,getdents)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getdents64.S b/mdk-stage1/dietlibc/syscalls.s/getdents64.S
deleted file mode 100644
index 691d8f650..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_getdents64
-syscall(getdents64,getdents64)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid.S b/mdk-stage1/dietlibc/syscalls.s/getegid.S
deleted file mode 100644
index 64843ee35..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getegid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getegid,getegid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getegid32.S b/mdk-stage1/dietlibc/syscalls.s/getegid32.S
deleted file mode 100644
index fd527d3f2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getegid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getegid32
-syscall_weak(getegid32,getegid32,__libc_getegid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid.S b/mdk-stage1/dietlibc/syscalls.s/geteuid.S
deleted file mode 100644
index 55dc00981..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/geteuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(geteuid,geteuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S b/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
deleted file mode 100644
index 8881fa580..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/geteuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_geteuid32
-syscall_weak(geteuid32,geteuid32,__libc_geteuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid.S b/mdk-stage1/dietlibc/syscalls.s/getgid.S
deleted file mode 100644
index 39f092685..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getgid,getgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgid32.S b/mdk-stage1/dietlibc/syscalls.s/getgid32.S
deleted file mode 100644
index 09fca3504..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getgid32
-syscall_weak(getgid32,getgid32,__libc_getgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups.S b/mdk-stage1/dietlibc/syscalls.s/getgroups.S
deleted file mode 100644
index b4c57689c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgroups.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getgroups,getgroups)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S b/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
deleted file mode 100644
index 29e6005d6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getgroups32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getgroups32
-syscall_weak(getgroups32,getgroups32,__libc_getgroups32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getitimer.S b/mdk-stage1/dietlibc/syscalls.s/getitimer.S
deleted file mode 100644
index 9a2084080..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getitimer.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getitimer,getitimer)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpgid.S b/mdk-stage1/dietlibc/syscalls.s/getpgid.S
deleted file mode 100644
index e568f060f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpgid,getpgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpid.S b/mdk-stage1/dietlibc/syscalls.s/getpid.S
deleted file mode 100644
index 093884785..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpid,getpid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getppid.S b/mdk-stage1/dietlibc/syscalls.s/getppid.S
deleted file mode 100644
index b05e64ae3..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getppid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getppid,getppid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getpriority.S b/mdk-stage1/dietlibc/syscalls.s/getpriority.S
deleted file mode 100644
index 848b27ed7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getpriority.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpriority,getpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid.S b/mdk-stage1/dietlibc/syscalls.s/getresgid.S
deleted file mode 100644
index a1d873c15..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresgid
-
-syscall(getresgid,getresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S b/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
deleted file mode 100644
index 35ee7436b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresgid32
-syscall_weak(getresgid32,getresgid32,__libc_getresgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
deleted file mode 100644
index 95c5505a8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getresuid
-
-syscall(getresuid,getresuid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S b/mdk-stage1/dietlibc/syscalls.s/getrlimit.S
deleted file mode 100644
index 1c63c0196..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getrlimit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getrlimit,getrlimit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getrusage.S b/mdk-stage1/dietlibc/syscalls.s/getrusage.S
deleted file mode 100644
index 2972c4938..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getrusage.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getrusage,getrusage)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getsid.S b/mdk-stage1/dietlibc/syscalls.s/getsid.S
deleted file mode 100644
index cf5cce9d5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getsid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsid,getsid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S b/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S
deleted file mode 100644
index f364b787a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/gettimeofday.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(gettimeofday,gettimeofday)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid.S b/mdk-stage1/dietlibc/syscalls.s/getuid.S
deleted file mode 100644
index c53c25a7a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getuid,getuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/getuid32.S b/mdk-stage1/dietlibc/syscalls.s/getuid32.S
deleted file mode 100644
index f90ce06a5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_getuid32
-syscall_weak(getuid32,getuid32,__libc_getuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/init_module.S b/mdk-stage1/dietlibc/syscalls.s/init_module.S
deleted file mode 100644
index 4e8709d75..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/init_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_init_module
-syscall(init_module,init_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ioctl.S b/mdk-stage1/dietlibc/syscalls.s/ioctl.S
deleted file mode 100644
index 463d319dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ioctl,ioctl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/ioperm.S b/mdk-stage1/dietlibc/syscalls.s/ioperm.S
deleted file mode 100644
index 74a51fc4b..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_ioperm
-syscall(ioperm,ioperm)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/iopl.S b/mdk-stage1/dietlibc/syscalls.s/iopl.S
deleted file mode 100644
index 06a6c53fb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/iopl.S
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#include "syscalls.h"
-
-#ifdef __NR_iopl
-syscall(iopl,iopl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ipc.S b/mdk-stage1/dietlibc/syscalls.s/ipc.S
deleted file mode 100644
index 476878e52..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ipc.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_ipc
-syscall(ipc,__ipc)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/kill.S b/mdk-stage1/dietlibc/syscalls.s/kill.S
deleted file mode 100644
index eb466dd33..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/kill.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(kill,kill)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown.S b/mdk-stage1/dietlibc/syscalls.s/lchown.S
deleted file mode 100644
index 19dfefaef..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lchown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(lchown,lchown)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lchown32.S b/mdk-stage1/dietlibc/syscalls.s/lchown32.S
deleted file mode 100644
index 6863dcb24..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lchown32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_lchown32
-syscall_weak(lchown32,lchown32,__libc_lchown32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/link.S b/mdk-stage1/dietlibc/syscalls.s/link.S
deleted file mode 100644
index 8015d11c8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/link.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(link,link)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lseek.S b/mdk-stage1/dietlibc/syscalls.s/lseek.S
deleted file mode 100644
index 93707a22a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lseek.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(lseek,lseek,__libc_lseek)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat.S b/mdk-stage1/dietlibc/syscalls.s/lstat.S
deleted file mode 100644
index 5720161c0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(lstat,lstat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/lstat64.S b/mdk-stage1/dietlibc/syscalls.s/lstat64.S
deleted file mode 100644
index 021cb0578..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_lstat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(lstat64,__dietlibc_lstat64)
-#else
-syscall(lstat64,lstat64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/madvise.S b/mdk-stage1/dietlibc/syscalls.s/madvise.S
deleted file mode 100644
index dde7daaea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/madvise.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(madvise,madvise)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mkdir.S b/mdk-stage1/dietlibc/syscalls.s/mkdir.S
deleted file mode 100644
index d6214ee46..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mkdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mkdir,mkdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mknod.S b/mdk-stage1/dietlibc/syscalls.s/mknod.S
deleted file mode 100644
index c1b2af12d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mknod.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mknod,mknod)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mlock.S b/mdk-stage1/dietlibc/syscalls.s/mlock.S
deleted file mode 100644
index e2fa3d1bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mlock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mlock,mlock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mlockall.S b/mdk-stage1/dietlibc/syscalls.s/mlockall.S
deleted file mode 100644
index 6ad0eef9d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mlockall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mlockall,mlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mmap2.S b/mdk-stage1/dietlibc/syscalls.s/mmap2.S
deleted file mode 100644
index faf7eaaff..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mmap2.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_mmap2
-syscall(mmap2,__mmap2)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/mount.S b/mdk-stage1/dietlibc/syscalls.s/mount.S
deleted file mode 100644
index 2fd845561..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mount.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mount,mount)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mprotect.S b/mdk-stage1/dietlibc/syscalls.s/mprotect.S
deleted file mode 100644
index 73e9a8e17..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mprotect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mprotect,mprotect)
diff --git a/mdk-stage1/dietlibc/syscalls.s/mremap.S b/mdk-stage1/dietlibc/syscalls.s/mremap.S
deleted file mode 100644
index 259ccec99..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/mremap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(mremap,mremap)
diff --git a/mdk-stage1/dietlibc/syscalls.s/msync.S b/mdk-stage1/dietlibc/syscalls.s/msync.S
deleted file mode 100644
index 7f5ae9e4a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/msync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(msync,msync,__libc_msync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlock.S b/mdk-stage1/dietlibc/syscalls.s/munlock.S
deleted file mode 100644
index 2001c89b7..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munlock.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munlock,munlock)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munlockall.S b/mdk-stage1/dietlibc/syscalls.s/munlockall.S
deleted file mode 100644
index 776811dea..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munlockall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munlockall,munlockall)
diff --git a/mdk-stage1/dietlibc/syscalls.s/munmap.S b/mdk-stage1/dietlibc/syscalls.s/munmap.S
deleted file mode 100644
index b43a7b22d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/munmap.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(munmap,munmap)
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
deleted file mode 100644
index 15d66ccc0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigaction.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigaction
-syscall_weak(sigaction,__old_sigaction,__n_sigaction)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
deleted file mode 100644
index f851099a0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigpending.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigpending
-syscall_weak(sigpending,__old_sigpending,__n_sigpending)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
deleted file mode 100644
index 6d632aa71..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigprocmask
-syscall_weak(sigprocmask,__old_sigprocmask,__n_sigprocmask)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
deleted file mode 100644
index a1cfc014d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sigsuspend
-syscall_weak(sigsuspend,__old_sigsuspend,__n_sigsuspend)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S b/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
deleted file mode 100644
index 279a52604..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nanosleep.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(nanosleep,nanosleep,__libc_nanosleep)
diff --git a/mdk-stage1/dietlibc/syscalls.s/nice.S b/mdk-stage1/dietlibc/syscalls.s/nice.S
deleted file mode 100644
index 4dad30edb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nice.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_nice
-syscall(nice,nice)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/open.S b/mdk-stage1/dietlibc/syscalls.s/open.S
deleted file mode 100644
index 280efd0d9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/open.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(open,open,__libc_open)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pause.S b/mdk-stage1/dietlibc/syscalls.s/pause.S
deleted file mode 100644
index d154f1538..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pause.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_pause
-syscall_weak(pause,pause,__libc_pause)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/personality.S b/mdk-stage1/dietlibc/syscalls.s/personality.S
deleted file mode 100644
index 34b467084..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/personality.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_personality
-syscall(personality,personality)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/pipe.S b/mdk-stage1/dietlibc/syscalls.s/pipe.S
deleted file mode 100644
index 03994d055..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pipe.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pipe,pipe)
diff --git a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S b/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
deleted file mode 100644
index 89bc40298..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pivot_root.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(pivot_root,pivot_root)
diff --git a/mdk-stage1/dietlibc/syscalls.s/poll.S b/mdk-stage1/dietlibc/syscalls.s/poll.S
deleted file mode 100644
index 359f55ddd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/poll.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(poll,poll)
diff --git a/mdk-stage1/dietlibc/syscalls.s/prctl.S b/mdk-stage1/dietlibc/syscalls.s/prctl.S
deleted file mode 100644
index 654d5ded5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/prctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_prctl
-syscall(prctl,prctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/ptrace.S b/mdk-stage1/dietlibc/syscalls.s/ptrace.S
deleted file mode 100644
index 8f198f41e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ptrace.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ptrace,__diet_ptrace)
diff --git a/mdk-stage1/dietlibc/syscalls.s/query_module.S b/mdk-stage1/dietlibc/syscalls.s/query_module.S
deleted file mode 100644
index cb2f1d852..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/query_module.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_query_module
-syscall(query_module,query_module)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/read.S b/mdk-stage1/dietlibc/syscalls.s/read.S
deleted file mode 100644
index 33fdb7531..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/read.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(read,read,__libc_read)
diff --git a/mdk-stage1/dietlibc/syscalls.s/readlink.S b/mdk-stage1/dietlibc/syscalls.s/readlink.S
deleted file mode 100644
index 850e77c4e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/readlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(readlink,readlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/readv.S b/mdk-stage1/dietlibc/syscalls.s/readv.S
deleted file mode 100644
index 757c26bfb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/readv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(readv,readv)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rename.S b/mdk-stage1/dietlibc/syscalls.s/rename.S
deleted file mode 100644
index f92f1dc5d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rename.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rename,rename)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rmdir.S b/mdk-stage1/dietlibc/syscalls.s/rmdir.S
deleted file mode 100644
index 341216e8c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rmdir.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rmdir,rmdir)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
deleted file mode 100644
index 2382b23af..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigaction,__rt_sigaction)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
deleted file mode 100644
index 3ad8f6ff3..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigpending,__rt_sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
deleted file mode 100644
index b4c2aba5a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigprocmask,__rt_sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
deleted file mode 100644
index fbc0b511f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigqueueinfo,__rt_sigqueueinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
deleted file mode 100644
index 58297409e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigsuspend,__rt_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S b/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
deleted file mode 100644
index 27cdef474..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(rt_sigtimedwait,__rt_sigtimedwait)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
deleted file mode 100644
index caf403672..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_get_priority_max,sched_get_priority_max)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S b/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
deleted file mode 100644
index a0c3337dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_get_priority_min,sched_get_priority_min)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
deleted file mode 100644
index 7190a40ae..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_getparam.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_getparam,sched_getparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
deleted file mode 100644
index 08709b65e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_getscheduler,sched_getscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S b/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
deleted file mode 100644
index 150b9a98d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_rr_get_interval,sched_rr_get_interval)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S b/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
deleted file mode 100644
index 3a6dd1dcc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_setparam.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_setparam,sched_setparam)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S b/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
deleted file mode 100644
index 27869d6ce..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_setscheduler,sched_setscheduler)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S b/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
deleted file mode 100644
index ccb9ac1d0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sched_yield.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sched_yield,sched_yield)
diff --git a/mdk-stage1/dietlibc/syscalls.s/select.S b/mdk-stage1/dietlibc/syscalls.s/select.S
deleted file mode 100644
index f585d0449..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/select.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(select,select)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile.S b/mdk-stage1/dietlibc/syscalls.s/sendfile.S
deleted file mode 100644
index 4dcb0ef69..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-#include "dietwarning.h"
-
-syscall_weak(sendfile,sendfile,__libc_sendfile)
-
-link_warning(sendfile,"sendfile is not portable")
diff --git a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S b/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
deleted file mode 100644
index 054ed7177..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sendfile64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-#include "dietwarning.h"
-
-#ifdef __NR_sendfile64
-syscall_weak(sendfile64,sendfile64,__libc_sendfile64)
-
-link_warning(sendfile64,"sendfile64 is not portable")
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S b/mdk-stage1/dietlibc/syscalls.s/setdomainname.S
deleted file mode 100644
index eaade25da..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setdomainname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setdomainname,setdomainname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
deleted file mode 100644
index 095f1b2b8..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setfsgid,setfsgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
deleted file mode 100644
index b671bf90d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setfsgid32
-syscall_weak(setfsgid32,setfsgid32,__libc_setfsgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
deleted file mode 100644
index 7dcd7b432..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setfsuid,setfsuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S b/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
deleted file mode 100644
index df5a0a877..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setfsuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setfsuid32
-syscall_weak(setfsuid32,setfsuid32,__libc_setfsuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid.S b/mdk-stage1/dietlibc/syscalls.s/setgid.S
deleted file mode 100644
index 69b18a9c9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setgid,setgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgid32.S b/mdk-stage1/dietlibc/syscalls.s/setgid32.S
deleted file mode 100644
index 11be4922a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setgid32
-syscall_weak(setgid32,setgid32,__libc_setgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setgroups.S b/mdk-stage1/dietlibc/syscalls.s/setgroups.S
deleted file mode 100644
index ce8e800a6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setgroups.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setgroups,setgroups)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sethostname.S b/mdk-stage1/dietlibc/syscalls.s/sethostname.S
deleted file mode 100644
index 7616d4848..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sethostname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sethostname,sethostname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setitimer.S b/mdk-stage1/dietlibc/syscalls.s/setitimer.S
deleted file mode 100644
index bcb0623ba..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setitimer.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setitimer,setitimer)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setpgid.S b/mdk-stage1/dietlibc/syscalls.s/setpgid.S
deleted file mode 100644
index e93db31dc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setpgid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setpgid,setpgid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setpriority.S b/mdk-stage1/dietlibc/syscalls.s/setpriority.S
deleted file mode 100644
index 57d7bc388..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setpriority.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setpriority,setpriority)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid.S b/mdk-stage1/dietlibc/syscalls.s/setregid.S
deleted file mode 100644
index 3a7abbc28..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setregid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setregid,setregid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setregid32.S b/mdk-stage1/dietlibc/syscalls.s/setregid32.S
deleted file mode 100644
index 4565bba17..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setregid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setregid32
-syscall_weak(setregid32,setregid32,__libc_setregid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
deleted file mode 100644
index 2277cbaf4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresgid
-
-syscall(setresgid,setresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S b/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
deleted file mode 100644
index 209b27f97..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresgid32
-syscall_weak(setresgid32,setresgid32,__libc_setresgid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
deleted file mode 100644
index cd322b77e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setresuid
-
-syscall(setresuid,setresuid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid.S b/mdk-stage1/dietlibc/syscalls.s/setreuid.S
deleted file mode 100644
index 33ca8deed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setreuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setreuid,setreuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S b/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
deleted file mode 100644
index 7bb06fa25..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setreuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setreuid32
-syscall_weak(setreuid32,setreuid32,__libc_setreuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S b/mdk-stage1/dietlibc/syscalls.s/setrlimit.S
deleted file mode 100644
index 605105658..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setrlimit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setrlimit,setrlimit)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setsid.S b/mdk-stage1/dietlibc/syscalls.s/setsid.S
deleted file mode 100644
index d1ef1c58e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setsid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsid,setsid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S b/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
deleted file mode 100644
index 4ca626aa4..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/settimeofday.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(settimeofday,settimeofday)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid.S b/mdk-stage1/dietlibc/syscalls.s/setuid.S
deleted file mode 100644
index d20571cbf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setuid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setuid,setuid)
diff --git a/mdk-stage1/dietlibc/syscalls.s/setuid32.S b/mdk-stage1/dietlibc/syscalls.s/setuid32.S
deleted file mode 100644
index 869603471..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setuid32.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_setuid32
-syscall_weak(setuid32,setuid32,__libc_setuid32)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S b/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
deleted file mode 100644
index b07d90f40..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigaltstack.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigaltstack,sigaltstack,__sigaltstack)
diff --git a/mdk-stage1/dietlibc/syscalls.s/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
deleted file mode 100644
index b97b37f0c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_socketcall
-syscall(socketcall,socketcall)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat.S b/mdk-stage1/dietlibc/syscalls.s/stat.S
deleted file mode 100644
index 2aa3bc088..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(stat,stat)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stat64.S b/mdk-stage1/dietlibc/syscalls.s/stat64.S
deleted file mode 100644
index 7dc54d955..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_stat64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(stat64,__dietlibc_stat64)
-#else
-syscall(stat64,stat64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/statfs.S b/mdk-stage1/dietlibc/syscalls.s/statfs.S
deleted file mode 100644
index 7560f569d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/statfs.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(statfs,statfs)
diff --git a/mdk-stage1/dietlibc/syscalls.s/stime.S b/mdk-stage1/dietlibc/syscalls.s/stime.S
deleted file mode 100644
index 281809c27..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stime.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_stime
-syscall(stime,stime)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/swapoff.S b/mdk-stage1/dietlibc/syscalls.s/swapoff.S
deleted file mode 100644
index f75ec94e0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/swapoff.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(swapoff,swapoff)
diff --git a/mdk-stage1/dietlibc/syscalls.s/swapon.S b/mdk-stage1/dietlibc/syscalls.s/swapon.S
deleted file mode 100644
index d10594168..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/swapon.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(swapon,swapon)
diff --git a/mdk-stage1/dietlibc/syscalls.s/symlink.S b/mdk-stage1/dietlibc/syscalls.s/symlink.S
deleted file mode 100644
index 07a6a7fdc..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/symlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(symlink,symlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sync.S b/mdk-stage1/dietlibc/syscalls.s/sync.S
deleted file mode 100644
index 1ee021693..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sync.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sync,sync)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysctl.S b/mdk-stage1/dietlibc/syscalls.s/sysctl.S
deleted file mode 100644
index 536e62b3d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sysctl.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_sysctl
-syscall(sysctl,_sysctl)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S b/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
deleted file mode 100644
index eaec7941e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sysinfo.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sysinfo,sysinfo)
diff --git a/mdk-stage1/dietlibc/syscalls.s/syslog.S b/mdk-stage1/dietlibc/syscalls.s/syslog.S
deleted file mode 100644
index 4ebd81a39..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/syslog.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(syslog,__syscall_syslog,klogctl)
diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S
deleted file mode 100644
index aa646cfdf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/time.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_time
-syscall(time,time)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/times.S b/mdk-stage1/dietlibc/syscalls.s/times.S
deleted file mode 100644
index dcc8a6dd0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/times.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(times,times)
diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate.S b/mdk-stage1/dietlibc/syscalls.s/truncate.S
deleted file mode 100644
index 7052bdcee..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/truncate.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(truncate,truncate)
diff --git a/mdk-stage1/dietlibc/syscalls.s/truncate64.S b/mdk-stage1/dietlibc/syscalls.s/truncate64.S
deleted file mode 100644
index 0e375728e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/truncate64.S
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR_truncate64
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(truncate64,__dietlibc_truncate64)
-#else
-syscall(truncate64,truncate64)
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/umask.S b/mdk-stage1/dietlibc/syscalls.s/umask.S
deleted file mode 100644
index 9f8ffeda6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umask,umask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount.S b/mdk-stage1/dietlibc/syscalls.s/umount.S
deleted file mode 100644
index 4a423d964..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umount,umount)
diff --git a/mdk-stage1/dietlibc/syscalls.s/umount2.S b/mdk-stage1/dietlibc/syscalls.s/umount2.S
deleted file mode 100644
index b27b353ed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount2.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_umount2
-syscall(umount2,umount2)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/uname.S b/mdk-stage1/dietlibc/syscalls.s/uname.S
deleted file mode 100644
index a460d2aa6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/uname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(uname,uname)
diff --git a/mdk-stage1/dietlibc/syscalls.s/unlink.S b/mdk-stage1/dietlibc/syscalls.s/unlink.S
deleted file mode 100644
index bd6713061..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/unlink.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(unlink,unlink)
diff --git a/mdk-stage1/dietlibc/syscalls.s/utime.S b/mdk-stage1/dietlibc/syscalls.s/utime.S
deleted file mode 100644
index 08cd22158..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/utime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(utime,utime)
diff --git a/mdk-stage1/dietlibc/syscalls.s/vhangup.S b/mdk-stage1/dietlibc/syscalls.s/vhangup.S
deleted file mode 100644
index 6e2d1d343..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/vhangup.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(vhangup,vhangup)
diff --git a/mdk-stage1/dietlibc/syscalls.s/wait4.S b/mdk-stage1/dietlibc/syscalls.s/wait4.S
deleted file mode 100644
index ca6773569..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/wait4.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(wait4,wait4)
diff --git a/mdk-stage1/dietlibc/syscalls.s/waitpid.S b/mdk-stage1/dietlibc/syscalls.s/waitpid.S
deleted file mode 100644
index bedc73eb6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __NR_waitpid
-syscall_weak(waitpid,waitpid,__libc_waitpid)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/write.S b/mdk-stage1/dietlibc/syscalls.s/write.S
deleted file mode 100644
index ba20395df..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/write.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(write,write,__libc_write)
diff --git a/mdk-stage1/dietlibc/syscalls.s/writev.S b/mdk-stage1/dietlibc/syscalls.s/writev.S
deleted file mode 100644
index 8ec7aa6b0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/writev.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(writev,writev)
diff --git a/mdk-stage1/dietlibc/threadsafe.sh b/mdk-stage1/dietlibc/threadsafe.sh
deleted file mode 100755
index 67f6f6338..000000000
--- a/mdk-stage1/dietlibc/threadsafe.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-(gcc -E - << EOF | grep -q WANT_THREAD_SAFE) || echo libpthread/pthread_*.c
-#include "dietfeatures.h"
-WANT_THREAD_SAFE
-EOF
diff --git a/mdk-stage1/dietlibc/x86_64/Makefile.add b/mdk-stage1/dietlibc/x86_64/Makefile.add
deleted file mode 100644
index 7d60185a7..000000000
--- a/mdk-stage1/dietlibc/x86_64/Makefile.add
+++ /dev/null
@@ -1,2 +0,0 @@
-CFLAGS := -Os -fstrict-aliasing -momit-leaf-frame-pointer -mfancy-math-387
-VPATH := x86_64:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/x86_64/__longjmp.S b/mdk-stage1/dietlibc/x86_64/__longjmp.S
deleted file mode 100644
index 43ec0539f..000000000
--- a/mdk-stage1/dietlibc/x86_64/__longjmp.S
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <setjmp.h>
-#include "dietwarning.h"
-
-.text
-.global __longjmp
-.type __longjmp,@function
-__longjmp:
- mov $1,%eax
- /* Restore the return address now. */
- movq (JB_PC*8)(%rdi),%rdx
- /* Restore registers. */
- movq (JB_RBX*8)(%rdi),%rbx
- movq (JB_RBP*8)(%rdi),%rbp
- movq (JB_R12*8)(%rdi),%r12
- movq (JB_R13*8)(%rdi),%r13
- movq (JB_R14*8)(%rdi),%r14
- movq (JB_R15*8)(%rdi),%r15
- movq (JB_RSP*8)(%rdi),%rsp
- /* never return 0 */
- test %esi,%esi
- cmovne %esi,%eax
- /* Jump to saved PC. */
- jmp *%rdx
-.size __longjmp,.-__longjmp;
-
-link_warning("__longjmp","longjmp() not yet tested")
diff --git a/mdk-stage1/dietlibc/x86_64/__testandset.S b/mdk-stage1/dietlibc/x86_64/__testandset.S
deleted file mode 100644
index 7355477e6..000000000
--- a/mdk-stage1/dietlibc/x86_64/__testandset.S
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "dietwarning.h"
-
-.text
-.global __testandset
-.type __testandset,@function
-__testandset:
- xorl %eax,%eax
- incl %eax
- xchg %rax,(%rdi)
- ret
-
-link_warning("__testandset", "warning: __testandset() was never tested!")
diff --git a/mdk-stage1/dietlibc/x86_64/accept.S b/mdk-stage1/dietlibc/x86_64/accept.S
deleted file mode 100644
index 7bdc38c7e..000000000
--- a/mdk-stage1/dietlibc/x86_64/accept.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(accept, accept);
diff --git a/mdk-stage1/dietlibc/x86_64/bind.S b/mdk-stage1/dietlibc/x86_64/bind.S
deleted file mode 100644
index 05849d470..000000000
--- a/mdk-stage1/dietlibc/x86_64/bind.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(bind, bind);
diff --git a/mdk-stage1/dietlibc/x86_64/clone.S b/mdk-stage1/dietlibc/x86_64/clone.S
deleted file mode 100644
index 82c8c5bae..000000000
--- a/mdk-stage1/dietlibc/x86_64/clone.S
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "syscalls.h"
-#include <errno.h>
-#include "dietwarning.h"
-
-.text
-.type clone,@function
-.weak clone
-clone:
-.type __clone,@function
-.global __clone
-__clone:
- movl $-EINVAL,%eax
- testq %rdi,%rdi /* have non null thread_funcion */
- jz .Lclone_error
- testq %rsi,%rsi /* have non null child_stack pointer */
- jz .Lclone_error
-
- /* put the parameters on thread stack */
- subq $16,%rsi
- movq %rcx,8(%rsi) /* thread parameter */
- movq %rdi,0(%rsi) /* thread function */
-
- /* syscall */
- movq %rdx,%rdi
- movl $__NR_clone,%eax
- syscall
- cmpl $0,%eax
- jl .Lclone_error
- jne .Lreturn
-
-.thread_start:
- /* call thread function */
- popq %rax
- popq %rdi
- call *%rax
- /* exit a thread */
- movq %rax,%rdi
-#ifdef PIC
- jmp _exit@PLT
-#else
- jmp _exit
-#endif
-
-.Lclone_error:
- /* set errno */
- negl %eax
- pushq %rax
-#ifdef PIC
- call __errno_location@PLT
-#else
- call __errno_location
-#endif
- popq %rcx
- movl %ecx,(%rax)
- orq $-1, %rax
-
-.Lreturn:
- /* just return */
- ret
-
-link_warning("clone", "warning: clone() not yet tested")
-link_warning("__clone", "warning: clone() not yet tested")
-//link_warning("clone", "warning: clone() not yet implemented")
-//link_warning("__clone", "warning: clone() not yet implemented")
diff --git a/mdk-stage1/dietlibc/x86_64/connect.S b/mdk-stage1/dietlibc/x86_64/connect.S
deleted file mode 100644
index 5fbd151ae..000000000
--- a/mdk-stage1/dietlibc/x86_64/connect.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(connect, connect);
diff --git a/mdk-stage1/dietlibc/x86_64/getpeername.S b/mdk-stage1/dietlibc/x86_64/getpeername.S
deleted file mode 100644
index fdaa1038a..000000000
--- a/mdk-stage1/dietlibc/x86_64/getpeername.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getpeername, getpeername);
diff --git a/mdk-stage1/dietlibc/x86_64/getsockname.S b/mdk-stage1/dietlibc/x86_64/getsockname.S
deleted file mode 100644
index 1ea0bc000..000000000
--- a/mdk-stage1/dietlibc/x86_64/getsockname.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockname, getsockname);
diff --git a/mdk-stage1/dietlibc/x86_64/getsockopt.S b/mdk-stage1/dietlibc/x86_64/getsockopt.S
deleted file mode 100644
index 465c4e08e..000000000
--- a/mdk-stage1/dietlibc/x86_64/getsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(getsockopt, getsockopt);
diff --git a/mdk-stage1/dietlibc/x86_64/listen.S b/mdk-stage1/dietlibc/x86_64/listen.S
deleted file mode 100644
index 66a3fe376..000000000
--- a/mdk-stage1/dietlibc/x86_64/listen.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(listen, listen);
diff --git a/mdk-stage1/dietlibc/x86_64/mmap.S b/mdk-stage1/dietlibc/x86_64/mmap.S
deleted file mode 100644
index 764d5fd96..000000000
--- a/mdk-stage1/dietlibc/x86_64/mmap.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global mmap
-.type mmap,@function
-mmap:
- mov $__NR_mmap,%al
- jmp __unified_syscall
diff --git a/mdk-stage1/dietlibc/x86_64/msgctl.S b/mdk-stage1/dietlibc/x86_64/msgctl.S
deleted file mode 100644
index d7caed2cc..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgctl,msgctl)
diff --git a/mdk-stage1/dietlibc/x86_64/msgget.S b/mdk-stage1/dietlibc/x86_64/msgget.S
deleted file mode 100644
index 518d67ac4..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgget,msgget)
diff --git a/mdk-stage1/dietlibc/x86_64/msgrcv.S b/mdk-stage1/dietlibc/x86_64/msgrcv.S
deleted file mode 100644
index ab62e6c30..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgrcv.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgrcv,msgrcv)
diff --git a/mdk-stage1/dietlibc/x86_64/msgsnd.S b/mdk-stage1/dietlibc/x86_64/msgsnd.S
deleted file mode 100644
index 890a996a2..000000000
--- a/mdk-stage1/dietlibc/x86_64/msgsnd.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(msgsnd,msgsnd)
diff --git a/mdk-stage1/dietlibc/x86_64/recv.c b/mdk-stage1/dietlibc/x86_64/recv.c
deleted file mode 100644
index 3b76c0716..000000000
--- a/mdk-stage1/dietlibc/x86_64/recv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-int __libc_recv(int fd, void * buf, size_t n, int flags);
- /* shut up gcc warning about missing prototype */
-
-int __libc_recv(int fd, void * buf, size_t n, int flags) {
- return recvfrom(fd, buf, n, flags, 0, 0);
-}
-
-int recv(int a, void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_recv")));
diff --git a/mdk-stage1/dietlibc/x86_64/recvfrom.S b/mdk-stage1/dietlibc/x86_64/recvfrom.S
deleted file mode 100644
index d3c2e602f..000000000
--- a/mdk-stage1/dietlibc/x86_64/recvfrom.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvfrom, recvfrom);
diff --git a/mdk-stage1/dietlibc/x86_64/recvmsg.S b/mdk-stage1/dietlibc/x86_64/recvmsg.S
deleted file mode 100644
index cfbbafdc1..000000000
--- a/mdk-stage1/dietlibc/x86_64/recvmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(recvmsg, recvmsg);
diff --git a/mdk-stage1/dietlibc/x86_64/semctl.S b/mdk-stage1/dietlibc/x86_64/semctl.S
deleted file mode 100644
index e215ed955..000000000
--- a/mdk-stage1/dietlibc/x86_64/semctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semctl,semctl)
diff --git a/mdk-stage1/dietlibc/x86_64/semget.S b/mdk-stage1/dietlibc/x86_64/semget.S
deleted file mode 100644
index 67f488546..000000000
--- a/mdk-stage1/dietlibc/x86_64/semget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semget,semget)
diff --git a/mdk-stage1/dietlibc/x86_64/semop.S b/mdk-stage1/dietlibc/x86_64/semop.S
deleted file mode 100644
index 81b6fc606..000000000
--- a/mdk-stage1/dietlibc/x86_64/semop.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(semop,semop)
diff --git a/mdk-stage1/dietlibc/x86_64/send.c b/mdk-stage1/dietlibc/x86_64/send.c
deleted file mode 100644
index bdeb1d31f..000000000
--- a/mdk-stage1/dietlibc/x86_64/send.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <linuxnet.h>
-
-int __libc_send(int fd, const void * buf, size_t n, int flags);
- /* shut up gcc warning about missing prototype */
-
-int __libc_send(int fd, const void * buf, size_t n, int flags) {
- return sendto(fd, buf, n, flags, NULL, 0);
-}
-
-int send(int a, const void * b, size_t c, int flags)
- __attribute__ ((weak, alias("__libc_send")));
diff --git a/mdk-stage1/dietlibc/x86_64/sendmsg.S b/mdk-stage1/dietlibc/x86_64/sendmsg.S
deleted file mode 100644
index c2bc80f72..000000000
--- a/mdk-stage1/dietlibc/x86_64/sendmsg.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendmsg, sendmsg);
diff --git a/mdk-stage1/dietlibc/x86_64/sendto.S b/mdk-stage1/dietlibc/x86_64/sendto.S
deleted file mode 100644
index 1579a3b45..000000000
--- a/mdk-stage1/dietlibc/x86_64/sendto.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sendto, sendto);
diff --git a/mdk-stage1/dietlibc/x86_64/setjmp.S b/mdk-stage1/dietlibc/x86_64/setjmp.S
deleted file mode 100644
index 3d1ec11f0..000000000
--- a/mdk-stage1/dietlibc/x86_64/setjmp.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <setjmp.h>
-#include "dietwarning.h"
-
-.text
-.weak setjmp
-.type setjmp,@function
-setjmp:
-.globl __setjmp
-.type __setjmp,@function
-__setjmp:
- xorq %rsi,%rsi
-
-.globl __sigsetjmp
-.type __sigsetjmp,@function
-__sigsetjmp:
- movq %rbx,(JB_RBX*8)(%rdi)
- movq %rbp,(JB_RBP*8)(%rdi)
- movq %r12,(JB_R12*8)(%rdi)
- movq %r13,(JB_R13*8)(%rdi)
- movq %r14,(JB_R14*8)(%rdi)
- movq %r15,(JB_R15*8)(%rdi)
- leaq 8(%rsp),%rdx
- movq %rdx,(JB_RSP*8)(%rdi)
- movq (%rsp),%rdx
- movq %rdx,(JB_PC*8)(%rdi)
-#ifdef PIC
- jmp __sigjmp_save@PLT
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
-
-link_warning("setjmp","setjmp() not yet tested")
-link_warning("__sigsetjmp","setjmp() not yet tested")
-//link_warning("setjmp","error: setjmp() not yet implemented")
-//link_warning("__sigsetjmp","error: setjmp() not yet implemented")
-
diff --git a/mdk-stage1/dietlibc/x86_64/setsockopt.S b/mdk-stage1/dietlibc/x86_64/setsockopt.S
deleted file mode 100644
index 45fcfbb6c..000000000
--- a/mdk-stage1/dietlibc/x86_64/setsockopt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(setsockopt, setsockopt);
diff --git a/mdk-stage1/dietlibc/x86_64/shmat.S b/mdk-stage1/dietlibc/x86_64/shmat.S
deleted file mode 100644
index 51248173d..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmat.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmat,shmat)
diff --git a/mdk-stage1/dietlibc/x86_64/shmctl.S b/mdk-stage1/dietlibc/x86_64/shmctl.S
deleted file mode 100644
index d56caace4..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmctl.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmctl,shmctl)
diff --git a/mdk-stage1/dietlibc/x86_64/shmdt.S b/mdk-stage1/dietlibc/x86_64/shmdt.S
deleted file mode 100644
index d9812a799..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmdt.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmdt,shmdt)
diff --git a/mdk-stage1/dietlibc/x86_64/shmget.S b/mdk-stage1/dietlibc/x86_64/shmget.S
deleted file mode 100644
index 82914223f..000000000
--- a/mdk-stage1/dietlibc/x86_64/shmget.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shmget,shmget)
diff --git a/mdk-stage1/dietlibc/x86_64/shutdown.S b/mdk-stage1/dietlibc/x86_64/shutdown.S
deleted file mode 100644
index 024e99e18..000000000
--- a/mdk-stage1/dietlibc/x86_64/shutdown.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(shutdown, shutdown);
diff --git a/mdk-stage1/dietlibc/x86_64/sigaction.c b/mdk-stage1/dietlibc/x86_64/sigaction.c
deleted file mode 100644
index 18f32efde..000000000
--- a/mdk-stage1/dietlibc/x86_64/sigaction.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syscalls.h>
-
-int __rt_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact, long nr);
-
-static void restore_rt(void) {
- asm volatile ("syscall" : : "a" (__NR_rt_sigreturn));
-}
-
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-int __libc_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- struct sigaction *newact = (struct sigaction *)act;
- if (act) {
- newact = alloca(sizeof(*newact));
- newact->sa_handler = act->sa_handler;
- newact->sa_flags = act->sa_flags | SA_RESTORER;
- newact->sa_restorer = &restore_rt;
- newact->sa_mask = act->sa_mask;
- }
- return __rt_sigaction(signum, newact, oldact, _NSIG/8);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
-__attribute__((weak,alias("__libc_sigaction")));
diff --git a/mdk-stage1/dietlibc/x86_64/socket.S b/mdk-stage1/dietlibc/x86_64/socket.S
deleted file mode 100644
index cc453881f..000000000
--- a/mdk-stage1/dietlibc/x86_64/socket.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socket, socket);
diff --git a/mdk-stage1/dietlibc/x86_64/socketpair.S b/mdk-stage1/dietlibc/x86_64/socketpair.S
deleted file mode 100644
index d92eaa4d8..000000000
--- a/mdk-stage1/dietlibc/x86_64/socketpair.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketpair, socketpair);
diff --git a/mdk-stage1/dietlibc/x86_64/start.S b/mdk-stage1/dietlibc/x86_64/start.S
deleted file mode 100644
index 5e8356350..000000000
--- a/mdk-stage1/dietlibc/x86_64/start.S
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "dietfeatures.h"
-
-.text
-.global _start
-_start:
-#ifdef WANT_DYNAMIC
- movq %rdx, %rcx /* %rcx = dynamic fini */
-#endif
- popq %rdi /* %rdi = argc */
- movq %rsp,%rsi /* %rsi = argv */
- pushq %rdi
-
- leaq 8(%rsi,%rdi,8),%rdx /* %rdx = envp = (8*rdi)+%rsi+8 */
-
-#ifdef __DYN_LIB
- movq environ@GOTPCREL(%rip), %rax
- movq %rdx, (%rax)
-#else
- movq %rdx, environ(%rip)
-#endif
-
-#ifdef PROFILING
- pushq %rdi /* save reg args */
- pushq %rsi
- pushq %rdx
- pushq %rcx
-
- leaq _etext(%rip), %rsi /* highpc */
- leaq .text(%rip), %rdi /* lowpc */
- call monitor
-
- popq %rcx /* restore reg args */
- popq %rdx
- popq %rsi
- popq %rdi
-#endif
-
-#ifdef WANT_DYNAMIC
- call _dyn_start
-#else
- call main
-#endif
-
-#ifdef PROFILING
- pushq %rax
- call _stop_monitor
- popq %rdi
-#else
- movq %rax, %rdi /* return value */
-#endif
- call exit
- hlt
-.Lstart:
- .size _start,.Lstart-_start
-
diff --git a/mdk-stage1/dietlibc/x86_64/syscalls.h b/mdk-stage1/dietlibc/x86_64/syscalls.h
deleted file mode 100644
index 6fcfbfc60..000000000
--- a/mdk-stage1/dietlibc/x86_64/syscalls.h
+++ /dev/null
@@ -1,282 +0,0 @@
-#define __NR_read 0
-#define __NR_write 1
-#define __NR_open 2
-#define __NR_close 3
-#define __NR_stat 4
-#define __NR_fstat 5
-#define __NR_lstat 6
-#define __NR_poll 7
-
-#define __NR_lseek 8
-#define __NR_mmap 9
-#define __NR_mprotect 10
-#define __NR_munmap 11
-#define __NR_brk 12
-#define __NR_rt_sigaction 13
-#define __NR_rt_sigprocmask 14
-#define __NR_rt_sigreturn 15
-
-#define __NR_ioctl 16
-#define __NR_pread 17
-#define __NR_pwrite 18
-#define __NR_readv 19
-#define __NR_writev 20
-#define __NR_access 21
-#define __NR_pipe 22
-#define __NR_select 23
-
-#define __NR_sched_yield 24
-#define __NR_mremap 25
-#define __NR_msync 26
-#define __NR_mincore 27
-#define __NR_madvise 28
-#define __NR_shmget 29
-#define __NR_shmat 30
-#define __NR_shmctl 31
-
-#define __NR_dup 32
-#define __NR_dup2 33
-#define __NR_pause 34
-#define __NR_nanosleep 35
-#define __NR_getitimer 36
-#define __NR_alarm 37
-#define __NR_setitimer 38
-#define __NR_getpid 39
-
-#define __NR_sendfile 40
-#define __NR_socket 41
-#define __NR_connect 42
-#define __NR_accept 43
-#define __NR_sendto 44
-#define __NR_recvfrom 45
-#define __NR_sendmsg 46
-#define __NR_recvmsg 47
-
-#define __NR_shutdown 48
-#define __NR_bind 49
-#define __NR_listen 50
-#define __NR_getsockname 51
-#define __NR_getpeername 52
-#define __NR_socketpair 53
-#define __NR_setsockopt 54
-#define __NR_getsockopt 55
-
-#define __NR_clone 56
-#define __NR_fork 57
-#define __NR_vfork 58
-#define __NR_execve 59
-#define __NR_exit 60
-#define __NR_wait4 61
-#define __NR_kill 62
-#define __NR_uname 63
-
-#define __NR_semget 64
-#define __NR_semop 65
-#define __NR_semctl 66
-#define __NR_shmdt 67
-#define __NR_msgget 68
-#define __NR_msgsnd 69
-#define __NR_msgrcv 70
-#define __NR_msgctl 71
-
-#define __NR_fcntl 72
-#define __NR_flock 73
-#define __NR_fsync 74
-#define __NR_fdatasync 75
-#define __NR_truncate 76
-#define __NR_ftruncate 77
-#define __NR_getdents 78
-#define __NR_getcwd 79
-
-#define __NR_chdir 80
-#define __NR_fchdir 81
-#define __NR_rename 82
-#define __NR_mkdir 83
-#define __NR_rmdir 84
-#define __NR_creat 85
-#define __NR_link 86
-#define __NR_unlink 87
-
-#define __NR_symlink 88
-#define __NR_readlink 89
-#define __NR_chmod 90
-#define __NR_fchmod 91
-#define __NR_chown 92
-#define __NR_fchown 93
-#define __NR_lchown 94
-#define __NR_umask 95
-
-#define __NR_gettimeofday 96
-#define __NR_getrlimit 97
-#define __NR_getrusage 98
-#define __NR_sysinfo 99
-#define __NR_times 100
-#define __NR_ptrace 101
-#define __NR_getuid 102
-#define __NR_syslog 103
-
-/* at the very end the stuff that never runs during the benchmarks */
-#define __NR_getgid 104
-#define __NR_setuid 105
-#define __NR_setgid 106
-#define __NR_geteuid 107
-#define __NR_getegid 108
-#define __NR_setpgid 109
-#define __NR_getppid 110
-#define __NR_getpgrp 111
-
-#define __NR_setsid 112
-#define __NR_setreuid 113
-#define __NR_setregid 114
-#define __NR_getgroups 115
-#define __NR_setgroups 116
-#define __NR_setresuid 117
-#define __NR_getresuid 118
-#define __NR_setresgid 119
-
-#define __NR_getresgid 120
-#define __NR_getpgid 121
-#define __NR_setfsuid 122
-#define __NR_setfsgid 123
-#define __NR_getsid 124
-#define __NR_capget 125
-#define __NR_capset 126
-
-#define __NR_rt_sigpending 127
-#define __NR_rt_sigtimedwait 128
-#define __NR_rt_sigqueueinfo 129
-#define __NR_rt_sigsuspend 130
-#define __NR_sigaltstack 131
-#define __NR_utime 132
-#define __NR_mknod 133
-
-#define __NR_uselib 134
-#define __NR_personality 135
-
-#define __NR_ustat 136
-#define __NR_statfs 137
-#define __NR_fstatfs 138
-#define __NR_sysfs 139
-
-#define __NR_getpriority 140
-#define __NR_setpriority 141
-#define __NR_sched_setparam 142
-#define __NR_sched_getparam 143
-#define __NR_sched_setscheduler 144
-#define __NR_sched_getscheduler 145
-#define __NR_sched_get_priority_max 146
-#define __NR_sched_get_priority_min 147
-#define __NR_sched_rr_get_interval 148
-
-#define __NR_mlock 149
-#define __NR_munlock 150
-#define __NR_mlockall 151
-#define __NR_munlockall 152
-
-#define __NR_vhangup 153
-
-#define __NR_modify_ldt 154
-
-#define __NR_pivot_root 155
-
-#define __NR__sysctl 156
-
-#define __NR_prctl 157
-#define __NR_arch_prctl 158
-
-#define __NR_adjtimex 159
-
-#define __NR_setrlimit 160
-
-#define __NR_chroot 161
-
-#define __NR_sync 162
-
-#define __NR_acct 163
-
-#define __NR_settimeofday 164
-
-#define __NR_mount 165
-#define __NR_umount2 166
-
-#define __NR_swapon 167
-#define __NR_swapoff 168
-
-#define __NR_reboot 169
-
-#define __NR_sethostname 170
-#define __NR_setdomainname 171
-
-#define __NR_iopl 172
-#define __NR_ioperm 173
-
-#define __NR_create_module 174
-#define __NR_init_module 175
-#define __NR_delete_module 176
-#define __NR_get_kernel_syms 177
-#define __NR_query_module 178
-
-#define __NR_quotactl 179
-
-#define __NR_nfsservctl 180
-
-#define __NR_getpmsg 181
-#define __NR_putpmsg 182
-
-#define __NR_afs_syscall 183
-
-#define __NR_tuxcall 184 /* reserved for tux */
-
-#define __NR_security 185 /* reserved for security */
-
-#define __NR_gettid 186
-
-#define __NR_readahead 187
-
-#define __NR_setxattr 188
-#define __NR_lsetxattr 189
-#define __NR_fsetxattr 190
-#define __NR_getxattr 191
-#define __NR_lgetxattr 192
-#define __NR_fgetxattr 193
-#define __NR_listxattr 194
-#define __NR_llistxattr 195
-#define __NR_flistxattr 196
-#define __NR_removexattr 197
-#define __NR_lremovexattr 198
-#define __NR_fremovexattr 199
-#define __NR_tkill 200 /* 2.5 only */
-#define __NR_time 201
-#define __NR_futex 202 /* 2.5 only */
-#define __NR_sched_setaffinity 203
-#define __NR_sched_getaffinity 204
-#define __NR_set_thread_area 205
-#define __NR_io_setup 206
-#define __NR_io_destroy 207
-#define __NR_io_getevents 208
-#define __NR_io_submit 209
-#define __NR_io_cancel 210
-#define __NR_get_thread_area 211
-#define __NR_lookup_dcookie 212
-
-#define __NR_syscall_max __NR_futex
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.type wsym,@function; \
-.weak wsym; \
-wsym: ; \
-.type sym,@function; \
-.global sym; \
-sym: \
- mov $__NR_##name,%al; \
- jmp __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.type sym,@function; \
-.global sym; \
-sym: \
- mov $__NR_##name,%al; \
- jmp __unified_syscall
-
diff --git a/mdk-stage1/dietlibc/x86_64/umount.S b/mdk-stage1/dietlibc/x86_64/umount.S
deleted file mode 100644
index 2b51b8edf..000000000
--- a/mdk-stage1/dietlibc/x86_64/umount.S
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "syscalls.h"
-
-.text
-.global umount
-.type umount,@function
-umount:
- mov $__NR_umount2,%al
- xorq %rsi,%rsi
- jmp __unified_syscall
diff --git a/mdk-stage1/dietlibc/x86_64/unified.S b/mdk-stage1/dietlibc/x86_64/unified.S
deleted file mode 100644
index 48bb9a4fa..000000000
--- a/mdk-stage1/dietlibc/x86_64/unified.S
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <dietfeatures.h>
-
-#define SYS_exit 0x3c
-
-.text
-.weak exit
-exit:
-.global _exit
-_exit:
- mov $SYS_exit,%al
-
-#ifndef __DYN_LIB
-.global __unified_syscall
-#endif
-__unified_syscall:
- movzbl %al, %eax
- mov %rcx, %r10
- syscall
- cmpq $-128, %rax
- jbe .Lnoerror
- negl %eax
- pushq %rax
- call __errno_location
- popq %rcx
- movl %ecx,(%rax)
- orq $-1, %rax
-.Lnoerror:
-
-/* here we go and "reuse" the return for weak-void functions */
-#include "dietuglyweaks.h"
-
- ret
diff --git a/mdk-stage1/dietlibc/x86_64/waitpid.S b/mdk-stage1/dietlibc/x86_64/waitpid.S
deleted file mode 100644
index 944df48bf..000000000
--- a/mdk-stage1/dietlibc/x86_64/waitpid.S
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "syscalls.h"
-
-.text
-.type waitpid,@function
-.weak waitpid
-waitpid:
-.type __libc_waitpid,@function
-.global __libc_waitpid
-__libc_waitpid:
- mov $0,%rcx
- mov $__NR_wait4,%al
- jmp __unified_syscall
diff --git a/mdk-stage1/directory.c b/mdk-stage1/directory.c
new file mode 100644
index 000000000..0538b55b6
--- /dev/null
+++ b/mdk-stage1/directory.c
@@ -0,0 +1,169 @@
+/*
+ * Guillaume Cottenceau (gc)
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <unistd.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <libgen.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "log.h"
+#include "tools.h"
+#include "utils.h"
+#include "lomount.h"
+
+char * extract_list_directory(char * direct)
+{
+ char ** full = list_directory(direct);
+ char tmp[20000] = "";
+ int i;
+ for (i=0; i<50 ; i++) {
+ if (!full || !*full)
+ break;
+ strcat(tmp, *full);
+ strcat(tmp, "\n");
+ full++;
+ }
+ return strdup(tmp);
+}
+
+static void choose_iso_in_directory(char *directory, char *location_full)
+{
+ char **file;
+ char *stage2_isos[100] = { "Use directory as a mirror tree", "-----" };
+ int stage2_iso_number = 2;
+
+ log_message("\"%s\" exists and is a directory, looking for iso files", directory);
+
+ for (file = list_directory(directory); *file; file++) {
+ char isofile[500];
+ char * loopdev = NULL;
+
+ if (strstr(*file, ".iso") != *file + strlen(*file) - 4)
+ /* file doesn't end in .iso, skipping */
+ continue;
+
+ strcpy(isofile, directory);
+ strcat(isofile, "/");
+ strcat(isofile, *file);
+
+ if (lomount(isofile, LOOP_LOCATION, &loopdev, 0)) {
+ log_message("unable to mount iso file \"%s\", skipping", isofile);
+ continue;
+ }
+ symlink(LOOP_LOCATION_REL "/" ARCH, IMAGE_LOCATION);
+
+ if (image_has_stage2()) {
+ log_message("stage2 installer found in ISO image \"%s\"", isofile);
+ stage2_isos[stage2_iso_number++] = strdup(*file);
+ } else {
+ log_message("ISO image \"%s\" doesn't contain stage2 installer", isofile);
+ }
+
+ unlink(IMAGE_LOCATION);
+ umount(LOOP_LOCATION);
+ del_loop(loopdev);
+ }
+
+ stage2_isos[stage2_iso_number] = NULL;
+
+ if (stage2_iso_number > 2) {
+ enum return_type results;
+ do {
+ results = ask_from_list("Please choose the ISO image to be used to install the "
+ DISTRIB_NAME " Distribution.",
+ stage2_isos, file);
+ if (results == RETURN_BACK) {
+ return;
+ } else if (results == RETURN_OK) {
+ if (!strcmp(*file, stage2_isos[0])) {
+ /* use directory as a mirror tree */
+ continue;
+ } else if (!strcmp(*file, stage2_isos[1])) {
+ /* the separator has been selected */
+ results = RETURN_ERROR;
+ continue;
+ } else {
+ /* use selected ISO image */
+ strcat(location_full, "/");
+ strcat(location_full, *file);
+ log_message("installer will use ISO image \"%s\"", location_full);
+ }
+ }
+ } while (results == RETURN_ERROR);
+ } else {
+ log_message("no ISO image found in \"%s\" directory", location_full);
+ }
+}
+
+
+enum return_type try_with_directory(char *directory, char *method_live, char *method_iso) {
+ char location_full[500];
+ char * loopdev = NULL;
+ struct stat statbuf;
+ enum return_type ret = RETURN_OK;
+
+ unlink(IMAGE_LOCATION);
+ strcpy(location_full, directory);
+
+ if (!stat(directory, &statbuf) && S_ISDIR(statbuf.st_mode)) {
+ choose_iso_in_directory(directory, location_full);
+ }
+
+ loopdev = NULL;
+ if (!stat(location_full, &statbuf) && !S_ISDIR(statbuf.st_mode)) {
+ log_message("%s exists and is not a directory, assuming this is an ISO image", location_full);
+ if (lomount(location_full, LOOP_LOCATION, &loopdev, 0)) {
+ stg1_error_message("Could not mount file %s as an ISO image of the " DISTRIB_NAME " Distribution.", location_full);
+ return RETURN_ERROR;
+ }
+ symlink(LOOP_LOCATION_REL "/" ARCH, IMAGE_LOCATION);
+ add_to_env("ISOPATH", location_full);
+ add_to_env("METHOD", method_iso);
+ } else {
+ create_IMAGE_LOCATION(location_full);
+ add_to_env("METHOD", method_live);
+ }
+
+ if (access(IMAGE_LOCATION "/" COMPRESSED_LOCATION_REL, R_OK)) {
+ stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
+ "(I need the subdirectory " COMPRESSED_LOCATION_REL ")\n"
+ "Here's a short extract of the files in the directory:\n"
+ "%s", extract_list_directory(IMAGE_LOCATION));
+ ret = RETURN_BACK;
+ } else if (may_load_compressed_image() != RETURN_OK) {
+ stg1_error_message("Could not load program into memory.");
+ ret = RETURN_ERROR;
+ }
+
+ if (ret == RETURN_OK)
+ log_message("found the " DISTRIB_NAME " Installation, good news!");
+
+ if (!KEEP_MOUNTED || ret != RETURN_OK) {
+ /* in rescue mode, we don't need the media anymore */
+ umount(LOOP_LOCATION);
+ del_loop(loopdev);
+ }
+
+ return ret;
+}
diff --git a/mdk-stage1/directory.h b/mdk-stage1/directory.h
new file mode 100644
index 000000000..2fdc81edb
--- /dev/null
+++ b/mdk-stage1/directory.h
@@ -0,0 +1,29 @@
+/*
+ * Guillaume Cottenceau (gc)
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _DIRECTORY_H_
+#define _DIRECTORY_H_
+
+char * extract_list_directory(char * direct);
+enum return_type try_with_directory(char *location_full, char *method_live, char *method_iso);
+
+#endif
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
index 83c698334..51a033639 100644
--- a/mdk-stage1/disk.c
+++ b/mdk-stage1/disk.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -19,329 +19,200 @@
*
*/
+#define _GNU_SOURCE /* We want the non segfaulting my_dirname() -- See dirname(3) */
+#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
-#include <string.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <string.h>
+#include <libgen.h>
#include "stage1.h"
#include "frontend.h"
#include "modules.h"
#include "probing.h"
#include "log.h"
+#include "tools.h"
+#include "utils.h"
#include "mount.h"
-#include "lomount.h"
#include "automatic.h"
+#include "directory.h"
+#include "partition.h"
#include "disk.h"
-struct partition_detection_anchor {
- off_t offset;
- const char * anchor;
-};
-
-static int seek_and_compare(int fd, struct partition_detection_anchor anch)
-{
- char buf[500];
- size_t count;
- if (lseek(fd, anch.offset, SEEK_SET) == (off_t)-1) {
- log_perror("seek failed");
- return -1;
- }
- count = read(fd, buf, strlen(anch.anchor));
- if (count != strlen(anch.anchor)) {
- log_perror("read failed");
- return -1;
- }
- buf[count] = '\0';
- if (strcmp(anch.anchor, buf))
- return 1;
- return 0;
-}
-
-static const char * detect_partition_type(char * dev)
-{
- struct partition_detection_info {
- const char * name;
- struct partition_detection_anchor anchor0;
- struct partition_detection_anchor anchor1;
- struct partition_detection_anchor anchor2;
- };
- struct partition_detection_info partitions_signatures[] = {
- { "Linux Swap", { 4086, "SWAP-SPACE" }, { 0, NULL }, { 0, NULL } },
- { "Linux Swap", { 4086, "SWAPSPACE2" }, { 0, NULL }, { 0, NULL } },
- { "Ext2", { 0x438, "\x53\xEF" }, { 0, NULL }, { 0, NULL } },
- { "ReiserFS", { 0x10034, "ReIsErFs" }, { 0, NULL }, { 0, NULL } },
- { "ReiserFS", { 0x10034, "ReIsEr2Fs" }, { 0, NULL }, { 0, NULL } },
- { "XFS", { 0, "XFSB" }, { 0x200, "XAGF" }, { 0x400, "XAGI" } },
- { "JFS", { 0x8000, "JFS1" }, { 0, NULL }, { 0, NULL } },
- { "NTFS", { 0x1FE, "\x55\xAA" }, { 0x3, "NTFS" }, { 0, NULL } },
- { "FAT32", { 0x1FE, "\x55\xAA" }, { 0x52, "FAT32" }, { 0, NULL } },
- { "FAT", { 0x1FE, "\x55\xAA" }, { 0x36, "FAT" }, { 0, NULL } },
- { "Linux LVM", { 0, "HM\1\0" }, { 0, NULL }, { 0, NULL } }
- };
- int partitions_signatures_nb = sizeof(partitions_signatures) / sizeof(struct partition_detection_info);
- int i;
- int fd;
- const char *part_type = NULL;
-
- char device_fullname[50];
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev);
-
- if (ensure_dev_exists(device_fullname))
- return NULL;
- log_message("guessing type of %s", device_fullname);
-
- if ((fd = open(device_fullname, O_RDONLY, 0)) < 0) {
- log_perror("open");
- return NULL;
- }
-
- for (i=0; i<partitions_signatures_nb; i++) {
- int results = seek_and_compare(fd, partitions_signatures[i].anchor0);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
- if (!partitions_signatures[i].anchor1.anchor)
- goto detect_partition_found_it;
-
- results = seek_and_compare(fd, partitions_signatures[i].anchor1);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
- if (!partitions_signatures[i].anchor2.anchor)
- goto detect_partition_found_it;
-
- results = seek_and_compare(fd, partitions_signatures[i].anchor2);
- if (results == -1)
- goto detect_partition_type_end;
- if (results == 1)
- continue;
-
- detect_partition_found_it:
- part_type = partitions_signatures[i].name;
- break;
- }
-
- detect_partition_type_end:
- close(fd);
- return part_type;
-}
-
-static char * disk_extract_list_directory(char * direct)
-{
- char ** full = list_directory(direct);
- char tmp[2000] = "";
- int i;
- for (i=0; i<5 ; i++) {
- if (!full || !*full)
- break;
- strcat(tmp, *full);
- strcat(tmp, "\n");
- full++;
+static enum return_type try_automatic_with_partition(char *dev) {
+ enum return_type results;
+ int mounted;
+ char *dir= get_auto_value("directory");
+ char location_full[500];
+ strcpy(location_full, MEDIA_LOCATION);
+ if (dir) {
+ strcat(location_full, "/");
+ strcat(location_full, dir);
+ }
+ wait_message("Trying to access " DISTRIB_NAME " disk (partition %s)", dev);
+ mounted = !try_mount(dev, MEDIA_LOCATION);
+ remove_wait_message();
+ if (mounted) {
+ create_IMAGE_LOCATION(MEDIA_LOCATION);
+ if (image_has_stage2()) {
+ results = try_with_directory(MEDIA_LOCATION, "disk", "disk-iso");
+ } else {
+ results = try_with_directory(location_full, "disk", "disk-iso");
+ }
+ if (results == RETURN_OK) {
+ if (!KEEP_MOUNTED)
+ umount(MEDIA_LOCATION);
+ return RETURN_OK;
+ }
}
- return strdup(tmp);
+ if (mounted)
+ umount(MEDIA_LOCATION);
+ return RETURN_ERROR;
}
-static int list_partitions(char * dev_name, char ** parts, char ** comments)
-{
- int major, minor, blocks;
- char name[100];
- FILE * f;
- int i = 0;
- char buf[512];
-
- if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
- log_perror(dev_name);
- return 1;
+static enum return_type try_automatic_with_disk(char *disk, char *model) {
+ char * parts[50];
+ char * parts_comments[50];
+ enum return_type results;
+ char **dev;
+ char *part = get_auto_value("partition");
+ wait_message("Trying to access " DISTRIB_NAME " disk (drive %s)", model);
+ if (list_partitions(disk, parts, parts_comments)) {
+ stg1_error_message("Could not read partitions information.");
+ return RETURN_ERROR;
}
-
- while (fgets(buf, sizeof(buf), f)) {
- memset(name, 0, sizeof(name));
- sscanf(buf, " %d %d %d %s", &major, &minor, &blocks, name);
- if ((strstr(name, dev_name) == name) && (blocks > 1) && (name[strlen(dev_name)] != '\0')) {
- const char * partition_type = detect_partition_type(name);
- parts[i] = strdup(name);
- comments[i] = (char *) malloc(sizeof(char) * 100);
- sprintf(comments[i], "size: %d Mbytes", blocks >> 10);
- if (partition_type) {
- strcat(comments[i], ", type: ");
- strcat(comments[i], partition_type);
- }
- i++;
+ remove_wait_message();
+ dev = parts;
+ while (dev && *dev) {
+ if (part && strcmp(part, *dev) != 0)
+ goto next;
+ results = try_automatic_with_partition(*dev);
+ if (results == RETURN_OK) {
+ return RETURN_OK;
}
+ next:
+ dev++;
}
- parts[i] = NULL;
- fclose(f);
-
- return 0;
+ return RETURN_ERROR;
}
-static int try_mount(char * dev, char * location)
+static enum return_type try_automatic(char ** medias, char ** medias_models)
{
- char device_fullname[50];
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, dev);
-
- if (my_mount(device_fullname, location, "ext2", 0) == -1 &&
- my_mount(device_fullname, location, "vfat", 0) == -1 &&
- my_mount(device_fullname, location, "reiserfs", 0) == -1) {
- return 1;
- }
-
- return 0;
+ char ** model = medias_models;
+ char ** ptr = medias;
+ char *disk = get_auto_value("disk");
+ while (ptr && *ptr) {
+ enum return_type results;
+ if (disk && strcmp(disk, *ptr) != 0)
+ goto next;
+ results = try_automatic_with_disk(*ptr, *model);
+ if (results == RETURN_OK)
+ return RETURN_OK;
+ next:
+ ptr++;
+ model++;
+ }
+ return RETURN_ERROR;
}
static enum return_type try_with_device(char *dev_name)
{
- char * questions_location[] = { "Directory or ISO image", NULL };
+ char * questions_location[] = { "Directory or ISO images directory or ISO image", NULL };
char * questions_location_auto[] = { "directory", NULL };
static char ** answers_location = NULL;
char location_full[500];
- char * disk_own_mount = "/tmp/hdimage";
-
char * parts[50];
char * parts_comments[50];
- struct stat statbuf;
enum return_type results;
char * choice;
-
+
if (list_partitions(dev_name, parts, parts_comments)) {
stg1_error_message("Could not read partitions information.");
return RETURN_ERROR;
}
- if (parts[0] == NULL) {
- stg1_error_message("No partitions found.");
- return RETURN_ERROR;
- }
+ /* uglyness to allow auto starting with devfs */
+ if (!IS_AUTOMATIC || streq((choice = get_auto_value("partition")), "")) {
+ if (parts[0] == NULL) {
+ stg1_error_message("No partition found.");
+ return RETURN_ERROR;
+ }
- results = ask_from_list_comments_auto("Please choose the partition where " DISTRIB_NAME " is copied.",
- parts, parts_comments, &choice, "partition", parts);
- if (results != RETURN_OK)
- return results;
+ results = ask_from_list_comments_auto("Please select the partition containing the copy of the "
+ DISTRIB_NAME " Distribution install source.",
+ parts, parts_comments, &choice, "partition", parts);
+ if (results != RETURN_OK)
+ return results;
+ }
- if (try_mount(choice, disk_own_mount)) {
- stg1_error_message("I can't find a valid filesystem (tried: ext2, vfat, reiserfs).");
+ /* in testing mode, assume the partition is already mounted on MEDIA_LOCATION */
+ if (!IS_TESTING && try_mount(choice, MEDIA_LOCATION)) {
+ stg1_error_message("I can't find a valid filesystem (tried: ext4, vfat, ntfs, reiserfs). "
+ "Make sure the partition has been cleanly unmounted.");
return try_with_device(dev_name);
}
- if (ask_from_entries_auto("Please enter the directory (or ISO image file) containing the " DISTRIB_NAME " Distribution.",
+ ask_dir:
+ if (ask_from_entries_auto("Please enter the directory (or ISO image file) containing the "
+ DISTRIB_NAME " Distribution install source.",
questions_location, &answers_location, 24, questions_location_auto, NULL) != RETURN_OK) {
- umount(disk_own_mount);
+ umount(MEDIA_LOCATION);
return try_with_device(dev_name);
}
- strcpy(location_full, disk_own_mount);
+ strcpy(location_full, MEDIA_LOCATION);
strcat(location_full, "/");
strcat(location_full, answers_location[0]);
if (access(location_full, R_OK)) {
+ char * path = strdup(answers_location[0]);
stg1_error_message("Directory or ISO image file could not be found on partition.\n"
- "Here's a short extract of the files in the root of the partition:\n"
- "%s", disk_extract_list_directory(disk_own_mount));
- umount(disk_own_mount);
- return try_with_device(dev_name);
+ "Here's a short extract of the files in the directory %s:\n"
+ "%s", my_dirname(path), extract_list_directory(my_dirname(location_full)));
+ free(path);
+ goto ask_dir;
}
- unlink(IMAGE_LOCATION);
-
- if (!stat(location_full, &statbuf) && !S_ISDIR(statbuf.st_mode)) {
- log_message("%s exists and is not a directory, assuming this is an ISO image", location_full);
- if (lomount(location_full, IMAGE_LOCATION)) {
- stg1_error_message("Could not mount file %s as an ISO image of the " DISTRIB_NAME " Distribution.", answers_location[0]);
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- } else
- symlink(location_full, IMAGE_LOCATION);
-
- if (IS_SPECIAL_STAGE2 || ramdisk_possible()) {
- /* RAMDISK install */
- if (access(IMAGE_LOCATION RAMDISK_LOCATION, R_OK)) {
- stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
- "(I need the subdirectory " RAMDISK_LOCATION ")\n"
- "Here's a short extract of the files in the directory:\n"
- "%s", disk_extract_list_directory(IMAGE_LOCATION));
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- if (load_ramdisk() != RETURN_OK) {
- stg1_error_message("Could not load program into memory.");
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- } else {
- /* LIVE install */
- char p;
- if (access(IMAGE_LOCATION LIVE_LOCATION, R_OK)) {
- stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
- "(I need the subdirectory " LIVE_LOCATION ")\n"
- "Here's a short extract of the files in the directory:\n"
- "%s", disk_extract_list_directory(IMAGE_LOCATION));
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- if (readlink(IMAGE_LOCATION LIVE_LOCATION "/usr/bin/runinstall2", &p, 1) != 1) {
- stg1_error_message("The " DISTRIB_NAME " Distribution seems to be copied on a Windows partition. "
- "You need more memory to perform an installation from a Windows partition. "
- "Another solution if to copy the " DISTRIB_NAME " Distribution on a Linux partition.");
- loumount();
- umount(disk_own_mount);
- return try_with_device(dev_name);
- }
- log_message("found the " DISTRIB_NAME " Installation, good news!");
+ results = try_with_directory(location_full, "disk", "disk-iso");
+ if (results != RETURN_OK) {
+ goto ask_dir;
}
- if (IS_RESCUE) {
- loumount();
- umount(disk_own_mount);
- }
+ if (!KEEP_MOUNTED)
+ umount(MEDIA_LOCATION);
- method_name = strdup("disk");
return RETURN_OK;
}
-static int get_disks(char *** names, char *** models)
-{
- char ** ptr;
- int count = 0;
-
- my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(DISK, names, models, BUS_ANY);
-
- ptr = *names;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
-
- return count;
-}
-
enum return_type disk_prepare(void)
{
char ** medias, ** medias_models;
char * choice;
int i;
enum return_type results;
+ static int already_probed_ide_generic = 0;
int count = get_disks(&medias, &medias_models);
+ if (IS_AUTOMATIC) {
+ results = try_automatic(medias, medias_models);
+ if (results != RETURN_ERROR)
+ return results;
+ unset_automatic();
+ }
+
if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_modprobe("ide_generic", ANY_DRIVER_TYPE, NULL);
+ return disk_prepare();
+ }
stg1_error_message("No DISK drive found.");
- i = ask_insmod(SCSI_ADAPTERS);
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return disk_prepare();
@@ -349,95 +220,26 @@ enum return_type disk_prepare(void)
if (count == 1) {
results = try_with_device(*medias);
- if (results == RETURN_OK)
- return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
+ if (results != RETURN_ERROR)
+ return results;
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return disk_prepare();
}
- results = ask_from_list_comments_auto("Please choose the DISK drive on which you copied the " DISTRIB_NAME " Distribution.",
+ results = ask_from_list_comments_auto("Please select the disk containing the copy of the "
+ DISTRIB_NAME " Distribution install source.",
medias, medias_models, &choice, "disk", medias);
if (results != RETURN_OK)
return results;
results = try_with_device(choice);
- if (results == RETURN_OK)
- return RETURN_OK;
- i = ask_insmod(SCSI_ADAPTERS);
+ if (results != RETURN_ERROR)
+ return results;
+ i = ask_insmod(MEDIA_ADAPTERS);
if (i == RETURN_BACK)
return RETURN_BACK;
return disk_prepare();
}
-
-int
-process_recovery(void)
-{
- char ** medias, ** medias_models;
- int count, i;
-
- log_message("trying the automatic recovery of oem installs");
-
- count = get_disks(&medias, &medias_models);
-
- for (i=0; i<count; i++) {
- char * parts[50];
- char * parts_comments[50];
- char ** part, ** comment;
- log_message("examining disk %s (%s)", medias[i], medias_models[i]);
-
- if (list_partitions(medias[i], parts, parts_comments)) {
- log_message("could not read partitions information, bailing out");
- return 0;
- }
-
- part = parts;
- comment = parts_comments;
- while (part && *part) {
- char * disk_own_mount = "/tmp/hdimage";
- log_message("examining partition %s (%s)", *part, *comment);
- if (try_mount(*part, disk_own_mount))
- log_message("couldn't mount it");
- else {
- FILE *f;
- char buf[500];
- char location[500];
- strcpy(location, disk_own_mount);
- strcat(location, "/VERSION");
- if (!(f = fopen(location, "rb")) || !fgets(buf, sizeof(buf), f)) {
- log_perror("could not fopen or fgets VERSION");
- goto examine_next_part;
- }
- fclose(f);
- if (!strstr(buf, VERSION)) {
- log_message("mismatching VERSION contents");
- goto examine_next_part;
- }
- strcpy(location, disk_own_mount);
- strcat(location, "/Mandrake/base");
- if (access(location, R_OK)) {
- log_message("Mandrake/base is not here");
- goto examine_next_part;
- }
-
- log_message("going on with a recovery on disk %s partition %s", medias[i], *part);
-
- symlink(disk_own_mount, IMAGE_LOCATION);
- if (ramdisk_possible())
- load_ramdisk(); /* if load of ramdisk failed, try to continue in live */
-
- method_name = strdup("disk");
- return 1;
- }
-
- examine_next_part:
- umount(disk_own_mount);
- part++;
- comment++;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/disk.h b/mdk-stage1/disk.h
index 303cbe138..8a6d1021f 100644
--- a/mdk-stage1/disk.h
+++ b/mdk-stage1/disk.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -23,6 +23,5 @@
#define _DISK_H_
enum return_type disk_prepare(void);
-int process_recovery(void);
#endif
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c
index 5ba55486a..f711758aa 100644
--- a/mdk-stage1/dns.c
+++ b/mdk-stage1/dns.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -21,15 +21,12 @@
#include <stdlib.h>
-// dietlibc can do hostname lookup, whereas glibc can't when linked statically :-(
-
-#if defined(__dietlibc__)
-
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <netdb.h>
#include <sys/socket.h>
+#include <resolv.h>
#include "network.h"
#include "log.h"
@@ -38,179 +35,56 @@
int mygethostbyname(char * name, struct in_addr * addr)
{
- struct hostent * h = gethostbyname(name);
- if (!h) {
- if (domain) {
- // gethostbyname from dietlibc doesn't support domain handling
- char fully_qualified[500];
- sprintf(fully_qualified, "%s.%s", name, domain);
- h = gethostbyname(fully_qualified);
- if (!h) {
- log_message("unknown host %s", name);
- return -1;
- }
- } else
- return -1;
- }
-
- if (h->h_addr_list && (h->h_addr_list)[0]) {
- memcpy(addr, (h->h_addr_list)[0], sizeof(*addr));
- log_message("is-at: %s", inet_ntoa(*addr));
- return 0;
- }
- return -1;
-}
-
-char * mygethostbyaddr(char * ipnum)
-{
- struct in_addr in;
- struct hostent * host;
- if (!inet_aton(ipnum, &in))
- return NULL;
- host = gethostbyaddr(&(in.s_addr), sizeof(in.s_addr) /* INADDRSZ */, AF_INET);
- if (host && host->h_name)
- return host->h_name;
- return NULL;
-}
-
-#elif defined(__GLIBC__)
-
-#include <alloca.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <resolv.h>
-#include <arpa/nameser.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-#include <string.h>
+ struct addrinfo hints, *res, *p;
+ int status;
+ char ipstr[INET6_ADDRSTRLEN];
-#include "log.h"
-
-#include "dns.h"
+ memset(&hints, 0, sizeof hints);
+ hints.ai_family = AF_INET; //AF_UNSPEC for both IPv4 & IPv6
+ hints.ai_socktype = SOCK_STREAM;
-/* This is dumb, but glibc doesn't like to do hostname lookups w/o libc.so */
+ /* prevent from timeouts */
+ if (_res.nscount == 0)
+ return -1;
-union dns_response {
- HEADER hdr;
- u_char buf[PACKETSZ];
-} ;
+ if ((status = getaddrinfo(name, NULL, &hints, &res)) != 0) {
+ log_message("getaddrinfo: %s\n", gai_strerror(status));
+ return -1;
+ }
-static int do_query(char * query, int queryType, char ** domainName, struct in_addr * ipNum)
-{
- int len, ancount, type;
- u_char * data, * end;
- char name[MAXDNAME];
- union dns_response response;
-
-#ifdef __sparc__
- /* from jj: */
- /* We have to wait till ethernet negotiation is done */
- _res.retry = 3;
-#else
- _res.retry = 2;
-#endif
-
-
- len = res_search(query, C_IN, queryType, (void *) &response, sizeof(response));
- if (len <= 0)
- return -1;
+ for (p = res;p != NULL; p = p->ai_next) {
+ void *tmp_addr;
- if (ntohs(response.hdr.rcode) != NOERROR)
- return -1;
+ struct sockaddr_in *ipv = (struct sockaddr_in *)p->ai_addr;
+ tmp_addr = &(ipv->sin_addr);
- ancount = ntohs(response.hdr.ancount);
- if (ancount < 1)
- return -1;
-
- data = response.buf + sizeof(HEADER);
- end = response.buf + len;
-
- /* skip the question */
- data += dn_skipname(data, end) + QFIXEDSZ;
-
- /* parse the answer(s) */
- while (--ancount >= 0 && data < end) {
-
- /* skip the domain name portion of the RR record */
- data += dn_skipname(data, end);
-
- /* get RR information */
- GETSHORT(type, data);
- data += INT16SZ; /* skipp class */
- data += INT32SZ; /* skipp TTL */
- GETSHORT(len, data);
-
- if (type == T_PTR) {
- /* we got a pointer */
- len = dn_expand(response.buf, end, data, name, sizeof(name));
- if (len <= 0) return -1;
- if (queryType == T_PTR && domainName) {
- /* we wanted a pointer */
- *domainName = malloc(strlen(name) + 1);
- strcpy(*domainName, name);
- return 0;
- }
- } else if (type == T_A) {
- /* we got an address */
- if (queryType == T_A && ipNum) {
- /* we wanted an address */
- memcpy(ipNum, data, sizeof(*ipNum));
- return 0;
- }
- }
-
- /* move ahead to next RR */
- data += len;
- }
-
- return -1;
-}
+ /* convert the IP to a string: */
+ inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr);
-char * mygethostbyaddr(char * ipnum) {
- int rc;
- char * result;
- char * strbuf;
- char * chptr;
- char * splits[4];
- int i;
-
- _res.retry = 1;
-
- strbuf = alloca(strlen(ipnum) + 1);
- strcpy(strbuf, ipnum);
-
- ipnum = alloca(strlen(strbuf) + 20);
-
- for (i = 0; i < 4; i++) {
- chptr = strbuf;
- while (*chptr && *chptr != '.')
- chptr++;
- *chptr = '\0';
-
- if (chptr - strbuf > 3) return NULL;
- splits[i] = strbuf;
- strbuf = chptr + 1;
+ memcpy(addr, tmp_addr, sizeof(*addr));
+ log_message("is-at: %s\n", inet_ntoa(*addr));
}
-
- sprintf(ipnum, "%s.%s.%s.%s.in-addr.arpa", splits[3], splits[2], splits[1], splits[0]);
-
- rc = do_query(ipnum, T_PTR, &result, NULL);
-
- if (rc)
- return NULL;
- else
- return result;
-}
-int mygethostbyname(char * name, struct in_addr * addr) {
- int rc = do_query(name, T_A, NULL, addr);
- if (!rc)
- log_message("is-at %s", inet_ntoa(*addr));
- return rc;
+ freeaddrinfo(res); // free the linked list
+ return 0;
}
-#else
+char * mygethostbyaddr(char * ipnum)
+{
+ struct sockaddr_in sa;
+ char hbuf[NI_MAXHOST];
+
+ /* prevent from timeouts */
+ if (_res.nscount == 0)
+ return NULL;
+
+ memset(&sa, 0, sizeof sa);
+ sa.sin_family = AF_INET;
-#error "Unsupported C library"
+ if (inet_pton(AF_INET, ipnum, &sa.sin_addr) != 1)
+ return NULL;
-#endif
+ if (getnameinfo((struct sockaddr*)&sa, sizeof(sa), hbuf, sizeof(hbuf), NULL, 0, 0 |NI_NAMEREQD) == 0) //NI_NUMERICHOST NI_NAMEREQD
+ return strdup(hbuf);
+ else return NULL;
+}
diff --git a/mdk-stage1/dns.h b/mdk-stage1/dns.h
index 97af9c08a..107ad1bce 100644
--- a/mdk-stage1/dns.h
+++ b/mdk-stage1/dns.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
diff --git a/mdk-stage1/doc/README b/mdk-stage1/doc/README
index e6c0cb420..28b81b39e 100644
--- a/mdk-stage1/doc/README
+++ b/mdk-stage1/doc/README
@@ -1,16 +1,16 @@
-------------------------------------------------------
-* Stage1 of the Mandrake Linux installation program *
+* Stage1 of the Mandriva Linux installation program *
-------------------------------------------------------
[ Author ]
- Guillaume Cottenceau (gc at mandrakesoft.com)
+ Guillaume Cottenceau (gc at mandriva.com)
[ Copyright ]
- Copyright 2000, 2001, 2002 MandrakeSoft
+ Copyright 2000, 2001, 2002 Mandriva
Partially inspired by Redhat stuff (install from 5.x and 7.x) copyright
Red Hat Software, and Debian stuff (boot-floppies) copyright by their
@@ -42,7 +42,7 @@
[ Online ]
- http://people.mandrakesoft.com/~gc/html/stage1.html
+ http://people.mandriva.com/~gc/html/stage1.html
[ Purpose ]
@@ -60,9 +60,9 @@
-=-=-- Okay, now, more details --=-=-
- [ Installing Mandrake Linux ]
+ [ Installing Mandriva Linux ]
-Per default, just insert your Mandrake Linux Installation CD into your
+Per default, just insert your Mandriva Linux Installation CD into your
CDROM tray, be sure your system BIOS is configured to boot on your CDROM,
and that's all.
@@ -106,7 +106,7 @@ of the easiest way is to grab a local copy of the Distribution on one of
your local hard drives, and to install from that location.
At present time, you can install from IDE or SCSI drives, from Linux
-(ext2), Windows (vfat) or Reiserfs partition.
+(ext4), Windows (vfat) or Reiserfs partition.
In that case, you'll need to use the "hd.img" image file. The dialogs will
ask you to choose the DISK drive to use to install from, then the
@@ -153,7 +153,7 @@ it's more basic but still usable :-).
(#2) A shell is provided on second console in some cases (you need to
compile it with -DSPAWN_SHELL and you need to provide a valid shell in the
-initrd) and of course it's not in, in image files of Mandrake Linux
+initrd) and of course it's not in, in image files of Mandriva Linux
releases because it's too much diskspace.
(#3) The log is printed out on the third console. This is the location
@@ -176,7 +176,7 @@ feature. It's implemented with a fork and a Unix pipe.
[ Rescueing a system ]
-Since Mandrake Linux 7.1, we provide a rescue system through each of the
+Since Mandriva Linux 7.1, we provide a rescue system through each of the
previously described methods. You don't need a special "rescue.img" file.
Just hit "F1" at boot time, type in "rescue", and follow the first steps
of the installation according to the method you chose (choose
diff --git a/mdk-stage1/doc/TECH-INFOS b/mdk-stage1/doc/TECH-INFOS
index 074b35d31..81d559a7f 100644
--- a/mdk-stage1/doc/TECH-INFOS
+++ b/mdk-stage1/doc/TECH-INFOS
@@ -6,9 +6,9 @@ This feature is used to replace redhat kickstart. It uses the kernel
parameter "automatic" with keywords separated with commas and colons, on
the following genres:
- automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
+ automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i686
- automatic=method:ftp,network:dhcp,server:ftp.ciril.fr,directory:/pub/linux/mandrake-devel/cooker
+ automatic=method:ftp,network:dhcp,server:ftp.ciril.fr,directory:/pub/linux/mandriva-devel/cooker
automatic=method:ftp,network:dhcp,server:companyserver,directory:/mdkinst,user:XXX,pass:XXX
@@ -18,7 +18,7 @@ the following genres:
automatic=method:cdrom
- automatic=method:disk,disk:hdb,partition:hdb7
+ automatic=method:disk,disk:hdb,partition:hdb7,directory:/cooker
The keywords correspond to each "virtual" question answered automatically,
@@ -37,6 +37,11 @@ if nfs/ftp/http:
if multiple interfaces detected:
`interface' <- (list-of-detected-interfaces)
+ if "auto":
+ use the first interface with a link beat
+ if "wired":
+ use the first wired interface with a link beat
+ or the first wired interface if none has a link beat
fi
@@ -84,8 +89,18 @@ commandline), please find each keyword short-alias counterpart in file
This gives for example for:
- automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
+ automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i686
==>
- automatic=met:nfs,net:static,ip:192.168.1.24,ser:192.168.1.7,dir:/stable/i586
+ automatic=met:nfs,net:static,ip:192.168.1.24,ser:192.168.1.7,dir:/stable/i686
+
+
+
+You may specify a stage2 auto-install file, different from the
+default `auto_inst.cfg.pl' in install/, by filling the
+`bootfile' parameter of your DHCP server response.
+
+Note that if the name ends with `-IP' or `-IP.pl', IP will be
+replaced by the IP address given to the host, normalized to
+hexadecimal (that is, `192.168.100.57' would give 'C0A86439').
diff --git a/mdk-stage1/doc/UPDATEMODULES b/mdk-stage1/doc/UPDATEMODULES
index 89d86d365..cfae4dc54 100644
--- a/mdk-stage1/doc/UPDATEMODULES
+++ b/mdk-stage1/doc/UPDATEMODULES
@@ -2,23 +2,32 @@ This is the documentation for the "Update Modules" (Update Drivers)
feature.
This feature aims to propose new modules or replacement modules for the
-install. This is useful when there is a firmware update for a given
-driver, an additional driver needed for something, etc.
+install and afterwards. This is useful when there is a firmware update for a
+given driver, an additional driver needed for something, etc.
You must use a floppy disk with e2fs filesystem (NOT vfat/windows
formatted). Use "mke2fs /dev/fd0" on your own box to format a floppy with
e2fs filesystem.
-This disk may contain a number of kernel modules on the root (e.g. not in
-a subdirectory); some of them may replace existing modules, some of them
-may be added. This disk must contain a special file, named "to_load", on
-the root (not in a subdirectory). This file will contain a series of
-module names, with optional module options; the program will try to load
-all these modules one after another, using file on the floppy if present,
-else using file within standard module repository ("marfile" on the boot
-floppy). It can contain comments, these are strictly defined by the
-presence of a hash (#) character on column 0 of any line.
+This disk may contain a number of kernel modules; some of them
+may replace existing modules, some of them may be added.
+
+Create a directory per kernel version, named from the version, for example
+2.6.27-desktop586-0.rc8.2mnb. In this directory put the modules and a special
+file, named "to_load". This file will contain a series of module names, with
+optional module options; the program will try to load all these modules one
+after another, using file on the floppy if present, else using file within
+standard module repository. It can contain comments, these are strictly defined
+by the presence of a hash (#) character on column 0 of any line.
+
+This disk may also contain some update or new modules for installed kernels.
+Those modules must be placed in directory <kernel-version>. They must be
+gzipped if the installed kernel modules are gzipped.
+
+You may need to specify the "category" so that new modules are used correctly.
+For example, a scsi module should be put in category disk/scsi so that it is
+put in scsi_hostadapter and initrd.
Here's a typical scenario:
@@ -36,15 +45,14 @@ Here's a typical scenario:
--=----=----=----=----=----=----=----=----=--
Our example disk contains:
-[root@obiwan mnt]# ll floppy/
-total 77
-drwxr-xr-x 2 root root 12288 Jul 26 12:02 lost+found/
--rw-r--r-- 1 root root 9051 Jul 26 12:43 msdos.o
--rw-r--r-- 1 root root 13660 Jul 26 12:04 ppa.o
--rw-r--r-- 1 root root 54 Jul 26 12:46 to_load
--rw-r--r-- 1 root root 32108 Jul 26 12:04 uhci.o
--rw-r--r-- 1 root root 6572 Jul 26 12:04 wacom.o
-[root@obiwan mnt]# cat floppy/to_load
+[root@obiwan mnt]# ll floppy/*
+2.6.27-desktop586-0.rc8.2mnb/:
+total 541
+drwxrwxr-x 3 a a 1024 2009-03-09 12:09 kernel/
+-rw-rw-r-- 1 a a 547480 2009-03-09 12:04 msdos.ko
+-rw-rw-r-- 1 a a 54748 2009-03-09 12:04 ppa.ko
+-rw-rw-r-- 1 a a 79 2009-03-09 12:08 to_load
+[root@obiwan mnt]# cat floppy/*/to_load
# Update Drivers description file
3c59x
# fat is a dep for msdos
@@ -54,6 +62,16 @@ msdos
ppa
# ISA network card needing options
ne io=0x300 irq=7
+# New module [list_modules: disk/scsi]
+a320raid
+[root@obiwan mnt]# (cd floppy/2.6.27-desktop586-0.rc8.2mnb ; find -type f)
+./msdos.ko
+./ppa.ko
+./to_load
+./kernel/fs/msdos/msdos.ko.gz
+./kernel/drivers/scsi/ppa.ko.gz
+./kernel/drivers/usb/host/uhci-hcd.ko.gz
+./kernel/drivers/usb/input/wacom.ko.gz
[root@obiwan mnt]#
--=----=----=----=----=----=----=----=----=--
@@ -72,3 +90,7 @@ ne io=0x300 irq=7
the case of load from the update modules floppy, that's why on
our example we need to load "fat" from the standard modules
before "msdos" from the update floppy.
+
+
+4. When system is installed, update floppy is asked again so that update
+modules for the installed kernels can be copied. Then depmod is called.
diff --git a/mdk-stage1/doc/WHY-DIETLIBC b/mdk-stage1/doc/WHY-DIETLIBC
deleted file mode 100644
index e7c526b49..000000000
--- a/mdk-stage1/doc/WHY-DIETLIBC
+++ /dev/null
@@ -1,50 +0,0 @@
-(the dietlibc is a replacement for the glibc, which aim is to produce
-smaller statically linked binaries)
-
-
-The use for dietlibc in the stage1 was clear because currently used
-install process on x86 is from a 1.44 Mbytes floppy. On this floppy we
-need to fit the kernel, modules (scsi and network access), and the code to
-do the basic things to load the stage2. The only part on which we could
-progress was the code.
-
-As always, figures demonstrate evidences. Here are the size of the
-binaries used for the cdrom, disk, network and full floppy installs, using
-newt as the UI library:
-
- - with glibc
-
--rwxr-xr-x 1 gc gc 569448 May 15 15:29 stage1-cdrom
--rwxr-xr-x 1 gc gc 572264 May 15 15:29 stage1-disk
--rwxr-xr-x 1 gc gc 624712 May 15 15:30 stage1-network
--rwxr-xr-x 1 gc gc 720360 May 15 15:29 stage1-full
-
- - with dietlibc
-
--rwxr-xr-x 1 gc gc 169332 May 15 14:26 stage1-cdrom
--rwxr-xr-x 1 gc gc 172180 May 15 14:26 stage1-disk
--rwxr-xr-x 1 gc gc 198612 May 15 14:26 stage1-network
--rwxr-xr-x 1 gc gc 251764 May 15 14:26 stage1-full
-
-
-The `stage1-full' binary has code for many things, most notably: data
-decrunching (bzlib), archive extraction (in-house format), module loading
-(insmod from busybox), PCI detection, ide and scsi handling,
-cdrom/disk/loopback mounting, DHCP client negociation (redhat+grub), NFS
-mounting (util-linux), FTP and HTTP transmission (redhat), pcmcia
-initializing (pcmcia-cs), UI interaction (slang/newt); with use of the
-dietlibc, the binary is only 250 kbytes!
-
-
-Due to the modular coding, it is also possible to choose to not use
-slang/newt as the UI, but a stdio-only UI. In that case, the binaries get
-even smaller:
-
--rwxr-xr-x 1 gc gc 104500 May 15 15:46 stage1-cdrom*
--rwxr-xr-x 1 gc gc 107348 May 15 15:46 stage1-disk*
--rwxr-xr-x 1 gc gc 133972 May 15 15:47 stage1-network*
--rwxr-xr-x 1 gc gc 187348 May 15 15:46 stage1-full*
-
-
-
-gc [Tue May 15 15:58:34 2001] \ No newline at end of file
diff --git a/mdk-stage1/doc/documented..frontend.h b/mdk-stage1/doc/documented..frontend.h
index 10417ef3b..96e4dc8d8 100644
--- a/mdk-stage1/doc/documented..frontend.h
+++ b/mdk-stage1/doc/documented..frontend.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
diff --git a/mdk-stage1/frontend-common.c b/mdk-stage1/frontend-common.c
index fac4bccd0..cdc972740 100644
--- a/mdk-stage1/frontend-common.c
+++ b/mdk-stage1/frontend-common.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -14,6 +14,7 @@
#include <stdlib.h>
#include <stdarg.h>
+#include <string.h>
#include <probing.h>
@@ -23,7 +24,6 @@
void info_message(char *msg, ...)
{
va_list args;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
va_start(args, msg);
vinfo_message(msg, args);
va_end(args);
@@ -40,8 +40,25 @@ void wait_message(char *msg, ...)
void error_message(char *msg, ...)
{
va_list args;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
va_start(args, msg);
verror_message(msg, args);
va_end(args);
}
+
+enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
+{
+ int answer = 0;
+ enum return_type results;
+
+ results = ask_from_list_index(msg, elems, elems_comments, &answer);
+
+ if (results == RETURN_OK)
+ *choice = strdup(elems[answer]);
+
+ return results;
+}
+
+enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
+{
+ return ask_from_list_comments(msg, elems, NULL, choice);
+}
diff --git a/mdk-stage1/frontend.h b/mdk-stage1/frontend.h
index 48f534653..367d46735 100644
--- a/mdk-stage1/frontend.h
+++ b/mdk-stage1/frontend.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -38,11 +38,22 @@ void info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* bl
void wait_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* non-blocking */
void remove_wait_message(void);
+void init_progression_raw(char *msg, int size);
+void update_progression_raw(int current_size);
+void end_progression_raw(void);
+
+#ifdef ENABLE_BOOTSPLASH
void init_progression(char *msg, int size);
void update_progression(int current_size);
void end_progression(void);
+#else
+#define init_progression init_progression_raw
+#define update_progression update_progression_raw
+#define end_progression end_progression_raw
+#endif
enum return_type ask_yes_no(char *msg);
+enum return_type ask_from_list_index(char *msg, char ** elems, char ** elems_comments, int *answer);
enum return_type ask_from_list(char *msg, char ** elems, char ** choice);
enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice);
enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings));
diff --git a/mdk-stage1/init-data/emptyboot.img.bz2 b/mdk-stage1/init-data/emptyboot.img.bz2
deleted file mode 100644
index 6ae939c1b..000000000
--- a/mdk-stage1/init-data/emptyboot.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot-blank.img.bz2 b/mdk-stage1/init-data/msgboot-blank.img.bz2
deleted file mode 100644
index a572093d9..000000000
--- a/mdk-stage1/init-data/msgboot-blank.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2 b/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2
deleted file mode 100644
index 9d5d276fb..000000000
--- a/mdk-stage1/init-data/msgboot-graphicallogo-2880.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2 b/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2
deleted file mode 100644
index d67b4e0a2..000000000
--- a/mdk-stage1/init-data/msgboot-graphicallogo.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-data/msgboot.img.bz2 b/mdk-stage1/init-data/msgboot.img.bz2
deleted file mode 100644
index e06018f11..000000000
--- a/mdk-stage1/init-data/msgboot.img.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/init-libc-headers.h b/mdk-stage1/init-libc-headers.h
deleted file mode 100644
index 1e6807615..000000000
--- a/mdk-stage1/init-libc-headers.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/mount.h>
-#include <linux/un.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/resource.h>
-#include <sys/wait.h>
-#include <linux/unistd.h>
-#include <sys/select.h>
-#include <sys/ioctl.h>
-
-#ifndef SOCK_STREAM
-#define SOCK_STREAM 1
-#endif
-
-static inline _syscall3(int, syslog, int, type, char *, bufp, int, len);
-static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
diff --git a/mdk-stage1/init.c b/mdk-stage1/init.c
index 1c7bb9e97..7c48f64ec 100644
--- a/mdk-stage1/init.c
+++ b/mdk-stage1/init.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -19,28 +19,54 @@
*
*/
-#ifndef INIT_HEADERS
-#include "init-libc-headers.h"
-#else
-#include INIT_HEADERS
-#endif
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <dirent.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/mount.h>
+#include <linux/un.h>
+#include <errno.h>
+#include <signal.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <linux/unistd.h>
+#include <sys/select.h>
+#include <sys/ioctl.h>
+#include <linux/reboot.h>
+
+#include <sys/syscall.h>
+#define syslog(...) syscall(__NR_syslog, __VA_ARGS__)
+
+static unsigned int reboot_magic = LINUX_REBOOT_CMD_RESTART;
+
+static inline long reboot(unsigned int command)
+{
+ return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, command, 0);
+}
#include "config-stage1.h"
+#include <linux/cdrom.h>
+
+
+#define BINARY_STAGE2 "/usr/bin/runinstall2"
-#if defined(__powerpc__)
-#define TIOCSCTTY 0x540E
-#endif
char * env[] = {
"PATH=/usr/bin:/bin:/sbin:/usr/sbin:/mnt/sbin:/mnt/usr/sbin:/mnt/bin:/mnt/usr/bin",
- "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib:/usr/X11R6/lib:/mnt/usr/X11R6/lib"
-#if defined(__x86_64__) || defined(__ppc64__)
- ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
+ "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib"
+#if defined(__x86_64__)
+ ":/lib64:/usr/lib64:/mnt/lib64:/mnt/usr/lib64"
#endif
,
"HOME=/",
"TERM=linux",
"TERMINFO=/etc/terminfo",
+ "LC_CTYPE=UTF-8",
NULL
};
@@ -55,14 +81,14 @@ char * env[] = {
*
*/
-int testing;
+int testing = 0;
int klog_pid;
void fatal_error(char *msg)
{
printf("FATAL ERROR IN INIT: %s\n\nI can't recover from this, please reboot manually and send bugreport.\n", msg);
- while (1);
+ select(0, NULL, NULL, NULL, NULL);
}
void print_error(char *msg)
@@ -80,20 +106,20 @@ void print_int_init(int fd, int i)
char buf[10];
char * chptr = buf + 9;
int j = 0;
-
+
if (i < 0)
{
write(1, "-", 1);
i = -1 * i;
}
-
+
while (i)
{
*chptr-- = '0' + (i % 10);
j++;
i = i / 10;
}
-
+
write(fd, chptr + 1, j);
}
@@ -102,7 +128,6 @@ void print_str_init(int fd, char * string)
write(fd, string, strlen(string));
}
-
/* fork to:
* (1) watch /proc/kmsg and copy the stuff to /dev/tty4
* (2) listens to /dev/log and copy also this stuff (log from programs)
@@ -112,7 +137,7 @@ void doklog()
fd_set readset, unixs;
int in, out, i;
int log;
- int s;
+ socklen_t s;
int sock = -1;
struct sockaddr_un sockaddr;
char buf[1024];
@@ -125,7 +150,7 @@ void doklog()
return;
}
- if ((log = open("/tmp/syslog", O_WRONLY | O_CREAT, 0644)) < 0) {
+ if ((log = open("/tmp/syslog", O_WRONLY | O_CREAT | O_APPEND, 0644)) < 0) {
print_error("error opening /tmp/syslog");
sleep(5);
return;
@@ -140,7 +165,7 @@ void doklog()
close(1);
close(2);
}
-
+
out = open("/dev/tty4", O_WRONLY, 0);
if (out < 0)
print_warning("couldn't open tty for syslog -- still using /tmp/syslog\n");
@@ -182,7 +207,7 @@ void doklog()
if (sock >= 0)
FD_SET(sock, &readset);
FD_SET(in, &readset);
-
+
i = select(20, &readset, NULL, NULL, NULL);
if (i <= 0)
continue;
@@ -197,25 +222,6 @@ void doklog()
}
}
- /* examine some fd's in the hope to find some syslog outputs from programs */
- for (readfd = 0; readfd < 20; ++readfd) {
- if (FD_ISSET(readfd, &readset) && FD_ISSET(readfd, &unixs)) {
- i = read(readfd, buf, sizeof(buf));
- if (i > 0) {
- /* grep out the output of RPM telling that it installed/removed some packages */
- if (!strstr(buf, "mdk installed") && !strstr(buf, "mdk removed")) {
- if (out >= 0)
- write(out, buf, i);
- write(log, buf, i);
- }
- } else if (i == 0) {
- /* socket closed */
- close(readfd);
- FD_CLR(readfd, &unixs);
- }
- }
- }
-
/* the socket has moved, new stuff to do */
if (sock >= 0 && FD_ISSET(sock, &readset)) {
s = sizeof(sockaddr);
@@ -237,20 +243,28 @@ void doklog()
#define LOOP_CLR_FD 0x4C01
-void del_loop(char *device)
+void del_loops(void)
{
- int fd;
- if ((fd = open(device, O_RDONLY, 0)) < 0) {
- printf("del_loop open failed\n");
- return;
- }
-
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
- printf("del_loop ioctl failed");
- return;
- }
-
- close(fd);
+ char loopdev[] = "/dev/loop0";
+ char chloopdev[] = "/dev/chloop0";
+ int i;
+ for (i=0; i<8; i++) {
+ int fd;
+ loopdev[9] = '0' + i;
+ fd = open(loopdev, O_RDONLY, 0);
+ if (fd > 0) {
+ if (!ioctl(fd, LOOP_CLR_FD, 0))
+ printf("\t%s\n", loopdev);
+ close(fd);
+ }
+ chloopdev[11] = '0' + i;
+ fd = open(chloopdev, O_RDONLY, 0);
+ if (fd > 0) {
+ if (!ioctl(fd, LOOP_CLR_FD, 0))
+ printf("\t%s\n", chloopdev);
+ close(fd);
+ }
+ }
}
struct filesystem
@@ -261,6 +275,18 @@ struct filesystem
int mounted;
};
+char* strcat(register char* s,register const char* t)
+{
+ char *dest=s;
+ s+=strlen(s);
+ for (;;) {
+ if (!(*s = *t))
+ break;
+ ++s; ++t;
+ }
+ return dest;
+}
+
/* attempt to unmount all filesystems in /proc/mounts */
void unmount_filesystems(void)
{
@@ -270,9 +296,9 @@ void unmount_filesystems(void)
struct filesystem fs[500];
int numfs = 0;
int i, nb;
-
+
printf("unmounting filesystems...\n");
-
+
fd = open("/proc/mounts", O_RDONLY, 0);
if (fd < 1) {
print_error("failed to open /proc/mounts");
@@ -299,7 +325,12 @@ void unmount_filesystems(void)
*p++ = '\0';
while (*p != '\n') p++;
p++;
- if (strcmp(fs[numfs].name, "/") != 0) numfs++; /* skip if root, no need to take initrd root in account */
+ if (strcmp(fs[numfs].name, "/")
+ && !strstr(fs[numfs].dev, "ram")
+ && strcmp(fs[numfs].name, "/dev")
+ && strcmp(fs[numfs].name, "/sys")
+ && strncmp(fs[numfs].name, "/proc", 5))
+ numfs++;
}
/* Pixel's ultra-optimized sorting algorithm:
@@ -309,42 +340,136 @@ void unmount_filesystems(void)
nb = 0;
for (i = 0; i < numfs; i++) {
/*printf("trying with %s\n", fs[i].name);*/
+ del_loops();
if (fs[i].mounted && umount(fs[i].name) == 0) {
- if (strncmp(fs[i].dev + sizeof("/dev/") - 1, "loop",
- sizeof("loop") - 1) == 0)
- del_loop(fs[i].dev);
-
printf("\t%s\n", fs[i].name);
fs[i].mounted = 0;
nb++;
}
}
} while (nb);
-
+
for (i = nb = 0; i < numfs; i++)
if (fs[i].mounted) {
- printf("\t%s umount failed\n", fs[i].name);
- if (strcmp(fs[i].fs, "ext2") == 0) nb++; /* don't count not-ext2 umount failed */
+ printf("\tumount failed: %s\n", fs[i].name);
+ if (strcmp(fs[i].fs, "ext3") == 0) nb++; /* don't count not-ext3 umount failed */
}
-
+
+
if (nb) {
printf("failed to umount some filesystems\n");
- while (1);
+ select(0, NULL, NULL, NULL, NULL);
}
}
-int exit_value_rescue = 66;
+int in_reboot(void)
+{
+ int fd;
+ if ((fd = open("/var/run/rebootctl", O_RDONLY, 0)) > 0) {
+ char buf[100];
+ int i = read(fd, buf, sizeof(buf));
+ close(fd);
+ if (strstr(buf, "halt"))
+ reboot_magic = LINUX_REBOOT_CMD_POWER_OFF;
+ return i > 0;
+ }
+ return 0;
+}
-int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)))
+int recursive_remove(char *file);
+int recursive_remove(char *file)
+{
+ struct stat sb;
+
+ if (lstat(file, &sb) != 0) {
+ printf("failed to stat %s: %d\n", file, errno);
+ return -1;
+ }
+
+ /* only descend into subdirectories if device is same as dir */
+ if (S_ISDIR(sb.st_mode)) {
+ char * strBuf = alloca(strlen(file) + 1024);
+ DIR * dir;
+ struct dirent * d;
+
+ if (!(dir = opendir(file))) {
+ printf("error opening %s: %d\n", file, errno);
+ return -1;
+ }
+ while ((d = readdir(dir))) {
+ if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
+ continue;
+
+ strcpy(strBuf, file);
+ strcat(strBuf, "/");
+ strcat(strBuf, d->d_name);
+
+ if (recursive_remove(strBuf) != 0) {
+ closedir(dir);
+ return -1;
+ }
+ }
+ closedir(dir);
+
+ if (rmdir(file)) {
+ printf("failed to rmdir %s: %d\n", file, errno);
+ return -1;
+ }
+ } else {
+ if (unlink(file) != 0) {
+ printf("failed to remove %s: %d\n", file, errno);
+ return -1;
+ }
+ }
+ return 0;
+}
+
+
+int create_initial_fs_symlinks(char* symlinks)
+{
+ FILE *f;
+ char buf[5000];
+
+ if (!(f = fopen(symlinks, "rb"))) {
+ printf("Error opening symlink definitions file '%s'\n", symlinks);
+ return -1;
+ }
+ while (fgets(buf, sizeof(buf), f)) {
+ char oldpath[500], newpath[500];
+ struct stat sb;
+
+ buf[strlen(buf)-1] = '\0'; // trim \n
+ if (sscanf(buf, "%s %s", oldpath, newpath) != 2) {
+ snprintf(oldpath, sizeof(oldpath), "%s%s", STAGE2_LOCATION, buf);
+ snprintf(newpath, sizeof(newpath), "%s", buf);
+ }
+ if (lstat(newpath, &sb) == 0)
+ recursive_remove(newpath);
+ printf("Creating symlink %s -> %s\n", oldpath, newpath);
+ if (symlink(oldpath, newpath)) {
+ printf("Error creating symlink\n");
+ return -1;
+ }
+ }
+ fclose(f);
+ return 0;
+}
+
+
+int exit_value_restart = 0x35;
+
+int main(int argc, char **argv)
{
pid_t installpid, childpid;
int wait_status;
int fd;
int abnormal_termination = 0;
- int end_stage2 = 0;
- /* getpid() != 1 should work, by linuxrc tends to get a larger pid */
- testing = (getpid() > 50);
+ if (argc > 1 && argv[1][0] >= '0' && argv[1][0] <= '9') {
+ printf("This is no normal init, sorry.\n"
+ "Call `reboot' or `halt' directly.\n");
+ return 0;
+ }
if (!testing) {
/* turn off screen blanking */
@@ -355,42 +480,35 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
printf("*** TESTING MODE *** (pid is %d)\n", getpid());
- printf("\n\t\t\t\033[1;40mWelcome to \033[1;36mMandrake\033[0;39m Linux\n\n");
-
- if (!testing) {
- if (mount("/proc", "/proc", "proc", 0, NULL))
- fatal_error("Unable to mount proc filesystem");
- }
-
+ // needed for ldetect:
+ if (!testing)
+ if (mount("none", "/sys/kernel/debug", "debugfs", MS_NOSUID, "mode=0755"))
+ fatal_error("Unable to mount debugfs filesystem");
+
/* ignore Control-C and keyboard stop signals */
signal(SIGINT, SIG_IGN);
signal(SIGTSTP, SIG_IGN);
-
if (!testing) {
- fd = open("/dev/tty1", O_RDWR, 0);
+ fd = open("/dev/console", O_RDWR, 0);
if (fd < 0)
- /* try with devfs */
- fd = open("/dev/vc/1", O_RDWR, 0);
-
- if (fd < 0)
- fatal_error("failed to open /dev/tty1 and /dev/vc/1");
-
+ fatal_error("failed to open /dev/console");
+
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
close(fd);
}
-
+
/* I set me up as session leader (probably not necessary?) */
setsid();
- if (ioctl(0, TIOCSCTTY, NULL))
- print_error("could not set new controlling tty");
+// if (ioctl(0, TIOCSCTTY, NULL))
+// print_error("could not set new controlling tty");
if (!testing) {
- char my_hostname[] = "localhost.localdomain";
+ char my_hostname[] = "localhost";
sethostname(my_hostname, sizeof(my_hostname));
/* the default domainname (as of 2.0.35) is "(none)", which confuses
glibc */
@@ -400,51 +518,78 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
if (!testing)
doklog();
- /* Go into normal init mode - keep going, and then do a orderly shutdown
- when:
-
- 1) install exits
- 2) we receive a SIGHUP
- */
-
- printf("Moltes ! MOLTES !\n");
- printf("\n");
- printf("Running install...\n");
-
- if (!(installpid = fork())) {
- /* child */
- char * child_argv[2];
- child_argv[0] = "/sbin/stage1";
- child_argv[1] = NULL;
+ if (create_initial_fs_symlinks(STAGE2_LOCATION "/usr/share/symlinks") != 0)
+ fatal_error("Fatal error finishing initialization (could not create symlinks).");
+
+ /* kernel modules and firmware is needed by stage2, so move them to the root */
+ if (rename("/usr/lib/modules", "/modules"))
+ fatal_error("Cannot rename modules folder");
+
+ if (rename("/usr/lib/firmware", "/firmware"))
+ fatal_error("Cannot rename firmware folder");
+ /* Add some symlinks so stage1 is still valid on it's own - not strictly needed */
+ if (symlink("/modules", "/usr/lib/modules"))
+ fatal_error("Cannot symlink modules folder");
+
+ if (symlink("/firmware", "/usr/lib/firmware"))
+ fatal_error("Cannot symlink firmware folder");
+
+ if (mount(STAGE2_LOCATION "/usr", "/usr", "none", MS_BIND|MS_RDONLY, NULL))
+ fatal_error("Unable to bind mount /usr filesystem from rescue or installer stage2");
+
+
+ if (access("/run/drakx/run-init", R_OK) == 0) {
+ /* This is typically used in rescue mode */
+ char * child_argv[2] = { "/sbin/init", NULL };
+
+ kill(klog_pid, 9);
+ printf("proceeding, please wait...\n");
execve(child_argv[0], child_argv, env);
- printf("error in exec of stage1 :-(\n");
- return 0;
+ fatal_error("failed to exec /sbin/init");
}
- while (!end_stage2) {
- childpid = wait4(-1, &wait_status, 0, NULL);
- if (childpid == installpid)
- end_stage2 = 1;
- }
+ /* This is installer mode */
+ do {
+ printf("proceeding, please wait...\n");
+
+ if (!(installpid = fork())) {
+ /* child */
+ char * child_argv[2] = { BINARY_STAGE2, NULL };
+ execve(child_argv[0], child_argv, env);
+ printf("error in exec of %s :-( [%d]\n", child_argv[0], errno);
+ return 0;
+ }
+
+ do {
+ childpid = wait4(-1, &wait_status, 0, NULL);
+ } while (childpid != installpid);
+ } while (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_restart);
- if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_rescue)) {
- printf("install exited abnormally :-( ");
+ /* allow Ctrl Alt Del to reboot */
+ reboot(LINUX_REBOOT_CMD_CAD_ON);
+
+ if (in_reboot()) {
+ // any exitcode is valid if we're in_reboot
+ } else if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
+ printf("exited abnormally :-( ");
if (WIFSIGNALED(wait_status))
printf("-- received signal %d", WTERMSIG(wait_status));
printf("\n");
- abnormal_termination = 1;
- } else if (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_rescue) {
- kill(klog_pid, 9);
- printf("exiting init -- giving hand to rescue\n");
- return 0;
- } else
- printf("install succeeded\n");
+ abnormal_termination = 1;
+ }
+
+ if (!abnormal_termination) {
+ int i;
+ for (i=0; i<50; i++)
+ printf("\n"); /* cleanup startkde messages */
+ }
if (testing)
return 0;
sync(); sync();
+ sleep(2);
printf("sending termination signals...");
kill(-1, 15);
@@ -458,14 +603,22 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
unmount_filesystems();
+ sync(); sync();
+
if (!abnormal_termination) {
- printf("rebooting system\n");
- sleep(2);
- reboot(0xfee1dead, 672274793, 0x01234567);
+ if (reboot_magic == LINUX_REBOOT_CMD_RESTART) {
+#ifdef DEBUG
+ printf("automatic reboot in 10 seconds\n");
+ sleep(10);
+#endif
+ reboot(reboot_magic);
+ } else {
+ printf("you may safely poweroff your computer now\n");
+ }
} else {
- printf("you may safely reboot your system\n");
- while (1);
+ printf("you may safely reboot or halt your system\n");
}
+ select(0, NULL, NULL, NULL, NULL);
return 0;
}
diff --git a/mdk-stage1/insmod-busybox/.cvsignore b/mdk-stage1/insmod-busybox/.cvsignore
deleted file mode 100644
index 26a2c08c9..000000000
--- a/mdk-stage1/insmod-busybox/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-insmod
-insmod-DIET
diff --git a/mdk-stage1/insmod-busybox/Config.h b/mdk-stage1/insmod-busybox/Config.h
deleted file mode 100644
index f02ac0253..000000000
--- a/mdk-stage1/insmod-busybox/Config.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* vi: set sw=4 ts=4: */
-// This file defines the feature set to be compiled into busybox.
-// When you turn things off here, they won't be compiled in at all.
-//
-//// This file is parsed by sed. You MUST use single line comments.
-// i.e. //#define BB_BLAH
-//
-//
-// BusyBox Applications
-#define BB_INSMOD
-// End of Applications List
-//
-//
-//
-// ---------------------------------------------------------
-// This is where feature definitions go. Generally speaking,
-// turning this stuff off makes things a bit smaller (and less
-// pretty/useful).
-//
-//
-//
-// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
-// thereby eliminating the need for the /proc filesystem and thereby saving
-// lots and lots memory for more important things. You can not use this and
-// USE_PROCFS at the same time... NOTE: If you enable this feature, you
-// _must_ have patched the kernel to include the devps patch that is included
-// in the busybox/kernel-patches directory. You will also need to create some
-// device special files in /dev on your embedded system:
-// mknod /dev/mtab c 10 22
-// mknod /dev/ps c 10 21
-// I emailed Linus and this patch will not be going into the stock kernel.
-//#define BB_FEATURE_USE_DEVPS_PATCH
-//
-// enable features that use the /proc filesystem (apps that
-// break without this will tell you on compile)...
-// You can't use this and BB_FEATURE_USE_DEVPS_PATCH
-// at the same time...
-#define BB_FEATURE_USE_PROCFS
-
-//
-// Enable tab completion in the shell (not yet
-// working very well -- so don't turn this on)
-//#define BB_FEATURE_SH_TAB_COMPLETION
-//
-//Turn on extra fbset options
-//#define BB_FEATURE_FBSET_FANCY
-//
-//Turn on fbset readmode support
-//#define BB_FEATURE_FBSET_READMODE
-//
-// You must enable one or both of these features
-// Support insmod/lsmod/rmmod for post 2.1 kernels
-#define BB_FEATURE_NEW_MODULE_INTERFACE
-//
-// Support insmod/lsmod/rmmod for pre 2.1 kernels
-//#define BB_FEATURE_OLD_MODULE_INTERFACE
-//
-// Support module version checking
-//#define BB_FEATURE_INSMOD_VERSION_CHECKING
-//
-// Support for Minix filesystem, version 2
-//#define BB_FEATURE_MINIX2
-//
-//
-// Enable busybox --install [-s]
-// to create links (or symlinks) for all the commands that are
-// compiled into the binary. (needs /proc filesystem)
-// #define BB_FEATURE_INSTALLER
-//
-// Clean up all memory before exiting -- usually not needed
-// as the OS can clean up... Don't enable this unless you
-// have a really good reason for cleaning things up manually.
-//#define BB_FEATURE_CLEAN_UP
-//
-// End of Features List
-//
-//
-//
-//
-//
-//
-//---------------------------------------------------
-// Nothing beyond this point should ever be touched by
-// mere mortals so leave this stuff alone.
-//
-#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
-#define BB_MTAB
-#endif
-//
-#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
-#define BB_CMDEDIT
-#endif
-//
-#ifdef BB_KILLALL
-#ifndef BB_KILL
-#define BB_KILL
-#endif
-#endif
-//
-#ifdef BB_FEATURE_LINUXRC
-#ifndef BB_INIT
-#define BB_INIT
-#endif
-#define BB_LINUXRC
-#endif
-//
-#ifdef BB_GZIP
-#ifndef BB_GUNZIP
-#define BB_GUNZIP
-#endif
-#endif
-//
-#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
-#define BB_NFSMOUNT
-#endif
-//
-#if defined BB_FEATURE_SH_COMMAND_EDITING
-#ifndef BB_FEATURE_USE_TERMIOS
-#define BB_FEATURE_USE_TERMIOS
-#endif
-#endif
-//
-#if defined BB_FEATURE_AUTOWIDTH
-#ifndef BB_FEATURE_USE_TERMIOS
-#define BB_FEATURE_USE_TERMIOS
-#endif
-#endif
-//
-#if defined BB_INSMOD
-#if ! defined BB_FEATURE_NEW_MODULE_INTERFACE && ! defined BB_FEATURE_OLD_MODULE_INTERFACE
-#define BB_FEATURE_NEW_MODULE_INTERFACE
-#endif
-#endif
diff --git a/mdk-stage1/insmod-busybox/Makefile b/mdk-stage1/insmod-busybox/Makefile
deleted file mode 100644
index 236874f96..000000000
--- a/mdk-stage1/insmod-busybox/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
- #******************************************************************************
- #
- # insmod from busybox (i386 only)
- #
- # $Id$
- #
- # Copyright (C) 1999,2000 by Lineo, inc.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: insmod libinsmod.a
-
-clean:
- rm -f *.o insmod libinsmod.a
-
-
-FLAGS = -c -Wall -Os -fomit-frame-pointer -D_GNU_SOURCE -DBB_VER='"0.60.5"' -DBB_BT='"2003.04.16-15:25+0000"'
-
-
-insmod: insmod-frontend.o insmod.o utility-standalone.o
- $(DIET) gcc -o $@ $^
- $(STRIPCMD) $@
-
-libinsmod.a: insmod.o utility.o
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) insmod-frontend.c
-
-utility.o: utility.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) utility.c
-
-utility-standalone.o: utility.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-insmod.o: insmod.c busybox.h
- $(DIET) gcc $(FLAGS) $(INCLUDES) insmod.c
diff --git a/mdk-stage1/insmod-busybox/README b/mdk-stage1/insmod-busybox/README
deleted file mode 100644
index 0ae697e92..000000000
--- a/mdk-stage1/insmod-busybox/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This insmod code comes from busybox-0.60.5
-
-<http://www.busybox.net/>
-
-Suported architectures: x86, x86-64, ppc, arm, sh3, sh4, m68k, mips.
-
-
-gb
diff --git a/mdk-stage1/insmod-busybox/busybox.h b/mdk-stage1/insmod-busybox/busybox.h
deleted file mode 100644
index 9e6052fce..000000000
--- a/mdk-stage1/insmod-busybox/busybox.h
+++ /dev/null
@@ -1,477 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Busybox main internal header file
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
- * Permission has been granted to redistribute this code under the GPL.
- *
- */
-#ifndef _BB_INTERNAL_H_
-#define _BB_INTERNAL_H_ 1
-
-#include "Config.h"
-
-#ifdef DMALLOC
-#include "dmalloc.h"
-#endif
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-/* for the _syscall() macros */
-#include <sys/syscall.h>
-#include <linux/unistd.h>
-#include <linux/kernel.h>
-
-/* Some useful definitions */
-#define FALSE ((int) 1)
-#define TRUE ((int) 0)
-
-/* for mtab.c */
-#define MTAB_GETMOUNTPT '1'
-#define MTAB_GETDEVICE '2'
-
-#define BUF_SIZE 8192
-#define EXPAND_ALLOC 1024
-
-
-#define isBlank(ch) (((ch) == ' ') || ((ch) == '\t'))
-#define isDecimal(ch) (((ch) >= '0') && ((ch) <= '9'))
-#define isOctal(ch) (((ch) >= '0') && ((ch) <= '7'))
-#define isWildCard(ch) (((ch) == '*') || ((ch) == '?') || ((ch) == '['))
-
-/* Macros for min/max. */
-#ifndef MIN
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
-
-/* I don't like nested includes, but the string and io functions are used
- * too often
- */
-#include <stdio.h>
-#if !defined(NO_STRING_H) || defined(STDC_HEADERS)
-# include <string.h>
-# if !defined(STDC_HEADERS) && !defined(NO_MEMORY_H) && !defined(__GNUC__)
-# include <memory.h>
-# endif
-# define memzero(s, n) memset ((void *)(s), 0, (n))
-#else
-# include <strings.h>
-# define strchr index
-# define strrchr rindex
-# define memcpy(d, s, n) bcopy((s), (d), (n))
-# define memcmp(s1, s2, n) bcmp((s1), (s2), (n))
-# define memzero(s, n) bzero((s), (n))
-#endif
-
-
-enum Location {
- _BB_DIR_ROOT = 0,
- _BB_DIR_BIN,
- _BB_DIR_SBIN,
- _BB_DIR_USR_BIN,
- _BB_DIR_USR_SBIN
-};
-
-struct BB_applet {
- const char* name;
- int (*main)(int argc, char** argv);
- enum Location location;
- const char* usage;
-};
-/* From busybox.c */
-extern const struct BB_applet applets[];
-
-extern int ar_main(int argc, char **argv);
-extern int basename_main(int argc, char **argv);
-extern int bogomips_main(int argc, char **argv);
-extern int busybox_main(int argc, char** argv);
-extern int cat_main(int argc, char** argv);
-extern int chmod_chown_chgrp_main(int argc, char** argv);
-extern int chroot_main(int argc, char** argv);
-extern int chvt_main(int argc, char** argv);
-extern int clear_main(int argc, char** argv);
-extern int cp_mv_main(int argc, char** argv);
-extern int cut_main(int argc, char** argv);
-extern int date_main(int argc, char** argv);
-extern int dc_main(int argc, char** argv);
-extern int dd_main(int argc, char** argv);
-extern int dirname_main(int argc, char** argv);
-extern int deallocvt_main(int argc, char** argv);
-extern int df_main(int argc, char** argv);
-extern int dmesg_main(int argc, char** argv);
-extern int dos2unix_main(int argc, char** argv);
-extern int du_main(int argc, char** argv);
-extern int dumpkmap_main(int argc, char** argv);
-extern int dutmp_main(int argc, char** argv);
-extern int echo_main(int argc, char** argv);
-extern int expr_main(int argc, char** argv);
-extern int false_main(int argc, char** argv);
-extern int fbset_main(int argc, char** argv);
-extern int fdisk_main(int argc, char** argv);
-extern int fdflush_main(int argc, char **argv);
-extern int fsck_minix_main(int argc, char **argv);
-extern int find_main(int argc, char** argv);
-extern int free_main(int argc, char** argv);
-extern int freeramdisk_main(int argc, char** argv);
-extern int getopt_main(int argc, char** argv);
-extern int grep_main(int argc, char** argv);
-extern int gunzip_main (int argc, char** argv);
-extern int gzip_main(int argc, char** argv);
-extern int halt_main(int argc, char** argv);
-extern int head_main(int argc, char** argv);
-extern int hostid_main(int argc, char** argv);
-extern int hostname_main(int argc, char** argv);
-extern int id_main(int argc, char** argv);
-extern int init_main(int argc, char** argv);
-extern int insmod_main(int argc, char** argv);
-extern int kill_main(int argc, char** argv);
-extern int length_main(int argc, char** argv);
-extern int ln_main(int argc, char** argv);
-extern int loadacm_main(int argc, char** argv);
-extern int loadfont_main(int argc, char** argv);
-extern int loadkmap_main(int argc, char** argv);
-extern int losetup_main(int argc, char** argv);
-extern int logger_main(int argc, char **argv);
-extern int logname_main(int argc, char **argv);
-extern int ls_main(int argc, char** argv);
-extern int lsmod_main(int argc, char** argv);
-extern int makedevs_main(int argc, char** argv);
-extern int md5sum_main(int argc, char** argv);
-extern int mkdir_main(int argc, char** argv);
-extern int mkfifo_main(int argc, char **argv);
-extern int mkfs_minix_main(int argc, char **argv);
-extern int mknod_main(int argc, char** argv);
-extern int mkswap_main(int argc, char** argv);
-extern int mktemp_main(int argc, char **argv);
-extern int nc_main(int argc, char** argv);
-extern int more_main(int argc, char** argv);
-extern int mount_main(int argc, char** argv);
-extern int mt_main(int argc, char** argv);
-extern int nslookup_main(int argc, char **argv);
-extern int ping_main(int argc, char **argv);
-extern int poweroff_main(int argc, char **argv);
-extern int printf_main(int argc, char** argv);
-extern int ps_main(int argc, char** argv);
-extern int pwd_main(int argc, char** argv);
-extern int rdate_main(int argc, char** argv);
-extern int reboot_main(int argc, char** argv);
-extern int renice_main(int argc, char** argv);
-extern int reset_main(int argc, char** argv);
-extern int rm_main(int argc, char** argv);
-extern int rmdir_main(int argc, char **argv);
-extern int rmmod_main(int argc, char** argv);
-extern int sed_main(int argc, char** argv);
-extern int sfdisk_main(int argc, char** argv);
-extern int setkeycodes_main(int argc, char** argv);
-extern int shell_main(int argc, char** argv);
-extern int sleep_main(int argc, char** argv);
-extern int sort_main(int argc, char** argv);
-extern int swap_on_off_main(int argc, char** argv);
-extern int sync_main(int argc, char** argv);
-extern int syslogd_main(int argc, char **argv);
-extern int tail_main(int argc, char** argv);
-extern int tar_main(int argc, char** argv);
-extern int tee_main(int argc, char** argv);
-extern int test_main(int argc, char** argv);
-extern int telnet_main(int argc, char** argv);
-extern int touch_main(int argc, char** argv);
-extern int tr_main(int argc, char** argv);
-extern int true_main(int argc, char** argv);
-extern int tput_main(int argc, char** argv);
-extern int tryopen_main(int argc, char** argv);
-extern int tty_main(int argc, char** argv);
-extern int umount_main(int argc, char** argv);
-extern int uname_main(int argc, char** argv);
-extern int uniq_main(int argc, char** argv);
-extern int unix2dos_main(int argc, char** argv);
-extern int unrpm_main(int argc, char** argv);
-extern int update_main(int argc, char** argv);
-extern int uptime_main(int argc, char** argv);
-extern int usleep_main(int argc, char** argv);
-extern int uuencode_main(int argc, char** argv);
-extern int uudecode_main(int argc, char** argv);
-extern int wc_main(int argc, char** argv);
-extern int wget_main(int argc, char** argv);
-extern int which_main(int argc, char** argv);
-extern int whoami_main(int argc, char** argv);
-extern int xargs_main(int argc, char** argv);
-extern int yes_main(int argc, char** argv);
-
-extern const char ar_usage[];
-extern const char basename_usage[];
-extern const char cat_usage[];
-extern const char chgrp_usage[];
-extern const char chmod_usage[];
-extern const char chown_usage[];
-extern const char chroot_usage[];
-extern const char chvt_usage[];
-extern const char clear_usage[];
-extern const char cp_usage[];
-extern const char cut_usage[];
-extern const char date_usage[];
-extern const char dc_usage[];
-extern const char dd_usage[];
-extern const char deallocvt_usage[];
-extern const char df_usage[];
-extern const char dirname_usage[];
-extern const char dmesg_usage[];
-extern const char dos2unix_usage[];
-extern const char du_usage[];
-extern const char dumpkmap_usage[];
-extern const char dutmp_usage[];
-extern const char echo_usage[];
-extern const char expr_usage[];
-extern const char false_usage[];
-extern const char fdflush_usage[];
-extern const char find_usage[];
-extern const char free_usage[];
-extern const char freeramdisk_usage[];
-extern const char fsck_minix_usage[];
-extern const char grep_usage[];
-extern const char gunzip_usage[];
-extern const char gzip_usage[];
-extern const char halt_usage[];
-extern const char head_usage[];
-extern const char hostid_usage[];
-extern const char hostname_usage[];
-extern const char id_usage[];
-extern const char insmod_usage[];
-extern const char kill_usage[];
-extern const char killall_usage[];
-extern const char length_usage[];
-extern const char ln_usage[];
-extern const char loadacm_usage[];
-extern const char loadfont_usage[];
-extern const char loadkmap_usage[];
-extern const char logger_usage[];
-extern const char logname_usage[];
-extern const char ls_usage[];
-extern const char lsmod_usage[];
-extern const char makedevs_usage[];
-extern const char md5sum_usage[];
-extern const char mkdir_usage[];
-extern const char mkfifo_usage[];
-extern const char mkfs_minix_usage[];
-extern const char mknod_usage[];
-extern const char mkswap_usage[];
-extern const char mktemp_usage[];
-extern const char more_usage[];
-extern const char mount_usage[];
-extern const char mt_usage[];
-extern const char mv_usage[];
-extern const char nc_usage[];
-extern const char nslookup_usage[];
-extern const char ping_usage[];
-extern const char poweroff_usage[];
-extern const char printf_usage[];
-extern const char ps_usage[];
-extern const char pwd_usage[];
-extern const char rdate_usage[];
-extern const char reboot_usage[];
-extern const char renice_usage[];
-extern const char reset_usage[];
-extern const char rm_usage[];
-extern const char rmdir_usage[];
-extern const char rmmod_usage[];
-extern const char sed_usage[];
-extern const char setkeycodes_usage[];
-extern const char shell_usage[];
-extern const char sleep_usage[];
-extern const char sort_usage[];
-extern const char swapoff_usage[];
-extern const char swapon_usage[];
-extern const char sync_usage[];
-extern const char syslogd_usage[];
-extern const char tail_usage[];
-extern const char tar_usage[];
-extern const char tee_usage[];
-extern const char telnet_usage[];
-extern const char test_usage[];
-extern const char touch_usage[];
-extern const char tr_usage[];
-extern const char true_usage[];
-extern const char tty_usage[];
-extern const char umount_usage[];
-extern const char uname_usage[];
-extern const char uniq_usage[];
-extern const char unix2dos_usage[];
-extern const char unrpm_usage[];
-extern const char update_usage[];
-extern const char uptime_usage[];
-extern const char usleep_usage[];
-extern const char uudecode_usage[];
-extern const char uuencode_usage[];
-extern const char wc_usage[];
-extern const char wget_usage[];
-extern const char which_usage[];
-extern const char whoami_usage[];
-extern const char xargs_usage[];
-extern const char yes_usage[];
-
-extern const char *applet_name;
-
-extern void usage(const char *usage) __attribute__ ((noreturn));
-extern void errorMsg(const char *s, ...) __attribute__ ((format (printf, 1, 2)));
-extern void logperror(char *s);
-extern void fatalError(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2)));
-
-const char *modeString(int mode);
-const char *timeString(time_t timeVal);
-int isDirectory(const char *name, const int followLinks, struct stat *statBuf);
-int isDevice(const char *name);
-
-typedef struct ino_dev_hash_bucket_struct {
- struct ino_dev_hash_bucket_struct *next;
- ino_t ino;
- dev_t dev;
- char name[1];
-} ino_dev_hashtable_bucket_t;
-int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name);
-void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name);
-void reset_ino_dev_hashtable(void);
-
-int copyFile(const char *srcName, const char *destName,
- int setModes, int followLinks, int forceFlag);
-int copySubFile(int srcFd, int dstFd, size_t remaining);
-char *buildName(const char *dirName, const char *fileName);
-int makeString(int argc, const char **argv, char *buf, int bufLen);
-char *getChunk(int size);
-char *chunkstrdup(const char *str);
-void freeChunks(void);
-int fullWrite(int fd, const char *buf, int len);
-int fullRead(int fd, char *buf, int len);
-int recursiveAction(const char *fileName, int recurse, int followLinks, int depthFirst,
- int (*fileAction) (const char *fileName, struct stat* statbuf, void* userData),
- int (*dirAction) (const char *fileName, struct stat* statbuf, void* userData),
- void* userData);
-
-extern int createPath (const char *name, int mode);
-extern int parse_mode( const char* s, mode_t* theMode);
-
-extern int get_kernel_revision(void);
-
-extern int get_console_fd(char* tty_name);
-extern struct mntent *findMountPoint(const char *name, const char *table);
-extern void write_mtab(char* blockDevice, char* directory,
- char* filesystemType, long flags, char* string_flags);
-extern void erase_mtab(const char * name);
-extern void mtab_read(void);
-extern char *mtab_first(void **iter);
-extern char *mtab_next(void **iter);
-extern char *mtab_getinfo(const char *match, const char which);
-extern int check_wildcard_match(const char* text, const char* pattern);
-extern long getNum (const char *cp);
-extern pid_t* findPidByName( char* pidName);
-extern int find_real_root_device_name(char* name);
-extern char *get_line_from_file(FILE *file);
-extern void print_file(FILE *file);
-extern int print_file_by_name(char *filename);
-extern char process_escape_sequence(char **ptr);
-extern char *get_last_path_component(char *path);
-// extern void xregcomp(regex_t *preg, const char *regex, int cflags);
-
-#ifndef DMALLOC
-extern void *xmalloc (size_t size);
-extern void *xrealloc(void *old, size_t size);
-extern void *xcalloc(size_t nmemb, size_t size);
-extern char *xstrdup (const char *s);
-#endif
-extern char *xstrndup (const char *s, int n);
-
-
-/* These parse entries in /etc/passwd and /etc/group. This is desirable
- * for BusyBox since we want to avoid using the glibc NSS stuff, which
- * increases target size and is often not needed embedded systems. */
-extern long my_getpwnam(char *name);
-extern long my_getgrnam(char *name);
-extern void my_getpwuid(char *name, long uid);
-extern void my_getgrgid(char *group, long gid);
-extern long my_getpwnamegid(char *name);
-
-extern int device_open(char *device, int mode);
-
-#if defined BB_FEATURE_MOUNT_LOOP
-extern int del_loop(const char *device);
-extern int set_loop(const char *device, const char *file, int offset, int *loopro);
-extern char *find_unused_loop_device (void);
-#endif
-
-
-#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
-extern int vdprintf(int d, const char *format, va_list ap);
-#endif
-
-#if defined BB_NFSMOUNT
-int nfsmount(const char *spec, const char *node, int *flags,
- char **extra_opts, char **mount_opts, int running_bg);
-#endif
-
-#ifndef RB_POWER_OFF
-/* Stop system and switch power off if possible. */
-#define RB_POWER_OFF 0x4321fedc
-#endif
-
-/* Include our own copy of struct sysinfo to avoid binary compatability
- * problems with Linux 2.4, which changed things. Grumble, grumble. */
-//struct sysinfo {
-// long uptime; /* Seconds since boot */
-// unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
-// unsigned long totalram; /* Total usable main memory size */
-// unsigned long freeram; /* Available memory size */
-// unsigned long sharedram; /* Amount of shared memory */
-// unsigned long bufferram; /* Memory used by buffers */
-// unsigned long totalswap; /* Total swap space size */
-// unsigned long freeswap; /* swap space still available */
-// unsigned short procs; /* Number of current processes */
-// unsigned long totalhigh; /* Total high memory size */
-// unsigned long freehigh; /* Available high memory size */
-// unsigned int mem_unit; /* Memory unit size in bytes */
-// char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */
-//};
-extern int sysinfo (struct sysinfo* info);
-
-/* Bit map related macros -- libc5 doens't provide these... sigh. */
-#ifndef setbit
-#define NBBY CHAR_BIT
-#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
-#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
-#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-#endif
-
-/* Merge from busybox 0.60.5 */
-#define error_msg errorMsg
-#define perror_msg(FORMAT,...) error_msg(FORMAT ": %s", ## __VA_ARGS__, strerror(errno))
-#define recursive_action recursiveAction
-
-#define safe_strncpy(DST, SRC, SIZE) do { \
- (DST)[SIZE-1] = '\0'; \
- return strncpy((DST), (SRC),(SIZE)-1); \
-} while (0)
-
-#endif /* _BB_INTERNAL_H_ */
diff --git a/mdk-stage1/insmod-busybox/insmod-frontend.c b/mdk-stage1/insmod-busybox/insmod-frontend.c
deleted file mode 100644
index 3e5d6b3d7..000000000
--- a/mdk-stage1/insmod-busybox/insmod-frontend.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdio.h>
-
-
-int insmod_main( int argc, char **argv);
-
-int main( int argc, char **argv)
-{
- printf("Using insmod provided by busybox.\n");
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-busybox/insmod.c b/mdk-stage1/insmod-busybox/insmod.c
deleted file mode 100644
index e6e5b8f5f..000000000
--- a/mdk-stage1/insmod-busybox/insmod.c
+++ /dev/null
@@ -1,3758 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Mini insmod implementation for busybox
- *
- * This version of insmod supports x86, ARM, SH3/4, powerpc, m68k,
- * MIPS, and x86-64.
- *
- *
- * Copyright (C) 1999,2000 by Lineo, inc. and Erik Andersen
- * Copyright (C) 1999-2002 Erik Andersen <andersee@debian.org>
- * Written by Erik Andersen and Ron Alder <alder@lineo.com>
- *
- * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
- * and (theoretically) SH3. I have only tested SH4 in little endian mode.
- *
- * Modified by Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
- * Nicolas Ferre <nicolas.ferre@alcove.fr> to support ARM7TDMI. Only
- * very minor changes required to also work with StrongArm and presumably
- * all ARM based systems.
- *
- * Magnus Damm <damm@opensource.se> 22-May-2002.
- * The plt and got code are now using the same structs.
- * Added generic linked list code to fully support PowerPC.
- * Replaced the mess in arch_apply_relocation() with architecture blocks.
- * The arch_create_got() function got cleaned up with architecture blocks.
- * These blocks should be easy maintain and sync with obj_xxx.c in modutils.
- *
- * Magnus Damm <damm@opensource.se> added PowerPC support 20-Feb-2001.
- * PowerPC specific code stolen from modutils-2.3.16,
- * written by Paul Mackerras, Copyright 1996, 1997 Linux International.
- * I've only tested the code on mpc8xx platforms in big-endian mode.
- * Did some cleanup and added BB_USE_xxx_ENTRIES...
- *
- * Quinn Jensen <jensenq@lineo.com> added MIPS support 23-Feb-2001.
- * based on modutils-2.4.2
- * MIPS specific support for Elf loading and relocation.
- * Copyright 1996, 1997 Linux International.
- * Contributed by Ralf Baechle <ralf@gnu.ai.mit.edu>
- *
- * Based almost entirely on the Linux modutils-2.3.11 implementation.
- * Copyright 1996, 1997 Linux International.
- * New implementation contributed by Richard Henderson <rth@tamu.edu>
- * Based on original work by Bjorn Ekwall <bj0rn@blox.se>
- * Restructured (and partly rewritten) by:
- * Björn Ekwall <bj0rn@blox.se> February 1999
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "../insmod.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <errno.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <ctype.h>
-#include <assert.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/utsname.h>
-#include "busybox.h"
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-# undef BB_FEATURE_OLD_MODULE_INTERFACE
-# define new_sys_init_module init_module
-#else
-# define old_sys_init_module init_module
-#endif
-
-/* FIXME: Remove once we switched to dietlibc 0.22 */
-#if 0
-
-#undef new_sys_init_module
-#define __NR_new_sys_init_module __NR_init_module
-struct new_module;
-_syscall2(int, new_sys_init_module, const char *, name,
- const struct new_module *, info)
-
-#undef old_sys_init_module
-#define __NR_old_sys_init_module __NR_init_module
-struct old_mod_routines;
-struct old_symbol_table;
-_syscall5(int, old_sys_init_module, const char *, name, char *, code,
- unsigned, codesize, struct old_mod_routines *, routines,
- struct old_symbol_table *, symtab)
-
-_syscall1(int, delete_module, const char *, name)
-
-#if defined(__i386__) || defined(__m68k__) || defined(__arm__)
-/* Jump through hoops to fixup error return codes */
-#define __NR__create_module __NR_create_module
-static inline _syscall2(long, _create_module, const char *, name, size_t,
- size)
-unsigned long create_module(const char *name, size_t size)
-{
- long ret = _create_module(name, size);
-
- if (ret == -1 && errno > 125) {
- ret = -errno;
- errno = 0;
- }
- return ret;
-}
-#else
-_syscall2(unsigned long, create_module, const char *, name, size_t, size)
-#endif
-
-#endif
-
-#ifdef BB_FEATURE_INSMOD_LOADINKMEM
-#define LOADBITS 0
-#else
-#define LOADBITS 1
-#endif
-
-#if defined(__arm__)
-#define BB_USE_PLT_ENTRIES
-#define BB_PLT_ENTRY_SIZE 8
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 8
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_ARM)
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-#define ELFCLASSM ELFCLASS32
-#endif
-
-#if defined(__i386__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#ifndef EM_486
-#define MATCH_MACHINE(x) (x == EM_386)
-#else
-#define MATCH_MACHINE(x) (x == EM_386 || x == EM_486)
-#endif
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-#define ELFCLASSM ELFCLASS32
-#endif
-
-#if defined(__x86_64__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 8
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_X86_64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
-#define ELFCLASSM ELFCLASS64
-#endif
-
-#if defined(__mc68000__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_68K)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#endif
-
-#if defined(__mips__)
-/* Account for ELF spec changes. */
-#ifndef EM_MIPS_RS3_LE
-#ifdef EM_MIPS_RS4_BE
-#define EM_MIPS_RS3_LE EM_MIPS_RS4_BE
-#else
-#define EM_MIPS_RS3_LE 10
-#endif
-#endif /* !EM_MIPS_RS3_LE */
-
-#define MATCH_MACHINE(x) (x == EM_MIPS || x == EM_MIPS_RS3_LE)
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-#define ELFCLASSM ELFCLASS32
-#define ARCHDATAM "__dbe_table"
-#endif
-
-#if defined(__powerpc__)
-#define BB_USE_PLT_ENTRIES
-#define BB_PLT_ENTRY_SIZE 16
-#define BB_USE_PLT_LIST
-#define BB_LIST_ARCHTYPE ElfW(Addr)
-#define BB_USE_LIST
-
-#define MATCH_MACHINE(x) (x == EM_PPC)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#define ELFCLASSM ELFCLASS32
-#define ARCHDATAM "__ftr_fixup"
-#endif
-
-#if defined(__sh__)
-#define BB_USE_GOT_ENTRIES
-#define BB_GOT_ENTRY_SIZE 4
-#define BB_USE_SINGLE
-
-#define MATCH_MACHINE(x) (x == EM_SH)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-#define ELFCLASSM ELFCLASS32
-
-/* the SH changes have only been tested on the SH4 in =little endian= mode */
-/* I'm not sure about big endian, so let's warn: */
-
-#if (defined(__SH4__) || defined(__SH3__)) && defined(__BIG_ENDIAN__)
-#error insmod.c may require changes for use on big endian SH4/SH3
-#endif
-
-/* it may or may not work on the SH1/SH2... So let's error on those
- also */
-#if (defined(__sh__) && (!(defined(__SH3__) || defined(__SH4__))))
-#error insmod.c may require changes for non-SH3/SH4 use
-#endif
-#endif
-
-#ifndef SHT_RELM
-#error Sorry, but insmod.c does not yet support this architecture...
-#endif
-
-//----------------------------------------------------------------------------
-//--------modutils module.h, lines 45-242
-//----------------------------------------------------------------------------
-
-/* Definitions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_MODULE_H
-#define MODUTILS_MODULE_H
-
-/* This file contains the structures used by the 2.0 and 2.1 kernels.
- We do not use the kernel headers directly because we do not wish
- to be dependant on a particular kernel version to compile insmod. */
-
-
-/*======================================================================*/
-/* The structures used by Linux 2.0. */
-
-/* The symbol format used by get_kernel_syms(2). */
-struct old_kernel_sym
-{
- unsigned long value;
- char name[60];
-};
-
-struct old_module_ref
-{
- unsigned long module; /* kernel addresses */
- unsigned long next;
-};
-
-struct old_module_symbol
-{
- unsigned long addr;
- unsigned long name;
-};
-
-struct old_symbol_table
-{
- int size; /* total, including string table!!! */
- int n_symbols;
- int n_refs;
- struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
- struct old_module_ref ref[0]; /* actual size defined by n_refs */
-};
-
-struct old_mod_routines
-{
- unsigned long init;
- unsigned long cleanup;
-};
-
-struct old_module
-{
- unsigned long next;
- unsigned long ref; /* the list of modules that refer to me */
- unsigned long symtab;
- unsigned long name;
- int size; /* size of module in pages */
- unsigned long addr; /* address of module */
- int state;
- unsigned long cleanup; /* cleanup routine */
-};
-
-/* Sent to init_module(2) or'ed into the code size parameter. */
-static const int OLD_MOD_AUTOCLEAN = 0x40000000; /* big enough, but no sign problems... */
-
-int get_kernel_syms(struct old_kernel_sym *);
-int old_sys_init_module(const char *name, char *code, unsigned codesize,
- struct old_mod_routines *, struct old_symbol_table *);
-
-/*======================================================================*/
-/* For sizeof() which are related to the module platform and not to the
- environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */
-
-#define tgt_sizeof_char sizeof(char)
-#define tgt_sizeof_short sizeof(short)
-#define tgt_sizeof_int sizeof(int)
-#define tgt_sizeof_long sizeof(long)
-#define tgt_sizeof_char_p sizeof(char *)
-#define tgt_sizeof_void_p sizeof(void *)
-#define tgt_long long
-
-#if defined(__sparc__) && !defined(__sparc_v9__) && defined(ARCH_sparc64)
-#undef tgt_sizeof_long
-#undef tgt_sizeof_char_p
-#undef tgt_sizeof_void_p
-#undef tgt_long
-static const int tgt_sizeof_long = 8;
-static const int tgt_sizeof_char_p = 8;
-static const int tgt_sizeof_void_p = 8;
-#define tgt_long long long
-#endif
-
-/*======================================================================*/
-/* The structures used in Linux 2.1. */
-
-/* Note: new_module_symbol does not use tgt_long intentionally */
-struct new_module_symbol
-{
- unsigned long value;
- unsigned long name;
-};
-
-struct new_module_persist;
-
-struct new_module_ref
-{
- unsigned tgt_long dep; /* kernel addresses */
- unsigned tgt_long ref;
- unsigned tgt_long next_ref;
-};
-
-struct new_module
-{
- unsigned tgt_long size_of_struct; /* == sizeof(module) */
- unsigned tgt_long next;
- unsigned tgt_long name;
- unsigned tgt_long size;
-
- tgt_long usecount;
- unsigned tgt_long flags; /* AUTOCLEAN et al */
-
- unsigned nsyms;
- unsigned ndeps;
-
- unsigned tgt_long syms;
- unsigned tgt_long deps;
- unsigned tgt_long refs;
- unsigned tgt_long init;
- unsigned tgt_long cleanup;
- unsigned tgt_long ex_table_start;
- unsigned tgt_long ex_table_end;
-#ifdef __alpha__
- unsigned tgt_long gp;
-#endif
- /* Everything after here is extension. */
- unsigned tgt_long persist_start;
- unsigned tgt_long persist_end;
- unsigned tgt_long can_unload;
- unsigned tgt_long runsize;
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
- const char *kallsyms_start; /* All symbols for kernel debugging */
- const char *kallsyms_end;
- const char *archdata_start; /* arch specific data for module */
- const char *archdata_end;
- const char *kernel_data; /* Reserved for kernel internal use */
-#endif
-};
-
-#ifdef ARCHDATAM
-#define ARCHDATA_SEC_NAME ARCHDATAM
-#else
-#define ARCHDATA_SEC_NAME "__archdata"
-#endif
-#define KALLSYMS_SEC_NAME "__kallsyms"
-
-
-struct new_module_info
-{
- unsigned long addr;
- unsigned long size;
- unsigned long flags;
- long usecount;
-};
-
-/* Bits of module.flags. */
-static const int NEW_MOD_RUNNING = 1;
-static const int NEW_MOD_DELETED = 2;
-static const int NEW_MOD_AUTOCLEAN = 4;
-static const int NEW_MOD_VISITED = 8;
-static const int NEW_MOD_USED_ONCE = 16;
-
-int new_sys_init_module(const char *name, const struct new_module *);
-int query_module(const char *name, int which, void *buf, size_t bufsize,
- size_t *ret);
-
-/* Values for query_module's which. */
-
-static const int QM_MODULES = 1;
-static const int QM_DEPS = 2;
-static const int QM_REFS = 3;
-static const int QM_SYMBOLS = 4;
-static const int QM_INFO = 5;
-
-/*======================================================================*/
-/* The system calls unchanged between 2.0 and 2.1. */
-
-unsigned long create_module(const char *, size_t);
-int delete_module(const char *);
-
-
-#endif /* module.h */
-
-//----------------------------------------------------------------------------
-//--------end of modutils module.h
-//----------------------------------------------------------------------------
-
-
-
-//----------------------------------------------------------------------------
-//--------modutils obj.h, lines 253-462
-//----------------------------------------------------------------------------
-
-/* Elf object file loading and relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef MODUTILS_OBJ_H
-static const int MODUTILS_OBJ_H = 1;
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-#include <endian.h>
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define ELFDATAM ELFDATA2LSB
-#elif __BYTE_ORDER == __BIG_ENDIAN
-#define ELFDATAM ELFDATA2MSB
-#endif
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-/* For some reason this is missing from libc5. */
-#ifndef ELF32_ST_INFO
-# define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-#ifndef ELF64_ST_INFO
-# define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-struct obj_string_patch;
-struct obj_symbol_patch;
-
-struct obj_section
-{
- ElfW(Shdr) header;
- const char *name;
- char *contents;
- struct obj_section *load_next;
- int idx;
-};
-
-struct obj_symbol
-{
- struct obj_symbol *next; /* hash table link */
- const char *name;
- unsigned long value;
- unsigned long size;
- int secidx; /* the defining section index/module */
- int info;
- int ksymidx; /* for export to the kernel symtab */
- int referenced; /* actually used in the link */
-};
-
-/* Hardcode the hash table size. We shouldn't be needing so many
- symbols that we begin to degrade performance, and we get a big win
- by giving the compiler a constant divisor. */
-
-#define HASH_BUCKETS 521
-
-struct obj_file
-{
- ElfW(Ehdr) header;
- ElfW(Addr) baseaddr;
- struct obj_section **sections;
- struct obj_section *load_order;
- struct obj_section **load_order_search_start;
- struct obj_string_patch *string_patches;
- struct obj_symbol_patch *symbol_patches;
- int (*symbol_cmp)(const char *, const char *);
- unsigned long (*symbol_hash)(const char *);
- unsigned long local_symtab_size;
- struct obj_symbol **local_symtab;
- struct obj_symbol *symtab[HASH_BUCKETS];
-};
-
-enum obj_reloc
-{
- obj_reloc_ok,
- obj_reloc_overflow,
- obj_reloc_dangerous,
- obj_reloc_unhandled
-};
-
-struct obj_string_patch
-{
- struct obj_string_patch *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- ElfW(Addr) string_offset;
-};
-
-struct obj_symbol_patch
-{
- struct obj_symbol_patch *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- struct obj_symbol *sym;
-};
-
-
-/* Generic object manipulation routines. */
-
-static unsigned long obj_elf_hash(const char *);
-
-static unsigned long obj_elf_hash_n(const char *, unsigned long len);
-
-static struct obj_symbol *obj_find_symbol (struct obj_file *f,
- const char *name);
-
-static ElfW(Addr) obj_symbol_final_value(struct obj_file *f,
- struct obj_symbol *sym);
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static void obj_set_symbol_compare(struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *));
-#endif
-
-static struct obj_section *obj_find_section (struct obj_file *f,
- const char *name);
-
-static void obj_insert_section_load_order (struct obj_file *f,
- struct obj_section *sec);
-
-static struct obj_section *obj_create_alloced_section (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-static struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-static void *obj_extend_section (struct obj_section *sec, unsigned long more);
-
-static int obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string);
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym);
-#endif
-
-static int obj_check_undefineds(struct obj_file *f);
-
-static void obj_allocate_commons(struct obj_file *f);
-
-static unsigned long obj_load_size (struct obj_file *f);
-
-static int obj_relocate (struct obj_file *f, ElfW(Addr) base);
-
-static struct obj_file *obj_load(FILE *f, int loadprogbits);
-
-static int obj_create_image (struct obj_file *f, char *image);
-
-/* Architecture specific manipulation routines. */
-
-static struct obj_file *arch_new_file (void);
-
-static struct obj_section *arch_new_section (void);
-
-static struct obj_symbol *arch_new_symbol (void);
-
-static enum obj_reloc arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- ElfW(RelM) *rel, ElfW(Addr) value);
-
-static void arch_create_got (struct obj_file *f);
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int arch_init_module (struct obj_file *f, struct new_module *);
-#endif
-
-#endif /* obj.h */
-//----------------------------------------------------------------------------
-//--------end of modutils obj.h
-//----------------------------------------------------------------------------
-
-
-
-
-
-#define _PATH_MODULES "/lib/modules"
-static const int STRVERSIONLEN = 32;
-
-/*======================================================================*/
-
-static const int flag_force_load = 1;
-static const int flag_autoclean = 0;
-static const int flag_quiet = 0;
-static const int flag_export = 1;
-
-
-/*======================================================================*/
-
-#if defined(BB_USE_LIST)
-
-struct arch_list_entry
-{
- struct arch_list_entry *next;
- BB_LIST_ARCHTYPE addend;
- int offset;
- int inited : 1;
-};
-
-#endif
-
-#if defined(BB_USE_SINGLE)
-
-struct arch_single_entry
-{
- int offset;
- int inited : 1;
- int allocated : 1;
-};
-
-#endif
-
-#if defined(__mips__)
-struct mips_hi16
-{
- struct mips_hi16 *next;
- Elf32_Addr *addr;
- Elf32_Addr value;
-};
-#endif
-
-struct arch_file {
- struct obj_file root;
-#if defined(BB_USE_PLT_ENTRIES)
- struct obj_section *plt;
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- struct obj_section *got;
-#endif
-#if defined(__mips__)
- struct mips_hi16 *mips_hi16_list;
-#endif
-};
-
-struct arch_symbol {
- struct obj_symbol root;
-#if defined(BB_USE_PLT_ENTRIES)
-#if defined(BB_USE_PLT_LIST)
- struct arch_list_entry *pltent;
-#else
- struct arch_single_entry pltent;
-#endif
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- struct arch_single_entry gotent;
-#endif
-};
-
-
-struct external_module {
- const char *name;
- ElfW(Addr) addr;
- int used;
- size_t nsyms;
- struct new_module_symbol *syms;
-};
-
-static struct new_module_symbol *ksyms;
-static size_t nksyms;
-
-static struct external_module *ext_modules;
-static int n_ext_modules;
-static int n_ext_modules_used;
-extern int delete_module(const char *);
-
-#ifndef FILENAME_MAX
-#define FILENAME_MAX 4095
-#endif
-
-static char m_filename[FILENAME_MAX];
-static char m_fullName[FILENAME_MAX];
-
-
-
-/*======================================================================*/
-
-static struct obj_file *arch_new_file(void)
-{
- struct arch_file *f;
- f = xmalloc(sizeof(*f));
-
- memset(f, 0, sizeof(*f));
-
- return &f->root;
-}
-
-static struct obj_section *arch_new_section(void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-static struct obj_symbol *arch_new_symbol(void)
-{
- struct arch_symbol *sym;
- sym = xmalloc(sizeof(*sym));
-
- memset(sym, 0, sizeof(*sym));
-
- return &sym->root;
-}
-
-static enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- ElfW(RelM) *rel, ElfW(Addr) v)
-{
- struct arch_file *ifile = (struct arch_file *) f;
- enum obj_reloc ret = obj_reloc_ok;
- ElfW(Addr) *loc = (ElfW(Addr) *) (targsec->contents + rel->r_offset);
- ElfW(Addr) dot = targsec->header.sh_addr + rel->r_offset;
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
- struct arch_symbol *isym = (struct arch_symbol *) sym;
-#endif
-#if defined(BB_USE_GOT_ENTRIES)
- ElfW(Addr) got = ifile->got ? ifile->got->header.sh_addr : 0;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- ElfW(Addr) plt = ifile->plt ? ifile->plt->header.sh_addr : 0;
- unsigned long *ip;
-#if defined(BB_USE_PLT_LIST)
- struct arch_list_entry *pe;
-#else
- struct arch_single_entry *pe;
-#endif
-#endif
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-
-#if defined(__arm__)
- case R_ARM_NONE:
- break;
-
- case R_ARM_ABS32:
- *loc += v;
- break;
-
- case R_ARM_GOT32:
- goto bb_use_got;
-
- case R_ARM_GOTPC:
- /* relative reloc, always to _GLOBAL_OFFSET_TABLE_
- * (which is .got) similar to branch,
- * but is full 32 bits relative */
-
- assert(got);
- *loc += got - dot;
- break;
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- goto bb_use_plt;
-
- case R_ARM_GOTOFF: /* address relative to the got */
- assert(got);
- *loc += v - got;
- break;
-
-#elif defined(__i386__)
-
- case R_386_NONE:
- break;
-
- case R_386_32:
- *loc += v;
- break;
-
- case R_386_PLT32:
- case R_386_PC32:
- *loc += v - dot;
- break;
-
- case R_386_GLOB_DAT:
- case R_386_JMP_SLOT:
- *loc = v;
- break;
-
- case R_386_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_386_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-
- case R_386_GOT32:
- goto bb_use_got;
-
- case R_386_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
-#elif defined(__x86_64__)
-
- case R_X86_64_NONE:
- break;
-
- case R_X86_64_64:
- *loc += v;
- break;
-
- case R_X86_64_32:
- *(unsigned int *) loc += v;
- break;
-
- case R_X86_64_32S:
- *(signed int *) loc += v;
- break;
-
- case R_X86_64_16:
- *(unsigned short *) loc += v;
- break;
-
- case R_X86_64_8:
- *(unsigned char *) loc += v;
- break;
-
- case R_X86_64_PC32:
- *(unsigned int *) loc += v - dot;
- break;
-
- case R_X86_64_PC16:
- *(unsigned short *) loc += v - dot;
- break;
-
- case R_X86_64_PC8:
- *(unsigned char *) loc += v - dot;
- break;
-
- case R_X86_64_GLOB_DAT:
- case R_X86_64_JUMP_SLOT:
- *loc = v;
- break;
-
- case R_X86_64_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_X86_64_GOT32:
- case R_X86_64_GOTPCREL:
- goto bb_use_got;
-
-#elif defined(__mc68000__)
-
- case R_68K_NONE:
- break;
-
- case R_68K_32:
- *loc += v;
- break;
-
- case R_68K_8:
- if (v > 0xff) {
- ret = obj_reloc_overflow;
- }
- *(char *)loc = v;
- break;
-
- case R_68K_16:
- if (v > 0xffff) {
- ret = obj_reloc_overflow;
- }
- *(short *)loc = v;
- break;
-
- case R_68K_PC8:
- v -= dot;
- if ((Elf32_Sword)v > 0x7f ||
- (Elf32_Sword)v < -(Elf32_Sword)0x80) {
- ret = obj_reloc_overflow;
- }
- *(char *)loc = v;
- break;
-
- case R_68K_PC16:
- v -= dot;
- if ((Elf32_Sword)v > 0x7fff ||
- (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
- ret = obj_reloc_overflow;
- }
- *(short *)loc = v;
- break;
-
- case R_68K_PC32:
- *(int *)loc = v - dot;
- break;
-
- case R_68K_GLOB_DAT:
- case R_68K_JMP_SLOT:
- *loc = v;
- break;
-
- case R_68K_RELATIVE:
- *(int *)loc += f->baseaddr;
- break;
-
- case R_68K_GOT32:
- goto bb_use_got;
-
- case R_68K_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
-#elif defined(__mips__)
-
- case R_MIPS_NONE:
- break;
-
- case R_MIPS_32:
- *loc += v;
- break;
-
- case R_MIPS_26:
- if (v % 4)
- ret = obj_reloc_dangerous;
- if ((v & 0xf0000000) != ((dot + 4) & 0xf0000000))
- ret = obj_reloc_overflow;
- *loc =
- (*loc & ~0x03ffffff) | ((*loc + (v >> 2)) &
- 0x03ffffff);
- break;
-
- case R_MIPS_HI16:
- {
- struct mips_hi16 *n;
-
- /* We cannot relocate this one now because we don't know the value
- of the carry we need to add. Save the information, and let LO16
- do the actual relocation. */
- n = (struct mips_hi16 *) xmalloc(sizeof *n);
- n->addr = loc;
- n->value = v;
- n->next = ifile->mips_hi16_list;
- ifile->mips_hi16_list = n;
- break;
- }
-
- case R_MIPS_LO16:
- {
- unsigned long insnlo = *loc;
- Elf32_Addr val, vallo;
-
- /* Sign extend the addend we extract from the lo insn. */
- vallo = ((insnlo & 0xffff) ^ 0x8000) - 0x8000;
-
- if (ifile->mips_hi16_list != NULL) {
- struct mips_hi16 *l;
-
- l = ifile->mips_hi16_list;
- while (l != NULL) {
- struct mips_hi16 *next;
- unsigned long insn;
-
- /* The value for the HI16 had best be the same. */
- assert(v == l->value);
-
- /* Do the HI16 relocation. Note that we actually don't
- need to know anything about the LO16 itself, except where
- to find the low 16 bits of the addend needed by the LO16. */
- insn = *l->addr;
- val =
- ((insn & 0xffff) << 16) +
- vallo;
- val += v;
-
- /* Account for the sign extension that will happen in the
- low bits. */
- val =
- ((val >> 16) +
- ((val & 0x8000) !=
- 0)) & 0xffff;
-
- insn = (insn & ~0xffff) | val;
- *l->addr = insn;
-
- next = l->next;
- free(l);
- l = next;
- }
-
- ifile->mips_hi16_list = NULL;
- }
-
- /* Ok, we're done with the HI16 relocs. Now deal with the LO16. */
- val = v + vallo;
- insnlo = (insnlo & ~0xffff) | (val & 0xffff);
- *loc = insnlo;
- break;
- }
-
-#elif defined(__powerpc__)
-
- case R_PPC_ADDR16_HA:
- *(unsigned short *)loc = (v + 0x8000) >> 16;
- break;
-
- case R_PPC_ADDR16_HI:
- *(unsigned short *)loc = v >> 16;
- break;
-
- case R_PPC_ADDR16_LO:
- *(unsigned short *)loc = v;
- break;
-
- case R_PPC_REL24:
- goto bb_use_plt;
-
- case R_PPC_REL32:
- *loc = v - dot;
- break;
-
- case R_PPC_ADDR32:
- *loc = v;
- break;
-
-#elif defined(__sh__)
-
- case R_SH_NONE:
- break;
-
- case R_SH_DIR32:
- *loc += v;
- break;
-
- case R_SH_REL32:
- *loc += v - dot;
- break;
-
- case R_SH_PLT32:
- *loc = v - dot;
- break;
-
- case R_SH_GLOB_DAT:
- case R_SH_JMP_SLOT:
- *loc = v;
- break;
-
- case R_SH_RELATIVE:
- *loc = f->baseaddr + rel->r_addend;
- break;
-
- case R_SH_GOTPC:
- assert(got != 0);
- *loc = got - dot + rel->r_addend;
- break;
-
- case R_SH_GOT32:
- goto bb_use_got;
-
- case R_SH_GOTOFF:
- assert(got != 0);
- *loc = v - got;
- break;
-
-#endif
-
- default:
- printf("Warning: unhandled reloc %d\n",(int)ELF32_R_TYPE(rel->r_info));
- ret = obj_reloc_unhandled;
- break;
-
-#if defined(BB_USE_PLT_ENTRIES)
-
- bb_use_plt:
-
- /* find the plt entry and initialize it if necessary */
- assert(isym != NULL);
-
-#if defined(BB_USE_PLT_LIST)
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend;)
- pe = pe->next;
- assert(pe != NULL);
-#else
- pe = &isym->pltent;
-#endif
-
- if (! pe->inited) {
- ip = (unsigned long *) (ifile->plt->contents + pe->offset);
-
- /* generate some machine code */
-
-#if defined(__arm__)
- ip[0] = 0xe51ff004; /* ldr pc,[pc,#-4] */
- ip[1] = v; /* sym@ */
-#endif
-#if defined(__powerpc__)
- ip[0] = 0x3d600000 + ((v + 0x8000) >> 16); /* lis r11,sym@ha */
- ip[1] = 0x396b0000 + (v & 0xffff); /* addi r11,r11,sym@l */
- ip[2] = 0x7d6903a6; /* mtctr r11 */
- ip[3] = 0x4e800420; /* bctr */
-#endif
- pe->inited = 1;
- }
-
- /* relative distance to target */
- v -= dot;
- /* if the target is too far away.... */
- if ((int)v < -0x02000000 || (int)v >= 0x02000000) {
- /* go via the plt */
- v = plt + pe->offset - dot;
- }
- if (v & 3)
- ret = obj_reloc_dangerous;
-
- /* merge the offset into the instruction. */
-#if defined(__arm__)
- /* Convert to words. */
- v >>= 2;
-
- *loc = (*loc & ~0x00ffffff) | ((v + *loc) & 0x00ffffff);
-#endif
-#if defined(__powerpc__)
- *loc = (*loc & ~0x03fffffc) | (v & 0x03fffffc);
-#endif
- break;
-#endif /* BB_USE_PLT_ENTRIES */
-
-#if defined(BB_USE_GOT_ENTRIES)
- bb_use_got:
-
- assert(isym != NULL);
- /* needs an entry in the .got: set it, once */
- if (!isym->gotent.inited) {
- isym->gotent.inited = 1;
- *(ElfW(Addr) *) (ifile->got->contents + isym->gotent.offset) = v;
- }
- /* make the reloc with_respect_to_.got */
-#if defined(__sh__)
- *loc += isym->gotent.offset + rel->r_addend;
-#elif defined(__i386__) || defined(__arm__) || defined(__mc68000__)
- *loc += isym->gotent.offset;
-#elif defined(__x86_64__)
- /* XXX are these really correct? */
- if (ELF64_R_TYPE(rel->r_info) == R_X86_64_GOTPCREL)
- *(unsigned int *) loc += v + isym->gotent.offset;
- else
- *loc += isym->gotent.offset;
-#endif
- break;
-
-#endif /* BB_USE_GOT_ENTRIES */
- }
-
- return ret;
-}
-
-#if defined(BB_USE_LIST)
-
-static int arch_list_add(ElfW(RelM) *rel, struct arch_list_entry **list,
- int offset, int size)
-{
- struct arch_list_entry *pe;
-
- for (pe = *list; pe != NULL; pe = pe->next) {
- if (pe->addend == rel->r_addend) {
- break;
- }
- }
-
- if (pe == NULL) {
- pe = xmalloc(sizeof(struct arch_list_entry));
- pe->next = *list;
- pe->addend = rel->r_addend;
- pe->offset = offset;
- pe->inited = 0;
- *list = pe;
- return size;
- }
- return 0;
-}
-
-#endif
-
-#if defined(BB_USE_SINGLE)
-
-static int arch_single_init(ElfW(RelM) *rel, struct arch_single_entry *single,
- int offset, int size)
-{
- if (single->allocated == 0) {
- single->allocated = 1;
- single->offset = offset;
- single->inited = 0;
- return size;
- }
- return 0;
-}
-
-#endif
-
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
-
-static struct obj_section *arch_xsect_init(struct obj_file *f, char *name,
- int offset, int size)
-{
- struct obj_section *myrelsec = obj_find_section(f, name);
-
- if (offset == 0) {
- offset += size;
- }
-
- if (myrelsec) {
- obj_extend_section(myrelsec, offset);
- } else {
- myrelsec = obj_create_alloced_section(f, name,
- size, offset);
- assert(myrelsec);
- }
-
- return myrelsec;
-}
-
-#endif
-
-static void arch_create_got(struct obj_file *f)
-{
-#if defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES)
- struct arch_file *ifile = (struct arch_file *) f;
- int i;
-#if defined(BB_USE_GOT_ENTRIES)
- int got_offset = 0, got_needed = 0, got_allocate;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- int plt_offset = 0, plt_needed = 0, plt_allocate;
-#endif
- struct obj_section *relsec, *symsec, *strsec;
- ElfW(RelM) *rel, *relend;
- ElfW(Sym) *symtab, *extsym;
- const char *strtab, *name;
- struct arch_symbol *intsym;
-
- for (i = 0; i < f->header.e_shnum; ++i) {
- relsec = f->sections[i];
-
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- strsec = f->sections[symsec->header.sh_link];
-
- rel = (ElfW(RelM) *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) symsec->contents;
- strtab = (const char *) strsec->contents;
-
- for (; rel < relend; ++rel) {
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
-
-#if defined(BB_USE_GOT_ENTRIES)
- got_allocate = 0;
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- plt_allocate = 0;
-#endif
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-
-#if defined(__arm__)
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- plt_allocate = 1;
- break;
-
- case R_ARM_GOTOFF:
- case R_ARM_GOTPC:
- got_needed = 1;
- continue;
-
- case R_ARM_GOT32:
- got_allocate = 1;
- break;
-
-#elif defined(__i386__)
-
- case R_386_GOTPC:
- case R_386_GOTOFF:
- got_needed = 1;
- continue;
-
- case R_386_GOT32:
- got_allocate = 1;
- break;
-
-#elif defined(__x86_64__)
-
- case R_X86_64_GOTPCREL:
- case R_X86_64_GOT32:
- got_needed = 1;
- continue;
-
-#elif defined(__powerpc__)
-
- case R_PPC_REL24:
- plt_allocate = 1;
- break;
-
-#elif defined(__mc68000__)
-
- case R_68K_GOT32:
- got_allocate = 1;
- break;
-
- case R_68K_GOTOFF:
- got_needed = 1;
- continue;
-
-#elif defined(__sh__)
-
- case R_SH_GOT32:
- got_allocate = 1;
- break;
-
- case R_SH_GOTPC:
- case R_SH_GOTOFF:
- got_needed = 1;
- continue;
-
-#endif
- default:
- continue;
- }
-
- if (extsym->st_name != 0) {
- name = strtab + extsym->st_name;
- } else {
- name = f->sections[extsym->st_shndx]->name;
- }
- intsym = (struct arch_symbol *) obj_find_symbol(f, name);
-#if defined(BB_USE_GOT_ENTRIES)
- if (got_allocate) {
- got_offset += arch_single_init(
- rel, &intsym->gotent,
- got_offset, BB_GOT_ENTRY_SIZE);
-
- got_needed = 1;
- }
-#endif
-#if defined(BB_USE_PLT_ENTRIES)
- if (plt_allocate) {
-#if defined(BB_USE_PLT_LIST)
- plt_offset += arch_list_add(
- rel, &intsym->pltent,
- plt_offset, BB_PLT_ENTRY_SIZE);
-#else
- plt_offset += arch_single_init(
- rel, &intsym->pltent,
- plt_offset, BB_PLT_ENTRY_SIZE);
-#endif
- plt_needed = 1;
- }
-#endif
- }
- }
-
-#if defined(BB_USE_GOT_ENTRIES)
- if (got_needed) {
- ifile->got = arch_xsect_init(f, ".got", got_offset,
- BB_GOT_ENTRY_SIZE);
- }
-#endif
-
-#if defined(BB_USE_PLT_ENTRIES)
- if (plt_needed) {
- ifile->plt = arch_xsect_init(f, ".plt", plt_offset,
- BB_PLT_ENTRY_SIZE);
- }
-#endif
-
-#endif /* defined(BB_USE_GOT_ENTRIES) || defined(BB_USE_PLT_ENTRIES) */
-}
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int arch_init_module(struct obj_file *f, struct new_module *mod)
-{
- return 1;
-}
-#endif
-
-
-/*======================================================================*/
-
-/* Standard ELF hash function. */
-static inline unsigned long obj_elf_hash_n(const char *name, unsigned long n)
-{
- unsigned long h = 0;
- unsigned long g;
- unsigned char ch;
-
- while (n > 0) {
- ch = *name++;
- h = (h << 4) + ch;
- if ((g = (h & 0xf0000000)) != 0) {
- h ^= g >> 24;
- h &= ~g;
- }
- n--;
- }
- return h;
-}
-
-static unsigned long obj_elf_hash(const char *name)
-{
- return obj_elf_hash_n(name, strlen(name));
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-/* String comparison for non-co-versioned kernel and module. */
-
-static int ncv_strcmp(const char *a, const char *b)
-{
- size_t alen = strlen(a), blen = strlen(b);
-
- if (blen == alen + 10 && b[alen] == '_' && b[alen + 1] == 'R')
- return strncmp(a, b, alen);
- else if (alen == blen + 10 && a[blen] == '_' && a[blen + 1] == 'R')
- return strncmp(a, b, blen);
- else
- return strcmp(a, b);
-}
-
-/* String hashing for non-co-versioned kernel and module. Here
- we are simply forced to drop the crc from the hash. */
-
-static unsigned long ncv_symbol_hash(const char *str)
-{
- size_t len = strlen(str);
- if (len > 10 && str[len - 10] == '_' && str[len - 9] == 'R')
- len -= 10;
- return obj_elf_hash_n(str, len);
-}
-
-static void
-obj_set_symbol_compare(struct obj_file *f,
- int (*cmp) (const char *, const char *),
- unsigned long (*hash) (const char *))
-{
- if (cmp)
- f->symbol_cmp = cmp;
- if (hash) {
- struct obj_symbol *tmptab[HASH_BUCKETS], *sym, *next;
- int i;
-
- f->symbol_hash = hash;
-
- memcpy(tmptab, f->symtab, sizeof(tmptab));
- memset(f->symtab, 0, sizeof(f->symtab));
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- for (sym = tmptab[i]; sym; sym = next) {
- unsigned long h = hash(sym->name) % HASH_BUCKETS;
- next = sym->next;
- sym->next = f->symtab[h];
- f->symtab[h] = sym;
- }
- }
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-static struct obj_symbol *
-obj_add_symbol(struct obj_file *f, const char *name,
- unsigned long symidx, int info,
- int secidx, ElfW(Addr) value,
- unsigned long size)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
- int n_type = ELFW(ST_TYPE) (info);
- int n_binding = ELFW(ST_BIND) (info);
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0) {
- int o_secidx = sym->secidx;
- int o_info = sym->info;
- int o_type = ELFW(ST_TYPE) (o_info);
- int o_binding = ELFW(ST_BIND) (o_info);
-
- /* A redefinition! Is it legal? */
-
- if (secidx == SHN_UNDEF)
- return sym;
- else if (o_secidx == SHN_UNDEF)
- goto found;
- else if (n_binding == STB_GLOBAL && o_binding == STB_LOCAL) {
- /* Cope with local and global symbols of the same name
- in the same object file, as might have been created
- by ld -r. The only reason locals are now seen at this
- level at all is so that we can do semi-sensible things
- with parameters. */
-
- struct obj_symbol *nsym, **p;
-
- nsym = arch_new_symbol();
- nsym->next = sym->next;
- nsym->ksymidx = -1;
-
- /* Excise the old (local) symbol from the hash chain. */
- for (p = &f->symtab[hash]; *p != sym; p = &(*p)->next)
- continue;
- *p = sym = nsym;
- goto found;
- } else if (n_binding == STB_LOCAL) {
- /* Another symbol of the same name has already been defined.
- Just add this to the local table. */
- sym = arch_new_symbol();
- sym->next = NULL;
- sym->ksymidx = -1;
- f->local_symtab[symidx] = sym;
- goto found;
- } else if (n_binding == STB_WEAK)
- return sym;
- else if (o_binding == STB_WEAK)
- goto found;
- /* Don't unify COMMON symbols with object types the programmer
- doesn't expect. */
- else if (secidx == SHN_COMMON
- && (o_type == STT_NOTYPE || o_type == STT_OBJECT))
- return sym;
- else if (o_secidx == SHN_COMMON
- && (n_type == STT_NOTYPE || n_type == STT_OBJECT))
- goto found;
- else {
- /* Don't report an error if the symbol is coming from
- the kernel or some external module. */
- if (secidx <= SHN_HIRESERVE)
- error_msg("%s multiply defined", name);
- return sym;
- }
- }
-
- /* Completely new symbol. */
- sym = arch_new_symbol();
- sym->next = f->symtab[hash];
- f->symtab[hash] = sym;
- sym->ksymidx = -1;
-
- if (ELFW(ST_BIND)(info) == STB_LOCAL && symidx != -1) {
- if (symidx >= f->local_symtab_size)
- error_msg("local symbol %s with index %ld exceeds local_symtab_size %ld",
- name, (long) symidx, (long) f->local_symtab_size);
- else
- f->local_symtab[symidx] = sym;
- }
-
- found:
- sym->name = name;
- sym->value = value;
- sym->size = size;
- sym->secidx = secidx;
- sym->info = info;
-
- return sym;
-}
-
-static struct obj_symbol *
-obj_find_symbol(struct obj_file *f, const char *name)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- return sym;
-
- return NULL;
-}
-
-static ElfW(Addr)
- obj_symbol_final_value(struct obj_file * f, struct obj_symbol * sym)
-{
- if (sym) {
- if (sym->secidx >= SHN_LORESERVE)
- return sym->value;
-
- return sym->value + f->sections[sym->secidx]->header.sh_addr;
- } else {
- /* As a special case, a NULL sym has value zero. */
- return 0;
- }
-}
-
-static struct obj_section *obj_find_section(struct obj_file *f, const char *name)
-{
- int i, n = f->header.e_shnum;
-
- for (i = 0; i < n; ++i)
- if (strcmp(f->sections[i]->name, name) == 0)
- return f->sections[i];
-
- return NULL;
-}
-
-static int obj_load_order_prio(struct obj_section *a)
-{
- unsigned long af, ac;
-
- af = a->header.sh_flags;
-
- ac = 0;
- if (a->name[0] != '.' || strlen(a->name) != 10 ||
- strcmp(a->name + 5, ".init"))
- ac |= 32;
- if (af & SHF_ALLOC)
- ac |= 16;
- if (!(af & SHF_WRITE))
- ac |= 8;
- if (af & SHF_EXECINSTR)
- ac |= 4;
- if (a->header.sh_type != SHT_NOBITS)
- ac |= 2;
-
- return ac;
-}
-
-static void
-obj_insert_section_load_order(struct obj_file *f, struct obj_section *sec)
-{
- struct obj_section **p;
- int prio = obj_load_order_prio(sec);
- for (p = f->load_order_search_start; *p; p = &(*p)->load_next)
- if (obj_load_order_prio(*p) < prio)
- break;
- sec->load_next = *p;
- *p = sec;
-}
-
-static struct obj_section *obj_create_alloced_section(struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-static struct obj_section *obj_create_alloced_section_first(struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- sec->load_next = f->load_order;
- f->load_order = sec;
- if (f->load_order_search_start == &f->load_order)
- f->load_order_search_start = &sec->load_next;
-
- return sec;
-}
-
-static void *obj_extend_section(struct obj_section *sec, unsigned long more)
-{
- unsigned long oldsize = sec->header.sh_size;
- if (more) {
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
- }
- return sec->contents + oldsize;
-}
-
-
-/* Conditionally add the symbols from the given symbol set to the
- new module. */
-
-static int
-add_symbols_from(
- struct obj_file *f,
- int idx, struct new_module_symbol *syms, size_t nsyms)
-{
- struct new_module_symbol *s;
- size_t i;
- int used = 0;
-
- for (i = 0, s = syms; i < nsyms; ++i, ++s) {
-
- /* Only add symbols that are already marked external. If we
- override locals we may cause problems for argument initialization.
- We will also create a false dependency on the module. */
- struct obj_symbol *sym;
-
- sym = obj_find_symbol(f, (char *) s->name);
- if (sym && !ELFW(ST_BIND) (sym->info) == STB_LOCAL) {
- sym = obj_add_symbol(f, (char *) s->name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- idx, s->value, 0);
- /* Did our symbol just get installed? If so, mark the
- module as "used". */
- if (sym->secidx == idx)
- used = 1;
- }
- }
-
- return used;
-}
-
-static void add_kernel_symbols(struct obj_file *f)
-{
- struct external_module *m;
- int i, nused = 0;
-
- /* Add module symbols first. */
-
- for (i = 0, m = ext_modules; i < n_ext_modules; ++i, ++m)
- if (m->nsyms
- && add_symbols_from(f, SHN_HIRESERVE + 2 + i, m->syms,
- m->nsyms)) m->used = 1, ++nused;
-
- n_ext_modules_used = nused;
-
- /* And finally the symbols from the kernel proper. */
-
- if (nksyms)
- add_symbols_from(f, SHN_HIRESERVE + 1, ksyms, nksyms);
-}
-
-static char *get_modinfo_value(struct obj_file *f, const char *key)
-{
- struct obj_section *sec;
- char *p, *v, *n, *ep;
- size_t klen = strlen(key);
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL)
- return NULL;
- p = sec->contents;
- ep = p + sec->header.sh_size;
- while (p < ep) {
- v = strchr(p, '=');
- n = strchr(p, '\0');
- if (v) {
- if (p + klen == v && strncmp(p, key, klen) == 0)
- return v + 1;
- } else {
- if (p + klen == n && strcmp(p, key) == 0)
- return n;
- }
- p = n + 1;
- }
-
- return NULL;
-}
-
-
-/*======================================================================*/
-/* Functions relating to module loading in pre 2.1 kernels. */
-
-static int
-old_process_module_arguments(struct obj_file *f, int argc, char **argv)
-{
- while (argc > 0) {
- char *p, *q;
- struct obj_symbol *sym;
- int *loc;
-
- p = *argv;
- if ((q = strchr(p, '=')) == NULL) {
- argc--;
- continue;
- }
- *q++ = '\0';
-
- sym = obj_find_symbol(f, p);
-
- /* Also check that the parameter was not resolved from the kernel. */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- error_msg("symbol for parameter %s not found", p);
- return 0;
- }
-
- loc = (int *) (f->sections[sym->secidx]->contents + sym->value);
-
- /* Do C quoting if we begin with a ". */
- if (*q == '"') {
- char *r, *str;
-
- str = alloca(strlen(q));
- for (r = str, q++; *q != '"'; ++q, ++r) {
- if (*q == '\0') {
- error_msg("improperly terminated string argument for %s", p);
- return 0;
- } else if (*q == '\\')
- switch (*++q) {
- case 'a':
- *r = '\a';
- break;
- case 'b':
- *r = '\b';
- break;
- case 'e':
- *r = '\033';
- break;
- case 'f':
- *r = '\f';
- break;
- case 'n':
- *r = '\n';
- break;
- case 'r':
- *r = '\r';
- break;
- case 't':
- *r = '\t';
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- int c = *q - '0';
- if (q[1] >= '0' && q[1] <= '7') {
- c = (c * 8) + *++q - '0';
- if (q[1] >= '0' && q[1] <= '7')
- c = (c * 8) + *++q - '0';
- }
- *r = c;
- }
- break;
-
- default:
- *r = *q;
- break;
- } else
- *r = *q;
- }
- *r = '\0';
- obj_string_patch(f, sym->secidx, sym->value, str);
- } else if (*q >= '0' && *q <= '9') {
- do
- *loc++ = strtoul(q, &q, 0);
- while (*q++ == ',');
- } else {
- char *contents = f->sections[sym->secidx]->contents;
- char *myloc = contents + sym->value;
- char *r; /* To search for commas */
-
- /* Break the string with comas */
- while ((r = strchr(q, ',')) != (char *) NULL) {
- *r++ = '\0';
- obj_string_patch(f, sym->secidx, myloc - contents, q);
- myloc += sizeof(char *);
- q = r;
- }
-
- /* last part */
- obj_string_patch(f, sym->secidx, myloc - contents, q);
- }
-
- argc--, argv++;
- }
-
- return 1;
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static int old_is_module_checksummed(struct obj_file *f)
-{
- return obj_find_symbol(f, "Using_Versions") != NULL;
-}
-/* Get the module's kernel version in the canonical integer form. */
-
-static int
-old_get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- struct obj_symbol *sym;
- char *p, *q;
- int a, b, c;
-
- sym = obj_find_symbol(f, "kernel_version");
- if (sym == NULL)
- return -1;
-
- p = f->sections[sym->secidx]->contents + sym->value;
- safe_strncpy(str, p, STRVERSIONLEN);
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-#ifdef BB_FEATURE_OLD_MODULE_INTERFACE
-
-/* Fetch all the symbols and divvy them up as appropriate for the modules. */
-
-static int old_get_kernel_symbols(const char *m_name)
-{
- struct old_kernel_sym *ks, *k;
- struct new_module_symbol *s;
- struct external_module *mod;
- int nks, nms, nmod, i;
-
- nks = get_kernel_syms(NULL);
- if (nks <= 0) {
- if (nks)
- perror_msg("get_kernel_syms: %s", m_name);
- else
- error_msg("No kernel symbols");
- return 0;
- }
-
- ks = k = xmalloc(nks * sizeof(*ks));
-
- if (get_kernel_syms(ks) != nks) {
- perror("inconsistency with get_kernel_syms -- is someone else "
- "playing with modules?");
- free(ks);
- return 0;
- }
-
- /* Collect the module information. */
-
- mod = NULL;
- nmod = -1;
-
- while (k->name[0] == '#' && k->name[1]) {
- struct old_kernel_sym *k2;
-
- /* Find out how many symbols this module has. */
- for (k2 = k + 1; k2->name[0] != '#'; ++k2)
- continue;
- nms = k2 - k - 1;
-
- mod = xrealloc(mod, (++nmod + 1) * sizeof(*mod));
- mod[nmod].name = k->name + 1;
- mod[nmod].addr = k->value;
- mod[nmod].used = 0;
- mod[nmod].nsyms = nms;
- mod[nmod].syms = s = (nms ? xmalloc(nms * sizeof(*s)) : NULL);
-
- for (i = 0, ++k; i < nms; ++i, ++s, ++k) {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- }
-
- k = k2;
- }
-
- ext_modules = mod;
- n_ext_modules = nmod + 1;
-
- /* Now collect the symbols for the kernel proper. */
-
- if (k->name[0] == '#')
- ++k;
-
- nksyms = nms = nks - (k - ks);
- ksyms = s = (nms ? xmalloc(nms * sizeof(*s)) : NULL);
-
- for (i = 0; i < nms; ++i, ++s, ++k) {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- }
-
- return 1;
-}
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-
-static int old_is_kernel_checksummed(void)
-{
- /* Using_Versions is the first symbol. */
- if (nksyms > 0
- && strcmp((char *) ksyms[0].name,
- "Using_Versions") == 0) return ksyms[0].value;
- else
- return 0;
-}
-
-
-static int old_create_mod_use_count(struct obj_file *f)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".moduse", sizeof(long),
- sizeof(long));
-
- obj_add_symbol(f, "mod_use_count_", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT), sec->idx, 0,
- sizeof(long));
-
- return 1;
-}
-
-static int
-old_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- char *image;
- struct old_mod_routines routines;
- struct old_symbol_table *symtab;
- int ret;
-
- /* Create the symbol table */
- {
- int nsyms = 0, strsize = 0, total;
-
- /* Size things first... */
- if (flag_export) {
- int i;
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE)
- {
- sym->ksymidx = nsyms++;
- strsize += strlen(sym->name) + 1;
- }
- }
- }
-
- total = (sizeof(struct old_symbol_table)
- + nsyms * sizeof(struct old_module_symbol)
- + n_ext_modules_used * sizeof(struct old_module_ref)
- + strsize);
- symtab = xmalloc(total);
- symtab->size = total;
- symtab->n_symbols = nsyms;
- symtab->n_refs = n_ext_modules_used;
-
- if (flag_export && nsyms) {
- struct old_module_symbol *ksym;
- char *str;
- int i;
-
- ksym = symtab->symbol;
- str = ((char *) ksym + nsyms * sizeof(struct old_module_symbol)
- + n_ext_modules_used * sizeof(struct old_module_ref));
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->ksymidx >= 0) {
- ksym->addr = obj_symbol_final_value(f, sym);
- ksym->name =
- (unsigned long) str - (unsigned long) symtab;
-
- strcpy(str, sym->name);
- str += strlen(sym->name) + 1;
- ksym++;
- }
- }
- }
-
- if (n_ext_modules_used) {
- struct old_module_ref *ref;
- int i;
-
- ref = (struct old_module_ref *)
- ((char *) symtab->symbol + nsyms * sizeof(struct old_module_symbol));
-
- for (i = 0; i < n_ext_modules; ++i)
- if (ext_modules[i].used)
- ref++->module = ext_modules[i].addr;
- }
- }
-
- /* Fill in routines. */
-
- routines.init =
- obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- routines.cleanup =
- obj_symbol_final_value(f, obj_find_symbol(f, "cleanup_module"));
-
- /* Whew! All of the initialization is complete. Collect the final
- module image and give it to the kernel. */
-
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- /* image holds the complete relocated module, accounting correctly for
- mod_use_count. However the old module kernel support assume that
- it is receiving something which does not contain mod_use_count. */
- ret = old_sys_init_module(m_name, image + sizeof(long),
- m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN
- : 0), &routines, symtab);
- if (ret)
- perror_msg("init_module: %s", m_name);
-
- free(image);
- free(symtab);
-
- return ret == 0;
-}
-
-#else
-
-#define old_create_mod_use_count(x) TRUE
-#define old_init_module(x, y, z) TRUE
-
-#endif /* BB_FEATURE_OLD_MODULE_INTERFACE */
-
-
-
-/*======================================================================*/
-/* Functions relating to module loading after 2.1.18. */
-
-static int
-new_process_module_arguments(struct obj_file *f, int argc, char **argv)
-{
- while (argc > 0) {
- char *p, *q, *key;
- struct obj_symbol *sym;
- char *contents, *loc;
- int min, max, n;
-
- p = *argv;
- if ((q = strchr(p, '=')) == NULL) {
- argc--;
- continue;
- }
-
- key = alloca(q - p + 6);
- memcpy(key, "parm_", 5);
- memcpy(key + 5, p, q - p);
- key[q - p + 5] = 0;
-
- p = get_modinfo_value(f, key);
- key += 5;
- if (p == NULL) {
- error_msg("invalid parameter %s", key);
- return 0;
- }
-
- sym = obj_find_symbol(f, key);
-
- /* Also check that the parameter was not resolved from the kernel. */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- error_msg("symbol for parameter %s not found", key);
- return 0;
- }
-
- if (isdigit(*p)) {
- min = strtoul(p, &p, 10);
- if (*p == '-')
- max = strtoul(p + 1, &p, 10);
- else
- max = min;
- } else
- min = max = 1;
-
- contents = f->sections[sym->secidx]->contents;
- loc = contents + sym->value;
- n = (*++q != '\0');
-
- while (1) {
- if ((*p == 's') || (*p == 'c')) {
- char *str;
-
- /* Do C quoting if we begin with a ", else slurp the lot. */
- if (*q == '"') {
- char *r;
-
- str = alloca(strlen(q));
- for (r = str, q++; *q != '"'; ++q, ++r) {
- if (*q == '\0') {
- error_msg("improperly terminated string argument for %s",
- key);
- return 0;
- } else if (*q == '\\')
- switch (*++q) {
- case 'a':
- *r = '\a';
- break;
- case 'b':
- *r = '\b';
- break;
- case 'e':
- *r = '\033';
- break;
- case 'f':
- *r = '\f';
- break;
- case 'n':
- *r = '\n';
- break;
- case 'r':
- *r = '\r';
- break;
- case 't':
- *r = '\t';
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- {
- int c = *q - '0';
- if (q[1] >= '0' && q[1] <= '7') {
- c = (c * 8) + *++q - '0';
- if (q[1] >= '0' && q[1] <= '7')
- c = (c * 8) + *++q - '0';
- }
- *r = c;
- }
- break;
-
- default:
- *r = *q;
- break;
- } else
- *r = *q;
- }
- *r = '\0';
- ++q;
- } else {
- char *r;
-
- /* In this case, the string is not quoted. We will break
- it using the coma (like for ints). If the user wants to
- include comas in a string, he just has to quote it */
-
- /* Search the next coma */
- r = strchr(q, ',');
-
- /* Found ? */
- if (r != (char *) NULL) {
- /* Recopy the current field */
- str = alloca(r - q + 1);
- memcpy(str, q, r - q);
-
- /* I don't know if it is usefull, as the previous case
- doesn't null terminate the string ??? */
- str[r - q] = '\0';
-
- /* Keep next fields */
- q = r;
- } else {
- /* last string */
- str = q;
- q = "";
- }
- }
-
- if (*p == 's') {
- /* Normal string */
- obj_string_patch(f, sym->secidx, loc - contents, str);
- loc += tgt_sizeof_char_p;
- } else {
- /* Array of chars (in fact, matrix !) */
- unsigned long charssize; /* size of each member */
-
- /* Get the size of each member */
- /* Probably we should do that outside the loop ? */
- if (!isdigit(*(p + 1))) {
- error_msg("parameter type 'c' for %s must be followed by"
- " the maximum size", key);
- return 0;
- }
- charssize = strtoul(p + 1, (char **) NULL, 10);
-
- /* Check length */
- if (strlen(str) >= charssize) {
- error_msg("string too long for %s (max %ld)", key,
- charssize - 1);
- return 0;
- }
-
- /* Copy to location */
- strcpy((char *) loc, str);
- loc += charssize;
- }
- } else {
- long v = strtoul(q, &q, 0);
- switch (*p) {
- case 'b':
- *loc++ = v;
- break;
- case 'h':
- *(short *) loc = v;
- loc += tgt_sizeof_short;
- break;
- case 'i':
- *(int *) loc = v;
- loc += tgt_sizeof_int;
- break;
- case 'l':
- *(long *) loc = v;
- loc += tgt_sizeof_long;
- break;
-
- default:
- error_msg("unknown parameter type '%c' for %s", *p, key);
- return 0;
- }
- }
-
- retry_end_of_value:
- switch (*q) {
- case '\0':
- goto end_of_arg;
-
- case ' ':
- case '\t':
- case '\n':
- case '\r':
- ++q;
- goto retry_end_of_value;
-
- case ',':
- if (++n > max) {
- error_msg("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++q;
- break;
-
- default:
- error_msg("invalid argument syntax for %s", key);
- return 0;
- }
- }
-
- end_of_arg:
- if (n < min) {
- error_msg("too few values for %s (min %d)", key, min);
- return 0;
- }
-
- argc--, argv++;
- }
-
- return 1;
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-static int new_is_module_checksummed(struct obj_file *f)
-{
- const char *p = get_modinfo_value(f, "using_checksums");
- if (p)
- return atoi(p);
- else
- return 0;
-}
-
-/* Get the module's kernel version in the canonical integer form. */
-
-static int
-new_get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- char *p, *q;
- int a, b, c;
-
- p = get_modinfo_value(f, "kernel_version");
- if (p == NULL)
- return -1;
- safe_strncpy(str, p, STRVERSIONLEN);
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
-
- return a << 16 | b << 8 | c;
-}
-
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-
-/* Fetch the loaded modules, and all currently exported symbols. */
-
-static int new_get_kernel_symbols(void)
-{
- char *module_names, *mn;
- struct external_module *modules, *m;
- struct new_module_symbol *syms, *s;
- size_t ret, bufsize, nmod, nsyms, i, j;
-
- /* Collect the loaded modules. */
-
- module_names = xmalloc(bufsize = 256);
- retry_modules_load:
- if (query_module(NULL, QM_MODULES, module_names, bufsize, &ret)) {
- if (errno == ENOSPC && bufsize < ret) {
- module_names = xrealloc(module_names, bufsize = ret);
- goto retry_modules_load;
- }
- perror_msg("QM_MODULES");
- return 0;
- }
-
- n_ext_modules = nmod = ret;
-
- /* Collect the modules' symbols. */
-
- if (nmod){
- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
- memset(modules, 0, nmod * sizeof(*modules));
- for (i = 0, mn = module_names, m = modules;
- i < nmod; ++i, ++m, mn += strlen(mn) + 1) {
- struct new_module_info info;
-
- if (query_module(mn, QM_INFO, &info, sizeof(info), &ret)) {
- if (errno == ENOENT) {
- /* The module was removed out from underneath us. */
- continue;
- }
- perror_msg("query_module: QM_INFO: %s", mn);
- return 0;
- }
-
- syms = xmalloc(bufsize = 1024);
- retry_mod_sym_load:
- if (query_module(mn, QM_SYMBOLS, syms, bufsize, &ret)) {
- switch (errno) {
- case ENOSPC:
- syms = xrealloc(syms, bufsize = ret);
- goto retry_mod_sym_load;
- case ENOENT:
- /* The module was removed out from underneath us. */
- continue;
- default:
- perror_msg("query_module: QM_SYMBOLS: %s", mn);
- return 0;
- }
- }
- nsyms = ret;
-
- m->name = mn;
- m->addr = info.addr;
- m->nsyms = nsyms;
- m->syms = syms;
-
- for (j = 0, s = syms; j < nsyms; ++j, ++s) {
- s->name += (unsigned long) syms;
- }
- }
- }
-
- /* Collect the kernel's symbols. */
-
- syms = xmalloc(bufsize = 16 * 1024);
- retry_kern_sym_load:
- if (query_module(NULL, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno == ENOSPC && bufsize < ret) {
- syms = xrealloc(syms, bufsize = ret);
- goto retry_kern_sym_load;
- }
- perror_msg("kernel: QM_SYMBOLS");
- return 0;
- }
- nksyms = nsyms = ret;
- ksyms = syms;
-
- for (j = 0, s = syms; j < nsyms; ++j, ++s) {
- s->name += (unsigned long) syms;
- }
- return 1;
-}
-
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-
-static int new_is_kernel_checksummed(void)
-{
- struct new_module_symbol *s;
- size_t i;
-
- /* Using_Versions is not the first symbol, but it should be in there. */
-
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s)
- if (strcmp((char *) s->name, "Using_Versions") == 0)
- return s->value;
-
- return 0;
-}
-
-
-static int new_create_this_module(struct obj_file *f, const char *m_name)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- sizeof(struct new_module));
- memset(sec->contents, 0, sizeof(struct new_module));
-
- obj_add_symbol(f, "__this_module", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT), sec->idx, 0,
- sizeof(struct new_module));
-
- obj_string_patch(f, sec->idx, offsetof(struct new_module, name),
- m_name);
-
- return 1;
-}
-
-
-static int new_create_module_ksymtab(struct obj_file *f)
-{
- struct obj_section *sec;
- int i;
-
- /* We must always add the module references. */
-
- if (n_ext_modules_used) {
- struct new_module_ref *dep;
- struct obj_symbol *tm;
-
- sec = obj_create_alloced_section(f, ".kmodtab", tgt_sizeof_void_p,
- (sizeof(struct new_module_ref)
- * n_ext_modules_used));
- if (!sec)
- return 0;
-
- tm = obj_find_symbol(f, "__this_module");
- dep = (struct new_module_ref *) sec->contents;
- for (i = 0; i < n_ext_modules; ++i)
- if (ext_modules[i].used) {
- dep->dep = ext_modules[i].addr;
- obj_symbol_patch(f, sec->idx,
- (char *) &dep->ref - sec->contents, tm);
- dep->next_ref = 0;
- ++dep;
- }
- }
-
- if (flag_export && !obj_find_section(f, "__ksymtab")) {
- size_t nsyms;
- int *loaded;
-
- sec =
- obj_create_alloced_section(f, "__ksymtab", tgt_sizeof_void_p,
- 0);
-
- /* We don't want to export symbols residing in sections that
- aren't loaded. There are a number of these created so that
- we make sure certain module options don't appear twice. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE
- || loaded[sym->secidx])) {
- ElfW(Addr) ofs = nsyms * 2 * tgt_sizeof_void_p;
-
- obj_symbol_patch(f, sec->idx, ofs, sym);
- obj_string_patch(f, sec->idx, ofs + tgt_sizeof_void_p,
- sym->name);
-
- nsyms++;
- }
- }
-
- obj_extend_section(sec, nsyms * 2 * tgt_sizeof_char_p);
- }
-
- return 1;
-}
-
-
-static int
-new_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- struct new_module *module;
- struct obj_section *sec;
- void *image;
- int ret;
- tgt_long m_addr;
-
- sec = obj_find_section(f, ".this");
- if (!sec || !sec->contents) {
- perror_msg("corrupt module %s?",m_name);
- exit(EXIT_FAILURE);
- }
- module = (struct new_module *) sec->contents;
- m_addr = sec->header.sh_addr;
-
- module->size_of_struct = sizeof(*module);
- module->size = m_size;
- module->flags = flag_autoclean ? NEW_MOD_AUTOCLEAN : 0;
-
- sec = obj_find_section(f, "__ksymtab");
- if (sec && sec->header.sh_size) {
- module->syms = sec->header.sh_addr;
- module->nsyms = sec->header.sh_size / (2 * tgt_sizeof_char_p);
- }
-
- if (n_ext_modules_used) {
- sec = obj_find_section(f, ".kmodtab");
- module->deps = sec->header.sh_addr;
- module->ndeps = n_ext_modules_used;
- }
-
- module->init =
- obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- module->cleanup =
- obj_symbol_final_value(f, obj_find_symbol(f, "cleanup_module"));
-
- sec = obj_find_section(f, "__ex_table");
- if (sec) {
- module->ex_table_start = sec->header.sh_addr;
- module->ex_table_end = sec->header.sh_addr + sec->header.sh_size;
- }
-
- sec = obj_find_section(f, ".text.init");
- if (sec) {
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ".data.init");
- if (sec) {
- if (!module->runsize ||
- module->runsize > sec->header.sh_addr - m_addr)
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->archdata_start = (void*)sec->header.sh_addr;
- module->archdata_end = module->archdata_start + sec->header.sh_size;
- }
- sec = obj_find_section(f, KALLSYMS_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->kallsyms_start = (void*)sec->header.sh_addr;
- module->kallsyms_end = module->kallsyms_start + sec->header.sh_size;
- }
-
- if (!arch_init_module(f, module))
- return 0;
-
- /* Whew! All of the initialization is complete. Collect the final
- module image and give it to the kernel. */
-
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- ret = new_sys_init_module(m_name, (struct new_module *) image);
- if (ret)
- perror_msg("init_module: %s", m_name);
-
- free(image);
-
- return ret == 0;
-}
-
-#else
-
-#define new_init_module(x, y, z) TRUE
-#define new_create_this_module(x, y) 0
-#define new_create_module_ksymtab(x)
-#define query_module(v, w, x, y, z) -1
-
-#endif /* BB_FEATURE_NEW_MODULE_INTERFACE */
-
-
-/*======================================================================*/
-
-static int
-obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string)
-{
- struct obj_string_patch *p;
- struct obj_section *strsec;
- size_t len = strlen(string) + 1;
- char *loc;
-
- p = xmalloc(sizeof(*p));
- p->next = f->string_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- f->string_patches = p;
-
- strsec = obj_find_section(f, ".kstrtab");
- if (strsec == NULL) {
- strsec = obj_create_alloced_section(f, ".kstrtab", 1, len);
- p->string_offset = 0;
- loc = strsec->contents;
- } else {
- p->string_offset = strsec->header.sh_size;
- loc = obj_extend_section(strsec, len);
- }
- memcpy(loc, string, len);
-
- return 1;
-}
-
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
-static int
-obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym)
-{
- struct obj_symbol_patch *p;
-
- p = xmalloc(sizeof(*p));
- p->next = f->symbol_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- p->sym = sym;
- f->symbol_patches = p;
-
- return 1;
-}
-#endif
-
-static int obj_check_undefineds(struct obj_file *f)
-{
- unsigned long i;
- int ret = 1;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx == SHN_UNDEF) {
- if (ELFW(ST_BIND) (sym->info) == STB_WEAK) {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- } else {
- if (!flag_quiet) {
- error_msg("unresolved symbol %s", sym->name);
- }
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-static void obj_allocate_commons(struct obj_file *f)
-{
- struct common_entry {
- struct common_entry *next;
- struct obj_symbol *sym;
- } *common_head = NULL;
-
- unsigned long i;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx == SHN_COMMON) {
- /* Collect all COMMON symbols and sort them by size so as to
- minimize space wasted by alignment requirements. */
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p; p = &(*p)->next)
- if (sym->size <= (*p)->sym->size)
- break;
-
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- }
- }
- }
-
- for (i = 1; i < f->local_symtab_size; ++i) {
- struct obj_symbol *sym = f->local_symtab[i];
- if (sym && sym->secidx == SHN_COMMON) {
- struct common_entry **p, *n;
- for (p = &common_head; *p; p = &(*p)->next)
- if (sym == (*p)->sym)
- break;
- else if (sym->size < (*p)->sym->size) {
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- break;
- }
- }
- }
-
- if (common_head) {
- /* Find the bss section. */
- for (i = 0; i < f->header.e_shnum; ++i)
- if (f->sections[i]->header.sh_type == SHT_NOBITS)
- break;
-
- /* If for some reason there hadn't been one, create one. */
- if (i == f->header.e_shnum) {
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (i + 1) * sizeof(sec));
- f->sections[i] = sec = arch_new_section();
- f->header.e_shnum = i + 1;
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
- sec->name = ".bss";
- sec->idx = i;
- }
-
- /* Allocate the COMMONS. */
- {
- ElfW(Addr) bss_size = f->sections[i]->header.sh_size;
- ElfW(Addr) max_align = f->sections[i]->header.sh_addralign;
- struct common_entry *c;
-
- for (c = common_head; c; c = c->next) {
- ElfW(Addr) align = c->sym->value;
-
- if (align > max_align)
- max_align = align;
- if (bss_size & (align - 1))
- bss_size = (bss_size | (align - 1)) + 1;
-
- c->sym->secidx = i;
- c->sym->value = bss_size;
-
- bss_size += c->sym->size;
- }
-
- f->sections[i]->header.sh_size = bss_size;
- f->sections[i]->header.sh_addralign = max_align;
- }
- }
-
- /* For the sake of patch relocation and parameter initialization,
- allocate zeroed data for NOBITS sections now. Note that after
- this we cannot assume NOBITS are really empty. */
- for (i = 0; i < f->header.e_shnum; ++i) {
- struct obj_section *s = f->sections[i];
- if (s->header.sh_type == SHT_NOBITS) {
- if (s->header.sh_size != 0)
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- else
- s->contents = NULL;
-
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-}
-
-static unsigned long obj_load_size(struct obj_file *f)
-{
- unsigned long dot = 0;
- struct obj_section *sec;
-
- /* Finalize the positions of the sections relative to one another. */
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- ElfW(Addr) align;
-
- align = sec->header.sh_addralign;
- if (align && (dot & (align - 1)))
- dot = (dot | (align - 1)) + 1;
-
- sec->header.sh_addr = dot;
- dot += sec->header.sh_size;
- }
-
- return dot;
-}
-
-static int obj_relocate(struct obj_file *f, ElfW(Addr) base)
-{
- int i, n = f->header.e_shnum;
- int ret = 1;
-
- /* Finalize the addresses of the sections. */
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
-
- /* And iterate over all of the relocations. */
-
- for (i = 0; i < n; ++i) {
- struct obj_section *relsec, *symsec, *targsec, *strsec;
- ElfW(RelM) * rel, *relend;
- ElfW(Sym) * symtab;
- const char *strtab;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- targsec = f->sections[relsec->header.sh_info];
- strsec = f->sections[symsec->header.sh_link];
-
- rel = (ElfW(RelM) *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) symsec->contents;
- strtab = (const char *) strsec->contents;
-
- for (; rel < relend; ++rel) {
- ElfW(Addr) value = 0;
- struct obj_symbol *intsym = NULL;
- unsigned long symndx;
- ElfW(Sym) * extsym = 0;
- const char *errmsg;
-
- /* Attempt to find a value to use for this relocation. */
-
- symndx = ELFW(R_SYM) (rel->r_info);
- if (symndx) {
- /* Note we've already checked for undefined symbols. */
-
- extsym = &symtab[symndx];
- if (ELFW(ST_BIND) (extsym->st_info) == STB_LOCAL) {
- /* Local symbols we look up in the local table to be sure
- we get the one that is really intended. */
- intsym = f->local_symtab[symndx];
- } else {
- /* Others we look up in the hash table. */
- const char *name;
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = obj_find_symbol(f, name);
- }
-
- value = obj_symbol_final_value(f, intsym);
- intsym->referenced = 1;
- }
-#if SHT_RELM == SHT_RELA
-#if defined(__alpha__) && defined(AXP_BROKEN_GAS)
- /* Work around a nasty GAS bug, that is fixed as of 2.7.0.9. */
- if (!extsym || !extsym->st_name ||
- ELFW(ST_BIND) (extsym->st_info) != STB_LOCAL)
-#endif
- value += rel->r_addend;
-#endif
-
- /* Do it! */
- switch (arch_apply_relocation
- (f, targsec, symsec, intsym, rel, value)) {
- case obj_reloc_ok:
- break;
-
- case obj_reloc_overflow:
- errmsg = "Relocation overflow";
- goto bad_reloc;
- case obj_reloc_dangerous:
- errmsg = "Dangerous relocation";
- goto bad_reloc;
- case obj_reloc_unhandled:
- errmsg = "Unhandled relocation";
- bad_reloc:
- if (extsym) {
- error_msg("%s of type %ld for %s", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info),
- strtab + extsym->st_name);
- } else {
- error_msg("%s of type %ld", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info));
- }
- ret = 0;
- break;
- }
- }
- }
-
- /* Finally, take care of the patches. */
-
- if (f->string_patches) {
- struct obj_string_patch *p;
- struct obj_section *strsec;
- ElfW(Addr) strsec_base;
- strsec = obj_find_section(f, ".kstrtab");
- strsec_base = strsec->header.sh_addr;
-
- for (p = f->string_patches; p; p = p->next) {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *) (targsec->contents + p->reloc_offset)
- = strsec_base + p->string_offset;
- }
- }
-
- if (f->symbol_patches) {
- struct obj_symbol_patch *p;
-
- for (p = f->symbol_patches; p; p = p->next) {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *) (targsec->contents + p->reloc_offset)
- = obj_symbol_final_value(f, p->sym);
- }
- }
-
- return ret;
-}
-
-static int obj_create_image(struct obj_file *f, char *image)
-{
- struct obj_section *sec;
- ElfW(Addr) base = f->baseaddr;
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- char *secimg;
-
- if (sec->contents == 0 || sec->header.sh_size == 0)
- continue;
-
- secimg = image + (sec->header.sh_addr - base);
-
- /* Note that we allocated data for NOBITS sections earlier. */
- memcpy(secimg, sec->contents, sec->header.sh_size);
- }
-
- return 1;
-}
-
-/*======================================================================*/
-
-static struct obj_file *obj_load(FILE * fp, int loadprogbits)
-{
- struct obj_file *f;
- ElfW(Shdr) * section_headers;
- int shnum, i;
- char *shstrtab;
-
- /* Read the file header. */
-
- f = arch_new_file();
- memset(f, 0, sizeof(*f));
- f->symbol_cmp = strcmp;
- f->symbol_hash = obj_elf_hash;
- f->load_order_search_start = &f->load_order;
-
- fseek(fp, 0, SEEK_SET);
- if (fread(&f->header, sizeof(f->header), 1, fp) != 1) {
- perror_msg("error reading ELF header");
- return NULL;
- }
-
- if (f->header.e_ident[EI_MAG0] != ELFMAG0
- || f->header.e_ident[EI_MAG1] != ELFMAG1
- || f->header.e_ident[EI_MAG2] != ELFMAG2
- || f->header.e_ident[EI_MAG3] != ELFMAG3) {
- error_msg("not an ELF file");
- return NULL;
- }
- if (f->header.e_ident[EI_CLASS] != ELFCLASSM
- || f->header.e_ident[EI_DATA] != ELFDATAM
- || f->header.e_ident[EI_VERSION] != EV_CURRENT
- || !MATCH_MACHINE(f->header.e_machine)) {
- error_msg("ELF file not for this architecture");
- return NULL;
- }
- if (f->header.e_type != ET_REL) {
- error_msg("ELF file not a relocatable object");
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr))) {
- error_msg("section header size mismatch: %lu != %lu",
- (unsigned long) f->header.e_shentsize,
- (unsigned long) sizeof(ElfW(Shdr)));
- return NULL;
- }
-
- shnum = f->header.e_shnum;
- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-
- section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- fseek(fp, f->header.e_shoff, SEEK_SET);
- if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) {
- perror_msg("error reading ELF section headers");
- return NULL;
- }
-
- /* Read the section data. */
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec;
-
- f->sections[i] = sec = arch_new_section();
- memset(sec, 0, sizeof(*sec));
-
- sec->header = section_headers[i];
- sec->idx = i;
-
- if(sec->header.sh_size) switch (sec->header.sh_type) {
- case SHT_NULL:
- case SHT_NOTE:
- case SHT_NOBITS:
- /* ignore */
- break;
-
- case SHT_PROGBITS:
-#if LOADBITS
- if (!loadprogbits) {
- sec->contents = NULL;
- break;
- }
-#endif
- case SHT_SYMTAB:
- case SHT_STRTAB:
- case SHT_RELM:
- if (sec->header.sh_size > 0) {
- sec->contents = xmalloc(sec->header.sh_size);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- perror_msg("error reading ELF section data");
- return NULL;
- }
- } else {
- sec->contents = NULL;
- }
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- error_msg("RELA relocations not supported on this architecture");
- return NULL;
-#else
- case SHT_REL:
- error_msg("REL relocations not supported on this architecture");
- return NULL;
-#endif
-
- default:
- if (sec->header.sh_type >= SHT_LOPROC) {
- /* Assume processor specific section types are debug
- info and can safely be ignored. If this is ever not
- the case (Hello MIPS?), don't put ifdefs here but
- create an arch_load_proc_section(). */
- break;
- }
-
- error_msg("can't handle sections of type %ld",
- (long) sec->header.sh_type);
- return NULL;
- }
- }
-
- /* Do what sort of interpretation as needed by each section. */
-
- shstrtab = f->sections[f->header.e_shstrndx]->contents;
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec = f->sections[i];
- sec->name = shstrtab + sec->header.sh_name;
- }
-
- for (i = 0; i < shnum; ++i) {
- struct obj_section *sec = f->sections[i];
-
- /* .modinfo should be contents only but gcc has no attribute for that.
- * The kernel may have marked .modinfo as ALLOC, ignore this bit.
- */
- if (strcmp(sec->name, ".modinfo") == 0)
- sec->header.sh_flags &= ~SHF_ALLOC;
-
- if (sec->header.sh_flags & SHF_ALLOC)
- obj_insert_section_load_order(f, sec);
-
- switch (sec->header.sh_type) {
- case SHT_SYMTAB:
- {
- unsigned long nsym, j;
- char *strtab;
- ElfW(Sym) * sym;
-
- if (sec->header.sh_entsize != sizeof(ElfW(Sym))) {
- error_msg("symbol size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(Sym)));
- return NULL;
- }
-
- nsym = sec->header.sh_size / sizeof(ElfW(Sym));
- strtab = f->sections[sec->header.sh_link]->contents;
- sym = (ElfW(Sym) *) sec->contents;
-
- /* Allocate space for a table of local symbols. */
- j = f->local_symtab_size = sec->header.sh_info;
- f->local_symtab = xcalloc(j, sizeof(struct obj_symbol *));
-
- /* Insert all symbols into the hash table. */
- for (j = 1, ++sym; j < nsym; ++j, ++sym) {
- const char *name;
- if (sym->st_name)
- name = strtab + sym->st_name;
- else
- name = f->sections[sym->st_shndx]->name;
-
- obj_add_symbol(f, name, j, sym->st_info, sym->st_shndx,
- sym->st_value, sym->st_size);
- }
- }
- break;
-
- case SHT_RELM:
- if (sec->header.sh_entsize != sizeof(ElfW(RelM))) {
- error_msg("relocation entry size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(RelM)));
- return NULL;
- }
- break;
- /* XXX Relocation code from modutils-2.3.19 is not here.
- * Why? That's about 20 lines of code from obj/obj_load.c,
- * which gets done in a second pass through the sections.
- * This BusyBox insmod does similar work in obj_relocate(). */
- }
- }
-
- return f;
-}
-
-#ifdef BB_FEATURE_INSMOD_LOADINKMEM
-/*
- * load the unloaded sections directly into the memory allocated by
- * kernel for the module
- */
-
-static int obj_load_progbits(FILE * fp, struct obj_file* f, char* imagebase)
-{
- ElfW(Addr) base = f->baseaddr;
- struct obj_section* sec;
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
-
- /* section already loaded? */
- if (sec->contents != NULL)
- continue;
-
- if (sec->header.sh_size == 0)
- continue;
-
- sec->contents = imagebase + (sec->header.sh_addr - base);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- error_msg("error reading ELF section data: %s\n", strerror(errno));
- return 0;
- }
-
- }
- return 1;
-}
-#endif
-
-static void hide_special_symbols(struct obj_file *f)
-{
- static const char *const specials[] = {
- "cleanup_module",
- "init_module",
- "kernel_version",
- NULL
- };
-
- struct obj_symbol *sym;
- const char *const *p;
-
- for (p = specials; *p; ++p)
- if ((sym = obj_find_symbol(f, *p)) != NULL)
- sym->info =
- ELFW(ST_INFO) (STB_LOCAL, ELFW(ST_TYPE) (sym->info));
-}
-
-#ifdef BB_FEATURE_INSMOD_CHECK_TAINTED
-static int obj_gpl_license(struct obj_file *f, const char **license)
-{
- struct obj_section *sec;
- /* This list must match *exactly* the list of allowable licenses in
- * linux/include/linux/module.h. Checking for leading "GPL" will not
- * work, somebody will use "GPL sucks, this is proprietary".
- */
- static const char *gpl_licenses[] = {
- "GPL",
- "GPL v2",
- "GPL and additional rights",
- "Dual BSD/GPL",
- "Dual MPL/GPL",
- };
-
- if ((sec = obj_find_section(f, ".modinfo"))) {
- const char *value, *ptr, *endptr;
- ptr = sec->contents;
- endptr = ptr + sec->header.sh_size;
- while (ptr < endptr) {
- if ((value = strchr(ptr, '=')) && strncmp(ptr, "license", value-ptr) == 0) {
- int i;
- if (license)
- *license = value+1;
- for (i = 0; i < sizeof(gpl_licenses)/sizeof(gpl_licenses[0]); ++i) {
- if (strcmp(value+1, gpl_licenses[i]) == 0)
- return(0);
- }
- return(2);
- }
- if (strchr(ptr, '\0'))
- ptr = strchr(ptr, '\0') + 1;
- else
- ptr = endptr;
- }
- }
- return(1);
-}
-
-#define TAINT_FILENAME "/proc/sys/kernel/tainted"
-#define TAINT_PROPRIETORY_MODULE (1<<0)
-#define TAINT_FORCED_MODULE (1<<1)
-#define TAINT_UNSAFE_SMP (1<<2)
-#define TAINT_URL "http://www.tux.org/lkml/#export-tainted"
-
-static void set_tainted(struct obj_file *f, int fd, char *m_name,
- int kernel_has_tainted, int taint, const char *text1, const char *text2)
-{
- char buf[80];
- int oldval;
- static int first = 1;
- if (fd < 0 && !kernel_has_tainted)
- return; /* New modutils on old kernel */
- printf("Warning: loading %s will taint the kernel: %s%s\n",
- m_name, text1, text2);
- if (first) {
- printf(" See %s for information about tainted modules\n", TAINT_URL);
- first = 0;
- }
- if (fd >= 0) {
- read(fd, buf, sizeof(buf)-1);
- buf[sizeof(buf)-1] = '\0';
- oldval = strtoul(buf, NULL, 10);
- sprintf(buf, "%d\n", oldval | taint);
- write(fd, buf, strlen(buf));
- }
-}
-#endif
-
-/* Check if loading this module will taint the kernel. */
-static void check_tainted_module(struct obj_file *f, char *m_name)
-{
-#ifdef BB_FEATURE_INSMOD_CHECK_TAINTED
- static const char tainted_file[] = TAINT_FILENAME;
- int fd, kernel_has_tainted;
- const char *ptr;
-
- kernel_has_tainted = 1;
- if ((fd = open(tainted_file, O_RDWR)) < 0) {
- if (errno == ENOENT)
- kernel_has_tainted = 0;
- else if (errno == EACCES)
- kernel_has_tainted = 1;
- else {
- perror(tainted_file);
- kernel_has_tainted = 0;
- }
- }
-
- switch (obj_gpl_license(f, &ptr)) {
- case 0:
- break;
- case 1:
- set_tainted(f, fd, m_name, kernel_has_tainted, TAINT_PROPRIETORY_MODULE, "no license", "");
- break;
- case 2:
- /* The module has a non-GPL license so we pretend that the
- * kernel always has a taint flag to get a warning even on
- * kernels without the proc flag.
- */
- set_tainted(f, fd, m_name, 1, TAINT_PROPRIETORY_MODULE, "non-GPL license - ", ptr);
- break;
- default:
- set_tainted(f, fd, m_name, 1, TAINT_PROPRIETORY_MODULE, "Unexpected return from obj_gpl_license", "");
- break;
- }
-
- if (flag_force_load)
- set_tainted(f, fd, m_name, 1, TAINT_FORCED_MODULE, "forced load", "");
-
- if (fd >= 0)
- close(fd);
-#endif
-}
-
-void my_usage(void)
-{
- printf("Usage.");
- exit(0);
-}
-
-extern int insmod_main( int argc, char **argv)
-{
- int k_crcs;
- int k_new_syscalls;
- int len;
- char *tmp;
- unsigned long m_size;
- ElfW(Addr) m_addr;
- FILE *fp;
- struct obj_file *f;
- char m_name[FILENAME_MAX] = "\0";
- int exit_status = EXIT_FAILURE;
- int m_has_modinfo;
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- struct utsname uts_info;
- char m_strversion[STRVERSIONLEN];
- int m_version;
- int m_crcs;
-#endif
-
- if (argc <= 1)
- my_usage();
-
- argv++; argc--;
-
- /* Grab the module name */
- if ((tmp = strrchr(*argv, '/')) != NULL) {
- tmp++;
- } else {
- tmp = *argv;
- }
- len = strlen(tmp);
-
- if (len > 2 && tmp[len - 2] == '.' && tmp[len - 1] == 'o')
- len -= 2;
- memcpy(m_name, tmp, len);
- strcpy(m_fullName, m_name);
- strcat(m_fullName, ".o");
-
- /* Get a filedesc for the module. Check we we have a complete path */
- if ((fp = fopen(*argv, "r")) == NULL) {
- errorMsg("Module %s not found", *argv);
- return -1;
- } else
- memcpy(m_filename, *argv, strlen(*argv));
-
-
- if ((f = obj_load(fp, LOADBITS)) == NULL) {
- logperror("Could not load the module");
- goto out;
- }
-
- if (get_modinfo_value(f, "kernel_version") == NULL)
- m_has_modinfo = 0;
- else
- m_has_modinfo = 1;
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- /* Version correspondence? */
- if (!flag_quiet) {
- if (uname(&uts_info) < 0)
- uts_info.release[0] = '\0';
- if (m_has_modinfo) {
- m_version = new_get_module_version(f, m_strversion);
- } else {
- m_version = old_get_module_version(f, m_strversion);
- if (m_version == -1) {
- error_msg("couldn't find the kernel version the module was "
- "compiled for");
- goto out;
- }
- }
-
- if (strncmp(uts_info.release, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- error_msg("Warning: kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s",
- m_filename, m_strversion, uts_info.release);
- } else {
- error_msg("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- m_filename, m_strversion, uts_info.release);
- goto out;
- }
- }
- }
- k_crcs = 0;
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
- k_new_syscalls = !query_module(NULL, 0, NULL, 0, NULL);
-
- if (k_new_syscalls) {
-#ifdef BB_FEATURE_NEW_MODULE_INTERFACE
- if (!new_get_kernel_symbols())
- goto out;
- k_crcs = new_is_kernel_checksummed();
-#else
- error_msg("Not configured to support new kernels");
- goto out;
-#endif
- } else {
-#ifdef BB_FEATURE_OLD_MODULE_INTERFACE
- if (!old_get_kernel_symbols(m_name))
- goto out;
- k_crcs = old_is_kernel_checksummed();
-#else
- error_msg("Not configured to support old kernels");
- goto out;
-#endif
- }
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- if (m_has_modinfo)
- m_crcs = new_is_module_checksummed(f);
- else
- m_crcs = old_is_module_checksummed(f);
-
- if (m_crcs != k_crcs)
- obj_set_symbol_compare(f, ncv_strcmp, ncv_symbol_hash);
-#endif /* BB_FEATURE_INSMOD_VERSION_CHECKING */
-
- /* Let the module know about the kernel symbols. */
- add_kernel_symbols(f);
-
- /* Allocate common symbols, symbol tables, and string tables. */
-
- if (k_new_syscalls
- ? !new_create_this_module(f, m_name)
- : !old_create_mod_use_count(f))
- {
- goto out;
- }
-
- if (!obj_check_undefineds(f)) {
- goto out;
- }
- obj_allocate_commons(f);
- check_tainted_module(f, m_name);
-
- if (m_has_modinfo
- ? !new_process_module_arguments(f, argc - 1, argv + 1)
- : !old_process_module_arguments(f, argc - 1, argv + 1))
- {
- goto out;
- }
-
- arch_create_got(f);
- hide_special_symbols(f);
-
- if (k_new_syscalls)
- new_create_module_ksymtab(f);
-
- /* Find current size of the module */
- m_size = obj_load_size(f);
-
-
- m_addr = create_module(m_name, m_size);
- if (m_addr==-1) switch (errno) {
- case EEXIST:
- error_msg("A module named %s already exists", m_name);
- goto out;
- case ENOMEM:
- error_msg("Can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- perror_msg("create_module: %s", m_name);
- goto out;
- }
-
-#if !LOADBITS
- /*
- * the PROGBITS section was not loaded by the obj_load
- * now we can load them directly into the kernel memory
- */
- if (!obj_load_progbits(fp, f, (char*)m_addr)) {
- delete_module(m_name);
- goto out;
- }
-#endif
-
- if (!obj_relocate(f, m_addr)) {
- delete_module(m_name);
- goto out;
- }
-
- if (k_new_syscalls
- ? !new_init_module(m_name, f, m_size)
- : !old_init_module(m_name, f, m_size))
- {
- delete_module(m_name);
- goto out;
- }
-
- exit_status = EXIT_SUCCESS;
-
-out:
- fclose(fp);
- return(exit_status);
-}
-
-int insmod_call(char * full_filename, char * params)
-{
- int argc = 2;
- char *argv[50];
- char * ptr = params;
- argv[0] = "stage1";
- argv[1] = full_filename;
-
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
-
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-busybox/loop.h b/mdk-stage1/insmod-busybox/loop.h
deleted file mode 100644
index cba8c6b2b..000000000
--- a/mdk-stage1/insmod-busybox/loop.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/posix_types.h>
-#undef dev_t
-#define dev_t __kernel_dev_t
-#include <linux/loop.h>
-#undef dev_t
diff --git a/mdk-stage1/insmod-busybox/messages.c b/mdk-stage1/insmod-busybox/messages.c
deleted file mode 100644
index 81fd9c75c..000000000
--- a/mdk-stage1/insmod-busybox/messages.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Copyright (C) 2000 by BitterSweet Enterprises, LLC.
- * Written by Karl M. Hegbloom <karlheg@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/*
- * Let's put all of these messages in one place, and link this in as
- * a separate object module, so that there are not going to be
- * multiple non-unique but very similar strings in the binary.
- * Perhaps this will make it simpler to internationalize also, and
- * may make the binary slightly smaller.
- */
-
-// To use this header file, include something like this:
-//
-//#define BB_DECLARE_EXTERN
-//#define bb_need_memory_exhausted
-//#include "messages.c"
-//
-//Then just use the string memory_exhausted when it is needed.
-//
-
-#include "busybox.h"
-#ifndef _BB_MESSAGES_C
-#define _BB_MESSAGES_C
-
-#ifdef BB_DECLARE_EXTERN
-# define BB_DEF_MESSAGE(symbol, string_const) extern const char *symbol;
-#else
-# define BB_DEF_MESSAGE(symbol, string_const) const char *symbol = string_const;
-#endif
-
-
-#if defined bb_need_full_version || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(full_version,
- "BusyBox v" BB_VER " (" BB_BT ") multi-call binary -- GPL2")
-#endif
-#if defined bb_need_name_too_long || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(name_too_long, "file name too long\n")
-#endif
-#if defined bb_need_omitting_directory || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(omitting_directory, "%s: omitting directory\n")
-#endif
-#if defined bb_need_not_a_directory || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(not_a_directory, "%s: not a directory\n")
-#endif
-#if defined bb_need_memory_exhausted || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(memory_exhausted, "memory exhausted\n")
-#endif
-#if defined bb_need_invalid_date || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(invalid_date, "invalid date `%s'\n")
-#endif
-#if defined bb_need_invalid_option || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(invalid_option, "invalid option -- %c\n")
-#endif
-#if defined bb_need_io_error || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(io_error, "%s: input/output error -- %s\n")
-#endif
-#if defined bb_need_help || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(dash_dash_help, "--help")
-#endif
-#if defined bb_need_write_error || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(write_error, "Write Error\n")
-#endif
-#if defined bb_need_too_few_args || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(too_few_args, "too few arguments\n")
-#endif
-#if defined bb_need_name_longer_then_foo || ! defined BB_DECLARE_EXTERN
- BB_DEF_MESSAGE(name_longer_then_foo, "Names longer then %d chars not supported.\n")
-#endif
-
-
-#endif /* _BB_MESSAGES_C */
-
diff --git a/mdk-stage1/insmod-busybox/utility.c b/mdk-stage1/insmod-busybox/utility.c
deleted file mode 100644
index ffd323347..000000000
--- a/mdk-stage1/insmod-busybox/utility.c
+++ /dev/null
@@ -1,1759 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Utility routines.
- *
- * Copyright (C) tons of folks. Tracking down who wrote what
- * isn't something I'm going to worry about... If you wrote something
- * here, please feel free to acknowledge your work.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
- * Permission has been granted to redistribute this code under the GPL.
- *
- */
-
-#include "busybox.h"
-#if defined (BB_CHMOD_CHOWN_CHGRP) \
- || defined (BB_CP_MV) \
- || defined (BB_FIND) \
- || defined (BB_INSMOD) \
- || defined (BB_LS) \
- || defined (BB_RM) \
- || defined (BB_TAR)
-/* same conditions as recursiveAction */
-#define bb_need_name_too_long
-#endif
-#define bb_need_memory_exhausted
-#define bb_need_full_version
-#define BB_DECLARE_EXTERN
-#include "messages.c"
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <time.h>
-#include <utime.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h> /* for uname(2) */
-
-/* Busybox mount uses either /proc/filesystems or /dev/mtab to get the
- * list of available filesystems used for the -t auto option */
-#if defined BB_FEATURE_USE_PROCFS && defined BB_FEATURE_USE_DEVPS_PATCH
-//#error Sorry, but busybox can't use both /proc and /dev/ps at the same time -- Pick one and try again.
-#error "Sorry, but busybox can't use both /proc and /dev/ps at the same time -- Pick one and try again."
-#endif
-
-
-#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF
-# if defined BB_MTAB
-const char mtab_file[] = "/etc/mtab";
-# else
-# if defined BB_FEATURE_USE_PROCFS
-const char mtab_file[] = "/proc/mounts";
-# else
-# if defined BB_FEATURE_USE_DEVPS_PATCH
-const char mtab_file[] = "/dev/mtab";
-# else
-# error With (BB_MOUNT||BB_UMOUNT||BB_DF) defined, you must define either BB_MTAB or ( BB_FEATURE_USE_PROCFS | BB_FEATURE_USE_DEVPS_PATCH)
-# endif
-# endif
-# endif
-#endif
-
-#ifdef _STANDALONE_
-void errorMsg(const char *s, ...)
-{
- va_list p;
-
- fflush(stdout);
- printf("busybox: ");
- va_start(p, s);
- vprintf(s, p);
- va_end(p);
- printf("\n");
- fflush(stdout);
-}
-
-extern void logperror(char *s)
-{
- perror(s);
-}
-
-void fatalError(const char *s, ...)
-{
- va_list p;
-
- fflush(stdout);
- fprintf(stdout, "busybox: ");
- va_start(p, s);
- vfprintf(stdout, s, p);
- va_end(p);
- fprintf(stdout, "\n");
- fflush(stdout);
- exit(FALSE);
-}
-#else /* _STANDALONE_ */
-#include "../log.h"
-extern void errorMsg(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-
-extern void logperror(char *s)
-{
- log_perror(s);
-}
-
-extern void fatalError(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
- while (1);
-}
-#endif /* _STANDALONE_ */
-
-
-#if defined BB_INIT
-/* Returns kernel version encoded as major*65536 + minor*256 + patch,
- * so, for example, to check if the kernel is greater than 2.2.11:
- * if (get_kernel_revision() <= 2*65536+2*256+11) { <stuff> }
- */
-extern int get_kernel_revision(void)
-{
- struct utsname name;
- int major = 0, minor = 0, patch = 0;
-
- if (uname(&name) == -1) {
- perror("cannot get system information");
- return (0);
- }
- sscanf(name.version, "%d.%d.%d", &major, &minor, &patch);
- return major * 65536 + minor * 256 + patch;
-}
-#endif /* BB_INIT */
-
-
-
-#if defined BB_FREE || defined BB_INIT || defined BB_UNAME || defined BB_UPTIME
-_syscall1(int, sysinfo, struct sysinfo *, info);
-#endif /* BB_INIT */
-
-#if defined BB_MOUNT || defined BB_UMOUNT
-
-#ifndef __NR_umount2
-#define __NR_umount2 52
-#endif
-
-/* Include our own version of <sys/mount.h>, since libc5 doesn't
- * know about umount2 */
-extern _syscall1(int, umount, const char *, special_file);
-extern _syscall2(int, umount2, const char *, special_file, int, flags);
-extern _syscall5(int, mount, const char *, special_file, const char *, dir,
- const char *, fstype, unsigned long int, rwflag, const void *, data);
-#endif
-
-#if defined BB_INSMOD || defined BB_LSMOD
-#ifndef __NR_query_module
-#define __NR_query_module 167
-#endif
-_syscall5(int, query_module, const char *, name, int, which,
- void *, buf, size_t, bufsize, size_t*, ret);
-#endif
-
-
-#if defined (BB_CP_MV) || defined (BB_DU)
-
-#define HASH_SIZE 311 /* Should be prime */
-#define hash_inode(i) ((i) % HASH_SIZE)
-
-static ino_dev_hashtable_bucket_t *ino_dev_hashtable[HASH_SIZE];
-
-/*
- * Return 1 if statbuf->st_ino && statbuf->st_dev are recorded in
- * `ino_dev_hashtable', else return 0
- *
- * If NAME is a non-NULL pointer to a character pointer, and there is
- * a match, then set *NAME to the value of the name slot in that
- * bucket.
- */
-int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name)
-{
- ino_dev_hashtable_bucket_t *bucket;
-
- bucket = ino_dev_hashtable[hash_inode(statbuf->st_ino)];
- while (bucket != NULL) {
- if ((bucket->ino == statbuf->st_ino) &&
- (bucket->dev == statbuf->st_dev))
- {
- if (name) *name = bucket->name;
- return 1;
- }
- bucket = bucket->next;
- }
- return 0;
-}
-
-/* Add statbuf to statbuf hash table */
-void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
-{
- int i;
- size_t s;
- ino_dev_hashtable_bucket_t *bucket;
-
- i = hash_inode(statbuf->st_ino);
- s = name ? strlen(name) : 0;
- bucket = xmalloc(sizeof(ino_dev_hashtable_bucket_t) + s);
- bucket->ino = statbuf->st_ino;
- bucket->dev = statbuf->st_dev;
- if (name)
- strcpy(bucket->name, name);
- else
- bucket->name[0] = '\0';
- bucket->next = ino_dev_hashtable[i];
- ino_dev_hashtable[i] = bucket;
-}
-
-/* Clear statbuf hash table */
-void reset_ino_dev_hashtable(void)
-{
- int i;
- ino_dev_hashtable_bucket_t *bucket;
-
- for (i = 0; i < HASH_SIZE; i++) {
- while (ino_dev_hashtable[i] != NULL) {
- bucket = ino_dev_hashtable[i]->next;
- free(ino_dev_hashtable[i]);
- ino_dev_hashtable[i] = bucket;
- }
- }
-}
-
-#endif /* BB_CP_MV || BB_DU */
-
-#if defined (BB_CP_MV) || defined (BB_DU) || defined (BB_LN) || defined (BB_AR)
-/*
- * Return TRUE if a fileName is a directory.
- * Nonexistant files return FALSE.
- */
-int isDirectory(const char *fileName, const int followLinks, struct stat *statBuf)
-{
- int status;
- int didMalloc = 0;
-
- if (statBuf == NULL) {
- statBuf = (struct stat *)xmalloc(sizeof(struct stat));
- ++didMalloc;
- }
-
- if (followLinks == TRUE)
- status = stat(fileName, statBuf);
- else
- status = lstat(fileName, statBuf);
-
- if (status < 0 || !(S_ISDIR(statBuf->st_mode))) {
- status = FALSE;
- }
- else status = TRUE;
-
- if (didMalloc) {
- free(statBuf);
- statBuf = NULL;
- }
- return status;
-}
-#endif
-
-#if defined (BB_AR) || defined BB_CP_MV
-/*
- * Copy readSize bytes between two file descriptors
- */
-int copySubFile(int srcFd, int dstFd, size_t remaining)
-{
- size_t size;
- char buffer[BUFSIZ];
-
- while (remaining > 0) {
- if (remaining > BUFSIZ)
- size = BUFSIZ;
- else
- size = remaining;
- if (fullWrite(dstFd, buffer, fullRead(srcFd, buffer, size)) < size)
- return(FALSE);
- remaining -= size;
- }
- return (TRUE);
-}
-#endif
-
-
-#if defined (BB_CP_MV)
-/*
- * Copy one file to another, while possibly preserving its modes, times, and
- * modes. Returns TRUE if successful, or FALSE on a failure with an error
- * message output. (Failure is not indicated if attributes cannot be set.)
- * -Erik Andersen
- */
-int
-copyFile(const char *srcName, const char *destName,
- int setModes, int followLinks, int forceFlag)
-{
- int rfd;
- int wfd;
- int status;
- struct stat srcStatBuf;
- struct stat dstStatBuf;
- struct utimbuf times;
-
- if (followLinks == TRUE)
- status = stat(srcName, &srcStatBuf);
- else
- status = lstat(srcName, &srcStatBuf);
-
- if (status < 0) {
- perror(srcName);
- return FALSE;
- }
-
- if (followLinks == TRUE)
- status = stat(destName, &dstStatBuf);
- else
- status = lstat(destName, &dstStatBuf);
-
- if (status < 0 || forceFlag==TRUE) {
- unlink(destName);
- dstStatBuf.st_ino = -1;
- dstStatBuf.st_dev = -1;
- }
-
- if ((srcStatBuf.st_dev == dstStatBuf.st_dev) &&
- (srcStatBuf.st_ino == dstStatBuf.st_ino)) {
- errorMsg("Copying file \"%s\" to itself\n", srcName);
- return FALSE;
- }
-
- if (S_ISDIR(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying directory %s to %s\n", srcName, destName);
- /* Make sure the directory is writable */
- status = mkdir(destName, 0777777 ^ umask(0));
- if (status < 0 && errno != EEXIST) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISLNK(srcStatBuf.st_mode)) {
- char link_val[BUFSIZ + 1];
- int link_size;
-
- //fprintf(stderr, "copying link %s to %s\n", srcName, destName);
- /* Warning: This could possibly truncate silently, to BUFSIZ chars */
- link_size = readlink(srcName, &link_val[0], BUFSIZ);
- if (link_size < 0) {
- perror(srcName);
- return FALSE;
- }
- link_val[link_size] = '\0';
- status = symlink(link_val, destName);
- if (status < 0) {
- perror(destName);
- return FALSE;
- }
-#if (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)
- if (setModes == TRUE) {
- /* Try to set owner, but fail silently like GNU cp */
- lchown(destName, srcStatBuf.st_uid, srcStatBuf.st_gid);
- }
-#endif
- return TRUE;
- } else if (S_ISFIFO(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying fifo %s to %s\n", srcName, destName);
- if (mkfifo(destName, 0644) < 0) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISBLK(srcStatBuf.st_mode) || S_ISCHR(srcStatBuf.st_mode)
- || S_ISSOCK(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying soc, blk, or chr %s to %s\n", srcName, destName);
- if (mknod(destName, srcStatBuf.st_mode, srcStatBuf.st_rdev) < 0) {
- perror(destName);
- return FALSE;
- }
- } else if (S_ISREG(srcStatBuf.st_mode)) {
- //fprintf(stderr, "copying regular file %s to %s\n", srcName, destName);
- rfd = open(srcName, O_RDONLY);
- if (rfd < 0) {
- perror(srcName);
- return FALSE;
- }
-
- wfd = open(destName, O_WRONLY | O_CREAT | O_TRUNC,
- srcStatBuf.st_mode);
- if (wfd < 0) {
- perror(destName);
- close(rfd);
- return FALSE;
- }
-
- if (copySubFile(rfd, wfd, srcStatBuf.st_size)==FALSE)
- goto error_exit;
-
- close(rfd);
- if (close(wfd) < 0) {
- return FALSE;
- }
- }
-
- if (setModes == TRUE) {
- /* This is fine, since symlinks never get here */
- if (chown(destName, srcStatBuf.st_uid, srcStatBuf.st_gid) < 0) {
- perror(destName);
- exit FALSE;
- }
- if (chmod(destName, srcStatBuf.st_mode) < 0) {
- perror(destName);
- exit FALSE;
- }
- times.actime = srcStatBuf.st_atime;
- times.modtime = srcStatBuf.st_mtime;
- if (utime(destName, &times) < 0) {
- perror(destName);
- exit FALSE;
- }
- }
-
- return TRUE;
-
- error_exit:
- perror(destName);
- close(rfd);
- close(wfd);
-
- return FALSE;
-}
-#endif /* BB_CP_MV */
-
-
-
-#if defined BB_TAR || defined BB_LS ||defined BB_AR
-
-#define TYPEINDEX(mode) (((mode) >> 12) & 0x0f)
-#define TYPECHAR(mode) ("0pcCd?bB-?l?s???" [TYPEINDEX(mode)])
-
-/* The special bits. If set, display SMODE0/1 instead of MODE0/1 */
-static const mode_t SBIT[] = {
- 0, 0, S_ISUID,
- 0, 0, S_ISGID,
- 0, 0, S_ISVTX
-};
-
-/* The 9 mode bits to test */
-static const mode_t MBIT[] = {
- S_IRUSR, S_IWUSR, S_IXUSR,
- S_IRGRP, S_IWGRP, S_IXGRP,
- S_IROTH, S_IWOTH, S_IXOTH
-};
-
-#define MODE1 "rwxrwxrwx"
-#define MODE0 "---------"
-#define SMODE1 "..s..s..t"
-#define SMODE0 "..S..S..T"
-
-/*
- * Return the standard ls-like mode string from a file mode.
- * This is static and so is overwritten on each call.
- */
-const char *modeString(int mode)
-{
- static char buf[12];
-
- int i;
-
- buf[0] = TYPECHAR(mode);
- for (i = 0; i < 9; i++) {
- if (mode & SBIT[i])
- buf[i + 1] = (mode & MBIT[i]) ? SMODE1[i] : SMODE0[i];
- else
- buf[i + 1] = (mode & MBIT[i]) ? MODE1[i] : MODE0[i];
- }
- return buf;
-}
-#endif /* BB_TAR || BB_LS */
-
-
-#if defined BB_TAR || defined BB_AR
-/*
- * Return the standard ls-like time string from a time_t
- * This is static and so is overwritten on each call.
- */
-const char *timeString(time_t timeVal)
-{
- time_t now;
- char *str;
- static char buf[26];
-
- time(&now);
-
- str = ctime(&timeVal);
-
- strcpy(buf, &str[4]);
- buf[12] = '\0';
-
- if ((timeVal > now) || (timeVal < now - 365 * 24 * 60 * 60L)) {
- strcpy(&buf[7], &str[20]);
- buf[11] = '\0';
- }
-
- return buf;
-}
-#endif /* BB_TAR || BB_AR */
-
-#if defined BB_TAR || defined BB_CP_MV || defined BB_AR
-/*
- * Write all of the supplied buffer out to a file.
- * This does multiple writes as necessary.
- * Returns the amount written, or -1 on an error.
- */
-int fullWrite(int fd, const char *buf, int len)
-{
- int cc;
- int total;
-
- total = 0;
-
- while (len > 0) {
- cc = write(fd, buf, len);
-
- if (cc < 0)
- return -1;
-
- buf += cc;
- total += cc;
- len -= cc;
- }
-
- return total;
-}
-#endif /* BB_TAR || BB_CP_MV || BB_AR */
-
-
-#if defined BB_TAR || defined BB_TAIL || defined BB_AR || defined BB_SH || defined BB_CP_MV
-/*
- * Read all of the supplied buffer from a file.
- * This does multiple reads as necessary.
- * Returns the amount read, or -1 on an error.
- * A short read is returned on an end of file.
- */
-int fullRead(int fd, char *buf, int len)
-{
- int cc;
- int total;
-
- total = 0;
-
- while (len > 0) {
- cc = read(fd, buf, len);
-
- if (cc < 0)
- return -1;
-
- if (cc == 0)
- break;
-
- buf += cc;
- total += cc;
- len -= cc;
- }
-
- return total;
-}
-#endif /* BB_TAR || BB_TAIL || BB_AR || BB_SH */
-
-
-#if defined (BB_CHMOD_CHOWN_CHGRP) \
- || defined (BB_CP_MV) \
- || defined (BB_FIND) \
- || defined (BB_INSMOD) \
- || defined (BB_LS) \
- || defined (BB_RM) \
- || defined (BB_TAR)
-
-/*
- * Walk down all the directories under the specified
- * location, and do something (something specified
- * by the fileAction and dirAction function pointers).
- *
- * Unfortunatly, while nftw(3) could replace this and reduce
- * code size a bit, nftw() wasn't supported before GNU libc 2.1,
- * and so isn't sufficiently portable to take over since glibc2.1
- * is so stinking huge.
- */
-int recursiveAction(const char *fileName,
- int recurse, int followLinks, int depthFirst,
- int (*fileAction) (const char *fileName,
- struct stat * statbuf,
- void* userData),
- int (*dirAction) (const char *fileName,
- struct stat * statbuf,
- void* userData),
- void* userData)
-{
- int status;
- struct stat statbuf;
- struct dirent *next;
-
- if (followLinks == TRUE)
- status = stat(fileName, &statbuf);
- else
- status = lstat(fileName, &statbuf);
-
- if (status < 0) {
-#ifdef BB_DEBUG_PRINT_SCAFFOLD
- fprintf(stderr,
- "status=%d followLinks=%d TRUE=%d\n",
- status, followLinks, TRUE);
-#endif
- perror(fileName);
- return FALSE;
- }
-
- if ((followLinks == FALSE) && (S_ISLNK(statbuf.st_mode))) {
- if (fileAction == NULL)
- return TRUE;
- else
- return fileAction(fileName, &statbuf, userData);
- }
-
- if (recurse == FALSE) {
- if (S_ISDIR(statbuf.st_mode)) {
- if (dirAction != NULL)
- return (dirAction(fileName, &statbuf, userData));
- else
- return TRUE;
- }
- }
-
- if (S_ISDIR(statbuf.st_mode)) {
- DIR *dir;
-
- dir = opendir(fileName);
- if (!dir) {
- perror(fileName);
- return FALSE;
- }
- if (dirAction != NULL && depthFirst == FALSE) {
- status = dirAction(fileName, &statbuf, userData);
- if (status == FALSE) {
- perror(fileName);
- return FALSE;
- }
- }
- while ((next = readdir(dir)) != NULL) {
- char nextFile[BUFSIZ + 1];
-
- if ((strcmp(next->d_name, "..") == 0)
- || (strcmp(next->d_name, ".") == 0)) {
- continue;
- }
- if (strlen(fileName) + strlen(next->d_name) + 1 > BUFSIZ) {
- errorMsg("name_too_long");
- return FALSE;
- }
- memset(nextFile, 0, sizeof(nextFile));
- sprintf(nextFile, "%s/%s", fileName, next->d_name);
- status =
- recursiveAction(nextFile, TRUE, followLinks, depthFirst,
- fileAction, dirAction, userData);
- if (status == FALSE) {
- closedir(dir);
- return FALSE;
- }
- }
- status = closedir(dir);
- if (status < 0) {
- perror(fileName);
- return FALSE;
- }
- if (dirAction != NULL && depthFirst == TRUE) {
- status = dirAction(fileName, &statbuf, userData);
- if (status == FALSE) {
- perror(fileName);
- return FALSE;
- }
- }
- } else {
- if (fileAction == NULL)
- return TRUE;
- else
- return fileAction(fileName, &statbuf, userData);
- }
- return TRUE;
-}
-
-#endif /* BB_CHMOD_CHOWN_CHGRP || BB_CP_MV || BB_FIND || BB_LS || BB_INSMOD */
-
-
-
-#if defined (BB_TAR) || defined (BB_MKDIR) || defined (BB_AR)
-/*
- * Attempt to create the directories along the specified path, except for
- * the final component. The mode is given for the final directory only,
- * while all previous ones get default protections. Errors are not reported
- * here, as failures to restore files can be reported later.
- */
-extern int createPath(const char *name, int mode)
-{
- char *cp;
- char *cpOld;
- char buf[BUFSIZ + 1];
- int retVal = 0;
-
- strcpy(buf, name);
- for (cp = buf; *cp == '/'; cp++);
- cp = strchr(cp, '/');
- while (cp) {
- cpOld = cp;
- cp = strchr(cp + 1, '/');
- *cpOld = '\0';
- retVal = mkdir(buf, cp ? 0777 : mode);
- if (retVal != 0 && errno != EEXIST) {
- perror(buf);
- return FALSE;
- }
- *cpOld = '/';
- }
- return TRUE;
-}
-#endif /* BB_TAR || BB_MKDIR */
-
-
-
-#if defined (BB_CHMOD_CHOWN_CHGRP) || defined (BB_MKDIR) \
- || defined (BB_MKFIFO) || defined (BB_MKNOD) || defined (BB_AR)
-/* [ugoa]{+|-|=}[rwxst] */
-
-
-
-extern int parse_mode(const char *s, mode_t * theMode)
-{
- mode_t andMode =
-
- S_ISVTX | S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- mode_t orMode = 0;
- mode_t mode = 0;
- mode_t groups = 0;
- char type;
- char c;
-
- if (s==NULL)
- return (FALSE);
-
- do {
- for (;;) {
- switch (c = *s++) {
- case '\0':
- return -1;
- case 'u':
- groups |= S_ISUID | S_IRWXU;
- continue;
- case 'g':
- groups |= S_ISGID | S_IRWXG;
- continue;
- case 'o':
- groups |= S_IRWXO;
- continue;
- case 'a':
- groups |= S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- continue;
- case '+':
- case '=':
- case '-':
- type = c;
- if (groups == 0) /* The default is "all" */
- groups |=
- S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
- break;
- default:
- if (isdigit(c) && c >= '0' && c <= '7' &&
- mode == 0 && groups == 0) {
- *theMode = strtol(--s, NULL, 8);
- return (TRUE);
- } else
- return (FALSE);
- }
- break;
- }
-
- while ((c = *s++) != '\0') {
- switch (c) {
- case ',':
- break;
- case 'r':
- mode |= S_IRUSR | S_IRGRP | S_IROTH;
- continue;
- case 'w':
- mode |= S_IWUSR | S_IWGRP | S_IWOTH;
- continue;
- case 'x':
- mode |= S_IXUSR | S_IXGRP | S_IXOTH;
- continue;
- case 's':
- mode |= S_IXGRP | S_ISUID | S_ISGID;
- continue;
- case 't':
- mode |= 0;
- continue;
- default:
- *theMode &= andMode;
- *theMode |= orMode;
- return (TRUE);
- }
- break;
- }
- switch (type) {
- case '=':
- andMode &= ~(groups);
- /* fall through */
- case '+':
- orMode |= mode & groups;
- break;
- case '-':
- andMode &= ~(mode & groups);
- orMode &= andMode;
- break;
- }
- } while (c == ',');
- *theMode &= andMode;
- *theMode |= orMode;
- return (TRUE);
-}
-
-
-#endif
-/* BB_CHMOD_CHOWN_CHGRP || BB_MKDIR || BB_MKFIFO || BB_MKNOD */
-
-
-
-
-
-#if defined BB_CHMOD_CHOWN_CHGRP || defined BB_PS || defined BB_LS \
- || defined BB_TAR || defined BB_ID || defined BB_LOGGER \
- || defined BB_LOGNAME || defined BB_WHOAMI
-
-/* This parses entries in /etc/passwd and /etc/group. This is desirable
- * for BusyBox, since we want to avoid using the glibc NSS stuff, which
- * increases target size and is often not needed or wanted for embedded
- * systems.
- *
- * /etc/passwd entries look like this:
- * root:x:0:0:root:/root:/bin/bash
- * and /etc/group entries look like this:
- * root:x:0:
- *
- * This uses buf as storage to hold things.
- *
- */
-unsigned long my_getid(const char *filename, char *name, long id, long *gid)
-{
- FILE *file;
- char *rname, *start, *end, buf[128];
- long rid;
- long rgid = 0;
-
- file = fopen(filename, "r");
- if (file == NULL) {
- /* Do not complain. It is ok for /etc/passwd and
- * friends to be missing... */
- return (-1);
- }
-
- while (fgets(buf, 128, file) != NULL) {
- if (buf[0] == '#')
- continue;
-
- /* username/group name */
- start = buf;
- end = strchr(start, ':');
- if (end == NULL)
- continue;
- *end = '\0';
- rname = start;
-
- /* password */
- start = end + 1;
- end = strchr(start, ':');
- if (end == NULL)
- continue;
-
- /* uid in passwd, gid in group */
- start = end + 1;
- rid = (unsigned long) strtol(start, &end, 10);
- if (end == start)
- continue;
-
- /* gid in passwd */
- start = end + 1;
- rgid = (unsigned long) strtol(start, &end, 10);
-
- if (name) {
- if (0 == strcmp(rname, name)) {
- if (gid) *gid = rgid;
- fclose(file);
- return (rid);
- }
- }
- if (id != -1 && id == rid) {
- strncpy(name, rname, 8);
- if (gid) *gid = rgid;
- fclose(file);
- return (TRUE);
- }
- }
- fclose(file);
- return (-1);
-}
-
-/* returns a uid given a username */
-long my_getpwnam(char *name)
-{
- return my_getid("/etc/passwd", name, -1, NULL);
-}
-
-/* returns a gid given a group name */
-long my_getgrnam(char *name)
-{
- return my_getid("/etc/group", name, -1, NULL);
-}
-
-/* gets a username given a uid */
-void my_getpwuid(char *name, long uid)
-{
- my_getid("/etc/passwd", name, uid, NULL);
-}
-
-/* gets a groupname given a gid */
-void my_getgrgid(char *group, long gid)
-{
- my_getid("/etc/group", group, gid, NULL);
-}
-
-/* gets a gid given a user name */
-long my_getpwnamegid(char *name)
-{
- long gid;
- my_getid("/etc/passwd", name, -1, &gid);
- return gid;
-}
-
-#endif
- /* BB_CHMOD_CHOWN_CHGRP || BB_PS || BB_LS || BB_TAR \
- || BB_ID || BB_LOGGER || BB_LOGNAME || BB_WHOAMI */
-
-
-#if (defined BB_CHVT) || (defined BB_DEALLOCVT) || (defined BB_SETKEYCODES)
-
-/* From <linux/kd.h> */
-#define KDGKBTYPE 0x4B33 /* get keyboard type */
-#define KB_84 0x01
-#define KB_101 0x02 /* this is what we always answer */
-
-int is_a_console(int fd)
-{
- char arg;
-
- arg = 0;
- return (ioctl(fd, KDGKBTYPE, &arg) == 0
- && ((arg == KB_101) || (arg == KB_84)));
-}
-
-static int open_a_console(char *fnam)
-{
- int fd;
-
- /* try read-only */
- fd = open(fnam, O_RDWR);
-
- /* if failed, try read-only */
- if (fd < 0 && errno == EACCES)
- fd = open(fnam, O_RDONLY);
-
- /* if failed, try write-only */
- if (fd < 0 && errno == EACCES)
- fd = open(fnam, O_WRONLY);
-
- /* if failed, fail */
- if (fd < 0)
- return -1;
-
- /* if not a console, fail */
- if (!is_a_console(fd)) {
- close(fd);
- return -1;
- }
-
- /* success */
- return fd;
-}
-
-/*
- * Get an fd for use with kbd/console ioctls.
- * We try several things because opening /dev/console will fail
- * if someone else used X (which does a chown on /dev/console).
- *
- * if tty_name is non-NULL, try this one instead.
- */
-
-int get_console_fd(char *tty_name)
-{
- int fd;
-
- if (tty_name) {
- if (-1 == (fd = open_a_console(tty_name)))
- return -1;
- else
- return fd;
- }
-
- fd = open_a_console("/dev/tty");
- if (fd >= 0)
- return fd;
-
- fd = open_a_console("/dev/tty0");
- if (fd >= 0)
- return fd;
-
- fd = open_a_console("/dev/console");
- if (fd >= 0)
- return fd;
-
- for (fd = 0; fd < 3; fd++)
- if (is_a_console(fd))
- return fd;
-
- errorMsg("Couldnt get a file descriptor referring to the console\n");
- return -1; /* total failure */
-}
-
-
-#endif /* BB_CHVT || BB_DEALLOCVT || BB_SETKEYCODES */
-
-
-#if defined BB_FIND || defined BB_INSMOD
-/*
- * Routine to see if a text string is matched by a wildcard pattern.
- * Returns TRUE if the text is matched, or FALSE if it is not matched
- * or if the pattern is invalid.
- * * matches zero or more characters
- * ? matches a single character
- * [abc] matches 'a', 'b' or 'c'
- * \c quotes character c
- * Adapted from code written by Ingo Wilken, and
- * then taken from sash, Copyright (c) 1999 by David I. Bell
- * Permission is granted to use, distribute, or modify this source,
- * provided that this copyright notice remains intact.
- * Permission to distribute this code under the GPL has been granted.
- */
-extern int check_wildcard_match(const char *text, const char *pattern)
-{
- const char *retryPat;
- const char *retryText;
- int ch;
- int found;
- int len;
-
- retryPat = NULL;
- retryText = NULL;
-
- while (*text || *pattern) {
- ch = *pattern++;
-
- switch (ch) {
- case '*':
- retryPat = pattern;
- retryText = text;
- break;
-
- case '[':
- found = FALSE;
-
- while ((ch = *pattern++) != ']') {
- if (ch == '\\')
- ch = *pattern++;
-
- if (ch == '\0')
- return FALSE;
-
- if (*text == ch)
- found = TRUE;
- }
- len=strlen(text);
- if (found == FALSE && len!=0) {
- return FALSE;
- }
- if (found == TRUE) {
- if (strlen(pattern)==0 && len==1) {
- return TRUE;
- }
- if (len!=0) {
- text++;
- continue;
- }
- }
-
- /* fall into next case */
-
- case '?':
- if (*text++ == '\0')
- return FALSE;
-
- break;
-
- case '\\':
- ch = *pattern++;
-
- if (ch == '\0')
- return FALSE;
-
- /* fall into next case */
-
- default:
- if (*text == ch) {
- if (*text)
- text++;
- break;
- }
-
- if (*text) {
- pattern = retryPat;
- text = ++retryText;
- break;
- }
-
- return FALSE;
- }
-
- if (pattern == NULL)
- return FALSE;
- }
-
- return TRUE;
-}
-#endif /* BB_FIND || BB_INSMOD */
-
-
-
-
-#if defined BB_DF || defined BB_MTAB
-/*
- * Given a block device, find the mount table entry if that block device
- * is mounted.
- *
- * Given any other file (or directory), find the mount table entry for its
- * filesystem.
- */
-extern struct mntent *findMountPoint(const char *name, const char *table)
-{
- struct stat s;
- dev_t mountDevice;
- FILE *mountTable;
- struct mntent *mountEntry;
-
- if (stat(name, &s) != 0)
- return 0;
-
- if ((s.st_mode & S_IFMT) == S_IFBLK)
- mountDevice = s.st_rdev;
- else
- mountDevice = s.st_dev;
-
-
- if ((mountTable = setmntent(table, "r")) == 0)
- return 0;
-
- while ((mountEntry = getmntent(mountTable)) != 0) {
- if (strcmp(name, mountEntry->mnt_dir) == 0
- || strcmp(name, mountEntry->mnt_fsname) == 0) /* String match. */
- break;
- if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice) /* Match the device. */
- break;
- if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice) /* Match the directory's mount point. */
- break;
- }
- endmntent(mountTable);
- return mountEntry;
-}
-#endif /* BB_DF || BB_MTAB */
-
-
-
-#if defined BB_DD || defined BB_TAIL
-/*
- * Read a number with a possible multiplier.
- * Returns -1 if the number format is illegal.
- */
-extern long getNum(const char *cp)
-{
- long value;
-
- if (!isDecimal(*cp))
- return -1;
-
- value = 0;
-
- while (isDecimal(*cp))
- value = value * 10 + *cp++ - '0';
-
- switch (*cp++) {
- case 'M':
- case 'm': /* `tail' uses it traditionally */
- value *= 1048576;
- break;
-
- case 'k':
- value *= 1024;
- break;
-
- case 'b':
- value *= 512;
- break;
-
- case 'w':
- value *= 2;
- break;
-
- case '\0':
- return value;
-
- default:
- return -1;
- }
-
- if (*cp)
- return -1;
-
- return value;
-}
-#endif /* BB_DD || BB_TAIL */
-
-
-#if defined BB_INIT || defined BB_SYSLOGD
-/* try to open up the specified device */
-extern int device_open(char *device, int mode)
-{
- int m, f, fd = -1;
-
- m = mode | O_NONBLOCK;
-
- /* Retry up to 5 times */
- for (f = 0; f < 5; f++)
- if ((fd = open(device, m, 0600)) >= 0)
- break;
- if (fd < 0)
- return fd;
- /* Reset original flags. */
- if (m != mode)
- fcntl(fd, F_SETFL, mode);
- return fd;
-}
-#endif /* BB_INIT BB_SYSLOGD */
-
-
-#if defined BB_KILLALL || ( defined BB_FEATURE_LINUXRC && ( defined BB_HALT || defined BB_REBOOT || defined BB_POWEROFF ))
-#ifdef BB_FEATURE_USE_DEVPS_PATCH
-#include <linux/devps.h> /* For Erik's nifty devps device driver */
-#endif
-
-#if defined BB_FEATURE_USE_DEVPS_PATCH
-/* findPidByName()
- *
- * This finds the pid of the specified process,
- * by using the /dev/ps device driver.
- *
- * Returns a list of all matching PIDs
- */
-extern pid_t* findPidByName( char* pidName)
-{
- int fd, i, j;
- char device[] = "/dev/ps";
- pid_t num_pids;
- pid_t* pid_array = NULL;
- pid_t* pidList=NULL;
-
- /* open device */
- fd = open(device, O_RDONLY);
- if (fd < 0)
- fatalError( "open failed for `%s': %s\n", device, strerror (errno));
-
- /* Find out how many processes there are */
- if (ioctl (fd, DEVPS_GET_NUM_PIDS, &num_pids)<0)
- fatalError( "\nDEVPS_GET_PID_LIST: %s\n", strerror (errno));
-
- /* Allocate some memory -- grab a few extras just in case
- * some new processes start up while we wait. The kernel will
- * just ignore any extras if we give it too many, and will trunc.
- * the list if we give it too few. */
- pid_array = (pid_t*) xcalloc( num_pids+10, sizeof(pid_t));
- pid_array[0] = num_pids+10;
-
- /* Now grab the pid list */
- if (ioctl (fd, DEVPS_GET_PID_LIST, pid_array)<0)
- fatalError( "\nDEVPS_GET_PID_LIST: %s\n", strerror (errno));
-
- /* Now search for a match */
- for (i=1, j=0; i<pid_array[0] ; i++) {
- char* p;
- struct pid_info info;
-
- info.pid = pid_array[i];
- if (ioctl (fd, DEVPS_GET_PID_INFO, &info)<0)
- fatalError( "\nDEVPS_GET_PID_INFO: %s\n", strerror (errno));
-
- /* Make sure we only match on the process name */
- p=info.command_line+1;
- while ((*p != 0) && !isspace(*(p)) && (*(p-1) != '\\')) {
- (p)++;
- }
- if (isspace(*(p)))
- *p='\0';
-
- if ((strstr(info.command_line, pidName) != NULL)
- && (strlen(pidName) == strlen(info.command_line))) {
- pidList=xrealloc( pidList, sizeof(pid_t) * (j+2));
- pidList[j++]=info.pid;
- }
- }
- if (pidList)
- pidList[j]=0;
-
- /* Free memory */
- free( pid_array);
-
- /* close device */
- if (close (fd) != 0)
- fatalError( "close failed for `%s': %s\n",device, strerror (errno));
-
- return pidList;
-}
-#else /* BB_FEATURE_USE_DEVPS_PATCH */
-#if ! defined BB_FEATURE_USE_PROCFS
-#error Sorry, I depend on the /proc filesystem right now.
-#endif
-
-/* findPidByName()
- *
- * This finds the pid of the specified process.
- * Currently, it's implemented by rummaging through
- * the proc filesystem.
- *
- * Returns a list of all matching PIDs
- */
-extern pid_t* findPidByName( char* pidName)
-{
- DIR *dir;
- struct dirent *next;
- pid_t* pidList=NULL;
- int i=0;
-
- dir = opendir("/proc");
- if (!dir)
- fatalError( "Cannot open /proc: %s\n", strerror (errno));
-
- while ((next = readdir(dir)) != NULL) {
- FILE *status;
- char filename[256];
- char buffer[256];
-
- /* If it isn't a number, we don't want it */
- if (!isdigit(*next->d_name))
- continue;
-
- sprintf(filename, "/proc/%s/cmdline", next->d_name);
- status = fopen(filename, "r");
- if (!status) {
- continue;
- }
- fgets(buffer, 256, status);
- fclose(status);
-
- if (strstr(get_last_path_component(buffer), pidName) != NULL) {
- pidList=xrealloc( pidList, sizeof(pid_t) * (i+2));
- pidList[i++]=strtol(next->d_name, NULL, 0);
- }
- }
-
- if (pidList)
- pidList[i]=0;
- return pidList;
-}
-#endif /* BB_FEATURE_USE_DEVPS_PATCH */
-#endif /* BB_KILLALL || ( BB_FEATURE_LINUXRC && ( BB_HALT || BB_REBOOT || BB_POWEROFF )) */
-
-#ifndef DMALLOC
-/* this should really be farmed out to libbusybox.a */
-extern void *xmalloc(size_t size)
-{
- void *ptr = malloc(size);
-
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-
-extern void *xrealloc(void *old, size_t size)
-{
- void *ptr;
- if (!size)
- size = 1;
- ptr = realloc(old, size);
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-
-extern void *xcalloc(size_t nmemb, size_t size)
-{
- void *ptr = calloc(nmemb, size);
- if (!ptr)
- fatalError("memory_exhausted");
- return ptr;
-}
-#endif
-
-#if defined BB_FEATURE_NFSMOUNT || defined BB_SH || defined BB_LS
-# ifndef DMALLOC
-extern char * xstrdup (const char *s) {
- char *t;
-
- if (s == NULL)
- return NULL;
-
- t = strdup (s);
-
- if (t == NULL)
- fatalError("memory_exhausted");
-
- return t;
-}
-# endif
-#endif
-
-#if defined BB_FEATURE_NFSMOUNT
-extern char * xstrndup (const char *s, int n) {
- char *t;
-
- if (s == NULL)
- fatalError("xstrndup bug");
-
- t = xmalloc(n+1);
- strncpy(t,s,n);
- t[n] = 0;
-
- return t;
-}
-#endif
-
-
-#if (__GLIBC__ < 2) && (defined BB_SYSLOGD || defined BB_INIT)
-extern int vdprintf(int d, const char *format, va_list ap)
-{
- char buf[BUF_SIZE];
- int len;
-
- len = vsprintf(buf, format, ap);
- return write(d, buf, len);
-}
-#endif /* BB_SYSLOGD */
-
-
-#if defined BB_FEATURE_MOUNT_LOOP
-#include <fcntl.h>
-#include "loop.h" /* Pull in loop device support */
-
-extern int del_loop(const char *device)
-{
- int fd;
-
- if ((fd = open(device, O_RDONLY)) < 0) {
- perror(device);
- return (FALSE);
- }
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
- perror("ioctl: LOOP_CLR_FD");
- return (FALSE);
- }
- close(fd);
- return (TRUE);
-}
-
-extern int set_loop(const char *device, const char *file, int offset,
- int *loopro)
-{
- struct loop_info loopinfo;
- int fd, ffd, mode;
-
- mode = *loopro ? O_RDONLY : O_RDWR;
- if ((ffd = open(file, mode)) < 0 && !*loopro
- && (errno != EROFS || (ffd = open(file, mode = O_RDONLY)) < 0)) {
- perror(file);
- return 1;
- }
- if ((fd = open(device, mode)) < 0) {
- close(ffd);
- perror(device);
- return 1;
- }
- *loopro = (mode == O_RDONLY);
-
- memset(&loopinfo, 0, sizeof(loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
-
- loopinfo.lo_offset = offset;
-
- loopinfo.lo_encrypt_key_size = 0;
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- perror("ioctl: LOOP_SET_FD");
- close(fd);
- close(ffd);
- return 1;
- }
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- (void) ioctl(fd, LOOP_CLR_FD, 0);
- perror("ioctl: LOOP_SET_STATUS");
- close(fd);
- close(ffd);
- return 1;
- }
- close(fd);
- close(ffd);
- return 0;
-}
-
-extern char *find_unused_loop_device(void)
-{
- char dev[20];
- int i, fd;
- struct stat statbuf;
- struct loop_info loopinfo;
-
- for (i = 0; i <= 7; i++) {
- sprintf(dev, "/dev/loop%d", i);
- if (stat(dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
- if ((fd = open(dev, O_RDONLY)) >= 0) {
- if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == -1) {
- if (errno == ENXIO) { /* probably free */
- close(fd);
- return strdup(dev);
- }
- }
- close(fd);
- }
- }
- }
- return NULL;
-}
-#endif /* BB_FEATURE_MOUNT_LOOP */
-
-#if defined BB_MOUNT || defined BB_DF || ( defined BB_UMOUNT && ! defined BB_MTAB)
-extern int find_real_root_device_name(char* name)
-{
- DIR *dir;
- struct dirent *entry;
- struct stat statBuf, rootStat;
- char fileName[BUFSIZ];
-
- if (stat("/", &rootStat) != 0) {
- errorMsg("could not stat '/'\n");
- return( FALSE);
- }
-
- dir = opendir("/dev");
- if (!dir) {
- errorMsg("could not open '/dev'\n");
- return( FALSE);
- }
-
- while((entry = readdir(dir)) != NULL) {
-
- /* Must skip ".." since that is "/", and so we
- * would get a false positive on ".." */
- if (strcmp(entry->d_name, "..") == 0)
- continue;
-
- snprintf( fileName, strlen(name)+1, "/dev/%s", entry->d_name);
-
- if (stat(fileName, &statBuf) != 0)
- continue;
- /* Some char devices have the same dev_t as block
- * devices, so make sure this is a block device */
- if (! S_ISBLK(statBuf.st_mode))
- continue;
- if (statBuf.st_rdev == rootStat.st_rdev) {
- strcpy(name, fileName);
- return ( TRUE);
- }
- }
-
- return( FALSE);
-}
-#endif
-
-
-/* get_line_from_file() - This function reads an entire line from a text file
- * up to a newline. It returns a malloc'ed char * which must be stored and
- * free'ed by the caller. */
-extern char *get_line_from_file(FILE *file)
-{
- static const int GROWBY = 80; /* how large we will grow strings by */
-
- int ch;
- int idx = 0;
- char *linebuf = NULL;
- int linebufsz = 0;
-
- while (1) {
- ch = fgetc(file);
- if (ch == EOF)
- break;
- /* grow the line buffer as necessary */
- while (idx > linebufsz-2)
- linebuf = xrealloc(linebuf, linebufsz += GROWBY);
- linebuf[idx++] = (char)ch;
- if ((char)ch == '\n')
- break;
- }
-
- if (idx == 0)
- return NULL;
-
- linebuf[idx] = 0;
- return linebuf;
-}
-
-#if defined BB_CAT
-extern void print_file(FILE *file)
-{
- int c;
-
- while ((c = getc(file)) != EOF)
- putc(c, stdout);
- fclose(file);
- fflush(stdout);
-}
-
-extern int print_file_by_name(char *filename)
-{
- FILE *file;
- file = fopen(filename, "r");
- if (file == NULL) {
- return FALSE;
- }
- print_file(file);
- return TRUE;
-}
-#endif /* BB_CAT || BB_LSMOD */
-
-#if defined BB_ECHO || defined BB_TR
-char process_escape_sequence(char **ptr)
-{
- char c;
-
- switch (c = *(*ptr)++) {
- case 'a':
- c = '\a';
- break;
- case 'b':
- c = '\b';
- break;
- case 'f':
- c = '\f';
- break;
- case 'n':
- c = '\n';
- break;
- case 't':
- c = '\t';
- break;
- case 'v':
- c = '\v';
- break;
- case '\\':
- c = '\\';
- break;
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- c -= '0';
- if ('0' <= **ptr && **ptr <= '7') {
- c = c * 8 + (*(*ptr)++ - '0');
- if ('0' <= **ptr && **ptr <= '7')
- c = c * 8 + (*(*ptr)++ - '0');
- }
- break;
- default:
- (*ptr)--;
- c = '\\';
- break;
- }
- return c;
-}
-#endif
-
-#if defined BB_BASENAME || defined BB_LN || defined BB_SH
-char *get_last_path_component(char *path)
-{
- char *s=path+strlen(path)-1;
-
- /* strip trailing slashes */
- while (s && *s == '/') {
- *s-- = '\0';
- }
-
- /* find last component */
- s = strrchr(path, '/');
- if (s==NULL) return path;
- else return s+1;
-}
-#endif
-
-#if defined BB_GREP || defined BB_SED
-void xregcomp(regex_t *preg, const char *regex, int cflags)
-{
- int ret;
- if ((ret = regcomp(preg, regex, cflags)) != 0) {
- int errmsgsz = regerror(ret, preg, NULL, 0);
- char *errmsg = xmalloc(errmsgsz);
- regerror(ret, preg, errmsg, errmsgsz);
- fatalError("bb_regcomp: %s\n", errmsg);
- }
-}
-#endif
-
-/* END CODE */
-/*
-Local Variables:
-c-file-style: "linux"
-c-basic-offset: 4
-tab-width: 4
-End:
-*/
diff --git a/mdk-stage1/insmod-modutils/Makefile b/mdk-stage1/insmod-modutils/Makefile
deleted file mode 100644
index 48508ba1f..000000000
--- a/mdk-stage1/insmod-modutils/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-INCS = -I./include
-
-TAINT_URL = http://www.tux.org/lkml/\#export-tainted
-
-DEFS = -Wno-error -D_GNU_SOURCE \
- -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) \
- -DTAINT_URL='"$(TAINT_URL)"'
-
-
-DIRS = util obj
-
-all: dirs insmod libinsmod.a
-
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
-
-clean:
- @for n in $(DIRS); do \
- (cd $$n; make clean) \
- done
- rm -rf t *.o insmod libinsmod.a
-
-
-insmod: insmod-frontend.o insmod.o ./util/libutil-STANDALONE.a ./obj/libobj.a
- $(DIET) gcc -o $@ $^
- $(STRIPCMD) $@
-
-t/.create_stuff: util/libutil.a obj/libobj.a
- rm -rf t
- mkdir t
- cd t && for e in $^; do ar -x ../$$e; done
- touch t/.create_stuff
-
-libinsmod.a: insmod.o t/.create_stuff
- ar cru $@ insmod.o t/*
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c insmod.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c insmod-frontend.c
-
-insmod.o: insmod.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c insmod.c
diff --git a/mdk-stage1/insmod-modutils/include/config.h b/mdk-stage1/insmod-modutils/include/config.h
deleted file mode 100644
index 3a37b00d4..000000000
--- a/mdk-stage1/insmod-modutils/include/config.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Configuration file management
- *
- * Copyright 1994, 1995, 1996, 1997:
- * Jacques Gelinas <jack@solucorp.qc.ca>
- * Björn Ekwall <bj0rn@blox.se> February, March 1999
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _CONFIG_H
-#define _CONFIG_H
-
-#include <stdio.h>
-#include <sys/utsname.h>
-
-#define MODUTILS_MACROS "/lib/modutils/macros"
-#define ETC_MODULES_CONF "/etc/modules.conf"
-
-#define EXEC_PRE_INSTALL 0
-#define EXEC_POST_INSTALL 1
-#define EXEC_PRE_REMOVE 2
-#define EXEC_POST_REMOVE 3
-#define EXEC_INSTALL 4
-#define EXEC_REMOVE 5
-
-struct PATH_TYPE {
- char *type;
- char *path;
-};
-
-struct EXEC_TYPE {
- int when;
- char *module;
- char *cmd;
-};
-
-typedef struct {
- char *name;
- GLOB_LIST *opts;
- int autoclean;
-} OPT_LIST;
-
-/* config.c */
-extern int flag_autoclean;
-extern struct utsname uts_info;
-extern char *aliaslist[];
-extern struct PATH_TYPE *modpath;
-extern int nmodpath;
-extern struct EXEC_TYPE *execs;
-extern int nexecs;
-extern char *insmod_opt;
-extern char *config_file;
-extern char *optlist[];
-extern char *prune[];
-extern OPT_LIST *opt_list;
-extern OPT_LIST *abovelist;
-extern OPT_LIST *belowlist;
-extern OPT_LIST *prunelist;
-extern OPT_LIST *probe_list;
-extern OPT_LIST *probeall_list;
-extern OPT_LIST *aliases;
-extern time_t config_mtime;
-extern int root_check_off; /* Check modules are owned by root? */
-
-/* Information about generated files */
-struct gen_files {
- char *base; /* xxx in /lib/modules/`uname -r`/modules.xxx */
- char *name; /* name actually used */
- time_t mtime;
-};
-
-extern struct gen_files gen_file[];
-extern const int gen_file_count;
-/* The enum order must match the gen_file initialization order in config.c */
-enum gen_file_enum {
- GEN_GENERIC_STRINGFILE,
- GEN_PCIMAPFILE,
- GEN_ISAPNPMAPFILE,
- GEN_USBMAPFILE,
- GEN_PARPORTMAPFILE,
- GEN_IEEE1394MAPFILE,
- GEN_PNPBIOSMAPFILE,
- GEN_DEPFILE,
-};
-
-extern char *persistdir;
-
-char *fgets_strip(char *buf, int sizebuf, FILE * fin, int *lineno);
-int config_read(int all, char *force_ver, char *base_dir, char *conf_file);
-GLOB_LIST *config_lstmod(const char *match, const char *type, int first_only);
-char *search_module_path(const char *base);
-
-#endif /* _CONFIG_H */
diff --git a/mdk-stage1/insmod-modutils/include/elf_alpha.h b/mdk-stage1/insmod-modutils/include/elf_alpha.h
deleted file mode 100644
index 4202bcc14..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_alpha.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the Alpha. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_ALPHA)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_arm.h b/mdk-stage1/insmod-modutils/include/elf_arm.h
deleted file mode 100644
index cf04cafe0..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_arm.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for ARM. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_ARM)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_hppa.h b/mdk-stage1/insmod-modutils/include/elf_hppa.h
deleted file mode 100644
index 9a1bd34ce..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_hppa.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for HP-PA. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PARISC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_hppa64.h b/mdk-stage1/insmod-modutils/include/elf_hppa64.h
deleted file mode 100644
index 05b201aef..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_hppa64.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for HP-PA64. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PARISC)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_i386.h b/mdk-stage1/insmod-modutils/include/elf_i386.h
deleted file mode 100644
index f5c57d384..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_i386.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_386)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_ia64.h b/mdk-stage1/insmod-modutils/include/elf_ia64.h
deleted file mode 100644
index b4d902956..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ia64.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for ia64. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2LSB
-
-#define MATCH_MACHINE(x) (x == EM_IA_64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_m68k.h b/mdk-stage1/insmod-modutils/include/elf_m68k.h
deleted file mode 100644
index c488ba9d1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_m68k.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for m68k. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_68K)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_mips.h b/mdk-stage1/insmod-modutils/include/elf_mips.h
deleted file mode 100644
index 4b91ddd01..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_mips.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Machine-specific elf macros for MIPS. */
-
-#define ELFCLASSM ELFCLASS32
-#ifdef __MIPSEB__
-#define ELFDATAM ELFDATA2MSB
-#endif
-#ifdef __MIPSEL__
-#define ELFDATAM ELFDATA2LSB
-#endif
-
-/* Account for ELF spec changes. */
-#ifndef EM_MIPS_RS3_LE
-#ifdef EM_MIPS_RS4_BE
-#define EM_MIPS_RS3_LE EM_MIPS_RS4_BE
-#else
-#define EM_MIPS_RS3_LE 10
-#endif
-#endif /* !EM_MIPS_RS3_LE */
-
-#define MATCH_MACHINE(x) (x == EM_MIPS || x == EM_MIPS_RS3_LE)
-
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
diff --git a/mdk-stage1/insmod-modutils/include/elf_ppc.h b/mdk-stage1/insmod-modutils/include/elf_ppc.h
deleted file mode 100644
index b0060ace1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ppc.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the PowerPC. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_PPC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_s390.h b/mdk-stage1/insmod-modutils/include/elf_s390.h
deleted file mode 100644
index 7a35bde93..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_s390.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define EM_S390_OLD 0xa390
-
-#define MATCH_MACHINE(x) (x == EM_S390 || x == EM_S390_OLD)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_sparc.h b/mdk-stage1/insmod-modutils/include/elf_sparc.h
deleted file mode 100644
index 8903b2654..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_SPARC)
-
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
diff --git a/mdk-stage1/insmod-modutils/include/elf_sparc64.h b/mdk-stage1/insmod-modutils/include/elf_sparc64.h
deleted file mode 100644
index 891e0c3d9..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc64.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-
-#define ELFCLASSM ELFCLASS64
-#define ELFDATAM ELFDATA2MSB
-
-#ifndef EM_SPARCV9
-#define EM_SPARCV9 43
-#endif
-#ifndef EM_SPARC64
-#define EM_SPARC64 11
-#endif
-#define MATCH_MACHINE(x) ((x) == EM_SPARCV9 || (x) == EM_SPARC64)
-
-#define SHT_RELM SHT_RELA
-#define Elf64_RelM Elf64_Rela
-
-#ifndef ELF64_R_SYM
-#define ELF64_R_SYM(x) ((x) >> 32)
-#define ELF64_R_TYPE(x) ((unsigned)(x))
-#endif
-
-#ifndef ELF64_ST_BIND
-#define ELF64_ST_BIND(x) ((x) >> 4)
-#define ELF64_ST_TYPE(x) ((x) & 0xf)
-#endif
-
diff --git a/mdk-stage1/insmod-modutils/include/kallsyms.h b/mdk-stage1/insmod-modutils/include/kallsyms.h
deleted file mode 100644
index 90bb75f22..000000000
--- a/mdk-stage1/insmod-modutils/include/kallsyms.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef MODUTILS_KALLSYMS_H
-#define MODUTILS_KALLSYMS_H 1
-
-/* kallsyms headers
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils. It is exported to kernel
- space so debuggers can access the kallsyms data.
-
- The kallsyms data contains all the non-stack symbols from a kernel
- or a module. The kernel symbols are held between __start___kallsyms
- and __stop___kallsyms. The symbols for a module are accessed via
- the struct module chain which is based at module_list.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/* Have to (re)define these ElfW entries here because external kallsyms
- * code does not have access to modutils/include/obj.h. This code is
- * included from user spaces tools (modutils) and kernel, they need
- * different includes.
- */
-
-#ifndef ELFCLASS32
-#ifdef __KERNEL__
-#include <linux/elf.h>
-#else /* __KERNEL__ */
-#include <elf.h>
-#endif /* __KERNEL__ */
-#endif /* ELFCLASS32 */
-
-#ifndef ELFCLASSM
-#define ELFCLASSM ELF_CLASS
-#endif
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-/* Format of data in the kallsyms section.
- * Most of the fields are small numbers but the total size and all
- * offsets can be large so use the 32/64 bit types for these fields.
- *
- * Do not use sizeof() on these structures, modutils may be using extra
- * fields. Instead use the size fields in the header to access the
- * other bits of data.
- */
-
-struct kallsyms_header {
- int size; /* Size of this header */
- ElfW(Word) total_size; /* Total size of kallsyms data */
- int sections; /* Number of section entries */
- ElfW(Off) section_off; /* Offset to first section entry */
- int section_size; /* Size of one section entry */
- int symbols; /* Number of symbol entries */
- ElfW(Off) symbol_off; /* Offset to first symbol entry */
- int symbol_size; /* Size of one symbol entry */
- ElfW(Off) string_off; /* Offset to first string */
- ElfW(Addr) start; /* Start address of first section */
- ElfW(Addr) end; /* End address of last section */
-};
-
-struct kallsyms_section {
- ElfW(Addr) start; /* Start address of section */
- ElfW(Word) size; /* Size of this section */
- ElfW(Off) name_off; /* Offset to section name */
- ElfW(Word) flags; /* Flags from section */
-};
-
-struct kallsyms_symbol {
- ElfW(Off) section_off; /* Offset to section that owns this symbol */
- ElfW(Addr) symbol_addr; /* Address of symbol */
- ElfW(Off) name_off; /* Offset to symbol name */
-};
-
-#define KALLSYMS_SEC_NAME "__kallsyms"
-#define KALLSYMS_IDX 2 /* obj_kallsyms creates kallsyms as section 2 */
-
-#define kallsyms_next_sec(h,s) \
- ((s) = (struct kallsyms_section *)((char *)(s) + (h)->section_size))
-#define kallsyms_next_sym(h,s) \
- ((s) = (struct kallsyms_symbol *)((char *)(s) + (h)->symbol_size))
-
-int kallsyms_symbol_to_address(
- const char *name, /* Name to lookup */
- unsigned long *token, /* Which module to start with */
- const char **mod_name, /* Set to module name or "kernel" */
- unsigned long *mod_start, /* Set to start address of module */
- unsigned long *mod_end, /* Set to end address of module */
- const char **sec_name, /* Set to section name */
- unsigned long *sec_start, /* Set to start address of section */
- unsigned long *sec_end, /* Set to end address of section */
- const char **sym_name, /* Set to full symbol name */
- unsigned long *sym_start, /* Set to start address of symbol */
- unsigned long *sym_end /* Set to end address of symbol */
- );
-
-int kallsyms_address_to_symbol(
- unsigned long address, /* Address to lookup */
- const char **mod_name, /* Set to module name */
- unsigned long *mod_start, /* Set to start address of module */
- unsigned long *mod_end, /* Set to end address of module */
- const char **sec_name, /* Set to section name */
- unsigned long *sec_start, /* Set to start address of section */
- unsigned long *sec_end, /* Set to end address of section */
- const char **sym_name, /* Set to full symbol name */
- unsigned long *sym_start, /* Set to start address of symbol */
- unsigned long *sym_end /* Set to end address of symbol */
- );
-
-#endif /* kallsyms.h */
diff --git a/mdk-stage1/insmod-modutils/include/kerneld.h b/mdk-stage1/insmod-modutils/include/kerneld.h
deleted file mode 100644
index f32e34b4a..000000000
--- a/mdk-stage1/insmod-modutils/include/kerneld.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Definitions for the Linux kerneld SYSV IPC interface.
- This file was part of the Linux kernel, and so is covered by the GPL. */
-
-#ifndef MODUTILS_KERNELD_H
-#define MODUTILS_KERNELD_H
-
-#define KERNELD_SYSTEM 1
-#define KERNELD_REQUEST_MODULE 2 /* "insmod" */
-#define KERNELD_RELEASE_MODULE 3 /* "rmmod" */
-#define KERNELD_DELAYED_RELEASE_MODULE 4 /* "rmmod" */
-#define KERNELD_CANCEL_RELEASE_MODULE 5 /* "rmmod" */
-#define KERNELD_REQUEST_ROUTE 6 /* net/ipv4/route.c */
-#define KERNELD_BLANKER 7 /* drivers/char/console.c */
-#define KERNELD_PNP 8 /* drivers/pnp/kerneld.c */
-#define KERNELD_ARP 256 /* net/ipv4/arp.c */
-
-#ifdef NEW_KERNELD_PROTOCOL
-# define OLDIPC_KERNELD 00040000 /* old kerneld message channel */
-# define IPC_KERNELD 00140000 /* new kerneld message channel */
-# define KDHDR (sizeof(long) + sizeof(short) + sizeof(short))
-# define NULL_KDHDR 0, 2, 0
-#else /* NEW_KERNELD_PROTOCOL */
-# define IPC_KERNELD 00040000
-# define KDHDR (sizeof(long))
-# define NULL_KDHDR 0
-#endif /* NEW_KERNELD_PROTOCOL */
-
-#define KERNELD_MAXCMD 0x7ffeffff
-#define KERNELD_MINSEQ 0x7fff0000 /* "commands" legal up to 0x7ffeffff */
-#define KERNELD_WAIT 0x80000000
-#define KERNELD_NOWAIT 0
-
-struct kerneld_msg
- {
- long mtype;
- long id;
-#ifdef NEW_KERNELD_PROTOCOL
- short version;
- short pid;
-#endif /* NEW_KERNELD_PROTOCOL */
- char text[1];
- };
-
-#endif /* kerneld.h */
diff --git a/mdk-stage1/insmod-modutils/include/modstat.h b/mdk-stage1/insmod-modutils/include/modstat.h
deleted file mode 100644
index b8a58eeae..000000000
--- a/mdk-stage1/insmod-modutils/include/modstat.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * For kernel module status and information
- *
- * Add module_name_list and l_module_name_list.
- * Keith Owens <kaos@ocs.com.au> November 1999.
- * Björn Ekwall <bj0rn@blox.se> February 1999.
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-#ifndef _KERNEL_H
-#define _KERNEL_H
-
-#define K_SYMBOLS 1 /* Want info about symbols */
-#define K_INFO 2 /* Want extended module info */
-#define K_REFS 4 /* Want info about references */
-
-struct module_stat {
- char *name;
- unsigned long addr;
- unsigned long modstruct; /* COMPAT_2_0! *//* depends on architecture? */
- unsigned long size;
- unsigned long flags;
- long usecount;
- size_t nsyms;
- struct module_symbol *syms;
- size_t nrefs;
- struct module_stat **refs;
- unsigned long status;
-};
-
-extern struct module_stat *module_stat;
-extern size_t n_module_stat;
-extern char *module_name_list;
-extern size_t l_module_name_list;
-extern struct module_symbol *ksyms;
-extern size_t nksyms;
-extern int k_new_syscalls;
-
-int get_kernel_info(int type);
-
-#endif /* _KERNEL_H */
diff --git a/mdk-stage1/insmod-modutils/include/module.h b/mdk-stage1/insmod-modutils/include/module.h
deleted file mode 100644
index ae8224f8a..000000000
--- a/mdk-stage1/insmod-modutils/include/module.h
+++ /dev/null
@@ -1,217 +0,0 @@
-#ifndef MODUTILS_MODULE_H
-#define MODUTILS_MODULE_H 1
-
-/* Definitions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-/* This file contains the structures used by the 2.0 and 2.1 kernels.
- We do not use the kernel headers directly because we do not wish
- to be dependant on a particular kernel version to compile insmod. */
-
-
-/*======================================================================*/
-/* The structures used by Linux 2.0. */
-
-/* The symbol format used by get_kernel_syms(2). */
-struct old_kernel_sym
-{
- unsigned long value;
- char name[60];
-};
-
-struct old_module_ref
-{
- unsigned long module; /* kernel addresses */
- unsigned long next;
-};
-
-struct old_module_symbol
-{
- unsigned long addr;
- unsigned long name;
-};
-
-struct old_symbol_table
-{
- int size; /* total, including string table!!! */
- int n_symbols;
- int n_refs;
- struct old_module_symbol symbol[0]; /* actual size defined by n_symbols */
- struct old_module_ref ref[0]; /* actual size defined by n_refs */
-};
-
-struct old_mod_routines
-{
- unsigned long init;
- unsigned long cleanup;
-};
-
-struct old_module
-{
- unsigned long next;
- unsigned long ref; /* the list of modules that refer to me */
- unsigned long symtab;
- unsigned long name;
- int size; /* size of module in pages */
- unsigned long addr; /* address of module */
- int state;
- unsigned long cleanup; /* cleanup routine */
-};
-
-/* Sent to init_module(2) or'ed into the code size parameter. */
-#define OLD_MOD_AUTOCLEAN 0x40000000 /* big enough, but no sign problems... */
-
-int get_kernel_syms(struct old_kernel_sym *);
-int old_sys_init_module(const char *name, char *code, unsigned codesize,
- struct old_mod_routines *, struct old_symbol_table *);
-
-/*======================================================================*/
-/* For sizeof() which are related to the module platform and not to the
- environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */
-
-#define tgt_sizeof_char sizeof(char)
-#define tgt_sizeof_short sizeof(short)
-#define tgt_sizeof_int sizeof(int)
-#define tgt_sizeof_long sizeof(long)
-#define tgt_sizeof_char_p sizeof(char *)
-#define tgt_sizeof_void_p sizeof(void *)
-#define tgt_long long
-#define tgt_long_fmt "l"
-
-/* This assumes that long long on a 32 bit system is equivalent to long on the
- * equivalent 64 bit system. Also that void and char pointers are 8 bytes on
- * all 64 bit systems. Add per system tweaks if it ever becomes necessary.
- */
-#if defined(COMMON_3264) && defined(ONLY_64)
-#undef tgt_long
-#undef tgt_long_fmt
-#undef tgt_sizeof_long
-#undef tgt_sizeof_char_p
-#undef tgt_sizeof_void_p
-#define tgt_long long long
-#define tgt_long_fmt "ll"
-#define tgt_sizeof_long 8
-#define tgt_sizeof_char_p 8
-#define tgt_sizeof_void_p 8
-#endif
-
-/*======================================================================*/
-/* The structures used in Linux 2.1 onwards. */
-
-/* Note: module_symbol does not use tgt_long intentionally */
-struct module_symbol
-{
- unsigned long value;
- unsigned long name;
-};
-
-struct module_ref
-{
- unsigned tgt_long dep; /* kernel addresses */
- unsigned tgt_long ref;
- unsigned tgt_long next_ref;
-};
-
-struct module
-{
- unsigned tgt_long size_of_struct; /* == sizeof(module) */
- unsigned tgt_long next;
- unsigned tgt_long name;
- unsigned tgt_long size;
-
- tgt_long usecount;
- unsigned tgt_long flags; /* AUTOCLEAN et al */
-
- unsigned nsyms;
- unsigned ndeps;
-
- unsigned tgt_long syms;
- unsigned tgt_long deps;
- unsigned tgt_long refs;
- unsigned tgt_long init;
- unsigned tgt_long cleanup;
- unsigned tgt_long ex_table_start;
- unsigned tgt_long ex_table_end;
-#ifdef __alpha__
- unsigned tgt_long gp;
-#endif
- /* Everything after here is extension. */
- unsigned tgt_long read_start; /* Read data from existing module */
- unsigned tgt_long read_end;
- unsigned tgt_long can_unload;
- unsigned tgt_long runsize;
- unsigned tgt_long kallsyms_start;
- unsigned tgt_long kallsyms_end;
- unsigned tgt_long archdata_start;
- unsigned tgt_long archdata_end;
- unsigned tgt_long kernel_data;
-};
-
-struct module_info
-{
- unsigned long addr;
- unsigned long size;
- unsigned long flags;
- long usecount;
-};
-
-/* Bits of module.flags. */
-#define NEW_MOD_RUNNING 1
-#define NEW_MOD_DELETED 2
-#define NEW_MOD_AUTOCLEAN 4
-#define NEW_MOD_VISITED 8
-#define NEW_MOD_USED_ONCE 16
-#define NEW_MOD_INITIALIZING 64
-
-int sys_init_module(const char *name, const struct module *);
-int query_module(const char *name, int which, void *buf, size_t bufsize,
- size_t *ret);
-
-/* Values for query_module's which. */
-
-#define QM_MODULES 1
-#define QM_DEPS 2
-#define QM_REFS 3
-#define QM_SYMBOLS 4
-#define QM_INFO 5
-
-/*======================================================================*/
-/* The system calls unchanged between 2.0 and 2.1. */
-
-unsigned long create_module(const char *, size_t);
-int delete_module(const char *);
-
-/* In safe mode the last parameter is forced to be a module name and meta
- * expansion is not allowed on that name.
- */
-extern unsigned int safemode;
-
-/*======================================================================*/
-/* Tainted kernel information. This must match include/linux/kernel.h */
-/* and kernel/panic.c. */
-
-#define TAINT_FILENAME "/proc/sys/kernel/tainted"
-#define TAINT_PROPRIETORY_MODULE (1<<0)
-#define TAINT_FORCED_MODULE (1<<1)
-#define TAINT_UNSAFE_SMP (1<<2)
-
-#endif /* module.h */
diff --git a/mdk-stage1/insmod-modutils/include/obj.h b/mdk-stage1/insmod-modutils/include/obj.h
deleted file mode 100644
index de346b16a..000000000
--- a/mdk-stage1/insmod-modutils/include/obj.h
+++ /dev/null
@@ -1,298 +0,0 @@
-#ifndef MODUTILS_OBJ_H
-#define MODUTILS_OBJ_H 1
-
-/* Elf object file loading and relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
- obj_free() added by Björn Ekwall <bj0rn@blox.se> March 1999
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <elf.h>
-#include ELF_MACHINE_H
-#include "module.h"
-
-#ifndef ElfW
-# if ELFCLASSM == ELFCLASS32
-# define ElfW(x) Elf32_ ## x
-# define ELFW(x) ELF32_ ## x
-# else
-# define ElfW(x) Elf64_ ## x
-# define ELFW(x) ELF64_ ## x
-# endif
-#endif
-
-#if defined(COMMON_3264) && defined(ONLY_32)
-# define ObjW(x) obj32_ ## x
-#else
-# if defined(COMMON_3264) && defined(ONLY_64)
-# define ObjW(x) obj64_ ## x
-# else
-# define ObjW(x) obj_ ## x
-# endif
-#endif
-
-/* For some reason this is missing from lib5. */
-#ifndef ELF32_ST_INFO
-# define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-#ifndef ELF64_ST_INFO
-# define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-#endif
-
-struct obj_string_patch_struct;
-struct obj_symbol_patch_struct;
-
-struct obj_section
-{
- ElfW(Shdr) header;
- const char *name;
- char *contents;
- struct obj_section *load_next;
- int idx;
-};
-
-struct obj_symbol
-{
- struct obj_symbol *next; /* hash table link */
- const char *name;
- tgt_long value;
- unsigned long size;
- int secidx; /* the defining section index/module */
- int info;
- int ksymidx; /* for export to the kernel symtab */
- int r_type; /* relocation type */
-};
-
-/* Hardcode the hash table size. We shouldn't be needing so many
- symbols that we begin to degrade performance, and we get a big win
- by giving the compiler a constant divisor. */
-
-#define HASH_BUCKETS 521
-
-struct obj_file
-{
- ElfW(Ehdr) header;
- ElfW(Addr) baseaddr;
- struct obj_section **sections;
- struct obj_section *load_order;
- struct obj_section **load_order_search_start;
- struct obj_string_patch_struct *string_patches;
- struct obj_symbol_patch_struct *symbol_patches;
- int (*symbol_cmp)(const char *, const char *);
- unsigned long (*symbol_hash)(const char *);
- unsigned long local_symtab_size;
- struct obj_symbol **local_symtab;
- struct obj_symbol *symtab[HASH_BUCKETS];
- const char *filename;
- char *persist;
-};
-
-enum obj_reloc
-{
- obj_reloc_ok,
- obj_reloc_overflow,
- obj_reloc_dangerous,
- obj_reloc_unhandled,
- obj_reloc_constant_gp
-};
-
-struct obj_string_patch_struct
-{
- struct obj_string_patch_struct *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- ElfW(Addr) string_offset;
-};
-
-struct obj_symbol_patch_struct
-{
- struct obj_symbol_patch_struct *next;
- int reloc_secidx;
- ElfW(Addr) reloc_offset;
- struct obj_symbol *sym;
-};
-
-
-/* Generic object manipulation routines. */
-
-#define obj_elf_hash ObjW(elf_hash)
-#define obj_elf_hash_n ObjW(elf_hash_n)
-#define obj_add_symbol ObjW(add_symbol)
-#define obj_find_symbol ObjW(find_symbol)
-#define obj_symbol_final_value ObjW(symbol_final_value)
-#define obj_set_symbol_compare ObjW(set_symbol_compare)
-#define obj_find_section ObjW(find_section)
-#define obj_insert_section_load_order ObjW(insert_section_load_order)
-#define obj_create_alloced_section ObjW(create_alloced_section)
-#define obj_create_alloced_section_first \
- ObjW(create_alloced_section_first)
-#define obj_extend_section ObjW(extend_section)
-#define obj_string_patch ObjW(string_patch)
-#define obj_symbol_patch ObjW(symbol_patch)
-#define obj_check_undefineds ObjW(check_undefineds)
-#define obj_clear_undefineds ObjW(clear_undefineds)
-#define obj_allocate_commons ObjW(allocate_commons)
-#define obj_load_size ObjW(load_size)
-#define obj_relocate ObjW(relocate)
-#define obj_load ObjW(load)
-#define obj_free ObjW(free)
-#define obj_create_image ObjW(create_image)
-#define obj_addr_to_native_ptr ObjW(addr_to_native_ptr)
-#define obj_native_ptr_to_addr ObjW(native_ptr_to_addr)
-#define obj_kallsyms ObjW(kallsyms)
-#define obj_gpl_license ObjW(gpl_license)
-#define arch_new_file ObjW(arch_new_file)
-#define arch_new_section ObjW(arch_new_section)
-#define arch_new_symbol ObjW(arch_new_symbol)
-#define arch_apply_relocation ObjW(arch_apply_relocation)
-#define arch_create_got ObjW(arch_create_got)
-#define arch_init_module ObjW(arch_init_module)
-#define arch_load_proc_section ObjW(arch_load_proc_section)
-#define arch_finalize_section_address ObjW(arch_finalize_section_address)
-#define arch_archdata ObjW(arch_archdata)
-
-unsigned long obj_elf_hash (const char *);
-
-unsigned long obj_elf_hash_n (const char *, unsigned long len);
-
-struct obj_symbol *obj_add_symbol (struct obj_file *f, const char *name,
- unsigned long symidx, int info, int secidx,
- ElfW(Addr) value, unsigned long size);
-
-struct obj_symbol *obj_find_symbol (struct obj_file *f,
- const char *name);
-
-ElfW(Addr) obj_symbol_final_value (struct obj_file *f,
- struct obj_symbol *sym);
-
-void obj_set_symbol_compare (struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *));
-
-struct obj_section *obj_find_section (struct obj_file *f,
- const char *name);
-
-void obj_insert_section_load_order (struct obj_file *f,
- struct obj_section *sec);
-
-struct obj_section *obj_create_alloced_section (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size,
- unsigned long flags);
-
-struct obj_section *obj_create_alloced_section_first (struct obj_file *f,
- const char *name,
- unsigned long align,
- unsigned long size);
-
-void *obj_extend_section (struct obj_section *sec, unsigned long more);
-
-int obj_string_patch (struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string);
-
-int obj_symbol_patch (struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym);
-
-int obj_check_undefineds (struct obj_file *f, int quiet);
-
-void obj_clear_undefineds (struct obj_file *f);
-
-void obj_allocate_commons (struct obj_file *f);
-
-unsigned long obj_load_size (struct obj_file *f);
-
-int obj_relocate (struct obj_file *f, ElfW(Addr) base);
-
-struct obj_file *obj_load (int f, Elf32_Half e_type, const char *filename);
-
-void obj_free (struct obj_file *f);
-
-int obj_create_image (struct obj_file *f, char *image);
-
-int obj_kallsyms (struct obj_file *fin, struct obj_file **fout);
-
-/* Architecture specific manipulation routines. */
-
-struct obj_file *arch_new_file (void);
-
-struct obj_section *arch_new_section (void);
-
-struct obj_symbol *arch_new_symbol (void);
-
-enum obj_reloc arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- ElfW(RelM) *rel, ElfW(Addr) value);
-
-int arch_create_got (struct obj_file *f);
-
-struct module;
-int arch_init_module (struct obj_file *f, struct module *);
-
-int arch_load_proc_section (struct obj_section *sec, int fp);
-
-int arch_finalize_section_address (struct obj_file *f, ElfW(Addr) base);
-
-int arch_archdata (struct obj_file *fin, struct obj_section *sec);
-
-#define ARCHDATA_SEC_NAME "__archdata"
-
-/* Pointers in objects can be 32 or 64 bit */
-union obj_ptr_4 {
- Elf32_Word addr;
- void *ptr;
-};
-union obj_ptr_8 {
- u_int64_t addr; /* Should be Elf64_Xword but not all users have this yet */
- void *ptr;
-};
-
-void *obj_addr_to_native_ptr(ElfW(Addr));
-
-ElfW(Addr) obj_native_ptr_to_addr(void *);
-
-/* Standard method of finding relocation symbols, sets isym */
-#define obj_find_relsym(isym, f, find, rel, symtab, strtab) \
- { \
- unsigned long symndx = ELFW(R_SYM)((rel)->r_info); \
- ElfW(Sym) *extsym = (symtab)+symndx; \
- if (ELFW(ST_BIND)(extsym->st_info) == STB_LOCAL) { \
- isym = (typeof(isym)) (f)->local_symtab[symndx]; \
- } \
- else { \
- const char *name; \
- if (extsym->st_name) \
- name = (strtab) + extsym->st_name; \
- else \
- name = (f)->sections[extsym->st_shndx]->name; \
- isym = (typeof(isym)) obj_find_symbol((find), name); \
- } \
- }
-
-int obj_gpl_license(struct obj_file *, const char **);
-
-#endif /* obj.h */
diff --git a/mdk-stage1/insmod-modutils/include/util.h b/mdk-stage1/insmod-modutils/include/util.h
deleted file mode 100644
index 0a1354bec..000000000
--- a/mdk-stage1/insmod-modutils/include/util.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef MODUTILS_UTIL_H
-#define MODUTILS_UTIL_H 1
-
-/* Miscelaneous utility functions.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#include <stdio.h>
-#include <sys/stat.h>
-
-#define SHELL_META "&();|<>$`\"'\\!{}[]~=+:?*" /* Sum of bj0rn and Debian */
-
-void *xmalloc(size_t);
-void *xrealloc(void *, size_t);
-char *xstrdup(const char *);
-char *xstrcat(char *, const char *, size_t);
-int xsystem(const char *, char *const[]);
-int arch64(void);
-
-typedef int (*xftw_func_t)(const char *, const struct stat *);
-extern int xftw(const char *directory, xftw_func_t);
-
-/* Error logging */
-extern int log;
-extern int errors;
-extern const char *error_file;
-
-extern int flag_verbose;
-extern void verbose(const char *ctl,...);
-
-void error(const char *fmt, ...)
-#ifdef __GNUC__
- __attribute__((format(printf, 1, 2)))
-#endif
- ;
-
-void lprintf(const char *fmt, ...)
-#ifdef __GNUC__
- __attribute__((format(printf, 1, 2)))
-#endif
- ;
-
-void setsyslog(const char *program);
-
-/*
- * Generic globlist <bj0rn@blox.se>
- */
-typedef struct {
- int pathc; /* Count of paths matched so far */
- char **pathv; /* List of matched pathnames. */
-} GLOB_LIST;
-int meta_expand(char *pt, GLOB_LIST *g, char *base_dir, char *version, int type);
-#define ME_BUILTIN_COMMAND 1
-#define ME_SHELL_COMMAND 2
-#define ME_GLOB 4
-#define ME_ALL (ME_GLOB|ME_SHELL_COMMAND|ME_BUILTIN_COMMAND)
-
-extern void snap_shot(const char *module_name, int number);
-extern void snap_shot_log(const char *fmt,...);
-
-#ifdef CONFIG_USE_ZLIB
-int gzf_open(const char *name, int mode);
-int gzf_read(int fd, void *buf, size_t count);
-off_t gzf_lseek(int fd, off_t offset, int whence);
-void gzf_close(int fd);
-
-#else /* ! CONFIG_USE_ZLIB */
-
-#include <unistd.h>
-
-#define gzf_open open
-#define gzf_read read
-#define gzf_lseek lseek
-#define gzf_close close
-
-#endif /* CONFIG_USE_ZLIB */
-
-#define SYMPREFIX "__insmod_";
-extern const char symprefix[10]; /* Must be sizeof(SYMPREFIX), including nul */
-
-#endif /* util.h */
diff --git a/mdk-stage1/insmod-modutils/include/version.h b/mdk-stage1/insmod-modutils/include/version.h
deleted file mode 100644
index 9ca0c57a9..000000000
--- a/mdk-stage1/insmod-modutils/include/version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define MODUTILS_VERSION "2.4.19"
diff --git a/mdk-stage1/insmod-modutils/insmod-frontend.c b/mdk-stage1/insmod-modutils/insmod-frontend.c
deleted file mode 100644
index 2b3aa1acb..000000000
--- a/mdk-stage1/insmod-modutils/insmod-frontend.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdio.h>
-
-
-int insmod_main( int argc, char **argv);
-
-int main( int argc, char **argv)
-{
- printf("Using insmod provided by modutils.\n");
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-modutils/insmod.c b/mdk-stage1/insmod-modutils/insmod.c
deleted file mode 100644
index b0b7c2a0d..000000000
--- a/mdk-stage1/insmod-modutils/insmod.c
+++ /dev/null
@@ -1,2141 +0,0 @@
-/* Insert a module into a running kernel.
- Copyright 1996, 1997 Linux International.
-
- New implementation contributed by Richard Henderson <rth@tamu.edu>
- Based on original work by Bjorn Ekwall <bj0rn@blox.se>
- Restructured (and partly rewritten) by:
- Björn Ekwall <bj0rn@blox.se> February 1999
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
- /*
- Fixes:
-
- Adjust module size for mod_use_count in old_init_module:
- B. James Phillippe <bryan@terran.org>
-
- Merged modprobe + many fixes: Björn Ekwall <bj0rn@blox.se> February 1999
- SMP "friendliness" (and -P): Bill Zumach <zumach+@transarc.com>
-
- Ksymoops support: Keith Owens <kaos@ocs.com.au> August 1999.
-
- Add -r flag: Keith Owens <kaos@ocs.com.au> October 1999.
-
- More flexible recognition of the way the utility was called.
- Suggested by Stepan Kasal, implemented in a different way by Keith
- Owens <kaos@ocs.com.au> December 1999.
-
- Rationalize common code for 32/64 bit architectures.
- Keith Owens <kaos@ocs.com.au> December 1999.
- Add arch64().
- Keith Owens <kaos@ocs.com.au> December 1999.
- kallsyms support
- Keith Owens <kaos@ocs.com.au> April 2000.
- archdata support
- Keith Owens <kaos@ocs.com.au> August 2000.
- Add insmod -O, move print map before sys_init_module.
- Keith Owens <kaos@ocs.com.au> October 2000.
- Add insmod -S.
- Keith Owens <kaos@ocs.com.au> November 2000.
- Add persistent data support.
- Keith Owens <kaos@ocs.com.au> November 2000.
- Add tainted module support.
- Keith Owens <kaos@ocs.com.au> September 2001.
- */
-
-#include "../insmod.h"
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <limits.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stddef.h>
-#include <getopt.h>
-#include <sys/stat.h>
-#include <sys/file.h>
-#include <sys/fcntl.h>
-
-#include "module.h"
-#include "obj.h"
-#include "kallsyms.h"
-#include "util.h"
-#include "version.h"
-
-#include "modstat.h"
-#include "config.h"
-
-#define STRVERSIONLEN 32
-
-/*======================================================================*/
-
-static int flag_force_load = 0;
-static int flag_silent_probe = 0;
-static int flag_export = 1;
-static int flag_load_map = 0;
-static int flag_ksymoops = 1;
-static int flag_numeric_only = 0;
-
-static int n_ext_modules_used;
-static int m_has_modinfo;
-static int gplonly_seen;
-static int warnings;
-
-extern int insmod_main(int argc, char **argv);
-extern int insmod_main_32(int argc, char **argv);
-extern int insmod_main_64(int argc, char **argv);
-extern int modprobe_main(int argc, char **argv);
-extern int rmmod_main(int argc, char **argv);
-extern int ksyms_main(int argc, char **argv);
-extern int lsmod_main(int argc, char **argv);
-extern int kallsyms_main(int argc, char **argv);
-
-/*======================================================================*/
-
-/* Only use the numeric part of the version string? */
-
-static void use_numeric_only(int major, int minor, char *str)
-{
- if (((major << 8) + minor) >= 0x0205 /* kernel 2.5 */
- || flag_numeric_only)
- *str = '\0';
-}
-
-/* Get the kernel version in the canonical integer form. */
-
-static int get_kernel_version(char str[STRVERSIONLEN])
-{
- char *p, *q;
- int a, b, c;
-
- strncpy(str, uts_info.release, STRVERSIONLEN-1);
- str[STRVERSIONLEN-1] = '\0';
- p = str;
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
- use_numeric_only(a, b, q);
-
- return a << 16 | b << 8 | c;
-}
-
-/* String comparison for non-co-versioned kernel and module.
- * prefix should be the same as used by genksyms for this kernel.
- */
-static char *ncv_prefix = NULL; /* Overridden by --prefix option */
-static int ncv_plen = 0;
-
-/* Only set prefix once. If set by the user, use it. If not set by the
- * user, look for a well known kernel symbol and derive the prefix from
- * there. Otherwise set the prefix depending on whether uts_info
- * includes SMP or not for backwards compatibility.
- */
-static void set_ncv_prefix(char *prefix)
-{
- static char derived_prefix[256];
- static const char *well_known_symbol[] = { "get_module_symbol_R",
- "inter_module_get_R",
- };
- struct module_symbol *s;
- int i, j, l, m, pl;
- const char *name;
- char *p;
-
- if (ncv_prefix)
- return;
-
- if (prefix)
- ncv_prefix = prefix;
- else {
- /* Extract the prefix (if any) from well known symbols */
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s) {
- name = (char *) s->name;
- l = strlen(name);
- for (j = 0; j < sizeof(well_known_symbol)/sizeof(well_known_symbol[0]); ++j) {
- m = strlen(well_known_symbol[j]);
- if (m + 8 > l ||
- strncmp(name, well_known_symbol[j], m))
- continue;
- pl = l - m - 8;
- if (pl > sizeof(derived_prefix)-1)
- continue; /* Prefix is wrong length */
- /* Must end with 8 hex digits */
- (void) strtoul(name+l-8, &p, 16);
- if (*p == 0) {
- strncpy(derived_prefix, name+m, pl);
- *(derived_prefix+pl) = '\0';
- ncv_prefix = derived_prefix;
- break;
- }
- }
- }
- }
- if (!ncv_prefix) {
- p = strchr(uts_info.version, ' ');
- if (p && *(++p) && !strncmp(p, "SMP ", 4))
- ncv_prefix = "smp_";
- else
- ncv_prefix = "";
- }
- ncv_plen = strlen(ncv_prefix);
- if (flag_verbose)
- lprintf("Symbol version prefix '%s'", ncv_prefix);
-}
-
-static int ncv_strcmp(const char *a, const char *b)
-{
- size_t alen = strlen(a), blen = strlen(b);
-
- if (blen == alen + 10 + ncv_plen &&
- b[alen] == '_' &&
- b[alen + 1] == 'R' &&
- !(ncv_plen && strncmp(b + alen + 2, ncv_prefix, ncv_plen))) {
- return strncmp(a, b, alen);
- } else if (alen == blen + 10 + ncv_plen &&
- a[blen] == '_' && a[blen + 1] == 'R' &&
- !(ncv_plen && strncmp(a + blen + 2, ncv_prefix, ncv_plen))) {
- return strncmp(a, b, blen);
- } else
- return strcmp(a, b);
-}
-
-/*
- * String hashing for non-co-versioned kernel and module.
- * Here we are simply forced to drop the crc from the hash.
- */
-static unsigned long ncv_symbol_hash(const char *str)
-{
- size_t len = strlen(str);
-
- if (len > 10 + ncv_plen &&
- str[len - 10 - ncv_plen] == '_' &&
- str[len - 9 - ncv_plen] == 'R' &&
- !(
- ncv_plen &&
- strncmp(str + len - (8 + ncv_plen), ncv_prefix, ncv_plen)
- ))
- len -= 10 + ncv_plen;
- return obj_elf_hash_n(str, len);
-}
-
-/*
- * Conditionally add the symbols from the given symbol set
- * to the new module.
- */
-static int add_symbols_from(struct obj_file *f, int idx,
- struct module_symbol *syms, size_t nsyms, int gpl)
-{
- struct module_symbol *s;
- size_t i;
- int used = 0;
-
- for (i = 0, s = syms; i < nsyms; ++i, ++s) {
- /*
- * Only add symbols that are already marked external.
- * If we override locals we may cause problems for
- * argument initialization.
- * We will also create a false dependency on the module.
- */
- struct obj_symbol *sym;
-
- /* GPL licensed modules can use symbols exported with
- * EXPORT_SYMBOL_GPL, so ignore any GPLONLY_ prefix on the
- * exported names. Non-GPL modules never see any GPLONLY_
- * symbols so they cannot fudge it by adding the prefix on
- * their references.
- */
- if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
- gplonly_seen = 1;
- if (gpl)
- ((char *)s->name) += 8;
- else
- continue;
- }
-
- sym = obj_find_symbol(f, (char *) s->name);
-#ifdef ARCH_ppc64
- if (!sym)
- {
- static size_t buflen = 0;
- static char *buf = 0;
- int len;
-
- /* ppc64 is one of those architectures with
- function descriptors. A function is exported
- and accessed across object boundaries via its
- function descriptor. The function code symbol
- happens to be the function name, prefixed with
- '.', and a function call is a branch to the
- code symbol. The linker recognises when a call
- crosses object boundaries, and inserts a stub
- to call via the function descriptor.
- obj_ppc64.c of course does the same thing, so
- here we recognise that an undefined code symbol
- can be satisfied by the corresponding function
- descriptor symbol. */
-
- len = strlen ((char *) s->name) + 2;
- if (buflen < len)
- {
- buflen = len + (len >> 1);
- if (buf)
- free (buf);
- buf = malloc (buflen);
- }
- buf[0] = '.';
- strcpy (buf + 1, (char *) s->name);
- sym = obj_find_symbol(f, buf);
- }
-#endif /* ARCH_ppc64 */
-
- if (sym && ELFW(ST_BIND) (sym->info) != STB_LOCAL) {
- sym = obj_add_symbol(f, (char *) s->name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- idx, s->value, 0);
- /*
- * Did our symbol just get installed?
- * If so, mark the module as "used".
- */
- if (sym->secidx == idx)
- used = 1;
- }
- }
-
- return used;
-}
-
-static void add_kernel_symbols(struct obj_file *f, int gpl)
-{
- struct module_stat *m;
- size_t i, nused = 0;
-
- /* Add module symbols first. */
- for (i = 0, m = module_stat; i < n_module_stat; ++i, ++m)
- if (m->nsyms &&
- add_symbols_from(f, SHN_HIRESERVE + 2 + i, m->syms, m->nsyms, gpl))
- m->status = 1 /* used */, ++nused;
- n_ext_modules_used = nused;
-
- /* And finally the symbols from the kernel proper. */
- if (nksyms)
- add_symbols_from(f, SHN_HIRESERVE + 1, ksyms, nksyms, gpl);
-}
-
-static void hide_special_symbols(struct obj_file *f)
-{
- struct obj_symbol *sym;
- const char *const *p;
- static const char *const specials[] =
- {
- "cleanup_module",
- "init_module",
- "kernel_version",
- NULL
- };
-
- for (p = specials; *p; ++p)
- if ((sym = obj_find_symbol(f, *p)) != NULL)
- sym->info = ELFW(ST_INFO) (STB_LOCAL, ELFW(ST_TYPE) (sym->info));
-}
-
-static void print_load_map(struct obj_file *f)
-{
- struct obj_symbol *sym;
- struct obj_symbol **all, **p;
- struct obj_section *sec;
- int load_map_cmp(const void *a, const void *b) {
- struct obj_symbol **as = (struct obj_symbol **) a;
- struct obj_symbol **bs = (struct obj_symbol **) b;
- unsigned long aa = obj_symbol_final_value(f, *as);
- unsigned long ba = obj_symbol_final_value(f, *bs);
- return aa < ba ? -1 : aa > ba ? 1 : 0;
- }
- int i, nsyms, *loaded;
-
- /* Report on the section layout. */
-
- lprintf("Sections: Size %-*s Align",
- (int) (2 * sizeof(void *)), "Address");
-
- for (sec = f->load_order; sec; sec = sec->load_next) {
- int a;
- unsigned long tmp;
-
- for (a = -1, tmp = sec->header.sh_addralign; tmp; ++a)
- tmp >>= 1;
- if (a == -1)
- a = 0;
-
- lprintf("%-15s %08lx %0*lx 2**%d",
- sec->name,
- (long)sec->header.sh_size,
- (int) (2 * sizeof(void *)),
- (long)sec->header.sh_addr,
- a);
- }
-
- /* Quick reference which section indicies are loaded. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- /* Collect the symbols we'll be listing. */
-
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
- ++nsyms;
-
- all = alloca(nsyms * sizeof(struct obj_symbol *));
-
- for (i = 0, p = all; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
- *p++ = sym;
-
- /* Sort them by final value. */
- qsort(all, nsyms, sizeof(struct obj_file *), load_map_cmp);
-
- /* And list them. */
- lprintf("\nSymbols:");
- for (p = all; p < all + nsyms; ++p) {
- char type = '?';
- unsigned long value;
-
- sym = *p;
- if (sym->secidx == SHN_ABS) {
- type = 'A';
- value = sym->value;
- } else if (sym->secidx == SHN_UNDEF) {
- type = 'U';
- value = 0;
- } else {
- struct obj_section *sec = f->sections[sym->secidx];
-
- if (sec->header.sh_type == SHT_NOBITS)
- type = 'B';
- else if (sec->header.sh_flags & SHF_ALLOC) {
- if (sec->header.sh_flags & SHF_EXECINSTR)
- type = 'T';
- else if (sec->header.sh_flags & SHF_WRITE)
- type = 'D';
- else
- type = 'R';
- }
- value = sym->value + sec->header.sh_addr;
- }
-
- if (ELFW(ST_BIND) (sym->info) == STB_LOCAL)
- type = tolower(type);
-
- lprintf("%0*lx %c %s", (int) (2 * sizeof(void *)), value,
- type, sym->name);
- }
-}
-
-/************************************************************************/
-/* begin compat */
-
-static char * get_modinfo_value(struct obj_file *f, const char *key)
-{
- struct obj_section *sec;
- char *p, *v, *n, *ep;
- size_t klen = strlen(key);
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL)
- return NULL;
-
- p = sec->contents;
- ep = p + sec->header.sh_size;
- while (p < ep) {
- v = strchr(p, '=');
- n = strchr(p, '\0');
- if (v) {
- if (v - p == klen && strncmp(p, key, klen) == 0)
- return v + 1;
- } else {
- if (n - p == klen && strcmp(p, key) == 0)
- return n;
- }
- p = n + 1;
- }
-
- return NULL;
-}
-
-static int create_this_module(struct obj_file *f, const char *m_name)
-{
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- sizeof(struct module));
- memset(sec->contents, 0, sizeof(struct module));
-
- obj_add_symbol(f, "__this_module", -1, ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT),
- sec->idx, 0, sizeof(struct module));
-
- obj_string_patch(f, sec->idx, offsetof(struct module, name), m_name);
-
- return 1;
-}
-
-#ifdef COMPAT_2_0
-static int old_create_mod_use_count(struct obj_file *f)
-{
- struct obj_section *sec;
- struct obj_symbol *got;
-
- sec = obj_create_alloced_section_first(f, ".moduse",
- sizeof(long), sizeof(long));
-
- obj_add_symbol(f, "mod_use_count_",
- -1, ELFW(ST_INFO)(STB_LOCAL, STT_OBJECT),
- sec->idx, 0, sizeof(long));
-
- /*
- * patb: if there is a _GLOBAL_OFFSET_TABLE_,
- * add .got section for PIC type modules;
- * we have to do this here, because obj_* calls are not made until
- * after obj_check_undefined
- * is there a better place for this exception?
- */
- got = obj_find_symbol(f, "_GLOBAL_OFFSET_TABLE_");
- if (got)
- {
- sec = obj_create_alloced_section(f, ".got",
- sizeof(long), sizeof(long),
- SHF_WRITE);
- got->secidx = sec->idx; /* mark the symbol as defined */
- }
- return 1;
-}
-#endif
-
-/* add an entry to the __ksymtab section, creating it if necessary */
-static void add_ksymtab(struct obj_file *f, struct obj_symbol *sym)
-{
- struct obj_section *sec;
- ElfW(Addr) ofs;
-
- /* ensure __ksymtab is allocated, EXPORT_NOSYMBOLS creates a non-alloc section.
- * If __ksymtab is defined but not marked alloc, x out the first character
- * (no obj_delete routine) and create a new __ksymtab with the correct
- * characteristics.
- */
- sec = obj_find_section(f, "__ksymtab");
- if (sec && !(sec->header.sh_flags & SHF_ALLOC)) {
- *((char *)(sec->name)) = 'x'; /* override const */
- sec = NULL;
- }
- if (!sec)
- sec = obj_create_alloced_section(f, "__ksymtab",
- tgt_sizeof_void_p, 0, 0);
- if (!sec)
- return;
- sec->header.sh_flags |= SHF_ALLOC;
-
- ofs = sec->header.sh_size;
- obj_symbol_patch(f, sec->idx, ofs, sym);
- obj_string_patch(f, sec->idx, ofs + tgt_sizeof_void_p, sym->name);
- obj_extend_section(sec, 2 * tgt_sizeof_char_p);
-}
-
-static int create_module_ksymtab(struct obj_file *f)
-{
- struct obj_section *sec;
- int i;
-
- /* We must always add the module references. */
-
- if (n_ext_modules_used) {
- struct module_ref *dep;
- struct obj_symbol *tm;
-
- sec = obj_create_alloced_section(f, ".kmodtab",
- tgt_sizeof_void_p,
- sizeof(struct module_ref) * n_ext_modules_used, 0);
- if (!sec)
- return 0;
-
- tm = obj_find_symbol(f, "__this_module");
- dep = (struct module_ref *) sec->contents;
- for (i = 0; i < n_module_stat; ++i)
- if (module_stat[i].status /* used */) {
- dep->dep = module_stat[i].addr;
-#ifdef ARCH_ppc64
- dep->dep |= ppc64_module_base (f);
-#endif
- obj_symbol_patch(f, sec->idx, (char *) &dep->ref - sec->contents, tm);
- dep->next_ref = 0;
- ++dep;
- }
- }
- if (flag_export && !obj_find_section(f, "__ksymtab")) {
- int *loaded;
-
- /* We don't want to export symbols residing in sections that
- aren't loaded. There are a number of these created so that
- we make sure certain module options don't appear twice. */
-
- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next) {
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE
- || loaded[sym->secidx])) {
- add_ksymtab(f, sym);
- }
- }
- }
- }
- return 1;
-}
-
-/* Get the module's kernel version in the canonical integer form. */
-static int get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
-{
- int a, b, c;
- char *p, *q;
-
- if ((p = get_modinfo_value(f, "kernel_version")) == NULL) {
- struct obj_symbol *sym;
-
- m_has_modinfo = 0;
- if ((sym = obj_find_symbol(f, "kernel_version")) == NULL)
- sym = obj_find_symbol(f, "__module_kernel_version");
- if (sym == NULL)
- return -1;
- p = f->sections[sym->secidx]->contents + sym->value;
- } else
- m_has_modinfo = 1;
-
- strncpy(str, p, STRVERSIONLEN-1);
- str[STRVERSIONLEN-1] = '\0';
- p = str;
-
- a = strtoul(p, &p, 10);
- if (*p != '.')
- return -1;
- b = strtoul(p + 1, &p, 10);
- if (*p != '.')
- return -1;
- c = strtoul(p + 1, &q, 10);
- if (p + 1 == q)
- return -1;
- use_numeric_only(a, b, q);
-
- return a << 16 | b << 8 | c;
-}
-
-/* Return the kernel symbol checksum version, or zero if not used. */
-static int is_kernel_checksummed(void)
-{
- struct module_symbol *s;
- size_t i;
-
- /*
- * Using_Versions might not be the first symbol,
- * but it should be in there.
- */
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s)
- if (strcmp((char *) s->name, "Using_Versions") == 0)
- return s->value;
-
- return 0;
-}
-
-static int is_module_checksummed(struct obj_file *f)
-{
- if (m_has_modinfo) {
- const char *p = get_modinfo_value(f, "using_checksums");
- if (p)
- return atoi(p);
- else
- return 0;
- } else
- return obj_find_symbol(f, "Using_Versions") != NULL;
-}
-
-/* add module source, timestamp, kernel version and a symbol for the
- * start of some sections. this info is used by ksymoops to do better
- * debugging.
- */
-static void add_ksymoops_symbols(struct obj_file *f, const char *filename,
- const char *m_name)
-{
- struct obj_section *sec;
- struct obj_symbol *sym;
- char *name, *absolute_filename;
- char str[STRVERSIONLEN], real[PATH_MAX];
- int i, l, lm_name, lfilename, use_ksymtab, version;
- struct stat statbuf;
-
- static const char *section_names[] = {
- ".text",
- ".rodata",
- ".data",
- ".bss"
- };
-
- if (realpath(filename, real)) {
- absolute_filename = xstrdup(real);
- }
- else {
- int save_errno = errno;
- error("cannot get realpath for %s", filename);
- errno = save_errno;
- perror("");
- absolute_filename = xstrdup(filename);
- }
-
- lm_name = strlen(m_name);
- lfilename = strlen(absolute_filename);
-
- /* add to ksymtab if it already exists or there is no ksymtab and other symbols
- * are not to be exported. otherwise leave ksymtab alone for now, the
- * "export all symbols" compatibility code will export these symbols later.
- */
-
- use_ksymtab = obj_find_section(f, "__ksymtab") || !flag_export;
-
- if ((sec = obj_find_section(f, ".this"))) {
- /* tag the module header with the object name, last modified
- * timestamp and module version. worst case for module version
- * is 0xffffff, decimal 16777215. putting all three fields in
- * one symbol is less readable but saves kernel space.
- */
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_O" */
- lfilename+ /* object filename */
- 2+ /* "_M" */
- 2*sizeof(statbuf.st_mtime)+ /* mtime in hex */
- 2+ /* "_V" */
- 8+ /* version in dec */
- 1; /* nul */
- name = xmalloc(l);
- if (stat(absolute_filename, &statbuf) != 0)
- statbuf.st_mtime = 0;
- version = get_module_version(f, str); /* -1 if not found */
- snprintf(name, l, "%s%s_O%s_M%0*lX_V%d",
- symprefix, m_name, absolute_filename,
- (int)(2*sizeof(statbuf.st_mtime)), statbuf.st_mtime,
- version);
- sym = obj_add_symbol(f, name, -1,
- ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
- free(absolute_filename);
-
- /* record where the persistent data is going, same address as previous symbol */
-
- if (f->persist) {
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_P" */
- strlen(f->persist)+ /* data store */
- 1; /* nul */
- name = xmalloc(l);
- snprintf(name, l, "%s%s_P%s",
- symprefix, m_name, f->persist);
- sym = obj_add_symbol(f, name, -1, ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
-
- /* tag the desired sections if size is non-zero */
-
- for (i = 0; i < sizeof(section_names)/sizeof(section_names[0]); ++i) {
- if ((sec = obj_find_section(f, section_names[i])) &&
- sec->header.sh_size) {
- l = sizeof(symprefix)+ /* "__insmod_" */
- lm_name+ /* module name */
- 2+ /* "_S" */
- strlen(sec->name)+ /* section name */
- 2+ /* "_L" */
- 8+ /* length in dec */
- 1; /* nul */
- name = xmalloc(l);
- snprintf(name, l, "%s%s_S%s_L%ld",
- symprefix, m_name, sec->name,
- (long)sec->header.sh_size);
- sym = obj_add_symbol(f, name, -1, ELFW(ST_INFO) (STB_GLOBAL, STT_NOTYPE),
- sec->idx, sec->header.sh_addr, 0);
- if (use_ksymtab)
- add_ksymtab(f, sym);
- }
- }
-}
-
-static int process_module_arguments(struct obj_file *f, int argc, char **argv, int required)
-{
- for (; argc > 0; ++argv, --argc) {
- struct obj_symbol *sym;
- int c;
- int min, max;
- int n;
- char *contents;
- char *input;
- char *fmt;
- char *key;
- char *loc;
-
- if ((input = strchr(*argv, '=')) == NULL)
- continue;
-
- n = input - *argv;
- input += 1; /* skip '=' */
-
- key = alloca(n + 6);
-
- if (m_has_modinfo) {
- memcpy(key, "parm_", 5);
- memcpy(key + 5, *argv, n);
- key[n + 5] = '\0';
- if ((fmt = get_modinfo_value(f, key)) == NULL) {
- if (required || flag_verbose) {
- lprintf("Warning: ignoring %s, no such parameter in this module", *argv);
- ++warnings;
- continue;
- }
- }
- key += 5;
-
- if (isdigit(*fmt)) {
- min = strtoul(fmt, &fmt, 10);
- if (*fmt == '-')
- max = strtoul(fmt + 1, &fmt, 10);
- else
- max = min;
- } else
- min = max = 1;
- } else { /* not m_has_modinfo */
- memcpy(key, *argv, n);
- key[n] = '\0';
-
- if (isdigit(*input))
- fmt = "i";
- else
- fmt = "s";
- min = max = 0;
- }
-
- sym = obj_find_symbol(f, key);
-
- /*
- * Also check that the parameter was not
- * resolved from the kernel.
- */
- if (sym == NULL || sym->secidx > SHN_HIRESERVE) {
- error("symbol for parameter %s not found", key);
- return 0;
- }
-
- contents = f->sections[sym->secidx]->contents;
- loc = contents + sym->value;
- n = 1;
-
- while (*input) {
- char *str;
-
- switch (*fmt) {
- case 's':
- case 'c':
- /*
- * Do C quoting if we begin with a ",
- * else slurp the lot.
- */
- if (*input == '"') {
- char *r;
-
- str = alloca(strlen(input));
- for (r = str, input++; *input != '"'; ++input, ++r) {
- if (*input == '\0') {
- error("improperly terminated string argument for %s", key);
- return 0;
- }
- /* else */
- if (*input != '\\') {
- *r = *input;
- continue;
- }
- /* else handle \ */
- switch (*++input) {
- case 'a': *r = '\a'; break;
- case 'b': *r = '\b'; break;
- case 'e': *r = '\033'; break;
- case 'f': *r = '\f'; break;
- case 'n': *r = '\n'; break;
- case 'r': *r = '\r'; break;
- case 't': *r = '\t'; break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- c = *input - '0';
- if ('0' <= input[1] && input[1] <= '7') {
- c = (c * 8) + *++input - '0';
- if ('0' <= input[1] && input[1] <= '7')
- c = (c * 8) + *++input - '0';
- }
- *r = c;
- break;
-
- default: *r = *input; break;
- }
- }
- *r = '\0';
- ++input;
- } else {
- /*
- * The string is not quoted.
- * We will break it using the comma
- * (like for ints).
- * If the user wants to include commas
- * in a string, he just has to quote it
- */
- char *r;
-
- /* Search the next comma */
- if ((r = strchr(input, ',')) != NULL) {
- /*
- * Found a comma
- * Recopy the current field
- */
- str = alloca(r - input + 1);
- memcpy(str, input, r - input);
- str[r - input] = '\0';
- /* Keep next fields */
- input = r;
- } else {
- /* last string */
- str = input;
- input = "";
- }
- }
-
- if (*fmt == 's') {
- /* Normal string */
- obj_string_patch(f, sym->secidx, loc - contents, str);
- loc += tgt_sizeof_char_p;
- } else {
- /* Array of chars (in fact, matrix !) */
- long charssize; /* size of each member */
-
- /* Get the size of each member */
- /* Probably we should do that outside the loop ? */
- if (!isdigit(*(fmt + 1))) {
- error("parameter type 'c' for %s must be followed by"
- " the maximum size", key);
- return 0;
- }
- charssize = strtoul(fmt + 1, (char **) NULL, 10);
-
- /* Check length */
- if (strlen(str) >= charssize-1) {
- error("string too long for %s (max %ld)",
- key, charssize - 1);
- return 0;
- }
- /* Copy to location */
- strcpy((char *) loc, str); /* safe, see check above */
- loc += charssize;
- }
- /*
- * End of 's' and 'c'
- */
- break;
-
- case 'b':
- *loc++ = strtoul(input, &input, 0);
- break;
-
- case 'h':
- *(short *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_short;
- break;
-
- case 'i':
- *(int *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_int;
- break;
-
- case 'l':
- *(long *) loc = strtoul(input, &input, 0);
- loc += tgt_sizeof_long;
- break;
-
- default:
- error("unknown parameter type '%c' for %s",
- *fmt, key);
- return 0;
- }
- /*
- * end of switch (*fmt)
- */
-
- while (*input && isspace(*input))
- ++input;
- if (*input == '\0')
- break; /* while (*input) */
- /* else */
-
- if (*input == ',') {
- if (max && (++n > max)) {
- error("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++input;
- /* continue with while (*input) */
- } else {
- error("invalid argument syntax for %s: '%c'",
- key, *input);
- return 0;
- }
- } /* end of while (*input) */
-
- if (min && (n < min)) {
- error("too few values for %s (min %d)", key, min);
- return 0;
- }
- } /* end of for (;argc > 0;) */
-
- return 1;
-}
-
-
-/* Add a kallsyms section if the kernel supports all symbols. */
-static int add_kallsyms(struct obj_file *f,
- struct obj_section **module_kallsyms, int force_kallsyms)
-{
- struct module_symbol *s;
- struct obj_file *f_kallsyms;
- struct obj_section *sec_kallsyms;
- size_t i;
- int l;
- const char *p, *pt_R;
- unsigned long start = 0, stop = 0;
-
- for (i = 0, s = ksyms; i < nksyms; ++i, ++s) {
- p = (char *)s->name;
- pt_R = strstr(p, "_R");
- if (pt_R)
- l = pt_R - p;
- else
- l = strlen(p);
- if (strncmp(p, "__start_" KALLSYMS_SEC_NAME, l) == 0)
- start = s->value;
- else if (strncmp(p, "__stop_" KALLSYMS_SEC_NAME, l) == 0)
- stop = s->value;
- }
-
- if (start >= stop && !force_kallsyms)
- return(0);
-
- /* The kernel contains all symbols, do the same for this module. */
-
- /* Add an empty kallsyms section to the module if necessary */
- for (i = 0; i < f->header.e_shnum; ++i) {
- if (strcmp(f->sections[i]->name, KALLSYMS_SEC_NAME) == 0) {
- *module_kallsyms = f->sections[i];
- break;
- }
- }
- if (!*module_kallsyms)
- *module_kallsyms = obj_create_alloced_section(f, KALLSYMS_SEC_NAME, 0, 0, 0);
-
- /* Size and populate kallsyms */
- if (obj_kallsyms(f, &f_kallsyms))
- return(1);
- sec_kallsyms = f_kallsyms->sections[KALLSYMS_IDX];
- (*module_kallsyms)->header.sh_addralign = sec_kallsyms->header.sh_addralign;
- (*module_kallsyms)->header.sh_size = sec_kallsyms->header.sh_size;
- free((*module_kallsyms)->contents);
- (*module_kallsyms)->contents = sec_kallsyms->contents;
- sec_kallsyms->contents = NULL;
- obj_free(f_kallsyms);
-
- return 0;
-}
-
-
-/* Add an arch data section if the arch wants it. */
-static int add_archdata(struct obj_file *f,
- struct obj_section **sec)
-{
- size_t i;
-
- *sec = NULL;
- /* Add an empty archdata section to the module if necessary */
- for (i = 0; i < f->header.e_shnum; ++i) {
- if (strcmp(f->sections[i]->name, ARCHDATA_SEC_NAME) == 0) {
- *sec = f->sections[i];
- break;
- }
- }
- if (!*sec)
- *sec = obj_create_alloced_section(f, ARCHDATA_SEC_NAME, 16, 0, 0);
-
- /* Size and populate archdata */
- if (arch_archdata(f, *sec))
- return(1);
- return 0;
-}
-
-
-static int init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size, const char *blob_name,
- unsigned int noload, unsigned int flag_load_map)
-{
- struct module *module;
- struct obj_section *sec;
- void *image;
- int ret = 0;
- tgt_long m_addr;
-
- sec = obj_find_section(f, ".this");
- module = (struct module *) sec->contents;
- m_addr = sec->header.sh_addr;
-
- module->size_of_struct = sizeof(*module);
- module->size = m_size;
- module->flags = flag_autoclean ? NEW_MOD_AUTOCLEAN : 0;
-
- sec = obj_find_section(f, "__ksymtab");
- if (sec && sec->header.sh_size) {
- module->syms = sec->header.sh_addr;
- module->nsyms = sec->header.sh_size / (2 * tgt_sizeof_char_p);
- }
- if (n_ext_modules_used) {
- sec = obj_find_section(f, ".kmodtab");
- module->deps = sec->header.sh_addr;
- module->ndeps = n_ext_modules_used;
- }
- module->init = obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- module->cleanup = obj_symbol_final_value(f,
- obj_find_symbol(f, "cleanup_module"));
-
- sec = obj_find_section(f, "__ex_table");
- if (sec) {
- module->ex_table_start = sec->header.sh_addr;
- module->ex_table_end = sec->header.sh_addr + sec->header.sh_size;
- }
- sec = obj_find_section(f, ".text.init");
- if (sec) {
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ".data.init");
- if (sec) {
- if (!module->runsize ||
- module->runsize > sec->header.sh_addr - m_addr)
- module->runsize = sec->header.sh_addr - m_addr;
- }
- sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->archdata_start = sec->header.sh_addr;
- module->archdata_end = module->archdata_start + sec->header.sh_size;
- }
- sec = obj_find_section(f, KALLSYMS_SEC_NAME);
- if (sec && sec->header.sh_size) {
- module->kallsyms_start = sec->header.sh_addr;
- module->kallsyms_end = module->kallsyms_start + sec->header.sh_size;
- }
- if (!arch_init_module(f, module))
- return 0;
-
- /*
- * Whew! All of the initialization is complete.
- * Collect the final module image and give it to the kernel.
- */
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- if (flag_load_map)
- print_load_map(f);
-
- if (blob_name) {
- int fd, l;
- fd = open(blob_name, O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
- if (fd < 0) {
- error("open %s failed %m", blob_name);
- ret = -1;
- }
- else {
- if ((l = write(fd, image, m_size)) != m_size) {
- error("write %s failed %m", blob_name);
- ret = -1;
- }
- close(fd);
- }
- }
-
- if (ret == 0 && !noload) {
- fflush(stdout); /* Flush any debugging output */
- ret = sys_init_module(m_name, (struct module *) image);
- if (ret) {
- error("init_module: %m");
- lprintf("Hint: insmod errors can be caused by incorrect module parameters, "
- "including invalid IO or IRQ parameters.\n"
- " You may find more information in syslog or the output from dmesg");
- }
- }
-
- free(image);
-
- return ret == 0;
-}
-
-#ifdef COMPAT_2_0
-static int old_init_module(const char *m_name, struct obj_file *f,
- unsigned long m_size)
-{
- char *image;
- struct old_mod_routines routines;
- struct old_symbol_table *symtab;
- int ret;
- int nsyms = 0, strsize = 0, total;
-
- /* Create the symbol table */
- /* Size things first... */
- if (flag_export) {
- int i;
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
-
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (ELFW(ST_BIND) (sym->info) != STB_LOCAL &&
- sym->secidx <= SHN_HIRESERVE) {
- sym->ksymidx = nsyms++;
- strsize += strlen(sym->name) + 1;
- }
- }
- }
- total = (sizeof(struct old_symbol_table) +
- nsyms * sizeof(struct old_module_symbol) +
- n_ext_modules_used * sizeof(struct old_module_ref) +
- strsize);
- symtab = xmalloc(total);
- symtab->size = total;
- symtab->n_symbols = nsyms;
- symtab->n_refs = n_ext_modules_used;
-
- if (flag_export && nsyms) {
- struct old_module_symbol *ksym;
- char *str;
- int i;
-
- ksym = symtab->symbol;
- str = ((char *) ksym +
- nsyms * sizeof(struct old_module_symbol) +
- n_ext_modules_used * sizeof(struct old_module_ref));
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->ksymidx >= 0) {
- ksym->addr = obj_symbol_final_value(f, sym);
- ksym->name = (unsigned long) str - (unsigned long) symtab;
-
- str = stpcpy(str, sym->name) + 1;
- ksym++;
- }
- }
- }
-
- if (n_ext_modules_used) {
- struct old_module_ref *ref;
- int i;
-
- ref = (struct old_module_ref *)
- ((char *) symtab->symbol + nsyms * sizeof(struct old_module_symbol));
-
- for (i = 0; i < n_module_stat; ++i) {
- if (module_stat[i].status /* used */) {
- ref++->module = module_stat[i].modstruct;
- }
- }
- }
-
- /* Fill in routines. */
-
- routines.init = obj_symbol_final_value(f, obj_find_symbol(f, "init_module"));
- routines.cleanup = obj_symbol_final_value(f,
- obj_find_symbol(f, "cleanup_module"));
-
- /*
- * Whew! All of the initialization is complete.
- * Collect the final module image and give it to the kernel.
- */
- image = xmalloc(m_size);
- obj_create_image(f, image);
-
- /*
- * image holds the complete relocated module,
- * accounting correctly for mod_use_count.
- * However the old module kernel support assume that it
- * is receiving something which does not contain mod_use_count.
- */
- ret = old_sys_init_module(m_name, image + sizeof(long),
- (m_size - sizeof(long)) |
- (flag_autoclean ? OLD_MOD_AUTOCLEAN : 0),
- &routines,
- symtab);
- if (ret)
- error("init_module: %m");
-
- free(image);
- free(symtab);
-
- return ret == 0;
-}
-#endif
-/* end compat */
-/************************************************************************/
-
-/* Check that a module parameter has a reasonable definition */
-static int check_module_parameter(struct obj_file *f, char *key, char *value, int *persist_flag)
-{
- struct obj_symbol *sym;
- int min, max;
- char *p = value;
-
- sym = obj_find_symbol(f, key);
- if (sym == NULL) {
- /* FIXME: For 2.2 kernel compatibility, only issue warnings for
- * most error conditions. Make these all errors in 2.5.
- */
- lprintf("Warning: %s symbol for parameter %s not found", error_file, key);
- ++warnings;
- return(1);
- }
-
- if (isdigit(*p)) {
- min = strtoul(p, &p, 10);
- if (*p == '-')
- max = strtoul(p + 1, &p, 10);
- else
- max = min;
- } else
- min = max = 1;
-
- if (max < min) {
- lprintf("Warning: %s parameter %s has max < min!", error_file, key);
- ++warnings;
- return(1);
- }
-
- switch (*p) {
- case 'c':
- if (!isdigit(p[1])) {
- lprintf("%s parameter %s has no size after 'c'!", error_file, key);
- ++warnings;
- return(1);
- }
- while (isdigit(p[1]))
- ++p; /* swallow c array size */
- break;
- case 'b': /* drop through */
- case 'h': /* drop through */
- case 'i': /* drop through */
- case 'l': /* drop through */
- case 's':
- break;
- case '\0':
- lprintf("%s parameter %s has no format character!", error_file, key);
- ++warnings;
- return(1);
- default:
- lprintf("%s parameter %s has unknown format character '%c'", error_file, key, *p);
- ++warnings;
- return(1);
- }
- switch (*++p) {
- case 'p':
- if (*(p-1) == 's') {
- error("parameter %s is invalid persistent string", key);
- return(1);
- }
- *persist_flag = 1;
- break;
- case '\0':
- break;
- default:
- lprintf("%s parameter %s has unknown format modifier '%c'", error_file, key, *p);
- ++warnings;
- return(1);
- }
- return(0);
-}
-
-/* Check that all module parameters have reasonable definitions */
-static void check_module_parameters(struct obj_file *f, int *persist_flag)
-{
- struct obj_section *sec;
- char *ptr, *value, *n, *endptr;
- int namelen, err = 0;
-
- sec = obj_find_section(f, ".modinfo");
- if (sec == NULL) {
- /* module does not support typed parameters */
- return;
- }
-
- ptr = sec->contents;
- endptr = ptr + sec->header.sh_size;
- while (ptr < endptr && !err) {
- value = strchr(ptr, '=');
- n = strchr(ptr, '\0');
- if (value) {
- namelen = value - ptr;
- if (namelen >= 5 && strncmp(ptr, "parm_", 5) == 0
- && !(namelen > 10 && strncmp(ptr, "parm_desc_", 10) == 0)) {
- char *pname = xmalloc(namelen + 1);
- strncpy(pname, ptr + 5, namelen - 5);
- pname[namelen - 5] = '\0';
- err = check_module_parameter(f, pname, value+1, persist_flag);
- free(pname);
- }
- } else {
- if (n - ptr >= 5 && strncmp(ptr, "parm_", 5) == 0) {
- error("parameter %s found with no value", ptr);
- err = 1;
- }
- }
- ptr = n + 1;
- }
-
- if (err)
- *persist_flag = 0;
- return;
-}
-
-static void set_tainted(struct obj_file *f, int fd, int kernel_has_tainted,
- int noload, int taint,
- const char *text1, const char *text2)
-{
- char buf[80];
- int oldval;
- static int first = 1;
- if (fd < 0 && !kernel_has_tainted)
- return; /* New modutils on old kernel */
- lprintf("Warning: loading %s will taint the kernel: %s%s",
- f->filename, text1, text2);
- ++warnings;
- if (first) {
- lprintf(" See %s for information about tainted modules", TAINT_URL);
- first = 0;
- }
- if (fd >= 0 && !noload) {
- read(fd, buf, sizeof(buf)-1);
- buf[sizeof(buf)-1] = '\0';
- oldval = strtoul(buf, NULL, 10);
- sprintf(buf, "%d\n", oldval | taint);
- write(fd, buf, strlen(buf));
- }
-}
-
-/* Check if loading this module will taint the kernel. */
-static void check_tainted_module(struct obj_file *f, int noload)
-{
- static const char tainted_file[] = TAINT_FILENAME;
- int fd, kernel_has_tainted;
- const char *ptr;
-
- if ((fd = open(tainted_file, O_RDWR)) < 0) {
- if (errno == ENOENT)
- kernel_has_tainted = 0;
- else if (errno == EACCES)
- kernel_has_tainted = 1;
- else {
- perror(tainted_file);
- kernel_has_tainted = 0;
- }
- }
- else
- kernel_has_tainted = 1;
-
- switch (obj_gpl_license(f, &ptr)) {
- case 0:
- break;
- case 1:
- set_tainted(f, fd, kernel_has_tainted, noload, TAINT_PROPRIETORY_MODULE, "no license", "");
- break;
- case 2:
- /* The module has a non-GPL license so we pretend that the
- * kernel always has a taint flag to get a warning even on
- * kernels without the proc flag.
- */
- set_tainted(f, fd, 1, noload, TAINT_PROPRIETORY_MODULE, "non-GPL license - ", ptr);
- break;
- default:
- set_tainted(f, fd, 1, noload, TAINT_PROPRIETORY_MODULE, "Unexpected return from obj_gpl_license", "");
- break;
- }
-
- if (flag_force_load)
- set_tainted(f, fd, 1, noload, TAINT_FORCED_MODULE, "forced load", "");
- if (fd >= 0)
- close(fd);
-}
-
-/* For common 3264 code, only compile the usage message once, in the 64 bit version */
-#if defined(COMMON_3264) && defined(ONLY_32)
-extern void insmod_usage(void); /* Use the copy in the 64 bit version */
-#else /* Common 64 bit version or any non common code - compile usage routine */
-void insmod_usage(void)
-{
- fputs("Usage:\n"
- "insmod [-fhkLmnpqrsSvVxXyYN] [-e persist_name] [-o module_name] [-O blob_name] [-P prefix] module [ symbol=value ... ]\n"
- "\n"
- " module Name of a loadable kernel module ('.o' can be omitted)\n"
- " -f, --force Force loading under wrong kernel version\n"
- " -h, --help Print this message\n"
- " -k, --autoclean Make module autoclean-able\n"
- " -L, --lock Prevent simultaneous loads of the same module\n"
- " -m, --map Generate load map (so crashes can be traced)\n"
- " -n, --noload Don't load, just show\n"
- " -p, --probe Probe mode; check if the module matches the kernel\n"
- " -q, --quiet Don't print unresolved symbols\n"
- " -r, --root Allow root to load modules not owned by root\n"
- " -s, --syslog Report errors via syslog\n"
- " -S, --kallsyms Force kallsyms on module\n"
- " -v, --verbose Verbose output\n"
- " -V, --version Show version\n"
- " -x, --noexport Do not export externs\n"
- " -X, --export Do export externs (default)\n"
- " -y, --noksymoops Do not add ksymoops symbols\n"
- " -Y, --ksymoops Do add ksymoops symbols (default)\n"
- " -N, --numeric-only Only check the numeric part of the kernel version\n"
- " -e persist_name\n"
- " --persist=persist_name Filename to hold any persistent data from the module\n"
- " -o NAME, --name=NAME Set internal module name to NAME\n"
- " -O NAME, --blob=NAME Save the object as a binary blob in NAME\n"
- " -P PREFIX\n"
- " --prefix=PREFIX Prefix for kernel or module symbols\n"
- ,stderr);
- exit(1);
-}
-#endif /* defined(COMMON_3264) && defined(ONLY_32) */
-
-#if defined(COMMON_3264) && defined(ONLY_32)
-#define INSMOD_MAIN insmod_main_32 /* 32 bit version */
-#elif defined(COMMON_3264) && defined(ONLY_64)
-#define INSMOD_MAIN insmod_main_64 /* 64 bit version */
-#else
-#define INSMOD_MAIN insmod_main /* Not common code */
-#endif
-
-int INSMOD_MAIN(int argc, char **argv)
-{
- int k_version;
- int k_crcs;
- char k_strversion[STRVERSIONLEN];
- struct option long_opts[] = {
- {"force", 0, 0, 'f'},
- {"help", 0, 0, 'h'},
- {"autoclean", 0, 0, 'k'},
- {"lock", 0, 0, 'L'},
- {"map", 0, 0, 'm'},
- {"noload", 0, 0, 'n'},
- {"probe", 0, 0, 'p'},
- {"poll", 0, 0, 'p'}, /* poll is deprecated, remove in 2.5 */
- {"quiet", 0, 0, 'q'},
- {"root", 0, 0, 'r'},
- {"syslog", 0, 0, 's'},
- {"kallsyms", 0, 0, 'S'},
- {"verbose", 0, 0, 'v'},
- {"version", 0, 0, 'V'},
- {"noexport", 0, 0, 'x'},
- {"export", 0, 0, 'X'},
- {"noksymoops", 0, 0, 'y'},
- {"ksymoops", 0, 0, 'Y'},
- {"persist", 1, 0, 'e'},
- {"numeric-only", 1, 0, 'N'},
- {"name", 1, 0, 'o'},
- {"blob", 1, 0, 'O'},
- {"prefix", 1, 0, 'P'},
- {0, 0, 0, 0}
- };
- char *m_name = NULL;
- char *blob_name = NULL; /* Save object as binary blob */
- int m_version;
- ElfW(Addr) m_addr;
- unsigned long m_size;
- int m_crcs;
- char m_strversion[STRVERSIONLEN];
- char *filename;
- char *persist_name = NULL; /* filename to hold any persistent data */
- int fp;
- struct obj_file *f;
- struct obj_section *kallsyms = NULL, *archdata = NULL;
- int o;
- int noload = 0;
- int dolock = 1; /*Note: was: 0; */
- int quiet = 0;
- int exit_status = 1;
- int force_kallsyms = 0;
- int persist_parms = 0; /* does module have persistent parms? */
- int i;
- int gpl;
-
- error_file = "insmod";
-
- /* To handle repeated calls from combined modprobe */
- errors = optind = 0;
-
- /* Process the command line. */
- while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYNe:o:O:P:R:",
- &long_opts[0], NULL)) != EOF)
- switch (o) {
- case 'f': /* force loading */
- flag_force_load = 1;
- break;
- case 'h': /* Print the usage message. */
- insmod_usage();
- break;
- case 'k': /* module loaded by kerneld, auto-cleanable */
- flag_autoclean = 1;
- break;
- case 'L': /* protect against recursion. */
- dolock = 1;
- break;
- case 'm': /* generate load map */
- flag_load_map = 1;
- break;
- case 'n': /* don't load, just check */
- noload = 1;
- break;
- case 'p': /* silent probe mode */
- flag_silent_probe = 1;
- break;
- case 'q': /* Don't print unresolved symbols */
- quiet = 1;
- break;
- case 'r': /* allow root to load non-root modules */
- root_check_off = !root_check_off;
- break;
- case 's': /* start syslog */
- setsyslog("insmod");
- break;
- case 'S': /* Force kallsyms */
- force_kallsyms = 1;
- break;
- case 'v': /* verbose output */
- flag_verbose = 1;
- break;
- case 'V':
- fputs("insmod version " MODUTILS_VERSION "\n", stderr);
- break;
- case 'x': /* do not export externs */
- flag_export = 0;
- break;
- case 'X': /* do export externs */
- flag_export = 1;
- break;
- case 'y': /* do not define ksymoops symbols */
- flag_ksymoops = 0;
- break;
- case 'Y': /* do define ksymoops symbols */
- flag_ksymoops = 1;
- break;
- case 'N': /* only check numeric part of kernel version */
- flag_numeric_only = 1;
- break;
-
- case 'e': /* persistent data filename */
- free(persist_name);
- persist_name = xstrdup(optarg);
- break;
- case 'o': /* name the output module */
- m_name = optarg;
- break;
- case 'O': /* save the output module object */
- blob_name = optarg;
- break;
- case 'P': /* use prefix on crc */
- set_ncv_prefix(optarg);
- break;
-
- default:
- insmod_usage();
- break;
- }
-
- if (optind >= argc) {
- insmod_usage();
- }
- filename = argv[optind++];
-
- if (config_read(0, NULL, "", NULL) < 0) {
- error("Failed handle configuration");
- }
-
- if (persist_name && !*persist_name &&
- (!persistdir || !*persistdir)) {
- free(persist_name);
- persist_name = NULL;
- if (flag_verbose) {
- lprintf("insmod: -e \"\" ignored, no persistdir");
- ++warnings;
- }
- }
-
- if (m_name == NULL) {
- size_t len;
- char *p;
-
- if ((p = strrchr(filename, '/')) != NULL)
- p++;
- else
- p = filename;
- len = strlen(p);
- if (len > 2 && p[len - 2] == '.' && p[len - 1] == 'o')
- len -= 2;
- else if (len > 4 && p[len - 4] == '.' && p[len - 3] == 'm'
- && p[len - 2] == 'o' && p[len - 1] == 'd')
- len -= 4;
-#ifdef CONFIG_USE_ZLIB
- else if (len > 5 && !strcmp(p + len - 5, ".o.gz"))
- len -= 5;
-#endif
-
- m_name = xmalloc(len + 1);
- memcpy(m_name, p, len);
- m_name[len] = '\0';
- }
-
- /* Locate the file to be loaded. */
- if (!strchr(filename, '/') && !strchr(filename, '.')) {
- char *tmp = search_module_path(filename);
- if (tmp == NULL) {
- error("%s: no module by that name found", filename);
- return 1;
- }
- filename = tmp;
- lprintf("Using %s", filename);
- } else if (flag_verbose)
- lprintf("Using %s", filename);
-
- /* And open it. */
- if ((fp = gzf_open(filename, O_RDONLY)) == -1) {
- error("%s: %m", filename);
- return 1;
- }
- /* Try to prevent multiple simultaneous loads. */
- if (dolock)
- flock(fp, LOCK_EX);
-
- if (!get_kernel_info(K_SYMBOLS))
- goto out;
-
- /*
- * Set the genksyms prefix if this is a versioned kernel
- * and it's not already set.
- */
- set_ncv_prefix(NULL);
-
- for (i = 0; !noload && i < n_module_stat; ++i) {
- if (strcmp(module_stat[i].name, m_name) == 0) {
- error("a module named %s already exists", m_name);
- goto out;
- }
- }
-
- error_file = filename;
- if ((f = obj_load(fp, ET_REL, filename)) == NULL)
- goto out;
-
- /* Version correspondence? */
- k_version = get_kernel_version(k_strversion);
- m_version = get_module_version(f, m_strversion);
- if (m_version == -1) {
- error("couldn't find the kernel version the module was compiled for");
- goto out;
- }
-
- k_crcs = is_kernel_checksummed();
- m_crcs = is_module_checksummed(f);
- if ((m_crcs == 0 || k_crcs == 0) &&
- strncmp(k_strversion, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- lprintf("Warning: kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s",
- filename, m_strversion, k_strversion);
- ++warnings;
- } else {
- if (!quiet)
- error("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- filename, m_strversion, k_strversion);
- goto out;
- }
- }
- if (m_crcs != k_crcs)
- obj_set_symbol_compare(f, ncv_strcmp, ncv_symbol_hash);
-
- /* Let the module know about the kernel symbols. */
- gpl = obj_gpl_license(f, NULL) == 0;
- add_kernel_symbols(f, gpl);
-
-#ifdef ARCH_ppc64
- if (!ppc64_process_syms (f))
- goto out;
-#endif
-
- /* Allocate common symbols, symbol tables, and string tables.
- *
- * The calls marked DEPMOD indicate the bits of code that depmod
- * uses to do a pseudo relocation, ignoring undefined symbols.
- * Any changes made to the relocation sequence here should be
- * checked against depmod.
- */
-#ifdef COMPAT_2_0
- if (k_new_syscalls
- ? !create_this_module(f, m_name)
- : !old_create_mod_use_count(f))
- goto out;
-#else
- if (!create_this_module(f, m_name))
- goto out;
-#endif
-
- arch_create_got(f); /* DEPMOD */
- if (!obj_check_undefineds(f, quiet)) { /* DEPMOD, obj_clear_undefineds */
- if (!gpl && !quiet) {
- if (gplonly_seen)
- error("\n"
- "Hint: You are trying to load a module without a GPL compatible license\n"
- " and it has unresolved symbols. The module may be trying to access\n"
- " GPLONLY symbols but the problem is more likely to be a coding or\n"
- " user error. Contact the module supplier for assistance, only they\n"
- " can help you.\n");
- else
- error("\n"
- "Hint: You are trying to load a module without a GPL compatible license\n"
- " and it has unresolved symbols. Contact the module supplier for\n"
- " assistance, only they can help you.\n");
- }
- goto out;
- }
- obj_allocate_commons(f); /* DEPMOD */
-
- check_module_parameters(f, &persist_parms);
- check_tainted_module(f, noload);
-
- if (optind < argc) {
- if (!process_module_arguments(f, argc - optind, argv + optind, 1))
- goto out;
- }
- hide_special_symbols(f);
-
- if (persist_parms && persist_name && *persist_name) {
- f->persist = persist_name;
- persist_name = NULL;
- }
-
- if (persist_parms &&
- persist_name && !*persist_name) {
- /* -e "". This is ugly. Take the filename, compare it against
- * each of the module paths until we find a match on the start
- * of the filename, assume the rest is the relative path. Have
- * to do it this way because modprobe uses absolute filenames
- * for module names in modules.dep and the format of modules.dep
- * does not allow for any backwards compatible changes, so there
- * is nowhere to store the relative filename. The only way this
- * should fail to calculate a relative path is "insmod ./xxx", for
- * that case the user has to specify -e filename.
- */
- int j, l = strlen(filename);
- char *relative = NULL;
- char *p;
- for (i = 0; i < nmodpath; ++i) {
- p = modpath[i].path;
- j = strlen(p);
- while (j && p[j] == '/')
- --j;
- if (j < l && strncmp(filename, p, j) == 0 && filename[j] == '/') {
- while (filename[j] == '/')
- ++j;
- relative = xstrdup(filename+j);
- break;
- }
- }
- if (relative) {
- i = strlen(relative);
- if (i > 3 && strcmp(relative+i-3, ".gz") == 0)
- relative[i -= 3] = '\0';
- if (i > 2 && strcmp(relative+i-2, ".o") == 0)
- relative[i -= 2] = '\0';
- else if (i > 4 && strcmp(relative+i-4, ".mod") == 0)
- relative[i -= 4] = '\0';
- f->persist = xmalloc(strlen(persistdir) + 1 + i + 1);
- strcpy(f->persist, persistdir); /* safe, xmalloc */
- strcat(f->persist, "/"); /* safe, xmalloc */
- strcat(f->persist, relative); /* safe, xmalloc */
- free(relative);
- }
- else
- error("Cannot calculate persistent filename");
- }
-
- if (f->persist && *(f->persist) != '/') {
- error("Persistent filenames must be absolute, ignoring '%s'",
- f->persist);
- free(f->persist);
- f->persist = NULL;
- }
-
- if (f->persist && !flag_ksymoops) {
- error("has persistent data but ksymoops symbols are not available");
- free(f->persist);
- f->persist = NULL;
- }
-
- if (f->persist && !k_new_syscalls) {
- error("has persistent data but the kernel is too old to support it");
- free(f->persist);
- f->persist = NULL;
- }
-
- if (persist_parms && flag_verbose) {
- if (f->persist)
- lprintf("Persist filename '%s'", f->persist);
- else
- lprintf("No persistent filename available");
- }
-
- if (f->persist) {
- FILE *fp = fopen(f->persist, "r");
- if (!fp) {
- if (flag_verbose)
- lprintf("Cannot open persist file '%s' %m", f->persist);
- }
- else {
- int pargc = 0;
- char *pargv[1000]; /* hard coded but big enough */
- char line[3000]; /* hard coded but big enough */
- char *p;
- while (fgets(line, sizeof(line), fp)) {
- p = strchr(line, '\n');
- if (!p) {
- error("Persistent data line is too long\n%s", line);
- break;
- }
- *p = '\0';
- p = line;
- while (isspace(*p))
- ++p;
- if (!*p || *p == '#')
- continue;
- if (pargc == sizeof(pargv)/sizeof(pargv[0])) {
- error("More than %d persistent parameters", pargc);
- break;
- }
- pargv[pargc++] = xstrdup(p);
- }
- fclose(fp);
- if (!process_module_arguments(f, pargc, pargv, 0))
- goto out;
- while (pargc--)
- free(pargv[pargc]);
- }
- }
-
- if (flag_ksymoops)
- add_ksymoops_symbols(f, filename, m_name);
-
- if (k_new_syscalls)
- create_module_ksymtab(f);
-
- /* archdata based on relocatable addresses */
- if (add_archdata(f, &archdata))
- goto out;
-
- /* kallsyms based on relocatable addresses */
- if (add_kallsyms(f, &kallsyms, force_kallsyms))
- goto out;
- /**** No symbols or sections to be changed after kallsyms above ***/
-
- if (errors)
- goto out;
-
- /* If we were just checking, we made it. */
- if (flag_silent_probe) {
- exit_status = 0;
- goto out;
- }
- /* Module has now finished growing; find its size and install it. */
- m_size = obj_load_size(f); /* DEPMOD */
-
- if (noload) {
- /* Don't bother actually touching the kernel. */
- m_addr = 0x12340000;
- } else {
- errno = 0;
- m_addr = create_module(m_name, m_size);
-#ifdef ARCH_ppc64
- m_addr |= ppc64_module_base (f);
-#endif
- switch (errno) {
- case 0:
- break;
- case EEXIST:
- if (dolock) {
- /*
- * Assume that we were just invoked
- * simultaneous with another insmod
- * and return success.
- */
- exit_status = 0;
- goto out;
- }
- error("a module named %s already exists", m_name);
- goto out;
- case ENOMEM:
- error("can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- error("create_module: %m");
- goto out;
- }
- }
-
- /* module is already built, complete with ksymoops symbols for the
- * persistent filename. If the kernel does not support persistent data
- * then give an error but continue. It is too difficult to clean up at
- * this stage and this error will only occur on backported modules.
- * rmmod will also get an error so warn the user now.
- */
- if (f->persist && !noload) {
- struct {
- struct module m;
- int data;
- } test_read;
- memset(&test_read, 0, sizeof(test_read));
- test_read.m.size_of_struct = -sizeof(test_read.m); /* -ve size => read, not write */
- test_read.m.read_start = m_addr + sizeof(struct module);
- test_read.m.read_end = test_read.m.read_start + sizeof(test_read.data);
- if (sys_init_module(m_name, (struct module *) &test_read)) {
- int old_errors = errors;
- error("has persistent data but the kernel is too old to support it."
- " Expect errors during rmmod as well");
- errors = old_errors;
- }
- }
-
- if (!obj_relocate(f, m_addr)) { /* DEPMOD */
- if (!noload)
- delete_module(m_name);
- goto out;
- }
-
- /* Do archdata again, this time we have the final addresses */
- if (add_archdata(f, &archdata))
- goto out;
-
- /* Do kallsyms again, this time we have the final addresses */
- if (add_kallsyms(f, &kallsyms, force_kallsyms))
- goto out;
-
-#ifdef COMPAT_2_0
- if (k_new_syscalls)
- init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
- else if (!noload)
- old_init_module(m_name, f, m_size);
-#else
- init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
-#endif
- if (errors) {
- if (!noload)
- delete_module(m_name);
- goto out;
- }
- if (warnings && !noload)
- lprintf("Module %s loaded, with warnings", m_name);
- exit_status = 0;
-
- out:
- if (dolock)
- flock(fp, LOCK_UN);
- close(fp);
- if (!noload)
- snap_shot(NULL, 0);
-
- return exit_status;
-}
-
-/* For common 3264 code, add an overall insmod_main, in the 64 bit version. */
-#if defined(COMMON_3264) && defined(ONLY_64)
-int insmod_main(int argc, char **argv)
-{
- if (arch64())
- return insmod_main_64(argc, argv);
- else
- return insmod_main_32(argc, argv);
-}
-#endif /* defined(COMMON_3264) && defined(ONLY_64) */
-
-
-int insmod_call(char * full_filename, char * params)
-{
- int argc = 2;
- char *argv[50];
- char * ptr = params;
- argv[0] = "stage1";
- argv[1] = full_filename;
-
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
-
- return insmod_main(argc, argv);
-}
diff --git a/mdk-stage1/insmod-modutils/obj/Makefile b/mdk-stage1/insmod-modutils/obj/Makefile
deleted file mode 100644
index d44b2a6c6..000000000
--- a/mdk-stage1/insmod-modutils/obj/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-all: libobj.a
-
-clean:
- rm -f *.o *.a
-
-
-INCS = -I./../include
-
-DEFS = -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) -DCONFIG_ROOT_CHECK_OFF=0
-
-ifeq (x86_64, $(ARCH))
-DEFS += -Wno-error
-endif
-
-OBJS = obj_kallsyms.o obj_common.o obj_load.o obj_reloc.o obj_$(ARCH).o \
- obj_gpl_license.o
-
-libobj.a: $(OBJS)
- ar cru $@ $^
- ranlib $@
-
-%.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $<
diff --git a/mdk-stage1/insmod-modutils/obj/obj_alpha.c b/mdk-stage1/insmod-modutils/obj/obj_alpha.c
deleted file mode 100644
index 175012716..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_alpha.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/* Alpha specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/* This relocation got renamed, and the change hasn't propagated yet. */
-#ifndef R_ALPHA_GPREL16
-#define R_ALPHA_GPREL16 R_ALPHA_IMMED_GP_16
-#endif
-
-/*======================================================================*/
-
-struct alpha_got_entry
-{
- struct alpha_got_entry *next;
- ElfW(Addr) addend;
- int offset;
- int reloc_done;
-};
-
-struct alpha_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct alpha_symbol
-{
- struct obj_symbol root;
- struct alpha_got_entry *got_entries;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct alpha_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct alpha_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- sym->got_entries = NULL;
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- struct alpha_file *af = (struct alpha_file *)f;
- struct alpha_symbol *asym = (struct alpha_symbol *)sym;
-
- unsigned long *lloc = (unsigned long *)(targsec->contents + rel->r_offset);
- unsigned int *iloc = (unsigned int *)lloc;
- unsigned short *sloc = (unsigned short *)lloc;
- Elf64_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf64_Addr gp = af->got->header.sh_addr + 0x8000;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- case R_ALPHA_NONE:
- case R_ALPHA_LITUSE:
- break;
-
- case R_ALPHA_REFQUAD:
- *lloc += v;
- break;
-
- case R_ALPHA_GPREL16:
- v -= gp;
- if ((Elf64_Sxword)v > 0x7fff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x8000)
- ret = obj_reloc_overflow;
- *sloc = v;
- break;
-
- case R_ALPHA_GPRELLOW:
- /* GPRELLOW does not overflow. Errors are seen in the
- corresponding GPRELHIGH. */
- v -= gp;
- *sloc = v;
- break;
-
- case R_ALPHA_GPRELHIGH:
- v -= gp;
- v = ((Elf64_Sxword)v >> 16) + ((v >> 15) & 1);
- if ((Elf64_Sxword)v > 0x7fff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x8000)
- ret = obj_reloc_overflow;
- *sloc = v;
- break;
-
- case R_ALPHA_GPREL32:
- v -= gp;
- if ((Elf64_Sxword)v > 0x7fffffff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x80000000)
- ret = obj_reloc_overflow;
- *iloc = v;
- break;
-
- case R_ALPHA_LITERAL:
- {
- struct alpha_got_entry *gotent;
-
- assert(asym != NULL);
- gotent = asym->got_entries;
- while (gotent->addend != rel->r_addend)
- gotent = gotent->next;
-
- if (!gotent->reloc_done)
- {
- *(unsigned long *)(af->got->contents + gotent->offset) = v;
- gotent->reloc_done = 1;
- }
-
- *sloc = gotent->offset - 0x8000;
- }
- break;
-
- case R_ALPHA_GPDISP:
- {
- unsigned int *p_ldah, *p_lda;
- unsigned int i_ldah, i_lda, hi, lo;
-
- p_ldah = iloc;
- p_lda = (unsigned int *)((char *)iloc + rel->r_addend);
- i_ldah = *p_ldah;
- i_lda = *p_lda;
-
- /* Make sure the instructions are righteous. */
- if ((i_ldah >> 26) != 9 || (i_lda >> 26) != 8)
- ret = obj_reloc_dangerous;
-
- /* Extract the existing addend. */
- v = (i_ldah & 0xffff) << 16 | (i_lda & 0xffff);
- v = (v ^ 0x80008000) - 0x80008000;
-
- v += gp - dot;
-
- if ((Elf64_Sxword)v >= 0x7fff8000
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x80000000)
- ret = obj_reloc_overflow;
-
- /* Modify the instructions and finish up. */
- lo = v & 0xffff;
- hi = ((v >> 16) + ((v >> 15) & 1)) & 0xffff;
-
- *p_ldah = (i_ldah & 0xffff0000) | hi;
- *p_lda = (i_lda & 0xffff0000) | lo;
- }
- break;
-
- case R_ALPHA_BRADDR:
- v -= dot + 4;
- if (v % 4)
- ret = obj_reloc_dangerous;
- else if ((Elf64_Sxword)v > 0x3fffff
- || (Elf64_Sxword)v < -(Elf64_Sxword)0x400000)
- ret = obj_reloc_overflow;
- v /= 4;
-
- *iloc = (*iloc & ~0x1fffff) | (v & 0x1fffff);
- break;
-
- case R_ALPHA_HINT:
- v -= dot + 4;
- if (v % 4)
- ret = obj_reloc_dangerous;
- v /= 4;
-
- *iloc = (*iloc & ~0x3fff) | (v & 0x3fff);
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct alpha_file *af = (struct alpha_file *)f;
- int i, n, offset = 0;
-
- n = af->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = af->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = af->root.sections[relsec->header.sh_link];
- strsec = af->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- struct alpha_got_entry *ent;
- struct alpha_symbol *intsym;
-
- if (ELF64_R_TYPE(rel->r_info) != R_ALPHA_LITERAL)
- continue;
-
- obj_find_relsym(intsym, f, &af->root, rel, symtab, strtab);
-
- for (ent = intsym->got_entries; ent ; ent = ent->next)
- if (ent->addend == rel->r_addend)
- goto found;
-
- ent = xmalloc(sizeof(*ent));
- ent->addend = rel->r_addend;
- ent->offset = offset;
- ent->reloc_done = 0;
- ent->next = intsym->got_entries;
- intsym->got_entries = ent;
- offset += 8;
-
- found:;
- }
- }
-
- if (offset > 0x10000)
- {
- error(".got section overflow: %#x > 0x10000", offset);
- return 0;
- }
-
- /* We always want a .got section so that we always have a GP for
- use with GPDISP and GPREL relocs. Besides, if the section
- is empty we don't use up space anyway. */
- af->got = obj_create_alloced_section(&af->root, ".got", 8, offset,
- SHF_WRITE | SHF_ALPHA_GPREL);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- struct alpha_file *af = (struct alpha_file *)f;
-
- mod->gp = af->got->header.sh_addr + 0x8000;
-
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_arm.c b/mdk-stage1/insmod-modutils/obj/obj_arm.c
deleted file mode 100644
index 78b53700c..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_arm.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* ARM specific support for Elf loading and relocation.
- Copyright 1996, 1997, 1998 Linux International.
-
- Contributed by Phil Blundell <philb@gnu.org>
- and wms <woody@corelcomputer.com>
- based on the i386 code by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct arm_plt_entry
-{
- int offset;
- int allocated:1;
- int inited:1; // has been set up
-};
-
-struct arm_got_entry
-{
- int offset;
- int allocated : 1;
- unsigned reloc_done : 1;
-};
-
-struct arm_file
-{
- struct obj_file root;
- struct obj_section *plt;
- struct obj_section *got;
-};
-
-struct arm_symbol
-{
- struct obj_symbol root;
- struct arm_plt_entry pltent;
- struct arm_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct arm_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct arm_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- memset(&sym->pltent, 0, sizeof(sym->pltent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct arm_file *afile = (struct arm_file *)f;
- struct arm_symbol *asym = (struct arm_symbol *)sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = afile->got ? afile->got->header.sh_addr : 0;
- Elf32_Addr plt = afile->plt ? afile->plt->header.sh_addr : 0;
-
- struct arm_plt_entry *pe;
- unsigned long *ip;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_ARM_NONE:
- break;
-
- case R_ARM_ABS32:
- *loc += v;
- break;
-
- case R_ARM_GOT32:
- /* needs an entry in the .got: set it, once */
- if (! asym->gotent.reloc_done)
- {
- asym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(afile->got->contents + asym->gotent.offset) = v;
- }
- /* make the reloc with_respect_to_.got */
- *loc += asym->gotent.offset;
- break;
-
- /* relative reloc, always to _GLOBAL_OFFSET_TABLE_ (which is .got)
- similar to branch, but is full 32 bits relative */
- case R_ARM_GOTPC:
- assert(got);
- *loc += got - dot;
- break;
-
- case R_ARM_PC24:
- case R_ARM_PLT32:
- /* find the plt entry and initialize it if necessary */
- assert(asym != NULL);
- pe = (struct arm_plt_entry*) &asym->pltent;
- if (! pe->inited)
- {
- ip = (unsigned long *) (afile->plt->contents + pe->offset);
- ip[0] = 0xe51ff004; /* ldr pc,[pc,#-4] */
- ip[1] = v; /* sym@ */
- pe->inited = 1;
- }
-
- /* relative distance to target */
- v -= dot;
- /* if the target is too far away.... */
- if ((int)v < -0x02000000 || (int)v >= 0x02000000)
- {
- /* go via the plt */
- v = plt + pe->offset - dot;
- }
- if (v & 3)
- ret = obj_reloc_dangerous;
-
- /* Convert to words. */
- v >>= 2;
-
- /* merge the offset into the instruction. */
- *loc = (*loc & ~0x00ffffff) | ((v + *loc) & 0x00ffffff);
- break;
-
- /* address relative to the got */
- case R_ARM_GOTOFF:
- assert(got);
- *loc += v - got;
- break;
-
- default:
- printf("Warning: unhandled reloc %d\n",ELF32_R_TYPE(rel->r_info));
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct arm_file *afile = (struct arm_file *) f;
- int i;
- struct obj_section *sec, *syms, *strs;
- ElfW(Rel) *rel, *relend;
- ElfW(Sym) *symtab, *extsym;
- const char *strtab;
- struct arm_symbol *intsym;
- struct arm_plt_entry *pe;
- struct arm_got_entry *ge;
- int got_offset = 0, plt_offset = 0;
-
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type != SHT_RELM)
- continue;
- syms = f->sections[sec->header.sh_link];
- strs = f->sections[syms->header.sh_link];
-
- rel = (ElfW(RelM) *) sec->contents;
- relend = rel + (sec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) syms->contents;
- strtab = (const char *) strs->contents;
-
- for (; rel < relend; ++rel)
- {
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
-
- switch(ELF32_R_TYPE(rel->r_info)) {
- case R_ARM_PC24:
- case R_ARM_PLT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- pe = &intsym->pltent;
-
- if (! pe->allocated)
- {
- pe->allocated = 1;
- pe->offset = plt_offset;
- plt_offset += 8;
- pe->inited = 0;
- }
- break;
-
- /* these two don_t need got entries, but they need
- the .got to exist */
- case R_ARM_GOTOFF:
- case R_ARM_GOTPC:
- if (got_offset==0) got_offset = 4;
- break;
-
- case R_ARM_GOT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- ge = (struct arm_got_entry *) &intsym->gotent;
- if (! ge->allocated)
- {
- ge->allocated = 1;
- ge->offset = got_offset;
- got_offset += sizeof(void*);
- }
- break;
-
- default:
- continue;
- }
- }
- }
-
- /* if there was a _GLOBAL_OFFSET_TABLE_, then the .got section
- exists already; find it and use it */
- if (got_offset)
- {
- struct obj_section* sec = obj_find_section(f, ".got");
- if (sec)
- obj_extend_section(sec, got_offset);
- else
- {
- sec = obj_create_alloced_section(f, ".got", 8, got_offset,
- SHF_WRITE);
- assert(sec);
- }
- afile->got = sec;
- }
-
- if (plt_offset)
- afile->plt = obj_create_alloced_section(f, ".plt", 8, plt_offset,
- SHF_WRITE);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_common.c b/mdk-stage1/insmod-modutils/obj/obj_common.c
deleted file mode 100644
index a957ff1be..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_common.c
+++ /dev/null
@@ -1,416 +0,0 @@
-/* Elf file, section, and symbol manipulation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <alloca.h>
-
-#include <obj.h>
-#include <util.h>
-#include <module.h>
-
-/*======================================================================*/
-
-/* Standard ELF hash function. */
-inline unsigned long
-obj_elf_hash_n(const char *name, unsigned long n)
-{
- unsigned long h = 0;
- unsigned long g;
- unsigned char ch;
-
- while (n > 0)
- {
- ch = *name++;
- h = (h << 4) + ch;
- if ((g = (h & 0xf0000000)) != 0)
- {
- h ^= g >> 24;
- h &= ~g;
- }
- n--;
- }
- return h;
-}
-
-unsigned long
-obj_elf_hash (const char *name)
-{
- return obj_elf_hash_n(name, strlen(name));
-}
-
-void
-obj_set_symbol_compare (struct obj_file *f,
- int (*cmp)(const char *, const char *),
- unsigned long (*hash)(const char *))
-{
- if (cmp)
- f->symbol_cmp = cmp;
- if (hash)
- {
- struct obj_symbol *tmptab[HASH_BUCKETS], *sym, *next;
- int i;
-
- f->symbol_hash = hash;
-
- memcpy(tmptab, f->symtab, sizeof(tmptab));
- memset(f->symtab, 0, sizeof(f->symtab));
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- for (sym = tmptab[i]; sym ; sym = next)
- {
- unsigned long h = hash(sym->name) % HASH_BUCKETS;
- next = sym->next;
- sym->next = f->symtab[h];
- f->symtab[h] = sym;
- }
- }
-}
-
-struct obj_symbol *
-obj_add_symbol (struct obj_file *f, const char *name, unsigned long symidx,
- int info, int secidx, ElfW(Addr) value, unsigned long size)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
- int n_type = ELFW(ST_TYPE)(info);
- int n_binding = ELFW(ST_BIND)(info);
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- {
- int o_secidx = sym->secidx;
- int o_info = sym->info;
- int o_type = ELFW(ST_TYPE)(o_info);
- int o_binding = ELFW(ST_BIND)(o_info);
-
- /* A redefinition! Is it legal? */
-
- if (secidx == SHN_UNDEF)
- return sym;
- else if (o_secidx == SHN_UNDEF)
- goto found;
- else if (n_binding == STB_GLOBAL && o_binding == STB_LOCAL)
- {
- /* Cope with local and global symbols of the same name
- in the same object file, as might have been created
- by ld -r. The only reason locals are now seen at this
- level at all is so that we can do semi-sensible things
- with parameters. */
-
- struct obj_symbol *nsym, **p;
-
- nsym = arch_new_symbol();
- nsym->next = sym->next;
- nsym->ksymidx = -1;
-
- /* Excise the old (local) symbol from the hash chain. */
- for (p = &f->symtab[hash]; *p != sym; p = &(*p)->next)
- continue;
- *p = sym = nsym;
- goto found;
- }
- else if (n_binding == STB_LOCAL)
- {
- /* Another symbol of the same name has already been defined.
- Just add this to the local table. */
- sym = arch_new_symbol();
- sym->next = NULL;
- sym->ksymidx = -1;
- f->local_symtab[symidx] = sym;
- goto found;
- }
- else if (n_binding == STB_WEAK)
- return sym;
- else if (o_binding == STB_WEAK)
- goto found;
- /* Don't unify COMMON symbols with object types the programmer
- doesn't expect. */
- else if (secidx == SHN_COMMON
- && (o_type == STT_NOTYPE || o_type == STT_OBJECT))
- return sym;
- else if (o_secidx == SHN_COMMON
- && (n_type == STT_NOTYPE || n_type == STT_OBJECT))
- goto found;
- else
- {
- /* Don't report an error if the symbol is coming from
- the kernel or some external module. */
- if (secidx <= SHN_HIRESERVE)
- error("%s multiply defined", name);
- return sym;
- }
- }
-
- /* Completely new symbol. */
- sym = arch_new_symbol();
- sym->next = f->symtab[hash];
- f->symtab[hash] = sym;
- sym->ksymidx = -1;
-
- if (ELFW(ST_BIND)(info) == STB_LOCAL && symidx != -1) {
- if (symidx >= f->local_symtab_size)
- error("local symbol %s with index %ld exceeds local_symtab_size %ld",
- name, (long) symidx, (long) f->local_symtab_size);
- else
- f->local_symtab[symidx] = sym;
- }
-
-found:
- sym->name = name;
- sym->value = value;
- sym->size = size;
- sym->secidx = secidx;
- sym->info = info;
- sym->r_type = 0; /* should be R_arch_NONE for all arch */
-
- return sym;
-}
-
-struct obj_symbol *
-obj_find_symbol (struct obj_file *f, const char *name)
-{
- struct obj_symbol *sym;
- unsigned long hash = f->symbol_hash(name) % HASH_BUCKETS;
-
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- return sym;
-
- return NULL;
-}
-
-ElfW(Addr)
-obj_symbol_final_value (struct obj_file *f, struct obj_symbol *sym)
-{
- if (sym)
- {
- if (sym->secidx >= SHN_LORESERVE)
- return sym->value;
-
- return sym->value + f->sections[sym->secidx]->header.sh_addr;
- }
- else
- {
- /* As a special case, a NULL sym has value zero. */
- return 0;
- }
-}
-
-struct obj_section *
-obj_find_section (struct obj_file *f, const char *name)
-{
- int i, n = f->header.e_shnum;
-
- for (i = 0; i < n; ++i)
- if (strcmp(f->sections[i]->name, name) == 0)
- return f->sections[i];
-
- return NULL;
-}
-
-#if defined (ARCH_alpha)
-#define ARCH_SHF_SHORT SHF_ALPHA_GPREL
-#elif defined (ARCH_ia64)
-#define ARCH_SHF_SHORT SHF_IA_64_SHORT
-#else
-#define ARCH_SHF_SHORT 0
-#endif
-
-static int
-obj_load_order_prio(struct obj_section *a)
-{
- unsigned long af, ac;
-
- af = a->header.sh_flags;
-
- ac = 0;
- if (a->name[0] != '.'
- || strlen(a->name) != 10
- || strcmp(a->name + 5, ".init"))
- ac |= 64;
- if (af & SHF_ALLOC) ac |= 32;
- if (af & SHF_EXECINSTR) ac |= 16;
- if (!(af & SHF_WRITE)) ac |= 8;
- if (a->header.sh_type != SHT_NOBITS) ac |= 4;
- /* Desired order is
- P S AC & 7
- .data 1 0 4
- .got 1 1 3
- .sdata 1 1 1
- .sbss 0 1 1
- .bss 0 0 0 */
- if (strcmp (a->name, ".got") == 0) ac |= 2;
- if (af & ARCH_SHF_SHORT)
- ac = (ac & ~4) | 1;
-
- return ac;
-}
-
-void
-obj_insert_section_load_order (struct obj_file *f, struct obj_section *sec)
-{
- struct obj_section **p;
- int prio = obj_load_order_prio(sec);
- for (p = f->load_order_search_start; *p ; p = &(*p)->load_next)
- if (obj_load_order_prio(*p) < prio)
- break;
- sec->load_next = *p;
- *p = sec;
-}
-
-struct obj_section *
-obj_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size,
- unsigned long flags)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = flags | SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-struct obj_section *
-obj_create_alloced_section_first (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE|SHF_ALLOC;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- sec->load_next = f->load_order;
- f->load_order = sec;
- if (f->load_order_search_start == &f->load_order)
- f->load_order_search_start = &sec->load_next;
-
- return sec;
-}
-
-void *
-obj_extend_section (struct obj_section *sec, unsigned long more)
-{
- unsigned long oldsize = sec->header.sh_size;
- sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
- return sec->contents + oldsize;
-}
-
-/* Convert an object pointer (address) to a native pointer and vice versa.
- * It gets interesting when the object has 64 bit pointers but modutils
- * is running 32 bit. This is nasty code but it stops the compiler giving
- * spurious warning messages. "I know what I am doing" ...
- */
-
-void *
-obj_addr_to_native_ptr (ElfW(Addr) addr)
-{
- unsigned int convert = (sizeof(void *) << 8) + sizeof(addr); /* to, from */
- union obj_ptr_4 p4;
- union obj_ptr_8 p8;
- switch (convert) {
- case 0x0404:
- p4.addr = addr;
- return(p4.ptr);
- break;
- case 0x0408:
- p4.addr = addr;
- if (p4.addr != addr) {
- error("obj_addr_to_native_ptr truncation %" tgt_long_fmt "x",
- (tgt_long) addr);
- exit(1);
- }
- return(p4.ptr);
- break;
- case 0x0804:
- p8.addr = addr;
- return(p8.ptr);
- break;
- case 0x0808:
- p8.addr = addr;
- return(p8.ptr);
- break;
- default:
- error("obj_addr_to_native_ptr unknown conversion 0x%04x", convert);
- exit(1);
- }
-}
-
-ElfW(Addr)
-obj_native_ptr_to_addr (void *ptr)
-{
- unsigned int convert = (sizeof(ElfW(Addr)) << 8) + sizeof(ptr); /* to, from */
- union obj_ptr_4 p4;
- union obj_ptr_8 p8;
- switch (convert) {
- case 0x0404:
- p4.ptr = ptr;
- return(p4.addr);
- break;
- case 0x0408:
- p8.ptr = ptr;
- p4.addr = p8.addr;
- if (p4.addr != p8.addr) {
- error("obj_native_ptr_to_addr truncation %" tgt_long_fmt "x",
- (tgt_long) p8.addr);
- exit(1);
- }
- return(p4.addr);
- break;
- case 0x0804:
- p4.ptr = ptr;
- return(p4.addr); /* compiler expands to 8 */
- break;
- case 0x0808:
- p8.ptr = ptr;
- return(p8.addr);
- break;
- default:
- error("obj_native_ptr_to_addr unknown conversion 0x%04x", convert);
- exit(1);
- }
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_hppa.c b/mdk-stage1/insmod-modutils/obj/obj_hppa.c
deleted file mode 100644
index a6f703c5d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa.c
+++ /dev/null
@@ -1,638 +0,0 @@
-/*
- * PA-RISC specific support for Elf loading and relocation.
- * Copyright 2000 David Huggins-Daines <dhd@linuxcare.com>, Linuxcare Inc.
- * Copyright 2000 Richard Hirst <rhirst@linuxcare.com>, Linuxcare Inc.
- *
- * Based on the IA-64 support, which is:
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-#include <modstat.h> /* For ksyms */
-
-
-typedef struct _hppa_stub_t
-{
- struct _hppa_stub_t *next;
- int offset;
- int reloc_done;
-} hppa_stub_t;
-
-typedef struct _hppa_symbol_t
-{
- struct obj_symbol root;
- hppa_stub_t *stub;
-} hppa_symbol_t;
-
-typedef struct _hppa_file_t
-{
- struct obj_file root;
- struct obj_section *stub;
- Elf32_Addr dp;
-} hppa_file_t;
-
-/* The ABI defines various more esoteric types, but these are the only
- ones we actually need. */
-enum hppa_fsel
-{
- e_fsel,
- e_lsel,
- e_rsel,
- e_lrsel,
- e_rrsel
-};
-
-struct obj_file *
-arch_new_file (void)
-{
- hppa_file_t *f;
- f = xmalloc(sizeof(*f));
- f->stub = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- hppa_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->stub = NULL;
- return &sym->root;
-}
-
-/* This is called for architecture specific sections we might need to
- do special things to. */
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-/* =================================================================
-
- These functions are from libhppa.h in the GNU BFD library.
- (c) 1990, 91, 92, 93, 94, 95, 96, 98, 99, 2000
- Free Software Foundation, Inc.
-
- ================================================================= */
-
-/* The *sign_extend functions are used to assemble various bitfields
- taken from an instruction and return the resulting immediate
- value. */
-
-static inline int
-sign_extend (x, len)
- int x, len;
-{
- int signbit = (1 << (len - 1));
- int mask = (signbit << 1) - 1;
- return ((x & mask) ^ signbit) - signbit;
-}
-
-static inline int
-low_sign_extend (x, len)
- int x, len;
-{
- return (x >> 1) - ((x & 1) << (len - 1));
-}
-
-
-/* The re_assemble_* functions prepare an immediate value for
- insertion into an opcode. pa-risc uses all sorts of weird bitfields
- in the instruction to hold the value. */
-
-static inline int
-sign_unext (x, len)
- int x, len;
-{
- int len_ones;
-
- len_ones = (1 << len) - 1;
-
- return x & len_ones;
-}
-
-static inline int
-low_sign_unext (x, len)
- int x, len;
-{
- int temp;
- int sign;
-
- sign = (x >> (len-1)) & 1;
-
- temp = sign_unext (x, len-1);
-
- return (temp << 1) | sign;
-}
-
-static inline int
-re_assemble_3 (as3)
- int as3;
-{
- return (( (as3 & 4) << (13-2))
- | ((as3 & 3) << (13+1)));
-}
-
-static inline int
-re_assemble_12 (as12)
- int as12;
-{
- return (( (as12 & 0x800) >> 11)
- | ((as12 & 0x400) >> (10 - 2))
- | ((as12 & 0x3ff) << (1 + 2)));
-}
-
-static inline int
-re_assemble_14 (as14)
- int as14;
-{
- return (( (as14 & 0x1fff) << 1)
- | ((as14 & 0x2000) >> 13));
-}
-
-static inline int
-re_assemble_16 (as16)
- int as16;
-{
- int s, t;
-
- /* Unusual 16-bit encoding, for wide mode only. */
- t = (as16 << 1) & 0xffff;
- s = (as16 & 0x8000);
- return (t ^ s ^ (s >> 1)) | (s >> 15);
-}
-
-static inline int
-re_assemble_17 (as17)
- int as17;
-{
- return (( (as17 & 0x10000) >> 16)
- | ((as17 & 0x0f800) << (16 - 11))
- | ((as17 & 0x00400) >> (10 - 2))
- | ((as17 & 0x003ff) << (1 + 2)));
-}
-
-static inline int
-re_assemble_21 (as21)
- int as21;
-{
- return (( (as21 & 0x100000) >> 20)
- | ((as21 & 0x0ffe00) >> 8)
- | ((as21 & 0x000180) << 7)
- | ((as21 & 0x00007c) << 14)
- | ((as21 & 0x000003) << 12));
-}
-
-static inline int
-re_assemble_22 (as22)
- int as22;
-{
- return (( (as22 & 0x200000) >> 21)
- | ((as22 & 0x1f0000) << (21 - 16))
- | ((as22 & 0x00f800) << (16 - 11))
- | ((as22 & 0x000400) >> (10 - 2))
- | ((as22 & 0x0003ff) << (1 + 2)));
-}
-
-
-/* Handle field selectors for PA instructions.
- The L and R (and LS, RS etc.) selectors are used in pairs to form a
- full 32 bit address. eg.
-
- LDIL L'start,%r1 ; put left part into r1
- LDW R'start(%r1),%r2 ; add r1 and right part to form address
-
- This function returns sign extended values in all cases.
-*/
-
-static inline unsigned int
-hppa_field_adjust (value, addend, r_field)
- unsigned int value;
- int addend;
- enum hppa_fsel r_field;
-{
- unsigned int sym_val;
-
- sym_val = value - addend;
- switch (r_field)
- {
- case e_fsel:
- /* F: No change. */
- break;
-
- case e_lsel:
- /* L: Select top 21 bits. */
- value = value >> 11;
- break;
-
- case e_rsel:
- /* R: Select bottom 11 bits. */
- value = value & 0x7ff;
- break;
-
- case e_lrsel:
- /* LR: L with rounding of the addend to nearest 8k. */
- value = sym_val + ((addend + 0x1000) & -0x2000);
- value = value >> 11;
- break;
-
- case e_rrsel:
- /* RR: R with rounding of the addend to nearest 8k.
- We need to return a value such that 2048 * LR'x + RR'x == x
- ie. RR'x = s+a - (s + (((a + 0x1000) & -0x2000) & -0x800))
- . = s+a - ((s & -0x800) + ((a + 0x1000) & -0x2000))
- . = (s & 0x7ff) + a - ((a + 0x1000) & -0x2000) */
- value = (sym_val & 0x7ff) + (((addend & 0x1fff) ^ 0x1000) - 0x1000);
- break;
-
- default:
- abort();
- }
- return value;
-}
-
-/* Insert VALUE into INSN using R_FORMAT to determine exactly what
- bits to change. */
-
-static inline int
-hppa_rebuild_insn (insn, value, r_format)
- int insn;
- int value;
- int r_format;
-{
- switch (r_format)
- {
- case 11:
- return (insn & ~ 0x7ff) | low_sign_unext (value, 11);
-
- case 12:
- return (insn & ~ 0x1ffd) | re_assemble_12 (value);
-
-
- case 10:
- return (insn & ~ 0x3ff1) | re_assemble_14 (value & -8);
-
- case -11:
- return (insn & ~ 0x3ff9) | re_assemble_14 (value & -4);
-
- case 14:
- return (insn & ~ 0x3fff) | re_assemble_14 (value);
-
-
- case -10:
- return (insn & ~ 0xfff1) | re_assemble_16 (value & -8);
-
- case -16:
- return (insn & ~ 0xfff9) | re_assemble_16 (value & -4);
-
- case 16:
- return (insn & ~ 0xffff) | re_assemble_16 (value);
-
-
- case 17:
- return (insn & ~ 0x1f1ffd) | re_assemble_17 (value);
-
- case 21:
- return (insn & ~ 0x1fffff) | re_assemble_21 (value);
-
- case 22:
- return (insn & ~ 0x3ff1ffd) | re_assemble_22 (value);
-
- case 32:
- return value;
-
- default:
- abort ();
- }
- return insn;
-}
-
-/* ====================================================================
-
- End of functions from GNU BFD.
-
- ==================================================================== */
-
-/* This is where we get the opportunity to create any extra dynamic
- sections we might need. In our case we do not need a GOT because
- our code is not PIC, but we do need to create a stub section.
-
- This is significantly less complex than what we do for shared
- libraries because, obviously, modules are not shared. Also we have
- no issues related to symbol visibility, lazy linking, etc.
- The kernels dp is fixed (at symbol $global$), and we can fix up any
- DPREL refs in the module to use that same dp value.
- All PCREL* refs result in a stub with the following format:
-
- ldil L'func_addr,%r1
- be,n R'func_addr(%sr4,%r1)
-
- Note, all PCREL* get a stub, regardless of whether they are
- local or external. With local ones, and external ones to other
- modules, there is a good chance we could manage without the stub.
- I'll leave that for a future optimisation.
- */
-
-#define LDIL_R1 0x20200000 /* ldil L'XXX,%r1 */
-#define BE_N_SR4_R1 0xe0202002 /* be,n R'XXX(%sr4,%r1) */
-
-#define STUB_SIZE 8
-
-int
-arch_create_got(struct obj_file *f)
-{
- hppa_file_t *hfile = (hppa_file_t *)f;
- int i, n;
- int stub_offset = 0;
-
- /* Create stub section.
- * XXX set flags, see obj_ia64.c
- */
- hfile->stub = obj_create_alloced_section(f, ".stub", STUB_SIZE,
- 0, SHF_WRITE);
-
- /* Actually this is a lot like check_relocs() in a BFD backend. We
- walk all sections and all their relocations and look for ones
- that need special treatment. */
- n = hfile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rela *rel, *relend;
- Elf32_Sym *symtab;
- char const *strtab;
-
- relsec = hfile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = hfile->root.sections[relsec->header.sh_link];
- strsec = hfile->root.sections[symsec->header.sh_link];
-
- rel = (Elf32_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rela));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (char const *)strsec->contents;
-
- for (; rel < relend; rel++)
- {
- int need_stub = 0;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- default:
- continue;
-
- case R_PARISC_PCREL17F:
- case R_PARISC_PCREL22F:
- need_stub = 1;
- break;
- }
-
- if (need_stub)
- {
- hppa_symbol_t *hsym;
- int local;
-
- obj_find_relsym(hsym, f, f, rel, symtab, strtab);
- local = hsym->root.secidx <= SHN_HIRESERVE;
-
- if (need_stub)
- {
- hppa_stub_t *stub;
-
- if (hsym->stub == NULL)
- {
- stub = (hppa_stub_t *) xmalloc(sizeof(hppa_stub_t));
- stub->offset = stub_offset;
- stub->reloc_done = 0;
- hsym->stub = stub;
- stub_offset += STUB_SIZE;
- need_stub = 0;
- }
- }
- }
- }
- }
- if (stub_offset)
- {
- hfile->stub->contents = xmalloc(stub_offset);
- hfile->stub->header.sh_size = stub_offset;
- }
- return 1;
-}
-
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- hppa_file_t *hfile = (hppa_file_t *) f;
- hppa_symbol_t *hsym = (hppa_symbol_t *) sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
- Elf32_Addr dp = hfile->dp;
- Elf32_Word r_info = ELF32_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
- enum hppa_fsel fsel = e_fsel; /* Avoid compiler warning */
- unsigned int r_format;
-
- /* Fix up the value, and determine whether we can handle this
- relocation. */
- switch (r_info)
- {
- case R_PARISC_PLABEL32:
- case R_PARISC_DIR32:
- case R_PARISC_DIR21L:
- case R_PARISC_DIR14R:
- /* Easy. */
- break;
-
- case R_PARISC_SEGREL32:
- v -= f->baseaddr;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DPREL14R:
- v -= dp;
- break;
-
- case R_PARISC_PCREL17F:
- case R_PARISC_PCREL22F:
- /* Find an import stub. */
- assert(hsym->stub != NULL);
- assert(hfile->stub != NULL);
- /* XXX Optimise. We may not need a stub for short branches */
- if (!hsym->stub->reloc_done) {
- /* Need to create the .stub entry */
- Elf32_Addr *pstub, stubv;
-
- pstub = (Elf32_Addr *)(hfile->stub->contents + hsym->stub->offset);
- pstub[0] = LDIL_R1;
- pstub[1] = BE_N_SR4_R1;
- stubv = hppa_field_adjust(v, rel->r_addend, e_lrsel);
- pstub[0] = hppa_rebuild_insn(pstub[0], stubv, 21);
- stubv = hppa_field_adjust(v, rel->r_addend, e_rrsel);
- stubv >>= 2; /* Branch; divide by 4 */
- pstub[1] = hppa_rebuild_insn(pstub[1], stubv, 17);
- hsym->stub->reloc_done = 1;
- }
- v = hsym->stub->offset + hfile->stub->header.sh_addr;
- break;
-
- default:
- return obj_reloc_unhandled;
- }
-
- /* Find the field selector. */
- switch (r_info)
- {
- case R_PARISC_DIR32:
- case R_PARISC_PLABEL32:
- case R_PARISC_PCREL17F:
- case R_PARISC_SEGREL32:
- case R_PARISC_PCREL22F:
- fsel = e_fsel;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DIR21L:
- fsel = e_lrsel;
- break;
-
- case R_PARISC_DPREL14R:
- case R_PARISC_DIR14R:
- fsel = e_rrsel;
- break;
- }
-
- v = hppa_field_adjust(v, rel->r_addend, fsel);
-
- switch (r_info)
- {
- case R_PARISC_PCREL17F:
- case R_PARISC_PCREL17R:
- case R_PARISC_PCREL22F:
- v = v - dot - 8;
- case R_PARISC_DIR17F:
- case R_PARISC_DIR17R:
- /* This is a branch. Divide the offset by four. */
- v >>= 2;
- break;
- default:
- break;
- }
-
- /* Find the format. */
- switch (r_info)
- {
- case R_PARISC_DIR32:
- case R_PARISC_PLABEL32:
- case R_PARISC_SEGREL32:
- r_format = 32;
- break;
-
- case R_PARISC_DPREL21L:
- case R_PARISC_DIR21L:
- r_format = 21;
- break;
-
- case R_PARISC_PCREL17F:
- r_format = 17;
- break;
-
- case R_PARISC_DPREL14R:
- case R_PARISC_DIR14R:
- r_format = 14;
- break;
-
- case R_PARISC_PCREL22F:
- r_format = 22;
- break;
-
- default:
- abort();
- }
-
- *loc = hppa_rebuild_insn(*loc, v, r_format);
-
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *sec)
-{
- struct module_symbol *s;
- int i;
- hppa_file_t *hfile = (hppa_file_t *)f;
-
- /* Initialise dp to the kernels dp (symbol $global$)
- */
- for (i = 0, s = ksyms; i < nksyms; i++, s++)
- if (!strcmp((char *)s->name, "$global$"))
- break;
- if (i >= nksyms) {
- error("Cannot initialise dp, '$global$' not found\n");
- return 1;
- }
- hfile->dp = s->value;
-
- return 0;
-}
-
diff --git a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c b/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
deleted file mode 100644
index d9f1ada9d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
+++ /dev/null
@@ -1,682 +0,0 @@
-/*
- * hppa parisc64 specific support for Elf loading and relocation.
- * Copyright 2000 Richard Hirst <rhirst@linuxcare.com>, Linuxcare Inc.
- *
- * Based on ia64 specific support which was
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <string.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE ~FALSE
-#endif
-
-/*======================================================================*/
-
-typedef struct _hppa64_opd_t
-{
- int offset;
- int reloc_done;
-} hppa64_opd_t;
-
-typedef struct _hppa64_stub_t
-{
- struct _hppa64_stub_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} hppa64_stub_t;
-
-typedef struct _hppa64_got_t
-{
- struct _hppa64_got_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} hppa64_got_t;
-
-typedef struct _hppa64_symbol_t
-{
- struct obj_symbol root;
- hppa64_got_t *gotent;
- hppa64_opd_t *opdent;
- hppa64_stub_t *stubent;
-} hppa64_symbol_t;
-
-typedef struct _hppa64_file_t
-{
- struct obj_file root;
- struct obj_section *got;
- struct obj_section *opd;
- struct obj_section *stub;
- Elf64_Addr gp;
- Elf64_Addr text;
- Elf64_Addr data;
- Elf64_Addr bss;
-} hppa64_file_t;
-
-/*
- * XXX This stub assumes it can reach the .got entry with a +/- 8K offset
- * from dp. Perhaps we should use a .plt for these entries to give a
- * greater chance of that being true.
- *
- * 53 7b 00 00 ldd 0(dp),dp
- * R_PARISC_LTOFF14R <.got entry offset from dp>
- * 53 61 00 20 ldd 10(dp),r1
- * e8 20 d0 00 bve (r1)
- * 53 7b 00 30 ldd 18(dp),dp
- *
- * We need a different stub for millicode calls, which doesn't depend on
- * or modify dp:
- *
- * 20 20 00 00 ldil 0,r1
- * R_PARISC_DIR21L <addr of kernels opd entry>
- * 34 21 00 00 ldo 0(r1),r1
- * R_PARISC_DIR14R <addr of kernels opd entry>
- * 50 21 00 20 ldd 10(r1),r1
- * e8 20 d0 02 bve,n (r1)
- */
-
-/* NOTE: to keep the code cleaner we make all stubs the same size.
- */
-
-#define SIZEOF_STUB 16
-
-unsigned char hppa64_stub_extern[] =
-{
- 0x53, 0x7b, 0x00, 0x00,
- 0x53, 0x61, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x00,
- 0x53, 0x7b, 0x00, 0x30,
-};
-
-unsigned char hppa64_stub_millicode[] =
-{
- 0x20, 0x20, 0x00, 0x00,
- 0x34, 0x21, 0x00, 0x00,
- 0x50, 0x21, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x02,
-};
-
-/*======================================================================*/
-
-enum obj_reloc
-patch_14r(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if (v & 0x80000000)
- v |= ~0x7ff;
- else
- v &= 0x7ff;
- i &= ~ 0x3fff;
- i |= (v & 0x1fff) << 1 |
- (v & 0x2000) >> 13;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-enum obj_reloc
-patch_21l(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- v &= 0xfffff800;
- if (v & 0x80000000)
- v += 0x800;
- i &= ~ 0x1fffff;
- i |= (v & 0x80000000) >> 31 |
- (v & 0x7ff00000) >> 19 |
- (v & 0x000c0000) >> 4 |
- (v & 0x0003e000) << 3 |
- (v & 0x00001800) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-/* All 14 bits this time... This is used to patch the .got offset in
- * a stub for PCREL22F.
- */
-
-enum obj_reloc
-patch_14r2(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if ((Elf64_Sxword)v64 > 0x1fffL ||
- (Elf64_Sxword)v64 < -0x2000L)
- return obj_reloc_overflow;
- i &= ~ 0x3fff;
- i |= (v & 0x2000) >> 13 |
- (v & 0x1fff) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-enum obj_reloc
-patch_22f(Elf64_Xword v64, Elf64_Word *p)
-{
- Elf64_Word i = *p;
- Elf64_Word v = (Elf64_Word)v64;
-
- if ((Elf64_Sxword)v64 > 0x800000-1 ||
- (Elf64_Sxword)v64 < -0x800000)
- return obj_reloc_overflow;
-
- i &= ~ 0x03ff1ffd;
- i |= (v & 0x00800000) >> 23 |
- (v & 0x007c0000) << 3 |
- (v & 0x0003e000) << 3 |
- (v & 0x00001000) >> 10 |
- (v & 0x00000ffc) << 1;
- *p = i;
-
- return obj_reloc_ok;
-}
-
-
-struct obj_section *
-obj_hppa64_create_alloced_section (struct obj_file *f, const char *name,
- unsigned long align, unsigned long size, unsigned long sh_flags)
-{
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (newidx+1) * sizeof(sec));
- f->sections[newidx] = sec = arch_new_section();
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = sh_flags;
- sec->header.sh_size = size;
- sec->header.sh_addralign = align;
- sec->name = name;
- sec->idx = newidx;
- if (size)
- sec->contents = xmalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
- return sec;
-}
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- hppa64_file_t *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->opd = NULL;
- f->stub = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- hppa64_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->gotent = NULL;
- sym->opdent = NULL;
- sym->stubent = NULL;
- return &sym->root;
-}
-
-/* This may not be needed, but does no harm (copied from ia64).
- */
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_PARISC_EXT :
- sec->contents = NULL;
- break;
-
- case SHT_PARISC_UNWIND :
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data: %m");
- return -1;
- }
- }
- else
- sec->contents = NULL;
- break;
- default:
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
- return 0;
-}
-
-int
-arch_create_got(struct obj_file *f)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- int i;
- int n;
- int got_offset = 0;
- int opd_offset = 64;
- int stub_offset = 0;
-
- n = hfile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = hfile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = hfile->root.sections[relsec->header.sh_link];
- strsec = hfile->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- int need_got = FALSE;
- int need_opd = FALSE;
- int need_stub = FALSE;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- default:
- {
- unsigned r_info = ELF64_R_TYPE(rel->r_info);
- printf("r_info 0x%x not handled\n", r_info);
- }
- continue;
- case R_PARISC_LTOFF14R:
- case R_PARISC_LTOFF21L:
- /* These are simple indirect references to symbols through the
- * DLT. We need to create a DLT entry for any symbols which
- * appears in a DLTIND relocation.
- */
- need_got = TRUE;
- break;
- case R_PARISC_PCREL22F:
- /* These are function calls. Depending on their precise
- * target we may need to make a stub for them. The stub
- * uses the dlt, so we need to create dlt entries for
- * these symbols too.
- */
- need_got = TRUE;
- need_stub = TRUE;
- break;
- case R_PARISC_DIR64:
- case R_PARISC_SEGREL32:
- break;
- case R_PARISC_FPTR64:
- /* This is a simple OPD entry (only created for local symbols,
- * see below).
- */
- need_opd = TRUE;
- break;
- }
-
- if (need_got || need_opd || need_stub)
- {
- hppa64_symbol_t *isym;
- int local;
-
- obj_find_relsym(isym, f, f, rel, symtab, strtab);
- local = isym->root.secidx <= SHN_HIRESERVE;
-
- if (need_stub)
- {
- hppa64_stub_t *stub;
-
- for (stub = isym->stubent; stub != NULL; stub = stub->next)
- if (stub->addend == rel->r_addend)
- break;
- if (stub == NULL)
- {
- stub = (hppa64_stub_t *) xmalloc(sizeof(hppa64_stub_t));
- stub->next = isym->stubent;
- stub->addend = rel->r_addend;
- stub->offset = stub_offset;
- stub->reloc_done = FALSE;
- isym->stubent = stub;
- {
- stub_offset += SIZEOF_STUB;
- }
- need_stub = FALSE;
- }
- }
- if (need_got)
- {
- hppa64_got_t *got;
-
- for (got = isym->gotent; got != NULL; got = got->next)
- if (got->addend == rel->r_addend)
- break;
- if (got == NULL)
- {
- got = (hppa64_got_t *) xmalloc(sizeof(hppa64_got_t));
- got->next = isym->gotent;
- got->addend = rel->r_addend;
- got->offset = got_offset;
- got->reloc_done = FALSE;
- isym->gotent = got;
- got_offset += 8;
- need_got = FALSE;
- }
- }
- if (need_opd && local)
- {
- hppa64_opd_t *opd;
-
- if (isym->opdent == NULL)
- {
- opd = (hppa64_opd_t *) xmalloc(sizeof(hppa64_opd_t));
- opd->offset = opd_offset;
- opd->reloc_done = FALSE;
- isym->opdent = opd;
- opd_offset += 32;
- need_opd = FALSE;
- }
- }
- }
- }
- }
-
- hfile->got = obj_hppa64_create_alloced_section(f, ".got", 8, got_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_PARISC_SHORT));
- assert(hfile->got != NULL);
-
- hfile->opd = obj_hppa64_create_alloced_section(f, ".opd", 16, opd_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_PARISC_SHORT));
- assert(hfile->opd != NULL);
-
- if (stub_offset > 0)
- {
- hfile->stub = obj_hppa64_create_alloced_section(f, ".stub", 16,
- stub_offset, (SHF_ALLOC | SHF_EXECINSTR | SHF_PARISC_SHORT));
- assert(hfile->stub != NULL);
- }
-
- return 1;
-}
-
-
-/* This is a small simple version which seems to work fine. ia64 has
- * a much more complex algorithm. We point dp at the end of the .got,
- * which is the start of the .opd.
- */
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- int n = f->header.e_shnum;
- int i;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
-
- /* Pick a sensible value for gp */
- hfile->gp = hfile->got->header.sh_addr + hfile->got->header.sh_size;
-
- return 1;
-}
-
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- hppa64_file_t *hfile = (hppa64_file_t *) f;
- hppa64_symbol_t *isym = (hppa64_symbol_t *) sym;
-
- Elf64_Word *loc = (Elf64_Word *)(targsec->contents + rel->r_offset);
- Elf64_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
-
- Elf64_Addr got = hfile->got->header.sh_addr;
- Elf64_Addr gp = hfile->gp;
-
- Elf64_Xword r_info = ELF64_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (r_info)
- {
- default:
- ret = obj_reloc_unhandled;
- break;
- case R_PARISC_LTOFF14R:
- case R_PARISC_LTOFF21L:
- {
- hppa64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- if (r_info == R_PARISC_LTOFF14R)
- ret = patch_14r(v, loc);
- else
- ret = patch_21l(v, loc);
- }
- break;
- case R_PARISC_PCREL22F:
- {
- hppa64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->got->contents + ge->offset) = v;
- }
- if ((isym->root.secidx > SHN_HIRESERVE) ||
- ((Elf64_Sxword) (v - dot - 8) > 0x800000-1) ||
- ((Elf64_Sxword) (v - dot - 8) < -0x800000))
- {
- hppa64_stub_t *se;
-
- for (se = isym->stubent; se != NULL && se->addend != rel->r_addend; )
- se = se->next;
- assert(se != NULL);
- if (!se->reloc_done)
- {
- /* This requires that we can get from dp to the entry in +/- 8K,
- * or +/- 1000 entries. patch_14r2() will check that.
- * Only need these dlt entries for calls to external/far
- * functions, so should probably put them in a seperate section
- * before dlt and point dp at the section. Change to that
- * scheme if we hit problems with big modules.
- */
- unsigned char *stub;
-
- if (!strncmp(isym->root.name, "$$", 2)) {
- stub = hppa64_stub_millicode;
- memcpy((Elf64_Addr *)(hfile->stub->contents + se->offset),
- stub, SIZEOF_STUB);
- v = (Elf64_Addr)isym->root.value;
- ret = patch_21l(v, (Elf64_Word *)(hfile->stub->contents + se->offset));
- if (ret == obj_reloc_ok)
- ret = patch_14r(v, (Elf64_Word *)(hfile->stub->contents + se->offset + 4));
- }
- else {
- stub = hppa64_stub_extern;
- memcpy((Elf64_Addr *)(hfile->stub->contents + se->offset),
- stub, SIZEOF_STUB);
- v = (Elf64_Addr)(hfile->got->header.sh_addr + ge->offset) - gp;
- ret = patch_14r2(v, (Elf64_Word *)(hfile->stub->contents + se->offset));
- }
- se->reloc_done = TRUE;
- }
- v = hfile->stub->header.sh_addr + se->offset;
- }
- v = v - dot - 8;
- if (ret == obj_reloc_ok)
- ret = patch_22f(v, loc);
- }
- break;
- case R_PARISC_DIR64:
- {
- loc[0] = v >> 32;
- loc[1] = v;
- }
- break;
- case R_PARISC_SEGREL32:
- {
- loc[0] = v - f->baseaddr;
- }
- break;
- case R_PARISC_FPTR64:
- {
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE) /* local */
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(hfile->opd->contents + isym->opdent->offset + 16) = v;
- *(Elf64_Addr *)(hfile->opd->contents + isym->opdent->offset + 24) = gp;
- }
- v = hfile->opd->header.sh_addr + isym->opdent->offset;
- }
- loc[0] = v >> 32;
- loc[1] = v;
- }
- break;
- }
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- Elf64_Addr *opd = (Elf64_Addr *)(hfile->opd->contents);
-
- opd[0] = 0;
- opd[1] = 0;
- if ((opd[2] = mod->init) != 0)
- {
- opd[3] = hfile->gp;
- mod->init = hfile->opd->header.sh_addr;
- }
-
- opd[4] = 0;
- opd[5] = 0;
- if ((opd[6] = mod->cleanup) != 0)
- {
- opd[7] = hfile->gp;
- mod->cleanup = hfile->opd->header.sh_addr + 32;
- }
-
- return 1;
-}
-
-/* XXX Is this relevant to parisc? */
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- hppa64_file_t *hfile = (hppa64_file_t *)f;
- struct archdata {
- unsigned tgt_long unw_table;
- unsigned tgt_long segment_base;
- unsigned tgt_long unw_start;
- unsigned tgt_long unw_end;
- unsigned tgt_long gp;
- } *ad;
- int i;
- struct obj_section *sec;
-
- free(archdata_sec->contents);
- archdata_sec->contents = xmalloc(sizeof(struct archdata));
- memset(archdata_sec->contents, 0, sizeof(struct archdata));
- archdata_sec->header.sh_size = sizeof(struct archdata);
-
- ad = (struct archdata *)(archdata_sec->contents);
- ad->gp = hfile->gp;
- ad->unw_start = 0;
- ad->unw_end = 0;
- ad->unw_table = 0;
- ad->segment_base = f->sections[1]->header.sh_addr;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type == SHT_PARISC_UNWIND)
- {
- ad->unw_start = sec->header.sh_addr;
- ad->unw_end = sec->header.sh_addr + sec->header.sh_size;
- break;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_i386.c b/mdk-stage1/insmod-modutils/obj/obj_i386.c
deleted file mode 100644
index fcbce8e04..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_i386.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/* i386 specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct i386_got_entry
-{
- int offset;
- unsigned offset_done : 1;
- unsigned reloc_done : 1;
-};
-
-struct i386_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct i386_symbol
-{
- struct obj_symbol root;
- struct i386_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct i386_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct i386_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct i386_file *ifile = (struct i386_file *)f;
- struct i386_symbol *isym = (struct i386_symbol *)sym;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_NONE:
- break;
-
- case R_386_32:
- *loc += v;
- break;
-
- case R_386_PLT32:
- case R_386_PC32:
- *loc += v - dot;
- break;
-
- case R_386_GLOB_DAT:
- case R_386_JMP_SLOT:
- *loc = v;
- break;
-
- case R_386_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_386_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-
- case R_386_GOT32:
- assert(isym != NULL);
- if (!isym->gotent.reloc_done)
- {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(ifile->got->contents + isym->gotent.offset) = v;
- }
- *loc += isym->gotent.offset;
- break;
-
- case R_386_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct i386_file *ifile = (struct i386_file *)f;
- int i, n, offset = 0, gotneeded = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rel *rel, *relend;
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_REL)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
- rel = (Elf32_Rel *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rel));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- struct i386_symbol *intsym;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_GOTPC:
- case R_386_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_386_GOT32:
- break;
- }
-
- obj_find_relsym(intsym, f, &ifile->root, rel, symtab, strtab);
-
- if (!intsym->gotent.offset_done)
- {
- intsym->gotent.offset_done = 1;
- intsym->gotent.offset = offset;
- offset += 4;
- }
- }
- }
-
- if (offset > 0 || gotneeded)
- ifile->got = obj_create_alloced_section(&ifile->root, ".got", 4, offset,
- SHF_WRITE);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_ia64.c b/mdk-stage1/insmod-modutils/obj/obj_ia64.c
deleted file mode 100644
index d207a9042..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ia64.c
+++ /dev/null
@@ -1,1022 +0,0 @@
-/*
- * ia64 specific support for Elf loading and relocation.
- * Copyright 2000 Mike Stephens <mike.stephens@intel.com>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <string.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE ~FALSE
-#endif
-
-/*======================================================================*/
-
-typedef struct _ia64_opd_t
-{
- int offset;
- int reloc_done;
-} ia64_opd_t;
-
-typedef struct _ia64_plt_t
-{
- struct _ia64_plt_t *next;
- Elf64_Addr addend;
- int text_offset;
- int data_offset;
- int reloc_done;
-} ia64_plt_t;
-
-typedef struct _ia64_got_t
-{
- struct _ia64_got_t *next;
- Elf64_Addr addend;
- int offset;
- int reloc_done;
-} ia64_got_t;
-
-typedef struct _ia64_symbol_t
-{
- struct obj_symbol root;
- ia64_got_t *gotent;
- ia64_opd_t *opdent;
- ia64_plt_t *pltent;
-} ia64_symbol_t;
-
-typedef struct _ia64_file_t
-{
- struct obj_file root;
- struct obj_section *got;
- struct obj_section *opd;
- struct obj_section *pltt;
- struct obj_section *pltd;
- Elf64_Addr gp;
- Elf64_Addr text;
- Elf64_Addr data;
- Elf64_Addr bss;
-} ia64_file_t;
-
-/*
- * aa=gp rel address of the function descriptor in the .IA_64.pltoff section
- */
-unsigned char ia64_plt_local[] =
-{
- 0x0b, 0x78, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r15=aa,gp;; */
- 0x00, 0x41, 0x3c, 0x30, 0x28, 0xc0, /* ld8 r16=[r15],8 */
- 0x01, 0x08, 0x00, 0x84, /* mov r14=gp;; */
- 0x11, 0x08, 0x00, 0x1e, 0x18, 0x10, /* [MIB] ld8 gp=[r15] */
- 0x60, 0x80, 0x04, 0x80, 0x03, 0x00, /* mov b6=r16 */
- 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
-};
-
-unsigned char ia64_plt_extern[] =
-{
- 0x0b, 0x80, 0x00, 0x02, 0x00, 0x24, /* [MMI] addl r16=aa,gp;; */
- 0xf0, 0x00, 0x40, 0x30, 0x20, 0x00, /* ld8 r15=[r16] */
- 0x00, 0x00, 0x04, 0x00, /* nop.i 0x0;; */
- 0x0b, 0x80, 0x20, 0x1e, 0x18, 0x14, /* [MMI] ld8 r16=[r15],8;; */
- 0x10, 0x00, 0x3c, 0x30, 0x20, 0xc0, /* ld8 gp=[r15] */
- 0x00, 0x09, 0x00, 0x07, /* mov b6=r16;; */
- 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, /* [MIB] nop.m 0x0 */
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* nop.i 0x0 */
- 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
-};
-
-/*======================================================================*/
-
-/*
- * return the instruction at slot in bundle
- */
-Elf64_Xword
-obj_ia64_ins_extract_from_bundle(Elf64_Addr *bundle, Elf64_Xword slot)
-{
- switch (slot)
- {
- case 0 :
- return (*bundle >> 5) & 0x1ffffffffff;
-
- case 1 :
- return (((*bundle >> 46) & 0x3ffff) |
- (*(bundle + 1) << 18)) & 0x1ffffffffff;
-
- case 2 :
- return (*(bundle + 1) >> 23) & 0x1ffffffffff;
-
- default:
- }
- return (-1);
-}
-
-/*
- * insert a instruction at slot in bundle
- */
-void
-obj_ia64_ins_insert_in_bundle(Elf64_Addr *bundle, Elf64_Xword slot, Elf64_Xword ins)
-{
- Elf64_Xword i;
- Elf64_Xword in = ins & 0x1ffffffffff;
-
- switch (slot)
- {
- case 0 :
- i = *bundle & 0xffffc0000000001f;
- *bundle = i | (in << 5);
- break;
-
- case 1 :
- i = *bundle & 0x00003fffffffffff;
- *bundle = i | (in << 46);
-
- ++bundle;
- i = *bundle & 0xffffffffff800000;
- *bundle = i | (in >> 18);
- break;
-
- case 2 :
- ++bundle;
- i = *bundle & 0x00000000007fffff;
- *bundle = i | (in << 23);
- break;
- }
-}
-
-/*
- * add a immediate 14 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm14(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee07f01fff;
- ins |= ((v & 0x2000) << 23) | ((v & 0x1f80) << 20) | ((v & 0x007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- if (((Elf64_Sxword) v > 8191) || ((Elf64_Sxword) v < -8192))
- return obj_reloc_overflow;
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 22 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm22(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffe000301fff;
- ins |= ((v & 0x200000) << 15) | ((v & 0x1f0000) << 6) |
- ((v & 0x00ff80) << 20) | ((v & 0x00007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- if (((Elf64_Sxword) v > 2097151) || ((Elf64_Sxword) v < -2097152))
- return obj_reloc_overflow;
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 1) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21b(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee00001fff;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fffff0) << 9);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 2) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21m(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee000fe03f;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fff800) << 9) |
- ((v & 0x00007f0) << 2);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 21 value (form 3) to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_pcrel21f(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffeffc00003f;
- ins |= ((v & 0x1000000) << 12) | ((v & 0x0fffff0) << 2);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- return obj_reloc_ok;
-}
-
-/*
- * add a immediate 64 value to the instruction at slot in bundle
- */
-enum obj_reloc
-obj_ia64_ins_imm64(Elf64_Xword v, Elf64_Addr *bundle, Elf64_Xword slot)
-{
- Elf64_Xword ins;
-
- assert(slot == 2);
-
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffe000101fff;
- ins |= ((v & 0x8000000000000000) >> 27) | ((v & 0x0000000000200000)) |
- ((v & 0x00000000001f0000) << 6) | ((v & 0x000000000000ff80) << 20) |
- ((v & 0x000000000000007f) << 13);
- obj_ia64_ins_insert_in_bundle(bundle, slot, ins);
- obj_ia64_ins_insert_in_bundle(bundle, --slot, ((v & 0x7fffffffffc00000) >> 22));
- return obj_reloc_ok;
-}
-
-/*
- * create a plt entry
- */
-enum obj_reloc
-obj_ia64_generate_plt(Elf64_Addr v,
- Elf64_Addr gp,
- ia64_file_t *ifile,
- ia64_symbol_t *isym,
- ia64_plt_t *pltent)
-{
- *(Elf64_Addr *)(ifile->pltd->contents + pltent->data_offset) = v;
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- /* local entry */
- *(Elf64_Addr *)(ifile->pltd->contents + pltent->data_offset + 8) = gp;
- memcpy((Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset),
- ia64_plt_local, sizeof(ia64_plt_local));
- }
- else
- {
- /* external entry */
- memcpy((Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset),
- ia64_plt_extern, sizeof(ia64_plt_extern));
- }
- return obj_ia64_ins_imm22(
- (ifile->pltd->header.sh_addr + pltent->data_offset - gp),
- (Elf64_Addr *)(ifile->pltt->contents + pltent->text_offset), 0);
-}
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- ia64_file_t *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->opd = NULL;
- f->pltt = NULL;
- f->pltd = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- ia64_symbol_t *sym;
- sym = xmalloc(sizeof(*sym));
- sym->gotent = NULL;
- sym->opdent = NULL;
- sym->pltent = NULL;
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_IA_64_EXT :
- sec->contents = NULL;
- break;
-
- case SHT_IA_64_UNWIND :
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data: %m");
- return -1;
- }
- }
- else
- sec->contents = NULL;
- break;
-
- default:
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
- return 0;
-}
-
-int
-arch_create_got(struct obj_file *f)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- int i;
- int n;
- int got_offset = 0;
- int opd_offset = 32;
- int plt_text_offset = 0;
- int plt_data_offset = 0;
-
- n = ifile->root.header.e_shnum;
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf64_Rela *rel, *relend;
- Elf64_Sym *symtab;
- const char *strtab;
-
- relsec = ifile->root.sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = ifile->root.sections[relsec->header.sh_link];
- strsec = ifile->root.sections[symsec->header.sh_link];
-
- rel = (Elf64_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf64_Rela));
- symtab = (Elf64_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- int need_got = FALSE;
- int need_opd = FALSE;
- int need_plt = FALSE;
-
- switch (ELF64_R_TYPE(rel->r_info))
- {
- default:
- continue;
-
- case R_IA64_FPTR64I : /* @fptr(sym + add), mov imm64 */
- case R_IA64_FPTR32LSB : /* @fptr(sym + add), data4 LSB */
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- need_opd = TRUE;
- break;
-
- case R_IA64_LTOFF22 : /* @ltoff(sym + add), add imm22 */
- case R_IA64_LTOFF22X :
- case R_IA64_LTOFF64I : /* @ltoff(sym + add), mov imm64 */
- need_got = TRUE;
- break;
-
- case R_IA64_LTOFF_FPTR22 : /* @ltoff(@fptr(s+a)), imm22 */
- case R_IA64_LTOFF_FPTR64I : /* @ltoff(@fptr(s+a)), imm64 */
- case R_IA64_LTOFF_FPTR32LSB :
- case R_IA64_LTOFF_FPTR64LSB :
- need_got = TRUE;
- need_opd = TRUE;
- break;
-
- case R_IA64_PLTOFF22 : /* @pltoff(sym + add), add imm22 */
- case R_IA64_PLTOFF64I : /* @pltoff(sym + add), mov imm64 */
- case R_IA64_PLTOFF64LSB : /* @pltoff(sym + add), data8 LSB */
-
- case R_IA64_PCREL21B : /* @pcrel(sym + add), ptb, call */
- case R_IA64_PCREL21M : /* @pcrel(sym + add), chk.s */
- case R_IA64_PCREL21F : /* @pcrel(sym + add), fchkf */
- need_plt = TRUE;
- break;
- }
-
- if (need_got || need_opd || need_plt)
- {
- ia64_symbol_t *isym;
- int local;
-
- obj_find_relsym(isym, f, f, rel, symtab, strtab);
- local = isym->root.secidx <= SHN_HIRESERVE;
-
- if (need_plt)
- {
- ia64_plt_t *plt;
-
- for (plt = isym->pltent; plt != NULL; plt = plt->next)
- if (plt->addend == rel->r_addend)
- break;
- if (plt == NULL)
- {
- plt = (ia64_plt_t *) xmalloc(sizeof(ia64_plt_t));
- plt->next = isym->pltent;
- plt->addend = rel->r_addend;
- plt->text_offset = plt_text_offset;
- plt->data_offset = plt_data_offset;
- plt->reloc_done = FALSE;
- isym->pltent = plt;
- if (local)
- {
- plt_text_offset += sizeof(ia64_plt_local);
- plt_data_offset += 16;
- }
- else
- {
- plt_text_offset += sizeof(ia64_plt_extern);
- plt_data_offset += 8;
- }
- need_plt = FALSE;
- }
- }
- if (need_got)
- {
- ia64_got_t *got;
-
- for (got = isym->gotent; got != NULL; got = got->next)
- if (got->addend == rel->r_addend)
- break;
- if (got == NULL)
- {
- got = (ia64_got_t *) xmalloc(sizeof(ia64_got_t));
- got->next = isym->gotent;
- got->addend = rel->r_addend;
- got->offset = got_offset;
- got->reloc_done = FALSE;
- isym->gotent = got;
- got_offset += 8;
- need_got = FALSE;
- }
- }
- if (need_opd && local)
- {
- ia64_opd_t *opd;
-
- if (isym->opdent == NULL)
- {
- opd = (ia64_opd_t *) xmalloc(sizeof(ia64_opd_t));
- opd->offset = opd_offset;
- opd->reloc_done = FALSE;
- isym->opdent = opd;
- opd_offset += 16;
- need_opd = FALSE;
- }
- }
- }
- }
- }
-
- ifile->got = obj_create_alloced_section(f, ".got", 8, got_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- assert(ifile->got != NULL);
-
- ifile->opd = obj_create_alloced_section(f, ".opd", 16, opd_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- assert(ifile->opd != NULL);
-
- if (plt_text_offset > 0)
- {
- ifile->pltt = obj_create_alloced_section(f, ".plt", 16,
- plt_text_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- ifile->pltd = obj_create_alloced_section(f, ".IA_64.pltoff", 16,
- plt_data_offset,
- SHF_WRITE | SHF_IA_64_SHORT);
- assert(ifile->pltt != NULL);
- assert(ifile->pltd != NULL);
- }
-
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- Elf64_Addr min_addr = (Elf64_Addr) -1;
- Elf64_Addr max_addr = 0;
- Elf64_Addr min_short_addr = (Elf64_Addr) -1;
- Elf64_Addr max_short_addr = 0;
- Elf64_Addr gp;
- Elf64_Addr text = (Elf64_Addr) -1;
- Elf64_Addr data = (Elf64_Addr) -1;
- Elf64_Addr bss = (Elf64_Addr) -1;
- int n = f->header.e_shnum;
- int i;
-
- /*
- * Finalize the addresses of the sections, find the min and max
- * address of all sections marked short, and collect min and max
- * address of any type, for use in selecting a nice gp.
- *
- * The algorithm used for selecting set the GP value was taken from
- * the ld/bfd code contributed by David Mosberger-Tang <davidm@hpl.hp.com>
- */
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- {
- Elf64_Shdr *header = &f->sections[i]->header;
- Elf64_Addr lo;
- Elf64_Addr hi;
-
- header->sh_addr += base;
- if (header->sh_flags & SHF_ALLOC)
- {
- lo = header->sh_addr;
- hi = header->sh_addr + header->sh_size;
- if (hi < lo)
- hi = (Elf64_Addr) -1;
-
- if (min_addr > lo)
- min_addr = lo;
- if (max_addr < hi)
- max_addr = hi;
- if (header->sh_flags & SHF_IA_64_SHORT)
- {
- if (min_short_addr > lo)
- min_short_addr = lo;
- if (max_short_addr < hi)
- max_short_addr = hi;
- }
- if ((header->sh_type & SHT_NOBITS) && (lo < bss))
- bss = lo;
- else if ((header->sh_flags & SHF_EXECINSTR) && (lo < text))
- text = lo;
- else if (lo < data)
- data = lo;
- }
- }
- /* Pick a sensible value for gp */
-
- /* Start with just the address of the .got */
- gp = ifile->got->header.sh_addr;
-
- /*
- * If it is possible to address the entire image, but we
- * don't with the choice above, adjust.
- */
- if ((max_addr - min_addr < 0x400000) && (max_addr - gp <= 0x200000) &&
- (gp - min_addr > 0x200000))
- {
- gp = min_addr + 0x200000;
- }
- else if (max_short_addr != 0)
- {
- /* If we don't cover all the short data, adjust */
- if (max_short_addr - gp >= 0x200000)
- gp = min_short_addr + 0x200000;
-
- /* If we're addressing stuff past the end, adjust back */
- if (gp > max_addr)
- gp = max_addr - 0x200000 + 8;
- }
-
- /*
- * Validate whether all SHF_IA_64_SHORT sections are within
- * range of the chosen GP.
- */
- if (max_short_addr != 0)
- {
- if (max_short_addr - min_short_addr >= 0x400000)
- {
- error("short data segment overflowed (0x%lx >= 0x400000)",
- (unsigned long)(max_short_addr - min_short_addr));
- return 0;
- }
- else if (((gp > min_short_addr) && (gp - min_short_addr > 0x200000)) ||
- ((gp < max_short_addr) && (max_short_addr - gp >= 0x200000)))
- {
- error("GP does not cover short data segment");
- return 0;
- }
- }
- ifile->gp = gp;
- ifile->text = text;
- ifile->data = data;
- ifile->bss = bss;
- return 1;
-}
-
-/* Targets can be unaligned, use memcpy instead of assignment */
-#define COPY_64LSB(loc, v) \
- do { \
- Elf64_Xword reloc = (v); \
- memcpy((void *)(loc), &reloc, 8); \
- } while(0)
-#define COPY_32LSB(loc, v) \
- do { \
- Elf32_Xword reloc = (v); \
- memcpy((void *)(loc), &reloc, 4); \
- if ((v) != reloc) \
- ret = obj_reloc_overflow; \
- } while(0)
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- ia64_file_t *ifile = (ia64_file_t *) f;
- ia64_symbol_t *isym = (ia64_symbol_t *) sym;
-
- Elf64_Addr loc = (Elf64_Addr)(targsec->contents + rel->r_offset);
- Elf64_Addr dot = (targsec->header.sh_addr + rel->r_offset) & ~0x03;
-
- Elf64_Addr got = ifile->got->header.sh_addr;
- Elf64_Addr gp = ifile->gp;
-
- Elf64_Addr *bundle = (Elf64_Addr *)(loc & ~0x03);
- Elf64_Xword slot = loc & 0x03;
-
- Elf64_Xword r_info = ELF64_R_TYPE(rel->r_info);
-
- enum obj_reloc ret = obj_reloc_ok;
-
- /* We cannot load modules compiled with -mconstant-gp */
-#ifndef EF_IA_64_CONS_GP
-#define EF_IA_64_CONS_GP 0x00000040
-#endif
-#ifndef EF_IA_64_NOFUNCDESC_CONS_GP
-#define EF_IA_64_NOFUNCDESC_CONS_GP 0x00000080
-#endif
- if (f->header.e_flags & (EF_IA_64_CONS_GP | EF_IA_64_NOFUNCDESC_CONS_GP))
- return obj_reloc_constant_gp;
-
- switch (r_info)
- {
- case R_IA64_NONE : /* none */
- case R_IA64_LDXMOV : /* Use of LTOFF22X. */
- break;
-
- case R_IA64_IMM14 : /* symbol + addend, add imm14 */
- ret = obj_ia64_ins_imm14(v, bundle, slot);
- break;
-
- case R_IA64_IMM22 : /* symbol + addend, add imm22 */
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_IMM64 : /* symbol + addend, movl imm64 */
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_DIR32LSB : /* symbol + addend, data4 LSB */
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_DIR64LSB : /* symbol + addend, data8 LSB */
- COPY_64LSB(loc, v);
- break;
-
- case R_IA64_GPREL22 : /* @gprel(sym + add), add imm22 */
- v -= gp;
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_GPREL64I : /* @gprel(sym + add), mov imm64 */
- v -= gp;
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_GPREL32LSB : /* @gprel(sym + add), data4 LSB */
- COPY_32LSB(loc, v-gp);
- break;
-
- case R_IA64_GPREL64LSB : /* @gprel(sym + add), data8 LSB */
- COPY_64LSB(loc, v-gp);
- break;
-
- case R_IA64_LTOFF22 : /* @ltoff(sym + add), add imm22 */
- case R_IA64_LTOFF22X : /* LTOFF22, relaxable. */
- case R_IA64_LTOFF64I : /* @ltoff(sym + add), mov imm64 */
- {
- ia64_got_t *ge;
-
- assert(isym != NULL);
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- if (r_info == R_IA64_LTOFF64I)
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- else
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- }
- break;
-
- case R_IA64_PLTOFF22 : /* @pltoff(sym + add), add imm22 */
- case R_IA64_PLTOFF64I : /* @pltoff(sym + add), mov imm64 */
- case R_IA64_PLTOFF64LSB : /* @pltoff(sym + add), data8 LSB */
- {
- ia64_plt_t *pe;
-
- assert(isym != NULL);
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->reloc_done)
- {
- pe->reloc_done = TRUE;
- ret = obj_ia64_generate_plt(v, gp, ifile, isym, pe);
- }
- v = ifile->pltt->header.sh_addr + pe->text_offset - gp;
- switch (r_info)
- {
- case R_IA64_PLTOFF22 :
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_PLTOFF64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_PLTOFF64LSB :
- COPY_64LSB(loc, v);
- break;
- }
- }
- break;
-
- case R_IA64_FPTR64I : /* @fptr(sym + add), mov imm64 */
- case R_IA64_FPTR32LSB : /* @fptr(sym + add), data4 LSB */
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset) = v;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset + 8) = gp;
- }
- v = ifile->opd->header.sh_addr + isym->opdent->offset;
- }
- switch (r_info)
- {
- case R_IA64_FPTR64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_FPTR32LSB :
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_FPTR64LSB : /* @fptr(sym + add), data8 LSB */
- /* Target can be unaligned */
- COPY_64LSB(loc, v);
- break;
- }
- break;
-
- case R_IA64_PCREL21B : /* @pcrel(sym + add), ptb, call */
- case R_IA64_PCREL21M : /* @pcrel(sym + add), chk.s */
- case R_IA64_PCREL21F : /* @pcrel(sym + add), fchkf */
- assert(isym != NULL);
- if ((isym->root.secidx > SHN_HIRESERVE) ||
- ((Elf64_Sxword) (v - dot) > 16777215) ||
- ((Elf64_Sxword) (v - dot) < -16777216))
- {
- ia64_plt_t *pe;
-
- for (pe = isym->pltent; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->reloc_done)
- {
- pe->reloc_done = TRUE;
- ret = obj_ia64_generate_plt(v, gp, ifile, isym, pe);
- }
- v = ifile->pltt->header.sh_addr + pe->text_offset;
- }
- v -= dot;
- switch (r_info)
- {
- case R_IA64_PCREL21B :
- ret = obj_ia64_ins_pcrel21b(v, bundle, slot);
- break;
-
- case R_IA64_PCREL21M :
- ret = obj_ia64_ins_pcrel21m(v, bundle, slot);
- break;
-
- case R_IA64_PCREL21F :
- ret = obj_ia64_ins_pcrel21f(v, bundle, slot);
- break;
- }
- break;
-
- case R_IA64_PCREL32LSB : /* @pcrel(sym + add), data4 LSB */
- COPY_32LSB(loc, v-dot);
- break;
-
- case R_IA64_PCREL64LSB : /* @pcrel(sym + add), data8 LSB */
- COPY_64LSB(loc, v-dot);
- break;
-
- case R_IA64_LTOFF_FPTR22 : /* @ltoff(@fptr(s+a)), imm22 */
- case R_IA64_LTOFF_FPTR64I : /* @ltoff(@fptr(s+a)), imm64 */
- case R_IA64_LTOFF_FPTR32LSB : /* @ltoff(@fptr(s+a)), data4 */
- case R_IA64_LTOFF_FPTR64LSB : /* @ltoff(@fptr(s+a)), data8 */
- {
- ia64_got_t *ge;
-
- assert(isym != NULL);
- if (isym->root.secidx <= SHN_HIRESERVE)
- {
- assert(isym->opdent != NULL);
- if (!isym->opdent->reloc_done)
- {
- isym->opdent->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset) = v;
- *(Elf64_Addr *)(ifile->opd->contents + isym->opdent->offset + 8) = gp;
- }
- v = ifile->opd->header.sh_addr + isym->opdent->offset;
- }
- for (ge = isym->gotent; ge != NULL && ge->addend != rel->r_addend; )
- ge = ge->next;
- assert(ge != NULL);
- if (!ge->reloc_done)
- {
- ge->reloc_done = TRUE;
- *(Elf64_Addr *)(ifile->got->contents + ge->offset) = v;
- }
- v = got + ge->offset - gp;
- switch (r_info)
- {
- case R_IA64_LTOFF_FPTR22 :
- ret = obj_ia64_ins_imm22(v, bundle, slot);
- break;
-
- case R_IA64_LTOFF_FPTR64I :
- ret = obj_ia64_ins_imm64(v, bundle, slot);
- break;
-
- case R_IA64_LTOFF_FPTR32LSB :
- COPY_32LSB(loc, v);
- break;
-
- case R_IA64_LTOFF_FPTR64LSB :
- COPY_64LSB(loc, v);
- break;
- }
- }
- break;
-
- case R_IA64_SEGREL32LSB : /* @segrel(sym + add), data4 LSB */
- case R_IA64_SEGREL64LSB : /* @segrel(sym + add), data8 LSB */
- /* Only one segment for modules, see segment_base in arch_archdata */
- v -= f->sections[1]->header.sh_addr;
- if (r_info == R_IA64_SEGREL32LSB)
- COPY_32LSB(loc, v);
- else
- COPY_64LSB(loc, v);
- break;
-
- case R_IA64_SECREL32LSB : /* @secrel(sym + add), data4 LSB */
- COPY_32LSB(loc, targsec->header.sh_addr - v);
- break;
-
- case R_IA64_SECREL64LSB : /* @secrel(sym + add), data8 LSB */
- COPY_64LSB(loc, targsec->header.sh_addr - v);
- break;
-
- /*
- * We don't handle the big-endian relocates
- *
- * R_IA64_DIR32MSB symbol + addend, data4 MSB
- * R_IA64_DIR64MSB symbol + addend, data8 MSB
- * R_IA64_GPREL32MSB @gprel(sym + add), data4 MSB
- * R_IA64_GPREL64MSB @gprel(sym + add), data8 MSB
- * R_IA64_PLTOFF64MSB @pltoff(sym + add), data8 MSB
- * R_IA64_FPTR32MSB @fptr(sym + add), data4 MSB
- * R_IA64_FPTR64MSB @fptr(sym + add), data8 MSB
- * R_IA64_PCREL32MSB @pcrel(sym + add), data4 MSB
- * R_IA64_PCREL64MSB @pcrel(sym + add), data8 MSB
- * R_IA64_SEGREL32MSB @segrel(sym + add), data4 MSB
- * R_IA64_SEGREL64MSB @segrel(sym + add), data8 MSB
- * R_IA64_SECREL32MSB @secrel(sym + add), data4 MSB
- * R_IA64_SECREL64MSB @secrel(sym + add), data8 MSB
- * R_IA64_REL32MSB data 4 + REL
- * R_IA64_REL64MSB data 8 + REL
- * R_IA64_LTV32MSB symbol + addend, data4 MSB
- * R_IA64_LTV64MSB symbol + addend, data8 MSB
- * R_IA64_IPLTMSB dynamic reloc, imported PLT, MSB
- */
- default:
- case R_IA64_REL32LSB : /* data 4 + REL */
- case R_IA64_REL64LSB : /* data 8 + REL */
- case R_IA64_LTV32LSB : /* symbol + addend, data4 LSB */
- case R_IA64_LTV64LSB : /* symbol + addend, data8 LSB */
- case R_IA64_IPLTLSB : /* dynamic reloc, imported PLT, LSB */
- ret = obj_reloc_unhandled;
- break;
- }
- return ret;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- Elf64_Addr *opd = (Elf64_Addr *)(ifile->opd->contents);
-
- if ((opd[0] = mod->init) != 0)
- {
- opd[1] = ifile->gp;
- mod->init = ifile->opd->header.sh_addr;
- }
-
- if ((opd[2] = mod->cleanup) != 0)
- {
- opd[3] = ifile->gp;
- mod->cleanup = ifile->opd->header.sh_addr + 16;
- }
-
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- ia64_file_t *ifile = (ia64_file_t *)f;
- struct archdata {
- unsigned tgt_long unw_table;
- unsigned tgt_long segment_base;
- unsigned tgt_long unw_start;
- unsigned tgt_long unw_end;
- unsigned tgt_long gp;
- } *ad;
- int i;
- struct obj_section *sec;
-
- free(archdata_sec->contents);
- archdata_sec->contents = xmalloc(sizeof(struct archdata));
- memset(archdata_sec->contents, 0, sizeof(struct archdata));
- archdata_sec->header.sh_size = sizeof(struct archdata);
-
- ad = (struct archdata *)(archdata_sec->contents);
- ad->gp = ifile->gp;
- ad->unw_start = 0;
- ad->unw_end = 0;
- ad->unw_table = 0;
- ad->segment_base = f->sections[1]->header.sh_addr;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type == SHT_IA_64_UNWIND)
- {
- ad->unw_start = sec->header.sh_addr;
- ad->unw_end = sec->header.sh_addr + sec->header.sh_size;
- break;
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c b/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
deleted file mode 100644
index 1836141e9..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/* Build a section containing all non-stack symbols.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <malloc.h>
-
-#include "obj.h"
-#include "kallsyms.h"
-#include "util.h"
-
-/*======================================================================*/
-
-#define EXPAND_BY 4096 /* Arbitrary */
-
-/* Append a string to the big list of strings */
-
-static void
-append_string (const char *s, char **strings,
- ElfW(Word) *strings_size, ElfW(Word) *strings_left)
-{
- size_t l = strlen(s) + 1;
- while (l > *strings_left) {
- *strings = xrealloc(*strings, *strings_size += EXPAND_BY);
- *strings_left += EXPAND_BY;
- }
- memcpy((char *)*strings+*strings_size-*strings_left, s, l);
- *strings_left -= l;
-}
-
-
-/* Append a symbol to the big list of symbols */
-
-static void
-append_symbol (const struct kallsyms_symbol *s,
- struct kallsyms_symbol **symbols,
- ElfW(Word) *symbols_size, ElfW(Word) *symbols_left)
-{
- size_t l = sizeof(*s);
- while (l > *symbols_left) {
- *symbols = xrealloc(*symbols, *symbols_size += EXPAND_BY);
- *symbols_left += EXPAND_BY;
- }
- memcpy((char *)*symbols+*symbols_size-*symbols_left, s, l);
- *symbols_left -= l;
-}
-
-/* qsort compare routine to sort symbols */
-
-static const char *sym_strings;
-
-static int
-symbol_compare (const void *a, const void *b)
-{
- struct kallsyms_symbol *c = (struct kallsyms_symbol *) a;
- struct kallsyms_symbol *d = (struct kallsyms_symbol *) b;
-
- if (c->symbol_addr > d->symbol_addr)
- return(1);
- if (c->symbol_addr < d->symbol_addr)
- return(-1);
- return(strcmp(sym_strings+c->name_off, sym_strings+d->name_off));
-}
-
-
-/* Extract all symbols from the input obj_file, ignore ones that are
- * no use for debugging, build an output obj_file containing only the
- * kallsyms section.
- *
- * The kallsyms section is a bit unusual. It deliberately has no
- * relocatable data, all "pointers" are represented as byte offsets
- * into the the section. This means it can be stored anywhere without
- * relocation problems. In particular it can be stored within a kernel
- * image, it can be stored separately from the kernel image, it can be
- * appended to a module just before loading, it can be stored in a
- * separate area etc.
- *
- * Format of the kallsyms section.
- *
- * Header:
- * Size of header.
- * Total size of kallsyms data, including strings.
- * Number of loaded sections.
- * Offset to first section entry from start of header.
- * Size of each section entry, excluding the name string.
- * Number of symbols.
- * Offset to first symbol entry from start of header.
- * Size of each symbol entry, excluding the name string.
- *
- * Section entry - one per loaded section.
- * Start of section[1].
- * Size of section.
- * Offset to name of section, from start of strings.
- * Section flags.
- *
- * Symbol entry - one per symbol in the input file[2].
- * Offset of section that owns this symbol, from start of section data.
- * Address of symbol within the real section[1].
- * Offset to name of symbol, from start of strings.
- *
- * Notes: [1] This is an exception to the "represent pointers as
- * offsets" rule, it is a value, not an offset. The start
- * address of a section or a symbol is extracted from the
- * obj_file data which may contain absolute or relocatable
- * addresses. If the addresses are relocatable then the
- * caller must adjust the section and/or symbol entries in
- * kallsyms after relocation.
- * [2] Only symbols that fall within loaded sections are stored.
- */
-
-int
-obj_kallsyms (struct obj_file *fin, struct obj_file **fout_result)
-{
- struct obj_file *fout;
- int i, loaded = 0, *fin_to_allsym_map;
- struct obj_section *isec, *osec;
- struct kallsyms_header *a_hdr;
- struct kallsyms_section *a_sec;
- ElfW(Off) sec_off;
- struct kallsyms_symbol *symbols = NULL, a_sym;
- ElfW(Word) symbols_size = 0, symbols_left = 0;
- char *strings = NULL, *p;
- ElfW(Word) strings_size = 0, strings_left = 0;
- ElfW(Off) file_offset;
- static char strtab[] = "\000" KALLSYMS_SEC_NAME;
-
- /* Create the kallsyms section. */
- fout = arch_new_file();
- memset(fout, 0, sizeof(*fout));
- fout->symbol_cmp = strcmp;
- fout->symbol_hash = obj_elf_hash;
- fout->load_order_search_start = &fout->load_order;
-
- /* Copy file characteristics from input file and modify to suit */
- memcpy(&fout->header, &fin->header, sizeof(fout->header));
- fout->header.e_type = ET_REL; /* Output is relocatable */
- fout->header.e_entry = 0; /* No entry point */
- fout->header.e_phoff = 0; /* No program header */
- file_offset = sizeof(fout->header); /* Step over Elf header */
- fout->header.e_shoff = file_offset; /* Section headers next */
- fout->header.e_phentsize = 0; /* No program header */
- fout->header.e_phnum = 0; /* No program header */
- fout->header.e_shnum = KALLSYMS_IDX+1; /* Initial, strtab, kallsyms */
- fout->header.e_shstrndx = KALLSYMS_IDX-1; /* strtab */
- file_offset += fout->header.e_shentsize * fout->header.e_shnum;
-
- /* Populate the section data for kallsyms itself */
- fout->sections = xmalloc(sizeof(*(fout->sections))*fout->header.e_shnum);
- memset(fout->sections, 0, sizeof(*(fout->sections))*fout->header.e_shnum);
-
- fout->sections[0] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->header.sh_type = SHT_NULL;
- osec->header.sh_link = SHN_UNDEF;
-
- fout->sections[KALLSYMS_IDX-1] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->name = ".strtab";
- osec->header.sh_type = SHT_STRTAB;
- osec->header.sh_link = SHN_UNDEF;
- osec->header.sh_offset = file_offset;
- osec->header.sh_size = sizeof(strtab);
- osec->contents = xmalloc(sizeof(strtab));
- memcpy(osec->contents, strtab, sizeof(strtab));
- file_offset += osec->header.sh_size;
-
- fout->sections[KALLSYMS_IDX] = osec = arch_new_section();
- memset(osec, 0, sizeof(*osec));
- osec->name = KALLSYMS_SEC_NAME;
- osec->header.sh_name = 1; /* Offset in strtab */
- osec->header.sh_type = SHT_PROGBITS; /* Load it */
- osec->header.sh_flags = SHF_ALLOC; /* Read only data */
- osec->header.sh_link = SHN_UNDEF;
- osec->header.sh_addralign = sizeof(ElfW(Word));
- file_offset = (file_offset + osec->header.sh_addralign - 1)
- & -(osec->header.sh_addralign);
- osec->header.sh_offset = file_offset;
-
- /* How many loaded sections are there? */
- for (i = 0; i < fin->header.e_shnum; ++i) {
- if (fin->sections[i]->header.sh_flags & SHF_ALLOC)
- ++loaded;
- }
-
- /* Initial contents, header + one entry per input section. No strings. */
- osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
- a_hdr = (struct kallsyms_header *) osec->contents =
- xmalloc(osec->header.sh_size);
- memset(osec->contents, 0, osec->header.sh_size);
- a_hdr->size = sizeof(*a_hdr);
- a_hdr->sections = loaded;
- a_hdr->section_off = a_hdr->size;
- a_hdr->section_size = sizeof(*a_sec);
- a_hdr->symbol_off = osec->header.sh_size;
- a_hdr->symbol_size = sizeof(a_sym);
- a_hdr->start = (ElfW(Addr))(~0);
-
- /* Map input section numbers to kallsyms section offsets. */
- sec_off = 0; /* Offset to first kallsyms section entry */
- fin_to_allsym_map = xmalloc(sizeof(*fin_to_allsym_map)*fin->header.e_shnum);
- for (i = 0; i < fin->header.e_shnum; ++i) {
- isec = fin->sections[i];
- if (isec->header.sh_flags & SHF_ALLOC) {
- fin_to_allsym_map[isec->idx] = sec_off;
- sec_off += a_hdr->section_size;
- }
- else
- fin_to_allsym_map[isec->idx] = -1; /* Ignore this section */
- }
-
- /* Copy the loaded section data. */
- a_sec = (struct kallsyms_section *) ((char *) a_hdr + a_hdr->section_off);
- for (i = 0; i < fin->header.e_shnum; ++i) {
- isec = fin->sections[i];
- if (!(isec->header.sh_flags & SHF_ALLOC))
- continue;
- a_sec->start = isec->header.sh_addr;
- a_sec->size = isec->header.sh_size;
- a_sec->flags = isec->header.sh_flags;
- a_sec->name_off = strings_size - strings_left;
- append_string(isec->name, &strings, &strings_size, &strings_left);
- if (a_sec->start < a_hdr->start)
- a_hdr->start = a_sec->start;
- if (a_sec->start+a_sec->size > a_hdr->end)
- a_hdr->end = a_sec->start+a_sec->size;
- ++a_sec;
- }
-
- /* Build the kallsyms symbol table from the symbol hashes. */
- for (i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym = fin->symtab[i];
- for (sym = fin->symtab[i]; sym ; sym = sym->next) {
- if (!sym || sym->secidx >= fin->header.e_shnum)
- continue;
- if ((a_sym.section_off = fin_to_allsym_map[sym->secidx]) == -1)
- continue;
- if (strcmp(sym->name, "gcc2_compiled.") == 0 ||
- strncmp(sym->name, "__insmod_", 9) == 0)
- continue;
- a_sym.symbol_addr = sym->value;
- if (fin->header.e_type == ET_REL)
- a_sym.symbol_addr += fin->sections[sym->secidx]->header.sh_addr;
- a_sym.name_off = strings_size - strings_left;
- append_symbol(&a_sym, &symbols, &symbols_size, &symbols_left);
- append_string(sym->name, &strings, &strings_size, &strings_left);
- ++a_hdr->symbols;
- }
- }
- free(fin_to_allsym_map);
-
- /* Sort the symbols into ascending order by address and name */
- sym_strings = strings; /* For symbol_compare */
- qsort((char *) symbols, (unsigned) a_hdr->symbols,
- sizeof(* symbols), symbol_compare);
- sym_strings = NULL;
-
- /* Put the lot together */
- osec->header.sh_size = a_hdr->total_size =
- a_hdr->symbol_off +
- a_hdr->symbols*a_hdr->symbol_size +
- strings_size - strings_left;
- a_hdr = (struct kallsyms_header *) osec->contents =
- xrealloc(a_hdr, a_hdr->total_size);
- p = (char *)a_hdr + a_hdr->symbol_off;
- memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
- free(symbols);
- p += a_hdr->symbols*a_hdr->symbol_size;
- a_hdr->string_off = p - (char *)a_hdr;
- memcpy(p, strings, strings_size - strings_left);
- free(strings);
-
- *fout_result = fout;
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_load.c b/mdk-stage1/insmod-modutils/obj/obj_load.c
deleted file mode 100644
index 62977acb7..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_load.c
+++ /dev/null
@@ -1,343 +0,0 @@
-/* Elf file reader.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
- obj_free() added by Björn Ekwall <bj0rn@blox.se> March 1999
- Support for kallsyms Keith Owens <kaos@ocs.com.au> April 2000
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <alloca.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "obj.h"
-#include "util.h"
-
-/*======================================================================*/
-
-struct obj_file *
-obj_load (int fp, Elf32_Half e_type, const char *filename)
-{
- struct obj_file *f;
- ElfW(Shdr) *section_headers;
- int shnum, i;
- char *shstrtab;
-
- /* Read the file header. */
-
- f = arch_new_file();
- memset(f, 0, sizeof(*f));
- f->symbol_cmp = strcmp;
- f->symbol_hash = obj_elf_hash;
- f->load_order_search_start = &f->load_order;
-
- gzf_lseek(fp, 0, SEEK_SET);
- if (gzf_read(fp, &f->header, sizeof(f->header)) != sizeof(f->header))
- {
- error("cannot read ELF header from %s", filename);
- return NULL;
- }
-
- if (f->header.e_ident[EI_MAG0] != ELFMAG0
- || f->header.e_ident[EI_MAG1] != ELFMAG1
- || f->header.e_ident[EI_MAG2] != ELFMAG2
- || f->header.e_ident[EI_MAG3] != ELFMAG3)
- {
- error("%s is not an ELF file", filename);
- return NULL;
- }
- if (f->header.e_ident[EI_CLASS] != ELFCLASSM
- || f->header.e_ident[EI_DATA] != ELFDATAM
- || f->header.e_ident[EI_VERSION] != EV_CURRENT
- || !MATCH_MACHINE(f->header.e_machine))
- {
- error("ELF file %s not for this architecture", filename);
- return NULL;
- }
- if (f->header.e_type != e_type && e_type != ET_NONE)
- {
- switch (e_type) {
- case ET_REL:
- error("ELF file %s not a relocatable object", filename);
- break;
- case ET_EXEC:
- error("ELF file %s not an executable object", filename);
- break;
- default:
- error("ELF file %s has wrong type, expecting %d got %d",
- filename, e_type, f->header.e_type);
- break;
- }
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr)))
- {
- error("section header size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)f->header.e_shentsize,
- (unsigned long)sizeof(ElfW(Shdr)));
- return NULL;
- }
-
- shnum = f->header.e_shnum;
- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-
- section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- gzf_lseek(fp, f->header.e_shoff, SEEK_SET);
- if (gzf_read(fp, section_headers, sizeof(ElfW(Shdr))*shnum) != sizeof(ElfW(Shdr))*shnum)
- {
- error("error reading ELF section headers %s: %m", filename);
- return NULL;
- }
-
- /* Read the section data. */
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec;
-
- f->sections[i] = sec = arch_new_section();
- memset(sec, 0, sizeof(*sec));
-
- sec->header = section_headers[i];
- sec->idx = i;
-
- switch (sec->header.sh_type)
- {
- case SHT_NULL:
- case SHT_NOTE:
- case SHT_NOBITS:
- /* ignore */
- break;
-
- case SHT_PROGBITS:
- case SHT_SYMTAB:
- case SHT_STRTAB:
- case SHT_RELM:
- if (sec->header.sh_size > 0)
- {
- sec->contents = xmalloc(sec->header.sh_size);
- gzf_lseek(fp, sec->header.sh_offset, SEEK_SET);
- if (gzf_read(fp, sec->contents, sec->header.sh_size) != sec->header.sh_size)
- {
- error("error reading ELF section data %s: %m", filename);
- return NULL;
- }
- }
- else
- sec->contents = NULL;
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- if (sec->header.sh_size) {
- error("RELA relocations not supported on this architecture %s", filename);
- return NULL;
- }
- break;
-#else
- case SHT_REL:
- if (sec->header.sh_size) {
- error("REL relocations not supported on this architecture %s", filename);
- return NULL;
- }
- break;
-#endif
-
- default:
- if (sec->header.sh_type >= SHT_LOPROC)
- {
- if (arch_load_proc_section(sec, fp) < 0)
- return NULL;
- break;
- }
-
- error("can't handle sections of type %ld %s",
- (long)sec->header.sh_type, filename);
- return NULL;
- }
- }
-
- /* Do what sort of interpretation as needed by each section. */
-
- shstrtab = f->sections[f->header.e_shstrndx]->contents;
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
- sec->name = shstrtab + sec->header.sh_name;
- }
-
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
-
- /* .modinfo and .modstring should be contents only but gcc has no
- * attribute for that. The kernel may have marked these sections as
- * ALLOC, ignore the allocate bit.
- */
- if (strcmp(sec->name, ".modinfo") == 0 ||
- strcmp(sec->name, ".modstring") == 0)
- sec->header.sh_flags &= ~SHF_ALLOC;
-
- if (sec->header.sh_flags & SHF_ALLOC)
- obj_insert_section_load_order(f, sec);
-
- switch (sec->header.sh_type)
- {
- case SHT_SYMTAB:
- {
- unsigned long nsym, j;
- char *strtab;
- ElfW(Sym) *sym;
-
- if (sec->header.sh_entsize != sizeof(ElfW(Sym)))
- {
- error("symbol size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)sec->header.sh_entsize,
- (unsigned long)sizeof(ElfW(Sym)));
- return NULL;
- }
-
- nsym = sec->header.sh_size / sizeof(ElfW(Sym));
- strtab = f->sections[sec->header.sh_link]->contents;
- sym = (ElfW(Sym) *) sec->contents;
-
- /* Allocate space for a table of local symbols. */
- j = f->local_symtab_size = sec->header.sh_info;
- f->local_symtab = xmalloc(j *= sizeof(struct obj_symbol *));
- memset(f->local_symtab, 0, j);
-
- /* Insert all symbols into the hash table. */
- for (j = 1, ++sym; j < nsym; ++j, ++sym)
- {
- const char *name;
- if (sym->st_name)
- name = strtab+sym->st_name;
- else
- name = f->sections[sym->st_shndx]->name;
-
- obj_add_symbol(f, name, j, sym->st_info, sym->st_shndx,
- sym->st_value, sym->st_size);
-
- }
- }
- break;
- }
- }
-
- /* second pass to add relocation data to symbols */
- for (i = 0; i < shnum; ++i)
- {
- struct obj_section *sec = f->sections[i];
- switch (sec->header.sh_type)
- {
- case SHT_RELM:
- {
- unsigned long nrel, j, nsyms;
- ElfW(RelM) *rel;
- struct obj_section *symtab;
- char *strtab;
- if (sec->header.sh_entsize != sizeof(ElfW(RelM)))
- {
- error("relocation entry size mismatch %s: %lu != %lu",
- filename,
- (unsigned long)sec->header.sh_entsize,
- (unsigned long)sizeof(ElfW(RelM)));
- return NULL;
- }
-
- nrel = sec->header.sh_size / sizeof(ElfW(RelM));
- rel = (ElfW(RelM) *) sec->contents;
- symtab = f->sections[sec->header.sh_link];
- nsyms = symtab->header.sh_size / symtab->header.sh_entsize;
- strtab = f->sections[symtab->header.sh_link]->contents;
-
- /* Save the relocate type in each symbol entry. */
- for (j = 0; j < nrel; ++j, ++rel)
- {
- struct obj_symbol *intsym;
- unsigned long symndx;
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- if (symndx >= nsyms)
- {
- error("%s: Bad symbol index: %08lx >= %08lx",
- filename, symndx, nsyms);
- continue;
- }
-
- obj_find_relsym(intsym, f, f, rel, (ElfW(Sym) *)(symtab->contents), strtab);
- intsym->r_type = ELFW(R_TYPE)(rel->r_info);
- }
- }
- }
- break;
- }
- }
-
- f->filename = xstrdup(filename);
-
- return f;
-}
-
-void obj_free(struct obj_file *f)
-{
- struct obj_section *sec;
- struct obj_symbol *sym;
- struct obj_symbol *next;
- int i;
- int n;
-
- if (f->sections) {
- n = f->header.e_shnum;
- for (i = 0; i < n; ++i) {
- if ((sec = f->sections[i]) != NULL) {
- if (sec->contents)
- free(sec->contents);
- free(sec);
- }
- }
- free(f->sections);
- }
-
- for (i = 0; i < HASH_BUCKETS; ++i) {
- for (sym = f->symtab[i]; sym; sym = next) {
- next = sym->next;
- free(sym);
- }
- }
-
- if (f->local_symtab)
- free(f->local_symtab);
-
- if (f->filename)
- free((char *)(f->filename));
-
- if (f->persist)
- free((char *)(f->persist));
-
- free(f);
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_m68k.c b/mdk-stage1/insmod-modutils/obj/obj_m68k.c
deleted file mode 100644
index abc070bca..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_m68k.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* m68k specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- char *loc = targsec->contents + rel->r_offset;
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_68K_NONE:
- break;
-
- case R_68K_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *(char *)loc = v;
- break;
- case R_68K_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *(short *)loc = v;
- break;
- case R_68K_32:
- *(int *)loc = v;
- break;
-
- case R_68K_PC8:
- v -= dot;
- if ((Elf32_Sword)v > 0x7f || (Elf32_Sword)v < -(Elf32_Sword)0x80)
- ret = obj_reloc_overflow;
- *(char *)loc = v;
- break;
- case R_68K_PC16:
- v -= dot;
- if ((Elf32_Sword)v > 0x7fff || (Elf32_Sword)v < -(Elf32_Sword)0x8000)
- ret = obj_reloc_overflow;
- *(short *)loc = v;
- break;
- case R_68K_PC32:
- *(int *)loc = v - dot;
- break;
-
- case R_68K_RELATIVE:
- *(int *)loc += ef->baseaddr;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_mips.c b/mdk-stage1/insmod-modutils/obj/obj_mips.c
deleted file mode 100644
index 2db0791b6..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_mips.c
+++ /dev/null
@@ -1,254 +0,0 @@
-/* MIPS specific support for Elf loading and relocation.
- Copyright 1997, 1998 Linux International.
- Contributed by Ralf Baechle <ralf@gnu.ai.mit.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct mips_hi16
-{
- struct mips_hi16 *next;
- Elf32_Addr *addr;
- Elf32_Addr value;
-};
-
-struct mips_file
-{
- struct obj_file root;
- struct mips_hi16 *mips_hi16_list;
-};
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct mips_file *mf;
-
- mf = xmalloc(sizeof(*mf));
- mf->mips_hi16_list = NULL;
-
- return (struct obj_file *) mf;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- switch (sec->header.sh_type)
- {
- case SHT_MIPS_DEBUG:
- case SHT_MIPS_REGINFO:
- /* Actually these two sections are as useless as something can be ... */
- sec->contents = NULL;
- break;
-
- case SHT_MIPS_LIBLIST:
- case SHT_MIPS_CONFLICT:
- case SHT_MIPS_GPTAB:
- case SHT_MIPS_UCODE:
- case SHT_MIPS_OPTIONS:
- case SHT_MIPS_DWARF:
- case SHT_MIPS_EVENTS:
- /* These shouldn't ever be in a module file. */
- error("Unhandled section header type: %08x", sec->header.sh_type);
-
- default:
- /* We don't even know the type. This time it might as well be a
- supernova. */
- error("Unknown section header type: %08x", sec->header.sh_type);
- return -1;
- }
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rel *rel,
- Elf32_Addr v)
-{
- struct mips_file *mf = (struct mips_file *)f;
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- enum obj_reloc ret = obj_reloc_ok;
-
- /* _gp_disp is a magic symbol for PIC which is not supported for
- the kernel and loadable modules. */
- if (strcmp(sym->name, "_gp_disp") == 0)
- ret = obj_reloc_unhandled;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_MIPS_NONE:
- break;
-
- case R_MIPS_32:
- *loc += v;
- break;
-
- case R_MIPS_26:
- if (v % 4)
- ret = obj_reloc_dangerous;
- if ((v & 0xf0000000) != ((dot + 4) & 0xf0000000))
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x03ffffff) | ((*loc + (v >> 2)) & 0x03ffffff);
- break;
-
- case R_MIPS_HI16:
- {
- struct mips_hi16 *n;
-
- /* We cannot relocate this one now because we don't know the value
- of the carry we need to add. Save the information, and let LO16
- do the actual relocation. */
- n = (struct mips_hi16 *) xmalloc (sizeof *n);
- n->addr = loc;
- n->value = v;
- n->next = mf->mips_hi16_list;
- mf->mips_hi16_list = n;
- break;
- }
-
- case R_MIPS_LO16:
- {
- unsigned long insnlo = *loc;
- Elf32_Addr val, vallo;
-
- /* Sign extend the addend we extract from the lo insn. */
- vallo = ((insnlo & 0xffff) ^ 0x8000) - 0x8000;
-
- if (mf->mips_hi16_list != NULL)
- {
- struct mips_hi16 *l;
-
- l = mf->mips_hi16_list;
- while (l != NULL)
- {
- struct mips_hi16 *next;
- unsigned long insn;
-
- /* The value for the HI16 had best be the same. */
- assert(v == l->value);
-
- /* Do the HI16 relocation. Note that we actually don't
- need to know anything about the LO16 itself, except where
- to find the low 16 bits of the addend needed by the LO16. */
- insn = *l->addr;
- val = ((insn & 0xffff) << 16) + vallo;
- val += v;
-
- /* Account for the sign extension that will happen in the
- low bits. */
- val = ((val >> 16) + ((val & 0x8000) != 0)) & 0xffff;
-
- insn = (insn &~ 0xffff) | val;
- *l->addr = insn;
-
- next = l->next;
- free(l);
- l = next;
- }
-
- mf->mips_hi16_list = NULL;
- }
-
- /* Ok, we're done with the HI16 relocs. Now deal with the LO16. */
- val = v + vallo;
- insnlo = (insnlo & ~0xffff) | (val & 0xffff);
- *loc = insnlo;
- break;
- }
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- struct archdata {
- unsigned tgt_long __start___dbe_table;
- unsigned tgt_long __stop___dbe_table;
- } *ad;
- struct obj_section *sec;
-
- if (archdata_sec->contents)
- free(archdata_sec->contents);
- archdata_sec->header.sh_size = 0;
- sec = obj_find_section(f, "__dbe_table");
- if (sec) {
- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
- memset(ad, 0, sizeof(*ad));
- archdata_sec->header.sh_size = sizeof(*ad);
- ad->__start___dbe_table = sec->header.sh_addr;
- ad->__stop___dbe_table = sec->header.sh_addr + sec->header.sh_size;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_ppc.c b/mdk-stage1/insmod-modutils/obj/obj_ppc.c
deleted file mode 100644
index 4889454f2..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ppc.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/* PowerPC specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Adapted by Paul Mackerras <paulus@cs.anu.edu.au> from the
- obj-sparc.c and obj-alpha.c files.
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-#include <assert.h>
-
-
-/*======================================================================*/
-
-/*
- * Unfortunately, the bl (branch-and-link) instruction used for
- * procedure calls on the PowerPC can only reach +/- 32MB from the
- * current instruction. If the module is loaded far enough away from
- * the main kernel text (or other modules) that this limit is
- * exceeded, we have to redirect procedure calls via a procedure
- * linkage table (PLT). Each entry in the PLT contains instructions
- * to put the address of the procedure in a register and jump to it.
- */
-
-typedef unsigned int instruction; /* a powerpc instruction (4 bytes) */
-
-struct ppc_plt_entry
-{
- struct ppc_plt_entry *next;
- ElfW(Addr) addend;
- int offset;
- int inited;
-};
-
-struct ppc_file
-{
- struct obj_file file;
- struct obj_section *plt;
-};
-
-struct ppc_symbol
-{
- struct obj_symbol sym;
- struct ppc_plt_entry *plt_entries;
-};
-
-struct obj_file *
-arch_new_file (void)
-{
- struct ppc_file *f;
-
- f = xmalloc(sizeof(struct ppc_file));
- f->plt = NULL;
- return &f->file;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct ppc_symbol *p;
-
- p = xmalloc(sizeof(struct ppc_symbol));
- p->plt_entries = NULL;
- return &p->sym;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- struct ppc_file *pf = (struct ppc_file *) ef;
- struct ppc_symbol *psym = (struct ppc_symbol *) sym;
- struct ppc_plt_entry *pe;
- instruction *ip;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_PPC_ADDR16_HA:
- *(unsigned short *)loc = (v + 0x8000) >> 16;
- break;
-
- case R_PPC_ADDR16_HI:
- *(unsigned short *)loc = v >> 16;
- break;
-
- case R_PPC_ADDR16_LO:
- *(unsigned short *)loc = v;
- break;
-
- case R_PPC_REL24:
- /* find the plt entry and initialize it if necessary */
- assert(psym != NULL);
- for (pe = psym->plt_entries; pe != NULL && pe->addend != rel->r_addend; )
- pe = pe->next;
- assert(pe != NULL);
- if (!pe->inited)
- {
- ip = (instruction *) (pf->plt->contents + pe->offset);
- ip[0] = 0x3d600000 + ((v + 0x8000) >> 16); /* lis r11,sym@ha */
- ip[1] = 0x396b0000 + (v & 0xffff); /* addi r11,r11,sym@l */
- ip[2] = 0x7d6903a6; /* mtctr r11 */
- ip[3] = 0x4e800420; /* bctr */
- pe->inited = 1;
- }
-
- v -= dot;
- if ((int)v < -0x02000000 || (int)v >= 0x02000000)
- {
- /* go via the plt */
- v = pf->plt->header.sh_addr + pe->offset - dot;
- }
- if (v & 3)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x03fffffc) | (v & 0x03fffffc);
- break;
-
- case R_PPC_REL32:
- *loc = v - dot;
- break;
-
- case R_PPC_ADDR32:
- *loc = v;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct ppc_file *pf = (struct ppc_file *) f;
- int i, offset;
- struct obj_section *sec, *syms, *strs;
- ElfW(Rela) *rel, *relend;
- ElfW(Sym) *symtab;
- const char *strtab;
- struct ppc_symbol *intsym;
- struct ppc_plt_entry *pe;
-
- offset = 0;
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- sec = f->sections[i];
- if (sec->header.sh_type != SHT_RELM)
- continue;
- syms = f->sections[sec->header.sh_link];
- strs = f->sections[syms->header.sh_link];
-
- rel = (ElfW(RelM) *) sec->contents;
- relend = rel + (sec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *) syms->contents;
- strtab = (const char *) strs->contents;
-
- for (; rel < relend; ++rel)
- {
- if (ELF32_R_TYPE(rel->r_info) != R_PPC_REL24)
- continue;
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
-
- for (pe = intsym->plt_entries; pe != NULL; pe = pe->next)
- if (pe->addend == rel->r_addend)
- break;
- if (pe == NULL)
- {
- pe = xmalloc(sizeof(struct ppc_plt_entry));
- pe->next = intsym->plt_entries;
- pe->addend = rel->r_addend;
- pe->offset = offset;
- pe->inited = 0;
- intsym->plt_entries = pe;
- offset += 16;
- }
- }
- }
-
- pf->plt = obj_create_alloced_section(f, ".plt", 16, offset, SHF_WRITE);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *f, struct obj_section *archdata_sec)
-{
- struct archdata {
- unsigned tgt_long __start___ftr_fixup;
- unsigned tgt_long __stop___ftr_fixup;
- } *ad;
- struct obj_section *sec;
-
- if (archdata_sec->contents)
- free(archdata_sec->contents);
- archdata_sec->header.sh_size = 0;
- sec = obj_find_section(f, "__ftr_fixup");
- if (sec) {
- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
- memset(ad, 0, sizeof(*ad));
- archdata_sec->header.sh_size = sizeof(*ad);
- ad->__start___ftr_fixup = sec->header.sh_addr;
- ad->__stop___ftr_fixup = sec->header.sh_addr + sec->header.sh_size;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_reloc.c b/mdk-stage1/insmod-modutils/obj/obj_reloc.c
deleted file mode 100644
index 3f2c8aab0..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_reloc.c
+++ /dev/null
@@ -1,413 +0,0 @@
-/* Elf relocation routines.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <assert.h>
-#include <alloca.h>
-
-#include <obj.h>
-#include <util.h>
-
-/*======================================================================*/
-
-int
-obj_string_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- const char *string)
-{
- struct obj_string_patch_struct *p;
- struct obj_section *strsec;
- size_t len = strlen(string)+1;
- char *loc;
-
- p = xmalloc(sizeof(*p));
- p->next = f->string_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- f->string_patches = p;
-
- strsec = obj_find_section(f, ".kstrtab");
- if (strsec == NULL)
- {
- strsec = obj_create_alloced_section(f, ".kstrtab", 1, len, 0);
- p->string_offset = 0;
- loc = strsec->contents;
- }
- else
- {
- p->string_offset = strsec->header.sh_size;
- loc = obj_extend_section(strsec, len);
- }
- memcpy(loc, string, len);
-
- return 1;
-}
-
-int
-obj_symbol_patch(struct obj_file *f, int secidx, ElfW(Addr) offset,
- struct obj_symbol *sym)
-{
- struct obj_symbol_patch_struct *p;
-
- p = xmalloc(sizeof(*p));
- p->next = f->symbol_patches;
- p->reloc_secidx = secidx;
- p->reloc_offset = offset;
- p->sym = sym;
- f->symbol_patches = p;
-
- return 1;
-}
-
-int
-obj_check_undefineds(struct obj_file *f, int quiet)
-{
- unsigned long i;
- int ret = 1;
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_UNDEF)
- {
- if (ELFW(ST_BIND)(sym->info) == STB_WEAK)
- {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- }
- else if (sym->r_type) /* assumes R_arch_NONE is 0 on all arch */
- {
- if (!quiet)
- error("unresolved symbol %s", sym->name);
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-void
-obj_clear_undefineds(struct obj_file *f)
-{
- unsigned long i;
- struct obj_symbol *sym;
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_UNDEF)
- {
- sym->secidx = SHN_ABS;
- sym->value = 0;
- }
- }
-}
-
-void
-obj_allocate_commons(struct obj_file *f)
-{
- struct common_entry
- {
- struct common_entry *next;
- struct obj_symbol *sym;
- } *common_head = NULL;
-
- unsigned long i;
-
- for (i = 0; i < HASH_BUCKETS; ++i)
- {
- struct obj_symbol *sym;
- for (sym = f->symtab[i]; sym ; sym = sym->next)
- if (sym->secidx == SHN_COMMON)
- {
- /* Collect all COMMON symbols and sort them by size so as to
- minimize space wasted by alignment requirements. */
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p ; p = &(*p)->next)
- if (sym->size <= (*p)->sym->size)
- break;
-
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- }
- }
- }
-
- for (i = 1; i < f->local_symtab_size; ++i)
- {
- struct obj_symbol *sym = f->local_symtab[i];
- if (sym && sym->secidx == SHN_COMMON)
- {
- struct common_entry **p, *n;
- for (p = &common_head; *p ; p = &(*p)->next)
- if (sym == (*p)->sym)
- break;
- else if (sym->size < (*p)->sym->size)
- {
- n = alloca(sizeof(*n));
- n->next = *p;
- n->sym = sym;
- *p = n;
- break;
- }
- }
- }
-
- if (common_head)
- {
- /* Find the bss section. */
- for (i = 0; i < f->header.e_shnum; ++i)
- if (f->sections[i]->header.sh_type == SHT_NOBITS)
- break;
-
- /* If for some reason there hadn't been one, create one. */
- if (i == f->header.e_shnum)
- {
- struct obj_section *sec;
-
- f->sections = xrealloc(f->sections, (i+1) * sizeof(sec));
- f->sections[i] = sec = arch_new_section();
- f->header.e_shnum = i+1;
-
- memset(sec, 0, sizeof(*sec));
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE|SHF_ALLOC;
- sec->name = ".bss";
- sec->idx = i;
- }
-
- /* Allocate the COMMONS. */
- {
- ElfW(Addr) bss_size = f->sections[i]->header.sh_size;
- ElfW(Addr) max_align = f->sections[i]->header.sh_addralign;
- struct common_entry *c;
-
- for (c = common_head; c ; c = c->next)
- {
- ElfW(Addr) align = c->sym->value;
-
- if (align > max_align)
- max_align = align;
- if (bss_size & (align - 1))
- bss_size = (bss_size | (align - 1)) + 1;
-
- c->sym->secidx = i;
- c->sym->value = bss_size;
-
- bss_size += c->sym->size;
- }
-
- f->sections[i]->header.sh_size = bss_size;
- f->sections[i]->header.sh_addralign = max_align;
- }
- }
-
- /* For the sake of patch relocation and parameter initialization,
- allocate zeroed data for NOBITS sections now. Note that after
- this we cannot assume NOBITS are really empty. */
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- struct obj_section *s = f->sections[i];
- if (s->header.sh_type == SHT_NOBITS)
- {
- if (s->header.sh_size)
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- else
- s->contents = NULL;
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-}
-
-unsigned long
-obj_load_size (struct obj_file *f)
-{
- unsigned long dot = 0;
- struct obj_section *sec;
-
- /* Finalize the positions of the sections relative to one another. */
-
- for (sec = f->load_order; sec ; sec = sec->load_next)
- {
- ElfW(Addr) align;
-
- align = sec->header.sh_addralign;
- if (align && (dot & (align - 1)))
- dot = (dot | (align - 1)) + 1;
-
- sec->header.sh_addr = dot;
- dot += sec->header.sh_size;
- }
-
- return dot;
-}
-
-int
-obj_relocate (struct obj_file *f, ElfW(Addr) base)
-{
- int i, n = f->header.e_shnum;
- int ret = 1;
-
- /* Finalize the addresses of the sections. */
-
- arch_finalize_section_address(f, base);
-
- /* And iterate over all of the relocations. */
-
- for (i = 0; i < n; ++i)
- {
- struct obj_section *relsec, *symsec, *targsec, *strsec;
- ElfW(RelM) *rel, *relend;
- ElfW(Sym) *symtab;
- const char *strtab;
- unsigned long nsyms;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELM)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- targsec = f->sections[relsec->header.sh_info];
- strsec = f->sections[symsec->header.sh_link];
-
- if (!(targsec->header.sh_flags & SHF_ALLOC))
- continue;
-
- rel = (ElfW(RelM) *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(ElfW(RelM)));
- symtab = (ElfW(Sym) *)symsec->contents;
- nsyms = symsec->header.sh_size / symsec->header.sh_entsize;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- ElfW(Addr) value = 0;
- struct obj_symbol *intsym = NULL;
- unsigned long symndx;
- const char *errmsg;
-
- /* Attempt to find a value to use for this relocation. */
-
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- /* Note we've already checked for undefined symbols. */
-
- if (symndx >= nsyms)
- {
- error("Bad symbol index: %08lx >= %08lx",
- symndx, nsyms);
- continue;
- }
-
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- value = obj_symbol_final_value(f, intsym);
- }
-
-#if SHT_RELM == SHT_RELA
- value += rel->r_addend;
-#endif
-
- /* Do it! */
- switch (arch_apply_relocation(f,targsec,symsec,intsym,rel,value))
- {
- case obj_reloc_ok:
- break;
-
- case obj_reloc_overflow:
- errmsg = "Relocation overflow";
- goto bad_reloc;
- case obj_reloc_dangerous:
- errmsg = "Dangerous relocation";
- goto bad_reloc;
- case obj_reloc_unhandled:
- errmsg = "Unhandled relocation";
- goto bad_reloc;
- case obj_reloc_constant_gp:
- errmsg = "Modules compiled with -mconstant-gp cannot be loaded";
- goto bad_reloc;
- bad_reloc:
- error("%s of type %ld for %s", errmsg,
- (long)ELFW(R_TYPE)(rel->r_info), intsym->name);
- ret = 0;
- break;
- }
- }
- }
-
- /* Finally, take care of the patches. */
-
- if (f->string_patches)
- {
- struct obj_string_patch_struct *p;
- struct obj_section *strsec;
- ElfW(Addr) strsec_base;
- strsec = obj_find_section(f, ".kstrtab");
- strsec_base = strsec->header.sh_addr;
-
- for (p = f->string_patches; p ; p = p->next)
- {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *)(targsec->contents + p->reloc_offset)
- = strsec_base + p->string_offset;
- }
- }
-
- if (f->symbol_patches)
- {
- struct obj_symbol_patch_struct *p;
-
- for (p = f->symbol_patches; p; p = p->next)
- {
- struct obj_section *targsec = f->sections[p->reloc_secidx];
- *(ElfW(Addr) *)(targsec->contents + p->reloc_offset)
- = obj_symbol_final_value(f, p->sym);
- }
- }
-
- return ret;
-}
-
-int
-obj_create_image (struct obj_file *f, char *image)
-{
- struct obj_section *sec;
- ElfW(Addr) base = f->baseaddr;
-
- for (sec = f->load_order; sec ; sec = sec->load_next)
- {
- char *secimg;
-
- if (sec->contents == 0)
- continue;
-
- secimg = image + (sec->header.sh_addr - base);
-
- /* Note that we allocated data for NOBITS sections earlier. */
- memcpy(secimg, sec->contents, sec->header.sh_size);
- }
-
- return 1;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_s390.c b/mdk-stage1/insmod-modutils/obj/obj_s390.c
deleted file mode 100644
index a76e28479..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_s390.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/* IBM S/390 31-bit specific support for Elf loading and relocation.
- Copyright 2000, 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation.
-
- Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- Derived from obj/obj_i386.c:
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct s390_plt_entry
-{
- long offset;
- int allocated:1;
- int initialized:1;
-};
-
-struct s390_got_entry
-{
- long offset;
- unsigned allocated:1;
- unsigned reloc_done : 1;
-};
-
-struct s390_file
-{
- struct obj_file root;
- struct obj_section *plt;
- struct obj_section *got;
-};
-
-struct s390_symbol
-{
- struct obj_symbol root;
- struct s390_plt_entry pltent;
- struct s390_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct s390_file *f;
- f = xmalloc(sizeof(*f));
- f->got = NULL;
- f->plt = NULL;
- return &f->root;
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- struct s390_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- memset(&sym->pltent, 0, sizeof(sym->pltent));
- return &sym->root;
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- struct s390_file *ifile = (struct s390_file *) f;
- struct s390_symbol *isym = (struct s390_symbol *) sym;
- struct s390_plt_entry *pe;
-
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
- Elf32_Addr got = ifile->got ? ifile->got->header.sh_addr : 0;
- Elf32_Addr plt = ifile->plt ? ifile->plt->header.sh_addr : 0;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_390_NONE:
- break;
-
- case R_390_32:
- *(unsigned int *) loc += v;
- break;
- case R_390_16:
- *(unsigned short *) loc += v;
- break;
- case R_390_8:
- *(unsigned char *) loc += v;
- break;
-
- case R_390_PC32:
- *(unsigned int *) loc += v - dot;
- break;
- case R_390_PC16DBL:
- *(unsigned short *) loc += (v - dot) >> 1;
- break;
- case R_390_PC16:
- *(unsigned short *) loc += v - dot;
- break;
-
- case R_390_PLT32:
- case R_390_PLT16DBL:
- /* find the plt entry and initialize it. */
- assert(isym != NULL);
- pe = (struct s390_plt_entry *) &isym->pltent;
- assert(pe->allocated);
- if (pe->initialized == 0) {
- unsigned int *ip = (unsigned int *)(ifile->plt->contents + pe->offset);
- ip[0] = 0x0d105810; /* basr 1,0; lg 1,10(1); br 1 */
- ip[1] = 0x100607f1;
- if (ELF32_R_TYPE(rel->r_info) == R_390_PLT16DBL)
- ip[2] = v - 2;
- else
- ip[2] = v;
- pe->initialized = 1;
- }
-
- /* Insert relative distance to target. */
- v = plt + pe->offset - dot;
- if (ELF32_R_TYPE(rel->r_info) == R_390_PLT32)
- *(unsigned int *) loc = (unsigned int) v;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_PLT16DBL)
- *(unsigned short *) loc = (unsigned short) ((v + 2) >> 1);
- break;
-
- case R_390_GLOB_DAT:
- case R_390_JMP_SLOT:
- *loc = v;
- break;
-
- case R_390_RELATIVE:
- *loc += f->baseaddr;
- break;
-
- case R_390_GOTPC:
- assert(got != 0);
- *(unsigned long *) loc += got - dot;
- break;
-
- case R_390_GOT12:
- case R_390_GOT16:
- case R_390_GOT32:
- assert(isym != NULL);
- assert(got != 0);
- if (!isym->gotent.reloc_done)
- {
- isym->gotent.reloc_done = 1;
- *(Elf32_Addr *)(ifile->got->contents + isym->gotent.offset) = v;
- }
- if (ELF32_R_TYPE(rel->r_info) == R_390_GOT12)
- *(unsigned short *) loc |= (*(unsigned short *) loc + isym->gotent.offset) & 0xfff;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_GOT16)
- *(unsigned short *) loc += isym->gotent.offset;
- else if (ELF32_R_TYPE(rel->r_info) == R_390_GOT32)
- *(unsigned int *) loc += isym->gotent.offset;
- break;
-
- case R_390_GOTOFF:
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *f)
-{
- struct s390_file *ifile = (struct s390_file *) f;
- int i, got_offset = 0, plt_offset = 0, gotneeded = 0;
-
- for (i = 0; i < f->header.e_shnum; ++i)
- {
- struct obj_section *relsec, *symsec, *strsec;
- Elf32_Rela *rel, *relend;
- Elf32_Sym *symtab;
- const char *strtab;
-
- relsec = f->sections[i];
- if (relsec->header.sh_type != SHT_RELA)
- continue;
-
- symsec = f->sections[relsec->header.sh_link];
- strsec = f->sections[symsec->header.sh_link];
-
- rel = (Elf32_Rela *)relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rela));
- symtab = (Elf32_Sym *)symsec->contents;
- strtab = (const char *)strsec->contents;
-
- for (; rel < relend; ++rel)
- {
- struct s390_symbol *intsym;
- struct s390_plt_entry *pe;
- struct s390_got_entry *ge;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
- /* These four relocations refer to a plt entry. */
- case R_390_PLT16DBL:
- case R_390_PLT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- assert(intsym);
- pe = &intsym->pltent;
- if (!pe->allocated) {
- pe->allocated = 1;
- pe->offset = plt_offset;
- plt_offset += 12;
- }
- break;
- /* The next three don't need got entries but the address
- of the got itself. */
- case R_390_GOTPC:
- case R_390_GOTOFF:
- gotneeded = 1;
- break;
-
- case R_390_GOT12:
- case R_390_GOT16:
- case R_390_GOT32:
- obj_find_relsym(intsym, f, f, rel, symtab, strtab);
- assert(intsym);
- ge = (struct s390_got_entry *) &intsym->gotent;
- if (!ge->allocated) {
- ge->allocated = 1;
- ge->offset = got_offset;
- got_offset += sizeof(void*);
- }
- break;
-
- default:
- break;
- }
- }
- }
-
- if (got_offset > 0 || gotneeded) {
- struct obj_section *gotsec;
- struct obj_symbol *gotsym;
-
- gotsec = obj_find_section(f, ".got");
- if (gotsec == NULL)
- gotsec = obj_create_alloced_section(f, ".got", 4, got_offset, SHF_WRITE);
- else
- obj_extend_section(gotsec, got_offset);
- gotsym = obj_add_symbol(f, "_GLOBAL_OFFSET_TABLE_", -1,
- ELFW(ST_INFO) (STB_LOCAL, STT_OBJECT),
- gotsec->idx, 0, 0);
- gotsym->secidx = gotsec->idx; /* mark the symbol as defined */
- ifile->got = gotsec;
- }
-
- if (plt_offset > 0)
- ifile->plt = obj_create_alloced_section(f, ".plt", 4, plt_offset,
- SHF_WRITE);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
-
diff --git a/mdk-stage1/insmod-modutils/obj/obj_sparc.c b/mdk-stage1/insmod-modutils/obj/obj_sparc.c
deleted file mode 100644
index d1eb3da44..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Sparc specific support for Elf loading and relocation.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf32_Rela *rel,
- Elf32_Addr v)
-{
- Elf32_Addr *loc = (Elf32_Addr *)(targsec->contents + rel->r_offset);
- Elf32_Addr dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_SPARC_NONE:
- break;
- case R_SPARC_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_32:
- *loc = v;
- break;
- case R_SPARC_DISP8:
- v -= dot;
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_DISP16:
- v -= dot;
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_DISP32:
- v -= dot;
- *loc = v;
- break;
- case R_SPARC_WDISP30:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffffff) | (v >> 2);
- break;
- case R_SPARC_WDISP22:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffff) | ((v >> 2) & 0x3fffff);
- break;
- case R_SPARC_HI22:
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
- case R_SPARC_22:
- if (v > 0x3fffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3fffff) | (v & 0x3fffff);
- break;
- case R_SPARC_13:
- if (v > 0x1fff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1fff) | (v & 0x1fff);
- break;
- case R_SPARC_LO10:
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
-
- case R_SPARC_PC10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_PC22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
-
- case R_SPARC_UA32:
- *(((char *)loc) + 0) = (char)(v >> 24);
- *(((char *)loc) + 1) = (char)(v >> 16);
- *(((char *)loc) + 2) = (char)(v >> 8);
- *(((char *)loc) + 3) = (char)v;
- break;
-
-#ifdef R_SPARC_10
- case R_SPARC_10:
- if (v > 0x3ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_11:
- if (v > 0x7ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7ff) | (v & 0x7ff);
- break;
- case R_SPARC_WDISP16:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x303fff) | ((v << 4) & 0x300000) | ((v >> 2) & 0x3fff);
- break;
- case R_SPARC_WDISP19:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x7ffff) | ((v >> 2) & 0x7ffff);
- break;
- case R_SPARC_7:
- if (v > 0x7f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7f) | (v & 0x7f);
- break;
- case R_SPARC_5:
- if (v > 0x1f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1f) | (v & 0x1f);
- break;
- case R_SPARC_6:
- if (v > 0x3f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3f) | (v & 0x3f);
- break;
-#endif /* R_SPARC_10 */
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf32_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c b/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
deleted file mode 100644
index f025667f8..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/* Sparc64 specific support for Elf loading and relocation.
- Copyright 1997 Linux International.
-
- Contributed by Jakub Jelinek <jj@sunsite.mff.cuni.cz>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stddef.h>
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- return xmalloc(sizeof(struct obj_file));
-}
-
-struct obj_section *
-arch_new_section (void)
-{
- return xmalloc(sizeof(struct obj_section));
-}
-
-struct obj_symbol *
-arch_new_symbol (void)
-{
- return xmalloc(sizeof(struct obj_symbol));
-}
-
-#ifdef BROKEN_SPARC64_RELOCS
-
-#undef R_SPARC_PLT32
-#undef R_SPARC_HIPLT22
-#undef R_SPARC_LOPLT10
-#undef R_SPARC_PCPLT32
-#undef R_SPARC_PCPLT22
-#undef R_SPARC_PCPLT10
-#undef R_SPARC_10
-#undef R_SPARC_11
-#undef R_SPARC_64
-#undef R_SPARC_OLO10
-#undef R_SPARC_HH22
-#undef R_SPARC_HM10
-#undef R_SPARC_LM22
-#undef R_SPARC_PC_HH22
-#undef R_SPARC_PC_HM10
-#undef R_SPARC_PC_LM22
-#undef R_SPARC_WDISP16
-#undef R_SPARC_WDISP19
-#undef R_SPARC_GLOB_JMP
-#undef R_SPARC_7
-#undef R_SPARC_5
-#undef R_SPARC_6
-
-#define R_SPARC_10 24
-#define R_SPARC_11 25
-#define R_SPARC_64 26
-#define R_SPARC_OLO10 27
-#define R_SPARC_HH22 28
-#define R_SPARC_HM10 29
-#define R_SPARC_LM22 30
-#define R_SPARC_PC_HH22 31
-#define R_SPARC_PC_HM10 32
-#define R_SPARC_PC_LM22 33
-#define R_SPARC_WDISP16 34
-#define R_SPARC_WDISP19 35
-#define R_SPARC_GLOB_JMP 36
-#define R_SPARC_7 37
-#define R_SPARC_5 38
-#define R_SPARC_6 39
-
-#else
-
-#ifndef R_SPARC_64
-
-#define R_SPARC_64 32
-#define R_SPARC_OLO10 33
-#define R_SPARC_HH22 34
-#define R_SPARC_HM10 35
-#define R_SPARC_LM22 36
-#define R_SPARC_PC_HH22 37
-#define R_SPARC_PC_HM10 38
-#define R_SPARC_PC_LM22 39
-
-#endif
-
-#endif
-
-int
-arch_load_proc_section(struct obj_section *sec, int fp)
-{
- /* Assume it's just a debugging section that we can safely
- ignore ... */
- sec->contents = NULL;
-
- return 0;
-}
-
-#define ELF64_R_TYPE_ID(info) ((info) & 0xff)
-#define ELF64_R_TYPE_DATA(info) ((info) >> 8)
-
-enum obj_reloc
-arch_apply_relocation (struct obj_file *ef,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
- Elf64_Rela *rel,
- Elf64_Addr v)
-{
- unsigned int *loc = (unsigned int *)(targsec->contents + rel->r_offset);
- unsigned int dot = targsec->header.sh_addr + rel->r_offset;
-
- enum obj_reloc ret = obj_reloc_ok;
-
- switch (ELF64_R_TYPE_ID(rel->r_info))
- {
- case R_SPARC_NONE:
- break;
-
- case R_SPARC_64:
- case R_SPARC_UA64:
- if (! ((long) loc & 3)) {
- /* Common in .eh_frame */
- ((unsigned int *) loc) [0] = v >> 32;
- ((unsigned int *) loc) [1] = v;
- break;
- }
- ((unsigned char *) loc) [0] = v >> 56;
- ((unsigned char *) loc) [1] = v >> 48;
- ((unsigned char *) loc) [2] = v >> 40;
- ((unsigned char *) loc) [3] = v >> 32;
- ((unsigned char *) loc) [4] = v >> 24;
- ((unsigned char *) loc) [5] = v >> 16;
- ((unsigned char *) loc) [6] = v >> 8;
- ((unsigned char *) loc) [7] = v;
- break;
- case R_SPARC_32:
- case R_SPARC_UA32:
- if (! ((long) loc & 3)) {
- *loc = v;
- break;
- }
- ((unsigned char *) loc) [0] = v >> 24;
- ((unsigned char *) loc) [1] = v >> 16;
- ((unsigned char *) loc) [2] = v >> 8;
- ((unsigned char *) loc) [3] = v;
- break;
- case R_SPARC_16:
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_8:
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
-
- case R_SPARC_DISP32:
- v -= dot;
- *loc = v;
- break;
- case R_SPARC_DISP16:
- v -= dot;
- if (v > 0xffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xffff) | (v & 0xffff);
- break;
- case R_SPARC_DISP8:
- v -= dot;
- if (v > 0xff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0xff) | (v & 0xff);
- break;
- case R_SPARC_WDISP30:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffffff) | ((v >> 2) & 0x3fffffff);
- break;
-
- /* MEDLOW code model relocs */
- case R_SPARC_LO10:
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_HI22:
- *loc = (*loc & ~0x3fffff) | (v >> 10);
- break;
- case R_SPARC_OLO10:
- *loc = (*loc & ~0x1fff) | (((v & 0x3ff) + ELF64_R_TYPE_DATA (rel->r_info)) & 0x1fff);
- break;
-
- /* MEDMID code model relocs */
- case R_SPARC_H44:
- *loc = (*loc & ~0x3fffff) | (v >> 22);
- break;
- case R_SPARC_M44:
- *loc = (*loc & ~0x3ff) | ((v >> 12) & 0x3ff);
- break;
- case R_SPARC_L44:
- *loc = (*loc & ~0xfff) | (v & 0xfff);
- break;
-
- /* MEDANY code model relocs */
- case R_SPARC_HH22:
- *loc = (*loc & ~0x3fffff) | (v >> 42);
- break;
- case R_SPARC_HM10:
- *loc = (*loc & ~0x3ff) | ((v >> 32) & 0x3ff);
- break;
- case R_SPARC_LM22:
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-
- case R_SPARC_WDISP22:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x3fffff) | ((v >> 2) & 0x3fffff);
- break;
- case R_SPARC_22:
- if (v > 0x3fffff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3fffff) | (v & 0x3fffff);
- break;
- case R_SPARC_13:
- if (v > 0x1fff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1fff) | (v & 0x1fff);
- break;
-
- case R_SPARC_PC10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_PC22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-
-#ifdef R_SPARC_10
- case R_SPARC_10:
- if (v > 0x3ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3ff) | (v & 0x3ff);
- break;
- case R_SPARC_11:
- if (v > 0x7ff)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7ff) | (v & 0x7ff);
- break;
-
-#ifdef R_SPARC_64
- case R_SPARC_PC_HH22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | (v >> 42);
- break;
- case R_SPARC_PC_HM10:
- v -= dot;
- *loc = (*loc & ~0x3ff) | ((v >> 32) & 0x3ff);
- break;
- case R_SPARC_PC_LM22:
- v -= dot;
- *loc = (*loc & ~0x3fffff) | ((v >> 10) & 0x3fffff);
- break;
-#endif
-
- case R_SPARC_WDISP16:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x303fff) | ((v << 4) & 0x300000) | ((v >> 2) & 0x3fff);
- break;
- case R_SPARC_WDISP19:
- v -= dot;
- if (v % 4)
- ret = obj_reloc_dangerous;
- *loc = (*loc & ~0x7ffff) | ((v >> 2) & 0x7ffff);
- break;
- case R_SPARC_7:
- if (v > 0x7f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x7f) | (v & 0x7f);
- break;
- case R_SPARC_5:
- if (v > 0x1f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x1f) | (v & 0x1f);
- break;
- case R_SPARC_6:
- if (v > 0x3f)
- ret = obj_reloc_overflow;
- *loc = (*loc & ~0x3f) | (v & 0x3f);
- break;
-#endif /* R_SPARC_10 */
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int
-arch_create_got (struct obj_file *ef)
-{
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *mod)
-{
- return 1;
-}
-
-int
-arch_finalize_section_address(struct obj_file *f, Elf64_Addr base)
-{
- int i, n = f->header.e_shnum;
-
- f->baseaddr = base;
- for (i = 0; i < n; ++i)
- f->sections[i]->header.sh_addr += base;
- return 1;
-}
-
-int
-arch_archdata (struct obj_file *fin, struct obj_section *sec)
-{
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/util/Makefile b/mdk-stage1/insmod-modutils/util/Makefile
deleted file mode 100644
index dd8107435..000000000
--- a/mdk-stage1/insmod-modutils/util/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-all: libutil.a libutil-STANDALONE.a
-
-clean:
- rm -f *.o *.a
-
-
-INCS = -I./../include
-
-DEFS = -Wno-error -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH) -DHAVE_WORDEXP=1 -DHAVE_GLOB=1 -DCONFIG_ROOT_CHECK_OFF=0
-
-
-OBJS = xmalloc.o xrealloc.o xstrcat.o xstrdup.o xsystem.o xftw.o \
- modstat.o meta_expand.o config.o snap_shot.o arch64.o gzfiles.o sys_nim.o sys_oim.o
-
-libutil.a: $(OBJS) logger.o
- ar cru $@ $^
- ranlib $@
-
-libutil-STANDALONE.a: $(OBJS) logger-standalone.o
- ar cru $@ $^
- ranlib $@
-
-logger-standalone.o: logger.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -o $@ -D_STANDALONE_ -c logger.c
-
-%.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $<
diff --git a/mdk-stage1/insmod-modutils/util/alias.h b/mdk-stage1/insmod-modutils/util/alias.h
deleted file mode 100644
index 7d0c08938..000000000
--- a/mdk-stage1/insmod-modutils/util/alias.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * This file is split out from config.c for easier editing
- */
-
-/*
- * tbpath and tbtype are used to build the complete set of paths for finding
- * modules, but only when we search for individual directories, they are not
- * used for [boot] and [toplevel] searches.
- */
-static char *tbpath[] =
-{
- "/lib/modules",
- NULL /* marks the end of the list! */
-};
-
-char *tbtype[] =
-{
- "kernel", /* as of 2.3.14 this must be first */
- "fs",
- "net",
- "scsi",
- "block",
- "cdrom",
- "ipv4",
- "ipv6",
- "sound",
- "fc4",
- "video",
- "misc",
- "pcmcia",
- "atm",
- "usb",
- "ide",
- "ieee1394",
- "mtd",
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined aliases.
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *aliaslist[] =
-{
- "binfmt-0000 off",
- "binfmt-204 binfmt_aout",
- "binfmt-263 binfmt_aout",
- "binfmt-264 binfmt_aout",
- "binfmt-267 binfmt_aout",
- "binfmt-387 binfmt_aout",
- "binfmt-332 iBCS",
- "binfmt--310 binfmt_java",
-
- "block-major-1 rd",
- "block-major-2 floppy",
- "block-major-3 ide-probe-mod",
- "block-major-7 loop",
- "block-major-8 sd_mod",
- "block-major-9 md", /* For modular RAID */
- "block-major-11 sr_mod",
- "block-major-13 xd",
- "block-major-15 cdu31a",
- "block-major-16 gscd",
- "block-major-17 optcd",
- "block-major-18 sjcd",
- "block-major-20 mcdx",
- "block-major-22 ide-probe-mod",
- "block-major-23 mcd",
- "block-major-24 sonycd535",
- "block-major-25 sbpcd",
- "block-major-26 sbpcd",
- "block-major-27 sbpcd",
- "block-major-29 aztcd",
- "block-major-32 cm206",
- "block-major-33 ide-probe-mod",
- "block-major-34 ide-probe-mod",
- "block-major-37 ide-tape",
- "block-major-44 ftl", /* from David Woodhouse <dwmw2@infradead.org> */
- "block-major-46 pcd",
- "block-major-47 pf",
- "block-major-56 ide-probe-mod",
- "block-major-57 ide-probe-mod",
- "block-major-58 lvm-mod",
- "block-major-88 ide-probe-mod",
- "block-major-89 ide-probe-mod",
- "block-major-90 ide-probe-mod",
- "block-major-91 ide-probe-mod",
- "block-major-93 nftl", /* from David Woodhouse <dwmw2@infradead.org> */
- "block-major-97 pg",
-
-#if !defined(__s390__) && !defined(__s390x__)
- "char-major-4 serial",
-#else
- "char-major-4 off",
-#endif
- "char-major-5 serial",
- "char-major-6 lp",
- "char-major-9 st",
- "char-major-10 off", /* was: mouse, was: misc */
- "char-major-10-0 busmouse", /* /dev/logibm Logitech bus mouse */
- "char-major-10-1 off", /* /dev/psaux PS/2-style mouse port */
- "char-major-10-2 msbusmouse", /* /dev/inportbm Microsoft Inport bus mouse */
- "char-major-10-3 atixlmouse", /* /dev/atibm ATI XL bus mouse */
- /* /dev/jbm J-mouse */
- /* /dev/amigamouse Amiga mouse (68k/Amiga) */
- /* /dev/atarimouse Atari mouse */
- /* /dev/sunmouse Sun mouse */
- /* /dev/beep Fancy beep device */
- /* /dev/modreq Kernel module load request */
- "char-major-10-130 wdt", /* /dev/watchdog Watchdog timer port */
- "char-major-10-131 wdt", /* /dev/temperature Machine internal temperature */
- /* /dev/hwtrap Hardware fault trap */
- /* /dev/exttrp External device trap */
- "char-major-10-135 rtc", /* /dev/rtc Real time clock */
- "char-major-10-139 openprom", /* /dev/openprom Linux/Sparc interface */
- "char-major-10-144 nvram", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-10-157 applicom", /* from David Woodhouse <dwmw2@infradead.org> */
- "char-major-10-175 agpgart", /* /dev/agpgart GART AGP mapping access */
- "char-major-10-184 microcode", /* Tigran Aivazian <tigran@veritas.com> */
-
- "char-major-13 input",
- "char-major-13-32 mousedev",
- "char-major-14 soundcore",
- "char-major-19 cyclades",
- "char-major-20 cyclades",
- "char-major-21 sg",
- "char-major-22 pcxx", /* ?? */
- "char-major-23 pcxx", /* ?? */
- "char-major-27 ftape",
- "char-major-34 scc",
- "char-major-35 tclmidi",
- "char-major-36 netlink",
- "char-major-37 ide-tape",
- "char-major-48 riscom8",
- "char-major-49 riscom8",
- "char-major-57 esp",
- "char-major-58 esp",
- "char-major-63 kdebug",
- "char-major-90 mtdchar", /* from David Woodhouse <dwmw2@infradead.org> */
- "char-major-96 pt",
- "char-major-99 ppdev",
- "char-major-107 3dfx", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-108 ppp_generic",
- "char-major-109 lvm-mod",
- "char-major-161 ircomm-tty",
- "char-major-171 raw1394",
- "char-major-195 NVdriver",
- "char-major-200 vxspec",
-
- "dos msdos",
- "dummy0 dummy",
- "dummy1 dummy",
- "eth0 off",
- "iso9660 isofs",
- "md-personality-1 linear",
- "md-personality-2 raid0",
- "md-personality-3 raid1",
- "md-personality-4 raid5",
- "md-personality-7 multipath",
-
- "net-pf-1 unix", /* PF_UNIX 1 Unix domain sockets */
- "net-pf-2 ipv4", /* PF_INET 2 Internet IP Protocol */
- "net-pf-3 off", /* PF_AX25 3 Amateur Radio AX.25 */
- "net-pf-4 ipx", /* PF_IPX 4 Novell IPX */
- "net-pf-5 appletalk", /* PF_APPLETALK 5 Appletalk DDP */
- "net-pf-6 off", /* PF_NETROM 6 Amateur radio NetROM */
- /* PF_BRIDGE 7 Multiprotocol bridge */
- /* PF_AAL5 8 Reserved for Werner's ATM */
- /* PF_X25 9 Reserved for X.25 project */
- "net-pf-10 off", /* PF_INET6 10 IP version 6 */
-
- /* next two from <dairiki@matthews.dairiki.org> Thanks! */
- "net-pf-17 af_packet",
- "net-pf-19 off", /* acorn econet */
-
- "netalias-2 ip_alias",
-
- /* To be able to attach some dongles */
- "irlan0 irlan",
- "irda-dongle-0 tekram",
- "irda-dongle-1 esi",
- "irda-dongle-2 actisys",
- "irda-dongle-3 actisys",
- "irda-dongle-4 girbil",
- "irda-dongle-5 litelink",
- "irda-dongle-6 airport",
- "irda-dongle-7 old_belkin",
-
- "plip0 plip",
- "plip1 plip",
- "tunl0 ipip",
- "cipcb0 cipcb",
- "cipcb1 cipcb",
- "cipcb2 cipcb",
- "cipcb3 cipcb",
-#if defined(__s390__) || defined(__s390x__)
- "ctc0 ctc",
- "ctc1 ctc",
- "ctc2 ctc",
- "iucv0 netiucv",
- "iucv1 netiucv",
-#endif
- "ppp0 ppp",
- "ppp1 ppp",
- "slip0 slip",
- "slip1 slip",
- "tty-ldisc-1 slip",
- "tty-ldisc-3 ppp_async",
- "tty-ldisc-11 irtty", /* IrDA over a normal serial port, or a serial port compatible IrDA port */
- "tty-ldisc-14 ppp_synctty",
- "ppp-compress-18 ppp_mppe",
- "ppp-compress-21 bsd_comp",
- "ppp-compress-24 ppp_deflate",
- "ppp-compress-26 ppp_deflate",
- "ppp ppp_async", /* for 2.4 */
-
-#ifndef __sparc__
- "parport_lowlevel parport_pc",
-#else
- "parport_lowlevel parport_ax",
-#endif
-
- "usbdevfs usbcore",
-
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined options.
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *optlist[] =
-{
- "dummy0 -o dummy0",
- "dummy1 -o dummy1",
- "sb io=0x220 irq=7 dma=1 dma16=5 mpu_io=0x330",
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "above"s,
- * used for pull-in of additional modules
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *above[] =
-{
- "hid keybdev mousedev",
- "usbmouse hid",
- "wacom evdev",
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "below"s,
- * used for push-in of additional modules
- * Each entry can be overridden by an entry in /etc/modules.conf
- */
-char *below[] =
-{
- NULL /* marks the end of the list! */
-};
-
-/*
- * This is the list of pre-defined "post-install"s,
- * used to execute commands after loading modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *post_install[] =
-{
- "binfmt_misc /bin/mount -t binfmt_misc none /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :",
- NULL
-};
-
-/*
- * This is the list of pre-defined "pre-remove"s,
- * used to execute commands before unloading modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *pre_remove[] =
-{
- "binfmt_misc /bin/umount /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :",
- NULL
-};
-
-/*
- * This is the list of pre-defined "prune"s,
- * used to exclude paths from scan of /lib/modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *prune[] =
-{
- "modules.dep",
- "modules.description",
- "modules.generic_string",
- "modules.pcimap",
- "modules.isapnpmap",
- "modules.usbmap",
- "modules.parportmap",
- "modules.ieee1394map",
- "modules.pnpbiosmap",
- "System.map",
- ".config",
- "build", /* symlink to source tree */
- "vmlinux",
- "vmlinuz",
- "bzImage",
- "zImage",
- ".rhkmvtag", /* wish RedHat had told me before they did this */
- NULL /* marks the end of the list! */
-};
diff --git a/mdk-stage1/insmod-modutils/util/arch64.c b/mdk-stage1/insmod-modutils/util/arch64.c
deleted file mode 100644
index 90886d16b..000000000
--- a/mdk-stage1/insmod-modutils/util/arch64.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Written by Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/utsname.h>
-#include "util.h"
-
-/*======================================================================*/
-
-/* Indicate if the current machine uses 64 bit architecture */
-int arch64(void)
-{
- struct utsname uts;
- char *uname_m;
- if (uname(&uts))
- return(0);
- if ((uname_m = getenv("UNAME_MACHINE"))) {
- int l = strlen(uname_m);
- if (l >= sizeof(uts.machine))
- l = sizeof(uts.machine)-1;
- memcpy(uts.machine, uname_m, l);
- uts.machine[l] = '\0';
- }
- return(strstr(uts.machine, "64") != NULL);
-}
diff --git a/mdk-stage1/insmod-modutils/util/config.c b/mdk-stage1/insmod-modutils/util/config.c
deleted file mode 100644
index 7568d955f..000000000
--- a/mdk-stage1/insmod-modutils/util/config.c
+++ /dev/null
@@ -1,1614 +0,0 @@
-/*
- * Handle the configuration, including /etc/modules.conf
- *
- * Copyright 1994, 1995, 1996, 1997:
- * Jacques Gelinas <jack@solucorp.qc.ca>
- * Björn Ekwall <bj0rn@blox.se> February 1999
- * Keith Owens <kaos@ocs.com.au> October 1999
- *
- * "kernelversion" idea from the Debian release via:
- * Wichert Akkerman <wakkerma@cs.leidenuniv.nl>
- *
- * Björn, inspired by Richard Henderson <rth@twiddle.net>, cleaned up
- * the wildcard handling and started using ftw in March 1999
- * Cleanup of hardcoded arrays: Björn Ekwall <bj0rn@blox.se> March 1999
- * Many additional keywords: Björn Ekwall <bj0rn@blox.se> (C) March 1999
- * Standardize on /etc/modules.conf Keith Owens <kaos@ocs.com.au> October 1999
- *
- * Alpha typecast:Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*
- * Specification: /etc/modules.conf / format
- * Modules may be located at different places in the filesystem.
- *
- * The file /etc/modules.conf contains different definitions to
- * control the manipulation of modules.
- *
- * Standard Unix style comments and continuation line are supported.
- * Comments begin with a # and continue until the end of the line.
- * A line continues on the next one if the last non-white character
- * is a \.
- */
-/* #Specification: /etc/modules.conf / format / official name */
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <limits.h>
-#include <sys/param.h>
-#include <errno.h>
-
-#include "util.h"
-#include "config.h"
-#include "alias.h"
-
-int flag_autoclean; /* set/used by modprobe and insmod */
-
-struct utsname uts_info;
-
-struct PATH_TYPE *modpath;
-int nmodpath = 0;
-static int maxpath = 0;
-
-struct EXEC_TYPE *execs;
-int nexecs = 0;
-static int maxexecs = 0;
-
-OPT_LIST *opt_list;
-static int n_opt_list;
-
-OPT_LIST *abovelist;
-static int n_abovelist;
-
-OPT_LIST *belowlist;
-static int n_belowlist;
-
-OPT_LIST *prunelist;
-static int n_prunelist;
-
-OPT_LIST *probe_list;
-static int n_probe_list;
-
-OPT_LIST *probeall_list;
-static int n_probeall_list;
-
-OPT_LIST *aliases;
-static int n_aliases;
-
-char *persistdir = "/var/lib/modules/persist";
-
-const char symprefix[] = SYMPREFIX;
-
-char *insmod_opt = NULL;
-char *config_file = NULL; /* Which file was actually used */
-time_t config_mtime;
-int root_check_off = CONFIG_ROOT_CHECK_OFF; /* Default is modules must be owned by root */
-static char *config_version; /* Hack for config_add */
-int quick = 0; /* Option -A */
-
-/* The initialization order must match the gen_file_enum order in config.h */
-struct gen_files gen_file[] = {
- {"generic_string", NULL, 0},
- {"pcimap", NULL, 0},
- {"isapnpmap", NULL, 0},
- {"usbmap", NULL, 0},
- {"parportmap", NULL, 0},
- {"ieee1394map", NULL, 0},
- {"pnpbiosmap", NULL, 0},
- {"dep", NULL, 0},
-};
-
-const int gen_file_count = sizeof(gen_file)/sizeof(gen_file[0]);
-
-int flag_verbose;
-
-unsigned long safemode;
-
-void verbose(const char *ctl,...)
-{
- if (flag_verbose) {
- va_list list;
- va_start(list, ctl);
- vprintf(ctl, list);
- va_end(list);
- fflush(stdout);
- }
-}
-
-
-/*
- * Check to see if the existing modules.xxx files need updating,
- * based on the timestamps of the modules and the config file.
- */
-static int check_update (const char *file, const struct stat *sb)
-{
- int len = strlen(file);
- int i;
-
- if (!S_ISREG(sb->st_mode))
- return 0;
- for (i = 0; i < gen_file_count; ++i) {
- if (sb->st_mtime > gen_file[i].mtime)
- break;
- }
- if (i == gen_file_count)
- return 0; /* All generated files are up to date */
-
- if (len > 2 && !strcmp(file + len - 2, ".o"))
- return 1;
- else if (len > 4 && !strcmp(file + len - 4, ".mod"))
- return 1;
-#ifdef CONFIG_USE_ZLIB
- else if (len > 5 && !strcmp(file + len - 5, ".o.gz"))
- return 1;
-#endif
- return 0;
-}
-
-static int need_update (const char *force_ver, const char *base_dir)
-{
- struct stat tmp;
- char dep[PATH_MAX];
- int i;
- uname (&uts_info);
- if (!force_ver)
- force_ver = uts_info.release;
-
- if (strlen (force_ver) > 50)
- /* That's just silly. */
- return 1;
-
- for (i = 0; i < gen_file_count; ++i) {
- if (stat(gen_file[i].name, &tmp))
- return 1; /* No dependency file yet, so we need to build it. */
- gen_file[i].mtime = tmp.st_mtime;
- }
-
- if (stat ("/etc/modules.conf", &tmp) &&
- stat ("/etc/conf.modules", &tmp))
- return 1;
-
- for (i = 0; i < gen_file_count; ++i) {
- if (tmp.st_mtime > gen_file[i].mtime)
- return 1; /* Config file is newer. */
- }
-
- snprintf (dep, sizeof(dep), "%s/lib/modules/%s", base_dir, force_ver);
- return xftw (dep, check_update);
-}
-
-
-/*
- * Strip white char at the end of a string.
- * Return the address of the last non white char + 1 (point on the '\0').
- */
-static char *strip_end(char *str)
-{
- int len = strlen(str);
-
- for (str += len - 1; len > 0 && (isspace(*str)); --len, --str)
- *str = '\0';
- return str + 1;
-}
-
-/*
- * Read a line of a configuration file and process continuation lines.
- * Return buf, or NULL if EOF.
- * Blank at the end of line are always stripped.
- * Everything on a line following comchar is a comment.
- *
- * Continuation character is \
- * Comment character is #
- */
-char *fgets_strip(char *buf, int sizebuf, FILE * fin, int *lineno)
-{
- int nocomment = 1; /* No comments found ? */
- int contline = 0;
- char *start = buf;
- char *ret = NULL;
- char comchar = '#';
- char contchar = '\\';
-
- *buf = '\0';
-
- while (fgets(buf, sizebuf, fin) != NULL) {
- char *end = strip_end(buf);
- char *pt = strchr(buf, comchar);
-
- if (pt != NULL) {
- nocomment = 0;
- *pt = '\0';
- end = strip_end(buf);
- }
-
- if (lineno != NULL)
- (*lineno)++;
- ret = start;
- if (contline) {
- char *pt = buf;
-
- while (isspace(*pt))
- pt++;
- if (pt > buf + 1) {
- strcpy(buf + 1, pt); /* safe, backward copy */
- buf[0] = ' ';
- end -= (int) (pt - buf) - 1;
- } else if (pt == buf + 1) {
- buf[0] = ' ';
- }
- }
- if (end > buf && *(end - 1) == contchar) {
- if (end == buf + 1 || *(end - 2) != contchar) {
- /* Continuation */
- contline = 1;
- end--;
- *end = '\0';
- buf = end;
- } else {
- *(end - 1) = '\0';
- break;
- }
- } else {
- break;
- }
- }
-
- return ret;
-}
-
-static char *next_word(char *pt)
-{
- char *match;
- char *pt2;
-
- /* find end of word */
- for (pt2 = pt; *pt2 && !(isspace(*pt2)); ++pt2) {
- if ((match = strchr("\"'`", *pt2)) != NULL) {
- for (++pt2; *pt2 && *pt2 != *match; ++pt2) {
- if (*pt2 == '\\' && *(pt2 + 1) == *match)
- ++pt2;
- }
- }
- }
-
- /* skip leading whitespace before next word */
- if (*pt2) {
- *pt2++ = '\0'; /* terminate last word */
- while (*pt2 && isspace(*pt2))
- ++pt2;
- }
- return pt2;
-}
-
-static GLOB_LIST *addlist(GLOB_LIST *orig, GLOB_LIST *add)
-{
- if (!orig)
- return add;
- /* else */
- orig->pathv = (char **)xrealloc(orig->pathv,
- (orig->pathc + add->pathc + 1) *
- sizeof(char *));
- memcpy(orig->pathv + orig->pathc, add->pathv,
- add->pathc * sizeof(char *));
- orig->pathc += add->pathc;
- orig->pathv[orig->pathc] = NULL;
- /*
- free(add->pathv);
- free(add);
- */
- return orig;
-}
-
-static void decode_list(int *n, OPT_LIST **list, char *arg, int adding,
- char *version, int opts)
-{
- GLOB_LIST *pg;
- GLOB_LIST *prevlist = NULL;
- int i, autoclean = 1;
- int where = *n;
- char *arg2 = next_word(arg);
-
- if (opts && !strcmp (arg, "-k")) {
- if (!*arg2)
- error("Missing module argument after -k\n");
- arg = arg2;
- arg2 = next_word(arg);
- autoclean = 0;
- }
-
- for (i = 0; i < *n; ++i) {
- if (strcmp((*list)[i].name, arg) == 0) {
- if (adding)
- prevlist = (*list)[i].opts;
- else
- free((*list)[i].opts);
- (*list)[i].opts = NULL;
- where = i;
- break;
- }
- }
- if (where == *n) {
- (*list) = (OPT_LIST *)xrealloc((*list),
- (*n + 2) * sizeof(OPT_LIST));
- (*list)[*n].name = xstrdup(arg);
- (*list)[*n].autoclean = autoclean;
- *n += 1;
- memset(&(*list)[*n], 0, sizeof(OPT_LIST));
- } else if (!autoclean)
- (*list)[where].autoclean = 0;
- pg = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- meta_expand(arg2, pg, NULL, version, ME_ALL);
- (*list)[where].opts = addlist(prevlist, pg);
-}
-
-static void decode_exec(char *arg, int type)
-{
- char *arg2;
-
- execs[nexecs].when = type;
- arg2 = next_word(arg);
- execs[nexecs].module = xstrdup(arg);
- execs[nexecs].cmd = xstrdup(arg2);
- if (++nexecs >= maxexecs) {
- maxexecs += 10;
- execs = (struct EXEC_TYPE *)xrealloc(execs,
- maxexecs * sizeof(struct EXEC_TYPE));
- }
-}
-
-static int build_list(char **in, OPT_LIST **out, char *version, int opts)
-{
- GLOB_LIST *pg;
- int i;
-
- for (i = 0; in[i]; ++i) {
- char *p = xstrdup(in[i]);
- char *pt = next_word(p);
- char *pn = p;
-
- *out = (OPT_LIST *)xrealloc(*out, (i + 2) * sizeof(OPT_LIST));
- (*out)[i].autoclean = 1;
- if (opts && !strcmp (p, "-k")) {
- pn = pt;
- pt = next_word(pn);
- (*out)[i].autoclean = 0;
- }
- pg = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- meta_expand(pt, pg, NULL, version, ME_ALL);
- (*out)[i].name = xstrdup(pn);
- (*out)[i].opts = pg;
- free(p);
- }
- memset(&(*out)[i], 0, sizeof(OPT_LIST));
-
- return i;
-}
-
-/* Environment variables can override defaults, testing only */
-static void gen_file_env(struct gen_files *gf)
-{
- if (!safemode) {
- char *e = xmalloc(strlen(gf->base)+5), *p1 = gf->base, *p2 = e;
- while ((*p2++ = toupper(*p1++))) ;
- strcpy(p2-1, "PATH"); /* safe, xmalloc */
- if ((p2 = getenv(e)) != NULL) {
- free(gf->name);
- gf->name = xstrdup(p2);
- }
- free(e);
- }
-}
-
-/* Read a config option for a generated filename */
-static int gen_file_conf(struct gen_files *gf, int assgn, const char *parm, const char *arg)
-{
-
- int l = strlen(gf->base);
- if (assgn &&
- strncmp(parm, gf->base, l) == 0 &&
- strcmp(parm+l, "file") == 0 &&
- !gf->name) {
- gf->name = xstrdup(arg);
- return(0);
- }
- return(1);
-}
-
-/* Check we have a name for a generated file */
-static int gen_file_check(struct gen_files *gf, GLOB_LIST *g,
- char *base_dir, char *version)
-{
- char tmp[PATH_MAX];
- int ret = 0;
- if (!gf->name) {
- /*
- * Specification: config file / no xxxfile parameter
- * The default value for generated filename xxx is:
- *
- * xxxfile=/lib/modules/`uname -r`/modules.xxx
- *
- * If the config file exists but lacks an xxxfile
- * specification, the default value is used since
- * the system can't work without one.
- */
- snprintf(tmp, sizeof(tmp), "%s/lib/modules/%s/modules.%s",
- base_dir, version, gf->base);
- gf->name = xstrdup(tmp);
- } else { /* xxxfile defined in modules.conf */
- /*
- * If we have a xxxfile definition in the configuration file
- * we must resolve any shell meta-chars in its value.
- */
- if (meta_expand(gf->name, g, base_dir, version, ME_ALL))
- ret = -1;
- else if (!g->pathv || g->pathv[0] == NULL)
- ret = -1;
- else {
- free(gf->name);
- gf->name = xstrdup(g->pathv[0]);
- }
- }
- return(ret);
-}
-
-/*
- * Read the configuration file.
- * If parameter "all" == 0 then ignore everything except path info
- * Return -1 if any error.
- * Error messages generated.
- */
-static int do_read(int all, char *force_ver, char *base_dir, char *conf_file, int depth)
-{
- #define MAX_LEVEL 20
- FILE *fin;
- GLOB_LIST g;
- int i;
- int assgn;
- int drop_default_paths = 1;
- int lineno = 0;
- int ret = 0;
- int state[MAX_LEVEL + 1]; /* nested "if" */
- int level = 0;
- char buf[3000];
- char tmpline[PATH_MAX];
- char **pathp;
- char *envpath;
- char *version;
- char *type;
- char **glb;
- char old_name[] = "/etc/conf.modules";
- int conf_file_specified = 0;
-
- /*
- * The configuration file is optional.
- * No error is printed if it is missing.
- * If it is missing the following content is assumed.
- *
- * path[boot]=/lib/modules/boot
- *
- * path[toplevel]=/lib/modules/`uname -r`
- *
- * path[toplevel]=/lib/modules/`kernelversion`
- * (where kernelversion gives the major kernel version: "2.0", "2.2"...)
- *
- * path[toplevel]=/lib/modules/default
- *
- * path[kernel]=/lib/modules/kernel
- * path[fs]=/lib/modules/fs
- * path[net]=/lib/modules/net
- * path[scsi]=/lib/modules/scsi
- * path[block]=/lib/modules/block
- * path[cdrom]=/lib/modules/cdrom
- * path[ipv4]=/lib/modules/ipv4
- * path[ipv6]=/lib/modules/ipv6
- * path[sound]=/lib/modules/sound
- * path[fc4]=/lib/modules/fc4
- * path[video]=/lib/modules/video
- * path[misc]=/lib/modules/misc
- * path[pcmcia]=/lib/modules/pcmcia
- * path[atm]=/lib/modules/atm
- * path[usb]=/lib/modules/usb
- * path[ide]=/lib/modules/ide
- * path[ieee1394]=/lib/modules/ieee1394
- * path[mtd]=/lib/modules/mtd
- *
- * The idea is that modprobe will look first if the
- * modules are compiled for the current release of the kernel.
- * If not found, it will look for modules that fit for the
- * general kernelversion (2.0, 2.2 and so on).
- * If still not found, it will look into the default release.
- * And if still not found, it will look in the other directories.
- *
- * The strategy should be like this:
- * When you install a new linux kernel, the modules should go
- * into a directory related to the release (version) of the kernel.
- * Then you can do a symlink "default" to this directory.
- *
- * Each time you compile a new kernel, the make modules_install
- * will create a new directory, but it won't change thee default.
- *
- * When you get a module unrelated to the kernel distribution
- * you can place it in one of the last three directory types.
- *
- * This is the default strategy. Of course you can overide
- * this in /etc/modules.conf.
- *
- * 2.3.15 added a new file tree walk algorithm which made it possible to
- * point at a top level directory and get the same behaviour as earlier
- * versions of modutils. 2.3.16 takes this one stage further, it
- * removes all the individual directory names from most of the scans,
- * only pointing at the top level directory. The only exception is the
- * last ditch scan, scanning all of /lib/modules would be a bad idea(TM)
- * so the last ditch scan still runs individual directory names under
- * /lib/modules.
- *
- * Additional syntax:
- *
- * [add] above module module1 ...
- * Specify additional modules to pull in on top of a module
- *
- * [add] below module module1 ...
- * Specify additional modules needed to be able to load a module
- *
- * [add] prune filename ...
- *
- * [add] probe name module1 ...
- * When "name" is requested, modprobe tries to install each
- * module in the list until it succeeds.
- *
- * [add] probeall name module1 ...
- * When "name" is requested, modprobe tries to install all
- * modules in the list.
- * If any module is installed, the command has succeeded.
- *
- * [add] options module option_list
- *
- * For all of the above, the optional "add" prefix is used to
- * add to a list instead of replacing the contents.
- *
- * include FILE_TO_INCLUDE
- * This does what you expect. No limitation on include levels.
- *
- * persistdir=persist_directory
- * Name the directory to save persistent data from modules.
- *
- * In the following WORD is a sequence if non-white characters.
- * If ' " or ` is found in the string, all characters up to the
- * matching ' " or ` will also be included, even whitespace.
- * Every WORD will then be expanded w.r.t. meta-characters.
- * If the expanded result gives more than one word, then only
- * the first word of the result will be used.
- *
- *
- * define CODE WORD
- * Do a putenv("CODE=WORD")
- *
- * EXPRESSION below can be:
- * WORD compare_op WORD
- * where compare_op is one of == != < <= >= >
- * The string values of the WORDs are compared
- * or
- * -n WORD compare_op WORD
- * where compare_op is one of == != < <= >= >
- * The numeric values of the WORDs are compared
- * or
- * WORD
- * if the expansion of WORD fails, or if the
- * expansion is "0" (zero), "false" or "" (empty)
- * then the expansion has the value FALSE.
- * Otherwise the expansion has the value TRUE
- * or
- * -f FILENAME
- * Test if the file FILENAME exists
- * or
- * -k
- * Test if "autoclean" (i.e. called from the kernel)
- * or
- * ! EXPRESSION
- * A negated expression is also an expression
- *
- * if EXPRESSION
- * any config line
- * ...
- * elseif EXPRESSION
- * any config line
- * ...
- * else
- * any config line
- * ...
- * endif
- *
- * The else and elseif keywords are optional.
- * "if"-statements nest up to 20 levels.
- */
-
- state[0] = 1;
-
- if (force_ver)
- version = force_ver;
- else
- version = uts_info.release;
-
- config_version = xstrdup(version);
-
- /* Only read the default entries on the first file */
- if (depth == 0) {
- maxpath = 100;
- modpath = (struct PATH_TYPE *)xmalloc(maxpath * sizeof(struct PATH_TYPE));
- nmodpath = 0;
-
- maxexecs = 10;
- execs = (struct EXEC_TYPE *)xmalloc(maxexecs * sizeof(struct EXEC_TYPE));
- nexecs = 0;
-
- /*
- * Build predef options
- */
- if (all && optlist[0])
- n_opt_list = build_list(optlist, &opt_list, version, 1);
-
- /*
- * Build predef above
- */
- if (all && above[0])
- n_abovelist = build_list(above, &abovelist, version, 0);
-
- /*
- * Build predef below
- */
- if (all && below[0])
- n_belowlist = build_list(below, &belowlist, version, 0);
-
- /*
- * Build predef prune list
- */
- if (prune[0])
- n_prunelist = build_list(prune, &prunelist, version, 0);
-
- /*
- * Build predef aliases
- */
- if (all && aliaslist[0])
- n_aliases = build_list(aliaslist, &aliases, version, 0);
-
- /*
- * Build predef postinstalls
- */
- if (all && post_install[0])
- for (i=0 ; post_install[i] ; i++ )
- decode_exec(xstrdup(post_install[i]), EXEC_POST_INSTALL);
-
- /*
- * Build predef preremoves
- */
- if (all && pre_remove[0])
- for (i=0 ; pre_remove[i] ; i++ )
- decode_exec(xstrdup(pre_remove[i]), EXEC_PRE_REMOVE);
-
- /* Order and priority is now: (MODPATH + modules.conf) || (predefs + modules.conf) */
- if ((envpath = getenv("MODPATH")) != NULL && !safemode) {
- size_t len;
- char *p;
- char *path;
-
- /* Make a copy so's we can mung it with strtok. */
- len = strlen(envpath) + 1;
- p = alloca(len);
- memcpy(p, envpath, len);
- path = alloca(PATH_MAX);
-
- for (p = strtok(p, ":"); p != NULL; p = strtok(NULL, ":")) {
- len = snprintf(path, PATH_MAX, p, version);
- modpath[nmodpath].path = xstrdup(path);
- if ((type = strrchr(path, '/')) != NULL)
- type += 1;
- else
- type = "misc";
- modpath[nmodpath].type = xstrdup(type);
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
-
- }
- } else {
- /*
- * Build the default "path[type]" configuration
- */
- int n;
- char *k;
-
- /* The first entry in the path list */
- modpath[nmodpath].type = xstrdup("boot");
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/boot", base_dir);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The second entry in the path list, `uname -r` */
- modpath[nmodpath].type = xstrdup("toplevel");
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/%s", base_dir, version);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The third entry in the path list, `kernelversion` */
- modpath[nmodpath].type = xstrdup("toplevel");
- for (n = 0, k = version; *k; ++k) {
- if (*k == '.' && ++n == 2)
- break;
- }
- snprintf(tmpline, sizeof(tmpline), "%s/lib/modules/%.*s", base_dir,
- (/* typecast for Alpha */ int)(k - version), version);
- modpath[nmodpath].path = xstrdup(tmpline);
- ++nmodpath;
-
- /* The rest of the entries in the path list */
- for (pathp = tbpath; *pathp; ++pathp) {
- char **type;
-
- for (type = tbtype; *type; ++type) {
- char path[PATH_MAX];
-
- snprintf(path, sizeof(path), "%s%s/%s", base_dir, *pathp, *type);
- if (meta_expand(path, &g, NULL, version, ME_ALL))
- return -1;
-
- for (glb = g.pathv; glb && *glb; ++glb) {
- modpath[nmodpath].type = xstrdup(*type);
- modpath[nmodpath].path = *glb;
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
- }
- }
- }
- }
-
- /* Environment overrides for testing only, undocumented */
- for (i = 0; i < gen_file_count; ++i)
- gen_file_env(gen_file+i);
-
- } /* End of depth == 0 */
-
- if (conf_file ||
- ((conf_file = getenv("MODULECONFIG")) != NULL && *conf_file && !safemode)) {
- if (!(fin = fopen(conf_file, "r"))) {
- error("Can't open %s", conf_file);
- return -1;
- }
- conf_file_specified = 1;
- } else {
- if (!(fin = fopen((conf_file = ETC_MODULES_CONF), "r"))) {
- /* Fall back to non-standard name */
- if ((fin = fopen((conf_file = old_name), "r"))) {
- fprintf(stderr,
- "Warning: modutils is reading from %s because\n"
- " %s does not exist. The use of %s is\n"
- " deprecated, please rename %s to %s\n"
- " as soon as possible. Command\n"
- " mv %s %s\n",
- old_name, ETC_MODULES_CONF,
- old_name, old_name, ETC_MODULES_CONF,
- old_name, ETC_MODULES_CONF);
- }
- /* So what... use the default configuration */
- }
- }
-
- if (fin) {
- struct stat statbuf1, statbuf2;
- if (fstat(fileno(fin), &statbuf1) == 0)
- config_mtime = statbuf1.st_mtime;
- config_file = xstrdup(conf_file); /* Save name actually used */
- if (!conf_file_specified &&
- stat(ETC_MODULES_CONF, &statbuf1) == 0 &&
- stat(old_name, &statbuf2) == 0) {
- /* Both /etc files exist */
- if (statbuf1.st_dev == statbuf2.st_dev &&
- statbuf1.st_ino == statbuf2.st_ino) {
- if (lstat(ETC_MODULES_CONF, &statbuf1) == 0 &&
- S_ISLNK(statbuf1.st_mode))
- fprintf(stderr,
- "Warning: You do not need a link from %s to\n"
- " %s. The use of %s is deprecated,\n"
- " please remove %s and rename %s\n"
- " to %s as soon as possible. Commands.\n"
- " rm %s\n"
- " mv %s %s\n",
- ETC_MODULES_CONF, old_name,
- old_name, ETC_MODULES_CONF, old_name, ETC_MODULES_CONF,
- ETC_MODULES_CONF,
- old_name, ETC_MODULES_CONF);
- else {
-#ifndef NO_WARN_ON_OLD_LINK
- fprintf(stderr,
- "Warning: You do not need a link from %s to\n"
- " %s. The use of %s is deprecated,\n"
- " please remove %s as soon as possible. Command\n"
- " rm %s\n",
- old_name, ETC_MODULES_CONF,
- old_name, old_name,
- old_name);
-#endif
- }
- }
- else
- fprintf(stderr,
- "Warning: modutils is reading from %s and\n"
- " ignoring %s. The use of %s is deprecated,\n"
- " please remove %s as soon as possible. Command\n"
- " rm %s\n",
- ETC_MODULES_CONF, old_name,
- old_name, old_name,
- old_name);
- }
- }
-
- /*
- * Finally, decode the file
- */
- while (fin && fgets_strip(buf, sizeof(buf) - 1, fin, &lineno) != NULL) {
- char *arg2;
- char *parm = buf;
- char *arg;
- int one_err = 0;
- int adding;
-
- while (isspace(*parm))
- parm++;
-
- if (strncmp(parm, "add", 3) == 0) {
- adding = 1;
- parm += 3;
- while (isspace(*parm))
- parm++;
- } else
- adding = 0;
-
- arg = parm;
-
- if (*parm == '\0')
- continue;
-
- one_err = 1;
-
- while (*arg > ' ' && *arg != '=')
- arg++;
-
- if (*arg == '=')
- assgn = 1;
- else
- assgn = 0;
- *arg++ = '\0';
- while (isspace(*arg))
- arg++;
-
- /*
- * endif
- */
- if (!assgn && strcmp(parm, "endif") == 0) {
- if (level > 0)
- --level;
- else {
- error("unmatched endif in line %d", lineno);
- return -1;
- }
- continue;
- }
-
- /*
- * else
- */
- if (!assgn && strcmp(parm, "else") == 0) {
- if (level <= 0) {
- error("else without if in line %d", lineno);
- return -1;
- }
- state[level] = !state[level];
- continue;
- }
-
- /*
- * elseif
- */
- if (!assgn && strcmp(parm, "elseif") == 0) {
- if (level <= 0) {
- error("elseif without if in line %d", lineno);
- return -1;
- }
- if (state[level] != 0) {
- /*
- * We have already found a TRUE
- * if statement in this "chain".
- * That's what "2" means.
- */
- state[level] = 2;
- continue;
- }
- /* else: No TRUE if has been found, cheat */
- /*
- * The "if" handling increments level,
- * but this is the _same_ level as before.
- * So, compensate for it.
- */
- --level;
- parm = "if";
- /* Fallthru to "if" */
- }
-
- /*
- * if
- */
- if (strcmp(parm, "if") == 0) {
- char *cmp;
- int not = 0;
- int numeric = 0;
-
- if (level >= MAX_LEVEL) {
- error("Too many nested if's in line %d\n", lineno);
- return -1;
- }
- state[++level] = 0; /* default false */
-
- if (*arg == '!') {
- not = 1;
- arg = next_word(arg);
- }
-
- if (strncmp(arg, "-k", 2) == 0) {
- state[level] = flag_autoclean;
- continue;
- }
-
- if (strncmp(arg, "-f", 2) == 0) {
- char *file = next_word(arg);
- meta_expand(file, &g, NULL, version, ME_ALL);
- if (access(g.pathc ? g.pathv[0] : file, R_OK) == 0)
- state[level] = !not;
- else
- state[level] = not;
- continue;
- }
-
- if (strncmp(arg, "-n", 2) == 0) {
- numeric = 1;
- arg = next_word(arg);
- }
-
-
- cmp = next_word(arg);
- if (*cmp) {
- GLOB_LIST g2;
- long n1 = 0;
- long n2 = 0;
- char *w1 = "";
- char *w2 = "";
-
- arg2 = next_word(cmp);
-
- meta_expand(arg, &g, NULL, version, ME_ALL);
- if (g.pathc && g.pathv[0])
- w1 = g.pathv[0];
-
- meta_expand(arg2, &g2, NULL, version, ME_ALL);
- if (g2.pathc && g2.pathv[0])
- w2 = g2.pathv[0];
-
- if (numeric) {
- n1 = strtol(w1, NULL, 0);
- n2 = strtol(w2, NULL, 0);
- }
-
- if (strcmp(cmp, "==") == 0 ||
- strcmp(cmp, "=") == 0) {
- if (numeric)
- state[level] = (n1 == n2);
- else
- state[level] = strcmp(w1, w2) == 0;
- } else if (strcmp(cmp, "!=") == 0) {
- if (numeric)
- state[level] = (n1 != n2);
- else
- state[level] = strcmp(w1, w2) != 0;
- } else if (strcmp(cmp, ">=") == 0) {
- if (numeric)
- state[level] = (n1 >= n2);
- else
- state[level] = strcmp(w1, w2) >= 0;
- } else if (strcmp(cmp, "<=") == 0) {
- if (numeric)
- state[level] = (n1 <= n2);
- else
- state[level] = strcmp(w1, w2) <= 0;
- } else if (strcmp(cmp, ">") == 0) {
- if (numeric)
- state[level] = (n1 > n2);
- else
- state[level] = strcmp(w1, w2) > 0;
- } else if (strcmp(cmp, "<") == 0) {
- if (numeric)
- state[level] = (n1 < n2);
- else
- state[level] = strcmp(w1, w2) < 0;
- }
- } else { /* Check defined value, if any */
- /* undef or defined as
- * "" or "0" or "false" => false
- * defined => true
- */
- if (!meta_expand(arg, &g, NULL, version, ME_ALL) &&
- g.pathc > 0 &&
- strcmp(g.pathv[0], "0") != 0 &&
- strcmp(g.pathv[0], "false") != 0 &&
- strlen(g.pathv[0]) != 0)
- state[level] = 1; /* true */
- }
- if (not)
- state[level] = !state[level];
-
- continue;
- }
-
- /*
- * Should we bother?
- */
- if (state[level] != 1)
- continue;
-
- /*
- * define
- */
- if (!assgn && strcmp(parm, "define") == 0) {
- char env[PATH_MAX];
-
- arg2 = next_word(arg);
- meta_expand(arg2, &g, NULL, version, ME_ALL);
- snprintf(env, sizeof(env), "%s=%s", arg, (g.pathc ? g.pathv[0] : ""));
- putenv(xstrdup(env));
- one_err = 0;
- }
-
- /*
- * include
- */
- if (!assgn && strcmp(parm, "include") == 0) {
- meta_expand(arg, &g, NULL, version, ME_ALL);
-
- if (!do_read(all, version, base_dir, g.pathc ? g.pathv[0] : arg, depth+1))
- one_err = 0;
- else
- error("include %s failed\n", arg);
- }
-
- /*
- * above
- */
- else if (all && !assgn && strcmp(parm, "above") == 0) {
- decode_list(&n_abovelist, &abovelist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * below
- */
- else if (all && !assgn && strcmp(parm, "below") == 0) {
- decode_list(&n_belowlist, &belowlist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * prune
- */
- else if (!assgn && strcmp(parm, "prune") == 0) {
- decode_list(&n_prunelist, &prunelist, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * probe
- */
- else if (all && !assgn && strcmp(parm, "probe") == 0) {
- decode_list(&n_probe_list, &probe_list, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * probeall
- */
- else if (all && !assgn && strcmp(parm, "probeall") == 0) {
- decode_list(&n_probeall_list, &probeall_list, arg, adding, version, 0);
- one_err = 0;
- }
-
- /*
- * options
- */
- else if (all && !assgn && strcmp(parm, "options") == 0) {
- decode_list(&n_opt_list, &opt_list, arg, adding, version, 1);
- one_err = 0;
- }
-
- /*
- * alias
- */
- else if (all && !assgn && strcmp(parm, "alias") == 0) {
- /*
- * Replace any previous (default) definitions
- * for the same module
- */
- decode_list(&n_aliases, &aliases, arg, 0, version, 0);
- one_err = 0;
- }
-
- /*
- * Specification: /etc/modules.conf
- * The format of the commands in /etc/modules.conf are:
- *
- * pre-install module command
- * install module command
- * post-install module command
- * pre-remove module command
- * remove module command
- * post-remove module command
- *
- * The different words are separated by tabs or spaces.
- */
- /*
- * pre-install
- */
- else if (all && !assgn && (strcmp(parm, "pre-install") == 0)) {
- decode_exec(arg, EXEC_PRE_INSTALL);
- one_err = 0;
- }
-
- /*
- * install
- */
- else if (all && !assgn && (strcmp(parm, "install") == 0)) {
- decode_exec(arg, EXEC_INSTALL);
- one_err = 0;
- }
-
- /*
- * post-install
- */
- else if (all && !assgn && (strcmp(parm, "post-install") == 0)) {
- decode_exec(arg, EXEC_POST_INSTALL);
- one_err = 0;
- }
-
- /*
- * pre-remove
- */
- else if (all && !assgn && (strcmp(parm, "pre-remove") == 0)) {
- decode_exec(arg, EXEC_PRE_REMOVE);
- one_err = 0;
- }
-
- /*
- * remove
- */
- else if (all && !assgn && (strcmp(parm, "remove") == 0)) {
- decode_exec(arg, EXEC_REMOVE);
- one_err = 0;
- }
-
- /*
- * post-remove
- */
- else if (all && !assgn && (strcmp(parm, "post-remove") == 0)) {
- decode_exec(arg, EXEC_POST_REMOVE);
- one_err = 0;
- }
-
- /*
- * insmod_opt=
- */
- else if (assgn && (strcmp(parm, "insmod_opt") == 0)) {
- insmod_opt = xstrdup(arg);
- one_err = 0;
- }
-
- /*
- * keep
- */
- else if (!assgn && (strcmp(parm, "keep") == 0)) {
- drop_default_paths = 0;
- one_err = 0;
- }
-
- /*
- * path...=
- */
- else if (assgn && strncmp(parm, "path", 4) == 0) {
- /*
- * Specification: config file / path parameter
- * The path parameter specifies a directory to
- * search for modules.
- * This parameter may be repeated multiple times.
- *
- * Note that the actual path may be defined using
- * wildcards and other shell meta-chars, such as "*?`".
- * For example:
- * path[misc]=/lib/modules/1.1.5?/misc
- *
- * Optionally the path keyword carries a tag.
- * This tells us a little more about the purpose of
- * this directory and allows some automated operations.
- * A path is marked with a tag by adding the tag,
- * enclosed in square brackets, to the path keyword:
- * #
- * path[boot]=/lib/modules/boot
- * #
- * This case identifies the path a of directory
- * holding modules loadable a boot time.
- */
-
- if (drop_default_paths) {
- int n;
-
- /*
- * Specification: config file / path / default
- *
- * Whenever there is a path[] specification
- * in the config file, all the default
- * path are reset.
- *
- * If one instead wants to _add_ to the default
- * set of paths, one has to have the option
- * keep
- * before the first path[]-specification line
- * in the configuration file.
- */
- drop_default_paths = 0;
- for (n = 0; n < nmodpath; n++) {
- free(modpath[n].path);
- free(modpath[n].type);
- }
- nmodpath = 0;
- }
-
- /*
- * Get (the optional) tag
- * If the tag is missing, the word "misc"
- * is assumed.
- */
- type = "misc";
-
- if (parm[4] == '[') {
- char *pt_type = parm + 5;
-
- while (*pt_type != '\0' && *pt_type != ']')
- pt_type++;
-
- if (*pt_type == ']' && pt_type[1] == '\0') {
- *pt_type = '\0';
- type = parm + 5;
- } /* else CHECKME */
- }
-
- /*
- * Handle the actual path description
- */
- if (meta_expand(arg, &g, base_dir, version, ME_ALL))
- return -1;
- for (glb = g.pathv; glb && *glb; ++glb) {
- modpath[nmodpath].type = xstrdup(type);
- modpath[nmodpath].path = *glb;
- if (++nmodpath >= maxpath) {
- maxpath += 100;
- modpath = (struct PATH_TYPE *)xrealloc(modpath,
- maxpath * sizeof(struct PATH_TYPE));
- }
- }
- one_err = 0;
- }
-
- /*
- * persistdir
- */
- else if (assgn && strcmp(parm, "persistdir") == 0) {
- meta_expand(arg, &g, NULL, version, ME_ALL);
- persistdir = xstrdup(g.pathc ? g.pathv[0] : arg);
- one_err = 0;
- }
-
- /* Names for generated files in config file */
- for (i = 0; one_err && i < gen_file_count; ++i)
- one_err = gen_file_conf(gen_file+i, assgn, parm, arg);
-
- /*
- * any errors so far?
- */
- if (all == 0)
- one_err = 0;
- else if (one_err) {
- error("Invalid line %d in %s\n\t%s",
- lineno, conf_file, buf);
- ret = -1;
- }
- }
- if (fin)
- fclose(fin);
-
- if (level) {
- error("missing endif at %s EOF", conf_file);
- ret = -1;
- }
-
- if (ret)
- return ret;
- /* else */
-
- if (depth == 0) {
- /* Check we have names for generated files */
- for (i = 0; !ret && i < gen_file_count; ++i)
- ret = gen_file_check(gen_file+i, &g, base_dir, version);
- }
-
- return ret;
-}
-
-int config_read(int all, char *force_ver, char *base_dir, char *conf_file)
-{
- int r;
- if (modpath != NULL)
- return 0; /* already initialized */
-
- if (uname(&uts_info) < 0) {
- error("Failed to find kernel name information");
- return -1;
- }
-
- if (access(MODUTILS_MACROS, R_OK) == 0){
- r = do_read(all, force_ver, base_dir, MODUTILS_MACROS, 0);
- r = do_read(all, force_ver, "", conf_file, 1);
- } else {
- r = do_read(all, force_ver, base_dir, conf_file, 0);
- }
-
- if (quick && !r && !need_update (force_ver, base_dir))
- exit (0);
-
- return r;
-}
-
-/****************************************************************************/
-/*
- * FIXME: Far too much global state. KAO.
- */
-static int found;
-static int favail;
-static int one_only;
-static int meta_expand_type;
-char **list;
-static const char *filter_by_file;
-static char *filter_by_dir;
-
-/*
- * Add a file name if it exist
- */
-static int config_add(const char *file, const struct stat *sb)
-{
- int i;
- int npaths = 0;
- char **paths = NULL;
-
- if (meta_expand_type) {
- GLOB_LIST g;
- char **p;
- char full[PATH_MAX];
-
- snprintf(full, sizeof(full), "%s/%s", file, filter_by_file);
-
- if (filter_by_dir && !strstr(full, filter_by_dir))
- return 0;
-
- if (meta_expand(full, &g, NULL, config_version, meta_expand_type))
- return 1;
- for (p = g.pathv; p && *p; ++p) {
- paths = (char **)xrealloc(paths,
- (npaths + 1) * sizeof(char *));
- paths[npaths++] = *p;
- }
- } else { /* normal path match or match with "*" */
- if (!S_ISREG(sb->st_mode))
- return 0;
-
- if (strcmp(filter_by_file, "*")) {
- char *p;
-
- if ((p = strrchr(file, '/')) == NULL)
- p = (char *)file;
- else
- p += 1;
-
- if (strcmp(p, filter_by_file))
- return 0;
- }
- if (filter_by_dir && !strstr(file, filter_by_dir))
- return 0;
- paths = (char **)xmalloc(sizeof(char **));
- *paths = xstrdup(file);
- npaths = 1;
- }
-
- for (i = 0; i < npaths; ++i) {
- struct stat sbuf;
-
- if (S_ISDIR(sb->st_mode)) {
- if (stat(paths[i], &sbuf) == 0)
- sb = &sbuf;
- }
- if (S_ISREG(sb->st_mode) && sb->st_mode & S_IRUSR) {
- int j;
- char **this;
-
- if (!root_check_off) {
- if (sb->st_uid != 0) {
- error("%s is not owned by root", paths[i]);
- continue;
- }
- }
-
- /* avoid duplicates */
- for (j = 0, this = list; j < found; ++j, ++this) {
- if (strcmp(*this, paths[i]) == 0) {
- free(paths[i]);
- goto next;
- }
- }
-
- list[found] = paths[i];
- if (++found >= favail)
- list = (char **)xrealloc(list,
- (favail += 100) * sizeof(char *));
-
- if (one_only) {
- for (j = i + 1; j < npaths; ++j)
- free(paths[j]);
- free(paths);
- return 1; /* finish xftw */
- }
- }
- next:
- }
-
- if (npaths > 0)
- free(paths);
-
- return 0;
-}
-
-/*
- * Find modules matching the name "match" in directory of type "type"
- * (type == NULL matches all)
- *
- * Return a pointer to the list of modules found (or NULL if error).
- * Update the counter (sent as parameter).
- */
-GLOB_LIST *config_lstmod(const char *match, const char *type, int first_only)
-{
- /*
- * Note:
- * There are _no_ wildcards remaining in the path descriptions!
- */
- struct stat sb;
- int i;
- int ret = 0;
- char *path = NULL;
- char this[PATH_MAX];
-
- if (!match)
- match = "*";
- one_only = first_only;
- found = 0;
- filter_by_file = match;
- filter_by_dir = NULL;
- if (type) {
- char tmpdir[PATH_MAX];
- snprintf(tmpdir, sizeof(tmpdir), "/%s/", type);
- filter_by_dir = xstrdup(tmpdir);
- }
- /* In safe mode, the module name is always handled as is, without meta
- * expansion. It might have come from an end user via kmod and must
- * not be trusted. Even in unsafe mode, only apply globbing to the
- * module name, not command expansion. We trust config file input so
- * applying command expansion is safe, we do not trust command line input.
- * This assumes that the only time the user can specify -C config file
- * is when they run under their own authority. In particular all
- * mechanisms that call modprobe as root on behalf of the user must
- * run in safe mode, without letting the user supply a config filename.
- */
- meta_expand_type = 0;
- if (strpbrk(match, SHELL_META) && strcmp(match, "*") && !safemode)
- meta_expand_type = ME_GLOB|ME_BUILTIN_COMMAND;
-
- list = (char **)xmalloc((favail = 100) * sizeof(char *));
-
- for (i = 0; i < nmodpath; i++) {
- path = modpath[i].path;
- /* Special case: insmod: handle single, non-wildcard match */
- if (first_only && strpbrk(match, SHELL_META) == NULL) {
- /* Fix for "2.1.121 syntax */
- snprintf(this, sizeof(this), "%s/%s/%s", path,
- modpath[i].type, match);
- if (stat(this, &sb) == 0 &&
- config_add(this, &sb))
- break;
- /* End fix for "2.1.121 syntax */
-
- snprintf(this, sizeof(this), "%s/%s", path, match);
- if (stat(this, &sb) == 0 &&
- config_add(this, &sb))
- break;
- }
-
- /* Start looking */
- if ((ret = xftw(path, config_add))) {
- break;
- }
- }
- if (ret >= 0) {
- GLOB_LIST *g = (GLOB_LIST *)xmalloc(sizeof(GLOB_LIST));
- g->pathc = found;
- g->pathv = list;
- free(filter_by_dir);
- return g;
- }
- free(list);
- free(filter_by_dir);
- return NULL;
-}
-
-/* Given a bare module name, poke through the module path to find the file. */
-char *search_module_path(const char *base)
-{
- GLOB_LIST *g;
-
- if (config_read(0, NULL, "", NULL) < 0)
- return NULL;
- /* else */
- g = config_lstmod(base, NULL, 1);
- if (g == NULL || g->pathc == 0) {
- char base_o[PATH_MAX];
-
- snprintf(base_o, sizeof(base_o), "%s.o", base);
- g = config_lstmod(base_o, NULL, 1);
-#ifdef CONFIG_USE_ZLIB
- if (g == NULL || g->pathc == 0) {
- snprintf(base_o, sizeof(base_o), "%s.o.gz", base);
- g = config_lstmod(base_o, NULL, 1);
- }
-#endif
- }
- if (g == NULL || g->pathc == 0)
- return NULL;
- /* else */
- return g->pathv[0];
-}
diff --git a/mdk-stage1/insmod-modutils/util/gzfiles.c b/mdk-stage1/insmod-modutils/util/gzfiles.c
deleted file mode 100644
index 8d02253bb..000000000
--- a/mdk-stage1/insmod-modutils/util/gzfiles.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This simple library intends to make it transparent to read gzipped and/or
- * standard files. This is simple enough to fit modutils' needs, but may be
- * easily adapted to anyone's needs. It's completely free, do what you want
- * with it . - Willy Tarreau <willy@meta-x.org> - 2000/05/05 -
- */
-
-#ifdef CONFIG_USE_ZLIB
-
-#include <stdio.h>
-#include <zlib.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-/* redefinition of gz_stream which isn't exported by zlib */
-typedef struct gz_stream {
- z_stream stream;
- int z_err; /* error code for last stream operation */
- int z_eof; /* set if end of input file */
- FILE *file; /* .gz file */
- Byte *inbuf; /* input buffer */
- Byte *outbuf; /* output buffer */
- uLong crc; /* crc32 of uncompressed data */
- char *msg; /* error message */
- char *path; /* path name for debugging only */
- int transparent; /* 1 if input file is not a .gz file */
- char mode; /* 'w' or 'r' */
- long startpos; /* start of compressed data in file (header skipped) */
-} gz_stream;
-
-/* maximum number of simultaneous open files, also greater file descriptor number */
-#define MAXFD 64
-
-/* this static list is assumed to be filled with NULLs at runtime */
-static gzFile gzf_fds[MAXFD];
-
-/* returns the filedesc of the opened file. */
-int gzf_open(const char *name, int mode) {
- int fd;
- gzFile g;
-
- if ((g=gzopen(name, "rb")) != NULL) {
- fd=fileno(((gz_stream*)g)->file);
- gzf_fds[fd]=g;
- }
- else if ((fd=open(name, mode)) != -1) {
- gzf_fds[fd]=NULL; /* NULL means not GZ mode */
- }
- return fd;
-}
-
-off_t gzf_lseek(int fd, off_t offset, int whence) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- return lseek(fd, offset, whence);
- else
- return gzseek(gzf_fds[fd], offset, whence);
-}
-
-int gzf_read(int fd, void *buf, size_t count) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- return read(fd, buf, count);
- else
- return gzread(gzf_fds[fd], buf, count);
-}
-
-void gzf_close(int fd) {
- if (fd<0 || fd>=MAXFD || gzf_fds[fd]==NULL)
- close(fd);
- else
- gzclose(gzf_fds[fd]);
-}
-#endif
-
diff --git a/mdk-stage1/insmod-modutils/util/logger.c b/mdk-stage1/insmod-modutils/util/logger.c
deleted file mode 100644
index 4774a0beb..000000000
--- a/mdk-stage1/insmod-modutils/util/logger.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Error logging facilities.
- Copyright 1996, 1997 Linux International.
-
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#include <limits.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <syslog.h>
-
-#include "util.h"
-
-/*======================================================================*/
-
-int log;
-
-int errors;
-const char *error_file;
-
-#define STOREMSG
-#ifdef STOREMSG
-struct cbuf {
- struct cbuf *next;
- int type;
- char *msg;
-} *head, *tail;
-
-static void dumpmsg(void)
-{
- for (;head; head = head->next)
- syslog(head->type, "%s", head->msg);
-}
-#endif /* STOREMSG */
-
-void setsyslog(const char *program)
-{
- openlog(program, LOG_CONS, LOG_DAEMON);
-#ifdef STOREMSG
- atexit(dumpmsg);
-#endif
- log = 1;
-}
-
-#ifdef _STANDALONE_
-static int silent;
-
-const char *program_name;
-
-static void savemsg(int type, char *msg)
-{
- struct cbuf *me = (struct cbuf *)xmalloc(sizeof(struct cbuf));
- char *s = xstrdup(msg);
-
- me->next = NULL;
- me->type = type;
- me->msg = s;
-
- if (tail)
- tail->next = me;
- else
- head = me;
- tail = me;
-}
-
-void error(const char *fmt,...)
-{
- va_list args;
-
- if (silent)
- ;
- else if (log) {
- char buf[2*PATH_MAX];
- int n;
-
- if (error_file)
- n = snprintf(buf, sizeof(buf), "%s: ", error_file);
- else
- n = 0;
- va_start(args, fmt);
- vsnprintf(buf + n, sizeof(buf) - n, fmt, args);
- va_end(args);
-#ifdef STOREMSG
- savemsg(LOG_ERR, buf);
-#else
- syslog(LOG_ERR, "%s", buf);
-#endif
- } else {
- if (error_file)
- fprintf(stderr, "%s: ", error_file);
- va_start(args, fmt);
- vfprintf(stderr, fmt, args);
- va_end(args);
- putc('\n', stderr);
- }
-
- errors++;
-}
-
-void lprintf(const char *fmt,...)
-{
- va_list args;
-
- if (silent);
- else if (log) {
- char buf[2*PATH_MAX];
- va_start(args, fmt);
- vsnprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
-#ifdef STOREMSG
- savemsg(LOG_INFO, buf);
-#else
- syslog(LOG_INFO, "%s", buf);
-#endif
- } else {
- va_start(args, fmt);
- vfprintf(stdout, fmt, args);
- va_end(args);
- putchar('\n');
- }
-}
-#else /* _STANDALONE_ */
-#include "../../log.h"
-void error(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-
-void lprintf(const char *s, ...)
-{
- va_list p;
-
- va_start(p, s);
- vlog_message(s, p);
- va_end(p);
-}
-#endif
-
diff --git a/mdk-stage1/insmod-modutils/util/meta_expand.c b/mdk-stage1/insmod-modutils/util/meta_expand.c
deleted file mode 100644
index 41fb4024c..000000000
--- a/mdk-stage1/insmod-modutils/util/meta_expand.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Handle expansion of meta charaters
- *
- * Copyright 1999 Björn Ekwall <bj0rn@blox.se>
- *
- * "kernelversion" idea from the Debian release via:
- * Wichert Akkerman <wakkerma@cs.leidenuniv.nl>
- *
- * Use wordexp(): idea from Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * Alpha typecast: Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_WORDEXP
-#undef HAVE_WORDEXP
-#define HAVE_WORDEXP 0
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <string.h>
-#include <ctype.h>
-#if HAVE_WORDEXP
-#include <wordexp.h>
-#elif HAVE_GLOB
-#include <glob.h>
-#endif
-#include "util.h"
-
-/*
- * Split into words delimited by whitespace,
- * handle remaining quotes though...
- * If strip_quotes != 0 then strip one level of quotes from the line.
- */
-static void split_line(GLOB_LIST *g, char *line, int strip_quotes)
-{
- int len;
- char *d;
- char *e;
- char *p;
- char tmpline[PATH_MAX];
-
- for (p = line; *p; p = e) {
- /* Skip leading whitespace */
- while (*p && isspace(*p))
- ++p;
-
- /* find end of word */
- d = tmpline;
- for (e = p; *e && !(isspace(*e)); ++e) {
- char match;
-
- /* Quote handling */
- switch (*e) {
- case '\\':
- if (!strip_quotes)
- *d++ = *e;
- break;
-
- case '"':
- case '\'':
- match = *e;
- if (!strip_quotes)
- *d++ = *e;
- for (++e; *e && *e != match; ++e) {
- *d++ = *e;
- if (*e == '\\' && *(e + 1) == match)
- *d++ = *++e;
- }
- if (!strip_quotes)
- *d++ = *e;
- break;
-
- default:
- *d++ = *e;
- break;
- }
- }
-
- if ((len = (int)(d - tmpline)) > 0) {
- char *str = xmalloc(len + 1);
- strncpy(str, tmpline, len);
- str[len] = '\0';
- g->pathv = (char **)xrealloc(g->pathv,
- (g->pathc + 2) * sizeof(char *));
- g->pathv[g->pathc++] = str;
- }
- }
-
- if (g->pathc)
- g->pathv[g->pathc] = NULL;
-}
-
-static int glob_it(char *pt, GLOB_LIST *g)
-{
-#if HAVE_WORDEXP
- wordexp_t w;
-
- memset(&w, 0, sizeof(w));
- if (wordexp(pt, &w, WRDE_UNDEF)) {
- /*
- error("wordexp %s failed", pt);
- */
- return -1;
- }
- /* else */
- g->pathc = w.we_wordc;
- g->pathv = w.we_wordv;
-
- return 0;
-#elif HAVE_GLOB /* but not wordexp */
- glob_t w;
-
- memset(&w, 0, sizeof(w));
- if (glob(pt, GLOB_NOSORT, NULL, &w)) {
- /*
- error("glob %s failed", pt);
- */
- return -1;
- }
- /* else */
- if (w.gl_pathc && strpbrk(w.gl_pathv[0], SHELL_META)) {
- globfree(&w);
- return -1;
- }
- g->pathc = w.gl_pathc;
- g->pathv = w.gl_pathv;
-
- return 0;
-#else /* Neither wordexp nor glob */
- return -1;
-#endif
-}
-
-/*
- * Expand the string (including meta-character) to a list of matches
- *
- * Return 0 if OK else -1
- */
-int meta_expand(char *pt, GLOB_LIST *g, char *base_dir, char *version, int type)
-{
- FILE *fin;
- int len = 0;
- char *line = NULL;
- char *p, *p1;
- char tmpline[PATH_MAX + 1];
- char wrk[sizeof(tmpline)];
- char tmpcmd[2*sizeof(tmpline)+20]; /* room for /bin/echo "text" */
-
- g->pathc = 0;
- g->pathv = NULL;
-
- /*
- * Take care of version dependent expansions
- * Needed for forced version handling
- */
- if ((p = strchr(pt, '`')) != NULL && (type & ME_BUILTIN_COMMAND)) {
- do {
- char *s;
-
- for (s = p + 1; isspace(*s); ++s)
- ;
-
- if (strncmp(s, "uname -r", 8) == 0) {
- while (*s && (*s != '`'))
- ++s;
- if (*s == '`') {
- *p = '\0';
- snprintf(wrk, sizeof(wrk), "%s%s%s",
- pt,
- version,
- s + 1);
- *p = '`';
- }
- strcpy(tmpline, wrk); /* safe, same size */
- pt = tmpline;
- } else if (strncmp(s, "kernelversion", 13) == 0) {
- while (*s && (*s != '`'))
- ++s;
- if (*s == '`') {
- int n;
- char *k;
-
- *p = '\0';
- for (n = 0, k = version; *k; ++k) {
- if (*k == '.' && ++n == 2)
- break;
- }
- snprintf(wrk, sizeof(wrk), "%s%.*s%s",
- pt,
- /* typecast for Alpha */
- (int)(k - version),
- version,
- s + 1);
- *p = '`';
- strcpy(tmpline, wrk); /* safe, same size */
- pt = tmpline;
- }
- } else
- break;
- } while ((p = strchr(pt, '`')) != NULL);
- }
-
- /*
- * Any remaining meta-chars?
- */
- if (strpbrk(pt, SHELL_META) == NULL) {
- /*
- * No meta-chars.
- * Split into words, delimited by whitespace.
- */
- snprintf(wrk, sizeof(wrk), "%s%s", (base_dir ? base_dir : ""), pt);
- strcpy(tmpline, wrk); /* safe, same size */
- if ((p = strtok(tmpline, " \t\n")) != NULL) {
- while (p) {
- g->pathv = (char **)xrealloc(g->pathv,
- (g->pathc + 2) * sizeof(char *));
- g->pathv[g->pathc++] = xstrdup(p);
- p = strtok(NULL, " \t\n");
- }
- }
- if (g->pathc)
- g->pathv[g->pathc] = NULL;
- return 0;
- }
- /* else */
- /*
- * Handle remaining meta-chars
- */
-
- /*
- * Just plain quotes?
- */
- if (strpbrk(pt, "&();|<>$`!{}[]~=+:?*") == NULL &&
- (p = strpbrk(pt, "\"'\\"))) {
- split_line(g, pt, 1);
- return 0;
- }
-
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~+:[]~?*") == NULL) {
- /* Only "=" remaining, should be module options */
- split_line(g, pt, 0);
- return 0;
- }
-
- /*
- * If there are meta-characters and
- * if they are only shell glob meta-characters: do globbing
- */
-#if HAVE_WORDEXP
- if (strpbrk(pt, "&();|<>`\"'\\!{}~=+:") == NULL &&
- strpbrk(pt, "$[]~?*"))
-#else
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~=+:") == NULL &&
- strpbrk(pt, "[]~?*"))
-#endif
- if ((type & ME_GLOB) && glob_it(pt, g) == 0)
- return 0;
-
- if (strpbrk(pt, "&();|<>$`\"'\\!{}~+:[]~?*") == NULL) {
- /* Only "=" remaining, should be module options */
- split_line(g, pt, 0);
- return 0;
- }
-
- /*
- * Last resort: Use "echo".
- * DANGER: Applying shell expansion to user supplied input is a
- * major security risk. Modutils code should only do meta
- * expansion via shell commands for trusted data. Basically
- * this means only for data in the config file. Even that
- * assumes that the user cannot run modprobe as root with
- * their own config file. Programs (including the kernel)
- * that invoke modprobe as root with user supplied input must
- * pass exactly one user supplied parameter and must set
- * safe mode.
- */
- if (!(type & ME_SHELL_COMMAND))
- return 0;
- snprintf(wrk, sizeof(wrk), "%s%s", (base_dir ? base_dir : ""), pt);
- strcpy(tmpline, wrk); /* safe, same size */
- snprintf(tmpcmd, sizeof(tmpcmd), "/bin/echo \"");
- for (p = tmpline, p1 = tmpcmd + strlen(tmpcmd); *p; ++p, ++p1) {
- if (*p == '"' || *p == '\\')
- *p1++ = '\\';
- *p1 = *p;
- }
- *p1++ = '"';
- *p1++ = '\0';
- if (p1 - tmpcmd > sizeof(tmpcmd)) {
- error("tmpcmd overflow, should never happen");
- exit(1);
- }
- if ((fin = popen(tmpcmd, "r")) == NULL) {
- error("Can't execute: %s", tmpcmd);
- return -1;
- }
- /* else */
-
- /*
- * Collect the result
- */
- while (fgets(tmpcmd, PATH_MAX, fin) != NULL) {
- int l = strlen(tmpcmd);
-
- line = (char *)xrealloc(line, len + l + 1);
- line[len] = '\0';
- strcat(line + len, tmpcmd); /* safe, realloc */
- len += l;
- }
- pclose(fin);
-
- if (line) {
- /* shell used to strip one set of quotes. Paranoia code in
- * 2.3.20 stops that strip so we do it ourselves.
- */
- split_line(g, line, 1);
- free(line);
- }
-
- return 0;
-}
diff --git a/mdk-stage1/insmod-modutils/util/modstat.c b/mdk-stage1/insmod-modutils/util/modstat.c
deleted file mode 100644
index ad82306c0..000000000
--- a/mdk-stage1/insmod-modutils/util/modstat.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * Get kernel symbol table(s) and other relevant module info.
- *
- * Add module_name_list and l_module_name_list.
- * Keith Owens <kaos@ocs.com.au> November 1999.
- * Björn Ekwall <bj0rn@blox.se> in February 1999 (C)
- * Initial work contributed by Richard Henderson <rth@tamu.edu>
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include "util.h"
-#include "module.h"
-#include "obj.h"
-#include "modstat.h"
-
-struct module_stat *module_stat;
-size_t n_module_stat;
-char *module_name_list;
-size_t l_module_name_list;
-struct module_symbol *ksyms;
-size_t nksyms;
-int k_new_syscalls;
-
-static void *old_kernsym;
-
-/************************************************************************/
-static void drop(void)
-{
- /*
- * Clean the slate for multiple runs
- */
- if (module_stat) {
- struct module_stat *m;
- int i;
-
- for (i = 0, m = module_stat; i < n_module_stat; ++i, ++m) {
- if (m->syms)
- free(m->syms);
- if (m->refs)
- free(m->refs);
- }
- free(module_stat);
- module_stat = NULL;
- n_module_stat = 0;
- }
- if (module_name_list) {
- free(module_name_list);
- module_name_list = NULL;
- l_module_name_list = 0;
- }
- if (ksyms) {
- free(ksyms);
- ksyms = NULL;
- nksyms = 0;
- }
- if (old_kernsym) {
- free(old_kernsym);
- old_kernsym = NULL;
- }
-}
-
-static int new_get_kernel_info(int type)
-{
- struct module_stat *modules;
- struct module_stat *m;
- struct module_symbol *syms;
- struct module_symbol *s;
- size_t ret;
- size_t bufsize;
- size_t nmod;
- size_t nsyms;
- size_t i;
- size_t j;
- char *module_names;
- char *mn;
-
- drop();
-
- /*
- * Collect the loaded modules
- */
- module_names = xmalloc(bufsize = 256);
- while (query_module(NULL, QM_MODULES, module_names, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("QM_MODULES: %m\n");
- return 0;
- }
- module_names = xrealloc(module_names, bufsize = ret);
- }
- module_name_list = module_names;
- l_module_name_list = bufsize;
- n_module_stat = nmod = ret;
- module_stat = modules = xmalloc(nmod * sizeof(struct module_stat));
- memset(modules, 0, nmod * sizeof(struct module_stat));
-
- /* Collect the info from the modules */
- for (i = 0, mn = module_names, m = modules;
- i < nmod;
- ++i, ++m, mn += strlen(mn) + 1) {
- struct module_info info;
-
- m->name = mn;
- if (query_module(mn, QM_INFO, &info, sizeof(info), &ret)) {
- if (errno == ENOENT) {
- /* The module was removed out from underneath us. */
- m->flags = NEW_MOD_DELETED;
- continue;
- }
- /* else oops */
- error("module %s: QM_INFO: %m", mn);
- return 0;
- }
-
- m->addr = info.addr;
-
- if (type & K_INFO) {
- m->size = info.size;
- m->flags = info.flags;
- m->usecount = info.usecount;
- m->modstruct = info.addr;
- }
-
- if (type & K_REFS) {
- int mm;
- char *mrefs;
- char *mr;
-
- mrefs = xmalloc(bufsize = 64);
- while (query_module(mn, QM_REFS, mrefs, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("QM_REFS: %m");
- return 1;
- }
- mrefs = xrealloc(mrefs, bufsize = ret);
- }
- for (j = 0, mr = mrefs;
- j < ret;
- ++j, mr += strlen(mr) + 1) {
- for (mm = 0; mm < i; ++mm) {
- if (strcmp(mr, module_stat[mm].name) == 0) {
- m->nrefs += 1;
- m->refs = xrealloc(m->refs, m->nrefs * sizeof(struct module_stat **));
- m->refs[m->nrefs - 1] = module_stat + mm;
- break;
- }
- }
- }
- free(mrefs);
- }
-
- if (type & K_SYMBOLS) { /* Want info about symbols */
- syms = xmalloc(bufsize = 1024);
- while (query_module(mn, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno == ENOSPC) {
- syms = xrealloc(syms, bufsize = ret);
- continue;
- }
- if (errno == ENOENT) {
- /*
- * The module was removed out
- * from underneath us.
- */
- m->flags = NEW_MOD_DELETED;
- free(syms);
- goto next;
- } else {
- error("module %s: QM_SYMBOLS: %m", mn);
- return 0;
- }
- }
- nsyms = ret;
-
- m->nsyms = nsyms;
- m->syms = syms;
-
- /* Convert string offsets to string pointers */
- for (j = 0, s = syms; j < nsyms; ++j, ++s)
- s->name += (unsigned long) syms;
- }
- next:
- }
-
- if (type & K_SYMBOLS) { /* Want info about symbols */
- /* Collect the kernel's symbols. */
- syms = xmalloc(bufsize = 16 * 1024);
- while (query_module(NULL, QM_SYMBOLS, syms, bufsize, &ret)) {
- if (errno != ENOSPC) {
- error("kernel: QM_SYMBOLS: %m");
- return 0;
- }
- syms = xrealloc(syms, bufsize = ret);
- }
- nksyms = nsyms = ret;
- ksyms = syms;
-
- /* Convert string offsets to string pointers */
- for (j = 0, s = syms; j < nsyms; ++j, ++s)
- s->name += (unsigned long) syms;
- }
-
- return 1;
-}
-
-#ifdef COMPAT_2_0
-/************************************************************************/
-
-#define mscan(offs,siz,ptr) \
- if (lseek(kmem_fd, (off_t)(offs), SEEK_SET) == -1 || \
- read(kmem_fd, (ptr), (siz)) != (siz)) { \
- if (kmem_fd != -1) \
- close(kmem_fd); \
- error("kmem: %m"); \
- return 0; \
- }
-
-#define OLD_MOD_RUNNING 1
-#define OLD_MOD_DELETED 2
-#define OLD_MOD_VISITED 0x20000000
-
-/* Fetch all the symbols and divvy them up as appropriate for the modules. */
-static int old_get_kernel_info(int type)
-{
- struct old_kernel_sym *kernsym;
- struct old_kernel_sym *k;
- struct module_stat *module;
- struct module_stat *mod;
- struct module_symbol *s = NULL;
- int kmem_fd = -1;
- int nkernsym;
- int nmod;
- int nm;
- int nms;
- int i;
-
- drop();
- module_name_list = xmalloc(1);
- *module_name_list = '\0';
-
- if ((nkernsym = get_kernel_syms(NULL)) < 0) {
- error("get_kernel_syms: %m");
- return 0;
- }
- kernsym = k = xmalloc(nkernsym * sizeof(struct old_kernel_sym));
- old_kernsym = kernsym;
- if (get_kernel_syms(kernsym) != nkernsym) {
- error("inconsistency with get_kernel_syms -- is someone else "
- "playing with modules?");
- free(kernsym);
- return 0;
- }
-
- /* Number of modules */
- for (k = kernsym, nmod = 0, i = 0; i < nkernsym; ++i, ++k) {
- if (k->name[0] == '#') {
- if (k->name[1]) {
- ++nmod;
- i = strlen(k->name+1) + 1;
- module_name_list =
- xrealloc(module_name_list,
- l_module_name_list + i);
- strcpy(module_name_list+l_module_name_list, /* safe, xrealloc */
- k->name+1);
- l_module_name_list += i; /* NUL separated strings */
- }
- else
- break;
- }
- }
- module_stat = mod = module = xmalloc(nmod * sizeof(struct module_stat));
- memset(module, 0, nmod * sizeof(struct module_stat));
- n_module_stat = nmod;
-
- /*
- * Will we need kernel internal info?
- */
- if ((type & K_INFO) || (type & K_REFS)) {
- if ((kmem_fd = open("/dev/kmem", O_RDONLY)) < 0) {
- perror("ksyms: open /dev/kmem");
- return 0;
- }
- }
-
- /*
- * Collect the module information.
- */
- for (k = kernsym, nm = 0, i = 0; i < nkernsym; ++i, ++k) {
- if (k->name[0] == '#') {
- struct old_kernel_sym *p;
- struct old_module info;
-
- if (k->name[1] == '\0')
- break; /* kernel resident symbols follow */
- /* else normal module */
-
- module = mod++;
- ++nm;
- module->name = k->name + 1;
- module->modstruct = k->value;
-
- if ((type & K_INFO) || (type & K_REFS)) {
- long tmp;
- /*
- * k->value is the address of the
- * struct old_module
- * in the kernel (for use via /dev/kmem)
- */
- mscan(k->value, sizeof(info), &info);
- module->addr = info.addr;
- module->size = info.size * getpagesize();
-
- mscan(info.addr, sizeof(long), &tmp);
- module->flags = info.state &
- (OLD_MOD_RUNNING | OLD_MOD_DELETED);
- module->flags |= NEW_MOD_USED_ONCE; /* Cheat */
- if (tmp & OLD_MOD_AUTOCLEAN)
- module->flags |= NEW_MOD_AUTOCLEAN;
- if (tmp & OLD_MOD_VISITED)
- module->flags |= NEW_MOD_VISITED;
-
- module->usecount = tmp & ~(OLD_MOD_AUTOCLEAN | OLD_MOD_VISITED);
- }
-
- if ((type & K_REFS) && info.ref) {
- struct old_module_ref mr;
- int j;
- unsigned long ref = info.ref;
-
- do {
- mscan(ref, sizeof(struct old_module_ref), &mr);
- for (j = 0; j < nm -1; ++j) {
- if (mr.module == module_stat[j].modstruct) {
- module->nrefs += 1;
- module->refs = xrealloc(module->refs, module->nrefs * sizeof(struct module_stat **));
- module->refs[module->nrefs - 1] = module_stat + j;
- break;
- }
- }
- } while ((ref = mr.next) != 0);
- }
-
- if (!(type & K_SYMBOLS))
- continue;
- /*
- * Find out how many symbols this module has.
- */
- for (nms = 0, p = k+1; p->name[0] != '#'; ++p)
- ++nms;
- s = xmalloc(nms * sizeof(struct module_symbol));
- module->syms = s;
- module->nsyms = nms;
- } else if (type & K_SYMBOLS) { /* Want info about symbols */
- s->name = (unsigned long) k->name;
- s->value = k->value;
- ++s;
- }
- }
- if ((type & K_INFO) || (type & K_REFS)) {
- if (kmem_fd != -1)
- close(kmem_fd);
- }
-
- /*
- * Kernel resident symbols follows
- */
- if (type & K_SYMBOLS) { /* Want info about symbols */
- if (k->name[0] == '#')
- ++k;
- nksyms = nkernsym - (k - kernsym);
- if (nksyms) {
- ksyms = s = xmalloc(nksyms * sizeof(struct module_symbol));
- for (i = 0; i < nksyms; ++i, ++k) {
- if (k->name[0] != '#') {
- s->name = (unsigned long) k->name;
- s->value = k->value;
- ++s;
- }
- }
- nksyms = s - ksyms;
- } else
- ksyms = NULL;
- }
-
- return 1;
-}
-#endif /* COMPAT_2_0 */
-
-int get_kernel_info(int type)
-{
- k_new_syscalls = !query_module(NULL, 0, NULL, 0, NULL);
-
-#ifdef COMPAT_2_0
- if (!k_new_syscalls)
- return old_get_kernel_info(type);
-#endif /* COMPAT_2_0 */
-
- return new_get_kernel_info(type);
-}
diff --git a/mdk-stage1/insmod-modutils/util/snap_shot.c b/mdk-stage1/insmod-modutils/util/snap_shot.c
deleted file mode 100644
index adf54d28e..000000000
--- a/mdk-stage1/insmod-modutils/util/snap_shot.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Take a snap shot of ksyms and modules for Oops debugging
- Copyright 1999 Linux International.
-
- Contributed by Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <time.h>
-#include <unistd.h>
-#include <string.h>
-
-#include "module.h"
-#include "obj.h"
-#include "modstat.h"
-#include "util.h"
-
-static char snap_dir[] = "/var/log/ksymoops";
-
-/* If snap_dir exists, take a snap shot of ksyms and modules to snap_dir.
- * Prefix the files with the equivalent of
- * date +%Y%m%d%T%M%S | sed -e 's/://g'
- */
-void snap_shot(const char *module_names, int n_module_names)
-{
- char file[] = "ccyymmddhhmmss.modules", buffer[4096];
- static char *infile[] = { "/proc/ksyms", "/proc/modules" };
- static char *suffix[] = { "ksyms", "modules" };
- struct tm *local;
- time_t t;
- int i, l;
- FILE *in, *out;
-
- if (module_names) {
- /* Only snap shot if the list of modules has changed.
- * Otherwise auto cleanup takes a snap shot every time
- * and ends up with a large snap shot directory.
- */
- char *new_module_names;
- size_t n_new_module_names;
- get_kernel_info(0);
- new_module_names = module_name_list;
- n_new_module_names = n_module_stat;
- if (n_module_names && n_new_module_names == n_module_names) {
- while (n_module_names) {
- if (strcmp(module_names, new_module_names))
- break; /* difference detected */
- i = strlen(module_names) + 1;
- module_names += i;
- new_module_names += i;
- --n_module_names;
- }
- }
- if (!n_module_names)
- return; /* no difference, no need for snap shot */
- }
-
- if (chdir(snap_dir))
- return;
- t = time(NULL);
- local = localtime(&t);
- for (i = 0; i < sizeof(infile)/sizeof(infile[0]); ++i) {
- snprintf(file, sizeof(file), "%04d%02d%02d%02d%02d%02d.%s",
- local->tm_year+1900,
- local->tm_mon + 1,
- local->tm_mday,
- local->tm_hour,
- local->tm_min,
- local->tm_sec,
- suffix[i]);
- out = fopen(file, "w");
- if (!out) {
- error("cannot create %s/%s %m", snap_dir, file);
- return;
- }
- in = fopen(infile[i], "r");
- if (!in) {
- error("cannot open %s %m", infile[i]);
- return;
- }
- while ((l = fread(buffer, 1, sizeof(buffer), in)) > 0) {
- if (fwrite(buffer, l, 1, out) != 1) {
- error("unable to write to %s %m", file);
- fclose(in);
- fclose(out);
- return;
- }
- }
- if (ferror(in))
- error("unable to read from %s %m", infile[i]);
- fclose(in);
- fflush(out);
- fclose(out);
- }
-}
-
-/* If snap_dir exists, log a message to snap_dir. The log file is called the
- * equivalent of date +%Y%m%d | sed -e 's/://g'. Each line is prefixed with
- * timestamp down to seconds and followed by a newline.
- */
-void snap_shot_log(const char *fmt,...)
-{
- char date[] = "ccyymmdd", file[] = "ccyymmdd.log", stamp[] = "ccyymmdd hhmmss";
- struct tm *local;
- time_t t;
- FILE *log;
- va_list args;
- int save_errno = errno;
-
- if (chdir(snap_dir))
- return;
- t = time(NULL);
- local = localtime(&t);
- snprintf(date, sizeof(date), "%04d%02d%02d",
- local->tm_year+1900,
- local->tm_mon + 1,
- local->tm_mday);
- snprintf(file, sizeof(file), "%s.log", date);
- log = fopen(file, "a");
- if (!log) {
- error("cannot create %s/%s %m", snap_dir, file);
- return;
- }
- snprintf(stamp, sizeof(stamp), "%s %02d%02d%02d",
- date,
- local->tm_hour,
- local->tm_min,
- local->tm_sec);
- fprintf(log, "%s ", stamp);
- va_start(args, fmt);
- errno = save_errno; /* fmt may use %m */
- vfprintf(log, fmt, args);
- va_end(args);
- fprintf(log, "\n");
- fflush(log);
- fclose(log);
-}
diff --git a/mdk-stage1/insmod-modutils/util/sys_cm.c b/mdk-stage1/insmod-modutils/util/sys_cm.c
deleted file mode 100644
index d19a5ba4b..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_cm.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#if defined(__i386__) || defined(__m68k__) || defined(__arm__)
-
-#define __NR__create_module __NR_create_module
-static inline _syscall2(long, _create_module, const char *, name, size_t, size)
-
-unsigned long create_module(const char *name, size_t size)
-{
- /* Why all this fuss?
-
- In linux 2.1, the address returned by create module point in
- kernel space which is now mapped at the top of user space (at
- 0xc0000000 on i386). This looks like a negative number for a
- long. The normal syscall macro of linux 2.0 (and all libc compile
- with linux 2.0 or below) consider that the return value is a
- negative number and consider it is an error number (A kernel
- convention, return value are positive or negative, indicating the
- error number).
-
- By checking the value of errno, we know if we have been fooled by
- the syscall2 macro and we fix it. */
-
- long ret = _create_module(name, size);
- if (ret == -1 && errno > 125)
- {
- ret = -errno;
- errno = 0;
- }
- return ret;
-}
-
-#elif defined(__alpha__)
-
-/* Alpha doesn't have the same problem, exactly, but a bug in older
- kernels fails to clear the error flag. Clear it here explicitly. */
-
-#define __NR__create_module __NR_create_module
-static inline _syscall4(unsigned long, _create_module, const char *, name,
- size_t, size, size_t, dummy, size_t, err);
-
-unsigned long create_module(const char *name, size_t size)
-{
- return _create_module(name, size, 0, 0);
-}
-
-#else
-
-/* Sparc, MIPS, (and Alpha, but that's another problem) don't mistake
- return values for errors due to the nature of the system call. */
-
-_syscall2(unsigned long, create_module, const char *, name, size_t, size)
-
-#endif
diff --git a/mdk-stage1/insmod-modutils/util/sys_dm.c b/mdk-stage1/insmod-modutils/util/sys_dm.c
deleted file mode 100644
index 611234efa..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_dm.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-_syscall1(int, delete_module, const char *, name)
diff --git a/mdk-stage1/insmod-modutils/util/sys_gks.c b/mdk-stage1/insmod-modutils/util/sys_gks.c
deleted file mode 100644
index b639fc990..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_gks.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-_syscall1(int, get_kernel_syms, struct old_kernel_sym *, ksyms)
diff --git a/mdk-stage1/insmod-modutils/util/sys_nim.c b/mdk-stage1/insmod-modutils/util/sys_nim.c
deleted file mode 100644
index c267ddf10..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_nim.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#ifndef CONFIG_USE_SYSCALL
-
-extern int init_module(const char *name, const struct module *info);
-
-int
-sys_init_module(const char *name, const struct module *info)
-{
- return init_module(name, info);
-}
-
-#else
-
-#define __NR_sys_init_module __NR_init_module
-_syscall2(int, sys_init_module, const char *, name,
- const struct module *, info)
-
-#endif
diff --git a/mdk-stage1/insmod-modutils/util/sys_oim.c b/mdk-stage1/insmod-modutils/util/sys_oim.c
deleted file mode 100644
index b915e36a5..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_oim.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-#define __NR_old_sys_init_module __NR_init_module
-_syscall5(int, old_sys_init_module, const char *, name, char *, code,
- unsigned, codesize, struct old_mod_routines *, routines,
- struct old_symbol_table *, symtab)
diff --git a/mdk-stage1/insmod-modutils/util/sys_qm.c b/mdk-stage1/insmod-modutils/util/sys_qm.c
deleted file mode 100644
index ba478832b..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_qm.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Functions for the Linux module syscall interface.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include "module.h"
-
-/* Kernel headers before 2.1.mumble need this on the Alpha to get
- _syscall* defined. */
-#define __LIBRARY__
-
-#include <asm/unistd.h>
-
-
-/*======================================================================*/
-
-/* I am fucking tired of the "this doesn't build on 2.0.x" questions.
- But if you ask, we still officially require 2.1.x to build. */
-#if !defined(__NR_query_module)
-# if defined(__i386__)
-# define __NR_query_module 167
-# elif defined(__alpha__)
-# define __NR_query_module 347
-# elif defined(__sparc__)
-# define __NR_query_module 184
-# elif defined(__mc68000__)
-# define __NR_query_module 167
-# elif defined(__arm__)
-# define __NR_query_module (__NR_SYSCALL_BASE + 167)
-# elif defined(__mips__)
-# define __NR_query_module 4187
-# endif
-#endif
-
-_syscall5(int, query_module, const char *, name, int, which,
- void *, buf, size_t, bufsize, size_t *, ret);
diff --git a/mdk-stage1/insmod-modutils/util/xftw.c b/mdk-stage1/insmod-modutils/util/xftw.c
deleted file mode 100644
index fe764a63c..000000000
--- a/mdk-stage1/insmod-modutils/util/xftw.c
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * modutils specific implementation of ftw().
- *
- * Copyright 2000:
- * Keith Owens <kaos@ocs.com.au> August 2000
- *
- * This file is part of the Linux modutils.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/*
- modutils requires special processing during the file tree walk
- of /lib/modules/<version> and any paths that the user specifies.
- The standard ftw() does a blind walk of all paths and can end
- up following the build symlink down the kernel source tree.
- Although nftw() has the option to get more control such as not
- automatically following symbolic links, even that is not enough
- for modutils. The requirements are:
-
- Paths must be directories or symlinks to directories.
-
- Each directory is read and sorted into alphabetical order
- before processing.
-
- A directory is type 1 iff it was specified on a path statement
- (either explicit or default) and the directory contains a
- subdirectory with one of the known names and the directory name
- does not end with "/kernel". Otherwise it is type 2.
-
- In a type 1 directory, walk the kernel subdirectory if it exists,
- then the old known names in their historical order then any
- remaining directory entries in alphabetical order and finally any
- non-directory entries in alphabetical order.
-
- Entries in a type 1 directory are filtered against the "prune"
- list. A type 1 directory can contain additional files which
- are not modules nor symlinks to modules. The prune list skips
- known additional files, if a distribution wants to store
- additional text files in the top level directory they should be
- added to the prune list.
-
- A type 2 directory must contain only modules or symlinks to
- modules. They are processed in alphabetical order, without
- pruning. Symlinks to directories are an error in type 2
- directories.
-
- The user function is not called for type 1 directories, nor for
- pruned entries. It is called for type 2 directories and their
- contents. It is also called for any files left in a type 1
- directory after pruning and processing type 2 subdirectories.
- The user function never sees symlinks, they are resolved before
- calling the function.
-
- Why have different directory types? The original file tree
- walk was not well defined. Some users specified each directory
- individually, others just pointed at the top level directory.
- Either version worked until the "build" symlink was added. Now
- users who specify the top level directory end up running the
- entire kernel source tree looking for modules, not nice. We
- cannot just ignore symlinks because pcmcia uses symlinks to
- modules for backwards compatibility.
-
- Type 1 is when a user specifies the top level directory which needs
- special processing, type 2 is individual subdirectories. But the
- only way to tell the difference is by looking at the contents. The
- "/kernel" directory introduced in 2.3.12 either contains nothing
- (old make modules_install) or contains all the kernel modules using
- the same tree structure as the source. Because "/kernel" can
- contain old names but is really a type 2 directory, it is detected
- as a special case.
- */
-
-#include <dirent.h>
-#include <errno.h>
-#include <limits.h>
-#include <malloc.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "util.h"
-#include "config.h"
-
-extern char *tbpath[];
-
-extern OPT_LIST *prune_list;
-extern int n_prune_list;
-
-extern char *tbtype[];
-
-struct xftw_dirent {
- struct stat statbuf;
- char *name;
- char *fullname;
-};
-
-#define XFTW_MAXDEPTH 64 /* Maximum directory depth handled */
-
-typedef struct {
- struct xftw_dirent *contents;
- int size;
- int used;
-} xftw_tree_t;
-
-static xftw_tree_t tree[XFTW_MAXDEPTH];
-
-/* Free all data for one tree level */
-static void xftw_free_tree(int depth)
-{
- int i;
- xftw_tree_t *t = tree+depth;
- for (i = 0; i < t->size; ++i) {
- free(t->contents[i].name);
- free(t->contents[i].fullname);
- }
- free(t->contents);
- t->contents = NULL;
- t->size = 0;
- t->used = 0;
-}
-
-/* Increment dirents used at this depth, resizing if necessary */
-static void xftw_add_dirent(int depth)
-{
- xftw_tree_t *t = tree+depth;
- int i, size = t->size;
- if (++t->used < size)
- return;
- size += 10; /* arbitrary increment */
- t->contents = xrealloc(t->contents, size*sizeof(*(t->contents)));
- for (i = t->size; i < size; ++i) {
- memset(&(t->contents[i].statbuf), 0, sizeof(t->contents[i].statbuf));
- t->contents[i].name = NULL;
- t->contents[i].fullname = NULL;
- }
- t->size = size;
-}
-
-/* Concatenate directory name and entry name into one string.
- * Note: caller must free result or leak.
- */
-static char *xftw_dir_name(const char *directory, const char *entry)
-{
- int i = strlen(directory);
- char *name;
- if (entry)
- i += strlen(entry);
- i += 2;
- name = xmalloc(i);
- strcpy(name, directory); /* safe, xmalloc */
- if (*directory && entry)
- strcat(name, "/"); /* safe, xmalloc */
- if (entry)
- strcat(name, entry); /* safe, xmalloc */
- return(name);
-}
-
-/* Call the user function for a directory entry */
-static int xftw_do_name(const char *directory, const char *entry, struct stat *sb, xftw_func_t funcptr)
-{
- int ret = 0;
- char *name = xftw_dir_name(directory, entry);
-
- if (S_ISLNK(sb->st_mode)) {
- char real[PATH_MAX], *newname;
- verbose("resolving %s symlink to ", name);
- if (!(newname = realpath(name, real))) {
- if (errno == ENOENT) {
- verbose("%s: does not exist, dangling symlink ignored\n", real);
- goto cleanup;
- }
- perror("... failed");
- goto cleanup;
- }
- verbose("%s ", newname);
- if (lstat(newname, sb)) {
- error("lstat on %s failed ", newname);
- perror("");
- goto cleanup;
- }
- free(name);
- name = xstrdup(newname);
- }
-
- if (!S_ISREG(sb->st_mode) &&
- !S_ISDIR(sb->st_mode)) {
- error("%s is not plain file nor directory\n", name);
- goto cleanup;
- }
-
- verbose("user function %s\n", name);
- ret = (*funcptr)(name, sb);
-cleanup:
- free(name);
- return(ret);
-}
-
-/* Sort directory entries into alphabetical order */
-static int xftw_sortdir(const void *a, const void *b)
-{
- return(strcmp(((struct xftw_dirent *)a)->name, ((struct xftw_dirent *)b)->name));
-}
-
-/* Read a directory and sort it, ignoring "." and ".." */
-static int xftw_readdir(const char *directory, int depth)
-{
- DIR *d;
- struct dirent *ent;
- verbose("xftw_readdir %s\n", directory);
- if (!(d = opendir(directory))) {
- perror(directory);
- return(1);
- }
- while ((ent = readdir(d))) {
- char *name;
- struct xftw_dirent *f;
- if (strcmp(ent->d_name, ".") == 0 ||
- strcmp(ent->d_name, "..") == 0)
- continue;
- name = xftw_dir_name(directory, ent->d_name);
- xftw_add_dirent(depth);
- f = tree[depth].contents+tree[depth].used-1;
- f->name = xstrdup(ent->d_name);
- f->fullname = name; /* do not free name, it is in use */
- if (lstat(name, &(f->statbuf))) {
- perror(name);
- return(1);
- }
- }
- closedir(d);
- qsort(tree[depth].contents, tree[depth].used, sizeof(*(tree[0].contents)), &xftw_sortdir);
- return(0);
-}
-
-/* Process a type 2 directory */
-int xftw_type2(const char *directory, const char *entry, int depth, xftw_func_t funcptr)
-{
- int ret, i;
- xftw_tree_t *t = tree+depth;
- struct stat statbuf;
- char *dirname = xftw_dir_name(directory, entry);
-
- verbose("type 2 %s\n", dirname);
- if (depth > XFTW_MAXDEPTH) {
- error("xftw_type2 exceeded maxdepth\n");
- ret = 1;
- goto cleanup;
- }
- if ((ret = xftw_readdir(dirname, depth)))
- goto cleanup;
-
- t = tree+depth;
- /* user function sees type 2 directories */
- if ((ret = lstat(dirname, &statbuf)) ||
- (ret = xftw_do_name("", dirname, &statbuf, funcptr)))
- goto cleanup;
-
- /* user sees all contents of type 2 directory, no pruning */
- for (i = 0; i < t->used; ++i) {
- struct xftw_dirent *c = t->contents+i;
- if (S_ISLNK(c->statbuf.st_mode)) {
- if (!stat(c->name, &(c->statbuf))) {
- if (S_ISDIR(c->statbuf.st_mode)) {
- error("symlink to directory is not allowed, %s ignored\n", c->name);
- *(c->name) = '\0'; /* ignore it */
- }
- }
- }
- if (!*(c->name))
- continue;
- if (S_ISDIR(c->statbuf.st_mode)) {
- /* recursion is the curse of the programming classes */
- ret = xftw_type2(dirname, c->name, depth+1, funcptr);
- if (ret)
- goto cleanup;
- }
- else if ((ret = xftw_do_name(dirname, c->name, &(c->statbuf), funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
-
- ret = 0;
-cleanup:
- free(dirname);
- return(ret);
-}
-
-/* Only external visible function. Decide on the type of directory and
- * process accordingly.
- */
-int xftw(const char *directory, xftw_func_t funcptr)
-{
- struct stat statbuf;
- int ret, i, j, type;
- xftw_tree_t *t;
- struct xftw_dirent *c;
-
- verbose("xftw starting at %s ", directory);
- if (lstat(directory, &statbuf)) {
- verbose("lstat on %s failed\n", directory);
- return(0);
- }
- if (S_ISLNK(statbuf.st_mode)) {
- char real[PATH_MAX];
- verbose("resolving symlink to ");
- if (!(directory = realpath(directory, real))) {
- if (errno == ENOENT) {
- verbose("%s: does not exist, dangling symlink ignored\n", real);
- return(0);
- }
- perror("... failed");
- return(-1);
- }
- verbose("%s ", directory);
- if (lstat(directory, &statbuf)) {
- error("lstat on %s failed ", directory);
- perror("");
- return(-1);
- }
- }
- if (!S_ISDIR(statbuf.st_mode)) {
- error("%s is not a directory\n", directory);
- return(-1);
- }
- verbose("\n");
-
- /* All returns after this point must be via cleanup */
-
- if ((ret = xftw_readdir(directory, 0)))
- goto cleanup;
-
- t = tree; /* depth 0 */
- type = 2;
- for (i = 0 ; type == 2 && i < t->used; ++i) {
- c = t->contents+i;
- for (j = 0; tbtype[j]; ++j) {
- if (strcmp(c->name, tbtype[j]) == 0 &&
- S_ISDIR(c->statbuf.st_mode)) {
- const char *p = directory + strlen(directory) - 1;
- if (*p == '/')
- --p;
- if (p - directory >= 6 && strncmp(p-6, "/kernel", 7) == 0)
- continue; /* "/kernel" path is a special case, type 2 */
- type = 1; /* known subdirectory */
- break;
- }
- }
- }
-
- if (type == 1) {
- OPT_LIST *p;
- /* prune entries in type 1 directories only */
- for (i = 0 ; i < t->used; ++i) {
- for (p = prunelist; p->name; ++p) {
- c = t->contents+i;
- if (strcmp(p->name, c->name) == 0) {
- verbose("pruned %s\n", c->name);
- *(c->name) = '\0'; /* ignore */
- }
- }
- }
- /* run known subdirectories first in historical order, "kernel" is now top of list */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- for (j = 0; tbtype[j]; ++j) {
- if (*(c->name) &&
- strcmp(c->name, tbtype[j]) == 0 &&
- S_ISDIR(c->statbuf.st_mode)) {
- if ((ret = xftw_type2(directory, c->name, 1, funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- }
- /* any other directories left, in alphabetical order */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- if (*(c->name) &&
- S_ISDIR(c->statbuf.st_mode)) {
- if ((ret = xftw_type2(directory, c->name, 1, funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- /* anything else is passed to the user function */
- for (i = 0 ; i < t->used; ++i) {
- c = t->contents+i;
- if (*(c->name)) {
- verbose("%s found in type 1 directory %s\n", c->name, directory);
- if ((ret = xftw_do_name(directory, c->name, &(c->statbuf), funcptr)))
- goto cleanup;
- *(c->name) = '\0'; /* processed */
- }
- }
- }
- else {
- /* type 2 */
- xftw_free_tree(0);
- if ((ret = xftw_type2(directory, NULL, 0, funcptr)))
- goto cleanup;
- }
-
- /* amazing, it all worked */
- ret = 0;
-cleanup:
- for (i = 0; i < XFTW_MAXDEPTH; ++i)
- xftw_free_tree(i);
- return(ret);
-}
diff --git a/mdk-stage1/insmod-modutils/util/xmalloc.c b/mdk-stage1/insmod-modutils/util/xmalloc.c
deleted file mode 100644
index da0be2953..000000000
--- a/mdk-stage1/insmod-modutils/util/xmalloc.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xmalloc(size_t size)
-{
- void *ptr = malloc(size ? size : 1);
- if (!ptr)
- {
- error("Out of memory");
- exit(1);
- }
- return ptr;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xrealloc.c b/mdk-stage1/insmod-modutils/util/xrealloc.c
deleted file mode 100644
index adc0558f1..000000000
--- a/mdk-stage1/insmod-modutils/util/xrealloc.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xrealloc(void *old, size_t size)
-{
- void *ptr = realloc(old, size);
- if (!ptr)
- {
- error("Out of memory");
- exit(1);
- }
- return ptr;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xstrcat.c b/mdk-stage1/insmod-modutils/util/xstrcat.c
deleted file mode 100644
index ed4a2bf20..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrcat.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Misc utility functions.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdlib.h>
-#include <string.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-char *
-xstrcat(char *dest, const char *src, size_t size)
-{
- int ldest = strlen(dest);
- int lsrc = strlen(src);
- if ((size - ldest - 1) < lsrc) {
- error("xstrcat: destination overflow");
- exit(1);
- }
- memcpy(dest+ldest, src, lsrc+1);
- return(dest);
-}
diff --git a/mdk-stage1/insmod-modutils/util/xstrdup.c b/mdk-stage1/insmod-modutils/util/xstrdup.c
deleted file mode 100644
index 46889a094..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrdup.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Misc utility functions.
- Copyright 1996, 1997 Linux International.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-char *
-xstrdup(const char *s)
-{
- char *n = strdup(s);
- if (!n)
- {
- error("Out of memory");
- exit(1);
- }
- return n;
-}
diff --git a/mdk-stage1/insmod-modutils/util/xsystem.c b/mdk-stage1/insmod-modutils/util/xsystem.c
deleted file mode 100644
index 8ffa490a9..000000000
--- a/mdk-stage1/insmod-modutils/util/xsystem.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Misc utility functions.
- Copyright 2000 Keith Owens <kaos@ocs.com.au>
-
- This file is part of the Linux modutils.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <unistd.h>
-
-
-/*======================================================================*/
-
-/* Clone of the system() function From Steven's Advanced Programming in a Unix
- * Environment. Modified to use *argv[] and execvp to avoid shell expansion
- * problems, modutils runs as root so system() is unsafe.
- */
-
-int
-xsystem(const char *file, char *const argv[])
-{
- pid_t pid;
- int status;
- if ((pid = fork()) < 0)
- return(-1);
- if (pid == 0) {
- execvp(file, argv);
- _exit(127);
- }
- while (waitpid(pid, &status, 0) < 0) {
- if (errno != EINTR)
- return(-1);
- }
- return(status);
-}
diff --git a/mdk-stage1/insmod.h b/mdk-stage1/insmod.h
deleted file mode 100644
index d91f239cf..000000000
--- a/mdk-stage1/insmod.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _INSMOD_INTERFACE_H_
-#define _INSMOD_INTERFACE_H_
-
-int insmod_call(char * full_filename, char * params);
-
-#endif
diff --git a/mdk-stage1/ka.c b/mdk-stage1/ka.c
new file mode 100644
index 000000000..7b9d98fbe
--- /dev/null
+++ b/mdk-stage1/ka.c
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include "ka.h"
+#include <sys/mount.h>
+#include "mount.h"
+#include <sys/wait.h>
+#include <dirent.h>
+#include <errno.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+
+#include "config-stage1.h"
+#include "frontend.h"
+#include "log.h"
+#include "tools.h"
+
+struct in_addr next_server = { 0 };
+
+#if 0
+static void save_stuff_for_rescue(void)
+{
+ copy_file("/etc/resolv.conf", STAGE2_LOCATION "/etc/resolv.conf", NULL);
+}
+#endif
+
+static void my_pause(void) {
+ unsigned char t;
+ fflush(stdout);
+ read(0, &t, 1);
+}
+
+static enum return_type ka_wait_for_stage2(int count)
+{
+ char * ramdisk = "/dev/ram3"; /* warning, verify that this file exists in the initrd*/
+ char * ka_launch[] = { "/ka/ka-d-client", "-w","-s","getstage2","-e","(cd " STAGE2_LOCATION "; tar -x -f - )", NULL }; /* The command line for ka_launch */
+ char * mkfs_launch[] = { "/sbin/mke2fs", "-m", "0", ramdisk, NULL}; /* The mkfs command for formating the ramdisk */
+
+ log_message("KA: Preparing to receive stage 2....");
+ wait_message("Preparing to receive stage 2");
+
+ int pida, wait_status;
+
+ if (!(pida = fork())) { /* Forking current process for running mkfs */
+ //close(1);
+ close(2);
+ execv(mkfs_launch[0], mkfs_launch); /* Formating the ramdisk */
+ printf("KA: Can't execute %s\n<press Enter>\n", mkfs_launch[0]);
+ my_pause();
+ return KAERR_CANTFORK;
+ }
+ while (wait4(-1, &wait_status, 0, NULL) != pida) {}; /* Waiting the end of mkfs */
+ remove_wait_message();
+
+ wait_message("Mounting /dev/ram3 at %s", STAGE2_LOCATION);
+ if (my_mount(ramdisk, STAGE2_LOCATION, "ext2", 1)) {/* Trying to mount the ramdisk */
+ return RETURN_ERROR;
+ }
+ remove_wait_message();
+
+ log_message("KA: Waiting for stage 2....");
+ wait_message("Waiting for rescue from KA server (Try %d/%d)", count, KA_MAX_RETRY);
+ pid_t pid; /* Process ID of the child process */
+ pid_t wpid; /* Process ID from wait() */
+ int status; /* Exit status from wait() */
+
+ pid = fork();
+ if ( pid == -1 ) {
+ fprintf(stderr, "%s: Failed to fork()\n", strerror(errno));
+ exit(13);
+ } else if ( pid == 0 ) {
+ // close(2);
+ execv(ka_launch[0], ka_launch);
+ } else {
+ // wpid = wait(&status); /* Child's exit status */
+ wpid = wait4(-1, &status, 0, NULL);
+ if ( wpid == -1 ) {
+ fprintf(stderr,"%s: wait()\n", strerror(errno));
+ return RETURN_ERROR;
+ } else if ( wpid != pid )
+ abort();
+ else {
+ if ( WIFEXITED(status) ) {
+ printf("Exited: $? = %d\n", WEXITSTATUS(status));
+ } else if ( WIFSIGNALED(status) ) {
+ printf("Signal: %d%s\n", WTERMSIG(status), WCOREDUMP(status) ? " with core file." : "");
+ }
+ }
+ }
+
+ remove_wait_message();
+ return RETURN_OK;
+ // if (!(pid = fork())) { /* Froking current process for running ka-deploy (client side) */
+ // close(1); /* Closing stdout */
+ // close(2); /* Closing stderr */
+ // execve(ka_launch[0], ka_launch,grab_env()); /* Running ka-deploy (client side) */
+ // printf("KA: Can't execute %s\n<press Enter>\n", ka_launch[0]);
+ // log_message("KA: Can't execute %s\n<press Enter>\n", ka_launch[0]);
+ // my_pause();
+ // return KAERR_CANTFORK;
+ //}
+
+ //while (wait4(-1, &wait_status, 0, NULL) != pid) {}; /* Waiting the end of duplication */
+ // log_message("kalaunch ret %d\n", WIFEXITED(wait_status));
+ // remove_wait_message();
+ //sleep(100000);
+ // return RETURN_OK;
+}
+
+enum return_type perform_ka(void) {
+ enum return_type results;
+ int server_failure = 1; /* Number of time we've failed to find a ka server */
+ FILE *f = fopen ("/ka/tftpserver","w");
+
+ if (f != NULL) {
+ /* Writing the NEXT_SERVER value of the DHCP Request in the /ka/tftpserver file */
+ fprintf(f,"%s\n",inet_ntoa(next_server));
+ fclose(f);
+ }
+
+ log_message("KA: Trying to retrieve stage2 from server");
+ log_message("KA: ka_wait_for_stage2");
+ do {
+ /* We are trying to get a valid stage 2 (rescue) */
+ results=ka_wait_for_stage2(server_failure);
+ if (results != RETURN_OK) {
+ return results;
+ } else {
+ /* Trying to open STAGE2_LOCATION/ka directory */
+ char dir[255] = STAGE2_LOCATION;
+ strcat(dir,"/ka");
+ DIR *dp = opendir(dir);
+
+ /* Does the STAGE2_LOCATION/ka directory exists ? = Does the rescue with ka well downloaded ?*/
+ if (!dp) {
+ log_message("KA: Server not found !");
+ /* Be sure that the STAGE2_LOCATION isn't mounted after receiving a wrong rescue */
+ if (umount (STAGE2_LOCATION)) {
+ log_perror("KA: Unable to umount STAGE2");
+ }
+ int cpt;
+
+ if (server_failure++ == KA_MAX_RETRY){
+ /* if the KA server can't be reach KA_MAX_RETRY times */
+ char * reboot_launch[] = { "/sbin/reboot", NULL};
+ for (cpt=5; cpt>0; cpt--) {
+ wait_message("!!! Can't reach a valid KA server !!! (Rebooting in %d sec)",cpt);
+ sleep (1);
+ }
+ /* Rebooting the computer to avoid infinite loop on ka mode */
+ execv(reboot_launch[0], reboot_launch);
+ }
+
+ for (cpt=5; cpt>0; cpt--) {
+ wait_message("KA server not found ! (Try %d/%d in %d sec)",server_failure,KA_MAX_RETRY,cpt);
+ log_message("Ka not found %d/%d", server_failure,KA_MAX_RETRY);
+ sleep (1);
+ }
+ remove_wait_message();
+ /* We should try another time*/
+ results=RETURN_BACK;
+ continue;
+ }
+
+ if (dp) {
+ log_message("KA: Stage 2 downloaded successfully");
+ closedir(dp); /* Closing the /ka directory */
+ server_failure=1; /* Resetting server_failure */
+ results = RETURN_OK;
+ }
+ }
+
+ log_message("KA: Preparing chroot");
+ return RETURN_OK;
+
+ // if (IS_RESCUE) { /* if we are in rescue mode */
+ // save_stuff_for_rescue(); /* Saving resolve.conf */
+ // if (umount (STAGE2_LOCATION)) { /* Unmounting STAGE2 elseif kernel can't mount it ! */
+ // log_perror("KA: Unable to umount STAGE2");
+ // return RETURN_ERROR;
+ // }
+ // }
+ } while (results == RETURN_BACK);
+
+ // method_name = strdup("ka");
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/ka.h b/mdk-stage1/ka.h
new file mode 100644
index 000000000..44d6244f9
--- /dev/null
+++ b/mdk-stage1/ka.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _KA_H_
+#define _KA_H_
+
+#define KAERR_CANTFORK -20
+
+enum return_type perform_ka(void);
+
+#endif
diff --git a/mdk-stage1/linux-2.2/nfs.h b/mdk-stage1/linux-2.2/nfs.h
deleted file mode 100644
index 7936d5a71..000000000
--- a/mdk-stage1/linux-2.2/nfs.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * NFS protocol definitions
- */
-#ifndef _LINUX_NFS_H
-#define _LINUX_NFS_H
-
-#include <linux/sunrpc/msg_prot.h>
-
-#define NFS_PORT 2049
-#define NFS_MAXDATA 8192
-#define NFS_MAXPATHLEN 1024
-#define NFS_MAXNAMLEN 255
-#define NFS_MAXGROUPS 16
-#define NFS_FHSIZE 32
-#define NFS_COOKIESIZE 4
-#define NFS_FIFO_DEV (-1)
-#define NFSMODE_FMT 0170000
-#define NFSMODE_DIR 0040000
-#define NFSMODE_CHR 0020000
-#define NFSMODE_BLK 0060000
-#define NFSMODE_REG 0100000
-#define NFSMODE_LNK 0120000
-#define NFSMODE_SOCK 0140000
-#define NFSMODE_FIFO 0010000
-
-
-enum nfs_stat {
- NFS_OK = 0,
- NFSERR_PERM = 1,
- NFSERR_NOENT = 2,
- NFSERR_IO = 5,
- NFSERR_NXIO = 6,
- NFSERR_EAGAIN = 11,
- NFSERR_ACCES = 13,
- NFSERR_EXIST = 17,
- NFSERR_XDEV = 18,
- NFSERR_NODEV = 19,
- NFSERR_NOTDIR = 20,
- NFSERR_ISDIR = 21,
- NFSERR_INVAL = 22, /* that Sun forgot */
- NFSERR_FBIG = 27,
- NFSERR_NOSPC = 28,
- NFSERR_ROFS = 30,
- NFSERR_OPNOTSUPP = 45,
- NFSERR_NAMETOOLONG = 63,
- NFSERR_NOTEMPTY = 66,
- NFSERR_DQUOT = 69,
- NFSERR_STALE = 70,
- NFSERR_WFLUSH = 99
-};
-
-enum nfs_ftype {
- NFNON = 0,
- NFREG = 1,
- NFDIR = 2,
- NFBLK = 3,
- NFCHR = 4,
- NFLNK = 5,
- NFSOCK = 6,
- NFBAD = 7,
- NFFIFO = 8
-};
-
-struct nfs_fh {
- char data[NFS_FHSIZE];
-};
-
-#define NFS_PROGRAM 100003
-#define NFS_VERSION 2
-#define NFSPROC_NULL 0
-#define NFSPROC_GETATTR 1
-#define NFSPROC_SETATTR 2
-#define NFSPROC_ROOT 3
-#define NFSPROC_LOOKUP 4
-#define NFSPROC_READLINK 5
-#define NFSPROC_READ 6
-#define NFSPROC_WRITECACHE 7
-#define NFSPROC_WRITE 8
-#define NFSPROC_CREATE 9
-#define NFSPROC_REMOVE 10
-#define NFSPROC_RENAME 11
-#define NFSPROC_LINK 12
-#define NFSPROC_SYMLINK 13
-#define NFSPROC_MKDIR 14
-#define NFSPROC_RMDIR 15
-#define NFSPROC_READDIR 16
-#define NFSPROC_STATFS 17
-
-/* Mount support for NFSroot */
-#ifdef __KERNEL__
-#define NFS_MNT_PROGRAM 100005
-#define NFS_MNT_VERSION 1
-#define NFS_MNT_PORT 627
-#define NFS_MNTPROC_MNT 1
-#define NFS_MNTPROC_UMNT 3
-#endif
-
-#if defined(__KERNEL__) || defined(NFS_NEED_KERNEL_TYPES)
-
-extern struct rpc_program nfs_program;
-extern struct rpc_stat nfs_rpcstat;
-
-struct nfs_time {
- __u32 seconds;
- __u32 useconds;
-};
-
-struct nfs_fattr {
- enum nfs_ftype type;
- __u32 mode;
- __u32 nlink;
- __u32 uid;
- __u32 gid;
- __u32 size;
- __u32 blocksize;
- __u32 rdev;
- __u32 blocks;
- __u32 fsid;
- __u32 fileid;
- struct nfs_time atime;
- struct nfs_time mtime;
- struct nfs_time ctime;
-};
-
-struct nfs_sattr {
- __u32 mode;
- __u32 uid;
- __u32 gid;
- __u32 size;
- struct nfs_time atime;
- struct nfs_time mtime;
-};
-
-struct nfs_fsinfo {
- __u32 tsize;
- __u32 bsize;
- __u32 blocks;
- __u32 bfree;
- __u32 bavail;
-};
-
-struct nfs_writeargs {
- struct nfs_fh * fh;
- __u32 offset;
- __u32 count;
- const void * buffer;
-};
-
-#ifdef NFS_NEED_XDR_TYPES
-
-struct nfs_sattrargs {
- struct nfs_fh * fh;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_diropargs {
- struct nfs_fh * fh;
- const char * name;
-};
-
-struct nfs_readargs {
- struct nfs_fh * fh;
- __u32 offset;
- __u32 count;
- void * buffer;
-};
-
-struct nfs_createargs {
- struct nfs_fh * fh;
- const char * name;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_renameargs {
- struct nfs_fh * fromfh;
- const char * fromname;
- struct nfs_fh * tofh;
- const char * toname;
-};
-
-struct nfs_linkargs {
- struct nfs_fh * fromfh;
- struct nfs_fh * tofh;
- const char * toname;
-};
-
-struct nfs_symlinkargs {
- struct nfs_fh * fromfh;
- const char * fromname;
- const char * topath;
- struct nfs_sattr * sattr;
-};
-
-struct nfs_readdirargs {
- struct nfs_fh * fh;
- __u32 cookie;
- void * buffer;
- unsigned int bufsiz;
-};
-
-struct nfs_diropok {
- struct nfs_fh * fh;
- struct nfs_fattr * fattr;
-};
-
-struct nfs_readres {
- struct nfs_fattr * fattr;
- unsigned int count;
-};
-
-struct nfs_readlinkres {
- char ** string;
- unsigned int * lenp;
- unsigned int maxlen;
- void * buffer;
-};
-
-struct nfs_readdirres {
- void * buffer;
- unsigned int bufsiz;
-};
-
-#endif /* NFS_NEED_XDR_TYPES */
-#endif /* __KERNEL__ */
-
-#endif
diff --git a/mdk-stage1/linux-2.2/nfs_mount.h b/mdk-stage1/linux-2.2/nfs_mount.h
deleted file mode 100644
index 60493b150..000000000
--- a/mdk-stage1/linux-2.2/nfs_mount.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _LINUX_NFS_MOUNT_H
-#define _LINUX_NFS_MOUNT_H
-
-/*
- * linux/include/linux/nfs_mount.h
- *
- * Copyright (C) 1992 Rick Sladkey
- *
- * structure passed from user-space to kernel-space during an nfs mount
- */
-
-/*
- * WARNING! Do not delete or change the order of these fields. If
- * a new field is required then add it to the end. The version field
- * tracks which fields are present. This will ensure some measure of
- * mount-to-kernel version compatibility. Some of these aren't used yet
- * but here they are anyway.
- */
-#define NFS_MOUNT_VERSION 3
-
-struct nfs_mount_data {
- int version; /* 1 */
- int fd; /* 1 */
- struct nfs_fh root; /* 1 */
- int flags; /* 1 */
- int rsize; /* 1 */
- int wsize; /* 1 */
- int timeo; /* 1 */
- int retrans; /* 1 */
- int acregmin; /* 1 */
- int acregmax; /* 1 */
- int acdirmin; /* 1 */
- int acdirmax; /* 1 */
- struct sockaddr_in addr; /* 1 */
- char hostname[256]; /* 1 */
- int namlen; /* 2 */
- unsigned int bsize; /* 3 */
-};
-
-/* bits in the flags field */
-
-#define NFS_MOUNT_SOFT 0x0001 /* 1 */
-#define NFS_MOUNT_INTR 0x0002 /* 1 */
-#define NFS_MOUNT_SECURE 0x0004 /* 1 */
-#define NFS_MOUNT_POSIX 0x0008 /* 1 */
-#define NFS_MOUNT_NOCTO 0x0010 /* 1 */
-#define NFS_MOUNT_NOAC 0x0020 /* 1 */
-#define NFS_MOUNT_TCP 0x0040 /* 2 */
-#define NFS_MOUNT_VER3 0x0080 /* 3 */
-#define NFS_MOUNT_KERBEROS 0x0100 /* 3 */
-#define NFS_MOUNT_NONLM 0x0200 /* 3 */
-
-#endif
diff --git a/mdk-stage1/log.c b/mdk-stage1/log.c
index 0404ba46b..cb3f741dc 100644
--- a/mdk-stage1/log.c
+++ b/mdk-stage1/log.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -67,7 +67,7 @@ void log_message(const char * s, ...)
return;
}
-void log_perror(char *msg)
+void log_perror(const char *msg)
{
log_message("%s: %s", msg, strerror(errno));
}
diff --git a/mdk-stage1/log.h b/mdk-stage1/log.h
index 90aa3f6e6..d726a6b21 100644
--- a/mdk-stage1/log.h
+++ b/mdk-stage1/log.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -27,7 +27,7 @@
void log_message(const char * s, ...) __attribute__ ((format (printf, 1, 2)));
void vlog_message(const char * s, va_list args);
-void log_perror(char *msg);
+void log_perror(const char *msg);
void open_log(void);
void close_log(void);
diff --git a/mdk-stage1/lomount.c b/mdk-stage1/lomount.c
index 991a862c7..caca48ea1 100644
--- a/mdk-stage1/lomount.c
+++ b/mdk-stage1/lomount.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -111,13 +111,41 @@ set_loop (const char *device, const char *file)
}
-char * loopdev = "/dev/loop3"; /* Ugly. But do I care? */
+char* find_free_loop()
+{
+ struct loop_info loopinfo;
+ int i;
+ for (i=0; i<256; i++) {
+ int fd;
+ char ldev[100];
+ sprintf(ldev, "/dev/loop%d", i);
+ ensure_dev_exists(ldev);
+ fd = open(ldev, O_RDONLY);
+ if (!ioctl(fd, LOOP_GET_STATUS, &loopinfo)) {
+ close(fd);
+ continue;
+ }
+ if (errno == ENXIO) {
+ log_message("%s is available", ldev);
+ close(fd);
+ return strdup(ldev);
+ } else {
+ log_perror("LOOP_GET_STATUS(unexpected error)");
+ close(fd);
+ continue;
+ }
+ }
+ return NULL;
+}
void
-del_loop(void)
+del_loop(char * loopdev)
{
int fd;
+ if (!loopdev)
+ return;
+
if ((fd = open (loopdev, O_RDONLY)) < 0)
return;
@@ -127,45 +155,40 @@ del_loop(void)
close (fd);
}
-
-static char * where_mounted = NULL;
-
int
-lomount(char *loopfile, char *where)
+lomount(char *loopfile, char *where, char **dev, int compressed)
{
long int flag;
+ char * loopdev;
flag = MS_MGC_VAL;
flag |= MS_RDONLY;
- my_insmod("loop", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("loop", ANY_DRIVER_TYPE, "max_loop=256");
+ if (compressed) {
+ my_modprobe("squashfs", ANY_DRIVER_TYPE, NULL);
+ }
+
+ if (!(loopdev = find_free_loop())) {
+ log_message("could not find a free loop");
+ return 1;
+ }
+ if (dev)
+ *dev = loopdev;
if (set_loop(loopdev, loopfile)) {
log_message("set_loop failed on %s (%s)", loopdev, strerror(errno));
return 1;
}
- if (my_mount(loopdev, where, "iso9660", 0)) {
- del_loop();
+ if (my_mount(loopdev, where, compressed ? "squashfs" : "iso9660", 0)) {
+ del_loop(loopdev);
return 1;
}
- where_mounted = strdup(where);
log_message("lomount succeeded for %s on %s", loopfile, where);
return 0;
}
-int
-loumount()
-{
- if (where_mounted) {
- umount(where_mounted);
- where_mounted = NULL;
- }
- del_loop();
- return 0;
-}
-
-
diff --git a/mdk-stage1/lomount.h b/mdk-stage1/lomount.h
index 3b8a30ac1..7f3af2460 100644
--- a/mdk-stage1/lomount.h
+++ b/mdk-stage1/lomount.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -15,7 +15,7 @@
#ifndef LOMOUNT_H
#define LOMOUNT_H
-int lomount(char *loopfile, char *where);
-int loumount(void);
+int lomount(char *loopfile, char *where, char **loopdev, int compressed);
+void del_loop(char *loopdev);
#endif
diff --git a/mdk-stage1/mar/.cvsignore b/mdk-stage1/mar/.cvsignore
deleted file mode 100644
index bfde37886..000000000
--- a/mdk-stage1/mar/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-mar
diff --git a/mdk-stage1/mar/Makefile b/mdk-stage1/mar/Makefile
deleted file mode 100644
index 93c706119..000000000
--- a/mdk-stage1/mar/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
- #******************************************************************************
- #
- # mar - The Mandrake Archiver
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-TARGETS = libmar.a mar
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o libmar.a mar
-
-
-mar: mar-frontend.o mar-extract-only-standalone.o
- gcc -o mar mar-frontend.o mar-extract-only-standalone.o -lbz2
- $(STRIPCMD) $@
-
-libmar.a: mar-extract-only.o
- ar -cru $@ $^
- ranlib $@
-
-dietlibc:
- make -C ../dietlibc
-
-mar-extract-only.o: dietlibc mar-extract-only.c mar-extract-only.h mar.h
- $(DIET) gcc $(CFLAGS) $(INCLUDES) -c mar-extract-only.c
-
-mar-frontend.o: mar-frontend.c mar.h mar-extract-only.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -c mar-frontend.c
-
-mar-extract-only-standalone.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ -c mar-extract-only.c
diff --git a/mdk-stage1/mar/mar-extract-only.c b/mdk-stage1/mar/mar-extract-only.c
deleted file mode 100644
index a5b6ccd2f..000000000
--- a/mdk-stage1/mar/mar-extract-only.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * This code should suffice for stage1 on-the-fly uncompression of kernel modules.
- * (and it DOES perform tests and return values, blaaaah..)
- */
-
-#include "mar-extract-only.h"
-#include "mar.h"
-
-#ifdef _STANDALONE_
-void
-zerr(BZFILE * f) /* decrease code size */
-{
- fprintf(stderr, BZ2_bzerror(f, &z_errnum));
-}
-
-inline void
-log_perror(char *msg)
-{
- perror(msg);
-}
-void
-log_message(char *msg)
-{
- fprintf(stderr, msg);
-}
-#else /* _STANDALONE_ */
-#include "../log.h"
-void
-zerr(BZFILE * f) /* decrease code size */
-{
- log_message(BZ2_bzerror(f, &z_errnum));
-}
-#endif /* _STANDALONE_ */
-
-
-static int
-mar_open_file(char *filename, struct mar_stream *s)
-{
- int end_filetable = 0;
- struct mar_element * previous_element = NULL;
-
- /* mar_zfile */
- s->mar_zfile = BZ2_bzopen(filename, "rb");
- if (!s->mar_zfile)
- {
- log_perror(filename);
- return -1;
- }
-
- while (end_filetable == 0)
- {
- char buf[512];
- int ptr = 0;
- /* read filename */
- do
- {
- if (BZ2_bzread(s->mar_zfile, &(buf[ptr]), sizeof(char)) != sizeof(char))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- ptr++;
- } while ((buf[ptr-1] != 0) && (ptr < 512));
- /* ptr == 1 when we arrive on the "char 0" of the end of the filetable */
- if (ptr > 1)
- {
- struct mar_element * e = (struct mar_element *) malloc(sizeof(struct mar_element));
- e->filename = strdup(buf);
- /* read file_length */
- if (BZ2_bzread(s->mar_zfile, &(e->file_length), sizeof(int)) != sizeof(int))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- /* read data_offset */
- if (BZ2_bzread(s->mar_zfile, &(e->data_offset), sizeof(int)) != sizeof(int))
- {
- zerr(s->mar_zfile);
- return -1;
- }
- /* write down chaining */
- if (previous_element)
- previous_element->next_element = e;
- else
- s->first_element = e;
- previous_element = e;
- }
- else
- end_filetable = 1;
-
- }
- /* chaining for last element */
- previous_element->next_element = NULL;
-
- return 0;
-}
-
-
-char **
-mar_list_contents(char * mar_filename)
-{
- struct mar_stream s;
- struct mar_element * elem;
- char * tmp_contents[500];
- char ** answ;
- int i = 0;
-
- if (mar_open_file(mar_filename, &s))
- return NULL;
-
- elem = s.first_element;
- while (elem)
- {
- tmp_contents[i++] = strdup(elem->filename);
- elem = elem->next_element;
- }
- tmp_contents[i++] = NULL;
- answ = (char **) malloc(sizeof(char *) * i);
- memcpy(answ, tmp_contents, sizeof(char *) * i);
- return answ;
-}
-
-
-int
-mar_extract_file(char *mar_filename, char *filename_to_extract, char *dest_dir)
-{
- struct mar_stream s;
- struct mar_element * elem;
-
- if (mar_open_file(mar_filename, &s))
- return -1;
-
- elem = s.first_element;
- while (elem)
- {
- if (strcmp(elem->filename, filename_to_extract) == 0)
- {
- char garb_buf[4096];
- char *buf;
- char *dest_file;
- int fd;
- size_t i;
- dest_file = (char *) alloca(strlen(dest_dir) + strlen(filename_to_extract) + 1);
- strcpy(dest_file, dest_dir);
- strcat(dest_file, filename_to_extract);
- fd = creat(dest_file, 00660);
- if (fd == -1)
- {
- log_perror(dest_file);
- return -1;
- }
- buf = (char *) alloca(elem->file_length);
- if (!buf)
- {
- log_perror(dest_file);
- return -1;
- }
- i = elem->data_offset;
- while (i > 0) {
- int to_read = i > sizeof(garb_buf) ? sizeof(garb_buf) : i;
- if (BZ2_bzread(s.mar_zfile, garb_buf, to_read) != to_read) {
- log_message("MAR: unexpected EOF in stream");
- return -1;
- }
- i -= to_read;
- }
- if (BZ2_bzread(s.mar_zfile, buf, elem->file_length) != elem->file_length)
- {
- zerr(s.mar_zfile);
- return -1;
- }
- if (write(fd, buf, elem->file_length) != elem->file_length)
- {
- log_perror(dest_file);
- return -1;
- }
- close(fd); /* do not check return value for code size */
- BZ2_bzclose(s.mar_zfile);
- return 0;
- }
- elem = elem->next_element;
- }
- BZ2_bzclose(s.mar_zfile);
- return 1; /* 1 for file_not_found_in_archive */
-}
-
-
diff --git a/mdk-stage1/mar/mar-extract-only.h b/mdk-stage1/mar/mar-extract-only.h
deleted file mode 100644
index 6fa34efe4..000000000
--- a/mdk-stage1/mar/mar-extract-only.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * Header for stage1 on-the-fly needs.
- */
-
-#ifndef MAR_EXTRACT_ONLY_H
-#define MAR_EXTRACT_ONLY_H
-
-int mar_extract_file(char *mar_filename, char *filename_to_extract, char *dest_dir);
-char ** mar_list_contents(char *mar_filename);
-
-#endif
diff --git a/mdk-stage1/mar/mar-frontend.c b/mdk-stage1/mar/mar-frontend.c
deleted file mode 100644
index f55ba6fe6..000000000
--- a/mdk-stage1/mar/mar-frontend.c
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through zlib).
- *
- */
-
-/*
- * This code includes the extracting and creating features.
- *
- */
-
-#include "mar.h"
-#include "mar-extract-only.h"
-
-
-int
-file_size(char *filename)
-{
- struct stat buf;
- if (stat(filename, &buf) != 0)
- {
- perror(filename);
- return -1;
- }
- return buf.st_size;
-}
-
-
-/* Yes I don't use the datastructure I directly write the final fileformat in memory then write down it.
- * Yes it's bad.
- */
-/* ``files'' is a NULL-terminated array of char* */
-
-char * fnf_tag = "FILE_NOT_FOUND&";
-
-int
-mar_create_file(char *dest_file, char **files)
-{
- int filenum = 0;
- int current_offset_filetable = 0;
- int current_delta_rawdata = 0;
- int filetable_size;
- char * temp_marfile_buffer;
- int total_length = 0;
-
- filetable_size = sizeof(char); /* ``char 0'' */
- while (files[filenum])
- {
- int fsiz = file_size(files[filenum]);
- if (fsiz == -1)
- files[filenum] = fnf_tag;
- else {
- filetable_size += 2*sizeof(int) /* file_length, data_offset */ + strlen(files[filenum]) + 1;
- total_length += fsiz;
- }
- filenum++;
- }
-
- total_length += filetable_size;
-
- temp_marfile_buffer = (char *) malloc(total_length); /* create the whole file in-memory (not with alloca! it can be bigger than typical limit for stack of programs (ulimit -s) */
- DEBUG_MAR(printf("D: mar::create_marfile total-length %d\n", total_length););
-
- filenum = 0;
- while (files[filenum])
- {
- if (strcmp(files[filenum], fnf_tag)) {
- FILE * f = fopen(files[filenum], "r");
- int fsize;
- if (!f)
- {
- perror(files[filenum]);
- return -1;
- }
-
- /* filename */
- strcpy(&(temp_marfile_buffer[current_offset_filetable]), files[filenum]);
- current_offset_filetable += strlen(files[filenum]) + 1;
-
- /* file_length */
- fsize = file_size(files[filenum]);
- if (fsize == -1) return -1;
- memcpy(&temp_marfile_buffer[current_offset_filetable], &fsize, sizeof(int));
- current_offset_filetable += sizeof(int);
-
- /* data_offset */
- memcpy(&temp_marfile_buffer[current_offset_filetable], &current_delta_rawdata, sizeof(int));
- current_offset_filetable += sizeof(int);
-
- /* data_raw_data */
- if (fread(&temp_marfile_buffer[current_delta_rawdata + filetable_size], 1, fsize, f) != (size_t)fsize)
- {
- perror(files[filenum]);
- return -1;
- }
- fclose(f);
-
- current_delta_rawdata += fsize;
- }
-
- filenum++;
- }
-
- /* write down ``char 0'' to terminate file table */
- memset(&temp_marfile_buffer[current_offset_filetable], 0, sizeof(char));
-
- /* ok, buffer is ready, let's write it on-disk */
- {
- BZFILE * f = BZ2_bzopen(dest_file, "w9");
- if (!f)
- {
- perror(dest_file);
- return -1;
- }
- if (BZ2_bzwrite(f, temp_marfile_buffer, total_length) != total_length)
- {
- fprintf(stderr, BZ2_bzerror(f, &z_errnum));
- return -1;
- }
- BZ2_bzclose(f);
- }
-
- printf("mar: created archive %s (%d files, length %d)\n", dest_file, filenum, total_length);
- return 0;
-}
-
-
-void
-print_usage(char *progname)
-{
- printf("Usage: %s [-lxc] [files..]\n", progname);
- exit(0);
-}
-
-int
-main(int argc, char **argv)
-{
- if (argc <= 2)
- print_usage(argv[0]);
-
- if (argc >= 3)
- {
- if (strcmp(argv[1], "-l") == 0)
- {
- char ** contents = mar_list_contents(argv[2]);
- if (contents)
- while (contents && *contents) {
- printf("\t%s\n", *contents);
- contents++;
- }
- exit(0);
- }
- if ((strcmp(argv[1], "-x") == 0) && argc == 4)
- {
- int res = mar_extract_file(argv[2], argv[3], "./");
- if (res == 1)
- fprintf(stderr, "W: file-not-found-in-archive %s\n", argv[3]);
- if (res == -1)
- exit(-1);
- exit(0);
- }
- if ((strcmp(argv[1], "-c") == 0) && argc >= 4)
- {
- char **files = (char **) alloca(((argc-3)+1) * sizeof(char *));
- int i = 3;
- while (i < argc)
- {
- files[i-3] = argv[i];
- i++;
- }
- files[argc-3] = NULL;
- {
- int results;
- results = mar_create_file(argv[2], files);
- if (results != 0)
- fprintf(stderr, "E: create-marfile-failed\n");
- exit(results);
- }
-
- }
- }
-
- return 0;
-}
diff --git a/mdk-stage1/mar/mar.h b/mdk-stage1/mar/mar.h
deleted file mode 100644
index 672d7ded8..000000000
--- a/mdk-stage1/mar/mar.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * mar - The Mandrake Archiver
- *
- * An archiver that supports compression (through bzlib).
- *
- * Designed to be small so these bad designs are inside:
- * . archive and compression are mixed together
- * . create the mar file in-memory
- * . does not free memory
- *
- */
-
-#ifndef MAR_H
-#define MAR_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <bzlib.h>
-
-/*
- * Format of a mar file:
- *
- * ASCIIZ filename \ |
- * int file_length | repeated | bzipped
- * int pointer_in_archive / |
- * char 0 |
- * raw_files_data /
- *
- */
-
-struct mar_element
-{
- char * filename; /* filename (ASCIIZ) of the element */
- int file_length; /* length (in bytes) of the raw data of the element */
- int data_offset; /* seek start of the raw data in the underlying mar stream */
- struct mar_element * next_element; /* pointer to the next element in the mar stream; NULL if last */
-};
-
-struct mar_stream
-{
- struct mar_element * first_element; /* pointer to the first element inside the mar stream */
- BZFILE * mar_zfile; /* associated zfile (opened) */
-};
-
-int z_errnum;
-
-#define DEBUG_MAR(x)
-
-#endif
diff --git a/mdk-stage1/minilibc.c b/mdk-stage1/minilibc.c
deleted file mode 100644
index d80810fd1..000000000
--- a/mdk-stage1/minilibc.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-#define MINILIBC_INTERNAL
-
-#include "minilibc.h"
-
-int atexit (void (*__func) (void) __attribute__ ((unused)))
-{
- return 0;
-}
-
-void exit()
-{
- _do_exit(0);
- for (;;); /* Shut up gcc */
-}
-
-
-char ** _environ = NULL;
-int errno = 0;
-
-void _init (int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_init_first (int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_csu_fini(int __status __attribute__ ((unused)))
-{
-}
-
-void __libc_csu_init(int __status __attribute__ ((unused)))
-{
-}
-
-
-int __libc_start_main (int (*main) (int, char **, char **), int argc,
- char **argv, void (*init) (void) __attribute__ ((unused)), void (*fini) (void) __attribute__ ((unused)),
- void (*rtld_fini) (void) __attribute__ ((unused)), void *stack_end __attribute__ ((unused)))
-{
- exit ((*main) (argc, argv, NULL));
- /* never get here */
- return 0;
-}
-
-void _fini (int __status __attribute__ ((unused)))
-{
-}
-
-#ifdef __x86_64__
-/* x86-64 implementation of signal() derived from glibc sources */
-
-static inline int sigemptyset(sigset_t *set) {
- *set = 0;
- return 0;
-}
-
-static inline int sigaddset(sigset_t *set, int sig) {
- __asm__("btsq %1,%0" : "=m" (*set) : "Ir" (sig - 1L) : "cc");
- return 0;
-}
-
-#define __NR___rt_sigaction __NR_rt_sigaction
-static inline _syscall3(int,__rt_sigaction,int,signum,const void *,act,void *,oldact)
-#define __NR___rt_sigreturn __NR_rt_sigreturn
-static _syscall1(int,__rt_sigreturn,unsigned long,unused)
-
-static void restore_rt(void) {
- __rt_sigreturn(0);
-}
-
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
- struct sigaction *newact = (struct sigaction *)act;
- if (act) {
- newact = __builtin_alloca(sizeof(*newact));
- newact->sa_handler = act->sa_handler;
- newact->sa_flags = act->sa_flags | SA_RESTORER;
- newact->sa_restorer = &restore_rt;
- newact->sa_mask = act->sa_mask;
- }
- return __rt_sigaction(signum, newact, oldact);
-}
-
-__sighandler_t signal(int signum, __sighandler_t action) {
- struct sigaction sa,oa;
- sa.sa_handler=action;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask,signum);
- sa.sa_flags=SA_RESTART;
- if (sigaction(signum,&sa,&oa))
- return SIG_ERR;
- return oa.sa_handler;
-}
-
-#endif
-
-#ifdef __NR_socketcall
-
-int socket(int a, int b, int c)
-{
- unsigned long args[] = { a, b, c };
-
- return socketcall(SYS_SOCKET, args);
-}
-
-int bind(int a, void * b, int c)
-{
- unsigned long args[] = { a, (long) b, c };
-
- return socketcall(SYS_BIND, args);
-}
-
-int listen(int a, int b)
-{
- unsigned long args[] = { a, b, 0 };
-
- return socketcall(SYS_LISTEN, args);
-}
-
-int accept(int a, void * addr, void * addr2)
-{
- unsigned long args[] = { a, (long) addr, (long) addr2 };
-
- return socketcall(SYS_ACCEPT, args);
-}
-
-#else
-
-_syscall3(int,socket,int,domain,int,type,int,protocol)
-_syscall3(int,bind,int,sockfd,void *,my_addr,int,addrlen)
-_syscall2(int,listen,int,s,int,backlog)
-_syscall3(int,accept,int,s,void *,addr,void *,addrlen)
-
-#endif
-
-
-void sleep(int secs)
-{
- struct timeval tv;
-
- tv.tv_sec = secs;
- tv.tv_usec = 0;
-
- select(0, NULL, NULL, NULL, &tv);
-}
-
-
-int strlen(const char * string)
-{
- int i = 0;
-
- while (*string++) i++;
-
- return i;
-}
-
-char * strncpy(char * dst, const char * src, int len)
-{
- char * chptr = dst;
- int i = 0;
-
- while (*src && i < len) *dst++ = *src++, i++;
- if (i < len) *dst = '\0';
-
- return chptr;
-}
-
-char * strcpy(char * dst, const char * src)
-{
- char * chptr = dst;
-
- while (*src) *dst++ = *src++;
- *dst = '\0';
-
- return chptr;
-}
-
-void * memcpy(void * dst, const void * src, size_t count)
-{
- char * a = dst;
- const char * b = src;
-
- while (count--)
- *a++ = *b++;
-
- return dst;
-}
-
-
-int strcmp(const char * a, const char * b)
-{
- int i, j;
-
- i = strlen(a); j = strlen(b);
- if (i < j)
- return -1;
- else if (j < i)
- return 1;
-
- while (*a && (*a == *b)) a++, b++;
-
- if (!*a) return 0;
-
- if (*a < *b)
- return -1;
- else
- return 1;
-}
-
-int strncmp(const char * a, const char * b, int len)
-{
- char buf1[1000], buf2[1000];
-
- strncpy(buf1, a, len);
- strncpy(buf2, b, len);
- buf1[len] = '\0';
- buf2[len] = '\0';
-
- return strcmp(buf1, buf2);
-}
-
-char * strchr(char * str, int ch)
-{
- char * chptr;
-
- chptr = str;
- while (*chptr)
- {
- if (*chptr == ch) return chptr;
- chptr++;
- }
-
- return NULL;
-}
-
-
-char * strstr(char *haystack, char *needle)
-{
- char * tmp = haystack;
- while ((tmp = strchr(tmp, needle[0])) != NULL) {
- int i = 1;
- while (i < strlen(tmp) && i < strlen(needle) && tmp[i] == needle[i])
- i++;
- if (needle[i] == '\0')
- return tmp;
- tmp++;
- }
- return NULL;
-}
-
-
-/* Minimum printf which handles only characters, %d's and %s's */
-void printf(char * fmt, ...)
-{
- char buf[2048];
- char * start = buf;
- char * chptr = buf;
- va_list args;
- char * strarg;
- int numarg;
-
- strncpy(buf, fmt, sizeof(buf));
- va_start(args, fmt);
-
- while (start)
- {
- while (*chptr != '%' && *chptr) chptr++;
-
- if (*chptr == '%')
- {
- *chptr++ = '\0';
- print_str_init(1, start);
-
- switch (*chptr++)
- {
- case 's':
- strarg = va_arg(args, char *);
- print_str_init(1, strarg);
- break;
-
- case 'd':
- numarg = va_arg(args, int);
- print_int_init(1, numarg);
- break;
- }
-
- start = chptr;
- }
- else
- {
- print_str_init(1, start);
- start = NULL;
- }
- }
-}
diff --git a/mdk-stage1/minilibc.h b/mdk-stage1/minilibc.h
deleted file mode 100644
index 741298ee2..000000000
--- a/mdk-stage1/minilibc.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/*
- * Portions from Erik Troan (ewt@redhat.com)
- *
- * Copyright 1996 Red Hat Software
- *
- */
-
-
-#include <stdarg.h>
-
-#define _LOOSE_KERNEL_NAMES 1
-
-#define NULL ((void *) 0)
-
-#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
-#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
-#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
-#define WTERMSIG(status) ((status) & 0x7f)
-#define WSTOPSIG(status) WEXITSTATUS(status)
-#define WIFEXITED(status) (WTERMSIG(status) == 0)
-
-#define MS_MGC_VAL 0xc0ed0000
-
-#define isspace(a) (a == ' ' || a == '\t')
-
-extern char ** _environ;
-
-extern int errno;
-
-/* Aieee, gcc 2.95+ creates a stub for posix_types.h on i386 which brings
- glibc headers in and thus makes __FD_SET etc. not defined with 2.3+ kernels. */
-#define _FEATURES_H 1
-#include <linux/posix_types.h>
-#include <linux/socket.h>
-#include <linux/types.h>
-#include <linux/time.h>
-#include <linux/if.h>
-#include <linux/un.h>
-#include <linux/loop.h>
-#include <linux/net.h>
-#include <asm/termios.h>
-#include <asm/ioctls.h>
-#include <asm/unistd.h>
-#include <asm/fcntl.h>
-#include <asm/signal.h>
-
-#ifndef __NR__newselect
-#define __NR__newselect __NR_select
-#endif
-
-#ifndef MINILIBC_INTERNAL
-static inline _syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
-static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-static inline _syscall4(int,wait4,pid_t,pid,int *,status,int,opts,void *,rusage)
-static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
-static inline _syscall3(int,reboot,int,magic,int,magic_too,int,flag)
-static inline _syscall3(int,execve,const char *,fn,void *,argv,void *,envp)
-static inline _syscall3(int,read,int,fd,const char *,buf,unsigned long,count)
-static inline _syscall3(int,open,const char *,fn,int,flags,mode_t,mode)
-static inline _syscall3(int,ioctl,int,fd,int,request,void *,argp)
-static inline _syscall2(int,dup2,int,one,int,two)
-static inline _syscall2(int,kill,pid_t,pid,int,sig)
-static inline _syscall2(int,symlink,const char *,a,const char *,b)
-static inline _syscall2(int,chmod,const char * ,path,mode_t,mode)
-static inline _syscall2(int,sethostname,const char *,name,int,len)
-static inline _syscall2(int,setdomainname,const char *,name,int,len)
-static inline _syscall2(int,setpgid,int,name,int,len)
-#ifdef __x86_64__
-extern __sighandler_t signal(int signum, __sighandler_t handler);
-#else
-static inline _syscall2(int,signal,int,num,void *,len)
-#endif
-#ifdef __NR_umount
-static inline _syscall1(int,umount,const char *,dir)
-#else
-static inline _syscall2(int,umount2,const char *,dir,int,flags)
-static inline int umount(const char * dir) { return umount2(dir, 0); }
-#endif
-static inline _syscall1(int,unlink,const char *,fn)
-static inline _syscall1(int,close,int,fd)
-static inline _syscall1(int,swapoff,const char *,fn)
-static inline _syscall0(int,getpid)
-static inline _syscall0(int,sync)
-#ifdef __sparc__
-/* Nonstandard fork calling convention :( */
-static inline int fork(void) {
- int __res;
- __asm__ __volatile__ (
- "mov %0, %%g1\n\t"
- "t 0x10\n\t"
- "bcc 1f\n\t"
- "dec %%o1\n\t"
- "sethi %%hi(%2), %%g1\n\t"
- "st %%o0, [%%g1 + %%lo(%2)]\n\t"
- "b 2f\n\t"
- "mov -1, %0\n\t"
- "1:\n\t"
- "and %%o0, %%o1, %0\n\t"
- "2:\n\t"
- : "=r" (__res)
- : "0" (__NR_fork), "i" (&errno)
- : "g1", "o0", "cc");
- return __res;
-}
-#else
-static inline _syscall0(int,fork)
-#endif
-static inline _syscall0(pid_t,setsid)
-static inline _syscall3(int,syslog,int, type, char *, buf, int, len);
-#else
-static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
-#ifdef __NR_socketcall
-static inline _syscall2(int,socketcall,int,code,unsigned long *, args)
-#endif
-#define __NR__do_exit __NR_exit
-static inline _syscall1(int,_do_exit,int,exitcode)
-#endif
-
-#define select _newselect
-
-extern int errno;
-
-int socket(int a, int b, int c);
-int bind(int a, void * b, int c);
-int listen(int a, int b);
-int accept(int a, void * addr, void * addr2);
-
-void sleep(int secs);
-
-int strlen(const char * string);
-char * strcpy(char * dst, const char * src);
-void * memcpy(void * dst, const void * src, size_t count);
-int strcmp(const char * a, const char * b);
-int strncmp(const char * a, const char * b, int len);
-char * strchr(char * str, int ch);
-char * strstr(char *haystack, char *needle);
-char * strncpy(char * dst, const char * src, int len);
-
-void print_str_init(int fd, char * string);
-void print_int_init(int fd, int i);
-/* Minimum printf which handles only characters, %d's and %s's */
-void printf(char * fmt, ...) __attribute__ ((format (printf, 1, 2)));
-
diff --git a/mdk-stage1/mkinitrd_helper/Makefile b/mdk-stage1/mkinitrd_helper/Makefile
deleted file mode 100644
index 1fa6a345a..000000000
--- a/mdk-stage1/mkinitrd_helper/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-VERSION = 1.1.1
-
-DEFS = -DVERSION=\"$(VERSION)\"
-
-
-MKINITRD_HELPER_SRC = mkinitrd_helper.c
-MKINITRD_HELPER_LIBS = ../insmod-busybox/libinsmod-DIET.a
-
-MKINITRD_HELPER_OBJS = $(subst .c,.o,$(MKINITRD_HELPER_SRC))
-
-BIN = mkinitrd_helper
-
-all: $(BIN)
-
-clean:
- rm -f *.o $(BIN)
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -c
-
-
-$(MKINITRD_HELPER_OBJS): %.o: %.c
- $(CC) $(DEFS) $(DIETLIBC_INCLUDES) -I.. -c $< -o $@
-
-mkinitrd_helper: $(MKINITRD_HELPER_OBJS) $(MKINITRD_HELPER_LIBS) $(DIETLIBC_LIBC)
- $(CC) $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
diff --git a/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c b/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c
deleted file mode 100644
index 67be7c340..000000000
--- a/mdk-stage1/mkinitrd_helper/mkinitrd_helper.c
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2001 MandrakeSoft
- *
- * This software is covered by the GPL license.
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- * This little program replaces usual sash and insmod.static based script
- * from mkinitrd (that insmod modules, plus possibly mount a partition and
- * losetup a loopback-based / on the partition).
- *
- *
- * On my machine:
- * gzipped sash + insmod.static 502491 bytes
- * gzipped <this-program> 14243 bytes
- *
- * There will be room for linux-2.4 and many modules, now. Cool.
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/mount.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <signal.h>
-
-#include "insmod.h"
-
-int quiet = 0;
-
-void vlog_message(const char * s, va_list args)
-{
- vprintf(s, args);
- printf("\n");
-}
-
-void log_perror(char *msg)
-{
- perror(msg);
-}
-
-
-static void fatal_error(char *msg)
-{
- printf("[] E: %s\n[] giving hand to kernel.\n", msg);
- exit(-1);
-}
-
-static void warning(char *msg)
-{
- printf("[] W: %s\n", msg);
-}
-
-static void parse_parms(const char * parm, char ** parm1, char ** parm2, char ** parm3)
-{
- char * ptr;
-
- ptr = strchr(parm, '\n');
- if (!ptr)
- fatal_error("bad config file: no newline after parms");
-
- *parm1 = malloc(ptr-parm+1); /* yup, never freed :-) */
- memcpy(*parm1, parm, ptr-parm);
- (*parm1)[ptr-parm] = '\0';
-
- if (!parm2)
- return;
-
- *parm2 = strchr(*parm1, ' ');
- if (!*parm2)
- return;
- **parm2 = '\0';
- (*parm2)++;
-
- if (!parm3)
- return;
-
- *parm3 = strchr(*parm2, ' ');
- if (!*parm3)
- return;
- **parm3 = '\0';
- (*parm3)++;
-}
-
-
-static void insmod_(const char * parm)
-{
- char * mod_name, * options;
-
- parse_parms(parm, &mod_name, &options, NULL);
-
-#ifdef DEBUG
- printf("insmod %s options %s\n", mod_name, options);
-#endif
- if (!quiet)
- printf("[] Loading module %s\n", mod_name);
-
- if (insmod_call(mod_name, options))
- perror("insmod failed");
-}
-
-
-static void mount_(const char * parm)
-{
- char * dev, * location, * fs;
- unsigned long flags;
- char * opts = NULL;
-
- parse_parms(parm, &dev, &location, &fs);
-
-#ifdef DEBUG
- printf("mounting %s on %s as type %s\n", dev, location, fs);
-#endif
- if (!quiet)
- printf("[] Mounting device containing loopback root filesystem\n");
-
- flags = MS_MGC_VAL;
-
- if (!strcmp(fs, "vfat"))
- opts = "check=relaxed";
-
- if (mount(dev, location, fs, flags, opts))
- perror("mount failed");
-}
-
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-struct loop_info
-{
- int lo_number; /* ioctl r/o */
- dev_t lo_device; /* ioctl r/o */
- unsigned long lo_inode; /* ioctl r/o */
- dev_t lo_rdevice; /* ioctl r/o */
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size; /* ioctl w/o */
- int lo_flags; /* ioctl r/o */
- char lo_name[LO_NAME_SIZE];
- unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- unsigned long lo_init[2];
- char reserved[4];
-};
-
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-
-static void set_loop_(const char * parm)
-{
- struct loop_info loopinfo;
- int fd, ffd;
- char * device, * file;
-
- parse_parms(parm, &device, &file, NULL);
-
-#ifdef DEBUG
- printf("set_looping %s with %s\n", device, file);
-#endif
- if (!quiet)
- printf("[] Setting up loopback file %s\n", file);
-
- if ((ffd = open(file, O_RDWR)) < 0) {
- perror("set_loop, opening file in rw");
- exit(-1);
- }
-
- if ((fd = open(device, O_RDWR)) < 0) {
- perror("set_loop, opening loop device in rw");
- close(ffd);
- exit(-1);
- }
-
- memset(&loopinfo, 0, sizeof (loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
- loopinfo.lo_offset = 0;
-
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- close(fd);
- close(ffd);
- perror("LOOP_SET_FD");
- exit(-1);
- }
-
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- (void) ioctl (fd, LOOP_CLR_FD, 0);
- close(fd);
- close(ffd);
- perror("LOOP_SET_STATUS");
- exit(-1);
- }
-
- close(fd);
- close(ffd);
-}
-
-
-#define MD_MAJOR 9
-#define RAID_AUTORUN _IO (MD_MAJOR, 0x14)
-#include <linux/raid/md_u.h>
-
-static void raidautorun_(const char * parm)
-{
- char * device;
- int fd;
-
- parse_parms(parm, &device, NULL, NULL);
-
- if (!quiet)
- printf("[] Calling raid autorun for %s\n", device);
-
- fd = open(device, O_RDWR, 0);
- if (fd < 0) {
- printf("raidautorun: failed to open %s: %d\n", device, errno);
- return;
- }
-
- if (ioctl(fd, RAID_AUTORUN, 0)) {
- printf("raidautorun: RAID_AUTORUN failed: %d\n", errno);
- }
-
- close(fd);
-}
-
-static int handle_command(char ** ptr, char * cmd_name, void (*cmd_func)(const char * parm))
-{
- if (!strncmp(*ptr, cmd_name, strlen(cmd_name))) {
- *ptr = strchr(*ptr, '\n');
- if (!*ptr)
- fatal_error("Bad config file: no newline after command");
- (*ptr)++;
- cmd_func(*ptr);
- *ptr = strchr(*ptr, '\n');
- if (!*ptr)
- exit(0);
- (*ptr)++;
- return 1;
- }
- return 0;
-}
-
-
-int main(int argc, char **argv)
-{
- int fd_conf, i;
- char buf[5000];
- char * ptr;
-
- if (strstr(argv[0], "modprobe"))
- exit(0);
-
- if (mount("/proc", "/loopfs", "proc", 0, NULL))
- printf("[] couldn't mount proc filesystem\n");
- else {
- int fd_cmdline = open("/loopfs/cmdline", O_RDONLY);
- if (fd_cmdline > 0) {
- i = read(fd_cmdline, buf, sizeof(buf));
- if (i == -1)
- warning("could not read cmdline");
- else {
- buf[i] = '\0';
- if (strstr(buf, "quiet"))
- quiet = 1;
- }
- close(fd_cmdline);
- }
- umount("/loopfs");
- }
-
- if (!quiet)
- printf("[] initrd_helper v" VERSION "\n");
-
- if ((fd_conf = open("/mkinitrd_helper.conf", O_RDONLY)) < 0)
- fatal_error("could not open mkinitrd_helper config file");
-
- i = read(fd_conf, buf, sizeof(buf));
- if (i == -1)
- fatal_error("could not read mkinitrd_helper config file");
- buf[i] = '\0';
- close(fd_conf);
-
- ptr = buf;
-
- while (*ptr)
- if (!(handle_command(&ptr, "insmod", insmod_) +
- handle_command(&ptr, "mount", mount_) +
- handle_command(&ptr, "raidautorun", raidautorun_) +
- handle_command(&ptr, "set_loop", set_loop_)))
- warning("unkown command (trying to continue)");
-
- return 0;
-}
diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c
index 210579c62..76177302e 100644
--- a/mdk-stage1/modules.c
+++ b/mdk-stage1/modules.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -18,108 +18,130 @@
* (3) insmod them
*/
+#include "stage1.h"
+
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mount.h>
#include <fcntl.h>
+#include <libgen.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
-#include "insmod.h"
-#include "stage1.h"
+#include <errno.h>
+#include <time.h>
+#include <sys/utsname.h>
+#include <libkmod.h>
#include "log.h"
-#include "mar/mar-extract-only.h"
+#include "utils.h"
#include "frontend.h"
#include "mount.h"
-#include "modules_descr.h"
+#include "zlibsupport.h"
#include "modules.h"
-static struct module_deps_elem * modules_deps = NULL;
-
-static char * archive_name = "/modules/modules.mar";
-int disable_modules = 0;
+static char modules_directory[100];
+static struct module_descr_elem * modules_descr = NULL;
+extern long init_module(void *, unsigned long, const char *);
-/* unarchive and insmod given module
- * WARNING: module must not contain the trailing ".o"
- */
-static enum insmod_return insmod_archived_file(const char * mod_name, char * options)
+static const char *moderror(int err)
{
- char module_name[50];
- char final_name[50] = "/tmp/";
- int i, rc;
-
- strncpy(module_name, mod_name, sizeof(module_name));
- strcat(module_name, ".o");
- i = mar_extract_file(archive_name, module_name, "/tmp/");
- if (i == 1) {
- log_message("file-not-found-in-archive %s (maybe you can try another boot floppy such as 'hdcdrom_usb.img' or 'network_gigabit_usb.img')", module_name);
- return INSMOD_FAILED_FILE_NOT_FOUND;
+ switch (err) {
+ case ENOEXEC:
+ return "Invalid module format";
+ case ENOENT:
+ return "Unknown symbol in module";
+ case ESRCH:
+ return "Module has wrong symbol version";
+ case EINVAL:
+ return "Invalid parameters";
+ default:
+ return strerror(err);
}
- if (i != 0)
- return INSMOD_FAILED;
+}
- strcat(final_name, mod_name);
- strcat(final_name, ".o");
+int insmod_local_file(char * path, char * options)
+{
+ void *file;
+ unsigned long len;
+ int rc;
+
+ if (IS_TESTING)
+ return 0;
- rc = insmod_call(final_name, options);
- unlink(final_name); /* sucking no space left on device */
- if (rc) {
- log_message("\tfailed");
- return INSMOD_FAILED;
+ file = grab_file(path, &len);
+
+ if (!file) {
+ log_perror(asprintf_("\terror reading %s", path));
+ return -1;
}
- return INSMOD_OK;
+
+ rc = init_module(file, len, options ? options : "");
+ if (rc)
+ log_message("\terror: %s", moderror(errno));
+ return rc;
}
-
-
-static int load_modules_dependencies(void)
+static char *kernel_module_extension(void)
{
- char * deps_file = "/modules/modules.dep";
- char * buf, * ptr, * start, * end;
- struct stat s;
- int fd, line, i;
+ return ".ko.xz";
+}
- log_message("loading modules dependencies");
- if (IS_TESTING)
- return 0;
+static char *filename2modname(char * filename) {
+ char *modname, *p;
- fd = open(deps_file, O_RDONLY);
- if (fd == -1) {
- log_perror(deps_file);
- return -1;
+ modname = strdup(basename(filename));
+ if (strstr(modname, kernel_module_extension())) {
+ modname[strlen(modname)-strlen(kernel_module_extension())] = '\0'; /* remove trailing .ko.gz */
}
-
- fstat(fd, &s);
- buf = alloca(s.st_size + 1);
- if (read(fd, buf, s.st_size) != (ssize_t)s.st_size) {
- log_perror(deps_file);
- return -1;
+
+ p = modname;
+ while (p && *p) {
+ if (*p == '-')
+ *p = '_';
+ p++;
}
- buf[s.st_size] = '\0';
- close(fd);
- ptr = buf;
- line = 0;
- while (ptr) {
- line++;
- ptr = strchr(ptr + 1, '\n');
+ return modname;
+}
+
+static void find_modules_directory(void)
+{
+ struct utsname kernel_uname;
+ char * prefix = "/lib/modules";
+ char * release;
+ if (uname(&kernel_uname)) {
+ fatal_error("uname failed");
}
+ release = kernel_uname.release;
+ sprintf(modules_directory , "%s/%s", prefix, release);
+}
+
+static int load_modules_descriptions(void)
+{
+ char * descr_file = asprintf_("%s/%s", modules_directory, "modules.description");
+ char * buf, * ptr, * start, * end;
+ struct stat s;
+ int line;
- modules_deps = malloc(sizeof(*modules_deps) * (line+1));
+ log_message("loading modules descriptions");
+
+ buf = cat_file(descr_file, &s);
+ if (!buf)
+ return -1;
+ line = line_counts(buf);
+ modules_descr = malloc(sizeof(*modules_descr) * (line+1));
start = buf;
line = 0;
while (start < (buf+s.st_size) && *start) {
- char * tmp_deps[50];
-
end = strchr(start, '\n');
*end = '\0';
- ptr = strchr(start, ':');
+ ptr = strchr(start, '\t');
if (!ptr) {
start = end + 1;
continue;
@@ -127,46 +149,24 @@ static int load_modules_dependencies(void)
*ptr = '\0';
ptr++;
- while (*ptr && (*ptr == ' ')) ptr++;
- if (!*ptr) {
- start = end + 1;
- continue;
- }
-
- /* sort of a good line */
- modules_deps[line].name = strdup(start);
-
- start = ptr;
- i = 0;
- while (start && *start) {
- ptr = strchr(start, ' ');
- if (ptr) *ptr = '\0';
- tmp_deps[i++] = strdup(start);
- if (ptr)
- start = ptr + 1;
- else
- start = NULL;
- while (start && *start && *start == ' ')
- start++;
- }
- tmp_deps[i++] = NULL;
-
- modules_deps[line].deps = memdup(tmp_deps, sizeof(char *) * i);
+ modules_descr[line].modname = filename2modname(start);
+ modules_descr[line].description = strndup(ptr, 50);
line++;
start = end + 1;
}
- modules_deps[line].name = NULL;
+ modules_descr[line].modname = NULL;
+
+ free(buf);
return 0;
}
-
void init_modules_insmoding(void)
{
- if (load_modules_dependencies()) {
- log_message("warning, error initing modules stuff, modules loading disabled");
- disable_modules = 1;
+ find_modules_directory();
+ if (load_modules_descriptions()) {
+ log_message("warning, error initing modules stuff");
}
}
@@ -174,7 +174,7 @@ void init_modules_insmoding(void)
static void add_modules_conf(char * str)
{
static char data[5000] = "";
- char * target = "/etc/modules.conf";
+ char * target = "/tmp/modules.conf";
int fd;
if (strlen(data) + strlen(str) >= sizeof(data))
@@ -200,7 +200,10 @@ static void add_modules_conf(char * str)
int module_already_present(const char * name)
{
FILE * f;
+ struct stat sb;
+ char *path;
int answ = 0;
+
if ((f = fopen("/proc/modules", "rb"))) {
while (1) {
char buf[500];
@@ -210,40 +213,109 @@ int module_already_present(const char * name)
}
fclose(f);
}
+
+ /* built-in module case. try to find them through sysfs */
+ if (!answ) {
+ asprintf(&path, "/sys/module/%s", name);
+ if (!stat(path, &sb))
+ answ = 1;
+ free(path);
+ }
+ if (!answ) {
+ asprintf(&path, "/sys/fs/%s", name);
+ if (!stat(path, &sb))
+ answ = 1;
+ free(path);
+ }
return answ;
}
-static enum insmod_return insmod_with_deps(const char * mod_name, char * options)
-{
- struct module_deps_elem * dep;
-
- dep = modules_deps;
- while (dep && dep->name && strcmp(dep->name, mod_name)) dep++;
-
- if (dep && dep->name && dep->deps) {
- char ** one_dep;
- one_dep = dep->deps;
- while (*one_dep) {
- /* here, we can fail but we don't care, if the error is
- * important, the desired module will fail also */
- insmod_with_deps(*one_dep, NULL);
- one_dep++;
+#ifndef ENABLE_NETWORK_STANDALONE
+static enum insmod_return insmod_with_deps(const char * alias, char * options) {
+ struct kmod_ctx *ctx;
+ struct kmod_list *l, *list = NULL;
+ int err = 0, flags = 0;
+
+ if (!*modules_directory)
+ find_modules_directory();
+
+ ctx = kmod_new(modules_directory, NULL);
+ if (!ctx) {
+ fputs("Error: kmod_new() failed!\n", stderr);
+ goto exit;
+ }
+ kmod_load_resources(ctx);
+
+ err = kmod_module_new_from_lookup(ctx, alias, &list);
+ if (err < 0)
+ goto exit;
+
+ // No module found...
+ if (list == NULL)
+ goto exit;
+
+ // filter through blacklist
+ struct kmod_list *filtered = NULL;
+ err = kmod_module_apply_filter(ctx, KMOD_FILTER_BLACKLIST, list, &filtered);
+ kmod_module_unref_list(list);
+ if (err < 0)
+ goto exit;
+ list = filtered;
+
+ kmod_list_foreach(l, list) {
+ struct kmod_module *mod = kmod_module_get_module(l);
+ err = kmod_module_probe_insert_module(mod, flags,
+ options, NULL, NULL, NULL);
+
+ if (err >= 0)
+ /* ignore flag return values such as a mod being blacklisted */
+ err = 0;
+ else {
+ switch (err) {
+ case -EEXIST:
+ fprintf(stderr, "could not insert '%s': Module already in kernel\n",
+ kmod_module_get_name(mod));
+ break;
+ case -ENOENT:
+ fprintf(stderr, "could not insert '%s': Unknown symbol in module, "
+ "or unknown parameter (see dmesg)\n",
+ kmod_module_get_name(mod));
+ break;
+ default:
+ fprintf(stderr, "could not insert '%s': %s\n",
+ kmod_module_get_name(mod),
+ strerror(-err));
+ break;
+ }
}
+
+ kmod_module_unref(mod);
+ if (err < 0)
+ break;
}
- if (module_already_present(mod_name))
- return INSMOD_OK;
+ kmod_module_unref_list(list);
- log_message("needs %s", mod_name);
- return insmod_archived_file(mod_name, options);
+exit:
+ kmod_unref(ctx);
+
+ switch (err){
+ case 0:
+ return INSMOD_OK;
+ case -ENOENT:
+ return INSMOD_FAILED_FILE_NOT_FOUND;
+ default:
+ return INSMOD_FAILED;
+ }
}
+#endif
#ifndef DISABLE_NETWORK
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options)
+enum insmod_return my_modprobe(const char * mod_name, enum driver_type type, char * options)
#else
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type __attribute__ ((unused)), char * options)
+enum insmod_return my_modprobe(const char * mod_name, enum driver_type type __attribute__ ((unused)), char * options)
#endif
{
int i;
@@ -251,22 +323,26 @@ enum insmod_return my_insmod(const char * mod_name, enum driver_type type __attr
char ** net_devices = NULL; /* fucking compiler */
#endif
- log_message("have to insmod %s", mod_name);
-
- if (disable_modules) {
- log_message("\tdisabled");
+ if (module_already_present(mod_name))
return INSMOD_OK;
- }
+
+ log_message("have to insmod %s", mod_name);
#ifndef DISABLE_NETWORK
if (type == NETWORK_DEVICES)
net_devices = get_net_devices();
#endif
- if (IS_TESTING)
- return INSMOD_OK;
-
+#ifdef ENABLE_NETWORK_STANDALONE
+ {
+ char *cmd = options ? asprintf_("/sbin/modprobe %s %s", mod_name, options) :
+ asprintf_("/sbin/modprobe %s", mod_name);
+ log_message("running %s", cmd);
+ i = system(cmd);
+ }
+#else
i = insmod_with_deps(mod_name, options);
+#endif
if (i == 0) {
log_message("\tsucceeded %s", mod_name);
#ifndef DISABLE_NETWORK
@@ -283,7 +359,6 @@ enum insmod_return my_insmod(const char * mod_name, enum driver_type type __attr
sprintf(alias, "alias %s %s", *new_net_devices, mod_name);
add_modules_conf(alias);
log_message("NET: %s", alias);
- net_discovered_interface(*new_net_devices);
already_present:
new_net_devices++;
@@ -310,9 +385,9 @@ static enum return_type insmod_with_options(char * mod, enum driver_type type)
strcat(options, mod);
strcat(options, " ");
- strcat(options, answers[0]); // because my_insmod will eventually modify the string
+ strcat(options, answers[0]); // because my_modprobe will eventually modify the string
- if (my_insmod(mod, type, answers[0]) != INSMOD_OK) {
+ if (my_modprobe(mod, type, answers[0]) != INSMOD_OK) {
stg1_error_message("Insmod failed.");
return RETURN_ERROR;
}
@@ -322,117 +397,65 @@ static enum return_type insmod_with_options(char * mod, enum driver_type type)
return RETURN_OK;
}
+static int strsortfunc(const void *a, const void *b)
+{
+ return strcmp(* (char * const *) a, * (char * const *) b);
+}
+
enum return_type ask_insmod(enum driver_type type)
{
- char * mytype;
- char msg[200];
enum return_type results;
char * choice;
+ char ** dlist = list_directory(modules_directory);
+ char ** modules = alloca(sizeof(char *) * (string_array_length(dlist) + 1));
+ char ** descrs = alloca(sizeof(char *) * (string_array_length(dlist) + 1));
+ char ** p_dlist = dlist;
+ char ** p_modules = modules;
+ char ** p_descrs = descrs;
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
-
- if (type == SCSI_ADAPTERS)
- mytype = "SCSI";
- else if (type == NETWORK_DEVICES)
- mytype = "NET";
- else
- return RETURN_ERROR;
+ qsort(dlist, string_array_length(dlist), sizeof(char *), strsortfunc);
- if (disable_modules)
- return RETURN_BACK;
+ unset_automatic(); /* we are in a fallback mode */
- snprintf(msg, sizeof(msg), "Which driver should I try to gain %s access?", mytype);
-
- {
- char ** drivers = mar_list_contents(archive_name);
- char ** descrs = malloc(sizeof(char *) * string_array_length(drivers));
- char ** p_drivers = drivers;
- char ** p_descrs = descrs;
- while (p_drivers && *p_drivers) {
- int i;
- *p_descrs = NULL;
- for (i = 0 ; i < modules_descriptions_num ; i++) {
- if (!strncmp(*p_drivers, modules_descriptions[i].module, strlen(modules_descriptions[i].module))
- && (*p_drivers)[strlen(modules_descriptions[i].module)] == '.') /* one contains '.o' not the other */
- *p_descrs = modules_descriptions[i].descr;
- }
- p_drivers++;
- p_descrs++;
+ while (p_dlist && *p_dlist) {
+ struct module_descr_elem * descr;
+ if (!strstr(*p_dlist, kernel_module_extension())) {
+ p_dlist++;
+ continue;
}
- results = ask_from_list_comments(msg, drivers, descrs, &choice);
+ *p_modules = *p_dlist;
+ *p_descrs = NULL;
+ (*p_modules)[strlen(*p_modules)-strlen(kernel_module_extension())] = '\0'; /* remove trailing .ko.gz */
+
+ descr = modules_descr;
+ while (descr && descr->modname && strcmp(descr->modname, *p_modules)) descr++;
+ if (descr)
+ *p_descrs = descr->description;
+
+ p_dlist++;
+ p_modules++;
+ p_descrs++;
}
-
- if (results == RETURN_OK) {
- choice[strlen(choice)-2] = '\0'; /* remove trailing .o */
- return insmod_with_options(choice, type);
- } else
- return results;
-}
-
-
-void update_modules(void)
-{
- FILE * f;
- char ** disk_contents;
- char final_name[500];
- char floppy_mount_location[] = "/tmp/floppy";
-
- stg1_info_message("Please insert the Update Modules floppy.");;
-
- my_insmod("floppy", ANY_DRIVER_TYPE, NULL);
-
- if (my_mount("/dev/fd0", floppy_mount_location, "ext2", 0) == -1) {
- enum return_type results = ask_yes_no("I can't find a Linux ext2 floppy in first floppy drive.\n"
- "Retry?");
+ *p_modules = NULL;
+ *p_descrs = NULL;
+
+ if (modules && *modules) {
+ char * mytype;
+ char msg[200];
+ if (type == MEDIA_ADAPTERS)
+ mytype = "MEDIA";
+ else if (type == NETWORK_DEVICES)
+ mytype = "NET";
+ else
+ return RETURN_ERROR;
+
+ snprintf(msg, sizeof(msg), "Which driver should I try to gain %s access?", mytype);
+ results = ask_from_list_comments(msg, modules, descrs, &choice);
if (results == RETURN_OK)
- return update_modules();
- return;
- }
-
- disk_contents = list_directory(floppy_mount_location);
-
- if (!(f = fopen("/tmp/floppy/to_load", "rb"))) {
- stg1_error_message("I can't find \"to_load\" file.");
- umount(floppy_mount_location);
- return update_modules();
- }
- while (1) {
- char module[500];
- char * options;
- char ** entry = disk_contents;
-
- if (!fgets(module, sizeof(module), f)) break;
- if (module[0] == '#' || strlen(module) == 0)
- continue;
-
- while (module[strlen(module)-1] == '\n')
- module[strlen(module)-1] = '\0';
- options = strchr(module, ' ');
- if (options) {
- options[0] = '\0';
- options++;
- }
-
- log_message("updatemodules: (%s) (%s)", module, options);
- while (entry && *entry) {
- if (!strncmp(*entry, module, strlen(module)) && (*entry)[strlen(module)] == '.') {
- sprintf(final_name, "%s/%s", floppy_mount_location, *entry);
- if (insmod_call(final_name, options)) {
- log_message("\t%s (floppy): failed", *entry);
- stg1_error_message("Insmod %s (floppy) failed.", *entry);
- }
- break;
- }
- entry++;
- }
- if (!entry || !*entry) {
- enum insmod_return ret = my_insmod(module, ANY_DRIVER_TYPE, options);
- if (ret != INSMOD_OK) {
- log_message("\t%s (marfile): failed", module);
- stg1_error_message("Insmod %s (marfile) failed.", module);
- }
- }
+ return insmod_with_options(choice, type);
+ else
+ return results;
+ } else {
+ return RETURN_BACK;
}
- fclose(f);
- umount(floppy_mount_location);
}
diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h
index 5e14764d7..1a6d8753f 100644
--- a/mdk-stage1/modules.h
+++ b/mdk-stage1/modules.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -21,14 +21,15 @@
enum insmod_return { INSMOD_OK, INSMOD_FAILED, INSMOD_FAILED_FILE_NOT_FOUND };
void init_modules_insmoding(void);
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options);
+void init_firmware_loader(void);
+int insmod_local_file(char * path, char * options);
+enum insmod_return my_modprobe(const char * mod_name, enum driver_type type, char * options);
enum return_type ask_insmod(enum driver_type);
-void update_modules(void);
int module_already_present(const char * name);
-struct module_deps_elem {
- char * name;
- char ** deps;
+struct module_descr_elem {
+ char * modname;
+ char * description;
};
extern int disable_modules;
diff --git a/mdk-stage1/modules_descr.h b/mdk-stage1/modules_descr.h
deleted file mode 100644
index d38f437d8..000000000
--- a/mdk-stage1/modules_descr.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2001 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _MODULES_DESCR_H_
-#define _MODULES_DESCR_H_
-
-struct module_descr {
- const char * module;
- char * descr;
-};
-
-struct module_descr modules_descriptions[] = {
-#ifndef DISABLE_NETWORK
- /* description of network drivers that have not very explicit names */
- { "ne", "NE1000/NE2000/clones" },
- { "ne2k-pci", "PCI NE2000" },
- { "depca", "DEC DEPCA/DE100/DE101/DE200/DE201/DE202/DE210/DE422" },
- { "dgrs", "Digi RightSwitch SE-X" },
- { "ewrk3", "DEC DE203/DE204/DE205" },
- { "lance", "Allied Telesis AT1500, HP J2405A, NE2100/NE2500" },
- { "sis900", "SiS 900/7016/630E, Am79c901, RTL8201" },
- { "via-rhine", "VIA VT86c100A Rhine-II, 3043 Rhine-I" },
- { "tulip", "DEC 21040-family based cards" },
- { "wd", "WD8003/WD8013" },
- { "bmac", "Macintosh integrated ethernet (G3)" },
- { "gmac", "Macintosh integrated ethernet (G4/iBook)" },
- { "mace", "Macintosh integrated ethernet (PowerMac)" },
-#endif
-
-#ifndef DISABLE_MEDIAS
- /* description of scsi drivers that have not very explicit names */
- { "53c7,8xx", "NCR53c810/700" },
- { "sim710", "NCR53c710" },
- { "aic7xxx", "Adaptec 7xxx family (AIC/AHA/etc)" },
- { "atp870u", "ACARD/ARTOP AEC-6710/6712" },
- { "ncr53c8xx", "Symbios 53c family" },
- { "sym53c8xx", "Symbios 53c family" },
- { "sim710", "NCR53C710 family" },
- { "mesh", "Macintosh integrated SCSI (NewWorld or internal SCSI)" },
- { "mac53c94", "Macintosh integrated SCSI (OldWorld or external SCSI)" },
-#endif
-
-#ifdef ENABLE_USB
- /* description of usb drivers that have not very explicit names */
- { "usbnet", "Netchip or Prolific USB-USB Bridge" },
- { "pegasus", "ADMtek AN986 (USB Ethernet chipset)" },
- { "kaweth", "KL5KUSB101 (USB Ethernet chipset)" },
- { "catc", "CATC EL1210A NetMate USB Ethernet" },
-#endif
-};
-
-int modules_descriptions_num = sizeof(modules_descriptions) / sizeof(struct module_descr);
-
-
-#endif
diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c
index 2511fde99..14b2b2fc2 100644
--- a/mdk-stage1/mount.c
+++ b/mdk-stage1/mount.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -19,6 +19,9 @@
*
*/
+// for asprintf:
+#define _GNU_SOURCE
+#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
@@ -26,131 +29,40 @@
#include <sys/stat.h>
#include <sys/types.h>
#include "log.h"
+#include "utils.h"
#include "modules.h"
#include "mount.h"
-#ifndef DISABLE_MEDIAS
/* WARNING: this won't work if the argument is not /dev/ based */
-int ensure_dev_exists(char *dev)
+int ensure_dev_exists(const char * dev)
{
- int major, minor;
- int type = S_IFBLK; /* my default type is block. don't forget to change for chars */
- char * name;
struct stat buf;
- char * ptr;
- name = &dev[5]; /* we really need that dev be passed as /dev/something.. */
-
if (!stat(dev, &buf))
return 0; /* if the file already exists, we assume it's correct */
- if (ptr_begins_static_str(name, "sd")) {
- /* SCSI disks */
- major = 8;
- minor = (name[2] - 'a') << 4;
- if (name[3] && name[4])
- minor += 10 + (name[4] - '0');
- else if (name[3])
- minor += (name[3] - '0');
- } else if (ptr_begins_static_str(name, "hd")) {
- /* IDE disks/cd's */
- if (name[2] == 'a')
- major = 3, minor = 0;
- else if (name[2] == 'b')
- major = 3, minor = 64;
- else if (name[2] == 'c')
- major = 22, minor = 0;
- else if (name[2] == 'd')
- major = 22, minor = 64;
- else if (name[2] == 'e')
- major = 33, minor = 0;
- else if (name[2] == 'f')
- major = 33, minor = 64;
- else if (name[2] == 'g')
- major = 34, minor = 0;
- else if (name[2] == 'h')
- major = 34, minor = 64;
- else if (name[2] == 'i')
- major = 56, minor = 0;
- else if (name[2] == 'j')
- major = 56, minor = 64;
- else if (name[2] == 'k')
- major = 57, minor = 0;
- else if (name[2] == 'l')
- major = 57, minor = 64;
- else if (name[2] == 'm')
- major = 88, minor = 0;
- else if (name[2] == 'n')
- major = 88, minor = 64;
- else if (name[2] == 'o')
- major = 89, minor = 0;
- else if (name[2] == 'p')
- major = 89, minor = 64;
- else if (name[2] == 'q')
- major = 90, minor = 0;
- else if (name[2] == 'r')
- major = 90, minor = 64;
- else if (name[2] == 's')
- major = 91, minor = 0;
- else if (name[2] == 't')
- major = 91, minor = 64;
- else
- return -1;
-
- if (name[3] && name[4])
- minor += 10 + (name[4] - '0');
- else if (name[3])
- minor += (name[3] - '0');
- } else if (ptr_begins_static_str(name , "sr")) {
- /* SCSI cd's */
- major = 11;
- minor = name[2] - '0';
- } else if (ptr_begins_static_str(name, "ida/") ||
- ptr_begins_static_str(name, "cciss/")) {
- /* Compaq Smart Array "ida/c0d0{p1}" */
- ptr = strchr(name, '/');
- mkdir("/dev/ida", 0755);
- mkdir("/dev/cciss", 0755);
- major = ptr_begins_static_str(name, "ida/") ? 72 : 104 + charstar_to_int(ptr+2);
- ptr = strchr(ptr, 'd');
- minor = 16 * charstar_to_int(ptr+1);
- ptr = strchr(ptr, 'p');
- minor += charstar_to_int(ptr+1);
- } else if (ptr_begins_static_str(name, "rd/")) {
- /* DAC960 "rd/cXdXXpX" */
- mkdir("/dev/rd", 0755);
- major = 48 + charstar_to_int(name+4);
- ptr = strchr(name+4, 'd');
- minor = 8 * charstar_to_int(ptr+1);
- ptr = strchr(ptr, 'p');
- minor += charstar_to_int(ptr+1);
- } else {
- log_message("I don't know how to create device %s, please post bugreport to me!", dev);
- return -1;
- }
+ // give udev some time to create nodes if module was just insmoded:
+ system("udevadm settle");
- if (mknod(dev, type | 0600, makedev(major, minor))) {
- log_perror(dev);
+ if (!stat(dev, &buf)) {
+ log_message("I don't know how to create device %s, please post bugreport to me!", dev);
return -1;
}
return 0;
}
-#endif /* DISABLE_MEDIAS */
/* mounts, creating the device if needed+possible */
int my_mount(char *dev, char *location, char *fs, int force_rw)
{
- unsigned long flags = MS_MGC_VAL | (force_rw ? 0 : MS_RDONLY);
char * opts = NULL;
struct stat buf;
int rc;
-#ifndef DISABLE_MEDIAS
if (strcmp(fs, "nfs")) {
rc = ensure_dev_exists(dev);
if (rc != 0) {
@@ -158,7 +70,6 @@ int my_mount(char *dev, char *location, char *fs, int force_rw)
return -1;
}
}
-#endif
log_message("mounting %s on %s as type %s", dev, location, fs);
@@ -180,30 +91,19 @@ int my_mount(char *dev, char *location, char *fs, int force_rw)
}
#ifndef DISABLE_MEDIAS
- if (!strcmp(fs, "vfat")) {
- my_insmod("vfat", ANY_DRIVER_TYPE, NULL);
+ if (!strcmp(fs, "nfs"))
+ opts = "nolock";
+ if (!strcmp(fs, "vfat"))
opts = "check=relaxed";
- }
-
- if (!strcmp(fs, "reiserfs"))
- my_insmod("reiserfs", ANY_DRIVER_TYPE, NULL);
-
- if (!strcmp(fs, "iso9660"))
- my_insmod("isofs", ANY_DRIVER_TYPE, NULL);
#endif
-
-#ifndef DISABLE_NETWORK
- if (!strcmp(fs, "nfs")) {
- int flags = MS_RDONLY;
- my_insmod("nfs", ANY_DRIVER_TYPE, NULL);
- log_message("preparing nfsmount for %s", dev);
- rc = nfsmount_prepare(dev, &flags, &opts);
- if (rc != 0)
- return rc;
+ char *cmd;
+ rc = asprintf(&cmd, "mount %s %s -t %s -o %s%s > /dev/null 2>&1", dev, location, fs, (force_rw ? "" : "ro,"), (opts ? opts : ""));
+ if (rc == -1) {
+ log_perror("asprint allocation failure");
+ rmdir(location);
+ return rc;
}
-#endif
-
- rc = mount(dev, location, fs, flags, opts);
+ rc = system(cmd);
if (rc != 0) {
log_perror("mount failed");
rmdir(location);
diff --git a/mdk-stage1/mount.h b/mdk-stage1/mount.h
index 82795462f..dc8d674c3 100644
--- a/mdk-stage1/mount.h
+++ b/mdk-stage1/mount.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -22,14 +22,7 @@
#ifndef _MOUNT_H_
#define _MOUNT_H_
-#ifndef DISABLE_NETWORK
-#include "nfsmount.h"
-#endif
-
int my_mount(char *dev, char *location, char *fs, int force_rw);
-
-#ifndef DISABLE_MEDIAS
-int ensure_dev_exists(char *dev);
-#endif
+int ensure_dev_exists(const char * dev);
#endif
diff --git a/mdk-stage1/mount_rpcgen.h b/mdk-stage1/mount_rpcgen.h
deleted file mode 100644
index d70ccaf9d..000000000
--- a/mdk-stage1/mount_rpcgen.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _MOUNT_H_RPCGEN
-#define _MOUNT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-
-typedef char fhandle[FHSIZE];
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__
-extern bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */
-bool_t xdr_fhandle();
-#endif /* Old Style C */
-
-
-struct fhstatus {
- u_int fhs_status;
- union {
- fhandle fhs_fhandle;
- } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__
-extern bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */
-bool_t xdr_fhstatus();
-#endif /* Old Style C */
-
-
-typedef char *dirpath;
-#ifdef __cplusplus
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__
-extern bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */
-bool_t xdr_dirpath();
-#endif /* Old Style C */
-
-
-typedef char *name;
-#ifdef __cplusplus
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__
-extern bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */
-bool_t xdr_name();
-#endif /* Old Style C */
-
-
-typedef struct mountbody *mountlist;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__
-extern bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */
-bool_t xdr_mountlist();
-#endif /* Old Style C */
-
-
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__
-extern bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */
-bool_t xdr_mountbody();
-#endif /* Old Style C */
-
-
-typedef struct groupnode *groups;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__
-extern bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */
-bool_t xdr_groups();
-#endif /* Old Style C */
-
-
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-typedef struct groupnode groupnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__
-extern bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */
-bool_t xdr_groupnode();
-#endif /* Old Style C */
-
-
-typedef struct exportnode *exports;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__
-extern bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */
-bool_t xdr_exports();
-#endif /* Old Style C */
-
-
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-typedef struct exportnode exportnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__
-extern bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */
-bool_t xdr_exportnode();
-#endif /* Old Style C */
-
-
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
-
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1(void *, CLIENT *);
-extern void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1(void *, CLIENT *);
-extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1(void *, CLIENT *);
-extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1(void *, CLIENT *);
-extern exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1(void *, CLIENT *);
-extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#else /* Old Style C */
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1();
-extern void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1();
-extern fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1();
-extern mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1();
-extern void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1();
-extern void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1();
-extern exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1();
-extern exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */
-
-#endif /* !_MOUNT_H_RPCGEN */
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
index 6e3449f76..ab512399a 100644
--- a/mdk-stage1/network.c
+++ b/mdk-stage1/network.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -19,9 +19,11 @@
*
*/
+#include "stage1.h"
+
#include <stdlib.h>
-#include <unistd.h>
#include <string.h>
+#include <unistd.h>
#include <sys/socket.h>
#include <net/if.h>
#include <arpa/inet.h>
@@ -29,14 +31,17 @@
#include <sys/ioctl.h>
#include <sys/mount.h>
#include <stdio.h>
+#include <fcntl.h>
#include <netdb.h>
#include <resolv.h>
+#include <sys/utsname.h>
-#include "stage1.h"
#include "frontend.h"
#include "modules.h"
#include "probing.h"
#include "log.h"
+#include "tools.h"
+#include "utils.h"
#include "mount.h"
#include "automatic.h"
#include "dhcp.h"
@@ -45,7 +50,12 @@
#include "dns.h"
#include "network.h"
+#include "directory.h"
+#include "wireless.h"
+#ifndef DISABLE_KA
+#include "ka.h"
+#endif
static void error_message_net(void) /* reduce code size */
{
@@ -237,7 +247,8 @@ static int add_default_route(void)
}
-static int write_resolvconf(void) {
+static int write_resolvconf(void)
+{
char * filename = "/etc/resolv.conf";
FILE * f;
@@ -265,7 +276,8 @@ static int write_resolvconf(void) {
}
-static int save_netinfo(struct interface_info * intf) {
+static int save_netinfo(struct interface_info * intf)
+{
char * file_network = "/tmp/network";
char file_intf[500];
FILE * f;
@@ -279,13 +291,8 @@ static int save_netinfo(struct interface_info * intf) {
fprintf(f, "NETWORKING=yes\n");
fprintf(f, "FORWARD_IPV4=false\n");
- if (hostname && !intf->boot_proto == BOOTPROTO_DHCP)
+ if (hostname && !(intf->boot_proto == BOOTPROTO_DHCP))
fprintf(f, "HOSTNAME=%s\n", hostname);
- if (domain)
- fprintf(f, "DOMAINNAME=%s\n", domain);
- if (dhcp_hostname && !streq(dhcp_hostname, ""))
- fprintf(f, "DHCP_HOSTNAME=%s\n", dhcp_hostname);
-
if (gateway.s_addr != 0)
fprintf(f, "GATEWAY=%s\n", inet_ntoa(gateway));
@@ -303,18 +310,27 @@ static int save_netinfo(struct interface_info * intf) {
fprintf(f, "DEVICE=%s\n", intf->device);
- if (intf->boot_proto == BOOTPROTO_DHCP)
+ if (intf->boot_proto == BOOTPROTO_DHCP) {
fprintf(f, "BOOTPROTO=dhcp\n");
- else if (intf->boot_proto == BOOTPROTO_STATIC) {
+ if (dhcp_hostname && !streq(dhcp_hostname, ""))
+ fprintf(f, "DHCP_HOSTNAME=%s\n", dhcp_hostname);
+ } else if (intf->boot_proto == BOOTPROTO_STATIC) {
fprintf(f, "BOOTPROTO=static\n");
fprintf(f, "IPADDR=%s\n", inet_ntoa(intf->ip));
fprintf(f, "NETMASK=%s\n", inet_ntoa(intf->netmask));
fprintf(f, "NETWORK=%s\n", inet_ntoa(intf->network));
fprintf(f, "BROADCAST=%s\n", inet_ntoa(intf->broadcast));
+ if (domain)
+ fprintf(f, "DOMAIN=%s\n", domain);
+ if (dns_server.s_addr != 0)
+ fprintf(f, "DNS1=%s\n", inet_ntoa(dns_server));
+ if (dns_server2.s_addr != 0)
+ fprintf(f, "DNS2=%s\n", inet_ntoa(dns_server2));
} else if (intf->boot_proto == BOOTPROTO_ADSL_PPPOE) {
fprintf(f, "BOOTPROTO=adsl_pppoe\n");
fprintf(f, "USER=%s\n", intf->user);
fprintf(f, "PASS=%s\n", intf->pass);
+ fprintf(f, "ACNAME=%s\n", intf->acname);
}
fclose(f);
@@ -344,12 +360,27 @@ char * guess_netmask(char * ip_addr)
}
+char * guess_domain_from_hostname(char *hostname)
+{
+ char *domain = strchr(strdup(hostname), '.');
+ if (!domain || domain[1] == '\0') {
+ log_message("unable to guess domain from hostname: %s", hostname);
+ return NULL;
+ }
+ return domain + 1; /* skip '.' */
+}
+
+
static void static_ip_callback(char ** strings)
{
struct in_addr addr;
- if (!inet_aton(strings[0], &addr))
+ static int done = 0;
+ if (done)
+ return;
+ if (streq(strings[0], "") || !inet_aton(strings[0], &addr))
return;
+ done = 1;
if (!strcmp(strings[1], "")) {
char * ptr;
@@ -370,11 +401,11 @@ static void static_ip_callback(char ** strings)
static enum return_type setup_network_interface(struct interface_info * intf)
{
enum return_type results;
- char * bootprotos[] = { "Static", "DHCP", "ADSL", NULL };
- char * bootprotos_auto[] = { "static", "dhcp", "adsl" };
+ char * bootprotos[] = { "DHCP", "Static", "ADSL", NULL };
+ char * bootprotos_auto[] = { "dhcp", "static", "adsl" };
char * choice;
- results = ask_from_list_auto("Please choose the desired IP attribution.", bootprotos, &choice, "network", bootprotos_auto);
+ results = ask_from_list_auto("Please select your network connection type.", bootprotos, &choice, "network", bootprotos_auto);
if (results != RETURN_OK)
return results;
@@ -400,6 +431,11 @@ static enum return_type setup_network_interface(struct interface_info * intf)
dns_server.s_addr = 0; /* keep an understandable state */
}
+ if (streq(answers[0], answers[1])) {
+ log_message("IP and DNS are the same, guess you don't want a DNS, disabling it");
+ dns_server.s_addr = 0; /* keep an understandable state */
+ }
+
if (!inet_aton(answers[2], &gateway)) {
log_message("invalid gateway");
gateway.s_addr = 0; /* keep an understandable state */
@@ -468,24 +504,31 @@ static enum return_type configure_network(struct interface_info * intf)
if (dnshostname) {
if (intf->boot_proto == BOOTPROTO_STATIC)
hostname = strdup(dnshostname);
- domain = strchr(strdup(dnshostname), '.') + 1;
- log_message("got hostname and domain from dns entry, %s and %s", dnshostname, domain);
- return RETURN_OK;
- }
-
- log_message("reverse name lookup on self failed");
+ domain = guess_domain_from_hostname(dnshostname);
+ if (domain) {
+ log_message("got hostname and domain from dns entry, %s and %s", dnshostname, domain);
+ return RETURN_OK;
+ }
+ } else
+ log_message("reverse name lookup on self failed");
if (domain)
return RETURN_OK;
+ dnshostname = NULL;
if (dns_server.s_addr != 0) {
wait_message("Trying to resolve dns...");
dnshostname = mygethostbyaddr(inet_ntoa(dns_server));
remove_wait_message();
- }
+ if (dnshostname) {
+ log_message("got DNS fullname, %s", dnshostname);
+ domain = guess_domain_from_hostname(dnshostname);
+ } else
+ log_message("reverse name lookup on DNS failed");
+ } else
+ log_message("no DNS, unable to guess domain");
- if (dnshostname) {
- domain = strchr(strdup(dnshostname), '.') + 1;
+ if (domain) {
log_message("got domain from DNS fullname, %s", domain);
} else {
enum return_type results;
@@ -493,15 +536,21 @@ static enum return_type configure_network(struct interface_info * intf)
char * questions_auto[] = { "hostname", "domain" };
static char ** answers = NULL;
char * boulet;
-
- log_message("reverse name lookup on DNS failed");
-
- results = ask_from_entries_auto("I could not guess hostname and domain name; please fill in this information. "
- "Valid answers are for example: `mybox' for hostname and `mynetwork.com' for "
- "domain name, for a machine called `mybox.mynetwork.com' on the Internet.",
- questions, &answers, 32, questions_auto, NULL);
- if (results != RETURN_OK)
+
+ if (dhcp_hostname || dhcp_domain) {
+ answers = (char **) calloc(1, sizeof(questions));
+ answers[0] = strdup(dhcp_hostname);
+ answers[1] = strdup(dhcp_domain);
+ }
+
+ if (!dhcp_hostname || !dhcp_domain) {
+ results = ask_from_entries_auto("I could not guess hostname and domain name; please fill in this information. "
+ "Valid answers are for example: `mybox' for hostname and `mynetwork.com' for "
+ "domain name, for a machine called `mybox.mynetwork.com' on the Internet.",
+ questions, &answers, 32, questions_auto, NULL);
+ if (results != RETURN_OK)
return results;
+ }
hostname = answers[0];
if ((boulet = strchr(hostname, '.')) != NULL)
@@ -509,6 +558,9 @@ static enum return_type configure_network(struct interface_info * intf)
domain = answers[1];
}
+ log_message("using hostname %s", hostname);
+ log_message("using domain %s", domain);
+
return RETURN_OK;
}
@@ -516,17 +568,34 @@ static enum return_type configure_network(struct interface_info * intf)
static enum return_type bringup_networking(struct interface_info * intf)
{
static struct interface_info loopback;
- enum return_type results = RETURN_ERROR;
-
- my_insmod("af_packet", ANY_DRIVER_TYPE, NULL);
+ enum return_type results;
+ int fd;
+
+ /* try to find if module already loaded or built-in to avoid failing */
+ /* badly */
+ fd = open("/proc/net/packet", O_RDONLY);
+ if (fd < 0)
+ my_modprobe("af_packet", ANY_DRIVER_TYPE, NULL);
+ else
+ close(fd);
+
+ do {
+ results = configure_wireless(intf->device);
+ } while (results == RETURN_ERROR);
- while (results != RETURN_OK) {
+ if (results == RETURN_BACK)
+ return RETURN_BACK;
+
+ do {
results = setup_network_interface(intf);
if (results != RETURN_OK)
return results;
write_resolvconf();
results = configure_network(intf);
- }
+ } while (results == RETURN_ERROR);
+
+ if (results == RETURN_BACK)
+ return bringup_networking(intf);
write_resolvconf(); /* maybe we have now domain to write also */
@@ -548,6 +617,63 @@ static enum return_type bringup_networking(struct interface_info * intf)
}
+static char * auto_select_up_intf(int detection_mode)
+{
+#define SIOCETHTOOL 0x8946
+#define ETHTOOL_GLINK 0x0000000a /* Get link status (ethtool_value) */
+
+ struct ethtool_value {
+ uint32_t cmd;
+ uint32_t data;
+ };
+
+ char ** interfaces, ** ptr;
+ interfaces = get_net_devices();
+
+ int s;
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ return NULL;
+ }
+
+ ptr = interfaces;
+ while (ptr && *ptr) {
+ if (detection_mode != AUTO_DETECTION_WIRED || !wireless_is_aware(s, *interfaces)) {
+ struct ifreq ifr;
+ struct ethtool_value edata;
+ strncpy(ifr.ifr_name, *ptr, IFNAMSIZ);
+ edata.cmd = ETHTOOL_GLINK;
+ ifr.ifr_data = (caddr_t)&edata;
+ if (ioctl(s, SIOCETHTOOL, &ifr) == 0 && edata.data) {
+ close(s);
+ log_message("NETWORK: choosing interface %s (link beat detected)", *ptr);
+ return *ptr;
+ }
+ }
+ ptr++;
+ }
+
+ log_message("NETWORK: no interface has a link beat");
+
+ if (detection_mode == AUTO_DETECTION_WIRED) {
+ ptr = interfaces;
+ while (ptr && *ptr) {
+ if (!wireless_is_aware(s, *interfaces)) {
+ close(s);
+ log_message("NETWORK: choosing interface %s (wired interface)", *ptr);
+ return *ptr;
+ }
+ ptr++;
+ }
+ log_message("NETWORK: no interface is wired");
+ }
+
+ close(s);
+
+ return NULL;
+}
+
+
static char * interface_select(void)
{
char ** interfaces, ** ptr;
@@ -565,8 +691,7 @@ static char * interface_select(void)
}
if (count == 0) {
- stg1_error_message("No NET device found.\n"
- "Hint: if you're using a Laptop, note that PCMCIA Network adapters are now supported either with `pcmcia.img' or `network.img', please try both these bootdisks.");
+ stg1_error_message("No NET device found.");
i = ask_insmod(NETWORK_DEVICES);
if (i == RETURN_BACK)
return NULL;
@@ -576,6 +701,20 @@ static char * interface_select(void)
if (count == 1)
return *interfaces;
+ /* this can't be done in ask_from_list_comments_auto because "auto" and "wired" are not in the interfaces list */
+ if (IS_AUTOMATIC) {
+ enum auto_detection_type auto_detect = AUTO_DETECTION_NONE;
+ if (streq(get_auto_value("interface"), "auto"))
+ auto_detect = AUTO_DETECTION_ALL;
+ else if (streq(get_auto_value("interface"), "wired"))
+ auto_detect = AUTO_DETECTION_WIRED;
+ if (auto_detect != AUTO_DETECTION_NONE) {
+ choice = auto_select_up_intf(auto_detect);
+ if (choice)
+ return choice;
+ }
+ }
+
i = 0;
while (interfaces[i]) {
descriptions[i] = get_net_intf_description(interfaces[i]);
@@ -591,12 +730,171 @@ static char * interface_select(void)
return choice;
}
+static enum return_type get_http_proxy(char **http_proxy_host, char **http_proxy_port)
+{
+ char *questions[] = { "HTTP proxy host", "HTTP proxy port", NULL };
+ char *questions_auto[] = { "proxy_host", "proxy_port", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+
+ results = ask_from_entries_auto("Please enter HTTP proxy host and port if you need it, else leave them blank or cancel.",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results == RETURN_OK) {
+ *http_proxy_host = answers[0];
+ *http_proxy_port = answers[1];
+ } else {
+ *http_proxy_host = NULL;
+ *http_proxy_port = NULL;
+ }
+
+ return results;
+}
+
+
+static int url_split(const char *url, const char *protocol, char **host, char **path)
+{
+ char *protocol_sep, *host_sep;
+
+ protocol_sep = strstr(url, "://");
+ if (!protocol_sep) {
+ log_message("NETWORK: no protocol in \"%s\"", url);
+ return -1;
+ }
+
+ if (strncmp(protocol, url, protocol_sep - url))
+ return -1;
+
+ url = protocol_sep + 3;
+ host_sep = strchr(url, '/');
+ if (!host_sep || host_sep == url) {
+ log_message("NETWORK: no hostname in \"%s\"", url);
+ return -1;
+ }
+
+ *host = strndup(url, host_sep - url);
+ *path = strdup(host_sep);
+
+ return 0;
+}
+
+#define MIRRORLIST_MAX_ITEMS 500
+typedef char *mirrorlist_t[2][MIRRORLIST_MAX_ITEMS+1];
+
+static enum return_type get_mirrorlist(mirrorlist_t mirrorlist, int start, char *version, const char *protocol, char *http_proxy_host, char *http_proxy_port) {
+ int fd, size, line_pos = 0;
+ char path[1024];
+ char line[1024];
+ char type[100] = DISTRIB_TYPE;
+ int mirror_idx = start;
+
+ int use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+ lowercase(type);
+ snprintf(path, sizeof(path), "%s/%s.%s.%s.list", MIRRORLIST_PATH, type, version, ARCH);
+
+ fd = http_download_file(MIRRORLIST_HOST, path, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ if (fd < 0) {
+ log_message("HTTP: unable to get mirrors list from %s (%s)", MIRRORLIST_HOST, path);
+ return RETURN_ERROR;
+ }
+
+ while (read(fd, line + line_pos, 1) > 0) {
+ if (line[line_pos] == '\n') {
+ char *url;
+ line[line_pos] = '\0';
+ line_pos = 0;
+
+ /* skip medium if it does not look like a distrib path */
+ if (!strstr(line, ",type=distrib,"))
+ continue;
+
+ url = strstr(line, ",url=");
+ if (!url)
+ continue;
+ url += 5;
+
+ if (url_split(url, protocol, &mirrorlist[0][mirror_idx], &mirrorlist[1][mirror_idx]) < 0)
+ continue;
+
+ mirror_idx++;
+ } else {
+ line_pos++;
+ }
+
+ if (mirror_idx >= MIRRORLIST_MAX_ITEMS)
+ break;
+ }
+ close(fd);
+
+ mirrorlist[0][mirror_idx] = NULL;
+ mirrorlist[1][mirror_idx] = NULL;
+
+ return RETURN_OK;
+}
+
+static int choose_mirror_from_host_list(mirrorlist_t mirrorlist, char **selected_host, char **filepath)
+{
+ enum return_type results;
+ int mirror_idx = 0;
+
+ do {
+ results = ask_from_list_index("Please select a mirror from the list below.",
+ mirrorlist[0], NULL, &mirror_idx);
+
+ if (results == RETURN_BACK) {
+ return RETURN_ERROR;
+ } else if (results == RETURN_OK) {
+ if (mirror_idx == 0) {
+ /* enter the mirror manually */
+ return RETURN_OK;
+ }
+ *selected_host = strdup(mirrorlist[0][mirror_idx]);
+ *filepath = strdup(mirrorlist[1][mirror_idx]);
+ return RETURN_OK;
+ }
+ } while (results == RETURN_ERROR);
+
+ return RETURN_ERROR;
+}
+
+
+static int choose_mirror_from_list(char *http_proxy_host, char *http_proxy_port, const char *protocol, char **selected_host, char **filepath)
+{
+ enum return_type results;
+ char *versions[] = { "Specify the mirror manually", DISTRIB_NAME " " DISTRIB_VERSION, NULL };
+ char *version = DISTRIB_NAME " " DISTRIB_VERSION;
+
+ do {
+ results = ask_from_list("Please select a medium from the list below.", versions, &version);
+
+ if (results == RETURN_BACK) {
+ return RETURN_BACK;
+ } else if (results == RETURN_OK) {
+ if (!strcmp(version, versions[0])) {
+ /* enter the mirror manually */
+ return RETURN_OK;
+ } else {
+ /* a medium has been selected */
+ mirrorlist_t mirrorlist;
+ mirrorlist[0][0] = "Specify the mirror manually";
+ mirrorlist[1][0] = NULL;
+
+ results = get_mirrorlist(mirrorlist, 1, DISTRIB_VERSION, protocol, http_proxy_host, http_proxy_port);
+ if (results == RETURN_ERROR)
+ return RETURN_ERROR;
+
+ results = choose_mirror_from_host_list(mirrorlist, selected_host, filepath);
+ }
+ }
+ } while (results == RETURN_ERROR);
+
+ return results;
+}
/* -=-=-- */
-static enum return_type intf_select_and_up(void)
+enum return_type intf_select_and_up()
{
static struct interface_info intf[20];
static int num_interfaces = 0;
@@ -623,7 +921,7 @@ static enum return_type intf_select_and_up(void)
if (results == RETURN_OK)
save_netinfo(sel_intf);
-
+
return results;
}
@@ -635,7 +933,7 @@ enum return_type nfs_prepare(void)
char * questions_auto[] = { "server", "directory", NULL };
static char ** answers = NULL;
char * nfsmount_location;
- enum return_type results = intf_select_and_up();
+ enum return_type results = intf_select_and_up(NULL, NULL);
if (results != RETURN_OK)
return results;
@@ -645,7 +943,7 @@ enum return_type nfs_prepare(void)
"and the directory containing the " DISTRIB_NAME " Distribution.",
questions, &answers, 40, questions_auto, NULL);
if (results != RETURN_OK || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
return nfs_prepare();
}
@@ -654,33 +952,21 @@ enum return_type nfs_prepare(void)
strcat(nfsmount_location, ":");
strcat(nfsmount_location, answers[1]);
- if (my_mount(nfsmount_location, IMAGE_LOCATION, "nfs", 0) == -1) {
+ if (my_mount(nfsmount_location, MEDIA_LOCATION, "nfs", 0) == -1) {
stg1_error_message("I can't mount the directory from the NFS server.");
results = RETURN_BACK;
continue;
}
+ free(nfsmount_location); nfsmount_location = NULL;
- if (access(IMAGE_LOCATION LIVE_LOCATION, R_OK)) {
- stg1_error_message("That NFS volume does not seem to contain the " DISTRIB_NAME " Distribution.");
- umount(IMAGE_LOCATION);
- results = RETURN_BACK;
- }
+ results = try_with_directory(MEDIA_LOCATION, "nfs", "nfs-iso");
+ if (results != RETURN_OK)
+ umount(MEDIA_LOCATION);
+ if (results == RETURN_ERROR)
+ return RETURN_ERROR;
}
while (results == RETURN_BACK);
- log_message("found the " DISTRIB_NAME " Installation, good news!");
-
- if (IS_SPECIAL_STAGE2) {
- if (load_ramdisk() != RETURN_OK) {
- stg1_error_message("Could not load program into memory.");
- return nfs_prepare();
- }
- }
-
- if (IS_RESCUE)
- umount(IMAGE_LOCATION);
-
- method_name = strdup("nfs");
return RETURN_OK;
}
@@ -691,10 +977,13 @@ enum return_type ftp_prepare(void)
char * questions_auto[] = { "server", "directory", "user", "pass", NULL };
static char ** answers = NULL;
enum return_type results;
+ struct utsname kernel_uname;
+ char *http_proxy_host, *http_proxy_port;
+ int use_http_proxy;
if (!ramdisk_possible()) {
stg1_error_message("FTP install needs more than %d Mbytes of memory (detected %d Mbytes). You may want to try an NFS install.",
- MEM_LIMIT_RAMDISK, total_memory());
+ MEM_LIMIT_DRAKX, total_memory());
return RETURN_ERROR;
}
@@ -703,68 +992,138 @@ enum return_type ftp_prepare(void)
if (results != RETURN_OK)
return results;
+ get_http_proxy(&http_proxy_host, &http_proxy_port);
+ use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+
+ uname(&kernel_uname);
+
do {
char location_full[500];
- int ftp_serv_response;
+ int ftp_serv_response = -1;
int fd, size;
+ int need_arch = 0;
+ char ftp_hostname[500];
+
+ if (!IS_AUTOMATIC) {
+ if (answers == NULL)
+ answers = (char **) calloc(1, sizeof(questions));
+
+ results = choose_mirror_from_list(http_proxy_host, http_proxy_port, "ftp", &answers[0], &answers[1]);
+
+ if (results == RETURN_BACK)
+ return ftp_prepare();
+
+ if (use_http_proxy) {
+ results = ask_yes_no("Do you want to use this HTTP proxy for FTP connections too ?");
+
+ if (results == RETURN_BACK)
+ return ftp_prepare();
+
+ use_http_proxy = results == RETURN_OK;
+ }
+ }
results = ask_from_entries_auto("Please enter the name or IP address of the FTP server, "
"the directory containing the " DISTRIB_NAME " Distribution, "
- "and the login/pass if necessary (leave login blank for anonymous).",
+ "and the login/pass if necessary (leave login blank for anonymous). ",
questions, &answers, 40, questions_auto, NULL);
if (results != RETURN_OK || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
return ftp_prepare();
}
- log_message("FTP: trying to connect to %s", answers[0]);
+ strcpy(location_full, answers[1][0] == '/' ? "" : "/");
+ strcat(location_full, answers[1]);
- ftp_serv_response = ftp_open_connection(answers[0], answers[2], answers[3], "");
- if (ftp_serv_response < 0) {
- log_message("FTP: error connect %d", ftp_serv_response);
- if (ftp_serv_response == FTPERR_BAD_HOSTNAME)
- stg1_error_message("Error: bad hostname.");
- else if (ftp_serv_response == FTPERR_FAILED_CONNECT)
- stg1_error_message("Error: failed to connect to remote host.");
- else
- stg1_error_message("Error: couldn't connect.");
- results = RETURN_BACK;
- continue;
- }
- strcpy(location_full, answers[1]);
- strcat(location_full, get_ramdisk_realname());
+ if (use_http_proxy) {
+ log_message("FTP: don't connect to %s directly, will use proxy", answers[0]);
+ } else {
+ log_message("FTP: trying to connect to %s", answers[0]);
+ ftp_serv_response = ftp_open_connection(answers[0], answers[2], answers[3], "");
+ if (ftp_serv_response < 0) {
+ log_message("FTP: error connect %d", ftp_serv_response);
+ if (ftp_serv_response == FTPERR_BAD_HOSTNAME)
+ stg1_error_message("Error: bad hostname.");
+ else if (ftp_serv_response == FTPERR_FAILED_CONNECT)
+ stg1_error_message("Error: failed to connect to remote host.");
+ else
+ stg1_error_message("Error: couldn't connect.");
+ results = RETURN_BACK;
+ continue;
+ }
+ }
+
+ strcat(location_full, COMPRESSED_FILE_REL("/"));
log_message("FTP: trying to retrieve %s", location_full);
- fd = ftp_start_download(ftp_serv_response, location_full, &size);
+ if (use_http_proxy) {
+ if (strcmp(answers[2], "")) {
+ strcpy(ftp_hostname, answers[2]); /* user name */
+ strcat(ftp_hostname, ":");
+ strcat(ftp_hostname, answers[3]); /* password */
+ strcat(ftp_hostname, "@");
+ } else {
+ strcpy(ftp_hostname, "");
+ }
+ strcat(ftp_hostname, answers[0]);
+ fd = http_download_file(ftp_hostname, location_full, &size, "ftp", http_proxy_host, http_proxy_port);
+ } else {
+ fd = ftp_start_download(ftp_serv_response, location_full, &size);
+ }
+
+ /* Try arched directory */
if (fd < 0) {
- log_message("FTP: error get %d", fd);
- if (fd == FTPERR_PASSIVE_ERROR)
- stg1_error_message("Error: error with passive connection.");
- else if (fd == FTPERR_FILE_NOT_FOUND)
- stg1_error_message("Error: file not found (%s).", location_full);
- else if (fd == FTPERR_BAD_SERVER_RESPONSE)
- stg1_error_message("Error: bad server response (server too busy?).");
- else
- stg1_error_message("Error: couldn't retrieve Installation program.");
+ log_message("%s failed.", location_full);
+ char *with_arch = asprintf_("%s%s/%s/%s", answers[1][0] == '/' ? "" : "/", answers[1], ARCH, COMPRESSED_FILE_REL("/"));
+ log_message("trying %s...", with_arch);
+ if (use_http_proxy)
+ fd = http_download_file(answers[0], with_arch, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ else
+ fd = ftp_start_download(ftp_serv_response, with_arch, &size);
+ if (0 < fd) {
+ strcpy(location_full, with_arch);
+ need_arch = 1;
+ }
+ }
+
+ if (fd < 0) {
+ char *msg = str_ftp_error(fd);
+ log_message("FTP: error get %d for remote file %s", fd, location_full);
+ stg1_error_message("Error: %s.", msg ? msg : "couldn't retrieve Installation program");
results = RETURN_BACK;
continue;
}
log_message("FTP: size of download %d bytes", size);
- results = load_ramdisk_fd(fd, size);
- if (results == RETURN_OK)
- ftp_end_data_command(ftp_serv_response);
- else
+ results = load_compressed_fd(fd, size);
+ if (results == RETURN_OK) {
+ if (!use_http_proxy)
+ ftp_end_data_command(ftp_serv_response);
+ } else {
+ unset_automatic(); /* we are in a fallback mode */
return results;
+ }
- method_name = strdup("ftp");
- add_to_env("HOST", answers[0]);
- add_to_env("PREFIX", answers[1]);
- if (strcmp(answers[2], "")) {
- add_to_env("LOGIN", answers[2]);
- add_to_env("PASSWORD", answers[3]);
+ if (use_http_proxy) {
+ add_to_env("METHOD", "http");
+ snprintf(location_full, sizeof(location_full), "ftp://%s%s", ftp_hostname, answers[1]);
+ if (need_arch)
+ strcat(location_full, "/" ARCH);
+ add_to_env("URLPREFIX", location_full);
+ add_to_env("PROXY", http_proxy_host);
+ add_to_env("PROXYPORT", http_proxy_port);
+ } else {
+ add_to_env("METHOD", "ftp");
+ add_to_env("HOST", answers[0]);
+ if (need_arch)
+ strcat(answers[1], "/" ARCH);
+ add_to_env("PREFIX", answers[1]);
+ if (!streq(answers[2], "")) {
+ add_to_env("LOGIN", answers[2]);
+ add_to_env("PASSWORD", answers[3]);
+ }
}
}
while (results == RETURN_BACK);
@@ -778,10 +1137,11 @@ enum return_type http_prepare(void)
char * questions_auto[] = { "server", "directory", NULL };
static char ** answers = NULL;
enum return_type results;
+ char *http_proxy_host, *http_proxy_port;
if (!ramdisk_possible()) {
stg1_error_message("HTTP install needs more than %d Mbytes of memory (detected %d Mbytes). You may want to try an NFS install.",
- MEM_LIMIT_RAMDISK, total_memory());
+ MEM_LIMIT_DRAKX, total_memory());
return RETURN_ERROR;
}
@@ -790,24 +1150,53 @@ enum return_type http_prepare(void)
if (results != RETURN_OK)
return results;
+ get_http_proxy(&http_proxy_host, &http_proxy_port);
+
do {
char location_full[500];
- int fd, size;
+ int fd, size, need_arch = 0;
+ int use_http_proxy;
+
+ if (!IS_AUTOMATIC) {
+ if (answers == NULL)
+ answers = (char **) calloc(1, sizeof(questions));
+
+ results = choose_mirror_from_list(http_proxy_host, http_proxy_port, "http", &answers[0], &answers[1]);
+
+ if (results == RETURN_BACK)
+ return http_prepare();
+ }
results = ask_from_entries_auto("Please enter the name or IP address of the HTTP server, "
"and the directory containing the " DISTRIB_NAME " Distribution.",
questions, &answers, 40, questions_auto, NULL);
if (results != RETURN_OK || streq(answers[0], "")) {
- unset_param(MODE_AUTOMATIC); /* we are in a fallback mode */
+ unset_automatic(); /* we are in a fallback mode */
return http_prepare();
}
- strcpy(location_full, answers[1]);
- strcat(location_full, get_ramdisk_realname());
+ strcpy(location_full, answers[1][0] == '/' ? "" : "/");
+ strcat(location_full, answers[1]);
+ strcat(location_full, COMPRESSED_FILE_REL("/"));
log_message("HTTP: trying to retrieve %s from %s", location_full, answers[0]);
- fd = http_download_file(answers[0], location_full, &size);
+ use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+
+ fd = http_download_file(answers[0], location_full, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+
+ /* Try arched directory */
+ if (fd < 0) {
+ log_message("%s failed.", location_full);
+ char *with_arch = asprintf_("%s%s/%s/%s", answers[1][0] == '/' ? "" : "/", answers[1], ARCH, COMPRESSED_FILE_REL("/"));
+ log_message("trying %s...", with_arch);
+ fd = http_download_file(answers[0], with_arch, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ if (0 < fd) {
+ strcpy(location_full, with_arch);
+ need_arch = 1;
+ }
+ }
+
if (fd < 0) {
log_message("HTTP: error %d", fd);
if (fd == FTPERR_FAILED_CONNECT)
@@ -820,15 +1209,43 @@ enum return_type http_prepare(void)
log_message("HTTP: size of download %d bytes", size);
- if (load_ramdisk_fd(fd, size) != RETURN_OK)
+ if (load_compressed_fd(fd, size) != RETURN_OK) {
+ unset_automatic(); /* we are in a fallback mode */
return RETURN_ERROR;
+ }
- method_name = strdup("http");
- sprintf(location_full, "http://%s%s", answers[0], answers[1]);
+ add_to_env("METHOD", "http");
+ sprintf(location_full, "http://%s%s%s", answers[0], answers[1][0] == '/' ? "" : "/", answers[1]);
+ if (need_arch)
+ strcat(location_full, "/" ARCH);
add_to_env("URLPREFIX", location_full);
+ if (!streq(http_proxy_host, ""))
+ add_to_env("PROXY", http_proxy_host);
+ if (!streq(http_proxy_port, ""))
+ add_to_env("PROXYPORT", http_proxy_port);
}
while (results == RETURN_BACK);
return RETURN_OK;
}
+
+#ifndef DISABLE_KA
+enum return_type ka_prepare(void)
+{
+ enum return_type results;
+
+ if (!ramdisk_possible()) {
+ stg1_error_message("KA install needs more than %d Mbytes of memory (detected %d Mbytes).",
+ MEM_LIMIT_DRAKX, total_memory());
+ return RETURN_ERROR;
+ }
+
+ results = intf_select_and_up();
+
+ if (results != RETURN_OK)
+ return results;
+
+ return perform_ka();
+}
+#endif
diff --git a/mdk-stage1/network.h b/mdk-stage1/network.h
index 02eea45b6..914bc2ca5 100644
--- a/mdk-stage1/network.h
+++ b/mdk-stage1/network.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -26,13 +26,18 @@
#include <netinet/ip.h>
#include <arpa/inet.h>
+enum return_type intf_select_and_up();
enum return_type nfs_prepare(void);
enum return_type ftp_prepare(void);
enum return_type http_prepare(void);
+#ifndef DISABLE_KA
+enum return_type ka_prepare(void);
+#endif
enum boot_proto_type { BOOTPROTO_STATIC, BOOTPROTO_DHCP, BOOTPROTO_ADSL_PPPOE };
+enum auto_detection_type { AUTO_DETECTION_NONE, AUTO_DETECTION_ALL, AUTO_DETECTION_WIRED };
/* all of these in_addr things are in network byte order! */
struct interface_info {
@@ -40,7 +45,7 @@ struct interface_info {
int is_ptp, is_up;
struct in_addr ip, netmask, broadcast, network;
enum boot_proto_type boot_proto;
- char *user, *pass; /* for ADSL connection */
+ char *user, *pass, *acname; /* for ADSL connection */
};
diff --git a/mdk-stage1/newt-frontend.c b/mdk-stage1/newt-frontend.c
index 0c740f42f..c0489b58d 100644
--- a/mdk-stage1/newt-frontend.c
+++ b/mdk-stage1/newt-frontend.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -24,6 +24,7 @@
* Each different frontend must implement all functions defined in frontend.h
*/
+#define _GNU_SOURCE
#include <stdlib.h>
#include <unistd.h>
@@ -31,7 +32,7 @@
#include <stdio.h>
#include <stdarg.h>
#include <sys/time.h>
-#include "newt/newt.h"
+#include <newt.h>
#include <probing.h>
@@ -43,10 +44,16 @@ void init_frontend(char * welcome_msg)
for (i=0; i<38; i++) printf("\n");
newtInit();
newtCls();
-
- newtDrawRootText(0, 0, welcome_msg);
-
- newtPushHelpLine(" <Alt-F1> for here, <Alt-F3> to see the logs, <Alt-F4> for kernel msg");
+
+ if (welcome_msg[0]) {
+ char *msg;
+ int cols, rows;
+ newtGetScreenSize(&cols, &rows);
+ asprintf(&msg, " %-*s", cols - 1, welcome_msg);
+ newtDrawRootText(0, 0, msg);
+ free(msg);
+ newtPushHelpLine(" <Alt-F1> for here, <Alt-F3> to see the logs, <Alt-F4> for kernel msg");
+ }
newtRefresh();
}
@@ -59,13 +66,11 @@ void finish_frontend(void)
void verror_message(char *msg, va_list ap)
{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
newtWinMessagev("Error", "Ok", msg, ap);
}
void vinfo_message(char *msg, va_list ap)
{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
newtWinMessagev("Notice", "Ok", msg, ap);
}
@@ -119,7 +124,7 @@ static int size_progress;
static int actually_drawn;
static char * msg_progress;
-void init_progression(char *msg, int size)
+void init_progression_raw(char *msg, int size)
{
size_progress = size;
if (size) {
@@ -138,7 +143,7 @@ void init_progression(char *msg, int size)
}
}
-void update_progression(int current_size)
+void update_progression_raw(int current_size)
{
if (size_progress) {
if (current_size <= size_progress)
@@ -161,7 +166,7 @@ void update_progression(int current_size)
}
}
-void end_progression(void)
+void end_progression_raw(void)
{
if (size_progress) {
newtPopWindow();
@@ -172,65 +177,43 @@ void end_progression(void)
}
-enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
+enum return_type ask_from_list_index(char *msg, char ** elems, char ** elems_comments, int * answer)
{
- char * items[500];
- int answer = 0, rc;
- char ** sav_elems = elems;
- int i;
+ char * items[50000];
+ int rc;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- i = 0;
- while (elems && *elems) {
- int j = (*elems_comments) ? strlen(*elems_comments) : 0;
- items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4));
- strcpy(items[i], *elems);
- if (*elems_comments) {
- strcat(items[i], " (");
- strcat(items[i], *elems_comments);
- strcat(items[i], ")");
- }
- elems_comments++;
- i++;
- elems++;
+ if (elems_comments) {
+ int i;
+
+ i = 0;
+ while (elems && *elems) {
+ int j = (*elems_comments) ? strlen(*elems_comments) : 0;
+ items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4));
+ strcpy(items[i], *elems);
+ if (*elems_comments) {
+ strcat(items[i], " (");
+ strcat(items[i], *elems_comments);
+ strcat(items[i], ")");
+ }
+ elems_comments++;
+ i++;
+ elems++;
+ }
+ items[i] = NULL;
}
- items[i] = NULL;
-
- rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, items, &answer, "Ok", "Cancel", NULL);
-
- if (rc == 2)
- return RETURN_BACK;
- *choice = strdup(sav_elems[answer]);
-
- return RETURN_OK;
-}
-
-
-enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
-{
- int answer = 0, rc;
-
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems, &answer, "Ok", "Cancel", NULL);
+ rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems_comments ? items : elems, answer, "Ok", "Cancel", NULL);
if (rc == 2)
return RETURN_BACK;
- *choice = strdup(elems[answer]);
-
return RETURN_OK;
}
-
enum return_type ask_yes_no(char *msg)
{
int rc;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
rc = newtWinTernary("Please answer...", "Yes", "No", "Back", msg);
if (rc == 1)
@@ -316,7 +299,7 @@ static int mynewtWinEntries(char * title, char * text, int suggestedWidth, int f
for (i = 0; i < numItems; i++) {
newtComponent entr = newtEntry(-1, -1, items[i].value ?
*items[i].value : NULL, dataWidth,
- items[i].value, items[i].flags);
+ (const char**)items[i].value, items[i].flags);
newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
newtLabel(-1, -1, items[i].text),
@@ -368,8 +351,6 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
int rc;
char ** already_answers = NULL;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
while (questions && *questions) {
entries[i].text = *questions;
entries[i].flags = NEWT_FLAG_SCROLL | (!strcmp(*questions, "Password") ? NEWT_FLAG_PASSWORD : 0);
@@ -380,7 +361,7 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
entries[i].value = NULL;
if (*answers == NULL)
- *answers = (char **) malloc(sizeof(char *) * i);
+ *answers = (char **) calloc(1, sizeof(char *) * i);
else
already_answers = *answers;
diff --git a/mdk-stage1/newt/Makefile b/mdk-stage1/newt/Makefile
deleted file mode 100644
index b5b3ea8b7..000000000
--- a/mdk-stage1/newt/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libnewt
-
-OBJS = newt.o button.o form.o checkbox.o entry.o label.o listbox.o scrollbar.o textbox.o scale.o grid.o windows.o buttonbar.o checkboxtree.o
-
-DEFS = -DVERSION=\"0.50.19\"
-
-INCS = -I../slang
-
-
-TARGETS = $(LIBNAME).a
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/newt/button.c b/mdk-stage1/newt/button.c
deleted file mode 100644
index 1ff360dc5..000000000
--- a/mdk-stage1/newt/button.c
+++ /dev/null
@@ -1,190 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct button {
- char * text;
- int compact;
-};
-
-static void buttonDrawIt(newtComponent co, int active, int pushed);
-static void buttonDrawText(newtComponent co, int active, int pushed);
-
-static void buttonDraw(newtComponent c);
-static void buttonDestroy(newtComponent co);
-static struct eventResult buttonEvent(newtComponent c,
- struct event ev);
-static void buttonPlace(newtComponent co, int newLeft, int newTop);
-
-static struct componentOps buttonOps = {
- buttonDraw,
- buttonEvent,
- buttonDestroy,
- buttonPlace,
- newtDefaultMappedHandler,
-} ;
-
-static newtComponent createButton(int left, int row, const char * text, int compact) {
- newtComponent co;
- struct button * bu;
-
- co = malloc(sizeof(*co));
- bu = malloc(sizeof(struct button));
- co->data = bu;
-
- bu->text = strdup(text);
- bu->compact = compact;
- co->ops = &buttonOps;
-
- if (bu->compact) {
- co->height = 1;
- co->width = strlen(text) + 3;
- } else {
- co->height = 4;
- co->width = strlen(text) + 5;
- }
-
- co->top = row;
- co->left = left;
- co->takesFocus = 1;
- co->isMapped = 0;
-
- newtGotorc(co->top, co->left);
-
- return co;
-}
-
-newtComponent newtCompactButton(int left, int row, const char * text) {
- return createButton(left, row, text, 1);
-}
-
-newtComponent newtButton(int left, int row, const char * text) {
- return createButton(left, row, text, 0);
-}
-
-static void buttonDestroy(newtComponent co) {
- struct button * bu = co->data;
-
- free(bu->text);
- free(bu);
- free(co);
-}
-
-static void buttonPlace(newtComponent co, int newLeft, int newTop) {
- co->top = newTop;
- co->left = newLeft;
-
- newtGotorc(co->top, co->left);
-}
-
-static void buttonDraw(newtComponent co) {
- buttonDrawIt(co, 0, 0);
-}
-
-static void buttonDrawIt(newtComponent co, int active, int pushed) {
- struct button * bu = co->data;
-
- if (!co->isMapped) return;
-
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
-
- if (bu->compact) {
- if (active)
- SLsmg_set_color(NEWT_COLORSET_COMPACTBUTTON);
- else
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
- newtGotorc(co->top+ pushed, co->left + 1 + pushed);
- SLsmg_write_char('<');
- SLsmg_write_string(bu->text);
- SLsmg_write_char('>');
- } else {
- if (pushed) {
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
- newtDrawBox(co->left + 1, co->top + 1, co->width - 1, 3, 0);
-
- SLsmg_set_color(NEWT_COLORSET_WINDOW);
- newtClearBox(co->left, co->top, co->width, 1);
- newtClearBox(co->left, co->top, 1, co->height);
- } else {
- newtDrawBox(co->left, co->top, co->width - 1, 3, 1);
- }
-
- buttonDrawText(co, active, pushed);
- }
-}
-
-static void buttonDrawText(newtComponent co, int active, int pushed) {
- struct button * bu = co->data;
-
- if (pushed) pushed = 1;
-
- if (active)
- SLsmg_set_color(NEWT_COLORSET_ACTBUTTON);
- else
- SLsmg_set_color(NEWT_COLORSET_BUTTON);
-
- newtGotorc(co->top + 1 + pushed, co->left + 1 + pushed);
- SLsmg_write_char(' ');
- SLsmg_write_string(bu->text);
- SLsmg_write_char(' ');
-}
-
-static struct eventResult buttonEvent(newtComponent co,
- struct event ev) {
- struct eventResult er;
- struct button * bu = co->data;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- buttonDrawIt(co, 1, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- buttonDrawIt(co, 0, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_KEYPRESS:
- if (ev.u.key == ' ' || ev.u.key == '\r') {
- if (!bu->compact) {
- /* look pushed */
- buttonDrawIt(co, 1, 1);
- newtRefresh();
- newtDelay(150000);
- buttonDrawIt(co, 1, 0);
- newtRefresh();
- newtDelay(150000);
- }
-
- er.result = ER_EXITFORM;
- } else
- er.result = ER_IGNORED;
- break;
- case EV_MOUSE:
- if (ev.u.mouse.type == MOUSE_BUTTON_DOWN &&
- co->top <= ev.u.mouse.y &&
- co->top + co->height - !bu->compact > ev.u.mouse.y &&
- co->left <= ev.u.mouse.x &&
- co->left + co->width - !bu->compact > ev.u.mouse.x) {
- if (!bu->compact) {
- buttonDrawIt(co, 1, 1);
- newtRefresh();
- newtDelay(150000);
- buttonDrawIt(co, 1, 0);
- newtRefresh();
- newtDelay(150000);
- }
- er.result = ER_EXITFORM;
- }
- break;
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
diff --git a/mdk-stage1/newt/buttonbar.c b/mdk-stage1/newt/buttonbar.c
deleted file mode 100644
index 45473c9d2..000000000
--- a/mdk-stage1/newt/buttonbar.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <stdarg.h>
-
-#include "newt.h"
-
-/* if they try and pack more then 50 buttons, screw 'em */
-newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args) {
- newtGrid grid;
- struct buttonInfo {
- char * name;
- newtComponent * compPtr;
- } buttons[50];
- int num;
- int i;
-
- buttons[0].name = button1, buttons[0].compPtr = b1comp, num = 1;
- while (1) {
- buttons[num].name = va_arg(args, char *);
- if (!buttons[num].name) break;
- buttons[num].compPtr = va_arg(args, newtComponent *);
- num++;
- }
-
- grid = newtCreateGrid(num, 1);
-
- for (i = 0; i < num; i++) {
- *buttons[i].compPtr = newtButton(-1, -1, buttons[i].name);
- newtGridSetField(grid, i, 0, NEWT_GRID_COMPONENT,
- *buttons[i].compPtr,
- num ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- return grid;
-}
-
-newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, b1comp);
-
- grid = newtButtonBarv(button1, b1comp, args);
-
- va_end(args);
-
- return grid;
-}
diff --git a/mdk-stage1/newt/checkbox.c b/mdk-stage1/newt/checkbox.c
deleted file mode 100644
index eee514c98..000000000
--- a/mdk-stage1/newt/checkbox.c
+++ /dev/null
@@ -1,290 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-enum type { CHECK, RADIO };
-
-struct checkbox {
- char * text;
- char * seq;
- char * result;
- newtComponent prevButton, lastButton;
- enum type type;
- char value;
- int active, inactive;
- const void * data;
- int flags;
- int hasFocus;
-};
-
-static void makeActive(newtComponent co);
-
-static void cbDraw(newtComponent c);
-static void cbDestroy(newtComponent co);
-struct eventResult cbEvent(newtComponent co, struct event ev);
-
-static struct componentOps cbOps = {
- cbDraw,
- cbEvent,
- cbDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
- newtComponent prevButton) {
- newtComponent co;
- newtComponent curr;
- struct checkbox * rb;
- char initialValue;
-
- if (isDefault)
- initialValue = '*';
- else
- initialValue = ' ';
-
- co = newtCheckbox(left, top, text, initialValue, " *", NULL);
- rb = co->data;
- rb->type = RADIO;
-
- rb->prevButton = prevButton;
-
- for (curr = co; curr; curr = rb->prevButton) {
- rb = curr->data;
- rb->lastButton = co;
- }
-
- return co;
-}
-
-newtComponent newtRadioGetCurrent(newtComponent setMember) {
- struct checkbox * rb = setMember->data;
-
- setMember = rb->lastButton;
- rb = setMember->data;
-
- while (rb && rb->value != '*') {
- setMember = rb->prevButton;
- if (!setMember)
- return NULL;
- rb = setMember->data;
- }
-
- return setMember;
-}
-
-char newtCheckboxGetValue(newtComponent co) {
- struct checkbox * cb = co->data;
-
- return cb->value;
-}
-
-void newtCheckboxSetValue(newtComponent co, char value) {
- struct checkbox * cb = co->data;
-
- *cb->result = value;
- cbDraw(co);
-}
-
-newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
- const char * seq, char * result) {
- newtComponent co;
- struct checkbox * cb;
-
- if (!seq) seq = " *";
-
- co = malloc(sizeof(*co));
- cb = malloc(sizeof(struct checkbox));
- co->data = cb;
- cb->flags = 0;
- if (result)
- cb->result = result;
- else
- cb->result = &cb->value;
-
- cb->text = strdup(text);
- cb->seq = strdup(seq);
- cb->type = CHECK;
- cb->hasFocus = 0;
- cb->inactive = COLORSET_CHECKBOX;
- cb->active = COLORSET_ACTCHECKBOX;
- defValue ? (*cb->result = defValue) : (*cb->result = cb->seq[0]);
-
- co->ops = &cbOps;
-
- co->callback = NULL;
- co->height = 1;
- co->width = strlen(text) + 4;
- co->top = top;
- co->left = left;
- co->takesFocus = 1;
-
- return co;
-}
-
-void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
- struct checkbox * cb = co->data;
- int row, col;
-
- cb->flags = newtSetFlags(cb->flags, flags, sense);
-
- if (!(cb->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- newtGetrc(&row, &col);
- cbDraw(co);
- newtGotorc(row, col);
-}
-
-static void cbDraw(newtComponent c) {
- struct checkbox * cb = c->data;
-
- if (c->top == -1 || !c->isMapped) return;
-
- if (cb->flags & NEWT_FLAG_DISABLED) {
- cb->inactive = NEWT_COLORSET_DISENTRY;
- cb->active = NEWT_COLORSET_DISENTRY;
- } else {
- cb->inactive = COLORSET_CHECKBOX;
- cb->active = COLORSET_ACTCHECKBOX;
- }
-
- SLsmg_set_color(cb->inactive);
-
- newtGotorc(c->top, c->left);
-
- switch (cb->type) {
- case RADIO:
- SLsmg_write_string("( ) ");
- break;
-
- case CHECK:
- SLsmg_write_string("[ ] ");
- break;
-
- default:
- break;
- }
-
- SLsmg_write_string(cb->text);
-
- if (cb->hasFocus)
- SLsmg_set_color(cb->active);
-
- newtGotorc(c->top, c->left + 1);
- SLsmg_write_char(*cb->result);
-}
-
-static void cbDestroy(newtComponent co) {
- struct checkbox * cb = co->data;
-
- free(cb->text);
- free(cb->seq);
- free(cb);
- free(co);
-}
-
-struct eventResult cbEvent(newtComponent co, struct event ev) {
- struct checkbox * cb = co->data;
- struct eventResult er;
- const char * cur;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- cb->hasFocus = 1;
- cbDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- cb->hasFocus = 0;
- cbDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_KEYPRESS:
- if (ev.u.key == ' ') {
- if (cb->type == RADIO) {
- makeActive(co);
- } else if (cb->type == CHECK) {
- cur = strchr(cb->seq, *cb->result);
- if (!cur)
- *cb->result = *cb->seq;
- else {
- cur++;
- if (! *cur)
- *cb->result = *cb->seq;
- else
- *cb->result = *cur;
- }
- cbDraw(co);
- er.result = ER_SWALLOWED;
-
- if (co->callback)
- co->callback(co, co->callbackData);
- } else {
- er.result = ER_IGNORED;
- }
- } else if(ev.u.key == NEWT_KEY_ENTER) {
- er.result = ER_IGNORED;
- } else {
- er.result = ER_IGNORED;
- }
- break;
- case EV_MOUSE:
- if (ev.u.mouse.type == MOUSE_BUTTON_DOWN) {
- if (cb->type == RADIO) {
- makeActive(co);
- } else if (cb->type == CHECK) {
- cur = strchr(cb->seq, *cb->result);
- if (!cur)
- *cb->result = *cb->seq;
- else {
- cur++;
- if (! *cur)
- *cb->result = *cb->seq;
- else
- *cb->result = *cur;
- }
- cbDraw(co);
- er.result = ER_SWALLOWED;
-
- if (co->callback)
- co->callback(co, co->callbackData);
- }
- }
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
-
-static void makeActive(newtComponent co) {
- struct checkbox * cb = co->data;
- struct checkbox * rb;
- newtComponent curr;
-
- /* find the one that's turned off */
- curr = cb->lastButton;
- rb = curr->data;
- while (curr && rb->value == rb->seq[0]) {
- curr = rb->prevButton;
- if (curr) rb = curr->data;
- }
- if (curr) {
- rb->value = rb->seq[0];
- cbDraw(curr);
- }
- cb->value = cb->seq[1];
- cbDraw(co);
-
- if (co->callback)
- co->callback(co, co->callbackData);
-}
diff --git a/mdk-stage1/newt/checkboxtree.c b/mdk-stage1/newt/checkboxtree.c
deleted file mode 100644
index 00113f23e..000000000
--- a/mdk-stage1/newt/checkboxtree.c
+++ /dev/null
@@ -1,714 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct items {
- char * text;
- const void *data;
- unsigned char selected;
- struct items *next;
- struct items *prev;
- struct items *branch;
- int flags;
- int depth;
-};
-
-struct CheckboxTree {
- newtComponent sb;
- int curWidth; /* size of text w/o scrollbar or border*/
- int curHeight; /* size of text w/o border */
- struct items * itemlist;
- struct items ** flatList, ** currItem, ** firstItem;
- int flatCount;
- int flags;
- int pad;
- char * seq;
- char * result;
-};
-
-static void ctDraw(newtComponent c);
-static void ctDestroy(newtComponent co);
-static void ctPlace(newtComponent co, int newLeft, int newTop);
-struct eventResult ctEvent(newtComponent co, struct event ev);
-static void ctMapped(newtComponent co, int isMapped);
-static struct items * findItem(struct items * items, const void * data);
-static void buildFlatList(newtComponent co);
-static void doBuildFlatList(struct CheckboxTree * ct, struct items * item);
-enum countWhat { COUNT_EXPOSED=0, COUNT_SELECTED=1 };
-static int countItems(struct items * item, enum countWhat justExposed);
-
-static struct componentOps ctOps = {
- ctDraw,
- ctEvent,
- ctDestroy,
- ctPlace,
- ctMapped,
-} ;
-
-static int countItems(struct items * item, enum countWhat what) {
- int count = 0;
-
- while (item) {
- if ((!item->branch && item->selected == what) || (what == COUNT_EXPOSED))
- count++;
- if (item->branch || (what == COUNT_EXPOSED && item->selected))
- count += countItems(item->branch, what);
- item = item->next;
- }
-
- return count;
-}
-
-static void doBuildFlatList(struct CheckboxTree * ct, struct items * item) {
- while (item) {
- ct->flatList[ct->flatCount++] = item;
- if (item->branch && item->selected) doBuildFlatList(ct, item->branch);
- item = item->next;
- }
-}
-
-static void buildFlatList(newtComponent co) {
- struct CheckboxTree * ct = co->data;
-
- if (ct->flatList) free(ct->flatList);
- ct->flatCount = countItems(ct->itemlist, COUNT_EXPOSED);
-
- ct->flatList = malloc(sizeof(*ct->flatList) * (ct->flatCount+1));
- ct->flatCount = 0;
- doBuildFlatList(ct, ct->itemlist);
- ct->flatList[ct->flatCount] = NULL;
-}
-
-int newtCheckboxTreeAddItem(newtComponent co,
- const char * text, const void * data,
- int flags, int index, ...) {
- va_list argList;
- int numIndexes;
- int * indexes;
- int i;
-
- va_start(argList, index);
- numIndexes = 0;
- i = index;
- while (i != NEWT_ARG_LAST) {
- numIndexes++;
- i = va_arg(argList, int);
- }
-
- va_end(argList);
-
- indexes = alloca(sizeof(*indexes) * (numIndexes + 1));
- va_start(argList, index);
- numIndexes = 0;
- i = index;
- va_start(argList, index);
- while (i != NEWT_ARG_LAST) {
- indexes[numIndexes++] = i;
- i = va_arg(argList, int);
- }
- va_end(argList);
-
- indexes[numIndexes++] = NEWT_ARG_LAST;
-
- return newtCheckboxTreeAddArray(co, text, data, flags, indexes);
-}
-
-static int doFindItemPath(struct items * items, void * data, int * path,
- int * len) {
- int where = 0;
-
- while (items) {
- if (items->data == data) {
- if (path) path[items->depth] = where;
- if (len) *len = items->depth + 1;
- return 1;
- }
-
- if (items->branch && doFindItemPath(items->branch, data, path, len)) {
- if (path) path[items->depth] = where;
- return 1;
- }
-
- items = items->next;
- where++;
- }
-
- return 0;
-}
-
-int * newtCheckboxTreeFindItem(newtComponent co, void * data) {
- int len;
- int * path;
- struct CheckboxTree * ct = co->data;
-
- if (!doFindItemPath(ct->itemlist, data, NULL, &len)) return NULL;
-
- path = malloc(sizeof(*path) * (len + 1));
- doFindItemPath(ct->itemlist, data, path, NULL);
- path[len] = NEWT_ARG_LAST;
-
- return path;
-}
-
-int newtCheckboxTreeAddArray(newtComponent co,
- const char * text, const void * data,
- int flags, int * indexes) {
- struct items * curList, * newNode, * item = NULL;
- struct items ** listPtr = NULL;
- int i, index, numIndexes;
- struct CheckboxTree * ct = co->data;
-
- numIndexes = 0;
- while (indexes[numIndexes] != NEWT_ARG_LAST) numIndexes++;
-
- if (!ct->itemlist) {
- if (numIndexes > 1) return -1;
-
- ct->itemlist = malloc(sizeof(*ct->itemlist));
- item = ct->itemlist;
- item->prev = NULL;
- item->next = NULL;
- } else {
- curList = ct->itemlist;
- listPtr = &ct->itemlist;
-
- i = 0;
- index = indexes[i];
- while (i < numIndexes) {
- item = curList;
-
- if (index == NEWT_ARG_APPEND) {
- item = NULL;
- } else {
- while (index && item)
- item = item->next, index--;
- }
-
- i++;
- if (i < numIndexes) {
- curList = item->branch;
- listPtr = &item->branch;
- if (!curList && (i + 1 != numIndexes)) return -1;
-
- index = indexes[i];
- }
- }
-
- if (!curList) { /* create a new branch */
- item = malloc(sizeof(*curList->prev));
- item->next = item->prev = NULL;
- *listPtr = item;
- } else if (!item) { /* append to end */
- item = curList;
- while (item->next) item = item->next;
- item->next = malloc(sizeof(*curList->prev));
- item->next->prev = item;
- item = item->next;
- item->next = NULL;
- } else {
- newNode = malloc(sizeof(*newNode));
- newNode->prev = item->prev;
- newNode->next = item;
-
- if (item->prev) item->prev->next = newNode;
- item->prev = newNode;
- item = newNode;
- if (!item->prev) *listPtr = item;
- }
- }
-
- item->text = strdup(text);
- item->data = data;
- if (flags & NEWT_FLAG_SELECTED) {
- item->selected = 1;
- } else {
- item->selected = 0;
- }
- item->flags = flags;
- item->branch = NULL;
- item->depth = numIndexes - 1;
-
- i = 4 + (3 * item->depth);
-
- if ((strlen(text) + i + ct->pad) > (size_t)co->width) {
- co->width = strlen(text) + i + ct->pad;
- }
-
- return 0;
-}
-
-static struct items * findItem(struct items * items, const void * data) {
- struct items * i;
-
- while (items) {
- if (items->data == data) return items;
- if (items->branch) {
- i = findItem(items->branch, data);
- if (i) return i;
- }
-
- items = items->next;
- }
-
- return NULL;
-}
-
-static void listSelected(struct items * items, int * num, const void ** list, int seqindex) {
- while (items) {
- if ((seqindex ? items->selected==seqindex : items->selected) && !items->branch)
- list[(*num)++] = (void *) items->data;
- if (items->branch)
- listSelected(items->branch, num, list, seqindex);
- items = items->next;
- }
-}
-
-const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems)
-{
- return newtCheckboxTreeGetMultiSelection(co, numitems, 0);
-}
-
-const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum)
-{
- struct CheckboxTree * ct;
- const void **retval;
- int seqindex=0;
-
- if(!co || !numitems) return NULL;
-
- ct = co->data;
-
- if (seqnum) {
- while( ct->seq[seqindex] && ( ct->seq[seqindex] != seqnum )) seqindex++;
- } else {
- seqindex = 0;
- }
-
- *numitems = countItems(ct->itemlist, (seqindex ? seqindex : COUNT_SELECTED));
- if (!*numitems) return NULL;
-
- retval = malloc(*numitems * sizeof(void *));
- *numitems = 0;
- listSelected(ct->itemlist, numitems, retval, seqindex);
-
- return retval;
-}
-
-newtComponent newtCheckboxTree(int left, int top, int height, int flags) {
- return newtCheckboxTreeMulti(left, top, height, NULL, flags);
-}
-
-newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags) {
- newtComponent co;
- struct CheckboxTree * ct;
-
- co = malloc(sizeof(*co));
- ct = malloc(sizeof(struct CheckboxTree));
- co->callback = NULL;
- co->data = ct;
- co->ops = &ctOps;
- co->takesFocus = 1;
- co->height = height;
- co->width = 0;
- co->isMapped = 0;
- ct->itemlist = NULL;
- ct->firstItem = NULL;
- ct->currItem = NULL;
- ct->flatList = NULL;
- if (seq)
- ct->seq = strdup(seq);
- else
- ct->seq = strdup(" *");
- if (flags & NEWT_FLAG_SCROLL) {
- ct->sb = newtVerticalScrollbar(left, top, height,
- COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
- ct->pad = 2;
- } else {
- ct->sb = NULL;
- ct->pad = 0;
- }
-
- return co;
-}
-
-static void ctMapped(newtComponent co, int isMapped) {
- struct CheckboxTree * ct = co->data;
-
- co->isMapped = isMapped;
- if (ct->sb)
- ct->sb->ops->mapped(ct->sb, isMapped);
-}
-
-static void ctPlace(newtComponent co, int newLeft, int newTop) {
- struct CheckboxTree * ct = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (ct->sb)
- ct->sb->ops->place(ct->sb, co->left + co->width - 1, co->top);
-}
-
-int ctSetItem(newtComponent co, struct items *item, enum newtFlagsSense sense)
-{
- struct CheckboxTree * ct = co->data;
- struct items * currItem;
- struct items * firstItem;
-
- if (!item)
- return 1;
-
- switch(sense) {
- case NEWT_FLAGS_RESET:
- item->selected = 0;
- break;
- case NEWT_FLAGS_SET:
- item->selected = 1;
- break;
- case NEWT_FLAGS_TOGGLE:
- if (item->branch)
- item->selected = !item->selected;
- else {
- item->selected++;
- if (item->selected==strlen(ct->seq))
- item->selected = 0;
- }
- break;
- }
-
- if (item->branch) {
- currItem = *ct->currItem;
- firstItem = *ct->firstItem;
-
- buildFlatList(co);
-
- ct->currItem = ct->flatList;
- while (*ct->currItem != currItem) ct->currItem++;
-
- ct->firstItem = ct->flatList;
- if (ct->flatCount > co->height) {
- struct items ** last = ct->flatList + ct->flatCount - co->height;
- while (*ct->firstItem != firstItem && ct->firstItem != last)
- ct->firstItem++;
- }
- }
-
- return 0;
-}
-
-static void ctSetItems(struct items *item, int selected)
-{
- for (; item; item = item->next) {
- if (!item->branch)
- item->selected = selected;
- else
- ctSetItems(item->branch, selected);
- }
-}
-
-static void ctDraw(newtComponent co) {
- struct CheckboxTree * ct = co->data;
- struct items ** item;
- int i, j;
- char * spaces = NULL;
- int currRow = -1;
-
- if (!co->isMapped) return ;
-
- if (!ct->firstItem) {
- buildFlatList(co);
- ct->firstItem = ct->currItem = ct->flatList;
- }
-
- item = ct->firstItem;
-
- i = 0;
- while (*item && i < co->height) {
- newtGotorc(co->top + i, co->left);
- if (*item == *ct->currItem) {
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- currRow = co->top + i;
- } else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- for (j = 0; j < (*item)->depth; j++)
- SLsmg_write_string(" ");
-
- if ((*item)->branch) {
- if ((*item)->selected)
- SLsmg_write_string("<-> ");
- else
- SLsmg_write_string("<+> ");
- } else {
- char tmp[5];
- snprintf(tmp,5,"[%c] ",ct->seq[(*item)->selected]);
- SLsmg_write_string(tmp);
- }
-
- SLsmg_write_nstring((*item)->text, co->width - 4 -
- (3 * (*item)->depth));
- item++;
- i++;
- }
-
- /* There could be empty lines left (i.e. if the user closes an expanded
- list which is the last thing in the tree, and whose elements are
- displayed at the bottom of the screen */
- if (i < co->height) {
- spaces = alloca(co->width);
- memset(spaces, ' ', co->width);
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
- }
- while (i < co->height) {
- newtGotorc(co->top + i, co->left);
- SLsmg_write_nstring(spaces, co->width);
- i++;
- }
-
- if(ct->sb) {
- newtScrollbarSet(ct->sb, ct->currItem - ct->flatList,
- ct->flatCount - 1);
- ct->sb->ops->draw(ct->sb);
- }
-
- newtGotorc(currRow, co->left + 1);
-}
-
-static void ctDestroy(newtComponent co) {
- struct CheckboxTree * ct = co->data;
- struct items * item, * nextitem;
-
- nextitem = item = ct->itemlist;
-
- while (item != NULL) {
- nextitem = item->next;
- free(item->text);
- free(item);
- item = nextitem;
- }
-
- free(ct->seq);
- free(ct);
- free(co);
-}
-
-struct eventResult ctEvent(newtComponent co, struct event ev) {
- struct CheckboxTree * ct = co->data;
- struct eventResult er;
- struct items ** listEnd, ** lastItem;
- int key, selnum = 1;
-
- er.result = ER_IGNORED;
-
- if(ev.when == EV_EARLY || ev.when == EV_LATE) {
- return er;
- }
-
- switch(ev.event) {
- case EV_KEYPRESS:
- key = ev.u.key;
- if (key == (char) key && key != ' ') {
- for (selnum = 0; ct->seq[selnum]; selnum++)
- if (key == ct->seq[selnum])
- break;
- if (!ct->seq[selnum])
- switch (key) {
- case '-': selnum = 0; break;
- case '+':
- case '*': selnum = 1; break;
- }
- if (ct->seq[selnum])
- key = '*';
- }
- switch(key) {
- case ' ':
- case NEWT_KEY_ENTER:
- ctSetItem(co, *ct->currItem, NEWT_FLAGS_TOGGLE);
- er.result = ER_SWALLOWED;
- if (!(*ct->currItem)->branch || (*ct->currItem)->selected)
- key = NEWT_KEY_DOWN;
- else
- key = '*';
- break;
- case '*':
- if ((*ct->currItem)->branch) {
- ctSetItems((*ct->currItem)->branch, selnum);
- if (!(*ct->currItem)->selected)
- key = NEWT_KEY_DOWN;
- } else {
- (*ct->currItem)->selected = selnum;
- key = NEWT_KEY_DOWN;
- }
- er.result = ER_SWALLOWED;
- break;
- }
- switch (key) {
- case '*':
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- return er;
- case NEWT_KEY_HOME:
- ct->currItem = ct->flatList;
- ct->firstItem = ct->flatList;
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_END:
- ct->currItem = ct->flatList + ct->flatCount - 1;
- if (ct->flatCount <= co->height)
- ct->firstItem = ct->flatList;
- else
- ct->firstItem = ct->flatList + ct->flatCount - co->height;
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_DOWN:
- if (ev.u.key != NEWT_KEY_DOWN) {
- if(co->callback) co->callback(co, co->callbackData);
- if (strlen(ct->seq) != 2) {
- ctDraw(co);
- return er;
- }
- }
- if ((ct->currItem - ct->flatList + 1) < ct->flatCount) {
- ct->currItem++;
-
- if (ct->currItem - ct->firstItem >= co->height)
- ct->firstItem++;
-
- ctDraw(co);
- } else if (ev.u.key != NEWT_KEY_DOWN)
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_UP:
- if (ct->currItem != ct->flatList) {
- ct->currItem--;
-
- if (ct->currItem < ct->firstItem)
- ct->firstItem = ct->currItem;
-
- ctDraw(co);
- }
- er.result = ER_SWALLOWED;
- if(co->callback) co->callback(co, co->callbackData);
- return er;
- case NEWT_KEY_PGUP:
- if (ct->firstItem - co->height < ct->flatList) {
- ct->firstItem = ct->currItem = ct->flatList;
- } else {
- ct->currItem -= co->height;
- ct->firstItem -= co->height;
- }
-
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- case NEWT_KEY_PGDN:
- listEnd = ct->flatList + ct->flatCount - 1;
- lastItem = ct->firstItem + co->height - 1;
-
- if (lastItem + co->height > listEnd) {
- ct->firstItem = listEnd - co->height + 1;
- ct->currItem = listEnd;
- } else {
- ct->currItem += co->height;
- ct->firstItem += co->height;
- }
-
- ctDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- return er;
- }
- break;
-
- case EV_FOCUS:
- ctDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- ctDraw(co);
- er.result = ER_SWALLOWED;
- break;
- default:
- break;
- }
-
- return er;
-}
-
-const void * newtCheckboxTreeGetCurrent(newtComponent co) {
- struct CheckboxTree * ct = co->data;
-
- if (!ct->currItem) return NULL;
- return (*ct->currItem)->data;
-}
-
-void newtCheckboxTreeSetEntry(newtComponent co, const void * data, const char * text)
-{
- struct CheckboxTree * ct;
- struct items * item;
- int i;
-
- if (!co) return;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item) return;
-
- free(item->text);
- item->text = strdup(text);
-
- i = 4 + (3 * item->depth);
-
- if ((strlen(text) + i + ct->pad) > (size_t)co->width) {
- co->width = strlen(text) + i + ct->pad;
- }
-
- ctDraw(co);
-}
-
-char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data)
-{
- struct CheckboxTree * ct;
- struct items * item;
-
- if (!co) return -1;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item) return -1;
- if (item->branch)
- return item->selected ? NEWT_CHECKBOXTREE_EXPANDED : NEWT_CHECKBOXTREE_COLLAPSED;
- else
- return ct->seq[item->selected];
-}
-
-void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data, char value)
-{
- struct CheckboxTree * ct;
- struct items * item;
- int i;
-
- if (!co) return;
- ct = co->data;
- item = findItem(ct->itemlist, data);
- if (!item || item->branch) return;
-
- for(i = 0; ct->seq[i]; i++)
- if (value == ct->seq[i])
- break;
-
- if (!ct->seq[i]) return;
- item->selected = i;
-
- ctDraw(co);
-}
-
diff --git a/mdk-stage1/newt/entry.c b/mdk-stage1/newt/entry.c
deleted file mode 100644
index 1b33f1c6f..000000000
--- a/mdk-stage1/newt/entry.c
+++ /dev/null
@@ -1,376 +0,0 @@
-#include <ctype.h>
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct entry {
- int flags;
- char * buf;
- char ** resultPtr;
- int bufAlloced;
- int bufUsed; /* amount of the buffer that's been used */
- int cursorPosition; /* cursor *in the string* on on screen */
- int firstChar; /* first character position being shown */
- newtEntryFilter filter;
- void * filterData;
-};
-
-static void entryDraw(newtComponent co);
-static void entryDestroy(newtComponent co);
-static struct eventResult entryEvent(newtComponent co,
- struct event ev);
-
-static struct eventResult entryHandleKey(newtComponent co, int key);
-
-static struct componentOps entryOps = {
- entryDraw,
- entryEvent,
- entryDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd) {
- struct entry * en = co->data;
-
- if ((strlen(value) + 1) > (unsigned int)en->bufAlloced) {
- free(en->buf);
- en->bufAlloced = strlen(value) + 1;
- en->buf = malloc(en->bufAlloced);
- if (en->resultPtr) *en->resultPtr = en->buf;
- }
- memset(en->buf, 0, en->bufAlloced); /* clear the buffer */
- strcpy(en->buf, value);
- en->bufUsed = strlen(value);
- en->firstChar = 0;
- if (cursorAtEnd)
- en->cursorPosition = en->bufUsed;
- else
- en->cursorPosition = 0;
-
- entryDraw(co);
-} ;
-
-newtComponent newtEntry(int left, int top, const char * initialValue, int width,
- char ** resultPtr, int flags) {
- newtComponent co;
- struct entry * en;
-
- co = malloc(sizeof(*co));
- en = malloc(sizeof(struct entry));
- co->data = en;
-
- co->top = top;
- co->left = left;
- co->height = 1;
- co->width = width;
- co->isMapped = 0;
- co->callback = NULL;
-
- co->ops = &entryOps;
-
- en->flags = flags;
- en->cursorPosition = 0;
- en->firstChar = 0;
- en->bufUsed = 0;
- en->bufAlloced = width + 1;
- en->filter = NULL;
-
- if (!(en->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- if (initialValue && strlen(initialValue) > (unsigned int)width) {
- en->bufAlloced = strlen(initialValue) + 1;
- }
- en->buf = malloc(en->bufAlloced);
- en->resultPtr = resultPtr;
- if (en->resultPtr) *en->resultPtr = en->buf;
-
- memset(en->buf, 0, en->bufAlloced);
- if (initialValue) {
- strcpy(en->buf, initialValue);
- en->bufUsed = strlen(initialValue);
- en->cursorPosition = en->bufUsed;
- } else {
- *en->buf = '\0';
- en->bufUsed = 0;
- en->cursorPosition = 0;
- }
-
- return co;
-}
-
-static void entryDraw(newtComponent co) {
- struct entry * en = co->data;
- int i;
- char * chptr;
- int len;
-
- if (!co->isMapped) return;
-
- if (en->flags & NEWT_FLAG_DISABLED)
- SLsmg_set_color(NEWT_COLORSET_DISENTRY);
- else
- SLsmg_set_color(NEWT_COLORSET_ENTRY);
-
- if (en->flags & NEWT_FLAG_HIDDEN) {
- newtGotorc(co->top, co->left);
- for (i = 0; i < co->width; i++)
- SLsmg_write_char('_');
- newtGotorc(co->top, co->left);
-
- return;
- }
-
- newtGotorc(co->top, co->left);
-
- if (en->cursorPosition < en->firstChar) {
- /* scroll to the left */
- en->firstChar = en->cursorPosition;
- } else if ((en->firstChar + co->width) <= en->cursorPosition) {
- /* scroll to the right */
- en->firstChar = en->cursorPosition - co->width + 1;
- }
-
- chptr = en->buf + en->firstChar;
-
- if (en->flags & NEWT_FLAG_PASSWORD) {
- char *tmpptr, *p;
-
- tmpptr = alloca(strlen(chptr+2));
- strcpy(tmpptr, chptr);
- for (p = tmpptr; *p; p++)
- *p = '*';
- chptr = tmpptr;
- }
-
- len = strlen(chptr);
-
- if (len <= co->width) {
- i = len;
- SLsmg_write_string(chptr);
- while (i < co->width) {
- SLsmg_write_char('_');
- i++;
- }
- } else {
- SLsmg_write_nstring(chptr, co->width);
- }
-
- if (en->flags & NEWT_FLAG_HIDDEN)
- newtGotorc(co->top, co->left);
- else
- newtGotorc(co->top, co->left + (en->cursorPosition - en->firstChar));
-}
-
-void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
- struct entry * en = co->data;
- int row, col;
-
- en->flags = newtSetFlags(en->flags, flags, sense);
-
- if (!(en->flags & NEWT_FLAG_DISABLED))
- co->takesFocus = 1;
- else
- co->takesFocus = 0;
-
- newtGetrc(&row, &col);
- entryDraw(co);
- newtGotorc(row, col);
-}
-
-static void entryDestroy(newtComponent co) {
- struct entry * en = co->data;
-
- free(en->buf);
- free(en);
- free(co);
-}
-
-static struct eventResult entryEvent(newtComponent co,
- struct event ev) {
- struct entry * en = co->data;
- struct eventResult er;
- int ch;
-
- if (ev.when == EV_NORMAL) {
- switch (ev.event) {
- case EV_FOCUS:
- newtCursorOn();
- if (en->flags & NEWT_FLAG_HIDDEN)
- newtGotorc(co->top, co->left);
- else
- newtGotorc(co->top, co->left +
- (en->cursorPosition - en->firstChar));
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- newtCursorOff();
- newtGotorc(0, 0);
- er.result = ER_SWALLOWED;
- if (co->callback)
- co->callback(co, co->callbackData);
- break;
-
- case EV_KEYPRESS:
- ch = ev.u.key;
- if (en->filter)
- ch = en->filter(co, en->filterData, ch, en->cursorPosition);
- if (ch) er = entryHandleKey(co, ch);
- break;
-
- case EV_MOUSE:
- if ((ev.u.mouse.type == MOUSE_BUTTON_DOWN) &&
- (en->flags ^ NEWT_FLAG_HIDDEN)) {
- if (strlen(en->buf) >= (size_t) (ev.u.mouse.x - co->left)) {
- en->cursorPosition = ev.u.mouse.x - co->left;
- newtGotorc(co->top,
- co->left +(en->cursorPosition - en->firstChar));
- } else {
- en->cursorPosition = strlen(en->buf);
- newtGotorc(co->top,
- co->left +(en->cursorPosition - en->firstChar));
- }
- }
- break;
- }
- } else
- er.result = ER_IGNORED;
-
- return er;
-}
-
-static struct eventResult entryHandleKey(newtComponent co, int key) {
- struct entry * en = co->data;
- struct eventResult er;
- char * chptr, * insPoint;
-
- er.result = ER_SWALLOWED;
- switch (key) {
- case '\r': /* Return */
- if (en->flags & NEWT_FLAG_RETURNEXIT) {
- er.result = ER_EXITFORM;
- } else {
- er.result = ER_NEXTCOMP;
- }
- break;
-
- case '\001': /* ^A */
- case NEWT_KEY_HOME:
- en->cursorPosition = 0;
- break;
-
- case '\005': /* ^E */
- case NEWT_KEY_END:
- en->cursorPosition = en->bufUsed;
- break;
-
- case '\013': /* ^K */
- en->bufUsed = en->cursorPosition;
- memset(en->buf + en->bufUsed, 0, en->bufAlloced - en->bufUsed);
- break;
-
- case '\002': /* ^B */
- case NEWT_KEY_LEFT:
- if (en->cursorPosition)
- en->cursorPosition--;
- break;
-
- case '\004':
- case NEWT_KEY_DELETE:
- chptr = en->buf + en->cursorPosition;
- if (*chptr) {
- chptr++;
- while (*chptr) {
- *(chptr - 1) = *chptr;
- chptr++;
- }
- *(chptr - 1) = '\0';
- en->bufUsed--;
- }
- break;
-
- case NEWT_KEY_BKSPC:
- if (en->cursorPosition) {
- /* if this isn't true, there's nothing to erase */
- chptr = en->buf + en->cursorPosition;
- en->bufUsed--;
- en->cursorPosition--;
- while (*chptr) {
- *(chptr - 1) = *chptr;
- chptr++;
- }
- *(chptr - 1) = '\0';
- }
- break;
-
- case '\006': /* ^B */
- case NEWT_KEY_RIGHT:
- if (en->cursorPosition < en->bufUsed)
- en->cursorPosition++;
- break;
-
- default:
- if ((key >= 0x20 && key <= 0x7e) || (key >= 0xa0 && key <= 0xff)) {
- if (!(en->flags & NEWT_FLAG_SCROLL) && en->bufUsed >= co->width) {
- SLtt_beep();
- break;
- }
-
- if ((en->bufUsed + 1) == en->bufAlloced) {
- en->bufAlloced += 20;
- en->buf = realloc(en->buf, en->bufAlloced);
- if (en->resultPtr) *en->resultPtr = en->buf;
- memset(en->buf + en->bufUsed + 1, 0, 20);
- }
-
- if (en->cursorPosition == en->bufUsed) {
- en->bufUsed++;
- } else {
- /* insert the new character */
-
- /* chptr is the last character in the string */
- chptr = (en->buf + en->bufUsed) - 1;
- if ((en->bufUsed + 1) == en->bufAlloced) {
- /* this string fills the buffer, so clip it */
- chptr--;
- } else
- en->bufUsed++;
-
- insPoint = en->buf + en->cursorPosition;
-
- while (chptr >= insPoint) {
- *(chptr + 1) = *chptr;
- chptr--;
- }
-
- }
-
- en->buf[en->cursorPosition++] = key;
- } else {
- er.result = ER_IGNORED;
- }
- }
-
- entryDraw(co);
-
- return er;
-}
-
-char * newtEntryGetValue(newtComponent co) {
- struct entry * en = co->data;
-
- return en->buf;
-}
-
-void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data) {
- struct entry * en = co->data;
- en->filter = filter;
- en->filterData = data;
-}
diff --git a/mdk-stage1/newt/form.c b/mdk-stage1/newt/form.c
deleted file mode 100644
index ad7520e95..000000000
--- a/mdk-stage1/newt/form.c
+++ /dev/null
@@ -1,713 +0,0 @@
-#include <unistd.h>
-#include <slang.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-
-/****************************************************************************
- These forms handle vertical scrolling of components with a height of 1
-
- Horizontal scrolling won't work, and scrolling large widgets will fail
- miserably. It shouldn't be too hard to fix either of those if anyone
- cares to. I only use scrolling for listboxes and text boxes though so
- I didn't bother.
-*****************************************************************************/
-
-struct element {
- int top, left; /* Actual, not virtual. These are translated */
- newtComponent co; /* into actual through vertOffset */
-};
-
-struct fdInfo {
- int fd;
- int flags;
-};
-
-struct form {
- int numCompsAlloced;
- struct element * elements;
- int numComps;
- int currComp;
- int fixedHeight;
- int flags;
- int vertOffset;
- newtComponent vertBar, exitComp;
- const char * help;
- int numRows;
- int * hotKeys;
- int numHotKeys;
- int background;
- int beenSet;
- int numFds;
- struct fdInfo * fds;
- int maxFd;
- int timer; /* in milliseconds */
- struct timeval lastTimeout;
- void * helpTag;
- newtCallback helpCb;
-};
-
-static void gotoComponent(struct form * form, int newComp);
-static struct eventResult formEvent(newtComponent co, struct event ev);
-static struct eventResult sendEvent(newtComponent comp, struct event ev);
-static void formPlace(newtComponent co, int left, int top);
-
-/* Global, ick */
-static newtCallback helpCallback;
-
-/* this isn't static as grid.c tests against it to find forms */
-struct componentOps formOps = {
- newtDrawForm,
- formEvent,
- newtFormDestroy,
- formPlace,
- newtDefaultMappedHandler,
-} ;
-
-static inline int componentFits(newtComponent co, int compNum) {
- struct form * form = co->data;
- struct element * el = form->elements + compNum;
-
- if ((co->top + form->vertOffset) > el->top) return 0;
- if ((co->top + form->vertOffset + co->height) <
- (el->top + el->co->height)) return 0;
-
- return 1;
-}
-
-newtComponent newtForm(newtComponent vertBar, void * help, int flags) {
- newtComponent co;
- struct form * form;
-
- co = malloc(sizeof(*co));
- form = malloc(sizeof(*form));
- co->data = form;
- co->width = 0;
- co->height = 0;
- co->top = -1;
- co->left = -1;
- co->isMapped = 0;
-
- co->takesFocus = 0; /* we may have 0 components */
- co->ops = &formOps;
-
- form->help = help;
- form->flags = flags;
- form->numCompsAlloced = 5;
- form->numComps = 0;
- form->currComp = -1;
- form->vertOffset = 0;
- form->fixedHeight = 0;
- form->numRows = 0;
- form->numFds = 0;
- form->maxFd = 0;
- form->fds = NULL;
- form->beenSet = 0;
- form->elements = malloc(sizeof(*(form->elements)) * form->numCompsAlloced);
-
- form->background = COLORSET_WINDOW;
- form->hotKeys = malloc(sizeof(int));
- form->numHotKeys = 0;
- form->timer = 0;
- form->lastTimeout.tv_sec = form->lastTimeout.tv_usec = 0;
- if (!(form->flags & NEWT_FLAG_NOF12)) {
- newtFormAddHotKey(co, NEWT_KEY_F12);
- }
-
- if (vertBar)
- form->vertBar = vertBar;
- else
- form->vertBar = NULL;
-
- form->helpTag = help;
- form->helpCb = helpCallback;
-
- return co;
-}
-
-newtComponent newtFormGetCurrent(newtComponent co) {
- struct form * form = co->data;
-
- return form->elements[form->currComp].co;
-}
-
-void newtFormSetCurrent(newtComponent co, newtComponent subco) {
- struct form * form = co->data;
- int i, new;
-
- for (i = 0; i < form->numComps; i++) {
- if (form->elements[i].co == subco) break;
- }
-
- if (form->elements[i].co != subco) return;
- new = i;
-
- if (co->isMapped && !componentFits(co, new)) {
- gotoComponent(form, -1);
- form->vertOffset = form->elements[new].top - co->top - 1;
- if (form->vertOffset > (form->numRows - co->height))
- form->vertOffset = form->numRows - co->height;
- }
-
- gotoComponent(form, new);
-}
-
-void newtFormSetTimer(newtComponent co, int millisecs) {
- struct form * form = co->data;
-
- form->timer = millisecs;
- form->lastTimeout.tv_usec = 0;
- form->lastTimeout.tv_sec = 0;
-}
-
-void newtFormSetHeight(newtComponent co, int height) {
- struct form * form = co->data;
-
- form->fixedHeight = 1;
- co->height = height;
-}
-
-void newtFormSetWidth(newtComponent co, int width) {
- co->width = width;
-}
-
-void newtFormAddComponent(newtComponent co, newtComponent newco) {
- struct form * form = co->data;
-
- co->takesFocus = 1;
-
- if (form->numCompsAlloced == form->numComps) {
- form->numCompsAlloced += 5;
- form->elements = realloc(form->elements,
- sizeof(*(form->elements)) * form->numCompsAlloced);
- }
-
- /* we grab real values for these a bit later */
- form->elements[form->numComps].left = -2;
- form->elements[form->numComps].top = -2;
- form->elements[form->numComps].co = newco;
-
- if (newco->takesFocus && form->currComp == -1)
- form->currComp = form->numComps;
-
- form->numComps++;
-}
-
-void newtFormAddComponents(newtComponent co, ...) {
- va_list ap;
- newtComponent subco;
-
- va_start(ap, co);
-
- while ((subco = va_arg(ap, newtComponent)))
- newtFormAddComponent(co, subco);
-
- va_end(ap);
-}
-
-static void formPlace(newtComponent co, int left, int top) {
- struct form * form = co->data;
- int vertDelta, horizDelta;
- struct element * el;
- int i;
-
- newtFormSetSize(co);
-
- vertDelta = top - co->top;
- horizDelta = left - co->left;
- co->top = top;
- co->left = left;
-
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- el->co->top += vertDelta;
- el->top += vertDelta;
- el->co->left += horizDelta;
- el->left += horizDelta;
- }
-}
-
-void newtDrawForm(newtComponent co) {
- struct form * form = co->data;
- struct element * el;
- int i;
-
- newtFormSetSize(co);
-
- SLsmg_set_color(form->background);
- newtClearBox(co->left, co->top, co->width, co->height);
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- /* the scrollbar *always* fits somewhere */
- if (el->co == form->vertBar) {
- el->co->ops->mapped(el->co, 1);
- el->co->ops->draw(el->co);
- } else {
- /* only draw it if it'll fit on the screen vertically */
- if (componentFits(co, i)) {
- el->co->top = el->top - form->vertOffset;
- el->co->ops->mapped(el->co, 1);
- el->co->ops->draw(el->co);
- } else {
- el->co->ops->mapped(el->co, 0);
- }
- }
- }
-
- if (form->vertBar)
- newtScrollbarSet(form->vertBar, form->vertOffset,
- form->numRows - co->height);
-}
-
-static struct eventResult formEvent(newtComponent co, struct event ev) {
- struct form * form = co->data;
- newtComponent subco = form->elements[form->currComp].co;
- int new, wrap = 0;
- struct eventResult er;
- int dir = 0, page = 0;
- int i, num, found;
- struct element * el;
-
- er.result = ER_IGNORED;
- if (!form->numComps) return er;
-
- subco = form->elements[form->currComp].co;
-
- switch (ev.when) {
- case EV_EARLY:
- if (ev.event == EV_KEYPRESS) {
- if (ev.u.key == NEWT_KEY_TAB) {
- er.result = ER_SWALLOWED;
- dir = 1;
- wrap = 1;
- } else if (ev.u.key == NEWT_KEY_UNTAB) {
- er.result = ER_SWALLOWED;
- dir = -1;
- wrap = 1;
- }
- }
-
- if (form->numComps) {
- i = form->currComp;
- num = 0;
- while (er.result == ER_IGNORED && num != form->numComps ) {
- er = form->elements[i].co->ops->event(form->elements[i].co, ev);
-
- num++;
- i++;
- if (i == form->numComps) i = 0;
- }
- }
-
- break;
-
- case EV_NORMAL:
- if (ev.event == EV_MOUSE) {
- found = 0;
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- if ((el->co->top <= ev.u.mouse.y) &&
- (el->co->top + el->co->height > ev.u.mouse.y) &&
- (el->co->left <= ev.u.mouse.x) &&
- (el->co->left + el->co->width > ev.u.mouse.x)) {
- found = 1;
- if (el->co->takesFocus) {
- gotoComponent(form, i);
- subco = form->elements[form->currComp].co;
- }
- }
- /* If we did not find a co to send this event to, we
- should just swallow the event here. */
- }
- if (!found) {
- er.result = ER_SWALLOWED;
-
- return er;
- }
- }
- er = subco->ops->event(subco, ev);
- switch (er.result) {
- case ER_NEXTCOMP:
- er.result = ER_SWALLOWED;
- dir = 1;
- break;
-
- case ER_EXITFORM:
- form->exitComp = subco;
- break;
-
- default:
- break;
- }
- break;
-
- case EV_LATE:
- er = subco->ops->event(subco, ev);
-
- if (er.result == ER_IGNORED) {
- switch (ev.u.key) {
- case NEWT_KEY_UP:
- case NEWT_KEY_LEFT:
- case NEWT_KEY_BKSPC:
- er.result = ER_SWALLOWED;
- dir = -1;
- break;
-
- case NEWT_KEY_DOWN:
- case NEWT_KEY_RIGHT:
- er.result = ER_SWALLOWED;
- dir = 1;
- break;
-
- case NEWT_KEY_PGUP:
- er.result = ER_SWALLOWED;
- dir = -1;
- page = 1;
- break;
-
- case NEWT_KEY_PGDN:
- er.result = ER_SWALLOWED;
- dir = 1;
- page = 1;
- break;
- }
- }
- }
-
- if (dir) {
- new = form->currComp;
-
- if (page) {
- new += dir * co->height;
- if (new < 0)
- new = 0;
- else if (new >= form->numComps)
- new = (form->numComps - 1);
-
- while (!form->elements[new].co->takesFocus)
- new = new - dir;
- } else {
- do {
- new += dir;
-
- if (wrap) {
- if (new < 0)
- new = form->numComps - 1;
- else if (new >= form->numComps)
- new = 0;
- } else if (new < 0 || new >= form->numComps)
- return er;
- } while (!form->elements[new].co->takesFocus);
- }
-
- /* make sure this component is visible */
- if (!componentFits(co, new)) {
- gotoComponent(form, -1);
-
- if (dir < 0) {
- /* make the new component the first one */
- form->vertOffset = form->elements[new].top - co->top;
- } else {
- /* make the new component the last one */
- form->vertOffset = (form->elements[new].top +
- form->elements[new].co->height) -
- (co->top + co->height);
- }
-
- if (form->vertOffset < 0) form->vertOffset = 0;
- if (form->vertOffset > (form->numRows - co->height))
- form->vertOffset = form->numRows - co->height;
-
- newtDrawForm(co);
- }
-
- gotoComponent(form, new);
- er.result = ER_SWALLOWED;
- }
-
- return er;
-}
-
-/* this also destroys all of the components on the form */
-void newtFormDestroy(newtComponent co) {
- newtComponent subco;
- struct form * form = co->data;
- int i;
-
- /* first, destroy all of the components */
- for (i = 0; i < form->numComps; i++) {
- subco = form->elements[i].co;
- if (subco->ops->destroy) {
- subco->ops->destroy(subco);
- } else {
- if (subco->data) free(subco->data);
- free(subco);
- }
- }
-
- if (form->hotKeys) free(form->hotKeys);
-
- free(form->elements);
- free(form);
- free(co);
-}
-
-newtComponent newtRunForm(newtComponent co) {
- struct newtExitStruct es;
-
- newtFormRun(co, &es);
- if (es.reason == NEWT_EXIT_HOTKEY) {
- if (es.u.key == NEWT_KEY_F12) {
- es.reason = NEWT_EXIT_COMPONENT;
- es.u.co = co;
- } else {
- return NULL;
- }
- }
-
- return es.u.co;
-}
-
-void newtFormAddHotKey(newtComponent co, int key) {
- struct form * form = co->data;
-
- form->numHotKeys++;
- form->hotKeys = realloc(form->hotKeys, sizeof(int) * form->numHotKeys);
- form->hotKeys[form->numHotKeys - 1] = key;
-}
-
-void newtFormSetSize(newtComponent co) {
- struct form * form = co->data;
- int delta, i;
- struct element * el;
-
- if (form->beenSet) return;
-
- form->beenSet = 1;
-
- if (!form->numComps) return;
-
- co->width = 0;
- if (!form->fixedHeight) co->height = 0;
-
- co->top = form->elements[0].co->top;
- co->left = form->elements[0].co->left;
- for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
- if (el->co->ops == &formOps)
- newtFormSetSize(el->co);
-
- el->left = el->co->left;
- el->top = el->co->top;
-
- if (co->left > el->co->left) {
- delta = co->left - el->co->left;
- co->left -= delta;
- co->width += delta;
- }
-
- if (co->top > el->co->top) {
- delta = co->top - el->co->top;
- co->top -= delta;
- if (!form->fixedHeight)
- co->height += delta;
- }
-
- if ((co->left + co->width) < (el->co->left + el->co->width))
- co->width = (el->co->left + el->co->width) - co->left;
-
- if (!form->fixedHeight) {
- if ((co->top + co->height) < (el->co->top + el->co->height))
- co->height = (el->co->top + el->co->height) - co->top;
- }
-
- if ((el->co->top + el->co->height - co->top) > form->numRows) {
- form->numRows = el->co->top + el->co->height - co->top;
- }
- }
-}
-
-void newtFormRun(newtComponent co, struct newtExitStruct * es) {
- struct form * form = co->data;
- struct event ev;
- struct eventResult er;
- int key, i, max;
- int done = 0;
- fd_set readSet, writeSet;
- struct timeval nextTimeout, now, timeout;
-
- newtFormSetSize(co);
- /* draw all of the components */
- newtDrawForm(co);
-
- if (form->currComp == -1) {
- gotoComponent(form, 0);
- } else
- gotoComponent(form, form->currComp);
-
- while (!done) {
- newtRefresh();
-
- FD_ZERO(&readSet);
- FD_ZERO(&writeSet);
- FD_SET(0, &readSet);
- max = form->maxFd;
-
- for (i = 0; i < form->numFds; i++) {
- if (form->fds[i].flags & NEWT_FD_READ)
- FD_SET(form->fds[i].fd, &readSet);
- if (form->fds[i].flags & NEWT_FD_WRITE)
- FD_SET(form->fds[i].fd, &writeSet);
- }
-
- if (form->timer) {
- /* Calculate when we next need to return with a timeout. Do
- this inside the loop in case a callback resets the timer. */
- if (!form->lastTimeout.tv_sec && !form->lastTimeout.tv_usec)
- gettimeofday(&form->lastTimeout, NULL);
-
- nextTimeout.tv_sec = form->lastTimeout.tv_sec +
- (form->timer / 1000);
- nextTimeout.tv_usec = form->lastTimeout.tv_usec +
- (form->timer % 1000) * 1000;
-
- gettimeofday(&now, 0);
-
- if (now.tv_sec > nextTimeout.tv_sec) {
- timeout.tv_sec = timeout.tv_usec = 0;
- } else if (now.tv_sec == nextTimeout.tv_sec) {
- timeout.tv_sec = 0;
- if (now.tv_usec > nextTimeout.tv_usec)
- timeout.tv_usec = 0;
- else
- timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
- } else if (now.tv_sec < nextTimeout.tv_sec) {
- timeout.tv_sec = nextTimeout.tv_sec - now.tv_sec;
- if (now.tv_usec > nextTimeout.tv_usec)
- timeout.tv_sec--,
- timeout.tv_usec = nextTimeout.tv_usec + 1000000 -
- now.tv_usec;
- else
- timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
- }
- } else {
- timeout.tv_sec = timeout.tv_usec = 0;
- }
-
- i = select(max + 1, &readSet, &writeSet, NULL,
- form->timer ? &timeout : NULL);
- if (i < 0) continue; /* ?? What should we do here? */
-
- if (i == 0) {
- done = 1;
- es->reason = NEWT_EXIT_TIMER;
- gettimeofday(&form->lastTimeout, NULL);
- } else
- {
- if (FD_ISSET(0, &readSet)) {
-
- key = newtGetKey();
-
- if (key == NEWT_KEY_RESIZE) {
- /* newtResizeScreen(1); */
- continue;
- }
-
- for (i = 0; i < form->numHotKeys; i++) {
- if (form->hotKeys[i] == key) {
- es->reason = NEWT_EXIT_HOTKEY;
- es->u.key = key;
- done = 1;
- break;
- }
- }
-
- if (key == NEWT_KEY_F1 && form->helpTag && form->helpCb)
- form->helpCb(co, form->helpTag);
-
- if (!done) {
- ev.event = EV_KEYPRESS;
- ev.u.key = key;
-
- er = sendEvent(co, ev);
-
- if (er.result == ER_EXITFORM) {
- done = 1;
- es->reason = NEWT_EXIT_COMPONENT;
- es->u.co = form->exitComp;
- }
- }
- } else {
- es->reason = NEWT_EXIT_FDREADY;
- done = 1;
- }
- }
- }
- newtRefresh();
-}
-
-static struct eventResult sendEvent(newtComponent co, struct event ev) {
- struct eventResult er;
-
- ev.when = EV_EARLY;
- er = co->ops->event(co, ev);
-
- if (er.result == ER_IGNORED) {
- ev.when = EV_NORMAL;
- er = co->ops->event(co, ev);
- }
-
- if (er.result == ER_IGNORED) {
- ev.when = EV_LATE;
- er = co->ops->event(co, ev);
- }
-
- return er;
-}
-
-static void gotoComponent(struct form * form, int newComp) {
- struct event ev;
-
- if (form->currComp != -1) {
- ev.event = EV_UNFOCUS;
- sendEvent(form->elements[form->currComp].co, ev);
- }
-
- form->currComp = newComp;
-
- if (form->currComp != -1) {
- ev.event = EV_FOCUS;
- ev.when = EV_NORMAL;
- sendEvent(form->elements[form->currComp].co, ev);
- }
-}
-
-void newtComponentAddCallback(newtComponent co, newtCallback f, void * data) {
- co->callback = f;
- co->callbackData = data;
-}
-
-void newtComponentTakesFocus(newtComponent co, int val) {
- co->takesFocus = val;
-}
-
-void newtFormSetBackground(newtComponent co, int color) {
- struct form * form = co->data;
-
- form->background = color;
-}
-
-void newtFormWatchFd(newtComponent co, int fd, int fdFlags) {
- struct form * form = co->data;
-
- form->fds = realloc(form->fds, (form->numFds + 1) * sizeof(*form->fds));
- form->fds[form->numFds].fd = fd;
- form->fds[form->numFds++].flags = fdFlags;
- if (form->maxFd < fd) form->maxFd = fd;
-}
-
-void newtSetHelpCallback(newtCallback cb) {
- helpCallback = cb;
-}
diff --git a/mdk-stage1/newt/grid.c b/mdk-stage1/newt/grid.c
deleted file mode 100644
index 37d2b2e74..000000000
--- a/mdk-stage1/newt/grid.c
+++ /dev/null
@@ -1,389 +0,0 @@
-#include <alloca.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct gridField {
- enum newtGridElement type;
- union {
- newtGrid grid;
- newtComponent co;
- } u;
- int padLeft, padTop, padRight, padBottom;
- int anchor;
- int flags;
-};
-
-struct grid_s {
- int rows, cols;
- int width, height; /* totals, -1 means unknown */
- struct gridField ** fields;
-};
-
-/* this is a bit of a hack */
-extern struct componentOps formOps[];
-
-newtGrid newtCreateGrid(int cols, int rows) {
- newtGrid grid;
-
- grid = malloc(sizeof(*grid));
- grid->rows = rows;
- grid->cols = cols;
-
- grid->fields = malloc(sizeof(*grid->fields) * cols);
- while (cols--) {
- grid->fields[cols] = malloc(sizeof(**(grid->fields)) * rows);
- memset(grid->fields[cols], 0, sizeof(**(grid->fields)) * rows);
- }
-
- grid->width = grid->height = -1;
-
- return grid;
-}
-
-void newtGridSetField(newtGrid grid, int col, int row,
- enum newtGridElement type, void * val, int padLeft,
- int padTop, int padRight, int padBottom, int anchor,
- int flags) {
- struct gridField * field = &grid->fields[col][row];
-
- if (field->type == NEWT_GRID_SUBGRID)
- newtGridFree(field->u.grid, 1);
-
- field->type = type;
- field->u.co = (void *) val;
-
- field->padLeft = padLeft;
- field->padRight = padRight;
- field->padTop = padTop;
- field->padBottom = padBottom;
- field->anchor = anchor;
- field->flags = flags;
-
- grid->width = grid->height = -1;
-}
-
-static void distSpace(int extra, int items, int * list) {
- int all, some, i;
-
- all = extra / items;
- some = extra % items;
- for (i = 0; i < items; i++) {
- list[i] += all;
- if (some) {
- list[i]++;
- some--;
- }
- }
-}
-
-static void shuffleGrid(newtGrid grid, int left, int top, int set) {
- struct gridField * field;
- int row, col;
- int i, j;
- int minWidth, minHeight;
- int * widths, * heights;
- int thisLeft, thisTop;
- int x, y, remx, remy;
-
- widths = alloca(sizeof(*widths) * grid->cols);
- memset(widths, 0, sizeof(*widths) * grid->cols);
- heights = alloca(sizeof(*heights) * grid->rows);
- memset(heights, 0, sizeof(*heights) * grid->rows);
-
- minWidth = 0;
- for (row = 0; row < grid->rows; row++) {
- i = 0;
- for (col = 0; col < grid->cols; col++) {
- field = &grid->fields[col][row];
- if (field->type == NEWT_GRID_SUBGRID) {
- /* we'll have to redo this later */
- if (field->u.grid->width == -1)
- shuffleGrid(field->u.grid, left, top, 0);
- j = field->u.grid->width;
- } else if (field->type == NEWT_GRID_COMPONENT) {
- if (field->u.co->ops == formOps)
- newtFormSetSize(field->u.co);
- j = field->u.co->width;
- } else
- j = 0;
-
- j += field->padLeft + field->padRight;
-
- if (j > widths[col]) widths[col] = j;
- i += widths[col];
- }
-
- if (i > minWidth) minWidth = i;
- }
-
- minHeight = 0;
- for (col = 0; col < grid->cols; col++) {
- i = 0;
- for (row = 0; row < grid->rows; row++) {
- field = &grid->fields[col][row];
- if (field->type == NEWT_GRID_SUBGRID) {
- /* we'll have to redo this later */
- if (field->u.grid->height == -1)
- shuffleGrid(field->u.grid, 0, 0, 0);
- j = field->u.grid->height;
- } else if (field->type == NEWT_GRID_COMPONENT){
- j = field->u.co->height;
- } else
- j = 0;
-
- j += field->padTop + field->padBottom;
-
- if (j > heights[row]) heights[row] = j;
- i += heights[row];
- }
-
- if (i > minHeight) minHeight = i;
- }
-
- /* this catches the -1 case */
- if (grid->width < minWidth) grid->width = minWidth; /* ack! */
- if (grid->height < minHeight) grid->height = minHeight; /* ditto! */
-
- if (!set) return;
-
- distSpace(grid->width - minWidth, grid->cols, widths);
- distSpace(grid->height - minHeight, grid->rows, heights);
-
- thisTop = top;
- for (row = 0; row < grid->rows; row++) {
- i = 0;
- thisLeft = left;
- for (col = 0; col < grid->cols; col++) {
- field = &grid->fields[col][row];
-
- if (field->type == NEWT_GRID_EMPTY) continue;
-
- x = thisLeft + field->padLeft;
- remx = widths[col] - field->padLeft - field->padRight;
- y = thisTop + field->padTop;
- remy = heights[row] - field->padTop - field->padBottom;
-
- if (field->type == NEWT_GRID_SUBGRID) {
- remx -= field->u.grid->width;
- remy -= field->u.grid->height;
- } else if (field->type == NEWT_GRID_COMPONENT) {
- remx -= field->u.co->width;
- remy -= field->u.co->height;
- }
-
- if (!(field->flags & NEWT_GRID_FLAG_GROWX)) {
- if (field->anchor & NEWT_ANCHOR_RIGHT)
- x += remx;
- else if (!(field->anchor & NEWT_ANCHOR_LEFT))
- x += (remx / 2);
- }
-
- if (!(field->flags & NEWT_GRID_FLAG_GROWY)) {
- if (field->anchor & NEWT_ANCHOR_BOTTOM)
- y += remx;
- else if (!(field->anchor & NEWT_ANCHOR_TOP))
- y += (remy / 2);
- }
-
- if (field->type == NEWT_GRID_SUBGRID) {
- if (field->flags & NEWT_GRID_FLAG_GROWX)
- field->u.grid->width = widths[col] - field->padLeft
- - field->padRight;
- if (field->flags & NEWT_GRID_FLAG_GROWY)
- field->u.grid->height = heights[col] - field->padTop
- - field->padBottom;
-
- shuffleGrid(field->u.grid, x, y, 1);
- } else if (field->type == NEWT_GRID_COMPONENT) {
- field->u.co->ops->place(field->u.co, x, y);
- }
-
- thisLeft += widths[col];
- }
-
- thisTop += heights[row];
- }
-}
-
-void newtGridPlace(newtGrid grid, int left, int top) {
- shuffleGrid(grid, left, top, 1);
-}
-
-void newtGridFree(newtGrid grid, int recurse) {
- int row, col;
-
- for (col = 0; col < grid->cols; col++) {
- if (recurse) {
- for (row = 0; row < grid->rows; row++) {
- if (grid->fields[col][row].type == NEWT_GRID_SUBGRID)
- newtGridFree(grid->fields[col][row].u.grid, 1);
- }
- }
-
- free(grid->fields[col]);
- }
-
- free(grid->fields);
- free(grid);
-}
-
-void newtGridGetSize(newtGrid grid, int * width, int * height) {
- if (grid->width == -1 || grid->height == -1) {
- grid->width = grid->height = -1;
- shuffleGrid(grid, 0, 0, 1);
- }
-
- *width = grid->width;
- *height = grid->height;
-}
-
-void newtGridWrappedWindow(newtGrid grid, char * title) {
- int width, height, offset = 0;
-
- newtGridGetSize(grid, &width, &height);
- if ((size_t)width < strlen(title) + 2) {
- offset = ((strlen(title) + 2) - width) / 2;
- width = strlen(title) + 2;
- }
- newtCenteredWindow(width + 2, height + 2, title);
- newtGridPlace(grid, 1 + offset, 1);
-}
-
-void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top) {
- int width, height;
-
- newtGridGetSize(grid, &width, &height);
- newtOpenWindow(left, top, width + 2, height + 2, title);
- newtGridPlace(grid, 1, 1);
-}
-
-void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
- int recurse) {
- int row, col;
-
- for (col = 0; col < grid->cols; col++) {
- for (row = 0; row < grid->rows; row++) {
- if (grid->fields[col][row].type == NEWT_GRID_SUBGRID && recurse)
- newtGridAddComponentsToForm(grid->fields[col][row].u.grid,
- form, 1);
- else if (grid->fields[col][row].type == NEWT_GRID_COMPONENT)
- newtFormAddComponent(form, grid->fields[col][row].u.co);
- }
- }
-}
-
-/* this handles up to 50 items */
-static newtGrid stackem(int isVert, enum newtGridElement type1, void * what1,
- va_list args, int close) {
- struct item {
- enum newtGridElement type;
- void * what;
- } items[50];
- int i, num;
- newtGrid grid;
-
- items[0].type = type1, items[0].what = what1, num = 1;
- while (1) {
- items[num].type = va_arg(args, enum newtGridElement);
- if (items[num].type == NEWT_GRID_EMPTY) break;
-
- items[num].what = va_arg(args, void *);
- num++;
- }
-
- grid = newtCreateGrid(isVert ? 1 : num, isVert ? num : 1);
-
- for (i = 0; i < num; i++) {
- newtGridSetField(grid, isVert ? 0 : i, isVert ? i : 0,
- items[i].type, items[i].what,
- close ? 0 : (i ? (isVert ? 0 : 1) : 0),
- close ? 0 : (i ? (isVert ? 1 : 0) : 0), 0, 0, 0, 0);
- }
-
- return grid;
-}
-
-newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(0, type1, what1, args, 1);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridVCloseStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(1, type1, what1, args, 1);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridVStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(1, type1, what1, args, 0);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...) {
- va_list args;
- newtGrid grid;
-
- va_start(args, what1);
-
- grid = stackem(0, type1, what1, args, 0);
-
- va_start(args, what1);
-
- return grid;
-}
-
-newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
- newtGrid buttons) {
- newtGrid grid;
-
- grid = newtCreateGrid(1, 3);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, middle,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
-
- return grid;
-}
-
-newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
- newtGrid buttons) {
- newtGrid grid;
-
- grid = newtCreateGrid(1, 3);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, middle,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
-
- return grid;
-}
diff --git a/mdk-stage1/newt/label.c b/mdk-stage1/newt/label.c
deleted file mode 100644
index f1a9cebbf..000000000
--- a/mdk-stage1/newt/label.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct label {
- char * text;
- int length;
-};
-
-static void labelDraw(newtComponent co);
-static void labelDestroy(newtComponent co);
-
-static struct componentOps labelOps = {
- labelDraw,
- newtDefaultEventHandler,
- labelDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtLabel(int left, int top, const char * text) {
- newtComponent co;
- struct label * la;
-
- co = malloc(sizeof(*co));
- la = malloc(sizeof(struct label));
- co->data = la;
-
- co->ops = &labelOps;
-
- co->height = 1;
- co->width = strlen(text);
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
-
- la->length = strlen(text);
- la->text = strdup(text);
-
- return co;
-}
-
-void newtLabelSetText(newtComponent co, const char * text) {
- int newLength;
- struct label * la = co->data;
-
- newLength = strlen(text);
- if (newLength <= la->length) {
- memset(la->text, ' ', la->length);
- memcpy(la->text, text, newLength);
- } else {
- free(la->text);
- la->text = strdup(text);
- la->length = newLength;
- co->width = newLength;
- }
-
- labelDraw(co);
-}
-
-static void labelDraw(newtComponent co) {
- struct label * la = co->data;
-
- if (co->isMapped == -1) return;
-
- SLsmg_set_color(COLORSET_LABEL);
-
- newtGotorc(co->top, co->left);
- SLsmg_write_string(la->text);
-}
-
-static void labelDestroy(newtComponent co) {
- struct label * la = co->data;
-
- free(la->text);
- free(la);
- free(co);
-}
diff --git a/mdk-stage1/newt/listbox.c b/mdk-stage1/newt/listbox.c
deleted file mode 100644
index cdbf792ca..000000000
--- a/mdk-stage1/newt/listbox.c
+++ /dev/null
@@ -1,752 +0,0 @@
-/* This goofed-up box whacked into shape by Elliot Lee <sopwith@cuc.edu>
- (from the original listbox by Erik Troan <ewt@redhat.com>)
- and contributed to newt for use under the LGPL license.
- Copyright (C) 1996, 1997 Elliot Lee */
-
-#include <slang.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-
-/* Linked list of items in the listbox */
-struct items {
- char * text;
- const void *data;
- unsigned char isSelected;
- struct items *next;
-};
-
-/* Holds all the relevant information for this listbox */
-struct listbox {
- newtComponent sb; /* Scrollbar on right side of listbox */
- int curWidth; /* size of text w/o scrollbar or border*/
- int curHeight; /* size of text w/o border */
- int sbAdjust;
- int bdxAdjust, bdyAdjust;
- int numItems, numSelected;
- int userHasSetWidth;
- int currItem, startShowItem; /* startShowItem is the first item displayed
- on the screen */
- int isActive; /* If we handle key events all the time, it seems
- to do things even when they are supposed to be for
- another button/whatever */
- struct items *boxItems;
- int grow;
- int flags; /* flags for this listbox, right now just
- NEWT_FLAG_RETURNEXIT */
-};
-
-static void listboxDraw(newtComponent co);
-static void listboxDestroy(newtComponent co);
-static struct eventResult listboxEvent(newtComponent co, struct event ev);
-static void newtListboxRealSetCurrent(newtComponent co);
-static void listboxPlace(newtComponent co, int newLeft, int newTop);
-static inline void updateWidth(newtComponent co, struct listbox * li,
- int maxField);
-static void listboxMapped(newtComponent co, int isMapped);
-
-static struct componentOps listboxOps = {
- listboxDraw,
- listboxEvent,
- listboxDestroy,
- listboxPlace,
- listboxMapped,
-};
-
-static void listboxMapped(newtComponent co, int isMapped) {
- struct listbox * li = co->data;
-
- co->isMapped = isMapped;
- if (li->sb)
- li->sb->ops->mapped(li->sb, isMapped);
-}
-
-static void listboxPlace(newtComponent co, int newLeft, int newTop) {
- struct listbox * li = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (li->sb)
- li->sb->ops->place(li->sb, co->left + co->width - li->bdxAdjust - 1,
- co->top);
-}
-
-newtComponent newtListbox(int left, int top, int height, int flags) {
- newtComponent co, sb;
- struct listbox * li;
-
- if (!(co = malloc(sizeof(*co))))
- return NULL;
-
- if (!(li = malloc(sizeof(struct listbox)))) {
- free(co);
- return NULL;
- }
-
- li->boxItems = NULL;
- li->numItems = 0;
- li->currItem = 0;
- li->numSelected = 0;
- li->isActive = 0;
- li->userHasSetWidth = 0;
- li->startShowItem = 0;
- li->sbAdjust = 0;
- li->bdxAdjust = 0;
- li->bdyAdjust = 0;
- li->flags = flags & (NEWT_FLAG_RETURNEXIT | NEWT_FLAG_BORDER |
- NEWT_FLAG_MULTIPLE);
-
- if (li->flags & NEWT_FLAG_BORDER) {
- li->bdxAdjust = 2;
- li->bdyAdjust = 1;
- }
-
- co->height = height;
- li->curHeight = co->height - (2 * li->bdyAdjust);
-
- if (height) {
- li->grow = 0;
- if (flags & NEWT_FLAG_SCROLL) {
- sb = newtVerticalScrollbar(left, top + li->bdyAdjust,
- li->curHeight,
- COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
- li->sbAdjust = 3;
- } else {
- sb = NULL;
- }
- } else {
- li->grow = 1;
- sb = NULL;
- }
-
- li->sb = sb;
- co->data = li;
- co->isMapped = 0;
- co->left = left;
- co->top = top;
- co->ops = &listboxOps;
- co->takesFocus = 1;
- co->callback = NULL;
-
- updateWidth(co, li, 5);
-
- return co;
-}
-
-static inline void updateWidth(newtComponent co, struct listbox * li,
- int maxField) {
- li->curWidth = maxField;
- co->width = li->curWidth + li->sbAdjust + 2 * li->bdxAdjust;
-
- if (li->sb)
- li->sb->left = co->left + co->width - li->bdxAdjust - 1;
-}
-
-void newtListboxSetCurrentByKey(newtComponent co, void * key) {
- struct listbox * li = co->data;
- struct items * item;
- int i;
-
- item = li->boxItems, i = 0;
- while (item && item->data != key)
- item = item->next, i++;
-
- if (item)
- newtListboxSetCurrent(co, i);
-}
-
-void newtListboxSetCurrent(newtComponent co, int num)
-{
- struct listbox * li = co->data;
-
- if (num >= li->numItems)
- li->currItem = li->numItems - 1;
- else if (num < 0)
- li->currItem = 0;
- else
- li->currItem = num;
-
- if (li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- else if (li->currItem - li->startShowItem > li->curHeight - 1)
- li->startShowItem = li->currItem - li->curHeight + 1;
- if (li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
-
- newtListboxRealSetCurrent(co);
-}
-
-static void newtListboxRealSetCurrent(newtComponent co)
-{
- struct listbox * li = co->data;
-
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
-}
-
-void newtListboxSetWidth(newtComponent co, int width) {
- struct listbox * li = co->data;
-
- co->width = width;
- li->curWidth = co->width - li->sbAdjust - 2 * li->bdxAdjust;
- li->userHasSetWidth = 1;
- if (li->sb) li->sb->left = co->width + co->left - 1;
- listboxDraw(co);
-}
-
-void * newtListboxGetCurrent(newtComponent co) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < li->currItem;
- i++, item = item->next);
-
- if (item)
- return (void *)item->data;
- else
- return NULL;
-}
-
-void newtListboxSelectItem(newtComponent co, const void * key,
- enum newtFlagsSense sense)
-{
- struct listbox * li = co->data;
- int i;
- struct items * item;
-
- item = li->boxItems, i = 0;
- while (item && item->data != key)
- item = item->next, i++;
-
- if (!item) return;
-
- if (item->isSelected)
- li->numSelected--;
-
- switch(sense) {
- case NEWT_FLAGS_RESET:
- item->isSelected = 0; break;
- case NEWT_FLAGS_SET:
- item->isSelected = 1; break;
- case NEWT_FLAGS_TOGGLE:
- item->isSelected = !item->isSelected;
- }
-
- if (item->isSelected)
- li->numSelected++;
-
- listboxDraw(co);
-}
-
-void newtListboxClearSelection(newtComponent co)
-{
- struct items *item;
- struct listbox * li = co->data;
-
- for(item = li->boxItems; item != NULL;
- item = item->next)
- item->isSelected = 0;
- li->numSelected = 0;
- listboxDraw(co);
-}
-
-/* Free the returned array after use, but NOT the values in the array */
-void ** newtListboxGetSelection(newtComponent co, int *numitems)
-{
- struct listbox * li;
- int i;
- void **retval;
- struct items *item;
-
- if(!co || !numitems) return NULL;
-
- li = co->data;
- if(!li || !li->numSelected) return NULL;
-
- retval = malloc(li->numSelected * sizeof(void *));
- for(i = 0, item = li->boxItems; item != NULL;
- item = item->next)
- if(item->isSelected)
- retval[i++] = (void *)item->data;
- *numitems = li->numSelected;
- return retval;
-}
-
-void newtListboxSetEntry(newtComponent co, int num, const char * text) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < num;
- i++, item = item->next);
-
- if(!item)
- return;
- else {
- free(item->text);
- item->text = strdup(text);
- }
- if (li->userHasSetWidth == 0 && strlen(text) > (size_t)li->curWidth) {
- updateWidth(co, li, strlen(text));
- }
-
- if (num >= li->startShowItem && num <= li->startShowItem + co->height)
- listboxDraw(co);
-}
-
-void newtListboxSetData(newtComponent co, int num, void * data) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- for(i = 0, item = li->boxItems; item != NULL && i < num;
- i++, item = item->next);
-
- item->data = data;
-}
-
-int newtListboxAppendEntry(newtComponent co, const char * text,
- const void * data) {
- struct listbox * li = co->data;
- struct items *item;
-
- if(li->boxItems) {
- for (item = li->boxItems; item->next != NULL; item = item->next);
-
- item = item->next = malloc(sizeof(struct items));
- } else {
- item = li->boxItems = malloc(sizeof(struct items));
- }
-
- if (!li->userHasSetWidth && text && (strlen(text) > (size_t)li->curWidth))
- updateWidth(co, li, strlen(text));
-
- item->text = strdup(text); item->data = data; item->next = NULL;
- item->isSelected = 0;
-
- if (li->grow)
- co->height++, li->curHeight++;
- li->numItems++;
-
- return 0;
-}
-
-int newtListboxInsertEntry(newtComponent co, const char * text,
- const void * data, void * key) {
- struct listbox * li = co->data;
- struct items *item, *t;
-
- if (li->boxItems) {
- if (key) {
- item = li->boxItems;
- while (item && item->data != key) item = item->next;
-
- if (!item) return 1;
-
- t = item->next;
- item = item->next = malloc(sizeof(struct items));
- item->next = t;
- } else {
- t = li->boxItems;
- item = li->boxItems = malloc(sizeof(struct items));
- item->next = t;
- }
- } else if (key) {
- return 1;
- } else {
- item = li->boxItems = malloc(sizeof(struct items));
- item->next = NULL;
- }
-
- if (!li->userHasSetWidth && text && (strlen(text) > (size_t)li->curWidth))
- updateWidth(co, li, strlen(text));
-
- item->text = strdup(text?text:"(null)"); item->data = data;
- item->isSelected = 0;
-
- if (li->sb)
- li->sb->left = co->left + co->width - li->bdxAdjust - 1;
- li->numItems++;
-
- listboxDraw(co);
-
- return 0;
-}
-
-int newtListboxDeleteEntry(newtComponent co, void * key) {
- struct listbox * li = co->data;
- int widest = 0, t;
- struct items *item, *item2 = NULL;
- int num;
-
- if (li->boxItems == NULL || li->numItems <= 0)
- return 0;
-
- num = 0;
-
- item2 = NULL, item = li->boxItems;
- while (item && item->data != key) {
- item2 = item;
- item = item->next;
- num++;
- }
-
- if (!item)
- return -1;
-
- if (item2)
- item2->next = item->next;
- else
- li->boxItems = item->next;
-
- free(item->text);
- free(item);
- li->numItems--;
-
- if (!li->userHasSetWidth) {
- widest = 0;
- for (item = li->boxItems; item != NULL; item = item->next)
- if ((t = strlen(item->text)) > widest) widest = t;
- }
-
- if (li->currItem >= num)
- li->currItem--;
-
- if (!li->userHasSetWidth) {
- updateWidth(co, li, widest);
- }
-
- listboxDraw(co);
-
- return 0;
-}
-
-void newtListboxClear(newtComponent co)
-{
- struct listbox * li;
- struct items *anitem, *nextitem;
- if(co == NULL || (li = co->data) == NULL)
- return;
- for(anitem = li->boxItems; anitem != NULL; anitem = nextitem) {
- nextitem = anitem->next;
- free(anitem->text);
- free(anitem);
- }
- li->numItems = li->numSelected = li->currItem = li->startShowItem = 0;
- li->boxItems = NULL;
- if (!li->userHasSetWidth)
- updateWidth(co, li, 5);
-}
-
-/* If you don't want to get back the text, pass in NULL for the ptr-ptr. Same
- goes for the data. */
-void newtListboxGetEntry(newtComponent co, int num, char **text, void **data) {
- struct listbox * li = co->data;
- int i;
- struct items *item;
-
- if (!li->boxItems || num >= li->numItems) {
- if(text)
- *text = NULL;
- if(data)
- *data = NULL;
- return;
- }
-
- i = 0;
- item = li->boxItems;
- while (item && i < num) {
- i++, item = item->next;
- }
-
- if (item) {
- if (text)
- *text = item->text;
- if (data)
- *data = (void *)item->data;
- }
-}
-
-static void listboxDraw(newtComponent co)
-{
- struct listbox * li = co->data;
- struct items *item;
- int i, j;
-
- if (!co->isMapped) return ;
-
- if(li->flags & NEWT_FLAG_BORDER) {
- if(li->isActive)
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- newtDrawBox(co->left, co->top, co->width, co->height, 0);
- }
-
- if(li->sb)
- li->sb->ops->draw(li->sb);
-
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- for(i = 0, item = li->boxItems; item != NULL && i < li->startShowItem;
- i++, item = item->next);
-
- j = i;
-
- for (i = 0; item != NULL && i < li->curHeight; i++, item = item->next) {
- if (!item->text) continue;
-
- newtGotorc(co->top + i + li->bdyAdjust, co->left + li->bdxAdjust);
- if(j + i == li->currItem) {
- if(item->isSelected)
- SLsmg_set_color(NEWT_COLORSET_ACTSELLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
- } else if(item->isSelected)
- SLsmg_set_color(NEWT_COLORSET_SELLISTBOX);
- else
- SLsmg_set_color(NEWT_COLORSET_LISTBOX);
-
- SLsmg_write_nstring(item->text, li->curWidth);
-
- }
- newtGotorc(co->top + (li->currItem - li->startShowItem), co->left);
-}
-
-static struct eventResult listboxEvent(newtComponent co, struct event ev) {
- struct eventResult er;
- struct listbox * li = co->data;
- struct items *item;
- int i;
-
- er.result = ER_IGNORED;
-
- if(ev.when == EV_EARLY || ev.when == EV_LATE) {
- return er;
- }
-
- switch(ev.event) {
- case EV_KEYPRESS:
- if (!li->isActive) break;
-
- switch(ev.u.key) {
- case ' ':
- if(!(li->flags & NEWT_FLAG_MULTIPLE)) break;
- newtListboxSelectItem(co, li->boxItems[li->currItem].data,
- NEWT_FLAGS_TOGGLE);
- er.result = ER_SWALLOWED;
- /* We don't break here, because it is cool to be able to
- hold space to select a bunch of items in a list at once */
-
- case NEWT_KEY_DOWN:
- if(li->numItems <= 0) break;
- if(li->currItem < li->numItems - 1) {
- li->currItem++;
- if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
- li->startShowItem = li->currItem - li->curHeight + 1;
- if(li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- }
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_ENTER:
- if(li->numItems <= 0) break;
- if(li->flags & NEWT_FLAG_RETURNEXIT)
- er.result = ER_EXITFORM;
- break;
-
- case NEWT_KEY_UP:
- if(li->numItems <= 0) break;
- if(li->currItem > 0) {
- li->currItem--;
- if(li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGUP:
- if(li->numItems <= 0) break;
- li->startShowItem -= li->curHeight - 1;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
- li->currItem -= li->curHeight - 1;
- if(li->currItem < 0)
- li->currItem = 0;
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGDN:
- if(li->numItems <= 0) break;
- li->startShowItem += li->curHeight;
- if(li->startShowItem > (li->numItems - li->curHeight)) {
- li->startShowItem = li->numItems - li->curHeight;
- }
- li->currItem += li->curHeight;
- if(li->currItem >= li->numItems) {
- li->currItem = li->numItems - 1;
- }
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_HOME:
- if(li->numItems <= 0) break;
- newtListboxSetCurrent(co, 0);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_END:
- if(li->numItems <= 0) break;
- li->startShowItem = li->numItems - li->curHeight;
- if(li->startShowItem < 0)
- li->startShowItem = 0;
- li->currItem = li->numItems - 1;
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- break;
- default:
- if (li->numItems <= 0) break;
- if (ev.u.key < NEWT_KEY_EXTRA_BASE && isalpha(ev.u.key)) {
- for(i = 0, item = li->boxItems; item != NULL &&
- i < li->currItem; i++, item = item->next);
-
- if (item && item->text && (toupper(*item->text) == toupper(ev.u.key))) {
- item = item->next;
- i++;
- } else {
- item = li->boxItems;
- i = 0;
- }
- while (item && item->text &&
- toupper(*item->text) != toupper(ev.u.key)) {
- item = item->next;
- i++;
- }
- if (item) {
- li->currItem = i;
- if(li->currItem < li->startShowItem ||
- li->currItem > li->startShowItem)
- li->startShowItem =
- li->currItem > li->numItems - li->curHeight ?
- li->startShowItem = li->numItems - li->curHeight :
- li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- newtListboxRealSetCurrent(co);
- er.result = ER_SWALLOWED;
- }
- }
- }
- break;
-
- case EV_FOCUS:
- li->isActive = 1;
- listboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_UNFOCUS:
- li->isActive = 0;
- listboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case EV_MOUSE:
- /* if this mouse click was within the listbox, make the current
- item the item clicked on. */
- /* Up scroll arrow */
- if (li->sb &&
- ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
- ev.u.mouse.y == co->top + li->bdyAdjust) {
- if(li->numItems <= 0) break;
- if(li->currItem > 0) {
- li->currItem--;
- if(li->currItem < li->startShowItem)
- li->startShowItem = li->currItem;
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- /* Down scroll arrow */
- if (li->sb &&
- ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
- ev.u.mouse.y == co->top + co->height - li->bdyAdjust - 1) {
- if(li->numItems <= 0) break;
- if(li->currItem < li->numItems - 1) {
- li->currItem++;
- if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
- li->startShowItem = li->currItem - li->curHeight + 1;
- if(li->startShowItem + li->curHeight > li->numItems)
- li->startShowItem = li->numItems - li->curHeight;
- }
- if(li->sb)
- newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
- listboxDraw(co);
- }
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- if ((ev.u.mouse.y >= co->top + li->bdyAdjust) &&
- (ev.u.mouse.y <= co->top + co->height - (li->bdyAdjust * 2)) &&
- (ev.u.mouse.x >= co->left + li->bdxAdjust) &&
- (ev.u.mouse.x <= co->left + co->width + (li->bdxAdjust * 2))) {
- li->currItem = li->startShowItem +
- (ev.u.mouse.y - li->bdyAdjust - co->top);
- newtListboxRealSetCurrent(co);
- listboxDraw(co);
- if(co->callback) co->callback(co, co->callbackData);
- er.result = ER_SWALLOWED;
- break;
- }
- }
-
- return er;
-}
-
-static void listboxDestroy(newtComponent co) {
- struct listbox * li = co->data;
- struct items * item, * nextitem;
-
- nextitem = item = li->boxItems;
-
- while (item != NULL) {
- nextitem = item->next;
- free(item->text);
- free(item);
- item = nextitem;
- }
-
- if (li->sb) li->sb->ops->destroy(li->sb);
-
- free(li);
- free(co);
-}
diff --git a/mdk-stage1/newt/newt.c b/mdk-stage1/newt/newt.c
deleted file mode 100644
index d6cb3cd96..000000000
--- a/mdk-stage1/newt/newt.c
+++ /dev/null
@@ -1,672 +0,0 @@
-#include <slang.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <termios.h>
-#include <unistd.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct Window {
- int height, width, top, left;
- short * buffer;
- char * title;
-};
-
-struct keymap {
- char * str;
- int code;
- char * tc;
-};
-
-static struct Window windowStack[20];
-static struct Window * currentWindow = NULL;
-
-static char * helplineStack[20];
-static char ** currentHelpline = NULL;
-
-static int cursorRow, cursorCol;
-static int needResize;
-static int cursorOn = 1;
-
-static const char * defaultHelpLine =
-" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
-;
-
-const struct newtColors newtDefaultColorPalette = {
- "cyan", "black", /* root fg, bg */
- "black", "blue", /* border fg, bg */
- "white", "blue", /* window fg, bg */
- "white", "black", /* shadow fg, bg */
- "white", "blue", /* title fg, bg */
- "black", "cyan", /* button fg, bg */
- "yellow", "cyan", /* active button fg, bg */
- "yellow", "blue", /* checkbox fg, bg */
- "blue", "brown", /* active checkbox fg, bg */
- "yellow", "blue", /* entry box fg, bg */
- "white", "blue", /* label fg, bg */
- "black", "cyan", /* listbox fg, bg */
- "yellow", "cyan", /* active listbox fg, bg */
- "white", "blue", /* textbox fg, bg */
- "cyan", "black", /* active textbox fg, bg */
- "white", "blue", /* help line */
- "yellow", "blue", /* root text */
- "blue", /* scale full */
- "red", /* scale empty */
- "blue", "cyan", /* disabled entry fg, bg */
- "white", "blue", /* compact button fg, bg */
- "yellow", "red", /* active & sel listbox */
- "black", "brown" /* selected listbox */
-};
-
-static const struct keymap keymap[] = {
- { "\033OA", NEWT_KEY_UP, "kh" },
- { "\033[A", NEWT_KEY_UP, "ku" },
- { "\033OB", NEWT_KEY_DOWN, "kd" },
- { "\033[B", NEWT_KEY_DOWN, "kd" },
- { "\033[C", NEWT_KEY_RIGHT, "kr" },
- { "\033OC", NEWT_KEY_RIGHT, "kr" },
- { "\033[D", NEWT_KEY_LEFT, "kl" },
- { "\033OD", NEWT_KEY_LEFT, "kl" },
- { "\033[H", NEWT_KEY_HOME, "kh" },
- { "\033[1~", NEWT_KEY_HOME, "kh" },
- { "\033Ow", NEWT_KEY_END, "kH" },
- { "\033[4~", NEWT_KEY_END, "kH" },
-
- { "\033[3~", NEWT_KEY_DELETE, "kl" },
- { "\033[2~", NEWT_KEY_INSERT, NULL },
-
- { "\033\t", NEWT_KEY_UNTAB, NULL },
-
- { "\033[5~", NEWT_KEY_PGUP, NULL },
- { "\033[6~", NEWT_KEY_PGDN, NULL },
- { "\033V", NEWT_KEY_PGUP, "kH" },
- { "\033v", NEWT_KEY_PGUP, "kH" },
-
- { "\033[[A", NEWT_KEY_F1, NULL },
- { "\033[[B", NEWT_KEY_F2, NULL },
- { "\033[[C", NEWT_KEY_F3, NULL },
- { "\033[[D", NEWT_KEY_F4, NULL },
- { "\033[[E", NEWT_KEY_F5, NULL },
-
- { "\033OP", NEWT_KEY_F1, NULL },
- { "\033OQ", NEWT_KEY_F2, NULL },
- { "\033OR", NEWT_KEY_F3, NULL },
- { "\033OS", NEWT_KEY_F4, NULL },
-
- { "\033[11~", NEWT_KEY_F1, NULL },
- { "\033[12~", NEWT_KEY_F2, NULL },
- { "\033[13~", NEWT_KEY_F3, NULL },
- { "\033[14~", NEWT_KEY_F4, NULL },
- { "\033[15~", NEWT_KEY_F5, NULL },
- { "\033[17~", NEWT_KEY_F6, NULL },
- { "\033[18~", NEWT_KEY_F7, NULL },
- { "\033[19~", NEWT_KEY_F8, NULL },
- { "\033[20~", NEWT_KEY_F9, NULL },
- { "\033[21~", NEWT_KEY_F10, NULL },
- { "\033[23~", NEWT_KEY_F11, NULL },
- { "\033[24~", NEWT_KEY_F12, NULL },
-
- { NULL, 0, NULL }, /* LEAVE this one */
-};
-static char keyPrefix = '\033';
-
-static const char * version = "Newt windowing library version " VERSION
- " - (C) 1996-2000 Red Hat Software. "
- "Redistributable under the term of the Library "
- "GNU Public License. "
- "Written by Erik Troan\n";
-
-static newtSuspendCallback suspendCallback = NULL;
-static void * suspendCallbackData = NULL;
-
-void newtSetSuspendCallback(newtSuspendCallback cb, void * data) {
- suspendCallback = cb;
- suspendCallbackData = data;
-}
-
-static void handleSigwinch(int signum __attribute__ ((unused))) {
- needResize = 1;
-}
-
-static int getkeyInterruptHook(void) {
- return -1;
-}
-
-void newtFlushInput(void) {
- while (SLang_input_pending(0)) {
- SLang_getkey();
- }
-}
-
-void newtRefresh(void) {
- SLsmg_refresh();
-}
-
-void newtSuspend(void) {
- SLtt_set_cursor_visibility (1);
- SLsmg_suspend_smg();
- SLang_reset_tty();
- SLtt_set_cursor_visibility (cursorOn);
-}
-
-void newtResume(void) {
- SLsmg_resume_smg ();
- SLsmg_refresh();
- SLang_init_tty(0, 0, 0);
-}
-
-void newtCls(void) {
- SLsmg_set_color(NEWT_COLORSET_ROOT);
- SLsmg_gotorc(0, 0);
- SLsmg_erase_eos();
-
- newtRefresh();
-}
-
-#if defined(THIS_DOESNT_WORK)
-void newtResizeScreen(int redraw) {
- newtPushHelpLine("");
-
- SLtt_get_screen_size();
- SLang_init_tty(0, 0, 0);
-
- SLsmg_touch_lines (0, SLtt_Screen_Rows - 1);
-
- /* I don't know why I need this */
- SLsmg_refresh();
-
- newtPopHelpLine();
-
- if (redraw)
- SLsmg_refresh();
-}
-#endif
-
-int newtInit(void) {
- char * MonoValue, * MonoEnv = "NEWT_MONO";
-
- /* use the version variable just to be sure it gets included */
- strlen(version);
-
- SLtt_get_terminfo();
- SLtt_get_screen_size();
-
- MonoValue = getenv(MonoEnv);
- if ( MonoValue == NULL ) {
- SLtt_Use_Ansi_Colors = 1;
- } else {
- SLtt_Use_Ansi_Colors = 0;
- }
-
- SLsmg_init_smg();
- SLang_init_tty(0, 0, 0);
-
- newtSetColors(newtDefaultColorPalette);
- newtCursorOff();
- /*initKeymap();*/
-
- /*memset(&sa, 0, sizeof(sa));
- sa.sa_handler = handleSigwinch;
- sigaction(SIGWINCH, &sa, NULL);*/
-
- SLsignal_intr(SIGWINCH, handleSigwinch);
- SLang_getkey_intr_hook = getkeyInterruptHook;
-
-
-
- return 0;
-}
-
-int newtFinished(void) {
- SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
- newtCursorOn();
- SLsmg_refresh();
- SLsmg_reset_smg();
- SLang_reset_tty();
-
- return 0;
-}
-
-void newtSetColors(struct newtColors colors) {
- SLtt_set_color(NEWT_COLORSET_ROOT, "", colors.rootFg, colors.rootBg);
- SLtt_set_color(NEWT_COLORSET_BORDER, "", colors.borderFg, colors.borderBg);
- SLtt_set_color(NEWT_COLORSET_WINDOW, "", colors.windowFg, colors.windowBg);
- SLtt_set_color(NEWT_COLORSET_SHADOW, "", colors.shadowFg, colors.shadowBg);
- SLtt_set_color(NEWT_COLORSET_TITLE, "", colors.titleFg, colors.titleBg);
- SLtt_set_color(NEWT_COLORSET_BUTTON, "", colors.buttonFg, colors.buttonBg);
- SLtt_set_color(NEWT_COLORSET_ACTBUTTON, "", colors.actButtonFg,
- colors.actButtonBg);
- SLtt_set_color(NEWT_COLORSET_CHECKBOX, "", colors.checkboxFg,
- colors.checkboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTCHECKBOX, "", colors.actCheckboxFg,
- colors.actCheckboxBg);
- SLtt_set_color(NEWT_COLORSET_ENTRY, "", colors.entryFg, colors.entryBg);
- SLtt_set_color(NEWT_COLORSET_LABEL, "", colors.labelFg, colors.labelBg);
- SLtt_set_color(NEWT_COLORSET_LISTBOX, "", colors.listboxFg,
- colors.listboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTLISTBOX, "", colors.actListboxFg,
- colors.actListboxBg);
- SLtt_set_color(NEWT_COLORSET_TEXTBOX, "", colors.textboxFg,
- colors.textboxBg);
- SLtt_set_color(NEWT_COLORSET_ACTTEXTBOX, "", colors.actTextboxFg,
- colors.actTextboxBg);
- SLtt_set_color(NEWT_COLORSET_HELPLINE, "", colors.helpLineFg,
- colors.helpLineBg);
- SLtt_set_color(NEWT_COLORSET_ROOTTEXT, "", colors.rootTextFg,
- colors.rootTextBg);
-
- SLtt_set_color(NEWT_COLORSET_EMPTYSCALE, "", "black",
- colors.emptyScale);
- SLtt_set_color(NEWT_COLORSET_FULLSCALE, "", "black",
- colors.fullScale);
- SLtt_set_color(NEWT_COLORSET_DISENTRY, "", colors.disabledEntryFg,
- colors.disabledEntryBg);
-
- SLtt_set_color(NEWT_COLORSET_COMPACTBUTTON, "", colors.compactButtonFg,
- colors.compactButtonBg);
-
- SLtt_set_color(NEWT_COLORSET_ACTSELLISTBOX, "", colors.actSelListboxFg,
- colors.actSelListboxBg);
- SLtt_set_color(NEWT_COLORSET_SELLISTBOX, "", colors.selListboxFg,
- colors.selListboxBg);
-}
-
-int newtGetKey(void) {
- int key;
- char buf[10], * chptr = buf;
- const struct keymap * curr;
-
- do {
- key = SLang_getkey();
- if (key == 0xFFFF) {
- if (needResize)
- return NEWT_KEY_RESIZE;
-
- /* ignore other signals */
- continue;
- }
-
- if (key == NEWT_KEY_SUSPEND && suspendCallback)
- suspendCallback(suspendCallbackData);
- } while (key == NEWT_KEY_SUSPEND);
-
- switch (key) {
- case 'v' | 0x80:
- case 'V' | 0x80:
- return NEWT_KEY_PGUP;
-
- case 22:
- return NEWT_KEY_PGDN;
-
- return NEWT_KEY_BKSPC;
- case 0x7f:
- return NEWT_KEY_BKSPC;
-
- case 0x08:
- return NEWT_KEY_BKSPC;
-
- default:
- if (key != keyPrefix) return key;
- }
-
- memset(buf, 0, sizeof(buf));
-
- *chptr++ = key;
- while (SLang_input_pending(5)) {
- key = SLang_getkey();
- if (key == keyPrefix) {
- /* he hit unknown keys too many times -- start over */
- memset(buf, 0, sizeof(buf));
- chptr = buf;
- }
-
- *chptr++ = key;
-
- /* this search should use bsearch(), but when we only look through
- a list of 20 (or so) keymappings, it's probably faster just to
- do a inline linear search */
-
- for (curr = keymap; curr->code; curr++) {
- if (curr->str) {
- if (!strcmp(curr->str, buf))
- return curr->code;
- }
- }
- }
-
- for (curr = keymap; curr->code; curr++) {
- if (curr->str) {
- if (!strcmp(curr->str, buf))
- return curr->code;
- }
- }
-
- /* Looks like we were a bit overzealous in reading characters. Return
- just the first character, and put everything else back in the buffer
- for later */
-
- chptr--;
- while (chptr > buf)
- SLang_ungetkey(*chptr--);
-
- return *chptr;
-}
-
-void newtWaitForKey(void) {
- newtRefresh();
-
- SLang_getkey();
- newtClearKeyBuffer();
-}
-
-void newtClearKeyBuffer(void) {
- while (SLang_input_pending(1)) {
- SLang_getkey();
- }
-}
-
-int newtOpenWindow(int left, int top, int width, int height,
- const char * title) {
- int j, row, col;
- int n;
- int i;
-
- newtFlushInput();
-
- if (!currentWindow) {
- currentWindow = windowStack;
- } else {
- currentWindow++;
- }
-
- currentWindow->left = left;
- currentWindow->top = top;
- currentWindow->width = width;
- currentWindow->height = height;
- currentWindow->title = title ? strdup(title) : NULL;
-
- currentWindow->buffer = malloc(sizeof(short) * (width + 3) * (height + 3));
-
- row = top - 1;
- col = left - 1;
- n = 0;
- for (j = 0; j < height + 3; j++, row++) {
- SLsmg_gotorc(row, col);
- SLsmg_read_raw(currentWindow->buffer + n,
- currentWindow->width + 3);
- n += currentWindow->width + 3;
- }
-
- SLsmg_set_color(NEWT_COLORSET_BORDER);
- SLsmg_draw_box(top - 1, left - 1, height + 2, width + 2);
-
- if (currentWindow->title) {
- i = strlen(currentWindow->title) + 4;
- i = ((width - i) / 2) + left;
- SLsmg_gotorc(top - 1, i);
- SLsmg_set_char_set(1);
- SLsmg_write_char(SLSMG_RTEE_CHAR);
- SLsmg_set_char_set(0);
- SLsmg_write_char(' ');
- SLsmg_set_color(NEWT_COLORSET_TITLE);
- SLsmg_write_string((char *)currentWindow->title);
- SLsmg_set_color(NEWT_COLORSET_BORDER);
- SLsmg_write_char(' ');
- SLsmg_set_char_set(1);
- SLsmg_write_char(SLSMG_LTEE_CHAR);
- SLsmg_set_char_set(0);
- }
-
- SLsmg_set_color(NEWT_COLORSET_WINDOW);
- SLsmg_fill_region(top, left, height, width, ' ');
-
- SLsmg_set_color(NEWT_COLORSET_SHADOW);
- SLsmg_fill_region(top + height + 1, left, 1, width + 2, ' ');
- SLsmg_fill_region(top, left + width + 1, height + 1, 1, ' ');
-
- for (i = top; i < (top + height + 1); i++) {
- SLsmg_gotorc(i, left + width + 1);
- SLsmg_write_string(" ");
- }
-
- return 0;
-}
-
-int newtCenteredWindow(int width, int height, const char * title) {
- int top, left;
-
- top = (SLtt_Screen_Rows - height) / 2;
-
- /* I don't know why, but this seems to look better */
- if ((SLtt_Screen_Rows % 2) && (top % 2)) top--;
-
- left = (SLtt_Screen_Cols - width) / 2;
-
- newtOpenWindow(left, top, width, height, title);
-
- return 0;
-}
-
-void newtPopWindow(void) {
- int j, row, col;
- int n = 0;
-
- row = col = 0;
-
- row = currentWindow->top - 1;
- col = currentWindow->left - 1;
- for (j = 0; j < currentWindow->height + 3; j++, row++) {
- SLsmg_gotorc(row, col);
- SLsmg_write_raw(currentWindow->buffer + n,
- currentWindow->width + 3);
- n += currentWindow->width + 3;
- }
-
- free(currentWindow->buffer);
- free(currentWindow->title);
-
- if (currentWindow == windowStack)
- currentWindow = NULL;
- else
- currentWindow--;
-
- SLsmg_set_char_set(0);
-
- newtRefresh();
-}
-
-void newtGetWindowPos(int * x, int * y) {
- if (currentWindow) {
- *x = currentWindow->left;
- *y = currentWindow->top;
- } else
- *x = *y = 0;
-}
-
-void newtGetrc(int * row, int * col) {
- *row = cursorRow;
- *col = cursorCol;
-}
-
-void newtGotorc(int newRow, int newCol) {
- if (currentWindow) {
- newRow += currentWindow->top;
- newCol += currentWindow->left;
- }
-
- cursorRow = newRow;
- cursorCol = newCol;
- SLsmg_gotorc(cursorRow, cursorCol);
-}
-
-void newtDrawBox(int left, int top, int width, int height, int shadow) {
- if (currentWindow) {
- top += currentWindow->top;
- left += currentWindow->left;
- }
-
- SLsmg_draw_box(top, left, height, width);
-
- if (shadow) {
- SLsmg_set_color(NEWT_COLORSET_SHADOW);
- SLsmg_fill_region(top + height, left + 1, 1, width - 1, ' ');
- SLsmg_fill_region(top + 1, left + width, height, 1, ' ');
- }
-}
-
-void newtClearBox(int left, int top, int width, int height) {
- if (currentWindow) {
- top += currentWindow->top;
- left += currentWindow->left;
- }
-
- SLsmg_fill_region(top, left, height, width, ' ');
-}
-
-#if 0
-/* This doesn't seem to work quite right. I don't know why not, but when
- I rsh from an rxvt into a box and run this code, the machine returns
- console key's (\033[B) rather then xterm ones (\033OB). */
-static void initKeymap(void) {
- struct keymap * curr;
-
- for (curr = keymap; curr->code; curr++) {
- if (!curr->str)
- curr->str = SLtt_tgetstr(curr->tc);
- }
-
- /* Newt's keymap handling is a bit broken. It assumes that any extended
- keystrokes begin with ESC. If you're using a homebrek terminal you
- will probably need to fix this, or just yell at me and I'll be so
- ashamed of myself for doing it this way I'll fix it */
-
- keyPrefix = 0x1b; /* ESC */
-}
-#endif
-
-void newtDelay(int usecs) {
- fd_set set;
- struct timeval tv;
-
- FD_ZERO(&set);
-
- tv.tv_sec = usecs / 1000000;
- tv.tv_usec = usecs % 1000000;
-
- select(0, &set, &set, &set, &tv);
-}
-
-struct eventResult newtDefaultEventHandler(newtComponent c __attribute__ ((unused)),
- struct event ev __attribute__ ((unused))) {
- struct eventResult er;
-
- er.result = ER_IGNORED;
- return er;
-}
-
-void newtRedrawHelpLine(void) {
- char * buf;
-
- SLsmg_set_color(NEWT_COLORSET_HELPLINE);
-
- buf = alloca(SLtt_Screen_Cols + 1);
- memset(buf, ' ', SLtt_Screen_Cols);
- buf[SLtt_Screen_Cols] = '\0';
-
- if (currentHelpline)
- memcpy(buf, *currentHelpline, strlen(*currentHelpline));
-
- SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
- SLsmg_write_string(buf);
-}
-
-void newtPushHelpLine(const char * text) {
- if (!text)
- text = defaultHelpLine;
-
- if (currentHelpline)
- (*(++currentHelpline)) = strdup(text);
- else {
- currentHelpline = helplineStack;
- *currentHelpline = strdup(text);
- }
-
- newtRedrawHelpLine();
-}
-
-void newtPopHelpLine(void) {
- if (!currentHelpline) return;
-
- free(*currentHelpline);
- if (currentHelpline == helplineStack)
- currentHelpline = NULL;
- else
- currentHelpline--;
-
- newtRedrawHelpLine();
-}
-
-void newtDrawRootText(int col, int row, const char * text) {
- SLsmg_set_color(NEWT_COLORSET_ROOTTEXT);
-
- if (col < 0) {
- col = SLtt_Screen_Cols + col;
- }
-
- if (row < 0) {
- row = SLtt_Screen_Rows + row;
- }
-
- SLsmg_gotorc(row, col);
- SLsmg_write_string((char *)text);
-}
-
-int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense) {
- switch (sense) {
- case NEWT_FLAGS_SET:
- return oldFlags | newFlags;
-
- case NEWT_FLAGS_RESET:
- return oldFlags & (~newFlags);
-
- case NEWT_FLAGS_TOGGLE:
- return oldFlags ^ newFlags;
-
- default:
- return oldFlags;
- }
-}
-
-void newtBell(void)
-{
- SLtt_beep();
-}
-
-void newtGetScreenSize(int * cols, int * rows) {
- if (rows) *rows = SLtt_Screen_Rows;
- if (cols) *cols = SLtt_Screen_Cols;
-}
-
-void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop) {
- c->left = newLeft;
- c->top = newTop;
-}
-
-void newtDefaultMappedHandler(newtComponent c, int isMapped) {
- c->isMapped = isMapped;
-}
-
-void newtCursorOff(void) {
- cursorOn = 0;
- SLtt_set_cursor_visibility (cursorOn);
-}
-
-void newtCursorOn(void) {
- cursorOn = 1;
- SLtt_set_cursor_visibility (cursorOn);
-}
diff --git a/mdk-stage1/newt/newt.h b/mdk-stage1/newt/newt.h
deleted file mode 100644
index d3fd8bedc..000000000
--- a/mdk-stage1/newt/newt.h
+++ /dev/null
@@ -1,362 +0,0 @@
-#ifndef H_NEWT
-#define H_NEWT
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-
-#define NEWT_COLORSET_ROOT 2
-#define NEWT_COLORSET_BORDER 3
-#define NEWT_COLORSET_WINDOW 4
-#define NEWT_COLORSET_SHADOW 5
-#define NEWT_COLORSET_TITLE 6
-#define NEWT_COLORSET_BUTTON 7
-#define NEWT_COLORSET_ACTBUTTON 8
-#define NEWT_COLORSET_CHECKBOX 9
-#define NEWT_COLORSET_ACTCHECKBOX 10
-#define NEWT_COLORSET_ENTRY 11
-#define NEWT_COLORSET_LABEL 12
-#define NEWT_COLORSET_LISTBOX 13
-#define NEWT_COLORSET_ACTLISTBOX 14
-#define NEWT_COLORSET_TEXTBOX 15
-#define NEWT_COLORSET_ACTTEXTBOX 16
-#define NEWT_COLORSET_HELPLINE 17
-#define NEWT_COLORSET_ROOTTEXT 18
-#define NEWT_COLORSET_EMPTYSCALE 19
-#define NEWT_COLORSET_FULLSCALE 20
-#define NEWT_COLORSET_DISENTRY 21
-#define NEWT_COLORSET_COMPACTBUTTON 22
-#define NEWT_COLORSET_ACTSELLISTBOX 23
-#define NEWT_COLORSET_SELLISTBOX 24
-
-#define NEWT_ARG_LAST -100000
-#define NEWT_ARG_APPEND -1
-
-struct newtColors {
- char * rootFg, * rootBg;
- char * borderFg, * borderBg;
- char * windowFg, * windowBg;
- char * shadowFg, * shadowBg;
- char * titleFg, * titleBg;
- char * buttonFg, * buttonBg;
- char * actButtonFg, * actButtonBg;
- char * checkboxFg, * checkboxBg;
- char * actCheckboxFg, * actCheckboxBg;
- char * entryFg, * entryBg;
- char * labelFg, * labelBg;
- char * listboxFg, * listboxBg;
- char * actListboxFg, * actListboxBg;
- char * textboxFg, * textboxBg;
- char * actTextboxFg, * actTextboxBg;
- char * helpLineFg, * helpLineBg;
- char * rootTextFg, * rootTextBg;
- char * emptyScale, * fullScale;
- char * disabledEntryFg, * disabledEntryBg;
- char * compactButtonFg, * compactButtonBg;
- char * actSelListboxFg, * actSelListboxBg;
- char * selListboxFg, * selListboxBg;
-};
-
-enum newtFlagsSense { NEWT_FLAGS_SET, NEWT_FLAGS_RESET, NEWT_FLAGS_TOGGLE };
-
-#define NEWT_FLAG_RETURNEXIT (1 << 0)
-#define NEWT_FLAG_HIDDEN (1 << 1)
-#define NEWT_FLAG_SCROLL (1 << 2)
-#define NEWT_FLAG_DISABLED (1 << 3)
-/* OBSOLETE #define NEWT_FLAG_NOSCROLL (1 << 4) for listboxes */
-#define NEWT_FLAG_BORDER (1 << 5)
-#define NEWT_FLAG_WRAP (1 << 6)
-#define NEWT_FLAG_NOF12 (1 << 7)
-#define NEWT_FLAG_MULTIPLE (1 << 8)
-#define NEWT_FLAG_SELECTED (1 << 9)
-#define NEWT_FLAG_CHECKBOX (1 << 10)
-#define NEWT_FLAG_PASSWORD (1 << 11) /* draw '*' of chars in entrybox */
-#define NEWT_FD_READ (1 << 0)
-#define NEWT_FD_WRITE (1 << 1)
-
-#define NEWT_CHECKBOXTREE_COLLAPSED '\0'
-#define NEWT_CHECKBOXTREE_EXPANDED '\1'
-#define NEWT_CHECKBOXTREE_UNSELECTED ' '
-#define NEWT_CHECKBOXTREE_SELECTED '*'
-
-/* Backwards compatibility */
-#define NEWT_LISTBOX_RETURNEXIT NEWT_FLAG_RETURNEXIT
-#define NEWT_ENTRY_SCROLL NEWT_FLAG_SCROLL
-#define NEWT_ENTRY_HIDDEN NEWT_FLAG_HIDDEN
-#define NEWT_ENTRY_RETURNEXIT NEWT_FLAG_RETURNEXIT
-#define NEWT_ENTRY_DISABLED NEWT_FLAG_DISABLED
-
-#define NEWT_TEXTBOX_WRAP NEWT_FLAG_WRAP
-#define NEWT_TEXTBOX_SCROLL NEWT_FLAG_SCROLL
-#define NEWT_FORM_NOF12 NEWT_FLAG_NOF12
-
-#define newtListboxAddEntry newtListboxAppendEntry
-
-
-typedef struct newtComponent_struct * newtComponent;
-
-extern const struct newtColors newtDefaultColorPalette;
-
-typedef void (*newtCallback)(newtComponent, void *);
-typedef void (*newtSuspendCallback)(void * data);
-
-int newtInit(void);
-int newtFinished(void);
-void newtCls(void);
-void newtResizeScreen(int redraw);
-void newtWaitForKey(void);
-void newtClearKeyBuffer(void);
-void newtDelay(int usecs);
-/* top, left are *not* counting the border */
-int newtOpenWindow(int left, int top, int width, int height,
- const char * title);
-int newtCenteredWindow(int width, int height, const char * title);
-void newtPopWindow(void);
-void newtSetColors(struct newtColors colors);
-void newtRefresh(void);
-void newtSuspend(void);
-void newtSetSuspendCallback(newtSuspendCallback cb, void * data);
-void newtSetHelpCallback(newtCallback cb);
-void newtResume(void);
-void newtPushHelpLine(const char * text);
-void newtRedrawHelpLine(void);
-void newtPopHelpLine(void);
-void newtDrawRootText(int col, int row, const char * text);
-void newtBell(void);
-void newtCursorOff(void);
-void newtCursorOn(void);
-
-/* Components */
-
-newtComponent newtCompactButton(int left, int top, const char * text);
-newtComponent newtButton(int left, int top, const char * text);
-newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
- const char * seq, char * result);
-char newtCheckboxGetValue(newtComponent co);
-void newtCheckboxSetValue(newtComponent co, char value);
-void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
-
-
-newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
- newtComponent prevButton);
-newtComponent newtRadioGetCurrent(newtComponent setMember);
-newtComponent newtListitem(int left, int top, const char * text, int isDefault,
- newtComponent prevItem, const void * data, int flags);
-void newtListitemSet(newtComponent co, const char * text);
-void * newtListitemGetData(newtComponent co);
-void newtGetScreenSize(int * cols, int * rows);
-
-newtComponent newtLabel(int left, int top, const char * text);
-void newtLabelSetText(newtComponent co, const char * text);
-newtComponent newtVerticalScrollbar(int left, int top, int height,
- int normalColorset, int thumbColorset);
-void newtScrollbarSet(newtComponent co, int where, int total);
-
-newtComponent newtListbox(int left, int top, int height, int flags);
-void * newtListboxGetCurrent(newtComponent co);
-void newtListboxSetCurrent(newtComponent co, int num);
-void newtListboxSetCurrentByKey(newtComponent co, void * key);
-void newtListboxSetEntry(newtComponent co, int num, const char * text);
-void newtListboxSetWidth(newtComponent co, int width);
-void newtListboxSetData(newtComponent co, int num, void * data);
-int newtListboxAppendEntry(newtComponent co, const char * text,
- const void * data);
-/* Send the key to insert after, or NULL to insert at the top */
-int newtListboxInsertEntry(newtComponent co, const char * text, const void * data, void * key);
-int newtListboxDeleteEntry(newtComponent co, void * data);
-void newtListboxClear(newtComponent co); /* removes all entries from listbox */
-void newtListboxGetEntry(newtComponent co, int num, char **text, void **data);
-/* Returns an array of data pointers from items, last element is NULL */
-void **newtListboxGetSelection(newtComponent co, int *numitems);
-void newtListboxClearSelection(newtComponent co);
-void newtListboxSelectItem(newtComponent co, const void * key,
- enum newtFlagsSense sense);
-
-newtComponent newtCheckboxTree(int left, int top, int height, int flags);
-newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags);
-const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems);
-const void * newtCheckboxTreeGetCurrent(newtComponent co);
-const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum);
-/* last item is NEWT_ARG_LAST for all of these */
-int newtCheckboxTreeAddItem(newtComponent co,
- const char * text, const void * data,
- int flags, int index, ...);
-int newtCheckboxTreeAddArray(newtComponent co,
- const char * text, const void * data,
- int flags, int * indexes);
-int * newtCheckboxTreeFindItem(newtComponent co, void * data);
-void newtCheckboxTreeSetEntry(newtComponent co, const void * data,
- const char * text);
-char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data);
-void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data,
- char value);
-
-newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
- int flexDown, int flexUp, int flags);
-newtComponent newtTextbox(int left, int top, int width, int height, int flags);
-void newtTextboxSetText(newtComponent co, const char * text);
-void newtTextboxSetHeight(newtComponent co, int height);
-int newtTextboxGetNumLines(newtComponent co);
-char * newtReflowText(char * text, int width, int flexDown, int flexUp,
- int * actualWidth, int * actualHeight);
-
-struct newtExitStruct {
- enum { NEWT_EXIT_HOTKEY, NEWT_EXIT_COMPONENT, NEWT_EXIT_FDREADY,
- NEWT_EXIT_TIMER } reason;
- union {
- int key;
- newtComponent co;
- } u;
-} ;
-
-newtComponent newtForm(newtComponent vertBar, void * helpTag, int flags);
-void newtFormSetTimer(newtComponent form, int millisecs);
-void newtFormWatchFd(newtComponent form, int fd, int fdFlags);
-void newtFormSetSize(newtComponent co);
-newtComponent newtFormGetCurrent(newtComponent co);
-void newtFormSetBackground(newtComponent co, int color);
-void newtFormSetCurrent(newtComponent co, newtComponent subco);
-void newtFormAddComponent(newtComponent form, newtComponent co);
-void newtFormAddComponents(newtComponent form, ...);
-void newtFormSetHeight(newtComponent co, int height);
-void newtFormSetWidth(newtComponent co, int width);
-newtComponent newtRunForm(newtComponent form); /* obsolete */
-void newtFormRun(newtComponent co, struct newtExitStruct * es);
-void newtDrawForm(newtComponent form);
-void newtFormAddHotKey(newtComponent co, int key);
-
-typedef int (*newtEntryFilter)(newtComponent entry, void * data, int ch,
- int cursor);
-newtComponent newtEntry(int left, int top, const char * initialValue, int width,
- char ** resultPtr, int flags);
-void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd);
-void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data);
-char * newtEntryGetValue(newtComponent co);
-void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
-
-newtComponent newtScale(int left, int top, int width, int fullValue);
-void newtScaleSet(newtComponent co, unsigned int amount);
-
-void newtComponentAddCallback(newtComponent co, newtCallback f, void * data);
-void newtComponentTakesFocus(newtComponent co, int val);
-
-/* this also destroys all of the components (including other forms) on the
- form */
-void newtFormDestroy(newtComponent form);
-
-/* Key codes */
-
-#define NEWT_KEY_TAB '\t'
-#define NEWT_KEY_ENTER '\r'
-#define NEWT_KEY_SUSPEND '\032' /* ctrl - z*/
-#define NEWT_KEY_RETURN NEWT_KEY_ENTER
-
-#define NEWT_KEY_EXTRA_BASE 0x8000
-#define NEWT_KEY_UP NEWT_KEY_EXTRA_BASE + 1
-#define NEWT_KEY_DOWN NEWT_KEY_EXTRA_BASE + 2
-#define NEWT_KEY_LEFT NEWT_KEY_EXTRA_BASE + 4
-#define NEWT_KEY_RIGHT NEWT_KEY_EXTRA_BASE + 5
-#define NEWT_KEY_BKSPC NEWT_KEY_EXTRA_BASE + 6
-#define NEWT_KEY_DELETE NEWT_KEY_EXTRA_BASE + 7
-#define NEWT_KEY_HOME NEWT_KEY_EXTRA_BASE + 8
-#define NEWT_KEY_END NEWT_KEY_EXTRA_BASE + 9
-#define NEWT_KEY_UNTAB NEWT_KEY_EXTRA_BASE + 10
-#define NEWT_KEY_PGUP NEWT_KEY_EXTRA_BASE + 11
-#define NEWT_KEY_PGDN NEWT_KEY_EXTRA_BASE + 12
-#define NEWT_KEY_INSERT NEWT_KEY_EXTRA_BASE + 13
-
-#define NEWT_KEY_F1 NEWT_KEY_EXTRA_BASE + 101
-#define NEWT_KEY_F2 NEWT_KEY_EXTRA_BASE + 102
-#define NEWT_KEY_F3 NEWT_KEY_EXTRA_BASE + 103
-#define NEWT_KEY_F4 NEWT_KEY_EXTRA_BASE + 104
-#define NEWT_KEY_F5 NEWT_KEY_EXTRA_BASE + 105
-#define NEWT_KEY_F6 NEWT_KEY_EXTRA_BASE + 106
-#define NEWT_KEY_F7 NEWT_KEY_EXTRA_BASE + 107
-#define NEWT_KEY_F8 NEWT_KEY_EXTRA_BASE + 108
-#define NEWT_KEY_F9 NEWT_KEY_EXTRA_BASE + 109
-#define NEWT_KEY_F10 NEWT_KEY_EXTRA_BASE + 110
-#define NEWT_KEY_F11 NEWT_KEY_EXTRA_BASE + 111
-#define NEWT_KEY_F12 NEWT_KEY_EXTRA_BASE + 112
-
-/* not really a key, but newtGetKey returns it */
-#define NEWT_KEY_RESIZE NEWT_KEY_EXTRA_BASE + 113
-
-#define NEWT_ANCHOR_LEFT (1 << 0)
-#define NEWT_ANCHOR_RIGHT (1 << 1)
-#define NEWT_ANCHOR_TOP (1 << 2)
-#define NEWT_ANCHOR_BOTTOM (1 << 3)
-
-#define NEWT_GRID_FLAG_GROWX (1 << 0)
-#define NEWT_GRID_FLAG_GROWY (1 << 1)
-
-typedef struct grid_s * newtGrid;
-enum newtGridElement { NEWT_GRID_EMPTY = 0,
- NEWT_GRID_COMPONENT, NEWT_GRID_SUBGRID };
-
-newtGrid newtCreateGrid(int cols, int rows);
-/* TYPE, what, TYPE, what, ..., NULL */
-newtGrid newtGridVStacked(enum newtGridElement type, void * what, ...);
-newtGrid newtGridVCloseStacked(enum newtGridElement type, void * what, ...);
-newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...);
-newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...);
-newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
- newtGrid buttons);
-newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
- newtGrid buttons);
-void newtGridSetField(newtGrid grid, int col, int row,
- enum newtGridElement type, void * val, int padLeft,
- int padTop, int padRight, int padBottom, int anchor,
- int flags);
-void newtGridPlace(newtGrid grid, int left, int top);
-#define newtGridDestroy newtGridFree
-void newtGridFree(newtGrid grid, int recurse);
-void newtGridGetSize(newtGrid grid, int * width, int * height);
-void newtGridWrappedWindow(newtGrid grid, char * title);
-void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top);
-void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
- int recurse);
-
-/* convienve */
-newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args);
-newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...);
-
-/* automatically centered and shrink wrapped */
-void newtWinMessage(char * title, char * buttonText, char * text, ...);
-void newtWinMessagev(char * title, char * buttonText, char * text,
- va_list argv);
-
-/* having separate calls for these two seems silly, but having two separate
- variable length-arg lists seems like a bad idea as well */
-
-/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2 */
-int newtWinChoice(char * title, char * button1, char * button2,
- char * text, ...);
-/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2,
- 3 for button3 */
-int newtWinTernary(char * title, char * button1, char * button2,
- char * button3, char * message, ...);
-
-/* Returns the button number pressed, 0 on F12 */
-int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int maxListHeight, char ** items, int * listItem,
- char * button1, ...);
-
-struct newtWinEntry {
- char * text;
- char ** value; /* may be initialized to set default */
- int flags;
-};
-
-/* Returns the button number pressed, 0 on F12. The final values are
- dynamically allocated, and need to be freed. */
-int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int dataWidth,
- struct newtWinEntry * items, char * button1, ...);
-
-#ifdef __cplusplus
-} /* End of extern "C" { */
-#endif
-
-#endif /* H_NEWT */
diff --git a/mdk-stage1/newt/newt_pr.h b/mdk-stage1/newt/newt_pr.h
deleted file mode 100644
index 76f5e2f6f..000000000
--- a/mdk-stage1/newt/newt_pr.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef H_NEWT_PR
-#define H_NEWT_PR
-
-#define COLORSET_ROOT NEWT_COLORSET_ROOT
-#define COLORSET_BORDER NEWT_COLORSET_BORDER
-#define COLORSET_WINDOW NEWT_COLORSET_WINDOW
-#define COLORSET_SHADOW NEWT_COLORSET_SHADOW
-#define COLORSET_TITLE NEWT_COLORSET_TITLE
-#define COLORSET_BUTTON NEWT_COLORSET_BUTTON
-#define COLORSET_ACTBUTTON NEWT_COLORSET_ACTBUTTON
-#define COLORSET_CHECKBOX NEWT_COLORSET_CHECKBOX
-#define COLORSET_ACTCHECKBOX NEWT_COLORSET_ACTCHECKBOX
-#define COLORSET_ENTRY NEWT_COLORSET_ENTRY
-#define COLORSET_LABEL NEWT_COLORSET_LABEL
-#define COLORSET_LISTBOX NEWT_COLORSET_LISTBOX
-#define COLORSET_ACTLISTBOX NEWT_COLORSET_ACTLISTBOX
-#define COLORSET_TEXTBOX NEWT_COLORSET_TEXTBOX
-#define COLORSET_ACTTEXTBOX NEWT_COLORSET_ACTTEXTBOX
-
-int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense);
-
-void newtGotorc(int row, int col);
-void newtGetrc(int * row, int * col);
-void newtGetWindowPos(int * x, int * y);
-void newtDrawBox(int left, int top, int width, int height, int shadow);
-void newtClearBox(int left, int top, int width, int height);
-
-int newtGetKey(void);
-
-struct newtComponent_struct {
- /* common data */
- int height, width;
- int top, left;
- int takesFocus;
- int isMapped;
-
- struct componentOps * ops;
-
- newtCallback callback;
- void * callbackData;
-
- void * data;
-} ;
-
-enum eventResultTypes { ER_IGNORED, ER_SWALLOWED, ER_EXITFORM, ER_SETFOCUS,
- ER_NEXTCOMP };
-struct eventResult {
- enum eventResultTypes result;
- union {
- newtComponent focus;
- } u;
-};
-
-enum eventTypes { EV_FOCUS, EV_UNFOCUS, EV_KEYPRESS, EV_MOUSE };
-enum eventSequence { EV_EARLY, EV_NORMAL, EV_LATE };
-
-struct event {
- enum eventTypes event;
- enum eventSequence when;
- union {
- int key;
- struct {
- enum { MOUSE_MOTION, MOUSE_BUTTON_DOWN, MOUSE_BUTTON_UP } type;
- int x, y;
- } mouse;
- } u;
-} ;
-
-struct componentOps {
- void (* draw)(newtComponent c);
- struct eventResult (* event)(newtComponent c, struct event ev);
- void (* destroy)(newtComponent c);
- void (* place)(newtComponent c, int newLeft, int newTop);
- void (* mapped)(newtComponent c, int isMapped);
-} ;
-
-void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop);
-void newtDefaultMappedHandler(newtComponent c, int isMapped);
-struct eventResult newtDefaultEventHandler(newtComponent c,
- struct event ev);
-
-#endif /* H_NEWT_PR */
diff --git a/mdk-stage1/newt/scale.c b/mdk-stage1/newt/scale.c
deleted file mode 100644
index 800958580..000000000
--- a/mdk-stage1/newt/scale.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct scale {
- int fullValue;
- int charsSet;
-};
-
-static void scaleDraw(newtComponent co);
-
-static struct componentOps scaleOps = {
- scaleDraw,
- newtDefaultEventHandler,
- NULL,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-newtComponent newtScale(int left, int top, int width, int fullValue) {
- newtComponent co;
- struct scale * sc;
-
- co = malloc(sizeof(*co));
- sc = malloc(sizeof(struct scale));
- co->data = sc;
-
- co->ops = &scaleOps;
-
- co->height = 1;
- co->width = width;
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
-
- sc->fullValue = fullValue;
- sc->charsSet = 0;
-
- return co;
-}
-
-void newtScaleSet(newtComponent co, unsigned int amount) {
- struct scale * sc = co->data;
- int newCharsSet;
-
- newCharsSet = (amount * co->width) / sc->fullValue;
-
- if (newCharsSet != sc->charsSet) {
- sc->charsSet = newCharsSet;
- scaleDraw(co);
- }
-}
-
-static void scaleDraw(newtComponent co) {
- struct scale * sc = co->data;
- int i;
-
- if (co->top == -1) return;
-
- newtGotorc(co->top, co->left);
-
- SLsmg_set_color(NEWT_COLORSET_FULLSCALE);
- for (i = 0; i < sc->charsSet; i++)
- SLsmg_write_string(" ");
-
- SLsmg_set_color(NEWT_COLORSET_EMPTYSCALE);
- for (i = 0; i < (co->width - sc->charsSet); i++)
- SLsmg_write_string(" ");
-}
diff --git a/mdk-stage1/newt/scrollbar.c b/mdk-stage1/newt/scrollbar.c
deleted file mode 100644
index cb4bc2757..000000000
--- a/mdk-stage1/newt/scrollbar.c
+++ /dev/null
@@ -1,124 +0,0 @@
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct scrollbar {
- int curr;
- int cs, csThumb;
- int arrows;
-} ;
-
-static void sbDraw(newtComponent co);
-static void sbDestroy(newtComponent co);
-static void sbDrawThumb(newtComponent co, int isOn);
-
-static struct componentOps sbOps = {
- sbDraw,
- newtDefaultEventHandler,
- sbDestroy,
- newtDefaultPlaceHandler,
- newtDefaultMappedHandler,
-} ;
-
-void newtScrollbarSet(newtComponent co, int where, int total) {
- struct scrollbar * sb = co->data;
- int new;
-
- if (sb->arrows)
- new = (where * (co->height - 3)) / (total ? total : 1) + 1;
- else
- new = (where * (co->height - 1)) / (total ? total : 1);
- if (new != sb->curr) {
- sbDrawThumb(co, 0);
- sb->curr = new;
- sbDrawThumb(co, 1);
- }
-}
-
-newtComponent newtVerticalScrollbar(int left, int top, int height,
- int normalColorset, int thumbColorset) {
- newtComponent co;
- struct scrollbar * sb;
-
- co = malloc(sizeof(*co));
- sb = malloc(sizeof(*sb));
- co->data = sb;
-
- if (!strcmp(getenv("TERM"), "linux") && height >= 2) {
- sb->arrows = 1;
- sb->curr = 1;
- } else {
- sb->arrows = 0;
- sb->curr = 0;
- }
- sb->cs = normalColorset;
- sb->csThumb = thumbColorset;
-
- co->ops = &sbOps;
- co->isMapped = 0;
- co->left = left;
- co->top = top;
- co->height = height;
- co->width = 1;
- co->takesFocus = 0;
-
- return co;
-}
-
-static void sbDraw(newtComponent co) {
- struct scrollbar * sb = co->data;
- int i;
-
- if (!co->isMapped) return;
-
- SLsmg_set_color(sb->cs);
-
- SLsmg_set_char_set(1);
- if (sb->arrows) {
- newtGotorc(co->top, co->left);
- SLsmg_write_char('\x2d');
- for (i = 1; i < co->height - 1; i++) {
- newtGotorc(i + co->top, co->left);
- SLsmg_write_char('\x61');
- }
- newtGotorc(co->top + co->height - 1, co->left);
- SLsmg_write_char('\x2e');
- } else {
- for (i = 0; i < co->height; i++) {
- newtGotorc(i + co->top, co->left);
- SLsmg_write_char('\x61');
- }
- }
-
- SLsmg_set_char_set(0);
-
- sbDrawThumb(co, 1);
-}
-
-static void sbDrawThumb(newtComponent co, int isOn) {
- struct scrollbar * sb = co->data;
- char ch = isOn ? '#' : '\x61';
-
- if (!co->isMapped) return;
-
- newtGotorc(sb->curr + co->top, co->left);
- SLsmg_set_char_set(1);
-
- /*if (isOn)
- SLsmg_set_color(sb->csThumb);
- else*/
- SLsmg_set_color(sb->cs);
-
- SLsmg_write_char(ch);
- SLsmg_set_char_set(0);
-}
-
-static void sbDestroy(newtComponent co) {
- struct scrollbar * sb = co->data;
-
- free(sb);
- free(co);
-}
diff --git a/mdk-stage1/newt/textbox.c b/mdk-stage1/newt/textbox.c
deleted file mode 100644
index 8eb4ae4db..000000000
--- a/mdk-stage1/newt/textbox.c
+++ /dev/null
@@ -1,409 +0,0 @@
-#include <ctype.h>
-#include <slang.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "newt.h"
-#include "newt_pr.h"
-
-struct textbox {
- char ** lines;
- int numLines;
- int linesAlloced;
- int doWrap;
- newtComponent sb;
- int topLine;
- int textWidth;
-};
-
-static char * expandTabs(const char * text);
-static void textboxDraw(newtComponent co);
-static void addLine(newtComponent co, const char * s, int len);
-static void doReflow(const char * text, char ** resultPtr, int width,
- int * badness, int * heightPtr);
-static struct eventResult textboxEvent(newtComponent c,
- struct event ev);
-static void textboxDestroy(newtComponent co);
-static void textboxPlace(newtComponent co, int newLeft, int newTop);
-static void textboxMapped(newtComponent co, int isMapped);
-
-static struct componentOps textboxOps = {
- textboxDraw,
- textboxEvent,
- textboxDestroy,
- textboxPlace,
- textboxMapped,
-} ;
-
-static void textboxMapped(newtComponent co, int isMapped) {
- struct textbox * tb = co->data;
-
- co->isMapped = isMapped;
- if (tb->sb)
- tb->sb->ops->mapped(tb->sb, isMapped);
-}
-
-static void textboxPlace(newtComponent co, int newLeft, int newTop) {
- struct textbox * tb = co->data;
-
- co->top = newTop;
- co->left = newLeft;
-
- if (tb->sb)
- tb->sb->ops->place(tb->sb, co->left + co->width - 1, co->top);
-}
-
-void newtTextboxSetHeight(newtComponent co, int height) {
- co->height = height;
-}
-
-int newtTextboxGetNumLines(newtComponent co) {
- struct textbox * tb = co->data;
-
- return (tb->numLines);
-}
-
-newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
- int flexDown, int flexUp, int flags __attribute__ ((unused))) {
- newtComponent co;
- char * reflowedText;
- int actWidth, actHeight;
-
- reflowedText = newtReflowText(text, width, flexDown, flexUp,
- &actWidth, &actHeight);
-
- co = newtTextbox(left, top, actWidth, actHeight, NEWT_FLAG_WRAP);
- newtTextboxSetText(co, reflowedText);
- free(reflowedText);
-
- return co;
-}
-
-newtComponent newtTextbox(int left, int top, int width, int height, int flags) {
- newtComponent co;
- struct textbox * tb;
-
- co = malloc(sizeof(*co));
- tb = malloc(sizeof(*tb));
- co->data = tb;
-
- co->ops = &textboxOps;
-
- co->height = height;
- co->top = top;
- co->left = left;
- co->takesFocus = 0;
- co->width = width;
-
- tb->doWrap = flags & NEWT_FLAG_WRAP;
- tb->numLines = 0;
- tb->linesAlloced = 0;
- tb->lines = NULL;
- tb->topLine = 0;
- tb->textWidth = width;
-
- if (flags & NEWT_FLAG_SCROLL) {
- co->width += 2;
- tb->sb = newtVerticalScrollbar(co->left + co->width - 1, co->top,
- co->height, COLORSET_TEXTBOX, COLORSET_TEXTBOX);
- } else {
- tb->sb = NULL;
- }
-
- return co;
-}
-
-static char * expandTabs(const char * text) {
- int bufAlloced = strlen(text) + 40;
- char * buf, * dest;
- const char * src;
- int bufUsed = 0;
- int linePos = 0;
- int i;
-
- buf = malloc(bufAlloced + 1);
- for (src = text, dest = buf; *src; src++) {
- if ((bufUsed + 10) > bufAlloced) {
- bufAlloced += strlen(text) / 2;
- buf = realloc(buf, bufAlloced + 1);
- dest = buf + bufUsed;
- }
- if (*src == '\t') {
- i = 8 - (linePos & 8);
- memset(dest, ' ', i);
- dest += i, bufUsed += i, linePos += i;
- } else {
- if (*src == '\n')
- linePos = 0;
- else
- linePos++;
-
- *dest++ = *src;
- bufUsed++;
- }
- }
-
- *dest = '\0';
- return buf;
-}
-
-#define iseuckanji(c) (0xa1 <= (unsigned char)(c&0xff) && (unsigned char)(c&0xff) <= 0xfe)
-
-static void doReflow(const char * text, char ** resultPtr, int width,
- int * badness, int * heightPtr) {
- char * result = NULL;
- const char * chptr, * end;
- int i;
- int howbad = 0;
- int height = 0;
- int kanji = 0;
-
- if (resultPtr) {
- /* XXX I think this will work */
- result = malloc(strlen(text) + (strlen(text) / width) + 50);
- *result = '\0';
- }
-
- while (*text) {
- kanji = 0;
- end = strchr(text, '\n');
- if (!end)
- end = text + strlen(text);
-
- while (*text && text < end) {
- if (end - text < width) {
- if (result) {
- strncat(result, text, end - text);
- strcat(result, "\n");
- height++;
- }
-
- if (end - text < (width / 2))
- howbad += ((width / 2) - (end - text)) / 2;
- text = end;
- if (*text) text++;
- } else {
- chptr = text;
- kanji = 0;
- for ( i = 0; i < width - 1; i++ ) {
- if ( !iseuckanji(*chptr)) {
- kanji = 0;
- } else if ( kanji == 1 ) {
- kanji = 2;
- } else {
- kanji = 1;
- }
- chptr++;
- }
- if (kanji == 0) {
- while (chptr > text && !isspace(*chptr)) chptr--;
- while (chptr > text && isspace(*chptr)) chptr--;
- chptr++;
- }
-
- if (chptr-text == 1 && !isspace(*chptr))
- chptr = text + width - 1;
-
- if (chptr > text)
- howbad += width - (chptr - text) + 1;
- if (result) {
- if (kanji == 1) {
- strncat(result, text, chptr - text + 1);
- chptr++;
- kanji = 0;
- } else {
- strncat(result, text, chptr - text);
- }
- strcat(result, "\n");
- height++;
- }
-
- if (isspace(*chptr))
- text = chptr + 1;
- else
- text = chptr;
- while (isspace(*text)) text++;
- }
- }
- }
-
-// if (result) printf("result: %s\n", result);
-
- if (badness) *badness = howbad;
- if (resultPtr) *resultPtr = result;
- if (heightPtr) *heightPtr = height;
-}
-
-char * newtReflowText(char * text, int width, int flexDown, int flexUp,
- int * actualWidth, int * actualHeight) {
- int min, max;
- int i;
- char * result;
- int minbad, minbadwidth, howbad;
- char * expandedText;
-
- expandedText = expandTabs(text);
-
- if (flexDown || flexUp) {
- min = width - flexDown;
- max = width + flexUp;
-
- minbad = -1;
- minbadwidth = width;
-
- for (i = min; i <= max; i++) {
- doReflow(expandedText, NULL, i, &howbad, NULL);
-
- if (minbad == -1 || howbad < minbad) {
- minbad = howbad;
- minbadwidth = i;
- }
- }
-
- width = minbadwidth;
- }
-
- doReflow(expandedText, &result, width, NULL, actualHeight);
- free(expandedText);
- if (actualWidth) *actualWidth = width;
- return result;
-}
-
-void newtTextboxSetText(newtComponent co, const char * text) {
- const char * start, * end;
- struct textbox * tb = co->data;
- char * reflowed, * expanded;
- int badness, height;
-
- if (tb->lines) {
- free(tb->lines);
- tb->linesAlloced = tb->numLines = 0;
- }
-
- expanded = expandTabs(text);
-
- if (tb->doWrap) {
- doReflow(expanded, &reflowed, tb->textWidth, &badness, &height);
- free(expanded);
- expanded = reflowed;
- }
-
- for (start = expanded; *start; start++)
- if (*start == '\n') tb->linesAlloced++;
-
- /* This ++ leaves room for an ending line w/o a \n */
- tb->linesAlloced++;
- tb->lines = malloc(sizeof(char *) * tb->linesAlloced);
-
- start = expanded;
- while ((end = strchr(start, '\n'))) {
- addLine(co, start, end - start);
- start = end + 1;
- }
-
- if (*start)
- addLine(co, start, strlen(start));
-
- free(expanded);
-}
-
-/* This assumes the buffer is allocated properly! */
-static void addLine(newtComponent co, const char * s, int len) {
- struct textbox * tb = co->data;
-
- if (len > tb->textWidth) len = tb->textWidth;
-
- tb->lines[tb->numLines] = malloc(tb->textWidth + 1);
- memset(tb->lines[tb->numLines], ' ', tb->textWidth);
- memcpy(tb->lines[tb->numLines], s, len);
- tb->lines[tb->numLines++][tb->textWidth] = '\0';
-}
-
-static void textboxDraw(newtComponent c) {
- int i;
- struct textbox * tb = c->data;
- int size;
-
- if (tb->sb) {
- size = tb->numLines - c->height;
- newtScrollbarSet(tb->sb, tb->topLine, size ? size : 0);
- tb->sb->ops->draw(tb->sb);
- }
-
- SLsmg_set_color(NEWT_COLORSET_TEXTBOX);
-
- for (i = 0; (i + tb->topLine) < tb->numLines && i < c->height; i++) {
- newtGotorc(c->top + i, c->left);
- SLsmg_write_string(tb->lines[i + tb->topLine]);
- }
-}
-
-static struct eventResult textboxEvent(newtComponent co,
- struct event ev) {
- struct textbox * tb = co->data;
- struct eventResult er;
-
- er.result = ER_IGNORED;
-
- if (ev.when == EV_EARLY && ev.event == EV_KEYPRESS && tb->sb) {
- switch (ev.u.key) {
- case NEWT_KEY_UP:
- if (tb->topLine) tb->topLine--;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_DOWN:
- if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGDN:
- tb->topLine += co->height;
- if (tb->topLine > (tb->numLines - co->height)) {
- tb->topLine = tb->numLines - co->height;
- if (tb->topLine < 0) tb->topLine = 0;
- }
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
-
- case NEWT_KEY_PGUP:
- tb->topLine -= co->height;
- if (tb->topLine < 0) tb->topLine = 0;
- textboxDraw(co);
- er.result = ER_SWALLOWED;
- break;
- }
- }
- if (ev.when == EV_EARLY && ev.event == EV_MOUSE && tb->sb) {
- /* Top scroll arrow */
- if (ev.u.mouse.x == co->width && ev.u.mouse.y == co->top) {
- if (tb->topLine) tb->topLine--;
- textboxDraw(co);
-
- er.result = ER_SWALLOWED;
- }
- /* Bottom scroll arrow */
- if (ev.u.mouse.x == co->width &&
- ev.u.mouse.y == co->top + co->height - 1) {
- if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
- textboxDraw(co);
-
- er.result = ER_SWALLOWED;
- }
- }
- return er;
-}
-
-static void textboxDestroy(newtComponent co) {
- int i;
- struct textbox * tb = co->data;
-
- for (i = 0; i < tb->numLines; i++)
- free(tb->lines[i]);
- free(tb->lines);
- free(tb);
- free(co);
-}
diff --git a/mdk-stage1/newt/windows.c b/mdk-stage1/newt/windows.c
deleted file mode 100644
index 30a8d526c..000000000
--- a/mdk-stage1/newt/windows.c
+++ /dev/null
@@ -1,275 +0,0 @@
-#include <errno.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "errno.h"
-#include "newt.h"
-
-static void * newtvwindow(char * title, char * button1, char * button2,
- char * button3, char * message, va_list args) {
- newtComponent b1, b2 = NULL, b3 = NULL, t, f, answer;
- char * buf = NULL;
- int size = 0;
- int i = 0;
- int scroll = 0;
- int width, height;
- char * flowedText;
- newtGrid grid, buttonGrid;
-
- do {
- size += 1000;
- if (buf) free(buf);
- buf = malloc(size);
- i = vsnprintf(buf, size, message, args);
- } while (i >= size || i == -1);
-
- flowedText = newtReflowText(buf, 50, 5, 5, &width, &height);
- if (height > 6) {
- free(flowedText);
- flowedText = newtReflowText(buf, 60, 5, 5, &width, &height);
- }
- free(buf);
-
- if (height > 12) {
- height = 12;
- scroll = NEWT_FLAG_SCROLL;
- }
- t = newtTextbox(-1, -1, width, height, NEWT_TEXTBOX_WRAP | scroll);
- newtTextboxSetText(t, flowedText);
- free(flowedText);
-
- if (button3) {
- buttonGrid = newtButtonBar(button1, &b1, button2, &b2,
- button3, &b3, NULL);
- } else if (button2) {
- buttonGrid = newtButtonBar(button1, &b1, button2, &b2, NULL);
- } else {
- buttonGrid = newtButtonBar(button1, &b1, NULL);
- }
-
- newtGridSetField(buttonGrid, 0, 0, NEWT_GRID_COMPONENT, b1,
- 0, 0, button2 ? 1 : 0, 0, 0, 0);
-
- grid = newtCreateGrid(1, 2);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, t, 0, 0, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, buttonGrid,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
- newtGridWrappedWindow(grid, title);
-
- f = newtForm(NULL, NULL, 0);
- newtFormAddComponents(f, t, b1, NULL);
-
- if (button2)
- newtFormAddComponent(f, b2);
- if (button3)
- newtFormAddComponent(f, b3);
-
- answer = newtRunForm(f);
- newtGridFree(grid, 1);
-
- newtFormDestroy(f);
- newtPopWindow();
-
- if (answer == f)
- return NULL;
- else if (answer == b1)
- return button1;
- else if (answer == b2)
- return button2;
-
- return button3;
-}
-
-int newtWinChoice(char * title, char * button1, char * button2,
- char * message, ...) {
- va_list args;
- void * rc;
-
- va_start(args, message);
- rc = newtvwindow(title, button1, button2, NULL, message, args);
- va_end(args);
-
- if (rc == button1)
- return 1;
- else if (rc == button2)
- return 2;
-
- return 0;
-}
-
-void newtWinMessage(char * title, char * buttonText, char * text, ...) {
- va_list args;
-
- va_start(args, text);
- newtvwindow(title, buttonText, NULL, NULL, text, args);
- va_end(args);
-}
-
-void newtWinMessagev(char * title, char * buttonText, char * text,
- va_list argv) {
- newtvwindow(title, buttonText, NULL, NULL, text, argv);
-}
-
-int newtWinTernary(char * title, char * button1, char * button2,
- char * button3, char * message, ...) {
- va_list args;
- void * rc;
-
- va_start(args, message);
- rc = newtvwindow(title, button1, button2, button3, message, args);
- va_end(args);
-
- if (rc == button1)
- return 1;
- else if (rc == button2)
- return 2;
- else if (rc == button3)
- return 3;
-
- return 0;
-}
-
-/* only supports up to 50 buttons -- shucks! */
-int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int maxListHeight, char ** items, int * listItem,
- char * button1, ...) {
- newtComponent textbox, listbox, result, form;
- va_list args;
- newtComponent buttons[50];
- newtGrid grid, buttonBar;
- int numButtons;
- int i, rc;
- int needScroll;
- char * buttonName;
-
- textbox = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
- flexUp, 0);
-
- for (i = 0; items[i]; i++) ;
- if (i < maxListHeight) maxListHeight = i;
- needScroll = i > maxListHeight;
-
- listbox = newtListbox(-1, -1, maxListHeight,
- (needScroll ? NEWT_FLAG_SCROLL : 0) | NEWT_FLAG_RETURNEXIT);
- for (i = 0; items[i]; i++) {
- newtListboxAddEntry(listbox, items[i], (void *) (long)i);
- }
-
- newtListboxSetCurrent(listbox, *listItem);
-
- buttonName = button1, numButtons = 0;
- va_start(args, button1);
- while (buttonName) {
- buttons[numButtons] = newtButton(-1, -1, buttonName);
- numButtons++;
- buttonName = va_arg(args, char *);
- }
-
- va_end(args);
-
- buttonBar = newtCreateGrid(numButtons, 1);
- for (i = 0; i < numButtons; i++) {
- newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
- buttons[i],
- i ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- grid = newtGridSimpleWindow(textbox, listbox, buttonBar);
- newtGridWrappedWindow(grid, title);
-
- form = newtForm(NULL, 0, 0);
- newtGridAddComponentsToForm(grid, form, 1);
- newtGridFree(grid, 1);
-
- result = newtRunForm(form);
-
- *listItem = ((long) newtListboxGetCurrent(listbox));
-
- for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
- if (rc == numButtons)
- rc = 0; /* F12 or return-on-exit (which are the same for us) */
- else
- rc++;
-
- newtFormDestroy(form);
- newtPopWindow();
-
- return rc;
-}
-
-/* only supports up to 50 buttons and entries -- shucks! */
-int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
- int flexUp, int dataWidth,
- struct newtWinEntry * items, char * button1, ...) {
- newtComponent buttons[50], result, form, textw;
- newtGrid grid, buttonBar, subgrid;
- int numItems;
- int rc, i;
- int numButtons;
- char * buttonName;
- va_list args;
-
- textw = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
- flexUp, 0);
-
- for (numItems = 0; items[numItems].text; numItems++);
-
- buttonName = button1, numButtons = 0;
- va_start(args, button1);
- while (buttonName) {
- buttons[numButtons] = newtButton(-1, -1, buttonName);
- numButtons++;
- buttonName = va_arg(args, char *);
- }
-
- va_end(args);
-
- buttonBar = newtCreateGrid(numButtons, 1);
- for (i = 0; i < numButtons; i++) {
- newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
- buttons[i],
- i ? 1 : 0, 0, 0, 0, 0, 0);
- }
-
- subgrid = newtCreateGrid(2, numItems);
- for (i = 0; i < numItems; i++) {
- newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
- newtLabel(-1, -1, items[i].text),
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(subgrid, 1, i, NEWT_GRID_COMPONENT,
- newtEntry(-1, -1, items[i].value ?
- *items[i].value : NULL, dataWidth,
- items[i].value, items[i].flags),
- 1, 0, 0, 0, 0, 0);
- }
-
- grid = newtCreateGrid(1, 3);
- form = newtForm(NULL, 0, 0);
- newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, textw,
- 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
- newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid,
- 0, 1, 0, 0, 0, 0);
- newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttonBar,
- 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
- newtGridAddComponentsToForm(grid, form, 1);
- newtGridWrappedWindow(grid, title);
- newtGridFree(grid, 1);
-
- result = newtRunForm(form);
-
- for (rc = 0; rc < numItems; rc++)
- *items[rc].value = strdup(*items[rc].value);
-
- for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
- if (rc == numButtons)
- rc = 0; /* F12 */
- else
- rc++;
-
- newtFormDestroy(form);
- newtPopWindow();
-
- return rc;
-}
diff --git a/mdk-stage1/nfsmount.c b/mdk-stage1/nfsmount.c
deleted file mode 100644
index 032fde60c..000000000
--- a/mdk-stage1/nfsmount.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-/* this is based on work from redhat, made it lighter (gc)
- */
-
-
-/* MODIFIED for Red Hat Linux installer
- * msw@redhat.com
- * o always mounts without lockd
- * o uses our own host resolution
- */
-
-/*
- * nfsmount.c -- Linux NFS mount
- * Copyright (C) 1993 Rick Sladkey <jrs@world.std.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Wed Feb 8 12:51:48 1995, biro@yggdrasil.com (Ross Biro): allow all port
- * numbers to be specified on the command line.
- *
- * Fri, 8 Mar 1996 18:01:39, Swen Thuemmler <swen@uni-paderborn.de>:
- * Omit the call to connect() for Linux version 1.3.11 or later.
- *
- * Wed Oct 1 23:55:28 1997: Dick Streefland <dick_streefland@tasking.com>
- * Implemented the "bg", "fg" and "retry" mount options for NFS.
- */
-
-/*
- * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <netdb.h>
-#include <sys/mount.h>
-#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/utsname.h>
-#include <sys/stat.h>
-#include <arpa/inet.h>
-#include "linux-2.2/nfs.h"
-#include "linux-2.2/nfs_mount.h" //#include "mount_constants.h"
-
-#include "log.h"
-#include "dns.h"
-
-#include "nfsmount.h"
-
-
-bool_t
-xdr_fhandle(XDR *xdrs, fhandle objp)
-{
- if (!xdr_opaque(xdrs, objp, FHSIZE)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-bool_t
-xdr_fhstatus(XDR *xdrs, fhstatus *objp)
-{
-
- if (!xdr_u_int(xdrs, &objp->fhs_status)) {
- return (FALSE);
- }
- switch (objp->fhs_status) {
- case 0:
- if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) {
- return (FALSE);
- }
- break;
- default:
- break;
- }
- return (TRUE);
-}
-
-bool_t
-xdr_dirpath(XDR *xdrs, dirpath *objp)
-{
-
- if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
- return (FALSE);
- }
- return (TRUE);
-}
-
-
-static int nfs_mount_version = 3; /* kernel >= 2.1.32 */ /* *********** TODO for kernel 2.4, nfs-mount version 4 */
-
-
-int nfsmount_prepare(const char *spec, int *flags, char **mount_opts)
-{
- char hostdir[1024];
- CLIENT *mclient;
- char *hostname, *dirname;
- fhandle root_fhandle;
- struct timeval total_timeout;
- enum clnt_stat clnt_stat;
- static struct nfs_mount_data data;
- struct sockaddr_in server_addr;
- struct sockaddr_in mount_server_addr;
- int msock, fsock;
- struct timeval retry_timeout;
- struct fhstatus status;
- char *s;
- int port;
-
- msock = fsock = -1;
- mclient = NULL;
-
- strncpy(hostdir, spec, sizeof(hostdir));
- if ((s = (strchr(hostdir, ':')))) {
- hostname = hostdir;
- dirname = s + 1;
- *s = '\0';
- } else {
- log_message("nfsmount: format not host:dir");
- goto fail;
- }
-
- server_addr.sin_family = AF_INET;
-
- /* first, try as IP address */
- if (!inet_aton(hostname, &server_addr.sin_addr)) {
- /* failure, try as machine name */
- if (mygethostbyname(hostname, &server_addr.sin_addr))
- goto fail;
- }
-
- memcpy (&mount_server_addr, &server_addr, sizeof (mount_server_addr));
-
-
-
- /* Set default options.
- * timeo is filled in after we know whether it'll be TCP or UDP. */
- memset(&data, 0, sizeof(data));
- data.retrans = 3;
- data.acregmin = 3;
- data.acregmax = 60;
- data.acdirmin = 30;
- data.acdirmax = 60;
- data.rsize = 8192;
- data.wsize = 8192;
- data.bsize = 8192;
-#if NFS_MOUNT_VERSION >= 2
- data.namlen = NAME_MAX;
-#endif
-
-#if NFS_MOUNT_VERSION >= 3
- if (nfs_mount_version >= 3)
- data.flags |= NFS_MOUNT_NONLM; /* HACK HACK msw */
-#endif
-
- /* Adjust options if none specified */
- if (!data.timeo)
- data.timeo = 7; /* udp */
-
-
- data.version = nfs_mount_version;
- *mount_opts = (char *) &data;
-
- if (*flags & MS_REMOUNT)
- return 0;
-
-
- retry_timeout.tv_sec = 3;
- retry_timeout.tv_usec = 0;
- total_timeout.tv_sec = 20;
- total_timeout.tv_usec = 0;
-
-
- /* contact the mount daemon via TCP */
- mount_server_addr.sin_port = htons(0);
- msock = RPC_ANYSOCK;
- mclient = clnttcp_create(&mount_server_addr, MOUNTPROG, MOUNTVERS, &msock, 0, 0);
-
- /* if this fails, contact the mount daemon via UDP */
- if (!mclient) {
- mount_server_addr.sin_port = htons(0);
- msock = RPC_ANYSOCK;
- mclient = clntudp_create(&mount_server_addr, MOUNTPROG, MOUNTVERS, retry_timeout, &msock);
- }
- if (mclient) {
- /* try to mount hostname:dirname */
- mclient->cl_auth = authunix_create_default();
- clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
- (xdrproc_t) xdr_dirpath, (caddr_t) &dirname,
- (xdrproc_t) xdr_fhstatus, (caddr_t) &status,
- total_timeout);
- if (clnt_stat != RPC_SUCCESS) {
- if (errno != ECONNREFUSED) {
- log_message(clnt_sperror(mclient, "mount"));
- goto fail; /* don't retry */
- }
- log_message(clnt_sperror(mclient, "mount"));
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- mclient = 0;
- close(msock);
- }
- } else
- goto fail;
-
- if (status.fhs_status != 0) {
- if (status.fhs_status == 2)
- log_message("NFS server says: No such file or directory");
- else if (status.fhs_status == 13)
- log_message("NFS server says: Permission denied");
- else
- log_message("nfsmount prepare failed, reason given by server: %d", status.fhs_status);
- goto fail;
- }
-
- memcpy((char *) &root_fhandle, (char *) status.fhstatus_u.fhs_fhandle, sizeof (root_fhandle));
-
- /* create nfs socket for kernel */
-
- fsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (fsock < 0) {
- log_perror("nfs socket");
- goto fail;
- }
- if (bindresvport(fsock, 0) < 0) {
- log_perror("nfs bindresvport");
- goto fail;
- }
- server_addr.sin_port = PMAPPORT;
- port = pmap_getport(&server_addr, NFS_PROGRAM, NFS_VERSION, IPPROTO_UDP);
- if (port == 0)
- port = NFS_PORT;
-#ifdef NFS_MOUNT_DEBUG
- else
- log_message("used portmapper to find NFS port\n");
- log_message("using port %d for nfs deamon\n", port);
-#endif
- server_addr.sin_port = htons(port);
-
- /* prepare data structure for kernel */
-
- data.fd = fsock;
- memcpy((char *) &data.root, (char *) &root_fhandle, sizeof (root_fhandle));
- memcpy((char *) &data.addr, (char *) &server_addr, sizeof(data.addr));
- strncpy(data.hostname, hostname, sizeof(data.hostname));
-
- /* clean up */
-
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- close(msock);
- return 0;
-
- /* abort */
-
- fail:
- if (msock != -1) {
- if (mclient) {
- auth_destroy(mclient->cl_auth);
- clnt_destroy(mclient);
- }
- close(msock);
- }
- if (fsock != -1)
- close(fsock);
-
- return -1;
-}
-
diff --git a/mdk-stage1/nfsmount.h b/mdk-stage1/nfsmount.h
deleted file mode 100644
index 12ffa69a6..000000000
--- a/mdk-stage1/nfsmount.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _NFSMOUNT_H_RPCGEN
-#define _NFSMOUNT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-int nfsmount_prepare(const char *spec, int *flags, char **mount_opts);
-
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-/*
- * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
- */
-
-/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
-#ifndef _rpcsvc_mount_h
-#define _rpcsvc_mount_h
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-
-typedef char fhandle[FHSIZE];
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__
-extern bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */
-bool_t xdr_fhandle();
-#endif /* Old Style C */
-
-
-struct fhstatus {
- u_int fhs_status;
- union {
- fhandle fhs_fhandle;
- } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-#ifdef __cplusplus
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__
-extern bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */
-bool_t xdr_fhstatus();
-#endif /* Old Style C */
-
-
-typedef char *dirpath;
-#ifdef __cplusplus
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__
-extern bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */
-bool_t xdr_dirpath();
-#endif /* Old Style C */
-
-
-typedef char *name;
-#ifdef __cplusplus
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__
-extern bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */
-bool_t xdr_name();
-#endif /* Old Style C */
-
-
-typedef struct mountbody *mountlist;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__
-extern bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */
-bool_t xdr_mountlist();
-#endif /* Old Style C */
-
-
-struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-#ifdef __cplusplus
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__
-extern bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */
-bool_t xdr_mountbody();
-#endif /* Old Style C */
-
-
-typedef struct groupnode *groups;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__
-extern bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */
-bool_t xdr_groups();
-#endif /* Old Style C */
-
-
-struct groupnode {
- name gr_name;
- groups gr_next;
-};
-typedef struct groupnode groupnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__
-extern bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */
-bool_t xdr_groupnode();
-#endif /* Old Style C */
-
-
-typedef struct exportnode *exports;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__
-extern bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */
-bool_t xdr_exports();
-#endif /* Old Style C */
-
-
-struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
-};
-typedef struct exportnode exportnode;
-#ifdef __cplusplus
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__
-extern bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */
-bool_t xdr_exportnode();
-#endif /* Old Style C */
-
-
-struct ppathcnf {
- int pc_link_max;
- short pc_max_canon;
- short pc_max_input;
- short pc_name_max;
- short pc_path_max;
- short pc_pipe_buf;
- u_char pc_vdisable;
- char pc_xxx;
- short pc_mask[2];
-};
-typedef struct ppathcnf ppathcnf;
-#ifdef __cplusplus
-extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#elif __STDC__
-extern bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#else /* Old Style C */
-bool_t xdr_ppathcnf();
-#endif /* Old Style C */
-
-#endif /*!_rpcsvc_mount_h*/
-
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
-
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1(void *, CLIENT *);
-extern void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1(void *, CLIENT *);
-extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1(void *, CLIENT *);
-extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1(void *, CLIENT *);
-extern exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1(void *, CLIENT *);
-extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#else /* Old Style C */
-#define MOUNTPROC_NULL ((u_long)0)
-extern void * mountproc_null_1();
-extern void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
-extern fhstatus * mountproc_mnt_1();
-extern fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
-extern mountlist * mountproc_dump_1();
-extern mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
-extern void * mountproc_umnt_1();
-extern void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern void * mountproc_umntall_1();
-extern void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern exports * mountproc_export_1();
-extern exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern exports * mountproc_exportall_1();
-extern exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */
-#define MOUNTVERS_POSIX ((u_long)2)
-
-#ifdef __cplusplus
-extern "C" void * mountproc_null_2(void *, CLIENT *);
-extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
-extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern "C" void * mountproc_umntall_2(void *, CLIENT *);
-extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_export_2(void *, CLIENT *);
-extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#elif __STDC__
-extern void * mountproc_null_2(void *, CLIENT *);
-extern void * mountproc_null_2_svc(void *, struct svc_req *);
-extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern mountlist * mountproc_dump_2(void *, CLIENT *);
-extern mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern void * mountproc_umntall_2(void *, CLIENT *);
-extern void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern exports * mountproc_export_2(void *, CLIENT *);
-extern exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern exports * mountproc_exportall_2(void *, CLIENT *);
-extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#else /* Old Style C */
-extern void * mountproc_null_2();
-extern void * mountproc_null_2_svc();
-extern fhstatus * mountproc_mnt_2();
-extern fhstatus * mountproc_mnt_2_svc();
-extern mountlist * mountproc_dump_2();
-extern mountlist * mountproc_dump_2_svc();
-extern void * mountproc_umnt_2();
-extern void * mountproc_umnt_2_svc();
-extern void * mountproc_umntall_2();
-extern void * mountproc_umntall_2_svc();
-extern exports * mountproc_export_2();
-extern exports * mountproc_export_2_svc();
-extern exports * mountproc_exportall_2();
-extern exports * mountproc_exportall_2_svc();
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern ppathcnf * mountproc_pathconf_2();
-extern ppathcnf * mountproc_pathconf_2_svc();
-#endif /* Old Style C */
-
-#endif /* !_NFSMOUNT_H_RPCGEN */
diff --git a/mdk-stage1/params.c b/mdk-stage1/params.c
new file mode 100644
index 000000000..9398759ab
--- /dev/null
+++ b/mdk-stage1/params.c
@@ -0,0 +1,175 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include "params.h"
+#include "utils.h"
+#include "automatic.h"
+#include "log.h"
+
+static struct param_elem params[50];
+static int param_number = 0;
+
+void process_cmdline(void)
+{
+ char buf[512];
+ int size, i;
+ int fd = -1;
+
+ if (IS_TESTING) {
+ log_message("TESTING: opening cmdline... ");
+
+ if ((fd = open("cmdline", O_RDONLY)) == -1)
+ log_message("TESTING: could not open cmdline");
+ }
+
+ if (fd == -1) {
+ log_message("opening /proc/cmdline... ");
+
+ if ((fd = open("/proc/cmdline", O_RDONLY)) == -1)
+ fatal_error("could not open /proc/cmdline");
+ }
+
+ size = read(fd, buf, sizeof(buf));
+ buf[size-1] = '\0'; // -1 to eat the \n
+ close(fd);
+
+ log_message("\t%s", buf);
+
+ i = 0;
+ while (buf[i] != '\0') {
+ char *name, *value = NULL;
+ int j = i;
+ while (buf[i] != ' ' && buf[i] != '=' && buf[i] != '\0')
+ i++;
+ if (i == j) {
+ i++;
+ continue;
+ }
+ name = _memdup(&buf[j], i-j + 1);
+ name[i-j] = '\0';
+
+ if (buf[i] == '=') {
+ int k = i+1;
+ i++;
+ while (buf[i] != ' ' && buf[i] != '\0')
+ i++;
+ value = _memdup(&buf[k], i-k + 1);
+ value[i-k] = '\0';
+ }
+
+ params[param_number].name = name;
+ params[param_number].value = value;
+ param_number++;
+ if (!strcmp(name, "changedisk")) set_param(MODE_CHANGEDISK);
+ if (!strcmp(name, "updatemodules") ||
+ !strcmp(name, "thirdparty")) set_param(MODE_THIRDPARTY);
+ if (!strcmp(name, "rescue") ||
+ !strcmp(name, "kamethod")) set_param(MODE_RESCUE);
+ if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
+ if (!strcmp(name, "keepmounted")) set_param(MODE_KEEP_MOUNTED);
+ if (!strcmp(name, "noauto")) set_param(MODE_NOAUTO);
+ if (!strcmp(name, "netauto")) set_param(MODE_NETAUTO);
+ if (!strcmp(name, "debugstage1")) set_param(MODE_DEBUGSTAGE1);
+ if (!strcmp(name, "automatic")) {
+ set_param(MODE_AUTOMATIC);
+ grab_automatic_params(value);
+ }
+ if (buf[i] == '\0')
+ break;
+ i++;
+ }
+
+ if (IS_AUTOMATIC && strcmp(get_auto_value("thirdparty"), "")) {
+ set_param(MODE_THIRDPARTY);
+ }
+
+ log_message("\tgot %d args", param_number);
+}
+
+
+int stage1_mode = 0;
+
+int get_param(int i)
+{
+#ifdef SPAWN_INTERACTIVE
+ static int fd = 0;
+ char buf[5000];
+ char * ptr;
+ int nb;
+
+ if (fd <= 0) {
+ fd = open(interactive_fifo, O_RDONLY);
+ if (fd == -1)
+ return (stage1_mode & i);
+ fcntl(fd, F_SETFL, O_NONBLOCK);
+ }
+
+ if (fd > 0) {
+ if ((nb = read(fd, buf, sizeof(buf))) > 0) {
+ buf[nb] = '\0';
+ ptr = buf;
+ while ((ptr = strstr(ptr, "+ "))) {
+ if (!strncmp(ptr+2, "rescue", 6)) set_param(MODE_RESCUE);
+ ptr++;
+ }
+ ptr = buf;
+ while ((ptr = strstr(ptr, "- "))) {
+ if (!strncmp(ptr+2, "rescue", 6)) unset_param(MODE_RESCUE);
+ ptr++;
+ }
+ }
+ }
+#endif
+
+ return (stage1_mode & i);
+}
+
+char * get_param_valued(char *param_name)
+{
+ int i;
+ for (i = 0; i < param_number ; i++)
+ if (!strcmp(params[i].name, param_name))
+ return params[i].value;
+
+ return NULL;
+}
+
+void set_param_valued(char *param_name, char *param_value)
+{
+ params[param_number].name = param_name;
+ params[param_number].value = param_value;
+ param_number++;
+}
+
+void set_param(int i)
+{
+ stage1_mode |= i;
+}
+
+void unset_param(int i)
+{
+ stage1_mode &= ~i;
+}
+
+void unset_automatic(void)
+{
+ log_message("unsetting automatic");
+ unset_param(MODE_AUTOMATIC);
+}
diff --git a/mdk-stage1/params.h b/mdk-stage1/params.h
new file mode 100644
index 000000000..06b64bd52
--- /dev/null
+++ b/mdk-stage1/params.h
@@ -0,0 +1,31 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _PARAMS_H_
+#define _PARAMS_H_
+
+void process_cmdline(void);
+int get_param(int i);
+char * get_param_valued(char *param_name);
+void set_param(int i);
+void unset_param(int i);
+void unset_automatic(void);
+
+struct param_elem
+{
+ char * name;
+ char * value;
+};
+
+#endif
diff --git a/mdk-stage1/partition.c b/mdk-stage1/partition.c
new file mode 100644
index 000000000..cb59f0514
--- /dev/null
+++ b/mdk-stage1/partition.c
@@ -0,0 +1,170 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <libgen.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "modules.h"
+#include "probing.h"
+#include "log.h"
+#include "mount.h"
+#include "automatic.h"
+
+#include "disk.h"
+#include "partition.h"
+
+struct partition_detection_anchor {
+ off_t offset;
+ const char * anchor;
+};
+
+static int seek_and_compare(int fd, struct partition_detection_anchor anch)
+{
+ char buf[500];
+ size_t count;
+ if (lseek(fd, anch.offset, SEEK_SET) == (off_t)-1) {
+ log_perror("seek failed");
+ return -1;
+ }
+ count = read(fd, buf, strlen(anch.anchor));
+ if (count != strlen(anch.anchor)) {
+ log_perror("read failed");
+ return -1;
+ }
+ buf[count] = '\0';
+ if (strcmp(anch.anchor, buf))
+ return 1;
+ return 0;
+}
+
+static const char * detect_partition_type(char * dev)
+{
+ struct partition_detection_info {
+ const char * name;
+ struct partition_detection_anchor anchor0;
+ struct partition_detection_anchor anchor1;
+ struct partition_detection_anchor anchor2;
+ };
+ struct partition_detection_info partitions_signatures[] = {
+ { "Linux Swap", { 4086, "SWAP-SPACE" }, { 0, NULL }, { 0, NULL } },
+ { "Linux Swap", { 4086, "SWAPSPACE2" }, { 0, NULL }, { 0, NULL } },
+ { "Ext4", { 0x438, "\x53\xEF" }, { 0, NULL }, { 0, NULL } },
+ { "ReiserFS", { 0x10034, "ReIsErFs" }, { 0, NULL }, { 0, NULL } },
+ { "ReiserFS", { 0x10034, "ReIsEr2Fs" }, { 0, NULL }, { 0, NULL } },
+ { "XFS", { 0, "XFSB" }, { 0x200, "XAGF" }, { 0x400, "XAGI" } },
+ { "JFS", { 0x8000, "JFS1" }, { 0, NULL }, { 0, NULL } },
+ { "NTFS", { 0x1FE, "\x55\xAA" }, { 0x3, "NTFS" }, { 0, NULL } },
+ { "FAT32", { 0x1FE, "\x55\xAA" }, { 0x52, "FAT32" }, { 0, NULL } },
+ { "FAT", { 0x1FE, "\x55\xAA" }, { 0x36, "FAT" }, { 0, NULL } },
+ { "Linux LVM", { 0, "HM\1\0" }, { 0, NULL }, { 0, NULL } }
+ };
+ int partitions_signatures_nb = sizeof(partitions_signatures) / sizeof(struct partition_detection_info);
+ int i;
+ int fd;
+ const char *part_type = NULL;
+
+ char device_fullname[50];
+ strcpy(device_fullname, "/dev/");
+ strcat(device_fullname, dev);
+
+ if (ensure_dev_exists(device_fullname))
+ return NULL;
+ log_message("guessing type of %s", device_fullname);
+
+ if ((fd = open(device_fullname, O_RDONLY, 0)) < 0) {
+ log_perror("open");
+ return NULL;
+ }
+
+ for (i=0; i<partitions_signatures_nb; i++) {
+ int results = seek_and_compare(fd, partitions_signatures[i].anchor0);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+ if (!partitions_signatures[i].anchor1.anchor)
+ goto detect_partition_found_it;
+
+ results = seek_and_compare(fd, partitions_signatures[i].anchor1);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+ if (!partitions_signatures[i].anchor2.anchor)
+ goto detect_partition_found_it;
+
+ results = seek_and_compare(fd, partitions_signatures[i].anchor2);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+
+ detect_partition_found_it:
+ part_type = partitions_signatures[i].name;
+ break;
+ }
+
+ detect_partition_type_end:
+ close(fd);
+ return part_type;
+}
+
+int list_partitions(char * dev_name, char ** parts, char ** comments)
+{
+ int major, minor, blocks;
+ char name[100];
+ FILE * f;
+ int i = 0;
+ char buf[512];
+
+ if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
+ log_perror(dev_name);
+ return 1;
+ }
+
+ while (fgets(buf, sizeof(buf), f)) {
+ memset(name, 0, sizeof(name));
+ sscanf(buf, " %d %d %d %s", &major, &minor, &blocks, name);
+ if ((strstr(name, dev_name) == name) && (blocks > 1) && (name[strlen(dev_name)] != '\0')) {
+ const char * partition_type = detect_partition_type(name);
+ parts[i] = strdup(name);
+ comments[i] = (char *) malloc(sizeof(char) * 100);
+ sprintf(comments[i], "size: %d Mbytes", blocks >> 10);
+ if (partition_type) {
+ strcat(comments[i], ", type: ");
+ strcat(comments[i], partition_type);
+ }
+ i++;
+ }
+ }
+ parts[i] = NULL;
+ fclose(f);
+
+ return 0;
+}
diff --git a/mdk-stage1/partition.h b/mdk-stage1/partition.h
new file mode 100644
index 000000000..47639a3d0
--- /dev/null
+++ b/mdk-stage1/partition.h
@@ -0,0 +1,28 @@
+/*
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _PARTITION_H_
+#define _PARTITION_H_
+
+int list_partitions(char * dev_name, char ** parts, char ** comments);
+
+#endif
+
diff --git a/mdk-stage1/pci-resource/.cvsignore b/mdk-stage1/pci-resource/.cvsignore
deleted file mode 100644
index 4c7b0844b..000000000
--- a/mdk-stage1/pci-resource/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pci-ids.h
diff --git a/mdk-stage1/pci-resource/Makefile b/mdk-stage1/pci-resource/Makefile
deleted file mode 100644
index 046ab29dd..000000000
--- a/mdk-stage1/pci-resource/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
- #******************************************************************************
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-
-all: pci-ids.h
-
-pci-ids.h: /usr/share/ldetect-lst/pcitable update-pci-ids.pl
- perl update-pci-ids.pl > $@ || { rm -f $@; exit 1; }
-
-clean:
- rm -f pci-ids.h
diff --git a/mdk-stage1/pci-resource/update-pci-ids.pl b/mdk-stage1/pci-resource/update-pci-ids.pl
deleted file mode 100755
index 27ec62845..000000000
--- a/mdk-stage1/pci-resource/update-pci-ids.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use MDK::Common;
-
-require '/usr/bin/merge2pcitable.pl';
-my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable");
-
-print '
-#define PCI_REVISION_ID 0x08 /* Revision ID */
-
-struct pci_module_map {
- unsigned short vendor; /* PCI vendor id */
- unsigned short device; /* PCI device id */
- const char *name; /* PCI human readable name */
- const char *module; /* module to load */
-};
-
-struct pci_module_map_full {
- unsigned short vendor; /* PCI vendor id */
- unsigned short device; /* PCI device id */
- unsigned short subvendor; /* PCI subvendor id */
- unsigned short subdevice; /* PCI subdevice id */
- const char *name; /* PCI human readable name */
- const char *module; /* module to load */
-};
-
-';
-
-my %t = (
- network => 'network/main|gigabit',
- medias => 'disk/scsi|hardware_raid',
-);
-
-foreach my $type (keys %t) {
- my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1:"$t{$type}"`);
-
- my (@entries, @entries_full);
-
- foreach my $k (sort keys %$pci) {
- my $v = $pci->{$k};
- member($v->[0], @modules) or next;
- $k =~ /^(....)(....)(....)(....)/;
- my $values = { vendor => $1, device => $2, subvendor => $3, subdevice => $4, driver => $v->[0], description => $v->[1] };
- if ($values->{subdevice} eq 'ffff' && $values->{subvendor} eq 'ffff') {
- push @entries, $values;
- } else {
- push @entries_full, $values;
- }
- }
-
- print "#ifndef DISABLE_".uc($type)."
-struct pci_module_map ${type}_pci_ids[] = {
-";
- printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{description}, $_->{driver}
- foreach @entries;
- print "};
-unsigned int ${type}_num_ids = sizeof(${type}_pci_ids) / sizeof(struct pci_module_map);
-";
-
- print "
-struct pci_module_map_full ${type}_pci_ids_full[] = {
-";
- printf qq|\t{ 0x%s, 0x%s, 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{subvendor}, $_->{subdevice}, $_->{description}, $_->{driver}
- foreach @entries_full;
- print "};
-unsigned int ${type}_num_ids_full = sizeof(${type}_pci_ids_full) / sizeof(struct pci_module_map_full);
-
-#endif
-
-";
-}
diff --git a/mdk-stage1/pcmcia/Makefile b/mdk-stage1/pcmcia/Makefile
new file mode 100644
index 000000000..6b8bf0cb8
--- /dev/null
+++ b/mdk-stage1/pcmcia/Makefile
@@ -0,0 +1,52 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc)
+ #
+ # Copyright 2001 Mandriva
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+# startup.c is based on pcmcia-socket-startup from pcmciautils-013
+
+top_dir = ..
+
+include $(top_dir)/Makefile.common
+
+TARGET = libpcmcia.a
+YFLAGS := -d
+
+all: $(TARGET) pcmcia_probe.o
+
+clean:
+ rm -f *.o $(TARGET) lex_config.c yacc_config.c yacc_config.h
+
+FLAGS = -D__linux__ -Wall -Werror -Wno-deprecated-declarations -Os -fomit-frame-pointer -pipe -c -I.. -D_DEFAULT_SOURCE
+# (blino) make sure yynewerror and yyerrlab are uselessly used
+FLAGS += -Dlint
+LFLAGS += --nounput
+
+
+OBJS = probe.o startup.o yacc_config.o lex_config.o
+
+
+%.c %.h : %.y
+ $(YACC) $(YFLAGS) $<
+ mv y.tab.c $*.c
+ mv y.tab.h $*.h
+
+$(TARGET): $(OBJS) yacc_config.h
+ ar -cru $@ $^
+ ranlib $@
+
+$(OBJS): %.o: %.c
+ gcc $(FLAGS) $(INCLUDES) -c $< -o $@
+
+pcmcia_probe.o: probe.c
+ gcc -fPIC $(FLAGS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/pcmcia_/bulkmem.h b/mdk-stage1/pcmcia/bulkmem.h
index 7748d4432..7748d4432 100644
--- a/mdk-stage1/pcmcia_/bulkmem.h
+++ b/mdk-stage1/pcmcia/bulkmem.h
diff --git a/mdk-stage1/pcmcia/cirrus.h b/mdk-stage1/pcmcia/cirrus.h
new file mode 100644
index 000000000..78f73b26d
--- /dev/null
+++ b/mdk-stage1/pcmcia/cirrus.h
@@ -0,0 +1,157 @@
+/*
+ * cirrus.h 1.10 2001/08/24 12:15:33
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CIRRUS_H
+#define _LINUX_CIRRUS_H
+
+#ifndef PCI_VENDOR_ID_CIRRUS
+#define PCI_VENDOR_ID_CIRRUS 0x1013
+#endif
+#ifndef PCI_DEVICE_ID_CIRRUS_6729
+#define PCI_DEVICE_ID_CIRRUS_6729 0x1100
+#endif
+#ifndef PCI_DEVICE_ID_CIRRUS_6832
+#define PCI_DEVICE_ID_CIRRUS_6832 0x1110
+#endif
+
+#define PD67_MISC_CTL_1 0x16 /* Misc control 1 */
+#define PD67_FIFO_CTL 0x17 /* FIFO control */
+#define PD67_MISC_CTL_2 0x1E /* Misc control 2 */
+#define PD67_CHIP_INFO 0x1f /* Chip information */
+#define PD67_ATA_CTL 0x026 /* 6730: ATA control */
+#define PD67_EXT_INDEX 0x2e /* Extension index */
+#define PD67_EXT_DATA 0x2f /* Extension data */
+
+/* PD6722 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD67_DATA_MASK0 0x01 /* Data mask 0 */
+#define PD67_DATA_MASK1 0x02 /* Data mask 1 */
+#define PD67_DMA_CTL 0x03 /* DMA control */
+
+/* PD6730 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD67_EXT_CTL_1 0x03 /* Extension control 1 */
+#define PD67_MEM_PAGE(n) ((n)+5) /* PCI window bits 31:24 */
+#define PD67_EXTERN_DATA 0x0a
+#define PD67_MISC_CTL_3 0x25
+#define PD67_SMB_PWR_CTL 0x26
+
+/* I/O window address offset */
+#define PD67_IO_OFF(w) (0x36+((w)<<1))
+
+/* Timing register sets */
+#define PD67_TIME_SETUP(n) (0x3a + 3*(n))
+#define PD67_TIME_CMD(n) (0x3b + 3*(n))
+#define PD67_TIME_RECOV(n) (0x3c + 3*(n))
+
+/* Flags for PD67_MISC_CTL_1 */
+#define PD67_MC1_5V_DET 0x01 /* 5v detect */
+#define PD67_MC1_MEDIA_ENA 0x01 /* 6730: Multimedia enable */
+#define PD67_MC1_VCC_3V 0x02 /* 3.3v Vcc */
+#define PD67_MC1_PULSE_MGMT 0x04
+#define PD67_MC1_PULSE_IRQ 0x08
+#define PD67_MC1_SPKR_ENA 0x10
+#define PD67_MC1_INPACK_ENA 0x80
+
+/* Flags for PD67_FIFO_CTL */
+#define PD67_FIFO_EMPTY 0x80
+
+/* Flags for PD67_MISC_CTL_2 */
+#define PD67_MC2_FREQ_BYPASS 0x01
+#define PD67_MC2_DYNAMIC_MODE 0x02
+#define PD67_MC2_SUSPEND 0x04
+#define PD67_MC2_5V_CORE 0x08
+#define PD67_MC2_LED_ENA 0x10 /* IRQ 12 is LED enable */
+#define PD67_MC2_FAST_PCI 0x10 /* 6729: PCI bus > 25 MHz */
+#define PD67_MC2_3STATE_BIT7 0x20 /* Floppy change bit */
+#define PD67_MC2_DMA_MODE 0x40
+#define PD67_MC2_IRQ15_RI 0x80 /* IRQ 15 is ring enable */
+
+/* Flags for PD67_CHIP_INFO */
+#define PD67_INFO_SLOTS 0x20 /* 0 = 1 slot, 1 = 2 slots */
+#define PD67_INFO_CHIP_ID 0xc0
+#define PD67_INFO_REV 0x1c
+
+/* Fields in PD67_TIME_* registers */
+#define PD67_TIME_SCALE 0xc0
+#define PD67_TIME_SCALE_1 0x00
+#define PD67_TIME_SCALE_16 0x40
+#define PD67_TIME_SCALE_256 0x80
+#define PD67_TIME_SCALE_4096 0xc0
+#define PD67_TIME_MULT 0x3f
+
+/* Fields in PD67_DMA_CTL */
+#define PD67_DMA_MODE 0xc0
+#define PD67_DMA_OFF 0x00
+#define PD67_DMA_DREQ_INPACK 0x40
+#define PD67_DMA_DREQ_WP 0x80
+#define PD67_DMA_DREQ_BVD2 0xc0
+#define PD67_DMA_PULLUP 0x20 /* Disable socket pullups? */
+
+/* Fields in PD67_EXT_CTL_1 */
+#define PD67_EC1_VCC_PWR_LOCK 0x01
+#define PD67_EC1_AUTO_PWR_CLEAR 0x02
+#define PD67_EC1_LED_ENA 0x04
+#define PD67_EC1_INV_CARD_IRQ 0x08
+#define PD67_EC1_INV_MGMT_IRQ 0x10
+#define PD67_EC1_PULLUP_CTL 0x20
+
+/* Fields in PD67_MISC_CTL_3 */
+#define PD67_MC3_IRQ_MASK 0x03
+#define PD67_MC3_IRQ_PCPCI 0x00
+#define PD67_MC3_IRQ_EXTERN 0x01
+#define PD67_MC3_IRQ_PCIWAY 0x02
+#define PD67_MC3_IRQ_PCI 0x03
+#define PD67_MC3_PWR_MASK 0x0c
+#define PD67_MC3_PWR_SERIAL 0x00
+#define PD67_MC3_PWR_TI2202 0x08
+#define PD67_MC3_PWR_SMB 0x0c
+
+/* Register definitions for Cirrus PD6832 PCI-to-CardBus bridge */
+
+/* PD6832 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD68_EXT_CTL_2 0x0b
+#define PD68_PCI_SPACE 0x22
+#define PD68_PCCARD_SPACE 0x23
+#define PD68_WINDOW_TYPE 0x24
+#define PD68_EXT_CSC 0x2e
+#define PD68_MISC_CTL_4 0x2f
+#define PD68_MISC_CTL_5 0x30
+#define PD68_MISC_CTL_6 0x31
+
+/* Extra flags in PD67_MISC_CTL_3 */
+#define PD68_MC3_HW_SUSP 0x10
+#define PD68_MC3_MM_EXPAND 0x40
+#define PD68_MC3_MM_ARM 0x80
+
+/* Bridge Control Register */
+#define PD6832_BCR_MGMT_IRQ_ENA 0x0800
+
+/* Socket Number Register */
+#define PD6832_SOCKET_NUMBER 0x004c /* 8 bit */
+
+#endif /* _LINUX_CIRRUS_H */
diff --git a/mdk-stage1/pcmcia_/cistpl.h b/mdk-stage1/pcmcia/cistpl.h
index 1d4cac20e..1d4cac20e 100644
--- a/mdk-stage1/pcmcia_/cistpl.h
+++ b/mdk-stage1/pcmcia/cistpl.h
diff --git a/mdk-stage1/pcmcia/cs.h b/mdk-stage1/pcmcia/cs.h
new file mode 100644
index 000000000..9abeac216
--- /dev/null
+++ b/mdk-stage1/pcmcia/cs.h
@@ -0,0 +1,433 @@
+/*
+ * cs.h 1.73 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CS_H
+#define _LINUX_CS_H
+
+/* For AccessConfigurationRegister */
+typedef struct conf_reg_t {
+ u_char Function;
+ u_int Action;
+ off_t Offset;
+ u_int Value;
+} conf_reg_t;
+
+/* Actions */
+#define CS_READ 1
+#define CS_WRITE 2
+
+/* for AdjustResourceInfo */
+typedef struct adjust_t {
+ u_int Action;
+ u_int Resource;
+ u_int Attributes;
+ union {
+ struct memory {
+ unsigned long Base;
+ unsigned long Size;
+ } memory;
+ struct io {
+ ioaddr_t BasePort;
+ ioaddr_t NumPorts;
+ u_int IOAddrLines;
+ } io;
+ struct irq {
+ u_int IRQ;
+ } irq;
+ } resource;
+} adjust_t;
+
+/* Action field */
+#define REMOVE_MANAGED_RESOURCE 1
+#define ADD_MANAGED_RESOURCE 2
+#define GET_FIRST_MANAGED_RESOURCE 3
+#define GET_NEXT_MANAGED_RESOURCE 4
+/* Resource field */
+#define RES_MEMORY_RANGE 1
+#define RES_IO_RANGE 2
+#define RES_IRQ 3
+/* Attribute field */
+#define RES_IRQ_TYPE 0x03
+#define RES_IRQ_TYPE_EXCLUSIVE 0
+#define RES_IRQ_TYPE_TIME 1
+#define RES_IRQ_TYPE_DYNAMIC 2
+#define RES_IRQ_CSC 0x04
+#define RES_SHARED 0x08
+#define RES_RESERVED 0x10
+#define RES_ALLOCATED 0x20
+#define RES_REMOVED 0x40
+
+typedef struct servinfo_t {
+ char Signature[2];
+ u_int Count;
+ u_int Revision;
+ u_int CSLevel;
+ char *VendorString;
+} servinfo_t;
+
+typedef struct event_callback_args_t {
+ client_handle_t client_handle;
+ void *info;
+ void *mtdrequest;
+ void *buffer;
+ void *misc;
+ void *client_data;
+ struct bus_operations *bus;
+} event_callback_args_t;
+
+/* for GetConfigurationInfo */
+typedef struct config_info_t {
+ u_char Function;
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+ u_int IntType;
+ u_int ConfigBase;
+ u_char Status, Pin, Copy, Option, ExtStatus;
+ u_int Present;
+ u_int CardValues;
+ u_int AssignedIRQ;
+ u_int IRQAttributes;
+ ioaddr_t BasePort1;
+ ioaddr_t NumPorts1;
+ u_int Attributes1;
+ ioaddr_t BasePort2;
+ ioaddr_t NumPorts2;
+ u_int Attributes2;
+ u_int IOAddrLines;
+} config_info_t;
+
+/* For CardValues field */
+#define CV_OPTION_VALUE 0x01
+#define CV_STATUS_VALUE 0x02
+#define CV_PIN_REPLACEMENT 0x04
+#define CV_COPY_VALUE 0x08
+#define CV_EXT_STATUS 0x10
+
+/* For GetFirst/NextClient */
+typedef struct client_req_t {
+ socket_t Socket;
+ u_int Attributes;
+} client_req_t;
+
+#define CLIENT_THIS_SOCKET 0x01
+
+/* For RegisterClient */
+typedef struct client_reg_t {
+ dev_info_t *dev_info;
+ u_int Attributes;
+ u_int EventMask;
+ int (*event_handler)(event_t event, int priority,
+ event_callback_args_t *);
+ event_callback_args_t event_callback_args;
+ u_int Version;
+} client_reg_t;
+
+/* ModifyConfiguration */
+typedef struct modconf_t {
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+} modconf_t;
+
+/* Attributes for ModifyConfiguration */
+#define CONF_IRQ_CHANGE_VALID 0x100
+#define CONF_VCC_CHANGE_VALID 0x200
+#define CONF_VPP1_CHANGE_VALID 0x400
+#define CONF_VPP2_CHANGE_VALID 0x800
+
+/* For RequestConfiguration */
+typedef struct config_req_t {
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+ u_int IntType;
+ u_int ConfigBase;
+ u_char Status, Pin, Copy, ExtStatus;
+ u_char ConfigIndex;
+ u_int Present;
+} config_req_t;
+
+/* Attributes for RequestConfiguration */
+#define CONF_ENABLE_IRQ 0x01
+#define CONF_ENABLE_DMA 0x02
+#define CONF_ENABLE_SPKR 0x04
+#define CONF_VALID_CLIENT 0x100
+
+/* IntType field */
+#define INT_MEMORY 0x01
+#define INT_MEMORY_AND_IO 0x02
+#define INT_CARDBUS 0x04
+#define INT_ZOOMED_VIDEO 0x08
+
+/* For RequestIO and ReleaseIO */
+typedef struct io_req_t {
+ ioaddr_t BasePort1;
+ ioaddr_t NumPorts1;
+ u_int Attributes1;
+ ioaddr_t BasePort2;
+ ioaddr_t NumPorts2;
+ u_int Attributes2;
+ u_int IOAddrLines;
+} io_req_t;
+
+/* Attributes for RequestIO and ReleaseIO */
+#define IO_SHARED 0x01
+#define IO_FIRST_SHARED 0x02
+#define IO_FORCE_ALIAS_ACCESS 0x04
+#define IO_DATA_PATH_WIDTH 0x18
+#define IO_DATA_PATH_WIDTH_8 0x00
+#define IO_DATA_PATH_WIDTH_16 0x08
+#define IO_DATA_PATH_WIDTH_AUTO 0x10
+
+/* For RequestIRQ and ReleaseIRQ */
+typedef struct irq_req_t {
+ u_int Attributes;
+ u_int AssignedIRQ;
+ u_int IRQInfo1, IRQInfo2;
+ void *Handler;
+ void *Instance;
+} irq_req_t;
+
+/* Attributes for RequestIRQ and ReleaseIRQ */
+#define IRQ_TYPE 0x03
+#define IRQ_TYPE_EXCLUSIVE 0x00
+#define IRQ_TYPE_TIME 0x01
+#define IRQ_TYPE_DYNAMIC_SHARING 0x02
+#define IRQ_FORCED_PULSE 0x04
+#define IRQ_FIRST_SHARED 0x08
+#define IRQ_HANDLE_PRESENT 0x10
+#define IRQ_PULSE_ALLOCATED 0x100
+
+/* Bits in IRQInfo1 field */
+#define IRQ_MASK 0x0f
+#define IRQ_NMI_ID 0x01
+#define IRQ_IOCK_ID 0x02
+#define IRQ_BERR_ID 0x04
+#define IRQ_VEND_ID 0x08
+#define IRQ_INFO2_VALID 0x10
+#define IRQ_LEVEL_ID 0x20
+#define IRQ_PULSE_ID 0x40
+#define IRQ_SHARE_ID 0x80
+
+typedef struct eventmask_t {
+ u_int Attributes;
+ u_int EventMask;
+} eventmask_t;
+
+#define CONF_EVENT_MASK_VALID 0x01
+
+/* Configuration registers present */
+#define PRESENT_OPTION 0x001
+#define PRESENT_STATUS 0x002
+#define PRESENT_PIN_REPLACE 0x004
+#define PRESENT_COPY 0x008
+#define PRESENT_EXT_STATUS 0x010
+#define PRESENT_IOBASE_0 0x020
+#define PRESENT_IOBASE_1 0x040
+#define PRESENT_IOBASE_2 0x080
+#define PRESENT_IOBASE_3 0x100
+#define PRESENT_IOSIZE 0x200
+
+/* For GetMemPage, MapMemPage */
+typedef struct memreq_t {
+ u_int CardOffset;
+ page_t Page;
+} memreq_t;
+
+/* For ModifyWindow */
+typedef struct modwin_t {
+ u_int Attributes;
+ u_int AccessSpeed;
+} modwin_t;
+
+/* For RequestWindow */
+typedef struct win_req_t {
+ u_int Attributes;
+ unsigned long Base;
+ u_int Size;
+ u_int AccessSpeed;
+} win_req_t;
+
+/* Attributes for RequestWindow */
+#define WIN_ADDR_SPACE 0x0001
+#define WIN_ADDR_SPACE_MEM 0x0000
+#define WIN_ADDR_SPACE_IO 0x0001
+#define WIN_MEMORY_TYPE 0x0002
+#define WIN_MEMORY_TYPE_CM 0x0000
+#define WIN_MEMORY_TYPE_AM 0x0002
+#define WIN_ENABLE 0x0004
+#define WIN_DATA_WIDTH 0x0018
+#define WIN_DATA_WIDTH_8 0x0000
+#define WIN_DATA_WIDTH_16 0x0008
+#define WIN_DATA_WIDTH_32 0x0010
+#define WIN_PAGED 0x0020
+#define WIN_SHARED 0x0040
+#define WIN_FIRST_SHARED 0x0080
+#define WIN_USE_WAIT 0x0100
+#define WIN_STRICT_ALIGN 0x0200
+#define WIN_MAP_BELOW_1MB 0x0400
+#define WIN_PREFETCH 0x0800
+#define WIN_CACHEABLE 0x1000
+#define WIN_BAR_MASK 0xe000
+#define WIN_BAR_SHIFT 13
+
+/* Attributes for RegisterClient */
+#define INFO_MASTER_CLIENT 0x01
+#define INFO_IO_CLIENT 0x02
+#define INFO_MTD_CLIENT 0x04
+#define INFO_MEM_CLIENT 0x08
+#define MAX_NUM_CLIENTS 3
+
+#define INFO_CARD_SHARE 0x10
+#define INFO_CARD_EXCL 0x20
+
+typedef struct cs_status_t {
+ u_char Function;
+ event_t CardState;
+ event_t SocketState;
+} cs_status_t;
+
+typedef struct error_info_t {
+ int func;
+ int retcode;
+} error_info_t;
+
+/* Special stuff for binding drivers to sockets */
+typedef struct bind_req_t {
+ socket_t Socket;
+ u_char Function;
+ dev_info_t *dev_info;
+} bind_req_t;
+
+/* Flag to bind to all functions */
+#define BIND_FN_ALL 0xff
+
+typedef struct mtd_bind_t {
+ socket_t Socket;
+ u_int Attributes;
+ u_int CardOffset;
+ dev_info_t *dev_info;
+} mtd_bind_t;
+
+/* Events */
+#define CS_EVENT_PRI_LOW 0
+#define CS_EVENT_PRI_HIGH 1
+
+#define CS_EVENT_WRITE_PROTECT 0x000001
+#define CS_EVENT_CARD_LOCK 0x000002
+#define CS_EVENT_CARD_INSERTION 0x000004
+#define CS_EVENT_CARD_REMOVAL 0x000008
+#define CS_EVENT_BATTERY_DEAD 0x000010
+#define CS_EVENT_BATTERY_LOW 0x000020
+#define CS_EVENT_READY_CHANGE 0x000040
+#define CS_EVENT_CARD_DETECT 0x000080
+#define CS_EVENT_RESET_REQUEST 0x000100
+#define CS_EVENT_RESET_PHYSICAL 0x000200
+#define CS_EVENT_CARD_RESET 0x000400
+#define CS_EVENT_REGISTRATION_COMPLETE 0x000800
+#define CS_EVENT_RESET_COMPLETE 0x001000
+#define CS_EVENT_PM_SUSPEND 0x002000
+#define CS_EVENT_PM_RESUME 0x004000
+#define CS_EVENT_INSERTION_REQUEST 0x008000
+#define CS_EVENT_EJECTION_REQUEST 0x010000
+#define CS_EVENT_MTD_REQUEST 0x020000
+#define CS_EVENT_ERASE_COMPLETE 0x040000
+#define CS_EVENT_REQUEST_ATTENTION 0x080000
+#define CS_EVENT_CB_DETECT 0x100000
+#define CS_EVENT_3VCARD 0x200000
+#define CS_EVENT_XVCARD 0x400000
+
+/* Return codes */
+#define CS_SUCCESS 0x00
+#define CS_BAD_ADAPTER 0x01
+#define CS_BAD_ATTRIBUTE 0x02
+#define CS_BAD_BASE 0x03
+#define CS_BAD_EDC 0x04
+#define CS_BAD_IRQ 0x06
+#define CS_BAD_OFFSET 0x07
+#define CS_BAD_PAGE 0x08
+#define CS_READ_FAILURE 0x09
+#define CS_BAD_SIZE 0x0a
+#define CS_BAD_SOCKET 0x0b
+#define CS_BAD_TYPE 0x0d
+#define CS_BAD_VCC 0x0e
+#define CS_BAD_VPP 0x0f
+#define CS_BAD_WINDOW 0x11
+#define CS_WRITE_FAILURE 0x12
+#define CS_NO_CARD 0x14
+#define CS_UNSUPPORTED_FUNCTION 0x15
+#define CS_UNSUPPORTED_MODE 0x16
+#define CS_BAD_SPEED 0x17
+#define CS_BUSY 0x18
+#define CS_GENERAL_FAILURE 0x19
+#define CS_WRITE_PROTECTED 0x1a
+#define CS_BAD_ARG_LENGTH 0x1b
+#define CS_BAD_ARGS 0x1c
+#define CS_CONFIGURATION_LOCKED 0x1d
+#define CS_IN_USE 0x1e
+#define CS_NO_MORE_ITEMS 0x1f
+#define CS_OUT_OF_RESOURCE 0x20
+#define CS_BAD_HANDLE 0x21
+
+#define CS_BAD_TUPLE 0x40
+
+#ifdef __KERNEL__
+
+/*
+ * The main Card Services entry point
+ */
+
+enum service {
+ AccessConfigurationRegister, AddSocketServices,
+ AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
+ DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
+ GetClientInfo, GetConfigurationInfo, GetEventMask,
+ GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
+ GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
+ GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
+ MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
+ OpenMemory, ParseTuple, ReadMemory, RegisterClient,
+ RegisterEraseQueue, RegisterMTD, RegisterTimer,
+ ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
+ ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
+ RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
+ RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
+ SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
+ WriteMemory, BindDevice, BindMTD, ReportError,
+ SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
+ GetFirstWindow, GetNextWindow, GetMemPage
+};
+
+#ifdef IN_CARD_SERVICES
+extern int CardServices(int func, void *a1, void *a2, void *a3);
+#else
+extern int CardServices(int func, ...);
+#endif
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_CS_H */
diff --git a/mdk-stage1/pcmcia/cs_types.h b/mdk-stage1/pcmcia/cs_types.h
new file mode 100644
index 000000000..4598d7f48
--- /dev/null
+++ b/mdk-stage1/pcmcia/cs_types.h
@@ -0,0 +1,70 @@
+/*
+ * cs_types.h 1.19 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CS_TYPES_H
+#define _LINUX_CS_TYPES_H
+
+#ifdef __linux__
+#ifdef __KERNEL__
+#include <linux/types.h>
+#else
+#include <sys/types.h>
+#endif
+#endif
+
+#ifdef __arm__
+typedef u_int ioaddr_t;
+#else
+typedef u_short ioaddr_t;
+#endif
+
+typedef u_short socket_t;
+typedef u_int event_t;
+typedef u_char cisdata_t;
+typedef u_short page_t;
+
+struct client_t;
+typedef struct client_t *client_handle_t;
+
+struct window_t;
+typedef struct window_t *window_handle_t;
+
+struct region_t;
+typedef struct region_t *memory_handle_t;
+
+struct eraseq_t;
+typedef struct eraseq_t *eraseq_handle_t;
+
+#ifndef DEV_NAME_LEN
+#define DEV_NAME_LEN 32
+#endif
+
+typedef char dev_info_t[DEV_NAME_LEN];
+
+#endif /* _LINUX_CS_TYPES_H */
diff --git a/mdk-stage1/pcmcia/driver_ops.h b/mdk-stage1/pcmcia/driver_ops.h
new file mode 100644
index 000000000..2f0a066d3
--- /dev/null
+++ b/mdk-stage1/pcmcia/driver_ops.h
@@ -0,0 +1,73 @@
+/*
+ * driver_ops.h 1.16 2001/08/24 12:16:13
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_DRIVER_OPS_H
+#define _LINUX_DRIVER_OPS_H
+
+#ifndef DEV_NAME_LEN
+#define DEV_NAME_LEN 32
+#endif
+
+#ifdef __KERNEL__
+
+typedef struct dev_node_t {
+ char dev_name[DEV_NAME_LEN];
+ u_short major, minor;
+ struct dev_node_t *next;
+} dev_node_t;
+
+typedef struct dev_locator_t {
+ enum { LOC_ISA, LOC_PCI } bus;
+ union {
+ struct {
+ u_short io_base_1, io_base_2;
+ u_long mem_base;
+ u_char irq, dma;
+ } isa;
+ struct {
+ u_char bus;
+ u_char devfn;
+ } pci;
+ } b;
+} dev_locator_t;
+
+typedef struct driver_operations {
+ char *name;
+ dev_node_t *(*attach) (dev_locator_t *loc);
+ void (*suspend) (dev_node_t *dev);
+ void (*resume) (dev_node_t *dev);
+ void (*detach) (dev_node_t *dev);
+} driver_operations;
+
+int register_driver(struct driver_operations *ops);
+void unregister_driver(struct driver_operations *ops);
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_DRIVER_OPS_H */
diff --git a/mdk-stage1/pcmcia/ds.h b/mdk-stage1/pcmcia/ds.h
new file mode 100644
index 000000000..29db7b415
--- /dev/null
+++ b/mdk-stage1/pcmcia/ds.h
@@ -0,0 +1,148 @@
+/*
+ * ds.h 1.57 2001/08/24 12:16:13
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_DS_H
+#define _LINUX_DS_H
+
+#include <pcmcia_/driver_ops.h>
+#include <pcmcia_/bulkmem.h>
+
+typedef struct tuple_parse_t {
+ tuple_t tuple;
+ cisdata_t data[255];
+ cisparse_t parse;
+} tuple_parse_t;
+
+typedef struct win_info_t {
+ window_handle_t handle;
+ win_req_t window;
+ memreq_t map;
+} win_info_t;
+
+typedef struct bind_info_t {
+ dev_info_t dev_info;
+ u_char function;
+ struct dev_link_t *instance;
+ char name[DEV_NAME_LEN];
+ u_short major, minor;
+ void *next;
+} bind_info_t;
+
+typedef struct mtd_info_t {
+ dev_info_t dev_info;
+ u_int Attributes;
+ u_int CardOffset;
+} mtd_info_t;
+
+typedef union ds_ioctl_arg_t {
+ servinfo_t servinfo;
+ adjust_t adjust;
+ config_info_t config;
+ tuple_t tuple;
+ tuple_parse_t tuple_parse;
+ client_req_t client_req;
+ cs_status_t status;
+ conf_reg_t conf_reg;
+ cisinfo_t cisinfo;
+ region_info_t region;
+ bind_info_t bind_info;
+ mtd_info_t mtd_info;
+ win_info_t win_info;
+ cisdump_t cisdump;
+} ds_ioctl_arg_t;
+
+#define DS_GET_CARD_SERVICES_INFO _IOR ('d', 1, servinfo_t)
+#define DS_ADJUST_RESOURCE_INFO _IOWR('d', 2, adjust_t)
+#define DS_GET_CONFIGURATION_INFO _IOWR('d', 3, config_info_t)
+#define DS_GET_FIRST_TUPLE _IOWR('d', 4, tuple_t)
+#define DS_GET_NEXT_TUPLE _IOWR('d', 5, tuple_t)
+#define DS_GET_TUPLE_DATA _IOWR('d', 6, tuple_parse_t)
+#define DS_PARSE_TUPLE _IOWR('d', 7, tuple_parse_t)
+#define DS_RESET_CARD _IO ('d', 8)
+#define DS_GET_STATUS _IOWR('d', 9, cs_status_t)
+#define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
+#define DS_VALIDATE_CIS _IOR ('d', 11, cisinfo_t)
+#define DS_SUSPEND_CARD _IO ('d', 12)
+#define DS_RESUME_CARD _IO ('d', 13)
+#define DS_EJECT_CARD _IO ('d', 14)
+#define DS_INSERT_CARD _IO ('d', 15)
+#define DS_GET_FIRST_REGION _IOWR('d', 16, region_info_t)
+#define DS_GET_NEXT_REGION _IOWR('d', 17, region_info_t)
+#define DS_REPLACE_CIS _IOWR('d', 18, cisdump_t)
+#define DS_GET_FIRST_WINDOW _IOR ('d', 19, win_info_t)
+#define DS_GET_NEXT_WINDOW _IOWR('d', 20, win_info_t)
+#define DS_GET_MEM_PAGE _IOWR('d', 21, win_info_t)
+
+#define DS_BIND_REQUEST _IOWR('d', 60, bind_info_t)
+#define DS_GET_DEVICE_INFO _IOWR('d', 61, bind_info_t)
+#define DS_GET_NEXT_DEVICE _IOWR('d', 62, bind_info_t)
+#define DS_UNBIND_REQUEST _IOW ('d', 63, bind_info_t)
+#define DS_BIND_MTD _IOWR('d', 64, mtd_info_t)
+
+#ifdef __KERNEL__
+
+typedef struct dev_link_t {
+ dev_node_t *dev;
+ u_int state, open;
+ wait_queue_head_t pending;
+ struct timer_list release;
+ client_handle_t handle;
+ io_req_t io;
+ irq_req_t irq;
+ config_req_t conf;
+ window_handle_t win;
+ void *priv;
+ struct dev_link_t *next;
+} dev_link_t;
+
+/* Flags for device state */
+#define DEV_PRESENT 0x01
+#define DEV_CONFIG 0x02
+#define DEV_STALE_CONFIG 0x04 /* release on close */
+#define DEV_STALE_LINK 0x08 /* detach on release */
+#define DEV_CONFIG_PENDING 0x10
+#define DEV_RELEASE_PENDING 0x20
+#define DEV_SUSPEND 0x40
+#define DEV_BUSY 0x80
+
+#define DEV_OK(l) \
+ ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
+
+int register_pccard_driver(dev_info_t *dev_info,
+ dev_link_t *(*attach)(void),
+ void (*detach)(dev_link_t *));
+
+int unregister_pccard_driver(dev_info_t *dev_info);
+
+#define register_pcmcia_driver register_pccard_driver
+#define unregister_pcmcia_driver unregister_pccard_driver
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_DS_H */
diff --git a/mdk-stage1/pcmcia/i82365.h b/mdk-stage1/pcmcia/i82365.h
new file mode 100644
index 000000000..38ff167fb
--- /dev/null
+++ b/mdk-stage1/pcmcia/i82365.h
@@ -0,0 +1,135 @@
+/*
+ * i82365.h 1.21 2001/08/24 12:15:33
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_I82365_H
+#define _LINUX_I82365_H
+
+/* register definitions for the Intel 82365SL PCMCIA controller */
+
+/* Offsets for PCIC registers */
+#define I365_IDENT 0x00 /* Identification and revision */
+#define I365_STATUS 0x01 /* Interface status */
+#define I365_POWER 0x02 /* Power and RESETDRV control */
+#define I365_INTCTL 0x03 /* Interrupt and general control */
+#define I365_CSC 0x04 /* Card status change */
+#define I365_CSCINT 0x05 /* Card status change interrupt control */
+#define I365_ADDRWIN 0x06 /* Address window enable */
+#define I365_IOCTL 0x07 /* I/O control */
+#define I365_GENCTL 0x16 /* Card detect and general control */
+#define I365_GBLCTL 0x1E /* Global control register */
+
+/* Offsets for I/O and memory window registers */
+#define I365_IO(map) (0x08+((map)<<2))
+#define I365_MEM(map) (0x10+((map)<<3))
+#define I365_W_START 0
+#define I365_W_STOP 2
+#define I365_W_OFF 4
+
+/* Flags for I365_STATUS */
+#define I365_CS_BVD1 0x01
+#define I365_CS_STSCHG 0x01
+#define I365_CS_BVD2 0x02
+#define I365_CS_SPKR 0x02
+#define I365_CS_DETECT 0x0C
+#define I365_CS_WRPROT 0x10
+#define I365_CS_READY 0x20 /* Inverted */
+#define I365_CS_POWERON 0x40
+#define I365_CS_GPI 0x80
+
+/* Flags for I365_POWER */
+#define I365_PWR_OFF 0x00 /* Turn off the socket */
+#define I365_PWR_OUT 0x80 /* Output enable */
+#define I365_PWR_NORESET 0x40 /* Disable RESETDRV on resume */
+#define I365_PWR_AUTO 0x20 /* Auto pwr switch enable */
+#define I365_VCC_MASK 0x18 /* Mask for turning off Vcc */
+/* There are different layouts for B-step and DF-step chips: the B
+ step has independent Vpp1/Vpp2 control, and the DF step has only
+ Vpp1 control, plus 3V control */
+#define I365_VCC_5V 0x10 /* Vcc = 5.0v */
+#define I365_VCC_3V 0x18 /* Vcc = 3.3v */
+#define I365_VPP2_MASK 0x0c /* Mask for turning off Vpp2 */
+#define I365_VPP2_5V 0x04 /* Vpp2 = 5.0v */
+#define I365_VPP2_12V 0x08 /* Vpp2 = 12.0v */
+#define I365_VPP1_MASK 0x03 /* Mask for turning off Vpp1 */
+#define I365_VPP1_5V 0x01 /* Vpp2 = 5.0v */
+#define I365_VPP1_12V 0x02 /* Vpp2 = 12.0v */
+
+/* Flags for I365_INTCTL */
+#define I365_RING_ENA 0x80
+#define I365_PC_RESET 0x40
+#define I365_PC_IOCARD 0x20
+#define I365_INTR_ENA 0x10
+#define I365_IRQ_MASK 0x0F
+
+/* Flags for I365_CSC and I365_CSCINT*/
+#define I365_CSC_BVD1 0x01
+#define I365_CSC_STSCHG 0x01
+#define I365_CSC_BVD2 0x02
+#define I365_CSC_READY 0x04
+#define I365_CSC_DETECT 0x08
+#define I365_CSC_ANY 0x0F
+#define I365_CSC_GPI 0x10
+
+/* Flags for I365_ADDRWIN */
+#define I365_ENA_IO(map) (0x40 << (map))
+#define I365_ENA_MEM(map) (0x01 << (map))
+
+/* Flags for I365_IOCTL */
+#define I365_IOCTL_MASK(map) (0x0F << (map<<2))
+#define I365_IOCTL_WAIT(map) (0x08 << (map<<2))
+#define I365_IOCTL_0WS(map) (0x04 << (map<<2))
+#define I365_IOCTL_IOCS16(map) (0x02 << (map<<2))
+#define I365_IOCTL_16BIT(map) (0x01 << (map<<2))
+
+/* Flags for I365_GENCTL */
+#define I365_CTL_16DELAY 0x01
+#define I365_CTL_RESET 0x02
+#define I365_CTL_GPI_ENA 0x04
+#define I365_CTL_GPI_CTL 0x08
+#define I365_CTL_RESUME 0x10
+#define I365_CTL_SW_IRQ 0x20
+
+/* Flags for I365_GBLCTL */
+#define I365_GBL_PWRDOWN 0x01
+#define I365_GBL_CSC_LEV 0x02
+#define I365_GBL_WRBACK 0x04
+#define I365_GBL_IRQ_0_LEV 0x08
+#define I365_GBL_IRQ_1_LEV 0x10
+
+/* Flags for memory window registers */
+#define I365_MEM_16BIT 0x8000 /* In memory start high byte */
+#define I365_MEM_0WS 0x4000
+#define I365_MEM_WS1 0x8000 /* In memory stop high byte */
+#define I365_MEM_WS0 0x4000
+#define I365_MEM_WRPROT 0x8000 /* In offset high byte */
+#define I365_MEM_REG 0x4000
+
+#define I365_REG(slot, reg) (((slot) << 6) + reg)
+
+#endif /* _LINUX_I82365_H */
diff --git a/mdk-stage1/pcmcia/lex_config.l b/mdk-stage1/pcmcia/lex_config.l
new file mode 100644
index 000000000..54500c446
--- /dev/null
+++ b/mdk-stage1/pcmcia/lex_config.l
@@ -0,0 +1,224 @@
+/* Special state for handling include files */
+%x src
+
+%{
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#undef src
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <syslog.h>
+
+#ifdef HAS_WORDEXP
+#include <wordexp.h>
+#else
+#include <glob.h>
+#endif
+
+#define src 1
+
+#include "yacc_config.h"
+
+#define YY_NO_INPUT 1 /* mdk-stage1 */
+#define YY_NO_UNPUT 1 /* mdk-stage1 */
+extern int yyparse(void); /* mdk-stage1 */
+
+/* For assembling nice error messages */
+char *current_file;
+int current_lineno;
+
+static int lex_number(char *s);
+static int lex_string(char *s);
+static void do_source(char *fn);
+static int do_eof(void);
+
+%}
+
+int [0-9]+
+hex 0x[0-9a-fA-F]+
+str \"([^"]|\\.)*\"
+
+%%
+
+source[ \t]+ BEGIN(src); return SOURCE;
+<src>[^\n]+ do_source(yytext); BEGIN(INITIAL);
+<<EOF>> if (do_eof()) yyterminate();
+
+\n current_lineno++;
+[ \t]* /* skip */ ;
+[ ]*[#;].* /* skip */ ;
+
+exclude return EXCLUDE;
+include return INCLUDE;
+irq return IRQ_NO;
+port return PORT;
+memory return MEMORY;
+module /* skip */ ;
+
+{int} return lex_number(yytext);
+
+{hex} return lex_number(yytext);
+
+{str} return lex_string(yytext);
+
+. return yytext[0];
+
+%%
+
+#ifndef yywrap
+int yywrap() { return 1; }
+#endif
+
+/*======================================================================
+
+ Stuff to parse basic data types
+
+======================================================================*/
+
+static int lex_number(char *s)
+{
+ yylval.num = strtoul(s, NULL, 0);
+ return NUMBER;
+}
+
+static int lex_string(char *s)
+{
+ int n = strlen(s);
+ yylval.str = malloc(n-1);
+ strncpy(yylval.str, s+1, n-2);
+ yylval.str[n-2] = '\0';
+ return STRING;
+}
+
+/*======================================================================
+
+ Code to support nesting of configuration files
+
+======================================================================*/
+
+#define MAX_SOURCE_DEPTH 4
+struct source_stack {
+ YY_BUFFER_STATE buffer;
+ char *filename;
+ int lineno, fileno;
+ FILE *file;
+#ifdef HAS_WORDEXP
+ wordexp_t word;
+#else
+ glob_t glob;
+#endif
+} source_stack[MAX_SOURCE_DEPTH];
+static int source_stack_ptr = 0;
+static int parse_env = 0;
+
+static int get_glob(void)
+{
+ struct source_stack *s = &source_stack[source_stack_ptr];
+#ifdef HAS_WORDEXP
+ while (s->fileno < s->word.we_wordc) {
+ char *fn = s->word.we_wordv[s->fileno];
+#else
+ while (s->fileno < s->glob.gl_pathc) {
+ char *fn = s->glob.gl_pathv[s->fileno];
+#endif
+ s->file = fopen(fn, "r");
+ if (s->file == NULL) {
+ if (strpbrk(fn, "?*[") == NULL)
+ syslog(LOG_ERR, "could not open '%s': %m", fn);
+ s->fileno++;
+ } else {
+ current_lineno = 1;
+ current_file = strdup(fn);
+ yy_switch_to_buffer(yy_create_buffer(s->file, YY_BUF_SIZE));
+ source_stack_ptr++;
+ s->fileno++;
+ return 0;
+ }
+ }
+ return -1;
+}
+
+static void do_source(char *fn)
+{
+ struct source_stack *s = &source_stack[source_stack_ptr];
+
+ if (source_stack_ptr >= MAX_SOURCE_DEPTH) {
+ syslog(LOG_ERR, "source depth limit exceeded");
+ return;
+ }
+#ifdef HAS_WORDEXP
+ wordexp(fn, &s->word, 0);
+#else
+ glob(fn, GLOB_NOCHECK, NULL, &s->glob);
+#endif
+ s->fileno = 0;
+ s->buffer = YY_CURRENT_BUFFER;
+ s->lineno = current_lineno;
+ s->filename = current_file;
+ get_glob();
+}
+
+static int do_eof(void)
+{
+ struct source_stack *s = &source_stack[--source_stack_ptr];
+ if (source_stack_ptr < 0) {
+ if (parse_env == 0) {
+ char *t = getenv("PCMCIA_OPTS");
+ if (t == NULL) return -1;
+ parse_env = 1;
+ source_stack_ptr = 0;
+ current_file = "PCMCIA_OPTS";
+ current_lineno = 1;
+ yy_scan_string(t);
+ return 0;
+ } else
+ return -1;
+ }
+ fclose(s->file);
+ free(current_file);
+ yy_delete_buffer(YY_CURRENT_BUFFER);
+ if (get_glob() != 0) {
+ yy_switch_to_buffer(s->buffer);
+ current_lineno = s->lineno;
+ current_file = s->filename;
+ }
+ return 0;
+}
+
+/*======================================================================
+
+ The main entry point... returns -1 if the file can't be accessed.
+
+======================================================================*/
+
+int parse_configfile(char *fn)
+{
+ FILE *f;
+
+ f = fopen(fn, "r");
+ if (!f) {
+ syslog(LOG_ERR, "could not open '%s': %m", fn);
+ return -1;
+ }
+ current_lineno = 1;
+ current_file = fn;
+ source_stack_ptr = 0;
+ yyrestart(f);
+ yyparse();
+ fclose(f);
+ return 0;
+}
+
diff --git a/mdk-stage1/pcmcia/merge_from_pcitable b/mdk-stage1/pcmcia/merge_from_pcitable
new file mode 100755
index 000000000..bb127640c
--- /dev/null
+++ b/mdk-stage1/pcmcia/merge_from_pcitable
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+
+# This program will show on stdout yenta_socket stuff from pcitable
+# which is not in probe.c
+
+use MDK::Common;
+use lib qw(/usr/lib/libDrakX);
+use run_program;
+use c;
+
+my %probes;
+foreach (cat_('probe.c')) {
+ if (/^pci_id_t pci_id\[\] = {/ ... /^};/) {
+ /^\s*{\s*0x([\da-f]+),\s*0x([\da-f]+),\s*"([^"]*)",\s*"([^"]*)"\s*}/
+ and $probes{"$1$2"} = { vendor => $1, device => $2, driver => $3, name => $4 };
+ }
+}
+
+require '/usr/bin/merge2pcitable.pl';
+
+my %pcitable;
+my @yenta_socket_ids = grep { $_ } map {
+ /.*pci:v0000(....).*d0000(....).*/;
+ my $key = lc("$1$2");
+ $pcitable{$key} = { vendor => $1, device => $2 };
+ $key;
+ } grep { /^alias/ } run_program::get_stdout('/sbin/modinfo', 'yenta_socket');
+
+
+if (my @missing_in_probe_c = difference2(\@yenta_socket_ids, [ keys %probes ])) {
+ print "Missing in `probe.c':\n",
+ map {
+ my $p = $pcitable{$_};
+ my $name = c::get_pci_description(hex($p->{vendor}), hex($p->{device}));
+ qq( { 0x$p->{vendor}, 0x$p->{device}, "yenta_socket", "$name" },\n);
+ } sort @missing_in_probe_c;
+}
diff --git a/mdk-stage1/pcmcia/pcmcia.h b/mdk-stage1/pcmcia/pcmcia.h
new file mode 100644
index 000000000..ae7db247b
--- /dev/null
+++ b/mdk-stage1/pcmcia/pcmcia.h
@@ -0,0 +1,21 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _PCMCIA_CARDMGR_INTERFACE_H_
+#define _PCMCIA_CARDMGR_INTERFACE_H_
+
+char * pcmcia_probe(void);
+void pcmcia_socket_startup(int socket_no);
+
+#endif
diff --git a/mdk-stage1/pcmcia/probe.c b/mdk-stage1/pcmcia/probe.c
new file mode 100644
index 000000000..240fe3a17
--- /dev/null
+++ b/mdk-stage1/pcmcia/probe.c
@@ -0,0 +1,426 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000-2001 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.29.tar.bz2
+ *
+ * FIXME: resync with latest pcmcia-cs-3.2.8 or with pcmciautils-0.18 (which uses sysfs)
+ *
+ */
+
+/*======================================================================
+
+ PCMCIA controller probe
+
+ probe.c 1.55 2001/08/24 12:19:20
+
+ The contents of this file are subject to the Mozilla Public
+ License Version 1.1 (the "License"); you may not use this file
+ except in compliance with the License. You may obtain a copy of
+ the License at http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS
+ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ rights and limitations under the License.
+
+ The initial developer of the original code is David A. Hinds
+ <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+
+ Alternatively, the contents of this file may be used under the
+ terms of the GNU General Public License version 2 (the "GPL"), in
+ which case the provisions of the GPL are applicable instead of the
+ above. If you wish to allow the use of your version of this file
+ only under the terms of the GPL and not to allow others to use
+ your version of this file under the MPL, indicate your decision
+ by deleting the provisions above and replace them with the notice
+ and other provisions required by the GPL. If you do not delete
+ the provisions above, a recipient may use your version of this
+ file under either the MPL or the GPL.
+
+======================================================================*/
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+
+#include "log.h"
+#include "pcmcia.h"
+
+/*====================================================================*/
+
+typedef struct {
+ u_short vendor, device;
+ char *modname;
+ char *name;
+} pci_id_t;
+
+pci_id_t pci_id[] = {
+ { 0x1013, 0x1100, "pd6729", "Cirrus Logic CL 6729" },
+ { 0x1013, 0x1110, "yenta_socket", "Cirrus Logic PD 6832" },
+ { 0x104c, 0x8011, "yenta_socket", "" },
+ { 0x104c, 0x8031, "yenta_socket", "Texas Instruments|PCIxx21/x515 Cardbus Controller" },
+ { 0x104c, 0x8036, "yenta_socket", "Texas Instruments|PCI6515 Cardbus Controller" },
+ { 0x104c, 0x8039, "yenta_socket", "Texas Instruments|PCIxx12 Cardbus Controller " },
+ { 0x104c, 0xac12, "yenta_socket", "Texas Instruments PCI1130" },
+ { 0x104c, 0xac13, "yenta_socket", "Texas Instruments PCI1031" },
+ { 0x104c, 0xac15, "yenta_socket", "Texas Instruments PCI1131" },
+ { 0x104c, 0xac16, "yenta_socket", "Texas Instruments PCI1250" },
+ { 0x104c, 0xac17, "yenta_socket", "Texas Instruments PCI1220" },
+ { 0x104c, 0xac19, "yenta_socket", "Texas Instruments PCI1221" },
+ { 0x104c, 0xac1a, "yenta_socket", "Texas Instruments PCI1210" },
+ { 0x104c, 0xac1b, "yenta_socket", "Texas Instruments PCI1450" },
+ { 0x104c, 0xac1c, "yenta_socket", "Texas Instruments PCI1225" },
+ { 0x104c, 0xac1d, "yenta_socket", "Texas Instruments PCI1251A" },
+ { 0x104c, 0xac1e, "yenta_socket", "Texas Instruments PCI1211" },
+ { 0x104c, 0xac1f, "yenta_socket", "Texas Instruments PCI1251B" },
+ { 0x104c, 0xac40, "yenta_socket", "Texas Instruments PCI4450" },
+ { 0x104c, 0xac41, "yenta_socket", "Texas Instruments PCI4410" },
+ { 0x104c, 0xac42, "yenta_socket", "Texas Instruments PCI4451" },
+ { 0x104c, 0xac44, "yenta_socket", "Texas Instruments PCI4510" },
+ { 0x104c, 0xac46, "yenta_socket", "Texas Instruments PCI4520" },
+ { 0x104c, 0xac47, "yenta_socket", "Texas Instruments PCI7510" },
+ { 0x104c, 0xac48, "yenta_socket", "Texas Instruments PCI7610" },
+ { 0x104c, 0xac49, "yenta_socket", "Texas Instruments PCI7410" },
+ { 0x104c, 0xac50, "yenta_socket", "Texas Instruments PCI1410" },
+ { 0x104c, 0xac51, "yenta_socket", "Texas Instruments PCI1420" },
+ { 0x104c, 0xac52, "yenta_socket", "Texas Instruments PCI1451" },
+ { 0x104c, 0xac54, "yenta_socket", "Texas Instruments PCI1620" },
+ { 0x104c, 0xac55, "yenta_socket", "Texas Instruments PCI1520" },
+ { 0x104c, 0xac56, "yenta_socket", "Texas Instruments PCI1510" },
+ { 0x104c, 0xac8d, "yenta_socket", "Texas Instruments|PCI7620" },
+ { 0x104c, 0xac8e, "yenta_socket", "Texas Instruments|PCI7420 CardBus Controller" },
+ { 0x104c, 0xac8e, "yenta_socket", "Texas Instruments PCI7420" },
+ { 0x10b3, 0xb106, "yenta_socket", "SMC 34C90" },
+ { 0x1179, 0x0603, "pd6729", "Toshiba ToPIC95-A" },
+ { 0x1179, 0x060a, "yenta_socket", "Toshiba ToPIC95-B" },
+ { 0x1179, 0x060f, "yenta_socket", "Toshiba ToPIC97" },
+ { 0x1179, 0x0617, "yenta_socket", "Toshiba ToPIC100" },
+ { 0x1180, 0x0465, "yenta_socket", "Ricoh RL5C465" },
+ { 0x1180, 0x0466, "yenta_socket", "Ricoh RL5C466" },
+ { 0x1180, 0x0475, "yenta_socket", "Ricoh RL5C475" },
+ { 0x1180, 0x0476, "yenta_socket", "Ricoh RL5C476" },
+ { 0x1180, 0x0477, "yenta_socket", "Ricoh RL5C477" },
+ { 0x1180, 0x0478, "yenta_socket", "Ricoh RL5C478" },
+ { 0x119b, 0x1221, "pd6729", "Omega Micro 82C092G" },
+ { 0x1524, 0x1211, "yenta_socket", "ENE 1211" },
+ { 0x1524, 0x1225, "yenta_socket", "ENE 1225" },
+ { 0x1524, 0x1410, "yenta_socket", "ENE 1410" },
+ { 0x1524, 0x1411, "yenta_socket", "ENE Technology CB1411" },
+ { 0x1524, 0x1412, "yenta_socket", "ENE Technology Inc|CB-712/4 Cardbus Controller " },
+ { 0x1524, 0x1420, "yenta_socket", "ENE 1420" },
+ { 0x1524, 0x1421, "yenta_socket", "ENE Technology Inc|CB-720/2/4 Cardbus Controller" },
+ { 0x1524, 0x1422, "yenta_socket", "ENE Technology Inc|CB-722/4 Cardbus Controller" },
+ { 0x8086, 0x1221, "i82092", "Intel 82092AA_0" },
+ { 0x8086, 0x1222, "i82092", "Intel 82092AA_1" },
+};
+#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
+
+char * driver = NULL;
+
+static int pci_probe(void)
+{
+ char s[256], *name = NULL;
+ u_int device, vendor, i;
+ FILE *f;
+
+ log_message("PCMCIA: probing PCI bus..");
+
+ if ((f = fopen("/proc/bus/pci/devices", "r")) != NULL) {
+ while (fgets(s, 256, f) != NULL) {
+ u_int n = strtoul(s+5, NULL, 16);
+ vendor = (n >> 16); device = (n & 0xffff);
+ if (vendor == 0x1217) {
+ driver = "yenta_socket";
+ name = "O2 Micro|PCMCIA Controller";
+ break;
+ }
+ for (i = 0; i < PCI_COUNT; i++)
+ if ((vendor == pci_id[i].vendor) &&
+ (device == pci_id[i].device)) break;
+ if (i < PCI_COUNT) {
+ name = pci_id[i].name;
+ driver = pci_id[i].modname;
+ }
+ }
+ }
+ fclose(f);
+
+ if (name) {
+ log_message("\t%s found, 2 sockets (driver %s).", name, driver);
+ return 0;
+ } else {
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+}
+
+/*====================================================================*/
+
+#include <sys/io.h>
+typedef u_short ioaddr_t;
+
+#include "i82365.h"
+#include "cirrus.h"
+#include "vg468.h"
+
+static ioaddr_t i365_base = 0x03e0;
+
+static u_char i365_get(u_short sock, u_short reg)
+{
+ u_char val = I365_REG(sock, reg);
+ outb(val, i365_base); val = inb(i365_base+1);
+ return val;
+}
+
+static void i365_set(u_short sock, u_short reg, u_char data)
+{
+ u_char val = I365_REG(sock, reg);
+ outb(val, i365_base); outb(data, i365_base+1);
+}
+
+static void i365_bset(u_short sock, u_short reg, u_char mask)
+{
+ u_char d = i365_get(sock, reg);
+ d |= mask;
+ i365_set(sock, reg, d);
+}
+
+static void i365_bclr(u_short sock, u_short reg, u_char mask)
+{
+ u_char d = i365_get(sock, reg);
+ d &= ~mask;
+ i365_set(sock, reg, d);
+}
+
+int i365_probe(void)
+{
+ int val, sock, done;
+ char *name = "i82365sl";
+
+ log_message("PCMCIA: probing for Intel PCIC (ISA)..");
+
+ sock = done = 0;
+ if (ioperm(i365_base, 4, 1)) {
+ log_perror("PCMCIA: ioperm");
+ return -1;
+ }
+ ioperm(0x80, 1, 1);
+ for (; sock < 2; sock++) {
+ val = i365_get(sock, I365_IDENT);
+ switch (val) {
+ case 0x82:
+ name = "i82365sl A step";
+ break;
+ case 0x83:
+ name = "i82365sl B step";
+ break;
+ case 0x84:
+ name = "VLSI 82C146";
+ break;
+ case 0x88: case 0x89: case 0x8a:
+ name = "IBM Clone";
+ break;
+ case 0x8b: case 0x8c:
+ break;
+ default:
+ done = 1;
+ }
+ if (done) break;
+ }
+
+ if (sock == 0) {
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+
+ if ((sock == 2) && (strcmp(name, "VLSI 82C146") == 0))
+ name = "i82365sl DF";
+
+ /* Check for Vadem chips */
+ outb(0x0e, i365_base);
+ outb(0x37, i365_base);
+ i365_bset(0, VG468_MISC, VG468_MISC_VADEMREV);
+ val = i365_get(0, I365_IDENT);
+ if (val & I365_IDENT_VADEM) {
+ if ((val & 7) < 4)
+ name = "Vadem VG-468";
+ else
+ name = "Vadem VG-469";
+ i365_bclr(0, VG468_MISC, VG468_MISC_VADEMREV);
+ }
+
+ /* Check for Cirrus CL-PD67xx chips */
+ i365_set(0, PD67_CHIP_INFO, 0);
+ val = i365_get(0, PD67_CHIP_INFO);
+ if ((val & PD67_INFO_CHIP_ID) == PD67_INFO_CHIP_ID) {
+ val = i365_get(0, PD67_CHIP_INFO);
+ if ((val & PD67_INFO_CHIP_ID) == 0) {
+ if (val & PD67_INFO_SLOTS)
+ name = "Cirrus CL-PD672x";
+ else {
+ name = "Cirrus CL-PD6710";
+ sock = 1;
+ }
+ i365_set(0, PD67_EXT_INDEX, 0xe5);
+ if (i365_get(0, PD67_EXT_INDEX) != 0xe5)
+ name = "VIA VT83C469";
+ }
+ }
+
+ printf("\t%s found, %d sockets.\n", name, sock);
+ return 0;
+
+} /* i365_probe */
+
+/*====================================================================*/
+
+#include "tcic.h"
+
+static u_char tcic_getb(ioaddr_t base, u_char reg)
+{
+ u_char val = inb(base+reg);
+ return val;
+}
+
+static void tcic_setb(ioaddr_t base, u_char reg, u_char data)
+{
+ outb(data, base+reg);
+}
+
+static u_short tcic_getw(ioaddr_t base, u_char reg)
+{
+ u_short val = inw(base+reg);
+ return val;
+}
+
+static void tcic_setw(ioaddr_t base, u_char reg, u_short data)
+{
+ outw(data, base+reg);
+}
+
+static u_short tcic_aux_getw(ioaddr_t base, u_short reg)
+{
+ u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
+ tcic_setb(base, TCIC_MODE, mode);
+ return tcic_getw(base, TCIC_AUX);
+}
+
+static void tcic_aux_setw(ioaddr_t base, u_short reg, u_short data)
+{
+ u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
+ tcic_setb(base, TCIC_MODE, mode);
+ tcic_setw(base, TCIC_AUX, data);
+}
+
+static int get_tcic_id(ioaddr_t base)
+{
+ u_short id;
+ tcic_aux_setw(base, TCIC_AUX_TEST, TCIC_TEST_DIAG);
+ id = tcic_aux_getw(base, TCIC_AUX_ILOCK);
+ id = (id & TCIC_ILOCKTEST_ID_MASK) >> TCIC_ILOCKTEST_ID_SH;
+ tcic_aux_setw(base, TCIC_AUX_TEST, 0);
+ return id;
+}
+
+int tcic_probe_at(ioaddr_t base)
+{
+ int i;
+ u_short old;
+
+ /* Anything there?? */
+ for (i = 0; i < 0x10; i += 2)
+ if (tcic_getw(base, i) == 0xffff)
+ return -1;
+
+ log_message("\tat %#3.3x: ", base); fflush(stdout);
+
+ /* Try to reset the chip */
+ tcic_setw(base, TCIC_SCTRL, TCIC_SCTRL_RESET);
+ tcic_setw(base, TCIC_SCTRL, 0);
+
+ /* Can we set the addr register? */
+ old = tcic_getw(base, TCIC_ADDR);
+ tcic_setw(base, TCIC_ADDR, 0);
+ if (tcic_getw(base, TCIC_ADDR) != 0) {
+ tcic_setw(base, TCIC_ADDR, old);
+ return -2;
+ }
+
+ tcic_setw(base, TCIC_ADDR, 0xc3a5);
+ if (tcic_getw(base, TCIC_ADDR) != 0xc3a5)
+ return -3;
+
+ return 2;
+}
+
+int tcic_probe(void)
+{
+ int sock, id;
+
+ log_message("PCMCIA: probing for Databook TCIC-2 (ISA).."); fflush(stdout);
+
+ if (ioperm(TCIC_BASE, 16, 1)) {
+ log_perror("PCMCIA: ioperm");
+ return -1;
+ }
+ ioperm(0x80, 1, 1);
+ sock = tcic_probe_at(TCIC_BASE);
+
+ if (sock <= 0) {
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+
+ id = get_tcic_id(TCIC_BASE);
+ switch (id) {
+ case TCIC_ID_DB86082:
+ log_message("DB86082"); break;
+ case TCIC_ID_DB86082A:
+ log_message("DB86082A"); break;
+ case TCIC_ID_DB86084:
+ log_message("DB86084"); break;
+ case TCIC_ID_DB86084A:
+ log_message("DB86084A"); break;
+ case TCIC_ID_DB86072:
+ log_message("DB86072"); break;
+ case TCIC_ID_DB86184:
+ log_message("DB86184"); break;
+ case TCIC_ID_DB86082B:
+ log_message("DB86082B"); break;
+ default:
+ log_message("Unknown TCIC-2 ID 0x%02x", id);
+ }
+ log_message(" found at %#6x, %d sockets.", TCIC_BASE, sock);
+ return 0;
+
+} /* tcic_probe */
+
+
+char * pcmcia_probe(void)
+{
+ if (!pci_probe())
+ return driver;
+#if !defined(__x86_64__)
+ else if (!i365_probe())
+ return "pd6729";
+ else if (!tcic_probe())
+ return "tcic";
+#endif
+ else
+ return NULL;
+}
diff --git a/mdk-stage1/pcmcia/startup.c b/mdk-stage1/pcmcia/startup.c
new file mode 100644
index 000000000..e9004484a
--- /dev/null
+++ b/mdk-stage1/pcmcia/startup.c
@@ -0,0 +1,271 @@
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <syslog.h>
+#include <unistd.h>
+
+#include <sysfs/libsysfs.h>
+
+#include "startup.h"
+
+/* uncomment for debug output */
+#ifdef DEBUG
+#define dprintf printf
+#else
+#define dprintf(...) do { } while(0);
+#endif
+
+/* Linked list of resource adjustments */
+struct adjust_list_t *root_adjust = NULL;
+
+/* path for config file, device scripts */
+static char *configpath = "/etc/pcmcia";
+
+enum {
+ RESOURCE_MEM,
+ RESOURCE_IO,
+ MAX_RESOURCE_FILES
+};
+
+
+static const char *resource_files[MAX_RESOURCE_FILES] = {
+ [RESOURCE_MEM] = "available_resources_mem",
+ [RESOURCE_IO] = "available_resources_io",
+};
+
+#define PATH_TO_SOCKET "/sys/class/pcmcia_socket/"
+
+
+static int add_available_resource(unsigned int socket_no, unsigned int type,
+ unsigned int action,
+ unsigned long start, unsigned long end)
+{
+ char file[SYSFS_PATH_MAX];
+ char content[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+ int ret;
+ size_t len;
+
+ if (type >= MAX_RESOURCE_FILES)
+ return -EINVAL;
+
+ if (end <= start)
+ return -EINVAL;
+
+ dprintf("%d %d %d 0x%lx 0x%lx\n", socket_no, type, action, start, end);
+
+ snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET "pcmcia_socket%u/%s",
+ socket_no, resource_files[type]);
+
+ switch(action) {
+ case ADD_MANAGED_RESOURCE:
+ len = snprintf(content, SYSFS_PATH_MAX,
+ "0x%08lx - 0x%08lx", start, end);
+ break;
+
+ case REMOVE_MANAGED_RESOURCE:
+ len = snprintf(content, SYSFS_PATH_MAX,
+ "- 0x%08lx - 0x%08lx", start, end);
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ dprintf("content is %s\n", content);
+
+ dprintf("file is %s\n", file);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ dprintf("open, len %d\n", len);
+
+ ret = sysfs_write_attribute(attr, content, len);
+
+ dprintf("ret is %d\n", ret);
+
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+static int setup_done(unsigned int socket_no)
+{
+ int ret;
+ char file[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+
+ snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET
+ "pcmcia_socket%u/available_resources_setup_done",
+ socket_no);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ ret = sysfs_write_attribute(attr, "42", 2);
+
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+
+static int disallow_irq(unsigned int socket_no, unsigned int irq)
+{
+ char file[SYSFS_PATH_MAX];
+ char content[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+ unsigned int mask = 0xfff;
+ unsigned int new_mask;
+ int ret;
+ size_t len;
+
+ if (irq >= 32)
+ return -EINVAL;
+
+ len = snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET
+ "pcmcia_socket%u/card_irq_mask",
+ socket_no);
+ dprintf("file is %s\n", file);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ dprintf("open, len %d\n", len);
+
+ ret = sysfs_read_attribute(attr);
+ if (ret) {
+ ret = -EINVAL;
+ goto out;
+ }
+
+ if (!attr->value || (attr->len < 6)) {
+ ret = -EIO;
+ goto out;
+ }
+
+ ret = sscanf(attr->value, "0x%x\n", &mask);
+
+ new_mask = 1 << irq;
+
+ mask &= ~new_mask;
+
+ len = snprintf(content, SYSFS_PATH_MAX, "0x%04x", mask);
+
+ dprintf("content is %s\n", content);
+
+ ret = sysfs_write_attribute(attr, content, len);
+
+ out:
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+
+static void load_config(void)
+{
+ if (chdir(configpath) != 0) {
+ syslog(LOG_ERR, "chdir to %s failed: %m", configpath);
+ exit(EXIT_FAILURE);
+ }
+ parse_configfile("config.opts");
+ return;
+}
+
+
+static void adjust_resources(unsigned int socket_no)
+{
+ adjust_list_t *al;
+
+ for (al = root_adjust; al; al = al->next) {
+ switch (al->adj.Resource) {
+ case RES_MEMORY_RANGE:
+ add_available_resource(socket_no, RESOURCE_MEM,
+ al->adj.Action,
+ al->adj.resource.memory.Base,
+ al->adj.resource.memory.Base +
+ al->adj.resource.memory.Size - 1);
+ break;
+ case RES_IO_RANGE:
+ add_available_resource(socket_no, RESOURCE_IO,
+ al->adj.Action,
+ al->adj.resource.io.BasePort,
+ al->adj.resource.io.BasePort +
+ al->adj.resource.io.NumPorts - 1);
+ break;
+ case RES_IRQ:
+ if(al->adj.Action == REMOVE_MANAGED_RESOURCE)
+ disallow_irq(socket_no, al->adj.resource.irq.IRQ);
+ break;
+ }
+ }
+}
+
+/* mdk-stage1
+int main(int argc, char *argv[])
+{
+ char *socket_no;
+ unsigned long socket, i;
+ unsigned int all_sockets = 0;
+
+
+ if ((socket_no = getenv("SOCKET_NO"))) {
+ socket = strtoul(socket_no, NULL, 0);
+ } else if (argc == 2) {
+ socket = strtoul(argv[1], NULL, 0);
+ } else if (argc == 1) {
+ socket = 0;
+ all_sockets = 1;
+ } else {
+ return -EINVAL;
+ }
+
+ load_config();
+
+ for (i = 0; i < MAX_SOCKS; i++) {
+ if ((socket != i) && (!all_sockets))
+ continue;
+
+ adjust_resources(i);
+ setup_done(i);
+ }
+
+ return 0;
+}
+*/
+
+void pcmcia_socket_startup(int socket_no) {
+ unsigned long i;
+ unsigned int all_sockets = 0;
+
+ if (socket_no == -1)
+ all_sockets = 1;
+
+ load_config();
+
+ for (i = 0; i < MAX_SOCKS; i++) {
+ if ((socket_no != i) && (!all_sockets))
+ continue;
+
+ adjust_resources(i);
+ setup_done(i);
+ }
+}
diff --git a/mdk-stage1/pcmcia/startup.h b/mdk-stage1/pcmcia/startup.h
new file mode 100644
index 000000000..ba6af2c15
--- /dev/null
+++ b/mdk-stage1/pcmcia/startup.h
@@ -0,0 +1,54 @@
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ *
+ */
+
+#define MAX_SOCKS 8
+#define MAX_BINDINGS 4
+#define MAX_MODULES 4
+
+/* for AdjustResourceInfo */
+typedef struct adjust_t {
+ unsigned int Action;
+ unsigned int Resource;
+ unsigned int Attributes;
+ union {
+ struct memory {
+ unsigned long Base;
+ unsigned long Size;
+ } memory;
+ struct io {
+ unsigned long BasePort;
+ unsigned long NumPorts;
+ unsigned int IOAddrLines;
+ } io;
+ struct irq {
+ unsigned int IRQ;
+ } irq;
+ } resource;
+} adjust_t;
+
+
+typedef struct adjust_list_t {
+ adjust_t adj;
+ struct adjust_list_t *next;
+} adjust_list_t;
+
+
+extern adjust_list_t *root_adjust;
+
+int parse_configfile(char *fn);
+
+
+#define RES_MEMORY_RANGE 1
+#define RES_IO_RANGE 2
+#define RES_IRQ 3
+#define RES_RESERVED 0x10
+#define REMOVE_MANAGED_RESOURCE 1
+#define ADD_MANAGED_RESOURCE 2
diff --git a/mdk-stage1/pcmcia_/tcic.h b/mdk-stage1/pcmcia/tcic.h
index cad193885..cad193885 100644
--- a/mdk-stage1/pcmcia_/tcic.h
+++ b/mdk-stage1/pcmcia/tcic.h
diff --git a/mdk-stage1/pcmcia_/version.h b/mdk-stage1/pcmcia/version.h
index 3be8f28bc..3be8f28bc 100644
--- a/mdk-stage1/pcmcia_/version.h
+++ b/mdk-stage1/pcmcia/version.h
diff --git a/mdk-stage1/pcmcia/vg468.h b/mdk-stage1/pcmcia/vg468.h
new file mode 100644
index 000000000..23890cd07
--- /dev/null
+++ b/mdk-stage1/pcmcia/vg468.h
@@ -0,0 +1,106 @@
+/*
+ * vg468.h 1.14 2001/08/24 12:15:34
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_VG468_H
+#define _LINUX_VG468_H
+
+/* Special bit in I365_IDENT used for Vadem chip detection */
+#define I365_IDENT_VADEM 0x08
+
+/* Special definitions in I365_POWER */
+#define VG468_VPP2_MASK 0x0c
+#define VG468_VPP2_5V 0x04
+#define VG468_VPP2_12V 0x08
+
+/* Unique Vadem registers */
+#define VG469_VSENSE 0x1f /* Card voltage sense */
+#define VG469_VSELECT 0x2f /* Card voltage select */
+#define VG468_CTL 0x38 /* Control register */
+#define VG468_TIMER 0x39 /* Timer control */
+#define VG468_MISC 0x3a /* Miscellaneous */
+#define VG468_GPIO_CFG 0x3b /* GPIO configuration */
+#define VG469_EXT_MODE 0x3c /* Extended mode register */
+#define VG468_SELECT 0x3d /* Programmable chip select */
+#define VG468_SELECT_CFG 0x3e /* Chip select configuration */
+#define VG468_ATA 0x3f /* ATA control */
+
+/* Flags for VG469_VSENSE */
+#define VG469_VSENSE_A_VS1 0x01
+#define VG469_VSENSE_A_VS2 0x02
+#define VG469_VSENSE_B_VS1 0x04
+#define VG469_VSENSE_B_VS2 0x08
+
+/* Flags for VG469_VSELECT */
+#define VG469_VSEL_VCC 0x03
+#define VG469_VSEL_5V 0x00
+#define VG469_VSEL_3V 0x03
+#define VG469_VSEL_MAX 0x0c
+#define VG469_VSEL_EXT_STAT 0x10
+#define VG469_VSEL_EXT_BUS 0x20
+#define VG469_VSEL_MIXED 0x40
+#define VG469_VSEL_ISA 0x80
+
+/* Flags for VG468_CTL */
+#define VG468_CTL_SLOW 0x01 /* 600ns memory timing */
+#define VG468_CTL_ASYNC 0x02 /* Asynchronous bus clocking */
+#define VG468_CTL_TSSI 0x08 /* Tri-state some outputs */
+#define VG468_CTL_DELAY 0x10 /* Card detect debounce */
+#define VG468_CTL_INPACK 0x20 /* Obey INPACK signal? */
+#define VG468_CTL_POLARITY 0x40 /* VCCEN polarity */
+#define VG468_CTL_COMPAT 0x80 /* Compatibility stuff */
+
+#define VG469_CTL_WS_COMPAT 0x04 /* Wait state compatibility */
+#define VG469_CTL_STRETCH 0x10 /* LED stretch */
+
+/* Flags for VG468_TIMER */
+#define VG468_TIMER_ZEROPWR 0x10 /* Zero power control */
+#define VG468_TIMER_SIGEN 0x20 /* Power up */
+#define VG468_TIMER_STATUS 0x40 /* Activity timer status */
+#define VG468_TIMER_RES 0x80 /* Timer resolution */
+#define VG468_TIMER_MASK 0x0f /* Activity timer timeout */
+
+/* Flags for VG468_MISC */
+#define VG468_MISC_GPIO 0x04 /* General-purpose IO */
+#define VG468_MISC_DMAWSB 0x08 /* DMA wait state control */
+#define VG469_MISC_LEDENA 0x10 /* LED enable */
+#define VG468_MISC_VADEMREV 0x40 /* Vadem revision control */
+#define VG468_MISC_UNLOCK 0x80 /* Unique register lock */
+
+/* Flags for VG469_EXT_MODE_A */
+#define VG469_MODE_VPPST 0x03 /* Vpp steering control */
+#define VG469_MODE_INT_SENSE 0x04 /* Internal voltage sense */
+#define VG469_MODE_CABLE 0x08
+#define VG469_MODE_COMPAT 0x10 /* i82365sl B or DF step */
+#define VG469_MODE_TEST 0x20
+#define VG469_MODE_RIO 0x40 /* Steer RIO to INTR? */
+
+/* Flags for VG469_EXT_MODE_B */
+#define VG469_MODE_B_3V 0x01 /* 3.3v for socket B */
+
+#endif /* _LINUX_VG468_H */
diff --git a/mdk-stage1/pcmcia/yacc_config.y b/mdk-stage1/pcmcia/yacc_config.y
new file mode 100644
index 000000000..c33f397d6
--- /dev/null
+++ b/mdk-stage1/pcmcia/yacc_config.y
@@ -0,0 +1,133 @@
+%{
+/*
+ * Startup tool for non statically mapped PCMCIA sockets - config file parsing
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <syslog.h>
+#include <sys/types.h>
+
+#include "startup.h"
+
+/* If bison: generate nicer error messages */
+#define YYERROR_VERBOSE 1
+
+/* from lex_config, for nice error messages */
+extern char *current_file;
+extern int current_lineno;
+
+extern int yylex(void); /* mdk-stage1 */
+
+void yyerror(const char *msg, ...);
+
+%}
+
+%token DEVICE CARD ANONYMOUS TUPLE MANFID VERSION FUNCTION PCI
+%token BIND CIS TO NEEDS_MTD MODULE OPTS CLASS
+%token REGION JEDEC DTYPE DEFAULT MTD
+%token INCLUDE EXCLUDE RESERVE IRQ_NO PORT MEMORY
+%token STRING NUMBER SOURCE
+
+%union {
+ char *str;
+ u_long num;
+ struct adjust_list_t *adjust;
+}
+
+%type <str> STRING
+%type <num> NUMBER
+%type <adjust> adjust resource
+%%
+list: /* nothing */
+ | list adjust
+ {
+ adjust_list_t **tail = &root_adjust;
+ while (*tail != NULL) tail = &(*tail)->next;
+ *tail = $2;
+ }
+ ;
+
+adjust: INCLUDE resource
+ {
+ $2->adj.Action = ADD_MANAGED_RESOURCE;
+ $$ = $2;
+ }
+ | EXCLUDE resource
+ {
+ $2->adj.Action = REMOVE_MANAGED_RESOURCE;
+ $$ = $2;
+ }
+ | RESERVE resource
+ {
+ $2->adj.Action = ADD_MANAGED_RESOURCE;
+ $2->adj.Attributes |= RES_RESERVED;
+ $$ = $2;
+ }
+ | adjust ',' resource
+ {
+ $3->adj.Action = $1->adj.Action;
+ $3->adj.Attributes = $1->adj.Attributes;
+ $3->next = $1;
+ $$ = $3;
+ }
+ ;
+
+resource: IRQ_NO NUMBER
+ {
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_IRQ;
+ $$->adj.resource.irq.IRQ = $2;
+ }
+ | PORT NUMBER '-' NUMBER
+ {
+ if (($4 < $2) || ($4 > 0xffff)) {
+ yyerror("invalid port range 0x%x-0x%x", $2, $4);
+ YYERROR;
+ }
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_IO_RANGE;
+ $$->adj.resource.io.BasePort = $2;
+ $$->adj.resource.io.NumPorts = $4 - $2 + 1;
+ }
+ | MEMORY NUMBER '-' NUMBER
+ {
+ if ($4 < $2) {
+ yyerror("invalid address range 0x%x-0x%x", $2, $4);
+ YYERROR;
+ }
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_MEMORY_RANGE;
+ $$->adj.resource.memory.Base = $2;
+ $$->adj.resource.memory.Size = $4 - $2 + 1;
+ }
+ ;
+
+%%
+void yyerror(const char *msg, ...)
+{
+ va_list ap;
+ char str[256];
+
+ va_start(ap, msg);
+ sprintf(str, "error in file '%s' line %d: ",
+ current_file, current_lineno);
+ vsprintf(str+strlen(str), msg, ap);
+#if YYDEBUG
+ fprintf(stderr, "%s\n", str);
+#else
+ syslog(LOG_ERR, "%s", str);
+#endif
+ va_end(ap);
+}
+
diff --git a/mdk-stage1/pcmcia_/Makefile b/mdk-stage1/pcmcia_/Makefile
deleted file mode 100644
index b247b1397..000000000
--- a/mdk-stage1/pcmcia_/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2001 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: libpcmcia.a
-
-clean:
- rm -f *.o libpcmcia.a
-
-FLAGS = -D__linux__ -Wall -Werror -Os -fomit-frame-pointer -pipe -c -I.. -D_BSD_SOURCE
-
-
-OBJS = probe.o cardmgr.o lex_config.o yacc_config.o
-
-
-libpcmcia.a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/pcmcia_/cardmgr.c b/mdk-stage1/pcmcia_/cardmgr.c
deleted file mode 100644
index ea3ff127e..000000000
--- a/mdk-stage1/pcmcia_/cardmgr.c
+++ /dev/null
@@ -1,1652 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- * Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.29.tar.bz2
- *
- * Licence of this code follows:
- *
- */
-/*======================================================================
-
- PCMCIA Card Manager daemon
-
- cardmgr.c 1.161 2001/08/24 12:19:19
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The initial developer of the original code is David A. Hinds
- <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU General Public License version 2 (the "GPL"), in
- which case the provisions of the GPL are applicable instead of the
- above. If you wish to allow the use of your version of this file
- only under the terms of the GPL and not to allow others to use
- your version of this file under the MPL, indicate your decision
- by deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the MPL or the GPL.
-
-======================================================================*/
-
-#ifndef __linux__
-#include <pcmcia/u_compat.h>
-#endif
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-//mdk-stage1// #include <syslog.h>
-//mdk-stage1// #include <getopt.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/wait.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/file.h>
-
-#include <pcmcia_/version.h>
-//mdk-stage1// #include <pcmcia/config.h>
-#include <pcmcia_/cs_types.h>
-#include <pcmcia_/cs.h>
-#include <pcmcia_/cistpl.h>
-#include <pcmcia_/ds.h>
-
-#include "cardmgr.h"
-
-#include "../log.h"
-#include "modules.h"
-#include "pcmcia.h"
-
-/*====================================================================*/
-
-typedef struct socket_info_t {
- int fd;
- int state;
- card_info_t *card;
- bind_info_t *bind[MAX_BINDINGS];
- mtd_ident_t *mtd[2*CISTPL_MAX_DEVICES];
-} socket_info_t;
-
-#define SOCKET_PRESENT 0x01
-#define SOCKET_READY 0x02
-#define SOCKET_HOTPLUG 0x04
-
-/* Linked list of resource adjustments */
-struct adjust_list_t *root_adjust = NULL;
-
-/* Linked list of device definitions */
-struct device_info_t *root_device = NULL;
-
-/* Special pointer to "anonymous" card definition */
-struct card_info_t *blank_card = NULL;
-
-/* Linked list of card definitions */
-struct card_info_t *root_card = NULL;
-
-/* Linked list of function definitions */
-struct card_info_t *root_func = NULL;
-
-/* Linked list of MTD definitions */
-struct mtd_ident_t *root_mtd = NULL;
-
-/* Default MTD */
-struct mtd_ident_t *default_mtd = NULL;
-
-static int sockets;
-static struct socket_info_t socket[MAX_SOCKS];
-
-/* Default path for config file, device scripts */
-#ifdef ETC
-static char *configpath = ETC;
-#else
-static char *configpath = "/etc/pcmcia";
-#endif
-
-/* Default path for pid file */
-//mdk-stage1// static char *pidfile = "/var/run/cardmgr.pid";
-
-#ifdef __linux__
-/* Default path for finding modules */
-//mdk-stage1// static char *modpath = NULL;
-#endif
-
-/* Default path for socket info table */
-static char *stabfile;
-
-/* If set, don't generate beeps when cards are inserted */
-//mdk-stage1// static int be_quiet = 0;
-
-/* If set, use modprobe instead of insmod */
-//mdk-stage1// static int do_modprobe = 0;
-
-/* If set, configure already inserted cards, then exit */
-//mdk-stage1// static int one_pass = 0;
-
-/* Extra message logging? */
-//mdk-stage1// static int verbose = 0;
-
-/*====================================================================*/
-
-#ifdef __linux__
-
-static int major = 0;
-
-static int lookup_dev(char *name)
-{
- FILE *f;
- int n;
- char s[32], t[32];
-
- f = fopen("/proc/devices", "r");
- if (f == NULL)
- return -errno;
- while (fgets(s, 32, f) != NULL) {
- if (sscanf(s, "%d %s", &n, t) == 2)
- if (strcmp(name, t) == 0)
- break;
- }
- fclose(f);
- if (strcmp(name, t) == 0)
- return n;
- else
- return -ENODEV;
-}
-
-int open_dev(dev_t dev, int mode)
-{
- char * fn = "/tmp/cardmgr_tmp";
- int fd;
-
- unlink(fn);
- if (mknod(fn, mode, dev) != 0)
- return -1;
- fd = open(fn, (mode&S_IWRITE)?O_RDWR:O_RDONLY);
- if (fd < 0)
- fd = open(fn, O_NONBLOCK|((mode&S_IWRITE)?O_RDWR:O_RDONLY));
- unlink(fn);
- return fd;
-}
-
-#endif /* __linux__ */
-
-int open_sock(int sock, int mode)
-{
-#ifdef __linux__
- dev_t dev = (major<<8)+sock;
- return open_dev(dev, mode);
-#endif
-#ifdef __BEOS__
- int fd;
- char fn[B_OS_NAME_LENGTH];
- sprintf(fn, "/dev/pcmcia/sock%d", sock);
- return open(fn, (mode & S_IWRITE) ? O_RDWR: O_RDONLY);
-#endif
-}
-
-/*======================================================================
-
- xlate_scsi_name() is a sort-of-hack used to deduce the minor
- device numbers of SCSI devices, from the information available to
- the low-level driver.
-
-======================================================================*/
-
-#ifdef __linux__
-
-#include <linux/major.h>
-#include <scsi/scsi.h>
-//mdk-stage1// #define VERSION(v,p,s) (((v)<<16)+(p<<8)+s)
-//mdk-stage1// #if (LINUX_VERSION_CODE < VERSION(2,1,126))
-//mdk-stage1// #define SCSI_DISK0_MAJOR SCSI_DISK_MAJOR
-//mdk-stage1// #endif
-
-static int xlate_scsi_name(bind_info_t *bind)
-{
- int i, fd, mode, minor;
- u_long arg[2], id1, id2;
-
- id1 = strtol(bind->name+3, NULL, 16);
- if ((bind->major == SCSI_DISK0_MAJOR) ||
- (bind->major == SCSI_CDROM_MAJOR))
- mode = S_IREAD|S_IFBLK;
- else
- mode = S_IREAD|S_IFCHR;
-
- for (i = 0; i < 16; i++) {
- minor = (bind->major == SCSI_DISK0_MAJOR) ? (i<<4) : i;
- fd = open_dev((bind->major<<8)+minor, mode);
- if (fd < 0)
- continue;
- if (ioctl(fd, SCSI_IOCTL_GET_IDLUN, arg) == 0) {
- id2 = (arg[0]&0x0f) + ((arg[0]>>4)&0xf0) +
- ((arg[0]>>8)&0xf00) + ((arg[0]>>12)&0xf000);
- if (id1 == id2) {
- close(fd);
- switch (bind->major) {
- case SCSI_DISK0_MAJOR:
- case SCSI_GENERIC_MAJOR:
- sprintf(bind->name+2, "%c", 'a'+i); break;
- case SCSI_CDROM_MAJOR:
- sprintf(bind->name, "scd%d", i); break;
- case SCSI_TAPE_MAJOR:
- sprintf(bind->name+2, "%d", i); break;
- }
- bind->minor = minor;
- return 0;
- }
- }
- close(fd);
- }
- return -1;
-}
-#endif
-
-/*====================================================================*/
-
-#define BEEP_TIME 150
-#define BEEP_OK 1000
-#define BEEP_WARN 2000
-#define BEEP_ERR 4000
-
-#ifdef __linux__
-
-//mdk-stage1// #include <sys/kd.h>
-//mdk-stage1//
-static void beep(unsigned int ms, unsigned int freq)
-{
-//mdk-stage1// int fd, arg;
-//mdk-stage1//
-//mdk-stage1// if (be_quiet)
-//mdk-stage1// return;
-//mdk-stage1// fd = open("/dev/console", O_RDWR);
-//mdk-stage1// if (fd < 0)
-//mdk-stage1// return;
-//mdk-stage1// arg = (ms << 16) | freq;
-//mdk-stage1// ioctl(fd, KDMKTONE, arg);
-//mdk-stage1// close(fd);
-//mdk-stage1// usleep(ms*1000);
-}
-
-#endif /* __linux__ */
-
-#ifdef __BEOS__
-static void beep(unsigned int ms, unsigned int freq)
-{
- if (!be_quiet) system("/bin/beep");
-}
-#endif
-
-/*====================================================================*/
-
-//mdk-stage1// static void write_pid(void)
-//mdk-stage1// {
-//mdk-stage1// FILE *f;
-//mdk-stage1// f = fopen(pidfile, "w");
-//mdk-stage1// if (f == NULL)
-//mdk-stage1// syslog(LOG_WARNING, "could not open %s: %m", pidfile);
-//mdk-stage1// else {
-//mdk-stage1// fprintf(f, "%d\n", getpid());
-//mdk-stage1// fclose(f);
-//mdk-stage1// }
-//mdk-stage1// }
-
-static void write_stab(void)
-{
- int i, j, k;
- FILE *f;
- socket_info_t *s;
- bind_info_t *bind;
-
- f = fopen(stabfile, "w");
- if (f == NULL) {
- log_message("CM: fopen(stabfile) failed: %m");
- return;
- }
-#ifndef __BEOS__
- if (flock(fileno(f), LOCK_EX) != 0) {
- log_message("CM: flock(stabfile) failed: %m");
- return;
- }
-#endif
- for (i = 0; i < sockets; i++) {
- s = &socket[i];
- fprintf(f, "Socket %d: ", i);
- if (!(s->state & SOCKET_PRESENT)) {
- fprintf(f, "empty\n");
-//mdk-stage1// } else if (s->state & SOCKET_HOTPLUG) {
-//mdk-stage1// fprintf(f, "CardBus hotplug device\n");
- } else if (!s->card) {
- fprintf(f, "unsupported card\n");
- } else {
- fprintf(f, "%s\n", s->card->name);
- for (j = 0; j < s->card->bindings; j++)
- for (k = 0, bind = s->bind[j];
- bind != NULL;
- k++, bind = bind->next) {
- char *class = s->card->device[j]->class;
- fprintf(f, "%d\t%s\t%s\t%d\t%s",
- i, (class ? class : "none"),
- bind->dev_info, k, bind->name);
- if (bind->major)
- fprintf(f, "\t%d\t%d\n",
- bind->major, bind->minor);
- else
- fputc('\n', f);
- }
- }
- }
- fflush(f);
-#ifndef __BEOS__
- flock(fileno(f), LOCK_UN);
-#endif
- fclose(f);
-}
-
-/*====================================================================*/
-
-static int get_tuple(int ns, cisdata_t code, ds_ioctl_arg_t *arg)
-{
- socket_info_t *s = &socket[ns];
-
- arg->tuple.DesiredTuple = code;
- arg->tuple.Attributes = 0;
- if (ioctl(s->fd, DS_GET_FIRST_TUPLE, arg) != 0)
- return -1;
- arg->tuple.TupleOffset = 0;
- if (ioctl(s->fd, DS_GET_TUPLE_DATA, arg) != 0) {
- log_message("CM: error reading CIS data on socket %d: %m", ns);
- return -1;
- }
- if (ioctl(s->fd, DS_PARSE_TUPLE, arg) != 0) {
- log_message("CM: error parsing CIS on socket %d: %m", ns);
- return -1;
- }
- return 0;
-}
-
-/*======================================================================
-
- Code to fetch a 2.4 kernel's hot plug PCI driver list
-
- This is distasteful but is the best I could come up with.
-
-======================================================================*/
-
-#ifdef __linux__
-
-typedef struct pci_id {
- u_short vendor, device;
- struct pci_id *next;
-} pci_id_t;
-
-static int get_pci_id(int ns, pci_id_t *id)
-{
- socket_info_t *s = &socket[ns];
- config_info_t config;
-
- config.Function = config.ConfigBase = 0;
- if ((ioctl(s->fd, DS_GET_CONFIGURATION_INFO, &config) != 0) ||
- (config.IntType != INT_CARDBUS) || !config.ConfigBase)
- return 0;
- id->vendor = config.ConfigBase & 0xffff;
- id->device = config.ConfigBase >> 16;
- return 1;
-}
-
-#endif /* __linux__ */
-
-/*====================================================================*/
-
-//mdk-stage1// static void log_card_info(cistpl_vers_1_t *vers,
-//mdk-stage1// cistpl_manfid_t *manfid,
-//mdk-stage1// cistpl_funcid_t *funcid,
-//mdk-stage1// pci_id_t *pci_id)
-//mdk-stage1// {
-//mdk-stage1// char v[256] = "";
-//mdk-stage1// int i;
-//mdk-stage1// static char *fn[] = {
-//mdk-stage1// "multi", "memory", "serial", "parallel", "fixed disk",
-//mdk-stage1// "video", "network", "AIMS", "SCSI"
-//mdk-stage1// };
-//mdk-stage1//
-//mdk-stage1// if (vers) {
-//mdk-stage1// for (i = 0; i < vers->ns; i++)
-//mdk-stage1// sprintf(v+strlen(v), "%s\"%s\"",
-//mdk-stage1// (i>0) ? ", " : "", vers->str+vers->ofs[i]);
-//mdk-stage1// syslog(LOG_INFO, " product info: %s", v);
-//mdk-stage1// } else {
-//mdk-stage1// syslog(LOG_INFO, " no product info available");
-//mdk-stage1// }
-//mdk-stage1// *v = '\0';
-//mdk-stage1// if (manfid->manf != 0)
-//mdk-stage1// sprintf(v, " manfid: 0x%04x, 0x%04x",
-//mdk-stage1// manfid->manf, manfid->card);
-//mdk-stage1// if (funcid->func != 0xff)
-//mdk-stage1// sprintf(v+strlen(v), " function: %d (%s)", funcid->func,
-//mdk-stage1// fn[funcid->func]);
-//mdk-stage1// if (strlen(v) > 0) syslog(LOG_INFO, "%s", v);
-//mdk-stage1// if (pci_id->vendor != 0)
-//mdk-stage1// syslog(LOG_INFO, " PCI id: 0x%04x, 0x%04x",
-//mdk-stage1// pci_id->vendor, pci_id->device);
-//mdk-stage1// }
-
-static card_info_t *lookup_card(int ns)
-{
- socket_info_t *s = &socket[ns];
- card_info_t *card = NULL;
- ds_ioctl_arg_t arg;
- cistpl_vers_1_t *vers = NULL;
- cistpl_manfid_t manfid = { 0, 0 };
- pci_id_t pci_id = { 0, 0 };
- cistpl_funcid_t funcid = { 0xff, 0xff };
- cs_status_t status;
- int i, ret, has_cis = 0;
-
- /* Do we have a CIS structure? */
- ret = ioctl(s->fd, DS_VALIDATE_CIS, &arg);
- has_cis = ((ret == 0) && (arg.cisinfo.Chains > 0));
-
- /* Try to read VERS_1, MANFID tuples */
- if (has_cis) {
- /* rule of thumb: cards with no FUNCID, but with common memory
- device geometry information, are probably memory cards */
- if (get_tuple(ns, CISTPL_FUNCID, &arg) == 0)
- memcpy(&funcid, &arg.tuple_parse.parse.funcid,
- sizeof(funcid));
- else if (get_tuple(ns, CISTPL_DEVICE_GEO, &arg) == 0)
- funcid.func = CISTPL_FUNCID_MEMORY;
- if (get_tuple(ns, CISTPL_MANFID, &arg) == 0)
- memcpy(&manfid, &arg.tuple_parse.parse.manfid,
- sizeof(manfid));
- if (get_tuple(ns, CISTPL_VERS_1, &arg) == 0)
- vers = &arg.tuple_parse.parse.version_1;
-
- for (card = root_card; card; card = card->next) {
-
- if (card->ident_type &
- ~(VERS_1_IDENT|MANFID_IDENT|TUPLE_IDENT))
- continue;
-
- if (card->ident_type & VERS_1_IDENT) {
- if (vers == NULL)
- continue;
- for (i = 0; i < card->id.vers.ns; i++) {
- if (strcmp(card->id.vers.pi[i], "*") == 0)
- continue;
- if (i >= vers->ns)
- break;
- if (strcmp(card->id.vers.pi[i],
- vers->str+vers->ofs[i]) != 0)
- break;
- }
- if (i < card->id.vers.ns)
- continue;
- }
-
- if (card->ident_type & MANFID_IDENT) {
- if ((manfid.manf != card->manfid.manf) ||
- (manfid.card != card->manfid.card))
- continue;
- }
-
- if (card->ident_type & TUPLE_IDENT) {
- arg.tuple.DesiredTuple = card->id.tuple.code;
- arg.tuple.Attributes = 0;
- ret = ioctl(s->fd, DS_GET_FIRST_TUPLE, &arg);
- if (ret != 0) continue;
- arg.tuple.TupleOffset = card->id.tuple.ofs;
- ret = ioctl(s->fd, DS_GET_TUPLE_DATA, &arg);
- if (ret != 0) continue;
- if (strncmp((char *)arg.tuple_parse.data,
- card->id.tuple.info,
- strlen(card->id.tuple.info)) != 0)
- continue;
- }
-
- break; /* we have a match */
- }
- }
-
- /* Check PCI vendor/device info */
- status.Function = 0;
- ioctl(s->fd, DS_GET_STATUS, &status);
- if (status.CardState & CS_EVENT_CB_DETECT) {
- if (get_pci_id(ns, &pci_id)) {
- if (!card) {
- for (card = root_card; card; card = card->next)
- if ((card->ident_type == PCI_IDENT) &&
- (pci_id.vendor == card->manfid.manf) &&
- (pci_id.device == card->manfid.card))
- break;
- }
- } else {
- /* this is a 2.4 kernel; hotplug handles these cards */
-//mdk-stage1// s->state |= SOCKET_HOTPLUG;
- log_message("CM: socket %d: CardBus hotplug device", ns);
- //beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// return NULL;
- }
- }
-
- /* Try for a FUNCID match */
- if (!card && (funcid.func != 0xff)) {
- for (card = root_func; card; card = card->next)
- if (card->id.func.funcid == funcid.func)
- break;
- }
-
- if (card) {
- log_message("CM: socket %d: %s", ns, card->name);
- beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// if (verbose) log_card_info(vers, &manfid, &funcid, &pci_id);
- return card;
- }
-
- if (!blank_card || (status.CardState & CS_EVENT_CB_DETECT) ||
- manfid.manf || manfid.card || pci_id.vendor || vers) {
- log_message("CM: unsupported card in socket %d", ns);
-//mdk-stage1// if (one_pass) return NULL;
- beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// log_card_info(vers, &manfid, &funcid, &pci_id);
- return NULL;
- } else {
- card = blank_card;
- log_message("CM: socket %d: %s", ns, card->name);
- beep(BEEP_TIME, BEEP_WARN);
- return card;
- }
-}
-
-/*====================================================================*/
-
-static int load_config(void)
-{
- if (chdir(configpath) != 0) {
- log_message("CM: chdir to %s failed: %m", configpath);
- return -1;
- }
- if (parse_configfile("config") != 0) {
- log_message("CM: parsing of config file failed: %m");
- return -1;
- }
- if (root_device == NULL)
- log_message("CM: no device drivers defined");
- if ((root_card == NULL) && (root_func == NULL))
- log_message("CM: no cards defined");
- return 0;
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void free_card(card_info_t *card)
-//mdk-stage1// {
-//mdk-stage1// if (card && (--card->refs == 0)) {
-//mdk-stage1// int i;
-//mdk-stage1// free(card->name);
-//mdk-stage1// switch(card->ident_type) {
-//mdk-stage1// case VERS_1_IDENT:
-//mdk-stage1// for (i = 0; i < card->id.vers.ns; i++)
-//mdk-stage1// free(card->id.vers.pi[i]);
-//mdk-stage1// break;
-//mdk-stage1// case TUPLE_IDENT:
-//mdk-stage1// free(card->id.tuple.info);
-//mdk-stage1// break;
-//mdk-stage1// default:
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1// free(card);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_device(device_info_t *dev)
-//mdk-stage1// {
-//mdk-stage1// if (dev && (--dev->refs == 0)) {
-//mdk-stage1// int i;
-//mdk-stage1// for (i = 0; i < dev->modules; i++) {
-//mdk-stage1// free(dev->module[i]);
-//mdk-stage1// if (dev->opts[i]) free(dev->opts[i]);
-//mdk-stage1// }
-//mdk-stage1// if (dev->class) free(dev->class);
-//mdk-stage1// free(dev);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_mtd(mtd_ident_t *mtd)
-//mdk-stage1// {
-//mdk-stage1// if (mtd && (--mtd->refs == 0)) {
-//mdk-stage1// free(mtd->name);
-//mdk-stage1// free(mtd->module);
-//mdk-stage1// free(mtd);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void free_config(void)
-//mdk-stage1// {
-//mdk-stage1// while (root_adjust != NULL) {
-//mdk-stage1// adjust_list_t *adj = root_adjust;
-//mdk-stage1// root_adjust = root_adjust->next;
-//mdk-stage1// free(adj);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_device != NULL) {
-//mdk-stage1// device_info_t *dev = root_device;
-//mdk-stage1// root_device = root_device->next;
-//mdk-stage1// free_device(dev);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_card != NULL) {
-//mdk-stage1// card_info_t *card = root_card;
-//mdk-stage1// root_card = root_card->next;
-//mdk-stage1// free_card(card);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// while (root_func != NULL) {
-//mdk-stage1// card_info_t *card = root_func;
-//mdk-stage1// root_func = root_func->next;
-//mdk-stage1// free_card(card);
-//mdk-stage1// }
-//mdk-stage1// blank_card = NULL;
-//mdk-stage1//
-//mdk-stage1// while (root_mtd != NULL) {
-//mdk-stage1// mtd_ident_t *mtd = root_mtd;
-//mdk-stage1// root_mtd = root_mtd->next;
-//mdk-stage1// free_mtd(mtd);
-//mdk-stage1// }
-//mdk-stage1// default_mtd = NULL;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int execute(char *msg, char *cmd)
-//mdk-stage1// {
-//mdk-stage1// int ret;
-//mdk-stage1// FILE *f;
-//mdk-stage1// char line[256];
-//mdk-stage1//
-//mdk-stage1// syslog(LOG_INFO, "executing: '%s'", cmd);
-//mdk-stage1// strcat(cmd, " 2>&1");
-//mdk-stage1// f = popen(cmd, "r");
-//mdk-stage1// while (fgets(line, 255, f)) {
-//mdk-stage1// line[strlen(line)-1] = '\0';
-//mdk-stage1// syslog(LOG_INFO, "+ %s", line);
-//mdk-stage1// }
-//mdk-stage1// ret = pclose(f);
-//mdk-stage1// if (WIFEXITED(ret)) {
-//mdk-stage1// if (WEXITSTATUS(ret))
-//mdk-stage1// syslog(LOG_INFO, "%s exited with status %d",
-//mdk-stage1// msg, WEXITSTATUS(ret));
-//mdk-stage1// return WEXITSTATUS(ret);
-//mdk-stage1// } else
-//mdk-stage1// syslog(LOG_INFO, "%s exited on signal %d",
-//mdk-stage1// msg, WTERMSIG(ret));
-//mdk-stage1// return -1;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int execute_on_dev(char *action, char *class, char *dev)
-//mdk-stage1// {
-//mdk-stage1// /* Fixed length strings are ok here */
-//mdk-stage1// char msg[128], cmd[128];
-//mdk-stage1//
-//mdk-stage1// sprintf(msg, "%s cmd", action);
-//mdk-stage1// sprintf(cmd, "./%s %s %s", class, action, dev);
-//mdk-stage1// return execute(msg, cmd);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static int execute_on_all(char *cmd, char *class, int sn, int fn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// bind_info_t *bind;
-//mdk-stage1// int ret = 0;
-//mdk-stage1// for (bind = s->bind[fn]; bind != NULL; bind = bind->next)
-//mdk-stage1// if (bind->name[0] && (bind->name[2] != '#'))
-//mdk-stage1// ret |= execute_on_dev(cmd, class, bind->name);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1//
-//mdk-stage1// typedef struct module_list_t {
-//mdk-stage1// char *mod;
-//mdk-stage1// int usage;
-//mdk-stage1// struct module_list_t *next;
-//mdk-stage1// } module_list_t;
-//mdk-stage1//
-//mdk-stage1// static module_list_t *module_list = NULL;
-//mdk-stage1//
-//mdk-stage1// static int try_insmod(char *mod, char *opts)
-//mdk-stage1// {
-//mdk-stage1// char *cmd = malloc(strlen(mod) + strlen(modpath) +
-//mdk-stage1// (opts ? strlen(opts) : 0) + 30);
-//mdk-stage1// int ret;
-//mdk-stage1//
-//mdk-stage1// strcpy(cmd, "insmod ");
-//mdk-stage1// if (strchr(mod, '/') != NULL)
-//mdk-stage1// sprintf(cmd+7, "%s/%s.o", modpath, mod);
-//mdk-stage1// else
-//mdk-stage1// sprintf(cmd+7, "%s/pcmcia/%s.o", modpath, mod);
-//mdk-stage1// if (access(cmd+7, R_OK) != 0) {
-//mdk-stage1// syslog(LOG_INFO, "module %s not available", cmd+7);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return -1;
-//mdk-stage1// }
-//mdk-stage1// if (opts) {
-//mdk-stage1// strcat(cmd, " ");
-//mdk-stage1// strcat(cmd, opts);
-//mdk-stage1// }
-//mdk-stage1// ret = execute("insmod", cmd);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static int try_modprobe(char *mod, char *opts)
-//mdk-stage1// {
-//mdk-stage1// char *cmd = malloc(strlen(mod) + (opts ? strlen(opts) : 0) + 20);
-//mdk-stage1// char *s = strrchr(mod, '/');
-//mdk-stage1// int ret;
-//mdk-stage1//
-//mdk-stage1// sprintf(cmd, "modprobe %s", (s) ? s+1 : mod);
-//mdk-stage1// if (opts) {
-//mdk-stage1// strcat(cmd, " ");
-//mdk-stage1// strcat(cmd, opts);
-//mdk-stage1// }
-//mdk-stage1// ret = execute("modprobe", cmd);
-//mdk-stage1// free(cmd);
-//mdk-stage1// return ret;
-//mdk-stage1// }
-
-static void install_module(char *mod, char *opts)
-{
- my_insmod(mod, ANY_DRIVER_TYPE, opts);
-//mdk-stage1// module_list_t *ml;
-//mdk-stage1//
-//mdk-stage1// for (ml = module_list; ml != NULL; ml = ml->next)
-//mdk-stage1// if (strcmp(mod, ml->mod) == 0) break;
-//mdk-stage1// if (ml == NULL) {
-//mdk-stage1// ml = (module_list_t *)malloc(sizeof(struct module_list_t));
-//mdk-stage1// ml->mod = mod;
-//mdk-stage1// ml->usage = 0;
-//mdk-stage1// ml->next = module_list;
-//mdk-stage1// module_list = ml;
-//mdk-stage1// }
-//mdk-stage1// ml->usage++;
-//mdk-stage1// if (ml->usage != 1)
-//mdk-stage1// return;
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// if (access("/proc/bus/pccard/drivers", R_OK) == 0) {
-//mdk-stage1// FILE *f = fopen("/proc/bus/pccard/drivers", "r");
-//mdk-stage1// if (f) {
-//mdk-stage1// char a[61], s[33];
-//mdk-stage1// while (fgets(a, 60, f)) {
-//mdk-stage1// int is_kernel;
-//mdk-stage1// sscanf(a, "%s %d", s, &is_kernel);
-//mdk-stage1// if (strcmp(s, mod) != 0) continue;
-//mdk-stage1// /* If it isn't a module, we won't try to rmmod */
-//mdk-stage1// ml->usage += is_kernel;
-//mdk-stage1// fclose(f);
-//mdk-stage1// return;
-//mdk-stage1// }
-//mdk-stage1// fclose(f);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// if (do_modprobe) {
-//mdk-stage1// if (try_modprobe(mod, opts) != 0)
-//mdk-stage1// try_insmod(mod, opts);
-//mdk-stage1// } else {
-//mdk-stage1// if (try_insmod(mod, opts) != 0)
-//mdk-stage1// try_modprobe(mod, opts);
-//mdk-stage1// }
-}
-
-//mdk-stage1// static void remove_module(char *mod)
-//mdk-stage1// {
-//mdk-stage1// char *s, cmd[128];
-//mdk-stage1// module_list_t *ml;
-//mdk-stage1//
-//mdk-stage1// for (ml = module_list; ml != NULL; ml = ml->next)
-//mdk-stage1// if (strcmp(mod, ml->mod) == 0) break;
-//mdk-stage1// if (ml != NULL) {
-//mdk-stage1// ml->usage--;
-//mdk-stage1// if (ml->usage == 0) {
-//mdk-stage1// /* Strip off leading path names */
-//mdk-stage1// s = strrchr(mod, '/');
-//mdk-stage1// s = (s) ? s+1 : mod;
-//mdk-stage1// sprintf(cmd, do_modprobe ? "modprobe -r %s" : "rmmod %s", s);
-//mdk-stage1// execute(do_modprobe ? "modprobe" : "rmmod", cmd);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #endif /* __linux__ */
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// #ifdef __BEOS__
-//mdk-stage1//
-//mdk-stage1// #define install_module(a,b)
-//mdk-stage1// #define remove_module(a)
-//mdk-stage1//
-//mdk-stage1// static void republish_driver(char *mod)
-//mdk-stage1// {
-//mdk-stage1// int fd = open("/dev", O_RDWR);
-//mdk-stage1// write(fd, mod, strlen(mod));
-//mdk-stage1// close(fd);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #endif /* __BEOS__ */
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-
-static mtd_ident_t *lookup_mtd(region_info_t *region)
-{
- mtd_ident_t *mtd;
- int match = 0;
-
- for (mtd = root_mtd; mtd; mtd = mtd->next) {
- switch (mtd->mtd_type) {
- case JEDEC_MTD:
- if ((mtd->jedec_mfr == region->JedecMfr) &&
- (mtd->jedec_info == region->JedecInfo)) {
- match = 1;
- break;
- }
- case DTYPE_MTD:
- break;
- default:
- break;
- }
- if (match) break;
- }
- if (mtd)
- return mtd;
- else
- return default_mtd;
-}
-
-/*====================================================================*/
-
-static void bind_mtd(int sn)
-{
- socket_info_t *s = &socket[sn];
- region_info_t region;
- bind_info_t bind;
- mtd_info_t mtd_info;
- mtd_ident_t *mtd;
- int i, attr, ret, nr;
-
- nr = 0;
- for (attr = 0; attr < 2; attr++) {
- region.Attributes = attr;
- ret = ioctl(s->fd, DS_GET_FIRST_REGION, &region);
- while (ret == 0) {
- mtd = lookup_mtd(&region);
- if (mtd) {
- /* Have we seen this MTD before? */
- for (i = 0; i < nr; i++)
- if (s->mtd[i] == mtd) break;
- if (i == nr) {
- install_module(mtd->module, mtd->opts);
- s->mtd[nr] = mtd;
- mtd->refs++;
- nr++;
- }
- log_message("CM: %s memory region at 0x%x: %s",
- attr ? "Attribute" : "Common", region.CardOffset,
- mtd->name);
- /* Bind MTD to this region */
- strcpy(mtd_info.dev_info, s->mtd[i]->module);
- mtd_info.Attributes = region.Attributes;
- mtd_info.CardOffset = region.CardOffset;
- if (ioctl(s->fd, DS_BIND_MTD, &mtd_info) != 0) {
- log_message("CM: bind MTD '%s' to region at 0x%x failed: %m",
- (char *)mtd_info.dev_info, region.CardOffset);
- }
- }
- ret = ioctl(s->fd, DS_GET_NEXT_REGION, &region);
- }
- }
- s->mtd[nr] = NULL;
-
- /* Now bind each unique MTD as a normal client of this socket */
- for (i = 0; i < nr; i++) {
- strcpy(bind.dev_info, s->mtd[i]->module);
- bind.function = 0;
- if (ioctl(s->fd, DS_BIND_REQUEST, &bind) != 0)
- log_message("CM: bind MTD '%s' to socket %d failed: %m",
- (char *)bind.dev_info, sn);
- }
-}
-
-/*====================================================================*/
-
-static void update_cis(socket_info_t *s)
-{
- cisdump_t cis;
- FILE *f = fopen(s->card->cis_file, "r");
- if (f == NULL)
- log_message("CM: could not open '%s': %m", s->card->cis_file);
- else {
- cis.Length = fread(cis.Data, 1, CISTPL_MAX_CIS_SIZE, f);
- fclose(f);
- if (ioctl(s->fd, DS_REPLACE_CIS, &cis) != 0)
- log_message("CM: could not replace CIS: %m");
- }
-}
-
-/*====================================================================*/
-
-static void do_insert(int sn)
-{
- socket_info_t *s = &socket[sn];
- card_info_t *card;
- device_info_t **dev;
- bind_info_t *bind, **tail;
- int i, j, ret;
-
- /* Already identified? */
- if ((s->card != NULL) && (s->card != blank_card))
- return;
-
- log_message("CM: initializing socket %d", sn);
- card = lookup_card(sn);
- if (s->state & SOCKET_HOTPLUG) {
- write_stab();
- return;
- }
- /* Make sure we've learned something new before continuing */
- if (card == s->card)
- return;
- s->card = card;
- card->refs++;
- if (card->cis_file) update_cis(s);
-
- dev = card->device;
-
- /* Set up MTD's */
- for (i = 0; i < card->bindings; i++)
- if (dev[i]->needs_mtd)
- break;
- if (i < card->bindings)
- bind_mtd(sn);
-
-#ifdef __linux__
- /* Install kernel modules */
- for (i = 0; i < card->bindings; i++) {
- dev[i]->refs++;
- for (j = 0; j < dev[i]->modules; j++)
- install_module(dev[i]->module[j], dev[i]->opts[j]);
- }
-#endif
-
- /* Bind drivers by their dev_info identifiers */
- for (i = 0; i < card->bindings; i++) {
- bind = calloc(1, sizeof(bind_info_t));
- strcpy((char *)bind->dev_info, (char *)dev[i]->dev_info);
- if (strcmp(bind->dev_info, "cb_enabler") == 0)
- bind->function = BIND_FN_ALL;
- else
- bind->function = card->dev_fn[i];
- if (ioctl(s->fd, DS_BIND_REQUEST, bind) != 0) {
- if (errno == EBUSY) {
- log_message("CM: '%s' already bound to socket %d",
- (char *)bind->dev_info, sn);
- } else {
- log_message("CM: bind '%s' to socket %d failed: %m",
- (char *)bind->dev_info, sn);
- beep(BEEP_TIME, BEEP_ERR);
- write_stab();
- return;
- }
- }
-
-#ifdef __BEOS__
- republish_driver(dev[i]->module[0]);
-#endif
-
- for (ret = j = 0; j < 10; j++) {
- ret = ioctl(s->fd, DS_GET_DEVICE_INFO, bind);
- if ((ret == 0) || (errno != EAGAIN))
- break;
- usleep(100000);
- }
- if (ret != 0) {
- log_message("CM: get dev info on socket %d failed: %m",
- sn);
- ioctl(s->fd, DS_UNBIND_REQUEST, bind);
- beep(BEEP_TIME, BEEP_ERR);
- write_stab();
- return;
- }
- tail = &s->bind[i];
- while (ret == 0) {
- bind_info_t *old;
-#ifdef __linux__
- if ((strlen(bind->name) > 3) && (bind->name[2] == '#'))
- xlate_scsi_name(bind);
-#endif
- old = *tail = bind; tail = (bind_info_t **)&bind->next;
- bind = (bind_info_t *)malloc(sizeof(bind_info_t));
- memcpy(bind, old, sizeof(bind_info_t));
- ret = ioctl(s->fd, DS_GET_NEXT_DEVICE, bind);
- }
- *tail = NULL; free(bind);
- write_stab();
- }
-
-//mdk-stage1// /* Run "start" commands */
-//mdk-stage1// for (i = ret = 0; i < card->bindings; i++)
-//mdk-stage1// if (dev[i]->class)
-//mdk-stage1// ret |= execute_on_all("start", dev[i]->class, sn, i);
-//mdk-stage1// beep(BEEP_TIME, (ret) ? BEEP_ERR : BEEP_OK);
-
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int do_check(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return 0;
-//mdk-stage1//
-//mdk-stage1// /* Run "check" commands */
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("check", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// return CS_IN_USE;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// return 0;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_remove(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// bind_info_t *bind;
-//mdk-stage1// int i, j;
-//mdk-stage1//
-//mdk-stage1// if (verbose) syslog(LOG_INFO, "shutting down socket %d", sn);
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// goto done;
-//mdk-stage1//
-//mdk-stage1// /* Run "stop" commands */
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// execute_on_all("stop", dev[i]->class, sn, i);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /* unbind driver instances */
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (s->bind[i]) {
-//mdk-stage1// if (ioctl(s->fd, DS_UNBIND_REQUEST, s->bind[i]) != 0)
-//mdk-stage1// syslog(LOG_INFO, "unbind '%s' from socket %d failed: %m",
-//mdk-stage1// (char *)s->bind[i]->dev_info, sn);
-//mdk-stage1// while (s->bind[i]) {
-//mdk-stage1// bind = s->bind[i];
-//mdk-stage1// s->bind[i] = bind->next;
-//mdk-stage1// free(bind);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// for (i = 0; (s->mtd[i] != NULL); i++) {
-//mdk-stage1// bind_info_t b;
-//mdk-stage1// strcpy(b.dev_info, s->mtd[i]->module);
-//mdk-stage1// b.function = 0;
-//mdk-stage1// if (ioctl(s->fd, DS_UNBIND_REQUEST, &b) != 0)
-//mdk-stage1// syslog(LOG_INFO, "unbind MTD '%s' from socket %d failed: %m",
-//mdk-stage1// s->mtd[i]->module, sn);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /* remove kernel modules in inverse order */
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// for (j = dev[i]->modules-1; j >= 0; j--)
-//mdk-stage1// remove_module(dev[i]->module[j]);
-//mdk-stage1// free_device(dev[i]);
-//mdk-stage1// }
-//mdk-stage1// /* Remove any MTD's bound to this socket */
-//mdk-stage1// for (i = 0; (s->mtd[i] != NULL); i++) {
-//mdk-stage1// remove_module(s->mtd[i]->module);
-//mdk-stage1// free_mtd(s->mtd[i]);
-//mdk-stage1// s->mtd[i] = NULL;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// done:
-//mdk-stage1// beep(BEEP_TIME, BEEP_OK);
-//mdk-stage1// free_card(card);
-//mdk-stage1// s->card = NULL;
-//mdk-stage1// write_stab();
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_suspend(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return;
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("suspend", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void do_resume(int sn)
-//mdk-stage1// {
-//mdk-stage1// socket_info_t *s = &socket[sn];
-//mdk-stage1// card_info_t *card;
-//mdk-stage1// device_info_t **dev;
-//mdk-stage1// int i, ret;
-//mdk-stage1//
-//mdk-stage1// card = s->card;
-//mdk-stage1// if (card == NULL)
-//mdk-stage1// return;
-//mdk-stage1// dev = card->device;
-//mdk-stage1// for (i = 0; i < card->bindings; i++) {
-//mdk-stage1// if (dev[i]->class) {
-//mdk-stage1// ret = execute_on_all("resume", dev[i]->class, sn, i);
-//mdk-stage1// if (ret != 0)
-//mdk-stage1// beep(BEEP_TIME, BEEP_ERR);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-
-/*====================================================================*/
-
-static void wait_for_pending(void)
-{
- cs_status_t status;
- int i;
- status.Function = 0;
- for (;;) {
- usleep(100000);
- for (i = 0; i < sockets; i++)
- if ((ioctl(socket[i].fd, DS_GET_STATUS, &status) == 0) &&
- (status.CardState & CS_EVENT_CARD_INSERTION))
- break;
- if (i == sockets) break;
- }
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static void free_resources(void)
-//mdk-stage1// {
-//mdk-stage1// adjust_list_t *al;
-//mdk-stage1// int fd = socket[0].fd;
-//mdk-stage1//
-//mdk-stage1// for (al = root_adjust; al; al = al->next) {
-//mdk-stage1// if (al->adj.Action == ADD_MANAGED_RESOURCE) {
-//mdk-stage1// al->adj.Action = REMOVE_MANAGED_RESOURCE;
-//mdk-stage1// ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
-//mdk-stage1// } else if ((al->adj.Action == REMOVE_MANAGED_RESOURCE) &&
-//mdk-stage1// (al->adj.Resource == RES_IRQ)) {
-//mdk-stage1// al->adj.Action = ADD_MANAGED_RESOURCE;
-//mdk-stage1// ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// }
-
-/*====================================================================*/
-
-static void adjust_resources(void)
-{
- adjust_list_t *al;
- int ret;
- char tmp[64];
- int fd = socket[0].fd;
-
- for (al = root_adjust; al; al = al->next) {
- ret = ioctl(fd, DS_ADJUST_RESOURCE_INFO, &al->adj);
- if (ret != 0) {
- switch (al->adj.Resource) {
- case RES_MEMORY_RANGE:
- sprintf(tmp, "memory %p-%p",
- (char *)al->adj.resource.memory.Base,
- (char *)al->adj.resource.memory.Base +
- al->adj.resource.memory.Size - 1);
- break;
- case RES_IO_RANGE:
- sprintf(tmp, "IO ports %#x-%#x",
- al->adj.resource.io.BasePort,
- al->adj.resource.io.BasePort +
- al->adj.resource.io.NumPorts - 1);
- break;
- case RES_IRQ:
- sprintf(tmp, "irq %u", al->adj.resource.irq.IRQ);
- break;
- }
- log_message("CM: could not adjust resource: %s: %m", tmp);
- }
- }
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// static int cleanup_files = 0;
-//mdk-stage1//
-//mdk-stage1// static void fork_now(void)
-//mdk-stage1// {
-//mdk-stage1// int ret;
-//mdk-stage1// if ((ret = fork()) > 0) {
-//mdk-stage1// cleanup_files = 0;
-//mdk-stage1// exit(0);
-//mdk-stage1// }
-//mdk-stage1// if (ret == -1)
-//mdk-stage1// syslog(LOG_ERR, "forking: %m");
-//mdk-stage1// if (setsid() < 0)
-//mdk-stage1// syslog(LOG_ERR, "detaching from tty: %m");
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void done(void)
-//mdk-stage1// {
-//mdk-stage1// syslog(LOG_INFO, "exiting");
-//mdk-stage1// if (cleanup_files) {
-//mdk-stage1// unlink(pidfile);
-//mdk-stage1// unlink(stabfile);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// /* most recent signal */
-//mdk-stage1// static int caught_signal = 0;
-//mdk-stage1//
-//mdk-stage1// static void catch_signal(int sig)
-//mdk-stage1// {
-//mdk-stage1// caught_signal = sig;
-//mdk-stage1// if (signal(sig, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_INFO, "signal(%d): %m", sig);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// static void handle_signal(void)
-//mdk-stage1// {
-//mdk-stage1// int i;
-//mdk-stage1// switch (caught_signal) {
-//mdk-stage1// case SIGTERM:
-//mdk-stage1// case SIGINT:
-//mdk-stage1// for (i = 0; i < sockets; i++)
-//mdk-stage1// if ((socket[i].state & SOCKET_PRESENT) &&
-//mdk-stage1// (do_check(i) == 0)) do_remove(i);
-//mdk-stage1// free_resources();
-//mdk-stage1// exit(0);
-//mdk-stage1// break;
-//mdk-stage1// case SIGHUP:
-//mdk-stage1// free_resources();
-//mdk-stage1// free_config();
-//mdk-stage1// syslog(LOG_INFO, "re-loading config file");
-//mdk-stage1// load_config();
-//mdk-stage1// adjust_resources();
-//mdk-stage1// break;
-//mdk-stage1// #ifdef SIGPWR
-//mdk-stage1// case SIGPWR:
-//mdk-stage1// break;
-//mdk-stage1// #endif
-//mdk-stage1// }
-//mdk-stage1// }
-
-/*====================================================================*/
-
-static int init_sockets(void)
-{
- int fd, i;
- servinfo_t serv;
-
-#ifdef __linux__
- major = lookup_dev("pcmcia");
- if (major < 0) {
- if (major == -ENODEV)
- log_message("CM: no pcmcia driver in /proc/devices");
- else
- log_message("CM: could not open /proc/devices: %m");
- return -1;
- }
-#endif
- for (fd = -1, i = 0; i < MAX_SOCKS; i++) {
- fd = open_sock(i, S_IFCHR|S_IREAD|S_IWRITE);
- if (fd < 0) break;
- socket[i].fd = fd;
- socket[i].state = 0;
- }
- if ((fd < 0) && (errno != ENODEV) && (errno != ENOENT))
- log_message("CM: open_sock(socket %d) failed: %m", i);
- sockets = i;
- if (sockets == 0) {
- log_message("CM: no sockets found!");
- return -1;
- } else
- log_message("CM: watching %d sockets", sockets);
-
- if (ioctl(socket[0].fd, DS_GET_CARD_SERVICES_INFO, &serv) == 0) {
- if (serv.Revision != CS_RELEASE_CODE)
- log_message("CM: warning, Card Services release does not match kernel (generally harmless)");
- } else {
- log_message("CM: could not get CS revision info!");
- return -1;
- }
- adjust_resources();
- return 0;
-}
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// int main(int argc, char *argv[])
-//mdk-stage1// {
-//mdk-stage1// int optch, errflg;
-//mdk-stage1// int i, max_fd, ret, event, pass;
-//mdk-stage1// int delay_fork = 0;
-//mdk-stage1// struct timeval tv;
-//mdk-stage1// fd_set fds;
-//mdk-stage1//
-//mdk-stage1// if (access("/var/lib/pcmcia", R_OK) == 0) {
-//mdk-stage1// stabfile = "/var/lib/pcmcia/stab";
-//mdk-stage1// } else {
-//mdk-stage1// stabfile = "/var/run/stab";
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// errflg = 0;
-//mdk-stage1// while ((optch = getopt(argc, argv, "Vqdvofc:m:p:s:")) != -1) {
-//mdk-stage1// switch (optch) {
-//mdk-stage1// case 'V':
-//mdk-stage1// fprintf(stderr, "cardmgr version " CS_RELEASE "\n");
-//mdk-stage1// return 0;
-//mdk-stage1// break;
-//mdk-stage1// case 'q':
-//mdk-stage1// be_quiet = 1; break;
-//mdk-stage1// case 'v':
-//mdk-stage1// verbose = 1; break;
-//mdk-stage1// case 'o':
-//mdk-stage1// one_pass = 1; break;
-//mdk-stage1// case 'f':
-//mdk-stage1// delay_fork = 1; break;
-//mdk-stage1// case 'c':
-//mdk-stage1// configpath = strdup(optarg); break;
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// case 'd':
-//mdk-stage1// do_modprobe = 1; break;
-//mdk-stage1// case 'm':
-//mdk-stage1// modpath = strdup(optarg); break;
-//mdk-stage1// #endif
-//mdk-stage1// case 'p':
-//mdk-stage1// pidfile = strdup(optarg); break;
-//mdk-stage1// case 's':
-//mdk-stage1// stabfile = strdup(optarg); break;
-//mdk-stage1// default:
-//mdk-stage1// errflg = 1; break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (errflg || (optind < argc)) {
-//mdk-stage1// fprintf(stderr, "usage: %s [-V] [-q] [-v] [-d] [-o] [-f] "
-//mdk-stage1// "[-c configpath] [-m modpath]\n "
-//mdk-stage1// "[-p pidfile] [-s stabfile]\n", argv[0]);
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #ifdef DEBUG
-//mdk-stage1// openlog("cardmgr", LOG_PID|LOG_PERROR, LOG_DAEMON);
-//mdk-stage1// #else
-//mdk-stage1// openlog("cardmgr", LOG_PID|LOG_CONS, LOG_DAEMON);
-//mdk-stage1// close(0); close(1); close(2);
-//mdk-stage1// if (!delay_fork && !one_pass)
-//mdk-stage1// fork_now();
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// syslog(LOG_INFO, "starting, version is " CS_RELEASE);
-//mdk-stage1// atexit(&done);
-//mdk-stage1// putenv("PATH=/bin:/sbin:/usr/bin:/usr/sbin");
-//mdk-stage1// if (verbose)
-//mdk-stage1// putenv("VERBOSE=1");
-//mdk-stage1//
-//mdk-stage1// #ifdef __linux__
-//mdk-stage1// if (modpath == NULL) {
-//mdk-stage1// if (access("/lib/modules/preferred", X_OK) == 0)
-//mdk-stage1// modpath = "/lib/modules/preferred";
-//mdk-stage1// else {
-//mdk-stage1// struct utsname utsname;
-//mdk-stage1// if (uname(&utsname) != 0) {
-//mdk-stage1// syslog(LOG_ERR, "uname(): %m");
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1// modpath = (char *)malloc(strlen(utsname.release)+14);
-//mdk-stage1// sprintf(modpath, "/lib/modules/%s", utsname.release);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (access(modpath, X_OK) != 0)
-//mdk-stage1// syslog(LOG_INFO, "cannot access %s: %m", modpath);
-//mdk-stage1// /* We default to using modprobe if it is available */
-//mdk-stage1// do_modprobe |= (access("/sbin/modprobe", X_OK) == 0);
-//mdk-stage1// #endif /* __linux__ */
-//mdk-stage1//
-//mdk-stage1// load_config();
-//mdk-stage1//
-//mdk-stage1// if (init_sockets() != 0)
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1//
-//mdk-stage1// /* If we've gotten this far, then clean up pid and stab at exit */
-//mdk-stage1// write_pid();
-//mdk-stage1// write_stab();
-//mdk-stage1// cleanup_files = 1;
-//mdk-stage1//
-//mdk-stage1// if (signal(SIGHUP, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGHUP): %m");
-//mdk-stage1// if (signal(SIGTERM, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGTERM): %m");
-//mdk-stage1// if (signal(SIGINT, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGINT): %m");
-//mdk-stage1// #ifdef SIGPWR
-//mdk-stage1// if (signal(SIGPWR, catch_signal) == SIG_ERR)
-//mdk-stage1// syslog(LOG_ERR, "signal(SIGPWR): %m");
-//mdk-stage1// #endif
-//mdk-stage1//
-//mdk-stage1// for (i = max_fd = 0; i < sockets; i++)
-//mdk-stage1// max_fd = (socket[i].fd > max_fd) ? socket[i].fd : max_fd;
-//mdk-stage1//
-//mdk-stage1// /* First select() call: poll, don't wait */
-//mdk-stage1// tv.tv_sec = tv.tv_usec = 0;
-//mdk-stage1//
-//mdk-stage1// /* Wait for sockets in setup-pending state to settle */
-//mdk-stage1// if (one_pass || delay_fork)
-//mdk-stage1// wait_for_pending();
-//mdk-stage1//
-//mdk-stage1// for (pass = 0; ; pass++) {
-//mdk-stage1// FD_ZERO(&fds);
-//mdk-stage1// for (i = 0; i < sockets; i++)
-//mdk-stage1// FD_SET(socket[i].fd, &fds);
-//mdk-stage1//
-//mdk-stage1// while ((ret = select(max_fd+1, &fds, NULL, NULL,
-//mdk-stage1// ((pass == 0) ? &tv : NULL))) < 0) {
-//mdk-stage1// if (errno == EINTR) {
-//mdk-stage1// handle_signal();
-//mdk-stage1// } else {
-//mdk-stage1// syslog(LOG_ERR, "select(): %m");
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// for (i = 0; i < sockets; i++) {
-//mdk-stage1// if (!FD_ISSET(socket[i].fd, &fds))
-//mdk-stage1// continue;
-//mdk-stage1// ret = read(socket[i].fd, &event, 4);
-//mdk-stage1// if ((ret == -1) && (errno != EAGAIN))
-//mdk-stage1// syslog(LOG_INFO, "read(%d): %m\n", i);
-//mdk-stage1// if (ret != 4)
-//mdk-stage1// continue;
-//mdk-stage1//
-//mdk-stage1// switch (event) {
-//mdk-stage1// case CS_EVENT_CARD_REMOVAL:
-//mdk-stage1// socket[i].state = 0;
-//mdk-stage1// do_remove(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_EJECTION_REQUEST:
-//mdk-stage1// ret = do_check(i);
-//mdk-stage1// if (ret == 0) {
-//mdk-stage1// socket[i].state = 0;
-//mdk-stage1// do_remove(i);
-//mdk-stage1// }
-//mdk-stage1// write(socket[i].fd, &ret, 4);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_CARD_INSERTION:
-//mdk-stage1// case CS_EVENT_INSERTION_REQUEST:
-//mdk-stage1// socket[i].state |= SOCKET_PRESENT;
-//mdk-stage1// case CS_EVENT_CARD_RESET:
-//mdk-stage1// socket[i].state |= SOCKET_READY;
-//mdk-stage1// do_insert(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_RESET_PHYSICAL:
-//mdk-stage1// socket[i].state &= ~SOCKET_READY;
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_PM_SUSPEND:
-//mdk-stage1// do_suspend(i);
-//mdk-stage1// break;
-//mdk-stage1// case CS_EVENT_PM_RESUME:
-//mdk-stage1// do_resume(i);
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// if (one_pass)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// if (delay_fork) {
-//mdk-stage1// fork_now();
-//mdk-stage1// write_pid();
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// } /* repeat */
-//mdk-stage1// return 0;
-//mdk-stage1// }
-
-
-
-static void cardmgr_fail(void)
-{
- log_message("CM: cardmgr: failed");
-}
-
-int cardmgr_call(void)
-{
- int i, max_fd, ret, event;
- struct timeval tv;
- fd_set fds;
-
- stabfile = "/var/run/stab";
-
- log_message("CM: cardmgr/hacked starting, version is " CS_RELEASE);
-
- if (load_config()) {
- cardmgr_fail();
- return -1;
- }
-
- if (init_sockets()) {
- cardmgr_fail();
- return -1;
- }
-
- /* If we've gotten this far, then clean up pid and stab at exit */
- write_stab();
-
- for (i = max_fd = 0; i < sockets; i++)
- max_fd = (socket[i].fd > max_fd) ? socket[i].fd : max_fd;
-
- /* First select() call: poll, don't wait */
- tv.tv_sec = tv.tv_usec = 0;
-
- /* Wait for sockets in setup-pending state to settle */
- wait_for_pending();
-
-
- FD_ZERO(&fds);
- for (i = 0; i < sockets; i++)
- FD_SET(socket[i].fd, &fds);
-
- if (select(max_fd+1, &fds, NULL, NULL, &tv) < 0) {
- log_perror("CM: select fails");
- return -1;
- }
-
- for (i = 0; i < sockets; i++) {
- if (!FD_ISSET(socket[i].fd, &fds))
- continue;
- ret = read(socket[i].fd, &event, 4);
- if ((ret == -1) && (errno != EAGAIN))
- log_message("CM: read(%d): %m", i);
- if (ret != 4)
- continue;
-
- switch (event) {
- case CS_EVENT_CARD_INSERTION:
- case CS_EVENT_INSERTION_REQUEST:
- socket[i].state |= SOCKET_PRESENT;
- case CS_EVENT_CARD_RESET:
- socket[i].state |= SOCKET_READY;
- do_insert(i);
- break;
- case CS_EVENT_RESET_PHYSICAL:
- socket[i].state &= ~SOCKET_READY;
- break;
- }
-
- }
-
- return 0;
-
-}
diff --git a/mdk-stage1/pcmcia_/cardmgr.h b/mdk-stage1/pcmcia_/cardmgr.h
deleted file mode 100644
index 1d002e972..000000000
--- a/mdk-stage1/pcmcia_/cardmgr.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * cardmgr.h 1.37 2001/08/24 12:19:20
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#define MAX_SOCKS 8
-#define MAX_BINDINGS 4
-#define MAX_MODULES 4
-
-typedef struct adjust_list_t {
- adjust_t adj;
- struct adjust_list_t *next;
-} adjust_list_t;
-
-typedef struct func_ident_t {
- u_char funcid;
-} func_ident_t;
-
-typedef struct manfid_ident_t {
- u_short manf;
- u_short card;
-} manfid_ident_t;
-
-typedef struct vers_ident_t {
- int ns;
- char *pi[4];
-} vers_ident_t;
-
-typedef struct tuple_ident_t {
- cisdata_t code;
- long ofs;
- char *info;
-} tuple_ident_t;
-
-typedef struct device_info_t {
- dev_info_t dev_info;
- int needs_mtd;
- int modules;
- char *module[MAX_MODULES];
- char *opts[MAX_MODULES];
- char *class;
- int refs;
- struct device_info_t *next;
-} device_info_t;
-
-#define VERS_1_IDENT 0x0001
-#define MANFID_IDENT 0x0002
-#define TUPLE_IDENT 0x0010
-#define FUNC_IDENT 0x0020
-#define BLANK_IDENT 0x0040
-#define PCI_IDENT 0x0080
-#define EXCL_IDENT 0x00f0
-
-typedef struct card_info_t {
- char *name;
- int ident_type;
- union {
- vers_ident_t vers;
- tuple_ident_t tuple;
- func_ident_t func;
- } id;
- manfid_ident_t manfid;
- int bindings;
- device_info_t *device[MAX_BINDINGS];
- int dev_fn[MAX_BINDINGS];
- char *cis_file;
- int refs;
- struct card_info_t *next;
-} card_info_t;
-
-typedef struct mtd_ident_t {
- char *name;
- enum {
- JEDEC_MTD=1, DTYPE_MTD, DEFAULT_MTD
- } mtd_type;
- int dtype, jedec_mfr, jedec_info;
- char *module, *opts;
- int refs;
- struct mtd_ident_t *next;
-} mtd_ident_t;
-
-extern adjust_list_t *root_adjust;
-extern device_info_t *root_device;
-extern card_info_t *blank_card;
-extern card_info_t *root_card, *root_func;
-extern mtd_ident_t *root_mtd, *default_mtd;
-
-int parse_configfile(char *fn);
diff --git a/mdk-stage1/pcmcia_/cirrus.h b/mdk-stage1/pcmcia_/cirrus.h
deleted file mode 100644
index 49d7fa2de..000000000
--- a/mdk-stage1/pcmcia_/cirrus.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * cirrus.h 1.10 2001/08/24 12:15:33
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CIRRUS_H
-#define _LINUX_CIRRUS_H
-
-#ifndef PCI_VENDOR_ID_CIRRUS
-#define PCI_VENDOR_ID_CIRRUS 0x1013
-#endif
-#ifndef PCI_DEVICE_ID_CIRRUS_6729
-#define PCI_DEVICE_ID_CIRRUS_6729 0x1100
-#endif
-#ifndef PCI_DEVICE_ID_CIRRUS_6832
-#define PCI_DEVICE_ID_CIRRUS_6832 0x1110
-#endif
-
-#define PD67_MISC_CTL_1 0x16 /* Misc control 1 */
-#define PD67_FIFO_CTL 0x17 /* FIFO control */
-#define PD67_MISC_CTL_2 0x1E /* Misc control 2 */
-#define PD67_CHIP_INFO 0x1f /* Chip information */
-#define PD67_ATA_CTL 0x026 /* 6730: ATA control */
-#define PD67_EXT_INDEX 0x2e /* Extension index */
-#define PD67_EXT_DATA 0x2f /* Extension data */
-
-#define pd67_ext_get(s, r) \
- (i365_set(s, PD67_EXT_INDEX, r), i365_get(s, PD67_EXT_DATA))
-#define pd67_ext_set(s, r, v) \
- (i365_set(s, PD67_EXT_INDEX, r), i365_set(s, PD67_EXT_DATA, v))
-
-/* PD6722 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD67_DATA_MASK0 0x01 /* Data mask 0 */
-#define PD67_DATA_MASK1 0x02 /* Data mask 1 */
-#define PD67_DMA_CTL 0x03 /* DMA control */
-
-/* PD6730 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD67_EXT_CTL_1 0x03 /* Extension control 1 */
-#define PD67_MEM_PAGE(n) ((n)+5) /* PCI window bits 31:24 */
-#define PD67_EXTERN_DATA 0x0a
-#define PD67_MISC_CTL_3 0x25
-#define PD67_SMB_PWR_CTL 0x26
-
-/* I/O window address offset */
-#define PD67_IO_OFF(w) (0x36+((w)<<1))
-
-/* Timing register sets */
-#define PD67_TIME_SETUP(n) (0x3a + 3*(n))
-#define PD67_TIME_CMD(n) (0x3b + 3*(n))
-#define PD67_TIME_RECOV(n) (0x3c + 3*(n))
-
-/* Flags for PD67_MISC_CTL_1 */
-#define PD67_MC1_5V_DET 0x01 /* 5v detect */
-#define PD67_MC1_MEDIA_ENA 0x01 /* 6730: Multimedia enable */
-#define PD67_MC1_VCC_3V 0x02 /* 3.3v Vcc */
-#define PD67_MC1_PULSE_MGMT 0x04
-#define PD67_MC1_PULSE_IRQ 0x08
-#define PD67_MC1_SPKR_ENA 0x10
-#define PD67_MC1_INPACK_ENA 0x80
-
-/* Flags for PD67_FIFO_CTL */
-#define PD67_FIFO_EMPTY 0x80
-
-/* Flags for PD67_MISC_CTL_2 */
-#define PD67_MC2_FREQ_BYPASS 0x01
-#define PD67_MC2_DYNAMIC_MODE 0x02
-#define PD67_MC2_SUSPEND 0x04
-#define PD67_MC2_5V_CORE 0x08
-#define PD67_MC2_LED_ENA 0x10 /* IRQ 12 is LED enable */
-#define PD67_MC2_FAST_PCI 0x10 /* 6729: PCI bus > 25 MHz */
-#define PD67_MC2_3STATE_BIT7 0x20 /* Floppy change bit */
-#define PD67_MC2_DMA_MODE 0x40
-#define PD67_MC2_IRQ15_RI 0x80 /* IRQ 15 is ring enable */
-
-/* Flags for PD67_CHIP_INFO */
-#define PD67_INFO_SLOTS 0x20 /* 0 = 1 slot, 1 = 2 slots */
-#define PD67_INFO_CHIP_ID 0xc0
-#define PD67_INFO_REV 0x1c
-
-/* Fields in PD67_TIME_* registers */
-#define PD67_TIME_SCALE 0xc0
-#define PD67_TIME_SCALE_1 0x00
-#define PD67_TIME_SCALE_16 0x40
-#define PD67_TIME_SCALE_256 0x80
-#define PD67_TIME_SCALE_4096 0xc0
-#define PD67_TIME_MULT 0x3f
-
-/* Fields in PD67_DMA_CTL */
-#define PD67_DMA_MODE 0xc0
-#define PD67_DMA_OFF 0x00
-#define PD67_DMA_DREQ_INPACK 0x40
-#define PD67_DMA_DREQ_WP 0x80
-#define PD67_DMA_DREQ_BVD2 0xc0
-#define PD67_DMA_PULLUP 0x20 /* Disable socket pullups? */
-
-/* Fields in PD67_EXT_CTL_1 */
-#define PD67_EC1_VCC_PWR_LOCK 0x01
-#define PD67_EC1_AUTO_PWR_CLEAR 0x02
-#define PD67_EC1_LED_ENA 0x04
-#define PD67_EC1_INV_CARD_IRQ 0x08
-#define PD67_EC1_INV_MGMT_IRQ 0x10
-#define PD67_EC1_PULLUP_CTL 0x20
-
-/* Fields in PD67_EXTERN_DATA */
-#define PD67_EXD_VS1(s) (0x01 << ((s)<<1))
-#define PD67_EXD_VS2(s) (0x02 << ((s)<<1))
-
-/* Fields in PD67_MISC_CTL_3 */
-#define PD67_MC3_IRQ_MASK 0x03
-#define PD67_MC3_IRQ_PCPCI 0x00
-#define PD67_MC3_IRQ_EXTERN 0x01
-#define PD67_MC3_IRQ_PCIWAY 0x02
-#define PD67_MC3_IRQ_PCI 0x03
-#define PD67_MC3_PWR_MASK 0x0c
-#define PD67_MC3_PWR_SERIAL 0x00
-#define PD67_MC3_PWR_TI2202 0x08
-#define PD67_MC3_PWR_SMB 0x0c
-
-/* Register definitions for Cirrus PD6832 PCI-to-CardBus bridge */
-
-/* PD6832 extension registers -- indexed in PD67_EXT_INDEX */
-#define PD68_EXT_CTL_2 0x0b
-#define PD68_PCI_SPACE 0x22
-#define PD68_PCCARD_SPACE 0x23
-#define PD68_WINDOW_TYPE 0x24
-#define PD68_EXT_CSC 0x2e
-#define PD68_MISC_CTL_4 0x2f
-#define PD68_MISC_CTL_5 0x30
-#define PD68_MISC_CTL_6 0x31
-
-/* Extra flags in PD67_MISC_CTL_3 */
-#define PD68_MC3_HW_SUSP 0x10
-#define PD68_MC3_MM_EXPAND 0x40
-#define PD68_MC3_MM_ARM 0x80
-
-/* Bridge Control Register */
-#define PD6832_BCR_MGMT_IRQ_ENA 0x0800
-
-/* Socket Number Register */
-#define PD6832_SOCKET_NUMBER 0x004c /* 8 bit */
-
-/* Data structure for tracking vendor-specific state */
-typedef struct cirrus_state_t {
- u_char misc1; /* PD67_MISC_CTL_1 */
- u_char misc2; /* PD67_MISC_CTL_2 */
- u_char ectl1; /* PD67_EXT_CTL_1 */
- u_char timer[6]; /* PD67_TIME_* */
-} cirrus_state_t;
-
-#define CIRRUS_PCIC_ID \
- IS_PD6729, IS_PD6730, IS_PD6832
-
-#define CIRRUS_PCIC_INFO \
- { "Cirrus PD6729", IS_CIRRUS|IS_PCI, ID(CIRRUS, 6729) }, \
- { "Cirrus PD6730", IS_CIRRUS|IS_PCI, PCI_VENDOR_ID_CIRRUS, -1 }, \
- { "Cirrus PD6832", IS_CIRRUS|IS_CARDBUS, ID(CIRRUS, 6832) }
-
-#endif /* _LINUX_CIRRUS_H */
diff --git a/mdk-stage1/pcmcia_/cs.h b/mdk-stage1/pcmcia_/cs.h
deleted file mode 100644
index dea6937eb..000000000
--- a/mdk-stage1/pcmcia_/cs.h
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * cs.h 1.73 2001/08/24 12:16:12
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CS_H
-#define _LINUX_CS_H
-
-/* For AccessConfigurationRegister */
-typedef struct conf_reg_t {
- u_char Function;
- u_int Action;
- off_t Offset;
- u_int Value;
-} conf_reg_t;
-
-/* Actions */
-#define CS_READ 1
-#define CS_WRITE 2
-
-/* for AdjustResourceInfo */
-typedef struct adjust_t {
- u_int Action;
- u_int Resource;
- u_int Attributes;
- union {
- struct memory {
- u_long Base;
- u_long Size;
- } memory;
- struct io {
- ioaddr_t BasePort;
- ioaddr_t NumPorts;
- u_int IOAddrLines;
- } io;
- struct irq {
- u_int IRQ;
- } irq;
- } resource;
-} adjust_t;
-
-/* Action field */
-#define REMOVE_MANAGED_RESOURCE 1
-#define ADD_MANAGED_RESOURCE 2
-#define GET_FIRST_MANAGED_RESOURCE 3
-#define GET_NEXT_MANAGED_RESOURCE 4
-/* Resource field */
-#define RES_MEMORY_RANGE 1
-#define RES_IO_RANGE 2
-#define RES_IRQ 3
-/* Attribute field */
-#define RES_IRQ_TYPE 0x03
-#define RES_IRQ_TYPE_EXCLUSIVE 0
-#define RES_IRQ_TYPE_TIME 1
-#define RES_IRQ_TYPE_DYNAMIC 2
-#define RES_IRQ_CSC 0x04
-#define RES_SHARED 0x08
-#define RES_RESERVED 0x10
-#define RES_ALLOCATED 0x20
-#define RES_REMOVED 0x40
-
-typedef struct servinfo_t {
- char Signature[2];
- u_int Count;
- u_int Revision;
- u_int CSLevel;
- char *VendorString;
-} servinfo_t;
-
-typedef struct event_callback_args_t {
- client_handle_t client_handle;
- void *info;
- void *mtdrequest;
- void *buffer;
- void *misc;
- void *client_data;
- struct bus_operations *bus;
-} event_callback_args_t;
-
-/* for GetConfigurationInfo */
-typedef struct config_info_t {
- u_char Function;
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
- u_int IntType;
- u_int ConfigBase;
- u_char Status, Pin, Copy, Option, ExtStatus;
- u_int Present;
- u_int CardValues;
- u_int AssignedIRQ;
- u_int IRQAttributes;
- ioaddr_t BasePort1;
- ioaddr_t NumPorts1;
- u_int Attributes1;
- ioaddr_t BasePort2;
- ioaddr_t NumPorts2;
- u_int Attributes2;
- u_int IOAddrLines;
-} config_info_t;
-
-/* For CardValues field */
-#define CV_OPTION_VALUE 0x01
-#define CV_STATUS_VALUE 0x02
-#define CV_PIN_REPLACEMENT 0x04
-#define CV_COPY_VALUE 0x08
-#define CV_EXT_STATUS 0x10
-
-/* For GetFirst/NextClient */
-typedef struct client_req_t {
- socket_t Socket;
- u_int Attributes;
-} client_req_t;
-
-#define CLIENT_THIS_SOCKET 0x01
-
-/* For RegisterClient */
-typedef struct client_reg_t {
- dev_info_t *dev_info;
- u_int Attributes;
- u_int EventMask;
- int (*event_handler)(event_t event, int priority,
- event_callback_args_t *);
- event_callback_args_t event_callback_args;
- u_int Version;
-} client_reg_t;
-
-/* ModifyConfiguration */
-typedef struct modconf_t {
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
-} modconf_t;
-
-/* Attributes for ModifyConfiguration */
-#define CONF_IRQ_CHANGE_VALID 0x100
-#define CONF_VCC_CHANGE_VALID 0x200
-#define CONF_VPP1_CHANGE_VALID 0x400
-#define CONF_VPP2_CHANGE_VALID 0x800
-
-/* For RequestConfiguration */
-typedef struct config_req_t {
- u_int Attributes;
- u_int Vcc, Vpp1, Vpp2;
- u_int IntType;
- u_int ConfigBase;
- u_char Status, Pin, Copy, ExtStatus;
- u_char ConfigIndex;
- u_int Present;
-} config_req_t;
-
-/* Attributes for RequestConfiguration */
-#define CONF_ENABLE_IRQ 0x01
-#define CONF_ENABLE_DMA 0x02
-#define CONF_ENABLE_SPKR 0x04
-#define CONF_VALID_CLIENT 0x100
-
-/* IntType field */
-#define INT_MEMORY 0x01
-#define INT_MEMORY_AND_IO 0x02
-#define INT_CARDBUS 0x04
-#define INT_ZOOMED_VIDEO 0x08
-
-/* For RequestIO and ReleaseIO */
-typedef struct io_req_t {
- ioaddr_t BasePort1;
- ioaddr_t NumPorts1;
- u_int Attributes1;
- ioaddr_t BasePort2;
- ioaddr_t NumPorts2;
- u_int Attributes2;
- u_int IOAddrLines;
-} io_req_t;
-
-/* Attributes for RequestIO and ReleaseIO */
-#define IO_SHARED 0x01
-#define IO_FIRST_SHARED 0x02
-#define IO_FORCE_ALIAS_ACCESS 0x04
-#define IO_DATA_PATH_WIDTH 0x18
-#define IO_DATA_PATH_WIDTH_8 0x00
-#define IO_DATA_PATH_WIDTH_16 0x08
-#define IO_DATA_PATH_WIDTH_AUTO 0x10
-
-/* For RequestIRQ and ReleaseIRQ */
-typedef struct irq_req_t {
- u_int Attributes;
- u_int AssignedIRQ;
- u_int IRQInfo1, IRQInfo2;
- void *Handler;
- void *Instance;
-} irq_req_t;
-
-/* Attributes for RequestIRQ and ReleaseIRQ */
-#define IRQ_TYPE 0x03
-#define IRQ_TYPE_EXCLUSIVE 0x00
-#define IRQ_TYPE_TIME 0x01
-#define IRQ_TYPE_DYNAMIC_SHARING 0x02
-#define IRQ_FORCED_PULSE 0x04
-#define IRQ_FIRST_SHARED 0x08
-#define IRQ_HANDLE_PRESENT 0x10
-#define IRQ_PULSE_ALLOCATED 0x100
-
-/* Bits in IRQInfo1 field */
-#define IRQ_MASK 0x0f
-#define IRQ_NMI_ID 0x01
-#define IRQ_IOCK_ID 0x02
-#define IRQ_BERR_ID 0x04
-#define IRQ_VEND_ID 0x08
-#define IRQ_INFO2_VALID 0x10
-#define IRQ_LEVEL_ID 0x20
-#define IRQ_PULSE_ID 0x40
-#define IRQ_SHARE_ID 0x80
-
-typedef struct eventmask_t {
- u_int Attributes;
- u_int EventMask;
-} eventmask_t;
-
-#define CONF_EVENT_MASK_VALID 0x01
-
-/* Configuration registers present */
-#define PRESENT_OPTION 0x001
-#define PRESENT_STATUS 0x002
-#define PRESENT_PIN_REPLACE 0x004
-#define PRESENT_COPY 0x008
-#define PRESENT_EXT_STATUS 0x010
-#define PRESENT_IOBASE_0 0x020
-#define PRESENT_IOBASE_1 0x040
-#define PRESENT_IOBASE_2 0x080
-#define PRESENT_IOBASE_3 0x100
-#define PRESENT_IOSIZE 0x200
-
-/* For GetMemPage, MapMemPage */
-typedef struct memreq_t {
- u_int CardOffset;
- page_t Page;
-} memreq_t;
-
-/* For ModifyWindow */
-typedef struct modwin_t {
- u_int Attributes;
- u_int AccessSpeed;
-} modwin_t;
-
-/* For RequestWindow */
-typedef struct win_req_t {
- u_int Attributes;
- u_long Base;
- u_int Size;
- u_int AccessSpeed;
-} win_req_t;
-
-/* Attributes for RequestWindow */
-#define WIN_ADDR_SPACE 0x0001
-#define WIN_ADDR_SPACE_MEM 0x0000
-#define WIN_ADDR_SPACE_IO 0x0001
-#define WIN_MEMORY_TYPE 0x0002
-#define WIN_MEMORY_TYPE_CM 0x0000
-#define WIN_MEMORY_TYPE_AM 0x0002
-#define WIN_ENABLE 0x0004
-#define WIN_DATA_WIDTH 0x0018
-#define WIN_DATA_WIDTH_8 0x0000
-#define WIN_DATA_WIDTH_16 0x0008
-#define WIN_DATA_WIDTH_32 0x0010
-#define WIN_PAGED 0x0020
-#define WIN_SHARED 0x0040
-#define WIN_FIRST_SHARED 0x0080
-#define WIN_USE_WAIT 0x0100
-#define WIN_STRICT_ALIGN 0x0200
-#define WIN_MAP_BELOW_1MB 0x0400
-#define WIN_PREFETCH 0x0800
-#define WIN_CACHEABLE 0x1000
-#define WIN_BAR_MASK 0xe000
-#define WIN_BAR_SHIFT 13
-
-/* Attributes for RegisterClient */
-#define INFO_MASTER_CLIENT 0x01
-#define INFO_IO_CLIENT 0x02
-#define INFO_MTD_CLIENT 0x04
-#define INFO_MEM_CLIENT 0x08
-#define MAX_NUM_CLIENTS 3
-
-#define INFO_CARD_SHARE 0x10
-#define INFO_CARD_EXCL 0x20
-
-typedef struct cs_status_t {
- u_char Function;
- event_t CardState;
- event_t SocketState;
-} cs_status_t;
-
-typedef struct error_info_t {
- int func;
- int retcode;
-} error_info_t;
-
-/* Special stuff for binding drivers to sockets */
-typedef struct bind_req_t {
- socket_t Socket;
- u_char Function;
- dev_info_t *dev_info;
-} bind_req_t;
-
-/* Flag to bind to all functions */
-#define BIND_FN_ALL 0xff
-
-typedef struct mtd_bind_t {
- socket_t Socket;
- u_int Attributes;
- u_int CardOffset;
- dev_info_t *dev_info;
-} mtd_bind_t;
-
-/* Events */
-#define CS_EVENT_PRI_LOW 0
-#define CS_EVENT_PRI_HIGH 1
-
-#define CS_EVENT_WRITE_PROTECT 0x000001
-#define CS_EVENT_CARD_LOCK 0x000002
-#define CS_EVENT_CARD_INSERTION 0x000004
-#define CS_EVENT_CARD_REMOVAL 0x000008
-#define CS_EVENT_BATTERY_DEAD 0x000010
-#define CS_EVENT_BATTERY_LOW 0x000020
-#define CS_EVENT_READY_CHANGE 0x000040
-#define CS_EVENT_CARD_DETECT 0x000080
-#define CS_EVENT_RESET_REQUEST 0x000100
-#define CS_EVENT_RESET_PHYSICAL 0x000200
-#define CS_EVENT_CARD_RESET 0x000400
-#define CS_EVENT_REGISTRATION_COMPLETE 0x000800
-#define CS_EVENT_RESET_COMPLETE 0x001000
-#define CS_EVENT_PM_SUSPEND 0x002000
-#define CS_EVENT_PM_RESUME 0x004000
-#define CS_EVENT_INSERTION_REQUEST 0x008000
-#define CS_EVENT_EJECTION_REQUEST 0x010000
-#define CS_EVENT_MTD_REQUEST 0x020000
-#define CS_EVENT_ERASE_COMPLETE 0x040000
-#define CS_EVENT_REQUEST_ATTENTION 0x080000
-#define CS_EVENT_CB_DETECT 0x100000
-#define CS_EVENT_3VCARD 0x200000
-#define CS_EVENT_XVCARD 0x400000
-
-/* Return codes */
-#define CS_SUCCESS 0x00
-#define CS_BAD_ADAPTER 0x01
-#define CS_BAD_ATTRIBUTE 0x02
-#define CS_BAD_BASE 0x03
-#define CS_BAD_EDC 0x04
-#define CS_BAD_IRQ 0x06
-#define CS_BAD_OFFSET 0x07
-#define CS_BAD_PAGE 0x08
-#define CS_READ_FAILURE 0x09
-#define CS_BAD_SIZE 0x0a
-#define CS_BAD_SOCKET 0x0b
-#define CS_BAD_TYPE 0x0d
-#define CS_BAD_VCC 0x0e
-#define CS_BAD_VPP 0x0f
-#define CS_BAD_WINDOW 0x11
-#define CS_WRITE_FAILURE 0x12
-#define CS_NO_CARD 0x14
-#define CS_UNSUPPORTED_FUNCTION 0x15
-#define CS_UNSUPPORTED_MODE 0x16
-#define CS_BAD_SPEED 0x17
-#define CS_BUSY 0x18
-#define CS_GENERAL_FAILURE 0x19
-#define CS_WRITE_PROTECTED 0x1a
-#define CS_BAD_ARG_LENGTH 0x1b
-#define CS_BAD_ARGS 0x1c
-#define CS_CONFIGURATION_LOCKED 0x1d
-#define CS_IN_USE 0x1e
-#define CS_NO_MORE_ITEMS 0x1f
-#define CS_OUT_OF_RESOURCE 0x20
-#define CS_BAD_HANDLE 0x21
-
-#define CS_BAD_TUPLE 0x40
-
-#ifdef __KERNEL__
-
-/*
- * Calls to set up low-level "Socket Services" drivers
- */
-
-typedef int (*ss_entry_t)(u_int sock, u_int cmd, void *arg);
-extern int register_ss_entry(int nsock, ss_entry_t entry);
-extern void unregister_ss_entry(ss_entry_t entry);
-
-/*
- * The main Card Services entry point
- */
-
-enum service {
- AccessConfigurationRegister, AddSocketServices,
- AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
- DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
- GetClientInfo, GetConfigurationInfo, GetEventMask,
- GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
- GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
- GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
- MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
- OpenMemory, ParseTuple, ReadMemory, RegisterClient,
- RegisterEraseQueue, RegisterMTD, RegisterTimer,
- ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
- ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
- RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
- RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
- SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
- WriteMemory, BindDevice, BindMTD, ReportError,
- SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
- GetFirstWindow, GetNextWindow, GetMemPage
-};
-
-#ifdef IN_CARD_SERVICES
-extern int CardServices(int func, void *a1, void *a2, void *a3);
-#else
-extern int CardServices(int func, ...);
-#endif
-
-#ifdef __BEOS__
-#define SS_MODULE_NAME(s) ("busses/pcmcia/" s "/v1")
-#define MTD_MODULE_NAME(s) ("busses/pcmcia/" s "/v1")
-#define CS_CLIENT_MODULE_NAME "bus_managers/pcmcia_cs/client/v1"
-typedef struct cs_client_module_info {
- bus_manager_info binfo;
- int (*_CardServices)(int, ...);
- int (*_MTDHelperEntry)(int, ...);
- void (*_add_timer)(struct timer_list *);
- void (*_del_timer)(struct timer_list *);
-} cs_client_module_info;
-#define CS_SOCKET_MODULE_NAME "bus_managers/pcmcia_cs/socket/v1"
-typedef struct cs_socket_module_info {
- bus_manager_info binfo;
- int (*_register_ss_entry)(int, ss_entry_t);
- void (*_unregister_ss_entry)(ss_entry_t);
- void (*_add_timer)(struct timer_list *);
- void (*_del_timer)(struct timer_list *);
- int (*register_resource)(int, u_long, u_long);
- int (*release_resource)(int, u_long, u_long);
- int (*check_resource)(int, u_long, u_long);
-} cs_socket_module_info;
-#endif
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_CS_H */
diff --git a/mdk-stage1/pcmcia_/cs_types.h b/mdk-stage1/pcmcia_/cs_types.h
deleted file mode 100644
index a6b56b6bf..000000000
--- a/mdk-stage1/pcmcia_/cs_types.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * cs_types.h 1.19 2001/08/24 12:16:12
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_CS_TYPES_H
-#define _LINUX_CS_TYPES_H
-
-#ifdef __linux__
-#ifdef __KERNEL__
-#include <linux/types.h>
-#else
-#include <sys/types.h>
-#endif
-#endif
-
-typedef u_short socket_t;
-typedef u_short ioaddr_t;
-typedef u_int event_t;
-typedef u_char cisdata_t;
-typedef u_short page_t;
-
-struct client_t;
-typedef struct client_t *client_handle_t;
-
-struct window_t;
-typedef struct window_t *window_handle_t;
-
-struct region_t;
-typedef struct region_t *memory_handle_t;
-
-struct eraseq_t;
-typedef struct eraseq_t *eraseq_handle_t;
-
-#ifndef DEV_NAME_LEN
-#define DEV_NAME_LEN 32
-#endif
-
-typedef char dev_info_t[DEV_NAME_LEN];
-
-#endif /* _LINUX_CS_TYPES_H */
diff --git a/mdk-stage1/pcmcia_/driver_ops.h b/mdk-stage1/pcmcia_/driver_ops.h
deleted file mode 100644
index a7223e2c6..000000000
--- a/mdk-stage1/pcmcia_/driver_ops.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * driver_ops.h 1.16 2001/08/24 12:16:13
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_DRIVER_OPS_H
-#define _LINUX_DRIVER_OPS_H
-
-#ifndef DEV_NAME_LEN
-#define DEV_NAME_LEN 32
-#endif
-
-#ifdef __KERNEL__
-
-typedef struct dev_node_t {
- char dev_name[DEV_NAME_LEN];
- u_short major, minor;
- struct dev_node_t *next;
-} dev_node_t;
-
-typedef struct dev_locator_t {
- enum { LOC_ISA, LOC_PCI } bus;
- union {
- struct {
- u_short io_base_1, io_base_2;
- u_long mem_base;
- u_char irq, dma;
- } isa;
- struct {
- u_char bus;
- u_char devfn;
- } pci;
- } b;
-} dev_locator_t;
-
-typedef struct driver_operations {
- char *name;
- dev_node_t *(*attach) (dev_locator_t *loc);
- void (*suspend) (dev_node_t *dev);
- void (*resume) (dev_node_t *dev);
- void (*detach) (dev_node_t *dev);
-} driver_operations;
-
-int register_driver(struct driver_operations *ops);
-void unregister_driver(struct driver_operations *ops);
-
-#ifdef __BEOS__
-#define CB_ENABLER_MODULE_NAME "bus_managers/cb_enabler/v1"
-typedef struct cb_enabler_module_info {
- bus_manager_info binfo;
- int (*register_driver)(struct driver_operations *ops);
- void (*unregister_driver)(struct driver_operations *ops);
-} cb_enabler_module_info;
-#endif /* __BEOS__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_DRIVER_OPS_H */
diff --git a/mdk-stage1/pcmcia_/ds.h b/mdk-stage1/pcmcia_/ds.h
deleted file mode 100644
index d191b09d6..000000000
--- a/mdk-stage1/pcmcia_/ds.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * ds.h 1.57 2001/08/24 12:16:13
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_DS_H
-#define _LINUX_DS_H
-
-#include <pcmcia_/driver_ops.h>
-#include <pcmcia_/bulkmem.h>
-
-typedef struct tuple_parse_t {
- tuple_t tuple;
- cisdata_t data[255];
- cisparse_t parse;
-} tuple_parse_t;
-
-typedef struct win_info_t {
- window_handle_t handle;
- win_req_t window;
- memreq_t map;
-} win_info_t;
-
-typedef struct bind_info_t {
- dev_info_t dev_info;
- u_char function;
- struct dev_link_t *instance;
- char name[DEV_NAME_LEN];
- u_short major, minor;
- void *next;
-} bind_info_t;
-
-typedef struct mtd_info_t {
- dev_info_t dev_info;
- u_int Attributes;
- u_int CardOffset;
-} mtd_info_t;
-
-typedef union ds_ioctl_arg_t {
- servinfo_t servinfo;
- adjust_t adjust;
- config_info_t config;
- tuple_t tuple;
- tuple_parse_t tuple_parse;
- client_req_t client_req;
- cs_status_t status;
- conf_reg_t conf_reg;
- cisinfo_t cisinfo;
- region_info_t region;
- bind_info_t bind_info;
- mtd_info_t mtd_info;
- win_info_t win_info;
- cisdump_t cisdump;
-} ds_ioctl_arg_t;
-
-#define DS_GET_CARD_SERVICES_INFO _IOR ('d', 1, servinfo_t)
-#define DS_ADJUST_RESOURCE_INFO _IOWR('d', 2, adjust_t)
-#define DS_GET_CONFIGURATION_INFO _IOWR('d', 3, config_info_t)
-#define DS_GET_FIRST_TUPLE _IOWR('d', 4, tuple_t)
-#define DS_GET_NEXT_TUPLE _IOWR('d', 5, tuple_t)
-#define DS_GET_TUPLE_DATA _IOWR('d', 6, tuple_parse_t)
-#define DS_PARSE_TUPLE _IOWR('d', 7, tuple_parse_t)
-#define DS_RESET_CARD _IO ('d', 8)
-#define DS_GET_STATUS _IOWR('d', 9, cs_status_t)
-#define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
-#define DS_VALIDATE_CIS _IOR ('d', 11, cisinfo_t)
-#define DS_SUSPEND_CARD _IO ('d', 12)
-#define DS_RESUME_CARD _IO ('d', 13)
-#define DS_EJECT_CARD _IO ('d', 14)
-#define DS_INSERT_CARD _IO ('d', 15)
-#define DS_GET_FIRST_REGION _IOWR('d', 16, region_info_t)
-#define DS_GET_NEXT_REGION _IOWR('d', 17, region_info_t)
-#define DS_REPLACE_CIS _IOWR('d', 18, cisdump_t)
-#define DS_GET_FIRST_WINDOW _IOR ('d', 19, win_info_t)
-#define DS_GET_NEXT_WINDOW _IOWR('d', 20, win_info_t)
-#define DS_GET_MEM_PAGE _IOWR('d', 21, win_info_t)
-
-#define DS_BIND_REQUEST _IOWR('d', 60, bind_info_t)
-#define DS_GET_DEVICE_INFO _IOWR('d', 61, bind_info_t)
-#define DS_GET_NEXT_DEVICE _IOWR('d', 62, bind_info_t)
-#define DS_UNBIND_REQUEST _IOW ('d', 63, bind_info_t)
-#define DS_BIND_MTD _IOWR('d', 64, mtd_info_t)
-
-#ifdef __KERNEL__
-
-typedef struct dev_link_t {
- dev_node_t *dev;
- u_int state, open;
- wait_queue_head_t pending;
- struct timer_list release;
- client_handle_t handle;
- io_req_t io;
- irq_req_t irq;
- config_req_t conf;
- window_handle_t win;
- void *priv;
- struct dev_link_t *next;
-} dev_link_t;
-
-/* Flags for device state */
-#define DEV_PRESENT 0x01
-#define DEV_CONFIG 0x02
-#define DEV_STALE_CONFIG 0x04 /* release on close */
-#define DEV_STALE_LINK 0x08 /* detach on release */
-#define DEV_CONFIG_PENDING 0x10
-#define DEV_RELEASE_PENDING 0x20
-#define DEV_SUSPEND 0x40
-#define DEV_BUSY 0x80
-
-#define DEV_OK(l) \
- ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
-
-int register_pccard_driver(dev_info_t *dev_info,
- dev_link_t *(*attach)(void),
- void (*detach)(dev_link_t *));
-
-int unregister_pccard_driver(dev_info_t *dev_info);
-
-#define register_pcmcia_driver register_pccard_driver
-#define unregister_pcmcia_driver unregister_pccard_driver
-
-#ifdef __BEOS__
-#define DS_MODULE_NAME "bus_managers/pcmcia_ds/v1"
-typedef struct ds_module_info {
- bus_manager_info binfo;
- int (*_register_pccard_driver)(dev_info_t *,
- dev_link_t *(*)(void),
- void (*)(dev_link_t *));
- int (*_unregister_pccard_driver)(dev_info_t *);
- struct driver_info_t **root_driver;
- int *sockets;
- struct socket_info_t **socket_table;
- sem_id *list_sem;
-} ds_module_info;
-#endif /* __BEOS__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_DS_H */
diff --git a/mdk-stage1/pcmcia_/i82365.h b/mdk-stage1/pcmcia_/i82365.h
deleted file mode 100644
index 27ee5837c..000000000
--- a/mdk-stage1/pcmcia_/i82365.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * i82365.h 1.21 2001/08/24 12:15:33
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_I82365_H
-#define _LINUX_I82365_H
-
-/* register definitions for the Intel 82365SL PCMCIA controller */
-
-/* Offsets for PCIC registers */
-#define I365_IDENT 0x00 /* Identification and revision */
-#define I365_STATUS 0x01 /* Interface status */
-#define I365_POWER 0x02 /* Power and RESETDRV control */
-#define I365_INTCTL 0x03 /* Interrupt and general control */
-#define I365_CSC 0x04 /* Card status change */
-#define I365_CSCINT 0x05 /* Card status change interrupt control */
-#define I365_ADDRWIN 0x06 /* Address window enable */
-#define I365_IOCTL 0x07 /* I/O control */
-#define I365_GENCTL 0x16 /* Card detect and general control */
-#define I365_GBLCTL 0x1E /* Global control register */
-
-/* Offsets for I/O and memory window registers */
-#define I365_IO(map) (0x08+((map)<<2))
-#define I365_MEM(map) (0x10+((map)<<3))
-#define I365_W_START 0
-#define I365_W_STOP 2
-#define I365_W_OFF 4
-
-/* Flags for I365_STATUS */
-#define I365_CS_BVD1 0x01
-#define I365_CS_STSCHG 0x01
-#define I365_CS_BVD2 0x02
-#define I365_CS_SPKR 0x02
-#define I365_CS_DETECT 0x0C
-#define I365_CS_WRPROT 0x10
-#define I365_CS_READY 0x20 /* Inverted */
-#define I365_CS_POWERON 0x40
-#define I365_CS_GPI 0x80
-
-/* Flags for I365_POWER */
-#define I365_PWR_OFF 0x00 /* Turn off the socket */
-#define I365_PWR_OUT 0x80 /* Output enable */
-#define I365_PWR_NORESET 0x40 /* Disable RESETDRV on resume */
-#define I365_PWR_AUTO 0x20 /* Auto pwr switch enable */
-#define I365_VCC_MASK 0x18 /* Mask for turning off Vcc */
-/* There are different layouts for B-step and DF-step chips: the B
- step has independent Vpp1/Vpp2 control, and the DF step has only
- Vpp1 control, plus 3V control */
-#define I365_VCC_5V 0x10 /* Vcc = 5.0v */
-#define I365_VCC_3V 0x18 /* Vcc = 3.3v */
-#define I365_VPP2_MASK 0x0c /* Mask for turning off Vpp2 */
-#define I365_VPP2_5V 0x04 /* Vpp2 = 5.0v */
-#define I365_VPP2_12V 0x08 /* Vpp2 = 12.0v */
-#define I365_VPP1_MASK 0x03 /* Mask for turning off Vpp1 */
-#define I365_VPP1_5V 0x01 /* Vpp2 = 5.0v */
-#define I365_VPP1_12V 0x02 /* Vpp2 = 12.0v */
-
-/* Flags for I365_INTCTL */
-#define I365_RING_ENA 0x80
-#define I365_PC_RESET 0x40
-#define I365_PC_IOCARD 0x20
-#define I365_INTR_ENA 0x10
-#define I365_IRQ_MASK 0x0F
-
-/* Flags for I365_CSC and I365_CSCINT*/
-#define I365_CSC_BVD1 0x01
-#define I365_CSC_STSCHG 0x01
-#define I365_CSC_BVD2 0x02
-#define I365_CSC_READY 0x04
-#define I365_CSC_DETECT 0x08
-#define I365_CSC_ANY 0x0F
-#define I365_CSC_GPI 0x10
-
-/* Flags for I365_ADDRWIN */
-#define I365_ADDR_MEMCS16 0x20
-#define I365_ENA_IO(map) (0x40 << (map))
-#define I365_ENA_MEM(map) (0x01 << (map))
-
-/* Flags for I365_IOCTL */
-#define I365_IOCTL_MASK(map) (0x0F << (map<<2))
-#define I365_IOCTL_WAIT(map) (0x08 << (map<<2))
-#define I365_IOCTL_0WS(map) (0x04 << (map<<2))
-#define I365_IOCTL_IOCS16(map) (0x02 << (map<<2))
-#define I365_IOCTL_16BIT(map) (0x01 << (map<<2))
-
-/* Flags for I365_GENCTL */
-#define I365_CTL_16DELAY 0x01
-#define I365_CTL_RESET 0x02
-#define I365_CTL_GPI_ENA 0x04
-#define I365_CTL_GPI_CTL 0x08
-#define I365_CTL_RESUME 0x10
-#define I365_CTL_SW_IRQ 0x20
-
-/* Flags for I365_GBLCTL */
-#define I365_GBL_PWRDOWN 0x01
-#define I365_GBL_CSC_LEV 0x02
-#define I365_GBL_WRBACK 0x04
-#define I365_GBL_IRQ_0_LEV 0x08
-#define I365_GBL_IRQ_1_LEV 0x10
-
-/* Flags for memory window registers */
-#define I365_MEM_16BIT 0x8000 /* In memory start high byte */
-#define I365_MEM_0WS 0x4000
-#define I365_MEM_WS1 0x8000 /* In memory stop high byte */
-#define I365_MEM_WS0 0x4000
-#define I365_MEM_WRPROT 0x8000 /* In offset high byte */
-#define I365_MEM_REG 0x4000
-
-#define I365_REG(slot, reg) (((slot) << 6) | (reg))
-
-/* Default ISA interrupt mask */
-#define I365_ISA_IRQ_MASK 0xdeb8 /* irq's 3-5,7,9-12,14,15 */
-
-/* Device ID's for PCI-to-PCMCIA bridges */
-
-#ifndef PCI_VENDOR_ID_INTEL
-#define PCI_VENDOR_ID_INTEL 0x8086
-#endif
-#ifndef PCI_DEVICE_ID_INTEL_82092AA_0
-#define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221
-#endif
-#ifndef PCI_VENDOR_ID_OMEGA
-#define PCI_VENDOR_ID_OMEGA 0x119b
-#endif
-#ifndef PCI_DEVICE_ID_OMEGA_82C092G
-#define PCI_DEVICE_ID_OMEGA_82C092G 0x1221
-#endif
-
-#endif /* _LINUX_I82365_H */
diff --git a/mdk-stage1/pcmcia_/lex_config.c b/mdk-stage1/pcmcia_/lex_config.c
deleted file mode 100644
index 2f990618d..000000000
--- a/mdk-stage1/pcmcia_/lex_config.c
+++ /dev/null
@@ -1,2053 +0,0 @@
-/* A lexical scanner generated by flex */
-
-/* Scanner skeleton version:
- * $Header$
- */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-
-#include <stdio.h>
-
-
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
-#endif
-#endif
-
-
-#ifdef __cplusplus
-
-#include <stdlib.h>
-#include <unistd.h>
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-#if __STDC__
-
-#define YY_USE_PROTOS
-#define YY_USE_CONST
-
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
-
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition. This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN yy_start = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state. The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START ((yy_start - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#define YY_BUF_SIZE 16384
-
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
-extern int yyleng;
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
- * avoids problems with code like:
- *
- * if ( condition_holds )
- * yyless( 5 );
- * else
- * do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- *yy_cp = yy_hold_char; \
- YY_RESTORE_YY_MORE_OFFSET \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up yytext again */ \
- } \
- while ( 0 )
-
-//mdk-stage1// #define unput(c) yyunput( c, yytext_ptr )
-
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-typedef unsigned int yy_size_t;
-
-
-struct yy_buffer_state
- {
- FILE *yy_input_file;
-
- char *yy_ch_buf; /* input buffer */
- char *yy_buf_pos; /* current position in input buffer */
-
- /* Size of input buffer in bytes, not including room for EOB
- * characters.
- */
- yy_size_t yy_buf_size;
-
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
- int yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
- * delete it.
- */
- int yy_is_our_buffer;
-
- /* Whether this is an "interactive" input source; if so, and
- * if we're using stdio for input, then we want to use getc()
- * instead of fread(), to make sure we stop fetching input after
- * each newline.
- */
- int yy_is_interactive;
-
- /* Whether we're considered to be at the beginning of a line.
- * If so, '^' rules will be active on the next match, otherwise
- * not.
- */
- int yy_at_bol;
-
- /* Whether to try to fill the input buffer when we reach the
- * end of it.
- */
- int yy_fill_buffer;
-
- int yy_buffer_status;
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
- /* When an EOF's been seen but there's still some text to process
- * then we mark the buffer as YY_EOF_PENDING, to indicate that we
- * shouldn't try reading from the input source any more. We might
- * still have a bunch of tokens to match, though, because of
- * possible backing-up.
- *
- * When we actually see the EOF, we change the status to "new"
- * (via yyrestart()), so that the user can continue scanning by
- * just pointing yyin at a new input file.
- */
-#define YY_BUFFER_EOF_PENDING 2
- };
-
-static YY_BUFFER_STATE yy_current_buffer = 0;
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- */
-#define YY_CURRENT_BUFFER yy_current_buffer
-
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-
-static int yy_n_chars; /* number of characters read into yy_ch_buf */
-
-
-int yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 1; /* whether we need to initialize */
-static int yy_start = 0; /* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin. A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
- { \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_is_interactive = is_interactive; \
- }
-
-#define yy_set_bol(at_bol) \
- { \
- if ( ! yy_current_buffer ) \
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
- yy_current_buffer->yy_at_bol = at_bol; \
- }
-
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
-
-typedef unsigned char YY_CHAR;
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-typedef int yy_state_type;
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
- yytext_ptr = yy_bp; \
- yyleng = (int) (yy_cp - yy_bp); \
- yy_hold_char = *yy_cp; \
- *yy_cp = '\0'; \
- yy_c_buf_p = yy_cp;
-
-#define YY_NUM_RULES 45
-#define YY_END_OF_BUFFER 46
-static yyconst short int yy_accept[247] =
- { 0,
- 5, 5, 2, 2, 46, 44, 5, 4, 5, 44,
- 6, 41, 41, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 3,
- 2, 45, 5, 5, 6, 0, 43, 0, 6, 41,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
- 0, 0, 3, 2, 0, 43, 0, 42, 0, 0,
- 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 23, 0, 0, 0,
-
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 0, 0, 14, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 0, 0, 0, 13, 0,
- 0, 0, 0, 20, 21, 22, 0, 0, 0, 28,
- 0, 0, 0, 1, 0, 0, 0, 0, 12, 15,
- 0, 0, 17, 0, 0, 0, 0, 29, 0, 0,
-
- 32, 0, 0, 0, 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 39, 7, 0, 0, 24, 0, 0,
- 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
- 33, 0, 0, 0, 34, 0, 0, 0, 40, 0,
- 0, 35, 37, 0, 38, 0
- } ;
-
-static yyconst int yy_ec[256] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 1, 5, 6, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 7, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 1, 6, 1,
- 1, 1, 1, 1, 9, 9, 9, 9, 9, 9,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 10, 1, 1, 11, 1, 12, 13, 14, 15,
-
- 16, 17, 18, 1, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
- } ;
-
-static yyconst int yy_meta[36] =
- { 0,
- 1, 2, 3, 2, 1, 1, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1
- } ;
-
-static yyconst short int yy_base[253] =
- { 0,
- 0, 0, 34, 37, 293, 294, 40, 294, 41, 41,
- 0, 41, 45, 31, 273, 42, 40, 257, 38, 34,
- 274, 47, 273, 262, 53, 271, 57, 35, 60, 0,
- 79, 294, 82, 83, 0, 83, 294, 87, 0, 87,
- 0, 263, 260, 260, 255, 253, 269, 74, 245, 265,
- 244, 253, 262, 248, 259, 249, 249, 256, 255, 80,
- 239, 240, 248, 238, 80, 236, 236, 232, 294, 236,
- 233, 245, 0, 97, 95, 97, 108, 0, 230, 234,
- 242, 241, 294, 226, 242, 234, 226, 229, 234, 235,
- 226, 294, 231, 229, 220, 213, 294, 228, 209, 212,
-
- 228, 294, 209, 219, 221, 217, 216, 206, 211, 203,
- 215, 219, 194, 294, 294, 199, 196, 212, 209, 193,
- 208, 192, 190, 206, 200, 190, 195, 187, 190, 294,
- 192, 294, 188, 184, 200, 198, 195, 192, 188, 181,
- 191, 181, 294, 181, 186, 294, 186, 189, 180, 183,
- 294, 182, 161, 179, 183, 165, 170, 167, 158, 177,
- 166, 171, 294, 161, 174, 172, 158, 152, 294, 165,
- 165, 154, 162, 294, 166, 294, 153, 154, 158, 294,
- 157, 157, 160, 294, 146, 157, 140, 136, 294, 294,
- 147, 141, 294, 150, 133, 151, 139, 294, 148, 133,
-
- 294, 143, 142, 127, 126, 294, 142, 138, 140, 140,
- 124, 124, 136, 294, 294, 126, 118, 294, 130, 118,
- 113, 114, 115, 294, 125, 127, 108, 116, 99, 87,
- 294, 90, 87, 86, 294, 96, 78, 74, 294, 75,
- 64, 294, 294, 46, 294, 294, 118, 122, 126, 130,
- 134, 64
- } ;
-
-static yyconst short int yy_def[253] =
- { 0,
- 246, 1, 247, 247, 246, 246, 246, 246, 246, 248,
- 249, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 250,
- 246, 246, 246, 246, 249, 248, 246, 251, 249, 246,
- 252, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 250, 246, 248, 248, 251, 252, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 0, 246, 246, 246, 246,
- 246, 246
- } ;
-
-static yyconst short int yy_nxt[330] =
- { 0,
- 6, 7, 8, 9, 10, 11, 12, 13, 6, 6,
- 6, 14, 15, 16, 17, 18, 19, 6, 20, 21,
- 6, 6, 22, 23, 24, 25, 6, 26, 27, 28,
- 6, 29, 6, 6, 6, 31, 32, 31, 31, 32,
- 31, 33, 33, 33, 34, 37, 35, 40, 40, 42,
- 38, 40, 40, 45, 43, 48, 51, 53, 56, 69,
- 46, 54, 57, 47, 62, 70, 63, 78, 52, 49,
- 66, 58, 67, 245, 41, 71, 59, 64, 72, 244,
- 74, 68, 74, 33, 33, 33, 34, 37, 35, 36,
- 85, 76, 38, 40, 40, 98, 77, 104, 74, 37,
-
- 74, 37, 243, 242, 38, 86, 38, 241, 105, 99,
- 36, 240, 76, 239, 238, 237, 236, 77, 30, 30,
- 30, 30, 36, 36, 36, 36, 39, 39, 235, 39,
- 73, 234, 233, 73, 75, 75, 75, 75, 232, 231,
- 230, 229, 228, 227, 226, 225, 224, 223, 222, 221,
- 220, 219, 218, 217, 216, 215, 214, 213, 212, 211,
- 210, 209, 208, 207, 206, 205, 204, 203, 202, 201,
- 200, 199, 198, 197, 196, 195, 194, 193, 192, 191,
- 190, 189, 188, 187, 186, 185, 184, 183, 182, 181,
- 180, 179, 178, 177, 176, 175, 174, 173, 172, 171,
-
- 170, 169, 168, 167, 166, 165, 164, 163, 162, 161,
- 160, 159, 158, 157, 156, 155, 154, 153, 152, 151,
- 150, 149, 148, 147, 146, 145, 144, 143, 142, 141,
- 140, 139, 138, 137, 136, 135, 134, 133, 132, 131,
- 130, 129, 128, 127, 126, 125, 124, 123, 122, 121,
- 120, 119, 118, 117, 116, 115, 114, 113, 112, 111,
- 110, 109, 108, 107, 106, 103, 102, 101, 100, 97,
- 96, 95, 94, 93, 92, 91, 90, 89, 88, 87,
- 84, 83, 82, 81, 80, 79, 65, 61, 60, 55,
- 50, 44, 246, 5, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246
- } ;
-
-static yyconst short int yy_chk[330] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 3, 4, 4,
- 4, 7, 9, 7, 9, 10, 9, 12, 12, 14,
- 10, 13, 13, 16, 14, 17, 19, 20, 22, 28,
- 16, 20, 22, 16, 25, 28, 25, 252, 19, 17,
- 27, 22, 27, 244, 12, 29, 22, 25, 29, 241,
- 31, 27, 31, 33, 34, 33, 34, 36, 34, 38,
- 48, 38, 36, 40, 40, 60, 38, 65, 74, 75,
-
- 74, 76, 240, 238, 75, 48, 76, 237, 65, 60,
- 77, 236, 77, 234, 233, 232, 230, 77, 247, 247,
- 247, 247, 248, 248, 248, 248, 249, 249, 229, 249,
- 250, 228, 227, 250, 251, 251, 251, 251, 226, 225,
- 223, 222, 221, 220, 219, 217, 216, 213, 212, 211,
- 210, 209, 208, 207, 205, 204, 203, 202, 200, 199,
- 197, 196, 195, 194, 192, 191, 188, 187, 186, 185,
- 183, 182, 181, 179, 178, 177, 175, 173, 172, 171,
- 170, 168, 167, 166, 165, 164, 162, 161, 160, 159,
- 158, 157, 156, 155, 154, 153, 152, 150, 149, 148,
-
- 147, 145, 144, 142, 141, 140, 139, 138, 137, 136,
- 135, 134, 133, 131, 129, 128, 127, 126, 125, 124,
- 123, 122, 121, 120, 119, 118, 117, 116, 113, 112,
- 111, 110, 109, 108, 107, 106, 105, 104, 103, 101,
- 100, 99, 98, 96, 95, 94, 93, 91, 90, 89,
- 88, 87, 86, 85, 84, 82, 81, 80, 79, 72,
- 71, 70, 68, 67, 66, 64, 63, 62, 61, 59,
- 58, 57, 56, 55, 54, 53, 52, 51, 50, 49,
- 47, 46, 45, 44, 43, 42, 26, 24, 23, 21,
- 18, 15, 5, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246
- } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "lex_config.l"
-#define INITIAL 0
-/* Special state for handling include files */
-#define src 1
-
-#line 5 "lex_config.l"
-/*
- * lex_config.l 1.40 2001/08/24 12:21:25
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#undef src
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <syslog.h>
-#include <glob.h>
-#define src 1
-
-#include <pcmcia_/cs_types.h>
-#include <pcmcia_/cs.h>
-
-#include "yacc_config.h"
-
-/* For assembling nice error messages */
-char *current_file;
-int current_lineno;
-
-static int lex_number(char *s);
-static int lex_string(char *s);
-static void do_source(char *fn);
-static int do_eof(void);
-
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
-#else
-extern int yywrap YY_PROTO(( void ));
-#endif
-#endif
-
-#ifndef YY_NO_UNPUT
-//mdk-stage1// static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
-#endif
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
-#endif
-
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines. This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
-#endif
-
-/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
- if ( yy_current_buffer->yy_is_interactive ) \
- { \
- int c = '*', n; \
- for ( n = 0; n < max_size && \
- (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
- buf[n] = (char) c; \
- if ( c == '\n' ) \
- buf[n++] = (char) c; \
- if ( c == EOF && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" ); \
- result = n; \
- } \
- else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
- && ferror( yyin ) ) \
- YY_FATAL_ERROR( "input in flex scanner failed" );
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
- YY_USER_ACTION
-
-YY_DECL
- {
- register yy_state_type yy_current_state;
- register char *yy_cp = NULL, *yy_bp = NULL;
- register int yy_act;
-
-#line 63 "lex_config.l"
-
-
-
- if ( yy_init )
- {
- yy_init = 0;
-
-#ifdef YY_USER_INIT
- YY_USER_INIT;
-#endif
-
- if ( ! yy_start )
- yy_start = 1; /* first start state */
-
- if ( ! yyin )
- yyin = stdin;
-
- if ( ! yyout )
- yyout = stdout;
-
- if ( ! yy_current_buffer )
- yy_current_buffer =
- yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_load_buffer_state();
- }
-
- while ( 1 ) /* loops until end-of-file is reached */
- {
- yy_cp = yy_c_buf_p;
-
- /* Support of yytext. */
- *yy_cp = yy_hold_char;
-
- /* yy_bp points to the position in yy_ch_buf of the start of
- * the current run.
- */
- yy_bp = yy_cp;
-
- yy_current_state = yy_start;
-yy_match:
- do
- {
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- ++yy_cp;
- }
- while ( yy_base[yy_current_state] != 294 );
-
-yy_find_action:
- yy_act = yy_accept[yy_current_state];
- if ( yy_act == 0 )
- { /* have to back up */
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- yy_act = yy_accept[yy_current_state];
- }
-
- YY_DO_BEFORE_ACTION;
-
-
-do_action: /* This label is used only to access EOF actions. */
-
-
- switch ( yy_act )
- { /* beginning of action switch */
- case 0: /* must back up */
- /* undo the effects of YY_DO_BEFORE_ACTION */
- *yy_cp = yy_hold_char;
- yy_cp = yy_last_accepting_cpos;
- yy_current_state = yy_last_accepting_state;
- goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 65 "lex_config.l"
-BEGIN(src);
- YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 66 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 67 "lex_config.l"
-do_source(yytext); BEGIN(INITIAL);
- YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(src):
-#line 68 "lex_config.l"
-if (do_eof()) yyterminate();
- YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 70 "lex_config.l"
-current_lineno++;
- YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 71 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 72 "lex_config.l"
-/* skip */ ;
- YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 74 "lex_config.l"
-return ANONYMOUS;
- YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 75 "lex_config.l"
-return BIND;
- YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 76 "lex_config.l"
-return CIS;
- YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 77 "lex_config.l"
-return CARD;
- YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 78 "lex_config.l"
-return CLASS;
- YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 79 "lex_config.l"
-return DEFAULT;
- YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 80 "lex_config.l"
-return DEVICE;
- YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 81 "lex_config.l"
-return DTYPE;
- YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 82 "lex_config.l"
-return EXCLUDE;
- YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 83 "lex_config.l"
-return FUNCTION;
- YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 84 "lex_config.l"
-return INCLUDE;
- YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 85 "lex_config.l"
-return IRQ_NO;
- YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 86 "lex_config.l"
-return JEDEC;
- YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 87 "lex_config.l"
-return MANFID;
- YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 88 "lex_config.l"
-return MEMORY;
- YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 89 "lex_config.l"
-return MODULE;
- YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 90 "lex_config.l"
-return MTD;
- YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 91 "lex_config.l"
-return NEEDS_MTD;
- YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 92 "lex_config.l"
-return OPTS;
- YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 93 "lex_config.l"
-return PCI;
- YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 94 "lex_config.l"
-return PORT;
- YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 95 "lex_config.l"
-return REGION;
- YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 96 "lex_config.l"
-return RESERVE;
- YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 97 "lex_config.l"
-return TO;
- YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 98 "lex_config.l"
-return TUPLE;
- YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 99 "lex_config.l"
-return VERSION;
- YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 101 "lex_config.l"
-return lex_number("1");
- YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 102 "lex_config.l"
-return lex_number("2");
- YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 103 "lex_config.l"
-return lex_number("3");
- YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 104 "lex_config.l"
-return lex_number("4");
- YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 105 "lex_config.l"
-return lex_number("5");
- YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 106 "lex_config.l"
-return lex_number("6");
- YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 107 "lex_config.l"
-return lex_number("7");
- YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 108 "lex_config.l"
-return lex_number("8");
- YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 110 "lex_config.l"
-return lex_number(yytext);
- YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 112 "lex_config.l"
-return lex_number(yytext);
- YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 114 "lex_config.l"
-return lex_string(yytext);
- YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 116 "lex_config.l"
-return yytext[0];
- YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 118 "lex_config.l"
-ECHO;
- YY_BREAK
-
- case YY_END_OF_BUFFER:
- {
- /* Amount of text matched not including the EOB char. */
- int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
-
- /* Undo the effects of YY_DO_BEFORE_ACTION. */
- *yy_cp = yy_hold_char;
- YY_RESTORE_YY_MORE_OFFSET
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
- {
- /* We're scanning a new file or input source. It's
- * possible that this happened because the user
- * just pointed yyin at a new source and called
- * yylex(). If so, then we have to assure
- * consistency between yy_current_buffer and our
- * globals. Here is the right place to do so, because
- * this is the first action (other than possibly a
- * back-up) that will match for the new input source.
- */
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yy_current_buffer->yy_input_file = yyin;
- yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
- }
-
- /* Note that here we test for yy_c_buf_p "<=" to the position
- * of the first EOB in the buffer, since yy_c_buf_p will
- * already have been incremented past the NUL character
- * (since all states make transitions on EOB to the
- * end-of-buffer state). Contrast this with the test
- * in input().
- */
- if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- { /* This was really a NUL. */
- yy_state_type yy_next_state;
-
- yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- /* Okay, we're now positioned to make the NUL
- * transition. We couldn't have
- * yy_get_previous_state() go ahead and do it
- * for us because it doesn't know how to deal
- * with the possibility of jamming (and we don't
- * want to build jamming into it because then it
- * will run more slowly).
- */
-
- yy_next_state = yy_try_NUL_trans( yy_current_state );
-
- yy_bp = yytext_ptr + YY_MORE_ADJ;
-
- if ( yy_next_state )
- {
- /* Consume the NUL. */
- yy_cp = ++yy_c_buf_p;
- yy_current_state = yy_next_state;
- goto yy_match;
- }
-
- else
- {
- yy_cp = yy_c_buf_p;
- goto yy_find_action;
- }
- }
-
- else switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_END_OF_FILE:
- {
- yy_did_buffer_switch_on_eof = 0;
-
- if ( yywrap() )
- {
- /* Note: because we've taken care in
- * yy_get_next_buffer() to have set up
- * yytext, we can now set up
- * yy_c_buf_p so that if some total
- * hoser (like flex itself) wants to
- * call the scanner after we return the
- * YY_NULL, it'll still work - another
- * YY_NULL will get returned.
- */
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
-
- yy_act = YY_STATE_EOF(YY_START);
- goto do_action;
- }
-
- else
- {
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
- }
- break;
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p =
- yytext_ptr + yy_amount_of_matched_text;
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_match;
-
- case EOB_ACT_LAST_MATCH:
- yy_c_buf_p =
- &yy_current_buffer->yy_ch_buf[yy_n_chars];
-
- yy_current_state = yy_get_previous_state();
-
- yy_cp = yy_c_buf_p;
- yy_bp = yytext_ptr + YY_MORE_ADJ;
- goto yy_find_action;
- }
- break;
- }
-
- default:
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--no action found" );
- } /* end of action switch */
- } /* end of scanning one token */
- } /* end of yylex */
-
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- * EOB_ACT_LAST_MATCH -
- * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- * EOB_ACT_END_OF_FILE - end of file
- */
-
-static int yy_get_next_buffer()
- {
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
- int ret_val;
-
- if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
- YY_FATAL_ERROR(
- "fatal flex scanner internal error--end of buffer missed" );
-
- if ( yy_current_buffer->yy_fill_buffer == 0 )
- { /* Don't try to fill the buffer, so this is an EOF. */
- if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
- {
- /* We matched a single character, the EOB, so
- * treat this as a final EOF.
- */
- return EOB_ACT_END_OF_FILE;
- }
-
- else
- {
- /* We matched some text prior to the EOB, first
- * process it.
- */
- return EOB_ACT_LAST_MATCH;
- }
- }
-
- /* Try to read more data. */
-
- /* First move last chars to start of buffer. */
- number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
-
- for ( i = 0; i < number_to_move; ++i )
- *(dest++) = *(source++);
-
- if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- yy_current_buffer->yy_n_chars = yy_n_chars = 0;
-
- else
- {
- int num_to_read =
- yy_current_buffer->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
- YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = yy_current_buffer;
-
- int yy_c_buf_p_offset =
- (int) (yy_c_buf_p - b->yy_ch_buf);
-
- if ( b->yy_is_our_buffer )
- {
- int new_size = b->yy_buf_size * 2;
-
- if ( new_size <= 0 )
- b->yy_buf_size += b->yy_buf_size / 8;
- else
- b->yy_buf_size *= 2;
-
- b->yy_ch_buf = (char *)
- /* Include room in for 2 EOB chars. */
- yy_flex_realloc( (void *) b->yy_ch_buf,
- b->yy_buf_size + 2 );
- }
- else
- /* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
-
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR(
- "fatal error - scanner input buffer overflow" );
-
- yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
-
- num_to_read = yy_current_buffer->yy_buf_size -
- number_to_move - 1;
-#endif
- }
-
- if ( num_to_read > YY_READ_BUF_SIZE )
- num_to_read = YY_READ_BUF_SIZE;
-
- /* Read in more data. */
- YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
- yy_n_chars, num_to_read );
-
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- if ( yy_n_chars == 0 )
- {
- if ( number_to_move == YY_MORE_ADJ )
- {
- ret_val = EOB_ACT_END_OF_FILE;
- yyrestart( yyin );
- }
-
- else
- {
- ret_val = EOB_ACT_LAST_MATCH;
- yy_current_buffer->yy_buffer_status =
- YY_BUFFER_EOF_PENDING;
- }
- }
-
- else
- ret_val = EOB_ACT_CONTINUE_SCAN;
-
- yy_n_chars += number_to_move;
- yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
- yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
-
- yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
-
- return ret_val;
- }
-
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-static yy_state_type yy_get_previous_state()
- {
- register yy_state_type yy_current_state;
- register char *yy_cp;
-
- yy_current_state = yy_start;
-
- for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
- {
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- }
-
- return yy_current_state;
- }
-
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- * next_state = yy_try_NUL_trans( current_state );
- */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
- {
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
-
- register YY_CHAR yy_c = 1;
- if ( yy_accept[yy_current_state] )
- {
- yy_last_accepting_state = yy_current_state;
- yy_last_accepting_cpos = yy_cp;
- }
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 247 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 246);
-
- return yy_is_jam ? 0 : yy_current_state;
- }
-
-
-//mdk-stage1// #ifndef YY_NO_UNPUT
-//mdk-stage1// #ifdef YY_USE_PROTOS
-//mdk-stage1// static void yyunput( int c, register char *yy_bp )
-//mdk-stage1// #else
-//mdk-stage1// static void yyunput( c, yy_bp )
-//mdk-stage1// int c;
-//mdk-stage1// register char *yy_bp;
-//mdk-stage1// #endif
-//mdk-stage1// {
-//mdk-stage1// register char *yy_cp = yy_c_buf_p;
-//mdk-stage1//
-//mdk-stage1// /* undo effects of setting up yytext */
-//mdk-stage1// *yy_cp = yy_hold_char;
-//mdk-stage1//
-//mdk-stage1// if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-//mdk-stage1// { /* need to shift things up to make room */
-//mdk-stage1// /* +2 for EOB chars. */
-//mdk-stage1// register int number_to_move = yy_n_chars + 2;
-//mdk-stage1// register char *dest = &yy_current_buffer->yy_ch_buf[
-//mdk-stage1// yy_current_buffer->yy_buf_size + 2];
-//mdk-stage1// register char *source =
-//mdk-stage1// &yy_current_buffer->yy_ch_buf[number_to_move];
-//mdk-stage1//
-//mdk-stage1// while ( source > yy_current_buffer->yy_ch_buf )
-//mdk-stage1// *--dest = *--source;
-//mdk-stage1//
-//mdk-stage1// yy_cp += (int) (dest - source);
-//mdk-stage1// yy_bp += (int) (dest - source);
-//mdk-stage1// yy_current_buffer->yy_n_chars =
-//mdk-stage1// yy_n_chars = yy_current_buffer->yy_buf_size;
-//mdk-stage1//
-//mdk-stage1// if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
-//mdk-stage1// YY_FATAL_ERROR( "flex scanner push-back overflow" );
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// *--yy_cp = (char) c;
-//mdk-stage1//
-//mdk-stage1//
-//mdk-stage1// yytext_ptr = yy_bp;
-//mdk-stage1// yy_hold_char = *yy_cp;
-//mdk-stage1// yy_c_buf_p = yy_cp;
-//mdk-stage1// }
-//mdk-stage1// #endif /* ifndef YY_NO_UNPUT */
-
-
-#ifdef __cplusplus
-static int yyinput()
-#else
-static int input()
-#endif
- {
- int c;
-
- *yy_c_buf_p = yy_hold_char;
-
- if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
- {
- /* yy_c_buf_p now points to the character we want to return.
- * If this occurs *before* the EOB characters, then it's a
- * valid NUL; if not, then we've hit the end of the buffer.
- */
- if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
- /* This was really a NUL. */
- *yy_c_buf_p = '\0';
-
- else
- { /* need more input */
- int offset = yy_c_buf_p - yytext_ptr;
- ++yy_c_buf_p;
-
- switch ( yy_get_next_buffer() )
- {
- case EOB_ACT_LAST_MATCH:
- /* This happens because yy_g_n_b()
- * sees that we've accumulated a
- * token and flags that we need to
- * try matching the token before
- * proceeding. But for input(),
- * there's no matching to consider.
- * So convert the EOB_ACT_LAST_MATCH
- * to EOB_ACT_END_OF_FILE.
- */
-
- /* Reset buffer status. */
- yyrestart( yyin );
-
- /* fall through */
-
- case EOB_ACT_END_OF_FILE:
- {
- if ( yywrap() )
- return EOF;
-
- if ( ! yy_did_buffer_switch_on_eof )
- YY_NEW_FILE;
-#ifdef __cplusplus
- return yyinput();
-#else
- return input();
-#endif
- }
-
- case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + offset;
- break;
- }
- }
- }
-
- c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
- *yy_c_buf_p = '\0'; /* preserve yytext */
- yy_hold_char = *++yy_c_buf_p;
-
-
- return c;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
- {
- if ( ! yy_current_buffer )
- yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
-
- yy_init_buffer( yy_current_buffer, input_file );
- yy_load_buffer_state();
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
- {
- if ( yy_current_buffer == new_buffer )
- return;
-
- if ( yy_current_buffer )
- {
- /* Flush out information for old buffer. */
- *yy_c_buf_p = yy_hold_char;
- yy_current_buffer->yy_buf_pos = yy_c_buf_p;
- yy_current_buffer->yy_n_chars = yy_n_chars;
- }
-
- yy_current_buffer = new_buffer;
- yy_load_buffer_state();
-
- /* We don't actually know whether we did this switch during
- * EOF (yywrap()) processing, but the only time this flag
- * is looked at is after yywrap() is called, so it's safe
- * to go ahead and always set it.
- */
- yy_did_buffer_switch_on_eof = 1;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
- {
- yy_n_chars = yy_current_buffer->yy_n_chars;
- yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
- yyin = yy_current_buffer->yy_input_file;
- yy_hold_char = *yy_c_buf_p;
- }
-
-
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
- {
- YY_BUFFER_STATE b;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_buf_size = size;
-
- /* yy_ch_buf has to be 2 characters longer than the size given because
- * we need to put in 2 end-of-buffer characters.
- */
- b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
- if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
- b->yy_is_our_buffer = 1;
-
- yy_init_buffer( b, file );
-
- return b;
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
- {
- if ( ! b )
- return;
-
- if ( b == yy_current_buffer )
- yy_current_buffer = (YY_BUFFER_STATE) 0;
-
- if ( b->yy_is_our_buffer )
- yy_flex_free( (void *) b->yy_ch_buf );
-
- yy_flex_free( (void *) b );
- }
-
-
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
-
-
- {
- yy_flush_buffer( b );
-
- b->yy_input_file = file;
- b->yy_fill_buffer = 1;
-
-#if YY_ALWAYS_INTERACTIVE
- b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
- b->yy_is_interactive = 0;
-#else
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
- }
-
-
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-
- {
- if ( ! b )
- return;
-
- b->yy_n_chars = 0;
-
- /* We always need two end-of-buffer characters. The first causes
- * a transition to the end-of-buffer state. The second causes
- * a jam in that state.
- */
- b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
- b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
- b->yy_buf_pos = &b->yy_ch_buf[0];
-
- b->yy_at_bol = 1;
- b->yy_buffer_status = YY_BUFFER_NEW;
-
- if ( b == yy_current_buffer )
- yy_load_buffer_state();
- }
-
-
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
- {
- YY_BUFFER_STATE b;
-
- if ( size < 2 ||
- base[size-2] != YY_END_OF_BUFFER_CHAR ||
- base[size-1] != YY_END_OF_BUFFER_CHAR )
- /* They forgot to leave room for the EOB's. */
- return 0;
-
- b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
- if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
- b->yy_buf_pos = b->yy_ch_buf = base;
- b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
- b->yy_n_chars = b->yy_buf_size;
- b->yy_is_interactive = 0;
- b->yy_at_bol = 1;
- b->yy_fill_buffer = 0;
- b->yy_buffer_status = YY_BUFFER_NEW;
-
- yy_switch_to_buffer( b );
-
- return b;
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
- {
- int len;
- for ( len = 0; yy_str[len]; ++len )
- ;
-
- return yy_scan_bytes( yy_str, len );
- }
-#endif
-
-
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
- {
- YY_BUFFER_STATE b;
- char *buf;
- yy_size_t n;
- int i;
-
- /* Get memory for full buffer, including space for trailing EOB's. */
- n = len + 2;
- buf = (char *) yy_flex_alloc( n );
- if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
- for ( i = 0; i < len; ++i )
- buf[i] = bytes[i];
-
- buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
-
- b = yy_scan_buffer( buf, n );
- if ( ! b )
- YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
- /* It's okay to grow etc. this buffer, and we should throw it
- * away when we're done.
- */
- b->yy_is_our_buffer = 1;
-
- return b;
- }
-#endif
-
-
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
-#endif
- {
- if ( yy_start_stack_ptr >= yy_start_stack_depth )
- {
- yy_size_t new_size;
-
- yy_start_stack_depth += YY_START_STACK_INCR;
- new_size = yy_start_stack_depth * sizeof( int );
-
- if ( ! yy_start_stack )
- yy_start_stack = (int *) yy_flex_alloc( new_size );
-
- else
- yy_start_stack = (int *) yy_flex_realloc(
- (void *) yy_start_stack, new_size );
-
- if ( ! yy_start_stack )
- YY_FATAL_ERROR(
- "out of memory expanding start-condition stack" );
- }
-
- yy_start_stack[yy_start_stack_ptr++] = YY_START;
-
- BEGIN(new_state);
- }
-#endif
-
-
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
- {
- if ( --yy_start_stack_ptr < 0 )
- YY_FATAL_ERROR( "start-condition stack underflow" );
-
- BEGIN(yy_start_stack[yy_start_stack_ptr]);
- }
-#endif
-
-
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
- {
- return yy_start_stack[yy_start_stack_ptr - 1];
- }
-#endif
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
- {
- (void) fprintf( stderr, "%s\n", msg );
- exit( YY_EXIT_FAILURE );
- }
-
-
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
- do \
- { \
- /* Undo effects of setting up yytext. */ \
- yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n; \
- yy_hold_char = *yy_c_buf_p; \
- *yy_c_buf_p = '\0'; \
- yyleng = n; \
- } \
- while ( 0 )
-
-
-/* Internal utility routines. */
-
-#ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
- {
- register int i;
- for ( i = 0; i < n; ++i )
- s1[i] = s2[i];
- }
-#endif
-
-#ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
- {
- register int n;
- for ( n = 0; s[n]; ++n )
- ;
-
- return n;
- }
-#endif
-
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
- {
- return (void *) malloc( size );
- }
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
- {
- /* The cast to (char *) in the following accommodates both
- * implementations that use char* generic pointers, and those
- * that use void* generic pointers. It works with the latter
- * because both ANSI C and C++ allow castless assignment from
- * any pointer type to void*, and deal with argument conversions
- * as though doing an assignment.
- */
- return (void *) realloc( (char *) ptr, size );
- }
-
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
- {
- free( ptr );
- }
-
-#if YY_MAIN
-int main()
- {
- yylex();
- return 0;
- }
-#endif
-#line 118 "lex_config.l"
-
-
-#ifndef yywrap
-int yywrap() { return 1; }
-#endif
-
-/*======================================================================
-
- Stuff to parse basic data types
-
-======================================================================*/
-
-static int lex_number(char *s)
-{
- yylval.num = strtoul(s, NULL, 0);
- return NUMBER;
-}
-
-static int lex_string(char *s)
-{
- int n = strlen(s);
- yylval.str = malloc(n-1);
- strncpy(yylval.str, s+1, n-2);
- yylval.str[n-2] = '\0';
- return STRING;
-}
-
-/*======================================================================
-
- Code to support nesting of configuration files
-
-======================================================================*/
-
-#define MAX_SOURCE_DEPTH 4
-struct source_stack {
- YY_BUFFER_STATE buffer;
- char *filename;
- int lineno, fileno;
- FILE *file;
- glob_t glob;
-} source_stack[MAX_SOURCE_DEPTH];
-static int source_stack_ptr = 0;
-static int parse_env = 0;
-
-static int get_glob(void)
-{
- struct source_stack *s = &source_stack[source_stack_ptr];
- while (s->fileno < s->glob.gl_pathc) {
- char *fn = s->glob.gl_pathv[s->fileno];
- s->file = fopen(fn, "r");
- if (s->file == NULL) {
- if (strpbrk(fn, "?*[") == NULL)
- syslog(LOG_INFO, "could not open '%s': %m", fn);
- s->fileno++;
- } else {
- current_lineno = 1;
- current_file = strdup(fn);
- yy_switch_to_buffer(yy_create_buffer(s->file, YY_BUF_SIZE));
- source_stack_ptr++;
- s->fileno++;
- return 0;
- }
- }
- return -1;
-}
-
-static void do_source(char *fn)
-{
- struct source_stack *s = &source_stack[source_stack_ptr];
-
- if (source_stack_ptr >= MAX_SOURCE_DEPTH) {
- syslog(LOG_INFO, "source depth limit exceeded");
- return;
- }
- glob(fn, GLOB_NOCHECK, NULL, &s->glob);
- s->fileno = 0;
- s->buffer = YY_CURRENT_BUFFER;
- s->lineno = current_lineno;
- s->filename = current_file;
- get_glob();
-}
-
-static int do_eof(void)
-{
- struct source_stack *s = &source_stack[--source_stack_ptr];
- if (source_stack_ptr < 0) {
- if (parse_env == 0) {
- char *t = getenv("PCMCIA_OPTS");
- if (t == NULL) return -1;
- parse_env = 1;
- source_stack_ptr = 0;
- current_file = "PCMCIA_OPTS";
- current_lineno = 1;
- yy_scan_string(t);
- return 0;
- } else
- return -1;
- }
- fclose(s->file);
- free(current_file);
- yy_delete_buffer(YY_CURRENT_BUFFER);
- if (get_glob() != 0) {
- yy_switch_to_buffer(s->buffer);
- current_lineno = s->lineno;
- current_file = s->filename;
- }
- return 0;
-}
-
-/*======================================================================
-
- The main entry point... returns -1 if the file can't be accessed.
-
-======================================================================*/
-int yyparse(void);
-
-int parse_configfile(char *fn)
-{
- FILE *f;
-
- f = fopen(fn, "r");
- if (!f) {
- syslog(LOG_INFO, "could not open '%s': %m", fn);
- return -1;
- }
- current_lineno = 1;
- current_file = fn;
- source_stack_ptr = 0;
- yyrestart(f);
- yyparse();
- fclose(f);
- return 0;
-}
-
diff --git a/mdk-stage1/pcmcia_/merge_from_pcitable b/mdk-stage1/pcmcia_/merge_from_pcitable
deleted file mode 100755
index 27cda239b..000000000
--- a/mdk-stage1/pcmcia_/merge_from_pcitable
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/perl
-
-# This program will show on stdout yenta_socket stuff from pcitable
-# which is not in probe.c
-
-use MDK::Common;
-
-my @probelines = cat_('probe.c');
-my $status = 0;
-foreach (@probelines) {
- if ($status == 0) {
- /^pci_id_t pci_id\[\] = {/ and $status = 1;
- } elsif ($status == 1) {
- /^\s*{\s*0x([\da-f]+),\s*0x([\da-f]+),\s*"([^"]*)",\s*"([^"]*)"\s*}/
- and push @probes, { vendor => $1, device => $2, tag => $3, name => $4, vd => "$1$2" };
- /^};/ and last;
- }
-}
-
-require '/usr/bin/merge2pcitable.pl';
-my $drivers = read_pcitable("/usr/share/ldetect-lst/pcitable");
-
-foreach my $k (sort keys %$drivers) {
- $v = $drivers->{$k};
- $k =~ /^(....)(....)/;
- push @pcitable, { vendor => $1, device => $2, driver => $v->[0], name => $v->[1], vd => "$1$2" };
-}
-
-my @res;
-print "Missing in `probe.c':\n";
-foreach my $p (@pcitable) {
- next if $p->{driver} ne 'yenta_socket';
- member($p->{vd}, map { $_->{vd} } @probes) or
- push @res, " { 0x$p->{vendor}, 0x$p->{device}, \"..\", \"$p->{name}\" },\n";
-}
-print sort @res;
-@res = ();
-print "\n";
-
-print "Missing in pcitable:\n";
-foreach my $p (@probes) {
- my @r = grep { $_->{vd} eq $p->{vd} } @pcitable;
- @r > 1 and die "duplicate entry in pcitable <$p->{vd}>\n";
- if (!@r || @r && $r[0]->{driver} ne 'yenta_socket') {
- push @res, "0x$p->{vendor}\t0x$p->{device}\t\"yenta_socket\"\t\"" . (@r ? $r[0]->{name} : '(COMPLETELY MISSING)') . "\"\n";
- @r and $r[0]->{driver} ne 'unknown' and print STDERR "WARNING, driver for <$p->{vd}> was <$r[0]->{driver}>\n";
- }
-}
-print sort @res;
-@res = ();
-print "\n";
diff --git a/mdk-stage1/pcmcia_/pcmcia.h b/mdk-stage1/pcmcia_/pcmcia.h
deleted file mode 100644
index 1967b3497..000000000
--- a/mdk-stage1/pcmcia_/pcmcia.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _PCMCIA_CARDMGR_INTERFACE_H_
-#define _PCMCIA_CARDMGR_INTERFACE_H_
-
-char * pcmcia_probe(void);
-int cardmgr_call(void);
-
-#endif
diff --git a/mdk-stage1/pcmcia_/probe.c b/mdk-stage1/pcmcia_/probe.c
deleted file mode 100644
index 88853426d..000000000
--- a/mdk-stage1/pcmcia_/probe.c
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
- *
- * Copyright 2000-2001 MandrakeSoft
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- * Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.29.tar.bz2
- */
-
-/*======================================================================
-
- PCMCIA controller probe
-
- probe.c 1.55 2001/08/24 12:19:20
-
- The contents of this file are subject to the Mozilla Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The initial developer of the original code is David A. Hinds
- <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU General Public License version 2 (the "GPL"), in
- which case the provisions of the GPL are applicable instead of the
- above. If you wish to allow the use of your version of this file
- only under the terms of the GPL and not to allow others to use
- your version of this file under the MPL, indicate your decision
- by deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the MPL or the GPL.
-
-======================================================================*/
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-
-//mdk-stage1// #include <pcmcia/config.h>
-#include "log.h"
-#include "pcmcia.h"
-
-/*====================================================================*/
-
-//mdk-stage1// #ifdef CONFIG_PCI
-
-typedef struct {
- u_short vendor, device;
- char *modname;
- char *name;
-} pci_id_t;
-
-pci_id_t pci_id[] = {
- { 0x1013, 0x1100, "i82365", "Cirrus Logic CL 6729" },
- { 0x1013, 0x1110, "yenta_socket", "Cirrus Logic PD 6832" },
- { 0x10b3, 0xb106, "yenta_socket", "SMC 34C90" },
- { 0x1180, 0x0465, "yenta_socket", "Ricoh RL5C465" },
- { 0x1180, 0x0466, "yenta_socket", "Ricoh RL5C466" },
- { 0x1180, 0x0475, "yenta_socket", "Ricoh RL5C475" },
- { 0x1180, 0x0476, "yenta_socket", "Ricoh RL5C476" },
- { 0x1180, 0x0477, "yenta_socket", "Ricoh RL5C477" },
- { 0x1180, 0x0478, "yenta_socket", "Ricoh RL5C478" },
- { 0x104c, 0xac12, "yenta_socket", "Texas Instruments PCI1130" },
- { 0x104c, 0xac13, "yenta_socket", "Texas Instruments PCI1031" },
- { 0x104c, 0xac15, "yenta_socket", "Texas Instruments PCI1131" },
- { 0x104c, 0xac1a, "yenta_socket", "Texas Instruments PCI1210" },
- { 0x104c, 0xac1e, "yenta_socket", "Texas Instruments PCI1211" },
- { 0x104c, 0xac17, "yenta_socket", "Texas Instruments PCI1220" },
- { 0x104c, 0xac19, "yenta_socket", "Texas Instruments PCI1221" },
- { 0x104c, 0xac1c, "yenta_socket", "Texas Instruments PCI1225" },
- { 0x104c, 0xac16, "yenta_socket", "Texas Instruments PCI1250" },
- { 0x104c, 0xac1d, "yenta_socket", "Texas Instruments PCI1251A" },
- { 0x104c, 0xac1f, "yenta_socket", "Texas Instruments PCI1251B" },
- { 0x104c, 0xac50, "yenta_socket", "Texas Instruments PCI1410" },
- { 0x104c, 0xac51, "yenta_socket", "Texas Instruments PCI1420" },
- { 0x104c, 0xac1b, "yenta_socket", "Texas Instruments PCI1450" },
- { 0x104c, 0xac52, "yenta_socket", "Texas Instruments PCI1451" },
- { 0x104c, 0xac56, "yenta_socket", "Texas Instruments PCI1510" },
- { 0x104c, 0xac55, "yenta_socket", "Texas Instruments PCI1520" },
- { 0x104c, 0xac54, "yenta_socket", "Texas Instruments PCI1620" },
- { 0x104c, 0xac41, "yenta_socket", "Texas Instruments PCI4410" },
- { 0x104c, 0xac40, "yenta_socket", "Texas Instruments PCI4450" },
- { 0x104c, 0xac42, "yenta_socket", "Texas Instruments PCI4451" },
- { 0x104c, 0xac44, "yenta_socket", "Texas Instruments PCI4510" },
- { 0x104c, 0xac46, "yenta_socket", "Texas Instruments PCI4520" },
- { 0x104c, 0xac49, "yenta_socket", "Texas Instruments PCI7410" },
- { 0x104c, 0xac47, "yenta_socket", "Texas Instruments PCI7510" },
- { 0x104c, 0xac48, "yenta_socket", "Texas Instruments PCI7610" },
- { 0x1217, 0x6729, "i82365", "O2 Micro 6729" },
- { 0x1217, 0x673a, "i82365", "O2 Micro 6730" },
- { 0x1217, 0x6832, "yenta_socket", "O2 Micro 6832/6833" },
- { 0x1217, 0x6836, "yenta_socket", "O2 Micro 6836/6860" },
- { 0x1217, 0x6872, "yenta_socket", "O2 Micro 6812" },
- { 0x1217, 0x6925, "yenta_socket", "O2 Micro 6922" },
- { 0x1217, 0x6933, "yenta_socket", "O2 Micro 6933" },
- { 0x1217, 0x6972, "yenta_socket", "O2 Micro 6912" },
- { 0x1179, 0x0603, "i82365", "Toshiba ToPIC95-A" },
- { 0x1179, 0x060a, "yenta_socket", "Toshiba ToPIC95-B" },
- { 0x1179, 0x060f, "yenta_socket", "Toshiba ToPIC97" },
- { 0x1179, 0x0617, "yenta_socket", "Toshiba ToPIC100" },
- { 0x119b, 0x1221, "i82365", "Omega Micro 82C092G" },
- { 0x1524, 0x1411, "yenta_socket", "ENE Technology CB1411" },
- { 0x8086, 0x1221, "i82092", "Intel 82092AA_0" },
- { 0x8086, 0x1222, "i82092", "Intel 82092AA_1" },
-};
-#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
-
-char * driver = NULL;
-
-static int pci_probe(void)
-{
- char s[256], *name = NULL;
- u_int device, vendor, i;
- FILE *f;
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing PCI bus..");
-
- if ((f = fopen("/proc/bus/pci/devices", "r")) != NULL) {
- while (fgets(s, 256, f) != NULL) {
- u_int n = strtoul(s+5, NULL, 16);
- vendor = (n >> 16); device = (n & 0xffff);
- for (i = 0; i < PCI_COUNT; i++)
- if ((vendor == pci_id[i].vendor) &&
- (device == pci_id[i].device)) break;
- if (i < PCI_COUNT) {
- name = pci_id[i].name;
- driver = pci_id[i].modname;
- }
- }
- }
-//mdk-stage1// else if ((f = fopen("/proc/pci", "r")) != NULL) {
-//mdk-stage1// while (fgets(s, 256, f) != NULL) {
-//mdk-stage1// t = strstr(s, "Device id=");
-//mdk-stage1// if (t) {
-//mdk-stage1// device = strtoul(t+10, NULL, 16);
-//mdk-stage1// t = strstr(s, "Vendor id=");
-//mdk-stage1// vendor = strtoul(t+10, NULL, 16);
-//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
-//mdk-stage1// if ((vendor == pci_id[i].vendor) &&
-//mdk-stage1// (device == pci_id[i].device)) break;
-//mdk-stage1// } else
-//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
-//mdk-stage1// if (strstr(s, pci_id[i].tag) != NULL) break;
-//mdk-stage1// if (i != PCI_COUNT) {
-//mdk-stage1// name = pci_id[i].name;
-//mdk-stage1// break;
-//mdk-stage1// } else {
-//mdk-stage1// t = strstr(s, "CardBus bridge");
-//mdk-stage1// if (t != NULL) {
-//mdk-stage1// name = t + 16;
-//mdk-stage1// t = strchr(s, '(');
-//mdk-stage1// t[-1] = '\0';
-//mdk-stage1// break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// }
- fclose(f);
-
- if (name) {
-//mdk-stage1// if (module)
-//mdk-stage1// printf("i82365\n");
-//mdk-stage1// else
- log_message("\t%s found, 2 sockets (driver %s).", name, driver);
- return 0;
- } else {
-//mdk-stage1// if (!module)
- log_message("\tnot found.");
- return -ENODEV;
- }
-}
-//mdk-stage1// #endif
-
-/*====================================================================*/
-
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1//
-//mdk-stage1// #ifdef __GLIBC__
-#include <sys/io.h>
-//mdk-stage1// #else
-//mdk-stage1// #include <asm/io.h>
-//mdk-stage1// #endif
-typedef u_short ioaddr_t;
-
-#include "i82365.h"
-#include "cirrus.h"
-#include "vg468.h"
-
-static ioaddr_t i365_base = 0x03e0;
-
-static u_char i365_get(u_short sock, u_short reg)
-{
- u_char val = I365_REG(sock, reg);
- outb(val, i365_base); val = inb(i365_base+1);
- return val;
-}
-
-static void i365_set(u_short sock, u_short reg, u_char data)
-{
- u_char val = I365_REG(sock, reg);
- outb(val, i365_base); outb(data, i365_base+1);
-}
-
-static void i365_bset(u_short sock, u_short reg, u_char mask)
-{
- u_char d = i365_get(sock, reg);
- d |= mask;
- i365_set(sock, reg, d);
-}
-
-static void i365_bclr(u_short sock, u_short reg, u_char mask)
-{
- u_char d = i365_get(sock, reg);
- d &= ~mask;
- i365_set(sock, reg, d);
-}
-
-int i365_probe(void)
-{
- int val, sock, done;
- char *name = "i82365sl";
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing for Intel PCIC (ISA)..");
-//mdk-stage1// if (verbose) printf("\n");
-
- sock = done = 0;
- if (ioperm(i365_base, 4, 1)) {
- log_perror("PCMCIA: ioperm");
- return -1;
- }
- ioperm(0x80, 1, 1);
- for (; sock < 2; sock++) {
- val = i365_get(sock, I365_IDENT);
-//mdk-stage1// if (verbose)
-//mdk-stage1// printf(" ident(%d)=%#2.2x", sock, val);
- switch (val) {
- case 0x82:
- name = "i82365sl A step";
- break;
- case 0x83:
- name = "i82365sl B step";
- break;
- case 0x84:
- name = "VLSI 82C146";
- break;
- case 0x88: case 0x89: case 0x8a:
- name = "IBM Clone";
- break;
- case 0x8b: case 0x8c:
- break;
- default:
- done = 1;
- }
- if (done) break;
- }
-
-//mdk-stage1// if (verbose) printf("\n ");
- if (sock == 0) {
-//mdk-stage1// if (!module)
- log_message("\tnot found.");
- return -ENODEV;
- }
-
- if ((sock == 2) && (strcmp(name, "VLSI 82C146") == 0))
- name = "i82365sl DF";
-
- /* Check for Vadem chips */
- outb(0x0e, i365_base);
- outb(0x37, i365_base);
- i365_bset(0, VG468_MISC, VG468_MISC_VADEMREV);
- val = i365_get(0, I365_IDENT);
- if (val & I365_IDENT_VADEM) {
- if ((val & 7) < 4)
- name = "Vadem VG-468";
- else
- name = "Vadem VG-469";
- i365_bclr(0, VG468_MISC, VG468_MISC_VADEMREV);
- }
-
- /* Check for Cirrus CL-PD67xx chips */
- i365_set(0, PD67_CHIP_INFO, 0);
- val = i365_get(0, PD67_CHIP_INFO);
- if ((val & PD67_INFO_CHIP_ID) == PD67_INFO_CHIP_ID) {
- val = i365_get(0, PD67_CHIP_INFO);
- if ((val & PD67_INFO_CHIP_ID) == 0) {
- if (val & PD67_INFO_SLOTS)
- name = "Cirrus CL-PD672x";
- else {
- name = "Cirrus CL-PD6710";
- sock = 1;
- }
- i365_set(0, PD67_EXT_INDEX, 0xe5);
- if (i365_get(0, PD67_EXT_INDEX) != 0xe5)
- name = "VIA VT83C469";
- }
- }
-
-//mdk-stage1// if (module)
-//mdk-stage1// printf("i82365\n");
-//mdk-stage1// else
- printf("\t%s found, %d sockets.\n", name, sock);
- return 0;
-
-} /* i365_probe */
-
-//mdk-stage1//#endif /* CONFIG_ISA */
-
-/*====================================================================*/
-
-//mdk-stage1//#ifdef CONFIG_ISA
-
-#include "tcic.h"
-
-//mdk-stage1//static ioaddr_t tcic_base = TCIC_BASE;
-
-static u_char tcic_getb(ioaddr_t base, u_char reg)
-{
- u_char val = inb(base+reg);
- return val;
-}
-
-static void tcic_setb(ioaddr_t base, u_char reg, u_char data)
-{
- outb(data, base+reg);
-}
-
-static u_short tcic_getw(ioaddr_t base, u_char reg)
-{
- u_short val = inw(base+reg);
- return val;
-}
-
-static void tcic_setw(ioaddr_t base, u_char reg, u_short data)
-{
- outw(data, base+reg);
-}
-
-static u_short tcic_aux_getw(ioaddr_t base, u_short reg)
-{
- u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
- tcic_setb(base, TCIC_MODE, mode);
- return tcic_getw(base, TCIC_AUX);
-}
-
-static void tcic_aux_setw(ioaddr_t base, u_short reg, u_short data)
-{
- u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
- tcic_setb(base, TCIC_MODE, mode);
- tcic_setw(base, TCIC_AUX, data);
-}
-
-static int get_tcic_id(ioaddr_t base)
-{
- u_short id;
- tcic_aux_setw(base, TCIC_AUX_TEST, TCIC_TEST_DIAG);
- id = tcic_aux_getw(base, TCIC_AUX_ILOCK);
- id = (id & TCIC_ILOCKTEST_ID_MASK) >> TCIC_ILOCKTEST_ID_SH;
- tcic_aux_setw(base, TCIC_AUX_TEST, 0);
- return id;
-}
-
-int tcic_probe_at(ioaddr_t base)
-{
- int i;
- u_short old;
-
- /* Anything there?? */
- for (i = 0; i < 0x10; i += 2)
- if (tcic_getw(base, i) == 0xffff)
- return -1;
-
-//mdk-stage1// if (!module)
- log_message("\tat %#3.3x: ", base); fflush(stdout);
-
- /* Try to reset the chip */
- tcic_setw(base, TCIC_SCTRL, TCIC_SCTRL_RESET);
- tcic_setw(base, TCIC_SCTRL, 0);
-
- /* Can we set the addr register? */
- old = tcic_getw(base, TCIC_ADDR);
- tcic_setw(base, TCIC_ADDR, 0);
- if (tcic_getw(base, TCIC_ADDR) != 0) {
- tcic_setw(base, TCIC_ADDR, old);
- return -2;
- }
-
- tcic_setw(base, TCIC_ADDR, 0xc3a5);
- if (tcic_getw(base, TCIC_ADDR) != 0xc3a5)
- return -3;
-
- return 2;
-}
-
-int tcic_probe(void)
-{
- int sock, id;
-
-//mdk-stage1// if (!module)
- log_message("PCMCIA: probing for Databook TCIC-2 (ISA).."); fflush(stdout);
-
- if (ioperm(TCIC_BASE, 16, 1)) {
- log_perror("PCMCIA: ioperm");
- return -1;
- }
- ioperm(0x80, 1, 1);
- sock = tcic_probe_at(TCIC_BASE);
-
- if (sock <= 0) {
-//mdk-stage1// if (!module)
- log_message("\tnot found.");
- return -ENODEV;
- }
-
-//mdk-stage1// if (module)
-//mdk-stage1// printf("tcic\n");
-//mdk-stage1// else {
- id = get_tcic_id(TCIC_BASE);
- switch (id) {
- case TCIC_ID_DB86082:
- log_message("DB86082"); break;
- case TCIC_ID_DB86082A:
- log_message("DB86082A"); break;
- case TCIC_ID_DB86084:
- log_message("DB86084"); break;
- case TCIC_ID_DB86084A:
- log_message("DB86084A"); break;
- case TCIC_ID_DB86072:
- log_message("DB86072"); break;
- case TCIC_ID_DB86184:
- log_message("DB86184"); break;
- case TCIC_ID_DB86082B:
- log_message("DB86082B"); break;
- default:
- log_message("Unknown TCIC-2 ID 0x%02x", id);
- }
- log_message(" found at %#6x, %d sockets.", TCIC_BASE, sock);
-//mdk-stage1// }
- return 0;
-
-} /* tcic_probe */
-
-//mdk-stage1// #endif /* CONFIG_ISA */
-
-//mdk-stage1// /*====================================================================*/
-//mdk-stage1//
-//mdk-stage1// int main(int argc, char *argv[])
-//mdk-stage1// {
-//mdk-stage1// int optch, errflg;
-//mdk-stage1// extern char *optarg;
-//mdk-stage1// int verbose = 0, module = 0;
-//mdk-stage1//
-//mdk-stage1// errflg = 0;
-//mdk-stage1// while ((optch = getopt(argc, argv, "t:vxm")) != -1) {
-//mdk-stage1// switch (optch) {
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1// case 't':
-//mdk-stage1// tcic_base = strtoul(optarg, NULL, 0); break;
-//mdk-stage1// #endif
-//mdk-stage1// case 'v':
-//mdk-stage1// verbose = 1; break;
-//mdk-stage1// case 'm':
-//mdk-stage1// module = 1; break;
-//mdk-stage1// default:
-//mdk-stage1// errflg = 1; break;
-//mdk-stage1// }
-//mdk-stage1// }
-//mdk-stage1// if (errflg || (optind < argc)) {
-//mdk-stage1// fprintf(stderr, "usage: %s [-t tcic_base] [-v] [-m]\n", argv[0]);
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// }
-//mdk-stage1//
-//mdk-stage1// #ifdef CONFIG_PCI
-//mdk-stage1// if (pci_probe(verbose, module) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// #endif
-//mdk-stage1// #ifdef CONFIG_ISA
-//mdk-stage1// if (i365_probe(verbose, module) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// else if (tcic_probe(verbose, module, tcic_base) == 0)
-//mdk-stage1// exit(EXIT_SUCCESS);
-//mdk-stage1// #endif
-//mdk-stage1// exit(EXIT_FAILURE);
-//mdk-stage1// return 0;
-//mdk-stage1// }
-
-
-char * pcmcia_probe(void)
-{
- if (!pci_probe())
- return driver;
- else if (!i365_probe())
- return "i82365";
- else if (!tcic_probe())
- return "tcic";
- else
- return NULL;
-}
diff --git a/mdk-stage1/pcmcia_/vg468.h b/mdk-stage1/pcmcia_/vg468.h
deleted file mode 100644
index 93dc00b37..000000000
--- a/mdk-stage1/pcmcia_/vg468.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * vg468.h 1.14 2001/08/24 12:15:34
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#ifndef _LINUX_VG468_H
-#define _LINUX_VG468_H
-
-/* Special bit in I365_IDENT used for Vadem chip detection */
-#define I365_IDENT_VADEM 0x08
-
-/* Special definitions in I365_POWER */
-#define VG468_VPP2_MASK 0x0c
-#define VG468_VPP2_5V 0x04
-#define VG468_VPP2_12V 0x08
-
-/* Unique Vadem registers */
-#define VG469_VSENSE 0x1f /* Card voltage sense */
-#define VG469_VSELECT 0x2f /* Card voltage select */
-#define VG468_CTL 0x38 /* Control register */
-#define VG468_TIMER 0x39 /* Timer control */
-#define VG468_MISC 0x3a /* Miscellaneous */
-#define VG468_GPIO_CFG 0x3b /* GPIO configuration */
-#define VG469_EXT_MODE 0x3c /* Extended mode register */
-#define VG468_SELECT 0x3d /* Programmable chip select */
-#define VG468_SELECT_CFG 0x3e /* Chip select configuration */
-#define VG468_ATA 0x3f /* ATA control */
-
-/* Flags for VG469_VSENSE */
-#define VG469_VSENSE_A_VS1 0x01
-#define VG469_VSENSE_A_VS2 0x02
-#define VG469_VSENSE_B_VS1 0x04
-#define VG469_VSENSE_B_VS2 0x08
-
-/* Flags for VG469_VSELECT */
-#define VG469_VSEL_VCC 0x03
-#define VG469_VSEL_5V 0x00
-#define VG469_VSEL_3V 0x03
-#define VG469_VSEL_MAX 0x0c
-#define VG469_VSEL_EXT_STAT 0x10
-#define VG469_VSEL_EXT_BUS 0x20
-#define VG469_VSEL_MIXED 0x40
-#define VG469_VSEL_ISA 0x80
-
-/* Flags for VG468_CTL */
-#define VG468_CTL_SLOW 0x01 /* 600ns memory timing */
-#define VG468_CTL_ASYNC 0x02 /* Asynchronous bus clocking */
-#define VG468_CTL_TSSI 0x08 /* Tri-state some outputs */
-#define VG468_CTL_DELAY 0x10 /* Card detect debounce */
-#define VG468_CTL_INPACK 0x20 /* Obey INPACK signal? */
-#define VG468_CTL_POLARITY 0x40 /* VCCEN polarity */
-#define VG468_CTL_COMPAT 0x80 /* Compatibility stuff */
-
-#define VG469_CTL_WS_COMPAT 0x04 /* Wait state compatibility */
-#define VG469_CTL_STRETCH 0x10 /* LED stretch */
-
-/* Flags for VG468_TIMER */
-#define VG468_TIMER_ZEROPWR 0x10 /* Zero power control */
-#define VG468_TIMER_SIGEN 0x20 /* Power up */
-#define VG468_TIMER_STATUS 0x40 /* Activity timer status */
-#define VG468_TIMER_RES 0x80 /* Timer resolution */
-#define VG468_TIMER_MASK 0x0f /* Activity timer timeout */
-
-/* Flags for VG468_MISC */
-#define VG468_MISC_GPIO 0x04 /* General-purpose IO */
-#define VG468_MISC_DMAWSB 0x08 /* DMA wait state control */
-#define VG469_MISC_LEDENA 0x10 /* LED enable */
-#define VG468_MISC_VADEMREV 0x40 /* Vadem revision control */
-#define VG468_MISC_UNLOCK 0x80 /* Unique register lock */
-
-/* Flags for VG469_EXT_MODE_A */
-#define VG469_MODE_VPPST 0x03 /* Vpp steering control */
-#define VG469_MODE_INT_SENSE 0x04 /* Internal voltage sense */
-#define VG469_MODE_CABLE 0x08
-#define VG469_MODE_COMPAT 0x10 /* i82365sl B or DF step */
-#define VG469_MODE_TEST 0x20
-#define VG469_MODE_RIO 0x40 /* Steer RIO to INTR? */
-
-/* Flags for VG469_EXT_MODE_B */
-#define VG469_MODE_B_3V 0x01 /* 3.3v for socket B */
-
-/* Data structure for tracking vendor-specific state */
-typedef struct vg46x_state_t {
- u_char ctl; /* VG468_CTL */
- u_char ema; /* VG468_EXT_MODE_A */
-} vg46x_state_t;
-
-#endif /* _LINUX_VG468_H */
diff --git a/mdk-stage1/pcmcia_/yacc_config.c b/mdk-stage1/pcmcia_/yacc_config.c
deleted file mode 100644
index 79ec16eb5..000000000
--- a/mdk-stage1/pcmcia_/yacc_config.c
+++ /dev/null
@@ -1,1015 +0,0 @@
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define yyclearin (yychar=(-1))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING (yyerrflag!=0)
-#define YYPREFIX "yy"
-#line 2 "yacc_config.y"
-/*
- * yacc_config.y 1.53 2001/08/24 12:21:34
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License
- * at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- * the License for the specific language governing rights and
- * limitations under the License.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU General Public License version 2 (the "GPL"), in
- * which case the provisions of the GPL are applicable instead of the
- * above. If you wish to allow the use of your version of this file
- * only under the terms of the GPL and not to allow others to use
- * your version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice and
- * other provisions required by the GPL. If you do not delete the
- * provisions above, a recipient may use your version of this file
- * under either the MPL or the GPL.
- */
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <syslog.h>
-#include <sys/types.h>
-
-#include <pcmcia_/cs_types.h>
-#include <pcmcia_/cs.h>
-#include <pcmcia_/cistpl.h>
-#include <pcmcia_/ds.h>
-
-#include "cardmgr.h"
-
-/* If bison: generate nicer error messages */
-#define YYERROR_VERBOSE 1
-
-/* from lex_config, for nice error messages */
-extern char *current_file;
-extern int current_lineno;
-
-void yyerror(char *msg, ...);
-
-static int add_binding(card_info_t *card, char *name, int fn);
-static int add_module(device_info_t *card, char *name);
-
-#line 65 "yacc_config.y"
-typedef union {
- char *str;
- u_long num;
- struct device_info_t *device;
- struct card_info_t *card;
- struct mtd_ident_t *mtd;
- struct adjust_list_t *adjust;
-} YYSTYPE;
-#line 77 "y.tab.c"
-#define DEVICE 257
-#define CARD 258
-#define ANONYMOUS 259
-#define TUPLE 260
-#define MANFID 261
-#define VERSION 262
-#define FUNCTION 263
-#define PCI 264
-#define BIND 265
-#define CIS 266
-#define TO 267
-#define NEEDS_MTD 268
-#define MODULE 269
-#define OPTS 270
-#define CLASS 271
-#define REGION 272
-#define JEDEC 273
-#define DTYPE 274
-#define DEFAULT 275
-#define MTD 276
-#define INCLUDE 277
-#define EXCLUDE 278
-#define RESERVE 279
-#define IRQ_NO 280
-#define PORT 281
-#define MEMORY 282
-#define STRING 283
-#define NUMBER 284
-#define YYERRCODE 256
-short yylhs[] = { -1,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
- 1, 1, 2, 2, 2, 3, 3, 3, 3, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 8, 9,
- 10, 11, 12, 12, 13, 15, 14, 14, 14, 14,
- 4, 21, 5, 5, 5, 6, 16, 16, 16, 16,
- 18, 17, 19, 20, 20, 22,
-};
-short yylen[] = { 2,
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 3, 2, 4, 4, 2, 1, 1, 1, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 7,
- 5, 5, 3, 3, 3, 3, 3, 5, 3, 5,
- 2, 4, 3, 3, 3, 3, 2, 1, 1, 1,
- 3, 4, 2, 3, 3, 4,
-};
-short yydefred[] = { 1,
- 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 17, 0, 19, 0, 21, 22, 23, 24,
- 0, 26, 0, 28, 0, 49, 48, 50, 0, 6,
- 7, 16, 20, 0, 47, 0, 0, 0, 0, 9,
- 10, 11, 0, 41, 0, 0, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 0, 0, 0, 0, 13, 0, 0, 12, 43,
- 46, 44, 45, 0, 0, 33, 35, 0, 0, 36,
- 34, 0, 0, 51, 54, 55, 42, 56, 0, 0,
- 0, 0, 0, 0, 0, 52, 14, 15, 0, 31,
- 32, 38, 40, 0, 30,
-};
-short yydgoto[] = { 1,
- 11, 40, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31,
-};
-short yysindex[] = { 0,
- -250, 0, -279, -278, -274, -265, -259, -242, -242, -242,
- -10, -248, 0, -44, 0, -249, 0, 0, 0, 0,
- -9, 0, -3, 0, -243, 0, 0, 0, -233, 0,
- 0, 0, 0, -228, 0, -227, -240, -238, -237, 0,
- 0, 0, -242, 0, -235, -232, -231, -230, 0, -234,
- -229, -226, -225, -224, -222, -221, -220, -219, -218, -217,
- 0, -215, -213, -212, -211, 0, 9, 11, 0, 0,
- 0, 0, 0, 14, 21, 0, 0, 30, -192, 0,
- 0, -191, -207, 0, 0, 0, 0, 0, -206, -205,
- -204, -203, -202, -201, -200, 0, 0, 0, 41, 0,
- 0, 0, 0, -197, 0,
-};
-short yyrindex[] = { 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 107, 149, 0, 90, 0, 124, 0, 0, 0, 0,
- 49, 0, 73, 0, 0, 0, 0, 0, 141, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
-};
-short yygindex[] = { 0,
- 0, -7, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,
-};
-#define YYTABLESIZE 428
-short yytable[] = { 48,
- 37, 41, 42, 32, 33, 2, 3, 4, 34, 49,
- 50, 51, 52, 53, 54, 55, 56, 35, 5, 44,
- 45, 6, 46, 36, 39, 7, 8, 9, 10, 59,
- 60, 61, 62, 43, 57, 69, 63, 37, 38, 39,
- 58, 64, 65, 66, 37, 67, 68, 70, 25, 74,
- 71, 72, 73, 89, 75, 90, 76, 91, 77, 78,
- 79, 80, 81, 82, 92, 83, 84, 85, 39, 86,
- 87, 88, 27, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 0, 0, 0, 18,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 47, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 0, 0, 37,
- 0, 0, 37, 0, 0, 0, 37, 37, 37, 37,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 0, 0, 39, 0, 0, 39, 0, 0, 0,
- 39, 39, 39, 39, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 0, 0, 25, 0, 0,
- 25, 0, 0, 0, 25, 25, 25, 25, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 0,
- 0, 27, 0, 0, 27, 18, 18, 18, 27, 27,
- 27, 27, 0, 0, 0, 0, 0, 18, 18, 0,
- 18, 18, 2, 2, 2, 18, 18, 18, 18, 0,
- 0, 0, 0, 0, 0, 2, 0, 0, 2, 5,
- 5, 5, 2, 2, 2, 2, 0, 0, 0, 0,
- 0, 0, 5, 0, 0, 5, 4, 4, 4, 5,
- 5, 5, 5, 0, 3, 3, 3, 0, 0, 4,
- 0, 0, 4, 0, 0, 0, 4, 4, 4, 4,
- 3, 0, 0, 0, 3, 3, 3, 3,
-};
-short yycheck[] = { 44,
- 0, 9, 10, 283, 283, 256, 257, 258, 283, 259,
- 260, 261, 262, 263, 264, 265, 266, 283, 269, 268,
- 269, 272, 271, 283, 0, 276, 277, 278, 279, 273,
- 274, 275, 276, 44, 44, 43, 270, 280, 281, 282,
- 44, 270, 270, 284, 44, 284, 284, 283, 0, 284,
- 283, 283, 283, 45, 284, 45, 283, 44, 284, 284,
- 283, 283, 283, 283, 44, 284, 284, 283, 44, 283,
- 283, 283, 0, 44, 267, 267, 284, 284, 284, 284,
- 284, 284, 284, 284, 44, 283, -1, -1, -1, 0,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 270, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 266, -1, -1, 269,
- -1, -1, 272, -1, -1, -1, 276, 277, 278, 279,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, -1, -1, 269, -1, -1, 272, -1, -1, -1,
- 276, 277, 278, 279, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, -1, -1, 269, -1, -1,
- 272, -1, -1, -1, 276, 277, 278, 279, 256, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 266, -1,
- -1, 269, -1, -1, 272, 256, 257, 258, 276, 277,
- 278, 279, -1, -1, -1, -1, -1, 268, 269, -1,
- 271, 272, 256, 257, 258, 276, 277, 278, 279, -1,
- -1, -1, -1, -1, -1, 269, -1, -1, 272, 256,
- 257, 258, 276, 277, 278, 279, -1, -1, -1, -1,
- -1, -1, 269, -1, -1, 272, 256, 257, 258, 276,
- 277, 278, 279, -1, 256, 257, 258, -1, -1, 269,
- -1, -1, 272, -1, -1, -1, 276, 277, 278, 279,
- 272, -1, -1, -1, 276, 277, 278, 279,
-};
-#define YYFINAL 1
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 284
-#if YYDEBUG
-char *yyname[] = {
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,"','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"DEVICE","CARD",
-"ANONYMOUS","TUPLE","MANFID","VERSION","FUNCTION","PCI","BIND","CIS","TO",
-"NEEDS_MTD","MODULE","OPTS","CLASS","REGION","JEDEC","DTYPE","DEFAULT","MTD",
-"INCLUDE","EXCLUDE","RESERVE","IRQ_NO","PORT","MEMORY","STRING","NUMBER",
-};
-char *yyrule[] = {
-"$accept : list",
-"list :",
-"list : list adjust",
-"list : list device",
-"list : list mtd",
-"list : list card",
-"list : list opts",
-"list : list mtd_opts",
-"list : list error",
-"adjust : INCLUDE resource",
-"adjust : EXCLUDE resource",
-"adjust : RESERVE resource",
-"adjust : adjust ',' resource",
-"resource : IRQ_NO NUMBER",
-"resource : PORT NUMBER '-' NUMBER",
-"resource : MEMORY NUMBER '-' NUMBER",
-"device : DEVICE STRING",
-"device : needs_mtd",
-"device : module",
-"device : class",
-"card : CARD STRING",
-"card : anonymous",
-"card : tuple",
-"card : manfid",
-"card : pci",
-"card : version",
-"card : function",
-"card : bind",
-"card : cis",
-"anonymous : card ANONYMOUS",
-"tuple : card TUPLE NUMBER ',' NUMBER ',' STRING",
-"manfid : card MANFID NUMBER ',' NUMBER",
-"pci : card PCI NUMBER ',' NUMBER",
-"version : card VERSION STRING",
-"version : version ',' STRING",
-"function : card FUNCTION NUMBER",
-"cis : card CIS STRING",
-"bind : card BIND STRING",
-"bind : card BIND STRING TO NUMBER",
-"bind : bind ',' STRING",
-"bind : bind ',' STRING TO NUMBER",
-"needs_mtd : device NEEDS_MTD",
-"opts : MODULE STRING OPTS STRING",
-"module : device MODULE STRING",
-"module : module OPTS STRING",
-"module : module ',' STRING",
-"class : device CLASS STRING",
-"region : REGION STRING",
-"region : dtype",
-"region : jedec",
-"region : default",
-"dtype : region DTYPE NUMBER",
-"jedec : region JEDEC NUMBER NUMBER",
-"default : region DEFAULT",
-"mtd : region MTD STRING",
-"mtd : mtd OPTS STRING",
-"mtd_opts : MTD STRING OPTS STRING",
-};
-#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 500
-#define YYMAXDEPTH 500
-#endif
-#endif
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
-YYSTYPE yyval;
-YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
-#define yystacksize YYSTACKSIZE
-#line 468 "yacc_config.y"
-void yyerror(char *msg, ...)
-{
- va_list ap;
- char str[256];
-
- va_start(ap, msg);
- sprintf(str, "config error, file '%s' line %d: ",
- current_file, current_lineno);
- vsprintf(str+strlen(str), msg, ap);
-#if YYDEBUG
- fprintf(stderr, "%s\n", str);
-#else
- syslog(LOG_ERR, "%s", str);
-#endif
- va_end(ap);
-}
-
-static int add_binding(card_info_t *card, char *name, int fn)
-{
- device_info_t *dev = root_device;
- if (card->bindings == MAX_BINDINGS) {
- yyerror("too many bindings\n");
- return -1;
- }
- for (; dev; dev = dev->next)
- if (strcmp((char *)dev->dev_info, name) == 0) break;
- if (dev == NULL) {
- yyerror("unknown device: %s", name);
- return -1;
- }
- card->device[card->bindings] = dev;
- card->dev_fn[card->bindings] = fn;
- card->bindings++;
- free(name);
- return 0;
-}
-
-static int add_module(device_info_t *dev, char *name)
-{
- if (dev->modules == MAX_MODULES) {
- yyerror("too many modules");
- return -1;
- }
- dev->module[dev->modules] = name;
- dev->opts[dev->modules] = NULL;
- dev->modules++;
- return 0;
-}
-
-#if YYDEBUG
-adjust_list_t *root_adjust = NULL;
-device_info_t *root_device = NULL;
-card_info_t *root_card = NULL, *blank_card = NULL, *root_func = NULL;
-mtd_ident_t *root_mtd = NULL, *default_mtd = NULL;
-
-void main(int argc, char *argv[])
-{
- yydebug = 1;
- if (argc > 1)
- parse_configfile(argv[1]);
-}
-#endif
-#line 426 "y.tab.c"
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-int yylex(void);
-int
-yyparse()
-{
- register int yym, yyn, yystate;
-#if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate])) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
- yyerror("syntax error");
-#ifdef lint
- goto yyerrlab;
-#endif
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
-case 2:
-#line 84 "yacc_config.y"
-{
- adjust_list_t **tail = &root_adjust;
- while (*tail != NULL) tail = &(*tail)->next;
- *tail = yyvsp[0].adjust;
- }
-break;
-case 3:
-#line 90 "yacc_config.y"
-{
- yyvsp[0].device->next = root_device;
- root_device = yyvsp[0].device;
- }
-break;
-case 4:
-#line 95 "yacc_config.y"
-{
- if (yyvsp[0].mtd->mtd_type == 0) {
- yyerror("no ID method for this card");
- YYERROR;
- }
- if (yyvsp[0].mtd->module == NULL) {
- yyerror("no MTD module specified");
- YYERROR;
- }
- yyvsp[0].mtd->next = root_mtd;
- root_mtd = yyvsp[0].mtd;
- }
-break;
-case 5:
-#line 108 "yacc_config.y"
-{
- if (yyvsp[0].card->ident_type == 0) {
- yyerror("no ID method for this card");
- YYERROR;
- }
- if (yyvsp[0].card->bindings == 0) {
- yyerror("no function bindings");
- YYERROR;
- }
- if (yyvsp[0].card->ident_type == FUNC_IDENT) {
- yyvsp[0].card->next = root_func;
- root_func = yyvsp[0].card;
- } else {
- yyvsp[0].card->next = root_card;
- root_card = yyvsp[0].card;
- }
- }
-break;
-case 9:
-#line 131 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = ADD_MANAGED_RESOURCE;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 10:
-#line 136 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = REMOVE_MANAGED_RESOURCE;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 11:
-#line 141 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = ADD_MANAGED_RESOURCE;
- yyvsp[0].adjust->adj.Attributes |= RES_RESERVED;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 12:
-#line 147 "yacc_config.y"
-{
- yyvsp[0].adjust->adj.Action = yyvsp[-2].adjust->adj.Action;
- yyvsp[0].adjust->adj.Attributes = yyvsp[-2].adjust->adj.Attributes;
- yyvsp[0].adjust->next = yyvsp[-2].adjust;
- yyval.adjust = yyvsp[0].adjust;
- }
-break;
-case 13:
-#line 156 "yacc_config.y"
-{
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_IRQ;
- yyval.adjust->adj.resource.irq.IRQ = yyvsp[0].num;
- }
-break;
-case 14:
-#line 162 "yacc_config.y"
-{
- if ((yyvsp[0].num < yyvsp[-2].num) || (yyvsp[0].num > 0xffff)) {
- yyerror("invalid port range");
- YYERROR;
- }
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_IO_RANGE;
- yyval.adjust->adj.resource.io.BasePort = yyvsp[-2].num;
- yyval.adjust->adj.resource.io.NumPorts = yyvsp[0].num - yyvsp[-2].num + 1;
- }
-break;
-case 15:
-#line 173 "yacc_config.y"
-{
- if (yyvsp[0].num < yyvsp[-2].num) {
- yyerror("invalid address range");
- YYERROR;
- }
- yyval.adjust = calloc(sizeof(adjust_list_t), 1);
- yyval.adjust->adj.Resource = RES_MEMORY_RANGE;
- yyval.adjust->adj.resource.memory.Base = yyvsp[-2].num;
- yyval.adjust->adj.resource.memory.Size = yyvsp[0].num - yyvsp[-2].num + 1;
- }
-break;
-case 16:
-#line 186 "yacc_config.y"
-{
- yyval.device = calloc(sizeof(device_info_t), 1);
- yyval.device->refs = 1;
- strcpy(yyval.device->dev_info, yyvsp[0].str);
- free(yyvsp[0].str);
- }
-break;
-case 20:
-#line 198 "yacc_config.y"
-{
- yyval.card = calloc(sizeof(card_info_t), 1);
- yyval.card->refs = 1;
- yyval.card->name = yyvsp[0].str;
- }
-break;
-case 29:
-#line 214 "yacc_config.y"
-{
- if (yyvsp[-1].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- if (blank_card) {
- yyerror("Anonymous card already defined");
- YYERROR;
- }
- yyvsp[-1].card->ident_type = BLANK_IDENT;
- blank_card = yyvsp[-1].card;
- }
-break;
-case 30:
-#line 229 "yacc_config.y"
-{
- if (yyvsp[-6].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-6].card->ident_type = TUPLE_IDENT;
- yyvsp[-6].card->id.tuple.code = yyvsp[-4].num;
- yyvsp[-6].card->id.tuple.ofs = yyvsp[-2].num;
- yyvsp[-6].card->id.tuple.info = yyvsp[0].str;
- }
-break;
-case 31:
-#line 242 "yacc_config.y"
-{
- if (yyvsp[-4].card->ident_type & EXCL_IDENT) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = MANFID_IDENT;
- yyvsp[-4].card->manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->manfid.card = yyvsp[0].num;
- }
-break;
-case 32:
-#line 253 "yacc_config.y"
-{
- if (yyvsp[-4].card->ident_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = PCI_IDENT;
- yyvsp[-4].card->manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->manfid.card = yyvsp[0].num;
- }
-break;
-case 33:
-#line 264 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type & EXCL_IDENT) {
- yyerror("ID method already defined\n");
- YYERROR;
- }
- yyvsp[-2].card->ident_type = VERS_1_IDENT;
- yyvsp[-2].card->id.vers.ns = 1;
- yyvsp[-2].card->id.vers.pi[0] = yyvsp[0].str;
- }
-break;
-case 34:
-#line 274 "yacc_config.y"
-{
- if (yyvsp[-2].card->id.vers.ns == 4) {
- yyerror("too many version strings");
- YYERROR;
- }
- yyvsp[-2].card->id.vers.pi[yyvsp[-2].card->id.vers.ns] = yyvsp[0].str;
- yyvsp[-2].card->id.vers.ns++;
- }
-break;
-case 35:
-#line 285 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type != 0) {
- yyerror("ID method already defined\n");
- YYERROR;
- }
- yyvsp[-2].card->ident_type = FUNC_IDENT;
- yyvsp[-2].card->id.func.funcid = yyvsp[0].num;
- }
-break;
-case 36:
-#line 296 "yacc_config.y"
-{ yyvsp[-2].card->cis_file = strdup(yyvsp[0].str); }
-break;
-case 37:
-#line 300 "yacc_config.y"
-{
- if (add_binding(yyvsp[-2].card, yyvsp[0].str, 0) != 0)
- YYERROR;
- }
-break;
-case 38:
-#line 305 "yacc_config.y"
-{
- if (add_binding(yyvsp[-4].card, yyvsp[-2].str, yyvsp[0].num) != 0)
- YYERROR;
- }
-break;
-case 39:
-#line 310 "yacc_config.y"
-{
- if (add_binding(yyvsp[-2].card, yyvsp[0].str, 0) != 0)
- YYERROR;
- }
-break;
-case 40:
-#line 315 "yacc_config.y"
-{
- if (add_binding(yyvsp[-4].card, yyvsp[-2].str, yyvsp[0].num) != 0)
- YYERROR;
- }
-break;
-case 41:
-#line 322 "yacc_config.y"
-{
- yyvsp[-1].device->needs_mtd = 1;
- }
-break;
-case 42:
-#line 328 "yacc_config.y"
-{
- device_info_t *d;
- int i, found = 0;
- for (d = root_device; d; d = d->next) {
- for (i = 0; i < d->modules; i++)
- if (strcmp(yyvsp[-2].str, d->module[i]) == 0) break;
- if (i < d->modules) {
- if (d->opts[i])
- free(d->opts[i]);
- d->opts[i] = strdup(yyvsp[0].str);
- found = 1;
- }
- }
- free(yyvsp[-2].str); free(yyvsp[0].str);
- if (!found) {
- yyerror("module name not found!");
- YYERROR;
- }
- }
-break;
-case 43:
-#line 350 "yacc_config.y"
-{
- if (add_module(yyvsp[-2].device, yyvsp[0].str) != 0)
- YYERROR;
- }
-break;
-case 44:
-#line 355 "yacc_config.y"
-{
- if (yyvsp[-2].device->opts[yyvsp[-2].device->modules-1] == NULL) {
- yyvsp[-2].device->opts[yyvsp[-2].device->modules-1] = yyvsp[0].str;
- } else {
- yyerror("too many options");
- YYERROR;
- }
- }
-break;
-case 45:
-#line 364 "yacc_config.y"
-{
- if (add_module(yyvsp[-2].device, yyvsp[0].str) != 0)
- YYERROR;
- }
-break;
-case 46:
-#line 371 "yacc_config.y"
-{
- if (yyvsp[-2].device->class != NULL) {
- yyerror("extra class string");
- YYERROR;
- }
- yyvsp[-2].device->class = yyvsp[0].str;
- }
-break;
-case 47:
-#line 381 "yacc_config.y"
-{
- yyval.mtd = calloc(sizeof(mtd_ident_t), 1);
- yyval.mtd->refs = 1;
- yyval.mtd->name = yyvsp[0].str;
- }
-break;
-case 51:
-#line 392 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-2].mtd->mtd_type = DTYPE_MTD;
- yyvsp[-2].mtd->dtype = yyvsp[0].num;
- }
-break;
-case 52:
-#line 403 "yacc_config.y"
-{
- if (yyvsp[-3].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-3].mtd->mtd_type = JEDEC_MTD;
- yyvsp[-3].mtd->jedec_mfr = yyvsp[-1].num;
- yyvsp[-3].mtd->jedec_info = yyvsp[0].num;
- }
-break;
-case 53:
-#line 415 "yacc_config.y"
-{
- if (yyvsp[-1].mtd->mtd_type != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- if (default_mtd) {
- yyerror("Default MTD already defined");
- YYERROR;
- }
- yyvsp[-1].mtd->mtd_type = DEFAULT_MTD;
- default_mtd = yyvsp[-1].mtd;
- }
-break;
-case 54:
-#line 430 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->module != NULL) {
- yyerror("extra MTD entry");
- YYERROR;
- }
- yyvsp[-2].mtd->module = yyvsp[0].str;
- }
-break;
-case 55:
-#line 438 "yacc_config.y"
-{
- if (yyvsp[-2].mtd->opts == NULL) {
- yyvsp[-2].mtd->opts = yyvsp[0].str;
- } else {
- yyerror("too many options");
- YYERROR;
- }
- }
-break;
-case 56:
-#line 449 "yacc_config.y"
-{
- mtd_ident_t *m;
- int found = 0;
- for (m = root_mtd; m; m = m->next)
- if (strcmp(yyvsp[-2].str, m->module) == 0) break;
- if (m) {
- if (m->opts) free(m->opts);
- m->opts = strdup(yyvsp[0].str);
- found = 1;
- }
- free(yyvsp[-2].str); free(yyvsp[0].str);
- if (!found) {
- yyerror("MTD name not found!");
- YYERROR;
- }
- }
-break;
-#line 966 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yyssp, yystate);
-#endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- return (1);
-yyaccept:
- return (0);
-}
diff --git a/mdk-stage1/pcmcia_/yacc_config.h b/mdk-stage1/pcmcia_/yacc_config.h
deleted file mode 100644
index b4902c8e6..000000000
--- a/mdk-stage1/pcmcia_/yacc_config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#define DEVICE 257
-#define CARD 258
-#define ANONYMOUS 259
-#define TUPLE 260
-#define MANFID 261
-#define VERSION 262
-#define FUNCTION 263
-#define PCI 264
-#define BIND 265
-#define CIS 266
-#define TO 267
-#define NEEDS_MTD 268
-#define MODULE 269
-#define OPTS 270
-#define CLASS 271
-#define REGION 272
-#define JEDEC 273
-#define DTYPE 274
-#define DEFAULT 275
-#define MTD 276
-#define INCLUDE 277
-#define EXCLUDE 278
-#define RESERVE 279
-#define IRQ_NO 280
-#define PORT 281
-#define MEMORY 282
-#define STRING 283
-#define NUMBER 284
-typedef union {
- char *str;
- u_long num;
- struct device_info_t *device;
- struct card_info_t *card;
- struct mtd_ident_t *mtd;
- struct adjust_list_t *adjust;
-} YYSTYPE;
-extern YYSTYPE yylval;
diff --git a/mdk-stage1/ppp/.cvsignore b/mdk-stage1/ppp/.cvsignore
deleted file mode 100644
index c258b925d..000000000
--- a/mdk-stage1/ppp/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pppd-bin
diff --git a/mdk-stage1/ppp/Changes-2.3 b/mdk-stage1/ppp/Changes-2.3
deleted file mode 100644
index f5c954b4b..000000000
--- a/mdk-stage1/ppp/Changes-2.3
+++ /dev/null
@@ -1,441 +0,0 @@
-What was new in ppp-2.3.11.
-***************************
-
-* Support for Solaris 8 has been added, including support for
- replumbing and IPV6.
-
-* The Solaris `snoop' utility should now work on ppp interfaces.
-
-* New hooks have been added - pap_logout_hook, ip_up_hook, and
- ip_down_hook.
-
-* A new `passprompt' plugin is included, thanks to Alan Curry, which
- makes it possible for pppd to call an external program to get the
- PAP password to send to the peer.
-
-* The error messages for the situation where authentication is
- required because the system has a default route have been improved.
-
-* There is a new connect_delay option which specifies how long pppd
- should pause after the connect script finishes. Previously this
- delay was fixed at 1 second. (This delay terminates as soon as pppd
- sees a valid PPP frame from the peer.)
-
-* The `hide-password' option is now the default, and there is a new
- `show-password' option to enable the printing of password strings in
- the debug output.
-
-* A fairly complete list of the names of PPP protocols has been added
- so that when pppd rejects a frame because its protocol is not
- supported, it can print the name of the unsupported protocol.
-
-* Synchronous serial lines are supported under Linux 2.3.x.
-
-* The bug where pppd would not recognize a modem hangup under Linux
- 2.3.x kernels has been fixed.
-
-
-What was new in ppp-2.3.10.
-***************************
-
-* Pppd now supports `plugins', which are pieces of code (packaged as
- shared libraries) which can be loaded into pppd at runtime and which
- can affect its behaviour. The intention is that plugins provide a
- way for people to customize the behaviour of pppd for their own
- needs without needing to change the base pppd source. I have added
- some hooks into pppd (places where pppd will call a function
- pointer, if non-zero, to replace some of pppd's code) and I will be
- receptive to suggestions about places to add more hooks. Plugins
- are supported under Linux and Solaris at present.
-
-* We have a new maintainer for the Solaris port, Adi Masputra of Sun
- Microsystems, and he has updated the Solaris port so that it should
- work on 64-bit machines under Solaris 7 and later.
-
-* Pppd now has an `allow-ip' option, which takes an argument which is
- an IP address (or subnet) which peers are permitted to use without
- authenticating themselves. The argument takes the same form as each
- element of the allowed IP address list in the secrets files. The
- allow-ip option is privileged and may be specified multiple times.
- Using the allow-ip option should be cleaner than putting a line like
- `"" * "" address' in /etc/ppp/pap-secrets.
-
-* Chat can now substitute environment variables into the script. This
- is enabled by the -E flag. (Thanks to Andreas Arens for the patch.)
-
-* If the PAP username and password from the peer contains unprintable
- characters, they will be translated to a printable form before
- looking in the pap-secrets file. Characters >= 0x80 are translated
- to a M- form, and characters from 0 to 0x1f (and 0x7f as well) are
- translated to a ^X form. If this change causes you grief, let me
- know what would be a better translation. It appears that some peers
- send nulls or other control characters in their usernames and
- passwords.
-
-* Pppd has new `ktune' and `noktune' options, which enable/disable
- it to change kernel settings as appropriate. This is only
- implemented under Linux, and requires the /proc filesystem to be
- mounted. Under Linux, with the ktune option, pppd will enable IP
- forwarding in the kernel if the proxyarp option is used, and will
- enable the dynamic IP address kernel option in demand mode if the
- local IP address changes.
-
-* Pppd no longer requires a remote address to be specified for demand
- dialling. If none is specified, it will use a default value of
- 10.112.112.112+unit_number. (It will not propose this default to
- the peer.)
-
-* The default holdoff is now 0 if no connect script is given.
-
-* The IPV6 code from Tommi Komulainen, which I unfortunately only
- partially merged in to ppp-2.3.9, has been fixed and updated.
-
-* The linux compilation glitches should be fixed now.
-
-
-What was new in ppp-2.3.9.
-**************************
-
-* Support for the new generic PPP layer under development for the
- Linux kernel.
-
-* You can now place extra options to apply to specific users at the
- end of the line with their password in the pap-secrets or
- chap-secrets file, separated from the IP address(es) with a "--"
- separator. These options are parsed after the peer is authenticated
- but before network protocol (IPCP, IPXCP) or CCP negotiation
- commences.
-
-* Pppd will apply the holdoff period if the link was terminated by the
- peer. It doesn't apply it if the link was terminated because the
- local pppd thought it was idle.
-
-* Synchronous support for Solaris has been added, thanks to John
- Morrison, and for FreeBSD, thanks to Paul Fulghum.
-
-* IPV6 support has been merged in, from Tommi Komulainen. At the
- moment it only supports Linux and it is not tested by me.
-
-* The `nodefaultip' option can be used in demand mode to say that pppd
- should not suggest its local IP address to the peer.
-
-* The `init' option has been added; this causes pppd to run a script
- to initialize the serial device (e.g. by sending an init string to
- the modem). Unlike the connect option, this can be used in a
- dial-in situation. (Thanks to Tobias Ringstrom.)
-
-* There is a new `logfile' option to send log messages to a file as
- well as syslog.
-
-* There is a new, privileged `linkname' option which sets a logical
- name for the link. Pppd will create a /var/run/ppp-<linkname>.pid
- file containing its process ID.
-
-* There is a new `maxfail' option which specifies how many consecutive
- failed connection attempts are permitted before pppd will exit. The
- default value is 10, and 0 means infinity. :-)
-
-* Sundry bugs fixed.
-
-
-What was new in ppp-2.3.8.
-**************************
-
-* The exit status of pppd will now indicate whether the link was
- successfully established, or if not, what error was encountered.
-
-* Pppd has two new options: fdlog <n> will send log messages to file
- descriptor <n> instead of standard output, and nofdlog will stop log
- messages from being sent to any file descriptor (they will still be
- sent to syslog). Pppd now will not send log messages to a file
- descriptor if the serial port is open on that file descriptor.
-
-* Pppd sets an environment variable called PPPLOGNAME for scripts that
- it runs, indicating the login name of the user who invoked pppd.
-
-* Pppd sets environment variables CONNECT_TIME, BYTES_SENT and
- BYTES_RCVD for the ip-down and auth-down scripts indicating the
- statistics for the connection just terminated. (CONNECT_TIME is in
- seconds.)
-
-* If the user has the serial device open on standard input and
- specifies a symbolic link to the serial device on the command line,
- pppd will detect this and behave correctly (i.e. not detach from its
- controlling terminal). Furthermore, if the serial port is open for
- reading and writing on standard input, pppd will assume that it is
- locked by its invoker and not lock it itself.
-
-* Chat now has a feature where if a string to be sent begins with an
- at sign (@), the rest of the string is taken as the name of a file
- (regular file or named pipe), and the actual string to send is taken
- from that file.
-
-* Support for FreeBSD-2.2.8 and 3.0 has been added, thanks to Paul
- Fulghum.
-
-* The Tru64 (aka Digital Unix aka OSF/1) port has been updated.
-
-* The system panics on Solaris SMP systems related to PPP connections
- being established and terminated should no longer occur.
-
-* Fixed quite a few bugs.
-
-
-What was new in ppp-2.3.7.
-**************************
-
-* Pppd can now automatically allocate itself a pseudo-tty to use as
- the serial device. This has made three new options possible:
-
- - `pty script' will run `script' with its standard input and output
- connected to the master side of the pty. For example:
- pppd pty 'ssh -t server.my.net pppd'
- is a basic command for setting up a PPP link (tunnel) over ssh.
- (In practice you may need to specify other options such as IP
- addresses, etc.)
-
- - `notty' tells pppd to communicate over its standard input and
- output, which do not have to be a terminal device.
-
- - `record filename' tells pppd to record all of the characters sent
- and received over the serial device to a file called `filename'.
- The data is recorded in a tagged format with timestamps, which can
- be printed in a readable form with the pppdump program, which is
- included in this distribution.
-
-* Pppd now logs the connect time and number of bytes sent and received
- (at the level of the serial device) when the connection is
- terminated.
-
-* If you use the updetach or nodetach option, pppd will print its
- messages to standard output as well as logging them with syslog
- (provided of course pppd isn't using its standard input or output as
- its serial device).
-
-* There is a new `privgroup groupname' option (a privileged option).
- If the user running pppd is in group `groupname', s/he can use
- privileged options without restriction.
-
-* There is a new `receive-all' option, which causes pppd to accept all
- control characters, even the ones that the peer should be escaping
- (i.e. the receive asyncmap is 0). This is useful with some buggy
- peers.
-
-* The default asyncmap is now 0.
-
-* There is a new `sync' option, currently only implemented under
- Linux, which allows pppd to run on synchronous HDLC devices.
-
-* If a value for the device name or for the connect, disconnect,
- welcome or pty option is given in a privileged option file
- (i.e. /etc/ppp/options or a file loaded with the `call' option), it
- cannot be overridden by a non-privileged user.
-
-* Many bugs have been fixed, notably:
- - signals are not blocked unnecessarily, as they were in 2.3.6.
- - the usepeerdns option should work now.
- - the SPEED environment variable for scripts is set correctly.
- - the /etc/ppp/auth-down script is not run until auth-up completes.
- - the device is opened as root if it is the device on standard
- input.
- - pppd doesn't die with the ioctl(PPPIOCSASYNCMAP) error under linux
- if a hangup occurs at the wrong time.
-
-* Some error messages have been changed to be clearer (I hope :-)
-
-
-What was new in ppp-2.3.6.
-**************************
-
-* Pppd now opens the tty device as the user (rather than as root) if
- the device name was given by the user, i.e. on the command line or
- in the ~/.ppprc file. If the device name was given in
- /etc/ppp/options or in a file loaded with the `call' option, the
- device is opened as root.
-
-* The default behaviour of pppd is now to let a peer which has not
- authenticated itself (e.g. your ISP) use any IP address to which the
- system does not already have a route. (This is currently only
- supported under Linux, Solaris and Digital Unix; on the other
- systems, the peer must now authenticate itself unless the noauth
- option is used.)
-
-* Added new option `usepeerdns', thanks to Nick Walker
- <nickwalker@email.com>. If the peer supplies DNS addresses, these
- will be written to /etc/ppp/resolv.conf. The ip-up script can then
- be used to add these addresses to /etc/resolv.conf if desired (see
- the ip-up.local.add and ip-down.local.add files in the scripts
- directory).
-
-* The Solaris ppp driver should now work correctly on SMP systems.
-
-* Minor corrections so that the code can compile under Solaris 7,
- and under Linux with glibc-2.1.
-
-* The Linux kernel driver has been restructured for improved
- performance.
-
-* Pppd now won't start the ip-down script until the ip-up script has
- finished.
-
-
-What was new in ppp-2.3.5.
-**************************
-
-* Minor corrections to the Digital UNIX and NetBSD ports.
-
-* A workaround to avoid tickling a bug in the `se' serial port driver
-on Sun PCI Ultra machines running Solaris.
-
-* Fixed a bug in the negotiation of the Microsoft WINS server address
-option.
-
-* Fixed a bug in the Linux port where it would fail for kernel
-versions above 2.1.99.
-
-
-What was new in ppp-2.3.4.
-**************************
-
-* The NeXT port has been updated, thanks to Steve Perkins.
-
-* ppp-2.3.4 compiles and works under Solaris 2.6, using either gcc or
-cc.
-
-* With the Solaris, SVR4 and SunOS ports, you can control the choice
-of C compiler, C compiler options, and installation directories by
-editing the svr4/Makedefs or sunos4/Makedefs file.
-
-* Until now, we have been using the number 24 to identify Deflate
-compression in the CCP negotiations, which was the number in the draft
-RFC describing Deflate. The number actually assigned to Deflate is
-26. The code has been changed to use 26, but to allow the use of 24
-for now for backwards compatibility. (This can be disabled with the
-`nodeflatedraft' option to pppd.)
-
-* Fixed some bugs in the linux driver and deflate compressor which
-were causing compression problems, including corrupting long
-incompressible packets sometimes.
-
-* Fixes to the PAM and shadow password support in pppd, from Al
-Longyear and others.
-
-* Pppd now sets some environment variables for scripts it invokes
-(ip-up/down, auth-ip/down), giving information about the connection.
-The variables it sets are PEERNAME, IPLOCAL, IPREMOTE, UID, DEVICE,
-SPEED, and IFNAME.
-
-* Pppd now has an `updetach' option, which will cause it to detach
-from its controlling terminal once the link has come up (i.e. once it
-is available for IP traffic).
-
-
-What was new in ppp-2.3.3.
-**************************
-
-* Fixed compilation problems under SunOS.
-
-* Fixed a bug introduced into chat in 2.3.2, and compilation problems
-introduced into the MS-CHAP implementation in 2.3.2.
-
-* The linux kernel driver has been updated for recent 2.1-series
-kernel changes, and it now will ask kerneld to load compression
-modules when required, if the kernel is configured to support kerneld.
-
-* Pppd should now compile correctly under linux on systems with glibc.
-
-
-What was new in ppp-2.3.2.
-**************************
-
-* In 2.3.1, I made a change which was intended to make pppd able to
-detect loss of CD during or immediately after the connection script
-runs. Unfortunately, this had the side-effect that the connection
-script wouldn't work at all on some systems. This change has been
-reversed.
-
-* Fix compilation problems in the Linux kernel driver.
-
-
-What was new in ppp-2.3.1.
-**************************
-
-* Enhancements to chat, thanks to Francis Demierre. Chat can now
-accept comments in the chat script file, and has new SAY, HANGUP,
-CLR_ABORT and CLR_REPORT keywords.
-
-* Fixed a bug which causes 2.3.0 to crash Solaris systems.
-
-* Bug-fixes and restructuring of the Linux kernel driver.
-
-* The holdoff behaviour of pppd has been changed slightly: now, if
-the link comes up for IP (or other network protocol) traffic, we
-consider that the link has been successfully established, and don't
-enforce the holdoff period after the link goes down.
-
-* Pppd should now correctly wait for CD (carrier detect) from the
-modem, even when the serial port initially had CLOCAL set, and it
-should also detect loss of CD during or immediately after the
-connection script runs.
-
-* Under linux, pppd will work with older 2.2.0* version kernel
-drivers, although demand-dialling is not supported with them.
-
-* Minor bugfixes for pppd.
-
-
-What was new in ppp-2.3.
-************************
-
-* Demand-dialling. Pppd now has a mode where it will establish the
-network interface immediately when it starts, but not actually bring
-the link up until it sees some data to be sent. Look for the demand
-option description in the pppd man page. Demand-dialling is not
-supported under Ultrix or NeXTStep.
-
-* Idle timeout. Pppd will optionally terminate the link if no data
-packets are sent or received within a certain time interval.
-
-* Pppd now runs the /etc/ppp/auth-up script, if it exists, when the
-peer successfully authenticates itself, and /etc/ppp/auth-down when
-the connection is subsequently terminated. This can be useful for
-accounting purposes.
-
-* A new packet compression scheme, Deflate, has been implemented.
-This uses the same compression method as `gzip'. This method is free
-of patent or copyright restrictions, and it achieves better
-compression than BSD-Compress. It does consume more CPU cycles for
-compression than BSD-Compress, but this shouldn't be a problem for
-links running at 100kbit/s or less.
-
-* There is no code in this distribution which is covered by Brad
-Clements' restrictive copyright notice. The STREAMS modules for SunOS
-and OSF/1 have been rewritten, based on the Solaris 2 modules, which
-were written from scratch without any Clements code.
-
-* Pppstats has been reworked to clean up the output format somewhat.
-It also has a new -d option which displays data rate in kbyte/s for
-those columns which would normally display bytes.
-
-* Pppd options beginning with - or + have been renamed, e.g. -ip
-became noip, +chap became require-chap, etc. The old options are
-still accepted for compatibility but may be removed in future.
-
-* Pppd now has some options (such as the new `noauth' option) which
-can only be specified if it is being run by root, or in an
-"privileged" options file: /etc/ppp/options or an options file in the
-/etc/ppp/peers directory. There is a new "call" option to read
-options from a file in /etc/ppp/peers, making it possible for non-root
-users to make unauthenticated connections, but only to certain trusted
-peers. My intention is to make the `auth' option the default in a
-future release.
-
-* Several minor new features have been added to pppd, including the
-maxconnect and welcome options. Pppd will now terminate the
-connection when there are no network control protocols running. The
-allowed IP address(es) field in the secrets files can now specify
-subnets (with a notation like 123.45.67.89/24) and addresses which are
-not acceptable (put a ! on the front).
-
-* Numerous bugs have been fixed (no doubt some have been introduced :-)
-Thanks to those who reported bugs in ppp-2.2.
diff --git a/mdk-stage1/ppp/FAQ b/mdk-stage1/ppp/FAQ
deleted file mode 100644
index 96bc5c708..000000000
--- a/mdk-stage1/ppp/FAQ
+++ /dev/null
@@ -1,634 +0,0 @@
-This is a list of Frequently Asked Questions about using ppp-2.x and
-their answers.
-
-
-------------------------------------------------------------------------
-
-Q: Can you give me an example of how I might set up my machine to dial
-out to an ISP?
-
-A: Here's an example for dialling out to an ISP via a modem on
-/dev/tty02. The modem uses hardware (CTS/RTS) flow control, and the
-serial port is run at 38400 baud. The ISP assigns our IP address.
-
-To configure pppd for this connection, create a file under
-/etc/ppp/peers called (say) my-isp containing the following:
-
-tty02 crtscts 38400
-connect 'chat -v -f /etc/ppp/chat/my-isp'
-defaultroute
-
-The ppp connection is then initiated using the following command:
-
-pppd call my-isp
-
-Of course, if the directory containing pppd is not in your path, you
-will need to give the full pathname for pppd, for example,
-/usr/sbin/pppd.
-
-When you run this, pppd will use the chat program to dial the ISP and
-invoke its ppp service. Chat will read the file specified with -f,
-namely /etc/ppp/chat/my-isp, to find a list of strings to expect to
-receive, and strings to send. This file would contain something like
-this:
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "Username/Password Incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"annex" "\q^Uppp"
-"Switching to PPP-ppp-Switching to PPP"
-
-You will need to change the details here. The first string on each
-line is a string to expect to receive; the second is the string to
-send. You can add or delete lines according to the dialog required to
-access your ISP's system. This example is for a modem with a standard
-AT command set, dialling out to an Annex terminal server. The \q
-toggles "quiet" mode; when quiet mode is on, the strings to be sent
-are replaced by ?????? in the log. You may need to go through the
-dialog manually using kermit or tip first to determine what should go
-in the script.
-
-To terminate the link, run the following script, called (say)
-kill-ppp:
-
-#!/bin/sh
-unit=ppp${1-0}
-piddir=/var/run
-if [ -f $piddir/$unit.pid ]; then
- kill -1 `cat $piddir/$unit.pid`
-fi
-
-On some systems (SunOS, Solaris, Ultrix), you will need to change
-/var/run to /etc/ppp.
-
-
-------------------------------------------------------------------------
-
-Q: Can you give me an example of how I could set up my office machine
-so I can dial in to it from home?
-
-A: Let's assume that the office machine is called "office" and is on a
-local ethernet subnet. Call the home machine "home" and give it an IP
-address on the same subnet as "office". We'll require both machines
-to authenticate themselves to each other.
-
-Set up the files on "office" as follows:
-
-/etc/ppp/options contains:
-
-auth # require the peer to authenticate itself
-lock
-# other options can go here if desired
-
-/etc/ppp/chap-secrets contains:
-
-home office "beware the frub-jub" home
-office home "bird, my son!%&*" -
-
-Set up a modem on a serial port so that users can dial in to the
-modem and get a login prompt.
-
-On "home", set up the files as follows:
-
-/etc/ppp/options contains the same as on "office".
-
-/etc/ppp/chap-secrets contains:
-
-home office "beware the frub-jub" -
-office home "bird, my son!%&*" office
-
-Create a file called /etc/ppp/peers/office containing the following:
-
-tty02 crtscts 38400
-connect 'chat -v -f /etc/ppp/chat/office'
-defaultroute
-
-(You may need to change some of the details here.)
-
-Create the /etc/ppp/chat/office file containing the following:
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "ogin incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"$" "\q^U/usr/sbin/pppd proxyarp"
-"~"
-
-You will need to change the details. Note that the "$" in the
-second-last line is expecting the shell prompt after a successful
-login - you may need to change it to "%" or something else.
-
-You then initiate the connection (from home) with the command:
-
-pppd call office
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, the modem successfully dials
-the remote system, but then hangs up a few seconds later. How do I
-find out what's going wrong?
-
-A: There are a number of possible problems here. The first thing to
-do is to ensure that pppd's messages are visible. Pppd uses the
-syslog facility to log messages which help to identify specific
-problems. Messages from pppd have facility "daemon" and levels
-ranging from "debug" to "error".
-
-Usually it is useful to see messages of level "notice" or higher on
-the console. To see these, find the line in /etc/syslog.conf which
-has /dev/console on the right-hand side, and add "daemon.notice" in
-the list on the left. The line will end up looking something like
-this:
-
-*.err;kern.debug;auth.notice;mail.crit;daemon.notice /dev/console
-
-Note that the whitespace is tabs, *not* spaces.
-
-If you are having problems, it may be useful to see messages of level
-"info" as well, in which case you would change "daemon.notice" to
-"daemon.info".
-
-In addition, it is useful to collect pppd's debugging output in a
-file - the debug option to pppd causes it to log the contents of all
-control packets sent and received in human-readable form. To do this,
-add a line like this to /etc/syslog.conf:
-
-daemon,local2.debug /etc/ppp/log
-
-and create an empty /etc/ppp/log file.
-
-When you change syslog.conf, you will need to send a HUP signal to
-syslogd to causes it to re-read syslog.conf. You can do this with a
-command like this (as root):
-
- kill -HUP `cat /etc/syslogd.pid`
-
-(On some systems, you need to use /var/run/syslog.pid instead of
-/etc/syslogd.pid.)
-
-After setting up syslog like this, you can use the -v flag to chat and
-the `debug' option to pppd to get more information. Try initiating
-the connection again; when it fails, inspect /etc/ppp/log to see what
-happened and where the connection failed.
-
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, I get an error message saying
-"Serial link is not 8-bit clean". Why?
-
-A: The most common cause is that your connection script hasn't
-successfully dialled out to the remote system and invoked ppp service
-there. Instead, pppd is talking to something (a shell or login
-process on the remote machine, or maybe just the modem) which is only
-outputting 7-bit characters.
-
-This can also arise with a modem which uses an AT command set if the
-dial command is issued before pppd is invoked, rather than within a
-connect script started by pppd. If the serial port is set to 7
-bits/character plus parity when the last AT command is issued, the
-modem serial port will be set to the same setting.
-
-Note that pppd *always* sets the local serial port to 8 bits per
-character, with no parity and 1 stop bit. So you shouldn't need to
-issue an stty command before invoking pppd.
-
-
-------------------------------------------------------------------------
-
-Q: When I try to establish a connection, I get an error message saying
-"Serial line is looped back". Why?
-
-A: Probably your connection script hasn't successfully dialled out to
-the remote system and invoked ppp service there. Instead, pppd is
-talking to something which is just echoing back the characters it
-receives. The -v option to chat can help you find out what's going
-on. It can be useful to include "~" as the last expect string to
-chat, so chat won't return until it's seen the start of the first PPP
-frame from the remote system.
-
-Another possibility is that your phone connection has dropped for some
-obscure reason and the modem is echoing the characters it receives
-from your system.
-
-
-------------------------------------------------------------------------
-
-Q: I installed pppd successfully, but when I try to run it, I get a
-message saying something like "peer authentication required but no
-authentication files accessible".
-
-A: When pppd is used on a machine which already has a connection to
-the Internet (or to be more precise, one which has a default route in
-its routing table), it will require all peers to authenticate
-themselves. The reason for this is that if you don't require
-authentication, you have a security hole, because the peer can
-basically choose any IP address it wants, even the IP address of some
-trusted host (for example, a host mentioned in some .rhosts file).
-
-On machines which don't have a default route, pppd does not require
-the peer to authenticate itself. The reason is that such machines
-would mostly be using pppd to dial out to an ISP which will refuse to
-authenticate itself. In that case the peer can use any IP address as
-long as the system does not already have a route to that address.
-For example, if you have a local ethernet network, the peer can't use
-an address on that network. (In fact it could if it authenticated
-itself and it was permitted to use that address by the pap-secrets or
-chap-secrets file.)
-
-There are 3 ways around the problem:
-
-1. If possible, arrange for the peer to authenticate itself, and
-create the necessary secrets files (/etc/ppp/pap-secrets and/or
-/etc/ppp/chap-secrets).
-
-2. If the peer refuses to authenticate itself, and will always be
-using the same IP address, or one of a small set of IP addresses, you
-can create an entry in the /etc/ppp/pap-secrets file like this:
-
- "" * "" his-ip.his-domain his-other-ip.other-domain
-
-(that is, using the empty string for the client name and password
-fields). Of couse, you replace the 4th and following fields in the
-example above with the IP address(es) that the peer may use. You can
-use either hostnames or numeric IP addresses.
-
-3. You can add the `noauth' option to the /etc/ppp/options file.
-Pppd will then not ask the peer to authenticate itself. If you do
-this, I *strongly* recommend that you remove the set-uid bit from the
-permissions on the pppd executable, with a command like this:
-
- chmod u-s /usr/sbin/pppd
-
-Then, an intruder could only use pppd maliciously if they had already
-become root, in which case they couldn't do any more damage using pppd
-than they could anyway.
-
-
-------------------------------------------------------------------------
-
-Q: What do I need to put in the secrets files?
-
-A: Three things:
- - secrets (i.e. passwords) to use for authenticating this host to
- other hosts (i.e., for proving our identity to others);
- - secrets which other hosts can use for authenticating themselves
- to us (i.e., so that they can prove their identity to us); and
- - information about which IP addresses other hosts may use, once
- they have authenticated themselves.
-
-There are two authentication files: /etc/ppp/pap-secrets, which
-contains secrets for use with PAP (the Password Authentication
-Protocol), and /etc/ppp/chap-secrets, which contains secrets for use
-with CHAP (the Challenge Handshake Authentication Protocol). Both
-files have the same simple format, which is as follows:
-
-- The file contains a series of entries, each of which contains a
-secret for authenticating one machine to another.
-
-- Each entry is contained on a single logical line. A logical line
-may be continued across several lines by placing a backslash (\) at
-the end of each line except the last.
-
-- Each entry has 3 or more fields, separated by whitespace (spaces
-and/or tabs). These fields are, in order:
- * The name of the machine that is authenticating itself
- (the "client").
- * The name of the machine that is authenticating the client
- (the "server").
- * The secret to be used for authenticating that client to that
- server. If this field begins with the at-sign `@', the rest
- of the field is taken as the name of a file containing the
- actual secret.
- * The 4th and any following fields list the IP address(es)
- that the client may use.
-
-- The file may contain comments, which begin with a `#' and continue
-to the end of the line.
-
-- Double quotes `"' should be used around a field if it contains
-characters with special significance, such as space, tab, `#', etc.
-
-- The backslash `\' may be used before characters with special
-significance (space, tab, `#', `\', etc.) to remove that significance.
-
-Some important points to note:
-
-* A machine can be *both* a "client" and a "server" for the purposes
-of authentication - this happens when both peers require the other to
-authenticate itself. So A would authenticate itself to B, and B would
-also authenticate itself to A (possibly using a different
-authentication protocol).
-
-* If both the "client" and the "server" are running ppp-2.x, they need
-to have a similar entry in the appropriate secrets file; the first two
-fields are *not* swapped on the client, compared to the server. So
-the client might have an entry like this:
-
- ay bee "our little secret" -
-
-and the corresponding entry on the server could look like this:
-
- ay bee "our little secret" 123.45.67.89
-
-
-------------------------------------------------------------------------
-
-Q: Explain about PAP and CHAP?
-
-PAP stands for the Password Authentication Protocol. With this
-protocol, the "client" (the machine that needs to authenticate itself)
-sends its name and a password, in clear text, to the "server". The
-server returns a message indicating whether the name and password are
-valid.
-
-CHAP stands for the Challenge Handshake Authentication Protocol. It
-is designed to address some of the deficiencies and vulnerabilities of
-PAP. Like PAP, it is based on the client and server having a shared
-secret, but the secret is never passed in clear text over the link.
-Instead, the server sends a "challenge" - an arbitrary string of
-bytes, and the client must prove it knows the shared secret by
-generating a hash value from the challenge combined with the shared
-secret, and sending the hash value back to the server. The server
-also generates the hash value and compares it with the value received
-from the client.
-
-At a practical level, CHAP can be slightly easier to configure than
-PAP because the server sends its name with the challenge. Thus, when
-finding the appropriate secret in the secrets file, the client knows
-the server's name. In contrast, with PAP, the client has to find its
-password (i.e. the shared secret) before it has received anything from
-the server. Thus, it may be necessary to use the `remotename' option
-to pppd when using PAP authentication so that it can select the
-appropriate secret from /etc/ppp/pap-secrets.
-
-Microsoft also has a variant of CHAP which uses a different hashing
-arrangement from normal CHAP. There is a client-side implementation
-of Microsoft's CHAP in ppp-2.3; see README.MSCHAP80.
-
-
-------------------------------------------------------------------------
-
-Q: When the modem hangs up, without the remote system having
-terminated the connection properly, pppd does not notice the hangup,
-but just keeps running. How do I get pppd to notice the hangup and
-exit?
-
-A: Pppd detects modem hangup by looking for an end-of-file indication
-from the serial driver, which should be generated when the CD (carrier
-detect) signal on the serial port is deasserted. For this to work:
-
-- The modem has to be set to assert CD when the connection is made and
-deassert it when the phone line hangs up. Usually the AT&C1 modem
-command sets this mode.
-
-- The cable from the modem to the serial port must connect the CD
-signal (on pin 8).
-
-- Some serial drivers have a "software carrier detect" mode, which
-must be *disabled*. The method of doing this varies between systems.
-Under SunOS, use the ttysoftcar command. Under NetBSD, edit /etc/ttys
-to remove the "softcar" flag from the line for the serial port, and
-run ttyflags.
-
-
-------------------------------------------------------------------------
-
-Q: Why should I use PPP compression (BSD-Compress or Deflate) when my
-modem already does V.42 compression? Won't it slow the CPU down a
-lot?
-
-A: Using PPP compression is preferable, especially when using modems
-over phone lines, for the following reasons:
-
-- The V.42 compression in the modem isn't very strong - it's an LZW
-technique (same as BSD-Compress) with a 10, 11 or 12 bit code size.
-With BSD-Compress you can use a code size of up to 15 bits and get
-much better compression, or you can use Deflate and get even better
-compression ratios.
-
-- I have found that enabling V.42 compression in my 14.4k modem
-increases the round-trip time for a character to be sent, echoed and
-returned by around 40ms, from 160ms to 200ms (with error correction
-enabled). This is enough to make it feel less responsive on rlogin or
-telnet sessions. Using PPP compression adds less than 5ms (small
-enough that I couldn't measure it reliably). I admit my modem is a
-cheapie and other modems may well perform better.
-
-- While compression and decompression do require some CPU time, they
-reduce the amount of time spent in the serial driver to transmit a
-given amount of data. Many machines require an interrupt for each
-character sent or received, and the interrupt handler can take a
-significant amount of CPU time. So the increase in CPU load isn't as
-great as you might think. My measurements indicate that a system with
-a 33MHz 486 CPU should be able to do Deflate compression for serial
-link speeds of up to 100kb/s or more. It depends somewhat on the type
-of data, of course; for example, when compressing a string of nulls
-with Deflate, it's hard to get a high output data rate from the
-compressor, simply because it compresses strings of nulls so well that
-it has to eat a very large amount of input data to get each byte of
-output.
-
-
-------------------------------------------------------------------------
-
-Q: I get messages saying "Unsupported protocol (...) received". What do
-these mean?
-
-A: If you only get one or two when pppd starts negotiating with the
-peer, they mean that the peer wanted to negotiate some PPP protocol
-that pppd doesn't understand. This doesn't represent a problem, it
-simply means that there is some functionality that the peer supports
-that pppd doesn't, so that functionality can't be used.
-
-If you get them sporadically while the link is operating, or if the
-protocol numbers (in parentheses) don't correspond to any valid PPP
-protocol that the peer might be using, then the problem is probably
-that characters are getting corrupted on the receive side, or that
-extra characters are being inserted into the receive stream somehow.
-If this is happening, most packets that get corrupted should get
-discarded by the FCS (Frame Check Sequence, a 16-bit CRC) check, but a
-small number may get through.
-
-One possibility may be that you are receiving broadcast messages on
-the remote system which are being sent over your serial link. Another
-possibility is that your modem is set for XON/XOFF (software) flow
-control and is inserting ^Q and ^S characters into the receive data
-stream.
-
-
-------------------------------------------------------------------------
-
-Q: I get messages saying "Protocol-Reject for unsupported protocol ...".
-What do these mean?
-
-A: This is the other side of the previous question. If characters are
-getting corrupted on the way to the peer, or if your system is
-inserting extra bogus characters into the transmit data stream, the
-peer may send protocol-reject messages to you, resulting in the above
-message (since your pppd doesn't recognize the protocol number
-either.)
-
-
-------------------------------------------------------------------------
-
-Q: I get a message saying something like "ioctl(TIOCSETD): Operation
-not permitted". How do I fix this?
-
-A: This is because pppd is not running as root. If you have not
-installed pppd setuid-root, you will have to be root to run it. If
-you have installed pppd setuid-root and you still get this message, it
-is probably because your shell is using some other copy of pppd than
-the installed one - for example, if you are in the pppd directory
-where you've just built pppd and your $PATH has . before /usr/sbin (or
-wherever pppd gets installed).
-
-
-------------------------------------------------------------------------
-
-Q: Has your package been ported to HP/UX or IRIX or AIX?
-
-A: No. I don't have access to systems running HP/UX or AIX. No-one
-has volunteered to port it to HP/UX. I had someone who did a port for
-AIX 4.x, but who is no longer able to maintain it. And apparently AIX
-3.x is quite different, so it would need a separate port.
-
-IRIX includes a good PPP implementation in the standard distribution,
-as far as I know.
-
-
-------------------------------------------------------------------------
-
-Q: Under SunOS 4, when I try to modload the ppp modules, I get the
-message "can't open /dev/vd: No such device".
-
-A: First check in /dev that there is an entry like this:
-
-crw-r--r-- 1 root 57, 0 Oct 2 1991 vd
-
-If not, make one (mknod /dev/vd c 57 0). If the problem still exists,
-probably your kernel has been configured without the vd driver
-included. The vd driver is needed for loadable module support.
-
-First, identify the config file that was used. When you boot your
-machine, or if you run /etc/dmesg, you'll see a line that looks
-something like this:
-
-SunOS Release 4.1.3_U1 (CAP_XBOX) #7: Thu Mar 21 15:31:56 EST 1996
- ^^^^^^^^
- this is the config file name
-
-The config file will be in the /sys/`arch -k`/conf directory (arch -k
-should return sun4m for a SparcStation 10, sun3x for a Sun 3/80,
-etc.). Look in there for a line saying "options VDDRV". If that line
-isn't present (or is commented out), add it (or uncomment it).
-
-You then need to rebuild the kernel as described in the SunOS
-manuals. Basically you need to run config and make like this:
-
- /usr/etc/config CAP_XBOX
- cd ../CAP_XBOX
- make
-
-(replacing the string CAP_XBOX by the name of the config file for your
-kernel, of course).
-
-Then copy the new kernel to /:
-
- mv /vmunix /vmunix.working
- cp vmunix /
-
-and reboot. Modload should then work.
-
-
-------------------------------------------------------------------------
-
-Q: I'm running Linux (or NetBSD or FreeBSD), and my system comes with
-PPP already. Should I consider installing this package? Why?
-
-A: The PPP that is already installed in your system is (or is derived
-from) some version of this PPP package. You can find out what version
-of this package is already installed with the command "pppd --help".
-If this is older than the latest version, you may wish to install the
-latest version so that you can take advantage of the new features or
-bug fixes.
-
-
-------------------------------------------------------------------------
-
-Q: I'm running pppd in demand mode, and I find that pppd often dials
-out unnecessarily when I try to make a connection within my local
-machine or with a machine on my local LAN. What can I do about this?
-
-A: Very often the cause of this is that a program is trying to contact
-a nameserver to resolve a hostname, and the nameserver (specified in
-/etc/resolv.conf, usually) is on the far side of the ppp link. You
-can try executing a command such as `ping myhost' (where myhost is the
-name of the local machine, or some other machine on a local LAN), to
-see whether that starts the ppp link. If it does, check the setup of
-your /etc/hosts file to make sure you have the local machine and any
-hosts on your local LAN listed, and /etc/resolv.conf and/or
-/etc/nsswitch.conf files to make sure you resolve hostnames from
-/etc/hosts if possible before trying to contact a nameserver.
-
-
-------------------------------------------------------------------------
-
-Q: Since I installed ppp-2.3.6, dialin users to my server have been
-getting this message when they run pppd:
-
-peer authentication required but no suitable secret(s) found for
-authenticating any peer to us (ispserver)
-
-A: In 2.3.6, the default is to let an unauthenticated peer only use IP
-addresses to which the machine doesn't already have a route. So on a
-machine with a default route, everyone has to authenticate. If you
-really don't want that, you can put `noauth' in the /etc/ppp/options
-file. Note that there is then no check on who is using which IP
-address. IMHO, this is undesirably insecure, but I guess it may be
-tolerable as long as you don't use any .rhosts files or anything like
-that. I recommend that you require dialin users to authenticate, even
-if just with PAP using their login password (using the `login' option
-to pppd). If you do use `noauth', you should at least have a pppusers
-group and set the permissions on pppd to allow only user and group to
-execute it.
-
-------------------------------------------------------------------------
-
-Q: When running pppd as a dial-in server, I often get the message
-"LCP: timeout sending Config-Requests" from pppd. It seems to be
-random, but dial-out always works fine. What is wrong?
-
-A: Most modern modems auto-detects the speed of the serial line
-between the modem and the computer. This auto-detection occurs when
-the computer sends characters to the modem, when the modem is in
-command mode. It does not occur when the modem is in data mode.
-Thus, if you send commands to the modem at 2400 bps, and then change
-the serial port speed to 115200 bps, the modem will not detect this
-change until something is transmitted from the computer to the modem.
-When running pppd in dial-in mode (i.e. without a connect script),
-pppd sets the speed of the serial port, but does not transmit
-anything. If the modem was already running at the specified speed,
-everything is fine, but if not, you will just receive garbage from the
-modem. To cure this, use an init script such as the following:
-
- pppd ttyS0 115200 modem crtscts init "chat '' AT OK"
-
-To reset the modem and enable auto-answer, use:
-
- pppd ttyS0 115200 modem crtscts init "chat '' ATZ OK ATS0=1 OK"
diff --git a/mdk-stage1/ppp/PLUGINS b/mdk-stage1/ppp/PLUGINS
deleted file mode 100644
index 0eeabe249..000000000
--- a/mdk-stage1/ppp/PLUGINS
+++ /dev/null
@@ -1,131 +0,0 @@
-Starting with version 2.3.10, pppd includes support for `plugins' -
-pieces of code which can be loaded into pppd at runtime and which can
-affect its behaviour in various ways. The idea of plugins is to
-provide a way for people to customize the behaviour of pppd without
-having to either apply local patches to each version or get their
-patches accepted into the standard distribution. My aim is that
-plugins will be able to be used with successive versions of pppd
-without needing to recompile the plugins.
-
-A plugin is a standard shared library object, typically with a name
-ending in .so. They are loaded using the standard dlopen() library
-call, so plugins are only supported on systems which support shared
-libraries and the dlopen call. At present pppd is compiled with
-plugin support only under Linux and Solaris.
-
-Plugins are loaded into pppd using the `plugin' option, which takes
-one argument, the name of a shared object file. The plugin option is
-a privileged option. I suggest that you give the full path name of
-the shared object file; if you don't, it may be possible for
-unscrupulous users to substitute another shared object file for the
-one you mean to load, e.g. by setting the LD_LIBRARY_PATH variable.
-
-Plugins are usually written in C and compiled and linked to a shared
-object file in the appropriate manner for your platform. Using gcc
-under Linux, a plugin called `xyz' could be compiled and linked with
-the following commands:
-
- gcc -c -O xyz.c
- gcc -shared -o xyz.so xyz.o
-
-There are some example plugins in the pppd/plugins directory in the
-ppp distribution. Currently there is one example, minconn.c, which
-implements a `minconnect' option, which specifies a minimum connect
-time before the idle timeout applies.
-
-Plugins can access global variables within pppd, so it is useful for
-them to #include "pppd.h" from the pppd source directory.
-
-Every plugin must contain a global procedure called `plugin_init'.
-This procedure will get called (with no arguments) immediately after
-the plugin is loaded.
-
-Plugins can affect the behaviour of pppd in at least three ways:
-
-1. They can add extra options which pppd will then recognize. This is
- done by calling the add_options() procedure with a pointer to an
- array of option_t structures. The last entry in the array must
- have its name field set to NULL.
-
-2. Pppd contains `hook' variables which are procedure pointers. If a
- given hook is not NULL, pppd will call the procedure it points to
- at the appropriate point in its processing. The plugin can set any
- of these hooks to point to its own procedures. See below for a
- description of the hooks which are currently implemented.
-
-3. Plugin code can call any global procedures and access any global
- variables in pppd.
-
-Here is a list of the currently implemented hooks in pppd.
-
-
-int (*idle_time_hook)(struct ppp_idle *idlep);
-
-The idle_time_hook is called when the link first comes up (i.e. when
-the first network protocol comes up) and at intervals thereafter. On
-the first call, the idlep parameter is NULL, and the return value is
-the number of seconds before pppd should check the link activity, or 0
-if there is to be no idle timeout.
-
-On subsequent calls, idlep points to a structure giving the number of
-seconds since the last packets were sent and received. If the return
-value is > 0, pppd will wait that many seconds before checking again.
-If it is <= 0, that indicates that the link should be terminated due
-to lack of activity.
-
-
-int (*holdoff_hook)(void);
-
-The holdoff_hook is called when an attempt to bring up the link fails,
-or the link is terminated, and the persist or demand option was used.
-It returns the number of seconds that pppd should wait before trying
-to reestablish the link (0 means immediately).
-
-
-int (*pap_check_hook)(void);
-int (*pap_passwd_hook)(char *user, char *passwd);
-int (*pap_auth_hook)(char *user, int userlen,
- char *passwd, int passlen,
- char **msgp, int *msglenp,
- struct wordlist **paddrs,
- struct wordlist **popts);
-
-These hooks are designed to allow a plugin to replace the normal PAP
-password processing in pppd with something different (e.g. contacting
-an external server).
-
-The pap_check_hook is called to check whether there is any possibility
-that the peer could authenticate itself to us. If it returns 1, pppd
-will ask the peer to authenticate itself. If it returns 0, pppd will
-not ask the peer to authenticate itself (but if authentication is
-required, pppd may exit, or terminate the link before network protocol
-negotiation). If it returns -1, pppd will look in the pap-secrets
-file as it would normally.
-
-The pap_passwd_hook is called to determine what username and password
-pppd should use in authenticating itself to the peer with PAP. The
-user string will already be initialized, by the `user' option, the
-`name' option, or from the hostname, but can be changed if necessary.
-MAXNAMELEN bytes of space are available at *user, and MAXSECRETLEN
-bytes of space at *passwd. If this hook returns 0, pppd will use the
-values at *user and *passwd; if it returns -1, pppd will look in the
-pap-secrets file, or use the value from the +ua or password option, as
-it would normally.
-
-The pap_auth_hook is called to determine whether the username and
-password supplied by the peer are valid. user and passwd point to
-null-terminated strings containing the username and password supplied
-by the peer, with non-printable characters converted to a printable
-form. The pap_auth_hook function should set msg to a string to be
-returned to the peer and return 1 if the username/password was valid
-and 0 if not. If the hook returns -1, pppd will look in the
-pap-secrets file as usual.
-
-If the username/password was valid, the hook can set *paddrs to point
-to a wordlist containing the IP address(es) which the peer is
-permitted to use, formatted as in the pap-secrets file. It can also
-set *popts to a wordlist containing any extra options for this user
-which pppd should apply at this point.
-
-
-## $Id$ ##
diff --git a/mdk-stage1/ppp/README b/mdk-stage1/ppp/README
deleted file mode 100644
index aa1e5f9c2..000000000
--- a/mdk-stage1/ppp/README
+++ /dev/null
@@ -1,168 +0,0 @@
-This is the README file for ppp-2.4, a package which implements the
-Point-to-Point Protocol (PPP) to provide Internet connections over
-serial lines.
-
-
-Introduction.
-*************
-
-The Point-to-Point Protocol (PPP) provides a standard way to establish
-a network connection over a serial link. At present, this package
-supports IP and the protocols layered above IP, such as TCP and UDP.
-The Linux and Solaris ports of this package have optional support for
-IPV6; the Linux port of this package also has support for IPX.
-
-This software consists of two parts:
-
-- Kernel code, which establishes a network interface and passes
-packets between the serial port, the kernel networking code and the
-PPP daemon (pppd). This code is implemented using STREAMS modules on
-SunOS 4.x and Solaris, and as a line discipline under Linux and FreeBSD.
-
-- The PPP daemon (pppd), which negotiates with the peer to establish
-the link and sets up the ppp network interface. Pppd includes support
-for authentication, so you can control which other systems may make a
-PPP connection and what IP addresses they may use.
-
-The primary platforms supported by this package are Linux and Solaris.
-Code for SunOS 4.x is included here but is largely untested. I have
-code for NeXTStep, FreeBSD, SVR4, Tru64 (Digital Unix), AIX and Ultrix
-but no active maintainers for these platforms. Code for all of these
-except AIX is included in the ppp-2.3.11 release.
-
-
-Installation.
-*************
-
-The file SETUP contains general information about setting up your
-system for using PPP. There is also a README file for each supported
-system, which contains more specific details for installing PPP on
-that system. The supported systems, and the corresponding README
-files, are:
-
- Linux README.linux
- Solaris 2 README.sol2
- SunOS 4.x README.sunos4
-
-In each case you start by running the ./configure script. This works
-out which operating system you are using and creates symbolic links to
-the appropriate makefiles. You then run `make' to compile the
-user-level code, and (as root) `make install' to install the
-user-level programs pppd, chat and pppstats.
-
-N.B. Since 2.3.0, leaving the permitted IP addresses column of the
-pap-secrets or chap-secrets file empty means that no addresses are
-permitted. You need to put a "*" in that column to allow the peer to
-use any IP address. (This only applies where the peer is
-authenticating itself to you, of course.)
-
-
-What's new in ppp-2.4.1.
-************************
-
-* Pppd can now print out the set of options that are in effect. The
- new `dump' option causes pppd to print out the option values after
- option parsing is complete. The `dryrun' option causes pppd to
- print the options and then exit.
-
-* The option parsing code has been fixed so that options in the
- per-tty options file are parsed correctly, and don't override values
- from the command line in most cases.
-
-* The plugin option now looks in /usr/lib/pppd/<pppd-version> (for
- example, /usr/lib/pppd/2.4.1b1) for shared objects for plugins if
- there is no slash in the plugin name.
-
-* When loading a plugin, pppd will now check the version of pppd for
- which the plugin was compiled, and refuse to load it if it is
- different to pppd's version string. To enable this, the plugin
- source needs to #include "pppd.h" and have a line saying:
- char pppd_version[] = VERSION;
-
-* There is a bug in zlib, discovered by James Carlson, which can cause
- kernel memory corruption if Deflate is used with the lowest setting,
- 8. As a workaround pppd will now insist on using at least 9.
-
-* Pppd should compile on Solaris and SunOS again.
-
-* Pppd should now set the MTU correctly on demand-dialled interfaces.
-
-
-What was new in ppp-2.4.0.
-**************************
-
-* Multilink: this package now allows you to combine multiple serial
- links into one logical link or `bundle', for increased bandwidth and
- reduced latency. This is currently only supported under the
- Linux-2.3.99pre5 or later kernels.
-
-* All the pppd processes running on a system now write information
- into a common database. I used the `tdb' code from samba for this.
-
-* New hooks have been added.
-
-For a list of the changes made during the 2.3 series releases of this
-package, see the Changes-2.3 file.
-
-
-Compression methods.
-********************
-
-This package supports two packet compression methods: Deflate and
-BSD-Compress. Other compression methods which are in common use
-include Predictor, LZS, and MPPC. These methods are not supported for
-two reasons - they are patent-encumbered, and they cause some packets
-to expand slightly, which pppd doesn't currently allow for.
-BSD-Compress is also patent-encumbered (its inclusion in this package
-can be considered a historical anomaly :-) but it doesn't ever expand
-packets. Neither does Deflate, which uses the same algorithm as gzip.
-
-
-Patents.
-********
-
-The BSD-Compress algorithm used for packet compression is the same as
-that used in the Unix "compress" command. It is apparently covered by
-U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
-and corresponding patents in various other countries (but not
-Australia). If this is of concern, you can build the package without
-including BSD-Compress. To do this, edit net/ppp-comp.h to change the
-definition of DO_BSD_COMPRESS to 0. The bsd-comp.c files are then no
-longer needed, so the references to bsd-comp.o may optionally be
-removed from the Makefiles.
-
-
-Contacts.
-*********
-
-The comp.protocols.ppp newsgroup is a useful place to get help if you
-have trouble getting your ppp connections to work. Please do not send
-me questions of the form "please help me get connected to my ISP" -
-I'm sorry, but I simply do not have the time to answer all the
-questions like this that I get.
-
-If you find bugs in this package, please report them to the maintainer
-for the port for the operating system you are using:
-
-Linux Paul Mackerras <paulus@linuxcare.com>
-Solaris 2 James Carlson <james.d.carlson@east.sun.com>
-SunOS 4.x Adi Masputra <adi.masputra@sun.com>
-
-
-Copyrights:
-***********
-
-All of the code can be freely used and redistributed. The individual
-source files each have their own copyright and permission notice; some
-have a BSD-style notice and some are under the GPL.
-
-
-Distribution:
-*************
-
-The primary site for releases of this software is:
-
- ftp://linuxcare.com.au/pub/ppp/
-
-
-($Id$)
diff --git a/mdk-stage1/ppp/README.MSCHAP80 b/mdk-stage1/ppp/README.MSCHAP80
deleted file mode 100644
index d3ed291b7..000000000
--- a/mdk-stage1/ppp/README.MSCHAP80
+++ /dev/null
@@ -1,284 +0,0 @@
-PPP Client Support for Microsoft's CHAP-80
-==========================================
-
-Eric Rosenquist rosenqui@strataware.com
-(updated by Paul Mackerras)
-(updated by Al Longyear)
-(updated by Farrell Woods)
-
-INTRODUCTION
-
-Microsoft has introduced an extension to the Challenge/Handshake
-Authentication Protocol (CHAP) which avoids storing cleartext
-passwords on a server. (Unfortunately, this is not as secure as it
-sounds, because the encrypted password stored on a server can be used
-by a bogus client to gain access to the server just as easily as if
-the password were stored in cleartext.) The details of the Microsoft
-extensions can be found in the document:
-
- <ftp://ftp.microsoft.com/developr/rfc/chapexts.txt>
-
-In short, MS-CHAP is identified as <auth chap 80> since the hex value
-of 80 is used to designate Microsoft's scheme. Standard PPP CHAP uses
-a value of 5. If you enable PPP debugging with the "debug" option and
-see something like the following in your logs, the remote server is
-requesting MS-CHAP:
-
- rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
- ^^^^^^^^^^^^
-
-The standard pppd implementation will indicate its lack of support for
-MS-CHAP by NAKing it:
-
- sent [LCP ConfNak id=0x2 <auth chap 05>]
-
-Windows NT Server systems are often configured to "Accept only
-Microsoft Authentication" (this is intended to enhance security). Up
-until now, that meant that you couldn't use this version of PPPD to
-connect to such a system. I've managed to get a client-only
-implementation of MS-CHAP working; it will authenticate itself to
-another system using MS-CHAP, but if you're using PPPD as a dial-in
-server, you won't be able to use MS-CHAP to authenticate the clients.
-This would not be a lot of extra work given that the framework is in
-place, but I didn't need it myself so I didn't implement it.
-
-
-BUILDING THE PPPD
-
-MS-CHAP uses a combination of MD4 hashing and DES encryption for
-authentication. You may need to get Eric Young's libdes library in
-order to use my MS-CHAP extensions. A lot of UNIX systems already
-have DES encryption available via the crypt(3), encrypt(3) and
-setkey(3) interfaces. Some may (such as that on Digital UNIX)
-provide only the encryption mechanism and will not perform
-decryption. This is okay. We only need to encrypt to perform
-MS-CHAP authentication.
-
-If you have encrypt/setkey available, then hopefully you need only
-define these two things in your Makefile: -DUSE_CRYPT and -DCHAPMS.
-Skip the paragraphs below about obtaining and building libdes. Do
-the "make clean" and "make" as described below. Linux users
-should not need to modify their Makefiles. Instead,
-just do "make CHAPMS=1 USE_CRYPT=1".
-
-If you don't have encrypt and setkey, you will need Eric Young's
-libdes library. You can find it in:
-
-ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.psy.uq.oz.au/DES/libdes-3.06.tar.gz
-
-Australian residents can get libdes from Eric Young's site:
-
-ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-3.06.tar.gz
-
-It is also available on many other sites (ask Archie).
-
-I used libdes-3.06, but hopefully anything newer than that will work
-also. Get the library, build and test it on your system, and install
-it somewhere (typically /usr/local/lib and /usr/local/include).
-
-
-
-You should now be ready to (re)compile the PPPD. Go to the pppd
-subdirectory and make sure the Makefile contains "-DCHAPMS" in the
-CFLAGS or COMPILE_FLAGS macro, and that the LIBS macro (or LDADD for
-BSD systems) contains "-ldes". Depending on your system and where the
-DES library was installed, you may also need to alter the include and
-library paths used by your compiler.
-
-Do a "make clean" and then a "make" to rebuild pppd. Assuming all
-goes well, install the new pppd and move on to the CONFIGURATION
-section.
-
-
-CONFIGURATION
-
-If you've never used PPPD with CHAP before, read the man page (type
-"man pppd") and read the description in there. Basically, you need to
-edit the "chap-secrets" file typically named /etc/ppp/chap-secrets.
-This should contain the following two lines for each system with which
-you use CHAP (with no leading blanks):
-
- RemoteHost Account Secret
- Account RemoteHost Secret
-
-Note that you need both lines and that item 1 and 2 are swapped in the
-second line. I'm not sure why you need it twice, but it works and I didn't
-have time to look into it further. The "RemoteHost" is a somewhat
-arbitrary name for the remote Windows NT system you're dialing. It doesn't
-have to match the NT system's name, but it *does* have to match what you
-use with the "remotename" parameter. The "Account" is the Windows NT
-account name you have been told to use when dialing, and the "Secret" is
-the password for that account. For example, if your service provider calls
-their machine "DialupNT" and tells you your account and password are
-"customer47" and "foobar", add the following to your chap-secrets file:
-
- DialupNT customer47 foobar
- customer47 DialupNT foobar
-
-The only other thing you need to do for MS-CHAP (compared to normal CHAP)
-is to always use the "remotename" option, either on the command line or in
-your "options" file (see the pppd man page for details). In the case of
-the above example, you would need to use the following command line:
-
- pppd name customer47 remotename DialupNT <other options>
-
-or add:
-
- name customer47
- remotename DialupNT
-
-to your PPPD "options" file.
-
-The "remotename" option is required for MS-CHAP since Microsoft PPP servers
-don't send their system name in the CHAP challenge packet.
-
-
-E=691 (AUTHENTICATION_FAILURE) ERRORS WHEN YOU HAVE THE VALID SECRET (PASSWORD)
-
-If your RAS server is not the domain controller and is not a 'stand-alone'
-server then it must make a query to the domain controller for your domain.
-
-You need to specify the domain name with the user name when you attempt to
-use this type of a configuration. The domain name is specified with the
-local name in the chap-secrets file and with the option for the 'name'
-parameter.
-
-For example, the previous example would become:
-
- DialupNT domain\\customer47 foobar
- domain\\customer47 DialupNT foobar
-
-and
-
- pppd name 'domain\\customer47' remotename DialupNT <other options>
-
-or add:
-
- name domain\\customer47
- remotename DialupNT
-
-when the Windows NT domain name is simply called 'domain'.
-
-
-TROUBLESHOOTING
-
-Assuming that everything else has been configured correctly for PPP and
-CHAP, the MS-CHAP-specific problems you're likely to encounter are mostly
-related to your Windows NT account and its settings. A Microsoft server
-returns error codes in its CHAP response. The following are extracted from
-Microsoft's "chapexts.txt" file referenced above:
-
- 646 ERROR_RESTRICTED_LOGON_HOURS
- 647 ERROR_ACCT_DISABLED
- 648 ERROR_PASSWD_EXPIRED
- 649 ERROR_NO_DIALIN_PERMISSION
- 691 ERROR_AUTHENTICATION_FAILURE
- 709 ERROR_CHANGING_PASSWORD
-
-You'll see these in your pppd log as a line similar to:
-
- Remote message: E=649 R=0
-
-The "E=" is the error number from the table above, and the "R=" flag
-indicates whether the error is transient and the client should retry. If
-you consistently get error 691, then either you're using the wrong account
-name/password, or the DES library or MD4 hashing (in md4.c) aren't working
-properly. Verify your account name and password (use a Windows NT or
-Windows 95 system to dial-in if you have one available). If that checks
-out, test the DES library with the "destest" program included with the DES
-library. If DES checks out, the md4.c routines are probably failing
-(system byte ordering may be a problem) or my code is screwing up. I've
-only got access to a Linux system, so you're on your own for anything else.
-
-Another thing that might cause problems is that some RAS servers won't
-respond at all to LCP config requests without seeing the word "CLIENT"
-from the other end. If you see pppd sending out LCP config requests
-without getting any reply, try putting something in your chat script
-to send the word CLIENT after the modem has connected.
-
-If everything compiles cleanly, but fails at authentication time, then
-it might be a case of the MD4 or DES code screwing up. The following
-small program can be used to test the MS-CHAP code to see if it
-produces a known response:
-
------------------
-#include <stdio.h>
-
-#include "pppd.h"
-#include "chap.h"
-#include "chap_ms.h"
-
-int main(argc, argv)
- int argc;
- char *argv[];
-{
- u_char challenge[8];
- int challengeInt[sizeof(challenge)];
- chap_state cstate;
- int i;
-
- if (argc != 3) {
- fprintf(stderr, "Usage: %s <16-hexchar challenge> <password>\n",
- argv[0]); exit(1);
- }
-
- sscanf(argv[1], "%2x%2x%2x%2x%2x%2x%2x%2x",
- challengeInt + 0, challengeInt + 1, challengeInt + 2,
- challengeInt + 3, challengeInt + 4, challengeInt + 5,
- challengeInt + 6, challengeInt + 7);
-
- for (i = 0; i < sizeof(challenge); i++)
- challenge[i] = (u_char)challengeInt[i];
-
- ChapMS(&cstate, challenge, sizeof(challenge), argv[2], strlen(argv[2]));
- printf("Response length is %d, response is:", cstate.resp_length);
-
- for (i = 0; i < cstate.resp_length; i++) {
- if (i % 8 == 0)
- putchar('\n');
- printf("%02X ", (unsigned int)cstate.response[i]);
- }
-
- putchar('\n');
-
- exit(0);
-}
--------------
-
-This needs to link against chap_ms.o, md4.o, and the DES library. When
-you run it with the command line:
-
- $ testchap 00000000000000000000000000000000 hello
-
-it should output the following:
-
- Response length is 49, response is:
- 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00
- F4 D9 9D AF 82 64 DC 3C
- 53 F9 BC 92 14 B5 5D 9E
- 78 C4 21 48 9D B7 A8 B4
- 01
-
-if not, then either the DES library is not working, the MD4 code isn't
-working, or there are some problems with the port of the code in
-chap_ms.c.
-
-
-STILL TO DO
-
-A site using only MS-CHAP to authenticate has no need to store cleartext
-passwords in the "chap-secrets" file. A utility that spits out the ASCII
-hex MD4 hash of a given password would be nice, and would allow that hash
-to be used in chap-secrets in place of the password. The code to do this
-could quite easily be lifted from chap_ms.c (you have to convert the
-password to Unicode before hashing it). The chap_ms.c file would also have
-to be changed to recognize a password hash (16 binary bytes == 32 ASCII hex
-characters) and skip the hashing stage.
-
-A server implementation would allow MS-CHAP to be used with Windows NT and
-Windows 95 clients for enhanced security. Some new command-line options
-would be required, as would code to generate the Challenge packet and
-verify the response. Most of the helper functions are in place, so this
-shouldn't be too hard for someone to add.
diff --git a/mdk-stage1/ppp/README.cbcp b/mdk-stage1/ppp/README.cbcp
deleted file mode 100644
index 6f7b7685e..000000000
--- a/mdk-stage1/ppp/README.cbcp
+++ /dev/null
@@ -1,97 +0,0 @@
- Microsoft Call Back Configuration Protocol.
- by Pedro Roque Marques
- (updated by Paul Mackerras)
-
-The CBCP is a method by which the Microsoft Windows NT Server may
-implement additional security. It is possible to configure the server
-in such a manner so as to require that the client systems which
-connect with it are required that following a valid authentication to
-leave a method by which the number may be returned call.
-
-It is a requirement of servers so configured that the protocol be
-exchanged.
-
-So, this set of patches may be applied to the pppd process to enable
-the cbcp client *only* portion of the specification. It is primarily
-meant to permit connection with Windows NT Servers.
-
-The ietf-working specification may be obtained from ftp.microsoft.com
-in the developr/rfc directory.
-
-The ietf task group has decided to recommend that the LCP sequence be
-extended to permit the callback operation. For this reason, these
-patches are not 'part' of pppd but are an adjunct to the code.
-
-To enable CBCP support, all that is required is to change the
-appropriate Makefile in the pppd subdirectory to add "-DCBCP_SUPPORT"
-to the CFLAGS definition and add cbcp.o to the list of object files,
-and then recompile pppd. The patch below does this for Makefile.bsd
-and Makefile.linux.
-
-
---------------------------------cut here-------------------------------
-diff -r -c ppp-2.3.orig/pppd/Makefile.bsd ppp-2.3/pppd/Makefile.bsd
-*** ppp-2.3.orig/pppd/Makefile.bsd Tue Oct 8 13:33:33 1996
---- ppp-2.3/pppd/Makefile.bsd Fri Apr 11 23:59:15 1997
-***************
-*** 4,14 ****
- # -D_BITYPES is for FreeBSD, which doesn't define anything to
- # tell us that u_int32_t gets defined if <sys/types.h> is included.
- # Remove for older *BSD systems for which this isn't true.
-! CFLAGS+= -g -I.. -DHAVE_PATHS_H -D_BITYPES
-
- PROG= pppd
- SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
-! demand.c auth.c options.c sys-bsd.c
- MAN= pppd.cat8
- MAN8= pppd.8
- BINMODE=4555
---- 4,14 ----
- # -D_BITYPES is for FreeBSD, which doesn't define anything to
- # tell us that u_int32_t gets defined if <sys/types.h> is included.
- # Remove for older *BSD systems for which this isn't true.
-! CFLAGS+= -I.. -DHAVE_PATHS_H -D_BITYPES -DCBCP_SUPPORT
-
- PROG= pppd
- SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
-! demand.c auth.c options.c sys-bsd.c cbcp.c
- MAN= pppd.cat8
- MAN8= pppd.8
- BINMODE=4555
-diff -r -c ppp-2.3.orig/pppd/Makefile.linux ppp-2.3/pppd/Makefile.linux
-*** ppp-2.3.orig/pppd/Makefile.linux Tue Oct 8 15:42:41 1996
---- ppp-2.3/pppd/Makefile.linux Sat Apr 12 00:02:28 1997
-***************
-*** 14,20 ****
- ipxcp.h cbcp.h
- MANPAGES = pppd.8
- PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
-! auth.o options.o demand.o sys-linux.o ipxcp.o
-
- all: pppd
-
---- 14,20 ----
- ipxcp.h cbcp.h
- MANPAGES = pppd.8
- PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
-! auth.o options.o demand.o sys-linux.o ipxcp.o cbcp.o
-
- all: pppd
-
-***************
-*** 36,42 ****
- #INCLUDE_DIRS= -I/usr/include -I..
- INCLUDE_DIRS=
-
-! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE
-
- CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
---- 36,42 ----
- #INCLUDE_DIRS= -I/usr/include -I..
- INCLUDE_DIRS=
-
-! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DCBCP_SUPPORT
-
- CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
diff --git a/mdk-stage1/ppp/README.linux b/mdk-stage1/ppp/README.linux
deleted file mode 100644
index 62ed9ca7f..000000000
--- a/mdk-stage1/ppp/README.linux
+++ /dev/null
@@ -1,297 +0,0 @@
- PPP for Linux
- -------------
-
- Paul Mackerras
- 8 March 2001
-
- for ppp-2.4.1
-
-1. Introduction
----------------
-
-The Linux PPP implementation includes both kernel and user-level
-parts. This package contains the user-level part, which consists of
-the PPP daemon (pppd) and associated utilities. In the past this
-package has contained updated kernel drivers. This is no longer
-necessary, as the current 2.2 and 2.4 kernel sources contain
-up-to-date drivers.
-
-The Linux PPP implementation is capable of being used both for
-initiating PPP connections (as a `client') or for handling incoming
-PPP connections (as a `server'). Note that this is an operational
-distinction, based on how the connection is created, rather than a
-distinction that is made in the PPP protocols themselves.
-
-Mostly this package is used for PPP connections over modems connected
-via asynchronous serial ports, so this guide concentrates on this
-situation.
-
-The PPP protocol consists of two parts. One is a scheme for framing
-and encoding packets, the other is a series of protocols called LCP,
-IPCP, PAP and CHAP, for negotiating link options and for
-authentication. This package similarly consists of two parts: a
-kernel module which handles PPP's low-level framing protocol, and a
-user-level program called pppd which implements PPP's negotiation
-protocols.
-
-The kernel module assembles/disassembles PPP frames, handles error
-detection, and forwards packets between the serial port and either the
-kernel network code or the user-level program pppd. IP packets go
-directly to the kernel network code. So once pppd has negotiated the
-link, it in practice lies completely dormant until you want to take
-the link down, when it negotiates a graceful disconnect.
-
-
-2. Installation
----------------
-
-2.1 Kernel driver
-
-Assuming you are running a recent 2.2 or 2.4 (or later) series kernel,
-the kernel source code will contain an up-to-date kernel PPP driver.
-If the PPP driver was included in your kernel configuration when your
-kernel was built, then you only need to install the user-level
-programs. Otherwise you will need to get the source tree for your
-kernel version, configure it with PPP included, and recompile. Most
-Linux distribution vendors ship kernels with PPP included in the
-configuration.
-
-The PPP driver can be either compiled into the kernel or compiled as a
-kernel module. If it is compiled into the kernel, the PPP driver is
-included in the kernel image which is loaded at boot time. If it is
-compiled as a module, the PPP driver is present in one or more files
-under /lib/modules and is loaded into the kernel when needed.
-
-The 2.2 series kernels contain an older version of the kernel PPP
-driver, one which doesn't support multilink. If you want multilink,
-you need to run the latest 2.4 series kernel. The kernel PPP driver
-was completely rewritten for the 2.4 series kernels to support
-multilink and to allow it to operate over diverse kinds of
-communication medium (the 2.2 driver only operates over serial ports
-and devices which look like serial ports, such as pseudo-ttys).
-
-Under the 2.2 kernels, if PPP is compiled as a module, the PPP driver
-modules should be present in the /lib/modules/`uname -r`/net directory
-(where `uname -r` represents the kernel version number). The PPP
-driver module itself is called ppp.o, and there will usually be
-compression modules there, ppp_deflate.o and bsd_comp.o, as well as
-slhc.o, which handles TCP/IP header compression. If the PPP driver is
-compiled into the kernel, the compression code will still be compiled
-as modules, for kernels before 2.2.17pre12. For 2.2.17pre12 and later,
-if the PPP driver is compiled in, the compression code will also.
-
-Under the 2.4 kernels, there are two PPP modules, ppp_generic.o and
-ppp_async.o, plus the compression modules (ppp_deflate.o, bsd_comp.o
-and slhc.o). If the PPP generic driver is compiled into the kernel,
-the other four can then be present either as modules or compiled into
-the kernel. There is a sixth module, ppp_synctty.o, which is used for
-synchronous tty devices such as high-speed WAN adaptors.
-
-
-2.2 User-level programs
-
-If you obtained this package in .rpm or .deb format, you simply follow
-the usual procedure for installing the package.
-
-If you are using the .tar.gz form of this package, then cd into the
-ppp-2.4.1b1 directory you obtained by unpacking the archive and issue
-the following commands:
-
-$ ./configure
-$ make
-# make install
-
-The `make install' has to be done as root. This makes and installs
-four programs and their man pages: pppd, chat, pppstats and pppdump.
-If the /etc/ppp configuration directory doesn't exist, the `make
-install' step will create it and install some default configuration
-files.
-
-
-2.3 System setup for 2.4 kernels
-
-Under the 2.4 series kernels, pppd needs to be able to open /dev/ppp,
-character device (108,0). If you are using devfs (the device
-filesystem), the /dev/ppp node will automagically appear when the
-ppp_generic module is loaded, or at startup if ppp_generic is compiled
-in.
-
-If you have ppp_generic as a module, and you are using devfsd (the
-devfs daemon), you will need to add a line like this to your
-/etc/devfsd.conf:
-
-LOOKUP ppp MODLOAD
-
-Otherwise you will need to create a /dev/ppp device node with the
-commands:
-
-# mknod /dev/ppp c 108 0
-# chmod 600 /dev/ppp
-
-If you use module autoloading and have PPP as a module, you will need
-to add the following to your /etc/modules.conf or /etc/conf.modules:
-
-alias /dev/ppp ppp_generic
-alias char-major-108 ppp_generic
-alias tty-ldisc-3 ppp_async
-alias tty-ldisc-14 ppp_synctty
-alias ppp-compress-21 bsd_comp
-alias ppp-compress-24 ppp_deflate
-alias ppp-compress-26 ppp_deflate
-
-
-2.4 System setup under 2.2 series kernels
-
-Under the 2.2 series kernels, you should add the following to your
-/etc/modules.conf or /etc/conf.modules:
-
-alias tty-ldisc-3 ppp
-alias ppp-compress-21 bsd_comp
-alias ppp-compress-24 ppp_deflate
-alias ppp-compress-26 ppp_deflate
-
-
-3. Getting help with problems
------------------------------
-
-If you have problems with your PPP setup, or you just want to ask some
-questions, or better yet if you can help others with their PPP
-questions, then you should join the linux-ppp mailing list. Send an
-email to majordomo@vger.kernel.org with a line in the body saying
-
-subscribe linux-ppp
-
-To leave the mailing list, send an email to majordomo@vger.kernel.org
-with a line in the body saying
-
-unsubscribe linux-ppp
-
-To send a message to the list, email it to linux-ppp@vger.kernel.org.
-You don't have to be subscribed to send messages to the list.
-
-You can also email me (paulus@linuxcare.com.au) but I am overloaded
-with email and I can't respond to most messages I get in a timely
-fashion.
-
-There are also several relevant news groups, such as comp.protocols.ppp,
-comp.os.linux.networking, or comp.os.linux.setup.
-
-
-4. Configuring your dial-out PPP connections
---------------------------------------------
-
-Some Linux distribution makers include tools in their distributions
-for setting up PPP connections. For example, for Red Hat Linux and
-derivatives, you should probably use linuxconf or netcfg to set up
-your PPP connections.
-
-The two main windowing environments for Linux, KDE and Gnome, both
-come with GUI utilities for configuring and controlling PPP dial-out
-connections. They are convenient and relatively easy to configure.
-
-A third alternative is to use a PPP front-end package such as wvdial
-or ezppp. These also will handle most of the details of talking to
-the modem and setting up the PPP connection for you.
-
-Assuming that you don't want to use any of these tools, you want to
-set up the configuration manually yourself, then read on. This
-document gives a brief description and example. More details can be
-found by reading the pppd and chat man pages and the PPP-HOWTO.
-
-We assume that you have a modem that uses the Hayes-compatible AT
-command set connected to an async serial port (e.g. /dev/ttyS0) and
-that you are dialling out to an ISP.
-
-The trickiest and most variable part of setting up a dial-out PPP
-connection is the part which involves getting the modem to dial and
-then invoking PPP service at the far end. Generally, once both ends
-are talking PPP the rest is relatively straightforward.
-
-Now in fact pppd doesn't know anything about how to get modems to dial
-or what you have to say to the system at the far end to get it to talk
-PPP. That's handled by an external program such as chat, specified
-with the connect option to pppd. Chat takes a series of strings to
-expect from the modem interleaved with a series of strings to send to
-the modem. See the chat man page for more information. Here is a
-simple example for connecting to an ISP, assuming that the ISP's
-system starts talking PPP as soon as it answers the phone:
-
-pppd connect 'chat -v "" AT OK ATDT5551212 ~' \
- /dev/ttyS0 57600 crtscts debug defaultroute
-
-Going through pppd's options in order:
- connect 'chat ...' This gives a command to run to contact the
- PPP server. Here the supplied 'chat' program is used to dial a
- remote computer. The whole command is enclosed in single quotes
- because pppd expects a one-word argument for the 'connect' option.
- The options to 'chat' itself are:
-
- -v verbose mode; log what we do to syslog
- "" don't wait for any prompt, but instead...
- AT send the string "AT"
- OK expect the response "OK", then
- ATDT5551212 dial the modem, then
- ~ wait for a ~ character, indicating the start
- of a PPP frame from the server
-
- /dev/ttyS0 specifies which serial port the modem is connected to
- 57600 specifies the baud rate to use
- crtscts use hardware flow control using the RTS & CTS signals
- debug log the PPP negotiation with syslog
- defaultroute add default network route via the PPP link
-
-Pppd will write error messages and debugging logs to the syslogd
-daemon using the facility name "daemon". These messages may already
-be logged to the console or to a file like /var/log/messages; consult
-your /etc/syslog.conf file to see. If you want to make all pppd
-messages go to a file such as /var/log/ppp-debug, add the line
-
-daemon.* /var/log/ppp-debug
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- This is one or more tabs. Do not use spaces.
-
-to syslog.conf; make sure to put one or more TAB characters (not
-spaces!) between the two fields. Then you need to create an empty
-/var/log/ppp-debug file with a command such as
-
- touch /var/log/ppp-debug
-
-and then restart syslogd, usually by sending it a SIGHUP signal with a
-command like this:
-
- killall -HUP syslogd
-
-
-4.1 Is the link up?
-
-The main way to tell if your PPP link is up and operational is the
-ifconfig ("interface configuration") command. Type
-
- /sbin/ifconfig
-
-at a shell prompt. It should print a list of interfaces including one
-like this example:
-
-ppp0 Link encap Point-to-Point Protocol
- inet addr 192.76.32.3 P-t-P 129.67.1.165 Mask 255.255.255.0
- UP POINTOPOINT RUNNING MTU 1500 Metric 1
- RX packets 33 errors 0 dropped 0 overrun 0
- TX packets 42 errors 0 dropped 0 overrun 0
-
-Assuming that ifconfig shows the ppp network interface, you can test
-the link using the ping command like this:
-
- /sbin/ping -c 3 129.67.1.165
-
-where the address you give is the address shown as the P-t-P address
-in the ifconfig output. If the link is operating correctly, you
-should see output like this:
-
- PING 129.67.1.165 (129.67.1.165): 56 data bytes
- 64 bytes from 129.67.1.165: icmp_seq=0 ttl=255 time=268 ms
- 64 bytes from 129.67.1.165: icmp_seq=1 ttl=255 time=247 ms
- 64 bytes from 129.67.1.165: icmp_seq=2 ttl=255 time=266 ms
- --- 129.67.1.165 ping statistics ---
- 3 packets transmitted, 3 packets received, 0% packet loss
- round-trip min/avg/max = 247/260/268 ms
-
diff --git a/mdk-stage1/ppp/README.sol2 b/mdk-stage1/ppp/README.sol2
deleted file mode 100644
index 4c862208f..000000000
--- a/mdk-stage1/ppp/README.sol2
+++ /dev/null
@@ -1,220 +0,0 @@
-This file describes the installation process for ppp-2.3 on systems
-running Solaris 2. The Solaris 2 and SVR4 ports share a lot of code
-but are not identical. The STREAMS kernel modules and driver for
-Solaris 2 are in the svr4 directory (and use some code from the
-modules directory).
-
-NOTE: Although the kernel driver and modules have been designed to
-operate correctly on SMP systems, they have not been extensively
-tested on SMP machines. Some users of SMP Solaris x86 systems have
-reported system problems apparently linked to the use of previous
-versions of this software. I believe these problems have been fixed.
-
-
-Installation.
-*************
-
-1. Run the configure script and make the user-level programs and the
-kernel modules.
-
- ./configure
- make
-
-If you wish to use gcc (or another compiler) instead of Sun's cc, edit
-the svr4/Makedefs file and uncomment the definition of CC. You can
-also change the options passed to the C compiler by editing the COPTS
-definition.
-
-2. Install the programs and kernel modules: as root, do
-
- make install
-
-This installs pppd, chat and pppstats in /usr/local/bin and the kernel
-modules in /kernel/drv and /kernel/strmod, and creates the /etc/ppp
-directory and populates it with default configuration files. You can
-change the installation directories by editing svr4/Makedefs.
-
-If your system normally has only one network interface, the default
-Solaris 2 system startup scripts will disable IP forwarding in the IP
-kernel module. This will prevent the remote machine from using the
-local machine as a gateway to access other hosts. The solution is to
-create an /etc/ppp/ip-up script containing something like this:
-
- #!/bin/sh
- /usr/sbin/ndd -set /dev/ip ip_forwarding 1
-
-See the man page for ip(7p) for details.
-
-Dynamic STREAMS Re-Plumbing Support.
-************************************
-
-Solaris 8 includes dynamic re-plumbing support. With this, modules
-below ip can be inserted, or removed, without having the ip stream be
-unplumbed, and re-plumbed again. All states in ip for an interface
-will therefore now be preserved. Users can install (or upgrade)
-modules like firewall, bandwidth manager, cache manager, tunneling,
-etc., without shutting the machine down.
-
-To support this, ppp driver now uses /dev/udp instead of /dev/ip for
-the ip stream. The interface stream (where ip module pushed on top of
-ppp) is then I_PLINK'ed below the ip stream. /dev/udp is used because
-STREAMS will not let a driver be PLINK'ed under itself, and /dev/ip is
-typically the driver at the bottom of the tunneling interfaces
-stream. The mux ids of the ip streams are then added using
-SIOCSxIFMUXID ioctl.
-
-Users will be able to see the modules on the interface stream by, for
-example:
-
- pikapon% ifconfig ppp modlist
- 0 ip
- 1 ppp
-
-Or arbitrarily if bandwidth manager and firewall modules are installed:
-
- pikapon% ifconfig hme0 modlist
- 0 arp
- 1 ip
- 2 ipqos
- 3 firewall
- 4 hme
-
-Snoop Support.
-**************
-
-This version includes support for /usr/sbin/snoop. Tests has been done
-on both Solaris 7 and 8. Only IPv4 and IPv6 packets will be sent up to
-stream(s) marked as promiscuous, e.g, snoop et al.
-
-Users will be able to see the packets on the ppp interface by, for example:
-
- snoop -d ppp0
-
-See the man page for snoop(1M) for details.
-
-IPv6 Support.
-*************
-
-This is for Solaris 8 and later.
-
-This version has been tested under Solaris 8 running IPv6. As of now,
-interoperability testing has only been done between Solaris machines
-in terms of the IPV6 NCP. An additional command line option for the
-pppd daemon has been added: ipv6cp-use-persistent.
-
-By default, compilation for IPv6 support is not enabled. Uncomment
-the necessary lines in pppd/Makefile.sol2 to enable it. Once done, the
-quickest way to get IPv6 running is to add the following somewhere in
-the command line option:
-
- +ipv6 ipv6cp-use-persistent
-
-The persistent id for the link-local address was added to conform to
-RFC 2472; such that if there's an EUI-48 available, use that to make
-up the EUI-64. As of now, the Solaris implementation extracts the
-EUI-48 id from the Ethernet's MAC address (the ethernet interface
-needs to be up). Future works might support other ways of obtaining a
-unique yet persistent id, such as EEPROM serial numbers, etc.
-
-There need not be any up/down scripts for ipv6, e.g. /etc/ppp/ipv6-up
-or /etc/ppp/ipv6-down, to trigger IPv6 neighbor discovery for auto
-configuration and routing. The in.ndpd daemon will perform all of the
-necessary jobs in the background. /etc/inet/ndpd.conf can be further
-customized to enable the machine as an IPv6 router. See the man page
-for in.ndpd(1M) and ndpd.conf(4) for details.
-
-Below is a sample output of "ifconfig -a" with persistent link-local
-address. Note the UNNUMBERED flag is set because hme0 and ppp0 both
-have identical link-local IPv6 addresses:
-
-lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
- inet 127.0.0.1 netmask ff000000
-hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
- inet 129.146.86.248 netmask ffffff00 broadcast 129.146.86.255
- ether 8:0:20:8d:38:c1
-lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
- inet6 ::1/128
-hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
- ether 8:0:20:8d:38:c1
- inet6 fe80::a00:20ff:fe8d:38c1/10
-hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 fec0::56:a00:20ff:fe8d:38c1/64
-hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 2000::56:a00:20ff:fe8d:38c1/64
-hme0:3: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
- inet6 2::56:a00:20ff:fe8d:38c1/64
-ppp0: flags=10008d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,IPv4> mtu 1500 index 12
- inet 172.16.1.1 --> 172.16.1.2 netmask ffffff00
-ppp0: flags=2202851<UP,POINTOPOINT,RUNNING,MULTICAST,UNNUMBERED,NONUD,IPv6> mtu 1500 index 12
- inet6 fe80::a00:20ff:fe8d:38c1/10 --> fe80::a00:20ff:fe7a:24fb
-
-Note also that a plumbed ipv6 interface stream will exist throughout
-the entire PPP session in the case where the peer rejects IPV6CP,
-which further causes the interface state to stay down. Unplumbing will
-happen when the daemon exits. This is done by design and is not a bug.
-
-64-bit Support.
-***************
-
-This version has been tested under Solaris 7 (and Solaris 8 ) in both
-32- and 64-bits environments (Ultra class machines). Installing the
-package by executing "make install" will result in additional files
-residing in /kernel/drv/sparcv9 and /kernel/strmod/sparcv9
-subdirectories.
-
-64-bit modules and driver have been compiled and tested using Sun's cc.
-
-Synchronous Serial Support.
-***************************
-
-This version has working but limited support for the on-board
-synchronous HDLC interfaces. It has been tested with the /dev/se_hdlc
-and /dev/zsh drivers. Synchronous mode was tested with a Cisco
-router.
-
-There ppp daemon does not directly support controlling the serial
-interface. It relies on the /usr/sbin/syncinit command to initialize
-HDLC mode and clocking.
-
-Some bugs remain: large sized frames are not sent/received properly,
-and may be related to the IP mtu. This may be due to bugs in pppd
-itself, bugs in Solaris or the serial drivers. The /dev/zsh driver
-seems more larger and can send/receive larger frames than the
-/dev/se_hdlc driver. There is a confirmed bug with NRZ/NRZI mode in
-the /dev/se_hdlc driver, and Solaris patch 104596-11 is needed to
-correct it. (However this patch seems to introduce other serial
-problems. If you don't apply the patch, the workaround is to change
-the nrzi mode to yes or no, whichever works)
-
-How to start pppd with synchronous support:
-
-#!/bin/sh
-
-local=1.1.1.1 # your ip address here
-baud=38400 # needed, but ignored by serial driver
-
-# Change to the correct serial driver/port
-#dev=/dev/zsh0
-dev=/dev/se_hdlc0
-
-# Change the driver, nrzi mode, speed and clocking to match your setup
-# This configuration is for external clocking from the DCE
-connect="syncinit se_hdlc0 nrzi=no speed=64000 txc=rxc rxc=rxc"
-
-/usr/sbin/pppd $dev sync $baud novj noauth $local: connect "$connect"
-
-
-Sample Cisco router config excerpt:
-
-!
-! Cisco router setup as DCE with RS-232 DCE cable
-!
-!
-interface Serial0
- ip address 1.1.1.2 255.255.255.0
- encapsulation ppp
- clockrate 64000
- no nrzi-encoding
- no shutdown
-!
-
diff --git a/mdk-stage1/ppp/README.sunos4 b/mdk-stage1/ppp/README.sunos4
deleted file mode 100644
index b48aec377..000000000
--- a/mdk-stage1/ppp/README.sunos4
+++ /dev/null
@@ -1,62 +0,0 @@
-This file describes the installation process for ppp-2.3 on systems
-running SunOS 4.1.x (or the equivalent).
-
-The STREAMS modules in the sunos4 directory provide kernel support for
-PPP on SunOS 4.1.x systems. They have been tested under SunOS 4.1.3
-on a SparcStation 1+. They should work under earlier SunOS 4.1.x
-systems, but no guarantees are given.
-
-These modules are designed to be loaded into the running kernel using
-the `modload' command.
-
-
-Installation.
-*************
-
-1. Run the configure script and make the user-level programs and the
-kernel modules.
-
- ./configure
- make
-
-If you wish to compile using gcc instead of cc, edit the
-sunos4/Makedefs file and uncomment the line saying "CC = gcc". You
-can also change the C compiler options by editing the COPTS
-definition.
-
-2. Install the pppd, pppstats and chat programs and the loadable
-module object files (you need to be root to do this):
-
- make install
-
-By default, the programs and the loadable module object files go into
-/usr/local/etc. Doing `make install' also copies a script called
-ppp.INSTALL into /dev, and makes ppp.LOAD, ppp.UNLOAD, ppp.MKDEV and
-ppp.RMDEV links to it. You can change the installation directories by
-editing sunos4/Makedefs.
-
-3. Load the ppp modules (you need to be root for this too):
-
- /dev/ppp.LOAD
-
-You will want to do this in your /etc/rc.local file once you have
-everything installed. I suggest you put something like the following
-in /etc/rc.local (or /etc/loadable, if you have one):
-
- if [ -f /dev/ppp.AUTOLOAD ]; then
- /dev/ppp.LOAD
- fi
-
-and then create a /dev/ppp.AUTOLOAD file with the command
-
- touch /dev/ppp.AUTOLOAD
-
-It is not advisable to unload the "if_ppp" module, because it creates
-network interface units, and SunOS does not provide any way to destroy
-network interfaces once created. If you do unload it, the system will
-probably crash at some later stage.
-
-If you have previously had ppp-2.2 installed, you may have statements
-in your /etc/rc.local to load the ppp module. You will need to remove
-those. Having done this, you will need to reboot to remove the old
-ppp module and load the new modules.
diff --git a/mdk-stage1/ppp/SETUP b/mdk-stage1/ppp/SETUP
deleted file mode 100644
index fb28a2138..000000000
--- a/mdk-stage1/ppp/SETUP
+++ /dev/null
@@ -1,111 +0,0 @@
- Configuring a PPP link.
-
-After you have compiled and installed this package, there are some
-configuration files which will generally need to be set up. The
-pppd(8) man page is the best reference for the full details; this file
-outlines the configuration process for the most common case, where
-this package is being used to enable a machine to dial an ISP and
-connect to the internet. The FAQ and README.linux files also provide
-useful information about setting up PPP.
-
-Dialling an ISP.
-****************
-
-Usually, an ISP will assign an IP address to your machine, and will
-refuse to authenticate itself to you. Some ISPs require a username
-and password to be entered before PPP service commences, while others
-use PPP authentication (using either the PAP or CHAP protocols).
-
-The recommended way to set up to dial an ISP is for the system
-administrator to create a file under /etc/ppp/peers, named for the ISP
-that you will be dialling. For example, suppose the file is called
-/etc/ppp/peers/isp. This file would contain something like this:
-
-cua0 # modem is connected to /dev/cua0
-38400 # run the serial port at 38400 baud
-crtscts # use hardware flow control
-noauth # don't require the ISP to authenticate itself
-defaultroute # use the ISP as our default route
-connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
-
-If there are any other pppd options that should apply when calling
-this ISP, they can also be placed in this file.
-
-The /etc/ppp/chat-isp file named in the last line contains the script
-for chat(8) to use to dial the ISP and go through any username/
-password authentication required before PPP service starts. Here is
-an example (for dialling an Annex terminal server):
-
-ABORT "NO CARRIER"
-ABORT "NO DIALTONE"
-ABORT "ERROR"
-ABORT "NO ANSWER"
-ABORT "BUSY"
-ABORT "Username/Password Incorrect"
-"" "at"
-OK "at&d2&c1"
-OK "atdt2479381"
-"name:" "^Uusername"
-"word:" "\qpassword"
-"annex" "ppp"
-"Switching to PPP-ppp-Switching to PPP"
-
-See the chat(8) man page for details of the script. If you are not
-sure how the initial dialog with your ISP will go, you could use
-a terminal emulator such as kermit or minicom to go through the
-process manually.
-
-If your ISP requires PAP or CHAP authentication, you will have to
-create a line in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets like
-this:
-
-myhostname * "password"
-
-(Replace myhostname with the hostname of your machine.)
-
-At this point, you can initiate the link with the command:
-
-/usr/sbin/pppd call isp
-
-(N.B.: pppd might be installed in a different directory on some
-systems).
-
-This will return to the shell prompt immediately, as pppd will detach
-itself from its controlling terminal. (If you don't want it to do
-this, use the "nodetach" option.)
-
-Pppd will log messages describing the progress of the connection and
-any errors using the syslog facility (see the syslogd(8) and
-syslog.conf(5) man pages). Pppd issues messages using syslog facility
-daemon (or local2 if it has been compiled with debugging enabled);
-chat uses facility local2. It is often useful to see messages of
-priority notice or higher on the console. To see these, find the line
-in /etc/syslog.conf which has /dev/console on the right-hand side, and
-add `daemon.notice' on the left. This line should end up something
-like this:
-
-*.err;kern.debug;daemon,local2,auth.notice;mail.crit /dev/console
-
-If you want to see more messages from pppd, request messages of
-priority info or higher for facility daemon, like this:
-
-*.err;kern.debug;daemon.info;local2,auth.notice;mail.crit /dev/console
-
-It is also useful to add a line like this:
-
-daemon,local2.debug /etc/ppp/ppp-log
-
-If you do this, you will need to create an empty /etc/ppp/ppp-log
-file.
-
-After modifying syslog.conf, you will then need to send a HUP signal
-to syslogd (or reboot).
-
-When you wish terminate the PPP link, you should send a TERM or INTR
-signal to pppd. Pppd writes its process ID to a file called
-ppp<n>.pid in /var/run (or /etc/ppp on older systems such as SunOS or
-Ultrix). Here <n> is the PPP interface unit number, which will be 0
-unless you have more than one PPP link running simultaneously. Thus
-you can terminate the link with a command like
-
- kill `cat /var/run/ppp0.pid`
diff --git a/mdk-stage1/ppp/chat/Makefile.linux b/mdk-stage1/ppp/chat/Makefile.linux
deleted file mode 100644
index 586cbd876..000000000
--- a/mdk-stage1/ppp/chat/Makefile.linux
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id$
-
-CDEF1= -DTERMIOS # Use the termios structure
-CDEF2= -DSIGTYPE=void # Standard definition
-CDEF3= -UNO_SLEEP # Use the usleep function
-CDEF4= -DFNDELAY=O_NDELAY # Old name value
-CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-
-CFLAGS= $(RPM_OPT_FLAGS) $(CDEFS)
-
-INSTALL= install
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-chat.o: chat.c
- $(CC) -c $(CFLAGS) -o chat.o chat.c
-
-install: chat
- mkdir -p $(BINDIR)
- $(INSTALL) -s -c chat $(BINDIR)
- $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
-
-clean:
- rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.linux.makeopt b/mdk-stage1/ppp/chat/Makefile.linux.makeopt
deleted file mode 100644
index 974680a93..000000000
--- a/mdk-stage1/ppp/chat/Makefile.linux.makeopt
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id$
-
-CDEF1= -DTERMIOS # Use the termios structure
-CDEF2= -DSIGTYPE=void # Standard definition
-CDEF3= -UNO_SLEEP # Use the usleep function
-CDEF4= -DFNDELAY=O_NDELAY # Old name value
-CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
-
-CFLAGS= -O2 -g -pipe $(CDEFS)
-
-INSTALL= install
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-chat.o: chat.c
- $(CC) -c $(CFLAGS) -o chat.o chat.c
-
-install: chat
- mkdir -p $(BINDIR)
- $(INSTALL) -s -c chat $(BINDIR)
- $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
-
-clean:
- rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.sol2 b/mdk-stage1/ppp/chat/Makefile.sol2
deleted file mode 100644
index f566cc68b..000000000
--- a/mdk-stage1/ppp/chat/Makefile.sol2
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Makefile for chat on Solaris 2
-#
-
-include ../solaris/Makedefs
-
-CFLAGS = $(COPTS) -DNO_USLEEP -DSOL2
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-install: chat
- $(INSTALL) -f $(BINDIR) chat
- $(INSTALL) -m 444 -f $(MANDIR)/man8 chat.8
-
-clean:
- rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/Makefile.sunos4 b/mdk-stage1/ppp/chat/Makefile.sunos4
deleted file mode 100644
index b3507360e..000000000
--- a/mdk-stage1/ppp/chat/Makefile.sunos4
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Makefile for chat on suns
-#
-
-include ../sunos4/Makedefs
-
-CFLAGS = -DSUNOS $(COPTS)
-
-all: chat
-
-chat: chat.o
- $(CC) -o chat chat.o
-
-install: chat
- $(INSTALL) -c chat $(BINDIR)/chat
- $(INSTALL) -c -m 444 chat.8 $(MANDIR)/man8/chat.8
-
-clean:
- rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/chat.8 b/mdk-stage1/ppp/chat/chat.8
deleted file mode 100644
index 8d2029609..000000000
--- a/mdk-stage1/ppp/chat/chat.8
+++ /dev/null
@@ -1,515 +0,0 @@
-.\" -*- nroff -*-
-.\" manual page [] for chat 1.8
-.\" $Id$
-.\" SH section heading
-.\" SS subsection heading
-.\" LP paragraph
-.\" IP indented paragraph
-.\" TP hanging label
-.TH CHAT 8 "22 May 1999" "Chat Version 1.22"
-.SH NAME
-chat \- Automated conversational script with a modem
-.SH SYNOPSIS
-.B chat
-[
-.I options
-]
-.I script
-.SH DESCRIPTION
-.LP
-The \fIchat\fR program defines a conversational exchange between the
-computer and the modem. Its primary purpose is to establish the
-connection between the Point-to-Point Protocol Daemon (\fIpppd\fR) and
-the remote's \fIpppd\fR process.
-.SH OPTIONS
-.TP
-.B -f \fI<chat file>
-Read the chat script from the chat \fIfile\fR. The use of this option
-is mutually exclusive with the chat script parameters. The user must
-have read access to the file. Multiple lines are permitted in the
-file. Space or horizontal tab characters should be used to separate
-the strings.
-.TP
-.B -t \fI<timeout>
-Set the timeout for the expected string to be received. If the string
-is not received within the time limit then the reply string is not
-sent. An alternate reply may be sent or the script will fail if there
-is no alternate reply string. A failed script will cause the
-\fIchat\fR program to terminate with a non-zero error code.
-.TP
-.B -r \fI<report file>
-Set the file for output of the report strings. If you use the keyword
-\fIREPORT\fR, the resulting strings are written to this file. If this
-option is not used and you still use \fIREPORT\fR keywords, the
-\fIstderr\fR file is used for the report strings.
-.TP
-.B -e
-Start with the echo option turned on. Echoing may also be turned on
-or off at specific points in the chat script by using the \fIECHO\fR
-keyword. When echoing is enabled, all output from the modem is echoed
-to \fIstderr\fR.
-.TP
-.B -E
-Enables environment variable substituion within chat scripts using the
-standard \fI$xxx\fR syntax.
-.TP
-.B -v
-Request that the \fIchat\fR script be executed in a verbose mode. The
-\fIchat\fR program will then log the execution state of the chat
-script as well as all text received from the modem and the output
-strings sent to the modem. The default is to log through the SYSLOG;
-the logging method may be altered with the -S and -s flags.
-.TP
-.B -V
-Request that the \fIchat\fR script be executed in a stderr verbose
-mode. The \fIchat\fR program will then log all text received from the
-modem and the output strings sent to the modem to the stderr device. This
-device is usually the local console at the station running the chat or
-pppd program.
-.TP
-.B -s
-Use stderr. All log messages from '-v' and all error messages will be
-sent to stderr.
-.TP
-.B -S
-Do not use the SYSLOG. By default, error messages are sent to the
-SYSLOG. The use of -S will prevent both log messages from '-v' and
-error messages from being sent to the SYSLOG.
-.TP
-.B -T \fI<phone number>
-Pass in an arbitary string, usually a phone number, that will be
-substituted for the \\T substitution metacharacter in a send string.
-.TP
-.B -U \fI<phone number 2>
-Pass in a second string, usually a phone number, that will be
-substituted for the \\U substitution metacharacter in a send string.
-This is useful when dialing an ISDN terminal adapter that requires two
-numbers.
-.TP
-.B script
-If the script is not specified in a file with the \fI-f\fR option then
-the script is included as parameters to the \fIchat\fR program.
-.SH CHAT SCRIPT
-.LP
-The \fIchat\fR script defines the communications.
-.LP
-A script consists of one or more "expect-send" pairs of strings,
-separated by spaces, with an optional "subexpect-subsend" string pair,
-separated by a dash as in the following example:
-.IP
-ogin:-BREAK-ogin: ppp ssword: hello2u2
-.LP
-This line indicates that the \fIchat\fR program should expect the string
-"ogin:". If it fails to receive a login prompt within the time interval
-allotted, it is to send a break sequence to the remote and then expect the
-string "ogin:". If the first "ogin:" is received then the break sequence is
-not generated.
-.LP
-Once it received the login prompt the \fIchat\fR program will send the
-string ppp and then expect the prompt "ssword:". When it receives the
-prompt for the password, it will send the password hello2u2.
-.LP
-A carriage return is normally sent following the reply string. It is not
-expected in the "expect" string unless it is specifically requested by using
-the \\r character sequence.
-.LP
-The expect sequence should contain only what is needed to identify the
-string. Since it is normally stored on a disk file, it should not contain
-variable information. It is generally not acceptable to look for time
-strings, network identification strings, or other variable pieces of data as
-an expect string.
-.LP
-To help correct for characters which may be corrupted during the initial
-sequence, look for the string "ogin:" rather than "login:". It is possible
-that the leading "l" character may be received in error and you may never
-find the string even though it was sent by the system. For this reason,
-scripts look for "ogin:" rather than "login:" and "ssword:" rather than
-"password:".
-.LP
-A very simple script might look like this:
-.IP
-ogin: ppp ssword: hello2u2
-.LP
-In other words, expect ....ogin:, send ppp, expect ...ssword:, send hello2u2.
-.LP
-In actual practice, simple scripts are rare. At the vary least, you
-should include sub-expect sequences should the original string not be
-received. For example, consider the following script:
-.IP
-ogin:--ogin: ppp ssword: hello2u2
-.LP
-This would be a better script than the simple one used earlier. This would look
-for the same login: prompt, however, if one was not received, a single
-return sequence is sent and then it will look for login: again. Should line
-noise obscure the first login prompt then sending the empty line will
-usually generate a login prompt again.
-.SH COMMENTS
-Comments can be embedded in the chat script. A comment is a line which
-starts with the \fB#\fR (hash) character in column 1. Such comment
-lines are just ignored by the chat program. If a '#' character is to
-be expected as the first character of the expect sequence, you should
-quote the expect string.
-If you want to wait for a prompt that starts with a # (hash)
-character, you would have to write something like this:
-.IP
-# Now wait for the prompt and send logout string
-.br
-\'# ' logout
-.LP
-
-.SH SENDING DATA FROM A FILE
-If the string to send starts with an at sign (@), the rest of the
-string is taken to be the name of a file to read to get the string to
-send. If the last character of the data read is a newline, it is
-removed. The file can be a named pipe (or fifo) instead of a regular
-file. This provides a way for \fBchat\fR to communicate with another
-program, for example, a program to prompt the user and receive a
-password typed in.
-.LP
-
-.SH ABORT STRINGS
-Many modems will report the status of the call as a string. These
-strings may be \fBCONNECTED\fR or \fBNO CARRIER\fR or \fBBUSY\fR. It
-is often desirable to terminate the script should the modem fail to
-connect to the remote. The difficulty is that a script would not know
-exactly which modem string it may receive. On one attempt, it may
-receive \fBBUSY\fR while the next time it may receive \fBNO CARRIER\fR.
-.LP
-These "abort" strings may be specified in the script using the \fIABORT\fR
-sequence. It is written in the script as in the following example:
-.IP
-ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
-.LP
-This sequence will expect nothing; and then send the string ATZ. The
-expected response to this is the string \fIOK\fR. When it receives \fIOK\fR,
-the string ATDT5551212 to dial the telephone. The expected string is
-\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder of the
-script is executed. However, should the modem find a busy telephone, it will
-send the string \fIBUSY\fR. This will cause the string to match the abort
-character sequence. The script will then fail because it found a match to
-the abort string. If it received the string \fINO CARRIER\fR, it will abort
-for the same reason. Either string may be received. Either string will
-terminate the \fIchat\fR script.
-.SH CLR_ABORT STRINGS
-This sequence allows for clearing previously set \fBABORT\fR strings.
-\fBABORT\fR strings are kept in an array of a pre-determined size (at
-compilation time); \fBCLR_ABORT\fR will reclaim the space for cleared
-entries so that new strings can use that space.
-.SH SAY STRINGS
-The \fBSAY\fR directive allows the script to send strings to the user
-at the terminal via standard error. If \fBchat\fR is being run by
-pppd, and pppd is running as a daemon (detached from its controlling
-terminal), standard error will normally be redirected to the file
-/etc/ppp/connect-errors.
-.LP
-\fBSAY\fR strings must be enclosed in single or double quotes. If
-carriage return and line feed are needed in the string to be output,
-you must explicitely add them to your string.
-.LP
-The SAY strings could be used to give progress messages in sections of
-the script where you want to have 'ECHO OFF' but still let the user
-know what is happening. An example is:
-.IP
-ABORT BUSY
-.br
-ECHO OFF
-.br
-SAY "Dialling your ISP...\\n"
-.br
-\'' ATDT5551212
-.br
-TIMEOUT 120
-.br
-SAY "Waiting up to 2 minutes for connection ... "
-.br
-CONNECT ''
-.br
-SAY "Connected, now logging in ...\n"
-.br
-ogin: account
-.br
-ssword: pass
-.br
-$ \c
-SAY "Logged in OK ...\n"
-\fIetc ...\fR
-.LP
-This sequence will only present the SAY strings to the user and all
-the details of the script will remain hidden. For example, if the
-above script works, the user will see:
-.IP
-Dialling your ISP...
-.br
-Waiting up to 2 minutes for connection ... Connected, now logging in ...
-.br
-Logged in OK ...
-.LP
-
-.SH REPORT STRINGS
-A \fBreport\fR string is similar to the ABORT string. The difference
-is that the strings, and all characters to the next control character
-such as a carriage return, are written to the report file.
-.LP
-The report strings may be used to isolate the transmission rate of the
-modem's connect string and return the value to the chat user. The
-analysis of the report string logic occurs in conjunction with the
-other string processing such as looking for the expect string. The use
-of the same string for a report and abort sequence is probably not
-very useful, however, it is possible.
-.LP
-The report strings to no change the completion code of the program.
-.LP
-These "report" strings may be specified in the script using the \fIREPORT\fR
-sequence. It is written in the script as in the following example:
-.IP
-REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
-.LP
-This sequence will expect nothing; and then send the string
-ATDT5551212 to dial the telephone. The expected string is
-\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder
-of the script is executed. In addition the program will write to the
-expect-file the string "CONNECT" plus any characters which follow it
-such as the connection rate.
-.SH CLR_REPORT STRINGS
-This sequence allows for clearing previously set \fBREPORT\fR strings.
-\fBREPORT\fR strings are kept in an array of a pre-determined size (at
-compilation time); \fBCLR_REPORT\fR will reclaim the space for cleared
-entries so that new strings can use that space.
-.SH ECHO
-The echo options controls whether the output from the modem is echoed
-to \fIstderr\fR. This option may be set with the \fI-e\fR option, but
-it can also be controlled by the \fIECHO\fR keyword. The "expect-send"
-pair \fIECHO\fR \fION\fR enables echoing, and \fIECHO\fR \fIOFF\fR
-disables it. With this keyword you can select which parts of the
-conversation should be visible. For instance, with the following
-script:
-.IP
-ABORT 'BUSY'
-.br
-ABORT 'NO CARRIER'
-.br
-'' ATZ
-.br
-OK\\r\\n ATD1234567
-.br
-\\r\\n \\c
-.br
-ECHO ON
-.br
-CONNECT \\c
-.br
-ogin: account
-.LP
-all output resulting from modem configuration and dialing is not visible,
-but starting with the \fICONNECT\fR (or \fIBUSY\fR) message, everything
-will be echoed.
-.SH HANGUP
-The HANGUP options control whether a modem hangup should be considered
-as an error or not. This option is useful in scripts for dialling
-systems which will hang up and call your system back. The HANGUP
-options can be \fBON\fR or \fBOFF\fR.
-.br
-When HANGUP is set OFF and the modem hangs up (e.g., after the first
-stage of logging in to a callback system), \fBchat\fR will continue
-running the script (e.g., waiting for the incoming call and second
-stage login prompt). As soon as the incoming call is connected, you
-should use the \fBHANGUP ON\fR directive to reinstall normal hang up
-signal behavior. Here is an (simple) example script:
-.IP
-ABORT 'BUSY'
-.br
-'' ATZ
-.br
-OK\\r\\n ATD1234567
-.br
-\\r\\n \\c
-.br
-CONNECT \\c
-.br
-\'Callback login:' call_back_ID
-.br
-HANGUP OFF
-.br
-ABORT "Bad Login"
-.br
-\'Callback Password:' Call_back_password
-.br
-TIMEOUT 120
-.br
-CONNECT \\c
-.br
-HANGUP ON
-.br
-ABORT "NO CARRIER"
-.br
-ogin:--BREAK--ogin: real_account
-.br
-\fIetc ...\fR
-.LP
-.SH TIMEOUT
-The initial timeout value is 45 seconds. This may be changed using the \fB-t\fR
-parameter.
-.LP
-To change the timeout value for the next expect string, the following
-example may be used:
-.IP
-ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:--ogin: TIMEOUT 5 assword: hello2u2
-.LP
-This will change the timeout to 10 seconds when it expects the login:
-prompt. The timeout is then changed to 5 seconds when it looks for the
-password prompt.
-.LP
-The timeout, once changed, remains in effect until it is changed again.
-.SH SENDING EOT
-The special reply string of \fIEOT\fR indicates that the chat program
-should send an EOT character to the remote. This is normally the
-End-of-file character sequence. A return character is not sent
-following the EOT.
-.PR
-The EOT sequence may be embedded into the send string using the
-sequence \fI^D\fR.
-.SH GENERATING BREAK
-The special reply string of \fIBREAK\fR will cause a break condition
-to be sent. The break is a special signal on the transmitter. The
-normal processing on the receiver is to change the transmission rate.
-It may be used to cycle through the available transmission rates on
-the remote until you are able to receive a valid login prompt.
-.PR
-The break sequence may be embedded into the send string using the
-\fI\\K\fR sequence.
-.SH ESCAPE SEQUENCES
-The expect and reply strings may contain escape sequences. All of the
-sequences are legal in the reply string. Many are legal in the expect.
-Those which are not valid in the expect sequence are so indicated.
-.TP
-.B ''
-Expects or sends a null string. If you send a null string then it will still
-send the return character. This sequence may either be a pair of apostrophe
-or quote characters.
-.TP
-.B \\\\b
-represents a backspace character.
-.TP
-.B \\\\c
-Suppresses the newline at the end of the reply string. This is the only
-method to send a string without a trailing return character. It must
-be at the end of the send string. For example,
-the sequence hello\\c will simply send the characters h, e, l, l, o.
-.I (not valid in expect.)
-.TP
-.B \\\\d
-Delay for one second. The program uses sleep(1) which will delay to a
-maximum of one second.
-.I (not valid in expect.)
-.TP
-.B \\\\K
-Insert a BREAK
-.I (not valid in expect.)
-.TP
-.B \\\\n
-Send a newline or linefeed character.
-.TP
-.B \\\\N
-Send a null character. The same sequence may be represented by \\0.
-.I (not valid in expect.)
-.TP
-.B \\\\p
-Pause for a fraction of a second. The delay is 1/10th of a second.
-.I (not valid in expect.)
-.TP
-.B \\\\q
-Suppress writing the string to the SYSLOG file. The string ?????? is
-written to the log in its place.
-.I (not valid in expect.)
-.TP
-.B \\\\r
-Send or expect a carriage return.
-.TP
-.B \\\\s
-Represents a space character in the string. This may be used when it
-is not desirable to quote the strings which contains spaces. The
-sequence 'HI TIM' and HI\\sTIM are the same.
-.TP
-.B \\\\t
-Send or expect a tab character.
-.TP
-.B \\\\T
-Send the phone number string as specified with the \fI-T\fR option
-.I (not valid in expect.)
-.TP
-.B \\\\U
-Send the phone number 2 string as specified with the \fI-U\fR option
-.I (not valid in expect.)
-.TP
-.B \\\\\\\\
-Send or expect a backslash character.
-.TP
-.B \\\\ddd
-Collapse the octal digits (ddd) into a single ASCII character and send that
-character.
-.I (some characters are not valid in expect.)
-.TP
-.B \^^C
-Substitute the sequence with the control character represented by C.
-For example, the character DC1 (17) is shown as \^^Q.
-.I (some characters are not valid in expect.)
-.SH ENVIRONMENT VARIABLES
-Environment variables are available within chat scripts, if the \fI-E\fR
-option was specified in the command line. The metacharacter \fI$\fR is used
-to introduce the name of the environment variable to substitute. If the
-substition fails, because the requested environment variable is not set,
-\fInothing\fR is replaced for the variable.
-.SH TERMINATION CODES
-The \fIchat\fR program will terminate with the following completion
-codes.
-.TP
-.B 0
-The normal termination of the program. This indicates that the script
-was executed without error to the normal conclusion.
-.TP
-.B 1
-One or more of the parameters are invalid or an expect string was too
-large for the internal buffers. This indicates that the program as not
-properly executed.
-.TP
-.B 2
-An error occurred during the execution of the program. This may be due
-to a read or write operation failing for some reason or chat receiving
-a signal such as SIGINT.
-.TP
-.B 3
-A timeout event occurred when there was an \fIexpect\fR string without
-having a "-subsend" string. This may mean that you did not program the
-script correctly for the condition or that some unexpected event has
-occurred and the expected string could not be found.
-.TP
-.B 4
-The first string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 5
-The second string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 6
-The third string marked as an \fIABORT\fR condition occurred.
-.TP
-.B 7
-The fourth string marked as an \fIABORT\fR condition occurred.
-.TP
-.B ...
-The other termination codes are also strings marked as an \fIABORT\fR
-condition.
-.LP
-Using the termination code, it is possible to determine which event
-terminated the script. It is possible to decide if the string "BUSY"
-was received from the modem as opposed to "NO DIAL TONE". While the
-first event may be retried, the second will probably have little
-chance of succeeding during a retry.
-.SH SEE ALSO
-Additional information about \fIchat\fR scripts may be found with UUCP
-documentation. The \fIchat\fR script was taken from the ideas proposed
-by the scripts used by the \fIuucico\fR program.
-.LP
-uucico(1), uucp(1)
-.SH COPYRIGHT
-The \fIchat\fR program is in public domain. This is not the GNU public
-license. If it breaks then you get to keep both pieces.
diff --git a/mdk-stage1/ppp/chat/chat.c b/mdk-stage1/ppp/chat/chat.c
deleted file mode 100644
index 1b22907a8..000000000
--- a/mdk-stage1/ppp/chat/chat.c
+++ /dev/null
@@ -1,1756 +0,0 @@
-/*
- * Chat -- a program for automatic session establishment (i.e. dial
- * the phone and log in).
- *
- * Standard termination codes:
- * 0 - successful completion of the script
- * 1 - invalid argument, expect string too large, etc.
- * 2 - error on an I/O operation or fatal error condition.
- * 3 - timeout waiting for a simple string.
- * 4 - the first string declared as "ABORT"
- * 5 - the second string declared as "ABORT"
- * 6 - ... and so on for successive ABORT strings.
- *
- * This software is in the public domain.
- *
- * -----------------
- * 22-May-99 added environment substitutuion, enabled with -E switch.
- * Andreas Arens <andras@cityweb.de>.
- *
- * 12-May-99 added a feature to read data to be sent from a file,
- * if the send string starts with @. Idea from gpk <gpk@onramp.net>.
- *
- * added -T and -U option and \T and \U substitution to pass a phone
- * number into chat script. Two are needed for some ISDN TA applications.
- * Keith Dart <kdart@cisco.com>
- *
- *
- * Added SAY keyword to send output to stderr.
- * This allows to turn ECHO OFF and to output specific, user selected,
- * text to give progress messages. This best works when stderr
- * exists (i.e.: pppd in nodetach mode).
- *
- * Added HANGUP directives to allow for us to be called
- * back. When HANGUP is set to NO, chat will not hangup at HUP signal.
- * We rely on timeouts in that case.
- *
- * Added CLR_ABORT to clear previously set ABORT string. This has been
- * dictated by the HANGUP above as "NO CARRIER" (for example) must be
- * an ABORT condition until we know the other host is going to close
- * the connection for call back. As soon as we have completed the
- * first stage of the call back sequence, "NO CARRIER" is a valid, non
- * fatal string. As soon as we got called back (probably get "CONNECT"),
- * we should re-arm the ABORT "NO CARRIER". Hence the CLR_ABORT command.
- * Note that CLR_ABORT packs the abort_strings[] array so that we do not
- * have unused entries not being reclaimed.
- *
- * In the same vein as above, added CLR_REPORT keyword.
- *
- * Allow for comments. Line starting with '#' are comments and are
- * ignored. If a '#' is to be expected as the first character, the
- * expect string must be quoted.
- *
- *
- * Francis Demierre <Francis@SwissMail.Com>
- * Thu May 15 17:15:40 MET DST 1997
- *
- *
- * Added -r "report file" switch & REPORT keyword.
- * Robert Geer <bgeer@xmission.com>
- *
- * Added -s "use stderr" and -S "don't use syslog" switches.
- * June 18, 1997
- * Karl O. Pinc <kop@meme.com>
- *
- *
- * Added -e "echo" switch & ECHO keyword
- * Dick Streefland <dicks@tasking.nl>
- *
- *
- * Considerable updates and modifications by
- * Al Longyear <longyear@pobox.com>
- * Paul Mackerras <paulus@cs.anu.edu.au>
- *
- *
- * The original author is:
- *
- * Karl Fox <karl@MorningStar.Com>
- * Morning Star Technologies, Inc.
- * 1760 Zollinger Road
- * Columbus, OH 43221
- * (614)451-1883
- *
- */
-
-#ifndef __STDC__
-#define const
-#endif
-
-#ifndef lint
-static const char rcsid[] = "$Id$";
-#endif
-
-#include <stdio.h>
-#include <ctype.h>
-#include <time.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <syslog.h>
-
-#ifndef TERMIO
-#undef TERMIOS
-#define TERMIOS
-#endif
-
-#ifdef TERMIO
-#include <termio.h>
-#endif
-#ifdef TERMIOS
-#include <termios.h>
-#endif
-
-#define STR_LEN 1024
-
-#ifndef SIGTYPE
-#define SIGTYPE void
-#endif
-
-#undef __P
-#undef __V
-
-#ifdef __STDC__
-#include <stdarg.h>
-#define __V(x) x
-#define __P(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define __P(x) ()
-#define const
-#endif
-
-#ifndef O_NONBLOCK
-#define O_NONBLOCK O_NDELAY
-#endif
-
-#ifdef SUNOS
-extern int sys_nerr;
-extern char *sys_errlist[];
-#define memmove(to, from, n) bcopy(from, to, n)
-#define strerror(n) ((unsigned)(n) < sys_nerr? sys_errlist[(n)] :\
- "unknown error")
-#endif
-
-/*************** Micro getopt() *********************************************/
-#define OPTION(c,v) (_O&2&&**v?*(*v)++:!c||_O&4?0:(!(_O&1)&& \
- (--c,++v),_O=4,c&&**v=='-'&&v[0][1]?*++*v=='-'\
- &&!v[0][1]?(--c,++v,0):(_O=2,*(*v)++):0))
-#define OPTARG(c,v) (_O&2?**v||(++v,--c)?(_O=1,--c,*v++): \
- (_O=4,(char*)0):(char*)0)
-#define OPTONLYARG(c,v) (_O&2&&**v?(_O=1,--c,*v++):(char*)0)
-#define ARG(c,v) (c?(--c,*v++):(char*)0)
-
-static int _O = 0; /* Internal state */
-/*************** Micro getopt() *********************************************/
-
-char *program_name;
-
-#define MAX_ABORTS 50
-#define MAX_REPORTS 50
-#define DEFAULT_CHAT_TIMEOUT 45
-
-int echo = 0;
-int verbose = 0;
-int to_log = 1;
-int to_stderr = 0;
-int Verbose = 0;
-int quiet = 0;
-int report = 0;
-int use_env = 0;
-int exit_code = 0;
-FILE* report_fp = (FILE *) 0;
-char *report_file = (char *) 0;
-char *chat_file = (char *) 0;
-char *phone_num = (char *) 0;
-char *phone_num2 = (char *) 0;
-int timeout = DEFAULT_CHAT_TIMEOUT;
-
-int have_tty_parameters = 0;
-
-#ifdef TERMIO
-#define term_parms struct termio
-#define get_term_param(param) ioctl(0, TCGETA, param)
-#define set_term_param(param) ioctl(0, TCSETA, param)
-struct termio saved_tty_parameters;
-#endif
-
-#ifdef TERMIOS
-#define term_parms struct termios
-#define get_term_param(param) tcgetattr(0, param)
-#define set_term_param(param) tcsetattr(0, TCSANOW, param)
-struct termios saved_tty_parameters;
-#endif
-
-char *abort_string[MAX_ABORTS], *fail_reason = (char *)0,
- fail_buffer[50];
-int n_aborts = 0, abort_next = 0, timeout_next = 0, echo_next = 0;
-int clear_abort_next = 0;
-
-char *report_string[MAX_REPORTS] ;
-char report_buffer[50] ;
-int n_reports = 0, report_next = 0, report_gathering = 0 ;
-int clear_report_next = 0;
-
-int say_next = 0, hup_next = 0;
-
-void *dup_mem __P((void *b, size_t c));
-void *copy_of __P((char *s));
-void usage __P((void));
-void logf __P((const char *fmt, ...));
-void fatal __P((int code, const char *fmt, ...));
-SIGTYPE sigalrm __P((int signo));
-SIGTYPE sigint __P((int signo));
-SIGTYPE sigterm __P((int signo));
-SIGTYPE sighup __P((int signo));
-void unalarm __P((void));
-void init __P((void));
-void set_tty_parameters __P((void));
-void echo_stderr __P((int));
-void break_sequence __P((void));
-void terminate __P((int status));
-void do_file __P((char *chat_file));
-int get_string __P((register char *string));
-int put_string __P((register char *s));
-int write_char __P((int c));
-int put_char __P((int c));
-int get_char __P((void));
-void chat_send __P((register char *s));
-char *character __P((int c));
-void chat_expect __P((register char *s));
-char *clean __P((register char *s, int sending));
-void break_sequence __P((void));
-void terminate __P((int status));
-void pack_array __P((char **array, int end));
-char *expect_strtok __P((char *, char *));
-int vfmtmsg __P((char *, int, const char *, va_list)); /* vsprintf++ */
-
-int main __P((int, char *[]));
-
-void *dup_mem(b, c)
-void *b;
-size_t c;
-{
- void *ans = malloc (c);
- if (!ans)
- fatal(2, "memory error!");
-
- memcpy (ans, b, c);
- return ans;
-}
-
-void *copy_of (s)
-char *s;
-{
- return dup_mem (s, strlen (s) + 1);
-}
-
-/*
- * chat [ -v ] [ -E ] [ -T number ] [ -U number ] [ -t timeout ] [ -f chat-file ] \
- * [ -r report-file ] \
- * [...[[expect[-say[-expect...]] say expect[-say[-expect]] ...]]]
- *
- * Perform a UUCP-dialer-like chat script on stdin and stdout.
- */
-int
-main(argc, argv)
- int argc;
- char **argv;
-{
- int option;
- char *arg;
-
- program_name = *argv;
- tzset();
-
- while ((option = OPTION(argc, argv)) != 0) {
- switch (option) {
- case 'e':
- ++echo;
- break;
-
- case 'E':
- ++use_env;
- break;
-
- case 'v':
- ++verbose;
- break;
-
- case 'V':
- ++Verbose;
- break;
-
- case 's':
- ++to_stderr;
- break;
-
- case 'S':
- to_log = 0;
- break;
-
- case 'f':
- if ((arg = OPTARG(argc, argv)) != NULL)
- chat_file = copy_of(arg);
- else
- usage();
- break;
-
- case 't':
- if ((arg = OPTARG(argc, argv)) != NULL)
- timeout = atoi(arg);
- else
- usage();
- break;
-
- case 'r':
- arg = OPTARG (argc, argv);
- if (arg) {
- if (report_fp != NULL)
- fclose (report_fp);
- report_file = copy_of (arg);
- report_fp = fopen (report_file, "a");
- if (report_fp != NULL) {
- if (verbose)
- fprintf (report_fp, "Opening \"%s\"...\n",
- report_file);
- report = 1;
- }
- }
- break;
-
- case 'T':
- if ((arg = OPTARG(argc, argv)) != NULL)
- phone_num = copy_of(arg);
- else
- usage();
- break;
-
- case 'U':
- if ((arg = OPTARG(argc, argv)) != NULL)
- phone_num2 = copy_of(arg);
- else
- usage();
- break;
-
- default:
- usage();
- break;
- }
- }
-/*
- * Default the report file to the stderr location
- */
- if (report_fp == NULL)
- report_fp = stderr;
-
- if (to_log) {
-#ifdef ultrix
- openlog("chat", LOG_PID);
-#else
- openlog("chat", LOG_PID | LOG_NDELAY, LOG_LOCAL2);
-
- if (verbose)
- setlogmask(LOG_UPTO(LOG_INFO));
- else
- setlogmask(LOG_UPTO(LOG_WARNING));
-#endif
- }
-
- init();
-
- if (chat_file != NULL) {
- arg = ARG(argc, argv);
- if (arg != NULL)
- usage();
- else
- do_file (chat_file);
- } else {
- while ((arg = ARG(argc, argv)) != NULL) {
- chat_expect(arg);
-
- if ((arg = ARG(argc, argv)) != NULL)
- chat_send(arg);
- }
- }
-
- terminate(0);
- return 0;
-}
-
-/*
- * Process a chat script when read from a file.
- */
-
-void do_file (chat_file)
-char *chat_file;
-{
- int linect, sendflg;
- char *sp, *arg, quote;
- char buf [STR_LEN];
- FILE *cfp;
-
- cfp = fopen (chat_file, "r");
- if (cfp == NULL)
- fatal(1, "%s -- open failed: %m", chat_file);
-
- linect = 0;
- sendflg = 0;
-
- while (fgets(buf, STR_LEN, cfp) != NULL) {
- sp = strchr (buf, '\n');
- if (sp)
- *sp = '\0';
-
- linect++;
- sp = buf;
-
- /* lines starting with '#' are comments. If a real '#'
- is to be expected, it should be quoted .... */
- if ( *sp == '#' )
- continue;
-
- while (*sp != '\0') {
- if (*sp == ' ' || *sp == '\t') {
- ++sp;
- continue;
- }
-
- if (*sp == '"' || *sp == '\'') {
- quote = *sp++;
- arg = sp;
- while (*sp != quote) {
- if (*sp == '\0')
- fatal(1, "unterminated quote (line %d)", linect);
-
- if (*sp++ == '\\') {
- if (*sp != '\0')
- ++sp;
- }
- }
- }
- else {
- arg = sp;
- while (*sp != '\0' && *sp != ' ' && *sp != '\t')
- ++sp;
- }
-
- if (*sp != '\0')
- *sp++ = '\0';
-
- if (sendflg)
- chat_send (arg);
- else
- chat_expect (arg);
- sendflg = !sendflg;
- }
- }
- fclose (cfp);
-}
-
-/*
- * We got an error parsing the command line.
- */
-void usage()
-{
- fprintf(stderr, "\
-Usage: %s [-e] [-E] [-v] [-V] [-t timeout] [-r report-file]\n\
- [-T phone-number] [-U phone-number2] {-f chat-file | chat-script}\n", program_name);
- exit(1);
-}
-
-char line[1024];
-
-/*
- * Send a message to syslog and/or stderr.
- */
-void logf __V((const char *fmt, ...))
-{
- va_list args;
-
-#ifdef __STDC__
- va_start(args, fmt);
-#else
- char *fmt;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
-
- vfmtmsg(line, sizeof(line), fmt, args);
- if (to_log)
- syslog(LOG_INFO, "%s", line);
- if (to_stderr)
- fprintf(stderr, "%s\n", line);
-}
-
-/*
- * Print an error message and terminate.
- */
-
-void fatal __V((int code, const char *fmt, ...))
-{
- va_list args;
-
-#ifdef __STDC__
- va_start(args, fmt);
-#else
- int code;
- char *fmt;
- va_start(args);
- code = va_arg(args, int);
- fmt = va_arg(args, char *);
-#endif
-
- vfmtmsg(line, sizeof(line), fmt, args);
- if (to_log)
- syslog(LOG_ERR, "%s", line);
- if (to_stderr)
- fprintf(stderr, "%s\n", line);
- terminate(code);
-}
-
-int alarmed = 0;
-
-SIGTYPE sigalrm(signo)
-int signo;
-{
- int flags;
-
- alarm(1);
- alarmed = 1; /* Reset alarm to avoid race window */
- signal(SIGALRM, sigalrm); /* that can cause hanging in read() */
-
- if ((flags = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, flags | O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- if (verbose)
- logf("alarm");
-}
-
-void unalarm()
-{
- int flags;
-
- if ((flags = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, flags & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-}
-
-SIGTYPE sigint(signo)
-int signo;
-{
- fatal(2, "SIGINT");
-}
-
-SIGTYPE sigterm(signo)
-int signo;
-{
- fatal(2, "SIGTERM");
-}
-
-SIGTYPE sighup(signo)
-int signo;
-{
- fatal(2, "SIGHUP");
-}
-
-void init()
-{
- signal(SIGINT, sigint);
- signal(SIGTERM, sigterm);
- signal(SIGHUP, sighup);
-
- set_tty_parameters();
- signal(SIGALRM, sigalrm);
- alarm(0);
- alarmed = 0;
-}
-
-void set_tty_parameters()
-{
-#if defined(get_term_param)
- term_parms t;
-
- if (get_term_param (&t) < 0)
- fatal(2, "Can't get terminal parameters: %m");
-
- saved_tty_parameters = t;
- have_tty_parameters = 1;
-
- t.c_iflag |= IGNBRK | ISTRIP | IGNPAR;
- t.c_oflag = 0;
- t.c_lflag = 0;
- t.c_cc[VERASE] =
- t.c_cc[VKILL] = 0;
- t.c_cc[VMIN] = 1;
- t.c_cc[VTIME] = 0;
-
- if (set_term_param (&t) < 0)
- fatal(2, "Can't set terminal parameters: %m");
-#endif
-}
-
-void break_sequence()
-{
-#ifdef TERMIOS
- tcsendbreak (0, 0);
-#endif
-}
-
-void terminate(status)
-int status;
-{
- static int terminating = 0;
-
- if (terminating)
- exit(status);
- terminating = 1;
- echo_stderr(-1);
-/*
- * Allow the last of the report string to be gathered before we terminate.
- */
- if (report_gathering) {
- int c, rep_len;
-
- rep_len = strlen(report_buffer);
- while (rep_len + 1 <= sizeof(report_buffer)) {
- alarm(1);
- c = get_char();
- alarm(0);
- if (c < 0 || iscntrl(c))
- break;
- report_buffer[rep_len] = c;
- ++rep_len;
- }
- report_buffer[rep_len] = 0;
- fprintf (report_fp, "chat: %s\n", report_buffer);
- }
- if (report_file != (char *) 0 && report_fp != (FILE *) NULL) {
- if (verbose)
- fprintf (report_fp, "Closing \"%s\".\n", report_file);
- fclose (report_fp);
- report_fp = (FILE *) NULL;
- }
-
-#if defined(get_term_param)
- if (have_tty_parameters) {
- if (set_term_param (&saved_tty_parameters) < 0)
- fatal(2, "Can't restore terminal parameters: %m");
- }
-#endif
-
- exit(status);
-}
-
-/*
- * 'Clean up' this string.
- */
-char *clean(s, sending)
-register char *s;
-int sending; /* set to 1 when sending (putting) this string. */
-{
- char temp[STR_LEN], env_str[STR_LEN], cur_chr;
- register char *s1, *phchar;
- int add_return = sending;
-#define isoctal(chr) (((chr) >= '0') && ((chr) <= '7'))
-#define isalnumx(chr) ((((chr) >= '0') && ((chr) <= '9')) \
- || (((chr) >= 'a') && ((chr) <= 'z')) \
- || (((chr) >= 'A') && ((chr) <= 'Z')) \
- || (chr) == '_')
-
- s1 = temp;
- while (*s) {
- cur_chr = *s++;
- if (cur_chr == '^') {
- cur_chr = *s++;
- if (cur_chr == '\0') {
- *s1++ = '^';
- break;
- }
- cur_chr &= 0x1F;
- if (cur_chr != 0) {
- *s1++ = cur_chr;
- }
- continue;
- }
-
- if (use_env && cur_chr == '$') { /* ARI */
- phchar = env_str;
- while (isalnumx(*s))
- *phchar++ = *s++;
- *phchar = '\0';
- phchar = getenv(env_str);
- if (phchar)
- while (*phchar)
- *s1++ = *phchar++;
- continue;
- }
-
- if (cur_chr != '\\') {
- *s1++ = cur_chr;
- continue;
- }
-
- cur_chr = *s++;
- if (cur_chr == '\0') {
- if (sending) {
- *s1++ = '\\';
- *s1++ = '\\';
- }
- break;
- }
-
- switch (cur_chr) {
- case 'b':
- *s1++ = '\b';
- break;
-
- case 'c':
- if (sending && *s == '\0')
- add_return = 0;
- else
- *s1++ = cur_chr;
- break;
-
- case '\\':
- case 'K':
- case 'p':
- case 'd':
- if (sending)
- *s1++ = '\\';
- *s1++ = cur_chr;
- break;
-
- case 'T':
- if (sending && phone_num) {
- for (phchar = phone_num; *phchar != '\0'; phchar++)
- *s1++ = *phchar;
- }
- else {
- *s1++ = '\\';
- *s1++ = 'T';
- }
- break;
-
- case 'U':
- if (sending && phone_num2) {
- for (phchar = phone_num2; *phchar != '\0'; phchar++)
- *s1++ = *phchar;
- }
- else {
- *s1++ = '\\';
- *s1++ = 'U';
- }
- break;
-
- case 'q':
- quiet = 1;
- break;
-
- case 'r':
- *s1++ = '\r';
- break;
-
- case 'n':
- *s1++ = '\n';
- break;
-
- case 's':
- *s1++ = ' ';
- break;
-
- case 't':
- *s1++ = '\t';
- break;
-
- case 'N':
- if (sending) {
- *s1++ = '\\';
- *s1++ = '\0';
- }
- else
- *s1++ = 'N';
- break;
-
- case '$': /* ARI */
- if (use_env) {
- *s1++ = cur_chr;
- break;
- }
- /* FALL THROUGH */
-
- default:
- if (isoctal (cur_chr)) {
- cur_chr &= 0x07;
- if (isoctal (*s)) {
- cur_chr <<= 3;
- cur_chr |= *s++ - '0';
- if (isoctal (*s)) {
- cur_chr <<= 3;
- cur_chr |= *s++ - '0';
- }
- }
-
- if (cur_chr != 0 || sending) {
- if (sending && (cur_chr == '\\' || cur_chr == 0))
- *s1++ = '\\';
- *s1++ = cur_chr;
- }
- break;
- }
-
- if (sending)
- *s1++ = '\\';
- *s1++ = cur_chr;
- break;
- }
- }
-
- if (add_return)
- *s1++ = '\r';
-
- *s1++ = '\0'; /* guarantee closure */
- *s1++ = '\0'; /* terminate the string */
- return dup_mem (temp, (size_t) (s1 - temp)); /* may have embedded nuls */
-}
-
-/*
- * A modified version of 'strtok'. This version skips \ sequences.
- */
-
-char *expect_strtok (s, term)
- char *s, *term;
-{
- static char *str = "";
- int escape_flag = 0;
- char *result;
-
-/*
- * If a string was specified then do initial processing.
- */
- if (s)
- str = s;
-
-/*
- * If this is the escape flag then reset it and ignore the character.
- */
- if (*str)
- result = str;
- else
- result = (char *) 0;
-
- while (*str) {
- if (escape_flag) {
- escape_flag = 0;
- ++str;
- continue;
- }
-
- if (*str == '\\') {
- ++str;
- escape_flag = 1;
- continue;
- }
-
-/*
- * If this is not in the termination string, continue.
- */
- if (strchr (term, *str) == (char *) 0) {
- ++str;
- continue;
- }
-
-/*
- * This is the terminator. Mark the end of the string and stop.
- */
- *str++ = '\0';
- break;
- }
- return (result);
-}
-
-/*
- * Process the expect string
- */
-
-void chat_expect (s)
-char *s;
-{
- char *expect;
- char *reply;
-
- if (strcmp(s, "HANGUP") == 0) {
- ++hup_next;
- return;
- }
-
- if (strcmp(s, "ABORT") == 0) {
- ++abort_next;
- return;
- }
-
- if (strcmp(s, "CLR_ABORT") == 0) {
- ++clear_abort_next;
- return;
- }
-
- if (strcmp(s, "REPORT") == 0) {
- ++report_next;
- return;
- }
-
- if (strcmp(s, "CLR_REPORT") == 0) {
- ++clear_report_next;
- return;
- }
-
- if (strcmp(s, "TIMEOUT") == 0) {
- ++timeout_next;
- return;
- }
-
- if (strcmp(s, "ECHO") == 0) {
- ++echo_next;
- return;
- }
-
- if (strcmp(s, "SAY") == 0) {
- ++say_next;
- return;
- }
-
-/*
- * Fetch the expect and reply string.
- */
- for (;;) {
- expect = expect_strtok (s, "-");
- s = (char *) 0;
-
- if (expect == (char *) 0)
- return;
-
- reply = expect_strtok (s, "-");
-
-/*
- * Handle the expect string. If successful then exit.
- */
- if (get_string (expect))
- return;
-
-/*
- * If there is a sub-reply string then send it. Otherwise any condition
- * is terminal.
- */
- if (reply == (char *) 0 || exit_code != 3)
- break;
-
- chat_send (reply);
- }
-
-/*
- * The expectation did not occur. This is terminal.
- */
- if (fail_reason)
- logf("Failed (%s)", fail_reason);
- else
- logf("Failed");
- terminate(exit_code);
-}
-
-/*
- * Translate the input character to the appropriate string for printing
- * the data.
- */
-
-char *character(c)
-int c;
-{
- static char string[10];
- char *meta;
-
- meta = (c & 0x80) ? "M-" : "";
- c &= 0x7F;
-
- if (c < 32)
- sprintf(string, "%s^%c", meta, (int)c + '@');
- else if (c == 127)
- sprintf(string, "%s^?", meta);
- else
- sprintf(string, "%s%c", meta, c);
-
- return (string);
-}
-
-/*
- * process the reply string
- */
-void chat_send (s)
-register char *s;
-{
- char file_data[STR_LEN];
-
- if (say_next) {
- say_next = 0;
- s = clean(s, 1);
- write(2, s, strlen(s));
- free(s);
- return;
- }
-
- if (hup_next) {
- hup_next = 0;
- if (strcmp(s, "OFF") == 0)
- signal(SIGHUP, SIG_IGN);
- else
- signal(SIGHUP, sighup);
- return;
- }
-
- if (echo_next) {
- echo_next = 0;
- echo = (strcmp(s, "ON") == 0);
- return;
- }
-
- if (abort_next) {
- char *s1;
-
- abort_next = 0;
-
- if (n_aborts >= MAX_ABORTS)
- fatal(2, "Too many ABORT strings");
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s)
- || strlen(s1) + 1 > sizeof(fail_buffer))
- fatal(1, "Illegal or too-long ABORT string ('%v')", s);
-
- abort_string[n_aborts++] = s1;
-
- if (verbose)
- logf("abort on (%v)", s);
- return;
- }
-
- if (clear_abort_next) {
- char *s1;
- int i;
- int old_max;
- int pack = 0;
-
- clear_abort_next = 0;
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s)
- || strlen(s1) + 1 > sizeof(fail_buffer))
- fatal(1, "Illegal or too-long CLR_ABORT string ('%v')", s);
-
- old_max = n_aborts;
- for (i=0; i < n_aborts; i++) {
- if ( strcmp(s1,abort_string[i]) == 0 ) {
- free(abort_string[i]);
- abort_string[i] = NULL;
- pack++;
- n_aborts--;
- if (verbose)
- logf("clear abort on (%v)", s);
- }
- }
- free(s1);
- if (pack)
- pack_array(abort_string,old_max);
- return;
- }
-
- if (report_next) {
- char *s1;
-
- report_next = 0;
- if (n_reports >= MAX_REPORTS)
- fatal(2, "Too many REPORT strings");
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
- fatal(1, "Illegal or too-long REPORT string ('%v')", s);
-
- report_string[n_reports++] = s1;
-
- if (verbose)
- logf("report (%v)", s);
- return;
- }
-
- if (clear_report_next) {
- char *s1;
- int i;
- int old_max;
- int pack = 0;
-
- clear_report_next = 0;
-
- s1 = clean(s, 0);
-
- if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
- fatal(1, "Illegal or too-long REPORT string ('%v')", s);
-
- old_max = n_reports;
- for (i=0; i < n_reports; i++) {
- if ( strcmp(s1,report_string[i]) == 0 ) {
- free(report_string[i]);
- report_string[i] = NULL;
- pack++;
- n_reports--;
- if (verbose)
- logf("clear report (%v)", s);
- }
- }
- free(s1);
- if (pack)
- pack_array(report_string,old_max);
-
- return;
- }
-
- if (timeout_next) {
- timeout_next = 0;
- timeout = atoi(s);
-
- if (timeout <= 0)
- timeout = DEFAULT_CHAT_TIMEOUT;
-
- if (verbose)
- logf("timeout set to %d seconds", timeout);
-
- return;
- }
-
- /*
- * The syntax @filename means read the string to send from the
- * file `filename'.
- */
- if (s[0] == '@') {
- /* skip the @ and any following white-space */
- char *fn = s;
- while (*++fn == ' ' || *fn == '\t')
- ;
-
- if (*fn != 0) {
- FILE *f;
- int n = 0;
-
- /* open the file and read until STR_LEN-1 bytes or end-of-file */
- f = fopen(fn, "r");
- if (f == NULL)
- fatal(1, "%s -- open failed: %m", fn);
- while (n < STR_LEN - 1) {
- int nr = fread(&file_data[n], 1, STR_LEN - 1 - n, f);
- if (nr < 0)
- fatal(1, "%s -- read error", fn);
- if (nr == 0)
- break;
- n += nr;
- }
- fclose(f);
-
- /* use the string we got as the string to send,
- but trim off the final newline if any. */
- if (n > 0 && file_data[n-1] == '\n')
- --n;
- file_data[n] = 0;
- s = file_data;
- }
- }
-
- if (strcmp(s, "EOT") == 0)
- s = "^D\\c";
- else if (strcmp(s, "BREAK") == 0)
- s = "\\K\\c";
-
- if (!put_string(s))
- fatal(1, "Failed");
-}
-
-int get_char()
-{
- int status;
- char c;
-
- status = read(0, &c, 1);
-
- switch (status) {
- case 1:
- return ((int)c & 0x7F);
-
- default:
- logf("warning: read() on stdin returned %d", status);
-
- case -1:
- if ((status = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin: %m");
-
- if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- return (-1);
- }
-}
-
-int put_char(c)
-int c;
-{
- int status;
- char ch = c;
-
- usleep(10000); /* inter-character typing delay (?) */
-
- status = write(1, &ch, 1);
-
- switch (status) {
- case 1:
- return (0);
-
- default:
- logf("warning: write() on stdout returned %d", status);
-
- case -1:
- if ((status = fcntl(0, F_GETFL, 0)) == -1)
- fatal(2, "Can't get file mode flags on stdin, %m");
-
- if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
- fatal(2, "Can't set file mode flags on stdin: %m");
-
- return (-1);
- }
-}
-
-int write_char (c)
-int c;
-{
- if (alarmed || put_char(c) < 0) {
- alarm(0);
- alarmed = 0;
-
- if (verbose) {
- if (errno == EINTR || errno == EWOULDBLOCK)
- logf(" -- write timed out");
- else
- logf(" -- write failed: %m");
- }
- return (0);
- }
- return (1);
-}
-
-int put_string (s)
-register char *s;
-{
- quiet = 0;
- s = clean(s, 1);
-
- if (verbose) {
- if (quiet)
- logf("send (??????)");
- else
- logf("send (%v)", s);
- }
-
- alarm(timeout); alarmed = 0;
-
- while (*s) {
- register char c = *s++;
-
- if (c != '\\') {
- if (!write_char (c))
- return 0;
- continue;
- }
-
- c = *s++;
- switch (c) {
- case 'd':
- sleep(1);
- break;
-
- case 'K':
- break_sequence();
- break;
-
- case 'p':
- usleep(10000); /* 1/100th of a second (arg is microseconds) */
- break;
-
- default:
- if (!write_char (c))
- return 0;
- break;
- }
- }
-
- alarm(0);
- alarmed = 0;
- return (1);
-}
-
-/*
- * Echo a character to stderr.
- * When called with -1, a '\n' character is generated when
- * the cursor is not at the beginning of a line.
- */
-void echo_stderr(n)
-int n;
-{
- static int need_lf;
- char *s;
-
- switch (n) {
- case '\r': /* ignore '\r' */
- break;
- case -1:
- if (need_lf == 0)
- break;
- /* fall through */
- case '\n':
- write(2, "\n", 1);
- need_lf = 0;
- break;
- default:
- s = character(n);
- write(2, s, strlen(s));
- need_lf = 1;
- break;
- }
-}
-
-/*
- * 'Wait for' this string to appear on this file descriptor.
- */
-int get_string(string)
-register char *string;
-{
- char temp[STR_LEN];
- int c, printed = 0, len, minlen;
- register char *s = temp, *end = s + STR_LEN;
- char *logged = temp;
-
- fail_reason = (char *)0;
- string = clean(string, 0);
- len = strlen(string);
- minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1;
-
- if (verbose)
- logf("expect (%v)", string);
-
- if (len > STR_LEN) {
- logf("expect string is too long");
- exit_code = 1;
- return 0;
- }
-
- if (len == 0) {
- if (verbose)
- logf("got it");
- return (1);
- }
-
- alarm(timeout);
- alarmed = 0;
-
- while ( ! alarmed && (c = get_char()) >= 0) {
- int n, abort_len, report_len;
-
- if (echo)
- echo_stderr(c);
- if (verbose && c == '\n') {
- if (s == logged)
- logf(""); /* blank line */
- else
- logf("%0.*v", s - logged, logged);
- logged = s + 1;
- }
-
- *s++ = c;
-
- if (verbose && s >= logged + 80) {
- logf("%0.*v", s - logged, logged);
- logged = s;
- }
-
- if (Verbose) {
- if (c == '\n')
- fputc( '\n', stderr );
- else if (c != '\r')
- fprintf( stderr, "%s", character(c) );
- }
-
- if (!report_gathering) {
- for (n = 0; n < n_reports; ++n) {
- if ((report_string[n] != (char*) NULL) &&
- s - temp >= (report_len = strlen(report_string[n])) &&
- strncmp(s - report_len, report_string[n], report_len) == 0) {
- time_t time_now = time ((time_t*) NULL);
- struct tm* tm_now = localtime (&time_now);
-
- strftime (report_buffer, 20, "%b %d %H:%M:%S ", tm_now);
- strcat (report_buffer, report_string[n]);
-
- report_string[n] = (char *) NULL;
- report_gathering = 1;
- break;
- }
- }
- }
- else {
- if (!iscntrl (c)) {
- int rep_len = strlen (report_buffer);
- report_buffer[rep_len] = c;
- report_buffer[rep_len + 1] = '\0';
- }
- else {
- report_gathering = 0;
- fprintf (report_fp, "chat: %s\n", report_buffer);
- }
- }
-
- if (s - temp >= len &&
- c == string[len - 1] &&
- strncmp(s - len, string, len) == 0) {
- if (verbose) {
- if (s > logged)
- logf("%0.*v", s - logged, logged);
- logf(" -- got it\n");
- }
-
- alarm(0);
- alarmed = 0;
- return (1);
- }
-
- for (n = 0; n < n_aborts; ++n) {
- if (s - temp >= (abort_len = strlen(abort_string[n])) &&
- strncmp(s - abort_len, abort_string[n], abort_len) == 0) {
- if (verbose) {
- if (s > logged)
- logf("%0.*v", s - logged, logged);
- logf(" -- failed");
- }
-
- alarm(0);
- alarmed = 0;
- exit_code = n + 4;
- strcpy(fail_reason = fail_buffer, abort_string[n]);
- return (0);
- }
- }
-
- if (s >= end) {
- if (logged < s - minlen) {
- if (verbose)
- logf("%0.*v", s - logged, logged);
- logged = s;
- }
- s -= minlen;
- memmove(temp, s, minlen);
- logged = temp + (logged - s);
- s = temp + minlen;
- }
-
- if (alarmed && verbose)
- logf("warning: alarm synchronization problem");
- }
-
- alarm(0);
-
- if (verbose && printed) {
- if (alarmed)
- logf(" -- read timed out");
- else
- logf(" -- read failed: %m");
- }
-
- exit_code = 3;
- alarmed = 0;
- return (0);
-}
-
-/*
- * Gross kludge to handle Solaris versions >= 2.6 having usleep.
- */
-#ifdef SOL2
-#include <sys/param.h>
-#if MAXUID > 65536 /* then this is Solaris 2.6 or later */
-#undef NO_USLEEP
-#endif
-#endif /* SOL2 */
-
-#ifdef NO_USLEEP
-#include <sys/types.h>
-#include <sys/time.h>
-
-/*
- usleep -- support routine for 4.2BSD system call emulations
- last edit: 29-Oct-1984 D A Gwyn
- */
-
-extern int select();
-
-int
-usleep( usec ) /* returns 0 if ok, else -1 */
- long usec; /* delay in microseconds */
-{
- static struct { /* `timeval' */
- long tv_sec; /* seconds */
- long tv_usec; /* microsecs */
- } delay; /* _select() timeout */
-
- delay.tv_sec = usec / 1000000L;
- delay.tv_usec = usec % 1000000L;
-
- return select(0, (long *)0, (long *)0, (long *)0, &delay);
-}
-#endif
-
-void
-pack_array (array, end)
- char **array; /* The address of the array of string pointers */
- int end; /* The index of the next free entry before CLR_ */
-{
- int i, j;
-
- for (i = 0; i < end; i++) {
- if (array[i] == NULL) {
- for (j = i+1; j < end; ++j)
- if (array[j] != NULL)
- array[i++] = array[j];
- for (; i < end; ++i)
- array[i] = NULL;
- break;
- }
- }
-}
-
-/*
- * vfmtmsg - format a message into a buffer. Like vsprintf except we
- * also specify the length of the output buffer, and we handle the
- * %m (error message) format.
- * Doesn't do floating-point formats.
- * Returns the number of chars put into buf.
- */
-#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
-
-int
-vfmtmsg(buf, buflen, fmt, args)
- char *buf;
- int buflen;
- const char *fmt;
- va_list args;
-{
- int c, i, n;
- int width, prec, fillch;
- int base, len, neg, quoted;
- unsigned long val = 0;
- char *str, *buf0;
- const char *f;
- unsigned char *p;
- char num[32];
- static char hexchars[] = "0123456789abcdef";
-
- buf0 = buf;
- --buflen;
- while (buflen > 0) {
- for (f = fmt; *f != '%' && *f != 0; ++f)
- ;
- if (f > fmt) {
- len = f - fmt;
- if (len > buflen)
- len = buflen;
- memcpy(buf, fmt, len);
- buf += len;
- buflen -= len;
- fmt = f;
- }
- if (*fmt == 0)
- break;
- c = *++fmt;
- width = prec = 0;
- fillch = ' ';
- if (c == '0') {
- fillch = '0';
- c = *++fmt;
- }
- if (c == '*') {
- width = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- width = width * 10 + c - '0';
- c = *++fmt;
- }
- }
- if (c == '.') {
- c = *++fmt;
- if (c == '*') {
- prec = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- prec = prec * 10 + c - '0';
- c = *++fmt;
- }
- }
- }
- str = 0;
- base = 0;
- neg = 0;
- ++fmt;
- switch (c) {
- case 'd':
- i = va_arg(args, int);
- if (i < 0) {
- neg = 1;
- val = -i;
- } else
- val = i;
- base = 10;
- break;
- case 'o':
- val = va_arg(args, unsigned int);
- base = 8;
- break;
- case 'x':
- val = va_arg(args, unsigned int);
- base = 16;
- break;
- case 'p':
- val = (unsigned long) va_arg(args, void *);
- base = 16;
- neg = 2;
- break;
- case 's':
- str = va_arg(args, char *);
- break;
- case 'c':
- num[0] = va_arg(args, int);
- num[1] = 0;
- str = num;
- break;
- case 'm':
- str = strerror(errno);
- break;
- case 'v': /* "visible" string */
- case 'q': /* quoted string */
- quoted = c == 'q';
- p = va_arg(args, unsigned char *);
- if (fillch == '0' && prec > 0) {
- n = prec;
- } else {
- n = strlen((char *)p);
- if (prec > 0 && prec < n)
- n = prec;
- }
- while (n > 0 && buflen > 0) {
- c = *p++;
- --n;
- if (!quoted && c >= 0x80) {
- OUTCHAR('M');
- OUTCHAR('-');
- c -= 0x80;
- }
- if (quoted && (c == '"' || c == '\\'))
- OUTCHAR('\\');
- if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
- if (quoted) {
- OUTCHAR('\\');
- switch (c) {
- case '\t': OUTCHAR('t'); break;
- case '\n': OUTCHAR('n'); break;
- case '\b': OUTCHAR('b'); break;
- case '\f': OUTCHAR('f'); break;
- default:
- OUTCHAR('x');
- OUTCHAR(hexchars[c >> 4]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- } else {
- if (c == '\t')
- OUTCHAR(c);
- else {
- OUTCHAR('^');
- OUTCHAR(c ^ 0x40);
- }
- }
- } else
- OUTCHAR(c);
- }
- continue;
- default:
- *buf++ = '%';
- if (c != '%')
- --fmt; /* so %z outputs %z etc. */
- --buflen;
- continue;
- }
- if (base != 0) {
- str = num + sizeof(num);
- *--str = 0;
- while (str > num + neg) {
- *--str = hexchars[val % base];
- val = val / base;
- if (--prec <= 0 && val == 0)
- break;
- }
- switch (neg) {
- case 1:
- *--str = '-';
- break;
- case 2:
- *--str = 'x';
- *--str = '0';
- break;
- }
- len = num + sizeof(num) - 1 - str;
- } else {
- len = strlen(str);
- if (prec > 0 && len > prec)
- len = prec;
- }
- if (width > 0) {
- if (width > buflen)
- width = buflen;
- if ((n = width - len) > 0) {
- buflen -= n;
- for (; n > 0; --n)
- *buf++ = fillch;
- }
- }
- if (len > buflen)
- len = buflen;
- memcpy(buf, str, len);
- buf += len;
- buflen -= len;
- }
- *buf = 0;
- return buf - buf0;
-}
diff --git a/mdk-stage1/ppp/common/zlib.c b/mdk-stage1/ppp/common/zlib.c
deleted file mode 100644
index 503076886..000000000
--- a/mdk-stage1/ppp/common/zlib.c
+++ /dev/null
@@ -1,5376 +0,0 @@
-/*
- * This file is derived from various .h and .c files from the zlib-1.0.4
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets. See zlib.h for conditions of
- * distribution and use.
- *
- * Changes that have been made include:
- * - added Z_PACKET_FLUSH (see zlib.h for details)
- * - added inflateIncomp and deflateOutputPending
- * - allow strm->next_out to be NULL, meaning discard the output
- *
- * $Id$
- */
-
-/*
- * ==FILEVERSION 971210==
- *
- * This marker is used by the Linux installation script to determine
- * whether an up-to-date version of this file is already installed.
- */
-
-#define NO_DUMMY_DECL
-#define NO_ZCFUNCS
-#define MY_ZCALLOC
-
-#if defined(__FreeBSD__) && (defined(KERNEL) || defined(_KERNEL))
-#define inflate inflate_ppp /* FreeBSD already has an inflate :-( */
-#endif
-
-
-/* +++ zutil.h */
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: zutil.h,v 1.16 1996/07/24 13:41:13 me Exp $ */
-
-#ifndef _Z_UTIL_H
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#if defined(KERNEL) || defined(_KERNEL)
-/* Assume this is a *BSD or SVR4 kernel */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/systm.h>
-#undef u
-# define HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy((s), (d), (n))
-# define memset(d, v, n) bzero((d), (n))
-# define memcmp bcmp
-
-#else
-#if defined(__KERNEL__)
-/* Assume this is a Linux kernel */
-#include <linux/string.h>
-#define HAVE_MEMCPY
-
-#else /* not kernel */
-
-#if defined(MSDOS)||defined(VMS)||defined(CRAY)||defined(WIN32)||defined(RISCOS)
-# include <stddef.h>
-# include <errno.h>
-#else
- extern int errno;
-#endif
-#ifdef STDC
-# include <string.h>
-# include <stdlib.h>
-#endif
-#endif /* __KERNEL__ */
-#endif /* _KERNEL || KERNEL */
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
-/* (size given to avoid silly warnings with Visual C++) */
-
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
-
-#define ERR_RETURN(strm,err) \
- return (strm->msg = (char*)ERR_MSG(err), (err))
-/* To be used only when the state is known to be valid */
-
- /* common constants */
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
-#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
-
- /* target dependencies */
-
-#ifdef MSDOS
-# define OS_CODE 0x00
-# ifdef __TURBOC__
-# include <alloc.h>
-# else /* MSC or DJGPP */
-# include <malloc.h>
-# endif
-#endif
-
-#ifdef OS2
-# define OS_CODE 0x06
-#endif
-
-#ifdef WIN32 /* Window 95 & Windows NT */
-# define OS_CODE 0x0b
-#endif
-
-#if defined(VAXC) || defined(VMS)
-# define OS_CODE 0x02
-# define FOPEN(name, mode) \
- fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
-#endif
-
-#ifdef AMIGA
-# define OS_CODE 0x01
-#endif
-
-#if defined(ATARI) || defined(atarist)
-# define OS_CODE 0x05
-#endif
-
-#ifdef MACOS
-# define OS_CODE 0x07
-#endif
-
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define OS_CODE 0x0F
-#endif
-
-#ifdef TOPS20
-# define OS_CODE 0x0a
-#endif
-
-#if defined(_BEOS_) || defined(RISCOS)
-# define fdopen(fd,mode) NULL /* No fdopen() */
-#endif
-
- /* Common defaults */
-
-#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
-#endif
-
-#ifndef FOPEN
-# define FOPEN(name, mode) fopen((name), (mode))
-#endif
-
- /* functions */
-
-#ifdef HAVE_STRERROR
- extern char *strerror OF((int));
-# define zstrerror(errnum) strerror(errnum)
-#else
-# define zstrerror(errnum) ""
-#endif
-
-#if defined(pyr)
-# define NO_MEMCPY
-#endif
-#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(_MSC_VER)
- /* Use our own functions for small and medium model with MSC <= 5.0.
- * You may have to use the same strategy for Borland C (untested).
- */
-# define NO_MEMCPY
-#endif
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
-# define zmemcpy _fmemcpy
-# define zmemcmp _fmemcmp
-# define zmemzero(dest, len) _fmemset(dest, 0, len)
-# else
-# define zmemcpy memcpy
-# define zmemcmp memcmp
-# define zmemzero(dest, len) memset(dest, 0, len)
-# endif
-#else
- extern void zmemcpy OF((Bytef* dest, Bytef* source, uInt len));
- extern int zmemcmp OF((Bytef* s1, Bytef* s2, uInt len));
- extern void zmemzero OF((Bytef* dest, uInt len));
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG_ZLIB
-# include <stdio.h>
-# ifndef verbose
-# define verbose 0
-# endif
- extern void z_error OF((char *m));
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) fprintf x
-# define Tracev(x) {if (verbose) fprintf x ;}
-# define Tracevv(x) {if (verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (*check_func) OF((uLong check, const Bytef *buf, uInt len));
-
-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
-void zcfree OF((voidpf opaque, voidpf ptr));
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
-#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
-
-#endif /* _Z_UTIL_H */
-/* --- zutil.h */
-
-/* +++ deflate.h */
-/* deflate.h -- internal compression state
- * Copyright (C) 1995-1996 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: deflate.h,v 1.10 1996/07/02 12:41:00 me Exp $ */
-
-#ifndef _DEFLATE_H
-#define _DEFLATE_H
-
-/* #include "zutil.h" */
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct deflate_state {
- z_streamp strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- ulg pending_buf_size; /* size of pending_buf */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int last_flush; /* value of flush param for previous deflate call */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- ulg compressed_len; /* total bit length of compressed file */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG_ZLIB
- ulg bits_sent; /* bit length of the compressed data */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-void _tr_init OF((deflate_state *s));
-int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
-ulg _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_align OF((deflate_state *s));
-void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_stored_type_only OF((deflate_state *));
-
-#endif
-/* --- deflate.h */
-
-/* +++ deflate.c */
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
- * Available in ftp://ds.internic.net/rfc/rfc1951.txt
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* From: deflate.c,v 1.15 1996/07/24 13:40:58 me Exp $ */
-
-/* #include "deflate.h" */
-
-char deflate_copyright[] = " deflate 1.0.4 Copyright 1995-1996 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-/* ===========================================================================
- * Function prototypes.
- */
-typedef enum {
- need_more, /* block not completed, need more input or more output */
- block_done, /* block flush performed */
- finish_started, /* finish started, need only more output at next deflate */
- finish_done /* finish done, accept no more input or output */
-} block_state;
-
-typedef block_state (*compress_func) OF((deflate_state *s, int flush));
-/* Compression function. Returns the block state after the call. */
-
-local void fill_window OF((deflate_state *s));
-local block_state deflate_stored OF((deflate_state *s, int flush));
-local block_state deflate_fast OF((deflate_state *s, int flush));
-local block_state deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_streamp strm));
-local int read_buf OF((z_streamp strm, charf *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
- uInt longest_match OF((deflate_state *s, IPos cur_match));
-#else
-local uInt longest_match OF((deflate_state *s, IPos cur_match));
-#endif
-
-#ifdef DEBUG_ZLIB
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-/* ===========================================================================
- * Local data
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
- compress_func func;
-} config;
-
-local config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
-/* 1 */ {4, 4, 8, 4, deflate_fast}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8, deflate_fast},
-/* 3 */ {4, 6, 32, 32, deflate_fast},
-
-/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32, deflate_slow},
-/* 6 */ {8, 16, 128, 128, deflate_slow},
-/* 7 */ {8, 32, 128, 256, deflate_slow},
-/* 8 */ {32, 128, 258, 1024, deflate_slow},
-/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-#ifndef NO_DUMMY_DECL
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-#endif
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int deflateInit_(strm, level, version, stream_size)
- z_streamp strm;
- int level;
- const char *version;
- int stream_size;
-{
- return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- Z_DEFAULT_STRATEGY, version, stream_size);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
- version, stream_size)
- z_streamp strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- const char *version;
- int stream_size;
-{
- deflate_state *s;
- int noheader = 0;
- static char* my_version = ZLIB_VERSION;
-
- ushf *overlay;
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 24 bits.
- */
-
- if (version == Z_NULL || version[0] != my_version[0] ||
- stream_size != sizeof(z_stream)) {
- return Z_VERSION_ERROR;
- }
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
-#ifndef NO_ZCFUNCS
- if (strm->zalloc == Z_NULL) {
- strm->zalloc = zcalloc;
- strm->opaque = (voidpf)0;
- }
- if (strm->zfree == Z_NULL) strm->zfree = zcfree;
-#endif
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
- windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
- s->pending_buf = (uchf *) overlay;
- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int deflateSetDictionary (strm, dictionary, dictLength)
- z_streamp strm;
- const Bytef *dictionary;
- uInt dictLength;
-{
- deflate_state *s;
- uInt length = dictLength;
- uInt n;
- IPos hash_head = 0;
-
- if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
- return Z_STREAM_ERROR;
-
- s = (deflate_state *) strm->state;
- if (s->status != INIT_STATE) return Z_STREAM_ERROR;
-
- strm->adler = adler32(strm->adler, dictionary, dictLength);
-
- if (length < MIN_MATCH) return Z_OK;
- if (length > MAX_DIST(s)) {
- length = MAX_DIST(s);
-#ifndef USE_DICT_HEAD
- dictionary += dictLength - length; /* use the tail of the dictionary */
-#endif
- }
- zmemcpy((charf *)s->window, dictionary, length);
- s->strstart = length;
- s->block_start = (long)length;
-
- /* Insert all strings in the hash table (except for the last two bytes).
- * s->lookahead stays null, so s->ins_h will be recomputed at the next
- * call of fill_window.
- */
- s->ins_h = s->window[0];
- UPDATE_HASH(s, s->ins_h, s->window[1]);
- for (n = 0; n <= length - MIN_MATCH; n++) {
- INSERT_STRING(s, n, hash_head);
- }
- if (hash_head) hash_head = 0; /* to make compiler happy */
- return Z_OK;
-}
-
-/* ========================================================================= */
-int deflateReset (strm)
- z_streamp strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- strm->adler = 1;
- s->last_flush = Z_NO_FLUSH;
-
- _tr_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* ========================================================================= */
-int deflateParams(strm, level, strategy)
- z_streamp strm;
- int level;
- int strategy;
-{
- deflate_state *s;
- compress_func func;
- int err = Z_OK;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = (deflate_state *) strm->state;
-
- if (level == Z_DEFAULT_COMPRESSION) {
- level = 6;
- }
- if (level < 0 || level > 9 || strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- func = configuration_table[s->level].func;
-
- if (func != configuration_table[level].func && strm->total_in != 0) {
- /* Flush the last buffer: */
- err = deflate(strm, Z_PARTIAL_FLUSH);
- }
- if (s->level != level) {
- s->level = level;
- s->max_lazy_match = configuration_table[level].max_lazy;
- s->good_match = configuration_table[level].good_length;
- s->nice_match = configuration_table[level].nice_length;
- s->max_chain_length = configuration_table[level].max_chain;
- }
- s->strategy = strategy;
- return err;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
- */
-local void flush_pending(strm)
- z_streamp strm;
-{
- deflate_state *s = (deflate_state *) strm->state;
- unsigned len = s->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- if (strm->next_out != Z_NULL) {
- zmemcpy(strm->next_out, s->pending_out, len);
- strm->next_out += len;
- }
- s->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- s->pending -= len;
- if (s->pending == 0) {
- s->pending_out = s->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int deflate (strm, flush)
- z_streamp strm;
- int flush;
-{
- int old_flush; /* value of flush param for previous deflate call */
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- flush > Z_FINISH || flush < 0) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) strm->state;
-
- if ((strm->next_in == Z_NULL && strm->avail_in != 0) ||
- (s->status == FINISH_STATE && flush != Z_FINISH)) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- s->strm = strm; /* just in case */
- old_flush = s->last_flush;
- s->last_flush = flush;
-
- /* Write the zlib header */
- if (s->status == INIT_STATE) {
-
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
- uInt level_flags = (s->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- if (s->strstart != 0) header |= PRESET_DICT;
- header += 31 - (header % 31);
-
- s->status = BUSY_STATE;
- putShortMSB(s, header);
-
- /* Save the adler32 of the preset dictionary: */
- if (s->strstart != 0) {
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- }
- strm->adler = 1L;
- }
-
- /* Flush as much pending output as possible */
- if (s->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
- s->last_flush = -1;
- return Z_OK;
- }
-
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUFF_ERROR.
- */
- } else if (strm->avail_in == 0 && flush <= old_flush &&
- flush != Z_FINISH) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* User must not provide more input after the first FINISH: */
- if (s->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || s->lookahead != 0 ||
- (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
- block_state bstate;
-
- bstate = (*(configuration_table[s->level].func))(s, flush);
-
- if (bstate == finish_started || bstate == finish_done) {
- s->status = FINISH_STATE;
- }
- if (bstate == need_more || bstate == finish_started) {
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
- }
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
- if (bstate == block_done) {
- if (flush == Z_PARTIAL_FLUSH) {
- _tr_align(s);
- } else if (flush == Z_PACKET_FLUSH) {
- /* Output just the 3-bit `stored' block type value,
- but not a zero length. */
- _tr_stored_type_only(s);
- } else { /* FULL_FLUSH or SYNC_FLUSH */
- _tr_stored_block(s, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(s); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
- return Z_OK;
- }
- }
- }
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (s->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- s->noheader = -1; /* write the trailer only once! */
- return s->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int deflateEnd (strm)
- z_streamp strm;
-{
- int status;
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = (deflate_state *) strm->state;
-
- status = s->status;
- if (status != INIT_STATE && status != BUSY_STATE &&
- status != FINISH_STATE) {
- return Z_STREAM_ERROR;
- }
-
- /* Deallocate in reverse order of allocations: */
- TRY_FREE(strm, s->pending_buf);
- TRY_FREE(strm, s->head);
- TRY_FREE(strm, s->prev);
- TRY_FREE(strm, s->window);
-
- ZFREE(strm, s);
- strm->state = Z_NULL;
-
- return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
-}
-
-/* =========================================================================
- * Copy the source state to the destination state.
- */
-int deflateCopy (dest, source)
- z_streamp dest;
- z_streamp source;
-{
- deflate_state *ds;
- deflate_state *ss;
- ushf *overlay;
-
- if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL)
- return Z_STREAM_ERROR;
- ss = (deflate_state *) source->state;
-
- zmemcpy(dest, source, sizeof(*dest));
-
- ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
- if (ds == Z_NULL) return Z_MEM_ERROR;
- dest->state = (struct internal_state FAR *) ds;
- zmemcpy(ds, ss, sizeof(*ds));
- ds->strm = dest;
-
- ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
- ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
- ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
- ds->pending_buf = (uchf *) overlay;
-
- if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
- ds->pending_buf == Z_NULL) {
- deflateEnd (dest);
- return Z_MEM_ERROR;
- }
- /* ??? following zmemcpy doesn't work for 16-bit MSDOS */
- zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
- zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
- zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
- zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
-
- ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
-
- ds->l_desc.dyn_tree = ds->dyn_ltree;
- ds->d_desc.dyn_tree = ds->dyn_dtree;
- ds->bl_desc.dyn_tree = ds->bl_tree;
-
- return Z_OK;
-}
-
-/* ===========================================================================
- * Return the number of bytes of output which are immediately available
- * for output from the decompressor.
- */
-int deflateOutputPending (strm)
- z_streamp strm;
-{
- if (strm == Z_NULL || strm->state == Z_NULL) return 0;
-
- return ((deflate_state *)(strm->state))->pending;
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read. All deflate() input goes through
- * this function so some applications may wish to modify it to avoid
- * allocating a large strm->next_in buffer and copying from it.
- * (See also flush_pending()).
- */
-local int read_buf(strm, buf, size)
- z_streamp strm;
- charf *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!((deflate_state *)(strm->state))->noheader) {
- strm->adler = adler32(strm->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = s->prev_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- * OUT assertion: the match length is not greater than s->lookahead.
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return best_len;
- return s->lookahead;
-}
-#endif /* ASMV */
-
-#ifdef DEBUG_ZLIB
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (zmemcmp((charf *)s->window + match,
- (charf *)s->window + start, length) != EQUAL) {
- fprintf(stderr, " start %u, match %u, length %d\n",
- start, match, length);
- do {
- fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
- } while (--length != 0);
- z_error("invalid match");
- }
- if (z_verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
-
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- zmemcpy((charf *)s->window, (charf *)s->window+wsize,
- (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage). We slide even when level == 0
- to keep the hash table consistent if we switch back to level > 0
- later. (Using level 0 permanently is not an optimal usage of
- zlib, so we don't care about this pathological case.)
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
- more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, eof) { \
- _tr_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), \
- (ulg)((long)s->strstart - s->block_start), \
- (eof)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, eof) { \
- FLUSH_BLOCK_ONLY(s, eof); \
- if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
-}
-
-/* ===========================================================================
- * Copy without compression as much as possible from the input stream, return
- * the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
- */
-local block_state deflate_stored(s, flush)
- deflate_state *s;
- int flush;
-{
- /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
- * to pending_buf_size, and each stored block has a 5 byte header:
- */
- ulg max_block_size = 0xffff;
- ulg max_start;
-
- if (max_block_size > s->pending_buf_size - 5) {
- max_block_size = s->pending_buf_size - 5;
- }
-
- /* Copy as much as possible from input to output: */
- for (;;) {
- /* Fill the window as much as possible: */
- if (s->lookahead <= 1) {
-
- Assert(s->strstart < s->w_size+MAX_DIST(s) ||
- s->block_start >= (long)s->w_size, "slide too late");
-
- fill_window(s);
- if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
- Assert(s->block_start >= 0L, "block gone");
-
- s->strstart += s->lookahead;
- s->lookahead = 0;
-
- /* Emit a stored block if pending_buf will be full: */
- max_start = s->block_start + max_block_size;
- if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
- /* strstart == 0 is possible when wraparound on 16-bit machine */
- s->lookahead = (uInt)(s->strstart - max_start);
- s->strstart = (uInt)max_start;
- FLUSH_BLOCK(s, 0);
- }
- /* Flush if we may have to slide, otherwise block_start may become
- * negative and the data will be gone:
- */
- if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
- FLUSH_BLOCK(s, 0);
- }
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return the current
- * block state.
- * This function does not perform lazy evaluation of matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local block_state deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- bflush = _tr_tally(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- bflush = _tr_tally (s, 0, s->window[s->strstart]);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, 0);
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local block_state deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- bflush = _tr_tally(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, 0);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- if (_tr_tally (s, 0, s->window[s->strstart-1])) {
- FLUSH_BLOCK_ONLY(s, 0);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return need_more;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally (s, 0, s->window[s->strstart-1]);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-/* --- deflate.c */
-
-/* +++ trees.c */
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-1996 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* From: trees.c,v 1.11 1996/07/24 13:41:06 me Exp $ */
-
-/* #include "deflate.h" */
-
-#ifdef DEBUG_ZLIB
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-local uch dist_code[512];
-/* distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-local uch length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-struct static_tree_desc_s {
- ct_data *static_tree; /* static tree or NULL */
- intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void tr_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifndef DEBUG_ZLIB
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG_ZLIB */
-# define send_code(s, c, tree) \
- { if (verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-#define d_code(dist) \
- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. dist_code[256] and dist_code[257] are never
- * used.
- */
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG_ZLIB
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracevv((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG_ZLIB */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG_ZLIB */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables. In a multi-threaded environment,
- * this function may be called by two threads concurrently, but this is
- * harmless since both invocations do exactly the same thing.
- */
-local void tr_static_init()
-{
- static int static_init_done = 0;
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- if (static_init_done) return;
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "tr_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse((unsigned)n, 5);
- }
- static_init_done = 1;
-}
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-void _tr_init(s)
- deflate_state *s;
-{
- tr_static_init();
-
- s->compressed_len = 0L;
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG_ZLIB
- s->bits_sent = 0L;
-#endif
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- ct_data *stree = desc->stat_desc->static_tree;
- intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-void _tr_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
- s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
- s->compressed_len += (stored_len + 4) << 3;
-
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* Send just the `stored block' type code without any length bytes or data.
- */
-void _tr_stored_type_only(s)
- deflate_state *s;
-{
- send_bits(s, (STORED_BLOCK << 1), 3);
- bi_windup(s);
- s->compressed_len = (s->compressed_len + 3) & ~7L;
-}
-
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the
- * last two codes for the previous block (real code plus EOB) were coded
- * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
- * the last real code. In this case we send two empty static blocks instead
- * of one. (There are no problems if the previous block is stored or fixed.)
- * To simplify the code, we assume the worst case of last real code encoded
- * on one bit only.
- */
-void _tr_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the last real code (before
- * the EOB of the previous block) was thus at least one plus the length
- * of the EOB plus what we have just sent of the empty static block.
- */
- if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L;
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file. This function
- * returns the total compressed length for the file so far.
- */
-ulg _tr_flush_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex = 0; /* index of last bit length code of non zero freq */
-
- /* Build the Huffman trees unless a stored block is forced */
- if (s->level > 0) {
-
- /* Check if the file is ascii or binary */
- if (s->data_type == Z_UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes*/
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- } else {
- Assert(buf != (char*)0, "lost buf");
- opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
- }
-
- /* If compression failed and this is the first and last block,
- * and if the .zip file can be seeked (to rewrite the local header),
- * the whole file is transformed into a stored file:
- */
-#ifdef STORED_FILE_OK
-# ifdef FORCE_STORED_FILE
- if (eof && s->compressed_len == 0L) { /* force stored file */
-# else
- if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable()) {
-# endif
- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
- if (buf == (charf*)0) error ("block vanished");
-
- copy_block(s, buf, (unsigned)stored_len, 0); /* without header */
- s->compressed_len = stored_len << 3;
- s->method = STORED;
- } else
-#endif /* STORED_FILE_OK */
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) { /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0) {
- /* 4: two words for the lengths */
-#endif
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- _tr_stored_block(s, buf, stored_len, eof);
-
-#ifdef FORCE_STATIC
- } else if (static_lenb >= 0) { /* force static trees */
-#else
- } else if (static_lenb == opt_lenb) {
-#endif
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
- s->compressed_len += 3 + s->static_len;
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
- s->compressed_len += 3 + s->opt_len;
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- init_block(s);
-
- if (eof) {
- bi_windup(s);
- s->compressed_len += 7; /* align on byte boundary */
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-
- return s->compressed_len >> 3;
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-int _tr_tally (s, dist, lc)
- deflate_state *s;
- unsigned dist; /* distance of matched string */
- unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
-
- s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
- /* Try to guess if it is profitable to stop the current block here */
- if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)((long)s->strstart - s->block_start);
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG_ZLIB
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG_ZLIB
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG_ZLIB
- s->bits_sent += (ulg)len<<3;
-#endif
- /* bundle up the put_byte(s, *buf++) calls */
- zmemcpy(&s->pending_buf[s->pending], buf, len);
- s->pending += len;
-}
-/* --- trees.c */
-
-/* +++ inflate.c */
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-
-/* +++ infblock.h */
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-extern inflate_blocks_statef * inflate_blocks_new OF((
- z_streamp z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-extern int inflate_blocks OF((
- inflate_blocks_statef *,
- z_streamp ,
- int)); /* initial return code */
-
-extern void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern void inflate_set_dictionary OF((
- inflate_blocks_statef *s,
- const Bytef *d, /* dictionary */
- uInt n)); /* dictionary length */
-
-extern int inflate_addhistory OF((
- inflate_blocks_statef *,
- z_streamp));
-
-extern int inflate_packet_flush OF((
- inflate_blocks_statef *));
-/* --- infblock.h */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_blocks_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- DICT4, /* four dictionary check bytes to go */
- DICT3, /* three dictionary check bytes to go */
- DICT2, /* two dictionary check bytes to go */
- DICT1, /* one dictionary check byte to go */
- DICT0, /* waiting for inflateSetDictionary */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
- mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int inflateReset(z)
-z_streamp z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, &c);
- Trace((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int inflateEnd(z)
-z_streamp z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z, &c);
- ZFREE(z, z->state);
- z->state = Z_NULL;
- Trace((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int inflateInit2_(z, w, version, stream_size)
-z_streamp z;
-int w;
-const char *version;
-int stream_size;
-{
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
- stream_size != sizeof(z_stream))
- return Z_VERSION_ERROR;
-
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
- z->msg = Z_NULL;
-#ifndef NO_ZCFUNCS
- if (z->zalloc == Z_NULL)
- {
- z->zalloc = zcalloc;
- z->opaque = (voidpf)0;
- }
- if (z->zfree == Z_NULL) z->zfree = zcfree;
-#endif
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Trace((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int inflateInit_(z, version, stream_size)
-z_streamp z;
-const char *version;
-int stream_size;
-{
- return inflateInit2_(z, DEF_WBITS, version, stream_size);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int inflate(z, f)
-z_streamp z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL || f < 0)
- return Z_STREAM_ERROR;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = (char*)"unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = (char*)"invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- b = NEXTBYTE;
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib header ok\n"));
- if (!(b & PRESET_DICT))
- {
- z->state->mode = BLOCKS;
- break;
- }
- z->state->mode = DICT4;
- case DICT4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = DICT3;
- case DICT3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = DICT2;
- case DICT2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = DICT1;
- case DICT1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
- z->adler = z->state->sub.check.need;
- z->state->mode = DICT0;
- return Z_NEED_DICT;
- case DICT0:
- z->state->mode = BAD;
- z->msg = (char*)"need dictionary";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_STREAM_ERROR;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
- r = inflate_packet_flush(z->state->blocks);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r != Z_STREAM_END)
- return r;
- r = Z_OK;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-
- empty:
- if (f != Z_PACKET_FLUSH)
- return r;
- z->state->mode = BAD;
- z->msg = (char *)"need more for packet flush";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_DATA_ERROR;
-}
-
-
-int inflateSetDictionary(z, dictionary, dictLength)
-z_streamp z;
-const Bytef *dictionary;
-uInt dictLength;
-{
- uInt length = dictLength;
-
- if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
- return Z_STREAM_ERROR;
-
- if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
- z->adler = 1L;
-
- if (length >= ((uInt)1<<z->state->wbits))
- {
- length = (1<<z->state->wbits)-1;
- dictionary += dictLength - length;
- }
- inflate_set_dictionary(z->state->blocks, dictionary, length);
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-
-int inflateIncomp(z)
-z_stream *z;
-{
- if (z->state->mode != BLOCKS)
- return Z_DATA_ERROR;
- return inflate_addhistory(z->state->blocks, z);
-}
-
-
-int inflateSync(z)
-z_streamp z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- if (*p == (Byte)(m < 2 ? 0 : 0xff))
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-#undef NEEDBYTE
-#undef NEXTBYTE
-/* --- inflate.c */
-
-/* +++ infblock.c */
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "infblock.h" */
-
-/* +++ inftrees.h */
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit machines) */
- union {
- uInt Base; /* literal, length base, or distance base */
- inflate_huft *Next; /* pointer to next level of table */
- } more;
-};
-
-#ifdef DEBUG_ZLIB
- extern uInt inflate_hufts;
-#endif
-
-extern int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- z_streamp )); /* for zalloc, zfree functions */
-
-extern int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_streamp )); /* for zalloc, zfree functions */
-
-extern int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *)); /* distance tree result */
-
-extern int inflate_trees_free OF((
- inflate_huft *, /* tables to free */
- z_streamp )); /* for zfree function */
-
-/* --- inftrees.h */
-
-/* +++ infcodes.h */
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-extern inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_streamp ));
-
-extern int inflate_codes OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-extern void inflate_codes_free OF((
- inflate_codes_statef *,
- z_streamp ));
-
-/* --- infcodes.h */
-
-/* +++ infutil.h */
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-#ifndef _INFUTIL_H
-#define _INFUTIL_H
-
-typedef enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONEB, /* finished last block, done */
- BADB} /* got a data error--stuck here */
-inflate_block_mode;
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- inflate_block_mode mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_huft *tl;
- inflate_huft *td; /* trees to free */
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=(uInt)WAVAIL;}
-#define WWRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WWRAP if(m==0){FLUSH WWRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
-extern uInt inflate_mask[17];
-
-/* copy as much as possible from the sliding window to the output area */
-extern int inflate_flush OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-#endif
-/* --- infutil.h */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local const uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- if (s->checkfn != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens);
- if (s->mode == CODES)
- {
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- }
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(0L, Z_NULL, 0);
- Trace((stderr, "inflate: blocks reset\n"));
-}
-
-
-inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_streamp z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s);
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Trace((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, &s->check);
- return s;
-}
-
-
-#ifdef DEBUG_ZLIB
- extern uInt inflate_hufts;
-#endif
-int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Trace((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Trace((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.tl = Z_NULL; /* don't try to free these */
- s->sub.decode.td = Z_NULL;
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Trace((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BADB;
- z->msg = (char*)"invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if ((((~b) >> 16) & 0xffff) != (b & 0xffff))
- {
- s->mode = BADB;
- z->msg = (char*)"invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : (s->last ? DRY : TYPE);
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BADB;
- z->msg = (char*)"too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if (t < 19)
- t = 19;
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, z);
- if (t != Z_OK)
- {
- ZFREE(z, s->sub.trees.blens);
- r = t;
- if (r == Z_DATA_ERROR)
- s->mode = BADB;
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->word.what.Bits;
- c = h->more.Base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- inflate_trees_free(s->sub.trees.tb, z);
- ZFREE(z, s->sub.trees.blens);
- s->mode = BADB;
- z->msg = (char*)"invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- inflate_trees_free(s->sub.trees.tb, z);
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
-#ifdef DEBUG_ZLIB
- inflate_hufts = 0;
-#endif
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td, z);
- ZFREE(z, s->sub.trees.blens);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- s->mode = BADB;
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok, %d * %d bytes used\n",
- inflate_hufts, sizeof(inflate_huft)));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- inflate_trees_free(td, z);
- inflate_trees_free(tl, z);
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.codes = c;
- s->sub.decode.tl = tl;
- s->sub.decode.td = td;
- }
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONEB;
- case DONEB:
- r = Z_STREAM_END;
- LEAVE
- case BADB:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-int inflate_blocks_free(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- inflate_blocks_reset(s, z, c);
- ZFREE(z, s->window);
- ZFREE(z, s);
- Trace((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-
-void inflate_set_dictionary(s, d, n)
-inflate_blocks_statef *s;
-const Bytef *d;
-uInt n;
-{
- zmemcpy((charf *)s->window, d, n);
- s->read = s->write = s->window + n;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-int inflate_addhistory(s, z)
-inflate_blocks_statef *s;
-z_stream *z;
-{
- uLong b; /* bit buffer */ /* NOT USED HERE */
- uInt k; /* bits in bit buffer */ /* NOT USED HERE */
- uInt t; /* temporary storage */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- if (s->read != s->write)
- return Z_STREAM_ERROR;
- if (s->mode != TYPE)
- return Z_DATA_ERROR;
-
- /* we're ready to rock */
- LOAD
- /* while there is input ready, copy to output buffer, moving
- * pointers as needed.
- */
- while (n) {
- t = n; /* how many to do */
- /* is there room until end of buffer? */
- if (t > m) t = m;
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, t);
- zmemcpy(q, p, t);
- q += t;
- p += t;
- n -= t;
- z->total_out += t;
- s->read = q; /* drag read pointer forward */
-/* WWRAP */ /* expand WWRAP macro by hand to handle s->read */
- if (q == s->end) {
- s->read = q = s->window;
- m = WAVAIL;
- }
- }
- UPDATE
- return Z_OK;
-}
-
-
-/*
- * At the end of a Deflate-compressed PPP packet, we expect to have seen
- * a `stored' block type value but not the (zero) length bytes.
- */
-int inflate_packet_flush(s)
- inflate_blocks_statef *s;
-{
- if (s->mode != LENS)
- return Z_DATA_ERROR;
- s->mode = TYPE;
- return Z_OK;
-}
-/* --- infblock.c */
-
-/* +++ inftrees.c */
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-
-char inflate_copyright[] = " inflate 1.0.4 Copyright 1995-1996 Mark Adler ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- const uIntf *, /* list of base values for non-simple codes */
- const uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- z_streamp )); /* for zalloc function */
-
-local voidpf falloc OF((
- voidpf, /* opaque pointer (not used) */
- uInt, /* number of items */
- uInt)); /* size of item */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local const uInt cplens[31] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* see note #13 above about 258 */
-local const uInt cplext[31] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112}; /* 112==invalid */
-local const uInt cpdist[30] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local const uInt cpdext[30] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-#define N_MAX 288 /* maximum number of codes in any set */
-
-#ifdef DEBUG_ZLIB
- uInt inflate_hufts;
-#endif
-
-local int huft_build(b, n, s, d, e, t, m, zs)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= N_MAX) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-const uIntf *d; /* list of base values for non-simple codes */
-const uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-z_streamp zs; /* for zalloc function */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
- lengths), or Z_MEM_ERROR if not enough memory. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- uInt v[N_MAX]; /* values in order of bit length */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
- n = x[g]; /* set n to length of v */
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = g - w;
- z = z > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate and link in new table */
- if ((q = (inflate_huft *)ZALLOC
- (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
- {
- if (h)
- inflate_trees_free(u[0], zs);
- return Z_MEM_ERROR; /* not enough memory */
- }
-#ifdef DEBUG_ZLIB
- inflate_hufts += z + 1;
-#endif
- *t = q + 1; /* link to list for huft_free() */
- *(t = &(q->next)) = Z_NULL;
- u[h] = ++q; /* table starts after link */
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- r.next = q; /* pointer to this table */
- j = i >> (w - l); /* (get around Turbo C bug) */
- u[h-1][j] = r; /* connect to last table */
- }
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)(e[*p - s] + 16 + 64);/* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- while ((i & ((1 << w) - 1)) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-int inflate_trees_bits(c, bb, tb, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-z_streamp z; /* for zfree function */
-{
- int r;
-
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR || *bb == 0)
- {
- inflate_trees_free(*tb, z);
- z->msg = (char*)"incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- return r;
-}
-
-
-int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_streamp z; /* for zfree function */
-{
- int r;
-
- /* build literal/length tree */
- r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z);
- if (r != Z_OK || *bl == 0)
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed literal/length tree";
- else if (r != Z_MEM_ERROR)
- {
- inflate_trees_free(*tl, z);
- z->msg = (char*)"incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- return r;
- }
-
- /* build distance tree */
- r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z);
- if (r != Z_OK || (*bd == 0 && nl > 257))
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed distance tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- inflate_trees_free(*td, z);
- z->msg = (char*)"incomplete distance tree";
- r = Z_DATA_ERROR;
- }
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"empty distance tree with lengths";
- r = Z_DATA_ERROR;
- }
- inflate_trees_free(*tl, z);
- return r;
-#endif
- }
-
- /* done */
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-local int fixed_built = 0;
-#define FIXEDH 530 /* number of hufts used by fixed tables */
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-
-
-local voidpf falloc(q, n, s)
-voidpf q; /* opaque pointer */
-uInt n; /* number of items */
-uInt s; /* size of item */
-{
- Assert(s == sizeof(inflate_huft) && n <= *(intf *)q,
- "inflate_trees falloc overflow");
- *(intf *)q -= n+s-s; /* s-s to avoid warning */
- return (voidpf)(fixed_mem + *(intf *)q);
-}
-
-
-int inflate_trees_fixed(bl, bd, tl, td)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-{
- /* build fixed tables if not already (multiple overlapped executions ok) */
- if (!fixed_built)
- {
- int k; /* temporary variable */
- unsigned c[288]; /* length list for huft_build */
- z_stream z; /* for falloc function */
- int f = FIXEDH; /* number of hufts left in fixed_mem */
-
- /* set up fake z_stream for memory routines */
- z.zalloc = falloc;
- z.zfree = Z_NULL;
- z.opaque = (voidpf)&f;
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 7;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
-
- /* done */
- Assert(f == 0, "invalid build of fixed tables");
- fixed_built = 1;
- }
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
-
-
-int inflate_trees_free(t, z)
-inflate_huft *t; /* table to free */
-z_streamp z; /* for zfree function */
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
- list of the tables it made, with the links in a dummy first entry of
- each table. */
-{
- register inflate_huft *p, *q, *r;
-
- /* Reverse linked list */
- p = Z_NULL;
- q = t;
- while (q != Z_NULL)
- {
- r = (q - 1)->next;
- (q - 1)->next = p;
- p = q;
- q = r;
- }
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- while (p != Z_NULL)
- {
- q = (--p)->next;
- ZFREE(z,p);
- p = q;
- }
- return Z_OK;
-}
-/* --- inftrees.c */
-
-/* +++ infcodes.c */
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-/* #include "infblock.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-
-/* +++ inffast.h */
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-extern int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_streamp ));
-/* --- inffast.h */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
- mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-z_streamp z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- Bytef *f; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
- f = (uInt)(q - s->window) < c->sub.copy.dist ?
- s->end - (c->sub.copy.dist - (q - s->window)) :
- q - c->sub.copy.dist;
-#else
- f = q - c->sub.copy.dist;
- if ((uInt)(q - s->window) < c->sub.copy.dist)
- f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
-#endif
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*f++)
- if (f == s->end)
- f = s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_streamp z;
-{
- ZFREE(z, c);
- Tracev((stderr, "inflate: codes free\n"));
-}
-/* --- infcodes.c */
-
-/* +++ infutil.c */
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "infblock.h" */
-/* #include "inftrees.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* And'ing with mask[n] masks the lower n bits */
-uInt inflate_mask[17] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-
-/* copy as much as possible from the sliding window to the output area */
-int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt n;
- Bytef *p;
- Bytef *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- if (p != Z_NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- if (p != Z_NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
-/* --- infutil.c */
-
-/* +++ inffast.c */
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* #include "zutil.h" */
-/* #include "inftrees.h" */
-/* #include "infblock.h" */
-/* #include "infcodes.h" */
-/* #include "infutil.h" */
-/* #include "inffast.h" */
-
-#ifndef NO_DUMMY_DECL
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-#endif
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- Bytef *r; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- if ((uInt)(q - s->window) >= d) /* offset before dest */
- { /* just copy */
- r = q - d;
- *q++ = *r++; c--; /* minimum count is three, */
- *q++ = *r++; c--; /* so unroll loop a little */
- }
- else /* else offset after destination */
- {
- e = d - (uInt)(q - s->window); /* bytes from offset to end */
- r = s->end - e; /* pointer to offset */
- if (c > e) /* if source crosses, */
- {
- c -= e; /* copy to end of window */
- do {
- *q++ = *r++;
- } while (--e);
- r = s->window; /* copy rest from start of window */
- }
- }
- do { /* copy all or what's left */
- *q++ = *r++;
- } while (--c);
- break;
- }
- else if ((e & 64) == 0)
- e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
- else
- {
- z->msg = (char*)"invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = (char*)"invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
-/* --- inffast.c */
-
-/* +++ zutil.c */
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zutil.c,v 1.17 1996/07/24 13:41:12 me Exp $ */
-
-#ifdef DEBUG_ZLIB
-#include <stdio.h>
-#endif
-
-/* #include "zutil.h" */
-
-#ifndef NO_DUMMY_DECL
-struct internal_state {int dummy;}; /* for buggy compilers */
-#endif
-
-#ifndef STDC
-extern void exit OF((int));
-#endif
-
-const char *z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
-
-
-const char *zlibVersion()
-{
- return ZLIB_VERSION;
-}
-
-#ifdef DEBUG_ZLIB
-void z_error (m)
- char *m;
-{
- fprintf(stderr, "%s\n", m);
- exit(1);
-}
-#endif
-
-#ifndef HAVE_MEMCPY
-
-void zmemcpy(dest, source, len)
- Bytef* dest;
- Bytef* source;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = *source++; /* ??? to be unrolled */
- } while (--len != 0);
-}
-
-int zmemcmp(s1, s2, len)
- Bytef* s1;
- Bytef* s2;
- uInt len;
-{
- uInt j;
-
- for (j = 0; j < len; j++) {
- if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
- }
- return 0;
-}
-
-void zmemzero(dest, len)
- Bytef* dest;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = 0; /* ??? to be unrolled */
- } while (--len != 0);
-}
-#endif
-
-#ifdef __TURBOC__
-#if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
-/* Small and medium model in Turbo C are for now limited to near allocation
- * with reduced MAX_WBITS and MAX_MEM_LEVEL
- */
-# define MY_ZCALLOC
-
-/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
- * and farmalloc(64K) returns a pointer with an offset of 8, so we
- * must fix the pointer. Warning: the pointer must be put back to its
- * original form in order to free it, use zcfree().
- */
-
-#define MAX_PTR 10
-/* 10*64K = 640K */
-
-local int next_ptr = 0;
-
-typedef struct ptr_table_s {
- voidpf org_ptr;
- voidpf new_ptr;
-} ptr_table;
-
-local ptr_table table[MAX_PTR];
-/* This table is used to remember the original form of pointers
- * to large buffers (64K). Such pointers are normalized with a zero offset.
- * Since MSDOS is not a preemptive multitasking OS, this table is not
- * protected from concurrent access. This hack doesn't work anyway on
- * a protected system like OS/2. Use Microsoft C instead.
- */
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- voidpf buf = opaque; /* just to make some compilers happy */
- ulg bsize = (ulg)items*size;
-
- /* If we allocate less than 65520 bytes, we assume that farmalloc
- * will return a usable pointer which doesn't have to be normalized.
- */
- if (bsize < 65520L) {
- buf = farmalloc(bsize);
- if (*(ush*)&buf != 0) return buf;
- } else {
- buf = farmalloc(bsize + 16L);
- }
- if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
- table[next_ptr].org_ptr = buf;
-
- /* Normalize the pointer to seg:0 */
- *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
- *(ush*)&buf = 0;
- table[next_ptr++].new_ptr = buf;
- return buf;
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- int n;
- if (*(ush*)&ptr != 0) { /* object < 64K */
- farfree(ptr);
- return;
- }
- /* Find the original pointer */
- for (n = 0; n < next_ptr; n++) {
- if (ptr != table[n].new_ptr) continue;
-
- farfree(table[n].org_ptr);
- while (++n < next_ptr) {
- table[n-1] = table[n];
- }
- next_ptr--;
- return;
- }
- ptr = opaque; /* just to make some compilers happy */
- Assert(0, "zcfree: ptr not found");
-}
-#endif
-#endif /* __TURBOC__ */
-
-
-#if defined(M_I86) && !defined(__32BIT__)
-/* Microsoft C in 16-bit mode */
-
-# define MY_ZCALLOC
-
-#if (!defined(_MSC_VER) || (_MSC_VER < 600))
-# define _halloc halloc
-# define _hfree hfree
-#endif
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- return _halloc((long)items, size);
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- _hfree(ptr);
-}
-
-#endif /* MSC */
-
-
-#ifndef MY_ZCALLOC /* Any system without a special alloc function */
-
-#ifndef STDC
-extern voidp calloc OF((uInt items, uInt size));
-extern void free OF((voidpf ptr));
-#endif
-
-voidpf zcalloc (opaque, items, size)
- voidpf opaque;
- unsigned items;
- unsigned size;
-{
- if (opaque) items += size - size; /* make compiler happy */
- return (voidpf)calloc(items, size);
-}
-
-void zcfree (opaque, ptr)
- voidpf opaque;
- voidpf ptr;
-{
- free(ptr);
- if (opaque) return; /* make compiler happy */
-}
-
-#endif /* MY_ZCALLOC */
-/* --- zutil.c */
-
-/* +++ adler32.c */
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-1996 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: adler32.c,v 1.10 1996/05/22 11:52:18 me Exp $ */
-
-/* #include "zlib.h" */
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf,i) {s1 += buf[i]; s2 += s1;}
-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
-#define DO16(buf) DO8(buf,0); DO8(buf,8);
-
-/* ========================================================================= */
-uLong adler32(adler, buf, len)
- uLong adler;
- const Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- buf += 16;
- k -= 16;
- }
- if (k != 0) do {
- s1 += *buf++;
- s2 += s1;
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
-/* --- adler32.c */
diff --git a/mdk-stage1/ppp/common/zlib.h b/mdk-stage1/ppp/common/zlib.h
deleted file mode 100644
index 188ddaff9..000000000
--- a/mdk-stage1/ppp/common/zlib.h
+++ /dev/null
@@ -1,1010 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is derived from zlib.h and zconf.h from the zlib-1.0.4
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets.
- */
-
-/*
- * ==FILEVERSION 971127==
- *
- * This marker is used by the Linux installation script to determine
- * whether an up-to-date version of this file is already installed.
- */
-
-
-/* +++ zlib.h */
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.0.4, Jul 24th, 1996.
-
- Copyright (C) 1995-1996 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- gzip@prep.ai.mit.edu madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* +++ zconf.h */
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-1996 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zconf.h,v 1.20 1996/07/02 15:09:28 me Exp $ */
-
-#ifndef _ZCONF_H
-#define _ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-# define deflateInit_ z_deflateInit_
-# define deflate z_deflate
-# define deflateEnd z_deflateEnd
-# define inflateInit_ z_inflateInit_
-# define inflate z_inflate
-# define inflateEnd z_inflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateCopy z_deflateCopy
-# define deflateReset z_deflateReset
-# define deflateParams z_deflateParams
-# define inflateInit2_ z_inflateInit2_
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateReset z_inflateReset
-# define compress z_compress
-# define uncompress z_uncompress
-# define adler32 z_adler32
-# define crc32 z_crc32
-# define get_crc_table z_get_crc_table
-
-# define Byte z_Byte
-# define uInt z_uInt
-# define uLong z_uLong
-# define Bytef z_Bytef
-# define charf z_charf
-# define intf z_intf
-# define uIntf z_uIntf
-# define uLongf z_uLongf
-# define voidpf z_voidpf
-# define voidp z_voidp
-#endif
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-# define WIN32
-#endif
-#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
-# ifndef __32BIT__
-# define __32BIT__
-# endif
-#endif
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#if defined(MSDOS) && !defined(__32BIT__)
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
-# define STDC
-#endif
-#if (defined(__STDC__) || defined(__cplusplus)) && !defined(STDC)
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- 1 << (windowBits+2) + 1 << (memLevel+9)
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR __far
-# else
-# define FAR far
-# endif
-#endif
-#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
-# ifndef __32BIT__
-# define SMALL_MEDIUM
-# define FAR __far
-# endif
-#endif
-#ifndef FAR
-# define FAR
-#endif
-
-typedef unsigned char Byte; /* 8 bits */
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#if defined(__BORLANDC__) && defined(SMALL_MEDIUM)
- /* Borland C/C++ ignores FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-
-/* Compile with -DZLIB_DLL for Windows DLL support */
-#if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL)
-# include <windows.h>
-# define EXPORT WINAPI
-#else
-# define EXPORT
-#endif
-
-#endif /* _ZCONF_H */
-/* --- zconf.h */
-
-#define ZLIB_VERSION "1.0.4P"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms may be added later and will have the same
- stream interface.
-
- For compression the application must provide the output buffer and
- may optionally provide the input buffer for optimization. For decompression,
- the application must provide the input buffer and may optionally provide
- the output buffer for optimization.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The library does not install any signal handler. It is recommended to
- add at least a handler for SIGSEGV when decompressing; the library checks
- the consistency of the input data whenever possible but may go nuts
- for some forms of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_PACKET_FLUSH 2
-#define Z_SYNC_FLUSH 3
-#define Z_FULL_FLUSH 4
-#define Z_FINISH 5
-/* Allowed flush values; see deflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-extern const char * EXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-extern int EXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-extern int EXPORT deflate OF((z_streamp strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
- block is terminated and flushed to the output buffer so that the
- decompressor can get all input data available so far. For method 9, a future
- variant on method 8, the current block will be flushed but not terminated.
- Z_SYNC_FLUSH has the same effect as partial flush except that the compressed
- output is byte aligned (the compressor can clear its internal bit buffer)
- and the current block is always terminated; this can be useful if the
- compressor has to be restarted from scratch after an interruption (in which
- case the internal state of the compressor may be lost).
- If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
- special marker is output and the compression dictionary is discarded; this
- is useful to allow the decompressor to synchronize if one compressed block
- has been damaged (see inflateSync below). Flushing degrades compression and
- so should be used only when necessary. Using Z_FULL_FLUSH too often can
- seriously degrade the compression. If deflate returns with avail_out == 0,
- this function must be called again with the same value of the flush
- parameter and more output space (updated avail_out), until the flush is
- complete (deflate returns with non-zero avail_out).
-
- If the parameter flush is set to Z_PACKET_FLUSH, the compression
- block is terminated, and a zero-length stored block is output,
- omitting the length bytes (the effect of this is that the 3-bit type
- code 000 for a stored block is output, and the output is then
- byte-aligned). This is designed for use at the end of a PPP packet.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
-*/
-
-
-extern int EXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-extern int EXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- zalloc, zfree and opaque must be initialized before by the caller. If
- zalloc and zfree are set to Z_NULL, inflateInit updates them to use default
- allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_VERSION_ERROR if the zlib library version is incompatible
- with the version assumed by the caller. msg is set to null if there is no
- error message. inflateInit does not perform any decompression: this will be
- done by inflate().
-*/
-
-
-extern int EXPORT inflate OF((z_streamp strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
- inflate flushes as much output as possible to the output buffer. The
- flushing behavior of inflate is not specified for values of the flush
- parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
- current implementation actually flushes as much output as possible
- anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
- has been consumed, it is expecting to see the length field of a stored
- block; if not, it returns Z_DATA_ERROR.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- inflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if the end of the
- compressed data has been reached and all uncompressed output has been
- produced, Z_NEED_DICT if a preset dictionary is needed at this point (see
- inflateSetDictionary below), Z_DATA_ERROR if the input data was corrupted,
- Z_STREAM_ERROR if the stream structure was inconsistent (for example if
- next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in
- the output buffer when Z_FINISH is used. In the Z_DATA_ERROR case, the
- application may then call inflateSync to look for a good compression block.
- In the Z_NEED_DICT case, strm->adler is set to the Adler32 value of the
- dictionary chosen by the compressor.
-*/
-
-
-extern int EXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-extern int EXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library. (Method 9 will allow a 64K history buffer and
- partial block flushes.)
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library (the value 16 will be allowed for method 9). Larger
- values of this parameter result in better compression at the expense of
- memory usage. The default value is 15 if deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match). Filtered data consists mostly of small values with a
- somewhat random distribution. In this case, the compression algorithm is
- tuned to compress them better. The effect of Z_FILTERED is to force more
- Huffman coding and less string matching; it is somewhat intermediate
- between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects
- the compression ratio but not the correctness of the compressed output even
- if it is not set appropriately.
-
- If next_in is not null, the library will use this buffer to hold also
- some history information; the buffer must either hold the entire input
- data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
- is null, the library will allocate its own history buffer (and leave next_in
- null). next_out need not be provided here but must be provided by the
- application for the next call of deflate().
-
- If the history buffer is provided by the application, next_in must
- must never be changed by the application since the compressor maintains
- information inside this buffer from call to call; the application
- must provide more input only by increasing avail_in. next_in is always
- reset by the library in this case.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- an invalid method). msg is set to null if there is no error message.
- deflateInit2 does not perform any compression: this will be done by
- deflate().
-*/
-
-extern int EXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary (history buffer) from the given
- byte sequence without producing any compressed output. This function must
- be called immediately after deflateInit or deflateInit2, before any call
- of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and
- can be predicted with good accuracy; the data can then be compressed better
- than with the default empty dictionary. In this version of the library,
- only the last 32K bytes of the dictionary are used.
- Upon return of this function, strm->adler is set to the Adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The Adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.)
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state
- is inconsistent (for example if deflate has already been called for this
- stream). deflateSetDictionary does not perform any compression: this will
- be done by deflate().
-*/
-
-extern int EXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream. If
- the source stream is using an application-supplied history buffer, a new
- buffer is allocated for the destination stream. The compressed output
- buffer is always application-supplied. It's the responsibility of the
- application to provide the correct values of next_out and avail_out for the
- next call of deflate.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-extern int EXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int EXPORT deflateParams OF((z_streamp strm, int level, int strategy));
-/*
- Dynamically update the compression level and compression strategy.
- This can be used to switch between compression and straight copy of
- the input data, or to switch to a different kind of input data requiring
- a different strategy. If the compression level is changed, the input
- available so far is compressed with the old level (and may be flushed);
- the new level will take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-extern int EXPORT deflateOutputPending OF((z_streamp strm));
-/*
- Returns the number of bytes of output which are immediately
- available from the compressor (i.e. without any further input
- or flush).
-*/
-
-/*
-extern int EXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with more compression options. The
- fields next_out, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library (the value 16 will be allowed soon). The
- default value is 15 if inflateInit is used instead. If a compressed stream
- with a larger window size is given as input, inflate() will return with
- the error code Z_DATA_ERROR instead of trying to allocate a larger window.
-
- If next_out is not null, the library will use this buffer for the history
- buffer; the buffer must either be large enough to hold the entire output
- data, or have at least 1<<windowBits bytes. If next_out is null, the
- library will allocate its own buffer (and leave next_out null). next_in
- need not be provided here but must be provided by the application for the
- next call of inflate().
-
- If the history buffer is provided by the application, next_out must
- never be changed by the application since the decompressor maintains
- history information inside this buffer from call to call; the application
- can only reset next_out to the beginning of the history buffer when
- avail_out is zero and all output has been consumed.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- windowBits < 8). msg is set to null if there is no error message.
- inflateInit2 does not perform any decompression: this will be done by
- inflate().
-*/
-
-extern int EXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary (history buffer) from the given
- uncompressed byte sequence. This function must be called immediately after
- a call of inflate if this call returned Z_NEED_DICT. The dictionary chosen
- by the compressor can be determined from the Adler32 value returned by this
- call of inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect Adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-extern int EXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until the special marker (see deflate()
- above) can be found, or until all available input is skipped. No output
- is provided.
-
- inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no marker has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-extern int EXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateIncomp OF((z_stream *strm));
-/*
- This function adds the data at next_in (avail_in bytes) to the output
- history without performing any output. There must be no pending output,
- and the decompressor must be expecting to see the start of a block.
- Calling this function is equivalent to decompressing a stored block
- containing the data at next_in (except that the data is not output).
-*/
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level, window size,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-extern int EXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least 0.1% larger than
- sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-extern int EXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-
-
-typedef voidp gzFile;
-
-extern gzFile EXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9"). gzopen can be used to read a file which is not in gzip format;
- in this case gzread will directly read from the file without decompression.
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR).
-*/
-
-extern gzFile EXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-extern int EXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-extern int EXPORT gzwrite OF((gzFile file, const voidp buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-extern int EXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-extern int EXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-extern const char * EXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-extern uLong EXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-extern uLong EXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-extern int EXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-extern int EXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-extern int EXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel, int strategy,
- const char *version, int stream_size));
-extern int EXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-uLongf *get_crc_table OF((void)); /* can be used by asm versions of crc32() */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ZLIB_H */
-/* --- zlib.h */
diff --git a/mdk-stage1/ppp/configure b/mdk-stage1/ppp/configure
deleted file mode 100755
index 544fb0d71..000000000
--- a/mdk-stage1/ppp/configure
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/sh
-# $Id$
-
-# if [ -d /NextApps ]; then
-# system="NeXTStep"
-# else
- system=`uname -s`
- release=`uname -r`
- machine=`uname -p`
- arch=`uname -m`
-# fi
-state="unknown"
-
-case $system in
- Linux)
- makext="linux";
- ksrc="linux";
- state="known";;
- SunOS)
- case $release in
-# [0-3]*) state="ancient";;
-# 4*) state="known"; ksrc="sunos4"; makext="sunos4";;
- 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";;
- 5.[7-9]*) state="known"; ksrc="solaris"; makext="sol2";
- case $arch in
- sun4u) lp64='y';;
- *) ;;
- esac;;
- esac;;
- NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
- state="notincluded";;
-# NetBSD)
-# makext="bsd";
-# case $release in
-# 0.*) state="ancient";;
-# 1.0*) state="ancient";;
-# 1.1*) state="known"; ksrc="netbsd-1.1";;
-# 1.2*) state="known"; ksrc="netbsd-1.2"; makext="netbsd-1.2";;
-# 1.[3-9]*|[2-9]*)
-# state="late"; ksrc="netbsd-1.2";;
-# esac;;
-# ULTRIX)
-# makext="ultrix";
-# case $release in
-# [0-3]*) state="ancient";;
-# 4.[01]*) state="early"; ksrc="ultrix";;
-# 4.[234]) state="known"; ksrc="ultrix";;
-# esac;;
-# OSF1)
-# makext="osf";
-# case $release in
-# V1.*) state="neolithic"; ksrc="osf1";;
-# V[23].*) state="neolithic"; ksrc="osf1";;
-# V4.*) state="known"; ksrc="osf1";;
-# V[5-9]*) state="late"; ksrc="osf1";;
-# esac;;
-# FreeBSD)
-# makext="bsd";
-# case $release in
-# 1.*) state="known"; ksrc="freebsd-old";;
-# 2.[01]*) state="known"; ksrc="freebsd-2.0";;
-# 2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
-# 2.2.8*) state="known"; ksrc="freebsd-2.2.8";;
-# 3.[0-1]*) state="known"; ksrc="freebsd-3.0";;
-# esac;;
-# NeXTStep)
-# makext="NeXT";
-# ksrc="NeXT";
-# state="known";;
-# SINIX-?)
-# case $release in
-# 5.4[01]) state=known; ksrc=svr4; makext=svr4;;
-# 5.4[2-9]) state=late; ksrc=svr4; makext=svr4;;
-# esac;;
-# # Intel SVR4 systems come with a bug in the uname program. Unless
-# # your provider fixed the bug, or you get a fix for it, uname -S will
-# # overwrite the system name with the node name!
-# UNIX_SV|UNIX_System_V|`uname -n`)
-# case $release in
-# 4.0) state=known; ksrc=svr4; makext=svr4;;
-# 4.2) state=late; ksrc=svr4; makext=svr4;;
-# esac;;
-esac
-
-if [ -d "$ksrc" ]; then :; else
- state="notincluded"
- unset ksrc
-fi
-
-case $state in
- neolithic)
- echo "This is a newer release on an outdated OS ($system)."
- echo " This software may or may not work on this OS."
- echo " You may want to download an older version of PPP for this OS.";;
- ancient)
- echo "This is an old release of a supported OS ($system)."
- echo "This software cannot be used as-is on this system,"
- echo "but you may be able to port it. Good luck!"
- exit;;
- early)
- echo "This is an old release of a supported OS ($system)."
- echo "This software should install and run on this system,"
- echo "but it hasn't been tested.";;
- late)
- echo "This is a newer release of $system than is supported by"
- echo "this software. It may or may not work.";;
- unknown)
- echo "This software has not been ported to this system. Sorry.";;
- notincluded)
- echo "Support for this system has not been included"
- echo "in this distribution. Sorry.";;
-esac
-
-orig_makext=$makext
-
-if [ -d "$ksrc" ]; then
- echo "Creating links to Makefiles."
- rm -f Makefile
- ln -s $ksrc/Makefile.top Makefile
- echo " Makefile -> $ksrc/Makefile.top"
- if [ "$ksrc" = solaris ]; then
- # Point to 64-bit Makefile extension
- if [ "$lp64" = y ]; then
- makext=$makext-64
- fi
- rm -f $ksrc/Makefile
- ln -s Makefile.$makext $ksrc/Makefile
- echo " $ksrc/Makefile -> Makefile.$makext"
- # Restore extension
- if [ "$lp64" = y ]; then
- makext=$orig_makext
- fi
- fi
- for dir in pppd pppstats chat pppdump; do
- rm -f $dir/Makefile
- if [ -f $dir/Makefile.$makext ]; then
- ln -s Makefile.$makext $dir/Makefile
- echo " $dir/Makefile -> Makefile.$makext"
- fi
- done
-fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux b/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
deleted file mode 100644
index 7eb217dac..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
+++ /dev/null
@@ -1,16 +0,0 @@
-all: pppgetpass.vt pppgetpass.gtk
-
-pppgetpass.vt: pppgetpass.vt.o
-
-pppgetpass.gtk: pppgetpass.gtk.o
- $(CC) $(LDFLAGS) pppgetpass.gtk.o `gtk-config --libs` -o pppgetpass.gtk
-pppgetpass.gtk.o: pppgetpass.gtk.c
- $(CC) $(CFLAGS) -c pppgetpass.gtk.c `gtk-config --cflags`
-
-install: all
- install -m 755 pppgetpass.sh /usr/bin/pppgetpass
- install -m 4755 -o root -g root pppgetpass.vt /usr/bin/
- install -m 755 -o root -g root pppgetpass.gtk /usr/X11/bin/
-
-clean:
- rm -f *.o pppgetpass.gtk pppgetpass.vt core
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8 b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
deleted file mode 100644
index ade576970..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
+++ /dev/null
@@ -1,18 +0,0 @@
-.TH PPPGETPASS 8 "26 Sep 1999"
-.SH NAME
-pppgetpass \- prompt for PAP password
-.SH SYNOPSIS
-.B pppgetpass
-.I client server fd
-.SH DESCRIPTION
-.B pppgetpass
-the outer half of a plugin for PAP password prompting in pppd.
-If the peer requires PAP, and the
-.B passprompt.so
-plugin is loaded into pppd, it will run
-.B /usr/sbin/pppgetpass
-(or another program specified by the
-.B promptprog
-option) to prompt the user for the password.
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
deleted file mode 100644
index 48ca04202..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <glib.h>
-#include <gdk/gdk.h>
-#include <gtk/gtkwindow.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtksignal.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <syslog.h>
-
-int outfd;
-int err;
-
-static void okpressed(void *widget, void *clientdata)
-{
- GtkWidget *answer=clientdata;
- gchar *pass;
- int passlen;
- ssize_t wrote;
- (void)widget;
-
- pass=gtk_entry_get_text(GTK_ENTRY(answer));
-
- passlen=strlen(pass);
- if(!passlen)
- return;
-
- if((wrote=write(outfd, pass, passlen))!=passlen) {
- if(wrote<0)
- syslog(LOG_ERR, "write error on outpipe: %m");
- else
- syslog(LOG_ERR, "short write on outpipe");
- err=1;
- }
- gtk_main_quit();
-}
-
-int main(int argc, char **argv)
-{
- GtkWidget *mainwindow, *vbox, *question, *answer, *ok;
- char buf[1024];
- gtk_init(&argc, &argv);
-
- openlog(argv[0], LOG_PID, LOG_DAEMON);
- if(argc!=4) {
- syslog(LOG_WARNING, "Usage error");
- return 1;
- }
- outfd=atoi(argv[3]);
- mainwindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(mainwindow), "pppgetpass");
- gtk_signal_connect(GTK_OBJECT(mainwindow), "destroy",
- GTK_SIGNAL_FUNC(gtk_main_quit), 0);
-
- vbox=gtk_vbox_new(FALSE, 5);
- gtk_container_add(GTK_CONTAINER(mainwindow), vbox);
- gtk_widget_show(vbox);
-
- if(argv[1][0] && argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP client %s on server %s: ", argv[1], argv[2]);
- else if(argv[1][0] && !argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP client %s: ", argv[1]);
- else if(!argv[1][0] && argv[2][0])
- snprintf(buf, sizeof buf, "Password for PPP on server %s: ", argv[2]);
- else
- snprintf(buf, sizeof buf, "Enter PPP password: ");
- question=gtk_label_new(buf);
- gtk_box_pack_start(GTK_BOX(vbox), question, FALSE, TRUE, 0);
- gtk_widget_show(question);
-
- answer=gtk_entry_new();
- gtk_entry_set_visibility(GTK_ENTRY(answer), 0);
- gtk_box_pack_start(GTK_BOX(vbox), answer, FALSE, TRUE, 0);
- gtk_widget_show(answer);
-
- ok=gtk_button_new_with_label("OK");
- gtk_box_pack_start(GTK_BOX(vbox), ok, FALSE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(ok), "clicked",
- GTK_SIGNAL_FUNC(okpressed), answer);
- gtk_widget_show(ok);
-
- gtk_widget_show(mainwindow);
- gtk_main();
-
- return err;
-}
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
deleted file mode 100644
index 09c480519..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if [ -z "$DISPLAY" ]; then
- exec pppgetpass.vt "$@"
-else
- exec pppgetpass.gtk "$@"
-fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
deleted file mode 100644
index a1520883c..000000000
--- a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
+++ /dev/null
@@ -1,218 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <syslog.h>
-#include <termios.h>
-#include <sys/vt.h>
-
-static int console_owner(uid_t, int);
-
-int main(int argc, char **argv)
-{
- int console;
- uid_t uid;
- struct vt_stat origstate;
- int openvtnum;
- char openvtname[256];
- int openvt;
- gid_t gid;
- int chowned;
- FILE *fp;
- struct termios t;
- char pass[256], *nl;
- int outfd, passlen;
- ssize_t wrote;
- console=open("/dev/console", O_RDWR);
-
- uid=getuid();
- gid=getgid();
- seteuid(uid);
-
- openlog(argv[0], LOG_PID, LOG_DAEMON);
-
- if(argc!=4) {
- syslog(LOG_WARNING, "Usage error");
- return 1;
- }
-
- if(console<0) {
- syslog(LOG_ERR, "open(/dev/console): %m");
- return 1;
- }
-
- if(ioctl(console, VT_GETSTATE, &origstate)<0) {
- syslog(LOG_ERR, "VT_GETSTATE: %m");
- return 1;
- }
-
- if(uid) {
- if(!console_owner(uid, origstate.v_active)) {
- int i;
- for(i=0;i<64;++i) {
- if(i!=origstate.v_active && console_owner(uid, i))
- break;
- }
- if(i==64) {
- syslog(LOG_WARNING, "run by uid %lu not at console", (unsigned long)uid);
- return 1;
- }
- }
- }
-
- if(ioctl(console, VT_OPENQRY, &openvtnum)<0) {
- syslog(LOG_ERR, "VT_OPENQRY: %m");
- return 1;
- }
- if(openvtnum==-1) {
- syslog(LOG_ERR, "No free VTs");
- return 1;
- }
-
- snprintf(openvtname, sizeof openvtname, "/dev/tty%d", openvtnum);
- seteuid(0);
- openvt=open(openvtname, O_RDWR);
- if(openvt<0) {
- seteuid(uid);
- syslog(LOG_ERR, "open(%s): %m", openvtname);
- return 1;
- }
-
- chowned=fchown(openvt, uid, gid);
- if(chowned<0) {
- seteuid(uid);
- syslog(LOG_ERR, "fchown(%s): %m", openvtname);
- return 1;
- }
-
- close(console);
-
- if(ioctl(openvt, VT_ACTIVATE, openvtnum)<0) {
- seteuid(uid);
- syslog(LOG_ERR, "VT_ACTIVATE(%d): %m", openvtnum);
- return 1;
- }
-
- while(ioctl(openvt, VT_WAITACTIVE, openvtnum)<0) {
- if(errno!=EINTR) {
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "VT_WAITACTIVE(%d): %m", openvtnum);
- return 1;
- }
- }
-
- seteuid(uid);
- fp=fdopen(openvt, "r+");
- if(!fp) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "fdopen(%s): %m", openvtname);
- return 1;
- }
-
- if(tcgetattr(openvt, &t)<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "tcgetattr(%s): %m", openvtname);
- return 1;
- }
- t.c_lflag &= ~ECHO;
- if(tcsetattr(openvt, TCSANOW, &t)<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "tcsetattr(%s): %m", openvtname);
- return 1;
- }
-
- if(fprintf(fp, "\033[2J\033[H")<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- if(argv[1][0] && argv[2][0]) {
- if(fprintf(fp, "Password for PPP client %s on server %s: ", argv[1], argv[2])<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- } else if(argv[1][0] && !argv[2][0]) {
- if(fprintf(fp, "Password for PPP client %s: ", argv[1])<0) {
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- return 1;
- }
- } else if(!argv[1][0] && argv[2][0]) {
- if(fprintf(fp, "Password for PPP on server %s: ", argv[2])<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- } else {
- if(fprintf(fp, "Enter PPP password: ")<0) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- syslog(LOG_ERR, "write error on %s: %m", openvtname);
- return 1;
- }
- }
-
- if(!fgets(pass, sizeof pass, fp)) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- if(ferror(fp)) {
- syslog(LOG_ERR, "read error on %s: %m", openvtname);
- }
- return 1;
- }
- if((nl=strchr(pass, '\n')))
- *nl=0;
- passlen=strlen(pass);
-
- outfd=atoi(argv[3]);
- if((wrote=write(outfd, pass, passlen))!=passlen) {
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- if(wrote<0)
- syslog(LOG_ERR, "write error on outpipe: %m");
- else
- syslog(LOG_ERR, "short write on outpipe");
- return 1;
- }
-
- seteuid(0);
- ioctl(openvt, VT_ACTIVATE, origstate.v_active);
- seteuid(uid);
- return 0;
-}
-
-static int console_owner(uid_t uid, int cons)
-{
- char name[256];
- struct stat st;
- snprintf(name, sizeof name, "/dev/tty%d", cons);
- if(stat(name, &st)<0) {
- if(errno!=ENOENT)
- syslog(LOG_ERR, "stat(%s): %m", name);
- return 0;
- }
- return uid==st.st_uid;
-}
diff --git a/mdk-stage1/ppp/etc.ppp/chap-secrets b/mdk-stage1/ppp/etc.ppp/chap-secrets
deleted file mode 100644
index 7d1c3cd7c..000000000
--- a/mdk-stage1/ppp/etc.ppp/chap-secrets
+++ /dev/null
@@ -1,2 +0,0 @@
-# Secrets for authentication using CHAP
-# client server secret IP addresses
diff --git a/mdk-stage1/ppp/etc.ppp/options b/mdk-stage1/ppp/etc.ppp/options
deleted file mode 100644
index 0f77a9aa0..000000000
--- a/mdk-stage1/ppp/etc.ppp/options
+++ /dev/null
@@ -1,5 +0,0 @@
-lock
-noauth
-noipdefault
-usepeerdns
-
diff --git a/mdk-stage1/ppp/etc.ppp/options.options b/mdk-stage1/ppp/etc.ppp/options.options
deleted file mode 100644
index 4b67b6a0d..000000000
--- a/mdk-stage1/ppp/etc.ppp/options.options
+++ /dev/null
@@ -1 +0,0 @@
-lock
diff --git a/mdk-stage1/ppp/etc.ppp/pap-secrets b/mdk-stage1/ppp/etc.ppp/pap-secrets
deleted file mode 100644
index f8b7dce3c..000000000
--- a/mdk-stage1/ppp/etc.ppp/pap-secrets
+++ /dev/null
@@ -1,2 +0,0 @@
-# Secrets for authentication using PAP
-# client server secret IP addresses
diff --git a/mdk-stage1/ppp/include/linux/if_ppp.h b/mdk-stage1/ppp/include/linux/if_ppp.h
deleted file mode 100644
index 1febf0931..000000000
--- a/mdk-stage1/ppp/include/linux/if_ppp.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* $Id$ */
-
-/*
- * if_ppp.h - Point-to-Point Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-/*
- * ==FILEVERSION 20000724==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * if_ppp.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new if_ppp.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _IF_PPP_H_
-#define _IF_PPP_H_
-
-/*
- * Packet sizes
- */
-
-#define PPP_MTU 1500 /* Default MTU (size of Info field) */
-#define PPP_MAXMRU 65000 /* Largest MRU we allow */
-#define PROTO_IPX 0x002b /* protocol numbers */
-#define PROTO_DNA_RT 0x0027 /* DNA Routing */
-
-
-/*
- * Bit definitions for flags.
- */
-
-#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
-#define SC_COMP_AC 0x00000002 /* header compression (output) */
-#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
-#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
-#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
-#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
-#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
-#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
-#define SC_ENABLE_IP 0x00000100 /* IP packets may be exchanged */
-#define SC_LOOP_TRAFFIC 0x00000200 /* send traffic to pppd */
-#define SC_MULTILINK 0x00000400 /* do multilink encapsulation */
-#define SC_MP_SHORTSEQ 0x00000800 /* use short MP sequence numbers */
-#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
-#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
-#define SC_MP_XSHORTSEQ 0x00004000 /* transmit short MP seq numbers */
-#define SC_DEBUG 0x00010000 /* enable debug messages */
-#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
-#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
-#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
-#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
-#define SC_SYNC 0x00200000 /* synchronous serial mode */
-#define SC_MASK 0x0f200fff /* bits that user can change */
-
-/* state bits */
-#define SC_XMIT_BUSY 0x10000000 /* (used by isdn_ppp?) */
-#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
-#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
-#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
-#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
-#define SC_DC_FERROR 0x00800000 /* fatal decomp error detected */
-#define SC_DC_ERROR 0x00400000 /* non-fatal decomp error detected */
-
-/*
- * Ioctl definitions.
- */
-
-struct npioctl {
- int protocol; /* PPP protocol, e.g. PPP_IP */
- enum NPmode mode;
-};
-
-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
-struct ppp_option_data {
- __u8 *ptr;
- __u32 length;
- int transmit;
-};
-
-struct ifpppstatsreq {
- struct ifreq b;
- struct ppp_stats stats; /* statistic information */
-};
-
-struct ifpppcstatsreq {
- struct ifreq b;
- struct ppp_comp_stats stats;
-};
-
-#define ifr__name b.ifr_ifrn.ifrn_name
-#define stats_ptr b.ifr_ifru.ifru_data
-
-/*
- * Ioctl definitions.
- */
-
-#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
-#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
-#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
-#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
-#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
-#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
-#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
-#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
-#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
-#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
-#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
-#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
-#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
-#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
-#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog) /* set pass filter */
-#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog) /* set active filt */
-#define PPPIOCGDEBUG _IOR('t', 65, int) /* Read debug level */
-#define PPPIOCSDEBUG _IOW('t', 64, int) /* Set debug level */
-#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) /* get idle time */
-#define PPPIOCNEWUNIT _IOWR('t', 62, int) /* create new ppp unit */
-#define PPPIOCATTACH _IOW('t', 61, int) /* attach to ppp unit */
-#define PPPIOCDETACH _IOW('t', 60, int) /* detach from ppp unit/chan */
-#define PPPIOCSMRRU _IOW('t', 59, int) /* set multilink MRU */
-#define PPPIOCCONNECT _IOW('t', 58, int) /* connect channel to unit */
-#define PPPIOCDISCONN _IO('t', 57) /* disconnect channel */
-#define PPPIOCATTCHAN _IOW('t', 56, int) /* attach to ppp channel */
-#define PPPIOCGCHAN _IOR('t', 55, int) /* get ppp channel number */
-
-#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
-#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) /* NEVER change this!! */
-#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
-
-#if !defined(ifr_mtu)
-#define ifr_mtu ifr_ifru.ifru_metric
-#endif
-
-#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/linux/if_pppvar.h b/mdk-stage1/ppp/include/linux/if_pppvar.h
deleted file mode 100644
index b2485cd9d..000000000
--- a/mdk-stage1/ppp/include/linux/if_pppvar.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* From: if_pppvar.h,v 1.2 1995/06/12 11:36:51 paulus Exp */
-/*
- * if_pppvar.h - private structures and declarations for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/*
- * ==FILEVERSION 990911==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * if_pppvar.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new if_pppvar.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-/*
- * Supported network protocols. These values are used for
- * indexing sc_npmode.
- */
-
-#define NP_IP 0 /* Internet Protocol */
-#define NP_IPX 1 /* IPX protocol */
-#define NP_AT 2 /* Appletalk protocol */
-#define NP_IPV6 3 /* Internet Protocol */
-#define NUM_NP 4 /* Number of NPs. */
-
-#define OBUFSIZE 256 /* # chars of output buffering */
-
-/*
- * Structure describing each ppp unit.
- */
-
-struct ppp {
- int magic; /* magic value for structure */
- struct ppp *next; /* unit with next index */
- unsigned long inuse; /* are we allocated? */
- int line; /* network interface unit # */
- __u32 flags; /* miscellaneous control flags */
- int mtu; /* maximum xmit frame size */
- int mru; /* maximum receive frame size */
- struct slcompress *slcomp; /* for TCP header compression */
- struct sk_buff_head xmt_q; /* frames to send from pppd */
- struct sk_buff_head rcv_q; /* frames for pppd to read */
- unsigned long xmit_busy; /* bit 0 set when xmitter busy */
-
- /* Information specific to using ppp on async serial lines. */
- struct tty_struct *tty; /* ptr to TTY structure */
- struct tty_struct *backup_tty; /* TTY to use if tty gets closed */
- __u8 escape; /* 0x20 if prev char was PPP_ESC */
- __u8 toss; /* toss this frame */
- volatile __u8 tty_pushing; /* internal state flag */
- volatile __u8 woke_up; /* internal state flag */
- __u32 xmit_async_map[8]; /* 1 bit means that given control
- character is quoted on output*/
- __u32 recv_async_map; /* 1 bit means that given control
- character is ignored on input*/
- __u32 bytes_sent; /* Bytes sent on frame */
- __u32 bytes_rcvd; /* Bytes recvd on frame */
-
- /* Async transmission information */
- struct sk_buff *tpkt; /* frame currently being sent */
- int tpkt_pos; /* how much of it we've done */
- __u16 tfcs; /* FCS so far for it */
- unsigned char *optr; /* where we're up to in sending */
- unsigned char *olim; /* points past last valid char */
-
- /* Async reception information */
- struct sk_buff *rpkt; /* frame currently being rcvd */
- __u16 rfcs; /* FCS so far of rpkt */
-
- /* Queues for select() functionality */
- struct wait_queue *read_wait; /* queue for reading processes */
-
- /* info for detecting idle channels */
- unsigned long last_xmit; /* time of last transmission */
- unsigned long last_recv; /* time last packet received */
-
- /* Statistic information */
- struct pppstat stats; /* statistic information */
-
- /* PPP compression protocol information */
- struct compressor *sc_xcomp; /* transmit compressor */
- void *sc_xc_state; /* transmit compressor state */
- struct compressor *sc_rcomp; /* receive decompressor */
- void *sc_rc_state; /* receive decompressor state */
-
- enum NPmode sc_npmode[NUM_NP]; /* what to do with each NP */
- int sc_xfer; /* PID of reserved PPP table */
- char name[8]; /* space for unit name */
- struct device dev; /* net device structure */
- struct enet_statistics estats; /* more detailed stats */
-
- /* tty output buffer */
- unsigned char obuf[OBUFSIZE]; /* buffer for characters to send */
-};
-
-#define PPP_MAGIC 0x5002
-#define PPP_VERSION "2.3.11"
diff --git a/mdk-stage1/ppp/include/linux/ppp-comp.h b/mdk-stage1/ppp/include/linux/ppp-comp.h
deleted file mode 100644
index 3184d0731..000000000
--- a/mdk-stage1/ppp/include/linux/ppp-comp.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * ==FILEVERSION 980319==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * ppp-comp.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new ppp-comp.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a compressor (transmit side) */
- void *(*comp_alloc) (unsigned char *options, int opt_len);
-
- /* Free space used by a compressor */
- void (*comp_free) (void *state);
-
- /* Initialize a compressor */
- int (*comp_init) (void *state, unsigned char *options,
- int opt_len, int unit, int opthdr, int debug);
-
- /* Reset a compressor */
- void (*comp_reset) (void *state);
-
- /* Compress a packet */
- int (*compress) (void *state, unsigned char *rptr,
- unsigned char *obuf, int isize, int osize);
-
- /* Return compression statistics */
- void (*comp_stat) (void *state, struct compstat *stats);
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) (unsigned char *options, int opt_len);
-
- /* Free space used by a decompressor */
- void (*decomp_free) (void *state);
-
- /* Initialize a decompressor */
- int (*decomp_init) (void *state, unsigned char *options,
- int opt_len, int unit, int opthdr, int mru,
- int debug);
-
- /* Reset a decompressor */
- void (*decomp_reset) (void *state);
-
- /* Decompress a packet. */
- int (*decompress) (void *state, unsigned char *ibuf, int isize,
- unsigned char *obuf, int osize);
-
- /* Update state for an incompressible packet received */
- void (*incomp) (void *state, unsigned char *ibuf, int icnt);
-
- /* Return decompression statistics */
- void (*decomp_stat) (void *state, struct compstat *stats);
-};
-
-/*
- * The return value from decompress routine is the length of the
- * decompressed packet if successful, otherwise DECOMP_ERROR
- * or DECOMP_FATALERROR if an error occurred.
- *
- * We need to make this distinction so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-
-#define DECOMP_ERROR -1 /* error detected before decomp. */
-#define DECOMP_FATALERROR -2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#ifdef __KERNEL__
-extern int ppp_register_compressor(struct compressor *);
-extern void ppp_unregister_compressor(struct compressor *);
-#endif /* __KERNEL__ */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/linux/ppp_defs.h b/mdk-stage1/ppp/include/linux/ppp_defs.h
deleted file mode 100644
index 46946fbdc..000000000
--- a/mdk-stage1/ppp/include/linux/ppp_defs.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* $Id$ */
-
-/*
- * ppp_defs.h - PPP definitions.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-/*
- * ==FILEVERSION 20000114==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
- * ppp_defs.h is shipped with a PPP distribution as well as with the kernel;
- * if everyone increases the FILEVERSION number above, then scripts
- * can do the right thing when deciding whether to install a new ppp_defs.h
- * file. Don't change the format of that line otherwise, so the
- * installation script can recognize it.
- */
-
-#ifndef _PPP_DEFS_H_
-#define _PPP_DEFS_H_
-
-/*
- * The basic PPP frame.
- */
-#define PPP_HDRLEN 4 /* octets for standard ppp header */
-#define PPP_FCSLEN 2 /* octets for FCS */
-#define PPP_MRU 1500 /* default MRU = max length of info field */
-
-#define PPP_ADDRESS(p) (((__u8 *)(p))[0])
-#define PPP_CONTROL(p) (((__u8 *)(p))[1])
-#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3])
-
-/*
- * Significant octet values.
- */
-#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
-#define PPP_UI 0x03 /* Unnumbered Information */
-#define PPP_FLAG 0x7e /* Flag Sequence */
-#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
-#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
-
-/*
- * Protocol field values.
- */
-#define PPP_IP 0x21 /* Internet Protocol */
-#define PPP_AT 0x29 /* AppleTalk Protocol */
-#define PPP_IPX 0x2b /* IPX protocol */
-#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
-#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
-#define PPP_MP 0x3d /* Multilink protocol */
-#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
-#define PPP_COMPFRAG 0xfb /* fragment compressed below bundle */
-#define PPP_COMP 0xfd /* compressed packet */
-#define PPP_IPCP 0x8021 /* IP Control Protocol */
-#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
-#define PPP_IPXCP 0x802b /* IPX Control Protocol */
-#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
-#define PPP_CCPFRAG 0x80fb /* CCP at link level (below MP bundle) */
-#define PPP_CCP 0x80fd /* Compression Control Protocol */
-#define PPP_LCP 0xc021 /* Link Control Protocol */
-#define PPP_PAP 0xc023 /* Password Authentication Protocol */
-#define PPP_LQR 0xc025 /* Link Quality Report protocol */
-#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
-#define PPP_CBCP 0xc029 /* Callback Control Protocol */
-
-/*
- * Values for FCS calculations.
- */
-
-#define PPP_INITFCS 0xffff /* Initial FCS value */
-#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
-#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
-
-/*
- * Extended asyncmap - allows any character to be escaped.
- */
-
-typedef __u32 ext_accm[8];
-
-/*
- * What to do with network protocol (NP) packets.
- */
-enum NPmode {
- NPMODE_PASS, /* pass the packet through */
- NPMODE_DROP, /* silently drop the packet */
- NPMODE_ERROR, /* return an error */
- NPMODE_QUEUE /* save it up for later. */
-};
-
-/*
- * Statistics for LQRP and pppstats
- */
-struct pppstat {
- __u32 ppp_discards; /* # frames discarded */
-
- __u32 ppp_ibytes; /* bytes received */
- __u32 ppp_ioctects; /* bytes received not in error */
- __u32 ppp_ipackets; /* packets received */
- __u32 ppp_ierrors; /* receive errors */
- __u32 ppp_ilqrs; /* # LQR frames received */
-
- __u32 ppp_obytes; /* raw bytes sent */
- __u32 ppp_ooctects; /* frame bytes sent */
- __u32 ppp_opackets; /* packets sent */
- __u32 ppp_oerrors; /* transmit errors */
- __u32 ppp_olqrs; /* # LQR frames sent */
-};
-
-struct vjstat {
- __u32 vjs_packets; /* outbound packets */
- __u32 vjs_compressed; /* outbound compressed packets */
- __u32 vjs_searches; /* searches for connection state */
- __u32 vjs_misses; /* times couldn't find conn. state */
- __u32 vjs_uncompressedin; /* inbound uncompressed packets */
- __u32 vjs_compressedin; /* inbound compressed packets */
- __u32 vjs_errorin; /* inbound unknown type packets */
- __u32 vjs_tossed; /* inbound packets tossed because of error */
-};
-
-struct compstat {
- __u32 unc_bytes; /* total uncompressed bytes */
- __u32 unc_packets; /* total uncompressed packets */
- __u32 comp_bytes; /* compressed bytes */
- __u32 comp_packets; /* compressed packets */
- __u32 inc_bytes; /* incompressible bytes */
- __u32 inc_packets; /* incompressible packets */
-
- /* the compression ratio is defined as in_count / bytes_out */
- __u32 in_count; /* Bytes received */
- __u32 bytes_out; /* Bytes transmitted */
-
- double ratio; /* not computed in kernel. */
-};
-
-struct ppp_stats {
- struct pppstat p; /* basic PPP statistics */
- struct vjstat vj; /* VJ header compression statistics */
-};
-
-struct ppp_comp_stats {
- struct compstat c; /* packet compression statistics */
- struct compstat d; /* packet decompression statistics */
-};
-
-/*
- * The following structure records the time in seconds since
- * the last NP packet was sent or received.
- */
-struct ppp_idle {
- time_t xmit_idle; /* time since last NP packet sent */
- time_t recv_idle; /* time since last NP packet received */
-};
-
-#ifndef __P
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-#endif
-
-#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/if_ppp.h b/mdk-stage1/ppp/include/net/if_ppp.h
deleted file mode 100644
index 1527ecf3f..000000000
--- a/mdk-stage1/ppp/include/net/if_ppp.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ */
-
-/*
- * if_ppp.h - Point-to-Point Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _IF_PPP_H_
-#define _IF_PPP_H_
-
-/*
- * Bit definitions for flags.
- */
-#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
-#define SC_COMP_AC 0x00000002 /* header compression (output) */
-#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
-#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
-#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
-#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
-#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
-#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
-#define SC_DEBUG 0x00010000 /* enable debug messages */
-#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
-#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
-#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
-#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
-#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
-#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
-#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
-#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
-#define SC_SYNC 0x00200000 /* use synchronous HDLC framing */
-#define SC_MASK 0x0fff00ff /* bits that user can change */
-
-/*
- * State bits in sc_flags, not changeable by user.
- */
-#define SC_TIMEOUT 0x00000400 /* timeout is currently pending */
-#define SC_VJ_RESET 0x00000800 /* need to reset VJ decomp */
-#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
-#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
-#define SC_DC_ERROR 0x00004000 /* non-fatal decomp error detected */
-#define SC_DC_FERROR 0x00008000 /* fatal decomp error detected */
-#define SC_TBUSY 0x10000000 /* xmitter doesn't need a packet yet */
-#define SC_PKTLOST 0x20000000 /* have lost or dropped a packet */
-#define SC_FLUSH 0x40000000 /* flush input until next PPP_FLAG */
-#define SC_ESCAPED 0x80000000 /* saw a PPP_ESCAPE */
-
-/*
- * Ioctl definitions.
- */
-
-struct npioctl {
- int protocol; /* PPP procotol, e.g. PPP_IP */
- enum NPmode mode;
-};
-
-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
-struct ppp_option_data {
- u_char *ptr;
- u_int length;
- int transmit;
-};
-
-struct ifpppstatsreq {
- char ifr_name[IFNAMSIZ];
- struct ppp_stats stats;
-};
-
-struct ifpppcstatsreq {
- char ifr_name[IFNAMSIZ];
- struct ppp_comp_stats stats;
-};
-
-/*
- * Ioctl definitions.
- */
-
-#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
-#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
-#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
-#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
-#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
-#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
-#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
-#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
-#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
-#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
-#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
-#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
-#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
-#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
-#define PPPIOCGIDLE _IOR('t', 74, struct ppp_idle) /* get idle time */
-#ifdef PPP_FILTER
-#define PPPIOCSPASS _IOW('t', 71, struct bpf_program) /* set pass filter */
-#define PPPIOCSACTIVE _IOW('t', 70, struct bpf_program) /* set active filt */
-#endif /* PPP_FILTER */
-
-/* PPPIOC[GS]MTU are alternatives to SIOC[GS]IFMTU, used under Ultrix */
-#define PPPIOCGMTU _IOR('t', 73, int) /* get interface MTU */
-#define PPPIOCSMTU _IOW('t', 72, int) /* set interface MTU */
-
-/*
- * These two are interface ioctls so that pppstats can do them on
- * a socket without having to open the serial device.
- */
-#define SIOCGPPPSTATS _IOWR('i', 123, struct ifpppstatsreq)
-#define SIOCGPPPCSTATS _IOWR('i', 122, struct ifpppcstatsreq)
-
-#if !defined(ifr_mtu)
-#define ifr_mtu ifr_ifru.ifru_metric
-#endif
-
-#if (defined(_KERNEL) || defined(KERNEL)) && !defined(NeXT)
-void pppattach __P((void));
-void pppintr __P((void));
-#endif
-#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/net/ppp-comp.h b/mdk-stage1/ppp/include/net/ppp-comp.h
deleted file mode 100644
index 0e6a9c672..000000000
--- a/mdk-stage1/ppp/include/net/ppp-comp.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-#ifdef PACKETPTR
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a compressor (transmit side) */
- void *(*comp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a compressor */
- void (*comp_free) __P((void *state));
- /* Initialize a compressor */
- int (*comp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
- /* Reset a compressor */
- void (*comp_reset) __P((void *state));
- /* Compress a packet */
- int (*compress) __P((void *state, PACKETPTR *mret,
- PACKETPTR mp, int orig_len, int max_len));
- /* Return compression statistics */
- void (*comp_stat) __P((void *state, struct compstat *stats));
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a decompressor */
- void (*decomp_free) __P((void *state));
- /* Initialize a decompressor */
- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
- /* Reset a decompressor */
- void (*decomp_reset) __P((void *state));
- /* Decompress a packet. */
- int (*decompress) __P((void *state, PACKETPTR mp,
- PACKETPTR *dmpp));
- /* Update state for an incompressible packet received */
- void (*incomp) __P((void *state, PACKETPTR mp));
- /* Return decompression statistics */
- void (*decomp_stat) __P((void *state, struct compstat *stats));
-};
-#endif /* PACKETPTR */
-
-/*
- * Return values for decompress routine.
- * We need to make these distinctions so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-#define DECOMP_OK 0 /* everything went OK */
-#define DECOMP_ERROR 1 /* error detected before decomp. */
-#define DECOMP_FATALERROR 2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/net/ppp_defs.h b/mdk-stage1/ppp/include/net/ppp_defs.h
deleted file mode 100644
index 46bef52bb..000000000
--- a/mdk-stage1/ppp/include/net/ppp_defs.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* $Id$ */
-
-/*
- * ppp_defs.h - PPP definitions.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#ifndef _PPP_DEFS_H_
-#define _PPP_DEFS_H_
-
-/*
- * The basic PPP frame.
- */
-#define PPP_HDRLEN 4 /* octets for standard ppp header */
-#define PPP_FCSLEN 2 /* octets for FCS */
-
-/*
- * Packet sizes
- *
- * Note - lcp shouldn't be allowed to negotiate stuff outside these
- * limits. See lcp.h in the pppd directory.
- * (XXX - these constants should simply be shared by lcp.c instead
- * of living in lcp.h)
- */
-#define PPP_MTU 1500 /* Default MTU (size of Info field) */
-#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN)
-#define PPP_MINMTU 64
-#define PPP_MRU 1500 /* default MRU = max length of info field */
-#define PPP_MAXMRU 65000 /* Largest MRU we allow */
-#define PPP_MINMRU 128
-
-#define PPP_ADDRESS(p) (((u_char *)(p))[0])
-#define PPP_CONTROL(p) (((u_char *)(p))[1])
-#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])
-
-/*
- * Significant octet values.
- */
-#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
-#define PPP_UI 0x03 /* Unnumbered Information */
-#define PPP_FLAG 0x7e /* Flag Sequence */
-#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
-#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
-
-/*
- * Protocol field values.
- */
-#define PPP_IP 0x21 /* Internet Protocol */
-#define PPP_AT 0x29 /* AppleTalk Protocol */
-#define PPP_IPX 0x2b /* IPX protocol */
-#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
-#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
-#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
-#define PPP_COMP 0xfd /* compressed packet */
-#define PPP_IPCP 0x8021 /* IP Control Protocol */
-#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
-#define PPP_IPXCP 0x802b /* IPX Control Protocol */
-#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
-#define PPP_CCP 0x80fd /* Compression Control Protocol */
-#define PPP_LCP 0xc021 /* Link Control Protocol */
-#define PPP_PAP 0xc023 /* Password Authentication Protocol */
-#define PPP_LQR 0xc025 /* Link Quality Report protocol */
-#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
-#define PPP_CBCP 0xc029 /* Callback Control Protocol */
-
-/*
- * Values for FCS calculations.
- */
-#define PPP_INITFCS 0xffff /* Initial FCS value */
-#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
-#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
-
-/*
- * A 32-bit unsigned integral type.
- */
-
-#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \
- && !defined(__FreeBSD__) && (NS_TARGET < 40) && !defined(__dietlibc__)
-#ifdef UINT32_T
-typedef UINT32_T u_int32_t;
-#else
-typedef unsigned int u_int32_t;
-typedef unsigned short u_int16_t;
-#endif
-#endif
-
-/*
- * Extended asyncmap - allows any character to be escaped.
- */
-typedef u_int32_t ext_accm[8];
-
-/*
- * What to do with network protocol (NP) packets.
- */
-enum NPmode {
- NPMODE_PASS, /* pass the packet through */
- NPMODE_DROP, /* silently drop the packet */
- NPMODE_ERROR, /* return an error */
- NPMODE_QUEUE /* save it up for later. */
-};
-
-/*
- * Statistics.
- */
-struct pppstat {
- unsigned int ppp_ibytes; /* bytes received */
- unsigned int ppp_ipackets; /* packets received */
- unsigned int ppp_ierrors; /* receive errors */
- unsigned int ppp_obytes; /* bytes sent */
- unsigned int ppp_opackets; /* packets sent */
- unsigned int ppp_oerrors; /* transmit errors */
-};
-
-struct vjstat {
- unsigned int vjs_packets; /* outbound packets */
- unsigned int vjs_compressed; /* outbound compressed packets */
- unsigned int vjs_searches; /* searches for connection state */
- unsigned int vjs_misses; /* times couldn't find conn. state */
- unsigned int vjs_uncompressedin; /* inbound uncompressed packets */
- unsigned int vjs_compressedin; /* inbound compressed packets */
- unsigned int vjs_errorin; /* inbound unknown type packets */
- unsigned int vjs_tossed; /* inbound packets tossed because of error */
-};
-
-struct ppp_stats {
- struct pppstat p; /* basic PPP statistics */
- struct vjstat vj; /* VJ header compression statistics */
-};
-
-struct compstat {
- unsigned int unc_bytes; /* total uncompressed bytes */
- unsigned int unc_packets; /* total uncompressed packets */
- unsigned int comp_bytes; /* compressed bytes */
- unsigned int comp_packets; /* compressed packets */
- unsigned int inc_bytes; /* incompressible bytes */
- unsigned int inc_packets; /* incompressible packets */
- unsigned int ratio; /* recent compression ratio << 8 */
-};
-
-struct ppp_comp_stats {
- struct compstat c; /* packet compression statistics */
- struct compstat d; /* packet decompression statistics */
-};
-
-/*
- * The following structure records the time in seconds since
- * the last NP packet was sent or received.
- */
-struct ppp_idle {
- time_t xmit_idle; /* time since last NP packet sent */
- time_t recv_idle; /* time since last NP packet received */
-};
-
-#ifndef __P
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-#endif
-
-#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/pppio.h b/mdk-stage1/ppp/include/net/pppio.h
deleted file mode 100644
index 9db1ca9ab..000000000
--- a/mdk-stage1/ppp/include/net/pppio.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * pppio.h - ioctl and other misc. definitions for STREAMS modules.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#define _PPPIO(n) (('p' << 8) + (n))
-
-#define PPPIO_NEWPPA _PPPIO(130) /* allocate a new PPP unit */
-#define PPPIO_GETSTAT _PPPIO(131) /* get PPP statistics */
-#define PPPIO_GETCSTAT _PPPIO(132) /* get PPP compression stats */
-#define PPPIO_MTU _PPPIO(133) /* set max transmission unit */
-#define PPPIO_MRU _PPPIO(134) /* set max receive unit */
-#define PPPIO_CFLAGS _PPPIO(135) /* set/clear/get compression flags */
-#define PPPIO_XCOMP _PPPIO(136) /* alloc transmit compressor */
-#define PPPIO_RCOMP _PPPIO(137) /* alloc receive decompressor */
-#define PPPIO_XACCM _PPPIO(138) /* set transmit asyncmap */
-#define PPPIO_RACCM _PPPIO(139) /* set receive asyncmap */
-#define PPPIO_VJINIT _PPPIO(140) /* initialize VJ comp/decomp */
-#define PPPIO_ATTACH _PPPIO(141) /* attach to a ppa (without putmsg) */
-#define PPPIO_LASTMOD _PPPIO(142) /* mark last ppp module */
-#define PPPIO_GCLEAN _PPPIO(143) /* get 8-bit-clean flags */
-#define PPPIO_DEBUG _PPPIO(144) /* request debug information */
-#define PPPIO_BIND _PPPIO(145) /* bind to SAP */
-#define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */
-#define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */
-#define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */
-#define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */
-
-/*
- * Values for PPPIO_CFLAGS
- */
-#define COMP_AC 0x1 /* compress address/control */
-#define DECOMP_AC 0x2 /* decompress address/control */
-#define COMP_PROT 0x4 /* compress PPP protocol */
-#define DECOMP_PROT 0x8 /* decompress PPP protocol */
-
-#define COMP_VJC 0x10 /* compress TCP/IP headers */
-#define COMP_VJCCID 0x20 /* compress connection ID as well */
-#define DECOMP_VJC 0x40 /* decompress TCP/IP headers */
-#define DECOMP_VJCCID 0x80 /* accept compressed connection ID */
-
-#define CCP_ISOPEN 0x100 /* look at CCP packets */
-#define CCP_ISUP 0x200 /* do packet comp/decomp */
-#define CCP_ERROR 0x400 /* (status) error in packet decomp */
-#define CCP_FATALERROR 0x800 /* (status) fatal error ditto */
-#define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */
-#define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */
-
-/*
- * Values for 8-bit-clean flags.
- */
-#define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */
-#define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */
-#define RCV_EVNP 4 /* have rcvd char with even parity */
-#define RCV_ODDP 8 /* have rcvd char with odd parity */
-
-/*
- * Values for the first byte of M_CTL messages passed between
- * PPP modules.
- */
-#define PPPCTL_OERROR 0xe0 /* output error [up] */
-#define PPPCTL_IERROR 0xe1 /* input error (e.g. FCS) [up] */
-#define PPPCTL_MTU 0xe2 /* set MTU [down] */
-#define PPPCTL_MRU 0xe3 /* set MRU [down] */
-#define PPPCTL_UNIT 0xe4 /* note PPP unit number [down] */
-
-/*
- * Values for the integer argument to PPPIO_DEBUG.
- */
-#define PPPDBG_DUMP 0x10000 /* print out debug info now */
-#define PPPDBG_LOG 0x100 /* log various things */
-#define PPPDBG_DRIVER 0 /* identifies ppp driver as target */
-#define PPPDBG_IF 1 /* identifies ppp network i/f target */
-#define PPPDBG_COMP 2 /* identifies ppp compression target */
-#define PPPDBG_AHDLC 3 /* identifies ppp async hdlc target */
diff --git a/mdk-stage1/ppp/include/net/slcompress.h b/mdk-stage1/ppp/include/net/slcompress.h
deleted file mode 100644
index 9e19bc0ed..000000000
--- a/mdk-stage1/ppp/include/net/slcompress.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Definitions for tcp compression routines.
- *
- * $Id$
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- */
-
-#ifndef _SLCOMPRESS_H_
-#define _SLCOMPRESS_H_
-
-#define MAX_STATES 16 /* must be > 2 and < 256 */
-#define MAX_HDR MLEN /* XXX 4bsd-ism: should really be 128 */
-
-/*
- * Compressed packet format:
- *
- * The first octet contains the packet type (top 3 bits), TCP
- * 'push' bit, and flags that indicate which of the 4 TCP sequence
- * numbers have changed (bottom 5 bits). The next octet is a
- * conversation number that associates a saved IP/TCP header with
- * the compressed packet. The next two octets are the TCP checksum
- * from the original datagram. The next 0 to 15 octets are
- * sequence number changes, one change per bit set in the header
- * (there may be no changes and there are two special cases where
- * the receiver implicitly knows what changed -- see below).
- *
- * There are 5 numbers which can change (they are always inserted
- * in the following order): TCP urgent pointer, window,
- * acknowlegement, sequence number and IP ID. (The urgent pointer
- * is different from the others in that its value is sent, not the
- * change in value.) Since typical use of SLIP links is biased
- * toward small packets (see comments on MTU/MSS below), changes
- * use a variable length coding with one octet for numbers in the
- * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
- * range 256 - 65535 or 0. (If the change in sequence number or
- * ack is more than 65535, an uncompressed packet is sent.)
- */
-
-/*
- * Packet types (must not conflict with IP protocol version)
- *
- * The top nibble of the first octet is the packet type. There are
- * three possible types: IP (not proto TCP or tcp with one of the
- * control flags set); uncompressed TCP (a normal IP/TCP packet but
- * with the 8-bit protocol field replaced by an 8-bit connection id --
- * this type of packet syncs the sender & receiver); and compressed
- * TCP (described above).
- *
- * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
- * is logically part of the 4-bit "changes" field that follows. Top
- * three bits are actual packet type. For backward compatibility
- * and in the interest of conserving bits, numbers are chosen so the
- * IP protocol version number (4) which normally appears in this nibble
- * means "IP packet".
- */
-
-/* packet types */
-#define TYPE_IP 0x40
-#define TYPE_UNCOMPRESSED_TCP 0x70
-#define TYPE_COMPRESSED_TCP 0x80
-#define TYPE_ERROR 0x00
-
-/* Bits in first octet of compressed packet */
-#define NEW_C 0x40 /* flag bits for what changed in a packet */
-#define NEW_I 0x20
-#define NEW_S 0x08
-#define NEW_A 0x04
-#define NEW_W 0x02
-#define NEW_U 0x01
-
-/* reserved, special-case values of above */
-#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
-#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
-#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
-
-#define TCP_PUSH_BIT 0x10
-
-
-/*
- * "state" data for each active tcp conversation on the wire. This is
- * basically a copy of the entire IP/TCP header from the last packet
- * we saw from the conversation together with a small identifier
- * the transmit & receive ends of the line use to locate saved header.
- */
-struct cstate {
- struct cstate *cs_next; /* next most recently used cstate (xmit only) */
- u_short cs_hlen; /* size of hdr (receive only) */
- u_char cs_id; /* connection # associated with this state */
- u_char cs_filler;
- union {
- char csu_hdr[MAX_HDR];
- struct ip csu_ip; /* ip/tcp hdr from most recent packet */
- } slcs_u;
-};
-#define cs_ip slcs_u.csu_ip
-#define cs_hdr slcs_u.csu_hdr
-
-/*
- * all the state data for one serial line (we need one of these
- * per line).
- */
-struct slcompress {
- struct cstate *last_cs; /* most recently used tstate */
- u_char last_recv; /* last rcvd conn. id */
- u_char last_xmit; /* last sent conn. id */
- u_short flags;
-#ifndef SL_NO_STATS
- int sls_packets; /* outbound packets */
- int sls_compressed; /* outbound compressed packets */
- int sls_searches; /* searches for connection state */
- int sls_misses; /* times couldn't find conn. state */
- int sls_uncompressedin; /* inbound uncompressed packets */
- int sls_compressedin; /* inbound compressed packets */
- int sls_errorin; /* inbound unknown type packets */
- int sls_tossed; /* inbound packets tossed because of error */
-#endif
- struct cstate tstate[MAX_STATES]; /* xmit connection states */
- struct cstate rstate[MAX_STATES]; /* receive connection states */
-};
-/* flag values */
-#define SLF_TOSS 1 /* tossing rcvd frames because of input err */
-
-void sl_compress_init __P((struct slcompress *));
-void sl_compress_setup __P((struct slcompress *, int));
-u_int sl_compress_tcp __P((struct mbuf *,
- struct ip *, struct slcompress *, int));
-int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
-int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
- struct slcompress *, u_char **, u_int *));
-
-#endif /* _SLCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/net/vjcompress.h b/mdk-stage1/ppp/include/net/vjcompress.h
deleted file mode 100644
index c64596926..000000000
--- a/mdk-stage1/ppp/include/net/vjcompress.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Definitions for tcp compression routines.
- *
- * $Id$
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- */
-
-#ifndef _VJCOMPRESS_H_
-#define _VJCOMPRESS_H_
-
-#define MAX_STATES 16 /* must be > 2 and < 256 */
-#define MAX_HDR 128
-
-/*
- * Compressed packet format:
- *
- * The first octet contains the packet type (top 3 bits), TCP
- * 'push' bit, and flags that indicate which of the 4 TCP sequence
- * numbers have changed (bottom 5 bits). The next octet is a
- * conversation number that associates a saved IP/TCP header with
- * the compressed packet. The next two octets are the TCP checksum
- * from the original datagram. The next 0 to 15 octets are
- * sequence number changes, one change per bit set in the header
- * (there may be no changes and there are two special cases where
- * the receiver implicitly knows what changed -- see below).
- *
- * There are 5 numbers which can change (they are always inserted
- * in the following order): TCP urgent pointer, window,
- * acknowlegement, sequence number and IP ID. (The urgent pointer
- * is different from the others in that its value is sent, not the
- * change in value.) Since typical use of SLIP links is biased
- * toward small packets (see comments on MTU/MSS below), changes
- * use a variable length coding with one octet for numbers in the
- * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
- * range 256 - 65535 or 0. (If the change in sequence number or
- * ack is more than 65535, an uncompressed packet is sent.)
- */
-
-/*
- * Packet types (must not conflict with IP protocol version)
- *
- * The top nibble of the first octet is the packet type. There are
- * three possible types: IP (not proto TCP or tcp with one of the
- * control flags set); uncompressed TCP (a normal IP/TCP packet but
- * with the 8-bit protocol field replaced by an 8-bit connection id --
- * this type of packet syncs the sender & receiver); and compressed
- * TCP (described above).
- *
- * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
- * is logically part of the 4-bit "changes" field that follows. Top
- * three bits are actual packet type. For backward compatibility
- * and in the interest of conserving bits, numbers are chosen so the
- * IP protocol version number (4) which normally appears in this nibble
- * means "IP packet".
- */
-
-/* packet types */
-#define TYPE_IP 0x40
-#define TYPE_UNCOMPRESSED_TCP 0x70
-#define TYPE_COMPRESSED_TCP 0x80
-#define TYPE_ERROR 0x00
-
-/* Bits in first octet of compressed packet */
-#define NEW_C 0x40 /* flag bits for what changed in a packet */
-#define NEW_I 0x20
-#define NEW_S 0x08
-#define NEW_A 0x04
-#define NEW_W 0x02
-#define NEW_U 0x01
-
-/* reserved, special-case values of above */
-#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
-#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
-#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
-
-#define TCP_PUSH_BIT 0x10
-
-
-/*
- * "state" data for each active tcp conversation on the wire. This is
- * basically a copy of the entire IP/TCP header from the last packet
- * we saw from the conversation together with a small identifier
- * the transmit & receive ends of the line use to locate saved header.
- */
-struct cstate {
- struct cstate *cs_next; /* next most recently used state (xmit only) */
- u_short cs_hlen; /* size of hdr (receive only) */
- u_char cs_id; /* connection # associated with this state */
- u_char cs_filler;
- union {
- char csu_hdr[MAX_HDR];
- struct ip csu_ip; /* ip/tcp hdr from most recent packet */
- } vjcs_u;
-};
-#define cs_ip vjcs_u.csu_ip
-#define cs_hdr vjcs_u.csu_hdr
-
-/*
- * all the state data for one serial line (we need one of these per line).
- */
-struct vjcompress {
- struct cstate *last_cs; /* most recently used tstate */
- u_char last_recv; /* last rcvd conn. id */
- u_char last_xmit; /* last sent conn. id */
- u_short flags;
-#ifndef VJ_NO_STATS
- struct vjstat stats;
-#endif
- struct cstate tstate[MAX_STATES]; /* xmit connection states */
- struct cstate rstate[MAX_STATES]; /* receive connection states */
-};
-
-/* flag values */
-#define VJF_TOSS 1 /* tossing rcvd frames because of input err */
-
-extern void vj_compress_init __P((struct vjcompress *comp, int max_state));
-extern u_int vj_compress_tcp __P((struct ip *ip, u_int mlen,
- struct vjcompress *comp, int compress_cid_flag,
- u_char **vjhdrp));
-extern void vj_uncompress_err __P((struct vjcompress *comp));
-extern int vj_uncompress_uncomp __P((u_char *buf, int buflen,
- struct vjcompress *comp));
-extern int vj_uncompress_tcp __P((u_char *buf, int buflen, int total_len,
- struct vjcompress *comp, u_char **hdrp,
- u_int *hlenp));
-
-#endif /* _VJCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/pcap-int.h b/mdk-stage1/ppp/include/pcap-int.h
deleted file mode 100644
index 323994929..000000000
--- a/mdk-stage1/ppp/include/pcap-int.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1994, 1995, 1996
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
- * 4. Neither the name of the University nor of the Laboratory may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#) $Header$ (LBL)
- */
-
-#ifndef pcap_int_h
-#define pcap_int_h
-
-#include <pcap.h>
-
-/*
- * Savefile
- */
-struct pcap_sf {
- FILE *rfile;
- int swapped;
- int version_major;
- int version_minor;
- u_char *base;
-};
-
-struct pcap_md {
- struct pcap_stat stat;
- /*XXX*/
- int use_bpf;
- u_long TotPkts; /* can't oflow for 79 hrs on ether */
- u_long TotAccepted; /* count accepted by filter */
- u_long TotDrops; /* count of dropped packets */
- long TotMissed; /* missed by i/f during this run */
- long OrigMissed; /* missed by i/f before this run */
-#ifdef linux
- int pad;
- int skip;
- char *device;
-#endif
-};
-
-struct pcap {
- int fd;
- int snapshot;
- int linktype;
- int tzoff; /* timezone offset */
- int offset; /* offset for proper alignment */
-
- struct pcap_sf sf;
- struct pcap_md md;
-
- /*
- * Read buffer.
- */
- int bufsize;
- u_char *buffer;
- u_char *bp;
- int cc;
-
- /*
- * Place holder for pcap_next().
- */
- u_char *pkt;
-
-
- /*
- * Placeholder for filter code if bpf not in kernel.
- */
- struct bpf_program fcode;
-
- char errbuf[PCAP_ERRBUF_SIZE];
-};
-
-int yylex(void);
-
-#ifndef min
-#define min(a, b) ((a) > (b) ? (b) : (a))
-#endif
-
-/* XXX should these be in pcap.h? */
-int pcap_offline_read(pcap_t *, int, pcap_handler, u_char *);
-int pcap_read(pcap_t *, int cnt, pcap_handler, u_char *);
-
-/* Ultrix pads to make everything line up on a nice boundary */
-#if defined(ultrix) || defined(__alpha)
-#define PCAP_FDDIPAD 3
-#endif
-
-/* XXX */
-extern int pcap_fddipad;
-#endif
diff --git a/mdk-stage1/ppp/linux/Makefile.top b/mdk-stage1/ppp/linux/Makefile.top
deleted file mode 100644
index fa34ce59f..000000000
--- a/mdk-stage1/ppp/linux/Makefile.top
+++ /dev/null
@@ -1,55 +0,0 @@
-# PPP top-level Makefile for Linux.
-
-
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-ETCDIR = $(DESTDIR)/etc/ppp
-
-# uid 0 = root
-INSTALL= install
-
-all:
- cd chat; $(MAKE) $(MFLAGS) all
- cd pppd; $(MAKE) $(MFLAGS) all
- cd pppstats; $(MAKE) $(MFLAGS) all
- cd pppdump; $(MAKE) $(MFLAGS) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppd; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppstats; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
- cd pppdump; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- $(INSTALL) -c -m 644 etc.ppp/options $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
-
-$(BINDIR):
- $(INSTALL) -d -m 755 $@
-$(MANDIR)/man8:
- $(INSTALL) -d -m 755 $@
-$(ETCDIR):
- $(INSTALL) -d -m 755 $@
-
-clean:
- rm -f `find . -name '*.[oas]' -print`
- rm -f `find . -name 'core' -print`
- rm -f `find . -name '*~' -print`
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
-
-dist-clean: clean
- rm -f Makefile `find . -name Makefile -print`
-
-#kernel:
-# cd linux; ./kinstall.sh
diff --git a/mdk-stage1/ppp/modules/bsd-comp.c b/mdk-stage1/ppp/modules/bsd-comp.c
deleted file mode 100644
index b1b9325c7..000000000
--- a/mdk-stage1/ppp/modules/bsd-comp.c
+++ /dev/null
@@ -1,1116 +0,0 @@
-/* Because this code is derived from the 4.3BSD compress source:
- *
- *
- * Copyright (c) 1985, 1986 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * James A. Woods, derived from original work by Spencer Thomas
- * and Joseph Orost.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * This version is for use with STREAMS under SunOS 4.x,
- * Digital UNIX, AIX 4.x, and SVR4 systems including Solaris 2.
- *
- * $Id$
- */
-
-#ifdef AIX4
-#include <net/net_globals.h>
-#endif
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stream.h>
-#include <net/ppp_defs.h>
-#include "ppp_mod.h"
-
-#ifdef SVR4
-#include <sys/byteorder.h>
-#ifndef _BIG_ENDIAN
-#define BSD_LITTLE_ENDIAN
-#endif
-#endif
-
-#ifdef __osf__
-#undef FIRST
-#undef LAST
-#define BSD_LITTLE_ENDIAN
-#endif
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-#if DO_BSD_COMPRESS
-
-/*
- * PPP "BSD compress" compression
- * The differences between this compression and the classic BSD LZW
- * source are obvious from the requirement that the classic code worked
- * with files while this handles arbitrarily long streams that
- * are broken into packets. They are:
- *
- * When the code size expands, a block of junk is not emitted by
- * the compressor and not expected by the decompressor.
- *
- * New codes are not necessarily assigned every time an old
- * code is output by the compressor. This is because a packet
- * end forces a code to be emitted, but does not imply that a
- * new sequence has been seen.
- *
- * The compression ratio is checked at the first end of a packet
- * after the appropriate gap. Besides simplifying and speeding
- * things up, this makes it more likely that the transmitter
- * and receiver will agree when the dictionary is cleared when
- * compression is not going well.
- */
-
-/*
- * A dictionary for doing BSD compress.
- */
-struct bsd_db {
- int totlen; /* length of this structure */
- u_int hsize; /* size of the hash table */
- u_char hshift; /* used in hash function */
- u_char n_bits; /* current bits/code */
- u_char maxbits;
- u_char debug;
- u_char unit;
- u_short seqno; /* sequence number of next packet */
- u_int hdrlen; /* header length to preallocate */
- u_int mru;
- u_int maxmaxcode; /* largest valid code */
- u_int max_ent; /* largest code in use */
- u_int in_count; /* uncompressed bytes, aged */
- u_int bytes_out; /* compressed bytes, aged */
- u_int ratio; /* recent compression ratio */
- u_int checkpoint; /* when to next check the ratio */
- u_int clear_count; /* times dictionary cleared */
- u_int incomp_count; /* incompressible packets */
- u_int incomp_bytes; /* incompressible bytes */
- u_int uncomp_count; /* uncompressed packets */
- u_int uncomp_bytes; /* uncompressed bytes */
- u_int comp_count; /* compressed packets */
- u_int comp_bytes; /* compressed bytes */
- u_short *lens; /* array of lengths of codes */
- struct bsd_dict {
- union { /* hash value */
- u_int32_t fcode;
- struct {
-#ifdef BSD_LITTLE_ENDIAN
- u_short prefix; /* preceding code */
- u_char suffix; /* last character of new code */
- u_char pad;
-#else
- u_char pad;
- u_char suffix; /* last character of new code */
- u_short prefix; /* preceding code */
-#endif
- } hs;
- } f;
- u_short codem1; /* output of hash table -1 */
- u_short cptr; /* map code to hash table entry */
- } dict[1];
-};
-
-#define BSD_OVHD 2 /* BSD compress overhead/packet */
-#define BSD_INIT_BITS BSD_MIN_BITS
-
-static void *bsd_comp_alloc __P((u_char *options, int opt_len));
-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
-static void bsd_free __P((void *state));
-static int bsd_comp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static int bsd_compress __P((void *state, mblk_t **mret,
- mblk_t *mp, int slen, int maxolen));
-static void bsd_incomp __P((void *state, mblk_t *dmsg));
-static int bsd_decompress __P((void *state, mblk_t *cmp, mblk_t **dmpp));
-static void bsd_reset __P((void *state));
-static void bsd_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to ppp_comp.c.
- */
-struct compressor ppp_bsd_compress = {
- CI_BSD_COMPRESS, /* compress_proto */
- bsd_comp_alloc, /* comp_alloc */
- bsd_free, /* comp_free */
- bsd_comp_init, /* comp_init */
- bsd_reset, /* comp_reset */
- bsd_compress, /* compress */
- bsd_comp_stats, /* comp_stat */
- bsd_decomp_alloc, /* decomp_alloc */
- bsd_free, /* decomp_free */
- bsd_decomp_init, /* decomp_init */
- bsd_reset, /* decomp_reset */
- bsd_decompress, /* decompress */
- bsd_incomp, /* incomp */
- bsd_comp_stats, /* decomp_stat */
-};
-
-/*
- * the next two codes should not be changed lightly, as they must not
- * lie within the contiguous general code space.
- */
-#define CLEAR 256 /* table clear output code */
-#define FIRST 257 /* first free entry */
-#define LAST 255
-
-#define MAXCODE(b) ((1 << (b)) - 1)
-#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
-
-#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
- ^ (u_int32_t)(prefix))
-#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
- + (u_int32_t)(prefix))
-
-#define CHECK_GAP 10000 /* Ratio check interval */
-
-#define RATIO_SCALE_LOG 8
-#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
-#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
-
-#define DECOMP_CHUNK 256
-
-/*
- * clear the dictionary
- */
-static void
-bsd_clear(db)
- struct bsd_db *db;
-{
- db->clear_count++;
- db->max_ent = FIRST-1;
- db->n_bits = BSD_INIT_BITS;
- db->ratio = 0;
- db->bytes_out = 0;
- db->in_count = 0;
- db->checkpoint = CHECK_GAP;
-}
-
-/*
- * If the dictionary is full, then see if it is time to reset it.
- *
- * Compute the compression ratio using fixed-point arithmetic
- * with 8 fractional bits.
- *
- * Since we have an infinite stream instead of a single file,
- * watch only the local compression ratio.
- *
- * Since both peers must reset the dictionary at the same time even in
- * the absence of CLEAR codes (while packets are incompressible), they
- * must compute the same ratio.
- */
-static int /* 1=output CLEAR */
-bsd_check(db)
- struct bsd_db *db;
-{
- u_int new_ratio;
-
- if (db->in_count >= db->checkpoint) {
- /* age the ratio by limiting the size of the counts */
- if (db->in_count >= RATIO_MAX
- || db->bytes_out >= RATIO_MAX) {
- db->in_count -= db->in_count/4;
- db->bytes_out -= db->bytes_out/4;
- }
-
- db->checkpoint = db->in_count + CHECK_GAP;
-
- if (db->max_ent >= db->maxmaxcode) {
- /* Reset the dictionary only if the ratio is worse,
- * or if it looks as if it has been poisoned
- * by incompressible data.
- *
- * This does not overflow, because
- * db->in_count <= RATIO_MAX.
- */
- new_ratio = db->in_count << RATIO_SCALE_LOG;
- if (db->bytes_out != 0)
- new_ratio /= db->bytes_out;
-
- if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
- bsd_clear(db);
- return 1;
- }
- db->ratio = new_ratio;
- }
- }
- return 0;
-}
-
-/*
- * Return statistics.
- */
-static void
-bsd_comp_stats(state, stats)
- void *state;
- struct compstat *stats;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int out;
-
- stats->unc_bytes = db->uncomp_bytes;
- stats->unc_packets = db->uncomp_count;
- stats->comp_bytes = db->comp_bytes;
- stats->comp_packets = db->comp_count;
- stats->inc_bytes = db->incomp_bytes;
- stats->inc_packets = db->incomp_count;
- stats->ratio = db->in_count;
- out = db->bytes_out;
- if (stats->ratio <= 0x7fffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Reset state, as on a CCP ResetReq.
- */
-static void
-bsd_reset(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- db->seqno = 0;
- bsd_clear(db);
- db->clear_count = 0;
-}
-
-/*
- * Allocate space for a (de) compressor.
- */
-static void *
-bsd_alloc(options, opt_len, decomp)
- u_char *options;
- int opt_len, decomp;
-{
- int bits;
- u_int newlen, hsize, hshift, maxmaxcode;
- struct bsd_db *db;
-
- if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
- return NULL;
-
- bits = BSD_NBITS(options[2]);
- switch (bits) {
- case 9: /* needs 82152 for both directions */
- case 10: /* needs 84144 */
- case 11: /* needs 88240 */
- case 12: /* needs 96432 */
- hsize = 5003;
- hshift = 4;
- break;
- case 13: /* needs 176784 */
- hsize = 9001;
- hshift = 5;
- break;
- case 14: /* needs 353744 */
- hsize = 18013;
- hshift = 6;
- break;
- case 15: /* needs 691440 */
- hsize = 35023;
- hshift = 7;
- break;
- case 16: /* needs 1366160--far too much, */
- /* hsize = 69001; */ /* and 69001 is too big for cptr */
- /* hshift = 8; */ /* in struct bsd_db */
- /* break; */
- default:
- return NULL;
- }
-
- maxmaxcode = MAXCODE(bits);
- newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
-#ifdef __osf__
- db = (struct bsd_db *) ALLOC_SLEEP(newlen);
-#else
- db = (struct bsd_db *) ALLOC_NOSLEEP(newlen);
-#endif
- if (!db)
- return NULL;
- bzero(db, sizeof(*db) - sizeof(db->dict));
-
- if (!decomp) {
- db->lens = NULL;
- } else {
-#ifdef __osf__
- db->lens = (u_short *) ALLOC_SLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
-#else
- db->lens = (u_short *) ALLOC_NOSLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
-#endif
- if (!db->lens) {
- FREE(db, newlen);
- return NULL;
- }
- }
-
- db->totlen = newlen;
- db->hsize = hsize;
- db->hshift = hshift;
- db->maxmaxcode = maxmaxcode;
- db->maxbits = bits;
-
- return (void *) db;
-}
-
-static void
-bsd_free(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- if (db->lens)
- FREE(db->lens, (db->maxmaxcode+1) * sizeof(db->lens[0]));
- FREE(db, db->totlen);
-}
-
-static void *
-bsd_comp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 0);
-}
-
-static void *
-bsd_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 1);
-}
-
-/*
- * Initialize the database.
- */
-static int
-bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
- struct bsd_db *db;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug, decomp;
-{
- int i;
-
- if (opt_len < CILEN_BSD_COMPRESS
- || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
- || BSD_NBITS(options[2]) != db->maxbits
- || decomp && db->lens == NULL)
- return 0;
-
- if (decomp) {
- i = LAST+1;
- while (i != 0)
- db->lens[--i] = 1;
- }
- i = db->hsize;
- while (i != 0) {
- db->dict[--i].codem1 = BADCODEM1;
- db->dict[i].cptr = 0;
- }
-
- db->unit = unit;
- db->hdrlen = hdrlen;
- db->mru = mru;
- if (debug)
- db->debug = 1;
-
- bsd_reset(db);
-
- return 1;
-}
-
-static int
-bsd_comp_init(state, options, opt_len, unit, hdrlen, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, 0, debug, 0);
-}
-
-static int
-bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, mru, debug, 1);
-}
-
-
-/*
- * compress a packet
- * One change from the BSD compress command is that when the
- * code size expands, we do not output a bunch of padding.
- *
- * N.B. at present, we ignore the hdrlen specified in the comp_init call.
- */
-static int /* new slen */
-bsd_compress(state, mretp, mp, slen, maxolen)
- void *state;
- mblk_t **mretp; /* return compressed mbuf chain here */
- mblk_t *mp; /* from here */
- int slen; /* uncompressed length */
- int maxolen; /* max compressed length */
-{
- struct bsd_db *db = (struct bsd_db *) state;
- int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- u_int bitno = 32;
- u_int32_t accm = 0, fcode;
- struct bsd_dict *dictp;
- u_char c;
- int hval, disp, ent, ilen;
- mblk_t *np, *mret;
- u_char *rptr, *wptr;
- u_char *cp_end;
- int olen;
- mblk_t *m, **mnp;
-
-#define PUTBYTE(v) { \
- if (wptr) { \
- *wptr++ = (v); \
- if (wptr >= cp_end) { \
- m->b_wptr = wptr; \
- m = m->b_cont; \
- if (m) { \
- wptr = m->b_wptr; \
- cp_end = m->b_datap->db_lim; \
- } else \
- wptr = NULL; \
- } \
- } \
- ++olen; \
-}
-
-#define OUTPUT(ent) { \
- bitno -= n_bits; \
- accm |= ((ent) << bitno); \
- do { \
- PUTBYTE(accm >> 24); \
- accm <<= 8; \
- bitno += 8; \
- } while (bitno <= 24); \
-}
-
- /*
- * First get the protocol and check that we're
- * interested in this packet.
- */
- *mretp = NULL;
- rptr = mp->b_rptr;
- if (rptr + PPP_HDRLEN > mp->b_wptr) {
- if (!pullupmsg(mp, PPP_HDRLEN))
- return 0;
- rptr = mp->b_rptr;
- }
- ent = PPP_PROTOCOL(rptr); /* get the protocol */
- if (ent < 0x21 || ent > 0xf9)
- return 0;
-
- /* Don't generate compressed packets which are larger than
- the uncompressed packet. */
- if (maxolen > slen)
- maxolen = slen;
-
- /* Allocate enough message blocks to give maxolen total space. */
- mnp = &mret;
- for (olen = maxolen; olen > 0; ) {
- m = allocb((olen < 4096? olen: 4096), BPRI_MED);
- *mnp = m;
- if (m == NULL) {
- if (mret != NULL) {
- freemsg(mret);
- mnp = &mret;
- }
- break;
- }
- mnp = &m->b_cont;
- olen -= m->b_datap->db_lim - m->b_wptr;
- }
- *mnp = NULL;
-
- if ((m = mret) != NULL) {
- wptr = m->b_wptr;
- cp_end = m->b_datap->db_lim;
- } else
- wptr = cp_end = NULL;
- olen = 0;
-
- /*
- * Copy the PPP header over, changing the protocol,
- * and install the 2-byte sequence number.
- */
- if (wptr) {
- wptr[0] = PPP_ADDRESS(rptr);
- wptr[1] = PPP_CONTROL(rptr);
- wptr[2] = 0; /* change the protocol */
- wptr[3] = PPP_COMP;
- wptr[4] = db->seqno >> 8;
- wptr[5] = db->seqno;
- wptr += PPP_HDRLEN + BSD_OVHD;
- }
- ++db->seqno;
- rptr += PPP_HDRLEN;
-
- slen = mp->b_wptr - rptr;
- ilen = slen + 1;
- np = mp->b_cont;
- for (;;) {
- if (slen <= 0) {
- if (!np)
- break;
- rptr = np->b_rptr;
- slen = np->b_wptr - rptr;
- np = np->b_cont;
- if (!slen)
- continue; /* handle 0-length buffers */
- ilen += slen;
- }
-
- slen--;
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* Validate and then check the entry. */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1 + 1; /* finally found (prefix,suffix) */
- continue;
-
- nomatch:
- OUTPUT(ent); /* output the prefix */
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate old hash table entry using
- * this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- }
- ent = c;
- }
-
- OUTPUT(ent); /* output the last code */
- db->bytes_out += olen;
- db->in_count += ilen;
- if (bitno < 32)
- ++db->bytes_out; /* count complete bytes */
-
- if (bsd_check(db))
- OUTPUT(CLEAR); /* do not count the CLEAR */
-
- /*
- * Pad dribble bits of last code with ones.
- * Do not emit a completely useless byte of ones.
- */
- if (bitno != 32)
- PUTBYTE((accm | (0xff << (bitno-8))) >> 24);
-
- /*
- * Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-
- db->uncomp_bytes += ilen;
- ++db->uncomp_count;
- if (olen + PPP_HDRLEN + BSD_OVHD > maxolen && mret != NULL) {
- /* throw away the compressed stuff if it is longer than uncompressed */
- freemsg(mret);
- mret = NULL;
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- } else if (wptr != NULL) {
- m->b_wptr = wptr;
- if (m->b_cont) {
- freemsg(m->b_cont);
- m->b_cont = NULL;
- }
- ++db->comp_count;
- db->comp_bytes += olen + BSD_OVHD;
- }
-
- *mretp = mret;
- return olen + PPP_HDRLEN + BSD_OVHD;
-#undef OUTPUT
-#undef PUTBYTE
-}
-
-
-/*
- * Update the "BSD Compress" dictionary on the receiver for
- * incompressible data by pretending to compress the incoming data.
- */
-static void
-bsd_incomp(state, dmsg)
- void *state;
- mblk_t *dmsg;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- struct bsd_dict *dictp;
- u_int32_t fcode;
- u_char c;
- long hval, disp;
- int slen, ilen;
- u_int bitno = 7;
- u_char *rptr;
- u_int ent;
-
- rptr = dmsg->b_rptr;
- if (rptr + PPP_HDRLEN > dmsg->b_wptr) {
- if (!pullupmsg(dmsg, PPP_HDRLEN))
- return;
- rptr = dmsg->b_rptr;
- }
- ent = PPP_PROTOCOL(rptr); /* get the protocol */
- if (ent < 0x21 || ent > 0xf9)
- return;
-
- db->seqno++;
- ilen = 1; /* count the protocol as 1 byte */
- rptr += PPP_HDRLEN;
- for (;;) {
- slen = dmsg->b_wptr - rptr;
- if (slen <= 0) {
- dmsg = dmsg->b_cont;
- if (!dmsg)
- break;
- rptr = dmsg->b_rptr;
- continue; /* skip zero-length buffers */
- }
- ilen += slen;
-
- do {
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* validate and then check the entry */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1+1;
- continue; /* finally found (prefix,suffix) */
-
- nomatch: /* output (count) the prefix */
- bitno += n_bits;
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate previous hash table entry
- * assigned this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[ent]+1;
- }
- ent = c;
- } while (--slen != 0);
- }
- bitno += n_bits; /* output (count) the last code */
- db->bytes_out += bitno/8;
- db->in_count += ilen;
- (void)bsd_check(db);
-
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- ++db->uncomp_count;
- db->uncomp_bytes += ilen;
-
- /* Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-}
-
-
-/*
- * Decompress "BSD Compress"
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-bsd_decompress(state, cmsg, dmpp)
- void *state;
- mblk_t *cmsg, **dmpp;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int max_ent = db->max_ent;
- u_int32_t accm = 0;
- u_int bitno = 32; /* 1st valid bit in accm */
- u_int n_bits = db->n_bits;
- u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
- struct bsd_dict *dictp;
- int explen, i, seq, len;
- u_int incode, oldcode, finchar;
- u_char *p, *rptr, *wptr;
- mblk_t *dmsg, *mret;
- int adrs, ctrl, ilen;
- int dlen, space, codelen, extra;
-
- /*
- * Get at least the BSD Compress header in the first buffer
- */
- rptr = cmsg->b_rptr;
- if (rptr + PPP_HDRLEN + BSD_OVHD >= cmsg->b_wptr) {
- if (!pullupmsg(cmsg, PPP_HDRLEN + BSD_OVHD + 1)) {
- if (db->debug)
- printf("bsd_decomp%d: failed to pullup\n", db->unit);
- return DECOMP_ERROR;
- }
- rptr = cmsg->b_rptr;
- }
-
- /*
- * Save the address/control from the PPP header
- * and then get the sequence number.
- */
- adrs = PPP_ADDRESS(rptr);
- ctrl = PPP_CONTROL(rptr);
- rptr += PPP_HDRLEN;
- seq = (rptr[0] << 8) + rptr[1];
- rptr += BSD_OVHD;
- ilen = len = cmsg->b_wptr - rptr;
-
- /*
- * Check the sequence number and give up if it is not what we expect.
- */
- if (seq != db->seqno++) {
- if (db->debug)
- printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
- db->unit, seq, db->seqno - 1);
- return DECOMP_ERROR;
- }
-
- /*
- * Allocate one message block to start with.
- */
- if ((dmsg = allocb(DECOMP_CHUNK + db->hdrlen, BPRI_MED)) == NULL)
- return DECOMP_ERROR;
- mret = dmsg;
- dmsg->b_wptr += db->hdrlen;
- dmsg->b_rptr = wptr = dmsg->b_wptr;
-
- /* Fill in the ppp header, but not the last byte of the protocol
- (that comes from the decompressed data). */
- wptr[0] = adrs;
- wptr[1] = ctrl;
- wptr[2] = 0;
- wptr += PPP_HDRLEN - 1;
- space = dmsg->b_datap->db_lim - wptr;
-
- oldcode = CLEAR;
- explen = 0;
- for (;;) {
- if (len == 0) {
- cmsg = cmsg->b_cont;
- if (!cmsg) /* quit at end of message */
- break;
- rptr = cmsg->b_rptr;
- len = cmsg->b_wptr - rptr;
- ilen += len;
- continue; /* handle 0-length buffers */
- }
-
- /*
- * Accumulate bytes until we have a complete code.
- * Then get the next code, relying on the 32-bit,
- * unsigned accm to mask the result.
- */
- bitno -= 8;
- accm |= *rptr++ << bitno;
- --len;
- if (tgtbitno < bitno)
- continue;
- incode = accm >> tgtbitno;
- accm <<= n_bits;
- bitno += n_bits;
-
- if (incode == CLEAR) {
- /*
- * The dictionary must only be cleared at
- * the end of a packet. But there could be an
- * empty message block at the end.
- */
- if (len > 0 || cmsg->b_cont != 0) {
- if (cmsg->b_cont)
- len += msgdsize(cmsg->b_cont);
- if (len > 0) {
- freemsg(dmsg);
- if (db->debug)
- printf("bsd_decomp%d: bad CLEAR\n", db->unit);
- return DECOMP_FATALERROR;
- }
- }
- bsd_clear(db);
- explen = ilen = 0;
- break;
- }
-
- if (incode > max_ent + 2 || incode > db->maxmaxcode
- || incode > max_ent && oldcode == CLEAR) {
- freemsg(dmsg);
- if (db->debug) {
- printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
- db->unit, incode, oldcode);
- printf("max_ent=0x%x dlen=%d seqno=%d\n",
- max_ent, dlen, db->seqno);
- }
- return DECOMP_FATALERROR; /* probably a bug */
- }
-
- /* Special case for KwKwK string. */
- if (incode > max_ent) {
- finchar = oldcode;
- extra = 1;
- } else {
- finchar = incode;
- extra = 0;
- }
-
- codelen = db->lens[finchar];
- explen += codelen + extra;
- if (explen > db->mru + 1) {
- freemsg(dmsg);
- if (db->debug)
- printf("bsd_decomp%d: ran out of mru\n", db->unit);
- return DECOMP_FATALERROR;
- }
-
- /*
- * Decode this code and install it in the decompressed buffer.
- */
- space -= codelen + extra;
- if (space < 0) {
- /* Allocate another message block. */
- dmsg->b_wptr = wptr;
- dlen = codelen + extra;
- if (dlen < DECOMP_CHUNK)
- dlen = DECOMP_CHUNK;
- if ((dmsg->b_cont = allocb(dlen, BPRI_MED)) == NULL) {
- freemsg(dmsg);
- return DECOMP_ERROR;
- }
- dmsg = dmsg->b_cont;
- wptr = dmsg->b_wptr;
- space = dmsg->b_datap->db_lim - wptr - codelen - extra;
- }
- p = (wptr += codelen);
- while (finchar > LAST) {
- dictp = &db->dict[db->dict[finchar].cptr];
-#ifdef DEBUG
- --codelen;
- if (codelen <= 0) {
- freemsg(dmsg);
- printf("bsd_decomp%d: fell off end of chain ", db->unit);
- printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
- incode, finchar, db->dict[finchar].cptr, max_ent);
- return DECOMP_FATALERROR;
- }
- if (dictp->codem1 != finchar-1) {
- freemsg(dmsg);
- printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
- db->unit, incode, finchar);
- printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
- db->dict[finchar].cptr, dictp->codem1);
- return DECOMP_FATALERROR;
- }
-#endif
- *--p = dictp->f.hs.suffix;
- finchar = dictp->f.hs.prefix;
- }
- *--p = finchar;
-
-#ifdef DEBUG
- if (--codelen != 0)
- printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
- db->unit, codelen, incode, max_ent);
-#endif
-
- if (extra) /* the KwKwK case again */
- *wptr++ = finchar;
-
- /*
- * If not first code in a packet, and
- * if not out of code space, then allocate a new code.
- *
- * Keep the hash table correct so it can be used
- * with uncompressed packets.
- */
- if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- u_int32_t fcode;
- int hval, disp;
-
- fcode = BSD_KEY(oldcode,finchar);
- hval = BSD_HASH(oldcode,finchar,db->hshift);
- dictp = &db->dict[hval];
-
- /* look for a free hash table entry */
- if (dictp->codem1 < max_ent) {
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- } while (dictp->codem1 < max_ent);
- }
-
- /*
- * Invalidate previous hash table entry
- * assigned this code, and then take it over
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent) {
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- }
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[oldcode]+1;
-
- /* Expand code size if needed. */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
- db->n_bits = ++n_bits;
- tgtbitno = 32-n_bits;
- }
- }
- oldcode = incode;
- }
- dmsg->b_wptr = wptr;
-
- /*
- * Keep the checkpoint right so that incompressible packets
- * clear the dictionary at the right times.
- */
- db->bytes_out += ilen;
- db->in_count += explen;
- if (bsd_check(db) && db->debug) {
- printf("bsd_decomp%d: peer should have cleared dictionary\n",
- db->unit);
- }
-
- ++db->comp_count;
- db->comp_bytes += ilen + BSD_OVHD;
- ++db->uncomp_count;
- db->uncomp_bytes += explen;
-
- *dmpp = mret;
- return DECOMP_OK;
-}
-#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/modules/deflate.c b/mdk-stage1/ppp/modules/deflate.c
deleted file mode 100644
index 1b9054412..000000000
--- a/mdk-stage1/ppp/modules/deflate.c
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
- * ppp_deflate.c - interface the zlib procedures for Deflate compression
- * and decompression (as used by gzip) to the PPP code.
- * This version is for use with STREAMS under SunOS 4.x, Solaris 2,
- * SVR4, OSF/1 and AIX 4.x.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifdef AIX4
-#include <net/net_globals.h>
-#endif
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stream.h>
-#include <net/ppp_defs.h>
-#include "ppp_mod.h"
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-#ifdef __osf__
-#include "zlib.h"
-#else
-#include "../common/zlib.h"
-#endif
-
-#if DO_DEFLATE
-
-#define DEFLATE_DEBUG 1
-
-/*
- * State for a Deflate (de)compressor.
- */
-struct deflate_state {
- int seqno;
- int w_size;
- int unit;
- int hdrlen;
- int mru;
- int debug;
- z_stream strm;
- struct compstat stats;
-};
-
-#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
-
-static void *z_alloc __P((void *, u_int items, u_int size));
-static void *z_alloc_init __P((void *, u_int items, u_int size));
-static void z_free __P((void *, void *ptr));
-static void *z_comp_alloc __P((u_char *options, int opt_len));
-static void *z_decomp_alloc __P((u_char *options, int opt_len));
-static void z_comp_free __P((void *state));
-static void z_decomp_free __P((void *state));
-static int z_comp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int debug));
-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static int z_compress __P((void *state, mblk_t **mret,
- mblk_t *mp, int slen, int maxolen));
-static void z_incomp __P((void *state, mblk_t *dmsg));
-static int z_decompress __P((void *state, mblk_t *cmp,
- mblk_t **dmpp));
-static void z_comp_reset __P((void *state));
-static void z_decomp_reset __P((void *state));
-static void z_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to ppp_comp.c.
- */
-struct compressor ppp_deflate = {
- CI_DEFLATE, /* compress_proto */
- z_comp_alloc, /* comp_alloc */
- z_comp_free, /* comp_free */
- z_comp_init, /* comp_init */
- z_comp_reset, /* comp_reset */
- z_compress, /* compress */
- z_comp_stats, /* comp_stat */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-struct compressor ppp_deflate_draft = {
- CI_DEFLATE_DRAFT, /* compress_proto */
- z_comp_alloc, /* comp_alloc */
- z_comp_free, /* comp_free */
- z_comp_init, /* comp_init */
- z_comp_reset, /* comp_reset */
- z_compress, /* compress */
- z_comp_stats, /* comp_stat */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-#define DECOMP_CHUNK 512
-
-/*
- * Space allocation and freeing routines for use by zlib routines.
- */
-struct zchunk {
- u_int size;
- u_int guard;
-};
-
-#define GUARD_MAGIC 0x77a6011a
-
-static void *
-z_alloc_init(notused, items, size)
- void *notused;
- u_int items, size;
-{
- struct zchunk *z;
-
- size = items * size + sizeof(struct zchunk);
-#ifdef __osf__
- z = (struct zchunk *) ALLOC_SLEEP(size);
-#else
- z = (struct zchunk *) ALLOC_NOSLEEP(size);
-#endif
- z->size = size;
- z->guard = GUARD_MAGIC;
- return (void *) (z + 1);
-}
-
-static void *
-z_alloc(notused, items, size)
- void *notused;
- u_int items, size;
-{
- struct zchunk *z;
-
- size = items * size + sizeof(struct zchunk);
- z = (struct zchunk *) ALLOC_NOSLEEP(size);
- z->size = size;
- z->guard = GUARD_MAGIC;
- return (void *) (z + 1);
-}
-
-static void
-z_free(notused, ptr)
- void *notused;
- void *ptr;
-{
- struct zchunk *z = ((struct zchunk *) ptr) - 1;
-
- if (z->guard != GUARD_MAGIC) {
- printf("ppp: z_free of corrupted chunk at %x (%x, %x)\n",
- z, z->size, z->guard);
- return;
- }
- FREE(z, z->size);
-}
-
-/*
- * Allocate space for a compressor.
- */
-static void *
-z_comp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- /*
- * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
- * 8 will cause kernel crashes because of a bug in zlib.
- */
- if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
-
-#ifdef __osf__
- state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
-#else
- state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
-#endif
-
- if (state == NULL)
- return NULL;
-
- state->strm.next_in = NULL;
- state->strm.zalloc = (alloc_func) z_alloc_init;
- state->strm.zfree = (free_func) z_free;
- if (deflateInit2(&state->strm, Z_DEFAULT_COMPRESSION, DEFLATE_METHOD_VAL,
- -w_size, 8, Z_DEFAULT_STRATEGY) != Z_OK) {
- FREE(state, sizeof(*state));
- return NULL;
- }
-
- state->strm.zalloc = (alloc_func) z_alloc;
- state->w_size = w_size;
- bzero(&state->stats, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_comp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- deflateEnd(&state->strm);
- FREE(state, sizeof(*state));
-}
-
-static int
-z_comp_init(arg, options, opt_len, unit, hdrlen, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
-
- deflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_comp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- deflateReset(&state->strm);
-}
-
-static int
-z_compress(arg, mret, mp, orig_len, maxolen)
- void *arg;
- mblk_t **mret; /* compressed packet (out) */
- mblk_t *mp; /* uncompressed packet (in) */
- int orig_len, maxolen;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr, *wptr;
- int proto, olen, wspace, r, flush;
- mblk_t *m;
-
- /*
- * Check that the protocol is in the range we handle.
- */
- *mret = NULL;
- rptr = mp->b_rptr;
- if (rptr + PPP_HDRLEN > mp->b_wptr) {
- if (!pullupmsg(mp, PPP_HDRLEN))
- return 0;
- rptr = mp->b_rptr;
- }
- proto = PPP_PROTOCOL(rptr);
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return orig_len;
-
- /* Allocate one mblk initially. */
- if (maxolen > orig_len)
- maxolen = orig_len;
- if (maxolen <= PPP_HDRLEN + 2) {
- wspace = 0;
- m = NULL;
- } else {
- wspace = maxolen + state->hdrlen;
- if (wspace > 4096)
- wspace = 4096;
- m = allocb(wspace, BPRI_MED);
- }
- if (m != NULL) {
- *mret = m;
- if (state->hdrlen + PPP_HDRLEN + 2 < wspace) {
- m->b_rptr += state->hdrlen;
- m->b_wptr = m->b_rptr;
- wspace -= state->hdrlen;
- }
- wptr = m->b_wptr;
-
- /*
- * Copy over the PPP header and store the 2-byte sequence number.
- */
- wptr[0] = PPP_ADDRESS(rptr);
- wptr[1] = PPP_CONTROL(rptr);
- wptr[2] = PPP_COMP >> 8;
- wptr[3] = PPP_COMP;
- wptr += PPP_HDRLEN;
- wptr[0] = state->seqno >> 8;
- wptr[1] = state->seqno;
- wptr += 2;
- state->strm.next_out = wptr;
- state->strm.avail_out = wspace - (PPP_HDRLEN + 2);
- } else {
- state->strm.next_out = NULL;
- state->strm.avail_out = 1000000;
- }
- ++state->seqno;
-
- rptr += (proto > 0xff)? 2: 3; /* skip 1st proto byte if 0 */
- state->strm.next_in = rptr;
- state->strm.avail_in = mp->b_wptr - rptr;
- mp = mp->b_cont;
- flush = (mp == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
- olen = 0;
- for (;;) {
- r = deflate(&state->strm, flush);
- if (r != Z_OK) {
- printf("z_compress: deflate returned %d (%s)\n",
- r, (state->strm.msg? state->strm.msg: ""));
- break;
- }
- if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
- break; /* all done */
- if (state->strm.avail_in == 0 && mp != NULL) {
- state->strm.next_in = mp->b_rptr;
- state->strm.avail_in = mp->b_wptr - mp->b_rptr;
- mp = mp->b_cont;
- if (mp == NULL)
- flush = Z_PACKET_FLUSH;
- }
- if (state->strm.avail_out == 0) {
- if (m != NULL) {
- m->b_wptr += wspace;
- olen += wspace;
- wspace = maxolen - olen;
- if (wspace <= 0) {
- wspace = 0;
- m->b_cont = NULL;
- } else {
- if (wspace < 32)
- wspace = 32;
- else if (wspace > 4096)
- wspace = 4096;
- m->b_cont = allocb(wspace, BPRI_MED);
- }
- m = m->b_cont;
- if (m != NULL) {
- state->strm.next_out = m->b_wptr;
- state->strm.avail_out = wspace;
- }
- }
- if (m == NULL) {
- state->strm.next_out = NULL;
- state->strm.avail_out = 1000000;
- }
- }
- }
- if (m != NULL) {
- m->b_wptr += wspace - state->strm.avail_out;
- olen += wspace - state->strm.avail_out;
- }
-
- /*
- * See if we managed to reduce the size of the packet.
- */
- if (olen < orig_len && m != NULL) {
- state->stats.comp_bytes += olen;
- state->stats.comp_packets++;
- } else {
- if (*mret != NULL) {
- freemsg(*mret);
- *mret = NULL;
- }
- state->stats.inc_bytes += orig_len;
- state->stats.inc_packets++;
- olen = orig_len;
- }
- state->stats.unc_bytes += orig_len;
- state->stats.unc_packets++;
-
- return olen;
-}
-
-static void
-z_comp_stats(arg, stats)
- void *arg;
- struct compstat *stats;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_int out;
-
- *stats = state->stats;
- stats->ratio = stats->unc_bytes;
- out = stats->comp_bytes + stats->unc_bytes;
- if (stats->ratio <= 0x7ffffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Allocate space for a decompressor.
- */
-static void *
-z_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- /*
- * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
- * 8 will cause kernel crashes because of a bug in zlib.
- */
- if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
-#ifdef __osf__
- state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
-#else
- state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
-#endif
- if (state == NULL)
- return NULL;
-
- state->strm.next_out = NULL;
- state->strm.zalloc = (alloc_func) z_alloc_init;
- state->strm.zfree = (free_func) z_free;
- if (inflateInit2(&state->strm, -w_size) != Z_OK) {
- FREE(state, sizeof(*state));
- return NULL;
- }
-
- state->strm.zalloc = (alloc_func) z_alloc;
- state->w_size = w_size;
- bzero(&state->stats, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_decomp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- inflateEnd(&state->strm);
- FREE(state, sizeof(*state));
-}
-
-static int
-z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE
- || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
- state->mru = mru;
-
- inflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_decomp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- inflateReset(&state->strm);
-}
-
-/*
- * Decompress a Deflate-compressed packet.
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-z_decompress(arg, mi, mop)
- void *arg;
- mblk_t *mi, **mop;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- mblk_t *mo, *mo_head;
- u_char *rptr, *wptr;
- int rlen, olen, ospace;
- int seq, i, flush, r, decode_proto;
- u_char hdr[PPP_HDRLEN + DEFLATE_OVHD];
-
- *mop = NULL;
- rptr = mi->b_rptr;
- for (i = 0; i < PPP_HDRLEN + DEFLATE_OVHD; ++i) {
- while (rptr >= mi->b_wptr) {
- mi = mi->b_cont;
- if (mi == NULL)
- return DECOMP_ERROR;
- rptr = mi->b_rptr;
- }
- hdr[i] = *rptr++;
- }
-
- /* Check the sequence number. */
- seq = (hdr[PPP_HDRLEN] << 8) + hdr[PPP_HDRLEN+1];
- if (seq != state->seqno) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: bad seq # %d, expected %d\n",
- state->unit, seq, state->seqno);
- return DECOMP_ERROR;
- }
- ++state->seqno;
-
- /* Allocate an output message block. */
- mo = allocb(DECOMP_CHUNK + state->hdrlen, BPRI_MED);
- if (mo == NULL)
- return DECOMP_ERROR;
- mo_head = mo;
- mo->b_cont = NULL;
- mo->b_rptr += state->hdrlen;
- mo->b_wptr = wptr = mo->b_rptr;
- ospace = DECOMP_CHUNK;
- olen = 0;
-
- /*
- * Fill in the first part of the PPP header. The protocol field
- * comes from the decompressed data.
- */
- wptr[0] = PPP_ADDRESS(hdr);
- wptr[1] = PPP_CONTROL(hdr);
- wptr[2] = 0;
-
- /*
- * Set up to call inflate. We set avail_out to 1 initially so we can
- * look at the first byte of the output and decide whether we have
- * a 1-byte or 2-byte protocol field.
- */
- state->strm.next_in = rptr;
- state->strm.avail_in = mi->b_wptr - rptr;
- mi = mi->b_cont;
- flush = (mi == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
- rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
- state->strm.next_out = wptr + 3;
- state->strm.avail_out = 1;
- decode_proto = 1;
-
- /*
- * Call inflate, supplying more input or output as needed.
- */
- for (;;) {
- r = inflate(&state->strm, flush);
- if (r != Z_OK) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: inflate returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- freemsg(mo_head);
- return DECOMP_FATALERROR;
- }
- if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
- break; /* all done */
- if (state->strm.avail_in == 0 && mi != NULL) {
- state->strm.next_in = mi->b_rptr;
- state->strm.avail_in = mi->b_wptr - mi->b_rptr;
- rlen += state->strm.avail_in;
- mi = mi->b_cont;
- if (mi == NULL)
- flush = Z_PACKET_FLUSH;
- }
- if (state->strm.avail_out == 0) {
- if (decode_proto) {
- state->strm.avail_out = ospace - PPP_HDRLEN;
- if ((wptr[3] & 1) == 0) {
- /* 2-byte protocol field */
- wptr[2] = wptr[3];
- --state->strm.next_out;
- ++state->strm.avail_out;
- }
- decode_proto = 0;
- } else {
- mo->b_wptr += ospace;
- olen += ospace;
- mo->b_cont = allocb(DECOMP_CHUNK, BPRI_MED);
- mo = mo->b_cont;
- if (mo == NULL) {
- freemsg(mo_head);
- return DECOMP_ERROR;
- }
- state->strm.next_out = mo->b_rptr;
- state->strm.avail_out = ospace = DECOMP_CHUNK;
- }
- }
- }
- if (decode_proto) {
- freemsg(mo_head);
- return DECOMP_ERROR;
- }
- mo->b_wptr += ospace - state->strm.avail_out;
- olen += ospace - state->strm.avail_out;
-
-#if DEFLATE_DEBUG
- if (olen > state->mru + PPP_HDRLEN)
- printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
- state->unit, olen, state->mru + PPP_HDRLEN);
-#endif
-
- state->stats.unc_bytes += olen;
- state->stats.unc_packets++;
- state->stats.comp_bytes += rlen;
- state->stats.comp_packets++;
-
- *mop = mo_head;
- return DECOMP_OK;
-}
-
-/*
- * Incompressible data has arrived - add it to the history.
- */
-static void
-z_incomp(arg, mi)
- void *arg;
- mblk_t *mi;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr;
- int rlen, proto, r;
-
- /*
- * Check that the protocol is one we handle.
- */
- rptr = mi->b_rptr;
- if (rptr + PPP_HDRLEN > mi->b_wptr) {
- if (!pullupmsg(mi, PPP_HDRLEN))
- return;
- rptr = mi->b_rptr;
- }
- proto = PPP_PROTOCOL(rptr);
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return;
-
- ++state->seqno;
-
- /*
- * Iterate through the message blocks, adding the characters in them
- * to the decompressor's history. For the first block, we start
- * at the either the 1st or 2nd byte of the protocol field,
- * depending on whether the protocol value is compressible.
- */
- rlen = mi->b_wptr - mi->b_rptr;
- state->strm.next_in = rptr + 3;
- state->strm.avail_in = rlen - 3;
- if (proto > 0xff) {
- --state->strm.next_in;
- ++state->strm.avail_in;
- }
- for (;;) {
- r = inflateIncomp(&state->strm);
- if (r != Z_OK) {
- /* gak! */
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return;
- }
- mi = mi->b_cont;
- if (mi == NULL)
- break;
- state->strm.next_in = mi->b_rptr;
- state->strm.avail_in = mi->b_wptr - mi->b_rptr;
- rlen += state->strm.avail_in;
- }
-
- /*
- * Update stats.
- */
- state->stats.inc_bytes += rlen;
- state->stats.inc_packets++;
- state->stats.unc_bytes += rlen;
- state->stats.unc_packets++;
-}
-
-#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/modules/if_ppp.c b/mdk-stage1/ppp/modules/if_ppp.c
deleted file mode 100644
index 14e89eb4a..000000000
--- a/mdk-stage1/ppp/modules/if_ppp.c
+++ /dev/null
@@ -1,865 +0,0 @@
-/*
- * if_ppp.c - a network interface connected to a STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SunOS 4 and Digital UNIX.
- *
- * This file provides the glue between PPP and IP.
- */
-
-#define INET 1
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <net/netisr.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <net/if_types.h>
-#else
-#include <sys/sockio.h>
-#endif
-#include "ppp_mod.h"
-
-#include <sys/stream.h>
-
-#ifdef SNIT_SUPPORT
-#include <sys/time.h>
-#include <net/nit_if.h>
-#include <netinet/if_ether.h>
-#endif
-
-#ifdef __osf__
-#define SIOCSIFMTU SIOCSIPMTU
-#define SIOCGIFMTU SIOCRIPMTU
-#define IFA_ADDR(ifa) (*(ifa)->ifa_addr)
-#else
-#define IFA_ADDR(ifa) ((ifa)->ifa_addr)
-#endif
-
-#define ifr_mtu ifr_metric
-
-static int if_ppp_open __P((queue_t *, int, int, int));
-static int if_ppp_close __P((queue_t *, int));
-static int if_ppp_wput __P((queue_t *, mblk_t *));
-static int if_ppp_rput __P((queue_t *, mblk_t *));
-
-#define PPP_IF_ID 0x8021
-static struct module_info minfo = {
- PPP_IF_ID, "if_ppp", 0, INFPSZ, 4096, 128
-};
-
-static struct qinit rinit = {
- if_ppp_rput, NULL, if_ppp_open, if_ppp_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- if_ppp_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-struct streamtab if_pppinfo = {
- &rinit, &winit, NULL, NULL
-};
-
-typedef struct if_ppp_state {
- int unit;
- queue_t *q;
- int flags;
-} if_ppp_t;
-
-/* Values for flags */
-#define DBGLOG 1
-
-static int if_ppp_count; /* Number of currently-active streams */
-
-static int ppp_nalloc; /* Number of elements of ifs and states */
-static struct ifnet **ifs; /* Array of pointers to interface structs */
-static if_ppp_t **states; /* Array of pointers to state structs */
-
-static int if_ppp_output __P((struct ifnet *, struct mbuf *,
- struct sockaddr *));
-static int if_ppp_ioctl __P((struct ifnet *, u_int, caddr_t));
-static struct mbuf *make_mbufs __P((mblk_t *, int));
-static mblk_t *make_message __P((struct mbuf *, int));
-
-#ifdef SNIT_SUPPORT
-/* Fake ether header for SNIT */
-static struct ether_header snit_ehdr = {{0}, {0}, ETHERTYPE_IP};
-#endif
-
-#ifndef __osf__
-static void ppp_if_detach __P((struct ifnet *));
-
-/*
- * Detach all the interfaces before unloading.
- * Not sure this works.
- */
-int
-if_ppp_unload()
-{
- int i;
-
- if (if_ppp_count > 0)
- return EBUSY;
- for (i = 0; i < ppp_nalloc; ++i)
- if (ifs[i] != 0)
- ppp_if_detach(ifs[i]);
- if (ifs) {
- FREE(ifs, ppp_nalloc * sizeof (struct ifnet *));
- FREE(states, ppp_nalloc * sizeof (struct if_ppp_t *));
- }
- ppp_nalloc = 0;
- return 0;
-}
-#endif /* __osf__ */
-
-/*
- * STREAMS module entry points.
- */
-static int
-if_ppp_open(q, dev, flag, sflag)
- queue_t *q;
- int dev;
- int flag, sflag;
-{
- if_ppp_t *sp;
-
- if (q->q_ptr == 0) {
- sp = (if_ppp_t *) ALLOC_SLEEP(sizeof (if_ppp_t));
- if (sp == 0)
- return OPENFAIL;
- bzero(sp, sizeof (if_ppp_t));
- q->q_ptr = (caddr_t) sp;
- WR(q)->q_ptr = (caddr_t) sp;
- sp->unit = -1; /* no interface unit attached at present */
- sp->q = WR(q);
- sp->flags = 0;
- ++if_ppp_count;
- }
- return 0;
-}
-
-static int
-if_ppp_close(q, flag)
- queue_t *q;
- int flag;
-{
- if_ppp_t *sp;
- struct ifnet *ifp;
-
- sp = (if_ppp_t *) q->q_ptr;
- if (sp != 0) {
- if (sp->flags & DBGLOG)
- printf("if_ppp closed, q=%x sp=%x\n", q, sp);
- if (sp->unit >= 0) {
- if (sp->unit < ppp_nalloc) {
- states[sp->unit] = 0;
- ifp = ifs[sp->unit];
- if (ifp != 0)
- ifp->if_flags &= ~(IFF_UP | IFF_RUNNING);
-#ifdef DEBUG
- } else {
- printf("if_ppp: unit %d nonexistent!\n", sp->unit);
-#endif
- }
- }
- FREE(sp, sizeof (if_ppp_t));
- --if_ppp_count;
- }
- return 0;
-}
-
-static int
-if_ppp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- if_ppp_t *sp;
- struct iocblk *iop;
- int error, unit;
- struct ifnet *ifp;
-
- sp = (if_ppp_t *) q->q_ptr;
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * Now why would we be getting data coming in here??
- */
- if (sp->flags & DBGLOG)
- printf("if_ppp: got M_DATA len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
-
- if (sp->flags & DBGLOG)
- printf("if_ppp: got ioctl cmd=%x count=%d\n",
- iop->ioc_cmd, iop->ioc_count);
-
- switch (iop->ioc_cmd) {
- case PPPIO_NEWPPA: /* well almost */
- if (iop->ioc_count != sizeof(int) || sp->unit >= 0)
- break;
- if ((error = NOTSUSER()) != 0)
- break;
- unit = *(int *)mp->b_cont->b_rptr;
-
- /* Check that this unit isn't already in use */
- if (unit < ppp_nalloc && states[unit] != 0) {
- error = EADDRINUSE;
- break;
- }
-
- /* Extend ifs and states arrays if necessary. */
- error = ENOSR;
- if (unit >= ppp_nalloc) {
- int newn;
- struct ifnet **newifs;
- if_ppp_t **newstates;
-
- newn = unit + 4;
- if (sp->flags & DBGLOG)
- printf("if_ppp: extending ifs to %d\n", newn);
- newifs = (struct ifnet **)
- ALLOC_NOSLEEP(newn * sizeof (struct ifnet *));
- if (newifs == 0)
- break;
- bzero(newifs, newn * sizeof (struct ifnet *));
- newstates = (if_ppp_t **)
- ALLOC_NOSLEEP(newn * sizeof (struct if_ppp_t *));
- if (newstates == 0) {
- FREE(newifs, newn * sizeof (struct ifnet *));
- break;
- }
- bzero(newstates, newn * sizeof (struct if_ppp_t *));
- bcopy(ifs, newifs, ppp_nalloc * sizeof(struct ifnet *));
- bcopy(states, newstates, ppp_nalloc * sizeof(if_ppp_t *));
- if (ifs) {
- FREE(ifs, ppp_nalloc * sizeof(struct ifnet *));
- FREE(states, ppp_nalloc * sizeof(if_ppp_t *));
- }
- ifs = newifs;
- states = newstates;
- ppp_nalloc = newn;
- }
-
- /* Allocate a new ifnet struct if necessary. */
- ifp = ifs[unit];
- if (ifp == 0) {
- ifp = (struct ifnet *) ALLOC_NOSLEEP(sizeof (struct ifnet));
- if (ifp == 0)
- break;
- bzero(ifp, sizeof (struct ifnet));
- ifs[unit] = ifp;
- ifp->if_name = "ppp";
- ifp->if_unit = unit;
- ifp->if_mtu = PPP_MTU;
- ifp->if_flags = IFF_POINTOPOINT | IFF_RUNNING;
-#ifndef __osf__
-#ifdef IFF_MULTICAST
- ifp->if_flags |= IFF_MULTICAST;
-#endif
-#endif /* __osf__ */
- ifp->if_output = if_ppp_output;
-#ifdef __osf__
- ifp->if_version = "Point-to-Point Protocol, version 2.3.11";
- ifp->if_mediamtu = PPP_MTU;
- ifp->if_type = IFT_PPP;
- ifp->if_hdrlen = PPP_HDRLEN;
- ifp->if_addrlen = 0;
- ifp->if_flags |= IFF_NOARP | IFF_SIMPLEX | IFF_NOTRAILERS;
-#ifdef IFF_VAR_MTU
- ifp->if_flags |= IFF_VAR_MTU;
-#endif
-#ifdef NETMASTERCPU
- ifp->if_affinity = NETMASTERCPU;
-#endif
-#endif
- ifp->if_ioctl = if_ppp_ioctl;
- ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
- if_attach(ifp);
- if (sp->flags & DBGLOG)
- printf("if_ppp: created unit %d\n", unit);
- } else {
- ifp->if_mtu = PPP_MTU;
- ifp->if_flags |= IFF_RUNNING;
- }
-
- states[unit] = sp;
- sp->unit = unit;
-
- error = 0;
- iop->ioc_count = 0;
- if (sp->flags & DBGLOG)
- printf("if_ppp: attached unit %d, sp=%x q=%x\n", unit,
- sp, sp->q);
- break;
-
- case PPPIO_DEBUG:
- error = -1;
- if (iop->ioc_count == sizeof(int)) {
- if (*(int *)mp->b_cont->b_rptr == PPPDBG_LOG + PPPDBG_IF) {
- printf("if_ppp: debug log enabled, q=%x sp=%x\n", q, sp);
- sp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- }
- }
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (sp->flags & DBGLOG)
- printf("if_ppp: ioctl result %d\n", error);
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-static int
-if_ppp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- if_ppp_t *sp;
- int proto, s;
- struct mbuf *mb;
- struct ifqueue *inq;
- struct ifnet *ifp;
- int len;
-
- sp = (if_ppp_t *) q->q_ptr;
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * Convert the message into an mbuf chain
- * and inject it into the network code.
- */
- if (sp->flags & DBGLOG)
- printf("if_ppp: rput pkt len %d data %x %x %x %x %x %x %x %x\n",
- msgdsize(mp), mp->b_rptr[0], mp->b_rptr[1], mp->b_rptr[2],
- mp->b_rptr[3], mp->b_rptr[4], mp->b_rptr[5], mp->b_rptr[6],
- mp->b_rptr[7]);
-
- if (sp->unit < 0) {
- freemsg(mp);
- break;
- }
- if (sp->unit >= ppp_nalloc || (ifp = ifs[sp->unit]) == 0) {
-#ifdef DEBUG
- printf("if_ppp: no unit %d!\n", sp->unit);
-#endif
- freemsg(mp);
- break;
- }
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- freemsg(mp);
- break;
- }
- ++ifp->if_ipackets;
-
- proto = PPP_PROTOCOL(mp->b_rptr);
- adjmsg(mp, PPP_HDRLEN);
- len = msgdsize(mp);
- mb = make_mbufs(mp, sizeof(struct ifnet *));
- freemsg(mp);
- if (mb == NULL) {
- if (sp->flags & DBGLOG)
- printf("if_ppp%d: make_mbufs failed\n", ifp->if_unit);
- ++ifp->if_ierrors;
- break;
- }
-
-#ifdef SNIT_SUPPORT
- if (proto == PPP_IP && (ifp->if_flags & IFF_PROMISC)) {
- struct nit_if nif;
-
- nif.nif_header = (caddr_t) &snit_ehdr;
- nif.nif_hdrlen = sizeof(snit_ehdr);
- nif.nif_bodylen = len;
- nif.nif_promisc = 0;
- snit_intr(ifp, mb, &nif);
- }
-#endif
-
-/*
- * For Digital UNIX, there's space set aside in the header mbuf
- * for the interface info.
- *
- * For Sun it's smuggled around via a pointer at the front of the mbuf.
- */
-#ifdef __osf__
- mb->m_pkthdr.rcvif = ifp;
- mb->m_pkthdr.len = len;
-#else
- mb->m_off -= sizeof(struct ifnet *);
- mb->m_len += sizeof(struct ifnet *);
- *mtod(mb, struct ifnet **) = ifp;
-#endif
-
- inq = 0;
- switch (proto) {
- case PPP_IP:
- inq = &ipintrq;
- schednetisr(NETISR_IP);
- }
-
- if (inq != 0) {
- s = splhigh();
- if (IF_QFULL(inq)) {
- IF_DROP(inq);
- ++ifp->if_ierrors;
- if (sp->flags & DBGLOG)
- printf("if_ppp: inq full, proto=%x\n", proto);
- m_freem(mb);
- } else {
- IF_ENQUEUE(inq, mb);
- }
- splx(s);
- } else {
- if (sp->flags & DBGLOG)
- printf("if_ppp%d: proto=%x?\n", ifp->if_unit, proto);
- ++ifp->if_ierrors;
- m_freem(mb);
- }
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Network code wants to output a packet.
- * Turn it into a STREAMS message and send it down.
- */
-static int
-if_ppp_output(ifp, m0, dst)
- struct ifnet *ifp;
- struct mbuf *m0;
- struct sockaddr *dst;
-{
- mblk_t *mp;
- int proto, s;
- if_ppp_t *sp;
- u_char *p;
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- m_freem(m0);
- return ENETDOWN;
- }
-
- if ((unsigned)ifp->if_unit >= ppp_nalloc) {
-#ifdef DEBUG
- printf("if_ppp_output: unit %d?\n", ifp->if_unit);
-#endif
- m_freem(m0);
- return EINVAL;
- }
- sp = states[ifp->if_unit];
- if (sp == 0) {
-#ifdef DEBUG
- printf("if_ppp_output: no queue?\n");
-#endif
- m_freem(m0);
- return ENETDOWN;
- }
-
- if (sp->flags & DBGLOG) {
- p = mtod(m0, u_char *);
- printf("if_ppp_output%d: af=%d data=%x %x %x %x %x %x %x %x q=%x\n",
- ifp->if_unit, dst->sa_family, p[0], p[1], p[2], p[3], p[4],
- p[5], p[6], p[7], sp->q);
- }
-
- switch (dst->sa_family) {
- case AF_INET:
- proto = PPP_IP;
-#ifdef SNIT_SUPPORT
- if (ifp->if_flags & IFF_PROMISC) {
- struct nit_if nif;
- struct mbuf *m;
- int len;
-
- for (len = 0, m = m0; m != NULL; m = m->m_next)
- len += m->m_len;
- nif.nif_header = (caddr_t) &snit_ehdr;
- nif.nif_hdrlen = sizeof(snit_ehdr);
- nif.nif_bodylen = len;
- nif.nif_promisc = 0;
- snit_intr(ifp, m0, &nif);
- }
-#endif
- break;
-
- default:
- m_freem(m0);
- return EAFNOSUPPORT;
- }
-
- ++ifp->if_opackets;
- mp = make_message(m0, PPP_HDRLEN);
- m_freem(m0);
- if (mp == 0) {
- ++ifp->if_oerrors;
- return ENOBUFS;
- }
- mp->b_rptr -= PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = proto >> 8;
- mp->b_rptr[3] = proto;
-
- s = splstr();
- if (sp->flags & DBGLOG)
- printf("if_ppp: putnext(%x, %x), r=%x w=%x p=%x\n",
- sp->q, mp, mp->b_rptr, mp->b_wptr, proto);
- putnext(sp->q, mp);
- splx(s);
-
- return 0;
-}
-
-/*
- * Socket ioctl routine for ppp interfaces.
- */
-static int
-if_ppp_ioctl(ifp, cmd, data)
- struct ifnet *ifp;
- u_int cmd;
- caddr_t data;
-{
- int s, error;
- struct ifreq *ifr = (struct ifreq *) data;
- struct ifaddr *ifa = (struct ifaddr *) data;
- u_short mtu;
-
- error = 0;
- s = splimp();
- switch (cmd) {
- case SIOCSIFFLAGS:
- if ((ifp->if_flags & IFF_RUNNING) == 0)
- ifp->if_flags &= ~IFF_UP;
- break;
-
- case SIOCSIFADDR:
- if (IFA_ADDR(ifa).sa_family != AF_INET)
- error = EAFNOSUPPORT;
- break;
-
- case SIOCSIFDSTADDR:
- if (IFA_ADDR(ifa).sa_family != AF_INET)
- error = EAFNOSUPPORT;
- break;
-
- case SIOCSIFMTU:
- if ((error = NOTSUSER()) != 0)
- break;
-#ifdef __osf__
- /* this hack is necessary because ifioctl checks ifr_data
- * in 4.0 and 5.0, but ifr_data and ifr_metric overlay each
- * other in the definition of struct ifreq so pppd can't set both.
- */
- bcopy(ifr->ifr_data, &mtu, sizeof (u_short));
- ifr->ifr_mtu = mtu;
-#endif
-
- if (ifr->ifr_mtu < PPP_MINMTU || ifr->ifr_mtu > PPP_MAXMTU) {
- error = EINVAL;
- break;
- }
- ifp->if_mtu = ifr->ifr_mtu;
- break;
-
- case SIOCGIFMTU:
- ifr->ifr_mtu = ifp->if_mtu;
- break;
-
- case SIOCADDMULTI:
- case SIOCDELMULTI:
- switch(ifr->ifr_addr.sa_family) {
- case AF_INET:
- break;
- default:
- error = EAFNOSUPPORT;
- break;
- }
- break;
-
- default:
- error = EINVAL;
- }
- splx(s);
- return (error);
-}
-
-/*
- * Turn a STREAMS message into an mbuf chain.
- */
-static struct mbuf *
-make_mbufs(mp, off)
- mblk_t *mp;
- int off;
-{
- struct mbuf *head, **prevp, *m;
- int len, space, n;
- unsigned char *cp, *dp;
-
- len = msgdsize(mp);
- if (len == 0)
- return 0;
- prevp = &head;
- space = 0;
- cp = mp->b_rptr;
-#ifdef __osf__
- MGETHDR(m, M_DONTWAIT, MT_DATA);
- m->m_len = 0;
- space = MHLEN;
- *prevp = m;
- prevp = &m->m_next;
- dp = mtod(m, unsigned char *);
- len -= space;
- off = 0;
-#endif
- for (;;) {
- while (cp >= mp->b_wptr) {
- mp = mp->b_cont;
- if (mp == 0) {
- *prevp = 0;
- return head;
- }
- cp = mp->b_rptr;
- }
- n = mp->b_wptr - cp;
- if (space == 0) {
- MGET(m, M_DONTWAIT, MT_DATA);
- *prevp = m;
- if (m == 0) {
- if (head != 0)
- m_freem(head);
- return 0;
- }
- if (len + off > 2 * MLEN) {
-#ifdef __osf__
- MCLGET(m, M_DONTWAIT);
-#else
- MCLGET(m);
-#endif
- }
-#ifdef __osf__
- space = ((m->m_flags & M_EXT) ? MCLBYTES : MLEN);
-#else
- space = (m->m_off > MMAXOFF? MCLBYTES: MLEN) - off;
- m->m_off += off;
-#endif
- m->m_len = 0;
- len -= space;
- dp = mtod(m, unsigned char *);
- off = 0;
- prevp = &m->m_next;
- }
- if (n > space)
- n = space;
- bcopy(cp, dp, n);
- cp += n;
- dp += n;
- space -= n;
- m->m_len += n;
- }
-}
-
-/*
- * Turn an mbuf chain into a STREAMS message.
- */
-#define ALLOCB_MAX 4096
-
-static mblk_t *
-make_message(m, off)
- struct mbuf *m;
- int off;
-{
- mblk_t *head, **prevp, *mp;
- int len, space, n, nb;
- unsigned char *cp, *dp;
- struct mbuf *nm;
-
- len = 0;
- for (nm = m; nm != 0; nm = nm->m_next)
- len += nm->m_len;
- prevp = &head;
- space = 0;
- cp = mtod(m, unsigned char *);
- nb = m->m_len;
- for (;;) {
- while (nb <= 0) {
- m = m->m_next;
- if (m == 0) {
- *prevp = 0;
- return head;
- }
- cp = mtod(m, unsigned char *);
- nb = m->m_len;
- }
- if (space == 0) {
- space = len + off;
- if (space > ALLOCB_MAX)
- space = ALLOCB_MAX;
- mp = allocb(space, BPRI_LO);
- *prevp = mp;
- if (mp == 0) {
- if (head != 0)
- freemsg(head);
- return 0;
- }
- dp = mp->b_rptr += off;
- space -= off;
- len -= space;
- off = 0;
- prevp = &mp->b_cont;
- }
- n = nb < space? nb: space;
- bcopy(cp, dp, n);
- cp += n;
- dp += n;
- nb -= n;
- space -= n;
- mp->b_wptr = dp;
- }
-}
-
-/*
- * Digital UNIX doesn't allow for removing ifnet structures
- * from the list. But then we're not using this as a loadable
- * module anyway, so that's OK.
- *
- * Under SunOS, this should allow the module to be unloaded.
- * Unfortunately, it doesn't seem to detach all the references,
- * so your system may well crash after you unload this module :-(
- */
-#ifndef __osf__
-
-/*
- * Remove an interface from the system.
- * This routine contains magic.
- */
-#include <net/route.h>
-#include <netinet/in_pcb.h>
-#include <netinet/ip_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcp_timer.h>
-#include <netinet/tcp_var.h>
-#include <netinet/udp.h>
-#include <netinet/udp_var.h>
-
-static void
-ppp_if_detach(ifp)
- struct ifnet *ifp;
-{
- int s;
- struct inpcb *pcb;
- struct ifaddr *ifa;
- struct in_ifaddr **inap;
- struct ifnet **ifpp;
-
- s = splhigh();
-
- /*
- * Clear the interface from any routes currently cached in
- * TCP or UDP protocol control blocks.
- */
- for (pcb = tcb.inp_next; pcb != &tcb; pcb = pcb->inp_next)
- if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
- in_losing(pcb);
- for (pcb = udb.inp_next; pcb != &udb; pcb = pcb->inp_next)
- if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
- in_losing(pcb);
-
- /*
- * Delete routes through all addresses of the interface.
- */
- for (ifa = ifp->if_addrlist; ifa != 0; ifa = ifa->ifa_next) {
- rtinit(ifa, ifa, SIOCDELRT, RTF_HOST);
- rtinit(ifa, ifa, SIOCDELRT, 0);
- }
-
- /*
- * Unlink the interface's address(es) from the in_ifaddr list.
- */
- for (inap = &in_ifaddr; *inap != 0; ) {
- if ((*inap)->ia_ifa.ifa_ifp == ifp)
- *inap = (*inap)->ia_next;
- else
- inap = &(*inap)->ia_next;
- }
-
- /*
- * Delete the interface from the ifnet list.
- */
- for (ifpp = &ifnet; (*ifpp) != 0; ) {
- if (*ifpp == ifp)
- break;
- ifpp = &(*ifpp)->if_next;
- }
- if (*ifpp == 0)
- printf("couldn't find interface ppp%d in ifnet list\n", ifp->if_unit);
- else
- *ifpp = ifp->if_next;
-
- splx(s);
-}
-
-#endif /* __osf__ */
diff --git a/mdk-stage1/ppp/modules/ppp.c b/mdk-stage1/ppp/modules/ppp.c
deleted file mode 100644
index 44bf08dff..000000000
--- a/mdk-stage1/ppp/modules/ppp.c
+++ /dev/null
@@ -1,2486 +0,0 @@
-/*
- * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/errno.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <sys/cmn_err.h>
-#define queclass(mp) ((mp)->b_band & QPCTL)
-#else
-#include <sys/ioccom.h>
-#endif
-#include <sys/time.h>
-#ifdef SVR4
-#include <sys/cmn_err.h>
-#include <sys/conf.h>
-#include <sys/dlpi.h>
-#include <sys/ddi.h>
-#ifdef SOL2
-#include <sys/ksynch.h>
-#include <sys/kstat.h>
-#include <sys/sunddi.h>
-#include <sys/ethernet.h>
-#else
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#endif /* SOL2 */
-#else /* not SVR4 */
-#include <sys/user.h>
-#endif /* SVR4 */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Modifications marked with #ifdef PRIOQ are for priority queueing of
- * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
- */
-#ifdef PRIOQ
-#endif /* PRIOQ */
-
-#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-/*
- * The IP module may use this SAP value for IP packets.
- */
-#ifndef ETHERTYPE_IP
-#define ETHERTYPE_IP 0x800
-#endif
-
-#if !defined(ETHERTYPE_IPV6)
-#define ETHERTYPE_IPV6 0x86dd
-#endif /* !defined(ETHERTYPE_IPV6) */
-
-#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
-#define ETHERTYPE_ALLSAP 0
-#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
-
-#if !defined(PPP_ALLSAP) && defined(SOL2)
-#define PPP_ALLSAP PPP_ALLSTATIONS
-#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
-
-extern time_t time;
-
-#ifdef SOL2
-/*
- * We use this reader-writer lock to ensure that the lower streams
- * stay connected to the upper streams while the lower-side put and
- * service procedures are running. Essentially it is an existence
- * lock for the upper stream associated with each lower stream.
- */
-krwlock_t ppp_lower_lock;
-#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
-#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
-#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
-#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
-
-#define MT_ENTER(x) mutex_enter(x)
-#define MT_EXIT(x) mutex_exit(x)
-
-/*
- * Notes on multithreaded implementation for Solaris 2:
- *
- * We use an inner perimeter around each queue pair and an outer
- * perimeter around the whole driver. The inner perimeter is
- * entered exclusively for all entry points (open, close, put,
- * service). The outer perimeter is entered exclusively for open
- * and close and shared for put and service. This is all done for
- * us by the streams framework.
- *
- * I used to think that the perimeters were entered for the lower
- * streams' put and service routines as well as for the upper streams'.
- * Because of problems experienced by people, and after reading the
- * documentation more closely, I now don't think that is true. So we
- * now use ppp_lower_lock to give us an existence guarantee on the
- * upper stream controlling each lower stream.
- *
- * Shared entry to the outer perimeter protects the existence of all
- * the upper streams and their upperstr_t structures, and guarantees
- * that the following fields of any upperstr_t won't change:
- * nextmn, next, nextppa. It guarantees that the lowerq field of an
- * upperstr_t won't go from non-zero to zero, that the global `ppas'
- * won't change and that the no lower stream will get unlinked.
- *
- * Shared (reader) access to ppa_lower_lock guarantees that no lower
- * stream will be unlinked and that the lowerq field of all upperstr_t
- * structures won't change.
- */
-
-#else /* SOL2 */
-#define LOCK_LOWER_W 0
-#define LOCK_LOWER_R 0
-#define TRYLOCK_LOWER_R 1
-#define UNLOCK_LOWER 0
-#define MT_ENTER(x) 0
-#define MT_EXIT(x) 0
-
-#endif /* SOL2 */
-
-/*
- * Private information; one per upper stream.
- */
-typedef struct upperstr {
- minor_t mn; /* minor device number */
- struct upperstr *nextmn; /* next minor device */
- queue_t *q; /* read q associated with this upper stream */
- int flags; /* flag bits, see below */
- int state; /* current DLPI state */
- int sap; /* service access point */
- int req_sap; /* which SAP the DLPI client requested */
- struct upperstr *ppa; /* control stream for our ppa */
- struct upperstr *next; /* next stream for this ppa */
- uint ioc_id; /* last ioctl ID for this stream */
- enum NPmode npmode; /* what to do with packets on this SAP */
- unsigned char rblocked; /* flow control has blocked upper read strm */
- /* N.B. rblocked is only changed by control stream's put/srv procs */
- /*
- * There is exactly one control stream for each PPA.
- * The following fields are only used for control streams.
- */
- int ppa_id;
- queue_t *lowerq; /* write queue attached below this PPA */
- struct upperstr *nextppa; /* next control stream */
- int mru;
- int mtu;
- struct pppstat stats; /* statistics */
- time_t last_sent; /* time last NP packet sent */
- time_t last_recv; /* time last NP packet rcvd */
-#ifdef SOL2
- kmutex_t stats_lock; /* lock for stats updates */
- kstat_t *kstats; /* stats for netstat */
-#endif /* SOL2 */
-#ifdef LACHTCP
- int ifflags;
- char ifname[IFNAMSIZ];
- struct ifstats ifstats;
-#endif /* LACHTCP */
-} upperstr_t;
-
-/* Values for flags */
-#define US_PRIV 1 /* stream was opened by superuser */
-#define US_CONTROL 2 /* stream is a control stream */
-#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
-#define US_LASTMOD 8 /* no PPP modules below us */
-#define US_DBGLOG 0x10 /* log various occurrences */
-#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
-
-#if defined(SOL2)
-#if DL_CURRENT_VERSION >= 2
-#define US_PROMISC 0x40 /* stream is promiscuous */
-#endif /* DL_CURRENT_VERSION >= 2 */
-#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
-#endif /* defined(SOL2) */
-
-#ifdef PRIOQ
-static u_char max_band=0;
-static u_char def_band=0;
-
-#define IPPORT_DEFAULT 65535
-
-/*
- * Port priority table
- * Highest priority ports are listed first, lowest are listed last.
- * ICMP & packets using unlisted ports will be treated as "default".
- * If IPPORT_DEFAULT is not listed here, "default" packets will be
- * assigned lowest priority.
- * Each line should be terminated with "0".
- * Line containing only "0" marks the end of the list.
- */
-
-static u_short prioq_table[]= {
- 113, 53, 0,
- 22, 23, 513, 517, 518, 0,
- 514, 21, 79, 111, 0,
- 25, 109, 110, 0,
- IPPORT_DEFAULT, 0,
- 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
-0 };
-
-#endif /* PRIOQ */
-
-
-static upperstr_t *minor_devs = NULL;
-static upperstr_t *ppas = NULL;
-
-#ifdef SVR4
-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
-static int pppclose __P((queue_t *, int, cred_t *));
-#else
-static int pppopen __P((queue_t *, int, int, int));
-static int pppclose __P((queue_t *, int));
-#endif /* SVR4 */
-static int pppurput __P((queue_t *, mblk_t *));
-static int pppuwput __P((queue_t *, mblk_t *));
-static int pppursrv __P((queue_t *));
-static int pppuwsrv __P((queue_t *));
-static int ppplrput __P((queue_t *, mblk_t *));
-static int ppplwput __P((queue_t *, mblk_t *));
-static int ppplrsrv __P((queue_t *));
-static int ppplwsrv __P((queue_t *));
-#ifndef NO_DLPI
-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
-static void dlpi_ok __P((queue_t *, int));
-#endif
-static int send_data __P((mblk_t *, upperstr_t *));
-static void new_ppa __P((queue_t *, mblk_t *));
-static void attach_ppa __P((queue_t *, mblk_t *));
-static void detach_ppa __P((queue_t *, mblk_t *));
-static void detach_lower __P((queue_t *, mblk_t *));
-static void debug_dump __P((queue_t *, mblk_t *));
-static upperstr_t *find_dest __P((upperstr_t *, int));
-#if defined(SOL2)
-static upperstr_t *find_promisc __P((upperstr_t *, int));
-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
-#endif /* defined(SOL2) */
-static int putctl2 __P((queue_t *, int, int, int));
-static int putctl4 __P((queue_t *, int, int, int));
-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#ifdef FILTER_PACKETS
-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#endif /* FILTER_PACKETS */
-
-#define PPP_ID 0xb1a6
-static struct module_info ppp_info = {
-#ifdef PRIOQ
- PPP_ID, "ppp", 0, 512, 512, 384
-#else
- PPP_ID, "ppp", 0, 512, 512, 128
-#endif /* PRIOQ */
-};
-
-static struct qinit pppurint = {
- pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
-};
-
-static struct qinit pppuwint = {
- pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplrint = {
- ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplwint = {
- ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-#ifdef LACHTCP
-extern struct ifstats *ifstats;
-int pppdevflag = 0;
-#endif
-
-struct streamtab pppinfo = {
- &pppurint, &pppuwint,
- &ppplrint, &ppplwint
-};
-
-int ppp_count;
-
-/*
- * How we maintain statistics.
- */
-#ifdef SOL2
-#define INCR_IPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
- }
-#define INCR_IERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
- }
-#define INCR_OPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
- }
-#define INCR_OERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
- }
-#endif
-
-#ifdef LACHTCP
-#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
-#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
-#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
-#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
-#endif
-
-/*
- * STREAMS driver entry points.
- */
-static int
-#ifdef SVR4
-pppopen(q, devp, oflag, sflag, credp)
- queue_t *q;
- dev_t *devp;
- int oflag, sflag;
- cred_t *credp;
-#else
-pppopen(q, dev, oflag, sflag)
- queue_t *q;
- int dev; /* really dev_t */
- int oflag, sflag;
-#endif
-{
- upperstr_t *up;
- upperstr_t **prevp;
- minor_t mn;
-#ifdef PRIOQ
- u_short *ptr;
- u_char new_band;
-#endif /* PRIOQ */
-
- if (q->q_ptr)
- DRV_OPEN_OK(dev); /* device is already open */
-
-#ifdef PRIOQ
- /* Calculate max_bband & def_band from definitions in prioq.h
- This colud be done at some more approtiate time (less often)
- but this way it works well so I'll just leave it here */
-
- max_band = 1;
- def_band = 0;
- ptr = prioq_table;
- while (*ptr) {
- new_band = 1;
- while (*ptr)
- if (*ptr++ == IPPORT_DEFAULT) {
- new_band = 0;
- def_band = max_band;
- }
- max_band += new_band;
- ptr++;
- }
- if (def_band)
- def_band = max_band - def_band;
- --max_band;
-#endif /* PRIOQ */
-
- if (sflag == CLONEOPEN) {
- mn = 0;
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn != mn)
- break;
- ++mn;
- }
- } else {
-#ifdef SVR4
- mn = getminor(*devp);
-#else
- mn = minor(dev);
-#endif
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn >= mn)
- break;
- }
- if (up->mn == mn) {
- /* this can't happen */
- q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
- DRV_OPEN_OK(dev);
- }
- }
-
- /*
- * Construct a new minor node.
- */
- up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
- bzero((caddr_t) up, sizeof(upperstr_t));
- if (up == 0) {
- DPRINT("pppopen: out of kernel memory\n");
- OPEN_ERROR(ENXIO);
- }
- up->nextmn = *prevp;
- *prevp = up;
- up->mn = mn;
-#ifdef SVR4
- *devp = makedevice(getmajor(*devp), mn);
-#endif
- up->q = q;
- if (NOTSUSER() == 0)
- up->flags |= US_PRIV;
-#ifndef NO_DLPI
- up->state = DL_UNATTACHED;
-#endif
-#ifdef LACHTCP
- up->ifflags = IFF_UP | IFF_POINTOPOINT;
-#endif
- up->sap = -1;
- up->last_sent = up->last_recv = time;
- up->npmode = NPMODE_DROP;
- q->q_ptr = (caddr_t) up;
- WR(q)->q_ptr = (caddr_t) up;
- noenable(WR(q));
-#ifdef SOL2
- mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
-#endif
- ++ppp_count;
-
- qprocson(q);
- DRV_OPEN_OK(makedev(major(dev), mn));
-}
-
-static int
-#ifdef SVR4
-pppclose(q, flag, credp)
- queue_t *q;
- int flag;
- cred_t *credp;
-#else
-pppclose(q, flag)
- queue_t *q;
- int flag;
-#endif
-{
- upperstr_t *up, **upp;
- upperstr_t *as, *asnext;
- upperstr_t **prevp;
-
- qprocsoff(q);
-
- up = (upperstr_t *) q->q_ptr;
- if (up == 0) {
- DPRINT("pppclose: q_ptr = 0\n");
- return 0;
- }
- if (up->flags & US_DBGLOG)
- DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
- if (up->flags & US_CONTROL) {
-#ifdef LACHTCP
- struct ifstats *ifp, *pifp;
-#endif
- if (up->lowerq != 0) {
- /* Gack! the lower stream should have be unlinked earlier! */
- DPRINT1("ppp%d: lower stream still connected on close?\n",
- up->mn);
- LOCK_LOWER_W;
- up->lowerq->q_ptr = 0;
- RD(up->lowerq)->q_ptr = 0;
- up->lowerq = 0;
- UNLOCK_LOWER;
- }
-
- /*
- * This stream represents a PPA:
- * For all streams attached to the PPA, clear their
- * references to this PPA.
- * Then remove this PPA from the list of PPAs.
- */
- for (as = up->next; as != 0; as = asnext) {
- asnext = as->next;
- as->next = 0;
- as->ppa = 0;
- if (as->flags & US_BLOCKED) {
- as->flags &= ~US_BLOCKED;
- flushq(WR(as->q), FLUSHDATA);
- }
- }
- for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
- if (*upp == up) {
- *upp = up->nextppa;
- break;
- }
-#ifdef LACHTCP
- /* Remove the statistics from the active list. */
- for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
- if (ifp == &up->ifstats) {
- if (pifp)
- pifp->ifs_next = ifp->ifs_next;
- else
- ifstats = ifp->ifs_next;
- break;
- }
- pifp = ifp;
- }
-#endif
- } else {
- /*
- * If this stream is attached to a PPA,
- * remove it from the PPA's list.
- */
- if ((as = up->ppa) != 0) {
- for (; as->next != 0; as = as->next)
- if (as->next == up) {
- as->next = up->next;
- break;
- }
- }
- }
-
-#ifdef SOL2
- if (up->kstats)
- kstat_delete(up->kstats);
- mutex_destroy(&up->stats_lock);
-#endif
-
- q->q_ptr = NULL;
- WR(q)->q_ptr = NULL;
-
- for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
- if (*prevp == up) {
- *prevp = up->nextmn;
- break;
- }
- }
- FREE(up, sizeof(upperstr_t));
- --ppp_count;
-
- return 0;
-}
-
-/*
- * A message from on high. We do one of three things:
- * - qreply()
- * - put the message on the lower write stream
- * - queue it for our service routine
- */
-static int
-pppuwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *ppa, *nps;
- struct iocblk *iop;
- struct linkblk *lb;
-#ifdef LACHTCP
- struct ifreq *ifr;
- int i;
-#endif
- queue_t *lq;
- int error, n, sap;
- mblk_t *mq;
- struct ppp_idle *pip;
-#ifdef PRIOQ
- queue_t *tlq;
-#endif /* PRIOQ */
-#ifdef NO_DLPI
- upperstr_t *os;
-#endif
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwput: q_ptr = 0!\n");
- return 0;
- }
- if (mp == 0) {
- DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
- return 0;
- }
- if (mp->b_datap == 0) {
- DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
- return 0;
- }
- switch (mp->b_datap->db_type) {
-#ifndef NO_DLPI
- case M_PCPROTO:
- case M_PROTO:
- dlpi_request(q, mp, us);
- break;
-#endif /* NO_DLPI */
-
- case M_DATA:
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
- us->mn, msgdsize(mp), us->flags);
- if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
-#ifndef NO_DLPI
- || (us->flags & US_CONTROL) == 0
-#endif /* NO_DLPI */
- ) {
- DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
- }
-#ifdef NO_DLPI
- if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
- break;
-#endif
- if (!send_data(mp, us))
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: ioctl %x count=%d\n",
- us->mn, iop->ioc_cmd, iop->ioc_count);
- switch (iop->ioc_cmd) {
-#if defined(SOL2)
- case DLIOCRAW: /* raw M_DATA mode */
- us->flags |= US_RAWDATA;
- error = 0;
- break;
-#endif /* defined(SOL2) */
- case I_LINK:
- if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
- lq = lb->l_qbot;
- if (lq == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
- break;
- }
- LOCK_LOWER_W;
- us->lowerq = lq;
- lq->q_ptr = (caddr_t) q;
- RD(lq)->q_ptr = (caddr_t) us->q;
- UNLOCK_LOWER;
- iop->ioc_count = 0;
- error = 0;
- us->flags &= ~US_LASTMOD;
- /* Unblock upper streams which now feed this lower stream. */
- qenable(q);
- /* Send useful information down to the modules which
- are now linked below us. */
- putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
- putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
- putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
-#ifdef PRIOQ
- /* Lower tty driver's queue hiwat/lowat from default 4096/128
- to 256/128 since we don't want queueing of data on
- output to physical device */
-
- freezestr(lq);
- for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
- ;
- strqset(tlq, QHIWAT, 0, 256);
- strqset(tlq, QLOWAT, 0, 128);
- unfreezestr(lq);
-#endif /* PRIOQ */
- break;
-
- case I_UNLINK:
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
-#if DEBUG
- if (us->lowerq != lb->l_qbot) {
- DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
- us->lowerq, lb->l_qbot);
- break;
- }
-#endif
- iop->ioc_count = 0;
- qwriter(q, mp, detach_lower, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_NEWPPA:
- if (us->flags & US_CONTROL)
- break;
- if ((us->flags & US_PRIV) == 0) {
- error = EPERM;
- break;
- }
- /* Arrange to return an int */
- if ((mq = mp->b_cont) == 0
- || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
- mq = allocb(sizeof(int), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- }
- iop->ioc_count = sizeof(int);
- mq->b_wptr = mq->b_rptr + sizeof(int);
- qwriter(q, mp, new_ppa, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_ATTACH:
- /* like dlpi_attach, for programs which can't write to
- the stream (like pppstats) */
- if (iop->ioc_count != sizeof(int) || us->ppa != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == n)
- break;
- if (ppa == 0)
- break;
- us->ppa = ppa;
- iop->ioc_count = 0;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- error = -1;
- break;
-
-#ifdef NO_DLPI
- case PPPIO_BIND:
- /* Attach to a given SAP. */
- if (iop->ioc_count != sizeof(int) || us->ppa == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- /* n must be a valid PPP network protocol number. */
- if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
- break;
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == n)
- break;
- if (os != 0)
- break;
- us->sap = n;
- iop->ioc_count = 0;
- error = 0;
- break;
-#endif /* NO_DLPI */
-
- case PPPIO_MRU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMRU)
- break;
- if (n < PPP_MRU)
- n = PPP_MRU;
- us->mru = n;
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_MTU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMTU)
- break;
- us->mtu = n;
-#ifdef LACHTCP
- /* The MTU reported in netstat, not used as IP max packet size! */
- us->ifstats.ifs_mtu = n;
-#endif
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_LASTMOD:
- us->flags |= US_LASTMOD;
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
- qwriter(q, NULL, debug_dump, PERIM_OUTER);
- iop->ioc_count = 0;
- error = -1;
- } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
- DPRINT1("ppp/%d: debug log enabled\n", us->mn);
- us->flags |= US_DBGLOG;
- iop->ioc_count = 0;
- error = 0;
- } else {
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- putnext(us->ppa->lowerq, mp);
- error = -1;
- }
- break;
-
- case PPPIO_NPMODE:
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if ((us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
- break;
- }
- sap = ((int *)mp->b_cont->b_rptr)[0];
- for (nps = us->next; nps != 0; nps = nps->next) {
- if (us->flags & US_DBGLOG)
- DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
- if (nps->sap == sap)
- break;
- }
- if (nps == 0) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
- break;
- }
- /* XXX possibly should use qwriter here */
- nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
- if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
- qenable(WR(nps->q));
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GIDLE:
- if ((ppa = us->ppa) == 0)
- break;
- mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- pip = (struct ppp_idle *) mq->b_wptr;
- pip->xmit_idle = time - ppa->last_sent;
- pip->recv_idle = time - ppa->last_recv;
- mq->b_wptr += sizeof(struct ppp_idle);
- iop->ioc_count = sizeof(struct ppp_idle);
- error = 0;
- break;
-
-#ifdef LACHTCP
- case SIOCSIFNAME:
- /* Sent from IP down to us. Attach the ifstats structure. */
- if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
- break;
- ifr = (struct ifreq *)mp->b_cont->b_rptr;
- /* Find the unit number in the interface name. */
- for (i = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0 ||
- (ifr->ifr_name[i] >= '0' &&
- ifr->ifr_name[i] <= '9'))
- break;
- else
- us->ifname[i] = ifr->ifr_name[i];
- }
- us->ifname[i] = 0;
-
- /* Convert the unit number to binary. */
- for (n = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0) {
- break;
- }
- else {
- n = n * 10 + ifr->ifr_name[i] - '0';
- }
- }
-
- /* Verify the ppa. */
- if (us->ppa->ppa_id != n)
- break;
- ppa = us->ppa;
-
- /* Set up the netstat block. */
- strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
-
- ppa->ifstats.ifs_name = ppa->ifname;
- ppa->ifstats.ifs_unit = n;
- ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
- ppa->ifstats.ifs_mtu = ppa->mtu;
-
- /* Link in statistics used by netstat. */
- ppa->ifstats.ifs_next = ifstats;
- ifstats = &ppa->ifstats;
-
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case SIOCGIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
- error = 0;
- break;
-
- case SIOCSIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
- error = 0;
- break;
-
- case SIOCSIFADDR:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags |= IFF_RUNNING;
- ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
- error = 0;
- break;
-
- case SIOCSIFMTU:
- /*
- * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
- * they take the MTU from the DL_INFO_ACK we sent in response
- * to their DL_INFO_REQ. Fortunately, they will update the
- * MTU if we send an unsolicited DL_INFO_ACK up.
- */
- if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
- mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
- dlpi_request(q, mq, us);
- error = 0;
- break;
-
- case SIOCGIFNETMASK:
- case SIOCSIFNETMASK:
- case SIOCGIFADDR:
- case SIOCGIFDSTADDR:
- case SIOCSIFDSTADDR:
- case SIOCGIFMETRIC:
- error = 0;
- break;
-#endif /* LACHTCP */
-
- default:
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- us->ioc_id = iop->ioc_id;
- error = -1;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- case PPPIO_GETCSTAT:
- if (us->flags & US_LASTMOD) {
- error = EINVAL;
- break;
- }
- putnext(us->ppa->lowerq, mp);
- break;
- default:
- if (us->flags & US_PRIV)
- putnext(us->ppa->lowerq, mp);
- else {
- DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
- error = EPERM;
- }
- break;
- }
- break;
- }
-
- if (error > 0) {
- iop->ioc_error = error;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- } else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- }
- break;
-
- case M_FLUSH:
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
- if (*mp->b_rptr & FLUSHW)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHR) {
- *mp->b_rptr &= ~FLUSHW;
- qreply(q, mp);
- } else
- freemsg(mp);
- break;
-
- default:
- freemsg(mp);
- break;
- }
- return 0;
-}
-
-#ifndef NO_DLPI
-static void
-dlpi_request(q, mp, us)
- queue_t *q;
- mblk_t *mp;
- upperstr_t *us;
-{
- union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
- int size = mp->b_wptr - mp->b_rptr;
- mblk_t *reply, *np;
- upperstr_t *ppa, *os;
- int sap, len;
- dl_info_ack_t *info;
- dl_bind_ack_t *ackp;
-#if DL_CURRENT_VERSION >= 2
- dl_phys_addr_ack_t *paddrack;
- static struct ether_addr eaddr = {0};
-#endif
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
- d->dl_primitive, size);
- switch (d->dl_primitive) {
- case DL_INFO_REQ:
- if (size < sizeof(dl_info_req_t))
- goto badprim;
- if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- info = (dl_info_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_info_ack_t);
- bzero((caddr_t) info, sizeof(dl_info_ack_t));
- info->dl_primitive = DL_INFO_ACK;
- info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
- info->dl_min_sdu = 1;
- info->dl_addr_length = sizeof(uint);
- info->dl_mac_type = DL_ETHER; /* a bigger lie */
- info->dl_current_state = us->state;
- info->dl_service_mode = DL_CLDLS;
- info->dl_provider_style = DL_STYLE2;
-#if DL_CURRENT_VERSION >= 2
- info->dl_sap_length = sizeof(uint);
- info->dl_version = DL_CURRENT_VERSION;
-#endif
- qreply(q, reply);
- break;
-
- case DL_ATTACH_REQ:
- if (size < sizeof(dl_attach_req_t))
- goto badprim;
- if (us->state != DL_UNATTACHED || us->ppa != 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == d->attach_req.dl_ppa)
- break;
- if (ppa == 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
- break;
- }
- us->ppa = ppa;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- return;
-
- case DL_DETACH_REQ:
- if (size < sizeof(dl_detach_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- qwriter(q, mp, detach_ppa, PERIM_OUTER);
- return;
-
- case DL_BIND_REQ:
- if (size < sizeof(dl_bind_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
- break;
- }
-#if 0
- /* apparently this test fails (unnecessarily?) on some systems */
- if (d->bind_req.dl_service_mode != DL_CLDLS) {
- dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
- break;
- }
-#endif
-
- /* saps must be valid PPP network protocol numbers,
- except that we accept ETHERTYPE_IP in place of PPP_IP. */
- sap = d->bind_req.dl_sap;
- us->req_sap = sap;
-
-#if defined(SOL2)
- if (us->flags & US_DBGLOG)
- DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
-
- if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
- sap = PPP_IP;
- else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
- sap = PPP_IPV6;
- else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
- sap = PPP_ALLSAP;
- else {
- DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#else
- if (sap == ETHERTYPE_IP)
- sap = PPP_IP;
- if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#endif /* defined(SOL2) */
-
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == sap)
- break;
- if (os != 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
- break;
- }
-
- us->sap = sap;
- us->state = DL_IDLE;
-
- if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- ackp = (dl_bind_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
- reply->b_datap->db_type = M_PCPROTO;
- bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
- ackp->dl_primitive = DL_BIND_ACK;
- ackp->dl_sap = sap;
- ackp->dl_addr_length = sizeof(uint);
- ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
- *(uint *)(ackp+1) = sap;
- qreply(q, reply);
- break;
-
- case DL_UNBIND_REQ:
- if (size < sizeof(dl_unbind_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
- break;
- }
- us->sap = -1;
- us->state = DL_UNBOUND;
-#ifdef LACHTCP
- us->ppa->ifstats.ifs_active = 0;
-#endif
- dlpi_ok(q, DL_UNBIND_REQ);
- break;
-
- case DL_UNITDATA_REQ:
- if (size < sizeof(dl_unitdata_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
- break;
- }
- if ((ppa = us->ppa) == 0) {
- cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
- break;
- }
- len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
- if (len > ppa->mtu) {
- DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
- break;
- }
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- if (mp->b_cont)
- promisc_sendup(ppa, mp->b_cont, us->sap, 0);
-#endif /* defined(SOL2) */
-
- mp->b_band = 0;
-#ifdef PRIOQ
- /* Extract s_port & d_port from IP-packet, the code is a bit
- dirty here, but so am I, too... */
- if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
- && mp->b_cont != 0) {
- u_char *bb, *tlh;
- int iphlen, len;
- u_short *ptr;
- u_char band_unset, cur_band, syn;
- u_short s_port, d_port;
-
- bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
- len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
- syn = 0;
- s_port = IPPORT_DEFAULT;
- d_port = IPPORT_DEFAULT;
- if (len >= 20) { /* 20 = minimum length of IP header */
- iphlen = (bb[0] & 0x0f) * 4;
- tlh = bb + iphlen;
- len -= iphlen;
- switch (bb[9]) {
- case IPPROTO_TCP:
- if (len >= 20) { /* min length of TCP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- syn = tlh[13] & 0x02;
- }
- break;
- case IPPROTO_UDP:
- if (len >= 8) { /* min length of UDP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- }
- break;
- }
- }
-
- /*
- * Now calculate b_band for this packet from the
- * port-priority table.
- */
- ptr = prioq_table;
- cur_band = max_band;
- band_unset = 1;
- while (*ptr) {
- while (*ptr && band_unset)
- if (s_port == *ptr || d_port == *ptr++) {
- mp->b_band = cur_band;
- band_unset = 0;
- break;
- }
- ptr++;
- cur_band--;
- }
- if (band_unset)
- mp->b_band = def_band;
- /* It may be usable to urge SYN packets a bit */
- if (syn)
- mp->b_band++;
- }
-#endif /* PRIOQ */
- /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
- if (mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_HI);
- if (np == 0)
- break; /* gak! */
- np->b_cont = mp->b_cont;
- mp->b_cont = 0;
- freeb(mp);
- mp = np;
- } else
- mp->b_datap->db_type = M_DATA;
- /* XXX should use dl_dest_addr_offset/length here,
- but we would have to translate ETHERTYPE_IP -> PPP_IP */
- mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = us->sap >> 8;
- mp->b_rptr[3] = us->sap;
- if (pass_packet(us, mp, 1)) {
- if (!send_data(mp, us))
- putq(q, mp);
- }
- return;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_PHYS_ADDR_REQ:
- if (size < sizeof(dl_phys_addr_req_t))
- goto badprim;
-
- /*
- * Don't check state because ifconfig sends this one down too
- */
-
- if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_phys_addr_ack_t);
- bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
- paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
- paddrack->dl_addr_length = ETHERADDRL;
- paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
- bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
- reply->b_wptr += ETHERADDRL;
- qreply(q, reply);
- break;
-
-#if defined(SOL2)
- case DL_PROMISCON_REQ:
- if (size < sizeof(dl_promiscon_req_t))
- goto badprim;
- us->flags |= US_PROMISC;
- dlpi_ok(q, DL_PROMISCON_REQ);
- break;
-
- case DL_PROMISCOFF_REQ:
- if (size < sizeof(dl_promiscoff_req_t))
- goto badprim;
- us->flags &= ~US_PROMISC;
- dlpi_ok(q, DL_PROMISCOFF_REQ);
- break;
-#else
- case DL_PROMISCON_REQ: /* fall thru */
- case DL_PROMISCOFF_REQ: /* fall thru */
-#endif /* defined(SOL2) */
-#endif /* DL_CURRENT_VERSION >= 2 */
-
-#if DL_CURRENT_VERSION >= 2
- case DL_SET_PHYS_ADDR_REQ:
- case DL_SUBS_BIND_REQ:
- case DL_SUBS_UNBIND_REQ:
- case DL_ENABMULTI_REQ:
- case DL_DISABMULTI_REQ:
- case DL_XID_REQ:
- case DL_TEST_REQ:
- case DL_REPLY_UPDATE_REQ:
- case DL_REPLY_REQ:
- case DL_DATA_ACK_REQ:
-#endif
- case DL_CONNECT_REQ:
- case DL_TOKEN_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
- break;
-
- case DL_CONNECT_RES:
- case DL_DISCONNECT_REQ:
- case DL_RESET_REQ:
- case DL_RESET_RES:
- dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
- break;
-
- case DL_UDQOS_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
- break;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_TEST_RES:
- case DL_XID_RES:
- break;
-#endif
-
- default:
- cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
- /* fall through */
- badprim:
- dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
- break;
- }
- freemsg(mp);
-}
-
-static void
-dlpi_error(q, us, prim, err, uerr)
- queue_t *q;
- upperstr_t *us;
- int prim, err, uerr;
-{
- mblk_t *reply;
- dl_error_ack_t *errp;
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
- reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- errp = (dl_error_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_error_ack_t);
- errp->dl_primitive = DL_ERROR_ACK;
- errp->dl_error_primitive = prim;
- errp->dl_errno = err;
- errp->dl_unix_errno = uerr;
- qreply(q, reply);
-}
-
-static void
-dlpi_ok(q, prim)
- queue_t *q;
- int prim;
-{
- mblk_t *reply;
- dl_ok_ack_t *okp;
-
- reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- okp = (dl_ok_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_ok_ack_t);
- okp->dl_primitive = DL_OK_ACK;
- okp->dl_correct_primitive = prim;
- qreply(q, reply);
-}
-#endif /* NO_DLPI */
-
-static int
-pass_packet(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- int pass;
- upperstr_t *ppa;
-
- if ((ppa = us->ppa) == 0) {
- freemsg(mp);
- return 0;
- }
-
-#ifdef FILTER_PACKETS
- pass = ip_hard_filter(us, mp, outbound);
-#else
- /*
- * Here is where we might, in future, decide whether to pass
- * or drop the packet, and whether it counts as link activity.
- */
- pass = 1;
-#endif /* FILTER_PACKETS */
-
- if (pass < 0) {
- /* pass only if link already up, and don't update time */
- if (ppa->lowerq == 0) {
- freemsg(mp);
- return 0;
- }
- pass = 1;
- } else if (pass) {
- if (outbound)
- ppa->last_sent = time;
- else
- ppa->last_recv = time;
- }
-
- return pass;
-}
-
-/*
- * We have some data to send down to the lower stream (or up the
- * control stream, if we don't have a lower stream attached).
- * Returns 1 if the message was dealt with, 0 if it wasn't able
- * to be sent on and should therefore be queued up.
- */
-static int
-send_data(mp, us)
- mblk_t *mp;
- upperstr_t *us;
-{
- upperstr_t *ppa;
-
- if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
- return 0;
- ppa = us->ppa;
- if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
- freemsg(mp);
- return 1;
- }
- if (ppa->lowerq == 0) {
- /* try to send it up the control stream */
- if (bcanputnext(ppa->q, mp->b_band)) {
- /*
- * The message seems to get corrupted for some reason if
- * we just send the message up as it is, so we send a copy.
- */
- mblk_t *np = copymsg(mp);
- freemsg(mp);
- if (np != 0)
- putnext(ppa->q, np);
- return 1;
- }
- } else {
- if (bcanputnext(ppa->lowerq, mp->b_band)) {
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_opackets++;
- ppa->stats.ppp_obytes += msgdsize(mp);
-#ifdef INCR_OPACKETS
- INCR_OPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
- /*
- * The lower queue is only ever detached while holding an
- * exclusive lock on the whole driver. So we can be confident
- * that the lower queue is still there.
- */
- putnext(ppa->lowerq, mp);
- return 1;
- }
- }
- us->flags |= US_BLOCKED;
- return 0;
-}
-
-/*
- * Allocate a new PPA id and link this stream into the list of PPAs.
- * This procedure is called with an exclusive lock on all queues in
- * this driver.
- */
-static void
-new_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *up, **usp;
- int ppa_id;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("new_ppa: q_ptr = 0!\n");
- return;
- }
-
- usp = &ppas;
- ppa_id = 0;
- while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
- ++ppa_id;
- usp = &up->nextppa;
- }
- us->ppa_id = ppa_id;
- us->ppa = us;
- us->next = 0;
- us->nextppa = *usp;
- *usp = us;
- us->flags |= US_CONTROL;
- us->npmode = NPMODE_PASS;
-
- us->mtu = PPP_MTU;
- us->mru = PPP_MRU;
-
-#ifdef SOL2
- /*
- * Create a kstats record for our statistics, so netstat -i works.
- */
- if (us->kstats == 0) {
- char unit[32];
-
- sprintf(unit, "ppp%d", us->ppa->ppa_id);
- us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
- "net", KSTAT_TYPE_NAMED, 4, 0);
- if (us->kstats != 0) {
- kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
-
- strcpy(kn[0].name, "ipackets");
- kn[0].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[1].name, "ierrors");
- kn[1].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[2].name, "opackets");
- kn[2].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[3].name, "oerrors");
- kn[3].data_type = KSTAT_DATA_ULONG;
- kstat_install(us->kstats);
- }
- }
-#endif /* SOL2 */
-
- *(int *)mp->b_cont->b_rptr = ppa_id;
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static void
-attach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("attach_ppa: q_ptr = 0!\n");
- return;
- }
-
-#ifndef NO_DLPI
- us->state = DL_UNBOUND;
-#endif
- for (t = us->ppa; t->next != 0; t = t->next)
- ;
- t->next = us;
- us->next = 0;
- if (mp->b_datap->db_type == M_IOCTL) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
-#ifndef NO_DLPI
- dlpi_ok(q, DL_ATTACH_REQ);
-#endif
- }
-}
-
-static void
-detach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_ppa: q_ptr = 0!\n");
- return;
- }
-
- for (t = us->ppa; t->next != 0; t = t->next)
- if (t->next == us) {
- t->next = us->next;
- break;
- }
- us->next = 0;
- us->ppa = 0;
-#ifndef NO_DLPI
- us->state = DL_UNATTACHED;
- dlpi_ok(q, DL_DETACH_REQ);
-#endif
-}
-
-/*
- * We call this with qwriter in order to give the upper queue procedures
- * the guarantee that the lower queue is not going to go away while
- * they are executing.
- */
-static void
-detach_lower(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_lower: q_ptr = 0!\n");
- return;
- }
-
- LOCK_LOWER_W;
- us->lowerq->q_ptr = 0;
- RD(us->lowerq)->q_ptr = 0;
- us->lowerq = 0;
- UNLOCK_LOWER;
-
- /* Unblock streams which now feed back up the control stream. */
- qenable(us->q);
-
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static int
-pppuwsrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwsrv: q_ptr = 0!\n");
- return 0;
- }
-
- /*
- * If this is a control stream, then this service procedure
- * probably got enabled because of flow control in the lower
- * stream being enabled (or because of the lower stream going
- * away). Therefore we enable the service procedure of all
- * attached upper streams.
- */
- if (us->flags & US_CONTROL) {
- for (as = us->next; as != 0; as = as->next)
- qenable(WR(as->q));
- }
-
- /* Try to send on any data queued here. */
- us->flags &= ~US_BLOCKED;
- while ((mp = getq(q)) != 0) {
- if (!send_data(mp, us)) {
- putbq(q, mp);
- break;
- }
- }
-
- return 0;
-}
-
-/* should never get called... */
-static int
-ppplwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- putnext(q, mp);
- return 0;
-}
-
-static int
-ppplwsrv(q)
- queue_t *q;
-{
- queue_t *uq;
-
- /*
- * Flow control has back-enabled this stream:
- * enable the upper write service procedure for
- * the upper control stream for this lower stream.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq != 0)
- qenable(uq);
- UNLOCK_LOWER;
- return 0;
-}
-
-/*
- * This should only get called for control streams.
- */
-static int
-pppurput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *ppa, *us;
- int proto, len;
- struct iocblk *iop;
-
- ppa = (upperstr_t *) q->q_ptr;
- if (ppa == 0) {
- DPRINT("pppurput: q_ptr = 0!\n");
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_CTL:
- MT_ENTER(&ppa->stats_lock);
- switch (*mp->b_rptr) {
- case PPPCTL_IERROR:
-#ifdef INCR_IERRORS
- INCR_IERRORS(ppa);
-#endif
- ppa->stats.ppp_ierrors++;
- break;
- case PPPCTL_OERROR:
-#ifdef INCR_OERRORS
- INCR_OERRORS(ppa);
-#endif
- ppa->stats.ppp_oerrors++;
- break;
- }
- MT_EXIT(&ppa->stats_lock);
- freemsg(mp);
- break;
-
- case M_IOCACK:
- case M_IOCNAK:
- /*
- * Attempt to match up the response with the stream
- * that the request came from.
- */
- iop = (struct iocblk *) mp->b_rptr;
- for (us = ppa; us != 0; us = us->next)
- if (us->ioc_id == iop->ioc_id)
- break;
- if (us == 0)
- freemsg(mp);
- else
- putnext(us->q, mp);
- break;
-
- case M_HANGUP:
- /*
- * The serial device has hung up. We don't want to send
- * the M_HANGUP message up to pppd because that will stop
- * us from using the control stream any more. Instead we
- * send a zero-length message as an end-of-file indication.
- */
- freemsg(mp);
- mp = allocb(1, BPRI_HI);
- if (mp == 0) {
- DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
- break;
- }
- putnext(ppa->q, mp);
- break;
-
- default:
- if (mp->b_datap->db_type == M_DATA) {
- len = msgdsize(mp);
- if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
- PULLUP(mp, PPP_HDRLEN);
- if (mp == 0) {
- DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
- break;
- }
- }
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_ipackets++;
- ppa->stats.ppp_ibytes += len;
-#ifdef INCR_IPACKETS
- INCR_IPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
-
- proto = PPP_PROTOCOL(mp->b_rptr);
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- promisc_sendup(ppa, mp, proto, 1);
-#endif /* defined(SOL2) */
-
- if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
- /*
- * A data packet for some network protocol.
- * Queue it on the upper stream for that protocol.
- * XXX could we just putnext it? (would require thought)
- * The rblocked flag is there to ensure that we keep
- * messages in order for each network protocol.
- */
- if (!pass_packet(us, mp, 0))
- break;
- if (!us->rblocked && !canput(us->q))
- us->rblocked = 1;
- if (!us->rblocked)
- putq(us->q, mp);
- else
- putq(q, mp);
- break;
- }
- }
- /*
- * A control frame, a frame for an unknown protocol,
- * or some other message type.
- * Send it up to pppd via the control stream.
- */
- if (queclass(mp) == QPCTL || canputnext(ppa->q))
- putnext(ppa->q, mp);
- else
- putq(q, mp);
- break;
- }
-
- return 0;
-}
-
-static int
-pppursrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp, *hdr;
-#ifndef NO_DLPI
- dl_unitdata_ind_t *ud;
-#endif
- int proto;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppursrv: q_ptr = 0!\n");
- return 0;
- }
-
- if (us->flags & US_CONTROL) {
- /*
- * A control stream.
- * If there is no lower queue attached, run the write service
- * routines of other upper streams attached to this PPA.
- */
- if (us->lowerq == 0) {
- as = us;
- do {
- if (as->flags & US_BLOCKED)
- qenable(WR(as->q));
- as = as->next;
- } while (as != 0);
- }
-
- /*
- * Messages get queued on this stream's read queue if they
- * can't be queued on the read queue of the attached stream
- * that they are destined for. This is for flow control -
- * when this queue fills up, the lower read put procedure will
- * queue messages there and the flow control will propagate
- * down from there.
- */
- while ((mp = getq(q)) != 0) {
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
- if (!canput(as->q))
- break;
- putq(as->q, mp);
- } else {
- if (!canputnext(q))
- break;
- putnext(q, mp);
- }
- }
- if (mp) {
- putbq(q, mp);
- } else {
- /* can now put stuff directly on network protocol streams again */
- for (as = us->next; as != 0; as = as->next)
- as->rblocked = 0;
- }
-
- /*
- * If this stream has a lower stream attached,
- * enable the read queue's service routine.
- * XXX we should really only do this if the queue length
- * has dropped below the low-water mark.
- */
- if (us->lowerq != 0)
- qenable(RD(us->lowerq));
-
- } else {
- /*
- * A network protocol stream. Put a DLPI header on each
- * packet and send it on.
- * (Actually, it seems that the IP module will happily
- * accept M_DATA messages without the DL_UNITDATA_IND header.)
- */
- while ((mp = getq(q)) != 0) {
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-#ifndef NO_DLPI
- proto = PPP_PROTOCOL(mp->b_rptr);
- mp->b_rptr += PPP_HDRLEN;
- hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
- BPRI_MED);
- if (hdr == 0) {
- /* XXX should put it back and use bufcall */
- freemsg(mp);
- continue;
- }
- hdr->b_datap->db_type = M_PROTO;
- ud = (dl_unitdata_ind_t *) hdr->b_wptr;
- hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
- hdr->b_cont = mp;
- ud->dl_primitive = DL_UNITDATA_IND;
- ud->dl_dest_addr_length = sizeof(uint);
- ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- ud->dl_src_addr_length = sizeof(uint);
- ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
-#if DL_CURRENT_VERSION >= 2
- ud->dl_group_address = 0;
-#endif
- /* Send the DLPI client the data with the SAP they requested,
- (e.g. ETHERTYPE_IP) rather than the PPP protocol number
- (e.g. PPP_IP) */
- ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
- ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
- putnext(q, hdr);
-#else /* NO_DLPI */
- putnext(q, mp);
-#endif /* NO_DLPI */
- }
- /*
- * Now that we have consumed some packets from this queue,
- * enable the control stream's read service routine so that we
- * can process any packets for us that might have got queued
- * there for flow control reasons.
- */
- if (us->ppa)
- qenable(us->ppa->q);
- }
-
- return 0;
-}
-
-static upperstr_t *
-find_dest(ppa, proto)
- upperstr_t *ppa;
- int proto;
-{
- upperstr_t *us;
-
- for (us = ppa->next; us != 0; us = us->next)
- if (proto == us->sap)
- break;
- return us;
-}
-
-#if defined (SOL2)
-/*
- * Test upstream promiscuous conditions. As of now, only pass IPv4 and
- * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
- */
-static upperstr_t *
-find_promisc(us, proto)
- upperstr_t *us;
- int proto;
-{
-
- if ((proto != PPP_IP) && (proto != PPP_IPV6))
- return (upperstr_t *)0;
-
- for ( ; us; us = us->next) {
- if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
- return us;
- }
-
- return (upperstr_t *)0;
-}
-
-/*
- * Prepend an empty Ethernet header to msg for snoop, et al.
- */
-static mblk_t *
-prepend_ether(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- mblk_t *eh;
- int type;
-
- if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- if (proto == PPP_IP)
- type = ETHERTYPE_IP;
- else if (proto == PPP_IPV6)
- type = ETHERTYPE_IPV6;
- else
- type = proto; /* What else? Let decoder decide */
-
- eh->b_wptr += sizeof(struct ether_header);
- bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
- ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
- eh->b_cont = mp;
- return (eh);
-}
-
-/*
- * Prepend DL_UNITDATA_IND mblk to msg
- */
-static mblk_t *
-prepend_udind(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- dl_unitdata_ind_t *dlu;
- mblk_t *dh;
- size_t size;
-
- size = sizeof(dl_unitdata_ind_t);
- if ((dh = allocb(size, BPRI_MED)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- dh->b_datap->db_type = M_PROTO;
- dh->b_wptr = dh->b_datap->db_lim;
- dh->b_rptr = dh->b_wptr - size;
-
- dlu = (dl_unitdata_ind_t *)dh->b_rptr;
- dlu->dl_primitive = DL_UNITDATA_IND;
- dlu->dl_dest_addr_length = 0;
- dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_src_addr_length = 0;
- dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_group_address = 0;
-
- dh->b_cont = mp;
- return (dh);
-}
-
-/*
- * For any recognized promiscuous streams, send data upstream
- */
-static void
-promisc_sendup(ppa, mp, proto, skip)
- upperstr_t *ppa;
- mblk_t *mp;
- int proto, skip;
-{
- mblk_t *dup_mp, *dup_dup_mp;
- upperstr_t *prus, *nprus;
-
- if ((prus = find_promisc(ppa, proto)) != 0) {
- if (dup_mp = dupmsg(mp)) {
-
- if (skip)
- dup_mp->b_rptr += PPP_HDRLEN;
-
- for ( ; nprus = find_promisc(prus->next, proto);
- prus = nprus) {
-
- if (dup_dup_mp = dupmsg(dup_mp)) {
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- } else {
- dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_dup_mp);
- }
- }
- }
-
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_mp = prepend_ether(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- } else {
- dup_mp = prepend_udind(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_mp);
- }
- }
- }
-}
-#endif /* defined(SOL2) */
-
-/*
- * We simply put the message on to the associated upper control stream
- * (either here or in ppplrsrv). That way we enter the perimeters
- * before looking through the list of attached streams to decide which
- * stream it should go up.
- */
-static int
-ppplrput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- queue_t *uq;
- struct iocblk *iop;
-
- switch (mp->b_datap->db_type) {
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- iop->ioc_error = EINVAL;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- return 0;
- case M_FLUSH:
- if (*mp->b_rptr & FLUSHR)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHW) {
- *mp->b_rptr &= ~FLUSHR;
- qreply(q, mp);
- } else
- freemsg(mp);
- return 0;
- }
-
- /*
- * If we can't get the lower lock straight away, queue this one
- * rather than blocking, to avoid the possibility of deadlock.
- */
- if (!TRYLOCK_LOWER_R) {
- putq(q, mp);
- return 0;
- }
-
- /*
- * Check that we're still connected to the driver.
- */
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
- freemsg(mp);
- return 0;
- }
-
- /*
- * Try to forward the message to the put routine for the upper
- * control stream for this lower stream.
- * If there are already messages queued here, queue this one so
- * they don't get out of order.
- */
- if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
- put(uq, mp);
- else
- putq(q, mp);
-
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-ppplrsrv(q)
- queue_t *q;
-{
- mblk_t *mp;
- queue_t *uq;
-
- /*
- * Packets get queued here for flow control reasons
- * or if the lrput routine couldn't get the lower lock
- * without blocking.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- flushq(q, FLUSHALL);
- DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
- return 0;
- }
- while ((mp = getq(q)) != 0) {
- if (queclass(mp) == QPCTL || canput(uq))
- put(uq, mp);
- else {
- putbq(q, mp);
- break;
- }
- }
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-putctl2(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(2, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- mp->b_wptr[1] = val;
- mp->b_wptr += 2;
- putnext(q, mp);
- return 1;
-}
-
-static int
-putctl4(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(4, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- ((short *)mp->b_wptr)[1] = val;
- mp->b_wptr += 4;
- putnext(q, mp);
- return 1;
-}
-
-static void
-debug_dump(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
- queue_t *uq, *lq;
-
- DPRINT("ppp upper streams:\n");
- for (us = minor_devs; us != 0; us = us->nextmn) {
- uq = us->q;
- DPRINT3(" %d: q=%x rlev=%d",
- us->mn, uq, (uq? qsize(uq): 0));
- DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
- us->flags, "\020\1priv\2control\3blocked\4last");
- DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
- us->req_sap);
- if (us->ppa == 0)
- DPRINT(" ppa=?\n");
- else
- DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
- if (us->flags & US_CONTROL) {
- lq = us->lowerq;
- DPRINT3(" control for %d lq=%x rlev=%d",
- us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
- DPRINT3(" wlev=%d mru=%d mtu=%d\n",
- (lq? qsize(lq): 0), us->mru, us->mtu);
- }
- }
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-#ifdef FILTER_PACKETS
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <netinet/tcp.h>
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-
-
-/* The following table contains a hard-coded list of protocol/port pairs.
- * Any matching packets are either discarded unconditionally, or,
- * if ok_if_link_up is non-zero when a connection does not currently exist
- * (i.e., they go through if the connection is present, but never initiate
- * a dial-out).
- * This idea came from a post by dm@garage.uun.org (David Mazieres)
- */
-static struct pktfilt_tab {
- int proto;
- u_short port;
- u_short ok_if_link_up;
-} pktfilt_tab[] = {
- { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
- { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
- { -1, 0, 0 } /* terminator entry has port == -1 */
-};
-
-
-static int
-ip_hard_filter(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- struct ip *ip;
- struct pktfilt_tab *pft;
- mblk_t *temp_mp;
- int proto;
- int len, hlen;
-
-
- /* Note, the PPP header has already been pulled up in all cases */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
-
- switch (proto)
- {
- case PPP_IP:
- if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
- temp_mp = mp->b_cont;
- len = msgdsize(temp_mp);
- hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
- PULLUP(temp_mp, hlen);
- if (temp_mp == 0) {
- DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
- us->mn, hlen);
- mp->b_cont = 0; /* PULLUP() freed the rest */
- freemsg(mp);
- return 0;
- }
- ip = (struct ip *)mp->b_cont->b_rptr;
- }
- else {
- len = msgdsize(mp);
- hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
- us->mn, hlen);
- return 0;
- }
- ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
- }
-
- /* For IP traffic, certain packets (e.g., RIP) may be either
- * 1. ignored - dropped completely
- * 2. will not initiate a connection, but
- * will be passed if a connection is currently up.
- */
- for (pft=pktfilt_tab; pft->proto != -1; pft++) {
- if (ip->ip_p == pft->proto) {
- switch(pft->proto) {
- case IPPROTO_UDP:
- if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
- == htons(pft->port)) goto endfor;
- break;
- case IPPROTO_TCP:
- if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
- == htons(pft->port)) goto endfor;
- break;
- }
- }
- }
- endfor:
- if (pft->proto != -1) {
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
- us->mn, pft->proto, pft->port);
- /* Discard if not connected, or if not pass_with_link_up */
- /* else, if link is up let go by, but don't update time */
- return pft->ok_if_link_up? -1: 0;
- }
- break;
- } /* end switch (proto) */
-
- return 1;
-}
-#endif /* FILTER_PACKETS */
-
diff --git a/mdk-stage1/ppp/modules/ppp_ahdlc.c b/mdk-stage1/ppp/modules/ppp_ahdlc.c
deleted file mode 100644
index d0b961258..000000000
--- a/mdk-stage1/ppp/modules/ppp_ahdlc.c
+++ /dev/null
@@ -1,878 +0,0 @@
-/*
- * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
- *
- * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original ppp_ahdlc.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stream.h>
-#include <sys/errno.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/kmem.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Right now, mutex is only enabled for Solaris 2.x
- */
-#if defined(SOL2)
-#define USE_MUTEX
-#endif /* SOL2 */
-
-/*
- * intpointer_t and uintpointer_t are signed and unsigned integer types
- * large enough to hold any data pointer; that is, data pointers can be
- * assigned into or from these integer types without losing precision.
- * On recent Solaris releases, these types are defined in sys/int_types.h,
- * but not on SunOS 4.x or the earlier Solaris versions.
- */
-#if defined(_LP64) || defined(_I32LPx)
-typedef long intpointer_t;
-typedef unsigned long uintpointer_t;
-#else
-typedef int intpointer_t;
-typedef unsigned int uintpointer_t;
-#endif
-
-MOD_OPEN_DECL(ahdlc_open);
-MOD_CLOSE_DECL(ahdlc_close);
-static int ahdlc_wput __P((queue_t *, mblk_t *));
-static int ahdlc_rput __P((queue_t *, mblk_t *));
-static void ahdlc_encode __P((queue_t *, mblk_t *));
-static void ahdlc_decode __P((queue_t *, mblk_t *));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-#if defined(SOL2)
-/*
- * Don't send HDLC start flag is last transmit is within 1.5 seconds -
- * FLAG_TIME is defined is microseconds
- */
-#define FLAG_TIME 1500
-#define ABS(x) (x >= 0 ? x : (-x))
-#endif /* SOL2 */
-
-/*
- * Extract byte i of message mp
- */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/*
- * Is this LCP packet one we have to transmit using LCP defaults?
- */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-/*
- * Standard STREAMS declarations
- */
-static struct module_info minfo = {
- 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
-};
-
-static struct qinit rinit = {
- ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int phdldevflag = 0;
-#define ppp_ahdlcinfo phdlinfo
-#endif /* defined(SVR4) && !defined(SOL2) */
-
-struct streamtab ppp_ahdlcinfo = {
- &rinit, /* ptr to st_rdinit */
- &winit, /* ptr to st_wrinit */
- NULL, /* ptr to st_muxrinit */
- NULL, /* ptr to st_muxwinit */
-#if defined(SUNOS4)
- NULL /* ptr to ptr to st_modlist */
-#endif /* SUNOS4 */
-};
-
-#if defined(SUNOS4)
-int ppp_ahdlc_count = 0; /* open counter */
-#endif /* SUNOS4 */
-
-/*
- * Per-stream state structure
- */
-typedef struct ahdlc_state {
-#if defined(USE_MUTEX)
- kmutex_t lock; /* lock for this structure */
-#endif /* USE_MUTEX */
- int flags; /* link flags */
- mblk_t *rx_buf; /* ptr to receive buffer */
- int rx_buf_size; /* receive buffer size */
- ushort_t infcs; /* calculated rx HDLC FCS */
- u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
- u_int32_t raccm; /* 32-bit rcv ACCM */
- int mtu; /* interface MTU */
- int mru; /* link MRU */
- int unit; /* current PPP unit number */
- struct pppstat stats; /* statistic structure */
-#if defined(SOL2)
- clock_t flag_time; /* time in usec between flags */
- clock_t lbolt; /* last updated lbolt */
-#endif /* SOL2 */
-} ahdlc_state_t;
-
-/*
- * Values for flags
- */
-#define ESCAPED 0x100 /* last saw escape char on input */
-#define IFLUSH 0x200 /* flushing input due to error */
-
-/*
- * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
- */
-#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-static u_int32_t paritytab[8] =
-{
- 0x96696996, 0x69969669, 0x69969669, 0x96696996,
- 0x69969669, 0x96696996, 0x96696996, 0x69969669
-};
-
-/*
- * STREAMS module open (entry) point
- */
-MOD_OPEN(ahdlc_open)
-{
- ahdlc_state_t *state;
-
- /*
- * Return if it's already opened
- */
- if (q->q_ptr) {
- return 0;
- }
-
- /*
- * This can only be opened as a module
- */
- if (sflag != MODOPEN) {
- return 0;
- }
-
- state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
- if (state == 0)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t) state, sizeof(ahdlc_state_t));
-
- q->q_ptr = (caddr_t) state;
- WR(q)->q_ptr = (caddr_t) state;
-
-#if defined(USE_MUTEX)
- mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
- state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
- state->mru = PPP_MRU; /* default of 1500 bytes */
-#if defined(SOL2)
- state->flag_time = drv_usectohz(FLAG_TIME);
-#endif /* SOL2 */
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
-#if defined(SUNOS4)
- ppp_ahdlc_count++;
-#endif /* SUNOS4 */
-
- qprocson(q);
-
- return 0;
-}
-
-/*
- * STREAMS module close (exit) point
- */
-MOD_CLOSE(ahdlc_close)
-{
- ahdlc_state_t *state;
-
- qprocsoff(q);
-
- state = (ahdlc_state_t *) q->q_ptr;
-
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_close\n");
- return 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- if (state->rx_buf != 0) {
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
- mutex_destroy(&state->lock);
-#endif /* USE_MUTEX */
-
- FREE(q->q_ptr, sizeof(ahdlc_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
-
-#if defined(SUNOS4)
- if (ppp_ahdlc_count)
- ppp_ahdlc_count--;
-#endif /* SUNOS4 */
-
- return 0;
-}
-
-/*
- * Write side put routine
- */
-static int
-ahdlc_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- struct iocblk *iop;
- int error;
- mblk_t *np;
- struct ppp_stats *psp;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * A data packet - do character-stuffing and FCS, and
- * send it onwards.
- */
- ahdlc_encode(q, mp);
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
- case PPPIO_XACCM:
- if ((iop->ioc_count < sizeof(u_int32_t)) ||
- (iop->ioc_count > sizeof(ext_accm))) {
- break;
- }
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
- iop->ioc_count);
- state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
- state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_RACCM:
- if (iop->ioc_count != sizeof(u_int32_t))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
- sizeof(u_int32_t));
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GCLEAN:
- np = allocb(sizeof(int), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- *(int *)np->b_wptr = state->flags & RCV_FLAGS;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- np->b_wptr += sizeof(int);
- iop->ioc_count = sizeof(int);
- error = 0;
- break;
-
- case PPPIO_GETSTAT:
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- bzero((caddr_t)psp, sizeof(struct ppp_stats));
- psp->p = state->stats;
- iop->ioc_count = sizeof(struct ppp_stats);
- error = 0;
- break;
-
- case PPPIO_LASTMOD:
- /* we knew this anyway */
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mtu = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_MRU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mru = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_UNIT:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->unit = mp->b_rptr[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- break;
- default:
- putnext(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-/*
- * Read side put routine
- */
-static int
-ahdlc_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- ahdlc_decode(q, mp);
- freemsg(mp);
- break;
-
- case M_HANGUP:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- if (state->rx_buf != 0) {
- /* XXX would like to send this up for debugging */
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
- state->flags = IFLUSH;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Extract bit c from map m, to determine if c needs to be escaped
- */
-#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
-
-static void
-ahdlc_encode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- u_int32_t *xaccm, loc_xaccm[8];
- ushort_t fcs;
- size_t outmp_len;
- mblk_t *outmp, *tmp;
- uchar_t *dp, fcs_val;
- int is_lcp, code;
-#if defined(SOL2)
- clock_t lbolt;
-#endif /* SOL2 */
-
- if (msgdsize(mp) < 4) {
- return;
- }
-
- state = (ahdlc_state_t *)q->q_ptr;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- /*
- * Allocate an output buffer large enough to handle a case where all
- * characters need to be escaped
- */
- outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
- (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
- (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
-
- outmp = allocb(outmp_len, BPRI_MED);
- if (outmp == NULL) {
- state->stats.ppp_oerrors++;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- return;
- }
-
-#if defined(SOL2)
- /*
- * Check if our last transmit happenned within flag_time, using
- * the system's LBOLT value in clock ticks
- */
- if (drv_getparm(LBOLT, &lbolt) != -1) {
- if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
- state->lbolt = lbolt;
- } else {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#else
- /*
- * If the driver below still has a message to process, skip the
- * HDLC flag, otherwise, put one in the beginning
- */
- if (qsize(q->q_next) == 0) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#endif
-
- /*
- * All control characters must be escaped for LCP packets with code
- * values between 1 (Conf-Req) and 7 (Code-Rej).
- */
- is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
- (MSG_BYTE(mp, 1) == PPP_UI) &&
- (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
- (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
- LCP_USE_DFLT(mp));
-
- xaccm = state->xaccm;
- if (is_lcp) {
- bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
- loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
- xaccm = loc_xaccm;
- }
-
- fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
-
- /*
- * Process this block and the rest (if any) attached to the this one
- */
- for (tmp = mp; tmp; tmp = tmp->b_cont) {
- if (tmp->b_datap->db_type == M_DATA) {
- for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
- fcs = PPP_FCS(fcs, *dp);
- if (IN_TX_MAP(*dp, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = *dp ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = *dp;
- }
- }
- } else {
- continue; /* skip if db_type is something other than M_DATA */
- }
- }
-
- /*
- * Append the HDLC FCS, making sure that escaping is done on any
- * necessary bytes
- */
- fcs_val = (fcs ^ 0xffff) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- /*
- * And finally, append the HDLC flag, and send it away
- */
- *outmp->b_wptr++ = PPP_FLAG;
-
- state->stats.ppp_obytes += msgdsize(outmp);
- state->stats.ppp_opackets++;
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
- putnext(q, outmp);
- return;
-}
-
-/*
- * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
- */
-#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
- (m) & (1 << (c)))
-
-
-/*
- * Process received characters.
- */
-static void
-ahdlc_decode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- mblk_t *om;
- uchar_t *dp;
- ushort_t fcs;
-#if defined(SOL2)
- mblk_t *zmp;
-#endif /* SOL2 */
-
-#if defined(SOL2)
- /*
- * In case the driver (or something below) doesn't send
- * data upstream in one message block, concatenate everything
- */
- if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
- ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
-
- zmp = msgpullup(mp, -1);
- freemsg(mp);
- mp = zmp;
- if (mp == 0)
- return;
- }
-#endif /* SOL2 */
-
- state = (ahdlc_state_t *) q->q_ptr;
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->stats.ppp_ibytes += msgdsize(mp);
-
- for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
-
- /*
- * This should detect the lack of 8-bit communication channel
- * which is necessary for PPP to work. In addition, it also
- * checks on the parity.
- */
- if (*dp & 0x80)
- state->flags |= RCV_B7_1;
- else
- state->flags |= RCV_B7_0;
-
- if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
- state->flags |= RCV_ODDP;
- else
- state->flags |= RCV_EVNP;
-
- /*
- * So we have a HDLC flag ...
- */
- if (*dp == PPP_FLAG) {
-
- /*
- * If we think that it marks the beginning of the frame,
- * then continue to process the next octects
- */
- if ((state->flags & IFLUSH) ||
- (state->rx_buf == 0) ||
- (msgdsize(state->rx_buf) == 0)) {
-
- state->flags &= ~IFLUSH;
- continue;
- }
-
- /*
- * We get here because the above condition isn't true,
- * in which case the HDLC flag was there to mark the end
- * of the frame (or so we think)
- */
- om = state->rx_buf;
-
- if (state->infcs == PPP_GOODFCS) {
- state->stats.ppp_ipackets++;
- adjmsg(om, -PPP_FCSLEN);
- putnext(q, om);
- } else {
- DPRINT2("ppp%d: bad fcs (len=%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->flags &= ~(IFLUSH | ESCAPED);
- state->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- state->rx_buf = 0;
- continue;
- }
-
- if (state->flags & IFLUSH) {
- continue;
- }
-
- /*
- * Allocate a receive buffer, large enough to store a frame (after
- * un-escaping) of at least 1500 octets. If MRU is negotiated to
- * be more than the default, then allocate that much. In addition,
- * we add an extra 32-bytes for a fudge factor
- */
- if (state->rx_buf == 0) {
- state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
- state->rx_buf_size += (sizeof(u_int32_t) << 3);
- state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
-
- /*
- * If allocation fails, try again on the next frame
- */
- if (state->rx_buf == 0) {
- state->flags |= IFLUSH;
- continue;
- }
- state->flags &= ~(IFLUSH | ESCAPED);
- state->infcs = PPP_INITFCS;
- }
-
- if (*dp == PPP_ESCAPE) {
- state->flags |= ESCAPED;
- continue;
- }
-
- /*
- * Make sure we un-escape the necessary characters, as well as the
- * ones in our receive async control character map
- */
- if (state->flags & ESCAPED) {
- *dp ^= PPP_TRANS;
- state->flags &= ~ESCAPED;
- } else if (IN_RX_MAP(*dp, state->raccm))
- continue;
-
- /*
- * Unless the peer lied to us about the negotiated MRU, we should
- * never get a frame which is too long. If it happens, toss it away
- * and grab the next incoming one
- */
- if (msgdsize(state->rx_buf) < state->rx_buf_size) {
- state->infcs = PPP_FCS(state->infcs, *dp);
- *state->rx_buf->b_wptr++ = *dp;
- } else {
- DPRINT2("ppp%d: frame too long (%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- state->flags |= IFLUSH;
- }
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-}
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/modules/ppp_comp.c b/mdk-stage1/ppp/modules/ppp_comp.c
deleted file mode 100644
index f6eef5ab1..000000000
--- a/mdk-stage1/ppp/modules/ppp_comp.c
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
- * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/stream.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-#ifdef __osf__
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#endif
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <net/vjcompress.h>
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-MOD_OPEN_DECL(ppp_comp_open);
-MOD_CLOSE_DECL(ppp_comp_close);
-static int ppp_comp_rput __P((queue_t *, mblk_t *));
-static int ppp_comp_rsrv __P((queue_t *));
-static int ppp_comp_wput __P((queue_t *, mblk_t *));
-static int ppp_comp_wsrv __P((queue_t *));
-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-/* Extract byte i of message mp. */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/* Is this LCP packet one we have to transmit using LCP defaults? */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-#define PPP_COMP_ID 0xbadf
-static struct module_info minfo = {
-#ifdef PRIOQ
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
-#else
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
-#endif
-};
-
-static struct qinit r_init = {
- ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
- NULL, &minfo, NULL
-};
-
-static struct qinit w_init = {
- ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int pcmpdevflag = 0;
-#define ppp_compinfo pcmpinfo
-#endif
-struct streamtab ppp_compinfo = {
- &r_init, &w_init, NULL, NULL
-};
-
-int ppp_comp_count; /* number of module instances in use */
-
-#ifdef __osf__
-
-static void ppp_comp_alloc __P((comp_state_t *));
-typedef struct memreq {
- unsigned char comp_opts[20];
- int cmd;
- int thread_status;
- char *returned_mem;
-} memreq_t;
-
-#endif
-
-typedef struct comp_state {
- int flags;
- int mru;
- int mtu;
- int unit;
- struct compressor *xcomp;
- void *xstate;
- struct compressor *rcomp;
- void *rstate;
- struct vjcompress vj_comp;
- int vj_last_ierrors;
- struct pppstat stats;
-#ifdef __osf__
- memreq_t memreq;
- thread_t thread;
-#endif
-} comp_state_t;
-
-
-#ifdef __osf__
-extern task_t first_task;
-#endif
-
-/* Bits in flags are as defined in pppio.h. */
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define LAST_MOD 0x1000000 /* no ppp modules below us */
-#define DBGLOG 0x2000000 /* log debugging stuff */
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
-
-#undef MIN /* just in case */
-#define MIN(a, b) ((a) < (b)? (a): (b))
-
-/*
- * List of compressors we know about.
- */
-
-#if DO_BSD_COMPRESS
-extern struct compressor ppp_bsd_compress;
-#endif
-#if DO_DEFLATE
-extern struct compressor ppp_deflate, ppp_deflate_draft;
-#endif
-
-struct compressor *ppp_compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
- &ppp_deflate_draft,
-#endif
- NULL
-};
-
-/*
- * STREAMS module entry points.
- */
-MOD_OPEN(ppp_comp_open)
-{
- comp_state_t *cp;
-#ifdef __osf__
- thread_t thread;
-#endif
-
- if (q->q_ptr == NULL) {
- cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
- if (cp == NULL)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t)cp, sizeof(comp_state_t));
- WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
- cp->mru = PPP_MRU;
- cp->mtu = PPP_MTU;
- cp->xstate = NULL;
- cp->rstate = NULL;
- vj_compress_init(&cp->vj_comp, -1);
-#ifdef __osf__
- if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
- OPEN_ERROR(ENOSR);
- cp->thread = thread;
-#endif
- ++ppp_comp_count;
- qprocson(q);
- }
- return 0;
-}
-
-MOD_CLOSE(ppp_comp_close)
-{
- comp_state_t *cp;
-
- qprocsoff(q);
- cp = (comp_state_t *) q->q_ptr;
- if (cp != NULL) {
- if (cp->xstate != NULL)
- (*cp->xcomp->comp_free)(cp->xstate);
- if (cp->rstate != NULL)
- (*cp->rcomp->decomp_free)(cp->rstate);
-#ifdef __osf__
- if (!cp->thread)
- printf("ppp_comp_close: NULL thread!\n");
- else
- thread_terminate(cp->thread);
-#endif
- FREE(cp, sizeof(comp_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
- --ppp_comp_count;
- }
- return 0;
-}
-
-#ifdef __osf__
-
-/* thread for calling back to a compressor's memory allocator
- * Needed for Digital UNIX since it's VM can't handle requests
- * for large amounts of memory without blocking. The thread
- * provides a context in which we can call a memory allocator
- * that may block.
- */
-static void
-ppp_comp_alloc(comp_state_t *cp)
-{
- int len, cmd;
- unsigned char *compressor_options;
- thread_t thread;
- void *(*comp_allocator)();
-
-
-#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
-
- /* In 2.x and earlier the argument gets passed
- * in the thread structure itself. Yuck.
- */
- thread = current_thread();
- cp = thread->reply_port;
- thread->reply_port = PORT_NULL;
-
-#endif
-
- for (;;) {
- assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
- thread_block();
-
- if (thread_should_halt(current_thread()))
- thread_halt_self();
- cmd = cp->memreq.cmd;
- compressor_options = &cp->memreq.comp_opts[0];
- len = compressor_options[1];
- if (cmd == PPPIO_XCOMP) {
- cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- } else {
- cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- }
- }
-}
-
-#endif /* __osf__ */
-
-/* here's the deal with memory allocation under Digital UNIX.
- * Some other may also benefit from this...
- * We can't ask for huge chunks of memory in a context where
- * the caller can't be put to sleep (like, here.) The alloc
- * is likely to fail. Instead we do this: the first time we
- * get called, kick off a thread to do the allocation. Return
- * immediately to the caller with EAGAIN, as an indication that
- * they should send down the ioctl again. By the time the
- * second call comes in it's likely that the memory allocation
- * thread will have returned with the requested memory. We will
- * continue to return EAGAIN however until the thread has completed.
- * When it has, we return zero (and the memory) if the allocator
- * was successful and ENOSR otherwise.
- *
- * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
- * required) to loop for some number of iterations with a small
- * delay in the loop body (for instance a 1/10-th second "sleep"
- * via select.)
- */
-static int
-ppp_comp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- struct iocblk *iop;
- comp_state_t *cp;
- int error, len, n;
- int flags, mask;
- mblk_t *np;
- struct compressor **comp;
- struct ppp_stats *psp;
- struct ppp_comp_stats *csp;
- unsigned char *opt_data;
- int nxslots, nrslots;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
-
- case PPPIO_CFLAGS:
- /* set/get CCP state */
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
- break;
- }
- flags = ((int *) mp->b_cont->b_rptr)[0];
- mask = ((int *) mp->b_cont->b_rptr)[1];
- cp->flags = (cp->flags & ~mask) | (flags & mask);
- if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->flags &= ~CCP_ISUP;
- }
- error = 0;
- iop->ioc_count = sizeof(int);
- ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
- mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
- break;
-
- case PPPIO_VJINIT:
- /*
- * Initialize VJ compressor/decompressor
- */
- if (iop->ioc_count != 2)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
- break;
- }
- nxslots = mp->b_cont->b_rptr[0] + 1;
- nrslots = mp->b_cont->b_rptr[1] + 1;
- if (nxslots > MAX_STATES || nrslots > MAX_STATES)
- break;
- vj_compress_init(&cp->vj_comp, nxslots);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_XCOMP:
- case PPPIO_RCOMP:
- if (iop->ioc_count <= 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
- break;
- }
- opt_data = mp->b_cont->b_rptr;
- len = mp->b_cont->b_wptr - opt_data;
- if (len > iop->ioc_count)
- len = iop->ioc_count;
- if (opt_data[1] < 2 || opt_data[1] > len)
- break;
- for (comp = ppp_compressors; *comp != NULL; ++comp)
- if ((*comp)->compress_proto == opt_data[0]) {
- /* here's the handler! */
- error = 0;
-#ifndef __osf__
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- /* A previous call may have fetched memory for a compressor
- * that's now being retired or reset. Free it using it's
- * mechanism for freeing stuff.
- */
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- cp->xcomp = *comp;
- cp->xstate = (*comp)->comp_alloc(opt_data, len);
- if (cp->xstate == NULL)
- error = ENOSR;
- } else {
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->rcomp = *comp;
- cp->rstate = (*comp)->decomp_alloc(opt_data, len);
- if (cp->rstate == NULL)
- error = ENOSR;
- }
-#else
- if ((error = cp->memreq.thread_status) != EAGAIN)
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- if (cp->xstate) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = 0;
- }
- /* sanity check for compressor options
- */
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- /* fill in request for the thread and kick it off
- */
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_XCOMP;
- cp->xcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->xstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- } else {
- if (cp->rstate) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_RCOMP;
- cp->rcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->rstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- }
-#endif
- break;
- }
- iop->ioc_count = 0;
- break;
-
- case PPPIO_GETSTAT:
- if ((cp->flags & LAST_MOD) == 0) {
- error = -1; /* let the ppp_ahdl module handle it */
- break;
- }
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- iop->ioc_count = sizeof(struct ppp_stats);
- psp->p = cp->stats;
- psp->vj = cp->vj_comp.stats;
- error = 0;
- break;
-
- case PPPIO_GETCSTAT:
- np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- csp = (struct ppp_comp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_comp_stats);
- iop->ioc_count = sizeof(struct ppp_comp_stats);
- bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
- if (cp->xstate != 0)
- (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
- if (cp->rstate != 0)
- (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_LOG + PPPDBG_COMP) {
- DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
- cp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- } else {
- error = -1;
- }
- break;
-
- case PPPIO_LASTMOD:
- cp->flags |= LAST_MOD;
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_error = error;
- iop->ioc_count = 0;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
- cp->mtu = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_MRU:
- cp->mru = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_UNIT:
- cp->unit = mp->b_rptr[1];
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_wsrv(q)
- queue_t *q;
-{
- mblk_t *mp, *cmp = NULL;
- comp_state_t *cp;
- int len, proto, type, hlen, code;
- struct ip *ip;
- unsigned char *vjhdr, *dp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
-#ifdef PRIOQ
- if (!bcanputnext(q,mp->b_band))
-#else
- if (!canputnext(q))
-#endif PRIOQ
- {
- putbq(q, mp);
- break;
- }
-
- /*
- * First check the packet length and work out what the protocol is.
- */
- len = msgdsize(mp);
- if (len < PPP_HDRLEN) {
- DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
- freemsg(mp);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
-
- /*
- * Make sure we've got enough data in the first mblk
- * and that we are its only user.
- */
- if (proto == PPP_CCP)
- hlen = len;
- else if (proto == PPP_IP)
- hlen = PPP_HDRLEN + MAX_IPHDR;
- else
- hlen = PPP_HDRLEN;
- if (hlen > len)
- hlen = len;
- if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- }
-
- /*
- * Do VJ compression if requested.
- */
- if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
- ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
- if (ip->ip_p == IPPROTO_TCP) {
- type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
- (cp->flags & COMP_VJCCID), &vjhdr);
- switch (type) {
- case TYPE_UNCOMPRESSED_TCP:
- mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
- break;
- case TYPE_COMPRESSED_TCP:
- dp = vjhdr - PPP_HDRLEN;
- dp[1] = mp->b_rptr[1]; /* copy control field */
- dp[0] = mp->b_rptr[0]; /* copy address field */
- dp[2] = 0; /* set protocol field */
- dp[3] = proto = PPP_VJC_COMP;
- mp->b_rptr = dp;
- break;
- }
- }
- }
-
- /*
- * Do packet compression if enabled.
- */
- if (proto == PPP_CCP)
- ppp_comp_ccp(q, mp, 0);
- else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
- && cp->xstate != NULL) {
- len = msgdsize(mp);
- (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
- (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
- if (cmp != NULL) {
-#ifdef PRIOQ
- cmp->b_band=mp->b_band;
-#endif PRIOQ
- freemsg(mp);
- mp = cmp;
- }
- }
-
- /*
- * Do address/control and protocol compression if enabled.
- */
- if ((cp->flags & COMP_AC)
- && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
- mp->b_rptr += 2; /* drop the address & ctrl fields */
- if (proto < 0x100 && (cp->flags & COMP_PROT))
- ++mp->b_rptr; /* drop the high protocol byte */
- } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
- /* shuffle up the address & ctrl fields */
- mp->b_rptr[2] = mp->b_rptr[1];
- mp->b_rptr[1] = mp->b_rptr[0];
- ++mp->b_rptr;
- }
-
- cp->stats.ppp_opackets++;
- cp->stats.ppp_obytes += msgdsize(mp);
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- comp_state_t *cp;
- struct iocblk *iop;
- struct ppp_stats *psp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCACK:
- iop = (struct iocblk *) mp->b_rptr;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- /*
- * Catch this on the way back from the ppp_ahdl module
- * so we can fill in the VJ stats.
- */
- if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
- break;
- psp = (struct ppp_stats *) mp->b_cont->b_rptr;
- psp->vj = cp->vj_comp.stats;
- break;
- }
- putnext(q, mp);
- break;
-
- case M_CTL:
- switch (mp->b_rptr[0]) {
- case PPPCTL_IERROR:
- ++cp->stats.ppp_ierrors;
- break;
- case PPPCTL_OERROR:
- ++cp->stats.ppp_oerrors;
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rsrv(q)
- queue_t *q;
-{
- int proto, rv, i;
- mblk_t *mp, *dmp = NULL, *np;
- uchar_t *dp, *iphdr;
- comp_state_t *cp;
- int len, hlen, vjlen;
- u_int iphlen;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-
- len = msgdsize(mp);
- cp->stats.ppp_ibytes += len;
- cp->stats.ppp_ipackets++;
-
- /*
- * First work out the protocol and where the PPP header ends.
- */
- i = 0;
- proto = MSG_BYTE(mp, 0);
- if (proto == PPP_ALLSTATIONS) {
- i = 2;
- proto = MSG_BYTE(mp, 2);
- }
- if ((proto & 1) == 0) {
- ++i;
- proto = (proto << 8) + MSG_BYTE(mp, i);
- }
- hlen = i + 1;
-
- /*
- * Now reconstruct a complete, contiguous PPP header at the
- * start of the packet.
- */
- if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
- + ((cp->flags & DECOMP_PROT)? 1: 2)) {
- /* count these? */
- goto bad;
- }
- if (mp->b_rptr + hlen > mp->b_wptr) {
- adjmsg(mp, hlen); /* XXX check this call */
- hlen = 0;
- }
- if (hlen != PPP_HDRLEN) {
- /*
- * We need to put some bytes on the front of the packet
- * to make a full-length PPP header.
- * If we can put them in *mp, we do, otherwise we
- * tack another mblk on the front.
- * XXX we really shouldn't need to carry around
- * the address and control at this stage.
- */
- dp = mp->b_rptr + hlen - PPP_HDRLEN;
- if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_MED);
- if (np == 0)
- goto bad;
- np->b_cont = mp;
- mp->b_rptr += hlen;
- mp = np;
- dp = mp->b_wptr;
- mp->b_wptr += PPP_HDRLEN;
- } else
- mp->b_rptr = dp;
-
- dp[0] = PPP_ALLSTATIONS;
- dp[1] = PPP_UI;
- dp[2] = proto >> 8;
- dp[3] = proto;
- }
-
- /*
- * Now see if we have a compressed packet to decompress,
- * or a CCP packet to take notice of.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_CCP) {
- len = msgdsize(mp);
- if (mp->b_wptr < mp->b_rptr + len) {
- PULLUP(mp, len);
- if (mp == 0)
- goto bad;
- }
- ppp_comp_ccp(q, mp, 1);
- } else if (proto == PPP_COMP) {
- if ((cp->flags & CCP_ISUP)
- && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
- && (cp->flags & CCP_ERR) == 0) {
- rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
- switch (rv) {
- case DECOMP_OK:
- freemsg(mp);
- mp = dmp;
- if (mp == NULL) {
- /* no error, but no packet returned either. */
- continue;
- }
- break;
- case DECOMP_ERROR:
- cp->flags |= CCP_ERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- case DECOMP_FATALERROR:
- cp->flags |= CCP_FATALERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- }
- }
- } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->incomp)(cp->rstate, mp);
- }
-
- /*
- * Now do VJ decompression.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
- len = msgdsize(mp) - PPP_HDRLEN;
- if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
- goto bad;
-
- /*
- * Advance past the ppp header.
- * Here we assume that the whole PPP header is in the first mblk.
- */
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- if (dp >= mp->b_wptr) {
- np = np->b_cont;
- dp = np->b_rptr;
- }
-
- /*
- * Make sure we have sufficient contiguous data at this point.
- */
- hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
- if (hlen > len)
- hlen = len;
- if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
- PULLUP(mp, hlen + PPP_HDRLEN);
- if (mp == 0)
- goto bad;
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- }
-
- if (proto == PPP_VJC_COMP) {
- /*
- * Decompress VJ-compressed packet.
- * First reset compressor if an input error has occurred.
- */
- if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
- if (cp->flags & DBGLOG)
- DPRINT1("ppp%d: resetting VJ\n", cp->unit);
- vj_uncompress_err(&cp->vj_comp);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- }
-
- vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
- &cp->vj_comp, &iphdr, &iphlen);
- if (vjlen < 0) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* so we don't reset next time */
- goto bad;
- }
-
- /* drop ppp and vj headers off */
- if (mp != np) {
- freeb(mp);
- mp = np;
- }
- mp->b_rptr = dp + vjlen;
-
- /* allocate a new mblk for the ppp and ip headers */
- if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
- goto bad;
- dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
- dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
- dp[1] = PPP_UI;
- dp[2] = PPP_IP >> 8;
- dp[3] = PPP_IP;
- bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
- np->b_wptr = dp + iphlen + PPP_HDRLEN;
- np->b_cont = mp;
-
- /* XXX there seems to be a bug which causes panics in strread
- if we make an mbuf with only the IP header in it :-( */
- if (mp->b_wptr - mp->b_rptr > 4) {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
- mp->b_rptr += 4;
- np->b_wptr += 4;
- } else {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
- mp->b_wptr - mp->b_rptr);
- np->b_wptr += mp->b_wptr - mp->b_rptr;
- np->b_cont = mp->b_cont;
- freeb(mp);
- }
-
- mp = np;
-
- } else {
- /*
- * "Decompress" a VJ-uncompressed packet.
- */
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* don't need to reset next time */
- goto bad;
- }
- mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
- }
- }
-
- putnext(q, mp);
- continue;
-
- bad:
- if (mp != 0)
- freemsg(mp);
- cp->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- return 0;
-}
-
-/*
- * Handle a CCP packet being sent or received.
- * Here all the data in the packet is in a single mbuf.
- */
-static void
-ppp_comp_ccp(q, mp, rcvd)
- queue_t *q;
- mblk_t *mp;
- int rcvd;
-{
- int len, clen;
- comp_state_t *cp;
- unsigned char *dp;
-
- len = msgdsize(mp);
- if (len < PPP_HDRLEN + CCP_HDRLEN)
- return;
-
- cp = (comp_state_t *) q->q_ptr;
- dp = mp->b_rptr + PPP_HDRLEN;
- len -= PPP_HDRLEN;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFREQ:
- case CCP_TERMREQ:
- case CCP_TERMACK:
- cp->flags &= ~CCP_ISUP;
- break;
-
- case CCP_CONFACK:
- if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
- && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
- && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
- if (!rcvd) {
- if (cp->xstate != NULL
- && (*cp->xcomp->comp_init)
- (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
- cp->flags |= CCP_COMP_RUN;
- } else {
- if (cp->rstate != NULL
- && (*cp->rcomp->decomp_init)
- (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- }
- }
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (!rcvd) {
- if (cp->xstate && (cp->flags & CCP_COMP_RUN))
- (*cp->xcomp->comp_reset)(cp->xstate);
- } else {
- if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->decomp_reset)(cp->rstate);
- cp->flags &= ~CCP_ERROR;
- }
- }
- }
- break;
- }
-}
-
-#if 0
-dump_msg(mp)
- mblk_t *mp;
-{
- dblk_t *db;
-
- while (mp != 0) {
- db = mp->b_datap;
- DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
- DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
- DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
- DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
- mp = mp->b_cont;
- }
-}
-#endif
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/modules/ppp_mod.h b/mdk-stage1/ppp/modules/ppp_mod.h
deleted file mode 100644
index f0af00886..000000000
--- a/mdk-stage1/ppp/modules/ppp_mod.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Miscellaneous definitions for PPP STREAMS modules.
- */
-
-/*
- * Macros for allocating and freeing kernel memory.
- */
-#ifdef SVR4 /* SVR4, including Solaris 2 */
-#include <sys/kmem.h>
-#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#endif
-
-#ifdef SUNOS4
-#include <sys/kmem_alloc.h> /* SunOS 4.x */
-#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#define NOTSUSER() (suser()? 0: EPERM)
-#define bcanputnext(q, band) canputnext((q))
-#endif /* SunOS 4 */
-
-#ifdef __osf__
-#include <sys/malloc.h>
-
-/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
- * which are subject to change.
- * The problems are that:
- * - the official MALLOC macro wants the lhs of the assignment as an argument,
- * and it takes care of the assignment itself (yuck.)
- * - PPP insists on using "FREE" which conflicts with a macro of the same name.
- *
- */
-#ifdef BUCKETINDX /* V2.0 */
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
-#else
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
-#endif
-
-#define bcanputnext(q, band) canputnext((q))
-
-#ifdef FREE
-#undef FREE
-#endif
-#define FREE(p, n) free((void *)(p), M_DEVBUF)
-
-#define NO_DLPI 1
-
-#ifndef IFT_PPP
-#define IFT_PPP 0x17
-#endif
-
-#include <sys/proc.h>
-#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
-
-/* #include "ppp_osf.h" */
-
-#endif /* __osf__ */
-
-#ifdef AIX4
-#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define FREE(p, n) xmfree((p), pinned_heap)
-#define NOTSUSER() (suser()? 0: EPERM)
-#endif /* AIX */
-
-/*
- * Macros for printing debugging stuff.
- */
-#ifdef DEBUG
-#if defined(SVR4) || defined(__osf__)
-#if defined(SNI)
-#include <sys/strlog.h>
-#define STRLOG_ID 4712
-#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
-#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
-#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
-#else
-#define DPRINT(f) cmn_err(CE_CONT, f)
-#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
-#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
-#endif /* SNI */
-#else
-#define DPRINT(f) printf(f)
-#define DPRINT1(f, a1) printf(f, a1)
-#define DPRINT2(f, a1, a2) printf(f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
-#endif /* SVR4 or OSF */
-
-#else
-#define DPRINT(f) 0
-#define DPRINT1(f, a1) 0
-#define DPRINT2(f, a1, a2) 0
-#define DPRINT3(f, a1, a2, a3) 0
-#endif /* DEBUG */
-
-#ifndef SVR4
-typedef unsigned char uchar_t;
-typedef unsigned short ushort_t;
-#ifndef __osf__
-typedef int minor_t;
-#endif
-#endif
-
-/*
- * If we don't have multithreading support, define substitutes.
- */
-#ifndef D_MP
-# define qprocson(q)
-# define qprocsoff(q)
-# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
-# define canputnext(q) canput((q)->q_next)
-# define qwriter(q, mp, func, scope) (func)((q), (mp))
-#endif
-
-#ifdef D_MP
-/* Use msgpullup if we have other multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- mblk_t *np = msgpullup((mp), (len)); \
- freemsg((mp)); \
- mp = np; \
- } while (0)
-
-#else
-/* Use pullupmsg if we don't have any multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- if (!pullupmsg((mp), (len))) { \
- freemsg((mp)); \
- mp = 0; \
- } \
- } while (0)
-#endif
-
-/*
- * How to declare the open and close procedures for a module.
- */
-#ifdef SVR4
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int, cred_t *))
-
-#define MOD_OPEN(name) \
-static int name(q, devp, flag, sflag, credp) \
- queue_t *q; \
- dev_t *devp; \
- int flag, sflag; \
- cred_t *credp;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag, credp) \
- queue_t *q; \
- int flag; \
- cred_t *credp;
-
-#define OPEN_ERROR(x) return (x)
-#define DRV_OPEN_OK(dev) return 0
-
-#define NOTSUSER() (drv_priv(credp))
-
-#else /* not SVR4 */
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, int, int, int))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int))
-
-#define MOD_OPEN(name) \
-static int name(q, dev, flag, sflag) \
- queue_t *q; \
- int dev; \
- int flag, sflag;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag) \
- queue_t *q; \
- int flag;
-
-#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
-#define DRV_OPEN_OK(dev) return (dev)
-
-#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/modules/vjcompress.c b/mdk-stage1/ppp/modules/vjcompress.c
deleted file mode 100644
index 809b87231..000000000
--- a/mdk-stage1/ppp/modules/vjcompress.c
+++ /dev/null
@@ -1,587 +0,0 @@
-/*
- * Routines to compress and uncompess tcp packets (for transmission
- * over low speed serial lines.
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
- * - Initial distribution.
- *
- * Modified June 1993 by Paul Mackerras, paulus@cs.anu.edu.au,
- * so that the entire packet being decompressed doesn't have
- * to be in contiguous memory (just the compressed header).
- */
-
-/*
- * This version is used under SunOS 4.x, Digital UNIX, AIX 4.x,
- * and SVR4 systems including Solaris 2.
- *
- * $Id$
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-
-#ifdef SVR4
-#ifndef __GNUC__
-#include <sys/byteorder.h> /* for ntohl, etc. */
-#else
-/* make sure we don't get the gnu "fixed" one! */
-#include "/usr/include/sys/byteorder.h"
-#endif
-#endif
-
-#ifdef __osf__
-#include <net/net_globals.h>
-#endif
-#include <netinet/in.h>
-
-#ifdef AIX4
-#define _NETINET_IN_SYSTM_H_
-typedef u_long n_long;
-#else
-#include <netinet/in_systm.h>
-#endif
-
-#include <netinet/ip.h>
-#include <netinet/tcp.h>
-
-#include <net/ppp_defs.h>
-#include <net/vjcompress.h>
-
-#ifndef VJ_NO_STATS
-#define INCR(counter) ++comp->stats.counter
-#else
-#define INCR(counter)
-#endif
-
-#define BCMP(p1, p2, n) bcmp((char *)(p1), (char *)(p2), (int)(n))
-#undef BCOPY
-#define BCOPY(p1, p2, n) bcopy((char *)(p1), (char *)(p2), (int)(n))
-#ifndef KERNEL
-#define ovbcopy bcopy
-#endif
-
-#ifdef __osf__
-#define getip_hl(base) (((base).ip_vhl)&0xf)
-#define getth_off(base) ((((base).th_xoff)&0xf0)>>4)
-
-#else
-#define getip_hl(base) ((base).ip_hl)
-#define getth_off(base) ((base).th_off)
-#endif
-
-void
-vj_compress_init(comp, max_state)
- struct vjcompress *comp;
- int max_state;
-{
- register u_int i;
- register struct cstate *tstate = comp->tstate;
-
- if (max_state == -1)
- max_state = MAX_STATES - 1;
- bzero((char *)comp, sizeof(*comp));
- for (i = max_state; i > 0; --i) {
- tstate[i].cs_id = i;
- tstate[i].cs_next = &tstate[i - 1];
- }
- tstate[0].cs_next = &tstate[max_state];
- tstate[0].cs_id = 0;
- comp->last_cs = &tstate[0];
- comp->last_recv = 255;
- comp->last_xmit = 255;
- comp->flags = VJF_TOSS;
-}
-
-
-/* ENCODE encodes a number that is known to be non-zero. ENCODEZ
- * checks for zero (since zero has to be encoded in the long, 3 byte
- * form).
- */
-#define ENCODE(n) { \
- if ((u_short)(n) >= 256) { \
- *cp++ = 0; \
- cp[1] = (n); \
- cp[0] = (n) >> 8; \
- cp += 2; \
- } else { \
- *cp++ = (n); \
- } \
-}
-#define ENCODEZ(n) { \
- if ((u_short)(n) >= 256 || (u_short)(n) == 0) { \
- *cp++ = 0; \
- cp[1] = (n); \
- cp[0] = (n) >> 8; \
- cp += 2; \
- } else { \
- *cp++ = (n); \
- } \
-}
-
-#define DECODEL(f) { \
- if (*cp == 0) {\
- u_int32_t tmp = ntohl(f) + ((cp[1] << 8) | cp[2]); \
- (f) = htonl(tmp); \
- cp += 3; \
- } else { \
- u_int32_t tmp = ntohl(f) + (u_int32_t)*cp++; \
- (f) = htonl(tmp); \
- } \
-}
-
-#define DECODES(f) { \
- if (*cp == 0) {\
- u_short tmp = ntohs(f) + ((cp[1] << 8) | cp[2]); \
- (f) = htons(tmp); \
- cp += 3; \
- } else { \
- u_short tmp = ntohs(f) + (u_int32_t)*cp++; \
- (f) = htons(tmp); \
- } \
-}
-
-#define DECODEU(f) { \
- if (*cp == 0) {\
- (f) = htons((cp[1] << 8) | cp[2]); \
- cp += 3; \
- } else { \
- (f) = htons((u_int32_t)*cp++); \
- } \
-}
-
-u_int
-vj_compress_tcp(ip, mlen, comp, compress_cid, vjhdrp)
- register struct ip *ip;
- u_int mlen;
- struct vjcompress *comp;
- int compress_cid;
- u_char **vjhdrp;
-{
- register struct cstate *cs = comp->last_cs->cs_next;
- register u_int hlen = getip_hl(*ip);
- register struct tcphdr *oth;
- register struct tcphdr *th;
- register u_int deltaS, deltaA;
- register u_int changes = 0;
- u_char new_seq[16];
- register u_char *cp = new_seq;
-
- /*
- * Bail if this is an IP fragment or if the TCP packet isn't
- * `compressible' (i.e., ACK isn't set or some other control bit is
- * set). (We assume that the caller has already made sure the
- * packet is IP proto TCP).
- */
- if ((ip->ip_off & htons(0x3fff)) || mlen < 40)
- return (TYPE_IP);
-
- th = (struct tcphdr *)&((int *)ip)[hlen];
- if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
- return (TYPE_IP);
- /*
- * Packet is compressible -- we're going to send either a
- * COMPRESSED_TCP or UNCOMPRESSED_TCP packet. Either way we need
- * to locate (or create) the connection state. Special case the
- * most recently used connection since it's most likely to be used
- * again & we don't have to do any reordering if it's used.
- */
- INCR(vjs_packets);
- if (ip->ip_src.s_addr != cs->cs_ip.ip_src.s_addr ||
- ip->ip_dst.s_addr != cs->cs_ip.ip_dst.s_addr ||
- *(int *)th != ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)]) {
- /*
- * Wasn't the first -- search for it.
- *
- * States are kept in a circularly linked list with
- * last_cs pointing to the end of the list. The
- * list is kept in lru order by moving a state to the
- * head of the list whenever it is referenced. Since
- * the list is short and, empirically, the connection
- * we want is almost always near the front, we locate
- * states via linear search. If we don't find a state
- * for the datagram, the oldest state is (re-)used.
- */
- register struct cstate *lcs;
- register struct cstate *lastcs = comp->last_cs;
-
- do {
- lcs = cs; cs = cs->cs_next;
- INCR(vjs_searches);
- if (ip->ip_src.s_addr == cs->cs_ip.ip_src.s_addr
- && ip->ip_dst.s_addr == cs->cs_ip.ip_dst.s_addr
- && *(int *)th == ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)])
- goto found;
- } while (cs != lastcs);
-
- /*
- * Didn't find it -- re-use oldest cstate. Send an
- * uncompressed packet that tells the other side what
- * connection number we're using for this conversation.
- * Note that since the state list is circular, the oldest
- * state points to the newest and we only need to set
- * last_cs to update the lru linkage.
- */
- INCR(vjs_misses);
- comp->last_cs = lcs;
- hlen += getth_off(*th);
- hlen <<= 2;
- if (hlen > mlen)
- return (TYPE_IP);
- goto uncompressed;
-
- found:
- /*
- * Found it -- move to the front on the connection list.
- */
- if (cs == lastcs)
- comp->last_cs = lcs;
- else {
- lcs->cs_next = cs->cs_next;
- cs->cs_next = lastcs->cs_next;
- lastcs->cs_next = cs;
- }
- }
-
- /*
- * Make sure that only what we expect to change changed. The first
- * line of the `if' checks the IP protocol version, header length &
- * type of service. The 2nd line checks the "Don't fragment" bit.
- * The 3rd line checks the time-to-live and protocol (the protocol
- * check is unnecessary but costless). The 4th line checks the TCP
- * header length. The 5th line checks IP options, if any. The 6th
- * line checks TCP options, if any. If any of these things are
- * different between the previous & current datagram, we send the
- * current datagram `uncompressed'.
- */
- oth = (struct tcphdr *)&((int *)&cs->cs_ip)[hlen];
- deltaS = hlen;
- hlen += getth_off(*th);
- hlen <<= 2;
- if (hlen > mlen)
- return (TYPE_IP);
-
- if (((u_short *)ip)[0] != ((u_short *)&cs->cs_ip)[0] ||
- ((u_short *)ip)[3] != ((u_short *)&cs->cs_ip)[3] ||
- ((u_short *)ip)[4] != ((u_short *)&cs->cs_ip)[4] ||
- getth_off(*th) != getth_off(*oth) ||
- (deltaS > 5 && BCMP(ip + 1, &cs->cs_ip + 1, (deltaS - 5) << 2)) ||
- (getth_off(*th) > 5 && BCMP(th + 1, oth + 1, (getth_off(*th) - 5) << 2)))
- goto uncompressed;
-
- /*
- * Figure out which of the changing fields changed. The
- * receiver expects changes in the order: urgent, window,
- * ack, seq (the order minimizes the number of temporaries
- * needed in this section of code).
- */
- if (th->th_flags & TH_URG) {
- deltaS = ntohs(th->th_urp);
- ENCODEZ(deltaS);
- changes |= NEW_U;
- } else if (th->th_urp != oth->th_urp)
- /* argh! URG not set but urp changed -- a sensible
- * implementation should never do this but RFC793
- * doesn't prohibit the change so we have to deal
- * with it. */
- goto uncompressed;
-
- if ((deltaS = (u_short)(ntohs(th->th_win) - ntohs(oth->th_win))) > 0) {
- ENCODE(deltaS);
- changes |= NEW_W;
- }
-
- if ((deltaA = ntohl(th->th_ack) - ntohl(oth->th_ack)) > 0) {
- if (deltaA > 0xffff)
- goto uncompressed;
- ENCODE(deltaA);
- changes |= NEW_A;
- }
-
- if ((deltaS = ntohl(th->th_seq) - ntohl(oth->th_seq)) > 0) {
- if (deltaS > 0xffff)
- goto uncompressed;
- ENCODE(deltaS);
- changes |= NEW_S;
- }
-
- switch(changes) {
-
- case 0:
- /*
- * Nothing changed. If this packet contains data and the
- * last one didn't, this is probably a data packet following
- * an ack (normal on an interactive connection) and we send
- * it compressed. Otherwise it's probably a retransmit,
- * retransmitted ack or window probe. Send it uncompressed
- * in case the other side missed the compressed version.
- */
- if (ip->ip_len != cs->cs_ip.ip_len &&
- ntohs(cs->cs_ip.ip_len) == hlen)
- break;
-
- /* (fall through) */
-
- case SPECIAL_I:
- case SPECIAL_D:
- /*
- * actual changes match one of our special case encodings --
- * send packet uncompressed.
- */
- goto uncompressed;
-
- case NEW_S|NEW_A:
- if (deltaS == deltaA && deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
- /* special case for echoed terminal traffic */
- changes = SPECIAL_I;
- cp = new_seq;
- }
- break;
-
- case NEW_S:
- if (deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
- /* special case for data xfer */
- changes = SPECIAL_D;
- cp = new_seq;
- }
- break;
- }
-
- deltaS = ntohs(ip->ip_id) - ntohs(cs->cs_ip.ip_id);
- if (deltaS != 1) {
- ENCODEZ(deltaS);
- changes |= NEW_I;
- }
- if (th->th_flags & TH_PUSH)
- changes |= TCP_PUSH_BIT;
- /*
- * Grab the cksum before we overwrite it below. Then update our
- * state with this packet's header.
- */
- deltaA = ntohs(th->th_sum);
- BCOPY(ip, &cs->cs_ip, hlen);
-
- /*
- * We want to use the original packet as our compressed packet.
- * (cp - new_seq) is the number of bytes we need for compressed
- * sequence numbers. In addition we need one byte for the change
- * mask, one for the connection id and two for the tcp checksum.
- * So, (cp - new_seq) + 4 bytes of header are needed. hlen is how
- * many bytes of the original packet to toss so subtract the two to
- * get the new packet size.
- */
- deltaS = cp - new_seq;
- cp = (u_char *)ip;
- if (compress_cid == 0 || comp->last_xmit != cs->cs_id) {
- comp->last_xmit = cs->cs_id;
- hlen -= deltaS + 4;
- *vjhdrp = (cp += hlen);
- *cp++ = changes | NEW_C;
- *cp++ = cs->cs_id;
- } else {
- hlen -= deltaS + 3;
- *vjhdrp = (cp += hlen);
- *cp++ = changes;
- }
- *cp++ = deltaA >> 8;
- *cp++ = deltaA;
- BCOPY(new_seq, cp, deltaS);
- INCR(vjs_compressed);
- return (TYPE_COMPRESSED_TCP);
-
- /*
- * Update connection state cs & send uncompressed packet (that is,
- * a regular ip/tcp packet but with the 'conversation id' we hope
- * to use on future compressed packets in the protocol field).
- */
- uncompressed:
- BCOPY(ip, &cs->cs_ip, hlen);
- ip->ip_p = cs->cs_id;
- comp->last_xmit = cs->cs_id;
- return (TYPE_UNCOMPRESSED_TCP);
-}
-
-/*
- * Called when we may have missed a packet.
- */
-void
-vj_uncompress_err(comp)
- struct vjcompress *comp;
-{
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
-}
-
-/*
- * "Uncompress" a packet of type TYPE_UNCOMPRESSED_TCP.
- */
-int
-vj_uncompress_uncomp(buf, buflen, comp)
- u_char *buf;
- int buflen;
- struct vjcompress *comp;
-{
- register u_int hlen;
- register struct cstate *cs;
- register struct ip *ip;
-
- ip = (struct ip *) buf;
- hlen = getip_hl(*ip) << 2;
- if (ip->ip_p >= MAX_STATES
- || hlen + sizeof(struct tcphdr) > buflen
- || (hlen += getth_off(*((struct tcphdr *)&((char *)ip)[hlen])) << 2)
- > buflen
- || hlen > MAX_HDR) {
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
- return (0);
- }
- cs = &comp->rstate[comp->last_recv = ip->ip_p];
- comp->flags &=~ VJF_TOSS;
- ip->ip_p = IPPROTO_TCP;
- BCOPY(ip, &cs->cs_ip, hlen);
- cs->cs_hlen = hlen;
- INCR(vjs_uncompressedin);
- return (1);
-}
-
-/*
- * Uncompress a packet of type TYPE_COMPRESSED_TCP.
- * The packet starts at buf and is of total length total_len.
- * The first buflen bytes are at buf; this must include the entire
- * compressed TCP/IP header. This procedure returns the length
- * of the VJ header, with a pointer to the uncompressed IP header
- * in *hdrp and its length in *hlenp.
- */
-int
-vj_uncompress_tcp(buf, buflen, total_len, comp, hdrp, hlenp)
- u_char *buf;
- int buflen, total_len;
- struct vjcompress *comp;
- u_char **hdrp;
- u_int *hlenp;
-{
- register u_char *cp;
- register u_int hlen, changes;
- register struct tcphdr *th;
- register struct cstate *cs;
- register u_short *bp;
- register u_int vjlen;
- register u_int32_t tmp;
-
- INCR(vjs_compressedin);
- cp = buf;
- changes = *cp++;
- if (changes & NEW_C) {
- /* Make sure the state index is in range, then grab the state.
- * If we have a good state index, clear the 'discard' flag. */
- if (*cp >= MAX_STATES)
- goto bad;
-
- comp->flags &=~ VJF_TOSS;
- comp->last_recv = *cp++;
- } else {
- /* this packet has an implicit state index. If we've
- * had a line error since the last time we got an
- * explicit state index, we have to toss the packet. */
- if (comp->flags & VJF_TOSS) {
- INCR(vjs_tossed);
- return (-1);
- }
- }
- cs = &comp->rstate[comp->last_recv];
- hlen = getip_hl(cs->cs_ip) << 2;
- th = (struct tcphdr *)&((u_char *)&cs->cs_ip)[hlen];
- th->th_sum = htons((*cp << 8) | cp[1]);
- cp += 2;
- if (changes & TCP_PUSH_BIT)
- th->th_flags |= TH_PUSH;
- else
- th->th_flags &=~ TH_PUSH;
-
- switch (changes & SPECIALS_MASK) {
- case SPECIAL_I:
- {
- register u_int32_t i = ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
- /* some compilers can't nest inline assembler.. */
- tmp = ntohl(th->th_ack) + i;
- th->th_ack = htonl(tmp);
- tmp = ntohl(th->th_seq) + i;
- th->th_seq = htonl(tmp);
- }
- break;
-
- case SPECIAL_D:
- /* some compilers can't nest inline assembler.. */
- tmp = ntohl(th->th_seq) + ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
- th->th_seq = htonl(tmp);
- break;
-
- default:
- if (changes & NEW_U) {
- th->th_flags |= TH_URG;
- DECODEU(th->th_urp);
- } else
- th->th_flags &=~ TH_URG;
- if (changes & NEW_W)
- DECODES(th->th_win);
- if (changes & NEW_A)
- DECODEL(th->th_ack);
- if (changes & NEW_S)
- DECODEL(th->th_seq);
- break;
- }
- if (changes & NEW_I) {
- DECODES(cs->cs_ip.ip_id);
- } else {
- cs->cs_ip.ip_id = ntohs(cs->cs_ip.ip_id) + 1;
- cs->cs_ip.ip_id = htons(cs->cs_ip.ip_id);
- }
-
- /*
- * At this point, cp points to the first byte of data in the
- * packet. Fill in the IP total length and update the IP
- * header checksum.
- */
- vjlen = cp - buf;
- buflen -= vjlen;
- if (buflen < 0)
- /* we must have dropped some characters (crc should detect
- * this but the old slip framing won't) */
- goto bad;
-
- total_len += cs->cs_hlen - vjlen;
- cs->cs_ip.ip_len = htons(total_len);
-
- /* recompute the ip header checksum */
- bp = (u_short *) &cs->cs_ip;
- cs->cs_ip.ip_sum = 0;
- for (changes = 0; hlen > 0; hlen -= 2)
- changes += *bp++;
- changes = (changes & 0xffff) + (changes >> 16);
- changes = (changes & 0xffff) + (changes >> 16);
- cs->cs_ip.ip_sum = ~ changes;
-
- *hdrp = (u_char *) &cs->cs_ip;
- *hlenp = cs->cs_hlen;
- return vjlen;
-
- bad:
- comp->flags |= VJF_TOSS;
- INCR(vjs_errorin);
- return (-1);
-}
diff --git a/mdk-stage1/ppp/pppd/.cvsignore b/mdk-stage1/ppp/pppd/.cvsignore
deleted file mode 100644
index 476ef2253..000000000
--- a/mdk-stage1/ppp/pppd/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pppd
-pppd-DIET
diff --git a/mdk-stage1/ppp/pppd/Makefile b/mdk-stage1/ppp/pppd/Makefile
deleted file mode 100644
index 682ad08c1..000000000
--- a/mdk-stage1/ppp/pppd/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-TARGETS = pppd
-
-BINTARGET = ../pppd-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppd
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48 -D_BSD_SOURCE -D_GNU_SOURCE
-
-INCS = -I../include -I.
-
-ifeq (GLIBC, $(L))
-LIBS = -static -lcrypt
-endif
-
-
-OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o tdb.o tty.o
-
-
-pppd: $(OBJS)
- $(DIET) gcc -o $@ $^ $(LIBS)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux b/mdk-stage1/ppp/pppd/Makefile.linux
deleted file mode 100644
index 47d6ba01e..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-CC = gcc
-#
-COPTS = -Wall $(RPM_OPT_FLAGS)
-LIBS = -lutil
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -m 555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.make b/mdk-stage1/ppp/pppd/Makefile.linux.make
deleted file mode 100644
index d98a32562..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux.make
+++ /dev/null
@@ -1,131 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = /usr/sbin
-MANDIR = /usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-# CC = gcc
-#
-COPTS = -O2 -pipe -Wall -g
-LIBS =
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-#USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install -o root
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
- if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
- chmod o-rx,u+s $(BINDIR)/pppd; fi
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.makeopt b/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
deleted file mode 100644
index 3094c941c..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# pppd makefile for Linux
-# $Id$
-#
-
-# Default installation locations
-BINDIR = $(DESTDIR)/usr/sbin
-MANDIR = $(DESTDIR)/usr/man
-
-PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
- ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
- demand.c utils.c multilink.c tdb.c tty.c
-HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
- ipxcp.h cbcp.h tdb.h
-MANPAGES = pppd.8
-PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
- tdb.o tty.o
-
-all: pppd
-
-#
-# include dependancies if present and backup if as a header file
-ifeq (.depend,$(wildcard .depend))
-include .depend
-endif
-
-CC = gcc
-#
-COPTS = -O2 -pipe -Wall -g
-LIBS = -lutil
-
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-LIBS += -lcrypt
-endif
-
-# Uncomment the next 2 lines to include support for Microsoft's
-# MS-CHAP authentication protocol.
-CHAPMS=y
-USE_CRYPT=y
-ifneq ($(wildcard /usr/lib/libcrypt.*),)
-HAVE_CRYPT_H=y
-endif
-
-# Uncomment the next line to include support for PPP packet filtering.
-# This requires that the libpcap library and headers be installed
-# and that the kernel driver support PPP packet filtering, which it
-# doesn't yet.
-#FILTER=y
-
-HAS_SHADOW=y
-USE_PAM=y
-#HAVE_INET6=y
-
-PLUGIN=y
-
-INCLUDE_DIRS= -I../include
-
-COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
-
-CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
-
-ifdef CHAPMS
-CFLAGS += -DCHAPMS=1
-ifndef USE_CRYPT
-LIBS := -ldes $(LIBS)
-else
-CFLAGS += -DUSE_CRYPT=1
-ifneq ($(wildcard /usr/include/crypt.h),)
-CFLAGS += -DHAVE_CRYPT_H=1
-endif
-endif
-PPPDOBJS += md4.o chap_ms.o
-ifdef MSLANMAN
-CFLAGS += -DMSLANMAN=1
-endif
-endif
-
-ifdef HAS_SHADOW
-CFLAGS += -DHAS_SHADOW
-#LIBS := -lshadow $(LIBS)
-endif
-
-# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
-ifdef USE_PAM
-CFLAGS += -DUSE_PAM
-LIBS := -lpam -ldl $(LIBS)
-endif
-
-# Lock library binary for Linux is included in 'linux' subdirectory.
-ifdef LOCKLIB
-LIBS := -llock $(LIBS)
-CFLAGS += -DLOCKLIB=1
-endif
-
-ifdef PLUGIN
-CFLAGS += -DPLUGIN
-LDFLAGS += -Wl,-E
-LIBS += -ldl
-endif
-
-ifdef FILTER
-LIBS += -lpcap
-CFLAGS += -DPPP_FILTER -I/usr/include/pcap
-endif
-
-ifdef HAVE_INET6
- PPPDSRCS += ipv6cp.c eui64.c
- HEADERS += ipv6cp.h eui64.h
- PPPDOBJS += ipv6cp.o eui64.o
- CFLAGS += -DINET6=1
-endif
-
-
-INSTALL= install
-
-install: pppd
- mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -m 555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
-
-pppd: $(PPPDOBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
-
-clean:
- rm -f $(PPPDOBJS) pppd *~ #* core
-
-depend:
- $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.sol2 b/mdk-stage1/ppp/pppd/Makefile.sol2
deleted file mode 100644
index dfdcddd97..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.sol2
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# Makefile for pppd under Solaris 2.
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-COPTS += -xO2 -xspace -W0,-Lt
-CFLAGS = -I../include -DSVR4 -DSOL2 $(COPTS)
-LIBS = -lsocket -lnsl
-
-OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o tty.o \
- ccp.o auth.o options.o demand.o utils.o sys-solaris.o tdb.o
-
-#
-# uncomment the following to enable plugins
-#
-CFLAGS += -DPLUGIN
-LIBS += -ldl
-
-#
-# Solaris 8 and above accomodates /var/run, so uncomment the
-# following to place pppd process IDs on that location
-#
-#CFLAGS += -D_PATH_VARRUN='"/var/run/"'
-
-#
-# uncomment the following to enable IPv6
-#
-# Solaris 8 and on includes support for IPv6
-#
-#CFLAGS += -DINET6
-#OBJS += ipv6cp.o eui64.o
-
-#
-# Make targets
-#
-all: pppd
-
-pppd: $(OBJS)
- $(CC) -o pppd $(OBJS) $(LIBS)
-
-install:
- $(INSTALL) -f $(BINDIR) -m 4755 -u root pppd
- $(INSTALL) -f $(MANDIR)/man8 -m 444 pppd.8
-
-clean:
- rm -f $(OBJS) pppd *~ core y.tab.c y.tab.h
diff --git a/mdk-stage1/ppp/pppd/Makefile.sunos4 b/mdk-stage1/ppp/pppd/Makefile.sunos4
deleted file mode 100644
index 694ac341f..000000000
--- a/mdk-stage1/ppp/pppd/Makefile.sunos4
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Makefile for pppd under SunOS 4.
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-LIBS =
-
-CFLAGS = $(COPTS) -I../include -DSUNOS4 -DGIDSET_TYPE=int \
- -DLOCK_DIR=\"/usr/spool/locks\"
-
-all: pppd
-
-OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
- auth.o options.o demand.o utils.o sys-sunos4.o tty.o
-
-pppd: $(OBJS)
- $(CC) -o pppd $(OBJS) $(LIBS)
-
-install:
- $(INSTALL) -c -m 4555 pppd $(BINDIR)/pppd
- $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8/pppd.8
-
-clean:
- rm -f $(OBJS) pppd *~ core
diff --git a/mdk-stage1/ppp/pppd/auth.c b/mdk-stage1/ppp/pppd/auth.c
deleted file mode 100644
index 5f95a2982..000000000
--- a/mdk-stage1/ppp/pppd/auth.c
+++ /dev/null
@@ -1,1939 +0,0 @@
-/*
- * auth.c - PPP authentication and phase control.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <grp.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <utmp.h>
-#include <fcntl.h>
-#if defined(_PATH_LASTLOG) && defined(_linux_)
-#include <lastlog.h>
-#endif
-
-#include <netdb.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#ifdef USE_PAM
-#include <security/pam_appl.h>
-#endif
-
-#ifdef HAS_SHADOW
-#include <shadow.h>
-#ifndef PW_PPP
-#define PW_PPP PW_LOGIN
-#endif
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#include "upap.h"
-#include "chap.h"
-#ifdef CBCP_SUPPORT
-#include "cbcp.h"
-#endif
-#include "pathnames.h"
-
-#include <time.h>
-
-static const char rcsid[] = RCSID;
-
-/* Bits in scan_authfile return value */
-#define NONWILD_SERVER 1
-#define NONWILD_CLIENT 2
-
-#define ISWILD(word) (word[0] == '*' && word[1] == 0)
-
-/* The name by which the peer authenticated itself to us. */
-char peer_authname[MAXNAMELEN];
-
-/* Records which authentication operations haven't completed yet. */
-static int auth_pending[NUM_PPP];
-
-/* Set if we have successfully called plogin() */
-static int logged_in;
-
-/* List of addresses which the peer may use. */
-static struct permitted_ip *addresses[NUM_PPP];
-
-/* Wordlist giving addresses which the peer may use
- without authenticating itself. */
-static struct wordlist *noauth_addrs;
-
-/* Extra options to apply, from the secrets file entry for the peer. */
-static struct wordlist *extra_options;
-
-/* Number of network protocols which we have opened. */
-static int num_np_open;
-
-/* Number of network protocols which have come up. */
-static int num_np_up;
-
-/* Set if we got the contents of passwd[] from the pap-secrets file. */
-static int passwd_from_file;
-
-/* Set if we require authentication only because we have a default route. */
-static bool default_auth;
-
-/* Hook to enable a plugin to control the idle time limit */
-int (*idle_time_hook) __P((struct ppp_idle *)) = NULL;
-
-/* Hook for a plugin to say whether we can possibly authenticate any peer */
-int (*pap_check_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to check the PAP user and password */
-int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts)) = NULL;
-
-/* Hook for a plugin to know about the PAP user logout */
-void (*pap_logout_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to get the PAP password for authenticating us */
-int (*pap_passwd_hook) __P((char *user, char *passwd)) = NULL;
-
-/*
- * This is used to ensure that we don't start an auth-up/down
- * script while one is already running.
- */
-enum script_state {
- s_down,
- s_up
-};
-
-static enum script_state auth_state = s_down;
-static enum script_state auth_script_state = s_down;
-static pid_t auth_script_pid = 0;
-
-static int used_login; /* peer authenticated against login database */
-
-/*
- * Option variables.
- */
-bool uselogin = 0; /* Use /etc/passwd for checking PAP */
-bool cryptpap = 0; /* Passwords in pap-secrets are encrypted */
-bool refuse_pap = 0; /* Don't wanna auth. ourselves with PAP */
-bool refuse_chap = 0; /* Don't wanna auth. ourselves with CHAP */
-bool usehostname = 0; /* Use hostname for our_name */
-bool auth_required = 0; /* Always require authentication from peer */
-bool allow_any_ip = 0; /* Allow peer to use any IP address */
-bool explicit_remote = 0; /* User specified explicit remote name */
-char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-
-static char *uafname; /* name of most recent +ua file */
-
-/* Bits in auth_pending[] */
-#define PAP_WITHPEER 1
-#define PAP_PEER 2
-#define CHAP_WITHPEER 4
-#define CHAP_PEER 8
-
-extern char *crypt __P((const char *, const char *));
-
-/* Prototypes for procedures local to this file. */
-
-static void network_phase __P((int));
-static void check_idle __P((void *));
-static void connect_time_expired __P((void *));
-static int plogin __P((char *, char *, char **));
-static void plogout __P((void));
-static int null_login __P((int));
-static int get_pap_passwd __P((char *));
-static int have_pap_secret __P((int *));
-static int have_chap_secret __P((char *, char *, int, int *));
-static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
-static int scan_authfile __P((FILE *, char *, char *, char *,
- struct wordlist **, struct wordlist **,
- char *));
-static void free_wordlist __P((struct wordlist *));
-static void auth_script __P((char *));
-static void auth_script_done __P((void *));
-static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
-static int some_ip_ok __P((struct wordlist *));
-static int setupapfile __P((char **));
-static int privgroup __P((char **));
-static int set_noauth_addr __P((char **));
-static void check_access __P((FILE *, char *));
-static int wordlist_count __P((struct wordlist *));
-
-/*
- * Authentication-related options.
- */
-option_t auth_options[] = {
- { "auth", o_bool, &auth_required,
- "Require authentication from peer", OPT_PRIO | 1 },
- { "noauth", o_bool, &auth_required,
- "Don't require peer to authenticate", OPT_PRIOSUB | OPT_PRIV,
- &allow_any_ip },
- { "require-pap", o_bool, &lcp_wantoptions[0].neg_upap,
- "Require PAP authentication from peer",
- OPT_PRIOSUB | 1, &auth_required },
- { "+pap", o_bool, &lcp_wantoptions[0].neg_upap,
- "Require PAP authentication from peer",
- OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
- { "require-chap", o_bool, &lcp_wantoptions[0].neg_chap,
- "Require CHAP authentication from peer",
- OPT_PRIOSUB | 1, &auth_required },
- { "+chap", o_bool, &lcp_wantoptions[0].neg_chap,
- "Require CHAP authentication from peer",
- OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
-
- { "refuse-pap", o_bool, &refuse_pap,
- "Don't agree to auth to peer with PAP", 1 },
- { "-pap", o_bool, &refuse_pap,
- "Don't allow PAP authentication with peer", OPT_ALIAS | 1 },
-
- { "refuse-chap", o_bool, &refuse_chap,
- "Don't agree to auth to peer with CHAP", 1 },
- { "-chap", o_bool, &refuse_chap,
- "Don't allow CHAP authentication with peer", OPT_ALIAS | 1 },
-
- { "name", o_string, our_name,
- "Set local name for authentication",
- OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXNAMELEN },
-
- { "+ua", o_special, (void *)setupapfile,
- "Get PAP user and password from file",
- OPT_PRIO | OPT_A2STRVAL, &uafname },
-
- { "user", o_string, user,
- "Set name for auth with peer", OPT_PRIO | OPT_STATIC, NULL, MAXNAMELEN },
-
- { "password", o_string, passwd,
- "Password for authenticating us to the peer",
- OPT_PRIO | OPT_STATIC | OPT_HIDE, NULL, MAXSECRETLEN },
-
- { "usehostname", o_bool, &usehostname,
- "Must use hostname for authentication", 1 },
-
- { "remotename", o_string, remote_name,
- "Set remote name for authentication", OPT_PRIO | OPT_STATIC,
- &explicit_remote, MAXNAMELEN },
-
- { "login", o_bool, &uselogin,
- "Use system password database for PAP", 1 },
-
- { "papcrypt", o_bool, &cryptpap,
- "PAP passwords are encrypted", 1 },
-
- { "privgroup", o_special, (void *)privgroup,
- "Allow group members to use privileged options", OPT_PRIV | OPT_A2LIST },
-
- { "allow-ip", o_special, (void *)set_noauth_addr,
- "Set IP address(es) which can be used without authentication",
- OPT_PRIV | OPT_A2LIST },
-
- { NULL }
-};
-
-/*
- * setupapfile - specifies UPAP info for authenticating with peer.
- */
-static int
-setupapfile(argv)
- char **argv;
-{
- FILE *ufile;
- int l;
- char u[MAXNAMELEN], p[MAXSECRETLEN];
- char *fname;
-
- lcp_allowoptions[0].neg_upap = 1;
-
- /* open user info file */
- fname = strdup(*argv);
- if (fname == NULL)
- novm("+ua file name");
- seteuid(getuid());
- ufile = fopen(fname, "r");
- seteuid(0);
- if (ufile == NULL) {
- option_error("unable to open user login data file %s", fname);
- return 0;
- }
- check_access(ufile, fname);
- uafname = fname;
-
- /* get username */
- if (fgets(u, MAXNAMELEN - 1, ufile) == NULL
- || fgets(p, MAXSECRETLEN - 1, ufile) == NULL){
- option_error("unable to read user login data file %s", fname);
- return 0;
- }
- fclose(ufile);
-
- /* get rid of newlines */
- l = strlen(u);
- if (l > 0 && u[l-1] == '\n')
- u[l-1] = 0;
- l = strlen(p);
- if (l > 0 && p[l-1] == '\n')
- p[l-1] = 0;
-
- if (override_value("user", option_priority, fname))
- strlcpy(user, u, sizeof(user));
- if (override_value("passwd", option_priority, fname))
- strlcpy(passwd, p, sizeof(passwd));
-
- return (1);
-}
-
-
-/*
- * privgroup - allow members of the group to have privileged access.
- */
-static int
-privgroup(argv)
- char **argv;
-{
- struct group *g;
- int i;
-
- g = getgrnam(*argv);
- if (g == 0) {
- option_error("group %s is unknown", *argv);
- return 0;
- }
- for (i = 0; i < ngroups; ++i) {
- if (groups[i] == g->gr_gid) {
- privileged = 1;
- break;
- }
- }
- return 1;
-}
-
-
-/*
- * set_noauth_addr - set address(es) that can be used without authentication.
- * Equivalent to specifying an entry like `"" * "" addr' in pap-secrets.
- */
-static int
-set_noauth_addr(argv)
- char **argv;
-{
- char *addr = *argv;
- int l = strlen(addr) + 1;
- struct wordlist *wp;
-
- wp = (struct wordlist *) malloc(sizeof(struct wordlist) + l);
- if (wp == NULL)
- novm("allow-ip argument");
- wp->word = (char *) (wp + 1);
- wp->next = noauth_addrs;
- BCOPY(addr, wp->word, l);
- noauth_addrs = wp;
- return 1;
-}
-
-
-/*
- * An Open on LCP has requested a change from Dead to Establish phase.
- * Do what's necessary to bring the physical layer up.
- */
-void
-link_required(unit)
- int unit;
-{
-}
-
-/*
- * LCP has terminated the link; go to the Dead phase and take the
- * physical layer down.
- */
-void
-link_terminated(unit)
- int unit;
-{
- if (phase == PHASE_DEAD)
- return;
- if (pap_logout_hook) {
- pap_logout_hook();
- } else {
- if (logged_in)
- plogout();
- }
- new_phase(PHASE_DEAD);
- notice("Connection terminated.");
-}
-
-/*
- * LCP has gone down; it will either die or try to re-establish.
- */
-void
-link_down(unit)
- int unit;
-{
- int i;
- struct protent *protp;
-
- auth_state = s_down;
- if (auth_script_state == s_up && auth_script_pid == 0) {
- update_link_stats(unit);
- auth_script_state = s_down;
- auth_script(_PATH_AUTHDOWN);
- }
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (!protp->enabled_flag)
- continue;
- if (protp->protocol != PPP_LCP && protp->lowerdown != NULL)
- (*protp->lowerdown)(unit);
- if (protp->protocol < 0xC000 && protp->close != NULL)
- (*protp->close)(unit, "LCP down");
- }
- num_np_open = 0;
- num_np_up = 0;
- if (phase != PHASE_DEAD)
- new_phase(PHASE_TERMINATE);
-}
-
-/*
- * The link is established.
- * Proceed to the Dead, Authenticate or Network phase as appropriate.
- */
-void
-link_established(unit)
- int unit;
-{
- int auth;
- lcp_options *wo = &lcp_wantoptions[unit];
- lcp_options *go = &lcp_gotoptions[unit];
- lcp_options *ho = &lcp_hisoptions[unit];
- int i;
- struct protent *protp;
-
- /*
- * Tell higher-level protocols that LCP is up.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol != PPP_LCP && protp->enabled_flag
- && protp->lowerup != NULL)
- (*protp->lowerup)(unit);
-
- if (auth_required && !(go->neg_chap || go->neg_upap)) {
- /*
- * We wanted the peer to authenticate itself, and it refused:
- * if we have some address(es) it can use without auth, fine,
- * otherwise treat it as though it authenticated with PAP using
- * a username * of "" and a password of "". If that's not OK,
- * boot it out.
- */
- if (noauth_addrs != NULL) {
- set_allowed_addrs(unit, NULL, NULL);
- } else if (!wo->neg_upap || uselogin || !null_login(unit)) {
- warn("peer refused to authenticate: terminating link");
- lcp_close(unit, "peer refused to authenticate");
- status = EXIT_PEER_AUTH_FAILED;
- return;
- }
- }
-
- new_phase(PHASE_AUTHENTICATE);
- used_login = 0;
- auth = 0;
- if (go->neg_chap) {
- ChapAuthPeer(unit, our_name, go->chap_mdtype);
- auth |= CHAP_PEER;
- } else if (go->neg_upap) {
- upap_authpeer(unit);
- auth |= PAP_PEER;
- }
- if (ho->neg_chap) {
- ChapAuthWithPeer(unit, user, ho->chap_mdtype);
- auth |= CHAP_WITHPEER;
- } else if (ho->neg_upap) {
- if (passwd[0] == 0) {
- passwd_from_file = 1;
- if (!get_pap_passwd(passwd))
- error("No secret found for PAP login");
- }
- upap_authwithpeer(unit, user, passwd);
- auth |= PAP_WITHPEER;
- }
- auth_pending[unit] = auth;
-
- if (!auth)
- network_phase(unit);
-}
-
-/*
- * Proceed to the network phase.
- */
-static void
-network_phase(unit)
- int unit;
-{
- lcp_options *go = &lcp_gotoptions[unit];
-
- /*
- * If the peer had to authenticate, run the auth-up script now.
- */
- if (go->neg_chap || go->neg_upap) {
- auth_state = s_up;
- if (auth_script_state == s_down && auth_script_pid == 0) {
- auth_script_state = s_up;
- auth_script(_PATH_AUTHUP);
- }
- }
-
-#ifdef CBCP_SUPPORT
- /*
- * If we negotiated callback, do it now.
- */
- if (go->neg_cbcp) {
- new_phase(PHASE_CALLBACK);
- (*cbcp_protent.open)(unit);
- return;
- }
-#endif
-
- /*
- * Process extra options from the secrets file
- */
- if (extra_options) {
- options_from_list(extra_options, 1);
- free_wordlist(extra_options);
- extra_options = 0;
- }
- start_networks();
-}
-
-void
-start_networks()
-{
- int i;
- struct protent *protp;
-
- new_phase(PHASE_NETWORK);
-
-#ifdef HAVE_MULTILINK
- if (multilink) {
- if (mp_join_bundle()) {
- if (updetach && !nodetach)
- detach();
- return;
- }
- }
-#endif /* HAVE_MULTILINK */
-
-#ifdef PPP_FILTER
- if (!demand)
- set_filters(&pass_filter, &active_filter);
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol < 0xC000 && protp->enabled_flag
- && protp->open != NULL) {
- (*protp->open)(0);
- if (protp->protocol != PPP_CCP)
- ++num_np_open;
- }
-
- if (num_np_open == 0)
- /* nothing to do */
- lcp_close(0, "No network protocols running");
-}
-
-/*
- * The peer has failed to authenticate himself using `protocol'.
- */
-void
-auth_peer_fail(unit, protocol)
- int unit, protocol;
-{
- /*
- * Authentication failure: take the link down
- */
- lcp_close(unit, "Authentication failed");
- status = EXIT_PEER_AUTH_FAILED;
-}
-
-/*
- * The peer has been successfully authenticated using `protocol'.
- */
-void
-auth_peer_success(unit, protocol, name, namelen)
- int unit, protocol;
- char *name;
- int namelen;
-{
- int bit;
-
- switch (protocol) {
- case PPP_CHAP:
- bit = CHAP_PEER;
- break;
- case PPP_PAP:
- bit = PAP_PEER;
- break;
- default:
- warn("auth_peer_success: unknown protocol %x", protocol);
- return;
- }
-
- /*
- * Save the authenticated name of the peer for later.
- */
- if (namelen > sizeof(peer_authname) - 1)
- namelen = sizeof(peer_authname) - 1;
- BCOPY(name, peer_authname, namelen);
- peer_authname[namelen] = 0;
- script_setenv("PEERNAME", peer_authname, 0);
-
- /*
- * If there is no more authentication still to be done,
- * proceed to the network (or callback) phase.
- */
- if ((auth_pending[unit] &= ~bit) == 0)
- network_phase(unit);
-}
-
-/*
- * We have failed to authenticate ourselves to the peer using `protocol'.
- */
-void
-auth_withpeer_fail(unit, protocol)
- int unit, protocol;
-{
- if (passwd_from_file)
- BZERO(passwd, MAXSECRETLEN);
- /*
- * We've failed to authenticate ourselves to our peer.
- * Some servers keep sending CHAP challenges, but there
- * is no point in persisting without any way to get updated
- * authentication secrets.
- */
- lcp_close(unit, "Failed to authenticate ourselves to peer");
- status = EXIT_AUTH_TOPEER_FAILED;
-}
-
-/*
- * We have successfully authenticated ourselves with the peer using `protocol'.
- */
-void
-auth_withpeer_success(unit, protocol)
- int unit, protocol;
-{
- int bit;
-
- switch (protocol) {
- case PPP_CHAP:
- bit = CHAP_WITHPEER;
- break;
- case PPP_PAP:
- if (passwd_from_file)
- BZERO(passwd, MAXSECRETLEN);
- bit = PAP_WITHPEER;
- break;
- default:
- warn("auth_withpeer_success: unknown protocol %x", protocol);
- bit = 0;
- }
-
- /*
- * If there is no more authentication still being done,
- * proceed to the network (or callback) phase.
- */
- if ((auth_pending[unit] &= ~bit) == 0)
- network_phase(unit);
-}
-
-
-/*
- * np_up - a network protocol has come up.
- */
-void
-np_up(unit, proto)
- int unit, proto;
-{
- int tlim;
-
- if (num_np_up == 0) {
- /*
- * At this point we consider that the link has come up successfully.
- */
- status = EXIT_OK;
- unsuccess = 0;
- new_phase(PHASE_RUNNING);
-
- if (idle_time_hook != 0)
- tlim = (*idle_time_hook)(NULL);
- else
- tlim = idle_time_limit;
- if (tlim > 0)
- TIMEOUT(check_idle, NULL, tlim);
-
- /*
- * Set a timeout to close the connection once the maximum
- * connect time has expired.
- */
- if (maxconnect > 0)
- TIMEOUT(connect_time_expired, 0, maxconnect);
-
- /*
- * Detach now, if the updetach option was given.
- */
- if (updetach && !nodetach)
- detach();
- }
- ++num_np_up;
-}
-
-/*
- * np_down - a network protocol has gone down.
- */
-void
-np_down(unit, proto)
- int unit, proto;
-{
- if (--num_np_up == 0) {
- UNTIMEOUT(check_idle, NULL);
- new_phase(PHASE_NETWORK);
- }
-}
-
-/*
- * np_finished - a network protocol has finished using the link.
- */
-void
-np_finished(unit, proto)
- int unit, proto;
-{
- if (--num_np_open <= 0) {
- /* no further use for the link: shut up shop. */
- lcp_close(0, "No network protocols running");
- }
-}
-
-/*
- * check_idle - check whether the link has been idle for long
- * enough that we can shut it down.
- */
-static void
-check_idle(arg)
- void *arg;
-{
- struct ppp_idle idle;
- time_t itime;
- int tlim;
-
- if (!get_idle_time(0, &idle))
- return;
- if (idle_time_hook != 0) {
- tlim = idle_time_hook(&idle);
- } else {
- itime = MIN(idle.xmit_idle, idle.recv_idle);
- tlim = idle_time_limit - itime;
- }
- if (tlim <= 0) {
- /* link is idle: shut it down. */
- notice("Terminating connection due to lack of activity.");
- lcp_close(0, "Link inactive");
- need_holdoff = 0;
- status = EXIT_IDLE_TIMEOUT;
- } else {
- TIMEOUT(check_idle, NULL, tlim);
- }
-}
-
-/*
- * connect_time_expired - log a message and close the connection.
- */
-static void
-connect_time_expired(arg)
- void *arg;
-{
- info("Connect time expired");
- lcp_close(0, "Connect time expired"); /* Close connection */
- status = EXIT_CONNECT_TIME;
-}
-
-/*
- * auth_check_options - called to check authentication options.
- */
-void
-auth_check_options()
-{
- lcp_options *wo = &lcp_wantoptions[0];
- int can_auth;
- int lacks_ip;
-
- /* Default our_name to hostname, and user to our_name */
- if (our_name[0] == 0 || usehostname)
- strlcpy(our_name, hostname, sizeof(our_name));
- if (user[0] == 0)
- strlcpy(user, our_name, sizeof(user));
-
- /*
- * If we have a default route, require the peer to authenticate
- * unless the noauth option was given or the real user is root.
- */
- if (!auth_required && !allow_any_ip && have_route_to(0) && !privileged) {
- auth_required = 1;
- default_auth = 1;
- }
-
- /* If authentication is required, ask peer for CHAP or PAP. */
- if (auth_required) {
- allow_any_ip = 0;
- if (!wo->neg_chap && !wo->neg_upap) {
- wo->neg_chap = 1;
- wo->neg_upap = 1;
- }
- } else {
- wo->neg_chap = 0;
- wo->neg_upap = 0;
- }
-
- /*
- * Check whether we have appropriate secrets to use
- * to authenticate the peer.
- */
- lacks_ip = 0;
- can_auth = wo->neg_upap && (uselogin || have_pap_secret(&lacks_ip));
- if (!can_auth && wo->neg_chap) {
- can_auth = have_chap_secret((explicit_remote? remote_name: NULL),
- our_name, 1, &lacks_ip);
- }
-
- if (auth_required && !can_auth && noauth_addrs == NULL) {
- if (default_auth) {
- option_error(
-"By default the remote system is required to authenticate itself");
- option_error(
-"(because this system has a default route to the internet)");
- } else if (explicit_remote)
- option_error(
-"The remote system (%s) is required to authenticate itself",
- remote_name);
- else
- option_error(
-"The remote system is required to authenticate itself");
- option_error(
-"but I couldn't find any suitable secret (password) for it to use to do so.");
- if (lacks_ip)
- option_error(
-"(None of the available passwords would let it use an IP address.)");
-
- exit(1);
- }
-}
-
-/*
- * auth_reset - called when LCP is starting negotiations to recheck
- * authentication options, i.e. whether we have appropriate secrets
- * to use for authenticating ourselves and/or the peer.
- */
-void
-auth_reset(unit)
- int unit;
-{
- lcp_options *go = &lcp_gotoptions[unit];
- lcp_options *ao = &lcp_allowoptions[0];
-
- ao->neg_upap = !refuse_pap && (passwd[0] != 0 || get_pap_passwd(NULL));
- ao->neg_chap = !refuse_chap
- && (passwd[0] != 0
- || have_chap_secret(user, (explicit_remote? remote_name: NULL),
- 0, NULL));
-
- if (go->neg_upap && !uselogin && !have_pap_secret(NULL))
- go->neg_upap = 0;
- if (go->neg_chap) {
- if (!have_chap_secret((explicit_remote? remote_name: NULL),
- our_name, 1, NULL))
- go->neg_chap = 0;
- }
-}
-
-
-/*
- * check_passwd - Check the user name and passwd against the PAP secrets
- * file. If requested, also check against the system password database,
- * and login the user if OK.
- *
- * returns:
- * UPAP_AUTHNAK: Authentication failed.
- * UPAP_AUTHACK: Authentication succeeded.
- * In either case, msg points to an appropriate message.
- */
-int
-check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
- int unit;
- char *auser;
- int userlen;
- char *apasswd;
- int passwdlen;
- char **msg;
-{
- int ret;
- char *filename;
- FILE *f;
- struct wordlist *addrs = NULL, *opts = NULL;
- char passwd[256], user[256];
- char secret[MAXWORDLEN];
- static int attempts = 0;
-
- /*
- * Make copies of apasswd and auser, then null-terminate them.
- * If there are unprintable characters in the password, make
- * them visible.
- */
- slprintf(passwd, sizeof(passwd), "%.*v", passwdlen, apasswd);
- slprintf(user, sizeof(user), "%.*v", userlen, auser);
- *msg = "";
-
- /*
- * Check if a plugin wants to handle this.
- */
- if (pap_auth_hook) {
- ret = (*pap_auth_hook)(user, passwd, msg, &addrs, &opts);
- if (ret >= 0) {
- if (ret)
- set_allowed_addrs(unit, addrs, opts);
- BZERO(passwd, sizeof(passwd));
- if (addrs != 0)
- free_wordlist(addrs);
- return ret? UPAP_AUTHACK: UPAP_AUTHNAK;
- }
- }
-
- /*
- * Open the file of pap secrets and scan for a suitable secret
- * for authenticating this user.
- */
- filename = _PATH_UPAPFILE;
- addrs = opts = NULL;
- ret = UPAP_AUTHNAK;
- f = fopen(filename, "r");
- if (f == NULL) {
- error("Can't open PAP password file %s: %m", filename);
-
- } else {
- check_access(f, filename);
- if (scan_authfile(f, user, our_name, secret, &addrs, &opts, filename) < 0) {
- warn("no PAP secret found for %s", user);
- } else {
- /*
- * If the secret is "@login", it means to check
- * the password against the login database.
- */
- int login_secret = strcmp(secret, "@login") == 0;
- ret = UPAP_AUTHACK;
- if (uselogin || login_secret) {
- /* login option or secret is @login */
- ret = plogin(user, passwd, msg);
- if (ret == UPAP_AUTHNAK)
- warn("PAP login failure for %s", user);
- else
- used_login = 1;
- }
- if (secret[0] != 0 && !login_secret) {
- /* password given in pap-secrets - must match */
- if ((cryptpap || strcmp(passwd, secret) != 0)
- && strcmp(crypt(passwd, secret), secret) != 0) {
- ret = UPAP_AUTHNAK;
- warn("PAP authentication failure for %s", user);
- }
- }
- }
- fclose(f);
- }
-
- if (ret == UPAP_AUTHNAK) {
- if (**msg == 0)
- *msg = "Login incorrect";
- /*
- * XXX can we ever get here more than once??
- * Frustrate passwd stealer programs.
- * Allow 10 tries, but start backing off after 3 (stolen from login).
- * On 10'th, drop the connection.
- */
- if (attempts++ >= 10) {
- warn("%d LOGIN FAILURES ON %s, %s", attempts, devnam, user);
- lcp_close(unit, "login failed");
- }
- if (attempts > 3)
- sleep((u_int) (attempts - 3) * 5);
- if (opts != NULL)
- free_wordlist(opts);
-
- } else {
- attempts = 0; /* Reset count */
- if (**msg == 0)
- *msg = "Login ok";
- set_allowed_addrs(unit, addrs, opts);
- }
-
- if (addrs != NULL)
- free_wordlist(addrs);
- BZERO(passwd, sizeof(passwd));
- BZERO(secret, sizeof(secret));
-
- return ret;
-}
-
-/*
- * This function is needed for PAM.
- */
-
-#ifdef USE_PAM
-/* Static variables used to communicate between the conversation function
- * and the server_login function
- */
-static char *PAM_username;
-static char *PAM_password;
-static int PAM_error = 0;
-static pam_handle_t *pamh = NULL;
-
-/* PAM conversation function
- * Here we assume (for now, at least) that echo on means login name, and
- * echo off means password.
- */
-
-static int PAM_conv (int num_msg, const struct pam_message **msg,
- struct pam_response **resp, void *appdata_ptr)
-{
- int replies = 0;
- struct pam_response *reply = NULL;
-
-#define COPY_STRING(s) (s) ? strdup(s) : NULL
-
- reply = malloc(sizeof(struct pam_response) * num_msg);
- if (!reply) return PAM_CONV_ERR;
-
- for (replies = 0; replies < num_msg; replies++) {
- switch (msg[replies]->msg_style) {
- case PAM_PROMPT_ECHO_ON:
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = COPY_STRING(PAM_username);
- /* PAM frees resp */
- break;
- case PAM_PROMPT_ECHO_OFF:
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = COPY_STRING(PAM_password);
- /* PAM frees resp */
- break;
- case PAM_TEXT_INFO:
- /* fall through */
- case PAM_ERROR_MSG:
- /* ignore it, but pam still wants a NULL response... */
- reply[replies].resp_retcode = PAM_SUCCESS;
- reply[replies].resp = NULL;
- break;
- default:
- /* Must be an error of some sort... */
- free (reply);
- PAM_error = 1;
- return PAM_CONV_ERR;
- }
- }
- *resp = reply;
- return PAM_SUCCESS;
-}
-
-static struct pam_conv PAM_conversation = {
- &PAM_conv,
- NULL
-};
-#endif /* USE_PAM */
-
-/*
- * plogin - Check the user name and password against the system
- * password database, and login the user if OK.
- *
- * returns:
- * UPAP_AUTHNAK: Login failed.
- * UPAP_AUTHACK: Login succeeded.
- * In either case, msg points to an appropriate message.
- */
-
-static int
-plogin(user, passwd, msg)
- char *user;
- char *passwd;
- char **msg;
-{
- char *tty;
-
-#ifdef USE_PAM
- int pam_error;
-
- pam_error = pam_start ("ppp", user, &PAM_conversation, &pamh);
- if (pam_error != PAM_SUCCESS) {
- *msg = (char *) pam_strerror (pamh, pam_error);
- reopen_log();
- return UPAP_AUTHNAK;
- }
- /*
- * Define the fields for the credential validation
- */
-
- PAM_username = user;
- PAM_password = passwd;
- PAM_error = 0;
- pam_set_item (pamh, PAM_TTY, devnam); /* this might be useful to some modules */
-
- /*
- * Validate the user
- */
- pam_error = pam_authenticate (pamh, PAM_SILENT);
- if (pam_error == PAM_SUCCESS && !PAM_error) {
- pam_error = pam_acct_mgmt (pamh, PAM_SILENT);
- if (pam_error == PAM_SUCCESS)
- pam_error = pam_open_session (pamh, PAM_SILENT);
- }
-
- *msg = (char *) pam_strerror (pamh, pam_error);
-
- /*
- * Clean up the mess
- */
- reopen_log(); /* apparently the PAM stuff does closelog() */
- PAM_username = NULL;
- PAM_password = NULL;
- if (pam_error != PAM_SUCCESS)
- return UPAP_AUTHNAK;
-#else /* #ifdef USE_PAM */
-
-/*
- * Use the non-PAM methods directly
- */
-
-#ifdef HAS_SHADOW
- struct spwd *spwd;
- struct spwd *getspnam();
-#endif
- struct passwd *pw = getpwnam(user);
-
- endpwent();
- if (pw == NULL)
- return (UPAP_AUTHNAK);
-
-#ifdef HAS_SHADOW
- spwd = getspnam(user);
- endspent();
- if (spwd) {
- /* check the age of the password entry */
- long now = time(NULL) / 86400L;
-
- if ((spwd->sp_expire > 0 && now >= spwd->sp_expire)
- || ((spwd->sp_max >= 0 && spwd->sp_max < 10000)
- && spwd->sp_lstchg >= 0
- && now >= spwd->sp_lstchg + spwd->sp_max)) {
- warn("Password for %s has expired", user);
- return (UPAP_AUTHNAK);
- }
- pw->pw_passwd = spwd->sp_pwdp;
- }
-#endif
-
- /*
- * If no passwd, don't let them login.
- */
- if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2
- || strcmp(crypt(passwd, pw->pw_passwd), pw->pw_passwd) != 0)
- return (UPAP_AUTHNAK);
-
-#endif /* #ifdef USE_PAM */
-
- /*
- * Write a wtmp entry for this user.
- */
-
- tty = devnam;
- if (strncmp(tty, "/dev/", 5) == 0)
- tty += 5;
-// logwtmp(tty, user, remote_name); /* Add wtmp login entry */
-
-#if defined(_PATH_LASTLOG) && !defined(USE_PAM)
- if (pw != (struct passwd *)NULL) {
- struct lastlog ll;
- int fd;
-
- if ((fd = open(_PATH_LASTLOG, O_RDWR, 0)) >= 0) {
- (void)lseek(fd, (off_t)(pw->pw_uid * sizeof(ll)), SEEK_SET);
- memset((void *)&ll, 0, sizeof(ll));
- (void)time(&ll.ll_time);
- (void)strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
- (void)write(fd, (char *)&ll, sizeof(ll));
- (void)close(fd);
- }
- }
-#endif /* _PATH_LASTLOG and not USE_PAM */
-
- info("user %s logged in", user);
- logged_in = 1;
-
- return (UPAP_AUTHACK);
-}
-
-/*
- * plogout - Logout the user.
- */
-static void
-plogout()
-{
-#ifdef USE_PAM
- int pam_error;
-
- if (pamh != NULL) {
- pam_error = pam_close_session (pamh, PAM_SILENT);
- pam_end (pamh, pam_error);
- pamh = NULL;
- }
- /* Apparently the pam stuff does closelog(). */
- reopen_log();
-#else /* ! USE_PAM */
- char *tty;
-
- tty = devnam;
- if (strncmp(tty, "/dev/", 5) == 0)
- tty += 5;
-// logwtmp(tty, "", ""); /* Wipe out utmp logout entry */
-#endif /* ! USE_PAM */
- logged_in = 0;
-}
-
-
-/*
- * null_login - Check if a username of "" and a password of "" are
- * acceptable, and iff so, set the list of acceptable IP addresses
- * and return 1.
- */
-static int
-null_login(unit)
- int unit;
-{
- char *filename;
- FILE *f;
- int i, ret;
- struct wordlist *addrs, *opts;
- char secret[MAXWORDLEN];
-
- /*
- * Open the file of pap secrets and scan for a suitable secret.
- */
- filename = _PATH_UPAPFILE;
- addrs = NULL;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
- check_access(f, filename);
-
- i = scan_authfile(f, "", our_name, secret, &addrs, &opts, filename);
- ret = i >= 0 && secret[0] == 0;
- BZERO(secret, sizeof(secret));
-
- if (ret)
- set_allowed_addrs(unit, addrs, opts);
- else if (opts != 0)
- free_wordlist(opts);
- if (addrs != 0)
- free_wordlist(addrs);
-
- fclose(f);
- return ret;
-}
-
-
-/*
- * get_pap_passwd - get a password for authenticating ourselves with
- * our peer using PAP. Returns 1 on success, 0 if no suitable password
- * could be found.
- * Assumes passwd points to MAXSECRETLEN bytes of space (if non-null).
- */
-static int
-get_pap_passwd(passwd)
- char *passwd;
-{
- char *filename;
- FILE *f;
- int ret;
- char secret[MAXWORDLEN];
-
- /*
- * Check whether a plugin wants to supply this.
- */
- if (pap_passwd_hook) {
- ret = (*pap_passwd_hook)(user, passwd);
- if (ret >= 0)
- return ret;
- }
-
- filename = _PATH_UPAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
- check_access(f, filename);
- ret = scan_authfile(f, user,
- (remote_name[0]? remote_name: NULL),
- secret, NULL, NULL, filename);
- fclose(f);
- if (ret < 0)
- return 0;
- if (passwd != NULL)
- strlcpy(passwd, secret, MAXSECRETLEN);
- BZERO(secret, sizeof(secret));
- return 1;
-}
-
-
-/*
- * have_pap_secret - check whether we have a PAP file with any
- * secrets that we could possibly use for authenticating the peer.
- */
-static int
-have_pap_secret(lacks_ipp)
- int *lacks_ipp;
-{
- FILE *f;
- int ret;
- char *filename;
- struct wordlist *addrs;
-
- /* let the plugin decide, if there is one */
- if (pap_check_hook) {
- ret = (*pap_check_hook)();
- if (ret >= 0)
- return ret;
- }
-
- filename = _PATH_UPAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
-
- ret = scan_authfile(f, (explicit_remote? remote_name: NULL), our_name,
- NULL, &addrs, NULL, filename);
- fclose(f);
- if (ret >= 0 && !some_ip_ok(addrs)) {
- if (lacks_ipp != 0)
- *lacks_ipp = 1;
- ret = -1;
- }
- if (addrs != 0)
- free_wordlist(addrs);
-
- return ret >= 0;
-}
-
-
-/*
- * have_chap_secret - check whether we have a CHAP file with a
- * secret that we could possibly use for authenticating `client'
- * on `server'. Either can be the null string, meaning we don't
- * know the identity yet.
- */
-static int
-have_chap_secret(client, server, need_ip, lacks_ipp)
- char *client;
- char *server;
- int need_ip;
- int *lacks_ipp;
-{
- FILE *f;
- int ret;
- char *filename;
- struct wordlist *addrs;
-
- filename = _PATH_CHAPFILE;
- f = fopen(filename, "r");
- if (f == NULL)
- return 0;
-
- if (client != NULL && client[0] == 0)
- client = NULL;
- else if (server != NULL && server[0] == 0)
- server = NULL;
-
- ret = scan_authfile(f, client, server, NULL, &addrs, NULL, filename);
- fclose(f);
- if (ret >= 0 && need_ip && !some_ip_ok(addrs)) {
- if (lacks_ipp != 0)
- *lacks_ipp = 1;
- ret = -1;
- }
- if (addrs != 0)
- free_wordlist(addrs);
-
- return ret >= 0;
-}
-
-
-/*
- * get_secret - open the CHAP secret file and return the secret
- * for authenticating the given client on the given server.
- * (We could be either client or server).
- */
-int
-get_secret(unit, client, server, secret, secret_len, am_server)
- int unit;
- char *client;
- char *server;
- char *secret;
- int *secret_len;
- int am_server;
-{
- FILE *f;
- int ret, len;
- char *filename;
- struct wordlist *addrs, *opts;
- char secbuf[MAXWORDLEN];
-
- if (!am_server && passwd[0] != 0) {
- strlcpy(secbuf, passwd, sizeof(secbuf));
- } else {
- filename = _PATH_CHAPFILE;
- addrs = NULL;
- secbuf[0] = 0;
-
- f = fopen(filename, "r");
- if (f == NULL) {
- error("Can't open chap secret file %s: %m", filename);
- return 0;
- }
- check_access(f, filename);
-
- ret = scan_authfile(f, client, server, secbuf, &addrs, &opts, filename);
- fclose(f);
- if (ret < 0)
- return 0;
-
- if (am_server)
- set_allowed_addrs(unit, addrs, opts);
- else if (opts != 0)
- free_wordlist(opts);
- if (addrs != 0)
- free_wordlist(addrs);
- }
-
- len = strlen(secbuf);
- if (len > MAXSECRETLEN) {
- error("Secret for %s on %s is too long", client, server);
- len = MAXSECRETLEN;
- }
- BCOPY(secbuf, secret, len);
- BZERO(secbuf, sizeof(secbuf));
- *secret_len = len;
-
- return 1;
-}
-
-/*
- * set_allowed_addrs() - set the list of allowed addresses.
- * Also looks for `--' indicating options to apply for this peer
- * and leaves the following words in extra_options.
- */
-static void
-set_allowed_addrs(unit, addrs, opts)
- int unit;
- struct wordlist *addrs;
- struct wordlist *opts;
-{
- int n;
- struct wordlist *ap, **plink;
- struct permitted_ip *ip;
- char *ptr_word, *ptr_mask;
- struct hostent *hp;
- u_int32_t a, mask, offset;
- struct ipcp_options *wo = &ipcp_wantoptions[unit];
- u_int32_t suggested_ip = 0;
-
- if (addresses[unit] != NULL)
- free(addresses[unit]);
- addresses[unit] = NULL;
- if (extra_options != NULL)
- free_wordlist(extra_options);
- extra_options = opts;
-
- /*
- * Count the number of IP addresses given.
- */
- n = wordlist_count(addrs) + wordlist_count(noauth_addrs);
- if (n == 0)
- return;
- ip = (struct permitted_ip *) malloc((n + 1) * sizeof(struct permitted_ip));
- if (ip == 0)
- return;
-
- /* temporarily append the noauth_addrs list to addrs */
- for (plink = &addrs; *plink != NULL; plink = &(*plink)->next)
- ;
- *plink = noauth_addrs;
-
- n = 0;
- for (ap = addrs; ap != NULL; ap = ap->next) {
- /* "-" means no addresses authorized, "*" means any address allowed */
- ptr_word = ap->word;
- if (strcmp(ptr_word, "-") == 0)
- break;
- if (strcmp(ptr_word, "*") == 0) {
- ip[n].permit = 1;
- ip[n].base = ip[n].mask = 0;
- ++n;
- break;
- }
-
- ip[n].permit = 1;
- if (*ptr_word == '!') {
- ip[n].permit = 0;
- ++ptr_word;
- }
-
- mask = ~ (u_int32_t) 0;
- offset = 0;
- ptr_mask = strchr (ptr_word, '/');
- if (ptr_mask != NULL) {
- int bit_count;
- char *endp;
-
- bit_count = (int) strtol (ptr_mask+1, &endp, 10);
- if (bit_count <= 0 || bit_count > 32) {
- warn("invalid address length %v in auth. address list",
- ptr_mask+1);
- continue;
- }
- bit_count = 32 - bit_count; /* # bits in host part */
- if (*endp == '+') {
- offset = ifunit + 1;
- ++endp;
- }
- if (*endp != 0) {
- warn("invalid address length syntax: %v", ptr_mask+1);
- continue;
- }
- *ptr_mask = '\0';
- mask <<= bit_count;
- }
-
- hp = gethostbyname(ptr_word);
- if (hp != NULL && hp->h_addrtype == AF_INET) {
- a = *(u_int32_t *)hp->h_addr;
- } else {
- printf("*** getnetbyname is unsupported, please report bug! ***\n");
- return;
- }
-
- if (ptr_mask != NULL)
- *ptr_mask = '/';
-
- if (a == (u_int32_t)-1L) {
- warn("unknown host %s in auth. address list", ap->word);
- continue;
- }
- if (offset != 0) {
- if (offset >= ~mask) {
- warn("interface unit %d too large for subnet %v",
- ifunit, ptr_word);
- continue;
- }
- a = htonl((ntohl(a) & mask) + offset);
- mask = ~(u_int32_t)0;
- }
- ip[n].mask = htonl(mask);
- ip[n].base = a & ip[n].mask;
- ++n;
- if (~mask == 0 && suggested_ip == 0)
- suggested_ip = a;
- }
- *plink = NULL;
-
- ip[n].permit = 0; /* make the last entry forbid all addresses */
- ip[n].base = 0; /* to terminate the list */
- ip[n].mask = 0;
-
- addresses[unit] = ip;
-
- /*
- * If the address given for the peer isn't authorized, or if
- * the user hasn't given one, AND there is an authorized address
- * which is a single host, then use that if we find one.
- */
- if (suggested_ip != 0
- && (wo->hisaddr == 0 || !auth_ip_addr(unit, wo->hisaddr))) {
- wo->hisaddr = suggested_ip;
- /*
- * Do we insist on this address? No, if there are other
- * addresses authorized than the suggested one.
- */
- if (n > 1)
- wo->accept_remote = 1;
- }
-}
-
-/*
- * auth_ip_addr - check whether the peer is authorized to use
- * a given IP address. Returns 1 if authorized, 0 otherwise.
- */
-int
-auth_ip_addr(unit, addr)
- int unit;
- u_int32_t addr;
-{
- int ok;
-
- /* don't allow loopback or multicast address */
- if (bad_ip_adrs(addr))
- return 0;
-
- if (addresses[unit] != NULL) {
- ok = ip_addr_check(addr, addresses[unit]);
- if (ok >= 0)
- return ok;
- }
- if (auth_required)
- return 0; /* no addresses authorized */
- return allow_any_ip || privileged || !have_route_to(addr);
-}
-
-static int
-ip_addr_check(addr, addrs)
- u_int32_t addr;
- struct permitted_ip *addrs;
-{
- for (; ; ++addrs)
- if ((addr & addrs->mask) == addrs->base)
- return addrs->permit;
-}
-
-/*
- * bad_ip_adrs - return 1 if the IP address is one we don't want
- * to use, such as an address in the loopback net or a multicast address.
- * addr is in network byte order.
- */
-int
-bad_ip_adrs(addr)
- u_int32_t addr;
-{
- addr = ntohl(addr);
- return (addr >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET
- || IN_MULTICAST(addr) || IN_BADCLASS(addr);
-}
-
-/*
- * some_ip_ok - check a wordlist to see if it authorizes any
- * IP address(es).
- */
-static int
-some_ip_ok(addrs)
- struct wordlist *addrs;
-{
- for (; addrs != 0; addrs = addrs->next) {
- if (addrs->word[0] == '-')
- break;
- if (addrs->word[0] != '!')
- return 1; /* some IP address is allowed */
- }
- return 0;
-}
-
-/*
- * check_access - complain if a secret file has too-liberal permissions.
- */
-static void
-check_access(f, filename)
- FILE *f;
- char *filename;
-{
- struct stat sbuf;
-
- if (fstat(fileno(f), &sbuf) < 0) {
- warn("cannot stat secret file %s: %m", filename);
- } else if ((sbuf.st_mode & (S_IRWXG | S_IRWXO)) != 0) {
- warn("Warning - secret file %s has world and/or group access",
- filename);
- }
-}
-
-
-/*
- * scan_authfile - Scan an authorization file for a secret suitable
- * for authenticating `client' on `server'. The return value is -1
- * if no secret is found, otherwise >= 0. The return value has
- * NONWILD_CLIENT set if the secret didn't have "*" for the client, and
- * NONWILD_SERVER set if the secret didn't have "*" for the server.
- * Any following words on the line up to a "--" (i.e. address authorization
- * info) are placed in a wordlist and returned in *addrs. Any
- * following words (extra options) are placed in a wordlist and
- * returned in *opts.
- * We assume secret is NULL or points to MAXWORDLEN bytes of space.
- */
-static int
-scan_authfile(f, client, server, secret, addrs, opts, filename)
- FILE *f;
- char *client;
- char *server;
- char *secret;
- struct wordlist **addrs;
- struct wordlist **opts;
- char *filename;
-{
- int newline, xxx;
- int got_flag, best_flag;
- FILE *sf;
- struct wordlist *ap, *addr_list, *alist, **app;
- char word[MAXWORDLEN];
- char atfile[MAXWORDLEN];
- char lsecret[MAXWORDLEN];
-
- if (addrs != NULL)
- *addrs = NULL;
- if (opts != NULL)
- *opts = NULL;
- addr_list = NULL;
- if (!getword(f, word, &newline, filename))
- return -1; /* file is empty??? */
- newline = 1;
- best_flag = -1;
- for (;;) {
- /*
- * Skip until we find a word at the start of a line.
- */
- while (!newline && getword(f, word, &newline, filename))
- ;
- if (!newline)
- break; /* got to end of file */
-
- /*
- * Got a client - check if it's a match or a wildcard.
- */
- got_flag = 0;
- if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) {
- newline = 0;
- continue;
- }
- if (!ISWILD(word))
- got_flag = NONWILD_CLIENT;
-
- /*
- * Now get a server and check if it matches.
- */
- if (!getword(f, word, &newline, filename))
- break;
- if (newline)
- continue;
- if (!ISWILD(word)) {
- if (server != NULL && strcmp(word, server) != 0)
- continue;
- got_flag |= NONWILD_SERVER;
- }
-
- /*
- * Got some sort of a match - see if it's better than what
- * we have already.
- */
- if (got_flag <= best_flag)
- continue;
-
- /*
- * Get the secret.
- */
- if (!getword(f, word, &newline, filename))
- break;
- if (newline)
- continue;
-
- if (secret != NULL) {
- /*
- * Special syntax: @/pathname means read secret from file.
- */
- if (word[0] == '@' && word[1] == '/') {
- strlcpy(atfile, word+1, sizeof(atfile));
- if ((sf = fopen(atfile, "r")) == NULL) {
- warn("can't open indirect secret file %s", atfile);
- continue;
- }
- check_access(sf, atfile);
- if (!getword(sf, word, &xxx, atfile)) {
- warn("no secret in indirect secret file %s", atfile);
- fclose(sf);
- continue;
- }
- fclose(sf);
- }
- strlcpy(lsecret, word, sizeof(lsecret));
- }
-
- /*
- * Now read address authorization info and make a wordlist.
- */
- app = &alist;
- for (;;) {
- if (!getword(f, word, &newline, filename) || newline)
- break;
- ap = (struct wordlist *)
- malloc(sizeof(struct wordlist) + strlen(word) + 1);
- if (ap == NULL)
- novm("authorized addresses");
- ap->word = (char *) (ap + 1);
- strcpy(ap->word, word);
- *app = ap;
- app = &ap->next;
- }
- *app = NULL;
-
- /*
- * This is the best so far; remember it.
- */
- best_flag = got_flag;
- if (addr_list)
- free_wordlist(addr_list);
- addr_list = alist;
- if (secret != NULL)
- strlcpy(secret, lsecret, MAXWORDLEN);
-
- if (!newline)
- break;
- }
-
- /* scan for a -- word indicating the start of options */
- for (app = &addr_list; (ap = *app) != NULL; app = &ap->next)
- if (strcmp(ap->word, "--") == 0)
- break;
- /* ap = start of options */
- if (ap != NULL) {
- ap = ap->next; /* first option */
- free(*app); /* free the "--" word */
- *app = NULL; /* terminate addr list */
- }
- if (opts != NULL)
- *opts = ap;
- else if (ap != NULL)
- free_wordlist(ap);
- if (addrs != NULL)
- *addrs = addr_list;
- else if (addr_list != NULL)
- free_wordlist(addr_list);
-
- return best_flag;
-}
-
-/*
- * wordlist_count - return the number of items in a wordlist
- */
-static int
-wordlist_count(wp)
- struct wordlist *wp;
-{
- int n;
-
- for (n = 0; wp != NULL; wp = wp->next)
- ++n;
- return n;
-}
-
-/*
- * free_wordlist - release memory allocated for a wordlist.
- */
-static void
-free_wordlist(wp)
- struct wordlist *wp;
-{
- struct wordlist *next;
-
- while (wp != NULL) {
- next = wp->next;
- free(wp);
- wp = next;
- }
-}
-
-/*
- * auth_script_done - called when the auth-up or auth-down script
- * has finished.
- */
-static void
-auth_script_done(arg)
- void *arg;
-{
- auth_script_pid = 0;
- switch (auth_script_state) {
- case s_up:
- if (auth_state == s_down) {
- auth_script_state = s_down;
- auth_script(_PATH_AUTHDOWN);
- }
- break;
- case s_down:
- if (auth_state == s_up) {
- auth_script_state = s_up;
- auth_script(_PATH_AUTHUP);
- }
- break;
- }
-}
-
-/*
- * auth_script - execute a script with arguments
- * interface-name peer-name real-user tty speed
- */
-static void
-auth_script(script)
- char *script;
-{
- char strspeed[32];
- struct passwd *pw;
- char struid[32];
- char *user_name;
- char *argv[8];
-
- if ((pw = getpwuid(getuid())) != NULL && pw->pw_name != NULL)
- user_name = pw->pw_name;
- else {
- slprintf(struid, sizeof(struid), "%d", getuid());
- user_name = struid;
- }
- slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = peer_authname;
- argv[3] = user_name;
- argv[4] = devnam;
- argv[5] = strspeed;
- argv[6] = NULL;
-
- auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL);
-}
diff --git a/mdk-stage1/ppp/pppd/cbcp.c b/mdk-stage1/ppp/pppd/cbcp.c
deleted file mode 100644
index 8c57b3cde..000000000
--- a/mdk-stage1/ppp/pppd/cbcp.c
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * cbcp - Call Back Configuration Protocol.
- *
- * Copyright (c) 1995 Pedro Roque Marques
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Pedro Roque Marques. The name of the author may not be used to
- * endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "cbcp.h"
-#include "fsm.h"
-#include "lcp.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * Options.
- */
-static int setcbcp __P((char **));
-
-static option_t cbcp_option_list[] = {
- { "callback", o_special, setcbcp,
- "Ask for callback", OPT_PRIO | OPT_A2STRVAL, &cbcp[0].us_number },
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void cbcp_init __P((int unit));
-static void cbcp_open __P((int unit));
-static void cbcp_lowerup __P((int unit));
-static void cbcp_input __P((int unit, u_char *pkt, int len));
-static void cbcp_protrej __P((int unit));
-static int cbcp_printpkt __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
-
-struct protent cbcp_protent = {
- PPP_CBCP,
- cbcp_init,
- cbcp_input,
- cbcp_protrej,
- cbcp_lowerup,
- NULL,
- cbcp_open,
- NULL,
- cbcp_printpkt,
- NULL,
- 0,
- "CBCP",
- NULL,
- cbcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-cbcp_state cbcp[NUM_PPP];
-
-/* internal prototypes */
-
-static void cbcp_recvreq __P((cbcp_state *us, char *pckt, int len));
-static void cbcp_resp __P((cbcp_state *us));
-static void cbcp_up __P((cbcp_state *us));
-static void cbcp_recvack __P((cbcp_state *us, char *pckt, int len));
-static void cbcp_send __P((cbcp_state *us, u_char code, u_char *buf, int len));
-
-/* option processing */
-static int
-setcbcp(argv)
- char **argv;
-{
- lcp_wantoptions[0].neg_cbcp = 1;
- cbcp_protent.enabled_flag = 1;
- cbcp[0].us_number = strdup(*argv);
- if (cbcp[0].us_number == 0)
- novm("callback number");
- cbcp[0].us_type |= (1 << CB_CONF_USER);
- cbcp[0].us_type |= (1 << CB_CONF_ADMIN);
- return (1);
-}
-
-/* init state */
-static void
-cbcp_init(iface)
- int iface;
-{
- cbcp_state *us;
-
- us = &cbcp[iface];
- memset(us, 0, sizeof(cbcp_state));
- us->us_unit = iface;
- us->us_type |= (1 << CB_CONF_NO);
-}
-
-/* lower layer is up */
-static void
-cbcp_lowerup(iface)
- int iface;
-{
- cbcp_state *us = &cbcp[iface];
-
- dbglog("cbcp_lowerup");
- dbglog("want: %d", us->us_type);
-
- if (us->us_type == CB_CONF_USER)
- dbglog("phone no: %s", us->us_number);
-}
-
-static void
-cbcp_open(unit)
- int unit;
-{
- dbglog("cbcp_open");
-}
-
-/* process an incomming packet */
-static void
-cbcp_input(unit, inpacket, pktlen)
- int unit;
- u_char *inpacket;
- int pktlen;
-{
- u_char *inp;
- u_char code, id;
- u_short len;
-
- cbcp_state *us = &cbcp[unit];
-
- inp = inpacket;
-
- if (pktlen < CBCP_MINLEN) {
- error("CBCP packet is too small");
- return;
- }
-
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
-
-#if 0
- if (len > pktlen) {
- error("CBCP packet: invalid length");
- return;
- }
-#endif
-
- len -= CBCP_MINLEN;
-
- switch(code) {
- case CBCP_REQ:
- us->us_id = id;
- cbcp_recvreq(us, inp, len);
- break;
-
- case CBCP_RESP:
- dbglog("CBCP_RESP received");
- break;
-
- case CBCP_ACK:
- if (id != us->us_id)
- dbglog("id doesn't match: expected %d recv %d",
- us->us_id, id);
-
- cbcp_recvack(us, inp, len);
- break;
-
- default:
- break;
- }
-}
-
-/* protocol was rejected by foe */
-void cbcp_protrej(int iface)
-{
-}
-
-char *cbcp_codenames[] = {
- "Request", "Response", "Ack"
-};
-
-char *cbcp_optionnames[] = {
- "NoCallback",
- "UserDefined",
- "AdminDefined",
- "List"
-};
-
-/* pretty print a packet */
-static int
-cbcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, opt, id, len, olen, delay;
- u_char *pstart;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(cbcp_codenames) / sizeof(char *))
- printer(arg, " %s", cbcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
-
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
-
- switch (code) {
- case CBCP_REQ:
- case CBCP_RESP:
- case CBCP_ACK:
- while(len >= 2) {
- GETCHAR(opt, p);
- GETCHAR(olen, p);
-
- if (olen < 2 || olen > len) {
- break;
- }
-
- printer(arg, " <");
- len -= olen;
-
- if (opt >= 1 && opt <= sizeof(cbcp_optionnames) / sizeof(char *))
- printer(arg, " %s", cbcp_optionnames[opt-1]);
- else
- printer(arg, " option=0x%x", opt);
-
- if (olen > 2) {
- GETCHAR(delay, p);
- printer(arg, " delay = %d", delay);
- }
-
- if (olen > 3) {
- int addrt;
- char str[256];
-
- GETCHAR(addrt, p);
- memcpy(str, p, olen - 4);
- str[olen - 4] = 0;
- printer(arg, " number = %s", str);
- }
- printer(arg, ">");
- break;
- }
-
- default:
- break;
- }
-
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/* received CBCP request */
-static void
-cbcp_recvreq(us, pckt, pcktlen)
- cbcp_state *us;
- char *pckt;
- int pcktlen;
-{
- u_char type, opt_len, delay, addr_type;
- char address[256];
- int len = pcktlen;
-
- address[0] = 0;
-
- while (len) {
- dbglog("length: %d", len);
-
- GETCHAR(type, pckt);
- GETCHAR(opt_len, pckt);
-
- if (opt_len > 2)
- GETCHAR(delay, pckt);
-
- us->us_allowed |= (1 << type);
-
- switch(type) {
- case CB_CONF_NO:
- dbglog("no callback allowed");
- break;
-
- case CB_CONF_USER:
- dbglog("user callback allowed");
- if (opt_len > 4) {
- GETCHAR(addr_type, pckt);
- memcpy(address, pckt, opt_len - 4);
- address[opt_len - 4] = 0;
- if (address[0])
- dbglog("address: %s", address);
- }
- break;
-
- case CB_CONF_ADMIN:
- dbglog("user admin defined allowed");
- break;
-
- case CB_CONF_LIST:
- break;
- }
- len -= opt_len;
- }
-
- cbcp_resp(us);
-}
-
-static void
-cbcp_resp(us)
- cbcp_state *us;
-{
- u_char cb_type;
- u_char buf[256];
- u_char *bufp = buf;
- int len = 0;
-
- cb_type = us->us_allowed & us->us_type;
- dbglog("cbcp_resp cb_type=%d", cb_type);
-
-#if 0
- if (!cb_type)
- lcp_down(us->us_unit);
-#endif
-
- if (cb_type & ( 1 << CB_CONF_USER ) ) {
- dbglog("cbcp_resp CONF_USER");
- PUTCHAR(CB_CONF_USER, bufp);
- len = 3 + 1 + strlen(us->us_number) + 1;
- PUTCHAR(len , bufp);
- PUTCHAR(5, bufp); /* delay */
- PUTCHAR(1, bufp);
- BCOPY(us->us_number, bufp, strlen(us->us_number) + 1);
- cbcp_send(us, CBCP_RESP, buf, len);
- return;
- }
-
- if (cb_type & ( 1 << CB_CONF_ADMIN ) ) {
- dbglog("cbcp_resp CONF_ADMIN");
- PUTCHAR(CB_CONF_ADMIN, bufp);
- len = 3;
- PUTCHAR(len, bufp);
- PUTCHAR(5, bufp); /* delay */
- cbcp_send(us, CBCP_RESP, buf, len);
- return;
- }
-
- if (cb_type & ( 1 << CB_CONF_NO ) ) {
- dbglog("cbcp_resp CONF_NO");
- PUTCHAR(CB_CONF_NO, bufp);
- len = 3;
- PUTCHAR(len , bufp);
- PUTCHAR(0, bufp);
- cbcp_send(us, CBCP_RESP, buf, len);
- start_networks();
- return;
- }
-}
-
-static void
-cbcp_send(us, code, buf, len)
- cbcp_state *us;
- u_char code;
- u_char *buf;
- int len;
-{
- u_char *outp;
- int outlen;
-
- outp = outpacket_buf;
-
- outlen = 4 + len;
-
- MAKEHEADER(outp, PPP_CBCP);
-
- PUTCHAR(code, outp);
- PUTCHAR(us->us_id, outp);
- PUTSHORT(outlen, outp);
-
- if (len)
- BCOPY(buf, outp, len);
-
- output(us->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-static void
-cbcp_recvack(us, pckt, len)
- cbcp_state *us;
- char *pckt;
- int len;
-{
- u_char type, delay, addr_type;
- int opt_len;
- char address[256];
-
- if (len) {
- GETCHAR(type, pckt);
- GETCHAR(opt_len, pckt);
-
- if (opt_len > 2)
- GETCHAR(delay, pckt);
-
- if (opt_len > 4) {
- GETCHAR(addr_type, pckt);
- memcpy(address, pckt, opt_len - 4);
- address[opt_len - 4] = 0;
- if (address[0])
- dbglog("peer will call: %s", address);
- }
- if (type == CB_CONF_NO)
- return;
- }
-
- cbcp_up(us);
-}
-
-/* ok peer will do callback */
-static void
-cbcp_up(us)
- cbcp_state *us;
-{
- persist = 0;
- lcp_close(0, "Call me back, please");
- status = EXIT_CALLBACK;
-}
diff --git a/mdk-stage1/ppp/pppd/cbcp.h b/mdk-stage1/ppp/pppd/cbcp.h
deleted file mode 100644
index c2ab3f689..000000000
--- a/mdk-stage1/ppp/pppd/cbcp.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef CBCP_H
-#define CBCP_H
-
-typedef struct cbcp_state {
- int us_unit; /* Interface unit number */
- u_char us_id; /* Current id */
- u_char us_allowed;
- int us_type;
- char *us_number; /* Telefone Number */
-} cbcp_state;
-
-extern cbcp_state cbcp[];
-
-extern struct protent cbcp_protent;
-
-#define CBCP_MINLEN 4
-
-#define CBCP_REQ 1
-#define CBCP_RESP 2
-#define CBCP_ACK 3
-
-#define CB_CONF_NO 1
-#define CB_CONF_USER 2
-#define CB_CONF_ADMIN 3
-#define CB_CONF_LIST 4
-#endif
diff --git a/mdk-stage1/ppp/pppd/ccp.c b/mdk-stage1/ppp/pppd/ccp.c
deleted file mode 100644
index 7e36e384e..000000000
--- a/mdk-stage1/ppp/pppd/ccp.c
+++ /dev/null
@@ -1,1257 +0,0 @@
-/*
- * ccp.c - PPP Compression Control Protocol.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ccp.h"
-#include <net/ppp-comp.h>
-
-static const char rcsid[] = RCSID;
-
-/*
- * Unfortunately there is a bug in zlib which means that using a
- * size of 8 (window size = 256) for Deflate compression will cause
- * buffer overruns and kernel crashes in the deflate module.
- * Until this is fixed we only accept sizes in the range 9 .. 15.
- * Thanks to James Carlson for pointing this out.
- */
-#define DEFLATE_MIN_WORKS 9
-
-/*
- * Command-line options.
- */
-static int setbsdcomp __P((char **));
-static int setdeflate __P((char **));
-static char bsd_value[8];
-static char deflate_value[8];
-
-static option_t ccp_option_list[] = {
- { "noccp", o_bool, &ccp_protent.enabled_flag,
- "Disable CCP negotiation" },
- { "-ccp", o_bool, &ccp_protent.enabled_flag,
- "Disable CCP negotiation", OPT_ALIAS },
-
- { "bsdcomp", o_special, (void *)setbsdcomp,
- "Request BSD-Compress packet compression",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, bsd_value },
- { "nobsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
- "don't allow BSD-Compress", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].bsd_compress },
- { "-bsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
- "don't allow BSD-Compress", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].bsd_compress },
-
- { "deflate", o_special, (void *)setdeflate,
- "request Deflate compression",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, deflate_value },
- { "nodeflate", o_bool, &ccp_wantoptions[0].deflate,
- "don't allow Deflate compression", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].deflate },
- { "-deflate", o_bool, &ccp_wantoptions[0].deflate,
- "don't allow Deflate compression", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].deflate },
-
- { "nodeflatedraft", o_bool, &ccp_wantoptions[0].deflate_draft,
- "don't use draft deflate #", OPT_A2COPY,
- &ccp_allowoptions[0].deflate_draft },
-
- { "predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "request Predictor-1", 1, &ccp_allowoptions[0].predictor_1, OPT_PRIO },
- { "nopredictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "don't allow Predictor-1", OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].predictor_1 },
- { "-predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
- "don't allow Predictor-1", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
- &ccp_allowoptions[0].predictor_1 },
-
- { NULL }
-};
-
-/*
- * Protocol entry points from main code.
- */
-static void ccp_init __P((int unit));
-static void ccp_open __P((int unit));
-static void ccp_close __P((int unit, char *));
-static void ccp_lowerup __P((int unit));
-static void ccp_lowerdown __P((int));
-static void ccp_input __P((int unit, u_char *pkt, int len));
-static void ccp_protrej __P((int unit));
-static int ccp_printpkt __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
-static void ccp_datainput __P((int unit, u_char *pkt, int len));
-
-struct protent ccp_protent = {
- PPP_CCP,
- ccp_init,
- ccp_input,
- ccp_protrej,
- ccp_lowerup,
- ccp_lowerdown,
- ccp_open,
- ccp_close,
- ccp_printpkt,
- ccp_datainput,
- 1,
- "CCP",
- "Compressed",
- ccp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-fsm ccp_fsm[NUM_PPP];
-ccp_options ccp_wantoptions[NUM_PPP]; /* what to request the peer to use */
-ccp_options ccp_gotoptions[NUM_PPP]; /* what the peer agreed to do */
-ccp_options ccp_allowoptions[NUM_PPP]; /* what we'll agree to do */
-ccp_options ccp_hisoptions[NUM_PPP]; /* what we agreed to do */
-
-/*
- * Callbacks for fsm code.
- */
-static void ccp_resetci __P((fsm *));
-static int ccp_cilen __P((fsm *));
-static void ccp_addci __P((fsm *, u_char *, int *));
-static int ccp_ackci __P((fsm *, u_char *, int));
-static int ccp_nakci __P((fsm *, u_char *, int));
-static int ccp_rejci __P((fsm *, u_char *, int));
-static int ccp_reqci __P((fsm *, u_char *, int *, int));
-static void ccp_up __P((fsm *));
-static void ccp_down __P((fsm *));
-static int ccp_extcode __P((fsm *, int, int, u_char *, int));
-static void ccp_rack_timeout __P((void *));
-static char *method_name __P((ccp_options *, ccp_options *));
-
-static fsm_callbacks ccp_callbacks = {
- ccp_resetci,
- ccp_cilen,
- ccp_addci,
- ccp_ackci,
- ccp_nakci,
- ccp_rejci,
- ccp_reqci,
- ccp_up,
- ccp_down,
- NULL,
- NULL,
- NULL,
- NULL,
- ccp_extcode,
- "CCP"
-};
-
-/*
- * Do we want / did we get any compression?
- */
-#define ANY_COMPRESS(opt) ((opt).deflate || (opt).bsd_compress \
- || (opt).predictor_1 || (opt).predictor_2)
-
-/*
- * Local state (mainly for handling reset-reqs and reset-acks).
- */
-static int ccp_localstate[NUM_PPP];
-#define RACK_PENDING 1 /* waiting for reset-ack */
-#define RREQ_REPEAT 2 /* send another reset-req if no reset-ack */
-
-#define RACKTIMEOUT 1 /* second */
-
-static int all_rejected[NUM_PPP]; /* we rejected all peer's options */
-
-/*
- * Option parsing.
- */
-static int
-setbsdcomp(argv)
- char **argv;
-{
- int rbits, abits;
- char *str, *endp;
-
- str = *argv;
- abits = rbits = strtol(str, &endp, 0);
- if (endp != str && *endp == ',') {
- str = endp + 1;
- abits = strtol(str, &endp, 0);
- }
- if (*endp != 0 || endp == str) {
- option_error("invalid parameter '%s' for bsdcomp option", *argv);
- return 0;
- }
- if ((rbits != 0 && (rbits < BSD_MIN_BITS || rbits > BSD_MAX_BITS))
- || (abits != 0 && (abits < BSD_MIN_BITS || abits > BSD_MAX_BITS))) {
- option_error("bsdcomp option values must be 0 or %d .. %d",
- BSD_MIN_BITS, BSD_MAX_BITS);
- return 0;
- }
- if (rbits > 0) {
- ccp_wantoptions[0].bsd_compress = 1;
- ccp_wantoptions[0].bsd_bits = rbits;
- } else
- ccp_wantoptions[0].bsd_compress = 0;
- if (abits > 0) {
- ccp_allowoptions[0].bsd_compress = 1;
- ccp_allowoptions[0].bsd_bits = abits;
- } else
- ccp_allowoptions[0].bsd_compress = 0;
- slprintf(bsd_value, sizeof(bsd_value),
- rbits == abits? "%d": "%d,%d", rbits, abits);
-
- return 1;
-}
-
-static int
-setdeflate(argv)
- char **argv;
-{
- int rbits, abits;
- char *str, *endp;
-
- str = *argv;
- abits = rbits = strtol(str, &endp, 0);
- if (endp != str && *endp == ',') {
- str = endp + 1;
- abits = strtol(str, &endp, 0);
- }
- if (*endp != 0 || endp == str) {
- option_error("invalid parameter '%s' for deflate option", *argv);
- return 0;
- }
- if ((rbits != 0 && (rbits < DEFLATE_MIN_SIZE || rbits > DEFLATE_MAX_SIZE))
- || (abits != 0 && (abits < DEFLATE_MIN_SIZE
- || abits > DEFLATE_MAX_SIZE))) {
- option_error("deflate option values must be 0 or %d .. %d",
- DEFLATE_MIN_SIZE, DEFLATE_MAX_SIZE);
- return 0;
- }
- if (rbits == DEFLATE_MIN_SIZE || abits == DEFLATE_MIN_SIZE) {
- if (rbits == DEFLATE_MIN_SIZE)
- rbits = DEFLATE_MIN_WORKS;
- if (abits == DEFLATE_MIN_SIZE)
- abits = DEFLATE_MIN_WORKS;
- warn("deflate option value of %d changed to %d to avoid zlib bug",
- DEFLATE_MIN_SIZE, DEFLATE_MIN_WORKS);
- }
- if (rbits > 0) {
- ccp_wantoptions[0].deflate = 1;
- ccp_wantoptions[0].deflate_size = rbits;
- } else
- ccp_wantoptions[0].deflate = 0;
- if (abits > 0) {
- ccp_allowoptions[0].deflate = 1;
- ccp_allowoptions[0].deflate_size = abits;
- } else
- ccp_allowoptions[0].deflate = 0;
- slprintf(deflate_value, sizeof(deflate_value),
- rbits == abits? "%d": "%d,%d", rbits, abits);
-
- return 1;
-}
-
-/*
- * ccp_init - initialize CCP.
- */
-static void
-ccp_init(unit)
- int unit;
-{
- fsm *f = &ccp_fsm[unit];
-
- f->unit = unit;
- f->protocol = PPP_CCP;
- f->callbacks = &ccp_callbacks;
- fsm_init(f);
-
- memset(&ccp_wantoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_gotoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_allowoptions[unit], 0, sizeof(ccp_options));
- memset(&ccp_hisoptions[unit], 0, sizeof(ccp_options));
-
- ccp_wantoptions[0].deflate = 1;
- ccp_wantoptions[0].deflate_size = DEFLATE_MAX_SIZE;
- ccp_wantoptions[0].deflate_correct = 1;
- ccp_wantoptions[0].deflate_draft = 1;
- ccp_allowoptions[0].deflate = 1;
- ccp_allowoptions[0].deflate_size = DEFLATE_MAX_SIZE;
- ccp_allowoptions[0].deflate_correct = 1;
- ccp_allowoptions[0].deflate_draft = 1;
-
- ccp_wantoptions[0].bsd_compress = 1;
- ccp_wantoptions[0].bsd_bits = BSD_MAX_BITS;
- ccp_allowoptions[0].bsd_compress = 1;
- ccp_allowoptions[0].bsd_bits = BSD_MAX_BITS;
-
- ccp_allowoptions[0].predictor_1 = 1;
-}
-
-/*
- * ccp_open - CCP is allowed to come up.
- */
-static void
-ccp_open(unit)
- int unit;
-{
- fsm *f = &ccp_fsm[unit];
-
- if (f->state != OPENED)
- ccp_flags_set(unit, 1, 0);
-
- /*
- * Find out which compressors the kernel supports before
- * deciding whether to open in silent mode.
- */
- ccp_resetci(f);
- if (!ANY_COMPRESS(ccp_gotoptions[unit]))
- f->flags |= OPT_SILENT;
-
- fsm_open(f);
-}
-
-/*
- * ccp_close - Terminate CCP.
- */
-static void
-ccp_close(unit, reason)
- int unit;
- char *reason;
-{
- ccp_flags_set(unit, 0, 0);
- fsm_close(&ccp_fsm[unit], reason);
-}
-
-/*
- * ccp_lowerup - we may now transmit CCP packets.
- */
-static void
-ccp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_lowerdown - we may not transmit CCP packets.
- */
-static void
-ccp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_input - process a received CCP packet.
- */
-static void
-ccp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm *f = &ccp_fsm[unit];
- int oldstate;
-
- /*
- * Check for a terminate-request so we can print a message.
- */
- oldstate = f->state;
- fsm_input(f, p, len);
- if (oldstate == OPENED && p[0] == TERMREQ && f->state != OPENED)
- notice("Compression disabled by peer.");
-
- /*
- * If we get a terminate-ack and we're not asking for compression,
- * close CCP.
- */
- if (oldstate == REQSENT && p[0] == TERMACK
- && !ANY_COMPRESS(ccp_gotoptions[unit]))
- ccp_close(unit, "No compression negotiated");
-}
-
-/*
- * Handle a CCP-specific code.
- */
-static int
-ccp_extcode(f, code, id, p, len)
- fsm *f;
- int code, id;
- u_char *p;
- int len;
-{
- switch (code) {
- case CCP_RESETREQ:
- if (f->state != OPENED)
- break;
- /* send a reset-ack, which the transmitter will see and
- reset its compression state. */
- fsm_sdata(f, CCP_RESETACK, id, NULL, 0);
- break;
-
- case CCP_RESETACK:
- if (ccp_localstate[f->unit] & RACK_PENDING && id == f->reqid) {
- ccp_localstate[f->unit] &= ~(RACK_PENDING | RREQ_REPEAT);
- UNTIMEOUT(ccp_rack_timeout, f);
- }
- break;
-
- default:
- return 0;
- }
-
- return 1;
-}
-
-/*
- * ccp_protrej - peer doesn't talk CCP.
- */
-static void
-ccp_protrej(unit)
- int unit;
-{
- ccp_flags_set(unit, 0, 0);
- fsm_lowerdown(&ccp_fsm[unit]);
-}
-
-/*
- * ccp_resetci - initialize at start of negotiation.
- */
-static void
-ccp_resetci(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char opt_buf[16];
-
- *go = ccp_wantoptions[f->unit];
- all_rejected[f->unit] = 0;
-
- /*
- * Check whether the kernel knows about the various
- * compression methods we might request.
- */
- if (go->bsd_compress) {
- opt_buf[0] = CI_BSD_COMPRESS;
- opt_buf[1] = CILEN_BSD_COMPRESS;
- opt_buf[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, BSD_MIN_BITS);
- if (ccp_test(f->unit, opt_buf, CILEN_BSD_COMPRESS, 0) <= 0)
- go->bsd_compress = 0;
- }
- if (go->deflate) {
- if (go->deflate_correct) {
- opt_buf[0] = CI_DEFLATE;
- opt_buf[1] = CILEN_DEFLATE;
- opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
- opt_buf[3] = DEFLATE_CHK_SEQUENCE;
- if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
- go->deflate_correct = 0;
- }
- if (go->deflate_draft) {
- opt_buf[0] = CI_DEFLATE_DRAFT;
- opt_buf[1] = CILEN_DEFLATE;
- opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
- opt_buf[3] = DEFLATE_CHK_SEQUENCE;
- if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
- go->deflate_draft = 0;
- }
- if (!go->deflate_correct && !go->deflate_draft)
- go->deflate = 0;
- }
- if (go->predictor_1) {
- opt_buf[0] = CI_PREDICTOR_1;
- opt_buf[1] = CILEN_PREDICTOR_1;
- if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_1, 0) <= 0)
- go->predictor_1 = 0;
- }
- if (go->predictor_2) {
- opt_buf[0] = CI_PREDICTOR_2;
- opt_buf[1] = CILEN_PREDICTOR_2;
- if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_2, 0) <= 0)
- go->predictor_2 = 0;
- }
-}
-
-/*
- * ccp_cilen - Return total length of our configuration info.
- */
-static int
-ccp_cilen(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
-
- return (go->bsd_compress? CILEN_BSD_COMPRESS: 0)
- + (go->deflate? CILEN_DEFLATE: 0)
- + (go->predictor_1? CILEN_PREDICTOR_1: 0)
- + (go->predictor_2? CILEN_PREDICTOR_2: 0);
-}
-
-/*
- * ccp_addci - put our requests in a packet.
- */
-static void
-ccp_addci(f, p, lenp)
- fsm *f;
- u_char *p;
- int *lenp;
-{
- int res;
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char *p0 = p;
-
- /*
- * Add the compression types that we can receive, in decreasing
- * preference order. Get the kernel to allocate the first one
- * in case it gets Acked.
- */
- if (go->deflate) {
- p[0] = go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT;
- p[1] = CILEN_DEFLATE;
- p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
- p[3] = DEFLATE_CHK_SEQUENCE;
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_DEFLATE, 0);
- if (res > 0) {
- p += CILEN_DEFLATE;
- break;
- }
- if (res < 0 || go->deflate_size <= DEFLATE_MIN_WORKS) {
- go->deflate = 0;
- break;
- }
- --go->deflate_size;
- p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
- }
- if (p != p0 && go->deflate_correct && go->deflate_draft) {
- p[0] = CI_DEFLATE_DRAFT;
- p[1] = CILEN_DEFLATE;
- p[2] = p[2 - CILEN_DEFLATE];
- p[3] = DEFLATE_CHK_SEQUENCE;
- p += CILEN_DEFLATE;
- }
- }
- if (go->bsd_compress) {
- p[0] = CI_BSD_COMPRESS;
- p[1] = CILEN_BSD_COMPRESS;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
- if (p != p0) {
- p += CILEN_BSD_COMPRESS; /* not the first option */
- } else {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 0);
- if (res > 0) {
- p += CILEN_BSD_COMPRESS;
- break;
- }
- if (res < 0 || go->bsd_bits <= BSD_MIN_BITS) {
- go->bsd_compress = 0;
- break;
- }
- --go->bsd_bits;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
- }
- }
- }
- /* XXX Should Predictor 2 be preferable to Predictor 1? */
- if (go->predictor_1) {
- p[0] = CI_PREDICTOR_1;
- p[1] = CILEN_PREDICTOR_1;
- if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 0) <= 0) {
- go->predictor_1 = 0;
- } else {
- p += CILEN_PREDICTOR_1;
- }
- }
- if (go->predictor_2) {
- p[0] = CI_PREDICTOR_2;
- p[1] = CILEN_PREDICTOR_2;
- if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 0) <= 0) {
- go->predictor_2 = 0;
- } else {
- p += CILEN_PREDICTOR_2;
- }
- }
-
- go->method = (p > p0)? p0[0]: -1;
-
- *lenp = p - p0;
-}
-
-/*
- * ccp_ackci - process a received configure-ack, and return
- * 1 iff the packet was OK.
- */
-static int
-ccp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- u_char *p0 = p;
-
- if (go->deflate) {
- if (len < CILEN_DEFLATE
- || p[0] != (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- || p[1] != CILEN_DEFLATE
- || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- /* XXX Cope with first/fast ack */
- if (len == 0)
- return 1;
- if (go->deflate_correct && go->deflate_draft) {
- if (len < CILEN_DEFLATE
- || p[0] != CI_DEFLATE_DRAFT
- || p[1] != CILEN_DEFLATE
- || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- }
- if (go->bsd_compress) {
- if (len < CILEN_BSD_COMPRESS
- || p[0] != CI_BSD_COMPRESS || p[1] != CILEN_BSD_COMPRESS
- || p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
- return 0;
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
- if (go->predictor_1) {
- if (len < CILEN_PREDICTOR_1
- || p[0] != CI_PREDICTOR_1 || p[1] != CILEN_PREDICTOR_1)
- return 0;
- p += CILEN_PREDICTOR_1;
- len -= CILEN_PREDICTOR_1;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
- if (go->predictor_2) {
- if (len < CILEN_PREDICTOR_2
- || p[0] != CI_PREDICTOR_2 || p[1] != CILEN_PREDICTOR_2)
- return 0;
- p += CILEN_PREDICTOR_2;
- len -= CILEN_PREDICTOR_2;
- /* XXX Cope with first/fast ack */
- if (p == p0 && len == 0)
- return 1;
- }
-
- if (len != 0)
- return 0;
- return 1;
-}
-
-/*
- * ccp_nakci - process received configure-nak.
- * Returns 1 iff the nak was OK.
- */
-static int
-ccp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options no; /* options we've seen already */
- ccp_options try; /* options to ask for next time */
-
- memset(&no, 0, sizeof(no));
- try = *go;
-
- if (go->deflate && len >= CILEN_DEFLATE
- && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- && p[1] == CILEN_DEFLATE) {
- no.deflate = 1;
- /*
- * Peer wants us to use a different code size or something.
- * Stop asking for Deflate if we don't understand his suggestion.
- */
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(p[2]) < DEFLATE_MIN_WORKS
- || p[3] != DEFLATE_CHK_SEQUENCE)
- try.deflate = 0;
- else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
- try.deflate_size = DEFLATE_SIZE(p[2]);
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- if (go->deflate_correct && go->deflate_draft
- && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
- && p[1] == CILEN_DEFLATE) {
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- }
-
- if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
- && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
- no.bsd_compress = 1;
- /*
- * Peer wants us to use a different number of bits
- * or a different version.
- */
- if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION)
- try.bsd_compress = 0;
- else if (BSD_NBITS(p[2]) < go->bsd_bits)
- try.bsd_bits = BSD_NBITS(p[2]);
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- }
-
- /*
- * Predictor-1 and 2 have no options, so they can't be Naked.
- *
- * There may be remaining options but we ignore them.
- */
-
- if (f->state != OPENED)
- *go = try;
- return 1;
-}
-
-/*
- * ccp_rejci - reject some of our suggested compression methods.
- */
-static int
-ccp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options try; /* options to request next time */
-
- try = *go;
-
- /*
- * Cope with empty configure-rejects by ceasing to send
- * configure-requests.
- */
- if (len == 0 && all_rejected[f->unit])
- return -1;
-
- if (go->deflate && len >= CILEN_DEFLATE
- && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
- && p[1] == CILEN_DEFLATE) {
- if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0; /* Rej is bad */
- if (go->deflate_correct)
- try.deflate_correct = 0;
- else
- try.deflate_draft = 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- if (go->deflate_correct && go->deflate_draft
- && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
- && p[1] == CILEN_DEFLATE) {
- if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
- || p[3] != DEFLATE_CHK_SEQUENCE)
- return 0; /* Rej is bad */
- try.deflate_draft = 0;
- p += CILEN_DEFLATE;
- len -= CILEN_DEFLATE;
- }
- if (!try.deflate_correct && !try.deflate_draft)
- try.deflate = 0;
- }
- if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
- && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
- if (p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
- return 0;
- try.bsd_compress = 0;
- p += CILEN_BSD_COMPRESS;
- len -= CILEN_BSD_COMPRESS;
- }
- if (go->predictor_1 && len >= CILEN_PREDICTOR_1
- && p[0] == CI_PREDICTOR_1 && p[1] == CILEN_PREDICTOR_1) {
- try.predictor_1 = 0;
- p += CILEN_PREDICTOR_1;
- len -= CILEN_PREDICTOR_1;
- }
- if (go->predictor_2 && len >= CILEN_PREDICTOR_2
- && p[0] == CI_PREDICTOR_2 && p[1] == CILEN_PREDICTOR_2) {
- try.predictor_2 = 0;
- p += CILEN_PREDICTOR_2;
- len -= CILEN_PREDICTOR_2;
- }
-
- if (len != 0)
- return 0;
-
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-}
-
-/*
- * ccp_reqci - processed a received configure-request.
- * Returns CONFACK, CONFNAK or CONFREJ and the packet modified
- * appropriately.
- */
-static int
-ccp_reqci(f, p, lenp, dont_nak)
- fsm *f;
- u_char *p;
- int *lenp;
- int dont_nak;
-{
- int ret, newret, res;
- u_char *p0, *retp;
- int len, clen, type, nb;
- ccp_options *ho = &ccp_hisoptions[f->unit];
- ccp_options *ao = &ccp_allowoptions[f->unit];
-
- ret = CONFACK;
- retp = p0 = p;
- len = *lenp;
-
- memset(ho, 0, sizeof(ccp_options));
- ho->method = (len > 0)? p[0]: -1;
-
- while (len > 0) {
- newret = CONFACK;
- if (len < 2 || p[1] < 2 || p[1] > len) {
- /* length is bad */
- clen = len;
- newret = CONFREJ;
-
- } else {
- type = p[0];
- clen = p[1];
-
- switch (type) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (!ao->deflate || clen != CILEN_DEFLATE
- || (!ao->deflate_correct && type == CI_DEFLATE)
- || (!ao->deflate_draft && type == CI_DEFLATE_DRAFT)) {
- newret = CONFREJ;
- break;
- }
-
- ho->deflate = 1;
- ho->deflate_size = nb = DEFLATE_SIZE(p[2]);
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
- || p[3] != DEFLATE_CHK_SEQUENCE
- || nb > ao->deflate_size || nb < DEFLATE_MIN_WORKS) {
- newret = CONFNAK;
- if (!dont_nak) {
- p[2] = DEFLATE_MAKE_OPT(ao->deflate_size);
- p[3] = DEFLATE_CHK_SEQUENCE;
- /* fall through to test this #bits below */
- } else
- break;
- }
-
- /*
- * Check whether we can do Deflate with the window
- * size they want. If the window is too big, reduce
- * it until the kernel can cope and nak with that.
- * We only check this for the first option.
- */
- if (p == p0) {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_DEFLATE, 1);
- if (res > 0)
- break; /* it's OK now */
- if (res < 0 || nb == DEFLATE_MIN_WORKS || dont_nak) {
- newret = CONFREJ;
- p[2] = DEFLATE_MAKE_OPT(ho->deflate_size);
- break;
- }
- newret = CONFNAK;
- --nb;
- p[2] = DEFLATE_MAKE_OPT(nb);
- }
- }
- break;
-
- case CI_BSD_COMPRESS:
- if (!ao->bsd_compress || clen != CILEN_BSD_COMPRESS) {
- newret = CONFREJ;
- break;
- }
-
- ho->bsd_compress = 1;
- ho->bsd_bits = nb = BSD_NBITS(p[2]);
- if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION
- || nb > ao->bsd_bits || nb < BSD_MIN_BITS) {
- newret = CONFNAK;
- if (!dont_nak) {
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, ao->bsd_bits);
- /* fall through to test this #bits below */
- } else
- break;
- }
-
- /*
- * Check whether we can do BSD-Compress with the code
- * size they want. If the code size is too big, reduce
- * it until the kernel can cope and nak with that.
- * We only check this for the first option.
- */
- if (p == p0) {
- for (;;) {
- res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 1);
- if (res > 0)
- break;
- if (res < 0 || nb == BSD_MIN_BITS || dont_nak) {
- newret = CONFREJ;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION,
- ho->bsd_bits);
- break;
- }
- newret = CONFNAK;
- --nb;
- p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, nb);
- }
- }
- break;
-
- case CI_PREDICTOR_1:
- if (!ao->predictor_1 || clen != CILEN_PREDICTOR_1) {
- newret = CONFREJ;
- break;
- }
-
- ho->predictor_1 = 1;
- if (p == p0
- && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 1) <= 0) {
- newret = CONFREJ;
- }
- break;
-
- case CI_PREDICTOR_2:
- if (!ao->predictor_2 || clen != CILEN_PREDICTOR_2) {
- newret = CONFREJ;
- break;
- }
-
- ho->predictor_2 = 1;
- if (p == p0
- && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 1) <= 0) {
- newret = CONFREJ;
- }
- break;
-
- default:
- newret = CONFREJ;
- }
- }
-
- if (newret == CONFNAK && dont_nak)
- newret = CONFREJ;
- if (!(newret == CONFACK || (newret == CONFNAK && ret == CONFREJ))) {
- /* we're returning this option */
- if (newret == CONFREJ && ret == CONFNAK)
- retp = p0;
- ret = newret;
- if (p != retp)
- BCOPY(p, retp, clen);
- retp += clen;
- }
-
- p += clen;
- len -= clen;
- }
-
- if (ret != CONFACK) {
- if (ret == CONFREJ && *lenp == retp - p0)
- all_rejected[f->unit] = 1;
- else
- *lenp = retp - p0;
- }
- return ret;
-}
-
-/*
- * Make a string name for a compression method (or 2).
- */
-static char *
-method_name(opt, opt2)
- ccp_options *opt, *opt2;
-{
- static char result[64];
-
- if (!ANY_COMPRESS(*opt))
- return "(none)";
- switch (opt->method) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (opt2 != NULL && opt2->deflate_size != opt->deflate_size)
- slprintf(result, sizeof(result), "Deflate%s (%d/%d)",
- (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
- opt->deflate_size, opt2->deflate_size);
- else
- slprintf(result, sizeof(result), "Deflate%s (%d)",
- (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
- opt->deflate_size);
- break;
- case CI_BSD_COMPRESS:
- if (opt2 != NULL && opt2->bsd_bits != opt->bsd_bits)
- slprintf(result, sizeof(result), "BSD-Compress (%d/%d)",
- opt->bsd_bits, opt2->bsd_bits);
- else
- slprintf(result, sizeof(result), "BSD-Compress (%d)",
- opt->bsd_bits);
- break;
- case CI_PREDICTOR_1:
- return "Predictor 1";
- case CI_PREDICTOR_2:
- return "Predictor 2";
- default:
- slprintf(result, sizeof(result), "Method %d", opt->method);
- }
- return result;
-}
-
-/*
- * CCP has come up - inform the kernel driver and log a message.
- */
-static void
-ccp_up(f)
- fsm *f;
-{
- ccp_options *go = &ccp_gotoptions[f->unit];
- ccp_options *ho = &ccp_hisoptions[f->unit];
- char method1[64];
-
- ccp_flags_set(f->unit, 1, 1);
- if (ANY_COMPRESS(*go)) {
- if (ANY_COMPRESS(*ho)) {
- if (go->method == ho->method) {
- notice("%s compression enabled", method_name(go, ho));
- } else {
- strlcpy(method1, method_name(go, NULL), sizeof(method1));
- notice("%s / %s compression enabled",
- method1, method_name(ho, NULL));
- }
- } else
- notice("%s receive compression enabled", method_name(go, NULL));
- } else if (ANY_COMPRESS(*ho))
- notice("%s transmit compression enabled", method_name(ho, NULL));
-}
-
-/*
- * CCP has gone down - inform the kernel driver.
- */
-static void
-ccp_down(f)
- fsm *f;
-{
- if (ccp_localstate[f->unit] & RACK_PENDING)
- UNTIMEOUT(ccp_rack_timeout, f);
- ccp_localstate[f->unit] = 0;
- ccp_flags_set(f->unit, 1, 0);
-}
-
-/*
- * Print the contents of a CCP packet.
- */
-static char *ccp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej",
- NULL, NULL, NULL, NULL, NULL, NULL,
- "ResetReq", "ResetAck",
-};
-
-static int
-ccp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- u_char *p0, *optend;
- int code, id, len;
- int optlen;
-
- p0 = p;
- if (plen < HEADERLEN)
- return 0;
- code = p[0];
- id = p[1];
- len = (p[2] << 8) + p[3];
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ccp_codenames) / sizeof(char *)
- && ccp_codenames[code-1] != NULL)
- printer(arg, " %s", ccp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- p += HEADERLEN;
-
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print list of possible compression methods */
- while (len >= 2) {
- code = p[0];
- optlen = p[1];
- if (optlen < 2 || optlen > len)
- break;
- printer(arg, " <");
- len -= optlen;
- optend = p + optlen;
- switch (code) {
- case CI_DEFLATE:
- case CI_DEFLATE_DRAFT:
- if (optlen >= CILEN_DEFLATE) {
- printer(arg, "deflate%s %d",
- (code == CI_DEFLATE_DRAFT? "(old#)": ""),
- DEFLATE_SIZE(p[2]));
- if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL)
- printer(arg, " method %d", DEFLATE_METHOD(p[2]));
- if (p[3] != DEFLATE_CHK_SEQUENCE)
- printer(arg, " check %d", p[3]);
- p += CILEN_DEFLATE;
- }
- break;
- case CI_BSD_COMPRESS:
- if (optlen >= CILEN_BSD_COMPRESS) {
- printer(arg, "bsd v%d %d", BSD_VERSION(p[2]),
- BSD_NBITS(p[2]));
- p += CILEN_BSD_COMPRESS;
- }
- break;
- case CI_PREDICTOR_1:
- if (optlen >= CILEN_PREDICTOR_1) {
- printer(arg, "predictor 1");
- p += CILEN_PREDICTOR_1;
- }
- break;
- case CI_PREDICTOR_2:
- if (optlen >= CILEN_PREDICTOR_2) {
- printer(arg, "predictor 2");
- p += CILEN_PREDICTOR_2;
- }
- break;
- }
- while (p < optend)
- printer(arg, " %.2x", *p++);
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* dump out the rest of the packet in hex */
- while (--len >= 0)
- printer(arg, " %.2x", *p++);
-
- return p - p0;
-}
-
-/*
- * We have received a packet that the decompressor failed to
- * decompress. Here we would expect to issue a reset-request, but
- * Motorola has a patent on resetting the compressor as a result of
- * detecting an error in the decompressed data after decompression.
- * (See US patent 5,130,993; international patent publication number
- * WO 91/10289; Australian patent 73296/91.)
- *
- * So we ask the kernel whether the error was detected after
- * decompression; if it was, we take CCP down, thus disabling
- * compression :-(, otherwise we issue the reset-request.
- */
-static void
-ccp_datainput(unit, pkt, len)
- int unit;
- u_char *pkt;
- int len;
-{
- fsm *f;
-
- f = &ccp_fsm[unit];
- if (f->state == OPENED) {
- if (ccp_fatal_error(unit)) {
- /*
- * Disable compression by taking CCP down.
- */
- error("Lost compression sync: disabling compression");
- ccp_close(unit, "Lost compression sync");
- } else {
- /*
- * Send a reset-request to reset the peer's compressor.
- * We don't do that if we are still waiting for an
- * acknowledgement to a previous reset-request.
- */
- if (!(ccp_localstate[f->unit] & RACK_PENDING)) {
- fsm_sdata(f, CCP_RESETREQ, f->reqid = ++f->id, NULL, 0);
- TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
- ccp_localstate[f->unit] |= RACK_PENDING;
- } else
- ccp_localstate[f->unit] |= RREQ_REPEAT;
- }
- }
-}
-
-/*
- * Timeout waiting for reset-ack.
- */
-static void
-ccp_rack_timeout(arg)
- void *arg;
-{
- fsm *f = arg;
-
- if (f->state == OPENED && ccp_localstate[f->unit] & RREQ_REPEAT) {
- fsm_sdata(f, CCP_RESETREQ, f->reqid, NULL, 0);
- TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
- ccp_localstate[f->unit] &= ~RREQ_REPEAT;
- } else
- ccp_localstate[f->unit] &= ~RACK_PENDING;
-}
-
diff --git a/mdk-stage1/ppp/pppd/ccp.h b/mdk-stage1/ppp/pppd/ccp.h
deleted file mode 100644
index 609d858c5..000000000
--- a/mdk-stage1/ppp/pppd/ccp.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * ccp.h - Definitions for PPP Compression Control Protocol.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-typedef struct ccp_options {
- bool bsd_compress; /* do BSD Compress? */
- bool deflate; /* do Deflate? */
- bool predictor_1; /* do Predictor-1? */
- bool predictor_2; /* do Predictor-2? */
- bool deflate_correct; /* use correct code for deflate? */
- bool deflate_draft; /* use draft RFC code for deflate? */
- u_short bsd_bits; /* # bits/code for BSD Compress */
- u_short deflate_size; /* lg(window size) for Deflate */
- short method; /* code for chosen compression method */
-} ccp_options;
-
-extern fsm ccp_fsm[];
-extern ccp_options ccp_wantoptions[];
-extern ccp_options ccp_gotoptions[];
-extern ccp_options ccp_allowoptions[];
-extern ccp_options ccp_hisoptions[];
-
-extern struct protent ccp_protent;
diff --git a/mdk-stage1/ppp/pppd/chap.c b/mdk-stage1/ppp/pppd/chap.c
deleted file mode 100644
index 54c0e0095..000000000
--- a/mdk-stage1/ppp/pppd/chap.c
+++ /dev/null
@@ -1,860 +0,0 @@
-/*
- * chap.c - Challenge Handshake Authentication Protocol.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1991 Gregory M. Christy.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Gregory M. Christy. The name of the author may not be used to
- * endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "chap.h"
-#include "md5.h"
-#ifdef CHAPMS
-#include "chap_ms.h"
-#endif
-
-static const char rcsid[] = RCSID;
-
-/*
- * Command-line options.
- */
-static option_t chap_option_list[] = {
- { "chap-restart", o_int, &chap[0].timeouttime,
- "Set timeout for CHAP", OPT_PRIO },
- { "chap-max-challenge", o_int, &chap[0].max_transmits,
- "Set max #xmits for challenge", OPT_PRIO },
- { "chap-interval", o_int, &chap[0].chal_interval,
- "Set interval for rechallenge", OPT_PRIO },
-#ifdef MSLANMAN
- { "ms-lanman", o_bool, &ms_lanman,
- "Use LanMan passwd when using MS-CHAP", 1 },
-#endif
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void ChapInit __P((int));
-static void ChapLowerUp __P((int));
-static void ChapLowerDown __P((int));
-static void ChapInput __P((int, u_char *, int));
-static void ChapProtocolReject __P((int));
-static int ChapPrintPkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent chap_protent = {
- PPP_CHAP,
- ChapInit,
- ChapInput,
- ChapProtocolReject,
- ChapLowerUp,
- ChapLowerDown,
- NULL,
- NULL,
- ChapPrintPkt,
- NULL,
- 1,
- "CHAP",
- NULL,
- chap_option_list,
- NULL,
- NULL,
- NULL
-};
-
-chap_state chap[NUM_PPP]; /* CHAP state; one for each unit */
-
-static void ChapChallengeTimeout __P((void *));
-static void ChapResponseTimeout __P((void *));
-static void ChapReceiveChallenge __P((chap_state *, u_char *, int, int));
-static void ChapRechallenge __P((void *));
-static void ChapReceiveResponse __P((chap_state *, u_char *, int, int));
-static void ChapReceiveSuccess __P((chap_state *, u_char *, int, int));
-static void ChapReceiveFailure __P((chap_state *, u_char *, int, int));
-static void ChapSendStatus __P((chap_state *, int));
-static void ChapSendChallenge __P((chap_state *));
-static void ChapSendResponse __P((chap_state *));
-static void ChapGenChallenge __P((chap_state *));
-
-extern double drand48 __P((void));
-extern void srand48 __P((long));
-
-/*
- * ChapInit - Initialize a CHAP unit.
- */
-static void
-ChapInit(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- BZERO(cstate, sizeof(*cstate));
- cstate->unit = unit;
- cstate->clientstate = CHAPCS_INITIAL;
- cstate->serverstate = CHAPSS_INITIAL;
- cstate->timeouttime = CHAP_DEFTIMEOUT;
- cstate->max_transmits = CHAP_DEFTRANSMITS;
- /* random number generator is initialized in magic_init */
-}
-
-
-/*
- * ChapAuthWithPeer - Authenticate us with our peer (start client).
- *
- */
-void
-ChapAuthWithPeer(unit, our_name, digest)
- int unit;
- char *our_name;
- int digest;
-{
- chap_state *cstate = &chap[unit];
-
- cstate->resp_name = our_name;
- cstate->resp_type = digest;
-
- if (cstate->clientstate == CHAPCS_INITIAL ||
- cstate->clientstate == CHAPCS_PENDING) {
- /* lower layer isn't up - wait until later */
- cstate->clientstate = CHAPCS_PENDING;
- return;
- }
-
- /*
- * We get here as a result of LCP coming up.
- * So even if CHAP was open before, we will
- * have to re-authenticate ourselves.
- */
- cstate->clientstate = CHAPCS_LISTEN;
-}
-
-
-/*
- * ChapAuthPeer - Authenticate our peer (start server).
- */
-void
-ChapAuthPeer(unit, our_name, digest)
- int unit;
- char *our_name;
- int digest;
-{
- chap_state *cstate = &chap[unit];
-
- cstate->chal_name = our_name;
- cstate->chal_type = digest;
-
- if (cstate->serverstate == CHAPSS_INITIAL ||
- cstate->serverstate == CHAPSS_PENDING) {
- /* lower layer isn't up - wait until later */
- cstate->serverstate = CHAPSS_PENDING;
- return;
- }
-
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate); /* crank it up dude! */
- cstate->serverstate = CHAPSS_INITIAL_CHAL;
-}
-
-
-/*
- * ChapChallengeTimeout - Timeout expired on sending challenge.
- */
-static void
-ChapChallengeTimeout(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending challenges, don't worry. then again we */
- /* probably shouldn't be here either */
- if (cstate->serverstate != CHAPSS_INITIAL_CHAL &&
- cstate->serverstate != CHAPSS_RECHALLENGE)
- return;
-
- if (cstate->chal_transmits >= cstate->max_transmits) {
- /* give up on peer */
- error("Peer failed to respond to CHAP challenge");
- cstate->serverstate = CHAPSS_BADAUTH;
- auth_peer_fail(cstate->unit, PPP_CHAP);
- return;
- }
-
- ChapSendChallenge(cstate); /* Re-send challenge */
-}
-
-
-/*
- * ChapResponseTimeout - Timeout expired on sending response.
- */
-static void
-ChapResponseTimeout(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending a response, don't worry. */
- if (cstate->clientstate != CHAPCS_RESPONSE)
- return;
-
- ChapSendResponse(cstate); /* re-send response */
-}
-
-
-/*
- * ChapRechallenge - Time to challenge the peer again.
- */
-static void
-ChapRechallenge(arg)
- void *arg;
-{
- chap_state *cstate = (chap_state *) arg;
-
- /* if we aren't sending a response, don't worry. */
- if (cstate->serverstate != CHAPSS_OPEN)
- return;
-
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate);
- cstate->serverstate = CHAPSS_RECHALLENGE;
-}
-
-
-/*
- * ChapLowerUp - The lower layer is up.
- *
- * Start up if we have pending requests.
- */
-static void
-ChapLowerUp(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- if (cstate->clientstate == CHAPCS_INITIAL)
- cstate->clientstate = CHAPCS_CLOSED;
- else if (cstate->clientstate == CHAPCS_PENDING)
- cstate->clientstate = CHAPCS_LISTEN;
-
- if (cstate->serverstate == CHAPSS_INITIAL)
- cstate->serverstate = CHAPSS_CLOSED;
- else if (cstate->serverstate == CHAPSS_PENDING) {
- ChapGenChallenge(cstate);
- ChapSendChallenge(cstate);
- cstate->serverstate = CHAPSS_INITIAL_CHAL;
- }
-}
-
-
-/*
- * ChapLowerDown - The lower layer is down.
- *
- * Cancel all timeouts.
- */
-static void
-ChapLowerDown(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- /* Timeout(s) pending? Cancel if so. */
- if (cstate->serverstate == CHAPSS_INITIAL_CHAL ||
- cstate->serverstate == CHAPSS_RECHALLENGE)
- UNTIMEOUT(ChapChallengeTimeout, cstate);
- else if (cstate->serverstate == CHAPSS_OPEN
- && cstate->chal_interval != 0)
- UNTIMEOUT(ChapRechallenge, cstate);
- if (cstate->clientstate == CHAPCS_RESPONSE)
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- cstate->clientstate = CHAPCS_INITIAL;
- cstate->serverstate = CHAPSS_INITIAL;
-}
-
-
-/*
- * ChapProtocolReject - Peer doesn't grok CHAP.
- */
-static void
-ChapProtocolReject(unit)
- int unit;
-{
- chap_state *cstate = &chap[unit];
-
- if (cstate->serverstate != CHAPSS_INITIAL &&
- cstate->serverstate != CHAPSS_CLOSED)
- auth_peer_fail(unit, PPP_CHAP);
- if (cstate->clientstate != CHAPCS_INITIAL &&
- cstate->clientstate != CHAPCS_CLOSED)
- auth_withpeer_fail(unit, PPP_CHAP);
- ChapLowerDown(unit); /* shutdown chap */
-}
-
-
-/*
- * ChapInput - Input CHAP packet.
- */
-static void
-ChapInput(unit, inpacket, packet_len)
- int unit;
- u_char *inpacket;
- int packet_len;
-{
- chap_state *cstate = &chap[unit];
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (packet_len < CHAP_HEADERLEN) {
- CHAPDEBUG(("ChapInput: rcvd short header."));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < CHAP_HEADERLEN) {
- CHAPDEBUG(("ChapInput: rcvd illegal length."));
- return;
- }
- if (len > packet_len) {
- CHAPDEBUG(("ChapInput: rcvd short packet."));
- return;
- }
- len -= CHAP_HEADERLEN;
-
- /*
- * Action depends on code (as in fact it usually does :-).
- */
- switch (code) {
- case CHAP_CHALLENGE:
- ChapReceiveChallenge(cstate, inp, id, len);
- break;
-
- case CHAP_RESPONSE:
- ChapReceiveResponse(cstate, inp, id, len);
- break;
-
- case CHAP_FAILURE:
- ChapReceiveFailure(cstate, inp, id, len);
- break;
-
- case CHAP_SUCCESS:
- ChapReceiveSuccess(cstate, inp, id, len);
- break;
-
- default: /* Need code reject? */
- warn("Unknown CHAP code (%d) received.", code);
- break;
- }
-}
-
-
-/*
- * ChapReceiveChallenge - Receive Challenge and send Response.
- */
-static void
-ChapReceiveChallenge(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- int id;
- int len;
-{
- int rchallenge_len;
- u_char *rchallenge;
- int secret_len;
- char secret[MAXSECRETLEN];
- char rhostname[256];
- MD5_CTX mdContext;
- u_char hash[MD5_SIGNATURE_SIZE];
-
- if (cstate->clientstate == CHAPCS_CLOSED ||
- cstate->clientstate == CHAPCS_PENDING) {
- CHAPDEBUG(("ChapReceiveChallenge: in state %d", cstate->clientstate));
- return;
- }
-
- if (len < 2) {
- CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
- return;
- }
-
- GETCHAR(rchallenge_len, inp);
- len -= sizeof (u_char) + rchallenge_len; /* now name field length */
- if (len < 0) {
- CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
- return;
- }
- rchallenge = inp;
- INCPTR(rchallenge_len, inp);
-
- if (len >= sizeof(rhostname))
- len = sizeof(rhostname) - 1;
- BCOPY(inp, rhostname, len);
- rhostname[len] = '\000';
-
- /* Microsoft doesn't send their name back in the PPP packet */
- if (explicit_remote || (remote_name[0] != 0 && rhostname[0] == 0)) {
- strlcpy(rhostname, remote_name, sizeof(rhostname));
- CHAPDEBUG(("ChapReceiveChallenge: using '%q' as remote name",
- rhostname));
- }
-
- /* get secret for authenticating ourselves with the specified host */
- if (!get_secret(cstate->unit, cstate->resp_name, rhostname,
- secret, &secret_len, 0)) {
- secret_len = 0; /* assume null secret if can't find one */
- warn("No CHAP secret found for authenticating us to %q", rhostname);
- }
-
- /* cancel response send timeout if necessary */
- if (cstate->clientstate == CHAPCS_RESPONSE)
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- cstate->resp_id = id;
- cstate->resp_transmits = 0;
-
- /* generate MD based on negotiated type */
- switch (cstate->resp_type) {
-
- case CHAP_DIGEST_MD5:
- MD5Init(&mdContext);
- MD5Update(&mdContext, &cstate->resp_id, 1);
- MD5Update(&mdContext, secret, secret_len);
- MD5Update(&mdContext, rchallenge, rchallenge_len);
- MD5Final(hash, &mdContext);
- BCOPY(hash, cstate->response, MD5_SIGNATURE_SIZE);
- cstate->resp_length = MD5_SIGNATURE_SIZE;
- break;
-
-#ifdef CHAPMS
- case CHAP_MICROSOFT:
- ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len);
- break;
-#endif
-
- default:
- CHAPDEBUG(("unknown digest type %d", cstate->resp_type));
- return;
- }
-
- BZERO(secret, sizeof(secret));
- ChapSendResponse(cstate);
-}
-
-
-/*
- * ChapReceiveResponse - Receive and process response.
- */
-static void
-ChapReceiveResponse(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- int id;
- int len;
-{
- u_char *remmd, remmd_len;
- int secret_len, old_state;
- int code;
- char rhostname[256];
- MD5_CTX mdContext;
- char secret[MAXSECRETLEN];
- u_char hash[MD5_SIGNATURE_SIZE];
-
- if (cstate->serverstate == CHAPSS_CLOSED ||
- cstate->serverstate == CHAPSS_PENDING) {
- CHAPDEBUG(("ChapReceiveResponse: in state %d", cstate->serverstate));
- return;
- }
-
- if (id != cstate->chal_id)
- return; /* doesn't match ID of last challenge */
-
- /*
- * If we have received a duplicate or bogus Response,
- * we have to send the same answer (Success/Failure)
- * as we did for the first Response we saw.
- */
- if (cstate->serverstate == CHAPSS_OPEN) {
- ChapSendStatus(cstate, CHAP_SUCCESS);
- return;
- }
- if (cstate->serverstate == CHAPSS_BADAUTH) {
- ChapSendStatus(cstate, CHAP_FAILURE);
- return;
- }
-
- if (len < 2) {
- CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
- return;
- }
- GETCHAR(remmd_len, inp); /* get length of MD */
- remmd = inp; /* get pointer to MD */
- INCPTR(remmd_len, inp);
-
- len -= sizeof (u_char) + remmd_len;
- if (len < 0) {
- CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
- return;
- }
-
- UNTIMEOUT(ChapChallengeTimeout, cstate);
-
- if (len >= sizeof(rhostname))
- len = sizeof(rhostname) - 1;
- BCOPY(inp, rhostname, len);
- rhostname[len] = '\000';
-
- /*
- * Get secret for authenticating them with us,
- * do the hash ourselves, and compare the result.
- */
- code = CHAP_FAILURE;
- if (!get_secret(cstate->unit, (explicit_remote? remote_name: rhostname),
- cstate->chal_name, secret, &secret_len, 1)) {
- warn("No CHAP secret found for authenticating %q", rhostname);
- } else {
-
- /* generate MD based on negotiated type */
- switch (cstate->chal_type) {
-
- case CHAP_DIGEST_MD5: /* only MD5 is defined for now */
- if (remmd_len != MD5_SIGNATURE_SIZE)
- break; /* it's not even the right length */
- MD5Init(&mdContext);
- MD5Update(&mdContext, &cstate->chal_id, 1);
- MD5Update(&mdContext, secret, secret_len);
- MD5Update(&mdContext, cstate->challenge, cstate->chal_len);
- MD5Final(hash, &mdContext);
-
- /* compare local and remote MDs and send the appropriate status */
- if (memcmp (hash, remmd, MD5_SIGNATURE_SIZE) == 0)
- code = CHAP_SUCCESS; /* they are the same! */
- break;
-
- default:
- CHAPDEBUG(("unknown digest type %d", cstate->chal_type));
- }
- }
-
- BZERO(secret, sizeof(secret));
- ChapSendStatus(cstate, code);
-
- if (code == CHAP_SUCCESS) {
- old_state = cstate->serverstate;
- cstate->serverstate = CHAPSS_OPEN;
- if (old_state == CHAPSS_INITIAL_CHAL) {
- auth_peer_success(cstate->unit, PPP_CHAP, rhostname, len);
- }
- if (cstate->chal_interval != 0)
- TIMEOUT(ChapRechallenge, cstate, cstate->chal_interval);
- notice("CHAP peer authentication succeeded for %q", rhostname);
-
- } else {
- error("CHAP peer authentication failed for remote host %q", rhostname);
- cstate->serverstate = CHAPSS_BADAUTH;
- auth_peer_fail(cstate->unit, PPP_CHAP);
- }
-}
-
-/*
- * ChapReceiveSuccess - Receive Success
- */
-static void
-ChapReceiveSuccess(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- u_char id;
- int len;
-{
-
- if (cstate->clientstate == CHAPCS_OPEN)
- /* presumably an answer to a duplicate response */
- return;
-
- if (cstate->clientstate != CHAPCS_RESPONSE) {
- /* don't know what this is */
- CHAPDEBUG(("ChapReceiveSuccess: in state %d\n", cstate->clientstate));
- return;
- }
-
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- /*
- * Print message.
- */
- if (len > 0)
- PRINTMSG(inp, len);
-
- cstate->clientstate = CHAPCS_OPEN;
-
- auth_withpeer_success(cstate->unit, PPP_CHAP);
-}
-
-
-/*
- * ChapReceiveFailure - Receive failure.
- */
-static void
-ChapReceiveFailure(cstate, inp, id, len)
- chap_state *cstate;
- u_char *inp;
- u_char id;
- int len;
-{
- if (cstate->clientstate != CHAPCS_RESPONSE) {
- /* don't know what this is */
- CHAPDEBUG(("ChapReceiveFailure: in state %d\n", cstate->clientstate));
- return;
- }
-
- UNTIMEOUT(ChapResponseTimeout, cstate);
-
- /*
- * Print message.
- */
- if (len > 0)
- PRINTMSG(inp, len);
-
- error("CHAP authentication failed");
- auth_withpeer_fail(cstate->unit, PPP_CHAP);
-}
-
-
-/*
- * ChapSendChallenge - Send an Authenticate challenge.
- */
-static void
-ChapSendChallenge(cstate)
- chap_state *cstate;
-{
- u_char *outp;
- int chal_len, name_len;
- int outlen;
-
- chal_len = cstate->chal_len;
- name_len = strlen(cstate->chal_name);
- outlen = CHAP_HEADERLEN + sizeof (u_char) + chal_len + name_len;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP); /* paste in a CHAP header */
-
- PUTCHAR(CHAP_CHALLENGE, outp);
- PUTCHAR(cstate->chal_id, outp);
- PUTSHORT(outlen, outp);
-
- PUTCHAR(chal_len, outp); /* put length of challenge */
- BCOPY(cstate->challenge, outp, chal_len);
- INCPTR(chal_len, outp);
-
- BCOPY(cstate->chal_name, outp, name_len); /* append hostname */
-
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- TIMEOUT(ChapChallengeTimeout, cstate, cstate->timeouttime);
- ++cstate->chal_transmits;
-}
-
-
-/*
- * ChapSendStatus - Send a status response (ack or nak).
- */
-static void
-ChapSendStatus(cstate, code)
- chap_state *cstate;
- int code;
-{
- u_char *outp;
- int outlen, msglen;
- char msg[256];
-
- if (code == CHAP_SUCCESS)
- slprintf(msg, sizeof(msg), "Welcome to %s.", hostname);
- else
- slprintf(msg, sizeof(msg), "I don't like you. Go 'way.");
- msglen = strlen(msg);
-
- outlen = CHAP_HEADERLEN + msglen;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP); /* paste in a header */
-
- PUTCHAR(code, outp);
- PUTCHAR(cstate->chal_id, outp);
- PUTSHORT(outlen, outp);
- BCOPY(msg, outp, msglen);
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-/*
- * ChapGenChallenge is used to generate a pseudo-random challenge string of
- * a pseudo-random length between min_len and max_len. The challenge
- * string and its length are stored in *cstate, and various other fields of
- * *cstate are initialized.
- */
-
-static void
-ChapGenChallenge(cstate)
- chap_state *cstate;
-{
- int chal_len;
- u_char *ptr = cstate->challenge;
- int i;
-
- /* pick a random challenge length between MIN_CHALLENGE_LENGTH and
- MAX_CHALLENGE_LENGTH */
- chal_len = (unsigned) ((drand48() *
- (MAX_CHALLENGE_LENGTH - MIN_CHALLENGE_LENGTH)) +
- MIN_CHALLENGE_LENGTH);
- cstate->chal_len = chal_len;
- cstate->chal_id = ++cstate->id;
- cstate->chal_transmits = 0;
-
- /* generate a random string */
- for (i = 0; i < chal_len; i++)
- *ptr++ = (char) (drand48() * 0xff);
-}
-
-/*
- * ChapSendResponse - send a response packet with values as specified
- * in *cstate.
- */
-/* ARGSUSED */
-static void
-ChapSendResponse(cstate)
- chap_state *cstate;
-{
- u_char *outp;
- int outlen, md_len, name_len;
-
- md_len = cstate->resp_length;
- name_len = strlen(cstate->resp_name);
- outlen = CHAP_HEADERLEN + sizeof (u_char) + md_len + name_len;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_CHAP);
-
- PUTCHAR(CHAP_RESPONSE, outp); /* we are a response */
- PUTCHAR(cstate->resp_id, outp); /* copy id from challenge packet */
- PUTSHORT(outlen, outp); /* packet length */
-
- PUTCHAR(md_len, outp); /* length of MD */
- BCOPY(cstate->response, outp, md_len); /* copy MD to buffer */
- INCPTR(md_len, outp);
-
- BCOPY(cstate->resp_name, outp, name_len); /* append our name */
-
- /* send the packet */
- output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- cstate->clientstate = CHAPCS_RESPONSE;
- TIMEOUT(ChapResponseTimeout, cstate, cstate->timeouttime);
- ++cstate->resp_transmits;
-}
-
-/*
- * ChapPrintPkt - print the contents of a CHAP packet.
- */
-static char *ChapCodenames[] = {
- "Challenge", "Response", "Success", "Failure"
-};
-
-static int
-ChapPrintPkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len;
- int clen, nlen;
- u_char x;
-
- if (plen < CHAP_HEADERLEN)
- return 0;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < CHAP_HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ChapCodenames) / sizeof(char *))
- printer(arg, " %s", ChapCodenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= CHAP_HEADERLEN;
- switch (code) {
- case CHAP_CHALLENGE:
- case CHAP_RESPONSE:
- if (len < 1)
- break;
- clen = p[0];
- if (len < clen + 1)
- break;
- ++p;
- nlen = len - clen - 1;
- printer(arg, " <");
- for (; clen > 0; --clen) {
- GETCHAR(x, p);
- printer(arg, "%.2x", x);
- }
- printer(arg, ">, name = ");
- print_string((char *)p, nlen, printer, arg);
- break;
- case CHAP_FAILURE:
- case CHAP_SUCCESS:
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- break;
- default:
- for (clen = len; clen > 0; --clen) {
- GETCHAR(x, p);
- printer(arg, " %.2x", x);
- }
- }
-
- return len + CHAP_HEADERLEN;
-}
diff --git a/mdk-stage1/ppp/pppd/chap.h b/mdk-stage1/ppp/pppd/chap.h
deleted file mode 100644
index 945d051d0..000000000
--- a/mdk-stage1/ppp/pppd/chap.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * chap.h - Challenge Handshake Authentication Protocol definitions.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Copyright (c) 1991 Gregory M. Christy
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the author.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#ifndef __CHAP_INCLUDE__
-
-/* Code + ID + length */
-#define CHAP_HEADERLEN 4
-
-/*
- * CHAP codes.
- */
-
-#define CHAP_DIGEST_MD5 5 /* use MD5 algorithm */
-#define MD5_SIGNATURE_SIZE 16 /* 16 bytes in a MD5 message digest */
-#define CHAP_MICROSOFT 0x80 /* use Microsoft-compatible alg. */
-#define MS_CHAP_RESPONSE_LEN 49 /* Response length for MS-CHAP */
-
-#define CHAP_CHALLENGE 1
-#define CHAP_RESPONSE 2
-#define CHAP_SUCCESS 3
-#define CHAP_FAILURE 4
-
-/*
- * Challenge lengths (for challenges we send) and other limits.
- */
-#define MIN_CHALLENGE_LENGTH 16
-#define MAX_CHALLENGE_LENGTH 24
-#define MAX_RESPONSE_LENGTH 64 /* sufficient for MD5 or MS-CHAP */
-
-/*
- * Each interface is described by a chap structure.
- */
-
-typedef struct chap_state {
- int unit; /* Interface unit number */
- int clientstate; /* Client state */
- int serverstate; /* Server state */
- u_char challenge[MAX_CHALLENGE_LENGTH]; /* last challenge string sent */
- u_char chal_len; /* challenge length */
- u_char chal_id; /* ID of last challenge */
- u_char chal_type; /* hash algorithm for challenges */
- u_char id; /* Current id */
- char *chal_name; /* Our name to use with challenge */
- int chal_interval; /* Time until we challenge peer again */
- int timeouttime; /* Timeout time in seconds */
- int max_transmits; /* Maximum # of challenge transmissions */
- int chal_transmits; /* Number of transmissions of challenge */
- int resp_transmits; /* Number of transmissions of response */
- u_char response[MAX_RESPONSE_LENGTH]; /* Response to send */
- u_char resp_length; /* length of response */
- u_char resp_id; /* ID for response messages */
- u_char resp_type; /* hash algorithm for responses */
- char *resp_name; /* Our name to send with response */
-} chap_state;
-
-
-/*
- * Client (peer) states.
- */
-#define CHAPCS_INITIAL 0 /* Lower layer down, not opened */
-#define CHAPCS_CLOSED 1 /* Lower layer up, not opened */
-#define CHAPCS_PENDING 2 /* Auth us to peer when lower up */
-#define CHAPCS_LISTEN 3 /* Listening for a challenge */
-#define CHAPCS_RESPONSE 4 /* Sent response, waiting for status */
-#define CHAPCS_OPEN 5 /* We've received Success */
-
-/*
- * Server (authenticator) states.
- */
-#define CHAPSS_INITIAL 0 /* Lower layer down, not opened */
-#define CHAPSS_CLOSED 1 /* Lower layer up, not opened */
-#define CHAPSS_PENDING 2 /* Auth peer when lower up */
-#define CHAPSS_INITIAL_CHAL 3 /* We've sent the first challenge */
-#define CHAPSS_OPEN 4 /* We've sent a Success msg */
-#define CHAPSS_RECHALLENGE 5 /* We've sent another challenge */
-#define CHAPSS_BADAUTH 6 /* We've sent a Failure msg */
-
-/*
- * Timeouts.
- */
-#define CHAP_DEFTIMEOUT 3 /* Timeout time in seconds */
-#define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */
-
-extern chap_state chap[];
-
-void ChapAuthWithPeer __P((int, char *, int));
-void ChapAuthPeer __P((int, char *, int));
-
-extern struct protent chap_protent;
-
-#define __CHAP_INCLUDE__
-#endif /* __CHAP_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.c b/mdk-stage1/ppp/pppd/chap_ms.c
deleted file mode 100644
index 81a57bb5a..000000000
--- a/mdk-stage1/ppp/pppd/chap_ms.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * chap_ms.c - Microsoft MS-CHAP compatible implementation.
- *
- * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
- * http://www.strataware.com/
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Eric Rosenquist. The name of the author may not be used to
- * endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/*
- * Modifications by Lauri Pesonen / lpesonen@clinet.fi, april 1997
- *
- * Implemented LANManager type password response to MS-CHAP challenges.
- * Now pppd provides both NT style and LANMan style blocks, and the
- * prefered is set by option "ms-lanman". Default is to use NT.
- * The hash text (StdText) was taken from Win95 RASAPI32.DLL.
- *
- * You should also use DOMAIN\\USERNAME as described in README.MSCHAP80
- */
-
-#define RCSID "$Id$"
-
-#ifdef CHAPMS
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <unistd.h>
-#ifdef HAVE_CRYPT_H
-#include <crypt.h>
-#endif
-
-#include "pppd.h"
-#include "chap.h"
-#include "chap_ms.h"
-#include "md4.h"
-
-#ifndef USE_CRYPT
-#include <des.h>
-#endif
-
-static const char rcsid[] = RCSID;
-
-typedef struct {
- u_char LANManResp[24];
- u_char NTResp[24];
- u_char UseNT; /* If 1, ignore the LANMan response field */
-} MS_ChapResponse;
-/* We use MS_CHAP_RESPONSE_LEN, rather than sizeof(MS_ChapResponse),
- in case this struct gets padded. */
-
-
-static void ChallengeResponse __P((u_char *, u_char *, u_char *));
-static void DesEncrypt __P((u_char *, u_char *, u_char *));
-static void MakeKey __P((u_char *, u_char *));
-static u_char Get7Bits __P((u_char *, int));
-static void ChapMS_NT __P((char *, int, char *, int, MS_ChapResponse *));
-#ifdef MSLANMAN
-static void ChapMS_LANMan __P((char *, int, char *, int, MS_ChapResponse *));
-#endif
-
-#ifdef USE_CRYPT
-static void Expand __P((u_char *, u_char *));
-static void Collapse __P((u_char *, u_char *));
-#endif
-
-#ifdef MSLANMAN
-bool ms_lanman = 0; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-static void
-ChallengeResponse(challenge, pwHash, response)
- u_char *challenge; /* IN 8 octets */
- u_char *pwHash; /* IN 16 octets */
- u_char *response; /* OUT 24 octets */
-{
- char ZPasswordHash[21];
-
- BZERO(ZPasswordHash, sizeof(ZPasswordHash));
- BCOPY(pwHash, ZPasswordHash, MD4_SIGNATURE_SIZE);
-
-#if 0
- dbglog("ChallengeResponse - ZPasswordHash %.*B",
- sizeof(ZPasswordHash), ZPasswordHash);
-#endif
-
- DesEncrypt(challenge, ZPasswordHash + 0, response + 0);
- DesEncrypt(challenge, ZPasswordHash + 7, response + 8);
- DesEncrypt(challenge, ZPasswordHash + 14, response + 16);
-
-#if 0
- dbglog("ChallengeResponse - response %.24B", response);
-#endif
-}
-
-
-#ifdef USE_CRYPT
-static void
-DesEncrypt(clear, key, cipher)
- u_char *clear; /* IN 8 octets */
- u_char *key; /* IN 7 octets */
- u_char *cipher; /* OUT 8 octets */
-{
- u_char des_key[8];
- u_char crypt_key[66];
- u_char des_input[66];
-
- MakeKey(key, des_key);
-
- Expand(des_key, crypt_key);
- setkey(crypt_key);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
-#endif
-
- Expand(clear, des_input);
- encrypt(des_input, 0);
- Collapse(des_input, cipher);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
-#endif
-}
-
-#else /* USE_CRYPT */
-
-static void
-DesEncrypt(clear, key, cipher)
- u_char *clear; /* IN 8 octets */
- u_char *key; /* IN 7 octets */
- u_char *cipher; /* OUT 8 octets */
-{
- des_cblock des_key;
- des_key_schedule key_schedule;
-
- MakeKey(key, des_key);
-
- des_set_key(&des_key, key_schedule);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
-#endif
-
- des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, key_schedule, 1);
-
-#if 0
- CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
-#endif
-}
-
-#endif /* USE_CRYPT */
-
-
-static u_char Get7Bits(input, startBit)
- u_char *input;
- int startBit;
-{
- register unsigned int word;
-
- word = (unsigned)input[startBit / 8] << 8;
- word |= (unsigned)input[startBit / 8 + 1];
-
- word >>= 15 - (startBit % 8 + 7);
-
- return word & 0xFE;
-}
-
-#ifdef USE_CRYPT
-
-/* in == 8-byte string (expanded version of the 56-bit key)
- * out == 64-byte string where each byte is either 1 or 0
- * Note that the low-order "bit" is always ignored by by setkey()
- */
-static void Expand(in, out)
- u_char *in;
- u_char *out;
-{
- int j, c;
- int i;
-
- for(i = 0; i < 64; in++){
- c = *in;
- for(j = 7; j >= 0; j--)
- *out++ = (c >> j) & 01;
- i += 8;
- }
-}
-
-/* The inverse of Expand
- */
-static void Collapse(in, out)
- u_char *in;
- u_char *out;
-{
- int j;
- int i;
- unsigned int c;
-
- for (i = 0; i < 64; i += 8, out++) {
- c = 0;
- for (j = 7; j >= 0; j--, in++)
- c |= *in << j;
- *out = c & 0xff;
- }
-}
-#endif
-
-static void MakeKey(key, des_key)
- u_char *key; /* IN 56 bit DES key missing parity bits */
- u_char *des_key; /* OUT 64 bit DES key with parity bits added */
-{
- des_key[0] = Get7Bits(key, 0);
- des_key[1] = Get7Bits(key, 7);
- des_key[2] = Get7Bits(key, 14);
- des_key[3] = Get7Bits(key, 21);
- des_key[4] = Get7Bits(key, 28);
- des_key[5] = Get7Bits(key, 35);
- des_key[6] = Get7Bits(key, 42);
- des_key[7] = Get7Bits(key, 49);
-
-#ifndef USE_CRYPT
- des_set_odd_parity((des_cblock *)des_key);
-#endif
-
-#if 0
- CHAPDEBUG((LOG_INFO, "MakeKey: 56-bit input : %.7B", key));
- CHAPDEBUG((LOG_INFO, "MakeKey: 64-bit output: %.8B", des_key));
-#endif
-}
-
-static void
-ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, response)
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
- MS_ChapResponse *response;
-{
- int i;
-#ifdef __NetBSD__
- /* NetBSD uses the libc md4 routines which take bytes instead of bits */
- int mdlen = secret_len * 2;
-#else
- int mdlen = secret_len * 2 * 8;
-#endif
- MD4_CTX md4Context;
- u_char hash[MD4_SIGNATURE_SIZE];
- u_char unicodePassword[MAX_NT_PASSWORD * 2];
-
- /* Initialize the Unicode version of the secret (== password). */
- /* This implicitly supports 8-bit ISO8859/1 characters. */
- BZERO(unicodePassword, sizeof(unicodePassword));
- for (i = 0; i < secret_len; i++)
- unicodePassword[i * 2] = (u_char)secret[i];
-
- MD4Init(&md4Context);
- MD4Update(&md4Context, unicodePassword, mdlen);
-
- MD4Final(hash, &md4Context); /* Tell MD4 we're done */
-
- ChallengeResponse(rchallenge, hash, response->NTResp);
-}
-
-#ifdef MSLANMAN
-static u_char *StdText = (u_char *)"KGS!@#$%"; /* key from rasapi32.dll */
-
-static void
-ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, response)
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
- MS_ChapResponse *response;
-{
- int i;
- u_char UcasePassword[MAX_NT_PASSWORD]; /* max is actually 14 */
- u_char PasswordHash[MD4_SIGNATURE_SIZE];
-
- /* LANMan password is case insensitive */
- BZERO(UcasePassword, sizeof(UcasePassword));
- for (i = 0; i < secret_len; i++)
- UcasePassword[i] = (u_char)toupper(secret[i]);
- DesEncrypt( StdText, UcasePassword + 0, PasswordHash + 0 );
- DesEncrypt( StdText, UcasePassword + 7, PasswordHash + 8 );
- ChallengeResponse(rchallenge, PasswordHash, response->LANManResp);
-}
-#endif
-
-void
-ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len)
- chap_state *cstate;
- char *rchallenge;
- int rchallenge_len;
- char *secret;
- int secret_len;
-{
- MS_ChapResponse response;
-
-#if 0
- CHAPDEBUG((LOG_INFO, "ChapMS: secret is '%.*s'", secret_len, secret));
-#endif
- BZERO(&response, sizeof(response));
-
- /* Calculate both always */
- ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, &response);
-
-#ifdef MSLANMAN
- ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, &response);
-
- /* prefered method is set by option */
- response.UseNT = !ms_lanman;
-#else
- response.UseNT = 1;
-#endif
-
- BCOPY(&response, cstate->response, MS_CHAP_RESPONSE_LEN);
- cstate->resp_length = MS_CHAP_RESPONSE_LEN;
-}
-
-#endif /* CHAPMS */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.h b/mdk-stage1/ppp/pppd/chap_ms.h
deleted file mode 100644
index fad2755c8..000000000
--- a/mdk-stage1/ppp/pppd/chap_ms.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * chap.h - Challenge Handshake Authentication Protocol definitions.
- *
- * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
- * http://www.strataware.com/
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Eric Rosenquist. The name of the author may not be used to
- * endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#ifndef __CHAPMS_INCLUDE__
-
-#define MD4_SIGNATURE_SIZE 16 /* 16 bytes in a MD4 message digest */
-#define MAX_NT_PASSWORD 256 /* Maximum number of (Unicode) chars in an NT password */
-
-void ChapMS __P((chap_state *, char *, int, char *, int));
-
-#define __CHAPMS_INCLUDE__
-#endif /* __CHAPMS_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/demand.c b/mdk-stage1/ppp/pppd/demand.c
deleted file mode 100644
index 9a740be8d..000000000
--- a/mdk-stage1/ppp/pppd/demand.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * demand.c - Support routines for demand-dialling.
- *
- * Copyright (c) 1993 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#ifdef PPP_FILTER
-#include <net/if.h>
-#include <net/bpf.h>
-#include <pcap.h>
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "lcp.h"
-
-static const char rcsid[] = RCSID;
-
-char *frame;
-int framelen;
-int framemax;
-int escape_flag;
-int flush_flag;
-int fcs;
-
-struct packet {
- int length;
- struct packet *next;
- unsigned char data[1];
-};
-
-struct packet *pend_q;
-struct packet *pend_qtail;
-
-static int active_packet __P((unsigned char *, int));
-
-/*
- * demand_conf - configure the interface for doing dial-on-demand.
- */
-void
-demand_conf()
-{
- int i;
- struct protent *protp;
-
-/* framemax = lcp_allowoptions[0].mru;
- if (framemax < PPP_MRU) */
- framemax = PPP_MRU;
- framemax += PPP_HDRLEN + PPP_FCSLEN;
- frame = malloc(framemax);
- if (frame == NULL)
- novm("demand frame");
- framelen = 0;
- pend_q = NULL;
- escape_flag = 0;
- flush_flag = 0;
- fcs = PPP_INITFCS;
-
- netif_set_mtu(0, MIN(lcp_allowoptions[0].mru, PPP_MRU));
- ppp_send_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
- ppp_recv_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
-
-#ifdef PPP_FILTER
- set_filters(&pass_filter, &active_filter);
-#endif
-
- /*
- * Call the demand_conf procedure for each protocol that's got one.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- if (!((*protp->demand_conf)(0)))
- die(1);
-}
-
-
-/*
- * demand_block - set each network protocol to block further packets.
- */
-void
-demand_block()
-{
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_QUEUE);
- get_loop_output();
-}
-
-/*
- * demand_discard - set each network protocol to discard packets
- * with an error.
- */
-void
-demand_discard()
-{
- struct packet *pkt, *nextpkt;
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_ERROR);
- get_loop_output();
-
- /* discard all saved packets */
- for (pkt = pend_q; pkt != NULL; pkt = nextpkt) {
- nextpkt = pkt->next;
- free(pkt);
- }
- pend_q = NULL;
- framelen = 0;
- flush_flag = 0;
- escape_flag = 0;
- fcs = PPP_INITFCS;
-}
-
-/*
- * demand_unblock - set each enabled network protocol to pass packets.
- */
-void
-demand_unblock()
-{
- int i;
- struct protent *protp;
-
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->enabled_flag && protp->demand_conf != NULL)
- sifnpmode(0, protp->protocol & ~0x8000, NPMODE_PASS);
-}
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-/*
- * loop_chars - process characters received from the loopback.
- * Calls loop_frame when a complete frame has been accumulated.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-loop_chars(p, n)
- unsigned char *p;
- int n;
-{
- int c, rv;
-
- rv = 0;
- for (; n > 0; --n) {
- c = *p++;
- if (c == PPP_FLAG) {
- if (!escape_flag && !flush_flag
- && framelen > 2 && fcs == PPP_GOODFCS) {
- framelen -= 2;
- if (loop_frame((unsigned char *)frame, framelen))
- rv = 1;
- }
- framelen = 0;
- flush_flag = 0;
- escape_flag = 0;
- fcs = PPP_INITFCS;
- continue;
- }
- if (flush_flag)
- continue;
- if (escape_flag) {
- c ^= PPP_TRANS;
- escape_flag = 0;
- } else if (c == PPP_ESCAPE) {
- escape_flag = 1;
- continue;
- }
- if (framelen >= framemax) {
- flush_flag = 1;
- continue;
- }
- frame[framelen++] = c;
- fcs = PPP_FCS(fcs, c);
- }
- return rv;
-}
-
-/*
- * loop_frame - given a frame obtained from the loopback,
- * decide whether to bring up the link or not, and, if we want
- * to transmit this frame later, put it on the pending queue.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- * We assume that the kernel driver has already applied the
- * pass_filter, so we won't get packets it rejected.
- * We apply the active_filter to see if we want this packet to
- * bring up the link.
- */
-int
-loop_frame(frame, len)
- unsigned char *frame;
- int len;
-{
- struct packet *pkt;
-
- /* dbglog("from loop: %P", frame, len); */
- if (len < PPP_HDRLEN)
- return 0;
- if ((PPP_PROTOCOL(frame) & 0x8000) != 0)
- return 0; /* shouldn't get any of these anyway */
- if (!active_packet(frame, len))
- return 0;
-
- pkt = (struct packet *) malloc(sizeof(struct packet) + len);
- if (pkt != NULL) {
- pkt->length = len;
- pkt->next = NULL;
- memcpy(pkt->data, frame, len);
- if (pend_q == NULL)
- pend_q = pkt;
- else
- pend_qtail->next = pkt;
- pend_qtail = pkt;
- }
- return 1;
-}
-
-/*
- * demand_rexmit - Resend all those frames which we got via the
- * loopback, now that the real serial link is up.
- */
-void
-demand_rexmit(proto)
- int proto;
-{
- struct packet *pkt, *prev, *nextpkt;
-
- prev = NULL;
- pkt = pend_q;
- pend_q = NULL;
- for (; pkt != NULL; pkt = nextpkt) {
- nextpkt = pkt->next;
- if (PPP_PROTOCOL(pkt->data) == proto) {
- output(0, pkt->data, pkt->length);
- free(pkt);
- } else {
- if (prev == NULL)
- pend_q = pkt;
- else
- prev->next = pkt;
- prev = pkt;
- }
- }
- pend_qtail = prev;
- if (prev != NULL)
- prev->next = NULL;
-}
-
-/*
- * Scan a packet to decide whether it is an "active" packet,
- * that is, whether it is worth bringing up the link for.
- */
-static int
-active_packet(p, len)
- unsigned char *p;
- int len;
-{
- int proto, i;
- struct protent *protp;
-
- if (len < PPP_HDRLEN)
- return 0;
- proto = PPP_PROTOCOL(p);
-#ifdef PPP_FILTER
- if (pass_filter.bf_len != 0
- && bpf_filter(pass_filter.bf_insns, p, len, len) == 0)
- return 0;
- if (active_filter.bf_len != 0
- && bpf_filter(active_filter.bf_insns, p, len, len) == 0)
- return 0;
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (protp->protocol < 0xC000 && (protp->protocol & ~0x8000) == proto) {
- if (!protp->enabled_flag)
- return 0;
- if (protp->active_pkt == NULL)
- return 1;
- return (*protp->active_pkt)(p, len);
- }
- }
- return 0; /* not a supported protocol !!?? */
-}
diff --git a/mdk-stage1/ppp/pppd/eui64.c b/mdk-stage1/ppp/pppd/eui64.c
deleted file mode 100644
index 7f3176035..000000000
--- a/mdk-stage1/ppp/pppd/eui64.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- eui64.c - EUI64 routines for IPv6CP.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms and that any documentation,
- advertising materials, and other materials related to such
- distribution and use acknowledge that the software was developed
- by Tommi Komulainen. The name of the author may not be used
- to endorse or promote products derived from this software without
- specific prior written permission.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-
- $Id$
-*/
-
-#define RCSID "$Id$"
-
-#include "pppd.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * eui64_ntoa - Make an ascii representation of an interface identifier
- */
-char *
-eui64_ntoa(e)
- eui64_t e;
-{
- static char buf[32];
-
- snprintf(buf, 32, "%02x%02x:%02x%02x:%02x%02x:%02x%02x",
- e.e8[0], e.e8[1], e.e8[2], e.e8[3],
- e.e8[4], e.e8[5], e.e8[6], e.e8[7]);
- return buf;
-}
diff --git a/mdk-stage1/ppp/pppd/eui64.h b/mdk-stage1/ppp/pppd/eui64.h
deleted file mode 100644
index ca4445345..000000000
--- a/mdk-stage1/ppp/pppd/eui64.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- eui64.h - EUI64 routines for IPv6CP.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms and that any documentation,
- advertising materials, and other materials related to such
- distribution and use acknowledge that the software was developed
- by Tommi Komulainen. The name of the author may not be used
- to endorse or promote products derived from this software without
- specific prior written permission.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-
- $Id$
-*/
-
-#ifndef __EUI64_H__
-#define __EUI64_H__
-
-#if !defined(INET6)
-#error "this file should only be included when INET6 is defined"
-#endif /* not defined(INET6) */
-
-#if defined(SOL2)
-#include <netinet/in.h>
-
-typedef union {
- uint8_t e8[8]; /* lower 64-bit IPv6 address */
- uint32_t e32[2]; /* lower 64-bit IPv6 address */
-} eui64_t;
-
-/*
- * Declare the two below, since in.h only defines them when _KERNEL
- * is declared - which shouldn't be true when dealing with user-land programs
- */
-#define s6_addr8 _S6_un._S6_u8
-#define s6_addr32 _S6_un._S6_u32
-
-#else /* else if not defined(SOL2) */
-
-/*
- * TODO:
- *
- * Maybe this should be done by processing struct in6_addr directly...
- */
-typedef union
-{
- u_int8_t e8[8];
- u_int16_t e16[4];
- u_int32_t e32[2];
-} eui64_t;
-
-#endif /* defined(SOL2) */
-
-#define eui64_iszero(e) (((e).e32[0] | (e).e32[1]) == 0)
-#define eui64_equals(e, o) (((e).e32[0] == (o).e32[0]) && \
- ((e).e32[1] == (o).e32[1]))
-#define eui64_zero(e) (e).e32[0] = (e).e32[1] = 0;
-
-#define eui64_copy(s, d) memcpy(&(d), &(s), sizeof(eui64_t))
-
-#define eui64_magic(e) do { \
- (e).e32[0] = magic(); \
- (e).e32[1] = magic(); \
- (e).e8[0] &= ~2; \
- } while (0)
-#define eui64_magic_nz(x) do { \
- eui64_magic(x); \
- } while (eui64_iszero(x))
-#define eui64_magic_ne(x, y) do { \
- eui64_magic(x); \
- } while (eui64_equals(x, y))
-
-#define eui64_get(ll, cp) do { \
- eui64_copy((*cp), (ll)); \
- (cp) += sizeof(eui64_t); \
- } while (0)
-
-#define eui64_put(ll, cp) do { \
- eui64_copy((ll), (*cp)); \
- (cp) += sizeof(eui64_t); \
- } while (0)
-
-#define eui64_set32(e, l) do { \
- (e).e32[0] = 0; \
- (e).e32[1] = htonl(l); \
- } while (0)
-#define eui64_setlo32(e, l) eui64_set32(e, l)
-
-char *eui64_ntoa __P((eui64_t)); /* Returns ascii representation of id */
-
-#endif /* __EUI64_H__ */
-
diff --git a/mdk-stage1/ppp/pppd/fsm.c b/mdk-stage1/ppp/pppd/fsm.c
deleted file mode 100644
index 07a8c11f1..000000000
--- a/mdk-stage1/ppp/pppd/fsm.c
+++ /dev/null
@@ -1,762 +0,0 @@
-/*
- * fsm.c - {Link, IP} Control Protocol Finite State Machine.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- * Randomize fsm id on link/init.
- * Deal with variable outgoing MTU.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-
-#include "pppd.h"
-#include "fsm.h"
-
-static const char rcsid[] = RCSID;
-
-static void fsm_timeout __P((void *));
-static void fsm_rconfreq __P((fsm *, int, u_char *, int));
-static void fsm_rconfack __P((fsm *, int, u_char *, int));
-static void fsm_rconfnakrej __P((fsm *, int, int, u_char *, int));
-static void fsm_rtermreq __P((fsm *, int, u_char *, int));
-static void fsm_rtermack __P((fsm *));
-static void fsm_rcoderej __P((fsm *, u_char *, int));
-static void fsm_sconfreq __P((fsm *, int));
-
-#define PROTO_NAME(f) ((f)->callbacks->proto_name)
-
-int peer_mru[NUM_PPP];
-
-
-/*
- * fsm_init - Initialize fsm.
- *
- * Initialize fsm state.
- */
-void
-fsm_init(f)
- fsm *f;
-{
- f->state = INITIAL;
- f->flags = 0;
- f->id = 0; /* XXX Start with random id? */
- f->timeouttime = DEFTIMEOUT;
- f->maxconfreqtransmits = DEFMAXCONFREQS;
- f->maxtermtransmits = DEFMAXTERMREQS;
- f->maxnakloops = DEFMAXNAKLOOPS;
- f->term_reason_len = 0;
-}
-
-
-/*
- * fsm_lowerup - The lower layer is up.
- */
-void
-fsm_lowerup(f)
- fsm *f;
-{
- switch( f->state ){
- case INITIAL:
- f->state = CLOSED;
- break;
-
- case STARTING:
- if( f->flags & OPT_SILENT )
- f->state = STOPPED;
- else {
- /* Send an initial configure-request */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- }
- break;
-
- default:
- FSMDEBUG(("%s: Up event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_lowerdown - The lower layer is down.
- *
- * Cancel all timeouts and inform upper layers.
- */
-void
-fsm_lowerdown(f)
- fsm *f;
-{
- switch( f->state ){
- case CLOSED:
- f->state = INITIAL;
- break;
-
- case STOPPED:
- f->state = STARTING;
- if( f->callbacks->starting )
- (*f->callbacks->starting)(f);
- break;
-
- case CLOSING:
- f->state = INITIAL;
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- break;
-
- case STOPPING:
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- f->state = STARTING;
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- break;
-
- case OPENED:
- if( f->callbacks->down )
- (*f->callbacks->down)(f);
- f->state = STARTING;
- break;
-
- default:
- FSMDEBUG(("%s: Down event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_open - Link is allowed to come up.
- */
-void
-fsm_open(f)
- fsm *f;
-{
- switch( f->state ){
- case INITIAL:
- f->state = STARTING;
- if( f->callbacks->starting )
- (*f->callbacks->starting)(f);
- break;
-
- case CLOSED:
- if( f->flags & OPT_SILENT )
- f->state = STOPPED;
- else {
- /* Send an initial configure-request */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- }
- break;
-
- case CLOSING:
- f->state = STOPPING;
- /* fall through */
- case STOPPED:
- case OPENED:
- if( f->flags & OPT_RESTART ){
- fsm_lowerdown(f);
- fsm_lowerup(f);
- }
- break;
- }
-}
-
-
-/*
- * fsm_close - Start closing connection.
- *
- * Cancel timeouts and either initiate close or possibly go directly to
- * the CLOSED state.
- */
-void
-fsm_close(f, reason)
- fsm *f;
- char *reason;
-{
- f->term_reason = reason;
- f->term_reason_len = (reason == NULL? 0: strlen(reason));
- switch( f->state ){
- case STARTING:
- f->state = INITIAL;
- break;
- case STOPPED:
- f->state = CLOSED;
- break;
- case STOPPING:
- f->state = CLOSING;
- break;
-
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- case OPENED:
- if( f->state != OPENED )
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- else if( f->callbacks->down )
- (*f->callbacks->down)(f); /* Inform upper layers we're down */
-
- /* Init restart counter, send Terminate-Request */
- f->retransmits = f->maxtermtransmits;
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
-
- f->state = CLOSING;
- break;
- }
-}
-
-
-/*
- * fsm_timeout - Timeout expired.
- */
-static void
-fsm_timeout(arg)
- void *arg;
-{
- fsm *f = (fsm *) arg;
-
- switch (f->state) {
- case CLOSING:
- case STOPPING:
- if( f->retransmits <= 0 ){
- /*
- * We've waited for an ack long enough. Peer probably heard us.
- */
- f->state = (f->state == CLOSING)? CLOSED: STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- } else {
- /* Send Terminate-Request */
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
- }
- break;
-
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- if (f->retransmits <= 0) {
- warn("%s: timeout sending Config-Requests\n", PROTO_NAME(f));
- f->state = STOPPED;
- if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished )
- (*f->callbacks->finished)(f);
-
- } else {
- /* Retransmit the configure-request */
- if (f->callbacks->retransmit)
- (*f->callbacks->retransmit)(f);
- fsm_sconfreq(f, 1); /* Re-send Configure-Request */
- if( f->state == ACKRCVD )
- f->state = REQSENT;
- }
- break;
-
- default:
- FSMDEBUG(("%s: Timeout event in state %d!", PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_input - Input packet.
- */
-void
-fsm_input(f, inpacket, l)
- fsm *f;
- u_char *inpacket;
- int l;
-{
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (l < HEADERLEN) {
- FSMDEBUG(("fsm_input(%x): Rcvd short header.", f->protocol));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < HEADERLEN) {
- FSMDEBUG(("fsm_input(%x): Rcvd illegal length.", f->protocol));
- return;
- }
- if (len > l) {
- FSMDEBUG(("fsm_input(%x): Rcvd short packet.", f->protocol));
- return;
- }
- len -= HEADERLEN; /* subtract header length */
-
- if( f->state == INITIAL || f->state == STARTING ){
- FSMDEBUG(("fsm_input(%x): Rcvd packet in state %d.",
- f->protocol, f->state));
- return;
- }
-
- /*
- * Action depends on code.
- */
- switch (code) {
- case CONFREQ:
- fsm_rconfreq(f, id, inp, len);
- break;
-
- case CONFACK:
- fsm_rconfack(f, id, inp, len);
- break;
-
- case CONFNAK:
- case CONFREJ:
- fsm_rconfnakrej(f, code, id, inp, len);
- break;
-
- case TERMREQ:
- fsm_rtermreq(f, id, inp, len);
- break;
-
- case TERMACK:
- fsm_rtermack(f);
- break;
-
- case CODEREJ:
- fsm_rcoderej(f, inp, len);
- break;
-
- default:
- if( !f->callbacks->extcode
- || !(*f->callbacks->extcode)(f, code, id, inp, len) )
- fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);
- break;
- }
-}
-
-
-/*
- * fsm_rconfreq - Receive Configure-Request.
- */
-static void
-fsm_rconfreq(f, id, inp, len)
- fsm *f;
- u_char id;
- u_char *inp;
- int len;
-{
- int code, reject_if_disagree;
-
- switch( f->state ){
- case CLOSED:
- /* Go away, we're closed */
- fsm_sdata(f, TERMACK, id, NULL, 0);
- return;
- case CLOSING:
- case STOPPING:
- return;
-
- case OPENED:
- /* Go down and restart negotiation */
- if( f->callbacks->down )
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- break;
-
- case STOPPED:
- /* Negotiation started by our peer */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-
- /*
- * Pass the requested configuration options
- * to protocol-specific code for checking.
- */
- if (f->callbacks->reqci){ /* Check CI */
- reject_if_disagree = (f->nakloops >= f->maxnakloops);
- code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);
- } else if (len)
- code = CONFREJ; /* Reject all CI */
- else
- code = CONFACK;
-
- /* send the Ack, Nak or Rej to the peer */
- fsm_sdata(f, code, id, inp, len);
-
- if (code == CONFACK) {
- if (f->state == ACKRCVD) {
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- f->state = OPENED;
- if (f->callbacks->up)
- (*f->callbacks->up)(f); /* Inform upper layers */
- } else
- f->state = ACKSENT;
- f->nakloops = 0;
-
- } else {
- /* we sent CONFACK or CONFREJ */
- if (f->state != ACKRCVD)
- f->state = REQSENT;
- if( code == CONFNAK )
- ++f->nakloops;
- }
-}
-
-
-/*
- * fsm_rconfack - Receive Configure-Ack.
- */
-static void
-fsm_rconfack(f, id, inp, len)
- fsm *f;
- int id;
- u_char *inp;
- int len;
-{
- if (id != f->reqid || f->seen_ack) /* Expected id? */
- return; /* Nope, toss... */
- if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len):
- (len == 0)) ){
- /* Ack is bad - ignore it */
- error("Received bad configure-ack: %P", inp, len);
- return;
- }
- f->seen_ack = 1;
-
- switch (f->state) {
- case CLOSED:
- case STOPPED:
- fsm_sdata(f, TERMACK, id, NULL, 0);
- break;
-
- case REQSENT:
- f->state = ACKRCVD;
- f->retransmits = f->maxconfreqtransmits;
- break;
-
- case ACKRCVD:
- /* Huh? an extra valid Ack? oh well... */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- break;
-
- case ACKSENT:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- f->state = OPENED;
- f->retransmits = f->maxconfreqtransmits;
- if (f->callbacks->up)
- (*f->callbacks->up)(f); /* Inform upper layers */
- break;
-
- case OPENED:
- /* Go down and restart negotiation */
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-}
-
-
-/*
- * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
- */
-static void
-fsm_rconfnakrej(f, code, id, inp, len)
- fsm *f;
- int code, id;
- u_char *inp;
- int len;
-{
- int (*proc) __P((fsm *, u_char *, int));
- int ret;
-
- if (id != f->reqid || f->seen_ack) /* Expected id? */
- return; /* Nope, toss... */
- proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;
- if (!proc || !(ret = proc(f, inp, len))) {
- /* Nak/reject is bad - ignore it */
- error("Received bad configure-nak/rej: %P", inp, len);
- return;
- }
- f->seen_ack = 1;
-
- switch (f->state) {
- case CLOSED:
- case STOPPED:
- fsm_sdata(f, TERMACK, id, NULL, 0);
- break;
-
- case REQSENT:
- case ACKSENT:
- /* They didn't agree to what we wanted - try another request */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- if (ret < 0)
- f->state = STOPPED; /* kludge for stopping CCP */
- else
- fsm_sconfreq(f, 0); /* Send Configure-Request */
- break;
-
- case ACKRCVD:
- /* Got a Nak/reject when we had already had an Ack?? oh well... */
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- fsm_sconfreq(f, 0);
- f->state = REQSENT;
- break;
-
- case OPENED:
- /* Go down and restart negotiation */
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0); /* Send initial Configure-Request */
- f->state = REQSENT;
- break;
- }
-}
-
-
-/*
- * fsm_rtermreq - Receive Terminate-Req.
- */
-static void
-fsm_rtermreq(f, id, p, len)
- fsm *f;
- int id;
- u_char *p;
- int len;
-{
- switch (f->state) {
- case ACKRCVD:
- case ACKSENT:
- f->state = REQSENT; /* Start over but keep trying */
- break;
-
- case OPENED:
- if (len > 0) {
- info("%s terminated by peer (%0.*v)", PROTO_NAME(f), len, p);
- } else
- info("%s terminated by peer", PROTO_NAME(f));
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- f->retransmits = 0;
- f->state = STOPPING;
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- break;
- }
-
- fsm_sdata(f, TERMACK, id, NULL, 0);
-}
-
-
-/*
- * fsm_rtermack - Receive Terminate-Ack.
- */
-static void
-fsm_rtermack(f)
- fsm *f;
-{
- switch (f->state) {
- case CLOSING:
- UNTIMEOUT(fsm_timeout, f);
- f->state = CLOSED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
- case STOPPING:
- UNTIMEOUT(fsm_timeout, f);
- f->state = STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case ACKRCVD:
- f->state = REQSENT;
- break;
-
- case OPENED:
- if (f->callbacks->down)
- (*f->callbacks->down)(f); /* Inform upper layers */
- fsm_sconfreq(f, 0);
- break;
- }
-}
-
-
-/*
- * fsm_rcoderej - Receive an Code-Reject.
- */
-static void
-fsm_rcoderej(f, inp, len)
- fsm *f;
- u_char *inp;
- int len;
-{
- u_char code, id;
-
- if (len < HEADERLEN) {
- FSMDEBUG(("fsm_rcoderej: Rcvd short Code-Reject packet!"));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- warn("%s: Rcvd Code-Reject for code %d, id %d", PROTO_NAME(f), code, id);
-
- if( f->state == ACKRCVD )
- f->state = REQSENT;
-}
-
-
-/*
- * fsm_protreject - Peer doesn't speak this protocol.
- *
- * Treat this as a catastrophic error (RXJ-).
- */
-void
-fsm_protreject(f)
- fsm *f;
-{
- switch( f->state ){
- case CLOSING:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- /* fall through */
- case CLOSED:
- f->state = CLOSED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case STOPPING:
- case REQSENT:
- case ACKRCVD:
- case ACKSENT:
- UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
- /* fall through */
- case STOPPED:
- f->state = STOPPED;
- if( f->callbacks->finished )
- (*f->callbacks->finished)(f);
- break;
-
- case OPENED:
- if( f->callbacks->down )
- (*f->callbacks->down)(f);
-
- /* Init restart counter, send Terminate-Request */
- f->retransmits = f->maxtermtransmits;
- fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
- (u_char *) f->term_reason, f->term_reason_len);
- TIMEOUT(fsm_timeout, f, f->timeouttime);
- --f->retransmits;
-
- f->state = STOPPING;
- break;
-
- default:
- FSMDEBUG(("%s: Protocol-reject event in state %d!",
- PROTO_NAME(f), f->state));
- }
-}
-
-
-/*
- * fsm_sconfreq - Send a Configure-Request.
- */
-static void
-fsm_sconfreq(f, retransmit)
- fsm *f;
- int retransmit;
-{
- u_char *outp;
- int cilen;
-
- if( f->state != REQSENT && f->state != ACKRCVD && f->state != ACKSENT ){
- /* Not currently negotiating - reset options */
- if( f->callbacks->resetci )
- (*f->callbacks->resetci)(f);
- f->nakloops = 0;
- }
-
- if( !retransmit ){
- /* New request - reset retransmission counter, use new ID */
- f->retransmits = f->maxconfreqtransmits;
- f->reqid = ++f->id;
- }
-
- f->seen_ack = 0;
-
- /*
- * Make up the request packet
- */
- outp = outpacket_buf + PPP_HDRLEN + HEADERLEN;
- if( f->callbacks->cilen && f->callbacks->addci ){
- cilen = (*f->callbacks->cilen)(f);
- if( cilen > peer_mru[f->unit] - HEADERLEN )
- cilen = peer_mru[f->unit] - HEADERLEN;
- if (f->callbacks->addci)
- (*f->callbacks->addci)(f, outp, &cilen);
- } else
- cilen = 0;
-
- /* send the request to our peer */
- fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);
-
- /* start the retransmit timer */
- --f->retransmits;
- TIMEOUT(fsm_timeout, f, f->timeouttime);
-}
-
-
-/*
- * fsm_sdata - Send some data.
- *
- * Used for all packets sent to our peer by this module.
- */
-void
-fsm_sdata(f, code, id, data, datalen)
- fsm *f;
- u_char code, id;
- u_char *data;
- int datalen;
-{
- u_char *outp;
- int outlen;
-
- /* Adjust length to be smaller than MTU */
- outp = outpacket_buf;
- if (datalen > peer_mru[f->unit] - HEADERLEN)
- datalen = peer_mru[f->unit] - HEADERLEN;
- if (datalen && data != outp + PPP_HDRLEN + HEADERLEN)
- BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);
- outlen = datalen + HEADERLEN;
- MAKEHEADER(outp, f->protocol);
- PUTCHAR(code, outp);
- PUTCHAR(id, outp);
- PUTSHORT(outlen, outp);
- output(f->unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
diff --git a/mdk-stage1/ppp/pppd/fsm.h b/mdk-stage1/ppp/pppd/fsm.h
deleted file mode 100644
index c94a68e6c..000000000
--- a/mdk-stage1/ppp/pppd/fsm.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * fsm.h - {Link, IP} Control Protocol Finite State Machine definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Packet header = Code, id, length.
- */
-#define HEADERLEN 4
-
-
-/*
- * CP (LCP, IPCP, etc.) codes.
- */
-#define CONFREQ 1 /* Configuration Request */
-#define CONFACK 2 /* Configuration Ack */
-#define CONFNAK 3 /* Configuration Nak */
-#define CONFREJ 4 /* Configuration Reject */
-#define TERMREQ 5 /* Termination Request */
-#define TERMACK 6 /* Termination Ack */
-#define CODEREJ 7 /* Code Reject */
-
-
-/*
- * Each FSM is described by an fsm structure and fsm callbacks.
- */
-typedef struct fsm {
- int unit; /* Interface unit number */
- int protocol; /* Data Link Layer Protocol field value */
- int state; /* State */
- int flags; /* Contains option bits */
- u_char id; /* Current id */
- u_char reqid; /* Current request id */
- u_char seen_ack; /* Have received valid Ack/Nak/Rej to Req */
- int timeouttime; /* Timeout time in milliseconds */
- int maxconfreqtransmits; /* Maximum Configure-Request transmissions */
- int retransmits; /* Number of retransmissions left */
- int maxtermtransmits; /* Maximum Terminate-Request transmissions */
- int nakloops; /* Number of nak loops since last ack */
- int maxnakloops; /* Maximum number of nak loops tolerated */
- struct fsm_callbacks *callbacks; /* Callback routines */
- char *term_reason; /* Reason for closing protocol */
- int term_reason_len; /* Length of term_reason */
-} fsm;
-
-
-typedef struct fsm_callbacks {
- void (*resetci) /* Reset our Configuration Information */
- __P((fsm *));
- int (*cilen) /* Length of our Configuration Information */
- __P((fsm *));
- void (*addci) /* Add our Configuration Information */
- __P((fsm *, u_char *, int *));
- int (*ackci) /* ACK our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*nakci) /* NAK our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*rejci) /* Reject our Configuration Information */
- __P((fsm *, u_char *, int));
- int (*reqci) /* Request peer's Configuration Information */
- __P((fsm *, u_char *, int *, int));
- void (*up) /* Called when fsm reaches OPENED state */
- __P((fsm *));
- void (*down) /* Called when fsm leaves OPENED state */
- __P((fsm *));
- void (*starting) /* Called when we want the lower layer */
- __P((fsm *));
- void (*finished) /* Called when we don't want the lower layer */
- __P((fsm *));
- void (*protreject) /* Called when Protocol-Reject received */
- __P((int));
- void (*retransmit) /* Retransmission is necessary */
- __P((fsm *));
- int (*extcode) /* Called when unknown code received */
- __P((fsm *, int, int, u_char *, int));
- char *proto_name; /* String name for protocol (for messages) */
-} fsm_callbacks;
-
-
-/*
- * Link states.
- */
-#define INITIAL 0 /* Down, hasn't been opened */
-#define STARTING 1 /* Down, been opened */
-#define CLOSED 2 /* Up, hasn't been opened */
-#define STOPPED 3 /* Open, waiting for down event */
-#define CLOSING 4 /* Terminating the connection, not open */
-#define STOPPING 5 /* Terminating, but open */
-#define REQSENT 6 /* We've sent a Config Request */
-#define ACKRCVD 7 /* We've received a Config Ack */
-#define ACKSENT 8 /* We've sent a Config Ack */
-#define OPENED 9 /* Connection available */
-
-
-/*
- * Flags - indicate options controlling FSM operation
- */
-#define OPT_PASSIVE 1 /* Don't die if we don't get a response */
-#define OPT_RESTART 2 /* Treat 2nd OPEN as DOWN, UP */
-#define OPT_SILENT 4 /* Wait for peer to speak first */
-
-
-/*
- * Timeouts.
- */
-#define DEFTIMEOUT 3 /* Timeout time in seconds */
-#define DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */
-#define DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */
-#define DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */
-
-
-/*
- * Prototypes
- */
-void fsm_init __P((fsm *));
-void fsm_lowerup __P((fsm *));
-void fsm_lowerdown __P((fsm *));
-void fsm_open __P((fsm *));
-void fsm_close __P((fsm *, char *));
-void fsm_input __P((fsm *, u_char *, int));
-void fsm_protreject __P((fsm *));
-void fsm_sdata __P((fsm *, int, int, u_char *, int));
-
-
-/*
- * Variables
- */
-extern int peer_mru[]; /* currently negotiated peer MRU (per unit) */
diff --git a/mdk-stage1/ppp/pppd/ipcp.c b/mdk-stage1/ppp/pppd/ipcp.c
deleted file mode 100644
index 3f64357ed..000000000
--- a/mdk-stage1/ppp/pppd/ipcp.c
+++ /dev/null
@@ -1,2054 +0,0 @@
-/*
- * ipcp.c - PPP IP Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "pathnames.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipcp_options ipcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipcp_options ipcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipcp_options ipcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipcp_options ipcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-u_int32_t netmask = 0; /* IP netmask to set on interface */
-
-bool disable_defaultip = 0; /* Don't use hostname for default IP adrs */
-
-/* Hook for a plugin to know when IP protocol has come up */
-void (*ip_up_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to know when IP protocol has come down */
-void (*ip_down_hook) __P((void)) = NULL;
-
-/* Hook for a plugin to choose the remote IP address */
-void (*ip_choose_hook) __P((u_int32_t *)) = NULL;
-
-/* local vars */
-static int default_route_set[NUM_PPP]; /* Have set up a default route */
-static int proxy_arp_set[NUM_PPP]; /* Have created proxy arp entry */
-static bool usepeerdns; /* Ask peer for DNS addrs */
-static int ipcp_is_up; /* have called np_up() */
-static bool ask_for_local; /* request our address from peer */
-static char vj_value[8]; /* string form of vj option value */
-static char netmask_str[20]; /* string form of netmask value */
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipcp_resetci __P((fsm *)); /* Reset our CI */
-static int ipcp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipcp_up __P((fsm *)); /* We're UP */
-static void ipcp_down __P((fsm *)); /* We're DOWN */
-static void ipcp_finished __P((fsm *)); /* Don't need lower layer */
-
-fsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */
-
-static fsm_callbacks ipcp_callbacks = { /* IPCP callback routines */
- ipcp_resetci, /* Reset our Configuration Information */
- ipcp_cilen, /* Length of our Configuration Information */
- ipcp_addci, /* Add our Configuration Information */
- ipcp_ackci, /* ACK our Configuration Information */
- ipcp_nakci, /* NAK our Configuration Information */
- ipcp_rejci, /* Reject our Configuration Information */
- ipcp_reqci, /* Request peer's Configuration Information */
- ipcp_up, /* Called when fsm reaches OPENED state */
- ipcp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPCP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setvjslots __P((char **));
-static int setdnsaddr __P((char **));
-static int setwinsaddr __P((char **));
-static int setnetmask __P((char **));
-static int setipaddr __P((char *, char **, int));
-static void printipaddr __P((option_t *, void (*)(void *, char *,...),void *));
-
-static option_t ipcp_option_list[] = {
- { "noip", o_bool, &ipcp_protent.enabled_flag,
- "Disable IP and IPCP" },
- { "-ip", o_bool, &ipcp_protent.enabled_flag,
- "Disable IP and IPCP", OPT_ALIAS },
-
- { "novj", o_bool, &ipcp_wantoptions[0].neg_vj,
- "Disable VJ compression", OPT_A2CLR, &ipcp_allowoptions[0].neg_vj },
- { "-vj", o_bool, &ipcp_wantoptions[0].neg_vj,
- "Disable VJ compression", OPT_ALIAS | OPT_A2CLR,
- &ipcp_allowoptions[0].neg_vj },
-
- { "novjccomp", o_bool, &ipcp_wantoptions[0].cflag,
- "Disable VJ connection-ID compression", OPT_A2CLR,
- &ipcp_allowoptions[0].cflag },
- { "-vjccomp", o_bool, &ipcp_wantoptions[0].cflag,
- "Disable VJ connection-ID compression", OPT_ALIAS | OPT_A2CLR,
- &ipcp_allowoptions[0].cflag },
-
- { "vj-max-slots", o_special, (void *)setvjslots,
- "Set maximum VJ header slots",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, vj_value },
-
- { "ipcp-accept-local", o_bool, &ipcp_wantoptions[0].accept_local,
- "Accept peer's address for us", 1 },
- { "ipcp-accept-remote", o_bool, &ipcp_wantoptions[0].accept_remote,
- "Accept peer's address for it", 1 },
-
- { "ipparam", o_string, &ipparam,
- "Set ip script parameter", OPT_PRIO },
-
- { "noipdefault", o_bool, &disable_defaultip,
- "Don't use name for default IP adrs", 1 },
-
- { "ms-dns", 1, (void *)setdnsaddr,
- "DNS address for the peer's use" },
- { "ms-wins", 1, (void *)setwinsaddr,
- "Nameserver for SMB over TCP/IP for peer" },
-
- { "ipcp-restart", o_int, &ipcp_fsm[0].timeouttime,
- "Set timeout for IPCP", OPT_PRIO },
- { "ipcp-max-terminate", o_int, &ipcp_fsm[0].maxtermtransmits,
- "Set max #xmits for term-reqs", OPT_PRIO },
- { "ipcp-max-configure", o_int, &ipcp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for conf-reqs", OPT_PRIO },
- { "ipcp-max-failure", o_int, &ipcp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPCP", OPT_PRIO },
-
- { "defaultroute", o_bool, &ipcp_wantoptions[0].default_route,
- "Add default route", OPT_ENABLE|1, &ipcp_allowoptions[0].default_route },
- { "nodefaultroute", o_bool, &ipcp_allowoptions[0].default_route,
- "disable defaultroute option", OPT_A2CLR,
- &ipcp_wantoptions[0].default_route },
- { "-defaultroute", o_bool, &ipcp_allowoptions[0].default_route,
- "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
- &ipcp_wantoptions[0].default_route },
-
- { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
- "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
- { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
- "disable proxyarp option", OPT_A2CLR,
- &ipcp_wantoptions[0].proxy_arp },
- { "-proxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
- "disable proxyarp option", OPT_ALIAS | OPT_A2CLR,
- &ipcp_wantoptions[0].proxy_arp },
-
- { "usepeerdns", o_bool, &usepeerdns,
- "Ask peer for DNS address(es)", 1 },
-
- { "netmask", o_special, (void *)setnetmask,
- "set netmask", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, netmask_str },
-
- { "IP addresses", o_wild, (void *) &setipaddr,
- "set local and remote IP addresses",
- OPT_NOARG | OPT_A2PRINTER, (void *) &printipaddr },
-
- { NULL }
-};
-
-/*
- * Protocol entry points from main code.
- */
-static void ipcp_init __P((int));
-static void ipcp_open __P((int));
-static void ipcp_close __P((int, char *));
-static void ipcp_lowerup __P((int));
-static void ipcp_lowerdown __P((int));
-static void ipcp_input __P((int, u_char *, int));
-static void ipcp_protrej __P((int));
-static int ipcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-static void ip_check_options __P((void));
-static int ip_demand_conf __P((int));
-static int ip_active_pkt __P((u_char *, int));
-static void create_resolv __P((u_int32_t, u_int32_t));
-
-struct protent ipcp_protent = {
- PPP_IPCP,
- ipcp_init,
- ipcp_input,
- ipcp_protrej,
- ipcp_lowerup,
- ipcp_lowerdown,
- ipcp_open,
- ipcp_close,
- ipcp_printpkt,
- NULL,
- 1,
- "IPCP",
- "IP",
- ipcp_option_list,
- ip_check_options,
- ip_demand_conf,
- ip_active_pkt
-};
-
-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
-static void ipcp_script __P((char *)); /* Run an up/down script */
-static void ipcp_script_done __P((void *));
-
-/*
- * Lengths of configuration options.
- */
-#define CILEN_VOID 2
-#define CILEN_COMPRESS 4 /* min length for compression protocol opt. */
-#define CILEN_VJ 6 /* length for RFC1332 Van-Jacobson opt. */
-#define CILEN_ADDR 6 /* new-style single address option */
-#define CILEN_ADDRS 10 /* old-style dual address option */
-
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * This state variable is used to ensure that we don't
- * run an ipcp-up/down script while one is already running.
- */
-static enum script_state {
- s_down,
- s_up,
-} ipcp_script_state;
-static pid_t ipcp_script_pid;
-
-/*
- * Make a string representation of a network IP address.
- */
-char *
-ip_ntoa(ipaddr)
-u_int32_t ipaddr;
-{
- static char b[64];
-
- slprintf(b, sizeof(b), "%I", ipaddr);
- return b;
-}
-
-/*
- * Option parsing.
- */
-
-/*
- * setvjslots - set maximum number of connection slots for VJ compression
- */
-static int
-setvjslots(argv)
- char **argv;
-{
- int value;
-
- if (!int_option(*argv, &value))
- return 0;
- if (value < 2 || value > 16) {
- option_error("vj-max-slots value must be between 2 and 16");
- return 0;
- }
- ipcp_wantoptions [0].maxslotindex =
- ipcp_allowoptions[0].maxslotindex = value - 1;
- slprintf(vj_value, sizeof(vj_value), "%d", value);
- return 1;
-}
-
-/*
- * setdnsaddr - set the dns address(es)
- */
-static int
-setdnsaddr(argv)
- char **argv;
-{
- u_int32_t dns;
- struct hostent *hp;
-
- dns = inet_addr(*argv);
- if (dns == (u_int32_t) -1) {
- if ((hp = gethostbyname(*argv)) == NULL) {
- option_error("invalid address parameter '%s' for ms-dns option",
- *argv);
- return 0;
- }
- dns = *(u_int32_t *)hp->h_addr;
- }
-
- /* We take the last 2 values given, the 2nd-last as the primary
- and the last as the secondary. If only one is given it
- becomes both primary and secondary. */
- if (ipcp_allowoptions[0].dnsaddr[1] == 0)
- ipcp_allowoptions[0].dnsaddr[0] = dns;
- else
- ipcp_allowoptions[0].dnsaddr[0] = ipcp_allowoptions[0].dnsaddr[1];
-
- /* always set the secondary address value. */
- ipcp_allowoptions[0].dnsaddr[1] = dns;
-
- return (1);
-}
-
-/*
- * setwinsaddr - set the wins address(es)
- * This is primrarly used with the Samba package under UNIX or for pointing
- * the caller to the existing WINS server on a Windows NT platform.
- */
-static int
-setwinsaddr(argv)
- char **argv;
-{
- u_int32_t wins;
- struct hostent *hp;
-
- wins = inet_addr(*argv);
- if (wins == (u_int32_t) -1) {
- if ((hp = gethostbyname(*argv)) == NULL) {
- option_error("invalid address parameter '%s' for ms-wins option",
- *argv);
- return 0;
- }
- wins = *(u_int32_t *)hp->h_addr;
- }
-
- /* We take the last 2 values given, the 2nd-last as the primary
- and the last as the secondary. If only one is given it
- becomes both primary and secondary. */
- if (ipcp_allowoptions[0].winsaddr[1] == 0)
- ipcp_allowoptions[0].winsaddr[0] = wins;
- else
- ipcp_allowoptions[0].winsaddr[0] = ipcp_allowoptions[0].winsaddr[1];
-
- /* always set the secondary address value. */
- ipcp_allowoptions[0].winsaddr[1] = wins;
-
- return (1);
-}
-
-/*
- * setipaddr - Set the IP address
- * If doit is 0, the call is to check whether this option is
- * potentially an IP address specification.
- */
-static int
-setipaddr(arg, argv, doit)
- char *arg;
- char **argv;
- int doit;
-{
- struct hostent *hp;
- char *colon;
- u_int32_t local, remote;
- ipcp_options *wo = &ipcp_wantoptions[0];
- static int prio_local = 0, prio_remote = 0;
-
- /*
- * IP address pair separated by ":".
- */
- if ((colon = strchr(arg, ':')) == NULL)
- return 0;
- if (!doit)
- return 1;
-
- /*
- * If colon first character, then no local addr.
- */
- if (colon != arg && option_priority >= prio_local) {
- *colon = '\0';
- if ((local = inet_addr(arg)) == (u_int32_t) -1) {
- if ((hp = gethostbyname(arg)) == NULL) {
- option_error("unknown host: %s", arg);
- return 0;
- }
- local = *(u_int32_t *)hp->h_addr;
- }
- if (bad_ip_adrs(local)) {
- option_error("bad local IP address %s", ip_ntoa(local));
- return 0;
- }
- if (local != 0)
- wo->ouraddr = local;
- *colon = ':';
- prio_local = option_priority;
- }
-
- /*
- * If colon last character, then no remote addr.
- */
- if (*++colon != '\0' && option_priority >= prio_remote) {
- if ((remote = inet_addr(colon)) == (u_int32_t) -1) {
- if ((hp = gethostbyname(colon)) == NULL) {
- option_error("unknown host: %s", colon);
- return 0;
- }
- remote = *(u_int32_t *)hp->h_addr;
- if (remote_name[0] == 0)
- strlcpy(remote_name, colon, sizeof(remote_name));
- }
- if (bad_ip_adrs(remote)) {
- option_error("bad remote IP address %s", ip_ntoa(remote));
- return 0;
- }
- if (remote != 0)
- wo->hisaddr = remote;
- prio_remote = option_priority;
- }
-
- return 1;
-}
-
-static void
-printipaddr(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- ipcp_options *wo = &ipcp_wantoptions[0];
-
- if (wo->ouraddr != 0)
- printer(arg, "%I", wo->ouraddr);
- printer(arg, ":");
- if (wo->hisaddr != 0)
- printer(arg, "%I", wo->hisaddr);
-}
-
-/*
- * setnetmask - set the netmask to be used on the interface.
- */
-static int
-setnetmask(argv)
- char **argv;
-{
- u_int32_t mask;
- int n;
- char *p;
-
- /*
- * Unfortunately, if we use inet_addr, we can't tell whether
- * a result of all 1s is an error or a valid 255.255.255.255.
- */
- p = *argv;
- n = parse_dotted_ip(p, &mask);
-
- mask = htonl(mask);
-
- if (n == 0 || p[n] != 0 || (netmask & ~mask) != 0) {
- option_error("invalid netmask value '%s'", *argv);
- return 0;
- }
-
- netmask = mask;
- slprintf(netmask_str, sizeof(netmask_str), "%I", mask);
-
- return (1);
-}
-
-int
-parse_dotted_ip(p, vp)
- char *p;
- u_int32_t *vp;
-{
- int n;
- u_int32_t v, b;
- char *endp, *p0 = p;
-
- v = 0;
- for (n = 3;; --n) {
- b = strtoul(p, &endp, 0);
- if (endp == p)
- return 0;
- if (b > 255) {
- if (n < 3)
- return 0;
- /* accept e.g. 0xffffff00 */
- *vp = b;
- return endp - p0;
- }
- v |= b << (n * 8);
- p = endp;
- if (n == 0)
- break;
- if (*p != '.')
- return 0;
- ++p;
- }
- *vp = v;
- return p - p0;
-}
-
-
-/*
- * ipcp_init - Initialize IPCP.
- */
-static void
-ipcp_init(unit)
- int unit;
-{
- fsm *f = &ipcp_fsm[unit];
- ipcp_options *wo = &ipcp_wantoptions[unit];
- ipcp_options *ao = &ipcp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPCP;
- f->callbacks = &ipcp_callbacks;
- fsm_init(&ipcp_fsm[unit]);
-
- memset(wo, 0, sizeof(*wo));
- memset(ao, 0, sizeof(*ao));
-
- wo->neg_addr = 1;
- wo->neg_vj = 1;
- wo->vj_protocol = IPCP_VJ_COMP;
- wo->maxslotindex = MAX_STATES - 1; /* really max index */
- wo->cflag = 1;
-
-
- /* max slots and slot-id compression are currently hardwired in */
- /* ppp_if.c to 16 and 1, this needs to be changed (among other */
- /* things) gmc */
-
- ao->neg_addr = 1;
- ao->neg_vj = 1;
- ao->maxslotindex = MAX_STATES - 1;
- ao->cflag = 1;
-
- /*
- * XXX These control whether the user may use the proxyarp
- * and defaultroute options.
- */
- ao->proxy_arp = 1;
- ao->default_route = 1;
-}
-
-
-/*
- * ipcp_open - IPCP is allowed to come up.
- */
-static void
-ipcp_open(unit)
- int unit;
-{
- fsm_open(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_close - Take IPCP down.
- */
-static void
-ipcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipcp_fsm[unit], reason);
-}
-
-
-/*
- * ipcp_lowerup - The lower layer is up.
- */
-static void
-ipcp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_lowerdown - The lower layer is down.
- */
-static void
-ipcp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_input - Input IPCP packet.
- */
-static void
-ipcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipcp_fsm[unit], p, len);
-}
-
-
-/*
- * ipcp_protrej - A Protocol-Reject was received for IPCP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipcp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipcp_fsm[unit]);
-}
-
-
-/*
- * ipcp_resetci - Reset our CI.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static void
-ipcp_resetci(f)
- fsm *f;
-{
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
-
- wo->req_addr = wo->neg_addr && ipcp_allowoptions[f->unit].neg_addr;
- if (wo->ouraddr == 0)
- wo->accept_local = 1;
- if (wo->hisaddr == 0)
- wo->accept_remote = 1;
- wo->req_dns1 = usepeerdns; /* Request DNS addresses from the peer */
- wo->req_dns2 = usepeerdns;
- *go = *wo;
- if (!ask_for_local)
- go->ouraddr = 0;
- if (ip_choose_hook)
- ip_choose_hook(&wo->hisaddr);
-}
-
-
-/*
- * ipcp_cilen - Return length of our CI.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static int
-ipcp_cilen(f)
- fsm *f;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
-
-#define LENCIVJ(neg, old) (neg ? (old? CILEN_COMPRESS : CILEN_VJ) : 0)
-#define LENCIADDR(neg, old) (neg ? (old? CILEN_ADDRS : CILEN_ADDR) : 0)
-#define LENCIDNS(neg) (neg ? (CILEN_ADDR) : 0)
-
- /*
- * First see if we want to change our options to the old
- * forms because we have received old forms from the peer.
- */
- if (wo->neg_addr && !go->neg_addr && !go->old_addrs) {
- /* use the old style of address negotiation */
- go->neg_addr = 1;
- go->old_addrs = 1;
- }
- if (wo->neg_vj && !go->neg_vj && !go->old_vj) {
- /* try an older style of VJ negotiation */
- /* use the old style only if the peer did */
- if (ho->neg_vj && ho->old_vj) {
- go->neg_vj = 1;
- go->old_vj = 1;
- go->vj_protocol = ho->vj_protocol;
- }
- }
-
- return (LENCIADDR(go->neg_addr, go->old_addrs) +
- LENCIVJ(go->neg_vj, go->old_vj) +
- LENCIDNS(go->req_dns1) +
- LENCIDNS(go->req_dns2)) ;
-}
-
-
-/*
- * ipcp_addci - Add our desired CIs to a packet.
- * Called by fsm_sconfreq, Send Configure Request.
- */
-static void
-ipcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- int len = *lenp;
-
-#define ADDCIVJ(opt, neg, val, old, maxslotindex, cflag) \
- if (neg) { \
- int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
- if (len >= vjlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(vjlen, ucp); \
- PUTSHORT(val, ucp); \
- if (!old) { \
- PUTCHAR(maxslotindex, ucp); \
- PUTCHAR(cflag, ucp); \
- } \
- len -= vjlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIADDR(opt, neg, old, val1, val2) \
- if (neg) { \
- int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
- if (len >= addrlen) { \
- u_int32_t l; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(addrlen, ucp); \
- l = ntohl(val1); \
- PUTLONG(l, ucp); \
- if (old) { \
- l = ntohl(val2); \
- PUTLONG(l, ucp); \
- } \
- len -= addrlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIDNS(opt, neg, addr) \
- if (neg) { \
- if (len >= CILEN_ADDR) { \
- u_int32_t l; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_ADDR, ucp); \
- l = ntohl(addr); \
- PUTLONG(l, ucp); \
- len -= CILEN_ADDR; \
- } else \
- neg = 0; \
- }
-
- ADDCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- ADDCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
-
- ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
-
- *lenp -= len;
-}
-
-
-/*
- * ipcp_ackci - Ack our CIs.
- * Called by fsm_rconfack, Receive Configure ACK.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_short cilen, citype, cishort;
- u_int32_t cilong;
- u_char cimaxslotindex, cicflag;
-
- /*
- * CIs must be in exactly the same order that we sent...
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-
-#define ACKCIVJ(opt, neg, val, old, maxslotindex, cflag) \
- if (neg) { \
- int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
- if ((len -= vjlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != vjlen || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- if (!old) { \
- GETCHAR(cimaxslotindex, p); \
- if (cimaxslotindex != maxslotindex) \
- goto bad; \
- GETCHAR(cicflag, p); \
- if (cicflag != cflag) \
- goto bad; \
- } \
- }
-
-#define ACKCIADDR(opt, neg, old, val1, val2) \
- if (neg) { \
- int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
- u_int32_t l; \
- if ((len -= addrlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != addrlen || \
- citype != opt) \
- goto bad; \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (val1 != cilong) \
- goto bad; \
- if (old) { \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (val2 != cilong) \
- goto bad; \
- } \
- }
-
-#define ACKCIDNS(opt, neg, addr) \
- if (neg) { \
- u_int32_t l; \
- if ((len -= CILEN_ADDR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_ADDR || citype != opt) \
- goto bad; \
- GETLONG(l, p); \
- cilong = htonl(l); \
- if (addr != cilong) \
- goto bad; \
- }
-
- ACKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- ACKCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
-
- ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-
-bad:
- IPCPDEBUG(("ipcp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPCP is in the OPENED state.
- * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-ipcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char cimaxslotindex, cicflag;
- u_char citype, cilen, *next;
- u_short cishort;
- u_int32_t ciaddr1, ciaddr2, l, cidnsaddr;
- ipcp_options no; /* options we've seen Naks for */
- ipcp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIADDR(opt, neg, old, code) \
- if (go->neg && \
- len >= (cilen = (old? CILEN_ADDRS: CILEN_ADDR)) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- ciaddr1 = htonl(l); \
- if (old) { \
- GETLONG(l, p); \
- ciaddr2 = htonl(l); \
- no.old_addrs = 1; \
- } else \
- ciaddr2 = 0; \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIVJ(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_COMPRESS || cilen == CILEN_VJ) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIDNS(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_ADDR) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cidnsaddr = htonl(l); \
- no.neg = 1; \
- code \
- }
-
- /*
- * Accept the peer's idea of {our,his} address, if different
- * from our idea, only if the accept_{local,remote} flag is set.
- */
- NAKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr, go->old_addrs,
- if (go->accept_local && ciaddr1) { /* Do we know our address? */
- try.ouraddr = ciaddr1;
- }
- if (go->accept_remote && ciaddr2) { /* Does he know his? */
- try.hisaddr = ciaddr2;
- }
- );
-
- /*
- * Accept the peer's value of maxslotindex provided that it
- * is less than what we asked for. Turn off slot-ID compression
- * if the peer wants. Send old-style compress-type option if
- * the peer wants.
- */
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- if (cilen == CILEN_VJ) {
- GETCHAR(cimaxslotindex, p);
- GETCHAR(cicflag, p);
- if (cishort == IPCP_VJ_COMP) {
- try.old_vj = 0;
- if (cimaxslotindex < go->maxslotindex)
- try.maxslotindex = cimaxslotindex;
- if (!cicflag)
- try.cflag = 0;
- } else {
- try.neg_vj = 0;
- }
- } else {
- if (cishort == IPCP_VJ_COMP || cishort == IPCP_VJ_COMP_OLD) {
- try.old_vj = 1;
- try.vj_protocol = cishort;
- } else {
- try.neg_vj = 0;
- }
- }
- );
-
- NAKCIDNS(CI_MS_DNS1, req_dns1,
- try.dnsaddr[0] = cidnsaddr;
- );
-
- NAKCIDNS(CI_MS_DNS2, req_dns2,
- try.dnsaddr[1] = cidnsaddr;
- );
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If they want to negotiate about IP addresses, we comply.
- * If they want us to ask for compression, we refuse.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if( (len -= cilen) < 0 )
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_COMPRESSTYPE:
- if (go->neg_vj || no.neg_vj ||
- (cilen != CILEN_VJ && cilen != CILEN_COMPRESS))
- goto bad;
- no.neg_vj = 1;
- break;
- case CI_ADDRS:
- if ((go->neg_addr && go->old_addrs) || no.old_addrs
- || cilen != CILEN_ADDRS)
- goto bad;
- try.neg_addr = 1;
- try.old_addrs = 1;
- GETLONG(l, p);
- ciaddr1 = htonl(l);
- if (ciaddr1 && go->accept_local)
- try.ouraddr = ciaddr1;
- GETLONG(l, p);
- ciaddr2 = htonl(l);
- if (ciaddr2 && go->accept_remote)
- try.hisaddr = ciaddr2;
- no.old_addrs = 1;
- break;
- case CI_ADDR:
- if (go->neg_addr || no.neg_addr || cilen != CILEN_ADDR)
- goto bad;
- try.old_addrs = 0;
- GETLONG(l, p);
- ciaddr1 = htonl(l);
- if (ciaddr1 && go->accept_local)
- try.ouraddr = ciaddr1;
- if (try.ouraddr != 0)
- try.neg_addr = 1;
- no.neg_addr = 1;
- break;
- }
- p = next;
- }
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any remaining options, we ignore them.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPCPDEBUG(("ipcp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * ipcp_rejci - Reject some of our CIs.
- * Callback from fsm_rconfnakrej.
- */
-static int
-ipcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char cimaxslotindex, ciflag, cilen;
- u_short cishort;
- u_int32_t cilong;
- ipcp_options try; /* options to request next time */
-
- try = *go;
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIADDR(opt, neg, old, val1, val2) \
- if (go->neg && \
- len >= (cilen = old? CILEN_ADDRS: CILEN_ADDR) && \
- p[1] == cilen && \
- p[0] == opt) { \
- u_int32_t l; \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != val1) \
- goto bad; \
- if (old) { \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != val2) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
-#define REJCIVJ(opt, neg, val, old, maxslot, cflag) \
- if (go->neg && \
- p[1] == (old? CILEN_COMPRESS : CILEN_VJ) && \
- len >= p[1] && \
- p[0] == opt) { \
- len -= p[1]; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- if (!old) { \
- GETCHAR(cimaxslotindex, p); \
- if (cimaxslotindex != maxslot) \
- goto bad; \
- GETCHAR(ciflag, p); \
- if (ciflag != cflag) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
-#define REJCIDNS(opt, neg, dnsaddr) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_ADDR) && \
- len >= cilen && \
- p[0] == opt) { \
- u_int32_t l; \
- len -= cilen; \
- INCPTR(2, p); \
- GETLONG(l, p); \
- cilong = htonl(l); \
- /* Check rejected value. */ \
- if (cilong != dnsaddr) \
- goto bad; \
- try.neg = 0; \
- }
-
-
- REJCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr,
- go->old_addrs, go->ouraddr, go->hisaddr);
-
- REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol, go->old_vj,
- go->maxslotindex, go->cflag);
-
- REJCIDNS(CI_MS_DNS1, req_dns1, go->dnsaddr[0]);
-
- REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- IPCPDEBUG(("ipcp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * ipcp_reqci - Check the peer's requested CIs and send appropriate response.
- * Callback from fsm_rconfreq, Receive Configure Request
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipcp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
- ipcp_options *ao = &ipcp_allowoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- u_int32_t tl, ciaddr1, ciaddr2;/* Parsed address values */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
- u_char maxslotindex, cflag;
- int d;
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPCPDEBUG(("ipcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_ADDRS:
- if (!ao->neg_addr ||
- cilen != CILEN_ADDRS) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no address, or if we both have his address but
- * disagree about it, then NAK it with our idea.
- * In particular, if we don't know his address, but he does,
- * then accept it.
- */
- GETLONG(tl, p); /* Parse source address (his) */
- ciaddr1 = htonl(tl);
- if (ciaddr1 != wo->hisaddr
- && (ciaddr1 == 0 || !wo->accept_remote)) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, p);
- }
- } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
- /*
- * If neither we nor he knows his address, reject the option.
- */
- orc = CONFREJ;
- wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
- break;
- }
-
- /*
- * If he doesn't know our address, or if we both have our address
- * but disagree about it, then NAK it with our idea.
- */
- GETLONG(tl, p); /* Parse desination address (ours) */
- ciaddr2 = htonl(tl);
- if (ciaddr2 != wo->ouraddr) {
- if (ciaddr2 == 0 || !wo->accept_local) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->ouraddr);
- PUTLONG(tl, p);
- }
- } else {
- go->ouraddr = ciaddr2; /* accept peer's idea */
- }
- }
-
- ho->neg_addr = 1;
- ho->old_addrs = 1;
- ho->hisaddr = ciaddr1;
- ho->ouraddr = ciaddr2;
- break;
-
- case CI_ADDR:
- if (!ao->neg_addr ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no address, or if we both have his address but
- * disagree about it, then NAK it with our idea.
- * In particular, if we don't know his address, but he does,
- * then accept it.
- */
- GETLONG(tl, p); /* Parse source address (his) */
- ciaddr1 = htonl(tl);
- if (ciaddr1 != wo->hisaddr
- && (ciaddr1 == 0 || !wo->accept_remote)) {
- orc = CONFNAK;
- if (!reject_if_disagree) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, p);
- }
- } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
- /*
- * Don't ACK an address of 0.0.0.0 - reject it instead.
- */
- orc = CONFREJ;
- wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
- break;
- }
-
- ho->neg_addr = 1;
- ho->hisaddr = ciaddr1;
- break;
-
- case CI_MS_DNS1:
- case CI_MS_DNS2:
- /* Microsoft primary or secondary DNS request */
- d = citype == CI_MS_DNS2;
-
- /* If we do not have a DNS address then we cannot send it */
- if (ao->dnsaddr[d] == 0 ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETLONG(tl, p);
- if (htonl(tl) != ao->dnsaddr[d]) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(ao->dnsaddr[d]);
- PUTLONG(tl, p);
- orc = CONFNAK;
- }
- break;
-
- case CI_MS_WINS1:
- case CI_MS_WINS2:
- /* Microsoft primary or secondary WINS request */
- d = citype == CI_MS_WINS2;
-
- /* If we do not have a DNS address then we cannot send it */
- if (ao->winsaddr[d] == 0 ||
- cilen != CILEN_ADDR) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETLONG(tl, p);
- if (htonl(tl) != ao->winsaddr[d]) {
- DECPTR(sizeof(u_int32_t), p);
- tl = ntohl(ao->winsaddr[d]);
- PUTLONG(tl, p);
- orc = CONFNAK;
- }
- break;
-
- case CI_COMPRESSTYPE:
- if (!ao->neg_vj ||
- (cilen != CILEN_VJ && cilen != CILEN_COMPRESS)) {
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
-
- if (!(cishort == IPCP_VJ_COMP ||
- (cishort == IPCP_VJ_COMP_OLD && cilen == CILEN_COMPRESS))) {
- orc = CONFREJ;
- break;
- }
-
- ho->neg_vj = 1;
- ho->vj_protocol = cishort;
- if (cilen == CILEN_VJ) {
- GETCHAR(maxslotindex, p);
- if (maxslotindex > ao->maxslotindex) {
- orc = CONFNAK;
- if (!reject_if_disagree){
- DECPTR(1, p);
- PUTCHAR(ao->maxslotindex, p);
- }
- }
- GETCHAR(cflag, p);
- if (cflag && !ao->cflag) {
- orc = CONFNAK;
- if (!reject_if_disagree){
- DECPTR(1, p);
- PUTCHAR(wo->cflag, p);
- }
- }
- ho->maxslotindex = maxslotindex;
- ho->cflag = cflag;
- } else {
- ho->old_vj = 1;
- ho->maxslotindex = MAX_STATES - 1;
- ho->cflag = 1;
- }
- break;
-
- default:
- orc = CONFREJ;
- break;
- }
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their address, and they didn't send their address, then we
- * send a NAK with a CI_ADDR option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
- if (rc != CONFREJ && !ho->neg_addr &&
- wo->req_addr && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- ucp = inp; /* reset pointer */
- wo->req_addr = 0; /* don't ask again */
- }
- PUTCHAR(CI_ADDR, ucp);
- PUTCHAR(CILEN_ADDR, ucp);
- tl = ntohl(wo->hisaddr);
- PUTLONG(tl, ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPCPDEBUG(("ipcp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * ip_check_options - check that any IP-related options are OK,
- * and assign appropriate defaults.
- */
-static void
-ip_check_options()
-{
- struct hostent *hp;
- u_int32_t local;
- ipcp_options *wo = &ipcp_wantoptions[0];
-
- /*
- * Default our local IP address based on our hostname.
- * If local IP address already given, don't bother.
- */
- if (wo->ouraddr == 0 && !disable_defaultip) {
- /*
- * Look up our hostname (possibly with domain name appended)
- * and take the first IP address as our local IP address.
- * If there isn't an IP address for our hostname, too bad.
- */
- wo->accept_local = 1; /* don't insist on this default value */
- if ((hp = gethostbyname(hostname)) != NULL) {
- local = *(u_int32_t *)hp->h_addr;
- if (local != 0 && !bad_ip_adrs(local))
- wo->ouraddr = local;
- }
- }
- ask_for_local = wo->ouraddr != 0 || !disable_defaultip;
-}
-
-
-/*
- * ip_demand_conf - configure the interface as though
- * IPCP were up, for use with dial-on-demand.
- */
-static int
-ip_demand_conf(u)
- int u;
-{
- ipcp_options *wo = &ipcp_wantoptions[u];
-
- if (wo->hisaddr == 0) {
- /* make up an arbitrary address for the peer */
- wo->hisaddr = htonl(0x0a707070 + ifunit);
- wo->accept_remote = 1;
- }
- if (wo->ouraddr == 0) {
- /* make up an arbitrary address for us */
- wo->ouraddr = htonl(0x0a404040 + ifunit);
- wo->accept_local = 1;
- ask_for_local = 0; /* don't tell the peer this address */
- }
- if (!sifaddr(u, wo->ouraddr, wo->hisaddr, GetMask(wo->ouraddr)))
- return 0;
- if (!sifup(u))
- return 0;
- if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
- return 0;
- if (wo->default_route)
- if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
- default_route_set[u] = 1;
- if (wo->proxy_arp)
- if (sifproxyarp(u, wo->hisaddr))
- proxy_arp_set[u] = 1;
-
- notice("local IP address %I", wo->ouraddr);
- notice("remote IP address %I", wo->hisaddr);
-
- return 1;
-}
-
-
-/*
- * ipcp_up - IPCP has come UP.
- *
- * Configure the IP network interface appropriately and bring it up.
- */
-static void
-ipcp_up(f)
- fsm *f;
-{
- u_int32_t mask;
- ipcp_options *ho = &ipcp_hisoptions[f->unit];
- ipcp_options *go = &ipcp_gotoptions[f->unit];
- ipcp_options *wo = &ipcp_wantoptions[f->unit];
-
- IPCPDEBUG(("ipcp: up"));
-
- /*
- * We must have a non-zero IP address for both ends of the link.
- */
- if (!ho->neg_addr)
- ho->hisaddr = wo->hisaddr;
-
- if (go->ouraddr == 0) {
- error("Could not determine local IP address");
- ipcp_close(f->unit, "Could not determine local IP address");
- return;
- }
- if (ho->hisaddr == 0) {
- ho->hisaddr = htonl(0x0a404040 + ifunit);
- warn("Could not determine remote IP address: defaulting to %I",
- ho->hisaddr);
- }
- script_setenv("IPLOCAL", ip_ntoa(go->ouraddr), 0);
- script_setenv("IPREMOTE", ip_ntoa(ho->hisaddr), 1);
-
- if (usepeerdns && (go->dnsaddr[0] || go->dnsaddr[1])) {
- script_setenv("USEPEERDNS", "1", 0);
- if (go->dnsaddr[0])
- script_setenv("DNS1", ip_ntoa(go->dnsaddr[0]), 0);
- if (go->dnsaddr[1])
- script_setenv("DNS2", ip_ntoa(go->dnsaddr[1]), 0);
- create_resolv(go->dnsaddr[0], go->dnsaddr[1]);
- }
-
- /*
- * Check that the peer is allowed to use the IP address it wants.
- */
- if (!auth_ip_addr(f->unit, ho->hisaddr)) {
- error("Peer is not authorized to use remote address %I", ho->hisaddr);
- ipcp_close(f->unit, "Unauthorized remote IP address");
- return;
- }
-
- /* set tcp compression */
- sifvjcomp(f->unit, ho->neg_vj, ho->cflag, ho->maxslotindex);
-
- /*
- * If we are doing dial-on-demand, the interface is already
- * configured, so we put out any saved-up packets, then set the
- * interface to pass IP packets.
- */
- if (demand) {
- if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
- if (go->ouraddr != wo->ouraddr) {
- warn("Local IP address changed to %I", go->ouraddr);
- script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
- wo->ouraddr = go->ouraddr;
- } else
- script_unsetenv("OLDIPLOCAL");
- if (ho->hisaddr != wo->hisaddr) {
- warn("Remote IP address changed to %I", ho->hisaddr);
- script_setenv("OLDIPREMOTE", ip_ntoa(wo->hisaddr), 0);
- wo->hisaddr = ho->hisaddr;
- } else
- script_unsetenv("OLDIPREMOTE");
-
- /* Set the interface to the new addresses */
- mask = GetMask(go->ouraddr);
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-
- /* assign a default route through the interface if required */
- if (ipcp_wantoptions[f->unit].default_route)
- if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
- default_route_set[f->unit] = 1;
-
- /* Make a proxy ARP entry if requested. */
- if (ipcp_wantoptions[f->unit].proxy_arp)
- if (sifproxyarp(f->unit, ho->hisaddr))
- proxy_arp_set[f->unit] = 1;
-
- }
- demand_rexmit(PPP_IP);
- sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
-
- } else {
- /*
- * Set IP addresses and (if specified) netmask.
- */
- mask = GetMask(go->ouraddr);
-
-#if !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
-
- /* bring the interface up for IP */
- if (!sifup(f->unit)) {
- if (debug)
- warn("Interface failed to come up");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-
-#if (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
- if (debug)
- warn("Interface configuration failed");
- ipcp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
- sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
-
- /* assign a default route through the interface if required */
- if (ipcp_wantoptions[f->unit].default_route)
- if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
- default_route_set[f->unit] = 1;
-
- /* Make a proxy ARP entry if requested. */
- if (ipcp_wantoptions[f->unit].proxy_arp)
- if (sifproxyarp(f->unit, ho->hisaddr))
- proxy_arp_set[f->unit] = 1;
-
- ipcp_wantoptions[0].ouraddr = go->ouraddr;
-
- notice("local IP address %I", go->ouraddr);
- notice("remote IP address %I", ho->hisaddr);
- if (go->dnsaddr[0])
- notice("primary DNS address %I", go->dnsaddr[0]);
- if (go->dnsaddr[1])
- notice("secondary DNS address %I", go->dnsaddr[1]);
- }
-
- np_up(f->unit, PPP_IP);
- ipcp_is_up = 1;
-
- if (ip_up_hook)
- ip_up_hook();
-
- /*
- * Execute the ip-up script, like this:
- * /etc/ppp/ip-up interface tty speed local-IP remote-IP
- */
- if (ipcp_script_state == s_down && ipcp_script_pid == 0) {
- ipcp_script_state = s_up;
- ipcp_script(_PATH_IPUP);
- }
-}
-
-
-/*
- * ipcp_down - IPCP has gone DOWN.
- *
- * Take the IP network interface down, clear its addresses
- * and delete routes through it.
- */
-static void
-ipcp_down(f)
- fsm *f;
-{
- IPCPDEBUG(("ipcp: down"));
- /* XXX a bit IPv4-centric here, we only need to get the stats
- * before the interface is marked down. */
- update_link_stats(f->unit);
- if (ip_down_hook)
- ip_down_hook();
- if (ipcp_is_up) {
- ipcp_is_up = 0;
- np_down(f->unit, PPP_IP);
- }
- sifvjcomp(f->unit, 0, 0, 0);
-
- /*
- * If we are doing dial-on-demand, set the interface
- * to queue up outgoing packets (for now).
- */
- if (demand) {
- sifnpmode(f->unit, PPP_IP, NPMODE_QUEUE);
- } else {
- sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
- sifdown(f->unit);
- ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
- ipcp_hisoptions[f->unit].hisaddr);
- }
-
- /* Execute the ip-down script */
- if (ipcp_script_state == s_up && ipcp_script_pid == 0) {
- ipcp_script_state = s_down;
- ipcp_script(_PATH_IPDOWN);
- }
-}
-
-
-/*
- * ipcp_clear_addrs() - clear the interface addresses, routes,
- * proxy arp entries, etc.
- */
-static void
-ipcp_clear_addrs(unit, ouraddr, hisaddr)
- int unit;
- u_int32_t ouraddr; /* local address */
- u_int32_t hisaddr; /* remote address */
-{
- if (proxy_arp_set[unit]) {
- cifproxyarp(unit, hisaddr);
- proxy_arp_set[unit] = 0;
- }
- if (default_route_set[unit]) {
- cifdefaultroute(unit, ouraddr, hisaddr);
- default_route_set[unit] = 0;
- }
- cifaddr(unit, ouraddr, hisaddr);
-}
-
-
-/*
- * ipcp_finished - possibly shut down the lower layers.
- */
-static void
-ipcp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IP);
-}
-
-
-/*
- * ipcp_script_done - called when the ip-up or ip-down script
- * has finished.
- */
-static void
-ipcp_script_done(arg)
- void *arg;
-{
- ipcp_script_pid = 0;
- switch (ipcp_script_state) {
- case s_up:
- if (ipcp_fsm[0].state != OPENED) {
- ipcp_script_state = s_down;
- ipcp_script(_PATH_IPDOWN);
- }
- break;
- case s_down:
- if (ipcp_fsm[0].state == OPENED) {
- ipcp_script_state = s_up;
- ipcp_script(_PATH_IPUP);
- }
- break;
- }
-}
-
-
-/*
- * ipcp_script - Execute a script with arguments
- * interface-name tty-name speed local-IP remote-IP.
- */
-static void
-ipcp_script(script)
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char *argv[8];
-
- slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
- slprintf(strlocal, sizeof(strlocal), "%I", ipcp_gotoptions[0].ouraddr);
- slprintf(strremote, sizeof(strremote), "%I", ipcp_hisoptions[0].hisaddr);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strlocal;
- argv[5] = strremote;
- argv[6] = ipparam;
- argv[7] = NULL;
- ipcp_script_pid = run_program(script, argv, 0, ipcp_script_done, NULL);
-}
-
-/*
- * create_resolv - create the replacement resolv.conf file
- */
-static void
-create_resolv(peerdns1, peerdns2)
- u_int32_t peerdns1, peerdns2;
-{
- FILE *f;
-
- f = fopen(_PATH_RESOLV, "w");
- if (f == NULL) {
- error("Failed to create %s: %m", _PATH_RESOLV);
- return;
- }
-
- if (peerdns1)
- fprintf(f, "nameserver %s\n", ip_ntoa(peerdns1));
-
- if (peerdns2)
- fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
-
- if (ferror(f))
- error("Write failed to %s: %m", _PATH_RESOLV);
-
- fclose(f);
-}
-
-/*
- * ipcp_printpkt - print the contents of an IPCP packet.
- */
-static char *ipcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipcp_codenames) / sizeof(char *))
- printer(arg, " %s", ipcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_ADDRS:
- if (olen == CILEN_ADDRS) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "addrs %I", htonl(cilong));
- GETLONG(cilong, p);
- printer(arg, " %I", htonl(cilong));
- }
- break;
- case CI_COMPRESSTYPE:
- if (olen >= CILEN_COMPRESS) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "compress ");
- switch (cishort) {
- case IPCP_VJ_COMP:
- printer(arg, "VJ");
- break;
- case IPCP_VJ_COMP_OLD:
- printer(arg, "old-VJ");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_ADDR:
- if (olen == CILEN_ADDR) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "addr %I", htonl(cilong));
- }
- break;
- case CI_MS_DNS1:
- case CI_MS_DNS2:
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "ms-dns%d %I", code - CI_MS_DNS1 + 1,
- htonl(cilong));
- break;
- case CI_MS_WINS1:
- case CI_MS_WINS2:
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "ms-wins %I", htonl(cilong));
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/*
- * ip_active_pkt - see if this IP packet is worth bringing the link up for.
- * We don't bring the link up for IP fragments or for TCP FIN packets
- * with no data.
- */
-#define IP_HDRLEN 20 /* bytes */
-#define IP_OFFMASK 0x1fff
-// #define IPPROTO_TCP 6
-#define TCP_HDRLEN 20
-#define TH_FIN 0x01
-
-/*
- * We use these macros because the IP header may be at an odd address,
- * and some compilers might use word loads to get th_off or ip_hl.
- */
-
-#define net_short(x) (((x)[0] << 8) + (x)[1])
-#define get_iphl(x) (((unsigned char *)(x))[0] & 0xF)
-#define get_ipoff(x) net_short((unsigned char *)(x) + 6)
-#define get_ipproto(x) (((unsigned char *)(x))[9])
-#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
-#define get_tcpflags(x) (((unsigned char *)(x))[13])
-
-static int
-ip_active_pkt(pkt, len)
- u_char *pkt;
- int len;
-{
- u_char *tcp;
- int hlen;
-
- len -= PPP_HDRLEN;
- pkt += PPP_HDRLEN;
- if (len < IP_HDRLEN)
- return 0;
- if ((get_ipoff(pkt) & IP_OFFMASK) != 0)
- return 0;
- if (get_ipproto(pkt) != IPPROTO_TCP)
- return 1;
- hlen = get_iphl(pkt) * 4;
- if (len < hlen + TCP_HDRLEN)
- return 0;
- tcp = pkt + hlen;
- if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == hlen + get_tcpoff(tcp) * 4)
- return 0;
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/ipcp.h b/mdk-stage1/ppp/pppd/ipcp.h
deleted file mode 100644
index 8c5aca861..000000000
--- a/mdk-stage1/ppp/pppd/ipcp.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * ipcp.h - IP Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_ADDRS 1 /* IP Addresses */
-#define CI_COMPRESSTYPE 2 /* Compression Type */
-#define CI_ADDR 3
-
-#define CI_MS_DNS1 129 /* Primary DNS value */
-#define CI_MS_WINS1 130 /* Primary WINS value */
-#define CI_MS_DNS2 131 /* Secondary DNS value */
-#define CI_MS_WINS2 132 /* Secondary WINS value */
-
-#define MAX_STATES 16 /* from slcompress.h */
-
-#define IPCP_VJMODE_OLD 1 /* "old" mode (option # = 0x0037) */
-#define IPCP_VJMODE_RFC1172 2 /* "old-rfc"mode (option # = 0x002d) */
-#define IPCP_VJMODE_RFC1332 3 /* "new-rfc"mode (option # = 0x002d, */
- /* maxslot and slot number compression) */
-
-#define IPCP_VJ_COMP 0x002d /* current value for VJ compression option*/
-#define IPCP_VJ_COMP_OLD 0x0037 /* "old" (i.e, broken) value for VJ */
- /* compression option*/
-
-typedef struct ipcp_options {
- bool neg_addr; /* Negotiate IP Address? */
- bool old_addrs; /* Use old (IP-Addresses) option? */
- bool req_addr; /* Ask peer to send IP address? */
- bool default_route; /* Assign default route through interface? */
- bool proxy_arp; /* Make proxy ARP entry for peer? */
- bool neg_vj; /* Van Jacobson Compression? */
- bool old_vj; /* use old (short) form of VJ option? */
- bool accept_local; /* accept peer's value for ouraddr */
- bool accept_remote; /* accept peer's value for hisaddr */
- bool req_dns1; /* Ask peer to send primary DNS address? */
- bool req_dns2; /* Ask peer to send secondary DNS address? */
- int vj_protocol; /* protocol value to use in VJ option */
- int maxslotindex; /* values for RFC1332 VJ compression neg. */
- bool cflag;
- u_int32_t ouraddr, hisaddr; /* Addresses in NETWORK BYTE ORDER */
- u_int32_t dnsaddr[2]; /* Primary and secondary MS DNS entries */
- u_int32_t winsaddr[2]; /* Primary and secondary MS WINS entries */
-} ipcp_options;
-
-extern fsm ipcp_fsm[];
-extern ipcp_options ipcp_wantoptions[];
-extern ipcp_options ipcp_gotoptions[];
-extern ipcp_options ipcp_allowoptions[];
-extern ipcp_options ipcp_hisoptions[];
-
-char *ip_ntoa __P((u_int32_t));
-
-extern struct protent ipcp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.c b/mdk-stage1/ppp/pppd/ipv6cp.c
deleted file mode 100644
index 54ff7d7d8..000000000
--- a/mdk-stage1/ppp/pppd/ipv6cp.c
+++ /dev/null
@@ -1,1512 +0,0 @@
-/*
- ipv6cp.c - PPP IPV6 Control Protocol.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms. The name of the author may not be
- used to endorse or promote products derived from this software
- without specific prior written permission.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-/* Original version, based on RFC2023 :
-
- Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Ce travail a été fait au sein du GIE DYADE (Groupement d'Intérêt
- Économique ayant pour membres BULL S.A. et l'INRIA).
-
- Ce logiciel informatique est disponible aux conditions
- usuelles dans la recherche, c'est-à-dire qu'il peut
- être utilisé, copié, modifié, distribué à l'unique
- condition que ce texte soit conservé afin que
- l'origine de ce logiciel soit reconnue.
-
- Le nom de l'Institut National de Recherche en Informatique
- et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
- ou physique ayant participé à l'élaboration de ce logiciel ne peut
- être utilisé sans son accord préalable explicite.
-
- Ce logiciel est fourni tel quel sans aucune garantie,
- support ou responsabilité d'aucune sorte.
- Ce logiciel est dérivé de sources d'origine
- "University of California at Berkeley" et
- "Digital Equipment Corporation" couvertes par des copyrights.
-
- L'Institut d'Informatique et de Mathématiques Appliquées de Grenoble (IMAG)
- est une fédération d'unités mixtes de recherche du CNRS, de l'Institut National
- Polytechnique de Grenoble et de l'Université Joseph Fourier regroupant
- sept laboratoires dont le laboratoire Logiciels, Systèmes, Réseaux (LSR).
-
- This work has been done in the context of GIE DYADE (joint R & D venture
- between BULL S.A. and INRIA).
-
- This software is available with usual "research" terms
- with the aim of retain credits of the software.
- Permission to use, copy, modify and distribute this software for any
- purpose and without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies,
- and the name of INRIA, IMAG, or any contributor not be used in advertising
- or publicity pertaining to this material without the prior explicit
- permission. The software is provided "as is" without any
- warranties, support or liabilities of any kind.
- This software is derived from source code from
- "University of California at Berkeley" and
- "Digital Equipment Corporation" protected by copyrights.
-
- Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
- is a federation of seven research units funded by the CNRS, National
- Polytechnic Institute of Grenoble and University Joseph Fourier.
- The research unit in Software, Systems, Networks (LSR) is member of IMAG.
-*/
-
-/*
- * Derived from :
- *
- *
- * ipcp.c - PPP IP Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- *
- * Proxy Neighbour Discovery.
- *
- * Better defines for selecting the ordering of
- * interface up / set address. (currently checks for __linux__,
- * since SVR4 && (SNI || __USLC__) didn't work properly)
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <netdb.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-#include "ipv6cp.h"
-#include "magic.h"
-#include "pathnames.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipv6cp_options ipv6cp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipv6cp_options ipv6cp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipv6cp_options ipv6cp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipv6cp_options ipv6cp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-int no_ifaceid_neg = 0;
-
-/* local vars */
-static int ipv6cp_is_up;
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipv6cp_resetci __P((fsm *)); /* Reset our CI */
-static int ipv6cp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipv6cp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipv6cp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipv6cp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipv6cp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipv6cp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipv6cp_up __P((fsm *)); /* We're UP */
-static void ipv6cp_down __P((fsm *)); /* We're DOWN */
-static void ipv6cp_finished __P((fsm *)); /* Don't need lower layer */
-
-fsm ipv6cp_fsm[NUM_PPP]; /* IPV6CP fsm structure */
-
-static fsm_callbacks ipv6cp_callbacks = { /* IPV6CP callback routines */
- ipv6cp_resetci, /* Reset our Configuration Information */
- ipv6cp_cilen, /* Length of our Configuration Information */
- ipv6cp_addci, /* Add our Configuration Information */
- ipv6cp_ackci, /* ACK our Configuration Information */
- ipv6cp_nakci, /* NAK our Configuration Information */
- ipv6cp_rejci, /* Reject our Configuration Information */
- ipv6cp_reqci, /* Request peer's Configuration Information */
- ipv6cp_up, /* Called when fsm reaches OPENED state */
- ipv6cp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipv6cp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPV6CP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setifaceid __P((char **arg));
-static void printifaceid __P((option_t *,
- void (*)(void *, char *, ...), void *));
-
-static option_t ipv6cp_option_list[] = {
- { "ipv6", o_special, (void *)setifaceid,
- "Set interface identifiers for IPV6",
- OPT_A2PRINTER, (void *)printifaceid },
-
- { "+ipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Enable IPv6 and IPv6CP", OPT_PRIO | 1 },
- { "noipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Disable IPv6 and IPv6CP", OPT_PRIOSUB },
- { "-ipv6", o_bool, &ipv6cp_protent.enabled_flag,
- "Disable IPv6 and IPv6CP", OPT_PRIOSUB | OPT_ALIAS },
-
- { "ipv6cp-accept-local", o_bool, &ipv6cp_allowoptions[0].accept_local,
- "Accept peer's interface identifier for us", 1 },
-
- { "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
- "Use (default) IPv4 address as interface identifier", 1 },
-
-#if defined(SOL2)
- { "ipv6cp-use-persistent", o_bool, &ipv6cp_wantoptions[0].use_persistent,
- "Use uniquely-available persistent value for link local address", 1 },
-#endif /* defined(SOL2) */
-
- { "ipv6cp-restart", o_int, &ipv6cp_fsm[0].timeouttime,
- "Set timeout for IPv6CP", OPT_PRIO },
- { "ipv6cp-max-terminate", o_int, &ipv6cp_fsm[0].maxtermtransmits,
- "Set max #xmits for term-reqs", OPT_PRIO },
- { "ipv6cp-max-configure", o_int, &ipv6cp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for conf-reqs", OPT_PRIO },
- { "ipv6cp-max-failure", o_int, &ipv6cp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPv6CP", OPT_PRIO },
-
- { NULL }
-};
-
-
-/*
- * Protocol entry points from main code.
- */
-static void ipv6cp_init __P((int));
-static void ipv6cp_open __P((int));
-static void ipv6cp_close __P((int, char *));
-static void ipv6cp_lowerup __P((int));
-static void ipv6cp_lowerdown __P((int));
-static void ipv6cp_input __P((int, u_char *, int));
-static void ipv6cp_protrej __P((int));
-static int ipv6cp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-static void ipv6_check_options __P((void));
-static int ipv6_demand_conf __P((int));
-static int ipv6_active_pkt __P((u_char *, int));
-
-struct protent ipv6cp_protent = {
- PPP_IPV6CP,
- ipv6cp_init,
- ipv6cp_input,
- ipv6cp_protrej,
- ipv6cp_lowerup,
- ipv6cp_lowerdown,
- ipv6cp_open,
- ipv6cp_close,
- ipv6cp_printpkt,
- NULL,
- 0,
- "IPV6CP",
- "IPV6",
- ipv6cp_option_list,
- ipv6_check_options,
- ipv6_demand_conf,
- ipv6_active_pkt
-};
-
-static void ipv6cp_clear_addrs __P((int, eui64_t, eui64_t));
-static void ipv6cp_script __P((char *));
-static void ipv6cp_script_done __P((void *));
-
-/*
- * Lengths of configuration options.
- */
-#define CILEN_VOID 2
-#define CILEN_COMPRESS 4 /* length for RFC2023 compress opt. */
-#define CILEN_IFACEID 10 /* RFC2472, interface identifier */
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * This state variable is used to ensure that we don't
- * run an ipcp-up/down script while one is already running.
- */
-static enum script_state {
- s_down,
- s_up,
-} ipv6cp_script_state;
-static pid_t ipv6cp_script_pid;
-
-/*
- * setifaceid - set the interface identifiers manually
- */
-static int
-setifaceid(argv)
- char **argv;
-{
- char *comma, *arg, c;
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
- struct in6_addr addr;
- static int prio_local, prio_remote;
-
-#define VALIDID(a) ( (((a).s6_addr32[0] == 0) && ((a).s6_addr32[1] == 0)) && \
- (((a).s6_addr32[2] != 0) || ((a).s6_addr32[3] != 0)) )
-
- arg = *argv;
- if ((comma = strchr(arg, ',')) == NULL)
- comma = arg + strlen(arg);
-
- /*
- * If comma first character, then no local identifier
- */
- if (comma != arg) {
- c = *comma;
- *comma = '\0';
-
- if (inet_pton(AF_INET6, arg, &addr) == 0 || !VALIDID(addr)) {
- option_error("Illegal interface identifier (local): %s", arg);
- return 0;
- }
-
- if (option_priority >= prio_local) {
- eui64_copy(addr.s6_addr32[2], wo->ourid);
- wo->opt_local = 1;
- prio_local = option_priority;
- }
- *comma = c;
- }
-
- /*
- * If comma last character, the no remote identifier
- */
- if (*comma != 0 && *++comma != '\0') {
- if (inet_pton(AF_INET6, comma, &addr) == 0 || !VALIDID(addr)) {
- option_error("Illegal interface identifier (remote): %s", comma);
- return 0;
- }
- if (option_priority >= prio_remote) {
- eui64_copy(addr.s6_addr32[2], wo->hisid);
- wo->opt_remote = 1;
- prio_remote = option_priority;
- }
- }
-
- if (override_value("+ipv6", option_priority, option_source))
- ipv6cp_protent.enabled_flag = 1;
- return 1;
-}
-
-static void
-printifaceid(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
-
- if (wo->opt_local)
- printer(arg, "%s", llv6_ntoa(wo->ourid));
- printer(arg, ",");
- if (wo->opt_remote)
- printer(arg, "%s", llv6_ntoa(wo->hisid));
-}
-
-/*
- * Make a string representation of a network address.
- */
-char *
-llv6_ntoa(ifaceid)
- eui64_t ifaceid;
-{
- static char b[64];
-
- sprintf(b, "fe80::%s", eui64_ntoa(ifaceid));
- return b;
-}
-
-
-/*
- * ipv6cp_init - Initialize IPV6CP.
- */
-static void
-ipv6cp_init(unit)
- int unit;
-{
- fsm *f = &ipv6cp_fsm[unit];
- ipv6cp_options *wo = &ipv6cp_wantoptions[unit];
- ipv6cp_options *ao = &ipv6cp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPV6CP;
- f->callbacks = &ipv6cp_callbacks;
- fsm_init(&ipv6cp_fsm[unit]);
-
- memset(wo, 0, sizeof(*wo));
- memset(ao, 0, sizeof(*ao));
-
- wo->accept_local = 1;
- wo->neg_ifaceid = 1;
- ao->neg_ifaceid = 1;
-
-#ifdef IPV6CP_COMP
- wo->neg_vj = 1;
- ao->neg_vj = 1;
- wo->vj_protocol = IPV6CP_COMP;
-#endif
-
-}
-
-
-/*
- * ipv6cp_open - IPV6CP is allowed to come up.
- */
-static void
-ipv6cp_open(unit)
- int unit;
-{
- fsm_open(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_close - Take IPV6CP down.
- */
-static void
-ipv6cp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipv6cp_fsm[unit], reason);
-}
-
-
-/*
- * ipv6cp_lowerup - The lower layer is up.
- */
-static void
-ipv6cp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_lowerdown - The lower layer is down.
- */
-static void
-ipv6cp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_input - Input IPV6CP packet.
- */
-static void
-ipv6cp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipv6cp_fsm[unit], p, len);
-}
-
-
-/*
- * ipv6cp_protrej - A Protocol-Reject was received for IPV6CP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipv6cp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipv6cp_fsm[unit]);
-}
-
-
-/*
- * ipv6cp_resetci - Reset our CI.
- */
-static void
-ipv6cp_resetci(f)
- fsm *f;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
-
- wo->req_ifaceid = wo->neg_ifaceid && ipv6cp_allowoptions[f->unit].neg_ifaceid;
-
- if (!wo->opt_local) {
- eui64_magic_nz(wo->ourid);
- }
-
- *go = *wo;
- eui64_zero(go->hisid); /* last proposed interface identifier */
-}
-
-
-/*
- * ipv6cp_cilen - Return length of our CI.
- */
-static int
-ipv6cp_cilen(f)
- fsm *f;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
-
-#define LENCIVJ(neg) (neg ? CILEN_COMPRESS : 0)
-#define LENCIIFACEID(neg) (neg ? CILEN_IFACEID : 0)
-
- return (LENCIIFACEID(go->neg_ifaceid) +
- LENCIVJ(go->neg_vj));
-}
-
-
-/*
- * ipv6cp_addci - Add our desired CIs to a packet.
- */
-static void
-ipv6cp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- int len = *lenp;
-
-#define ADDCIVJ(opt, neg, val) \
- if (neg) { \
- int vjlen = CILEN_COMPRESS; \
- if (len >= vjlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(vjlen, ucp); \
- PUTSHORT(val, ucp); \
- len -= vjlen; \
- } else \
- neg = 0; \
- }
-
-#define ADDCIIFACEID(opt, neg, val1) \
- if (neg) { \
- int idlen = CILEN_IFACEID; \
- if (len >= idlen) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(idlen, ucp); \
- eui64_put(val1, ucp); \
- len -= idlen; \
- } else \
- neg = 0; \
- }
-
- ADDCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
-
- ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
-
- *lenp -= len;
-}
-
-
-/*
- * ipv6cp_ackci - Ack our CIs.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipv6cp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_short cilen, citype, cishort;
- eui64_t ifaceid;
-
- /*
- * CIs must be in exactly the same order that we sent...
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-
-#define ACKCIVJ(opt, neg, val) \
- if (neg) { \
- int vjlen = CILEN_COMPRESS; \
- if ((len -= vjlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != vjlen || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- }
-
-#define ACKCIIFACEID(opt, neg, val1) \
- if (neg) { \
- int idlen = CILEN_IFACEID; \
- if ((len -= idlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != idlen || \
- citype != opt) \
- goto bad; \
- eui64_get(ifaceid, p); \
- if (! eui64_equals(val1, ifaceid)) \
- goto bad; \
- }
-
- ACKCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
-
- ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-
-bad:
- IPV6CPDEBUG(("ipv6cp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipv6cp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPV6CP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-ipv6cp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char citype, cilen, *next;
- u_short cishort;
- eui64_t ifaceid;
- ipv6cp_options no; /* options we've seen Naks for */
- ipv6cp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIIFACEID(opt, neg, code) \
- if (go->neg && \
- len >= (cilen = CILEN_IFACEID) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- eui64_get(ifaceid, p); \
- no.neg = 1; \
- code \
- }
-
-#define NAKCIVJ(opt, neg, code) \
- if (go->neg && \
- ((cilen = p[1]) == CILEN_COMPRESS) && \
- len >= cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-
- /*
- * Accept the peer's idea of {our,his} interface identifier, if different
- * from our idea, only if the accept_{local,remote} flag is set.
- */
- NAKCIIFACEID(CI_IFACEID, neg_ifaceid,
- if (go->accept_local) {
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->hisid)) /* bad luck */
- eui64_magic(ifaceid);
- try.ourid = ifaceid;
- IPV6CPDEBUG(("local LL address %s", llv6_ntoa(ifaceid)));
- }
- );
-
-#ifdef IPV6CP_COMP
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- {
- if (cishort == IPV6CP_COMP) {
- try.vj_protocol = cishort;
- } else {
- try.neg_vj = 0;
- }
- }
- );
-#else
- NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
- {
- try.neg_vj = 0;
- }
- );
-#endif
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If they want to negotiate about interface identifier, we comply.
- * If they want us to ask for compression, we refuse.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if( (len -= cilen) < 0 )
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_COMPRESSTYPE:
- if (go->neg_vj || no.neg_vj ||
- (cilen != CILEN_COMPRESS))
- goto bad;
- no.neg_vj = 1;
- break;
- case CI_IFACEID:
- if (go->neg_ifaceid || no.neg_ifaceid || cilen != CILEN_IFACEID)
- goto bad;
- try.neg_ifaceid = 1;
- eui64_get(ifaceid, p);
- if (go->accept_local) {
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->hisid)) /* bad luck */
- eui64_magic(ifaceid);
- try.ourid = ifaceid;
- }
- no.neg_ifaceid = 1;
- break;
- }
- p = next;
- }
-
- /* If there is still anything left, this packet is bad. */
- if (len != 0)
- goto bad;
-
- /*
- * OK, the Nak is good. Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPV6CPDEBUG(("ipv6cp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * ipv6cp_rejci - Reject some of our CIs.
- */
-static int
-ipv6cp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char cilen;
- u_short cishort;
- eui64_t ifaceid;
- ipv6cp_options try; /* options to request next time */
-
- try = *go;
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIIFACEID(opt, neg, val1) \
- if (go->neg && \
- len >= (cilen = CILEN_IFACEID) && \
- p[1] == cilen && \
- p[0] == opt) { \
- len -= cilen; \
- INCPTR(2, p); \
- eui64_get(ifaceid, p); \
- /* Check rejected value. */ \
- if (! eui64_equals(ifaceid, val1)) \
- goto bad; \
- try.neg = 0; \
- }
-
-#define REJCIVJ(opt, neg, val) \
- if (go->neg && \
- p[1] == CILEN_COMPRESS && \
- len >= p[1] && \
- p[0] == opt) { \
- len -= p[1]; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- try.neg = 0; \
- }
-
- REJCIIFACEID(CI_IFACEID, neg_ifaceid, go->ourid);
-
- REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- IPV6CPDEBUG(("ipv6cp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * ipv6cp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipv6cp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
- ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
- ipv6cp_options *ao = &ipv6cp_allowoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- eui64_t ifaceid; /* Parsed interface identifier */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPV6CPDEBUG(("ipv6cp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_IFACEID:
- IPV6CPDEBUG(("ipv6cp: received interface identifier "));
-
- if (!ao->neg_ifaceid ||
- cilen != CILEN_IFACEID) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
-
- /*
- * If he has no interface identifier, or if we both have same
- * identifier then NAK it with new idea.
- * In particular, if we don't know his identifier, but he does,
- * then accept it.
- */
- eui64_get(ifaceid, p);
- IPV6CPDEBUG(("(%s)", llv6_ntoa(ifaceid)));
- if (eui64_iszero(ifaceid) && eui64_iszero(go->ourid)) {
- orc = CONFREJ; /* Reject CI */
- break;
- }
- if (!eui64_iszero(wo->hisid) &&
- !eui64_equals(ifaceid, wo->hisid) &&
- eui64_iszero(go->hisid)) {
-
- orc = CONFNAK;
- ifaceid = wo->hisid;
- go->hisid = ifaceid;
- DECPTR(sizeof(ifaceid), p);
- eui64_put(ifaceid, p);
- } else
- if (eui64_iszero(ifaceid) || eui64_equals(ifaceid, go->ourid)) {
- orc = CONFNAK;
- if (eui64_iszero(go->hisid)) /* first time, try option */
- ifaceid = wo->hisid;
- while (eui64_iszero(ifaceid) ||
- eui64_equals(ifaceid, go->ourid)) /* bad luck */
- eui64_magic(ifaceid);
- go->hisid = ifaceid;
- DECPTR(sizeof(ifaceid), p);
- eui64_put(ifaceid, p);
- }
-
- ho->neg_ifaceid = 1;
- ho->hisid = ifaceid;
- break;
-
- case CI_COMPRESSTYPE:
- IPV6CPDEBUG(("ipv6cp: received COMPRESSTYPE "));
- if (!ao->neg_vj ||
- (cilen != CILEN_COMPRESS)) {
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
- IPV6CPDEBUG(("(%d)", cishort));
-
-#ifdef IPV6CP_COMP
- if (!(cishort == IPV6CP_COMP)) {
- orc = CONFREJ;
- break;
- }
-
- ho->neg_vj = 1;
- ho->vj_protocol = cishort;
- break;
-#else
- orc = CONFREJ;
- break;
-#endif
-
- default:
- orc = CONFREJ;
- break;
- }
-
-endswitch:
- IPV6CPDEBUG((" (%s)\n", CODENAME(orc)));
-
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their identifier and they didn't send their identifier, then we
- * send a NAK with a CI_IFACEID option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
- if (rc != CONFREJ && !ho->neg_ifaceid &&
- wo->req_ifaceid && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- ucp = inp; /* reset pointer */
- wo->req_ifaceid = 0; /* don't ask again */
- }
- PUTCHAR(CI_IFACEID, ucp);
- PUTCHAR(CILEN_IFACEID, ucp);
- eui64_put(wo->hisid, ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPV6CPDEBUG(("ipv6cp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * ipv6_check_options - check that any IP-related options are OK,
- * and assign appropriate defaults.
- */
-static void
-ipv6_check_options()
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[0];
-
- if (!ipv6cp_protent.enabled_flag)
- return;
-
-#if defined(SOL2)
- /*
- * Persistent link-local id is only used when user has not explicitly
- * configure/hard-code the id
- */
- if ((wo->use_persistent) && (!wo->opt_local) && (!wo->opt_remote)) {
-
- /*
- * On systems where there are no Ethernet interfaces used, there
- * may be other ways to obtain a persistent id. Right now, it
- * will fall back to using magic [see eui64_magic] below when
- * an EUI-48 from MAC address can't be obtained. Other possibilities
- * include obtaining EEPROM serial numbers, or some other unique
- * yet persistent number. On Sparc platforms, this is possible,
- * but too bad there's no standards yet for x86 machines.
- */
- if (ether_to_eui64(&wo->ourid)) {
- wo->opt_local = 1;
- }
- }
-#endif
-
- if (!wo->opt_local) { /* init interface identifier */
- if (wo->use_ip && eui64_iszero(wo->ourid)) {
- eui64_setlo32(wo->ourid, ntohl(ipcp_wantoptions[0].ouraddr));
- if (!eui64_iszero(wo->ourid))
- wo->opt_local = 1;
- }
-
- while (eui64_iszero(wo->ourid))
- eui64_magic(wo->ourid);
- }
-
- if (!wo->opt_remote) {
- if (wo->use_ip && eui64_iszero(wo->hisid)) {
- eui64_setlo32(wo->hisid, ntohl(ipcp_wantoptions[0].hisaddr));
- if (!eui64_iszero(wo->hisid))
- wo->opt_remote = 1;
- }
- }
-
- if (demand && (eui64_iszero(wo->ourid) || eui64_iszero(wo->hisid))) {
- option_error("local/remote LL address required for demand-dialling\n");
- exit(1);
- }
-}
-
-
-/*
- * ipv6_demand_conf - configure the interface as though
- * IPV6CP were up, for use with dial-on-demand.
- */
-static int
-ipv6_demand_conf(u)
- int u;
-{
- ipv6cp_options *wo = &ipv6cp_wantoptions[u];
-
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
-#if defined(SOL2)
- if (!sif6up(u))
- return 0;
-#else
- if (!sifup(u))
- return 0;
-#endif /* defined(SOL2) */
-#endif
- if (!sif6addr(u, wo->ourid, wo->hisid))
- return 0;
-#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sifup(u))
- return 0;
-#endif
- if (!sifnpmode(u, PPP_IPV6, NPMODE_QUEUE))
- return 0;
-
- notice("ipv6_demand_conf");
- notice("local LL address %s", llv6_ntoa(wo->ourid));
- notice("remote LL address %s", llv6_ntoa(wo->hisid));
-
- return 1;
-}
-
-
-/*
- * ipv6cp_up - IPV6CP has come UP.
- *
- * Configure the IPv6 network interface appropriately and bring it up.
- */
-static void
-ipv6cp_up(f)
- fsm *f;
-{
- ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
- ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
- ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
-
- IPV6CPDEBUG(("ipv6cp: up"));
-
- /*
- * We must have a non-zero LL address for both ends of the link.
- */
- if (!ho->neg_ifaceid)
- ho->hisid = wo->hisid;
-
- if(!no_ifaceid_neg) {
- if (eui64_iszero(ho->hisid)) {
- error("Could not determine remote LL address");
- ipv6cp_close(f->unit, "Could not determine remote LL address");
- return;
- }
- if (eui64_iszero(go->ourid)) {
- error("Could not determine local LL address");
- ipv6cp_close(f->unit, "Could not determine local LL address");
- return;
- }
- if (eui64_equals(go->ourid, ho->hisid)) {
- error("local and remote LL addresses are equal");
- ipv6cp_close(f->unit, "local and remote LL addresses are equal");
- return;
- }
- }
- script_setenv("LLLOCAL", llv6_ntoa(go->ourid), 0);
- script_setenv("LLREMOTE", llv6_ntoa(ho->hisid), 0);
-
-#ifdef IPV6CP_COMP
- /* set tcp compression */
- sif6comp(f->unit, ho->neg_vj);
-#endif
-
- /*
- * If we are doing dial-on-demand, the interface is already
- * configured, so we put out any saved-up packets, then set the
- * interface to pass IPv6 packets.
- */
- if (demand) {
- if (! eui64_equals(go->ourid, wo->ourid) ||
- ! eui64_equals(ho->hisid, wo->hisid)) {
- if (! eui64_equals(go->ourid, wo->ourid))
- warn("Local LL address changed to %s",
- llv6_ntoa(go->ourid));
- if (! eui64_equals(ho->hisid, wo->hisid))
- warn("Remote LL address changed to %s",
- llv6_ntoa(ho->hisid));
- ipv6cp_clear_addrs(f->unit, go->ourid, ho->hisid);
-
- /* Set the interface to the new addresses */
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-
- }
- demand_rexmit(PPP_IPV6);
- sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
-
- } else {
- /*
- * Set LL addresses
- */
-#if !defined(__linux__) && !defined(SOL2) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
-
- /* bring the interface up for IPv6 */
-#if defined(SOL2)
- if (!sif6up(f->unit)) {
- if (debug)
- warn("sifup failed (IPV6)");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#else
- if (!sifup(f->unit)) {
- if (debug)
- warn("sifup failed (IPV6)");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif /* defined(SOL2) */
-
-#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
- if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
- if (debug)
- warn("sif6addr failed");
- ipv6cp_close(f->unit, "Interface configuration failed");
- return;
- }
-#endif
- sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
-
- notice("local LL address %s", llv6_ntoa(go->ourid));
- notice("remote LL address %s", llv6_ntoa(ho->hisid));
- }
-
- np_up(f->unit, PPP_IPV6);
- ipv6cp_is_up = 1;
-
- /*
- * Execute the ipv6-up script, like this:
- * /etc/ppp/ipv6-up interface tty speed local-LL remote-LL
- */
- if (ipv6cp_script_state == s_down && ipv6cp_script_pid == 0) {
- ipv6cp_script_state = s_up;
- ipv6cp_script(_PATH_IPV6UP);
- }
-}
-
-
-/*
- * ipv6cp_down - IPV6CP has gone DOWN.
- *
- * Take the IPv6 network interface down, clear its addresses
- * and delete routes through it.
- */
-static void
-ipv6cp_down(f)
- fsm *f;
-{
- IPV6CPDEBUG(("ipv6cp: down"));
- update_link_stats(f->unit);
- if (ipv6cp_is_up) {
- ipv6cp_is_up = 0;
- np_down(f->unit, PPP_IPV6);
- }
-#ifdef IPV6CP_COMP
- sif6comp(f->unit, 0);
-#endif
-
- /*
- * If we are doing dial-on-demand, set the interface
- * to queue up outgoing packets (for now).
- */
- if (demand) {
- sifnpmode(f->unit, PPP_IPV6, NPMODE_QUEUE);
- } else {
- sifnpmode(f->unit, PPP_IPV6, NPMODE_DROP);
-#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC)))
-#if defined(SOL2)
- sif6down(f->unit);
-#else
- sifdown(f->unit);
-#endif /* defined(SOL2) */
-#endif
- ipv6cp_clear_addrs(f->unit,
- ipv6cp_gotoptions[f->unit].ourid,
- ipv6cp_hisoptions[f->unit].hisid);
-#if defined(__linux__) || (defined(SVR4) && (defined(SNI) || defined(__USLC)))
- sifdown(f->unit);
-#endif
- }
-
- /* Execute the ipv6-down script */
- if (ipv6cp_script_state == s_up && ipv6cp_script_pid == 0) {
- ipv6cp_script_state = s_down;
- ipv6cp_script(_PATH_IPV6DOWN);
- }
-}
-
-
-/*
- * ipv6cp_clear_addrs() - clear the interface addresses, routes,
- * proxy neighbour discovery entries, etc.
- */
-static void
-ipv6cp_clear_addrs(unit, ourid, hisid)
- int unit;
- eui64_t ourid;
- eui64_t hisid;
-{
- cif6addr(unit, ourid, hisid);
-}
-
-
-/*
- * ipv6cp_finished - possibly shut down the lower layers.
- */
-static void
-ipv6cp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IPV6);
-}
-
-
-/*
- * ipv6cp_script_done - called when the ipv6-up or ipv6-down script
- * has finished.
- */
-static void
-ipv6cp_script_done(arg)
- void *arg;
-{
- ipv6cp_script_pid = 0;
- switch (ipv6cp_script_state) {
- case s_up:
- if (ipv6cp_fsm[0].state != OPENED) {
- ipv6cp_script_state = s_down;
- ipv6cp_script(_PATH_IPV6DOWN);
- }
- break;
- case s_down:
- if (ipv6cp_fsm[0].state == OPENED) {
- ipv6cp_script_state = s_up;
- ipv6cp_script(_PATH_IPV6UP);
- }
- break;
- }
-}
-
-
-/*
- * ipv6cp_script - Execute a script with arguments
- * interface-name tty-name speed local-LL remote-LL.
- */
-static void
-ipv6cp_script(script)
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char *argv[8];
-
- sprintf(strspeed, "%d", baud_rate);
- strcpy(strlocal, llv6_ntoa(ipv6cp_gotoptions[0].ourid));
- strcpy(strremote, llv6_ntoa(ipv6cp_hisoptions[0].hisid));
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strlocal;
- argv[5] = strremote;
- argv[6] = ipparam;
- argv[7] = NULL;
-
- ipv6cp_script_pid = run_program(script, argv, 0, ipv6cp_script_done, NULL);
-}
-
-/*
- * ipv6cp_printpkt - print the contents of an IPV6CP packet.
- */
-static char *ipv6cp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipv6cp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- eui64_t ifaceid;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipv6cp_codenames) / sizeof(char *))
- printer(arg, " %s", ipv6cp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_COMPRESSTYPE:
- if (olen >= CILEN_COMPRESS) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "compress ");
- printer(arg, "0x%x", cishort);
- }
- break;
- case CI_IFACEID:
- if (olen == CILEN_IFACEID) {
- p += 2;
- eui64_get(ifaceid, p);
- printer(arg, "addr %s", llv6_ntoa(ifaceid));
- }
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
-
-/*
- * ipv6_active_pkt - see if this IP packet is worth bringing the link up for.
- * We don't bring the link up for IP fragments or for TCP FIN packets
- * with no data.
- */
-#define IP6_HDRLEN 40 /* bytes */
-#define IP6_NHDR_FRAG 44 /* fragment IPv6 header */
-#define IPPROTO_TCP 6
-#define TCP_HDRLEN 20
-#define TH_FIN 0x01
-
-/*
- * We use these macros because the IP header may be at an odd address,
- * and some compilers might use word loads to get th_off or ip_hl.
- */
-
-#define get_ip6nh(x) (((unsigned char *)(x))[6])
-#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
-#define get_tcpflags(x) (((unsigned char *)(x))[13])
-
-static int
-ipv6_active_pkt(pkt, len)
- u_char *pkt;
- int len;
-{
- u_char *tcp;
-
- len -= PPP_HDRLEN;
- pkt += PPP_HDRLEN;
- if (len < IP6_HDRLEN)
- return 0;
- if (get_ip6nh(pkt) == IP6_NHDR_FRAG)
- return 0;
- if (get_ip6nh(pkt) != IPPROTO_TCP)
- return 1;
- if (len < IP6_HDRLEN + TCP_HDRLEN)
- return 0;
- tcp = pkt + IP6_HDRLEN;
- if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == IP6_HDRLEN + get_tcpoff(tcp) * 4)
- return 0;
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.h b/mdk-stage1/ppp/pppd/ipv6cp.h
deleted file mode 100644
index 60d366eb3..000000000
--- a/mdk-stage1/ppp/pppd/ipv6cp.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- ipv6cp.h - PPP IPV6 Control Protocol.
- Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
-
- Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice and this paragraph are
- duplicated in all such forms. The name of the author may not be
- used to endorse or promote products derived from this software
- without specific prior written permission.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-/* Original version, based on RFC2023 :
-
- Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
- Alain.Durand@imag.fr, IMAG,
- Jean-Luc.Richier@imag.fr, IMAG-LSR.
-
- Ce travail a été fait au sein du GIE DYADE (Groupement d'Intérêt
- Économique ayant pour membres BULL S.A. et l'INRIA).
-
- Ce logiciel informatique est disponible aux conditions
- usuelles dans la recherche, c'est-à-dire qu'il peut
- être utilisé, copié, modifié, distribué à l'unique
- condition que ce texte soit conservé afin que
- l'origine de ce logiciel soit reconnue.
-
- Le nom de l'Institut National de Recherche en Informatique
- et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
- ou physique ayant participé à l'élaboration de ce logiciel ne peut
- être utilisé sans son accord préalable explicite.
-
- Ce logiciel est fourni tel quel sans aucune garantie,
- support ou responsabilité d'aucune sorte.
- Ce logiciel est dérivé de sources d'origine
- "University of California at Berkeley" et
- "Digital Equipment Corporation" couvertes par des copyrights.
-
- L'Institut d'Informatique et de Mathématiques Appliquées de Grenoble (IMAG)
- est une fédération d'unités mixtes de recherche du CNRS, de l'Institut National
- Polytechnique de Grenoble et de l'Université Joseph Fourier regroupant
- sept laboratoires dont le laboratoire Logiciels, Systèmes, Réseaux (LSR).
-
- This work has been done in the context of GIE DYADE (joint R & D venture
- between BULL S.A. and INRIA).
-
- This software is available with usual "research" terms
- with the aim of retain credits of the software.
- Permission to use, copy, modify and distribute this software for any
- purpose and without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies,
- and the name of INRIA, IMAG, or any contributor not be used in advertising
- or publicity pertaining to this material without the prior explicit
- permission. The software is provided "as is" without any
- warranties, support or liabilities of any kind.
- This software is derived from source code from
- "University of California at Berkeley" and
- "Digital Equipment Corporation" protected by copyrights.
-
- Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
- is a federation of seven research units funded by the CNRS, National
- Polytechnic Institute of Grenoble and University Joseph Fourier.
- The research unit in Software, Systems, Networks (LSR) is member of IMAG.
-*/
-
-/*
- * Derived from :
- *
- *
- * ipcp.h - IP Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_IFACEID 1 /* Interface Identifier */
-#define CI_COMPRESSTYPE 2 /* Compression Type */
-
-/* No compression types yet defined.
- *#define IPV6CP_COMP 0x004f
- */
-typedef struct ipv6cp_options {
- int neg_ifaceid; /* Negotiate interface identifier? */
- int req_ifaceid; /* Ask peer to send interface identifier? */
- int accept_local; /* accept peer's value for iface id? */
- int opt_local; /* ourtoken set by option */
- int opt_remote; /* histoken set by option */
- int use_ip; /* use IP as interface identifier */
-#if defined(SOL2)
- int use_persistent; /* use uniquely persistent value for address */
-#endif /* defined(SOL2) */
- int neg_vj; /* Van Jacobson Compression? */
- u_short vj_protocol; /* protocol value to use in VJ option */
- eui64_t ourid, hisid; /* Interface identifiers */
-} ipv6cp_options;
-
-extern fsm ipv6cp_fsm[];
-extern ipv6cp_options ipv6cp_wantoptions[];
-extern ipv6cp_options ipv6cp_gotoptions[];
-extern ipv6cp_options ipv6cp_allowoptions[];
-extern ipv6cp_options ipv6cp_hisoptions[];
-
-extern struct protent ipv6cp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipxcp.c b/mdk-stage1/ppp/pppd/ipxcp.c
deleted file mode 100644
index f9a12b934..000000000
--- a/mdk-stage1/ppp/pppd/ipxcp.c
+++ /dev/null
@@ -1,1570 +0,0 @@
-/*
- * ipxcp.c - PPP IPX Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifdef IPX_CHANGE
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipxcp.h"
-#include "pathnames.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-/* global vars */
-ipxcp_options ipxcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-ipxcp_options ipxcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-ipxcp_options ipxcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-ipxcp_options ipxcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-#define wo (&ipxcp_wantoptions[0])
-#define ao (&ipxcp_allowoptions[0])
-#define go (&ipxcp_gotoptions[0])
-#define ho (&ipxcp_hisoptions[0])
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void ipxcp_resetci __P((fsm *)); /* Reset our CI */
-static int ipxcp_cilen __P((fsm *)); /* Return length of our CI */
-static void ipxcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
-static int ipxcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int ipxcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int ipxcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int ipxcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
-static void ipxcp_up __P((fsm *)); /* We're UP */
-static void ipxcp_down __P((fsm *)); /* We're DOWN */
-static void ipxcp_finished __P((fsm *)); /* Don't need lower layer */
-static void ipxcp_script __P((fsm *, char *)); /* Run an up/down script */
-
-fsm ipxcp_fsm[NUM_PPP]; /* IPXCP fsm structure */
-
-static fsm_callbacks ipxcp_callbacks = { /* IPXCP callback routines */
- ipxcp_resetci, /* Reset our Configuration Information */
- ipxcp_cilen, /* Length of our Configuration Information */
- ipxcp_addci, /* Add our Configuration Information */
- ipxcp_ackci, /* ACK our Configuration Information */
- ipxcp_nakci, /* NAK our Configuration Information */
- ipxcp_rejci, /* Reject our Configuration Information */
- ipxcp_reqci, /* Request peer's Configuration Information */
- ipxcp_up, /* Called when fsm reaches OPENED state */
- ipxcp_down, /* Called when fsm leaves OPENED state */
- NULL, /* Called when we want the lower layer up */
- ipxcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- NULL, /* Called to handle protocol-specific codes */
- "IPXCP" /* String name of protocol */
-};
-
-/*
- * Command-line options.
- */
-static int setipxnode __P((char **));
-static void printipxnode __P((option_t *,
- void (*)(void *, char *, ...), void *));
-static int setipxname __P((char **));
-
-static option_t ipxcp_option_list[] = {
- { "ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Enable IPXCP (and IPX)", OPT_PRIO | 1 },
- { "+ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Enable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS | 1 },
- { "noipx", o_bool, &ipxcp_protent.enabled_flag,
- "Disable IPXCP (and IPX)", OPT_PRIOSUB },
- { "-ipx", o_bool, &ipxcp_protent.enabled_flag,
- "Disable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS },
-
- { "ipx-network", o_uint32, &ipxcp_wantoptions[0].our_network,
- "Set our IPX network number", OPT_PRIO, &ipxcp_wantoptions[0].neg_nn },
-
- { "ipxcp-accept-network", o_bool, &ipxcp_wantoptions[0].accept_network,
- "Accept peer IPX network number", 1,
- &ipxcp_allowoptions[0].accept_network },
-
- { "ipx-node", o_special, (void *)setipxnode,
- "Set IPX node number", OPT_A2PRINTER, (void *)printipxnode },
-
- { "ipxcp-accept-local", o_bool, &ipxcp_wantoptions[0].accept_local,
- "Accept our IPX address", 1,
- &ipxcp_allowoptions[0].accept_local },
-
- { "ipxcp-accept-remote", o_bool, &ipxcp_wantoptions[0].accept_remote,
- "Accept peer's IPX address", 1,
- &ipxcp_allowoptions[0].accept_remote },
-
- { "ipx-routing", o_int, &ipxcp_wantoptions[0].router,
- "Set IPX routing proto number", OPT_PRIO,
- &ipxcp_wantoptions[0].neg_router },
-
- { "ipx-router-name", o_special, setipxname,
- "Set IPX router name", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC,
- &ipxcp_wantoptions[0].name },
-
- { "ipxcp-restart", o_int, &ipxcp_fsm[0].timeouttime,
- "Set timeout for IPXCP", OPT_PRIO },
- { "ipxcp-max-terminate", o_int, &ipxcp_fsm[0].maxtermtransmits,
- "Set max #xmits for IPXCP term-reqs", OPT_PRIO },
- { "ipxcp-max-configure", o_int, &ipxcp_fsm[0].maxconfreqtransmits,
- "Set max #xmits for IPXCP conf-reqs", OPT_PRIO },
- { "ipxcp-max-failure", o_int, &ipxcp_fsm[0].maxnakloops,
- "Set max #conf-naks for IPXCP", OPT_PRIO },
-
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-
-static void ipxcp_init __P((int));
-static void ipxcp_open __P((int));
-static void ipxcp_close __P((int, char *));
-static void ipxcp_lowerup __P((int));
-static void ipxcp_lowerdown __P((int));
-static void ipxcp_input __P((int, u_char *, int));
-static void ipxcp_protrej __P((int));
-static int ipxcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent ipxcp_protent = {
- PPP_IPXCP,
- ipxcp_init,
- ipxcp_input,
- ipxcp_protrej,
- ipxcp_lowerup,
- ipxcp_lowerdown,
- ipxcp_open,
- ipxcp_close,
- ipxcp_printpkt,
- NULL,
- 0,
- "IPXCP",
- "IPX",
- ipxcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-/*
- * Lengths of configuration options.
- */
-
-#define CILEN_VOID 2
-#define CILEN_COMPLETE 2 /* length of complete option */
-#define CILEN_NETN 6 /* network number length option */
-#define CILEN_NODEN 8 /* node number length option */
-#define CILEN_PROTOCOL 4 /* Minimum length of routing protocol */
-#define CILEN_NAME 3 /* Minimum length of router name */
-#define CILEN_COMPRESS 4 /* Minimum length of compression protocol */
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-static int ipxcp_is_up;
-
-static char *ipx_ntoa __P((u_int32_t));
-
-/* Used in printing the node number */
-#define NODE(base) base[0], base[1], base[2], base[3], base[4], base[5]
-
-/* Used to generate the proper bit mask */
-#define BIT(num) (1 << (num))
-
-/*
- * Convert from internal to external notation
- */
-
-static short int
-to_external(internal)
-short int internal;
-{
- short int external;
-
- if (internal & BIT(IPX_NONE) )
- external = IPX_NONE;
- else
- external = RIP_SAP;
-
- return external;
-}
-
-/*
- * Make a string representation of a network IP address.
- */
-
-static char *
-ipx_ntoa(ipxaddr)
-u_int32_t ipxaddr;
-{
- static char b[64];
- slprintf(b, sizeof(b), "%x", ipxaddr);
- return b;
-}
-
-
-static u_char *
-setipxnodevalue(src,dst)
-u_char *src, *dst;
-{
- int indx;
- int item;
-
- for (;;) {
- if (!isxdigit (*src))
- break;
-
- for (indx = 0; indx < 5; ++indx) {
- dst[indx] <<= 4;
- dst[indx] |= (dst[indx + 1] >> 4) & 0x0F;
- }
-
- item = toupper (*src) - '0';
- if (item > 9)
- item -= 7;
-
- dst[5] = (dst[5] << 4) | item;
- ++src;
- }
- return src;
-}
-
-static int ipx_prio_our, ipx_prio_his;
-
-static int
-setipxnode(argv)
- char **argv;
-{
- char *end;
- int have_his = 0;
- u_char our_node[6];
- u_char his_node[6];
-
- memset (our_node, 0, 6);
- memset (his_node, 0, 6);
-
- end = setipxnodevalue (*argv, our_node);
- if (*end == ':') {
- have_his = 1;
- end = setipxnodevalue (++end, his_node);
- }
-
- if (*end == '\0') {
- ipxcp_wantoptions[0].neg_node = 1;
- if (option_priority >= ipx_prio_our) {
- memcpy(&ipxcp_wantoptions[0].our_node[0], our_node, 6);
- ipx_prio_our = option_priority;
- }
- if (have_his && option_priority >= ipx_prio_his) {
- memcpy(&ipxcp_wantoptions[0].his_node[0], his_node, 6);
- ipx_prio_his = option_priority;
- }
- return 1;
- }
-
- option_error("invalid parameter '%s' for ipx-node option", *argv);
- return 0;
-}
-
-static void
-printipxnode(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- unsigned char *p;
-
- p = ipxcp_wantoptions[0].our_node;
- if (ipx_prio_our)
- printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
- p[0], p[1], p[2], p[3], p[4], p[5]);
- printer(arg, ":");
- p = ipxcp_wantoptions[0].his_node;
- if (ipx_prio_his)
- printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
- p[0], p[1], p[2], p[3], p[4], p[5]);
-}
-
-static int
-setipxname (argv)
- char **argv;
-{
- char *dest = ipxcp_wantoptions[0].name;
- char *src = *argv;
- int count;
- char ch;
-
- ipxcp_wantoptions[0].neg_name = 1;
- ipxcp_allowoptions[0].neg_name = 1;
- memset (dest, '\0', sizeof (ipxcp_wantoptions[0].name));
-
- count = 0;
- while (*src) {
- ch = *src++;
- if (! isalnum (ch) && ch != '_') {
- option_error("IPX router name must be alphanumeric or _");
- return 0;
- }
-
- if (count >= sizeof (ipxcp_wantoptions[0].name) - 1) {
- option_error("IPX router name is limited to %d characters",
- sizeof (ipxcp_wantoptions[0].name) - 1);
- return 0;
- }
-
- dest[count++] = toupper (ch);
- }
- dest[count] = 0;
-
- return 1;
-}
-
-/*
- * ipxcp_init - Initialize IPXCP.
- */
-static void
-ipxcp_init(unit)
- int unit;
-{
- fsm *f = &ipxcp_fsm[unit];
-
- f->unit = unit;
- f->protocol = PPP_IPXCP;
- f->callbacks = &ipxcp_callbacks;
- fsm_init(&ipxcp_fsm[unit]);
-
- memset (wo->name, 0, sizeof (wo->name));
- memset (wo->our_node, 0, sizeof (wo->our_node));
- memset (wo->his_node, 0, sizeof (wo->his_node));
-
- wo->neg_nn = 1;
- wo->neg_complete = 1;
- wo->network = 0;
-
- ao->neg_node = 1;
- ao->neg_nn = 1;
- ao->neg_name = 1;
- ao->neg_complete = 1;
- ao->neg_router = 1;
-
- ao->accept_local = 0;
- ao->accept_remote = 0;
- ao->accept_network = 0;
-
- wo->tried_rip = 0;
- wo->tried_nlsp = 0;
-}
-
-/*
- * Copy the node number
- */
-
-static void
-copy_node (src, dst)
-u_char *src, *dst;
-{
- memcpy (dst, src, sizeof (ipxcp_wantoptions[0].our_node));
-}
-
-/*
- * Compare node numbers
- */
-
-static int
-compare_node (src, dst)
-u_char *src, *dst;
-{
- return memcmp (dst, src, sizeof (ipxcp_wantoptions[0].our_node)) == 0;
-}
-
-/*
- * Is the node number zero?
- */
-
-static int
-zero_node (node)
-u_char *node;
-{
- int indx;
- for (indx = 0; indx < sizeof (ipxcp_wantoptions[0].our_node); ++indx)
- if (node [indx] != 0)
- return 0;
- return 1;
-}
-
-/*
- * Increment the node number
- */
-
-static void
-inc_node (node)
-u_char *node;
-{
- u_char *outp;
- u_int32_t magic_num;
-
- outp = node;
- magic_num = magic();
- *outp++ = '\0';
- *outp++ = '\0';
- PUTLONG (magic_num, outp);
-}
-
-/*
- * ipxcp_open - IPXCP is allowed to come up.
- */
-static void
-ipxcp_open(unit)
- int unit;
-{
- fsm_open(&ipxcp_fsm[unit]);
-}
-
-/*
- * ipxcp_close - Take IPXCP down.
- */
-static void
-ipxcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm_close(&ipxcp_fsm[unit], reason);
-}
-
-
-/*
- * ipxcp_lowerup - The lower layer is up.
- */
-static void
-ipxcp_lowerup(unit)
- int unit;
-{
- fsm_lowerup(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_lowerdown - The lower layer is down.
- */
-static void
-ipxcp_lowerdown(unit)
- int unit;
-{
- fsm_lowerdown(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_input - Input IPXCP packet.
- */
-static void
-ipxcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm_input(&ipxcp_fsm[unit], p, len);
-}
-
-
-/*
- * ipxcp_protrej - A Protocol-Reject was received for IPXCP.
- *
- * Pretend the lower layer went down, so we shut up.
- */
-static void
-ipxcp_protrej(unit)
- int unit;
-{
- fsm_lowerdown(&ipxcp_fsm[unit]);
-}
-
-
-/*
- * ipxcp_resetci - Reset our CI.
- */
-static void
-ipxcp_resetci(f)
- fsm *f;
-{
- wo->req_node = wo->neg_node && ao->neg_node;
- wo->req_nn = wo->neg_nn && ao->neg_nn;
-
- if (wo->our_network == 0) {
- wo->neg_node = 1;
- ao->accept_network = 1;
- }
-/*
- * If our node number is zero then change it.
- */
- if (zero_node (wo->our_node)) {
- inc_node (wo->our_node);
- ao->accept_local = 1;
- wo->neg_node = 1;
- }
-/*
- * If his node number is zero then change it.
- */
- if (zero_node (wo->his_node)) {
- inc_node (wo->his_node);
- ao->accept_remote = 1;
- }
-/*
- * If no routing agent was specified then we do RIP/SAP according to the
- * RFC documents. If you have specified something then OK. Otherwise, we
- * do RIP/SAP.
- */
- if (ao->router == 0) {
- ao->router |= BIT(RIP_SAP);
- wo->router |= BIT(RIP_SAP);
- }
-
- /* Always specify a routing protocol unless it was REJected. */
- wo->neg_router = 1;
-/*
- * Start with these default values
- */
- *go = *wo;
-}
-
-/*
- * ipxcp_cilen - Return length of our CI.
- */
-
-static int
-ipxcp_cilen(f)
- fsm *f;
-{
- int len;
-
- len = go->neg_nn ? CILEN_NETN : 0;
- len += go->neg_node ? CILEN_NODEN : 0;
- len += go->neg_name ? CILEN_NAME + strlen (go->name) - 1 : 0;
-
- /* RFC says that defaults should not be included. */
- if (go->neg_router && to_external(go->router) != RIP_SAP)
- len += CILEN_PROTOCOL;
-
- return (len);
-}
-
-
-/*
- * ipxcp_addci - Add our desired CIs to a packet.
- */
-static void
-ipxcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
-/*
- * Add the options to the record.
- */
- if (go->neg_nn) {
- PUTCHAR (IPX_NETWORK_NUMBER, ucp);
- PUTCHAR (CILEN_NETN, ucp);
- PUTLONG (go->our_network, ucp);
- }
-
- if (go->neg_node) {
- int indx;
- PUTCHAR (IPX_NODE_NUMBER, ucp);
- PUTCHAR (CILEN_NODEN, ucp);
- for (indx = 0; indx < sizeof (go->our_node); ++indx)
- PUTCHAR (go->our_node[indx], ucp);
- }
-
- if (go->neg_name) {
- int cilen = strlen (go->name);
- int indx;
- PUTCHAR (IPX_ROUTER_NAME, ucp);
- PUTCHAR (CILEN_NAME + cilen - 1, ucp);
- for (indx = 0; indx < cilen; ++indx)
- PUTCHAR (go->name [indx], ucp);
- }
-
- if (go->neg_router) {
- short external = to_external (go->router);
- if (external != RIP_SAP) {
- PUTCHAR (IPX_ROUTER_PROTOCOL, ucp);
- PUTCHAR (CILEN_PROTOCOL, ucp);
- PUTSHORT (external, ucp);
- }
- }
-}
-
-/*
- * ipxcp_ackci - Ack our CIs.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-ipxcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_short cilen, citype, cishort;
- u_char cichar;
- u_int32_t cilong;
-
-#define ACKCIVOID(opt, neg) \
- if (neg) { \
- if ((len -= CILEN_VOID) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || \
- citype != opt) \
- break; \
- }
-
-#define ACKCICOMPLETE(opt,neg) ACKCIVOID(opt, neg)
-
-#define ACKCICHARS(opt, neg, val, cnt) \
- if (neg) { \
- int indx, count = cnt; \
- len -= (count + 2); \
- if (len < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != (count + 2) || \
- citype != opt) \
- break; \
- for (indx = 0; indx < count; ++indx) {\
- GETCHAR(cichar, p); \
- if (cichar != ((u_char *) &val)[indx]) \
- break; \
- }\
- if (indx != count) \
- break; \
- }
-
-#define ACKCINODE(opt,neg,val) ACKCICHARS(opt,neg,val,sizeof(val))
-#define ACKCINAME(opt,neg,val) ACKCICHARS(opt,neg,val,strlen(val))
-
-#define ACKCINETWORK(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_NETN) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_NETN || \
- citype != opt) \
- break; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- break; \
- }
-
-#define ACKCIPROTO(opt, neg, val) \
- if (neg) { \
- if (len < 2) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_PROTOCOL || citype != opt) \
- break; \
- len -= cilen; \
- if (len < 0) \
- break; \
- GETSHORT(cishort, p); \
- if (cishort != to_external (val) || cishort == RIP_SAP) \
- break; \
- }
-/*
- * Process the ACK frame in the order in which the frame was assembled
- */
- do {
- ACKCINETWORK (IPX_NETWORK_NUMBER, go->neg_nn, go->our_network);
- ACKCINODE (IPX_NODE_NUMBER, go->neg_node, go->our_node);
- ACKCINAME (IPX_ROUTER_NAME, go->neg_name, go->name);
- if (len > 0)
- ACKCIPROTO (IPX_ROUTER_PROTOCOL, go->neg_router, go->router);
-/*
- * This is the end of the record.
- */
- if (len == 0)
- return (1);
- } while (0);
-/*
- * The frame is invalid
- */
- IPXCPDEBUG(("ipxcp_ackci: received bad Ack!"));
- return (0);
-}
-
-/*
- * ipxcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if IPXCP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-
-static int
-ipxcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_char citype, cilen, *next;
- u_short s;
- u_int32_t l;
- ipxcp_options no; /* options we've seen Naks for */
- ipxcp_options try; /* options to request next time */
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- while (len > CILEN_VOID) {
- GETCHAR (citype, p);
- GETCHAR (cilen, p);
- len -= cilen;
- if (len < 0)
- goto bad;
- next = &p [cilen - CILEN_VOID];
-
- switch (citype) {
- case IPX_NETWORK_NUMBER:
- if (!go->neg_nn || no.neg_nn || (cilen != CILEN_NETN))
- goto bad;
- no.neg_nn = 1;
-
- GETLONG(l, p);
- if (l && ao->accept_network)
- try.our_network = l;
- break;
-
- case IPX_NODE_NUMBER:
- if (!go->neg_node || no.neg_node || (cilen != CILEN_NODEN))
- goto bad;
- no.neg_node = 1;
-
- if (!zero_node (p) && ao->accept_local &&
- ! compare_node (p, ho->his_node))
- copy_node (p, try.our_node);
- break;
-
- /* This has never been sent. Ignore the NAK frame */
- case IPX_COMPRESSION_PROTOCOL:
- goto bad;
-
- case IPX_ROUTER_PROTOCOL:
- if (!go->neg_router || (cilen < CILEN_PROTOCOL))
- goto bad;
-
- GETSHORT (s, p);
- if (s > 15) /* This is just bad, but ignore for now. */
- break;
-
- s = BIT(s);
- if (no.router & s) /* duplicate NAKs are always bad */
- goto bad;
-
- if (no.router == 0) /* Reset on first NAK only */
- try.router = 0;
-
- no.router |= s;
- try.router |= s;
- try.neg_router = 1;
- break;
-
- /* These, according to the RFC, must never be NAKed. */
- case IPX_ROUTER_NAME:
- case IPX_COMPLETE:
- goto bad;
-
- /* These are for options which we have not seen. */
- default:
- break;
- }
- p = next;
- }
-
- /*
- * Do not permit the peer to force a router protocol which we do not
- * support. However, default to the condition that will accept "NONE".
- */
- try.router &= (ao->router | BIT(IPX_NONE));
- if (try.router == 0 && ao->router != 0)
- try.router = BIT(IPX_NONE);
-
- if (try.router != 0)
- try.neg_router = 1;
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any options left, we ignore them.
- */
- if (f->state != OPENED)
- *go = try;
-
- return 1;
-
-bad:
- IPXCPDEBUG(("ipxcp_nakci: received bad Nak!"));
- return 0;
-}
-
-/*
- * ipxcp_rejci - Reject some of our CIs.
- */
-static int
-ipxcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- u_short cilen, citype, cishort;
- u_char cichar;
- u_int32_t cilong;
- ipxcp_options try; /* options to request next time */
-
-#define REJCINETWORK(opt, neg, val) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_NETN) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_NETN || \
- citype != opt) \
- break; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- break; \
- neg = 0; \
- }
-
-#define REJCICHARS(opt, neg, val, cnt) \
- if (neg && p[0] == opt) { \
- int indx, count = cnt; \
- len -= (count + 2); \
- if (len < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != (count + 2) || \
- citype != opt) \
- break; \
- for (indx = 0; indx < count; ++indx) {\
- GETCHAR(cichar, p); \
- if (cichar != ((u_char *) &val)[indx]) \
- break; \
- }\
- if (indx != count) \
- break; \
- neg = 0; \
- }
-
-#define REJCINODE(opt,neg,val) REJCICHARS(opt,neg,val,sizeof(val))
-#define REJCINAME(opt,neg,val) REJCICHARS(opt,neg,val,strlen(val))
-
-#define REJCIVOID(opt, neg) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_VOID) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || citype != opt) \
- break; \
- neg = 0; \
- }
-
-/* a reject for RIP/SAP is invalid since we don't send it and you can't
- reject something which is not sent. (You can NAK, but you can't REJ.) */
-#define REJCIPROTO(opt, neg, val, bit) \
- if (neg && p[0] == opt) { \
- if ((len -= CILEN_PROTOCOL) < 0) \
- break; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_PROTOCOL) \
- break; \
- GETSHORT(cishort, p); \
- if (cishort != to_external (val) || cishort == RIP_SAP) \
- break; \
- neg = 0; \
- }
-/*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
- try = *go;
-
- do {
- REJCINETWORK (IPX_NETWORK_NUMBER, try.neg_nn, try.our_network);
- REJCINODE (IPX_NODE_NUMBER, try.neg_node, try.our_node);
- REJCINAME (IPX_ROUTER_NAME, try.neg_name, try.name);
- REJCIPROTO (IPX_ROUTER_PROTOCOL, try.neg_router, try.router, 0);
-/*
- * This is the end of the record.
- */
- if (len == 0) {
- if (f->state != OPENED)
- *go = try;
- return (1);
- }
- } while (0);
-/*
- * The frame is invalid at this point.
- */
- IPXCPDEBUG(("ipxcp_rejci: received bad Reject!"));
- return 0;
-}
-
-/*
- * ipxcp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-ipxcp_reqci(f, inp, len, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *len; /* Length of requested CIs */
- int reject_if_disagree;
-{
- u_char *cip, *next; /* Pointer to current and next CIs */
- u_short cilen, citype; /* Parsed len, type */
- u_short cishort; /* Parsed short value */
- u_int32_t cinetwork; /* Parsed address values */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *ucp = inp; /* Pointer to current output char */
- int l = *len; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- IPXCPDEBUG(("ipxcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
-/*
- * The network number must match. Choose the larger of the two.
- */
- case IPX_NETWORK_NUMBER:
- /* if we wont negotiate the network number or the length is wrong
- then reject the option */
- if ( !ao->neg_nn || cilen != CILEN_NETN ) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cinetwork, p);
-
- /* If the network numbers match then acknowledge them. */
- if (cinetwork != 0) {
- ho->his_network = cinetwork;
- ho->neg_nn = 1;
- if (wo->our_network == cinetwork)
- break;
-/*
- * If the network number is not given or we don't accept their change or
- * the network number is too small then NAK it.
- */
- if (! ao->accept_network || cinetwork < wo->our_network) {
- DECPTR (sizeof (u_int32_t), p);
- PUTLONG (wo->our_network, p);
- orc = CONFNAK;
- }
- break;
- }
-/*
- * The peer sent '0' for the network. Give it ours if we have one.
- */
- if (go->our_network != 0) {
- DECPTR (sizeof (u_int32_t), p);
- PUTLONG (wo->our_network, p);
- orc = CONFNAK;
-/*
- * We don't have one. Reject the value.
- */
- } else
- orc = CONFREJ;
-
- break;
-/*
- * The node number is required
- */
- case IPX_NODE_NUMBER:
- /* if we wont negotiate the node number or the length is wrong
- then reject the option */
- if ( cilen != CILEN_NODEN ) {
- orc = CONFREJ;
- break;
- }
-
- copy_node (p, ho->his_node);
- ho->neg_node = 1;
-/*
- * If the remote does not have a number and we do then NAK it with the value
- * which we have for it. (We never have a default value of zero.)
- */
- if (zero_node (ho->his_node)) {
- orc = CONFNAK;
- copy_node (wo->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If you have given me the expected network node number then I'll accept
- * it now.
- */
- if (compare_node (wo->his_node, ho->his_node)) {
- orc = CONFACK;
- ho->neg_node = 1;
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If his node number is the same as ours then ask him to try the next
- * value.
- */
- if (compare_node (ho->his_node, go->our_node)) {
- inc_node (ho->his_node);
- orc = CONFNAK;
- copy_node (ho->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- break;
- }
-/*
- * If we don't accept a new value then NAK it.
- */
- if (! ao->accept_remote) {
- copy_node (wo->his_node, p);
- INCPTR (sizeof (wo->his_node), p);
- orc = CONFNAK;
- break;
- }
- orc = CONFACK;
- ho->neg_node = 1;
- INCPTR (sizeof (wo->his_node), p);
- break;
-/*
- * Compression is not desired at this time. It is always rejected.
- */
- case IPX_COMPRESSION_PROTOCOL:
- orc = CONFREJ;
- break;
-/*
- * The routing protocol is a bitmask of various types. Any combination
- * of the values RIP_SAP and NLSP are permissible. 'IPX_NONE' for no
- * routing protocol must be specified only once.
- */
- case IPX_ROUTER_PROTOCOL:
- if ( !ao->neg_router || cilen < CILEN_PROTOCOL ) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT (cishort, p);
-
- if (wo->neg_router == 0) {
- wo->neg_router = 1;
- wo->router = BIT(IPX_NONE);
- }
-
- if ((cishort == IPX_NONE && ho->router != 0) ||
- (ho->router & BIT(IPX_NONE))) {
- orc = CONFREJ;
- break;
- }
-
- cishort = BIT(cishort);
- if (ho->router & cishort) {
- orc = CONFREJ;
- break;
- }
-
- ho->router |= cishort;
- ho->neg_router = 1;
-
- /* Finally do not allow a router protocol which we do not
- support. */
-
- if ((cishort & (ao->router | BIT(IPX_NONE))) == 0) {
- int protocol;
-
- if (cishort == BIT(NLSP) &&
- (ao->router & BIT(RIP_SAP)) &&
- !wo->tried_rip) {
- protocol = RIP_SAP;
- wo->tried_rip = 1;
- } else
- protocol = IPX_NONE;
-
- DECPTR (sizeof (u_int16_t), p);
- PUTSHORT (protocol, p);
- orc = CONFNAK;
- }
- break;
-/*
- * The router name is advisorary. Just accept it if it is not too large.
- */
- case IPX_ROUTER_NAME:
- if (cilen >= CILEN_NAME) {
- int name_size = cilen - CILEN_NAME;
- if (name_size > sizeof (ho->name))
- name_size = sizeof (ho->name) - 1;
- memset (ho->name, 0, sizeof (ho->name));
- memcpy (ho->name, p, name_size);
- ho->name [name_size] = '\0';
- ho->neg_name = 1;
- orc = CONFACK;
- break;
- }
- orc = CONFREJ;
- break;
-/*
- * This is advisorary.
- */
- case IPX_COMPLETE:
- if (cilen != CILEN_COMPLETE)
- orc = CONFREJ;
- else {
- ho->neg_complete = 1;
- orc = CONFACK;
- }
- break;
-/*
- * All other entries are not known at this time.
- */
- default:
- orc = CONFREJ;
- break;
- }
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree) /* Getting fed up with sending NAKs? */
- orc = CONFREJ; /* Get tough if so */
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- if (rc == CONFACK) { /* Ack'd all prior CIs? */
- rc = CONFNAK; /* Not anymore... */
- ucp = inp; /* Backup */
- }
- }
-
- if (orc == CONFREJ && /* Reject this CI */
- rc != CONFREJ) { /* but no prior ones? */
- rc = CONFREJ;
- ucp = inp; /* Backup */
- }
-
- /* Need to move CI? */
- if (ucp != cip)
- BCOPY(cip, ucp, cilen); /* Move it */
-
- /* Update output pointer */
- INCPTR(cilen, ucp);
- }
-
- /*
- * If we aren't rejecting this packet, and we want to negotiate
- * their address, and they didn't send their address, then we
- * send a NAK with a IPX_NODE_NUMBER option appended. We assume the
- * input buffer is long enough that we can append the extra
- * option safely.
- */
-
- if (rc != CONFREJ && !ho->neg_node &&
- wo->req_nn && !reject_if_disagree) {
- if (rc == CONFACK) {
- rc = CONFNAK;
- wo->req_nn = 0; /* don't ask again */
- ucp = inp; /* reset pointer */
- }
-
- if (zero_node (wo->his_node))
- inc_node (wo->his_node);
-
- PUTCHAR (IPX_NODE_NUMBER, ucp);
- PUTCHAR (CILEN_NODEN, ucp);
- copy_node (wo->his_node, ucp);
- INCPTR (sizeof (wo->his_node), ucp);
- }
-
- *len = ucp - inp; /* Compute output length */
- IPXCPDEBUG(("ipxcp: returning Configure-%s", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-/*
- * ipxcp_up - IPXCP has come UP.
- *
- * Configure the IP network interface appropriately and bring it up.
- */
-
-static void
-ipxcp_up(f)
- fsm *f;
-{
- int unit = f->unit;
-
- IPXCPDEBUG(("ipxcp: up"));
-
- /* The default router protocol is RIP/SAP. */
- if (ho->router == 0)
- ho->router = BIT(RIP_SAP);
-
- if (go->router == 0)
- go->router = BIT(RIP_SAP);
-
- /* Fetch the network number */
- if (!ho->neg_nn)
- ho->his_network = wo->his_network;
-
- if (!ho->neg_node)
- copy_node (wo->his_node, ho->his_node);
-
- if (!wo->neg_node && !go->neg_node)
- copy_node (wo->our_node, go->our_node);
-
- if (zero_node (go->our_node)) {
- static char errmsg[] = "Could not determine local IPX node address";
- if (debug)
- error(errmsg);
- ipxcp_close(f->unit, errmsg);
- return;
- }
-
- go->network = go->our_network;
- if (ho->his_network != 0 && ho->his_network > go->network)
- go->network = ho->his_network;
-
- if (go->network == 0) {
- static char errmsg[] = "Can not determine network number";
- if (debug)
- error(errmsg);
- ipxcp_close (unit, errmsg);
- return;
- }
-
- /* bring the interface up */
- if (!sifup(unit)) {
- if (debug)
- warn("sifup failed (IPX)");
- ipxcp_close(unit, "Interface configuration failed");
- return;
- }
- ipxcp_is_up = 1;
-
- /* set the network number for IPX */
- if (!sipxfaddr(unit, go->network, go->our_node)) {
- if (debug)
- warn("sipxfaddr failed");
- ipxcp_close(unit, "Interface configuration failed");
- return;
- }
-
- np_up(f->unit, PPP_IPX);
-
- /*
- * Execute the ipx-up script, like this:
- * /etc/ppp/ipx-up interface tty speed local-IPX remote-IPX
- */
-
- ipxcp_script (f, _PATH_IPXUP);
-}
-
-/*
- * ipxcp_down - IPXCP has gone DOWN.
- *
- * Take the IP network interface down, clear its addresses
- * and delete routes through it.
- */
-
-static void
-ipxcp_down(f)
- fsm *f;
-{
- IPXCPDEBUG(("ipxcp: down"));
-
- if (!ipxcp_is_up)
- return;
- ipxcp_is_up = 0;
- np_down(f->unit, PPP_IPX);
- cipxfaddr(f->unit);
- sifnpmode(f->unit, PPP_IPX, NPMODE_DROP);
- sifdown(f->unit);
- ipxcp_script (f, _PATH_IPXDOWN);
-}
-
-
-/*
- * ipxcp_finished - possibly shut down the lower layers.
- */
-static void
-ipxcp_finished(f)
- fsm *f;
-{
- np_finished(f->unit, PPP_IPX);
-}
-
-
-/*
- * ipxcp_script - Execute a script with arguments
- * interface-name tty-name speed local-IPX remote-IPX networks.
- */
-static void
-ipxcp_script(f, script)
- fsm *f;
- char *script;
-{
- char strspeed[32], strlocal[32], strremote[32];
- char strnetwork[32], strpid[32];
- char *argv[14], strproto_lcl[32], strproto_rmt[32];
-
- slprintf(strpid, sizeof(strpid), "%d", getpid());
- slprintf(strspeed, sizeof(strspeed),"%d", baud_rate);
-
- strproto_lcl[0] = '\0';
- if (go->neg_router && ((go->router & BIT(IPX_NONE)) == 0)) {
- if (go->router & BIT(RIP_SAP))
- strlcpy (strproto_lcl, "RIP ", sizeof(strproto_lcl));
- if (go->router & BIT(NLSP))
- strlcat (strproto_lcl, "NLSP ", sizeof(strproto_lcl));
- }
-
- if (strproto_lcl[0] == '\0')
- strlcpy (strproto_lcl, "NONE ", sizeof(strproto_lcl));
-
- strproto_lcl[strlen (strproto_lcl)-1] = '\0';
-
- strproto_rmt[0] = '\0';
- if (ho->neg_router && ((ho->router & BIT(IPX_NONE)) == 0)) {
- if (ho->router & BIT(RIP_SAP))
- strlcpy (strproto_rmt, "RIP ", sizeof(strproto_rmt));
- if (ho->router & BIT(NLSP))
- strlcat (strproto_rmt, "NLSP ", sizeof(strproto_rmt));
- }
-
- if (strproto_rmt[0] == '\0')
- strlcpy (strproto_rmt, "NONE ", sizeof(strproto_rmt));
-
- strproto_rmt[strlen (strproto_rmt)-1] = '\0';
-
- strlcpy (strnetwork, ipx_ntoa (go->network), sizeof(strnetwork));
-
- slprintf (strlocal, sizeof(strlocal), "%0.6B", go->our_node);
-
- slprintf (strremote, sizeof(strremote), "%0.6B", ho->his_node);
-
- argv[0] = script;
- argv[1] = ifname;
- argv[2] = devnam;
- argv[3] = strspeed;
- argv[4] = strnetwork;
- argv[5] = strlocal;
- argv[6] = strremote;
- argv[7] = strproto_lcl;
- argv[8] = strproto_rmt;
- argv[9] = go->name;
- argv[10] = ho->name;
- argv[11] = ipparam;
- argv[12] = strpid;
- argv[13] = NULL;
- run_program(script, argv, 0, NULL, NULL);
-}
-
-/*
- * ipxcp_printpkt - print the contents of an IPXCP packet.
- */
-static char *ipxcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej"
-};
-
-static int
-ipxcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(ipxcp_codenames) / sizeof(char *))
- printer(arg, " %s", ipxcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < CILEN_VOID || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case IPX_NETWORK_NUMBER:
- if (olen == CILEN_NETN) {
- p += 2;
- GETLONG(cilong, p);
- printer (arg, "network %s", ipx_ntoa (cilong));
- }
- break;
- case IPX_NODE_NUMBER:
- if (olen == CILEN_NODEN) {
- p += 2;
- printer (arg, "node ");
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, "%.2x", (int) (unsigned int) (unsigned char) code);
- }
- }
- break;
- case IPX_COMPRESSION_PROTOCOL:
- if (olen == CILEN_COMPRESS) {
- p += 2;
- GETSHORT (cishort, p);
- printer (arg, "compression %d", (int) cishort);
- }
- break;
- case IPX_ROUTER_PROTOCOL:
- if (olen == CILEN_PROTOCOL) {
- p += 2;
- GETSHORT (cishort, p);
- printer (arg, "router proto %d", (int) cishort);
- }
- break;
- case IPX_ROUTER_NAME:
- if (olen >= CILEN_NAME) {
- p += 2;
- printer (arg, "router name \"");
- while (p < optend) {
- GETCHAR(code, p);
- if (code >= 0x20 && code <= 0x7E)
- printer (arg, "%c", (int) (unsigned int) (unsigned char) code);
- else
- printer (arg, " \\%.2x", (int) (unsigned int) (unsigned char) code);
- }
- printer (arg, "\"");
- }
- break;
- case IPX_COMPLETE:
- if (olen == CILEN_COMPLETE) {
- p += 2;
- printer (arg, "complete");
- }
- break;
- default:
- break;
- }
-
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string(p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
- }
-
- return p - pstart;
-}
-#endif /* ifdef IPX_CHANGE */
diff --git a/mdk-stage1/ppp/pppd/ipxcp.h b/mdk-stage1/ppp/pppd/ipxcp.h
deleted file mode 100644
index 47f680d70..000000000
--- a/mdk-stage1/ppp/pppd/ipxcp.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * ipxcp.h - IPX Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
-#define IPX_NODE_NUMBER 2
-#define IPX_COMPRESSION_PROTOCOL 3
-#define IPX_ROUTER_PROTOCOL 4
-#define IPX_ROUTER_NAME 5
-#define IPX_COMPLETE 6
-
-/* Values for the router protocol */
-#define IPX_NONE 0
-#define RIP_SAP 2
-#define NLSP 4
-
-typedef struct ipxcp_options {
- bool neg_node; /* Negotiate IPX node number? */
- bool req_node; /* Ask peer to send IPX node number? */
-
- bool neg_nn; /* Negotiate IPX network number? */
- bool req_nn; /* Ask peer to send IPX network number */
-
- bool neg_name; /* Negotiate IPX router name */
- bool neg_complete; /* Negotiate completion */
- bool neg_router; /* Negotiate IPX router number */
-
- bool accept_local; /* accept peer's value for ournode */
- bool accept_remote; /* accept peer's value for hisnode */
- bool accept_network; /* accept network number */
-
- bool tried_nlsp; /* I have suggested NLSP already */
- bool tried_rip; /* I have suggested RIP/SAP already */
-
- u_int32_t his_network; /* base network number */
- u_int32_t our_network; /* our value for network number */
- u_int32_t network; /* the final network number */
-
- u_char his_node[6]; /* peer's node number */
- u_char our_node[6]; /* our node number */
- u_char name [48]; /* name of the router */
- int router; /* routing protocol */
-} ipxcp_options;
-
-extern fsm ipxcp_fsm[];
-extern ipxcp_options ipxcp_wantoptions[];
-extern ipxcp_options ipxcp_gotoptions[];
-extern ipxcp_options ipxcp_allowoptions[];
-extern ipxcp_options ipxcp_hisoptions[];
-
-extern struct protent ipxcp_protent;
diff --git a/mdk-stage1/ppp/pppd/lcp.c b/mdk-stage1/ppp/pppd/lcp.c
deleted file mode 100644
index 41c58cad5..000000000
--- a/mdk-stage1/ppp/pppd/lcp.c
+++ /dev/null
@@ -1,2224 +0,0 @@
-/*
- * lcp.c - PPP Link Control Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "chap.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-/*
- * When the link comes up we want to be able to wait for a short while,
- * or until seeing some input from the peer, before starting to send
- * configure-requests. We do this by delaying the fsm_lowerup call.
- */
-/* steal a bit in fsm flags word */
-#define DELAYED_UP 0x100
-
-static void lcp_delayed_up __P((void *));
-
-/*
- * LCP-related command-line options.
- */
-int lcp_echo_interval = 0; /* Interval between LCP echo-requests */
-int lcp_echo_fails = 0; /* Tolerance to unanswered echo-requests */
-bool lax_recv = 0; /* accept control chars in asyncmap */
-bool noendpoint = 0; /* don't send/accept endpoint discriminator */
-
-static int noopt __P((char **));
-
-#ifdef HAVE_MULTILINK
-static int setendpoint __P((char **));
-static void printendpoint __P((option_t *, void (*)(void *, char *, ...),
- void *));
-#endif /* HAVE_MULTILINK */
-
-static option_t lcp_option_list[] = {
- /* LCP options */
- { "-all", o_special_noarg, (void *)noopt,
- "Don't request/allow any LCP options" },
-
- { "noaccomp", o_bool, &lcp_wantoptions[0].neg_accompression,
- "Disable address/control compression",
- OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
- { "-ac", o_bool, &lcp_wantoptions[0].neg_accompression,
- "Disable address/control compression",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
-
- { "asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Set asyncmap (for received packets)",
- OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
- { "-as", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Set asyncmap (for received packets)",
- OPT_ALIAS | OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
- { "default-asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Disable asyncmap negotiation",
- OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
- &lcp_allowoptions[0].neg_asyncmap },
- { "-am", o_uint32, &lcp_wantoptions[0].asyncmap,
- "Disable asyncmap negotiation",
- OPT_ALIAS | OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
- &lcp_allowoptions[0].neg_asyncmap },
-
- { "nomagic", o_bool, &lcp_wantoptions[0].neg_magicnumber,
- "Disable magic number negotiation (looped-back line detection)",
- OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
- { "-mn", o_bool, &lcp_wantoptions[0].neg_magicnumber,
- "Disable magic number negotiation (looped-back line detection)",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
-
- { "mru", o_int, &lcp_wantoptions[0].mru,
- "Set MRU (maximum received packet size) for negotiation",
- OPT_PRIO, &lcp_wantoptions[0].neg_mru },
- { "default-mru", o_bool, &lcp_wantoptions[0].neg_mru,
- "Disable MRU negotiation (use default 1500)",
- OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
- { "-mru", o_bool, &lcp_wantoptions[0].neg_mru,
- "Disable MRU negotiation (use default 1500)",
- OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
-
- { "mtu", o_int, &lcp_allowoptions[0].mru,
- "Set our MTU", OPT_LIMITS, NULL, MAXMRU, MINMRU },
-
- { "nopcomp", o_bool, &lcp_wantoptions[0].neg_pcompression,
- "Disable protocol field compression",
- OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
- { "-pc", o_bool, &lcp_wantoptions[0].neg_pcompression,
- "Disable protocol field compression",
- OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
-
- { "passive", o_bool, &lcp_wantoptions[0].passive,
- "Set passive mode", 1 },
- { "-p", o_bool, &lcp_wantoptions[0].passive,
- "Set passive mode", OPT_ALIAS | 1 },
-
- { "silent", o_bool, &lcp_wantoptions[0].silent,
- "Set silent mode", 1 },
-
- { "lcp-echo-failure", o_int, &lcp_echo_fails,
- "Set number of consecutive echo failures to indicate link failure",
- OPT_PRIO },
- { "lcp-echo-interval", o_int, &lcp_echo_interval,
- "Set time in seconds between LCP echo requests", OPT_PRIO },
- { "lcp-restart", o_int, &lcp_fsm[0].timeouttime,
- "Set time in seconds between LCP retransmissions", OPT_PRIO },
- { "lcp-max-terminate", o_int, &lcp_fsm[0].maxtermtransmits,
- "Set maximum number of LCP terminate-request transmissions", OPT_PRIO },
- { "lcp-max-configure", o_int, &lcp_fsm[0].maxconfreqtransmits,
- "Set maximum number of LCP configure-request transmissions", OPT_PRIO },
- { "lcp-max-failure", o_int, &lcp_fsm[0].maxnakloops,
- "Set limit on number of LCP configure-naks", OPT_PRIO },
-
- { "receive-all", o_bool, &lax_recv,
- "Accept all received control characters", 1 },
-
-#ifdef HAVE_MULTILINK
- { "mrru", o_int, &lcp_wantoptions[0].mrru,
- "Maximum received packet size for multilink bundle",
- OPT_PRIO, &lcp_wantoptions[0].neg_mrru },
-
- { "mpshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
- "Use short sequence numbers in multilink headers",
- OPT_PRIO | 1, &lcp_allowoptions[0].neg_ssnhf },
- { "nompshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
- "Don't use short sequence numbers in multilink headers",
- OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_ssnhf },
-
- { "endpoint", o_special, (void *) setendpoint,
- "Endpoint discriminator for multilink",
- OPT_PRIO | OPT_A2PRINTER, (void *) printendpoint },
-#endif /* HAVE_MULTILINK */
-
- { "noendpoint", o_bool, &noendpoint,
- "Don't send or accept multilink endpoint discriminator", 1 },
-
- {NULL}
-};
-
-/* global vars */
-fsm lcp_fsm[NUM_PPP]; /* LCP fsm structure (global)*/
-lcp_options lcp_wantoptions[NUM_PPP]; /* Options that we want to request */
-lcp_options lcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
-lcp_options lcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
-lcp_options lcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
-
-static int lcp_echos_pending = 0; /* Number of outstanding echo msgs */
-static int lcp_echo_number = 0; /* ID number of next echo frame */
-static int lcp_echo_timer_running = 0; /* set if a timer is running */
-
-static u_char nak_buffer[PPP_MRU]; /* where we construct a nak packet */
-
-/*
- * Callbacks for fsm code. (CI = Configuration Information)
- */
-static void lcp_resetci __P((fsm *)); /* Reset our CI */
-static int lcp_cilen __P((fsm *)); /* Return length of our CI */
-static void lcp_addci __P((fsm *, u_char *, int *)); /* Add our CI to pkt */
-static int lcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
-static int lcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
-static int lcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
-static int lcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv peer CI */
-static void lcp_up __P((fsm *)); /* We're UP */
-static void lcp_down __P((fsm *)); /* We're DOWN */
-static void lcp_starting __P((fsm *)); /* We need lower layer up */
-static void lcp_finished __P((fsm *)); /* We need lower layer down */
-static int lcp_extcode __P((fsm *, int, int, u_char *, int));
-static void lcp_rprotrej __P((fsm *, u_char *, int));
-
-/*
- * routines to send LCP echos to peer
- */
-
-static void lcp_echo_lowerup __P((int));
-static void lcp_echo_lowerdown __P((int));
-static void LcpEchoTimeout __P((void *));
-static void lcp_received_echo_reply __P((fsm *, int, u_char *, int));
-static void LcpSendEchoRequest __P((fsm *));
-static void LcpLinkFailure __P((fsm *));
-static void LcpEchoCheck __P((fsm *));
-
-static fsm_callbacks lcp_callbacks = { /* LCP callback routines */
- lcp_resetci, /* Reset our Configuration Information */
- lcp_cilen, /* Length of our Configuration Information */
- lcp_addci, /* Add our Configuration Information */
- lcp_ackci, /* ACK our Configuration Information */
- lcp_nakci, /* NAK our Configuration Information */
- lcp_rejci, /* Reject our Configuration Information */
- lcp_reqci, /* Request peer's Configuration Information */
- lcp_up, /* Called when fsm reaches OPENED state */
- lcp_down, /* Called when fsm leaves OPENED state */
- lcp_starting, /* Called when we want the lower layer up */
- lcp_finished, /* Called when we want the lower layer down */
- NULL, /* Called when Protocol-Reject received */
- NULL, /* Retransmission is necessary */
- lcp_extcode, /* Called to handle LCP-specific codes */
- "LCP" /* String name of protocol */
-};
-
-/*
- * Protocol entry points.
- * Some of these are called directly.
- */
-
-static void lcp_init __P((int));
-static void lcp_input __P((int, u_char *, int));
-static void lcp_protrej __P((int));
-static int lcp_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent lcp_protent = {
- PPP_LCP,
- lcp_init,
- lcp_input,
- lcp_protrej,
- lcp_lowerup,
- lcp_lowerdown,
- lcp_open,
- lcp_close,
- lcp_printpkt,
- NULL,
- 1,
- "LCP",
- NULL,
- lcp_option_list,
- NULL,
- NULL,
- NULL
-};
-
-int lcp_loopbackfail = DEFLOOPBACKFAIL;
-
-/*
- * Length of each type of configuration option (in octets)
- */
-#define CILEN_VOID 2
-#define CILEN_CHAR 3
-#define CILEN_SHORT 4 /* CILEN_VOID + 2 */
-#define CILEN_CHAP 5 /* CILEN_VOID + 2 + 1 */
-#define CILEN_LONG 6 /* CILEN_VOID + 4 */
-#define CILEN_LQR 8 /* CILEN_VOID + 2 + 4 */
-#define CILEN_CBCP 3
-
-#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
- (x) == CONFNAK ? "NAK" : "REJ")
-
-/*
- * noopt - Disable all options (why?).
- */
-static int
-noopt(argv)
- char **argv;
-{
- BZERO((char *) &lcp_wantoptions[0], sizeof (struct lcp_options));
- BZERO((char *) &lcp_allowoptions[0], sizeof (struct lcp_options));
-
- return (1);
-}
-
-#ifdef HAVE_MULTILINK
-static int
-setendpoint(argv)
- char **argv;
-{
- if (str_to_epdisc(&lcp_wantoptions[0].endpoint, *argv)) {
- lcp_wantoptions[0].neg_endpoint = 1;
- return 1;
- }
- option_error("Can't parse '%s' as an endpoint discriminator", *argv);
- return 0;
-}
-
-static void
-printendpoint(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- printer(arg, "%s", epdisc_to_str(&lcp_wantoptions[0].endpoint));
-}
-#endif /* HAVE_MULTILINK */
-
-/*
- * lcp_init - Initialize LCP.
- */
-static void
-lcp_init(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
- lcp_options *wo = &lcp_wantoptions[unit];
- lcp_options *ao = &lcp_allowoptions[unit];
-
- f->unit = unit;
- f->protocol = PPP_LCP;
- f->callbacks = &lcp_callbacks;
-
- fsm_init(f);
-
- BZERO(wo, sizeof(*wo));
- wo->neg_mru = 1;
- wo->mru = DEFMRU;
- wo->neg_asyncmap = 1;
- wo->chap_mdtype = CHAP_DIGEST_MD5;
- wo->neg_magicnumber = 1;
- wo->neg_pcompression = 1;
- wo->neg_accompression = 1;
-
- BZERO(ao, sizeof(*ao));
- ao->neg_mru = 1;
- ao->mru = MAXMRU;
- ao->neg_asyncmap = 1;
- ao->neg_chap = 1;
- ao->chap_mdtype = CHAP_DIGEST_MD5;
- ao->neg_upap = 1;
- ao->neg_magicnumber = 1;
- ao->neg_pcompression = 1;
- ao->neg_accompression = 1;
-#ifdef CBCP_SUPPORT
- ao->neg_cbcp = 1;
-#endif
- ao->neg_endpoint = 1;
-}
-
-
-/*
- * lcp_open - LCP is allowed to come up.
- */
-void
-lcp_open(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
- lcp_options *wo = &lcp_wantoptions[unit];
-
- f->flags &= ~(OPT_PASSIVE | OPT_SILENT);
- if (wo->passive)
- f->flags |= OPT_PASSIVE;
- if (wo->silent)
- f->flags |= OPT_SILENT;
- fsm_open(f);
-}
-
-
-/*
- * lcp_close - Take LCP down.
- */
-void
-lcp_close(unit, reason)
- int unit;
- char *reason;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (phase != PHASE_DEAD)
- new_phase(PHASE_TERMINATE);
- if (f->state == STOPPED && f->flags & (OPT_PASSIVE|OPT_SILENT)) {
- /*
- * This action is not strictly according to the FSM in RFC1548,
- * but it does mean that the program terminates if you do a
- * lcp_close() in passive/silent mode when a connection hasn't
- * been established.
- */
- f->state = CLOSED;
- lcp_finished(f);
-
- } else
- fsm_close(&lcp_fsm[unit], reason);
-}
-
-
-/*
- * lcp_lowerup - The lower layer is up.
- */
-void
-lcp_lowerup(unit)
- int unit;
-{
- lcp_options *wo = &lcp_wantoptions[unit];
- fsm *f = &lcp_fsm[unit];
-
- /*
- * Don't use A/C or protocol compression on transmission,
- * but accept A/C and protocol compressed packets
- * if we are going to ask for A/C and protocol compression.
- */
- ppp_send_config(unit, PPP_MRU, 0xffffffff, 0, 0);
- ppp_recv_config(unit, PPP_MRU, (lax_recv? 0: 0xffffffff),
- wo->neg_pcompression, wo->neg_accompression);
- peer_mru[unit] = PPP_MRU;
-
- if (listen_time != 0) {
- f->flags |= DELAYED_UP;
- timeout(lcp_delayed_up, f, 0, listen_time * 1000);
- } else
- fsm_lowerup(f);
-}
-
-
-/*
- * lcp_lowerdown - The lower layer is down.
- */
-void
-lcp_lowerdown(unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (f->flags & DELAYED_UP)
- f->flags &= ~DELAYED_UP;
- else
- fsm_lowerdown(&lcp_fsm[unit]);
-}
-
-
-/*
- * lcp_delayed_up - Bring the lower layer up now.
- */
-static void
-lcp_delayed_up(arg)
- void *arg;
-{
- fsm *f = arg;
-
- if (f->flags & DELAYED_UP) {
- f->flags &= ~DELAYED_UP;
- fsm_lowerup(f);
- }
-}
-
-
-/*
- * lcp_input - Input LCP packet.
- */
-static void
-lcp_input(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (f->flags & DELAYED_UP) {
- f->flags &= ~DELAYED_UP;
- fsm_lowerup(f);
- }
- fsm_input(f, p, len);
-}
-
-
-/*
- * lcp_extcode - Handle a LCP-specific code.
- */
-static int
-lcp_extcode(f, code, id, inp, len)
- fsm *f;
- int code, id;
- u_char *inp;
- int len;
-{
- u_char *magp;
-
- switch( code ){
- case PROTREJ:
- lcp_rprotrej(f, inp, len);
- break;
-
- case ECHOREQ:
- if (f->state != OPENED)
- break;
- magp = inp;
- PUTLONG(lcp_gotoptions[f->unit].magicnumber, magp);
- fsm_sdata(f, ECHOREP, id, inp, len);
- break;
-
- case ECHOREP:
- lcp_received_echo_reply(f, id, inp, len);
- break;
-
- case DISCREQ:
- break;
-
- default:
- return 0;
- }
- return 1;
-}
-
-
-/*
- * lcp_rprotrej - Receive an Protocol-Reject.
- *
- * Figure out which protocol is rejected and inform it.
- */
-static void
-lcp_rprotrej(f, inp, len)
- fsm *f;
- u_char *inp;
- int len;
-{
- int i;
- struct protent *protp;
- u_short prot;
-
- if (len < 2) {
- LCPDEBUG(("lcp_rprotrej: Rcvd short Protocol-Reject packet!"));
- return;
- }
-
- GETSHORT(prot, inp);
-
- /*
- * Protocol-Reject packets received in any state other than the LCP
- * OPENED state SHOULD be silently discarded.
- */
- if( f->state != OPENED ){
- LCPDEBUG(("Protocol-Reject discarded: LCP in state %d", f->state));
- return;
- }
-
- /*
- * Upcall the proper Protocol-Reject routine.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->protocol == prot && protp->enabled_flag) {
- (*protp->protrej)(f->unit);
- return;
- }
-
- warn("Protocol-Reject for unsupported protocol 0x%x", prot);
-}
-
-
-/*
- * lcp_protrej - A Protocol-Reject was received.
- */
-/*ARGSUSED*/
-static void
-lcp_protrej(unit)
- int unit;
-{
- /*
- * Can't reject LCP!
- */
- error("Received Protocol-Reject for LCP!");
- fsm_protreject(&lcp_fsm[unit]);
-}
-
-
-/*
- * lcp_sprotrej - Send a Protocol-Reject for some protocol.
- */
-void
-lcp_sprotrej(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- /*
- * Send back the protocol and the information field of the
- * rejected packet. We only get here if LCP is in the OPENED state.
- */
- p += 2;
- len -= 2;
-
- fsm_sdata(&lcp_fsm[unit], PROTREJ, ++lcp_fsm[unit].id,
- p, len);
-}
-
-
-/*
- * lcp_resetci - Reset our CI.
- */
-static void
-lcp_resetci(f)
- fsm *f;
-{
- lcp_options *wo = &lcp_wantoptions[f->unit];
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
-
- wo->magicnumber = magic();
- wo->numloops = 0;
- *go = *wo;
- if (!multilink) {
- go->neg_mrru = 0;
- go->neg_ssnhf = 0;
- go->neg_endpoint = 0;
- }
- if (noendpoint)
- ao->neg_endpoint = 0;
- peer_mru[f->unit] = PPP_MRU;
- auth_reset(f->unit);
-}
-
-
-/*
- * lcp_cilen - Return length of our CI.
- */
-static int
-lcp_cilen(f)
- fsm *f;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
-
-#define LENCIVOID(neg) ((neg) ? CILEN_VOID : 0)
-#define LENCICHAP(neg) ((neg) ? CILEN_CHAP : 0)
-#define LENCISHORT(neg) ((neg) ? CILEN_SHORT : 0)
-#define LENCILONG(neg) ((neg) ? CILEN_LONG : 0)
-#define LENCILQR(neg) ((neg) ? CILEN_LQR: 0)
-#define LENCICBCP(neg) ((neg) ? CILEN_CBCP: 0)
- /*
- * NB: we only ask for one of CHAP and UPAP, even if we will
- * accept either.
- */
- return (LENCISHORT(go->neg_mru && go->mru != DEFMRU) +
- LENCILONG(go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) +
- LENCICHAP(go->neg_chap) +
- LENCISHORT(!go->neg_chap && go->neg_upap) +
- LENCILQR(go->neg_lqr) +
- LENCICBCP(go->neg_cbcp) +
- LENCILONG(go->neg_magicnumber) +
- LENCIVOID(go->neg_pcompression) +
- LENCIVOID(go->neg_accompression) +
- LENCISHORT(go->neg_mrru) +
- LENCIVOID(go->neg_ssnhf) +
- (go->neg_endpoint? CILEN_CHAR + go->endpoint.length: 0));
-}
-
-
-/*
- * lcp_addci - Add our desired CIs to a packet.
- */
-static void
-lcp_addci(f, ucp, lenp)
- fsm *f;
- u_char *ucp;
- int *lenp;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char *start_ucp = ucp;
-
-#define ADDCIVOID(opt, neg) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_VOID, ucp); \
- }
-#define ADDCISHORT(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_SHORT, ucp); \
- PUTSHORT(val, ucp); \
- }
-#define ADDCICHAP(opt, neg, val, digest) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAP, ucp); \
- PUTSHORT(val, ucp); \
- PUTCHAR(digest, ucp); \
- }
-#define ADDCILONG(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_LONG, ucp); \
- PUTLONG(val, ucp); \
- }
-#define ADDCILQR(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_LQR, ucp); \
- PUTSHORT(PPP_LQR, ucp); \
- PUTLONG(val, ucp); \
- }
-#define ADDCICHAR(opt, neg, val) \
- if (neg) { \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAR, ucp); \
- PUTCHAR(val, ucp); \
- }
-#define ADDCIENDP(opt, neg, class, val, len) \
- if (neg) { \
- int i; \
- PUTCHAR(opt, ucp); \
- PUTCHAR(CILEN_CHAR + len, ucp); \
- PUTCHAR(class, ucp); \
- for (i = 0; i < len; ++i) \
- PUTCHAR(val[i], ucp); \
- }
-
- ADDCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
- ADDCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
- go->asyncmap);
- ADDCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
- ADDCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
- ADDCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
- ADDCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
- ADDCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
- ADDCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
- ADDCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
- ADDCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
- ADDCIVOID(CI_SSNHF, go->neg_ssnhf);
- ADDCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- if (ucp - start_ucp != *lenp) {
- /* this should never happen, because peer_mtu should be 1500 */
- error("Bug in lcp_addci: wrong length");
- }
-}
-
-
-/*
- * lcp_ackci - Ack our CIs.
- * This should not modify any state if the Ack is bad.
- *
- * Returns:
- * 0 - Ack was bad.
- * 1 - Ack was good.
- */
-static int
-lcp_ackci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char cilen, citype, cichar;
- u_short cishort;
- u_int32_t cilong;
-
- /*
- * CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define ACKCIVOID(opt, neg) \
- if (neg) { \
- if ((len -= CILEN_VOID) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_VOID || \
- citype != opt) \
- goto bad; \
- }
-#define ACKCISHORT(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_SHORT) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_SHORT || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- }
-#define ACKCICHAR(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_CHAR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAR || \
- citype != opt) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != val) \
- goto bad; \
- }
-#define ACKCICHAP(opt, neg, val, digest) \
- if (neg) { \
- if ((len -= CILEN_CHAP) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAP || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != val) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != digest) \
- goto bad; \
- }
-#define ACKCILONG(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_LONG) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_LONG || \
- citype != opt) \
- goto bad; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- goto bad; \
- }
-#define ACKCILQR(opt, neg, val) \
- if (neg) { \
- if ((len -= CILEN_LQR) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_LQR || \
- citype != opt) \
- goto bad; \
- GETSHORT(cishort, p); \
- if (cishort != PPP_LQR) \
- goto bad; \
- GETLONG(cilong, p); \
- if (cilong != val) \
- goto bad; \
- }
-#define ACKCIENDP(opt, neg, class, val, vlen) \
- if (neg) { \
- int i; \
- if ((len -= CILEN_CHAR + vlen) < 0) \
- goto bad; \
- GETCHAR(citype, p); \
- GETCHAR(cilen, p); \
- if (cilen != CILEN_CHAR + vlen || \
- citype != opt) \
- goto bad; \
- GETCHAR(cichar, p); \
- if (cichar != class) \
- goto bad; \
- for (i = 0; i < vlen; ++i) { \
- GETCHAR(cichar, p); \
- if (cichar != val[i]) \
- goto bad; \
- } \
- }
-
- ACKCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
- ACKCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
- go->asyncmap);
- ACKCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
- ACKCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
- ACKCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
- ACKCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
- ACKCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
- ACKCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
- ACKCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
- ACKCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
- ACKCIVOID(CI_SSNHF, go->neg_ssnhf);
- ACKCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- return (1);
-bad:
- LCPDEBUG(("lcp_acki: received bad Ack!"));
- return (0);
-}
-
-
-/*
- * lcp_nakci - Peer has sent a NAK for some of our CIs.
- * This should not modify any state if the Nak is bad
- * or if LCP is in the OPENED state.
- *
- * Returns:
- * 0 - Nak was bad.
- * 1 - Nak was good.
- */
-static int
-lcp_nakci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *wo = &lcp_wantoptions[f->unit];
- u_char citype, cichar, *next;
- u_short cishort;
- u_int32_t cilong;
- lcp_options no; /* options we've seen Naks for */
- lcp_options try; /* options to request next time */
- int looped_back = 0;
- int cilen;
-
- BZERO(&no, sizeof(no));
- try = *go;
-
- /*
- * Any Nak'd CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define NAKCIVOID(opt, neg) \
- if (go->neg && \
- len >= CILEN_VOID && \
- p[1] == CILEN_VOID && \
- p[0] == opt) { \
- len -= CILEN_VOID; \
- INCPTR(CILEN_VOID, p); \
- no.neg = 1; \
- try.neg = 0; \
- }
-#define NAKCICHAP(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_CHAP && \
- p[1] == CILEN_CHAP && \
- p[0] == opt) { \
- len -= CILEN_CHAP; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETCHAR(cichar, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCICHAR(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_CHAR && \
- p[1] == CILEN_CHAR && \
- p[0] == opt) { \
- len -= CILEN_CHAR; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCISHORT(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_SHORT && \
- p[1] == CILEN_SHORT && \
- p[0] == opt) { \
- len -= CILEN_SHORT; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCILONG(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_LONG && \
- p[1] == CILEN_LONG && \
- p[0] == opt) { \
- len -= CILEN_LONG; \
- INCPTR(2, p); \
- GETLONG(cilong, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCILQR(opt, neg, code) \
- if (go->neg && \
- len >= CILEN_LQR && \
- p[1] == CILEN_LQR && \
- p[0] == opt) { \
- len -= CILEN_LQR; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETLONG(cilong, p); \
- no.neg = 1; \
- code \
- }
-#define NAKCIENDP(opt, neg) \
- if (go->neg && \
- len >= CILEN_CHAR && \
- p[0] == opt && \
- p[1] >= CILEN_CHAR && \
- p[1] <= len) { \
- len -= p[1]; \
- INCPTR(p[1], p); \
- no.neg = 1; \
- try.neg = 0; \
- }
-
- /*
- * We don't care if they want to send us smaller packets than
- * we want. Therefore, accept any MRU less than what we asked for,
- * but then ignore the new value when setting the MRU in the kernel.
- * If they send us a bigger MRU than what we asked, accept it, up to
- * the limit of the default MRU we'd get if we didn't negotiate.
- */
- if (go->neg_mru && go->mru != DEFMRU) {
- NAKCISHORT(CI_MRU, neg_mru,
- if (cishort <= wo->mru || cishort <= DEFMRU)
- try.mru = cishort;
- );
- }
-
- /*
- * Add any characters they want to our (receive-side) asyncmap.
- */
- if (go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) {
- NAKCILONG(CI_ASYNCMAP, neg_asyncmap,
- try.asyncmap = go->asyncmap | cilong;
- );
- }
-
- /*
- * If they've nak'd our authentication-protocol, check whether
- * they are proposing a different protocol, or a different
- * hash algorithm for CHAP.
- */
- if ((go->neg_chap || go->neg_upap)
- && len >= CILEN_SHORT
- && p[0] == CI_AUTHTYPE && p[1] >= CILEN_SHORT && p[1] <= len) {
- cilen = p[1];
- len -= cilen;
- no.neg_chap = go->neg_chap;
- no.neg_upap = go->neg_upap;
- INCPTR(2, p);
- GETSHORT(cishort, p);
- if (cishort == PPP_PAP && cilen == CILEN_SHORT) {
- /*
- * If we were asking for CHAP, they obviously don't want to do it.
- * If we weren't asking for CHAP, then we were asking for PAP,
- * in which case this Nak is bad.
- */
- if (!go->neg_chap)
- goto bad;
- try.neg_chap = 0;
-
- } else if (cishort == PPP_CHAP && cilen == CILEN_CHAP) {
- GETCHAR(cichar, p);
- if (go->neg_chap) {
- /*
- * We were asking for CHAP/MD5; they must want a different
- * algorithm. If they can't do MD5, we can ask for M$-CHAP
- * if we support it, otherwise we'll have to stop
- * asking for CHAP.
- */
- if (cichar != go->chap_mdtype) {
-#ifdef CHAPMS
- if (cichar == CHAP_MICROSOFT)
- go->chap_mdtype = CHAP_MICROSOFT;
- else
-#endif /* CHAPMS */
- try.neg_chap = 0;
- }
- } else {
- /*
- * Stop asking for PAP if we were asking for it.
- */
- try.neg_upap = 0;
- }
-
- } else {
- /*
- * We don't recognize what they're suggesting.
- * Stop asking for what we were asking for.
- */
- if (go->neg_chap)
- try.neg_chap = 0;
- else
- try.neg_upap = 0;
- p += cilen - CILEN_SHORT;
- }
- }
-
- /*
- * If they can't cope with our link quality protocol, we'll have
- * to stop asking for LQR. We haven't got any other protocol.
- * If they Nak the reporting period, take their value XXX ?
- */
- NAKCILQR(CI_QUALITY, neg_lqr,
- if (cishort != PPP_LQR)
- try.neg_lqr = 0;
- else
- try.lqr_period = cilong;
- );
-
- /*
- * Only implementing CBCP...not the rest of the callback options
- */
- NAKCICHAR(CI_CALLBACK, neg_cbcp,
- try.neg_cbcp = 0;
- );
-
- /*
- * Check for a looped-back line.
- */
- NAKCILONG(CI_MAGICNUMBER, neg_magicnumber,
- try.magicnumber = magic();
- looped_back = 1;
- );
-
- /*
- * Peer shouldn't send Nak for protocol compression or
- * address/control compression requests; they should send
- * a Reject instead. If they send a Nak, treat it as a Reject.
- */
- NAKCIVOID(CI_PCOMPRESSION, neg_pcompression);
- NAKCIVOID(CI_ACCOMPRESSION, neg_accompression);
-
- /*
- * Nak for MRRU option - accept their value if it is smaller
- * than the one we want.
- */
- if (go->neg_mrru) {
- NAKCISHORT(CI_MRRU, neg_mrru,
- if (cishort <= wo->mrru)
- try.mrru = cishort;
- );
- }
-
- /*
- * Nak for short sequence numbers shouldn't be sent, treat it
- * like a reject.
- */
- NAKCIVOID(CI_SSNHF, neg_ssnhf);
-
- /*
- * Nak of the endpoint discriminator option is not permitted,
- * treat it like a reject.
- */
- NAKCIENDP(CI_EPDISC, neg_endpoint);
-
- /*
- * There may be remaining CIs, if the peer is requesting negotiation
- * on an option that we didn't include in our request packet.
- * If we see an option that we requested, or one we've already seen
- * in this packet, then this packet is bad.
- * If we wanted to respond by starting to negotiate on the requested
- * option(s), we could, but we don't, because except for the
- * authentication type and quality protocol, if we are not negotiating
- * an option, it is because we were told not to.
- * For the authentication type, the Nak from the peer means
- * `let me authenticate myself with you' which is a bit pointless.
- * For the quality protocol, the Nak means `ask me to send you quality
- * reports', but if we didn't ask for them, we don't want them.
- * An option we don't recognize represents the peer asking to
- * negotiate some option we don't support, so ignore it.
- */
- while (len > CILEN_VOID) {
- GETCHAR(citype, p);
- GETCHAR(cilen, p);
- if (cilen < CILEN_VOID || (len -= cilen) < 0)
- goto bad;
- next = p + cilen - 2;
-
- switch (citype) {
- case CI_MRU:
- if ((go->neg_mru && go->mru != DEFMRU)
- || no.neg_mru || cilen != CILEN_SHORT)
- goto bad;
- GETSHORT(cishort, p);
- if (cishort < DEFMRU) {
- try.neg_mru = 1;
- try.mru = cishort;
- }
- break;
- case CI_ASYNCMAP:
- if ((go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF)
- || no.neg_asyncmap || cilen != CILEN_LONG)
- goto bad;
- break;
- case CI_AUTHTYPE:
- if (go->neg_chap || no.neg_chap || go->neg_upap || no.neg_upap)
- goto bad;
- break;
- case CI_MAGICNUMBER:
- if (go->neg_magicnumber || no.neg_magicnumber ||
- cilen != CILEN_LONG)
- goto bad;
- break;
- case CI_PCOMPRESSION:
- if (go->neg_pcompression || no.neg_pcompression
- || cilen != CILEN_VOID)
- goto bad;
- break;
- case CI_ACCOMPRESSION:
- if (go->neg_accompression || no.neg_accompression
- || cilen != CILEN_VOID)
- goto bad;
- break;
- case CI_QUALITY:
- if (go->neg_lqr || no.neg_lqr || cilen != CILEN_LQR)
- goto bad;
- break;
- case CI_MRRU:
- if (go->neg_mrru || no.neg_mrru || cilen != CILEN_SHORT)
- goto bad;
- break;
- case CI_SSNHF:
- if (go->neg_ssnhf || no.neg_ssnhf || cilen != CILEN_VOID)
- goto bad;
- try.neg_ssnhf = 1;
- break;
- case CI_EPDISC:
- if (go->neg_endpoint || no.neg_endpoint || cilen < CILEN_CHAR)
- goto bad;
- break;
- }
- p = next;
- }
-
- /*
- * OK, the Nak is good. Now we can update state.
- * If there are any options left we ignore them.
- */
- if (f->state != OPENED) {
- if (looped_back) {
- if (++try.numloops >= lcp_loopbackfail) {
- notice("Serial line is looped back.");
- lcp_close(f->unit, "Loopback detected");
- status = EXIT_LOOPBACK;
- }
- } else
- try.numloops = 0;
- *go = try;
- }
-
- return 1;
-
-bad:
- LCPDEBUG(("lcp_nakci: received bad Nak!"));
- return 0;
-}
-
-
-/*
- * lcp_rejci - Peer has Rejected some of our CIs.
- * This should not modify any state if the Reject is bad
- * or if LCP is in the OPENED state.
- *
- * Returns:
- * 0 - Reject was bad.
- * 1 - Reject was good.
- */
-static int
-lcp_rejci(f, p, len)
- fsm *f;
- u_char *p;
- int len;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- u_char cichar;
- u_short cishort;
- u_int32_t cilong;
- lcp_options try; /* options to request next time */
-
- try = *go;
-
- /*
- * Any Rejected CIs must be in exactly the same order that we sent.
- * Check packet length and CI length at each step.
- * If we find any deviations, then this packet is bad.
- */
-#define REJCIVOID(opt, neg) \
- if (go->neg && \
- len >= CILEN_VOID && \
- p[1] == CILEN_VOID && \
- p[0] == opt) { \
- len -= CILEN_VOID; \
- INCPTR(CILEN_VOID, p); \
- try.neg = 0; \
- }
-#define REJCISHORT(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_SHORT && \
- p[1] == CILEN_SHORT && \
- p[0] == opt) { \
- len -= CILEN_SHORT; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- /* Check rejected value. */ \
- if (cishort != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCICHAP(opt, neg, val, digest) \
- if (go->neg && \
- len >= CILEN_CHAP && \
- p[1] == CILEN_CHAP && \
- p[0] == opt) { \
- len -= CILEN_CHAP; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETCHAR(cichar, p); \
- /* Check rejected value. */ \
- if (cishort != val || cichar != digest) \
- goto bad; \
- try.neg = 0; \
- try.neg_upap = 0; \
- }
-#define REJCILONG(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_LONG && \
- p[1] == CILEN_LONG && \
- p[0] == opt) { \
- len -= CILEN_LONG; \
- INCPTR(2, p); \
- GETLONG(cilong, p); \
- /* Check rejected value. */ \
- if (cilong != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCILQR(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_LQR && \
- p[1] == CILEN_LQR && \
- p[0] == opt) { \
- len -= CILEN_LQR; \
- INCPTR(2, p); \
- GETSHORT(cishort, p); \
- GETLONG(cilong, p); \
- /* Check rejected value. */ \
- if (cishort != PPP_LQR || cilong != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCICBCP(opt, neg, val) \
- if (go->neg && \
- len >= CILEN_CBCP && \
- p[1] == CILEN_CBCP && \
- p[0] == opt) { \
- len -= CILEN_CBCP; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- /* Check rejected value. */ \
- if (cichar != val) \
- goto bad; \
- try.neg = 0; \
- }
-#define REJCIENDP(opt, neg, class, val, vlen) \
- if (go->neg && \
- len >= CILEN_CHAR + vlen && \
- p[0] == opt && \
- p[1] == CILEN_CHAR + vlen) { \
- int i; \
- len -= CILEN_CHAR + vlen; \
- INCPTR(2, p); \
- GETCHAR(cichar, p); \
- if (cichar != class) \
- goto bad; \
- for (i = 0; i < vlen; ++i) { \
- GETCHAR(cichar, p); \
- if (cichar != val[i]) \
- goto bad; \
- } \
- try.neg = 0; \
- }
-
- REJCISHORT(CI_MRU, neg_mru, go->mru);
- REJCILONG(CI_ASYNCMAP, neg_asyncmap, go->asyncmap);
- REJCICHAP(CI_AUTHTYPE, neg_chap, PPP_CHAP, go->chap_mdtype);
- if (!go->neg_chap) {
- REJCISHORT(CI_AUTHTYPE, neg_upap, PPP_PAP);
- }
- REJCILQR(CI_QUALITY, neg_lqr, go->lqr_period);
- REJCICBCP(CI_CALLBACK, neg_cbcp, CBCP_OPT);
- REJCILONG(CI_MAGICNUMBER, neg_magicnumber, go->magicnumber);
- REJCIVOID(CI_PCOMPRESSION, neg_pcompression);
- REJCIVOID(CI_ACCOMPRESSION, neg_accompression);
- REJCISHORT(CI_MRRU, neg_mrru, go->mrru);
- REJCIVOID(CI_SSNHF, neg_ssnhf);
- REJCIENDP(CI_EPDISC, neg_endpoint, go->endpoint.class,
- go->endpoint.value, go->endpoint.length);
-
- /*
- * If there are any remaining CIs, then this packet is bad.
- */
- if (len != 0)
- goto bad;
- /*
- * Now we can update state.
- */
- if (f->state != OPENED)
- *go = try;
- return 1;
-
-bad:
- LCPDEBUG(("lcp_rejci: received bad Reject!"));
- return 0;
-}
-
-
-/*
- * lcp_reqci - Check the peer's requested CIs and send appropriate response.
- *
- * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
- * appropriately. If reject_if_disagree is non-zero, doesn't return
- * CONFNAK; returns CONFREJ if it can't return CONFACK.
- */
-static int
-lcp_reqci(f, inp, lenp, reject_if_disagree)
- fsm *f;
- u_char *inp; /* Requested CIs */
- int *lenp; /* Length of requested CIs */
- int reject_if_disagree;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ho = &lcp_hisoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
- u_char *cip, *next; /* Pointer to current and next CIs */
- int cilen, citype, cichar; /* Parsed len, type, char value */
- u_short cishort; /* Parsed short value */
- u_int32_t cilong; /* Parse long value */
- int rc = CONFACK; /* Final packet return code */
- int orc; /* Individual option return code */
- u_char *p; /* Pointer to next char to parse */
- u_char *rejp; /* Pointer to next char in reject frame */
- u_char *nakp; /* Pointer to next char in Nak frame */
- int l = *lenp; /* Length left */
-
- /*
- * Reset all his options.
- */
- BZERO(ho, sizeof(*ho));
-
- /*
- * Process all his options.
- */
- next = inp;
- nakp = nak_buffer;
- rejp = inp;
- while (l) {
- orc = CONFACK; /* Assume success */
- cip = p = next; /* Remember begining of CI */
- if (l < 2 || /* Not enough data for CI header or */
- p[1] < 2 || /* CI length too small or */
- p[1] > l) { /* CI length too big? */
- LCPDEBUG(("lcp_reqci: bad CI length!"));
- orc = CONFREJ; /* Reject bad CI */
- cilen = l; /* Reject till end of packet */
- l = 0; /* Don't loop again */
- citype = 0;
- goto endswitch;
- }
- GETCHAR(citype, p); /* Parse CI type */
- GETCHAR(cilen, p); /* Parse CI length */
- l -= cilen; /* Adjust remaining length */
- next += cilen; /* Step to next CI */
-
- switch (citype) { /* Check CI type */
- case CI_MRU:
- if (!ao->neg_mru || /* Allow option? */
- cilen != CILEN_SHORT) { /* Check CI length */
- orc = CONFREJ; /* Reject CI */
- break;
- }
- GETSHORT(cishort, p); /* Parse MRU */
-
- /*
- * He must be able to receive at least our minimum.
- * No need to check a maximum. If he sends a large number,
- * we'll just ignore it.
- */
- if (cishort < MINMRU) {
- orc = CONFNAK; /* Nak CI */
- PUTCHAR(CI_MRU, nakp);
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(MINMRU, nakp); /* Give him a hint */
- break;
- }
- ho->neg_mru = 1; /* Remember he sent MRU */
- ho->mru = cishort; /* And remember value */
- break;
-
- case CI_ASYNCMAP:
- if (!ao->neg_asyncmap ||
- cilen != CILEN_LONG) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cilong, p);
-
- /*
- * Asyncmap must have set at least the bits
- * which are set in lcp_allowoptions[unit].asyncmap.
- */
- if ((ao->asyncmap & ~cilong) != 0) {
- orc = CONFNAK;
- PUTCHAR(CI_ASYNCMAP, nakp);
- PUTCHAR(CILEN_LONG, nakp);
- PUTLONG(ao->asyncmap | cilong, nakp);
- break;
- }
- ho->neg_asyncmap = 1;
- ho->asyncmap = cilong;
- break;
-
- case CI_AUTHTYPE:
- if (cilen < CILEN_SHORT ||
- !(ao->neg_upap || ao->neg_chap)) {
- /*
- * Reject the option if we're not willing to authenticate.
- */
- orc = CONFREJ;
- break;
- }
- GETSHORT(cishort, p);
-
- /*
- * Authtype must be PAP or CHAP.
- *
- * Note: if both ao->neg_upap and ao->neg_chap are set,
- * and the peer sends a Configure-Request with two
- * authenticate-protocol requests, one for CHAP and one
- * for UPAP, then we will reject the second request.
- * Whether we end up doing CHAP or UPAP depends then on
- * the ordering of the CIs in the peer's Configure-Request.
- */
-
- if (cishort == PPP_PAP) {
- if (ho->neg_chap || /* we've already accepted CHAP */
- cilen != CILEN_SHORT) {
- LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE PAP, rejecting..."));
- orc = CONFREJ;
- break;
- }
- if (!ao->neg_upap) { /* we don't want to do PAP */
- orc = CONFNAK; /* NAK it and suggest CHAP */
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- /* XXX if we can do CHAP_MICROSOFT as well, we should
- probably put in another option saying so */
- break;
- }
- ho->neg_upap = 1;
- break;
- }
- if (cishort == PPP_CHAP) {
- if (ho->neg_upap || /* we've already accepted PAP */
- cilen != CILEN_CHAP) {
- LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE CHAP, rejecting..."));
- orc = CONFREJ;
- break;
- }
- if (!ao->neg_chap) { /* we don't want to do CHAP */
- orc = CONFNAK; /* NAK it and suggest PAP */
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(PPP_PAP, nakp);
- break;
- }
- GETCHAR(cichar, p); /* get digest type*/
- if (cichar != CHAP_DIGEST_MD5
-#ifdef CHAPMS
- && cichar != CHAP_MICROSOFT
-#endif
- ) {
- orc = CONFNAK;
- PUTCHAR(CI_AUTHTYPE, nakp);
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- break;
- }
- ho->chap_mdtype = cichar; /* save md type */
- ho->neg_chap = 1;
- break;
- }
-
- /*
- * We don't recognize the protocol they're asking for.
- * Nak it with something we're willing to do.
- * (At this point we know ao->neg_upap || ao->neg_chap.)
- */
- orc = CONFNAK;
- PUTCHAR(CI_AUTHTYPE, nakp);
- if (ao->neg_chap) {
- PUTCHAR(CILEN_CHAP, nakp);
- PUTSHORT(PPP_CHAP, nakp);
- PUTCHAR(ao->chap_mdtype, nakp);
- } else {
- PUTCHAR(CILEN_SHORT, nakp);
- PUTSHORT(PPP_PAP, nakp);
- }
- break;
-
- case CI_QUALITY:
- if (!ao->neg_lqr ||
- cilen != CILEN_LQR) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT(cishort, p);
- GETLONG(cilong, p);
-
- /*
- * Check the protocol and the reporting period.
- * XXX When should we Nak this, and what with?
- */
- if (cishort != PPP_LQR) {
- orc = CONFNAK;
- PUTCHAR(CI_QUALITY, nakp);
- PUTCHAR(CILEN_LQR, nakp);
- PUTSHORT(PPP_LQR, nakp);
- PUTLONG(ao->lqr_period, nakp);
- break;
- }
- break;
-
- case CI_MAGICNUMBER:
- if (!(ao->neg_magicnumber || go->neg_magicnumber) ||
- cilen != CILEN_LONG) {
- orc = CONFREJ;
- break;
- }
- GETLONG(cilong, p);
-
- /*
- * He must have a different magic number.
- */
- if (go->neg_magicnumber &&
- cilong == go->magicnumber) {
- cilong = magic(); /* Don't put magic() inside macro! */
- orc = CONFNAK;
- PUTCHAR(CI_MAGICNUMBER, nakp);
- PUTCHAR(CILEN_LONG, nakp);
- PUTLONG(cilong, nakp);
- break;
- }
- ho->neg_magicnumber = 1;
- ho->magicnumber = cilong;
- break;
-
-
- case CI_PCOMPRESSION:
- if (!ao->neg_pcompression ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_pcompression = 1;
- break;
-
- case CI_ACCOMPRESSION:
- if (!ao->neg_accompression ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_accompression = 1;
- break;
-
- case CI_MRRU:
- if (!ao->neg_mrru || !multilink ||
- cilen != CILEN_SHORT) {
- orc = CONFREJ;
- break;
- }
-
- GETSHORT(cishort, p);
- /* possibly should insist on a minimum/maximum MRRU here */
- ho->neg_mrru = 1;
- ho->mrru = cishort;
- break;
-
- case CI_SSNHF:
- if (!ao->neg_ssnhf || !multilink ||
- cilen != CILEN_VOID) {
- orc = CONFREJ;
- break;
- }
- ho->neg_ssnhf = 1;
- break;
-
- case CI_EPDISC:
- if (!ao->neg_endpoint ||
- cilen < CILEN_CHAR ||
- cilen > CILEN_CHAR + MAX_ENDP_LEN) {
- orc = CONFREJ;
- break;
- }
- GETCHAR(cichar, p);
- cilen -= CILEN_CHAR;
- ho->neg_endpoint = 1;
- ho->endpoint.class = cichar;
- ho->endpoint.length = cilen;
- BCOPY(p, ho->endpoint.value, cilen);
- INCPTR(cilen, p);
- break;
-
- default:
- LCPDEBUG(("lcp_reqci: rcvd unknown option %d", citype));
- orc = CONFREJ;
- break;
- }
-
-endswitch:
- if (orc == CONFACK && /* Good CI */
- rc != CONFACK) /* but prior CI wasnt? */
- continue; /* Don't send this one */
-
- if (orc == CONFNAK) { /* Nak this CI? */
- if (reject_if_disagree /* Getting fed up with sending NAKs? */
- && citype != CI_MAGICNUMBER) {
- orc = CONFREJ; /* Get tough if so */
- } else {
- if (rc == CONFREJ) /* Rejecting prior CI? */
- continue; /* Don't send this one */
- rc = CONFNAK;
- }
- }
- if (orc == CONFREJ) { /* Reject this CI */
- rc = CONFREJ;
- if (cip != rejp) /* Need to move rejected CI? */
- BCOPY(cip, rejp, cilen); /* Move it */
- INCPTR(cilen, rejp); /* Update output pointer */
- }
- }
-
- /*
- * If we wanted to send additional NAKs (for unsent CIs), the
- * code would go here. The extra NAKs would go at *nakp.
- * At present there are no cases where we want to ask the
- * peer to negotiate an option.
- */
-
- switch (rc) {
- case CONFACK:
- *lenp = next - inp;
- break;
- case CONFNAK:
- /*
- * Copy the Nak'd options from the nak_buffer to the caller's buffer.
- */
- *lenp = nakp - nak_buffer;
- BCOPY(nak_buffer, inp, *lenp);
- break;
- case CONFREJ:
- *lenp = rejp - inp;
- break;
- }
-
- LCPDEBUG(("lcp_reqci: returning CONF%s.", CODENAME(rc)));
- return (rc); /* Return final code */
-}
-
-
-/*
- * lcp_up - LCP has come UP.
- */
-static void
-lcp_up(f)
- fsm *f;
-{
- lcp_options *wo = &lcp_wantoptions[f->unit];
- lcp_options *ho = &lcp_hisoptions[f->unit];
- lcp_options *go = &lcp_gotoptions[f->unit];
- lcp_options *ao = &lcp_allowoptions[f->unit];
- int mtu;
-
- if (!go->neg_magicnumber)
- go->magicnumber = 0;
- if (!ho->neg_magicnumber)
- ho->magicnumber = 0;
-
- /*
- * Set our MTU to the smaller of the MTU we wanted and
- * the MRU our peer wanted. If we negotiated an MRU,
- * set our MRU to the larger of value we wanted and
- * the value we got in the negotiation.
- * Note on the MTU: the link MTU can be the MRU the peer wanted,
- * the interface MTU is set to the lower of that and the
- * MTU we want to use.
- */
- mtu = ho->neg_mru? ho->mru: PPP_MRU;
-#ifdef HAVE_MULTILINK
- if (!(multilink && go->neg_mrru && ho->neg_mrru))
-#endif /* HAVE_MULTILINK */
- netif_set_mtu(f->unit, MIN(mtu, ao->mru));
- ppp_send_config(f->unit, mtu,
- (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
- ho->neg_pcompression, ho->neg_accompression);
- ppp_recv_config(f->unit, (go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU),
- (lax_recv? 0: go->neg_asyncmap? go->asyncmap: 0xffffffff),
- go->neg_pcompression, go->neg_accompression);
-
- if (ho->neg_mru)
- peer_mru[f->unit] = ho->mru;
-
- lcp_echo_lowerup(f->unit); /* Enable echo messages */
-
- link_established(f->unit);
-}
-
-
-/*
- * lcp_down - LCP has gone DOWN.
- *
- * Alert other protocols.
- */
-static void
-lcp_down(f)
- fsm *f;
-{
- lcp_options *go = &lcp_gotoptions[f->unit];
-
- lcp_echo_lowerdown(f->unit);
-
- link_down(f->unit);
-
- ppp_send_config(f->unit, PPP_MRU, 0xffffffff, 0, 0);
- ppp_recv_config(f->unit, PPP_MRU,
- (go->neg_asyncmap? go->asyncmap: 0xffffffff),
- go->neg_pcompression, go->neg_accompression);
- peer_mru[f->unit] = PPP_MRU;
-}
-
-
-/*
- * lcp_starting - LCP needs the lower layer up.
- */
-static void
-lcp_starting(f)
- fsm *f;
-{
- link_required(f->unit);
-}
-
-
-/*
- * lcp_finished - LCP has finished with the lower layer.
- */
-static void
-lcp_finished(f)
- fsm *f;
-{
- link_terminated(f->unit);
-}
-
-
-/*
- * lcp_printpkt - print the contents of an LCP packet.
- */
-static char *lcp_codenames[] = {
- "ConfReq", "ConfAck", "ConfNak", "ConfRej",
- "TermReq", "TermAck", "CodeRej", "ProtRej",
- "EchoReq", "EchoRep", "DiscReq"
-};
-
-static int
-lcp_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len, olen, i;
- u_char *pstart, *optend;
- u_short cishort;
- u_int32_t cilong;
-
- if (plen < HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(lcp_codenames) / sizeof(char *))
- printer(arg, " %s", lcp_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= HEADERLEN;
- switch (code) {
- case CONFREQ:
- case CONFACK:
- case CONFNAK:
- case CONFREJ:
- /* print option list */
- while (len >= 2) {
- GETCHAR(code, p);
- GETCHAR(olen, p);
- p -= 2;
- if (olen < 2 || olen > len) {
- break;
- }
- printer(arg, " <");
- len -= olen;
- optend = p + olen;
- switch (code) {
- case CI_MRU:
- if (olen == CILEN_SHORT) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "mru %d", cishort);
- }
- break;
- case CI_ASYNCMAP:
- if (olen == CILEN_LONG) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "asyncmap 0x%x", cilong);
- }
- break;
- case CI_AUTHTYPE:
- if (olen >= CILEN_SHORT) {
- p += 2;
- printer(arg, "auth ");
- GETSHORT(cishort, p);
- switch (cishort) {
- case PPP_PAP:
- printer(arg, "pap");
- break;
- case PPP_CHAP:
- printer(arg, "chap");
- if (p < optend) {
- switch (*p) {
- case CHAP_DIGEST_MD5:
- printer(arg, " MD5");
- ++p;
- break;
-#ifdef CHAPMS
- case CHAP_MICROSOFT:
- printer(arg, " m$oft");
- ++p;
- break;
-#endif
- }
- }
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_QUALITY:
- if (olen >= CILEN_SHORT) {
- p += 2;
- printer(arg, "quality ");
- GETSHORT(cishort, p);
- switch (cishort) {
- case PPP_LQR:
- printer(arg, "lqr");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_CALLBACK:
- if (olen >= CILEN_CHAR) {
- p += 2;
- printer(arg, "callback ");
- GETCHAR(cishort, p);
- switch (cishort) {
- case CBCP_OPT:
- printer(arg, "CBCP");
- break;
- default:
- printer(arg, "0x%x", cishort);
- }
- }
- break;
- case CI_MAGICNUMBER:
- if (olen == CILEN_LONG) {
- p += 2;
- GETLONG(cilong, p);
- printer(arg, "magic 0x%x", cilong);
- }
- break;
- case CI_PCOMPRESSION:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "pcomp");
- }
- break;
- case CI_ACCOMPRESSION:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "accomp");
- }
- break;
- case CI_MRRU:
- if (olen == CILEN_SHORT) {
- p += 2;
- GETSHORT(cishort, p);
- printer(arg, "mrru %d", cishort);
- }
- break;
- case CI_SSNHF:
- if (olen == CILEN_VOID) {
- p += 2;
- printer(arg, "ssnhf");
- }
- break;
- case CI_EPDISC:
-#ifdef HAVE_MULTILINK
- if (olen >= CILEN_CHAR) {
- struct epdisc epd;
- p += 2;
- GETCHAR(epd.class, p);
- epd.length = olen - CILEN_CHAR;
- if (epd.length > MAX_ENDP_LEN)
- epd.length = MAX_ENDP_LEN;
- if (epd.length > 0) {
- BCOPY(p, epd.value, epd.length);
- p += epd.length;
- }
- printer(arg, "endpoint [%s]", epdisc_to_str(&epd));
- }
-#else
- printer(arg, "endpoint");
-#endif
- break;
- }
- while (p < optend) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- printer(arg, ">");
- }
- break;
-
- case TERMACK:
- case TERMREQ:
- if (len > 0 && *p >= ' ' && *p < 0x7f) {
- printer(arg, " ");
- print_string((char *)p, len, printer, arg);
- p += len;
- len = 0;
- }
- break;
-
- case ECHOREQ:
- case ECHOREP:
- case DISCREQ:
- if (len >= 4) {
- GETLONG(cilong, p);
- printer(arg, " magic=0x%x", cilong);
- p += 4;
- len -= 4;
- }
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (i = 0; i < len && i < 32; ++i) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
- if (i < len) {
- printer(arg, " ...");
- p += len - i;
- }
-
- return p - pstart;
-}
-
-/*
- * Time to shut down the link because there is nothing out there.
- */
-
-static
-void LcpLinkFailure (f)
- fsm *f;
-{
- if (f->state == OPENED) {
- info("No response to %d echo-requests", lcp_echos_pending);
- notice("Serial link appears to be disconnected.");
- lcp_close(f->unit, "Peer not responding");
- status = EXIT_PEER_DEAD;
- }
-}
-
-/*
- * Timer expired for the LCP echo requests from this process.
- */
-
-static void
-LcpEchoCheck (f)
- fsm *f;
-{
- LcpSendEchoRequest (f);
- if (f->state != OPENED)
- return;
-
- /*
- * Start the timer for the next interval.
- */
- if (lcp_echo_timer_running)
- warn("assertion lcp_echo_timer_running==0 failed");
- TIMEOUT (LcpEchoTimeout, f, lcp_echo_interval);
- lcp_echo_timer_running = 1;
-}
-
-/*
- * LcpEchoTimeout - Timer expired on the LCP echo
- */
-
-static void
-LcpEchoTimeout (arg)
- void *arg;
-{
- if (lcp_echo_timer_running != 0) {
- lcp_echo_timer_running = 0;
- LcpEchoCheck ((fsm *) arg);
- }
-}
-
-/*
- * LcpEchoReply - LCP has received a reply to the echo
- */
-
-static void
-lcp_received_echo_reply (f, id, inp, len)
- fsm *f;
- int id;
- u_char *inp;
- int len;
-{
- u_int32_t magic;
-
- /* Check the magic number - don't count replies from ourselves. */
- if (len < 4) {
- dbglog("lcp: received short Echo-Reply, length %d", len);
- return;
- }
- GETLONG(magic, inp);
- if (lcp_gotoptions[f->unit].neg_magicnumber
- && magic == lcp_gotoptions[f->unit].magicnumber) {
- warn("appear to have received our own echo-reply!");
- return;
- }
-
- /* Reset the number of outstanding echo frames */
- lcp_echos_pending = 0;
-}
-
-/*
- * LcpSendEchoRequest - Send an echo request frame to the peer
- */
-
-static void
-LcpSendEchoRequest (f)
- fsm *f;
-{
- u_int32_t lcp_magic;
- u_char pkt[4], *pktp;
-
- /*
- * Detect the failure of the peer at this point.
- */
- if (lcp_echo_fails != 0) {
- if (lcp_echos_pending >= lcp_echo_fails) {
- LcpLinkFailure(f);
- lcp_echos_pending = 0;
- }
- }
-
- /*
- * Make and send the echo request frame.
- */
- if (f->state == OPENED) {
- lcp_magic = lcp_gotoptions[f->unit].magicnumber;
- pktp = pkt;
- PUTLONG(lcp_magic, pktp);
- fsm_sdata(f, ECHOREQ, lcp_echo_number++ & 0xFF, pkt, pktp - pkt);
- ++lcp_echos_pending;
- }
-}
-
-/*
- * lcp_echo_lowerup - Start the timer for the LCP frame
- */
-
-static void
-lcp_echo_lowerup (unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- /* Clear the parameters for generating echo frames */
- lcp_echos_pending = 0;
- lcp_echo_number = 0;
- lcp_echo_timer_running = 0;
-
- /* If a timeout interval is specified then start the timer */
- if (lcp_echo_interval != 0)
- LcpEchoCheck (f);
-}
-
-/*
- * lcp_echo_lowerdown - Stop the timer for the LCP frame
- */
-
-static void
-lcp_echo_lowerdown (unit)
- int unit;
-{
- fsm *f = &lcp_fsm[unit];
-
- if (lcp_echo_timer_running != 0) {
- UNTIMEOUT (LcpEchoTimeout, f);
- lcp_echo_timer_running = 0;
- }
-}
diff --git a/mdk-stage1/ppp/pppd/lcp.h b/mdk-stage1/ppp/pppd/lcp.h
deleted file mode 100644
index b87a9295e..000000000
--- a/mdk-stage1/ppp/pppd/lcp.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * lcp.h - Link Control Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Options.
- */
-#define CI_MRU 1 /* Maximum Receive Unit */
-#define CI_ASYNCMAP 2 /* Async Control Character Map */
-#define CI_AUTHTYPE 3 /* Authentication Type */
-#define CI_QUALITY 4 /* Quality Protocol */
-#define CI_MAGICNUMBER 5 /* Magic Number */
-#define CI_PCOMPRESSION 7 /* Protocol Field Compression */
-#define CI_ACCOMPRESSION 8 /* Address/Control Field Compression */
-#define CI_CALLBACK 13 /* callback */
-#define CI_MRRU 17 /* max reconstructed receive unit; multilink */
-#define CI_SSNHF 18 /* short sequence numbers for multilink */
-#define CI_EPDISC 19 /* endpoint discriminator */
-
-/*
- * LCP-specific packet types.
- */
-#define PROTREJ 8 /* Protocol Reject */
-#define ECHOREQ 9 /* Echo Request */
-#define ECHOREP 10 /* Echo Reply */
-#define DISCREQ 11 /* Discard Request */
-#define CBCP_OPT 6 /* Use callback control protocol */
-
-/*
- * The state of options is described by an lcp_options structure.
- */
-typedef struct lcp_options {
- bool passive; /* Don't die if we don't get a response */
- bool silent; /* Wait for the other end to start first */
- bool restart; /* Restart vs. exit after close */
- bool neg_mru; /* Negotiate the MRU? */
- bool neg_asyncmap; /* Negotiate the async map? */
- bool neg_upap; /* Ask for UPAP authentication? */
- bool neg_chap; /* Ask for CHAP authentication? */
- bool neg_magicnumber; /* Ask for magic number? */
- bool neg_pcompression; /* HDLC Protocol Field Compression? */
- bool neg_accompression; /* HDLC Address/Control Field Compression? */
- bool neg_lqr; /* Negotiate use of Link Quality Reports */
- bool neg_cbcp; /* Negotiate use of CBCP */
- bool neg_mrru; /* negotiate multilink MRRU */
- bool neg_ssnhf; /* negotiate short sequence numbers */
- bool neg_endpoint; /* negotiate endpoint discriminator */
- int mru; /* Value of MRU */
- int mrru; /* Value of MRRU, and multilink enable */
- u_char chap_mdtype; /* which MD type (hashing algorithm) */
- u_int32_t asyncmap; /* Value of async map */
- u_int32_t magicnumber;
- int numloops; /* Number of loops during magic number neg. */
- u_int32_t lqr_period; /* Reporting period for LQR 1/100ths second */
- struct epdisc endpoint; /* endpoint discriminator */
-} lcp_options;
-
-extern fsm lcp_fsm[];
-extern lcp_options lcp_wantoptions[];
-extern lcp_options lcp_gotoptions[];
-extern lcp_options lcp_allowoptions[];
-extern lcp_options lcp_hisoptions[];
-
-#define DEFMRU 1500 /* Try for this */
-#define MINMRU 128 /* No MRUs below this */
-#define MAXMRU 16384 /* Normally limit MRU to this */
-
-void lcp_open __P((int));
-void lcp_close __P((int, char *));
-void lcp_lowerup __P((int));
-void lcp_lowerdown __P((int));
-void lcp_sprotrej __P((int, u_char *, int)); /* send protocol reject */
-
-extern struct protent lcp_protent;
-
-/* Default number of times we receive our magic number from the peer
- before deciding the link is looped-back. */
-#define DEFLOOPBACKFAIL 10
diff --git a/mdk-stage1/ppp/pppd/magic.c b/mdk-stage1/ppp/pppd/magic.c
deleted file mode 100644
index 1682dee03..000000000
--- a/mdk-stage1/ppp/pppd/magic.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * magic.c - PPP Magic Number routines.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "pppd.h"
-#include "magic.h"
-
-static const char rcsid[] = RCSID;
-
-extern long mrand48 __P((void));
-extern void srand48 __P((long));
-
-/*
- * magic_init - Initialize the magic number generator.
- *
- * Attempts to compute a random number seed which will not repeat.
- * The current method uses the current hostid, current process ID
- * and current time, currently.
- */
-void
-magic_init()
-{
- long seed;
- struct timeval t;
-
- gettimeofday(&t, NULL);
- seed = get_host_seed() ^ t.tv_sec ^ t.tv_usec ^ getpid();
- srand48(seed);
-}
-
-/*
- * magic - Returns the next magic number.
- */
-u_int32_t
-magic()
-{
- return (u_int32_t) mrand48();
-}
-
-#ifdef NO_DRAND48
-/*
- * Substitute procedures for those systems which don't have
- * drand48 et al.
- */
-
-double
-drand48()
-{
- return (double)random() / (double)0x7fffffffL; /* 2**31-1 */
-}
-
-long
-mrand48()
-{
- return random();
-}
-
-void
-srand48(seedval)
-long seedval;
-{
- srandom((int)seedval);
-}
-
-#endif
diff --git a/mdk-stage1/ppp/pppd/magic.h b/mdk-stage1/ppp/pppd/magic.h
deleted file mode 100644
index 1344626a3..000000000
--- a/mdk-stage1/ppp/pppd/magic.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * magic.h - PPP Magic Number definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-void magic_init __P((void)); /* Initialize the magic number generator */
-u_int32_t magic __P((void)); /* Returns the next magic number */
diff --git a/mdk-stage1/ppp/pppd/main.c b/mdk-stage1/ppp/pppd/main.c
deleted file mode 100644
index c074938cd..000000000
--- a/mdk-stage1/ppp/pppd/main.c
+++ /dev/null
@@ -1,1846 +0,0 @@
-/*
- * main.c - Point-to-Point Protocol main module
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <setjmp.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "magic.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#ifdef INET6
-#include "ipv6cp.h"
-#endif
-#include "upap.h"
-#include "chap.h"
-#include "ccp.h"
-#include "pathnames.h"
-#include "tdb.h"
-
-#ifdef CBCP_SUPPORT
-#include "cbcp.h"
-#endif
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#endif /* IPX_CHANGE */
-#ifdef AT_CHANGE
-#include "atcp.h"
-#endif
-
-static const char rcsid[] = RCSID;
-
-/* interface vars */
-char ifname[32]; /* Interface name */
-int ifunit; /* Interface unit number */
-
-struct channel *the_channel;
-
-char *progname; /* Name of this program */
-char hostname[MAXNAMELEN]; /* Our hostname */
-static char pidfilename[MAXPATHLEN]; /* name of pid file */
-static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */
-char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */
-uid_t uid; /* Our real user-id */
-struct notifier *pidchange = NULL;
-struct notifier *phasechange = NULL;
-struct notifier *exitnotify = NULL;
-struct notifier *sigreceived = NULL;
-
-int hungup; /* terminal has been hung up */
-int privileged; /* we're running as real uid root */
-int need_holdoff; /* need holdoff period before restarting */
-int detached; /* have detached from terminal */
-volatile int status; /* exit status for pppd */
-int unsuccess; /* # unsuccessful connection attempts */
-int do_callback; /* != 0 if we should do callback next */
-int doing_callback; /* != 0 if we are doing callback */
-TDB_CONTEXT *pppdb; /* database for storing status etc. */
-char db_key[32];
-
-int (*holdoff_hook) __P((void)) = NULL;
-int (*new_phase_hook) __P((int)) = NULL;
-
-static int conn_running; /* we have a [dis]connector running */
-static int devfd; /* fd of underlying device */
-static int fd_ppp = -1; /* fd for talking PPP */
-static int fd_loop; /* fd for getting demand-dial packets */
-
-int phase; /* where the link is at */
-int kill_link;
-int open_ccp_flag;
-int listen_time;
-int got_sigusr2;
-int got_sigterm;
-int got_sighup;
-
-static int waiting;
-static sigjmp_buf sigjmp;
-
-char **script_env; /* Env. variable values for scripts */
-int s_env_nalloc; /* # words avail at script_env */
-
-u_char outpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for outgoing packet */
-u_char inpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for incoming packet */
-
-static int n_children; /* # child processes still running */
-static int got_sigchld; /* set if we have received a SIGCHLD */
-
-int privopen; /* don't lock, open device as root */
-
-char *no_ppp_msg = "Sorry - this system lacks PPP kernel support\n";
-
-GIDSET_TYPE groups[NGROUPS_MAX];/* groups the user is in */
-int ngroups; /* How many groups valid in groups */
-
-static struct timeval start_time; /* Time when link was started. */
-
-struct pppd_stats link_stats;
-int link_connect_time;
-int link_stats_valid;
-
-/*
- * We maintain a list of child process pids and
- * functions to call when they exit.
- */
-struct subprocess {
- pid_t pid;
- char *prog;
- void (*done) __P((void *));
- void *arg;
- struct subprocess *next;
-};
-
-static struct subprocess *children;
-
-/* Prototypes for procedures local to this file. */
-
-static void setup_signals __P((void));
-static void create_pidfile __P((void));
-static void create_linkpidfile __P((void));
-static void cleanup __P((void));
-static void get_input __P((void));
-static void calltimeout __P((void));
-static struct timeval *timeleft __P((struct timeval *));
-static void kill_my_pg __P((int));
-static void hup __P((int));
-static void term __P((int));
-static void chld __P((int));
-static void toggle_debug __P((int));
-static void open_ccp __P((int));
-static void bad_signal __P((int));
-static void holdoff_end __P((void *));
-static int reap_kids __P((int waitfor));
-static void update_db_entry __P((void));
-static void add_db_key __P((const char *));
-static void delete_db_key __P((const char *));
-static void cleanup_db __P((void));
-static void handle_events __P((void));
-
-extern char *ttyname __P((int));
-extern char *getlogin __P((void));
-int main __P((int, char *[]));
-
-#ifdef ultrix
-#undef O_NONBLOCK
-#define O_NONBLOCK O_NDELAY
-#endif
-
-#ifdef ULTRIX
-#define setlogmask(x)
-#endif
-
-/*
- * PPP Data Link Layer "protocol" table.
- * One entry per supported protocol.
- * The last entry must be NULL.
- */
-struct protent *protocols[] = {
- &lcp_protent,
- &pap_protent,
- &chap_protent,
-#ifdef CBCP_SUPPORT
- &cbcp_protent,
-#endif
- &ipcp_protent,
-#ifdef INET6
- &ipv6cp_protent,
-#endif
- &ccp_protent,
-#ifdef IPX_CHANGE
- &ipxcp_protent,
-#endif
-#ifdef AT_CHANGE
- &atcp_protent,
-#endif
- NULL
-};
-
-/*
- * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
- */
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- int i, t;
- char *p;
- struct passwd *pw;
- struct protent *protp;
- char numbuf[16];
-
- new_phase(PHASE_INITIALIZE);
-
- /*
- * Ensure that fds 0, 1, 2 are open, to /dev/null if nowhere else.
- * This way we can close 0, 1, 2 in detach() without clobbering
- * a fd that we are using.
- */
- if ((i = open("/dev/null", O_RDWR)) >= 0) {
- while (0 <= i && i <= 2)
- i = dup(i);
- if (i >= 0)
- close(i);
- }
-
- script_env = NULL;
-
- /* Initialize syslog facilities */
- reopen_log();
-
- if (gethostname(hostname, MAXNAMELEN) < 0 ) {
- option_error("Couldn't get hostname: %m");
- exit(1);
- }
- hostname[MAXNAMELEN-1] = 0;
-
- /* make sure we don't create world or group writable files. */
- umask(umask(0777) | 022);
-
- uid = getuid();
- privileged = uid == 0;
- slprintf(numbuf, sizeof(numbuf), "%d", uid);
- script_setenv("ORIG_UID", numbuf, 0);
-
- ngroups = getgroups(NGROUPS_MAX, groups);
-
- /*
- * Initialize magic number generator now so that protocols may
- * use magic numbers in initialization.
- */
- magic_init();
-
- /*
- * Initialize each protocol.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- (*protp->init)(0);
-
- /*
- * Initialize the default channel.
- */
- tty_init();
-
- progname = *argv;
-
- /*
- * Parse, in order, the system options file, the user's options file,
- * and the command line arguments.
- */
- if (!options_from_file(_PATH_SYSOPTIONS, !privileged, 0, 1)
- || !options_from_user()
- || !parse_args(argc-1, argv+1))
- exit(EXIT_OPTION_ERROR);
- devnam_fixed = 1; /* can no longer change device name */
-
- /*
- * Work out the device name, if it hasn't already been specified,
- * and parse the tty's options file.
- */
- if (the_channel->process_extra_options)
- (*the_channel->process_extra_options)();
-
- if (debug)
- setlogmask(LOG_UPTO(LOG_DEBUG));
-
- /*
- * Check that we are running as root.
- */
- if (geteuid() != 0) {
- option_error("must be root to run %s, since it is not setuid-root",
- argv[0]);
- exit(EXIT_NOT_ROOT);
- }
-
- if (!ppp_available()) {
- option_error("%s", no_ppp_msg);
- exit(EXIT_NO_KERNEL_SUPPORT);
- }
-
- /*
- * Check that the options given are valid and consistent.
- */
- check_options();
- if (!sys_check_options())
- exit(EXIT_OPTION_ERROR);
- auth_check_options();
-#ifdef HAVE_MULTILINK
- mp_check_options();
-#endif
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (protp->check_options != NULL)
- (*protp->check_options)();
- if (the_channel->check_options)
- (*the_channel->check_options)();
-
-
- if (dump_options || dryrun) {
- init_pr_log(NULL, LOG_INFO);
- print_options(pr_log, NULL);
- end_pr_log();
- if (dryrun)
- die(0);
- }
-
- /*
- * Initialize system-dependent stuff.
- */
- sys_init();
-
- pppdb = tdb_open(_PATH_PPPDB, 0, 0, O_RDWR|O_CREAT, 0644);
- if (pppdb != NULL) {
- slprintf(db_key, sizeof(db_key), "pppd%d", getpid());
- update_db_entry();
- } else {
- warn("Warning: couldn't open ppp database %s", _PATH_PPPDB);
- if (multilink) {
- warn("Warning: disabling multilink");
- multilink = 0;
- }
- }
-
- /*
- * Detach ourselves from the terminal, if required,
- * and identify who is running us.
- */
- if (!nodetach && !updetach)
- detach();
- p = getlogin();
- if (p == NULL) {
- pw = getpwuid(uid);
- if (pw != NULL && pw->pw_name != NULL)
- p = pw->pw_name;
- else
- p = "(unknown)";
- }
- syslog(LOG_NOTICE, "pppd %s started by %s, uid %d", VERSION, p, uid);
- script_setenv("PPPLOGNAME", p, 0);
-
- if (devnam[0])
- script_setenv("DEVICE", devnam, 1);
- slprintf(numbuf, sizeof(numbuf), "%d", getpid());
- script_setenv("PPPD_PID", numbuf, 1);
-
- setup_signals();
-
- waiting = 0;
-
- create_linkpidfile();
-
- /*
- * If we're doing dial-on-demand, set up the interface now.
- */
- if (demand) {
- /*
- * Open the loopback channel and set it up to be the ppp interface.
- */
- tdb_writelock(pppdb);
- fd_loop = open_ppp_loopback();
- set_ifunit(1);
- tdb_writeunlock(pppdb);
-
- /*
- * Configure the interface and mark it up, etc.
- */
- demand_conf();
- }
-
- do_callback = 0;
- for (;;) {
-
- listen_time = 0;
- need_holdoff = 1;
- devfd = -1;
- status = EXIT_OK;
- ++unsuccess;
- doing_callback = do_callback;
- do_callback = 0;
-
- if (demand && !doing_callback) {
- /*
- * Don't do anything until we see some activity.
- */
- new_phase(PHASE_DORMANT);
- demand_unblock();
- add_fd(fd_loop);
- for (;;) {
- handle_events();
- if (kill_link && !persist)
- break;
- if (get_loop_output())
- break;
- }
- remove_fd(fd_loop);
- if (kill_link && !persist)
- break;
-
- /*
- * Now we want to bring up the link.
- */
- demand_block();
- info("Starting link");
- }
-
- new_phase(PHASE_SERIALCONN);
-
- devfd = the_channel->connect();
- if (devfd < 0)
- goto fail;
-
- /* set up the serial device as a ppp interface */
- tdb_writelock(pppdb);
- fd_ppp = the_channel->establish_ppp(devfd);
- if (fd_ppp < 0) {
- tdb_writeunlock(pppdb);
- status = EXIT_FATAL_ERROR;
- goto disconnect;
- }
-
- if (!demand && ifunit >= 0)
- set_ifunit(1);
- tdb_writeunlock(pppdb);
-
- /*
- * Start opening the connection and wait for
- * incoming events (reply, timeout, etc.).
- */
- notice("Connect: %s <--> %s", ifname, ppp_devnam);
- gettimeofday(&start_time, NULL);
- link_stats_valid = 0;
- script_unsetenv("CONNECT_TIME");
- script_unsetenv("BYTES_SENT");
- script_unsetenv("BYTES_RCVD");
- lcp_lowerup(0);
-
- add_fd(fd_ppp);
- lcp_open(0); /* Start protocol */
- status = EXIT_NEGOTIATION_FAILED;
- new_phase(PHASE_ESTABLISH);
- while (phase != PHASE_DEAD) {
- handle_events();
- get_input();
- if (kill_link)
- lcp_close(0, "User request");
- if (open_ccp_flag) {
- if (phase == PHASE_NETWORK || phase == PHASE_RUNNING) {
- ccp_fsm[0].flags = OPT_RESTART; /* clears OPT_SILENT */
- (*ccp_protent.open)(0);
- }
- }
- }
-
- /*
- * Print connect time and statistics.
- */
- if (link_stats_valid) {
- int t = (link_connect_time + 5) / 6; /* 1/10ths of minutes */
- info("Connect time %d.%d minutes.", t/10, t%10);
- info("Sent %u bytes, received %u bytes.",
- link_stats.bytes_out, link_stats.bytes_in);
- }
-
- /*
- * Delete pid file before disestablishing ppp. Otherwise it
- * can happen that another pppd gets the same unit and then
- * we delete its pid file.
- */
- if (!demand) {
- if (pidfilename[0] != 0
- && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-
- /*
- * If we may want to bring the link up again, transfer
- * the ppp unit back to the loopback. Set the
- * real serial device back to its normal mode of operation.
- */
- remove_fd(fd_ppp);
- clean_check();
- the_channel->disestablish_ppp(devfd);
- fd_ppp = -1;
- if (!hungup)
- lcp_lowerdown(0);
- if (!demand)
- script_unsetenv("IFNAME");
-
- /*
- * Run disconnector script, if requested.
- * XXX we may not be able to do this if the line has hung up!
- */
- disconnect:
- new_phase(PHASE_DISCONNECT);
- the_channel->disconnect();
-
- fail:
- if (the_channel->cleanup)
- (*the_channel->cleanup)();
-
- if (!demand) {
- if (pidfilename[0] != 0
- && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-
- if (!persist || (maxfail > 0 && unsuccess >= maxfail))
- break;
-
- if (demand)
- demand_discard();
- t = need_holdoff? holdoff: 0;
- if (holdoff_hook)
- t = (*holdoff_hook)();
- if (t > 0) {
- new_phase(PHASE_HOLDOFF);
- TIMEOUT(holdoff_end, NULL, t);
- do {
- handle_events();
- if (kill_link)
- new_phase(PHASE_DORMANT); /* allow signal to end holdoff */
- } while (phase == PHASE_HOLDOFF);
- if (!persist)
- break;
- }
- }
-
- /* Wait for scripts to finish */
- /* XXX should have a timeout here */
- while (n_children > 0) {
- if (debug) {
- struct subprocess *chp;
- dbglog("Waiting for %d child processes...", n_children);
- for (chp = children; chp != NULL; chp = chp->next)
- dbglog(" script %s, pid %d", chp->prog, chp->pid);
- }
- if (reap_kids(1) < 0)
- break;
- }
-
- die(status);
- return 0;
-}
-
-/*
- * handle_events - wait for something to happen and respond to it.
- */
-static void
-handle_events()
-{
- struct timeval timo;
- sigset_t mask;
-
- kill_link = open_ccp_flag = 0;
- if (sigsetjmp(sigjmp, 1) == 0) {
- sigprocmask(SIG_BLOCK, &mask, NULL);
- if (got_sighup || got_sigterm || got_sigusr2 || got_sigchld) {
- sigprocmask(SIG_UNBLOCK, &mask, NULL);
- } else {
- waiting = 1;
- sigprocmask(SIG_UNBLOCK, &mask, NULL);
- wait_input(timeleft(&timo));
- }
- }
- waiting = 0;
- calltimeout();
- if (got_sighup) {
- kill_link = 1;
- got_sighup = 0;
- if (status != EXIT_HANGUP)
- status = EXIT_USER_REQUEST;
- }
- if (got_sigterm) {
- kill_link = 1;
- persist = 0;
- status = EXIT_USER_REQUEST;
- got_sigterm = 0;
- }
- if (got_sigchld) {
- reap_kids(0); /* Don't leave dead kids lying around */
- got_sigchld = 0;
- }
- if (got_sigusr2) {
- open_ccp_flag = 1;
- got_sigusr2 = 0;
- }
-}
-
-/*
- * setup_signals - initialize signal handling.
- */
-static void
-setup_signals()
-{
- struct sigaction sa;
- sigset_t mask;
-
- /*
- * Compute mask of all interesting signals and install signal handlers
- * for each. Only one signal handler may be active at a time. Therefore,
- * all other signals should be masked when any handler is executing.
- */
- sigemptyset(&mask);
- sigaddset(&mask, SIGHUP);
- sigaddset(&mask, SIGINT);
- sigaddset(&mask, SIGTERM);
- sigaddset(&mask, SIGCHLD);
- sigaddset(&mask, SIGUSR2);
-
-#define SIGNAL(s, handler) do { \
- sa.sa_handler = handler; \
- if (sigaction(s, &sa, NULL) < 0) \
- fatal("Couldn't establish signal handler (%d): %m", s); \
- } while (0)
-
- sa.sa_mask = mask;
- sa.sa_flags = 0;
- SIGNAL(SIGHUP, hup); /* Hangup */
- SIGNAL(SIGINT, term); /* Interrupt */
- SIGNAL(SIGTERM, term); /* Terminate */
- SIGNAL(SIGCHLD, chld);
-
- SIGNAL(SIGUSR1, toggle_debug); /* Toggle debug flag */
- SIGNAL(SIGUSR2, open_ccp); /* Reopen CCP */
-
- /*
- * Install a handler for other signals which would otherwise
- * cause pppd to exit without cleaning up.
- */
- SIGNAL(SIGABRT, bad_signal);
- SIGNAL(SIGALRM, bad_signal);
- SIGNAL(SIGFPE, bad_signal);
- SIGNAL(SIGILL, bad_signal);
- SIGNAL(SIGPIPE, bad_signal);
- SIGNAL(SIGQUIT, bad_signal);
- SIGNAL(SIGSEGV, bad_signal);
-#ifdef SIGBUS
- SIGNAL(SIGBUS, bad_signal);
-#endif
-#ifdef SIGEMT
- SIGNAL(SIGEMT, bad_signal);
-#endif
-#ifdef SIGPOLL
- SIGNAL(SIGPOLL, bad_signal);
-#endif
-#ifdef SIGPROF
- SIGNAL(SIGPROF, bad_signal);
-#endif
-#ifdef SIGSYS
- SIGNAL(SIGSYS, bad_signal);
-#endif
-#ifdef SIGTRAP
- SIGNAL(SIGTRAP, bad_signal);
-#endif
-#ifdef SIGVTALRM
- SIGNAL(SIGVTALRM, bad_signal);
-#endif
-#ifdef SIGXCPU
- SIGNAL(SIGXCPU, bad_signal);
-#endif
-#ifdef SIGXFSZ
- SIGNAL(SIGXFSZ, bad_signal);
-#endif
-
- /*
- * Apparently we can get a SIGPIPE when we call syslog, if
- * syslogd has died and been restarted. Ignoring it seems
- * be sufficient.
- */
- signal(SIGPIPE, SIG_IGN);
-}
-
-/*
- * set_ifunit - do things we need to do once we know which ppp
- * unit we are using.
- */
-void
-set_ifunit(iskey)
- int iskey;
-{
- info("Using interface %s%d", PPP_DRV_NAME, ifunit);
- slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
- script_setenv("IFNAME", ifname, iskey);
- if (iskey) {
- create_pidfile(); /* write pid to file */
- create_linkpidfile();
- }
-}
-
-/*
- * detach - detach us from the controlling terminal.
- */
-void
-detach()
-{
- int pid;
- char numbuf[16];
-
- if (detached)
- return;
- if ((pid = fork()) < 0) {
- error("Couldn't detach (fork failed: %m)");
- die(1); /* or just return? */
- }
- if (pid != 0) {
- /* parent */
- notify(pidchange, pid);
- exit(0); /* parent dies */
- }
- setsid();
- chdir("/");
- close(0);
- close(1);
- close(2);
- detached = 1;
- if (log_default)
- log_to_fd = -1;
- /* update pid files if they have been written already */
- if (pidfilename[0])
- create_pidfile();
- if (linkpidfile[0])
- create_linkpidfile();
- slprintf(numbuf, sizeof(numbuf), "%d", getpid());
- script_setenv("PPPD_PID", numbuf, 1);
-}
-
-/*
- * reopen_log - (re)open our connection to syslog.
- */
-void
-reopen_log()
-{
-#ifdef ULTRIX
- openlog("pppd", LOG_PID);
-#else
- openlog("pppd", LOG_PID | LOG_NDELAY, LOG_PPP);
- setlogmask(LOG_UPTO(LOG_INFO));
-#endif
-}
-
-/*
- * Create a file containing our process ID.
- */
-static void
-create_pidfile()
-{
- FILE *pidfile;
-
- slprintf(pidfilename, sizeof(pidfilename), "%s%s.pid",
- _PATH_VARRUN, ifname);
- if ((pidfile = fopen(pidfilename, "w")) != NULL) {
- fprintf(pidfile, "%d\n", getpid());
- (void) fclose(pidfile);
- } else {
- error("Failed to create pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- }
-}
-
-static void
-create_linkpidfile()
-{
- FILE *pidfile;
-
- if (linkname[0] == 0)
- return;
- script_setenv("LINKNAME", linkname, 1);
- slprintf(linkpidfile, sizeof(linkpidfile), "%sppp-%s.pid",
- _PATH_VARRUN, linkname);
- if ((pidfile = fopen(linkpidfile, "w")) != NULL) {
- fprintf(pidfile, "%d\n", getpid());
- if (ifname[0])
- fprintf(pidfile, "%s\n", ifname);
- (void) fclose(pidfile);
- } else {
- error("Failed to create pid file %s: %m", linkpidfile);
- linkpidfile[0] = 0;
- }
-}
-
-/*
- * holdoff_end - called via a timeout when the holdoff period ends.
- */
-static void
-holdoff_end(arg)
- void *arg;
-{
- new_phase(PHASE_DORMANT);
-}
-
-/* List of protocol names, to make our messages a little more informative. */
-struct protocol_list {
- u_short proto;
- const char *name;
-} protocol_list[] = {
- { 0x21, "IP" },
- { 0x23, "OSI Network Layer" },
- { 0x25, "Xerox NS IDP" },
- { 0x27, "DECnet Phase IV" },
- { 0x29, "Appletalk" },
- { 0x2b, "Novell IPX" },
- { 0x2d, "VJ compressed TCP/IP" },
- { 0x2f, "VJ uncompressed TCP/IP" },
- { 0x31, "Bridging PDU" },
- { 0x33, "Stream Protocol ST-II" },
- { 0x35, "Banyan Vines" },
- { 0x39, "AppleTalk EDDP" },
- { 0x3b, "AppleTalk SmartBuffered" },
- { 0x3d, "Multi-Link" },
- { 0x3f, "NETBIOS Framing" },
- { 0x41, "Cisco Systems" },
- { 0x43, "Ascom Timeplex" },
- { 0x45, "Fujitsu Link Backup and Load Balancing (LBLB)" },
- { 0x47, "DCA Remote Lan" },
- { 0x49, "Serial Data Transport Protocol (PPP-SDTP)" },
- { 0x4b, "SNA over 802.2" },
- { 0x4d, "SNA" },
- { 0x4f, "IP6 Header Compression" },
- { 0x6f, "Stampede Bridging" },
- { 0xfb, "single-link compression" },
- { 0xfd, "1st choice compression" },
- { 0x0201, "802.1d Hello Packets" },
- { 0x0203, "IBM Source Routing BPDU" },
- { 0x0205, "DEC LANBridge100 Spanning Tree" },
- { 0x0231, "Luxcom" },
- { 0x0233, "Sigma Network Systems" },
- { 0x8021, "Internet Protocol Control Protocol" },
- { 0x8023, "OSI Network Layer Control Protocol" },
- { 0x8025, "Xerox NS IDP Control Protocol" },
- { 0x8027, "DECnet Phase IV Control Protocol" },
- { 0x8029, "Appletalk Control Protocol" },
- { 0x802b, "Novell IPX Control Protocol" },
- { 0x8031, "Bridging NCP" },
- { 0x8033, "Stream Protocol Control Protocol" },
- { 0x8035, "Banyan Vines Control Protocol" },
- { 0x803d, "Multi-Link Control Protocol" },
- { 0x803f, "NETBIOS Framing Control Protocol" },
- { 0x8041, "Cisco Systems Control Protocol" },
- { 0x8043, "Ascom Timeplex" },
- { 0x8045, "Fujitsu LBLB Control Protocol" },
- { 0x8047, "DCA Remote Lan Network Control Protocol (RLNCP)" },
- { 0x8049, "Serial Data Control Protocol (PPP-SDCP)" },
- { 0x804b, "SNA over 802.2 Control Protocol" },
- { 0x804d, "SNA Control Protocol" },
- { 0x804f, "IP6 Header Compression Control Protocol" },
- { 0x006f, "Stampede Bridging Control Protocol" },
- { 0x80fb, "Single Link Compression Control Protocol" },
- { 0x80fd, "Compression Control Protocol" },
- { 0xc021, "Link Control Protocol" },
- { 0xc023, "Password Authentication Protocol" },
- { 0xc025, "Link Quality Report" },
- { 0xc027, "Shiva Password Authentication Protocol" },
- { 0xc029, "CallBack Control Protocol (CBCP)" },
- { 0xc081, "Container Control Protocol" },
- { 0xc223, "Challenge Handshake Authentication Protocol" },
- { 0xc281, "Proprietary Authentication Protocol" },
- { 0, NULL },
-};
-
-/*
- * protocol_name - find a name for a PPP protocol.
- */
-const char *
-protocol_name(proto)
- int proto;
-{
- struct protocol_list *lp;
-
- for (lp = protocol_list; lp->proto != 0; ++lp)
- if (proto == lp->proto)
- return lp->name;
- return NULL;
-}
-
-/*
- * get_input - called when incoming data is available.
- */
-static void
-get_input()
-{
- int len, i;
- u_char *p;
- u_short protocol;
- struct protent *protp;
-
- p = inpacket_buf; /* point to beginning of packet buffer */
-
- len = read_packet(inpacket_buf);
- if (len < 0)
- return;
-
- if (len == 0) {
- notice("Modem hangup");
- hungup = 1;
- status = EXIT_HANGUP;
- lcp_lowerdown(0); /* serial link is no longer available */
- link_terminated(0);
- return;
- }
-
- if (debug /*&& (debugflags & DBG_INPACKET)*/)
- dbglog("rcvd %P", p, len);
-
- if (len < PPP_HDRLEN) {
- MAINDEBUG(("io(): Received short packet."));
- return;
- }
-
- p += 2; /* Skip address and control */
- GETSHORT(protocol, p);
- len -= PPP_HDRLEN;
-
- /*
- * Toss all non-LCP packets unless LCP is OPEN.
- */
- if (protocol != PPP_LCP && lcp_fsm[0].state != OPENED) {
- MAINDEBUG(("get_input: Received non-LCP packet when LCP not open."));
- return;
- }
-
- /*
- * Until we get past the authentication phase, toss all packets
- * except LCP, LQR and authentication packets.
- */
- if (phase <= PHASE_AUTHENTICATE
- && !(protocol == PPP_LCP || protocol == PPP_LQR
- || protocol == PPP_PAP || protocol == PPP_CHAP)) {
- MAINDEBUG(("get_input: discarding proto 0x%x in phase %d",
- protocol, phase));
- return;
- }
-
- /*
- * Upcall the proper protocol input routine.
- */
- for (i = 0; (protp = protocols[i]) != NULL; ++i) {
- if (protp->protocol == protocol && protp->enabled_flag) {
- (*protp->input)(0, p, len);
- return;
- }
- if (protocol == (protp->protocol & ~0x8000) && protp->enabled_flag
- && protp->datainput != NULL) {
- (*protp->datainput)(0, p, len);
- return;
- }
- }
-
- if (debug) {
- const char *pname = protocol_name(protocol);
- if (pname != NULL)
- warn("Unsupported protocol '%s' (0x%x) received", pname, protocol);
- else
- warn("Unsupported protocol 0x%x received", protocol);
- }
- lcp_sprotrej(0, p - PPP_HDRLEN, len + PPP_HDRLEN);
-}
-
-/*
- * new_phase - signal the start of a new phase of pppd's operation.
- */
-void
-new_phase(p)
- int p;
-{
- phase = p;
- if (new_phase_hook)
- (*new_phase_hook)(p);
- notify(phasechange, p);
-}
-
-/*
- * die - clean up state and exit with the specified status.
- */
-void
-die(status)
- int status;
-{
- cleanup();
- notify(exitnotify, status);
- syslog(LOG_INFO, "Exit.");
- exit(status);
-}
-
-/*
- * cleanup - restore anything which needs to be restored before we exit
- */
-/* ARGSUSED */
-static void
-cleanup()
-{
- sys_cleanup();
-
- if (fd_ppp >= 0)
- the_channel->disestablish_ppp(devfd);
- if (the_channel->cleanup)
- (*the_channel->cleanup)();
-
- if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", pidfilename);
- pidfilename[0] = 0;
- if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT)
- warn("unable to delete pid file %s: %m", linkpidfile);
- linkpidfile[0] = 0;
-
- if (pppdb != NULL)
- cleanup_db();
-}
-
-/*
- * update_link_stats - get stats at link termination.
- */
-void
-update_link_stats(u)
- int u;
-{
- struct timeval now;
- char numbuf[32];
-
- if (!get_ppp_stats(u, &link_stats)
- || gettimeofday(&now, NULL) < 0)
- return;
- link_connect_time = now.tv_sec - start_time.tv_sec;
- link_stats_valid = 1;
-
- slprintf(numbuf, sizeof(numbuf), "%d", link_connect_time);
- script_setenv("CONNECT_TIME", numbuf, 0);
- slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_out);
- script_setenv("BYTES_SENT", numbuf, 0);
- slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_in);
- script_setenv("BYTES_RCVD", numbuf, 0);
-}
-
-
-struct callout {
- struct timeval c_time; /* time at which to call routine */
- void *c_arg; /* argument to routine */
- void (*c_func) __P((void *)); /* routine */
- struct callout *c_next;
-};
-
-static struct callout *callout = NULL; /* Callout list */
-static struct timeval timenow; /* Current time */
-
-/*
- * timeout - Schedule a timeout.
- *
- * Note that this timeout takes the number of milliseconds, NOT hz (as in
- * the kernel).
- */
-void
-timeout(func, arg, secs, usecs)
- void (*func) __P((void *));
- void *arg;
- int secs, usecs;
-{
- struct callout *newp, *p, **pp;
-
- MAINDEBUG(("Timeout %p:%p in %d.%03d seconds.", func, arg,
- time / 1000, time % 1000));
-
- /*
- * Allocate timeout.
- */
- if ((newp = (struct callout *) malloc(sizeof(struct callout))) == NULL)
- fatal("Out of memory in timeout()!");
- newp->c_arg = arg;
- newp->c_func = func;
- gettimeofday(&timenow, NULL);
- newp->c_time.tv_sec = timenow.tv_sec + secs;
- newp->c_time.tv_usec = timenow.tv_usec + usecs;
- if (newp->c_time.tv_usec >= 1000000) {
- newp->c_time.tv_sec += newp->c_time.tv_usec / 1000000;
- newp->c_time.tv_usec %= 1000000;
- }
-
- /*
- * Find correct place and link it in.
- */
- for (pp = &callout; (p = *pp); pp = &p->c_next)
- if (newp->c_time.tv_sec < p->c_time.tv_sec
- || (newp->c_time.tv_sec == p->c_time.tv_sec
- && newp->c_time.tv_usec < p->c_time.tv_usec))
- break;
- newp->c_next = p;
- *pp = newp;
-}
-
-
-/*
- * untimeout - Unschedule a timeout.
- */
-void
-untimeout(func, arg)
- void (*func) __P((void *));
- void *arg;
-{
- struct callout **copp, *freep;
-
- MAINDEBUG(("Untimeout %p:%p.", func, arg));
-
- /*
- * Find first matching timeout and remove it from the list.
- */
- for (copp = &callout; (freep = *copp); copp = &freep->c_next)
- if (freep->c_func == func && freep->c_arg == arg) {
- *copp = freep->c_next;
- free((char *) freep);
- break;
- }
-}
-
-
-/*
- * calltimeout - Call any timeout routines which are now due.
- */
-static void
-calltimeout()
-{
- struct callout *p;
-
- while (callout != NULL) {
- p = callout;
-
- if (gettimeofday(&timenow, NULL) < 0)
- fatal("Failed to get time of day: %m");
- if (!(p->c_time.tv_sec < timenow.tv_sec
- || (p->c_time.tv_sec == timenow.tv_sec
- && p->c_time.tv_usec <= timenow.tv_usec)))
- break; /* no, it's not time yet */
-
- callout = p->c_next;
- (*p->c_func)(p->c_arg);
-
- free((char *) p);
- }
-}
-
-
-/*
- * timeleft - return the length of time until the next timeout is due.
- */
-static struct timeval *
-timeleft(tvp)
- struct timeval *tvp;
-{
- if (callout == NULL)
- return NULL;
-
- gettimeofday(&timenow, NULL);
- tvp->tv_sec = callout->c_time.tv_sec - timenow.tv_sec;
- tvp->tv_usec = callout->c_time.tv_usec - timenow.tv_usec;
- if (tvp->tv_usec < 0) {
- tvp->tv_usec += 1000000;
- tvp->tv_sec -= 1;
- }
- if (tvp->tv_sec < 0)
- tvp->tv_sec = tvp->tv_usec = 0;
-
- return tvp;
-}
-
-
-/*
- * kill_my_pg - send a signal to our process group, and ignore it ourselves.
- */
-static void
-kill_my_pg(sig)
- int sig;
-{
- struct sigaction act, oldact;
-
- act.sa_handler = SIG_IGN;
- act.sa_flags = 0;
- kill(0, sig);
- sigaction(sig, &act, &oldact);
- sigaction(sig, &oldact, NULL);
-}
-
-
-/*
- * hup - Catch SIGHUP signal.
- *
- * Indicates that the physical layer has been disconnected.
- * We don't rely on this indication; if the user has sent this
- * signal, we just take the link down.
- */
-static void
-hup(sig)
- int sig;
-{
- info("Hangup (SIGHUP)");
- got_sighup = 1;
- if (conn_running)
- /* Send the signal to the [dis]connector process(es) also */
- kill_my_pg(sig);
- notify(sigreceived, sig);
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * term - Catch SIGTERM signal and SIGINT signal (^C/del).
- *
- * Indicates that we should initiate a graceful disconnect and exit.
- */
-/*ARGSUSED*/
-static void
-term(sig)
- int sig;
-{
- info("Terminating on signal %d.", sig);
- got_sigterm = 1;
- if (conn_running)
- /* Send the signal to the [dis]connector process(es) also */
- kill_my_pg(sig);
- notify(sigreceived, sig);
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * chld - Catch SIGCHLD signal.
- * Sets a flag so we will call reap_kids in the mainline.
- */
-static void
-chld(sig)
- int sig;
-{
- got_sigchld = 1;
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * toggle_debug - Catch SIGUSR1 signal.
- *
- * Toggle debug flag.
- */
-/*ARGSUSED*/
-static void
-toggle_debug(sig)
- int sig;
-{
- debug = !debug;
- if (debug) {
- setlogmask(LOG_UPTO(LOG_DEBUG));
- } else {
- setlogmask(LOG_UPTO(LOG_WARNING));
- }
-}
-
-
-/*
- * open_ccp - Catch SIGUSR2 signal.
- *
- * Try to (re)negotiate compression.
- */
-/*ARGSUSED*/
-static void
-open_ccp(sig)
- int sig;
-{
- got_sigusr2 = 1;
- if (waiting)
- siglongjmp(sigjmp, 1);
-}
-
-
-/*
- * bad_signal - We've caught a fatal signal. Clean up state and exit.
- */
-static void
-bad_signal(sig)
- int sig;
-{
- static int crashed = 0;
-
- if (crashed)
- _exit(127);
- crashed = 1;
- error("Fatal signal %d", sig);
- if (conn_running)
- kill_my_pg(SIGTERM);
- notify(sigreceived, sig);
- die(127);
-}
-
-
-/*
- * device_script - run a program to talk to the specified fds
- * (e.g. to run the connector or disconnector script).
- * stderr gets connected to the log fd or to the _PATH_CONNERRS file.
- */
-int
-device_script(program, in, out, dont_wait)
- char *program;
- int in, out;
- int dont_wait;
-{
- int pid, fd;
- int status = -1;
- int errfd;
-
- ++conn_running;
- pid = fork();
-
- if (pid < 0) {
- --conn_running;
- error("Failed to create child process: %m");
- return -1;
- }
-
- if (pid != 0) {
- if (dont_wait) {
- record_child(pid, program, NULL, NULL);
- status = 0;
- } else {
- while (waitpid(pid, &status, 0) < 0) {
- if (errno == EINTR)
- continue;
- fatal("error waiting for (dis)connection process: %m");
- }
- --conn_running;
- }
- return (status == 0 ? 0 : -1);
- }
-
- /* here we are executing in the child */
- /* make sure fds 0, 1, 2 are occupied */
- while ((fd = dup(in)) >= 0) {
- if (fd > 2) {
- close(fd);
- break;
- }
- }
-
- /* dup in and out to fds > 2 */
- in = dup(in);
- out = dup(out);
- if (log_to_fd >= 0) {
- errfd = dup(log_to_fd);
- } else {
- errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
- }
-
- /* close fds 0 - 2 and any others we can think of */
- close(0);
- close(1);
- close(2);
- sys_close();
- if (the_channel->close)
- (*the_channel->close)();
- closelog();
-
- /* dup the in, out, err fds to 0, 1, 2 */
- dup2(in, 0);
- close(in);
- dup2(out, 1);
- close(out);
- if (errfd >= 0) {
- dup2(errfd, 2);
- close(errfd);
- }
-
- setuid(uid);
- if (getuid() != uid) {
- error("setuid failed");
- exit(1);
- }
- setgid(getgid());
- {
- int argc = 0;
- char * argv[500];
- char * ptr = program;
- while (ptr != NULL) {
- argv[argc] = ptr;
- argc++;
- ptr = strchr(ptr, ' ');
- if (ptr) {
- ptr[0] = '\0';
- ptr++;
- }
- }
- argv[argc] = NULL;
- execv(argv[0], argv);
- error("could not exec %s: %m", program);
- exit(99);
- }
- /* NOTREACHED */
-}
-
-
-/*
- * run-program - execute a program with given arguments,
- * but don't wait for it.
- * If the program can't be executed, logs an error unless
- * must_exist is 0 and the program file doesn't exist.
- * Returns -1 if it couldn't fork, 0 if the file doesn't exist
- * or isn't an executable plain file, or the process ID of the child.
- * If done != NULL, (*done)(arg) will be called later (within
- * reap_kids) iff the return value is > 0.
- */
-pid_t
-run_program(prog, args, must_exist, done, arg)
- char *prog;
- char **args;
- int must_exist;
- void (*done) __P((void *));
- void *arg;
-{
- int pid;
- struct stat sbuf;
-
- /*
- * First check if the file exists and is executable.
- * We don't use access() because that would use the
- * real user-id, which might not be root, and the script
- * might be accessible only to root.
- */
- errno = EINVAL;
- if (stat(prog, &sbuf) < 0 || !S_ISREG(sbuf.st_mode)
- || (sbuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0) {
- if (must_exist || errno != ENOENT)
- warn("Can't execute %s: %m", prog);
- return 0;
- }
-
- pid = fork();
- if (pid == -1) {
- error("Failed to create child process for %s: %m", prog);
- return -1;
- }
- if (pid == 0) {
- int new_fd;
-
- /* Leave the current location */
- (void) setsid(); /* No controlling tty. */
- (void) umask (S_IRWXG|S_IRWXO);
- (void) chdir ("/"); /* no current directory. */
- setuid(0); /* set real UID = root */
- setgid(getegid());
-
- /* Ensure that nothing of our device environment is inherited. */
- sys_close();
- closelog();
- close (0);
- close (1);
- close (2);
- if (the_channel->close)
- (*the_channel->close)();
-
- /* Don't pass handles to the PPP device, even by accident. */
- new_fd = open (_PATH_DEVNULL, O_RDWR);
- if (new_fd >= 0) {
- if (new_fd != 0) {
- dup2 (new_fd, 0); /* stdin <- /dev/null */
- close (new_fd);
- }
- dup2 (0, 1); /* stdout -> /dev/null */
- dup2 (0, 2); /* stderr -> /dev/null */
- }
-
-#ifdef BSD
- /* Force the priority back to zero if pppd is running higher. */
- if (setpriority (PRIO_PROCESS, 0, 0) < 0)
- warn("can't reset priority to 0: %m");
-#endif
-
- /* SysV recommends a second fork at this point. */
-
- /* run the program */
- execve(prog, args, script_env);
- if (must_exist || errno != ENOENT) {
- /* have to reopen the log, there's nowhere else
- for the message to go. */
- reopen_log();
- syslog(LOG_ERR, "Can't execute %s: %m", prog);
- closelog();
- }
- _exit(-1);
- }
-
- if (debug)
- dbglog("Script %s started (pid %d)", prog, pid);
- record_child(pid, prog, done, arg);
-
- return pid;
-}
-
-
-/*
- * record_child - add a child process to the list for reap_kids
- * to use.
- */
-void
-record_child(pid, prog, done, arg)
- int pid;
- char *prog;
- void (*done) __P((void *));
- void *arg;
-{
- struct subprocess *chp;
-
- ++n_children;
-
- chp = (struct subprocess *) malloc(sizeof(struct subprocess));
- if (chp == NULL) {
- warn("losing track of %s process", prog);
- } else {
- chp->pid = pid;
- chp->prog = prog;
- chp->done = done;
- chp->arg = arg;
- chp->next = children;
- children = chp;
- }
-}
-
-
-/*
- * reap_kids - get status from any dead child processes,
- * and log a message for abnormal terminations.
- */
-static int
-reap_kids(waitfor)
- int waitfor;
-{
- int pid, status;
- struct subprocess *chp, **prevp;
-
- if (n_children == 0)
- return 0;
- while ((pid = waitpid(-1, &status, (waitfor? 0: WNOHANG))) != -1
- && pid != 0) {
- for (prevp = &children; (chp = *prevp) != NULL; prevp = &chp->next) {
- if (chp->pid == pid) {
- --n_children;
- *prevp = chp->next;
- break;
- }
- }
- if (WIFSIGNALED(status)) {
- warn("Child process %s (pid %d) terminated with signal %d",
- (chp? chp->prog: "??"), pid, WTERMSIG(status));
- } else if (debug)
- dbglog("Script %s finished (pid %d), status = 0x%x",
- (chp? chp->prog: "??"), pid, status);
- if (chp && chp->done)
- (*chp->done)(chp->arg);
- if (chp)
- free(chp);
- }
- if (pid == -1) {
- if (errno == ECHILD)
- return -1;
- if (errno != EINTR)
- error("Error waiting for child process: %m");
- }
- return 0;
-}
-
-/*
- * add_notifier - add a new function to be called when something happens.
- */
-void
-add_notifier(notif, func, arg)
- struct notifier **notif;
- notify_func func;
- void *arg;
-{
- struct notifier *np;
-
- np = malloc(sizeof(struct notifier));
- if (np == 0)
- novm("notifier struct");
- np->next = *notif;
- np->func = func;
- np->arg = arg;
- *notif = np;
-}
-
-/*
- * remove_notifier - remove a function from the list of things to
- * be called when something happens.
- */
-void
-remove_notifier(notif, func, arg)
- struct notifier **notif;
- notify_func func;
- void *arg;
-{
- struct notifier *np;
-
- for (; (np = *notif) != 0; notif = &np->next) {
- if (np->func == func && np->arg == arg) {
- *notif = np->next;
- free(np);
- break;
- }
- }
-}
-
-/*
- * notify - call a set of functions registered with add_notify.
- */
-void
-notify(notif, val)
- struct notifier *notif;
- int val;
-{
- struct notifier *np;
-
- while ((np = notif) != 0) {
- notif = np->next;
- (*np->func)(np->arg, val);
- }
-}
-
-/*
- * novm - log an error message saying we ran out of memory, and die.
- */
-void
-novm(msg)
- char *msg;
-{
- fatal("Virtual memory exhausted allocating %s\n", msg);
-}
-
-/*
- * script_setenv - set an environment variable value to be used
- * for scripts that we run (e.g. ip-up, auth-up, etc.)
- */
-void
-script_setenv(var, value, iskey)
- char *var, *value;
- int iskey;
-{
- size_t varl = strlen(var);
- size_t vl = varl + strlen(value) + 2;
- int i;
- char *p, *newstring;
-
- newstring = (char *) malloc(vl+1);
- if (newstring == 0)
- return;
- *newstring++ = iskey;
- slprintf(newstring, vl, "%s=%s", var, value);
-
- /* check if this variable is already set */
- if (script_env != 0) {
- for (i = 0; (p = script_env[i]) != 0; ++i) {
- if (strncmp(p, var, varl) == 0 && p[varl] == '=') {
- if (p[-1] && pppdb != NULL)
- delete_db_key(p);
- free(p-1);
- script_env[i] = newstring;
- if (iskey && pppdb != NULL)
- add_db_key(newstring);
- update_db_entry();
- return;
- }
- }
- } else {
- /* no space allocated for script env. ptrs. yet */
- i = 0;
- script_env = (char **) malloc(16 * sizeof(char *));
- if (script_env == 0)
- return;
- s_env_nalloc = 16;
- }
-
- /* reallocate script_env with more space if needed */
- if (i + 1 >= s_env_nalloc) {
- int new_n = i + 17;
- char **newenv = (char **) realloc((void *)script_env,
- new_n * sizeof(char *));
- if (newenv == 0)
- return;
- script_env = newenv;
- s_env_nalloc = new_n;
- }
-
- script_env[i] = newstring;
- script_env[i+1] = 0;
-
- if (pppdb != NULL) {
- if (iskey)
- add_db_key(newstring);
- update_db_entry();
- }
-}
-
-/*
- * script_unsetenv - remove a variable from the environment
- * for scripts.
- */
-void
-script_unsetenv(var)
- char *var;
-{
- int vl = strlen(var);
- int i;
- char *p;
-
- if (script_env == 0)
- return;
- for (i = 0; (p = script_env[i]) != 0; ++i) {
- if (strncmp(p, var, vl) == 0 && p[vl] == '=') {
- if (p[-1] && pppdb != NULL)
- delete_db_key(p);
- free(p-1);
- while ((script_env[i] = script_env[i+1]) != 0)
- ++i;
- break;
- }
- }
- if (pppdb != NULL)
- update_db_entry();
-}
-
-/*
- * update_db_entry - update our entry in the database.
- */
-static void
-update_db_entry()
-{
- TDB_DATA key, dbuf;
- int vlen, i;
- char *p, *q, *vbuf;
-
- if (script_env == NULL)
- return;
- vlen = 0;
- for (i = 0; (p = script_env[i]) != 0; ++i)
- vlen += strlen(p) + 1;
- vbuf = malloc(vlen);
- if (vbuf == 0)
- novm("database entry");
- q = vbuf;
- for (i = 0; (p = script_env[i]) != 0; ++i)
- q += slprintf(q, vbuf + vlen - q, "%s;", p);
-
- key.dptr = db_key;
- key.dsize = strlen(db_key);
- dbuf.dptr = vbuf;
- dbuf.dsize = vlen;
- if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
- error("tdb_store failed: %s", tdb_error(pppdb));
-
-}
-
-/*
- * add_db_key - add a key that we can use to look up our database entry.
- */
-static void
-add_db_key(str)
- const char *str;
-{
- TDB_DATA key, dbuf;
-
- key.dptr = (char *) str;
- key.dsize = strlen(str);
- dbuf.dptr = db_key;
- dbuf.dsize = strlen(db_key);
- if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
- error("tdb_store key failed: %s", tdb_error(pppdb));
-}
-
-/*
- * delete_db_key - delete a key for looking up our database entry.
- */
-static void
-delete_db_key(str)
- const char *str;
-{
- TDB_DATA key;
-
- key.dptr = (char *) str;
- key.dsize = strlen(str);
- tdb_delete(pppdb, key);
-}
-
-/*
- * cleanup_db - delete all the entries we put in the database.
- */
-static void
-cleanup_db()
-{
- TDB_DATA key;
- int i;
- char *p;
-
- key.dptr = db_key;
- key.dsize = strlen(db_key);
- tdb_delete(pppdb, key);
- for (i = 0; (p = script_env[i]) != 0; ++i)
- if (p[-1])
- delete_db_key(p);
-}
diff --git a/mdk-stage1/ppp/pppd/md4.c b/mdk-stage1/ppp/pppd/md4.c
deleted file mode 100644
index cda9f943d..000000000
--- a/mdk-stage1/ppp/pppd/md4.c
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
-** ********************************************************************
-** md4.c -- Implementation of MD4 Message Digest Algorithm **
-** Updated: 2/16/90 by Ronald L. Rivest **
-** (C) 1990 RSA Data Security, Inc. **
-** ********************************************************************
-*/
-
-/*
-** To use MD4:
-** -- Include md4.h in your program
-** -- Declare an MDstruct MD to hold the state of the digest
-** computation.
-** -- Initialize MD using MDbegin(&MD)
-** -- For each full block (64 bytes) X you wish to process, call
-** MD4Update(&MD,X,512)
-** (512 is the number of bits in a full block.)
-** -- For the last block (less than 64 bytes) you wish to process,
-** MD4Update(&MD,X,n)
-** where n is the number of bits in the partial block. A partial
-** block terminates the computation, so every MD computation
-** should terminate by processing a partial block, even if it
-** has n = 0.
-** -- The message digest is available in MD.buffer[0] ...
-** MD.buffer[3]. (Least-significant byte of each word
-** should be output first.)
-** -- You can print out the digest using MDprint(&MD)
-*/
-
-/* Implementation notes:
-** This implementation assumes that ints are 32-bit quantities.
-*/
-
-#define TRUE 1
-#define FALSE 0
-
-/* Compile-time includes
-*/
-#include <stdio.h>
-#include "md4.h"
-#include "pppd.h"
-
-/* Compile-time declarations of MD4 "magic constants".
-*/
-#define I0 0x67452301 /* Initial values for MD buffer */
-#define I1 0xefcdab89
-#define I2 0x98badcfe
-#define I3 0x10325476
-#define C2 013240474631 /* round 2 constant = sqrt(2) in octal */
-#define C3 015666365641 /* round 3 constant = sqrt(3) in octal */
-/* C2 and C3 are from Knuth, The Art of Programming, Volume 2
-** (Seminumerical Algorithms), Second Edition (1981), Addison-Wesley.
-** Table 2, page 660.
-*/
-
-#define fs1 3 /* round 1 shift amounts */
-#define fs2 7
-#define fs3 11
-#define fs4 19
-#define gs1 3 /* round 2 shift amounts */
-#define gs2 5
-#define gs3 9
-#define gs4 13
-#define hs1 3 /* round 3 shift amounts */
-#define hs2 9
-#define hs3 11
-#define hs4 15
-
-/* Compile-time macro declarations for MD4.
-** Note: The "rot" operator uses the variable "tmp".
-** It assumes tmp is declared as unsigned int, so that the >>
-** operator will shift in zeros rather than extending the sign bit.
-*/
-#define f(X,Y,Z) ((X&Y) | ((~X)&Z))
-#define g(X,Y,Z) ((X&Y) | (X&Z) | (Y&Z))
-#define h(X,Y,Z) (X^Y^Z)
-#define rot(X,S) (tmp=X,(tmp<<S) | (tmp>>(32-S)))
-#define ff(A,B,C,D,i,s) A = rot((A + f(B,C,D) + X[i]),s)
-#define gg(A,B,C,D,i,s) A = rot((A + g(B,C,D) + X[i] + C2),s)
-#define hh(A,B,C,D,i,s) A = rot((A + h(B,C,D) + X[i] + C3),s)
-
-/* MD4print(MDp)
-** Print message digest buffer MDp as 32 hexadecimal digits.
-** Order is from low-order byte of buffer[0] to high-order byte of
-** buffer[3].
-** Each byte is printed with high-order hexadecimal digit first.
-** This is a user-callable routine.
-*/
-void
-MD4Print(MDp)
-MD4_CTX *MDp;
-{
- int i,j;
- for (i=0;i<4;i++)
- for (j=0;j<32;j=j+8)
- printf("%02x",(MDp->buffer[i]>>j) & 0xFF);
-}
-
-/* MD4Init(MDp)
-** Initialize message digest buffer MDp.
-** This is a user-callable routine.
-*/
-void
-MD4Init(MDp)
-MD4_CTX *MDp;
-{
- int i;
- MDp->buffer[0] = I0;
- MDp->buffer[1] = I1;
- MDp->buffer[2] = I2;
- MDp->buffer[3] = I3;
- for (i=0;i<8;i++) MDp->count[i] = 0;
- MDp->done = 0;
-}
-
-/* MDblock(MDp,X)
-** Update message digest buffer MDp->buffer using 16-word data block X.
-** Assumes all 16 words of X are full of data.
-** Does not update MDp->count.
-** This routine is not user-callable.
-*/
-static void
-MDblock(MDp,Xb)
-MD4_CTX *MDp;
-unsigned char *Xb;
-{
- register unsigned int tmp, A, B, C, D;
- unsigned int X[16];
- int i;
-
- for (i = 0; i < 16; ++i) {
- X[i] = Xb[0] + (Xb[1] << 8) + (Xb[2] << 16) + (Xb[3] << 24);
- Xb += 4;
- }
-
- A = MDp->buffer[0];
- B = MDp->buffer[1];
- C = MDp->buffer[2];
- D = MDp->buffer[3];
- /* Update the message digest buffer */
- ff(A , B , C , D , 0 , fs1); /* Round 1 */
- ff(D , A , B , C , 1 , fs2);
- ff(C , D , A , B , 2 , fs3);
- ff(B , C , D , A , 3 , fs4);
- ff(A , B , C , D , 4 , fs1);
- ff(D , A , B , C , 5 , fs2);
- ff(C , D , A , B , 6 , fs3);
- ff(B , C , D , A , 7 , fs4);
- ff(A , B , C , D , 8 , fs1);
- ff(D , A , B , C , 9 , fs2);
- ff(C , D , A , B , 10 , fs3);
- ff(B , C , D , A , 11 , fs4);
- ff(A , B , C , D , 12 , fs1);
- ff(D , A , B , C , 13 , fs2);
- ff(C , D , A , B , 14 , fs3);
- ff(B , C , D , A , 15 , fs4);
- gg(A , B , C , D , 0 , gs1); /* Round 2 */
- gg(D , A , B , C , 4 , gs2);
- gg(C , D , A , B , 8 , gs3);
- gg(B , C , D , A , 12 , gs4);
- gg(A , B , C , D , 1 , gs1);
- gg(D , A , B , C , 5 , gs2);
- gg(C , D , A , B , 9 , gs3);
- gg(B , C , D , A , 13 , gs4);
- gg(A , B , C , D , 2 , gs1);
- gg(D , A , B , C , 6 , gs2);
- gg(C , D , A , B , 10 , gs3);
- gg(B , C , D , A , 14 , gs4);
- gg(A , B , C , D , 3 , gs1);
- gg(D , A , B , C , 7 , gs2);
- gg(C , D , A , B , 11 , gs3);
- gg(B , C , D , A , 15 , gs4);
- hh(A , B , C , D , 0 , hs1); /* Round 3 */
- hh(D , A , B , C , 8 , hs2);
- hh(C , D , A , B , 4 , hs3);
- hh(B , C , D , A , 12 , hs4);
- hh(A , B , C , D , 2 , hs1);
- hh(D , A , B , C , 10 , hs2);
- hh(C , D , A , B , 6 , hs3);
- hh(B , C , D , A , 14 , hs4);
- hh(A , B , C , D , 1 , hs1);
- hh(D , A , B , C , 9 , hs2);
- hh(C , D , A , B , 5 , hs3);
- hh(B , C , D , A , 13 , hs4);
- hh(A , B , C , D , 3 , hs1);
- hh(D , A , B , C , 11 , hs2);
- hh(C , D , A , B , 7 , hs3);
- hh(B , C , D , A , 15 , hs4);
- MDp->buffer[0] += A;
- MDp->buffer[1] += B;
- MDp->buffer[2] += C;
- MDp->buffer[3] += D;
-}
-
-/* MD4Update(MDp,X,count)
-** Input: X -- a pointer to an array of unsigned characters.
-** count -- the number of bits of X to use.
-** (if not a multiple of 8, uses high bits of last byte.)
-** Update MDp using the number of bits of X given by count.
-** This is the basic input routine for an MD4 user.
-** The routine completes the MD computation when count < 512, so
-** every MD computation should end with one call to MD4Update with a
-** count less than 512. A call with count 0 will be ignored if the
-** MD has already been terminated (done != 0), so an extra call with
-** count 0 can be given as a "courtesy close" to force termination
-** if desired.
-*/
-void
-MD4Update(MDp,X,count)
-MD4_CTX *MDp;
-unsigned char *X;
-unsigned int count;
-{
- unsigned int i, tmp, bit, byte, mask;
- unsigned char XX[64];
- unsigned char *p;
-
- /* return with no error if this is a courtesy close with count
- ** zero and MDp->done is true.
- */
- if (count == 0 && MDp->done) return;
- /* check to see if MD is already done and report error */
- if (MDp->done)
- { printf("\nError: MD4Update MD already done."); return; }
-
- /* Add count to MDp->count */
- tmp = count;
- p = MDp->count;
- while (tmp)
- { tmp += *p;
- *p++ = tmp;
- tmp = tmp >> 8;
- }
-
- /* Process data */
- if (count == 512)
- { /* Full block of data to handle */
- MDblock(MDp,X);
- }
- else if (count > 512) /* Check for count too large */
- {
- printf("\nError: MD4Update called with illegal count value %d.",
- count);
- return;
- }
- else /* partial block -- must be last block so finish up */
- {
- /* Find out how many bytes and residual bits there are */
- byte = count >> 3;
- bit = count & 7;
- /* Copy X into XX since we need to modify it */
- for (i=0;i<=byte;i++) XX[i] = X[i];
- for (i=byte+1;i<64;i++) XX[i] = 0;
- /* Add padding '1' bit and low-order zeros in last byte */
- mask = 1 << (7 - bit);
- XX[byte] = (XX[byte] | mask) & ~( mask - 1);
- /* If room for bit count, finish up with this block */
- if (byte <= 55)
- {
- for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
- MDblock(MDp,XX);
- }
- else /* need to do two blocks to finish up */
- {
- MDblock(MDp,XX);
- for (i=0;i<56;i++) XX[i] = 0;
- for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
- MDblock(MDp,XX);
- }
- /* Set flag saying we're done with MD computation */
- MDp->done = 1;
- }
-}
-
-/*
-** Finish up MD4 computation and return message digest.
-*/
-void
-MD4Final(buf, MD)
-unsigned char *buf;
-MD4_CTX *MD;
-{
- int i, j;
- unsigned int w;
-
- MD4Update(MD, NULL, 0);
- for (i = 0; i < 4; ++i) {
- w = MD->buffer[i];
- for (j = 0; j < 4; ++j) {
- *buf++ = w;
- w >>= 8;
- }
- }
-}
-
-/*
-** End of md4.c
-****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md4.h b/mdk-stage1/ppp/pppd/md4.h
deleted file mode 100644
index 80e8f9a2a..000000000
--- a/mdk-stage1/ppp/pppd/md4.h
+++ /dev/null
@@ -1,64 +0,0 @@
-
-/*
-** ********************************************************************
-** md4.h -- Header file for implementation of **
-** MD4 Message Digest Algorithm **
-** Updated: 2/13/90 by Ronald L. Rivest **
-** (C) 1990 RSA Data Security, Inc. **
-** ********************************************************************
-*/
-
-#ifndef __P
-# if defined(__STDC__) || defined(__GNUC__)
-# define __P(x) x
-# else
-# define __P(x) ()
-# endif
-#endif
-
-
-/* MDstruct is the data structure for a message digest computation.
-*/
-typedef struct {
- unsigned int buffer[4]; /* Holds 4-word result of MD computation */
- unsigned char count[8]; /* Number of bits processed so far */
- unsigned int done; /* Nonzero means MD computation finished */
-} MD4_CTX;
-
-/* MD4Init(MD4_CTX *)
-** Initialize the MD4_CTX prepatory to doing a message digest
-** computation.
-*/
-extern void MD4Init __P((MD4_CTX *MD));
-
-/* MD4Update(MD,X,count)
-** Input: X -- a pointer to an array of unsigned characters.
-** count -- the number of bits of X to use (an unsigned int).
-** Updates MD using the first "count" bits of X.
-** The array pointed to by X is not modified.
-** If count is not a multiple of 8, MD4Update uses high bits of
-** last byte.
-** This is the basic input routine for a user.
-** The routine terminates the MD computation when count < 512, so
-** every MD computation should end with one call to MD4Update with a
-** count less than 512. Zero is OK for a count.
-*/
-extern void MD4Update __P((MD4_CTX *MD, unsigned char *X, unsigned int count));
-
-/* MD4Print(MD)
-** Prints message digest buffer MD as 32 hexadecimal digits.
-** Order is from low-order byte of buffer[0] to high-order byte
-** of buffer[3].
-** Each byte is printed with high-order hexadecimal digit first.
-*/
-extern void MD4Print __P((MD4_CTX *));
-
-/* MD4Final(buf, MD)
-** Returns message digest from MD and terminates the message
-** digest computation.
-*/
-extern void MD4Final __P((unsigned char *, MD4_CTX *));
-
-/*
-** End of md4.h
-****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md5.c b/mdk-stage1/ppp/pppd/md5.c
deleted file mode 100644
index 0b8de3aae..000000000
--- a/mdk-stage1/ppp/pppd/md5.c
+++ /dev/null
@@ -1,309 +0,0 @@
-
-
-/*
- ***********************************************************************
- ** md5.c -- the source code for MD5 routines **
- ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 1/91 SRD,AJ,BSK,JT Reference C ver., 7/10 constant corr. **
- ***********************************************************************
- */
-
-/*
- ***********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- ***********************************************************************
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "md5.h"
-
-/*
- ***********************************************************************
- ** Message-digest routines: **
- ** To form the message digest for a message M **
- ** (1) Initialize a context buffer mdContext using MD5Init **
- ** (2) Call MD5Update on mdContext and M **
- ** (3) Call MD5Final on mdContext **
- ** The message digest is now in mdContext->digest[0...15] **
- ***********************************************************************
- */
-
-/* forward declaration */
-static void Transform ();
-
-static unsigned char PADDING[64] = {
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-/* F, G, H and I are basic MD5 functions */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */
-/* Rotation is separate from addition to prevent recomputation */
-#define FF(a, b, c, d, x, s, ac) \
- {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define GG(a, b, c, d, x, s, ac) \
- {(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define HH(a, b, c, d, x, s, ac) \
- {(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-#define II(a, b, c, d, x, s, ac) \
- {(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
- (a) = ROTATE_LEFT ((a), (s)); \
- (a) += (b); \
- }
-
-#ifdef __STDC__
-#define UL(x) x##U
-#else
-#define UL(x) x
-#endif
-
-/* The routine MD5Init initializes the message-digest context
- mdContext. All fields are set to zero.
- */
-void MD5Init (mdContext)
-MD5_CTX *mdContext;
-{
- mdContext->i[0] = mdContext->i[1] = (UINT4)0;
-
- /* Load magic initialization constants.
- */
- mdContext->buf[0] = (UINT4)0x67452301;
- mdContext->buf[1] = (UINT4)0xefcdab89;
- mdContext->buf[2] = (UINT4)0x98badcfe;
- mdContext->buf[3] = (UINT4)0x10325476;
-}
-
-/* The routine MD5Update updates the message-digest context to
- account for the presence of each of the characters inBuf[0..inLen-1]
- in the message whose digest is being computed.
- */
-void MD5Update (mdContext, inBuf, inLen)
-MD5_CTX *mdContext;
-unsigned char *inBuf;
-unsigned int inLen;
-{
- UINT4 in[16];
- int mdi;
- unsigned int i, ii;
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* update number of bits */
- if ((mdContext->i[0] + ((UINT4)inLen << 3)) < mdContext->i[0])
- mdContext->i[1]++;
- mdContext->i[0] += ((UINT4)inLen << 3);
- mdContext->i[1] += ((UINT4)inLen >> 29);
-
- while (inLen--) {
- /* add new character to buffer, increment mdi */
- mdContext->in[mdi++] = *inBuf++;
-
- /* transform if necessary */
- if (mdi == 0x40) {
- for (i = 0, ii = 0; i < 16; i++, ii += 4)
- in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
- (((UINT4)mdContext->in[ii+2]) << 16) |
- (((UINT4)mdContext->in[ii+1]) << 8) |
- ((UINT4)mdContext->in[ii]);
- Transform (mdContext->buf, in);
- mdi = 0;
- }
- }
-}
-
-/* The routine MD5Final terminates the message-digest computation and
- ends with the desired message digest in mdContext->digest[0...15].
- */
-void MD5Final (hash, mdContext)
-unsigned char hash[];
-MD5_CTX *mdContext;
-{
- UINT4 in[16];
- int mdi;
- unsigned int i, ii;
- unsigned int padLen;
-
- /* save number of bits */
- in[14] = mdContext->i[0];
- in[15] = mdContext->i[1];
-
- /* compute number of bytes mod 64 */
- mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
-
- /* pad out to 56 mod 64 */
- padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);
- MD5Update (mdContext, PADDING, padLen);
-
- /* append length in bits and transform */
- for (i = 0, ii = 0; i < 14; i++, ii += 4)
- in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
- (((UINT4)mdContext->in[ii+2]) << 16) |
- (((UINT4)mdContext->in[ii+1]) << 8) |
- ((UINT4)mdContext->in[ii]);
- Transform (mdContext->buf, in);
-
- /* store buffer in digest */
- for (i = 0, ii = 0; i < 4; i++, ii += 4) {
- mdContext->digest[ii] = (unsigned char)(mdContext->buf[i] & 0xFF);
- mdContext->digest[ii+1] =
- (unsigned char)((mdContext->buf[i] >> 8) & 0xFF);
- mdContext->digest[ii+2] =
- (unsigned char)((mdContext->buf[i] >> 16) & 0xFF);
- mdContext->digest[ii+3] =
- (unsigned char)((mdContext->buf[i] >> 24) & 0xFF);
- }
- memcpy(hash, mdContext->digest, 16);
-}
-
-/* Basic MD5 step. Transforms buf based on in.
- */
-static void Transform (buf, in)
-UINT4 *buf;
-UINT4 *in;
-{
- UINT4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
-
- /* Round 1 */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
- FF ( a, b, c, d, in[ 0], S11, UL(3614090360)); /* 1 */
- FF ( d, a, b, c, in[ 1], S12, UL(3905402710)); /* 2 */
- FF ( c, d, a, b, in[ 2], S13, UL( 606105819)); /* 3 */
- FF ( b, c, d, a, in[ 3], S14, UL(3250441966)); /* 4 */
- FF ( a, b, c, d, in[ 4], S11, UL(4118548399)); /* 5 */
- FF ( d, a, b, c, in[ 5], S12, UL(1200080426)); /* 6 */
- FF ( c, d, a, b, in[ 6], S13, UL(2821735955)); /* 7 */
- FF ( b, c, d, a, in[ 7], S14, UL(4249261313)); /* 8 */
- FF ( a, b, c, d, in[ 8], S11, UL(1770035416)); /* 9 */
- FF ( d, a, b, c, in[ 9], S12, UL(2336552879)); /* 10 */
- FF ( c, d, a, b, in[10], S13, UL(4294925233)); /* 11 */
- FF ( b, c, d, a, in[11], S14, UL(2304563134)); /* 12 */
- FF ( a, b, c, d, in[12], S11, UL(1804603682)); /* 13 */
- FF ( d, a, b, c, in[13], S12, UL(4254626195)); /* 14 */
- FF ( c, d, a, b, in[14], S13, UL(2792965006)); /* 15 */
- FF ( b, c, d, a, in[15], S14, UL(1236535329)); /* 16 */
-
- /* Round 2 */
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
- GG ( a, b, c, d, in[ 1], S21, UL(4129170786)); /* 17 */
- GG ( d, a, b, c, in[ 6], S22, UL(3225465664)); /* 18 */
- GG ( c, d, a, b, in[11], S23, UL( 643717713)); /* 19 */
- GG ( b, c, d, a, in[ 0], S24, UL(3921069994)); /* 20 */
- GG ( a, b, c, d, in[ 5], S21, UL(3593408605)); /* 21 */
- GG ( d, a, b, c, in[10], S22, UL( 38016083)); /* 22 */
- GG ( c, d, a, b, in[15], S23, UL(3634488961)); /* 23 */
- GG ( b, c, d, a, in[ 4], S24, UL(3889429448)); /* 24 */
- GG ( a, b, c, d, in[ 9], S21, UL( 568446438)); /* 25 */
- GG ( d, a, b, c, in[14], S22, UL(3275163606)); /* 26 */
- GG ( c, d, a, b, in[ 3], S23, UL(4107603335)); /* 27 */
- GG ( b, c, d, a, in[ 8], S24, UL(1163531501)); /* 28 */
- GG ( a, b, c, d, in[13], S21, UL(2850285829)); /* 29 */
- GG ( d, a, b, c, in[ 2], S22, UL(4243563512)); /* 30 */
- GG ( c, d, a, b, in[ 7], S23, UL(1735328473)); /* 31 */
- GG ( b, c, d, a, in[12], S24, UL(2368359562)); /* 32 */
-
- /* Round 3 */
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
- HH ( a, b, c, d, in[ 5], S31, UL(4294588738)); /* 33 */
- HH ( d, a, b, c, in[ 8], S32, UL(2272392833)); /* 34 */
- HH ( c, d, a, b, in[11], S33, UL(1839030562)); /* 35 */
- HH ( b, c, d, a, in[14], S34, UL(4259657740)); /* 36 */
- HH ( a, b, c, d, in[ 1], S31, UL(2763975236)); /* 37 */
- HH ( d, a, b, c, in[ 4], S32, UL(1272893353)); /* 38 */
- HH ( c, d, a, b, in[ 7], S33, UL(4139469664)); /* 39 */
- HH ( b, c, d, a, in[10], S34, UL(3200236656)); /* 40 */
- HH ( a, b, c, d, in[13], S31, UL( 681279174)); /* 41 */
- HH ( d, a, b, c, in[ 0], S32, UL(3936430074)); /* 42 */
- HH ( c, d, a, b, in[ 3], S33, UL(3572445317)); /* 43 */
- HH ( b, c, d, a, in[ 6], S34, UL( 76029189)); /* 44 */
- HH ( a, b, c, d, in[ 9], S31, UL(3654602809)); /* 45 */
- HH ( d, a, b, c, in[12], S32, UL(3873151461)); /* 46 */
- HH ( c, d, a, b, in[15], S33, UL( 530742520)); /* 47 */
- HH ( b, c, d, a, in[ 2], S34, UL(3299628645)); /* 48 */
-
- /* Round 4 */
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
- II ( a, b, c, d, in[ 0], S41, UL(4096336452)); /* 49 */
- II ( d, a, b, c, in[ 7], S42, UL(1126891415)); /* 50 */
- II ( c, d, a, b, in[14], S43, UL(2878612391)); /* 51 */
- II ( b, c, d, a, in[ 5], S44, UL(4237533241)); /* 52 */
- II ( a, b, c, d, in[12], S41, UL(1700485571)); /* 53 */
- II ( d, a, b, c, in[ 3], S42, UL(2399980690)); /* 54 */
- II ( c, d, a, b, in[10], S43, UL(4293915773)); /* 55 */
- II ( b, c, d, a, in[ 1], S44, UL(2240044497)); /* 56 */
- II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */
- II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */
- II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */
- II ( b, c, d, a, in[13], S44, UL(1309151649)); /* 60 */
- II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */
- II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */
- II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */
- II ( b, c, d, a, in[ 9], S44, UL(3951481745)); /* 64 */
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-/*
- ***********************************************************************
- ** End of md5.c **
- ******************************** (cut) ********************************
- */
diff --git a/mdk-stage1/ppp/pppd/md5.h b/mdk-stage1/ppp/pppd/md5.h
deleted file mode 100644
index 7492b2228..000000000
--- a/mdk-stage1/ppp/pppd/md5.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- ***********************************************************************
- ** md5.h -- header file for implementation of MD5 **
- ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
- ** Created: 2/17/90 RLR **
- ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
- ** Revised (for MD5): RLR 4/27/91 **
- ** -- G modified to have y&~z instead of y&z **
- ** -- FF, GG, HH modified to add in last register done **
- ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
- ** -- distinct additive constant for each step **
- ** -- round 4 added, working mod 7 **
- ***********************************************************************
- */
-
-/*
- ***********************************************************************
- ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
- ** **
- ** License to copy and use this software is granted provided that **
- ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
- ** Digest Algorithm" in all material mentioning or referencing this **
- ** software or this function. **
- ** **
- ** License is also granted to make and use derivative works **
- ** provided that such works are identified as "derived from the RSA **
- ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
- ** material mentioning or referencing the derived work. **
- ** **
- ** RSA Data Security, Inc. makes no representations concerning **
- ** either the merchantability of this software or the suitability **
- ** of this software for any particular purpose. It is provided "as **
- ** is" without express or implied warranty of any kind. **
- ** **
- ** These notices must be retained in any copies of any part of this **
- ** documentation and/or software. **
- ***********************************************************************
- */
-
-#ifndef __MD5_INCLUDE__
-
-/* typedef a 32-bit type */
-typedef unsigned int UINT4;
-
-/* Data structure for MD5 (Message-Digest) computation */
-typedef struct {
- UINT4 i[2]; /* number of _bits_ handled mod 2^64 */
- UINT4 buf[4]; /* scratch buffer */
- unsigned char in[64]; /* input buffer */
- unsigned char digest[16]; /* actual digest after MD5Final call */
-} MD5_CTX;
-
-void MD5Init ();
-void MD5Update ();
-void MD5Final ();
-
-#define __MD5_INCLUDE__
-#endif /* __MD5_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/multilink.c b/mdk-stage1/ppp/pppd/multilink.c
deleted file mode 100644
index c30b07e0a..000000000
--- a/mdk-stage1/ppp/pppd/multilink.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * multilink.c - support routines for multilink.
- *
- * Copyright (c) 2000 Paul Mackerras.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. The name of the author may not be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <ctype.h>
-#include <netdb.h>
-#include <errno.h>
-#include <signal.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "tdb.h"
-
-bool endpoint_specified; /* user gave explicit endpoint discriminator */
-char *bundle_id; /* identifier for our bundle */
-
-extern TDB_CONTEXT *pppdb;
-extern char db_key[];
-
-static int get_default_epdisc __P((struct epdisc *));
-static int parse_num __P((char *str, const char *key, int *valp));
-static int owns_unit __P((TDB_DATA pid, int unit));
-
-#define set_ip_epdisc(ep, addr) do { \
- ep->length = 4; \
- ep->value[0] = addr >> 24; \
- ep->value[1] = addr >> 16; \
- ep->value[2] = addr >> 8; \
- ep->value[3] = addr; \
-} while (0)
-
-#define LOCAL_IP_ADDR(addr) \
- (((addr) & 0xff000000) == 0x0a000000 /* 10.x.x.x */ \
- || ((addr) & 0xfff00000) == 0xac100000 /* 172.16.x.x */ \
- || ((addr) & 0xffff0000) == 0xc0a80000) /* 192.168.x.x */
-
-#define process_exists(n) (kill((n), 0) == 0 || errno != ESRCH)
-
-void
-mp_check_options()
-{
- lcp_options *wo = &lcp_wantoptions[0];
- lcp_options *ao = &lcp_allowoptions[0];
-
- if (!multilink)
- return;
- /* if we're doing multilink, we have to negotiate MRRU */
- if (!wo->neg_mrru) {
- /* mrru not specified, default to mru */
- wo->mrru = wo->mru;
- wo->neg_mrru = 1;
- }
- ao->mrru = ao->mru;
- ao->neg_mrru = 1;
-
- if (!wo->neg_endpoint && !noendpoint) {
- /* get a default endpoint value */
- wo->neg_endpoint = get_default_epdisc(&wo->endpoint);
- }
-}
-
-/*
- * Make a new bundle or join us to an existing bundle
- * if we are doing multilink.
- */
-int
-mp_join_bundle()
-{
- lcp_options *go = &lcp_gotoptions[0];
- lcp_options *ho = &lcp_hisoptions[0];
- lcp_options *ao = &lcp_allowoptions[0];
- int unit, pppd_pid;
- int l, mtu;
- char *p;
- TDB_DATA key, pid, rec;
-
- if (!go->neg_mrru || !ho->neg_mrru) {
- /* not doing multilink */
- if (go->neg_mrru)
- notice("oops, multilink negotiated only for receive");
- mtu = ho->neg_mru? ho->mru: PPP_MRU;
- if (mtu > ao->mru)
- mtu = ao->mru;
- if (demand) {
- /* already have a bundle */
- cfg_bundle(0, 0, 0, 0);
- netif_set_mtu(0, mtu);
- return 0;
- }
- make_new_bundle(0, 0, 0, 0);
- set_ifunit(1);
- netif_set_mtu(0, mtu);
- return 0;
- }
-
- /*
- * Find the appropriate bundle or join a new one.
- * First we make up a name for the bundle.
- * The length estimate is worst-case assuming every
- * character has to be quoted.
- */
- l = 4 * strlen(peer_authname) + 10;
- if (ho->neg_endpoint)
- l += 3 * ho->endpoint.length + 8;
- if (bundle_name)
- l += 3 * strlen(bundle_name) + 2;
- bundle_id = malloc(l);
- if (bundle_id == 0)
- novm("bundle identifier");
-
- p = bundle_id;
- p += slprintf(p, l-1, "BUNDLE=\"%q\"", peer_authname);
- if (ho->neg_endpoint || bundle_name)
- *p++ = '/';
- if (ho->neg_endpoint)
- p += slprintf(p, bundle_id+l-p, "%s",
- epdisc_to_str(&ho->endpoint));
- if (bundle_name)
- p += slprintf(p, bundle_id+l-p, "/%v", bundle_name);
-
- /*
- * For demand mode, we only need to configure the bundle
- * and attach the link.
- */
- mtu = MIN(ho->mrru, ao->mru);
- if (demand) {
- cfg_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
- netif_set_mtu(0, mtu);
- script_setenv("BUNDLE", bundle_id + 7, 1);
- return 0;
- }
-
- /*
- * Check if the bundle ID is already in the database.
- */
- unit = -1;
- tdb_writelock(pppdb);
- key.dptr = bundle_id;
- key.dsize = p - bundle_id;
- pid = tdb_fetch(pppdb, key);
- if (pid.dptr != NULL) {
- /* bundle ID exists, see if the pppd record exists */
- rec = tdb_fetch(pppdb, pid);
- if (rec.dptr != NULL) {
- /* it is, parse the interface number */
- parse_num(rec.dptr, "IFNAME=ppp", &unit);
- /* check the pid value */
- if (!parse_num(rec.dptr, "PPPD_PID=", &pppd_pid)
- || !process_exists(pppd_pid)
- || !owns_unit(pid, unit))
- unit = -1;
- free(rec.dptr);
- }
- free(pid.dptr);
- }
-
- if (unit >= 0) {
- /* attach to existing unit */
- if (bundle_attach(unit)) {
- set_ifunit(0);
- script_setenv("BUNDLE", bundle_id + 7, 0);
- tdb_writeunlock(pppdb);
- info("Link attached to %s", ifname);
- return 1;
- }
- /* attach failed because bundle doesn't exist */
- }
-
- /* we have to make a new bundle */
- make_new_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
- set_ifunit(1);
- netif_set_mtu(0, mtu);
- script_setenv("BUNDLE", bundle_id + 7, 1);
- tdb_writeunlock(pppdb);
- info("New bundle %s created", ifname);
- return 0;
-}
-
-static int
-parse_num(str, key, valp)
- char *str;
- const char *key;
- int *valp;
-{
- char *p, *endp;
- int i;
-
- p = strstr(str, key);
- if (p != 0) {
- p += strlen(key);
- i = strtol(p, &endp, 10);
- if (endp != p && (*endp == 0 || *endp == ';')) {
- *valp = i;
- return 1;
- }
- }
- return 0;
-}
-
-/*
- * Check whether the pppd identified by `key' still owns ppp unit `unit'.
- */
-static int
-owns_unit(key, unit)
- TDB_DATA key;
- int unit;
-{
- char ifkey[32];
- TDB_DATA kd, vd;
- int ret = 0;
-
- slprintf(ifkey, sizeof(ifkey), "IFNAME=ppp%d", unit);
- kd.dptr = ifkey;
- kd.dsize = strlen(ifkey);
- vd = tdb_fetch(pppdb, kd);
- if (vd.dptr != NULL) {
- ret = vd.dsize == key.dsize
- && memcmp(vd.dptr, key.dptr, vd.dsize) == 0;
- free(vd.dptr);
- }
- return ret;
-}
-
-static int
-get_default_epdisc(ep)
- struct epdisc *ep;
-{
- char *p;
- struct hostent *hp;
- u_int32_t addr;
-
- /* First try for an ethernet MAC address */
- p = get_first_ethernet();
- if (p != 0 && get_if_hwaddr(ep->value, p) >= 0) {
- ep->class = EPD_MAC;
- ep->length = 6;
- return 1;
- }
-
- /* see if our hostname corresponds to a reasonable IP address */
- hp = gethostbyname(hostname);
- if (hp != NULL) {
- addr = *(u_int32_t *)hp->h_addr;
- if (!bad_ip_adrs(addr)) {
- addr = ntohl(addr);
- if (!LOCAL_IP_ADDR(addr)) {
- ep->class = EPD_IP;
- set_ip_epdisc(ep, addr);
- return 1;
- }
- }
- }
-
- return 0;
-}
-
-/*
- * epdisc_to_str - make a printable string from an endpoint discriminator.
- */
-
-static char *endp_class_names[] = {
- "null", "local", "IP", "MAC", "magic", "phone"
-};
-
-char *
-epdisc_to_str(ep)
- struct epdisc *ep;
-{
- static char str[MAX_ENDP_LEN*3+8];
- u_char *p = ep->value;
- int i, mask = 0;
- char *q, c, c2;
-
- if (ep->class == EPD_NULL && ep->length == 0)
- return "null";
- if (ep->class == EPD_IP && ep->length == 4) {
- u_int32_t addr;
-
- GETLONG(addr, p);
- slprintf(str, sizeof(str), "IP:%I", htonl(addr));
- return str;
- }
-
- c = ':';
- c2 = '.';
- if (ep->class == EPD_MAC && ep->length == 6)
- c2 = ':';
- else if (ep->class == EPD_MAGIC && (ep->length % 4) == 0)
- mask = 3;
- q = str;
- if (ep->class <= EPD_PHONENUM)
- q += slprintf(q, sizeof(str)-1, "%s",
- endp_class_names[ep->class]);
- else
- q += slprintf(q, sizeof(str)-1, "%d", ep->class);
- c = ':';
- for (i = 0; i < ep->length && i < MAX_ENDP_LEN; ++i) {
- if ((i & mask) == 0) {
- *q++ = c;
- c = c2;
- }
- q += slprintf(q, str + sizeof(str) - q, "%.2x", ep->value[i]);
- }
- return str;
-}
-
-static int hexc_val(int c)
-{
- if (c >= 'a')
- return c - 'a' + 10;
- if (c >= 'A')
- return c - 'A' + 10;
- return c - '0';
-}
-
-int
-str_to_epdisc(ep, str)
- struct epdisc *ep;
- char *str;
-{
- int i, l;
- char *p, *endp;
-
- for (i = EPD_NULL; i <= EPD_PHONENUM; ++i) {
- int sl = strlen(endp_class_names[i]);
- if (strncasecmp(str, endp_class_names[i], sl) == 0) {
- str += sl;
- break;
- }
- }
- if (i > EPD_PHONENUM) {
- /* not a class name, try a decimal class number */
- i = strtol(str, &endp, 10);
- if (endp == str)
- return 0; /* can't parse class number */
- str = endp;
- }
- ep->class = i;
- if (*str == 0) {
- ep->length = 0;
- return 1;
- }
- if (*str != ':' && *str != '.')
- return 0;
- ++str;
-
- if (i == EPD_IP) {
- u_int32_t addr;
- i = parse_dotted_ip(str, &addr);
- if (i == 0 || str[i] != 0)
- return 0;
- set_ip_epdisc(ep, addr);
- return 1;
- }
- if (i == EPD_MAC && get_if_hwaddr(ep->value, str) >= 0) {
- ep->length = 6;
- return 1;
- }
-
- p = str;
- for (l = 0; l < MAX_ENDP_LEN; ++l) {
- if (*str == 0)
- break;
- if (p <= str)
- for (p = str; isxdigit(*p); ++p)
- ;
- i = p - str;
- if (i == 0)
- return 0;
- ep->value[l] = hexc_val(*str++);
- if ((i & 1) == 0)
- ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
- if (*str == ':' || *str == '.')
- ++str;
- }
- if (*str != 0 || (ep->class == EPD_MAC && l != 6))
- return 0;
- ep->length = l;
- return 1;
-}
-
diff --git a/mdk-stage1/ppp/pppd/options.c b/mdk-stage1/ppp/pppd/options.c
deleted file mode 100644
index 1921d9ec5..000000000
--- a/mdk-stage1/ppp/pppd/options.c
+++ /dev/null
@@ -1,1513 +0,0 @@
-/*
- * options.c - handles option processing for PPP.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <ctype.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <pwd.h>
-#ifdef PLUGIN
-#include <dlfcn.h>
-#endif
-#ifdef PPP_FILTER
-#include <pcap.h>
-#include <pcap-int.h> /* XXX: To get struct pcap */
-#endif
-
-#include "pppd.h"
-#include "pathnames.h"
-
-#if defined(ultrix) || defined(NeXT)
-char *strdup __P((char *));
-#endif
-
-static const char rcsid[] = RCSID;
-
-struct option_value {
- struct option_value *next;
- const char *source;
- char value[1];
-};
-
-/*
- * Option variables and default values.
- */
-#ifdef PPP_FILTER
-int dflag = 0; /* Tell libpcap we want debugging */
-#endif
-int debug = 0; /* Debug flag */
-int kdebugflag = 0; /* Tell kernel to print debug messages */
-int default_device = 1; /* Using /dev/tty or equivalent */
-char devnam[MAXPATHLEN]; /* Device name */
-bool nodetach = 0; /* Don't detach from controlling tty */
-bool updetach = 0; /* Detach once link is up */
-int maxconnect = 0; /* Maximum connect time */
-char user[MAXNAMELEN]; /* Username for PAP */
-char passwd[MAXSECRETLEN]; /* Password for PAP */
-bool persist = 0; /* Reopen link after it goes down */
-char our_name[MAXNAMELEN]; /* Our name for authentication purposes */
-bool demand = 0; /* do dial-on-demand */
-char *ipparam = NULL; /* Extra parameter for ip up/down scripts */
-int idle_time_limit = 0; /* Disconnect if idle for this many seconds */
-int holdoff = 30; /* # seconds to pause before reconnecting */
-bool holdoff_specified; /* true if a holdoff value has been given */
-int log_to_fd = 1; /* send log messages to this fd too */
-bool log_default = 1; /* log_to_fd is default (stdout) */
-int maxfail = 10; /* max # of unsuccessful connection attempts */
-char linkname[MAXPATHLEN]; /* logical name for link */
-bool tune_kernel; /* may alter kernel settings */
-int connect_delay = 1000; /* wait this many ms after connect script */
-int req_unit = -1; /* requested interface unit */
-bool multilink = 0; /* Enable multilink operation */
-char *bundle_name = NULL; /* bundle name for multilink */
-bool dump_options; /* print out option values */
-bool dryrun; /* print out option values and exit */
-char *domain; /* domain name set by domain option */
-
-extern option_t auth_options[];
-extern struct stat devstat;
-
-#ifdef PPP_FILTER
-struct bpf_program pass_filter;/* Filter program for packets to pass */
-struct bpf_program active_filter; /* Filter program for link-active pkts */
-pcap_t pc; /* Fake struct pcap so we can compile expr */
-#endif
-
-char *current_option; /* the name of the option being parsed */
-int privileged_option; /* set iff the current option came from root */
-char *option_source; /* string saying where the option came from */
-int option_priority = OPRIO_CFGFILE; /* priority of the current options */
-bool devnam_fixed; /* can no longer change device name */
-
-static int logfile_fd = -1; /* fd opened for log file */
-static char logfile_name[MAXPATHLEN]; /* name of log file */
-
-/*
- * Prototypes
- */
-static int setdomain __P((char **));
-static int readfile __P((char **));
-static int callfile __P((char **));
-static int showversion __P((char **));
-static int showhelp __P((char **));
-static void usage __P((void));
-static int setlogfile __P((char **));
-#ifdef PLUGIN
-static int loadplugin __P((char **));
-#endif
-
-#ifdef PPP_FILTER
-static int setpassfilter __P((char **));
-static int setactivefilter __P((char **));
-#endif
-
-static option_t *find_option __P((const char *name));
-static int process_option __P((option_t *, char *, char **));
-static int n_arguments __P((option_t *));
-static int number_option __P((char *, u_int32_t *, int));
-
-/*
- * Structure to store extra lists of options.
- */
-struct option_list {
- option_t *options;
- struct option_list *next;
-};
-
-static struct option_list *extra_options = NULL;
-
-/*
- * Valid arguments.
- */
-option_t general_options[] = {
- { "debug", o_int, &debug,
- "Increase debugging level", OPT_INC | OPT_NOARG | 1 },
- { "-d", o_int, &debug,
- "Increase debugging level",
- OPT_ALIAS | OPT_INC | OPT_NOARG | 1 },
-
- { "kdebug", o_int, &kdebugflag,
- "Set kernel driver debug level", OPT_PRIO },
-
- { "nodetach", o_bool, &nodetach,
- "Don't detach from controlling tty", OPT_PRIO | 1 },
- { "-detach", o_bool, &nodetach,
- "Don't detach from controlling tty", OPT_ALIAS | OPT_PRIOSUB | 1 },
- { "updetach", o_bool, &updetach,
- "Detach from controlling tty once link is up",
- OPT_PRIOSUB | OPT_A2CLR | 1, &nodetach },
-
- { "holdoff", o_int, &holdoff,
- "Set time in seconds before retrying connection", OPT_PRIO },
-
- { "idle", o_int, &idle_time_limit,
- "Set time in seconds before disconnecting idle link", OPT_PRIO },
-
- { "maxconnect", o_int, &maxconnect,
- "Set connection time limit",
- OPT_PRIO | OPT_LLIMIT | OPT_NOINCR | OPT_ZEROINF },
-
- { "domain", o_special, (void *)setdomain,
- "Add given domain name to hostname",
- OPT_PRIO | OPT_PRIV | OPT_A2STRVAL, &domain },
-
- { "file", o_special, (void *)readfile,
- "Take options from a file", OPT_NOPRINT },
- { "call", o_special, (void *)callfile,
- "Take options from a privileged file", OPT_NOPRINT },
-
- { "persist", o_bool, &persist,
- "Keep on reopening connection after close", OPT_PRIO | 1 },
- { "nopersist", o_bool, &persist,
- "Turn off persist option", OPT_PRIOSUB },
-
- { "demand", o_bool, &demand,
- "Dial on demand", OPT_INITONLY | 1, &persist },
-
- { "--version", o_special_noarg, (void *)showversion,
- "Show version number" },
- { "--help", o_special_noarg, (void *)showhelp,
- "Show brief listing of options" },
- { "-h", o_special_noarg, (void *)showhelp,
- "Show brief listing of options", OPT_ALIAS },
-
- { "logfile", o_special, (void *)setlogfile,
- "Append log messages to this file",
- OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, &logfile_name },
- { "logfd", o_int, &log_to_fd,
- "Send log messages to this file descriptor",
- OPT_PRIOSUB | OPT_A2CLR, &log_default },
- { "nolog", o_int, &log_to_fd,
- "Don't send log messages to any file",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
- { "nologfd", o_int, &log_to_fd,
- "Don't send log messages to any file descriptor",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
-
- { "linkname", o_string, linkname,
- "Set logical name for link",
- OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXPATHLEN },
-
- { "maxfail", o_int, &maxfail,
- "Maximum number of unsuccessful connection attempts to allow",
- OPT_PRIO },
-
- { "ktune", o_bool, &tune_kernel,
- "Alter kernel settings as necessary", OPT_PRIO | 1 },
- { "noktune", o_bool, &tune_kernel,
- "Don't alter kernel settings", OPT_PRIOSUB },
-
- { "connect-delay", o_int, &connect_delay,
- "Maximum time (in ms) to wait after connect script finishes",
- OPT_PRIO },
-
- { "unit", o_int, &req_unit,
- "PPP interface unit number to use if possible",
- OPT_PRIO | OPT_LLIMIT, 0, 0 },
-
- { "dump", o_bool, &dump_options,
- "Print out option values after parsing all options", 1 },
- { "dryrun", o_bool, &dryrun,
- "Stop after parsing, printing, and checking options", 1 },
-
-#ifdef HAVE_MULTILINK
- { "multilink", o_bool, &multilink,
- "Enable multilink operation", OPT_PRIO | 1 },
- { "mp", o_bool, &multilink,
- "Enable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 1 },
- { "nomultilink", o_bool, &multilink,
- "Disable multilink operation", OPT_PRIOSUB | 0 },
- { "nomp", o_bool, &multilink,
- "Disable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 0 },
-
- { "bundle", o_string, &bundle_name,
- "Bundle name for multilink", OPT_PRIO },
-#endif /* HAVE_MULTILINK */
-
-#ifdef PLUGIN
- { "plugin", o_special, (void *)loadplugin,
- "Load a plug-in module into pppd", OPT_PRIV | OPT_A2LIST },
-#endif
-
-#ifdef PPP_FILTER
- { "pdebug", o_int, &dflag,
- "libpcap debugging", OPT_PRIO },
-
- { "pass-filter", 1, setpassfilter,
- "set filter for packets to pass", OPT_PRIO },
-
- { "active-filter", 1, setactivefilter,
- "set filter for active pkts", OPT_PRIO },
-#endif
-
- { NULL }
-};
-
-#ifndef IMPLEMENTATION
-#define IMPLEMENTATION ""
-#endif
-
-static char *usage_string = "\
-pppd version %s\n\
-Usage: %s [ options ], where options are:\n\
- <device> Communicate over the named device\n\
- <speed> Set the baud rate to <speed>\n\
- <loc>:<rem> Set the local and/or remote interface IP\n\
- addresses. Either one may be omitted.\n\
- asyncmap <n> Set the desired async map to hex <n>\n\
- auth Require authentication from peer\n\
- connect <p> Invoke shell command <p> to set up the serial line\n\
- crtscts Use hardware RTS/CTS flow control\n\
- defaultroute Add default route through interface\n\
- file <f> Take options from file <f>\n\
- modem Use modem control lines\n\
- mru <n> Set MRU value to <n> for negotiation\n\
-See pppd(8) for more options.\n\
-";
-
-/*
- * parse_args - parse a string of arguments from the command line.
- */
-int
-parse_args(argc, argv)
- int argc;
- char **argv;
-{
- char *arg;
- option_t *opt;
- int n;
-
- privileged_option = privileged;
- option_source = "command line";
- option_priority = OPRIO_CMDLINE;
- while (argc > 0) {
- arg = *argv++;
- --argc;
- opt = find_option(arg);
- if (opt == NULL) {
- option_error("unrecognized option '%s'", arg);
- usage();
- return 0;
- }
- n = n_arguments(opt);
- if (argc < n) {
- option_error("too few parameters for option %s", arg);
- return 0;
- }
- if (!process_option(opt, arg, argv))
- return 0;
- argc -= n;
- argv += n;
- }
- return 1;
-}
-
-/*
- * options_from_file - Read a string of options from a file,
- * and interpret them.
- */
-int
-options_from_file(filename, must_exist, check_prot, priv)
- char *filename;
- int must_exist;
- int check_prot;
- int priv;
-{
- FILE *f;
- int i, newline, ret, err;
- option_t *opt;
- int oldpriv, n;
- char *oldsource;
- char *argv[MAXARGS];
- char args[MAXARGS][MAXWORDLEN];
- char cmd[MAXWORDLEN];
-
- if (check_prot)
- seteuid(getuid());
- f = fopen(filename, "r");
- err = errno;
- if (check_prot)
- seteuid(0);
- if (f == NULL) {
- errno = err;
- if (!must_exist) {
- if (err != ENOENT && err != ENOTDIR)
- warn("Warning: can't open options file %s: %m", filename);
- return 1;
- }
- option_error("Can't open options file %s: %m", filename);
- return 0;
- }
-
- oldpriv = privileged_option;
- privileged_option = priv;
- oldsource = option_source;
- option_source = strdup(filename);
- if (option_source == NULL)
- option_source = "file";
- ret = 0;
- while (getword(f, cmd, &newline, filename)) {
- opt = find_option(cmd);
- if (opt == NULL) {
- option_error("In file %s: unrecognized option '%s'",
- filename, cmd);
- goto err;
- }
- n = n_arguments(opt);
- for (i = 0; i < n; ++i) {
- if (!getword(f, args[i], &newline, filename)) {
- option_error(
- "In file %s: too few parameters for option '%s'",
- filename, cmd);
- goto err;
- }
- argv[i] = args[i];
- }
- if (!process_option(opt, cmd, argv))
- goto err;
- }
- ret = 1;
-
-err:
- fclose(f);
- privileged_option = oldpriv;
- option_source = oldsource;
- return ret;
-}
-
-/*
- * options_from_user - See if the use has a ~/.ppprc file,
- * and if so, interpret options from it.
- */
-int
-options_from_user()
-{
- char *user, *path, *file;
- int ret;
- struct passwd *pw;
- size_t pl;
-
- pw = getpwuid(getuid());
- if (pw == NULL || (user = pw->pw_dir) == NULL || user[0] == 0)
- return 1;
- file = _PATH_USEROPT;
- pl = strlen(user) + strlen(file) + 2;
- path = malloc(pl);
- if (path == NULL)
- novm("init file name");
- slprintf(path, pl, "%s/%s", user, file);
- option_priority = OPRIO_CFGFILE;
- ret = options_from_file(path, 0, 1, privileged);
- free(path);
- return ret;
-}
-
-/*
- * options_for_tty - See if an options file exists for the serial
- * device, and if so, interpret options from it.
- * We only allow the per-tty options file to override anything from
- * the command line if it is something that the user can't override
- * once it has been set by root; this is done by giving configuration
- * files a lower priority than the command line.
- */
-int
-options_for_tty()
-{
- char *dev, *path, *p;
- int ret;
- size_t pl;
-
- dev = devnam;
- if (strncmp(dev, "/dev/", 5) == 0)
- dev += 5;
- if (dev[0] == 0 || strcmp(dev, "tty") == 0)
- return 1; /* don't look for /etc/ppp/options.tty */
- pl = strlen(_PATH_TTYOPT) + strlen(dev) + 1;
- path = malloc(pl);
- if (path == NULL)
- novm("tty init file name");
- slprintf(path, pl, "%s%s", _PATH_TTYOPT, dev);
- /* Turn slashes into dots, for Solaris case (e.g. /dev/term/a) */
- for (p = path + strlen(_PATH_TTYOPT); *p != 0; ++p)
- if (*p == '/')
- *p = '.';
- option_priority = OPRIO_CFGFILE;
- ret = options_from_file(path, 0, 0, 1);
- free(path);
- return ret;
-}
-
-/*
- * options_from_list - process a string of options in a wordlist.
- */
-int
-options_from_list(w, priv)
- struct wordlist *w;
- int priv;
-{
- char *argv[MAXARGS];
- option_t *opt;
- int i, n, ret = 0;
- struct wordlist *w0;
-
- privileged_option = priv;
- option_source = "secrets file";
- option_priority = OPRIO_SECFILE;
-
- while (w != NULL) {
- opt = find_option(w->word);
- if (opt == NULL) {
- option_error("In secrets file: unrecognized option '%s'",
- w->word);
- goto err;
- }
- n = n_arguments(opt);
- w0 = w;
- for (i = 0; i < n; ++i) {
- w = w->next;
- if (w == NULL) {
- option_error(
- "In secrets file: too few parameters for option '%s'",
- w0->word);
- goto err;
- }
- argv[i] = w->word;
- }
- if (!process_option(opt, w0->word, argv))
- goto err;
- w = w->next;
- }
- ret = 1;
-
-err:
- return ret;
-}
-
-/*
- * match_option - see if this option matches an option_t structure.
- */
-static int
-match_option(name, opt, dowild)
- char *name;
- option_t *opt;
- int dowild;
-{
- int (*match) __P((char *, char **, int));
-
- if (dowild != (opt->type == o_wild))
- return 0;
- if (!dowild)
- return strcmp(name, opt->name) == 0;
- match = (int (*) __P((char *, char **, int))) opt->addr;
- return (*match)(name, NULL, 0);
-}
-
-/*
- * find_option - scan the option lists for the various protocols
- * looking for an entry with the given name.
- * This could be optimized by using a hash table.
- */
-static option_t *
-find_option(name)
- const char *name;
-{
- option_t *opt;
- struct option_list *list;
- int i, dowild;
-
- for (dowild = 0; dowild <= 1; ++dowild) {
- for (opt = general_options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (opt = auth_options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (list = extra_options; list != NULL; list = list->next)
- for (opt = list->options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (opt = the_channel->options; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- for (i = 0; protocols[i] != NULL; ++i)
- if ((opt = protocols[i]->options) != NULL)
- for (; opt->name != NULL; ++opt)
- if (match_option(name, opt, dowild))
- return opt;
- }
- return NULL;
-}
-
-/*
- * process_option - process one new-style option.
- */
-static int
-process_option(opt, cmd, argv)
- option_t *opt;
- char *cmd;
- char **argv;
-{
- u_int32_t v;
- int iv, a;
- char *sv;
- int (*parser) __P((char **));
- int (*wildp) __P((char *, char **, int));
- char *optopt = (opt->type == o_wild)? "": " option";
- int prio = option_priority;
- option_t *mainopt = opt;
-
- if ((opt->flags & OPT_PRIVFIX) && privileged_option)
- prio += OPRIO_ROOT;
- while (mainopt->flags & OPT_PRIOSUB)
- --mainopt;
- if (mainopt->flags & OPT_PRIO) {
- if (prio < mainopt->priority) {
- /* new value doesn't override old */
- if (prio == OPRIO_CMDLINE && mainopt->priority > OPRIO_ROOT) {
- option_error("%s%s set in %s cannot be overridden\n",
- opt->name, optopt, mainopt->source);
- return 0;
- }
- return 1;
- }
- if (prio > OPRIO_ROOT && mainopt->priority == OPRIO_CMDLINE)
- warn("%s%s from %s overrides command line",
- opt->name, optopt, option_source);
- }
-
- if ((opt->flags & OPT_INITONLY) && phase != PHASE_INITIALIZE) {
- option_error("%s%s cannot be changed after initialization",
- opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_PRIV) && !privileged_option) {
- option_error("using the %s%s requires root privilege",
- opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_ENABLE) && *(bool *)(opt->addr2) == 0) {
- option_error("%s%s is disabled", opt->name, optopt);
- return 0;
- }
- if ((opt->flags & OPT_DEVEQUIV) && devnam_fixed) {
- option_error("the %s%s may not be changed in %s",
- opt->name, optopt, option_source);
- return 0;
- }
-
- switch (opt->type) {
- case o_bool:
- v = opt->flags & OPT_VALUE;
- *(bool *)(opt->addr) = v;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(bool *)(opt->addr2) = v;
- break;
-
- case o_int:
- iv = 0;
- if ((opt->flags & OPT_NOARG) == 0) {
- if (!int_option(*argv, &iv))
- return 0;
- if ((((opt->flags & OPT_LLIMIT) && iv < opt->lower_limit)
- || ((opt->flags & OPT_ULIMIT) && iv > opt->upper_limit))
- && !((opt->flags & OPT_ZEROOK && iv == 0))) {
- char *zok = (opt->flags & OPT_ZEROOK)? " zero or": "";
- switch (opt->flags & OPT_LIMITS) {
- case OPT_LLIMIT:
- option_error("%s value must be%s >= %d",
- opt->name, zok, opt->lower_limit);
- break;
- case OPT_ULIMIT:
- option_error("%s value must be%s <= %d",
- opt->name, zok, opt->upper_limit);
- break;
- case OPT_LIMITS:
- option_error("%s value must be%s between %d and %d",
- opt->name, opt->lower_limit, opt->upper_limit);
- break;
- }
- return 0;
- }
- }
- a = opt->flags & OPT_VALUE;
- if (a >= 128)
- a -= 256; /* sign extend */
- iv += a;
- if (opt->flags & OPT_INC)
- iv += *(int *)(opt->addr);
- if ((opt->flags & OPT_NOINCR) && !privileged_option) {
- int oldv = *(int *)(opt->addr);
- if ((opt->flags & OPT_ZEROINF) ?
- (oldv != 0 && (iv == 0 || iv > oldv)) : (iv > oldv)) {
- option_error("%s value cannot be increased", opt->name);
- return 0;
- }
- }
- *(int *)(opt->addr) = iv;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(int *)(opt->addr2) = iv;
- break;
-
- case o_uint32:
- if (opt->flags & OPT_NOARG) {
- v = opt->flags & OPT_VALUE;
- if (v & 0x80)
- v |= 0xffffff00U;
- } else if (!number_option(*argv, &v, 16))
- return 0;
- if (opt->flags & OPT_OR)
- v |= *(u_int32_t *)(opt->addr);
- *(u_int32_t *)(opt->addr) = v;
- if (opt->addr2 && (opt->flags & OPT_A2COPY))
- *(u_int32_t *)(opt->addr2) = v;
- break;
-
- case o_string:
- if (opt->flags & OPT_STATIC) {
- strlcpy((char *)(opt->addr), *argv, opt->upper_limit);
- } else {
- sv = strdup(*argv);
- if (sv == NULL)
- novm("option argument");
- *(char **)(opt->addr) = sv;
- }
- break;
-
- case o_special_noarg:
- case o_special:
- parser = (int (*) __P((char **))) opt->addr;
- if (!(*parser)(argv))
- return 0;
- if (opt->flags & OPT_A2LIST) {
- struct option_value *ovp, **pp;
-
- ovp = malloc(sizeof(*ovp) + strlen(*argv));
- if (ovp != 0) {
- strcpy(ovp->value, *argv);
- ovp->source = option_source;
- ovp->next = NULL;
- pp = (struct option_value **) &opt->addr2;
- while (*pp != 0)
- pp = &(*pp)->next;
- *pp = ovp;
- }
- }
- break;
-
- case o_wild:
- wildp = (int (*) __P((char *, char **, int))) opt->addr;
- if (!(*wildp)(cmd, argv, 1))
- return 0;
- break;
- }
-
- if (opt->addr2 && (opt->flags & (OPT_A2COPY|OPT_ENABLE
- |OPT_A2PRINTER|OPT_A2STRVAL|OPT_A2LIST)) == 0)
- *(bool *)(opt->addr2) = !(opt->flags & OPT_A2CLR);
-
- mainopt->source = option_source;
- mainopt->priority = prio;
- mainopt->winner = opt - mainopt;
-
- return 1;
-}
-
-/*
- * override_value - if the option priorities would permit us to
- * override the value of option, return 1 and update the priority
- * and source of the option value. Otherwise returns 0.
- */
-int
-override_value(option, priority, source)
- const char *option;
- int priority;
- const char *source;
-{
- option_t *opt;
-
- opt = find_option(option);
- if (opt == NULL)
- return 0;
- while (opt->flags & OPT_PRIOSUB)
- --opt;
- if ((opt->flags & OPT_PRIO) && priority < opt->priority)
- return 0;
- opt->priority = priority;
- opt->source = source;
- opt->winner = -1;
- return 1;
-}
-
-/*
- * n_arguments - tell how many arguments an option takes
- */
-static int
-n_arguments(opt)
- option_t *opt;
-{
- return (opt->type == o_bool || opt->type == o_special_noarg
- || (opt->flags & OPT_NOARG))? 0: 1;
-}
-
-/*
- * add_options - add a list of options to the set we grok.
- */
-void
-add_options(opt)
- option_t *opt;
-{
- struct option_list *list;
-
- list = malloc(sizeof(*list));
- if (list == 0)
- novm("option list entry");
- list->options = opt;
- list->next = extra_options;
- extra_options = list;
-}
-
-/*
- * check_options - check that options are valid and consistent.
- */
-void
-check_options()
-{
- if (logfile_fd >= 0 && logfile_fd != log_to_fd)
- close(logfile_fd);
-}
-
-/*
- * print_option - print out an option and its value
- */
-static void
-print_option(opt, mainopt, printer, arg)
- option_t *opt, *mainopt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int i, v;
- char *p;
-
- if (opt->flags & OPT_NOPRINT)
- return;
- switch (opt->type) {
- case o_bool:
- v = opt->flags & OPT_VALUE;
- if (*(bool *)opt->addr != v)
- /* this can happen legitimately, e.g. lock
- option turned off for default device */
- break;
- printer(arg, "%s", opt->name);
- break;
- case o_int:
- v = opt->flags & OPT_VALUE;
- if (v >= 128)
- v -= 256;
- i = *(int *)opt->addr;
- if (opt->flags & OPT_NOARG) {
- printer(arg, "%s", opt->name);
- if (i != v) {
- if (opt->flags & OPT_INC) {
- for (; i > v; i -= v)
- printer(arg, " %s", opt->name);
- } else
- printer(arg, " # oops: %d not %d\n",
- i, v);
- }
- } else {
- printer(arg, "%s %d", opt->name, i);
- }
- break;
- case o_uint32:
- printer(arg, "%s", opt->name);
- if ((opt->flags & OPT_NOARG) == 0)
- printer(arg, " %x", *(u_int32_t *)opt->addr);
- break;
-
- case o_string:
- if (opt->flags & OPT_HIDE) {
- p = "??????";
- } else {
- p = (char *) opt->addr;
- if ((opt->flags & OPT_STATIC) == 0)
- p = *(char **)p;
- }
- printer(arg, "%s %q", opt->name, p);
- break;
-
- case o_special:
- case o_special_noarg:
- case o_wild:
- if (opt->type != o_wild) {
- printer(arg, "%s", opt->name);
- if (n_arguments(opt) == 0)
- break;
- printer(arg, " ");
- }
- if (opt->flags & OPT_A2PRINTER) {
- void (*oprt) __P((option_t *,
- void ((*)__P((void *, char *, ...))),
- void *));
- oprt = opt->addr2;
- (*oprt)(opt, printer, arg);
- } else if (opt->flags & OPT_A2STRVAL) {
- p = (char *) opt->addr2;
- if ((opt->flags & OPT_STATIC) == 0)
- p = *(char **)p;
- printer("%q", p);
- } else if (opt->flags & OPT_A2LIST) {
- struct option_value *ovp;
-
- ovp = (struct option_value *) opt->addr2;
- for (;;) {
- printer(arg, "%q", ovp->value);
- if ((ovp = ovp->next) == NULL)
- break;
- printer(arg, "\t\t# (from %s)\n%s ",
- ovp->source, opt->name);
- }
- } else {
- printer(arg, "xxx # [don't know how to print value]");
- }
- break;
-
- default:
- printer(arg, "# %s value (type %d)", opt->name, opt->type);
- break;
- }
- printer(arg, "\t\t# (from %s)\n", mainopt->source);
-}
-
-/*
- * print_option_list - print out options in effect from an
- * array of options.
- */
-static void
-print_option_list(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- while (opt->name != NULL) {
- if (opt->priority != OPRIO_DEFAULT
- && opt->winner != (short int) -1)
- print_option(opt + opt->winner, opt, printer, arg);
- do {
- ++opt;
- } while (opt->flags & OPT_PRIOSUB);
- }
-}
-
-/*
- * print_options - print out what options are in effect.
- */
-void
-print_options(printer, arg)
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- struct option_list *list;
- int i;
-
- printer(arg, "pppd options in effect:\n");
- print_option_list(general_options, printer, arg);
- print_option_list(auth_options, printer, arg);
- for (list = extra_options; list != NULL; list = list->next)
- print_option_list(list->options, printer, arg);
- print_option_list(the_channel->options, printer, arg);
- for (i = 0; protocols[i] != NULL; ++i)
- print_option_list(protocols[i]->options, printer, arg);
-}
-
-/*
- * usage - print out a message telling how to use the program.
- */
-static void
-usage()
-{
- if (phase == PHASE_INITIALIZE)
- fprintf(stderr, usage_string, VERSION, progname);
-}
-
-/*
- * showhelp - print out usage message and exit.
- */
-static int
-showhelp(argv)
- char **argv;
-{
- if (phase == PHASE_INITIALIZE) {
- usage();
- exit(0);
- }
- return 0;
-}
-
-/*
- * showversion - print out the version number and exit.
- */
-static int
-showversion(argv)
- char **argv;
-{
- if (phase == PHASE_INITIALIZE) {
- fprintf(stderr, "pppd version %s\n", VERSION);
- exit(0);
- }
- return 0;
-}
-
-/*
- * option_error - print a message about an error in an option.
- * The message is logged, and also sent to
- * stderr if phase == PHASE_INITIALIZE.
- */
-void
-option_error __V((char *fmt, ...))
-{
- va_list args;
- char buf[1024];
-
-#if defined(__STDC__)
- va_start(args, fmt);
-#else
- char *fmt;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
- vslprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
- if (phase == PHASE_INITIALIZE)
- fprintf(stderr, "%s: %s\n", progname, buf);
- syslog(LOG_ERR, "%s", buf);
-}
-
-#if 0
-/*
- * readable - check if a file is readable by the real user.
- */
-int
-readable(fd)
- int fd;
-{
- uid_t uid;
- int i;
- struct stat sbuf;
-
- uid = getuid();
- if (uid == 0)
- return 1;
- if (fstat(fd, &sbuf) != 0)
- return 0;
- if (sbuf.st_uid == uid)
- return sbuf.st_mode & S_IRUSR;
- if (sbuf.st_gid == getgid())
- return sbuf.st_mode & S_IRGRP;
- for (i = 0; i < ngroups; ++i)
- if (sbuf.st_gid == groups[i])
- return sbuf.st_mode & S_IRGRP;
- return sbuf.st_mode & S_IROTH;
-}
-#endif
-
-/*
- * Read a word from a file.
- * Words are delimited by white-space or by quotes (" or ').
- * Quotes, white-space and \ may be escaped with \.
- * \<newline> is ignored.
- */
-int
-getword(f, word, newlinep, filename)
- FILE *f;
- char *word;
- int *newlinep;
- char *filename;
-{
- int c, len, escape;
- int quoted, comment;
- int value, digit, got, n;
-
-#define isoctal(c) ((c) >= '0' && (c) < '8')
-
- *newlinep = 0;
- len = 0;
- escape = 0;
- comment = 0;
-
- /*
- * First skip white-space and comments.
- */
- for (;;) {
- c = getc(f);
- if (c == EOF)
- break;
-
- /*
- * A newline means the end of a comment; backslash-newline
- * is ignored. Note that we cannot have escape && comment.
- */
- if (c == '\n') {
- if (!escape) {
- *newlinep = 1;
- comment = 0;
- } else
- escape = 0;
- continue;
- }
-
- /*
- * Ignore characters other than newline in a comment.
- */
- if (comment)
- continue;
-
- /*
- * If this character is escaped, we have a word start.
- */
- if (escape)
- break;
-
- /*
- * If this is the escape character, look at the next character.
- */
- if (c == '\\') {
- escape = 1;
- continue;
- }
-
- /*
- * If this is the start of a comment, ignore the rest of the line.
- */
- if (c == '#') {
- comment = 1;
- continue;
- }
-
- /*
- * A non-whitespace character is the start of a word.
- */
- if (!isspace(c))
- break;
- }
-
- /*
- * Save the delimiter for quoted strings.
- */
- if (!escape && (c == '"' || c == '\'')) {
- quoted = c;
- c = getc(f);
- } else
- quoted = 0;
-
- /*
- * Process characters until the end of the word.
- */
- while (c != EOF) {
- if (escape) {
- /*
- * This character is escaped: backslash-newline is ignored,
- * various other characters indicate particular values
- * as for C backslash-escapes.
- */
- escape = 0;
- if (c == '\n') {
- c = getc(f);
- continue;
- }
-
- got = 0;
- switch (c) {
- case 'a':
- value = '\a';
- break;
- case 'b':
- value = '\b';
- break;
- case 'f':
- value = '\f';
- break;
- case 'n':
- value = '\n';
- break;
- case 'r':
- value = '\r';
- break;
- case 's':
- value = ' ';
- break;
- case 't':
- value = '\t';
- break;
-
- default:
- if (isoctal(c)) {
- /*
- * \ddd octal sequence
- */
- value = 0;
- for (n = 0; n < 3 && isoctal(c); ++n) {
- value = (value << 3) + (c & 07);
- c = getc(f);
- }
- got = 1;
- break;
- }
-
- if (c == 'x') {
- /*
- * \x<hex_string> sequence
- */
- value = 0;
- c = getc(f);
- for (n = 0; n < 2 && isxdigit(c); ++n) {
- digit = toupper(c) - '0';
- if (digit > 10)
- digit += '0' + 10 - 'A';
- value = (value << 4) + digit;
- c = getc (f);
- }
- got = 1;
- break;
- }
-
- /*
- * Otherwise the character stands for itself.
- */
- value = c;
- break;
- }
-
- /*
- * Store the resulting character for the escape sequence.
- */
- if (len < MAXWORDLEN-1)
- word[len] = value;
- ++len;
-
- if (!got)
- c = getc(f);
- continue;
-
- }
-
- /*
- * Not escaped: see if we've reached the end of the word.
- */
- if (quoted) {
- if (c == quoted)
- break;
- } else {
- if (isspace(c) || c == '#') {
- ungetc (c, f);
- break;
- }
- }
-
- /*
- * Backslash starts an escape sequence.
- */
- if (c == '\\') {
- escape = 1;
- c = getc(f);
- continue;
- }
-
- /*
- * An ordinary character: store it in the word and get another.
- */
- if (len < MAXWORDLEN-1)
- word[len] = c;
- ++len;
-
- c = getc(f);
- }
-
- /*
- * End of the word: check for errors.
- */
- if (c == EOF) {
- if (ferror(f)) {
- if (errno == 0)
- errno = EIO;
- option_error("Error reading %s: %m", filename);
- die(1);
- }
- /*
- * If len is zero, then we didn't find a word before the
- * end of the file.
- */
- if (len == 0)
- return 0;
- }
-
- /*
- * Warn if the word was too long, and append a terminating null.
- */
- if (len >= MAXWORDLEN) {
- option_error("warning: word in file %s too long (%.20s...)",
- filename, word);
- len = MAXWORDLEN - 1;
- }
- word[len] = 0;
-
- return 1;
-
-#undef isoctal
-
-}
-
-/*
- * number_option - parse an unsigned numeric parameter for an option.
- */
-static int
-number_option(str, valp, base)
- char *str;
- u_int32_t *valp;
- int base;
-{
- char *ptr;
-
- *valp = strtoul(str, &ptr, base);
- if (ptr == str) {
- option_error("invalid numeric parameter '%s' for %s option",
- str, current_option);
- return 0;
- }
- return 1;
-}
-
-
-/*
- * int_option - like number_option, but valp is int *,
- * the base is assumed to be 0, and *valp is not changed
- * if there is an error.
- */
-int
-int_option(str, valp)
- char *str;
- int *valp;
-{
- u_int32_t v;
-
- if (!number_option(str, &v, 0))
- return 0;
- *valp = (int) v;
- return 1;
-}
-
-
-/*
- * The following procedures parse options.
- */
-
-/*
- * readfile - take commands from a file.
- */
-static int
-readfile(argv)
- char **argv;
-{
- return options_from_file(*argv, 1, 1, privileged_option);
-}
-
-/*
- * callfile - take commands from /etc/ppp/peers/<name>.
- * Name may not contain /../, start with / or ../, or end in /..
- */
-static int
-callfile(argv)
- char **argv;
-{
- char *fname, *arg, *p;
- int l, ok;
-
- arg = *argv;
- ok = 1;
- if (arg[0] == '/' || arg[0] == 0)
- ok = 0;
- else {
- for (p = arg; *p != 0; ) {
- if (p[0] == '.' && p[1] == '.' && (p[2] == '/' || p[2] == 0)) {
- ok = 0;
- break;
- }
- while (*p != '/' && *p != 0)
- ++p;
- if (*p == '/')
- ++p;
- }
- }
- if (!ok) {
- option_error("call option value may not contain .. or start with /");
- return 0;
- }
-
- l = strlen(arg) + strlen(_PATH_PEERFILES) + 1;
- if ((fname = (char *) malloc(l)) == NULL)
- novm("call file name");
- slprintf(fname, l, "%s%s", _PATH_PEERFILES, arg);
-
- ok = options_from_file(fname, 1, 1, 1);
-
- free(fname);
- return ok;
-}
-
-#ifdef PPP_FILTER
-/*
- * setpassfilter - Set the pass filter for packets
- */
-static int
-setpassfilter(argv)
- char **argv;
-{
- pc.linktype = DLT_PPP;
- pc.snapshot = PPP_HDRLEN;
-
- if (pcap_compile(&pc, &pass_filter, *argv, 1, netmask) == 0)
- return 1;
- option_error("error in pass-filter expression: %s\n", pcap_geterr(&pc));
- return 0;
-}
-
-/*
- * setactivefilter - Set the active filter for packets
- */
-static int
-setactivefilter(argv)
- char **argv;
-{
- pc.linktype = DLT_PPP;
- pc.snapshot = PPP_HDRLEN;
-
- if (pcap_compile(&pc, &active_filter, *argv, 1, netmask) == 0)
- return 1;
- option_error("error in active-filter expression: %s\n", pcap_geterr(&pc));
- return 0;
-}
-#endif
-
-/*
- * setdomain - Set domain name to append to hostname
- */
-static int
-setdomain(argv)
- char **argv;
-{
- gethostname(hostname, MAXNAMELEN);
- if (**argv != 0) {
- if (**argv != '.')
- strncat(hostname, ".", MAXNAMELEN - strlen(hostname));
- domain = hostname + strlen(hostname);
- strncat(hostname, *argv, MAXNAMELEN - strlen(hostname));
- }
- hostname[MAXNAMELEN-1] = 0;
- return (1);
-}
-
-
-static int
-setlogfile(argv)
- char **argv;
-{
- int fd, err;
-
- if (!privileged_option)
- seteuid(getuid());
- fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644);
- if (fd < 0 && errno == EEXIST)
- fd = open(*argv, O_WRONLY | O_APPEND);
- err = errno;
- if (!privileged_option)
- seteuid(0);
- if (fd < 0) {
- errno = err;
- option_error("Can't open log file %s: %m", *argv);
- return 0;
- }
- strlcpy(logfile_name, *argv, sizeof(logfile_name));
- if (logfile_fd >= 0)
- close(logfile_fd);
- logfile_fd = fd;
- log_to_fd = fd;
- log_default = 0;
- return 1;
-}
-
-#ifdef PLUGIN
-static int
-loadplugin(argv)
- char **argv;
-{
- char *arg = *argv;
- void *handle;
- const char *err;
- void (*init) __P((void));
- char *path = arg;
- const char *vers;
-
- if (strchr(arg, '/') == 0) {
- const char *base = _PATH_PLUGIN;
- int l = strlen(base) + strlen(arg) + 2;
- path = malloc(l);
- if (path == 0)
- novm("plugin file path");
- strlcpy(path, base, l);
- strlcat(path, "/", l);
- strlcat(path, arg, l);
- }
- handle = dlopen(path, RTLD_GLOBAL | RTLD_NOW);
- if (handle == 0) {
- err = dlerror();
- if (err != 0)
- option_error("%s", err);
- option_error("Couldn't load plugin %s", arg);
- goto err;
- }
- init = (void (*)(void))dlsym(handle, "plugin_init");
- if (init == 0) {
- option_error("%s has no initialization entry point", arg);
- goto errclose;
- }
- vers = (const char *) dlsym(handle, "pppd_version");
- if (vers == 0) {
- warn("Warning: plugin %s has no version information", arg);
- } else if (strcmp(vers, VERSION) != 0) {
- option_error("Plugin %s is for pppd version %s, this is %s",
- vers, VERSION);
- goto errclose;
- }
- info("Plugin %s loaded.", arg);
- (*init)();
- return 1;
-
- errclose:
- dlclose(handle);
- err:
- if (path != arg)
- free(path);
- return 0;
-}
-#endif /* PLUGIN */
diff --git a/mdk-stage1/ppp/pppd/patchlevel.h b/mdk-stage1/ppp/pppd/patchlevel.h
deleted file mode 100644
index 2a2d816f1..000000000
--- a/mdk-stage1/ppp/pppd/patchlevel.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $Id$ */
-
-#define VERSION "2.4.1"
-#define DATE "25 March 2001"
diff --git a/mdk-stage1/ppp/pppd/pathnames.h b/mdk-stage1/ppp/pppd/pathnames.h
deleted file mode 100644
index e80784567..000000000
--- a/mdk-stage1/ppp/pppd/pathnames.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * define path names
- *
- * $Id$
- */
-
-#define _PATH_VARRUN "/var/run/"
-#define _PATH_DEVNULL "/dev/null"
-#define _ROOT_PATH
-
-#define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets"
-#define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets"
-#define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options"
-#define _PATH_IPUP _ROOT_PATH "/etc/ppp/ip-up"
-#define _PATH_IPDOWN _ROOT_PATH "/etc/ppp/ip-down"
-#define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up"
-#define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down"
-#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
-#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
-#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
-#define _PATH_RESOLV _ROOT_PATH "/etc/resolv.conf"
-
-#define _PATH_USEROPT ".ppprc"
-
-#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd.tdb"
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.linux b/mdk-stage1/ppp/pppd/plugins/Makefile.linux
deleted file mode 100644
index a64256461..000000000
--- a/mdk-stage1/ppp/pppd/plugins/Makefile.linux
+++ /dev/null
@@ -1,19 +0,0 @@
-CC = gcc
-CFLAGS = -g -O2 -I.. -I../../include -fPIC
-LDFLAGS = -shared
-INSTALL = install
-
-all: minconn.so passprompt.so
-
-minconn.so: minconn.c
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) minconn.c
-
-passprompt.so: passprompt.c
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) passprompt.c
-
-LIBDIR = /usr/lib/pppd
-
-install: minconn.so passprompt.so
- version=`awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h`; \
- $(INSTALL) -d $(LIBDIR)/$$version; \
- $(INSTALL) $? $(LIBDIR)/$$version \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.sol2 b/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
deleted file mode 100644
index 8f4398258..000000000
--- a/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Makefile for plugins on Solaris 2
-#
-# $Id$
-#
-
-include ../../svr4/Makedefs
-
-CFLAGS = -c -O -I.. -I../../include $(COPTS)
-LDFLAGS = -G
-
-all: minconn.so
-
-minconn.so: minconn.o
- ld -o $@ $(LDFLAGS) -h $@ minconn.o
-
-minconn.o: minconn.c
- $(CC) $(CFLAGS) -c $?
-
-passprompt.so: passprompt.o
- ld -o $@ $(LDFLAGS) -h $@ passprompt.o
-
-passprompt.o: passprompt.c
- $(CC) $(CFLAGS) -c $?
-
-clean:
- rm -f *.o *.so
diff --git a/mdk-stage1/ppp/pppd/plugins/minconn.c b/mdk-stage1/ppp/pppd/plugins/minconn.c
deleted file mode 100644
index 02ea34bf6..000000000
--- a/mdk-stage1/ppp/pppd/plugins/minconn.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * minconn.c - pppd plugin to implement a `minconnect' option.
- *
- * Copyright 1999 Paul Mackerras.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. The name of the author
- * may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <stddef.h>
-#include <time.h>
-#include "pppd.h"
-
-char pppd_version[] = VERSION;
-
-static int minconnect = 0;
-
-static option_t my_options[] = {
- { "minconnect", o_int, &minconnect,
- "Set minimum connect time before idle timeout applies" },
- { NULL }
-};
-
-static int my_get_idle(struct ppp_idle *idle)
-{
- time_t t;
-
- if (idle == NULL)
- return minconnect? minconnect: idle_time_limit;
- t = idle->xmit_idle;
- if (idle->recv_idle < t)
- t = idle->recv_idle;
- return idle_time_limit - t;
-}
-
-void plugin_init(void)
-{
- info("plugin_init");
- add_options(my_options);
- idle_time_hook = my_get_idle;
-}
diff --git a/mdk-stage1/ppp/pppd/plugins/passprompt.c b/mdk-stage1/ppp/pppd/plugins/passprompt.c
deleted file mode 100644
index 5e6a7f90b..000000000
--- a/mdk-stage1/ppp/pppd/plugins/passprompt.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * passprompt.c - pppd plugin to invoke an external PAP password prompter
- *
- * Copyright 1999 Paul Mackerras, Alan Curry.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#include <errno.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <syslog.h>
-#include "pppd.h"
-
-char pppd_version[] = VERSION;
-
-static char promptprog[PATH_MAX+1];
-
-static option_t options[] = {
- { "promptprog", o_string, promptprog,
- "External PAP password prompting program",
- OPT_STATIC, NULL, PATH_MAX },
- { NULL }
-};
-
-static int promptpass(char *user, char *passwd)
-{
- int p[2];
- pid_t kid;
- int readgood, wstat;
- size_t red;
-
- if (promptprog[0] == 0 || access(promptprog, X_OK) < 0)
- return -1; /* sorry, can't help */
-
- if (!passwd)
- return 1;
-
- if (pipe(p)) {
- warn("Can't make a pipe for %s", promptprog);
- return 0;
- }
- if ((kid = fork()) == (pid_t) -1) {
- warn("Can't fork to run %s", promptprog);
- close(p[0]);
- close(p[1]);
- return 0;
- }
- if (!kid) {
- /* we are the child, exec the program */
- char *argv[4], fdstr[32];
- sys_close();
- closelog();
- close(p[0]);
- seteuid(getuid());
- setegid(getgid());
- argv[0] = promptprog;
- argv[1] = user;
- argv[2] = remote_name;
- sprintf(fdstr, "%d", p[1]);
- argv[3] = fdstr;
- argv[4] = 0;
- execv(*argv, argv);
- _exit(127);
- }
-
- /* we are the parent, read the password from the pipe */
- close(p[1]);
- readgood = 0;
- do {
- red = read(p[0], passwd + readgood, MAXSECRETLEN-1 - readgood);
- if (red == 0)
- break;
- if (red < 0) {
- error("Can't read secret from %s: %m", promptprog);
- readgood = -1;
- break;
- }
- readgood += red;
- } while (readgood < MAXSECRETLEN - 1);
- passwd[readgood] = 0;
- close(p[0]);
-
- /* now wait for child to exit */
- while (waitpid(kid, &wstat, 0) < 0) {
- if (errno != EINTR) {
- warn("error waiting for %s: %m", promptprog);
- break;
- }
- }
-
- if (readgood < 0)
- return 0;
- if (!WIFEXITED(wstat))
- warn("%s terminated abnormally", promptprog);
- if (WEXITSTATUS(wstat))
- warn("%s exited with code %d", promptprog, WEXITSTATUS(status));
-
- return 1;
-}
-
-void plugin_init(void)
-{
- add_options(options);
- pap_passwd_hook = promptpass;
-}
diff --git a/mdk-stage1/ppp/pppd/ppp.pam b/mdk-stage1/ppp/pppd/ppp.pam
deleted file mode 100644
index 475a4bc88..000000000
--- a/mdk-stage1/ppp/pppd/ppp.pam
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-# Information for the PPPD process with the 'login' option.
-auth required pam_nologin.so
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/pppd.8 b/mdk-stage1/ppp/pppd/pppd.8
deleted file mode 100644
index ab091cd83..000000000
--- a/mdk-stage1/ppp/pppd/pppd.8
+++ /dev/null
@@ -1,1591 +0,0 @@
-.\" manual page [] for pppd 2.4
-.\" $Id$
-.\" SH section heading
-.\" SS subsection heading
-.\" LP paragraph
-.\" IP indented paragraph
-.\" TP hanging label
-.TH PPPD 8
-.SH NAME
-pppd \- Point to Point Protocol daemon
-.SH SYNOPSIS
-.B pppd
-[
-.I tty_name
-] [
-.I speed
-] [
-.I options
-]
-.SH DESCRIPTION
-.LP
-The Point-to-Point Protocol (PPP) provides a method for transmitting
-datagrams over serial point-to-point links. PPP
-is composed of three parts: a method for encapsulating datagrams over
-serial links, an extensible Link Control Protocol (LCP), and
-a family of Network Control Protocols (NCP) for establishing
-and configuring different network-layer protocols.
-.LP
-The encapsulation scheme is provided by driver code in the kernel.
-Pppd provides the basic LCP, authentication support, and an NCP for
-establishing and configuring the Internet Protocol (IP) (called the IP
-Control Protocol, IPCP).
-.SH FREQUENTLY USED OPTIONS
-.TP
-.I <tty_name>
-Communicate over the named device. The string "/dev/" is prepended if
-necessary. If no device name is given, or if the name of the terminal
-connected to the standard input is given, pppd will use that terminal,
-and will not fork to put itself in the background. A value for this
-option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.I <speed>
-Set the baud rate to <speed> (a decimal number). On systems such as
-4.4BSD and NetBSD, any speed can be specified. Other systems
-(e.g. SunOS) allow only a limited set of speeds.
-.TP
-.B asyncmap \fI<map>
-Set the async character map to <map>. This map describes which
-control characters cannot be successfully received over the serial
-line. Pppd will ask the peer to send these characters as a 2-byte
-escape sequence. The argument is a 32 bit hex number with each bit
-representing a character to escape. Bit 0 (00000001) represents the
-character 0x00; bit 31 (80000000) represents the character 0x1f or ^_.
-If multiple \fIasyncmap\fR options are given, the values are ORed
-together. If no \fIasyncmap\fR option is given, no async character
-map will be negotiated for the receive direction; the peer should then
-escape \fIall\fR control characters. To escape transmitted
-characters, use the \fIescape\fR option.
-.TP
-.B auth
-Require the peer to authenticate itself before allowing network
-packets to be sent or received. This option is the default if the
-system has a default route. If neither this option nor the
-\fInoauth\fR option is specified, pppd will only allow the peer to use
-IP addresses to which the system does not already have a route.
-.TP
-.B call \fIname
-Read options from the file /etc/ppp/peers/\fIname\fR. This file may
-contain privileged options, such as \fInoauth\fR, even if pppd
-is not being run by root. The \fIname\fR string may not begin with /
-or include .. as a pathname component. The format of the options file
-is described below.
-.TP
-.B connect \fIscript
-Use the executable or shell command specified by \fIscript\fR to set
-up the serial line. This script would typically use the chat(8)
-program to dial the modem and start the remote ppp session. A value
-for this option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.B crtscts
-Use hardware flow control (i.e. RTS/CTS) to control the flow of
-data on the serial port. If neither the \fIcrtscts\fR, the
-\fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option
-is given, the hardware flow control setting for the serial port is
-left unchanged.
-Some serial ports (such as Macintosh serial ports) lack a true
-RTS output. Such serial ports use this mode to implement
-unidirectional flow control. The serial port will
-suspend transmission when requested by the modem (via CTS)
-but will be unable to request the modem stop sending to the
-computer. This mode retains the ability to use DTR as
-a modem control line.
-.TP
-.B defaultroute
-Add a default route to the system routing tables, using the peer as
-the gateway, when IPCP negotiation is successfully completed.
-This entry is removed when the PPP connection is broken. This option
-is privileged if the \fInodefaultroute\fR option has been specified.
-.TP
-.B disconnect \fIscript
-Run the executable or shell command specified by \fIscript\fR after
-pppd has terminated the link. This script could, for example, issue
-commands to the modem to cause it to hang up if hardware modem control
-signals were not available. The disconnect script is not run if the
-modem has already hung up. A value for this option from a privileged
-source cannot be overridden by a non-privileged user.
-.TP
-.B escape \fIxx,yy,...
-Specifies that certain characters should be escaped on transmission
-(regardless of whether the peer requests them to be escaped with its
-async control character map). The characters to be escaped are
-specified as a list of hex numbers separated by commas. Note that
-almost any character can be specified for the \fIescape\fR option,
-unlike the \fIasyncmap\fR option which only allows control characters
-to be specified. The characters which may not be escaped are those
-with hex values 0x20 - 0x3f or 0x5e.
-.TP
-.B file \fIname
-Read options from file \fIname\fR (the format is described below).
-The file must be readable by the user who has invoked pppd.
-.TP
-.B init \fIscript
-Run the executable or shell command specified by \fIscript\fR to
-initialize the serial line. This script would typically use the
-chat(8) program to configure the modem to enable auto answer. A value
-for this option from a privileged source cannot be overridden by a
-non-privileged user.
-.TP
-.B lock
-Specifies that pppd should create a UUCP-style lock file for the
-serial device to ensure exclusive access to the device.
-.TP
-.B mru \fIn
-Set the MRU [Maximum Receive Unit] value to \fIn\fR. Pppd
-will ask the peer to send packets of no more than \fIn\fR bytes. The
-minimum MRU value is 128. The default MRU value is 1500. A value of
-296 is recommended for slow links (40 bytes for TCP/IP header + 256
-bytes of data). (Note that for IPv6 MRU must be at least 1280)
-.TP
-.B mtu \fIn
-Set the MTU [Maximum Transmit Unit] value to \fIn\fR. Unless the
-peer requests a smaller value via MRU negotiation, pppd will
-request that the kernel networking code send data packets of no more
-than \fIn\fR bytes through the PPP network interface. (Note that for
-IPv6 MTU must be at least 1280)
-.TP
-.B passive
-Enables the "passive" option in the LCP. With this option, pppd will
-attempt to initiate a connection; if no reply is received from the
-peer, pppd will then just wait passively for a valid LCP packet from
-the peer, instead of exiting, as it would without this option.
-.SH OPTIONS
-.TP
-.I <local_IP_address>\fB:\fI<remote_IP_address>
-Set the local and/or remote interface IP addresses. Either one may be
-omitted. The IP addresses can be specified with a host name or in
-decimal dot notation (e.g. 150.234.56.78). The default local
-address is the (first) IP address of the system (unless the
-\fInoipdefault\fR
-option is given). The remote address will be obtained from the peer
-if not specified in any option. Thus, in simple cases, this option is
-not required. If a local and/or remote IP address is specified with
-this option, pppd
-will not accept a different value from the peer in the IPCP
-negotiation, unless the \fIipcp-accept-local\fR and/or
-\fIipcp-accept-remote\fR options are given, respectively.
-.TP
-.B ipv6 \fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>
-Set the local and/or remote 64-bit interface identifier. Either one may be
-omitted. The identifier must be specified in standard ascii notation of
-IPv6 addresses (e.g. ::dead:beef). If the
-\fIipv6cp-use-ipaddr\fR
-option is given, the local identifier is the local IPv4 address (see above).
-On systems which supports a unique persistent id, such as EUI-48 derived
-from the Ethernet MAC address, \fIipv6cp-use-persistent\fR option can be
-used to replace the \fIipv6 <local>,<remote>\fR option. Otherwise the
-identifier is randomized.
-.TP
-.B active-filter \fIfilter-expression
-Specifies a packet filter to be applied to data packets to determine
-which packets are to be regarded as link activity, and therefore reset
-the idle timer, or cause the link to be brought up in demand-dialling
-mode. This option is useful in conjunction with the
-\fBidle\fR option if there are packets being sent or received
-regularly over the link (for example, routing information packets)
-which would otherwise prevent the link from ever appearing to be idle.
-The \fIfilter-expression\fR syntax is as described for tcpdump(1),
-except that qualifiers which are inappropriate for a PPP link, such as
-\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
-expression should be enclosed in single-quotes to prevent whitespace
-in the expression from being interpreted by the shell. This option
-is currently only available under NetBSD, and then only
-if both the kernel and pppd were compiled with PPP_FILTER defined.
-.TP
-.B allow-ip \fIaddress(es)
-Allow peers to use the given IP address or subnet without
-authenticating themselves. The parameter is parsed as for each
-element of the list of allowed IP addresses in the secrets files (see
-the AUTHENTICATION section below).
-.TP
-.B bsdcomp \fInr,nt
-Request that the peer compress packets that it sends, using the
-BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
-agree to compress packets sent to the peer with a maximum code size of
-\fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
-given for \fInr\fR. Values in the range 9 to 15 may be used for
-\fInr\fR and \fInt\fR; larger values give better compression but
-consume more kernel memory for compression dictionaries.
-Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
-compression in the corresponding direction. Use \fInobsdcomp\fR or
-\fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
-.TP
-.B cdtrcts
-Use a non-standard hardware flow control (i.e. DTR/CTS) to control
-the flow of data on the serial port. If neither the \fIcrtscts\fR,
-the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR
-option is given, the hardware flow control setting for the serial
-port is left unchanged.
-Some serial ports (such as Macintosh serial ports) lack a true
-RTS output. Such serial ports use this mode to implement true
-bi-directional flow control. The sacrifice is that this flow
-control mode does not permit using DTR as a modem control line.
-.TP
-.B chap-interval \fIn
-If this option is given, pppd will rechallenge the peer every \fIn\fR
-seconds.
-.TP
-.B chap-max-challenge \fIn
-Set the maximum number of CHAP challenge transmissions to \fIn\fR
-(default 10).
-.TP
-.B chap-restart \fIn
-Set the CHAP restart interval (retransmission timeout for challenges)
-to \fIn\fR seconds (default 3).
-.TP
-.B connect-delay \fIn
-Wait for up \fIn\fR milliseconds after the connect script finishes for
-a valid PPP packet from the peer. At the end of this time, or when a
-valid PPP packet is received from the peer, pppd will commence
-negotiation by sending its first LCP packet. The default value is
-1000 (1 second). This wait period only applies if the \fBconnect\fR
-or \fBpty\fR option is used.
-.TP
-.B debug
-Enables connection debugging facilities.
-If this option is given, pppd will log the contents of all
-control packets sent or received in a readable form. The packets are
-logged through syslog with facility \fIdaemon\fR and level
-\fIdebug\fR. This information can be directed to a file by setting up
-/etc/syslog.conf appropriately (see syslog.conf(5)).
-.TP
-.B default-asyncmap
-Disable asyncmap negotiation, forcing all control characters to be
-escaped for both the transmit and the receive direction.
-.TP
-.B default-mru
-Disable MRU [Maximum Receive Unit] negotiation. With this option,
-pppd will use the default MRU value of 1500 bytes for both the
-transmit and receive direction.
-.TP
-.B deflate \fInr,nt
-Request that the peer compress packets that it sends, using the
-Deflate scheme, with a maximum window size of \fI2**nr\fR bytes, and
-agree to compress packets sent to the peer with a maximum window size
-of \fI2**nt\fR bytes. If \fInt\fR is not specified, it defaults to
-the value given for \fInr\fR. Values in the range 9 to 15 may be used
-for \fInr\fR and \fInt\fR; larger values give better compression but
-consume more kernel memory for compression dictionaries.
-Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
-compression in the corresponding direction. Use \fInodeflate\fR or
-\fIdeflate 0\fR to disable Deflate compression entirely. (Note: pppd
-requests Deflate compression in preference to BSD-Compress if the peer
-can do either.)
-.TP
-.B demand
-Initiate the link only on demand, i.e. when data traffic is present.
-With this option, the remote IP address must be specified by the user
-on the command line or in an options file. Pppd will initially
-configure the interface and enable it for IP traffic without
-connecting to the peer. When traffic is available, pppd will
-connect to the peer and perform negotiation, authentication, etc.
-When this is completed, pppd will commence passing data packets
-(i.e., IP packets) across the link.
-
-The \fIdemand\fR option implies the \fIpersist\fR option. If this
-behaviour is not desired, use the \fInopersist\fR option after the
-\fIdemand\fR option. The \fIidle\fR and \fIholdoff\fR
-options are also useful in conjuction with the \fIdemand\fR option.
-.TP
-.B domain \fId
-Append the domain name \fId\fR to the local host name for authentication
-purposes. For example, if gethostname() returns the name porsche, but
-the fully qualified domain name is porsche.Quotron.COM, you could
-specify \fIdomain Quotron.COM\fR. Pppd would then use the name
-\fIporsche.Quotron.COM\fR for looking up secrets in the secrets file,
-and as the default name to send to the peer when authenticating itself
-to the peer. This option is privileged.
-.TP
-.B dryrun
-With the \fBdryrun\fR option, pppd will print out all the option
-values which have been set and then exit, after parsing the command
-line and options files and checking the option values, but before
-initiating the link. The option values are logged at level info, and
-also printed to standard output unless the device on standard output
-is the device that pppd would be using to communicate with the peer.
-.TP
-.B dump
-With the \fBdump\fR option, pppd will print out all the option values
-which have been set. This option is like the \fBdryrun\fR option
-except that pppd proceeds as normal rather than exiting.
-.TP
-.B endpoint \fI<epdisc>
-Sets the endpoint discriminator sent by the local machine to the peer
-during multilink negotiation to \fI<epdisc>\fR. The default is to use
-the MAC address of the first ethernet interface on the system, if any,
-otherwise the IPv4 address corresponding to the hostname, if any,
-provided it is not in the multicast or locally-assigned IP address
-ranges, or the localhost address. The endpoint discriminator can be
-the string \fBnull\fR or of the form \fItype\fR:\fIvalue\fR, where
-type is a decimal number or one of the strings \fBlocal\fR, \fBIP\fR,
-\fBMAC\fR, \fBmagic\fR, or \fBphone\fR. The value is an IP address in
-dotted-decimal notation for the \fBIP\fR type, or a string of bytes in
-hexadecimal, separated by periods or colons for the other types. For
-the MAC type, the value may also be the name of an ethernet or similar
-network interface. This option is currently only available under
-Linux.
-.TP
-.B hide-password
-When logging the contents of PAP packets, this option causes pppd to
-exclude the password string from the log. This is the default.
-.TP
-.B holdoff \fIn
-Specifies how many seconds to wait before re-initiating the link after
-it terminates. This option only has any effect if the \fIpersist\fR
-or \fIdemand\fR option is used. The holdoff period is not applied if
-the link was terminated because it was idle.
-.TP
-.B idle \fIn
-Specifies that pppd should disconnect if the link is idle for \fIn\fR
-seconds. The link is idle when no data packets (i.e. IP packets) are
-being sent or received. Note: it is not advisable to use this option
-with the \fIpersist\fR option without the \fIdemand\fR option.
-If the \fBactive-filter\fR
-option is given, data packets which are rejected by the specified
-activity filter also count as the link being idle.
-.TP
-.B ipcp-accept-local
-With this option, pppd will accept the peer's idea of our local IP
-address, even if the local IP address was specified in an option.
-.TP
-.B ipcp-accept-remote
-With this option, pppd will accept the peer's idea of its (remote) IP
-address, even if the remote IP address was specified in an option.
-.TP
-.B ipcp-max-configure \fIn
-Set the maximum number of IPCP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B ipcp-max-failure \fIn
-Set the maximum number of IPCP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B ipcp-max-terminate \fIn
-Set the maximum number of IPCP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B ipcp-restart \fIn
-Set the IPCP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B ipparam \fIstring
-Provides an extra parameter to the ip-up and ip-down scripts. If this
-option is given, the \fIstring\fR supplied is given as the 6th
-parameter to those scripts.
-.TP
-.B ipv6cp-max-configure \fIn
-Set the maximum number of IPv6CP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B ipv6cp-max-failure \fIn
-Set the maximum number of IPv6CP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B ipv6cp-max-terminate \fIn
-Set the maximum number of IPv6CP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B ipv6cp-restart \fIn
-Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B ipx
-Enable the IPXCP and IPX protocols. This option is presently only
-supported under Linux, and only if your kernel has been configured to
-include IPX support.
-.TP
-.B ipx-network \fIn
-Set the IPX network number in the IPXCP configure request frame to
-\fIn\fR, a hexadecimal number (without a leading 0x). There is no
-valid default. If this option is not specified, the network number is
-obtained from the peer. If the peer does not have the network number,
-the IPX protocol will not be started.
-.TP
-.B ipx-node \fIn\fB:\fIm
-Set the IPX node numbers. The two node numbers are separated from each
-other with a colon character. The first number \fIn\fR is the local
-node number. The second number \fIm\fR is the peer's node number. Each
-node number is a hexadecimal number, at most 10 digits long. The node
-numbers on the ipx-network must be unique. There is no valid
-default. If this option is not specified then the node numbers are
-obtained from the peer.
-.TP
-.B ipx-router-name \fI<string>
-Set the name of the router. This is a string and is sent to the peer
-as information data.
-.TP
-.B ipx-routing \fIn
-Set the routing protocol to be received by this option. More than one
-instance of \fIipx-routing\fR may be specified. The '\fInone\fR'
-option (0) may be specified as the only instance of ipx-routing. The
-values may be \fI0\fR for \fINONE\fR, \fI2\fR for \fIRIP/SAP\fR, and
-\fI4\fR for \fINLSP\fR.
-.TP
-.B ipxcp-accept-local
-Accept the peer's NAK for the node number specified in the ipx-node
-option. If a node number was specified, and non-zero, the default is
-to insist that the value be used. If you include this option then you
-will permit the peer to override the entry of the node number.
-.TP
-.B ipxcp-accept-network
-Accept the peer's NAK for the network number specified in the
-ipx-network option. If a network number was specified, and non-zero, the
-default is to insist that the value be used. If you include this
-option then you will permit the peer to override the entry of the node
-number.
-.TP
-.B ipxcp-accept-remote
-Use the peer's network number specified in the configure request
-frame. If a node number was specified for the peer and this option was
-not specified, the peer will be forced to use the value which you have
-specified.
-.TP
-.B ipxcp-max-configure \fIn
-Set the maximum number of IPXCP configure request frames which the
-system will send to \fIn\fR. The default is 10.
-.TP
-.B ipxcp-max-failure \fIn
-Set the maximum number of IPXCP NAK frames which the local system will
-send before it rejects the options. The default value is 3.
-.TP
-.B ipxcp-max-terminate \fIn
-Set the maximum nuber of IPXCP terminate request frames before the
-local system considers that the peer is not listening to them. The
-default value is 3.
-.TP
-.B kdebug \fIn
-Enable debugging code in the kernel-level PPP driver. The argument
-values depend on the specific kernel driver, but in general a value of
-1 will enable general kernel debug messages. (Note that these
-messages are usually only useful for debugging the kernel driver
-itself.) For the Linux 2.2.x kernel driver, the value is a sum of
-bits: 1 to
-enable general debug messages, 2 to request that the contents of
-received packets be printed, and 4 to request that the contents of
-transmitted packets be printed. On most systems, messages printed by
-the kernel are logged by syslog(1) to a file as directed in the
-/etc/syslog.conf configuration file.
-.TP
-.B ktune
-Enables pppd to alter kernel settings as appropriate. Under Linux,
-pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
-to 1) if the \fIproxyarp\fR option is used, and will enable the
-dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
-1) in demand mode if the local address changes.
-.TP
-.B lcp-echo-failure \fIn
-If this option is given, pppd will presume the peer to be dead
-if \fIn\fR LCP echo-requests are sent without receiving a valid LCP
-echo-reply. If this happens, pppd will terminate the
-connection. Use of this option requires a non-zero value for the
-\fIlcp-echo-interval\fR parameter. This option can be used to enable
-pppd to terminate after the physical connection has been broken
-(e.g., the modem has hung up) in situations where no hardware modem
-control lines are available.
-.TP
-.B lcp-echo-interval \fIn
-If this option is given, pppd will send an LCP echo-request frame to
-the peer every \fIn\fR seconds. Normally the peer should respond to
-the echo-request by sending an echo-reply. This option can be used
-with the \fIlcp-echo-failure\fR option to detect that the peer is no
-longer connected.
-.TP
-.B lcp-max-configure \fIn
-Set the maximum number of LCP configure-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B lcp-max-failure \fIn
-Set the maximum number of LCP configure-NAKs returned before starting
-to send configure-Rejects instead to \fIn\fR (default 10).
-.TP
-.B lcp-max-terminate \fIn
-Set the maximum number of LCP terminate-request transmissions to
-\fIn\fR (default 3).
-.TP
-.B lcp-restart \fIn
-Set the LCP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B linkname \fIname\fR
-Sets the logical name of the link to \fIname\fR. Pppd will create a
-file named \fBppp-\fIname\fB.pid\fR in /var/run (or /etc/ppp on some
-systems) containing its process ID. This can be useful in determining
-which instance of pppd is responsible for the link to a given peer
-system. This is a privileged option.
-.TP
-.B local
-Don't use the modem control lines. With this option, pppd will ignore
-the state of the CD (Carrier Detect) signal from the modem and will
-not change the state of the DTR (Data Terminal Ready) signal.
-.TP
-.B logfd \fIn
-Send log messages to file descriptor \fIn\fR. Pppd will send log
-messages to at most one file or file descriptor (as well as sending
-the log messages to syslog), so this option and the \fBlogfile\fR
-option are mutually exclusive. The default is for pppd to send log
-messages to stdout (file descriptor 1), unless the serial port is
-already open on stdout.
-.TP
-.B logfile \fIfilename
-Append log messages to the file \fIfilename\fR (as well as sending the
-log messages to syslog). The file is opened with the privileges of
-the user who invoked pppd, in append mode.
-.TP
-.B login
-Use the system password database for authenticating the peer using
-PAP, and record the user in the system wtmp file. Note that the peer
-must have an entry in the /etc/ppp/pap-secrets file as well as the
-system password database to be allowed access.
-.TP
-.B maxconnect \fIn
-Terminate the connection when it has been available for network
-traffic for \fIn\fR seconds (i.e. \fIn\fR seconds after the first
-network control protocol comes up).
-.TP
-.B maxfail \fIn
-Terminate after \fIn\fR consecutive failed connection attempts. A
-value of 0 means no limit. The default value is 10.
-.TP
-.B modem
-Use the modem control lines. This option is the default. With this
-option, pppd will wait for the CD (Carrier Detect) signal from the
-modem to be asserted when opening the serial device (unless a connect
-script is specified), and it will drop the DTR (Data Terminal Ready)
-signal briefly when the connection is terminated and before executing
-the connect script. On Ultrix, this option implies hardware flow
-control, as for the \fIcrtscts\fR option.
-.TP
-.B mp
-Enables the use of PPP multilink; this is an alias for the `multilink'
-option. This option is currently only available under Linux.
-.TP
-.B mpshortseq
-Enables the use of short (12-bit) sequence numbers in multilink
-headers, as opposed to 24-bit sequence numbers. This option is only
-available under Linux, and only has any effect if multilink is
-enabled (see the multilink option).
-.TP
-.B mrru \fIn
-Sets the Maximum Reconstructed Receive Unit to \fIn\fR. The MRRU is
-the maximum size for a received packet on a multilink bundle, and is
-analogous to the MRU for the individual links. This option is
-currently only available under Linux, and only has any effect if
-multilink is enabled (see the multilink option).
-.TP
-.B ms-dns \fI<addr>
-If pppd is acting as a server for Microsoft Windows clients, this
-option allows pppd to supply one or two DNS (Domain Name Server)
-addresses to the clients. The first instance of this option specifies
-the primary DNS address; the second instance (if given) specifies the
-secondary DNS address. (This option was present in some older
-versions of pppd under the name \fBdns-addr\fR.)
-.TP
-.B ms-wins \fI<addr>
-If pppd is acting as a server for Microsoft Windows or "Samba"
-clients, this option allows pppd to supply one or two WINS (Windows
-Internet Name Services) server addresses to the clients. The first
-instance of this option specifies the primary WINS address; the second
-instance (if given) specifies the secondary WINS address.
-.TP
-.B multilink
-Enables the use of the PPP multilink protocol. If the peer also
-supports multilink, then this link can become part of a bundle between
-the local system and the peer. If there is an existing bundle to the
-peer, pppd will join this link to that bundle, otherwise pppd will
-create a new bundle. See the MULTILINK section below. This option is
-currently only available under Linux.
-.TP
-.B name \fIname
-Set the name of the local system for authentication purposes to
-\fIname\fR. This is a privileged option. With this option, pppd will
-use lines in the secrets files which have \fIname\fR as the second
-field when looking for a secret to use in authenticating the peer. In
-addition, unless overridden with the \fIuser\fR option, \fIname\fR
-will be used as the name to send to the peer when authenticating the
-local system to the peer. (Note that pppd does not append the domain
-name to \fIname\fR.)
-.TP
-.B netmask \fIn
-Set the interface netmask to \fIn\fR, a 32 bit netmask in "decimal dot"
-notation (e.g. 255.255.255.0). If this option is given, the value
-specified is ORed with the default netmask. The default netmask is
-chosen based on the negotiated remote IP address; it is the
-appropriate network mask for the class of the remote IP address, ORed
-with the netmasks for any non point-to-point network interfaces in the
-system which are on the same network. (Note: on some platforms, pppd
-will always use 255.255.255.255 for the netmask, if that is the only
-appropriate value for a point-to-point interface.)
-.TP
-.B noaccomp
-Disable Address/Control compression in both directions (send and
-receive).
-.TP
-.B noauth
-Do not require the peer to authenticate itself. This option is
-privileged.
-.TP
-.B nobsdcomp
-Disables BSD-Compress compression; \fBpppd\fR will not request or
-agree to compress packets using the BSD-Compress scheme.
-.TP
-.B noccp
-Disable CCP (Compression Control Protocol) negotiation. This option
-should only be required if the peer is buggy and gets confused by
-requests from pppd for CCP negotiation.
-.TP
-.B nocrtscts
-Disable hardware flow control (i.e. RTS/CTS) on the serial port.
-If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the
-\fIcdtrcts\fR nor the \fInocdtrcts\fR option is given, the hardware
-flow control setting for the serial port is left unchanged.
-.TP
-.B nocdtrcts
-This option is a synonym for \fInocrtscts\fR. Either of these options will
-disable both forms of hardware flow control.
-.TP
-.B nodefaultroute
-Disable the \fIdefaultroute\fR option. The system administrator who
-wishes to prevent users from creating default routes with pppd
-can do so by placing this option in the /etc/ppp/options file.
-.TP
-.B nodeflate
-Disables Deflate compression; pppd will not request or agree to
-compress packets using the Deflate scheme.
-.TP
-.B nodetach
-Don't detach from the controlling terminal. Without this option, if a
-serial device other than the terminal on the standard input is
-specified, pppd will fork to become a background process.
-.TP
-.B noendpoint
-Disables pppd from sending an endpoint discriminator to the peer or
-accepting one from the peer (see the MULTILINK section below). This
-option should only be required if the peer is buggy.
-.TP
-.B noip
-Disable IPCP negotiation and IP communication. This option should
-only be required if the peer is buggy and gets confused by requests
-from pppd for IPCP negotiation.
-.TP
-.B noipv6
-Disable IPv6CP negotiation and IPv6 communication. This option should
-only be required if the peer is buggy and gets confused by requests
-from pppd for IPv6CP negotiation.
-.TP
-.B noipdefault
-Disables the default behaviour when no local IP address is specified,
-which is to determine (if possible) the local IP address from the
-hostname. With this option, the peer will have to supply the local IP
-address during IPCP negotiation (unless it specified explicitly on the
-command line or in an options file).
-.TP
-.B noipx
-Disable the IPXCP and IPX protocols. This option should only be
-required if the peer is buggy and gets confused by requests from pppd
-for IPXCP negotiation.
-.TP
-.B noktune
-Opposite of the \fIktune\fR option; disables pppd from changing system
-settings.
-.TP
-.B nolog
-Do not send log messages to a file or file descriptor. This option
-cancels the \fBlogfd\fR and \fBlogfile\fR options.
-.TP
-.B nomagic
-Disable magic number negotiation. With this option, pppd cannot
-detect a looped-back line. This option should only be needed if the
-peer is buggy.
-.TP
-.B nomp
-Disables the use of PPP multilink. This option is currently only
-available under Linux.
-.TP
-.B nompshortseq
-Disables the use of short (12-bit) sequence numbers in the PPP
-multilink protocol, forcing the use of 24-bit sequence numbers. This
-option is currently only available under Linux, and only has any
-effect if multilink is enabled.
-.TP
-.B nomultilink
-Disables the use of PPP multilink. This option is currently only
-available under Linux.
-.TP
-.B nopcomp
-Disable protocol field compression negotiation in both the receive and
-the transmit direction.
-.TP
-.B nopersist
-Exit once a connection has been made and terminated. This is the
-default unless the \fIpersist\fR or \fIdemand\fR option has been
-specified.
-.TP
-.B nopredictor1
-Do not accept or agree to Predictor-1 compression.
-.TP
-.B noproxyarp
-Disable the \fIproxyarp\fR option. The system administrator who
-wishes to prevent users from creating proxy ARP entries with pppd can
-do so by placing this option in the /etc/ppp/options file.
-.TP
-.B notty
-Normally, pppd requires a terminal device. With this option, pppd
-will allocate itself a pseudo-tty master/slave pair and use the slave
-as its terminal device. Pppd will create a child process to act as a
-`character shunt' to transfer characters between the pseudo-tty master
-and its standard input and output. Thus pppd will transmit characters
-on its standard output and receive characters on its standard input
-even if they are not terminal devices. This option increases the
-latency and CPU overhead of transferring data over the ppp interface
-as all of the characters sent and received must flow through the
-character shunt process. An explicit device name may not be given if
-this option is used.
-.TP
-.B novj
-Disable Van Jacobson style TCP/IP header compression in both the
-transmit and the receive direction.
-.TP
-.B novjccomp
-Disable the connection-ID compression option in Van Jacobson style
-TCP/IP header compression. With this option, pppd will not omit the
-connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
-ask the peer to do so.
-.TP
-.B papcrypt
-Indicates that all secrets in the /etc/ppp/pap-secrets file which are
-used for checking the identity of the peer are encrypted, and thus
-pppd should not accept a password which, before encryption, is
-identical to the secret from the /etc/ppp/pap-secrets file.
-.TP
-.B pap-max-authreq \fIn
-Set the maximum number of PAP authenticate-request transmissions to
-\fIn\fR (default 10).
-.TP
-.B pap-restart \fIn
-Set the PAP restart interval (retransmission timeout) to \fIn\fR
-seconds (default 3).
-.TP
-.B pap-timeout \fIn
-Set the maximum time that pppd will wait for the peer to authenticate
-itself with PAP to \fIn\fR seconds (0 means no limit).
-.TP
-.B pass-filter \fIfilter-expression
-Specifies a packet filter to applied to data packets being sent or
-received to determine which packets should be allowed to pass.
-Packets which are rejected by the filter are silently discarded. This
-option can be used to prevent specific network daemons (such as
-routed) using up link bandwidth, or to provide a basic firewall
-capability.
-The \fIfilter-expression\fR syntax is as described for tcpdump(1),
-except that qualifiers which are inappropriate for a PPP link, such as
-\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
-expression should be enclosed in single-quotes to prevent whitespace
-in the expression from being interpreted by the shell. Note that it
-is possible to apply different constraints to incoming and outgoing
-packets using the \fBinbound\fR and \fBoutbound\fR qualifiers. This
-option is currently only available under NetBSD, and then only if both
-the kernel and pppd were compiled with PPP_FILTER defined.
-.TP
-.B persist
-Do not exit after a connection is terminated; instead try to reopen
-the connection.
-.TP
-.B plugin \fIfilename
-Load the shared library object file \fIfilename\fR as a plugin. This
-is a privileged option.
-.TP
-.B predictor1
-Request that the peer compress frames that it sends using Predictor-1
-compression, and agree to compress transmitted frames with Predictor-1
-if requested. This option has no effect unless the kernel driver
-supports Predictor-1 compression.
-.TP
-.B privgroup \fIgroup-name
-Allows members of group \fIgroup-name\fR to use privileged options.
-This is a privileged option. Use of this option requires care as
-there is no guarantee that members of \fIgroup-name\fR cannot use pppd
-to become root themselves. Consider it equivalent to putting the
-members of \fIgroup-name\fR in the kmem or disk group.
-.TP
-.B proxyarp
-Add an entry to this system's ARP [Address Resolution Protocol] table
-with the IP address of the peer and the Ethernet address of this
-system. This will have the effect of making the peer appear to other
-systems to be on the local ethernet.
-.TP
-.B pty \fIscript
-Specifies that the command \fIscript\fR is to be used to communicate
-rather than a specific terminal device. Pppd will allocate itself a
-pseudo-tty master/slave pair and use the slave as its terminal
-device. The \fIscript\fR will be run in a child process with the
-pseudo-tty master as its standard input and output. An explicit
-device name may not be given if this option is used. (Note: if the
-\fIrecord\fR option is used in conjuction with the \fIpty\fR option,
-the child process will have pipes on its standard input and output.)
-.TP
-.B receive-all
-With this option, pppd will accept all control characters from the
-peer, including those marked in the receive asyncmap. Without this
-option, pppd will discard those characters as specified in RFC1662.
-This option should only be needed if the peer is buggy.
-.TP
-.B record \fIfilename
-Specifies that pppd should record all characters sent and received to
-a file named \fIfilename\fR. This file is opened in append mode,
-using the user's user-ID and permissions. This option is implemented
-using a pseudo-tty and a process to transfer characters between the
-pseudo-tty and the real serial device, so it will increase the latency
-and CPU overhead of transferring data over the ppp interface. The
-characters are stored in a tagged format with timestamps, which can be
-displayed in readable form using the pppdump(8) program.
-.TP
-.B remotename \fIname
-Set the assumed name of the remote system for authentication purposes
-to \fIname\fR.
-.TP
-.B refuse-chap
-With this option, pppd will not agree to authenticate itself to the
-peer using CHAP.
-.TP
-.B refuse-pap
-With this option, pppd will not agree to authenticate itself to the
-peer using PAP.
-.TP
-.B require-chap
-Require the peer to authenticate itself using CHAP [Challenge
-Handshake Authentication Protocol] authentication.
-.TP
-.B require-pap
-Require the peer to authenticate itself using PAP [Password
-Authentication Protocol] authentication.
-.TP
-.B show-password
-When logging the contents of PAP packets, this option causes pppd to
-show the password string in the log message.
-.TP
-.B silent
-With this option, pppd will not transmit LCP packets to initiate a
-connection until a valid LCP packet is received from the peer (as for
-the `passive' option with ancient versions of pppd).
-.TP
-.B sync
-Use synchronous HDLC serial encoding instead of asynchronous.
-The device used by pppd with this option must have sync support.
-Currently supports Microgate SyncLink adapters
-under Linux and FreeBSD 2.2.8 and later.
-.TP
-.B updetach
-With this option, pppd will detach from its controlling terminal once
-it has successfully established the ppp connection (to the point where
-the first network control protocol, usually the IP control protocol,
-has come up).
-.TP
-.B usehostname
-Enforce the use of the hostname (with domain name appended, if given)
-as the name of the local system for authentication purposes (overrides
-the \fIname\fR option). This option is not normally needed since the
-\fIname\fR option is privileged.
-.TP
-.B usepeerdns
-Ask the peer for up to 2 DNS server addresses. The addresses supplied
-by the peer (if any) are passed to the /etc/ppp/ip-up script in the
-environment variables DNS1 and DNS2. In addition, pppd will create an
-/etc/ppp/resolv.conf file containing one or two nameserver lines with
-the address(es) supplied by the peer.
-.TP
-.B user \fIname
-Sets the name used for authenticating the local system to the peer to
-\fIname\fR.
-.TP
-.B vj-max-slots \fIn
-Sets the number of connection slots to be used by the Van Jacobson
-TCP/IP header compression and decompression code to \fIn\fR, which
-must be between 2 and 16 (inclusive).
-.TP
-.B welcome \fIscript
-Run the executable or shell command specified by \fIscript\fR before
-initiating PPP negotiation, after the connect script (if any) has
-completed. A value for this option from a privileged source cannot be
-overridden by a non-privileged user.
-.TP
-.B xonxoff
-Use software flow control (i.e. XON/XOFF) to control the flow of data on
-the serial port.
-.SH OPTIONS FILES
-Options can be taken from files as well as the command line. Pppd
-reads options from the files /etc/ppp/options, ~/.ppprc and
-/etc/ppp/options.\fIttyname\fR (in that order) before processing the
-options on the command line. (In fact, the command-line options are
-scanned to find the terminal name before the options.\fIttyname\fR
-file is read.) In forming the name of the options.\fIttyname\fR file,
-the initial /dev/ is removed from the terminal name, and any remaining
-/ characters are replaced with dots.
-.PP
-An options file is parsed into a series of words, delimited by
-whitespace. Whitespace can be included in a word by enclosing the
-word in double-quotes ("). A backslash (\\) quotes the following character.
-A hash (#) starts a comment, which continues until the end of the
-line. There is no restriction on using the \fIfile\fR or \fIcall\fR
-options within an options file.
-.SH SECURITY
-.I pppd
-provides system administrators with sufficient access control that PPP
-access to a server machine can be provided to legitimate users without
-fear of compromising the security of the server or the network it's
-on. This control is provided through restrictions on which IP
-addresses the peer may use, based on its authenticated identity (if
-any), and through restrictions on which options a non-privileged user
-may use. Several of pppd's options are privileged, in particular
-those which permit potentially insecure configurations; these options
-are only accepted in files which are under the control of the system
-administrator, or if pppd is being run by root.
-.PP
-The default behaviour of pppd is to allow an unauthenticated peer to
-use a given IP address only if the system does not already have a
-route to that IP address. For example, a system with a
-permanent connection to the wider internet will normally have a
-default route, and thus all peers will have to authenticate themselves
-in order to set up a connection. On such a system, the \fIauth\fR
-option is the default. On the other hand, a system where the
-PPP link is the only connection to the internet will not normally have
-a default route, so the peer will be able to use almost any IP address
-without authenticating itself.
-.PP
-As indicated above, some security-sensitive options are privileged,
-which means that they may not be used by an ordinary non-privileged
-user running a setuid-root pppd, either on the command line, in the
-user's ~/.ppprc file, or in an options file read using the \fIfile\fR
-option. Privileged options may be used in /etc/ppp/options file or in
-an options file read using the \fIcall\fR option. If pppd is being
-run by the root user, privileged options can be used without
-restriction.
-.PP
-When opening the device, pppd uses either the invoking user's user ID
-or the root UID (that is, 0), depending on whether the device name was
-specified by the user or the system administrator. If the device name
-comes from a privileged source, that is, /etc/ppp/options or an
-options file read using the \fIcall\fR option, pppd uses full root
-privileges when opening the device. Thus, by creating an appropriate
-file under /etc/ppp/peers, the system administrator can allow users to
-establish a ppp connection via a device which they would not normally
-have permission to access. Otherwise pppd uses the invoking user's
-real UID when opening the device.
-.SH AUTHENTICATION
-Authentication is the process whereby one peer convinces the other of
-its identity. This involves the first peer sending its name to the
-other, together with some kind of secret information which could only
-come from the genuine authorized user of that name. In such an
-exchange, we will call the first peer the "client" and the other the
-"server". The client has a name by which it identifies itself to the
-server, and the server also has a name by which it identifies itself
-to the client. Generally the genuine client shares some secret (or
-password) with the server, and authenticates itself by proving that it
-knows that secret. Very often, the names used for authentication
-correspond to the internet hostnames of the peers, but this is not
-essential.
-.LP
-At present, pppd supports two authentication protocols: the Password
-Authentication Protocol (PAP) and the Challenge Handshake
-Authentication Protocol (CHAP). PAP involves the client sending its
-name and a cleartext password to the server to authenticate itself.
-In contrast, the server initiates the CHAP authentication exchange by
-sending a challenge to the client (the challenge packet includes the
-server's name). The client must respond with a response which
-includes its name plus a hash value derived from the shared secret and
-the challenge, in order to prove that it knows the secret.
-.LP
-The PPP protocol, being symmetrical, allows both peers to require the
-other to authenticate itself. In that case, two separate and
-independent authentication exchanges will occur. The two exchanges
-could use different authentication protocols, and in principle,
-different names could be used in the two exchanges.
-.LP
-The default behaviour of pppd is to agree to authenticate if
-requested, and to not require authentication from the peer. However,
-pppd will not agree to authenticate itself with a particular protocol
-if it has no secrets which could be used to do so.
-.LP
-Pppd stores secrets for use in authentication in secrets
-files (/etc/ppp/pap-secrets for PAP, /etc/ppp/chap-secrets for CHAP).
-Both secrets files have the same format. The secrets files can
-contain secrets for pppd to use in authenticating itself to other
-systems, as well as secrets for pppd to use when authenticating other
-systems to itself.
-.LP
-Each line in a secrets file contains one secret. A given secret is
-specific to a particular combination of client and server - it can
-only be used by that client to authenticate itself to that server.
-Thus each line in a secrets file has at least 3 fields: the name of
-the client, the name of the server, and the secret. These fields may
-be followed by a list of the IP addresses that the specified client
-may use when connecting to the specified server.
-.LP
-A secrets file is parsed into words as for a options file, so the
-client name, server name and secrets fields must each be one word,
-with any embedded spaces or other special characters quoted or
-escaped. Note that case is significant in the client and server names
-and in the secret.
-.LP
-If the secret starts with an `@', what follows is assumed to be the
-name of a file from which to read the secret. A "*" as the client or
-server name matches any name. When selecting a secret, pppd takes the
-best match, i.e. the match with the fewest wildcards.
-.LP
-Any following words on the same line are taken to be a list of
-acceptable IP addresses for that client. If there are only 3 words on
-the line, or if the first word is "-", then all IP addresses are
-disallowed. To allow any address, use "*". A word starting with "!"
-indicates that the specified address is \fInot\fR acceptable. An
-address may be followed by "/" and a number \fIn\fR, to indicate a
-whole subnet, i.e. all addresses which have the same value in the most
-significant \fIn\fR bits. In this form, the address may be followed
-by a plus sign ("+") to indicate that one address from the subnet is
-authorized, based on the ppp network interface unit number in use.
-In this case, the host part of the address will be set to the unit
-number plus one.
-.LP
-Thus a secrets file contains both secrets for use in authenticating
-other hosts, plus secrets which we use for authenticating ourselves to
-others. When pppd is authenticating the peer (checking the peer's
-identity), it chooses a secret with the peer's name in the first
-field and the name of the local system in the second field. The
-name of the local system defaults to the hostname, with the domain
-name appended if the \fIdomain\fR option is used. This default can be
-overridden with the \fIname\fR option, except when the
-\fIusehostname\fR option is used.
-.LP
-When pppd is choosing a secret to use in authenticating itself to the
-peer, it first determines what name it is going to use to identify
-itself to the peer. This name can be specified by the user with the
-\fIuser\fR option. If this option is not used, the name defaults to
-the name of the local system, determined as described in the previous
-paragraph. Then pppd looks for a secret with this name in the first
-field and the peer's name in the second field. Pppd will know the
-name of the peer if CHAP authentication is being used, because the
-peer will have sent it in the challenge packet. However, if PAP is being
-used, pppd will have to determine the peer's name from the options
-specified by the user. The user can specify the peer's name directly
-with the \fIremotename\fR option. Otherwise, if the remote IP address
-was specified by a name (rather than in numeric form), that name will
-be used as the peer's name. Failing that, pppd will use the null
-string as the peer's name.
-.LP
-When authenticating the peer with PAP, the supplied password is first
-compared with the secret from the secrets file. If the password
-doesn't match the secret, the password is encrypted using crypt() and
-checked against the secret again. Thus secrets for authenticating the
-peer can be stored in encrypted form if desired. If the
-\fIpapcrypt\fR option is given, the first (unencrypted) comparison is
-omitted, for better security.
-.LP
-Furthermore, if the \fIlogin\fR option was specified, the username and
-password are also checked against the system password database. Thus,
-the system administrator can set up the pap-secrets file to allow PPP
-access only to certain users, and to restrict the set of IP addresses
-that each user can use. Typically, when using the \fIlogin\fR option,
-the secret in /etc/ppp/pap-secrets would be "", which will match any
-password supplied by the peer. This avoids the need to have the same
-secret in two places.
-.LP
-Authentication must be satisfactorily completed before IPCP (or any
-other Network Control Protocol) can be started. If the peer is
-required to authenticate itself, and fails to do so, pppd will
-terminated the link (by closing LCP). If IPCP negotiates an
-unacceptable IP address for the remote host, IPCP will be closed. IP
-packets can only be sent or received when IPCP is open.
-.LP
-In some cases it is desirable to allow some hosts which can't
-authenticate themselves to connect and use one of a restricted set of
-IP addresses, even when the local host generally requires
-authentication. If the peer refuses to authenticate itself when
-requested, pppd takes that as equivalent to authenticating with PAP
-using the empty string for the username and password. Thus, by adding
-a line to the pap-secrets file which specifies the empty string for
-the client and password, it is possible to allow restricted access to
-hosts which refuse to authenticate themselves.
-.SH ROUTING
-.LP
-When IPCP negotiation is completed successfully, pppd will inform the
-kernel of the local and remote IP addresses for the ppp interface.
-This is sufficient to create a host route to the remote end of the
-link, which will enable the peers to exchange IP packets.
-Communication with other machines generally requires further
-modification to routing tables and/or ARP (Address Resolution
-Protocol) tables. In most cases the \fIdefaultroute\fR and/or
-\fIproxyarp\fR options are sufficient for this, but in some cases
-further intervention is required. The /etc/ppp/ip-up script can be
-used for this.
-.LP
-Sometimes it is desirable to add a default route through the remote
-host, as in the case of a machine whose only connection to the
-Internet is through the ppp interface. The \fIdefaultroute\fR option
-causes pppd to create such a default route when IPCP comes up, and
-delete it when the link is terminated.
-.LP
-In some cases it is desirable to use proxy ARP, for example on a
-server machine connected to a LAN, in order to allow other hosts to
-communicate with the remote host. The \fIproxyarp\fR option causes
-pppd to look for a network interface on the same subnet as the remote
-host (an interface supporting broadcast and ARP, which is up and not a
-point-to-point or loopback interface). If found, pppd creates a
-permanent, published ARP entry with the IP address of the remote host
-and the hardware address of the network interface found.
-.LP
-When the \fIdemand\fR option is used, the interface IP addresses have
-already been set at the point when IPCP comes up. If pppd has not
-been able to negotiate the same addresses that it used to configure
-the interface (for example when the peer is an ISP that uses dynamic
-IP address assignment), pppd has to change the interface IP addresses
-to the negotiated addresses. This may disrupt existing connections,
-and the use of demand dialling with peers that do dynamic IP address
-assignment is not recommended.
-.SH MULTILINK
-Multilink PPP provides the capability to combine two or more PPP links
-between a pair of machines into a single `bundle', which appears as a
-single virtual PPP link which has the combined bandwidth of the
-individual links. Currently, multilink PPP is only supported under
-Linux.
-.LP
-Pppd detects that the link it is controlling is connected to the same
-peer as another link using the peer's endpoint discriminator and the
-authenticated identity of the peer (if it authenticates itself). The
-endpoint discriminator is a block of data which is hopefully unique
-for each peer. Several types of data can be used, including
-locally-assigned strings of bytes, IP addresses, MAC addresses,
-randomly strings of bytes, or E-164 phone numbers. The endpoint
-discriminator sent to the peer by pppd can be set using the endpoint
-option.
-.LP
-In circumstances the peer may send no endpoint discriminator or a
-non-unique value. The optional bundle option adds an extra string
-which is added to the peer's endpoint discriminator and authenticated
-identity when matching up links to be joined together in a bundle.
-The bundle option can also be used to allow the establishment of
-multiple bundles between the local system and the peer. Pppd uses a
-TDB database in /var/run/pppd.tdb to match up links.
-.LP
-Assuming that multilink is enabled and the peer is willing to
-negotiate multilink, then when pppd is invoked to bring up the first
-link to the peer, it will detect that no other link is connected to
-the peer and create a new bundle, that is, another ppp network
-interface unit. When another pppd is invoked to bring up another link
-to the peer, it will detect the existing bundle and join its link to
-it. Currently, if the first pppd terminates (for example, because of
-a hangup or a received signal) the bundle is destroyed.
-.SH EXAMPLES
-.LP
-The following examples assume that the /etc/ppp/options file contains
-the \fIauth\fR option (as in the default /etc/ppp/options file in the
-ppp distribution).
-.LP
-Probably the most common use of pppd is to dial out to an ISP. This
-can be done with a command such as
-.IP
-pppd call isp
-.LP
-where the /etc/ppp/peers/isp file is set up by the system
-administrator to contain something like this:
-.IP
-ttyS0 19200 crtscts
-.br
-connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
-.br
-noauth
-.LP
-In this example, we are using chat to dial the ISP's modem and go
-through any logon sequence required. The /etc/ppp/chat-isp file
-contains the script used by chat; it could for example contain
-something like this:
-.IP
-ABORT "NO CARRIER"
-.br
-ABORT "NO DIALTONE"
-.br
-ABORT "ERROR"
-.br
-ABORT "NO ANSWER"
-.br
-ABORT "BUSY"
-.br
-ABORT "Username/Password Incorrect"
-.br
-"" "at"
-.br
-OK "at&d0&c1"
-.br
-OK "atdt2468135"
-.br
-"name:" "^Umyuserid"
-.br
-"word:" "\\qmypassword"
-.br
-"ispts" "\\q^Uppp"
-.br
-"~-^Uppp-~"
-.LP
-See the chat(8) man page for details of chat scripts.
-.LP
-Pppd can also be used to provide a dial-in ppp service for users. If
-the users already have login accounts, the simplest way to set up the
-ppp service is to let the users log in to their accounts and run pppd
-(installed setuid-root) with a command such as
-.IP
-pppd proxyarp
-.LP
-To allow a user to use the PPP facilities, you need to allocate an IP
-address for that user's machine and create an entry in
-/etc/ppp/pap-secrets or /etc/ppp/chap-secrets (depending on which
-authentication method the PPP implementation on the user's machine
-supports), so that the user's
-machine can authenticate itself. For example, if Joe has a machine
-called "joespc" which is to be allowed to dial in to the machine
-called "server" and use the IP address joespc.my.net, you would add an
-entry like this to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
-.IP
-joespc server "joe's secret" joespc.my.net
-.LP
-Alternatively, you can create a username called (for example) "ppp",
-whose login shell is pppd and whose home directory is /etc/ppp.
-Options to be used when pppd is run this way can be put in
-/etc/ppp/.ppprc.
-.LP
-If your serial connection is any more complicated than a piece of
-wire, you may need to arrange for some control characters to be
-escaped. In particular, it is often useful to escape XON (^Q) and
-XOFF (^S), using \fIasyncmap a0000\fR. If the path includes a telnet,
-you probably should escape ^] as well (\fIasyncmap 200a0000\fR). If
-the path includes an rlogin, you will need to use the \fIescape ff\fR
-option on the end which is running the rlogin client, since many
-rlogin implementations are not transparent; they will remove the
-sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the
-stream.
-.SH DIAGNOSTICS
-.LP
-Messages are sent to the syslog daemon using facility LOG_DAEMON.
-(This can be overriden by recompiling pppd with the macro
-LOG_PPP defined as the desired facility.) In order to see the error
-and debug messages, you will need to edit your /etc/syslog.conf file
-to direct the messages to the desired output device or file.
-.LP
-The \fIdebug\fR option causes the contents of all control packets sent
-or received to be logged, that is, all LCP, PAP, CHAP or IPCP packets.
-This can be useful if the PPP negotiation does not succeed or if
-authentication fails.
-If debugging is enabled at compile time, the \fIdebug\fR option also
-causes other debugging messages to be logged.
-.LP
-Debugging can also be enabled or disabled by sending a SIGUSR1 signal
-to the pppd process. This signal acts as a toggle.
-.SH EXIT STATUS
-The exit status of pppd is set to indicate whether any error was
-detected, or the reason for the link being terminated. The values
-used are:
-.TP
-.B 0
-Pppd has detached, or otherwise the connection was successfully
-established and terminated at the peer's request.
-.TP
-.B 1
-An immediately fatal error of some kind occurred, such as an essential
-system call failing, or running out of virtual memory.
-.TP
-.B 2
-An error was detected in processing the options given, such as two
-mutually exclusive options being used.
-.TP
-.B 3
-Pppd is not setuid-root and the invoking user is not root.
-.TP
-.B 4
-The kernel does not support PPP, for example, the PPP kernel driver is
-not included or cannot be loaded.
-.TP
-.B 5
-Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP
-signal.
-.TP
-.B 6
-The serial port could not be locked.
-.TP
-.B 7
-The serial port could not be opened.
-.TP
-.B 8
-The connect script failed (returned a non-zero exit status).
-.TP
-.B 9
-The command specified as the argument to the \fIpty\fR option could
-not be run.
-.TP
-.B 10
-The PPP negotiation failed, that is, it didn't reach the point where
-at least one network protocol (e.g. IP) was running.
-.TP
-.B 11
-The peer system failed (or refused) to authenticate itself.
-.TP
-.B 12
-The link was established successfully and terminated because it was
-idle.
-.TP
-.B 13
-The link was established successfully and terminated because the
-connect time limit was reached.
-.TP
-.B 14
-Callback was negotiated and an incoming call should arrive shortly.
-.TP
-.B 15
-The link was terminated because the peer is not responding to echo
-requests.
-.TP
-.B 16
-The link was terminated by the modem hanging up.
-.TP
-.B 17
-The PPP negotiation failed because serial loopback was detected.
-.TP
-.B 18
-The init script failed (returned a non-zero exit status).
-.TP
-.B 19
-We failed to authenticate ourselves to the peer.
-.SH SCRIPTS
-Pppd invokes scripts at various stages in its processing which can be
-used to perform site-specific ancillary processing. These scripts are
-usually shell scripts, but could be executable code files instead.
-Pppd does not wait for the scripts to finish. The scripts are
-executed as root (with the real and effective user-id set to 0), so
-that they can do things such as update routing tables or run
-privileged daemons. Be careful that the contents of these scripts do
-not compromise your system's security. Pppd runs the scripts with
-standard input, output and error redirected to /dev/null, and with an
-environment that is empty except for some environment variables that
-give information about the link. The environment variables that pppd
-sets are:
-.TP
-.B DEVICE
-The name of the serial tty device being used.
-.TP
-.B IFNAME
-The name of the network interface being used.
-.TP
-.B IPLOCAL
-The IP address for the local end of the link. This is only set when
-IPCP has come up.
-.TP
-.B IPREMOTE
-The IP address for the remote end of the link. This is only set when
-IPCP has come up.
-.TP
-.B PEERNAME
-The authenticated name of the peer. This is only set if the peer
-authenticates itself.
-.TP
-.B SPEED
-The baud rate of the tty device.
-.TP
-.B ORIG_UID
-The real user-id of the user who invoked pppd.
-.TP
-.B PPPLOGNAME
-The username of the real user-id that invoked pppd. This is always set.
-.P
-For the ip-down and auth-down scripts, pppd also sets the following
-variables giving statistics for the connection:
-.TP
-.B CONNECT_TIME
-The number of seconds from when the PPP negotiation started until the
-connection was terminated.
-.TP
-.B BYTES_SENT
-The number of bytes sent (at the level of the serial port) during the
-connection.
-.TP
-.B BYTES_RCVD
-The number of bytes received (at the level of the serial port) during
-the connection.
-.TP
-.B LINKNAME
-The logical name of the link, set with the \fIlinkname\fR option.
-.P
-Pppd invokes the following scripts, if they exist. It is not an error
-if they don't exist.
-.TP
-.B /etc/ppp/auth-up
-A program or script which is executed after the remote system
-successfully authenticates itself. It is executed with the parameters
-.IP
-\fIinterface-name peer-name user-name tty-device speed\fR
-.IP
-Note that this script is not executed if the peer doesn't authenticate
-itself, for example when the \fInoauth\fR option is used.
-.TP
-.B /etc/ppp/auth-down
-A program or script which is executed when the link goes down, if
-/etc/ppp/auth-up was previously executed. It is executed in the same
-manner with the same parameters as /etc/ppp/auth-up.
-.TP
-.B /etc/ppp/ip-up
-A program or script which is executed when the link is available for
-sending and receiving IP packets (that is, IPCP has come up). It is
-executed with the parameters
-.IP
-\fIinterface-name tty-device speed local-IP-address
-remote-IP-address ipparam\fR
-.TP
-.B /etc/ppp/ip-down
-A program or script which is executed when the link is no longer
-available for sending and receiving IP packets. This script can be
-used for undoing the effects of the /etc/ppp/ip-up script. It is
-invoked in the same manner and with the same parameters as the ip-up
-script.
-.TP
-.B /etc/ppp/ipv6-up
-Like /etc/ppp/ip-up, except that it is executed when the link is available
-for sending and receiving IPv6 packets. It is executed with the parameters
-.IP
-\fIinterface-name tty-device speed local-link-local-address
-remote-link-local-address ipparam\fR
-.TP
-.B /etc/ppp/ipv6-down
-Similar to /etc/ppp/ip-down, but it is executed when IPv6 packets can no
-longer be transmitted on the link. It is executed with the same parameters
-as the ipv6-up script.
-.TP
-.B /etc/ppp/ipx-up
-A program or script which is executed when the link is available for
-sending and receiving IPX packets (that is, IPXCP has come up). It is
-executed with the parameters
-.IP
-\fIinterface-name tty-device speed network-number local-IPX-node-address
-remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
-local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
-.IP
-The local-IPX-routing-protocol and remote-IPX-routing-protocol field
-may be one of the following:
-.IP
-NONE to indicate that there is no routing protocol
-.br
-RIP to indicate that RIP/SAP should be used
-.br
-NLSP to indicate that Novell NLSP should be used
-.br
-RIP NLSP to indicate that both RIP/SAP and NLSP should be used
-.TP
-.B /etc/ppp/ipx-down
-A program or script which is executed when the link is no longer
-available for sending and receiving IPX packets. This script can be
-used for undoing the effects of the /etc/ppp/ipx-up script. It is
-invoked in the same manner and with the same parameters as the ipx-up
-script.
-.SH FILES
-.TP
-.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
-Process-ID for pppd process on ppp interface unit \fIn\fR.
-.TP
-.B /var/run/ppp-\fIname\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp-\fIname\fB.pid \fR(others)
-Process-ID for pppd process for logical link \fIname\fR (see the
-\fIlinkname\fR option).
-.TP
-.B /etc/ppp/pap-secrets
-Usernames, passwords and IP addresses for PAP authentication. This
-file should be owned by root and not readable or writable by any other
-user. Pppd will log a warning if this is not the case.
-.TP
-.B /etc/ppp/chap-secrets
-Names, secrets and IP addresses for CHAP authentication. As for
-/etc/ppp/pap-secrets, this file should be owned by root and not
-readable or writable by any other user. Pppd will log a warning if
-this is not the case.
-.TP
-.B /etc/ppp/options
-System default options for pppd, read before user default options or
-command-line options.
-.TP
-.B ~/.ppprc
-User default options, read before /etc/ppp/options.\fIttyname\fR.
-.TP
-.B /etc/ppp/options.\fIttyname
-System default options for the serial port being used, read after
-~/.ppprc. In forming the \fIttyname\fR part of this
-filename, an initial /dev/ is stripped from the port name (if
-present), and any slashes in the remaining part are converted to
-dots.
-.TP
-.B /etc/ppp/peers
-A directory containing options files which may contain privileged
-options, even if pppd was invoked by a user other than root. The
-system administrator can create options files in this directory to
-permit non-privileged users to dial out without requiring the peer to
-authenticate, but only to certain trusted peers.
-.SH SEE ALSO
-.TP
-.B RFC1144
-Jacobson, V.
-\fICompressing TCP/IP headers for low-speed serial links.\fR
-February 1990.
-.TP
-.B RFC1321
-Rivest, R.
-.I The MD5 Message-Digest Algorithm.
-April 1992.
-.TP
-.B RFC1332
-McGregor, G.
-.I PPP Internet Protocol Control Protocol (IPCP).
-May 1992.
-.TP
-.B RFC1334
-Lloyd, B.; Simpson, W.A.
-.I PPP authentication protocols.
-October 1992.
-.TP
-.B RFC1661
-Simpson, W.A.
-.I The Point\-to\-Point Protocol (PPP).
-July 1994.
-.TP
-.B RFC1662
-Simpson, W.A.
-.I PPP in HDLC-like Framing.
-July 1994.
-.TP
-.B RFC2472
-Haskin, D.
-.I IP Version 6 over PPP
-December 1998.
-.SH NOTES
-The following signals have the specified effect when sent to pppd.
-.TP
-.B SIGINT, SIGTERM
-These signals cause pppd to terminate the link (by closing LCP),
-restore the serial device settings, and exit.
-.TP
-.B SIGHUP
-This signal causes pppd to terminate the link, restore the serial
-device settings, and close the serial device. If the \fIpersist\fR or
-\fIdemand\fR option has been specified, pppd will try to reopen the
-serial device and start another connection (after the holdoff period).
-Otherwise pppd will exit. If this signal is received during the
-holdoff period, it causes pppd to end the holdoff period immediately.
-.TP
-.B SIGUSR1
-This signal toggles the state of the \fIdebug\fR option.
-.TP
-.B SIGUSR2
-This signal causes pppd to renegotiate compression. This can be
-useful to re-enable compression after it has been disabled as a result
-of a fatal decompression error. (Fatal decompression errors generally
-indicate a bug in one or other implementation.)
-
-.SH AUTHORS
-Paul Mackerras (Paul.Mackerras@cs.anu.edu.au), based on earlier work by
-Drew Perkins,
-Brad Clements,
-Karl Fox,
-Greg Christy,
-and
-Brad Parker.
diff --git a/mdk-stage1/ppp/pppd/pppd.h b/mdk-stage1/ppp/pppd/pppd.h
deleted file mode 100644
index 02f6dfcef..000000000
--- a/mdk-stage1/ppp/pppd/pppd.h
+++ /dev/null
@@ -1,787 +0,0 @@
-/*
- * pppd.h - PPP daemon global declarations.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * TODO:
- */
-
-#ifndef __PPPD_H__
-#define __PPPD_H__
-
-#include <stdio.h> /* for FILE */
-#include <limits.h> /* for NGROUPS_MAX */
-#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
-#include <sys/types.h> /* for u_int32_t, if defined */
-#include <sys/time.h> /* for struct timeval */
-#include <net/ppp_defs.h>
-#include "patchlevel.h"
-
-#if defined(__STDC__)
-#include <stdarg.h>
-#define __V(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define const
-#define volatile
-#endif
-
-#ifdef INET6
-#include "eui64.h"
-#endif
-
-/*
- * Limits.
- */
-
-#define NUM_PPP 1 /* One PPP interface supported (per process) */
-#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
-#define MAXARGS 1 /* max # args to a command */
-#define MAXNAMELEN 256 /* max length of hostname or name for auth */
-#define MAXSECRETLEN 256 /* max length of password or secret */
-
-/*
- * Option descriptor structure.
- */
-
-typedef unsigned char bool;
-
-enum opt_type {
- o_special_noarg = 0,
- o_special = 1,
- o_bool,
- o_int,
- o_uint32,
- o_string,
- o_wild,
-};
-
-typedef struct {
- char *name; /* name of the option */
- enum opt_type type;
- void *addr;
- char *description;
- int flags;
- void *addr2;
- int upper_limit;
- int lower_limit;
- const char *source;
- short int priority;
- short int winner;
-} option_t;
-
-/* Values for flags */
-#define OPT_VALUE 0xff /* mask for presupplied value */
-#define OPT_HEX 0x100 /* int option is in hex */
-#define OPT_NOARG 0x200 /* option doesn't take argument */
-#define OPT_OR 0x400 /* OR in argument to value */
-#define OPT_INC 0x800 /* increment value */
-#define OPT_PRIV 0x1000 /* privileged option */
-#define OPT_STATIC 0x2000 /* string option goes into static array */
-#define OPT_LLIMIT 0x4000 /* check value against lower limit */
-#define OPT_ULIMIT 0x8000 /* check value against upper limit */
-#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
-#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
-#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
-#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
-#define OPT_NOINCR 0x20000 /* value mustn't be increased */
-#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
-#define OPT_PRIO 0x80000 /* process option priorities for this option */
-#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
-#define OPT_ALIAS 0x200000 /* option is alias for previous option */
-#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
-#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
-#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
-#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
-#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
-#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
-#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
-#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
-#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
-#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
-
-#define OPT_VAL(x) ((x) & OPT_VALUE)
-
-/* Values for priority */
-#define OPRIO_DEFAULT 0 /* a default value */
-#define OPRIO_CFGFILE 1 /* value from a configuration file */
-#define OPRIO_CMDLINE 2 /* value from the command line */
-#define OPRIO_SECFILE 3 /* value from options in a secrets file */
-#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
-
-#ifndef GIDSET_TYPE
-#define GIDSET_TYPE gid_t
-#endif
-
-/* Structure representing a list of permitted IP addresses. */
-struct permitted_ip {
- int permit; /* 1 = permit, 0 = forbid */
- u_int32_t base; /* match if (addr & mask) == base */
- u_int32_t mask; /* base and mask are in network byte order */
-};
-
-/*
- * Unfortunately, the linux kernel driver uses a different structure
- * for statistics from the rest of the ports.
- * This structure serves as a common representation for the bits
- * pppd needs.
- */
-struct pppd_stats {
- unsigned int bytes_in;
- unsigned int bytes_out;
-};
-
-/* Used for storing a sequence of words. Usually malloced. */
-struct wordlist {
- struct wordlist *next;
- char *word;
-};
-
-/* An endpoint discriminator, used with multilink. */
-#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
-struct epdisc {
- unsigned char class;
- unsigned char length;
- unsigned char value[MAX_ENDP_LEN];
-};
-
-/* values for epdisc.class */
-#define EPD_NULL 0 /* null discriminator, no data */
-#define EPD_LOCAL 1
-#define EPD_IP 2
-#define EPD_MAC 3
-#define EPD_MAGIC 4
-#define EPD_PHONENUM 5
-
-typedef void (*notify_func) __P((void *, int));
-
-struct notifier {
- struct notifier *next;
- notify_func func;
- void *arg;
-};
-
-/*
- * Global variables.
- */
-
-extern int hungup; /* Physical layer has disconnected */
-extern int ifunit; /* Interface unit number */
-extern char ifname[]; /* Interface name */
-extern char hostname[]; /* Our hostname */
-extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
-extern int phase; /* Current state of link - see values below */
-extern int baud_rate; /* Current link speed in bits/sec */
-extern char *progname; /* Name of this program */
-extern int redirect_stderr;/* Connector's stderr should go to file */
-extern char peer_authname[];/* Authenticated name of peer */
-extern int privileged; /* We were run by real-uid root */
-extern int need_holdoff; /* Need holdoff period after link terminates */
-extern char **script_env; /* Environment variables for scripts */
-extern int detached; /* Have detached from controlling tty */
-extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
-extern int ngroups; /* How many groups valid in groups */
-extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
-extern int link_stats_valid; /* set if link_stats is valid */
-extern int link_connect_time; /* time the link was up for */
-extern int using_pty; /* using pty as device (notty or pty opt.) */
-extern int log_to_fd; /* logging to this fd as well as syslog */
-extern bool log_default; /* log_to_fd is default (stdout) */
-extern char *no_ppp_msg; /* message to print if ppp not in kernel */
-extern volatile int status; /* exit status for pppd */
-extern bool devnam_fixed; /* can no longer change devnam */
-extern int unsuccess; /* # unsuccessful connection attempts */
-extern int do_callback; /* set if we want to do callback next */
-extern int doing_callback; /* set if this is a callback */
-extern char ppp_devnam[MAXPATHLEN];
-extern struct notifier *pidchange; /* for notifications of pid changing */
-extern struct notifier *phasechange; /* for notifications of phase changes */
-extern struct notifier *exitnotify; /* for notification that we're exiting */
-extern struct notifier *sigreceived; /* notification of received signal */
-extern int listen_time; /* time to listen first (ms) */
-
-/* Values for do_callback and doing_callback */
-#define CALLBACK_DIALIN 1 /* we are expecting the call back */
-#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
-
-/*
- * Variables set by command-line options.
- */
-
-extern int debug; /* Debug flag */
-extern int kdebugflag; /* Tell kernel to print debug messages */
-extern int default_device; /* Using /dev/tty or equivalent */
-extern char devnam[MAXPATHLEN]; /* Device name */
-extern int crtscts; /* Use hardware flow control */
-extern bool modem; /* Use modem control lines */
-extern int inspeed; /* Input/Output speed requested */
-extern u_int32_t netmask; /* IP netmask to set on interface */
-extern bool lockflag; /* Create lock file to lock the serial dev */
-extern bool nodetach; /* Don't detach from controlling tty */
-extern bool updetach; /* Detach from controlling tty when link up */
-extern char *initializer; /* Script to initialize physical link */
-extern char *connect_script; /* Script to establish physical link */
-extern char *disconnect_script; /* Script to disestablish physical link */
-extern char *welcomer; /* Script to welcome client after connection */
-extern char *ptycommand; /* Command to run on other side of pty */
-extern int maxconnect; /* Maximum connect time (seconds) */
-extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
-extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
-extern bool auth_required; /* Peer is required to authenticate */
-extern bool persist; /* Reopen link after it goes down */
-extern bool uselogin; /* Use /etc/passwd for checking PAP */
-extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
-extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-extern bool explicit_remote;/* remote_name specified with remotename opt */
-extern bool demand; /* Do dial-on-demand */
-extern char *ipparam; /* Extra parameter for ip up/down scripts */
-extern bool cryptpap; /* Others' PAP passwords are encrypted */
-extern int idle_time_limit;/* Shut down link if idle for this long */
-extern int holdoff; /* Dead time before restarting */
-extern bool holdoff_specified; /* true if user gave a holdoff value */
-extern bool notty; /* Stdin/out is not a tty */
-extern char *pty_socket; /* Socket to connect to pty */
-extern char *record_file; /* File to record chars sent/received */
-extern bool sync_serial; /* Device is synchronous serial device */
-extern int maxfail; /* Max # of unsuccessful connection attempts */
-extern char linkname[MAXPATHLEN]; /* logical name for link */
-extern bool tune_kernel; /* May alter kernel settings as necessary */
-extern int connect_delay; /* Time to delay after connect script */
-extern int max_data_rate; /* max bytes/sec through charshunt */
-extern int req_unit; /* interface unit number to use */
-extern bool multilink; /* enable multilink operation */
-extern bool noendpoint; /* don't send or accept endpt. discrim. */
-extern char *bundle_name; /* bundle name for multilink */
-extern bool dump_options; /* print out option values */
-extern bool dryrun; /* check everything, print options, exit */
-
-#ifdef PPP_FILTER
-extern struct bpf_program pass_filter; /* Filter for pkts to pass */
-extern struct bpf_program active_filter; /* Filter for link-active pkts */
-#endif
-
-#ifdef MSLANMAN
-extern bool ms_lanman; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-extern char *current_option; /* the name of the option being parsed */
-extern int privileged_option; /* set iff the current option came from root */
-extern char *option_source; /* string saying where the option came from */
-extern int option_priority; /* priority of current options */
-
-/*
- * Values for phase.
- */
-#define PHASE_DEAD 0
-#define PHASE_INITIALIZE 1
-#define PHASE_SERIALCONN 2
-#define PHASE_DORMANT 3
-#define PHASE_ESTABLISH 4
-#define PHASE_AUTHENTICATE 5
-#define PHASE_CALLBACK 6
-#define PHASE_NETWORK 7
-#define PHASE_RUNNING 8
-#define PHASE_TERMINATE 9
-#define PHASE_DISCONNECT 10
-#define PHASE_HOLDOFF 11
-
-/*
- * The following struct gives the addresses of procedures to call
- * for a particular protocol.
- */
-struct protent {
- u_short protocol; /* PPP protocol number */
- /* Initialization procedure */
- void (*init) __P((int unit));
- /* Process a received packet */
- void (*input) __P((int unit, u_char *pkt, int len));
- /* Process a received protocol-reject */
- void (*protrej) __P((int unit));
- /* Lower layer has come up */
- void (*lowerup) __P((int unit));
- /* Lower layer has gone down */
- void (*lowerdown) __P((int unit));
- /* Open the protocol */
- void (*open) __P((int unit));
- /* Close the protocol */
- void (*close) __P((int unit, char *reason));
- /* Print a packet in readable form */
- int (*printpkt) __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
- /* Process a received data packet */
- void (*datainput) __P((int unit, u_char *pkt, int len));
- bool enabled_flag; /* 0 iff protocol is disabled */
- char *name; /* Text name of protocol */
- char *data_name; /* Text name of corresponding data protocol */
- option_t *options; /* List of command-line options */
- /* Check requested options, assign defaults */
- void (*check_options) __P((void));
- /* Configure interface for demand-dial */
- int (*demand_conf) __P((int unit));
- /* Say whether to bring up link for this pkt */
- int (*active_pkt) __P((u_char *pkt, int len));
-};
-
-/* Table of pointers to supported protocols */
-extern struct protent *protocols[];
-
-/*
- * This struct contains pointers to a set of procedures for
- * doing operations on a "channel". A channel provides a way
- * to send and receive PPP packets - the canonical example is
- * a serial port device in PPP line discipline (or equivalently
- * with PPP STREAMS modules pushed onto it).
- */
-struct channel {
- /* set of options for this channel */
- option_t *options;
- /* find and process a per-channel options file */
- void (*process_extra_options) __P((void));
- /* check all the options that have been given */
- void (*check_options) __P((void));
- /* get the channel ready to do PPP, return a file descriptor */
- int (*connect) __P((void));
- /* we're finished with the channel */
- void (*disconnect) __P((void));
- /* put the channel into PPP `mode' */
- int (*establish_ppp) __P((int));
- /* take the channel out of PPP `mode', restore loopback if demand */
- void (*disestablish_ppp) __P((int));
- /* set the transmit-side PPP parameters of the channel */
- void (*send_config) __P((int, u_int32_t, int, int));
- /* set the receive-side PPP parameters of the channel */
- void (*recv_config) __P((int, u_int32_t, int, int));
- /* cleanup on error or normal exit */
- void (*cleanup) __P((void));
- /* close the device, called in children after fork */
- void (*close) __P((void));
-};
-
-extern struct channel *the_channel;
-
-#define ppp_send_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-#define ppp_recv_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-/*
- * Prototypes.
- */
-
-/* Procedures exported from main.c. */
-void set_ifunit __P((int)); /* set stuff that depends on ifunit */
-void detach __P((void)); /* Detach from controlling tty */
-void die __P((int)); /* Cleanup and exit */
-void quit __P((void)); /* like die(1) */
-void novm __P((char *)); /* Say we ran out of memory, and die */
-void timeout __P((void (*func)(void *), void *arg, int s, int us));
- /* Call func(arg) after s.us seconds */
-void untimeout __P((void (*func)(void *), void *arg));
- /* Cancel call to func(arg) */
-void record_child __P((int, char *, void (*) (void *), void *));
-int device_script __P((char *cmd, int in, int out, int dont_wait));
- /* Run `cmd' with given stdin and stdout */
-pid_t run_program __P((char *prog, char **args, int must_exist,
- void (*done)(void *), void *arg));
- /* Run program prog with args in child */
-void reopen_log __P((void)); /* (re)open the connection to syslog */
-void update_link_stats __P((int)); /* Get stats at link termination */
-void script_setenv __P((char *, char *, int)); /* set script env var */
-void script_unsetenv __P((char *)); /* unset script env var */
-void new_phase __P((int)); /* signal start of new phase */
-void add_notifier __P((struct notifier **, notify_func, void *));
-void remove_notifier __P((struct notifier **, notify_func, void *));
-void notify __P((struct notifier *, int));
-
-/* Procedures exported from tty.c. */
-void tty_init __P((void));
-
-/* Procedures exported from utils.c. */
-void log_packet __P((u_char *, int, char *, int));
- /* Format a packet and log it with syslog */
-void print_string __P((char *, int, void (*) (void *, char *, ...),
- void *)); /* Format a string for output */
-int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
-int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
-size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
-size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
-void dbglog __P((char *, ...)); /* log a debug message */
-void info __P((char *, ...)); /* log an informational message */
-void notice __P((char *, ...)); /* log a notice-level message */
-void warn __P((char *, ...)); /* log a warning message */
-void error __P((char *, ...)); /* log an error message */
-void fatal __P((char *, ...)); /* log an error message and die(1) */
-void init_pr_log __P((char *, int)); /* initialize for using pr_log */
-void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
-void end_pr_log __P((void)); /* finish up after using pr_log */
-
-/* Procedures exported from auth.c */
-void link_required __P((int)); /* we are starting to use the link */
-void link_terminated __P((int)); /* we are finished with the link */
-void link_down __P((int)); /* the LCP layer has left the Opened state */
-void link_established __P((int)); /* the link is up; authenticate now */
-void start_networks __P((void)); /* start all the network control protos */
-void np_up __P((int, int)); /* a network protocol has come up */
-void np_down __P((int, int)); /* a network protocol has gone down */
-void np_finished __P((int, int)); /* a network protocol no longer needs link */
-void auth_peer_fail __P((int, int));
- /* peer failed to authenticate itself */
-void auth_peer_success __P((int, int, char *, int));
- /* peer successfully authenticated itself */
-void auth_withpeer_fail __P((int, int));
- /* we failed to authenticate ourselves */
-void auth_withpeer_success __P((int, int));
- /* we successfully authenticated ourselves */
-void auth_check_options __P((void));
- /* check authentication options supplied */
-void auth_reset __P((int)); /* check what secrets we have */
-int check_passwd __P((int, char *, int, char *, int, char **));
- /* Check peer-supplied username/password */
-int get_secret __P((int, char *, char *, char *, int *, int));
- /* get "secret" for chap */
-int auth_ip_addr __P((int, u_int32_t));
- /* check if IP address is authorized */
-int bad_ip_adrs __P((u_int32_t));
- /* check if IP address is unreasonable */
-
-/* Procedures exported from demand.c */
-void demand_conf __P((void)); /* config interface(s) for demand-dial */
-void demand_block __P((void)); /* set all NPs to queue up packets */
-void demand_unblock __P((void)); /* set all NPs to pass packets */
-void demand_discard __P((void)); /* set all NPs to discard packets */
-void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
-int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
-int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
-
-/* Procedures exported from multilink.c */
-void mp_check_options __P((void)); /* Check multilink-related options */
-int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
-char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
-int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
-
-/* Procedures exported from sys-*.c */
-void sys_init __P((void)); /* Do system-dependent initialization */
-void sys_cleanup __P((void)); /* Restore system state before exiting */
-int sys_check_options __P((void)); /* Check options specified */
-void sys_close __P((void)); /* Clean up in a child before execing */
-int ppp_available __P((void)); /* Test whether ppp kernel support exists */
-int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
-int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
-int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
-void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
-void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
-int bundle_attach __P((int)); /* Attach link to existing bundle */
-void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
-void clean_check __P((void)); /* Check if line was 8-bit clean */
-void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
-void restore_tty __P((int)); /* Restore port's original parameters */
-void setdtr __P((int, int)); /* Raise or lower port's DTR line */
-void output __P((int, u_char *, int)); /* Output a PPP packet */
-void wait_input __P((struct timeval *));
- /* Wait for input, with timeout */
-void add_fd __P((int)); /* Add fd to set to wait for */
-void remove_fd __P((int)); /* Remove fd from set to wait for */
-int read_packet __P((u_char *)); /* Read PPP packet */
-int get_loop_output __P((void)); /* Read pkts from loopback */
-void tty_send_config __P((int, u_int32_t, int, int));
- /* Configure i/f transmit parameters */
-void tty_set_xaccm __P((ext_accm));
- /* Set extended transmit ACCM */
-void tty_recv_config __P((int, u_int32_t, int, int));
- /* Configure i/f receive parameters */
-int ccp_test __P((int, u_char *, int, int));
- /* Test support for compression scheme */
-void ccp_flags_set __P((int, int, int));
- /* Set kernel CCP state */
-int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
-int get_idle_time __P((int, struct ppp_idle *));
- /* Find out how long link has been idle */
-int get_ppp_stats __P((int, struct pppd_stats *));
- /* Return link statistics */
-void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
-int sifvjcomp __P((int, int, int, int));
- /* Configure VJ TCP header compression */
-int sifup __P((int)); /* Configure i/f up for one protocol */
-int sifnpmode __P((int u, int proto, enum NPmode mode));
- /* Set mode for handling packets for proto */
-int sifdown __P((int)); /* Configure i/f down for one protocol */
-int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
- /* Configure IPv4 addresses for i/f */
-int cifaddr __P((int, u_int32_t, u_int32_t));
- /* Reset i/f IP addresses */
-#ifdef INET6
-int sif6addr __P((int, eui64_t, eui64_t));
- /* Configure IPv6 addresses for i/f */
-int cif6addr __P((int, eui64_t, eui64_t));
- /* Remove an IPv6 address from i/f */
-#endif
-int sifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Create default route through i/f */
-int cifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Delete default route through i/f */
-int sifproxyarp __P((int, u_int32_t));
- /* Add proxy ARP entry for peer */
-int cifproxyarp __P((int, u_int32_t));
- /* Delete proxy ARP entry for peer */
-u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
-int lock __P((char *)); /* Create lock file for device */
-int relock __P((int)); /* Rewrite lock file with new pid */
-void unlock __P((void)); /* Delete previously-created lock file */
-int get_host_seed __P((void)); /* Get host-dependent random number seed */
-int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
-#ifdef PPP_FILTER
-int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
- /* Set filter programs in kernel */
-#endif
-#ifdef IPX_CHANGE
-int sipxfaddr __P((int, unsigned long, unsigned char *));
-int cipxfaddr __P((int));
-#endif
-int get_if_hwaddr __P((u_char *addr, char *name));
-char *get_first_ethernet __P((void));
-
-/* Procedures exported from options.c */
-int parse_args __P((int argc, char **argv));
- /* Parse options from arguments given */
-int options_from_file __P((char *filename, int must_exist, int check_prot,
- int privileged));
- /* Parse options from an options file */
-int options_from_user __P((void)); /* Parse options from user's .ppprc */
-int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
-int options_from_list __P((struct wordlist *, int privileged));
- /* Parse options from a wordlist */
-int getword __P((FILE *f, char *word, int *newlinep, char *filename));
- /* Read a word from a file */
-void option_error __P((char *fmt, ...));
- /* Print an error message about an option */
-int int_option __P((char *, int *));
- /* Simplified number_option for decimal ints */
-void add_options __P((option_t *)); /* Add extra options */
-void check_options __P((void)); /* check values after all options parsed */
-int override_value __P((const char *, int, const char *));
- /* override value if permitted by priority */
-void print_options __P((void (*) __P((void *, char *, ...)), void *));
- /* print out values of all options */
-
-int parse_dotted_ip __P((char *, u_int32_t *));
-
-/*
- * Hooks to enable plugins to change various things.
- */
-extern int (*new_phase_hook) __P((int));
-extern int (*idle_time_hook) __P((struct ppp_idle *));
-extern int (*holdoff_hook) __P((void));
-extern int (*pap_check_hook) __P((void));
-extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts));
-extern void (*pap_logout_hook) __P((void));
-extern int (*pap_passwd_hook) __P((char *user, char *passwd));
-extern void (*ip_up_hook) __P((void));
-extern void (*ip_down_hook) __P((void));
-extern void (*ip_choose_hook) __P((u_int32_t *));
-
-/*
- * Inline versions of get/put char/short/long.
- * Pointer is advanced; we assume that both arguments
- * are lvalues and will already be in registers.
- * cp MUST be u_char *.
- */
-#define GETCHAR(c, cp) { \
- (c) = *(cp)++; \
-}
-#define PUTCHAR(c, cp) { \
- *(cp)++ = (u_char) (c); \
-}
-
-
-#define GETSHORT(s, cp) { \
- (s) = *(cp)++ << 8; \
- (s) |= *(cp)++; \
-}
-#define PUTSHORT(s, cp) { \
- *(cp)++ = (u_char) ((s) >> 8); \
- *(cp)++ = (u_char) (s); \
-}
-
-#define GETLONG(l, cp) { \
- (l) = *(cp)++ << 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; \
-}
-#define PUTLONG(l, cp) { \
- *(cp)++ = (u_char) ((l) >> 24); \
- *(cp)++ = (u_char) ((l) >> 16); \
- *(cp)++ = (u_char) ((l) >> 8); \
- *(cp)++ = (u_char) (l); \
-}
-
-#define INCPTR(n, cp) ((cp) += (n))
-#define DECPTR(n, cp) ((cp) -= (n))
-
-/*
- * System dependent definitions for user-level 4.3BSD UNIX implementation.
- */
-
-#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
-#define UNTIMEOUT(r, f) untimeout((r), (f))
-
-#define BCOPY(s, d, l) memcpy(d, s, l)
-#define BZERO(s, n) memset(s, 0, n)
-
-#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
-
-/*
- * MAKEHEADER - Add Header fields to a packet.
- */
-#define MAKEHEADER(p, t) { \
- PUTCHAR(PPP_ALLSTATIONS, p); \
- PUTCHAR(PPP_UI, p); \
- PUTSHORT(t, p); }
-
-/*
- * Exit status values.
- */
-#define EXIT_OK 0
-#define EXIT_FATAL_ERROR 1
-#define EXIT_OPTION_ERROR 2
-#define EXIT_NOT_ROOT 3
-#define EXIT_NO_KERNEL_SUPPORT 4
-#define EXIT_USER_REQUEST 5
-#define EXIT_LOCK_FAILED 6
-#define EXIT_OPEN_FAILED 7
-#define EXIT_CONNECT_FAILED 8
-#define EXIT_PTYCMD_FAILED 9
-#define EXIT_NEGOTIATION_FAILED 10
-#define EXIT_PEER_AUTH_FAILED 11
-#define EXIT_IDLE_TIMEOUT 12
-#define EXIT_CONNECT_TIME 13
-#define EXIT_CALLBACK 14
-#define EXIT_PEER_DEAD 15
-#define EXIT_HANGUP 16
-#define EXIT_LOOPBACK 17
-#define EXIT_INIT_FAILED 18
-#define EXIT_AUTH_TOPEER_FAILED 19
-
-/*
- * Debug macros. Slightly useful for finding bugs in pppd, not particularly
- * useful for finding out why your connection isn't being established.
- */
-#ifdef DEBUGALL
-#define DEBUGMAIN 1
-#define DEBUGFSM 1
-#define DEBUGLCP 1
-#define DEBUGIPCP 1
-#define DEBUGIPV6CP 1
-#define DEBUGUPAP 1
-#define DEBUGCHAP 1
-#endif
-
-#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
-#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
- || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
- || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
-#define LOG_PPP LOG_LOCAL2
-#else
-#define LOG_PPP LOG_DAEMON
-#endif
-#endif /* LOG_PPP */
-
-#ifdef DEBUGMAIN
-#define MAINDEBUG(x) if (debug) dbglog x
-#else
-#define MAINDEBUG(x)
-#endif
-
-#ifdef DEBUGSYS
-#define SYSDEBUG(x) if (debug) dbglog x
-#else
-#define SYSDEBUG(x)
-#endif
-
-#ifdef DEBUGFSM
-#define FSMDEBUG(x) if (debug) dbglog x
-#else
-#define FSMDEBUG(x)
-#endif
-
-#ifdef DEBUGLCP
-#define LCPDEBUG(x) if (debug) dbglog x
-#else
-#define LCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPCP
-#define IPCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPV6CP
-#define IPV6CPDEBUG(x) if (debug) dbglog x
-#else
-#define IPV6CPDEBUG(x)
-#endif
-
-#ifdef DEBUGUPAP
-#define UPAPDEBUG(x) if (debug) dbglog x
-#else
-#define UPAPDEBUG(x)
-#endif
-
-#ifdef DEBUGCHAP
-#define CHAPDEBUG(x) if (debug) dbglog x
-#else
-#define CHAPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPXCP
-#define IPXCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPXCPDEBUG(x)
-#endif
-
-#ifndef SIGTYPE
-#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
-#define SIGTYPE void
-#else
-#define SIGTYPE int
-#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
-#endif /* SIGTYPE */
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b)? (a): (b))
-#endif
-#ifndef MAX
-#define MAX(a, b) ((a) > (b)? (a): (b))
-#endif
-
-#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/pppd.h.wtmp b/mdk-stage1/ppp/pppd/pppd.h.wtmp
deleted file mode 100644
index 4d440be06..000000000
--- a/mdk-stage1/ppp/pppd/pppd.h.wtmp
+++ /dev/null
@@ -1,789 +0,0 @@
-/*
- * pppd.h - PPP daemon global declarations.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * TODO:
- */
-
-#ifndef __PPPD_H__
-#define __PPPD_H__
-
-#include <stdio.h> /* for FILE */
-#include <limits.h> /* for NGROUPS_MAX */
-#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
-#include <sys/types.h> /* for u_int32_t, if defined */
-#include <sys/time.h> /* for struct timeval */
-#include <net/ppp_defs.h>
-#include "patchlevel.h"
-
-#if defined(__STDC__)
-#include <stdarg.h>
-#define __V(x) x
-#else
-#include <varargs.h>
-#define __V(x) (va_alist) va_dcl
-#define const
-#define volatile
-#endif
-
-#ifdef INET6
-#include "eui64.h"
-#endif
-
-/*
- * Limits.
- */
-
-#define NUM_PPP 1 /* One PPP interface supported (per process) */
-#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
-#define MAXARGS 1 /* max # args to a command */
-#define MAXNAMELEN 256 /* max length of hostname or name for auth */
-#define MAXSECRETLEN 256 /* max length of password or secret */
-
-/*
- * Option descriptor structure.
- */
-
-typedef unsigned char bool;
-
-enum opt_type {
- o_special_noarg = 0,
- o_special = 1,
- o_bool,
- o_int,
- o_uint32,
- o_string,
- o_wild,
-};
-
-typedef struct {
- char *name; /* name of the option */
- enum opt_type type;
- void *addr;
- char *description;
- int flags;
- void *addr2;
- int upper_limit;
- int lower_limit;
- const char *source;
- short int priority;
- short int winner;
-} option_t;
-
-/* Values for flags */
-#define OPT_VALUE 0xff /* mask for presupplied value */
-#define OPT_HEX 0x100 /* int option is in hex */
-#define OPT_NOARG 0x200 /* option doesn't take argument */
-#define OPT_OR 0x400 /* OR in argument to value */
-#define OPT_INC 0x800 /* increment value */
-#define OPT_PRIV 0x1000 /* privileged option */
-#define OPT_STATIC 0x2000 /* string option goes into static array */
-#define OPT_LLIMIT 0x4000 /* check value against lower limit */
-#define OPT_ULIMIT 0x8000 /* check value against upper limit */
-#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
-#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
-#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
-#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
-#define OPT_NOINCR 0x20000 /* value mustn't be increased */
-#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
-#define OPT_PRIO 0x80000 /* process option priorities for this option */
-#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
-#define OPT_ALIAS 0x200000 /* option is alias for previous option */
-#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
-#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
-#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
-#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
-#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
-#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
-#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
-#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
-#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
-#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
-
-#define OPT_VAL(x) ((x) & OPT_VALUE)
-
-/* Values for priority */
-#define OPRIO_DEFAULT 0 /* a default value */
-#define OPRIO_CFGFILE 1 /* value from a configuration file */
-#define OPRIO_CMDLINE 2 /* value from the command line */
-#define OPRIO_SECFILE 3 /* value from options in a secrets file */
-#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
-
-#ifndef GIDSET_TYPE
-#define GIDSET_TYPE gid_t
-#endif
-
-/* Structure representing a list of permitted IP addresses. */
-struct permitted_ip {
- int permit; /* 1 = permit, 0 = forbid */
- u_int32_t base; /* match if (addr & mask) == base */
- u_int32_t mask; /* base and mask are in network byte order */
-};
-
-/*
- * Unfortunately, the linux kernel driver uses a different structure
- * for statistics from the rest of the ports.
- * This structure serves as a common representation for the bits
- * pppd needs.
- */
-struct pppd_stats {
- unsigned int bytes_in;
- unsigned int bytes_out;
-};
-
-/* Used for storing a sequence of words. Usually malloced. */
-struct wordlist {
- struct wordlist *next;
- char *word;
-};
-
-/* An endpoint discriminator, used with multilink. */
-#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
-struct epdisc {
- unsigned char class;
- unsigned char length;
- unsigned char value[MAX_ENDP_LEN];
-};
-
-/* values for epdisc.class */
-#define EPD_NULL 0 /* null discriminator, no data */
-#define EPD_LOCAL 1
-#define EPD_IP 2
-#define EPD_MAC 3
-#define EPD_MAGIC 4
-#define EPD_PHONENUM 5
-
-typedef void (*notify_func) __P((void *, int));
-
-struct notifier {
- struct notifier *next;
- notify_func func;
- void *arg;
-};
-
-/*
- * Global variables.
- */
-
-extern int hungup; /* Physical layer has disconnected */
-extern int ifunit; /* Interface unit number */
-extern char ifname[]; /* Interface name */
-extern char hostname[]; /* Our hostname */
-extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
-extern int phase; /* Current state of link - see values below */
-extern int baud_rate; /* Current link speed in bits/sec */
-extern char *progname; /* Name of this program */
-extern int redirect_stderr;/* Connector's stderr should go to file */
-extern char peer_authname[];/* Authenticated name of peer */
-extern int privileged; /* We were run by real-uid root */
-extern int need_holdoff; /* Need holdoff period after link terminates */
-extern char **script_env; /* Environment variables for scripts */
-extern int detached; /* Have detached from controlling tty */
-extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
-extern int ngroups; /* How many groups valid in groups */
-extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
-extern int link_stats_valid; /* set if link_stats is valid */
-extern int link_connect_time; /* time the link was up for */
-extern int using_pty; /* using pty as device (notty or pty opt.) */
-extern int log_to_fd; /* logging to this fd as well as syslog */
-extern bool log_default; /* log_to_fd is default (stdout) */
-extern char *no_ppp_msg; /* message to print if ppp not in kernel */
-extern volatile int status; /* exit status for pppd */
-extern bool devnam_fixed; /* can no longer change devnam */
-extern int unsuccess; /* # unsuccessful connection attempts */
-extern int do_callback; /* set if we want to do callback next */
-extern int doing_callback; /* set if this is a callback */
-extern char ppp_devnam[MAXPATHLEN];
-extern struct notifier *pidchange; /* for notifications of pid changing */
-extern struct notifier *phasechange; /* for notifications of phase changes */
-extern struct notifier *exitnotify; /* for notification that we're exiting */
-extern struct notifier *sigreceived; /* notification of received signal */
-extern int listen_time; /* time to listen first (ms) */
-
-/* Values for do_callback and doing_callback */
-#define CALLBACK_DIALIN 1 /* we are expecting the call back */
-#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
-
-/*
- * Variables set by command-line options.
- */
-
-extern int debug; /* Debug flag */
-extern int kdebugflag; /* Tell kernel to print debug messages */
-extern int default_device; /* Using /dev/tty or equivalent */
-extern char devnam[MAXPATHLEN]; /* Device name */
-extern int crtscts; /* Use hardware flow control */
-extern bool modem; /* Use modem control lines */
-extern int inspeed; /* Input/Output speed requested */
-extern u_int32_t netmask; /* IP netmask to set on interface */
-extern bool lockflag; /* Create lock file to lock the serial dev */
-extern bool nodetach; /* Don't detach from controlling tty */
-extern bool updetach; /* Detach from controlling tty when link up */
-extern char *initializer; /* Script to initialize physical link */
-extern char *connect_script; /* Script to establish physical link */
-extern char *disconnect_script; /* Script to disestablish physical link */
-extern char *welcomer; /* Script to welcome client after connection */
-extern char *ptycommand; /* Command to run on other side of pty */
-extern int maxconnect; /* Maximum connect time (seconds) */
-extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
-extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
-extern bool auth_required; /* Peer is required to authenticate */
-extern bool persist; /* Reopen link after it goes down */
-extern bool uselogin; /* Use /etc/passwd for checking PAP */
-extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
-extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-extern bool explicit_remote;/* remote_name specified with remotename opt */
-extern bool demand; /* Do dial-on-demand */
-extern char *ipparam; /* Extra parameter for ip up/down scripts */
-extern bool cryptpap; /* Others' PAP passwords are encrypted */
-extern int idle_time_limit;/* Shut down link if idle for this long */
-extern int holdoff; /* Dead time before restarting */
-extern bool holdoff_specified; /* true if user gave a holdoff value */
-extern bool notty; /* Stdin/out is not a tty */
-extern char *pty_socket; /* Socket to connect to pty */
-extern char *record_file; /* File to record chars sent/received */
-extern bool sync_serial; /* Device is synchronous serial device */
-extern int maxfail; /* Max # of unsuccessful connection attempts */
-extern char linkname[MAXPATHLEN]; /* logical name for link */
-extern bool tune_kernel; /* May alter kernel settings as necessary */
-extern int connect_delay; /* Time to delay after connect script */
-extern int max_data_rate; /* max bytes/sec through charshunt */
-extern int req_unit; /* interface unit number to use */
-extern bool multilink; /* enable multilink operation */
-extern bool noendpoint; /* don't send or accept endpt. discrim. */
-extern char *bundle_name; /* bundle name for multilink */
-extern bool dump_options; /* print out option values */
-extern bool dryrun; /* check everything, print options, exit */
-
-#ifdef PPP_FILTER
-extern struct bpf_program pass_filter; /* Filter for pkts to pass */
-extern struct bpf_program active_filter; /* Filter for link-active pkts */
-#endif
-
-#ifdef MSLANMAN
-extern bool ms_lanman; /* Use LanMan password instead of NT */
- /* Has meaning only with MS-CHAP challenges */
-#endif
-
-extern char *current_option; /* the name of the option being parsed */
-extern int privileged_option; /* set iff the current option came from root */
-extern char *option_source; /* string saying where the option came from */
-extern int option_priority; /* priority of current options */
-
-/*
- * Values for phase.
- */
-#define PHASE_DEAD 0
-#define PHASE_INITIALIZE 1
-#define PHASE_SERIALCONN 2
-#define PHASE_DORMANT 3
-#define PHASE_ESTABLISH 4
-#define PHASE_AUTHENTICATE 5
-#define PHASE_CALLBACK 6
-#define PHASE_NETWORK 7
-#define PHASE_RUNNING 8
-#define PHASE_TERMINATE 9
-#define PHASE_DISCONNECT 10
-#define PHASE_HOLDOFF 11
-
-/*
- * The following struct gives the addresses of procedures to call
- * for a particular protocol.
- */
-struct protent {
- u_short protocol; /* PPP protocol number */
- /* Initialization procedure */
- void (*init) __P((int unit));
- /* Process a received packet */
- void (*input) __P((int unit, u_char *pkt, int len));
- /* Process a received protocol-reject */
- void (*protrej) __P((int unit));
- /* Lower layer has come up */
- void (*lowerup) __P((int unit));
- /* Lower layer has gone down */
- void (*lowerdown) __P((int unit));
- /* Open the protocol */
- void (*open) __P((int unit));
- /* Close the protocol */
- void (*close) __P((int unit, char *reason));
- /* Print a packet in readable form */
- int (*printpkt) __P((u_char *pkt, int len,
- void (*printer) __P((void *, char *, ...)),
- void *arg));
- /* Process a received data packet */
- void (*datainput) __P((int unit, u_char *pkt, int len));
- bool enabled_flag; /* 0 iff protocol is disabled */
- char *name; /* Text name of protocol */
- char *data_name; /* Text name of corresponding data protocol */
- option_t *options; /* List of command-line options */
- /* Check requested options, assign defaults */
- void (*check_options) __P((void));
- /* Configure interface for demand-dial */
- int (*demand_conf) __P((int unit));
- /* Say whether to bring up link for this pkt */
- int (*active_pkt) __P((u_char *pkt, int len));
-};
-
-/* Table of pointers to supported protocols */
-extern struct protent *protocols[];
-
-/*
- * This struct contains pointers to a set of procedures for
- * doing operations on a "channel". A channel provides a way
- * to send and receive PPP packets - the canonical example is
- * a serial port device in PPP line discipline (or equivalently
- * with PPP STREAMS modules pushed onto it).
- */
-struct channel {
- /* set of options for this channel */
- option_t *options;
- /* find and process a per-channel options file */
- void (*process_extra_options) __P((void));
- /* check all the options that have been given */
- void (*check_options) __P((void));
- /* get the channel ready to do PPP, return a file descriptor */
- int (*connect) __P((void));
- /* we're finished with the channel */
- void (*disconnect) __P((void));
- /* put the channel into PPP `mode' */
- int (*establish_ppp) __P((int));
- /* take the channel out of PPP `mode', restore loopback if demand */
- void (*disestablish_ppp) __P((int));
- /* set the transmit-side PPP parameters of the channel */
- void (*send_config) __P((int, u_int32_t, int, int));
- /* set the receive-side PPP parameters of the channel */
- void (*recv_config) __P((int, u_int32_t, int, int));
- /* cleanup on error or normal exit */
- void (*cleanup) __P((void));
- /* close the device, called in children after fork */
- void (*close) __P((void));
-};
-
-extern struct channel *the_channel;
-
-#define ppp_send_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-#define ppp_recv_config(unit, mtu, accm, pc, acc) \
-do { \
- if (the_channel->send_config) \
- (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
-} while (0)
-
-/*
- * Prototypes.
- */
-
-/* Procedures exported from main.c. */
-void set_ifunit __P((int)); /* set stuff that depends on ifunit */
-void detach __P((void)); /* Detach from controlling tty */
-void die __P((int)); /* Cleanup and exit */
-void quit __P((void)); /* like die(1) */
-void novm __P((char *)); /* Say we ran out of memory, and die */
-void timeout __P((void (*func)(void *), void *arg, int s, int us));
- /* Call func(arg) after s.us seconds */
-void untimeout __P((void (*func)(void *), void *arg));
- /* Cancel call to func(arg) */
-void record_child __P((int, char *, void (*) (void *), void *));
-int device_script __P((char *cmd, int in, int out, int dont_wait));
- /* Run `cmd' with given stdin and stdout */
-pid_t run_program __P((char *prog, char **args, int must_exist,
- void (*done)(void *), void *arg));
- /* Run program prog with args in child */
-void reopen_log __P((void)); /* (re)open the connection to syslog */
-void update_link_stats __P((int)); /* Get stats at link termination */
-void script_setenv __P((char *, char *, int)); /* set script env var */
-void script_unsetenv __P((char *)); /* unset script env var */
-void new_phase __P((int)); /* signal start of new phase */
-void add_notifier __P((struct notifier **, notify_func, void *));
-void remove_notifier __P((struct notifier **, notify_func, void *));
-void notify __P((struct notifier *, int));
-
-/* Procedures exported from tty.c. */
-void tty_init __P((void));
-
-/* Procedures exported from utils.c. */
-void log_packet __P((u_char *, int, char *, int));
- /* Format a packet and log it with syslog */
-void print_string __P((char *, int, void (*) (void *, char *, ...),
- void *)); /* Format a string for output */
-int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
-int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
-size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
-size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
-void dbglog __P((char *, ...)); /* log a debug message */
-void info __P((char *, ...)); /* log an informational message */
-void notice __P((char *, ...)); /* log a notice-level message */
-void warn __P((char *, ...)); /* log a warning message */
-void error __P((char *, ...)); /* log an error message */
-void fatal __P((char *, ...)); /* log an error message and die(1) */
-void init_pr_log __P((char *, int)); /* initialize for using pr_log */
-void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
-void end_pr_log __P((void)); /* finish up after using pr_log */
-
-/* Procedures exported from auth.c */
-void link_required __P((int)); /* we are starting to use the link */
-void link_terminated __P((int)); /* we are finished with the link */
-void link_down __P((int)); /* the LCP layer has left the Opened state */
-void link_established __P((int)); /* the link is up; authenticate now */
-void start_networks __P((void)); /* start all the network control protos */
-void np_up __P((int, int)); /* a network protocol has come up */
-void np_down __P((int, int)); /* a network protocol has gone down */
-void np_finished __P((int, int)); /* a network protocol no longer needs link */
-void auth_peer_fail __P((int, int));
- /* peer failed to authenticate itself */
-void auth_peer_success __P((int, int, char *, int));
- /* peer successfully authenticated itself */
-void auth_withpeer_fail __P((int, int));
- /* we failed to authenticate ourselves */
-void auth_withpeer_success __P((int, int));
- /* we successfully authenticated ourselves */
-void auth_check_options __P((void));
- /* check authentication options supplied */
-void auth_reset __P((int)); /* check what secrets we have */
-int check_passwd __P((int, char *, int, char *, int, char **));
- /* Check peer-supplied username/password */
-int get_secret __P((int, char *, char *, char *, int *, int));
- /* get "secret" for chap */
-int auth_ip_addr __P((int, u_int32_t));
- /* check if IP address is authorized */
-int bad_ip_adrs __P((u_int32_t));
- /* check if IP address is unreasonable */
-
-/* Procedures exported from demand.c */
-void demand_conf __P((void)); /* config interface(s) for demand-dial */
-void demand_block __P((void)); /* set all NPs to queue up packets */
-void demand_unblock __P((void)); /* set all NPs to pass packets */
-void demand_discard __P((void)); /* set all NPs to discard packets */
-void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
-int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
-int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
-
-/* Procedures exported from multilink.c */
-void mp_check_options __P((void)); /* Check multilink-related options */
-int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
-char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
-int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
-
-/* Procedures exported from sys-*.c */
-void sys_init __P((void)); /* Do system-dependent initialization */
-void sys_cleanup __P((void)); /* Restore system state before exiting */
-int sys_check_options __P((void)); /* Check options specified */
-void sys_close __P((void)); /* Clean up in a child before execing */
-int ppp_available __P((void)); /* Test whether ppp kernel support exists */
-int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
-int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
-int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
-void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
-void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
-int bundle_attach __P((int)); /* Attach link to existing bundle */
-void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
-void clean_check __P((void)); /* Check if line was 8-bit clean */
-void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
-void restore_tty __P((int)); /* Restore port's original parameters */
-void setdtr __P((int, int)); /* Raise or lower port's DTR line */
-void output __P((int, u_char *, int)); /* Output a PPP packet */
-void wait_input __P((struct timeval *));
- /* Wait for input, with timeout */
-void add_fd __P((int)); /* Add fd to set to wait for */
-void remove_fd __P((int)); /* Remove fd from set to wait for */
-int read_packet __P((u_char *)); /* Read PPP packet */
-int get_loop_output __P((void)); /* Read pkts from loopback */
-void tty_send_config __P((int, u_int32_t, int, int));
- /* Configure i/f transmit parameters */
-void tty_set_xaccm __P((ext_accm));
- /* Set extended transmit ACCM */
-void tty_recv_config __P((int, u_int32_t, int, int));
- /* Configure i/f receive parameters */
-int ccp_test __P((int, u_char *, int, int));
- /* Test support for compression scheme */
-void ccp_flags_set __P((int, int, int));
- /* Set kernel CCP state */
-int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
-int get_idle_time __P((int, struct ppp_idle *));
- /* Find out how long link has been idle */
-int get_ppp_stats __P((int, struct pppd_stats *));
- /* Return link statistics */
-void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
-int sifvjcomp __P((int, int, int, int));
- /* Configure VJ TCP header compression */
-int sifup __P((int)); /* Configure i/f up for one protocol */
-int sifnpmode __P((int u, int proto, enum NPmode mode));
- /* Set mode for handling packets for proto */
-int sifdown __P((int)); /* Configure i/f down for one protocol */
-int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
- /* Configure IPv4 addresses for i/f */
-int cifaddr __P((int, u_int32_t, u_int32_t));
- /* Reset i/f IP addresses */
-#ifdef INET6
-int sif6addr __P((int, eui64_t, eui64_t));
- /* Configure IPv6 addresses for i/f */
-int cif6addr __P((int, eui64_t, eui64_t));
- /* Remove an IPv6 address from i/f */
-#endif
-int sifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Create default route through i/f */
-int cifdefaultroute __P((int, u_int32_t, u_int32_t));
- /* Delete default route through i/f */
-int sifproxyarp __P((int, u_int32_t));
- /* Add proxy ARP entry for peer */
-int cifproxyarp __P((int, u_int32_t));
- /* Delete proxy ARP entry for peer */
-u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
-int lock __P((char *)); /* Create lock file for device */
-int relock __P((int)); /* Rewrite lock file with new pid */
-void unlock __P((void)); /* Delete previously-created lock file */
-void logwtmp __P((const char *, const char *, const char *));
- /* Write entry to wtmp file */
-int get_host_seed __P((void)); /* Get host-dependent random number seed */
-int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
-#ifdef PPP_FILTER
-int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
- /* Set filter programs in kernel */
-#endif
-#ifdef IPX_CHANGE
-int sipxfaddr __P((int, unsigned long, unsigned char *));
-int cipxfaddr __P((int));
-#endif
-int get_if_hwaddr __P((u_char *addr, char *name));
-char *get_first_ethernet __P((void));
-
-/* Procedures exported from options.c */
-int parse_args __P((int argc, char **argv));
- /* Parse options from arguments given */
-int options_from_file __P((char *filename, int must_exist, int check_prot,
- int privileged));
- /* Parse options from an options file */
-int options_from_user __P((void)); /* Parse options from user's .ppprc */
-int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
-int options_from_list __P((struct wordlist *, int privileged));
- /* Parse options from a wordlist */
-int getword __P((FILE *f, char *word, int *newlinep, char *filename));
- /* Read a word from a file */
-void option_error __P((char *fmt, ...));
- /* Print an error message about an option */
-int int_option __P((char *, int *));
- /* Simplified number_option for decimal ints */
-void add_options __P((option_t *)); /* Add extra options */
-void check_options __P((void)); /* check values after all options parsed */
-int override_value __P((const char *, int, const char *));
- /* override value if permitted by priority */
-void print_options __P((void (*) __P((void *, char *, ...)), void *));
- /* print out values of all options */
-
-int parse_dotted_ip __P((char *, u_int32_t *));
-
-/*
- * Hooks to enable plugins to change various things.
- */
-extern int (*new_phase_hook) __P((int));
-extern int (*idle_time_hook) __P((struct ppp_idle *));
-extern int (*holdoff_hook) __P((void));
-extern int (*pap_check_hook) __P((void));
-extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
- struct wordlist **paddrs,
- struct wordlist **popts));
-extern void (*pap_logout_hook) __P((void));
-extern int (*pap_passwd_hook) __P((char *user, char *passwd));
-extern void (*ip_up_hook) __P((void));
-extern void (*ip_down_hook) __P((void));
-extern void (*ip_choose_hook) __P((u_int32_t *));
-
-/*
- * Inline versions of get/put char/short/long.
- * Pointer is advanced; we assume that both arguments
- * are lvalues and will already be in registers.
- * cp MUST be u_char *.
- */
-#define GETCHAR(c, cp) { \
- (c) = *(cp)++; \
-}
-#define PUTCHAR(c, cp) { \
- *(cp)++ = (u_char) (c); \
-}
-
-
-#define GETSHORT(s, cp) { \
- (s) = *(cp)++ << 8; \
- (s) |= *(cp)++; \
-}
-#define PUTSHORT(s, cp) { \
- *(cp)++ = (u_char) ((s) >> 8); \
- *(cp)++ = (u_char) (s); \
-}
-
-#define GETLONG(l, cp) { \
- (l) = *(cp)++ << 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; \
-}
-#define PUTLONG(l, cp) { \
- *(cp)++ = (u_char) ((l) >> 24); \
- *(cp)++ = (u_char) ((l) >> 16); \
- *(cp)++ = (u_char) ((l) >> 8); \
- *(cp)++ = (u_char) (l); \
-}
-
-#define INCPTR(n, cp) ((cp) += (n))
-#define DECPTR(n, cp) ((cp) -= (n))
-
-/*
- * System dependent definitions for user-level 4.3BSD UNIX implementation.
- */
-
-#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
-#define UNTIMEOUT(r, f) untimeout((r), (f))
-
-#define BCOPY(s, d, l) memcpy(d, s, l)
-#define BZERO(s, n) memset(s, 0, n)
-
-#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
-
-/*
- * MAKEHEADER - Add Header fields to a packet.
- */
-#define MAKEHEADER(p, t) { \
- PUTCHAR(PPP_ALLSTATIONS, p); \
- PUTCHAR(PPP_UI, p); \
- PUTSHORT(t, p); }
-
-/*
- * Exit status values.
- */
-#define EXIT_OK 0
-#define EXIT_FATAL_ERROR 1
-#define EXIT_OPTION_ERROR 2
-#define EXIT_NOT_ROOT 3
-#define EXIT_NO_KERNEL_SUPPORT 4
-#define EXIT_USER_REQUEST 5
-#define EXIT_LOCK_FAILED 6
-#define EXIT_OPEN_FAILED 7
-#define EXIT_CONNECT_FAILED 8
-#define EXIT_PTYCMD_FAILED 9
-#define EXIT_NEGOTIATION_FAILED 10
-#define EXIT_PEER_AUTH_FAILED 11
-#define EXIT_IDLE_TIMEOUT 12
-#define EXIT_CONNECT_TIME 13
-#define EXIT_CALLBACK 14
-#define EXIT_PEER_DEAD 15
-#define EXIT_HANGUP 16
-#define EXIT_LOOPBACK 17
-#define EXIT_INIT_FAILED 18
-#define EXIT_AUTH_TOPEER_FAILED 19
-
-/*
- * Debug macros. Slightly useful for finding bugs in pppd, not particularly
- * useful for finding out why your connection isn't being established.
- */
-#ifdef DEBUGALL
-#define DEBUGMAIN 1
-#define DEBUGFSM 1
-#define DEBUGLCP 1
-#define DEBUGIPCP 1
-#define DEBUGIPV6CP 1
-#define DEBUGUPAP 1
-#define DEBUGCHAP 1
-#endif
-
-#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
-#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
- || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
- || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
-#define LOG_PPP LOG_LOCAL2
-#else
-#define LOG_PPP LOG_DAEMON
-#endif
-#endif /* LOG_PPP */
-
-#ifdef DEBUGMAIN
-#define MAINDEBUG(x) if (debug) dbglog x
-#else
-#define MAINDEBUG(x)
-#endif
-
-#ifdef DEBUGSYS
-#define SYSDEBUG(x) if (debug) dbglog x
-#else
-#define SYSDEBUG(x)
-#endif
-
-#ifdef DEBUGFSM
-#define FSMDEBUG(x) if (debug) dbglog x
-#else
-#define FSMDEBUG(x)
-#endif
-
-#ifdef DEBUGLCP
-#define LCPDEBUG(x) if (debug) dbglog x
-#else
-#define LCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPCP
-#define IPCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPCPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPV6CP
-#define IPV6CPDEBUG(x) if (debug) dbglog x
-#else
-#define IPV6CPDEBUG(x)
-#endif
-
-#ifdef DEBUGUPAP
-#define UPAPDEBUG(x) if (debug) dbglog x
-#else
-#define UPAPDEBUG(x)
-#endif
-
-#ifdef DEBUGCHAP
-#define CHAPDEBUG(x) if (debug) dbglog x
-#else
-#define CHAPDEBUG(x)
-#endif
-
-#ifdef DEBUGIPXCP
-#define IPXCPDEBUG(x) if (debug) dbglog x
-#else
-#define IPXCPDEBUG(x)
-#endif
-
-#ifndef SIGTYPE
-#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
-#define SIGTYPE void
-#else
-#define SIGTYPE int
-#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
-#endif /* SIGTYPE */
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b)? (a): (b))
-#endif
-#ifndef MAX
-#define MAX(a, b) ((a) > (b)? (a): (b))
-#endif
-
-#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c b/mdk-stage1/ppp/pppd/sys-linux.c
deleted file mode 100644
index 3ab92dfba..000000000
--- a/mdk-stage1/ppp/pppd/sys-linux.c
+++ /dev/null
@@ -1,2672 +0,0 @@
-/*
- * sys-linux.c - System-dependent procedures for setting up
- * PPP interfaces on Linux systems
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/errno.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/sysmacros.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <memory.h>
-#include <utmp.h>
-#include <mntent.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <termios.h>
-#include <unistd.h>
-
-/* This is in netdevice.h. However, this compile will fail miserably if
- you attempt to include netdevice.h because it has so many references
- to __memcpy functions which it should not attempt to do. So, since I
- really don't use it, but it must be defined, define it now. */
-
-#ifndef MAX_ADDR_LEN
-#define MAX_ADDR_LEN 7
-#endif
-
-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__dietlibc__)
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <netinet/if_ether.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#include <linux/if_arp.h>
-#include <linux/route.h>
-#include <linux/if_ether.h>
-#endif
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#if __GLIBC__ >= 2 && \
- !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-#include <netipx/ipx.h>
-#else
-#include <linux/ipx.h>
-#endif
-#endif /* IPX_CHANGE */
-
-#ifdef PPP_FILTER
-#include <net/bpf.h>
-#include <linux/filter.h>
-#endif /* PPP_FILTER */
-
-#ifdef LOCKLIB
-#include <sys/locks.h>
-#endif
-
-#ifdef INET6
-#ifndef _LINUX_IN6_H
-/*
- * This is in linux/include/net/ipv6.h.
- */
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- __u32 ifr6_prefixlen;
- unsigned int ifr6_ifindex;
-};
-#endif
-
-#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
- memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
- sin6.s6_addr16[0] = htons(0xfe80); \
- eui64_copy(eui64, sin6.s6_addr32[2]); \
- } while (0)
-
-#endif /* INET6 */
-
-/* We can get an EIO error on an ioctl if the modem has hung up */
-#define ok_error(num) ((num)==EIO)
-
-static int tty_disc = N_TTY; /* The TTY discipline */
-static int ppp_disc = N_PPP; /* The PPP discpline */
-static int initfdflags = -1; /* Initial file descriptor flags for fd */
-static int ppp_fd = -1; /* fd which is set to PPP discipline */
-static int sock_fd = -1; /* socket for doing interface ioctls */
-static int slave_fd = -1;
-static int master_fd = -1;
-#ifdef INET6
-static int sock6_fd = -1;
-#endif /* INET6 */
-static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
-static int chindex; /* channel index (new style driver) */
-
-static fd_set in_fds; /* set of fds that wait_input waits for */
-static int max_in_fd; /* highest fd set in in_fds */
-
-static int has_proxy_arp = 0;
-static int driver_version = 0;
-static int driver_modification = 0;
-static int driver_patch = 0;
-static int driver_is_old = 0;
-static int restore_term = 0; /* 1 => we've munged the terminal */
-static struct termios inittermios; /* Initial TTY termios */
-
-static int new_style_driver = 0;
-
-static char loop_name[20];
-static unsigned char inbuf[512]; /* buffer for chars read from loopback */
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-static char proxy_arp_dev[16]; /* Device for proxy arp entry */
-static u_int32_t our_old_addr; /* for detecting address changes */
-static int dynaddr_set; /* 1 if ip_dynaddr set */
-static int looped; /* 1 if using loop */
-static int link_mtu; /* mtu for the link (not bundle) */
-
-static struct utsname utsname; /* for the kernel version */
-static int kernel_version;
-#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
-
-#define MAX_IFS 100
-
-#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
-#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
- IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
-
-#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
-
-/* Prototypes for procedures local to this file. */
-static int get_flags (int fd);
-static void set_flags (int fd, int flags);
-static int translate_speed (int bps);
-static int baud_rate_of (int speed);
-static void close_route_table (void);
-static int open_route_table (void);
-static int read_route_table (struct rtentry *rt);
-static int defaultroute_exists (struct rtentry *rt);
-static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
- char *name, int namelen);
-static void decode_version (char *buf, int *version, int *mod, int *patch);
-static int set_kdebugflag(int level);
-static int ppp_registered(void);
-static int make_ppp_unit(void);
-static void restore_loop(void); /* Transfer ppp unit back to loopback */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-/*
- * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
- * if it exists.
- */
-
-#define SET_SA_FAMILY(addr, family) \
- memset ((char *) &(addr), '\0', sizeof(addr)); \
- addr.sa_family = (family);
-
-/*
- * Determine if the PPP connection should still be present.
- */
-
-extern int hungup;
-
-/* new_fd is the fd of a tty */
-static void set_ppp_fd (int new_fd)
-{
- SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
- ppp_fd = new_fd;
- if (!new_style_driver)
- ppp_dev_fd = new_fd;
-}
-
-static int still_ppp(void)
-{
- if (new_style_driver)
- return !hungup && ppp_fd >= 0;
- if (!hungup || ppp_fd == slave_fd)
- return 1;
- if (slave_fd >= 0) {
- set_ppp_fd(slave_fd);
- return 1;
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Functions to read and set the flags value in the device driver
- */
-
-static int get_flags (int fd)
-{
- int flags;
-
- if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
- if ( ok_error (errno) )
- flags = 0;
- else
- fatal("ioctl(PPPIOCGFLAGS): %m");
- }
-
- SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
- return flags;
-}
-
-/********************************************************************/
-
-static void set_flags (int fd, int flags)
-{
- SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
-
- if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
- if (! ok_error (errno) )
- fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
- }
-}
-
-/********************************************************************
- *
- * sys_init - System-dependent initialization.
- */
-
-void sys_init(void)
-{
- int flags;
-
- if (new_style_driver) {
- ppp_dev_fd = open("/dev/ppp", O_RDWR);
- if (ppp_dev_fd < 0)
- fatal("Couldn't open /dev/ppp: %m");
- flags = fcntl(ppp_dev_fd, F_GETFL);
- if (flags == -1
- || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp to nonblock: %m");
- }
-
- /* Get an internet socket for doing socket ioctls. */
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- fatal("Couldn't create IP socket: %m(%d)", errno);
-
-#ifdef INET6
- sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (sock6_fd < 0)
- sock6_fd = -errno; /* save errno for later */
-#endif
-
- FD_ZERO(&in_fds);
- max_in_fd = 0;
-}
-
-/********************************************************************
- *
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-
-void sys_cleanup(void)
-{
-/*
- * Take down the device
- */
- if (if_is_up) {
- if_is_up = 0;
- sifdown(0);
- }
-/*
- * Delete any routes through the device.
- */
- if (default_route_gateway != 0)
- cifdefaultroute(0, 0, default_route_gateway);
-
- if (has_proxy_arp)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/********************************************************************
- *
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close(void)
-{
- if (new_style_driver)
- close(ppp_dev_fd);
- if (sock_fd >= 0)
- close(sock_fd);
- if (slave_fd >= 0)
- close(slave_fd);
- if (master_fd >= 0)
- close(master_fd);
- closelog();
-}
-
-/********************************************************************
- *
- * set_kdebugflag - Define the debugging level for the kernel
- */
-
-static int set_kdebugflag (int requested_level)
-{
- if (new_style_driver && ifunit < 0)
- return 1;
- if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
- if ( ! ok_error (errno) )
- error("ioctl(PPPIOCSDEBUG): %m");
- return (0);
- }
- SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
- requested_level));
- return (1);
-}
-
-/********************************************************************
- *
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-
-int tty_establish_ppp (int tty_fd)
-{
- int x;
- int fd = -1;
-
-/*
- * Ensure that the tty device is in exclusive mode.
- */
- if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
- if ( ! ok_error ( errno ))
- warn("Couldn't make tty exclusive: %m");
- }
-/*
- * Demand mode - prime the old ppp device to relinquish the unit.
- */
- if (!new_style_driver && looped
- && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
- error("ioctl(transfer ppp unit): %m");
- return -1;
- }
-/*
- * Set the current tty to the PPP discpline
- */
-
-#ifndef N_SYNC_PPP
-#define N_SYNC_PPP 14
-#endif
- ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
- if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
- if ( ! ok_error (errno) ) {
- error("Couldn't set tty to PPP discipline: %m");
- return -1;
- }
- }
-
- if (new_style_driver) {
- /* Open another instance of /dev/ppp and connect the channel to it */
- int flags;
-
- if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
- error("Couldn't get channel number: %m");
- goto err;
- }
- dbglog("using channel %d", chindex);
- fd = open("/dev/ppp", O_RDWR);
- if (fd < 0) {
- error("Couldn't reopen /dev/ppp: %m");
- goto err;
- }
- if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
- error("Couldn't attach to channel %d: %m", chindex);
- goto err_close;
- }
- flags = fcntl(fd, F_GETFL);
- if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
- set_ppp_fd(fd);
-
- if (!looped)
- ifunit = -1;
- if (!looped && !multilink) {
- /*
- * Create a new PPP unit.
- */
- if (make_ppp_unit() < 0)
- goto err_close;
- }
-
- if (looped)
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
-
- if (!multilink) {
- add_fd(ppp_dev_fd);
- if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
- error("Couldn't attach to PPP unit %d: %m", ifunit);
- goto err_close;
- }
- }
-
- } else {
- /*
- * Old-style driver: find out which interface we were given.
- */
- set_ppp_fd (tty_fd);
- if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
- if (ok_error (errno))
- goto err;
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
- }
- /* Check that we got the same unit again. */
- if (looped && x != ifunit)
- fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
- ifunit = x;
-
- /*
- * Fetch the initial file flags and reset blocking mode on the file.
- */
- initfdflags = fcntl(tty_fd, F_GETFL);
- if (initfdflags == -1 ||
- fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
- if ( ! ok_error (errno))
- warn("Couldn't set device to non-blocking mode: %m");
- }
- }
-
- looped = 0;
-
- /*
- * Enable debug in the driver if requested.
- */
- if (!looped)
- set_kdebugflag (kdebugflag);
-
-#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
-#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
- | SC_LOG_FLUSH)
-
- set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
- | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
-
- SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
- driver_version, driver_modification, driver_patch));
-
- return ppp_fd;
-
- err_close:
- close(fd);
- err:
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
- warn("Couldn't reset tty to normal line discipline: %m");
- return -1;
-}
-
-/********************************************************************
- *
- * tty_disestablish_ppp - Restore the serial port to normal operation,
- * and reconnect the ppp unit to the loopback if in demand mode.
- * This shouldn't call die() because it's called from die().
- */
-
-void tty_disestablish_ppp(int tty_fd)
-{
- if (demand)
- restore_loop();
- if (!hungup) {
-/*
- * Flush the tty output buffer so that the TIOCSETD doesn't hang.
- */
- if (tcflush(tty_fd, TCIOFLUSH) < 0)
- warn("tcflush failed: %m");
-/*
- * Restore the previous line discipline
- */
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(TIOCSETD, N_TTY): %m");
- }
-
- if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
- if ( ! ok_error (errno))
- warn("ioctl(TIOCNXCL): %m(%d)", errno);
- }
-
- /* Reset non-blocking mode on fd. */
- if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
- if ( ! ok_error (errno))
- warn("Couldn't restore device fd flags: %m");
- }
- }
- initfdflags = -1;
-
- if (new_style_driver) {
- close(ppp_fd);
- ppp_fd = -1;
- if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
- error("Couldn't release PPP unit: %m");
- if (!multilink)
- remove_fd(ppp_dev_fd);
- }
-}
-
-/*
- * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
- * Assumes new_style_driver.
- */
-static int make_ppp_unit()
-{
- int x;
-
- ifunit = req_unit;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- if (x < 0 && req_unit >= 0 && errno == EEXIST) {
- warn("Couldn't allocate PPP unit %d as it is already in use");
- ifunit = -1;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- }
- if (x < 0)
- error("Couldn't create new ppp unit: %m");
- return x;
-}
-
-/*
- * cfg_bundle - configure the existing bundle.
- * Used in demand mode.
- */
-void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- int flags;
-
- if (!new_style_driver)
- return;
-
- /* set the mrru, mtu and flags */
- if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
- error("Couldn't set MRRU: %m");
- flags = get_flags(ppp_dev_fd);
- flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
- flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
- | (mrru? SC_MULTILINK: 0);
-
- set_flags(ppp_dev_fd, flags);
-
- /* connect up the channel */
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
- fatal("Couldn't attach to PPP unit %d: %m", ifunit);
- add_fd(ppp_dev_fd);
-}
-
-/*
- * make_new_bundle - create a new PPP unit (i.e. a bundle)
- * and connect our channel to it. This should only get called
- * if `multilink' was set at the time establish_ppp was called.
- * In demand mode this uses our existing bundle instead of making
- * a new one.
- */
-void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- if (!new_style_driver)
- return;
-
- /* make us a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
-
- /* set the mrru and flags */
- cfg_bundle(mrru, mtru, rssn, tssn);
-}
-
-/*
- * bundle_attach - attach our link to a given PPP unit.
- * We assume the unit is controlled by another pppd.
- */
-int bundle_attach(int ifnum)
-{
- if (!new_style_driver)
- return -1;
-
- if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
- if (errno == ENXIO)
- return 0; /* doesn't still exist */
- fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
- }
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
- fatal("Couldn't connect to interface unit %d: %m", ifnum);
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
-
- ifunit = ifnum;
- return 1;
-}
-
-/********************************************************************
- *
- * clean_check - Fetch the flags for the device and generate
- * appropriate error messages.
- */
-void clean_check(void)
-{
- int x;
- char *s;
-
- if (still_ppp()) {
- if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
- s = NULL;
- switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
- case SC_RCV_B7_0:
- s = "all had bit 7 set to 1";
- break;
-
- case SC_RCV_B7_1:
- s = "all had bit 7 set to 0";
- break;
-
- case SC_RCV_EVNP:
- s = "all had odd parity";
- break;
-
- case SC_RCV_ODDP:
- s = "all had even parity";
- break;
- }
-
- if (s != NULL) {
- warn("Receive serial link is not 8-bit clean:");
- warn("Problem: %s", s);
- }
- }
- }
-}
-
-
-/*
- * List of valid speeds.
- */
-
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
-#ifdef B921600
- { 921600, B921600 },
-#endif
- { 0, 0 }
-};
-
-/********************************************************************
- *
- * Translate from bits/second to a speed_t.
- */
-
-static int translate_speed (int bps)
-{
- struct speed *speedp;
-
- if (bps != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- }
- warn("speed %d not supported", bps);
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Translate from a speed_t to bits/second.
- */
-
-static int baud_rate_of (int speed)
-{
- struct speed *speedp;
-
- if (speed != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- }
- }
- return 0;
-}
-
-/********************************************************************
- *
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-
-void set_up_tty(int tty_fd, int local)
-{
- int speed;
- struct termios tios;
-
- setdtr(tty_fd, 1);
- if (tcgetattr(tty_fd, &tios) < 0) {
- if (!ok_error(errno))
- fatal("tcgetattr: %m(%d)", errno);
- return;
- }
-
- if (!restore_term)
- inittermios = tios;
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- tios.c_cflag |= CS8 | CREAD | HUPCL;
-
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (local || !modem)
- tios.c_cflag ^= (CLOCAL | HUPCL);
-
- switch (crtscts) {
- case 1:
- tios.c_cflag |= CRTSCTS;
- break;
-
- case -2:
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- break;
-
- case -1:
- tios.c_cflag &= ~CRTSCTS;
- break;
-
- default:
- break;
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed (&tios, speed);
- cfsetispeed (&tios, speed);
- }
-/*
- * We can't proceed if the serial port speed is B0,
- * since that implies that the serial port is disabled.
- */
- else {
- speed = cfgetospeed(&tios);
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
- if (!ok_error(errno))
- fatal("tcsetattr: %m");
-
- baud_rate = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/********************************************************************
- *
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-
-void setdtr (int tty_fd, int on)
-{
- int modembits = TIOCM_DTR;
-
- ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
-}
-
-/********************************************************************
- *
- * restore_tty - restore the terminal to the saved settings.
- */
-
-void restore_tty (int tty_fd)
-{
- if (restore_term) {
- restore_term = 0;
-/*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- if (!default_device)
- inittermios.c_lflag &= ~(ECHO | ECHONL);
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
- if (! ok_error (errno))
- warn("tcsetattr: %m");
- }
- }
-}
-
-/********************************************************************
- *
- * output - Output PPP packet.
- */
-
-void output (int unit, unsigned char *p, int len)
-{
- int fd = ppp_fd;
- int proto;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- if (len < PPP_HDRLEN)
- return;
- if (new_style_driver) {
- p += 2;
- len -= 2;
- proto = (p[0] << 8) + p[1];
- if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
- fd = ppp_dev_fd;
- }
- if (write(fd, p, len) < 0) {
- if (errno == EWOULDBLOCK || errno == ENOBUFS
- || errno == ENXIO || errno == EIO || errno == EINTR)
- warn("write: warning: %m (%d)", errno);
- else
- error("write: %m (%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-
-void wait_input(struct timeval *timo)
-{
- fd_set ready, exc;
- int n;
-
- ready = in_fds;
- exc = in_fds;
- n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m(%d)", errno);
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(int fd)
-{
- FD_SET(fd, &in_fds);
- if (fd > max_in_fd)
- max_in_fd = fd;
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(int fd)
-{
- FD_CLR(fd, &in_fds);
-}
-
-
-/********************************************************************
- *
- * read_packet - get a PPP packet from the serial device.
- */
-
-int read_packet (unsigned char *buf)
-{
- int len, nr;
-
- len = PPP_MRU + PPP_HDRLEN;
- if (new_style_driver) {
- *buf++ = PPP_ALLSTATIONS;
- *buf++ = PPP_UI;
- len -= 2;
- }
- nr = -1;
- if (ppp_fd >= 0) {
- nr = read(ppp_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- if (nr < 0 && new_style_driver && ifunit >= 0) {
- /* N.B. we read ppp_fd first since LCP packets come in there. */
- nr = read(ppp_dev_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read /dev/ppp: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- return (new_style_driver && nr > 0)? nr+2: nr;
-}
-
-/********************************************************************
- *
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output(void)
-{
- int rv = 0;
- int n;
-
- if (new_style_driver) {
- while ((n = read_packet(inpacket_buf)) > 0)
- if (loop_frame(inpacket_buf, n))
- rv = 1;
- return rv;
- }
-
- while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
- if (loop_chars(inbuf, n))
- rv = 1;
-
- if (n == 0)
- fatal("eof on loopback");
-
- if (errno != EWOULDBLOCK)
- fatal("read from loopback: %m(%d)", errno);
-
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(int unit, int mtu)
-{
- struct ifreq ifr;
-
- SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- ifr.ifr_mtu = mtu;
-
- if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
- fatal("ioctl(SIOCSIFMTU): %m");
-}
-
-/********************************************************************
- *
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-
-void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
-{
- u_int x;
-
-/*
- * Set the asyncmap and other parameters for the ppp device
- */
- if (!still_ppp())
- return;
- link_mtu = mtu;
- SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
- return;
- }
-
- x = get_flags(ppp_fd);
- x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
- x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
- x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
- set_flags(ppp_fd, x);
-}
-
-/********************************************************************
- *
- * tty_set_xaccm - set the extended transmit ACCM for the interface.
- */
-
-void tty_set_xaccm (ext_accm accm)
-{
- SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
- accm[0], accm[1], accm[2], accm[3]));
-
- if (!still_ppp())
- return;
- if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
- if ( ! ok_error (errno))
- warn("ioctl(set extended ACCM): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * tty_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-
-void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
-{
- SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
-/*
- * If we were called because the link has gone down then there is nothing
- * which may be done. Just return without incident.
- */
- if (!still_ppp())
- return;
-/*
- * Set the receiver parameters
- */
- if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(PPPIOCSMRU): %m(%d)", errno);
- }
- if (new_style_driver && ifunit >= 0
- && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
- error("Couldn't set MRU in generic PPP layer: %m");
-
- SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-
-int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
-{
- struct ppp_option_data data;
-
- memset (&data, '\0', sizeof (data));
- data.ptr = opt_ptr;
- data.length = opt_len;
- data.transmit = for_transmit;
-
- if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
- return 1;
-
- return (errno == ENOBUFS)? 0: -1;
-}
-
-/********************************************************************
- *
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-
-void ccp_flags_set (int unit, int isopen, int isup)
-{
- if (still_ppp()) {
- int x = get_flags(ppp_dev_fd);
- x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
- x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
- set_flags (ppp_dev_fd, x);
- }
-}
-
-#ifdef PPP_FILTER
-/*
- * set_filters - set the active and pass filters in the kernel driver.
- */
-int set_filters(struct bpf_program *pass, struct bpf_program *active)
-{
- struct sock_fprog fp;
-
- fp.len = pass->bf_len;
- fp.filter = (struct sock_filter *) pass->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
- if (errno == ENOTTY)
- warn("kernel does not support PPP filtering");
- else
- error("Couldn't set pass-filter in kernel: %m");
- return 0;
- }
- fp.len = active->bf_len;
- fp.filter = (struct sock_filter *) active->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- return 0;
- }
- return 1;
-}
-#endif /* PPP_FILTER */
-
-/********************************************************************
- *
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
-}
-
-/********************************************************************
- *
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
- req.stats_ptr = (caddr_t) &req.stats;
- strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
- if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
- error("Couldn't get PPP statistics: %m");
- return 0;
- }
- stats->bytes_in = req.stats.p.ppp_ibytes;
- stats->bytes_out = req.stats.p.ppp_obytes;
- return 1;
-}
-
-/********************************************************************
- *
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-
-int ccp_fatal_error (int unit)
-{
- int x = get_flags(ppp_dev_fd);
-
- return x & SC_DC_FERROR;
-}
-
-/********************************************************************
- *
- * path_to_procfs - find the path to the proc file system mount point
- */
-static char proc_path[MAXPATHLEN];
-static int proc_path_len;
-
-static char *path_to_procfs(const char *tail)
-{
- struct mntent *mntent;
- FILE *fp;
-
- if (proc_path_len == 0) {
- /* Default the mount location of /proc */
- strlcpy (proc_path, "/proc", sizeof(proc_path));
- proc_path_len = 5;
- fp = fopen(MOUNTED, "r");
- if (fp != NULL) {
- while ((mntent = getmntent(fp)) != NULL) {
- if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
- continue;
- if (strcmp(mntent->mnt_type, "proc") == 0) {
- strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
- proc_path_len = strlen(proc_path);
- break;
- }
- }
- fclose (fp);
- }
- }
-
- strlcpy(proc_path + proc_path_len, tail,
- sizeof(proc_path) - proc_path_len);
- return proc_path;
-}
-
-/*
- * /proc/net/route parsing stuff.
- */
-#define ROUTE_MAX_COLS 12
-FILE *route_fd = (FILE *) 0;
-static char route_buffer[512];
-static int route_dev_col, route_dest_col, route_gw_col;
-static int route_flags_col, route_mask_col;
-static int route_num_cols;
-
-static int open_route_table (void);
-static void close_route_table (void);
-static int read_route_table (struct rtentry *rt);
-
-/********************************************************************
- *
- * close_route_table - close the interface to the route table
- */
-
-static void close_route_table (void)
-{
- if (route_fd != (FILE *) 0) {
- fclose (route_fd);
- route_fd = (FILE *) 0;
- }
-}
-
-/********************************************************************
- *
- * open_route_table - open the interface to the route table
- */
-static char route_delims[] = " \t\n";
-
-static int open_route_table (void)
-{
- char *path;
-
- close_route_table();
-
- path = path_to_procfs("/net/route");
- route_fd = fopen (path, "r");
- if (route_fd == NULL) {
- error("can't open routing table %s: %m", path);
- return 0;
- }
-
- route_dev_col = 0; /* default to usual columns */
- route_dest_col = 1;
- route_gw_col = 2;
- route_flags_col = 3;
- route_mask_col = 7;
- route_num_cols = 8;
-
- /* parse header line */
- if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
- char *p = route_buffer, *q;
- int col;
- for (col = 0; col < ROUTE_MAX_COLS; ++col) {
- int used = 1;
- if ((q = strtok(p, route_delims)) == 0)
- break;
- if (strcasecmp(q, "iface") == 0)
- route_dev_col = col;
- else if (strcasecmp(q, "destination") == 0)
- route_dest_col = col;
- else if (strcasecmp(q, "gateway") == 0)
- route_gw_col = col;
- else if (strcasecmp(q, "flags") == 0)
- route_flags_col = col;
- else if (strcasecmp(q, "mask") == 0)
- route_mask_col = col;
- else
- used = 0;
- if (used && col >= route_num_cols)
- route_num_cols = col + 1;
- p = NULL;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * read_route_table - read the next entry from the route table
- */
-
-static int read_route_table(struct rtentry *rt)
-{
- char *cols[ROUTE_MAX_COLS], *p;
- int col;
-
- memset (rt, '\0', sizeof (struct rtentry));
-
- if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
- return 0;
-
- p = route_buffer;
- for (col = 0; col < route_num_cols; ++col) {
- cols[col] = strtok(p, route_delims);
- if (cols[col] == NULL)
- return 0; /* didn't get enough columns */
- p = NULL;
- }
-
- SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
- SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
- SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
-
- rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
- rt->rt_dev = cols[route_dev_col];
-
- return 1;
-}
-
-/********************************************************************
- *
- * defaultroute_exists - determine if there is a default route
- */
-
-static int defaultroute_exists (struct rtentry *rt)
-{
- int result = 0;
-
- if (!open_route_table())
- return 0;
-
- while (read_route_table(rt) != 0) {
- if ((rt->rt_flags & RTF_UP) == 0)
- continue;
-
- if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
- continue;
- if (SIN_ADDR(rt->rt_dst) == 0L) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address. `addr' is in network byte order.
- * Return value is 1 if yes, 0 if no, -1 if don't know.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(u_int32_t addr)
-{
- struct rtentry rt;
- int result = 0;
-
- if (!open_route_table())
- return -1; /* don't know */
-
- while (read_route_table(&rt)) {
- if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
- continue;
- if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/********************************************************************
- *
- * sifdefaultroute - assign a default route through the address given.
- */
-
-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
-
- if (old_gateway != gateway)
- error("not replacing existing default route to %s [%I]",
- rt.rt_dev, old_gateway);
- return 0;
- }
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCADDRT): %m(%d)", errno);
- return 0;
- }
-
- default_route_gateway = gateway;
- return 1;
-}
-
-/********************************************************************
- *
- * cifdefaultroute - delete a default route through the address given.
- */
-
-int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- default_route_gateway = 0;
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp()) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCDELRT): %m (%d)", errno);
- return 0;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-
-int sifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
- char *forw_path;
-
- if (has_proxy_arp == 0) {
- memset (&arpreq, '\0', sizeof(arpreq));
-
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
-/*
- * Get the hardware address of an interface on the same subnet
- * as our local address.
- */
- if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
- sizeof(proxy_arp_dev))) {
- error("Cannot determine ethernet address for proxy ARP");
- return 0;
- }
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCSARP): %m(%d)", errno);
- return 0;
- }
- proxy_arp_addr = his_adr;
- has_proxy_arp = 1;
-
- if (tune_kernel) {
- forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
- if (forw_path != 0) {
- int fd = open(forw_path, O_WRONLY);
- if (fd >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable IP forwarding: %m");
- close(fd);
- }
- }
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-
-int cifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
-
- if (has_proxy_arp) {
- has_proxy_arp = 0;
- memset (&arpreq, '\0', sizeof(arpreq));
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCDARP): %m(%d)", errno);
- return 0;
- }
- }
- return 1;
-}
-
-/********************************************************************
- *
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-
-static int get_ether_addr (u_int32_t ipaddr,
- struct sockaddr *hwaddr,
- char *name, int namelen)
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- char *aliasp;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return 0;
- }
-
- SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
- ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
-/*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
- ina = SIN_ADDR(ifr->ifr_addr);
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
- ifreq.ifr_name));
-/*
- * Check that the interface is up, and not point-to-point
- * nor loopback.
- */
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
-
- mask = SIN_ADDR(ifreq.ifr_addr);
- SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
- ip_ntoa(ina), ntohl(mask)));
-
- if (((ipaddr ^ ina) & mask) != 0)
- continue;
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
-
- strlcpy(name, ifreq.ifr_name, namelen);
-
- /* trim off the :1 in eth0:1 */
- aliasp = strchr(name, ':');
- if (aliasp != 0)
- *aliasp = 0;
-
- info("found interface %s for proxy arp", name);
-/*
- * Now get the hardware address.
- */
- memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
- if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
- error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
- return 0;
- }
-
- memcpy (hwaddr,
- &ifreq.ifr_hwaddr,
- sizeof (struct sockaddr));
-
- SYSDEBUG ((LOG_DEBUG,
- "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
- (int) ((unsigned char *) &hwaddr->sa_data)[0],
- (int) ((unsigned char *) &hwaddr->sa_data)[1],
- (int) ((unsigned char *) &hwaddr->sa_data)[2],
- (int) ((unsigned char *) &hwaddr->sa_data)[3],
- (int) ((unsigned char *) &hwaddr->sa_data)[4],
- (int) ((unsigned char *) &hwaddr->sa_data)[5],
- (int) ((unsigned char *) &hwaddr->sa_data)[6],
- (int) ((unsigned char *) &hwaddr->sa_data)[7]));
- return 1;
-}
-
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *name)
-{
- struct ifreq ifreq;
- int ret, sock_fd;
-
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- return 0;
- memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
- strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
- ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
- close(sock_fd);
- if (ret >= 0)
- memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
- return ret;
-}
-
-/*
- * get_first_ethernet - return the name of the first ethernet-style
- * interface on this system.
- */
-char *
-get_first_ethernet()
-{
- return "eth0";
-}
-
-/********************************************************************
- *
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-
-u_int32_t GetMask (u_int32_t addr)
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- addr = ntohl(addr);
-
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
-
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-/*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return mask;
- }
-
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
-/*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = SIN_ADDR(ifr->ifr_addr);
- if (((ntohl(ina) ^ addr) & nmask) != 0)
- continue;
-/*
- * Check that the interface is up, and not point-to-point nor loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= SIN_ADDR(ifreq.ifr_addr);
- break;
- }
- return mask;
-}
-
-/********************************************************************
- *
- * Internal routine to decode the version.modification.patch level
- */
-
-static void decode_version (char *buf, int *version,
- int *modification, int *patch)
-{
- char *endp;
-
- *version = (int) strtoul (buf, &endp, 10);
- *modification = 0;
- *patch = 0;
-
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *modification = (int) strtoul (buf, &endp, 10);
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *patch = (int) strtoul (buf, &buf, 10);
- }
- }
-}
-
-/********************************************************************
- *
- * Procedure to determine if the PPP line discipline is registered.
- */
-
-static int
-ppp_registered(void)
-{
- int local_fd;
- int mfd = -1;
- int ret = 0;
- char slave[16];
-
- /*
- * We used to open the serial device and set it to the ppp line
- * discipline here, in order to create a ppp unit. But that is
- * not a good idea - the user might have specified a device that
- * they can't open (permission, or maybe it doesn't really exist).
- * So we grab a pty master/slave pair and use that.
- */
- if (!get_pty(&mfd, &local_fd, slave, 0)) {
- no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
- return 0;
- }
-
- /*
- * Try to put the device into the PPP discipline.
- */
- if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
- error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
- } else
- ret = 1;
-
- close(local_fd);
- close(mfd);
- return ret;
-}
-
-/********************************************************************
- *
- * ppp_available - check whether the system has any ppp interfaces
- * (in fact we check whether we can do an ioctl on ppp0).
- */
-
-int ppp_available(void)
-{
- int s, ok, fd;
- struct ifreq ifr;
- int size;
- int my_version, my_modification, my_patch;
- int osmaj, osmin, ospatch;
-
- no_ppp_msg =
- "This system lacks kernel support for PPP. This could be because\n"
- "the PPP kernel module could not be loaded, or because PPP was not\n"
- "included in the kernel configuration. If PPP was included as a\n"
- "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
- "ppp.o exists in /lib/modules/`uname -r`/net.\n"
- "See README.linux file in the ppp distribution for more details.\n";
-
- /* get the kernel version now, since we are called before sys_init */
- uname(&utsname);
- osmaj = osmin = ospatch = 0;
- sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
- kernel_version = KVERSION(osmaj, osmin, ospatch);
-
- fd = open("/dev/ppp", O_RDWR);
-#if 0
- if (fd < 0 && errno == ENOENT) {
- /* try making it and see if that helps. */
- if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
- makedev(108, 0)) >= 0) {
- fd = open("/dev/ppp", O_RDWR);
- if (fd >= 0)
- info("Created /dev/ppp device node");
- else
- unlink("/dev/ppp"); /* didn't work, undo the mknod */
- } else if (errno == EEXIST) {
- fd = open("/dev/ppp", O_RDWR);
- }
- }
-#endif /* 0 */
- if (fd >= 0) {
- new_style_driver = 1;
-
- /* XXX should get from driver */
- driver_version = 2;
- driver_modification = 4;
- driver_patch = 0;
- close(fd);
- return 1;
- }
- if (kernel_version >= KVERSION(2,3,13)) {
- if (errno == ENOENT)
- no_ppp_msg =
- "pppd is unable to open the /dev/ppp device.\n"
- "You need to create the /dev/ppp device node by\n"
- "executing the following command as root:\n"
- " mknod /dev/ppp c 108 0\n";
- return 0;
- }
-
-/*
- * Open a socket for doing the ioctl operations.
- */
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
-
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
-/*
- * If the device did not exist then attempt to create one by putting the
- * current tty into the PPP discipline. If this works then obtain the
- * flags for the device again.
- */
- if (!ok) {
- if (ppp_registered()) {
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
- }
- }
-/*
- * Ensure that the hardware address is for PPP and not something else
- */
- if (ok)
- ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
-
- if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
- ok = 0;
-
-/*
- * This is the PPP device. Validate the version of the driver at this
- * point to ensure that this program will work with the driver.
- */
- if (ok) {
- char abBuffer [1024];
-
- ifr.ifr_data = abBuffer;
- size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
- if (size < 0) {
- error("Couldn't read driver version: %m");
- ok = 0;
- no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
-
- } else {
- decode_version(abBuffer,
- &driver_version,
- &driver_modification,
- &driver_patch);
-/*
- * Validate the version of the driver against the version that we used.
- */
- decode_version(VERSION,
- &my_version,
- &my_modification,
- &my_patch);
-
- /* The version numbers must match */
- if (driver_version != my_version)
- ok = 0;
-
- /* The modification levels must be legal */
- if (driver_modification < 3) {
- if (driver_modification >= 2) {
- /* we can cope with 2.2.0 and above */
- driver_is_old = 1;
- } else {
- ok = 0;
- }
- }
-
- close (s);
- if (!ok) {
- slprintf(route_buffer, sizeof(route_buffer),
- "Sorry - PPP driver version %d.%d.%d is out of date\n",
- driver_version, driver_modification, driver_patch);
-
- no_ppp_msg = route_buffer;
- }
- }
- }
- return ok;
-}
-
-/********************************************************************
- *
- * sifvjcomp - config tcp header compression
- */
-
-int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
-{
- u_int x = get_flags(ppp_dev_fd);
-
- if (vjcomp) {
- if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
- vjcomp = 0;
- }
- }
-
- x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
- x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
- set_flags (ppp_dev_fd, x);
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifup - Config the interface up and enable IP packets to pass.
- */
-
-int sifup(int u)
-{
- struct ifreq ifr;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- if_is_up++;
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifdown - Disable the indicated protocol and config the interface
- * down if there are no remaining protocols.
- */
-
-int sifdown (int u)
-{
- struct ifreq ifr;
-
- if (if_is_up && --if_is_up > 0)
- return 1;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags &= ~IFF_UP;
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- return 1;
-}
-
-/********************************************************************
- *
- * sifaddr - Config the interface IP addresses and netmask.
- */
-
-int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
- u_int32_t net_mask)
-{
- struct ifreq ifr;
- struct rtentry rt;
-
- memset (&ifr, '\0', sizeof (ifr));
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
-
- strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-/*
- * Set our IP address
- */
- SIN_ADDR(ifr.ifr_addr) = our_adr;
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (errno != EEXIST) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR): Address already exists");
- }
- return (0);
- }
-/*
- * Set the gateway address
- */
- SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
- if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
- return (0);
- }
-/*
- * Set the netmask.
- * For recent kernels, force the netmask to 255.255.255.255.
- */
- if (kernel_version >= KVERSION(2,1,16))
- net_mask = ~0L;
- if (net_mask != 0) {
- SIN_ADDR(ifr.ifr_netmask) = net_mask;
- if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
- return (0);
- }
- }
-/*
- * Add the device route
- */
- if (kernel_version < KVERSION(2,1,16)) {
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0L;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* set ip_dynaddr in demand mode if address changes */
- if (demand && tune_kernel && !dynaddr_set
- && our_old_addr && our_old_addr != our_adr) {
- /* set ip_dynaddr if possible */
- char *path;
- int fd;
-
- path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
- if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable dynamic IP addressing: %m");
- close(fd);
- }
- dynaddr_set = 1; /* only 1 attempt */
- }
- our_old_addr = 0;
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-
-int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
-{
- struct ifreq ifr;
-
- if (kernel_version < KVERSION(2,1,16)) {
-/*
- * Delete the route through the device
- */
- struct rtentry rt;
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp() && ! ok_error (errno))
- error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* This way it is possible to have an IPX-only or IPv6-only interface */
- memset(&ifr, 0, sizeof(ifr));
- SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno)) {
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- return 0;
- }
- }
-
- our_old_addr = our_adr;
-
- return 1;
-}
-
-#ifdef INET6
-/********************************************************************
- *
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct in6_ifreq ifr6;
- struct ifreq ifr;
- struct in6_rtmsg rt6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- /* Local interface */
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
- error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
- return 0;
- }
-
- /* Route to remote host */
- memset(&rt6, 0, sizeof(rt6));
- IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
- rt6.rtmsg_flags = RTF_UP;
- rt6.rtmsg_dst_len = 10;
- rt6.rtmsg_ifindex = ifr.ifr_ifindex;
- rt6.rtmsg_metric = 1;
-
- if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
- error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
- return 0;
- }
-
- return 1;
-}
-
-
-/********************************************************************
- *
- * cif6addr - Remove IPv6 address from interface
- */
-int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct ifreq ifr;
- struct in6_ifreq ifr6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
- if (errno != EADDRNOTAVAIL) {
- if (! ok_error (errno))
- error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
- }
- else {
- warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
- }
- return (0);
- }
- return 1;
-}
-#endif /* INET6 */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 16 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd = -1;
- char pty_name[16];
- struct termios tios;
-
-#ifdef TIOCGPTN
- /*
- * Try the unix98 way first.
- */
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd >= 0) {
- int ptn;
- if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
- chmod(pty_name, S_IRUSR | S_IWUSR);
-#ifdef TIOCSPTLCK
- ptn = 0;
- if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
- warn("Couldn't unlock pty slave %s: %m", pty_name);
-#endif
- if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
- warn("Couldn't open pty slave %s: %m", pty_name);
- }
- }
-#endif /* TIOCGPTN */
-
- if (sfd < 0) {
- /* the old way - scan through the pty name space */
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0) {
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- break;
- }
- close(mfd);
- }
- }
- }
-
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 16);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD | CLOCAL;
- tios.c_iflag = IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/********************************************************************
- *
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Linux, we use a pty master/slave pair.
- */
-int
-open_ppp_loopback(void)
-{
- int flags;
-
- looped = 1;
- if (new_style_driver) {
- /* allocate ourselves a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
- set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
- set_kdebugflag(kdebugflag);
- ppp_fd = -1;
- return ppp_dev_fd;
- }
-
- if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
- fatal("No free pty for loopback");
- SYSDEBUG(("using %s for loopback", loop_name));
-
- set_ppp_fd(slave_fd);
-
- flags = fcntl(master_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set master loopback to nonblock: %m(%d)", errno);
-
- flags = fcntl(ppp_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
-
- if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
- fatal("ioctl(TIOCSETD): %m(%d)", errno);
-/*
- * Find out which interface we were given.
- */
- if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
-/*
- * Enable debug in the driver if requested.
- */
- set_kdebugflag (kdebugflag);
-
- return master_fd;
-}
-
-/********************************************************************
- *
- * restore_loop - reattach the ppp unit to the loopback.
- *
- * The kernel ppp driver automatically reattaches the ppp unit to
- * the loopback if the serial port is set to a line discipline other
- * than ppp, or if it detects a modem hangup. The former will happen
- * in disestablish_ppp if the latter hasn't already happened, so we
- * shouldn't need to do anything.
- *
- * Just to be sure, set the real serial port to the normal discipline.
- */
-
-static void
-restore_loop(void)
-{
- looped = 1;
- if (new_style_driver) {
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
- return;
- }
- if (ppp_fd != slave_fd) {
- (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
- set_ppp_fd(slave_fd);
- }
-}
-
-/********************************************************************
- *
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- struct npioctl npi;
-
- npi.protocol = proto;
- npi.mode = mode;
- if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
- proto, mode, errno);
- return 0;
- }
- return 1;
-}
-
-
-/********************************************************************
- *
- * sipxfaddr - Config the interface IPX networknumber
- */
-
-int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
- sipx->sipx_family = AF_IPX;
- sipx->sipx_port = 0;
- sipx->sipx_network = htonl (network);
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_CRTITF;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- result = 0;
- if (errno != EEXIST) {
- if (! ok_error (errno))
- dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
- }
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/********************************************************************
- *
- * cipxfaddr - Clear the information for the IPX network. The IPX routes
- * are removed and the device is no longer able to pass IPX
- * frames.
- */
-
-int cipxfaddr (int unit)
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_DLTITF;
- sipx->sipx_family = AF_IPX;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
- result = 0;
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/*
- * Use the hostname as part of the random number seed.
- */
-int
-get_host_seed()
-{
- int h;
- char *p = hostname;
-
- h = 407;
- for (p = hostname; *p != 0; ++p)
- h = h * 37 + *p;
- return h;
-}
-
-/********************************************************************
- *
- * sys_check_options - check the options that the user specified
- */
-
-int
-sys_check_options(void)
-{
-#ifdef IPX_CHANGE
-/*
- * Disable the IPX protocol if the support is not present in the kernel.
- */
- char *path;
-
- if (ipxcp_protent.enabled_flag) {
- struct stat stat_buf;
- if ((path = path_to_procfs("/net/ipx_interface")) == 0
- || lstat(path, &stat_buf) < 0) {
- error("IPX support is not present in the kernel\n");
- ipxcp_protent.enabled_flag = 0;
- }
- }
-#endif
- if (demand && driver_is_old) {
- option_error("demand dialling is not supported by kernel driver "
- "version %d.%d.%d", driver_version, driver_modification,
- driver_patch);
- return 0;
- }
- if (multilink && !new_style_driver) {
- warn("Warning: multilink is not supported by the kernel driver");
- multilink = 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c.wtmp b/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
deleted file mode 100644
index f1b48423e..000000000
--- a/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
+++ /dev/null
@@ -1,2750 +0,0 @@
-/*
- * sys-linux.c - System-dependent procedures for setting up
- * PPP interfaces on Linux systems
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <sys/errno.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/sysmacros.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <syslog.h>
-#include <string.h>
-#include <time.h>
-#include <memory.h>
-#include <utmp.h>
-#include <mntent.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <termios.h>
-#include <unistd.h>
-
-/* This is in netdevice.h. However, this compile will fail miserably if
- you attempt to include netdevice.h because it has so many references
- to __memcpy functions which it should not attempt to do. So, since I
- really don't use it, but it must be defined, define it now. */
-
-#ifndef MAX_ADDR_LEN
-#define MAX_ADDR_LEN 7
-#endif
-
-#if __GLIBC__ >= 2
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <netinet/if_ether.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#include <linux/if_arp.h>
-#include <linux/route.h>
-#include <linux/if_ether.h>
-#endif
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "ipcp.h"
-
-#ifdef IPX_CHANGE
-#include "ipxcp.h"
-#if __GLIBC__ >= 2 && \
- !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-#include <netipx/ipx.h>
-#else
-#include <linux/ipx.h>
-#endif
-#endif /* IPX_CHANGE */
-
-#ifdef PPP_FILTER
-#include <net/bpf.h>
-#include <linux/filter.h>
-#endif /* PPP_FILTER */
-
-#ifdef LOCKLIB
-#include <sys/locks.h>
-#endif
-
-#ifdef INET6
-#ifndef _LINUX_IN6_H
-/*
- * This is in linux/include/net/ipv6.h.
- */
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- __u32 ifr6_prefixlen;
- unsigned int ifr6_ifindex;
-};
-#endif
-
-#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
- memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
- sin6.s6_addr16[0] = htons(0xfe80); \
- eui64_copy(eui64, sin6.s6_addr32[2]); \
- } while (0)
-
-#endif /* INET6 */
-
-/* We can get an EIO error on an ioctl if the modem has hung up */
-#define ok_error(num) ((num)==EIO)
-
-static int tty_disc = N_TTY; /* The TTY discipline */
-static int ppp_disc = N_PPP; /* The PPP discpline */
-static int initfdflags = -1; /* Initial file descriptor flags for fd */
-static int ppp_fd = -1; /* fd which is set to PPP discipline */
-static int sock_fd = -1; /* socket for doing interface ioctls */
-static int slave_fd = -1;
-static int master_fd = -1;
-#ifdef INET6
-static int sock6_fd = -1;
-#endif /* INET6 */
-static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
-static int chindex; /* channel index (new style driver) */
-
-static fd_set in_fds; /* set of fds that wait_input waits for */
-static int max_in_fd; /* highest fd set in in_fds */
-
-static int has_proxy_arp = 0;
-static int driver_version = 0;
-static int driver_modification = 0;
-static int driver_patch = 0;
-static int driver_is_old = 0;
-static int restore_term = 0; /* 1 => we've munged the terminal */
-static struct termios inittermios; /* Initial TTY termios */
-
-static int new_style_driver = 0;
-
-static char loop_name[20];
-static unsigned char inbuf[512]; /* buffer for chars read from loopback */
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-static char proxy_arp_dev[16]; /* Device for proxy arp entry */
-static u_int32_t our_old_addr; /* for detecting address changes */
-static int dynaddr_set; /* 1 if ip_dynaddr set */
-static int looped; /* 1 if using loop */
-static int link_mtu; /* mtu for the link (not bundle) */
-
-static struct utsname utsname; /* for the kernel version */
-static int kernel_version;
-#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
-
-#define MAX_IFS 100
-
-#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
-#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
- IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
-
-#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
-
-/* Prototypes for procedures local to this file. */
-static int get_flags (int fd);
-static void set_flags (int fd, int flags);
-static int translate_speed (int bps);
-static int baud_rate_of (int speed);
-static void close_route_table (void);
-static int open_route_table (void);
-static int read_route_table (struct rtentry *rt);
-static int defaultroute_exists (struct rtentry *rt);
-static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
- char *name, int namelen);
-static void decode_version (char *buf, int *version, int *mod, int *patch);
-static int set_kdebugflag(int level);
-static int ppp_registered(void);
-static int make_ppp_unit(void);
-static void restore_loop(void); /* Transfer ppp unit back to loopback */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-/*
- * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
- * if it exists.
- */
-
-#define SET_SA_FAMILY(addr, family) \
- memset ((char *) &(addr), '\0', sizeof(addr)); \
- addr.sa_family = (family);
-
-/*
- * Determine if the PPP connection should still be present.
- */
-
-extern int hungup;
-
-/* new_fd is the fd of a tty */
-static void set_ppp_fd (int new_fd)
-{
- SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
- ppp_fd = new_fd;
- if (!new_style_driver)
- ppp_dev_fd = new_fd;
-}
-
-static int still_ppp(void)
-{
- if (new_style_driver)
- return !hungup && ppp_fd >= 0;
- if (!hungup || ppp_fd == slave_fd)
- return 1;
- if (slave_fd >= 0) {
- set_ppp_fd(slave_fd);
- return 1;
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Functions to read and set the flags value in the device driver
- */
-
-static int get_flags (int fd)
-{
- int flags;
-
- if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
- if ( ok_error (errno) )
- flags = 0;
- else
- fatal("ioctl(PPPIOCGFLAGS): %m");
- }
-
- SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
- return flags;
-}
-
-/********************************************************************/
-
-static void set_flags (int fd, int flags)
-{
- SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
-
- if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
- if (! ok_error (errno) )
- fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
- }
-}
-
-/********************************************************************
- *
- * sys_init - System-dependent initialization.
- */
-
-void sys_init(void)
-{
- int flags;
-
- if (new_style_driver) {
- ppp_dev_fd = open("/dev/ppp", O_RDWR);
- if (ppp_dev_fd < 0)
- fatal("Couldn't open /dev/ppp: %m");
- flags = fcntl(ppp_dev_fd, F_GETFL);
- if (flags == -1
- || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp to nonblock: %m");
- }
-
- /* Get an internet socket for doing socket ioctls. */
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- fatal("Couldn't create IP socket: %m(%d)", errno);
-
-#ifdef INET6
- sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (sock6_fd < 0)
- sock6_fd = -errno; /* save errno for later */
-#endif
-
- FD_ZERO(&in_fds);
- max_in_fd = 0;
-}
-
-/********************************************************************
- *
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-
-void sys_cleanup(void)
-{
-/*
- * Take down the device
- */
- if (if_is_up) {
- if_is_up = 0;
- sifdown(0);
- }
-/*
- * Delete any routes through the device.
- */
- if (default_route_gateway != 0)
- cifdefaultroute(0, 0, default_route_gateway);
-
- if (has_proxy_arp)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/********************************************************************
- *
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close(void)
-{
- if (new_style_driver)
- close(ppp_dev_fd);
- if (sock_fd >= 0)
- close(sock_fd);
- if (slave_fd >= 0)
- close(slave_fd);
- if (master_fd >= 0)
- close(master_fd);
- closelog();
-}
-
-/********************************************************************
- *
- * set_kdebugflag - Define the debugging level for the kernel
- */
-
-static int set_kdebugflag (int requested_level)
-{
- if (new_style_driver && ifunit < 0)
- return 1;
- if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
- if ( ! ok_error (errno) )
- error("ioctl(PPPIOCSDEBUG): %m");
- return (0);
- }
- SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
- requested_level));
- return (1);
-}
-
-/********************************************************************
- *
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-
-int tty_establish_ppp (int tty_fd)
-{
- int x;
- int fd = -1;
-
-/*
- * Ensure that the tty device is in exclusive mode.
- */
- if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
- if ( ! ok_error ( errno ))
- warn("Couldn't make tty exclusive: %m");
- }
-/*
- * Demand mode - prime the old ppp device to relinquish the unit.
- */
- if (!new_style_driver && looped
- && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
- error("ioctl(transfer ppp unit): %m");
- return -1;
- }
-/*
- * Set the current tty to the PPP discpline
- */
-
-#ifndef N_SYNC_PPP
-#define N_SYNC_PPP 14
-#endif
- ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
- if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
- if ( ! ok_error (errno) ) {
- error("Couldn't set tty to PPP discipline: %m");
- return -1;
- }
- }
-
- if (new_style_driver) {
- /* Open another instance of /dev/ppp and connect the channel to it */
- int flags;
-
- if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
- error("Couldn't get channel number: %m");
- goto err;
- }
- dbglog("using channel %d", chindex);
- fd = open("/dev/ppp", O_RDWR);
- if (fd < 0) {
- error("Couldn't reopen /dev/ppp: %m");
- goto err;
- }
- if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
- error("Couldn't attach to channel %d: %m", chindex);
- goto err_close;
- }
- flags = fcntl(fd, F_GETFL);
- if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
- set_ppp_fd(fd);
-
- if (!looped)
- ifunit = -1;
- if (!looped && !multilink) {
- /*
- * Create a new PPP unit.
- */
- if (make_ppp_unit() < 0)
- goto err_close;
- }
-
- if (looped)
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
-
- if (!multilink) {
- add_fd(ppp_dev_fd);
- if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
- error("Couldn't attach to PPP unit %d: %m", ifunit);
- goto err_close;
- }
- }
-
- } else {
- /*
- * Old-style driver: find out which interface we were given.
- */
- set_ppp_fd (tty_fd);
- if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
- if (ok_error (errno))
- goto err;
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
- }
- /* Check that we got the same unit again. */
- if (looped && x != ifunit)
- fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
- ifunit = x;
-
- /*
- * Fetch the initial file flags and reset blocking mode on the file.
- */
- initfdflags = fcntl(tty_fd, F_GETFL);
- if (initfdflags == -1 ||
- fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
- if ( ! ok_error (errno))
- warn("Couldn't set device to non-blocking mode: %m");
- }
- }
-
- looped = 0;
-
- /*
- * Enable debug in the driver if requested.
- */
- if (!looped)
- set_kdebugflag (kdebugflag);
-
-#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
-#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
- | SC_LOG_FLUSH)
-
- set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
- | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
-
- SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
- driver_version, driver_modification, driver_patch));
-
- return ppp_fd;
-
- err_close:
- close(fd);
- err:
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
- warn("Couldn't reset tty to normal line discipline: %m");
- return -1;
-}
-
-/********************************************************************
- *
- * tty_disestablish_ppp - Restore the serial port to normal operation,
- * and reconnect the ppp unit to the loopback if in demand mode.
- * This shouldn't call die() because it's called from die().
- */
-
-void tty_disestablish_ppp(int tty_fd)
-{
- if (demand)
- restore_loop();
- if (!hungup) {
-/*
- * Flush the tty output buffer so that the TIOCSETD doesn't hang.
- */
- if (tcflush(tty_fd, TCIOFLUSH) < 0)
- warn("tcflush failed: %m");
-/*
- * Restore the previous line discipline
- */
- if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(TIOCSETD, N_TTY): %m");
- }
-
- if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
- if ( ! ok_error (errno))
- warn("ioctl(TIOCNXCL): %m(%d)", errno);
- }
-
- /* Reset non-blocking mode on fd. */
- if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
- if ( ! ok_error (errno))
- warn("Couldn't restore device fd flags: %m");
- }
- }
- initfdflags = -1;
-
- if (new_style_driver) {
- close(ppp_fd);
- ppp_fd = -1;
- if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
- error("Couldn't release PPP unit: %m");
- if (!multilink)
- remove_fd(ppp_dev_fd);
- }
-}
-
-/*
- * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
- * Assumes new_style_driver.
- */
-static int make_ppp_unit()
-{
- int x;
-
- ifunit = req_unit;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- if (x < 0 && req_unit >= 0 && errno == EEXIST) {
- warn("Couldn't allocate PPP unit %d as it is already in use");
- ifunit = -1;
- x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
- }
- if (x < 0)
- error("Couldn't create new ppp unit: %m");
- return x;
-}
-
-/*
- * cfg_bundle - configure the existing bundle.
- * Used in demand mode.
- */
-void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- int flags;
-
- if (!new_style_driver)
- return;
-
- /* set the mrru, mtu and flags */
- if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
- error("Couldn't set MRRU: %m");
- flags = get_flags(ppp_dev_fd);
- flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
- flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
- | (mrru? SC_MULTILINK: 0);
-
- set_flags(ppp_dev_fd, flags);
-
- /* connect up the channel */
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
- fatal("Couldn't attach to PPP unit %d: %m", ifunit);
- add_fd(ppp_dev_fd);
-}
-
-/*
- * make_new_bundle - create a new PPP unit (i.e. a bundle)
- * and connect our channel to it. This should only get called
- * if `multilink' was set at the time establish_ppp was called.
- * In demand mode this uses our existing bundle instead of making
- * a new one.
- */
-void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
-{
- if (!new_style_driver)
- return;
-
- /* make us a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
-
- /* set the mrru and flags */
- cfg_bundle(mrru, mtru, rssn, tssn);
-}
-
-/*
- * bundle_attach - attach our link to a given PPP unit.
- * We assume the unit is controlled by another pppd.
- */
-int bundle_attach(int ifnum)
-{
- if (!new_style_driver)
- return -1;
-
- if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
- if (errno == ENXIO)
- return 0; /* doesn't still exist */
- fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
- }
- if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
- fatal("Couldn't connect to interface unit %d: %m", ifnum);
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
-
- ifunit = ifnum;
- return 1;
-}
-
-/********************************************************************
- *
- * clean_check - Fetch the flags for the device and generate
- * appropriate error messages.
- */
-void clean_check(void)
-{
- int x;
- char *s;
-
- if (still_ppp()) {
- if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
- s = NULL;
- switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
- case SC_RCV_B7_0:
- s = "all had bit 7 set to 1";
- break;
-
- case SC_RCV_B7_1:
- s = "all had bit 7 set to 0";
- break;
-
- case SC_RCV_EVNP:
- s = "all had odd parity";
- break;
-
- case SC_RCV_ODDP:
- s = "all had even parity";
- break;
- }
-
- if (s != NULL) {
- warn("Receive serial link is not 8-bit clean:");
- warn("Problem: %s", s);
- }
- }
- }
-}
-
-
-/*
- * List of valid speeds.
- */
-
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
-#ifdef B921600
- { 921600, B921600 },
-#endif
- { 0, 0 }
-};
-
-/********************************************************************
- *
- * Translate from bits/second to a speed_t.
- */
-
-static int translate_speed (int bps)
-{
- struct speed *speedp;
-
- if (bps != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- }
- warn("speed %d not supported", bps);
- }
- return 0;
-}
-
-/********************************************************************
- *
- * Translate from a speed_t to bits/second.
- */
-
-static int baud_rate_of (int speed)
-{
- struct speed *speedp;
-
- if (speed != 0) {
- for (speedp = speeds; speedp->speed_int; speedp++) {
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- }
- }
- return 0;
-}
-
-/********************************************************************
- *
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-
-void set_up_tty(int tty_fd, int local)
-{
- int speed;
- struct termios tios;
-
- setdtr(tty_fd, 1);
- if (tcgetattr(tty_fd, &tios) < 0) {
- if (!ok_error(errno))
- fatal("tcgetattr: %m(%d)", errno);
- return;
- }
-
- if (!restore_term)
- inittermios = tios;
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- tios.c_cflag |= CS8 | CREAD | HUPCL;
-
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (local || !modem)
- tios.c_cflag ^= (CLOCAL | HUPCL);
-
- switch (crtscts) {
- case 1:
- tios.c_cflag |= CRTSCTS;
- break;
-
- case -2:
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- break;
-
- case -1:
- tios.c_cflag &= ~CRTSCTS;
- break;
-
- default:
- break;
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed (&tios, speed);
- cfsetispeed (&tios, speed);
- }
-/*
- * We can't proceed if the serial port speed is B0,
- * since that implies that the serial port is disabled.
- */
- else {
- speed = cfgetospeed(&tios);
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
- if (!ok_error(errno))
- fatal("tcsetattr: %m");
-
- baud_rate = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/********************************************************************
- *
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-
-void setdtr (int tty_fd, int on)
-{
- int modembits = TIOCM_DTR;
-
- ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
-}
-
-/********************************************************************
- *
- * restore_tty - restore the terminal to the saved settings.
- */
-
-void restore_tty (int tty_fd)
-{
- if (restore_term) {
- restore_term = 0;
-/*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- if (!default_device)
- inittermios.c_lflag &= ~(ECHO | ECHONL);
-
- if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
- if (! ok_error (errno))
- warn("tcsetattr: %m");
- }
- }
-}
-
-/********************************************************************
- *
- * output - Output PPP packet.
- */
-
-void output (int unit, unsigned char *p, int len)
-{
- int fd = ppp_fd;
- int proto;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- if (len < PPP_HDRLEN)
- return;
- if (new_style_driver) {
- p += 2;
- len -= 2;
- proto = (p[0] << 8) + p[1];
- if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
- fd = ppp_dev_fd;
- }
- if (write(fd, p, len) < 0) {
- if (errno == EWOULDBLOCK || errno == ENOBUFS
- || errno == ENXIO || errno == EIO || errno == EINTR)
- warn("write: warning: %m (%d)", errno);
- else
- error("write: %m (%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-
-void wait_input(struct timeval *timo)
-{
- fd_set ready, exc;
- int n;
-
- ready = in_fds;
- exc = in_fds;
- n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m(%d)", errno);
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(int fd)
-{
- FD_SET(fd, &in_fds);
- if (fd > max_in_fd)
- max_in_fd = fd;
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(int fd)
-{
- FD_CLR(fd, &in_fds);
-}
-
-
-/********************************************************************
- *
- * read_packet - get a PPP packet from the serial device.
- */
-
-int read_packet (unsigned char *buf)
-{
- int len, nr;
-
- len = PPP_MRU + PPP_HDRLEN;
- if (new_style_driver) {
- *buf++ = PPP_ALLSTATIONS;
- *buf++ = PPP_UI;
- len -= 2;
- }
- nr = -1;
- if (ppp_fd >= 0) {
- nr = read(ppp_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- if (nr < 0 && new_style_driver && ifunit >= 0) {
- /* N.B. we read ppp_fd first since LCP packets come in there. */
- nr = read(ppp_dev_fd, buf, len);
- if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
- error("read /dev/ppp: %m");
- if (nr < 0 && errno == ENXIO)
- return 0;
- }
- return (new_style_driver && nr > 0)? nr+2: nr;
-}
-
-/********************************************************************
- *
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output(void)
-{
- int rv = 0;
- int n;
-
- if (new_style_driver) {
- while ((n = read_packet(inpacket_buf)) > 0)
- if (loop_frame(inpacket_buf, n))
- rv = 1;
- return rv;
- }
-
- while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
- if (loop_chars(inbuf, n))
- rv = 1;
-
- if (n == 0)
- fatal("eof on loopback");
-
- if (errno != EWOULDBLOCK)
- fatal("read from loopback: %m(%d)", errno);
-
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(int unit, int mtu)
-{
- struct ifreq ifr;
-
- SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- ifr.ifr_mtu = mtu;
-
- if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
- fatal("ioctl(SIOCSIFMTU): %m");
-}
-
-/********************************************************************
- *
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-
-void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
-{
- u_int x;
-
-/*
- * Set the asyncmap and other parameters for the ppp device
- */
- if (!still_ppp())
- return;
- link_mtu = mtu;
- SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
- return;
- }
-
- x = get_flags(ppp_fd);
- x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
- x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
- x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
- set_flags(ppp_fd, x);
-}
-
-/********************************************************************
- *
- * tty_set_xaccm - set the extended transmit ACCM for the interface.
- */
-
-void tty_set_xaccm (ext_accm accm)
-{
- SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
- accm[0], accm[1], accm[2], accm[3]));
-
- if (!still_ppp())
- return;
- if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
- if ( ! ok_error (errno))
- warn("ioctl(set extended ACCM): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * tty_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-
-void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
-{
- SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
-/*
- * If we were called because the link has gone down then there is nothing
- * which may be done. Just return without incident.
- */
- if (!still_ppp())
- return;
-/*
- * Set the receiver parameters
- */
- if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
- if ( ! ok_error (errno))
- error("ioctl(PPPIOCSMRU): %m(%d)", errno);
- }
- if (new_style_driver && ifunit >= 0
- && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
- error("Couldn't set MRU in generic PPP layer: %m");
-
- SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
- if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
- if (!ok_error(errno))
- error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
- }
-}
-
-/********************************************************************
- *
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-
-int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
-{
- struct ppp_option_data data;
-
- memset (&data, '\0', sizeof (data));
- data.ptr = opt_ptr;
- data.length = opt_len;
- data.transmit = for_transmit;
-
- if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
- return 1;
-
- return (errno == ENOBUFS)? 0: -1;
-}
-
-/********************************************************************
- *
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-
-void ccp_flags_set (int unit, int isopen, int isup)
-{
- if (still_ppp()) {
- int x = get_flags(ppp_dev_fd);
- x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
- x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
- set_flags (ppp_dev_fd, x);
- }
-}
-
-#ifdef PPP_FILTER
-/*
- * set_filters - set the active and pass filters in the kernel driver.
- */
-int set_filters(struct bpf_program *pass, struct bpf_program *active)
-{
- struct sock_fprog fp;
-
- fp.len = pass->bf_len;
- fp.filter = (struct sock_filter *) pass->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
- if (errno == ENOTTY)
- warn("kernel does not support PPP filtering");
- else
- error("Couldn't set pass-filter in kernel: %m");
- return 0;
- }
- fp.len = active->bf_len;
- fp.filter = (struct sock_filter *) active->bf_insns;
- if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- return 0;
- }
- return 1;
-}
-#endif /* PPP_FILTER */
-
-/********************************************************************
- *
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
-}
-
-/********************************************************************
- *
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
- req.stats_ptr = (caddr_t) &req.stats;
- strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
- if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
- error("Couldn't get PPP statistics: %m");
- return 0;
- }
- stats->bytes_in = req.stats.p.ppp_ibytes;
- stats->bytes_out = req.stats.p.ppp_obytes;
- return 1;
-}
-
-/********************************************************************
- *
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-
-int ccp_fatal_error (int unit)
-{
- int x = get_flags(ppp_dev_fd);
-
- return x & SC_DC_FERROR;
-}
-
-/********************************************************************
- *
- * path_to_procfs - find the path to the proc file system mount point
- */
-static char proc_path[MAXPATHLEN];
-static int proc_path_len;
-
-static char *path_to_procfs(const char *tail)
-{
- struct mntent *mntent;
- FILE *fp;
-
- if (proc_path_len == 0) {
- /* Default the mount location of /proc */
- strlcpy (proc_path, "/proc", sizeof(proc_path));
- proc_path_len = 5;
- fp = fopen(MOUNTED, "r");
- if (fp != NULL) {
- while ((mntent = getmntent(fp)) != NULL) {
- if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
- continue;
- if (strcmp(mntent->mnt_type, "proc") == 0) {
- strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
- proc_path_len = strlen(proc_path);
- break;
- }
- }
- fclose (fp);
- }
- }
-
- strlcpy(proc_path + proc_path_len, tail,
- sizeof(proc_path) - proc_path_len);
- return proc_path;
-}
-
-/*
- * /proc/net/route parsing stuff.
- */
-#define ROUTE_MAX_COLS 12
-FILE *route_fd = (FILE *) 0;
-static char route_buffer[512];
-static int route_dev_col, route_dest_col, route_gw_col;
-static int route_flags_col, route_mask_col;
-static int route_num_cols;
-
-static int open_route_table (void);
-static void close_route_table (void);
-static int read_route_table (struct rtentry *rt);
-
-/********************************************************************
- *
- * close_route_table - close the interface to the route table
- */
-
-static void close_route_table (void)
-{
- if (route_fd != (FILE *) 0) {
- fclose (route_fd);
- route_fd = (FILE *) 0;
- }
-}
-
-/********************************************************************
- *
- * open_route_table - open the interface to the route table
- */
-static char route_delims[] = " \t\n";
-
-static int open_route_table (void)
-{
- char *path;
-
- close_route_table();
-
- path = path_to_procfs("/net/route");
- route_fd = fopen (path, "r");
- if (route_fd == NULL) {
- error("can't open routing table %s: %m", path);
- return 0;
- }
-
- route_dev_col = 0; /* default to usual columns */
- route_dest_col = 1;
- route_gw_col = 2;
- route_flags_col = 3;
- route_mask_col = 7;
- route_num_cols = 8;
-
- /* parse header line */
- if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
- char *p = route_buffer, *q;
- int col;
- for (col = 0; col < ROUTE_MAX_COLS; ++col) {
- int used = 1;
- if ((q = strtok(p, route_delims)) == 0)
- break;
- if (strcasecmp(q, "iface") == 0)
- route_dev_col = col;
- else if (strcasecmp(q, "destination") == 0)
- route_dest_col = col;
- else if (strcasecmp(q, "gateway") == 0)
- route_gw_col = col;
- else if (strcasecmp(q, "flags") == 0)
- route_flags_col = col;
- else if (strcasecmp(q, "mask") == 0)
- route_mask_col = col;
- else
- used = 0;
- if (used && col >= route_num_cols)
- route_num_cols = col + 1;
- p = NULL;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * read_route_table - read the next entry from the route table
- */
-
-static int read_route_table(struct rtentry *rt)
-{
- char *cols[ROUTE_MAX_COLS], *p;
- int col;
-
- memset (rt, '\0', sizeof (struct rtentry));
-
- if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
- return 0;
-
- p = route_buffer;
- for (col = 0; col < route_num_cols; ++col) {
- cols[col] = strtok(p, route_delims);
- if (cols[col] == NULL)
- return 0; /* didn't get enough columns */
- p = NULL;
- }
-
- SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
- SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
- SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
-
- rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
- rt->rt_dev = cols[route_dev_col];
-
- return 1;
-}
-
-/********************************************************************
- *
- * defaultroute_exists - determine if there is a default route
- */
-
-static int defaultroute_exists (struct rtentry *rt)
-{
- int result = 0;
-
- if (!open_route_table())
- return 0;
-
- while (read_route_table(rt) != 0) {
- if ((rt->rt_flags & RTF_UP) == 0)
- continue;
-
- if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
- continue;
- if (SIN_ADDR(rt->rt_dst) == 0L) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address. `addr' is in network byte order.
- * Return value is 1 if yes, 0 if no, -1 if don't know.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(u_int32_t addr)
-{
- struct rtentry rt;
- int result = 0;
-
- if (!open_route_table())
- return -1; /* don't know */
-
- while (read_route_table(&rt)) {
- if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
- continue;
- if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
- result = 1;
- break;
- }
- }
-
- close_route_table();
- return result;
-}
-
-/********************************************************************
- *
- * sifdefaultroute - assign a default route through the address given.
- */
-
-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
-
- if (old_gateway != gateway)
- error("not replacing existing default route to %s [%I]",
- rt.rt_dev, old_gateway);
- return 0;
- }
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCADDRT): %m(%d)", errno);
- return 0;
- }
-
- default_route_gateway = gateway;
- return 1;
-}
-
-/********************************************************************
- *
- * cifdefaultroute - delete a default route through the address given.
- */
-
-int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
-{
- struct rtentry rt;
-
- default_route_gateway = 0;
-
- memset (&rt, '\0', sizeof (rt));
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = 0L;
- }
-
- SIN_ADDR(rt.rt_gateway) = gateway;
-
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp()) {
- if ( ! ok_error ( errno ))
- error("default route ioctl(SIOCDELRT): %m (%d)", errno);
- return 0;
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-
-int sifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
- char *forw_path;
-
- if (has_proxy_arp == 0) {
- memset (&arpreq, '\0', sizeof(arpreq));
-
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
-/*
- * Get the hardware address of an interface on the same subnet
- * as our local address.
- */
- if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
- sizeof(proxy_arp_dev))) {
- error("Cannot determine ethernet address for proxy ARP");
- return 0;
- }
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCSARP): %m(%d)", errno);
- return 0;
- }
- proxy_arp_addr = his_adr;
- has_proxy_arp = 1;
-
- if (tune_kernel) {
- forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
- if (forw_path != 0) {
- int fd = open(forw_path, O_WRONLY);
- if (fd >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable IP forwarding: %m");
- close(fd);
- }
- }
- }
- }
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-
-int cifproxyarp (int unit, u_int32_t his_adr)
-{
- struct arpreq arpreq;
-
- if (has_proxy_arp) {
- has_proxy_arp = 0;
- memset (&arpreq, '\0', sizeof(arpreq));
- SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
- SIN_ADDR(arpreq.arp_pa) = his_adr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
-
- if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCDARP): %m(%d)", errno);
- return 0;
- }
- }
- return 1;
-}
-
-/********************************************************************
- *
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-
-static int get_ether_addr (u_int32_t ipaddr,
- struct sockaddr *hwaddr,
- char *name, int namelen)
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- char *aliasp;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- error("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return 0;
- }
-
- SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
- ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
-/*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
- ina = SIN_ADDR(ifr->ifr_addr);
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
- ifreq.ifr_name));
-/*
- * Check that the interface is up, and not point-to-point
- * nor loopback.
- */
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
-
- mask = SIN_ADDR(ifreq.ifr_addr);
- SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
- ip_ntoa(ina), ntohl(mask)));
-
- if (((ipaddr ^ ina) & mask) != 0)
- continue;
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
-
- strlcpy(name, ifreq.ifr_name, namelen);
-
- /* trim off the :1 in eth0:1 */
- aliasp = strchr(name, ':');
- if (aliasp != 0)
- *aliasp = 0;
-
- info("found interface %s for proxy arp", name);
-/*
- * Now get the hardware address.
- */
- memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
- if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
- error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
- return 0;
- }
-
- memcpy (hwaddr,
- &ifreq.ifr_hwaddr,
- sizeof (struct sockaddr));
-
- SYSDEBUG ((LOG_DEBUG,
- "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
- (int) ((unsigned char *) &hwaddr->sa_data)[0],
- (int) ((unsigned char *) &hwaddr->sa_data)[1],
- (int) ((unsigned char *) &hwaddr->sa_data)[2],
- (int) ((unsigned char *) &hwaddr->sa_data)[3],
- (int) ((unsigned char *) &hwaddr->sa_data)[4],
- (int) ((unsigned char *) &hwaddr->sa_data)[5],
- (int) ((unsigned char *) &hwaddr->sa_data)[6],
- (int) ((unsigned char *) &hwaddr->sa_data)[7]));
- return 1;
-}
-
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *name)
-{
- struct ifreq ifreq;
- int ret, sock_fd;
-
- sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock_fd < 0)
- return 0;
- memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
- strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
- ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
- close(sock_fd);
- if (ret >= 0)
- memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
- return ret;
-}
-
-/*
- * get_first_ethernet - return the name of the first ethernet-style
- * interface on this system.
- */
-char *
-get_first_ethernet()
-{
- return "eth0";
-}
-
-/********************************************************************
- *
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-
-u_int32_t GetMask (u_int32_t addr)
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
-
- addr = ntohl(addr);
-
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
-
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-/*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
- if ( ! ok_error ( errno ))
- warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
- return mask;
- }
-
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
-/*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = SIN_ADDR(ifr->ifr_addr);
- if (((ntohl(ina) ^ addr) & nmask) != 0)
- continue;
-/*
- * Check that the interface is up, and not point-to-point nor loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
-
- if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
- continue;
-/*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= SIN_ADDR(ifreq.ifr_addr);
- break;
- }
- return mask;
-}
-
-/********************************************************************
- *
- * Internal routine to decode the version.modification.patch level
- */
-
-static void decode_version (char *buf, int *version,
- int *modification, int *patch)
-{
- char *endp;
-
- *version = (int) strtoul (buf, &endp, 10);
- *modification = 0;
- *patch = 0;
-
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *modification = (int) strtoul (buf, &endp, 10);
- if (endp != buf && *endp == '.') {
- buf = endp + 1;
- *patch = (int) strtoul (buf, &buf, 10);
- }
- }
-}
-
-/********************************************************************
- *
- * Procedure to determine if the PPP line discipline is registered.
- */
-
-static int
-ppp_registered(void)
-{
- int local_fd;
- int mfd = -1;
- int ret = 0;
- char slave[16];
-
- /*
- * We used to open the serial device and set it to the ppp line
- * discipline here, in order to create a ppp unit. But that is
- * not a good idea - the user might have specified a device that
- * they can't open (permission, or maybe it doesn't really exist).
- * So we grab a pty master/slave pair and use that.
- */
- if (!get_pty(&mfd, &local_fd, slave, 0)) {
- no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
- return 0;
- }
-
- /*
- * Try to put the device into the PPP discipline.
- */
- if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
- error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
- } else
- ret = 1;
-
- close(local_fd);
- close(mfd);
- return ret;
-}
-
-/********************************************************************
- *
- * ppp_available - check whether the system has any ppp interfaces
- * (in fact we check whether we can do an ioctl on ppp0).
- */
-
-int ppp_available(void)
-{
- int s, ok, fd;
- struct ifreq ifr;
- int size;
- int my_version, my_modification, my_patch;
- int osmaj, osmin, ospatch;
-
- no_ppp_msg =
- "This system lacks kernel support for PPP. This could be because\n"
- "the PPP kernel module could not be loaded, or because PPP was not\n"
- "included in the kernel configuration. If PPP was included as a\n"
- "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
- "ppp.o exists in /lib/modules/`uname -r`/net.\n"
- "See README.linux file in the ppp distribution for more details.\n";
-
- /* get the kernel version now, since we are called before sys_init */
- uname(&utsname);
- osmaj = osmin = ospatch = 0;
- sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
- kernel_version = KVERSION(osmaj, osmin, ospatch);
-
- fd = open("/dev/ppp", O_RDWR);
-#if 0
- if (fd < 0 && errno == ENOENT) {
- /* try making it and see if that helps. */
- if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
- makedev(108, 0)) >= 0) {
- fd = open("/dev/ppp", O_RDWR);
- if (fd >= 0)
- info("Created /dev/ppp device node");
- else
- unlink("/dev/ppp"); /* didn't work, undo the mknod */
- } else if (errno == EEXIST) {
- fd = open("/dev/ppp", O_RDWR);
- }
- }
-#endif /* 0 */
- if (fd >= 0) {
- new_style_driver = 1;
-
- /* XXX should get from driver */
- driver_version = 2;
- driver_modification = 4;
- driver_patch = 0;
- close(fd);
- return 1;
- }
- if (kernel_version >= KVERSION(2,3,13)) {
- if (errno == ENOENT)
- no_ppp_msg =
- "pppd is unable to open the /dev/ppp device.\n"
- "You need to create the /dev/ppp device node by\n"
- "executing the following command as root:\n"
- " mknod /dev/ppp c 108 0\n";
- return 0;
- }
-
-/*
- * Open a socket for doing the ioctl operations.
- */
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
-
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
-/*
- * If the device did not exist then attempt to create one by putting the
- * current tty into the PPP discipline. If this works then obtain the
- * flags for the device again.
- */
- if (!ok) {
- if (ppp_registered()) {
- strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
- ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
- }
- }
-/*
- * Ensure that the hardware address is for PPP and not something else
- */
- if (ok)
- ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
-
- if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
- ok = 0;
-
-/*
- * This is the PPP device. Validate the version of the driver at this
- * point to ensure that this program will work with the driver.
- */
- if (ok) {
- char abBuffer [1024];
-
- ifr.ifr_data = abBuffer;
- size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
- if (size < 0) {
- error("Couldn't read driver version: %m");
- ok = 0;
- no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
-
- } else {
- decode_version(abBuffer,
- &driver_version,
- &driver_modification,
- &driver_patch);
-/*
- * Validate the version of the driver against the version that we used.
- */
- decode_version(VERSION,
- &my_version,
- &my_modification,
- &my_patch);
-
- /* The version numbers must match */
- if (driver_version != my_version)
- ok = 0;
-
- /* The modification levels must be legal */
- if (driver_modification < 3) {
- if (driver_modification >= 2) {
- /* we can cope with 2.2.0 and above */
- driver_is_old = 1;
- } else {
- ok = 0;
- }
- }
-
- close (s);
- if (!ok) {
- slprintf(route_buffer, sizeof(route_buffer),
- "Sorry - PPP driver version %d.%d.%d is out of date\n",
- driver_version, driver_modification, driver_patch);
-
- no_ppp_msg = route_buffer;
- }
- }
- }
- return ok;
-}
-
-/********************************************************************
- *
- * Update the wtmp file with the appropriate user name and tty device.
- */
-
-void logwtmp (const char *line, const char *name, const char *host)
-{
- struct utmp ut, *utp;
- pid_t mypid = getpid();
-#if __GLIBC__ < 2
- int wtmp;
-#endif
-
-/*
- * Update the signon database for users.
- * Christoph Lameter: Copied from poeigl-1.36 Jan 3, 1996
- */
- utmpname(_PATH_UTMP);
- setutent();
- while ((utp = getutent()) && (utp->ut_pid != mypid))
- /* nothing */;
-
- /* Is this call really necessary? There is another one after the 'put' */
- endutent();
-
- if (utp)
- memcpy(&ut, utp, sizeof(ut));
- else
- /* some gettys/telnetds don't initialize utmp... */
- memset(&ut, 0, sizeof(ut));
-
- if (ut.ut_id[0] == 0)
- strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
-
- strncpy(ut.ut_user, name, sizeof(ut.ut_user));
- strncpy(ut.ut_line, line, sizeof(ut.ut_line));
-
- time(&ut.ut_time);
-
- ut.ut_type = USER_PROCESS;
- ut.ut_pid = mypid;
-
- /* Insert the host name if one is supplied */
- if (*host)
- strncpy (ut.ut_host, host, sizeof(ut.ut_host));
-
- /* Insert the IP address of the remote system if IP is enabled */
- if (ipcp_protent.enabled_flag && ipcp_hisoptions[0].neg_addr)
- memcpy(&ut.ut_addr, (char *) &ipcp_hisoptions[0].hisaddr,
- sizeof(ut.ut_addr));
-
- /* CL: Makes sure that the logout works */
- if (*host == 0 && *name==0)
- ut.ut_host[0]=0;
-
- pututline(&ut);
- endutent();
-/*
- * Update the wtmp file.
- */
-#if __GLIBC__ >= 2
- updwtmp(_PATH_WTMP, &ut);
-#else
- wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY);
- if (wtmp >= 0) {
- flock(wtmp, LOCK_EX);
-
- if (write (wtmp, (char *)&ut, sizeof(ut)) != sizeof(ut))
- warn("error writing %s: %m", _PATH_WTMP);
-
- flock(wtmp, LOCK_UN);
-
- close (wtmp);
- }
-#endif
-}
-
-
-/********************************************************************
- *
- * sifvjcomp - config tcp header compression
- */
-
-int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
-{
- u_int x = get_flags(ppp_dev_fd);
-
- if (vjcomp) {
- if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
- vjcomp = 0;
- }
- }
-
- x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
- x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
- set_flags (ppp_dev_fd, x);
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifup - Config the interface up and enable IP packets to pass.
- */
-
-int sifup(int u)
-{
- struct ifreq ifr;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- if_is_up++;
-
- return 1;
-}
-
-/********************************************************************
- *
- * sifdown - Disable the indicated protocol and config the interface
- * down if there are no remaining protocols.
- */
-
-int sifdown (int u)
-{
- struct ifreq ifr;
-
- if (if_is_up && --if_is_up > 0)
- return 1;
-
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
- if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
- return 0;
- }
-
- ifr.ifr_flags &= ~IFF_UP;
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
- return 0;
- }
- return 1;
-}
-
-/********************************************************************
- *
- * sifaddr - Config the interface IP addresses and netmask.
- */
-
-int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
- u_int32_t net_mask)
-{
- struct ifreq ifr;
- struct rtentry rt;
-
- memset (&ifr, '\0', sizeof (ifr));
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
- SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
-
- strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
-/*
- * Set our IP address
- */
- SIN_ADDR(ifr.ifr_addr) = our_adr;
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (errno != EEXIST) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR): Address already exists");
- }
- return (0);
- }
-/*
- * Set the gateway address
- */
- SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
- if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
- return (0);
- }
-/*
- * Set the netmask.
- * For recent kernels, force the netmask to 255.255.255.255.
- */
- if (kernel_version >= KVERSION(2,1,16))
- net_mask = ~0L;
- if (net_mask != 0) {
- SIN_ADDR(ifr.ifr_netmask) = net_mask;
- if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
- return (0);
- }
- }
-/*
- * Add the device route
- */
- if (kernel_version < KVERSION(2,1,16)) {
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0L;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
- if (! ok_error (errno))
- error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* set ip_dynaddr in demand mode if address changes */
- if (demand && tune_kernel && !dynaddr_set
- && our_old_addr && our_old_addr != our_adr) {
- /* set ip_dynaddr if possible */
- char *path;
- int fd;
-
- path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
- if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
- if (write(fd, "1", 1) != 1)
- error("Couldn't enable dynamic IP addressing: %m");
- close(fd);
- }
- dynaddr_set = 1; /* only 1 attempt */
- }
- our_old_addr = 0;
-
- return 1;
-}
-
-/********************************************************************
- *
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-
-int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
-{
- struct ifreq ifr;
-
- if (kernel_version < KVERSION(2,1,16)) {
-/*
- * Delete the route through the device
- */
- struct rtentry rt;
- memset (&rt, '\0', sizeof (rt));
-
- SET_SA_FAMILY (rt.rt_dst, AF_INET);
- SET_SA_FAMILY (rt.rt_gateway, AF_INET);
- rt.rt_dev = ifname;
-
- SIN_ADDR(rt.rt_gateway) = 0;
- SIN_ADDR(rt.rt_dst) = his_adr;
- rt.rt_flags = RTF_UP | RTF_HOST;
-
- if (kernel_version > KVERSION(2,1,0)) {
- SET_SA_FAMILY (rt.rt_genmask, AF_INET);
- SIN_ADDR(rt.rt_genmask) = -1L;
- }
-
- if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
- if (still_ppp() && ! ok_error (errno))
- error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
- return (0);
- }
- }
-
- /* This way it is possible to have an IPX-only or IPv6-only interface */
- memset(&ifr, 0, sizeof(ifr));
- SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno)) {
- error("ioctl(SIOCSIFADDR): %m(%d)", errno);
- return 0;
- }
- }
-
- our_old_addr = our_adr;
-
- return 1;
-}
-
-#ifdef INET6
-/********************************************************************
- *
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct in6_ifreq ifr6;
- struct ifreq ifr;
- struct in6_rtmsg rt6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof (ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- /* Local interface */
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
- error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
- return 0;
- }
-
- /* Route to remote host */
- memset(&rt6, 0, sizeof(rt6));
- IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
- rt6.rtmsg_flags = RTF_UP;
- rt6.rtmsg_dst_len = 10;
- rt6.rtmsg_ifindex = ifr.ifr_ifindex;
- rt6.rtmsg_metric = 1;
-
- if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
- error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
- return 0;
- }
-
- return 1;
-}
-
-
-/********************************************************************
- *
- * cif6addr - Remove IPv6 address from interface
- */
-int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
-{
- struct ifreq ifr;
- struct in6_ifreq ifr6;
-
- if (sock6_fd < 0) {
- errno = -sock6_fd;
- error("IPv6 socket creation failed: %m");
- return 0;
- }
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
- error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
- return 0;
- }
-
- memset(&ifr6, 0, sizeof(ifr6));
- IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = 10;
-
- if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
- if (errno != EADDRNOTAVAIL) {
- if (! ok_error (errno))
- error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
- }
- else {
- warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
- }
- return (0);
- }
- return 1;
-}
-#endif /* INET6 */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 16 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd = -1;
- char pty_name[16];
- struct termios tios;
-
-#ifdef TIOCGPTN
- /*
- * Try the unix98 way first.
- */
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd >= 0) {
- int ptn;
- if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
- chmod(pty_name, S_IRUSR | S_IWUSR);
-#ifdef TIOCSPTLCK
- ptn = 0;
- if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
- warn("Couldn't unlock pty slave %s: %m", pty_name);
-#endif
- if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
- warn("Couldn't open pty slave %s: %m", pty_name);
- }
- }
-#endif /* TIOCGPTN */
-
- if (sfd < 0) {
- /* the old way - scan through the pty name space */
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0) {
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- break;
- }
- close(mfd);
- }
- }
- }
-
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 16);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD | CLOCAL;
- tios.c_iflag = IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/********************************************************************
- *
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Linux, we use a pty master/slave pair.
- */
-int
-open_ppp_loopback(void)
-{
- int flags;
-
- looped = 1;
- if (new_style_driver) {
- /* allocate ourselves a ppp unit */
- if (make_ppp_unit() < 0)
- die(1);
- set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
- set_kdebugflag(kdebugflag);
- ppp_fd = -1;
- return ppp_dev_fd;
- }
-
- if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
- fatal("No free pty for loopback");
- SYSDEBUG(("using %s for loopback", loop_name));
-
- set_ppp_fd(slave_fd);
-
- flags = fcntl(master_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set master loopback to nonblock: %m(%d)", errno);
-
- flags = fcntl(ppp_fd, F_GETFL);
- if (flags == -1 ||
- fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
-
- if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
- fatal("ioctl(TIOCSETD): %m(%d)", errno);
-/*
- * Find out which interface we were given.
- */
- if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
- fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
-/*
- * Enable debug in the driver if requested.
- */
- set_kdebugflag (kdebugflag);
-
- return master_fd;
-}
-
-/********************************************************************
- *
- * restore_loop - reattach the ppp unit to the loopback.
- *
- * The kernel ppp driver automatically reattaches the ppp unit to
- * the loopback if the serial port is set to a line discipline other
- * than ppp, or if it detects a modem hangup. The former will happen
- * in disestablish_ppp if the latter hasn't already happened, so we
- * shouldn't need to do anything.
- *
- * Just to be sure, set the real serial port to the normal discipline.
- */
-
-static void
-restore_loop(void)
-{
- looped = 1;
- if (new_style_driver) {
- set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
- return;
- }
- if (ppp_fd != slave_fd) {
- (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
- set_ppp_fd(slave_fd);
- }
-}
-
-/********************************************************************
- *
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- struct npioctl npi;
-
- npi.protocol = proto;
- npi.mode = mode;
- if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
- if (! ok_error (errno))
- error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
- proto, mode, errno);
- return 0;
- }
- return 1;
-}
-
-
-/********************************************************************
- *
- * sipxfaddr - Config the interface IPX networknumber
- */
-
-int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
- sipx->sipx_family = AF_IPX;
- sipx->sipx_port = 0;
- sipx->sipx_network = htonl (network);
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_CRTITF;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- result = 0;
- if (errno != EEXIST) {
- if (! ok_error (errno))
- dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
- }
- else {
- warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
- }
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/********************************************************************
- *
- * cipxfaddr - Clear the information for the IPX network. The IPX routes
- * are removed and the device is no longer able to pass IPX
- * frames.
- */
-
-int cipxfaddr (int unit)
-{
- int result = 1;
-
-#ifdef IPX_CHANGE
- int skfd;
- struct ifreq ifr;
- struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
-
- skfd = socket (AF_IPX, SOCK_DGRAM, 0);
- if (skfd < 0) {
- if (! ok_error (errno))
- dbglog("socket(AF_IPX): %m (%d)", errno);
- result = 0;
- }
- else {
- memset (&ifr, '\0', sizeof (ifr));
- strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- sipx->sipx_type = IPX_FRAME_ETHERII;
- sipx->sipx_action = IPX_DLTITF;
- sipx->sipx_family = AF_IPX;
-/*
- * Set the IPX device
- */
- if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
- if (! ok_error (errno))
- info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
- result = 0;
- }
- close (skfd);
- }
-#endif
- return result;
-}
-
-/*
- * Use the hostname as part of the random number seed.
- */
-int
-get_host_seed()
-{
- int h;
- char *p = hostname;
-
- h = 407;
- for (p = hostname; *p != 0; ++p)
- h = h * 37 + *p;
- return h;
-}
-
-/********************************************************************
- *
- * sys_check_options - check the options that the user specified
- */
-
-int
-sys_check_options(void)
-{
-#ifdef IPX_CHANGE
-/*
- * Disable the IPX protocol if the support is not present in the kernel.
- */
- char *path;
-
- if (ipxcp_protent.enabled_flag) {
- struct stat stat_buf;
- if ((path = path_to_procfs("/net/ipx_interface")) == 0
- || lstat(path, &stat_buf) < 0) {
- error("IPX support is not present in the kernel\n");
- ipxcp_protent.enabled_flag = 0;
- }
- }
-#endif
- if (demand && driver_is_old) {
- option_error("demand dialling is not supported by kernel driver "
- "version %d.%d.%d", driver_version, driver_modification,
- driver_patch);
- return 0;
- }
- if (multilink && !new_style_driver) {
- warn("Warning: multilink is not supported by the kernel driver");
- multilink = 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-solaris.c b/mdk-stage1/ppp/pppd/sys-solaris.c
deleted file mode 100644
index da5f9c45a..000000000
--- a/mdk-stage1/ppp/pppd/sys-solaris.c
+++ /dev/null
@@ -1,2737 +0,0 @@
-/*
- * System-dependent procedures for pppd under Solaris 2.
- *
- * Parts re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original sys-svr4.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <limits.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <termios.h>
-#ifndef CRTSCTS
-#include <sys/termiox.h>
-#endif
-#include <signal.h>
-#include <utmpx.h>
-#include <sys/types.h>
-#include <sys/ioccom.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/sysmacros.h>
-#include <sys/systeminfo.h>
-#include <sys/dlpi.h>
-#include <sys/stat.h>
-#include <sys/mkdev.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/route.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-#ifdef SOL2
-#include <sys/tihdr.h>
-#include <sys/tiuser.h>
-#include <inet/common.h>
-#include <inet/mib2.h>
-#include <sys/ethernet.h>
-#endif
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-#include "ipcp.h"
-#include "ccp.h"
-
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-#if !defined(PPP_DEV_NAME)
-#define PPP_DEV_NAME "/dev/" PPP_DRV_NAME
-#endif /* !defined(PPP_DEV_NAME) */
-
-#if !defined(AHDLC_MOD_NAME)
-#define AHDLC_MOD_NAME "ppp_ahdl"
-#endif /* !defined(AHDLC_MOD_NAME) */
-
-#if !defined(COMP_MOD_NAME)
-#define COMP_MOD_NAME "ppp_comp"
-#endif /* !defined(COMP_MOD_NAME) */
-
-#if !defined(IP_DEV_NAME)
-#define IP_DEV_NAME "/dev/ip"
-#endif /* !defined(IP_DEV_NAME) */
-
-#if !defined(IP_MOD_NAME)
-#define IP_MOD_NAME "ip"
-#endif /* !defined(IP_MOD_NAME) */
-
-#if !defined(UDP_DEV_NAME) && defined(SOL2)
-#define UDP_DEV_NAME "/dev/udp"
-#endif /* !defined(UDP_DEV_NAME) && defined(SOL2) */
-
-#if !defined(UDP6_DEV_NAME) && defined(SOL2)
-#define UDP6_DEV_NAME "/dev/udp6"
-#endif /* !defined(UDP6_DEV_NAME) && defined(SOL2) */
-
-static const char rcsid[] = RCSID;
-
-#if defined(SOL2)
-/*
- * "/dev/udp" is used as a multiplexor to PLINK the interface stream
- * under. It is used in place of "/dev/ip" since STREAMS will not let
- * a driver be PLINK'ed under itself, and "/dev/ip" is typically the
- * driver at the bottom of the tunneling interfaces stream.
- */
-static char *mux_dev_name = UDP_DEV_NAME;
-#else
-static char *mux_dev_name = IP_DEV_NAME;
-#endif
-static int pppfd;
-static int fdmuxid = -1;
-static int ipfd;
-static int ipmuxid = -1;
-
-#if defined(INET6) && defined(SOL2)
-static int ip6fd; /* IP file descriptor */
-static int ip6muxid = -1; /* Multiplexer file descriptor */
-static int if6_is_up = 0; /* IPv6 interface has been marked up */
-
-#define _IN6_LLX_FROM_EUI64(l, s, eui64, as) do { \
- s->sin6_addr.s6_addr32[0] = htonl(as); \
- eui64_copy(eui64, s->sin6_addr.s6_addr32[2]); \
- s->sin6_family = AF_INET6; \
- l.lifr_addr.ss_family = AF_INET6; \
- l.lifr_addrlen = 10; \
- l.lifr_addr = laddr; \
- } while (0)
-
-#define IN6_LLADDR_FROM_EUI64(l, s, eui64) \
- _IN6_LLX_FROM_EUI64(l, s, eui64, 0xfe800000)
-
-#define IN6_LLTOKEN_FROM_EUI64(l, s, eui64) \
- _IN6_LLX_FROM_EUI64(l, s, eui64, 0)
-
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if defined(INET6) && defined(SOL2)
-static char first_ether_name[LIFNAMSIZ]; /* Solaris 8 and above */
-#else
-static char first_ether_name[IFNAMSIZ]; /* Before Solaris 8 */
-#define MAXIFS 256 /* Max # of interfaces */
-#endif /* defined(INET6) && defined(SOL2) */
-
-static int restore_term;
-static struct termios inittermios;
-#ifndef CRTSCTS
-static struct termiox inittermiox;
-static int termiox_ok;
-#endif
-static struct winsize wsinfo; /* Initial window size info */
-static pid_t tty_sid; /* original session ID for terminal */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-#define MAX_POLLFDS 32
-static struct pollfd pollfds[MAX_POLLFDS];
-static int n_pollfds;
-
-static int link_mtu, link_mru;
-
-#define NMODULES 32
-static int tty_nmodules;
-static char tty_modules[NMODULES][FMNAMESZ+1];
-static int tty_npushed;
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t remote_addr; /* IP address of peer */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-
-/* Prototypes for procedures local to this file. */
-static int translate_speed __P((int));
-static int baud_rate_of __P((int));
-static int get_ether_addr __P((u_int32_t, struct sockaddr *));
-static int get_hw_addr __P((char *, u_int32_t, struct sockaddr *));
-static int get_hw_addr_dlpi __P((char *, struct sockaddr *));
-static int dlpi_attach __P((int, int));
-static int dlpi_info_req __P((int));
-static int dlpi_get_reply __P((int, union DL_primitives *, int, int));
-static int strioctl __P((int, int, void *, int, int));
-
-#ifdef SOL2
-/*
- * sifppa - Sets interface ppa
- *
- * without setting the ppa, ip module will return EINVAL upon setting the
- * interface UP (SIOCSxIFFLAGS). This is because ip module in 2.8 expects
- * two DLPI_INFO_REQ to be sent down to the driver (below ip) before
- * IFF_UP can be set. Plumbing the device causes one DLPI_INFO_REQ to
- * be sent down, and the second DLPI_INFO_REQ is sent upon receiving
- * IF_UNITSEL (old) or SIOCSLIFNAME (new) ioctls. Such setting of the ppa
- * is required because the ppp DLPI provider advertises itself as
- * a DLPI style 2 type, which requires a point of attachment to be
- * specified. The only way the user can specify a point of attachment
- * is via SIOCSLIFNAME or IF_UNITSEL.
- *
- * Such changes in the behavior of ip module was made to meet new or
- * evolving standards requirements.
- *
- */
-static int
-sifppa(fd, ppa)
- int fd;
- int ppa;
-{
- return (int)ioctl(fd, IF_UNITSEL, (char *)&ppa);
-}
-#endif /* SOL2 */
-
-#if defined(SOL2) && defined(INET6)
-/*
- * get_first_ethernet - returns the first Ethernet interface name found in
- * the system, or NULL if none is found
- *
- * NOTE: This is the lifreq version (Solaris 8 and above)
- */
-char *
-get_first_ethernet()
-{
- struct lifnum lifn;
- struct lifconf lifc;
- struct lifreq *plifreq;
- struct lifreq lifr;
- int fd, num_ifs, i, found;
- uint_t fl, req_size;
- char *req;
-
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- /*
- * Find out how many interfaces are running
- */
- lifn.lifn_family = AF_UNSPEC;
- lifn.lifn_flags = LIFC_NOXMIT;
- if (ioctl(fd, SIOCGLIFNUM, &lifn) < 0) {
- close(fd);
- error("could not determine number of interfaces: %m");
- return 0;
- }
-
- num_ifs = lifn.lifn_count;
- req_size = num_ifs * sizeof(struct lifreq);
- req = malloc(req_size);
- if (req == NULL) {
- close(fd);
- error("out of memory");
- return 0;
- }
-
- /*
- * Get interface configuration info for all interfaces
- */
- lifc.lifc_family = AF_UNSPEC;
- lifc.lifc_flags = LIFC_NOXMIT;
- lifc.lifc_len = req_size;
- lifc.lifc_buf = req;
- if (ioctl(fd, SIOCGLIFCONF, &lifc) < 0) {
- close(fd);
- free(req);
- error("SIOCGLIFCONF: %m");
- return 0;
- }
-
- /*
- * And traverse each interface to look specifically for the first
- * occurence of an Ethernet interface which has been marked up
- */
- plifreq = lifc.lifc_req;
- found = 0;
- for (i = lifc.lifc_len / sizeof(struct lifreq); i > 0; i--, plifreq++) {
-
- if (strchr(plifreq->lifr_name, ':') != NULL)
- continue;
-
- memset(&lifr, 0, sizeof(lifr));
- strncpy(lifr.lifr_name, plifreq->lifr_name, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- free(req);
- error("SIOCGLIFFLAGS: %m");
- return 0;
- }
- fl = lifr.lifr_flags;
-
- if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP | IFF_BROADCAST))
- continue;
-
- found = 1;
- break;
- }
- free(req);
- close(fd);
-
- if (found) {
- strncpy(first_ether_name, lifr.lifr_name, sizeof(first_ether_name));
- return (char *)first_ether_name;
- } else
- return NULL;
-}
-#else
-/*
- * get_first_ethernet - returns the first Ethernet interface name found in
- * the system, or NULL if none is found
- *
- * NOTE: This is the ifreq version (before Solaris 8).
- */
-char *
-get_first_ethernet()
-{
- struct ifconf ifc;
- struct ifreq *pifreq;
- struct ifreq ifr;
- int fd, num_ifs, i, found;
- uint_t fl, req_size;
- char *req;
-
- fd = socket(AF_INET, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- /*
- * Find out how many interfaces are running
- */
- if (ioctl(fd, SIOCGIFNUM, (char *)&num_ifs) < 0) {
- num_ifs = MAXIFS;
- }
-
- req_size = num_ifs * sizeof(struct ifreq);
- req = malloc(req_size);
- if (req == NULL) {
- close(fd);
- error("out of memory");
- return 0;
- }
-
- /*
- * Get interface configuration info for all interfaces
- */
- ifc.ifc_len = req_size;
- ifc.ifc_buf = req;
- if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
- close(fd);
- free(req);
- error("SIOCGIFCONF: %m");
- return 0;
- }
-
- /*
- * And traverse each interface to look specifically for the first
- * occurence of an Ethernet interface which has been marked up
- */
- pifreq = ifc.ifc_req;
- found = 0;
- for (i = ifc.ifc_len / sizeof(struct ifreq); i > 0; i--, pifreq++) {
-
- if (strchr(pifreq->ifr_name, ':') != NULL)
- continue;
-
- memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, pifreq->ifr_name, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
- close(fd);
- free(req);
- error("SIOCGIFFLAGS: %m");
- return 0;
- }
- fl = ifr.ifr_flags;
-
- if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP | IFF_BROADCAST))
- continue;
-
- found = 1;
- break;
- }
- free(req);
- close(fd);
-
- if (found) {
- strncpy(first_ether_name, ifr.ifr_name, sizeof(first_ether_name));
- return (char *)first_ether_name;
- } else
- return NULL;
-}
-#endif /* defined(SOL2) && defined(INET6) */
-
-#if defined(SOL2)
-/*
- * get_if_hwaddr - get the hardware address for the specified
- * network interface device.
- */
-int
-get_if_hwaddr(u_char *addr, char *if_name)
-{
- struct sockaddr s_eth_addr;
- struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
-
- if (if_name == NULL)
- return -1;
-
- /*
- * Send DL_INFO_REQ to the driver to solicit its MAC address
- */
- if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
- error("could not obtain hardware address for %s", if_name);
- return -1;
- }
-
- memcpy(addr, eth_addr->ether_addr_octet, 6);
- return 1;
-}
-#endif /* SOL2 */
-
-#if defined(SOL2) && defined(INET6)
-/*
- * slifname - Sets interface ppa and flags
- *
- * in addition to the comments stated in sifppa(), IFF_IPV6 bit must
- * be set in order to declare this as an IPv6 interface
- */
-static int
-slifname(fd, ppa)
- int fd;
- int ppa;
-{
- struct lifreq lifr;
- int ret;
-
- memset(&lifr, 0, sizeof(lifr));
- ret = ioctl(fd, SIOCGLIFFLAGS, &lifr);
- if (ret < 0)
- goto slifname_done;
-
- lifr.lifr_flags |= IFF_IPV6;
- lifr.lifr_flags &= ~(IFF_BROADCAST | IFF_IPV4);
- lifr.lifr_ppa = ppa;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
-
- ret = ioctl(fd, SIOCSLIFNAME, &lifr);
-
-slifname_done:
- return ret;
-
-
-}
-
-
-/*
- * ether_to_eui64 - Convert 48-bit Ethernet address into 64-bit EUI
- *
- * walks the list of valid ethernet interfaces, and convert the first
- * found 48-bit MAC address into EUI 64. caller also assumes that
- * the system has a properly configured Ethernet interface for this
- * function to return non-zero.
- */
-int
-ether_to_eui64(eui64_t *p_eui64)
-{
- struct sockaddr s_eth_addr;
- struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
- char *if_name;
-
- if ((if_name = get_first_ethernet()) == NULL) {
- error("no persistent id can be found");
- return 0;
- }
-
- /*
- * Send DL_INFO_REQ to the driver to solicit its MAC address
- */
- if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
- error("could not obtain hardware address for %s", if_name);
- return 0;
- }
-
- /*
- * And convert the EUI-48 into EUI-64, per RFC 2472 [sec 4.1]
- */
- p_eui64->e8[0] = (eth_addr->ether_addr_octet[0] & 0xFF) | 0x02;
- p_eui64->e8[1] = (eth_addr->ether_addr_octet[1] & 0xFF);
- p_eui64->e8[2] = (eth_addr->ether_addr_octet[2] & 0xFF);
- p_eui64->e8[3] = 0xFF;
- p_eui64->e8[4] = 0xFE;
- p_eui64->e8[5] = (eth_addr->ether_addr_octet[3] & 0xFF);
- p_eui64->e8[6] = (eth_addr->ether_addr_octet[4] & 0xFF);
- p_eui64->e8[7] = (eth_addr->ether_addr_octet[5] & 0xFF);
-
- return 1;
-}
-#endif /* defined(SOL2) && defined(INET6) */
-
-/*
- * sys_init - System-dependent initialization.
- */
-void
-sys_init()
-{
- int ifd, x;
- struct ifreq ifr;
-#if defined(INET6) && defined(SOL2)
- int i6fd;
- struct lifreq lifr;
-#endif /* defined(INET6) && defined(SOL2) */
-#if !defined(SOL2)
- struct {
- union DL_primitives prim;
- char space[64];
- } reply;
-#endif /* !defined(SOL2) */
-
- ipfd = open(mux_dev_name, O_RDWR, 0);
- if (ipfd < 0)
- fatal("Couldn't open IP device: %m");
-
-#if defined(INET6) && defined(SOL2)
- ip6fd = open(UDP6_DEV_NAME, O_RDWR, 0);
- if (ip6fd < 0)
- fatal("Couldn't open IP device (2): %m");
-#endif /* defined(INET6) && defined(SOL2) */
-
- if (default_device && !notty)
- tty_sid = getsid((pid_t)0);
-
- pppfd = open(PPP_DEV_NAME, O_RDWR | O_NONBLOCK, 0);
- if (pppfd < 0)
- fatal("Can't open %s: %m", PPP_DEV_NAME);
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
- /* Assign a new PPA and get its unit number. */
- if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
- fatal("Can't create new PPP interface: %m");
-
-#if defined(SOL2)
- /*
- * Since sys_init() is called prior to ifname being set in main(),
- * we need to get the ifname now, otherwise slifname(), and others,
- * will fail, or maybe, I should move them to a later point ?
- * <adi.masputra@sun.com>
- */
- sprintf(ifname, PPP_DRV_NAME "%d", ifunit);
-#endif /* defined(SOL2) */
- /*
- * Open the ppp device again and link it under the ip multiplexor.
- * IP will assign a unit number which hopefully is the same as ifunit.
- * I don't know any way to be certain they will be the same. :-(
- */
- ifd = open(PPP_DEV_NAME, O_RDWR, 0);
- if (ifd < 0)
- fatal("Can't open %s (2): %m", PPP_DEV_NAME);
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(ifd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
-#if defined(INET6) && defined(SOL2)
- i6fd = open(PPP_DEV_NAME, O_RDWR, 0);
- if (i6fd < 0) {
- close(ifd);
- fatal("Can't open %s (3): %m", PPP_DEV_NAME);
- }
- if (kdebugflag & 1) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(i6fd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if defined(SOL2)
- if (ioctl(ifd, I_PUSH, IP_MOD_NAME) < 0) {
- close(ifd);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't push IP module: %m");
- }
-
- /*
- * Assign ppa according to the unit number returned by ppp device
- * after plumbing is completed above.
- */
- if (sifppa(ifd, ifunit) < 0) {
- close (ifd);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't set ppa for unit %d: %m", ifunit);
- }
-
-#if defined(INET6)
- /*
- * An IPv6 interface is created anyway, even when the user does not
- * explicitly enable it. Note that the interface will be marked
- * IPv6 during slifname().
- */
- if (ioctl(i6fd, I_PUSH, IP_MOD_NAME) < 0) {
- close(ifd);
- close(i6fd);
- fatal("Can't push IP module (2): %m");
- }
-
- /*
- * Assign ppa according to the unit number returned by ppp device
- * after plumbing is completed above. In addition, mark the interface
- * as an IPv6 interface.
- */
- if (slifname(i6fd, ifunit) < 0) {
- close(ifd);
- close(i6fd);
- fatal("Can't set ifname for unit %d: %m", ifunit);
- }
-#endif /* defined(INET6) */
-
- ipmuxid = ioctl(ipfd, I_PLINK, ifd);
- close(ifd);
- if (ipmuxid < 0) {
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("Can't I_PLINK PPP device to IP: %m");
- }
-
- memset(&ifr, 0, sizeof(ifr));
- sprintf(ifr.ifr_name, "%s", ifname);
- ifr.ifr_ip_muxid = ipmuxid;
-
- /*
- * In Sol 8 and later, STREAMS dynamic module plumbing feature exists.
- * This is so that an arbitrary module can be inserted, or deleted,
- * between ip module and the device driver without tearing down the
- * existing stream. Such feature requires the mux ids, which is set
- * by SIOCSIFMUXID (or SIOCLSIFMUXID).
- */
- if (ioctl(ipfd, SIOCSIFMUXID, &ifr) < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
-#if defined(INET6)
- close(i6fd);
-#endif /* defined(INET6) */
- fatal("SIOCSIFMUXID: %m");
- }
-
-#else /* else if !defined(SOL2) */
-
- if (dlpi_attach(ifd, ifunit) < 0 ||
- dlpi_get_reply(ifd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0) {
- close(ifd);
- fatal("Can't attach to ppp%d: %m", ifunit);
- }
-
- ipmuxid = ioctl(ipfd, I_LINK, ifd);
- close(ifd);
- if (ipmuxid < 0)
- fatal("Can't link PPP device to IP: %m");
-#endif /* defined(SOL2) */
-
-#if defined(INET6) && defined(SOL2)
- ip6muxid = ioctl(ip6fd, I_PLINK, i6fd);
- close(i6fd);
- if (ip6muxid < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
- fatal("Can't I_PLINK PPP device to IP (2): %m");
- }
-
- memset(&lifr, 0, sizeof(lifr));
- sprintf(lifr.lifr_name, "%s", ifname);
- lifr.lifr_ip_muxid = ip6muxid;
-
- /*
- * Let IP know of the mux id [see comment for SIOCSIFMUXID above]
- */
- if (ioctl(ip6fd, SIOCSLIFMUXID, &lifr) < 0) {
- ioctl(ipfd, I_PUNLINK, ipmuxid);
- ioctl(ip6fd, I_PUNLINK, ip6muxid);
- fatal("Can't link PPP device to IP (2): %m");
- }
-#endif /* defined(INET6) && defined(SOL2) */
-
-#if !defined(SOL2)
- /* Set the interface name for the link. */
- slprintf(ifr.ifr_name, sizeof(ifr.ifr_name), PPP_DRV_NAME "%d", ifunit);
- ifr.ifr_metric = ipmuxid;
- if (strioctl(ipfd, SIOCSIFNAME, (char *)&ifr, sizeof ifr, 0) < 0)
- fatal("Can't set interface name %s: %m", ifr.ifr_name);
-#endif /* !defined(SOL2) */
-
- n_pollfds = 0;
-}
-
-/*
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This should call die() because it's called from die().
- */
-void
-sys_cleanup()
-{
-#if defined(SOL2)
- struct ifreq ifr;
-#if defined(INET6)
- struct lifreq lifr;
-#endif /* defined(INET6) */
-#endif /* defined(SOL2) */
-
-#if defined(SOL2) && defined(INET6)
- if (if6_is_up)
- sif6down(0);
-#endif /* defined(SOL2) && defined(INET6) */
- if (if_is_up)
- sifdown(0);
- if (default_route_gateway)
- cifdefaultroute(0, default_route_gateway, default_route_gateway);
- if (proxy_arp_addr)
- cifproxyarp(0, proxy_arp_addr);
-#if defined(SOL2)
- /*
- * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
- * unlink and re-link the modules, causing the muxid to change.
- */
- memset(&ifr, 0, sizeof(ifr));
- sprintf(ifr.ifr_name, "%s", ifname);
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("SIOCGIFFLAGS: %m");
- return;
- }
-
- if (ioctl(ipfd, SIOCGIFMUXID, &ifr) < 0) {
- error("SIOCGIFMUXID: %m");
- return;
- }
-
- ipmuxid = ifr.ifr_ip_muxid;
-
- if (ioctl(ipfd, I_PUNLINK, ipmuxid) < 0) {
- error("Can't I_PUNLINK PPP from IP: %m");
- return;
- }
-#if defined(INET6)
- /*
- * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
- * unlink and re-link the modules, causing the muxid to change.
- */
- memset(&lifr, 0, sizeof(lifr));
- sprintf(lifr.lifr_name, "%s", ifname);
- if (ioctl(ip6fd, SIOCGLIFFLAGS, &lifr) < 0) {
- error("SIOCGLIFFLAGS: %m");
- return;
- }
-
- if (ioctl(ip6fd, SIOCGLIFMUXID, &lifr) < 0) {
- error("SIOCGLIFMUXID: %m");
- return;
- }
-
- ip6muxid = lifr.lifr_ip_muxid;
-
- if (ioctl(ip6fd, I_PUNLINK, ip6muxid) < 0) {
- error("Can't I_PUNLINK PPP from IP (2): %m");
- }
-#endif /* defined(INET6) */
-#endif /* defined(SOL2) */
-}
-
-/*
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close()
-{
- close(ipfd);
-#if defined(INET6) && defined(SOL2)
- close(ip6fd);
-#endif /* defined(INET6) && defined(SOL2) */
- if (pppfd >= 0)
- close(pppfd);
-}
-
-/*
- * sys_check_options - check the options that the user specified
- */
-int
-sys_check_options()
-{
- return 1;
-}
-
-#if 0
-/*
- * daemon - Detach us from controlling terminal session.
- */
-int
-daemon(nochdir, noclose)
- int nochdir, noclose;
-{
- int pid;
-
- if ((pid = fork()) < 0)
- return -1;
- if (pid != 0)
- exit(0); /* parent dies */
- setsid();
- if (!nochdir)
- chdir("/");
- if (!noclose) {
- fclose(stdin); /* don't need stdin, stdout, stderr */
- fclose(stdout);
- fclose(stderr);
- }
- return 0;
-}
-#endif
-
-/*
- * ppp_available - check whether the system has any ppp interfaces
- */
-int
-ppp_available()
-{
- struct stat buf;
-
- return stat(PPP_DEV_NAME, &buf) >= 0;
-}
-
-/*
- * any_compressions - see if compression is enabled or not
- *
- * In the STREAMS implementation of kernel-portion pppd,
- * the comp STREAMS module performs the ACFC, PFC, as well
- * CCP and VJ compressions. However, if the user has explicitly
- * declare to not enable them from the command line, there is
- * no point of having the comp module be pushed on the stream.
- */
-static int
-any_compressions()
-{
- if ((!lcp_wantoptions[0].neg_accompression) &&
- (!lcp_wantoptions[0].neg_pcompression) &&
- (!ccp_protent.enabled_flag) &&
- (!ipcp_wantoptions[0].neg_vj)) {
- return 0;
- }
- return 1;
-}
-
-/*
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-int
-tty_establish_ppp(fd)
- int fd;
-{
- int i;
-
- /* Pop any existing modules off the tty stream. */
- for (i = 0;; ++i)
- if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
- || strcmp(tty_modules[i], "ptem") == 0
- || ioctl(fd, I_POP, 0) < 0)
- break;
- tty_nmodules = i;
-
- /* Push the async hdlc module and the compressor module. */
- tty_npushed = 0;
-
- if(!sync_serial) {
- if (ioctl(fd, I_PUSH, AHDLC_MOD_NAME) < 0) {
- error("Couldn't push PPP Async HDLC module: %m");
- return -1;
- }
- ++tty_npushed;
- }
- if (kdebugflag & 4) {
- i = PPPDBG_LOG + PPPDBG_AHDLC;
- strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
- }
- /*
- * There's no need to push comp module if we don't intend
- * to compress anything
- */
- if (any_compressions()) {
- if (ioctl(fd, I_PUSH, COMP_MOD_NAME) < 0)
- error("Couldn't push PPP compression module: %m");
- else
- ++tty_npushed;
- }
-
- if (kdebugflag & 2) {
- i = PPPDBG_LOG;
- if (any_compressions())
- i += PPPDBG_COMP;
- strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
- }
-
- /* Link the serial port under the PPP multiplexor. */
- if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0) {
- error("Can't link tty to PPP mux: %m");
- return -1;
- }
-
- return pppfd;
-}
-
-/*
- * tty_disestablish_ppp - Restore the serial port to normal operation.
- * It attempts to reconstruct the stream with the previously popped
- * modules. This shouldn't call die() because it's called from die().
- */
-void
-tty_disestablish_ppp(fd)
- int fd;
-{
- int i;
-
- if (fdmuxid >= 0) {
- if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
- if (!hungup)
- error("Can't unlink tty from PPP mux: %m");
- }
- fdmuxid = -1;
-
- if (!hungup) {
- while (tty_npushed > 0 && ioctl(fd, I_POP, 0) >= 0)
- --tty_npushed;
- for (i = tty_nmodules - 1; i >= 0; --i)
- if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
- error("Couldn't restore tty module %s: %m",
- tty_modules[i]);
- }
- if (hungup && default_device && tty_sid > 0) {
- /*
- * If we have received a hangup, we need to send a SIGHUP
- * to the terminal's controlling process. The reason is
- * that the original stream head for the terminal hasn't
- * seen the M_HANGUP message (it went up through the ppp
- * driver to the stream head for our fd to /dev/ppp).
- */
- kill(tty_sid, SIGHUP);
- }
- }
-}
-
-/*
- * Check whether the link seems not to be 8-bit clean.
- */
-void
-clean_check()
-{
- int x;
- char *s;
-
- if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
- return;
- s = NULL;
- switch (~x) {
- case RCV_B7_0:
- s = "bit 7 set to 1";
- break;
- case RCV_B7_1:
- s = "bit 7 set to 0";
- break;
- case RCV_EVNP:
- s = "odd parity";
- break;
- case RCV_ODDP:
- s = "even parity";
- break;
- }
- if (s != NULL) {
- warn("Serial link is not 8-bit clean:");
- warn("All received characters had %s", s);
- }
-}
-
-/*
- * List of valid speeds.
- */
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B76800
- { 76800, B76800 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
-#ifdef B153600
- { 153600, B153600 },
-#endif
-#ifdef B230400
- { 230400, B230400 },
-#endif
-#ifdef B307200
- { 307200, B307200 },
-#endif
-#ifdef B460800
- { 460800, B460800 },
-#endif
- { 0, 0 }
-};
-
-/*
- * Translate from bits/second to a speed_t.
- */
-static int
-translate_speed(bps)
- int bps;
-{
- struct speed *speedp;
-
- if (bps == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- warn("speed %d not supported", bps);
- return 0;
-}
-
-/*
- * Translate from a speed_t to bits/second.
- */
-static int
-baud_rate_of(speed)
- int speed;
-{
- struct speed *speedp;
-
- if (speed == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- return 0;
-}
-
-/*
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-void
-set_up_tty(fd, local)
- int fd, local;
-{
- int speed;
- struct termios tios;
-#if !defined (CRTSCTS)
- struct termiox tiox;
-#endif
-
- if (!sync_serial && tcgetattr(fd, &tios) < 0)
- fatal("tcgetattr: %m");
-
-#ifndef CRTSCTS
- termiox_ok = 1;
- if (!sync_serial && ioctl (fd, TCGETX, &tiox) < 0) {
- termiox_ok = 0;
- if (errno != ENOTTY)
- error("TCGETX: %m");
- }
-#endif
-
- if (!restore_term) {
- inittermios = tios;
-#ifndef CRTSCTS
- inittermiox = tiox;
-#endif
- if (!sync_serial)
- ioctl(fd, TIOCGWINSZ, &wsinfo);
- }
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
-#ifdef CRTSCTS
- if (crtscts > 0)
- tios.c_cflag |= CRTSCTS;
- else if (crtscts < 0)
- tios.c_cflag &= ~CRTSCTS;
-#else
- if (crtscts != 0 && !termiox_ok) {
- error("Can't set RTS/CTS flow control");
- } else if (crtscts > 0) {
- tiox.x_hflag |= RTSXOFF|CTSXON;
- } else if (crtscts < 0) {
- tiox.x_hflag &= ~(RTSXOFF|CTSXON);
- }
-#endif
-
- tios.c_cflag |= CS8 | CREAD | HUPCL;
- if (local || !modem)
- tios.c_cflag |= CLOCAL;
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (crtscts == -2) {
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed(&tios, speed);
- cfsetispeed(&tios, speed);
- } else {
- speed = cfgetospeed(&tios);
- /*
- * We can't proceed if the serial port speed is 0,
- * since that implies that the serial port is disabled.
- */
- if ((speed == B0) && !sync_serial)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &tios) < 0)
- fatal("tcsetattr: %m");
-
-#ifndef CRTSCTS
- if (!sync_serial && termiox_ok && ioctl (fd, TCSETXF, &tiox) < 0){
- error("TCSETXF: %m");
- }
-#endif
-
- baud_rate = inspeed = baud_rate_of(speed);
- if (!sync_serial)
- restore_term = 1;
-}
-
-/*
- * restore_tty - restore the terminal to the saved settings.
- */
-void
-restore_tty(fd)
- int fd;
-{
- if (restore_term) {
- if (!default_device) {
- /*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- inittermios.c_lflag &= ~(ECHO | ECHONL);
- }
- if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
- if (!hungup && errno != ENXIO)
- warn("tcsetattr: %m");
-#ifndef CRTSCTS
- if (!sync_serial && ioctl (fd, TCSETXF, &inittermiox) < 0){
- if (!hungup && errno != ENXIO)
- error("TCSETXF: %m");
- }
-#endif
- if (!sync_serial)
- ioctl(fd, TIOCSWINSZ, &wsinfo);
- restore_term = 0;
- }
-}
-
-/*
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-void
-setdtr(fd, on)
-int fd, on;
-{
- int modembits = TIOCM_DTR;
-
- ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
-}
-
-/*
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under Solaris 2, we use our existing fd
- * to the ppp driver.
- */
-int
-open_ppp_loopback()
-{
- return pppfd;
-}
-
-/*
- * output - Output PPP packet.
- */
-void
-output(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- struct strbuf data;
- int retries;
- struct pollfd pfd;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- data.len = len;
- data.buf = (caddr_t) p;
- retries = 4;
- while (putmsg(pppfd, NULL, &data, 0) < 0) {
- if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
- if (errno != ENXIO)
- error("Couldn't send packet: %m");
- break;
- }
- pfd.fd = pppfd;
- pfd.events = POLLOUT;
- poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
- }
-}
-
-
-/*
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_input(timo)
- struct timeval *timo;
-{
- int t;
-
- t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
- if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR)
- fatal("poll: %m");
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n)
- if (pollfds[n].fd == fd)
- return;
- if (n_pollfds < MAX_POLLFDS) {
- pollfds[n_pollfds].fd = fd;
- pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
- ++n_pollfds;
- } else
- error("Too many inputs!");
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n) {
- if (pollfds[n].fd == fd) {
- while (++n < n_pollfds)
- pollfds[n-1] = pollfds[n];
- --n_pollfds;
- break;
- }
- }
-}
-
-#if 0
-/*
- * wait_loop_output - wait until there is data available on the
- * loopback, for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_loop_output(timo)
- struct timeval *timo;
-{
- wait_input(timo);
-}
-
-/*
- * wait_time - wait for a given length of time or until a
- * signal is received.
- */
-void
-wait_time(timo)
- struct timeval *timo;
-{
- int n;
-
- n = select(0, NULL, NULL, NULL, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m");
-}
-#endif
-
-
-/*
- * read_packet - get a PPP packet from the serial device.
- */
-int
-read_packet(buf)
- u_char *buf;
-{
- struct strbuf ctrl, data;
- int flags, len;
- unsigned char ctrlbuf[sizeof(union DL_primitives) + 64];
-
- for (;;) {
- data.maxlen = PPP_MRU + PPP_HDRLEN;
- data.buf = (caddr_t) buf;
- ctrl.maxlen = sizeof(ctrlbuf);
- ctrl.buf = (caddr_t) ctrlbuf;
- flags = 0;
- len = getmsg(pppfd, &ctrl, &data, &flags);
- if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
- return -1;
- fatal("Error reading packet: %m");
- }
-
- if (ctrl.len <= 0)
- return data.len;
-
- /*
- * Got a M_PROTO or M_PCPROTO message. Interpret it
- * as a DLPI primitive??
- */
- if (debug)
- dbglog("got dlpi prim 0x%x, len=%d",
- ((union DL_primitives *)ctrlbuf)->dl_primitive, ctrl.len);
-
- }
-}
-
-/*
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output()
-{
- int len;
- int rv = 0;
-
- while ((len = read_packet(inpacket_buf)) > 0) {
- if (loop_frame(inpacket_buf, len))
- rv = 1;
- }
- return rv;
-}
-
-/*
- * netif_set_mtu - set the MTU on the PPP network interface.
- */
-void
-netif_set_mtu(unit, mtu)
- int unit, mtu;
-{
- struct ifreq ifr;
-#if defined(INET6) && defined(SOL2)
- struct lifreq lifr;
- int fd;
-#endif /* defined(INET6) && defined(SOL2) */
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_metric = link_mtu;
- if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU (%s): %m", ifr.ifr_name);
- }
-
-#if defined(INET6) && defined(SOL2)
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- error("Couldn't open IPv6 socket: %m");
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- lifr.lifr_mtu = link_mtu;
- if (ioctl(fd, SIOCSLIFMTU, &lifr) < 0) {
- close(fd);
- error("Couldn't set IPv6 MTU (%s): %m", ifr.ifr_name);
- }
- close(fd);
-#endif /* defined(INET6) && defined(SOL2) */
-}
-
-/*
- * tty_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-void
-tty_send_config(mtu, asyncmap, pcomp, accomp)
- int mtu;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mtu = mtu;
- if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MTU: %m");
- }
- if (fdmuxid >= 0) {
- if (!sync_serial) {
- if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set transmit ACCM: %m");
- }
- }
- cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
- cf[1] = COMP_PROT | COMP_AC;
- if (any_compressions() &&
- strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC compression: %m");
- }
- }
-}
-
-/*
- * ppp_set_xaccm - set the extended transmit ACCM for the interface.
- */
-void
-tty_set_xaccm(accm)
- ext_accm accm;
-{
- if (sync_serial)
- return;
-
- if (fdmuxid >= 0
- && strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
- if (!hungup || errno != ENXIO)
- warn("Couldn't set extended ACCM: %m");
- }
-}
-
-/*
- * ppp_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-void
-tty_recv_config(mru, asyncmap, pcomp, accomp)
- int mru;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mru = mru;
- if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MRU: %m");
- }
- if (fdmuxid >= 0) {
- if (!sync_serial) {
- if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set receive ACCM: %m");
- }
- }
- cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
- cf[1] = DECOMP_PROT | DECOMP_AC;
- if (any_compressions() &&
- strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC decompression: %m");
- }
- }
-}
-
-/*
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-int
-ccp_test(unit, opt_ptr, opt_len, for_transmit)
- int unit, opt_len, for_transmit;
- u_char *opt_ptr;
-{
- if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
- opt_ptr, opt_len, 0) >= 0)
- return 1;
- return (errno == ENOSR)? 0: -1;
-}
-
-/*
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-void
-ccp_flags_set(unit, isopen, isup)
- int unit, isopen, isup;
-{
- int cf[2];
-
- cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
- cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (!hungup || errno != ENXIO)
- error("Couldn't set kernel CCP state: %m");
- }
-}
-
-/*
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
-}
-
-/*
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ppp_stats s;
-
- if (!sync_serial &&
- strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
- error("Couldn't get link statistics: %m");
- return 0;
- }
- stats->bytes_in = s.p.ppp_ibytes;
- stats->bytes_out = s.p.ppp_obytes;
- return 1;
-}
-
-#if 0
-/*
- * set_filters - transfer the pass and active filters to the kernel.
- */
-int
-set_filters(pass, active)
- struct bpf_program *pass, *active;
-{
- int ret = 1;
-
- if (pass->bf_len > 0) {
- if (strioctl(pppfd, PPPIO_PASSFILT, pass,
- sizeof(struct bpf_program), 0) < 0) {
- error("Couldn't set pass-filter in kernel: %m");
- ret = 0;
- }
- }
- if (active->bf_len > 0) {
- if (strioctl(pppfd, PPPIO_ACTIVEFILT, active,
- sizeof(struct bpf_program), 0) < 0) {
- error("Couldn't set active-filter in kernel: %m");
- ret = 0;
- }
- }
- return ret;
-}
-#endif
-
-/*
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-int
-ccp_fatal_error(unit)
- int unit;
-{
- int cf[2];
-
- cf[0] = cf[1] = 0;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (errno != ENXIO && errno != EINVAL)
- error("Couldn't get compression flags: %m");
- return 0;
- }
- return cf[0] & CCP_FATALERROR;
-}
-
-/*
- * sifvjcomp - config tcp header compression
- */
-int
-sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
- int u, vjcomp, xcidcomp, xmaxcid;
-{
- int cf[2];
- char maxcid[2];
-
- if (vjcomp) {
- maxcid[0] = xcidcomp;
- maxcid[1] = 15; /* XXX should be rmaxcid */
- if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
- error("Couldn't initialize VJ compression: %m");
- }
- }
-
- cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
- + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
- cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (vjcomp)
- error("Couldn't enable VJ compression: %m");
- }
-
- return 1;
-}
-
-/*
- * sifup - Config the interface up and enable IP packets to pass.
- */
-int
-sifup(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (get): %m");
- return 0;
- }
- ifr.ifr_flags |= IFF_UP;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (set): %m");
- return 0;
- }
- if_is_up = 1;
- return 1;
-}
-
-/*
- * sifdown - Config the interface down and disable IP.
- */
-int
-sifdown(u)
- int u;
-{
- struct ifreq ifr;
-
- if (ipmuxid < 0)
- return 1;
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (get): %m");
- return 0;
- }
- ifr.ifr_flags &= ~IFF_UP;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (set): %m");
- return 0;
- }
- if_is_up = 0;
- return 1;
-}
-
-/*
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- int npi[2];
-
- npi[0] = proto;
- npi[1] = (int) mode;
- if (strioctl(pppfd, PPPIO_NPMODE, &npi, 2 * sizeof(int), 0) < 0) {
- error("ioctl(set NP %d mode to %d): %m", proto, mode);
- return 0;
- }
- return 1;
-}
-
-#if defined(SOL2) && defined(INET6)
-/*
- * sif6up - Config the IPv6 interface up and enable IPv6 packets to pass.
- */
-int
-sif6up(u)
- int u;
-{
- struct lifreq lifr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0) {
- return 0;
- }
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- lifr.lifr_flags |= IFF_UP;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCSLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- if6_is_up = 1;
- close(fd);
- return 1;
-}
-
-/*
- * sifdown - Config the IPv6 interface down and disable IPv6.
- */
-int
-sif6down(u)
- int u;
-{
- struct lifreq lifr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- return 0;
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- lifr.lifr_flags &= ~IFF_UP;
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- if6_is_up = 0;
- close(fd);
- return 1;
-}
-
-/*
- * sif6addr - Config the interface with an IPv6 link-local address
- */
-int
-sif6addr(u, o, h)
- int u;
- eui64_t o, h;
-{
- struct lifreq lifr;
- struct sockaddr_storage laddr;
- struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&laddr;
- int fd;
-
- fd = socket(AF_INET6, SOCK_DGRAM, 0);
- if (fd < 0)
- return 0;
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
-
- /*
- * Do this because /dev/ppp responds to DL_PHYS_ADDR_REQ with
- * zero values, hence the interface token came to be zero too,
- * and without this, in.ndpd will complain
- */
- IN6_LLTOKEN_FROM_EUI64(lifr, sin6, o);
- if (ioctl(fd, SIOCSLIFTOKEN, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- /*
- * Set the interface address and destination address
- */
- IN6_LLADDR_FROM_EUI64(lifr, sin6, o);
- if (ioctl(fd, SIOCSLIFADDR, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- memset(&lifr, 0, sizeof(lifr));
- strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
- IN6_LLADDR_FROM_EUI64(lifr, sin6, h);
- if (ioctl(fd, SIOCSLIFDSTADDR, &lifr) < 0) {
- close(fd);
- return 0;
- }
-
- return 1;
-}
-
-/*
- * cif6addr - Remove the IPv6 address from interface
- */
-int
-cif6addr(u, o, h)
- int u;
- eui64_t o, h;
-{
- return 1;
-}
-
-#endif /* defined(SOL2) && defined(INET6) */
-
-
-#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
-
-/*
- * sifaddr - Config the interface IP addresses and netmask.
- */
-int
-sifaddr(u, o, h, m)
- int u;
- u_int32_t o, h, m;
-{
- struct ifreq ifr;
- int ret = 1;
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = m;
- if (ioctl(ipfd, SIOCSIFNETMASK, &ifr) < 0) {
- error("Couldn't set IP netmask: %m");
- ret = 0;
- }
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = o;
- if (ioctl(ipfd, SIOCSIFADDR, &ifr) < 0) {
- error("Couldn't set local IP address: %m");
- ret = 0;
- }
-
- /*
- * On some systems, we have to explicitly set the point-to-point
- * flag bit before we can set a destination address.
- */
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) >= 0
- && (ifr.ifr_flags & IFF_POINTOPOINT) == 0) {
- ifr.ifr_flags |= IFF_POINTOPOINT;
- if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface pt-to-pt: %m");
- ret = 0;
- }
- }
- ifr.ifr_dstaddr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_dstaddr) = h;
- if (ioctl(ipfd, SIOCSIFDSTADDR, &ifr) < 0) {
- error("Couldn't set remote IP address: %m");
- ret = 0;
- }
-#if 0 /* now done in ppp_send_config */
- ifr.ifr_metric = link_mtu;
- if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-#endif
-
- remote_addr = h;
- return ret;
-}
-
-/*
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-int
-cifaddr(u, o, h)
- int u;
- u_int32_t o, h;
-{
-#if defined(__USLC__) /* was: #if 0 */
- cifroute(unit, ouraddr, hisaddr);
- if (ipmuxid >= 0) {
- notice("Removing ppp interface unit");
- if (ioctl(ipfd, I_UNLINK, ipmuxid) < 0) {
- error("Can't remove ppp interface unit: %m");
- return 0;
- }
- ipmuxid = -1;
- }
-#endif
- remote_addr = 0;
- return 1;
-}
-
-/*
- * sifdefaultroute - assign a default route through the address given.
- */
-int
-sifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
-#if defined(__USLC__)
- g = l; /* use the local address as gateway */
-#endif
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(ipfd, SIOCADDRT, &rt) < 0) {
- error("Can't add default route: %m");
- return 0;
- }
-
- default_route_gateway = g;
- return 1;
-}
-
-/*
- * cifdefaultroute - delete a default route through the address given.
- */
-int
-cifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
-#if defined(__USLC__)
- g = l; /* use the local address as gateway */
-#endif
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete default route: %m");
- return 0;
- }
-
- default_route_gateway = 0;
- return 1;
-}
-
-/*
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-int
-sifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- memset(&arpreq, 0, sizeof(arpreq));
- if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
- return 0;
-
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- if (ioctl(ipfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
- error("Couldn't set proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = hisaddr;
- return 1;
-}
-
-/*
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-int
-cifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- memset(&arpreq, 0, sizeof(arpreq));
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- if (ioctl(ipfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- error("Couldn't delete proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = 0;
- return 1;
-}
-
-/*
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-#define MAX_IFS 32
-
-static int
-get_ether_addr(ipaddr, hwaddr)
- u_int32_t ipaddr;
- struct sockaddr *hwaddr;
-{
- struct ifreq *ifr, *ifend, ifreq;
- int nif;
- struct ifconf ifc;
- u_int32_t ina, mask;
-
- /*
- * Scan through the system's network interfaces.
- */
-#ifdef SIOCGIFNUM
- if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
-#endif
- nif = MAX_IFS;
- ifc.ifc_len = nif * sizeof(struct ifreq);
- ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
- if (ifc.ifc_buf == 0)
- return 0;
- if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- free(ifc.ifc_buf);
- return 0;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags &
- (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP|IFF_BROADCAST))
- continue;
- /*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- mask = INET_ADDR(ifreq.ifr_addr);
- if ((ipaddr & mask) == (ina & mask))
- break;
- }
-
- if (ifr >= ifend) {
- warn("No suitable interface found for proxy ARP");
- free(ifc.ifc_buf);
- return 0;
- }
-
- info("found interface %s for proxy ARP", ifr->ifr_name);
- if (!get_hw_addr(ifr->ifr_name, ina, hwaddr)) {
- error("Couldn't get hardware address for %s", ifr->ifr_name);
- free(ifc.ifc_buf);
- return 0;
- }
-
- free(ifc.ifc_buf);
- return 1;
-}
-
-/*
- * get_hw_addr_dlpi - obtain the hardware address using DLPI
- */
-static int
-get_hw_addr_dlpi(name, hwaddr)
- char *name;
- struct sockaddr *hwaddr;
-{
- char *p, *q;
- int unit, iffd, adrlen;
- unsigned char *adrp;
- char ifdev[24];
- struct {
- union DL_primitives prim;
- char space[64];
- } reply;
-
- /*
- * We have to open the device and ask it for its hardware address.
- * First split apart the device name and unit.
- */
- slprintf(ifdev, sizeof(ifdev), "/dev/%s", name);
- for (q = ifdev + strlen(ifdev); --q >= ifdev; )
- if (!isdigit(*q))
- break;
- unit = atoi(q+1);
- q[1] = 0;
-
- /*
- * Open the device and do a DLPI attach and phys_addr_req.
- */
- iffd = open(ifdev, O_RDWR);
- if (iffd < 0) {
- error("Can't open %s: %m", ifdev);
- return 0;
- }
- if (dlpi_attach(iffd, unit) < 0
- || dlpi_get_reply(iffd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0
- || dlpi_info_req(iffd) < 0
- || dlpi_get_reply(iffd, &reply.prim, DL_INFO_ACK, sizeof(reply)) < 0) {
- close(iffd);
- return 0;
- }
-
- adrlen = reply.prim.info_ack.dl_addr_length;
- adrp = (unsigned char *)&reply + reply.prim.info_ack.dl_addr_offset;
-
-#if DL_CURRENT_VERSION >= 2
- if (reply.prim.info_ack.dl_sap_length < 0)
- adrlen += reply.prim.info_ack.dl_sap_length;
- else
- adrp += reply.prim.info_ack.dl_sap_length;
-#endif
-
- hwaddr->sa_family = AF_UNSPEC;
- memcpy(hwaddr->sa_data, adrp, adrlen);
-
- return 1;
-}
-/*
- * get_hw_addr - obtain the hardware address for a named interface.
- */
-static int
-get_hw_addr(name, ina, hwaddr)
- char *name;
- u_int32_t ina;
- struct sockaddr *hwaddr;
-{
- /* New way - get the address by doing an arp request. */
- int s;
- struct arpreq req;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
- return 0;
- memset(&req, 0, sizeof(req));
- req.arp_pa.sa_family = AF_INET;
- INET_ADDR(req.arp_pa) = ina;
- if (ioctl(s, SIOCGARP, &req) < 0) {
- error("Couldn't get ARP entry for %s: %m", ip_ntoa(ina));
- return 0;
- }
- *hwaddr = req.arp_ha;
- hwaddr->sa_family = AF_UNSPEC;
-
- return 1;
-}
-
-static int
-dlpi_attach(fd, ppa)
- int fd, ppa;
-{
- dl_attach_req_t req;
- struct strbuf buf;
-
- req.dl_primitive = DL_ATTACH_REQ;
- req.dl_ppa = ppa;
- buf.len = sizeof(req);
- buf.buf = (void *) &req;
- return putmsg(fd, &buf, NULL, RS_HIPRI);
-}
-
-static int
-dlpi_info_req(fd)
- int fd;
-{
- dl_info_req_t req;
- struct strbuf buf;
-
- req.dl_primitive = DL_INFO_REQ;
- buf.len = sizeof(req);
- buf.buf = (void *) &req;
- return putmsg(fd, &buf, NULL, RS_HIPRI);
-}
-
-static int
-dlpi_get_reply(fd, reply, expected_prim, maxlen)
- union DL_primitives *reply;
- int fd, expected_prim, maxlen;
-{
- struct strbuf buf;
- int flags, n;
- struct pollfd pfd;
-
- /*
- * Use poll to wait for a message with a timeout.
- */
- pfd.fd = fd;
- pfd.events = POLLIN | POLLPRI;
- do {
- n = poll(&pfd, 1, 1000);
- } while (n == -1 && errno == EINTR);
- if (n <= 0)
- return -1;
-
- /*
- * Get the reply.
- */
- buf.maxlen = maxlen;
- buf.buf = (void *) reply;
- flags = 0;
- if (getmsg(fd, &buf, NULL, &flags) < 0)
- return -1;
-
- if (buf.len < sizeof(ulong)) {
- if (debug)
- dbglog("dlpi response short (len=%d)\n", buf.len);
- return -1;
- }
-
- if (reply->dl_primitive == expected_prim)
- return 0;
-
- if (debug) {
- if (reply->dl_primitive == DL_ERROR_ACK) {
- dbglog("dlpi error %d (unix errno %d) for prim %x\n",
- reply->error_ack.dl_errno, reply->error_ack.dl_unix_errno,
- reply->error_ack.dl_error_primitive);
- } else {
- dbglog("dlpi unexpected response prim %x\n",
- reply->dl_primitive);
- }
- }
-
- return -1;
-}
-
-/*
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-u_int32_t
-GetMask(addr)
- u_int32_t addr;
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- int nif;
- struct ifconf ifc;
-
- addr = ntohl(addr);
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-
- /*
- * Scan through the system's network interfaces.
- */
-#ifdef SIOCGIFNUM
- if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
-#endif
- nif = MAX_IFS;
- ifc.ifc_len = nif * sizeof(struct ifreq);
- ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
- if (ifc.ifc_buf == 0)
- return mask;
- if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- free(ifc.ifc_buf);
- return mask;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- /*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- if ((ntohl(ina) & nmask) != (addr & nmask))
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
- != IFF_UP)
- continue;
- /*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= INET_ADDR(ifreq.ifr_addr);
- }
-
- free(ifc.ifc_buf);
- return mask;
-}
-
-/*
- * logwtmp - write an accounting record to the /var/adm/wtmp file.
- */
-void
-logwtmp(line, name, host)
- const char *line, *name, *host;
-{
- static struct utmpx utmpx;
-
- if (name[0] != 0) {
- /* logging in */
- strncpy(utmpx.ut_user, name, sizeof(utmpx.ut_user));
- strncpy(utmpx.ut_id, ifname, sizeof(utmpx.ut_id));
- strncpy(utmpx.ut_line, line, sizeof(utmpx.ut_line));
- utmpx.ut_pid = getpid();
- utmpx.ut_type = USER_PROCESS;
- } else {
- utmpx.ut_type = DEAD_PROCESS;
- }
- gettimeofday(&utmpx.ut_tv, NULL);
- updwtmpx("/var/adm/wtmpx", &utmpx);
-}
-
-/*
- * get_host_seed - return the serial number of this machine.
- */
-int
-get_host_seed()
-{
- char buf[32];
-
- if (sysinfo(SI_HW_SERIAL, buf, sizeof(buf)) < 0) {
- error("sysinfo: %m");
- return 0;
- }
- return (int) strtoul(buf, NULL, 16);
-}
-
-static int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- void *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-#if 0
-/*
- * lock - create a lock file for the named lock device
- */
-
-#define LOCK_PREFIX "/var/spool/locks/LK."
-static char lock_file[40]; /* name of lock file created */
-
-int
-lock(dev)
- char *dev;
-{
- int n, fd, pid;
- struct stat sbuf;
- char ascii_pid[12];
-
- if (stat(dev, &sbuf) < 0) {
- error("Can't get device number for %s: %m", dev);
- return -1;
- }
- if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
- error("Can't lock %s: not a character device", dev);
- return -1;
- }
- slprintf(lock_file, sizeof(lock_file), "%s%03d.%03d.%03d",
- LOCK_PREFIX, major(sbuf.st_dev),
- major(sbuf.st_rdev), minor(sbuf.st_rdev));
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno == EEXIST
- && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
- /* Read the lock file to find out who has the device locked */
- n = read(fd, ascii_pid, 11);
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- close(fd);
- } else {
- ascii_pid[n] = 0;
- pid = atoi(ascii_pid);
- if (pid > 0 && kill(pid, 0) == -1 && errno == ESRCH) {
- /* pid no longer exists - remove the lock file */
- if (unlink(lock_file) == 0) {
- close(fd);
- notice("Removed stale lock on %s (pid %d)",
- dev, pid);
- continue;
- } else
- warn("Couldn't remove stale lock on %s",
- dev);
- } else
- notice("Device %s is locked by pid %d",
- dev, pid);
- }
- close(fd);
- } else
- error("Can't create lock file %s: %m", lock_file);
- lock_file[0] = 0;
- return -1;
- }
-
- slprintf(ascii_pid, sizeof(ascii_pid), "%10d\n", getpid());
- write(fd, ascii_pid, 11);
-
- close(fd);
- return 1;
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file[0]) {
- unlink(lock_file);
- lock_file[0] = 0;
- }
-}
-#endif
-
-/*
- * cifroute - delete a route through the addresses given.
- */
-int
-cifroute(u, our, his)
- int u;
- u_int32_t our, his;
-{
- struct rtentry rt;
-
- memset(&rt, 0, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = his;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = our;
- rt.rt_flags = RTF_HOST;
-
- if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete route: %m");
- return 0;
- }
-
- return 1;
-}
-
-/*
- * have_route_to - determine if the system has a route to the specified
- * IP address. Returns 0 if not, 1 if so, -1 if we can't tell.
- * `addr' is in network byte order.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-#ifndef T_CURRENT /* needed for Solaris 2.5 */
-#define T_CURRENT MI_T_CURRENT
-#endif
-
-int
-have_route_to(addr)
- u_int32_t addr;
-{
-#ifdef SOL2
- int fd, r, flags, i;
- struct {
- struct T_optmgmt_req req;
- struct opthdr hdr;
- } req;
- union {
- struct T_optmgmt_ack ack;
- unsigned char space[64];
- } ack;
- struct opthdr *rh;
- struct strbuf cbuf, dbuf;
- int nroutes;
- mib2_ipRouteEntry_t routes[8];
- mib2_ipRouteEntry_t *rp;
-
- fd = open(mux_dev_name, O_RDWR);
- if (fd < 0) {
- warn("have_route_to: couldn't open %s: %m", mux_dev_name);
- return -1;
- }
-
- req.req.PRIM_type = T_OPTMGMT_REQ;
- req.req.OPT_offset = (char *) &req.hdr - (char *) &req;
- req.req.OPT_length = sizeof(req.hdr);
- req.req.MGMT_flags = T_CURRENT;
-
- req.hdr.level = MIB2_IP;
- req.hdr.name = 0;
- req.hdr.len = 0;
-
- cbuf.buf = (char *) &req;
- cbuf.len = sizeof(req);
-
- if (putmsg(fd, &cbuf, NULL, 0) == -1) {
- warn("have_route_to: putmsg: %m");
- close(fd);
- return -1;
- }
-
- for (;;) {
- cbuf.buf = (char *) &ack;
- cbuf.maxlen = sizeof(ack);
- dbuf.buf = (char *) routes;
- dbuf.maxlen = sizeof(routes);
- flags = 0;
- r = getmsg(fd, &cbuf, &dbuf, &flags);
- if (r == -1) {
- warn("have_route_to: getmsg: %m");
- close(fd);
- return -1;
- }
-
- if (cbuf.len < sizeof(struct T_optmgmt_ack)
- || ack.ack.PRIM_type != T_OPTMGMT_ACK
- || ack.ack.MGMT_flags != T_SUCCESS
- || ack.ack.OPT_length < sizeof(struct opthdr)) {
- dbglog("have_route_to: bad message len=%d prim=%d",
- cbuf.len, ack.ack.PRIM_type);
- close(fd);
- return -1;
- }
-
- rh = (struct opthdr *) ((char *)&ack + ack.ack.OPT_offset);
- if (rh->level == 0 && rh->name == 0)
- break;
- if (rh->level != MIB2_IP || rh->name != MIB2_IP_21) {
- while (r == MOREDATA)
- r = getmsg(fd, NULL, &dbuf, &flags);
- continue;
- }
-
- for (;;) {
- nroutes = dbuf.len / sizeof(mib2_ipRouteEntry_t);
- for (rp = routes, i = 0; i < nroutes; ++i, ++rp) {
- if (rp->ipRouteMask != ~0) {
- dbglog("have_route_to: dest=%x gw=%x mask=%x\n",
- rp->ipRouteDest, rp->ipRouteNextHop,
- rp->ipRouteMask);
- if (((addr ^ rp->ipRouteDest) & rp->ipRouteMask) == 0
- && rp->ipRouteNextHop != remote_addr)
- return 1;
- }
- }
- if (r == 0)
- break;
- r = getmsg(fd, NULL, &dbuf, &flags);
- }
- }
- close(fd);
- return 0;
-#else
- return -1;
-#endif /* SOL2 */
-}
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side to
- * the uid given. Assumes slave_name points to MAXPATHLEN bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int mfd, sfd;
- char *pty_name;
- struct termios tios;
-
- mfd = open("/dev/ptmx", O_RDWR);
- if (mfd < 0) {
- error("Couldn't open pty master: %m");
- return 0;
- }
-
- pty_name = ptsname(mfd);
- if (pty_name == NULL) {
- error("Couldn't get name of pty slave");
- close(mfd);
- return 0;
- }
- if (chown(pty_name, uid, -1) < 0)
- warn("Couldn't change owner of pty slave: %m");
- if (chmod(pty_name, S_IRUSR | S_IWUSR) < 0)
- warn("Couldn't change permissions on pty slave: %m");
- if (unlockpt(mfd) < 0)
- warn("Couldn't unlock pty slave: %m");
-
- sfd = open(pty_name, O_RDWR);
- if (sfd < 0) {
- error("Couldn't open pty slave %s: %m", pty_name);
- close(mfd);
- return 0;
- }
- if (ioctl(sfd, I_PUSH, "ptem") < 0)
- warn("Couldn't push ptem module on pty slave: %m");
-
- dbglog("Using %s", pty_name);
- strlcpy(slave_name, pty_name, MAXPATHLEN);
- *master_fdp = mfd;
- *slave_fdp = sfd;
-
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/sys-sunos4.c b/mdk-stage1/ppp/pppd/sys-sunos4.c
deleted file mode 100644
index 3344948e9..000000000
--- a/mdk-stage1/ppp/pppd/sys-sunos4.c
+++ /dev/null
@@ -1,1559 +0,0 @@
-/*
- * System-dependent procedures for pppd under SunOS 4.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <termios.h>
-#include <signal.h>
-#include <malloc.h>
-#include <utmp.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/poll.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/nit_if.h>
-#include <net/route.h>
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include <netinet/in.h>
-
-#include "pppd.h"
-
-#if defined(sun) && defined(sparc)
-#include <alloca.h>
-#ifndef __GNUC__
-extern void *alloca();
-#endif
-#endif /*sparc*/
-
-static const char rcsid[] = RCSID;
-
-static int pppfd;
-static int fdmuxid = -1;
-static int iffd;
-static int sockfd;
-
-static int restore_term;
-static struct termios inittermios;
-static struct winsize wsinfo; /* Initial window size info */
-static pid_t parent_pid; /* PID of our parent */
-
-extern u_char inpacket_buf[]; /* borrowed from main.c */
-
-#define MAX_POLLFDS 32
-static struct pollfd pollfds[MAX_POLLFDS];
-static int n_pollfds;
-
-static int link_mtu, link_mru;
-
-#define NMODULES 32
-static int tty_nmodules;
-static char tty_modules[NMODULES][FMNAMESZ+1];
-
-static int if_is_up; /* Interface has been marked up */
-static u_int32_t ifaddrs[2]; /* local and remote addresses */
-static u_int32_t default_route_gateway; /* Gateway for default route added */
-static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
-
-/* Prototypes for procedures local to this file. */
-static int translate_speed __P((int));
-static int baud_rate_of __P((int));
-static int get_ether_addr __P((u_int32_t, struct sockaddr *));
-static int strioctl __P((int, int, void *, int, int));
-
-
-/*
- * sys_init - System-dependent initialization.
- */
-void
-sys_init()
-{
- int x;
-
- /* Get an internet socket for doing socket ioctl's on. */
- if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- fatal("Couldn't create IP socket: %m");
-
- /*
- * We may want to send a SIGHUP to the session leader associated
- * with our controlling terminal later. Because SunOS doesn't
- * have getsid(), we make do with sending the signal to our
- * parent process.
- */
- parent_pid = getppid();
-
- /*
- * Open the ppp device.
- */
- pppfd = open("/dev/ppp", O_RDWR | O_NONBLOCK, 0);
- if (pppfd < 0)
- fatal("Can't open /dev/ppp: %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
-
- /* Assign a new PPA and get its unit number. */
- if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
- fatal("Can't create new PPP interface: %m");
-
- /*
- * Open the ppp device again and push the if_ppp module on it.
- */
- iffd = open("/dev/ppp", O_RDWR, 0);
- if (iffd < 0)
- fatal("Can't open /dev/ppp (2): %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_DRIVER;
- strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
- if (strioctl(iffd, PPPIO_ATTACH, &ifunit, sizeof(int), 0) < 0)
- fatal("Couldn't attach ppp interface to device: %m");
- if (ioctl(iffd, I_PUSH, "if_ppp") < 0)
- fatal("Can't push ppp interface module: %m");
- if (kdebugflag) {
- x = PPPDBG_LOG + PPPDBG_IF;
- strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
- }
- if (strioctl(iffd, PPPIO_NEWPPA, &ifunit, sizeof(int), 0) < 0)
- fatal("Couldn't create ppp interface unit: %m");
- x = PPP_IP;
- if (strioctl(iffd, PPPIO_BIND, &x, sizeof(int), 0) < 0)
- fatal("Couldn't bind ppp interface to IP SAP: %m");
-
- n_pollfds = 0;
-}
-
-/*
- * sys_cleanup - restore any system state we modified before exiting:
- * mark the interface down, delete default route and/or proxy arp entry.
- * This shouldn't call die() because it's called from die().
- */
-void
-sys_cleanup()
-{
- if (if_is_up)
- sifdown(0);
- if (ifaddrs[0])
- cifaddr(0, ifaddrs[0], ifaddrs[1]);
- if (default_route_gateway)
- cifdefaultroute(0, 0, default_route_gateway);
- if (proxy_arp_addr)
- cifproxyarp(0, proxy_arp_addr);
-}
-
-/*
- * sys_close - Clean up in a child process before execing.
- */
-void
-sys_close()
-{
- close(iffd);
- close(pppfd);
- close(sockfd);
-}
-
-/*
- * sys_check_options - check the options that the user specified
- */
-int
-sys_check_options()
-{
- return 1;
-}
-
-#if 0
-/*
- * daemon - Detach us from controlling terminal session.
- */
-int
-daemon(nochdir, noclose)
- int nochdir, noclose;
-{
- int pid;
-
- if ((pid = fork()) < 0)
- return -1;
- if (pid != 0)
- exit(0); /* parent dies */
- setsid();
- if (!nochdir)
- chdir("/");
- if (!noclose) {
- fclose(stdin); /* don't need stdin, stdout, stderr */
- fclose(stdout);
- fclose(stderr);
- }
- return 0;
-}
-#endif
-
-/*
- * ppp_available - check whether the system has any ppp interfaces
- */
-int
-ppp_available()
-{
- struct stat buf;
-
- return stat("/dev/ppp", &buf) >= 0;
-}
-
-/*
- * tty_establish_ppp - Turn the serial port into a ppp interface.
- */
-int
-tty_establish_ppp(fd)
- int fd;
-{
- int i;
-
- /* Pop any existing modules off the tty stream. */
- for (i = 0;; ++i)
- if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
- || ioctl(fd, I_POP, 0) < 0)
- break;
- tty_nmodules = i;
-
- /* Push the async hdlc module and the compressor module. */
- if (ioctl(fd, I_PUSH, "ppp_ahdl") < 0)
- fatal("Couldn't push PPP Async HDLC module: %m");
- if (ioctl(fd, I_PUSH, "ppp_comp") < 0)
- error("Couldn't push PPP compression module: %m");
-
- /* Link the serial port under the PPP multiplexor. */
- if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0)
- fatal("Can't link tty to PPP mux: %m");
-
- return pppfd;
-}
-
-/*
- * disestablish_ppp - Restore the serial port to normal operation.
- * It attempts to reconstruct the stream with the previously popped
- * modules. This shouldn't call die() because it's called from die().
- */
-void
-tty_disestablish_ppp(fd)
- int fd;
-{
- int i;
-
- if (fdmuxid >= 0) {
- if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
- if (!hungup)
- error("Can't unlink tty from PPP mux: %m");
- }
- fdmuxid = -1;
-
- if (!hungup) {
- while (ioctl(fd, I_POP, 0) >= 0)
- ;
- for (i = tty_nmodules - 1; i >= 0; --i)
- if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
- error("Couldn't restore tty module %s: %m",
- tty_modules[i]);
- }
- if (hungup && default_device && parent_pid > 0) {
- /*
- * If we have received a hangup, we need to send a SIGHUP
- * to the terminal's controlling process. The reason is
- * that the original stream head for the terminal hasn't
- * seen the M_HANGUP message (it went up through the ppp
- * driver to the stream head for our fd to /dev/ppp).
- * Actually we send the signal to the process that invoked
- * pppd, since SunOS doesn't have getsid().
- */
- kill(parent_pid, SIGHUP);
- }
- }
-}
-
-/*
- * Check whether the link seems not to be 8-bit clean.
- */
-void
-clean_check()
-{
- int x;
- char *s;
-
- if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
- return;
- s = NULL;
- switch (~x) {
- case RCV_B7_0:
- s = "bit 7 set to 1";
- break;
- case RCV_B7_1:
- s = "bit 7 set to 0";
- break;
- case RCV_EVNP:
- s = "odd parity";
- break;
- case RCV_ODDP:
- s = "even parity";
- break;
- }
- if (s != NULL) {
- warn("Serial link is not 8-bit clean:");
- warn("All received characters had %s", s);
- }
-}
-
-/*
- * List of valid speeds.
- */
-struct speed {
- int speed_int, speed_val;
-} speeds[] = {
-#ifdef B50
- { 50, B50 },
-#endif
-#ifdef B75
- { 75, B75 },
-#endif
-#ifdef B110
- { 110, B110 },
-#endif
-#ifdef B134
- { 134, B134 },
-#endif
-#ifdef B150
- { 150, B150 },
-#endif
-#ifdef B200
- { 200, B200 },
-#endif
-#ifdef B300
- { 300, B300 },
-#endif
-#ifdef B600
- { 600, B600 },
-#endif
-#ifdef B1200
- { 1200, B1200 },
-#endif
-#ifdef B1800
- { 1800, B1800 },
-#endif
-#ifdef B2000
- { 2000, B2000 },
-#endif
-#ifdef B2400
- { 2400, B2400 },
-#endif
-#ifdef B3600
- { 3600, B3600 },
-#endif
-#ifdef B4800
- { 4800, B4800 },
-#endif
-#ifdef B7200
- { 7200, B7200 },
-#endif
-#ifdef B9600
- { 9600, B9600 },
-#endif
-#ifdef B19200
- { 19200, B19200 },
-#endif
-#ifdef B38400
- { 38400, B38400 },
-#endif
-#ifdef EXTA
- { 19200, EXTA },
-#endif
-#ifdef EXTB
- { 38400, EXTB },
-#endif
-#ifdef B57600
- { 57600, B57600 },
-#endif
-#ifdef B115200
- { 115200, B115200 },
-#endif
- { 0, 0 }
-};
-
-/*
- * Translate from bits/second to a speed_t.
- */
-static int
-translate_speed(bps)
- int bps;
-{
- struct speed *speedp;
-
- if (bps == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (bps == speedp->speed_int)
- return speedp->speed_val;
- warn("speed %d not supported", bps);
- return 0;
-}
-
-/*
- * Translate from a speed_t to bits/second.
- */
-static int
-baud_rate_of(speed)
- int speed;
-{
- struct speed *speedp;
-
- if (speed == 0)
- return 0;
- for (speedp = speeds; speedp->speed_int; speedp++)
- if (speed == speedp->speed_val)
- return speedp->speed_int;
- return 0;
-}
-
-/*
- * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
- * at the requested speed, etc. If `local' is true, set CLOCAL
- * regardless of whether the modem option was specified.
- */
-void
-set_up_tty(fd, local)
- int fd, local;
-{
- int speed;
- struct termios tios;
-
- if (tcgetattr(fd, &tios) < 0)
- fatal("tcgetattr: %m");
-
- if (!restore_term) {
- inittermios = tios;
- ioctl(fd, TIOCGWINSZ, &wsinfo);
- }
-
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
- if (crtscts > 0)
- tios.c_cflag |= CRTSCTS;
- else if (crtscts < 0)
- tios.c_cflag &= ~CRTSCTS;
-
- tios.c_cflag |= CS8 | CREAD | HUPCL;
- if (local || !modem)
- tios.c_cflag |= CLOCAL;
- tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- tios.c_cc[VMIN] = 1;
- tios.c_cc[VTIME] = 0;
-
- if (crtscts == -2) {
- tios.c_iflag |= IXON | IXOFF;
- tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
- tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
- }
-
- speed = translate_speed(inspeed);
- if (speed) {
- cfsetospeed(&tios, speed);
- cfsetispeed(&tios, speed);
- } else {
- speed = cfgetospeed(&tios);
- /*
- * We can't proceed if the serial port speed is 0,
- * since that implies that the serial port is disabled.
- */
- if (speed == B0)
- fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
- }
-
- if (tcsetattr(fd, TCSAFLUSH, &tios) < 0)
- fatal("tcsetattr: %m");
-
- baud_rate = inspeed = baud_rate_of(speed);
- restore_term = 1;
-}
-
-/*
- * restore_tty - restore the terminal to the saved settings.
- */
-void
-restore_tty(fd)
- int fd;
-{
- if (restore_term) {
- if (!default_device) {
- /*
- * Turn off echoing, because otherwise we can get into
- * a loop with the tty and the modem echoing to each other.
- * We presume we are the sole user of this tty device, so
- * when we close it, it will revert to its defaults anyway.
- */
- inittermios.c_lflag &= ~(ECHO | ECHONL);
- }
- if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
- if (!hungup && errno != ENXIO)
- warn("tcsetattr: %m");
- ioctl(fd, TIOCSWINSZ, &wsinfo);
- restore_term = 0;
- }
-}
-
-/*
- * setdtr - control the DTR line on the serial port.
- * This is called from die(), so it shouldn't call die().
- */
-void
-setdtr(fd, on)
-int fd, on;
-{
- int modembits = TIOCM_DTR;
-
- ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
-}
-
-/*
- * open_loopback - open the device we use for getting packets
- * in demand mode. Under SunOS, we use our existing fd
- * to the ppp driver.
- */
-int
-open_ppp_loopback()
-{
- return pppfd;
-}
-
-/*
- * output - Output PPP packet.
- */
-void
-output(unit, p, len)
- int unit;
- u_char *p;
- int len;
-{
- struct strbuf data;
- int retries;
- struct pollfd pfd;
-
- if (debug)
- dbglog("sent %P", p, len);
-
- data.len = len;
- data.buf = (caddr_t) p;
- retries = 4;
- while (putmsg(pppfd, NULL, &data, 0) < 0) {
- if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
- if (errno != ENXIO)
- error("Couldn't send packet: %m");
- break;
- }
- pfd.fd = pppfd;
- pfd.events = POLLOUT;
- poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
- }
-}
-
-
-/*
- * wait_input - wait until there is data available,
- * for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_input(timo)
- struct timeval *timo;
-{
- int t;
-
- t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
- if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR) {
- if (errno != EAGAIN)
- fatal("poll: %m");
- /* we can get EAGAIN on a heavily loaded system,
- * just wait a short time and try again. */
- usleep(50000);
- }
-}
-
-/*
- * add_fd - add an fd to the set that wait_input waits for.
- */
-void add_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n)
- if (pollfds[n].fd == fd)
- return;
- if (n_pollfds < MAX_POLLFDS) {
- pollfds[n_pollfds].fd = fd;
- pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
- ++n_pollfds;
- } else
- error("Too many inputs!");
-}
-
-/*
- * remove_fd - remove an fd from the set that wait_input waits for.
- */
-void remove_fd(fd)
- int fd;
-{
- int n;
-
- for (n = 0; n < n_pollfds; ++n) {
- if (pollfds[n].fd == fd) {
- while (++n < n_pollfds)
- pollfds[n-1] = pollfds[n];
- --n_pollfds;
- break;
- }
- }
-}
-
-#if 0
-/*
- * wait_loop_output - wait until there is data available on the
- * loopback, for the length of time specified by *timo (indefinite
- * if timo is NULL).
- */
-void
-wait_loop_output(timo)
- struct timeval *timo;
-{
- wait_input(timo);
-}
-
-/*
- * wait_time - wait for a given length of time or until a
- * signal is received.
- */
-void
-wait_time(timo)
- struct timeval *timo;
-{
- int n;
-
- n = select(0, NULL, NULL, NULL, timo);
- if (n < 0 && errno != EINTR)
- fatal("select: %m");
-}
-#endif
-
-/*
- * read_packet - get a PPP packet from the serial device.
- */
-int
-read_packet(buf)
- u_char *buf;
-{
- struct strbuf ctrl, data;
- int flags, len;
- unsigned char ctrlbuf[64];
-
- for (;;) {
- data.maxlen = PPP_MRU + PPP_HDRLEN;
- data.buf = (caddr_t) buf;
- ctrl.maxlen = sizeof(ctrlbuf);
- ctrl.buf = (caddr_t) ctrlbuf;
- flags = 0;
- len = getmsg(pppfd, &ctrl, &data, &flags);
- if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
- return -1;
- fatal("Error reading packet: %m");
- }
-
- if (ctrl.len <= 0)
- return data.len;
-
- /*
- * Got a M_PROTO or M_PCPROTO message. Huh?
- */
- if (debug)
- dbglog("got ctrl msg len=%d", ctrl.len);
-
- }
-}
-
-/*
- * get_loop_output - get outgoing packets from the ppp device,
- * and detect when we want to bring the real link up.
- * Return value is 1 if we need to bring up the link, 0 otherwise.
- */
-int
-get_loop_output()
-{
- int len;
- int rv = 0;
-
- while ((len = read_packet(inpacket_buf)) > 0) {
- if (loop_frame(inpacket_buf, len))
- rv = 1;
- }
- return rv;
-}
-
-/*
- * ppp_send_config - configure the transmit characteristics of
- * the ppp interface.
- */
-void
-ppp_send_config(unit, mtu, asyncmap, pcomp, accomp)
- int unit, mtu;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
- struct ifreq ifr;
-
- link_mtu = mtu;
- if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MTU: %m");
- }
- if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set transmit ACCM: %m");
- }
- cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
- cf[1] = COMP_PROT | COMP_AC;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC compression: %m");
- }
-
- /* set mtu for ip as well */
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_metric = link_mtu;
- if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-}
-
-/*
- * ppp_set_xaccm - set the extended transmit ACCM for the interface.
- */
-void
-ppp_set_xaccm(unit, accm)
- int unit;
- ext_accm accm;
-{
- if (strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
- if (!hungup || errno != ENXIO)
- warn("Couldn't set extended ACCM: %m");
- }
-}
-
-/*
- * ppp_recv_config - configure the receive-side characteristics of
- * the ppp interface.
- */
-void
-ppp_recv_config(unit, mru, asyncmap, pcomp, accomp)
- int unit, mru;
- u_int32_t asyncmap;
- int pcomp, accomp;
-{
- int cf[2];
-
- link_mru = mru;
- if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
- if (hungup && errno == ENXIO)
- return;
- error("Couldn't set MRU: %m");
- }
- if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
- error("Couldn't set receive ACCM: %m");
- }
- cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
- cf[1] = DECOMP_PROT | DECOMP_AC;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- error("Couldn't set prot/AC decompression: %m");
- }
-}
-
-/*
- * ccp_test - ask kernel whether a given compression method
- * is acceptable for use.
- */
-int
-ccp_test(unit, opt_ptr, opt_len, for_transmit)
- int unit, opt_len, for_transmit;
- u_char *opt_ptr;
-{
- if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
- opt_ptr, opt_len, 0) >= 0)
- return 1;
- return (errno == ENOSR)? 0: -1;
-}
-
-/*
- * ccp_flags_set - inform kernel about the current state of CCP.
- */
-void
-ccp_flags_set(unit, isopen, isup)
- int unit, isopen, isup;
-{
- int cf[2];
-
- cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
- cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (!hungup || errno != ENXIO)
- error("Couldn't set kernel CCP state: %m");
- }
-}
-
-/*
- * get_idle_time - return how long the link has been idle.
- */
-int
-get_idle_time(u, ip)
- int u;
- struct ppp_idle *ip;
-{
- return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
-}
-
-/*
- * get_ppp_stats - return statistics for the link.
- */
-int
-get_ppp_stats(u, stats)
- int u;
- struct pppd_stats *stats;
-{
- struct ppp_stats s;
-
- if (strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
- error("Couldn't get link statistics: %m");
- return 0;
- }
- stats->bytes_in = s.p.ppp_ibytes;
- stats->bytes_out = s.p.ppp_obytes;
- return 1;
-}
-
-
-/*
- * ccp_fatal_error - returns 1 if decompression was disabled as a
- * result of an error detected after decompression of a packet,
- * 0 otherwise. This is necessary because of patent nonsense.
- */
-int
-ccp_fatal_error(unit)
- int unit;
-{
- int cf[2];
-
- cf[0] = cf[1] = 0;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (errno != ENXIO && errno != EINVAL)
- error("Couldn't get compression flags: %m");
- return 0;
- }
- return cf[0] & CCP_FATALERROR;
-}
-
-/*
- * sifvjcomp - config tcp header compression
- */
-int
-sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
- int u, vjcomp, xcidcomp, xmaxcid;
-{
- int cf[2];
- char maxcid[2];
-
- if (vjcomp) {
- maxcid[0] = xcidcomp;
- maxcid[1] = 15; /* XXX should be rmaxcid */
- if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
- error("Couldn't initialize VJ compression: %m");
- }
- }
-
- cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
- + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
- cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
- if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
- if (vjcomp)
- error("Couldn't enable VJ compression: %m");
- }
-
- return 1;
-}
-
-/*
- * sifup - Config the interface up and enable IP packets to pass.
- */
-int
-sifup(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (get): %m");
- return 0;
- }
- ifr.ifr_flags |= IFF_UP;
- if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface up (set): %m");
- return 0;
- }
- if_is_up = 1;
- return 1;
-}
-
-/*
- * sifdown - Config the interface down and disable IP.
- */
-int
-sifdown(u)
- int u;
-{
- struct ifreq ifr;
-
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (get): %m");
- return 0;
- }
- if ((ifr.ifr_flags & IFF_UP) != 0) {
- ifr.ifr_flags &= ~IFF_UP;
- if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
- error("Couldn't mark interface down (set): %m");
- return 0;
- }
- }
- if_is_up = 0;
- return 1;
-}
-
-/*
- * sifnpmode - Set the mode for handling packets for a given NP.
- */
-int
-sifnpmode(u, proto, mode)
- int u;
- int proto;
- enum NPmode mode;
-{
- int npi[2];
-
- npi[0] = proto;
- npi[1] = (int) mode;
- if (strioctl(pppfd, PPPIO_NPMODE, npi, 2 * sizeof(int), 0) < 0) {
- error("ioctl(set NP %d mode to %d): %m", proto, mode);
- return 0;
- }
- return 1;
-}
-
-#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
-
-/*
- * sifaddr - Config the interface IP addresses and netmask.
- */
-int
-sifaddr(u, o, h, m)
- int u;
- u_int32_t o, h, m;
-{
- struct ifreq ifr;
-
- memset(&ifr, 0, sizeof(ifr));
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = m;
- if (ioctl(sockfd, SIOCSIFNETMASK, &ifr) < 0) {
- error("Couldn't set IP netmask: %m");
- }
- ifr.ifr_addr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_addr) = o;
- if (ioctl(sockfd, SIOCSIFADDR, &ifr) < 0) {
- error("Couldn't set local IP address: %m");
- }
- ifr.ifr_dstaddr.sa_family = AF_INET;
- INET_ADDR(ifr.ifr_dstaddr) = h;
- if (ioctl(sockfd, SIOCSIFDSTADDR, &ifr) < 0) {
- error("Couldn't set remote IP address: %m");
- }
-#if 0 /* now done in ppp_send_config */
- ifr.ifr_metric = link_mtu;
- if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
- error("Couldn't set IP MTU: %m");
- }
-#endif
- ifaddrs[0] = o;
- ifaddrs[1] = h;
-
- return 1;
-}
-
-/*
- * cifaddr - Clear the interface IP addresses, and delete routes
- * through the interface if possible.
- */
-int
-cifaddr(u, o, h)
- int u;
- u_int32_t o, h;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = h;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = o;
- rt.rt_flags = RTF_HOST;
- if (ioctl(sockfd, SIOCDELRT, &rt) < 0)
- error("Couldn't delete route through interface: %m");
- ifaddrs[0] = 0;
- return 1;
-}
-
-/*
- * sifdefaultroute - assign a default route through the address given.
- */
-int
-sifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(sockfd, SIOCADDRT, &rt) < 0) {
- error("Can't add default route: %m");
- return 0;
- }
-
- default_route_gateway = g;
- return 1;
-}
-
-/*
- * cifdefaultroute - delete a default route through the address given.
- */
-int
-cifdefaultroute(u, l, g)
- int u;
- u_int32_t l, g;
-{
- struct rtentry rt;
-
- bzero(&rt, sizeof(rt));
- rt.rt_dst.sa_family = AF_INET;
- INET_ADDR(rt.rt_dst) = 0;
- rt.rt_gateway.sa_family = AF_INET;
- INET_ADDR(rt.rt_gateway) = g;
- rt.rt_flags = RTF_GATEWAY;
-
- if (ioctl(sockfd, SIOCDELRT, &rt) < 0) {
- error("Can't delete default route: %m");
- return 0;
- }
-
- default_route_gateway = 0;
- return 1;
-}
-
-/*
- * sifproxyarp - Make a proxy ARP entry for the peer.
- */
-int
-sifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- bzero(&arpreq, sizeof(arpreq));
- if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
- return 0;
-
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- arpreq.arp_flags = ATF_PERM | ATF_PUBL;
- if (ioctl(sockfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
- error("Couldn't set proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = hisaddr;
- return 1;
-}
-
-/*
- * cifproxyarp - Delete the proxy ARP entry for the peer.
- */
-int
-cifproxyarp(unit, hisaddr)
- int unit;
- u_int32_t hisaddr;
-{
- struct arpreq arpreq;
-
- bzero(&arpreq, sizeof(arpreq));
- arpreq.arp_pa.sa_family = AF_INET;
- INET_ADDR(arpreq.arp_pa) = hisaddr;
- if (ioctl(sockfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
- error("Couldn't delete proxy ARP entry: %m");
- return 0;
- }
-
- proxy_arp_addr = 0;
- return 1;
-}
-
-/*
- * get_ether_addr - get the hardware address of an interface on the
- * the same subnet as ipaddr.
- */
-#define MAX_IFS 32
-
-static int
-get_ether_addr(ipaddr, hwaddr)
- u_int32_t ipaddr;
- struct sockaddr *hwaddr;
-{
- struct ifreq *ifr, *ifend;
- u_int32_t ina, mask;
- struct ifreq ifreq;
- struct ifconf ifc;
- struct ifreq ifs[MAX_IFS];
- int nit_fd;
-
- ifc.ifc_len = sizeof(ifs);
- ifc.ifc_req = ifs;
- if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
- error("ioctl(SIOCGIFCONF): %m");
- return 0;
- }
-
- /*
- * Scan through looking for an interface with an Internet
- * address on the same subnet as `ipaddr'.
- */
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ifr = (struct ifreq *)
- ((char *)&ifr->ifr_addr + sizeof(struct sockaddr))) {
- if (ifr->ifr_addr.sa_family == AF_INET) {
-
- /*
- * Check that the interface is up, and not point-to-point
- * or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags &
- (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
- != (IFF_UP|IFF_BROADCAST))
- continue;
-
- /*
- * Get its netmask and check that it's on the right subnet.
- */
- if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- ina = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr;
- mask = ((struct sockaddr_in *) &ifreq.ifr_addr)->sin_addr.s_addr;
- if ((ipaddr & mask) != (ina & mask))
- continue;
-
- break;
- }
- }
-
- if (ifr >= ifend)
- return 0;
- info("found interface %s for proxy arp", ifr->ifr_name);
-
- /*
- * Grab the physical address for this interface.
- */
- if ((nit_fd = open("/dev/nit", O_RDONLY)) < 0) {
- error("Couldn't open /dev/nit: %m");
- return 0;
- }
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(nit_fd, NIOCBIND, &ifreq) < 0
- || ioctl(nit_fd, SIOCGIFADDR, &ifreq) < 0) {
- error("Couldn't get hardware address for %s: %m",
- ifreq.ifr_name);
- close(nit_fd);
- return 0;
- }
-
- hwaddr->sa_family = AF_UNSPEC;
- memcpy(hwaddr->sa_data, ifreq.ifr_addr.sa_data, 6);
- close(nit_fd);
- return 1;
-}
-
-/*
- * have_route_to - determine if the system has any route to
- * a given IP address.
- * For demand mode to work properly, we have to ignore routes
- * through our own interface.
- */
-int have_route_to(addr)
- u_int32_t addr;
-{
- return -1;
-}
-
-#define WTMPFILE "/usr/adm/wtmp"
-
-void
-logwtmp(line, name, host)
- const char *line, *name, *host;
-{
- int fd;
- struct stat buf;
- struct utmp ut;
-
- if ((fd = open(WTMPFILE, O_WRONLY|O_APPEND, 0)) < 0)
- return;
- if (!fstat(fd, &buf)) {
- strncpy(ut.ut_line, line, sizeof(ut.ut_line));
- strncpy(ut.ut_name, name, sizeof(ut.ut_name));
- strncpy(ut.ut_host, host, sizeof(ut.ut_host));
- (void)time(&ut.ut_time);
- if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
- (void)ftruncate(fd, buf.st_size);
- }
- close(fd);
-}
-
-/*
- * Return user specified netmask, modified by any mask we might determine
- * for address `addr' (in network byte order).
- * Here we scan through the system's list of interfaces, looking for
- * any non-point-to-point interfaces which might appear to be on the same
- * network as `addr'. If we find any, we OR in their netmask to the
- * user-specified netmask.
- */
-u_int32_t
-GetMask(addr)
- u_int32_t addr;
-{
- u_int32_t mask, nmask, ina;
- struct ifreq *ifr, *ifend, ifreq;
- struct ifconf ifc;
-
- addr = ntohl(addr);
- if (IN_CLASSA(addr)) /* determine network mask for address class */
- nmask = IN_CLASSA_NET;
- else if (IN_CLASSB(addr))
- nmask = IN_CLASSB_NET;
- else
- nmask = IN_CLASSC_NET;
- /* class D nets are disallowed by bad_ip_adrs */
- mask = netmask | htonl(nmask);
-
- /*
- * Scan through the system's network interfaces.
- */
- ifc.ifc_len = MAX_IFS * sizeof(struct ifreq);
- ifc.ifc_req = alloca(ifc.ifc_len);
- if (ifc.ifc_req == 0)
- return mask;
- if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
- warn("Couldn't get system interface list: %m");
- return mask;
- }
- ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
- for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
- /*
- * Check the interface's internet address.
- */
- if (ifr->ifr_addr.sa_family != AF_INET)
- continue;
- ina = INET_ADDR(ifr->ifr_addr);
- if ((ntohl(ina) & nmask) != (addr & nmask))
- continue;
- /*
- * Check that the interface is up, and not point-to-point or loopback.
- */
- strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
- if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
- continue;
- if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
- != IFF_UP)
- continue;
- /*
- * Get its netmask and OR it into our mask.
- */
- if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
- continue;
- mask |= INET_ADDR(ifreq.ifr_addr);
- }
-
- return mask;
-}
-
-static int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- void *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-/*
- * Use the hostid as part of the random number seed.
- */
-int
-get_host_seed()
-{
- return gethostid();
-}
-
-#if 0
-/*
- * Code for locking/unlocking the serial device.
- * This code is derived from chat.c.
- */
-
-#if !defined(HDB) && !defined(SUNOS3)
-#define HDB 1 /* ascii lock files are the default */
-#endif
-
-#ifndef LOCK_DIR
-# if HDB
-# define PIDSTRING
-# define LOCK_PREFIX "/usr/spool/locks/LCK.."
-# else /* HDB */
-# define LOCK_PREFIX "/usr/spool/uucp/LCK.."
-# endif /* HDB */
-#endif /* LOCK_DIR */
-
-static char *lock_file; /* name of lock file created */
-
-/*
- * lock - create a lock file for the named device.
- */
-int
-lock(dev)
- char *dev;
-{
- char hdb_lock_buffer[12];
- int fd, pid, n;
- char *p;
- size_t l;
-
- if ((p = strrchr(dev, '/')) != NULL)
- dev = p + 1;
- l = strlen(LOCK_PREFIX) + strlen(dev) + 1;
- lock_file = malloc(l);
- if (lock_file == NULL)
- novm("lock file name");
- slprintf(lock_file, l, "%s%s", LOCK_PREFIX, dev);
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno == EEXIST
- && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
- /* Read the lock file to find out who has the device locked */
-#ifdef PIDSTRING
- n = read(fd, hdb_lock_buffer, 11);
- if (n > 0) {
- hdb_lock_buffer[n] = 0;
- pid = atoi(hdb_lock_buffer);
- }
-#else
- n = read(fd, &pid, sizeof(pid));
-#endif
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- close(fd);
- } else {
- if (kill(pid, 0) == -1 && errno == ESRCH) {
- /* pid no longer exists - remove the lock file */
- if (unlink(lock_file) == 0) {
- close(fd);
- notice("Removed stale lock on %s (pid %d)",
- dev, pid);
- continue;
- } else
- warn("Couldn't remove stale lock on %s",
- dev);
- } else
- notice("Device %s is locked by pid %d",
- dev, pid);
- }
- close(fd);
- } else
- error("Can't create lock file %s: %m", lock_file);
- free(lock_file);
- lock_file = NULL;
- return -1;
- }
-
-#ifdef PIDSTRING
- slprintf(hdb_lock_buffer, sizeof(hdb_lock_buffer), "%10d\n", getpid());
- write(fd, hdb_lock_buffer, 11);
-#else
- pid = getpid();
- write(fd, &pid, sizeof pid);
-#endif
-
- close(fd);
- return 0;
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file) {
- unlink(lock_file);
- free(lock_file);
- lock_file = NULL;
- }
-}
-#endif /* lock stuff removed */
-
-/*
- * get_pty - get a pty master/slave pair and chown the slave side
- * to the uid given. Assumes slave_name points to >= 12 bytes of space.
- */
-int
-get_pty(master_fdp, slave_fdp, slave_name, uid)
- int *master_fdp;
- int *slave_fdp;
- char *slave_name;
- int uid;
-{
- int i, mfd, sfd;
- char pty_name[12];
- struct termios tios;
-
- sfd = -1;
- for (i = 0; i < 64; ++i) {
- slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
- 'p' + i / 16, i % 16);
- mfd = open(pty_name, O_RDWR, 0);
- if (mfd >= 0) {
- pty_name[5] = 't';
- sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
- if (sfd >= 0)
- break;
- close(mfd);
- }
- }
- if (sfd < 0)
- return 0;
-
- strlcpy(slave_name, pty_name, 12);
- *master_fdp = mfd;
- *slave_fdp = sfd;
- fchown(sfd, uid, -1);
- fchmod(sfd, S_IRUSR | S_IWUSR);
- if (tcgetattr(sfd, &tios) == 0) {
- tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
- tios.c_cflag |= CS8 | CREAD;
- tios.c_iflag = IGNPAR | CLOCAL;
- tios.c_oflag = 0;
- tios.c_lflag = 0;
- if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
- warn("couldn't set attributes on pty: %m");
- } else
- warn("couldn't get attributes on pty: %m");
-
- return 1;
-}
-
-/*
- * SunOS doesn't have strtoul :-(
- */
-unsigned long
-strtoul(str, ptr, base)
- char *str, **ptr;
- int base;
-{
- return (unsigned long) strtol(str, ptr, base);
-}
-
-/*
- * Or strerror :-(
- */
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-char *
-strerror(n)
- int n;
-{
- static char unknown[32];
-
- if (n > 0 && n < sys_nerr)
- return sys_errlist[n];
- slprintf(unknown, sizeof(unknown), "Error %d", n);
- return unknown;
-}
diff --git a/mdk-stage1/ppp/pppd/tdb.c b/mdk-stage1/ppp/pppd/tdb.c
deleted file mode 100644
index 7fd58291e..000000000
--- a/mdk-stage1/ppp/pppd/tdb.c
+++ /dev/null
@@ -1,1282 +0,0 @@
-/*
- * Database functions
- * Copyright (C) Andrew Tridgell 1999
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms AND provided that this software or
- * any derived work is only used as part of the PPP daemon (pppd)
- * and related utilities.
- * The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Note: this software is also available under the Gnu Public License
- * version 2 or later.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include "tdb.h"
-
-#define TDB_VERSION (0x26011967 + 1)
-#define TDB_MAGIC (0x26011999U)
-#define TDB_FREE_MAGIC (~TDB_MAGIC)
-#define TDB_ALIGN 4
-#define MIN_REC_SIZE (2*sizeof(struct list_struct) + TDB_ALIGN)
-#define DEFAULT_HASH_SIZE 128
-#define TDB_PAGE_SIZE 0x2000
-#define TDB_LEN_MULTIPLIER 10
-#define FREELIST_TOP (sizeof(struct tdb_header))
-
-#define LOCK_SET 1
-#define LOCK_CLEAR 0
-
-/* lock offsets */
-#define GLOBAL_LOCK 0
-#define ACTIVE_LOCK 4
-#define LIST_LOCK_BASE 1024
-
-#define BUCKET(hash) ((hash) % tdb->header.hash_size)
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-/* the body of the database is made of one list_struct for the free space
- plus a separate data list for each hash value */
-struct list_struct {
- tdb_len rec_len; /* total byte length of record */
- tdb_off next; /* offset of the next record in the list */
- tdb_len key_len; /* byte length of key */
- tdb_len data_len; /* byte length of data */
- unsigned full_hash; /* the full 32 bit hash of the key */
- unsigned magic; /* try to catch errors */
- /*
- the following union is implied
- union {
- char record[rec_len];
- struct {
- char key[key_len];
- char data[data_len];
- }
- }
- */
-};
-
-/* a null data record - useful for error returns */
-static TDB_DATA null_data;
-
-/* a byte range locking function - return 0 on success
- this functions locks/unlocks 1 byte at the specified offset */
-static int tdb_brlock(TDB_CONTEXT *tdb, tdb_off offset,
- int set, int rw_type, int lck_type)
-{
-#if NOLOCK
- return 0;
-#else
- struct flock fl;
-
- if (tdb->fd == -1) return 0; /* for in memory tdb */
-
- if (tdb->read_only) return -1;
-
- fl.l_type = set==LOCK_SET?rw_type:F_UNLCK;
- fl.l_whence = SEEK_SET;
- fl.l_start = offset;
- fl.l_len = 1;
- fl.l_pid = 0;
-
- if (fcntl(tdb->fd, lck_type, &fl) != 0) {
-#if TDB_DEBUG
- if (lck_type == F_SETLKW) {
- printf("lock %d failed at %d (%s)\n",
- set, offset, strerror(errno));
- }
-#endif
- tdb->ecode = TDB_ERR_LOCK;
- return -1;
- }
- return 0;
-#endif
-}
-
-/* lock a list in the database. list -1 is the alloc list */
-static int tdb_lock(TDB_CONTEXT *tdb, int list)
-{
- if (list < -1 || list >= (int)tdb->header.hash_size) {
-#if TDB_DEBUG
- printf("bad list %d\n", list);
-#endif
- return -1;
- }
- if (tdb->locked[list+1] == 0) {
- if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_SET,
- F_WRLCK, F_SETLKW) != 0) {
- return -1;
- }
- }
- tdb->locked[list+1]++;
- return 0;
-}
-
-/* unlock the database. */
-static int tdb_unlock(TDB_CONTEXT *tdb, int list)
-{
- if (list < -1 || list >= (int)tdb->header.hash_size) {
-#if TDB_DEBUG
- printf("bad unlock list %d\n", list);
-#endif
- return -1;
- }
-
- if (tdb->locked[list+1] == 0) {
-#if TDB_DEBUG
- printf("not locked %d\n", list);
-#endif
- tdb->ecode = TDB_ERR_LOCK;
- return -1;
- }
- if (tdb->locked[list+1] == 1) {
- if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_CLEAR,
- F_WRLCK, F_SETLKW) != 0) {
- return -1;
- }
- }
- tdb->locked[list+1]--;
- return 0;
-}
-
-/* the hash algorithm - turn a key into an integer
- This is based on the hash agorithm from gdbm */
-static unsigned tdb_hash(TDB_DATA *key)
-{
- unsigned value; /* Used to compute the hash value. */
- unsigned i; /* Used to cycle through random values. */
-
- /* Set the initial value from the key size. */
- value = 0x238F13AF * key->dsize;
- for (i=0; i < key->dsize; i++) {
- value = (value + (key->dptr[i] << (i*5 % 24)));
- }
-
- value = (1103515243 * value + 12345);
-
- return value;
-}
-
-/* find the top of the hash chain for an open database */
-static tdb_off tdb_hash_top(TDB_CONTEXT *tdb, unsigned hash)
-{
- tdb_off ret;
- hash = BUCKET(hash);
- ret = FREELIST_TOP + (hash+1)*sizeof(tdb_off);
- return ret;
-}
-
-
-/* check for an out of bounds access - if it is out of bounds then
- see if the database has been expanded by someone else and expand
- if necessary */
-static int tdb_oob(TDB_CONTEXT *tdb, tdb_off offset)
-{
- struct stat st;
- if ((offset <= tdb->map_size) || (tdb->fd == -1)) return 0;
-
- fstat(tdb->fd, &st);
- if (st.st_size <= (ssize_t)offset) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
-
-#if HAVE_MMAP
- if (tdb->map_ptr) {
- munmap(tdb->map_ptr, tdb->map_size);
- tdb->map_ptr = NULL;
- }
-#endif
-
- tdb->map_size = st.st_size;
-#if HAVE_MMAP
- tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
- tdb->read_only?PROT_READ:PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb->fd, 0);
-#endif
- return 0;
-}
-
-
-/* write a lump of data at a specified offset */
-static int tdb_write(TDB_CONTEXT *tdb, tdb_off offset, const char *buf, tdb_len len)
-{
- if (tdb_oob(tdb, offset + len) != 0) {
- /* oops - trying to write beyond the end of the database! */
- return -1;
- }
-
- if (tdb->map_ptr) {
- memcpy(offset + (char *)tdb->map_ptr, buf, len);
- } else {
- if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
- write(tdb->fd, buf, len) != (ssize_t)len) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- }
- return 0;
-}
-
-/* read a lump of data at a specified offset */
-static int tdb_read(TDB_CONTEXT *tdb, tdb_off offset, char *buf, tdb_len len)
-{
- if (tdb_oob(tdb, offset + len) != 0) {
- /* oops - trying to read beyond the end of the database! */
- return -1;
- }
-
- if (tdb->map_ptr) {
- memcpy(buf, offset + (char *)tdb->map_ptr, len);
- } else {
- if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
- read(tdb->fd, buf, len) != (ssize_t)len) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- }
- return 0;
-}
-
-
-/* read a lump of data, allocating the space for it */
-static char *tdb_alloc_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_len len)
-{
- char *buf;
-
- buf = (char *)malloc(len);
-
- if (!buf) {
- tdb->ecode = TDB_ERR_OOM;
- return NULL;
- }
-
- if (tdb_read(tdb, offset, buf, len) == -1) {
- free(buf);
- return NULL;
- }
-
- return buf;
-}
-
-/* convenience routine for writing a record */
-static int rec_write(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
- return tdb_write(tdb, offset, (char *)rec, sizeof(*rec));
-}
-
-/* convenience routine for writing a tdb_off */
-static int ofs_write(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
- return tdb_write(tdb, offset, (char *)d, sizeof(*d));
-}
-
-/* read a tdb_off from the store */
-static int ofs_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
-{
- return tdb_read(tdb, offset, (char *)d, sizeof(*d));
-}
-
-/* read a record and check for simple errors */
-static int rec_read(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
-{
- if (tdb_read(tdb, offset, (char *)rec, sizeof(*rec)) == -1) return -1;
- if (rec->magic != TDB_MAGIC) {
-#if TDB_DEBUG
- printf("bad magic 0x%08x at offset %d\n",
- rec->magic, offset);
-#endif
- tdb->ecode = TDB_ERR_CORRUPT;
- return -1;
- }
- if (tdb_oob(tdb, rec->next) != 0) {
- return -1;
- }
- return 0;
-}
-
-/* expand the database at least length bytes by expanding the
- underlying file and doing the mmap again if necessary */
-static int tdb_expand(TDB_CONTEXT *tdb, tdb_off length)
-{
- struct list_struct rec;
- tdb_off offset, ptr;
- char b = 0;
-
- tdb_lock(tdb,-1);
-
- /* make sure we know about any previous expansions by another
- process */
- tdb_oob(tdb,tdb->map_size + 1);
-
- /* always make room for at least 10 more records */
- length *= TDB_LEN_MULTIPLIER;
-
- /* and round the database up to a multiple of TDB_PAGE_SIZE */
- length = ((tdb->map_size + length + TDB_PAGE_SIZE) & ~(TDB_PAGE_SIZE - 1)) - tdb->map_size;
-
- /* expand the file itself */
- if (tdb->fd != -1) {
- lseek(tdb->fd, tdb->map_size + length - 1, SEEK_SET);
- if (write(tdb->fd, &b, 1) != 1) goto fail;
- }
-
- /* form a new freelist record */
- offset = FREELIST_TOP;
- rec.rec_len = length - sizeof(rec);
- rec.magic = TDB_FREE_MAGIC;
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
-
-#if HAVE_MMAP
- if (tdb->fd != -1 && tdb->map_ptr) {
- munmap(tdb->map_ptr, tdb->map_size);
- tdb->map_ptr = NULL;
- }
-#endif
-
- tdb->map_size += length;
-
- if (tdb->fd == -1) {
- tdb->map_ptr = realloc(tdb->map_ptr, tdb->map_size);
- }
-
- /* write it out */
- if (rec_write(tdb, tdb->map_size - length, &rec) == -1) {
- goto fail;
- }
-
- /* link it into the free list */
- ptr = tdb->map_size - length;
- if (ofs_write(tdb, offset, &ptr) == -1) goto fail;
-
-#if HAVE_MMAP
- if (tdb->fd != -1) {
- tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
- PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb->fd, 0);
- }
-#endif
-
- tdb_unlock(tdb, -1);
- return 0;
-
- fail:
- tdb_unlock(tdb,-1);
- return -1;
-}
-
-/* allocate some space from the free list. The offset returned points
- to a unconnected list_struct within the database with room for at
- least length bytes of total data
-
- 0 is returned if the space could not be allocated
- */
-static tdb_off tdb_allocate(TDB_CONTEXT *tdb, tdb_len length)
-{
- tdb_off offset, rec_ptr, last_ptr;
- struct list_struct rec, lastrec, newrec;
-
- tdb_lock(tdb, -1);
-
- again:
- last_ptr = 0;
- offset = FREELIST_TOP;
-
- /* read in the freelist top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- /* keep looking until we find a freelist record that is big
- enough */
- while (rec_ptr) {
- if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
- goto fail;
- }
-
- if (rec.magic != TDB_FREE_MAGIC) {
-#if TDB_DEBUG
- printf("bad magic 0x%08x in free list\n", rec.magic);
-#endif
- goto fail;
- }
-
- if (rec.rec_len >= length) {
- /* found it - now possibly split it up */
- if (rec.rec_len > length + MIN_REC_SIZE) {
- length = (length + TDB_ALIGN) & ~(TDB_ALIGN-1);
-
- newrec.rec_len = rec.rec_len - (sizeof(rec) + length);
- newrec.next = rec.next;
- newrec.magic = TDB_FREE_MAGIC;
-
- rec.rec_len = length;
- rec.next = rec_ptr + sizeof(rec) + rec.rec_len;
-
- if (rec_write(tdb, rec.next, &newrec) == -1) {
- goto fail;
- }
-
- if (rec_write(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
- }
-
- /* remove it from the list */
- if (last_ptr == 0) {
- offset = FREELIST_TOP;
-
- if (ofs_write(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
- } else {
- lastrec.next = rec.next;
- if (rec_write(tdb, last_ptr, &lastrec) == -1) {
- goto fail;
- }
- }
-
- /* all done - return the new record offset */
- tdb_unlock(tdb, -1);
- return rec_ptr;
- }
-
- /* move to the next record */
- lastrec = rec;
- last_ptr = rec_ptr;
- rec_ptr = rec.next;
- }
-
- /* we didn't find enough space. See if we can expand the
- database and if we can then try again */
- if (tdb_expand(tdb, length + sizeof(rec)) == 0) goto again;
-
- fail:
-#if TDB_DEBUG
- printf("tdb_allocate failed for size %u\n", length);
-#endif
- tdb_unlock(tdb, -1);
- return 0;
-}
-
-/* initialise a new database with a specified hash size */
-static int tdb_new_database(TDB_CONTEXT *tdb, int hash_size)
-{
- struct tdb_header header;
- tdb_off offset;
- int i, size = 0;
- tdb_off buf[16];
-
- /* create the header */
- memset(&header, 0, sizeof(header));
- memcpy(header.magic_food, TDB_MAGIC_FOOD, strlen(TDB_MAGIC_FOOD)+1);
- header.version = TDB_VERSION;
- header.hash_size = hash_size;
- lseek(tdb->fd, 0, SEEK_SET);
- ftruncate(tdb->fd, 0);
-
- if (tdb->fd != -1 && write(tdb->fd, &header, sizeof(header)) !=
- sizeof(header)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(header);
-
- /* the freelist and hash pointers */
- offset = 0;
- memset(buf, 0, sizeof(buf));
-
- for (i=0;(hash_size+1)-i >= 16; i += 16) {
- if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(buf)) !=
- sizeof(buf)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(buf);
- }
-
- for (;i<hash_size+1; i++) {
- if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(tdb_off)) !=
- sizeof(tdb_off)) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- } else size += sizeof(tdb_off);
- }
-
- if (tdb->fd == -1) {
- tdb->map_ptr = calloc(size, 1);
- tdb->map_size = size;
- if (tdb->map_ptr == NULL) {
- tdb->ecode = TDB_ERR_IO;
- return -1;
- }
- memcpy(&tdb->header, &header, sizeof(header));
- }
-
-#if TDB_DEBUG
- printf("initialised database of hash_size %u\n",
- hash_size);
-#endif
- return 0;
-}
-
-/* Returns 0 on fail. On success, return offset of record, and fills
- in rec */
-static tdb_off tdb_find(TDB_CONTEXT *tdb, TDB_DATA key, unsigned int hash,
- struct list_struct *rec)
-{
- tdb_off offset, rec_ptr;
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1)
- return 0;
-
- /* keep looking until we find the right record */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, rec) == -1)
- return 0;
-
- if (hash == rec->full_hash && key.dsize == rec->key_len) {
- char *k;
- /* a very likely hit - read the key */
- k = tdb_alloc_read(tdb, rec_ptr + sizeof(*rec),
- rec->key_len);
-
- if (!k)
- return 0;
-
- if (memcmp(key.dptr, k, key.dsize) == 0) {
- free(k);
- return rec_ptr;
- }
- free(k);
- }
-
- /* move to the next record */
- rec_ptr = rec->next;
- }
- return 0;
-}
-
-/*
- return an error string for the last tdb error
-*/
-char *tdb_error(TDB_CONTEXT *tdb)
-{
- int i;
- static struct {
- enum TDB_ERROR ecode;
- char *estring;
- } emap[] = {
- {TDB_SUCCESS, "Success"},
- {TDB_ERR_CORRUPT, "Corrupt database"},
- {TDB_ERR_IO, "IO Error"},
- {TDB_ERR_LOCK, "Locking error"},
- {TDB_ERR_OOM, "Out of memory"},
- {TDB_ERR_EXISTS, "Record exists"},
- {-1, NULL}};
- if (tdb != NULL) {
- for (i=0;emap[i].estring;i++) {
- if (tdb->ecode == emap[i].ecode) return emap[i].estring;
- }
- } else {
- return "Invalid tdb context";
- }
- return "Invalid error code";
-}
-
-
-/* update an entry in place - this only works if the new data size
- is <= the old data size and the key exists.
- on failure return -1
-*/
-int tdb_update(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf)
-{
- unsigned hash;
- struct list_struct rec;
- tdb_off rec_ptr;
- int ret = -1;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_update() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
-
- if (!rec_ptr)
- goto out;
-
- /* must be long enough */
- if (rec.rec_len < key.dsize + dbuf.dsize)
- goto out;
-
- if (tdb_write(tdb, rec_ptr + sizeof(rec) + rec.key_len,
- dbuf.dptr, dbuf.dsize) == -1)
- goto out;
-
- if (dbuf.dsize != rec.data_len) {
- /* update size */
- rec.data_len = dbuf.dsize;
- ret = rec_write(tdb, rec_ptr, &rec);
- } else
- ret = 0;
-
- out:
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-}
-
-/* find an entry in the database given a key */
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off rec_ptr;
- struct list_struct rec;
- TDB_DATA ret = null_data;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_fetch() called with null context\n");
-#endif
- return null_data;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
-
- if (rec_ptr) {
- ret.dptr = tdb_alloc_read(tdb,
- rec_ptr + sizeof(rec) + rec.key_len,
- rec.data_len);
- ret.dsize = rec.data_len;
- }
-
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-}
-
-/* check if an entry in the database exists
-
- note that 1 is returned if the key is found and 0 is returned if not found
- this doesn't match the conventions in the rest of this module, but is
- compatible with gdbm
-*/
-int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off rec_ptr;
- struct list_struct rec;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_exists() called with null context\n");
-#endif
- return 0;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
- rec_ptr = tdb_find(tdb, key, hash, &rec);
- tdb_unlock(tdb, BUCKET(hash));
-
- return rec_ptr != 0;
-}
-
-/* traverse the entire database - calling fn(tdb, key, data) on each element.
- return -1 on error or the record count traversed
- if fn is NULL then it is not called
- a non-zero return value from fn() indicates that the traversal should stop
- */
-int tdb_traverse(TDB_CONTEXT *tdb, int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void* state), void* state)
-{
- int count = 0;
- unsigned h;
- tdb_off offset, rec_ptr;
- struct list_struct rec;
- char *data;
- TDB_DATA key, dbuf;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_traverse() called with null context\n");
-#endif
- return -1;
- }
-
- /* loop over all hash chains */
- for (h = 0; h < tdb->header.hash_size; h++) {
- tdb_lock(tdb, BUCKET(h));
-
- /* read in the hash top */
- offset = tdb_hash_top(tdb, h);
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- /* traverse all records for this hash */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- /* now read the full record */
- data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
- rec.key_len + rec.data_len);
- if (!data) {
- goto fail;
- }
-
- key.dptr = data;
- key.dsize = rec.key_len;
- dbuf.dptr = data + rec.key_len;
- dbuf.dsize = rec.data_len;
- count++;
-
- if (fn && fn(tdb, key, dbuf, state) != 0) {
- /* they want us to stop traversing */
- free(data);
- tdb_unlock(tdb, BUCKET(h));
- return count;
- }
-
- /* a miss - drat */
- free(data);
-
- /* move to the next record */
- rec_ptr = rec.next;
- }
- tdb_unlock(tdb, BUCKET(h));
- }
-
- /* return the number traversed */
- return count;
-
- fail:
- tdb_unlock(tdb, BUCKET(h));
- return -1;
-}
-
-
-/* find the first entry in the database and return its key */
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb)
-{
- tdb_off offset, rec_ptr;
- struct list_struct rec;
- unsigned hash;
- TDB_DATA ret;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_firstkey() called with null context\n");
-#endif
- return null_data;
- }
-
- /* look for a non-empty hash chain */
- for (hash = 0, rec_ptr = 0;
- hash < tdb->header.hash_size;
- hash++) {
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- if (rec_ptr) break;
-
- tdb_unlock(tdb, BUCKET(hash));
- }
-
- if (rec_ptr == 0) return null_data;
-
- /* we've found a non-empty chain, now read the record */
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- /* allocate and read the key space */
- ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
- ret.dsize = rec.key_len;
- tdb_unlock(tdb, BUCKET(hash));
- return ret;
-
- fail:
- tdb_unlock(tdb, BUCKET(hash));
- return null_data;
-}
-
-/* find the next entry in the database, returning its key */
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash, hbucket;
- tdb_off rec_ptr, offset;
- struct list_struct rec;
- TDB_DATA ret;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_nextkey() called with null context\n");
-#endif
- return null_data;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
- hbucket = BUCKET(hash);
-
- tdb_lock(tdb, hbucket);
- rec_ptr = tdb_find(tdb, key, hash, &rec);
- if (rec_ptr) {
- /* we want the next record after this one */
- rec_ptr = rec.next;
- }
-
- /* not found or last in hash: look for next non-empty hash chain */
- while (rec_ptr == 0) {
- tdb_unlock(tdb, hbucket);
-
- if (++hbucket >= tdb->header.hash_size - 1)
- return null_data;
-
- offset = tdb_hash_top(tdb, hbucket);
- tdb_lock(tdb, hbucket);
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- tdb_unlock(tdb, hbucket);
- return null_data;
- }
- }
-
- /* Read the record. */
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- tdb_unlock(tdb, hbucket);
- return null_data;
- }
- /* allocate and read the key */
- ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
- ret.dsize = rec.key_len;
- tdb_unlock(tdb, hbucket);
-
- return ret;
-}
-
-/* delete an entry in the database given a key */
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- unsigned hash;
- tdb_off offset, rec_ptr, last_ptr;
- struct list_struct rec, lastrec;
- char *data = NULL;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_delete() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top */
- if (ofs_read(tdb, offset, &rec_ptr) == -1) {
- goto fail;
- }
-
- last_ptr = 0;
-
- /* keep looking until we find the right record */
- while (rec_ptr) {
- if (rec_read(tdb, rec_ptr, &rec) == -1) {
- goto fail;
- }
-
- if (hash == rec.full_hash && key.dsize == rec.key_len) {
- /* a very likely hit - read the record and full key */
- data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
- rec.key_len);
- if (!data) {
- goto fail;
- }
-
- if (memcmp(key.dptr, data, key.dsize) == 0) {
- /* a definite match - delete it */
- if (last_ptr == 0) {
- offset = tdb_hash_top(tdb, hash);
- if (ofs_write(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
- } else {
- lastrec.next = rec.next;
- if (rec_write(tdb, last_ptr, &lastrec) == -1) {
- goto fail;
- }
- }
- tdb_unlock(tdb, BUCKET(hash));
- tdb_lock(tdb, -1);
- /* and recover the space */
- offset = FREELIST_TOP;
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail2;
- }
- rec.magic = TDB_FREE_MAGIC;
- if (rec_write(tdb, rec_ptr, &rec) == -1) {
- goto fail2;
- }
- if (ofs_write(tdb, offset, &rec_ptr) == -1) {
- goto fail2;
- }
-
- /* yipee - all done */
- free(data);
- tdb_unlock(tdb, -1);
- return 0;
- }
-
- /* a miss - drat */
- free(data);
- data = NULL;
- }
-
- /* move to the next record */
- last_ptr = rec_ptr;
- lastrec = rec;
- rec_ptr = rec.next;
- }
-
- fail:
- if (data) free(data);
- tdb_unlock(tdb, BUCKET(hash));
- return -1;
-
- fail2:
- if (data) free(data);
- tdb_unlock(tdb, -1);
- return -1;
-}
-
-
-/* store an element in the database, replacing any existing element
- with the same key
-
- return 0 on success, -1 on failure
-*/
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
-{
- struct list_struct rec;
- unsigned hash;
- tdb_off rec_ptr, offset;
- char *p = NULL;
-
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_store() called with null context\n");
-#endif
- return -1;
- }
-
- /* find which hash bucket it is in */
- hash = tdb_hash(&key);
-
- /* check for it existing */
- if (flag == TDB_INSERT && tdb_exists(tdb, key)) {
- tdb->ecode = TDB_ERR_EXISTS;
- return -1;
- }
-
- /* first try in-place update */
- if (flag != TDB_INSERT && tdb_update(tdb, key, dbuf) == 0) {
- return 0;
- }
-
- rec_ptr = tdb_allocate(tdb, key.dsize + dbuf.dsize);
- if (rec_ptr == 0) {
- return -1;
- }
-
- tdb_lock(tdb, BUCKET(hash));
-
- /* delete any existing record - if it doesn't exist we don't care */
- if (flag != TDB_INSERT) {
- tdb_delete(tdb, key);
- }
-
- /* read the newly created record */
- if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
- goto fail;
- }
-
- if (rec.magic != TDB_FREE_MAGIC) goto fail;
-
- /* find the top of the hash chain */
- offset = tdb_hash_top(tdb, hash);
-
- /* read in the hash top diretcly into our next pointer */
- if (ofs_read(tdb, offset, &rec.next) == -1) {
- goto fail;
- }
-
- rec.key_len = key.dsize;
- rec.data_len = dbuf.dsize;
- rec.full_hash = hash;
- rec.magic = TDB_MAGIC;
-
- p = (char *)malloc(sizeof(rec) + key.dsize + dbuf.dsize);
- if (!p) {
- tdb->ecode = TDB_ERR_OOM;
- goto fail;
- }
-
- memcpy(p, &rec, sizeof(rec));
- memcpy(p+sizeof(rec), key.dptr, key.dsize);
- memcpy(p+sizeof(rec)+key.dsize, dbuf.dptr, dbuf.dsize);
-
- if (tdb_write(tdb, rec_ptr, p, sizeof(rec)+key.dsize+dbuf.dsize) == -1)
- goto fail;
-
- free(p);
- p = NULL;
-
- /* and point the top of the hash chain at it */
- if (ofs_write(tdb, offset, &rec_ptr) == -1) goto fail;
-
- tdb_unlock(tdb, BUCKET(hash));
- return 0;
-
- fail:
-#if TDB_DEBUG
- printf("store failed for hash 0x%08x in bucket %u\n", hash, BUCKET(hash));
-#endif
- if (p) free(p);
- tdb_unlock(tdb, BUCKET(hash));
- return -1;
-}
-
-
-/* open the database, creating it if necessary
-
- The open_flags and mode are passed straight to the open call on the database
- file. A flags value of O_WRONLY is invalid
-
- The hash size is advisory, use zero for a default value.
-
- return is NULL on error
-*/
-TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
- int open_flags, mode_t mode)
-{
- TDB_CONTEXT tdb, *ret;
- struct stat st;
-
- memset(&tdb, 0, sizeof(tdb));
-
- tdb.fd = -1;
- tdb.name = NULL;
- tdb.map_ptr = NULL;
-
- if ((open_flags & O_ACCMODE) == O_WRONLY) {
- goto fail;
- }
-
- if (hash_size == 0) hash_size = DEFAULT_HASH_SIZE;
-
- tdb.read_only = ((open_flags & O_ACCMODE) == O_RDONLY);
-
- if (name != NULL) {
- tdb.fd = open(name, open_flags, mode);
- if (tdb.fd == -1) {
- goto fail;
- }
- }
-
- /* ensure there is only one process initialising at once */
- tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_SET, F_WRLCK, F_SETLKW);
-
- if (tdb_flags & TDB_CLEAR_IF_FIRST) {
- /* we need to zero the database if we are the only
- one with it open */
- if (tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_WRLCK, F_SETLK) == 0) {
- ftruncate(tdb.fd, 0);
- tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLK);
- }
- }
-
- /* leave this lock in place */
- tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_RDLCK, F_SETLKW);
-
- if (read(tdb.fd, &tdb.header, sizeof(tdb.header)) != sizeof(tdb.header) ||
- strcmp(tdb.header.magic_food, TDB_MAGIC_FOOD) != 0 ||
- tdb.header.version != TDB_VERSION) {
- /* its not a valid database - possibly initialise it */
- if (!(open_flags & O_CREAT)) {
- goto fail;
- }
- if (tdb_new_database(&tdb, hash_size) == -1) goto fail;
-
- lseek(tdb.fd, 0, SEEK_SET);
- if (tdb.fd != -1 && read(tdb.fd, &tdb.header,
- sizeof(tdb.header)) !=
- sizeof(tdb.header))
- goto fail;
- }
-
- if (tdb.fd != -1) {
- fstat(tdb.fd, &st);
-
- /* map the database and fill in the return structure */
- tdb.name = (char *)strdup(name);
- tdb.map_size = st.st_size;
- }
-
- tdb.locked = (int *)calloc(tdb.header.hash_size+1,
- sizeof(tdb.locked[0]));
- if (!tdb.locked) {
- goto fail;
- }
-
-#if HAVE_MMAP
- if (tdb.fd != -1) {
- tdb.map_ptr = (void *)mmap(NULL, st.st_size,
- tdb.read_only? PROT_READ : PROT_READ|PROT_WRITE,
- MAP_SHARED | MAP_FILE, tdb.fd, 0);
- }
-#endif
-
- ret = (TDB_CONTEXT *)malloc(sizeof(tdb));
- if (!ret) goto fail;
-
- *ret = tdb;
-
-#if TDB_DEBUG
- printf("mapped database of hash_size %u map_size=%u\n",
- hash_size, tdb.map_size);
-#endif
-
- tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLKW);
- return ret;
-
- fail:
- if (tdb.name) free(tdb.name);
- if (tdb.fd != -1) close(tdb.fd);
- if (tdb.map_ptr) munmap(tdb.map_ptr, tdb.map_size);
-
- return NULL;
-}
-
-/* close a database */
-int tdb_close(TDB_CONTEXT *tdb)
-{
- if (!tdb) return -1;
-
- if (tdb->name) free(tdb->name);
- if (tdb->fd != -1) close(tdb->fd);
- if (tdb->locked) free(tdb->locked);
-
- if (tdb->map_ptr) {
- if (tdb->fd != -1) {
- munmap(tdb->map_ptr, tdb->map_size);
- } else {
- free(tdb->map_ptr);
- }
- }
-
- memset(tdb, 0, sizeof(*tdb));
- free(tdb);
-
- return 0;
-}
-
-/* lock the database. If we already have it locked then don't do anything */
-int tdb_writelock(TDB_CONTEXT *tdb)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_writelock() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_lock(tdb, -1);
-}
-
-/* unlock the database. */
-int tdb_writeunlock(TDB_CONTEXT *tdb)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_writeunlock() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_unlock(tdb, -1);
-}
-
-/* lock one hash chain. This is meant to be used to reduce locking
- contention - it cannot guarantee how many records will be locked */
-int tdb_lockchain(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_lockchain() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_lock(tdb, BUCKET(tdb_hash(&key)));
-}
-
-
-/* unlock one hash chain */
-int tdb_unlockchain(TDB_CONTEXT *tdb, TDB_DATA key)
-{
- if (tdb == NULL) {
-#ifdef TDB_DEBUG
- printf("tdb_unlockchain() called with null context\n");
-#endif
- return -1;
- }
-
- return tdb_unlock(tdb, BUCKET(tdb_hash(&key)));
-}
diff --git a/mdk-stage1/ppp/pppd/tdb.h b/mdk-stage1/ppp/pppd/tdb.h
deleted file mode 100644
index 56ae0ac2a..000000000
--- a/mdk-stage1/ppp/pppd/tdb.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#define STANDALONE 1
-/*
- * Database functions
- * Copyright (C) Andrew Tridgell 1999
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms AND provided that this software or
- * any derived work is only used as part of the PPP daemon (pppd)
- * and related utilities.
- * The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Note: this software is also available under the Gnu Public License
- * version 2 or later.
- */
-
-typedef unsigned tdb_len;
-typedef unsigned tdb_off;
-
-#define TDB_MAGIC_FOOD "TDB file\n"
-
-/* this is stored at the front of every database */
-struct tdb_header {
- char magic_food[32]; /* for /etc/magic */
- unsigned version; /* version of the code */
- unsigned hash_size; /* number of hash entries */
-};
-
-typedef struct {
- char *dptr;
- size_t dsize;
-} TDB_DATA;
-
-/* this is the context structure that is returned from a db open */
-typedef struct {
- char *name; /* the name of the database */
- void *map_ptr; /* where it is currently mapped */
- int fd; /* open file descriptor for the database */
- tdb_len map_size; /* how much space has been mapped */
- int read_only; /* opened read-only */
- int *locked; /* set if we have a chain locked */
- int ecode; /* error code for last tdb error */
- struct tdb_header header; /* a cached copy of the header */
-} TDB_CONTEXT;
-
-/* flags to tdb_store() */
-#define TDB_REPLACE 1
-#define TDB_INSERT 2
-
-/* flags for tdb_open() */
-#define TDB_CLEAR_IF_FIRST 1
-
-/* error codes */
-enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK,
- TDB_ERR_OOM, TDB_ERR_EXISTS};
-
-#if STANDALONE
-TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
- int open_flags, mode_t mode);
-char *tdb_error(TDB_CONTEXT *tdb);
-int tdb_writelock(TDB_CONTEXT *tdb);
-int tdb_writeunlock(TDB_CONTEXT *tdb);
-TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag);
-int tdb_close(TDB_CONTEXT *tdb);
-TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb);
-TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key);
-int tdb_traverse(TDB_CONTEXT *tdb,
- int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void *state),
- void *state);
-int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key);
-#endif
diff --git a/mdk-stage1/ppp/pppd/tty.c b/mdk-stage1/ppp/pppd/tty.c
deleted file mode 100644
index 4db707968..000000000
--- a/mdk-stage1/ppp/pppd/tty.c
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*
- * tty.c - code for handling serial ports in pppd.
- *
- * Copyright (C) 2000 Paul Mackerras.
- * All rights reserved.
- *
- * Portions Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <setjmp.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include "pppd.h"
-#include "fsm.h"
-#include "lcp.h"
-
-void tty_process_extra_options __P((void));
-void tty_check_options __P((void));
-int connect_tty __P((void));
-void disconnect_tty __P((void));
-void tty_close_fds __P((void));
-void cleanup_tty __P((void));
-void tty_do_send_config __P((int, u_int32_t, int, int));
-
-static int setdevname __P((char *, char **, int));
-static int setspeed __P((char *, char **, int));
-static int setxonxoff __P((char **));
-static int setescape __P((char **));
-static void printescape __P((option_t *, void (*)(void *, char *,...),void *));
-static void finish_tty __P((void));
-static int start_charshunt __P((int, int));
-static void stop_charshunt __P((void *, int));
-static void charshunt_done __P((void *));
-static void charshunt __P((int, int, char *));
-static int record_write __P((FILE *, int code, u_char *buf, int nb,
- struct timeval *));
-static int open_socket __P((char *));
-static void maybe_relock __P((void *, int));
-
-static int pty_master; /* fd for master side of pty */
-static int pty_slave; /* fd for slave side of pty */
-static int real_ttyfd; /* fd for actual serial port (not pty) */
-static int ttyfd; /* Serial port file descriptor */
-static char speed_str[16]; /* Serial port speed as string */
-
-mode_t tty_mode = (mode_t)-1; /* Original access permissions to tty */
-int baud_rate; /* Actual bits/second for serial device */
-char *callback_script; /* script for doing callback */
-int charshunt_pid; /* Process ID for charshunt */
-int locked; /* lock() has succeeded */
-struct stat devstat; /* result of stat() on devnam */
-
-/* option variables */
-int crtscts = 0; /* Use hardware flow control */
-bool modem = 1; /* Use modem control lines */
-int inspeed = 0; /* Input/Output speed requested */
-bool lockflag = 0; /* Create lock file to lock the serial dev */
-char *initializer = NULL; /* Script to initialize physical link */
-char *connect_script = NULL; /* Script to establish physical link */
-char *disconnect_script = NULL; /* Script to disestablish physical link */
-char *welcomer = NULL; /* Script to run after phys link estab. */
-char *ptycommand = NULL; /* Command to run on other side of pty */
-bool notty = 0; /* Stdin/out is not a tty */
-char *record_file = NULL; /* File to record chars sent/received */
-int max_data_rate; /* max bytes/sec through charshunt */
-bool sync_serial = 0; /* Device is synchronous serial device */
-char *pty_socket = NULL; /* Socket to connect to pty */
-int using_pty = 0; /* we're allocating a pty as the device */
-
-extern uid_t uid;
-extern int kill_link;
-
-/* XXX */
-extern int privopen; /* don't lock, open device as root */
-
-u_int32_t xmit_accm[8]; /* extended transmit ACCM */
-
-/* option descriptors */
-option_t tty_options[] = {
- /* device name must be first, or change connect_tty() below! */
- { "device name", o_wild, (void *) &setdevname,
- "Serial port device name",
- OPT_DEVNAM | OPT_PRIVFIX | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC,
- devnam},
-
- { "tty speed", o_wild, (void *) &setspeed,
- "Baud rate for serial port",
- OPT_PRIO | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC, speed_str },
-
- { "lock", o_bool, &lockflag,
- "Lock serial device with UUCP-style lock file", OPT_PRIO | 1 },
- { "nolock", o_bool, &lockflag,
- "Don't lock serial device", OPT_PRIOSUB | OPT_PRIV },
-
- { "init", o_string, &initializer,
- "A program to initialize the device", OPT_PRIO | OPT_PRIVFIX },
-
- { "connect", o_string, &connect_script,
- "A program to set up a connection", OPT_PRIO | OPT_PRIVFIX },
-
- { "disconnect", o_string, &disconnect_script,
- "Program to disconnect serial device", OPT_PRIO | OPT_PRIVFIX },
-
- { "welcome", o_string, &welcomer,
- "Script to welcome client", OPT_PRIO | OPT_PRIVFIX },
-
- { "pty", o_string, &ptycommand,
- "Script to run on pseudo-tty master side",
- OPT_PRIO | OPT_PRIVFIX | OPT_DEVNAM },
-
- { "notty", o_bool, &notty,
- "Input/output is not a tty", OPT_DEVNAM | 1 },
-
- { "socket", o_string, &pty_socket,
- "Send and receive over socket, arg is host:port",
- OPT_PRIO | OPT_DEVNAM },
-
- { "record", o_string, &record_file,
- "Record characters sent/received to file", OPT_PRIO },
-
- { "crtscts", o_int, &crtscts,
- "Set hardware (RTS/CTS) flow control",
- OPT_PRIO | OPT_NOARG | OPT_VAL(1) },
- { "cdtrcts", o_int, &crtscts,
- "Set alternate hardware (DTR/CTS) flow control",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(2) },
- { "nocrtscts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
- { "-crtscts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
- { "nocdtrcts", o_int, &crtscts,
- "Disable hardware flow control",
- OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
- { "xonxoff", o_special_noarg, (void *)setxonxoff,
- "Set software (XON/XOFF) flow control", OPT_PRIOSUB },
-
- { "modem", o_bool, &modem,
- "Use modem control lines", OPT_PRIO | 1 },
- { "local", o_bool, &modem,
- "Don't use modem control lines", OPT_PRIOSUB | 0 },
-
- { "sync", o_bool, &sync_serial,
- "Use synchronous HDLC serial encoding", 1 },
-
- { "datarate", o_int, &max_data_rate,
- "Maximum data rate in bytes/sec (with pty, notty or record option)",
- OPT_PRIO },
-
- { "escape", o_special, (void *)setescape,
- "List of character codes to escape on transmission",
- OPT_A2PRINTER, (void *)printescape },
-
- { NULL }
-};
-
-
-struct channel tty_channel = {
- tty_options,
- &tty_process_extra_options,
- &tty_check_options,
- &connect_tty,
- &disconnect_tty,
- &tty_establish_ppp,
- &tty_disestablish_ppp,
- &tty_do_send_config,
- &tty_recv_config,
- &cleanup_tty,
- &tty_close_fds
-};
-
-/*
- * setspeed - Set the serial port baud rate.
- * If doit is 0, the call is to check whether this option is
- * potentially a speed value.
- */
-static int
-setspeed(arg, argv, doit)
- char *arg;
- char **argv;
- int doit;
-{
- char *ptr;
- int spd;
-
- spd = strtol(arg, &ptr, 0);
- if (ptr == arg || *ptr != 0 || spd == 0)
- return 0;
- if (doit) {
- inspeed = spd;
- slprintf(speed_str, sizeof(speed_str), "%d", spd);
- }
- return 1;
-}
-
-
-/*
- * setdevname - Set the device name.
- * If doit is 0, the call is to check whether this option is
- * potentially a device name.
- */
-static int
-setdevname(cp, argv, doit)
- char *cp;
- char **argv;
- int doit;
-{
- struct stat statbuf;
- char dev[MAXPATHLEN];
-
- if (*cp == 0)
- return 0;
-
- if (strncmp("/dev/", cp, 5) != 0) {
- strlcpy(dev, "/dev/", sizeof(dev));
- strlcat(dev, cp, sizeof(dev));
- cp = dev;
- }
-
- /*
- * Check if there is a character device by this name.
- */
- if (stat(cp, &statbuf) < 0) {
- if (!doit)
- return errno != ENOENT;
- option_error("Couldn't stat %s: %m", cp);
- return 0;
- }
- if (!S_ISCHR(statbuf.st_mode)) {
- if (doit)
- option_error("%s is not a character device", cp);
- return 0;
- }
-
- if (doit) {
- strlcpy(devnam, cp, sizeof(devnam));
- devstat = statbuf;
- default_device = 0;
- }
-
- return 1;
-}
-
-static int
-setxonxoff(argv)
- char **argv;
-{
- lcp_wantoptions[0].asyncmap |= 0x000A0000; /* escape ^S and ^Q */
- lcp_wantoptions[0].neg_asyncmap = 1;
-
- crtscts = -2;
- return 1;
-}
-
-/*
- * setescape - add chars to the set we escape on transmission.
- */
-static int
-setescape(argv)
- char **argv;
-{
- int n, ret;
- char *p, *endp;
-
- p = *argv;
- ret = 1;
- while (*p) {
- n = strtol(p, &endp, 16);
- if (p == endp) {
- option_error("escape parameter contains invalid hex number '%s'",
- p);
- return 0;
- }
- p = endp;
- if (n < 0 || n == 0x5E || n > 0xFF) {
- option_error("can't escape character 0x%x", n);
- ret = 0;
- } else
- xmit_accm[n >> 5] |= 1 << (n & 0x1F);
- while (*p == ',' || *p == ' ')
- ++p;
- }
- lcp_allowoptions[0].asyncmap = xmit_accm[0];
- return ret;
-}
-
-static void
-printescape(opt, printer, arg)
- option_t *opt;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int n;
- int first = 1;
-
- for (n = 0; n < 256; ++n) {
- if (n == 0x7d)
- n += 2; /* skip 7d, 7e */
- if (xmit_accm[n >> 5] & (1 << (n & 0x1f))) {
- if (!first)
- printer(arg, ",");
- else
- first = 0;
- printer(arg, "%x", n);
- }
- }
- if (first)
- printer(arg, "oops # nothing escaped");
-}
-
-/*
- * tty_init - do various tty-related initializations.
- */
-void tty_init()
-{
- add_notifier(&pidchange, maybe_relock, 0);
- the_channel = &tty_channel;
- xmit_accm[3] = 0x60000000;
-}
-
-/*
- * tty_process_extra_options - work out which tty device we are using
- * and read its options file.
- */
-void tty_process_extra_options()
-{
- using_pty = notty || ptycommand != NULL || pty_socket != NULL;
- if (using_pty)
- return;
- if (default_device) {
- char *p;
- if (!isatty(0) || (p = ttyname(0)) == NULL) {
- option_error("no device specified and stdin is not a tty");
- exit(EXIT_OPTION_ERROR);
- }
- strlcpy(devnam, p, sizeof(devnam));
- if (stat(devnam, &devstat) < 0)
- fatal("Couldn't stat default device %s: %m", devnam);
- }
-
-
- /*
- * Parse the tty options file.
- * The per-tty options file should not change
- * ptycommand, pty_socket, notty or devnam.
- * options_for_tty doesn't override options set on the command line,
- * except for some privileged options.
- */
- if (!options_for_tty())
- exit(EXIT_OPTION_ERROR);
-}
-
-/*
- * tty_check_options - do consistency checks on the options we were given.
- */
-void
-tty_check_options()
-{
- struct stat statbuf;
- int fdflags;
-
- if (demand && connect_script == 0) {
- option_error("connect script is required for demand-dialling\n");
- exit(EXIT_OPTION_ERROR);
- }
- /* default holdoff to 0 if no connect script has been given */
- if (connect_script == 0 && !holdoff_specified)
- holdoff = 0;
-
- if (using_pty) {
- if (!default_device) {
- option_error("%s option precludes specifying device name",
- notty? "notty": "pty");
- exit(EXIT_OPTION_ERROR);
- }
- if (ptycommand != NULL && notty) {
- option_error("pty option is incompatible with notty option");
- exit(EXIT_OPTION_ERROR);
- }
- if (pty_socket != NULL && (ptycommand != NULL || notty)) {
- option_error("socket option is incompatible with pty and notty");
- exit(EXIT_OPTION_ERROR);
- }
- default_device = notty;
- lockflag = 0;
- modem = 0;
- if (notty && log_to_fd <= 1)
- log_to_fd = -1;
- } else {
- /*
- * If the user has specified a device which is the same as
- * the one on stdin, pretend they didn't specify any.
- * If the device is already open read/write on stdin,
- * we assume we don't need to lock it, and we can open it
- * as root.
- */
- if (fstat(0, &statbuf) >= 0 && S_ISCHR(statbuf.st_mode)
- && statbuf.st_rdev == devstat.st_rdev) {
- default_device = 1;
- fdflags = fcntl(0, F_GETFL);
- if (fdflags != -1 && (fdflags & O_ACCMODE) == O_RDWR)
- privopen = 1;
- }
- }
- if (default_device)
- nodetach = 1;
-
- /*
- * Don't send log messages to the serial port, it tends to
- * confuse the peer. :-)
- */
- if (log_to_fd >= 0 && fstat(log_to_fd, &statbuf) >= 0
- && S_ISCHR(statbuf.st_mode) && statbuf.st_rdev == devstat.st_rdev)
- log_to_fd = -1;
-}
-
-/*
- * connect_tty - get the serial port ready to start doing PPP.
- * That is, open the serial port, set its speed and mode, and run
- * the connector and/or welcomer.
- */
-int connect_tty()
-{
- char *connector;
- int fdflags;
- struct stat statbuf;
- char numbuf[16];
-
- /*
- * Get a pty master/slave pair if the pty, notty, socket,
- * or record options were specified.
- */
- strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
- pty_master = -1;
- pty_slave = -1;
- real_ttyfd = -1;
- if (using_pty || record_file != NULL) {
- if (!get_pty(&pty_master, &pty_slave, ppp_devnam, uid)) {
- error("Couldn't allocate pseudo-tty");
- status = EXIT_FATAL_ERROR;
- return -1;
- }
- set_up_tty(pty_slave, 1);
- }
-
- /*
- * Lock the device if we've been asked to.
- */
- status = EXIT_LOCK_FAILED;
- if (lockflag && !privopen) {
- if (lock(devnam) < 0)
- return -1;
- locked = 1;
- }
-
- /*
- * Open the serial device and set it up to be the ppp interface.
- * First we open it in non-blocking mode so we can set the
- * various termios flags appropriately. If we aren't dialling
- * out and we want to use the modem lines, we reopen it later
- * in order to wait for the carrier detect signal from the modem.
- */
- hungup = 0;
- kill_link = 0;
- connector = doing_callback? callback_script: connect_script;
- if (devnam[0] != 0) {
- for (;;) {
- /* If the user specified the device name, become the
- user before opening it. */
- int err, prio;
-
- prio = privopen? OPRIO_ROOT: tty_options[0].priority;
- if (prio < OPRIO_ROOT)
- seteuid(uid);
- ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0);
- err = errno;
- if (prio < OPRIO_ROOT)
- seteuid(0);
- if (ttyfd >= 0)
- break;
- errno = err;
- if (err != EINTR) {
- error("Failed to open %s: %m", devnam);
- status = EXIT_OPEN_FAILED;
- }
- if (!persist || err != EINTR)
- return -1;
- }
- real_ttyfd = ttyfd;
- if ((fdflags = fcntl(ttyfd, F_GETFL)) == -1
- || fcntl(ttyfd, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
- warn("Couldn't reset non-blocking mode on device: %m");
-
- /*
- * Do the equivalent of `mesg n' to stop broadcast messages.
- */
- if (fstat(ttyfd, &statbuf) < 0
- || fchmod(ttyfd, statbuf.st_mode & ~(S_IWGRP | S_IWOTH)) < 0) {
- warn("Couldn't restrict write permissions to %s: %m", devnam);
- } else
- tty_mode = statbuf.st_mode;
-
- /*
- * Set line speed, flow control, etc.
- * If we have a non-null connection or initializer script,
- * on most systems we set CLOCAL for now so that we can talk
- * to the modem before carrier comes up. But this has the
- * side effect that we might miss it if CD drops before we
- * get to clear CLOCAL below. On systems where we can talk
- * successfully to the modem with CLOCAL clear and CD down,
- * we could clear CLOCAL at this point.
- */
- set_up_tty(ttyfd, ((connector != NULL && connector[0] != 0)
- || initializer != NULL));
- }
-
- /*
- * If the pty, socket, notty and/or record option was specified,
- * start up the character shunt now.
- */
- status = EXIT_PTYCMD_FAILED;
- if (ptycommand != NULL) {
- if (record_file != NULL) {
- int ipipe[2], opipe[2], ok;
-
- if (pipe(ipipe) < 0 || pipe(opipe) < 0)
- fatal("Couldn't create pipes for record option: %m");
- ok = device_script(ptycommand, opipe[0], ipipe[1], 1) == 0
- && start_charshunt(ipipe[0], opipe[1]);
- close(ipipe[0]);
- close(ipipe[1]);
- close(opipe[0]);
- close(opipe[1]);
- if (!ok)
- return -1;
- } else {
- if (device_script(ptycommand, pty_master, pty_master, 1) < 0)
- return -1;
- ttyfd = pty_slave;
- close(pty_master);
- pty_master = -1;
- }
- } else if (pty_socket != NULL) {
- int fd = open_socket(pty_socket);
- if (fd < 0)
- return -1;
- if (!start_charshunt(fd, fd))
- return -1;
- } else if (notty) {
- if (!start_charshunt(0, 1))
- return -1;
- } else if (record_file != NULL) {
- if (!start_charshunt(ttyfd, ttyfd))
- return -1;
- }
-
- /* run connection script */
- if ((connector && connector[0]) || initializer) {
- if (real_ttyfd != -1) {
- /* XXX do this if doing_callback == CALLBACK_DIALIN? */
- if (!default_device && modem) {
- setdtr(real_ttyfd, 0); /* in case modem is off hook */
- sleep(1);
- setdtr(real_ttyfd, 1);
- }
- }
-
- if (initializer && initializer[0]) {
- if (device_script(initializer, ttyfd, ttyfd, 0) < 0) {
- error("Initializer script failed");
- status = EXIT_INIT_FAILED;
- return -1;
- }
- if (kill_link) {
- disconnect_tty();
- return -1;
- }
- info("Serial port initialized.");
- }
-
- if (connector && connector[0]) {
- if (device_script(connector, ttyfd, ttyfd, 0) < 0) {
- error("Connect script failed");
- status = EXIT_CONNECT_FAILED;
- return -1;
- }
- if (kill_link) {
- disconnect_tty();
- return -1;
- }
- info("Serial connection established.");
- }
-
- /* set line speed, flow control, etc.;
- clear CLOCAL if modem option */
- if (real_ttyfd != -1)
- set_up_tty(real_ttyfd, 0);
-
- if (doing_callback == CALLBACK_DIALIN)
- connector = NULL;
- }
-
- /* reopen tty if necessary to wait for carrier */
- if (connector == NULL && modem && devnam[0] != 0) {
- int i;
- for (;;) {
- if ((i = open(devnam, O_RDWR)) >= 0)
- break;
- if (errno != EINTR) {
- error("Failed to reopen %s: %m", devnam);
- status = EXIT_OPEN_FAILED;
- }
- if (!persist || errno != EINTR || hungup || kill_link)
- return -1;
- }
- close(i);
- }
-
- slprintf(numbuf, sizeof(numbuf), "%d", baud_rate);
- script_setenv("SPEED", numbuf, 0);
-
- /* run welcome script, if any */
- if (welcomer && welcomer[0]) {
- if (device_script(welcomer, ttyfd, ttyfd, 0) < 0)
- warn("Welcome script failed");
- }
-
- /*
- * If we are initiating this connection, wait for a short
- * time for something from the peer. This can avoid bouncing
- * our packets off his tty before he has it set up.
- */
- if (connector != NULL || ptycommand != NULL)
- listen_time = connect_delay;
-
- return ttyfd;
-}
-
-
-void disconnect_tty()
-{
- if (disconnect_script == NULL || hungup)
- return;
- if (real_ttyfd >= 0)
- set_up_tty(real_ttyfd, 1);
- if (device_script(disconnect_script, ttyfd, ttyfd, 0) < 0) {
- warn("disconnect script failed");
- } else {
- info("Serial link disconnected.");
- }
-}
-
-void tty_close_fds()
-{
- if (pty_master >= 0)
- close(pty_master);
- if (pty_slave >= 0)
- close(pty_slave);
- if (real_ttyfd >= 0) {
- close(real_ttyfd);
- real_ttyfd = -1;
- }
- /* N.B. ttyfd will == either pty_slave or real_ttyfd */
-}
-
-void cleanup_tty()
-{
- if (real_ttyfd >= 0)
- finish_tty();
- tty_close_fds();
- if (locked) {
- unlock();
- locked = 0;
- }
-}
-
-/*
- * tty_do_send_config - set transmit-side PPP configuration.
- * We set the extended transmit ACCM here as well.
- */
-void
-tty_do_send_config(mtu, accm, pcomp, accomp)
- int mtu;
- u_int32_t accm;
- int pcomp, accomp;
-{
- tty_set_xaccm(xmit_accm);
- tty_send_config(mtu, accm, pcomp, accomp);
-}
-
-/*
- * finish_tty - restore the terminal device to its original settings
- */
-static void
-finish_tty()
-{
- /* drop dtr to hang up */
- if (!default_device && modem) {
- setdtr(real_ttyfd, 0);
- /*
- * This sleep is in case the serial port has CLOCAL set by default,
- * and consequently will reassert DTR when we close the device.
- */
- sleep(1);
- }
-
- restore_tty(real_ttyfd);
-
- if (tty_mode != (mode_t) -1) {
- if (fchmod(real_ttyfd, tty_mode) != 0) {
- /* XXX if devnam is a symlink, this will change the link */
- chmod(devnam, tty_mode);
- }
- }
-
- close(real_ttyfd);
- real_ttyfd = -1;
-}
-
-/*
- * maybe_relock - our PID has changed, maybe update the lock file.
- */
-static void
-maybe_relock(arg, pid)
- void *arg;
- int pid;
-{
- if (locked)
- relock(pid);
-}
-
-/*
- * open_socket - establish a stream socket connection to the nominated
- * host and port.
- */
-static int
-open_socket(dest)
- char *dest;
-{
- char *sep, *endp = NULL;
- int sock, port = -1;
- u_int32_t host;
- struct hostent *hent;
- struct sockaddr_in sad;
-
- /* parse host:port and resolve host to an IP address */
- sep = strchr(dest, ':');
- if (sep != NULL)
- port = strtol(sep+1, &endp, 10);
- if (port < 0 || endp == sep+1 || sep == dest) {
- error("Can't parse host:port for socket destination");
- return -1;
- }
- *sep = 0;
- host = inet_addr(dest);
- if (host == (u_int32_t) -1) {
- hent = gethostbyname(dest);
- if (hent == NULL) {
- error("%s: unknown host in socket option", dest);
- *sep = ':';
- return -1;
- }
- host = *(u_int32_t *)(hent->h_addr_list[0]);
- }
- *sep = ':';
-
- /* get a socket and connect it to the other end */
- sock = socket(PF_INET, SOCK_STREAM, 0);
- if (sock < 0) {
- error("Can't create socket: %m");
- return -1;
- }
- memset(&sad, 0, sizeof(sad));
- sad.sin_family = AF_INET;
- sad.sin_port = htons(port);
- sad.sin_addr.s_addr = host;
- if (connect(sock, (struct sockaddr *)&sad, sizeof(sad)) < 0) {
- error("Can't connect to %s: %m", dest);
- close(sock);
- return -1;
- }
-
- return sock;
-}
-
-
-/*
- * start_charshunt - create a child process to run the character shunt.
- */
-static int
-start_charshunt(ifd, ofd)
- int ifd, ofd;
-{
- int cpid;
-
- cpid = fork();
- if (cpid == -1) {
- error("Can't fork process for character shunt: %m");
- return 0;
- }
- if (cpid == 0) {
- /* child */
- close(pty_slave);
- setuid(uid);
- if (getuid() != uid)
- fatal("setuid failed");
- setgid(getgid());
- if (!nodetach)
- log_to_fd = -1;
- charshunt(ifd, ofd, record_file);
- exit(0);
- }
- charshunt_pid = cpid;
- add_notifier(&sigreceived, stop_charshunt, 0);
- close(pty_master);
- pty_master = -1;
- ttyfd = pty_slave;
- record_child(cpid, "pppd (charshunt)", charshunt_done, NULL);
- return 1;
-}
-
-static void
-charshunt_done(arg)
- void *arg;
-{
- charshunt_pid = 0;
-}
-
-static void
-stop_charshunt(arg, sig)
- void *arg;
- int sig;
-{
- if (charshunt_pid)
- kill(charshunt_pid, (sig == SIGINT? sig: SIGTERM));
-}
-
-/*
- * charshunt - the character shunt, which passes characters between
- * the pty master side and the serial port (or stdin/stdout).
- * This runs as the user (not as root).
- * (We assume ofd >= ifd which is true the way this gets called. :-).
- */
-static void
-charshunt(ifd, ofd, record_file)
- int ifd, ofd;
- char *record_file;
-{
- int n, nfds;
- fd_set ready, writey;
- u_char *ibufp, *obufp;
- int nibuf, nobuf;
- int flags;
- int pty_readable, stdin_readable;
- struct timeval lasttime;
- FILE *recordf = NULL;
- int ilevel, olevel, max_level;
- struct timeval levelt, tout, *top;
- extern u_char inpacket_buf[];
-
- /*
- * Reset signal handlers.
- */
- signal(SIGHUP, SIG_IGN); /* Hangup */
- signal(SIGINT, SIG_DFL); /* Interrupt */
- signal(SIGTERM, SIG_DFL); /* Terminate */
- signal(SIGCHLD, SIG_DFL);
- signal(SIGUSR1, SIG_DFL);
- signal(SIGUSR2, SIG_DFL);
- signal(SIGABRT, SIG_DFL);
- signal(SIGALRM, SIG_DFL);
- signal(SIGFPE, SIG_DFL);
- signal(SIGILL, SIG_DFL);
- signal(SIGPIPE, SIG_DFL);
- signal(SIGQUIT, SIG_DFL);
- signal(SIGSEGV, SIG_DFL);
-#ifdef SIGBUS
- signal(SIGBUS, SIG_DFL);
-#endif
-#ifdef SIGEMT
- signal(SIGEMT, SIG_DFL);
-#endif
-#ifdef SIGPOLL
- signal(SIGPOLL, SIG_DFL);
-#endif
-#ifdef SIGPROF
- signal(SIGPROF, SIG_DFL);
-#endif
-#ifdef SIGSYS
- signal(SIGSYS, SIG_DFL);
-#endif
-#ifdef SIGTRAP
- signal(SIGTRAP, SIG_DFL);
-#endif
-#ifdef SIGVTALRM
- signal(SIGVTALRM, SIG_DFL);
-#endif
-#ifdef SIGXCPU
- signal(SIGXCPU, SIG_DFL);
-#endif
-#ifdef SIGXFSZ
- signal(SIGXFSZ, SIG_DFL);
-#endif
-
- /*
- * Open the record file if required.
- */
- if (record_file != NULL) {
- recordf = fopen(record_file, "a");
- if (recordf == NULL)
- error("Couldn't create record file %s: %m", record_file);
- }
-
- /* set all the fds to non-blocking mode */
- flags = fcntl(pty_master, F_GETFL);
- if (flags == -1
- || fcntl(pty_master, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set pty master to nonblock: %m");
- flags = fcntl(ifd, F_GETFL);
- if (flags == -1
- || fcntl(ifd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set %s to nonblock: %m", (ifd==0? "stdin": "tty"));
- if (ofd != ifd) {
- flags = fcntl(ofd, F_GETFL);
- if (flags == -1
- || fcntl(ofd, F_SETFL, flags | O_NONBLOCK) == -1)
- warn("couldn't set stdout to nonblock: %m");
- }
-
- nibuf = nobuf = 0;
- ibufp = obufp = NULL;
- pty_readable = stdin_readable = 1;
-
- ilevel = olevel = 0;
- gettimeofday(&levelt, NULL);
- if (max_data_rate) {
- max_level = max_data_rate / 10;
- if (max_level < 100)
- max_level = 100;
- } else
- max_level = PPP_MRU + PPP_HDRLEN + 1;
-
- nfds = (ofd > pty_master? ofd: pty_master) + 1;
- if (recordf != NULL) {
- gettimeofday(&lasttime, NULL);
- putc(7, recordf); /* put start marker */
- putc(lasttime.tv_sec >> 24, recordf);
- putc(lasttime.tv_sec >> 16, recordf);
- putc(lasttime.tv_sec >> 8, recordf);
- putc(lasttime.tv_sec, recordf);
- lasttime.tv_usec = 0;
- }
-
- while (nibuf != 0 || nobuf != 0 || pty_readable || stdin_readable) {
- top = 0;
- tout.tv_sec = 0;
- tout.tv_usec = 10000;
- FD_ZERO(&ready);
- FD_ZERO(&writey);
- if (nibuf != 0) {
- if (ilevel >= max_level)
- top = &tout;
- else
- FD_SET(pty_master, &writey);
- } else if (stdin_readable)
- FD_SET(ifd, &ready);
- if (nobuf != 0) {
- if (olevel >= max_level)
- top = &tout;
- else
- FD_SET(ofd, &writey);
- } else if (pty_readable)
- FD_SET(pty_master, &ready);
- if (select(nfds, &ready, &writey, NULL, top) < 0) {
- if (errno != EINTR)
- fatal("select");
- continue;
- }
- if (max_data_rate) {
- double dt;
- int nbt;
- struct timeval now;
-
- gettimeofday(&now, NULL);
- dt = (now.tv_sec - levelt.tv_sec
- + (now.tv_usec - levelt.tv_usec) / 1e6);
- nbt = (int)(dt * max_data_rate);
- ilevel = (nbt < 0 || nbt > ilevel)? 0: ilevel - nbt;
- olevel = (nbt < 0 || nbt > olevel)? 0: olevel - nbt;
- levelt = now;
- } else
- ilevel = olevel = 0;
- if (FD_ISSET(ifd, &ready)) {
- ibufp = inpacket_buf;
- nibuf = read(ifd, ibufp, PPP_MRU + PPP_HDRLEN);
- if (nibuf < 0 && errno == EIO)
- nibuf = 0;
- if (nibuf < 0) {
- if (!(errno == EINTR || errno == EAGAIN)) {
- error("Error reading standard input: %m");
- break;
- }
- nibuf = 0;
- } else if (nibuf == 0) {
- /* end of file from stdin */
- stdin_readable = 0;
- /* do a 0-length write, hopefully this will generate
- an EOF (hangup) on the slave side. */
- write(pty_master, inpacket_buf, 0);
- if (recordf)
- if (!record_write(recordf, 4, NULL, 0, &lasttime))
- recordf = NULL;
- } else {
- FD_SET(pty_master, &writey);
- if (recordf)
- if (!record_write(recordf, 2, ibufp, nibuf, &lasttime))
- recordf = NULL;
- }
- }
- if (FD_ISSET(pty_master, &ready)) {
- obufp = outpacket_buf;
- nobuf = read(pty_master, obufp, PPP_MRU + PPP_HDRLEN);
- if (nobuf < 0 && errno == EIO)
- nobuf = 0;
- if (nobuf < 0) {
- if (!(errno == EINTR || errno == EAGAIN)) {
- error("Error reading pseudo-tty master: %m");
- break;
- }
- nobuf = 0;
- } else if (nobuf == 0) {
- /* end of file from the pty - slave side has closed */
- pty_readable = 0;
- stdin_readable = 0; /* pty is not writable now */
- nibuf = 0;
- close(ofd);
- if (recordf)
- if (!record_write(recordf, 3, NULL, 0, &lasttime))
- recordf = NULL;
- } else {
- FD_SET(ofd, &writey);
- if (recordf)
- if (!record_write(recordf, 1, obufp, nobuf, &lasttime))
- recordf = NULL;
- }
- }
- if (FD_ISSET(ofd, &writey)) {
- n = nobuf;
- if (olevel + n > max_level)
- n = max_level - olevel;
- n = write(ofd, obufp, n);
- if (n < 0) {
- if (errno == EIO) {
- pty_readable = 0;
- nobuf = 0;
- } else if (errno != EAGAIN && errno != EINTR) {
- error("Error writing standard output: %m");
- break;
- }
- } else {
- obufp += n;
- nobuf -= n;
- olevel += n;
- }
- }
- if (FD_ISSET(pty_master, &writey)) {
- n = nibuf;
- if (ilevel + n > max_level)
- n = max_level - ilevel;
- n = write(pty_master, ibufp, n);
- if (n < 0) {
- if (errno == EIO) {
- stdin_readable = 0;
- nibuf = 0;
- } else if (errno != EAGAIN && errno != EINTR) {
- error("Error writing pseudo-tty master: %m");
- break;
- }
- } else {
- ibufp += n;
- nibuf -= n;
- ilevel += n;
- }
- }
- }
- exit(0);
-}
-
-static int
-record_write(f, code, buf, nb, tp)
- FILE *f;
- int code;
- u_char *buf;
- int nb;
- struct timeval *tp;
-{
- struct timeval now;
- int diff;
-
- gettimeofday(&now, NULL);
- now.tv_usec /= 100000; /* actually 1/10 s, not usec now */
- diff = (now.tv_sec - tp->tv_sec) * 10 + (now.tv_usec - tp->tv_usec);
- if (diff > 0) {
- if (diff > 255) {
- putc(5, f);
- putc(diff >> 24, f);
- putc(diff >> 16, f);
- putc(diff >> 8, f);
- putc(diff, f);
- } else {
- putc(6, f);
- putc(diff, f);
- }
- *tp = now;
- }
- putc(code, f);
- if (buf != NULL) {
- putc(nb >> 8, f);
- putc(nb, f);
- fwrite(buf, nb, 1, f);
- }
- fflush(f);
- if (ferror(f)) {
- error("Error writing record file: %m");
- return 0;
- }
- return 1;
-}
diff --git a/mdk-stage1/ppp/pppd/upap.c b/mdk-stage1/ppp/pppd/upap.c
deleted file mode 100644
index bd569fb74..000000000
--- a/mdk-stage1/ppp/pppd/upap.c
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * upap.c - User/Password Authentication Protocol.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-/*
- * TODO:
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include "pppd.h"
-#include "upap.h"
-
-static const char rcsid[] = RCSID;
-
-static bool hide_password = 1;
-
-/*
- * Command-line options.
- */
-static option_t pap_option_list[] = {
- { "hide-password", o_bool, &hide_password,
- "Don't output passwords to log", OPT_PRIO | 1 },
- { "show-password", o_bool, &hide_password,
- "Show password string in debug log messages", OPT_PRIOSUB | 0 },
-
- { "pap-restart", o_int, &upap[0].us_timeouttime,
- "Set retransmit timeout for PAP", OPT_PRIO },
- { "pap-max-authreq", o_int, &upap[0].us_maxtransmits,
- "Set max number of transmissions for auth-reqs", OPT_PRIO },
- { "pap-timeout", o_int, &upap[0].us_reqtimeout,
- "Set time limit for peer PAP authentication", OPT_PRIO },
-
- { NULL }
-};
-
-/*
- * Protocol entry points.
- */
-static void upap_init __P((int));
-static void upap_lowerup __P((int));
-static void upap_lowerdown __P((int));
-static void upap_input __P((int, u_char *, int));
-static void upap_protrej __P((int));
-static int upap_printpkt __P((u_char *, int,
- void (*) __P((void *, char *, ...)), void *));
-
-struct protent pap_protent = {
- PPP_PAP,
- upap_init,
- upap_input,
- upap_protrej,
- upap_lowerup,
- upap_lowerdown,
- NULL,
- NULL,
- upap_printpkt,
- NULL,
- 1,
- "PAP",
- NULL,
- pap_option_list,
- NULL,
- NULL,
- NULL
-};
-
-upap_state upap[NUM_PPP]; /* UPAP state; one for each unit */
-
-static void upap_timeout __P((void *));
-static void upap_reqtimeout __P((void *));
-static void upap_rauthreq __P((upap_state *, u_char *, int, int));
-static void upap_rauthack __P((upap_state *, u_char *, int, int));
-static void upap_rauthnak __P((upap_state *, u_char *, int, int));
-static void upap_sauthreq __P((upap_state *));
-static void upap_sresp __P((upap_state *, int, int, char *, int));
-
-
-/*
- * upap_init - Initialize a UPAP unit.
- */
-static void
-upap_init(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- u->us_unit = unit;
- u->us_user = NULL;
- u->us_userlen = 0;
- u->us_passwd = NULL;
- u->us_passwdlen = 0;
- u->us_clientstate = UPAPCS_INITIAL;
- u->us_serverstate = UPAPSS_INITIAL;
- u->us_id = 0;
- u->us_timeouttime = UPAP_DEFTIMEOUT;
- u->us_maxtransmits = 10;
- u->us_reqtimeout = UPAP_DEFREQTIME;
-}
-
-
-/*
- * upap_authwithpeer - Authenticate us with our peer (start client).
- *
- * Set new state and send authenticate's.
- */
-void
-upap_authwithpeer(unit, user, password)
- int unit;
- char *user, *password;
-{
- upap_state *u = &upap[unit];
-
- /* Save the username and password we're given */
- u->us_user = user;
- u->us_userlen = strlen(user);
- u->us_passwd = password;
- u->us_passwdlen = strlen(password);
- u->us_transmits = 0;
-
- /* Lower layer up yet? */
- if (u->us_clientstate == UPAPCS_INITIAL ||
- u->us_clientstate == UPAPCS_PENDING) {
- u->us_clientstate = UPAPCS_PENDING;
- return;
- }
-
- upap_sauthreq(u); /* Start protocol */
-}
-
-
-/*
- * upap_authpeer - Authenticate our peer (start server).
- *
- * Set new state.
- */
-void
-upap_authpeer(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- /* Lower layer up yet? */
- if (u->us_serverstate == UPAPSS_INITIAL ||
- u->us_serverstate == UPAPSS_PENDING) {
- u->us_serverstate = UPAPSS_PENDING;
- return;
- }
-
- u->us_serverstate = UPAPSS_LISTEN;
- if (u->us_reqtimeout > 0)
- TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
-}
-
-
-/*
- * upap_timeout - Retransmission timer for sending auth-reqs expired.
- */
-static void
-upap_timeout(arg)
- void *arg;
-{
- upap_state *u = (upap_state *) arg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ)
- return;
-
- if (u->us_transmits >= u->us_maxtransmits) {
- /* give up in disgust */
- error("No response to PAP authenticate-requests");
- u->us_clientstate = UPAPCS_BADAUTH;
- auth_withpeer_fail(u->us_unit, PPP_PAP);
- return;
- }
-
- upap_sauthreq(u); /* Send Authenticate-Request */
-}
-
-
-/*
- * upap_reqtimeout - Give up waiting for the peer to send an auth-req.
- */
-static void
-upap_reqtimeout(arg)
- void *arg;
-{
- upap_state *u = (upap_state *) arg;
-
- if (u->us_serverstate != UPAPSS_LISTEN)
- return; /* huh?? */
-
- auth_peer_fail(u->us_unit, PPP_PAP);
- u->us_serverstate = UPAPSS_BADAUTH;
-}
-
-
-/*
- * upap_lowerup - The lower layer is up.
- *
- * Start authenticating if pending.
- */
-static void
-upap_lowerup(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_INITIAL)
- u->us_clientstate = UPAPCS_CLOSED;
- else if (u->us_clientstate == UPAPCS_PENDING) {
- upap_sauthreq(u); /* send an auth-request */
- }
-
- if (u->us_serverstate == UPAPSS_INITIAL)
- u->us_serverstate = UPAPSS_CLOSED;
- else if (u->us_serverstate == UPAPSS_PENDING) {
- u->us_serverstate = UPAPSS_LISTEN;
- if (u->us_reqtimeout > 0)
- TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
- }
-}
-
-
-/*
- * upap_lowerdown - The lower layer is down.
- *
- * Cancel all timeouts.
- */
-static void
-upap_lowerdown(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_AUTHREQ) /* Timeout pending? */
- UNTIMEOUT(upap_timeout, u); /* Cancel timeout */
- if (u->us_serverstate == UPAPSS_LISTEN && u->us_reqtimeout > 0)
- UNTIMEOUT(upap_reqtimeout, u);
-
- u->us_clientstate = UPAPCS_INITIAL;
- u->us_serverstate = UPAPSS_INITIAL;
-}
-
-
-/*
- * upap_protrej - Peer doesn't speak this protocol.
- *
- * This shouldn't happen. In any case, pretend lower layer went down.
- */
-static void
-upap_protrej(unit)
- int unit;
-{
- upap_state *u = &upap[unit];
-
- if (u->us_clientstate == UPAPCS_AUTHREQ) {
- error("PAP authentication failed due to protocol-reject");
- auth_withpeer_fail(unit, PPP_PAP);
- }
- if (u->us_serverstate == UPAPSS_LISTEN) {
- error("PAP authentication of peer failed (protocol-reject)");
- auth_peer_fail(unit, PPP_PAP);
- }
- upap_lowerdown(unit);
-}
-
-
-/*
- * upap_input - Input UPAP packet.
- */
-static void
-upap_input(unit, inpacket, l)
- int unit;
- u_char *inpacket;
- int l;
-{
- upap_state *u = &upap[unit];
- u_char *inp;
- u_char code, id;
- int len;
-
- /*
- * Parse header (code, id and length).
- * If packet too short, drop it.
- */
- inp = inpacket;
- if (l < UPAP_HEADERLEN) {
- UPAPDEBUG(("pap_input: rcvd short header."));
- return;
- }
- GETCHAR(code, inp);
- GETCHAR(id, inp);
- GETSHORT(len, inp);
- if (len < UPAP_HEADERLEN) {
- UPAPDEBUG(("pap_input: rcvd illegal length."));
- return;
- }
- if (len > l) {
- UPAPDEBUG(("pap_input: rcvd short packet."));
- return;
- }
- len -= UPAP_HEADERLEN;
-
- /*
- * Action depends on code.
- */
- switch (code) {
- case UPAP_AUTHREQ:
- upap_rauthreq(u, inp, id, len);
- break;
-
- case UPAP_AUTHACK:
- upap_rauthack(u, inp, id, len);
- break;
-
- case UPAP_AUTHNAK:
- upap_rauthnak(u, inp, id, len);
- break;
-
- default: /* XXX Need code reject */
- break;
- }
-}
-
-
-/*
- * upap_rauth - Receive Authenticate.
- */
-static void
-upap_rauthreq(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char ruserlen, rpasswdlen;
- char *ruser, *rpasswd;
- int retcode;
- char *msg;
- int msglen;
-
- if (u->us_serverstate < UPAPSS_LISTEN)
- return;
-
- /*
- * If we receive a duplicate authenticate-request, we are
- * supposed to return the same status as for the first request.
- */
- if (u->us_serverstate == UPAPSS_OPEN) {
- upap_sresp(u, UPAP_AUTHACK, id, "", 0); /* return auth-ack */
- return;
- }
- if (u->us_serverstate == UPAPSS_BADAUTH) {
- upap_sresp(u, UPAP_AUTHNAK, id, "", 0); /* return auth-nak */
- return;
- }
-
- /*
- * Parse user/passwd.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- GETCHAR(ruserlen, inp);
- len -= sizeof (u_char) + ruserlen + sizeof (u_char);
- if (len < 0) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- ruser = (char *) inp;
- INCPTR(ruserlen, inp);
- GETCHAR(rpasswdlen, inp);
- if (len < rpasswdlen) {
- UPAPDEBUG(("pap_rauth: rcvd short packet."));
- return;
- }
- rpasswd = (char *) inp;
-
- /*
- * Check the username and password given.
- */
- retcode = check_passwd(u->us_unit, ruser, ruserlen, rpasswd,
- rpasswdlen, &msg);
- BZERO(rpasswd, rpasswdlen);
- msglen = strlen(msg);
- if (msglen > 255)
- msglen = 255;
-
- upap_sresp(u, retcode, id, msg, msglen);
-
- if (retcode == UPAP_AUTHACK) {
- u->us_serverstate = UPAPSS_OPEN;
- auth_peer_success(u->us_unit, PPP_PAP, ruser, ruserlen);
- } else {
- u->us_serverstate = UPAPSS_BADAUTH;
- auth_peer_fail(u->us_unit, PPP_PAP);
- }
-
- if (u->us_reqtimeout > 0)
- UNTIMEOUT(upap_reqtimeout, u);
-}
-
-
-/*
- * upap_rauthack - Receive Authenticate-Ack.
- */
-static void
-upap_rauthack(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char msglen;
- char *msg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
- return;
-
- /*
- * Parse message.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauthack: ignoring missing msg-length."));
- } else {
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthack: rcvd short packet."));
- return;
- }
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
- }
- }
-
- u->us_clientstate = UPAPCS_OPEN;
-
- auth_withpeer_success(u->us_unit, PPP_PAP);
-}
-
-
-/*
- * upap_rauthnak - Receive Authenticate-Nakk.
- */
-static void
-upap_rauthnak(u, inp, id, len)
- upap_state *u;
- u_char *inp;
- int id;
- int len;
-{
- u_char msglen;
- char *msg;
-
- if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
- return;
-
- /*
- * Parse message.
- */
- if (len < 1) {
- UPAPDEBUG(("pap_rauthnak: ignoring missing msg-length."));
- } else {
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
- return;
- }
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
- }
- }
-
- u->us_clientstate = UPAPCS_BADAUTH;
-
- error("PAP authentication failed");
- auth_withpeer_fail(u->us_unit, PPP_PAP);
-}
-
-
-/*
- * upap_sauthreq - Send an Authenticate-Request.
- */
-static void
-upap_sauthreq(u)
- upap_state *u;
-{
- u_char *outp;
- int outlen;
-
- outlen = UPAP_HEADERLEN + 2 * sizeof (u_char) +
- u->us_userlen + u->us_passwdlen;
- outp = outpacket_buf;
-
- MAKEHEADER(outp, PPP_PAP);
-
- PUTCHAR(UPAP_AUTHREQ, outp);
- PUTCHAR(++u->us_id, outp);
- PUTSHORT(outlen, outp);
- PUTCHAR(u->us_userlen, outp);
- BCOPY(u->us_user, outp, u->us_userlen);
- INCPTR(u->us_userlen, outp);
- PUTCHAR(u->us_passwdlen, outp);
- BCOPY(u->us_passwd, outp, u->us_passwdlen);
-
- output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-
- TIMEOUT(upap_timeout, u, u->us_timeouttime);
- ++u->us_transmits;
- u->us_clientstate = UPAPCS_AUTHREQ;
-}
-
-
-/*
- * upap_sresp - Send a response (ack or nak).
- */
-static void
-upap_sresp(u, code, id, msg, msglen)
- upap_state *u;
- u_char code, id;
- char *msg;
- int msglen;
-{
- u_char *outp;
- int outlen;
-
- outlen = UPAP_HEADERLEN + sizeof (u_char) + msglen;
- outp = outpacket_buf;
- MAKEHEADER(outp, PPP_PAP);
-
- PUTCHAR(code, outp);
- PUTCHAR(id, outp);
- PUTSHORT(outlen, outp);
- PUTCHAR(msglen, outp);
- BCOPY(msg, outp, msglen);
- output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
-}
-
-/*
- * upap_printpkt - print the contents of a PAP packet.
- */
-static char *upap_codenames[] = {
- "AuthReq", "AuthAck", "AuthNak"
-};
-
-static int
-upap_printpkt(p, plen, printer, arg)
- u_char *p;
- int plen;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int code, id, len;
- int mlen, ulen, wlen;
- char *user, *pwd, *msg;
- u_char *pstart;
-
- if (plen < UPAP_HEADERLEN)
- return 0;
- pstart = p;
- GETCHAR(code, p);
- GETCHAR(id, p);
- GETSHORT(len, p);
- if (len < UPAP_HEADERLEN || len > plen)
- return 0;
-
- if (code >= 1 && code <= sizeof(upap_codenames) / sizeof(char *))
- printer(arg, " %s", upap_codenames[code-1]);
- else
- printer(arg, " code=0x%x", code);
- printer(arg, " id=0x%x", id);
- len -= UPAP_HEADERLEN;
- switch (code) {
- case UPAP_AUTHREQ:
- if (len < 1)
- break;
- ulen = p[0];
- if (len < ulen + 2)
- break;
- wlen = p[ulen + 1];
- if (len < ulen + wlen + 2)
- break;
- user = (char *) (p + 1);
- pwd = (char *) (p + ulen + 2);
- p += ulen + wlen + 2;
- len -= ulen + wlen + 2;
- printer(arg, " user=");
- print_string(user, ulen, printer, arg);
- printer(arg, " password=");
- if (!hide_password)
- print_string(pwd, wlen, printer, arg);
- else
- printer(arg, "<hidden>");
- break;
- case UPAP_AUTHACK:
- case UPAP_AUTHNAK:
- if (len < 1)
- break;
- mlen = p[0];
- if (len < mlen + 1)
- break;
- msg = (char *) (p + 1);
- p += mlen + 1;
- len -= mlen + 1;
- printer(arg, " ");
- print_string(msg, mlen, printer, arg);
- break;
- }
-
- /* print the rest of the bytes in the packet */
- for (; len > 0; --len) {
- GETCHAR(code, p);
- printer(arg, " %.2x", code);
- }
-
- return p - pstart;
-}
diff --git a/mdk-stage1/ppp/pppd/upap.h b/mdk-stage1/ppp/pppd/upap.h
deleted file mode 100644
index 42d6f4f0f..000000000
--- a/mdk-stage1/ppp/pppd/upap.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * upap.h - User/Password Authentication Protocol definitions.
- *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id$
- */
-
-/*
- * Packet header = Code, id, length.
- */
-#define UPAP_HEADERLEN 4
-
-
-/*
- * UPAP codes.
- */
-#define UPAP_AUTHREQ 1 /* Authenticate-Request */
-#define UPAP_AUTHACK 2 /* Authenticate-Ack */
-#define UPAP_AUTHNAK 3 /* Authenticate-Nak */
-
-
-/*
- * Each interface is described by upap structure.
- */
-typedef struct upap_state {
- int us_unit; /* Interface unit number */
- char *us_user; /* User */
- int us_userlen; /* User length */
- char *us_passwd; /* Password */
- int us_passwdlen; /* Password length */
- int us_clientstate; /* Client state */
- int us_serverstate; /* Server state */
- u_char us_id; /* Current id */
- int us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
- int us_transmits; /* Number of auth-reqs sent */
- int us_maxtransmits; /* Maximum number of auth-reqs to send */
- int us_reqtimeout; /* Time to wait for auth-req from peer */
-} upap_state;
-
-
-/*
- * Client states.
- */
-#define UPAPCS_INITIAL 0 /* Connection down */
-#define UPAPCS_CLOSED 1 /* Connection up, haven't requested auth */
-#define UPAPCS_PENDING 2 /* Connection down, have requested auth */
-#define UPAPCS_AUTHREQ 3 /* We've sent an Authenticate-Request */
-#define UPAPCS_OPEN 4 /* We've received an Ack */
-#define UPAPCS_BADAUTH 5 /* We've received a Nak */
-
-/*
- * Server states.
- */
-#define UPAPSS_INITIAL 0 /* Connection down */
-#define UPAPSS_CLOSED 1 /* Connection up, haven't requested auth */
-#define UPAPSS_PENDING 2 /* Connection down, have requested auth */
-#define UPAPSS_LISTEN 3 /* Listening for an Authenticate */
-#define UPAPSS_OPEN 4 /* We've sent an Ack */
-#define UPAPSS_BADAUTH 5 /* We've sent a Nak */
-
-
-/*
- * Timeouts.
- */
-#define UPAP_DEFTIMEOUT 3 /* Timeout (seconds) for retransmitting req */
-#define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
-
-extern upap_state upap[];
-
-void upap_authwithpeer __P((int, char *, char *));
-void upap_authpeer __P((int));
-
-extern struct protent pap_protent;
diff --git a/mdk-stage1/ppp/pppd/utils.c b/mdk-stage1/ppp/pppd/utils.c
deleted file mode 100644
index 5861d8980..000000000
--- a/mdk-stage1/ppp/pppd/utils.c
+++ /dev/null
@@ -1,949 +0,0 @@
-/*
- * utils.c - various utility functions used in pppd.
- *
- * Copyright (c) 1999 The Australian National University.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Australian National University. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#define RCSID "$Id$"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <syslog.h>
-#include <netdb.h>
-#include <utmp.h>
-#include <pwd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#ifdef SVR4
-#include <sys/mkdev.h>
-#endif
-
-#include "pppd.h"
-#include <time.h>
-
-static const char rcsid[] = RCSID;
-
-#if defined(SUNOS4)
-extern char *strerror();
-#endif
-
-static void logit __P((int, char *, va_list));
-static void log_write __P((int, char *));
-static void vslp_printer __P((void *, char *, ...));
-static void format_packet __P((u_char *, int, void (*) (void *, char *, ...),
- void *));
-
-struct buffer_info {
- char *ptr;
- int len;
-};
-
-/*
- * strlcpy - like strcpy/strncpy, doesn't overflow destination buffer,
- * always leaves destination null-terminated (for len > 0).
- */
-size_t
-strlcpy(dest, src, len)
- char *dest;
- const char *src;
- size_t len;
-{
- size_t ret = strlen(src);
-
- if (len != 0) {
- if (ret < len)
- strcpy(dest, src);
- else {
- strncpy(dest, src, len - 1);
- dest[len-1] = 0;
- }
- }
- return ret;
-}
-
-/*
- * strlcat - like strcat/strncat, doesn't overflow destination buffer,
- * always leaves destination null-terminated (for len > 0).
- */
-size_t
-strlcat(dest, src, len)
- char *dest;
- const char *src;
- size_t len;
-{
- size_t dlen = strlen(dest);
-
- return dlen + strlcpy(dest + dlen, src, (len > dlen? len - dlen: 0));
-}
-
-
-/*
- * slprintf - format a message into a buffer. Like sprintf except we
- * also specify the length of the output buffer, and we handle
- * %r (recursive format), %m (error message), %v (visible string),
- * %q (quoted string), %t (current time) and %I (IP address) formats.
- * Doesn't do floating-point formats.
- * Returns the number of chars put into buf.
- */
-int
-slprintf __V((char *buf, int buflen, char *fmt, ...))
-{
- va_list args;
- int n;
-
-#if defined(__STDC__)
- va_start(args, fmt);
-#else
- char *buf;
- int buflen;
- char *fmt;
- va_start(args);
- buf = va_arg(args, char *);
- buflen = va_arg(args, int);
- fmt = va_arg(args, char *);
-#endif
- n = vslprintf(buf, buflen, fmt, args);
- va_end(args);
- return n;
-}
-
-/*
- * vslprintf - like slprintf, takes a va_list instead of a list of args.
- */
-#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
-
-int
-vslprintf(buf, buflen, fmt, args)
- char *buf;
- int buflen;
- char *fmt;
- va_list args;
-{
- int c, i, n;
- int width, prec, fillch;
- int base, len, neg, quoted;
- unsigned long val = 0;
- char *str, *f, *buf0;
- unsigned char *p;
- char num[32];
- time_t t;
- u_int32_t ip;
- static char hexchars[] = "0123456789abcdef";
- struct buffer_info bufinfo;
-
- buf0 = buf;
- --buflen;
- while (buflen > 0) {
- for (f = fmt; *f != '%' && *f != 0; ++f)
- ;
- if (f > fmt) {
- len = f - fmt;
- if (len > buflen)
- len = buflen;
- memcpy(buf, fmt, len);
- buf += len;
- buflen -= len;
- fmt = f;
- }
- if (*fmt == 0)
- break;
- c = *++fmt;
- width = 0;
- prec = -1;
- fillch = ' ';
- if (c == '0') {
- fillch = '0';
- c = *++fmt;
- }
- if (c == '*') {
- width = va_arg(args, int);
- c = *++fmt;
- } else {
- while (isdigit(c)) {
- width = width * 10 + c - '0';
- c = *++fmt;
- }
- }
- if (c == '.') {
- c = *++fmt;
- if (c == '*') {
- prec = va_arg(args, int);
- c = *++fmt;
- } else {
- prec = 0;
- while (isdigit(c)) {
- prec = prec * 10 + c - '0';
- c = *++fmt;
- }
- }
- }
- str = 0;
- base = 0;
- neg = 0;
- ++fmt;
- switch (c) {
- case 'd':
- i = va_arg(args, int);
- if (i < 0) {
- neg = 1;
- val = -i;
- } else
- val = i;
- base = 10;
- break;
- case 'u':
- val = va_arg(args, unsigned int);
- base = 10;
- break;
- case 'o':
- val = va_arg(args, unsigned int);
- base = 8;
- break;
- case 'x':
- case 'X':
- val = va_arg(args, unsigned int);
- base = 16;
- break;
- case 'p':
- val = (unsigned long) va_arg(args, void *);
- base = 16;
- neg = 2;
- break;
- case 's':
- str = va_arg(args, char *);
- break;
- case 'c':
- num[0] = va_arg(args, int);
- num[1] = 0;
- str = num;
- break;
- case 'm':
- str = strerror(errno);
- break;
- case 'I':
- ip = va_arg(args, u_int32_t);
- ip = ntohl(ip);
- slprintf(num, sizeof(num), "%d.%d.%d.%d", (ip >> 24) & 0xff,
- (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff);
- str = num;
- break;
- case 'r':
- f = va_arg(args, char *);
-#if !defined(__powerpc__) && !defined(__x86_64__)
- n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
-#else
- /* On the powerpc, a va_list is an array of 1 structure */
- n = vslprintf(buf, buflen + 1, f, va_arg(args, void *));
-#endif
- buf += n;
- buflen -= n;
- continue;
- case 't':
- time(&t);
- str = ctime(&t);
- str += 4; /* chop off the day name */
- str[15] = 0; /* chop off year and newline */
- break;
- case 'v': /* "visible" string */
- case 'q': /* quoted string */
- quoted = c == 'q';
- p = va_arg(args, unsigned char *);
- if (fillch == '0' && prec >= 0) {
- n = prec;
- } else {
- n = strlen((char *)p);
- if (prec >= 0 && n > prec)
- n = prec;
- }
- while (n > 0 && buflen > 0) {
- c = *p++;
- --n;
- if (!quoted && c >= 0x80) {
- OUTCHAR('M');
- OUTCHAR('-');
- c -= 0x80;
- }
- if (quoted && (c == '"' || c == '\\'))
- OUTCHAR('\\');
- if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
- if (quoted) {
- OUTCHAR('\\');
- switch (c) {
- case '\t': OUTCHAR('t'); break;
- case '\n': OUTCHAR('n'); break;
- case '\b': OUTCHAR('b'); break;
- case '\f': OUTCHAR('f'); break;
- default:
- OUTCHAR('x');
- OUTCHAR(hexchars[c >> 4]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- } else {
- if (c == '\t')
- OUTCHAR(c);
- else {
- OUTCHAR('^');
- OUTCHAR(c ^ 0x40);
- }
- }
- } else
- OUTCHAR(c);
- }
- continue;
- case 'P': /* print PPP packet */
- bufinfo.ptr = buf;
- bufinfo.len = buflen + 1;
- p = va_arg(args, unsigned char *);
- n = va_arg(args, int);
- format_packet(p, n, vslp_printer, &bufinfo);
- buf = bufinfo.ptr;
- buflen = bufinfo.len - 1;
- continue;
- case 'B':
- p = va_arg(args, unsigned char *);
- for (n = prec; n > 0; --n) {
- c = *p++;
- if (fillch == ' ')
- OUTCHAR(' ');
- OUTCHAR(hexchars[(c >> 4) & 0xf]);
- OUTCHAR(hexchars[c & 0xf]);
- }
- continue;
- default:
- *buf++ = '%';
- if (c != '%')
- --fmt; /* so %z outputs %z etc. */
- --buflen;
- continue;
- }
- if (base != 0) {
- str = num + sizeof(num);
- *--str = 0;
- while (str > num + neg) {
- *--str = hexchars[val % base];
- val = val / base;
- if (--prec <= 0 && val == 0)
- break;
- }
- switch (neg) {
- case 1:
- *--str = '-';
- break;
- case 2:
- *--str = 'x';
- *--str = '0';
- break;
- }
- len = num + sizeof(num) - 1 - str;
- } else {
- len = strlen(str);
- if (prec >= 0 && len > prec)
- len = prec;
- }
- if (width > 0) {
- if (width > buflen)
- width = buflen;
- if ((n = width - len) > 0) {
- buflen -= n;
- for (; n > 0; --n)
- *buf++ = fillch;
- }
- }
- if (len > buflen)
- len = buflen;
- memcpy(buf, str, len);
- buf += len;
- buflen -= len;
- }
- *buf = 0;
- return buf - buf0;
-}
-
-/*
- * vslp_printer - used in processing a %P format
- */
-static void
-vslp_printer __V((void *arg, char *fmt, ...))
-{
- int n;
- va_list pvar;
- struct buffer_info *bi;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- void *arg;
- char *fmt;
- va_start(pvar);
- arg = va_arg(pvar, void *);
- fmt = va_arg(pvar, char *);
-#endif
-
- bi = (struct buffer_info *) arg;
- n = vslprintf(bi->ptr, bi->len, fmt, pvar);
- va_end(pvar);
-
- bi->ptr += n;
- bi->len -= n;
-}
-
-#ifdef unused
-/*
- * log_packet - format a packet and log it.
- */
-
-void
-log_packet(p, len, prefix, level)
- u_char *p;
- int len;
- char *prefix;
- int level;
-{
- init_pr_log(prefix, level);
- format_packet(p, len, pr_log, &level);
- end_pr_log();
-}
-#endif /* unused */
-
-/*
- * format_packet - make a readable representation of a packet,
- * calling `printer(arg, format, ...)' to output it.
- */
-static void
-format_packet(p, len, printer, arg)
- u_char *p;
- int len;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int i, n;
- u_short proto;
- struct protent *protp;
-
- if (len >= PPP_HDRLEN && p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) {
- p += 2;
- GETSHORT(proto, p);
- len -= PPP_HDRLEN;
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (proto == protp->protocol)
- break;
- if (protp != NULL) {
- printer(arg, "[%s", protp->name);
- n = (*protp->printpkt)(p, len, printer, arg);
- printer(arg, "]");
- p += n;
- len -= n;
- } else {
- for (i = 0; (protp = protocols[i]) != NULL; ++i)
- if (proto == (protp->protocol & ~0x8000))
- break;
- if (protp != 0 && protp->data_name != 0) {
- printer(arg, "[%s data]", protp->data_name);
- if (len > 8)
- printer(arg, "%.8B ...", p);
- else
- printer(arg, "%.*B", len, p);
- len = 0;
- } else
- printer(arg, "[proto=0x%x]", proto);
- }
- }
-
- if (len > 32)
- printer(arg, "%.32B ...", p);
- else
- printer(arg, "%.*B", len, p);
-}
-
-/*
- * init_pr_log, end_pr_log - initialize and finish use of pr_log.
- */
-
-static char line[256]; /* line to be logged accumulated here */
-static char *linep; /* current pointer within line */
-static int llevel; /* level for logging */
-
-void
-init_pr_log(prefix, level)
- char *prefix;
- int level;
-{
- linep = line;
- if (prefix != NULL) {
- strlcpy(line, prefix, sizeof(line));
- linep = line + strlen(line);
- }
- llevel = level;
-}
-
-void
-end_pr_log()
-{
- if (linep != line) {
- *linep = 0;
- log_write(llevel, line);
- }
-}
-
-/*
- * pr_log - printer routine for outputting to syslog
- */
-void
-pr_log __V((void *arg, char *fmt, ...))
-{
- int l, n;
- va_list pvar;
- char *p, *eol;
- char buf[256];
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- void *arg;
- char *fmt;
- va_start(pvar);
- arg = va_arg(pvar, void *);
- fmt = va_arg(pvar, char *);
-#endif
-
- n = vslprintf(buf, sizeof(buf), fmt, pvar);
- va_end(pvar);
-
- p = buf;
- eol = strchr(buf, '\n');
- if (linep != line) {
- l = (eol == NULL)? n: eol - buf;
- if (linep + l < line + sizeof(line)) {
- if (l > 0) {
- memcpy(linep, buf, l);
- linep += l;
- }
- if (eol == NULL)
- return;
- p = eol + 1;
- eol = strchr(p, '\n');
- }
- *linep = 0;
- log_write(llevel, line);
- linep = line;
- }
-
- while (eol != NULL) {
- *eol = 0;
- log_write(llevel, p);
- p = eol + 1;
- eol = strchr(p, '\n');
- }
-
- /* assumes sizeof(buf) <= sizeof(line) */
- l = buf + n - p;
- if (l > 0) {
- memcpy(line, p, n);
- linep = line + l;
- }
-}
-
-/*
- * print_string - print a readable representation of a string using
- * printer.
- */
-void
-print_string(p, len, printer, arg)
- char *p;
- int len;
- void (*printer) __P((void *, char *, ...));
- void *arg;
-{
- int c;
-
- printer(arg, "\"");
- for (; len > 0; --len) {
- c = *p++;
- if (' ' <= c && c <= '~') {
- if (c == '\\' || c == '"')
- printer(arg, "\\");
- printer(arg, "%c", c);
- } else {
- switch (c) {
- case '\n':
- printer(arg, "\\n");
- break;
- case '\r':
- printer(arg, "\\r");
- break;
- case '\t':
- printer(arg, "\\t");
- break;
- default:
- printer(arg, "\\%.3o", c);
- }
- }
- }
- printer(arg, "\"");
-}
-
-/*
- * logit - does the hard work for fatal et al.
- */
-static void
-logit(level, fmt, args)
- int level;
- char *fmt;
- va_list args;
-{
- int n;
- char buf[1024];
-
- n = vslprintf(buf, sizeof(buf), fmt, args);
- log_write(level, buf);
-}
-
-static void
-log_write(level, buf)
- int level;
- char *buf;
-{
- syslog(level, "%s", buf);
- if (log_to_fd >= 0 && (level != LOG_DEBUG || debug)) {
- int n = strlen(buf);
-
- if (n > 0 && buf[n-1] == '\n')
- --n;
- if (write(log_to_fd, buf, n) != n
- || write(log_to_fd, "\n", 1) != 1)
- log_to_fd = -1;
- }
-}
-
-/*
- * fatal - log an error message and die horribly.
- */
-void
-fatal __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_ERR, fmt, pvar);
- va_end(pvar);
-
- die(1); /* as promised */
-}
-
-/*
- * error - log an error message.
- */
-void
-error __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_ERR, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * warn - log a warning message.
- */
-void
-warn __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_WARNING, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * notice - log a notice-level message.
- */
-void
-notice __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_NOTICE, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * info - log an informational message.
- */
-void
-info __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_INFO, fmt, pvar);
- va_end(pvar);
-}
-
-/*
- * dbglog - log a debug message.
- */
-void
-dbglog __V((char *fmt, ...))
-{
- va_list pvar;
-
-#if defined(__STDC__)
- va_start(pvar, fmt);
-#else
- char *fmt;
- va_start(pvar);
- fmt = va_arg(pvar, char *);
-#endif
-
- logit(LOG_DEBUG, fmt, pvar);
- va_end(pvar);
-}
-
-/* Procedures for locking the serial device using a lock file. */
-#ifndef LOCK_DIR
-#ifdef _linux_
-#define LOCK_DIR "/var/lock"
-#else
-#ifdef SVR4
-#define LOCK_DIR "/var/spool/locks"
-#else
-#define LOCK_DIR "/var/spool/lock"
-#endif
-#endif
-#endif /* LOCK_DIR */
-
-static char lock_file[MAXPATHLEN];
-
-/*
- * lock - create a lock file for the named device
- */
-int
-lock(dev)
- char *dev;
-{
-#ifdef LOCKLIB
- int result;
-
- result = mklock (dev, (void *) 0);
- if (result == 0) {
- strlcpy(lock_file, sizeof(lock_file), dev);
- return 0;
- }
-
- if (result > 0)
- notice("Device %s is locked by pid %d", dev, result);
- else
- error("Can't create lock file %s", lock_file);
- return -1;
-
-#else /* LOCKLIB */
-
- char lock_buffer[12];
- int fd, pid, n;
-
-#ifdef SVR4
- struct stat sbuf;
-
- if (stat(dev, &sbuf) < 0) {
- error("Can't get device number for %s: %m", dev);
- return -1;
- }
- if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
- error("Can't lock %s: not a character device", dev);
- return -1;
- }
- slprintf(lock_file, sizeof(lock_file), "%s/LK.%03d.%03d.%03d",
- LOCK_DIR, major(sbuf.st_dev),
- major(sbuf.st_rdev), minor(sbuf.st_rdev));
-#else
- char *p;
-
- if ((p = strrchr(dev, '/')) != NULL)
- dev = p + 1;
- slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev);
-#endif
-
- while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
- if (errno != EEXIST) {
- error("Can't create lock file %s: %m", lock_file);
- break;
- }
-
- /* Read the lock file to find out who has the device locked. */
- fd = open(lock_file, O_RDONLY, 0);
- if (fd < 0) {
- if (errno == ENOENT) /* This is just a timing problem. */
- continue;
- error("Can't open existing lock file %s: %m", lock_file);
- break;
- }
-#ifndef LOCK_BINARY
- n = read(fd, lock_buffer, 11);
-#else
- n = read(fd, &pid, sizeof(pid));
-#endif /* LOCK_BINARY */
- close(fd);
- fd = -1;
- if (n <= 0) {
- error("Can't read pid from lock file %s", lock_file);
- break;
- }
-
- /* See if the process still exists. */
-#ifndef LOCK_BINARY
- lock_buffer[n] = 0;
- pid = atoi(lock_buffer);
-#endif /* LOCK_BINARY */
- if (pid == getpid())
- return 1; /* somebody else locked it for us */
- if (pid == 0
- || (kill(pid, 0) == -1 && errno == ESRCH)) {
- if (unlink (lock_file) == 0) {
- notice("Removed stale lock on %s (pid %d)", dev, pid);
- continue;
- }
- warn("Couldn't remove stale lock on %s", dev);
- } else
- notice("Device %s is locked by pid %d", dev, pid);
- break;
- }
-
- if (fd < 0) {
- lock_file[0] = 0;
- return -1;
- }
-
- pid = getpid();
-#ifndef LOCK_BINARY
- slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
- write (fd, lock_buffer, 11);
-#else
- write(fd, &pid, sizeof (pid));
-#endif
- close(fd);
- return 0;
-
-#endif
-}
-
-/*
- * relock - called to update our lockfile when we are about to detach,
- * thus changing our pid (we fork, the child carries on, and the parent dies).
- * Note that this is called by the parent, with pid equal to the pid
- * of the child. This avoids a potential race which would exist if
- * we had the child rewrite the lockfile (the parent might die first,
- * and another process could think the lock was stale if it checked
- * between when the parent died and the child rewrote the lockfile).
- */
-int
-relock(pid)
- int pid;
-{
-#ifdef LOCKLIB
- /* XXX is there a way to do this? */
- return -1;
-#else /* LOCKLIB */
-
- int fd;
- char lock_buffer[12];
-
- if (lock_file[0] == 0)
- return -1;
- fd = open(lock_file, O_WRONLY, 0);
- if (fd < 0) {
- error("Couldn't reopen lock file %s: %m", lock_file);
- lock_file[0] = 0;
- return -1;
- }
-
-#ifndef LOCK_BINARY
- slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
- write (fd, lock_buffer, 11);
-#else
- write(fd, &pid, sizeof(pid));
-#endif /* LOCK_BINARY */
- close(fd);
- return 0;
-
-#endif /* LOCKLIB */
-}
-
-/*
- * unlock - remove our lockfile
- */
-void
-unlock()
-{
- if (lock_file[0]) {
-#ifdef LOCKLIB
- (void) rmlock(lock_file, (void *) 0);
-#else
- unlink(lock_file);
-#endif
- lock_file[0] = 0;
- }
-}
-
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux b/mdk-stage1/ppp/pppdump/Makefile.linux
deleted file mode 100644
index 1d8d78ff7..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -I../include/net $(RPM_OPT_FLAGS)
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt b/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
deleted file mode 100644
index d02fecde8..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -O -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile b/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
deleted file mode 100644
index 4c98b6c6d..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-CFLAGS= -O -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-INSTALL= install
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install:
- mkdir -p $(BINDIR) $(MANDIR)/man8
- $(INSTALL) -s -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sol2 b/mdk-stage1/ppp/pppdump/Makefile.sol2
deleted file mode 100644
index d7e6b413e..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.sol2
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# pppdump Makefile for SVR4 systems
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CFLAGS= $(COPTS) -I../include/net
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f $(OBJS) pppdump *~
-
-install:
- $(INSTALL) -f $(BINDIR) pppdump
- $(INSTALL) -m 444 -f $(MANDIR)/man8 pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sunos4 b/mdk-stage1/ppp/pppdump/Makefile.sunos4
deleted file mode 100644
index 915c8267d..000000000
--- a/mdk-stage1/ppp/pppdump/Makefile.sunos4
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
-CFLAGS = $(COPTS) -I../include/net
-
-all: pppdump
-
-pppdump: $(OBJS)
- $(CC) -o pppdump $(OBJS)
-
-clean:
- rm -f pppdump $(OBJS) *~
-
-install: pppdump
- $(INSTALL) -c pppdump $(BINDIR)/pppdump
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8/pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/bsd-comp.c b/mdk-stage1/ppp/pppdump/bsd-comp.c
deleted file mode 100644
index 1e14e98bb..000000000
--- a/mdk-stage1/ppp/pppdump/bsd-comp.c
+++ /dev/null
@@ -1,750 +0,0 @@
-/* Because this code is derived from the 4.3BSD compress source:
- *
- *
- * Copyright (c) 1985, 1986 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * James A. Woods, derived from original work by Spencer Thomas
- * and Joseph Orost.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * $Id$
- */
-
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-
-#if DO_BSD_COMPRESS
-
-/*
- * PPP "BSD compress" compression
- * The differences between this compression and the classic BSD LZW
- * source are obvious from the requirement that the classic code worked
- * with files while this handles arbitrarily long streams that
- * are broken into packets. They are:
- *
- * When the code size expands, a block of junk is not emitted by
- * the compressor and not expected by the decompressor.
- *
- * New codes are not necessarily assigned every time an old
- * code is output by the compressor. This is because a packet
- * end forces a code to be emitted, but does not imply that a
- * new sequence has been seen.
- *
- * The compression ratio is checked at the first end of a packet
- * after the appropriate gap. Besides simplifying and speeding
- * things up, this makes it more likely that the transmitter
- * and receiver will agree when the dictionary is cleared when
- * compression is not going well.
- */
-
-/*
- * A dictionary for doing BSD compress.
- */
-struct bsd_db {
- int totlen; /* length of this structure */
- u_int hsize; /* size of the hash table */
- u_char hshift; /* used in hash function */
- u_char n_bits; /* current bits/code */
- u_char maxbits;
- u_char debug;
- u_char unit;
- u_short seqno; /* sequence number of next packet */
- u_int hdrlen; /* header length to preallocate */
- u_int mru;
- u_int maxmaxcode; /* largest valid code */
- u_int max_ent; /* largest code in use */
- u_int in_count; /* uncompressed bytes, aged */
- u_int bytes_out; /* compressed bytes, aged */
- u_int ratio; /* recent compression ratio */
- u_int checkpoint; /* when to next check the ratio */
- u_int clear_count; /* times dictionary cleared */
- u_int incomp_count; /* incompressible packets */
- u_int incomp_bytes; /* incompressible bytes */
- u_int uncomp_count; /* uncompressed packets */
- u_int uncomp_bytes; /* uncompressed bytes */
- u_int comp_count; /* compressed packets */
- u_int comp_bytes; /* compressed bytes */
- u_short *lens; /* array of lengths of codes */
- struct bsd_dict {
- union { /* hash value */
- u_int32_t fcode;
- struct {
-#ifdef BSD_LITTLE_ENDIAN
- u_short prefix; /* preceding code */
- u_char suffix; /* last character of new code */
- u_char pad;
-#else
- u_char pad;
- u_char suffix; /* last character of new code */
- u_short prefix; /* preceding code */
-#endif
- } hs;
- } f;
- u_short codem1; /* output of hash table -1 */
- u_short cptr; /* map code to hash table entry */
- } dict[1];
-};
-
-#define BSD_OVHD 2 /* BSD compress overhead/packet */
-#define BSD_INIT_BITS BSD_MIN_BITS
-
-static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
-static void bsd_free __P((void *state));
-static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static void bsd_incomp __P((void *state, u_char *dmsg, int len));
-static int bsd_decompress __P((void *state, u_char *cmp, int inlen,
- u_char *dmp, int *outlen));
-static void bsd_reset __P((void *state));
-static void bsd_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Exported procedures.
- */
-struct compressor ppp_bsd_compress = {
- CI_BSD_COMPRESS, /* compress_proto */
- bsd_decomp_alloc, /* decomp_alloc */
- bsd_free, /* decomp_free */
- bsd_decomp_init, /* decomp_init */
- bsd_reset, /* decomp_reset */
- bsd_decompress, /* decompress */
- bsd_incomp, /* incomp */
- bsd_comp_stats, /* decomp_stat */
-};
-
-/*
- * the next two codes should not be changed lightly, as they must not
- * lie within the contiguous general code space.
- */
-#define CLEAR 256 /* table clear output code */
-#define FIRST 257 /* first free entry */
-#define LAST 255
-
-#define MAXCODE(b) ((1 << (b)) - 1)
-#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
-
-#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
- ^ (u_int32_t)(prefix))
-#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
- + (u_int32_t)(prefix))
-
-#define CHECK_GAP 10000 /* Ratio check interval */
-
-#define RATIO_SCALE_LOG 8
-#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
-#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
-
-/*
- * clear the dictionary
- */
-static void
-bsd_clear(db)
- struct bsd_db *db;
-{
- db->clear_count++;
- db->max_ent = FIRST-1;
- db->n_bits = BSD_INIT_BITS;
- db->ratio = 0;
- db->bytes_out = 0;
- db->in_count = 0;
- db->checkpoint = CHECK_GAP;
-}
-
-/*
- * If the dictionary is full, then see if it is time to reset it.
- *
- * Compute the compression ratio using fixed-point arithmetic
- * with 8 fractional bits.
- *
- * Since we have an infinite stream instead of a single file,
- * watch only the local compression ratio.
- *
- * Since both peers must reset the dictionary at the same time even in
- * the absence of CLEAR codes (while packets are incompressible), they
- * must compute the same ratio.
- */
-static int /* 1=output CLEAR */
-bsd_check(db)
- struct bsd_db *db;
-{
- u_int new_ratio;
-
- if (db->in_count >= db->checkpoint) {
- /* age the ratio by limiting the size of the counts */
- if (db->in_count >= RATIO_MAX
- || db->bytes_out >= RATIO_MAX) {
- db->in_count -= db->in_count/4;
- db->bytes_out -= db->bytes_out/4;
- }
-
- db->checkpoint = db->in_count + CHECK_GAP;
-
- if (db->max_ent >= db->maxmaxcode) {
- /* Reset the dictionary only if the ratio is worse,
- * or if it looks as if it has been poisoned
- * by incompressible data.
- *
- * This does not overflow, because
- * db->in_count <= RATIO_MAX.
- */
- new_ratio = db->in_count << RATIO_SCALE_LOG;
- if (db->bytes_out != 0)
- new_ratio /= db->bytes_out;
-
- if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
- bsd_clear(db);
- return 1;
- }
- db->ratio = new_ratio;
- }
- }
- return 0;
-}
-
-/*
- * Return statistics.
- */
-static void
-bsd_comp_stats(state, stats)
- void *state;
- struct compstat *stats;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int out;
-
- stats->unc_bytes = db->uncomp_bytes;
- stats->unc_packets = db->uncomp_count;
- stats->comp_bytes = db->comp_bytes;
- stats->comp_packets = db->comp_count;
- stats->inc_bytes = db->incomp_bytes;
- stats->inc_packets = db->incomp_count;
- stats->ratio = db->in_count;
- out = db->bytes_out;
- if (stats->ratio <= 0x7fffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Reset state, as on a CCP ResetReq.
- */
-static void
-bsd_reset(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- db->seqno = 0;
- bsd_clear(db);
- db->clear_count = 0;
-}
-
-/*
- * Allocate space for a (de) compressor.
- */
-static void *
-bsd_alloc(options, opt_len, decomp)
- u_char *options;
- int opt_len, decomp;
-{
- int bits;
- u_int newlen, hsize, hshift, maxmaxcode;
- struct bsd_db *db;
-
- if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
- return NULL;
-
- bits = BSD_NBITS(options[2]);
- switch (bits) {
- case 9: /* needs 82152 for both directions */
- case 10: /* needs 84144 */
- case 11: /* needs 88240 */
- case 12: /* needs 96432 */
- hsize = 5003;
- hshift = 4;
- break;
- case 13: /* needs 176784 */
- hsize = 9001;
- hshift = 5;
- break;
- case 14: /* needs 353744 */
- hsize = 18013;
- hshift = 6;
- break;
- case 15: /* needs 691440 */
- hsize = 35023;
- hshift = 7;
- break;
- case 16: /* needs 1366160--far too much, */
- /* hsize = 69001; */ /* and 69001 is too big for cptr */
- /* hshift = 8; */ /* in struct bsd_db */
- /* break; */
- default:
- return NULL;
- }
-
- maxmaxcode = MAXCODE(bits);
- newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
- db = (struct bsd_db *) malloc(newlen);
- if (!db)
- return NULL;
- memset(db, 0, sizeof(*db) - sizeof(db->dict));
-
- if (!decomp) {
- db->lens = NULL;
- } else {
- db->lens = (u_short *) malloc((maxmaxcode+1) * sizeof(db->lens[0]));
- if (!db->lens) {
- free(db);
- return NULL;
- }
- }
-
- db->totlen = newlen;
- db->hsize = hsize;
- db->hshift = hshift;
- db->maxmaxcode = maxmaxcode;
- db->maxbits = bits;
-
- return (void *) db;
-}
-
-static void
-bsd_free(state)
- void *state;
-{
- struct bsd_db *db = (struct bsd_db *) state;
-
- if (db->lens)
- free(db->lens);
- free(db);
-}
-
-static void *
-bsd_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- return bsd_alloc(options, opt_len, 1);
-}
-
-/*
- * Initialize the database.
- */
-static int
-bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
- struct bsd_db *db;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug, decomp;
-{
- int i;
-
- if (opt_len < CILEN_BSD_COMPRESS
- || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
- || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
- || BSD_NBITS(options[2]) != db->maxbits
- || decomp && db->lens == NULL)
- return 0;
-
- if (decomp) {
- i = LAST+1;
- while (i != 0)
- db->lens[--i] = 1;
- }
- i = db->hsize;
- while (i != 0) {
- db->dict[--i].codem1 = BADCODEM1;
- db->dict[i].cptr = 0;
- }
-
- db->unit = unit;
- db->hdrlen = hdrlen;
- db->mru = mru;
- if (debug)
- db->debug = 1;
-
- bsd_reset(db);
-
- return 1;
-}
-
-static int
-bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
- void *state;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- return bsd_init((struct bsd_db *) state, options, opt_len,
- unit, hdrlen, mru, debug, 1);
-}
-
-
-/*
- * Update the "BSD Compress" dictionary on the receiver for
- * incompressible data by pretending to compress the incoming data.
- */
-static void
-bsd_incomp(state, dmsg, mlen)
- void *state;
- u_char *dmsg;
- int mlen;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int hshift = db->hshift;
- u_int max_ent = db->max_ent;
- u_int n_bits = db->n_bits;
- struct bsd_dict *dictp;
- u_int32_t fcode;
- u_char c;
- long hval, disp;
- int slen, ilen;
- u_int bitno = 7;
- u_char *rptr;
- u_int ent;
-
- rptr = dmsg;
- ent = rptr[0]; /* get the protocol */
- if (ent == 0) {
- ++rptr;
- --mlen;
- ent = rptr[0];
- }
- if ((ent & 1) == 0 || ent < 0x21 || ent > 0xf9)
- return;
-
- db->seqno++;
- ilen = 1; /* count the protocol as 1 byte */
- ++rptr;
- slen = dmsg + mlen - rptr;
- ilen += slen;
- for (; slen > 0; --slen) {
- c = *rptr++;
- fcode = BSD_KEY(ent, c);
- hval = BSD_HASH(ent, c, hshift);
- dictp = &db->dict[hval];
-
- /* validate and then check the entry */
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- if (dictp->f.fcode == fcode) {
- ent = dictp->codem1+1;
- continue; /* found (prefix,suffix) */
- }
-
- /* continue probing until a match or invalid entry */
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- if (dictp->codem1 >= max_ent)
- goto nomatch;
- } while (dictp->f.fcode != fcode);
- ent = dictp->codem1+1;
- continue; /* finally found (prefix,suffix) */
-
- nomatch: /* output (count) the prefix */
- bitno += n_bits;
-
- /* code -> hashtable */
- if (max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- /* expand code size if needed */
- if (max_ent >= MAXCODE(n_bits))
- db->n_bits = ++n_bits;
-
- /* Invalidate previous hash table entry
- * assigned this code, and then take it over.
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent)
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[ent]+1;
- }
- ent = c;
- }
- bitno += n_bits; /* output (count) the last code */
- db->bytes_out += bitno/8;
- db->in_count += ilen;
- (void)bsd_check(db);
-
- ++db->incomp_count;
- db->incomp_bytes += ilen;
- ++db->uncomp_count;
- db->uncomp_bytes += ilen;
-
- /* Increase code size if we would have without the packet
- * boundary and as the decompressor will.
- */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
- db->n_bits++;
-}
-
-
-/*
- * Decompress "BSD Compress"
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-bsd_decompress(state, cmsg, inlen, dmp, outlenp)
- void *state;
- u_char *cmsg, *dmp;
- int inlen, *outlenp;
-{
- struct bsd_db *db = (struct bsd_db *) state;
- u_int max_ent = db->max_ent;
- u_int32_t accm = 0;
- u_int bitno = 32; /* 1st valid bit in accm */
- u_int n_bits = db->n_bits;
- u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
- struct bsd_dict *dictp;
- int explen, i, seq, len;
- u_int incode, oldcode, finchar;
- u_char *p, *rptr, *wptr;
- int ilen;
- int dlen, space, codelen, extra;
-
- rptr = cmsg;
- if (*rptr == 0)
- ++rptr;
- ++rptr; /* skip protocol (assumed 0xfd) */
- seq = (rptr[0] << 8) + rptr[1];
- rptr += BSD_OVHD;
- ilen = len = cmsg + inlen - rptr;
-
- /*
- * Check the sequence number and give up if it is not what we expect.
- */
- if (seq != db->seqno++) {
- if (db->debug)
- printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
- db->unit, seq, db->seqno - 1);
- return DECOMP_ERROR;
- }
-
- wptr = dmp + db->hdrlen;
-
- oldcode = CLEAR;
- explen = 0;
- while (len > 0) {
- /*
- * Accumulate bytes until we have a complete code.
- * Then get the next code, relying on the 32-bit,
- * unsigned accm to mask the result.
- */
- bitno -= 8;
- accm |= *rptr++ << bitno;
- --len;
- if (tgtbitno < bitno)
- continue;
- incode = accm >> tgtbitno;
- accm <<= n_bits;
- bitno += n_bits;
-
- if (incode == CLEAR) {
- /*
- * The dictionary must only be cleared at
- * the end of a packet. But there could be an
- * empty message block at the end.
- */
- if (len > 0) {
- if (db->debug)
- printf("bsd_decomp%d: bad CLEAR\n", db->unit);
- return DECOMP_FATALERROR;
- }
- bsd_clear(db);
- explen = ilen = 0;
- break;
- }
-
- if (incode > max_ent + 2 || incode > db->maxmaxcode
- || incode > max_ent && oldcode == CLEAR) {
- if (db->debug) {
- printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
- db->unit, incode, oldcode);
- printf("max_ent=0x%x dlen=%d seqno=%d\n",
- max_ent, dlen, db->seqno);
- }
- return DECOMP_FATALERROR; /* probably a bug */
- }
-
- /* Special case for KwKwK string. */
- if (incode > max_ent) {
- finchar = oldcode;
- extra = 1;
- } else {
- finchar = incode;
- extra = 0;
- }
-
- codelen = db->lens[finchar];
- explen += codelen + extra;
- if (explen > db->mru + 1) {
- if (db->debug)
- printf("bsd_decomp%d: ran out of mru\n", db->unit);
- return DECOMP_FATALERROR;
- }
-
- /*
- * Decode this code and install it in the decompressed buffer.
- */
- p = (wptr += codelen);
- while (finchar > LAST) {
- dictp = &db->dict[db->dict[finchar].cptr];
-#ifdef DEBUG
- --codelen;
- if (codelen <= 0) {
- printf("bsd_decomp%d: fell off end of chain ", db->unit);
- printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
- incode, finchar, db->dict[finchar].cptr, max_ent);
- return DECOMP_FATALERROR;
- }
- if (dictp->codem1 != finchar-1) {
- printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
- db->unit, incode, finchar);
- printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
- db->dict[finchar].cptr, dictp->codem1);
- return DECOMP_FATALERROR;
- }
-#endif
- *--p = dictp->f.hs.suffix;
- finchar = dictp->f.hs.prefix;
- }
- *--p = finchar;
-
-#ifdef DEBUG
- if (--codelen != 0)
- printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
- db->unit, codelen, incode, max_ent);
-#endif
-
- if (extra) /* the KwKwK case again */
- *wptr++ = finchar;
-
- /*
- * If not first code in a packet, and
- * if not out of code space, then allocate a new code.
- *
- * Keep the hash table correct so it can be used
- * with uncompressed packets.
- */
- if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
- struct bsd_dict *dictp2;
- u_int32_t fcode;
- int hval, disp;
-
- fcode = BSD_KEY(oldcode,finchar);
- hval = BSD_HASH(oldcode,finchar,db->hshift);
- dictp = &db->dict[hval];
-
- /* look for a free hash table entry */
- if (dictp->codem1 < max_ent) {
- disp = (hval == 0) ? 1 : hval;
- do {
- hval += disp;
- if (hval >= db->hsize)
- hval -= db->hsize;
- dictp = &db->dict[hval];
- } while (dictp->codem1 < max_ent);
- }
-
- /*
- * Invalidate previous hash table entry
- * assigned this code, and then take it over
- */
- dictp2 = &db->dict[max_ent+1];
- if (db->dict[dictp2->cptr].codem1 == max_ent) {
- db->dict[dictp2->cptr].codem1 = BADCODEM1;
- }
- dictp2->cptr = hval;
- dictp->codem1 = max_ent;
- dictp->f.fcode = fcode;
-
- db->max_ent = ++max_ent;
- db->lens[max_ent] = db->lens[oldcode]+1;
-
- /* Expand code size if needed. */
- if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
- db->n_bits = ++n_bits;
- tgtbitno = 32-n_bits;
- }
- }
- oldcode = incode;
- }
- *outlenp = wptr - (dmp + db->hdrlen);
-
- /*
- * Keep the checkpoint right so that incompressible packets
- * clear the dictionary at the right times.
- */
- db->bytes_out += ilen;
- db->in_count += explen;
- if (bsd_check(db) && db->debug) {
- printf("bsd_decomp%d: peer should have cleared dictionary\n",
- db->unit);
- }
-
- ++db->comp_count;
- db->comp_bytes += ilen + BSD_OVHD;
- ++db->uncomp_count;
- db->uncomp_bytes += explen;
-
- return DECOMP_OK;
-}
-#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/pppdump/deflate.c b/mdk-stage1/ppp/pppdump/deflate.c
deleted file mode 100644
index 08e8abc0d..000000000
--- a/mdk-stage1/ppp/pppdump/deflate.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * ppp_deflate.c - interface the zlib procedures for Deflate compression
- * and decompression (as used by gzip) to the PPP code.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#include <sys/types.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-#include "zlib.h"
-
-#if DO_DEFLATE
-
-#define DEFLATE_DEBUG 1
-
-/*
- * State for a Deflate (de)compressor.
- */
-struct deflate_state {
- int seqno;
- int w_size;
- int unit;
- int hdrlen;
- int mru;
- int debug;
- z_stream strm;
- struct compstat stats;
-};
-
-#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
-
-static void *z_alloc __P((void *, u_int items, u_int size));
-static void z_free __P((void *, void *ptr, u_int nb));
-static void *z_decomp_alloc __P((u_char *options, int opt_len));
-static void z_decomp_free __P((void *state));
-static int z_decomp_init __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
-static void z_incomp __P((void *state, u_char *dmsg, int len));
-static int z_decompress __P((void *state, u_char *cmp, int inlen,
- u_char *dmp, int *outlenp));
-static void z_decomp_reset __P((void *state));
-static void z_comp_stats __P((void *state, struct compstat *stats));
-
-/*
- * Procedures exported to if_ppp.c.
- */
-struct compressor ppp_deflate = {
- CI_DEFLATE, /* compress_proto */
- z_decomp_alloc, /* decomp_alloc */
- z_decomp_free, /* decomp_free */
- z_decomp_init, /* decomp_init */
- z_decomp_reset, /* decomp_reset */
- z_decompress, /* decompress */
- z_incomp, /* incomp */
- z_comp_stats, /* decomp_stat */
-};
-
-/*
- * Space allocation and freeing routines for use by zlib routines.
- */
-static void *
-z_alloc(notused, items, size)
- void *notused;
- u_int items, size;
-{
- return malloc(items * size);
-}
-
-static void
-z_free(notused, ptr, nbytes)
- void *notused;
- void *ptr;
- u_int nbytes;
-{
- free(ptr);
-}
-
-static void
-z_comp_stats(arg, stats)
- void *arg;
- struct compstat *stats;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_int out;
-
- *stats = state->stats;
- stats->ratio = stats->unc_bytes;
- out = stats->comp_bytes + stats->unc_bytes;
- if (stats->ratio <= 0x7ffffff)
- stats->ratio <<= 8;
- else
- out >>= 8;
- if (out != 0)
- stats->ratio /= out;
-}
-
-/*
- * Allocate space for a decompressor.
- */
-static void *
-z_decomp_alloc(options, opt_len)
- u_char *options;
- int opt_len;
-{
- struct deflate_state *state;
- int w_size;
-
- if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return NULL;
- w_size = DEFLATE_SIZE(options[2]);
- if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
- return NULL;
-
- state = (struct deflate_state *) malloc(sizeof(*state));
- if (state == NULL)
- return NULL;
-
- state->strm.next_out = NULL;
- state->strm.zalloc = (alloc_func) z_alloc;
- state->strm.zfree = (free_func) z_free;
- if (inflateInit2(&state->strm, -w_size) != Z_OK) {
- free(state);
- return NULL;
- }
-
- state->w_size = w_size;
- memset(&state->stats, 0, sizeof(state->stats));
- return (void *) state;
-}
-
-static void
-z_decomp_free(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- inflateEnd(&state->strm);
- free(state);
-}
-
-static int
-z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
- void *arg;
- u_char *options;
- int opt_len, unit, hdrlen, mru, debug;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE
- || options[1] != CILEN_DEFLATE
- || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
- || DEFLATE_SIZE(options[2]) != state->w_size
- || options[3] != DEFLATE_CHK_SEQUENCE)
- return 0;
-
- state->seqno = 0;
- state->unit = unit;
- state->hdrlen = hdrlen;
- state->debug = debug;
- state->mru = mru;
-
- inflateReset(&state->strm);
-
- return 1;
-}
-
-static void
-z_decomp_reset(arg)
- void *arg;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
-
- state->seqno = 0;
- inflateReset(&state->strm);
-}
-
-/*
- * Decompress a Deflate-compressed packet.
- *
- * Because of patent problems, we return DECOMP_ERROR for errors
- * found by inspecting the input data and for system problems, but
- * DECOMP_FATALERROR for any errors which could possibly be said to
- * be being detected "after" decompression. For DECOMP_ERROR,
- * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
- * infringing a patent of Motorola's if we do, so we take CCP down
- * instead.
- *
- * Given that the frame has the correct sequence number and a good FCS,
- * errors such as invalid codes in the input most likely indicate a
- * bug, so we return DECOMP_FATALERROR for them in order to turn off
- * compression, even though they are detected by inspecting the input.
- */
-static int
-z_decompress(arg, mi, inlen, mo, outlenp)
- void *arg;
- u_char *mi, *mo;
- int inlen, *outlenp;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr, *wptr;
- int rlen, olen, ospace;
- int seq, i, flush, r, decode_proto;
-
- rptr = mi;
- if (*rptr == 0)
- ++rptr;
- ++rptr;
-
- /* Check the sequence number. */
- seq = (rptr[0] << 8) + rptr[1];
- rptr += 2;
- if (seq != state->seqno) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: bad seq # %d, expected %d\n",
- state->unit, seq, state->seqno);
- return DECOMP_ERROR;
- }
- ++state->seqno;
-
- /*
- * Set up to call inflate.
- */
- wptr = mo;
- state->strm.next_in = rptr;
- state->strm.avail_in = mi + inlen - rptr;
- rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
- state->strm.next_out = wptr;
- state->strm.avail_out = state->mru + 2;
-
- r = inflate(&state->strm, Z_PACKET_FLUSH);
- if (r != Z_OK) {
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_decompress%d: inflate returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return DECOMP_FATALERROR;
- }
- olen = state->mru + 2 - state->strm.avail_out;
- *outlenp = olen;
-
- if ((wptr[0] & 1) != 0)
- ++olen; /* for suppressed protocol high byte */
- olen += 2; /* for address, control */
-
-#if DEFLATE_DEBUG
- if (olen > state->mru + PPP_HDRLEN)
- printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
- state->unit, olen, state->mru + PPP_HDRLEN);
-#endif
-
- state->stats.unc_bytes += olen;
- state->stats.unc_packets++;
- state->stats.comp_bytes += rlen;
- state->stats.comp_packets++;
-
- return DECOMP_OK;
-}
-
-/*
- * Incompressible data has arrived - add it to the history.
- */
-static void
-z_incomp(arg, mi, mlen)
- void *arg;
- u_char *mi;
- int mlen;
-{
- struct deflate_state *state = (struct deflate_state *) arg;
- u_char *rptr;
- int rlen, proto, r;
-
- /*
- * Check that the protocol is one we handle.
- */
- rptr = mi;
- proto = rptr[0];
- if ((proto & 1) == 0)
- proto = (proto << 8) + rptr[1];
- if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
- return;
-
- ++state->seqno;
-
- if (rptr[0] == 0)
- ++rptr;
- rlen = mi + mlen - rptr;
- state->strm.next_in = rptr;
- state->strm.avail_in = rlen;
- r = inflateIncomp(&state->strm);
- if (r != Z_OK) {
- /* gak! */
-#if !DEFLATE_DEBUG
- if (state->debug)
-#endif
- printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
- state->unit, r, (state->strm.msg? state->strm.msg: ""));
- return;
- }
-
- /*
- * Update stats.
- */
- if (proto <= 0xff)
- ++rlen;
- rlen += 2;
- state->stats.inc_bytes += rlen;
- state->stats.inc_packets++;
- state->stats.unc_bytes += rlen;
- state->stats.unc_packets++;
-}
-
-#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/pppdump/ppp-comp.h b/mdk-stage1/ppp/pppdump/ppp-comp.h
deleted file mode 100644
index 9221c0db4..000000000
--- a/mdk-stage1/ppp/pppdump/ppp-comp.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-/*
- * The following symbols control whether we include code for
- * various compression methods.
- */
-#ifndef DO_BSD_COMPRESS
-#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
-#endif
-#ifndef DO_DEFLATE
-#define DO_DEFLATE 1 /* by default, include Deflate */
-#endif
-#define DO_PREDICTOR_1 0
-#define DO_PREDICTOR_2 0
-
-/*
- * Structure giving methods for compression/decompression.
- */
-struct compressor {
- int compress_proto; /* CCP compression protocol number */
-
- /* Allocate space for a decompressor (receive side) */
- void *(*decomp_alloc) __P((u_char *options, int opt_len));
- /* Free space used by a decompressor */
- void (*decomp_free) __P((void *state));
- /* Initialize a decompressor */
- int (*decomp_init) __P((void *state, u_char *options, int opt_len,
- int unit, int hdrlen, int mru, int debug));
- /* Reset a decompressor */
- void (*decomp_reset) __P((void *state));
- /* Decompress a packet. */
- int (*decompress) __P((void *state, u_char *mp, int inlen,
- u_char *dmp, int *outlen));
- /* Update state for an incompressible packet received */
- void (*incomp) __P((void *state, u_char *mp, int len));
- /* Return decompression statistics */
- void (*decomp_stat) __P((void *state, struct compstat *stats));
-};
-
-/*
- * Return values for decompress routine.
- * We need to make these distinctions so that we can disable certain
- * useful functionality, namely sending a CCP reset-request as a result
- * of an error detected after decompression. This is to avoid infringing
- * a patent held by Motorola.
- * Don't you just lurve software patents.
- */
-#define DECOMP_OK 0 /* everything went OK */
-#define DECOMP_ERROR 1 /* error detected before decomp. */
-#define DECOMP_FATALERROR 2 /* error detected after decomp. */
-
-/*
- * CCP codes.
- */
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_CONFNAK 3
-#define CCP_CONFREJ 4
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 8
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
- + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/pppdump/pppdump.8 b/mdk-stage1/ppp/pppdump/pppdump.8
deleted file mode 100644
index c0172f519..000000000
--- a/mdk-stage1/ppp/pppdump/pppdump.8
+++ /dev/null
@@ -1,62 +0,0 @@
-.\" @(#) $Id$
-.TH PPPDUMP 8 "1 April 1999"
-.SH NAME
-pppdump \- convert PPP record file to readable format
-.SH SYNOPSIS
-.B pppdump
-[
-.B -h
-|
-.B -p
-[
-.B -d
-]] [
-.B -r
-] [
-.B -m \fImru
-] [
-.I file \fR...
-]
-.ti 12
-.SH DESCRIPTION
-The
-.B pppdump
-utility converts the files written using the \fIrecord\fR option of
-.B pppd
-into a human-readable format. If one or more filenames are specified,
-.B pppdump
-will read each in turn; otherwise it will read its standard input. In
-each case the result is written to standard output.
-.PP
-The options are as follows:
-.TP
-.B -h
-Prints the bytes sent and received in hexadecimal. If neither this
-option nor the \fB-p\fR option is specified, the bytes are printed as
-the characters themselves, with non-printing and non-ASCII characters
-printed as escape sequences.
-.TP
-.B -p
-Collects the bytes sent and received into PPP packets, interpreting
-the async HDLC framing and escape characters and checking the FCS
-(frame check sequence) of each packet. The packets are printed as hex
-values and as characters (non-printable characters are printed as
-`.').
-.TP
-.B -d
-With the \fB-p\fR option, this option causes
-.B pppdump
-to decompress packets which have been compressed with the BSD-Compress
-or Deflate methods.
-.TP
-.B -r
-Reverses the direction indicators, so that `sent' is printed for
-bytes or packets received, and `rcvd' is printed for bytes or packets
-sent.
-.TP
-.B -m \fImru
-Use \fImru\fR as the MRU (maximum receive unit) for both directions of
-the link when checking for over-length PPP packets (with the \fB-p\fR
-option).
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/pppdump/pppdump.c b/mdk-stage1/ppp/pppdump/pppdump.c
deleted file mode 100644
index a8e69d4bf..000000000
--- a/mdk-stage1/ppp/pppdump/pppdump.c
+++ /dev/null
@@ -1,502 +0,0 @@
-/*
- * pppdump - print out the contents of a record file generated by
- * pppd in readable form.
- *
- * Copyright (C) 1999 Paul Mackerras. All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms. The name of the author
- * may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#include <stdio.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/types.h>
-#include "ppp_defs.h"
-#include "ppp-comp.h"
-
-int hexmode;
-int pppmode;
-int reverse;
-int decompress;
-int mru = 1500;
-int abs_times;
-time_t start_time;
-int start_time_tenths;
-int tot_sent, tot_rcvd;
-
-extern int optind;
-extern char *optarg;
-
-main(ac, av)
- int ac;
- char **av;
-{
- int i;
- char *p;
- FILE *f;
-
- while ((i = getopt(ac, av, "hprdm:a")) != -1) {
- switch (i) {
- case 'h':
- hexmode = 1;
- break;
- case 'p':
- pppmode = 1;
- break;
- case 'r':
- reverse = 1;
- break;
- case 'd':
- decompress = 1;
- break;
- case 'm':
- mru = atoi(optarg);
- break;
- case 'a':
- abs_times = 1;
- break;
- default:
- fprintf(stderr, "Usage: %s [-h | -p[d]] [-r] [-m mru] [-a] [file ...]\n", av[0]);
- exit(1);
- }
- }
- if (optind >= ac)
- dumplog(stdin);
- else {
- for (i = optind; i < ac; ++i) {
- p = av[i];
- if ((f = fopen(p, "r")) == NULL) {
- perror(p);
- exit(1);
- }
- if (pppmode)
- dumpppp(f);
- else
- dumplog(f);
- fclose(f);
- }
- }
- exit(0);
-}
-
-dumplog(f)
- FILE *f;
-{
- int c, n, k, col;
- int nb, c2;
- unsigned char buf[16];
-
- while ((c = getc(f)) != EOF) {
- switch (c) {
- case 1:
- case 2:
- if (reverse)
- c = 3 - c;
- printf("%s %c", c==1? "sent": "rcvd", hexmode? ' ': '"');
- col = 6;
- n = getc(f);
- n = (n << 8) + getc(f);
- *(c==1? &tot_sent: &tot_rcvd) += n;
- nb = 0;
- for (; n > 0; --n) {
- c = getc(f);
- if (c == EOF) {
- printf("\nEOF\n");
- exit(0);
- }
- if (hexmode) {
- if (nb >= 16) {
- printf(" ");
- for (k = 0; k < nb; ++k) {
- c2 = buf[k];
- putchar((' ' <= c2 && c2 <= '~')? c2: '.');
- }
- printf("\n ");
- nb = 0;
- }
- buf[nb++] = c;
- printf(" %.2x", c);
- } else {
- k = (' ' <= c && c <= '~')? (c != '\\' && c != '"')? 1: 2: 3;
- if ((col += k) >= 78) {
- printf("\n ");
- col = 6 + k;
- }
- switch (k) {
- case 1:
- putchar(c);
- break;
- case 2:
- printf("\\%c", c);
- break;
- case 3:
- printf("\\%.2x", c);
- break;
- }
- }
- }
- if (hexmode) {
- for (k = nb; k < 16; ++k)
- printf(" ");
- printf(" ");
- for (k = 0; k < nb; ++k) {
- c2 = buf[k];
- putchar((' ' <= c2 && c2 <= '~')? c2: '.');
- }
- } else
- putchar('"');
- printf("\n");
- break;
- case 3:
- case 4:
- printf("end %s\n", c==3? "send": "recv");
- break;
- case 5:
- case 6:
- case 7:
- show_time(f, c);
- break;
- default:
- printf("?%.2x\n");
- }
- }
-}
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-struct pkt {
- int cnt;
- int esc;
- int flags;
- struct compressor *comp;
- void *state;
- unsigned char buf[8192];
-} spkt, rpkt;
-
-/* Values for flags */
-#define CCP_ISUP 1
-#define CCP_ERROR 2
-#define CCP_FATALERROR 4
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define CCP_DECOMP_RUN 8
-
-unsigned char dbuf[8192];
-
-dumpppp(f)
- FILE *f;
-{
- int c, n, k;
- int nb, nl, dn, proto, rv;
- char *dir, *q;
- unsigned char *p, *r, *endp;
- unsigned char *d;
- unsigned short fcs;
- struct pkt *pkt;
-
- spkt.cnt = rpkt.cnt = 0;
- spkt.esc = rpkt.esc = 0;
- while ((c = getc(f)) != EOF) {
- switch (c) {
- case 1:
- case 2:
- if (reverse)
- c = 3 - c;
- dir = c==1? "sent": "rcvd";
- pkt = c==1? &spkt: &rpkt;
- n = getc(f);
- n = (n << 8) + getc(f);
- *(c==1? &tot_sent: &tot_rcvd) += n;
- for (; n > 0; --n) {
- c = getc(f);
- switch (c) {
- case EOF:
- printf("\nEOF\n");
- if (spkt.cnt > 0)
- printf("[%d bytes in incomplete send packet]\n",
- spkt.cnt);
- if (rpkt.cnt > 0)
- printf("[%d bytes in incomplete recv packet]\n",
- rpkt.cnt);
- exit(0);
- case '~':
- if (pkt->cnt > 0) {
- q = dir;
- if (pkt->esc) {
- printf("%s aborted packet:\n ", dir);
- q = " ";
- }
- nb = pkt->cnt;
- p = pkt->buf;
- pkt->cnt = 0;
- pkt->esc = 0;
- if (nb <= 2) {
- printf("%s short packet [%d bytes]:", q, nb);
- for (k = 0; k < nb; ++k)
- printf(" %.2x", p[k]);
- printf("\n");
- break;
- }
- fcs = PPP_INITFCS;
- for (k = 0; k < nb; ++k)
- fcs = PPP_FCS(fcs, p[k]);
- fcs &= 0xFFFF;
- nb -= 2;
- endp = p + nb;
- r = p;
- if (r[0] == 0xff && r[1] == 3)
- r += 2;
- if ((r[0] & 1) == 0)
- ++r;
- ++r;
- if (endp - r > mru)
- printf(" ERROR: length (%d) > MRU (%d)\n",
- endp - r, mru);
- if (decompress && fcs == PPP_GOODFCS) {
- /* See if this is a CCP or compressed packet */
- d = dbuf;
- r = p;
- if (r[0] == 0xff && r[1] == 3) {
- *d++ = *r++;
- *d++ = *r++;
- }
- proto = r[0];
- if ((proto & 1) == 0)
- proto = (proto << 8) + r[1];
- if (proto == PPP_CCP) {
- handle_ccp(pkt, r + 2, endp - r - 2);
- } else if (proto == PPP_COMP) {
- if ((pkt->flags & CCP_ISUP)
- && (pkt->flags & CCP_DECOMP_RUN)
- && pkt->state
- && (pkt->flags & CCP_ERR) == 0) {
- rv = pkt->comp->decompress(pkt->state, r,
- endp - r, d, &dn);
- switch (rv) {
- case DECOMP_OK:
- p = dbuf;
- nb = d + dn - p;
- if ((d[0] & 1) == 0)
- --dn;
- --dn;
- if (dn > mru)
- printf(" ERROR: decompressed length (%d) > MRU (%d)\n", dn, mru);
- break;
- case DECOMP_ERROR:
- printf(" DECOMPRESSION ERROR\n");
- pkt->flags |= CCP_ERROR;
- break;
- case DECOMP_FATALERROR:
- printf(" FATAL DECOMPRESSION ERROR\n");
- pkt->flags |= CCP_FATALERROR;
- break;
- }
- }
- } else if (pkt->state
- && (pkt->flags & CCP_DECOMP_RUN)) {
- pkt->comp->incomp(pkt->state, r, endp - r);
- }
- }
- do {
- nl = nb < 16? nb: 16;
- printf("%s ", q);
- for (k = 0; k < nl; ++k)
- printf(" %.2x", p[k]);
- for (; k < 16; ++k)
- printf(" ");
- printf(" ");
- for (k = 0; k < nl; ++k) {
- c = p[k];
- putchar((' ' <= c && c <= '~')? c: '.');
- }
- printf("\n");
- q = " ";
- p += nl;
- nb -= nl;
- } while (nb > 0);
- if (fcs != PPP_GOODFCS)
- printf(" BAD FCS: (residue = %x)\n", fcs);
- }
- break;
- case '}':
- if (!pkt->esc) {
- pkt->esc = 1;
- break;
- }
- /* else fall through */
- default:
- if (pkt->esc) {
- c ^= 0x20;
- pkt->esc = 0;
- }
- pkt->buf[pkt->cnt++] = c;
- break;
- }
- }
- break;
- case 3:
- case 4:
- if (reverse)
- c = 7 - c;
- dir = c==3? "send": "recv";
- pkt = c==3? &spkt: &rpkt;
- printf("end %s", dir);
- if (pkt->cnt > 0)
- printf(" [%d bytes in incomplete packet]", pkt->cnt);
- printf("\n");
- break;
- case 5:
- case 6:
- case 7:
- show_time(f, c);
- break;
- default:
- printf("?%.2x\n");
- }
- }
-}
-
-extern struct compressor ppp_bsd_compress, ppp_deflate;
-
-struct compressor *compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
-#endif
- NULL
-};
-
-handle_ccp(cp, dp, len)
- struct pkt *cp;
- u_char *dp;
- int len;
-{
- int clen;
- struct compressor **comp;
-
- if (len < CCP_HDRLEN)
- return;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFACK:
- cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
- if (clen < CCP_HDRLEN + CCP_OPT_MINLEN
- || clen < CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN))
- break;
- dp += CCP_HDRLEN;
- clen -= CCP_HDRLEN;
- for (comp = compressors; *comp != NULL; ++comp) {
- if ((*comp)->compress_proto == dp[0]) {
- if (cp->state != NULL) {
- (*cp->comp->decomp_free)(cp->state);
- cp->state = NULL;
- }
- cp->comp = *comp;
- cp->state = (*comp)->decomp_alloc(dp, CCP_OPT_LENGTH(dp));
- cp->flags |= CCP_ISUP;
- if (cp->state != NULL
- && (*cp->comp->decomp_init)
- (cp->state, dp, clen, 0, 0, 8192, 1))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- break;
- }
- }
- break;
-
- case CCP_CONFNAK:
- case CCP_CONFREJ:
- cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (cp->state && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->comp->decomp_reset)(cp->state);
- cp->flags &= ~CCP_ERROR;
- }
- }
- break;
- }
-}
-
-show_time(f, c)
- FILE *f;
- int c;
-{
- time_t t;
- int n;
- struct tm *tm;
-
- if (c == 7) {
- t = getc(f);
- t = (t << 8) + getc(f);
- t = (t << 8) + getc(f);
- t = (t << 8) + getc(f);
- printf("start %s", ctime(&t));
- start_time = t;
- start_time_tenths = 0;
- tot_sent = tot_rcvd = 0;
- } else {
- n = getc(f);
- if (c == 5) {
- for (c = 3; c > 0; --c)
- n = (n << 8) + getc(f);
- }
- if (abs_times) {
- n += start_time_tenths;
- start_time += n / 10;
- start_time_tenths = n % 10;
- tm = localtime(&start_time);
- printf("time %.2d:%.2d:%.2d.%d", tm->tm_hour, tm->tm_min,
- tm->tm_sec, start_time_tenths);
- printf(" (sent %d, rcvd %d)\n", tot_sent, tot_rcvd);
- } else
- printf("time %.1fs\n", (double) n / 10);
- }
-}
diff --git a/mdk-stage1/ppp/pppdump/zlib.c b/mdk-stage1/ppp/pppdump/zlib.c
deleted file mode 100644
index 5b8372719..000000000
--- a/mdk-stage1/ppp/pppdump/zlib.c
+++ /dev/null
@@ -1,4614 +0,0 @@
-/*
- * This file is derived from various .h and .c files from the zlib-0.95
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets. See zlib.h for conditions of
- * distribution and use.
- *
- * Changes that have been made include:
- * - changed functions not used outside this file to "local"
- * - added minCompression parameter to deflateInit2
- * - added Z_PACKET_FLUSH (see zlib.h for details)
- * - added inflateIncomp
- *
- * $Id$
- */
-
-
-/*+++++*/
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* From: zutil.h,v 1.9 1995/05/03 17:27:12 jloup Exp */
-
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#ifdef STDC
-# include <string.h>
-#endif
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-#define FAR
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern char *z_errmsg[]; /* indexed by 1-zlib_error */
-
-#define ERR_RETURN(strm,err) return (strm->msg=z_errmsg[1-err], err)
-/* To be used only when the state is known to be valid */
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
- /* common constants */
-
-#define DEFLATED 8
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
- /* functions */
-
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# define zmemcpy memcpy
-# define zmemzero(dest, len) memset(dest, 0, len)
-#else
-# define zmemcpy(d, s, n) bcopy((s), (d), (n))
-# define zmemzero bzero
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG_ZLIB
-# include <stdio.h>
-# ifndef verbose
-# define verbose 0
-# endif
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) fprintf x
-# define Tracev(x) {if (verbose) fprintf x ;}
-# define Tracevv(x) {if (verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (*check_func) OF((uLong check, Bytef *buf, uInt len));
-
-/* voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size)); */
-/* void zcfree OF((voidpf opaque, voidpf ptr)); */
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr, size) \
- (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), (size))
-#define TRY_FREE(s, p, n) {if (p) ZFREE(s, p, n);}
-
-/* deflate.h -- internal compression state
- * Copyright (C) 1995 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-
-/*+++++*/
-/* From: deflate.h,v 1.5 1995/05/03 17:27:09 jloup Exp */
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-/* Data type */
-#define BINARY 0
-#define ASCII 1
-#define UNKNOWN 2
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FLUSH_STATE 124
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct deflate_state {
- z_stream *strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- uLong adler; /* adler32 of uncompressed data */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int minCompr; /* min size decrease for Z_FLUSH_NOSTORE */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- ulg compressed_len; /* total bit length of compressed file */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG_ZLIB
- ulg bits_sent; /* bit length of the compressed data */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
- uInt blocks_in_packet;
- /* Number of blocks produced since the last time Z_PACKET_FLUSH
- * was used.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-local void ct_init OF((deflate_state *s));
-local int ct_tally OF((deflate_state *s, int dist, int lc));
-local ulg ct_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int flush));
-local void ct_align OF((deflate_state *s));
-local void ct_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-local void ct_stored_type_only OF((deflate_state *s));
-
-
-/*+++++*/
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* From: deflate.c,v 1.8 1995/05/03 17:27:08 jloup Exp */
-
-local char zlib_copyright[] = " deflate Copyright 1995 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
-} config;
-
-local config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0}, /* store only */
-/* 1 */ {4, 4, 8, 4}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8},
-/* 3 */ {4, 6, 32, 32},
-
-/* 4 */ {4, 4, 16, 16}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32},
-/* 6 */ {8, 16, 128, 128},
-/* 7 */ {8, 32, 128, 256},
-/* 8 */ {32, 128, 258, 1024},
-/* 9 */ {32, 258, 258, 4096}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-/* ===========================================================================
- * Prototypes for local functions.
- */
-
-local void fill_window OF((deflate_state *s));
-local int deflate_fast OF((deflate_state *s, int flush));
-local int deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local int longest_match OF((deflate_state *s, IPos cur_match));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_stream *strm));
-local int read_buf OF((z_stream *strm, charf *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
-#endif
-
-#ifdef DEBUG_ZLIB
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (str))
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int deflateInit (strm, level)
- z_stream *strm;
- int level;
-{
- return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- 0, 0);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int deflateInit2 (strm, level, method, windowBits, memLevel,
- strategy, minCompression)
- z_stream *strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- int minCompression;
-{
- deflate_state *s;
- int noheader = 0;
-
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
-/* if (strm->zalloc == Z_NULL) strm->zalloc = zcalloc; */
-/* if (strm->zfree == Z_NULL) strm->zfree = zcfree; */
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != DEFLATED ||
- windowBits < 8 || windowBits > 15 || level < 1 || level > 9) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 2*sizeof(ush));
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = z_errmsg[1-Z_MEM_ERROR];
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = (ushf *) &(s->pending_buf[s->lit_bufsize]);
- s->l_buf = (uchf *) &(s->pending_buf[3*s->lit_bufsize]);
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 32 bits (worst case
- * is 15+15+13=33).
- */
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
- s->minCompr = minCompression;
- s->blocks_in_packet = 0;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int deflateReset (strm)
- z_stream *strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- s->adler = 1;
-
- ct_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible.
- */
-local void flush_pending(strm)
- z_stream *strm;
-{
- deflate_state *state = (deflate_state *) strm->state;
- unsigned len = state->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- if (strm->next_out != NULL) {
- zmemcpy(strm->next_out, state->pending_out, len);
- strm->next_out += len;
- }
- state->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- state->pending -= len;
- if (state->pending == 0) {
- state->pending_out = state->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int deflate (strm, flush)
- z_stream *strm;
- int flush;
-{
- deflate_state *state = (deflate_state *) strm->state;
-
- if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
-
- if (strm->next_in == Z_NULL && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- state->strm = strm; /* just in case */
-
- /* Write the zlib header */
- if (state->status == INIT_STATE) {
-
- uInt header = (DEFLATED + ((state->w_bits-8)<<4)) << 8;
- uInt level_flags = (state->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- header += 31 - (header % 31);
-
- state->status = BUSY_STATE;
- putShortMSB(state, header);
- }
-
- /* Flush as much pending output as possible */
- if (state->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) return Z_OK;
- }
-
- /* If we came back in here to get the last output from
- * a previous flush, we're done for now.
- */
- if (state->status == FLUSH_STATE) {
- state->status = BUSY_STATE;
- if (flush != Z_NO_FLUSH && flush != Z_FINISH)
- return Z_OK;
- }
-
- /* User must not provide more input after the first FINISH: */
- if (state->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || state->lookahead != 0 ||
- (flush == Z_FINISH && state->status != FINISH_STATE)) {
- int quit;
-
- if (flush == Z_FINISH) {
- state->status = FINISH_STATE;
- }
- if (state->level <= 3) {
- quit = deflate_fast(state, flush);
- } else {
- quit = deflate_slow(state, flush);
- }
- if (quit || strm->avail_out == 0)
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
-
- /* If a flush was requested, we have a little more to output now. */
- if (flush != Z_NO_FLUSH && flush != Z_FINISH
- && state->status != FINISH_STATE) {
- switch (flush) {
- case Z_PARTIAL_FLUSH:
- ct_align(state);
- break;
- case Z_PACKET_FLUSH:
- /* Output just the 3-bit `stored' block type value,
- but not a zero length. */
- ct_stored_type_only(state);
- break;
- default:
- ct_stored_block(state, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(state); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* We'll have to come back to get the rest of the output;
- * this ensures we don't output a second zero-length stored
- * block (or whatever).
- */
- state->status = FLUSH_STATE;
- return Z_OK;
- }
- }
-
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (state->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(state, (uInt)(state->adler >> 16));
- putShortMSB(state, (uInt)(state->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- state->noheader = -1; /* write the trailer only once! */
- return state->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int deflateEnd (strm)
- z_stream *strm;
-{
- deflate_state *state = (deflate_state *) strm->state;
-
- if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
-
- TRY_FREE(strm, state->window, state->w_size * 2 * sizeof(Byte));
- TRY_FREE(strm, state->prev, state->w_size * sizeof(Pos));
- TRY_FREE(strm, state->head, state->hash_size * sizeof(Pos));
- TRY_FREE(strm, state->pending_buf, state->lit_bufsize * 2 * sizeof(ush));
-
- ZFREE(strm, state, sizeof(deflate_state));
- strm->state = Z_NULL;
-
- return Z_OK;
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read.
- */
-local int read_buf(strm, buf, size)
- z_stream *strm;
- charf *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
- deflate_state *state = (deflate_state *) strm->state;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!state->noheader) {
- state->adler = adler32(state->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-local int longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= s->nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- return best_len;
-}
-#endif /* ASMV */
-
-#ifdef DEBUG_ZLIB
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (memcmp((charf *)s->window + match,
- (charf *)s->window + start, length) != EQUAL) {
- fprintf(stderr,
- " start %u, match %u, length %d\n",
- start, match, length);
- do { fprintf(stderr, "%c%c", s->window[match++],
- s->window[start++]); } while (--length != 0);
- z_error("invalid match");
- }
- if (verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- /* By the IN assertion, the window is not empty so we can't confuse
- * more == 0 with more == 64K on a 16 bit machine.
- */
- zmemcpy((charf *)s->window, (charf *)s->window+wsize,
- (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
-
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage):
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
-
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
- more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, flush) { \
- ct_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), (long)s->strstart - s->block_start, (flush)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, flush) { \
- FLUSH_BLOCK_ONLY(s, flush); \
- if (s->strm->avail_out == 0) return 1; \
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return true if
- * processing was terminated prematurely (no more input or output space).
- * This function does not perform lazy evaluationof matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local int deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- s->prev_length = MIN_MATCH-1;
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length > s->lookahead) s->match_length = s->lookahead;
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- bflush = ct_tally(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- bflush = ct_tally (s, 0, s->window[s->strstart]);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
- }
- FLUSH_BLOCK(s, flush);
- return 0; /* normal exit */
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local int deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- if (s->match_length > s->lookahead) s->match_length = s->lookahead;
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- bflush = ct_tally(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- if (ct_tally (s, 0, s->window[s->strstart-1])) {
- FLUSH_BLOCK_ONLY(s, Z_NO_FLUSH);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return 1;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- ct_tally (s, 0, s->window[s->strstart-1]);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush);
- return 0;
-}
-
-
-/*+++++*/
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* From: trees.c,v 1.5 1995/05/03 17:27:12 jloup Exp */
-
-#ifdef DEBUG_ZLIB
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- * To do: initialize at compile time to be completely reentrant. ???
- */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see ct_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-local uch dist_code[512];
-/* distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-local uch length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-struct static_tree_desc_s {
- ct_data *static_tree; /* static tree or NULL */
- intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void ct_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifndef DEBUG_ZLIB
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG_ZLIB */
-# define send_code(s, c, tree) \
- { if (verbose>1) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-#define d_code(dist) \
- ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. dist_code[256] and dist_code[257] are never
- * used.
- */
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG_ZLIB
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracev((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG_ZLIB */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG_ZLIB */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables.
- * To do: do this at compile time.
- */
-local void ct_static_init()
-{
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "ct_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "ct_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "ct_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse(n, 5);
- }
-}
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-local void ct_init(s)
- deflate_state *s;
-{
- if (static_dtree[0].Len == 0) {
- ct_static_init(); /* To do: at compile time */
- }
-
- s->compressed_len = 0L;
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG_ZLIB
- s->bits_sent = 0L;
-#endif
- s->blocks_in_packet = 0;
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- ct_data *stree = desc->stat_desc->static_tree;
- intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracec(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-local void ct_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
- s->compressed_len = (s->compressed_len + 3 + 7) & ~7L;
- s->compressed_len += (stored_len + 4) << 3;
-
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* Send just the `stored block' type code without any length bytes or data.
- */
-local void ct_stored_type_only(s)
- deflate_state *s;
-{
- send_bits(s, (STORED_BLOCK << 1), 3);
- bi_windup(s);
- s->compressed_len = (s->compressed_len + 3) & ~7L;
-}
-
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the EOB
- * code for the previous block was coded on 5 bits or less, inflate
- * may have only 5+3 bits of lookahead to decode this EOB.
- * (There are no problems if the previous block is stored or fixed.)
- */
-local void ct_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the EOB of the previous
- * block was thus its length plus what we have just sent.
- */
- if (s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
- s->compressed_len += 10L;
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file. This function
- * returns the total compressed length for the file so far.
- */
-local ulg ct_flush_block(s, buf, stored_len, flush)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int flush; /* Z_FINISH if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex; /* index of last bit length code of non zero freq */
- int eof = flush == Z_FINISH;
-
- ++s->blocks_in_packet;
-
- /* Check if the file is ascii or binary */
- if (s->data_type == UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes */
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- /* If compression failed and this is the first and last block,
- * and if the .zip file can be seeked (to rewrite the local header),
- * the whole file is transformed into a stored file:
- */
-#ifdef STORED_FILE_OK
-# ifdef FORCE_STORED_FILE
- if (eof && compressed_len == 0L) /* force stored file */
-# else
- if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable())
-# endif
- {
- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
- if (buf == (charf*)0) error ("block vanished");
-
- copy_block(buf, (unsigned)stored_len, 0); /* without header */
- s->compressed_len = stored_len << 3;
- s->method = STORED;
- } else
-#endif /* STORED_FILE_OK */
-
- /* For Z_PACKET_FLUSH, if we don't achieve the required minimum
- * compression, and this block contains all the data since the last
- * time we used Z_PACKET_FLUSH, then just omit this block completely
- * from the output.
- */
- if (flush == Z_PACKET_FLUSH && s->blocks_in_packet == 1
- && opt_lenb > stored_len - s->minCompr) {
- s->blocks_in_packet = 0;
- /* output nothing */
- } else
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0)
- /* 4: two words for the lengths */
-#endif
- {
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- ct_stored_block(s, buf, stored_len, eof);
- } else
-
-#ifdef FORCE_STATIC
- if (static_lenb >= 0) /* force static trees */
-#else
- if (static_lenb == opt_lenb)
-#endif
- {
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
- s->compressed_len += 3 + s->static_len;
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
- s->compressed_len += 3 + s->opt_len;
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- init_block(s);
-
- if (eof) {
- bi_windup(s);
- s->compressed_len += 7; /* align on byte boundary */
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-
- return s->compressed_len >> 3;
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-local int ct_tally (s, dist, lc)
- deflate_state *s;
- int dist; /* distance of matched string */
- int lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "ct_tally: bad match");
-
- s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
- /* Try to guess if it is profitable to stop the current block here */
- if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)s->strstart - s->block_start;
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? BINARY : ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG_ZLIB
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG_ZLIB
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG_ZLIB
- s->bits_sent += (ulg)len<<3;
-#endif
- while (len--) {
- put_byte(s, *buf++);
- }
-}
-
-
-/*+++++*/
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-local inflate_blocks_statef * inflate_blocks_new OF((
- z_stream *z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-local int inflate_blocks OF((
- inflate_blocks_statef *,
- z_stream *,
- int)); /* initial return code */
-
-local void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_stream *,
- uLongf *)); /* check value on output */
-
-local int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_stream *,
- uLongf *)); /* check value on output */
-
-local int inflate_addhistory OF((
- inflate_blocks_statef *,
- z_stream *));
-
-local int inflate_packet_flush OF((
- inflate_blocks_statef *));
-
-/*+++++*/
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- uInt Nalloc; /* number of these allocated here */
- Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit machines) */
- union {
- uInt Base; /* literal, length base, or distance base */
- inflate_huft *Next; /* pointer to next level of table */
- } more;
-};
-
-#ifdef DEBUG_ZLIB
- local uInt inflate_hufts;
-#endif
-
-local int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- z_stream *)); /* for zalloc, zfree functions */
-
-local int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_stream *)); /* for zalloc, zfree functions */
-
-local int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *)); /* distance tree result */
-
-local int inflate_trees_free OF((
- inflate_huft *, /* tables to free */
- z_stream *)); /* for zfree function */
-
-
-/*+++++*/
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-local inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_stream *));
-
-local int inflate_codes OF((
- inflate_blocks_statef *,
- z_stream *,
- int));
-
-local void inflate_codes_free OF((
- inflate_codes_statef *,
- z_stream *));
-
-
-/*+++++*/
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
- mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int inflateReset(z)
-z_stream *z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, &c);
- Trace((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int inflateEnd(z)
-z_stream *z;
-{
- uLong c;
-
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z, &c);
- ZFREE(z, z->state, sizeof(struct internal_state));
- z->state = Z_NULL;
- Trace((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int inflateInit2(z, w)
-z_stream *z;
-int w;
-{
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
-/* if (z->zalloc == Z_NULL) z->zalloc = zcalloc; */
-/* if (z->zfree == Z_NULL) z->zfree = zcfree; */
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, 1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Trace((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int inflateInit(z)
-z_stream *z;
-{
- return inflateInit2(z, DEF_WBITS);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int inflate(z, f)
-z_stream *z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->next_in == Z_NULL)
- return Z_STREAM_ERROR;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = "unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = "invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- if ((b = NEXTBYTE) & 0x20)
- {
- z->state->mode = BAD;
- z->msg = "invalid reserved bit";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = "incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib header ok\n"));
- z->state->mode = BLOCKS;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
- r = inflate_packet_flush(z->state->blocks);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r != Z_STREAM_END)
- return r;
- r = Z_OK;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = "incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Trace((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-
- empty:
- if (f != Z_PACKET_FLUSH)
- return r;
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_DATA_ERROR;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-
-int inflateIncomp(z)
-z_stream *z;
-{
- if (z->state->mode != BLOCKS)
- return Z_DATA_ERROR;
- return inflate_addhistory(z->state->blocks, z);
-}
-
-
-int inflateSync(z)
-z_stream *z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- if (*p == (Byte)(m < 2 ? 0 : 0xff))
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-#undef NEEDBYTE
-#undef NEXTBYTE
-
-/*+++++*/
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONEB, /* finished last block, done */
- BADB} /* got a data error--stuck here */
- mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- int nblens; /* # elements allocated at blens */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_huft *tl, *td; /* trees to free */
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=WAVAIL;}
-#define WRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* And'ing with mask[n] masks the lower n bits */
-local uInt inflate_mask[] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-/* copy as much as possible from the sliding window to the output area */
-local int inflate_flush OF((
- inflate_blocks_statef *,
- z_stream *,
- int));
-
-/*+++++*/
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-local int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_stream *));
-
-
-/*+++++*/
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-local void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_stream *z;
-uLongf *c;
-{
- if (s->checkfn != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
- if (s->mode == CODES)
- {
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- }
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(0L, Z_NULL, 0);
- Trace((stderr, "inflate: blocks reset\n"));
-}
-
-
-local inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_stream *z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s, sizeof(struct inflate_blocks_state));
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Trace((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, &s->check);
- return s;
-}
-
-
-local int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Trace((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Trace((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.tl = Z_NULL; /* don't try to free these */
- s->sub.decode.td = Z_NULL;
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Trace((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BADB;
- z->msg = "invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if (((~b) >> 16) != (b & 0xffff))
- {
- s->mode = BADB;
- z->msg = "invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : TYPE;
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BADB;
- z->msg = "too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if (t < 19)
- t = 19;
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.trees.nblens = t;
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, z);
- if (t != Z_OK)
- {
- r = t;
- if (r == Z_DATA_ERROR)
- s->mode = BADB;
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->word.what.Bits;
- c = h->more.Base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- s->mode = BADB;
- z->msg = "invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- inflate_trees_free(s->sub.trees.tb, z);
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td, z);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- s->mode = BADB;
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok\n"));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- inflate_trees_free(td, z);
- inflate_trees_free(tl, z);
- r = Z_MEM_ERROR;
- LEAVE
- }
- ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
- s->sub.decode.codes = c;
- s->sub.decode.tl = tl;
- s->sub.decode.td = td;
- }
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- inflate_trees_free(s->sub.decode.td, z);
- inflate_trees_free(s->sub.decode.tl, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONEB;
- case DONEB:
- r = Z_STREAM_END;
- LEAVE
- case BADB:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-local int inflate_blocks_free(s, z, c)
-inflate_blocks_statef *s;
-z_stream *z;
-uLongf *c;
-{
- inflate_blocks_reset(s, z, c);
- ZFREE(z, s->window, s->end - s->window);
- ZFREE(z, s, sizeof(struct inflate_blocks_state));
- Trace((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-/*
- * This subroutine adds the data at next_in/avail_in to the output history
- * without performing any output. The output buffer must be "caught up";
- * i.e. no pending output (hence s->read equals s->write), and the state must
- * be BLOCKS (i.e. we should be willing to see the start of a series of
- * BLOCKS). On exit, the output will also be caught up, and the checksum
- * will have been updated if need be.
- */
-local int inflate_addhistory(s, z)
-inflate_blocks_statef *s;
-z_stream *z;
-{
- uLong b; /* bit buffer */ /* NOT USED HERE */
- uInt k; /* bits in bit buffer */ /* NOT USED HERE */
- uInt t; /* temporary storage */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- if (s->read != s->write)
- return Z_STREAM_ERROR;
- if (s->mode != TYPE)
- return Z_DATA_ERROR;
-
- /* we're ready to rock */
- LOAD
- /* while there is input ready, copy to output buffer, moving
- * pointers as needed.
- */
- while (n) {
- t = n; /* how many to do */
- /* is there room until end of buffer? */
- if (t > m) t = m;
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, t);
- zmemcpy(q, p, t);
- q += t;
- p += t;
- n -= t;
- z->total_out += t;
- s->read = q; /* drag read pointer forward */
-/* WRAP */ /* expand WRAP macro by hand to handle s->read */
- if (q == s->end) {
- s->read = q = s->window;
- m = WAVAIL;
- }
- }
- UPDATE
- return Z_OK;
-}
-
-
-/*
- * At the end of a Deflate-compressed PPP packet, we expect to have seen
- * a `stored' block type value but not the (zero) length bytes.
- */
-local int inflate_packet_flush(s)
- inflate_blocks_statef *s;
-{
- if (s->mode != LENS)
- return Z_DATA_ERROR;
- s->mode = TYPE;
- return Z_OK;
-}
-
-
-/*+++++*/
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- uIntf *, /* list of base values for non-simple codes */
- uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- z_stream *)); /* for zalloc function */
-
-local voidpf falloc OF((
- voidpf, /* opaque pointer (not used) */
- uInt, /* number of items */
- uInt)); /* size of item */
-
-local void ffree OF((
- voidpf q, /* opaque pointer (not used) */
- voidpf p, /* what to free (not used) */
- uInt n)); /* number of bytes (not used) */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local uInt cplens[] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* actually lengths - 2; also see note #13 above about 258 */
-local uInt cplext[] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 192, 192}; /* 192==invalid */
-local uInt cpdist[] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local uInt cpdext[] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-#define N_MAX 288 /* maximum number of codes in any set */
-
-#ifdef DEBUG_ZLIB
- uInt inflate_hufts;
-#endif
-
-local int huft_build(b, n, s, d, e, t, m, zs)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= N_MAX) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-uIntf *d; /* list of base values for non-simple codes */
-uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-z_stream *zs; /* for zalloc function */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), Z_DATA_ERROR if the input is invalid (all zero length codes or an
- over-subscribed set of lengths), or Z_MEM_ERROR if not enough memory. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- uInt v[N_MAX]; /* values in order of bit length */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = (z = g - w) > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate and link in new table */
- if ((q = (inflate_huft *)ZALLOC
- (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
- {
- if (h)
- inflate_trees_free(u[0], zs);
- return Z_MEM_ERROR; /* not enough memory */
- }
- q->word.Nalloc = z + 1;
-#ifdef DEBUG_ZLIB
- inflate_hufts += z + 1;
-#endif
- *t = q + 1; /* link to list for huft_free() */
- *(t = &(q->next)) = Z_NULL;
- u[h] = ++q; /* table starts after link */
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- r.next = q; /* pointer to this table */
- j = i >> (w - l); /* (get around Turbo C bug) */
- u[h-1][j] = r; /* connect to last table */
- }
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)e[*p - s] + 16 + 64; /* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- while ((i & ((1 << w) - 1)) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-local int inflate_trees_bits(c, bb, tb, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-z_stream *z; /* for zfree function */
-{
- int r;
-
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR)
- {
- inflate_trees_free(*tb, z);
- z->msg = "incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- return r;
-}
-
-
-local int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_stream *z; /* for zfree function */
-{
- int r;
-
- /* build literal/length tree */
- if ((r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z)) != Z_OK)
- {
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed literal/length tree";
- else if (r == Z_BUF_ERROR)
- {
- inflate_trees_free(*tl, z);
- z->msg = "incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- return r;
- }
-
- /* build distance tree */
- if ((r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z)) != Z_OK)
- {
- if (r == Z_DATA_ERROR)
- z->msg = "oversubscribed literal/length tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- inflate_trees_free(*td, z);
- z->msg = "incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- inflate_trees_free(*tl, z);
- return r;
-#endif
- }
-
- /* done */
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-local int fixed_lock = 0;
-local int fixed_built = 0;
-#define FIXEDH 530 /* number of hufts used by fixed tables */
-local uInt fixed_left = FIXEDH;
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-
-
-local voidpf falloc(q, n, s)
-voidpf q; /* opaque pointer (not used) */
-uInt n; /* number of items */
-uInt s; /* size of item */
-{
- Assert(s == sizeof(inflate_huft) && n <= fixed_left,
- "inflate_trees falloc overflow");
- if (q) s++; /* to make some compilers happy */
- fixed_left -= n;
- return (voidpf)(fixed_mem + fixed_left);
-}
-
-
-local void ffree(q, p, n)
-voidpf q;
-voidpf p;
-uInt n;
-{
- Assert(0, "inflate_trees ffree called!");
- if (q) q = p; /* to make some compilers happy */
-}
-
-
-local int inflate_trees_fixed(bl, bd, tl, td)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-{
- /* build fixed tables if not built already--lock out other instances */
- while (++fixed_lock > 1)
- fixed_lock--;
- if (!fixed_built)
- {
- int k; /* temporary variable */
- unsigned c[288]; /* length list for huft_build */
- z_stream z; /* for falloc function */
-
- /* set up fake z_stream for memory routines */
- z.zalloc = falloc;
- z.zfree = ffree;
- z.opaque = Z_NULL;
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 7;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
-
- /* done */
- fixed_built = 1;
- }
- fixed_lock--;
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
-
-
-local int inflate_trees_free(t, z)
-inflate_huft *t; /* table to free */
-z_stream *z; /* for zfree function */
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
- list of the tables it made, with the links in a dummy first entry of
- each table. */
-{
- register inflate_huft *p, *q;
-
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- p = t;
- while (p != Z_NULL)
- {
- q = (--p)->next;
- ZFREE(z, p, p->word.Nalloc * sizeof(inflate_huft));
- p = q;
- }
- return Z_OK;
-}
-
-/*+++++*/
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
- mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-local inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl, *td;
-z_stream *z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-local int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- Bytef *f; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = "invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t->next;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = "invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
- f = (uInt)(q - s->window) < c->sub.copy.dist ?
- s->end - (c->sub.copy.dist - (q - s->window)) :
- q - c->sub.copy.dist;
-#else
- f = q - c->sub.copy.dist;
- if ((uInt)(q - s->window) < c->sub.copy.dist)
- f = s->end - (c->sub.copy.dist - (q - s->window));
-#endif
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*f++)
- if (f == s->end)
- f = s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-local void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_stream *z;
-{
- ZFREE(z, c, sizeof(struct inflate_codes_state));
- Tracev((stderr, "inflate: codes free\n"));
-}
-
-/*+++++*/
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* copy as much as possible from the sliding window to the output area */
-local int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_stream *z;
-int r;
-{
- uInt n;
- Bytef *p, *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- if (p != NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- if (p != NULL) {
- zmemcpy(p, q, n);
- p += n;
- }
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
-
-
-/*+++++*/
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define base more.Base
-#define next more.Next
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-local int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl, *td;
-inflate_blocks_statef *s;
-z_stream *z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- Bytef *r; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- if ((uInt)(q - s->window) >= d) /* offset before dest */
- { /* just copy */
- r = q - d;
- *q++ = *r++; c--; /* minimum count is three, */
- *q++ = *r++; c--; /* so unroll loop a little */
- }
- else /* else offset after destination */
- {
- e = d - (q - s->window); /* bytes from offset to end */
- r = s->end - e; /* pointer to offset */
- if (c > e) /* if source crosses, */
- {
- c -= e; /* copy to end of window */
- do {
- *q++ = *r++;
- } while (--e);
- r = s->window; /* copy rest from start of window */
- }
- }
- do { /* copy all or what's left */
- *q++ = *r++;
- } while (--c);
- break;
- }
- else if ((e & 64) == 0)
- e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
- else
- {
- z->msg = "invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = "invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
-
-
-/*+++++*/
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zutil.c,v 1.8 1995/05/03 17:27:12 jloup Exp */
-
-char *zlib_version = ZLIB_VERSION;
-
-char *z_errmsg[] = {
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-""};
-
-
-/*+++++*/
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: adler32.c,v 1.6 1995/05/03 17:27:08 jloup Exp */
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf) {s1 += *buf++; s2 += s1;}
-#define DO2(buf) DO1(buf); DO1(buf);
-#define DO4(buf) DO2(buf); DO2(buf);
-#define DO8(buf) DO4(buf); DO4(buf);
-#define DO16(buf) DO8(buf); DO8(buf);
-
-/* ========================================================================= */
-uLong adler32(adler, buf, len)
- uLong adler;
- Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- k -= 16;
- }
- if (k != 0) do {
- DO1(buf);
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
diff --git a/mdk-stage1/ppp/pppdump/zlib.h b/mdk-stage1/ppp/pppdump/zlib.h
deleted file mode 100644
index 9c7ac734d..000000000
--- a/mdk-stage1/ppp/pppdump/zlib.h
+++ /dev/null
@@ -1,631 +0,0 @@
-/* $Id$ */
-
-/*
- * This file is derived from zlib.h and zconf.h from the zlib-0.95
- * distribution by Jean-loup Gailly and Mark Adler, with some additions
- * by Paul Mackerras to aid in implementing Deflate compression and
- * decompression for PPP packets.
- */
-
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 0.95, Aug 16th, 1995.
-
- Copyright (C) 1995 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- gzip@prep.ai.mit.edu madler@alumni.caltech.edu
- */
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-/* #include "zconf.h" */ /* included directly here */
-
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* From: zconf.h,v 1.12 1995/05/03 17:27:12 jloup Exp */
-
-/*
- The library does not install any signal handler. It is recommended to
- add at least a handler for SIGSEGV when decompressing; the library checks
- the consistency of the input data whenever possible but may go nuts
- for some forms of corrupted input.
- */
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- * Compile with -DUNALIGNED_OK if it is OK to access shorts or ints
- * at addresses which are not a multiple of their size.
- * Under DOS, -DFAR=far or -DFAR=__far may be needed.
- */
-
-#ifndef STDC
-# if defined(MSDOS) || defined(__STDC__) || defined(__cplusplus)
-# define STDC
-# endif
-#endif
-
-#ifdef __MWERKS__ /* Metrowerks CodeWarrior declares fileno() in unix.h */
-# include <unix.h>
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- 1 << (windowBits+2) + 1 << (memLevel+9)
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-typedef unsigned char Byte; /* 8 bits */
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-typedef Byte FAR Bytef;
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-/* end of original zconf.h */
-
-#define ZLIB_VERSION "0.95P"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms may be added later and will have the same
- stream interface.
-
- For compression the application must provide the output buffer and
- may optionally provide the input buffer for optimization. For decompression,
- the application must provide the input buffer and may optionally provide
- the output buffer for optimization.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address, uInt nbytes));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidp opaque; /* private data object passed to zalloc and zfree */
-
- Byte data_type; /* best guess about the data type: ascii or binary */
-
-} z_stream;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_FULL_FLUSH 2
-#define Z_SYNC_FLUSH 3 /* experimental: partial_flush + byte align */
-#define Z_FINISH 4
-#define Z_PACKET_FLUSH 5
-/* See deflate() below for the usage of these constants */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-/* error codes for the compression/decompression functions */
-
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Used to set the data_type field */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-extern char *zlib_version;
-/* The application can compare zlib_version and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- */
-
- /* basic functions */
-
-extern int deflateInit OF((z_stream *strm, int level));
-/*
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 1 and 9:
- 1 gives best speed, 9 gives best compression. Z_DEFAULT_COMPRESSION requests
- a default compromise between speed and compression (currently equivalent
- to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level.
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-extern int deflate OF((z_stream *strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate().
-
- If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
- block is terminated and flushed to the output buffer so that the
- decompressor can get all input data available so far. For method 9, a future
- variant on method 8, the current block will be flushed but not terminated.
- If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
- special marker is output and the compression dictionary is discarded; this
- is useful to allow the decompressor to synchronize if one compressed block
- has been damaged (see inflateSync below). Flushing degrades compression and
- so should be used only when necessary. Using Z_FULL_FLUSH too often can
- seriously degrade the compression. If deflate returns with avail_out == 0,
- this function must be called again with the same value of the flush
- parameter and more output space (updated avail_out), until the flush is
- complete (deflate returns with non-zero avail_out).
-
- If the parameter flush is set to Z_PACKET_FLUSH, the compression
- block is terminated, and a zero-length stored block is output,
- omitting the length bytes (the effect of this is that the 3-bit type
- code 000 for a stored block is output, and the output is then
- byte-aligned). This is designed for use at the end of a PPP packet.
- In addition, if the current compression block contains all the data
- since the last Z_PACKET_FLUSH, it is never output as a stored block.
- If the current compression block output as a static or dynamic block
- would not be at least `minCompression' bytes smaller than the
- original data, then nothing is output for that block. (The type
- code for the zero-length stored block is still output, resulting in
- a single zero byte being output for the whole packet.)
- `MinCompression' is a parameter to deflateInit2, or 0 if deflateInit
- is used.
-
- If the parameter flush is set to Z_FINISH, all pending input is processed,
- all pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
-*/
-
-
-extern int deflateEnd OF((z_stream *strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent. In the error case, msg may be set
- but then points to a static string (which must not be deallocated).
-*/
-
-
-extern int inflateInit OF((z_stream *strm));
-/*
- Initializes the internal stream state for decompression. The fields
- zalloc and zfree must be initialized before by the caller. If zalloc and
- zfree are set to Z_NULL, inflateInit updates them to use default allocation
- functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory. msg is set to null if there is no error message.
- inflateInit does not perform any decompression: this will be done by
- inflate().
-*/
-
-
-extern int inflate OF((z_stream *strm, int flush));
-/*
- Performs one or both of the following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() always provides as much output as possible
- (until there is no more input data or no more space in the output buffer).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate().
-
- If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
- inflate flushes as much output as possible to the output buffer. The
- flushing behavior of inflate is not specified for values of the flush
- parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
- current implementation actually flushes as much output as possible
- anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
- has been consumed, it is expecting to see the length field of a stored
- block; if not, it returns Z_DATA_ERROR.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- inflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if the end of the
- compressed data has been reached and all uncompressed output has been
- produced, Z_DATA_ERROR if the input data was corrupted, Z_STREAM_ERROR if
- the stream structure was inconsistent (for example if next_in or next_out
- was NULL), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if no
- progress is possible or if there was not enough room in the output buffer
- when Z_FINISH is used. In the Z_DATA_ERROR case, the application may then
- call inflateSync to look for a good compression block. */
-
-
-extern int inflateEnd OF((z_stream *strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-extern int deflateInit2 OF((z_stream *strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy,
- int minCompression));
-/*
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc and zfree must be initialized before by the caller.
-
- The method parameter is the compression method. It must be 8 in this
- version of the library. (Method 9 will allow a 64K history buffer and
- partial block flushes.)
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library (the value 16 will be allowed for method 9). Larger
- values of this parameter result in better compression at the expense of
- memory usage. The default value is 15 if deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use
- the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data
- produced by a filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman
- encoding only (no string match). Filtered data consists mostly of small
- values with a somewhat random distribution. In this case, the
- compression algorithm is tuned to compress them better. The strategy
- parameter only affects the compression ratio but not the correctness of
- the compressed output even if it is not set appropriately.
-
- The minCompression parameter specifies the minimum reduction in size
- required for a compressed block to be output when Z_PACKET_FLUSH is
- used (see the description of deflate above).
-
- If next_in is not null, the library will use this buffer to hold also
- some history information; the buffer must either hold the entire input
- data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
- is null, the library will allocate its own history buffer (and leave next_in
- null). next_out need not be provided here but must be provided by the
- application for the next call of deflate().
-
- If the history buffer is provided by the application, next_in must
- must never be changed by the application since the compressor maintains
- information inside this buffer from call to call; the application
- must provide more input only by increasing avail_in. next_in is always
- reset by the library in this case.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- an invalid method). msg is set to null if there is no error message.
- deflateInit2 does not perform any compression: this will be done by
- deflate().
-*/
-
-extern int deflateCopy OF((z_stream *dest,
- z_stream *source));
-/*
- Sets the destination stream as a complete copy of the source stream. If
- the source stream is using an application-supplied history buffer, a new
- buffer is allocated for the destination stream. The compressed output
- buffer is always application-supplied. It's the responsibility of the
- application to provide the correct values of next_out and avail_out for the
- next call of deflate.
-
- This function is useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-extern int deflateReset OF((z_stream *strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateInit2 OF((z_stream *strm,
- int windowBits));
-/*
- This is another version of inflateInit with more compression options. The
- fields next_out, zalloc and zfree must be initialized before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library (the value 16 will be allowed soon). The
- default value is 15 if inflateInit is used instead. If a compressed stream
- with a larger window size is given as input, inflate() will return with
- the error code Z_DATA_ERROR instead of trying to allocate a larger window.
-
- If next_out is not null, the library will use this buffer for the history
- buffer; the buffer must either be large enough to hold the entire output
- data, or have at least 1<<windowBits bytes. If next_out is null, the
- library will allocate its own buffer (and leave next_out null). next_in
- need not be provided here but must be provided by the application for the
- next call of inflate().
-
- If the history buffer is provided by the application, next_out must
- never be changed by the application since the decompressor maintains
- history information inside this buffer from call to call; the application
- can only reset next_out to the beginning of the history buffer when
- avail_out is zero and all output has been consumed.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
- not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
- windowBits < 8). msg is set to null if there is no error message.
- inflateInit2 does not perform any decompression: this will be done by
- inflate().
-*/
-
-extern int inflateSync OF((z_stream *strm));
-/*
- Skips invalid compressed data until the special marker (see deflate()
- above) can be found, or until all available input is skipped. No output
- is provided.
-
- inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no marker has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-extern int inflateReset OF((z_stream *strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-extern int inflateIncomp OF((z_stream *strm));
-/*
- This function adds the data at next_in (avail_in bytes) to the output
- history without performing any output. There must be no pending output,
- and the decompressor must be expecting to see the start of a block.
- Calling this function is equivalent to decompressing a stored block
- containing the data at next_in (except that the data is not output).
-*/
-
- /* checksum functions */
-
-/*
- This function is not related to compression but is exported
- anyway because it might be useful in applications using the
- compression library.
-*/
-
-extern uLong adler32 OF((uLong adler, Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-#ifndef _Z_UTIL_H
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-#endif /* _ZLIB_H */
diff --git a/mdk-stage1/ppp/pppstats/Makefile.linux b/mdk-stage1/ppp/pppstats/Makefile.linux
deleted file mode 100644
index ef0764c5d..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.linux
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-PPPSTATSRCS = pppstats.c
-PPPSTATOBJS = pppstats.o
-
-#CC = gcc
-COPTS = -O
-COMPILE_FLAGS = -D_linux_ -I../include
-LIBS =
-
-INSTALL= install -o root -g daemon
-
-CFLAGS = $(COPTS) $(COMPILE_FLAGS)
-
-all: pppstats
-
-install: pppstats
- $(INSTALL) -s -c pppstats $(BINDIR)/pppstats
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
-
-pppstats: $(PPPSTATSRCS)
- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
-
-clean:
- rm -f pppstats *~ #* core
-
-depend:
- cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
-# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sol2 b/mdk-stage1/ppp/pppstats/Makefile.sol2
deleted file mode 100644
index a6544e61b..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.sol2
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# pppstats Makefile for SVR4 systems
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CFLAGS = -DSTREAMS -I../include $(COPTS)
-
-all: pppstats
-
-pppstats: pppstats.c
- $(CC) $(CFLAGS) -o pppstats pppstats.c
-
-install: pppstats
- $(INSTALL) -f $(BINDIR) pppstats
- $(INSTALL) -m 444 -f $(MANDIR)/man8 pppstats.8
-
-clean:
- rm -f pppstats *~ core
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sunos4 b/mdk-stage1/ppp/pppstats/Makefile.sunos4
deleted file mode 100644
index 2a036f28f..000000000
--- a/mdk-stage1/ppp/pppstats/Makefile.sunos4
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# pppstats makefile
-# $Id$
-#
-
-include ../sunos4/Makedefs
-
-PPPSTATSRCS = pppstats.c
-PPPSTATOBJS = pppstats.o
-
-COMPILE_FLAGS = -DSTREAMS -DSUNOS4
-LIBS =
-
-CFLAGS = -I../include $(COPTS) $(COMPILE_FLAGS)
-
-all: pppstats
-
-install: pppstats
- $(INSTALL) -c pppstats $(BINDIR)/pppstats
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
-
-pppstats: $(PPPSTATSRCS)
- $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
-
-clean:
- rm -f pppstats *~ #* core
-
-depend:
- cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
-# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.8 b/mdk-stage1/ppp/pppstats/pppstats.8
deleted file mode 100644
index 1ba8d5779..000000000
--- a/mdk-stage1/ppp/pppstats/pppstats.8
+++ /dev/null
@@ -1,217 +0,0 @@
-.\" @(#) $Id$
-.TH PPPSTATS 8 "26 June 1995"
-.SH NAME
-pppstats \- print PPP statistics
-.SH SYNOPSIS
-.B pppstats
-[
-.B -a
-] [
-.B -v
-] [
-.B -r
-] [
-.B -z
-] [
-.B -c
-.I <count>
-] [
-.B -w
-.I <secs>
-] [
-.I interface
-]
-.ti 12
-.SH DESCRIPTION
-The
-.B pppstats
-utility reports PPP-related statistics at regular intervals for the
-specified PPP interface. If the interface is unspecified, it will
-default to ppp0.
-The display is split horizontally
-into input and output sections containing columns of statistics
-describing the properties and volume of packets received and
-transmitted by the interface.
-.PP
-The options are as follows:
-.TP
-.B -a
-Display absolute values rather than deltas. With this option, all
-reports show statistics for the time since the link was initiated.
-Without this option, the second and subsequent reports show statistics
-for the time since the last report.
-.TP
-.B -c \fIcount
-Repeat the display
-.I count
-times. If this option is not specified, the default repeat count is 1
-if the
-.B -w
-option is not specified, otherwise infinity.
-.TP
-.B -r
-Display additional statistics summarizing the compression ratio
-achieved by the packet compression algorithm in use.
-.TP
-.B -v
-Display additional statistics relating to the performance of the Van
-Jacobson TCP header compression algorithm.
-.TP
-.B -w \fIwait
-Pause
-.I wait
-seconds between each display. If this option is not specified, the
-default interval is 5 seconds.
-.TP
-.B -z
-Instead of the standard display, show statistics indicating the
-performance of the packet compression algorithm in use.
-.PP
-The following fields are printed on the input side when the
-.B -z
-option is not used:
-.TP
-.B IN
-The total number of bytes received by this interface.
-.TP
-.B PACK
-The total number of packets received by this interface.
-.TP
-.B VJCOMP
-The number of header-compressed TCP packets received by this interface.
-.TP
-.B VJUNC
-The number of header-uncompressed TCP packets received by this
-interface. Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJERR
-The number of corrupted or bogus header-compressed TCP packets
-received by this interface. Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJTOSS
-The number of VJ header-compressed TCP packets dropped on reception by
-this interface because of preceding errors. Only reported when the
-.B -v
-option is specified.
-.TP
-.B NON-VJ
-The total number of non-TCP packets received by this interface. Only
-reported when the
-.B -v
-option is specified.
-.TP
-.B RATIO
-The compression ratio achieved for received packets by the
-packet compression scheme in use, defined as the uncompressed size
-divided by the compressed size.
-Only reported when the
-.B -r
-option is specified.
-.TP
-.B UBYTE
-The total number of bytes received, after decompression of compressed
-packets. Only reported when the
-.B -r
-option is specified.
-.PP
-The following fields are printed on the output side:
-.TP
-.B OUT
-The total number of bytes transmitted from this interface.
-.TP
-.B PACK
-The total number of packets transmitted from this interface.
-.TP
-.B VJCOMP
-The number of TCP packets transmitted from this interface with
-VJ-compressed TCP headers.
-.TP
-.B VJUNC
-The number of TCP packets transmitted from this interface with
-VJ-uncompressed TCP headers.
-Not reported when the
-.B -r
-option is specified.
-.TP
-.B NON-VJ
-The total number of non-TCP packets transmitted from this interface.
-Not reported when the
-.B -r
-option is specified.
-.TP
-.B VJSRCH
-The number of searches for the cached header entry for a VJ header
-compressed TCP packet. Only reported when the
-.B -v
-option is specified.
-.TP
-.B VJMISS
-The number of failed searches for the cached header entry for a
-VJ header compressed TCP packet. Only reported when the
-.B -v
-option is specified.
-.TP
-.B RATIO
-The compression ratio achieved for transmitted packets by the
-packet compression scheme in use, defined as the size
-before compression divided by the compressed size.
-Only reported when the
-.B -r
-option is specified.
-.TP
-.B UBYTE
-The total number of bytes to be transmitted, before packet compression
-is applied. Only reported when the
-.B -r
-option is specified.
-.PP
-When the
-.B -z
-option is specified,
-.Nm pppstats
-instead displays the following fields, relating to the packet
-compression algorithm currently in use. If packet compression is not
-in use, these fields will all display zeroes. The fields displayed on
-the input side are:
-.TP
-.B COMPRESSED BYTE
-The number of bytes of compressed packets received.
-.TP
-.B COMPRESSED PACK
-The number of compressed packets received.
-.TP
-.B INCOMPRESSIBLE BYTE
-The number of bytes of incompressible packets (that is, those which
-were transmitted in uncompressed form) received.
-.TP
-.B INCOMPRESSIBLE PACK
-The number of incompressible packets received.
-.TP
-.B COMP RATIO
-The recent compression ratio for incoming packets, defined as the
-uncompressed size divided by the compressed size (including both
-compressible and incompressible packets).
-.PP
-The fields displayed on the output side are:
-.TP
-.B COMPRESSED BYTE
-The number of bytes of compressed packets transmitted.
-.TP
-.B COMPRESSED PACK
-The number of compressed packets transmitted.
-.TP
-.B INCOMPRESSIBLE BYTE
-The number of bytes of incompressible packets transmitted (that is,
-those which were transmitted in uncompressed form).
-.TP
-.B INCOMPRESSIBLE PACK
-The number of incompressible packets transmitted.
-.TP
-.B COMP RATIO
-The recent compression ratio for outgoing packets.
-.SH SEE ALSO
-pppd(8)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.c b/mdk-stage1/ppp/pppstats/pppstats.c
deleted file mode 100644
index 77b803723..000000000
--- a/mdk-stage1/ppp/pppstats/pppstats.c
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- * print PPP statistics:
- * pppstats [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]
- *
- * -a Show absolute values rather than deltas
- * -d Show data rate (kB/s) rather than bytes
- * -v Show more stats for VJ TCP header compression
- * -r Show compression ratio
- * -z Show compression statistics instead of default display
- *
- * History:
- * perkins@cps.msu.edu: Added compression statistics and alternate
- * display. 11/94
- * Brad Parker (brad@cayman.com) 6/92
- *
- * from the original "slstats" by Van Jacobson
- *
- * Copyright (c) 1989 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef __STDC__
-#define const
-#endif
-
-#ifndef lint
-static const char rcsid[] = "$Id$";
-#endif
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-
-#ifndef STREAMS
-#if defined(_linux_) && defined(__powerpc__) \
- && (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-/* kludge alert! */
-#undef __GLIBC__
-#endif
-#include <sys/socket.h> /* *BSD, Linux, NeXT, Ultrix etc. */
-#ifndef _linux_
-#include <net/if.h>
-#include <net/ppp_defs.h>
-#include <net/if_ppp.h>
-#else
-/* Linux */
-#if __GLIBC__ >= 2
-#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
-#include <net/if.h>
-#else
-#include <linux/types.h>
-#include <linux/if.h>
-#endif
-#include <linux/ppp_defs.h>
-#include <linux/if_ppp.h>
-#endif /* _linux_ */
-
-#else /* STREAMS */
-#include <sys/stropts.h> /* SVR4, Solaris 2, SunOS 4, OSF/1, etc. */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-
-#endif /* STREAMS */
-
-int vflag, rflag, zflag; /* select type of display */
-int aflag; /* print absolute values, not deltas */
-int dflag; /* print data rates, not bytes */
-int interval, count;
-int infinite;
-int unit;
-int s; /* socket or /dev/ppp file descriptor */
-int signalled; /* set if alarm goes off "early" */
-char *progname;
-char *interface;
-
-#if defined(SUNOS4) || defined(ULTRIX) || defined(NeXT)
-extern int optind;
-extern char *optarg;
-#endif
-
-/*
- * If PPP_DRV_NAME is not defined, use the legacy "ppp" as the
- * device name.
- */
-#if !defined(PPP_DRV_NAME)
-#define PPP_DRV_NAME "ppp"
-#endif /* !defined(PPP_DRV_NAME) */
-
-static void usage __P((void));
-static void catchalarm __P((int));
-static void get_ppp_stats __P((struct ppp_stats *));
-static void get_ppp_cstats __P((struct ppp_comp_stats *));
-static void intpr __P((void));
-
-int main __P((int, char *argv[]));
-
-static void
-usage()
-{
- fprintf(stderr, "Usage: %s [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]\n",
- progname);
- exit(1);
-}
-
-/*
- * Called if an interval expires before intpr has completed a loop.
- * Sets a flag to not wait for the alarm.
- */
-static void
-catchalarm(arg)
- int arg;
-{
- signalled = 1;
-}
-
-
-#ifndef STREAMS
-static void
-get_ppp_stats(curp)
- struct ppp_stats *curp;
-{
- struct ifpppstatsreq req;
-
- memset (&req, 0, sizeof (req));
-
-#ifdef _linux_
- req.stats_ptr = (caddr_t) &req.stats;
-#undef ifr_name
-#define ifr_name ifr__name
-#endif
-
- strncpy(req.ifr_name, interface, sizeof(req.ifr_name));
- if (ioctl(s, SIOCGPPPSTATS, &req) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY)
- fprintf(stderr, "kernel support missing\n");
- else
- perror("couldn't get PPP statistics");
- exit(1);
- }
- *curp = req.stats;
-}
-
-static void
-get_ppp_cstats(csp)
- struct ppp_comp_stats *csp;
-{
- struct ifpppcstatsreq creq;
-
- memset (&creq, 0, sizeof (creq));
-
-#ifdef _linux_
- creq.stats_ptr = (caddr_t) &creq.stats;
-#undef ifr_name
-#define ifr_name ifr__name
-#endif
-
- strncpy(creq.ifr_name, interface, sizeof(creq.ifr_name));
- if (ioctl(s, SIOCGPPPCSTATS, &creq) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY) {
- fprintf(stderr, "no kernel compression support\n");
- if (zflag)
- exit(1);
- rflag = 0;
- } else {
- perror("couldn't get PPP compression stats");
- exit(1);
- }
- }
-
-#ifdef _linux_
- if (creq.stats.c.bytes_out == 0) {
- creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes;
- creq.stats.c.in_count = creq.stats.c.unc_bytes;
- }
- if (creq.stats.c.bytes_out == 0)
- creq.stats.c.ratio = 0.0;
- else
- creq.stats.c.ratio = 256.0 * creq.stats.c.in_count /
- creq.stats.c.bytes_out;
-
- if (creq.stats.d.bytes_out == 0) {
- creq.stats.d.bytes_out = creq.stats.d.comp_bytes + creq.stats.d.inc_bytes;
- creq.stats.d.in_count = creq.stats.d.unc_bytes;
- }
- if (creq.stats.d.bytes_out == 0)
- creq.stats.d.ratio = 0.0;
- else
- creq.stats.d.ratio = 256.0 * creq.stats.d.in_count /
- creq.stats.d.bytes_out;
-#endif
-
- *csp = creq.stats;
-}
-
-#else /* STREAMS */
-
-int
-strioctl(fd, cmd, ptr, ilen, olen)
- int fd, cmd, ilen, olen;
- char *ptr;
-{
- struct strioctl str;
-
- str.ic_cmd = cmd;
- str.ic_timout = 0;
- str.ic_len = ilen;
- str.ic_dp = ptr;
- if (ioctl(fd, I_STR, &str) == -1)
- return -1;
- if (str.ic_len != olen)
- fprintf(stderr, "strioctl: expected %d bytes, got %d for cmd %x\n",
- olen, str.ic_len, cmd);
- return 0;
-}
-
-static void
-get_ppp_stats(curp)
- struct ppp_stats *curp;
-{
- if (strioctl(s, PPPIO_GETSTAT, curp, 0, sizeof(*curp)) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == EINVAL)
- fprintf(stderr, "kernel support missing\n");
- else
- perror("couldn't get PPP statistics");
- exit(1);
- }
-}
-
-static void
-get_ppp_cstats(csp)
- struct ppp_comp_stats *csp;
-{
- if (strioctl(s, PPPIO_GETCSTAT, csp, 0, sizeof(*csp)) < 0) {
- fprintf(stderr, "%s: ", progname);
- if (errno == ENOTTY) {
- fprintf(stderr, "no kernel compression support\n");
- if (zflag)
- exit(1);
- rflag = 0;
- } else {
- perror("couldn't get PPP compression statistics");
- exit(1);
- }
- }
-}
-
-#endif /* STREAMS */
-
-#define MAX0(a) ((int)(a) > 0? (a): 0)
-#define V(offset) MAX0(cur.offset - old.offset)
-#define W(offset) MAX0(ccs.offset - ocs.offset)
-
-#define RATIO(c, i, u) ((c) == 0? 1.0: (u) / ((double)(c) + (i)))
-#define CRATE(x) RATIO(W(x.comp_bytes), W(x.inc_bytes), W(x.unc_bytes))
-
-#define KBPS(n) ((n) / (interval * 1000.0))
-
-/*
- * Print a running summary of interface statistics.
- * Repeat display every interval seconds, showing statistics
- * collected over that interval. Assumes that interval is non-zero.
- * First line printed is cumulative.
- */
-static void
-intpr()
-{
- register int line = 0;
- sigset_t oldmask, mask;
- char *bunit;
- int ratef = 0;
- struct ppp_stats cur, old;
- struct ppp_comp_stats ccs, ocs;
-
- memset(&old, 0, sizeof(old));
- memset(&ocs, 0, sizeof(ocs));
-
- while (1) {
- get_ppp_stats(&cur);
- if (zflag || rflag)
- get_ppp_cstats(&ccs);
-
- (void)signal(SIGALRM, catchalarm);
- signalled = 0;
- (void)alarm(interval);
-
- if ((line % 20) == 0) {
- if (zflag) {
- printf("IN: COMPRESSED INCOMPRESSIBLE COMP | ");
- printf("OUT: COMPRESSED INCOMPRESSIBLE COMP\n");
- bunit = dflag? "KB/S": "BYTE";
- printf(" %s PACK %s PACK RATIO | ", bunit, bunit);
- printf(" %s PACK %s PACK RATIO", bunit, bunit);
- } else {
- printf("%8.8s %6.6s %6.6s",
- "IN", "PACK", "VJCOMP");
-
- if (!rflag)
- printf(" %6.6s %6.6s", "VJUNC", "VJERR");
- if (vflag)
- printf(" %6.6s %6.6s", "VJTOSS", "NON-VJ");
- if (rflag)
- printf(" %6.6s %6.6s", "RATIO", "UBYTE");
- printf(" | %8.8s %6.6s %6.6s",
- "OUT", "PACK", "VJCOMP");
-
- if (!rflag)
- printf(" %6.6s %6.6s", "VJUNC", "NON-VJ");
- if (vflag)
- printf(" %6.6s %6.6s", "VJSRCH", "VJMISS");
- if (rflag)
- printf(" %6.6s %6.6s", "RATIO", "UBYTE");
- }
- putchar('\n');
- }
-
- if (zflag) {
- if (ratef) {
- printf("%8.3f %6u %8.3f %6u %6.2f",
- KBPS(W(d.comp_bytes)),
- W(d.comp_packets),
- KBPS(W(d.inc_bytes)),
- W(d.inc_packets),
- ccs.d.ratio / 256.0);
- printf(" | %8.3f %6u %8.3f %6u %6.2f",
- KBPS(W(c.comp_bytes)),
- W(c.comp_packets),
- KBPS(W(c.inc_bytes)),
- W(c.inc_packets),
- ccs.c.ratio / 256.0);
- } else {
- printf("%8u %6u %8u %6u %6.2f",
- W(d.comp_bytes),
- W(d.comp_packets),
- W(d.inc_bytes),
- W(d.inc_packets),
- ccs.d.ratio / 256.0);
- printf(" | %8u %6u %8u %6u %6.2f",
- W(c.comp_bytes),
- W(c.comp_packets),
- W(c.inc_bytes),
- W(c.inc_packets),
- ccs.c.ratio / 256.0);
- }
-
- } else {
- if (ratef)
- printf("%8.3f", KBPS(V(p.ppp_ibytes)));
- else
- printf("%8u", V(p.ppp_ibytes));
- printf(" %6u %6u",
- V(p.ppp_ipackets),
- V(vj.vjs_compressedin));
- if (!rflag)
- printf(" %6u %6u",
- V(vj.vjs_uncompressedin),
- V(vj.vjs_errorin));
- if (vflag)
- printf(" %6u %6u",
- V(vj.vjs_tossed),
- V(p.ppp_ipackets) - V(vj.vjs_compressedin)
- - V(vj.vjs_uncompressedin) - V(vj.vjs_errorin));
- if (rflag) {
- printf(" %6.2f ", CRATE(d));
- if (ratef)
- printf("%6.2f", KBPS(W(d.unc_bytes)));
- else
- printf("%6u", W(d.unc_bytes));
- }
- if (ratef)
- printf(" | %8.3f", KBPS(V(p.ppp_obytes)));
- else
- printf(" | %8u", V(p.ppp_obytes));
- printf(" %6u %6u",
- V(p.ppp_opackets),
- V(vj.vjs_compressed));
- if (!rflag)
- printf(" %6u %6u",
- V(vj.vjs_packets) - V(vj.vjs_compressed),
- V(p.ppp_opackets) - V(vj.vjs_packets));
- if (vflag)
- printf(" %6u %6u",
- V(vj.vjs_searches),
- V(vj.vjs_misses));
- if (rflag) {
- printf(" %6.2f ", CRATE(c));
- if (ratef)
- printf("%6.2f", KBPS(W(c.unc_bytes)));
- else
- printf("%6u", W(c.unc_bytes));
- }
-
- }
-
- putchar('\n');
- fflush(stdout);
- line++;
-
- count--;
- if (!infinite && !count)
- break;
-
- sigemptyset(&mask);
- sigaddset(&mask, SIGALRM);
- sigprocmask(SIG_BLOCK, &mask, &oldmask);
- if (!signalled) {
- sigemptyset(&mask);
- sigsuspend(&mask);
- }
- sigprocmask(SIG_SETMASK, &oldmask, NULL);
- signalled = 0;
- (void)alarm(interval);
-
- if (!aflag) {
- old = cur;
- ocs = ccs;
- ratef = dflag;
- }
- }
-}
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- int c;
-#ifdef STREAMS
- char *dev;
-#endif
-
- interface = PPP_DRV_NAME "0";
- if ((progname = strrchr(argv[0], '/')) == NULL)
- progname = argv[0];
- else
- ++progname;
-
- while ((c = getopt(argc, argv, "advrzc:w:")) != -1) {
- switch (c) {
- case 'a':
- ++aflag;
- break;
- case 'd':
- ++dflag;
- break;
- case 'v':
- ++vflag;
- break;
- case 'r':
- ++rflag;
- break;
- case 'z':
- ++zflag;
- break;
- case 'c':
- count = atoi(optarg);
- if (count <= 0)
- usage();
- break;
- case 'w':
- interval = atoi(optarg);
- if (interval <= 0)
- usage();
- break;
- default:
- usage();
- }
- }
- argc -= optind;
- argv += optind;
-
- if (!interval && count)
- interval = 5;
- if (interval && !count)
- infinite = 1;
- if (!interval && !count)
- count = 1;
- if (aflag)
- dflag = 0;
-
- if (argc > 1)
- usage();
- if (argc > 0)
- interface = argv[0];
-
- if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
- fprintf(stderr, "%s: invalid interface '%s' specified\n",
- progname, interface);
- }
-
-#ifndef STREAMS
- {
- struct ifreq ifr;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- fprintf(stderr, "%s: ", progname);
- perror("couldn't create IP socket");
- exit(1);
- }
-
-#ifdef _linux_
-#undef ifr_name
-#define ifr_name ifr_ifrn.ifrn_name
-#endif
- strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
- if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) < 0) {
- fprintf(stderr, "%s: nonexistent interface '%s' specified\n",
- progname, interface);
- exit(1);
- }
- }
-
-#else /* STREAMS */
-#ifdef __osf__
- dev = "/dev/streams/ppp";
-#else
- dev = "/dev/" PPP_DRV_NAME;
-#endif
- if ((s = open(dev, O_RDONLY)) < 0) {
- fprintf(stderr, "%s: couldn't open ", progname);
- perror(dev);
- exit(1);
- }
- if (strioctl(s, PPPIO_ATTACH, &unit, sizeof(int), 0) < 0) {
- fprintf(stderr, "%s: ppp%d is not available\n", progname, unit);
- exit(1);
- }
-
-#endif /* STREAMS */
-
- intpr();
- exit(0);
-}
diff --git a/mdk-stage1/ppp/sample/auth-down b/mdk-stage1/ppp/sample/auth-down
deleted file mode 100644
index edde65db1..000000000
--- a/mdk-stage1/ppp/sample/auth-down
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# A program or script which is executed after the remote system
-# successfully authenticates itself. It is executed with the parameters
-# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-echo auth-down `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-
-# last line
diff --git a/mdk-stage1/ppp/sample/auth-up b/mdk-stage1/ppp/sample/auth-up
deleted file mode 100644
index 54722a3c0..000000000
--- a/mdk-stage1/ppp/sample/auth-up
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# A program or script which is executed after the remote system
-# successfully authenticates itself. It is executed with the parameters
-# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-echo auth-up `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-
-# last line
diff --git a/mdk-stage1/ppp/sample/ip-down b/mdk-stage1/ppp/sample/ip-down
deleted file mode 100644
index b771fb644..000000000
--- a/mdk-stage1/ppp/sample/ip-down
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-#
-# This script is run by the pppd _after_ the link is brought down.
-# It should be used to delete routes, unset IP addresses etc.
-#
-# This script is called with the following arguments:
-# Arg Name Example
-# $1 Interface name ppp0
-# $2 The tty ttyS1
-# $3 The link speed 38400
-# $4 Local IP number 12.34.56.78
-# $5 Peer IP number 12.34.56.99
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-# last line
diff --git a/mdk-stage1/ppp/sample/ip-up b/mdk-stage1/ppp/sample/ip-up
deleted file mode 100644
index 02bb71c44..000000000
--- a/mdk-stage1/ppp/sample/ip-up
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# This script is run by the pppd after the link is established.
-# It should be used to add routes, set IP address, run the mailq
-# etc.
-#
-# This script is called with the following arguments:
-# Arg Name Example
-# $1 Interface name ppp0
-# $2 The tty ttyS1
-# $3 The link speed 38400
-# $4 Local IP number 12.34.56.78
-# $5 Peer IP number 12.34.56.99
-#
-
-#
-# The environment is cleared before executing this script
-# so the path must be reset
-#
-PATH=/usr/sbin:/sbin:/usr/bin:/bin
-export PATH
-
-# last line
diff --git a/mdk-stage1/ppp/sample/options b/mdk-stage1/ppp/sample/options
deleted file mode 100644
index 8d0a3f963..000000000
--- a/mdk-stage1/ppp/sample/options
+++ /dev/null
@@ -1,153 +0,0 @@
-# /etc/ppp/options
-
-# The name of this server. Often, the FQDN is used here.
-#name <host>
-
-# Enforce the use of the hostname as the name of the local system for
-# authentication purposes (overrides the name option).
-usehostname
-
-# If no local IP address is given, pppd will use the first IP address
-# that belongs to the local hostname. If "noipdefault" is given, this
-# is disabled and the peer will have to supply an IP address.
-noipdefault
-
-# With this option, pppd will accept the peer's idea of our local IP
-# address, even if the local IP address was specified in an option.
-#ipcp-accept-local
-
-# With this option, pppd will accept the peer's idea of its (remote) IP
-# address, even if the remote IP address was specified in an option.
-#ipcp-accept-remote
-
-# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
-# Two Servers can be remotely configured
-#ms-dns 192.168.1.1
-#ms-dns 192.168.1.2
-
-# Specify which WINS Servers the incoming connection Win95 or WinNT should use
-#wins-addr 192.168.1.50
-#wins-addr 192.168.1.51
-
-# enable this on a server that already has a permanent default route
-#nodefaultroute
-
-# Run the executable or shell command specified after pppd has terminated
-# the link. This script could, for example, issue commands to the modem
-# to cause it to hang up if hardware modem control signals were not
-# available.
-# If mgetty is running, it will reset the modem anyway. So there is no need
-# to do it here.
-#disconnect "chat -- \d+++\d\c OK ath0 OK"
-
-# Increase debugging level (same as -d). The debug output is written
-# to syslog LOG_LOCAL2.
-debug
-
-# Enable debugging code in the kernel-level PPP driver. The argument n
-# is a number which is the sum of the following values: 1 to enable
-# general debug messages, 2 to request that the contents of received
-# packets be printed, and 4 to request that the contents of transmitted
-# packets be printed.
-#kdebug n
-
-# Require the peer to authenticate itself before allowing network
-# packets to be sent or received.
-# Please do not disable this setting. It is expected to be standard in
-# future releases of pppd. Use the call option (see manpage) to disable
-# authentication for specific peers.
-#auth
-
-# authentication can either be pap or chap. As most people only want to
-# use pap, you can also disable chap:
-#require-pap
-#refuse-chap
-
-# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
-# on the serial port.
-crtscts
-
-# Specifies that pppd should use a UUCP-style lock on the serial device
-# to ensure exclusive access to the device.
-lock
-
-# Use the modem control lines.
-modem
-
-# async character map -- 32-bit hex; each bit is a character
-# that needs to be escaped for pppd to receive it. 0x00000001
-# represents '\x01', and 0x80000000 represents '\x1f'.
-# To allow pppd to work over a rlogin/telnet connection, ou should escape
-# XON (^Q), XOFF (^S) and ^]: (The peer should use "escape ff".)
-#asyncmap 200a0000
-asyncmap 0
-
-# Specifies that certain characters should be escaped on transmission
-# (regardless of whether the peer requests them to be escaped with its
-# async control character map). The characters to be escaped are
-# specified as a list of hex numbers separated by commas. Note that
-# almost any character can be specified for the escape option, unlike
-# the asyncmap option which only allows control characters to be
-# specified. The characters which may not be escaped are those with hex
-# values 0x20 - 0x3f or 0x5e.
-#escape 11,13,ff
-
-# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
-# will ask the peer to send packets of no more than <n> bytes. The
-# minimum MRU value is 128. The default MRU value is 1500. A value of
-# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
-# bytes of data).
-#mru 542
-
-# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
-# requests a smaller value via MRU negotiation, pppd will request that
-# the kernel networking code send data packets of no more than n bytes
-# through the PPP network interface.
-#mtu <n>
-
-# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
-# notation (e.g. 255.255.255.0).
-#netmask 255.255.255.0
-
-# Don't fork to become a background process (otherwise pppd will do so
-# if a serial device is specified).
-nodetach
-
-# Set the assumed name of the remote system for authentication purposes
-# to <n>.
-#remotename <n>
-
-# Add an entry to this system's ARP [Address Resolution Protocol]
-# table with the IP address of the peer and the Ethernet address of this
-# system. {proxyarp,noproxyarp}
-proxyarp
-
-# Use the system password database for authenticating the peer using
-# PAP. Note: mgetty already provides this option. If this is specified
-# then dialin from users using a script under Linux to fire up ppp wont work.
-#login
-
-# If this option is given, pppd will send an LCP echo-request frame to
-# the peer every n seconds. Under Linux, the echo-request is sent when
-# no packets have been received from the peer for n seconds. Normally
-# the peer should respond to the echo-request by sending an echo-reply.
-# This option can be used with the lcp-echo-failure option to detect
-# that the peer is no longer connected.
-lcp-echo-interval 30
-
-# If this option is given, pppd will presume the peer to be dead if n
-# LCP echo-requests are sent without receiving a valid LCP echo-reply.
-# If this happens, pppd will terminate the connection. Use of this
-# option requires a non-zero value for the lcp-echo-interval parameter.
-# This option can be used to enable pppd to terminate after the physical
-# connection has been broken (e.g., the modem has hung up) in
-# situations where no hardware modem control lines are available.
-lcp-echo-failure 4
-
-# Specifies that pppd should disconnect if the link is idle for n seconds.
-idle 600
-
-# Disable the IPXCP and IPX protocols.
-noipx
-
-# ---<End of File>---
diff --git a/mdk-stage1/ppp/sample/options.ttyXX b/mdk-stage1/ppp/sample/options.ttyXX
deleted file mode 100644
index d4202f534..000000000
--- a/mdk-stage1/ppp/sample/options.ttyXX
+++ /dev/null
@@ -1,14 +0,0 @@
-# If you need to set up multiple serial lines then copy this file to
-# options.<ttyname> for each tty with a modem on it.
-#
-# The options.tty file will assign an IP address to each PPP connection
-# as it comes up. They must all be distinct!
-#
-# Example:
-# options.ttyS1 for com2 under DOS.
-#
-# Edit the following line so that the first IP address
-# mentioned is the ip address of the serial port while the second
-# is the IP address of your host
-#
-hostname-s1:hostname
diff --git a/mdk-stage1/ppp/sample/pap-secrets b/mdk-stage1/ppp/sample/pap-secrets
deleted file mode 100644
index 098971b9f..000000000
--- a/mdk-stage1/ppp/sample/pap-secrets
+++ /dev/null
@@ -1,28 +0,0 @@
-# Secrets for authentication using PAP
-# client server secret IP addresses
-
-# OUTBOUND CONNECTIONS
-# Here you should add your userid password to connect to your providers via
-# pap. The * means that the password is to be used for ANY host you connect
-# to. Thus you do not have to worry about the foreign machine name. Just
-# replace password with your password.
-# If you have different providers with different passwords then you better
-# remove the following line.
-#hostname * password
-
-# INBOUND CONNECTIONS
-#client hostname <password> 192.168.1.1
-
-# If you add "auth login -chap +pap" to /etc/mgetty+sendfax/login.config,
-# all users in /etc/passwd can use their password for pap-authentication.
-#
-# Every regular user can use PPP and has to use passwords from /etc/passwd
-#* hostname ""
-# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
-# other accounts that should not be able to use pppd! Replace hostname
-# with your local hostname.
-#guest hostname "*" -
-#master hostname "*" -
-#root hostname "*" -
-#support hostname "*" -
-#stats hostname "*" -
diff --git a/mdk-stage1/ppp/scripts/README b/mdk-stage1/ppp/scripts/README
deleted file mode 100644
index 00e032ca6..000000000
--- a/mdk-stage1/ppp/scripts/README
+++ /dev/null
@@ -1,143 +0,0 @@
-This directory contains a set of scripts which have been used on Linux
-as well as Solaris 2.x systems to initiate or maintain a connection
-with PPP. The files in this directory were contributed by Al Longyear
-(longyear@netcom.com) and Adi Masputra (adi.masputra@sun.com)
-
-------------------------------------------------------------------------
-
-1. README
-
-This file. You are reading it. It is just documentation.
-
-------------------------------------------------------------------------
-
-2. ppp-on
-
-This script will initiate a connection to the PPP system. It will run
-the chat program with the connection script as a parameter. This is a
-possible security hole. However, it is simple. It is meant to replace
-the previous version of ppp-on which was not very functional.
-
-The ppp-on script has entries for the account name, password, IP
-addresses, and telephone numbers. The parameters are passed to the
-pppd process and, then in turn, to the second part of the connect
-script, as a set of environment variables.
-
-Please make sure that you put the full path name to the ppp-on-dialer
-script in the reference to it in ppp-on.
-
-------------------------------------------------------------------------
-
-3. ppp-on-dialer
-
-This is the second part to the simple calling script, ppp-on. It
-executes the chat program to connect the user with a standard UNIX
-style getty/login connection sequence.
-
-------------------------------------------------------------------------
-
-4. callback
-
-This script may be used in lieu of the ppp-on-dialer to permit the
-common modem callback sequence. You may need to make changes to the
-expected prompt string for the modem.
-
-The script works by disabling the system's detection of the DCD
-condition and working on the modem status message "NO CARRIER" which
-is generated when the modem disconnects.
-
-It is crude. It does work for my modem connection. Use as you see fit.
-
-------------------------------------------------------------------------
-
-5. redialer
-
-The redialer script is a replacement for the ppp-on-dialer script. It
-will do 'attack dialing' or 'demon dialing' of one or more telephone
-numbers. The first number which responds will be used for a
-connection.
-
-There is a limit of ten attempts and a 15 second delay between dialing
-attempts. Both values are set in the script.
-
-------------------------------------------------------------------------
-
-6. ppp-off
-
-This is a script which will terminate the active ppp connection. Use
-as either "ppp-off" to terminate ppp0, or "ppp-off <device>" to
-terminate the connection on <device>. For example, "ppp-off ppp2" will
-terminate the ppp2 connection.
-
-------------------------------------------------------------------------
-
-7. secure-card
-
-This script was written by Jim Isaacson <jcisaac@crl.com>. It is a script
-for the 'expect' programming language used with Tcl. You need to have
-expect and Tcl installed before this script may be used.
-
-This script will operate with a device marketed under the name "SecureCARD".
-This little device is mated with its controller. On the credit card size
-device, there is a sequence number which changes on a random basis. In order
-for you to connect you need to enter a fixed portion of your account name
-and the number which is displayed on this card device. The number must match
-the value at the controller in order for the account name to be used.
-
-The problem is that chat uses fixed response strings. In addition, the
-timing for running the script may prevent the use of a script that reads the
-value before it starts the dial sequence. What was needed was a script which
-asked the user at the user's console at the time that it is needed.
-
-This led to the use of expect.
-
-------------------------------------------------------------------------
-
-8. ppp-on-rsh
-
-This script will initiate a PPP connection to a remote machine using rsh.
-This is implemented by creating a master/slave pseudo-tty with the slave
-pointing to rsh, specifically with the 'pty' and 'notty' options of pppd.
-It is assumed that the remote machine contains some sort of trust
-mechanisms (such as ~/.rhosts, et al) to allow the local machine to
-connect via rsh as root.
-
-------------------------------------------------------------------------
-
-9. ppp-on-ssh
-
-This script will initiate a PPP connection to a remote machine using the
-secure shell, or ssh. I've only tested this on ssh 1.x, so those of you
-who are running ssh 2.x mahy need to modify the ssh options slightly.
-This is implemented by creating a master/slave pseudo-ttyt with the slave
-pointing to ssh, specifically with the 'pty' and 'notty' options of pppd.
-It is assumed that the remote machine can accept the ssh connection from
-the local host, in the sense that all ssh authentication mechanisms have
-been properly configured, so that a remote root user can open a ssh
-connection.
-
-------------------------------------------------------------------------
-
-10. options-rsh-loc & options-rsh-rem
-
-These options files accompany the ppp-on-rsh script mentioned above. In
-theory, you'd want to copy the options-rsh-rem to the remote machine where
-in.rshd is running. The only extra option required on the remote machine
-options file is the 'notty' option. In addition, all ASCII control characters
-[0x00 to 0x1f], plus 0xff, are escaped. This may need to be modified
-depending on the rsh (or pseudo-tty) implementation which may differ across
-platforms, for further optimizations.
-
-------------------------------------------------------------------------
-
-11. options-ssh-loc & options-ssh-rem
-
-These options files accompany the ppp-on-ssh script mentioned above. I've
-only tested this on ssh 1.x, so those of you who are running ssh 2.x need
-to modify the ssh options slightly. In theory, you'd want to copy the
-options-ssh-rem to the remote machine where sshd daemon is running. The only
-extra options required on the remote machine options file is the 'notty'
-option. In addition, all ASCII control characters [0x00 to 0x1f], plus 0xff,
-are escaped. This may need to be modified depending on the ssh (or
-pseudo-tty) implementation which may differ across platforms, for further
-optimizations.
diff --git a/mdk-stage1/ppp/scripts/callback b/mdk-stage1/ppp/scripts/callback
deleted file mode 100755
index 3e74e10b2..000000000
--- a/mdk-stage1/ppp/scripts/callback
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-###################################################################
-#
-# Script to dial the remote system, negotiate the connection, and send
-# it the id. Then wait for the modem to disconnect. Reset the modem
-# to answer mode and wait for the system to call back.
-#
-# The telephone number and modempass are used when establishing the
-# connection to the modem.
-#
-PHONE=555-1212
-MODEMPASS=modem_identifier
-#
-# Once the modem calls back, the account name and password are used for
-# a UNIX style login operation.
-#
-ACCOUNT=my_account_name
-PASSWORD=my_password
-
-###################################################################
-#
-# Step 1. Dial the modem and negotiate the initial dialog.
-# note: the modem is configured to ignore loss of DCD at this point.
-# it is important that this be performed because the loss of DCD
-# will normally prevent system from working since 'modem' is used
-# for pppd.
-#
-# The script is terminated normally when the carrier is lost.
-#
-chat -v \
- TIMEOUT 3 \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' AT \
- 'OK-+++\c-OK' 'AT&C0&D2S0=0H0 \
- TIMEOUT 30 \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- assword: $MODEMPASS \
- "\nNO CARRIER\r"
-
-if [ "$?" = "0" ]; then
-
-###################################################################
-#
-# Step 2. Wait for the call back from the remote. This will wait for at most
-# 30 seconds for the call back should the first attempt fail or
-# something happen with the callback logic at the remote.
-#
-# note: when the callback occurs, the DCD setting is re-enabled.
-#
-# If some voice call should happen during this period, the system will
-# answer the telephone and then hang up on them. I realize that this is
-# rude, but there is little that this script can do.
-#
- chat -v \
- TIMEOUT 30 \
- ABORT '\nVOICE\r' \
- '\nRING\r' 'AT&C1A' \
- CONNECT '' \
- TIMEOUT 10 \
- ogin:--ogin: $ACCOUNT \
- TIMEOUT 45 \
- assword: $PASSWORD
-
- if [ "$?" = "0" ]; then
- exit 0
- fi
-fi
-
-###################################################################
-#
-# The script has failed. Terminate the connection mode.
-#
-chat -v TIMEOUT 3 "" AT 'OK-+++\c-OK' 'AT&C1&D2S0=0H0' OK
-exit 1
diff --git a/mdk-stage1/ppp/scripts/chat-callback b/mdk-stage1/ppp/scripts/chat-callback
deleted file mode 100644
index d014d6af3..000000000
--- a/mdk-stage1/ppp/scripts/chat-callback
+++ /dev/null
@@ -1,98 +0,0 @@
-# =====================================================================================
-# Chat script to dial our Company PPP account.
-# They uses a call-back system to identify us and to reverse
-# charge the call cost.
-# =====================================================================================
-#
-ECHO OFF
-# All the usual abort strings
-ABORT "NO CARRIER"
-ABORT "VOICE"
-ABORT "BUSY"
-ABORT "NO DIALTONE"
-ABORT "NO ANSWER"
-#
-# If calling outside allowed time we get this:
-#
-ABORT "Access denied"
-#
-# Modem initialisation stuff
-#
-TIMEOUT 5
-SAY "Initialising modem ...\n"
-'' ATE1
-'OK\r\n' ATS0=1S11=60X4&K4S42.1=1
-#
-# Now dial our ISP and wait for connection
-#
-SAY "Dialling our ISP ...\n"
-'OK\r\n' ATDT09834657
-TIMEOUT 60
-CONNECT \c
-SAY "Connected ...\n"
-#
-# This is the first stage login, we identify ourself so that the remote
-# system will agree to call us back.
-#
-TIMEOUT 30
-SAY "Sending Callback login ID ...\n"
-name:-BREAK-name: callme
-#
-# From now on, we must assume no carrier is normal as well
-# as receiving a HANGUP signal because it will be the
-# case if our ISP clears the call to call us back.
-#
-CLR_ABORT "NO CARRIER"
-HANGUP OFF
-#
-ABORT "Invalid"
-#
-# Now send password and wait to see what happens
-#
-SAY "Sending Callback password ...\n"
-word:--word: xvsgsgs
-"You will be" \c
-#
-# What can happen now is:
-# either: we get "You will be called back..." which is the successful case
-# or: we get "Invalid login" and we abort (bad login ID or password)
-# or: we get "NO CARRIER" because of an error, this will not abort
-# and we will time out after 30 seconds
-# or: we get nothing and we will time out after 30 seconds
-#
-#
-# We reach here if we got "You will be called back..."
-#
-CLR_ABORT "Invalid"
-SAY "Now waiting for Call back ...\n"
-#
-# The remote system will now hangup and we will get both "NO CARRIER"
-# and a hangup signal which are ignored. We now wait for a connection
-# for up to 120 seconds. What happens here if somebody else calls before
-# the remote system is a bit dangerous:
-#
-# If a malicious user connects and says 'name:', he will see 'PPPuser'
-# If he then says 'word:' he will see the passowrd 'blipblop'. I may not
-# know to which systems these belong to, though. It is up to you to consider
-# that case and decide wether the risk is too big or not ....
-#
-TIMEOUT 120
-"CONNECT" \c
-#
-# We have been called, re-arm ABORT on NO CARRIER and normal hangup signal
-# behaviour
-#
-HANGUP ON
-ABORT "NO CARRIER"
-#
-# Second stage login in order to start PPP
-#
-SAY "Remote system called back, logging in ...\n"
-SAY "Sending login ID ...\n"
-name:-BREAK-name: PPPuser
-SAY "Sending password ...\n"
-word:--word: blipblop
-SAY "Asking to start PPP ...\n"
-'CnetSrv' "ppp default"
-"Entering PPP mode" \c
-SAY "ISP PPP started ...\n"
diff --git a/mdk-stage1/ppp/scripts/chatchat/README b/mdk-stage1/ppp/scripts/chatchat/README
deleted file mode 100644
index 88a4c6939..000000000
--- a/mdk-stage1/ppp/scripts/chatchat/README
+++ /dev/null
@@ -1,134 +0,0 @@
-v 0.1 gpk@onramp.net 3/27/99
-
-I Intro
-
- This document covers the use of the modified "chat" program and its
-adjunct "chatchat" to login using the Security Dynamics SecurID card
-on a linux system.
-
- This set of files comprises a modified version of the chat program
-(the one distributed with ppp-2.3.5) and a new program called chatchat
-that allows you to supply data from the keyboard to the chat program.
-
- The SecurID card generates passwords that have a lifetime of one
-minute and are used as a first layer in dial up security. The only
-software I know of for this card is for windows, so I wrote my own.
-This software allows you to type in the time-sensitive password right
-when your chat script is asked to supply the passcode by the remote
-system.
-
-
-II How It Works
-
- This version of chat his an additional command that can be put into
-its options that says "Don't reply with this string. Open this pipe,
-read the contents, and reply with that instead." Chatchat creates a
-pipe and lets you type your passcode into it, then chat picks that up
-and sends it out just as though the passcode was hardcoded into the
-options.
-
-
-III Installation
-
- I've provided intel binaries and source code the the modified chat
-program and the chatchat program. I'll recommend that you copy the
-chat.c program into your ppp-2.3.5/chat directory (save your original
-chat.c program first!) and re-make it using the Makefile that comes
-with chat. Copy the new chat somewhere into your path. (On my system
-chat lives in /usr/sbin/chat, so I've copied the modified one into
-/usr/sbin/chat.new and changed my dial in script to call chat.new
-instead of chat.
-
- Second, compile chatchat.c and install it somewhere in your path:
-
- gcc -g -o chatchat chatchat.c
- cp chatchat /usr/sbin
-
- Third, modify your chat script to use the chatchat program. Mine
-looks something like this:
-
-
- --------------------
-
-#!/bin/sh
-#
-# This is part 2 of the ppp-on script. It will perform the connection
-# protocol for the desired connection.
-# use atm0 to turn down the speaker volume on my sportster x2 voice modem
-# gpk 11/2/97
-
-exec /usr/sbin/chat.new -V -v \
- ABORT "BUSY" \
- ABORT "NO DIAL TONE" \
- ABORT "NO ANSWER" \
- TIMEOUT 50 \
- "" "atm0" \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- name: \\da0xxxxxx \
- word: @/var/tmp/p \
- compress. ''
-
-
- -----------------------
-
- This is a standard chat script:
-
-* abort if the modem is busy, you don't get a dial tone, no one
- answers, or 50 seconds elapses.
-
-* use atm0 to mute the modem
-
-* dial the modem, when it connects, wait to be asked for account name
-
-* when we see "name:" prompt, delay briefly then respond with your
- account name (fill in your account name)
-
-Now we get to the new stuff:
-
-* when we see "word:" in the password prompt, instead of responding
- with "@/var/tmp/p", the modified chat program will open the pipe
- /var/tmp/p, read the passcode out of there, and send it
-
-* when we see "compress." (the last word before ppp starts), reply
- with nothing. The script ends and we start ppp.
-
-Note:
-
-* Make sure there is some whitespace between the filename and the \.
-
-
-IV Usage
-
- To use this install the modified chat and chatchat programs, and
-modify your chat script similar to the above. Before you dial in,
-start that chatchat program giving it the same pipe as in your config
-file. In the above case:
-
-chatchat /var/tmp/p
-
- Wait until you have one or two tick marks left on your card's
-current number, then start your dial up process that eventually calls
-chat. When chat goes to open and read the pipe, chatchat will prompt:
-
-
-type PIN into SecurID card and
- enter resulting passcode:
-
- At that point, type your PIN number into your Securid card, press
-the diamond, and type the resulting numbers in as your passcode. If
-you've left the -V -v options on your chat command you'll see
-everything so out, otherwise it works silently.
-
- If you type the number wrong or run out of time, the server will
-respond with an authentication failure. In that case you will have to
-hang up and start again. I don't know how to build a conditional script
-that says either expect "compress" next, but if you see "name:" again,
-do this instead.
-
-
-V Additional Information
-
- You can obtain additional information about chat and ppp from the
-man pages for chat and pppd, as well as the PPP-HOWTO.
-
diff --git a/mdk-stage1/ppp/scripts/chatchat/chatchat.c b/mdk-stage1/ppp/scripts/chatchat/chatchat.c
deleted file mode 100644
index 4534fb9e3..000000000
--- a/mdk-stage1/ppp/scripts/chatchat/chatchat.c
+++ /dev/null
@@ -1,409 +0,0 @@
-/* *************************************************************************
-* NAME: chatchat.c
-*
-* DESCRIPTION:
-*
-* This program creates a pipe for the chat process to read. The user
-* can supply information (like a password) that will be picked up
-* by chat and sent just like the regular contents of a chat script.
-*
-* Usage is:
-*
-* chatchat <filename>
-*
-* where <filename> matches the option given in the chat script.
-*
-* for instance the chat script fragment:
-*
-* ...
-* name: \\dmyname \
-* word: @/var/tmp/p \
-* ...
-* ^
-* (note: leave some whitespace after the filename)
-*
-* expect "name:", reply with a delay followed by "myname"
-* expect "word:", reply with the data read from the pipe /var/tmp/p
-*
-* the matching usage of chatchat would be:
-*
-* chatchat /var/tmp/p
-*
-* eg:
-*
-* $chatchat /var/tmp/p
-* ...
-* some other process eventually starts:
-* chat ...
-* chat parses the "@/var/tmp/p" option and opens
-* /var/tmp/p
-* (chatchat prompts:)
-*
-* type PIN into SecurID card
-* enter resulting passcode: [user inputs something]
-*
-* chat reads /var/tmp/p & gets what the
-* user typed at chatchat's "enter string" prompt
-* chat removes the pipe file
-* chat sends the user's input as a response in
-* place of "@/var/tmp/p"
-*
-* PROCESS:
-*
-* gcc -g -o chatchat chatchat.c
-*
-*
-* GLOBALS: none
-*
-* REFERENCES:
-*
-* see the man pages and documentation that come with the 'chat' program
-* (part of the ppp package). you will need to use the modified chat
-* program that accepts the '@' operator.
-*
-* LIMITATIONS:
-*
-* REVISION HISTORY:
-*
-* STR Description Author
-*
-* 23-Mar-99 initial coding gpk
-* 12-May-99 unlink the pipe after closing paulus
-*
-* TARGET: ANSI C
-* This program is in the public domain.
-*
-*
-* ************************************************************************* */
-
-
-
-
-#include <sys/time.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-
-/* MAXINPUT - the data typed into chatchat must be fewer */
-/* characters than this. */
-
-#define MAXINPUT 80
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: main
-
-
- USAGE:
-
- int argc;
- char * argv[];
-
- main(argc, argv[]);
-
- returns: int
-
- DESCRIPTION:
- if the pipe file name is given on the command line,
- create the pipe, prompt the user and put whatever
- is typed into the pipe.
-
- returns -1 on error
- else # characters entered
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
-
- ************************************************************************* */
-
-int main(int argc, char * argv[])
-{
- int retval;
-
- int create_and_write_pipe(char * pipename);
-
- if (argc != 2)
- {
- fprintf(stderr, "usage: %s pipename\n", argv[0]);
- retval = -1;
- }
- else
- {
- retval = create_and_write_pipe(argv[1]);
- }
- return (retval);
-}
-
-
-
-
-/* *************************************************************************
-
-
- NAME: create_and_write_pipe
-
-
- USAGE:
-
- int some_int;
- char * pipename;
-
- some_int = create_and_write_pipe(pipename);
-
- returns: int
-
- DESCRIPTION:
- given the pipename, create the pipe, open it,
- prompt the user for a string to put into the
- pipe, write the string, and close the pipe
-
- on error, print out an error message and return -1
-
- returns -1 on error
- else #bytes written into the pipe
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
- 12-May-99 remove pipe after closing paulus
-
- ************************************************************************* */
-
-int create_and_write_pipe(char * pipename)
-{
- int retval, created, pipefd, nread, nwritten;
- char input[MAXINPUT];
- char errstring[180];
-
- int create_pipe(char * pipename);
- int write_to_pipe(int pipefd, char * input, int nchar);
-
- created = create_pipe(pipename);
-
- if (-1 == created)
- {
- sprintf(errstring, "unable to create pipe '%s'", pipename);
- perror(errstring);
- retval = -1;
- }
- else
- {
-
- /* note: this open won't succeed until chat has the pipe */
- /* open and ready to read. this makes for nice timing. */
-
- pipefd = open(pipename, O_WRONLY);
-
- if (-1 == pipefd)
- {
- sprintf(errstring, "unable to open pipe '%s'", pipename);
- perror(errstring);
- retval = -1;
- }
- else
- {
- fprintf(stderr, "%s \n %s",
- "type PIN into SecurID card and",
- "enter resulting passcode:");
- nread = read(STDIN_FILENO, (void *)input, MAXINPUT);
-
-
- if (0 >= nread)
- {
- perror("unable to read from stdin");
- retval = -1;
- }
- else
- {
- /* munch off the newline character, chat supplies */
- /* a return when it sends the string out. */
- input[nread -1] = 0;
- nread--;
- nwritten = write_to_pipe(pipefd, input, nread);
- /* printf("wrote [%d]: '%s'\n", nwritten, input); */
- retval = nwritten;
- }
- close(pipefd);
-
- /* Now make the pipe go away. It won't actually go away
- completely until chat closes it. */
- if (unlink(pipename) < 0)
- perror("Warning: couldn't remove pipe");
- }
- }
- return(retval);
-}
-
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: create_pipe
-
-
- USAGE:
-
- int some_int;
- char * pipename;
-
- some_int = create_pipe(pipename);
-
- returns: int
-
- DESCRIPTION:
- create a pipe of the given name
-
- if there is an error (like the pipe already exists)
- print an error message and return
-
- return -1 on failure else success
-
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
-
- ************************************************************************* */
-
-int create_pipe(char * pipename)
-{
- mode_t old_umask;
- int created;
-
- /* hijack the umask temporarily to get the mode I want */
- /* on the pipe. */
-
- old_umask = umask(000);
-
- created = mknod(pipename, S_IFIFO | S_IRWXU | S_IWGRP | S_IWOTH,
- (dev_t)NULL);
-
- /* now restore umask. */
-
- (void)umask(old_umask);
-
- if (-1 == created)
- {
- perror("unable to create pipe");
- }
-
- return(created);
-}
-
-
-
-
-
-
-/* *************************************************************************
-
-
- NAME: write_to_pipe
-
-
- USAGE:
-
- int some_int;
- int pipefd;
- char * input;
- int nchar;
-
- some_int = write_to_pipe(pipefd, input, nchar);
-
- returns: int
-
- DESCRIPTION:
- write nchars of data from input to pipefd
-
- on error print a message to stderr
-
- return -1 on error, else # bytes written
- REFERENCES:
-
- LIMITATIONS:
-
- GLOBAL VARIABLES:
-
- accessed: none
-
- modified: none
-
- FUNCTIONS CALLED:
-
- REVISION HISTORY:
-
- STR Description of Revision Author
-
- 25-Mar-99 initial coding gpk
- 12-May-99 don't write count word first paulus
-
- ************************************************************************* */
-
-int write_to_pipe(int pipefd, char * input, int nchar)
-{
- int nwritten;
-
- /* nwritten = write(pipefd, (void *)&nchar, sizeof(nchar)); */
- nwritten = write(pipefd, (void *)input, nchar);
-
- if (-1 == nwritten)
- {
- perror("unable to write to pipe");
- }
-
- return(nwritten);
-}
diff --git a/mdk-stage1/ppp/scripts/ip-down.local.add b/mdk-stage1/ppp/scripts/ip-down.local.add
deleted file mode 100644
index b93590e49..000000000
--- a/mdk-stage1/ppp/scripts/ip-down.local.add
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# This sample code shows you one way to modify your setup to allow automatic
-# configuration of your resolv.conf for peer supplied DNS addresses when using
-# the `usepeerdns' option.
-#
-# In my case I just added this to my /etc/ppp/ip-down.local script. You may need to
-# create an executable script if one does not exist.
-#
-# Nick Walker (nickwalker@email.com)
-#
-
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
- if [ -f /etc/ppp/resolv.prev ]; then
- cp -f /etc/ppp/resolv.prev /etc/resolv.conf
- else
- rm -f /etc/resolv.conf
- fi
-fi
-
diff --git a/mdk-stage1/ppp/scripts/ip-up.local.add b/mdk-stage1/ppp/scripts/ip-up.local.add
deleted file mode 100644
index 80172093a..000000000
--- a/mdk-stage1/ppp/scripts/ip-up.local.add
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#
-# This sample code shows you one way to modify your setup to allow automatic
-# configuration of your resolv.conf for peer supplied DNS addresses when using
-# the `usepeerdns' option.
-#
-# In my case I just added this to my /etc/ppp/ip-up.local script. You may need to
-# create an executable script if one does not exist.
-#
-# Nick Walker (nickwalker@email.com)
-#
-
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
- rm -f /etc/ppp/resolv.prev
- if [ -f /etc/resolv.conf ]; then
- cp /etc/resolv.conf /etc/ppp/resolv.prev
- grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
- grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
- cat /etc/ppp/resolv.conf >> /etc/resolv.conf
- else
- cp /etc/ppp/resolv.conf /etc
- fi
-fi
-
diff --git a/mdk-stage1/ppp/scripts/options-rsh-loc b/mdk-stage1/ppp/scripts/options-rsh-loc
deleted file mode 100644
index b015b87fe..000000000
--- a/mdk-stage1/ppp/scripts/options-rsh-loc
+++ /dev/null
@@ -1 +0,0 @@
-debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-rsh-rem b/mdk-stage1/ppp/scripts/options-rsh-rem
deleted file mode 100644
index 4b10bb9e9..000000000
--- a/mdk-stage1/ppp/scripts/options-rsh-rem
+++ /dev/null
@@ -1 +0,0 @@
-notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-ssh-loc b/mdk-stage1/ppp/scripts/options-ssh-loc
deleted file mode 100644
index add03d659..000000000
--- a/mdk-stage1/ppp/scripts/options-ssh-loc
+++ /dev/null
@@ -1 +0,0 @@
-debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/options-ssh-rem b/mdk-stage1/ppp/scripts/options-ssh-rem
deleted file mode 100644
index d690722c6..000000000
--- a/mdk-stage1/ppp/scripts/options-ssh-rem
+++ /dev/null
@@ -1 +0,0 @@
-notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/ppp-off b/mdk-stage1/ppp/scripts/ppp-off
deleted file mode 100755
index a22b5ea3d..000000000
--- a/mdk-stage1/ppp/scripts/ppp-off
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-######################################################################
-#
-# Determine the device to be terminated.
-#
-if [ "$1" = "" ]; then
- DEVICE=ppp0
-else
- DEVICE=$1
-fi
-
-######################################################################
-#
-# If the ppp0 pid file is present then the program is running. Stop it.
-if [ -r /var/run/$DEVICE.pid ]; then
- kill -INT `cat /var/run/$DEVICE.pid`
-#
-# If the kill did not work then there is no process running for this
-# pid. It may also mean that the lock file will be left. You may wish
-# to delete the lock file at the same time.
- if [ ! "$?" = "0" ]; then
- rm -f /var/run/$DEVICE.pid
- echo "ERROR: Removed stale pid file"
- exit 1
- fi
-#
-# Success. Let pppd clean up its own junk.
- echo "PPP link to $DEVICE terminated."
- exit 0
-fi
-#
-# The ppp process is not running for ppp0
-echo "ERROR: PPP link is not active on $DEVICE"
-exit 1
diff --git a/mdk-stage1/ppp/scripts/ppp-on b/mdk-stage1/ppp/scripts/ppp-on
deleted file mode 100755
index ab79db471..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# Script to initiate a ppp connection. This is the first part of the
-# pair of scripts. This is not a secure pair of scripts as the codes
-# are visible with the 'ps' command. However, it is simple.
-#
-# These are the parameters. Change as needed.
-TELEPHONE=555-1212 # The telephone number for the connection
-ACCOUNT=george # The account name for logon (as in 'George Burns')
-PASSWORD=gracie # The password for this account (and 'Gracie Allen')
-LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
-REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
-NETMASK=255.255.255.0 # The proper netmask if needed
-#
-# Export them so that they will be available at 'ppp-on-dialer' time.
-export TELEPHONE ACCOUNT PASSWORD
-#
-# This is the location of the script which dials the phone and logs
-# in. Please use the absolute file name as the $PATH variable is not
-# used on the connect option. (To do so on a 'root' account would be
-# a security hole so don't ask.)
-#
-DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
-#
-# Initiate the connection
-#
-# I put most of the common options on this command. Please, don't
-# forget the 'lock' option or some programs such as mgetty will not
-# work. The asyncmap and escape will permit the PPP link to work with
-# a telnet or rlogin connection. You are welcome to make any changes
-# as desired. Don't use the 'defaultroute' option if you currently
-# have a default route to an ethernet gateway.
-#
-exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400 \
- asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
- noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
diff --git a/mdk-stage1/ppp/scripts/ppp-on-dialer b/mdk-stage1/ppp/scripts/ppp-on-dialer
deleted file mode 100755
index 7d66765f1..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-dialer
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# This is part 2 of the ppp-on script. It will perform the connection
-# protocol for the desired connection.
-#
-exec chat -v \
- TIMEOUT 3 \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' \rAT \
- 'OK-+++\c-OK' ATH0 \
- TIMEOUT 30 \
- OK ATDT$TELEPHONE \
- CONNECT '' \
- ogin:--ogin: $ACCOUNT \
- assword: $PASSWORD
diff --git a/mdk-stage1/ppp/scripts/ppp-on-rsh b/mdk-stage1/ppp/scripts/ppp-on-rsh
deleted file mode 100755
index 30a50dba6..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-rsh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-#
-# A sample script to establish PPP session(s) via rsh
-#
-# Adi Masputra <adi.masputra@sun.com>
-# Jan 24, 2000
-#
-
-#
-# You'd definitely want to change the following addresses to suit
-# your network configuration
-#
-LOC_IP=10.0.0.1
-REM_IP=10.0.0.2
-NETMASK=255.255.0.0
-
-export LOC_IP REM_IP
-
-#
-# This is the remote peer where in.rshd is running, either
-# its hostname or IP address
-#
-PPPD_RHOST=myremotehost
-
-#
-# For this example, we assume that pppd on both local and remote
-# machines reside in the same place, /usr/local/bin/pppd
-#
-PPPD_LOC=/usr/local/bin/pppd
-
-#
-# The location of local options file (where rsh client is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example. In
-# reality, you'd probably want to remove such option.
-#
-PPPD_LOC_OPT=/etc/ppp/options-rsh-loc
-
-#
-# The location of remote options file (where in.rshd daemon is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example. In
-# reality, you'd probably want to remove such option. Also note that
-# the remote options file need to include the 'notty' option for this
-# to work
-#
-PPPD_REM_OPT=/etc/ppp/options-rsh-rem
-
-#
-# The location of rsh client on the local machine
-#
-RSH_LOC=/bin/rsh
-
-export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST RSH_LOC
-
-#
-# Uncomment the following to enable IPv6, note that the IPv6 support
-# needs to be enabled during compilation
-#
-# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
-export PPPD_IPV6
-
-#
-# And execute pppd with the pty option, specifying rsh client as the
-# slave side of the pseduo-tty master/slave pair.
-#
-exec $PPPD_LOC \
- pty '$RSH_LOC $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
- $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
-
diff --git a/mdk-stage1/ppp/scripts/ppp-on-ssh b/mdk-stage1/ppp/scripts/ppp-on-ssh
deleted file mode 100755
index 0e41acac6..000000000
--- a/mdk-stage1/ppp/scripts/ppp-on-ssh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-#
-# A sample script to establish PPP session(s) via SSH 1.x
-#
-# Adi Masputra <adi.masputra@sun.com>
-# Jan 24, 2000
-#
-
-#
-# You'd definitely want to change the following addresses to suit
-# your network configuration
-#
-LOC_IP=10.0.0.1
-REM_IP=10.0.0.2
-NETMASK=255.255.0.0
-
-export LOC_IP REM_IP
-
-#
-# This is the remote peer where sshd is running, either
-# its hostname or IP address
-#
-PPPD_RHOST=myremotehost
-
-#
-# For this example, we assume that pppd on both local and remote
-# machines reside in the same place, /usr/local/bin/pppd
-#
-PPPD_LOC=/usr/local/bin/pppd
-
-#
-# The location of local options file (where ssh client is running).
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example, although
-# some may choose to have it there and rely on ssh authentication
-# instead.
-#
-PPPD_LOC_OPT=/etc/ppp/options-ssh-loc
-
-#
-# The location of remote options file (where sshd daemon is running)
-# Note that the sample options file included in the distribution
-# may need further customizations, depending on your needs. The 'noauth'
-# option specified in the file is there to simplify the example, although
-# some may choose to have it there and rely on ssh authentication
-# instead. Also note that the remote options file need to include the 'notty'
-# options for this to work.
-#
-PPPD_REM_OPT=/etc/ppp/options-ssh-rem
-
-#
-# The location of ssh client on the local machine
-#
-SSH_LOC=/usr/local/bin/ssh
-
-export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC
-
-#
-# Uncomment the following to enable IPv6, note that the IPv6 support
-# needs to be enabled during compilation
-#
-# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
-export PPPD_IPV6
-
-#
-# And execute pppd with the pty option, specifying ssh client as the
-# slave side of the pseudo-tty master/slave pair. Note that on this example,
-# ssh has been compiled to allow NULL encryption (thus the '-c none' option),
-# but in reality, you'd probably want to specify the encryption algorithm.
-# See the man page of ssh(1) for details.
-#
-exec $PPPD_LOC \
- pty '$SSH_LOC -c none $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
- $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
-
diff --git a/mdk-stage1/ppp/scripts/redialer b/mdk-stage1/ppp/scripts/redialer
deleted file mode 100755
index 5bbde4e9d..000000000
--- a/mdk-stage1/ppp/scripts/redialer
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-###################################################################
-#
-# These parameters control the attack dialing sequence.
-#
-# Maximum number of attempts to reach the telephone number(s)
-MAX_ATTEMPTS=10
-
-# Delay between each of the attempts. This is a parameter to sleep
-# so use "15s" for 15 seconds, "1m" for 1 minute, etc.
-SLEEP_DELAY=15s
-
-###################################################################
-#
-# This is a list of telephone numbers. Add new numbers if you wish
-# and see the function 'callall' below for the dial process.
-PHONE1=555-1212
-PHONE2=411
-
-###################################################################
-#
-# If you use the ppp-on script, then these are passed to this routine
-# automatically. There is no need to define them here. If not, then
-# you will need to set the values.
-#
-ACCOUNT=my_account_name
-PASSWORD=my_password
-
-###################################################################
-#
-# Function to initialize the modem and ensure that it is in command
-# state. This may not be needed, but it doesn't hurt.
-#
-function initialize
-{
- chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK'
- return
-}
-
-###################################################################
-#
-# Script to dial a telephone
-#
-function callnumber
-{
-chat -v \
- ABORT '\nBUSY\r' \
- ABORT '\nNO ANSWER\r' \
- ABORT '\nRINGING\r\n\r\nRINGING\r' \
- '' ATDT$1 \
- CONNECT '' \
- ogin:--ogin: $ACCOUNT \
- assword: $PASSWORD
-#
-# If the connection was successful then end the whole script with a
-# success.
-#
- if [ "$?" = "0" ]; then
- exit 0
- fi
-
- return
-}
-
-###################################################################
-#
-# Script to dial any telephone number
-#
-function callall
-{
-# echo "dialing attempt number: $1" >/dev/console
- callnumber $PHONE1
-# callnumber $PHONE2
-}
-
-###################################################################
-#
-# Initialize the modem to ensure that it is in the command state
-#
-initialize
-if [ ! "$?" = "0" ]; then
- exit 1
-fi
-
-#
-# Dial telephone numbers until one answers
-#
-attempt=0
-while : ; do
- attempt=`expr $attempt + 1`
- callall $attempt
- if [ "$attempt" = "$MAX_ATTEMPTS" ]; then
- exit 1
- fi
- sleep "$SLEEP_DELAY"
-done
diff --git a/mdk-stage1/ppp/scripts/secure-card b/mdk-stage1/ppp/scripts/secure-card
deleted file mode 100644
index a32138b7d..000000000
--- a/mdk-stage1/ppp/scripts/secure-card
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/local/bin/expect -f
-#
-# This script was written by Jim Isaacson <jcisaac@crl.com>. It is
-# designed to work as a script to use the SecureCARD(tm) device. This
-# little device is mated with a central controller. The number displayed
-# on this card changes every so often and you need to enter the number
-# along with your user account name in order to gain access. Since chat
-# is based upon fixed strings this procedure will not work with chat.
-#
-# It is included by permission. An excellent reference for the expect
-# program used by this script is in the book:
-#
-# "Exploring Expect"
-# by Don Libes
-# Published by O'Rielly and Associates
-#
-
-send_user "hello, starting ppp\n"
-
-system "stty 19200 -echoe -echo raw < /dev/cua3 > /dev/cua3"
-
-#
-# These are the parameters for the program.
-#
-set user Pxxxxxx
-set password xxxxxxx
-set modem /dev/cua3
-set dialup <put phone number here>
-set timeout 60
-
-spawn -noecho -open [open $modem "r+"]
-
-send "AT&F\r"
-expect "OK"
-
-send "ATe0v1x4&c1q0&d2&c1s2=128s0=0DT $dialup\r"
-set timeout 15
-set counter 0
-
-set still_connecting 1
-
-expect {
- -re ".*CONNECT.*\n" {
- set timeout 5
- set still_connecting 0
- continue -expect
- }
- -re ".*CONNECT.*\r" {
- set timeout 5
- set still_connecting 0
- continue -expect
- }
- -re ".*NO.*CARRIER" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*NO.*DIAL.*TONE" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*VOICE" {
- send_user "Failed to Connect, exiting...\n"
- exit
- }
- -re ".*sscode:.*\n" {
- continue -expect
- }
- -re ".*sscode:" {
- set timeout -1
- expect_user -re "(.*)\n"
- send "$expect_out(1,string)\r"
- set timeout 30
- continue -expect
- }
- -re ".*Next.*:" {
- set timeout -1
- expect_user -re "(.*)\n"
- send "$expect_out(1,string)\r"
- set timeout 30
- continue -expect
- }
- -re "Your.*" {
- send "\r"
- continue -expect
- }
- -re ".*in:" {
- send "$user\r"
- continue -expect
- }
- -re ".*word:" {
- send "$password\r"
- }
-
- timeout {
- if { $still_connecting > 0 } {
- continue -expect
- }
- set timeout 15
- send "\r"
- incr counter
- if { $counter > 8 } {
- send_user "Cannot Connect\n"
- exit
- } else {
- continue -expect
- }
- }
-}
-
-overlay -0 $spawn_id -1 $spawn_id pppd /dev/cua3 19200 192.111.187.215: \
- crtscts modem defaultroute debug
diff --git a/mdk-stage1/ppp/solaris/Makedefs b/mdk-stage1/ppp/solaris/Makedefs
deleted file mode 100644
index 81db8ab2e..000000000
--- a/mdk-stage1/ppp/solaris/Makedefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= /usr/sbin/install
-
-BINDIR = /usr/local/bin
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-COPTS = -O -Xa
-
-# For compiling with gcc, comment out the COPTS definition above and
-# uncomment the next 2 definitions.
-#CC = gcc
-#COPTS = -O2
diff --git a/mdk-stage1/ppp/solaris/Makedefs.sol2 b/mdk-stage1/ppp/solaris/Makedefs.sol2
deleted file mode 100644
index 1282c6e74..000000000
--- a/mdk-stage1/ppp/solaris/Makedefs.sol2
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Generic make definitions for Solaris 2
-#
-# $Id$
-#
-
-include ../solaris/Makedefs
-
-CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
-CFLAGS = $(CPPFLAGS) $(COPTS)
-
-# lint-specific variables
-LINT = lint
-LINT_OPT_32 =
-LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
-
-LINT_32 =
-LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
-LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
-LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
-LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
-LINT_32 += -erroff=E_FUNC_ARG_UNUSED
-# This might be needed, but zlib.c and vjcompress.c will squawk
-# when not ignored
-LINT_32 += -erroff=E_CASE_FALLTHRU
-LINT_32 += -erroff=E_RET_INT_IMPLICITLY
-LINT_32 += -erroff=E_FUNC_NO_RET_VAL
-# Some STREAMS macros will be noisy too when this isn't ignored
-LINT_32 += -erroff=E_CONSTANT_CONDITION
-LINT_32 += -erroff=E_CONST_EXPR
-
-# Extra noise suppressant for 64-bit
-EXTRA_OFF =
-EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
-EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
-EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
-EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
-EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
-EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
-
-LINT_64 = $(LINT_32)
-LINT_64 += $(EXTRA_OFF)
-
-LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
-LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
-
-LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
-LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
-
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2 b/mdk-stage1/ppp/solaris/Makefile.sol2
deleted file mode 100644
index 78628847b..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.sol2
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Makefile for STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-COPTS += -xO2 -xspace -W0,-Lt
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_mod.o
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o ppp_mod.o
- ld -r -o $@ ppp.o ppp_mod.o
- chmod +x $@
-
-ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
- ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
- chmod +x $@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $@ $(COMP_OBJS)
- chmod +x $@
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
- ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT32) $(SRCS)
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
- rm -f *.ln
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2-64 b/mdk-stage1/ppp/solaris/Makefile.sol2-64
deleted file mode 100644
index 63e75fc54..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.sol2-64
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Makefile for 64-bit STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-# Sun's cc flag for LP64 compilation / linkage
-COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
-
-# subdirectory where 64-bit objects / binaries will be placed
-LP64DIR = sparcv9
-
-# Name of legacy Makefile (for 32-bit binaries)
-STD_MAKE = Makefile.sol2
-
-COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
- $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
- $(LP64DIR)/ppp_comp_mod.o
-
-all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
-
-std_objs:
- $(MAKE) -f $(STD_MAKE) all
-
-ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
- chmod +x $(LP64DIR)/$@
-
-$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp.o: ppp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc.o: ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp.o: ppp_comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $? -o $@
-
-$(LP64DIR):
- mkdir -m 755 -p $@
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
- cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
- ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT64) $(SRCS)
-
-lint-32:
- $(LINT32) $(SRCS)
-
-clean:
- $(MAKE) -f $(STD_MAKE) clean
- rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/solaris/Makefile.top b/mdk-stage1/ppp/solaris/Makefile.top
deleted file mode 100644
index f1200b852..000000000
--- a/mdk-stage1/ppp/solaris/Makefile.top
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# ppp top level makefile for SVR4 and Solaris 2
-#
-# $Id$
-#
-
-include solaris/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd pppdump; $(MAKE) all
- cd solaris; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd solaris; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- cp etc.ppp/options $@
- chmod go-w $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
-
-$(BINDIR):
- mkdir -m 755 -p $@
-$(MANDIR)/man8:
- mkdir -m 755 -p $@
-$(ETCDIR):
- mkdir -m 755 -p $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
- cd solaris; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/solaris/ppp.c b/mdk-stage1/ppp/solaris/ppp.c
deleted file mode 100644
index 44bf08dff..000000000
--- a/mdk-stage1/ppp/solaris/ppp.c
+++ /dev/null
@@ -1,2486 +0,0 @@
-/*
- * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/errno.h>
-#ifdef __osf__
-#include <sys/ioctl.h>
-#include <sys/cmn_err.h>
-#define queclass(mp) ((mp)->b_band & QPCTL)
-#else
-#include <sys/ioccom.h>
-#endif
-#include <sys/time.h>
-#ifdef SVR4
-#include <sys/cmn_err.h>
-#include <sys/conf.h>
-#include <sys/dlpi.h>
-#include <sys/ddi.h>
-#ifdef SOL2
-#include <sys/ksynch.h>
-#include <sys/kstat.h>
-#include <sys/sunddi.h>
-#include <sys/ethernet.h>
-#else
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#endif /* SOL2 */
-#else /* not SVR4 */
-#include <sys/user.h>
-#endif /* SVR4 */
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Modifications marked with #ifdef PRIOQ are for priority queueing of
- * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
- */
-#ifdef PRIOQ
-#endif /* PRIOQ */
-
-#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-/*
- * The IP module may use this SAP value for IP packets.
- */
-#ifndef ETHERTYPE_IP
-#define ETHERTYPE_IP 0x800
-#endif
-
-#if !defined(ETHERTYPE_IPV6)
-#define ETHERTYPE_IPV6 0x86dd
-#endif /* !defined(ETHERTYPE_IPV6) */
-
-#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
-#define ETHERTYPE_ALLSAP 0
-#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
-
-#if !defined(PPP_ALLSAP) && defined(SOL2)
-#define PPP_ALLSAP PPP_ALLSTATIONS
-#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
-
-extern time_t time;
-
-#ifdef SOL2
-/*
- * We use this reader-writer lock to ensure that the lower streams
- * stay connected to the upper streams while the lower-side put and
- * service procedures are running. Essentially it is an existence
- * lock for the upper stream associated with each lower stream.
- */
-krwlock_t ppp_lower_lock;
-#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
-#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
-#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
-#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
-
-#define MT_ENTER(x) mutex_enter(x)
-#define MT_EXIT(x) mutex_exit(x)
-
-/*
- * Notes on multithreaded implementation for Solaris 2:
- *
- * We use an inner perimeter around each queue pair and an outer
- * perimeter around the whole driver. The inner perimeter is
- * entered exclusively for all entry points (open, close, put,
- * service). The outer perimeter is entered exclusively for open
- * and close and shared for put and service. This is all done for
- * us by the streams framework.
- *
- * I used to think that the perimeters were entered for the lower
- * streams' put and service routines as well as for the upper streams'.
- * Because of problems experienced by people, and after reading the
- * documentation more closely, I now don't think that is true. So we
- * now use ppp_lower_lock to give us an existence guarantee on the
- * upper stream controlling each lower stream.
- *
- * Shared entry to the outer perimeter protects the existence of all
- * the upper streams and their upperstr_t structures, and guarantees
- * that the following fields of any upperstr_t won't change:
- * nextmn, next, nextppa. It guarantees that the lowerq field of an
- * upperstr_t won't go from non-zero to zero, that the global `ppas'
- * won't change and that the no lower stream will get unlinked.
- *
- * Shared (reader) access to ppa_lower_lock guarantees that no lower
- * stream will be unlinked and that the lowerq field of all upperstr_t
- * structures won't change.
- */
-
-#else /* SOL2 */
-#define LOCK_LOWER_W 0
-#define LOCK_LOWER_R 0
-#define TRYLOCK_LOWER_R 1
-#define UNLOCK_LOWER 0
-#define MT_ENTER(x) 0
-#define MT_EXIT(x) 0
-
-#endif /* SOL2 */
-
-/*
- * Private information; one per upper stream.
- */
-typedef struct upperstr {
- minor_t mn; /* minor device number */
- struct upperstr *nextmn; /* next minor device */
- queue_t *q; /* read q associated with this upper stream */
- int flags; /* flag bits, see below */
- int state; /* current DLPI state */
- int sap; /* service access point */
- int req_sap; /* which SAP the DLPI client requested */
- struct upperstr *ppa; /* control stream for our ppa */
- struct upperstr *next; /* next stream for this ppa */
- uint ioc_id; /* last ioctl ID for this stream */
- enum NPmode npmode; /* what to do with packets on this SAP */
- unsigned char rblocked; /* flow control has blocked upper read strm */
- /* N.B. rblocked is only changed by control stream's put/srv procs */
- /*
- * There is exactly one control stream for each PPA.
- * The following fields are only used for control streams.
- */
- int ppa_id;
- queue_t *lowerq; /* write queue attached below this PPA */
- struct upperstr *nextppa; /* next control stream */
- int mru;
- int mtu;
- struct pppstat stats; /* statistics */
- time_t last_sent; /* time last NP packet sent */
- time_t last_recv; /* time last NP packet rcvd */
-#ifdef SOL2
- kmutex_t stats_lock; /* lock for stats updates */
- kstat_t *kstats; /* stats for netstat */
-#endif /* SOL2 */
-#ifdef LACHTCP
- int ifflags;
- char ifname[IFNAMSIZ];
- struct ifstats ifstats;
-#endif /* LACHTCP */
-} upperstr_t;
-
-/* Values for flags */
-#define US_PRIV 1 /* stream was opened by superuser */
-#define US_CONTROL 2 /* stream is a control stream */
-#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
-#define US_LASTMOD 8 /* no PPP modules below us */
-#define US_DBGLOG 0x10 /* log various occurrences */
-#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
-
-#if defined(SOL2)
-#if DL_CURRENT_VERSION >= 2
-#define US_PROMISC 0x40 /* stream is promiscuous */
-#endif /* DL_CURRENT_VERSION >= 2 */
-#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
-#endif /* defined(SOL2) */
-
-#ifdef PRIOQ
-static u_char max_band=0;
-static u_char def_band=0;
-
-#define IPPORT_DEFAULT 65535
-
-/*
- * Port priority table
- * Highest priority ports are listed first, lowest are listed last.
- * ICMP & packets using unlisted ports will be treated as "default".
- * If IPPORT_DEFAULT is not listed here, "default" packets will be
- * assigned lowest priority.
- * Each line should be terminated with "0".
- * Line containing only "0" marks the end of the list.
- */
-
-static u_short prioq_table[]= {
- 113, 53, 0,
- 22, 23, 513, 517, 518, 0,
- 514, 21, 79, 111, 0,
- 25, 109, 110, 0,
- IPPORT_DEFAULT, 0,
- 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
-0 };
-
-#endif /* PRIOQ */
-
-
-static upperstr_t *minor_devs = NULL;
-static upperstr_t *ppas = NULL;
-
-#ifdef SVR4
-static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
-static int pppclose __P((queue_t *, int, cred_t *));
-#else
-static int pppopen __P((queue_t *, int, int, int));
-static int pppclose __P((queue_t *, int));
-#endif /* SVR4 */
-static int pppurput __P((queue_t *, mblk_t *));
-static int pppuwput __P((queue_t *, mblk_t *));
-static int pppursrv __P((queue_t *));
-static int pppuwsrv __P((queue_t *));
-static int ppplrput __P((queue_t *, mblk_t *));
-static int ppplwput __P((queue_t *, mblk_t *));
-static int ppplrsrv __P((queue_t *));
-static int ppplwsrv __P((queue_t *));
-#ifndef NO_DLPI
-static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
-static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
-static void dlpi_ok __P((queue_t *, int));
-#endif
-static int send_data __P((mblk_t *, upperstr_t *));
-static void new_ppa __P((queue_t *, mblk_t *));
-static void attach_ppa __P((queue_t *, mblk_t *));
-static void detach_ppa __P((queue_t *, mblk_t *));
-static void detach_lower __P((queue_t *, mblk_t *));
-static void debug_dump __P((queue_t *, mblk_t *));
-static upperstr_t *find_dest __P((upperstr_t *, int));
-#if defined(SOL2)
-static upperstr_t *find_promisc __P((upperstr_t *, int));
-static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
-static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
-static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
-#endif /* defined(SOL2) */
-static int putctl2 __P((queue_t *, int, int, int));
-static int putctl4 __P((queue_t *, int, int, int));
-static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#ifdef FILTER_PACKETS
-static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
-#endif /* FILTER_PACKETS */
-
-#define PPP_ID 0xb1a6
-static struct module_info ppp_info = {
-#ifdef PRIOQ
- PPP_ID, "ppp", 0, 512, 512, 384
-#else
- PPP_ID, "ppp", 0, 512, 512, 128
-#endif /* PRIOQ */
-};
-
-static struct qinit pppurint = {
- pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
-};
-
-static struct qinit pppuwint = {
- pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplrint = {
- ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-static struct qinit ppplwint = {
- ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
-};
-
-#ifdef LACHTCP
-extern struct ifstats *ifstats;
-int pppdevflag = 0;
-#endif
-
-struct streamtab pppinfo = {
- &pppurint, &pppuwint,
- &ppplrint, &ppplwint
-};
-
-int ppp_count;
-
-/*
- * How we maintain statistics.
- */
-#ifdef SOL2
-#define INCR_IPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
- }
-#define INCR_IERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
- }
-#define INCR_OPACKETS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
- }
-#define INCR_OERRORS(ppa) \
- if (ppa->kstats != 0) { \
- KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
- }
-#endif
-
-#ifdef LACHTCP
-#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
-#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
-#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
-#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
-#endif
-
-/*
- * STREAMS driver entry points.
- */
-static int
-#ifdef SVR4
-pppopen(q, devp, oflag, sflag, credp)
- queue_t *q;
- dev_t *devp;
- int oflag, sflag;
- cred_t *credp;
-#else
-pppopen(q, dev, oflag, sflag)
- queue_t *q;
- int dev; /* really dev_t */
- int oflag, sflag;
-#endif
-{
- upperstr_t *up;
- upperstr_t **prevp;
- minor_t mn;
-#ifdef PRIOQ
- u_short *ptr;
- u_char new_band;
-#endif /* PRIOQ */
-
- if (q->q_ptr)
- DRV_OPEN_OK(dev); /* device is already open */
-
-#ifdef PRIOQ
- /* Calculate max_bband & def_band from definitions in prioq.h
- This colud be done at some more approtiate time (less often)
- but this way it works well so I'll just leave it here */
-
- max_band = 1;
- def_band = 0;
- ptr = prioq_table;
- while (*ptr) {
- new_band = 1;
- while (*ptr)
- if (*ptr++ == IPPORT_DEFAULT) {
- new_band = 0;
- def_band = max_band;
- }
- max_band += new_band;
- ptr++;
- }
- if (def_band)
- def_band = max_band - def_band;
- --max_band;
-#endif /* PRIOQ */
-
- if (sflag == CLONEOPEN) {
- mn = 0;
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn != mn)
- break;
- ++mn;
- }
- } else {
-#ifdef SVR4
- mn = getminor(*devp);
-#else
- mn = minor(dev);
-#endif
- for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
- if (up->mn >= mn)
- break;
- }
- if (up->mn == mn) {
- /* this can't happen */
- q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
- DRV_OPEN_OK(dev);
- }
- }
-
- /*
- * Construct a new minor node.
- */
- up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
- bzero((caddr_t) up, sizeof(upperstr_t));
- if (up == 0) {
- DPRINT("pppopen: out of kernel memory\n");
- OPEN_ERROR(ENXIO);
- }
- up->nextmn = *prevp;
- *prevp = up;
- up->mn = mn;
-#ifdef SVR4
- *devp = makedevice(getmajor(*devp), mn);
-#endif
- up->q = q;
- if (NOTSUSER() == 0)
- up->flags |= US_PRIV;
-#ifndef NO_DLPI
- up->state = DL_UNATTACHED;
-#endif
-#ifdef LACHTCP
- up->ifflags = IFF_UP | IFF_POINTOPOINT;
-#endif
- up->sap = -1;
- up->last_sent = up->last_recv = time;
- up->npmode = NPMODE_DROP;
- q->q_ptr = (caddr_t) up;
- WR(q)->q_ptr = (caddr_t) up;
- noenable(WR(q));
-#ifdef SOL2
- mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
-#endif
- ++ppp_count;
-
- qprocson(q);
- DRV_OPEN_OK(makedev(major(dev), mn));
-}
-
-static int
-#ifdef SVR4
-pppclose(q, flag, credp)
- queue_t *q;
- int flag;
- cred_t *credp;
-#else
-pppclose(q, flag)
- queue_t *q;
- int flag;
-#endif
-{
- upperstr_t *up, **upp;
- upperstr_t *as, *asnext;
- upperstr_t **prevp;
-
- qprocsoff(q);
-
- up = (upperstr_t *) q->q_ptr;
- if (up == 0) {
- DPRINT("pppclose: q_ptr = 0\n");
- return 0;
- }
- if (up->flags & US_DBGLOG)
- DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
- if (up->flags & US_CONTROL) {
-#ifdef LACHTCP
- struct ifstats *ifp, *pifp;
-#endif
- if (up->lowerq != 0) {
- /* Gack! the lower stream should have be unlinked earlier! */
- DPRINT1("ppp%d: lower stream still connected on close?\n",
- up->mn);
- LOCK_LOWER_W;
- up->lowerq->q_ptr = 0;
- RD(up->lowerq)->q_ptr = 0;
- up->lowerq = 0;
- UNLOCK_LOWER;
- }
-
- /*
- * This stream represents a PPA:
- * For all streams attached to the PPA, clear their
- * references to this PPA.
- * Then remove this PPA from the list of PPAs.
- */
- for (as = up->next; as != 0; as = asnext) {
- asnext = as->next;
- as->next = 0;
- as->ppa = 0;
- if (as->flags & US_BLOCKED) {
- as->flags &= ~US_BLOCKED;
- flushq(WR(as->q), FLUSHDATA);
- }
- }
- for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
- if (*upp == up) {
- *upp = up->nextppa;
- break;
- }
-#ifdef LACHTCP
- /* Remove the statistics from the active list. */
- for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
- if (ifp == &up->ifstats) {
- if (pifp)
- pifp->ifs_next = ifp->ifs_next;
- else
- ifstats = ifp->ifs_next;
- break;
- }
- pifp = ifp;
- }
-#endif
- } else {
- /*
- * If this stream is attached to a PPA,
- * remove it from the PPA's list.
- */
- if ((as = up->ppa) != 0) {
- for (; as->next != 0; as = as->next)
- if (as->next == up) {
- as->next = up->next;
- break;
- }
- }
- }
-
-#ifdef SOL2
- if (up->kstats)
- kstat_delete(up->kstats);
- mutex_destroy(&up->stats_lock);
-#endif
-
- q->q_ptr = NULL;
- WR(q)->q_ptr = NULL;
-
- for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
- if (*prevp == up) {
- *prevp = up->nextmn;
- break;
- }
- }
- FREE(up, sizeof(upperstr_t));
- --ppp_count;
-
- return 0;
-}
-
-/*
- * A message from on high. We do one of three things:
- * - qreply()
- * - put the message on the lower write stream
- * - queue it for our service routine
- */
-static int
-pppuwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *ppa, *nps;
- struct iocblk *iop;
- struct linkblk *lb;
-#ifdef LACHTCP
- struct ifreq *ifr;
- int i;
-#endif
- queue_t *lq;
- int error, n, sap;
- mblk_t *mq;
- struct ppp_idle *pip;
-#ifdef PRIOQ
- queue_t *tlq;
-#endif /* PRIOQ */
-#ifdef NO_DLPI
- upperstr_t *os;
-#endif
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwput: q_ptr = 0!\n");
- return 0;
- }
- if (mp == 0) {
- DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
- return 0;
- }
- if (mp->b_datap == 0) {
- DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
- return 0;
- }
- switch (mp->b_datap->db_type) {
-#ifndef NO_DLPI
- case M_PCPROTO:
- case M_PROTO:
- dlpi_request(q, mp, us);
- break;
-#endif /* NO_DLPI */
-
- case M_DATA:
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
- us->mn, msgdsize(mp), us->flags);
- if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
-#ifndef NO_DLPI
- || (us->flags & US_CONTROL) == 0
-#endif /* NO_DLPI */
- ) {
- DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
- freemsg(mp);
- break;
- }
-#ifdef NO_DLPI
- if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
- break;
-#endif
- if (!send_data(mp, us))
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: ioctl %x count=%d\n",
- us->mn, iop->ioc_cmd, iop->ioc_count);
- switch (iop->ioc_cmd) {
-#if defined(SOL2)
- case DLIOCRAW: /* raw M_DATA mode */
- us->flags |= US_RAWDATA;
- error = 0;
- break;
-#endif /* defined(SOL2) */
- case I_LINK:
- if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
- lq = lb->l_qbot;
- if (lq == 0) {
- DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
- break;
- }
- LOCK_LOWER_W;
- us->lowerq = lq;
- lq->q_ptr = (caddr_t) q;
- RD(lq)->q_ptr = (caddr_t) us->q;
- UNLOCK_LOWER;
- iop->ioc_count = 0;
- error = 0;
- us->flags &= ~US_LASTMOD;
- /* Unblock upper streams which now feed this lower stream. */
- qenable(q);
- /* Send useful information down to the modules which
- are now linked below us. */
- putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
- putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
- putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
-#ifdef PRIOQ
- /* Lower tty driver's queue hiwat/lowat from default 4096/128
- to 256/128 since we don't want queueing of data on
- output to physical device */
-
- freezestr(lq);
- for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
- ;
- strqset(tlq, QHIWAT, 0, 256);
- strqset(tlq, QLOWAT, 0, 128);
- unfreezestr(lq);
-#endif /* PRIOQ */
- break;
-
- case I_UNLINK:
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
- break;
- }
- lb = (struct linkblk *) mp->b_cont->b_rptr;
-#if DEBUG
- if (us->lowerq != lb->l_qbot) {
- DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
- us->lowerq, lb->l_qbot);
- break;
- }
-#endif
- iop->ioc_count = 0;
- qwriter(q, mp, detach_lower, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_NEWPPA:
- if (us->flags & US_CONTROL)
- break;
- if ((us->flags & US_PRIV) == 0) {
- error = EPERM;
- break;
- }
- /* Arrange to return an int */
- if ((mq = mp->b_cont) == 0
- || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
- mq = allocb(sizeof(int), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- }
- iop->ioc_count = sizeof(int);
- mq->b_wptr = mq->b_rptr + sizeof(int);
- qwriter(q, mp, new_ppa, PERIM_OUTER);
- error = -1;
- break;
-
- case PPPIO_ATTACH:
- /* like dlpi_attach, for programs which can't write to
- the stream (like pppstats) */
- if (iop->ioc_count != sizeof(int) || us->ppa != 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == n)
- break;
- if (ppa == 0)
- break;
- us->ppa = ppa;
- iop->ioc_count = 0;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- error = -1;
- break;
-
-#ifdef NO_DLPI
- case PPPIO_BIND:
- /* Attach to a given SAP. */
- if (iop->ioc_count != sizeof(int) || us->ppa == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- /* n must be a valid PPP network protocol number. */
- if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
- break;
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == n)
- break;
- if (os != 0)
- break;
- us->sap = n;
- iop->ioc_count = 0;
- error = 0;
- break;
-#endif /* NO_DLPI */
-
- case PPPIO_MRU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMRU)
- break;
- if (n < PPP_MRU)
- n = PPP_MRU;
- us->mru = n;
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_MTU:
- if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n <= 0 || n > PPP_MAXMTU)
- break;
- us->mtu = n;
-#ifdef LACHTCP
- /* The MTU reported in netstat, not used as IP max packet size! */
- us->ifstats.ifs_mtu = n;
-#endif
- if (us->lowerq)
- putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_LASTMOD:
- us->flags |= US_LASTMOD;
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
- qwriter(q, NULL, debug_dump, PERIM_OUTER);
- iop->ioc_count = 0;
- error = -1;
- } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
- DPRINT1("ppp/%d: debug log enabled\n", us->mn);
- us->flags |= US_DBGLOG;
- iop->ioc_count = 0;
- error = 0;
- } else {
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- putnext(us->ppa->lowerq, mp);
- error = -1;
- }
- break;
-
- case PPPIO_NPMODE:
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if ((us->flags & US_CONTROL) == 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
- break;
- }
- sap = ((int *)mp->b_cont->b_rptr)[0];
- for (nps = us->next; nps != 0; nps = nps->next) {
- if (us->flags & US_DBGLOG)
- DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
- if (nps->sap == sap)
- break;
- }
- if (nps == 0) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
- break;
- }
- /* XXX possibly should use qwriter here */
- nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
- if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
- qenable(WR(nps->q));
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GIDLE:
- if ((ppa = us->ppa) == 0)
- break;
- mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
- if (mq == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = mq;
- mq->b_cont = 0;
- pip = (struct ppp_idle *) mq->b_wptr;
- pip->xmit_idle = time - ppa->last_sent;
- pip->recv_idle = time - ppa->last_recv;
- mq->b_wptr += sizeof(struct ppp_idle);
- iop->ioc_count = sizeof(struct ppp_idle);
- error = 0;
- break;
-
-#ifdef LACHTCP
- case SIOCSIFNAME:
- /* Sent from IP down to us. Attach the ifstats structure. */
- if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
- break;
- ifr = (struct ifreq *)mp->b_cont->b_rptr;
- /* Find the unit number in the interface name. */
- for (i = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0 ||
- (ifr->ifr_name[i] >= '0' &&
- ifr->ifr_name[i] <= '9'))
- break;
- else
- us->ifname[i] = ifr->ifr_name[i];
- }
- us->ifname[i] = 0;
-
- /* Convert the unit number to binary. */
- for (n = 0; i < IFNAMSIZ; i++) {
- if (ifr->ifr_name[i] == 0) {
- break;
- }
- else {
- n = n * 10 + ifr->ifr_name[i] - '0';
- }
- }
-
- /* Verify the ppa. */
- if (us->ppa->ppa_id != n)
- break;
- ppa = us->ppa;
-
- /* Set up the netstat block. */
- strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
-
- ppa->ifstats.ifs_name = ppa->ifname;
- ppa->ifstats.ifs_unit = n;
- ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
- ppa->ifstats.ifs_mtu = ppa->mtu;
-
- /* Link in statistics used by netstat. */
- ppa->ifstats.ifs_next = ifstats;
- ifstats = &ppa->ifstats;
-
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case SIOCGIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
- error = 0;
- break;
-
- case SIOCSIFFLAGS:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
- error = 0;
- break;
-
- case SIOCSIFADDR:
- if (!(us->flags & US_CONTROL)) {
- if (us->ppa)
- us = us->ppa;
- else
- break;
- }
- us->ifflags |= IFF_RUNNING;
- ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
- error = 0;
- break;
-
- case SIOCSIFMTU:
- /*
- * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
- * they take the MTU from the DL_INFO_ACK we sent in response
- * to their DL_INFO_REQ. Fortunately, they will update the
- * MTU if we send an unsolicited DL_INFO_ACK up.
- */
- if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
- mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
- dlpi_request(q, mq, us);
- error = 0;
- break;
-
- case SIOCGIFNETMASK:
- case SIOCSIFNETMASK:
- case SIOCGIFADDR:
- case SIOCGIFDSTADDR:
- case SIOCSIFDSTADDR:
- case SIOCGIFMETRIC:
- error = 0;
- break;
-#endif /* LACHTCP */
-
- default:
- if (us->ppa == 0 || us->ppa->lowerq == 0)
- break;
- us->ioc_id = iop->ioc_id;
- error = -1;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- case PPPIO_GETCSTAT:
- if (us->flags & US_LASTMOD) {
- error = EINVAL;
- break;
- }
- putnext(us->ppa->lowerq, mp);
- break;
- default:
- if (us->flags & US_PRIV)
- putnext(us->ppa->lowerq, mp);
- else {
- DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
- error = EPERM;
- }
- break;
- }
- break;
- }
-
- if (error > 0) {
- iop->ioc_error = error;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- } else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- }
- break;
-
- case M_FLUSH:
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
- if (*mp->b_rptr & FLUSHW)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHR) {
- *mp->b_rptr &= ~FLUSHW;
- qreply(q, mp);
- } else
- freemsg(mp);
- break;
-
- default:
- freemsg(mp);
- break;
- }
- return 0;
-}
-
-#ifndef NO_DLPI
-static void
-dlpi_request(q, mp, us)
- queue_t *q;
- mblk_t *mp;
- upperstr_t *us;
-{
- union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
- int size = mp->b_wptr - mp->b_rptr;
- mblk_t *reply, *np;
- upperstr_t *ppa, *os;
- int sap, len;
- dl_info_ack_t *info;
- dl_bind_ack_t *ackp;
-#if DL_CURRENT_VERSION >= 2
- dl_phys_addr_ack_t *paddrack;
- static struct ether_addr eaddr = {0};
-#endif
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
- d->dl_primitive, size);
- switch (d->dl_primitive) {
- case DL_INFO_REQ:
- if (size < sizeof(dl_info_req_t))
- goto badprim;
- if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- info = (dl_info_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_info_ack_t);
- bzero((caddr_t) info, sizeof(dl_info_ack_t));
- info->dl_primitive = DL_INFO_ACK;
- info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
- info->dl_min_sdu = 1;
- info->dl_addr_length = sizeof(uint);
- info->dl_mac_type = DL_ETHER; /* a bigger lie */
- info->dl_current_state = us->state;
- info->dl_service_mode = DL_CLDLS;
- info->dl_provider_style = DL_STYLE2;
-#if DL_CURRENT_VERSION >= 2
- info->dl_sap_length = sizeof(uint);
- info->dl_version = DL_CURRENT_VERSION;
-#endif
- qreply(q, reply);
- break;
-
- case DL_ATTACH_REQ:
- if (size < sizeof(dl_attach_req_t))
- goto badprim;
- if (us->state != DL_UNATTACHED || us->ppa != 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
- if (ppa->ppa_id == d->attach_req.dl_ppa)
- break;
- if (ppa == 0) {
- dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
- break;
- }
- us->ppa = ppa;
- qwriter(q, mp, attach_ppa, PERIM_OUTER);
- return;
-
- case DL_DETACH_REQ:
- if (size < sizeof(dl_detach_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
- break;
- }
- qwriter(q, mp, detach_ppa, PERIM_OUTER);
- return;
-
- case DL_BIND_REQ:
- if (size < sizeof(dl_bind_req_t))
- goto badprim;
- if (us->state != DL_UNBOUND || us->ppa == 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
- break;
- }
-#if 0
- /* apparently this test fails (unnecessarily?) on some systems */
- if (d->bind_req.dl_service_mode != DL_CLDLS) {
- dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
- break;
- }
-#endif
-
- /* saps must be valid PPP network protocol numbers,
- except that we accept ETHERTYPE_IP in place of PPP_IP. */
- sap = d->bind_req.dl_sap;
- us->req_sap = sap;
-
-#if defined(SOL2)
- if (us->flags & US_DBGLOG)
- DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
-
- if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
- sap = PPP_IP;
- else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
- sap = PPP_IPV6;
- else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
- sap = PPP_ALLSAP;
- else {
- DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#else
- if (sap == ETHERTYPE_IP)
- sap = PPP_IP;
- if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
- dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
- break;
- }
-#endif /* defined(SOL2) */
-
- /* check that no other stream is bound to this sap already. */
- for (os = us->ppa; os != 0; os = os->next)
- if (os->sap == sap)
- break;
- if (os != 0) {
- dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
- break;
- }
-
- us->sap = sap;
- us->state = DL_IDLE;
-
- if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- ackp = (dl_bind_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
- reply->b_datap->db_type = M_PCPROTO;
- bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
- ackp->dl_primitive = DL_BIND_ACK;
- ackp->dl_sap = sap;
- ackp->dl_addr_length = sizeof(uint);
- ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
- *(uint *)(ackp+1) = sap;
- qreply(q, reply);
- break;
-
- case DL_UNBIND_REQ:
- if (size < sizeof(dl_unbind_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
- break;
- }
- us->sap = -1;
- us->state = DL_UNBOUND;
-#ifdef LACHTCP
- us->ppa->ifstats.ifs_active = 0;
-#endif
- dlpi_ok(q, DL_UNBIND_REQ);
- break;
-
- case DL_UNITDATA_REQ:
- if (size < sizeof(dl_unitdata_req_t))
- goto badprim;
- if (us->state != DL_IDLE) {
- dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
- break;
- }
- if ((ppa = us->ppa) == 0) {
- cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
- break;
- }
- len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
- if (len > ppa->mtu) {
- DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
- break;
- }
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- if (mp->b_cont)
- promisc_sendup(ppa, mp->b_cont, us->sap, 0);
-#endif /* defined(SOL2) */
-
- mp->b_band = 0;
-#ifdef PRIOQ
- /* Extract s_port & d_port from IP-packet, the code is a bit
- dirty here, but so am I, too... */
- if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
- && mp->b_cont != 0) {
- u_char *bb, *tlh;
- int iphlen, len;
- u_short *ptr;
- u_char band_unset, cur_band, syn;
- u_short s_port, d_port;
-
- bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
- len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
- syn = 0;
- s_port = IPPORT_DEFAULT;
- d_port = IPPORT_DEFAULT;
- if (len >= 20) { /* 20 = minimum length of IP header */
- iphlen = (bb[0] & 0x0f) * 4;
- tlh = bb + iphlen;
- len -= iphlen;
- switch (bb[9]) {
- case IPPROTO_TCP:
- if (len >= 20) { /* min length of TCP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- syn = tlh[13] & 0x02;
- }
- break;
- case IPPROTO_UDP:
- if (len >= 8) { /* min length of UDP header */
- s_port = (tlh[0] << 8) + tlh[1];
- d_port = (tlh[2] << 8) + tlh[3];
- }
- break;
- }
- }
-
- /*
- * Now calculate b_band for this packet from the
- * port-priority table.
- */
- ptr = prioq_table;
- cur_band = max_band;
- band_unset = 1;
- while (*ptr) {
- while (*ptr && band_unset)
- if (s_port == *ptr || d_port == *ptr++) {
- mp->b_band = cur_band;
- band_unset = 0;
- break;
- }
- ptr++;
- cur_band--;
- }
- if (band_unset)
- mp->b_band = def_band;
- /* It may be usable to urge SYN packets a bit */
- if (syn)
- mp->b_band++;
- }
-#endif /* PRIOQ */
- /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
- if (mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_HI);
- if (np == 0)
- break; /* gak! */
- np->b_cont = mp->b_cont;
- mp->b_cont = 0;
- freeb(mp);
- mp = np;
- } else
- mp->b_datap->db_type = M_DATA;
- /* XXX should use dl_dest_addr_offset/length here,
- but we would have to translate ETHERTYPE_IP -> PPP_IP */
- mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
- mp->b_rptr[0] = PPP_ALLSTATIONS;
- mp->b_rptr[1] = PPP_UI;
- mp->b_rptr[2] = us->sap >> 8;
- mp->b_rptr[3] = us->sap;
- if (pass_packet(us, mp, 1)) {
- if (!send_data(mp, us))
- putq(q, mp);
- }
- return;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_PHYS_ADDR_REQ:
- if (size < sizeof(dl_phys_addr_req_t))
- goto badprim;
-
- /*
- * Don't check state because ifconfig sends this one down too
- */
-
- if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
- BPRI_HI)) == 0)
- break; /* should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_phys_addr_ack_t);
- bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
- paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
- paddrack->dl_addr_length = ETHERADDRL;
- paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
- bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
- reply->b_wptr += ETHERADDRL;
- qreply(q, reply);
- break;
-
-#if defined(SOL2)
- case DL_PROMISCON_REQ:
- if (size < sizeof(dl_promiscon_req_t))
- goto badprim;
- us->flags |= US_PROMISC;
- dlpi_ok(q, DL_PROMISCON_REQ);
- break;
-
- case DL_PROMISCOFF_REQ:
- if (size < sizeof(dl_promiscoff_req_t))
- goto badprim;
- us->flags &= ~US_PROMISC;
- dlpi_ok(q, DL_PROMISCOFF_REQ);
- break;
-#else
- case DL_PROMISCON_REQ: /* fall thru */
- case DL_PROMISCOFF_REQ: /* fall thru */
-#endif /* defined(SOL2) */
-#endif /* DL_CURRENT_VERSION >= 2 */
-
-#if DL_CURRENT_VERSION >= 2
- case DL_SET_PHYS_ADDR_REQ:
- case DL_SUBS_BIND_REQ:
- case DL_SUBS_UNBIND_REQ:
- case DL_ENABMULTI_REQ:
- case DL_DISABMULTI_REQ:
- case DL_XID_REQ:
- case DL_TEST_REQ:
- case DL_REPLY_UPDATE_REQ:
- case DL_REPLY_REQ:
- case DL_DATA_ACK_REQ:
-#endif
- case DL_CONNECT_REQ:
- case DL_TOKEN_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
- break;
-
- case DL_CONNECT_RES:
- case DL_DISCONNECT_REQ:
- case DL_RESET_REQ:
- case DL_RESET_RES:
- dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
- break;
-
- case DL_UDQOS_REQ:
- dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
- break;
-
-#if DL_CURRENT_VERSION >= 2
- case DL_TEST_RES:
- case DL_XID_RES:
- break;
-#endif
-
- default:
- cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
- /* fall through */
- badprim:
- dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
- break;
- }
- freemsg(mp);
-}
-
-static void
-dlpi_error(q, us, prim, err, uerr)
- queue_t *q;
- upperstr_t *us;
- int prim, err, uerr;
-{
- mblk_t *reply;
- dl_error_ack_t *errp;
-
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
- reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- errp = (dl_error_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_error_ack_t);
- errp->dl_primitive = DL_ERROR_ACK;
- errp->dl_error_primitive = prim;
- errp->dl_errno = err;
- errp->dl_unix_errno = uerr;
- qreply(q, reply);
-}
-
-static void
-dlpi_ok(q, prim)
- queue_t *q;
- int prim;
-{
- mblk_t *reply;
- dl_ok_ack_t *okp;
-
- reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
- if (reply == 0)
- return; /* XXX should do bufcall */
- reply->b_datap->db_type = M_PCPROTO;
- okp = (dl_ok_ack_t *) reply->b_wptr;
- reply->b_wptr += sizeof(dl_ok_ack_t);
- okp->dl_primitive = DL_OK_ACK;
- okp->dl_correct_primitive = prim;
- qreply(q, reply);
-}
-#endif /* NO_DLPI */
-
-static int
-pass_packet(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- int pass;
- upperstr_t *ppa;
-
- if ((ppa = us->ppa) == 0) {
- freemsg(mp);
- return 0;
- }
-
-#ifdef FILTER_PACKETS
- pass = ip_hard_filter(us, mp, outbound);
-#else
- /*
- * Here is where we might, in future, decide whether to pass
- * or drop the packet, and whether it counts as link activity.
- */
- pass = 1;
-#endif /* FILTER_PACKETS */
-
- if (pass < 0) {
- /* pass only if link already up, and don't update time */
- if (ppa->lowerq == 0) {
- freemsg(mp);
- return 0;
- }
- pass = 1;
- } else if (pass) {
- if (outbound)
- ppa->last_sent = time;
- else
- ppa->last_recv = time;
- }
-
- return pass;
-}
-
-/*
- * We have some data to send down to the lower stream (or up the
- * control stream, if we don't have a lower stream attached).
- * Returns 1 if the message was dealt with, 0 if it wasn't able
- * to be sent on and should therefore be queued up.
- */
-static int
-send_data(mp, us)
- mblk_t *mp;
- upperstr_t *us;
-{
- upperstr_t *ppa;
-
- if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
- return 0;
- ppa = us->ppa;
- if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
- if (us->flags & US_DBGLOG)
- DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
- freemsg(mp);
- return 1;
- }
- if (ppa->lowerq == 0) {
- /* try to send it up the control stream */
- if (bcanputnext(ppa->q, mp->b_band)) {
- /*
- * The message seems to get corrupted for some reason if
- * we just send the message up as it is, so we send a copy.
- */
- mblk_t *np = copymsg(mp);
- freemsg(mp);
- if (np != 0)
- putnext(ppa->q, np);
- return 1;
- }
- } else {
- if (bcanputnext(ppa->lowerq, mp->b_band)) {
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_opackets++;
- ppa->stats.ppp_obytes += msgdsize(mp);
-#ifdef INCR_OPACKETS
- INCR_OPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
- /*
- * The lower queue is only ever detached while holding an
- * exclusive lock on the whole driver. So we can be confident
- * that the lower queue is still there.
- */
- putnext(ppa->lowerq, mp);
- return 1;
- }
- }
- us->flags |= US_BLOCKED;
- return 0;
-}
-
-/*
- * Allocate a new PPA id and link this stream into the list of PPAs.
- * This procedure is called with an exclusive lock on all queues in
- * this driver.
- */
-static void
-new_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *up, **usp;
- int ppa_id;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("new_ppa: q_ptr = 0!\n");
- return;
- }
-
- usp = &ppas;
- ppa_id = 0;
- while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
- ++ppa_id;
- usp = &up->nextppa;
- }
- us->ppa_id = ppa_id;
- us->ppa = us;
- us->next = 0;
- us->nextppa = *usp;
- *usp = us;
- us->flags |= US_CONTROL;
- us->npmode = NPMODE_PASS;
-
- us->mtu = PPP_MTU;
- us->mru = PPP_MRU;
-
-#ifdef SOL2
- /*
- * Create a kstats record for our statistics, so netstat -i works.
- */
- if (us->kstats == 0) {
- char unit[32];
-
- sprintf(unit, "ppp%d", us->ppa->ppa_id);
- us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
- "net", KSTAT_TYPE_NAMED, 4, 0);
- if (us->kstats != 0) {
- kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
-
- strcpy(kn[0].name, "ipackets");
- kn[0].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[1].name, "ierrors");
- kn[1].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[2].name, "opackets");
- kn[2].data_type = KSTAT_DATA_ULONG;
- strcpy(kn[3].name, "oerrors");
- kn[3].data_type = KSTAT_DATA_ULONG;
- kstat_install(us->kstats);
- }
- }
-#endif /* SOL2 */
-
- *(int *)mp->b_cont->b_rptr = ppa_id;
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static void
-attach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("attach_ppa: q_ptr = 0!\n");
- return;
- }
-
-#ifndef NO_DLPI
- us->state = DL_UNBOUND;
-#endif
- for (t = us->ppa; t->next != 0; t = t->next)
- ;
- t->next = us;
- us->next = 0;
- if (mp->b_datap->db_type == M_IOCTL) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
-#ifndef NO_DLPI
- dlpi_ok(q, DL_ATTACH_REQ);
-#endif
- }
-}
-
-static void
-detach_ppa(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us, *t;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_ppa: q_ptr = 0!\n");
- return;
- }
-
- for (t = us->ppa; t->next != 0; t = t->next)
- if (t->next == us) {
- t->next = us->next;
- break;
- }
- us->next = 0;
- us->ppa = 0;
-#ifndef NO_DLPI
- us->state = DL_UNATTACHED;
- dlpi_ok(q, DL_DETACH_REQ);
-#endif
-}
-
-/*
- * We call this with qwriter in order to give the upper queue procedures
- * the guarantee that the lower queue is not going to go away while
- * they are executing.
- */
-static void
-detach_lower(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("detach_lower: q_ptr = 0!\n");
- return;
- }
-
- LOCK_LOWER_W;
- us->lowerq->q_ptr = 0;
- RD(us->lowerq)->q_ptr = 0;
- us->lowerq = 0;
- UNLOCK_LOWER;
-
- /* Unblock streams which now feed back up the control stream. */
- qenable(us->q);
-
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-static int
-pppuwsrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppuwsrv: q_ptr = 0!\n");
- return 0;
- }
-
- /*
- * If this is a control stream, then this service procedure
- * probably got enabled because of flow control in the lower
- * stream being enabled (or because of the lower stream going
- * away). Therefore we enable the service procedure of all
- * attached upper streams.
- */
- if (us->flags & US_CONTROL) {
- for (as = us->next; as != 0; as = as->next)
- qenable(WR(as->q));
- }
-
- /* Try to send on any data queued here. */
- us->flags &= ~US_BLOCKED;
- while ((mp = getq(q)) != 0) {
- if (!send_data(mp, us)) {
- putbq(q, mp);
- break;
- }
- }
-
- return 0;
-}
-
-/* should never get called... */
-static int
-ppplwput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- putnext(q, mp);
- return 0;
-}
-
-static int
-ppplwsrv(q)
- queue_t *q;
-{
- queue_t *uq;
-
- /*
- * Flow control has back-enabled this stream:
- * enable the upper write service procedure for
- * the upper control stream for this lower stream.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq != 0)
- qenable(uq);
- UNLOCK_LOWER;
- return 0;
-}
-
-/*
- * This should only get called for control streams.
- */
-static int
-pppurput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *ppa, *us;
- int proto, len;
- struct iocblk *iop;
-
- ppa = (upperstr_t *) q->q_ptr;
- if (ppa == 0) {
- DPRINT("pppurput: q_ptr = 0!\n");
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_CTL:
- MT_ENTER(&ppa->stats_lock);
- switch (*mp->b_rptr) {
- case PPPCTL_IERROR:
-#ifdef INCR_IERRORS
- INCR_IERRORS(ppa);
-#endif
- ppa->stats.ppp_ierrors++;
- break;
- case PPPCTL_OERROR:
-#ifdef INCR_OERRORS
- INCR_OERRORS(ppa);
-#endif
- ppa->stats.ppp_oerrors++;
- break;
- }
- MT_EXIT(&ppa->stats_lock);
- freemsg(mp);
- break;
-
- case M_IOCACK:
- case M_IOCNAK:
- /*
- * Attempt to match up the response with the stream
- * that the request came from.
- */
- iop = (struct iocblk *) mp->b_rptr;
- for (us = ppa; us != 0; us = us->next)
- if (us->ioc_id == iop->ioc_id)
- break;
- if (us == 0)
- freemsg(mp);
- else
- putnext(us->q, mp);
- break;
-
- case M_HANGUP:
- /*
- * The serial device has hung up. We don't want to send
- * the M_HANGUP message up to pppd because that will stop
- * us from using the control stream any more. Instead we
- * send a zero-length message as an end-of-file indication.
- */
- freemsg(mp);
- mp = allocb(1, BPRI_HI);
- if (mp == 0) {
- DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
- break;
- }
- putnext(ppa->q, mp);
- break;
-
- default:
- if (mp->b_datap->db_type == M_DATA) {
- len = msgdsize(mp);
- if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
- PULLUP(mp, PPP_HDRLEN);
- if (mp == 0) {
- DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
- break;
- }
- }
- MT_ENTER(&ppa->stats_lock);
- ppa->stats.ppp_ipackets++;
- ppa->stats.ppp_ibytes += len;
-#ifdef INCR_IPACKETS
- INCR_IPACKETS(ppa);
-#endif
- MT_EXIT(&ppa->stats_lock);
-
- proto = PPP_PROTOCOL(mp->b_rptr);
-
-#if defined(SOL2)
- /*
- * Should there be any promiscuous stream(s), send the data
- * up for each promiscuous stream that we recognize.
- */
- promisc_sendup(ppa, mp, proto, 1);
-#endif /* defined(SOL2) */
-
- if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
- /*
- * A data packet for some network protocol.
- * Queue it on the upper stream for that protocol.
- * XXX could we just putnext it? (would require thought)
- * The rblocked flag is there to ensure that we keep
- * messages in order for each network protocol.
- */
- if (!pass_packet(us, mp, 0))
- break;
- if (!us->rblocked && !canput(us->q))
- us->rblocked = 1;
- if (!us->rblocked)
- putq(us->q, mp);
- else
- putq(q, mp);
- break;
- }
- }
- /*
- * A control frame, a frame for an unknown protocol,
- * or some other message type.
- * Send it up to pppd via the control stream.
- */
- if (queclass(mp) == QPCTL || canputnext(ppa->q))
- putnext(ppa->q, mp);
- else
- putq(q, mp);
- break;
- }
-
- return 0;
-}
-
-static int
-pppursrv(q)
- queue_t *q;
-{
- upperstr_t *us, *as;
- mblk_t *mp, *hdr;
-#ifndef NO_DLPI
- dl_unitdata_ind_t *ud;
-#endif
- int proto;
-
- us = (upperstr_t *) q->q_ptr;
- if (us == 0) {
- DPRINT("pppursrv: q_ptr = 0!\n");
- return 0;
- }
-
- if (us->flags & US_CONTROL) {
- /*
- * A control stream.
- * If there is no lower queue attached, run the write service
- * routines of other upper streams attached to this PPA.
- */
- if (us->lowerq == 0) {
- as = us;
- do {
- if (as->flags & US_BLOCKED)
- qenable(WR(as->q));
- as = as->next;
- } while (as != 0);
- }
-
- /*
- * Messages get queued on this stream's read queue if they
- * can't be queued on the read queue of the attached stream
- * that they are destined for. This is for flow control -
- * when this queue fills up, the lower read put procedure will
- * queue messages there and the flow control will propagate
- * down from there.
- */
- while ((mp = getq(q)) != 0) {
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
- if (!canput(as->q))
- break;
- putq(as->q, mp);
- } else {
- if (!canputnext(q))
- break;
- putnext(q, mp);
- }
- }
- if (mp) {
- putbq(q, mp);
- } else {
- /* can now put stuff directly on network protocol streams again */
- for (as = us->next; as != 0; as = as->next)
- as->rblocked = 0;
- }
-
- /*
- * If this stream has a lower stream attached,
- * enable the read queue's service routine.
- * XXX we should really only do this if the queue length
- * has dropped below the low-water mark.
- */
- if (us->lowerq != 0)
- qenable(RD(us->lowerq));
-
- } else {
- /*
- * A network protocol stream. Put a DLPI header on each
- * packet and send it on.
- * (Actually, it seems that the IP module will happily
- * accept M_DATA messages without the DL_UNITDATA_IND header.)
- */
- while ((mp = getq(q)) != 0) {
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-#ifndef NO_DLPI
- proto = PPP_PROTOCOL(mp->b_rptr);
- mp->b_rptr += PPP_HDRLEN;
- hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
- BPRI_MED);
- if (hdr == 0) {
- /* XXX should put it back and use bufcall */
- freemsg(mp);
- continue;
- }
- hdr->b_datap->db_type = M_PROTO;
- ud = (dl_unitdata_ind_t *) hdr->b_wptr;
- hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
- hdr->b_cont = mp;
- ud->dl_primitive = DL_UNITDATA_IND;
- ud->dl_dest_addr_length = sizeof(uint);
- ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- ud->dl_src_addr_length = sizeof(uint);
- ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
-#if DL_CURRENT_VERSION >= 2
- ud->dl_group_address = 0;
-#endif
- /* Send the DLPI client the data with the SAP they requested,
- (e.g. ETHERTYPE_IP) rather than the PPP protocol number
- (e.g. PPP_IP) */
- ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
- ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
- putnext(q, hdr);
-#else /* NO_DLPI */
- putnext(q, mp);
-#endif /* NO_DLPI */
- }
- /*
- * Now that we have consumed some packets from this queue,
- * enable the control stream's read service routine so that we
- * can process any packets for us that might have got queued
- * there for flow control reasons.
- */
- if (us->ppa)
- qenable(us->ppa->q);
- }
-
- return 0;
-}
-
-static upperstr_t *
-find_dest(ppa, proto)
- upperstr_t *ppa;
- int proto;
-{
- upperstr_t *us;
-
- for (us = ppa->next; us != 0; us = us->next)
- if (proto == us->sap)
- break;
- return us;
-}
-
-#if defined (SOL2)
-/*
- * Test upstream promiscuous conditions. As of now, only pass IPv4 and
- * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
- */
-static upperstr_t *
-find_promisc(us, proto)
- upperstr_t *us;
- int proto;
-{
-
- if ((proto != PPP_IP) && (proto != PPP_IPV6))
- return (upperstr_t *)0;
-
- for ( ; us; us = us->next) {
- if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
- return us;
- }
-
- return (upperstr_t *)0;
-}
-
-/*
- * Prepend an empty Ethernet header to msg for snoop, et al.
- */
-static mblk_t *
-prepend_ether(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- mblk_t *eh;
- int type;
-
- if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- if (proto == PPP_IP)
- type = ETHERTYPE_IP;
- else if (proto == PPP_IPV6)
- type = ETHERTYPE_IPV6;
- else
- type = proto; /* What else? Let decoder decide */
-
- eh->b_wptr += sizeof(struct ether_header);
- bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
- ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
- eh->b_cont = mp;
- return (eh);
-}
-
-/*
- * Prepend DL_UNITDATA_IND mblk to msg
- */
-static mblk_t *
-prepend_udind(us, mp, proto)
- upperstr_t *us;
- mblk_t *mp;
- int proto;
-{
- dl_unitdata_ind_t *dlu;
- mblk_t *dh;
- size_t size;
-
- size = sizeof(dl_unitdata_ind_t);
- if ((dh = allocb(size, BPRI_MED)) == 0) {
- freemsg(mp);
- return (mblk_t *)0;
- }
-
- dh->b_datap->db_type = M_PROTO;
- dh->b_wptr = dh->b_datap->db_lim;
- dh->b_rptr = dh->b_wptr - size;
-
- dlu = (dl_unitdata_ind_t *)dh->b_rptr;
- dlu->dl_primitive = DL_UNITDATA_IND;
- dlu->dl_dest_addr_length = 0;
- dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_src_addr_length = 0;
- dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
- dlu->dl_group_address = 0;
-
- dh->b_cont = mp;
- return (dh);
-}
-
-/*
- * For any recognized promiscuous streams, send data upstream
- */
-static void
-promisc_sendup(ppa, mp, proto, skip)
- upperstr_t *ppa;
- mblk_t *mp;
- int proto, skip;
-{
- mblk_t *dup_mp, *dup_dup_mp;
- upperstr_t *prus, *nprus;
-
- if ((prus = find_promisc(ppa, proto)) != 0) {
- if (dup_mp = dupmsg(mp)) {
-
- if (skip)
- dup_mp->b_rptr += PPP_HDRLEN;
-
- for ( ; nprus = find_promisc(prus->next, proto);
- prus = nprus) {
-
- if (dup_dup_mp = dupmsg(dup_mp)) {
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- } else {
- dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
- putnext(prus->q, dup_dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_dup_mp);
- }
- }
- }
-
- if (canputnext(prus->q)) {
- if (prus->flags & US_RAWDATA) {
- dup_mp = prepend_ether(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- } else {
- dup_mp = prepend_udind(prus, dup_mp, proto);
- putnext(prus->q, dup_mp);
- }
- } else {
- DPRINT("ppp_urput: data to promisc q dropped\n");
- freemsg(dup_mp);
- }
- }
- }
-}
-#endif /* defined(SOL2) */
-
-/*
- * We simply put the message on to the associated upper control stream
- * (either here or in ppplrsrv). That way we enter the perimeters
- * before looking through the list of attached streams to decide which
- * stream it should go up.
- */
-static int
-ppplrput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- queue_t *uq;
- struct iocblk *iop;
-
- switch (mp->b_datap->db_type) {
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- iop->ioc_error = EINVAL;
- mp->b_datap->db_type = M_IOCNAK;
- qreply(q, mp);
- return 0;
- case M_FLUSH:
- if (*mp->b_rptr & FLUSHR)
- flushq(q, FLUSHDATA);
- if (*mp->b_rptr & FLUSHW) {
- *mp->b_rptr &= ~FLUSHR;
- qreply(q, mp);
- } else
- freemsg(mp);
- return 0;
- }
-
- /*
- * If we can't get the lower lock straight away, queue this one
- * rather than blocking, to avoid the possibility of deadlock.
- */
- if (!TRYLOCK_LOWER_R) {
- putq(q, mp);
- return 0;
- }
-
- /*
- * Check that we're still connected to the driver.
- */
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
- freemsg(mp);
- return 0;
- }
-
- /*
- * Try to forward the message to the put routine for the upper
- * control stream for this lower stream.
- * If there are already messages queued here, queue this one so
- * they don't get out of order.
- */
- if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
- put(uq, mp);
- else
- putq(q, mp);
-
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-ppplrsrv(q)
- queue_t *q;
-{
- mblk_t *mp;
- queue_t *uq;
-
- /*
- * Packets get queued here for flow control reasons
- * or if the lrput routine couldn't get the lower lock
- * without blocking.
- */
- LOCK_LOWER_R;
- uq = (queue_t *) q->q_ptr;
- if (uq == 0) {
- UNLOCK_LOWER;
- flushq(q, FLUSHALL);
- DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
- return 0;
- }
- while ((mp = getq(q)) != 0) {
- if (queclass(mp) == QPCTL || canput(uq))
- put(uq, mp);
- else {
- putbq(q, mp);
- break;
- }
- }
- UNLOCK_LOWER;
- return 0;
-}
-
-static int
-putctl2(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(2, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- mp->b_wptr[1] = val;
- mp->b_wptr += 2;
- putnext(q, mp);
- return 1;
-}
-
-static int
-putctl4(q, type, code, val)
- queue_t *q;
- int type, code, val;
-{
- mblk_t *mp;
-
- mp = allocb(4, BPRI_HI);
- if (mp == 0)
- return 0;
- mp->b_datap->db_type = type;
- mp->b_wptr[0] = code;
- ((short *)mp->b_wptr)[1] = val;
- mp->b_wptr += 4;
- putnext(q, mp);
- return 1;
-}
-
-static void
-debug_dump(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- upperstr_t *us;
- queue_t *uq, *lq;
-
- DPRINT("ppp upper streams:\n");
- for (us = minor_devs; us != 0; us = us->nextmn) {
- uq = us->q;
- DPRINT3(" %d: q=%x rlev=%d",
- us->mn, uq, (uq? qsize(uq): 0));
- DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
- us->flags, "\020\1priv\2control\3blocked\4last");
- DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
- us->req_sap);
- if (us->ppa == 0)
- DPRINT(" ppa=?\n");
- else
- DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
- if (us->flags & US_CONTROL) {
- lq = us->lowerq;
- DPRINT3(" control for %d lq=%x rlev=%d",
- us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
- DPRINT3(" wlev=%d mru=%d mtu=%d\n",
- (lq? qsize(lq): 0), us->mru, us->mtu);
- }
- }
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
-}
-
-#ifdef FILTER_PACKETS
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/udp.h>
-#include <netinet/tcp.h>
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-
-
-/* The following table contains a hard-coded list of protocol/port pairs.
- * Any matching packets are either discarded unconditionally, or,
- * if ok_if_link_up is non-zero when a connection does not currently exist
- * (i.e., they go through if the connection is present, but never initiate
- * a dial-out).
- * This idea came from a post by dm@garage.uun.org (David Mazieres)
- */
-static struct pktfilt_tab {
- int proto;
- u_short port;
- u_short ok_if_link_up;
-} pktfilt_tab[] = {
- { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
- { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
- { -1, 0, 0 } /* terminator entry has port == -1 */
-};
-
-
-static int
-ip_hard_filter(us, mp, outbound)
- upperstr_t *us;
- mblk_t *mp;
- int outbound;
-{
- struct ip *ip;
- struct pktfilt_tab *pft;
- mblk_t *temp_mp;
- int proto;
- int len, hlen;
-
-
- /* Note, the PPP header has already been pulled up in all cases */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
-
- switch (proto)
- {
- case PPP_IP:
- if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
- temp_mp = mp->b_cont;
- len = msgdsize(temp_mp);
- hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
- PULLUP(temp_mp, hlen);
- if (temp_mp == 0) {
- DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
- us->mn, hlen);
- mp->b_cont = 0; /* PULLUP() freed the rest */
- freemsg(mp);
- return 0;
- }
- ip = (struct ip *)mp->b_cont->b_rptr;
- }
- else {
- len = msgdsize(mp);
- hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
- us->mn, hlen);
- return 0;
- }
- ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
- }
-
- /* For IP traffic, certain packets (e.g., RIP) may be either
- * 1. ignored - dropped completely
- * 2. will not initiate a connection, but
- * will be passed if a connection is currently up.
- */
- for (pft=pktfilt_tab; pft->proto != -1; pft++) {
- if (ip->ip_p == pft->proto) {
- switch(pft->proto) {
- case IPPROTO_UDP:
- if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
- == htons(pft->port)) goto endfor;
- break;
- case IPPROTO_TCP:
- if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
- == htons(pft->port)) goto endfor;
- break;
- }
- }
- }
- endfor:
- if (pft->proto != -1) {
- if (us->flags & US_DBGLOG)
- DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
- us->mn, pft->proto, pft->port);
- /* Discard if not connected, or if not pass_with_link_up */
- /* else, if link is up let go by, but don't update time */
- return pft->ok_if_link_up? -1: 0;
- }
- break;
- } /* end switch (proto) */
-
- return 1;
-}
-#endif /* FILTER_PACKETS */
-
diff --git a/mdk-stage1/ppp/solaris/ppp.conf b/mdk-stage1/ppp/solaris/ppp.conf
deleted file mode 100644
index e443a7aac..000000000
--- a/mdk-stage1/ppp/solaris/ppp.conf
+++ /dev/null
@@ -1 +0,0 @@
-name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc.c b/mdk-stage1/ppp/solaris/ppp_ahdlc.c
deleted file mode 100644
index d0b961258..000000000
--- a/mdk-stage1/ppp/solaris/ppp_ahdlc.c
+++ /dev/null
@@ -1,878 +0,0 @@
-/*
- * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
- *
- * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
- * the original ppp_ahdlc.c
- *
- * Copyright (c) 2000 by Sun Microsystems, Inc.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies.
- *
- * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stream.h>
-#include <sys/errno.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/kmem.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-/*
- * Right now, mutex is only enabled for Solaris 2.x
- */
-#if defined(SOL2)
-#define USE_MUTEX
-#endif /* SOL2 */
-
-/*
- * intpointer_t and uintpointer_t are signed and unsigned integer types
- * large enough to hold any data pointer; that is, data pointers can be
- * assigned into or from these integer types without losing precision.
- * On recent Solaris releases, these types are defined in sys/int_types.h,
- * but not on SunOS 4.x or the earlier Solaris versions.
- */
-#if defined(_LP64) || defined(_I32LPx)
-typedef long intpointer_t;
-typedef unsigned long uintpointer_t;
-#else
-typedef int intpointer_t;
-typedef unsigned int uintpointer_t;
-#endif
-
-MOD_OPEN_DECL(ahdlc_open);
-MOD_CLOSE_DECL(ahdlc_close);
-static int ahdlc_wput __P((queue_t *, mblk_t *));
-static int ahdlc_rput __P((queue_t *, mblk_t *));
-static void ahdlc_encode __P((queue_t *, mblk_t *));
-static void ahdlc_decode __P((queue_t *, mblk_t *));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-#if defined(SOL2)
-/*
- * Don't send HDLC start flag is last transmit is within 1.5 seconds -
- * FLAG_TIME is defined is microseconds
- */
-#define FLAG_TIME 1500
-#define ABS(x) (x >= 0 ? x : (-x))
-#endif /* SOL2 */
-
-/*
- * Extract byte i of message mp
- */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/*
- * Is this LCP packet one we have to transmit using LCP defaults?
- */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-/*
- * Standard STREAMS declarations
- */
-static struct module_info minfo = {
- 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
-};
-
-static struct qinit rinit = {
- ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
-};
-
-static struct qinit winit = {
- ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int phdldevflag = 0;
-#define ppp_ahdlcinfo phdlinfo
-#endif /* defined(SVR4) && !defined(SOL2) */
-
-struct streamtab ppp_ahdlcinfo = {
- &rinit, /* ptr to st_rdinit */
- &winit, /* ptr to st_wrinit */
- NULL, /* ptr to st_muxrinit */
- NULL, /* ptr to st_muxwinit */
-#if defined(SUNOS4)
- NULL /* ptr to ptr to st_modlist */
-#endif /* SUNOS4 */
-};
-
-#if defined(SUNOS4)
-int ppp_ahdlc_count = 0; /* open counter */
-#endif /* SUNOS4 */
-
-/*
- * Per-stream state structure
- */
-typedef struct ahdlc_state {
-#if defined(USE_MUTEX)
- kmutex_t lock; /* lock for this structure */
-#endif /* USE_MUTEX */
- int flags; /* link flags */
- mblk_t *rx_buf; /* ptr to receive buffer */
- int rx_buf_size; /* receive buffer size */
- ushort_t infcs; /* calculated rx HDLC FCS */
- u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
- u_int32_t raccm; /* 32-bit rcv ACCM */
- int mtu; /* interface MTU */
- int mru; /* link MRU */
- int unit; /* current PPP unit number */
- struct pppstat stats; /* statistic structure */
-#if defined(SOL2)
- clock_t flag_time; /* time in usec between flags */
- clock_t lbolt; /* last updated lbolt */
-#endif /* SOL2 */
-} ahdlc_state_t;
-
-/*
- * Values for flags
- */
-#define ESCAPED 0x100 /* last saw escape char on input */
-#define IFLUSH 0x200 /* flushing input due to error */
-
-/*
- * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
- */
-#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
-
-/*
- * FCS lookup table as calculated by genfcstab.
- */
-static u_short fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-static u_int32_t paritytab[8] =
-{
- 0x96696996, 0x69969669, 0x69969669, 0x96696996,
- 0x69969669, 0x96696996, 0x96696996, 0x69969669
-};
-
-/*
- * STREAMS module open (entry) point
- */
-MOD_OPEN(ahdlc_open)
-{
- ahdlc_state_t *state;
-
- /*
- * Return if it's already opened
- */
- if (q->q_ptr) {
- return 0;
- }
-
- /*
- * This can only be opened as a module
- */
- if (sflag != MODOPEN) {
- return 0;
- }
-
- state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
- if (state == 0)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t) state, sizeof(ahdlc_state_t));
-
- q->q_ptr = (caddr_t) state;
- WR(q)->q_ptr = (caddr_t) state;
-
-#if defined(USE_MUTEX)
- mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
- state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
- state->mru = PPP_MRU; /* default of 1500 bytes */
-#if defined(SOL2)
- state->flag_time = drv_usectohz(FLAG_TIME);
-#endif /* SOL2 */
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
-#if defined(SUNOS4)
- ppp_ahdlc_count++;
-#endif /* SUNOS4 */
-
- qprocson(q);
-
- return 0;
-}
-
-/*
- * STREAMS module close (exit) point
- */
-MOD_CLOSE(ahdlc_close)
-{
- ahdlc_state_t *state;
-
- qprocsoff(q);
-
- state = (ahdlc_state_t *) q->q_ptr;
-
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_close\n");
- return 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- if (state->rx_buf != 0) {
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
- mutex_destroy(&state->lock);
-#endif /* USE_MUTEX */
-
- FREE(q->q_ptr, sizeof(ahdlc_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
-
-#if defined(SUNOS4)
- if (ppp_ahdlc_count)
- ppp_ahdlc_count--;
-#endif /* SUNOS4 */
-
- return 0;
-}
-
-/*
- * Write side put routine
- */
-static int
-ahdlc_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- struct iocblk *iop;
- int error;
- mblk_t *np;
- struct ppp_stats *psp;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- /*
- * A data packet - do character-stuffing and FCS, and
- * send it onwards.
- */
- ahdlc_encode(q, mp);
- freemsg(mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
- case PPPIO_XACCM:
- if ((iop->ioc_count < sizeof(u_int32_t)) ||
- (iop->ioc_count > sizeof(ext_accm))) {
- break;
- }
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
- iop->ioc_count);
- state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
- state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_RACCM:
- if (iop->ioc_count != sizeof(u_int32_t))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
- break;
- }
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
- sizeof(u_int32_t));
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- iop->ioc_count = 0;
- error = 0;
- break;
-
- case PPPIO_GCLEAN:
- np = allocb(sizeof(int), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- *(int *)np->b_wptr = state->flags & RCV_FLAGS;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- np->b_wptr += sizeof(int);
- iop->ioc_count = sizeof(int);
- error = 0;
- break;
-
- case PPPIO_GETSTAT:
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- bzero((caddr_t)psp, sizeof(struct ppp_stats));
- psp->p = state->stats;
- iop->ioc_count = sizeof(struct ppp_stats);
- error = 0;
- break;
-
- case PPPIO_LASTMOD:
- /* we knew this anyway */
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_count = 0;
- iop->ioc_error = error;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mtu = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_MRU:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->mru = ((unsigned short *)mp->b_rptr)[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- freemsg(mp);
- break;
- case PPPCTL_UNIT:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- state->unit = mp->b_rptr[1];
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- break;
- default:
- putnext(q, mp);
- }
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-/*
- * Read side put routine
- */
-static int
-ahdlc_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
-
- state = (ahdlc_state_t *) q->q_ptr;
- if (state == 0) {
- DPRINT("state == 0 in ahdlc_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
- case M_DATA:
- ahdlc_decode(q, mp);
- freemsg(mp);
- break;
-
- case M_HANGUP:
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
- if (state->rx_buf != 0) {
- /* XXX would like to send this up for debugging */
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- }
- state->flags = IFLUSH;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
- return 0;
-}
-
-/*
- * Extract bit c from map m, to determine if c needs to be escaped
- */
-#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
-
-static void
-ahdlc_encode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- u_int32_t *xaccm, loc_xaccm[8];
- ushort_t fcs;
- size_t outmp_len;
- mblk_t *outmp, *tmp;
- uchar_t *dp, fcs_val;
- int is_lcp, code;
-#if defined(SOL2)
- clock_t lbolt;
-#endif /* SOL2 */
-
- if (msgdsize(mp) < 4) {
- return;
- }
-
- state = (ahdlc_state_t *)q->q_ptr;
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- /*
- * Allocate an output buffer large enough to handle a case where all
- * characters need to be escaped
- */
- outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
- (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
- (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
-
- outmp = allocb(outmp_len, BPRI_MED);
- if (outmp == NULL) {
- state->stats.ppp_oerrors++;
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- return;
- }
-
-#if defined(SOL2)
- /*
- * Check if our last transmit happenned within flag_time, using
- * the system's LBOLT value in clock ticks
- */
- if (drv_getparm(LBOLT, &lbolt) != -1) {
- if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
- state->lbolt = lbolt;
- } else {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#else
- /*
- * If the driver below still has a message to process, skip the
- * HDLC flag, otherwise, put one in the beginning
- */
- if (qsize(q->q_next) == 0) {
- *outmp->b_wptr++ = PPP_FLAG;
- }
-#endif
-
- /*
- * All control characters must be escaped for LCP packets with code
- * values between 1 (Conf-Req) and 7 (Code-Rej).
- */
- is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
- (MSG_BYTE(mp, 1) == PPP_UI) &&
- (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
- (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
- LCP_USE_DFLT(mp));
-
- xaccm = state->xaccm;
- if (is_lcp) {
- bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
- loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
- xaccm = loc_xaccm;
- }
-
- fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
-
- /*
- * Process this block and the rest (if any) attached to the this one
- */
- for (tmp = mp; tmp; tmp = tmp->b_cont) {
- if (tmp->b_datap->db_type == M_DATA) {
- for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
- fcs = PPP_FCS(fcs, *dp);
- if (IN_TX_MAP(*dp, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = *dp ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = *dp;
- }
- }
- } else {
- continue; /* skip if db_type is something other than M_DATA */
- }
- }
-
- /*
- * Append the HDLC FCS, making sure that escaping is done on any
- * necessary bytes
- */
- fcs_val = (fcs ^ 0xffff) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
- if (IN_TX_MAP(fcs_val, xaccm)) {
- *outmp->b_wptr++ = PPP_ESCAPE;
- *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
- } else {
- *outmp->b_wptr++ = fcs_val;
- }
-
- /*
- * And finally, append the HDLC flag, and send it away
- */
- *outmp->b_wptr++ = PPP_FLAG;
-
- state->stats.ppp_obytes += msgdsize(outmp);
- state->stats.ppp_opackets++;
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-
- putnext(q, outmp);
- return;
-}
-
-/*
- * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
- */
-#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
- (m) & (1 << (c)))
-
-
-/*
- * Process received characters.
- */
-static void
-ahdlc_decode(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- ahdlc_state_t *state;
- mblk_t *om;
- uchar_t *dp;
- ushort_t fcs;
-#if defined(SOL2)
- mblk_t *zmp;
-#endif /* SOL2 */
-
-#if defined(SOL2)
- /*
- * In case the driver (or something below) doesn't send
- * data upstream in one message block, concatenate everything
- */
- if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
- ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
-
- zmp = msgpullup(mp, -1);
- freemsg(mp);
- mp = zmp;
- if (mp == 0)
- return;
- }
-#endif /* SOL2 */
-
- state = (ahdlc_state_t *) q->q_ptr;
-
-#if defined(USE_MUTEX)
- mutex_enter(&state->lock);
-#endif /* USE_MUTEX */
-
- state->stats.ppp_ibytes += msgdsize(mp);
-
- for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
-
- /*
- * This should detect the lack of 8-bit communication channel
- * which is necessary for PPP to work. In addition, it also
- * checks on the parity.
- */
- if (*dp & 0x80)
- state->flags |= RCV_B7_1;
- else
- state->flags |= RCV_B7_0;
-
- if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
- state->flags |= RCV_ODDP;
- else
- state->flags |= RCV_EVNP;
-
- /*
- * So we have a HDLC flag ...
- */
- if (*dp == PPP_FLAG) {
-
- /*
- * If we think that it marks the beginning of the frame,
- * then continue to process the next octects
- */
- if ((state->flags & IFLUSH) ||
- (state->rx_buf == 0) ||
- (msgdsize(state->rx_buf) == 0)) {
-
- state->flags &= ~IFLUSH;
- continue;
- }
-
- /*
- * We get here because the above condition isn't true,
- * in which case the HDLC flag was there to mark the end
- * of the frame (or so we think)
- */
- om = state->rx_buf;
-
- if (state->infcs == PPP_GOODFCS) {
- state->stats.ppp_ipackets++;
- adjmsg(om, -PPP_FCSLEN);
- putnext(q, om);
- } else {
- DPRINT2("ppp%d: bad fcs (len=%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->flags &= ~(IFLUSH | ESCAPED);
- state->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- state->rx_buf = 0;
- continue;
- }
-
- if (state->flags & IFLUSH) {
- continue;
- }
-
- /*
- * Allocate a receive buffer, large enough to store a frame (after
- * un-escaping) of at least 1500 octets. If MRU is negotiated to
- * be more than the default, then allocate that much. In addition,
- * we add an extra 32-bytes for a fudge factor
- */
- if (state->rx_buf == 0) {
- state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
- state->rx_buf_size += (sizeof(u_int32_t) << 3);
- state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
-
- /*
- * If allocation fails, try again on the next frame
- */
- if (state->rx_buf == 0) {
- state->flags |= IFLUSH;
- continue;
- }
- state->flags &= ~(IFLUSH | ESCAPED);
- state->infcs = PPP_INITFCS;
- }
-
- if (*dp == PPP_ESCAPE) {
- state->flags |= ESCAPED;
- continue;
- }
-
- /*
- * Make sure we un-escape the necessary characters, as well as the
- * ones in our receive async control character map
- */
- if (state->flags & ESCAPED) {
- *dp ^= PPP_TRANS;
- state->flags &= ~ESCAPED;
- } else if (IN_RX_MAP(*dp, state->raccm))
- continue;
-
- /*
- * Unless the peer lied to us about the negotiated MRU, we should
- * never get a frame which is too long. If it happens, toss it away
- * and grab the next incoming one
- */
- if (msgdsize(state->rx_buf) < state->rx_buf_size) {
- state->infcs = PPP_FCS(state->infcs, *dp);
- *state->rx_buf->b_wptr++ = *dp;
- } else {
- DPRINT2("ppp%d: frame too long (%d)\n",
- state->unit, msgdsize(state->rx_buf));
- freemsg(state->rx_buf);
- state->rx_buf = 0;
- state->flags |= IFLUSH;
- }
- }
-
-#if defined(USE_MUTEX)
- mutex_exit(&state->lock);
-#endif /* USE_MUTEX */
-}
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c b/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
deleted file mode 100644
index f81be8abb..000000000
--- a/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-
-static struct fmodsw fsw = {
- "ppp_ahdl",
- &ppp_ahdlcinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP async HDLC module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp.c b/mdk-stage1/ppp/solaris/ppp_comp.c
deleted file mode 100644
index f6eef5ab1..000000000
--- a/mdk-stage1/ppp/solaris/ppp_comp.c
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
- * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/errno.h>
-#include <sys/stream.h>
-
-#ifdef SVR4
-#include <sys/conf.h>
-#include <sys/cmn_err.h>
-#include <sys/ddi.h>
-#else
-#include <sys/user.h>
-#ifdef __osf__
-#include <sys/cmn_err.h>
-#endif
-#endif /* SVR4 */
-
-#include <net/ppp_defs.h>
-#include <net/pppio.h>
-#include "ppp_mod.h"
-
-#ifdef __osf__
-#include <sys/mbuf.h>
-#include <sys/protosw.h>
-#endif
-
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <net/vjcompress.h>
-
-#define PACKETPTR mblk_t *
-#include <net/ppp-comp.h>
-
-MOD_OPEN_DECL(ppp_comp_open);
-MOD_CLOSE_DECL(ppp_comp_close);
-static int ppp_comp_rput __P((queue_t *, mblk_t *));
-static int ppp_comp_rsrv __P((queue_t *));
-static int ppp_comp_wput __P((queue_t *, mblk_t *));
-static int ppp_comp_wsrv __P((queue_t *));
-static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
-static int msg_byte __P((mblk_t *, unsigned int));
-
-/* Extract byte i of message mp. */
-#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
- msg_byte((mp), (i)))
-
-/* Is this LCP packet one we have to transmit using LCP defaults? */
-#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
-
-#define PPP_COMP_ID 0xbadf
-static struct module_info minfo = {
-#ifdef PRIOQ
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
-#else
- PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
-#endif
-};
-
-static struct qinit r_init = {
- ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
- NULL, &minfo, NULL
-};
-
-static struct qinit w_init = {
- ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
-};
-
-#if defined(SVR4) && !defined(SOL2)
-int pcmpdevflag = 0;
-#define ppp_compinfo pcmpinfo
-#endif
-struct streamtab ppp_compinfo = {
- &r_init, &w_init, NULL, NULL
-};
-
-int ppp_comp_count; /* number of module instances in use */
-
-#ifdef __osf__
-
-static void ppp_comp_alloc __P((comp_state_t *));
-typedef struct memreq {
- unsigned char comp_opts[20];
- int cmd;
- int thread_status;
- char *returned_mem;
-} memreq_t;
-
-#endif
-
-typedef struct comp_state {
- int flags;
- int mru;
- int mtu;
- int unit;
- struct compressor *xcomp;
- void *xstate;
- struct compressor *rcomp;
- void *rstate;
- struct vjcompress vj_comp;
- int vj_last_ierrors;
- struct pppstat stats;
-#ifdef __osf__
- memreq_t memreq;
- thread_t thread;
-#endif
-} comp_state_t;
-
-
-#ifdef __osf__
-extern task_t first_task;
-#endif
-
-/* Bits in flags are as defined in pppio.h. */
-#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
-#define LAST_MOD 0x1000000 /* no ppp modules below us */
-#define DBGLOG 0x2000000 /* log debugging stuff */
-
-#define MAX_IPHDR 128 /* max TCP/IP header size */
-#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
-
-#undef MIN /* just in case */
-#define MIN(a, b) ((a) < (b)? (a): (b))
-
-/*
- * List of compressors we know about.
- */
-
-#if DO_BSD_COMPRESS
-extern struct compressor ppp_bsd_compress;
-#endif
-#if DO_DEFLATE
-extern struct compressor ppp_deflate, ppp_deflate_draft;
-#endif
-
-struct compressor *ppp_compressors[] = {
-#if DO_BSD_COMPRESS
- &ppp_bsd_compress,
-#endif
-#if DO_DEFLATE
- &ppp_deflate,
- &ppp_deflate_draft,
-#endif
- NULL
-};
-
-/*
- * STREAMS module entry points.
- */
-MOD_OPEN(ppp_comp_open)
-{
- comp_state_t *cp;
-#ifdef __osf__
- thread_t thread;
-#endif
-
- if (q->q_ptr == NULL) {
- cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
- if (cp == NULL)
- OPEN_ERROR(ENOSR);
- bzero((caddr_t)cp, sizeof(comp_state_t));
- WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
- cp->mru = PPP_MRU;
- cp->mtu = PPP_MTU;
- cp->xstate = NULL;
- cp->rstate = NULL;
- vj_compress_init(&cp->vj_comp, -1);
-#ifdef __osf__
- if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
- OPEN_ERROR(ENOSR);
- cp->thread = thread;
-#endif
- ++ppp_comp_count;
- qprocson(q);
- }
- return 0;
-}
-
-MOD_CLOSE(ppp_comp_close)
-{
- comp_state_t *cp;
-
- qprocsoff(q);
- cp = (comp_state_t *) q->q_ptr;
- if (cp != NULL) {
- if (cp->xstate != NULL)
- (*cp->xcomp->comp_free)(cp->xstate);
- if (cp->rstate != NULL)
- (*cp->rcomp->decomp_free)(cp->rstate);
-#ifdef __osf__
- if (!cp->thread)
- printf("ppp_comp_close: NULL thread!\n");
- else
- thread_terminate(cp->thread);
-#endif
- FREE(cp, sizeof(comp_state_t));
- q->q_ptr = NULL;
- OTHERQ(q)->q_ptr = NULL;
- --ppp_comp_count;
- }
- return 0;
-}
-
-#ifdef __osf__
-
-/* thread for calling back to a compressor's memory allocator
- * Needed for Digital UNIX since it's VM can't handle requests
- * for large amounts of memory without blocking. The thread
- * provides a context in which we can call a memory allocator
- * that may block.
- */
-static void
-ppp_comp_alloc(comp_state_t *cp)
-{
- int len, cmd;
- unsigned char *compressor_options;
- thread_t thread;
- void *(*comp_allocator)();
-
-
-#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
-
- /* In 2.x and earlier the argument gets passed
- * in the thread structure itself. Yuck.
- */
- thread = current_thread();
- cp = thread->reply_port;
- thread->reply_port = PORT_NULL;
-
-#endif
-
- for (;;) {
- assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
- thread_block();
-
- if (thread_should_halt(current_thread()))
- thread_halt_self();
- cmd = cp->memreq.cmd;
- compressor_options = &cp->memreq.comp_opts[0];
- len = compressor_options[1];
- if (cmd == PPPIO_XCOMP) {
- cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- } else {
- cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
- if (!cp->memreq.returned_mem) {
- cp->memreq.thread_status = ENOSR;
- } else {
- cp->memreq.thread_status = 0;
- }
- }
- }
-}
-
-#endif /* __osf__ */
-
-/* here's the deal with memory allocation under Digital UNIX.
- * Some other may also benefit from this...
- * We can't ask for huge chunks of memory in a context where
- * the caller can't be put to sleep (like, here.) The alloc
- * is likely to fail. Instead we do this: the first time we
- * get called, kick off a thread to do the allocation. Return
- * immediately to the caller with EAGAIN, as an indication that
- * they should send down the ioctl again. By the time the
- * second call comes in it's likely that the memory allocation
- * thread will have returned with the requested memory. We will
- * continue to return EAGAIN however until the thread has completed.
- * When it has, we return zero (and the memory) if the allocator
- * was successful and ENOSR otherwise.
- *
- * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
- * required) to loop for some number of iterations with a small
- * delay in the loop body (for instance a 1/10-th second "sleep"
- * via select.)
- */
-static int
-ppp_comp_wput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- struct iocblk *iop;
- comp_state_t *cp;
- int error, len, n;
- int flags, mask;
- mblk_t *np;
- struct compressor **comp;
- struct ppp_stats *psp;
- struct ppp_comp_stats *csp;
- unsigned char *opt_data;
- int nxslots, nrslots;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCTL:
- iop = (struct iocblk *) mp->b_rptr;
- error = EINVAL;
- switch (iop->ioc_cmd) {
-
- case PPPIO_CFLAGS:
- /* set/get CCP state */
- if (iop->ioc_count != 2 * sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
- break;
- }
- flags = ((int *) mp->b_cont->b_rptr)[0];
- mask = ((int *) mp->b_cont->b_rptr)[1];
- cp->flags = (cp->flags & ~mask) | (flags & mask);
- if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->flags &= ~CCP_ISUP;
- }
- error = 0;
- iop->ioc_count = sizeof(int);
- ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
- mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
- break;
-
- case PPPIO_VJINIT:
- /*
- * Initialize VJ compressor/decompressor
- */
- if (iop->ioc_count != 2)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
- break;
- }
- nxslots = mp->b_cont->b_rptr[0] + 1;
- nrslots = mp->b_cont->b_rptr[1] + 1;
- if (nxslots > MAX_STATES || nrslots > MAX_STATES)
- break;
- vj_compress_init(&cp->vj_comp, nxslots);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- error = 0;
- iop->ioc_count = 0;
- break;
-
- case PPPIO_XCOMP:
- case PPPIO_RCOMP:
- if (iop->ioc_count <= 0)
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
- break;
- }
- opt_data = mp->b_cont->b_rptr;
- len = mp->b_cont->b_wptr - opt_data;
- if (len > iop->ioc_count)
- len = iop->ioc_count;
- if (opt_data[1] < 2 || opt_data[1] > len)
- break;
- for (comp = ppp_compressors; *comp != NULL; ++comp)
- if ((*comp)->compress_proto == opt_data[0]) {
- /* here's the handler! */
- error = 0;
-#ifndef __osf__
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- /* A previous call may have fetched memory for a compressor
- * that's now being retired or reset. Free it using it's
- * mechanism for freeing stuff.
- */
- if (cp->xstate != NULL) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = NULL;
- }
- cp->xcomp = *comp;
- cp->xstate = (*comp)->comp_alloc(opt_data, len);
- if (cp->xstate == NULL)
- error = ENOSR;
- } else {
- if (cp->rstate != NULL) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- cp->rcomp = *comp;
- cp->rstate = (*comp)->decomp_alloc(opt_data, len);
- if (cp->rstate == NULL)
- error = ENOSR;
- }
-#else
- if ((error = cp->memreq.thread_status) != EAGAIN)
- if (iop->ioc_cmd == PPPIO_XCOMP) {
- if (cp->xstate) {
- (*cp->xcomp->comp_free)(cp->xstate);
- cp->xstate = 0;
- }
- /* sanity check for compressor options
- */
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- /* fill in request for the thread and kick it off
- */
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_XCOMP;
- cp->xcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->xstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- } else {
- if (cp->rstate) {
- (*cp->rcomp->decomp_free)(cp->rstate);
- cp->rstate = NULL;
- }
- if (sizeof (cp->memreq.comp_opts) < len) {
- printf("can't handle options for compressor %d (%d)\n", opt_data[0],
- opt_data[1]);
- cp->memreq.thread_status = ENOSR;
- cp->memreq.returned_mem = 0;
- }
- if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
- bcopy(opt_data, cp->memreq.comp_opts, len);
- cp->memreq.cmd = PPPIO_RCOMP;
- cp->rcomp = *comp;
- error = cp->memreq.thread_status = EAGAIN;
- thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
- } else {
- cp->rstate = cp->memreq.returned_mem;
- cp->memreq.returned_mem = 0;
- cp->memreq.thread_status = 0;
- }
- }
-#endif
- break;
- }
- iop->ioc_count = 0;
- break;
-
- case PPPIO_GETSTAT:
- if ((cp->flags & LAST_MOD) == 0) {
- error = -1; /* let the ppp_ahdl module handle it */
- break;
- }
- np = allocb(sizeof(struct ppp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- psp = (struct ppp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_stats);
- iop->ioc_count = sizeof(struct ppp_stats);
- psp->p = cp->stats;
- psp->vj = cp->vj_comp.stats;
- error = 0;
- break;
-
- case PPPIO_GETCSTAT:
- np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
- if (np == 0) {
- error = ENOSR;
- break;
- }
- if (mp->b_cont != 0)
- freemsg(mp->b_cont);
- mp->b_cont = np;
- csp = (struct ppp_comp_stats *) np->b_wptr;
- np->b_wptr += sizeof(struct ppp_comp_stats);
- iop->ioc_count = sizeof(struct ppp_comp_stats);
- bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
- if (cp->xstate != 0)
- (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
- if (cp->rstate != 0)
- (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
- error = 0;
- break;
-
- case PPPIO_DEBUG:
- if (iop->ioc_count != sizeof(int))
- break;
- if (mp->b_cont == 0) {
- DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
- break;
- }
- n = *(int *)mp->b_cont->b_rptr;
- if (n == PPPDBG_LOG + PPPDBG_COMP) {
- DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
- cp->flags |= DBGLOG;
- error = 0;
- iop->ioc_count = 0;
- } else {
- error = -1;
- }
- break;
-
- case PPPIO_LASTMOD:
- cp->flags |= LAST_MOD;
- error = 0;
- break;
-
- default:
- error = -1;
- break;
- }
-
- if (error < 0)
- putnext(q, mp);
- else if (error == 0) {
- mp->b_datap->db_type = M_IOCACK;
- qreply(q, mp);
- } else {
- mp->b_datap->db_type = M_IOCNAK;
- iop->ioc_error = error;
- iop->ioc_count = 0;
- qreply(q, mp);
- }
- break;
-
- case M_CTL:
- switch (*mp->b_rptr) {
- case PPPCTL_MTU:
- cp->mtu = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_MRU:
- cp->mru = ((unsigned short *)mp->b_rptr)[1];
- break;
- case PPPCTL_UNIT:
- cp->unit = mp->b_rptr[1];
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_wsrv(q)
- queue_t *q;
-{
- mblk_t *mp, *cmp = NULL;
- comp_state_t *cp;
- int len, proto, type, hlen, code;
- struct ip *ip;
- unsigned char *vjhdr, *dp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_wsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
-#ifdef PRIOQ
- if (!bcanputnext(q,mp->b_band))
-#else
- if (!canputnext(q))
-#endif PRIOQ
- {
- putbq(q, mp);
- break;
- }
-
- /*
- * First check the packet length and work out what the protocol is.
- */
- len = msgdsize(mp);
- if (len < PPP_HDRLEN) {
- DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
- freemsg(mp);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
-
- /*
- * Make sure we've got enough data in the first mblk
- * and that we are its only user.
- */
- if (proto == PPP_CCP)
- hlen = len;
- else if (proto == PPP_IP)
- hlen = PPP_HDRLEN + MAX_IPHDR;
- else
- hlen = PPP_HDRLEN;
- if (hlen > len)
- hlen = len;
- if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
- PULLUP(mp, hlen);
- if (mp == 0) {
- DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
- cp->stats.ppp_oerrors++;
- putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
- continue;
- }
- }
-
- /*
- * Do VJ compression if requested.
- */
- if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
- ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
- if (ip->ip_p == IPPROTO_TCP) {
- type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
- (cp->flags & COMP_VJCCID), &vjhdr);
- switch (type) {
- case TYPE_UNCOMPRESSED_TCP:
- mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
- break;
- case TYPE_COMPRESSED_TCP:
- dp = vjhdr - PPP_HDRLEN;
- dp[1] = mp->b_rptr[1]; /* copy control field */
- dp[0] = mp->b_rptr[0]; /* copy address field */
- dp[2] = 0; /* set protocol field */
- dp[3] = proto = PPP_VJC_COMP;
- mp->b_rptr = dp;
- break;
- }
- }
- }
-
- /*
- * Do packet compression if enabled.
- */
- if (proto == PPP_CCP)
- ppp_comp_ccp(q, mp, 0);
- else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
- && cp->xstate != NULL) {
- len = msgdsize(mp);
- (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
- (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
- if (cmp != NULL) {
-#ifdef PRIOQ
- cmp->b_band=mp->b_band;
-#endif PRIOQ
- freemsg(mp);
- mp = cmp;
- }
- }
-
- /*
- * Do address/control and protocol compression if enabled.
- */
- if ((cp->flags & COMP_AC)
- && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
- mp->b_rptr += 2; /* drop the address & ctrl fields */
- if (proto < 0x100 && (cp->flags & COMP_PROT))
- ++mp->b_rptr; /* drop the high protocol byte */
- } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
- /* shuffle up the address & ctrl fields */
- mp->b_rptr[2] = mp->b_rptr[1];
- mp->b_rptr[1] = mp->b_rptr[0];
- ++mp->b_rptr;
- }
-
- cp->stats.ppp_opackets++;
- cp->stats.ppp_obytes += msgdsize(mp);
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rput(q, mp)
- queue_t *q;
- mblk_t *mp;
-{
- comp_state_t *cp;
- struct iocblk *iop;
- struct ppp_stats *psp;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rput\n");
- freemsg(mp);
- return 0;
- }
-
- switch (mp->b_datap->db_type) {
-
- case M_DATA:
- putq(q, mp);
- break;
-
- case M_IOCACK:
- iop = (struct iocblk *) mp->b_rptr;
- switch (iop->ioc_cmd) {
- case PPPIO_GETSTAT:
- /*
- * Catch this on the way back from the ppp_ahdl module
- * so we can fill in the VJ stats.
- */
- if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
- break;
- psp = (struct ppp_stats *) mp->b_cont->b_rptr;
- psp->vj = cp->vj_comp.stats;
- break;
- }
- putnext(q, mp);
- break;
-
- case M_CTL:
- switch (mp->b_rptr[0]) {
- case PPPCTL_IERROR:
- ++cp->stats.ppp_ierrors;
- break;
- case PPPCTL_OERROR:
- ++cp->stats.ppp_oerrors;
- break;
- }
- putnext(q, mp);
- break;
-
- default:
- putnext(q, mp);
- }
-
- return 0;
-}
-
-static int
-ppp_comp_rsrv(q)
- queue_t *q;
-{
- int proto, rv, i;
- mblk_t *mp, *dmp = NULL, *np;
- uchar_t *dp, *iphdr;
- comp_state_t *cp;
- int len, hlen, vjlen;
- u_int iphlen;
-
- cp = (comp_state_t *) q->q_ptr;
- if (cp == 0) {
- DPRINT("cp == 0 in ppp_comp_rsrv\n");
- return 0;
- }
-
- while ((mp = getq(q)) != 0) {
- /* assert(mp->b_datap->db_type == M_DATA) */
- if (!canputnext(q)) {
- putbq(q, mp);
- break;
- }
-
- len = msgdsize(mp);
- cp->stats.ppp_ibytes += len;
- cp->stats.ppp_ipackets++;
-
- /*
- * First work out the protocol and where the PPP header ends.
- */
- i = 0;
- proto = MSG_BYTE(mp, 0);
- if (proto == PPP_ALLSTATIONS) {
- i = 2;
- proto = MSG_BYTE(mp, 2);
- }
- if ((proto & 1) == 0) {
- ++i;
- proto = (proto << 8) + MSG_BYTE(mp, i);
- }
- hlen = i + 1;
-
- /*
- * Now reconstruct a complete, contiguous PPP header at the
- * start of the packet.
- */
- if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
- + ((cp->flags & DECOMP_PROT)? 1: 2)) {
- /* count these? */
- goto bad;
- }
- if (mp->b_rptr + hlen > mp->b_wptr) {
- adjmsg(mp, hlen); /* XXX check this call */
- hlen = 0;
- }
- if (hlen != PPP_HDRLEN) {
- /*
- * We need to put some bytes on the front of the packet
- * to make a full-length PPP header.
- * If we can put them in *mp, we do, otherwise we
- * tack another mblk on the front.
- * XXX we really shouldn't need to carry around
- * the address and control at this stage.
- */
- dp = mp->b_rptr + hlen - PPP_HDRLEN;
- if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
- np = allocb(PPP_HDRLEN, BPRI_MED);
- if (np == 0)
- goto bad;
- np->b_cont = mp;
- mp->b_rptr += hlen;
- mp = np;
- dp = mp->b_wptr;
- mp->b_wptr += PPP_HDRLEN;
- } else
- mp->b_rptr = dp;
-
- dp[0] = PPP_ALLSTATIONS;
- dp[1] = PPP_UI;
- dp[2] = proto >> 8;
- dp[3] = proto;
- }
-
- /*
- * Now see if we have a compressed packet to decompress,
- * or a CCP packet to take notice of.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_CCP) {
- len = msgdsize(mp);
- if (mp->b_wptr < mp->b_rptr + len) {
- PULLUP(mp, len);
- if (mp == 0)
- goto bad;
- }
- ppp_comp_ccp(q, mp, 1);
- } else if (proto == PPP_COMP) {
- if ((cp->flags & CCP_ISUP)
- && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
- && (cp->flags & CCP_ERR) == 0) {
- rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
- switch (rv) {
- case DECOMP_OK:
- freemsg(mp);
- mp = dmp;
- if (mp == NULL) {
- /* no error, but no packet returned either. */
- continue;
- }
- break;
- case DECOMP_ERROR:
- cp->flags |= CCP_ERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- case DECOMP_FATALERROR:
- cp->flags |= CCP_FATALERROR;
- ++cp->stats.ppp_ierrors;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- break;
- }
- }
- } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->incomp)(cp->rstate, mp);
- }
-
- /*
- * Now do VJ decompression.
- */
- proto = PPP_PROTOCOL(mp->b_rptr);
- if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
- len = msgdsize(mp) - PPP_HDRLEN;
- if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
- goto bad;
-
- /*
- * Advance past the ppp header.
- * Here we assume that the whole PPP header is in the first mblk.
- */
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- if (dp >= mp->b_wptr) {
- np = np->b_cont;
- dp = np->b_rptr;
- }
-
- /*
- * Make sure we have sufficient contiguous data at this point.
- */
- hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
- if (hlen > len)
- hlen = len;
- if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
- PULLUP(mp, hlen + PPP_HDRLEN);
- if (mp == 0)
- goto bad;
- np = mp;
- dp = np->b_rptr + PPP_HDRLEN;
- }
-
- if (proto == PPP_VJC_COMP) {
- /*
- * Decompress VJ-compressed packet.
- * First reset compressor if an input error has occurred.
- */
- if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
- if (cp->flags & DBGLOG)
- DPRINT1("ppp%d: resetting VJ\n", cp->unit);
- vj_uncompress_err(&cp->vj_comp);
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- }
-
- vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
- &cp->vj_comp, &iphdr, &iphlen);
- if (vjlen < 0) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* so we don't reset next time */
- goto bad;
- }
-
- /* drop ppp and vj headers off */
- if (mp != np) {
- freeb(mp);
- mp = np;
- }
- mp->b_rptr = dp + vjlen;
-
- /* allocate a new mblk for the ppp and ip headers */
- if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
- goto bad;
- dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
- dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
- dp[1] = PPP_UI;
- dp[2] = PPP_IP >> 8;
- dp[3] = PPP_IP;
- bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
- np->b_wptr = dp + iphlen + PPP_HDRLEN;
- np->b_cont = mp;
-
- /* XXX there seems to be a bug which causes panics in strread
- if we make an mbuf with only the IP header in it :-( */
- if (mp->b_wptr - mp->b_rptr > 4) {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
- mp->b_rptr += 4;
- np->b_wptr += 4;
- } else {
- bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
- mp->b_wptr - mp->b_rptr);
- np->b_wptr += mp->b_wptr - mp->b_rptr;
- np->b_cont = mp->b_cont;
- freeb(mp);
- }
-
- mp = np;
-
- } else {
- /*
- * "Decompress" a VJ-uncompressed packet.
- */
- cp->vj_last_ierrors = cp->stats.ppp_ierrors;
- if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
- if (cp->flags & DBGLOG)
- DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
- cp->unit, len);
- ++cp->vj_last_ierrors; /* don't need to reset next time */
- goto bad;
- }
- mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
- }
- }
-
- putnext(q, mp);
- continue;
-
- bad:
- if (mp != 0)
- freemsg(mp);
- cp->stats.ppp_ierrors++;
- putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
- }
-
- return 0;
-}
-
-/*
- * Handle a CCP packet being sent or received.
- * Here all the data in the packet is in a single mbuf.
- */
-static void
-ppp_comp_ccp(q, mp, rcvd)
- queue_t *q;
- mblk_t *mp;
- int rcvd;
-{
- int len, clen;
- comp_state_t *cp;
- unsigned char *dp;
-
- len = msgdsize(mp);
- if (len < PPP_HDRLEN + CCP_HDRLEN)
- return;
-
- cp = (comp_state_t *) q->q_ptr;
- dp = mp->b_rptr + PPP_HDRLEN;
- len -= PPP_HDRLEN;
- clen = CCP_LENGTH(dp);
- if (clen > len)
- return;
-
- switch (CCP_CODE(dp)) {
- case CCP_CONFREQ:
- case CCP_TERMREQ:
- case CCP_TERMACK:
- cp->flags &= ~CCP_ISUP;
- break;
-
- case CCP_CONFACK:
- if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
- && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
- && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
- if (!rcvd) {
- if (cp->xstate != NULL
- && (*cp->xcomp->comp_init)
- (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
- cp->flags |= CCP_COMP_RUN;
- } else {
- if (cp->rstate != NULL
- && (*cp->rcomp->decomp_init)
- (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
- cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
- cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
- }
- }
- break;
-
- case CCP_RESETACK:
- if (cp->flags & CCP_ISUP) {
- if (!rcvd) {
- if (cp->xstate && (cp->flags & CCP_COMP_RUN))
- (*cp->xcomp->comp_reset)(cp->xstate);
- } else {
- if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
- (*cp->rcomp->decomp_reset)(cp->rstate);
- cp->flags &= ~CCP_ERROR;
- }
- }
- }
- break;
- }
-}
-
-#if 0
-dump_msg(mp)
- mblk_t *mp;
-{
- dblk_t *db;
-
- while (mp != 0) {
- db = mp->b_datap;
- DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
- DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
- DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
- DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
- mp = mp->b_cont;
- }
-}
-#endif
-
-static int
-msg_byte(mp, i)
- mblk_t *mp;
- unsigned int i;
-{
- while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
- mp = mp->b_cont;
- if (mp == 0)
- return -1;
- return mp->b_rptr[i];
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp_mod.c b/mdk-stage1/ppp/solaris/ppp_comp_mod.c
deleted file mode 100644
index 83ff8e252..000000000
--- a/mdk-stage1/ppp/solaris/ppp_comp_mod.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_compinfo;
-
-static struct fmodsw fsw = {
- "ppp_comp",
- &ppp_compinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP compression module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.c b/mdk-stage1/ppp/solaris/ppp_mod.c
deleted file mode 100644
index a4b1538a5..000000000
--- a/mdk-stage1/ppp/solaris/ppp_mod.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * ppp_mod.c - modload support for PPP pseudo-device driver.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-#include <sys/ksynch.h>
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-static int ppp_identify __P((dev_info_t *));
-static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
-static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
-static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
-
-extern struct streamtab pppinfo;
-extern krwlock_t ppp_lower_lock;
-
-static dev_info_t *ppp_dip;
-
-static struct cb_ops cb_ppp_ops = {
- nulldev, nulldev, nodev, nodev, /* cb_open, ... */
- nodev, nodev, nodev, nodev, /* cb_dump, ... */
- nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
- ddi_prop_op, /* cb_prop_op */
- &pppinfo, /* cb_stream */
- D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
-};
-
-static struct dev_ops ppp_ops = {
- DEVO_REV, /* devo_rev */
- 0, /* devo_refcnt */
- ppp_devinfo, /* devo_getinfo */
- ppp_identify, /* devo_identify */
- nulldev, /* devo_probe */
- ppp_attach, /* devo_attach */
- ppp_detach, /* devo_detach */
- nodev, /* devo_reset */
- &cb_ppp_ops, /* devo_cb_ops */
- NULL /* devo_bus_ops */
-};
-
-/*
- * Module linkage information
- */
-
-static struct modldrv modldrv = {
- &mod_driverops, /* says this is a pseudo driver */
- "PPP-2.3 multiplexing driver",
- &ppp_ops /* driver ops */
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modldrv,
- NULL
-};
-
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
-
-static int
-ppp_identify(dip)
- dev_info_t *dip;
-{
- return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
- DDI_NOT_IDENTIFIED;
-}
-
-static int
-ppp_attach(dip, cmd)
- dev_info_t *dip;
- ddi_attach_cmd_t cmd;
-{
-
- if (cmd != DDI_ATTACH)
- return DDI_FAILURE;
- if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
- == DDI_FAILURE) {
- ddi_remove_minor_node(dip, NULL);
- return DDI_FAILURE;
- }
- rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_detach(dip, cmd)
- dev_info_t *dip;
- ddi_detach_cmd_t cmd;
-{
- rw_destroy(&ppp_lower_lock);
- ddi_remove_minor_node(dip, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_devinfo(dip, cmd, arg, result)
- dev_info_t *dip;
- ddi_info_cmd_t cmd;
- void *arg;
- void **result;
-{
- int error;
-
- error = DDI_SUCCESS;
- switch (cmd) {
- case DDI_INFO_DEVT2DEVINFO:
- if (ppp_dip == NULL)
- error = DDI_FAILURE;
- else
- *result = (void *) ppp_dip;
- break;
- case DDI_INFO_DEVT2INSTANCE:
- *result = NULL;
- break;
- default:
- error = DDI_FAILURE;
- }
- return error;
-}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.h b/mdk-stage1/ppp/solaris/ppp_mod.h
deleted file mode 100644
index f0af00886..000000000
--- a/mdk-stage1/ppp/solaris/ppp_mod.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Miscellaneous definitions for PPP STREAMS modules.
- */
-
-/*
- * Macros for allocating and freeing kernel memory.
- */
-#ifdef SVR4 /* SVR4, including Solaris 2 */
-#include <sys/kmem.h>
-#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#endif
-
-#ifdef SUNOS4
-#include <sys/kmem_alloc.h> /* SunOS 4.x */
-#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
-#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
-#define FREE(p, n) kmem_free((p), (n))
-#define NOTSUSER() (suser()? 0: EPERM)
-#define bcanputnext(q, band) canputnext((q))
-#endif /* SunOS 4 */
-
-#ifdef __osf__
-#include <sys/malloc.h>
-
-/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
- * which are subject to change.
- * The problems are that:
- * - the official MALLOC macro wants the lhs of the assignment as an argument,
- * and it takes care of the assignment itself (yuck.)
- * - PPP insists on using "FREE" which conflicts with a macro of the same name.
- *
- */
-#ifdef BUCKETINDX /* V2.0 */
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
-#else
-#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
-#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
-#endif
-
-#define bcanputnext(q, band) canputnext((q))
-
-#ifdef FREE
-#undef FREE
-#endif
-#define FREE(p, n) free((void *)(p), M_DEVBUF)
-
-#define NO_DLPI 1
-
-#ifndef IFT_PPP
-#define IFT_PPP 0x17
-#endif
-
-#include <sys/proc.h>
-#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
-
-/* #include "ppp_osf.h" */
-
-#endif /* __osf__ */
-
-#ifdef AIX4
-#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
-#define FREE(p, n) xmfree((p), pinned_heap)
-#define NOTSUSER() (suser()? 0: EPERM)
-#endif /* AIX */
-
-/*
- * Macros for printing debugging stuff.
- */
-#ifdef DEBUG
-#if defined(SVR4) || defined(__osf__)
-#if defined(SNI)
-#include <sys/strlog.h>
-#define STRLOG_ID 4712
-#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
-#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
-#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
-#else
-#define DPRINT(f) cmn_err(CE_CONT, f)
-#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
-#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
-#endif /* SNI */
-#else
-#define DPRINT(f) printf(f)
-#define DPRINT1(f, a1) printf(f, a1)
-#define DPRINT2(f, a1, a2) printf(f, a1, a2)
-#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
-#endif /* SVR4 or OSF */
-
-#else
-#define DPRINT(f) 0
-#define DPRINT1(f, a1) 0
-#define DPRINT2(f, a1, a2) 0
-#define DPRINT3(f, a1, a2, a3) 0
-#endif /* DEBUG */
-
-#ifndef SVR4
-typedef unsigned char uchar_t;
-typedef unsigned short ushort_t;
-#ifndef __osf__
-typedef int minor_t;
-#endif
-#endif
-
-/*
- * If we don't have multithreading support, define substitutes.
- */
-#ifndef D_MP
-# define qprocson(q)
-# define qprocsoff(q)
-# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
-# define canputnext(q) canput((q)->q_next)
-# define qwriter(q, mp, func, scope) (func)((q), (mp))
-#endif
-
-#ifdef D_MP
-/* Use msgpullup if we have other multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- mblk_t *np = msgpullup((mp), (len)); \
- freemsg((mp)); \
- mp = np; \
- } while (0)
-
-#else
-/* Use pullupmsg if we don't have any multithreading support. */
-#define PULLUP(mp, len) \
- do { \
- if (!pullupmsg((mp), (len))) { \
- freemsg((mp)); \
- mp = 0; \
- } \
- } while (0)
-#endif
-
-/*
- * How to declare the open and close procedures for a module.
- */
-#ifdef SVR4
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, dev_t *, int, int, cred_t *))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int, cred_t *))
-
-#define MOD_OPEN(name) \
-static int name(q, devp, flag, sflag, credp) \
- queue_t *q; \
- dev_t *devp; \
- int flag, sflag; \
- cred_t *credp;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag, credp) \
- queue_t *q; \
- int flag; \
- cred_t *credp;
-
-#define OPEN_ERROR(x) return (x)
-#define DRV_OPEN_OK(dev) return 0
-
-#define NOTSUSER() (drv_priv(credp))
-
-#else /* not SVR4 */
-#define MOD_OPEN_DECL(name) \
-static int name __P((queue_t *, int, int, int))
-
-#define MOD_CLOSE_DECL(name) \
-static int name __P((queue_t *, int))
-
-#define MOD_OPEN(name) \
-static int name(q, dev, flag, sflag) \
- queue_t *q; \
- int dev; \
- int flag, sflag;
-
-#define MOD_CLOSE(name) \
-static int name(q, flag) \
- queue_t *q; \
- int flag;
-
-#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
-#define DRV_OPEN_OK(dev) return (dev)
-
-#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/sunos4/Makedefs b/mdk-stage1/ppp/sunos4/Makedefs
deleted file mode 100644
index 8b56a2b67..000000000
--- a/mdk-stage1/ppp/sunos4/Makedefs
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= install -o root -g daemon
-
-BINDIR = /usr/local/etc
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-# To use gcc, uncomment the next line.
-#CC = gcc
-COPTS = -O
diff --git a/mdk-stage1/ppp/sunos4/Makefile b/mdk-stage1/ppp/sunos4/Makefile
deleted file mode 100644
index 701e24e14..000000000
--- a/mdk-stage1/ppp/sunos4/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Makefile for STREAMS modules for SunOS 4.
-#
-# $Id$
-#
-
-include Makedefs
-
-LD = /usr/bin/ld # make sure we don't get gnu ld
-
-# Defining __$(ARCH)__ is for gcc's broken version of sun/vddrv.h.
-ARCH = `/bin/arch -k`
-DEFINES= -DKERNEL -D_KERNEL -DSUNOS4 -D$(ARCH) -D__$(ARCH)__ \
- -DDEBUG -DNO_DLPI -DSNIT_SUPPORT
-CFLAGS= $(DEFINES) -I../include $(COPTS)
-
-MODULES= ppp_mod.o ppp_ahdl_mod.o ppp_comp_mod.o if_ppp_mod.o
-
-all: $(MODULES)
-
-ppp_mod.o: ppp.o ppp_vdcmd.o
- $(LD) -r -o ppp_mod.o ppp.o ppp_vdcmd.o
-
-ppp_ahdl_mod.o: ppp_ahdlc.o ppp_ahdlc_vdcmd.o
- $(LD) -r -o ppp_ahdl_mod.o ppp_ahdlc.o ppp_ahdlc_vdcmd.o
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_vdcmd.o
-ppp_comp_mod.o: $(COMP_OBJS)
- $(LD) -r -o $@ $(COMP_OBJS)
-
-if_ppp.o: ../modules/if_ppp.c
- $(CC) $(CFLAGS) -c $?
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-if_ppp_mod.o: if_ppp.o if_ppp_vdcmd.o
- $(LD) -r -o if_ppp_mod.o if_ppp.o if_ppp_vdcmd.o
-
-install: all
- $(INSTALL) $(MODULES) $(BINDIR)
- ./ppp.INSTALL
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/sunos4/Makefile.top b/mdk-stage1/ppp/sunos4/Makefile.top
deleted file mode 100644
index c86e0884d..000000000
--- a/mdk-stage1/ppp/sunos4/Makefile.top
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# ppp top level makefile
-#
-
-include sunos4/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd sunos4; $(MAKE) all
- cd pppdump; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd sunos4; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- $(INSTALL) -c -m 644 etc.ppp/options $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
-
-$(BINDIR):
- $(INSTALL) -d -m 755 $@
-$(MANDIR)/man8:
- $(INSTALL) -d -m 755 $@
-$(ETCDIR):
- $(INSTALL) -d -m 755 $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd sunos4; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
deleted file mode 100644
index 2bf9710f4..000000000
--- a/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab if_pppinfo;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "if_ppp"
-};
-
-static int fmodsw_index = -1;
-
-int
-if_ppp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n, error;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &if_pppinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (fmodsw_index <= 0)
- return EINVAL;
- error = if_ppp_unload();
- if (error != 0)
- return error;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp.INSTALL b/mdk-stage1/ppp/sunos4/ppp.INSTALL
deleted file mode 100755
index 0018bf8d0..000000000
--- a/mdk-stage1/ppp/sunos4/ppp.INSTALL
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# Script for loading, unloading, etc. ppp modules.
-
-moddir=/usr/local/etc
-etcppp=/etc/ppp
-
-PATH=/usr/etc:/usr/bin
-
-# Check that we're superuser
-touch /tmp/su$$
-if chown root /tmp/su$$ >/dev/null; then :
-else
- echo "$0: must be root."
- rm -f /tmp/su$$
- exit 1
-fi
-rm -f /tmp/su$$
-
-case "$0" in
-*ppp.INSTALL)
- if [ ! -f ppp.INSTALL ]; then
- echo "ppp.INSTALL: not found"
- exit 1
- fi
- for n in INSTALL LOAD UNLOAD MKDEV RMDEV; do
- if [ -h /dev/ppp.$n -o -f /dev/ppp.$n ]; then
- rm /dev/ppp.$n
- fi
- done
- cp ppp.INSTALL /dev
- for n in LOAD UNLOAD MKDEV RMDEV; do
- ln -s ppp.INSTALL /dev/ppp.$n
- done
- ;;
-
-*ppp.LOAD)
- if modstat | grep -w ppp >/dev/null; then
- echo "ppp driver is already loaded."
- exit 1
- fi
- if modstat | grep -w if_ppp >/dev/null; then
- echo "if_ppp module already loaded: not reloading."
- else
- echo -n "if_ppp: "
- modload $moddir/if_ppp_mod.o -sym -entry _if_ppp_vdcmd \
- -o $etcppp/if_ppp_mod
- fi
- echo -n "ppp: "
- modload $moddir/ppp_mod.o -sym -entry _ppp_vdcmd -exec /dev/ppp.MKDEV \
- -o $etcppp/ppp_mod
- echo -n "ppp_comp: "
- modload $moddir/ppp_comp_mod.o -sym -entry _ppp_comp_vdcmd \
- -o $etcppp/ppp_comp
- echo -n "ppp_ahdl: "
- modload $moddir/ppp_ahdl_mod.o -sym -entry _ppp_ahdlc_vdcmd \
- -o $etcppp/ppp_ahdl
- exit 0
- ;;
-
-*ppp.MKDEV)
- # args: module number, type, b-major, c-major
- if [ $# -ne 4 ]; then
- echo "Usage: $0 module-id module-type b-major c-major"
- exit 1
- fi
- if [ "$2" -ne "12345607" -a "$2" -ne "12345600" ]; then
- echo "$0: $2: bad module type"
- exit 1
- fi
- rm -f /dev/ppp
- # we "just know" that 37 is the major number of the clone driver
- mknod /dev/ppp c 37 $4
- chmod 644 /dev/ppp
- exit 0
- ;;
-
-*ppp.UNLOAD)
- stat=0
- if modstat | grep -w if_ppp >/dev/null; then
- echo "$0: not unloading if_ppp module."
- fi
- for mod in ppp ppp_comp ppp_ahdl; do
- id=`modstat | grep -w $mod | awk '{print $1}'`
- if [ x$id = x ]; then
- echo "$mod is not loaded."
- stat=1
- else
- modunload -id $id
- fi
- done
- exit $stat
- ;;
-
-*ppp.RMDEV)
- rm -f /dev/ppp
- exit 0
- ;;
-
-*)
- echo "Invocation names: ppp.INSTALL ppp.LOAD ppp.UNLOAD ppp.MKDEV ppp.RMDEV"
- exit 1
- ;;
-esac
diff --git a/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
deleted file mode 100644
index 2dbe8262b..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-extern int ppp_ahdlc_count;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "ppp_ahdl"
-};
-
-static int fmodsw_index = -1;
-
-int
-ppp_ahdlc_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &ppp_ahdlcinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (ppp_ahdlc_count > 0)
- return EBUSY;
- if (fmodsw_index <= 0)
- return EINVAL;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
deleted file mode 100644
index b81bc47e8..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab ppp_compinfo;
-extern int ppp_comp_count;
-
-static struct vdldrv vd = {
- VDMAGIC_USER,
- "ppp_comp"
-};
-
-static int fmodsw_index = -1;
-
-int
-ppp_comp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- int n;
-
- switch (fun) {
- case VDLOAD:
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- if (fmodsw_index >= 0)
- return EBUSY;
- for (n = 0; n < fmodcnt; ++n)
- if (fmodsw[n].f_str == 0)
- break;
- if (n >= fmodcnt)
- return ENODEV;
- strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
- fmodsw[n].f_str = &ppp_compinfo;
- fmodsw_index = n;
- break;
-
- case VDUNLOAD:
- if (ppp_comp_count > 0)
- return EBUSY;
- if (fmodsw_index <= 0)
- return EINVAL;
- fmodsw[fmodsw_index].f_name[0] = 0;
- fmodsw[fmodsw_index].f_str = 0;
- fmodsw_index = -1;
- break;
-
- case VDSTAT:
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/sunos4/ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
deleted file mode 100644
index 68095c92e..000000000
--- a/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <sys/types.h>
-#include <sys/errno.h>
-#include <sys/conf.h>
-#include <sun/vddrv.h>
-
-extern struct streamtab pppinfo;
-extern int ppp_count;
-extern int nchrdev;
-
-static struct vdldrv vd = {
- VDMAGIC_PSEUDO,
- "ppp"
-};
-
-extern int nodev();
-
-static struct cdevsw ppp_cdevsw = {
- nodev, nodev, nodev, nodev, nodev, nodev, nodev, 0,
- &pppinfo
-};
-
-static struct cdevsw old_entry;
-
-int
-ppp_vdcmd(fun, vdp, vdi, vds)
- unsigned int fun;
- struct vddrv *vdp;
- addr_t vdi;
- struct vdstat *vds;
-{
- static int majnum = -1;
- int n, maj;
-
- switch (fun) {
- case VDLOAD:
- /*
- * It seems like modload doesn't install the cdevsw entry
- * for us. Oh well...
- */
- for (maj = 1; maj < nchrdev; ++maj)
- if (cdevsw[maj].d_open == vd_unuseddev)
- break;
- if (maj >= nchrdev)
- return ENODEV;
- vd.Drv_charmajor = maj;
- old_entry = cdevsw[maj];
- cdevsw[maj] = ppp_cdevsw;
- vd.Drv_cdevsw = &ppp_cdevsw;
- vdp->vdd_vdtab = (struct vdlinkage *) &vd;
- majnum = maj;
- break;
-
- case VDUNLOAD:
- if (ppp_count > 0)
- return EBUSY;
- if (vd.Drv_charmajor > 0)
- cdevsw[vd.Drv_charmajor] = old_entry;
- break;
-
- case VDSTAT:
- /*
- * We have to fool the modstat command into thinking
- * that this module is actually a driver! This is
- * so that installation commands that use the -exec
- * option of modload to run a shell script find out
- * the block and/or char major numbers of the driver
- * loaded (so that the shell script can go off to
- * /dev and *MAKE* the bloody device nodes- remember
- * they might change from one load to another if
- * you don't hardwire the number!).
- */
- vds->vds_magic = VDMAGIC_DRV;
- vds->vds_modinfo[0] = (char) 0;
- vds->vds_modinfo[1] = (char) majnum;
- break;
-
- default:
- return EIO;
- }
- return 0;
-}
diff --git a/mdk-stage1/ppp/svr4/Makedefs b/mdk-stage1/ppp/svr4/Makedefs
deleted file mode 100644
index 81db8ab2e..000000000
--- a/mdk-stage1/ppp/svr4/Makedefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# defines common to several Makefiles
-#
-
-INSTALL= /usr/sbin/install
-
-BINDIR = /usr/local/bin
-MANDIR = /usr/local/man
-ETCDIR = /etc/ppp
-
-COPTS = -O -Xa
-
-# For compiling with gcc, comment out the COPTS definition above and
-# uncomment the next 2 definitions.
-#CC = gcc
-#COPTS = -O2
diff --git a/mdk-stage1/ppp/svr4/Makedefs.sol2 b/mdk-stage1/ppp/svr4/Makedefs.sol2
deleted file mode 100644
index e8b8d282e..000000000
--- a/mdk-stage1/ppp/svr4/Makedefs.sol2
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Generic make definitions for Solaris 2
-#
-# $Id$
-#
-
-include ../svr4/Makedefs
-
-CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
-CFLAGS = $(CPPFLAGS) $(COPTS)
-
-# lint-specific variables
-LINT = lint
-LINT_OPT_32 =
-LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
-
-LINT_32 =
-LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
-LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
-LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
-LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
-LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
-LINT_32 += -erroff=E_FUNC_ARG_UNUSED
-# This might be needed, but zlib.c and vjcompress.c will squawk
-# when not ignored
-LINT_32 += -erroff=E_CASE_FALLTHRU
-LINT_32 += -erroff=E_RET_INT_IMPLICITLY
-LINT_32 += -erroff=E_FUNC_NO_RET_VAL
-# Some STREAMS macros will be noisy too when this isn't ignored
-LINT_32 += -erroff=E_CONSTANT_CONDITION
-LINT_32 += -erroff=E_CONST_EXPR
-
-# Extra noise suppressant for 64-bit
-EXTRA_OFF =
-EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
-EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
-EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
-EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
-EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
-EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
-EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
-EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
-EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
-
-LINT_64 = $(LINT_32)
-LINT_64 += $(EXTRA_OFF)
-
-LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
-LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
-
-LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
-LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
-
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2 b/mdk-stage1/ppp/svr4/Makefile.sol2
deleted file mode 100644
index 5b2ca8635..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.sol2
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Makefile for STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-COPTS += -xO2 -xspace -W0,-Lt
-
-COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
- ppp_comp_mod.o
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o ppp_mod.o
- ld -r -o $@ ppp.o ppp_mod.o
- chmod +x $@
-
-ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
- ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
- chmod +x $@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $@ $(COMP_OBJS)
- chmod +x $@
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
- ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT32) $(SRCS)
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
- rm -f *.ln
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2-64 b/mdk-stage1/ppp/svr4/Makefile.sol2-64
deleted file mode 100644
index 80c6b185e..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.sol2-64
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Makefile for 64-bit STREAMS modules for Solaris 2.
-#
-# $Id$
-#
-
-include Makedefs.sol2
-
-# Sun's cc flag for LP64 compilation / linkage
-COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
-
-# subdirectory where 64-bit objects / binaries will be placed
-LP64DIR = sparcv9
-
-# Name of legacy Makefile (for 32-bit binaries)
-STD_MAKE = Makefile.sol2
-
-COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
- $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
- $(LP64DIR)/ppp_comp_mod.o
-
-all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
-
-std_objs:
- $(MAKE) -f $(STD_MAKE) all
-
-ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
- chmod +x $(LP64DIR)/$@
-
-ppp_comp: $(COMP_OBJS)
- ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
- chmod +x $(LP64DIR)/$@
-
-$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_mod.o: ppp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $? -o $@
-$(LP64DIR)/zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $? -o $@
-
-$(LP64DIR):
- mkdir -m 755 -p $@
-
-install:
- cp ppp ppp.conf /kernel/drv
- cp ppp_comp ppp_ahdl /kernel/strmod
- cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
- cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
- if grep clone:ppp /etc/minor_perm; then :; else \
- echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
- /usr/sbin/rem_drv ppp 2>/dev/null || true
- /usr/sbin/add_drv ppp
-
-SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
- ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
- ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
-
-lint:
- $(LINT64) $(SRCS)
-
-lint-32:
- $(LINT32) $(SRCS)
-
-clean:
- $(MAKE) -f $(STD_MAKE) clean
- rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/svr4/Makefile.svr4 b/mdk-stage1/ppp/svr4/Makefile.svr4
deleted file mode 100644
index 252c52428..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.svr4
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# Makefile for STREAMS modules for SVR4.
-#
-# $Id$
-#
-
-COPTS = -O
-
-CFLAGS= -D_KERNEL -DSVR4 -DLACHTCP -I../include $(COPTS)
-
-all: ppp ppp_ahdl ppp_comp
-
-ppp: ppp.o
- ld -r -o $@ ppp.o
-
-ppp_ahdl: ppp_ahdlc.o
- ld -r -o $@ ppp_ahdlc.o
-
-ppp_comp: ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
- ld -r -o $@ ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
-
-bsd-comp.o: ../modules/bsd-comp.c
- $(CC) $(CFLAGS) -c $?
-deflate.o: ../modules/deflate.c
- $(CC) $(CFLAGS) -c $?
-ppp.o: ../modules/ppp.c
- $(CC) $(CFLAGS) -c $?
-ppp_ahdlc.o: ../modules/ppp_ahdlc.c
- $(CC) $(CFLAGS) -c $?
-ppp_comp.o: ../modules/ppp_comp.c
- $(CC) $(CFLAGS) -c $?
-vjcompress.o: ../modules/vjcompress.c
- $(CC) $(CFLAGS) -c $?
-zlib.o: ../common/zlib.c
- $(CC) $(CFLAGS) -c $?
-
-install: all
- cp ppp Driver.o
- cp ppp.Master Master
- cp ppp.System System
- cp ppp.Node Node
- /etc/conf/bin/idinstall -d ppp
- /etc/conf/bin/idinstall -a ppp
- cp ppp_comp Driver.o
- cp ppp_comp.Master Master
- cp ppp_comp.System System
- /etc/conf/bin/idinstall -d ppp_comp
- /etc/conf/bin/idinstall -a ppp_comp
- cp ppp_ahdl Driver.o
- cp ppp_ahdl.Master Master
- cp ppp_ahdl.System System
- /etc/conf/bin/idinstall -d ppp_ahdl
- /etc/conf/bin/idinstall -a ppp_ahdl
- @echo
- @echo 'NOTE: You must rebuild your kernel to incorporate the driver.'
- @echo '(use /etc/conf/bin/idbuild)'
- @echo
-
-clean:
- rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/svr4/Makefile.top b/mdk-stage1/ppp/svr4/Makefile.top
deleted file mode 100644
index 253e48acb..000000000
--- a/mdk-stage1/ppp/svr4/Makefile.top
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# ppp top level makefile for SVR4 and Solaris 2
-#
-# $Id$
-#
-
-include svr4/Makedefs
-
-all:
- cd chat; $(MAKE) all
- cd pppd; $(MAKE) all
- cd pppstats; $(MAKE) all
- cd pppdump; $(MAKE) all
- cd svr4; $(MAKE) all
-
-install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
-
-install-progs:
- cd chat; $(MAKE) install
- cd pppd; $(MAKE) install
- cd pppstats; $(MAKE) install
- cd pppdump; $(MAKE) install
- cd svr4; $(MAKE) install
-
-install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
- $(ETCDIR)/chap-secrets
-
-$(ETCDIR)/options:
- cp etc.ppp/options $@
- chmod go-w $@
-$(ETCDIR)/pap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
-$(ETCDIR)/chap-secrets:
- $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
-
-$(BINDIR):
- mkdir -m 755 -p $@
-$(MANDIR)/man8:
- mkdir -m 755 -p $@
-$(ETCDIR):
- mkdir -m 755 -p $@
-
-clean:
- rm -f *~
- cd chat; $(MAKE) clean
- cd pppd; $(MAKE) clean
- cd pppstats; $(MAKE) clean
- cd pppdump; $(MAKE) clean
- cd svr4; $(MAKE) clean
-
diff --git a/mdk-stage1/ppp/svr4/ppp.Master b/mdk-stage1/ppp/svr4/ppp.Master
deleted file mode 100644
index 346db035b..000000000
--- a/mdk-stage1/ppp/svr4/ppp.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp - Sciof ppp 0 0 1 128 -1
diff --git a/mdk-stage1/ppp/svr4/ppp.Node b/mdk-stage1/ppp/svr4/ppp.Node
deleted file mode 100644
index 7767ade71..000000000
--- a/mdk-stage1/ppp/svr4/ppp.Node
+++ /dev/null
@@ -1 +0,0 @@
-clone ppp c ppp
diff --git a/mdk-stage1/ppp/svr4/ppp.System b/mdk-stage1/ppp/svr4/ppp.System
deleted file mode 100644
index e60c0eec3..000000000
--- a/mdk-stage1/ppp/svr4/ppp.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp.conf b/mdk-stage1/ppp/svr4/ppp.conf
deleted file mode 100644
index e443a7aac..000000000
--- a/mdk-stage1/ppp/svr4/ppp.conf
+++ /dev/null
@@ -1 +0,0 @@
-name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.Master b/mdk-stage1/ppp/svr4/ppp_ahdl.Master
deleted file mode 100644
index 4fde52596..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdl.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp_ahdl - iSf phdl 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.System b/mdk-stage1/ppp/svr4/ppp_ahdl.System
deleted file mode 100644
index f41a500f4..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdl.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp_ahdl Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c b/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
deleted file mode 100644
index f81be8abb..000000000
--- a/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_ahdlcinfo;
-
-static struct fmodsw fsw = {
- "ppp_ahdl",
- &ppp_ahdlcinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP async HDLC module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.Master b/mdk-stage1/ppp/svr4/ppp_comp.Master
deleted file mode 100644
index 78019064e..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp.Master
+++ /dev/null
@@ -1 +0,0 @@
-ppp_comp - iSf pcmp 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.System b/mdk-stage1/ppp/svr4/ppp_comp.System
deleted file mode 100644
index e69d4a1a3..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp.System
+++ /dev/null
@@ -1 +0,0 @@
-ppp_comp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_comp_mod.c b/mdk-stage1/ppp/svr4/ppp_comp_mod.c
deleted file mode 100644
index 83ff8e252..000000000
--- a/mdk-stage1/ppp/svr4/ppp_comp_mod.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-
-extern struct streamtab ppp_compinfo;
-
-static struct fmodsw fsw = {
- "ppp_comp",
- &ppp_compinfo,
- D_NEW | D_MP | D_MTQPAIR
-};
-
-extern struct mod_ops mod_strmodops;
-
-static struct modlstrmod modlstrmod = {
- &mod_strmodops,
- "PPP compression module",
- &fsw
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modlstrmod,
- NULL
-};
-
-/*
- * Entry points for modloading.
- */
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
diff --git a/mdk-stage1/ppp/svr4/ppp_mod.c b/mdk-stage1/ppp/svr4/ppp_mod.c
deleted file mode 100644
index a4b1538a5..000000000
--- a/mdk-stage1/ppp/svr4/ppp_mod.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * ppp_mod.c - modload support for PPP pseudo-device driver.
- *
- * Copyright (c) 1994 The Australian National University.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. The Australian National University
- * makes no representations about the suitability of this software for
- * any purpose.
- *
- * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
- * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
- * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
- * OR MODIFICATIONS.
- *
- * $Id$
- */
-
-/*
- * This file is used under Solaris 2.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/conf.h>
-#include <sys/modctl.h>
-#include <sys/sunddi.h>
-#include <sys/ksynch.h>
-
-#ifdef __STDC__
-#define __P(x) x
-#else
-#define __P(x) ()
-#endif
-
-static int ppp_identify __P((dev_info_t *));
-static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
-static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
-static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
-
-extern struct streamtab pppinfo;
-extern krwlock_t ppp_lower_lock;
-
-static dev_info_t *ppp_dip;
-
-static struct cb_ops cb_ppp_ops = {
- nulldev, nulldev, nodev, nodev, /* cb_open, ... */
- nodev, nodev, nodev, nodev, /* cb_dump, ... */
- nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
- ddi_prop_op, /* cb_prop_op */
- &pppinfo, /* cb_stream */
- D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
-};
-
-static struct dev_ops ppp_ops = {
- DEVO_REV, /* devo_rev */
- 0, /* devo_refcnt */
- ppp_devinfo, /* devo_getinfo */
- ppp_identify, /* devo_identify */
- nulldev, /* devo_probe */
- ppp_attach, /* devo_attach */
- ppp_detach, /* devo_detach */
- nodev, /* devo_reset */
- &cb_ppp_ops, /* devo_cb_ops */
- NULL /* devo_bus_ops */
-};
-
-/*
- * Module linkage information
- */
-
-static struct modldrv modldrv = {
- &mod_driverops, /* says this is a pseudo driver */
- "PPP-2.3 multiplexing driver",
- &ppp_ops /* driver ops */
-};
-
-static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modldrv,
- NULL
-};
-
-int
-_init(void)
-{
- return mod_install(&modlinkage);
-}
-
-int
-_fini(void)
-{
- return mod_remove(&modlinkage);
-}
-
-int
-_info(mip)
- struct modinfo *mip;
-{
- return mod_info(&modlinkage, mip);
-}
-
-static int
-ppp_identify(dip)
- dev_info_t *dip;
-{
- return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
- DDI_NOT_IDENTIFIED;
-}
-
-static int
-ppp_attach(dip, cmd)
- dev_info_t *dip;
- ddi_attach_cmd_t cmd;
-{
-
- if (cmd != DDI_ATTACH)
- return DDI_FAILURE;
- if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
- == DDI_FAILURE) {
- ddi_remove_minor_node(dip, NULL);
- return DDI_FAILURE;
- }
- rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_detach(dip, cmd)
- dev_info_t *dip;
- ddi_detach_cmd_t cmd;
-{
- rw_destroy(&ppp_lower_lock);
- ddi_remove_minor_node(dip, NULL);
- return DDI_SUCCESS;
-}
-
-static int
-ppp_devinfo(dip, cmd, arg, result)
- dev_info_t *dip;
- ddi_info_cmd_t cmd;
- void *arg;
- void **result;
-{
- int error;
-
- error = DDI_SUCCESS;
- switch (cmd) {
- case DDI_INFO_DEVT2DEVINFO:
- if (ppp_dip == NULL)
- error = DDI_FAILURE;
- else
- *result = (void *) ppp_dip;
- break;
- case DDI_INFO_DEVT2INSTANCE:
- *result = NULL;
- break;
- default:
- error = DDI_FAILURE;
- }
- return error;
-}
diff --git a/mdk-stage1/probe-modules.c b/mdk-stage1/probe-modules.c
new file mode 100644
index 000000000..86b383b5e
--- /dev/null
+++ b/mdk-stage1/probe-modules.c
@@ -0,0 +1,69 @@
+/*
+ * Olivier Blin (blino)
+ *
+ * Copyright 2007-2004 Mandriva
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include "log.h"
+#include "modules.h"
+#include "probing.h"
+#include "frontend.h"
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <string.h>
+#include "utils.h"
+
+void stg1_error_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ verror_message(msg, args);
+ va_end(args);
+}
+void fatal_error(char *msg)
+{
+ log_message("FATAL ERROR IN MODULES LOADER: %s\n\nI can't recover from this.\nYou may reboot your system.\n", msg);
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char **argv, char **env)
+{
+ enum media_bus bus = BUS_ANY;
+ char *module = NULL;
+ char options[500] = "";
+
+ if (argc > 1) {
+ if (streq(argv[1], "--usb")) {
+ bus = BUS_USB;
+ } else if (!ptr_begins_static_str(argv[1], "--")) {
+ int i;
+ module = argv[1];
+ for (i = 2; i < argc; i++) {
+ strcat(options, argv[i]);
+ strcat(options, " ");
+ }
+ }
+ }
+
+ open_log();
+ init_modules_insmoding();
+
+ if (module) {
+ my_modprobe(module, ANY_DRIVER_TYPE, options);
+ } else {
+ find_media(bus);
+ }
+
+ close_log();
+
+ return 0;
+}
diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c
index 4a1b9a0dc..f956bb348 100644
--- a/mdk-stage1/probing.c
+++ b/mdk-stage1/probing.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -35,19 +35,32 @@
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <dirent.h>
#include <fcntl.h>
+#include <fnmatch.h>
#include <sys/socket.h>
#include <net/if.h>
+#include <linux/sockios.h>
+#include <linux/ethtool.h>
#include <sys/ioctl.h>
#include <sys/mount.h>
+#include <pci/pci.h>
+#include <libldetect.h>
+#include <errno.h>
+#include <glob.h>
#include "stage1.h"
#include "log.h"
+#include "utils.h"
#include "frontend.h"
#include "modules.h"
-#include "pci-resource/pci-ids.h"
+#include "pci-ids.h"
#ifdef ENABLE_USB
-#include "usb-resource/usb-ids.h"
+#include "usb-ids.h"
+#endif
+#ifdef ENABLE_PCMCIA
+#include "sysfs/libsysfs.h"
+#include "pcmcia-ids.h"
#endif
#include "probing.h"
@@ -73,526 +86,497 @@ static void warning_insmod_failed(enum insmod_return r)
}
#ifndef DISABLE_NETWORK
-struct net_description_elem
+const char * safe_descr(const char * text) {
+ return text ? text : "unknown";
+}
+
+char * get_net_intf_description(char * intf_name)
{
- char * intf_name;
- char * intf_description;
-};
-static struct net_description_elem net_descriptions[50];
-static int net_descr_number = 0;
-static char * intf_descr_for_discover = NULL;
-static char * net_intf_too_early_name[50]; /* for modules providing more than one net intf */
-static int net_intf_too_early_number = 0;
-static int net_intf_too_early_ptr = 0;
-
-void prepare_intf_descr(const char * intf_descr)
+ struct ifreq ifr;
+ struct ethtool_drvinfo drvinfo;
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+ char *res;
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, intf_name, IFNAMSIZ);
+
+ drvinfo.cmd = ETHTOOL_GDRVINFO;
+ ifr.ifr_data = (caddr_t) &drvinfo;
+
+ if (ioctl(s, SIOCETHTOOL, &ifr) != -1) {
+ res = drvinfo.driver;
+ } else {
+ perror("SIOCETHTOOL");
+ res = "unknown";
+ }
+ close(s);
+ return strdup(res);
+}
+#endif
+
+static int device_match_modules_list(struct pciusb_entry *e, char **modules, unsigned int modules_len) {
+ int i;
+ if (!e->module)
+ return 0;
+ for (i = 0; i < modules_len; i++)
+ if (!strcmp(modules[i], e->module))
+ return 1;
+ return 0;
+}
+
+struct pcitable_entry *detected_devices = NULL;
+int detected_devices_len = 0;
+
+static void detected_devices_destroy(void)
{
- intf_descr_for_discover = strdup(intf_descr);
+ if (detected_devices)
+ free(detected_devices);
}
-void net_discovered_interface(char * intf_name)
+static struct pcitable_entry *detected_device_new(void)
{
- if (!intf_descr_for_discover) {
- net_intf_too_early_name[net_intf_too_early_number++] = strdup(intf_name);
- return;
- }
- if (!intf_name) {
- if (net_intf_too_early_ptr >= net_intf_too_early_number) {
- log_message("NET: was expecting another network interface (broken net module?)");
- return;
- }
- net_descriptions[net_descr_number].intf_name = net_intf_too_early_name[net_intf_too_early_ptr++];
+ static int detected_devices_maxlen = 0;
+ if (detected_devices_len >= detected_devices_maxlen) {
+ detected_devices_maxlen += 32;
+ if (detected_devices == NULL)
+ detected_devices = malloc(detected_devices_maxlen * sizeof(*detected_devices));
+ else
+ detected_devices = realloc(detected_devices, detected_devices_maxlen * sizeof(*detected_devices));
+ if (detected_devices == NULL)
+ log_perror("detected_device_new: could not (re)allocate table. Let it crash, sorry");
}
- else
- net_descriptions[net_descr_number].intf_name = strdup(intf_name);
- net_descriptions[net_descr_number].intf_description = strdup(intf_descr_for_discover);
- intf_descr_for_discover = NULL;
- net_descr_number++;
+ return &detected_devices[detected_devices_len++];
}
-char * get_net_intf_description(char * intf_name)
+/* FIXME: factorize with probe_that_type() */
+
+static void add_detected_device(unsigned short vendor, unsigned short device, unsigned int subvendor, unsigned int subdevice, const char *name, const char *module)
+{
+ struct pcitable_entry *dev = detected_device_new();
+ dev->vendor = vendor;
+ dev->device = device;
+ dev->subvendor = subvendor;
+ dev->subdevice = subdevice;
+ strncpy(dev->module, module, sizeof(dev->module) - 1);
+ dev->module[sizeof(dev->module) - 1] = '\0';
+ strncpy(dev->description, safe_descr(name), sizeof(dev->description) - 1);
+ dev->description[sizeof(dev->description) - 1] = '\0';
+ log_message("detected device (%04x, %04x, %04x, %04x, %s, %s)", vendor, device, subvendor, subdevice, name, module);
+}
+
+static int add_detected_device_if_match(struct pciusb_entry *e, char **modules, unsigned int modules_len)
{
+ int ret = device_match_modules_list(e, modules, modules_len);
+ if (ret)
+ add_detected_device(e->vendor, e->device, e->subvendor, e->subdevice,
+ e->text, e->module);
+ return ret;
+}
+
+void probing_detect_devices()
+{
+ static int already_detected_devices = 0;
+ struct pciusb_entries entries;
int i;
- for (i = 0; i < net_descr_number ; i++)
- if (!strcmp(net_descriptions[i].intf_name, intf_name))
- return net_descriptions[i].intf_description;
- return strdup("unknown");
+
+ if (already_detected_devices)
+ return;
+
+ entries = pci_probe();
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+#ifndef DISABLE_PCIADAPTERS
+#ifndef DISABLE_MEDIAS
+ if (add_detected_device_if_match(e, medias_ide_pci_modules, medias_ide_pci_modules_len))
+ continue;
+ if (add_detected_device_if_match(e, medias_other_pci_modules, medias_other_pci_modules_len))
+ continue;
+#endif
+
+#ifndef DISABLE_NETWORK
+ if (add_detected_device_if_match(e, network_pci_modules, network_pci_modules_len))
+ continue;
+#endif
+
+#ifdef ENABLE_USB
+ if (add_detected_device_if_match(e, usb_controller_modules, usb_controller_modules_len))
+ continue;
+#endif
+#endif
+ /* device can't be found in built-in pcitables, but keep it */
+ add_detected_device(e->vendor, e->device, e->subvendor, e->subdevice, e->text, e->module);
+ }
+ pciusb_free(&entries);
+
+ already_detected_devices = 1;
+}
+
+void probing_destroy(void)
+{
+ detected_devices_destroy();
+}
+
+#ifndef DISABLE_MEDIAS
+static const char * get_alternate_module(const char * name)
+{
+ struct alternate_mapping {
+ const char * a;
+ const char * b;
+ };
+ static struct alternate_mapping mappings[] = {
+ { "ahci", "ata_piix" },
+ };
+ int mappings_nb = sizeof(mappings) / sizeof(struct alternate_mapping);
+ int i;
+
+ for (i=0; i<mappings_nb; i++) {
+ const char * alternate = NULL;
+ if (streq(name, mappings[i].a))
+ alternate = mappings[i].b;
+ else if (streq(name, mappings[i].b))
+ alternate = mappings[i].a;
+ if (alternate) {
+ log_message("found alternate module %s for driver %s", alternate, name);
+ return alternate;
+ }
+ }
+ return NULL;
}
#endif
-void discovered_device(enum driver_type type,
- unsigned short vendor, unsigned short device, unsigned short subvendor, unsigned short subdevice,
- const char * description, const char * driver)
+void discovered_device(enum driver_type type, const char * description, const char * driver)
{
- log_message("PCI: device %04x %04x %04x %04x is \"%s\", driver is %s", vendor, device, subvendor, subdevice, description, driver);
+ description = safe_descr(description);
+
+ enum insmod_return failed = INSMOD_FAILED;
#ifndef DISABLE_MEDIAS
- if (type == SCSI_ADAPTERS) {
- int wait_msg = 0;
- enum insmod_return failed;
- if (IS_AUTOMATIC) {
- wait_message("Loading driver for SCSI adapter:\n \n%s", description);
- wait_msg = 1;
- } else
- stg1_info_message("About to load driver for SCSI adapter:\n \n%s", description);
- failed = my_insmod(driver, SCSI_ADAPTERS, NULL);
- if (wait_msg)
- remove_wait_message();
+ if (type == MEDIA_ADAPTERS) {
+ const char * alternate = NULL;
+ wait_message("Loading driver for media adapter:\n \n%s", description);
+ failed = my_modprobe(driver, MEDIA_ADAPTERS, NULL);
+ alternate = get_alternate_module(driver);
+ if (!IS_NOAUTO && alternate) {
+ failed = failed || my_modprobe(alternate, MEDIA_ADAPTERS, NULL);
+ }
+ remove_wait_message();
warning_insmod_failed(failed);
}
#endif
#ifndef DISABLE_NETWORK
if (type == NETWORK_DEVICES) {
- stg1_info_message("About to load driver for network device:\n \n%s", description);
- prepare_intf_descr(description);
- warning_insmod_failed(my_insmod(driver, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
+ log_message("NET: Loading driver for network device %s", description);
+ wait_message("Loading driver for network device:\n \n%s", description);
+ failed = my_modprobe(driver, NETWORK_DEVICES, NULL);
+ warning_insmod_failed(failed);
+ remove_wait_message();
}
#endif
#ifdef ENABLE_USB
if (type == USB_CONTROLLERS)
- my_insmod(driver, USB_CONTROLLERS, NULL);
+ /* we can't allow additional modules floppy since we need usbhid for keystrokes of usb keyboards */
+ failed = my_modprobe(driver, USB_CONTROLLERS, NULL);
#endif
}
+void probe_pci_modules(enum driver_type type, char **pci_modules, unsigned int pci_modules_len) {
+ struct pciusb_entries entries;
+ int i;
+
+ entries = pci_probe();
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ if (device_match_modules_list(e, pci_modules, pci_modules_len)) {
+ log_message("PCI: device %04x %04x %04x %04x is \"%s\", driver is %s",
+ e->vendor, e->device, e->subvendor, e->subdevice, safe_descr(e->text), e->module);
+ discovered_device(type, e->text, e->module);
+ }
+ }
+ pciusb_free(&entries);
+}
+
+/** Loads modules for known virtio devices
+ *
+ * virtio modules are not being loaded using the PCI probing mechanism
+ * because pcitable.gz does not have IDs for these devices.
+ *
+ * The possible correct solution for it is to fix the script which
+ * generates pcitable.gz to handle the virtio_device_id structure.
+ */
+void probe_virtio_modules(void)
+{
+ struct pciusb_entries entries;
+ int i;
+ char *name;
+ char *options;
+ int loaded_pci = 0;
+
+ entries = pci_probe();
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ if (e->vendor == VIRTIO_PCI_VENDOR) {
+ if (!loaded_pci) {
+ log_message("loading virtio-pci");
+ my_modprobe("virtio_pci", ANY_DRIVER_TYPE, NULL);
+ loaded_pci = 1;
+ }
+
+ name = NULL;
+ options = NULL;
+
+ switch (e->subdevice) {
+ case VIRTIO_ID_NET:
+ name = "virtio_net";
+ options = "csum=0";
+ break;
+ case VIRTIO_ID_BLOCK:
+ name = "virtio_blk";
+ break;
+ case VIRTIO_ID_BALLOON:
+ name = "virtio_balloon";
+ break;
+ default:
+ log_message("warning: unknown virtio device %04x", e->device);
+ }
+ if (name) {
+ log_message("virtio: loading %s", name);
+ my_modprobe(name, ANY_DRIVER_TYPE, options);
+ }
+ }
+ }
+ pciusb_free(&entries);
+}
+
#ifdef ENABLE_USB
void probe_that_type(enum driver_type type, enum media_bus bus)
#else
void probe_that_type(enum driver_type type, enum media_bus bus __attribute__ ((unused)))
#endif
{
- /* ---- PCI probe ---------------------------------------------- */
- {
- FILE * f = NULL;
- unsigned int len = 0;
- unsigned int len_full = 0;
- char buf[200];
- struct pci_module_map * pcidb = NULL;
- struct pci_module_map_full * pcidb_full = NULL;
+ static int already_probed_usb_controllers = 0;
+ static int already_loaded_usb_scsi = 0;
+ static int already_probed_virtio_devices = 0;
+ /* ---- PCI probe ---------------------------------------------- */
+ if (bus != BUS_USB) {
switch (type) {
#ifndef DISABLE_PCIADAPTERS
#ifndef DISABLE_MEDIAS
- static int already_probed_scsi_adapters = 0;
- case SCSI_ADAPTERS:
- if (already_probed_scsi_adapters)
- goto end_pci_probe;
- already_probed_scsi_adapters = 1;
- pcidb = medias_pci_ids;
- len = medias_num_ids;
- pcidb_full = medias_pci_ids_full;
- len_full = medias_num_ids_full;
+ static int already_probed_media_adapters = 0;
+ case MEDIA_ADAPTERS:
+ if (already_probed_media_adapters)
+ break;
+ already_probed_media_adapters = 1;
+ probe_pci_modules(type, medias_ide_pci_modules, medias_ide_pci_modules_len);
+ probe_pci_modules(type, medias_other_pci_modules, medias_other_pci_modules_len);
break;
#endif
#ifndef DISABLE_NETWORK
case NETWORK_DEVICES:
- pcidb = network_pci_ids;
- len = network_num_ids;
- pcidb_full = network_pci_ids_full;
- len_full = network_num_ids_full;
+ probe_pci_modules(type, network_pci_modules, network_pci_modules_len);
break;
#endif
#endif
#ifdef ENABLE_USB
- static int already_probed_usb_controllers = 0;
case USB_CONTROLLERS:
if (already_probed_usb_controllers || IS_NOAUTO)
- goto end_pci_probe;
+ break;
already_probed_usb_controllers = 1;
- pcidb = usb_pci_ids;
- len = usb_num_ids;
+ probe_pci_modules(type, usb_controller_modules, usb_controller_modules_len);
break;
#endif
+ case VIRTIO_DEVICES:
+ if (already_probed_virtio_devices)
+ break;
+ probe_virtio_modules();
+ already_probed_virtio_devices = 1;
+ break;
default:
- goto end_pci_probe;
- }
-
- if (IS_EXPERT && type != USB_CONTROLLERS) {
- ask_insmod(type);
- return;
- }
-
- if (!(f = fopen("/proc/bus/pci/devices", "rb"))) {
- log_message("PCI: could not open proc file");
- goto end_pci_probe;
- }
-
- while (1) {
- unsigned int i;
- unsigned short vendor, device, subvendor, subdevice, devbusfn;
- subvendor = 0xFFFF;
-
- if (!fgets(buf, sizeof(buf), f)) break;
-
- sscanf(buf, "%hx %x", &devbusfn, &i);
- device = i;
- vendor = i >> 16;
-
- for (i = 0; i < len_full; i++)
- if (pcidb_full[i].vendor == vendor && pcidb_full[i].device == device) {
- if (subvendor == 0xFFFF) {
- int bus = devbusfn >> 8;
- int device_p = (devbusfn & 0xff) >> 3;
- int function = (devbusfn & 0xff) & 0x07;
- char file[100];
- int sf;
- log_message("PCI: device %04x %04x needs full pci probe", vendor, device);
- sprintf(file, "/proc/bus/pci/%02x/%02x.%d", bus, device_p, function);
- if ((sf = open(file, O_RDONLY)) == -1) {
- log_message("PCI: could not open file for full probe (%s)", file);
- continue;
- }
- if (read(sf, buf, 48) == -1) {
- log_message("PCI: could not read 48 bytes from %s", file);
- close(sf);
- continue;
- }
- close(sf);
- memcpy(&subvendor, buf+44, 2);
- memcpy(&subdevice, buf+46, 2);
- log_message("PCI: device is actually %04x %04x %04x %04x", vendor, device, subvendor, subdevice);
- }
- if (pcidb_full[i].subvendor == subvendor && pcidb_full[i].subdevice == subdevice) {
- discovered_device(type, vendor, device, subvendor, subdevice, pcidb_full[i].name, pcidb_full[i].module);
- goto next_pci_device;
- }
- }
-
- for (i = 0; i < len; i++)
- if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
- discovered_device(type, vendor, device, 0xFFFF, 0xFFFF, pcidb[i].name, pcidb[i].module);
- goto next_pci_device;
- }
- next_pci_device:;
+ break;
}
- end_pci_probe:;
- if (f)
- fclose(f);
}
#ifdef ENABLE_USB
/* ---- USB probe ---------------------------------------------- */
if ((bus == BUS_USB || bus == BUS_ANY) && !(IS_NOAUTO)) {
- static int already_probed_usb_controllers = 0;
static int already_mounted_usbdev = 0;
+ struct pciusb_entries entries;
+ int i;
- FILE * f = NULL;
- int len = 0;
- char buf[200];
- struct usb_module_map * usbdb = NULL;
-
- if (!already_probed_usb_controllers) {
- already_probed_usb_controllers = 1;
+ if (!already_probed_usb_controllers)
probe_that_type(USB_CONTROLLERS, BUS_ANY);
- }
if (!already_mounted_usbdev) {
already_mounted_usbdev = 1;
- my_insmod("usb-storage", SCSI_ADAPTERS, NULL);
- if (module_already_present("ieee1394"))
- my_insmod("sbp2", SCSI_ADAPTERS, NULL);
- if (mount("/proc/bus/usb", "/proc/bus/usb", "usbdevfs", 0, NULL)) {
- log_message("USB: couldn't mount /proc/bus/usb");
- goto end_usb_probe;
- }
wait_message("Detecting USB devices.");
sleep(4); /* sucking background work */
- my_insmod("usbkbd", ANY_DRIVER_TYPE, NULL);
- my_insmod("keybdev", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("usbhid", ANY_DRIVER_TYPE, NULL);
remove_wait_message();
}
- if (!(f = fopen("/proc/bus/usb/devices", "rb"))) {
- log_message("USB: could not open proc file");
+ if (type != NETWORK_DEVICES)
goto end_usb_probe;
+
+ entries = usb_probe();
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ if (device_match_modules_list(e, usb_modules, usb_modules_len)) {
+ log_message("USB: device %04x %04x is \"%s\" (%s)", e->vendor, e->device, safe_descr(e->text), e->module);
+ discovered_device(type, e->text, e->module);
+ }
}
+ pciusb_free(&entries);
+ end_usb_probe:;
+ }
+#endif
+
+#ifdef ENABLE_PCMCIA
+ /* ---- PCMCIA probe ---------------------------------------------- */
+ if ((bus == BUS_PCMCIA || bus == BUS_ANY) && !(IS_NOAUTO)) {
+ struct pcmcia_alias * pcmciadb = NULL;
+ unsigned int len = 0;
+ char *base = "/sys/bus/pcmcia/devices";
+ DIR *dir;
+ struct dirent *dent;
+
+ dir = opendir(base);
+ if (dir == NULL)
+ goto end_pcmcia_probe;
switch (type) {
+#ifndef DISABLE_MEDIAS
+ case MEDIA_ADAPTERS:
+ pcmciadb = medias_pcmcia_ids;
+ len = medias_pcmcia_num_ids;
+ break;
+#endif
+#ifndef DISABLE_NETWORK
case NETWORK_DEVICES:
- usbdb = usb_usb_ids;
- len = usb_usb_num_ids;
+ pcmciadb = network_pcmcia_ids;
+ len = network_pcmcia_num_ids;
break;
+#endif
default:
- goto end_usb_probe;
- }
+ goto end_pcmcia_probe;
+ }
- while (1) {
- int i, vendor, id;
+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
+ struct sysfs_attribute *modalias_attr;
+ char keyfile[300];
+ int i, id;
- if (!fgets(buf, sizeof(buf), f)) break;
+ if (dent->d_name[0] == '.')
+ continue;
+
+ log_message("PCMCIA: device found %s", dent->d_name);
- if (sscanf(buf, "P: Vendor=%x ProdID=%x", &vendor, &id) != 2)
+ snprintf(keyfile, sizeof(keyfile)-1, "%s/%s/modalias", base, dent->d_name);
+ modalias_attr = sysfs_open_attribute(keyfile);
+ if (!modalias_attr)
continue;
+ if (sysfs_read_attribute(modalias_attr) != 0 || !modalias_attr->value) {
+ sysfs_close_attribute(modalias_attr);
+ continue;
+ }
+
+ log_message("PCMCIA: device found %s", modalias_attr->value);
for (i = 0; i < len; i++) {
- if (usbdb[i].vendor == vendor && usbdb[i].id == id) {
- log_message("USB: device %04x %04x is \"%s\" (%s)", vendor, id, usbdb[i].name, usbdb[i].module);
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES) {
- stg1_info_message("About to load driver for usb network device:\n \n%s", usbdb[i].name);
- prepare_intf_descr(usbdb[i].name);
- warning_insmod_failed(my_insmod(usbdb[i].module, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
+ if (!fnmatch(pcmciadb[i].modalias, modalias_attr->value, 0)) {
+ char product[256];
+
+ log_message("PCMCIA: device found %s (%s)", pcmciadb[i].modalias, pcmciadb[i].module);
+ strcpy(product, "");
+ for (id = 1; id <= 4; id++) {
+ struct sysfs_attribute *product_attr;
+ snprintf(keyfile, sizeof(keyfile)-1, "%s/%s/prod_id%d", base, dent->d_name, id);
+ product_attr = sysfs_open_attribute(keyfile);
+ if (!product_attr)
+ continue;
+ if (sysfs_read_attribute(product_attr) || !product_attr->value) {
+ sysfs_close_attribute(product_attr);
+ continue;
+ }
+ snprintf(product + strlen(product), sizeof(product)-strlen(product)-1, "%s%s", product[0] ? " " : "", product_attr->value);
+ if (product[strlen(product)-1] == '\n')
+ product[strlen(product)-1] = '\0';
+ sysfs_close_attribute(product_attr);
}
-#endif
+ if (!product[0])
+ strcpy(product, "PCMCIA device");
+
+ log_message("PCMCIA: device found %s (%s)", product, pcmciadb[i].module);
+ discovered_device(type, product, pcmciadb[i].module);
}
}
+
+ sysfs_close_attribute(modalias_attr);
}
- end_usb_probe:;
- if (f)
- fclose(f);
+ end_pcmcia_probe:;
+ if (dir)
+ closedir(dir);
}
#endif
+
+ /* be sure to load usb-storage after media adapters, so that they are in
+ same order than reboot, so that naming is the same */
+ if (type == MEDIA_ADAPTERS && (bus == BUS_USB || bus == BUS_SCSI || bus == BUS_ANY) &&
+ already_probed_usb_controllers && !already_loaded_usb_scsi) {
+ already_loaded_usb_scsi = 1;
+ /* we can't allow additional modules floppy since we need usbkbd for keystrokes of usb keyboards */
+ my_modprobe("usb_storage", MEDIA_ADAPTERS, NULL);
+ if (module_already_present("ieee1394"))
+ my_modprobe("sbp2", MEDIA_ADAPTERS, NULL);
+ wait_message("Detecting USB mass-storage devices.");
+#ifndef DEBUG
+ sleep(10); /* sucking background work */
+#endif
+ remove_wait_message();
+ }
}
-#ifndef DISABLE_MEDIAS
static struct media_info * medias = NULL;
-static void find_media(enum media_bus bus)
+// Read a short string from a file and strips it, intended for sysfs attributes
+static ssize_t read_attribute(char *path, char *buf) {
+ ssize_t l = 0;
+ int fd = open(path, O_RDONLY);
+ buf[0] = '\0';
+ if (fd == -1) {
+ log_message("Failed to open %s for reading", path);
+ } else {
+ ssize_t n = read(fd, buf, 32);
+ if (n == -1) {
+ log_message("Couldn't read file (%s)", path);
+ } else {
+ // Strip whitespaces and newline
+ for (int i = n-1; i >= 0; i--) {
+ if (buf[i] == '\n' || buf[i] == ' ')
+ continue;
+ l = i+1;
+ break;
+ }
+ buf[l] = '\0';
+ }
+ close(fd);
+ }
+ log_message("Content of %s was %s", path, buf);
+ return l;
+}
+
+void find_media(enum media_bus bus)
{
- char b[50];
char buf[5000];
struct media_info tmp[50];
int count = 0;
- int fd;
if (medias)
free(medias); /* that does not free the strings, by the way */
- if (bus == BUS_SCSI || bus == BUS_USB || bus == BUS_ANY)
- probe_that_type(SCSI_ADAPTERS, bus);
-
- /* ----------------------------------------------- */
- if (bus != BUS_IDE && bus != BUS_ANY)
- goto find_media_after_ide;
- log_message("looking for ide media");
-
- strcpy(b, "/proc/ide/hd");
- for (b[12] = 'a'; b[12] <= 't'; b[12]++) {
- int i;
- char ide_disk[] = "disk";
- char ide_cdrom[] = "cdrom";
- char ide_tape[] = "tape";
- char ide_floppy[] = "floppy";
-
- /* first, test if file exists (will tell if attached medium exists) */
- b[13] = '\0';
- if (access(b, R_OK))
- continue;
-
- tmp[count].name = strdup("hda");
- tmp[count].name[2] = b[12];
-
- /* media type */
- strcpy(b + 13, "/media");
- fd = open(b, O_RDONLY);
- if (fd == -1) {
- log_message("failed to open %s for reading", b);
- continue;
- }
-
- i = read(fd, buf, sizeof(buf));
- if (i == -1) {
- log_message("failed to read %s", b);
- continue;
- }
- buf[i] = '\0';
- close(fd);
-
- if (ptr_begins_static_str(buf, ide_disk))
- tmp[count].type = DISK;
- else if (ptr_begins_static_str(buf, ide_cdrom))
- tmp[count].type = CDROM;
- else if (ptr_begins_static_str(buf, ide_tape))
- tmp[count].type = TAPE;
- else if (ptr_begins_static_str(buf, ide_floppy))
- tmp[count].type = FLOPPY;
- else
- tmp[count].type = UNKNOWN_MEDIA;
-
- /* media model */
- strcpy(b + 13, "/model");
- fd = open(b, O_RDONLY);
- if (fd == -1) {
- log_message("failed to open %s for reading", b);
- continue;
- }
-
- i = read(fd, buf, sizeof(buf));
- if (i <= 0) {
- log_message("failed to read %s", b);
- tmp[count].model = strdup("(none)");
- }
- else {
- buf[i-1] = '\0'; /* eat the \n */
- tmp[count].model = strdup(buf);
- }
- close(fd);
-
- log_message("IDE/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
- count++;
- }
-
- find_media_after_ide:
- /* ----------------------------------------------- */
- if (bus != BUS_SCSI && bus != BUS_USB && bus != BUS_ANY)
- goto find_media_after_scsi;
- log_message("looking for scsi media");
-
- fd = open("/proc/scsi/scsi", O_RDONLY);
- if (fd != -1) {
- enum { SCSI_TOP, SCSI_HOST, SCSI_VENDOR, SCSI_TYPE } state = SCSI_TOP;
- char * start, * chptr, * next, * end;
- char scsi_disk_count = 'a';
- char scsi_cdrom_count = '0';
- char scsi_tape_count = '0';
-
- char scsi_no_devices[] = "Attached devices: none";
- char scsi_some_devices[] = "Attached devices: ";
- char scsi_host[] = "Host: ";
- char scsi_vendor[] = " Vendor: ";
-
- int i = read(fd, &buf, sizeof(buf)-1);
- if (i < 1) {
- close(fd);
- goto end_scsi;
- }
- close(fd);
- buf[i] = '\0';
-
- if (ptr_begins_static_str(buf, scsi_no_devices))
- goto end_scsi;
-
- start = buf;
- while (*start) {
- char tmp_model[50];
- char tmp_name[10];
-
- chptr = start;
- while (*chptr != '\n') chptr++;
- *chptr = '\0';
- next = chptr + 1;
-
- switch (state) {
- case SCSI_TOP:
- if (!ptr_begins_static_str(start, scsi_some_devices))
- goto end_scsi;
- state = SCSI_HOST;
- break;
-
- case SCSI_HOST:
- if (!ptr_begins_static_str(start, scsi_host))
- goto end_scsi;
- state = SCSI_VENDOR;
- break;
-
- case SCSI_VENDOR:
- if (!ptr_begins_static_str(start, scsi_vendor))
- goto end_scsi;
-
- /* (1) Grab Vendor info */
- start += 10;
- end = chptr = strstr(start, "Model:");
- if (!chptr)
- goto end_scsi;
-
- chptr--;
- while (*chptr == ' ')
- chptr--;
- if (*chptr == ':') {
- chptr++;
- *(chptr + 1) = '\0';
- strcpy(tmp_model,"(unknown)");
- } else {
- *(chptr + 1) = '\0';
- strcpy(tmp_model, start);
- }
-
- /* (2) Grab Model info */
- start = end;
- start += 7;
-
- chptr = strstr(start, "Rev:");
- if (!chptr)
- goto end_scsi;
-
- chptr--;
- while (*chptr == ' ') chptr--;
- *(chptr + 1) = '\0';
-
- strcat(tmp_model, " ");
- strcat(tmp_model, start);
-
- tmp[count].model = strdup(tmp_model);
-
- state = SCSI_TYPE;
-
- break;
-
- case SCSI_TYPE:
- if (strncmp(" Type:", start, 7))
- goto end_scsi;
- *tmp_name = '\0';
-
- if (strstr(start, "Direct-Access")) {
- sprintf(tmp_name, "sd%c", scsi_disk_count++);
- tmp[count].type = DISK;
- } else if (strstr(start, "Sequential-Access")) {
- sprintf(tmp_name, "st%c", scsi_tape_count++);
- tmp[count].type = TAPE;
- } else if (strstr(start, "CD-ROM")) {
- sprintf(tmp_name, "sr%c", scsi_cdrom_count++);
- tmp[count].type = CDROM;
- }
-
- if (*tmp_name) {
- tmp[count].name = strdup(tmp_name);
- log_message("SCSI/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
- count++;
- }
-
- state = SCSI_HOST;
- }
-
- start = next;
- }
-
- end_scsi:;
- }
-
- /* ----------------------------------------------- */
- log_message("looking for Compaq Smart Array media");
- {
- char * procfiles[] = { "/proc/driver/cpqarray/ida0", "/proc/driver/cciss/cciss0", // 2.4 style
- "/proc/array/ida", "/proc/cciss/cciss", // 2.2 style
- NULL };
- static char cpq_descr[] = "Compaq RAID logical disk";
- char ** procfile = procfiles;
- FILE * f;
- while (procfile && *procfile && (f = fopen(*procfile, "rb"))) {
- while (fgets(buf, sizeof(buf), f)) {
- if (ptr_begins_static_str(buf, "ida/") || ptr_begins_static_str(buf, "cciss/")) {
- char * end = strchr(buf, ':');
- if (!end)
- log_message("Inconsistency in %s, line:\n%s", *procfile, buf);
- else {
- *end = '\0';
- tmp[count].name = strdup(buf);
- tmp[count].type = DISK;
- tmp[count].model = cpq_descr;
- log_message("CPQ: found %s", tmp[count].name);
- count++;
- }
- }
- }
- fclose(f);
- procfile++;
- }
- }
+ log_message("looking for media adapters");
+ probe_that_type(MEDIA_ADAPTERS, bus);
/* ----------------------------------------------- */
log_message("looking for DAC960");
@@ -624,13 +608,102 @@ static void find_media(enum media_bus bus)
fclose(f);
}
}
- find_media_after_scsi:
+ /* ----------------------------------------------- */
+ log_message("looking for other disks");
+ {
+ glob_t globbuf;
+ // TODO: We should switch everything to here, and later switch to ignoring
+ // some types of disks (ram, loop, ...) rather than a list to accept.
+ glob("/sys/block/nvme*", 0, NULL, &globbuf);
+ glob("/sys/block/vd*", GLOB_APPEND, NULL, &globbuf);
+ glob("/sys/block/cciss*", GLOB_APPEND, NULL, &globbuf);
+ glob("/sys/block/fd*", GLOB_APPEND, NULL, &globbuf);
+ glob("/sys/block/sd*", GLOB_APPEND, NULL, &globbuf);
+ glob("/sys/block/st*", GLOB_APPEND, NULL, &globbuf);
+ glob("/sys/block/sr*", GLOB_APPEND, NULL, &globbuf);
+
+ for (int i = 0; i < globbuf.gl_pathc; i++) {
+ char *name, *pathend;
+ char path[64];
+ char model[64];
+ int vendor_length = 0;
+
+ strncpy(path, globbuf.gl_pathv[i], sizeof(path));
+ name = strdup(path + 11);
+
+ // Replace ! with /, for example for cciss!c0d0 devices
+ char * c = name;
+ while((c = strchr(c, '!')) != NULL) {
+ *c = '/';
+ c++;
+ }
+
+ pathend = path + strlen(path);
+
+ // Check if this device had been handled by other code
+ int exists = 0;
+ for (int j = 0; j < count; j++) {
+ if (!strcmp(name, tmp[j].name)) {
+ exists = 1;
+ break;
+ }
+ }
+ if (exists) {
+ free(name);
+ continue;
+ }
+
+ strcpy(model, "Unknown Disk");
+
+ strcpy(pathend, "/device/vendor");
+ vendor_length = read_attribute(path, model);
+
+ if (vendor_length) {
+ strcat(model, " ");
+ vendor_length++;
+ }
+
+ strcpy(pathend, "/device/model");
+ read_attribute(path, model+vendor_length);
+
+ strcpy(pathend, "/capability");
+ read_attribute(path, buf);
+ long caps = strtol(buf, NULL, 16);
+
+ // GENHD_FL_UP (0x0010): indicated that the block device is “up†but the kernel has removed that info
+ if (caps && 0) {
+ log_message("Ignoring device %s (not up)", name);
+ free(name);
+ continue;
+ }
+
+ if (caps & 0x0400) {
+ log_message("Ignoring device %s (hidden)", name);
+ free(name);
+ continue;
+ }
+
+ tmp[count].type = DISK;
+ if (caps & 0x0008 || !strncmp(name, "sr", 2)) {
+ tmp[count].type = CDROM;
+ } else if (!strncmp(name, "fd", 2)) {
+ tmp[count].type = FLOPPY;
+ } else if (!strncmp(name, "st", 2)) {
+ tmp[count].type = TAPE;
+ }
+
+ tmp[count].name = name;
+ tmp[count].model = strdup(model);
+ count++;
+ }
+ globfree(&globbuf);
+ }
/* ----------------------------------------------- */
tmp[count].name = NULL;
count++;
- medias = memdup(tmp, sizeof(struct media_info) * count);
+ medias = _memdup(tmp, sizeof(struct media_info) * count);
}
@@ -657,62 +730,74 @@ void get_medias(enum media_type media, char *** names, char *** models, enum med
tmp_names[count] = NULL;
tmp_models[count++] = NULL;
- *names = memdup(tmp_names, sizeof(char *) * count);
- *models = memdup(tmp_models, sizeof(char *) * count);
+ *names = _memdup(tmp_names, sizeof(char *) * count);
+ *models = _memdup(tmp_models, sizeof(char *) * count);
}
-#endif /* DISABLE_MEDIAS */
#ifndef DISABLE_NETWORK
-int net_device_available(char * device) {
- struct ifreq req;
- int s;
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- log_perror(device);
- return 0;
- }
- strcpy(req.ifr_name, device);
- if (ioctl(s, SIOCGIFFLAGS, &req)) {
- /* if we can't get the flags, the networking device isn't available */
- close(s);
- return 0;
+static int is_net_interface_blacklisted(char *intf)
+{
+ /* see detect_devicess::is_lan_interface() */
+ char * blacklist[] = { "lo", "ippp", "isdn", "plip", "ppp", "wifi", "sit", NULL };
+ char ** ptr = blacklist;
+
+ while (ptr && *ptr) {
+ if (!strncmp(intf, *ptr, strlen(*ptr)))
+ return 1;
+ ptr++;
}
- close(s);
- return 1;
-}
+ return 0;
+}
char ** get_net_devices(void)
{
- char * devices[] = {
- "eth0", "eth1", "eth2", "eth3", "eth4", "eth5",
- "tr0",
- "plip0", "plip1", "plip2",
- "fddi0",
-#ifdef ENABLE_USB
- "usb0", "usb1", "usb2", "usb3",
-#endif
- NULL
- };
- char ** ptr = devices;
char * tmp[50];
- int i = 0;
static int already_probed = 0;
+ FILE * f;
+ int i = 0;
if (!already_probed) {
- already_probed = 1; /* cut off loop brought by: probe_that_type => my_insmod => get_net_devices */
+ already_probed = 1; /* cut off loop brought by: probe_that_type => my_modprobe => get_net_devices */
probe_that_type(NETWORK_DEVICES, BUS_ANY);
}
- while (ptr && *ptr) {
- if (net_device_available(*ptr))
- tmp[i++] = strdup(*ptr);
- ptr++;
+ /* use /proc/net/dev since SIOCGIFCONF doesn't work with some drivers (rt2500) */
+ f = fopen("/proc/net/dev", "rb");
+ if (f) {
+ char line[128];
+
+ /* skip the two first lines */
+ fgets(line, sizeof(line), f);
+ fgets(line, sizeof(line), f);
+
+ while (1) {
+ char *start, *end;
+ if (!fgets(line, sizeof(line), f))
+ break;
+ start = line;
+ while (*start == ' ')
+ start++;
+ end = strchr(start, ':');
+ if (end)
+ end[0] = '\0';
+ if (!is_net_interface_blacklisted(start)) {
+ log_message("found net interface %s", start);
+ tmp[i++] = strdup(start);
+ } else {
+ log_message("found net interface %s, but blacklisted", start);
+ }
+ }
+
+ fclose(f);
+ } else {
+ log_message("net: could not open devices file");
}
+
tmp[i++] = NULL;
- return memdup(tmp, sizeof(char *) * i);
+ return _memdup(tmp, sizeof(char *) * i);
+
}
#endif /* DISABLE_NETWORK */
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h
index ce107b752..702c9d056 100644
--- a/mdk-stage1/probing.h
+++ b/mdk-stage1/probing.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -24,15 +24,40 @@
enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA };
-enum driver_type { SCSI_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, ANY_DRIVER_TYPE };
+enum driver_type { MEDIA_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS,
+ VIRTIO_DEVICES, ANY_DRIVER_TYPE };
-enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_ANY };
+enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_PCMCIA, BUS_ANY };
+#define VIRTIO_PCI_VENDOR 0x1af4
+#define VIRTIO_ID_NET 0x0001
+#define VIRTIO_ID_BLOCK 0x0002
+#define VIRTIO_ID_BALLOON 0x0005
+
+void find_media(enum media_bus bus);
void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus);
char ** get_net_devices(void);
-void net_discovered_interface(char * intf_name);
char * get_net_intf_description(char * intf_name);
-void prepare_intf_descr(const char * intf_descr);
void probe_that_type(enum driver_type type, enum media_bus bus);
+/* Make sure the MATCH_ALL value is greater than all possible values
+ for subvendor & subdevice: this simplifies the orderer */
+#define PCITABLE_MATCH_ALL 0x10000
+
+struct pcitable_entry {
+ /* some bits stolen from pci-resource/pci-ids.h
+ * FIXME: split pci-ids.h into pci-ids.c and pci-ids.h so that the header can be re-used
+ */
+ unsigned short vendor; /* PCI vendor id */
+ unsigned short device; /* PCI device id */
+ unsigned int subvendor; /* PCI subvendor id */
+ unsigned int subdevice; /* PCI subdevice id */
+ char module[20]; /* module to load */
+ char description[100]; /* PCI human readable description */
+};
+extern struct pcitable_entry *detected_devices;
+extern int detected_devices_len;
+void probing_detect_devices();
+void probing_destroy(void);
+
#endif
diff --git a/mdk-stage1/rescue-gui.c b/mdk-stage1/rescue-gui.c
index dbe12cb4a..c7aae6126 100644
--- a/mdk-stage1/rescue-gui.c
+++ b/mdk-stage1/rescue-gui.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2001 MandrakeSoft
+ * Copyright 2001 Mandriva
*
*
* This software may be freely redistributed under the terms of the GNU
@@ -27,16 +27,29 @@
#include <sys/ioctl.h>
#include <linux/unistd.h>
#include <sys/select.h>
+#include <linux/reboot.h>
#include "config-stage1.h"
#include "frontend.h"
-#include "tools.h"
+#include "utils.h"
+#include "params.h"
+
+#include <sys/syscall.h>
+
+static inline long reboot(void)
+{
+ return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART, 0);
+}
+
+#if defined(__i386__) || defined(__x86_64__)
+#define ENABLE_RESCUE_MS_BOOT 1
+#endif
char * env[] = {
"PATH=/usr/bin:/bin:/sbin:/usr/sbin:/mnt/sbin:/mnt/usr/sbin:/mnt/bin:/mnt/usr/bin",
- "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib:/usr/X11R6/lib:/mnt/usr/X11R6/lib"
-#if defined(__x86_64__) || defined(__ppc64__)
- ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
+ "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib"
+#if defined(__x86_64__)
+ ":/lib64:/usr/lib64:/mnt/lib64:/mnt/usr/lib64"
#endif
,
"HOME=/",
@@ -55,7 +68,12 @@ static void PAUSE(void) {
/* ------ UUURGH this is duplicated from `init.c', don't edit here........ */
-static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
+void fatal_error(char *msg)
+{
+ printf("FATAL ERROR IN RESCUE: %s\n\nI can't recover from this.\nYou may reboot your system.\n", msg);
+ while (1);
+}
+
#define LOOP_CLR_FD 0x4C01
void del_loop(char *device)
{
@@ -135,7 +153,7 @@ void unmount_filesystems(void)
for (i = nb = 0; i < numfs; i++)
if (fs[i].mounted) {
printf("\t%s umount failed\n", fs[i].name);
- if (strcmp(fs[i].fs, "ext2") == 0) nb++; /* don't count not-ext2 umount failed */
+ if (strcmp(fs[i].fs, "ext4") == 0) nb++; /* don't count not-ext4 umount failed */
}
if (nb) {
@@ -155,7 +173,7 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
enum return_type results;
char install_bootloader[] = "Re-install Boot Loader";
-#ifdef __i386__
+#if ENABLE_RESCUE_MS_BOOT
char restore_ms_boot[] = "Restore Windows Boot Loader";
#endif
char mount_parts[] = "Mount your partitions under /mnt";
@@ -163,14 +181,35 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
char reboot_[] = "Reboot";
char doc[] = "Doc: what's addressed by this Rescue?";
- char * actions[] = { install_bootloader,
-#ifdef __i386__
- restore_ms_boot,
+ char upgrade[] = "Upgrade to New Version";
+ char rootpass[] = "Reset Root Password";
+ char userpass[] = "Reset User Password";
+ char factory[] = "Reset to Factory Defaults";
+ char backup[] = "Backup User Files";
+ char restore[] = "Restore User Files from Backup";
+ char badblocks[] = "Test Key for Badblocks";
+
+ char * actions_default[] = { install_bootloader,
+#if ENABLE_RESCUE_MS_BOOT
+ restore_ms_boot,
#endif
- mount_parts, go_to_console, reboot_, doc, NULL };
+ mount_parts, go_to_console, reboot_, doc, NULL };
+ char * actions_flash_rescue[] = { rootpass, userpass, factory, backup, restore,
+ badblocks, go_to_console, reboot_, NULL };
+ char * actions_flash_upgrade[] = { upgrade, go_to_console, reboot_, NULL };
+
+
+ char * flash_mode;
+ char ** actions;
char * choice;
- init_frontend("Welcome to " DISTRIB_NAME " Rescue (" VERSION ") " __DATE__ " " __TIME__);
+ process_cmdline();
+ flash_mode = get_param_valued("flash");
+ actions = !flash_mode ?
+ actions_default :
+ streq(flash_mode, "upgrade") ? actions_flash_upgrade : actions_flash_rescue;
+
+ init_frontend("Welcome to " DISTRIB_NAME " Rescue (" DISTRIB_VERSION ") " __DATE__ " " __TIME__);
do {
int pid;
@@ -182,7 +221,7 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
if (ptr_begins_static_str(choice, install_bootloader)) {
binary = "/usr/bin/install_bootloader";
}
-#ifdef __i386__
+#if ENABLE_RESCUE_MS_BOOT
if (ptr_begins_static_str(choice, restore_ms_boot)) {
binary = "/usr/bin/restore_ms_boot";
}
@@ -192,15 +231,41 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
}
if (ptr_begins_static_str(choice, reboot_)) {
finish_frontend();
+ sync(); sync();
+ sleep(2);
unmount_filesystems();
+ sync(); sync();
printf("rebooting system\n");
sleep(2);
- reboot(0xfee1dead, 672274793, 0x01234567);
+ reboot();
}
if (ptr_begins_static_str(choice, doc)) {
binary = "/usr/bin/rescue-doc";
}
+ /* Mandriva Flash entries */
+ if (ptr_begins_static_str(choice, rootpass)) {
+ binary = "/usr/bin/reset_rootpass";
+ }
+ if (ptr_begins_static_str(choice, userpass)) {
+ binary = "/usr/bin/reset_userpass";
+ }
+ if (ptr_begins_static_str(choice, factory)) {
+ binary = "/usr/bin/clear_systemloop";
+ }
+ if (ptr_begins_static_str(choice, backup)) {
+ binary = "/usr/bin/backup_systemloop";
+ }
+ if (ptr_begins_static_str(choice, restore)) {
+ binary = "/usr/bin/restore_systemloop";
+ }
+ if (ptr_begins_static_str(choice, badblocks)) {
+ binary = "/usr/bin/test_badblocks";
+ }
+ if (ptr_begins_static_str(choice, upgrade)) {
+ binary = "/usr/bin/upgrade";
+ }
+
if (binary) {
int wait_status;
suspend_to_console();
@@ -217,7 +282,7 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
return 33;
}
while (wait4(-1, &wait_status, 0, NULL) != pid) {};
- printf("<press Enter to return to Rescue GUI>");
+ printf("<press Enter to return to Rescue menu>");
PAUSE();
resume_from_suspend();
if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
diff --git a/mdk-stage1/rp-pppoe/.cvsignore b/mdk-stage1/rp-pppoe/.cvsignore
deleted file mode 100644
index 1f345b56b..000000000
--- a/mdk-stage1/rp-pppoe/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-pppoe-bin
diff --git a/mdk-stage1/rp-pppoe/README b/mdk-stage1/rp-pppoe/README
deleted file mode 100644
index 269fc16be..000000000
--- a/mdk-stage1/rp-pppoe/README
+++ /dev/null
@@ -1,87 +0,0 @@
-pppoe: a PPP-over-Ethernet redirector for pppd
-Copyright (C) 2001 Roaring Penguin Software Inc.
-
-Much inspiration from an earlier client by Luke Stras.
-
-The MSS clamping was inspired by mssclampfw by Marc Boucher <marc@mbsi.ca>
-with acknowledgements to Rebel.com (http://www.rebel.com). However, the
-actual MSS clamping code is original and is licensed under the GPL, unlike
-the original mssclampfw.
-
-Introduction
-============
-
-pppoe is a user-space redirector which permits the use of PPPoE
-(Point-to-Point Over Ethernet) with Linux. PPPoE is used by many
-ADSL service providers.
-
-Installation
-============
-
-Requirements
-------------
-
-1) Linux 2.2.9 or later on Intel, Sparc or PowerPC. It may work on
- Alpha, too -- anyone care to let me know?
-
- OR
-
- Linux 2.0.36 or later.
-
- OR
-
- FreeBSD, NetBSD or OpenBSD with BPF support. I have access only
- to FreeBSD. In general, I can't answer questions about the *BSD's
- as well as I can about Linux.
-
-
-2) pppd 2.3.10 or later. Versions 2.3.7 and later work unless you use
- demand-dialling. For demand dialling, you *must* use 2.3.10 or later.
-
-QUICKSTART
-----------
-
-If you're lucky, the "quickstart" method will work. After unpacking
-the archive, become root and type:
-
- ./go
-
-This should configure, compile and install the software and set up your
-ADSL connection. You'll have to answer a few questions along the way.
-
-If you want the GUI wrapper, type:
-
- ./go-gui
-
-If ./go and ./go-gui didn't work, read the rest of this README.
-
-Compiling
----------
-
-Compile and install pppd if you don't already have it. Then:
-
-1) Unpack:
-
- $ tar xzvf rp-pppoe-xxx.tar.gz
-
-2) Change to source directory:
-
- $ cd src
-
-3) Configure:
-
- $ ./configure
-
-4) Compile:
-
- $ make
-
-4) Install (this step must be done as root)
-
- # make install
-
-5) Now read doc/HOW-TO-CONNECT
-
---
-David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
-http://www.roaringpenguin.com | Linux and UNIX Specialists \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-masq b/mdk-stage1/rp-pppoe/configs/firewall-masq
deleted file mode 100644
index cb16fbecf..000000000
--- a/mdk-stage1/rp-pppoe/configs/firewall-masq
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# firewall-masq This script sets up firewall rules for a machine
-# acting as a masquerading gateway
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Interface to Internet
-EXTIF=ppp+
-
-ANY=0.0.0.0/0
-
-ipchains -P input ACCEPT
-ipchains -P output ACCEPT
-ipchains -P forward DENY
-
-ipchains -F forward
-ipchains -F input
-ipchains -F output
-
-# Deny TCP and UDP packets to privileged ports
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
-
-# Deny TCP connection attempts
-ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
-
-# Deny ICMP echo-requests
-ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
-
-# Do masquerading
-ipchains -A forward -j MASQ
-echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-standalone b/mdk-stage1/rp-pppoe/configs/firewall-standalone
deleted file mode 100644
index bcb1e92b1..000000000
--- a/mdk-stage1/rp-pppoe/configs/firewall-standalone
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-#
-# firewall-standalone This script sets up firewall rules for a standalone
-# machine
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Interface to Internet
-EXTIF=ppp+
-
-ANY=0.0.0.0/0
-
-ipchains -P input ACCEPT
-ipchains -P output ACCEPT
-ipchains -P forward DENY
-
-ipchains -F forward
-ipchains -F input
-ipchains -F output
-
-# Deny TCP and UDP packets to privileged ports
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
-ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
-
-# Deny TCP connection attempts
-ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
-
-# Deny ICMP echo-requests
-ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
-
diff --git a/mdk-stage1/rp-pppoe/configs/pap-secrets b/mdk-stage1/rp-pppoe/configs/pap-secrets
deleted file mode 100644
index f4483a723..000000000
--- a/mdk-stage1/rp-pppoe/configs/pap-secrets
+++ /dev/null
@@ -1,9 +0,0 @@
-# Edit this file and place it in /etc/ppp/pap-secrets
-
-#User #Server #Password #IP
-bxxxxx@sympatico.ca * my_password *
-
-# Replace bxxxxx@sympatico.ca with your Sympatico user-ID
-# Replace my_password with your Sympatico password
-
-# For Magma, use xxyyzz@magma.ca
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe-server-options b/mdk-stage1/rp-pppoe/configs/pppoe-server-options
deleted file mode 100644
index 8319870ac..000000000
--- a/mdk-stage1/rp-pppoe/configs/pppoe-server-options
+++ /dev/null
@@ -1,5 +0,0 @@
-# PPP options for the PPPoE server
-require-pap
-login
-lcp-echo-interval 10
-lcp-echo-failure 2
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe.conf b/mdk-stage1/rp-pppoe/configs/pppoe.conf
deleted file mode 100644
index 9f77b913c..000000000
--- a/mdk-stage1/rp-pppoe/configs/pppoe.conf
+++ /dev/null
@@ -1,126 +0,0 @@
-#***********************************************************************
-#
-# pppoe.conf
-#
-# Configuration file for rp-pppoe. Edit as appropriate and install in
-# /etc/ppp/pppoe.conf
-#
-# NOTE: This file is used by the adsl-start, adsl-stop, adsl-connect and
-# adsl-status shell scripts. It is *not* used in any way by the
-# "pppoe" executable.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# $Id$
-#***********************************************************************
-
-# When you configure a variable, DO NOT leave spaces around the "=" sign.
-
-# Ethernet card connected to ADSL modem
-ETH=eth1
-
-# ADSL user name. You may have to supply "@provider.com" Sympatico
-# users in Canada do need to include "@sympatico.ca"
-# Sympatico uses PAP authentication. Make sure /etc/ppp/pap-secrets
-# contains the right username/password combination.
-# For Magma, use xxyyzz@magma.ca
-USER=bxxxnxnx@sympatico.ca
-
-# Bring link up on demand? Default is to leave link up all the time.
-# If you want the link to come up on demand, set DEMAND to a number indicating
-# the idle time after which the link is brought down.
-DEMAND=no
-#DEMAND=300
-
-# DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2;
-# NOCHANGE=do not adjust.
-DNSTYPE=SERVER
-
-# Obtain DNS server addresses from the peer (recent versions of pppd only)
-USEPEERDNS=yes
-
-DNS1=
-DNS2=
-
-### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT
-
-# How long adsl-start waits for a new PPP interface to appear before
-# concluding something went wrong. If you use 0, then adsl-start
-# exits immediately with a successful status and does not wait for the
-# link to come up. Time is in seconds.
-#
-# WARNING WARNING WARNING:
-#
-# If you are using rp-pppoe on a physically-inaccessible host, set
-# CONNECT_TIMEOUT to 0. This makes SURE that the machine keeps trying
-# to connect forever after adsl-start is called. Otherwise, it will
-# give out after CONNECT_TIMEOUT seconds and will not attempt to
-# connect again, making it impossible to reach.
-CONNECT_TIMEOUT=30
-
-# How often in seconds adsl-start polls to check if link is up
-CONNECT_POLL=2
-
-# Specific desired AC Name
-ACNAME=
-
-# Specific desired service name
-SERVICENAME=
-
-# Character to echo at each poll. Use PING="" if you don't want
-# anything echoed
-PING="."
-
-# File where the adsl-connect script writes its process-ID.
-# Three files are actually used:
-# $PIDFILE contains PID of adsl-connect script
-# $PIDFILE.pppoe contains PID of pppoe process
-# $PIDFILE.pppd contains PID of pppd process
-CF_BASE=`basename $CONFIG`
-PIDFILE="/var/run/$CF_BASE-adsl.pid"
-
-# Do you want to use synchronous PPP? "yes" or "no". "yes" is much
-# easier on CPU usage, but may not work for you. It is safer to use
-# "no", but you may want to experiment with "yes". "yes" is generally
-# safe on Linux machines with the n_hdlc line discipline; unsafe on others.
-SYNCHRONOUS=no
-
-# Do you want to clamp the MSS? Here's how to decide:
-# - If you have only a SINGLE computer connected to the ADSL modem, choose
-# "no".
-# - If you have a computer acting as a gateway for a LAN, choose "1412".
-# The setting of 1412 is safe for either setup, but uses slightly more
-# CPU power.
-CLAMPMSS=1412
-#CLAMPMSS=no
-
-# LCP echo interval and failure count.
-LCP_INTERVAL=20
-LCP_FAILURE=3
-
-# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
-PPPOE_TIMEOUT=80
-
-# Firewalling: One of NONE, STANDALONE or MASQUERADE
-FIREWALL=NONE
-
-# Linux kernel-mode plugin for pppd. If you want to try the kernel-mode
-# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
-LINUX_PLUGIN=
-
-# Any extra arguments to pass to pppoe. Normally, use a blank string
-# like this:
-PPPOE_EXTRA=""
-
-# Rumour has it that "Citizen's Communications" with a 3Com
-# HomeConnect ADSL Modem DualLink requires these extra options:
-# PPPOE_EXTRA="-f 3c12:3c13 -S ISP"
-
-# Any extra arguments to pass to pppd. Normally, use a blank string
-# like this:
-PPPD_EXTRA=""
-
-
diff --git a/mdk-stage1/rp-pppoe/doc/CHANGES b/mdk-stage1/rp-pppoe/doc/CHANGES
deleted file mode 100644
index 9afce027d..000000000
--- a/mdk-stage1/rp-pppoe/doc/CHANGES
+++ /dev/null
@@ -1,177 +0,0 @@
-Changes from Version 2.8 to 3.0:
-
-- Many small improvements to server. Server now only makes one
- discovery socket, systemwide, with addition of "-n" option to pppoe.
-
-- Fixes for compilation problems on BSD, Solaris and some Linux platforms.
-
-- Added "-p" option to pppoe-server to allow you to specify a pool of
- IP addresses to assign to clients.
-
-- Added GUI system (tkpppoe). This work was funded by Iospan
- Wireless, Inc. The GUI includes a Set-UID wrapper (pppoe-wrapper)
- which allows ordinary users to control a link (if so authorized.)
- I believe the wrapper script is secure, but please audit the
- source code (gui/wrapper.c) if you have any concerns.
-
-- Changes to scripts and pppoe.conf. DNS setup is now dynamic (happens
- each time adsl-connect runs.)
-
-- Made relay.c check packet lengths rigorously; made it throw out Ethernet
- frame padding on session packets as well as discovery packets.
-
-Changes from Version 2.7 to 2.8:
-
-- Added init scripts for TurboLinux, courtesy of Yasuhiro Sumi.
-
-- Made relay.c check packet lengths rigorously; made it throw out Ethernet
- frame padding on discovery packets.
-
-*** NOTE: 2.7 was not released publicly
-
-Changes from Version 2.6 to 2.7:
-
-- Completely restructured source file tree.
-
-- Much internal restructuring to eliminate a bunch of global variables.
-
-- adsl-connect now executes /etc/ppp/adsl-lost whenever connection is dropped
- or cannot be established.
-
-- Split pppoe.c into pppoe.c and discovery.c.
-
-- Added relay agent (pppoe-relay).
-
-- Made adsl-connect script use the "-U" (host-unique) option to better support
- multiple PPPoE links.
-
-- Added support for kernel-mode PPPoE (EXPERIMENTAL, UNSUPPORTED!)
-
-- Added "-o" option to PPPoE server; encoded server PID in pppoe-server
- cookie.
-
-Changes from Version 2.5 to 2.6:
-
-- Code should now compile cleanly on Caldera and Slackware Linux
-
-- Fixed rp-pppoe.spec file to work on Mandrake and Red Hat.
-
-- Deleted some obsolete files
-
-- Fixed bug in Solaris/x86 port (thanks to Philippe Levan)
-
-- Made shell scripts nicer under Solaris (again, Philippe Levan)
-
-- Made adsl-status look under /var/run and /etc/ppp for PID files. Should
- fix problems with NetBSD.
-
-- Added PPPD_EXTRA to pppoe.conf; made the PID file depend on the config
- file name. This makes it easier to run multiple PPPoE sessions.
-
-Changes from Version 2.4 to 2.5:
-
-- Tested for zero-length TCP option-length field, and for reverse-packing
- of type/code bitfields. Thanks to Robert Schlabbach for pointing out
- these problems.
-
-- Set umask to 077 in adsl-setup.in to protect created files like
- /etc/ppp/pap-secrets.
-
-Changes from Version 2.3 to 2.4:
-
-- Fixed spec file to automatically add .gz extension to man files as required
-
-- Tightened firewall rules.
-
-- Better check for /var/run in adsl-status; minor shell script fixes and
- cleanups for NetBSD and Solaris.
-
-- Added FAQ to HOW-TO-CONNECT regarding running a script each time a
- connection is made.
-
-Changes from Version 2.2 to 2.3:
-
-- Fixed the init script to create/remove /var/lock/subsys/adsl (patch
- courtesy of Charley Carter.)
-
-- Added support (under Linux) for N_HDLC line discipline which should
- greatly reduce CPU usage. My tests show it cuts CPU usage in half.
- My 486 DX2/66 gets 800 kb/s at 22% CPU usage.
-
-- adsl-connect uses "setsid" (if available) so that adsl-stop doesn't kill
- its caller. There is (IMO) a bug in pppd which kills all processes in
- its process group if the "pty" option is used. The setsid program gets
- around this bug, on Linux at least.
-
-- Port to Solaris, courtesy of David Holland.
-
-- Renamed spec file from "spec" to "rp-pppoe.spec" and made some cleanups.
- NOTE: Red Hat, in their infinite wisdom, decided to make the new RPM
- compress man pages automatically. You may have problems building RPM's
- from source unless you get the latest rpm package and make sure it
- compresses man pages.
-
-Changes from Version 2.1 to 2.2:
-
-- Added "-f" option to pppoe to allow use of any Ethernet frame type
- for PPPoE. USE WITH CAUTION -- this is a workaround for broken DSL
- providers, not something you should monkey with freely!
-
-- Added pppoe-sniff program to help expose non-standard PPPoE implementations.
-
-Changes from Version 2.0 to 2.1:
-
-- Fixed minor bugs in bounds-checking
-
-- Modified adsl-status to use output of "netstat -r -n" to determine whether
- or not link is up. This should make it independent of locale, I hope!
-
-- Added "-k" and "-d" options to pppoe.
-
-Changes from Version 1.9 to 2.0:
-
-- Addition of pppoe-server
-
-- Massive internal code restructuring
-
-- Zealous bounds-checking everywhere.
-
-- adsl-setup now quotes user name and password in /etc/ppp/pap-secrets.
-
-- Ported to OpenBSD, FreeBSD and NetBSD, courtesy of Geoff Mottram
- and Yannis Sismanis.
-
-- Rearranged adsl-* shell scripts, courtesy of Heiko Schlittermann.
-
-- Fixed bug in which Host-Uniq did not work if access concentrator sent
- a cookie.
-
-- Addition of SuSE-specific "init" script, courtesy of Gary Cameron.
-
-Changes from Version 1.8 to 1.9:
-
-- Added some more documentation to HOW-TO-CONNECT
-
-- Demand-dialling option now works correctly
-
-- SIGHUP terminates pppoe after sending a PADT to the access concentrator
-
-- Minor cleanups to connection shell scripts
-
-Changes from Version 1.7 to 1.8:
-
-- Added demand-dialling option
-
-- Clarified HOW-TO-CONNECT
-
-- Added adsl-status script
-
-- Added "restart" and "status" options to Red Hat /etc/rc.d/init.d/adsl script
-
-- Made adsl-setup check for existence of pppd
-
-- Wildcarded external interface in firewall rules
-
-- Made pppoe send a PADT frame if connection is terminated
-
-$Id$
diff --git a/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT b/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
deleted file mode 100644
index 3e888af69..000000000
--- a/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
+++ /dev/null
@@ -1,295 +0,0 @@
-$Id$
-
-This package lets you connect a Linux machine to Sympatico HSE or Magma's
-high-speed service using a Nortel 1-meg modem.
-
-Follow these steps and you should have your high-speed service up and running.
-
-0. Install the rp-pppoe-software
---------------------------------
-
-You should have already done this by the time you're reading this. If not,
-go back and read README.
-
-1. Set up your Ethernet hardware
---------------------------------
-
-First, make sure the Ethernet card you intend to use with the modem is
-visible to the Linux kernel. Just how to do this is beyond the scope
-of this document. However, if the card is the only Ethernet card in
-the system, executing:
-
- ifconfig eth0
-
-should display something like this:
-
- eth0 Link encap:Ethernet HWaddr 00:60:67:62:31:D4
-
-plust some more lines. Your HWaddr will be different. As long as you see
-the HWaddr line, your card should be working.
-
-DO NOT assign an IP address to the Ethernet card. DO NOT configure the
-card to come up at boot time.
-
-2. Configure various files
---------------------------
-
-Several files need editing. The easiest way to do this is to run
-the following command as root:
-
- adsl-setup
-
-Answer the questions and you should be all set. If you want to know what
-goes on behind the scenes, continue reading this document. If you don't
-care and your connection works, stop reading. :-)
-
-3. Edit pap-secrets
--------------------
-
-Edit the "pap-secrets" file, inserting your proper user-ID and password.
-Install the file (or copy the relevant lines) to /etc/ppp/pap-secrets.
-Your ISP may use CHAP authentication. In this case, add the line to
-/etc/ppp/chap-secrets.
-
-4. Edit /etc/ppp/pppoe.conf
------------------------------
-
-The file /etc/ppp/pppoe.conf contains configuration information for the
-ADSL connection. You need to edit the following items:
-
-- Change ETH=eth1 to the correct Ethernet device for your modem.
-- Change USER=bxxxnxnx@sympatico.ca to your proper ADSL user-ID.
-
-Don't edit any of the other settings unless you're an expert.
-
-5. Set up DNS
--------------
-
-If you are using DNS servers supplied by your ISP, edit the file
-/etc/resolv.conf to contain these lines:
-
- nameserver ip_addr_of_first_dns_server
- nameserver ip_addr_of_second_dns_server
-
-For example:
-
- nameserver 204.101.251.1
- nameserver 204.101.251.2
-
-
-6. Firewall your machine
-------------------------
-
-MAKE SURE YOU FIREWALL YOUR MACHINE. A sample firewall script is given
-in the shell script "firewall" To install the script:
-
-a) Copy it to /etc/rc.d/init.d/firewall
-b) Type: chkconfig firewall on
-c) Start the firewall: sh /etc/rc.d/init.d/firewall start
-
-(The above procedure works ONLY on Red Hat-like systems.)
-
-You may want to tweak the script somewhat.
-
-7. Bring up the connection at boot time
----------------------------------------
-
-On a Red Hat system, the installation procedure should have installed
-a script called /etc/rc.d/init.d/adsl. To bring up the connection
-at boot time, just type this command as root:
-
- chkconfig --add adsl
-
-On non-Red-Hat systems, add this line to the end
-of /etc/rc.d/rc.local:
-
- /usr/sbin/adsl-start
-
-8. Configure LAN Hosts
-----------------------
-
-If you have a LAN behind the firewall, you have to lower the TCP
-maximum segment size from the normal 1460 to 1452 (or better, 1412.)
-You have two options: Either set the MTU of all the interfaces on
-other hosts on the LAN to 1452, or use the "-m 1412" option to pppoe.
-The "-m" option for pppoe is far simpler and makes it easier to add
-hosts to the LAN, but consumes some extra CPU time.
-
-If you want to manually configure the LAN hosts, here's how:
-
-In Linux, use: "ifconfig eth0 mtu 1452". For best results, put this
-in an /etc/rc.d/rc.local script.
-
-For Windows, machines, see http://lan.cns.ksu.edu/OS/WIN95/slip95.htm.
-Set the MaxMTU to 1452.
-
-9. Commands to control the ADSL link
-------------------------------------
-
-As root, bring up the link by typing: adsl-start
-As root, bring down the link by typing: adsl-stop
-
-That's it!
-
---
-David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
-http://www.roaringpenguin.com | Linux and UNIX Specialists
-
-PROBLEMS! DAVE, IT DOESN'T WORK!
----------------------------------
-
-Here are some problems PPPoE users have encountered.
-
------------------------------------------------------------------------------
-A) Can't see the Ethernet interface
-
-Well, I can't really help you here. To use these instructions, you must
-have Linux working to the point where it recognizes your Ethernet card.
-If you type "ifconfig ethx" and you get back a HWAddr value, your Ethernet
-card is probably OK. But I really can't help with hardware configuration
-issues.
-
------------------------------------------------------------------------------
-B) Connection seems to come up, but I can't browse the web or ping anything
-
-You probably don't have DNS set up. See step 6.
-
------------------------------------------------------------------------------
-C) Can't compile PPPoE
-
-I have only tested compilation on 2.2-kernel machines. Make sure you have
-"make", the C compiler and all development header files installed.
-
------------------------------------------------------------------------------
-D) pppd complains about (i) "unknown option pty" or (ii) "pty option precludes
- specifying device name"
-
-(i) Your pppd is too old. You need at least 2.3.7.
-(ii) Your /etc/ppp/options file is not empty. Empty it!
-
------------------------------------------------------------------------------
-E) pppoe dies with the log message "Message too long"
-
-You set the MTU of the Ethernet interface connected to the ADSL modem
-to less than 1500. Don't do that.
-
------------------------------------------------------------------------------
-F) Internal hosts can't see the Internet
-
-Do you have masquerading set up? I can't help you in great detail, but
-see the IPCHAINS-HOWTO and the IP-Masquerade mini-HOWTO.
-
------------------------------------------------------------------------------
-G) Authentication fails
-
-Make sure you have the right secret in /etc/ppp/pap-secrets. Your ISP
-may be using CHAP; it won't hurt to copy the line to /etc/ppp/chap-secrets.
-
-Also, MAKE SURE that /etc/ppp/options is EMPTY. The "adsl-connect" script
-supplies all required options on the command line; additional options
-in /etc/ppp/options may mess things up.
-
------------------------------------------------------------------------------
-H) VPN software does not work
-
-If you are using VPN software on a Windows or Linux machine with another
-Linux machine running PPPoE as the gateway, you MUST NOT use the "-m" option
-to pppoe. This alters IP packets, which will break any VPN which uses IPSec.
-In /etc/ppp/pppoe.conf, set CLAMPMSS to "no". You'll also have to reduce
-the MTU on the hosts behind the gateway to 1452.
-
------------------------------------------------------------------------------
-I) I can browse some web sites just fine, but others stall forever.
-
-There is probably a buggy router or firewall between you and the Web server.
-One possible workaround: In /etc/ppp/pppoe.conf, find the line which reads:
-
- CLAMPMSS=1412
-
-Try lowering the 1412 until it works (go down in steps of 100 or so.) Each
-time you lower the value, you have to restart your connection like this:
-
- adsl-stop; adsl-start
-
-This should work around buggy routers which do not support Path MTU discovery.
-
------------------------------------------------------------------------------
-J) Whenever I connect using ADSL, my internal LAN no longer sees the gateway
-
-You are more than likely running a 2.0.X Linux kernel. To solve this
-problem, give the Ethernet card connected to the DSL modem a fake IP
-address. For example, if eth0 is your internal LAN card and eth1 goes to
-the DSL modem, do something like this:
-
- ifconfig eth1 10.0.0.1 netmask 255.255.255.0
-
-(You may have to choose a different IP address; experiment.)
------------------------------------------------------------------------------
-K) How can I run a script every time I connect and get a new IP address?
-
-Put the script in /etc/ppp/ip-up. See the pppd(8) man page.
------------------------------------------------------------------------------
-L) Nothing works!
-
-You may need to put your Ethernet card in half-duplex, 10Mb/s mode to
-work with the DSL modem. You may have to run a DOS program to do this,
-or pass special parameters to the Linux driver.
-
-Some providers object to attempts to set the MRU or MTU. Try removing
-"mtu 1492 mru 1492" from PPP_STD_OPTIONS in the adsl-connect script.
-This problem has been seen with an ISP in Hong Kong.
-
-Your DSL provider may be using non-standard PPPoE frames or require
-something special in the Service-Name field. If you have two computers,
-you can try sniffing out these values with the "pppoe-sniff" program.
-Type "man pppoe-sniff" for details. If you don't have two computers,
-you'll have to ask your DSL provider if it uses non-standard PPPoE frames
-or special Service-Name fields. Good luck getting an answer...
-
-If pppoe-sniff indicates that nothing is amiss, make sure the Ethernet
-card associated with the ADSL modem does NOT have a valid IP address.
-(NOTE: For 2.0 kernels, you may have to give it a fake IP address
-which is not on your internal subnet. Something like 192.168.42.42
-might work if you are not using 192.168.42.*)
-
-If you are using synchronous PPP on a slow machine, try switching to
-asynchronous PPP.
-
-Make sure no entries in the routing table go through the Ethernet card
-connected to the ADSL modem. You might want to add these lines in
-adsl-connect:
-
- ifconfig ethx down
- ifconfig ethx up mtu 1500
-
-which should reset things to sane values.
-
-#######################################################################
-# WHEN ALL ELSE FAILS: #
-#######################################################################
-
-If you are completely unable to connect, run the adsl-start script in
-debugging mode. If you are using bash as your shell (if you don't
-know what your shell is, it's probably bash), type this:
-
- DEBUG=1 adsl-start
-
-In tcsh or csh, use:
-
- setenv DEBUG 1; adsl-start
-
-Then follow the instructions to mail the debugging file to me. PLEASE
-DON'T DO THIS until you have exhausted all other avenues; rp-pppoe is
-free software and it costs me time and money to help people with
-problems. While I don't mind doing this, I do mind it if you don't
-make an effort to fix the problem yourself first.
-
-WARNING: If you run adsl-start in debugging mode and you manage to
-connect, your connection will be extremely slow and huge amounts of
-data will quickly fill your /tmp directory. Do not use debugging mode
-unless you really cannot get your connection to work.
-
-Be aware that debugging mode produces hex dumps which potentially reveal
-your user name and password. If the debugging output includes packets
-labeled "PPPOE Session", you may wish to remove these packets from the
-dump before mailing it to me.
diff --git a/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE b/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
deleted file mode 100644
index 454c4b870..000000000
--- a/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
+++ /dev/null
@@ -1,39 +0,0 @@
-RP-PPPoE now supports kernel-mode PPPoE on Linux kernels 2.4.x. However,
-the default "./go" build procedure does not make kernel-mode support.
-
-Here's what you need to do:
-
-1) Download Michal Ostrowski's patched version of pppd which supports
-a PPPoE plugin. The latest version as of this writing is
-at http://www.math.uwaterloo.ca/~mostrows/ in
-http://www.math.uwaterloo.ca/~mostrows/ppp-2.4.0-pppoe4.tgz. It is
-also mirrored at http://www.roaringpenguin.com/pppoe/
-
-2) Unpack that version of pppd and build and install it.
-
-3) In the rp-pppoe directory, change to src/ and type:
-
- ./configure --enable-plugin=/path/to/ppp-tree
-
-Here, /path/to/ppp-tree is where you unpacked the pppd software. It
-should be the directory named ppp-2.4.0.pppoe
-
-4) Type make; make install
-
-5) Edit /etc/ppp/pppoe.conf to include this line:
-
- LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
-
-6) Make sure your kernel was built with support for PPP, PPPOX and that
-all modules are locatable by modprobe. Make sure you have a /dev/ppp
-device:
-
- mknod /dev/ppp c 108 0
-
-After that, adsl-start should use kernel-mode PPPoE.
-
-This code is experimental and unsupported. Use at your own risk.
-
---
-David F. Skoll <dfs@roaringpenguin.com>
-
diff --git a/mdk-stage1/rp-pppoe/doc/LICENSE b/mdk-stage1/rp-pppoe/doc/LICENSE
deleted file mode 100644
index 9ed341535..000000000
--- a/mdk-stage1/rp-pppoe/doc/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/mdk-stage1/rp-pppoe/doc/PROBLEMS b/mdk-stage1/rp-pppoe/doc/PROBLEMS
deleted file mode 100644
index f0b7d7d59..000000000
--- a/mdk-stage1/rp-pppoe/doc/PROBLEMS
+++ /dev/null
@@ -1,3 +0,0 @@
-Problems?
-
-See the last section of HOW-TO-CONNECT.
diff --git a/mdk-stage1/rp-pppoe/go b/mdk-stage1/rp-pppoe/go
deleted file mode 100755
index 305ac9ee4..000000000
--- a/mdk-stage1/rp-pppoe/go
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# go
-#
-# Quick-start shell script to set up ADSL
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# Figure out directory of script
-MYDIR=`dirname $0`
-cd $MYDIR/src
-
-echo "Running ./configure..."
-./configure
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like ./configure failed."
- exit 1
-fi
-
-echo "Running make..."
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Running make install..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-for i in a a a a a a a a a a a a a a a a a a a a a a a a a a a a ; do
- echo ""
-done
-
-sh ../scripts/adsl-setup
diff --git a/mdk-stage1/rp-pppoe/go-gui b/mdk-stage1/rp-pppoe/go-gui
deleted file mode 100755
index ddce984fd..000000000
--- a/mdk-stage1/rp-pppoe/go-gui
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# go-gui
-#
-# Quick-start shell script to set up ADSL and GUI wrapper
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# GUI only works on Linux
-if test "`uname`" != "Linux" ; then
- echo "Sorry, the GUI only works on Linux."
- exit 1
-fi
-
-# Figure out directory of script
-MYDIR=`dirname $0`
-cd $MYDIR/src
-
-echo "Running ./configure..."
-./configure
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like ./configure failed."
- exit 1
-fi
-
-echo "Running make..."
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Running make install..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-echo "Building GUI wrapper..."
-cd ../gui
-make
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make failed."
- exit 1
-fi
-
-echo "Installing GUI..."
-make install
-
-if [ "$?" != 0 ] ; then
- echo "Oops! It looks like make install failed."
- exit 1
-fi
-
-# Install entry in KDE menu
-if test -n "$KDEDIR" ; then
- echo "Installing KDE menu entry Internet : TkPPPoE..."
- mkdir -p "$KDEDIR/share/applnk/Internet"
- cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-# KDE Config File
-[KDE Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-# Install entry in GNOME menus
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- echo "Installing GNOME menu entry Internet : TkPPPoE..."
- mkdir -p "$GNOMEDIR/gnome/apps/Internet"
-cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-[Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-echo "Running GUI configuration tool..."
-tkpppoe &
-exit 0
diff --git a/mdk-stage1/rp-pppoe/gui/Makefile.in b/mdk-stage1/rp-pppoe/gui/Makefile.in
deleted file mode 100644
index a9b0844c0..000000000
--- a/mdk-stage1/rp-pppoe/gui/Makefile.in
+++ /dev/null
@@ -1,64 +0,0 @@
-# @configure_input@
-#***********************************************************************
-#
-# Makefile
-#
-# Makefile for GUI for Roaring Penguin's Linux user-space PPPoE client.
-#
-# Copyright (C) 2001 Roaring Penguin Software Inc.
-#
-# This program may be distributed according to the terms of the GNU
-# General Public License, version 2 or (at your option) any later version.
-#
-# $Id$
-#***********************************************************************
-DEFINES=
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-mandir=@mandir@
-install=@INSTALL@
-install_dir=@INSTALL@ -d
-sbindir=@sbindir@
-bindir=@bindir@
-
-ADSL_START_PATH=@sbindir@/adsl-start
-ADSL_STOP_PATH=@sbindir@/adsl-stop
-ADSL_STATUS_PATH=@sbindir@/adsl-status
-
-PATHS='-DADSL_START_PATH="$(ADSL_START_PATH)"' '-DADSL_STOP_PATH="$(ADSL_STOP_PATH)"' '-DADSL_STATUS_PATH="$(ADSL_STATUS_PATH)"'
-
-CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
-
-all: pppoe-wrapper
- @echo ""
- @echo "Type 'make install' as root to install the software."
-
-pppoe-wrapper: wrapper.o
- @CC@ -o pppoe-wrapper wrapper.o
-
-wrapper.o: wrapper.c
- @CC@ $(CFLAGS) -c -o wrapper.o wrapper.c
-
-install: all
- -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(bindir)
- -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp/rp-pppoe-gui
- $(install) -m 4755 -s pppoe-wrapper $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 tkpppoe $(RPM_INSTALL_ROOT)$(bindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man1
- $(install) -m 644 pppoe-wrapper.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
- $(install) -m 644 tkpppoe.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
- -mkdir -p $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui
- for i in tkpppoe.html mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png ; do \
- $(install) -m 644 html/$$i $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui; \
- done
-
-clean:
- rm -f *.o *~ pppoe-wrapper
-
-distclean: clean
- rm -f Makefile tkpppoe
-
-.PHONY: clean
-
-.PHONY: distclean
diff --git a/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html b/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
deleted file mode 100644
index 51aadb895..000000000
--- a/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.14-5.0 i686) [Netscape]">
- <title>TkPPPoE Manual</title>
-</head>
-<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#59188E" alink="#FF0000">
-
-<center>
-<h1>tkpppoe - A GUI for managing PPPoE Connections</h1>
-</center>
-
-<h1>Introduction</h1>
-
-TkPPPoE is a graphical user interface for managing PPPoE connections. It
-performs two different functions:
-<ul>
-<li>TkPPPoE lets you <em>define</em> connection properties. This step must
-be done as root.
-<li>TkPPPoE lets you <em>start and stop</em> PPPoE connections. This step
-may be done as a normal user, depending on how you configured the connection.
-</ul>
-
-<h1>Defining Connections</h1>
-
-To define connections, start TkPPPoE as root. You can do this from
-a terminal by typing <code>tkpppoe</code>, or from the KDE or GNOME menus
-by selecting <b>Internet : TkPPPoE</b>. The following window pops up:
-
-<p>
-<center><img src="mainwin.png" width="361" height="73" alt="Main Window">
-</center>
-
-<p>
-Because you have not yet defined any connections, the connection property
-window also pops up:
-
-<p>
-<center><img src="props-basic.png" width="440" height="259" alt="Connection Properties - Basic">
-</center>
-
-You can pop up the connection property window at any time by clicking
-<b>New Connection...</b> You can edit the properties of an existing
-connection by selecting the connection's name and clicking
-<b>Properties...</b>
-<h4>Basic Information</h4>
-
-Let's fill in the basic information:
-<ul>
-<li>For <b>Connection Name</b>, enter a unique name for this connection. It
-can be anything you like, but must contain only letters, numbers, underscores
-or dashes. In particular, it can't contain spaces. If you have only one
-PPPoE connection, a good name is <b>Default</b>.
-<li>For <b>User Name</b>, enter the user name supplied by your ISP. Enter
-only the user name; do not enter an "@isp.com" part.
-<li>For <b>Network</b>, you may have to enter your ISP's domain name.
-(For example, <b>isp.com</b>.) Some DSL providers add this to your user
-name; others do not. You may have to experiment a bit. The two most likely
-choices are your ISP's domain name, or blank. Try both.
-<li>For <b>Password</b>, enter the password your ISP provided you with.
-</ul>
-
-<h4>NIC and DNS</h4>
-Click on the <b>NIC and DNS</b> tab:
-
-<p>
-<center><img src="props-nic.png" width="440" height="259" alt="Connection Properties - NIC and DNS"></center>
-<p>
-<ul>
-<li>For <b>Ethernet Interface</b>, enter the Ethernet interface connected
-to the DSL modem. It is something like <b>eth0</b> or <b>eth1</b>. Click
-on <b>...</b> to browse a list of detected Ethernet interfaces.
-<li>For <b>DNS Setup</b>, you have three options:
-<ol>
-<li><b>From Server</b> means that the system will obtain DNS information from
-the PPPoE server. This is the correct choice for most ISPs.
-<li><b>Specify</b> means that you will enter the IP addresses of your DNS
-servers manually. In this case, enter the addresses in the <b>Primary DNS</b>
-and <b>Secondary DNS</b> entries.
-<li><b>Do not Adjust</b> means that you want RP-PPPoE to leave your
-DNS setup alone. Use this if you are running your own caching DNS server
-or know that you don't want the DNS setup touched.
-</ol>
-</ul>
-
-<h4>Options</h4>
-Click on the <b>Options</b> tab:
-
-<p>
-<center><img src="props-options.png" width="440" height="259" alt="Connection Properties - Options"></center>
-<p>
-<ul>
-<li>If you want ordinary users to be able to start and stop this connection,
-enable <b>Allow use by non-root users</b>. If you do not enable this,
-non-root users will be able to monitor the connection, but not control it.
-<li>If you want to use synchronous PPP, enable <b>Use synchronous PPP</b>.
-This is recommended as it conserves CPU usage, but may not work on some
-(misconfigured) Linux kernels.
-<li>For <b>Firewalling</b>, you have three options:
-<ol>
-<li><b>Stand-Alone</b> installs a simple firewall ruleset for stand-alone
-machines. Use this if you have only a single computer connected to the DSL
-modem.
-<li><b>Masquerading</b> installs a simple firewall ruleset for using
-your Linux computer as an Internet sharing device. If you have two Ethernet
-cards, you can connect one card to the DSL modem and the other to an
-internal LAN. The masquerading firewall ruleset lets internal machines
-share the DSL connection.
-<li><b>None</b>. If you already have your own firewall rules, or you wish
-to run servers on your machine, select None. This is <em>not recommended</em>
-unless you take steps to secure your machine, and know what you are doing.
-</ol>
-</ul>
-
-<h4>Advanced</h4>
-Click on the <b>Advanced</b> tab:
-
-<p>
-<center><img src="props-advanced.png" width="440" height="259" alt="Connection Properties - Advanced"></center>
-<p>
-
-In most cases, you can leave <b>AC-Name</b> and <b>Service-Name</b> blank.
-In some cases, your ISP may require you to enter information in these fields;
-contact your ISP for more information.
-
-<h1>Controlling Connections</h1>
-For these examples, run <code>tkpppoe</code> as a normal user (not root).
-The main window appears like this:
-
-<p>
-<center><img src="mainwin-nonroot.png" width="206" height="73" alt="Main Window - Non-root">
-</center>
-<p>
-<ul>
-<li>To start a connection, press <b>Start</b>. The two LEDs flash red
-and grey. If the connection is established, they turn green.
-<li>To stop a connection, press <b>Stop</b>.
-</ul>
-
-<p>The two rectangles to the right of the connection name are the
-<em>status LEDs</em>. The top LED corresponds to transmitted data and
-the bottom to received. The LEDs are colored as follows:
-<ul>
-<li>Grey -- connection is not established.
-<li>Flashing red/grey -- connection is being started.
-<li>Green -- connection is up, but idle.
-<li>Yellow -- connection is up and data is being sent or received.
-<li>Red -- connection has been lost, but the system is trying to reestablish it.
-</ul>
-
-<p>
-When a connection is established, two graphs appear:
-
-<p>
-<center><img src="mainwin-busy.png" width="206" height="73" alt="Main Window - Established Connection">
-</center>
-<p>
-
-The left (red) graph shows transmitted packets and the average
-transmission speed (in bits per second) over the sample time. The
-right (green) graph shows received packets.
-
-<h1>Miscellaneous Information</h1>
-<ul>
-<li>The connection menu has an entry called <b>User's Manual</b> which
-will pop up this user manual (if you have Netscape installed.)
-<li>You can define multiple PPPoE connections, but you should not use
-more than one simultaneuously unless you feel comfortable editing scripts
-and setting up routing tables. By default, TkPPPoE tries to add a default
-route for connections. This does not work well with multiple simultaneous
-connections.
-<li>If you exit from TkPPPoE, connections which are up remain up. You
-have to explicitly stop connections if you want them terminated.
-</ul>
-<hr>
-<a href="http://www.roaringpenguin.com/pppoe/">TkPPPoE</a> is Copyright 2001 by <a href="http://www.roaringpenguin.com">Roaring Penguin Software Inc</a> and
-is licensed under the GNU General Public License.
-<p>Screenshots show TkPPPoE running under the <a href="http://www.xfce.org">XFCE</a> desktop, a lightweight UNIX and Linux desktop.
-</body>
-</html>
diff --git a/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1 b/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
deleted file mode 100644
index 4fbf2bce2..000000000
--- a/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
+++ /dev/null
@@ -1,45 +0,0 @@
-.\" $Id$
-.TH PPPOE-WRAPPER 1 "26 February 2001"
-.UC 4
-.SH NAME
-pppoe-wrapper \- SUID wrapper for starting and stopping PPPoE connections.
-.SH SYNOPSIS
-.B pppoe-wrapper start linkname
-.P
-.B pppoe-wrapper stop linkname
-.P
-.B pppoe-wrapper status linkname
-
-.SH DESCRIPTION
-\fBpppoe-wrapper\fR is a small SUID program which allows non-root users
-to start and stop PPPoE links. It operates as follows:
-
-.TP
-.B o
-First, \fIlinkname\fR is sanity-checked. Too-long names and names containing
-illegal characters are rejected.
-
-.TP
-.B o
-Second, \fBpppoe-wrapper\fR opens the file \fB/etc/ppp/rp-pppoe-gui/\fR\fIlinkname\fR for reading. If that file does not contain the line:
-.nf
-
- NONROOT=OK
-
-.fi
-then \fBpppoe-wrapper\fR fails.
-
-.TP
-.B o
-Otherwise, \fBpppoe-wrapper\fR runs \fBadsl-start\fR, \fBadsl-stop\fR or
-\fBadsl-status\fR with the above filename as its single argument.
-
-.SH AUTHOR
-\fBpppoe-wrapper\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-status(8), tkpppoe(1)
-
-
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.1 b/mdk-stage1/rp-pppoe/gui/tkpppoe.1
deleted file mode 100644
index 183476568..000000000
--- a/mdk-stage1/rp-pppoe/gui/tkpppoe.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" $Id$
-.TH TKPPPOE 1 "26 February 2001"
-.UC 4
-.SH NAME
-tkpppoe \- Graphical interface for controlling rp-pppoe
-.SH SYNOPSIS
-.B tkpppoe
-
-.SH DESCRIPTION
-\fBtkpppoe\fR is a graphical program for controlling PPPoE links.
-It works with the RP-PPPoE package and has its own HTML manual.
-
-.SH FILES
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/connection-info
-Contains connection information. This file is not human-editable.
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/passwd
-Contains passwords for each connection. This file is not human-editable.
-
-.TP
-.B /etc/ppp/rp-pppoe-gui/conf.*
-These configuration files are used by \fBadsl-start\fR. They are
-generated anew by \fBtkpppoe\fR each time a change is made to a
-connection's properties.
-
-.SH AUTHOR
-\fBtkpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), pppoe-wrapper(8).
-
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.in b/mdk-stage1/rp-pppoe/gui/tkpppoe.in
deleted file mode 100755
index 37dbf8cc1..000000000
--- a/mdk-stage1/rp-pppoe/gui/tkpppoe.in
+++ /dev/null
@@ -1,2891 +0,0 @@
-#!/bin/sh
-# -*-Mode: TCL;-*-
-
-#--------------------------------------------------------------
-# tkpppoe
-#
-# A graphical front-end for configuring and using rp-pppoe.
-#
-# Copyright (C) 2001 by Roaring Penguin Software Inc.
-# This file may be distributed under the terms of the GNU General Public
-# License, Version 2, or (at your option) any later version.
-#
-# The "Roaring Penguin" logo is a trademark of Roaring Penguin Software Inc.
-#
-# http://www.roaringpenguin.com
-#
-#--------------------------------------------------------------
-
-# $Id$
-
-# the next line restarts using wish \
-umask 022; \
-exec wish "$0" "$@" || clear; echo "*****"; echo "Cannot find 'wish' -- you need Tcl/Tk installed to run this program"; exit 1
-
-# Set app name
-tk appname TkPPPoE
-
-# Set this to one if you want to allow multiple instances of TkPPPoE
-set AllowMultipleInstances 0
-
-# Check for other instances
-if {"[tk appname]" != "TkPPPoE"} {
- # Must be another instance running...
- if {!$AllowMultipleInstances} {
- send TkPPPoE AnotherInstance
- exit 0
- }
-}
-
-# Location of config directory
-set ConfigDir /etc/ppp/rp-pppoe-gui
-
-# Are we running as root?
-set Admin 0
-
-# Location of connection info file
-set ConnectionInfoFile [file join $ConfigDir connection-info]
-
-# Location of password file
-set PasswordFile [file join $ConfigDir passwd]
-
-# Location of "already run" file
-set AlreadyRunFile [file join $ConfigDir gui-already-run]
-
-# Connection information
-set ConnectionInfo {}
-
-# Connection options
-set OPTS(nonroot) 0
-set OPTS(sync) 1
-
-# Location of wrapper
-set Wrapper "@WRAPPER@"
-
-# Timer token for UpdateConnectionState
-set UpdateToken {}
-
-# Update interval in milliseconds
-set UpdateInterval 500
-
-# Packet counters for signalling activity
-set Packets(in) 0
-set Packets(out) 0
-set Bytes(in) 0
-set Bytes(out) 0
-set MeasureTime 0
-
-# Set up some options to make it look better
-option add *Button.borderWidth 1
-option add *Button.Pad 1
-option add *Menubutton.borderWidth 1
-option add *Menubutton.Pad 1
-option add *Entry.Background white
-
-# Array holding help strings for windows
-array set HelpData {}
-
-bind HelpWin <Enter> "HelpWindowEntered %W"
-bind HelpWin <Leave> "HelpWindowLeft %W"
-
-proc AnotherInstance {} {
- wm deiconify .
- raise .
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpWindowEntered
-# %ARGUMENTS:
-# w -- window
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Looks for procedure in HelpData; evals it if found.
-#***********************************************************************
-proc HelpWindowEntered { w } {
- global HelpData
- if {[info exists HelpData($w)]} {
- set cmd "$HelpData($w) Enter"
- uplevel #0 $cmd
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpWindowLeft
-# %ARGUMENTS:
-# w -- window
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Looks for procedure in HelpData; evals it if found.
-#***********************************************************************
-proc HelpWindowLeft { w } {
- global HelpData
- if {[info exists HelpData($w)]} {
- set cmd "$HelpData($w) Leave"
- uplevel #0 $cmd
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: RegisterHelpWindow
-# %ARGUMENTS:
-# w -- window we need help about
-# helptext -- the help text
-# win -- window in which to put help messages
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Sets things up so help text appears in "$win" when mouse enters "$w"
-#***********************************************************************
-proc RegisterHelpWindow {w helptext win} {
- global HelpData
- set tags [bindtags $w]
- if {[lsearch -exact $tags HelpWin] < 0} {
- lappend tags HelpWin
- bindtags $w $tags
- }
- set HelpData($w) [list HelpInTextWin $helptext $win]
-}
-
-#***********************************************************************
-# %PROCEDURE: HelpInTextWin
-# %ARGUMENTS:
-# text -- help text
-# tw -- window in which to write text
-# what -- one of "Enter" or "Leave"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Clears out $tw; if $what is "Enter", puts $text in $tw.
-#***********************************************************************
-proc HelpInTextWin {text tw what} {
- $tw configure -state normal
- $tw delete 1.0 end
- if {"$what" == "Enter"} {
- $tw insert end $text
- }
- $tw configure -state disabled
-}
-
-
-#***********************************************************************
-# %PROCEDURE: drawLogo
-# %ARGUMENTS:
-# c -- canvas to draw logo in
-# bg -- background color of canvas
-# pencolor -- color of the word "Penguin"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Draws Roaring Penguin logo in a Tcl canvas
-#***********************************************************************
-proc drawLogo { c bg {pengcolor #6699cc} } {
- $c create polygon 372.249 5.182 361.23 5.519 \
- 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
- 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
- 254.531 77.814 236.204 125.26 225.635 174.844 \
- 221.026 226.113 213.605 228.025 208.658 232.634 \
- 225.523 240.28 250.708 243.316 282.752 242.416 \
- 320.079 238.818 330.985 193.17 338.181 146.735 \
- 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
- 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
- 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
- 5.182 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create line 372.249 5.182 361.23 5.519 \
- 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
- 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
- 254.531 77.814 236.204 125.26 225.635 174.844 \
- 221.026 226.113 213.605 228.025 208.658 232.634 \
- 225.523 240.28 250.708 243.316 282.752 242.416 \
- 320.079 238.818 330.985 193.17 338.181 146.735 \
- 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
- 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
- 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
- 5.182 -tags logo
-
- $c create polygon 298.605 109.632 290.734 \
- 159.328 282.752 182.939 271.958 205.65 262.851 \
- 171.133 263.75 138.752 264.537 164.5 271.958 192.833 \
- 286.687 157.192 298.605 109.632 -fill #ffffff \
- -outline {} -width 1 -tags logo
-
- $c create line 298.605 109.632 290.734 159.328 \
- 282.752 182.939 271.958 205.65 262.851 171.133 \
- 263.75 138.752 264.537 164.5 271.958 192.833 286.687 \
- 157.192 298.605 109.632 -tags logo
-
- $c create polygon 312.546 30.592 315.132 35.876 \
- 310.747 39.586 308.161 34.414 312.546 30.592 -fill \
- #ffffff -outline {} -width 1 -tags logo
-
- $c create line 312.546 30.592 315.132 35.876 \
- 310.747 39.586 308.161 34.414 312.546 30.592 -tags logo
-
- $c create polygon 328.624 54.427 322.665 58.7 \
- 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
- 90.181 303.214 98.951 308.499 106.259 310.523 \
- 116.378 305.913 130.208 312.771 141.563 308.049 \
- 167.76 299.729 192.158 279.041 238.593 313.558 \
- 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
- 328.624 54.427 -fill #ffffff -outline {} -width 1 -tags logo
-
- $c create line 328.624 54.427 322.665 58.7 \
- 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
- 90.181 303.214 98.951 308.499 106.259 310.523 \
- 116.378 305.913 130.208 312.771 141.563 308.049 \
- 167.76 299.729 192.158 279.041 238.593 313.558 \
- 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
- 328.624 54.427 -tags logo
-
- $c create polygon 53.837 185.412 54.399 185.862 \
- 53.837 188.223 54.399 188.673 53.837 188.673 53.837 \
- 189.572 53.837 190.472 53.387 191.034 52.938 192.833 \
- 50.577 195.644 49.677 196.656 49.677 197.105 48.215 \
- 198.455 47.316 198.904 46.866 198.904 44.505 200.816 \
- 43.606 200.366 42.594 201.265 42.144 201.715 41.245 \
- 202.277 40.795 202.727 40.345 202.277 39.783 202.277 \
- 36.972 203.177 36.522 203.177 36.073 203.177 35.623 \
- 203.627 34.723 203.627 34.161 203.627 34.161 204.076 \
- 30.901 204.526 28.54 205.538 26.291 205.088 25.729 \
- 205.088 24.829 205.088 24.38 204.526 23.93 204.526 \
- 23.48 204.526 22.918 205.088 22.918 206.437 22.918 \
- 206.887 22.918 207.337 22.468 207.337 22.468 208.798 \
- 22.018 209.248 22.018 211.16 22.018 211.609 21.569 \
- 213.521 21.119 215.769 21.569 216.781 20.669 218.13 \
- 20.669 219.592 20.669 220.042 20.107 220.941 20.107 \
- 221.953 20.107 223.752 19.657 225.664 19.208 226.113 \
- 19.657 227.013 18.308 230.835 17.858 240.167 17.296 \
- 248.15 17.296 249.05 16.846 250.062 15.947 250.062 \
- 15.048 250.062 15.048 250.511 12.686 251.86 12.237 \
- 251.86 11.675 251.411 11.675 250.511 11.675 246.689 \
- 11.225 245.339 11.225 243.878 10.775 240.617 11.225 \
- 239.268 11.225 238.818 10.775 238.256 10.325 237.357 \
- 10.325 236.007 9.876 232.634 9.876 231.735 9.876 \
- 231.285 9.876 230.835 9.876 230.386 9.876 229.824 \
- 9.426 229.374 9.426 226.113 9.876 226.113 9.876 \
- 225.664 9.426 224.202 9.426 223.752 9.426 223.302 \
- 10.325 221.953 9.426 220.941 9.426 219.592 9.426 \
- 219.142 9.426 218.58 9.426 217.681 9.426 217.231 \
- 9.426 216.781 8.864 216.332 8.864 214.42 8.864 \
- 213.97 8.414 213.521 8.414 210.148 8.414 209.248 \
- 7.964 207.899 8.414 205.988 8.414 204.526 7.065 \
- 201.265 7.515 200.816 9.426 201.715 10.325 201.265 \
- 10.775 200.816 10.775 198.904 11.225 198.005 11.225 \
- 197.555 10.775 197.555 9.876 196.094 9.426 194.744 \
- 7.515 194.295 6.615 193.845 6.053 193.845 5.153 \
- 193.283 3.804 191.484 3.804 190.022 3.804 189.572 \
- 3.804 189.123 3.242 188.673 3.242 186.762 3.804 \
- 185.412 4.254 184.85 4.704 184.4 7.964 180.24 10.325 \
- 178.779 11.225 178.779 12.237 177.879 14.036 176.98 \
- 15.497 175.968 21.569 173.607 22.918 173.157 23.48 \
- 173.157 24.38 172.707 24.829 172.707 29.102 171.808 \
- 29.551 171.808 30.001 171.358 31.35 170.796 31.913 \
- 171.358 32.362 170.796 39.783 171.358 40.345 170.796 \
- 42.144 171.358 47.766 174.619 48.778 176.418 49.227 \
- 176.418 49.677 176.98 50.127 176.98 51.588 178.329 \
- 52.038 179.228 52.488 180.69 52.038 181.14 52.038 \
- 181.59 52.488 182.039 52.938 182.039 53.387 182.601 \
- 53.837 183.051 53.837 183.501 53.837 185.412 -fill \
- $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 42.594 222.853 43.156 221.953 \
- 41.694 222.403 39.783 224.202 39.783 224.764 39.783 \
- 225.214 40.345 225.214 41.245 224.202 41.694 223.752 \
- 42.594 222.853 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 58.559 234.096 59.009 234.096 \
- 59.009 234.546 58.559 234.995 58.559 235.445 57.21 \
- 236.907 56.648 237.806 52.938 241.067 52.038 241.629 \
- 52.038 242.079 51.026 242.529 50.577 242.978 50.127 \
- 242.978 49.227 244.44 45.405 246.239 44.055 246.689 \
- 43.606 246.689 43.606 247.251 42.144 247.251 41.694 \
- 247.7 40.795 247.7 38.434 248.15 36.522 248.15 \
- 35.173 247.7 34.161 246.689 33.711 246.239 32.812 \
- 244.44 32.362 241.629 32.812 239.718 32.812 239.268 \
- 33.711 234.995 36.522 229.824 35.623 228.474 35.623 \
- 227.013 36.522 225.664 37.534 224.202 38.883 222.853 \
- 41.694 220.492 42.594 219.592 43.156 219.592 43.606 \
- 219.142 45.405 217.681 45.967 217.681 46.416 217.231 \
- 48.778 215.769 52.038 214.87 53.387 214.42 54.849 \
- 214.87 55.299 214.87 56.198 215.769 56.198 217.681 \
- 56.198 218.58 54.399 221.953 53.837 222.853 53.837 \
- 223.302 53.387 223.752 50.577 226.113 49.677 226.563 \
- 47.316 228.474 43.156 230.386 41.245 230.835 40.795 \
- 230.835 40.345 230.835 39.333 230.835 38.883 230.835 \
- 38.883 229.824 39.783 229.374 40.795 228.474 41.694 \
- 228.025 42.594 227.575 45.967 227.013 46.866 226.563 \
- 50.127 224.764 51.588 223.302 52.488 221.953 52.488 \
- 220.492 52.488 219.142 51.026 218.13 49.677 218.13 \
- 48.778 218.13 47.766 219.142 47.316 219.142 47.316 \
- 219.592 46.866 219.592 45.967 220.941 44.505 221.953 \
- 44.055 222.403 43.606 222.853 42.594 223.752 41.694 \
- 225.664 41.245 225.664 41.245 226.113 40.345 226.563 \
- 39.333 227.575 39.333 228.474 38.434 229.374 36.522 \
- 233.197 35.623 236.457 35.623 237.357 35.623 238.256 \
- 35.173 241.067 35.623 242.079 36.522 243.428 37.534 \
- 243.878 37.984 244.44 38.434 244.89 38.883 244.89 \
- 39.783 245.339 43.156 245.339 45.967 244.44 49.227 \
- 242.529 50.127 241.629 50.577 241.067 54.399 238.818 \
- 54.399 238.256 54.399 237.806 56.198 236.907 58.559 \
- 234.096 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 92.289 248.6 92.739 249.05 \
- 92.289 249.05 91.84 249.05 90.94 248.6 90.378 248.6 \
- 89.478 247.7 89.029 247.251 88.129 246.689 87.117 \
- 245.789 85.768 244.89 85.318 244.44 85.768 244.44 \
- 85.318 242.529 84.756 242.079 84.756 240.617 84.756 \
- 240.167 84.756 239.718 84.756 239.268 83.857 236.457 \
- 83.407 234.096 83.407 233.197 83.407 231.735 83.407 \
- 223.302 83.407 221.391 82.957 220.941 82.508 221.953 \
- 80.596 226.113 80.146 226.563 80.146 227.013 79.697 \
- 228.025 79.135 228.474 79.697 228.474 76.324 234.096 \
- 75.874 234.995 75.424 236.457 74.975 236.457 74.975 \
- 236.907 74.975 237.357 74.075 239.268 73.513 239.718 \
- 73.063 240.167 72.613 241.067 72.164 242.529 71.714 \
- 242.529 71.714 243.878 70.252 245.789 69.803 246.689 \
- 68.903 246.689 68.903 247.251 67.891 247.7 66.542 \
- 247.7 66.092 247.7 65.643 247.7 65.08 247.251 65.08 \
- 246.689 65.08 245.789 64.631 242.079 65.08 242.079 \
- 64.631 241.629 65.08 241.067 65.08 238.818 64.631 \
- 237.806 64.631 236.457 64.631 234.546 64.631 233.197 \
- 64.631 232.634 64.631 232.185 64.631 231.735 64.631 \
- 228.924 64.631 227.575 64.631 225.664 64.631 225.214 \
- 64.631 224.764 64.631 223.302 64.631 217.231 65.08 \
- 216.332 65.643 215.769 69.803 214.87 70.252 215.32 \
- 70.252 216.332 70.252 217.681 70.252 218.58 69.803 \
- 219.142 69.803 220.492 69.353 220.941 69.353 221.391 \
- 68.903 221.953 68.903 225.664 68.453 226.563 68.453 \
- 228.025 68.453 228.474 67.891 228.924 67.891 230.835 \
- 68.453 236.457 68.453 237.806 68.453 238.818 68.453 \
- 240.617 68.453 241.067 68.903 241.067 68.903 241.629 \
- 69.353 241.629 70.702 241.067 70.702 240.617 71.264 \
- 240.167 71.264 239.268 72.164 238.256 73.063 236.457 \
- 74.525 234.546 74.975 233.197 76.324 230.835 77.336 \
- 229.824 78.235 227.575 78.235 227.013 78.685 226.563 \
- 78.685 225.664 79.135 225.214 79.697 224.764 79.697 \
- 224.202 80.146 222.403 81.046 220.941 81.945 217.681 \
- 82.957 215.769 85.318 214.87 85.768 214.87 87.567 \
- 214.42 87.567 215.769 87.117 216.332 87.567 216.781 \
- 88.129 219.592 87.567 219.592 87.567 220.492 87.567 \
- 221.391 87.567 224.764 87.567 225.664 87.567 226.113 \
- 87.117 226.113 87.117 227.575 87.567 229.374 88.579 \
- 235.445 89.029 239.268 89.029 239.718 89.029 241.067 \
- 89.478 242.529 89.478 242.978 89.928 243.878 89.928 \
- 244.44 90.378 244.89 90.94 246.239 92.289 248.6 \
- -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 117.587 220.492 118.037 \
- 222.403 117.587 222.853 117.587 224.764 116.687 \
- 226.113 116.687 227.013 116.238 228.025 114.776 \
- 229.374 113.877 231.285 112.865 231.735 109.154 \
- 234.995 106.343 236.457 105.444 237.357 103.982 \
- 237.806 103.083 238.256 102.633 238.818 102.183 \
- 238.818 101.172 239.268 99.822 239.718 98.361 \
- 239.268 97.461 239.718 96.562 239.268 96.0 238.818 \
- 95.55 238.818 94.201 236.907 94.201 235.445 94.201 \
- 233.646 94.65 233.197 94.65 232.634 95.1 232.185 \
- 95.1 231.735 95.55 231.735 96.0 230.386 97.461 \
- 228.025 97.461 227.575 98.361 226.563 99.822 224.764 \
- 101.172 223.302 101.172 222.853 102.633 221.391 \
- 103.083 220.941 104.432 219.592 103.982 218.58 \
- 103.982 217.231 103.982 216.781 103.982 215.32 \
- 104.432 214.42 103.982 210.148 103.982 209.698 \
- 103.982 209.248 104.432 208.798 104.432 207.899 \
- 104.432 205.988 104.432 205.538 104.994 203.177 \
- 104.994 202.277 104.994 201.265 104.994 200.816 \
- 104.994 200.366 104.994 199.916 105.894 199.467 \
- 106.343 198.904 106.793 198.455 107.243 198.904 \
- 108.255 198.904 108.255 199.467 108.705 199.467 \
- 108.705 202.727 108.255 204.076 108.255 205.538 \
- 108.255 205.988 107.805 205.988 107.805 206.887 \
- 107.805 209.698 107.243 210.71 106.793 212.059 \
- 106.343 214.87 106.343 215.32 106.343 215.769 \
- 105.894 217.681 106.343 217.681 106.793 217.681 \
- 107.243 217.231 108.705 215.32 109.604 215.32 \
- 110.054 214.42 110.054 213.97 110.616 213.97 110.616 \
- 214.42 111.965 214.87 112.415 214.87 112.865 215.32 \
- 114.326 216.332 116.238 217.681 116.687 218.58 \
- 117.137 219.592 117.587 220.042 117.587 220.492 \
- -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 123.658 258.944 123.658 \
- 259.394 123.658 260.293 123.658 261.755 123.658 \
- 262.654 123.658 263.104 123.209 266.364 123.209 \
- 267.376 122.759 269.175 122.309 269.737 121.859 \
- 271.087 121.859 271.536 121.859 271.986 121.297 \
- 271.986 121.297 272.548 120.847 273.448 120.398 \
- 273.448 120.398 273.897 118.486 276.259 118.037 \
- 276.708 117.587 277.608 117.137 278.17 116.687 \
- 278.17 115.675 278.62 115.675 279.069 113.427 \
- 280.419 112.865 280.981 112.415 280.981 111.965 \
- 281.43 110.054 282.33 109.154 282.33 108.705 282.78 \
- 108.255 282.78 107.805 283.229 104.994 283.792 \
- 104.432 283.792 103.982 283.792 103.533 283.792 \
- 103.083 283.792 102.633 283.792 102.183 283.792 \
- 101.172 283.792 100.722 283.792 99.822 283.792 98.81 \
- 283.792 96.562 282.33 96.0 282.78 95.1 281.88 94.201 \
- 281.43 91.84 279.969 92.289 279.519 92.289 278.62 \
- 93.751 279.069 93.751 279.519 94.201 279.519 94.65 \
- 279.969 95.1 279.969 96.0 280.981 98.81 281.88 \
- 101.172 281.88 101.621 281.88 102.633 281.88 103.083 \
- 281.88 103.533 281.88 104.432 281.43 104.994 281.88 \
- 105.444 281.43 106.793 281.43 107.805 280.981 \
- 108.705 280.419 109.154 280.419 109.604 279.969 \
- 110.054 279.969 110.616 279.969 111.066 279.519 \
- 112.865 278.17 113.427 277.608 113.877 277.608 \
- 113.877 277.158 114.326 277.158 114.326 276.708 \
- 114.776 276.259 115.226 276.259 116.238 274.347 \
- 116.687 274.347 116.687 273.897 117.587 272.998 \
- 117.587 272.548 118.037 271.986 119.498 267.826 \
- 120.398 265.015 120.398 262.204 119.948 259.843 \
- 119.948 259.394 119.948 258.944 119.498 257.482 \
- 118.486 254.222 118.037 253.772 117.587 251.86 \
- 115.675 249.05 115.226 248.6 114.776 248.15 113.877 \
- 247.251 111.965 246.239 111.515 246.239 110.616 \
- 246.239 110.054 246.239 109.154 246.239 107.243 \
- 247.251 106.343 247.251 105.444 247.7 104.994 247.7 \
- 103.083 248.15 102.183 248.6 101.621 248.6 101.172 \
- 249.05 100.722 249.499 99.822 250.062 98.361 250.062 \
- 97.461 249.499 97.012 249.499 96.562 249.05 96.562 \
- 248.6 97.012 248.15 99.822 245.789 100.272 245.339 \
- 101.621 244.44 101.621 243.878 102.183 243.428 \
- 102.633 243.428 102.633 242.978 103.982 241.629 \
- 103.982 241.067 103.982 240.617 103.982 240.167 \
- 105.444 239.268 108.705 236.907 108.705 236.457 \
- 109.154 236.457 110.054 235.445 111.066 234.546 \
- 112.415 234.096 112.865 233.646 113.427 233.646 \
- 113.877 233.646 113.877 234.096 114.326 234.995 \
- 114.776 235.445 114.776 236.457 114.326 237.357 \
- 113.427 238.818 112.415 239.268 112.415 240.167 \
- 111.965 240.167 111.515 240.617 110.054 241.629 \
- 110.054 242.079 109.604 242.529 108.705 242.978 \
- 110.054 242.978 113.427 242.079 114.326 242.529 \
- 115.226 242.978 116.687 244.44 119.048 246.689 \
- 119.498 247.7 119.498 248.15 119.948 248.6 119.948 \
- 249.05 120.398 249.05 120.398 249.499 120.847 \
- 249.499 120.847 250.062 121.297 250.511 121.297 \
- 251.411 121.859 252.31 122.759 252.872 122.759 \
- 254.222 122.759 254.671 123.658 258.494 123.658 \
- 258.944 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 147.607 215.769 148.506 215.32 \
- 148.506 217.231 148.506 217.681 148.506 218.13 \
- 148.956 218.58 148.506 220.492 148.506 220.941 \
- 148.506 222.853 148.956 224.764 148.956 226.113 \
- 148.506 226.563 148.956 226.563 148.506 228.924 \
- 148.956 229.824 148.956 231.285 148.506 232.185 \
- 148.956 232.634 148.956 233.646 149.405 234.995 \
- 148.956 234.995 149.405 235.445 149.405 236.907 \
- 149.405 237.357 149.968 238.818 150.867 240.167 \
- 150.867 240.617 151.317 242.079 152.216 243.428 \
- 153.228 245.339 154.128 245.789 155.027 246.239 \
- 156.939 245.789 157.388 246.239 156.489 246.689 \
- 155.027 247.7 154.128 247.7 153.228 247.7 152.216 \
- 247.7 151.767 247.7 150.867 247.251 150.417 246.239 \
- 149.405 246.239 148.056 245.339 147.607 244.44 \
- 147.157 243.428 145.695 241.629 145.695 240.617 \
- 145.245 240.167 145.245 239.718 144.796 238.256 \
- 144.346 236.907 144.346 235.445 143.784 234.546 \
- 143.784 233.197 143.784 232.185 143.784 230.835 \
- 143.334 229.824 143.784 229.374 143.334 229.374 \
- 143.334 228.474 142.884 230.386 141.985 231.735 \
- 140.973 233.197 140.523 234.096 140.523 234.546 \
- 140.523 234.995 139.624 236.457 139.174 237.806 \
- 138.162 239.718 137.263 241.067 136.813 242.079 \
- 135.913 242.978 134.452 244.89 134.002 245.789 \
- 133.552 245.789 132.091 246.689 131.191 247.251 \
- 129.73 248.15 129.28 248.15 128.38 247.7 128.38 \
- 248.15 126.919 247.7 126.019 247.251 125.12 246.239 \
- 125.12 245.339 124.67 244.89 124.67 244.44 124.67 \
- 243.428 124.67 242.529 124.67 241.067 124.67 239.718 \
- 125.12 239.268 124.67 239.268 124.67 238.256 125.12 \
- 237.806 125.12 237.357 125.12 236.907 125.12 236.007 \
- 125.12 234.096 125.57 233.197 125.57 232.185 126.019 \
- 232.185 126.019 231.285 126.019 230.386 126.019 \
- 229.374 126.469 228.474 126.469 227.013 126.469 \
- 225.214 126.019 225.214 126.469 225.214 126.019 \
- 223.302 126.019 221.953 126.019 220.492 125.57 \
- 220.042 125.12 219.592 124.108 219.142 123.209 \
- 219.142 121.859 220.042 121.297 220.042 120.398 \
- 220.941 119.498 221.391 119.048 221.391 118.486 \
- 221.953 118.037 221.953 118.037 221.391 118.486 \
- 220.941 119.498 220.042 120.847 219.142 122.759 \
- 217.681 124.108 216.781 125.12 215.769 126.469 \
- 214.87 126.919 214.87 127.481 214.87 128.38 214.87 \
- 128.83 214.87 129.73 214.87 129.73 215.769 130.292 \
- 215.769 130.742 216.781 130.742 217.681 130.292 \
- 219.142 130.292 221.953 130.292 223.302 130.292 \
- 224.202 129.73 225.214 129.28 227.013 128.83 227.575 \
- 129.28 227.575 129.28 228.474 128.83 229.374 129.28 \
- 229.824 129.28 230.386 128.83 231.735 128.38 234.096 \
- 128.38 234.995 127.931 236.457 127.931 239.268 \
- 127.931 240.167 127.931 241.629 128.83 242.978 \
- 129.28 243.878 129.73 244.44 130.742 244.44 131.191 \
- 244.44 132.091 244.44 133.103 243.878 134.002 \
- 242.978 134.902 242.079 135.351 241.067 135.913 \
- 240.167 136.363 239.268 136.813 238.818 137.263 \
- 237.806 137.712 236.907 138.162 235.445 138.724 \
- 234.546 139.174 233.646 139.624 232.634 140.523 \
- 230.835 140.973 228.924 141.535 227.013 142.435 \
- 225.664 142.884 223.302 143.334 221.391 143.334 \
- 220.941 143.334 219.142 144.346 217.681 144.796 \
- 216.781 145.695 216.332 146.595 216.332 147.607 \
- 215.769 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 165.371 241.067 165.371 \
- 241.067 164.921 243.878 164.921 246.239 163.46 \
- 246.689 161.211 247.251 160.649 247.251 160.199 \
- 244.44 160.199 243.878 160.199 243.428 160.199 \
- 242.079 160.199 240.167 160.199 239.718 159.749 \
- 239.268 160.199 237.806 159.749 237.357 159.749 \
- 236.007 159.749 230.835 159.749 229.824 159.749 \
- 228.924 159.749 226.113 159.749 225.664 159.749 \
- 223.752 159.749 222.853 159.749 218.58 159.749 \
- 218.13 159.749 217.681 160.199 217.231 161.661 \
- 216.781 162.11 216.781 162.56 216.781 163.46 216.781 \
- 164.022 219.142 163.46 222.403 163.46 222.853 163.46 \
- 224.202 163.46 225.664 163.46 226.563 163.46 227.013 \
- 163.46 228.924 163.01 230.835 163.01 232.634 163.46 \
- 233.197 164.022 232.634 164.472 232.634 164.921 \
- 232.185 164.921 231.735 165.371 231.735 165.821 \
- 232.185 165.371 233.646 165.821 236.007 165.371 \
- 238.256 165.371 238.818 165.371 240.617 165.371 \
- 241.067 -fill $pengcolor -outline {} -width 1 -tags logo
-
- $c create polygon 165.821 214.42 166.833 215.32 \
- 166.271 215.32 165.821 216.332 165.371 216.332 \
- 165.371 216.781 165.821 217.681 165.821 218.13 \
- 165.371 219.142 165.371 220.042 164.921 222.853 \
- 165.371 224.764 164.921 225.664 165.371 227.575 \
- 165.371 228.474 164.921 228.474 164.472 227.575 \
- 164.472 226.113 164.022 224.764 164.472 224.202 \
- 164.472 223.752 164.472 222.403 164.921 214.87 \
- 164.472 213.521 164.472 212.959 164.472 212.509 \
- 164.022 212.509 163.46 212.509 163.01 212.959 162.56 \
- 212.959 161.661 212.959 161.211 212.059 161.211 \
- 211.609 160.649 211.609 160.199 209.698 160.649 \
- 208.349 163.46 206.437 164.472 206.437 165.821 \
- 207.899 165.821 208.349 166.833 210.148 166.833 \
- 210.71 165.821 211.609 165.371 212.059 165.371 \
- 212.959 165.821 213.97 165.821 214.42 -fill $pengcolor \
- -outline {} -width 1 -tags logo
-
- $c create polygon 201.462 248.6 201.462 249.05 \
- 201.012 249.05 200.563 249.05 200.001 248.6 199.551 \
- 248.6 198.651 247.7 197.752 247.251 196.74 246.689 \
- 196.29 245.789 194.379 244.89 194.379 244.44 194.379 \
- 242.529 193.929 242.079 193.479 240.617 193.479 \
- 240.167 193.929 239.718 193.479 239.268 193.03 \
- 236.457 192.58 234.096 192.58 233.197 192.58 231.735 \
- 192.58 223.302 192.58 221.391 192.13 220.941 191.568 \
- 221.953 189.769 226.113 189.319 226.563 189.319 \
- 227.013 188.757 228.025 188.307 228.474 188.757 \
- 228.474 185.497 234.096 185.047 234.995 184.597 \
- 236.457 184.147 236.457 184.147 236.907 184.147 \
- 237.357 183.136 239.268 182.686 239.268 182.686 \
- 239.718 182.236 240.167 181.786 241.067 181.337 \
- 242.529 180.887 242.529 180.887 243.878 179.425 \
- 245.789 178.975 246.689 178.076 246.689 178.076 \
- 247.251 177.064 247.7 175.715 247.7 175.265 247.7 \
- 174.703 247.7 174.253 247.251 174.253 246.689 \
- 174.253 245.789 173.804 242.079 174.253 242.079 \
- 173.804 241.629 173.804 241.067 173.804 238.818 \
- 173.804 237.806 173.804 236.457 173.354 234.546 \
- 173.354 233.197 173.804 232.634 173.804 232.185 \
- 173.804 231.735 173.804 228.924 173.354 227.575 \
- 173.804 227.575 173.804 225.664 173.804 225.214 \
- 173.804 224.764 173.804 223.302 173.804 217.231 \
- 174.253 216.332 174.703 215.769 178.526 214.87 \
- 179.425 215.32 179.425 216.332 179.425 217.681 \
- 179.425 218.58 178.975 219.142 178.526 220.492 \
- 178.526 220.941 178.076 221.391 178.076 221.953 \
- 178.076 225.664 177.514 226.563 177.514 228.025 \
- 177.064 228.474 177.064 228.924 177.064 230.835 \
- 177.514 236.457 177.064 237.806 177.514 237.806 \
- 177.514 238.818 177.514 240.617 177.514 241.067 \
- 178.076 241.629 178.526 241.629 179.425 241.067 \
- 179.875 240.617 179.875 240.167 180.325 239.268 \
- 181.337 238.256 182.236 236.457 183.698 234.546 \
- 184.147 233.197 185.497 230.835 186.509 229.824 \
- 187.408 227.575 187.408 227.013 187.408 226.563 \
- 187.858 225.664 188.307 225.214 188.757 224.764 \
- 188.757 224.202 189.319 222.403 190.219 220.941 \
- 191.118 217.681 192.13 215.769 194.379 214.87 \
- 194.941 214.87 196.74 214.42 196.74 215.769 196.29 \
- 215.769 196.29 216.332 196.29 216.781 196.74 219.592 \
- 196.74 220.492 196.29 221.391 196.74 224.764 196.29 \
- 225.664 196.29 226.113 196.29 227.575 196.74 229.374 \
- 197.19 235.445 198.202 239.268 198.202 239.718 \
- 198.202 241.067 198.202 242.529 198.651 242.978 \
- 199.101 243.878 199.101 244.44 199.551 244.89 \
- 200.001 246.239 201.462 248.6 -fill $pengcolor -outline \
- {} -width 1 -tags logo
-
- $c create polygon 71.714 185.412 71.714 110.869 \
- 81.496 110.869 82.845 110.981 83.969 111.431 85.094 \
- 112.106 86.105 113.118 86.893 114.467 87.567 116.041 \
- 88.017 117.39 88.242 118.065 88.467 118.852 88.579 \
- 119.639 88.804 120.538 88.916 121.438 89.029 122.337 \
- 89.141 123.349 89.254 124.361 89.366 125.485 89.366 \
- 126.61 89.478 127.734 89.478 128.971 89.478 130.208 \
- 89.478 131.444 89.478 132.456 89.478 133.468 89.478 \
- 134.48 89.366 135.492 89.254 136.391 89.254 137.291 \
- 89.141 138.19 89.029 139.09 88.916 139.877 88.804 \
- 140.664 88.691 141.451 88.579 142.238 88.354 143.362 \
- 88.129 144.374 87.904 145.386 87.567 146.398 87.342 \
- 147.297 87.005 148.197 86.668 148.984 86.218 149.771 \
- 87.005 151.233 87.342 152.02 87.68 152.919 87.904 \
- 153.931 88.129 154.943 88.129 155.505 88.354 156.854 \
- 88.354 157.641 88.354 158.428 88.467 159.328 88.467 \
- 160.34 88.467 161.352 88.467 162.476 88.579 163.6 \
- 88.579 164.837 88.579 166.186 88.579 166.973 88.691 \
- 167.873 88.804 168.885 88.916 169.897 89.029 171.021 \
- 89.029 172.258 89.029 173.719 89.029 175.068 89.029 \
- 176.305 89.029 177.542 89.141 178.554 89.141 179.566 \
- 89.141 180.353 89.141 181.14 89.254 181.814 89.366 \
- 182.714 89.478 183.051 89.478 185.412 83.857 185.412 \
- 83.857 184.738 83.744 183.951 83.744 183.276 83.744 \
- 182.489 83.744 180.803 83.857 179.791 83.857 178.891 \
- 83.857 177.879 83.857 176.867 83.857 175.743 83.857 \
- 174.619 83.857 173.27 83.857 172.033 83.744 170.908 \
- 83.744 170.009 83.632 169.109 83.632 168.322 83.52 \
- 166.973 83.407 166.524 83.407 166.186 83.407 165.062 \
- 83.407 164.05 83.295 163.151 83.295 162.251 83.295 \
- 161.464 83.182 160.789 82.957 159.553 81.945 158.203 \
- 80.596 157.754 76.886 157.754 76.886 185.412 71.714 \
- 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 92.289 148.309 92.289 147.185 \
- 92.289 146.061 92.289 145.049 92.402 143.924 92.402 \
- 142.8 92.402 141.788 92.402 140.664 92.514 139.652 \
- 92.514 138.64 92.627 137.628 92.627 136.616 92.739 \
- 135.717 92.739 134.705 92.851 133.805 92.964 132.793 \
- 92.964 131.894 93.076 130.995 93.301 129.196 93.414 \
- 128.409 93.526 127.509 93.639 126.722 93.751 125.935 \
- 93.863 125.148 93.976 124.361 94.313 122.787 94.426 \
- 122.112 94.65 121.325 94.763 120.651 95.1 119.301 \
- 95.55 117.615 96.112 116.041 96.674 114.692 97.236 \
- 113.455 97.799 112.443 98.361 111.544 99.035 110.757 \
- 99.71 110.082 100.385 109.632 101.059 109.295 \
- 101.846 109.07 102.633 108.958 104.207 109.295 \
- 104.882 109.632 105.556 110.082 106.231 110.757 \
- 106.906 111.544 107.468 112.443 108.03 113.455 \
- 108.592 114.692 109.154 116.041 109.604 117.615 \
- 110.054 119.301 110.279 119.976 110.616 121.325 \
- 110.841 122.112 110.953 122.787 111.178 123.574 \
- 111.403 125.148 111.628 125.935 111.74 126.722 \
- 111.853 127.622 111.965 128.409 112.078 129.308 \
- 112.19 130.208 112.302 130.995 112.415 132.006 \
- 112.64 133.805 112.752 134.817 112.865 135.717 \
- 112.977 136.729 112.977 137.741 113.089 138.752 \
- 113.089 139.764 113.202 140.776 113.202 141.788 \
- 113.314 142.912 113.314 143.924 113.314 145.049 \
- 113.427 146.061 113.427 147.185 113.427 148.309 \
- 113.427 149.546 113.314 150.783 113.314 151.907 \
- 113.314 153.032 113.314 154.156 113.202 155.28 \
- 113.202 156.405 113.089 157.529 113.089 158.541 \
- 112.977 159.553 112.865 160.565 112.752 161.576 \
- 112.64 162.588 112.527 163.6 112.415 164.5 112.302 \
- 165.512 112.19 166.411 112.078 167.311 111.965 \
- 168.21 111.853 169.109 111.628 169.897 111.515 \
- 170.796 111.403 171.583 111.178 172.37 111.066 \
- 173.157 110.616 174.731 110.504 175.518 110.279 \
- 176.193 110.054 176.98 109.604 178.666 109.154 \
- 180.128 108.592 181.59 108.03 182.826 107.468 \
- 183.951 106.906 184.963 106.231 185.75 105.556 \
- 186.424 104.882 186.986 104.207 187.436 103.42 \
- 187.661 102.633 187.661 101.846 187.661 101.059 \
- 187.436 100.385 186.986 99.71 186.424 99.035 185.75 \
- 98.361 184.963 97.799 183.951 97.236 182.826 96.674 \
- 181.59 96.112 180.128 95.55 178.666 95.1 176.98 \
- 94.988 176.193 94.763 175.518 94.538 174.731 94.426 \
- 173.944 94.088 172.37 93.976 171.583 93.863 170.796 \
- 93.639 169.897 93.526 169.109 93.414 168.21 93.301 \
- 167.311 93.189 166.411 93.076 165.512 92.964 164.5 \
- 92.964 163.6 92.851 162.588 92.739 161.576 92.627 \
- 160.565 92.627 159.553 92.514 158.541 92.514 157.529 \
- 92.514 156.405 92.402 155.28 92.402 154.156 92.402 \
- 153.032 92.289 151.907 92.289 150.783 92.289 149.546 \
- 92.289 148.309 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 121.859 110.869 127.481 \
- 110.869 134.902 185.412 129.28 185.412 127.931 \
- 171.808 120.847 171.808 119.948 185.412 114.326 \
- 185.412 121.859 110.869 -fill #000000 -outline {} \
- -width 1 -tags logo
-
- $c create polygon 137.263 185.412 137.263 \
- 110.869 147.157 110.869 148.394 110.981 149.518 \
- 111.431 150.417 112.106 151.317 113.118 152.104 \
- 114.467 152.778 116.041 153.228 117.39 153.341 \
- 118.065 153.566 118.852 153.903 120.538 154.015 \
- 121.438 154.128 122.337 154.24 123.349 154.353 \
- 124.361 154.465 125.485 154.465 126.61 154.577 \
- 127.734 154.577 128.971 154.577 130.208 154.577 \
- 131.444 154.577 132.456 154.577 133.468 154.577 \
- 134.48 154.577 135.492 154.577 136.391 154.577 \
- 137.291 154.577 138.19 154.465 139.09 154.465 \
- 139.877 154.353 140.664 154.24 141.451 154.128 \
- 142.238 153.903 143.362 153.678 144.374 153.341 \
- 145.386 153.003 146.398 152.554 147.297 152.216 \
- 148.197 151.767 148.984 151.317 149.771 152.104 \
- 151.233 152.441 152.02 152.778 152.919 153.003 \
- 153.931 153.228 154.943 153.341 155.505 153.453 \
- 156.854 153.566 157.641 153.678 158.428 153.79 \
- 159.328 153.903 160.34 154.015 161.352 154.015 \
- 162.476 154.128 163.6 154.128 164.837 154.128 \
- 166.186 154.128 166.973 154.128 167.873 154.128 \
- 168.885 154.128 169.897 154.128 171.021 154.128 \
- 172.258 154.128 173.719 154.24 175.068 154.24 \
- 176.305 154.353 177.542 154.353 178.554 154.465 \
- 179.566 154.577 180.353 154.69 181.14 154.69 181.814 \
- 154.915 182.714 155.027 183.051 155.027 185.412 \
- 149.405 185.412 149.405 184.738 149.293 183.951 \
- 149.293 183.276 149.181 182.489 149.181 180.803 \
- 149.068 179.791 149.068 178.891 149.068 177.879 \
- 149.068 176.867 148.956 175.743 148.956 174.619 \
- 148.956 173.27 148.956 172.033 148.956 170.908 \
- 148.956 170.009 148.956 169.109 148.956 168.322 \
- 148.956 166.973 148.956 166.524 148.956 166.186 \
- 148.956 165.062 148.843 164.05 148.731 163.151 \
- 148.618 162.251 148.506 161.464 148.394 160.789 \
- 148.056 159.553 147.269 158.203 146.145 157.754 \
- 142.435 157.754 142.435 185.412 137.263 185.412 \
- -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 158.4 185.412 158.4 110.869 \
- 164.022 110.869 164.022 185.412 158.4 185.412 -fill \
- #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 168.182 185.412 168.182 \
- 110.869 173.804 110.869 177.514 135.267 177.739 \
- 136.054 177.851 136.954 177.964 137.853 178.076 \
- 138.752 178.301 139.539 178.413 140.439 178.526 \
- 141.338 178.751 143.137 178.975 144.037 179.088 \
- 144.824 179.2 145.723 179.313 146.623 179.425 147.41 \
- 179.538 148.422 179.763 149.321 179.875 150.333 \
- 180.1 151.233 180.212 152.132 180.437 153.032 180.55 \
- 154.043 180.774 154.943 180.887 155.842 180.999 \
- 156.742 181.224 157.754 181.337 158.653 181.337 \
- 157.641 181.224 156.629 181.224 155.617 181.224 \
- 154.606 181.224 153.594 181.112 152.582 181.112 \
- 151.682 181.112 150.67 180.999 149.771 180.999 \
- 148.759 180.999 147.86 180.887 146.96 180.887 \
- 145.948 180.887 145.049 180.887 144.149 180.887 \
- 143.25 180.887 142.125 180.887 141.114 180.887 \
- 140.102 180.887 139.09 180.887 138.078 180.887 \
- 137.178 180.887 136.166 180.887 135.267 180.887 \
- 134.368 180.887 133.468 180.887 132.569 180.887 \
- 131.669 180.887 130.882 180.887 130.095 180.887 \
- 110.869 185.946 110.869 185.946 185.412 180.325 \
- 185.412 176.165 160.565 176.052 159.778 175.94 \
- 158.99 175.827 158.203 175.602 156.517 175.49 \
- 155.617 175.378 154.718 175.265 153.931 175.153 \
- 153.032 175.04 152.02 174.928 151.12 174.703 150.221 \
- 174.591 149.321 174.478 148.422 174.366 147.41 \
- 174.141 146.51 174.028 145.611 173.804 144.599 \
- 173.691 143.587 173.579 142.575 173.354 141.676 \
- 173.241 140.551 173.017 139.539 172.904 138.528 \
- 172.904 139.539 172.904 140.551 173.017 141.563 \
- 173.017 142.575 173.017 143.587 173.129 144.599 \
- 173.129 145.498 173.129 146.51 173.241 147.41 \
- 173.241 148.422 173.241 149.321 173.354 150.221 \
- 173.354 151.233 173.354 152.132 173.354 153.144 \
- 173.354 154.156 173.354 155.055 173.354 156.067 \
- 173.354 156.967 173.354 157.866 173.354 158.766 \
- 173.354 159.553 173.354 160.452 173.354 161.239 \
- 173.354 162.026 173.354 162.926 173.354 185.412 \
- 168.182 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 206.184 185.412 205.622 \
- 175.968 205.397 177.092 205.172 178.217 204.948 \
- 179.228 204.61 180.128 204.385 181.027 204.048 \
- 181.814 203.823 182.489 203.486 183.164 203.149 \
- 183.838 202.811 184.4 202.024 185.75 201.125 186.762 \
- 200.113 187.436 199.101 187.661 198.089 187.549 \
- 197.19 186.986 196.29 186.087 195.391 184.85 194.941 \
- 184.176 194.491 183.389 194.042 182.489 193.592 \
- 181.477 193.255 180.465 192.805 179.341 192.467 \
- 178.217 192.13 176.98 191.905 176.193 191.68 175.406 \
- 191.568 174.619 191.456 173.832 191.231 172.932 \
- 191.118 172.145 191.006 171.246 190.781 169.559 \
- 190.669 168.66 190.556 167.648 190.444 166.748 \
- 190.331 165.736 190.219 164.725 190.106 163.825 \
- 189.994 162.926 189.994 162.026 189.882 161.127 \
- 189.769 160.227 189.769 159.215 189.657 158.316 \
- 189.544 157.304 189.544 156.405 189.432 155.393 \
- 189.432 154.381 189.319 153.369 189.319 152.357 \
- 189.319 151.345 189.319 150.333 189.319 149.321 \
- 189.319 148.197 189.319 146.96 189.319 145.948 \
- 189.319 144.824 189.319 143.7 189.319 142.688 \
- 189.432 141.563 189.432 140.551 189.544 139.539 \
- 189.544 138.528 189.544 137.516 189.657 136.504 \
- 189.769 135.492 189.769 134.592 189.882 133.581 \
- 189.994 132.681 189.994 131.782 190.106 130.882 \
- 190.219 129.983 190.331 129.083 190.556 127.397 \
- 190.669 126.61 190.781 125.823 191.006 124.923 \
- 191.118 124.136 191.231 123.462 191.568 121.887 \
- 191.793 121.213 191.905 120.426 192.13 119.751 \
- 192.58 117.952 193.142 116.378 193.704 114.917 \
- 194.266 113.567 194.941 112.443 195.616 111.431 \
- 196.29 110.532 196.965 109.857 197.752 109.295 \
- 198.426 108.845 199.214 108.62 200.001 108.508 \
- 201.799 108.958 202.699 109.407 203.374 110.194 \
- 204.161 111.094 204.835 112.218 205.51 113.567 \
- 206.184 115.141 206.634 116.491 206.859 117.165 \
- 206.971 117.952 207.421 119.526 207.534 120.426 \
- 207.758 121.325 207.871 122.225 207.983 123.124 \
- 208.096 124.136 208.208 125.036 208.321 126.047 \
- 208.433 127.172 208.545 128.184 208.658 129.308 \
- 208.77 130.32 208.77 131.557 208.883 132.681 208.995 \
- 133.805 204.273 133.805 204.161 132.681 203.936 \
- 131.557 203.711 130.432 203.486 129.533 203.261 \
- 128.633 202.924 127.734 202.699 126.947 202.362 \
- 126.385 201.35 124.586 200.001 124.024 199.438 \
- 124.136 198.989 124.361 198.426 124.923 197.977 \
- 125.598 197.527 126.497 197.077 127.622 196.628 \
- 128.971 196.29 130.545 196.178 131.219 195.953 \
- 132.681 195.84 133.356 195.728 134.143 195.616 \
- 134.93 195.503 135.829 195.278 137.516 195.278 \
- 138.303 195.166 139.315 195.166 140.214 195.053 \
- 141.114 195.053 142.125 194.941 143.137 194.941 \
- 144.149 194.941 145.161 194.941 146.173 194.941 \
- 147.297 194.941 148.309 194.941 149.546 194.941 \
- 150.67 194.941 151.907 194.941 152.919 195.053 \
- 154.043 195.053 155.168 195.166 156.18 195.166 \
- 157.192 195.278 158.091 195.391 159.103 195.391 \
- 160.002 195.503 160.902 195.616 161.801 195.728 \
- 162.588 195.84 163.375 196.065 164.162 196.178 \
- 164.949 196.29 165.736 196.628 167.198 197.077 \
- 168.547 197.527 169.672 197.977 170.571 198.426 \
- 171.246 198.989 171.808 199.438 172.145 200.001 \
- 172.258 200.9 171.92 201.575 171.246 202.249 170.009 \
- 202.811 168.547 203.149 167.76 203.374 166.973 \
- 203.598 166.186 203.823 165.399 204.048 164.5 \
- 204.273 163.488 204.385 162.476 204.498 161.464 \
- 204.61 160.34 204.723 159.103 200.001 159.103 \
- 200.001 145.049 209.445 145.049 209.445 185.412 \
- 206.184 185.412 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 148.506 261.305 148.506 \
- 263.554 143.784 263.554 143.784 261.305 143.671 \
- 260.068 143.334 259.394 142.772 259.056 141.985 \
- 258.944 141.085 259.056 140.523 259.394 140.074 \
- 261.755 140.074 263.104 140.523 264.678 141.085 \
- 265.465 141.985 266.364 146.145 270.637 147.607 \
- 271.874 148.506 272.998 148.843 274.01 148.956 \
- 275.359 148.956 277.158 148.843 278.507 148.506 \
- 279.632 147.944 280.643 147.157 281.43 146.482 \
- 281.88 145.695 282.218 144.796 282.442 143.784 \
- 282.667 142.659 282.78 141.535 282.78 140.298 282.78 \
- 139.286 282.78 138.387 282.667 137.6 282.442 136.925 \
- 282.218 136.363 281.88 135.576 281.093 135.014 \
- 280.194 134.564 278.957 134.452 277.608 134.452 \
- 275.359 139.624 275.359 139.624 277.608 139.736 \
- 279.069 140.074 279.969 141.535 280.419 142.659 \
- 280.081 143.334 279.519 143.671 278.62 143.784 \
- 277.158 143.784 275.809 143.671 275.022 143.334 \
- 274.235 142.772 273.448 141.985 272.548 137.263 \
- 267.376 136.251 266.364 135.351 265.465 135.014 \
- 264.565 134.902 263.554 134.902 261.755 135.014 \
- 260.518 135.464 259.506 136.026 258.719 136.813 \
- 257.932 137.488 257.595 138.275 257.145 139.174 \
- 256.92 140.186 256.695 141.31 256.583 142.435 \
- 256.583 143.447 256.583 144.458 256.583 145.245 \
- 256.695 145.92 256.92 147.157 257.482 147.719 \
- 258.157 148.169 258.944 148.394 260.068 148.506 \
- 261.305 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 165.821 270.187 165.821 \
- 276.708 165.821 277.833 165.708 278.957 165.483 \
- 279.856 165.259 280.643 164.921 281.318 164.472 \
- 281.88 163.909 282.218 163.235 282.555 162.448 \
- 282.667 161.548 282.78 160.536 282.78 159.3 282.78 \
- 158.175 282.78 157.051 282.78 156.151 282.667 \
- 155.364 282.555 154.69 282.218 154.128 281.88 \
- 153.678 281.318 153.341 280.643 153.116 279.856 \
- 152.891 278.845 152.778 277.833 152.778 276.708 \
- 152.778 270.187 152.778 269.063 152.891 268.051 \
- 153.116 267.264 153.341 266.589 154.128 265.465 \
- 155.364 264.678 156.151 264.453 157.051 264.228 \
- 158.063 264.116 159.3 264.116 160.424 264.116 \
- 161.548 264.228 162.448 264.453 163.235 264.678 \
- 163.909 265.015 164.472 265.465 164.921 265.915 \
- 165.483 267.264 165.708 268.051 165.821 269.063 \
- 165.821 270.187 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 177.514 256.583 177.514 \
- 258.494 177.064 258.494 176.165 258.606 175.715 \
- 258.944 175.378 259.281 175.265 259.843 175.265 \
- 264.565 177.514 264.565 177.514 266.927 175.265 \
- 266.927 175.265 282.78 170.543 282.78 170.543 \
- 266.927 168.632 266.927 168.632 264.565 170.543 \
- 264.565 170.543 261.305 170.655 259.843 170.993 \
- 258.606 171.442 257.707 171.892 257.032 173.579 \
- 256.358 174.703 256.133 176.165 256.133 176.727 \
- 256.133 177.064 256.133 177.514 256.583 -fill \
- #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 185.946 259.843 185.946 \
- 264.565 188.757 264.565 188.757 266.927 185.946 \
- 266.927 185.946 278.62 186.171 279.407 186.509 \
- 279.969 187.071 280.306 187.858 280.419 188.307 \
- 280.419 188.757 280.419 188.757 282.78 188.645 \
- 282.78 188.307 282.78 187.183 282.78 186.509 282.78 \
- 185.159 282.78 183.923 282.555 182.911 282.33 \
- 182.236 281.88 181.786 281.206 181.561 280.419 \
- 181.337 279.407 181.337 278.17 181.337 266.927 \
- 179.425 266.927 179.425 264.565 181.337 264.565 \
- 181.337 261.305 185.946 259.843 -fill #000000 \
- -outline {} -width 1 -tags logo
-
- $c create polygon 190.219 264.565 194.379 \
- 264.565 196.29 279.519 196.74 279.519 199.101 \
- 264.565 204.723 264.565 207.084 279.519 207.534 \
- 279.519 209.895 264.565 213.605 264.565 209.895 \
- 282.78 204.723 282.78 201.912 267.376 201.462 \
- 267.376 199.101 282.78 193.479 282.78 190.219 \
- 264.565 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 229.121 269.175 229.121 282.78 \
- 224.848 282.78 224.848 280.981 224.061 281.768 \
- 223.049 282.33 221.925 282.667 220.688 282.78 \
- 219.564 282.78 218.44 282.555 217.54 282.33 216.866 \
- 281.88 216.528 281.318 216.191 280.531 216.079 \
- 279.632 215.966 278.62 215.966 275.359 216.079 \
- 274.347 216.978 272.998 217.877 272.548 218.44 \
- 272.211 219.114 271.986 219.789 271.761 220.688 \
- 271.536 221.588 271.424 222.6 271.311 223.724 \
- 271.199 224.848 271.087 224.848 269.175 224.736 \
- 267.826 224.399 266.927 223.612 266.477 222.487 \
- 266.364 221.7 266.477 221.138 266.927 220.688 \
- 268.726 220.688 269.175 216.416 269.175 216.528 \
- 267.938 216.753 266.702 217.203 265.69 217.877 \
- 265.015 218.44 264.678 219.114 264.453 219.901 \
- 264.228 220.801 264.116 221.925 264.116 223.049 \
- 264.116 224.061 264.116 225.073 264.116 225.86 \
- 264.228 226.535 264.453 227.659 265.015 228.334 \
- 265.69 228.783 266.702 229.008 267.938 229.121 \
- 269.175 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 243.175 264.565 243.175 \
- 266.927 242.725 266.927 241.601 266.927 240.701 \
- 267.151 239.914 267.489 239.352 267.826 239.015 \
- 268.276 238.678 268.95 238.565 269.737 238.453 \
- 270.637 238.453 282.78 233.731 282.78 233.731 \
- 264.565 238.453 264.565 238.453 265.915 239.352 \
- 265.128 240.364 264.565 242.163 264.116 242.725 \
- 264.565 243.175 264.565 -fill #000000 -outline {} \
- -width 1 -tags logo
-
- $c create polygon 258.129 270.187 258.129 \
- 274.347 249.696 274.347 249.696 278.17 249.809 \
- 279.294 250.146 279.969 250.708 280.643 251.607 \
- 280.981 252.732 280.643 253.406 279.969 253.744 \
- 279.294 253.969 278.17 253.969 276.708 258.129 \
- 276.708 258.129 277.608 258.129 278.957 257.904 \
- 280.081 257.454 281.093 256.779 281.88 256.217 \
- 282.218 254.643 282.667 253.744 282.78 252.732 \
- 282.78 251.607 282.78 250.371 282.78 249.359 282.78 \
- 248.459 282.667 247.672 282.442 246.436 281.88 \
- 245.986 281.318 245.649 280.643 245.424 279.856 \
- 245.199 278.957 245.086 277.833 244.974 276.708 \
- 244.974 270.187 245.086 269.063 245.199 268.051 \
- 245.311 267.264 245.649 266.589 245.986 265.915 \
- 246.436 265.465 246.998 265.015 247.672 264.678 \
- 248.459 264.453 249.359 264.228 250.371 264.116 \
- 251.607 264.116 252.732 264.116 253.744 264.228 \
- 254.756 264.453 255.543 264.678 256.217 265.015 \
- 256.779 265.465 257.229 265.915 257.566 266.589 \
- 257.791 267.264 258.016 268.051 258.129 269.063 \
- 258.129 270.187 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 272.183 256.583 277.355 \
- 256.583 277.355 282.78 272.183 282.78 272.183 \
- 256.583 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 295.569 268.726 295.569 282.78 \
- 290.959 282.78 290.959 269.175 290.847 268.051 \
- 290.509 267.376 289.947 266.702 289.048 266.364 \
- 287.923 266.702 287.136 267.376 287.024 268.051 \
- 287.136 269.175 287.136 282.78 282.527 282.78 \
- 282.527 264.565 286.687 264.565 287.136 265.915 \
- 288.036 265.128 289.048 264.565 290.172 264.228 \
- 291.409 264.116 292.533 264.116 293.433 264.341 \
- 294.107 264.565 294.669 265.015 295.344 266.477 \
- 295.569 267.489 295.569 268.726 -fill #000000 \
- -outline {} -width 1 -tags logo
-
- $c create polygon 312.434 269.737 312.434 \
- 270.637 308.274 270.637 308.274 269.175 308.161 \
- 267.826 307.824 266.927 307.262 266.477 306.363 \
- 266.364 305.576 266.477 305.013 266.927 304.676 \
- 267.826 304.564 269.175 304.564 278.17 304.676 \
- 279.294 305.013 279.969 306.363 280.981 307.262 \
- 280.643 307.824 279.969 307.937 279.294 307.824 \
- 278.17 307.824 276.259 312.434 276.259 312.434 \
- 277.608 312.434 278.957 312.209 280.081 311.759 \
- 281.093 311.085 281.88 310.523 282.218 309.173 \
- 282.667 308.386 282.78 307.374 282.78 306.363 282.78 \
- 305.238 282.78 304.226 282.78 303.327 282.667 \
- 302.427 282.442 301.753 282.218 301.191 281.88 \
- 300.853 281.318 300.516 280.643 300.179 279.856 \
- 299.954 278.957 299.841 277.833 299.841 276.708 \
- 299.841 270.187 299.841 269.063 299.954 268.051 \
- 300.179 267.264 300.404 266.589 301.191 265.465 \
- 302.427 264.678 303.327 264.453 304.226 264.228 \
- 305.238 264.116 306.363 264.116 307.374 264.116 \
- 308.386 264.228 309.173 264.453 309.96 264.678 \
- 310.523 265.015 311.085 265.465 311.759 266.252 \
- 312.209 267.264 312.434 268.388 312.434 269.737 \
- -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 316.706 279.069 320.866 \
- 279.069 320.866 282.78 316.706 282.78 316.706 \
- 279.069 -fill #000000 -outline {} -width 1 -tags logo
-
- $c create polygon 48.215 186.312 48.215 185.412 \
- 47.766 184.4 47.766 183.501 47.316 183.501 47.316 \
- 182.601 46.416 181.59 46.416 181.14 45.967 180.24 \
- 45.405 179.791 44.955 179.228 44.055 178.329 43.606 \
- 177.879 43.156 177.43 42.144 176.98 41.694 176.418 \
- 41.245 175.968 38.883 175.068 36.972 174.169 36.522 \
- 174.169 35.173 173.607 34.723 174.169 31.913 173.607 \
- 31.913 174.169 29.551 173.607 29.551 174.169 28.54 \
- 174.169 28.09 174.619 27.19 174.169 27.19 174.619 \
- 26.741 174.619 25.729 175.068 23.93 175.518 22.918 \
- 175.068 22.468 175.518 20.669 176.418 19.657 176.418 \
- 15.048 178.779 14.036 179.228 12.686 180.24 12.237 \
- 180.69 11.225 181.59 10.775 182.039 10.325 182.601 \
- 10.775 182.601 10.325 184.4 10.775 184.85 11.225 \
- 186.312 14.036 188.223 14.485 188.673 16.846 190.022 \
- 17.296 190.472 17.296 191.034 15.947 191.933 15.048 \
- 192.383 14.485 192.833 14.036 193.283 13.136 193.845 \
- 12.237 194.295 12.686 195.644 12.686 196.094 12.237 \
- 197.555 12.237 198.005 11.675 198.904 12.237 200.816 \
- 12.237 202.277 12.237 204.526 11.675 205.988 12.237 \
- 205.988 12.237 206.437 12.237 207.337 12.686 208.349 \
- 12.686 209.248 13.136 209.698 12.686 211.16 13.136 \
- 212.509 13.136 213.521 13.586 215.32 13.586 216.781 \
- 13.586 217.681 14.036 220.492 14.485 222.403 15.048 \
- 222.853 15.947 222.853 15.947 222.403 16.397 221.953 \
- 16.846 216.781 17.296 215.32 17.858 211.609 18.308 \
- 210.71 18.308 210.148 18.308 209.248 17.858 208.798 \
- 17.858 207.899 18.308 206.437 18.308 205.538 18.308 \
- 205.088 18.308 203.627 16.846 203.627 15.947 203.177 \
- 15.947 202.727 15.947 202.277 16.397 201.715 16.846 \
- 201.715 17.858 201.715 18.308 201.715 18.758 201.265 \
- 18.308 200.816 17.858 199.916 18.308 198.455 17.858 \
- 198.455 17.858 193.283 19.208 192.383 20.107 191.933 \
- 21.569 191.484 22.018 191.484 22.918 192.383 22.918 \
- 192.833 23.48 192.833 23.93 198.005 23.48 199.467 \
- 23.93 202.277 25.279 202.277 29.551 202.727 30.001 \
- 202.277 30.901 202.277 31.913 202.277 35.623 201.265 \
- 36.522 201.265 36.972 200.816 37.984 200.816 38.883 \
- 200.816 39.333 200.366 40.345 199.916 40.795 199.916 \
- 42.594 198.455 44.055 198.005 44.055 197.555 44.505 \
- 197.105 46.416 195.644 46.416 194.744 46.866 194.295 \
- 47.316 193.845 47.766 193.283 47.316 192.833 48.215 \
- 190.472 48.215 190.022 48.215 189.572 48.215 188.673 \
- 48.215 187.211 48.215 186.762 48.215 186.312 -fill \
- $bg -outline {} -width 1 -tags logo
-
- $c create polygon 76.886 142.688 81.046 142.688 \
- 82.508 142.35 83.407 140.889 83.632 140.327 83.969 \
- 138.865 84.082 137.965 84.194 137.066 84.307 136.054 \
- 84.307 134.93 84.307 133.805 84.307 132.456 84.194 \
- 131.332 84.082 130.208 83.857 129.308 83.632 128.409 \
- 83.407 127.734 82.395 126.272 81.046 125.823 76.886 \
- 125.823 76.886 142.688 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 97.461 148.309 97.461 149.546 \
- 97.461 150.783 97.461 152.02 97.574 153.144 97.574 \
- 154.268 97.686 155.28 97.686 156.405 97.799 157.416 \
- 97.799 158.316 97.911 159.328 98.023 160.227 98.136 \
- 161.127 98.361 162.701 98.473 163.488 98.586 164.275 \
- 98.698 164.949 98.81 165.736 99.373 167.535 99.822 \
- 169.109 100.497 170.234 101.059 171.133 101.846 \
- 171.583 102.633 171.808 104.095 171.133 104.769 \
- 170.234 105.332 169.109 105.894 167.535 106.343 \
- 165.736 106.456 164.949 106.681 164.275 106.793 \
- 163.488 106.906 162.701 107.018 161.914 107.243 \
- 160.227 107.355 159.328 107.355 158.316 107.468 \
- 157.416 107.58 156.405 107.58 155.28 107.693 154.268 \
- 107.693 153.144 107.693 152.02 107.693 150.783 \
- 107.805 149.546 107.805 148.309 107.805 147.073 \
- 107.693 145.836 107.693 144.711 107.693 143.587 \
- 107.693 142.463 107.58 141.338 107.58 140.327 \
- 107.468 139.315 107.355 138.303 107.355 137.403 \
- 107.243 136.504 107.131 135.604 106.906 133.918 \
- 106.793 133.131 106.681 132.456 106.456 131.669 \
- 106.343 130.995 105.894 129.196 105.332 127.622 \
- 104.769 126.497 104.095 125.598 103.42 125.148 \
- 102.633 124.923 101.846 125.148 101.059 125.598 \
- 100.497 126.497 99.822 127.622 99.373 129.196 98.81 \
- 130.995 98.698 131.669 98.586 132.456 98.473 133.131 \
- 98.361 133.918 98.248 134.817 98.023 136.504 97.911 \
- 137.403 97.799 138.303 97.799 139.315 97.686 140.327 \
- 97.686 141.338 97.574 142.463 97.574 143.587 97.461 \
- 144.711 97.461 145.836 97.461 147.073 97.461 148.309 \
- -fill $bg -outline {} -width 1 -tags logo
-
- $c create polygon 122.309 156.292 126.919 \
- 156.292 124.67 130.545 122.309 156.292 -fill $bg \
- -outline {} -width 1 -tags logo
-
- $c create polygon 142.435 142.688 146.145 \
- 142.688 147.607 142.35 148.506 140.889 148.731 \
- 140.327 149.068 138.865 149.181 137.965 149.293 \
- 137.066 149.405 136.054 149.405 134.93 149.405 \
- 133.805 149.405 132.456 149.405 131.332 149.405 \
- 130.208 149.293 129.308 149.181 128.409 148.956 \
- 127.734 148.056 126.272 146.595 125.823 142.435 \
- 125.823 142.435 142.688 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 111.515 228.924 111.515 \
- 227.575 111.066 225.664 108.705 221.391 108.255 \
- 220.042 108.255 219.142 108.255 218.58 108.255 \
- 218.13 107.805 217.681 106.793 218.58 104.994 \
- 220.941 104.432 221.953 102.633 224.202 102.183 \
- 224.764 101.621 225.214 99.822 228.474 97.461 \
- 233.197 97.461 234.096 97.461 234.995 97.911 235.445 \
- 98.361 236.007 99.822 236.457 102.633 236.457 \
- 104.432 235.445 105.894 234.995 106.343 234.546 \
- 106.793 234.546 107.805 233.646 110.616 230.835 \
- 111.515 229.824 111.515 229.374 111.515 228.924 \
- -fill $bg -outline {} -width 1 -tags logo
-
- $c create polygon 161.211 269.175 160.986 \
- 267.826 160.649 266.927 160.199 266.477 159.3 \
- 266.364 158.4 266.477 157.838 266.927 157.613 \
- 267.826 157.388 269.175 157.388 278.17 157.613 \
- 279.294 157.838 279.969 159.3 280.981 160.199 \
- 280.643 160.649 279.969 160.986 279.294 161.211 \
- 278.17 161.211 269.175 -fill $bg -outline {} -width \
- 1 -tags logo
-
- $c create polygon 224.848 273.448 223.836 \
- 273.448 222.825 273.56 222.15 273.673 221.588 \
- 273.897 220.913 274.684 220.688 275.809 220.688 \
- 278.17 220.801 279.294 221.138 279.969 221.7 280.643 \
- 222.487 280.981 223.612 280.643 224.399 279.969 \
- 224.736 279.294 224.848 278.17 224.848 273.448 -fill \
- $bg -outline {} -width 1 -tags logo
-
- $c create polygon 253.969 269.175 253.744 \
- 267.826 253.406 266.927 252.732 266.477 251.607 \
- 266.364 250.708 266.477 250.146 266.927 249.696 \
- 269.175 249.696 272.548 253.969 272.548 253.969 \
- 269.175 -fill $bg -outline {} -width 1 -tags logo
-
-}
-
-#***********************************************************************
-# %PROCEDURE: LoadConnectionInfo
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Loads the connection information into the global ConnectionInfo variable
-#***********************************************************************
-proc LoadConnectionInfo {} {
- global ConnectionInfoFile ConnectionInfo PasswordFile
- set ConnectionInfo {}
- if {![file exists $ConnectionInfoFile]} {
- return
- }
- set problem [catch {
- set fp [open $ConnectionInfoFile "r"]
- while {1} {
- if {[gets $fp line] < 0} {
- break
- }
- set line [string trim $line]
- if {[string match "#*" $line]} {
- continue
- }
- if {"$line" == ""} {
- continue
- }
- set ConnectionInfo $line
- break
- }
- close $fp
- } err]
- if {$problem} {
- tk_dialog .err Error "Error loading configuration file: $err" error 0 OK
- }
- # Try loading and merging passwords if the password file is readable
- if {![file readable $PasswordFile]} {
- return
- }
-
- set fp [open $PasswordFile "r"]
- while {1} {
- if {[gets $fp line] < 0} {
- break
- }
- set line [string trim $line]
- if {[string match "#*" $line]} {
- continue
- }
- if {"$line" == ""} {
- continue
- }
- set passwords $line
- break
- }
- close $fp
-
- # Merge passwords
- foreach thing $passwords {
- set name [value $thing ConnectionName]
- set password [value $thing Password]
- set conn [GetConnection $name]
- if {"$conn" != ""} {
- lappend conn Password $password
- ReplaceConnection $conn
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetConnection
-# %ARGUMENTS:
-# name -- name of connection
-# %RETURNS:
-# key/value pair listing connection configuration, or "" if not found.
-#***********************************************************************
-proc GetConnection { name } {
- global ConnectionInfo
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- return $thing
- }
- }
- return ""
-}
-
-
-#***********************************************************************
-# %PROCEDURE: DeleteConnection
-# %ARGUMENTS:
-# name -- name of connection
-# %RETURNS:
-# Nothing, but deletes connection named "$name"
-#***********************************************************************
-proc DeleteConnection { name } {
- global ConnectionInfo ConfigDir
- set newInfo {}
- set found 0
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- set found 1
- } else {
- lappend newInfo $thing
- }
- }
- if {!$found} {
- return
- }
- set ConnectionInfo $newInfo
- SaveConnectionInfo
-
- # Delete the config file
- set fname [file join $ConfigDir conf.$name]
- catch { file delete $fname }
-
- BuildConnectionMenu
- if {[GetCurrentConnection] == $name} {
- if {[llength $ConnectionInfo] == 0} {
- SwitchConnection ""
- } else {
- set name [value [lindex $ConnectionInfo 0] ConnectionName]
- SwitchConnection $name
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: ReplaceConnection
-# %ARGUMENTS:
-# conn -- new name/value pairs
-# %RETURNS:
-# Nothing, but replaces connection in ConnectionInfo. If no such
-# connection exists, appends new connection.
-#***********************************************************************
-proc ReplaceConnection { conn } {
- global ConnectionInfo
- set name [value $conn ConnectionName]
- set newInfo {}
- set found 0
- foreach thing $ConnectionInfo {
- if {[value $thing ConnectionName] == "$name"} {
- lappend newInfo $conn
- set found 1
- } else {
- lappend newInfo $thing
- }
- }
- if {!$found} {
- lappend newInfo $conn
- }
- set ConnectionInfo $newInfo
-}
-
-proc DeletePPPoEConnection {} {
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
- set ans [tk_dialog .confirm "Confirm Deletion - RP-PPPoE" "Are you sure you wish to delete the connection `$conn'?" warning 0 No Yes]
- if {$ans} {
- DeleteConnection $conn
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: CreateMainDialog
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Creates the main window
-#***********************************************************************
-proc CreateMainDialog {} {
- global ConnectionInfoFile
- global ConnectionInfo
- global Admin
- wm title . "RP-PPPoE"
- wm iconname . "PPPoE"
- frame .f1
- label .l1 -text "Connection: "
- menubutton .m1 -text "" -indicatoron 1 -menu .m1.menu -relief raised
- menu .m1.menu -tearoff 0
- pack .l1 .m1 -in .f1 -side left -expand 0 -fill x
- canvas .c -width 40 -height 20
- pack .c -in .f1 -side left -expand 0 -fill none
-
- # Draw the LED's
- .c create rectangle 10 1 30 8 -outline "#808080" -fill "#A0A0A0" -tags xmitrect
- .c create rectangle 10 10 30 18 -outline "#808080" -fill "#A0A0A0" -tags recvrect
-
- frame .buttons
- button .start -text "Start" -command "StartPPPoEConnection"
- button .stop -text "Stop" -command "StopPPPoEConnection"
- button .exit -text "Exit" -command "exit"
- canvas .graph -width 1 -height 1
- if {[file writable $ConnectionInfoFile]} {
- set Admin 1
- pack .f1 -side top -expand 1 -fill both
- pack .buttons -side top -expand 0 -fill x
- button .delete -text "Delete" -command "DeletePPPoEConnection"
- button .new -text "New Connection..." -command "NewPPPoEConnection"
- button .props -text "Properties..." -command "EditConnectionProps"
- pack .graph -in .f1 -side left -expand 1 -fill both
- pack .start .stop .delete .props .new .exit -in .buttons -side left -expand 0 -fill none
- } else {
- set Admin 0
- pack .f1 -side top -expand 0 -fill x
- pack .buttons -side top -expand 1 -fill both
- pack .start .stop .exit -in .buttons -side left -expand 0 -fill none
- pack .graph -in .buttons -side left -expand 1 -fill both
- }
-
- LoadConnectionInfo
- BuildConnectionMenu
- # If no connections exist, pop up new connection dialog
- if {[llength $ConnectionInfo] == 0} {
- SwitchConnection ""
- if {$Admin} {
- update idletasks
- NewPPPoEConnection
- } else {
- tk_dialog .note Note "Note: There are no connections defined. You must run this program as root to define connections" warning 0 OK
- }
- } else {
- set con [lindex $ConnectionInfo 0]
- set name [value $con ConnectionName]
- SwitchConnection $name
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetCurrentConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# The name of the current connection in the GUI.
-#***********************************************************************
-proc GetCurrentConnection {} {
- .m1 cget -text
-}
-
-#***********************************************************************
-# %PROCEDURE: value
-# %ARGUMENTS:
-# lst -- a list of key/value pairs
-# key -- key we're looking for
-# %RETURNS:
-# value corresponding to $key, or "" if not found.
-#***********************************************************************
-proc value { lst key } {
- set idx [lsearch -exact $lst $key]
- if {$idx >= 0} {
- return [lindex $lst [expr $idx+1]]
- }
- return ""
-}
-
-#***********************************************************************
-# %PROCEDURE: SwitchConnection
-# %ARGUMENTS:
-# name -- new connection name
-# %DESCRIPTION:
-# Makes $name the active connection
-#***********************************************************************
-proc SwitchConnection { name } {
- .m1 configure -text $name
- SetButtonStates
- UpdateConnectionState 0
-}
-
-#***********************************************************************
-# %PROCEDURE: EditConnectionProps
-# %ARGUMENTS:
-# None
-# %DESCRIPTION:
-# Pops up edit window for current connection
-#***********************************************************************
-proc EditConnectionProps {} {
- global ConnectionInfo
- set conn [GetCurrentConnection]
- NewPPPoEConnection $conn
-}
-
-#***********************************************************************
-# %PROCEDURE: FillConnectionGui
-# %ARGUMENTS:
-# w -- connection property GUI
-# name -- name of connection
-# %DESCRIPTION:
-# Fills GUI with values corresponding to $name.
-#***********************************************************************
-proc FillConnectionGui { w name } {
- global ConnectionInfo
- set found [GetConnection $name]
- if {"$found" != ""} {
- ListToSetupGui $w $found
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: BuildConnectionMenu
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Builds the connection menu
-#***********************************************************************
-proc BuildConnectionMenu {} {
- global ConnectionInfo
- .m1.menu delete 0 end
- foreach connection $ConnectionInfo {
- set name [value $connection ConnectionName]
- .m1.menu add command -label $name -command [list SwitchConnection $name]
- }
- .m1.menu add separator
- .m1.menu add command -label "User's Manual" -command Help
-}
-
-#***********************************************************************
-# %PROCEDURE: SetButtonStates
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Enables or disables buttons, as appropriate
-#***********************************************************************
-proc SetButtonStates {} {
- global Admin
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- .start configure -state disabled
- .stop configure -state disabled
- catch {
- .delete configure -state disabled
- .props configure -state disabled
- .new configure -state normal
- }
- } else {
- foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
- if {"$startstop" == "started"} {
- .start configure -state disabled
- .stop configure -state normal
- } else {
- .start configure -state normal
- .stop configure -state disabled
- }
- catch {
- .delete configure -state normal
- .props configure -state normal
- .new configure -state normal
- }
- if {!$Admin} {
- set ok [value [GetConnection $conn] NonrootOK]
- if {!$ok} {
- .start configure -state disabled
- .stop configure -state disabled
- }
- }
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: GetEthernetInterfaces
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# A list of Ethernet interfaces
-#***********************************************************************
-proc GetEthernetInterfaces {} {
- set ifs {}
- set fp [open "|/sbin/ifconfig" "r"]
- while {[gets $fp line] >= 0} {
- if {[regexp {^eth[0-9]+} $line eth]} {
- lappend ifs $eth
- }
- }
- return $ifs
-}
-
-#***********************************************************************
-# %PROCEDURE: StartPPPoEConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Starts currently-selected PPPoE connection.
-#***********************************************************************
-proc StartPPPoEConnection {} {
- global Wrapper
- global StartState
- global UpdateToken
-
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
-
- if {"$UpdateToken" != ""} {
- after cancel $UpdateToken
- set UpdateToken ""
- }
-
- catch { unset StartState }
- set StartState(chars) ""
- set StartState(status) ""
- set StartState(msg) ""
- set StartState(flip) 0
-
- set fp [open "|$Wrapper start $conn" "r"]
-
- # Set fileevent
- fileevent $fp readable [list StartFPReadable $fp]
-
- LockGui $fp
- vwait StartState(status)
- UnlockGui
-
- if {$StartState(status) == "failed"} {
- tk_dialog .err Error "Error starting connection: $StartState(msg)" error 0 OK
- }
- SetButtonStates
- UpdateConnectionState 0
-}
-
-proc LockGui { fp } {
- .start configure -state disabled
- .stop configure -state normal -command [list AbortConnection $fp]
- .exit configure -state disabled
- .m1 configure -state disabled
- grab set .stop
-}
-
-proc UnlockGui {} {
- .start configure -state normal
- .stop configure -state disabled -command StopPPPoEConnection
- .exit configure -state normal
- .m1 configure -state normal
- grab release .stop
-}
-
-proc AbortConnection { fp } {
- global StartState
- catch { StopPPPoEConnection }
- catch { close $fp }
- set StartState(msg) "Connection aborted by user"
- set StartState(status) "failed"
-}
-
-#***********************************************************************
-# %PROCEDURE: StartFPReadable
-# %ARGUMENTS:
-# fp -- file handle
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Called when the "adsl-start" file handle is readable.
-#***********************************************************************
-proc StartFPReadable { fp } {
- global StartState
- set char [read $fp 1]
- if {$char == ""} {
- set uhoh [catch {close $fp} err]
- if {$uhoh} {
- set StartState(status) "failed"
- set StartState(msg) $err
- } else {
- set StartState(status) "succeeded"
- }
- return
- }
- append StartState(chars) $char
- if {$StartState(flip)} {
- ConnectionStateDown
- } else {
- ConnectionStateOff
- }
- set StartState(flip) [expr 1 - $StartState(flip)]
-}
-
-#***********************************************************************
-# %PROCEDURE: StopPPPoEConnection
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Stops currently-selected PPPoE connection.
-#***********************************************************************
-proc StopPPPoEConnection {} {
- global Wrapper
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- return
- }
- set fp [open "|$Wrapper stop $conn" "r"]
- while {1} {
- set char [read $fp 1]
- if {"$char" == ""} {
- break;
- }
- }
- set uhoh [catch {close $fp} err]
- if {$uhoh} {
- # Ignore a common error
- if {![string match "*appears to have died*" $err]} {
- tk_dialog .err Error "Error stopping connection: $err" error 0 OK
- }
- }
- SetButtonStates
- UpdateConnectionState 0
-}
-
-#***********************************************************************
-# %PROCEDURE: NewPPPoEConnection
-# %ARGUMENTS:
-# name -- if supplied, we're editing the existing connection "name"
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Creates a new PPPoE connection
-#***********************************************************************
-proc NewPPPoEConnection {{name ""}} {
- set w .newcon
- if {[winfo exists $w]} {
- wm deiconify $w
- raise $w
- return
- }
-
- toplevel $w
- if {"$name" == ""} {
- wm title $w "New Connection - RP-PPPoE"
- wm iconname $w "New Connection"
- } else {
- wm title $w "Edit Connection - RP-PPPoE"
- wm iconname $w "Edit Connection"
- }
- wm withdraw $w
-
- tabnotebook_create $w.tn
- set basic [tabnotebook_page $w.tn "Basic"]
- set interface [tabnotebook_page $w.tn "NIC and DNS"]
- set opts [tabnotebook_page $w.tn "Options"]
- set advanced [tabnotebook_page $w.tn "Advanced"]
-
- # ----------- BASIC PAGE -------------
- label $w.lconName -text "Connection Name: " -anchor e
- if {"$name" != ""} {
- label $w.conName -text $name -anchor w
- } else {
- entry $w.conName -width 15
- RegisterHelpWindow $w.lconName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
- RegisterHelpWindow $w.conName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
- }
-
- label $w.luser -text "User Name: " -anchor e
- entry $w.user -width 15
- RegisterHelpWindow $w.luser "Enter your user name. Do not add a domain-name after the user name." $w.help
- RegisterHelpWindow $w.user "Enter your user name. Do not add a domain-name after the user name." $w.help
-
- label $w.lnet -text "Network: " -anchor e
- entry $w.network -width 15
- RegisterHelpWindow $w.lnet "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
- RegisterHelpWindow $w.network "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
-
- label $w.lpass -text "Password: " -anchor e
- entry $w.pass -width 15 -show "*"
- RegisterHelpWindow $w.lpass "Enter your password." $w.help
- RegisterHelpWindow $w.pass "Enter your password." $w.help
-
- grid $w.lconName $w.conName -in $basic -sticky nsew
- grid $w.luser $w.user -in $basic -sticky nsew
- grid $w.lnet $w.network -in $basic -sticky nsew
- grid $w.lpass $w.pass -in $basic -sticky nsew
- grid columnconfigure $basic 1 -weight 1
-
- # ----------- INTERFACES PAGE -------------
- set ifs {}
- catch {set ifs [GetEthernetInterfaces]}
-
- label $w.lifname -text "Ethernet Interface: " -anchor e
- entry $w.ifname -width 8
- RegisterHelpWindow $w.lifname "Enter Ethernet interface to which DSL modem is attached." $w.help
- RegisterHelpWindow $w.ifname "Enter Ethernet interface to which DSL modem is attached." $w.help
-
- if {[llength $ifs] > 0} {
- menubutton $w.ifmb -relief raised -text "..." -menu $w.ifmb.menu
- RegisterHelpWindow $w.ifmb "Browse detected Ethernet interface names." $w.help
- menu $w.ifmb.menu -tearoff 0
- foreach if $ifs {
- $w.ifmb.menu add command -label $if -command "$w.ifname delete 0 end; $w.ifname insert end [list $if]"
- }
- grid $w.lifname $w.ifname $w.ifmb -in $interface -sticky nsew
- } else {
- grid $w.lifname $w.ifname - -in $interface -sticky nsew
- }
-
- label $w.ldns -text "DNS Setup: " -anchor e
- menubutton $w.dns -text "From Server" -menu $w.dns.menu -relief raised -indicatoron 1
- menu $w.dns.menu -tearoff 0
- foreach thing {"From Server" "Specify" "Do not Adjust"} {
- $w.dns.menu add command -label $thing -command [list SetDNSOption $w $thing]
- }
- RegisterHelpWindow $w.ldns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
- RegisterHelpWindow $w.dns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
-
- label $w.ldns1 -text "Primary DNS: " -anchor e
- entry $w.dns1 -width 16
- RegisterHelpWindow $w.ldns1 "Enter the IP address of the primary DNS server." $w.help
- RegisterHelpWindow $w.dns1 "Enter the IP address of the primary DNS server." $w.help
- label $w.ldns2 -text "Secondary DNS: " -anchor e
- entry $w.dns2 -width 16
- RegisterHelpWindow $w.ldns2 "Enter the IP address of the secondary DNS server." $w.help
- RegisterHelpWindow $w.dns2 "Enter the IP address of the secondary DNS server." $w.help
-
- SetDNSOption $w "From Server"
- grid $w.ldns $w.dns - -in $interface -sticky nsew
- grid $w.ldns1 $w.dns1 - -in $interface -sticky nsew
- grid $w.ldns2 $w.dns2 - -in $interface -sticky nsew
-
- # If only one Ethernet interface, select it by default
- if {[llength $ifs] == 1} {
- $w.ifname insert end [lindex $ifs 0]
- }
-
- grid columnconfigure $interface 1 -weight 1
- # ----------- OPTS PAGE -------------
- checkbutton $w.nonroot -text "Allow use by non-root users" -variable OPTS(nonroot) -anchor w
- RegisterHelpWindow $w.nonroot "If enabled, ordinary users can start and stop this connection." $w.help
- checkbutton $w.sync -text "Use synchronous PPP" -variable OPTS(sync) -anchor w
- RegisterHelpWindow $w.sync "Use synchronous PPP (recommended -- easier on the CPU.)" $w.help
- label $w.lfw -text "Firewalling: " -anchor e
- if {[llength $ifs] == 1} {
- set defaultFW "Stand-Alone"
- } else {
- set defaultFW "Masquerading"
- }
- menubutton $w.fw -text $defaultFW -menu $w.fw.menu -indicatoron 1 -relief raised
- menu $w.fw.menu -tearoff 0
- foreach type {Stand-Alone Masquerading None} {
- $w.fw.menu add command -label $type -command [list $w.fw configure -text $type]
- }
-
- RegisterHelpWindow $w.lfw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
- RegisterHelpWindow $w.fw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
- grid $w.nonroot - -in $opts -sticky nsew
- grid $w.sync - -in $opts -sticky nsew
- grid $w.lfw $w.fw -in $opts -sticky nsw
- grid columnconfigure $opts 1 -weight 1
-
- # ----------- ADVANCED PAGE -------------
- label $w.lsn -text "Service-Name: " -anchor e
- entry $w.servicename -width 24
-
- label $w.lac -text "AC-Name: " -anchor e
- entry $w.acname -width 24
-
- RegisterHelpWindow $w.lac "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
- RegisterHelpWindow $w.acname "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
- grid $w.lsn $w.servicename -in $advanced -sticky nsew
- grid $w.lac $w.acname -in $advanced -sticky nsew
- RegisterHelpWindow $w.lsn "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
- RegisterHelpWindow $w.servicename "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
-
- grid columnconfigure $advanced 1 -weight 1
-
- # ----------- BUTTONS -------------
- frame $w.buttons
- button $w.ok -text "OK" -command [list NewPPPoEConnectionOK $name $w]
- button $w.cancel -text "Cancel" -command [list destroy $w]
- pack $w.ok $w.cancel -in $w.buttons -expand 0 -fill none -side left
-
- pack $w.tn -side top -expand 1 -fill both
-
- text $w.help -width 60 -wrap word -state disabled -height 6
- pack $w.help -side top -expand 0 -fill both
- pack $w.buttons -side top -expand 0 -fill x
-
- # If we're editing existing connection, fill GUI with current values
- if {"$name" != ""} {
- FillConnectionGui $w $name
- }
- wm deiconify $w
- update idletasks
- raise $w
-}
-
-#***********************************************************************
-# %PROCEDURE: SetDNSOption
-# %ARGUMENTS:
-# w -- connection-editing window
-# opt -- value of DNS option
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adjusts GUI for specified option
-#***********************************************************************
-proc SetDNSOption { w opt } {
- $w.dns configure -text $opt
- if {"$opt" == "Specify"} {
- $w.dns1 configure -state normal -background white
- $w.dns2 configure -state normal -background white
- } else {
- $w.dns1 configure -state disabled -background "#d9d9d9"
- $w.dns2 configure -state disabled -background "#d9d9d9"
- }
-}
-
-# ----------------------------------------------------------------------
-# Tabbed notebook code from "Effective Tcl/Tk Programming"
-# ----------------------------------------------------------------------
-# EXAMPLE: tabnotebook that can dial up pages
-# ----------------------------------------------------------------------
-# Effective Tcl/Tk Programming
-# Mark Harrison, DSC Communications Corp.
-# Michael McLennan, Bell Labs Innovations for Lucent Technologies
-# Addison-Wesley Professional Computing Series
-# ======================================================================
-# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
-# ======================================================================
-
-option add *Tabnotebook.tabs.background #666666 widgetDefault
-option add *Tabnotebook.margin 6 widgetDefault
-option add *Tabnotebook.tabColor #a6a6a6 widgetDefault
-option add *Tabnotebook.activeTabColor #d9d9d9 widgetDefault
-option add *Tabnotebook.tabFont \
- -*-helvetica-bold-r-normal--*-120-* widgetDefault
-
-proc tabnotebook_create {win} {
- global tnInfo
-
- frame $win -class Tabnotebook
- canvas $win.tabs -highlightthickness 0
- pack $win.tabs -fill x
-
- notebook_create $win.notebook
- pack $win.notebook -expand yes -fill both
-
- set tnInfo($win-tabs) ""
- set tnInfo($win-current) ""
- set tnInfo($win-pending) ""
- return $win
-}
-
-proc tabnotebook_page {win name} {
- global tnInfo
-
- set page [notebook_page $win.notebook $name]
- lappend tnInfo($win-tabs) $name
-
- if {$tnInfo($win-pending) == ""} {
- set id [after idle [list tabnotebook_refresh $win]]
- set tnInfo($win-pending) $id
- }
- return $page
-}
-
-proc tabnotebook_refresh {win} {
- global tnInfo
-
- $win.tabs delete all
-
- set margin [option get $win margin Margin]
- set color [option get $win tabColor Color]
- set font [option get $win tabFont Font]
- set x 2
- set maxh 0
-
- foreach name $tnInfo($win-tabs) {
- set id [$win.tabs create text \
- [expr $x+$margin+2] [expr -0.5*$margin] \
- -anchor sw -text $name -font $font \
- -tags [list $name]]
-
- set bbox [$win.tabs bbox $id]
- set wd [expr [lindex $bbox 2]-[lindex $bbox 0]]
- set ht [expr [lindex $bbox 3]-[lindex $bbox 1]]
- if {$ht > $maxh} {
- set maxh $ht
- }
-
- $win.tabs create polygon 0 0 $x 0 \
- [expr $x+$margin] [expr -$ht-$margin] \
- [expr $x+$margin+$wd] [expr -$ht-$margin] \
- [expr $x+$wd+2*$margin] 0 \
- 2000 0 2000 10 0 10 \
- -outline black -fill $color \
- -tags [list $name tab tab-$name]
-
- $win.tabs raise $id
-
- $win.tabs bind $name <ButtonPress-1> \
- [list tabnotebook_display $win $name]
-
- set x [expr $x+$wd+2*$margin]
- }
- set height [expr $maxh+2*$margin]
- $win.tabs move all 0 $height
-
- $win.tabs configure -width $x -height [expr $height+4]
-
- if {$tnInfo($win-current) != ""} {
- tabnotebook_display $win $tnInfo($win-current)
- } else {
- tabnotebook_display $win [lindex $tnInfo($win-tabs) 0]
- }
- set tnInfo($win-pending) ""
-}
-
-proc tabnotebook_display {win name} {
- global tnInfo
-
- notebook_display $win.notebook $name
-
- set normal [option get $win tabColor Color]
- $win.tabs itemconfigure tab -fill $normal
-
- set active [option get $win activeTabColor Color]
- $win.tabs itemconfigure tab-$name -fill $active
- $win.tabs raise $name
-
- set tnInfo($win-current) $name
-}
-
-# ----------------------------------------------------------------------
-# EXAMPLE: simple notebook that can dial up pages
-# ----------------------------------------------------------------------
-# Effective Tcl/Tk Programming
-# Mark Harrison, DSC Communications Corp.
-# Michael McLennan, Bell Labs Innovations for Lucent Technologies
-# Addison-Wesley Professional Computing Series
-# ======================================================================
-# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
-# ======================================================================
-
-option add *Notebook.borderWidth 2 widgetDefault
-option add *Notebook.relief sunken widgetDefault
-
-proc notebook_create {win} {
- global nbInfo
-
- frame $win -class Notebook
- pack propagate $win 0
-
- set nbInfo($win-count) 0
- set nbInfo($win-pages) ""
- set nbInfo($win-current) ""
- return $win
-}
-
-proc notebook_page {win name} {
- global nbInfo
-
- set page "$win.page[incr nbInfo($win-count)]"
- lappend nbInfo($win-pages) $page
- set nbInfo($win-page-$name) $page
-
- frame $page
-
- if {$nbInfo($win-count) == 1} {
- after idle [list notebook_display $win $name]
- }
- return $page
-}
-
-proc notebook_display {win name} {
- global nbInfo
-
- set page ""
- if {[info exists nbInfo($win-page-$name)]} {
- set page $nbInfo($win-page-$name)
- } elseif {[winfo exists $win.page$name]} {
- set page $win.page$name
- }
- if {$page == ""} {
- error "bad notebook page \"$name\""
- }
-
- notebook_fix_size $win
-
- if {$nbInfo($win-current) != ""} {
- pack forget $nbInfo($win-current)
- }
- pack $page -expand yes -fill both
- set nbInfo($win-current) $page
-}
-
-proc notebook_fix_size {win} {
- global nbInfo
-
- update idletasks
-
- set maxw 0
- set maxh 0
- foreach page $nbInfo($win-pages) {
- set w [winfo reqwidth $page]
- if {$w > $maxw} {
- set maxw $w
- }
- set h [winfo reqheight $page]
- if {$h > $maxh} {
- set maxh $h
- }
- }
- set bd [$win cget -borderwidth]
- set maxw [expr $maxw+2*$bd]
- set maxh [expr $maxh+2*$bd]
- $win configure -width $maxw -height $maxh
-}
-
-#***********************************************************************
-# %PROCEDURE: SetupGuiToList
-# %ARGUMENTS:
-# w -- the PPPoE connection setup window
-# %RETURNS:
-# A list of (name value) pairs for the connection.
-# %DESCRIPTION:
-# Reads values from the GUI; makes a list.
-#***********************************************************************
-proc SetupGuiToList { w } {
- global OPTS
- set ans {}
- if {[catch {lappend ans ConnectionName [$w.conName get]}]} {
- lappend ans ConnectionName [$w.conName cget -text]
- }
- lappend ans UserName [$w.user get]
- lappend ans NetworkName [$w.network get]
- lappend ans Password [$w.pass get]
- lappend ans Interface [$w.ifname get]
- lappend ans DNSType [$w.dns cget -text]
- lappend ans DNS1 [$w.dns1 get]
- lappend ans DNS2 [$w.dns2 get]
- lappend ans NonrootOK $OPTS(nonroot)
- lappend ans Sync $OPTS(sync)
- lappend ans FirewallType [$w.fw cget -text]
- lappend ans ServiceName [$w.servicename get]
- lappend ans ACName [$w.acname get]
-
- # Validate
- set name [value $ans ConnectionName]
- if {![regexp -nocase {^[-a-z0-9_]+$} $name]} {
- error "Connection name must be non-blank and contain only letters, digits, `_' and `-'"
- }
-
- # Check DNS
- set type [value $ans DNSType]
- if {"$type" == "Specify"} {
- set dns [value $ans DNS1]
- if {![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
- error "Primary DNS entry must consist of four dot-separated decimal numbers"
- }
- set dns [value $ans DNS2]
- if {"$dns" != "" && ![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
- error "Secondary DNS entry must consist of four dot-separated decimal numbers"
- }
- }
- return $ans
-}
-
-#***********************************************************************
-# %PROCEDURE: ListToSetupGui
-# %ARGUMENTS:
-# w -- the PPPoE connection setup window
-# lst -- a list of name/value pairs
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Updates GUI to reflect lst
-#***********************************************************************
-proc ListToSetupGui { w lst } {
- global OPTS
- foreach {key value} $lst {
- switch -exact -- $key {
- ConnectionName {
- catch {
- $w.conName delete 0 end
- $w.conName insert end $value
- }
- catch {
- $w.conName configure -text $value
- }
- }
- UserName {
- $w.user delete 0 end
- $w.user insert end $value
- }
- NetworkName {
- $w.network delete 0 end
- $w.network insert end $value
- }
- Password {
- $w.pass delete 0 end
- $w.pass insert end $value
- }
- Interface {
- $w.ifname delete 0 end
- $w.ifname insert end $value
- }
- DNSType {
- SetDNSOption $w $value
- }
- DNS1 {
- set oldstate [$w.dns1 cget -state]
- $w.dns1 configure -state normal
- $w.dns1 delete 0 end
- $w.dns1 insert end $value
- $w.dns1 configure -state $oldstate
- }
- DNS2 {
- set oldstate [$w.dns2 cget -state]
- $w.dns2 configure -state normal
- $w.dns2 delete 0 end
- $w.dns2 insert end $value
- $w.dns2 configure -state $oldstate
- }
- NonrootOK {
- set OPTS(nonroot) $value
- }
- Sync {
- set OPTS(sync) $value
- }
- FirewallType {
- $w.fw configure -text $value
- }
- ServiceName {
- $w.servicename delete 0 end
- $w.servicename insert end $value
- }
- ACName {
- $w.acname delete 0 end
- $w.acname insert end $value
- }
- }
- }
-}
-
-proc NewPPPoEConnectionOK { name w } {
- if {[catch {set conn [SetupGuiToList $w]} err]} {
- tk_dialog .err "Invalid Parameters" "$err" error 0 OK
- return
- }
- if {"$name" == ""} {
- set name [value $conn ConnectionName]
- set tmp [GetConnection $name]
- if {"$tmp" != ""} {
- tk_dialog .err "Connection Exists" "The connection `$name' already exists. Pick another name." error 0 OK
- return
- }
- }
- ReplaceConnection $conn
- SaveConnectionInfo
- BuildConnectionMenu
- SwitchConnection $name
- destroy $w
-}
-
-proc SaveConnectionInfo {} {
- global ConnectionInfo ConnectionInfoFile PasswordFile
- set fp [open "$ConnectionInfoFile.new" "w"]
- puts $fp "# RP-PPPoE GUI Configuration Information."
- puts $fp "# This file may *look* human-editable, but it is NOT."
- puts $fp "# So, you with the text editor: Keep away from this file."
- puts $fp "#"
- set expunged {}
- set passwords {}
- foreach thing $ConnectionInfo {
- set name [value $thing ConnectionName]
- set password [value $thing Password]
- set pwindex [lsearch -exact $thing Password]
- set safe [lreplace $thing $pwindex [expr $pwindex+1]]
- set pwd [list ConnectionName $name Password $password]
- lappend expunged $safe
- lappend passwords $pwd
- }
- puts $fp $expunged
- close $fp
- set fp [open "$PasswordFile.new" "w"]
- exec chmod 600 "$PasswordFile.new"
- puts $fp "# RP-PPPoE GUI Configuration Information."
- puts $fp "# This file may *look* human-editable, but it is NOT."
- puts $fp "# So, you with the text editor: Keep away from this file."
- puts $fp "#"
- puts $fp $passwords
- close $fp
- file rename -force "$ConnectionInfoFile.new" "$ConnectionInfoFile"
- file rename -force "$PasswordFile.new" "$PasswordFile"
-
- # Generate config files for adsl-start for each connection
- foreach thing $ConnectionInfo {
- GenerateConfigFile $thing
- }
-
- # Now update /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
- foreach thing $ConnectionInfo {
- GenerateSecretsEntry $thing
- }
-}
-
-#***********************************************************************
-# %PROCEDURE: ReadShellEscapedWord
-# %ARGUMENTS:
-# str -- a string
-# %RETURNS:
-# A two-element list -- the first element is a shell-escaped word
-# extracted from $str, just the way pppd parses /etc/ppp/pap-secrets.
-# The second element is the remaining portion of $str
-#***********************************************************************
-proc ReadShellEscapedWord { str } {
- set ans {}
- set rest $str
-
- # Chew up leading spaces
- set rest [string trimleft $rest]
-
- # If first char is a quote, read until a quote
- if {"[string index $rest 0]" == "\""} {
- set rest [string range $rest 1 end]
- set nextquote [string first "\"" $rest]
- # If no following quote, pretend we haven't seen a quote, I guess.
- if {$nextquote >= 0} {
- set ans [string range $rest 0 [expr $nextquote-1]]
- set rest [string range $rest [expr $nextquote+1] end]
- return [list $ans $rest]
- }
- }
-
- # Not a quote; chew through the string until an unescaped space
- while {[string length $rest] > 0} {
- set char [string index $rest 0]
- set rest [string range $rest 1 end]
- # Sneaky test for whitespace in Tcl 8.0
- if {"[string trim $char]" == ""} {
- return [list $ans $rest]
- }
- if {"$char" == "\\"} {
- set char [string index $rest 0]
- set rest [string range $rest 1 end]
- }
- append ans $char
- }
- return [list $ans $rest]
-}
-
-
-#***********************************************************************
-# %PROCEDURE: GenerateSecretsEntry
-# %ARGUMENTS:
-# conn -- a connection key/value list
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adds entries to /etc/ppp/pap-secrets and /etc/ppp/chap-secrets.
-#***********************************************************************
-proc GenerateSecretsEntry { conn } {
- set user [value $conn UserName]
- set net [value $conn NetworkName]
- set password [value $conn Password]
- if {"$net" != ""} {
- set user "$user@$net"
- }
- GenerateSecretsEntryForFile $user $password "/etc/ppp/pap-secrets"
- GenerateSecretsEntryForFile $user $password "/etc/ppp/chap-secrets"
-}
-
-#***********************************************************************
-# %PROCEDURE: GenerateSecretsEntryForFile
-# %ARGUMENTS:
-# user -- user name
-# password -- password
-# fname -- file to add entry to.
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Adds entries to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets.
-#***********************************************************************
-proc GenerateSecretsEntryForFile { user password fname } {
- # Copy $fname to $fname.new
- set out [open "$fname.new" "w"]
- exec chmod go-rwx "$fname.new"
- if {[file exists $fname]} {
- set in [open $fname "r"]
- while {[gets $in line] >= 0} {
- set trimmed [string trim $line]
- if {"$trimmed" == ""} {
- puts $out $line
- continue
- }
- if {[string match "#*" $trimmed]} {
- puts $out $line
- continue
- }
-
- # Read the user name off the line; copy it unless it's our
- # user name.
- foreach {word dummy} [ReadShellEscapedWord $line] {break}
- if {$word != $user} {
- puts $out $line
- }
- }
- close $in
- }
-
- # Now add our line
- set user [ShellEscape $user]
- set password [ShellEscape $password]
- puts $out "$user\t*\t$password\t*"
- close $out
- file rename -force $fname.new $fname
-}
-
-#***********************************************************************
-# %PROCEDURE: ShellEscape
-# %ARGUMENTS:
-# str
-# %RETURNS:
-# A version of $str with shell meta-characters escaped
-#***********************************************************************
-proc ShellEscape { str } {
- set ans ""
- foreach char [split $str ""] {
- if {[string first $char "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_+=-@./"] >= 0} {
- append ans $char
- } else {
- append ans "\\$char"
- }
- }
- return $ans
-}
-
-
-#***********************************************************************
-# %PROCEDURE: GenerateConfigFile
-# %ARGUMENTS:
-# conn -- a connection key/value list
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Generates a configuration file for adsl-start and friends under
-# /etc/ppp/rp-pppoe-gui
-#***********************************************************************
-proc GenerateConfigFile { conn } {
- global ConfigDir
- set name [value $conn ConnectionName]
- set fname [file join $ConfigDir conf.$name]
- set fp [open "$fname.new" w]
- puts $fp "# Configuration file for connection `$name'."
- puts $fp "# Automatically generated. Do not edit by hand."
- puts $fp ""
- foreach {var val} $conn {
- switch -exact $var {
- UserName {
- set net [value $conn NetworkName]
- if {"$net" != ""} {
- set user "$val@$net"
- } else {
- set user "$val"
- }
- puts $fp [ShellEscape "USER=$user"]
- }
- Interface {
- puts $fp [ShellEscape "ETH=$val"]
- }
- DNSType {
- if {"$val" == "From Server"} {
- puts $fp "DNSTYPE=SERVER"
- puts $fp "USEPEERDNS=yes"
- } elseif {"$val" == "Specify"} {
- puts $fp "DNSTYPE=SPECIFY"
- puts $fp "USEPEERDNS=no"
- } else {
- puts $fp "DNSTYPE=NOCHANGE"
- puts $fp "USEPEERDNS=no"
- }
- }
- DNS1 {
- puts $fp [ShellEscape "DNS1=$val"]
- }
- DNS2 {
- puts $fp [ShellEscape "DNS2=$val"]
- }
- NonrootOK {
- if {$val} {
- puts $fp "NONROOT=OK"
- }
- }
- ACName {
- puts $fp [ShellEscape "ACNAME=$val"]
- }
- ServiceName {
- puts $fp [ShellEscape "SERVICENAME=$val"]
- }
- FirewallType {
- if {"$val" == "None"} {
- puts $fp "FIREWALL=NONE"
- } elseif {"$val" == "Masquerading"} {
- puts $fp "FIREWALL=MASQUERADE"
- } else {
- puts $fp "FIREWALL=STANDALONE"
- }
- }
- Sync {
- if {$val} {
- puts $fp "SYNCHRONOUS=yes"
- } else {
- puts $fp "SYNCHRONOUS=no"
- }
- }
- }
- }
- puts $fp "CONNECT_TIMEOUT=30"
- puts $fp "CONNECT_POLL=1"
- puts $fp "FORCEPING=\".\""
- puts $fp "PIDFILE=/var/run/adsl-$name.pid"
- puts $fp "CLAMPMSS=1412"
- puts $fp "LCP_INTERVAL=20"
- puts $fp "LCP_FAILURE=3"
- puts $fp "PPPOE_TIMEOUT=80"
- puts $fp "LINUX_PLUGIN="
- puts $fp "DEMAND=no"
- close $fp
- file rename -force "$fname.new" "$fname"
-}
-
-#***********************************************************************
-# %PROCEDURE: GetConnectionStatus
-# %ARGUMENTS:
-# conn -- connection name
-# %RETURNS:
-# A three-element list:
-# {started/stopped up/down if}
-# If first element is "started", then connection has been started.
-# If second element is "up", then connection is up.
-# If connection is up, third element is PPP interface.
-#***********************************************************************
-proc GetConnectionStatus { conn } {
- set pidfile "/var/run/adsl-$conn.pid"
-
- # Check for PID file
- if {![file readable $pidfile]} {
- return {stopped down ""}
- }
- set fp [open $pidfile "r"]
- gets $fp pid
- close $fp
-
- # Check if process is dead
- if {![file exists "/proc/$pid"]} {
- # The pppd might still be running... doh...
- if {![file readable "$pidfile.pppd"]} {
- return {stopped down ""}
- }
- set fp [open "$pidfile.pppd" "r"]
- gets $fp pid
- close $fp
- if {![file exists "/proc/$pid"]} {
- return {stopped down ""}
- }
- }
-
- # Now get PID of pppd
- if {![file readable "$pidfile.pppd"]} {
- return {started down ""}
- }
- set fp [open "$pidfile.pppd" "r"]
- gets $fp pid
- close $fp
-
- # Find interface to which it corresponds
- set pppdfiles [glob -nocomplain "/var/run/ppp*.pid"]
- set found {}
- foreach file $pppdfiles {
- set fp [open $file "r"]
- gets $fp ifpid
- close $fp
- if {$ifpid == $pid} {
- set found [file rootname [file tail $file]]
- break
- }
- }
- if {"$found" == ""} {
- return {started down ""}
- }
- return [list started up $found]
-}
-
-#***********************************************************************
-# %PROCEDURE: UpdateConnectionState
-# %ARGUMENTS:
-# fromAfter -- if 1, was called from an "after" callback.
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Updates the "LED" displays; periodically reschedules itself to keep
-# updating display.
-#***********************************************************************
-proc UpdateConnectionState {{fromAfter 1}} {
- global UpdateToken
- global Packets
- global Bytes
- global UpdateInterval
- global MeasureTime
- if {$fromAfter} {
- set UpdateToken ""
- }
-
- set conn [GetCurrentConnection]
- if {"$conn" == ""} {
- ConnectionStateOff
- ResetGraph
- if {"$UpdateToken" != ""} {
- after cancel $UpdateToken
- set UpdateToken {}
- }
- return
- }
-
- foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
- if {"$startstop" == "stopped"} {
- ConnectionStateOff
- ResetGraph
- } elseif {"$updown" == "down"} {
- ConnectionStateDown
- ResetGraph
- } else {
- # Get the packet counts
- set found 0
- set fp [open "/proc/net/dev" "r"]
- while {[gets $fp line] >= 0} {
- if {![string match "*$interface:*" $line]} {
- continue
- }
- set colon [string first ":" $line]
- if {$colon < 0} {
- continue
- }
- set line [string range $line [expr $colon+1] end]
- set found 1
- set MeasureTime [clock seconds]
- break
- }
- close $fp
- if {$found} {
- foreach {rbytes rpacks rerrs rdrop rfifo rframe rcomp rmulti tbytes tpacks} $line {break}
- if {!$fromAfter} {
- set Packets(in) $rpacks
- set Packets(out) $tpacks
- set Bytes(in) $rbytes
- set Bytes(out) $tbytes
- ConnectionStateUp
- ResetGraph
- } else {
- if {$rpacks != $Packets(in)} {
- ConnectionReceiveActive
- } else {
- ConnectionReceiveUp
- }
- if {$tpacks != $Packets(out)} {
- ConnectionTransmitActive
- } else {
- ConnectionTransmitUp
- }
- set Packets(in) $rpacks
- set Packets(out) $tpacks
- set Bytes(in) $rbytes
- set Bytes(out) $tbytes
- UpdateGraph
- }
- } else {
- ConnectionStateUp
- ResetGraph
- }
- }
- if {"$UpdateToken" == ""} {
- set UpdateToken [after $UpdateInterval UpdateConnectionState]
- }
- if {$fromAfter} {
- SetButtonStates
- }
-}
-
-proc ConnectionStateOff {} {
- .c itemconfigure xmitrect -fill "#A0A0A0"
- .c itemconfigure recvrect -fill "#A0A0A0"
-}
-
-proc ConnectionStateDown {} {
- .c itemconfigure xmitrect -fill "#A00000"
- .c itemconfigure recvrect -fill "#A00000"
-}
-
-proc ConnectionStateUp {} {
- .c itemconfigure xmitrect -fill "#00D000"
- .c itemconfigure recvrect -fill "#00D000"
-}
-
-proc ConnectionTransmitActive {} {
- .c itemconfigure xmitrect -fill "#FFFF00"
-}
-
-proc ConnectionTransmitUp {} {
- .c itemconfigure xmitrect -fill "#00D000"
-}
-
-proc ConnectionReceiveActive {} {
- .c itemconfigure recvrect -fill "#FFFF00"
-}
-
-proc ConnectionReceiveUp {} {
- .c itemconfigure recvrect -fill "#00D000"
-}
-
-proc ResetGraph {} {
- global GraphPoints
- set GraphPoints(in) {}
- set GraphPoints(out) {}
- set GraphPoints(times) {}
- .graph delete all
- UpdateGraph
-}
-
-proc UpdateGraph {} {
- global GraphPoints Bytes UpdateInterval MeasureTime
- lappend GraphPoints(times) $MeasureTime
- lappend GraphPoints(in) $Bytes(in)
- lappend GraphPoints(out) $Bytes(out)
-
- set w [winfo width .graph]
- set w2 [expr $w/2]
-
- set h [winfo height .graph]
- set toChop [expr [llength $GraphPoints(in)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(in) [lrange $GraphPoints(in) $toChop end]
- }
- set toChop [expr [llength $GraphPoints(out)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(out) [lrange $GraphPoints(out) $toChop end]
- }
- set toChop [expr [llength $GraphPoints(times)] - $w2 - 1]
- if {$toChop > 0} {
- set GraphPoints(times) [lrange $GraphPoints(times) $toChop end]
- }
-
- set prev [lindex $GraphPoints(in) 0]
- set incoords {}
- set outcoords {}
- set inmax 0
- set outmax 0
- foreach thing [lrange $GraphPoints(in) 1 end] {
- set diff [expr $thing - $prev]
- set prev $thing
- lappend incoords $diff
- if {$diff > $inmax} {
- set inmax $diff
- }
- }
-
- set prev [lindex $GraphPoints(out) 0]
- foreach thing [lrange $GraphPoints(out) 1 end] {
- set diff [expr $thing - $prev]
- set prev $thing
- lappend outcoords $diff
- if {$diff > $outmax} {
- set outmax $diff
- }
- }
-
- if {$inmax == 0} { set inmax 1 }
- if {$outmax == 0} { set outmax 1 }
- # Draw the transmit line
- set x 0
- set hh [expr $h-4]
- set scaled {}
- foreach thing $outcoords {
- lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($outmax))]
- incr x
- }
-
- .graph delete all
- if {[llength $scaled] >= 4} {
- eval ".graph create line $scaled -fill #A00000"
- set bits [expr 8.0 * ([lindex $GraphPoints(out) end] - [lindex $GraphPoints(out) 0])]
- set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
- if {$timediff != 0} {
- set bps [Pretty [expr double($bits) / $timediff]]
- .graph create text 2 2 -anchor nw -font fixed -text "$bps"
- }
- }
-
- # Draw the receive line
- set x $w2
- set scaled {}
- foreach thing $incoords {
- lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($inmax))]
- incr x
- }
-
- if {[llength $scaled] >= 4} {
- eval ".graph create line $scaled -fill #00A000"
- set bits [expr 8.0 * ([lindex $GraphPoints(in) end] - [lindex $GraphPoints(in) 0])]
- set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
- if {$timediff != 0} {
- set bps [Pretty [expr double($bits) / $timediff]]
- .graph create text [expr $w2+2] 2 -anchor nw -font fixed -text "$bps"
- }
- }
-}
-
-proc Pretty { n } {
- if {$n < 0} {
- return "***"
- }
- if {$n < 1000} {
- return [format "%.1f" $n]
- }
- set n [expr $n/1000.0]
- if {$n < 1000} {
- return [format "%.1fk" $n]
- }
- set n [expr $n/1000.0]
- if {$n < 1000} {
- return [format "%.1fM" $n]
- }
- set n [expr $n/1000.0]
- return [format "%.1fG" $n]
-}
-
-#***********************************************************************
-# %PROCEDURE: Help
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Opens help page
-#***********************************************************************
-proc Help {} {
- if {![file readable /usr/share/rp-pppoe-gui/tkpppoe.html]} {
- tk_dialog .err Error "Help file '/usr/share/rp-pppoe-gui/tkpppoe.html' is not installed" error 0 OK
- return
- }
- catch { exec /bin/sh -c "netscape -remote 'openURL(/usr/share/rp-pppoe-gui/tkpppoe.html)' || netscape /usr/share/rp-pppoe-gui/tkpppoe.html" > /dev/null 2>/dev/null & }
-}
-
-
-
-#***********************************************************************
-# %PROCEDURE: doLogo
-# %ARGUMENTS:
-# None
-# %RETURNS:
-# Nothing
-# %DESCRIPTION:
-# Does the logo thing
-#***********************************************************************
-proc doLogo {} {
- global AlreadyRunFile ConfigDir
- if {[file exists $AlreadyRunFile]} {
- return
- }
- catch { file mkdir $ConfigDir }
- catch { close [open $AlreadyRunFile "w"] }
- canvas .c -width 374 -height 286 -bg #FFFFCC
- pack .c
- drawLogo .c #FFFFCC
-
- # Funky effect
- .c create text 4 4 -anchor nw -text "Welcome to RP-PPPoE" \
- -fill red -font {-family times -size -24 -weight bold} -tags pppoe
- .c lower pppoe
-
- .c move logo -300 0
-
- update idletasks
-
- for {set i 0} {$i < 15} {incr i} {
- .c move logo 20 0
- update idletasks
- after 25
- }
-
- .c create text 4 28 -anchor nw -text "http://www.roaringpenguin.com" \
- -fill red -font {-family courier -size -14 -weight bold}
- update idletasks
- after 2500
-}
-
-doLogo
-catch { destroy .c }
-
-# Try creating an empty config file if none exists
-if {![file readable $ConnectionInfoFile]} {
- catch { file mkdir $ConfigDir }
- catch {
- set fp [open $ConnectionInfoFile "w"]
- close $fp
- }
-}
-
-CreateMainDialog
diff --git a/mdk-stage1/rp-pppoe/gui/wrapper.c b/mdk-stage1/rp-pppoe/gui/wrapper.c
deleted file mode 100644
index e2b99662a..000000000
--- a/mdk-stage1/rp-pppoe/gui/wrapper.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/* -*-Mode: C;-*- */
-
-/***********************************************************************
-*
-* wrapper.c
-*
-* C wrapper designed to run SUID root for controlling PPPoE connections.
-*
-* Copyright (C) 2001 by Roaring Penguin Software Inc.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#define _SVID_SOURCE 1 /* For putenv */
-#define _POSIX_SOURCE 1 /* For fileno */
-#define _BSD_SOURCE 1 /* For setreuid */
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#define CONN_NAME_LEN 64
-#define LINELEN 512
-
-static char const *adsl_start = ADSL_START_PATH;
-static char const *adsl_stop = ADSL_STOP_PATH;
-static char const *adsl_status = ADSL_STATUS_PATH;
-
-/**********************************************************************
- *%FUNCTION: PathOK
- *%ARGUMENTS:
- * fname -- a file name.
- *%RETURNS:
- * 1 if path to fname is secure; 0 otherwise.
- *%DESCRIPTION:
- * Makes sure ownership/permissions of file and parent directories
- * are safe.
- **********************************************************************/
-static int
-PathOK(char const *fname)
-{
- char path[LINELEN];
- struct stat buf;
- char const *slash;
-
- if (strlen(fname) > LINELEN) {
- fprintf(stderr, "Pathname '%s' too long\n", fname);
- return 0;
- }
-
- /* Must be absolute path */
- if (*fname != '/') {
- fprintf(stderr, "Unsafe path '%s' not absolute\n", fname);
- return 0;
- }
-
- /* Check root directory */
- if (stat("/", &buf) < 0) {
- perror("stat");
- return 0;
- }
- if (buf.st_uid) {
- fprintf(stderr, "SECURITY ALERT: Root directory (/) not owned by root\n");
- return 0;
- }
- if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
- fprintf(stderr, "SECURITY ALERT: Root directory (/) writable by group or other\n");
- return 0;
- }
-
- /* Check each component */
- slash = fname;
-
- while(*slash) {
- slash = strchr(slash+1, '/');
- if (!slash) {
- slash = fname + strlen(fname);
- }
- memcpy(path, fname, slash-fname);
- path[slash-fname] = 0;
- if (stat(path, &buf) < 0) {
- perror("stat");
- return 0;
- }
- if (buf.st_uid) {
- fprintf(stderr, "SECURITY ALERT: '%s' not owned by root\n", path);
- return 0;
- }
-
- if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
- fprintf(stderr, "SECURITY ALERT: '%s' writable by group or other\n",
- path);
- return 0;
- }
- }
- return 1;
-}
-
-/**********************************************************************
- *%FUNCTION: CleanEnvironment
- *%ARGUMENTS:
- * envp -- environment passed to main
- *%RETURNS:
- * Nothing
- *%DESCRIPTION:
- * Deletes all environment variables; makes safe environment
- **********************************************************************/
-static void
-CleanEnvironment(char *envp[])
-{
- envp[0] = NULL;
- putenv("PATH=/bin:/usr/bin:/sbin:/usr/sbin");
-}
-
-/**********************************************************************
- *%FUNCTION: main
- *%ARGUMENTS:
- * argc, argv -- usual suspects
- * Usage: pppoe-wrapper {start|stop|status} {connection_name}
- *%RETURNS:
- * Whatever adsl-start, adsl-stop or adsl-status returns.
- *%DESCRIPTION:
- * Runs adsl-start, adsl-stop or adsl-status on given connection if
- * non-root users are allowed to do it.
- **********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int amRoot;
- char *cp;
- char fname[64+CONN_NAME_LEN];
- char line[LINELEN+1];
- int allowed = 0;
-
- FILE *fp;
-
- extern char **environ;
-
- /* Clean out environment */
- CleanEnvironment(environ);
-
- /* Are we root? */
- amRoot = (getuid() == 0);
-
- /* Validate arguments */
- if (argc != 3) {
- fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
- argv[0]);
- exit(1);
- }
-
- if (strcmp(argv[1], "start") &&
- strcmp(argv[1], "stop") &&
- strcmp(argv[1], "status")) {
- fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
- argv[0]);
- exit(1);
- }
-
- /* Connection name can be at most CONN_NAME_LEN chars; alpha, num, underscore */
- if (strlen(argv[2]) > CONN_NAME_LEN) {
- fprintf(stderr, "%s: Connection name '%s' too long.\n",
- argv[0], argv[2]);
- exit(1);
- }
-
- for (cp = argv[2]; *cp; cp++) {
- if (!strchr("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789_-", *cp)) {
- fprintf(stderr, "%s: Connection name '%s' contains illegal character '%c'\n", argv[0], argv[2], *cp);
- exit(1);
- }
- }
-
- /* Open the connection file */
- sprintf(fname, "/etc/ppp/rp-pppoe-gui/conf.%s", argv[2]);
- /* Check path sanity */
- if (!PathOK(fname)) {
- exit(1);
- }
-
- fp = fopen(fname, "r");
- if (!fp) {
- fprintf(stderr, "%s: Could not open '%s': %s\n",
- argv[0], fname, strerror(errno));
- exit(1);
- }
-
- /* Check if non-root users can control it */
- if (amRoot) {
- allowed = 1;
- } else {
- while (!feof(fp)) {
- if (!fgets(line, LINELEN, fp)) {
- break;
- }
- if (!strcmp(line, "NONROOT=OK\n")) {
- allowed = 1;
- break;
- }
- }
- }
- fclose(fp);
-
- if (!allowed) {
- fprintf(stderr, "%s: Non-root users are not permitted to control connection '%s'\n", argv[0], argv[2]);
- exit(1);
- }
-
- /* Become root with setuid() to defeat is-root checks in shell scripts */
- if (setreuid(0, 0) < 0) {
- perror("setreuid");
- exit(1);
- }
-
- /* It's OK -- do it. */
- if (!strcmp(argv[1], "start")) {
- if (!PathOK(adsl_start)) exit(1);
- execl(adsl_start, "adsl-start", fname, NULL);
- } else if (!strcmp(argv[1], "stop")) {
- if (!PathOK(adsl_stop)) exit(1);
- execl(adsl_stop, "adsl-stop", fname, NULL);
- } else {
- if (!PathOK(adsl_status)) exit(1);
- execl(adsl_status, "adsl-status", fname, NULL);
- }
- fprintf(stderr, "%s: execl: %s\n", argv[0], strerror(errno));
- exit(1);
-}
diff --git a/mdk-stage1/rp-pppoe/man/adsl-connect.8 b/mdk-stage1/rp-pppoe/man/adsl-connect.8
deleted file mode 100644
index 1b34a74e5..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-connect.8
+++ /dev/null
@@ -1,66 +0,0 @@
-.\" $Id$
-.TH ADSL-CONNECT 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-connect \- Shell script to manage a PPPoE link
-
-.SH SYNOPSIS
-.B adsl-connect \fR[\fIconfig_file\fR]
-.P
-.B adsl-connect \fR\fIinterface user\fR [\fIconfig_file\fR]
-
-
-.SH DESCRIPTION
-\fBadsl-connect\fR is a shell script which manages an ADSL connection
-using the Roaring Penguin user-space PPPoE client. If you omit
-\fIconfig_file\fR, the default file \fB/etc/ppp/pppoe.conf\fR is used.
-If you supply \fIinterface\fR and \fIuser\fR, then they override the
-Ethernet interface and user-name settings in the configuration file.
-.P
-Note that normally, you should \fInot\fR invoke \fBadsl-connect\fR
-directly. Instead, use \fBadsl-start\fR to bring up the ADSL connection.
-.P
-\fBadsl-connect\fR first reads a configuration file. It then brings
-up a PPPoE connection. If the connection ever drops, a message is logged
-to syslog, and \fBadsl-connect\fR re-establishes the connection. In addition,
-each time the connection is dropped or cannot be established,
-\fBadsl-connect\fR executes the script \fB/etc/ppp/adsl-lost\fR if it
-exists and is executable.
-
-.P
-The shell script \fBadsl-stop\fR causes \fBadsl-connect\fR to break out
-of its loop, bring the connection down, and exit.
-
-.SH TECHNICAL DETAILS
-\fBadsl-connect\fR uses the following shell variables from the
-configuration file:
-
-.TP
-.B ETH
-The Ethernet interface connected to the ADSL modem (for example, eth0).
-
-.TP
-.B USER
-The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
-
-.TP
-.B PIDFILE
-A file in which to write the process-ID of the adsl-connect process
-(for example, \fB/var/run/pppoe.pid\fR). Two additional files
-($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
-\fBpppd\fR and \fBpppoe\fR processes, respectively.
-
-.P
-By using different configuration files with different PIDFILE
-settings, you can manage multiple PPPoE connections. Just specify the
-configuration file as an argument to \fBadsl-start\fR and
-\fBadsl-stop\fR.
-
-.SH AUTHOR
-\fBadsl-connect\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-stop(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-setup.8 b/mdk-stage1/rp-pppoe/man/adsl-setup.8
deleted file mode 100644
index 9e78fa547..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-setup.8
+++ /dev/null
@@ -1,23 +0,0 @@
-.\" $Id$
-.TH ADSL-SETUP 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-setup \- Shell script to configure Roaring Penguin PPPoE client
-.SH SYNOPSIS
-.B adsl-setup
-
-.SH DESCRIPTION
-\fBadsl-setup\fR is a shell script which prompts you for various pieces
-of information and sets up an /etc/ppp/pppoe.conf configuration script
-for the \fBadsl-start\fR, \fBadsl-stop\fR and \fBadsl-connect\fR scripts.
-
-.SH AUTHOR
-\fBadsl-setup\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8),
-pppoe.conf(5), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-start.8 b/mdk-stage1/rp-pppoe/man/adsl-start.8
deleted file mode 100644
index 87250b381..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-start.8
+++ /dev/null
@@ -1,27 +0,0 @@
-.\" $Id$
-.TH ADSL-START 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-start \- Shell script to bring up a PPPoE link
-.SH SYNOPSIS
-.B adsl-start \fR[\fIconfig_file\fR]
-.P
-.B adsl-start \fR\fIinterface user\fR [\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-start\fR is a shell script which starts the Roaring Penguin
-user-space PPPoE client. If you omit \fIconfig_file\fR, the default
-file \fB/etc/ppp/pppoe.conf\fR is used. If you supply
-\fIinterface\fR and \fIuser\fR, then they override the Ethernet interface
-and user-name settings in the configuration file.
-
-.SH AUTHOR
-\fBadsl-start\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-status.8 b/mdk-stage1/rp-pppoe/man/adsl-status.8
deleted file mode 100644
index 2114d461e..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-status.8
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" $Id$
-.TH ADSL-STATUS 8 "16 March 2000"
-.UC 4
-.SH NAME
-adsl-status \- Shell script to report on status of PPPoE link
-.SH SYNOPSIS
-.B adsl-status \fR[\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-status\fR is a shell script which checks the status of the
-PPPoE link established by the Roaring Penguin user-space PPPoE client.
-If you omit \fIconfig_file\fR, the default file
-\fB/etc/ppp/pppoe.conf\fR is used.
-
-.SH AUTHOR
-\fBadsl-status\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-adsl-setup(8), adsl-stop(8), pppoe-sniff(8), pppoe-relay(8),
-pppoe-server(8)
-
-
diff --git a/mdk-stage1/rp-pppoe/man/adsl-stop.8 b/mdk-stage1/rp-pppoe/man/adsl-stop.8
deleted file mode 100644
index 2ac7fef8e..000000000
--- a/mdk-stage1/rp-pppoe/man/adsl-stop.8
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" $Id$
-.TH ADSL-STOP 8 "21 February 2000"
-.UC 4
-.SH NAME
-adsl-stop \- Shell script to shut down a PPPoE link
-.SH SYNOPSIS
-.B adsl-stop \fR[\fIconfig_file\fR]
-
-.SH DESCRIPTION
-\fBadsl-stop\fR is a shell script which stops the Roaring Penguin
-user-space PPPoE client. If you omit \fIconfig_file\fR, the default
-file \fB/etc/ppp/pppoe.conf\fR is used.
-
-.SH AUTHOR
-\fBadsl-stop\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8), pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-relay.8 b/mdk-stage1/rp-pppoe/man/pppoe-relay.8
deleted file mode 100644
index 5f79b09a1..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-relay.8
+++ /dev/null
@@ -1,124 +0,0 @@
-.\" $Id$
-.TH PPPOE-RELAY 8 "26 January 2001"
-.\""
-.UC 4
-.SH NAME
-pppoe-relay \- user-space PPPoE relay agent.
-.SH SYNOPSIS
-.B pppoe-relay \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-relay\fR is a user-space relay agent for PPPoE
-(Point-to-Point Protocol over Ethernet) for Linux. \fBpppoe-relay\fR
-works in concert with the \fBpppoe\fR client and \fBpppoe-server\fR
-server. See the OPERATION section later in this manual for
-details on how \fBpppoe-relay\fR works.
-
-.SH OPTIONS
-.TP
-.B \-S \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Only PPPoE servers may be connected to
-this interface.
-
-.TP
-.B \-C \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Only PPPoE clients may be connected to
-this interface.
-
-.TP
-.B \-B \fIinterface\fR
-Adds the Ethernet interface \fIinterface\fR to the list of interfaces
-managed by \fBpppoe-relay\fR. Both PPPoE clients and servers may be
-connected to this interface.
-
-.TP
-.B \-n \fInum\fR
-Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
-the default is 5000. \fInum\fR can range from 1 to 65534.
-
-.TP
-.B \-i \fItimeout\fR
-Specifies the session idle timeout. If both peers in a session are idle
-for more than \fItimeout\fR seconds, the session is terminated.
-If \fItimeout\fR is specified as zero, sessions will never be terminated
-because of idleness.
-
-Note that the idle-session expiry routine is never run more frequently than
-every 30 seconds, so the timeout is approximate. The default value for
-\fItimeout\fR is 600 seconds (10 minutes.)
-
-.TP
-.B \-F
-The \fB\-F\fR option causes \fBpppoe-relay\fR \fInot\fR to fork into the
-background; instead, it remains in the foreground.
-
-.TP
-.B \-h
-The \fB\-h\fR option prints a brief usage message and exits.
-
-.SH OPERATION
-
-\fBpppoe-relay\fR listens for incoming PPPoE PADI frames on all interfaces
-specified with \fB-B\fR or \fB-C\fR options. When a PADI frame appears,
-\fBpppoe-relay\fR adds a Relay-Session-ID tag and broadcasts the PADI
-on all interfaces specified with \fB-B\fR or \fB-S\fR options (except the
-interface on which the frame arrived.)
-
-Any PADO frames received are relayed back to the client which sent the
-PADI (assuming they contain valid Relay-Session-ID tags.) Likewise,
-PADR frames from clients are relayed back to the matching access
-concentrator.
-
-When a PADS frame is received, \fBpppoe-relay\fR enters the two peers'
-MAC addresses and session-ID's into a hash table. (The session-ID seen
-by the access concentrator may be different from that seen by the client;
-\fBpppoe-relay\fR must renumber sessions to avoid the possibility of duplicate
-session-ID's.) Whenever either peer sends a session frame, \fBpppoe-relay\fR
-looks up the session entry in the hash table and relays the frame to
-the correct peer.
-
-When a PADT frame is received, \fBpppoe-relay\fR relays it to the peer
-and deletes the session entry from its hash table.
-
-If a client and server crash (or frames are lost), PADT frames may never
-be sent, and \fBpppoe-relay\fR's hash table can fill up with stale sessions.
-Therefore, a session-cleaning routine runs periodically, and removes old
-sessions from the hash table. A session is considered "old" if no traffic
-has been seen within \fItimeout\fR seconds. When a session is deleted because
-of a timeout, a PADT frame is sent to each peer to make certain that they
-are aware the session has been killed.
-
-.SH EXAMPLE INVOCATIONS
-
-.nf
-pppoe-relay -C eth0 -S eth1
-.fi
-
-The example above relays frames between PPPoE clients on the eth0 network
-and PPPoE servers on the eth1 network.
-
-.nf
-pppoe-relay -B eth0 -B eth1
-.fi
-
-This example is a transparent relay -- frames are relayed between any mix
-of clients and servers on the eth0 and eth1 networks.
-
-.nf
-pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
-.fi
-
-This example relays frames between servers on the eth0 network and
-clients on the eth1, eth2 and eth3 networks.
-
-.SH AUTHORS
-\fBpppoe-relay\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-server.8 b/mdk-stage1/rp-pppoe/man/pppoe-server.8
deleted file mode 100644
index aacf11f1f..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-server.8
+++ /dev/null
@@ -1,123 +0,0 @@
-.\" $Id$
-.TH PPPOE-SERVER 8 "3 July 2000"
-.\""
-.UC 4
-.SH NAME
-pppoe-server \- user-space PPPoE server
-.SH SYNOPSIS
-.B pppoe-server \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-server\fR is a user-space server for PPPoE (Point-to-Point Protocol
-over Ethernet) for Linux and other UNIX systems. \fBpppoe-server\fR works in
-concert with the \fBpppoe\fR client to respond to PPPoE discovery packets
-and set up PPPoE sessions.
-
-.SH OPTIONS
-.TP
-.B \-F
-The \fB\-F\fR option causes \fBpppoe-server\fR not to fork and become a
-daemon. The default is to fork and become a daemon.
-
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-before you start \fBpppoe-server\fR, but should \fInot\fR be configured to have
-an IP address.
-
-.TP
-.B \-T \fItimeout\fR
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details.
-
-.TP
-.B \-C \fIac_name\fR
-Specifies which name to report as the access concentrator name. If not
-supplied, the host name is used.
-
-.TP
-.B \-m \fIMSS\fR
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details.
-
-.TP
-.B \-s
-This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
-details. In addition, it causes \fBpppd\fR to be invoked with the
-\fIsync\fR option.
-
-.TP
-.B \-L \fIip\fR
-Sets the local IP address. This is passed to spawned \fBpppd\fR processes.
-If not specified, the default is 10.0.0.1.
-
-.TP
-.B \-R \fIip\fR
-Sets the starting remote IP address. As sessions are established,
-IP addresses are assigned starting from \fIip\fR. \fBpppoe-server\fR
-automatically keeps track of the pool of addresses and passes a
-valid remote IP address to \fBpppd\fR. If not specified, a starting address
-of 10.67.15.1 is used.
-
-.TP
-.B \-N \fInum\fR
-Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
-the default is 64.
-
-.TP
-.B \-p \fIfname\fR
-Reads the specified file \fIfname\fR which is a text file consisting of
-one IP address per line. These IP addresses will be assigned to clients.
-The number of sessions allowed will equal the number of addresses found
-in the file. The \fB\-p\fR option overrides both \fB\-R\fR and \fB\-N\fR.
-
-.TP
-.B \-o \fIoffset\fR
-Instead of numbering PPPoE sessions starting at 1, they will be numbered
-starting at \fIoffset\fR+1. This allows you to run multiple servers on
-a given machine; just make sure that their session numbers do not
-overlap.
-
-.TP
-.B \-f disc:sess
-The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
-and session frames. The types are specified as hexadecimal numbers
-separated by a colon. Standard PPPoE uses frame types 8863:8864.
-\fIYou should not use this option\fR unless you are absolutely sure
-the peer you are dealing with uses non-standard frame types.
-
-.TP
-.B \-h
-The \fB\-h\fR option prints a brief usage message and exits.
-
-.SH OPERATION
-
-\fBpppoe-server\fR listens for incoming PPPoE discovery packets. When
-a session is established, it spawns a \fBpppd\fR process. The following
-options are passed to \fBpppd\fR:
-
-.nf
-nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp
-default-asyncmap
-.fi
-
-In addition, the local and remote IP address are set based on the
-\fB\-L\fR and \fB\-R\fR options. The \fBpty\fR option is supplied along
-with a \fBpppoe\fR command to initiate the PPPoE session. Finally,
-additional \fBpppd\fR options can be placed in the file
-\fB/etc/ppp/pppoe-server-options\fR (which must exist, even if it is just
-empty!)
-
-Note that \fBpppoe-server\fR is meant mainly for testing PPPoE clients.
-It is \fInot\fR a high-performance server meant for production use.
-
-.SH AUTHORS
-\fBpppoe-server\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-sniff.8 b/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
deleted file mode 100644
index 431830a22..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
+++ /dev/null
@@ -1,77 +0,0 @@
-.\" $Id$
-.TH PPPOE-SNIFF 8 "3 July 2000"
-.\""
-.UC 4
-.SH NAME
-pppoe-sniff \- examine network for non-standard PPPoE frames
-.SH SYNOPSIS
-.B pppoe-sniff \fR[\fIoptions\fR]
-
-.SH DESCRIPTION
-\fBpppoe-sniff\fR listens for likely-looking PPPoE PADR and session frames
-and deduces extra options required for \fBpppoe(8)\fR to work.
-
-Some DSL providers seem to use non-standard frame types for PPPoE frames,
-and/or require a certain value in the Service-Name field. It is often
-easier to sniff those values from a machine which can successfully connect
-rather than try to pry them out of the DSL provider.
-
-To use \fBpppoe-sniff\fR, you need two computers, a DSL modem and
-an Ethernet hub (\fInot\fR an Ethernet switch.)
-
-If the DSL modem normally connects directly to your computer's
-Ethernet card, connect it to the "uplink" port on the Ethernet hub.
-Plug two computers into normal ports on the hub. On one computer, run
-whatever software the DSL provider gave you on whatever operating
-system the DSL provider supports. On the other computer, run Linux and
-log in as root.
-
-On the Linux machine, put the Ethernet interface into promiscuous mode
-and start \fBpppoe-sniff\fR. If the ethernet interface is \fIeth0\fR,
-for example, type these commands:
-
-.nf
- ifconfig eth0 promisc
- pppoe-sniff -I eth0
-.fi
-
-On the other machine, start your DSL connection as usual. After a short
-time, \fBpppoe-sniff\fR should print recommendations for the value
-of \fBPPPOE_EXTRA\fR. Set this value in \fB/etc/ppp/pppoe.conf\fR.
-If \fBpppoe-sniff\fR indicates that something special is required in
-\fBPPPOE_EXTRA\fR, please e-mail this to \fBpppoe@roaringpenguin.com\fR
-along with the name of your ISP and the manufacturer and model number of
-your DSL modem. This information will be collated and provided on the
-PPPoE web page for users who do not have two computers.
-
-After \fBpppoe-sniff\fR finishes (or you stop it if it seems hung),
-remember to turn off promiscuous mode:
-
-.nf
- ifconfig eth0 -promisc
-.fi
-
-.SH OPTIONS
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-and in promiscuous mode before you start \fBpppoe-sniff\fR.
-
-.TP
-.B \-V
-The \fB\-V\fR option causes \fBpppoe-sniff\fR to print its version number and
-exit.
-
-.SH BUGS
-\fBpppoe-sniff\fR only works on Linux.
-
-.SH AUTHORS
-\fBpppoe-sniff\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
-pppoe(8), adsl-setup(8), adsl-status(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.8 b/mdk-stage1/rp-pppoe/man/pppoe.8
deleted file mode 100644
index 999c3d2ed..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe.8
+++ /dev/null
@@ -1,236 +0,0 @@
-.\" $Id$
-.TH PPPOE 8 "3 July 2000"
-.UC 4
-.SH NAME
-pppoe \- user-space PPPoE client.
-.SH SYNOPSIS
-.B pppd pty 'pppoe \fR[\fIpppoe_options\fR]\fB' \fR[\fIpppd_options\fR]
-.P
-.B pppoe -A \fR[\fIpppoe_options\fR]
-.SH DESCRIPTION
-\fBpppoe\fR is a user-space client for PPPoE (Point-to-Point Protocol
-over Ethernet) for Linux and other UNIX systems. \fBpppoe\fR works in
-concert with the \fBpppd\fR PPP daemon to provide a PPP connection
-over Ethernet, as is used by many ADSL service providers.
-
-.SH OPTIONS
-.TP
-.B \-I \fIinterface\fR
-The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
-it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
-before you start \fBpppoe\fR, but should \fInot\fR be configured to have
-an IP address.
-
-.TP
-.B \-T \fItimeout\fR
-The \fB\-T\fR option causes \fBpppoe\fR to exit if no session traffic
-is detected for \fItimeout\fR seconds. I recommend that you use this
-option as an extra safety measure, but if you do, you should make sure
-that PPP generates enough traffic so the timeout will normally not be
-triggered. The best way to do this is to use the
-\fIlcp-echo-interval\fR option to \fBpppd\fR. You should set the
-PPPoE timeout to be about four times the LCP echo interval.
-
-.TP
-.B \-D \fIfile_name\fR
-The \fB\-D\fR option causes every packet to be dumped to the specified
-\fIfile_name\fR. This is intended for debugging only; it produces huge
-amounts of output and greatly reduces performance.
-
-.TP
-.B \-V
-The \fB\-V\fR option causes \fBpppoe\fR to print its version number and
-exit.
-
-.TP
-.B \-A
-The \fB\-A\fR option causes \fBpppoe\fR to send a PADI packet and then print
-the names of access concentrators in each PADO packet it receives. Do not
-use this option in conjunction with \fBpppd\fR; the \fB\-A\fR option is
-meant to be used interactively to give interesting information about the
-access concentrator.
-
-.TP
-.B \-S \fIservice_name\fR
-Specifies the desired service name. \fBpppoe\fR will only initiate sessions
-with access concentrators which can provide the specified service. In
-most cases, you should \fInot\fR specify this option. Use it only if you
-know that there are multiple access concentrators or know that you need a
-specific service name.
-
-.TP
-.B \-C \fIac_name\fR
-Specifies the desired access concentrator name. \fBpppoe\fR will only
-initiate sessions with the specified access concentrator. In
-most cases, you should \fInot\fR specify this option. Use it only if you
-know that there are multiple access concentrators. If both the
-\fB\-S\fR and \fB\-C\fR options are specified, they must \fIboth\fR match
-for \fBpppoe\fR to initiate a session.
-
-.TP
-.B \-U
-Causes \fBpppoe\fR to use the Host-Uniq tag in its discovery packets. This
-lets you run multiple \fBpppoe\fR daemons without having their discovery
-packets interfere with one another. You must supply this option to
-\fIall\fR \fBpppoe\fR daemons if you intend to run multiple daemons
-simultaneously.
-
-.TP
-.B \-s
-Causes \fBpppoe\fR to use \fIsynchronous\fR PPP encapsulation. If you
-use this option, then you \fImust\fR use the \fBsync\fR option with
-\fBpppd\fR. You are encouraged to use this option if it works, because
-it greatly reduces the CPU overhead of \fBpppoe\fR. However, it
-MAY be unreliable on slow machines -- there is a race condition between
-pppd writing data and pppoe reading it. For this reason, the default
-setting is asynchronous. If you encounter bugs or crashes with Synchronous
-PPP, turn it off -- don't e-mail me for support!
-
-.TP
-.B \-m \fIMSS\fR
-Causes \fBpppoe\fR to \fIclamp\fR the TCP maximum segment size at the specified
-value. Because of PPPoE overhead, the maximum segment size for PPPoE is
-smaller than for normal Ethernet encapsulation. This could cause problems
-for machines on a LAN behind a gateway using PPPoE. If you have a LAN
-behind a gateway, and the gateway connects to the Internet using PPPoE,
-you are strongly recommended to use a \fB\-m 1412\fR option. This avoids
-having to set the MTU on all the hosts on the LAN.
-
-.TP
-.B \-p \fIfile\fR
-Causes \fBpppoe\fR to write its process-ID to the specified file. This
-can be used to locate and kill \fBpppoe\fR processes.
-
-.TP
-.B \-e \fIsess:mac\fR
-Causes \fBpppoe\fR to skip the discovery phase and move directly to the
-session phase. The session is given by \fIsess\fR and the MAC address of
-the peer by \fImac\fR. This mode is \fInot\fR meant for normal use; it
-is designed only for \fBpppoe-server\fR(8).
-
-.TP
-.B \-n
-Causes \fBpppoe\fR not to open a discovery socket. This mode is
-\fInot\fR meant for normal use; it is designed only for
-\fBpppoe-server\fR(8).
-
-.TP
-.B \-k
-Causes \fBpppoe\fR to terminate an existing session by sending a PADT frame,
-and then exit. You must use the \fB\-e\fR option in conjunction with this
-option to specify the session to kill. This may be useful for killing
-sessions when a buggy peer does not realize the session has ended.
-
-.TP
-.B \-d
-Causes \fBpppoe\fR to perform discovery and then exit, after printing
-session information to standard output. The session information is printed
-in exactly the format expected by the \fB\-e\fR option. This option lets
-you initiate a PPPoE discovery, perform some other work, and then start
-the actual PPP session. \fIBe careful\fR; if you use this option in a loop,
-you can create many sessions, which may annoy your peer.
-
-.TP
-.B \-f disc:sess
-The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
-and session frames. The types are specified as hexadecimal numbers
-separated by a colon. Standard PPPoE uses frame types 8863:8864.
-\fIYou should not use this option\fR unless you are absolutely sure
-the peer you are dealing with uses non-standard frame types. If your
-ISP uses non-standard frame types, complain!
-
-.TP
-.B \-h
-The \fB\-h\fR option causes \fBpppoe\fR to print usage information and
-exit.
-
-.SH PPPOE BACKGROUND
-
-PPPoE (Point-to-Point Protocol over Ethernet) is described in RFC 2516
-and is a protocol which allows the session abstraction to be maintained
-over bridged Ethernet networks.
-
-PPPoE works by encapsulating PPP frames in Ethernet frames. The protocol
-has two distinct stages: The \fIdiscovery\fR and the \fIsession\fR stage.
-
-In the discovery stage, the host broadcasts a special PADI (PPPoE
-Active Discovery Initiation) frame to discover any \fIaccess
-concentrators\fR. The access concentrators (typically, only one
-access concentrator) reply with PADO (PPPoE Active Discovery Offer)
-packets, announcing their presence and the services they offer. The
-host picks one of the access concentrators and transmits a PADR (PPPoE
-Active Discovery Request) packet, asking for a session. The access
-concentrator replies with a PADS (PPPoE Active Discovery
-Session-Confirmation) packet. The protocol then moves to the session stage.
-
-In the session stage, the host and access concentrator exchange PPP frames
-embedded in Ethernet frames. The normal Ethernet MTU is 1500 bytes, but
-the PPPoE overhead plus two bytes of overhead for the encapsulated PPP
-frame mean that the MTU of the PPP interface is at most 1492 bytes.
-This causes \fIall kinds of problems\fR if you are using a Linux machine
-as a firewall and interfaces behind the firewall have an MTU greater than
-1492. In fact, to be safe, I recommend setting the MTU of machines
-behind the firewall to 1412, to allow for worst-case TCP and IP options
-in their respective headers.
-
-Normally, PPP uses the Link Control Protocol (LCP) to shut down a PPP
-link. However, the PPPoE specification allows the link to be shut down
-with a special PADT (PPPoE Active Discovery Terminate) packet. This client
-recognizes this packet and will correctly terminate if a terminate request
-is received for the PPP session.
-
-.SH DESIGN GOALS
-
-My design goals for this PPPoE client were as follows, in descending order
-of importance:
-
-.TP
-.B o
-It must work.
-
-.TP
-.B o
-It must be a user-space program and not a kernel patch.
-
-.TP
-.B o
-The code must be easy to read and maintain.
-
-.TP
-.B o
-It must be fully compliant with RFC 2516, the proposed PPPoE standard.
-
-.TP
-.B o
-It must never hang up forever -- if the connection is broken, it must
-detect this and exit, allowing a wrapper script to restart the connection.
-
-.TP
-.B o
-It must be fairly efficient.
-
-.P
-I believe I have achieved all of these goals, but (of course) am open
-to suggestions, patches and ideas. See my home page,
-http://www.roaringpenguin.com, for contact information.
-
-.SH NOTES
-
-For best results, you must give \fBpppd\fR an mtu option of
-1492. I have observed problems with excessively-large frames
-unless I set this option. Also, if \fBpppoe\fR is running on a firewall
-machine, all machines behind the firewall should have MTU's of 1412.
-
-If you have problems, check your system logs. \fBpppoe\fR logs interesting
-things to syslog. You may have to turn on logging of \fIdebug\fR-level
-messages for complete diagnosis.
-
-.SH AUTHORS
-\fBpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>,
-with much inspiration from an earlier version by Luke Stras.
-
-The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
-
-.SH SEE ALSO
-adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
-
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.conf.5 b/mdk-stage1/rp-pppoe/man/pppoe.conf.5
deleted file mode 100644
index 731fd98d4..000000000
--- a/mdk-stage1/rp-pppoe/man/pppoe.conf.5
+++ /dev/null
@@ -1,168 +0,0 @@
-.\" $Id$
-.\""
-.TH PPPOE.CONF 5 "21 February 2000"
-.UC 4
-.SH NAME
-pppoe.conf \- Configuration file used by \fBadsl-start\fR(8),
-\fBadsl-stop\fR(8), \fBadsl-status(8)\fR and \fBadsl-connect\fR(8).
-
-.SH DESCRIPTION
-\fB/etc/ppp/pppoe.conf\fR is a shell script which contains configuration
-information for Roaring Penguin's ADSL scripts. Note that \fBpppoe.conf\fR
-is used only by the various adsl-* shell scripts, not by \fBpppoe\fR
-itself.
-
-\fBpppoe.conf\fR consists of a sequence of shell variable assignments.
-The variables and their meanings are:
-
-.TP
-.B ETH
-The Ethernet interface connected to the ADSL modem (for example, eth0).
-
-.TP
-.B USER
-The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
-
-.TP
-.B SERVICENAME
-If this is not blank, then it is passed with the \fB\-S\fR option to
-\fBpppoe\fR. It specifies a service name to ask for. Usually, you
-should leave it blank.
-
-.TP
-.B ACNAME
-If this is not blank, then it is passed with the \fB\-C\fR option to
-\fBpppoe\fR. It specifies the name of the access concentrator to connect
-to. Usually, you should leave it blank.
-
-.TP
-.B DEMAND
-If set to a number, the link is activated on demand and brought down
-after after \fBDEMAND\fR seconds. If set to \fBno\fR, the link is kept
-up all the time rather than being activated on demand.
-
-.TP
-.B DNSTYPE
-One of \fBNOCHANGE\fR, \fBSPECIFY\fR or \fBSERVER\fR. If
-set to NOCHANGE, \fBadsl-connect\fR will not adjust the DNS setup in
-any way. If set to SPECIFY, it will re-write /etc/resolv.conf with
-the values of DNS1 and DNS2. If set to \fBSERVER\fR, it will
-supply the \fIusepeerdns\fR option to \fBpppd\fR, and make a symlink
-from /etc/resolv.conf to /etc/ppp/resolv.conf.
-
-.TP
-.B DNS1, DNS2
-IP addresses of DNS servers if you use DNSTYPE=SPECIFY.
-
-.TP
-.B NONROOT
-If the line \fBNONROOT=OK\fR (exactly like that; no whitespace or comments)
-appears in the configuration file, then \fBpppoe-wrapper\fR will allow
-non-root users to bring the conneciton up or down. The wrapper is installed
-only if you installed the rp-pppoe-gui package.
-
-.TP
-.B USEPEERDNS
-If set to "yes", then \fBadsl-connect\fR will supply the \fIusepeerdns\fR
-option to \fBpppd\fR, which causes it to obtain DNS server addresses
-from the peer and create a new \fB/etc/resolv.conf\fR file. Otherwise,
-\fBadsl-connect\fR will not supply this option, and \fBpppd\fR will not
-modify \fB/etc/resolv.conf\fR.
-
-.TP
-.B CONNECT_POLL
-How often (in seconds) \fBadsl-start\fR should check to see if a new PPP
-interface has come up. If this is set to 0, the \fBadsl-start\fR simply
-initiates the PPP session, but does not wait to see if it comes up
-successfully.
-
-.TP
-.B CONNECT_TIMEOUT
-How long (in seconds) \fBadsl-start\fR should wait for a new PPP interface
-to come up before concluding that \fBadsl-connect\fR has failed and killing
-the session.
-
-.TP
-.B PING
-A character which is echoed every \fBCONNECT_POLL\fR seconds while
-\fBadsl-start\fR is waiting for the PPP interface to come up.
-
-.TP
-.B FORCEPING
-A character which is echoed every \fBCONNECT_POLL\fR seconds while
-\fBadsl-start\fR is waiting for the PPP interface to come up. Similar
-to \fBPING\fR, but the character is echoed even if \fBadsl-start\fR's
-standard output is not a tty.
-
-.TP
-.B PIDFILE
-A file in which to write the process-ID of the adsl-connect process
-(for example, \fB/var/run/pppoe.pid\fR). Two additional files
-($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
-\fBpppd\fR and \fBpppoe\fR processes, respectively.
-
-.TP
-.B SYNCHRONOUS
-An indication of whether or not to use synchronous PPP (\fByes\fR or
-\fBno\fR). Synchronous PPP is safe on Linux machines with the n_hdlc
-line discipline. (If you have a file called "n_hdlc.o" in your
-modules directory, you have the line discipline.) It is \fInot
-recommended\fR on other machines or on Linux machines without the
-n_hdlc line discipline due to some known and unsolveable race
-conditions in a user-mode client.
-
-.TP
-.B CLAMPMSS
-The value at which to "clamp" the advertised MSS for TCP sessions. The
-default of 1412 should be fine.
-
-.TP
-.B LCP_INTERVAL
-How often (in seconds) \fBpppd\fR sends out LCP echo-request packets.
-
-.TP
-.B LCP_FAILURE
-How many unanswered LCP echo-requests must occur before \fBpppd\fR
-concludes the link is dead.
-
-.TP
-.B PPPOE_TIMEOUT
-If this many seconds elapse without any activity seen by \fBpppoe\fR,
-then \fBpppoe\fR exits.
-
-.TP
-.B FIREWALL
-One of NONE, STANDALONE or MASQUERADE. If NONE, then \fBadsl-connect\fR does
-not add any firewall rules. If STANDALONE, then it clears existing firewall
-rules and sets up basic rules for a standalone machine. If MASQUERADE, then
-it clears existing firewall rules and sets up basic rules for an Internet
-gateway. If you run services on your machine, these simple firewall scripts
-are inadequate; you'll have to make your own firewall rules and set FIREWALL
-to NONE.
-
-.TP
-.B PPPOE_EXTRA
-Any extra arguments to pass to \fBpppoe\fR
-
-.TP
-.B PPPD_EXTRA
-Any extra arguments to pass to \fBpppd\fR
-
-.TP
-.B LINUX_PLUGIN
-If non-blank, the full path of the Linux kernel-mode PPPoE plugin
-(typically \fB/etc/ppp/plugins/rp-pppoe.so\fR.) This forces
-\fBadsl-connect\fR to use kernel-mode PPPoE on Linux 2.4.x systems.
-This code is experimental and unsupported. Use of the plugin causes
-\fBadsl-connect\fR to ignore CLAMPMSS, PPPOE_EXTRA, SYNCHRONOUS and
-PPPOE_TIMEOUT.
-
-.P
-By using different configuration files with different PIDFILE
-settings, you can manage multiple PPPoE connections. Just specify the
-configuration file as an argument to \fBadsl-start\fR and \fBadsl-stop\fR.
-
-.SH SEE ALSO
-pppoe(8), adsl-connect(8), adsl-start(8), adsl-stop(8), pppd(8), adsl-setup(8),
-pppoe-wrapper(8)
-
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec b/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
deleted file mode 100644
index 3222a602e..000000000
--- a/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
+++ /dev/null
@@ -1,98 +0,0 @@
-Summary: PPP Over Ethernet (xDSL support)
-Name: rp-pppoe-gui
-Version: 3.0
-%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
-Release: 1mdk
-%else
-Release: 1
-%endif
-Copyright: GPL
-Group: System Environment/Daemons
-Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
-Url: http://www.roaringpenguin.com/pppoe/
-Packager: David F. Skoll <dfs@roaringpenguin.com>
-BuildRoot: /tmp/pppoe-build
-Vendor: Roaring Penguin Software Inc.
-Requires: ppp >= 2.3.7
-Requires: rp-pppoe >= 3.0
-
-%description
-This is a graphical wrapper around the rp-pppoe PPPoE client. PPPoE is
-a protocol used by many DSL Internet Service Providers.
-
-%prep
-umask 022
-mkdir -p $RPM_BUILD_ROOT
-cd $RPM_BUILD_ROOT
-rm -rf $RPM_BUILD_ROOT/rp-pppoe-%{version}
-zcat $RPM_SOURCE_DIR/rp-pppoe-%{version}.tar.gz | tar xvf -
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/src
-./configure --mandir=%{_mandir}
-
-%build
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
-make
-
-%install
-cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
-make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-# Install entry in KDE menu
-if test -n "$KDEDIR" ; then
- mkdir -p "$KDEDIR/share/applnk/Internet"
- cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-# KDE Config File
-[KDE Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-# Install entry in GNOME menus
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- mkdir -p "$GNOMEDIR/gnome/apps/Internet"
-cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-[Desktop Entry]
-Name=TkPPPoE
-Comment=Start/Stop ADSL connections
-Exec=tkpppoe
-Terminal=0
-Type=Application
-EOF
-fi
-
-%postun
-# Remove KDE menu entry
-if test -n "$KDEDIR" ; then
- rm -f "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
-fi
-
-# Remove GNOME menu entry
-GNOMEDIR=`gnome-config --datadir 2>/dev/null`
-if test -n "$GNOMEDIR" ; then
- rm -f "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
-fi
-
-%files
-%defattr(-,root,root)
-%dir /etc/ppp/rp-pppoe-gui
-/usr/sbin/pppoe-wrapper
-/usr/bin/tkpppoe
-%{_mandir}/man1/tkpppoe.1*
-%{_mandir}/man1/pppoe-wrapper.1*
-/usr/share/rp-pppoe-gui/tkpppoe.html
-/usr/share/rp-pppoe-gui/mainwin-busy.png
-/usr/share/rp-pppoe-gui/mainwin-nonroot.png
-/usr/share/rp-pppoe-gui/mainwin.png
-/usr/share/rp-pppoe-gui/props-advanced.png
-/usr/share/rp-pppoe-gui/props-basic.png
-/usr/share/rp-pppoe-gui/props-nic.png
-/usr/share/rp-pppoe-gui/props-options.png
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe.spec b/mdk-stage1/rp-pppoe/rp-pppoe.spec
deleted file mode 100644
index 622e3bb80..000000000
--- a/mdk-stage1/rp-pppoe/rp-pppoe.spec
+++ /dev/null
@@ -1,71 +0,0 @@
-Summary: PPP Over Ethernet (xDSL support)
-Name: rp-pppoe
-Version: 3.0
-%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
-Release: 1mdk
-%else
-Release: 1
-%endif
-Copyright: GPL
-Group: System Environment/Daemons
-Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
-Url: http://www.roaringpenguin.com/pppoe/
-Packager: David F. Skoll <dfs@roaringpenguin.com>
-BuildRoot: /tmp/pppoe-build
-Vendor: Roaring Penguin Software Inc.
-Requires: ppp >= 2.3.7
-
-%description
-PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
-many ADSL Internet Service Providers. Roaring Penguin has a free
-client for Linux systems to connect to PPPoE service providers.
-
-The client is a user-mode program and does not require any kernel
-modifications. It is fully compliant with RFC 2516, the official PPPoE
-specification.
-
-%prep
-%setup
-cd src
-./configure --mandir=%{_mandir}
-
-%build
-cd src
-make
-
-%install
-cd src
-make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README
-%config /etc/ppp/pppoe.conf
-%config /etc/ppp/pppoe-server-options
-%config /etc/ppp/firewall-masq
-%config /etc/ppp/firewall-standalone
-/etc/ppp/plugins/*
-/usr/sbin/pppoe
-/usr/sbin/pppoe-server
-/usr/sbin/pppoe-sniff
-/usr/sbin/pppoe-relay
-/usr/sbin/adsl-connect
-/usr/sbin/adsl-start
-/usr/sbin/adsl-stop
-/usr/sbin/adsl-setup
-/usr/sbin/adsl-status
-%{_mandir}/man5/pppoe.conf.5*
-%{_mandir}/man8/pppoe.8*
-%{_mandir}/man8/pppoe-server.8*
-%{_mandir}/man8/pppoe-relay.8*
-%{_mandir}/man8/pppoe-sniff.8*
-%{_mandir}/man8/adsl-connect.8*
-%{_mandir}/man8/adsl-start.8*
-%{_mandir}/man8/adsl-stop.8*
-%{_mandir}/man8/adsl-status.8*
-%{_mandir}/man8/adsl-setup.8*
-/etc/rc.d/init.d/adsl
-
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-connect.in b/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
deleted file mode 100755
index 85dfb3d8d..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-connect
-#
-# Shell script to connect to an ADSL provider using PPPoE
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-connect [config_file]
-# adsl-connect interface user [config_file]
-# Second form overrides USER and ETH from config file.
-# If config_file is omitted, defaults to /etc//ppp/pppoe.conf
-#
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-localstatedir=/var
-
-# Paths to programs
-IFCONFIG=/sbin/ifconfig
-PPPD=@PPPD@
-SETSID=@SETSID@
-PPPOE=@sbindir@/pppoe
-LOGGER="/usr/bin/logger -t `basename $0`"
-
-# Must be root
-if test "`@ID@ -u`" != 0 ; then
- echo "$0: You must be root to run this script" >& 2
- exit 1
-fi
-
-if test "$SETSID" != "" -a ! -x "$SETSID"; then
- SETSID=""
-fi
-
-CONFIG=/etc//ppp/pppoe.conf
-USER=""
-ETH=""
-
-# Sort out command-line arguments
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
- 3)
- CONFIG="$3"
- ;;
-esac
-
-if test ! -f "$CONFIG" -o ! -r "$CONFIG" ; then
- echo "$0: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-
-# Check for command-line overriding of ETH and USER
-case "$#" in
- 2|3)
- ETH="$1"
- USER="$2"
- ;;
-esac
-
-# Check that config file is sane
-if test "$USER" = "" ; then
- echo "$0: Check '$CONFIG' -- no setting for USER" >& 2
- exit 1
-fi
-if test "$ETH" = "" ; then
- echo "$0: Check '$CONFIG' -- no setting for ETH" >& 2
- exit 1
-fi
-
-PPPD_PID=0
-
-# Catch common error
-if test "$DEBUG" = "1" ; then
- echo "*** If you want to use DEBUG, invoke adsl-start, not adsl-connect."
- exit 1
-fi
-
-if test "$DEBUG" != "" ; then
- if test "$LINUX_PLUGIN" != "" ; then
- echo "Cannot use DEBUG mode and LINUX_PLUGIN at the same time."
- echo "Kernel-mode PPPoE is experimental and unsupported."
- exit 1
- fi
- echo "* The following section identifies your Ethernet interface" >> $DEBUG
- echo "* and user name. Some ISP's need 'username'; others" >> $DEBUG
- echo "* need 'username@isp.com'. Try both" >> $DEBUG
- echo "ETH=$ETH; USER=$USER" >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
-fi
-
-# MTU of Ethernet card attached to modem MUST be 1500. This apparently
-# fails on some *BSD's, so we'll only do it under Linux
-
-if test `uname -s` = Linux ; then
- $IFCONFIG $ETH up mtu 1500
- # For 2.4 kernels. Will fail on 2.2.x, but who cares?
- modprobe ppp_generic > /dev/null 2>&1
- modprobe ppp_async > /dev/null 2>&1
- modprobe ppp_synctty > /dev/null 2>&1
- if test -n "$LINUX_PLUGIN" ; then
- modprobe pppox > /dev/null 2>&1
- modprobe pppoe > /dev/null 2>&1
- fi
-fi
-
-if test "$SYNCHRONOUS" = "yes" ; then
- PPPOE_SYNC=-s
- PPPD_SYNC=sync
- # Increase the chances of it working on Linux...
- if test `uname -s` = Linux ; then
- modprobe n_hdlc > /dev/null 2>&1
- fi
-else
- PPPOE_SYNC=""
- PPPD_SYNC=""
-fi
-
-if test -n "$ACNAME" ; then
- ACNAME="-C $ACNAME"
-fi
-
-if test -n "$SERVICENAME" ; then
- SERVICENAME="-S $SERVICENAME"
-fi
-
-if test "$CLAMPMSS" = "no" ; then
- CLAMPMSS=""
-else
- CLAMPMSS="-m $CLAMPMSS"
-fi
-
-# If DNSTYPE is SERVER, we must use "usepeerdns" option to pppd.
-if test "$DNSTYPE" = "SERVER" ; then
- USEPEERDNS=yes
-fi
-
-if test "$USEPEERDNS" = "yes" ; then
- USEPEERDNS="usepeerdns"
-else
- USEPEERDNS=""
-fi
-
-# Backward config file compatibility
-if test "$DEMAND" = "" ; then
- DEMAND=no
-fi
-
-if test "$DEMAND" = "no" ; then
- DEMAND=""
-else
- DEMAND="demand persist idle $DEMAND 10.112.112.112:10.112.112.113 ipcp-accept-remote ipcp-accept-local connect true noipdefault ktune"
-fi
-
-case "$FIREWALL" in
- STANDALONE)
- . /etc/ppp/firewall-standalone
- ;;
- MASQUERADE)
- . /etc/ppp/firewall-masq
- ;;
-esac
-
-# If we're using kernel-mode PPPoE on Linux...
-if test "$LINUX_PLUGIN" != "" ; then
- PLUGIN_OPTS="plugin $LINUX_PLUGIN $ETH"
- modprobe pppoe > /dev/null 2>&1
-fi
-
-# Standard PPP options we always use
-PPP_STD_OPTIONS="$PLUGIN_OPTS noipdefault noauth default-asyncmap defaultroute hide-password nodetach $USEPEERDNS local mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA"
-
-# Jigger DNS if required...
-if test "$DNSTYPE" = "SERVER" ; then
- # Sorry, dude...
- rm -f /etc/resolv.conf
- ln -s /etc/ppp/resolv.conf /etc/resolv.conf
-elif test "$DNSTYPE" = "SPECIFY" ; then
- # Sorry, dude...
- rm -f /etc/resolv.conf
- echo "nameserver $DNS1" > /etc/resolv.conf
- if test -n "$DNS2" ; then
- echo "nameserver $DNS2" >> /etc/resolv.conf
- fi
-fi
-
-# PPPoE invocation
-PPPOE_CMD="$PPPOE -p $PPPOE_PIDFILE -I $ETH -T $PPPOE_TIMEOUT -U $PPPOE_SYNC $CLAMPMSS $ACNAME $SERVICENAME $PPPOE_EXTRA"
-if test "$DEBUG" != "" ; then
- if test "$DEMAND" != "" ; then
- echo "(Turning off DEMAND for debugging purposes)"
- DEMAND=""
- fi
- echo "* The following section shows the pppd command we will invoke" >> $DEBUG
- echo "pppd invocation" >> $DEBUG
- echo "$SETSID $PPPD pty '$PPPOE_CMD' $PPP_STD_OPTIONS $PPPD_SYNC debug" >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
- $SETSID $PPPD pty "$PPPOE_CMD -D $DEBUG-0" \
- $PPP_STD_OPTIONS \
- $PPPD_SYNC \
- debug >> $DEBUG 2>&1
- echo "---------------------------------------------" >> $DEBUG
- echo "* The following section is an extract from your log." >> $DEBUG
- echo "* Look for error messages from pppd, such as" >> $DEBUG
- echo "* a lack of kernel support for PPP, authentication failure" >> $DEBUG
- echo "* etc." >> $DEBUG
- echo "Extract from /var/log/messages" >> $DEBUG
- grep 'ppp' /var/log/messages | tail -150 >> $DEBUG
- date >> $DEBUG
- echo "---------------------------------------------" >> $DEBUG
- echo "* The following section is a dump of the packets" >> $DEBUG
- echo "* sent and received by rp-pppoe. If you don't see" >> $DEBUG
- echo "* any output, it's an Ethernet driver problem. If you only" >> $DEBUG
- echo "* see three PADI packets and nothing else, check your cables" >> $DEBUG
- echo "* and modem. Make sure the modem lights flash when you try" >> $DEBUG
- echo "* to connect. Check that your Ethernet card is in" >> $DEBUG
- echo "* half-duplex, 10Mb/s mode. If all else fails," >> $DEBUG
- echo "* try using pppoe-sniff." >> $DEBUG
- echo "rp-pppoe debugging dump" >> $DEBUG
- cat $DEBUG-0 >> $DEBUG
- rm -f $DEBUG-0
- for i in 1 2 3 4 5 6 7 8 9 10 ; do
- echo ""
- echo ""
- echo ""
- done
- echo "*** Finished debugging run. Please review the file"
- echo "*** '$DEBUG' and try to"
- echo "*** figure out what is going on."
- echo "***"
- echo "*** Unfortunately, we can NO LONGER accept debugging"
- echo "*** output for analysis. Please do not send this to"
- echo "*** Roaring Penguin; it is too time-consuming for"
- echo "*** us to deal with all the analyses we have been sent."
- exit 0
-fi
-
-echo $$ > $PIDFILE
-
-while [ true ] ; do
- if test "$LINUX_PLUGIN" != "" ; then
- $SETSID $PPPD $PPP_STD_OPTIONS $DEMAND &
- echo "$!" > $PPPD_PIDFILE
- else
- $SETSID $PPPD pty "$PPPOE_CMD" \
- $PPP_STD_OPTIONS \
- $DEMAND \
- $PPPD_SYNC &
- echo "$!" > $PPPD_PIDFILE
- fi
- wait
-
- # Run /etc/ppp/adsl-lost if it exists
- test -x /etc/ppp/adsl-lost && /etc/ppp/adsl-lost
-
- # Re-establish the connection
- $LOGGER -p daemon.notice \
- "ADSL connection lost; attempting re-connection."
-
- # Wait a bit in case a problem causes tons of log messages :-)
- sleep 5
-done
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
deleted file mode 100755
index 936f5fba7..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-# Modifed to work with SuSE 6.4 linux by Gary Cameron.
-#
-# Source function library.
-#. /etc/rc.d/init.d/functions # For red hat?
-. /etc/rc.config # For SuSE, enables setting from /etc/rc.config
-
-#Tweak this
-restart_time=120
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-
-test "$ADSL_START" = "yes" || exit 0
-
-# The echo return value for success (defined in /etc/rc.config).
-return=$rc_done
-case "$1" in
- start)
- echo -n "Bringing up ADSL link"
- $START > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
- ;;
-
- stop)
- echo -n "Shutting down ADSL link"
- $STOP > /dev/null 2>&1 || return=$rc_failed
- echo -e "$return"
- ;;
-
- restart)
- $0 stop
- echo "Waiting" $restart_time "seconds for the host to reset itself"
- sleep $restart_time #Note: Need time for host to reset itself
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
deleted file mode 100755
index 3b22f1345..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Source function library if it exists
-test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-case "$1" in
- start)
- echo -n "Bringing up ADSL link: "
-
- $START
- if [ $? = 0 ] ; then
- echo success
- touch /var/lock/subsys/adsl
- else
- echo failure
- fi
- ;;
-
- stop)
- echo -n "Shutting down ADSL link: "
-
- $STOP > /dev/null 2>&1
- if [ $? = 0 ] ; then
- echo success
- rm -f /var/lock/subsys/adsl
- else
- echo failure
- fi
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init.in b/mdk-stage1/rp-pppoe/scripts/adsl-init.in
deleted file mode 100755
index ab9146fd3..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-init.in
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-#
-# adsl This script starts or stops an ADSL connection
-#
-# chkconfig: 2345 99 01
-# description: Connects to ADSL provider
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
-# be distributed under the terms of the GNU General Public License, version
-# 2 or any later version.
-
-# Source function library if it exists
-test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-START=@sbindir@/adsl-start
-STOP=@sbindir@/adsl-stop
-STATUS=@sbindir@/adsl-status
-case "$1" in
- start)
- echo -n "Bringing up ADSL link"
-
- $START
- if [ $? = 0 ] ; then
- touch /var/lock/subsys/adsl
- echo_success
- else
- echo_failure
- fi
- echo ""
- ;;
-
- stop)
- echo -n "Shutting down ADSL link"
-
- $STOP > /dev/null 2>&1
- if [ $? = 0 ] ; then
- rm -f /var/lock/subsys/adsl
- echo_success
- else
- echo_failure
- fi
- echo ""
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
-
- status)
- $STATUS
- ;;
-
- *)
- echo "Usage: adsl {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-setup.in b/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
deleted file mode 100755
index a8c7fa039..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
+++ /dev/null
@@ -1,346 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# adsl-setup
-#
-# All-purpose slicing/dicing shell script to configure rp-pppoe.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-IFCONFIG=/sbin/ifconfig
-PPPD=@PPPD@
-PPPOE=@sbindir@/pppoe
-ECHO=@ECHO@
-LOGGER="/usr/bin/logger -t `basename $0`"
-
-CONFIG=/etc/ppp/pppoe.conf
-
-# Protect created files
-umask 077
-
-copy() {
- cp $1 $2
- if [ "$?" != 0 ] ; then
- $ECHO "*** Error copying $1 to $2"
- $ECHO "*** Quitting."
- exit 1
- fi
-}
-
-$ECHO "Welcome to the Roaring Penguin ADSL client setup. First, I will run"
-$ECHO "some checks on your system to make sure the PPPoE client is installed"
-$ECHO "properly..."
-$ECHO ""
-
-# Must be root
-if [ "`@ID@ -u`" != 0 ] ; then
- $ECHO "$0: Sorry, you must be root to run this script"
- exit 1
-fi
-
-# Prototype config file must exist
-if [ ! -r "$CONFIG" ] ; then
- $ECHO "Oh, dear, I don't see the file '$CONFIG' anywhere. Please"
- $ECHO "re-install the PPPoE client."
- exit 1
-fi
-
-# Must have pppd
-if [ ! -x $PPPD ] ; then
- $ECHO "Oops, I can't execute the program '$PPPD'. You"
- $ECHO "must install the PPP software suite, version 2.3.10 or later."
- exit 1
-fi
-
-. $CONFIG
-
-if [ "$DEMAND" = "" ] ; then
- DEMAND=no
-fi
-
-# pppoe must exist
-if [ ! -x "$PPPOE" ] ; then
- $ECHO "Oh, dear, I can't execute the program '$PPPOE'. Please"
- $ECHO "re-install the rp-pppoe client."
- exit 1
-fi
-
-$ECHO "Looks good! Now, please enter some information:"
-
-while [ true ] ; do
- $ECHO ""
- $ECHO "USER NAME"
- $ECHO ""
- $ECHO -n ">>> Enter your PPPoE user name (default $USER): "
- read U
-
- if [ "$U" = "" ] ; then
- U="$USER"
- fi
-
- # Under Linux, "fix" the default interface if eth1 is not available
- if test `uname -s` = "Linux" ; then
- $IFCONFIG $ETH > /dev/null 2>&1 || ETH=eth0
- fi
- $ECHO ""
- $ECHO "INTERFACE"
- $ECHO ""
- $ECHO ">>> Enter the Ethernet interface connected to the ADSL modem"
- $ECHO "For Solaris, this is likely to be something like /dev/hme0."
- $ECHO "For Linux, it will be ethn, where 'n' is a number."
- $ECHO -n "(default $ETH): "
- read E
-
- if [ "$E" = "" ] ; then
- E="$ETH"
- fi
-
- $ECHO ""
- $ECHO "Do you want the link to come up on demand, or stay up continuously?"
- $ECHO "If you want it to come up on demand, enter the idle time in seconds"
- $ECHO "after which the link should be dropped. If you want the link to"
- $ECHO "stay up permanently, enter 'no' (two letters, lower-case.)"
- $ECHO "NOTE: Demand-activated links do not interact well with dynamic IP"
- $ECHO "addresses. You may have some problems with demand-activated links."
- $ECHO -n ">>> Enter the demand value (default $DEMAND): "
- read D
- if [ "$D" = "" ] ; then
- D=$DEMAND
- fi
-
- $ECHO ""
- $ECHO "DNS"
- $ECHO ""
- $ECHO "Please enter the IP address of your ISP's primary DNS server."
- $ECHO "If your ISP claims that 'the server will provide DNS addresses',"
- $ECHO "enter 'server' (all lower-case) here."
- $ECHO "If you just press enter, I will assume you know what you are"
- $ECHO "doing and not modify your DNS setup."
- $ECHO -n ">>> Enter the DNS information here: "
-
- read DNS1
-
-
- if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" != "server" ] ; then
- $ECHO "Please enter the IP address of your ISP's secondary DNS server."
- $ECHO "If you just press enter, I will assume there is only one DNS server."
- $ECHO -n ">>> Enter the secondary DNS server address here: "
- read DNS2
- fi
- fi
-
- while [ true ] ; do
- $ECHO ""
- $ECHO "PASSWORD"
- $ECHO ""
- stty -echo
- $ECHO -n ">>> Please enter your PPPoE password: "
- read PWD1
- $ECHO ""
- $ECHO -n ">>> Please re-enter your PPPoE password: "
- read PWD2
- $ECHO ""
- stty echo
- if [ "$PWD1" = "$PWD2" ] ; then
- break
- fi
-
- $ECHO -n ">>> Sorry, the passwords do not match. Try again? (y/n)"
- read ANS
- case "$ANS" in
- N|No|NO|Non|n|no|non)
- $ECHO "OK, quitting. Bye."
- exit 1
- esac
- done
-
- # Firewalling
- $ECHO ""
- $ECHO "FIREWALLING"
- $ECHO ""
- if test `uname -s` != "Linux" ; then
- $ECHO "Sorry, firewalling is only supported under Linux. Consult"
- $ECHO "your operating system manuals for details on setting up"
- $ECHO "packet filters for your system."
- FIREWALL=NONE
- else
- $ECHO "Please choose the firewall rules to use. Note that these rules are"
- $ECHO "very basic. You are strongly encouraged to use a more sophisticated"
- $ECHO "firewall setup; however, these will provide basic security. If you"
- $ECHO "are running any servers on your machine, you must choose 'NONE' and"
- $ECHO "set up firewalling yourself. Otherwise, the firewall rules will deny"
- $ECHO "access to all standard servers like Web, e-mail, ftp, etc. If you"
- $ECHO "are using SSH, the rules will block outgoing SSH connections which"
- $ECHO "allocate a privileged source port."
- $ECHO ""
- while [ true ] ; do
- $ECHO "The firewall choices are:"
- $ECHO "0 - NONE: This script will not set any firewall rules. You are responsible"
- $ECHO " for ensuring the security of your machine. You are STRONGLY"
- $ECHO " recommended to use some kind of firewall rules."
- $ECHO "1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation"
- $ECHO "2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway"
- $ECHO " for a LAN"
- $ECHO -n ">>> Choose a type of firewall (0-2): "
- read a
- if [ "$a" = 0 -o "$a" = 1 -o "$a" = 2 ] ; then
- break
- fi
- $ECHO "Please enter a number from 0 to 2"
- done
-
- case "$a" in
- 0)
- FIREWALL=NONE
- ;;
- 1)
- FIREWALL=STANDALONE
- ;;
- 2)
- FIREWALL=MASQUERADE
- ;;
- esac
- fi
-
- $ECHO ""
- $ECHO "** Summary of what you entered **"
- $ECHO ""
- $ECHO "Ethernet Interface: $E"
- $ECHO "User name: $U"
- if [ "$D" = "no" ] ; then
- $ECHO "Activate-on-demand: No"
- else
- $ECHO "Activate-on-demand: Yes; idle timeout = $D seconds"
- fi
-
- if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" = "server" ] ; then
- $ECHO "DNS addresses: Supplied by ISP's server"
- else
- $ECHO "Primary DNS: $DNS1"
- if [ "$DNS2" != "" ] ; then
- $ECHO "Secondary DNS: $DNS2"
- fi
- fi
- else
- $ECHO "DNS: Do not adjust"
- fi
- $ECHO "Firewalling: $FIREWALL"
- $ECHO ""
- while [ true ] ; do
- $ECHO -n '>>> Accept these settings and adjust configuration files (y/n)? '
- read ANS
- case "ANS" in
- Y|y|yes|Yes|oui|Oui)
- ANS=y
- ;;
- N|n|no|No|non|Non)
- ANS=n
- ;;
- esac
- if [ "$ANS" = "y" -o "$ANS" = "n" ] ; then
- break
- fi
- done
- if [ "$ANS" = "y" ] ; then
- break
- fi
-done
-
-# Adjust configuration files. First to $CONFIG
-
-$ECHO "Adjusting $CONFIG"
-
-copy $CONFIG $CONFIG-bak
-if [ "$DNS1" = "server" ] ; then
- DNSTYPE=SERVER
- DNS1=""
- USEPEERDNS=yes
-else
- USEPEERDNS=no
- if [ "$DNS1" = "" ] ; then
- DNSTYPE=NOCHANGE
- else
- DNSTYPE=SPECIFY
- fi
-fi
-
-# Where is pppd likely to put its pid?
-if [ -d /var/run ] ; then
- VARRUN=/var/run
-else
- VARRUN=/etc/ppp
-fi
-
-# Some #$(*& ISP's use a slash in the user name...
-sed -e "s&^USER=.*&USER='$U'&" \
- -e "s&^ETH=.*&ETH='$E'&" \
- -e "s&^PIDFILE=.*&PIDFILE=\"$VARRUN/\$CF_BASE-adsl.pid\"&" \
- -e "s/^FIREWALL=.*/FIREWALL=$FIREWALL/" \
- -e "s/^DEMAND=.*/DEMAND=$D/" \
- -e "s/^DNSTYPE=.*/DNSTYPE=$DNSTYPE/" \
- -e "s/^DNS1=.*/DNS1=$DNS1/" \
- -e "s/^DNS2=.*/DNS2=$DNS2/" \
- -e "s/^USEPEERDNS=.*/USEPEERDNS=$USEPEERDNS/" \
- < $CONFIG-bak > $CONFIG
-
-if [ $? != 0 ] ; then
- $ECHO "** Error modifying $CONFIG"
- $ECHO "** Quitting"
- exit 1
-fi
-
-if [ "$DNS1" != "" ] ; then
- if [ "$DNS1" != "server" ] ; then
- $ECHO "Adjusting /etc/resolv.conf"
- if [ -r /etc/resolv.conf ] ; then
- grep -s "MADE-BY-RP-PPPOE" /etc/resolv.conf > /dev/null 2>&1
- if [ "$?" != 0 ] ; then
- $ECHO " (But first backing it up to /etc/resolv.conf-bak)"
- copy /etc/resolv.conf /etc/resolv.conf-bak
- fi
- fi
- $ECHO "# MADE-BY-RP-PPPOE" > /etc/resolv.conf
- $ECHO "nameserver $DNS1" >> /etc/resolv.conf
- if [ "$DNS2" != "" ] ; then
- $ECHO "nameserver $DNS2" >> /etc/resolv.conf
- fi
- fi
-fi
-
-$ECHO "Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets"
-if [ -r /etc/ppp/pap-secrets ] ; then
- $ECHO " (But first backing it up to /etc/ppp/pap-secrets-bak)"
- copy /etc/ppp/pap-secrets /etc/ppp/pap-secrets-bak
-else
- cp /dev/null /etc/ppp/pap-secrets-bak
-fi
-if [ -r /etc/ppp/chap-secrets ] ; then
- $ECHO " (But first backing it up to /etc/ppp/chap-secrets-bak)"
- copy /etc/ppp/chap-secrets /etc/ppp/chap-secrets-bak
-else
- cp /dev/null /etc/ppp/chap-secrets-bak
-fi
-
-egrep -v "^$U|^\"$U\"" /etc/ppp/pap-secrets-bak > /etc/ppp/pap-secrets
-$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/pap-secrets
-egrep -v "^$U|^\"$U\"" /etc/ppp/chap-secrets-bak > /etc/ppp/chap-secrets
-$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/chap-secrets
-
-$ECHO ""
-$ECHO ""
-$ECHO ""
-$ECHO "Congratulations, it should be all set up!"
-$ECHO ""
-$ECHO "Type 'adsl-start' to bring up your ADSL link and 'adsl-stop' to bring"
-$ECHO "it down. Type 'adsl-status' to see the link status."
-exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-start.in b/mdk-stage1/rp-pppoe/scripts/adsl-start.in
deleted file mode 100755
index 33251a851..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-start.in
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-start
-#
-# Shell script to bring up an ADSL connection
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-start [config_file]
-# adsl-start interface user [config_file]
-# Second form overrides USER and ETH from config file.
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-# From AUTOCONF
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-# Paths to programs
-CONNECT=@sbindir@/adsl-connect
-ECHO=@ECHO@
-IFCONFIG=/sbin/ifconfig
-
-# Defaults
-CONFIG=/etc/ppp/pppoe.conf
-USER=""
-ETH=""
-ME=`basename $0`
-# Must be root
-if [ "`@ID@ -u`" != 0 ] ; then
- $ECHO "$ME: You must be root to run this script" >& 2
- exit 1
-fi
-
-# Debugging
-if [ "$DEBUG" = "1" ] ; then
- $ECHO "*** Running in debug mode... please be patient..."
- DEBUG=/tmp/pppoe-debug-$$
- export DEBUG
- mkdir $DEBUG
- if [ "$?" != 0 ] ; then
- $ECHO "Could not create directory $DEBUG... exiting"
- exit 1
- fi
- DEBUG=$DEBUG/pppoe-debug.txt
-
- # Initial debug output
- $ECHO "---------------------------------------------" > $DEBUG
- $ECHO "* The following section contains information about your system" >> $DEBUG
- date >> $DEBUG
- $ECHO "Output of uname -a" >> $DEBUG
- uname -a >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "* The following section contains information about your network" >> $DEBUG
- $ECHO "* interfaces. The one you chose for PPPoE should contain the words:" >> $DEBUG
- $ECHO "* 'UP' and 'RUNNING'. If it does not, you probably have an Ethernet" >> $DEBUG
- $ECHO "* driver problem." >> $DEBUG
- $ECHO "Output of ifconfig -a" >> $DEBUG
- $IFCONFIG -a >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- if [ "`uname -s`" = "Linux" ] ; then
- $ECHO "* The following section contains information about kernel modules" >> $DEBUG
- $ECHO "* If the module for your Ethernet card is 'tulip', you might" >> $DEBUG
- $ECHO "* want to look for an updated version at http://www.scyld.com" >> $DEBUG
- $ECHO "Output of lsmod" >> $DEBUG
- lsmod >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- fi
- $ECHO "* The following section lists your routing table." >> $DEBUG
- $ECHO "* If you have an entry which starts with '0.0.0.0', you probably" >> $DEBUG
- $ECHO "* have defined a default route and gateway, and pppd will" >> $DEBUG
- $ECHO "* not create a default route using your ISP. Try getting" >> $DEBUG
- $ECHO "* rid of this route." >> $DEBUG
- $ECHO "Output of netstat -n -r" >> $DEBUG
- netstat -n -r >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "Contents of /etc/resolv.conf" >> $DEBUG
- $ECHO "* The following section lists DNS setup." >> $DEBUG
- $ECHO "* If you can browse by IP address, but not name, suspect" >> $DEBUG
- $ECHO "* a DNS problem." >> $DEBUG
- cat /etc/resolv.conf >> $DEBUG
- $ECHO "---------------------------------------------" >> $DEBUG
- $ECHO "* The following section lists /etc/ppp/options." >> $DEBUG
- $ECHO "* You should have NOTHING in that file." >> $DEBUG
- $ECHO "Contents of /etc/ppp/options" >> $DEBUG
- cat /etc/ppp/options >> $DEBUG 2>/dev/null
- $ECHO "---------------------------------------------" >> $DEBUG
-else
- DEBUG=""
-fi
-
-# Sort out command-line arguments
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
- 3)
- CONFIG="$3"
- ;;
-esac
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- $ECHO "$ME: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-# Check for command-line overriding of ETH and USER
-case "$#" in
- 2|3)
- ETH="$1"
- USER="$2"
- ;;
-esac
-
-# Check for pidfile
-if [ -r "$PIDFILE" ] ; then
- PID=`cat "$PIDFILE"`
- # Check if still running
- kill -0 $PID > /dev/null 2>&1
- if [ $? = 0 ] ; then
- $ECHO "$ME: There already seems to be an ADSL connection up (PID $PID)" >& 2
- exit 1
- fi
- # Delete bogus PIDFILE
- rm -f "$PIDFILE" "$PIDFILE.pppd" "$PIDFILE.pppoe" "$PIDFILE.start"
-fi
-
-echo $$ > $PIDFILE.start
-
-# Start the connection in the background unless we're debugging
-if [ "$DEBUG" != "" ] ; then
- $CONNECT "$@"
- exit 0
-fi
-
-$CONNECT "$@" > /dev/null 2>&1 &
-CONNECT_PID=$!
-
-if [ "$CONNECT_TIMEOUT" = "" -o "$CONNECT_TIMEOUT" = 0 ] ; then
- exit 0
-fi
-
-# Don't monitor connection if dial-on-demand
-if [ "$DEMAND" != "" -a "$DEMAND" != "no" ] ; then
- exit 0
-fi
-
-# Monitor connection
-TIME=0
-while [ true ] ; do
- @sbindir@/adsl-status $CONFIG > /dev/null 2>&1
-
- # Looks like the interface came up
- if [ $? = 0 ] ; then
- # Print newline if standard input is a TTY
- tty -s && $ECHO " Connected!"
- exit 0
- fi
-
- if test -n "$FORCEPING" ; then
- $ECHO -n "$FORCEPING"
- else
- tty -s && $ECHO -n "$PING"
- fi
- sleep $CONNECT_POLL
- TIME=`expr $TIME + $CONNECT_POLL`
- if [ $TIME -gt $CONNECT_TIMEOUT ] ; then
- break
- fi
-done
-
-$ECHO "TIMED OUT" >& 2
-# Timed out! Kill the adsl-connect process and quit
-kill $CONNECT_PID > /dev/null 2>&1
-exit 1
-
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-status b/mdk-stage1/rp-pppoe/scripts/adsl-status
deleted file mode 100755
index 18b100ab2..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-status
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-#***********************************************************************
-#
-# adsl-status
-#
-# Shell script to report on status of ADSL connection
-#
-# Copyright (C) 2000-2001 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-status [config_file]
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-# Defaults
-CONFIG=/etc/ppp/pppoe.conf
-
-case "$#" in
- 1)
- CONFIG="$1"
- ;;
-esac
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- echo "$0: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-
-if [ "$DEMAND" != "no" ] ; then
- echo "Note: You have enabled demand-connection; adsl-status may be inaccurate."
-fi
-
-# If no PPPOE_PIDFILE, connection is down, unless we're using the Linux plugin
-if [ "$LINUX_PLUGIN" = "" ] ; then
- if [ ! -r "$PPPOE_PIDFILE" ] ; then
- echo "adsl-status: Link is down (can't read pppoe PID file $PPPOE_PIDFILE)"
- exit 1
- fi
-fi
-
-# If no PPPD_PIDFILE, something fishy!
-if [ ! -r "$PPPD_PIDFILE" ] ; then
- echo "adsl-status: Link is down (can't read pppd PID file $PPPD_PIDFILE)"
- exit 1
-fi
-
-PPPD_PID=`cat "$PPPD_PIDFILE"`
-
-# Sigh. Some versions of pppd put PID files in /var/run; others put them
-# in /etc/ppp. Since it's too messy to figure out what pppd does, we
-# try both locations.
-for i in /etc/ppp/ppp*.pid /var/run/ppp*.pid ; do
- if [ -r $i ] ; then
- PID=`cat $i`
- if [ "$PID" = "$PPPD_PID" ] ; then
- IF=`basename $i .pid`
- netstat -rn | grep " ${IF}\$" > /dev/null
- # /sbin/ifconfig $IF | grep "UP.*POINTOPOINT" > /dev/null
- if [ "$?" != "0" ] ; then
- echo "adsl-status: Link is attached to $IF, but $IF is down"
- exit 1
- fi
- echo "adsl-status: Link is up and running on interface $IF"
- /sbin/ifconfig $IF
- exit 0
- fi
- fi
-done
-
-echo "adsl-status: Link is down -- could not find interface corresponding to"
-echo "pppd pid $PPPD_PID"
-exit 1 \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
deleted file mode 100755
index af0867573..000000000
--- a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/sh
-# @configure_input@
-#***********************************************************************
-#
-# adsl-stop
-#
-# Shell script to bring down an ADSL connection
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# $Id$
-#
-# This file may be distributed under the terms of the GNU General
-# Public License.
-#
-# Usage: adsl-stop [config_file]
-# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
-#
-#***********************************************************************
-
-ME="`basename $0`"
-LOGGER="/usr/bin/logger -t $ME"
-CONFIG="$1"
-if [ "$CONFIG" = "" ] ; then
- CONFIG=/etc/ppp/pppoe.conf
-fi
-
-if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
- echo "$ME: Cannot read configuration file '$CONFIG'" >& 2
- exit 1
-fi
-
-. $CONFIG
-
-PPPOE_PIDFILE="$PIDFILE.pppoe"
-PPPD_PIDFILE="$PIDFILE.pppd"
-STARTPID="$PIDFILE.start"
-
-# Backward config file compatibility
-if test "$DEMAND" = "" ; then
- DEMAND=no
-fi
-
-# Ignore SIGTERM
-trap "" 15
-
-# Check for pidfile
-if [ -r "$PIDFILE" ] ; then
- PID=`cat $PIDFILE`
-
- # Check if still running
- kill -0 $PID > /dev/null 2>&1
- if [ $? != 0 ] ; then
- echo "$ME: The adsl-connect script (PID $PID) appears to have died" >& 2
- fi
-
- # Kill pppd, which should in turn kill pppoe
- if [ -r "$PPPD_PIDFILE" ] ; then
- PPPD_PID=`cat "$PPPD_PIDFILE"`
- $LOGGER -p daemon.notice "Killing pppd"
- echo "Killing pppd ($PPPD_PID)"
- kill $PPPD_PID > /dev/null 2>&1 || exit 1
- fi
-
- # Kill adsl-start
- PIDS=`cat $STARTPID`
- kill -0 $PIDS > /dev/null 2>&1
- if [ $? = 0 ] ; then
- $LOGGER -p daemon.notice "Killing adsl-connect"
- kill $PIDS > /dev/null 2>&1
- fi
-
- # Kill adsl-connect
- $LOGGER -p daemon.notice "Killing adsl-connect"
- echo "Killing adsl-connect ($PID)"
- kill $PID > /dev/null 2>&1
-
- rm -f "$PIDFILE" "$PPPD_PIDFILE" "$PPPOE_PIDFILE" "$STARTPID"
-else
- echo "$ME: No ADSL connection appears to be running" >&2
- exit 1
-fi
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/src/.cvsignore b/mdk-stage1/rp-pppoe/src/.cvsignore
deleted file mode 100644
index a59197332..000000000
--- a/mdk-stage1/rp-pppoe/src/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pppoe
-pppoe-DIET
diff --git a/mdk-stage1/rp-pppoe/src/Makefile b/mdk-stage1/rp-pppoe/src/Makefile
deleted file mode 100644
index 11d2684d6..000000000
--- a/mdk-stage1/rp-pppoe/src/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ../..
-
-include $(top_dir)/Makefile.common
-
-
-TARGETS = pppoe
-
-BINTARGET = ../pppoe-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppoe
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer '-DPPPOE_PATH="/sbin/pppoe"' '-DPPPD_PATH="/sbin/pppd"' '-DVERSION="3.0-stg1"'
-
-ifeq (GLIBC, $(L))
-EXTRA_LDFLAGS = -static
-endif
-
-OBJS = pppoe.o if.o debug.o common.o ppp.o discovery.o
-
-pppoe: $(OBJS)
- $(DIET) gcc -o $@ $^ $(EXTRA_LDFLAGS)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(FLAGS) $(INCLUDES) $(INCS) -c $< -o $@
diff --git a/mdk-stage1/rp-pppoe/src/Makefile.in b/mdk-stage1/rp-pppoe/src/Makefile.in
deleted file mode 100644
index 8eee012cb..000000000
--- a/mdk-stage1/rp-pppoe/src/Makefile.in
+++ /dev/null
@@ -1,257 +0,0 @@
-# @configure_input@
-#***********************************************************************
-#
-# Makefile
-#
-# Makefile for Roaring Penguin's Linux user-space PPPoE client.
-#
-# Copyright (C) 2000 Roaring Penguin Software Inc.
-#
-# This program may be distributed according to the terms of the GNU
-# General Public License, version 2 or (at your option) any later version.
-#
-# $Id$
-#***********************************************************************
-
-# Version is set ONLY IN THE MAKEFILE! Don't delete this!
-VERSION=3.0
-
-DEFINES=
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-mandir=@mandir@
-docdir=@prefix@/doc/rp-pppoe-$(VERSION)
-install=@INSTALL@
-install_dir=@INSTALL@ -d
-sbindir=@sbindir@
-
-# Plugin for pppd on Linux
-LINUX_KERNELMODE_PLUGIN=@LINUX_KERNELMODE_PLUGIN@
-PPPD_INCDIR=@PPPD_INCDIR@
-
-# PPPoE relay -- currently only supported on Linux
-PPPOE_RELAY=@PPPOE_RELAY@
-
-# Program paths
-PPPOE_PATH=$(sbindir)/pppoe
-PPPD_PATH=@PPPD@
-
-# Kernel-mode plugin gets installed here.
-PLUGIN_DIR=/etc/ppp/plugins
-PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so
-
-# Configuration file paths
-PPPOESERVER_PPPD_OPTIONS=/etc/ppp/pppoe-server-options
-
-PATHS='-DPPPOE_PATH="$(PPPOE_PATH)"' '-DPPPD_PATH="$(PPPD_PATH)"' \
- '-DPLUGIN_PATH="$(PLUGIN_PATH)"' \
- '-DPPPOE_SERVER_OPTIONS="$(PPPOESERVER_PPPD_OPTIONS)"'
-
-CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
-TARGETS=@TARGETS@
-
-all: $(TARGETS)
- @echo ""
- @echo "Type 'make install' as root to install the software."
-
-pppoe-sniff: pppoe-sniff.o if.o common.o debug.o
- @CC@ -o pppoe-sniff pppoe-sniff.o if.o common.o debug.o $(LIBS)
-
-pppoe-server: pppoe-server.o if.o debug.o common.o md5.o
- @CC@ -o pppoe-server pppoe-server.o if.o debug.o common.o md5.o $(LIBS)
-
-pppoe: pppoe.o if.o debug.o common.o ppp.o discovery.o
- @CC@ -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o $(LIBS)
-
-pppoe-relay: relay.o if.o debug.o common.o
- @CC@ -o pppoe-relay relay.o if.o debug.o common.o $(LIBS)
-
-pppoe.o: pppoe.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c
-
-discovery.o: discovery.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o discovery.c
-
-ppp.o: ppp.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o ppp.o ppp.c
-
-md5.o: md5.c md5.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o md5.o md5.c
-
-pppoe-server.o: pppoe-server.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-server.o pppoe-server.c
-
-pppoe-sniff.o: pppoe-sniff.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-sniff.o pppoe-sniff.c
-
-if.o: if.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o if.o if.c
-
-common.o: common.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o common.o common.c
-
-debug.o: debug.c pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o debug.o debug.c
-
-relay.o: relay.c relay.h pppoe.h
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o relay.o relay.c
-
-# Linux-specific plugin
-rp-pppoe.so: plugin/libplugin.a plugin/plugin.o
- @CC@ -o rp-pppoe.so -shared plugin/plugin.o plugin/libplugin.a
-
-plugin/plugin.o: plugin.c
- @CC@ '-DVERSION="$(VERSION)"' -I$(PPPD_INCDIR) -c -o plugin/plugin.o -fPIC plugin.c
-
-plugin/libplugin.a: plugin/discovery.o plugin/if.o plugin/common.o plugin/debug.o
- ar -rc $@ $^
-
-plugin/discovery.o: discovery.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/discovery.o -fPIC discovery.c
-
-plugin/if.o: if.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/if.o -fPIC if.c
-
-plugin/debug.o: debug.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/debug.o -fPIC debug.c
-
-plugin/common.o: common.c
- @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/common.o -fPIC common.c
-
-install: all
- -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 -s pppoe $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 -s pppoe-server $(RPM_INSTALL_ROOT)$(sbindir)
- if test -x pppoe-relay ; then $(install) -m 755 -s pppoe-relay $(RPM_INSTALL_ROOT)$(sbindir); fi
- $(install) -m 755 -s pppoe-sniff $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-connect $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-start $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-status $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-stop $(RPM_INSTALL_ROOT)$(sbindir)
- $(install) -m 755 ../scripts/adsl-setup $(RPM_INSTALL_ROOT)$(sbindir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/CHANGES $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/KERNEL-MODE-PPPOE $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/HOW-TO-CONNECT $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../doc/LICENSE $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../README $(RPM_INSTALL_ROOT)$(docdir)
- $(install) -m 644 ../configs/pap-secrets $(RPM_INSTALL_ROOT)$(docdir)
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man8
- for i in $(TARGETS) ; do \
- if test -f ../man/$$i.8 ; then \
- $(install) -m 644 ../man/$$i.8 $(RPM_INSTALL_ROOT)$(mandir)/man8 || exit 1; \
- fi; \
- done
- $(install) -m 644 ../man/adsl-start.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-stop.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-status.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-connect.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- $(install) -m 644 ../man/adsl-setup.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
- -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man5
- $(install) -m 644 ../man/pppoe.conf.5 $(RPM_INSTALL_ROOT)$(mandir)/man5
- -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp
- -mkdir -p $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)
- -echo "# Directory created by rp-pppoe for kernel-mode plugin" > $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)/README
- @if test -r rp-pppoe.so; then $(install) -m 755 rp-pppoe.so $(RPM_INSTALL_ROOT)$(PLUGIN_DIR); fi
- @for i in pppoe.conf firewall-standalone firewall-masq ; do \
- if [ ! -f $(RPM_INSTALL_ROOT)/etc/ppp/$$i ] ; then \
- $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp ; \
- else \
- echo "NOT overwriting existing $(RPM_INSTALL_ROOT)/etc/ppp/$$i" ;\
- $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp/$$i-$(VERSION) ;\
- fi ;\
- done
- @if [ ! -f $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ] ; then \
- $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ; \
- else \
- echo "NOT overwriting existing $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)"; \
- $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)-example ; \
- fi
- @if [ -f /etc/redhat-release ] ; then \
- echo "Looks like a Red Hat system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 ../scripts/adsl-init $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @if [ -f /etc/turbolinux-release ] ; then \
- echo "Looks like a TurboLinux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 adsl-init-turbolinux $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @if [ -f /etc/SuSE-release ] ; then \
- echo "Looks like a SuSE Linux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
- mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
- $(install) -m 755 ../scripts/adsl-init-suse $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
- fi
- @echo ""
- @echo "Type 'adsl-setup' to configure the software."
-
-distro:
- cd ..; \
- rm -rf rp-pppoe-$(VERSION) ; \
- mkdir rp-pppoe-$(VERSION) || exit 1; \
- for i in README go go-gui rp-pppoe.spec rp-pppoe-gui.spec; do \
- cp $$i rp-pppoe-$(VERSION) || exit 1; \
- done ; \
- mkdir rp-pppoe-$(VERSION)/gui || exit 1; \
- for i in Makefile.in tkpppoe.in wrapper.c tkpppoe.1 pppoe-wrapper.1 ; do \
- cp gui/$$i rp-pppoe-$(VERSION)/gui || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/gui/html || exit 1; \
- for i in mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png tkpppoe.html ; do \
- cp gui/html/$$i rp-pppoe-$(VERSION)/gui/html || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/configs || exit 1; \
- for i in firewall-masq firewall-standalone pap-secrets pppoe-server-options pppoe.conf ; do \
- cp configs/$$i rp-pppoe-$(VERSION)/configs || exit 1; \
- done ; \
- mkdir rp-pppoe-$(VERSION)/doc || exit 1; \
- for i in CHANGES KERNEL-MODE-PPPOE HOW-TO-CONNECT LICENSE PROBLEMS ; do \
- cp doc/$$i rp-pppoe-$(VERSION)/doc || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/man || exit 1; \
- for i in adsl-connect.8 adsl-setup.8 adsl-start.8 adsl-status.8 adsl-stop.8 pppoe-server.8 pppoe-sniff.8 pppoe.8 pppoe-relay.8 pppoe.conf.5 ; do \
- cp man/$$i rp-pppoe-$(VERSION)/man || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/scripts || exit 1; \
- for i in adsl-connect.in adsl-init-suse.in adsl-init-turbolinux.in adsl-init.in adsl-setup.in adsl-start.in adsl-stop.in adsl-status ; do \
- cp scripts/$$i rp-pppoe-$(VERSION)/scripts || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/src || exit 1; \
- for i in Makefile.in install-sh common.c config.h.in configure configure.in debug.c discovery.c if.c md5.c md5.h ppp.c pppoe-server.c pppoe-sniff.c pppoe.c pppoe.h plugin.c relay.c relay.h ; do \
- cp src/$$i rp-pppoe-$(VERSION)/src || exit 1; \
- done; \
- mkdir rp-pppoe-$(VERSION)/src/plugin || exit 1; \
- tar cvf rp-pppoe-$(VERSION).tar rp-pppoe-$(VERSION)/* ; \
- gzip -f -v -9 rp-pppoe-$(VERSION).tar ; \
-
-rpms: distro
- cp ../rp-pppoe-$(VERSION).tar.gz /usr/src/redhat/SOURCES
- cd ..; \
- rpm -ba rp-pppoe.spec; \
- rpm -ba rp-pppoe-gui.spec
-
-clean:
- rm -f *.o pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
-
-distclean: clean
- rm -f Makefile config.h config.cache config.log config.status
- rm -f ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-setup ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux
-
-update-version:
- sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
- sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
- sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
- sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
- sed -e 's+^Requires: rp-pppoe >=.*$$+Requires: rp-pppoe >= $(VERSION)+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
-
-# Convenience target for David! Don't try to use this one.
-km:
- ./configure --enable-plugin=/home/dfs/Archive/PPP/ppp-2.4.0.pppoe4-patched-dfs
-
-.PHONY: update-version
-
-.PHONY: clean
-
-.PHONY: distclean
-
-.PHONY: rpms
diff --git a/mdk-stage1/rp-pppoe/src/common.c b/mdk-stage1/rp-pppoe/src/common.c
deleted file mode 100644
index b27302104..000000000
--- a/mdk-stage1/rp-pppoe/src/common.c
+++ /dev/null
@@ -1,485 +0,0 @@
-/***********************************************************************
-*
-* common.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Common functions used by PPPoE client and server
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/**********************************************************************
-*%FUNCTION: parsePacket
-*%ARGUMENTS:
-* packet -- the PPPoE discovery packet to parse
-* func -- function called for each tag in the packet
-* extra -- an opaque data pointer supplied to parsing function
-*%RETURNS:
-* 0 if everything went well; -1 if there was an error
-*%DESCRIPTION:
-* Parses a PPPoE discovery packet, calling "func" for each tag in the packet.
-* "func" is passed the additional argument "extra".
-***********************************************************************/
-int
-parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra)
-{
- UINT16_t len = ntohs(packet->length);
- unsigned char *curTag;
- UINT16_t tagType, tagLen;
-
- if (packet->ver != 1) {
- syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
- return -1;
- }
- if (packet->type != 1) {
- syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
- return -1;
- }
-
- /* Do some sanity checks on packet */
- if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
- syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
- return -1;
- }
-
- /* Step through the tags */
- curTag = packet->payload;
- while(curTag - packet->payload < len) {
- /* Alignment is not guaranteed, so do this by hand... */
- tagType = (((UINT16_t) curTag[0]) << 8) +
- (UINT16_t) curTag[1];
- tagLen = (((UINT16_t) curTag[2]) << 8) +
- (UINT16_t) curTag[3];
- if (tagType == TAG_END_OF_LIST) {
- return 0;
- }
- if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
- syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
- return -1;
- }
- func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra);
- curTag = curTag + TAG_HDR_SIZE + tagLen;
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: findTag
-*%ARGUMENTS:
-* packet -- the PPPoE discovery packet to parse
-* type -- the type of the tag to look for
-* tag -- will be filled in with tag contents
-*%RETURNS:
-* A pointer to the tag if one of the specified type is found; NULL
-* otherwise.
-*%DESCRIPTION:
-* Looks for a specific tag type.
-***********************************************************************/
-unsigned char *
-findTag(PPPoEPacket *packet, UINT16_t type, PPPoETag *tag)
-{
- UINT16_t len = ntohs(packet->length);
- unsigned char *curTag;
- UINT16_t tagType, tagLen;
-
- if (packet->ver != 1) {
- syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
- return NULL;
- }
- if (packet->type != 1) {
- syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
- return NULL;
- }
-
- /* Do some sanity checks on packet */
- if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
- syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
- return NULL;
- }
-
- /* Step through the tags */
- curTag = packet->payload;
- while(curTag - packet->payload < len) {
- /* Alignment is not guaranteed, so do this by hand... */
- tagType = (((UINT16_t) curTag[0]) << 8) +
- (UINT16_t) curTag[1];
- tagLen = (((UINT16_t) curTag[2]) << 8) +
- (UINT16_t) curTag[3];
- if (tagType == TAG_END_OF_LIST) {
- return NULL;
- }
- if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
- syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
- return NULL;
- }
- if (tagType == type) {
- memcpy(tag, curTag, tagLen + TAG_HDR_SIZE);
- return curTag;
- }
- curTag = curTag + TAG_HDR_SIZE + tagLen;
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: printErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog.
-***********************************************************************/
-void
-printErr(char const *str)
-{
- fprintf(stderr, "pppoe: %s\n", str);
- syslog(LOG_ERR, "%s", str);
-}
-
-
-/**********************************************************************
-*%FUNCTION: strDup
-*%ARGUMENTS:
-* str -- string to copy
-*%RETURNS:
-* A malloc'd copy of str. Exits if malloc fails.
-***********************************************************************/
-char *
-strDup(char const *str)
-{
- char *copy = malloc(strlen(str)+1);
- if (!copy) {
- rp_fatal("strdup failed");
- }
- strcpy(copy, str);
- return copy;
-}
-
-/**********************************************************************
-*%FUNCTION: computeTCPChecksum
-*%ARGUMENTS:
-* ipHdr -- pointer to IP header
-* tcpHdr -- pointer to TCP header
-*%RETURNS:
-* The computed TCP checksum
-***********************************************************************/
-UINT16_t
-computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr)
-{
- UINT32_t sum = 0;
- UINT16_t count = ipHdr[2] * 256 + ipHdr[3];
- unsigned char *addr = tcpHdr;
- unsigned char pseudoHeader[12];
-
- /* Count number of bytes in TCP header and data */
- count -= (ipHdr[0] & 0x0F) * 4;
-
- memcpy(pseudoHeader, ipHdr+12, 8);
- pseudoHeader[8] = 0;
- pseudoHeader[9] = ipHdr[9];
- pseudoHeader[10] = (count >> 8) & 0xFF;
- pseudoHeader[11] = (count & 0xFF);
-
- /* Checksum the pseudo-header */
- sum += * (UINT16_t *) pseudoHeader;
- sum += * ((UINT16_t *) (pseudoHeader+2));
- sum += * ((UINT16_t *) (pseudoHeader+4));
- sum += * ((UINT16_t *) (pseudoHeader+6));
- sum += * ((UINT16_t *) (pseudoHeader+8));
- sum += * ((UINT16_t *) (pseudoHeader+10));
-
- /* Checksum the TCP header and data */
- while (count > 1) {
- sum += * (UINT16_t *) addr;
- addr += 2;
- count -= 2;
- }
- if (count > 0) {
- sum += *addr;
- }
-
- while(sum >> 16) {
- sum = (sum & 0xffff) + (sum >> 16);
- }
- return (UINT16_t) (~sum & 0xFFFF);
-}
-
-/**********************************************************************
-*%FUNCTION: clampMSS
-*%ARGUMENTS:
-* packet -- PPPoE session packet
-* dir -- either "incoming" or "outgoing"
-* clampMss -- clamp value
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Clamps MSS option if TCP SYN flag is set.
-***********************************************************************/
-void
-clampMSS(PPPoEPacket *packet, char const *dir, int clampMss)
-{
- unsigned char *tcpHdr;
- unsigned char *ipHdr;
- unsigned char *opt;
- unsigned char *endHdr;
- unsigned char *mssopt = NULL;
- UINT16_t csum;
-
- int len;
-
- /* Is it IPv4? */
- if (packet->payload[0] != 0x00 ||
- packet->payload[1] != 0x21) {
- /* Nope, ignore it */
- return;
- }
-
- ipHdr = packet->payload + 2;
-
- /* Is it too short? */
- len = (int) ntohs(packet->length);
- if (len < 42) {
- /* 20 byte IP header; 20 byte TCP header; 2 byte PPP protocol */
- return;
- }
-
- /* Verify once more that it's IPv4 */
- if ((ipHdr[0] & 0xF0) != 0x40) {
- return;
- }
-
- /* Is it a fragment that's not at the beginning of the packet? */
- if ((ipHdr[6] & 0x1F) || ipHdr[7]) {
- /* Yup, don't touch! */
- return;
- }
- /* Is it TCP? */
- if (ipHdr[9] != 0x06) {
- return;
- }
-
- /* Get start of TCP header */
- tcpHdr = ipHdr + (ipHdr[0] & 0x0F) * 4;
-
- /* Is SYN set? */
- if (!(tcpHdr[13] & 0x02)) {
- return;
- }
-
- /* Compute and verify TCP checksum -- do not touch a packet with a bad
- checksum */
- csum = computeTCPChecksum(ipHdr, tcpHdr);
- if (csum) {
- syslog(LOG_ERR, "Bad TCP checksum %x", (unsigned int) csum);
-
- /* Upper layers will drop it */
- return;
- }
-
- /* Look for existing MSS option */
- endHdr = tcpHdr + ((tcpHdr[12] & 0xF0) >> 2);
- opt = tcpHdr + 20;
- while (opt < endHdr) {
- if (!*opt) break; /* End of options */
- switch(*opt) {
- case 1:
- opt++;
- break;
-
- case 2:
- if (opt[1] != 4) {
- /* Something fishy about MSS option length. */
- syslog(LOG_ERR,
- "Bogus length for MSS option (%u) from %u.%u.%u.%u",
- (unsigned int) opt[1],
- (unsigned int) ipHdr[12],
- (unsigned int) ipHdr[13],
- (unsigned int) ipHdr[14],
- (unsigned int) ipHdr[15]);
- return;
- }
- mssopt = opt;
- break;
- default:
- if (opt[1] < 2) {
- /* Someone's trying to attack us? */
- syslog(LOG_ERR,
- "Bogus TCP option length (%u) from %u.%u.%u.%u",
- (unsigned int) opt[1],
- (unsigned int) ipHdr[12],
- (unsigned int) ipHdr[13],
- (unsigned int) ipHdr[14],
- (unsigned int) ipHdr[15]);
- return;
- }
- opt += (opt[1]);
- break;
- }
- /* Found existing MSS option? */
- if (mssopt) break;
- }
-
- /* If MSS exists and it's low enough, do nothing */
- if (mssopt) {
- unsigned mss = mssopt[2] * 256 + mssopt[3];
- if (mss <= clampMss) {
- return;
- }
-
- mssopt[2] = (((unsigned) clampMss) >> 8) & 0xFF;
- mssopt[3] = ((unsigned) clampMss) & 0xFF;
- } else {
- /* No MSS option. Don't add one; we'll have to use 536. */
- return;
- }
-
- /* Recompute TCP checksum */
- tcpHdr[16] = 0;
- tcpHdr[17] = 0;
- csum = computeTCPChecksum(ipHdr, tcpHdr);
- (* (UINT16_t *) (tcpHdr+16)) = csum;
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADT
-*%ARGUMENTS:
-* conn -- PPPoE connection
-* msg -- if non-NULL, extra error message to include in PADT packet.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADT packet
-***********************************************************************/
-void
-sendPADT(PPPoEConnection *conn, char const *msg)
-{
- PPPoEPacket packet;
- unsigned char *cursor = packet.payload;
-
- UINT16_t plen = 0;
-
- /* Do nothing if no session established yet */
- if (!conn->session) return;
-
- /* Do nothing if no discovery socket */
- if (conn->discoverySocket < 0) return;
-
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADT;
- packet.session = conn->session;
-
- /* Reset Session to zero so there is no possibility of
- recursive calls to this function by any signal handler */
- conn->session = 0;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- /* Copy error message */
- if (msg) {
- PPPoETag err;
- size_t elen = strlen(msg);
- err.type = htons(TAG_GENERIC_ERROR);
- err.length = htons(elen);
- strcpy(err.payload, msg);
- memcpy(cursor, &err, elen + TAG_HDR_SIZE);
- cursor += elen + TAG_HDR_SIZE;
- plen += elen + TAG_HDR_SIZE;
- }
-
- /* Copy cookie and relay-ID if needed */
- if (conn->cookie.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- }
-
- if (conn->relayId.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
- syslog(LOG_INFO,"Sent PADT");
-}
-
-/**********************************************************************
-*%FUNCTION: parseLogErrs
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks error tags out of a packet and logs them.
-***********************************************************************/
-void
-parseLogErrs(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME_ERROR:
- syslog(LOG_ERR, "PADT: Service-Name-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: Service-Name-Error: %.*s\n", (int) len, data);
- break;
- case TAG_AC_SYSTEM_ERROR:
- syslog(LOG_ERR, "PADT: System-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: System-Error: %.*s\n", (int) len, data);
- break;
- case TAG_GENERIC_ERROR:
- syslog(LOG_ERR, "PADT: Generic-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADT: Generic-Error: %.*s\n", (int) len, data);
- break;
- }
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/config.h b/mdk-stage1/rp-pppoe/src/config.h
deleted file mode 100644
index e3adf4353..000000000
--- a/mdk-stage1/rp-pppoe/src/config.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* config.h. Generated automatically by configure. */
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* #undef pid_t */
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-/* #undef SETVBUF_REVERSED */
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if your <sys/time.h> declares struct tm. */
-/* #undef TM_IN_SYS_TIME */
-
-#define HAVE_STRUCT_SOCKADDR_LL 1
-
-/* The number of bytes in a unsigned int. */
-#define SIZEOF_UNSIGNED_INT 4
-
-/* The number of bytes in a unsigned long. */
-#define SIZEOF_UNSIGNED_LONG 4
-
-/* The number of bytes in a unsigned short. */
-#define SIZEOF_UNSIGNED_SHORT 2
-
-/* Define if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define if you have the socket function. */
-#define HAVE_SOCKET 1
-
-/* Define if you have the strerror function. */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strtol function. */
-#define HAVE_STRTOL 1
-
-/* Define if you have the <asm/types.h> header file. */
-#define HAVE_ASM_TYPES_H 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H 1
-
-/* Define if you have the <linux/if_ether.h> header file. */
-#define HAVE_LINUX_IF_ETHER_H 1
-
-/* Define if you have kernel-mode PPPoE in Linux file. */
-/* #undef HAVE_LINUX_KERNEL_PPPOE */
-
-/* Define if you have the <linux/if_packet.h> header file. */
-#define HAVE_LINUX_IF_PACKET_H 1
-
-/* Define if you have the <linux/if_pppox.h> header file. */
-#define HAVE_LINUX_IF_PPPOX_H 1
-
-/* Define if you have the <net/bpf.h> header file. */
-#define HAVE_NET_BPF_H 1
-
-/* Define if you have the <net/if_arp.h> header file. */
-//#define HAVE_NET_IF_ARP_H 1
-
-/* Define if you have the <net/ethernet.h> header file. */
-#define HAVE_NET_ETHERNET_H 1
-
-/* Define if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define if you have the <linux/if.h> header file. */
-#define HAVE_LINUX_IF_H 1
-
-/* Define if you have the <net/if_dl.h> header file. */
-/* #undef HAVE_NET_IF_DL_H */
-
-/* Define if you have the <net/if_ether.h> header file. */
-/* #undef HAVE_NET_IF_ETHER_H */
-
-/* Define if you have the <net/if_types.h> header file. */
-/* #undef HAVE_NET_IF_TYPES_H */
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-//#define HAVE_NETINET_IF_ETHER_H 1
-
-/* Define if you have the <netpacket/packet.h> header file. */
-#define HAVE_NETPACKET_PACKET_H 1
-
-/* Define if you have the <sys/cdefs.h> header file. */
-#define HAVE_SYS_CDEFS_H 1
-
-/* Define if you have the <sys/dlpi.h> header file. */
-/* #undef HAVE_SYS_DLPI_H */
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#define HAVE_SYS_IOCTL_H 1
-
-/* Define if you have the <sys/param.h> header file. */
-#define HAVE_SYS_PARAM_H 1
-
-/* Define if you have the <sys/socket.h> header file. */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define if you have the <sys/uio.h> header file. */
-#define HAVE_SYS_UIO_H 1
-
-/* Define if you have the <syslog.h> header file. */
-#define HAVE_SYSLOG_H 1
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the N_HDLC line discipline in linux/termios.h */
-#define HAVE_N_HDLC 1
-
-/* Define if bitfields are packed in reverse order */
-#define PACK_BITFIELDS_REVERSED 1
diff --git a/mdk-stage1/rp-pppoe/src/config.h.in b/mdk-stage1/rp-pppoe/src/config.h.in
deleted file mode 100644
index e3340389d..000000000
--- a/mdk-stage1/rp-pppoe/src/config.h.in
+++ /dev/null
@@ -1,134 +0,0 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-#undef SETVBUF_REVERSED
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if your <sys/time.h> declares struct tm. */
-#undef TM_IN_SYS_TIME
-
-#undef HAVE_STRUCT_SOCKADDR_LL
-
-/* The number of bytes in a unsigned int. */
-#undef SIZEOF_UNSIGNED_INT
-
-/* The number of bytes in a unsigned long. */
-#undef SIZEOF_UNSIGNED_LONG
-
-/* The number of bytes in a unsigned short. */
-#undef SIZEOF_UNSIGNED_SHORT
-
-/* Define if you have the select function. */
-#undef HAVE_SELECT
-
-/* Define if you have the socket function. */
-#undef HAVE_SOCKET
-
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
-
-/* Define if you have the strtol function. */
-#undef HAVE_STRTOL
-
-/* Define if you have the <asm/types.h> header file. */
-#undef HAVE_ASM_TYPES_H
-
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define if you have the <linux/if_ether.h> header file. */
-#undef HAVE_LINUX_IF_ETHER_H
-
-/* Define if you have kernel-mode PPPoE in Linux file. */
-#undef HAVE_LINUX_KERNEL_PPPOE
-
-/* Define if you have the <linux/if_packet.h> header file. */
-#undef HAVE_LINUX_IF_PACKET_H
-
-/* Define if you have the <linux/if_pppox.h> header file. */
-#undef HAVE_LINUX_IF_PPPOX_H
-
-/* Define if you have the <net/bpf.h> header file. */
-#undef HAVE_NET_BPF_H
-
-/* Define if you have the <net/if_arp.h> header file. */
-#undef HAVE_NET_IF_ARP_H
-
-/* Define if you have the <net/ethernet.h> header file. */
-#undef HAVE_NET_ETHERNET_H
-
-/* Define if you have the <net/if.h> header file. */
-#undef HAVE_NET_IF_H
-
-/* Define if you have the <linux/if.h> header file. */
-#undef HAVE_LINUX_IF_H
-
-/* Define if you have the <net/if_dl.h> header file. */
-#undef HAVE_NET_IF_DL_H
-
-/* Define if you have the <net/if_ether.h> header file. */
-#undef HAVE_NET_IF_ETHER_H
-
-/* Define if you have the <net/if_types.h> header file. */
-#undef HAVE_NET_IF_TYPES_H
-
-/* Define if you have the <netinet/if_ether.h> header file. */
-#undef HAVE_NETINET_IF_ETHER_H
-
-/* Define if you have the <netpacket/packet.h> header file. */
-#undef HAVE_NETPACKET_PACKET_H
-
-/* Define if you have the <sys/cdefs.h> header file. */
-#undef HAVE_SYS_CDEFS_H
-
-/* Define if you have the <sys/dlpi.h> header file. */
-#undef HAVE_SYS_DLPI_H
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/uio.h> header file. */
-#undef HAVE_SYS_UIO_H
-
-/* Define if you have the <syslog.h> header file. */
-#undef HAVE_SYSLOG_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if you have the N_HDLC line discipline in linux/termios.h */
-#undef HAVE_N_HDLC
-
-/* Define if bitfields are packed in reverse order */
-#undef PACK_BITFIELDS_REVERSED
diff --git a/mdk-stage1/rp-pppoe/src/configure b/mdk-stage1/rp-pppoe/src/configure
deleted file mode 100755
index eede451a1..000000000
--- a/mdk-stage1/rp-pppoe/src/configure
+++ /dev/null
@@ -1,2356 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_default_prefix=/usr
-ac_help="$ac_help
- --enable-plugin=pppd_src_path build pppd plugin"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=pppoe.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:536: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:566: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:617: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:649: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 660 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:691: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:696: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:724: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:758: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 773 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 790 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 807 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:838: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 843 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- ac_cv_header_stdc=yes
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 868 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "memchr" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 886 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "free" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
- :
-else
- cat > conftest.$ac_ext <<EOF
-#line 907 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- :
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
- cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:942: checking for sys/wait.h that is POSIX.1 compatible" >&5
-if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 947 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
-int main() {
-int s;
-wait (&s);
-s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
-; return 0; }
-EOF
-if { (eval echo configure:963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_header_sys_wait_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_sys_wait_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
-if test $ac_cv_header_sys_wait_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_SYS_WAIT_H 1
-EOF
-
-fi
-
-for ac_hdr in fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:987: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 992 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1025: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1030 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:1079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1100: checking for pid_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1105 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_pid_t=yes
-else
- rm -rf conftest*
- ac_cv_type_pid_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_pid_t" 1>&6
-if test $ac_cv_type_pid_t = no; then
- cat >> confdefs.h <<\EOF
-#define pid_t int
-EOF
-
-fi
-
-echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1133: checking whether time.h and sys/time.h may both be included" >&5
-if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1138 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-int main() {
-struct tm *tp;
-; return 0; }
-EOF
-if { (eval echo configure:1147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_header_time=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_time=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_time" 1>&6
-if test $ac_cv_header_time = yes; then
- cat >> confdefs.h <<\EOF
-#define TIME_WITH_SYS_TIME 1
-EOF
-
-fi
-
-echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:1168: checking whether struct tm is in sys/time.h or time.h" >&5
-if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1173 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <time.h>
-int main() {
-struct tm *tp; tp->tm_sec;
-; return 0; }
-EOF
-if { (eval echo configure:1181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_struct_tm=time.h
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_struct_tm=sys/time.h
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_struct_tm" 1>&6
-if test $ac_cv_struct_tm = sys/time.h; then
- cat >> confdefs.h <<\EOF
-#define TM_IN_SYS_TIME 1
-EOF
-
-fi
-
-
-# Extract the first word of "echo", so it can be a program name with args.
-set dummy echo; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1205: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_ECHO'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$ECHO" in
- /*)
- ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_ECHO="$ECHO" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/ucb/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_ECHO="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_ECHO" && ac_cv_path_ECHO=""""
- ;;
-esac
-fi
-ECHO="$ac_cv_path_ECHO"
-if test -n "$ECHO"; then
- echo "$ac_t""$ECHO" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-$ECHO -n "checking for struct sockaddr_ll... "
-cat > conftest.$ac_ext <<EOF
-#line 1241 "configure"
-#include "confdefs.h"
-#include <asm/types.h>
-#include <linux/if_packet.h>
-#include <linux/if_ether.h>
-
-int main() {
-struct sockaddr_ll sa;
-; return 0; }
-EOF
-if { (eval echo configure:1251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_struct_sockaddr_ll=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_struct_sockaddr_ll=no
-fi
-rm -f conftest*
-$ECHO $ac_cv_struct_sockaddr_ll
-if test "$ac_cv_struct_sockaddr_ll" = yes ; then
-cat >> confdefs.h <<\EOF
-#define HAVE_STRUCT_SOCKADDR_LL 1
-EOF
-
-fi
-
-$ECHO -n "checking for N_HDLC line discipline... "
-cat > conftest.$ac_ext <<EOF
-#line 1271 "configure"
-#include "confdefs.h"
-#include <linux/termios.h>
-int main() {
-int x = N_HDLC;
-; return 0; }
-EOF
-if { (eval echo configure:1278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_n_hdlc=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_n_hdlc=no
-fi
-rm -f conftest*
-$ECHO $ac_cv_n_hdlc
-if test "$ac_cv_n_hdlc" = yes ; then
-cat >> confdefs.h <<\EOF
-#define HAVE_N_HDLC 1
-EOF
-
-fi
-
-# Check whether --enable-plugin or --disable-plugin was given.
-if test "${enable_plugin+set}" = set; then
- enableval="$enable_plugin"
- ac_cv_pluginpath=$enableval
-else
- ac_cv_pluginpath=no
-fi
-
-
-LINUX_KERNELMODE_PLUGIN=""
-PPPD_INCDIR=""
-if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
- if test "$ac_cv_pluginpath" != no ; then
- LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
- PPPD_INCDIR=$ac_cv_pluginpath
- fi
-fi
-
-
-
-
-PPPOE_RELAY=""
-if test "`uname -s`" = "Linux" ; then
- PPPOE_RELAY=pppoe-relay
-fi
-
-
-echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:1324: checking for 8-bit clean memcmp" >&5
-if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_memcmp_clean=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 1332 "configure"
-#include "confdefs.h"
-
-main()
-{
- char c0 = 0x40, c1 = 0x80, c2 = 0x81;
- exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
-}
-
-EOF
-if { (eval echo configure:1342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_memcmp_clean=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_memcmp_clean=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
-test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
-
-echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:1360: checking whether setvbuf arguments are reversed" >&5
-if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1368 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-/* If setvbuf has the reversed format, exit 0. */
-main () {
- /* This call has the arguments reversed.
- A reversed system may check and see that the address of main
- is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
- if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0)
- exit(1);
- putc('\r', stdout);
- exit(0); /* Non-reversed systems segv here. */
-}
-EOF
-if { (eval echo configure:1382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_setvbuf_reversed=no
-fi
-rm -fr conftest*
-fi
-
-rm -f core core.* *.core
-fi
-
-echo "$ac_t""$ac_cv_func_setvbuf_reversed" 1>&6
-if test $ac_cv_func_setvbuf_reversed = yes; then
- cat >> confdefs.h <<\EOF
-#define SETVBUF_REVERSED 1
-EOF
-
-fi
-
-echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1406: checking return type of signal handlers" >&5
-if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1411 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int main() {
-int i;
-; return 0; }
-EOF
-if { (eval echo configure:1428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_type_signal=void
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_type_signal=int
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_type_signal" 1>&6
-cat >> confdefs.h <<EOF
-#define RETSIGTYPE $ac_cv_type_signal
-EOF
-
-
-for ac_func in select socket strerror strtol
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1449: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1454 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1532: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6
-echo "configure:1586: checking size of unsigned short" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_short'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1594 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned short));
- exit(0);
-}
-EOF
-if { (eval echo configure:1605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_short=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_short=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_short" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_SHORT $ac_cv_sizeof_unsigned_short
-EOF
-
-
-echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6
-echo "configure:1625: checking size of unsigned int" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1633 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned int));
- exit(0);
-}
-EOF
-if { (eval echo configure:1644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_int=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_int=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_int" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
-EOF
-
-
-echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
-echo "configure:1664: checking size of unsigned long" >&5
-if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1672 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof(unsigned long));
- exit(0);
-}
-EOF
-if { (eval echo configure:1683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_sizeof_unsigned_long=`cat conftestval`
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_sizeof_unsigned_long=0
-fi
-rm -fr conftest*
-fi
-
-fi
-echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6
-cat >> confdefs.h <<EOF
-#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
-EOF
-
-
-
-# Extract the first word of "pppd", so it can be a program name with args.
-set dummy pppd; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1706: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PPPD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$PPPD" in
- /*)
- ac_cv_path_PPPD="$PPPD" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_PPPD="$PPPD" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_PPPD="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_PPPD" && ac_cv_path_PPPD="NOTFOUND"
- ;;
-esac
-fi
-PPPD="$ac_cv_path_PPPD"
-if test -n "$PPPD"; then
- echo "$ac_t""$PPPD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-# Extract the first word of "setsid", so it can be a program name with args.
-set dummy setsid; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1743: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_SETSID'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$SETSID" in
- /*)
- ac_cv_path_SETSID="$SETSID" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_SETSID="$SETSID" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_SETSID="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_SETSID" && ac_cv_path_SETSID=""""
- ;;
-esac
-fi
-SETSID="$ac_cv_path_SETSID"
-if test -n "$SETSID"; then
- echo "$ac_t""$SETSID" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-# Extract the first word of "id", so it can be a program name with args.
-set dummy id; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1780: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_ID'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$ID" in
- /*)
- ac_cv_path_ID="$ID" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_ID="$ID" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/xpg4/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_ID="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_ID" && ac_cv_path_ID=""""
- ;;
-esac
-fi
-ID="$ac_cv_path_ID"
-if test -n "$ID"; then
- echo "$ac_t""$ID" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
-if test "`uname -s`" = "Linux" ; then
-if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1820 "configure"
-#include "confdefs.h"
-#include <sys/socket.h>
-#include <net/ethernet.h>
-#include <linux/if.h>
-#include <linux/if_pppox.h>
-int main()
-{
- if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
-}
-
-EOF
-if { (eval echo configure:1832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_linux_kernel_pppoe=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_linux_kernel_pppoe=no
-fi
-rm -fr conftest*
-fi
-
-else
- ac_cv_linux_kernel_pppoe=no
-fi
-
-$ECHO $ac_cv_linux_kernel_pppoe
-if test "$ac_cv_linux_kernel_pppoe" = yes ; then
- cat >> confdefs.h <<\EOF
-#define HAVE_LINUX_KERNEL_PPPOE 1
-EOF
-
-fi
-
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi -pedantic"
-fi
-
-if test "$PPPD" = "NOTFOUND"; then
- $ECHO ""
- $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
- $ECHO "*** You must install pppd, version 2.3.10 or later."
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
-fi
-
-
-PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
-
-case "$PPPD_VERSION" in
-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
- $ECHO ""
- $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
- $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-
-2.3.7|2.3.8|2.3.9)
- $ECHO ""
- $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
- $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
- $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
- $ECHO ""
- ;;
-
-2*|3*|4*|5*|6*|7*|8*|9*)
- ;;
-
-*)
- $ECHO ""
- $ECHO "*** Oops. I cannot figure out what version of pppd you have."
- $ECHO "*** All I got back was '$PPPD_VERSION'"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-esac
-
-$ECHO -n "checking packing order of bit fields... "
-if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
- cat > conftest.$ac_ext <<EOF
-#line 1905 "configure"
-#include "confdefs.h"
-
-union foo {
- struct bar {
- unsigned int ver:4;
- unsigned int type:4;
- } bb;
- unsigned char baz;
-};
-
-int
-main(void)
-{
- union foo x;
- x.bb.ver = 1;
- x.bb.type = 2;
- if (x.baz == 0x21) {
- return 1;
- } else if (x.baz == 0x12) {
- return 0;
- } else {
- return 2;
- }
-}
-EOF
-if { (eval echo configure:1931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- PACK=normal
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- PACK=rev
-fi
-rm -fr conftest*
-fi
-
-
-if test "$PACK" = "rev" ; then
- $ECHO "reversed"
- cat >> confdefs.h <<\EOF
-#define PACK_BITFIELDS_REVERSED 1
-EOF
-
-else
- $ECHO "normal"
-fi
-
-# Sigh... got to fix this up for tcl
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Fully resolve WRAPPER for Tcl script.
-WRAPPER=${sbindir}/pppoe-wrapper
-eval "WRAPPER=${WRAPPER}"
-eval "WRAPPER=${WRAPPER}"
-
-
-# Determine what targets to build
-TARGETS="pppoe pppoe-server"
-
-# pppoe-sniff is built only on Linux and Solaris
-if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-sniff"
-fi
-
-# pppoe-relay is built only on Linux
-if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-relay"
-fi
-
-# plugin is built only if we have kernel support
-if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
- TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
-fi
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@CPP@%$CPP%g
-s%@ECHO@%$ECHO%g
-s%@LINUX_KERNELMODE_PLUGIN@%$LINUX_KERNELMODE_PLUGIN%g
-s%@PPPD_INCDIR@%$PPPD_INCDIR%g
-s%@PPPOE_RELAY@%$PPPOE_RELAY%g
-s%@LIBOBJS@%$LIBOBJS%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PPPD@%$PPPD%g
-s%@SETSID@%$SETSID%g
-s%@ID@%$ID%g
-s%@WRAPPER@%$WRAPPER%g
-s%@TARGETS@%$TARGETS%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="config.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
-$ECHO ""
-$ECHO "On this platform, the following targets will be built:"
-$ECHO " $TARGETS"
-$ECHO ""
-$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/configure.in b/mdk-stage1/rp-pppoe/src/configure.in
deleted file mode 100644
index c11690179..000000000
--- a/mdk-stage1/rp-pppoe/src/configure.in
+++ /dev/null
@@ -1,231 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(pppoe.c)
-
-AC_CONFIG_HEADER(config.h)
-
-AC_PREFIX_DEFAULT(/usr)
-
-dnl Checks for programs.
-AC_PROG_CC
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h )
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_PID_T
-AC_HEADER_TIME
-AC_STRUCT_TM
-
-dnl Check for an echo which supports -n -- another hack for Solaris
-AC_PATH_PROG(ECHO, echo, "", /usr/ucb/bin:$PATH)
-
-dnl Check for sockaddr_ll
-$ECHO -n "checking for struct sockaddr_ll... "
-AC_TRY_COMPILE([#include <asm/types.h>
-#include <linux/if_packet.h>
-#include <linux/if_ether.h>
-], [struct sockaddr_ll sa;],
-ac_cv_struct_sockaddr_ll=yes, ac_cv_struct_sockaddr_ll=no)
-$ECHO $ac_cv_struct_sockaddr_ll
-if test "$ac_cv_struct_sockaddr_ll" = yes ; then
-AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL)
-fi
-
-dnl Check for N_HDLC line discipline
-$ECHO -n "checking for N_HDLC line discipline... "
-AC_TRY_COMPILE([#include <linux/termios.h>],
- [int x = N_HDLC;],
- ac_cv_n_hdlc=yes, ac_cv_n_hdlc=no)
-$ECHO $ac_cv_n_hdlc
-if test "$ac_cv_n_hdlc" = yes ; then
-AC_DEFINE(HAVE_N_HDLC)
-fi
-
-AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no)
-
-dnl Determine whether or not to build Linux pppd plugin
-LINUX_KERNELMODE_PLUGIN=""
-PPPD_INCDIR=""
-if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
- if test "$ac_cv_pluginpath" != no ; then
- LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
- PPPD_INCDIR=$ac_cv_pluginpath
- fi
-fi
-
-AC_SUBST(LINUX_KERNELMODE_PLUGIN)
-AC_SUBST(PPPD_INCDIR)
-
-dnl Determine whether or not to build PPPoE relay
-PPPOE_RELAY=""
-if test "`uname -s`" = "Linux" ; then
- PPPOE_RELAY=pppoe-relay
-fi
-AC_SUBST(PPPOE_RELAY)
-
-dnl Checks for library functions.
-AC_FUNC_MEMCMP
-AC_FUNC_SETVBUF_REVERSED
-AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(select socket strerror strtol)
-AC_PROG_INSTALL
-
-dnl Integer sizes
-AC_CHECK_SIZEOF(unsigned short)
-AC_CHECK_SIZEOF(unsigned int)
-AC_CHECK_SIZEOF(unsigned long)
-
-dnl Check for location of pppd
-AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-
-dnl Check for setsid (probably Linux-specific)
-AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin)
-
-dnl Check for an "id" which accepts "-u" option -- hack for Solaris.
-AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH)
-
-dnl Check for Linux-specific kernel support for PPPoE
-$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
-if test "`uname -s`" = "Linux" ; then
-AC_TRY_RUN([#include <sys/socket.h>
-#include <net/ethernet.h>
-#include <linux/if.h>
-#include <linux/if_pppox.h>
-int main()
-{
- if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
-}
-], ac_cv_linux_kernel_pppoe=yes, ac_cv_linux_kernel_pppoe=no)
-else
- ac_cv_linux_kernel_pppoe=no
-fi
-
-$ECHO $ac_cv_linux_kernel_pppoe
-if test "$ac_cv_linux_kernel_pppoe" = yes ; then
- AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE)
-fi
-
-dnl GCC warning level
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
-fi
-
-dnl If we couldn't find pppd, die
-if test "$PPPD" = "NOTFOUND"; then
- $ECHO ""
- $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
- $ECHO "*** You must install pppd, version 2.3.10 or later."
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
-fi
-
-dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than
-dnl 2.3.7 -- stop
-
-PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
-
-case "$PPPD_VERSION" in
-1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
- $ECHO ""
- $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
- $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-
-2.3.7|2.3.8|2.3.9)
- $ECHO ""
- $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
- $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
- $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
- $ECHO ""
- ;;
-
-2*|3*|4*|5*|6*|7*|8*|9*)
- ;;
-
-*)
- $ECHO ""
- $ECHO "*** Oops. I cannot figure out what version of pppd you have."
- $ECHO "*** All I got back was '$PPPD_VERSION'"
- $ECHO "*** I will keep going, but it may not work."
- $ECHO ""
- ;;
-esac
-
-dnl Figure out packing order of structures
-$ECHO -n "checking packing order of bit fields... "
-AC_TRY_RUN([
-union foo {
- struct bar {
- unsigned int ver:4;
- unsigned int type:4;
- } bb;
- unsigned char baz;
-};
-
-int
-main(void)
-{
- union foo x;
- x.bb.ver = 1;
- x.bb.type = 2;
- if (x.baz == 0x21) {
- return 1;
- } else if (x.baz == 0x12) {
- return 0;
- } else {
- return 2;
- }
-}], PACK=normal, PACK=rev)
-
-if test "$PACK" = "rev" ; then
- $ECHO "reversed"
- AC_DEFINE(PACK_BITFIELDS_REVERSED)
-else
- $ECHO "normal"
-fi
-
-# Sigh... got to fix this up for tcl
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Fully resolve WRAPPER for Tcl script.
-WRAPPER=${sbindir}/pppoe-wrapper
-eval "WRAPPER=${WRAPPER}"
-eval "WRAPPER=${WRAPPER}"
-AC_SUBST(WRAPPER)
-
-# Determine what targets to build
-TARGETS="pppoe pppoe-server"
-
-# pppoe-sniff is built only on Linux and Solaris
-if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-sniff"
-fi
-
-# pppoe-relay is built only on Linux
-if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
- TARGETS="$TARGETS pppoe-relay"
-fi
-
-# plugin is built only if we have kernel support
-if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
- TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
-fi
-
-AC_SUBST(TARGETS)
-
-AC_OUTPUT(Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe)
-
-$ECHO ""
-$ECHO "On this platform, the following targets will be built:"
-$ECHO " $TARGETS"
-$ECHO ""
-$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/debug.c b/mdk-stage1/rp-pppoe/src/debug.c
deleted file mode 100644
index 052dca6c7..000000000
--- a/mdk-stage1/rp-pppoe/src/debug.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/***********************************************************************
-*
-* debug.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for printing debugging information
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#include <ctype.h>
-
-/**********************************************************************
-*%FUNCTION: dumpHex
-*%ARGUMENTS:
-* fp -- file to dump to
-* buf -- buffer to dump
-* len -- length of data
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Dumps buffer to fp in an easy-to-read format
-***********************************************************************/
-void
-dumpHex(FILE *fp, unsigned char const *buf, int len)
-{
- int i;
- int base;
-
- if (!fp) return;
-
- /* do NOT dump PAP packets */
- if (len >= 2 && buf[0] == 0xC0 && buf[1] == 0x23) {
- fprintf(fp, "(PAP Authentication Frame -- Contents not dumped)\n");
- return;
- }
-
- for (base=0; base<len; base += 16) {
- for (i=base; i<base+16; i++) {
- if (i < len) {
- fprintf(fp, "%02x ", (unsigned) buf[i]);
- } else {
- fprintf(fp, " ");
- }
- }
- fprintf(fp, " ");
- for (i=base; i<base+16; i++) {
- if (i < len) {
- if (isprint(buf[i])) {
- fprintf(fp, "%c", buf[i]);
- } else {
- fprintf(fp, ".");
- }
- } else {
- break;
- }
- }
- fprintf(fp, "\n");
- }
-}
-
-/**********************************************************************
-*%FUNCTION: dumpPacket
-*%ARGUMENTS:
-* fp -- file to dump to
-* packet -- a PPPoE packet
-* dir -- either SENT or RCVD
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Dumps the PPPoE packet to fp in an easy-to-read format
-***********************************************************************/
-void
-dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir)
-{
- int len = ntohs(packet->length);
-
- /* Sheesh... printing times is a pain... */
- struct timeval tv;
- time_t now;
- int millisec;
- struct tm *lt;
- char timebuf[256];
-
- UINT16_t type = etherType(packet);
- if (!fp) return;
- gettimeofday(&tv, NULL);
- now = (time_t) tv.tv_sec;
- millisec = tv.tv_usec / 1000;
- lt = localtime(&now);
- strftime(timebuf, 256, "%H:%M:%S", lt);
- fprintf(fp, "%s.%03d %s PPPoE ", timebuf, millisec, dir);
- if (type == Eth_PPPOE_Discovery) {
- fprintf(fp, "Discovery (%x) ", (unsigned) type);
- } else if (type == Eth_PPPOE_Session) {
- fprintf(fp, "Session (%x) ", (unsigned) type);
- } else {
- fprintf(fp, "Unknown (%x) ", (unsigned) type);
- }
-
- switch(packet->code) {
- case CODE_PADI: fprintf(fp, "PADI "); break;
- case CODE_PADO: fprintf(fp, "PADO "); break;
- case CODE_PADR: fprintf(fp, "PADR "); break;
- case CODE_PADS: fprintf(fp, "PADS "); break;
- case CODE_PADT: fprintf(fp, "PADT "); break;
- case CODE_SESS: fprintf(fp, "SESS "); break;
- }
-
- fprintf(fp, "sess-id %d length %d\n",
- (int) ntohs(packet->session),
- len);
-
- /* Ugly... I apologize... */
- fprintf(fp,
- "SourceAddr %02x:%02x:%02x:%02x:%02x:%02x "
- "DestAddr %02x:%02x:%02x:%02x:%02x:%02x\n",
- (unsigned) packet->ethHdr.h_source[0],
- (unsigned) packet->ethHdr.h_source[1],
- (unsigned) packet->ethHdr.h_source[2],
- (unsigned) packet->ethHdr.h_source[3],
- (unsigned) packet->ethHdr.h_source[4],
- (unsigned) packet->ethHdr.h_source[5],
- (unsigned) packet->ethHdr.h_dest[0],
- (unsigned) packet->ethHdr.h_dest[1],
- (unsigned) packet->ethHdr.h_dest[2],
- (unsigned) packet->ethHdr.h_dest[3],
- (unsigned) packet->ethHdr.h_dest[4],
- (unsigned) packet->ethHdr.h_dest[5]);
- dumpHex(fp, packet->payload, ntohs(packet->length));
-}
diff --git a/mdk-stage1/rp-pppoe/src/discovery.c b/mdk-stage1/rp-pppoe/src/discovery.c
deleted file mode 100644
index fc3568db5..000000000
--- a/mdk-stage1/rp-pppoe/src/discovery.c
+++ /dev/null
@@ -1,629 +0,0 @@
-/***********************************************************************
-*
-* discovery.c
-*
-* Perform PPPoE discovery
-*
-* Copyright (C) 1999 by Roaring Penguin Software Inc.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef USE_LINUX_PACKET
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#endif
-
-#include <signal.h>
-
-/**********************************************************************
-*%FUNCTION: parseForHostUniq
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data.
-* extra -- user-supplied pointer. This is assumed to be a pointer to int.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* If a HostUnique tag is found which matches our PID, sets *extra to 1.
-***********************************************************************/
-void
-parseForHostUniq(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- int *val = (int *) extra;
- if (type == TAG_HOST_UNIQ && len == sizeof(pid_t)) {
- pid_t tmp;
- memcpy(&tmp, data, len);
- if (tmp == getpid()) {
- *val = 1;
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: packetIsForMe
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* packet -- a received PPPoE packet
-*%RETURNS:
-* 1 if packet is for this PPPoE daemon; 0 otherwise.
-*%DESCRIPTION:
-* If we are using the Host-Unique tag, verifies that packet contains
-* our unique identifier.
-***********************************************************************/
-int
-packetIsForMe(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- int forMe = 0;
-
- /* If we're not using the Host-Unique tag, then accept the packet */
- if (!conn->useHostUniq) return 1;
-
- parsePacket(packet, parseForHostUniq, &forMe);
- return forMe;
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADOTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data. Should point to a PacketCriteria structure
-* which gets filled in according to selected AC name and service
-* name.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADO packet
-***********************************************************************/
-void
-parsePADOTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- struct PacketCriteria *pc = (struct PacketCriteria *) extra;
- PPPoEConnection *conn = pc->conn;
- int i;
-
- switch(type) {
- case TAG_AC_NAME:
- if (conn->printACNames) {
- printf("Access-Concentrator: %.*s\n", (int) len, data);
- }
- if (conn->acName && len == strlen(conn->acName) &&
- !strncmp((char *) data, conn->acName, len)) {
- pc->acNameOK = 1;
- }
- break;
- case TAG_SERVICE_NAME:
- if (conn->printACNames && len > 0) {
- printf(" Service-Name: %.*s\n", (int) len, data);
- }
- if (conn->serviceName && len == strlen(conn->serviceName) &&
- !strncmp((char *) data, conn->serviceName, len)) {
- pc->serviceNameOK = 1;
- }
- break;
- case TAG_AC_COOKIE:
- if (conn->printACNames) {
- printf("Got a cookie:");
- /* Print first 20 bytes of cookie */
- for (i=0; i<len && i < 20; i++) {
- printf(" %02x", (unsigned) data[i]);
- }
- if (i < len) printf("...");
- printf("\n");
- }
- conn->cookie.type = htons(type);
- conn->cookie.length = htons(len);
- memcpy(conn->cookie.payload, data, len);
- break;
- case TAG_RELAY_SESSION_ID:
- if (conn->printACNames) {
- printf("Got a Relay-ID:");
- /* Print first 20 bytes of relay ID */
- for (i=0; i<len && i < 20; i++) {
- printf(" %02x", (unsigned) data[i]);
- }
- if (i < len) printf("...");
- printf("\n");
- }
- conn->relayId.type = htons(type);
- conn->relayId.length = htons(len);
- memcpy(conn->relayId.payload, data, len);
- break;
- case TAG_SERVICE_NAME_ERROR:
- if (conn->printACNames) {
- printf("Got a Service-Name-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: Service-Name-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- case TAG_AC_SYSTEM_ERROR:
- if (conn->printACNames) {
- printf("Got a System-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: System-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- case TAG_GENERIC_ERROR:
- if (conn->printACNames) {
- printf("Got a Generic-Error tag: %.*s\n", (int) len, data);
- } else {
- syslog(LOG_ERR, "PADO: Generic-Error: %.*s", (int) len, data);
- exit(1);
- }
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADSTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data (pointer to PPPoEConnection structure)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADS packet
-***********************************************************************/
-void
-parsePADSTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- PPPoEConnection *conn = (PPPoEConnection *) extra;
- switch(type) {
- case TAG_SERVICE_NAME:
- syslog(LOG_DEBUG, "PADS: Service-Name: '%.*s'", (int) len, data);
- break;
- case TAG_SERVICE_NAME_ERROR:
- syslog(LOG_ERR, "PADS: Service-Name-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: Service-Name-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_AC_SYSTEM_ERROR:
- syslog(LOG_ERR, "PADS: System-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: System-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_GENERIC_ERROR:
- syslog(LOG_ERR, "PADS: Generic-Error: %.*s", (int) len, data);
- fprintf(stderr, "PADS: Generic-Error: %.*s\n", (int) len, data);
- exit(1);
- case TAG_RELAY_SESSION_ID:
- conn->relayId.type = htons(type);
- conn->relayId.length = htons(len);
- memcpy(conn->relayId.payload, data, len);
- break;
- }
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADI
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADI packet
-***********************************************************************/
-void
-sendPADI(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- unsigned char *cursor = packet.payload;
- PPPoETag *svc = (PPPoETag *) (&packet.payload);
- UINT16_t namelen = 0;
- UINT16_t plen;
-
- if (conn->serviceName) {
- namelen = (UINT16_t) strlen(conn->serviceName);
- }
- plen = TAG_HDR_SIZE + namelen;
- CHECK_ROOM(cursor, packet.payload, plen);
-
- /* Set destination to Ethernet broadcast address */
- memset(packet.ethHdr.h_dest, 0xFF, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADI;
- packet.session = 0;
-
- svc->type = TAG_SERVICE_NAME;
- svc->length = htons(namelen);
- CHECK_ROOM(cursor, packet.payload, namelen+TAG_HDR_SIZE);
-
- if (conn->serviceName) {
- memcpy(svc->payload, conn->serviceName, strlen(conn->serviceName));
- }
- cursor += namelen + TAG_HDR_SIZE;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- CHECK_ROOM(cursor, packet.payload, sizeof(pid) + TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
-
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: waitForPADO
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* timeout -- how long to wait (in seconds)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Waits for a PADO packet and copies useful information
-***********************************************************************/
-void
-waitForPADO(PPPoEConnection *conn, int timeout)
-{
- fd_set readable;
- int r;
- struct timeval tv;
- PPPoEPacket packet;
- int len;
-
- struct PacketCriteria pc;
- pc.conn = conn;
- pc.acNameOK = (conn->acName) ? 0 : 1;
- pc.serviceNameOK = (conn->serviceName) ? 0 : 1;
-
- do {
- if (BPF_BUFFER_IS_EMPTY) {
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&readable);
- FD_SET(conn->discoverySocket, &readable);
-
- while(1) {
- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (waitForPADO)");
- }
- if (r == 0) return; /* Timed out */
- }
-
- /* Get the packet */
- receivePacket(conn->discoverySocket, &packet, &len);
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
-#ifdef USE_BPF
- /* If it's not a Discovery packet, loop again */
- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
-#endif
-
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
- /* If it's not for us, loop again */
- if (!packetIsForMe(conn, &packet)) continue;
-
- if (packet.code == CODE_PADO) {
- if (NOT_UNICAST(packet.ethHdr.h_source)) {
- printErr("Ignoring PADO packet from non-unicast MAC address");
- continue;
- }
- conn->numPADOs++;
- if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- }
- parsePacket(&packet, parsePADOTags, &pc);
- if (pc.acNameOK && pc.serviceNameOK) {
- memcpy(conn->peerEth, packet.ethHdr.h_source, ETH_ALEN);
- if (conn->printACNames) {
- printf("AC-Ethernet-Address: %02x:%02x:%02x:%02x:%02x:%02x\n",
- (unsigned) conn->peerEth[0],
- (unsigned) conn->peerEth[1],
- (unsigned) conn->peerEth[2],
- (unsigned) conn->peerEth[3],
- (unsigned) conn->peerEth[4],
- (unsigned) conn->peerEth[5]);
- continue;
- }
- conn->discoveryState = STATE_RECEIVED_PADO;
- break;
- }
- }
- } while (conn->discoveryState != STATE_RECEIVED_PADO);
-}
-
-/***********************************************************************
-*%FUNCTION: sendPADR
-*%ARGUMENTS:
-* conn -- PPPoE connection structur
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADR packet
-***********************************************************************/
-void
-sendPADR(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- PPPoETag *svc = (PPPoETag *) packet.payload;
- unsigned char *cursor = packet.payload;
-
- UINT16_t namelen = 0;
- UINT16_t plen;
-
- if (conn->serviceName) {
- namelen = (UINT16_t) strlen(conn->serviceName);
- }
- plen = TAG_HDR_SIZE + namelen;
- CHECK_ROOM(cursor, packet.payload, plen);
-
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
-
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_PADR;
- packet.session = 0;
-
- svc->type = TAG_SERVICE_NAME;
- svc->length = htons(namelen);
- if (conn->serviceName) {
- memcpy(svc->payload, conn->serviceName, namelen);
- }
- cursor += namelen + TAG_HDR_SIZE;
-
- /* If we're using Host-Uniq, copy it over */
- if (conn->useHostUniq) {
- PPPoETag hostUniq;
- pid_t pid = getpid();
- hostUniq.type = htons(TAG_HOST_UNIQ);
- hostUniq.length = htons(sizeof(pid));
- memcpy(hostUniq.payload, &pid, sizeof(pid));
- CHECK_ROOM(cursor, packet.payload, sizeof(pid)+TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
- cursor += sizeof(pid) + TAG_HDR_SIZE;
- plen += sizeof(pid) + TAG_HDR_SIZE;
- }
-
- /* Copy cookie and relay-ID if needed */
- if (conn->cookie.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
- }
-
- if (conn->relayId.type) {
- CHECK_ROOM(cursor, packet.payload,
- ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
- }
-
- packet.length = htons(plen);
- sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: waitForPADS
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* timeout -- how long to wait (in seconds)
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Waits for a PADS packet and copies useful information
-***********************************************************************/
-void
-waitForPADS(PPPoEConnection *conn, int timeout)
-{
- fd_set readable;
- int r;
- struct timeval tv;
- PPPoEPacket packet;
- int len;
-
- do {
- if (BPF_BUFFER_IS_EMPTY) {
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&readable);
- FD_SET(conn->discoverySocket, &readable);
-
- while(1) {
- r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (waitForPADS)");
- }
- if (r == 0) return;
- }
-
- /* Get the packet */
- receivePacket(conn->discoverySocket, &packet, &len);
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
-#ifdef USE_BPF
- /* If it's not a Discovery packet, loop again */
- if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
-#endif
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
- /* If it's not from the AC, it's not for me */
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) continue;
-
- /* If it's not for us, loop again */
- if (!packetIsForMe(conn, &packet)) continue;
-
- /* Is it PADS? */
- if (packet.code == CODE_PADS) {
- /* Parse for goodies */
- parsePacket(&packet, parsePADSTags, conn);
- conn->discoveryState = STATE_SESSION;
- break;
- }
- } while (conn->discoveryState != STATE_SESSION);
-
- /* Don't bother with ntohs; we'll just end up converting it back... */
- conn->session = packet.session;
-
- syslog(LOG_INFO, "PPP session is %d", (int) ntohs(conn->session));
-
- /* RFC 2516 says session id MUST NOT be zero or 0xFFFF */
- if (ntohs(conn->session) == 0 || ntohs(conn->session) == 0xFFFF) {
- syslog(LOG_ERR, "Access concentrator used a session value of %x -- the AC is violating RFC 2516", (unsigned int) ntohs(conn->session));
- }
-}
-
-/**********************************************************************
-*%FUNCTION: discovery
-*%ARGUMENTS:
-* conn -- PPPoE connection info structure
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Performs the PPPoE discovery phase
-***********************************************************************/
-void
-discovery(PPPoEConnection *conn)
-{
- int padiAttempts = 0;
- int padrAttempts = 0;
- int timeout = PADI_TIMEOUT;
-
- /* Skip discovery and don't open discovery socket? */
- if (conn->skipDiscovery && conn->noDiscoverySocket) {
- conn->discoveryState = STATE_SESSION;
- return;
- }
-
- conn->discoverySocket =
- openInterface(conn->ifName, Eth_PPPOE_Discovery, conn->myEth);
-
- /* Skip discovery? */
- if (conn->skipDiscovery) {
- conn->discoveryState = STATE_SESSION;
- if (conn->killSession) {
- sendPADT(conn, "RP-PPPoE: Session killed manually");
- exit(0);
- }
- return;
- }
-
- do {
- padiAttempts++;
- if (padiAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADO packets");
- }
- sendPADI(conn);
- conn->discoveryState = STATE_SENT_PADI;
- waitForPADO(conn, timeout);
-
- /* If we're just probing for access concentrators, don't do
- exponential backoff. This reduces the time for an unsuccessful
- probe to 15 seconds. */
- if (!conn->printACNames) {
- timeout *= 2;
- }
- if (conn->printACNames && conn->numPADOs) {
- break;
- }
- } while (conn->discoveryState == STATE_SENT_PADI);
-
- /* If we're only printing access concentrator names, we're done */
- if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- exit(0);
- }
-
- timeout = PADI_TIMEOUT;
- do {
- padrAttempts++;
- if (padrAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADS packets");
- }
- sendPADR(conn);
- conn->discoveryState = STATE_SENT_PADR;
- waitForPADS(conn, timeout);
- timeout *= 2;
- } while (conn->discoveryState == STATE_SENT_PADR);
-
- /* We're done. */
- conn->discoveryState = STATE_SESSION;
- return;
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/if.c b/mdk-stage1/rp-pppoe/src/if.c
deleted file mode 100644
index fec09b273..000000000
--- a/mdk-stage1/rp-pppoe/src/if.c
+++ /dev/null
@@ -1,1092 +0,0 @@
-/***********************************************************************
-*
-* if.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for opening a raw socket and reading/writing raw Ethernet frames.
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_NETPACKET_PACKET_H
-#include <netpacket/packet.h>
-#elif defined(HAVE_LINUX_IF_PACKET_H)
-#include <linux/if_packet.h>
-#endif
-
-#ifdef HAVE_NET_ETHERNET_H
-#include <net/ethernet.h>
-#endif
-
-#ifdef HAVE_ASM_TYPES_H
-#include <asm/types.h>
-#endif
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef HAVE_NET_IF_ARP_H
-#include <net/if_arp.h>
-#endif
-
-#ifdef USE_DLPI
-
-#include <limits.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/dlpi.h>
-#include <sys/bufmod.h>
-#include <stdio.h>
-#include <signal.h>
-#include <stropts.h>
-
-/* function declarations */
-
-void dlpromisconreq( int fd, u_long level);
-void dlinforeq(int fd);
-void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen);
-void dlinfoack(int fd, char *bufp);
-void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest);
-void dlattachreq(int fd, u_long ppa);
-void dlokack(int fd, char *bufp);
-void dlbindack(int fd, char *bufp);
-int strioctl(int fd, int cmd, int timout, int len, char *dp);
-void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller);
-void sigalrm(int sig);
-void expecting(int prim, union DL_primitives *dlp);
-char *dlprim(u_long prim);
-
-/* #define DL_DEBUG */
-
-static int dl_abssaplen;
-static int dl_saplen;
-static int dl_addrlen;
-
-#endif
-
-#ifdef USE_BPF
-#include <net/bpf.h>
-#include <fcntl.h>
-
-unsigned char *bpfBuffer; /* Packet filter buffer */
-int bpfLength = 0; /* Packet filter buffer length */
-int bpfSize = 0; /* Number of unread bytes in buffer */
-int bpfOffset = 0; /* Current offset in bpfBuffer */
-#endif
-
-/* Initialize frame types to RFC 2516 values. Some broken peers apparently
- use different frame types... sigh... */
-
-UINT16_t Eth_PPPOE_Discovery = ETH_PPPOE_DISCOVERY;
-UINT16_t Eth_PPPOE_Session = ETH_PPPOE_SESSION;
-
-/**********************************************************************
-*%FUNCTION: etherType
-*%ARGUMENTS:
-* packet -- a received PPPoE packet
-*%RETURNS:
-* ethernet packet type (see /usr/include/net/ethertypes.h)
-*%DESCRIPTION:
-* Checks the ethernet packet header to determine its type.
-* We should only be receveing DISCOVERY and SESSION types if the BPF
-* is set up correctly. Logs an error if an unexpected type is received.
-* Note that the ethernet type names come from "pppoe.h" and the packet
-* packet structure names use the LINUX dialect to maintain consistency
-* with the rest of this file. See the BSD section of "pppoe.h" for
-* translations of the data structure names.
-***********************************************************************/
-UINT16_t
-etherType(PPPoEPacket *packet)
-{
- UINT16_t type = (UINT16_t) ntohs(packet->ethHdr.h_proto);
- if (type != Eth_PPPOE_Discovery && type != Eth_PPPOE_Session) {
- syslog(LOG_ERR, "Invalid ether type 0x%x", type);
- }
- return type;
-}
-
-#ifdef USE_BPF
-/**********************************************************************
-*%FUNCTION: getHWaddr
-*%ARGUMENTS:
-* ifname -- name of interface
-* hwaddr -- buffer for ehthernet address
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Locates the Ethernet hardware address for an interface.
-***********************************************************************/
-void
-getHWaddr(int sock, char const *ifname, unsigned char *hwaddr)
-{
- char inbuf[8192];
- const struct sockaddr_dl *sdl;
- struct ifconf ifc;
- struct ifreq ifreq, *ifr;
- int i;
- int found = 0;
-
- ifc.ifc_len = sizeof(inbuf);
- ifc.ifc_buf = inbuf;
- if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) {
- fatalSys("SIOCGIFCONF");
- }
- ifr = ifc.ifc_req;
- ifreq.ifr_name[0] = '\0';
- for (i = 0; i < ifc.ifc_len; ) {
- ifr = (struct ifreq *)((caddr_t)ifc.ifc_req + i);
- i += sizeof(ifr->ifr_name) +
- (ifr->ifr_addr.sa_len > sizeof(struct sockaddr)
- ? ifr->ifr_addr.sa_len
- : sizeof(struct sockaddr));
- if (ifr->ifr_addr.sa_family == AF_LINK) {
- sdl = (const struct sockaddr_dl *) &ifr->ifr_addr;
- if ((sdl->sdl_type == IFT_ETHER) &&
- (sdl->sdl_alen == ETH_ALEN) &&
- !strncmp(ifname, ifr->ifr_name, sizeof(ifr->ifr_name))) {
- if (found) {
- char buffer[256];
- sprintf(buffer, "interface %.16s has more than one ethernet address", ifname);
- rp_fatal(buffer);
- } else {
- found = 1;
- memcpy(hwaddr, LLADDR(sdl), ETH_ALEN);
- }
- }
- }
- }
- if (!found) {
- char buffer[256];
- sprintf(buffer, "interface %.16s has no ethernet address", ifname);
- rp_fatal(buffer);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: initFilter
-*%ARGUMENTS:
-* fd -- file descriptor of BSD device
-* type -- Ethernet frame type (0 for watch mode)
-* hwaddr -- buffer with ehthernet address
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes the packet filter rules.
-***********************************************************************/
-void
-initFilter(int fd, UINT16_t type, unsigned char *hwaddr)
-{
- /* Packet Filter Instructions:
- * Note that the ethernet type names come from "pppoe.h" and are
- * used here to maintain consistency with the rest of this file. */
- static struct bpf_insn bpfRun[] = { /* run PPPoE */
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 12), /* ethernet type */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_SESSION, 5, 0),
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_DISCOVERY, 0, 9),
- BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
-#define PPPOE_BCAST_CMPW 4 /* offset of word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 2),
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
-#define PPPOE_BCAST_CMPH 6 /* offset of 1/2 word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 4, 0),
- BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
-#define PPPOE_FILTER_CMPW 8 /* offset of word compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 3),
- BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
-#define PPPOE_FILTER_CMPH 10 /* offset of 1/rd compare */
- BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 1),
- BPF_STMT(BPF_RET+BPF_K, (u_int) -1), /* keep packet */
- BPF_STMT(BPF_RET+BPF_K, 0), /* drop packet */
- };
-
- /* Fix the potentially varying parts */
- bpfRun[1].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
- bpfRun[1].jt = 5;
- bpfRun[1].jf = 0;
- bpfRun[1].k = Eth_PPPOE_Session;
-
- bpfRun[2].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
- bpfRun[2].jt = 0;
- bpfRun[2].jf = 9;
- bpfRun[2].k = Eth_PPPOE_Discovery;
-
- {
- struct bpf_insn bpfInsn[sizeof(bpfRun) / sizeof(bpfRun[0])];
- struct bpf_program bpfProgram;
- memcpy(bpfInsn, bpfRun, sizeof(bpfRun));
- bpfInsn[PPPOE_BCAST_CMPW].k = ((0xff << 24) | (0xff << 16) |
- (0xff << 8) | 0xff);
- bpfInsn[PPPOE_BCAST_CMPH].k = ((0xff << 8) | 0xff);
- bpfInsn[PPPOE_FILTER_CMPW].k = ((hwaddr[0] << 24) | (hwaddr[1] << 16) |
- (hwaddr[2] << 8) | hwaddr[3]);
- bpfInsn[PPPOE_FILTER_CMPH].k = ((hwaddr[4] << 8) | hwaddr[5]);
- bpfProgram.bf_len = (sizeof(bpfInsn) / sizeof(bpfInsn[0]));
- bpfProgram.bf_insns = &bpfInsn[0];
-
- /* Apply the filter */
- if (ioctl(fd, BIOCSETF, &bpfProgram) < 0) {
- fatalSys("ioctl(BIOCSETF)");
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type (0 for any frame type)
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A file descriptor for talking with the Ethernet card. Exits on error.
-* Note that the Linux version of this routine returns a socket instead.
-*%DESCRIPTION:
-* Opens a BPF on an interface for all PPPoE traffic (discovery and
-* session). If 'type' is 0, uses promiscuous mode to watch any PPPoE
-* traffic on this network.
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- static int fd = -1;
- char bpfName[32];
- u_int optval;
- struct bpf_version bpf_ver;
- struct ifreq ifr;
- int sock;
- int i;
-
- /* BSD only opens one socket for both Discovery and Session packets */
- if (fd >= 0) {
- return fd;
- }
-
- /* Find a free BPF device */
- for (i = 0; i < 256; i++) {
- sprintf(bpfName, "/dev/bpf%d", i);
- if (((fd = open(bpfName, O_RDWR, 0)) >= 0) ||
- (errno != EBUSY)) {
- break;
- }
- }
- if (fd < 0) {
- switch (errno) {
- case EACCES: /* permission denied */
- {
- char buffer[256];
- sprintf(buffer, "Cannot open %.32s -- pppoe must be run as root.", bpfName);
- rp_fatal(buffer);
- }
- break;
- case EBUSY:
- case ENOENT: /* no such file */
- if (i == 0) {
- rp_fatal("No /dev/bpf* devices (check your kernel configuration for BPF support)");
- } else {
- rp_fatal("All /dev/bpf* devices are in use");
- }
- break;
- }
- fatalSys(bpfName);
- }
-
- if ((sock = socket(AF_LOCAL, SOCK_DGRAM, 0)) < 0) {
- fatalSys("socket");
- }
-
- /* Check that the interface is up */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFFLAGS)");
- }
- if ((ifr.ifr_flags & IFF_UP) == 0) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s is not up\n", ifname);
- rp_fatal(buffer);
- }
-
- /* Fill in hardware address and initialize the packet filter rules */
- if (hwaddr == NULL) {
- rp_fatal("openInterface: no hwaddr arg.");
- }
- getHWaddr(sock, ifname, hwaddr);
- initFilter(fd, type, hwaddr);
-
- /* Sanity check on MTU -- apparently does not work on OpenBSD */
-#if !defined(__OpenBSD__)
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(sock, SIOCGIFMTU, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFMTU)");
- }
- if (ifr.ifr_mtu < ETH_DATA_LEN) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
- ifname, ifr.ifr_mtu, ETH_DATA_LEN);
- printErr(buffer);
- }
-#endif
-
- /* done with the socket */
- if (close(sock) < 0) {
- fatalSys("close");
- }
-
- /* Check the BPF version number */
- if (ioctl(fd, BIOCVERSION, &bpf_ver) < 0) {
- fatalSys("ioctl(BIOCVERSION)");
- }
- if ((bpf_ver.bv_major != BPF_MAJOR_VERSION) ||
- (bpf_ver.bv_minor < BPF_MINOR_VERSION)) {
- char buffer[256];
- sprintf(buffer, "Unsupported BPF version: %d.%d (kernel: %d.%d)",
- BPF_MAJOR_VERSION, BPF_MINOR_VERSION,
- bpf_ver.bv_major, bpf_ver.bv_minor);
- rp_fatal(buffer);
- }
-
- /* allocate a receive packet buffer */
- if (ioctl(fd, BIOCGBLEN, &bpfLength) < 0) {
- fatalSys("ioctl(BIOCGBLEN)");
- }
- if (!(bpfBuffer = (unsigned char *) malloc(bpfLength))) {
- rp_fatal("malloc");
- }
-
- /* reads should return as soon as there is a packet available */
- optval = 1;
- if (ioctl(fd, BIOCIMMEDIATE, &optval) < 0) {
- fatalSys("ioctl(BIOCIMMEDIATE)");
- }
-
- /* Bind the interface to the filter */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, BIOCSETIF, &ifr) < 0) {
- char buffer[256];
- sprintf(buffer, "ioctl(BIOCSETIF) can't select interface %.16s",
- ifname);
- rp_fatal(buffer);
- }
-
- syslog(LOG_INFO, "Interface=%.16s HWaddr=%02X:%02X:%02X:%02X:%02X:%02X Device=%.32s Buffer size=%d",
- ifname,
- hwaddr[0], hwaddr[1], hwaddr[2],
- hwaddr[3], hwaddr[4], hwaddr[5],
- bpfName, bpfLength);
- return fd;
-}
-
-#endif /* USE_BPF */
-
-#ifdef USE_LINUX_PACKET
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A raw socket for talking to the Ethernet card. Exits on error.
-*%DESCRIPTION:
-* Opens a raw Ethernet socket
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- int optval=1;
- int fd;
- struct ifreq ifr;
- int domain, stype;
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- struct sockaddr_ll sa;
-#else
- struct sockaddr sa;
-#endif
-
- memset(&sa, 0, sizeof(sa));
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- domain = PF_PACKET;
- stype = SOCK_RAW;
-#else
- domain = PF_INET;
- stype = SOCK_PACKET;
-#endif
-
- if ((fd = socket(domain, stype, htons(type))) < 0) {
- /* Give a more helpful message for the common error case */
- if (errno == EPERM) {
- rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
- }
- fatalSys("socket");
- }
-
- if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) < 0) {
- fatalSys("setsockopt");
- }
-
- /* Fill in hardware address */
- if (hwaddr) {
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFHWADDR)");
- }
- memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN);
-#ifdef ARPHRD_ETHER
- if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s is not Ethernet", ifname);
- rp_fatal(buffer);
- }
-#endif
- if (NOT_UNICAST(hwaddr)) {
- char buffer[256];
- sprintf(buffer,
- "Interface %.16s has broadcast/multicast MAC address??",
- ifname);
- rp_fatal(buffer);
- }
- }
-
- /* Sanity check on MTU */
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFMTU, &ifr) < 0) {
- fatalSys("ioctl(SIOCGIFMTU)");
- }
- if (ifr.ifr_mtu < ETH_DATA_LEN) {
- char buffer[256];
- sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
- ifname, ifr.ifr_mtu, ETH_DATA_LEN);
- printErr(buffer);
- }
-
-#ifdef HAVE_STRUCT_SOCKADDR_LL
- /* Get interface index */
- sa.sll_family = AF_PACKET;
- sa.sll_protocol = htons(type);
-
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
- fatalSys("ioctl(SIOCFIGINDEX): Could not get interface index");
- }
- sa.sll_ifindex = ifr.ifr_ifindex;
-
-#else
- strcpy(sa.sa_data, ifname);
-#endif
-
- /* We're only interested in packets on specified interface */
- if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
- fatalSys("bind");
- }
-
- return fd;
-}
-
-#endif /* USE_LINUX */
-
-/***********************************************************************
-*%FUNCTION: sendPacket
-*%ARGUMENTS:
-* sock -- socket to send to
-* pkt -- the packet to transmit
-* size -- size of packet (in bytes)
-*%RETURNS:
-* 0 on success; -1 on failure
-*%DESCRIPTION:
-* Transmits a packet
-***********************************************************************/
-int
-sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size)
-{
-#if defined(USE_BPF)
- if (write(sock, pkt, size) < 0) {
- sysErr("write (sendPacket)");
- return -1;
- }
-#elif defined(HAVE_STRUCT_SOCKADDR_LL)
- if (send(sock, pkt, size, 0) < 0) {
- sysErr("send (sendPacket)");
- return -1;
- }
-#else
-#ifdef USE_DLPI
-
-#define ABS(x) ((x) < 0 ? -(x) : (x))
-
- u_char addr[MAXDLADDR];
- u_char phys[MAXDLADDR];
- u_char sap[MAXDLADDR];
- u_char xmitbuf[MAXDLBUF];
- int data_size;
-
- short tmp_sap;
-
- tmp_sap = htons(pkt->ethHdr.h_proto);
- data_size = size - sizeof(struct ethhdr);
-
- memcpy((char *)phys, (char *)pkt->ethHdr.h_dest, ETHERADDRL);
- memcpy((char *)sap, (char *)&tmp_sap, sizeof(ushort_t));
- memcpy((char *)xmitbuf, (char *)pkt + sizeof(struct ethhdr), data_size);
-
- if (dl_saplen > 0) { /* order is sap+phys */
- (void) memcpy((char*)addr, (char*)&sap, dl_abssaplen);
- (void) memcpy((char*)addr+dl_abssaplen, (char*)phys, ETHERADDRL);
- } else { /* order is phys+sap */
- (void) memcpy((char*)addr, (char*)phys, ETHERADDRL);
- (void) memcpy((char*)addr+ETHERADDRL, (char*)&sap, dl_abssaplen);
- }
-
-#ifdef DL_DEBUG
- printf("%02x:%02x:%02x:%02x:%02x:%02x %02x:%02x\n",
- addr[0],addr[1],addr[2],addr[3],addr[4],addr[5],
- addr[6],addr[7]);
-#endif
-
- dlunitdatareq(sock, addr, dl_addrlen, 0, 0, xmitbuf, data_size);
-
-
-
-#else
- struct sockaddr sa;
-
- if (!conn) {
- rp_fatal("relay and server not supported on Linux 2.0 kernels");
- }
- strcpy(sa.sa_data, conn->ifName);
- if (sendto(sock, pkt, size, 0, &sa, sizeof(sa)) < 0) {
- sysErr("sendto (sendPacket)");
- return -1;
- }
-#endif
-#endif
- return 0;
-}
-
-#ifdef USE_BPF
-/***********************************************************************
-*%FUNCTION: clearPacketHeader
-*%ARGUMENTS:
-* pkt -- packet that needs its head clearing
-*%RETURNS:
-* nothing
-*%DESCRIPTION:
-* Clears a PPPoE packet header after a truncated packet has been
-* received. Insures that the packet will fail any integrity tests
-* and will be discarded by upper level routines. Also resets the
-* bpfSize and bpfOffset variables to force a new read on the next
-* call to receivePacket().
-***********************************************************************/
-void
-clearPacketHeader(PPPoEPacket *pkt)
-{
- bpfSize = bpfOffset = 0;
- memset(pkt, 0, HDR_SIZE);
-}
-#endif
-
-/***********************************************************************
-*%FUNCTION: receivePacket
-*%ARGUMENTS:
-* sock -- socket to read from
-* pkt -- place to store the received packet
-* size -- set to size of packet in bytes
-*%RETURNS:
-* >= 0 if all OK; < 0 if error
-*%DESCRIPTION:
-* Receives a packet
-***********************************************************************/
-int
-receivePacket(int sock, PPPoEPacket *pkt, int *size)
-{
-#ifdef USE_BPF
- struct bpf_hdr hdr;
- int seglen, copylen;
-
- if (bpfSize <= 0) {
- bpfOffset = 0;
- if ((bpfSize = read(sock, bpfBuffer, bpfLength)) < 0) {
- sysErr("read (receivePacket)");
- return -1;
- }
- }
- if (bpfSize < sizeof(hdr)) {
- syslog(LOG_ERR, "Truncated bpf packet header: len=%d", bpfSize);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- memcpy(&hdr, bpfBuffer + bpfOffset, sizeof(hdr));
- if (hdr.bh_caplen != hdr.bh_datalen) {
- syslog(LOG_ERR, "Truncated bpf packet: caplen=%d, datalen=%d",
- hdr.bh_caplen, hdr.bh_datalen);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- seglen = hdr.bh_hdrlen + hdr.bh_caplen;
- if (seglen > bpfSize) {
- syslog(LOG_ERR, "Truncated bpf packet: seglen=%d, bpfSize=%d",
- seglen, bpfSize);
- clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
- return 0;
- }
- seglen = BPF_WORDALIGN(seglen);
- *size = copylen = ((hdr.bh_caplen < sizeof(PPPoEPacket)) ?
- hdr.bh_caplen : sizeof(PPPoEPacket));
- memcpy(pkt, bpfBuffer + bpfOffset + hdr.bh_hdrlen, copylen);
- if (seglen >= bpfSize) {
- bpfSize = bpfOffset = 0;
- } else {
- bpfSize -= seglen;
- bpfOffset += seglen;
- }
-#else
-#ifdef USE_DLPI
- struct strbuf data;
- int flags = 0;
- int retval;
-
- data.buf = (char *) pkt;
- data.maxlen = MAXDLBUF;
- data.len = 0;
-
- if ((retval = getmsg(sock, NULL, &data, &flags)) < 0) {
- sysErr("read (receivePacket)");
- return -1;
- }
-
- *size = data.len;
-
-#else
- if ((*size = recv(sock, pkt, sizeof(PPPoEPacket), 0)) < 0) {
- sysErr("recv (receivePacket)");
- return -1;
- }
-#endif
-#endif
- return 0;
-}
-
-#ifdef USE_DLPI
-/**********************************************************************
-*%FUNCTION: openInterface
-*%ARGUMENTS:
-* ifname -- name of interface
-* type -- Ethernet frame type
-* hwaddr -- if non-NULL, set to the hardware address
-*%RETURNS:
-* A raw socket for talking to the Ethernet card. Exits on error.
-*%DESCRIPTION:
-* Opens a raw Ethernet socket
-***********************************************************************/
-int
-openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-{
- int fd;
- long buf[MAXDLBUF];
-
- union DL_primitives *dlp;
-
- char base_dev[PATH_MAX];
- int ppa;
-
- if(strlen(ifname) > PATH_MAX) {
- rp_fatal("socket: string to long");
- }
-
- ppa = atoi(&ifname[strlen(ifname)-1]);
- strncpy(base_dev, ifname, PATH_MAX);
- base_dev[strlen(base_dev)-1] = '\0';
-
- if (( fd = open(base_dev, O_RDWR)) < 0) {
- /* Give a more helpful message for the common error case */
- if (errno == EPERM) {
- rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
- }
- fatalSys("socket");
- }
-
- dlinforeq(fd);
- dlinfoack(fd, (char *)buf);
-
- dlp = (union DL_primitives*) buf;
-
- dl_abssaplen = ABS(dlp->info_ack.dl_sap_length);
- dl_saplen = dlp->info_ack.dl_sap_length;
- if (ETHERADDRL != (dlp->info_ack.dl_addr_length - dl_abssaplen))
- fatalSys("invalid destination physical address length");
- dl_addrlen = dl_abssaplen + ETHERADDRL;
-
- dlattachreq(fd, ppa);
- dlokack(fd, (char *)buf);
-
- dlbindreq(fd, type, 0, DL_CLDLS, 0, 0);
- dlbindack(fd, (char *)buf);
-
- if ( strioctl(fd, DLIOCRAW, -1, 0, NULL) < 0 ) {
- fatalSys("DLIOCRAW");
- }
-
- if (ioctl(fd, I_FLUSH, FLUSHR) < 0) fatalSys("I_FLUSH");
-
- return fd;
-}
-
-/* cloned from dlcommon.c */
-
-void dlpromisconreq(int fd, u_long level)
-{
- dl_promiscon_req_t promiscon_req;
- struct strbuf ctl;
- int flags;
-
- promiscon_req.dl_primitive = DL_PROMISCON_REQ;
- promiscon_req.dl_level = level;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (promiscon_req);
- ctl.buf = (char *) &promiscon_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlpromiscon: putmsg");
-
-}
-
-void dlinforeq(int fd)
-{
- dl_info_req_t info_req;
- struct strbuf ctl;
- int flags;
-
- info_req.dl_primitive = DL_INFO_REQ;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (info_req);
- ctl.buf = (char *) &info_req;
-
- flags = RS_HIPRI;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlinforeq: putmsg");
-}
-
-void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen)
-{
- long buf[MAXDLBUF];
- union DL_primitives *dlp;
- struct strbuf data, ctl;
-
- dlp = (union DL_primitives*) buf;
-
- dlp->unitdata_req.dl_primitive = DL_UNITDATA_REQ;
- dlp->unitdata_req.dl_dest_addr_length = addrlen;
- dlp->unitdata_req.dl_dest_addr_offset = sizeof (dl_unitdata_req_t);
- dlp->unitdata_req.dl_priority.dl_min = minpri;
- dlp->unitdata_req.dl_priority.dl_max = maxpri;
-
- (void) memcpy(OFFADDR(dlp, sizeof (dl_unitdata_req_t)), addrp, addrlen);
-
- ctl.maxlen = 0;
- ctl.len = sizeof (dl_unitdata_req_t) + addrlen;
- ctl.buf = (char *) buf;
-
- data.maxlen = 0;
- data.len = datalen;
- data.buf = (char *) datap;
-
- if (putmsg(fd, &ctl, &data, 0) < 0)
- fatalSys("dlunitdatareq: putmsg");
-}
-
-void dlinfoack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlinfoack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_INFO_ACK, dlp);
-
- if (ctl.len < sizeof (dl_info_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlinfoack: response ctl.len too short: %d", ctl.len);
- rp_fatal(buffer);
- }
-
- if (flags != RS_HIPRI)
- rp_fatal("dlinfoack: DL_INFO_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_info_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlinfoack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest)
-{
- dl_bind_req_t bind_req;
- struct strbuf ctl;
- int flags;
-
- bind_req.dl_primitive = DL_BIND_REQ;
- bind_req.dl_sap = sap;
- bind_req.dl_max_conind = max_conind;
- bind_req.dl_service_mode = service_mode;
- bind_req.dl_conn_mgmt = conn_mgmt;
- bind_req.dl_xidtest_flg = xidtest;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (bind_req);
- ctl.buf = (char *) &bind_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlbindreq: putmsg");
-}
-
-void dlattachreq(int fd, u_long ppa)
-{
- dl_attach_req_t attach_req;
- struct strbuf ctl;
- int flags;
-
- attach_req.dl_primitive = DL_ATTACH_REQ;
- attach_req.dl_ppa = ppa;
-
- ctl.maxlen = 0;
- ctl.len = sizeof (attach_req);
- ctl.buf = (char *) &attach_req;
-
- flags = 0;
-
- if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
- fatalSys("dlattachreq: putmsg");
-}
-
-void dlokack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlokack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_OK_ACK, dlp);
-
- if (ctl.len < sizeof (dl_ok_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlokack: response ctl.len too short: %d", ctl.len);
- rp_fatal(buffer);
- }
-
- if (flags != RS_HIPRI)
- rp_fatal("dlokack: DL_OK_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_ok_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlokack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-void dlbindack(int fd, char *bufp)
-{
- union DL_primitives *dlp;
- struct strbuf ctl;
- int flags;
-
- ctl.maxlen = MAXDLBUF;
- ctl.len = 0;
- ctl.buf = bufp;
-
- strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlbindack");
-
- dlp = (union DL_primitives *) ctl.buf;
-
- expecting(DL_BIND_ACK, dlp);
-
- if (flags != RS_HIPRI)
- rp_fatal("dlbindack: DL_OK_ACK was not M_PCPROTO");
-
- if (ctl.len < sizeof (dl_bind_ack_t)) {
- char buffer[256];
- sprintf(buffer, "dlbindack: short response ctl.len: %d", ctl.len);
- rp_fatal(buffer);
- }
-}
-
-int strioctl(int fd, int cmd, int timout, int len, char *dp)
-{
- struct strioctl sioc;
- int rc;
-
- sioc.ic_cmd = cmd;
- sioc.ic_timout = timout;
- sioc.ic_len = len;
- sioc.ic_dp = dp;
- rc = ioctl(fd, I_STR, &sioc);
-
- if (rc < 0)
- return (rc);
- else
- return (sioc.ic_len);
-}
-
-void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller)
-{
- int rc;
- static char errmsg[80];
-
- /*
- * Start timer.
- */
- (void) signal(SIGALRM, sigalrm);
- if (alarm(MAXWAIT) < 0) {
- (void) sprintf(errmsg, "%s: alarm", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Set flags argument and issue getmsg().
- */
- *flagsp = 0;
- if ((rc = getmsg(fd, ctlp, datap, flagsp)) < 0) {
- (void) sprintf(errmsg, "%s: getmsg", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Stop timer.
- */
- if (alarm(0) < 0) {
- (void) sprintf(errmsg, "%s: alarm", caller);
- fatalSys(errmsg);
- }
-
- /*
- * Check for MOREDATA and/or MORECTL.
- */
- if ((rc & (MORECTL | MOREDATA)) == (MORECTL | MOREDATA)) {
- char buffer[256];
- sprintf(buffer, "%s: MORECTL|MOREDATA", caller);
- rp_fatal(buffer);
- }
-
- if (rc & MORECTL) {
- char buffer[256];
- sprintf(buffer, "%s: MORECTL", caller);
- rp_fatal(buffer);
- }
-
- if (rc & MOREDATA) {
- char buffer[256];
- sprintf(buffer, "%s: MOREDATA", caller);
- rp_fatal(buffer);
- }
-
- /*
- * Check for at least sizeof (long) control data portion.
- */
- if (ctlp->len < sizeof (long)) {
- char buffer[256];
- sprintf(buffer, "getmsg: control portion length < sizeof (long): %d", ctlp->len);
- rp_fatal(buffer);
- }
-}
-
-void sigalrm(int sig)
-{
- (void) rp_fatal("sigalrm: TIMEOUT");
-}
-
-void expecting(int prim, union DL_primitives *dlp)
-{
- if (dlp->dl_primitive != (u_long)prim) {
- char buffer[256];
- sprintf(buffer, "expected %s got %s", dlprim(prim), dlprim(dlp->dl_primitive));
- rp_fatal(buffer);
- exit(1);
- }
-}
-
-char *dlprim(u_long prim)
-{
- static char primbuf[80];
-
- switch ((int)prim) {
- CASERET(DL_INFO_REQ);
- CASERET(DL_INFO_ACK);
- CASERET(DL_ATTACH_REQ);
- CASERET(DL_DETACH_REQ);
- CASERET(DL_BIND_REQ);
- CASERET(DL_BIND_ACK);
- CASERET(DL_UNBIND_REQ);
- CASERET(DL_OK_ACK);
- CASERET(DL_ERROR_ACK);
- CASERET(DL_SUBS_BIND_REQ);
- CASERET(DL_SUBS_BIND_ACK);
- CASERET(DL_UNITDATA_REQ);
- CASERET(DL_UNITDATA_IND);
- CASERET(DL_UDERROR_IND);
- CASERET(DL_UDQOS_REQ);
- CASERET(DL_CONNECT_REQ);
- CASERET(DL_CONNECT_IND);
- CASERET(DL_CONNECT_RES);
- CASERET(DL_CONNECT_CON);
- CASERET(DL_TOKEN_REQ);
- CASERET(DL_TOKEN_ACK);
- CASERET(DL_DISCONNECT_REQ);
- CASERET(DL_DISCONNECT_IND);
- CASERET(DL_RESET_REQ);
- CASERET(DL_RESET_IND);
- CASERET(DL_RESET_RES);
- CASERET(DL_RESET_CON);
- default:
- (void) sprintf(primbuf, "unknown primitive 0x%lx", prim);
- return (primbuf);
- }
-}
-
-#endif /* USE_DLPI */
diff --git a/mdk-stage1/rp-pppoe/src/install-sh b/mdk-stage1/rp-pppoe/src/install-sh
deleted file mode 100755
index 58719246f..000000000
--- a/mdk-stage1/rp-pppoe/src/install-sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/mdk-stage1/rp-pppoe/src/md5.c b/mdk-stage1/rp-pppoe/src/md5.c
deleted file mode 100644
index 5b7a0d7b2..000000000
--- a/mdk-stage1/rp-pppoe/src/md5.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- *
- * To compute the message digest of a chunk of bytes, declare an
- * MD5Context structure, pass it to MD5Init, call MD5Update as
- * needed on buffers full of bytes, and then call MD5Final, which
- * will fill a supplied 16-byte array with the digest.
- */
-#include <string.h> /* for memcpy() */
-#include "md5.h"
-
-void byteReverse(unsigned char *buf, unsigned longs);
-
-/*
- * Note: this code is harmless on little-endian machines.
- */
-void byteReverse(unsigned char *buf, unsigned longs)
-{
- uint32 t;
- do {
- t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
- ((unsigned) buf[1] << 8 | buf[0]);
- *(uint32 *) buf = t;
- buf += 4;
- } while (--longs);
-}
-
-/*
- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-void MD5Init(struct MD5Context *ctx)
-{
- ctx->buf[0] = 0x67452301;
- ctx->buf[1] = 0xefcdab89;
- ctx->buf[2] = 0x98badcfe;
- ctx->buf[3] = 0x10325476;
-
- ctx->bits[0] = 0;
- ctx->bits[1] = 0;
-}
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
-{
- uint32 t;
-
- /* Update bitcount */
-
- t = ctx->bits[0];
- if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
- ctx->bits[1]++; /* Carry from low to high */
- ctx->bits[1] += len >> 29;
-
- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
-
- /* Handle any leading odd-sized chunks */
-
- if (t) {
- unsigned char *p = (unsigned char *) ctx->in + t;
-
- t = 64 - t;
- if (len < t) {
- memcpy(p, buf, len);
- return;
- }
- memcpy(p, buf, t);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- buf += t;
- len -= t;
- }
- /* Process data in 64-byte chunks */
-
- while (len >= 64) {
- memcpy(ctx->in, buf, 64);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- buf += 64;
- len -= 64;
- }
-
- /* Handle any remaining bytes of data. */
-
- memcpy(ctx->in, buf, len);
-}
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
- * 1 0* (64-bit count of bits processed, MSB-first)
- */
-void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
-{
- unsigned count;
- unsigned char *p;
-
- /* Compute number of bytes mod 64 */
- count = (ctx->bits[0] >> 3) & 0x3F;
-
- /* Set the first char of padding to 0x80. This is safe since there is
- always at least one byte free */
- p = ctx->in + count;
- *p++ = 0x80;
-
- /* Bytes of padding needed to make 64 bytes */
- count = 64 - 1 - count;
-
- /* Pad out to 56 mod 64 */
- if (count < 8) {
- /* Two lots of padding: Pad the first block to 64 bytes */
- memset(p, 0, count);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
-
- /* Now fill the next block with 56 bytes */
- memset(ctx->in, 0, 56);
- } else {
- /* Pad block to 56 bytes */
- memset(p, 0, count - 8);
- }
- byteReverse(ctx->in, 14);
-
- /* Append length in bits and transform */
- ((uint32 *) ctx->in)[14] = ctx->bits[0];
- ((uint32 *) ctx->in)[15] = ctx->bits[1];
-
- MD5Transform(ctx->buf, (uint32 *) ctx->in);
- byteReverse((unsigned char *) ctx->buf, 4);
- memcpy(digest, ctx->buf, 16);
- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-}
-
-#ifndef ASM_MD5
-
-/* The four core functions - F1 is optimized somewhat */
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f, w, x, y, z, data, s) \
- ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data. MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-void MD5Transform(uint32 buf[4], uint32 const in[16])
-{
- register uint32 a, b, c, d;
-
- a = buf[0];
- b = buf[1];
- c = buf[2];
- d = buf[3];
-
- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-#endif
diff --git a/mdk-stage1/rp-pppoe/src/md5.h b/mdk-stage1/rp-pppoe/src/md5.h
deleted file mode 100644
index e264f686d..000000000
--- a/mdk-stage1/rp-pppoe/src/md5.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef MD5_H
-#define MD5_H
-
-#ifdef __alpha
-typedef unsigned int uint32;
-#else
-typedef unsigned long uint32;
-#endif
-
-struct MD5Context {
- uint32 buf[4];
- uint32 bits[2];
- unsigned char in[64];
-};
-
-void MD5Init(struct MD5Context *context);
-void MD5Update(struct MD5Context *context, unsigned char const *buf,
- unsigned len);
-void MD5Final(unsigned char digest[16], struct MD5Context *context);
-void MD5Transform(uint32 buf[4], uint32 const in[16]);
-
-/*
- * This is needed to make RSAREF happy on some MS-DOS compilers.
- */
-typedef struct MD5Context MD5_CTX;
-
-#endif /* !MD5_H */
diff --git a/mdk-stage1/rp-pppoe/src/plugin.c b/mdk-stage1/rp-pppoe/src/plugin.c
deleted file mode 100644
index d1097e291..000000000
--- a/mdk-stage1/rp-pppoe/src/plugin.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/***********************************************************************
-*
-* plugin.c
-*
-* pppd plugin for kernel-mode PPPoE on Linux
-*
-* Copyright (C) 2001 by Roaring Penguin Software Inc., Michal Ostrowski
-* and Jamal Hadi Salim.
-*
-* Much code and many ideas derived from pppoe plugin by Michal
-* Ostrowski and Jamal Hadi Salim, which carries this copyright:
-*
-* Copyright 2000 Michal Ostrowski <mostrows@styx.uwaterloo.ca>,
-* Jamal Hadi Salim <hadi@cyberus.ca>
-* Borrows heavily from the PPPoATM plugin by Mitchell Blank Jr.,
-* which is based in part on work from Jens Axboe and Paul Mackerras.
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version
-* 2 of the License, or (at your option) any later version.
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#define _GNU_SOURCE 1
-#include "pppoe.h"
-
-#include "pppd/pppd.h"
-#include "pppd/fsm.h"
-#include "pppd/lcp.h"
-#include "pppd/ipcp.h"
-#include "pppd/ccp.h"
-#include "pppd/pathnames.h"
-
-#include <linux/types.h>
-#include <syslog.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <net/ethernet.h>
-#include <net/if_arp.h>
-#include <linux/if_pppox.h>
-
-/* From sys-linux.c in pppd -- MUST FIX THIS! */
-extern int new_style_driver;
-
-static char *service = NULL;
-static char *acName = NULL;
-static char *existingSession = NULL;
-
-static option_t Options[] = {
- { "rp_pppoe_service", o_string, &service,
- "Desired PPPoE service name" },
- { "rp_pppoe_ac", o_string, &acName,
- "Desired PPPoE access concentrator name" },
- { "rp_pppoe_sess", o_string, &existingSession,
- "Attach to existing session (sessid:macaddr)" },
- { NULL }
-};
-int (*OldDevnameHook)(const char *name) = NULL;
-static PPPoEConnection *conn = NULL;
-
-/**********************************************************************
- * %FUNCTION: PPPOEInitDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- *
- * %DESCRIPTION:
- * Initializes PPPoE device.
- ***********************************************************************/
-static int
-PPPOEInitDevice(void)
-{
- conn = malloc(sizeof(PPPoEConnection));
- if (!conn) {
- fatal("Could not allocate memory for PPPoE session");
- }
- memset(conn, 0, sizeof(PPPoEConnection));
- if (acName) {
- SET_STRING(conn->acName, acName);
- }
- if (service) {
- SET_STRING(conn->serviceName, acName);
- }
- SET_STRING(conn->ifName, devnam);
- conn->discoverySocket = -1;
- conn->sessionSocket = -1;
- conn->useHostUniq = 1;
- return 1;
-}
-
-/**********************************************************************
- * %FUNCTION: PPPOEConnectDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Non-negative if all goes well; -1 otherwise
- * %DESCRIPTION:
- * Connects PPPoE device.
- ***********************************************************************/
-static int
-PPPOEConnectDevice(void)
-{
- struct sockaddr_pppox sp;
-
- strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
- if (existingSession) {
- unsigned int mac[ETH_ALEN];
- int i, ses;
- if (sscanf(existingSession, "%d:%x:%x:%x:%x:%x:%x",
- &ses, &mac[0], &mac[1], &mac[2],
- &mac[3], &mac[4], &mac[5]) != 7) {
- fatal("Illegal value for rp_pppoe_sess option");
- }
- conn->session = htons(ses);
- for (i=0; i<ETH_ALEN; i++) {
- conn->peerEth[i] = (unsigned char) mac[i];
- }
- } else {
- discovery(conn);
- if (conn->discoveryState != STATE_SESSION) {
- fatal("Unable to complete PPPoE Discovery");
- }
- }
-
- /* Make the session socket */
- conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
- if (conn->sessionSocket < 0) {
- fatal("Failed to create PPPoE socket: %m");
- }
- sp.sa_family = AF_PPPOX;
- sp.sa_protocol = PX_PROTO_OE;
- sp.sa_addr.pppoe.sid = conn->session;
- memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
- memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
- if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
- sizeof(struct sockaddr_pppox)) < 0) {
- fatal("Failed to connect PPPoE socket: %d %m", errno);
- return -1;
- }
- return conn->sessionSocket;
-}
-
-static void
-PPPOESendConfig(int unit,
- int mtu,
- u_int32_t asyncmap,
- int pcomp,
- int accomp)
-{
- int sock;
- struct ifreq ifr;
-
- if (mtu > MAX_PPPOE_MTU) {
- warn("Couldn't increase MTU to %d", mtu);
- }
- sock = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock < 0) {
- fatal("Couldn't create IP socket: %m");
- }
- strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ifr.ifr_mtu = mtu;
- if (ioctl(sock, SIOCSIFMTU, &ifr) < 0) {
- fatal("ioctl(SIOCSIFMTU): %m");
- }
- (void) close (sock);
-}
-
-
-static void
-PPPOERecvConfig(int unit,
- int mru,
- u_int32_t asyncmap,
- int pcomp,
- int accomp)
-{
- if (mru > MAX_PPPOE_MTU) {
- error("Couldn't increase MRU to %d", mru);
- }
-}
-
-static void
-PPPOESetXaccm(int unit,
- ext_accm accm)
-{
- /* Do nothing */
-}
-
-/**********************************************************************
- * %FUNCTION: PPPOEDisconnectDevice
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Nothing
- * %DESCRIPTION:
- * Disconnects PPPoE device
- ***********************************************************************/
-static void
-PPPOEDisconnectDevice(void)
-{
- struct sockaddr_pppox sp;
-
- sp.sa_family = AF_PPPOX;
- sp.sa_protocol = PX_PROTO_OE;
- sp.sa_addr.pppoe.sid = 0;
- memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
- memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
- if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
- sizeof(struct sockaddr_pppox)) < 0) {
- fatal("Failed to disconnect PPPoE socket: %d %m", errno);
- return;
- }
- close(conn->sessionSocket);
-}
-
-static int
-PPPOESetSpeed(const char *speed)
-{
- return 0;
-}
-
-static void
-PPPOEDeviceCheckHook(void)
-{
- if (!options_for_dev(_PATH_ETHOPT, devnam)) {
- exit(EXIT_OPTION_ERROR);
- }
-}
-
-/**********************************************************************
- * %FUNCTION: PPPoEDevnameHook
- * %ARGUMENTS:
- * name -- name of device
- * %RETURNS:
- * 1 if we will handle this device; 0 otherwise.
- * %DESCRIPTION:
- * Checks if name is a valid interface name; if so, returns 1. Also
- * sets up devnam (string representation of device) and sets devstat.st_mode
- * so S_ISCHR(devstat.st_mode) != 1 for internal pppd consumption.
- ***********************************************************************/
-static int
-PPPoEDevnameHook(const char *name)
-{
- int r = 1;
- int fd;
- struct ifreq ifr;
-
- /* Open a socket */
- if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
- r = 0;
- }
-
- /* Try getting interface index */
- if (r) {
- strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
- if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
- r = 0;
- } else {
- if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
- r = 0;
- } else {
- if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
- error("Interface %s not Ethernet", name);
- r=0;
- }
- }
- }
- }
-
- /* Close socket */
- close(fd);
- if (r) {
- strncpy(devnam, name, sizeof(devnam));
- if (device_check_hook != PPPOEDeviceCheckHook) {
- devstat.st_mode = S_IFSOCK;
- device_init_hook = PPPOEInitDevice;
- setspeed_hook = PPPOESetSpeed;
- device_check_hook = PPPOEDeviceCheckHook;
- connect_device_hook = PPPOEConnectDevice;
- disconnect_device_hook = PPPOEDisconnectDevice;
- send_config_hook = PPPOESendConfig;
- recv_config_hook = PPPOERecvConfig;
- set_xaccm_hook = PPPOESetXaccm;
- modem = 0;
-
- lcp_allowoptions[0].neg_accompression = 0;
- lcp_wantoptions[0].neg_accompression = 0;
-
- lcp_allowoptions[0].neg_asyncmap = 0;
- lcp_wantoptions[0].neg_asyncmap = 0;
-
- lcp_allowoptions[0].neg_pcompression = 0;
- lcp_wantoptions[0].neg_pcompression = 0;
-
- ccp_allowoptions[0].deflate = 0 ;
- ccp_wantoptions[0].deflate = 0 ;
-
- ipcp_allowoptions[0].neg_vj=0;
- ipcp_wantoptions[0].neg_vj=0;
-
- ccp_allowoptions[0].bsd_compress = 0;
- ccp_wantoptions[0].bsd_compress = 0;
-
- PPPOEInitDevice();
- }
- return 1;
- }
-
- if (OldDevnameHook) r = OldDevnameHook(name);
- return r;
-}
-
-/**********************************************************************
- * %FUNCTION: plugin_init
- * %ARGUMENTS:
- * None
- * %RETURNS:
- * Nothing
- * %DESCRIPTION:
- * Initializes hooks for pppd plugin
- ***********************************************************************/
-void
-plugin_init(void)
-{
- if (!new_style_driver) {
- fatal("Linux kernel does not support PPPoE -- are you running 2.4.x?");
- }
- OldDevnameHook = setdevname_hook;
- setdevname_hook = PPPoEDevnameHook;
- add_options(Options);
-
- info("Roaring Penguin PPPoE Plugin Initialized");
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- int i = errno;
- sprintf(buf, "%.256s: %.256s", str, strerror(i));
- printErr(buf);
- sprintf(buf, "RP-PPPoE: %.256s: %.256s", str, strerror(i));
- sendPADT(conn, buf);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- char buf[1024];
- printErr(str);
- sprintf(buf, "RP-PPPoE: %.256s", str);
- sendPADT(conn, buf);
- exit(1);
-}
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- rp_fatal(str);
-}
diff --git a/mdk-stage1/rp-pppoe/src/ppp.c b/mdk-stage1/rp-pppoe/src/ppp.c
deleted file mode 100644
index 72020a76c..000000000
--- a/mdk-stage1/rp-pppoe/src/ppp.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/***********************************************************************
-*
-* ppp.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Functions for talking to PPP daemon
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_N_HDLC
-#ifndef N_HDLC
-#include <linux/termios.h>
-#endif
-#endif
-
-int PPPState;
-int PPPPacketSize;
-unsigned char PPPXorValue;
-
-UINT16_t fcstab[256] = {
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-
-/**********************************************************************
-*%FUNCTION: syncReadFromPPP
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* packet -- buffer in which to place PPPoE packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads from a synchronous PPP device and builds and transmits a PPPoE
-* packet
-***********************************************************************/
-void
-syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- int r;
-#ifndef HAVE_N_HDLC
- struct iovec vec[2];
- unsigned char dummy[2];
- vec[0].iov_base = (void *) dummy;
- vec[0].iov_len = 2;
- vec[1].iov_base = (void *) packet->payload;
- vec[1].iov_len = ETH_DATA_LEN - PPPOE_OVERHEAD;
-
- /* Use scatter-read to throw away the PPP frame address bytes */
- r = readv(0, vec, 2);
-#else
- /* Bloody hell... readv doesn't work with N_HDLC line discipline... GRR! */
- unsigned char buf[ETH_DATA_LEN - PPPOE_OVERHEAD + 2];
- r = read(0, buf, ETH_DATA_LEN - PPPOE_OVERHEAD + 2);
- if (r >= 2) {
- memcpy(packet->payload, buf+2, r-2);
- }
-#endif
- if (r < 0) {
- /* Catch the Linux "select" bug */
- if (errno == EAGAIN) {
- rp_fatal("Linux select bug hit! This message is harmless, but please ask the Linux kernel developers to fix it.");
- }
- fatalSys("read (syncReadFromPPP)");
- }
- if (r == 0) {
- syslog(LOG_INFO, "end-of-file in syncReadFromPPP");
- sendPADT(conn, "RP-PPPoE: EOF in syncReadFromPPP");
- exit(0);
- }
-
- if (r < 2) {
- rp_fatal("too few characters read from PPP (syncReadFromPPP)");
- }
-
- sendSessionPacket(conn, packet, r-2);
-}
-
-/**********************************************************************
-*%FUNCTION: initPPP
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes the PPP state machine
-***********************************************************************/
-void
-initPPP(void)
-{
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- PPPPacketSize = 0;
- PPPXorValue = 0;
-
-}
-/**********************************************************************
-*%FUNCTION: asyncReadFromPPP
-*%ARGUMENTS:
-* conn -- PPPoEConnection structure
-* packet -- buffer in which to place PPPoE packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads from an async PPP device and builds a PPPoE packet to transmit
-***********************************************************************/
-void
-asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
-{
- unsigned char buf[READ_CHUNK];
- unsigned char *ptr = buf;
- unsigned char c;
-
- int r;
-
- r = read(0, buf, READ_CHUNK);
- if (r < 0) {
- fatalSys("read (asyncReadFromPPP)");
- }
-
- if (r == 0) {
- syslog(LOG_INFO, "end-of-file in asyncReadFromPPP");
- sendPADT(conn, "RP-PPPoE: EOF in asyncReadFromPPP");
- exit(0);
- }
-
- while(r) {
- if (PPPState == STATE_WAITFOR_FRAME_ADDR) {
- while(r) {
- --r;
- if (*ptr++ == FRAME_ADDR) {
- PPPState = STATE_DROP_PROTO;
- break;
- }
- }
- }
-
- /* Still waiting... */
- if (PPPState == STATE_WAITFOR_FRAME_ADDR) return;
-
- while(r && PPPState == STATE_DROP_PROTO) {
- --r;
- if (*ptr++ == (FRAME_CTRL ^ FRAME_ENC)) {
- PPPState = STATE_BUILDING_PACKET;
- }
- }
-
- if (PPPState == STATE_DROP_PROTO) return;
-
- /* Start building frame */
- while(r && PPPState == STATE_BUILDING_PACKET) {
- --r;
- c = *ptr++;
- switch(c) {
- case FRAME_ESC:
- PPPXorValue = FRAME_ENC;
- break;
- case FRAME_FLAG:
- if (PPPPacketSize < 2) {
- rp_fatal("Packet too short from PPP (asyncReadFromPPP)");
- }
- sendSessionPacket(conn, packet, PPPPacketSize-2);
- PPPPacketSize = 0;
- PPPXorValue = 0;
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- break;
- default:
- if (PPPPacketSize >= ETH_DATA_LEN - 4) {
- syslog(LOG_ERR, "Packet too big! Check MTU on PPP interface");
- PPPPacketSize = 0;
- PPPXorValue = 0;
- PPPState = STATE_WAITFOR_FRAME_ADDR;
- } else {
- packet->payload[PPPPacketSize++] = c ^ PPPXorValue;
- PPPXorValue = 0;
- }
- }
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: pppFCS16
-*%ARGUMENTS:
-* fcs -- current fcs
-* cp -- a buffer's worth of data
-* len -- length of buffer "cp"
-*%RETURNS:
-* A new FCS
-*%DESCRIPTION:
-* Updates the PPP FCS.
-***********************************************************************/
-UINT16_t
-pppFCS16(UINT16_t fcs,
- unsigned char * cp,
- int len)
-{
- while (len--)
- fcs = (fcs >> 8) ^ fcstab[(fcs ^ *cp++) & 0xff];
-
- return (fcs);
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-server.c b/mdk-stage1/rp-pppoe/src/pppoe-server.c
deleted file mode 100644
index e43e63553..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe-server.c
+++ /dev/null
@@ -1,1247 +0,0 @@
-/***********************************************************************
-*
-* pppoe.h
-*
-* Implementation of a user-space PPPoE server
-*
-* Copyright (C) 2000 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "config.h"
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define _POSIX_SOURCE 1 /* For sigaction defines */
-#endif
-
-#define _BSD_SOURCE 1 /* for gethostname */
-
-#include "pppoe.h"
-#include "md5.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include <signal.h>
-
-/* Hack for daemonizing */
-#define CLOSEFD 64
-
-/* Max. 64 sessions by default */
-#define DEFAULT_MAX_SESSIONS 64
-
-/* A list of client sessions */
-struct ClientSession *Sessions = NULL;
-
-/* The number of session slots */
-size_t NumSessionSlots;
-
-/* Offset of first session */
-size_t SessOffset = 0;
-
-/* Socket for client's discovery phases */
-int Socket = -1;
-
-/* Pipe written on reception of SIGCHLD */
-int Pipe[2] = {-1, -1};
-int ReapPending = 0;
-
-/* Synchronous mode */
-int Synchronous = 0;
-
-/* Random seed for cookie generation */
-#define SEED_LEN 16
-#define MD5_LEN 16
-#define COOKIE_LEN (MD5_LEN + sizeof(pid_t)) /* Cookie is 16-byte MD5 + PID of server */
-
-unsigned char CookieSeed[SEED_LEN];
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-char *IfName = NULL;
-
-/* Access concentrator name */
-char *ACName = NULL;
-
-/* Options to pass to pppoe process */
-char PppoeOptions[SMALLBUF] = "";
-
-/* Our local IP address */
-unsigned char LocalIP[IPV4ALEN] = {10, 0, 0, 1};
-unsigned char RemoteIP[IPV4ALEN] = {10, 67, 15, 1}; /* Counter STARTS here */
-
-PPPoETag hostUniq;
-PPPoETag relayId;
-PPPoETag receivedCookie;
-PPPoETag requestedService;
-
-#define HOSTNAMELEN 256
-
-static void startPPPD(struct ClientSession *sess);
-static void sendErrorPADS(int sock, unsigned char *source, unsigned char *dest,
- int errorTag, char *errorMsg);
-
-#define CHECK_ROOM(cursor, start, len) \
-do {\
- if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
- syslog(LOG_ERR, "Would create too-long packet"); \
- return; \
- } \
-} while(0)
-
-/* Use Linux kernel-mode PPPoE? */
-int UseLinuxKernelModePPPoE = 0;
-
-/**********************************************************************
-*%FUNCTION: parseAddressPool
-*%ARGUMENTS:
-* fname -- name of file containing IP address pool.
-* install -- if true, install IP addresses in sessions.
-*%RETURNS:
-* Number of valid IP addresses found.
-*%DESCRIPTION:
-* Reads a list of IP addresses from a file.
-***********************************************************************/
-static int
-parseAddressPool(char const *fname, int install)
-{
- FILE *fp = fopen(fname, "r");
- int numAddrs = 0;
- unsigned int a, b, c, d;
-
- if (!fp) {
- sysErr("Cannot open address pool file");
- }
-
- while (!feof(fp)) {
- if ((fscanf(fp, "%u.%u.%u.%u", &a, &b, &c, &d) == 4) &&
- a < 256 && b < 256 && c < 256 && d < 256) {
- if (install) {
- Sessions[numAddrs].ip[0] = (unsigned char) a;
- Sessions[numAddrs].ip[1] = (unsigned char) b;
- Sessions[numAddrs].ip[2] = (unsigned char) c;
- Sessions[numAddrs].ip[3] = (unsigned char) d;
- }
- numAddrs++;
- }
- }
- if (!numAddrs) {
- rp_fatal("No valid ip addresses found in pool file");
- }
- return numAddrs;
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADITags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADI packet
-***********************************************************************/
-void
-parsePADITags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME:
- /* Should do something -- currently ignored */
- break;
- case TAG_RELAY_SESSION_ID:
- relayId.type = htons(type);
- relayId.length = htons(len);
- memcpy(relayId.payload, data, len);
- break;
- case TAG_HOST_UNIQ:
- hostUniq.type = htons(type);
- hostUniq.length = htons(len);
- memcpy(hostUniq.payload, data, len);
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: parsePADRTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADR packet
-***********************************************************************/
-void
-parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_RELAY_SESSION_ID:
- relayId.type = htons(type);
- relayId.length = htons(len);
- memcpy(relayId.payload, data, len);
- break;
- case TAG_HOST_UNIQ:
- hostUniq.type = htons(type);
- hostUniq.length = htons(len);
- memcpy(hostUniq.payload, data, len);
- break;
- case TAG_AC_COOKIE:
- receivedCookie.type = htons(type);
- receivedCookie.length = htons(len);
- memcpy(receivedCookie.payload, data, len);
- break;
- case TAG_SERVICE_NAME:
- requestedService.type = htons(type);
- requestedService.length = htons(len);
- memcpy(requestedService.payload, data, len);
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: findSession
-*%ARGUMENTS:
-* pid -- PID of child which owns session. If PID is 0, searches for
-* empty session slots.
-*%RETURNS:
-* A pointer to the session, or NULL if no such session found.
-*%DESCRIPTION:
-* Searches for specified session.
-**********************************************************************/
-struct ClientSession *
-findSession(pid_t pid)
-{
- size_t i;
- for (i=0; i<NumSessionSlots; i++) {
- if (Sessions[i].pid == pid) {
- return &Sessions[i];
- }
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: reapSessions
-*%ARGUMENTS:
-* myAddr -- my Ethernet address
-* sock -- my discovery socket
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reaps children which have exited and removes their sessions
-**********************************************************************/
-void
-reapSessions(unsigned char *myAddr, int sock)
-{
- int status;
- pid_t pid;
- struct ClientSession *session;
-
- /* Temporary structure for sending PADT's. */
- PPPoEConnection conn;
- memset(&conn, 0, sizeof(conn));
-
- /* Initialize fields of conn which do not depend on peer */
- memcpy(conn.myEth, myAddr, ETH_ALEN);
- conn.useHostUniq = 0;
- conn.discoverySocket = sock;
-
- while((pid = waitpid(-1, &status, WNOHANG)) > 0) {
- session = findSession(pid);
- if (!session) {
- syslog(LOG_ERR, "Child %d died but couldn't find session!",
- (int) pid);
- } else {
- syslog(LOG_INFO,
- "Session %d closed for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- conn.session = session->sess;
- memcpy(conn.peerEth, session->eth, ETH_ALEN);
- if (session->recvdPADT) {
- sendPADT(&conn, "RP-PPPoE: Received PADT from peer");
- } else {
- sendPADT(&conn, "RP-PPPoE: Child pppd process terminated");
- }
- session->pid = 0;
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[SMALLBUF];
- snprintf(buf, SMALLBUF, "%s: %s", str, strerror(errno));
- printErr(buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: genCookie
-*%ARGUMENTS:
-* peerEthAddr -- peer Ethernet address (6 bytes)
-* myEthAddr -- my Ethernet address (6 bytes)
-* seed -- random cookie seed to make things tasty (16 bytes)
-* cookie -- buffer which is filled with server PID and
-* md5 sum of previous items
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Forms the md5 sum of peer MAC address, our MAC address and seed, useful
-* in a PPPoE Cookie tag.
-***********************************************************************/
-void
-genCookie(unsigned char const *peerEthAddr,
- unsigned char const *myEthAddr,
- unsigned char const *seed,
- unsigned char *cookie)
-{
- struct MD5Context ctx;
- pid_t pid = getpid();
-
- MD5Init(&ctx);
- MD5Update(&ctx, peerEthAddr, ETH_ALEN);
- MD5Update(&ctx, myEthAddr, ETH_ALEN);
- MD5Update(&ctx, seed, SEED_LEN);
- MD5Final(cookie, &ctx);
- memcpy(cookie+MD5_LEN, &pid, sizeof(pid));
-}
-
-/**********************************************************************
-*%FUNCTION: processPADI
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADI packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADO packet back to client
-***********************************************************************/
-void
-processPADI(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- PPPoEPacket pado;
- PPPoETag acname;
- PPPoETag servname;
- PPPoETag cookie;
- size_t acname_len;
- unsigned char *cursor = pado.payload;
- UINT16_t plen;
-
- /* Ignore PADI's which don't come from a unicast address */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR, "PADI packet from non-unicast source address");
- return;
- }
-
- acname.type = htons(TAG_AC_NAME);
- acname_len = strlen(ACName);
- acname.length = htons(acname_len);
- memcpy(acname.payload, ACName, acname_len);
-
- servname.type = htons(TAG_SERVICE_NAME);
- servname.length = 0;
-
- relayId.type = 0;
- hostUniq.type = 0;
- parsePacket(packet, parsePADITags, NULL);
-
- /* Generate a cookie */
- cookie.type = htons(TAG_AC_COOKIE);
- cookie.length = htons(COOKIE_LEN);
- genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookie.payload);
-
- /* Construct a PADO packet */
- memcpy(pado.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
- memcpy(pado.ethHdr.h_source, myAddr, ETH_ALEN);
- pado.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pado.ver = 1;
- pado.type = 1;
- pado.code = CODE_PADO;
- pado.session = 0;
- plen = TAG_HDR_SIZE + acname_len;
-
- CHECK_ROOM(cursor, pado.payload, acname_len+TAG_HDR_SIZE);
- memcpy(cursor, &acname, acname_len + TAG_HDR_SIZE);
- cursor += acname_len + TAG_HDR_SIZE;
-
- CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE);
- memcpy(cursor, &servname, TAG_HDR_SIZE);
- cursor += TAG_HDR_SIZE;
- plen += TAG_HDR_SIZE;
-
- CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE + COOKIE_LEN);
- memcpy(cursor, &cookie, TAG_HDR_SIZE + COOKIE_LEN);
- cursor += TAG_HDR_SIZE + COOKIE_LEN;
- plen += TAG_HDR_SIZE + COOKIE_LEN;
-
- if (relayId.type) {
- CHECK_ROOM(cursor, pado.payload, ntohs(relayId.length) + TAG_HDR_SIZE);
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- CHECK_ROOM(cursor, pado.payload, ntohs(hostUniq.length)+TAG_HDR_SIZE);
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pado.length = htons(plen);
- sendPacket(NULL, sock, &pado, (int) (plen + HDR_SIZE));
-}
-
-/**********************************************************************
-*%FUNCTION: processPADT
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADT packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Kills session whose session-ID is in PADT packet.
-***********************************************************************/
-void
-processPADT(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- size_t i;
-
- /* Ignore PADT's not directed at us */
- if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
-
- /* Get session's index */
- i = ntohs(packet->session) - 1 - SessOffset;
- if (i >= NumSessionSlots) return;
- if (Sessions[i].sess != packet->session) {
- syslog(LOG_ERR, "Session index %u doesn't match session number %u",
- (unsigned int) i, (unsigned int) ntohs(packet->session));
- return;
- }
- if (Sessions[i].pid) {
- Sessions[i].recvdPADT = 1;
- parsePacket(packet, parseLogErrs, NULL);
- kill(Sessions[i].pid, SIGTERM);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: processPADR
-*%ARGUMENTS:
-* sock -- Ethernet socket
-* myAddr -- my Ethernet address
-* packet -- PPPoE PADR packet
-* len -- length of received packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADS packet back to client and starts a PPP session if PADR
-* packet is OK.
-***********************************************************************/
-void
-processPADR(int sock, unsigned char *myAddr,
- PPPoEPacket *packet, int len)
-{
- unsigned char cookieBuffer[COOKIE_LEN];
- struct ClientSession *cliSession;
- pid_t child;
- PPPoEPacket pads;
- unsigned char *cursor = pads.payload;
- UINT16_t plen;
- PPPoETag servname;
-
- /* Initialize some globals */
- relayId.type = 0;
- hostUniq.type = 0;
- receivedCookie.type = 0;
- requestedService.type = 0;
-
- /* Ignore PADR's not directed at us */
- if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
-
- /* Ignore PADR's from non-unicast addresses */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR, "PADR packet from non-unicast source address");
- return;
- }
-
- parsePacket(packet, parsePADRTags, NULL);
-
- /* Check that everything's cool */
- if (!receivedCookie.type) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- /* Is cookie kosher? */
- if (receivedCookie.length != htons(COOKIE_LEN)) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookieBuffer);
- if (memcmp(receivedCookie.payload, cookieBuffer, COOKIE_LEN)) {
- /* Drop it -- do not send error PADS */
- return;
- }
-
- /* Check service name -- we only offer service "" */
- if (!requestedService.type) {
- syslog(LOG_ERR, "Received PADR packet with no SERVICE_NAME tag");
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: No service name tag");
- return;
- }
-
- if (requestedService.length) {
- syslog(LOG_ERR, "Received PADR packet asking for unsupported service %.*s", (int) ntohs(requestedService.length), requestedService.payload);
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: Invalid service name tag");
- return;
- }
-
- /* Looks cool... find a slot for the session */
- cliSession = findSession(0);
- if (!cliSession) {
- syslog(LOG_ERR, "No client slots available (%02x:%02x:%02x:%02x:%02x:%02x)",
- (unsigned int) packet->ethHdr.h_source[0],
- (unsigned int) packet->ethHdr.h_source[1],
- (unsigned int) packet->ethHdr.h_source[2],
- (unsigned int) packet->ethHdr.h_source[3],
- (unsigned int) packet->ethHdr.h_source[4],
- (unsigned int) packet->ethHdr.h_source[5]);
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: No client slots available");
- return;
- }
-
- /* Set up client session peer Ethernet address */
- memcpy(cliSession->eth, packet->ethHdr.h_source, ETH_ALEN);
- cliSession->recvdPADT = 0;
-
- /* Create child process, send PADS packet back */
- child = fork();
- if (child < 0) {
- sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
- TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: Unable to start session process");
- return;
- }
- if (child != 0) {
- /* In the parent process. Mark pid in session slot */
- cliSession->pid = child;
- return;
- }
-
- /* In the child process. */
-
- /* pppd has a nasty habit of killing all processes in its process group.
- Start a new session to stop pppd from killing us! */
- setsid();
-
- /* Send PADS and Start pppd */
- memcpy(pads.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
- memcpy(pads.ethHdr.h_source, myAddr, ETH_ALEN);
- pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pads.ver = 1;
- pads.type = 1;
- pads.code = CODE_PADS;
-
- pads.session = cliSession->sess;
- plen = 0;
-
- servname.type = htons(TAG_SERVICE_NAME);
- servname.length = 0;
-
- memcpy(cursor, &servname, TAG_HDR_SIZE);
- cursor += TAG_HDR_SIZE;
- plen += TAG_HDR_SIZE;
-
- if (relayId.type) {
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pads.length = htons(plen);
- sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
- startPPPD(cliSession);
-}
-
-/**********************************************************************
-*%FUNCTION: childHandler
-*%ARGUMENTS:
-* sig -- signal number
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Called by SIGCHLD. Writes one byte to Pipe to wake up the select
-* loop and cause reaping of dead sessions
-***********************************************************************/
-void
-childHandler(int sig)
-{
- if (!ReapPending) {
- ReapPending = 1;
- write(Pipe[1], &ReapPending, 1);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- argv[0] from main
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage instructions
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
-#ifdef USE_BPF
- fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
-#else
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
-#endif
- fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
- fprintf(stderr, " -C name -- Set access concentrator name.\n");
- fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
- fprintf(stderr, " -L ip -- Set local IP address.\n");
- fprintf(stderr, " -R ip -- Set start address of remote IP pool.\n");
- fprintf(stderr, " -p fname -- Optain IP address pool from specified file.\n");
- fprintf(stderr, " -N num -- Allow 'num' concurrent sessions.\n");
- fprintf(stderr, " -o offset -- Assign session numbers starting at offset+1.\n");
- fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
- fprintf(stderr, " -s -- Use synchronous PPP mode.\n");
-#ifdef HAVE_LINUX_KERNEL_PPPOE
- fprintf(stderr, " -k -- Use kernel-mode PPPoE.\n");
-#endif
- fprintf(stderr, " -h -- Print usage information.\n\n");
- fprintf(stderr, "PPPoE-Server Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE-Server comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it\n");
- fprintf(stderr, "under the terms of the GNU General Public License, version 2\n");
- fprintf(stderr, "or (at your option) any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- usual suspects
-*%RETURNS:
-* Exit status
-*%DESCRIPTION:
-* Main program of PPPoE server
-***********************************************************************/
-int
-main(int argc, char **argv)
-{
-
- FILE *fp;
- int i;
- int opt;
- unsigned char myAddr[ETH_ALEN];
- PPPoEPacket packet;
- int len;
- int sock;
- int d[IPV4ALEN];
- int beDaemon = 1;
- struct sigaction act;
- int maxFD;
- unsigned int discoveryType, sessionType;
- char *addressPoolFname = NULL;
-
-#ifndef HAVE_LINUX_KERNEL_PPPOE
- char *options = "hI:C:L:R:T:m:FN:f:o:sp:";
-#else
- char *options = "hI:C:L:R:T:m:FN:f:o:skp:";
-#endif
-
- /* Initialize syslog */
- openlog("pppoe-server", LOG_PID, LOG_DAEMON);
-
- /* Default number of session slots */
- NumSessionSlots = DEFAULT_MAX_SESSIONS;
-
- /* Parse command-line options */
- while((opt = getopt(argc, argv, options)) != -1) {
- switch(opt) {
-#ifdef HAVE_LINUX_KERNEL_PPPOE
- case 'k':
- UseLinuxKernelModePPPoE = 1;
- break;
-#endif
- case 'p':
- addressPoolFname = optarg;
- break;
- case 's':
- Synchronous = 1;
- /* Pass the Synchronous option on to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -s");
- break;
- case 'f':
- if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
- fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
- exit(EXIT_FAILURE);
- }
- Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
- Eth_PPPOE_Session = (UINT16_t) sessionType;
- /* This option gets passed to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -%c %s", opt, optarg);
- break;
- case 'F':
- beDaemon = 0;
- break;
- case 'N':
- if (sscanf(optarg, "%d", &opt) != 1) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt <= 0) {
- fprintf(stderr, "-N: Value must be positive\n");
- exit(EXIT_FAILURE);
- }
- NumSessionSlots = opt;
- break;
- case 'o':
- if (sscanf(optarg, "%d", &opt) != 1) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt < 0) {
- fprintf(stderr, "-o: Value must be non-negative\n");
- exit(EXIT_FAILURE);
- }
- SessOffset = (size_t) opt;
- break;
-
- case 'I':
- SET_STRING(IfName, optarg);
- break;
- case 'C':
- SET_STRING(ACName, optarg);
- break;
- case 'L':
- case 'R':
- /* Get local/remote IP address */
- if (sscanf(optarg, "%d.%d.%d.%d", &d[0], &d[1], &d[2], &d[3]) != 4) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- for (i=0; i<IPV4ALEN; i++) {
- if (d[i] < 0 || d[i] > 255) {
- usage(argv[0]);
- exit(EXIT_FAILURE);
- }
- if (opt == 'L') {
- LocalIP[i] = (unsigned char) d[i];
- } else {
- RemoteIP[i] = (unsigned char) d[i];
- }
- }
- break;
- case 'T':
- case 'm':
- /* These just get passed to pppoe */
- snprintf(PppoeOptions + strlen(PppoeOptions),
- SMALLBUF-strlen(PppoeOptions),
- " -%c %s", opt, optarg);
- break;
- case 'h':
- usage(argv[0]);
- exit(EXIT_SUCCESS);
- }
- }
-
-#ifdef USE_LINUX_PACKET
-#ifndef HAVE_STRUCT_SOCKADDR_LL
- fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
- exit(EXIT_FAILURE);
-#endif
-#endif
-
- if (!IfName) {
- IfName = DEFAULT_IF;
- }
-
- if (!ACName) {
- ACName = malloc(HOSTNAMELEN);
- if (gethostname(ACName, HOSTNAMELEN) < 0) {
- fatalSys("gethostname");
- }
- }
-
- /* If address pool filename given, count number of addresses */
- if (addressPoolFname) {
- NumSessionSlots = parseAddressPool(addressPoolFname, 0);
- }
-
- /* Max 65534 - SessOffset sessions */
- if (NumSessionSlots + SessOffset > 65534) {
- fprintf(stderr, "-N and -o options must add up to at most 65534\n");
- exit(EXIT_FAILURE);
- }
-
- /* Allocate memory for sessions */
- Sessions = calloc(NumSessionSlots, sizeof(struct ClientSession));
- if (!Sessions) {
- rp_fatal("Cannot allocate memory for session slots");
- }
-
- /* Fill in remote IP addresses from pool */
- if (addressPoolFname) {
- (void) parseAddressPool(addressPoolFname, 1);
- }
-
- /* For testing -- generate sequential remote IP addresses */
- for(i=0; i<NumSessionSlots; i++) {
- Sessions[i].pid = 0;
- Sessions[i].sess = htons(i+1+SessOffset);
-
- if (!addressPoolFname) {
- memcpy(Sessions[i].ip, RemoteIP, sizeof(RemoteIP));
-
- /* Increment IP */
- RemoteIP[3]++;
- if (!RemoteIP[3]) {
- RemoteIP[3] = 0;
- RemoteIP[2]++;
- if (!RemoteIP[2]) {
- RemoteIP[1]++;
- if (!RemoteIP[1]) {
- RemoteIP[0]++;
- }
- }
- }
- }
- }
-
- /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
- if (beDaemon) {
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- /* parent */
- exit(EXIT_SUCCESS);
- }
- setsid();
- signal(SIGHUP, SIG_IGN);
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- exit(EXIT_SUCCESS);
- }
-
- chdir("/");
- closelog();
- for (i=0; i<CLOSEFD; i++) close(i);
- /* We nuked our syslog descriptor... */
- openlog("pppoe-server", LOG_PID, LOG_DAEMON);
- }
-
- /* Initialize our random cookie. Try /dev/urandom; if that fails,
- use PID and rand() */
- fp = fopen("/dev/urandom", "r");
- if (fp) {
- fread(&CookieSeed, 1, SEED_LEN, fp);
- fclose(fp);
- } else {
- CookieSeed[0] = getpid() & 0xFF;
- CookieSeed[1] = (getpid() >> 8) & 0xFF;
- for (i=2; i<SEED_LEN; i++) {
- CookieSeed[i] = (rand() >> (i % 9)) & 0xFF;
- }
- }
-
- sock = openInterface(IfName, Eth_PPPOE_Discovery, myAddr);
-
- /* Set signal handler for SIGCHLD */
- act.sa_handler = childHandler;
- sigemptyset(&act.sa_mask);
- act.sa_flags = SA_NOCLDSTOP | SA_RESTART;
- if (sigaction(SIGCHLD, &act, NULL) < 0) {
- fatalSys("sigaction");
- }
-
- /* Set up pipe for signal handler */
- if (pipe(Pipe) < 0) {
- fatalSys("pipe");
- }
-
- /* Main server loop */
- maxFD = sock;
- if (Pipe[0] > maxFD) maxFD = Pipe[0];
- maxFD++;
-
- for(;;) {
- fd_set readable;
- FD_ZERO(&readable);
- FD_SET(sock, &readable);
- FD_SET(Pipe[0], &readable);
-
- while(1) {
- i = select(maxFD, &readable, NULL, NULL, NULL);
- if (i >= 0 || errno != EINTR) break;
- }
- if (i < 0) {
- fatalSys("select");
- }
-
- if (FD_ISSET(Pipe[0], &readable)) {
- /* Clear pipe */
- char buf[SMALLBUF];
- read(Pipe[0], buf, SMALLBUF);
- }
-
- if (ReapPending) {
- ReapPending = 0;
- reapSessions(myAddr, sock);
- }
- if (!FD_ISSET(sock, &readable)) {
- continue;
- }
-
- if (receivePacket(sock, &packet, &len) < 0) {
- continue;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- continue;
- }
-
- /* Sanity check on packet */
- if (packet.ver != 1 || packet.type != 1) {
- /* Syslog an error */
- continue;
- }
- switch(packet.code) {
- case CODE_PADI:
- processPADI(sock, myAddr, &packet, len);
- break;
- case CODE_PADR:
- processPADR(sock, myAddr, &packet, len);
- break;
- case CODE_PADT:
- /* Kill the child */
- processPADT(sock, myAddr, &packet, len);
- break;
- case CODE_SESS:
- /* Ignore SESS -- children will handle them */
- break;
- case CODE_PADO:
- case CODE_PADS:
- /* Ignore PADO and PADS totally */
- break;
- default:
- /* Syslog an error */
- break;
- }
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: sendErrorPADS
-*%ARGUMENTS:
-* sock -- socket to write to
-* source -- source Ethernet address
-* dest -- destination Ethernet address
-* errorTag -- error tag
-* errorMsg -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends a PADS packet with an error message
-***********************************************************************/
-void
-sendErrorPADS(int sock,
- unsigned char *source,
- unsigned char *dest,
- int errorTag,
- char *errorMsg)
-{
- PPPoEPacket pads;
- unsigned char *cursor = pads.payload;
- UINT16_t plen;
- PPPoETag err;
- int elen = strlen(errorMsg);
-
- memcpy(pads.ethHdr.h_dest, dest, ETH_ALEN);
- memcpy(pads.ethHdr.h_source, source, ETH_ALEN);
- pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- pads.ver = 1;
- pads.type = 1;
- pads.code = CODE_PADS;
-
- pads.session = htons(0);
- plen = 0;
-
- err.type = htons(errorTag);
- err.length = htons(elen);
-
- memcpy(err.payload, errorMsg, elen);
- memcpy(cursor, &err, TAG_HDR_SIZE+elen);
- cursor += TAG_HDR_SIZE + elen;
- plen += TAG_HDR_SIZE + elen;
-
- if (relayId.type) {
- memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
- cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
- plen += ntohs(relayId.length) + TAG_HDR_SIZE;
- }
- if (hostUniq.type) {
- memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
- cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
- }
- pads.length = htons(plen);
- sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
-}
-
-
-/**********************************************************************
-*%FUNCTION: startPPPDUserMode
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD for user-mode PPPoE
-***********************************************************************/
-void
-startPPPDUserMode(struct ClientSession *session)
-{
- /* Leave some room */
- char *argv[20];
-
- char buffer[SMALLBUF];
-
- argv[0] = "pppd";
- argv[1] = "pty";
-
- snprintf(buffer, SMALLBUF, "%s -n -I %s -e %d:%02x:%02x:%02x:%02x:%02x:%02x%s",
- PPPOE_PATH, IfName,
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- PppoeOptions);
- argv[2] = strdup(buffer);
- if (!argv[2]) {
- /* TODO: Send a PADT */
- exit(EXIT_FAILURE);
- }
-
- argv[3] = "file";
- argv[4] = PPPOE_SERVER_OPTIONS;
-
- snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
- (int) LocalIP[0], (int) LocalIP[1],
- (int) LocalIP[2], (int) LocalIP[3],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- syslog(LOG_INFO,
- "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- argv[5] = buffer; /* No need for strdup -- about to execv! */
- argv[6] = "nodetach";
- argv[7] = "noaccomp";
- argv[8] = "nobsdcomp";
- argv[9] = "nodeflate";
- argv[10] = "nopcomp";
- argv[11] = "novj";
- argv[12] = "novjccomp";
- argv[13] = "default-asyncmap";
- if (Synchronous) {
- argv[14] = "sync";
- argv[15] = NULL;
- } else {
- argv[14] = NULL;
- }
-
- execv(PPPD_PATH, argv);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: startPPPDLinuxKernelMode
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD for kernel-mode PPPoE on Linux
-***********************************************************************/
-void
-startPPPDLinuxKernelMode(struct ClientSession *session)
-{
- /* Leave some room */
- char *argv[20];
-
- char buffer[SMALLBUF];
-
- argv[0] = "pppd";
- argv[1] = "plugin";
- argv[2] = PLUGIN_PATH;
- argv[3] = IfName;
- snprintf(buffer, SMALLBUF, "%d:%02x:%02x:%02x:%02x:%02x:%02x",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5]);
- argv[4] = "rp_pppoe_sess";
- argv[5] = strdup(buffer);
- if (!argv[5]) {
- /* TODO: Send a PADT */
- exit(EXIT_FAILURE);
- }
- argv[6] = "file";
- argv[7] = PPPOE_SERVER_OPTIONS;
-
- snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
- (int) LocalIP[0], (int) LocalIP[1],
- (int) LocalIP[2], (int) LocalIP[3],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- syslog(LOG_INFO,
- "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
- ntohs(session->sess),
- session->eth[0], session->eth[1], session->eth[2],
- session->eth[3], session->eth[4], session->eth[5],
- (int) session->ip[0], (int) session->ip[1],
- (int) session->ip[2], (int) session->ip[3]);
- argv[8] = buffer;
- argv[9] = "nodetach";
- argv[10] = "noaccomp";
- argv[11] = "nobsdcomp";
- argv[12] = "nodeflate";
- argv[13] = "nopcomp";
- argv[14] = "novj";
- argv[15] = "novjccomp";
- argv[16] = "default-asyncmap";
- argv[17] = NULL;
- execv(PPPD_PATH, argv);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: startPPPD
-*%ARGUMENTS:
-* session -- client session record
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Starts PPPD
-***********************************************************************/
-void
-startPPPD(struct ClientSession *session)
-{
- if (UseLinuxKernelModePPPoE) startPPPDLinuxKernelMode(session);
- else startPPPDUserMode(session);
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-sniff.c b/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
deleted file mode 100644
index aa796547b..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/***********************************************************************
-*
-* pppoe-sniff.c
-*
-* Sniff a network for likely-looking PPPoE frames and deduce the value
-* to supply to PPPOE_EXTRA in /etc/ppp/pppoe.conf. USE AT YOUR OWN RISK.
-*
-* Copyright (C) 2000 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef USE_DLPI
-#include <sys/dlpi.h>
-/* function declarations */
-void dlpromisconreq( int fd, u_long level);
-void dlokack(int fd, char *bufp);
-#endif
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-
-/* Global vars */
-int SeenPADR = 0;
-int SeenSess = 0;
-UINT16_t SessType, DiscType;
-
-char *IfName = NULL; /* Interface name */
-char *ServiceName = NULL; /* Service name */
-
-/**********************************************************************
-*%FUNCTION: parsePADRTags
-*%ARGUMENTS:
-* type -- tag type
-* len -- tag length
-* data -- tag data
-* extra -- extra user data.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Picks interesting tags out of a PADR packet
-***********************************************************************/
-void
-parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
- void *extra)
-{
- switch(type) {
- case TAG_SERVICE_NAME:
- ServiceName = malloc(len+1);
- if (ServiceName) {
- memcpy(ServiceName, data, len);
- ServiceName[len] = 0;
- }
- break;
- }
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(1);
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
- fprintf(stderr, " -V -- Print version and exit.\n");
- fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2000 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(0);
-}
-
-#if !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
-
-int
-main()
-{
- fprintf(stderr, "Sorry, pppoe-sniff works only on Linux.\n");
- return 1;
-}
-
-#else
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- count and values of command-line arguments
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Main program
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int sock;
- PPPoEPacket pkt;
- int size;
-#ifdef USE_DLPI
- long buf[MAXDLBUF];
-#endif
-
- while((opt = getopt(argc, argv, "I:V")) != -1) {
- switch(opt) {
- case 'I':
- SET_STRING(IfName, optarg);
- break;
- case 'V':
- printf("pppoe-sniff: Roaring Penguin PPPoE Version %s\n", VERSION);
- exit(0);
- default:
- usage(argv[0]);
- }
- }
-
- /* Pick a default interface name */
- if (!IfName) {
- IfName = DEFAULT_IF;
- }
-
- /* Open the interface */
-#ifdef USE_DLPI
- sock = openInterface(IfName, Eth_PPPOE_Discovery, NULL);
- dlpromisconreq(sock, DL_PROMISC_PHYS);
- dlokack(sock, (char *)buf);
- dlpromisconreq(sock, DL_PROMISC_SAP);
- dlokack(sock, (char *)buf);
-#else
-
- sock = openInterface(IfName, ETH_P_ALL, NULL);
-
-#endif
-
- /* We assume interface is in promiscuous mode -- use ifconfig to
- ensure this */
- fprintf(stderr, "Sniffing for PADR. Start your connection on another machine...\n");
- while (!SeenPADR) {
- if (receivePacket(sock, &pkt, &size) < 0) continue;
- if (ntohs(pkt.length) + HDR_SIZE > size) continue;
- if (pkt.ver != 1 || pkt.type != 1) continue;
- if (pkt.code != CODE_PADR) continue;
-
- /* Looks promising... parse it */
- if (parsePacket(&pkt, parsePADRTags, NULL) < 0) {
- continue;
- }
- DiscType = ntohs(pkt.ethHdr.h_proto);
- fprintf(stderr, "\nExcellent! Sniffed a likely-looking PADR.\n");
- break;
- }
-
- while (!SeenSess) {
- if (receivePacket(sock, &pkt, &size) < 0) continue;
- if (ntohs(pkt.length) + HDR_SIZE > size) continue;
- if (pkt.ver != 1 || pkt.type != 1) continue;
- if (pkt.code != CODE_SESS) continue;
-
- /* Cool! */
- SessType = ntohs(pkt.ethHdr.h_proto);
- break;
- }
-
- fprintf(stderr, "Wonderful! Sniffed a likely-looking session packet.\n");
- if ((ServiceName == NULL || *ServiceName == 0) &&
- DiscType == ETH_PPPOE_DISCOVERY &&
- SessType == ETH_PPPOE_SESSION) {
- fprintf(stderr, "\nGreat! It looks like a standard PPPoE service.\nYou should not need anything special in the configuration file.\n");
- return 0;
- }
-
- fprintf(stderr, "\nOK, looks like you need something special in the configuration file.\nTry this:\n\n");
- if (ServiceName != NULL && *ServiceName != 0) {
- fprintf(stderr, "SERVICENAME='%s'\n", ServiceName);
- }
- if (DiscType != ETH_PPPOE_DISCOVERY || SessType != ETH_PPPOE_SESSION) {
- fprintf(stderr, " PPPOE_EXTRA='-f %x:%x'\n", DiscType, SessType);
- }
- return 0;
-}
-
-#endif
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.c b/mdk-stage1/rp-pppoe/src/pppoe.c
deleted file mode 100644
index 8ffe37248..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe.c
+++ /dev/null
@@ -1,834 +0,0 @@
-/***********************************************************************
-*
-* pppoe.c
-*
-* Implementation of user-space PPPoE redirector for Linux.
-*
-* Copyright (C) 2000-2001 by Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-***********************************************************************/
-
-static char const RCSID[] =
-"$Id$";
-
-#include "pppoe.h"
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef USE_LINUX_PACKET
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#endif
-
-#include <signal.h>
-
-#ifdef HAVE_N_HDLC
-#ifndef N_HDLC
-#include <linux/termios.h>
-#endif
-#endif
-
-/* Default interface if no -I option given */
-#define DEFAULT_IF "eth0"
-
-/* Global variables -- options */
-int optInactivityTimeout = 0; /* Inactivity timeout */
-int optClampMSS = 0; /* Clamp MSS to this value */
-int optSkipSession = 0; /* Perform discovery, print session info
- and exit */
-
-PPPoEConnection *Connection = NULL; /* Must be global -- used
- in signal handler */
-/***********************************************************************
-*%FUNCTION: sendSessionPacket
-*%ARGUMENTS:
-* conn -- PPPoE connection
-* packet -- the packet to send
-* len -- length of data to send
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Transmits a session packet to the peer.
-***********************************************************************/
-void
-sendSessionPacket(PPPoEConnection *conn, PPPoEPacket *packet, int len)
-{
- packet->length = htons(len);
- if (optClampMSS) {
- clampMSS(packet, "outgoing", optClampMSS);
- }
- if (sendPacket(conn, conn->sessionSocket, packet, len + HDR_SIZE) < 0) {
- exit(EXIT_FAILURE);
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, packet, "SENT");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-}
-
-#ifdef USE_BPF
-/**********************************************************************
-*%FUNCTION: sessionDiscoveryPacket
-*%ARGUMENTS:
-* packet -- the discovery packet that was received
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* We got a discovery packet during the session stage. This most likely
-* means a PADT.
-*
-* The BSD version uses a single socket for both discovery and session
-* packets. When a packet comes in over the wire once we are in
-* session mode, either syncReadFromEth() or asyncReadFromEth() will
-* have already read the packet and determined it to be a discovery
-* packet before passing it here.
-***********************************************************************/
-void
-sessionDiscoveryPacket(PPPoEPacket *packet)
-{
- /* Sanity check */
- if (packet->code != CODE_PADT) {
- return;
- }
-
- /* It's a PADT, all right. Is it for us? */
- if (packet->session != Connection->session) {
- /* Nope, ignore it */
- return;
- }
-
- syslog(LOG_INFO,
- "Session terminated -- received PADT from access concentrator");
- parsePacket(packet, parseLogErrs, NULL);
- exit(EXIT_SUCCESS);
-}
-#else
-/**********************************************************************
-*%FUNCTION: sessionDiscoveryPacket
-*%ARGUMENTS:
-* conn -- PPPoE connection
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* We got a discovery packet during the session stage. This most likely
-* means a PADT.
-***********************************************************************/
-void
-sessionDiscoveryPacket(PPPoEConnection *conn)
-{
- PPPoEPacket packet;
- int len;
-
- if (receivePacket(conn->discoverySocket, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
- if (packet.code != CODE_PADT) {
- /* Not PADT; ignore it */
- return;
- }
-
- /* It's a PADT, all right. Is it for us? */
- if (packet.session != conn->session) {
- /* Nope, ignore it */
- return;
- }
-
- syslog(LOG_INFO,
- "Session terminated -- received PADT from peer");
- parsePacket(&packet, parseLogErrs, NULL);
- exit(EXIT_SUCCESS);
-}
-#endif /* USE_BPF */
-
-/**********************************************************************
-*%FUNCTION: session
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Handles the "session" phase of PPPoE
-***********************************************************************/
-void
-session(PPPoEConnection *conn)
-{
- fd_set readable;
- PPPoEPacket packet;
- struct timeval tv;
- struct timeval *tvp = NULL;
- int maxFD = 0;
- int r;
-
- /* Open a session socket */
- conn->sessionSocket = openInterface(conn->ifName, Eth_PPPOE_Session, conn->myEth);
-
- /* Prepare for select() */
- if (conn->sessionSocket > maxFD) maxFD = conn->sessionSocket;
- if (conn->discoverySocket > maxFD) maxFD = conn->discoverySocket;
- maxFD++;
-
- /* Fill in the constant fields of the packet to save time */
- memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
- memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Session);
- packet.ver = 1;
- packet.type = 1;
- packet.code = CODE_SESS;
- packet.session = conn->session;
-
- initPPP();
-
-#ifdef USE_BPF
- /* check for buffered session data */
- while (BPF_BUFFER_HAS_DATA) {
- if (conn->synchronous) {
- syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- } else {
- asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- }
- }
-#endif
-
- for (;;) {
- if (optInactivityTimeout > 0) {
- tv.tv_sec = optInactivityTimeout;
- tv.tv_usec = 0;
- tvp = &tv;
- }
- FD_ZERO(&readable);
- FD_SET(0, &readable); /* ppp packets come from stdin */
- if (conn->discoverySocket >= 0) {
- FD_SET(conn->discoverySocket, &readable);
- }
- FD_SET(conn->sessionSocket, &readable);
- while(1) {
- r = select(maxFD, &readable, NULL, NULL, tvp);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- fatalSys("select (session)");
- }
- if (r == 0) { /* Inactivity timeout */
- syslog(LOG_ERR, "Inactivity timeout... something wicked happened");
- sendPADT(conn, "RP-PPPoE: Inactivity timeout");
- exit(EXIT_FAILURE);
- }
-
- /* Handle ready sockets */
- if (FD_ISSET(0, &readable)) {
- if (conn->synchronous) {
- syncReadFromPPP(conn, &packet);
- } else {
- asyncReadFromPPP(conn, &packet);
- }
- }
-
- if (FD_ISSET(conn->sessionSocket, &readable)) {
- do {
- if (conn->synchronous) {
- syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- } else {
- asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
- }
- } while (BPF_BUFFER_HAS_DATA);
- }
-
-#ifndef USE_BPF
- /* BSD uses a single socket, see *syncReadFromEth() */
- /* for calls to sessionDiscoveryPacket() */
- if (conn->discoverySocket >= 0) {
- if (FD_ISSET(conn->discoverySocket, &readable)) {
- sessionDiscoveryPacket(conn);
- }
- }
-#endif
-
- }
-}
-
-
-/***********************************************************************
-*%FUNCTION: sigPADT
-*%ARGUMENTS:
-* src -- signal received
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* If an established session exists send PADT to terminate from session
-* from our end
-***********************************************************************/
-void
-sigPADT(int src)
-{
- syslog(LOG_DEBUG,"Received signal %d.",(int)src);
- sendPADT(Connection, "RP-PPPoE: Received signal");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
-#ifdef USE_BPF
- fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
-#else
- fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
- DEFAULT_IF);
-#endif
- fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
- fprintf(stderr, " -D filename -- Log debugging information in filename.\n");
- fprintf(stderr, " -V -- Print version and exit.\n");
- fprintf(stderr, " -A -- Print access concentrator names and exit.\n");
- fprintf(stderr, " -S name -- Set desired service name.\n");
- fprintf(stderr, " -C name -- Set desired access concentrator name.\n");
- fprintf(stderr, " -U -- Use Host-Unique to allow multiple PPPoE sessions.\n");
- fprintf(stderr, " -s -- Use synchronous PPP encapsulation.\n");
- fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
- fprintf(stderr, " -p pidfile -- Write process-ID to pidfile.\n");
- fprintf(stderr, " -e sess:mac -- Skip discovery phase; use existing session.\n");
- fprintf(stderr, " -n -- Do not open discovery socket.\n");
- fprintf(stderr, " -k -- Kill a session with PADT (requires -e)\n");
- fprintf(stderr, " -d -- Perform discovery, print session info and exit.\n");
- fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
- fprintf(stderr, " -h -- Print usage information.\n\n");
- fprintf(stderr, "PPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- count and values of command-line arguments
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Main program
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int n;
- unsigned int m[6]; /* MAC address in -e option */
- unsigned int s; /* Temporary to hold session */
- FILE *pidfile;
- unsigned int discoveryType, sessionType;
-
- PPPoEConnection conn;
-
-#ifdef HAVE_N_HDLC
- int disc = N_HDLC;
- long flags;
-#endif
-
- /* Initialize connection info */
- memset(&conn, 0, sizeof(conn));
- conn.discoverySocket = -1;
- conn.sessionSocket = -1;
-
- /* For signal handler */
- Connection = &conn;
-
- /* Initialize syslog */
- openlog("pppoe", LOG_PID, LOG_DAEMON);
-
- while((opt = getopt(argc, argv, "I:VAT:D:hS:C:Usm:np:e:kdf:")) != -1) {
- switch(opt) {
- case 'f':
- if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
- fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
- exit(EXIT_FAILURE);
- }
- Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
- Eth_PPPOE_Session = (UINT16_t) sessionType;
- break;
- case 'd':
- optSkipSession = 1;
- break;
-
- case 'k':
- conn.killSession = 1;
- break;
-
- case 'n':
- /* Do not even open a discovery socket -- used when invoked
- by pppoe-server */
- conn.noDiscoverySocket = 1;
- break;
-
- case 'e':
- /* Existing session: "sess:xx:yy:zz:aa:bb:cc" where "sess" is
- session-ID, and xx:yy:zz:aa:bb:cc is MAC-address of peer */
- n = sscanf(optarg, "%u:%2x:%2x:%2x:%2x:%2x:%2x",
- &s, &m[0], &m[1], &m[2], &m[3], &m[4], &m[5]);
- if (n != 7) {
- fprintf(stderr, "Illegal argument to -e: Should be sess:xx:yy:zz:aa:bb:cc\n");
- exit(EXIT_FAILURE);
- }
-
- /* Copy MAC address of peer */
- for (n=0; n<6; n++) {
- conn.peerEth[n] = (unsigned char) m[n];
- }
-
- /* Convert session */
- conn.session = htons(s);
-
- /* Skip discovery phase! */
- conn.skipDiscovery = 1;
- break;
-
- case 'p':
- pidfile = fopen(optarg, "w");
- if (pidfile) {
- fprintf(pidfile, "%lu\n", (unsigned long) getpid());
- fclose(pidfile);
- }
- break;
- case 'S':
- SET_STRING(conn.serviceName, optarg);
- break;
- case 'C':
- SET_STRING(conn.acName, optarg);
- break;
- case 's':
- conn.synchronous = 1;
- break;
- case 'U':
- conn.useHostUniq = 1;
- break;
- case 'D':
- conn.debugFile = fopen(optarg, "w");
- if (!conn.debugFile) {
- fprintf(stderr, "Could not open %s: %s\n",
- optarg, strerror(errno));
- exit(EXIT_FAILURE);
- }
- fprintf(conn.debugFile, "rp-pppoe-%s\n", VERSION);
- fflush(conn.debugFile);
- break;
- case 'T':
- optInactivityTimeout = (int) strtol(optarg, NULL, 10);
- if (optInactivityTimeout < 0) {
- optInactivityTimeout = 0;
- }
- break;
- case 'm':
- optClampMSS = (int) strtol(optarg, NULL, 10);
- if (optClampMSS < 536) {
- fprintf(stderr, "-m: %d is too low (min 536)\n", optClampMSS);
- exit(EXIT_FAILURE);
- }
- if (optClampMSS > 1452) {
- fprintf(stderr, "-m: %d is too high (max 1452)\n", optClampMSS);
- exit(EXIT_FAILURE);
- }
- break;
- case 'I':
- SET_STRING(conn.ifName, optarg);
- break;
- case 'V':
- printf("Roaring Penguin PPPoE Version %s\n", VERSION);
- exit(EXIT_SUCCESS);
- case 'A':
- conn.printACNames = 1;
- break;
- case 'h':
- usage(argv[0]);
- break;
- default:
- usage(argv[0]);
- }
- }
-
- /* Pick a default interface name */
- if (!conn.ifName) {
-#ifdef USE_BPF
- fprintf(stderr, "No interface specified (-I option)\n");
- exit(EXIT_FAILURE);
-#else
- SET_STRING(conn.ifName, DEFAULT_IF);
-#endif
- }
-
- /* Set signal handlers: send PADT on TERM, HUP and INT */
- if (!conn.printACNames) {
- signal(SIGTERM, sigPADT);
- signal(SIGHUP, sigPADT);
- signal(SIGINT, sigPADT);
-
-#ifdef HAVE_N_HDLC
- if (conn.synchronous) {
- if (ioctl(0, TIOCSETD, &disc) < 0) {
- printErr("Unable to set line discipline to N_HDLC -- synchronous mode probably will fail");
- } else {
- syslog(LOG_INFO,
- "Changed pty line discipline to N_HDLC for synchronous mode");
- }
- /* There is a bug in Linux's select which returns a descriptor
- * as readable if N_HDLC line discipline is on, even if
- * it isn't really readable. This return happens only when
- * select() times out. To avoid blocking forever in read(),
- * make descriptor 0 non-blocking */
- flags = fcntl(0, F_GETFL);
- if (flags < 0) fatalSys("fcntl(F_GETFL)");
- if (fcntl(0, F_SETFL, (long) flags | O_NONBLOCK) < 0) {
- fatalSys("fcntl(F_SETFL)");
- }
- }
-#endif
-
- }
-
- discovery(&conn);
- if (optSkipSession) {
- printf("%u:%02x:%02x:%02x:%02x:%02x:%02x\n",
- ntohs(conn.session),
- conn.peerEth[0],
- conn.peerEth[1],
- conn.peerEth[2],
- conn.peerEth[3],
- conn.peerEth[4],
- conn.peerEth[5]);
- exit(EXIT_SUCCESS);
- }
- session(&conn);
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- sendPADT(Connection, "RP-PPPoE: System call error");
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- char buf[1024];
- printErr(str);
- sprintf(buf, "RP-PPPoE: %.256s", str);
- sendPADT(Connection, buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: asyncReadFromEth
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* sock -- Ethernet socket
-* clampMss -- if non-zero, do MSS-clamping
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads a packet from the Ethernet interface and sends it to async PPP
-* device.
-***********************************************************************/
-void
-asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
-{
- PPPoEPacket packet;
- int len;
- int plen;
- int i;
- unsigned char pppBuf[4096];
- unsigned char *ptr = pppBuf;
- unsigned char c;
- UINT16_t fcs;
- unsigned char header[2] = {FRAME_ADDR, FRAME_CTRL};
- unsigned char tail[2];
-#ifdef USE_BPF
- int type;
-#endif
-
- if (receivePacket(sock, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
-#ifdef USE_BPF
- /* Make sure this is a session packet before processing further */
- type = etherType(&packet);
- if (type == Eth_PPPOE_Discovery) {
- sessionDiscoveryPacket(&packet);
- } else if (type != Eth_PPPOE_Session) {
- return;
- }
-#endif
-
- /* Sanity check */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
- return;
- }
- if (packet.ver != 1) {
- syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
- return;
- }
- if (packet.type != 1) {
- syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
- return;
- }
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
-
- if (packet.session != conn->session) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- plen = ntohs(packet.length);
- if (plen + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
- (int) plen, (int) len);
- return;
- }
-
- /* Clamp MSS */
- if (clampMss) {
- clampMSS(&packet, "incoming", clampMss);
- }
-
- /* Compute FCS */
- fcs = pppFCS16(PPPINITFCS16, header, 2);
- fcs = pppFCS16(fcs, packet.payload, plen) ^ 0xffff;
- tail[0] = fcs & 0x00ff;
- tail[1] = (fcs >> 8) & 0x00ff;
-
- /* Build a buffer to send to PPP */
- *ptr++ = FRAME_FLAG;
- *ptr++ = FRAME_ADDR;
- *ptr++ = FRAME_ESC;
- *ptr++ = FRAME_CTRL ^ FRAME_ENC;
-
- for (i=0; i<plen; i++) {
- c = packet.payload[i];
- if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
- *ptr++ = FRAME_ESC;
- *ptr++ = c ^ FRAME_ENC;
- } else {
- *ptr++ = c;
- }
- }
- for (i=0; i<2; i++) {
- c = tail[i];
- if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
- *ptr++ = FRAME_ESC;
- *ptr++ = c ^ FRAME_ENC;
- } else {
- *ptr++ = c;
- }
- }
- *ptr++ = FRAME_FLAG;
-
- /* Ship it out */
- if (write(1, pppBuf, (ptr-pppBuf)) < 0) {
- fatalSys("asyncReadFromEth: write");
- }
-}
-
-/**********************************************************************
-*%FUNCTION: syncReadFromEth
-*%ARGUMENTS:
-* conn -- PPPoE connection info
-* sock -- Ethernet socket
-* clampMss -- if true, clamp MSS.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Reads a packet from the Ethernet interface and sends it to sync PPP
-* device.
-***********************************************************************/
-void
-syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
-{
- PPPoEPacket packet;
- int len;
- int plen;
- struct iovec vec[2];
- unsigned char dummy[2];
-#ifdef USE_BPF
- int type;
-#endif
-
- if (receivePacket(sock, &packet, &len) < 0) {
- return;
- }
-
- /* Check length */
- if (ntohs(packet.length) + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
- if (conn->debugFile) {
- dumpPacket(conn->debugFile, &packet, "RCVD");
- fprintf(conn->debugFile, "\n");
- fflush(conn->debugFile);
- }
-
-#ifdef USE_BPF
- /* Make sure this is a session packet before processing further */
- type = etherType(&packet);
- if (type == Eth_PPPOE_Discovery) {
- sessionDiscoveryPacket(&packet);
- } else if (type != Eth_PPPOE_Session) {
- return;
- }
-#endif
-
- /* Sanity check */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
- return;
- }
- if (packet.ver != 1) {
- syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
- return;
- }
- if (packet.type != 1) {
- syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
- return;
- }
- if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- if (packet.session != conn->session) {
- /* Not for us -- must be another session. This is not an error,
- so don't log anything. */
- return;
- }
- plen = ntohs(packet.length);
- if (plen + HDR_SIZE > len) {
- syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
- (int) plen, (int) len);
- return;
- }
-
- /* Clamp MSS */
- if (clampMss) {
- clampMSS(&packet, "incoming", clampMss);
- }
-
- /* Ship it out */
- vec[0].iov_base = (void *) dummy;
- dummy[0] = FRAME_ADDR;
- dummy[1] = FRAME_CTRL;
- vec[0].iov_len = 2;
- vec[1].iov_base = (void *) packet.payload;
- vec[1].iov_len = plen;
-
- if (writev(1, vec, 2) < 0) {
- fatalSys("syncReadFromEth: write");
- }
-}
-
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.h b/mdk-stage1/rp-pppoe/src/pppoe.h
deleted file mode 100644
index da300c17d..000000000
--- a/mdk-stage1/rp-pppoe/src/pppoe.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/***********************************************************************
-*
-* pppoe.h
-*
-* Declaration of various PPPoE constants
-*
-* Copyright (C) 2000 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-#ifdef __sun__
-#define __EXTENSIONS__
-#endif
-
-#include "config.h"
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define _POSIX_SOURCE 1 /* For sigaction defines */
-#endif
-
-#include <stdio.h> /* For FILE */
-#include <sys/types.h> /* For pid_t */
-
-/* How do we access raw Ethernet devices? */
-#undef USE_LINUX_PACKET
-#undef USE_BPF
-
-#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
-#define USE_LINUX_PACKET 1
-#elif defined(HAVE_NET_BPF_H)
-#define USE_BPF 1
-#elif defined(HAVE_SYS_DLPI_H)
-#define USE_DLPI
-#endif
-
-/* Sanity check */
-#if !defined(USE_BPF) && !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
-#error Unknown method for accessing raw Ethernet frames
-#endif
-
-#ifdef HAVE_SYS_CDEFS_H
-#include <sys/cdefs.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-/* Ugly header files on some Linux boxes... */
-#if defined(HAVE_LINUX_IF_H)
-#include <linux/if.h>
-#elif defined(HAVE_NET_IF_H)
-#include <net/if.h>
-#endif
-
-#ifdef HAVE_NET_IF_TYPES_H
-#include <net/if_types.h>
-#endif
-
-#ifdef HAVE_NET_IF_DL_H
-#include <net/if_dl.h>
-#endif
-
-/* I'm not sure why this is needed... I do not have OpenBSD */
-#if defined(__OpenBSD__)
-#include <net/ppp_defs.h>
-#include <net/if_ppp.h>
-#endif
-
-#ifdef USE_BPF
-extern int bpfSize;
-struct PPPoEPacketStruct;
-void sessionDiscoveryPacket(struct PPPoEPacketStruct *packet);
-#define BPF_BUFFER_IS_EMPTY (bpfSize <= 0)
-#define BPF_BUFFER_HAS_DATA (bpfSize > 0)
-#define ethhdr ether_header
-#define h_dest ether_dhost
-#define h_source ether_shost
-#define h_proto ether_type
-#define ETH_DATA_LEN ETHERMTU
-#define ETH_ALEN ETHER_ADDR_LEN
-#else
-#undef USE_BPF
-#define BPF_BUFFER_IS_EMPTY 1
-#define BPF_BUFFER_HAS_DATA 0
-#endif
-
-#ifdef USE_DLPI
-#include <sys/ethernet.h>
-#define ethhdr ether_header
-#define ETH_DATA_LEN ETHERMTU
-#define ETH_ALEN ETHERADDRL
-#define h_dest ether_dhost.ether_addr_octet
-#define h_source ether_shost.ether_addr_octet
-#define h_proto ether_type
-
-/* cloned from dltest.h */
-#define MAXDLBUF 8192
-#define MAXDLADDR 1024
-#define MAXWAIT 15
-#define OFFADDR(s, n) (u_char*)((char*)(s) + (int)(n))
-#define CASERET(s) case s: return ("s")
-
-#endif
-
-/* Define various integer types -- assumes a char is 8 bits */
-#if SIZEOF_UNSIGNED_SHORT == 2
-typedef unsigned short UINT16_t;
-#elif SIZEOF_UNSIGNED_INT == 2
-typedef unsigned int UINT16_t;
-#else
-#error Could not find a 16-bit integer type
-#endif
-
-#if SIZEOF_UNSIGNED_SHORT == 4
-typedef unsigned short UINT32_t;
-#elif SIZEOF_UNSIGNED_INT == 4
-typedef unsigned int UINT32_t;
-#elif SIZEOF_UNSIGNED_LONG == 4
-typedef unsigned long UINT32_t;
-#else
-#error Could not find a 16-bit integer type
-#endif
-
-#ifdef HAVE_LINUX_IF_ETHER_H
-#include <linux/if_ether.h>
-#endif
-
-#include <netinet/in.h>
-
-#ifdef HAVE_NETINET_IF_ETHER_H
-#include <sys/types.h>
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifndef HAVE_SYS_DLPI_H
-#include <netinet/if_ether.h>
-#endif
-#endif
-
-
-
-/* Ethernet frame types according to RFC 2516 */
-#define ETH_PPPOE_DISCOVERY 0x8863
-#define ETH_PPPOE_SESSION 0x8864
-
-/* But some brain-dead peers disobey the RFC, so frame types are variables */
-extern UINT16_t Eth_PPPOE_Discovery;
-extern UINT16_t Eth_PPPOE_Session;
-
-/* PPPoE codes */
-#define CODE_PADI 0x09
-#define CODE_PADO 0x07
-#define CODE_PADR 0x19
-#define CODE_PADS 0x65
-#define CODE_PADT 0xA7
-#define CODE_SESS 0x00
-
-/* PPPoE Tags */
-#define TAG_END_OF_LIST 0x0000
-#define TAG_SERVICE_NAME 0x0101
-#define TAG_AC_NAME 0x0102
-#define TAG_HOST_UNIQ 0x0103
-#define TAG_AC_COOKIE 0x0104
-#define TAG_VENDOR_SPECIFIC 0x0105
-#define TAG_RELAY_SESSION_ID 0x0110
-#define TAG_SERVICE_NAME_ERROR 0x0201
-#define TAG_AC_SYSTEM_ERROR 0x0202
-#define TAG_GENERIC_ERROR 0x0203
-
-/* Discovery phase states */
-#define STATE_SENT_PADI 0
-#define STATE_RECEIVED_PADO 1
-#define STATE_SENT_PADR 2
-#define STATE_SESSION 3
-#define STATE_TERMINATED 4
-
-/* How many PADI/PADS attempts? */
-#define MAX_PADI_ATTEMPTS 3
-
-/* Initial timeout for PADO/PADS */
-#define PADI_TIMEOUT 5
-
-/* States for scanning PPP frames */
-#define STATE_WAITFOR_FRAME_ADDR 0
-#define STATE_DROP_PROTO 1
-#define STATE_BUILDING_PACKET 2
-
-/* Special PPP frame characters */
-#define FRAME_ESC 0x7D
-#define FRAME_FLAG 0x7E
-#define FRAME_ADDR 0xFF
-#define FRAME_CTRL 0x03
-#define FRAME_ENC 0x20
-
-#define IPV4ALEN 4
-#define SMALLBUF 256
-
-/* A PPPoE Packet, including Ethernet headers */
-typedef struct PPPoEPacketStruct {
- struct ethhdr ethHdr; /* Ethernet header */
-#ifdef PACK_BITFIELDS_REVERSED
- unsigned int type:4; /* PPPoE Type (must be 1) */
- unsigned int ver:4; /* PPPoE Version (must be 1) */
-#else
- unsigned int ver:4; /* PPPoE Version (must be 1) */
- unsigned int type:4; /* PPPoE Type (must be 1) */
-#endif
- unsigned int code:8; /* PPPoE code */
- unsigned int session:16; /* PPPoE session */
- unsigned int length:16; /* Payload length */
- unsigned char payload[ETH_DATA_LEN]; /* A bit of room to spare */
-} PPPoEPacket;
-
-/* Header size of a PPPoE packet */
-#define PPPOE_OVERHEAD 6 /* type, code, session, length */
-#define HDR_SIZE (sizeof(struct ethhdr) + PPPOE_OVERHEAD)
-#define MAX_PPPOE_PAYLOAD (ETH_DATA_LEN - PPPOE_OVERHEAD)
-#define MAX_PPPOE_MTU (MAX_PPPOE_PAYLOAD - 2)
-
-/* PPPoE Tag */
-
-typedef struct PPPoETagStruct {
- unsigned int type:16; /* tag type */
- unsigned int length:16; /* Length of payload */
- unsigned char payload[ETH_DATA_LEN]; /* A LOT of room to spare */
-} PPPoETag;
-/* Header size of a PPPoE tag */
-#define TAG_HDR_SIZE 4
-
-/* Chunk to read from stdin */
-#define READ_CHUNK 4096
-
-/* Function passed to parsePacket */
-typedef void ParseFunc(UINT16_t type,
- UINT16_t len,
- unsigned char *data,
- void *extra);
-
-/* Structures used by PPPoE server */
-struct ClientSession {
- pid_t pid; /* PID of child handling session */
- unsigned char ip[IPV4ALEN]; /* IP address of peer */
- UINT16_t sess; /* Session number */
- unsigned char eth[ETH_ALEN]; /* Peer's Ethernet address */
- int recvdPADT; /* Peer sent a PADT */
-};
-
-#define PPPINITFCS16 0xffff /* Initial FCS value */
-
-/* Keep track of the state of a connection -- collect everything in
- one spot */
-
-typedef struct PPPoEConnectionStruct {
- int discoveryState; /* Where we are in discovery */
- int discoverySocket; /* Raw socket for discovery frames */
- int sessionSocket; /* Raw socket for session frames */
- unsigned char myEth[ETH_ALEN]; /* My MAC address */
- unsigned char peerEth[ETH_ALEN]; /* Peer's MAC address */
- UINT16_t session; /* Session ID */
- char *ifName; /* Interface name */
- char *serviceName; /* Desired service name, if any */
- char *acName; /* Desired AC name, if any */
- int synchronous; /* Use synchronous PPP */
- int useHostUniq; /* Use Host-Uniq tag */
- int printACNames; /* Just print AC names */
- int skipDiscovery; /* Skip discovery */
- int noDiscoverySocket; /* Don't even open discovery socket */
- int killSession; /* Kill session and exit */
- FILE *debugFile; /* Debug file for dumping packets */
- int numPADOs; /* Number of PADO packets received */
- PPPoETag cookie; /* We have to send this if we get it */
- PPPoETag relayId; /* Ditto */
-} PPPoEConnection;
-
-/* Structure used to determine acceptable PADO or PADS packet */
-struct PacketCriteria {
- PPPoEConnection *conn;
- int acNameOK;
- int serviceNameOK;
-};
-
-/* Function Prototypes */
-UINT16_t etherType(PPPoEPacket *packet);
-int openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr);
-int sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size);
-int receivePacket(int sock, PPPoEPacket *pkt, int *size);
-void fatalSys(char const *str);
-void rp_fatal(char const *str);
-void printErr(char const *str);
-void sysErr(char const *str);
-void dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir);
-void dumpHex(FILE *fp, unsigned char const *buf, int len);
-int parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra);
-void parseLogErrs(UINT16_t typ, UINT16_t len, unsigned char *data, void *xtra);
-void syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
-void asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
-void asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
-void syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
-char *strDup(char const *str);
-void sendPADT(PPPoEConnection *conn, char const *msg);
-void sendSessionPacket(PPPoEConnection *conn,
- PPPoEPacket *packet, int len);
-void initPPP(void);
-void clampMSS(PPPoEPacket *packet, char const *dir, int clampMss);
-UINT16_t computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr);
-UINT16_t pppFCS16(UINT16_t fcs, unsigned char *cp, int len);
-void discovery(PPPoEConnection *conn);
-unsigned char *findTag(PPPoEPacket *packet, UINT16_t tagType,
- PPPoETag *tag);
-
-#define SET_STRING(var, val) do { if (var) free(var); var = strDup(val); } while(0);
-
-#define CHECK_ROOM(cursor, start, len) \
-do {\
- if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
- syslog(LOG_ERR, "Would create too-long packet"); \
- return; \
- } \
-} while(0)
-
-/* True if Ethernet address is broadcast or multicast */
-#define NOT_UNICAST(e) ((e[0] & 0x01) != 0)
-#define BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) == 0xFF)
-#define NOT_BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) != 0xFF)
diff --git a/mdk-stage1/rp-pppoe/src/relay.c b/mdk-stage1/rp-pppoe/src/relay.c
deleted file mode 100644
index 9738cb8a8..000000000
--- a/mdk-stage1/rp-pppoe/src/relay.c
+++ /dev/null
@@ -1,1541 +0,0 @@
-/***********************************************************************
-*
-* relay.c
-*
-* Implementation of PPPoE relay
-*
-* Copyright (C) 2001 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-static char const RCSID[] =
-"$Id$";
-
-#define _GNU_SOURCE 1 /* For SA_RESTART */
-
-#include "relay.h"
-
-#include <signal.h>
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-
-/* Interfaces (max MAX_INTERFACES) */
-PPPoEInterface Interfaces[MAX_INTERFACES];
-int NumInterfaces;
-
-/* Relay info */
-int NumSessions;
-int MaxSessions;
-PPPoESession *AllSessions;
-PPPoESession *FreeSessions;
-PPPoESession *ActiveSessions;
-
-SessionHash *AllHashes;
-SessionHash *FreeHashes;
-SessionHash *Buckets[HASHTAB_SIZE];
-
-volatile unsigned int Epoch = 0;
-volatile unsigned int CleanCounter = 0;
-
-/* How often to clean up stale sessions? */
-#define MIN_CLEAN_PERIOD 30 /* Minimum period to run cleaner */
-#define TIMEOUT_DIVISOR 20 /* How often to run cleaner per timeout period */
-unsigned int CleanPeriod = MIN_CLEAN_PERIOD;
-
-/* How long a session can be idle before it is cleaned up? */
-unsigned int IdleTimeout = MIN_CLEAN_PERIOD * TIMEOUT_DIVISOR;
-
-/* Pipe for breaking select() to initiate periodic cleaning */
-int CleanPipe[2];
-
-/* Our relay: if_index followed by peer_mac */
-#define MY_RELAY_TAG_LEN (sizeof(int) + ETH_ALEN)
-
-/* Hack for daemonizing */
-#define CLOSEFD 64
-
-/**********************************************************************
-*%FUNCTION: keepDescriptor
-*%ARGUMENTS:
-* fd -- a file descriptor
-*%RETURNS:
-* 1 if descriptor should NOT be closed during daemonizing; 0 otherwise.
-***********************************************************************/
-static int
-keepDescriptor(int fd)
-{
- int i;
- if (fd == CleanPipe[0] || fd == CleanPipe[1]) return 1;
- for (i=0; i<NumInterfaces; i++) {
- if (fd == Interfaces[i].discoverySock ||
- fd == Interfaces[i].sessionSock) return 1;
- }
- return 0;
-}
-
-/**********************************************************************
-*%FUNCTION: addTag
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* tag -- tag to add
-*%RETURNS:
-* -1 if no room in packet; number of bytes added otherwise.
-*%DESCRIPTION:
-* Inserts a tag as the first tag in a PPPoE packet.
-***********************************************************************/
-int
-addTag(PPPoEPacket *packet, PPPoETag const *tag)
-{
- return insertBytes(packet, packet->payload, tag,
- ntohs(tag->length) + TAG_HDR_SIZE);
-}
-
-/**********************************************************************
-*%FUNCTION: insertBytes
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* loc -- location at which to insert bytes of data
-* bytes -- the data to insert
-* len -- length of data to insert
-*%RETURNS:
-* -1 if no room in packet; len otherwise.
-*%DESCRIPTION:
-* Inserts "len" bytes of data at location "loc" in "packet", moving all
-* other data up to make room.
-***********************************************************************/
-int
-insertBytes(PPPoEPacket *packet,
- unsigned char *loc,
- void const *bytes,
- int len)
-{
- int toMove;
- int plen = ntohs(packet->length);
- /* Sanity checks */
- if (loc < packet->payload ||
- loc > packet->payload + plen ||
- len + plen > MAX_PPPOE_PAYLOAD) {
- return -1;
- }
-
- toMove = (packet->payload + plen) - loc;
- memmove(loc+len, loc, toMove);
- memcpy(loc, bytes, len);
- packet->length = htons(plen + len);
- return len;
-}
-
-/**********************************************************************
-*%FUNCTION: removeBytes
-*%ARGUMENTS:
-* packet -- a PPPoE packet
-* loc -- location at which to remove bytes of data
-* len -- length of data to remove
-*%RETURNS:
-* -1 if there was a problem, len otherwise
-*%DESCRIPTION:
-* Removes "len" bytes of data from location "loc" in "packet", moving all
-* other data down to close the gap
-***********************************************************************/
-int
-removeBytes(PPPoEPacket *packet,
- unsigned char *loc,
- int len)
-{
- int toMove;
- int plen = ntohs(packet->length);
- /* Sanity checks */
- if (len < 0 || len > plen ||
- loc < packet->payload ||
- loc + len > packet->payload + plen) {
- return -1;
- }
-
- toMove = ((packet->payload + plen) - loc) - len;
- memmove(loc, loc+len, toMove);
- packet->length = htons(plen - len);
- return len;
-}
-
-/**********************************************************************
-*%FUNCTION: usage
-*%ARGUMENTS:
-* argv0 -- program name
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints usage information and exits.
-***********************************************************************/
-void
-usage(char const *argv0)
-{
- fprintf(stderr, "Usage: %s [options]\n", argv0);
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -S if_name -- Specify interface for PPPoE Server\n");
- fprintf(stderr, " -C if_name -- Specify interface for PPPoE Client\n");
- fprintf(stderr, " -B if_name -- Specify interface for both clients and server\n");
- fprintf(stderr, " -n nsess -- Maxmimum number of sessions to relay\n");
- fprintf(stderr, " -i timeout -- Idle timeout in seconds (0 = no timeout)\n");
- fprintf(stderr, " -F -- Do not fork into background\n");
- fprintf(stderr, " -h -- Print this help message\n");
-
- fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
- fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
- fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
- fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
- fprintf(stderr, "http://www.roaringpenguin.com\n");
- exit(EXIT_SUCCESS);
-}
-
-/**********************************************************************
-*%FUNCTION: main
-*%ARGUMENTS:
-* argc, argv -- usual suspects
-*%RETURNS:
-* EXIT_SUCCESS or EXIT_FAILURE
-*%DESCRIPTION:
-* Main program. Options:
-* -C ifname -- Use interface for PPPoE clients
-* -S ifname -- Use interface for PPPoE servers
-* -B ifname -- Use interface for both clients and servers
-* -n sessions -- Maximum of "n" sessions
-***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- int opt;
- int nsess = DEFAULT_SESSIONS;
- struct sigaction sa;
- int beDaemon = 1;
- openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
-
- while((opt = getopt(argc, argv, "hC:S:B:n:i:F")) != -1) {
- switch(opt) {
- case 'h':
- usage(argv[0]);
- break;
- case 'F':
- beDaemon = 0;
- break;
- case 'C':
- addInterface(optarg, 1, 0);
- break;
- case 'S':
- addInterface(optarg, 0, 1);
- break;
- case 'B':
- addInterface(optarg, 1, 1);
- break;
- case 'i':
- if (sscanf(optarg, "%u", &IdleTimeout) != 1) {
- fprintf(stderr, "Illegal argument to -i: should be -i timeout\n");
- exit(EXIT_FAILURE);
- }
- CleanPeriod = IdleTimeout / TIMEOUT_DIVISOR;
- if (CleanPeriod < MIN_CLEAN_PERIOD) CleanPeriod = MIN_CLEAN_PERIOD;
- break;
- case 'n':
- if (sscanf(optarg, "%d", &nsess) != 1) {
- fprintf(stderr, "Illegal argument to -n: should be -n #sessions\n");
- exit(EXIT_FAILURE);
- }
- if (nsess < 1 || nsess > 65534) {
- fprintf(stderr, "Illegal argument to -n: must range from 1 to 65534\n");
- exit(EXIT_FAILURE);
- }
- break;
- default:
- usage(argv[0]);
- }
- }
-
-#ifdef USE_LINUX_PACKET
-#ifndef HAVE_STRUCT_SOCKADDR_LL
- fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
- exit(EXIT_FAILURE);
-#endif
-#endif
-
- /* Check that at least two interfaces were defined */
- if (NumInterfaces < 2) {
- fprintf(stderr, "%s: Must define at least two interfaces\n",
- argv[0]);
- exit(EXIT_FAILURE);
- }
-
- /* Make a pipe for the cleaner */
- if (pipe(CleanPipe) < 0) {
- fatalSys("pipe");
- }
-
- /* Set up alarm handler */
- sa.sa_handler = alarmHandler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = SA_RESTART;
- if (sigaction(SIGALRM, &sa, NULL) < 0) {
- fatalSys("sigaction");
- }
-
- /* Allocate memory for sessions, etc. */
- initRelay(nsess);
-
- /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
- if (beDaemon) {
- int i;
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- /* parent */
- exit(0);
- }
- setsid();
- signal(SIGHUP, SIG_IGN);
- i = fork();
- if (i < 0) {
- fatalSys("fork");
- } else if (i != 0) {
- exit(0);
- }
-
- chdir("/");
- closelog();
- for (i=0; i<CLOSEFD; i++) {
- if (!keepDescriptor(i)) {
- close(i);
- }
- }
- /* We nuked our syslog descriptor... */
- openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
- }
-
- /* Kick off SIGALRM if there is an idle timeout */
- if (IdleTimeout) alarm(1);
-
- /* Enter the relay loop */
- relayLoop();
-
- /* Shouldn't ever get here... */
- return EXIT_FAILURE;
-}
-
-/**********************************************************************
-*%FUNCTION: addInterface
-*%ARGUMENTS:
-* ifname -- interface name
-* clientOK -- true if this interface should relay PADI, PADR packets.
-* acOK -- true if this interface should relay PADO, PADS packets.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Opens an interface; sets up discovery and session sockets.
-***********************************************************************/
-void
-addInterface(char const *ifname,
- int clientOK,
- int acOK)
-{
- PPPoEInterface *i;
- if (NumInterfaces >= MAX_INTERFACES) {
- fprintf(stderr, "Too many interfaces (%d max)\n",
- MAX_INTERFACES);
- exit(EXIT_FAILURE);
- }
- i = &Interfaces[NumInterfaces++];
- strncpy(i->name, ifname, IFNAMSIZ);
- i->name[IFNAMSIZ] = 0;
-
- i->discoverySock = openInterface(ifname, Eth_PPPOE_Discovery, i->mac);
- i->sessionSock = openInterface(ifname, Eth_PPPOE_Session, NULL);
- i->clientOK = clientOK;
- i->acOK = acOK;
-}
-
-/**********************************************************************
-*%FUNCTION: initRelay
-*%ARGUMENTS:
-* nsess -- maximum allowable number of sessions
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Initializes relay hash table and session tables.
-***********************************************************************/
-void
-initRelay(int nsess)
-{
- int i;
- NumSessions = 0;
- MaxSessions = nsess;
-
- AllSessions = calloc(MaxSessions, sizeof(PPPoESession));
- if (!AllSessions) {
- rp_fatal("Unable to allocate memory for PPPoE session table");
- }
- AllHashes = calloc(MaxSessions*2, sizeof(SessionHash));
- if (!AllHashes) {
- rp_fatal("Unable to allocate memory for PPPoE hash table");
- }
-
- /* Initialize sessions in a linked list */
- AllSessions[0].prev = NULL;
- if (MaxSessions > 1) {
- AllSessions[0].next = &AllSessions[1];
- } else {
- AllSessions[0].next = NULL;
- }
- for (i=1; i<MaxSessions-1; i++) {
- AllSessions[i].prev = &AllSessions[i-1];
- AllSessions[i].next = &AllSessions[i+1];
- }
- if (MaxSessions > 1) {
- AllSessions[MaxSessions-1].prev = &AllSessions[MaxSessions-2];
- AllSessions[MaxSessions-1].next = NULL;
- }
-
- FreeSessions = AllSessions;
- ActiveSessions = NULL;
-
- /* Initialize session numbers which we hand out */
- for (i=0; i<MaxSessions; i++) {
- AllSessions[i].sesNum = htons((UINT16_t) i+1);
- }
-
- /* Initialize hashes in a linked list */
- AllHashes[0].prev = NULL;
- AllHashes[0].next = &AllHashes[1];
- for (i=1; i<2*MaxSessions-1; i++) {
- AllHashes[i].prev = &AllHashes[i-1];
- AllHashes[i].next = &AllHashes[i+1];
- }
- AllHashes[2*MaxSessions-1].prev = &AllHashes[2*MaxSessions-2];
- AllHashes[2*MaxSessions-1].next = NULL;
-
- FreeHashes = AllHashes;
-}
-
-/**********************************************************************
-*%FUNCTION: createSession
-*%ARGUMENTS:
-* ac -- Ethernet interface on access-concentrator side
-* cli -- Ethernet interface on client side
-* acMac -- Access concentrator's MAC address
-* cliMac -- Client's MAC address
-* acSess -- Access concentrator's session ID.
-*%RETURNS:
-* PPPoESession structure; NULL if one could not be allocated
-*%DESCRIPTION:
-* Initializes relay hash table and session tables.
-***********************************************************************/
-PPPoESession *
-createSession(PPPoEInterface const *ac,
- PPPoEInterface const *cli,
- unsigned char const *acMac,
- unsigned char const *cliMac,
- UINT16_t acSes)
-{
- PPPoESession *sess;
- SessionHash *acHash, *cliHash;
-
- if (NumSessions >= MaxSessions) {
- printErr("Maximum number of sessions reached -- cannot create new session");
- return NULL;
- }
-
- /* Grab a free session */
- sess = FreeSessions;
- FreeSessions = sess->next;
- NumSessions++;
-
- /* Link it to the active list */
- sess->next = ActiveSessions;
- if (sess->next) {
- sess->next->prev = sess;
- }
- ActiveSessions = sess;
- sess->prev = NULL;
-
- sess->epoch = Epoch;
-
- /* Get two hash entries */
- acHash = FreeHashes;
- cliHash = acHash->next;
- FreeHashes = cliHash->next;
-
- acHash->peer = cliHash;
- cliHash->peer = acHash;
-
- sess->acHash = acHash;
- sess->clientHash = cliHash;
-
- acHash->interface = ac;
- cliHash->interface = cli;
-
- memcpy(acHash->peerMac, acMac, ETH_ALEN);
- acHash->sesNum = acSes;
- acHash->ses = sess;
-
- memcpy(cliHash->peerMac, cliMac, ETH_ALEN);
- cliHash->sesNum = sess->sesNum;
- cliHash->ses = sess;
-
- addHash(acHash);
- addHash(cliHash);
-
- /* Log */
- syslog(LOG_INFO,
- "Opened session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d)",
- acHash->peerMac[0], acHash->peerMac[1],
- acHash->peerMac[2], acHash->peerMac[3],
- acHash->peerMac[4], acHash->peerMac[5],
- acHash->interface->name,
- ntohs(acHash->sesNum),
- cliHash->peerMac[0], cliHash->peerMac[1],
- cliHash->peerMac[2], cliHash->peerMac[3],
- cliHash->peerMac[4], cliHash->peerMac[5],
- cliHash->interface->name,
- ntohs(cliHash->sesNum));
-
- return sess;
-}
-
-/**********************************************************************
-*%FUNCTION: freeSession
-*%ARGUMENTS:
-* ses -- session to free
-* msg -- extra message to log on syslog.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Frees data used by a PPPoE session -- adds hashes and session back
-* to the free list
-***********************************************************************/
-void
-freeSession(PPPoESession *ses, char const *msg)
-{
- syslog(LOG_INFO,
- "Closed session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d): %s",
- ses->acHash->peerMac[0], ses->acHash->peerMac[1],
- ses->acHash->peerMac[2], ses->acHash->peerMac[3],
- ses->acHash->peerMac[4], ses->acHash->peerMac[5],
- ses->acHash->interface->name,
- ntohs(ses->acHash->sesNum),
- ses->clientHash->peerMac[0], ses->clientHash->peerMac[1],
- ses->clientHash->peerMac[2], ses->clientHash->peerMac[3],
- ses->clientHash->peerMac[4], ses->clientHash->peerMac[5],
- ses->clientHash->interface->name,
- ntohs(ses->clientHash->sesNum), msg);
-
- /* Unlink from active sessions */
- if (ses->prev) {
- ses->prev->next = ses->next;
- } else {
- ActiveSessions = ses->next;
- }
- if (ses->next) {
- ses->next->prev = ses->prev;
- }
-
- /* Link onto free list -- this is a singly-linked list, so
- we do not care about prev */
- ses->next = FreeSessions;
- FreeSessions = ses;
-
- unhash(ses->acHash);
- unhash(ses->clientHash);
- NumSessions--;
-}
-
-/**********************************************************************
-*%FUNCTION: unhash
-*%ARGUMENTS:
-* sh -- session hash to free
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Frees a session hash -- takes it out of hash table and puts it on
-* free list.
-***********************************************************************/
-void
-unhash(SessionHash *sh)
-{
- unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
- if (sh->prev) {
- sh->prev->next = sh->next;
- } else {
- Buckets[b] = sh->next;
- }
-
- if (sh->next) {
- sh->next->prev = sh->prev;
- }
-
- /* Add to free list (singly-linked) */
- sh->next = FreeHashes;
- FreeHashes = sh;
-}
-
-/**********************************************************************
-*%FUNCTION: addHash
-*%ARGUMENTS:
-* sh -- a session hash
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Adds a SessionHash to the hash table
-***********************************************************************/
-void
-addHash(SessionHash *sh)
-{
- unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
- sh->next = Buckets[b];
- sh->prev = NULL;
- if (sh->next) {
- sh->next->prev = sh;
- }
- Buckets[b] = sh;
-}
-
-/**********************************************************************
-*%FUNCTION: hash
-*%ARGUMENTS:
-* mac -- an Ethernet address
-* sesNum -- a session number
-*%RETURNS:
-* A hash value combining Ethernet address with session number.
-* Currently very simplistic; we may need to experiment with different
-* hash values.
-***********************************************************************/
-unsigned int
-hash(unsigned char const *mac, UINT16_t sesNum)
-{
- unsigned int ans1 =
- ((unsigned int) mac[0]) |
- (((unsigned int) mac[1]) << 8) |
- (((unsigned int) mac[2]) << 16) |
- (((unsigned int) mac[3]) << 24);
- unsigned int ans2 =
- ((unsigned int) sesNum) |
- (((unsigned int) mac[4]) << 16) |
- (((unsigned int) mac[5]) << 24);
- return ans1 ^ ans2;
-}
-
-/**********************************************************************
-*%FUNCTION: findSession
-*%ARGUMENTS:
-* mac -- an Ethernet address
-* sesNum -- a session number
-*%RETURNS:
-* The session hash for peer address "mac", session number sesNum
-***********************************************************************/
-SessionHash *
-findSession(unsigned char const *mac, UINT16_t sesNum)
-{
- unsigned int b = hash(mac, sesNum) % HASHTAB_SIZE;
- SessionHash *sh = Buckets[b];
- while(sh) {
- if (!memcmp(mac, sh->peerMac, ETH_ALEN) && sesNum == sh->sesNum) {
- return sh;
- }
- sh = sh->next;
- }
- return NULL;
-}
-
-/**********************************************************************
-*%FUNCTION: fatalSys
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to stderr and syslog and exits.
-***********************************************************************/
-void
-fatalSys(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: sysErr
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message plus the errno value to syslog.
-***********************************************************************/
-void
-sysErr(char const *str)
-{
- char buf[1024];
- sprintf(buf, "%.256s: %.256s", str, strerror(errno));
- printErr(buf);
-}
-
-/**********************************************************************
-*%FUNCTION: rp_fatal
-*%ARGUMENTS:
-* str -- error message
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Prints a message to stderr and syslog and exits.
-***********************************************************************/
-void
-rp_fatal(char const *str)
-{
- printErr(str);
- exit(EXIT_FAILURE);
-}
-
-/**********************************************************************
-*%FUNCTION: relayLoop
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Runs the relay loop. This function never returns
-***********************************************************************/
-void
-relayLoop()
-{
- fd_set readable, readableCopy;
- int maxFD;
- int i, r;
- int sock;
-
- /* Build the select set */
- FD_ZERO(&readable);
- maxFD = 0;
- for (i=0; i<NumInterfaces; i++) {
- sock = Interfaces[i].discoverySock;
- if (sock > maxFD) maxFD = sock;
- FD_SET(sock, &readable);
- sock = Interfaces[i].sessionSock;
- if (sock > maxFD) maxFD = sock;
- FD_SET(sock, &readable);
- if (CleanPipe[0] > maxFD) maxFD = CleanPipe[0];
- FD_SET(CleanPipe[0], &readable);
- }
- maxFD++;
- for(;;) {
- readableCopy = readable;
- for(;;) {
- r = select(maxFD, &readableCopy, NULL, NULL, NULL);
- if (r >= 0 || errno != EINTR) break;
- }
- if (r < 0) {
- sysErr("select (relayLoop)");
- continue;
- }
-
- /* Handle session packets first */
- for (i=0; i<NumInterfaces; i++) {
- if (FD_ISSET(Interfaces[i].sessionSock, &readableCopy)) {
- relayGotSessionPacket(&Interfaces[i]);
- }
- }
-
- /* Now handle discovery packets */
- for (i=0; i<NumInterfaces; i++) {
- if (FD_ISSET(Interfaces[i].discoverySock, &readableCopy)) {
- relayGotDiscoveryPacket(&Interfaces[i]);
- }
- }
-
- /* Handle the session-cleaning process */
- if (FD_ISSET(CleanPipe[0], &readableCopy)) {
- char dummy;
- CleanCounter = 0;
- read(CleanPipe[0], &dummy, 1);
- if (IdleTimeout) cleanSessions();
- }
- }
-}
-
-/**********************************************************************
-*%FUNCTION: relayGotDiscoveryPacket
-*%ARGUMENTS:
-* iface -- interface on which packet is waiting
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a discovery packet.
-***********************************************************************/
-void
-relayGotDiscoveryPacket(PPPoEInterface const *iface)
-{
- PPPoEPacket packet;
- int size;
-
- if (receivePacket(iface->discoverySock, &packet, &size) < 0) {
- return;
- }
- /* Ignore unknown code/version */
- if (packet.ver != 1 || packet.type != 1) {
- return;
- }
-
- /* Validate length */
- if (ntohs(packet.length) + HDR_SIZE > size) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- /* Drop Ethernet frame padding */
- if (size > ntohs(packet.length) + HDR_SIZE) {
- size = ntohs(packet.length) + HDR_SIZE;
- }
-
- switch(packet.code) {
- case CODE_PADT:
- relayHandlePADT(iface, &packet, size);
- break;
- case CODE_PADI:
- relayHandlePADI(iface, &packet, size);
- break;
- case CODE_PADO:
- relayHandlePADO(iface, &packet, size);
- break;
- case CODE_PADR:
- relayHandlePADR(iface, &packet, size);
- break;
- case CODE_PADS:
- relayHandlePADS(iface, &packet, size);
- break;
- default:
- syslog(LOG_ERR, "Discovery packet on %s with unknown code %d",
- iface->name, (int) packet.code);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: relayGotSessionPacket
-*%ARGUMENTS:
-* iface -- interface on which packet is waiting
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a session packet.
-***********************************************************************/
-void
-relayGotSessionPacket(PPPoEInterface const *iface)
-{
- PPPoEPacket packet;
- int size;
- SessionHash *sh;
- PPPoESession *ses;
-
- if (receivePacket(iface->sessionSock, &packet, &size) < 0) {
- return;
- }
-
- /* Ignore unknown code/version */
- if (packet.ver != 1 || packet.type != 1) {
- return;
- }
-
- /* Must be a session packet */
- if (packet.code != CODE_SESS) {
- syslog(LOG_ERR, "Session packet with code %d", (int) packet.code);
- return;
- }
-
- /* Ignore session packets whose destination address isn't ours */
- if (memcmp(packet.ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Validate length */
- if (ntohs(packet.length) + HDR_SIZE > size) {
- syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
- (unsigned int) ntohs(packet.length));
- return;
- }
-
- /* Drop Ethernet frame padding */
- if (size > ntohs(packet.length) + HDR_SIZE) {
- size = ntohs(packet.length) + HDR_SIZE;
- }
-
- /* We're in business! Find the hash */
- sh = findSession(packet.ethHdr.h_source, packet.session);
- if (!sh) {
- /* Don't log this. Someone could be running the client and the
- relay on the same box. */
- return;
- }
-
- /* Relay it */
- ses = sh->ses;
- ses->epoch = Epoch;
- sh = sh->peer;
- packet.session = sh->sesNum;
- memcpy(packet.ethHdr.h_source, sh->interface->mac, ETH_ALEN);
- memcpy(packet.ethHdr.h_dest, sh->peerMac, ETH_ALEN);
-#if 0
- fprintf(stderr, "Relaying %02x:%02x:%02x:%02x:%02x:%02x(%s:%d) to %02x:%02x:%02x:%02x:%02x:%02x(%s:%d)\n",
- sh->peer->peerMac[0], sh->peer->peerMac[1], sh->peer->peerMac[2],
- sh->peer->peerMac[3], sh->peer->peerMac[4], sh->peer->peerMac[5],
- sh->peer->interface->name, ntohs(sh->peer->sesNum),
- sh->peerMac[0], sh->peerMac[1], sh->peerMac[2],
- sh->peerMac[3], sh->peerMac[4], sh->peerMac[5],
- sh->interface->name, ntohs(sh->sesNum));
-#endif
- sendPacket(NULL, sh->interface->sessionSock, &packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADT
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADT packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADT packet.
-***********************************************************************/
-void
-relayHandlePADT(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- SessionHash *sh;
- PPPoESession *ses;
-
- sh = findSession(packet->ethHdr.h_source, packet->session);
- if (!sh) {
- return;
- }
- /* Relay the PADT to the peer */
- sh = sh->peer;
- ses = sh->ses;
- packet->session = sh->sesNum;
- memcpy(packet->ethHdr.h_source, sh->interface->mac, ETH_ALEN);
- memcpy(packet->ethHdr.h_dest, sh->peerMac, ETH_ALEN);
- sendPacket(NULL, sh->interface->sessionSock, packet, size);
-
- /* Destroy the session */
- freeSession(ses, "Received PADT");
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADI
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADI packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADI packet.
-***********************************************************************/
-void
-relayHandlePADI(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int i, r;
-
- int ifIndex;
-
- /* Can a client legally be behind this interface? */
- if (!iface->clientOK) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be broadcast */
- if (NOT_BROADCAST(packet->ethHdr.h_dest)) {
- syslog(LOG_ERR,
- "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not to a broadcast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Get array index of interface */
- ifIndex = iface - Interfaces;
-
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- tag.type = htons(TAG_RELAY_SESSION_ID);
- tag.length = htons(MY_RELAY_TAG_LEN);
- memcpy(tag.payload, &ifIndex, sizeof(ifIndex));
- memcpy(tag.payload+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
- /* Add a relay tag if there's room */
- r = addTag(packet, &tag);
- if (r < 0) return;
- size += r;
- } else {
- /* We do not re-use relay-id tags. Drop the frame. The RFC says the
- relay agent SHOULD return a Generic-Error tag, but this does not
- make sense for PADI packets. */
- return;
- }
-
- /* Broadcast the PADI on all AC-capable interfaces except the interface
- on which it came */
- for (i=0; i < NumInterfaces; i++) {
- if (iface == &Interfaces[i]) continue;
- if (!Interfaces[i].acOK) continue;
- memcpy(packet->ethHdr.h_source, Interfaces[i].mac, ETH_ALEN);
- sendPacket(NULL, Interfaces[i].discoverySock, packet, size);
- }
-
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADO
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADO packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADO packet.
-***********************************************************************/
-void
-relayHandlePADO(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int acIndex;
-
- /* Can a server legally be behind this interface? */
- if (!iface->acOK) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- acIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].clientOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Replace Relay-ID tag with opposite-direction tag */
- memcpy(loc+TAG_HDR_SIZE, &acIndex, sizeof(acIndex));
- memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADO to the proper client */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADR
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADR packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADR packet.
-***********************************************************************/
-void
-relayHandlePADR(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int cliIndex;
-
- /* Can a client legally be behind this interface? */
- if (!iface->clientOK) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- cliIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].acOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Replace Relay-ID tag with opposite-direction tag */
- memcpy(loc+TAG_HDR_SIZE, &cliIndex, sizeof(cliIndex));
- memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADR to the proper access concentrator */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relayHandlePADS
-*%ARGUMENTS:
-* iface -- interface on which packet was received
-* packet -- the PADS packet
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Receives and processes a PADS packet.
-***********************************************************************/
-void
-relayHandlePADS(PPPoEInterface const *iface,
- PPPoEPacket *packet,
- int size)
-{
- PPPoETag tag;
- unsigned char *loc;
- int ifIndex;
- int acIndex;
- PPPoESession *ses = NULL;
- SessionHash *sh;
-
- /* Can a server legally be behind this interface? */
- if (!iface->acOK) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- acIndex = iface - Interfaces;
-
- /* Source address must be unicast */
- if (NOT_UNICAST(packet->ethHdr.h_source)) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Destination address must be interface's MAC address */
- if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
- return;
- }
-
- /* Find relay tag */
- loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
- if (!loc) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If it's the wrong length, ignore it */
- if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* Extract interface index */
- memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
-
- if (ifIndex < 0 || ifIndex >= NumInterfaces ||
- !Interfaces[ifIndex].clientOK ||
- iface == &Interfaces[ifIndex]) {
- syslog(LOG_ERR,
- "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
- packet->ethHdr.h_source[0],
- packet->ethHdr.h_source[1],
- packet->ethHdr.h_source[2],
- packet->ethHdr.h_source[3],
- packet->ethHdr.h_source[4],
- packet->ethHdr.h_source[5],
- iface->name);
- return;
- }
-
- /* If session ID is zero, it's the AC respoding with an error.
- Just relay it; do not create a session */
- if (packet->session != htons(0)) {
- /* Check for existing session */
- sh = findSession(packet->ethHdr.h_source, packet->session);
- if (sh) ses = sh->ses;
-
- /* If already an existing session, assume it's a duplicate PADS. Send
- the frame, but do not create a new session. Is this the right
- thing to do? Arguably, should send an error to the client and
- a PADT to the server, because this could happen due to a
- server crash and reboot. */
-
- if (!ses) {
- /* Create a new session */
- ses = createSession(iface, &Interfaces[ifIndex],
- packet->ethHdr.h_source,
- loc + TAG_HDR_SIZE + sizeof(ifIndex), packet->session);
- if (!ses) {
- /* Can't allocate session -- send error PADS to client and
- PADT to server */
- PPPoETag hostUniq, *hu;
- if (findTag(packet, TAG_HOST_UNIQ, &hostUniq)) {
- hu = &hostUniq;
- } else {
- hu = NULL;
- }
- relaySendError(CODE_PADS, htons(0), &Interfaces[ifIndex],
- loc + TAG_HDR_SIZE + sizeof(ifIndex),
- hu, "RP-PPPoE: Relay: Unable to allocate session");
- relaySendError(CODE_PADT, packet->session, iface,
- packet->ethHdr.h_source, NULL,
- "RP-PPPoE: Relay: Unable to allocate session");
- return;
- }
- }
- /* Replace session number */
- packet->session = ses->sesNum;
- }
-
- /* Remove relay-ID tag */
- removeBytes(packet, loc, MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
- size -= (MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
-
- /* Set destination address to MAC address in relay ID */
- memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
-
- /* Set source address to MAC address of interface */
- memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
-
- /* Send the PADS to the proper client */
- sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
-}
-
-/**********************************************************************
-*%FUNCTION: relaySendError
-*%ARGUMENTS:
-* code -- PPPoE packet code (PADS or PADT, typically)
-* session -- PPPoE session number
-* iface -- interface on which to send frame
-* mac -- Ethernet address to which frame should be sent
-* hostUniq -- if non-NULL, a hostUniq tag to add to error frame
-* errMsg -- error message to insert into Generic-Error tag.
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Sends either a PADS or PADT packet with a Generic-Error tag and an
-* error message.
-***********************************************************************/
-void
-relaySendError(unsigned char code,
- UINT16_t session,
- PPPoEInterface const *iface,
- unsigned char const *mac,
- PPPoETag const *hostUniq,
- char const *errMsg)
-{
- PPPoEPacket packet;
- PPPoETag errTag;
- int size;
-
- memcpy(packet.ethHdr.h_source, iface->mac, ETH_ALEN);
- memcpy(packet.ethHdr.h_dest, mac, ETH_ALEN);
- packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
- packet.type = 1;
- packet.ver = 1;
- packet.code = code;
- packet.session = session;
- packet.length = htons(0);
- if (hostUniq) {
- if (addTag(&packet, hostUniq) < 0) return;
- }
- errTag.type = htons(TAG_GENERIC_ERROR);
- errTag.length = htons(strlen(errMsg));
- strcpy(errTag.payload, errMsg);
- if (addTag(&packet, &errTag) < 0) return;
- size = ntohs(packet.length) + HDR_SIZE;
- if (code == CODE_PADT) {
- sendPacket(NULL, iface->discoverySock, &packet, size);
- } else {
- sendPacket(NULL, iface->sessionSock, &packet, size);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: alarmHandler
-*%ARGUMENTS:
-* sig -- signal number
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* SIGALRM handler. Increments Epoch; if necessary, writes a byte of
-* data to the alarm pipe to trigger the stale-session cleaner.
-***********************************************************************/
-void
-alarmHandler(int sig)
-{
- alarm(1);
- Epoch++;
- CleanCounter++;
- if (CleanCounter == CleanPeriod) {
- write(CleanPipe[1], "", 1);
- }
-}
-
-/**********************************************************************
-*%FUNCTION: cleanSessions
-*%ARGUMENTS:
-* None
-*%RETURNS:
-* Nothing
-*%DESCRIPTION:
-* Goes through active sessions and cleans sessions idle for longer
-* than IdleTimeout seconds.
-***********************************************************************/
-void cleanSessions(void)
-{
- PPPoESession *cur, *next;
- cur = ActiveSessions;
- while(cur) {
- next = cur->next;
- if (Epoch - cur->epoch > IdleTimeout) {
- /* Send PADT to each peer */
- relaySendError(CODE_PADT, cur->acHash->sesNum,
- cur->acHash->interface,
- cur->acHash->peerMac, NULL,
- "RP-PPPoE: Relay: Session exceeded idle timeout");
- relaySendError(CODE_PADT, cur->clientHash->sesNum,
- cur->clientHash->interface,
- cur->clientHash->peerMac, NULL,
- "RP-PPPoE: Relay: Session exceeded idle timeout");
- freeSession(cur, "Idle Timeout");
- }
- cur = next;
- }
-}
diff --git a/mdk-stage1/rp-pppoe/src/relay.h b/mdk-stage1/rp-pppoe/src/relay.h
deleted file mode 100644
index d438a657f..000000000
--- a/mdk-stage1/rp-pppoe/src/relay.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**********************************************************************
-*
-* relay.h
-*
-* Definitions for PPPoE relay
-*
-* Copyright (C) 2001 Roaring Penguin Software Inc.
-*
-* This program may be distributed according to the terms of the GNU
-* General Public License, version 2 or (at your option) any later version.
-*
-* $Id$
-*
-***********************************************************************/
-
-#include "pppoe.h"
-
-/* Description for each active Ethernet interface */
-typedef struct InterfaceStruct {
- char name[IFNAMSIZ+1]; /* Interface name */
- int discoverySock; /* Socket for discovery frames */
- int sessionSock; /* Socket for session frames */
- int clientOK; /* Client requests allowed (PADI, PADR) */
- int acOK; /* AC replies allowed (PADO, PADS) */
- unsigned char mac[ETH_ALEN]; /* MAC address */
-} PPPoEInterface;
-
-/* Session state for relay */
-struct SessionHashStruct;
-typedef struct SessionStruct {
- struct SessionStruct *next; /* Free list link */
- struct SessionStruct *prev; /* Free list link */
- struct SessionHashStruct *acHash; /* Hash bucket for AC MAC/Session */
- struct SessionHashStruct *clientHash; /* Hash bucket for client MAC/Session */
- unsigned int epoch; /* Epoch when last activity was seen */
- UINT16_t sesNum; /* Session number assigned by relay */
-} PPPoESession;
-
-/* Hash table entry to find sessions */
-typedef struct SessionHashStruct {
- struct SessionHashStruct *next; /* Link in hash chain */
- struct SessionHashStruct *prev; /* Link in hash chain */
- struct SessionHashStruct *peer; /* Peer for this session */
- PPPoEInterface const *interface; /* Interface */
- unsigned char peerMac[ETH_ALEN]; /* Peer's MAC address */
- UINT16_t sesNum; /* Session number */
- PPPoESession *ses; /* Session data */
-} SessionHash;
-
-/* Function prototypes */
-
-void relayGotSessionPacket(PPPoEInterface const *i);
-void relayGotDiscoveryPacket(PPPoEInterface const *i);
-PPPoEInterface *findInterface(int sock);
-unsigned int hash(unsigned char const *mac, UINT16_t sesNum);
-SessionHash *findSession(unsigned char const *mac, UINT16_t sesNum);
-void deleteHash(SessionHash *hash);
-PPPoESession *createSession(PPPoEInterface const *ac,
- PPPoEInterface const *cli,
- unsigned char const *acMac,
- unsigned char const *cliMac,
- UINT16_t acSes);
-void freeSession(PPPoESession *ses, char const *msg);
-void addInterface(char const *ifname, int clientOK, int acOK);
-void usage(char const *progname);
-void initRelay(int nsess);
-void relayLoop(void);
-void addHash(SessionHash *sh);
-void unhash(SessionHash *sh);
-
-void relayHandlePADT(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADI(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADO(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADR(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-void relayHandlePADS(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
-
-int addTag(PPPoEPacket *packet, PPPoETag const *tag);
-int insertBytes(PPPoEPacket *packet, unsigned char *loc,
- void const *bytes, int length);
-int removeBytes(PPPoEPacket *packet, unsigned char *loc,
- int length);
-void relaySendError(unsigned char code,
- UINT16_t session,
- PPPoEInterface const *iface,
- unsigned char const *mac,
- PPPoETag const *hostUniq,
- char const *errMsg);
-
-void alarmHandler(int sig);
-void cleanSessions(void);
-
-#define MAX_INTERFACES 8
-#define DEFAULT_SESSIONS 5000
-
-/* Hash table size -- a prime number; gives load factor of around 6
- for 65534 sessions */
-#define HASHTAB_SIZE 18917
diff --git a/mdk-stage1/slang/Makefile b/mdk-stage1/slang/Makefile
deleted file mode 100644
index 01700651d..000000000
--- a/mdk-stage1/slang/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
- #******************************************************************************
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-LIBNAME = libslang
-
-OBJS = sltermin.o sldisply.o slutty.o slang.o slarray.o slclass.o slcmd.o slerr.o slgetkey.o slkeymap.o slmalloc.o slmath.o slmemchr.o slmemcmp.o slmemcpy.o slmemset.o slmisc.o slparse.o slprepr.o slregexp.o slrline.o slsearch.o slsmg.o slstd.o sltoken.o sltypes.o slxstrng.o slcurses.o slscroll.o slsignal.o slkeypad.o slerrno.o slstring.o slstruct.o slcmplex.o slarrfun.o slimport.o slpath.o slarith.o slassoc.o slcompat.o slposdir.o slstdio.o slproc.o sltime.o slstrops.o slbstr.o slpack.o slintall.o slistruc.o slposio.o slnspace.o slarrmis.o slospath.o slscanf.o
-
-DEFS = -Dunix -DSLANG
-
-INCS =
-
-
-TARGETS = $(LIBNAME).a
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/slang/_slang.h b/mdk-stage1/slang/_slang.h
deleted file mode 100644
index 02ee13505..000000000
--- a/mdk-stage1/slang/_slang.h
+++ /dev/null
@@ -1,743 +0,0 @@
-#ifndef _PRIVATE_SLANG_H_
-#define _PRIVATE_SLANG_H_
-/* header file for S-Lang internal structures that users do not (should not)
- need. Use slang.h for that purpose. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* #include "config.h" */
-#include "jdmacros.h"
-#include "sllimits.h"
-
-#ifdef VMS
-# define SLANG_SYSTEM_NAME "_VMS"
-#else
-# if defined (IBMPC_SYSTEM)
-# define SLANG_SYSTEM_NAME "_IBMPC"
-# else
-# define SLANG_SYSTEM_NAME "_UNIX"
-# endif
-#endif /* VMS */
-
-/* These quantities are main_types for byte-compiled code. They are used
- * by the inner_interp routine. The _BC_ means byte-code.
- */
-
-#define _SLANG_BC_LVARIABLE SLANG_LVARIABLE /* 0x01 */
-#define _SLANG_BC_GVARIABLE SLANG_GVARIABLE /* 0x02 */
-#define _SLANG_BC_IVARIABLE SLANG_IVARIABLE /* 0x03 */
-#define _SLANG_BC_RVARIABLE SLANG_RVARIABLE /* 0x04 */
-#define _SLANG_BC_INTRINSIC SLANG_INTRINSIC /* 0x05 */
-#define _SLANG_BC_FUNCTION SLANG_FUNCTION /* 0x06 */
-#define _SLANG_BC_MATH_UNARY SLANG_MATH_UNARY /* 0x07 */
-#define _SLANG_BC_APP_UNARY SLANG_APP_UNARY /* 0x08 */
-#define _SLANG_BC_ICONST SLANG_ICONSTANT /* 0x09 */
-#define _SLANG_BC_DCONST SLANG_DCONSTANT /* 0x0A */
-#define _SLANG_BC_PVARIABLE SLANG_PVARIABLE /* 0x0B */
-#define _SLANG_BC_PFUNCTION SLANG_PFUNCTION /* 0x0C */
-
-#define _SLANG_BC_BINARY 0x10
-#define _SLANG_BC_LITERAL 0x11 /* constant objects */
-#define _SLANG_BC_LITERAL_INT 0x12
-#define _SLANG_BC_LITERAL_STR 0x13
-#define _SLANG_BC_BLOCK 0x14
-
-/* These 3 MUST be in this order too ! */
-#define _SLANG_BC_RETURN 0x15
-#define _SLANG_BC_BREAK 0x16
-#define _SLANG_BC_CONTINUE 0x17
-
-#define _SLANG_BC_EXCH 0x18
-#define _SLANG_BC_LABEL 0x19
-#define _SLANG_BC_LOBJPTR 0x1A
-#define _SLANG_BC_GOBJPTR 0x1B
-#define _SLANG_BC_X_ERROR 0x1C
-/* These must be in this order */
-#define _SLANG_BC_X_USER0 0x1D
-#define _SLANG_BC_X_USER1 0x1E
-#define _SLANG_BC_X_USER2 0x1F
-#define _SLANG_BC_X_USER3 0x20
-#define _SLANG_BC_X_USER4 0x21
-
-#define _SLANG_BC_CALL_DIRECT 0x24
-#define _SLANG_BC_CALL_DIRECT_FRAME 0x25
-#define _SLANG_BC_UNARY 0x26
-#define _SLANG_BC_UNARY_FUNC 0x27
-
-#define _SLANG_BC_DEREF_ASSIGN 0x30
-#define _SLANG_BC_SET_LOCAL_LVALUE 0x31
-#define _SLANG_BC_SET_GLOBAL_LVALUE 0x32
-#define _SLANG_BC_SET_INTRIN_LVALUE 0x33
-#define _SLANG_BC_SET_STRUCT_LVALUE 0x34
-#define _SLANG_BC_FIELD 0x35
-#define _SLANG_BC_SET_ARRAY_LVALUE 0x36
-
-#define _SLANG_BC_LINE_NUM 0x40
-
-#define _SLANG_BC_TMP 0x50
-#define _SLANG_BC_LVARIABLE_AGET 0x60
-#define _SLANG_BC_LVARIABLE_APUT 0x61
-#define _SLANG_BC_INTEGER_PLUS 0x62
-#define _SLANG_BC_INTEGER_MINUS 0x63
-#define _SLANG_BC_ARG_LVARIABLE 0x64
-#define _SLANG_BC_EARG_LVARIABLE 0x65
-
-#define _SLANG_BC_CALL_DIRECT_INTRINSIC 0x80
-#define _SLANG_BC_INTRINSIC_CALL_DIRECT 0x81
-#define _SLANG_BC_CALL_DIRECT_LSTR 0x82
-#define _SLANG_BC_CALL_DIRECT_SLFUN 0x83
-#define _SLANG_BC_CALL_DIRECT_INTRSTOP 0x84
-#define _SLANG_BC_INTRINSIC_STOP 0x85
-#define _SLANG_BC_CALL_DIRECT_EARG_LVAR 0x86
-#define _SLANG_BC_CALL_DIRECT_LINT 0x87
-#define _SLANG_BC_CALL_DIRECT_LVAR 0x88
-
-
-/* Byte-Code Sub Types (_BCST_) */
-
-/* These are sub_types of _SLANG_BC_BLOCK */
-#define _SLANG_BCST_ERROR_BLOCK 0x01
-#define _SLANG_BCST_EXIT_BLOCK 0x02
-#define _SLANG_BCST_USER_BLOCK0 0x03
-#define _SLANG_BCST_USER_BLOCK1 0x04
-#define _SLANG_BCST_USER_BLOCK2 0x05
-#define _SLANG_BCST_USER_BLOCK3 0x06
-#define _SLANG_BCST_USER_BLOCK4 0x07
-/* The user blocks MUST be in the above order */
-#define _SLANG_BCST_LOOP 0x10
-#define _SLANG_BCST_WHILE 0x11
-#define _SLANG_BCST_FOR 0x12
-#define _SLANG_BCST_FOREVER 0x13
-#define _SLANG_BCST_CFOR 0x14
-#define _SLANG_BCST_DOWHILE 0x15
-#define _SLANG_BCST_FOREACH 0x16
-
-#define _SLANG_BCST_IF 0x20
-#define _SLANG_BCST_IFNOT 0x21
-#define _SLANG_BCST_ELSE 0x22
-#define _SLANG_BCST_ANDELSE 0x23
-#define _SLANG_BCST_ORELSE 0x24
-#define _SLANG_BCST_SWITCH 0x25
-#define _SLANG_BCST_NOTELSE 0x26
-
-/* assignment (_SLANG_BC_SET_*_LVALUE) subtypes. The order MUST correspond
- * to the assignment token order with the ASSIGN_TOKEN as the first!
- */
-#define _SLANG_BCST_ASSIGN 0x01
-#define _SLANG_BCST_PLUSEQS 0x02
-#define _SLANG_BCST_MINUSEQS 0x03
-#define _SLANG_BCST_TIMESEQS 0x04
-#define _SLANG_BCST_DIVEQS 0x05
-#define _SLANG_BCST_BOREQS 0x06
-#define _SLANG_BCST_BANDEQS 0x07
-#define _SLANG_BCST_PLUSPLUS 0x08
-#define _SLANG_BCST_POST_PLUSPLUS 0x09
-#define _SLANG_BCST_MINUSMINUS 0x0A
-#define _SLANG_BCST_POST_MINUSMINUS 0x0B
-
-/* These use SLANG_PLUS, SLANG_MINUS, SLANG_PLUSPLUS, etc... */
-
-typedef union
-{
-#if SLANG_HAS_FLOAT
- double double_val;
- float float_val;
-#endif
- long long_val;
- unsigned long ulong_val;
- VOID_STAR ptr_val;
- char *s_val;
- int int_val;
- unsigned int uint_val;
- SLang_MMT_Type *ref;
- SLang_Name_Type *n_val;
- struct _SLang_Struct_Type *struct_val;
- struct _SLang_Array_Type *array_val;
- short short_val;
- unsigned short ushort_val;
- char char_val;
- unsigned char uchar_val;
-}
-_SL_Object_Union_Type;
-
-typedef struct _SLang_Object_Type
-{
- unsigned char data_type; /* SLANG_INT_TYPE, ... */
- _SL_Object_Union_Type v;
-}
-SLang_Object_Type;
-
-struct _SLang_MMT_Type
-{
- unsigned char data_type; /* int, string, etc... */
- VOID_STAR user_data; /* address of user structure */
- unsigned int count; /* number of references */
-};
-
-extern int _SLang_pop_object_of_type (unsigned char, SLang_Object_Type *, int);
-
-typedef struct
-{
- char *name; /* slstring */
- SLang_Object_Type obj;
-}
-_SLstruct_Field_Type;
-
-typedef struct _SLang_Struct_Type
-{
- _SLstruct_Field_Type *fields;
- unsigned int nfields; /* number used */
- unsigned int num_refs;
-}
-_SLang_Struct_Type;
-
-extern void _SLstruct_delete_struct (_SLang_Struct_Type *);
-extern int _SLang_push_struct (_SLang_Struct_Type *);
-extern int _SLang_pop_struct (_SLang_Struct_Type **);
-extern int _SLstruct_init (void);
-/* extern int _SLstruct_get_field (char *); */
-extern int _SLstruct_define_struct (void);
-extern int _SLstruct_define_typedef (void);
-
-extern int _SLang_pop_datatype (unsigned char *);
-extern int _SLang_push_datatype (unsigned char);
-
-struct _SLang_Ref_Type
-{
- int is_global;
- union
- {
- SLang_Name_Type *nt;
- SLang_Object_Type *local_obj;
- }
- v;
-};
-
-extern int _SLang_dereference_ref (SLang_Ref_Type *);
-extern int _SLang_deref_assign (SLang_Ref_Type *);
-extern int _SLang_push_ref (int, VOID_STAR);
-
-extern int _SL_increment_frame_pointer (void);
-extern int _SL_decrement_frame_pointer (void);
-
-extern int SLang_pop(SLang_Object_Type *);
-extern void SLang_free_object (SLang_Object_Type *);
-extern int _SLanytype_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-extern void _SLstring_intrinsic (void);
-
-
-/* These functions are used to create slstrings of a fixed length. Be
- * very careful how they are used. In particular, if len bytes are allocated,
- * then the string must be len characters long, no more and no less.
- */
-extern char *_SLallocate_slstring (unsigned int);
-extern char *_SLcreate_via_alloced_slstring (char *, unsigned int);
-extern void _SLunallocate_slstring (char *, unsigned int);
-extern int _SLpush_alloced_slstring (char *, unsigned int);
-
-typedef struct
-{
- char **buf;
- unsigned int max_num;
- unsigned int num;
- unsigned int delta_num;
-}
-_SLString_List_Type;
-extern int _SLstring_list_append (_SLString_List_Type *, char *);
-extern int _SLstring_list_init (_SLString_List_Type *, unsigned int, unsigned int);
-extern void _SLstring_list_delete (_SLString_List_Type *);
-extern int _SLstring_list_push (_SLString_List_Type *);
-
-/* This function assumes that s is an slstring. */
-extern char *_SLstring_dup_slstring (char *);
-extern int _SLang_dup_and_push_slstring (char *);
-
-
-extern int _SLang_init_import (void);
-
-/* This function checks to see if the referenced object is initialized */
-extern int _SLang_is_ref_initialized (SLang_Ref_Type *);
-extern int _SLcheck_identifier_syntax (char *);
-extern int _SLang_uninitialize_ref (SLang_Ref_Type *);
-
-extern int _SLpush_slang_obj (SLang_Object_Type *);
-
-extern char *_SLexpand_escaped_char(char *, char *);
-extern void _SLexpand_escaped_string (char *, char *, char *);
-
-/* returns a pointer to an SLstring string-- use SLang_free_slstring */
-extern char *_SLstringize_object (SLang_Object_Type *);
-extern int _SLdump_objects (char *, SLang_Object_Type *, unsigned int, int);
-
-extern SLang_Object_Type *_SLRun_Stack;
-extern SLang_Object_Type *_SLStack_Pointer;
-
-struct _SLang_NameSpace_Type
-{
- struct _SLang_NameSpace_Type *next;
- char *name; /* this is the load_type name */
- char *namespace_name; /* this name is assigned by implements */
- unsigned int table_size;
- SLang_Name_Type **table;
-};
-extern SLang_NameSpace_Type *_SLns_allocate_namespace (char *, unsigned int);
-extern SLang_NameSpace_Type *_SLns_find_namespace (char *);
-extern int _SLns_set_namespace_name (SLang_NameSpace_Type *, char *);
-extern SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *, char *, unsigned int);
-extern void _SLang_use_namespace_intrinsic (char *name);
-extern char *_SLang_cur_namespace_intrinsic (void);
-extern SLang_Array_Type *_SLang_apropos (char *, char *, unsigned int);
-extern void _SLang_implements_intrinsic (char *);
-
-extern int _SLang_Trace;
-extern int _SLstack_depth(void);
-extern char *_SLang_Current_Function_Name;
-
-extern int _SLang_trace_fun(char *);
-extern int _SLang_Compile_Line_Num_Info;
-
-extern char *_SLstring_dup_hashed_string (char *, unsigned long);
-extern unsigned long _SLcompute_string_hash (char *);
-extern char *_SLstring_make_hashed_string (char *, unsigned int, unsigned long *);
-extern void _SLfree_hashed_string (char *, unsigned int, unsigned long);
-unsigned long _SLstring_hash (unsigned char *, unsigned char *);
-extern int _SLinit_slcomplex (void);
-
-extern int _SLang_init_slstrops (void);
-extern int _SLstrops_do_sprintf_n (int);
-extern int _SLang_sscanf (void);
-extern double _SLang_atof (char *);
-extern int _SLang_init_bstring (void);
-extern int _SLang_init_sltime (void);
-extern void _SLpack (void);
-extern void _SLunpack (char *, SLang_BString_Type *);
-extern void _SLpack_pad_format (char *);
-extern unsigned int _SLpack_compute_size (char *);
-extern int _SLusleep (unsigned long);
-
-/* frees upon error. NULL __NOT__ ok. */
-extern int _SLang_push_slstring (char *);
-
-extern unsigned char _SLarith_promote_type (unsigned char);
-extern int _SLarith_get_precedence (unsigned char);
-extern int _SLarith_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-
-extern int SLang_push(SLang_Object_Type *);
-extern int SLadd_global_variable (char *);
-extern void _SLang_clear_error (void);
-
-extern int _SLdo_pop (void);
-extern unsigned int _SLsys_getkey (void);
-extern int _SLsys_input_pending (int);
-#ifdef IBMPC_SYSTEM
-extern unsigned int _SLpc_convert_scancode (unsigned int, unsigned int, int);
-#define _SLTT_KEY_SHIFT 1
-#define _SLTT_KEY_CTRL 2
-#define _SLTT_KEY_ALT 4
-#endif
-
-typedef struct _SLterminfo_Type SLterminfo_Type;
-extern SLterminfo_Type *_SLtt_tigetent (char *);
-extern char *_SLtt_tigetstr (SLterminfo_Type *, char *);
-extern int _SLtt_tigetnum (SLterminfo_Type *, char *);
-extern int _SLtt_tigetflag (SLterminfo_Type *, char *);
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-extern int _SLtt_get_bce_color_offset (void);
-#endif
-extern void (*_SLtt_color_changed_hook)(void);
-
-extern unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
-
-extern int _SLregister_types (void);
-extern SLang_Class_Type *_SLclass_get_class (unsigned char);
-extern VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *, SLang_Object_Type *);
-extern void _SLclass_type_mismatch_error (unsigned char, unsigned char);
-extern int _SLclass_init (void);
-extern int _SLclass_copy_class (unsigned char, unsigned char);
-
-extern unsigned char _SLclass_Class_Type [256];
-
-extern int (*_SLclass_get_typecast (unsigned char, unsigned char, int))
-(unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR);
-
-extern int (*_SLclass_get_binary_fun (int, SLang_Class_Type *, SLang_Class_Type *, SLang_Class_Type **, int))
-(int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
-
-extern int (*_SLclass_get_unary_fun (int, SLang_Class_Type *, SLang_Class_Type **, int))
-(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
-
-extern int _SLarith_register_types (void);
-extern unsigned char _SLarith_Arith_Types [];
-extern unsigned char _SLarith_Is_Arith_Type [256];
-extern int _SLarith_bin_op (SLang_Object_Type *, SLang_Object_Type *, int);
-
-extern int _SLarray_add_bin_op (unsigned char);
-
-extern int _SLang_call_funptr (SLang_Name_Type *);
-extern void _SLset_double_format (char *);
-extern SLang_Name_Type *_SLlocate_global_name (char *);
-extern SLang_Name_Type *_SLlocate_name (char *);
-
-extern char *_SLdefines[];
-
-#define SL_ERRNO_NOT_IMPLEMENTED 0x7FFF
-extern int _SLerrno_errno;
-extern int _SLerrno_init (void);
-
-extern int _SLstdio_fdopen (char *, int, char *);
-
-extern void _SLstruct_pop_args (int *);
-extern void _SLstruct_push_args (SLang_Array_Type *);
-
-extern int _SLarray_aput (void);
-extern int _SLarray_aget (void);
-extern int _SLarray_inline_implicit_array (void);
-extern int _SLarray_inline_array (void);
-extern int _SLarray_wildcard_array (void);
-
-extern int
-_SLarray_typecast (unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, int);
-
-extern int _SLarray_aput_transfer_elem (SLang_Array_Type *, int *,
- VOID_STAR, unsigned int, int);
-extern int _SLarray_aget_transfer_elem (SLang_Array_Type *, int *,
- VOID_STAR, unsigned int, int);
-extern void _SLarray_free_array_elements (SLang_Class_Type *, VOID_STAR, unsigned int);
-
-extern SLang_Foreach_Context_Type *
-_SLarray_cl_foreach_open (unsigned char, unsigned int);
-extern void _SLarray_cl_foreach_close (unsigned char, SLang_Foreach_Context_Type *);
-extern int _SLarray_cl_foreach (unsigned char, SLang_Foreach_Context_Type *);
-
-extern int _SLarray_matrix_multiply (void);
-extern void (*_SLang_Matrix_Multiply)(void);
-
-extern int _SLarray_init_slarray (void);
-extern SLang_Array_Type *
-SLang_create_array1 (unsigned char, int, VOID_STAR, int *, unsigned int, int);
-
-extern int _SLcompile_push_context (SLang_Load_Type *);
-extern int _SLcompile_pop_context (void);
-extern int _SLang_Auto_Declare_Globals;
-
-typedef struct
-{
- union
- {
- long long_val;
- char *s_val; /* Used for IDENT_TOKEN, FLOAT, etc... */
- SLang_BString_Type *b_val;
- } v;
- int free_sval_flag;
- unsigned int num_refs;
- unsigned long hash;
-#if _SLANG_HAS_DEBUG_CODE
- int line_number;
-#endif
- unsigned char type;
-}
-_SLang_Token_Type;
-
-extern void _SLcompile (_SLang_Token_Type *);
-extern void (*_SLcompile_ptr)(_SLang_Token_Type *);
-
-/* *** TOKENS *** */
-
-/* Note that that tokens corresponding to ^J, ^M, and ^Z should not be used.
- * This is because a file that contains any of these characters will
- * have an OS dependent interpretation, e.g., ^Z is EOF on MSDOS.
- */
-
-/* Special tokens */
-#define EOF_TOKEN 0x01
-#define RPN_TOKEN 0x02
-#define NL_TOKEN 0x03
-#define NOP_TOKEN 0x05
-#define FARG_TOKEN 0x06
-#define TMP_TOKEN 0x07
-
-#define RESERVED1_TOKEN 0x0A /* \n */
-#define RESERVED2_TOKEN 0x0D /* \r */
-
-/* Literal tokens */
-#define CHAR_TOKEN 0x10
-#define UCHAR_TOKEN 0x11
-#define SHORT_TOKEN 0x12
-#define USHORT_TOKEN 0x13
-#define INT_TOKEN 0x14
-#define UINT_TOKEN 0x15
-#define LONG_TOKEN 0x16
-#define ULONG_TOKEN 0x17
-#define IS_INTEGER_TOKEN(x) ((x >= CHAR_TOKEN) && (x <= ULONG_TOKEN))
-#define FLOAT_TOKEN 0x18
-#define DOUBLE_TOKEN 0x19
-#define RESERVED3_TOKEN 0x1A /* ^Z */
-#define COMPLEX_TOKEN 0x1B
-#define STRING_TOKEN 0x1C
-#define BSTRING_TOKEN 0x1D
-#define _BSTRING_TOKEN 0x1E /* byte-compiled BSTRING */
-#define ESC_STRING_TOKEN 0x1F
-
-/* Tokens that can be LVALUES */
-#define IDENT_TOKEN 0x20
-#define ARRAY_TOKEN 0x21
-#define DOT_TOKEN 0x22
-#define IS_LVALUE_TOKEN (((t) <= DOT_TOKEN) && ((t) >= IDENT_TOKEN))
-
-/* do not use these values */
-#define RESERVED4_TOKEN 0x23 /* # */
-#define RESERVED5_TOKEN 0x25 /* % */
-
-/* Flags for struct fields */
-#define STATIC_TOKEN 0x26
-#define READONLY_TOKEN 0x27
-#define PRIVATE_TOKEN 0x28
-#define PUBLIC_TOKEN 0x29
-
-/* Punctuation tokens */
-#define OBRACKET_TOKEN 0x2a
-#define CBRACKET_TOKEN 0x2b
-#define OPAREN_TOKEN 0x2c
-#define CPAREN_TOKEN 0x2d
-#define OBRACE_TOKEN 0x2e
-#define CBRACE_TOKEN 0x2f
-
-#define COMMA_TOKEN 0x31
-#define SEMICOLON_TOKEN 0x32
-#define COLON_TOKEN 0x33
-#define NAMESPACE_TOKEN 0x34
-
-/* Operators */
-#define POW_TOKEN 0x38
-
-/* The order here must match the order in the Binop_Level table in slparse.c */
-#define FIRST_BINARY_OP 0x39
-#define ADD_TOKEN 0x39
-#define SUB_TOKEN 0x3a
-#define TIMES_TOKEN 0x3b
-#define DIV_TOKEN 0x3c
-#define LT_TOKEN 0x3d
-#define LE_TOKEN 0x3e
-#define GT_TOKEN 0x3f
-#define GE_TOKEN 0x40
-#define EQ_TOKEN 0x41
-#define NE_TOKEN 0x42
-#define AND_TOKEN 0x43
-#define OR_TOKEN 0x44
-#define MOD_TOKEN 0x45
-#define BAND_TOKEN 0x46
-#define SHL_TOKEN 0x47
-#define SHR_TOKEN 0x48
-#define BXOR_TOKEN 0x49
-#define BOR_TOKEN 0x4a
-#define POUND_TOKEN 0x4b /* matrix multiplication */
-
-#define LAST_BINARY_OP 0x4b
-#define IS_BINARY_OP(t) ((t >= FIRST_BINARY_OP) && (t <= LAST_BINARY_OP))
-
-/* unary tokens -- but not all of them (see grammar) */
-#define DEREF_TOKEN 0x4d
-#define NOT_TOKEN 0x4e
-#define BNOT_TOKEN 0x4f
-
-#define IS_INTERNAL_FUNC(t) ((t >= 0x50) && (t <= 0x56))
-#define POP_TOKEN 0x50
-#define CHS_TOKEN 0x51
-#define SIGN_TOKEN 0x52
-#define ABS_TOKEN 0x53
-#define SQR_TOKEN 0x54
-#define MUL2_TOKEN 0x55
-#define EXCH_TOKEN 0x56
-
-/* Assignment tokens. Note: these must appear with sequential values.
- * The order here must match the specific lvalue assignments below.
- * These tokens are used by rpn routines in slang.c. slparse.c maps them
- * onto the specific lvalue tokens while parsing infix.
- * Also the assignment _SLANG_BCST_ assumes this order
- */
-#define ASSIGN_TOKEN 0x57
-#define PLUSEQS_TOKEN 0x58
-#define MINUSEQS_TOKEN 0x59
-#define TIMESEQS_TOKEN 0x5A
-#define DIVEQS_TOKEN 0x5B
-#define BOREQS_TOKEN 0x5C
-#define BANDEQS_TOKEN 0x5D
-#define PLUSPLUS_TOKEN 0x5E
-#define POST_PLUSPLUS_TOKEN 0x5F
-#define MINUSMINUS_TOKEN 0x60
-#define POST_MINUSMINUS_TOKEN 0x61
-
-/* Directives */
-#define FIRST_DIRECTIVE_TOKEN 0x62
-#define IFNOT_TOKEN 0x62
-#define IF_TOKEN 0x63
-#define ELSE_TOKEN 0x64
-#define FOREVER_TOKEN 0x65
-#define WHILE_TOKEN 0x66
-#define FOR_TOKEN 0x67
-#define _FOR_TOKEN 0x68
-#define LOOP_TOKEN 0x69
-#define SWITCH_TOKEN 0x6A
-#define DOWHILE_TOKEN 0x6B
-#define ANDELSE_TOKEN 0x6C
-#define ORELSE_TOKEN 0x6D
-#define ERRBLK_TOKEN 0x6E
-#define EXITBLK_TOKEN 0x6F
-/* These must be sequential */
-#define USRBLK0_TOKEN 0x70
-#define USRBLK1_TOKEN 0x71
-#define USRBLK2_TOKEN 0x72
-#define USRBLK3_TOKEN 0x73
-#define USRBLK4_TOKEN 0x74
-
-#define CONT_TOKEN 0x75
-#define BREAK_TOKEN 0x76
-#define RETURN_TOKEN 0x77
-
-#define CASE_TOKEN 0x78
-#define DEFINE_TOKEN 0x79
-#define DO_TOKEN 0x7a
-#define VARIABLE_TOKEN 0x7b
-#define GVARIABLE_TOKEN 0x7c
-#define _REF_TOKEN 0x7d
-#define PUSH_TOKEN 0x7e
-#define STRUCT_TOKEN 0x7f
-#define TYPEDEF_TOKEN 0x80
-#define NOTELSE_TOKEN 0x81
-#define DEFINE_STATIC_TOKEN 0x82
-#define FOREACH_TOKEN 0x83
-#define USING_TOKEN 0x84
-#define DEFINE_PRIVATE_TOKEN 0x85
-#define DEFINE_PUBLIC_TOKEN 0x86
-
-/* Note: the order here must match the order of the generic assignment tokens.
- * Also, the first token of each group must be the ?_ASSIGN_TOKEN.
- * slparse.c exploits this order, as well as slang.h.
- */
-#define FIRST_ASSIGN_TOKEN 0x90
-#define _STRUCT_ASSIGN_TOKEN 0x90
-#define _STRUCT_PLUSEQS_TOKEN 0x91
-#define _STRUCT_MINUSEQS_TOKEN 0x92
-#define _STRUCT_TIMESEQS_TOKEN 0x93
-#define _STRUCT_DIVEQS_TOKEN 0x94
-#define _STRUCT_BOREQS_TOKEN 0x95
-#define _STRUCT_BANDEQS_TOKEN 0x96
-#define _STRUCT_PLUSPLUS_TOKEN 0x97
-#define _STRUCT_POST_PLUSPLUS_TOKEN 0x98
-#define _STRUCT_MINUSMINUS_TOKEN 0x99
-#define _STRUCT_POST_MINUSMINUS_TOKEN 0x9A
-
-#define _ARRAY_ASSIGN_TOKEN 0xA0
-#define _ARRAY_PLUSEQS_TOKEN 0xA1
-#define _ARRAY_MINUSEQS_TOKEN 0xA2
-#define _ARRAY_TIMESEQS_TOKEN 0xA3
-#define _ARRAY_DIVEQS_TOKEN 0xA4
-#define _ARRAY_BOREQS_TOKEN 0xA5
-#define _ARRAY_BANDEQS_TOKEN 0xA6
-#define _ARRAY_PLUSPLUS_TOKEN 0xA7
-#define _ARRAY_POST_PLUSPLUS_TOKEN 0xA8
-#define _ARRAY_MINUSMINUS_TOKEN 0xA9
-#define _ARRAY_POST_MINUSMINUS_TOKEN 0xAA
-
-#define _SCALAR_ASSIGN_TOKEN 0xB0
-#define _SCALAR_PLUSEQS_TOKEN 0xB1
-#define _SCALAR_MINUSEQS_TOKEN 0xB2
-#define _SCALAR_TIMESEQS_TOKEN 0xB3
-#define _SCALAR_DIVEQS_TOKEN 0xB4
-#define _SCALAR_BOREQS_TOKEN 0xB5
-#define _SCALAR_BANDEQS_TOKEN 0xB6
-#define _SCALAR_PLUSPLUS_TOKEN 0xB7
-#define _SCALAR_POST_PLUSPLUS_TOKEN 0xB8
-#define _SCALAR_MINUSMINUS_TOKEN 0xB9
-#define _SCALAR_POST_MINUSMINUS_TOKEN 0xBA
-
-#define _DEREF_ASSIGN_TOKEN 0xC0
-#define _DEREF_PLUSEQS_TOKEN 0xC1
-#define _DEREF_MINUSEQS_TOKEN 0xC2
-#define _DEREF_TIMESEQS_TOKEN 0xC3
-#define _DEREF_DIVEQS_TOKEN 0xC4
-#define _DEREF_BOREQS_TOKEN 0xC5
-#define _DEREF_BANDEQS_TOKEN 0xC6
-#define _DEREF_PLUSPLUS_TOKEN 0xC7
-#define _DEREF_POST_PLUSPLUS_TOKEN 0xC8
-#define _DEREF_MINUSMINUS_TOKEN 0xC9
-#define _DEREF_POST_MINUSMINUS_TOKEN 0xCA
-
-#define LAST_ASSIGN_TOKEN 0xCA
-#define IS_ASSIGN_TOKEN(t) (((t)>=FIRST_ASSIGN_TOKEN)&&((t)<=LAST_ASSIGN_TOKEN))
-
-#define _INLINE_ARRAY_TOKEN 0xE0
-#define _INLINE_IMPLICIT_ARRAY_TOKEN 0xE1
-#define _NULL_TOKEN 0xE2
-#define _INLINE_WILDCARD_ARRAY_TOKEN 0xE3
-
-#define LINE_NUM_TOKEN 0xFC
-#define ARG_TOKEN 0xFD
-#define EARG_TOKEN 0xFE
-#define NO_OP_LITERAL 0xFF
-
-typedef struct
-{
- /* sltoken.c */
- /* SLang_eval_object */
- SLang_Load_Type *llt;
- SLPreprocess_Type *this_slpp;
- /* prep_get_char() */
- char *input_line;
- char cchar;
- /* get_token() */
- int want_nl_token;
-
- /* slparse.c */
- _SLang_Token_Type ctok;
- int block_depth;
- int assignment_expression;
-
- /* slang.c : SLcompile() */
- _SLang_Token_Type save_token;
- _SLang_Token_Type next_token;
- void (*slcompile_ptr)(_SLang_Token_Type *);
-}
-_SLEval_Context;
-
-extern int _SLget_token (_SLang_Token_Type *);
-extern void _SLparse_error (char *, _SLang_Token_Type *, int);
-extern void _SLparse_start (SLang_Load_Type *);
-extern int _SLget_rpn_token (_SLang_Token_Type *);
-extern void _SLcompile_byte_compiled (void);
-
-extern int (*_SLprep_eval_hook) (char *);
-
-#ifdef HAVE_VSNPRINTF
-#define _SLvsnprintf vsnprintf
-#else
-extern int _SLvsnprintf (char *, unsigned int, char *, va_list);
-#endif
-
-#ifdef HAVE_SNPRINTF
-# define _SLsnprintf snprintf
-#else
-extern int _SLsnprintf (char *, unsigned int, char *, ...);
-#endif
-
-#undef _INLINE_
-#if defined(__GNUC__) && _SLANG_USE_INLINE_CODE
-# define _INLINE_ __inline__
-#else
-# define _INLINE_
-#endif
-
-
-#endif /* _PRIVATE_SLANG_H_ */
diff --git a/mdk-stage1/slang/config.h b/mdk-stage1/slang/config.h
deleted file mode 100644
index a5ab3273c..000000000
--- a/mdk-stage1/slang/config.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* src/sysconf.h. Generated automatically by configure. */
-/* -*- c -*- */
-/* Note: this is for unix only. */
-
-#ifndef SL_CONFIG_H
-#define SL_CONFIG_H
-
-/* define if you have stdlib.h */
-#define HAVE_STDLIB_H 1
-
-/* define if you have unistd.h */
-#define HAVE_UNISTD_H 1
-
-/* define if you have termios.h */
-#define HAVE_TERMIOS_H 1
-
-/* define if you have memory.h */
-#define HAVE_MEMORY_H 1
-
-/* define if you have malloc.h */
-#define HAVE_MALLOC_H 1
-
-/* define if you have memset */
-#define HAVE_MEMSET 1
-
-/* define if you have memcpy */
-#define HAVE_MEMCPY 1
-
-//#define HAVE_SETLOCALE 1
-//#define HAVE_LOCALE_H 1
-
-#define HAVE_VFSCANF 1
-
-/* define if you have fcntl.h */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the vsnprintf, snprintf functions and they return
- * EOF upon failure.
- */
-#define HAVE_VSNPRINTF 1
-#define HAVE_SNPRINTF 1
-
-/* define if you have sys/fcntl.h */
-#define HAVE_SYS_FCNTL_H 1
-
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_WAIT_H 1
-#define HAVE_SYS_TIMES_H 1
-
-/* Set these to the appropriate values */
-#define SIZEOF_SHORT 2
-#define SIZEOF_INT 4
-#define SIZEOF_LONG 4
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-
-/* define if you have these. */
-#define HAVE_ATEXIT 1
-#define HAVE_ON_EXIT 1
-#define HAVE_PUTENV 1
-#define HAVE_GETCWD 1
-#define HAVE_TCGETATTR 1
-#define HAVE_TCSETATTR 1
-#define HAVE_CFGETOSPEED 1
-#define HAVE_LSTAT 1
-#define HAVE_KILL 1
-#define HAVE_CHOWN 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_POPEN 1
-#define HAVE_UMASK 1
-#define HAVE_READLINK 1
-#define HAVE_TIMES 1
-#define HAVE_GMTIME 1
-#define HAVE_MKFIFO 1
-
-#define HAVE_GETPPID 1
-#define HAVE_GETGID 1
-#define HAVE_GETEGID 1
-#define HAVE_GETEUID 1
-/* #undef HAVE_GETUID */
-
-#define HAVE_SETGID 1
-#define HAVE_SETPGID 1
-#define HAVE_SETUID 1
-
-#define HAVE_ACOSH 1
-#define HAVE_ASINH 1
-#define HAVE_ATANH 1
-
-#define HAVE_DIRENT_H 1
-/* #undef HAVE_SYS_NDIR_H */
-/* #undef HAVE_SYS_DIR_H */
-/* #undef HAVE_NDIR_H */
-
-#define HAVE_DLFCN_H 1
-
-#define HAVE_SYS_UTSNAME_H 1
-#define HAVE_UNAME 1
-
-/* These two are needed on DOS-like systems. Unix does not require them.
- * They are included here for consistency.
- *
-#define HAVE_IO_H
-#define HAVE_PROCESS_H
- */
-
-/* #undef USE_TERMCAP */
-
-/* #undef mode_t */
-/* #undef uid_t */
-/* #undef pid_t */
-/* #undef gid_t */
-
-/* Do we have posix signals? */
-#define HAVE_SIGACTION 1
-#define HAVE_SIGPROCMASK 1
-#define HAVE_SIGEMPTYSET 1
-#define HAVE_SIGADDSET 1
-
-#if defined(HAVE_SIGADDSET) && defined(HAVE_SIGEMPTYSET)
-# if defined(HAVE_SIGACTION) && defined(HAVE_SIGPROCMASK)
-# define SLANG_POSIX_SIGNALS
-# endif
-#endif
-
-/* Define if you need to in order for stat and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-#ifdef _AIX
-# ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE 1
-# endif
-# ifndef _ALL_SOURCE
-# define _ALL_SOURCE
-# endif
-/* This may generate warnings but the fact is that without it, xlc will
- * INCORRECTLY inline many str* functions. */
-/* # undef __STR__ */
-#endif
-
-/* define USE_TERMCAP if you want to use it instead of terminfo. */
-#if defined(sequent) || defined(NeXT)
-# ifndef USE_TERMCAP
-# define USE_TERMCAP
-# endif
-#endif
-
-#if defined(ultrix) && !defined(__GNUC__)
-# ifndef NO_PROTOTYPES
-# define NO_PROTOTYPES
-# endif
-#endif
-
-#ifndef unix
-# define unix 1
-#endif
-
-#ifndef __unix__
-# define __unix__ 1
-#endif
-
-#define _SLANG_SOURCE_ 1
-#endif /* SL_CONFIG_H */
diff --git a/mdk-stage1/slang/jdmacros.h b/mdk-stage1/slang/jdmacros.h
deleted file mode 100644
index 70d491b78..000000000
--- a/mdk-stage1/slang/jdmacros.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _JD_MACROS_H_
-#define _JD_MACROS_H_
-
-#ifndef SLMEMSET
-# ifdef HAVE_MEMSET
-# define SLMEMSET memset
-# else
-# define SLMEMSET SLmemset
-# endif
-#endif
-
-#ifndef SLMEMCHR
-# ifdef HAVE_MEMCHR
-# define SLMEMCHR memchr
-# else
-# define SLMEMCHR SLmemchr
-# endif
-#endif
-
-#ifndef SLMEMCPY
-# ifdef HAVE_MEMCPY
-# define SLMEMCPY memcpy
-# else
-# define SLMEMCPY SLmemcpy
-# endif
-#endif
-
-/* Note: HAVE_MEMCMP requires an unsigned memory comparison!!! */
-#ifndef SLMEMCMP
-# ifdef HAVE_MEMCMP
-# define SLMEMCMP memcmp
-# else
-# define SLMEMCMP SLmemcmp
-# endif
-#endif
-
-#ifndef SLFREE
-# define SLFREE free
-#endif
-
-#ifndef SLMALLOC
-# define SLMALLOC malloc
-#endif
-
-#ifndef SLCALLOC
-# define SLCALLOC calloc
-#endif
-
-#ifndef SLREALLOC
-# define SLREALLOC realloc
-#endif
-
-#endif /* _JD_MACROS_H_ */
diff --git a/mdk-stage1/slang/keywhash.c b/mdk-stage1/slang/keywhash.c
deleted file mode 100644
index 17d94d5a3..000000000
--- a/mdk-stage1/slang/keywhash.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Perfect hash generated by command line:
- * ./a.out 1
- */
-#define MIN_HASH_VALUE 2
-#define MAX_HASH_VALUE 118
-#define MIN_KEYWORD_LEN 2
-#define MAX_KEYWORD_LEN 11
-
-static unsigned char Keyword_Hash_Table [256] =
-{
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 1, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 9, 7, 1, 8, 2, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 0, 0, 119, 0, 119, 119, 119, 7, 119, 0, 0, 119, 119, 0,
- 119, 119, 0, 0, 0, 0, 119, 119, 0, 119, 119, 119, 119, 119, 119, 2,
- 119, 41, 1, 1, 9, 0, 55, 8, 0, 0, 119, 0, 27, 0, 0, 0,
- 7, 2, 0, 21, 0, 0, 0, 3, 2, 0, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119
-};
-
-static unsigned char keyword_hash (char *s, unsigned int len)
-{
- unsigned int sum;
-
- sum = len;
- while (len)
- {
- len--;
- sum += (unsigned int) Keyword_Hash_Table [(unsigned char)s[len]];
- }
- return sum;
-}
-
-typedef struct
-{
- char *name;
- unsigned int type;
-}
-Keyword_Table_Type;
-
-static Keyword_Table_Type Keyword_Table [/* 117 */] =
-{
- {"or", OR_TOKEN},
- {"not", NOT_TOKEN},
- {NULL,0},
- {"xor", BXOR_TOKEN},
- {"return", RETURN_TOKEN},
- {"exch", EXCH_TOKEN},
- {NULL,0},
- {"continue", CONT_TOKEN},
- {NULL,0},
- {"do", DO_TOKEN},
- {"mod", MOD_TOKEN},
- {"ERROR_BLOCK", ERRBLK_TOKEN},
- {"USER_BLOCK2", USRBLK2_TOKEN},
- {"USER_BLOCK4", USRBLK4_TOKEN},
- {"__tmp", TMP_TOKEN},
- {"pop", POP_TOKEN},
- {NULL,0},
- {"EXIT_BLOCK", EXITBLK_TOKEN},
- {"USER_BLOCK1", USRBLK1_TOKEN},
- {"USER_BLOCK3", USRBLK3_TOKEN},
- {"USER_BLOCK0", USRBLK0_TOKEN},
- {NULL,0},
- {"shr", SHR_TOKEN},
- {"chs", CHS_TOKEN},
- {"sqr", SQR_TOKEN},
- {NULL,0},
- {"struct", STRUCT_TOKEN},
- {NULL,0},
- {NULL,0},
- {"switch", SWITCH_TOKEN},
- {"mul2", MUL2_TOKEN},
- {"sign", SIGN_TOKEN},
- {"using", USING_TOKEN},
- {"while", WHILE_TOKEN},
- {NULL,0},
- {NULL,0},
- {"loop", LOOP_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"public", PUBLIC_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"break", BREAK_TOKEN},
- {NULL,0},
- {"do_while", DOWHILE_TOKEN},
- {NULL,0},
- {"shl", SHL_TOKEN},
- {"else", ELSE_TOKEN},
- {"and", AND_TOKEN},
- {"orelse", ORELSE_TOKEN},
- {"private", PRIVATE_TOKEN},
- {NULL,0},
- {"if", IF_TOKEN},
- {"for", FOR_TOKEN},
- {"!if", IFNOT_TOKEN},
- {NULL,0},
- {"_for", _FOR_TOKEN},
- {"forever", FOREVER_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"abs", ABS_TOKEN},
- {"case", CASE_TOKEN},
- {NULL,0},
- {"static", STATIC_TOKEN},
- {"define", DEFINE_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"typedef", TYPEDEF_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"foreach", FOREACH_TOKEN},
- {"andelse", ANDELSE_TOKEN},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {NULL,0},
- {"variable", VARIABLE_TOKEN},
-};
-
-static Keyword_Table_Type *is_keyword (char *str, unsigned int len)
-{
- unsigned int hash;
- char *name;
- Keyword_Table_Type *kw;
-
- if ((len < MIN_KEYWORD_LEN)
- || (len > MAX_KEYWORD_LEN))
- return NULL;
-
- hash = keyword_hash (str, len);
- if ((hash > MAX_HASH_VALUE) || (hash < MIN_HASH_VALUE))
- return NULL;
-
- kw = &Keyword_Table[hash - MIN_HASH_VALUE];
- if ((NULL != (name = kw->name))
- && (*str == *name)
- && (0 == strcmp (str, name)))
- return kw;
- return NULL;
-}
diff --git a/mdk-stage1/slang/sl-feat.h b/mdk-stage1/slang/sl-feat.h
deleted file mode 100644
index 511d72451..000000000
--- a/mdk-stage1/slang/sl-feat.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Setting this to 1 enables automatic support for associative arrays.
- * If this is set to 0, an application must explicitly enable associative
- * array support via SLang_init_slassoc.
- */
-#define SLANG_HAS_ASSOC_ARRAYS 1
-
-#define SLANG_HAS_COMPLEX 1
-#define SLANG_HAS_FLOAT 1
-
-/* This is the old space-speed trade off. To reduce memory usage and code
- * size, set this to zero.
- */
-#define _SLANG_OPTIMIZE_FOR_SPEED 2
-
-#define _SLANG_USE_INLINE_CODE 1
-
-/* This is experimental. It adds extra information for tracking down
- * errors.
- */
-#define _SLANG_HAS_DEBUG_CODE 1
-
-/* Allow optimizations based upon the __tmp operator. */
-#define _SLANG_USE_TMP_OPTIMIZATION 1
-
-/* Setting this to one will map 8 bit vtxxx terminals to 7 bit. Terminals
- * such as the vt320 can be set up to output the two-character escape sequence
- * encoded as 'ESC [' as single character. Setting this variable to 1 will
- * insert code to map such characters to the 7 bit equivalent.
- * This affects just input characters in the range 128-160 on non PC
- * systems.
- */
-#if defined(VMS) || defined(AMIGA)
-# define _SLANG_MAP_VTXXX_8BIT 1
-#else
-# define _SLANG_MAP_VTXXX_8BIT 0
-#endif
-
-/* Add support for color terminals that cannot do background color erases
- * Such terminals are poorly designed and are slowly disappearing but they
- * are still quite common. For example, screen is one of them!
- *
- * This is experimental. In particular, it is not known to work if
- * KANJI suupport is enabled.
- */
-#if !defined(IBMPC_SYSTEM)
-# define SLTT_HAS_NON_BCE_SUPPORT 1
-#else
-# define SLTT_HAS_NON_BCE_SUPPORT 0
-#endif
-
-/* If you want slang to assume that an xterm always has the background color
- * erase feature, then set this to 1. Otherwise, it will check the terminfo
- * database. This may or may not be a good idea since most good color xterms
- * support bce but many terminfo systems do not support it.
- */
-#define SLTT_XTERM_ALWAYS_BCE 0
-
-/* Set this to 1 to enable Kanji support. See above comment. */
-#define SLANG_HAS_KANJI_SUPPORT 0
-
diff --git a/mdk-stage1/slang/slang.c b/mdk-stage1/slang/slang.c
deleted file mode 100644
index 6edc7df37..000000000
--- a/mdk-stage1/slang/slang.c
+++ /dev/null
@@ -1,5547 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* slang.c --- guts of S-Lang interpreter */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#define USE_COMBINED_BYTECODES 0
-
-struct _SLBlock_Type;
-
-typedef struct
-{
- struct _SLBlock_Type *body;
- unsigned int num_refs;
-}
-_SLBlock_Header_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- union
- {
- _SLBlock_Header_Type *header; /* body of function */
- char *autoload_filename;
- }
- v;
-#if _SLANG_HAS_DEBUG_CODE
- char *file;
-#endif
-#define SLANG_MAX_LOCAL_VARIABLES 254
-#define AUTOLOAD_NUM_LOCALS (SLANG_MAX_LOCAL_VARIABLES + 1)
- unsigned char nlocals; /* number of local variables */
- unsigned char nargs; /* number of arguments */
-}
-_SLang_Function_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- SLang_Object_Type obj;
-}
-SLang_Global_Var_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int local_var_number;
-}
-SLang_Local_Var_Type;
-
-typedef struct _SLBlock_Type
-{
- unsigned char bc_main_type;
- unsigned char bc_sub_type;
- union
- {
- struct _SLBlock_Type *blk;
- int i_blk;
-
- SLang_Name_Type *nt_blk;
- SLang_App_Unary_Type *nt_unary_blk;
- SLang_Intrin_Var_Type *nt_ivar_blk;
- SLang_Intrin_Fun_Type *nt_ifun_blk;
- SLang_Global_Var_Type *nt_gvar_blk;
- SLang_IConstant_Type *iconst_blk;
- SLang_DConstant_Type *dconst_blk;
- _SLang_Function_Type *nt_fun_blk;
-
- VOID_STAR ptr_blk;
- char *s_blk;
- SLang_BString_Type *bs_blk;
-
-#if SLANG_HAS_FLOAT
- double *double_blk; /*literal double is a pointer */
-#endif
- float float_blk;
- long l_blk;
- struct _SLang_Struct_Type *struct_blk;
- int (*call_function)(void);
- }
- b;
-}
-SLBlock_Type;
-
-/* Debugging and tracing variables */
-
-void (*SLang_Enter_Function)(char *) = NULL;
-void (*SLang_Exit_Function)(char *) = NULL;
-/* If non null, these call C functions before and after a slang function. */
-
-int _SLang_Trace = 0;
-/* If _SLang_Trace = -1, do not trace intrinsics */
-static int Trace_Mode = 0;
-
-static char *Trace_Function; /* function to be traced */
-int SLang_Traceback = 0;
-/* non zero means do traceback. If less than 0, do not show local variables */
-
-/* These variables handle _NARGS processing by the parser */
-int SLang_Num_Function_Args;
-static int *Num_Args_Stack;
-static unsigned int Recursion_Depth;
-static SLang_Object_Type *Frame_Pointer;
-static int Next_Function_Num_Args;
-static unsigned int Frame_Pointer_Depth;
-static unsigned int *Frame_Pointer_Stack;
-
-static int Lang_Break_Condition = 0;
-/* true if any one below is true. This keeps us from testing 3 variables.
- * I know this can be perfomed with a bitmapped variable, but...
- */
-static int Lang_Break = 0;
-static int Lang_Return = 0;
-/* static int Lang_Continue = 0; */
-
-SLang_Object_Type *_SLRun_Stack;
-SLang_Object_Type *_SLStack_Pointer;
-static SLang_Object_Type *_SLStack_Pointer_Max;
-
-/* Might want to increase this. */
-static SLang_Object_Type Local_Variable_Stack[SLANG_MAX_LOCAL_STACK];
-static SLang_Object_Type *Local_Variable_Frame = Local_Variable_Stack;
-
-static void free_function_header (_SLBlock_Header_Type *);
-
-void (*SLang_Dump_Routine)(char *);
-
-static void call_dump_routine (char *fmt, ...)
-{
- char buf[1024];
- va_list ap;
-
- va_start (ap, fmt);
- if (SLang_Dump_Routine != NULL)
- {
- (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
- (*SLang_Dump_Routine) (buf);
- }
- else
- {
- vfprintf (stderr, fmt, ap);
- fflush (stderr);
- }
- va_end (ap);
-}
-
-static void do_traceback (char *, unsigned int, char *);
-static int init_interpreter (void);
-
-/*{{{ push/pop/etc stack manipulation functions */
-
-/* This routine is assumed to work even in the presence of a SLang_Error. */
-_INLINE_
-int SLang_pop (SLang_Object_Type *x)
-{
- register SLang_Object_Type *y;
-
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- {
- if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
- x->data_type = 0;
- return -1;
- }
- y--;
- *x = *y;
-
- _SLStack_Pointer = y;
- return 0;
-}
-
-static int pop_ctrl_integer (int *i)
-{
- int type;
- SLang_Class_Type *cl;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- register SLang_Object_Type *y;
-
- /* Most of the time, either an integer or a char will be on the stack.
- * Optimize these cases.
- */
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- {
- if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- y--;
-
- type = y->data_type;
- if (type == SLANG_INT_TYPE)
- {
- _SLStack_Pointer = y;
- *i = y->v.int_val;
- return 0;
- }
- if (type == SLANG_CHAR_TYPE)
- {
- _SLStack_Pointer = y;
- *i = y->v.char_val;
- return 0;
- }
-#else
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-#endif
-
- cl = _SLclass_get_class ((unsigned char) type);
- if (cl->cl_to_bool == NULL)
- {
- SLang_verror (SL_TYPE_MISMATCH,
- "%s cannot be used in a boolean context",
- cl->cl_name);
- return -1;
- }
- return cl->cl_to_bool ((unsigned char) type, i);
-}
-
-_INLINE_
-int SLang_peek_at_stack (void)
-{
- if (_SLStack_Pointer == _SLRun_Stack)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
-
- return (_SLStack_Pointer - 1)->data_type;
-}
-
-int SLang_peek_at_stack1 (void)
-{
- int type;
-
- type = SLang_peek_at_stack ();
- if (type == SLANG_ARRAY_TYPE)
- type = (_SLStack_Pointer - 1)->v.array_val->data_type;
-
- return type;
-}
-
-_INLINE_
-void SLang_free_object (SLang_Object_Type *obj)
-{
- unsigned char data_type;
- SLang_Class_Type *cl;
-
- if (obj == NULL) return;
- data_type = obj->data_type;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
- return;
- if (data_type == SLANG_STRING_TYPE)
- {
- SLang_free_slstring (obj->v.s_val);
- return;
- }
-#endif
- cl = _SLclass_get_class (data_type);
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
-#endif
- (*cl->cl_destroy) (data_type, (VOID_STAR) &obj->v);
-}
-
-_INLINE_
-int SLang_push (SLang_Object_Type *x)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- /* if there is a SLang_Error, probably not much harm will be done
- if it is ignored here */
- /* if (SLang_Error) return; */
-
- /* flag it now */
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- *y = *x;
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-/* _INLINE_ */
-int SLclass_push_ptr_obj (unsigned char type, VOID_STAR pval)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- y->data_type = type;
- y->v.ptr_val = pval;
-
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-_INLINE_
-int SLclass_push_int_obj (unsigned char type, int x)
-{
- register SLang_Object_Type *y;
- y = _SLStack_Pointer;
-
- if (y >= _SLStack_Pointer_Max)
- {
- if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
-
- y->data_type = type;
- y->v.int_val = x;
-
- _SLStack_Pointer = y + 1;
- return 0;
-}
-
-_INLINE_
-int _SLang_pop_object_of_type (unsigned char type, SLang_Object_Type *obj,
- int allow_arrays)
-{
- register SLang_Object_Type *y;
-
- y = _SLStack_Pointer;
- if (y == _SLRun_Stack)
- return SLang_pop (obj);
- y--;
- if (y->data_type != type)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- /* This is an implicit typecast. We do not want to typecast
- * floats to ints implicitly.
- */
- if (_SLarith_Is_Arith_Type [type]
- && _SLarith_Is_Arith_Type [y->data_type]
- && (_SLarith_Is_Arith_Type [type] >= _SLarith_Is_Arith_Type[y->data_type]))
- {
- /* This should not fail */
- (void) _SLarith_typecast (y->data_type, (VOID_STAR)&y->v, 1,
- type, (VOID_STAR)&obj->v);
- obj->data_type = type;
- _SLStack_Pointer = y;
- return 0;
- }
-#endif
-
- if ((allow_arrays == 0)
- || (y->data_type != SLANG_ARRAY_TYPE)
- || (y->v.array_val->data_type != type))
- if (-1 == SLclass_typecast (type, 1, 0))
- return -1;
- }
- *obj = *y;
- _SLStack_Pointer = y;
- return 0;
-}
-
-/* This function reverses the top n items on the stack and returns a
- * an offset from the start of the stack to the last item.
- */
-int SLreverse_stack (int n)
-{
- SLang_Object_Type *otop, *obot, tmp;
-
- otop = _SLStack_Pointer;
- if ((n > otop - _SLRun_Stack) || (n < 0))
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- obot = otop - n;
- otop--;
- while (otop > obot)
- {
- tmp = *obot;
- *obot = *otop;
- *otop = tmp;
- otop--;
- obot++;
- }
- return (int) ((_SLStack_Pointer - n) - _SLRun_Stack);
-}
-
-_INLINE_
-int SLroll_stack (int np)
-{
- int n, i;
- SLang_Object_Type *otop, *obot, tmp;
-
- if ((n = abs(np)) <= 1) return 0; /* identity */
-
- obot = otop = _SLStack_Pointer;
- i = n;
- while (i != 0)
- {
- if (obot <= _SLRun_Stack)
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- obot--;
- i--;
- }
- otop--;
-
- if (np > 0)
- {
- /* Put top on bottom and roll rest up. */
- tmp = *otop;
- while (otop > obot)
- {
- *otop = *(otop - 1);
- otop--;
- }
- *otop = tmp;
- }
- else
- {
- /* Put bottom on top and roll rest down. */
- tmp = *obot;
- while (obot < otop)
- {
- *obot = *(obot + 1);
- obot++;
- }
- *obot = tmp;
- }
- return 0;
-}
-
-int _SLstack_depth (void)
-{
- return (int) (_SLStack_Pointer - _SLRun_Stack);
-}
-
-int SLdup_n (int n)
-{
- SLang_Object_Type *bot, *top;
-
- if (n <= 0)
- return 0;
-
- top = _SLStack_Pointer;
- if (top < _SLRun_Stack + n)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
- if (top + n > _SLStack_Pointer_Max)
- {
- if (SLang_Error == 0)
- SLang_Error = SL_STACK_OVERFLOW;
- return -1;
- }
- bot = top - n;
-
- while (bot < top)
- {
- SLang_Class_Type *cl;
- unsigned char data_type = bot->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
- {
- *_SLStack_Pointer++ = *bot++;
- continue;
- }
-#endif
- cl = _SLclass_get_class (data_type);
- if (-1 == (*cl->cl_push) (data_type, (VOID_STAR) &bot->v))
- return -1;
- bot++;
- }
- return 0;
-}
-
-/*}}}*/
-
-/*{{{ inner interpreter and support functions */
-
-_INLINE_
-int _SL_increment_frame_pointer (void)
-{
- if (Recursion_Depth >= SLANG_MAX_RECURSIVE_DEPTH)
- {
- SLang_verror (SL_STACK_OVERFLOW, "Num Args Stack Overflow");
- return -1;
- }
- Num_Args_Stack [Recursion_Depth] = SLang_Num_Function_Args;
-
- SLang_Num_Function_Args = Next_Function_Num_Args;
- Next_Function_Num_Args = 0;
- Recursion_Depth++;
- return 0;
-}
-
-_INLINE_
-int _SL_decrement_frame_pointer (void)
-{
- if (Recursion_Depth == 0)
- {
- SLang_verror (SL_STACK_UNDERFLOW, "Num Args Stack Underflow");
- return -1;
- }
-
- Recursion_Depth--;
- if (Recursion_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- SLang_Num_Function_Args = Num_Args_Stack [Recursion_Depth];
-
- return 0;
-}
-
-_INLINE_
-int SLang_start_arg_list (void)
-{
- if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- {
- Frame_Pointer_Stack [Frame_Pointer_Depth] = (unsigned int) (Frame_Pointer - _SLRun_Stack);
- Frame_Pointer = _SLStack_Pointer;
- Frame_Pointer_Depth++;
- Next_Function_Num_Args = 0;
- return 0;
- }
-
- SLang_verror (SL_STACK_OVERFLOW, "Frame Stack Overflow");
- return -1;
-}
-
-_INLINE_
-int SLang_end_arg_list (void)
-{
- if (Frame_Pointer_Depth == 0)
- {
- SLang_verror (SL_STACK_UNDERFLOW, "Frame Stack Underflow");
- return -1;
- }
- Frame_Pointer_Depth--;
- if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
- {
- Next_Function_Num_Args = (int) (_SLStack_Pointer - Frame_Pointer);
- Frame_Pointer = _SLRun_Stack + Frame_Pointer_Stack [Frame_Pointer_Depth];
- }
- return 0;
-}
-
-_INLINE_
-static int do_bc_call_direct_frame (int (*f)(void))
-{
- if ((0 == SLang_end_arg_list ())
- && (0 == _SL_increment_frame_pointer ()))
- {
- (void) (*f) ();
- _SL_decrement_frame_pointer ();
- }
- if (SLang_Error)
- return -1;
- return 0;
-}
-
-static int do_name_type_error (SLang_Name_Type *nt)
-{
- char buf[256];
- if (nt != NULL)
- {
- (void) _SLsnprintf (buf, sizeof (buf), "(Error occurred processing %s)", nt->name);
- do_traceback (buf, 0, NULL);
- }
- return -1;
-}
-
-/* local and global variable assignments */
-
-static int do_binary_ab (int op, SLang_Object_Type *obja, SLang_Object_Type *objb)
-{
- SLang_Class_Type *a_cl, *b_cl, *c_cl;
- unsigned char b_data_type, a_data_type, c_data_type;
- int (*binary_fun) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
- VOID_STAR pa;
- VOID_STAR pb;
- VOID_STAR pc;
- int ret;
-
- b_data_type = objb->data_type;
- a_data_type = obja->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (_SLarith_Is_Arith_Type[a_data_type]
- && _SLarith_Is_Arith_Type[b_data_type])
- {
- int status;
- status = _SLarith_bin_op (obja, objb, op);
- if (status != 1)
- return status;
- /* drop and try it the hard way */
- }
-#endif
-
- a_cl = _SLclass_get_class (a_data_type);
- if (a_data_type == b_data_type)
- b_cl = a_cl;
- else
- b_cl = _SLclass_get_class (b_data_type);
-
- if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
- return -1;
-
- c_data_type = c_cl->cl_data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_data_type])
- pa = (VOID_STAR) &obja->v;
- else
-#endif
- pa = _SLclass_get_ptr_to_value (a_cl, obja);
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [b_data_type])
- pb = (VOID_STAR) &objb->v;
- else
-#endif
- pb = _SLclass_get_ptr_to_value (b_cl, objb);
-
- pc = c_cl->cl_transfer_buf;
-
- if (1 != (*binary_fun) (op,
- a_data_type, pa, 1,
- b_data_type, pb, 1,
- pc))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Binary operation between %s and %s failed",
- a_cl->cl_name, b_cl->cl_name);
-
- return -1;
- }
-
- /* apush will create a copy, so make sure we free after the push */
- ret = (*c_cl->cl_apush)(c_data_type, pc);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [c_data_type])
-#endif
- (*c_cl->cl_adestroy)(c_data_type, pc);
-
- return ret;
-}
-
-_INLINE_
-static void do_binary (int op)
-{
- SLang_Object_Type obja, objb;
-
- if (SLang_pop (&objb)) return;
- if (0 == SLang_pop (&obja))
- {
- (void) do_binary_ab (op, &obja, &objb);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja.data_type])
-#endif
- SLang_free_object (&obja);
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
-#endif
- SLang_free_object (&objb);
-}
-
-static int do_unary_op (int op, SLang_Object_Type *obj, int unary_type)
-{
- int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- VOID_STAR pa;
- VOID_STAR pb;
- SLang_Class_Type *a_cl, *b_cl;
- unsigned char a_type, b_type;
- int ret;
-
- a_type = obj->data_type;
- a_cl = _SLclass_get_class (a_type);
-
- if (NULL == (f = _SLclass_get_unary_fun (op, a_cl, &b_cl, unary_type)))
- return -1;
-
- b_type = b_cl->cl_data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_type])
- pa = (VOID_STAR) &obj->v;
- else
-#endif
- pa = _SLclass_get_ptr_to_value (a_cl, obj);
-
- pb = b_cl->cl_transfer_buf;
-
- if (1 != (*f) (op, a_type, pa, 1, pb))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Unary operation for %s failed", a_cl->cl_name);
- return -1;
- }
-
- ret = (*b_cl->cl_apush)(b_type, pb);
- /* cl_apush creates a copy, so make sure we call cl_adestroy */
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [b_type])
-#endif
- (*b_cl->cl_adestroy)(b_type, pb);
-
- return ret;
-}
-
-_INLINE_
-static int do_unary (int op, int unary_type)
-{
- SLang_Object_Type obj;
- int ret;
-
- if (-1 == SLang_pop (&obj)) return -1;
- ret = do_unary_op (op, &obj, unary_type);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obj.data_type])
-#endif
- SLang_free_object (&obj);
- return ret;
-}
-
-static int do_assignment_binary (int op, SLang_Object_Type *obja_ptr)
-{
- SLang_Object_Type objb;
- int ret;
-
- if (SLang_pop (&objb))
- return -1;
-
- ret = do_binary_ab (op, obja_ptr, &objb);
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
-#endif
- SLang_free_object (&objb);
- return ret;
-}
-
-/* The order of these is assumed to match the binary operators
- * defined in slang.h
- */
-static int
-map_assignment_op_to_binary (unsigned char op_type, int *op, int *is_unary)
-{
- *is_unary = 0;
- switch (op_type)
- {
- case _SLANG_BCST_PLUSEQS:
- case _SLANG_BCST_MINUSEQS:
- case _SLANG_BCST_TIMESEQS:
- case _SLANG_BCST_DIVEQS:
- *op = SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS);
- break;
-
- case _SLANG_BCST_BOREQS:
- *op = SLANG_BOR;
- break;
-
- case _SLANG_BCST_BANDEQS:
- *op = SLANG_BAND;
- break;
-
- case _SLANG_BCST_POST_MINUSMINUS:
- case _SLANG_BCST_MINUSMINUS:
- *op = SLANG_MINUS;
- *is_unary = 1;
- break;
-
- case _SLANG_BCST_PLUSPLUS:
- case _SLANG_BCST_POST_PLUSPLUS:
- *op = SLANG_PLUS;
- *is_unary = 1;
- break;
-
- default:
- SLang_verror (SL_NOT_IMPLEMENTED, "Assignment operator not implemented");
- return -1;
- }
- return 0;
-}
-
-static int
-perform_lvalue_operation (unsigned char op_type, SLang_Object_Type *obja_ptr)
-{
- switch (op_type)
- {
- case _SLANG_BCST_ASSIGN:
- break;
-
- /* The order of these is assumed to match the binary operators
- * defined in slang.h
- */
- case _SLANG_BCST_PLUSEQS:
- case _SLANG_BCST_MINUSEQS:
- case _SLANG_BCST_TIMESEQS:
- case _SLANG_BCST_DIVEQS:
- if (-1 == do_assignment_binary (SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS), obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_BOREQS:
- if (-1 == do_assignment_binary (SLANG_BOR, obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_BANDEQS:
- if (-1 == do_assignment_binary (SLANG_BAND, obja_ptr))
- return -1;
- break;
-
- case _SLANG_BCST_PLUSPLUS:
- case _SLANG_BCST_POST_PLUSPLUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (obja_ptr->data_type == SLANG_INT_TYPE)
- return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val + 1);
-#endif
- if (-1 == do_unary_op (SLANG_PLUSPLUS, obja_ptr, _SLANG_BC_UNARY))
- return -1;
- break;
-
- case _SLANG_BCST_MINUSMINUS:
- case _SLANG_BCST_POST_MINUSMINUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (obja_ptr->data_type == SLANG_INT_TYPE)
- return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val - 1);
-#endif
- if (-1 == do_unary_op (SLANG_MINUSMINUS, obja_ptr, _SLANG_BC_UNARY))
- return -1;
- break;
-
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
- return 0;
-}
-
-_INLINE_
-static int
-set_lvalue_obj (unsigned char op_type, SLang_Object_Type *obja_ptr)
-{
- if (op_type != _SLANG_BCST_ASSIGN)
- {
- if (-1 == perform_lvalue_operation (op_type, obja_ptr))
- return -1;
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja_ptr->data_type])
-#endif
- SLang_free_object (obja_ptr);
-
- return SLang_pop(obja_ptr);
-}
-
-static int
-set_struct_lvalue (SLBlock_Type *bc_blk)
-{
- int type;
- SLang_Class_Type *cl;
- char *name;
- int op;
-
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-
- cl = _SLclass_get_class (type);
- if ((cl->cl_sput == NULL)
- || (cl->cl_sget == NULL))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not support structure access",
- cl->cl_name);
- SLdo_pop_n (2); /* object plus what was to be assigned */
- return -1;
- }
- name = bc_blk->b.s_blk;
- op = bc_blk->bc_sub_type;
-
- if (op != _SLANG_BCST_ASSIGN)
- {
- /* We have something like (A.x += b) or (A.x++). In either case,
- * we need A.x.
- */
- SLang_Object_Type obj_A;
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj_A))
- return -1;
-
- if ((-1 == _SLpush_slang_obj (&obj_A))
- || (-1 == cl->cl_sget ((unsigned char) type, name))
- || (-1 == SLang_pop (&obj)))
- {
- SLang_free_object (&obj_A);
- return -1;
- }
- /* Now the value of A.x is in obj. */
- if (-1 == perform_lvalue_operation (op, &obj))
- {
- SLang_free_object (&obj);
- SLang_free_object (&obj_A);
- return -1;
- }
- SLang_free_object (&obj);
- /* The result of the operation is now on the stack.
- * Perform assignment */
- if (-1 == SLang_push (&obj_A))
- {
- SLang_free_object (&obj_A);
- return -1;
- }
- }
-
- return (*cl->cl_sput) ((unsigned char) type, name);
-}
-
-static int make_unit_object (SLang_Object_Type *a, SLang_Object_Type *u)
-{
- unsigned char type;
-
- type = a->data_type;
- if (type == SLANG_ARRAY_TYPE)
- type = a->v.array_val->data_type;
-
- u->data_type = type;
- switch (type)
- {
- case SLANG_UCHAR_TYPE:
- case SLANG_CHAR_TYPE:
- u->v.char_val = 1;
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- u->v.short_val = 1;
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- u->v.long_val = 1;
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- u->v.float_val = 1;
- break;
-
- case SLANG_COMPLEX_TYPE:
- u->data_type = SLANG_DOUBLE_TYPE;
- case SLANG_DOUBLE_TYPE:
- u->v.double_val = 1;
- break;
-#endif
- default:
- u->data_type = SLANG_INT_TYPE;
- u->v.int_val = 1;
- }
- return 0;
-}
-
-
-/* We want to convert 'A[i] op X' to 'A[i] = A[i] op X'. The code that
- * has been generated is: X __args i A __aput-op
- * where __aput-op represents this function. We need to generate:
- * __args i A __eargs __aget X op __args i A __eargs __aput
- * Here, __eargs implies a call to do_bc_call_direct_frame with either
- * the aput or aget function. In addition, __args represents a call to
- * SLang_start_arg_list. Of course, i represents a set of indices.
- *
- * Note: If op is an unary operation (e.g., ++ or --), then X will not
- * b present an will have to be taken to be 1.
- *
- * Implementation note: For efficiency, calls to setup the frame, start
- * arg list will be omitted and SLang_Num_Function_Args will be set.
- * This is ugly but the alternative is much less efficient rendering these
- * assignment operators useless. So, the plan is to roll the stack to get X,
- * then duplicate the next N values, call __aget followed by op X, finally
- * calling __aput. Hence, the sequence is:
- *
- * start: X i .. j A
- * dupN: X i .. j A i .. j A
- * __aget: X i .. j A Y
- * roll: i .. j A Y X
- * op: i .. j A Z
- * roll: Z i .. j A
- * __aput:
- */
-static int
-set_array_lvalue (int op)
-{
- SLang_Object_Type x, y;
- int num_args, is_unary;
-
- if (-1 == map_assignment_op_to_binary (op, &op, &is_unary))
- return -1;
-
- /* Grab the indices and the array. Do not start a new frame. */
- if (-1 == SLang_end_arg_list ())
- return -1;
- num_args = Next_Function_Num_Args;
- Next_Function_Num_Args = 0;
-
- if (-1 == SLdup_n (num_args))
- return -1;
-
- SLang_Num_Function_Args = num_args;
- if (-1 == _SLarray_aget ())
- return -1;
-
- if (-1 == SLang_pop (&y))
- return -1;
-
- if (is_unary == 0)
- {
- if ((-1 == SLroll_stack (-(num_args + 1)))
- || (-1 == SLang_pop (&x)))
- {
- SLang_free_object (&y);
- return -1;
- }
- }
- else if (-1 == make_unit_object (&y, &x))
- {
- SLang_free_object (&y);
- return -1;
- }
-
- if (-1 == do_binary_ab (op, &y, &x))
- {
- SLang_free_object (&y);
- SLang_free_object (&x);
- return -1;
- }
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [y.data_type])
-#endif
- SLang_free_object (&y);
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [x.data_type])
-#endif
- SLang_free_object (&x);
-
- if (-1 == SLroll_stack (num_args + 1))
- return -1;
-
- SLang_Num_Function_Args = num_args;
- return _SLarray_aput ();
-}
-
-
-static int
-set_intrin_lvalue (SLBlock_Type *bc_blk)
-{
- unsigned char op_type;
- SLang_Object_Type obja;
- SLang_Class_Type *cl;
- SLang_Intrin_Var_Type *ivar;
- VOID_STAR intrinsic_addr;
- unsigned char intrinsic_type;
-
- ivar = bc_blk->b.nt_ivar_blk;
-
- intrinsic_type = ivar->type;
- intrinsic_addr = ivar->addr;
-
- op_type = bc_blk->bc_sub_type;
-
- cl = _SLclass_get_class (intrinsic_type);
-
- if (op_type != _SLANG_BCST_ASSIGN)
- {
- /* We want to get the current value into obja. This is the
- * easiest way.
- */
- if ((-1 == (*cl->cl_push) (intrinsic_type, intrinsic_addr))
- || (-1 == SLang_pop (&obja)))
- return -1;
-
- (void) perform_lvalue_operation (op_type, &obja);
- SLang_free_object (&obja);
-
- if (SLang_Error)
- return -1;
- }
-
- return (*cl->cl_pop) (intrinsic_type, intrinsic_addr);
-}
-
-int _SLang_deref_assign (SLang_Ref_Type *ref)
-{
- SLang_Object_Type *objp;
- SLang_Name_Type *nt;
- SLBlock_Type blk;
-
- if (ref->is_global == 0)
- {
- objp = ref->v.local_obj;
- if (objp > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable reference is out of scope");
- return -1;
- }
- return set_lvalue_obj (_SLANG_BCST_ASSIGN, objp);
- }
-
- nt = ref->v.nt;
- switch (nt->name_type)
- {
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- if (-1 == set_lvalue_obj (_SLANG_BCST_ASSIGN,
- &((SLang_Global_Var_Type *)nt)->obj))
- {
- do_name_type_error (nt);
- return -1;
- }
- break;
-
- case SLANG_IVARIABLE:
- blk.b.nt_blk = nt;
- blk.bc_sub_type = _SLANG_BCST_ASSIGN;
- if (-1 == set_intrin_lvalue (&blk))
- {
- do_name_type_error (nt);
- return -1;
- }
- break;
-
- case SLANG_LVARIABLE:
- SLang_Error = SL_INTERNAL_ERROR;
- /* set_intrin_lvalue (&blk); */
- return -1;
-
- case SLANG_RVARIABLE:
- default:
- SLang_verror (SL_READONLY_ERROR, "deref assignment to %s not allowed", nt->name);
- return -1;
- }
-
- return 0;
-}
-
-static void set_deref_lvalue (SLBlock_Type *bc_blk)
-{
- SLang_Object_Type *objp;
- SLang_Ref_Type *ref;
-
- switch (bc_blk->bc_sub_type)
- {
- case SLANG_LVARIABLE:
- objp = (Local_Variable_Frame - bc_blk->b.i_blk);
- break;
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- objp = &bc_blk->b.nt_gvar_blk->obj;
- break;
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return;
- }
-
- if (-1 == _SLpush_slang_obj (objp))
- return;
-
- if (-1 == SLang_pop_ref (&ref))
- return;
- (void) _SLang_deref_assign (ref);
- SLang_free_ref (ref);
-}
-
-static int push_struct_field (char *name)
-{
- int type;
- SLang_Class_Type *cl;
-
- if (-1 == (type = SLang_peek_at_stack ()))
- return -1;
-
- cl = _SLclass_get_class ((unsigned char) type);
- if (cl->cl_sget == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not permit structure access",
- cl->cl_name);
- SLdo_pop_n (2);
- return -1;
- }
-
- return (*cl->cl_sget) ((unsigned char) type, name);
-}
-
-static void trace_dump (char *format, char *name, SLang_Object_Type *objs, int n, int dir)
-{
- unsigned int len;
- char prefix [52];
-
- len = Trace_Mode - 1;
- if (len + 2 >= sizeof (prefix))
- len = sizeof (prefix) - 2;
-
- SLMEMSET (prefix, ' ', len);
- prefix[len] = 0;
-
- call_dump_routine (prefix);
- call_dump_routine (format, name, n);
-
- if (n > 0)
- {
- prefix[len] = ' ';
- len++;
- prefix[len] = 0;
-
- _SLdump_objects (prefix, objs, n, dir);
- }
-}
-
-/* Pop a data item from the stack and return a pointer to it.
- * Strings are not freed from stack so use another routine to do it.
- */
-static VOID_STAR pop_pointer (SLang_Object_Type *obj, unsigned char type)
-{
-#ifndef _SLANG_OPTIMIZE_FOR_SPEED
- SLang_Class_Type *cl;
-#endif
-
- SLang_Array_Type *at;
-
- /* Arrays are special. Allow scalars to automatically convert to arrays.
- */
- if (type == SLANG_ARRAY_TYPE)
- {
- if (-1 == SLang_pop_array (&at, 1))
- return NULL;
- obj->data_type = SLANG_ARRAY_TYPE;
- return obj->v.ptr_val = (VOID_STAR) at;
- }
-
- if (type == 0)
- {
- /* This happens when an intrinsic is declared without any information
- * regarding parameter types.
- */
- if (-1 == SLang_pop (obj))
- return NULL;
- type = obj->data_type;
- }
- else if (-1 == _SLang_pop_object_of_type (type, obj, 0))
- return NULL;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- type = _SLclass_Class_Type [type];
-#else
- type = _SLclass_get_class (type)->cl_class_type;
-#endif
-
- if (type == SLANG_CLASS_TYPE_SCALAR)
- return (VOID_STAR) &obj->v;
- else if (type == SLANG_CLASS_TYPE_MMT)
- return SLang_object_from_mmt (obj->v.ref);
- else
- return obj->v.ptr_val;
-}
-
-/* This is ugly. Does anyone have a advice for a cleaner way of doing
- * this??
- */
-typedef void (*VF0_Type)(void);
-typedef void (*VF1_Type)(VOID_STAR);
-typedef void (*VF2_Type)(VOID_STAR, VOID_STAR);
-typedef void (*VF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef void (*VF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF0_Type)(void);
-typedef long (*LF1_Type)(VOID_STAR);
-typedef long (*LF2_Type)(VOID_STAR, VOID_STAR);
-typedef long (*LF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef long (*LF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-#if SLANG_HAS_FLOAT
-typedef double (*FF0_Type)(void);
-typedef double (*FF1_Type)(VOID_STAR);
-typedef double (*FF2_Type)(VOID_STAR, VOID_STAR);
-typedef double (*FF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-typedef double (*FF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
-#endif
-
-static int execute_intrinsic_fun (SLang_Intrin_Fun_Type *objf)
-{
-#if SLANG_HAS_FLOAT
- double xf;
-#endif
- VOID_STAR p[SLANG_MAX_INTRIN_ARGS];
- SLang_Object_Type objs[SLANG_MAX_INTRIN_ARGS];
- long ret;
- unsigned char type;
- unsigned int argc;
- unsigned int i;
- FVOID_STAR fptr;
- unsigned char *arg_types;
- int stk_depth;
-
- fptr = objf->i_fun;
- argc = objf->num_args;
- type = objf->return_type;
- arg_types = objf->arg_types;
-
- if (argc > SLANG_MAX_INTRIN_ARGS)
- {
- SLang_verror(SL_APPLICATION_ERROR,
- "Intrinsic function %s requires too many parameters", objf->name);
- return -1;
- }
-
- if (-1 == _SL_increment_frame_pointer ())
- return -1;
-
- stk_depth = -1;
- if (Trace_Mode && (_SLang_Trace > 0))
- {
- int nargs;
-
- stk_depth = _SLstack_depth ();
-
- nargs = SLang_Num_Function_Args;
- if (nargs == 0)
- nargs = (int)argc;
-
- stk_depth -= nargs;
-
- if (stk_depth >= 0)
- trace_dump (">>%s (%d args)\n",
- objf->name,
- _SLStack_Pointer - nargs,
- nargs,
- 1);
- }
-
- i = argc;
- while (i != 0)
- {
- i--;
- if (NULL == (p[i] = pop_pointer (objs + i, arg_types[i])))
- {
- i++;
- goto free_and_return;
- }
- }
-
- ret = 0;
-#if SLANG_HAS_FLOAT
- xf = 0.0;
-#endif
-
- switch (argc)
- {
- case 0:
- if (type == SLANG_VOID_TYPE) ((VF0_Type) fptr) ();
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF0_Type) fptr)();
-#endif
- else ret = ((LF0_Type) fptr)();
- break;
-
- case 1:
- if (type == SLANG_VOID_TYPE) ((VF1_Type) fptr)(p[0]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF1_Type) fptr)(p[0]);
-#endif
- else ret = ((LF1_Type) fptr)(p[0]);
- break;
-
- case 2:
- if (type == SLANG_VOID_TYPE) ((VF2_Type) fptr)(p[0], p[1]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF2_Type) fptr)(p[0], p[1]);
-#endif
- else ret = ((LF2_Type) fptr)(p[0], p[1]);
- break;
-
- case 3:
- if (type == SLANG_VOID_TYPE) ((VF3_Type) fptr)(p[0], p[1], p[2]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF3_Type) fptr)(p[0], p[1], p[2]);
-#endif
- else ret = ((LF3_Type) fptr)(p[0], p[1], p[2]);
- break;
-
- case 4:
- if (type == SLANG_VOID_TYPE) ((VF4_Type) fptr)(p[0], p[1], p[2], p[3]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF4_Type) fptr)(p[0], p[1], p[2], p[3]);
-#endif
- else ret = ((LF4_Type) fptr)(p[0], p[1], p[2], p[3]);
- break;
-
- case 5:
- if (type == SLANG_VOID_TYPE) ((VF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
-#endif
- else ret = ((LF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
- break;
-
- case 6:
- if (type == SLANG_VOID_TYPE) ((VF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
-#endif
- else ret = ((LF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
- break;
-
- case 7:
- if (type == SLANG_VOID_TYPE) ((VF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
-#if SLANG_HAS_FLOAT
- else if (type == SLANG_DOUBLE_TYPE) xf = ((FF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
-#endif
- else ret = ((LF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
- break;
- }
-
- switch (type)
- {
- case SLANG_VOID_TYPE:
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- (void) SLang_push_double (xf);
- break;
-#endif
- case SLANG_UINT_TYPE:
- case SLANG_INT_TYPE: (void) SLclass_push_int_obj (type, (int) ret);
- break;
-
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE: (void) SLclass_push_char_obj (type, (char) ret);
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE: (void) SLclass_push_short_obj (type, (short) ret);
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE: (void) SLclass_push_long_obj (type, ret);
- break;
-
- case SLANG_STRING_TYPE:
- if (NULL == (char *)ret)
- {
- if (SLang_Error == 0) SLang_Error = SL_INTRINSIC_ERROR;
- }
- else (void) SLang_push_string ((char *)ret);
- break;
-
- default:
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Support for intrinsic functions returning %s is not provided",
- SLclass_get_datatype_name (type));
- }
-
- if (stk_depth >= 0)
- {
- stk_depth = _SLstack_depth () - stk_depth;
-
- trace_dump ("<<%s (returning %d values)\n",
- objf->name,
- _SLStack_Pointer - stk_depth,
- stk_depth,
- 1);
- }
-
- free_and_return:
- while (i < argc)
- {
- SLang_free_object (objs + i);
- i++;
- }
-
- return _SL_decrement_frame_pointer ();
-}
-
-static int inner_interp(register SLBlock_Type *);
-
-/* Switch_Obj_Ptr points to the NEXT available free switch object */
-static SLang_Object_Type Switch_Objects[SLANG_MAX_NESTED_SWITCH];
-static SLang_Object_Type *Switch_Obj_Ptr = Switch_Objects;
-static SLang_Object_Type *Switch_Obj_Max = Switch_Objects + SLANG_MAX_NESTED_SWITCH;
-
-static void
-lang_do_loops (unsigned char stype, SLBlock_Type *block, unsigned int num_blocks)
-{
- int i, ctrl;
- int first, last;
- SLBlock_Type *blks[4];
- char *loop_name;
- SLang_Foreach_Context_Type *foreach_context;
- SLang_Class_Type *cl;
- int type;
- unsigned int j;
-
- j = 0;
- for (i = 0; i < (int) num_blocks; i++)
- {
- if (block[i].bc_main_type != _SLANG_BC_BLOCK)
- {
- if (block[i].bc_main_type == _SLANG_BC_LINE_NUM)
- continue;
-
- SLang_verror (SL_SYNTAX_ERROR, "Bytecode is not a looping block");
- return;
- }
- blks[j] = block[i].b.blk;
- j++;
- }
-
- num_blocks = j;
- block = blks[0];
-
- switch (stype)
- {
- case _SLANG_BCST_FOREACH:
- loop_name = "foreach";
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- /* We should find Next_Function_Num_Args + 1 items on the stack.
- * The first Next_Function_Num_Args items represent the arguments to
- * to USING. The last item (deepest in stack) is the object to loop
- * over. So, roll the stack up and grab it.
- */
- if ((-1 == SLroll_stack (-(Next_Function_Num_Args + 1)))
- || (-1 == (type = SLang_peek_at_stack ())))
- goto return_error;
-
- cl = _SLclass_get_class ((unsigned char) type);
- if ((cl->cl_foreach == NULL)
- || (cl->cl_foreach_open == NULL)
- || (cl->cl_foreach_close == NULL))
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "%s does not permit foreach", cl->cl_name);
- SLdo_pop_n (Next_Function_Num_Args + 1);
- goto return_error;
- }
-
- if (NULL == (foreach_context = (*cl->cl_foreach_open) ((unsigned char)type, Next_Function_Num_Args)))
- goto return_error;
-
- while (1)
- {
- int status;
-
- if (SLang_Error)
- {
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- goto return_error;
- }
-
- status = (*cl->cl_foreach) ((unsigned char) type, foreach_context);
- if (status <= 0)
- {
- if (status == 0)
- break;
-
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- goto return_error;
- }
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
- break;
-
- case _SLANG_BCST_WHILE:
- loop_name = "while";
-
- if (num_blocks != 2)
- goto wrong_num_blocks_error;
-
- type = blks[1]->bc_main_type;
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
-
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
-
- if (type)
- {
- inner_interp (blks[1]);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- }
- break;
-
- case _SLANG_BCST_DOWHILE:
- loop_name = "do...while";
-
- if (num_blocks != 2)
- goto wrong_num_blocks_error;
-
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- inner_interp (blks[1]);
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
- }
- break;
-
- case _SLANG_BCST_CFOR:
- loop_name = "for";
-
- /* we need 4 blocks: first 3 control, the last is code */
- if (num_blocks != 4) goto wrong_num_blocks_error;
-
- inner_interp (block);
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp(blks[1]); /* test */
- if (-1 == pop_ctrl_integer (&ctrl))
- goto return_error;
-
- if (ctrl == 0) break;
- inner_interp(blks[3]); /* code */
- if (Lang_Break) break;
- inner_interp(blks[2]); /* bump */
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- case _SLANG_BCST_FOR:
- loop_name = "_for";
-
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- /* 3 elements: first, last, step */
- if ((-1 == SLang_pop_integer (&ctrl))
- || (-1 == SLang_pop_integer (&last))
- || (-1 == SLang_pop_integer (&first)))
- goto return_error;
-
- i = first;
- while (1)
- {
- /* It is ugly to have this test here but I do not know of a
- * simple way to do this without using two while loops.
- */
- if (ctrl >= 0)
- {
- if (i > last) break;
- }
- else if (i < last) break;
-
- if (SLang_Error) goto return_error;
-
- SLclass_push_int_obj (SLANG_INT_TYPE, i);
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
-
- i += ctrl;
- }
- break;
-
- case _SLANG_BCST_LOOP:
- loop_name = "loop";
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- if (-1 == SLang_pop_integer (&ctrl))
- goto return_error;
- while (ctrl > 0)
- {
- ctrl--;
-
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- case _SLANG_BCST_FOREVER:
- loop_name = "forever";
-
- if (num_blocks != 1)
- goto wrong_num_blocks_error;
-
- while (1)
- {
- if (SLang_Error)
- goto return_error;
-
- inner_interp (block);
- if (Lang_Break) break;
- Lang_Break_Condition = /* Lang_Continue = */ 0;
- }
- break;
-
- default: SLang_verror(SL_INTERNAL_ERROR, "Unknown loop type");
- return;
- }
- Lang_Break = /* Lang_Continue = */ 0;
- Lang_Break_Condition = Lang_Return;
- return;
-
- wrong_num_blocks_error:
- SLang_verror (SL_SYNTAX_ERROR, "Wrong number of blocks for '%s' construct", loop_name);
-
- /* drop */
- return_error:
- do_traceback (loop_name, 0, NULL);
-}
-
-static void lang_do_and_orelse (unsigned char stype, SLBlock_Type *addr, SLBlock_Type *addr_max)
-{
- int test = 0;
- int is_or;
-
- is_or = (stype == _SLANG_BCST_ORELSE);
-
- while (addr <= addr_max)
- {
- if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
- {
- addr++;
- continue;
- }
-
- inner_interp (addr->b.blk);
- if (SLang_Error
- || Lang_Break_Condition
- || (-1 == pop_ctrl_integer (&test)))
- return;
-
- if (is_or == (test != 0))
- break;
-
- /* if (((stype == _SLANG_BCST_ANDELSE) && (test == 0))
- * || ((stype == _SLANG_BCST_ORELSE) && test))
- * break;
- */
-
- addr++;
- }
- SLclass_push_int_obj (SLANG_INT_TYPE, test);
-}
-
-static void do_else_if (SLBlock_Type *zero_block, SLBlock_Type *non_zero_block)
-{
- int test;
-
- if (-1 == pop_ctrl_integer (&test))
- return;
-
- if (test == 0)
- non_zero_block = zero_block;
-
- if (non_zero_block != NULL)
- inner_interp (non_zero_block->b.blk);
-}
-
-int _SLang_trace_fun (char *f)
-{
- if (NULL == (f = SLang_create_slstring (f)))
- return -1;
-
- SLang_free_slstring (Trace_Function);
- Trace_Function = f;
- _SLang_Trace = 1;
- return 0;
-}
-
-int _SLdump_objects (char *prefix, SLang_Object_Type *x, unsigned int n, int dir)
-{
- char *s;
- SLang_Class_Type *cl;
-
- while (n)
- {
- cl = _SLclass_get_class (x->data_type);
-
- if (NULL == (s = _SLstringize_object (x)))
- s = "??";
-
- call_dump_routine ("%s[%s]:%s\n", prefix, cl->cl_name, s);
-
- SLang_free_slstring (s);
-
- x += dir;
- n--;
- }
- return 0;
-}
-
-static SLBlock_Type *Exit_Block_Ptr;
-static SLBlock_Type *Global_User_Block[5];
-static SLBlock_Type **User_Block_Ptr = Global_User_Block;
-char *_SLang_Current_Function_Name = NULL;
-
-static int execute_slang_fun (_SLang_Function_Type *fun)
-{
- register unsigned int i;
- register SLang_Object_Type *frame, *lvf;
- register unsigned int n_locals;
- _SLBlock_Header_Type *header;
- /* SLBlock_Type *val; */
- SLBlock_Type *exit_block_save;
- SLBlock_Type **user_block_save;
- SLBlock_Type *user_blocks[5];
- char *save_fname;
-
- exit_block_save = Exit_Block_Ptr;
- user_block_save = User_Block_Ptr;
- User_Block_Ptr = user_blocks;
- *(user_blocks) = NULL;
- *(user_blocks + 1) = NULL;
- *(user_blocks + 2) = NULL;
- *(user_blocks + 3) = NULL;
- *(user_blocks + 4) = NULL;
-
- Exit_Block_Ptr = NULL;
-
- save_fname = _SLang_Current_Function_Name;
- _SLang_Current_Function_Name = fun->name;
-
- _SL_increment_frame_pointer ();
-
- /* need loaded? */
- if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
- {
- header = NULL;
- if (-1 == SLang_load_file(fun->v.autoload_filename))
- goto the_return;
-
- if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s: Function did not autoload",
- _SLang_Current_Function_Name);
- goto the_return;
- }
- }
-
- n_locals = fun->nlocals;
-
- /* let the error propagate through since it will do no harm
- and allow us to restore stack. */
-
- /* set new stack frame */
- lvf = frame = Local_Variable_Frame;
- i = n_locals;
- if ((lvf + i) > Local_Variable_Stack + SLANG_MAX_LOCAL_STACK)
- {
- SLang_verror(SL_STACK_OVERFLOW, "%s: Local Variable Stack Overflow",
- _SLang_Current_Function_Name);
- goto the_return;
- }
-
- /* Make sure we do not allow this header to get destroyed by something
- * like: define crash () { eval ("define crash ();") }
- */
- header = fun->v.header;
- header->num_refs++;
-
- while (i--)
- {
- lvf++;
- lvf->data_type = SLANG_UNDEFINED_TYPE;
- }
- Local_Variable_Frame = lvf;
-
- /* read values of function arguments */
- i = fun->nargs;
- while (i > 0)
- {
- i--;
- (void) SLang_pop (Local_Variable_Frame - i);
- }
-
- if (SLang_Enter_Function != NULL) (*SLang_Enter_Function)(_SLang_Current_Function_Name);
-
- if (_SLang_Trace)
- {
- int stack_depth;
-
- stack_depth = _SLstack_depth ();
-
- if ((Trace_Function != NULL)
- && (0 == strcmp (Trace_Function, _SLang_Current_Function_Name))
- && (Trace_Mode == 0))
- Trace_Mode = 1;
-
- if (Trace_Mode)
- {
- /* The local variable frame grows backwards */
- trace_dump (">>%s (%d args)\n",
- _SLang_Current_Function_Name,
- Local_Variable_Frame,
- (int) fun->nargs,
- -1);
- Trace_Mode++;
- }
-
- inner_interp (header->body);
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
-
- if (Trace_Mode)
- {
- Trace_Mode--;
- stack_depth = _SLstack_depth () - stack_depth;
-
- trace_dump ("<<%s (returning %d values)\n",
- _SLang_Current_Function_Name,
- _SLStack_Pointer - stack_depth,
- stack_depth,
- 1);
-
- if (Trace_Mode == 1)
- Trace_Mode = 0;
- }
- }
- else
- {
- inner_interp (header->body);
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
- }
-
- if (SLang_Exit_Function != NULL) (*SLang_Exit_Function)(_SLang_Current_Function_Name);
-
- if (SLang_Error)
- do_traceback(fun->name, n_locals,
-#if _SLANG_HAS_DEBUG_CODE
- fun->file
-#else
- NULL
-#endif
- );
-
- /* free local variables.... */
- lvf = Local_Variable_Frame;
- while (lvf > frame)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [lvf->data_type])
-#endif
- SLang_free_object (lvf);
- lvf--;
- }
- Local_Variable_Frame = lvf;
-
- if (header->num_refs == 1)
- free_function_header (header);
- else
- header->num_refs--;
-
- the_return:
-
- Lang_Break_Condition = Lang_Return = Lang_Break = 0;
- Exit_Block_Ptr = exit_block_save;
- User_Block_Ptr = user_block_save;
- _SLang_Current_Function_Name = save_fname;
- _SL_decrement_frame_pointer ();
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-static void do_traceback (char *name, unsigned int locals, char *file)
-{
- char *s;
- unsigned int i;
- SLang_Object_Type *objp;
- unsigned short stype;
-
- /* FIXME: Priority=low
- * I need to make this configurable!!! That is, let the
- * application decide whether or not a usage error should result in a
- * traceback.
- */
- if (SLang_Error == SL_USAGE_ERROR)
- return;
-
- if (SLang_Traceback == 0)
- return;
-
- call_dump_routine ("S-Lang Traceback: %s\n", name);
- if (SLang_Traceback < 0)
- return;
-
- if (file != NULL)
- call_dump_routine ("File: %s\n", file);
-
- if (locals == 0)
- return;
-
- call_dump_routine (" Local Variables:\n");
-
- for (i = 0; i < locals; i++)
- {
- SLang_Class_Type *cl;
- char *class_name;
-
- objp = Local_Variable_Frame - i;
- stype = objp->data_type;
-
- s = _SLstringize_object (objp);
- cl = _SLclass_get_class (stype);
- class_name = cl->cl_name;
-
- call_dump_routine ("\t$%d: Type: %s,\tValue:\t", i, class_name);
-
- if (s == NULL) call_dump_routine("??\n");
- else
- {
- char *q = "";
-#ifndef HAVE_VSNPRINTF
- char buf[256];
- if (strlen (s) >= sizeof (buf))
- {
- strncpy (buf, s, sizeof(buf));
- s = buf;
- s[sizeof(buf) - 1] = 0;
- }
-#endif
- if (SLANG_STRING_TYPE == stype) q = "\"";
- call_dump_routine ("%s%s%s\n", q, s, q);
- }
- }
-}
-
-static void do_app_unary (SLang_App_Unary_Type *nt)
-{
- if (-1 == do_unary (nt->unary_op, nt->name_type))
- do_traceback (nt->name, 0, NULL);
-}
-
-static int inner_interp_nametype (SLang_Name_Type *nt)
-{
- SLBlock_Type bc_blks[2];
-
- bc_blks[0].b.nt_blk = nt;
- bc_blks[0].bc_main_type = nt->name_type;
- bc_blks[1].bc_main_type = 0;
- return inner_interp(bc_blks);
-}
-
-int _SLang_dereference_ref (SLang_Ref_Type *ref)
-{
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- SLang_Object_Type *obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- return _SLpush_slang_obj (ref->v.local_obj);
- }
-
- (void) inner_interp_nametype (ref->v.nt);
- return 0;
-}
-
-int _SLang_is_ref_initialized (SLang_Ref_Type *ref)
-{
- unsigned char type;
-
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- SLang_Object_Type *obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- type = ref->v.local_obj->data_type;
- }
- else
- {
- SLang_Name_Type *nt = ref->v.nt;
- if ((nt->name_type != SLANG_GVARIABLE)
- && (nt->name_type != SLANG_PVARIABLE))
- return 1;
- type = ((SLang_Global_Var_Type *)nt)->obj.data_type;
- }
- return type != SLANG_UNDEFINED_TYPE;
-}
-
-int _SLang_uninitialize_ref (SLang_Ref_Type *ref)
-{
- SLang_Object_Type *obj;
-
- if (ref == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return -1;
- }
-
- if (ref->is_global == 0)
- {
- obj = ref->v.local_obj;
- if (obj > Local_Variable_Frame)
- {
- SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
- return -1;
- }
- obj = ref->v.local_obj;
- }
- else
- {
- SLang_Name_Type *nt = ref->v.nt;
- if ((nt->name_type != SLANG_GVARIABLE)
- && (nt->name_type != SLANG_PVARIABLE))
- return -1;
- obj = &((SLang_Global_Var_Type *)nt)->obj;
- }
- SLang_free_object (obj);
- obj->data_type = SLANG_UNDEFINED_TYPE;
- obj->v.ptr_val = NULL;
- return 0;
-}
-
-void (*SLang_Interrupt)(void);
-static int Last_Error;
-void (*SLang_User_Clear_Error)(void);
-void _SLang_clear_error (void)
-{
- if (Last_Error <= 0)
- {
- Last_Error = 0;
- return;
- }
- Last_Error--;
- if (SLang_User_Clear_Error != NULL) (*SLang_User_Clear_Error)();
-}
-
-int _SLpush_slang_obj (SLang_Object_Type *obj)
-{
- unsigned char subtype;
- SLang_Class_Type *cl;
-
- if (obj == NULL) return SLang_push_null ();
-
- subtype = obj->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
- return SLang_push (obj);
-#endif
-
- cl = _SLclass_get_class (subtype);
- return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
-}
-
-_INLINE_
-static int push_local_variable (int i)
-{
- SLang_Class_Type *cl;
- SLang_Object_Type *obj;
- unsigned char subtype;
-
- obj = Local_Variable_Frame - i;
- subtype = obj->data_type;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
- return SLang_push (obj);
- if (subtype == SLANG_STRING_TYPE)
- return _SLang_dup_and_push_slstring (obj->v.s_val);
-#endif
-
- cl = _SLclass_get_class (subtype);
- return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
-}
-
-static int push_intrinsic_variable (SLang_Intrin_Var_Type *ivar)
-{
- SLang_Class_Type *cl;
- unsigned char stype;
-
- stype = ivar->type;
- cl = _SLclass_get_class (stype);
-
- if (-1 == (*cl->cl_push_intrinsic) (stype, ivar->addr))
- {
- do_name_type_error ((SLang_Name_Type *) ivar);
- return -1;
- }
- return 0;
-}
-
-static int dereference_object (void)
-{
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
- unsigned char type;
- int ret;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
-
- cl = _SLclass_get_class (type);
- ret = (*cl->cl_dereference)(type, (VOID_STAR) &obj.v);
-
- SLang_free_object (&obj);
- return ret;
-}
-
-static int case_function (void)
-{
- unsigned char type;
- SLang_Object_Type obj;
- SLang_Object_Type *swobjptr;
-
- swobjptr = Switch_Obj_Ptr - 1;
-
- if ((swobjptr < Switch_Objects)
- || (0 == (type = swobjptr->data_type)))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case' keyword");
- return -1;
- }
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- if (obj.data_type != type)
- {
- SLang_Class_Type *a_cl, *b_cl;
-
- a_cl = _SLclass_get_class (obj.data_type);
- b_cl = _SLclass_get_class (type);
-
- if (NULL == _SLclass_get_binary_fun (SLANG_EQ, a_cl, b_cl, &a_cl, 0))
- {
- (void) SLclass_push_int_obj (SLANG_INT_TYPE, 0);
- SLang_free_object (&obj);
- return 0;
- }
- }
-
- (void) do_binary_ab (SLANG_EQ, swobjptr, &obj);
- SLang_free_object (&obj);
- return 0;
-}
-
-static void tmp_variable_function (SLBlock_Type *addr)
-{
- SLang_Object_Type *obj;
-
- switch (addr->bc_sub_type)
- {
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- obj = &addr->b.nt_gvar_blk->obj;
- break;
-
- case SLANG_LVARIABLE:
- obj = Local_Variable_Frame - addr->b.i_blk;
- break;
-
- default:
- SLang_Error = SL_INTERNAL_ERROR;
- return;
- }
-
- /* There is no need to go through higher level routines since we are
- * not creating or destroying extra copies.
- */
- if (-1 == SLang_push (obj))
- return;
-
- obj->data_type = SLANG_UNDEFINED_TYPE;
- obj->v.ptr_val = NULL;
-}
-
-
-static int
-do_inner_interp_error (SLBlock_Type *err_block,
- SLBlock_Type *addr_start,
- SLBlock_Type *addr)
-{
- int save_err, slerr;
-
- /* Someday I can use the these variable to provide extra information
- * about what went wrong.
- */
- (void) addr_start;
- (void) addr;
-
- if (err_block == NULL)
- goto return_error;
-
- if (SLang_Error < 0) /* errors less than 0 are severe */
- goto return_error;
-
- save_err = Last_Error++;
- slerr = SLang_Error;
- SLang_Error = 0;
- inner_interp (err_block->b.blk);
-
- if (Last_Error <= save_err)
- {
- /* Caught error and cleared it */
- Last_Error = save_err;
- if ((Lang_Break_Condition == 0)
- /* An error may have cleared the error and then caused the
- * function to return. We will allow that but let's not allow
- * 'break' nor 'continue' statements until later.
- */
- || Lang_Return)
- return 0;
-
- /* drop--- either a break or continue was called */
- }
-
- Last_Error = save_err;
- SLang_Error = slerr;
-
- return_error:
-#if _SLANG_HAS_DEBUG_CODE
- while (addr >= addr_start)
- {
- if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
- {
- char buf[256];
- sprintf (buf, "(Error occurred on line %lu)", addr->b.l_blk);
- do_traceback (buf, 0, NULL);
- break;
- }
- /* Special hack for 16 bit systems to prevent pointer wrapping. */
-#if defined(__16_BIT_SYSTEM__)
- if (addr == addr_start)
- break;
-#endif
- addr--;
- }
-#endif
- return -1;
-}
-
-
-#define GATHER_STATISTICS 0
-#if GATHER_STATISTICS
-static unsigned int Bytecodes[0xFFFF];
-
-static void print_stats (void)
-{
- unsigned int i;
- unsigned long total;
- FILE *fp = fopen ("stats.txt", "w");
- if (fp == NULL)
- return;
-
- total = 0;
- for (i = 0; i < 0xFFFF; i++)
- total += Bytecodes[i];
-
- if (total == 0)
- total = 1;
-
- for (i = 0; i < 0xFFFF; i++)
- {
- if (Bytecodes[i])
- fprintf (fp, "0x%04X %9u %e\n", i, Bytecodes[i], Bytecodes[i]/(double) total);
- }
- fclose (fp);
-}
-
-static void add_to_statistics (SLBlock_Type *b)
-{
- unsigned short x, y;
-
- x = b->bc_main_type;
- if (x == 0)
- {
- Bytecodes[0] += 1;
- return;
- }
- b++;
- y = b->bc_main_type;
-
- Bytecodes[(x << 8) | y] += 1;
-}
-
-#endif
-
-/* inner interpreter */
-/* The return value from this function is only meaningful when it is used
- * to process blocks for the switch statement. If it returns 0, the calling
- * routine should pass the next block to it. Otherwise it will
- * return non-zero, with or without error.
- */
-static int inner_interp (SLBlock_Type *addr_start)
-{
- SLBlock_Type *block, *err_block, *addr;
-#if GATHER_STATISTICS
- static int inited = 0;
-
- if (inited == 0)
- {
- (void) SLang_add_cleanup_function (print_stats);
- inited = 1;
- }
-#endif
-
- /* for systems that have no real interrupt facility (e.g. go32 on dos) */
- if (SLang_Interrupt != NULL) (*SLang_Interrupt)();
-
- block = err_block = NULL;
- addr = addr_start;
-
-#if GATHER_STATISTICS
- add_to_statistics (addr);
-#endif
- while (1)
- {
- switch (addr->bc_main_type)
- {
- case 0:
- return 1;
- case _SLANG_BC_LVARIABLE:
- push_local_variable (addr->b.i_blk);
- break;
- case _SLANG_BC_GVARIABLE:
- if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
-
- case _SLANG_BC_IVARIABLE:
- case _SLANG_BC_RVARIABLE:
- push_intrinsic_variable (addr->b.nt_ivar_blk);
- break;
-
- case _SLANG_BC_INTRINSIC:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_FUNCTION:
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_MATH_UNARY:
- case _SLANG_BC_APP_UNARY:
- /* Make sure we treat these like function calls since the
- * parser took sin(x) to be a function call.
- */
- if (0 == _SL_increment_frame_pointer ())
- {
- do_app_unary (addr->b.nt_unary_blk);
- (void) _SL_decrement_frame_pointer ();
- }
- break;
-
- case _SLANG_BC_ICONST:
- SLclass_push_int_obj (SLANG_INT_TYPE, addr->b.iconst_blk->i);
- break;
-
-#if SLANG_HAS_FLOAT
- case _SLANG_BC_DCONST:
- SLang_push_double (addr->b.dconst_blk->d);
- break;
-#endif
-
- case _SLANG_BC_PVARIABLE:
- if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
-
- case _SLANG_BC_PFUNCTION:
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_BINARY:
- do_binary (addr->b.i_blk);
- break;
-
- case _SLANG_BC_LITERAL:
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LITERAL_INT:
- case _SLANG_BC_LITERAL_STR:
-#endif
- {
- SLang_Class_Type *cl = _SLclass_get_class (addr->bc_sub_type);
- (*cl->cl_push_literal) (addr->bc_sub_type, (VOID_STAR) &addr->b.ptr_blk);
- }
- break;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LITERAL_INT:
- SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
- break;
-
- case _SLANG_BC_LITERAL_STR:
- _SLang_dup_and_push_slstring (addr->b.s_blk);
- break;
-#endif
- case _SLANG_BC_BLOCK:
- switch (addr->bc_sub_type)
- {
- case _SLANG_BCST_ERROR_BLOCK:
- err_block = addr;
- break;
-
- case _SLANG_BCST_EXIT_BLOCK:
- Exit_Block_Ptr = addr->b.blk;
- break;
-
- case _SLANG_BCST_USER_BLOCK0:
- case _SLANG_BCST_USER_BLOCK1:
- case _SLANG_BCST_USER_BLOCK2:
- case _SLANG_BCST_USER_BLOCK3:
- case _SLANG_BCST_USER_BLOCK4:
- User_Block_Ptr[addr->bc_sub_type - _SLANG_BCST_USER_BLOCK0] = addr->b.blk;
- break;
-
- case _SLANG_BCST_LOOP:
- case _SLANG_BCST_WHILE:
- case _SLANG_BCST_FOR:
- case _SLANG_BCST_FOREVER:
- case _SLANG_BCST_CFOR:
- case _SLANG_BCST_DOWHILE:
- case _SLANG_BCST_FOREACH:
- if (block == NULL) block = addr;
- lang_do_loops(addr->bc_sub_type, block, 1 + (unsigned int) (addr - block));
- block = NULL;
- break;
-
- case _SLANG_BCST_IFNOT:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- {
- int i;
-
- if ((0 == pop_ctrl_integer (&i)) && (i == 0))
- inner_interp (addr->b.blk);
- }
-#else
- do_else_if (addr, NULL);
-#endif
- break;
-
- case _SLANG_BCST_IF:
-#if _SLANG_OPTIMIZE_FOR_SPEED
- {
- int i;
-
- if ((0 == pop_ctrl_integer (&i)) && i)
- inner_interp (addr->b.blk);
- }
-#else
- do_else_if (NULL, addr);
-#endif
- break;
-
- case _SLANG_BCST_NOTELSE:
- do_else_if (block, addr);
- block = NULL;
- break;
-
- case _SLANG_BCST_ELSE:
- do_else_if (addr, block);
- block = NULL;
- break;
-
- case _SLANG_BCST_SWITCH:
- if (Switch_Obj_Ptr == Switch_Obj_Max)
- {
- SLang_doerror("switch nesting too deep");
- break;
- }
- (void) SLang_pop (Switch_Obj_Ptr);
- Switch_Obj_Ptr++;
-
- if (block == NULL) block = addr;
- while ((SLang_Error == 0)
- && (block <= addr)
- && (Lang_Break_Condition == 0)
- && (0 == inner_interp (block->b.blk)))
- block++;
- Switch_Obj_Ptr--;
- SLang_free_object (Switch_Obj_Ptr);
- Switch_Obj_Ptr->data_type = 0;
- block = NULL;
- break;
-
- case _SLANG_BCST_ANDELSE:
- case _SLANG_BCST_ORELSE:
- if (block == NULL) block = addr;
- lang_do_and_orelse (addr->bc_sub_type, block, addr);
- block = NULL;
- break;
-
- default:
- if (block == NULL) block = addr;
- break;
- }
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_RETURN:
- Lang_Break_Condition = Lang_Return = Lang_Break = 1; return 1;
- case _SLANG_BC_BREAK:
- Lang_Break_Condition = Lang_Break = 1; return 1;
- case _SLANG_BC_CONTINUE:
- Lang_Break_Condition = /* Lang_Continue = */ 1; return 1;
-
- case _SLANG_BC_EXCH:
- (void) SLreverse_stack (2);
- break;
-
- case _SLANG_BC_LABEL:
- {
- int test;
- if ((0 == SLang_pop_integer (&test))
- && (test == 0))
- return 0;
- }
- break;
-
- case _SLANG_BC_LOBJPTR:
- (void)_SLang_push_ref (0, (VOID_STAR)(Local_Variable_Frame - addr->b.i_blk));
- break;
-
- case _SLANG_BC_GOBJPTR:
- (void)_SLang_push_ref (1, (VOID_STAR)addr->b.nt_blk);
- break;
-
- case _SLANG_BC_X_ERROR:
- if (err_block != NULL)
- {
- inner_interp(err_block->b.blk);
- if (SLang_Error) err_block = NULL;
- }
- else SLang_verror(SL_SYNTAX_ERROR, "No ERROR_BLOCK");
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_X_USER0:
- case _SLANG_BC_X_USER1:
- case _SLANG_BC_X_USER2:
- case _SLANG_BC_X_USER3:
- case _SLANG_BC_X_USER4:
- if (User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0] != NULL)
- {
- inner_interp(User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0]);
- }
- else SLang_verror(SL_SYNTAX_ERROR, "No block for X_USERBLOCK");
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_CALL_DIRECT:
- (*addr->b.call_function) ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_FRAME:
- do_bc_call_direct_frame (addr->b.call_function);
- break;
-
- case _SLANG_BC_UNARY:
- do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
- break;
-
- case _SLANG_BC_UNARY_FUNC:
- /* Make sure we treat these like function calls since the
- * parser took abs(x) to be a function call.
- */
- if (0 == _SL_increment_frame_pointer ())
- {
- do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
- (void) _SL_decrement_frame_pointer ();
- }
- break;
-
- case _SLANG_BC_DEREF_ASSIGN:
- set_deref_lvalue (addr);
- break;
- case _SLANG_BC_SET_LOCAL_LVALUE:
- set_lvalue_obj (addr->bc_sub_type, Local_Variable_Frame - addr->b.i_blk);
- break;
- case _SLANG_BC_SET_GLOBAL_LVALUE:
- if (-1 == set_lvalue_obj (addr->bc_sub_type, &addr->b.nt_gvar_blk->obj))
- do_name_type_error (addr->b.nt_blk);
- break;
- case _SLANG_BC_SET_INTRIN_LVALUE:
- set_intrin_lvalue (addr);
- break;
- case _SLANG_BC_SET_STRUCT_LVALUE:
- set_struct_lvalue (addr);
- break;
-
- case _SLANG_BC_FIELD:
- (void) push_struct_field (addr->b.s_blk);
- break;
-
- case _SLANG_BC_SET_ARRAY_LVALUE:
- set_array_lvalue (addr->bc_sub_type);
- break;
-
-#if _SLANG_HAS_DEBUG_CODE
- case _SLANG_BC_LINE_NUM:
- break;
-#endif
-
- case _SLANG_BC_TMP:
- tmp_variable_function (addr);
- break;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- case _SLANG_BC_LVARIABLE_AGET:
- if (0 == push_local_variable (addr->b.i_blk))
- do_bc_call_direct_frame (_SLarray_aget);
- break;
-
- case _SLANG_BC_LVARIABLE_APUT:
- if (0 == push_local_variable (addr->b.i_blk))
- do_bc_call_direct_frame (_SLarray_aput);
- break;
- case _SLANG_BC_INTEGER_PLUS:
- if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
- do_binary (SLANG_PLUS);
- break;
-
- case _SLANG_BC_INTEGER_MINUS:
- if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
- do_binary (SLANG_MINUS);
- break;
-#endif
-#if 0
- case _SLANG_BC_ARG_LVARIABLE:
- (void) SLang_start_arg_list ();
- push_local_variable (addr->b.i_blk);
- break;
-#endif
- case _SLANG_BC_EARG_LVARIABLE:
- push_local_variable (addr->b.i_blk);
- (void) SLang_end_arg_list ();
- break;
-
-#if USE_COMBINED_BYTECODES
- case _SLANG_BC_CALL_DIRECT_INTRINSIC:
- (*addr->b.call_function) ();
- addr++;
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_INTRINSIC_CALL_DIRECT:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error)
- {
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
- }
- addr++;
- (*addr->b.call_function) ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_LSTR:
- (*addr->b.call_function) ();
- addr++;
- _SLang_dup_and_push_slstring (addr->b.s_blk);
- break;
-
- case _SLANG_BC_CALL_DIRECT_SLFUN:
- (*addr->b.call_function) ();
- addr++;
- execute_slang_fun (addr->b.nt_fun_blk);
- if (Lang_Break_Condition) goto handle_break_condition;
- break;
-
- case _SLANG_BC_CALL_DIRECT_INTRSTOP:
- (*addr->b.call_function) ();
- addr++;
- /* drop */
- case _SLANG_BC_INTRINSIC_STOP:
- execute_intrinsic_fun (addr->b.nt_ifun_blk);
- if (SLang_Error == 0)
- return 1;
- do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
- break;
-
- case _SLANG_BC_CALL_DIRECT_EARG_LVAR:
- (*addr->b.call_function) ();
- addr++;
- push_local_variable (addr->b.i_blk);
- (void) SLang_end_arg_list ();
- break;
-
- case _SLANG_BC_CALL_DIRECT_LINT:
- (*addr->b.call_function) ();
- addr++;
- SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
- break;
-
- case _SLANG_BC_CALL_DIRECT_LVAR:
- (*addr->b.call_function) ();
- addr++;
- push_local_variable (addr->b.i_blk);
- break;
-#endif /* USE_COMBINED_BYTECODES */
-
- default:
- SLang_verror (SL_INTERNAL_ERROR, "Byte-Code 0x%X is not valid", addr->bc_main_type);
- }
-
- /* Someday I plan to add a 'signal' intrinsic function. Then when a
- * signal is caught, a variable will be set to one and that value of
- * that variable will need to be monitored here, e.g.,
- * if (Handle_Signal) handle_signal ();
- * It would be nice to check only one variable instead of Handle_Signal
- * and SLang_Error. Perhaps I should phase out SLang_Error = xxx
- * and used something like: SLang_set_error (code); Then, I could
- * use:
- * if (Handle_Condition)
- * {
- * Handle_Condition = 0;
- * if (SLang_Error) ....
- * else if (Handle_Signal) handle_signal ();
- * else....
- * }
- */
- if (SLang_Error)
- {
- if (-1 == do_inner_interp_error (err_block, addr_start, addr))
- return 1;
- if (SLang_Error)
- return 1;
-
- /* Otherwise, error cleared. Continue onto next bytecode.
- * Someday I need to add something to indicate where the
- * next statement begins since continuing on the next
- * bytecode is not really what is desired.
- */
- if (Lang_Break_Condition) goto handle_break_condition;
- }
- addr++;
- }
-
- handle_break_condition:
- /* Get here if Lang_Break_Condition != 0, which implies that either
- * Lang_Return, Lang_Break, or Lang_Continue is non zero
- */
- if (Lang_Return)
- Lang_Break = 1;
-
- return 1;
-}
-
-/*}}}*/
-
-/* The functions below this point are used to implement the parsed token
- * to byte-compiled code.
- */
-/* static SLang_Name_Type **Static_Hash_Table; */
-
-static SLang_Name_Type **Locals_Hash_Table;
-static int Local_Variable_Number;
-static unsigned int Function_Args_Number;
-int _SLang_Auto_Declare_Globals = 0;
-int (*SLang_Auto_Declare_Var_Hook) (char *);
-
-static SLang_NameSpace_Type *This_Static_NameSpace;
-static SLang_NameSpace_Type *Global_NameSpace;
-
-#if _SLANG_HAS_DEBUG_CODE
-static char *This_Compile_Filename;
-#endif
-static SLBlock_Type SLShort_Blocks[6];
-/* These are initialized in add_table below. I cannot init a Union!! */
-
-static int Lang_Defining_Function;
-static void (*Default_Variable_Mode) (_SLang_Token_Type *);
-static void (*Default_Define_Function) (char *, unsigned long);
-
-static int push_compile_context (char *);
-static int pop_compile_context (void);
-
-typedef struct
-{
- int block_type;
- SLBlock_Type *block; /* beginning of block definition */
- SLBlock_Type *block_ptr; /* current location */
- SLBlock_Type *block_max; /* end of definition */
- SLang_NameSpace_Type *static_namespace;
-}
-Block_Context_Type;
-
-static Block_Context_Type Block_Context_Stack [SLANG_MAX_BLOCK_STACK_LEN];
-static unsigned int Block_Context_Stack_Len;
-
-static SLBlock_Type *Compile_ByteCode_Ptr;
-static SLBlock_Type *This_Compile_Block;
-static SLBlock_Type *This_Compile_Block_Max;
-static int This_Compile_Block_Type;
-#define COMPILE_BLOCK_TYPE_FUNCTION 1
-#define COMPILE_BLOCK_TYPE_BLOCK 2
-#define COMPILE_BLOCK_TYPE_TOP_LEVEL 3
-
-/* If it returns 0, DO NOT FREE p */
-static int lang_free_branch (SLBlock_Type *p)
-{
- /* Note: we look at 0,2,4, since these blocks are 0 terminated */
- if ((p == SLShort_Blocks)
- || (p == SLShort_Blocks + 2)
- || (p == SLShort_Blocks + 4)
- )
- return 0;
-
- while (1)
- {
- SLang_Class_Type *cl;
-
- switch (p->bc_main_type)
- {
- case _SLANG_BC_BLOCK:
- if (lang_free_branch(p->b.blk))
- SLfree((char *)p->b.blk);
- break;
-
- case _SLANG_BC_LITERAL:
- case _SLANG_BC_LITERAL_STR:
- /* No user types should be here. */
- cl = _SLclass_get_class (p->bc_sub_type);
- (*cl->cl_byte_code_destroy) (p->bc_sub_type, (VOID_STAR) &p->b.ptr_blk);
- break;
-
- case _SLANG_BC_FIELD:
- case _SLANG_BC_SET_STRUCT_LVALUE:
- SLang_free_slstring (p->b.s_blk);
- break;
-
- default:
- break;
-
- case 0:
- return 1;
- }
- p++;
- }
-}
-
-static void free_function_header (_SLBlock_Header_Type *h)
-{
- if (h->num_refs > 1)
- {
- h->num_refs--;
- return;
- }
-
- if (h->body != NULL)
- {
- if (lang_free_branch (h->body))
- SLfree ((char *) h->body);
- }
-
- SLfree ((char *) h);
-}
-
-static int push_block_context (int type)
-{
- Block_Context_Type *c;
- unsigned int num;
- SLBlock_Type *b;
-
- if (Block_Context_Stack_Len == SLANG_MAX_BLOCK_STACK_LEN)
- {
- SLang_verror (SL_STACK_OVERFLOW, "Block stack overflow");
- return -1;
- }
-
- num = 5; /* 40 bytes */
- if (NULL == (b = (SLBlock_Type *) SLcalloc (num, sizeof (SLBlock_Type))))
- return -1;
-
- c = Block_Context_Stack + Block_Context_Stack_Len;
- c->block = This_Compile_Block;
- c->block_ptr = Compile_ByteCode_Ptr;
- c->block_max = This_Compile_Block_Max;
- c->block_type = This_Compile_Block_Type;
- c->static_namespace = This_Static_NameSpace;
-
- Compile_ByteCode_Ptr = This_Compile_Block = b;
- This_Compile_Block_Max = b + num;
- This_Compile_Block_Type = type;
-
- Block_Context_Stack_Len += 1;
- return 0;
-}
-
-static int pop_block_context (void)
-{
- Block_Context_Type *c;
-
- if (Block_Context_Stack_Len == 0)
- return -1;
-
- Block_Context_Stack_Len -= 1;
- c = Block_Context_Stack + Block_Context_Stack_Len;
-
- This_Compile_Block = c->block;
- This_Compile_Block_Max = c->block_max;
- This_Compile_Block_Type = c->block_type;
- Compile_ByteCode_Ptr = c->block_ptr;
- This_Static_NameSpace = c->static_namespace;
-
- return 0;
-}
-
-int _SLcompile_push_context (SLang_Load_Type *load_object)
-{
- if (-1 == push_compile_context (load_object->name))
- return -1;
-
- if (NULL == (This_Static_NameSpace = _SLns_allocate_namespace (load_object->name, SLSTATIC_HASH_TABLE_SIZE)))
- {
- pop_compile_context ();
- return -1;
- }
-
- if (-1 == push_block_context (COMPILE_BLOCK_TYPE_TOP_LEVEL))
- {
- pop_compile_context ();
- return -1;
- }
-
- return 0;
-}
-
-int _SLcompile_pop_context (void)
-{
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- Compile_ByteCode_Ptr->bc_main_type = 0;
- if (lang_free_branch (This_Compile_Block))
- SLfree ((char *) This_Compile_Block);
- }
-
- (void) pop_block_context ();
- (void) pop_compile_context ();
-
- if (This_Compile_Block == NULL)
- return 0;
-
-#if 0
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
- return -1;
- }
-#endif
-
- return 0;
-}
-
-/*{{{ Hash and Name Table Functions */
-
-static SLang_Name_Type *locate_name_in_table (char *name, unsigned long hash,
- SLang_Name_Type **table, unsigned int table_size)
-{
- SLang_Name_Type *t;
- char ch;
-
- t = table [(unsigned int) (hash % table_size)];
- ch = *name++;
-
- while (t != NULL)
- {
- if ((ch == t->name[0])
- && (0 == strcmp (t->name + 1, name)))
- break;
-
- t = t->next;
- }
-
- return t;
-}
-
-static SLang_Name_Type *locate_namespace_encoded_name (char *name, int err_on_bad_ns)
-{
- char *ns, *ns1;
- SLang_NameSpace_Type *table;
- SLang_Name_Type *nt;
-
- ns = name;
- name = strchr (name, '-');
- if ((name == NULL) || (name [1] != '>'))
- name = ns;
-
- ns1 = SLang_create_nslstring (ns, (unsigned int) (name - ns));
- if (ns1 == NULL)
- return NULL;
- if (ns != name)
- name += 2;
- ns = ns1;
-
- if (*ns == 0)
- {
- /* Use Global Namespace */
- SLang_free_slstring (ns);
- return locate_name_in_table (name, _SLcompute_string_hash (name),
- Global_NameSpace->table, Global_NameSpace->table_size);
- }
-
- if (NULL == (table = _SLns_find_namespace (ns)))
- {
- if (err_on_bad_ns)
- SLang_verror (SL_SYNTAX_ERROR, "Unable to find namespace called %s", ns);
- SLang_free_slstring (ns);
- return NULL;
- }
- SLang_free_slstring (ns);
-
- /* FIXME: the hash table size should be stored in the hash table itself */
- nt = locate_name_in_table (name, _SLcompute_string_hash (name),
- table->table, table->table_size);
- if (nt == NULL)
- return NULL;
-
- switch (nt->name_type)
- {
- /* These are private and cannot be accessed through the namespace. */
- case SLANG_PVARIABLE:
- case SLANG_PFUNCTION:
- return NULL;
- }
- return nt;
-}
-
-static SLang_Name_Type *locate_hashed_name (char *name, unsigned long hash)
-{
- SLang_Name_Type *t;
-
- if (Lang_Defining_Function)
- {
- t = locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE);
- if (t != NULL)
- return t;
- }
-
- if ((This_Static_NameSpace != NULL)
- && (NULL != (t = locate_name_in_table (name, hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size))))
- return t;
-
- t = locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
- if (NULL != t)
- return t;
-
- return locate_namespace_encoded_name (name, 1);
-}
-
-SLang_Name_Type *_SLlocate_name (char *name)
-{
- return locate_hashed_name (name, _SLcompute_string_hash (name));
-}
-
-static SLang_Name_Type *
-add_name_to_hash_table (char *name, unsigned long hash,
- unsigned int sizeof_obj, unsigned char name_type,
- SLang_Name_Type **table, unsigned int table_size,
- int check_existing)
-{
- SLang_Name_Type *t;
-
- if (check_existing)
- {
- t = locate_name_in_table (name, hash, table, table_size);
- if (t != NULL)
- return t;
- }
-
- if (-1 == _SLcheck_identifier_syntax (name))
- return NULL;
-
- t = (SLang_Name_Type *) SLmalloc (sizeof_obj);
- if (t == NULL)
- return t;
-
- memset ((char *) t, 0, sizeof_obj);
- if (NULL == (t->name = _SLstring_dup_hashed_string (name, hash)))
- {
- SLfree ((char *) t);
- return NULL;
- }
- t->name_type = name_type;
-
- hash = hash % table_size;
- t->next = table [(unsigned int)hash];
- table [(unsigned int) hash] = t;
-
- return t;
-}
-
-static SLang_Name_Type *
-add_global_name (char *name, unsigned long hash,
- unsigned char name_type, unsigned int sizeof_obj,
- SLang_NameSpace_Type *ns)
-{
- SLang_Name_Type *nt;
- SLang_Name_Type **table;
- unsigned int table_size;
-
- table = ns->table;
- table_size = ns->table_size;
-
- nt = locate_name_in_table (name, hash, table, table_size);
- if (nt != NULL)
- {
- if (nt->name_type == name_type)
- return nt;
-
- SLang_verror (SL_DUPLICATE_DEFINITION, "%s cannot be re-defined", name);
- return NULL;
- }
-
- return add_name_to_hash_table (name, hash, sizeof_obj, name_type,
- table, table_size, 0);
-}
-
-static int add_intrinsic_function (SLang_NameSpace_Type *ns,
- char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, va_list ap)
-{
- SLang_Intrin_Fun_Type *f;
- unsigned int i;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL) ns = Global_NameSpace;
-
- if (nargs > SLANG_MAX_INTRIN_ARGS)
- {
- SLang_verror (SL_APPLICATION_ERROR, "Function %s requires too many arguments", name);
- return -1;
- }
-
- if (ret_type == SLANG_FLOAT_TYPE)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Function %s is not permitted to return float", name);
- return -1;
- }
-
- f = (SLang_Intrin_Fun_Type *) add_global_name (name, _SLcompute_string_hash (name),
- SLANG_INTRINSIC, sizeof (SLang_Intrin_Fun_Type),
- ns);
-
- if (f == NULL)
- return -1;
-
- f->i_fun = addr;
- f->num_args = nargs;
- f->return_type = ret_type;
-
- for (i = 0; i < nargs; i++)
- f->arg_types [i] = va_arg (ap, unsigned int);
-
- return 0;
-}
-
-int SLadd_intrinsic_function (char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, ...)
-{
- va_list ap;
- int status;
-
- va_start (ap, nargs);
- status = add_intrinsic_function (NULL, name, addr, ret_type, nargs, ap);
- va_end (ap);
-
- return status;
-}
-
-int SLns_add_intrinsic_function (SLang_NameSpace_Type *ns,
- char *name, FVOID_STAR addr, unsigned char ret_type,
- unsigned int nargs, ...)
-{
- va_list ap;
- int status;
-
- va_start (ap, nargs);
- status = add_intrinsic_function (ns, name, addr, ret_type, nargs, ap);
- va_end (ap);
-
- return status;
-}
-
-int SLns_add_intrinsic_variable (SLang_NameSpace_Type *ns,
- char *name, VOID_STAR addr, unsigned char data_type, int ro)
-{
- SLang_Intrin_Var_Type *v;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL) ns = Global_NameSpace;
-
- v = (SLang_Intrin_Var_Type *)add_global_name (name,
- _SLcompute_string_hash (name),
- (ro ? SLANG_RVARIABLE : SLANG_IVARIABLE),
- sizeof (SLang_Intrin_Var_Type),
- ns);
- if (v == NULL)
- return -1;
-
- v->addr = addr;
- v->type = data_type;
- return 0;
-}
-
-int SLadd_intrinsic_variable (char *name, VOID_STAR addr, unsigned char data_type, int ro)
-{
- return SLns_add_intrinsic_variable (NULL, name, addr, data_type, ro);
-}
-
-static int
-add_slang_function (char *name, unsigned char type, unsigned long hash,
- unsigned int num_args, unsigned int num_locals,
-#if _SLANG_HAS_DEBUG_CODE
- char *file,
-#endif
- _SLBlock_Header_Type *h,
- SLang_NameSpace_Type *ns)
-{
- _SLang_Function_Type *f;
-
-#if _SLANG_HAS_DEBUG_CODE
- if ((file != NULL)
- && (NULL == (file = SLang_create_slstring (file))))
- return -1;
-#endif
-
- f = (_SLang_Function_Type *)add_global_name (name, hash,
- type,
- sizeof (_SLang_Function_Type),
- ns);
- if (f == NULL)
- {
-#if _SLANG_HAS_DEBUG_CODE
- SLang_free_slstring (file); /* NULL ok */
-#endif
- return -1;
- }
-
- if (f->v.header != NULL)
- {
- if (f->nlocals == AUTOLOAD_NUM_LOCALS)
- SLang_free_slstring ((char *)f->v.autoload_filename); /* autoloaded filename */
- else
- free_function_header (f->v.header);
- }
-
-#if _SLANG_HAS_DEBUG_CODE
- if (f->file != NULL) SLang_free_slstring (f->file);
- f->file = file;
-#endif
- f->v.header = h;
- f->nlocals = num_locals;
- f->nargs = num_args;
-
- return 0;
-}
-
-int SLang_autoload (char *name, char *file)
-{
- _SLang_Function_Type *f;
- unsigned long hash;
-
- hash = _SLcompute_string_hash (name);
- f = (_SLang_Function_Type *)locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
-
- if ((f != NULL)
- && (f->name_type == SLANG_FUNCTION)
- && (f->v.header != NULL)
- && (f->nlocals != AUTOLOAD_NUM_LOCALS))
- {
- /* already loaded */
- return 0;
- }
-
- file = SLang_create_slstring (file);
- if (-1 == add_slang_function (name, SLANG_FUNCTION, hash, 0, AUTOLOAD_NUM_LOCALS,
-#if _SLANG_HAS_DEBUG_CODE
- file,
-#endif
- (_SLBlock_Header_Type *) file,
- Global_NameSpace))
- {
- SLang_free_slstring (file);
- return -1;
- }
-
- return 0;
-}
-
-SLang_Name_Type *_SLlocate_global_name (char *name)
-{
- unsigned long hash;
-
- hash = _SLcompute_string_hash (name);
- return locate_name_in_table (name, hash, Global_NameSpace->table,
- Global_NameSpace->table_size);
-}
-
-/*}}}*/
-
-static void free_local_variable_table (void)
-{
- unsigned int i;
- SLang_Name_Type *t, *t1;
-
- for (i = 0; i < SLLOCALS_HASH_TABLE_SIZE; i++)
- {
- t = Locals_Hash_Table [i];
- while (t != NULL)
- {
- SLang_free_slstring (t->name);
- t1 = t->next;
- SLfree ((char *) t);
- t = t1;
- }
- Locals_Hash_Table [i] = NULL;
- }
- Local_Variable_Number = 0;
-}
-
-/* call inner interpreter or return for more */
-static void lang_try_now(void)
-{
- Compile_ByteCode_Ptr++;
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = 0; /* so next command stops after this */
-
- /* now do it */
- inner_interp (This_Compile_Block);
- (void) lang_free_branch (This_Compile_Block);
- Compile_ByteCode_Ptr = This_Compile_Block;
-}
-
-SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *ref)
-{
- if (ref->is_global)
- {
- SLang_Name_Type *nt = ref->v.nt;
-
- switch (nt->name_type)
- {
- case SLANG_PFUNCTION:
- case SLANG_FUNCTION:
- case SLANG_INTRINSIC:
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- return nt;
- }
- SLang_verror (SL_TYPE_MISMATCH,
- "Reference to a function expected. Found &%s",
- nt->name);
- }
-
- SLang_verror (SL_TYPE_MISMATCH,
- "Reference to a function expected");
- return NULL;
-}
-
-int SLexecute_function (SLang_Name_Type *nt)
-{
- unsigned char type;
- char *name;
-
- if (SLang_Error)
- return -1;
-
- type = nt->name_type;
- name = nt->name;
-
- switch (type)
- {
- case SLANG_PFUNCTION:
- case SLANG_FUNCTION:
- execute_slang_fun ((_SLang_Function_Type *) nt);
- break;
-
- case SLANG_INTRINSIC:
- execute_intrinsic_fun ((SLang_Intrin_Fun_Type *) nt);
- break;
-
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- inner_interp_nametype (nt);
- break;
-
- default:
- SLang_verror (SL_TYPE_MISMATCH, "%s is not a function", name);
- return -1;
- }
-
- if (SLang_Error)
- {
- SLang_verror (SLang_Error, "Error while executing %s", name);
- return -1;
- }
-
- return 1;
-}
-
-int SLang_execute_function (char *name)
-{
- SLang_Name_Type *entry;
-
- if (NULL == (entry = SLang_get_function (name)))
- return 0;
-
- return SLexecute_function (entry);
-}
-
-/* return S-Lang function or NULL */
-SLang_Name_Type *SLang_get_function (char *name)
-{
- SLang_Name_Type *entry;
-
- if (NULL == (entry = locate_namespace_encoded_name (name, 0)))
- return NULL;
-
- if ((entry->name_type == SLANG_FUNCTION)
- || (entry->name_type == SLANG_INTRINSIC))
- return entry;
-
- return NULL;
-}
-
-static void lang_begin_function (void)
-{
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Function nesting is illegal");
- return;
- }
- Lang_Defining_Function = 1;
- (void) push_block_context (COMPILE_BLOCK_TYPE_FUNCTION);
-}
-
-#if USE_COMBINED_BYTECODES
-static void optimize_block (SLBlock_Type *b)
-{
- while (1)
- {
- switch (b->bc_main_type)
- {
- case 0:
- return;
-
- default:
- b++;
- break;
-
- case _SLANG_BC_CALL_DIRECT:
- b++;
- switch (b->bc_main_type)
- {
- case 0:
- return;
- case _SLANG_BC_INTRINSIC:
- if ((b+1)->bc_main_type == 0)
- {
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRSTOP;
- return;
- }
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRINSIC;
- b++;
- break;
- case _SLANG_BC_LITERAL_STR:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LSTR;
- b++;
- break;
- case _SLANG_BC_FUNCTION:
- case _SLANG_BC_PFUNCTION:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_SLFUN;
- b++;
- break;
- case _SLANG_BC_EARG_LVARIABLE:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_EARG_LVAR;
- b++;
- break;
- case _SLANG_BC_LITERAL_INT:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LINT;
- b++;
- break;
- case _SLANG_BC_LVARIABLE:
- (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LVAR;
- b++;
- break;
- }
- break;
-
- case _SLANG_BC_INTRINSIC:
- b++;
- switch (b->bc_main_type)
- {
- case _SLANG_BC_CALL_DIRECT:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_CALL_DIRECT;
- b++;
- break;
-#if 0
- case _SLANG_BC_BLOCK:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_BLOCK;
- b++;
- break;
-#endif
-
- case 0:
- (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_STOP;
- return;
- }
- break;
- }
- }
-}
-
-#endif
-
-
-/* name will be NULL if the object is to simply terminate the function
- * definition. See SLang_restart.
- */
-static int lang_define_function (char *name, unsigned char type, unsigned long hash,
- SLang_NameSpace_Type *ns)
-{
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_FUNCTION)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Premature end of function");
- return -1;
- }
-
- /* terminate function */
- Compile_ByteCode_Ptr->bc_main_type = 0;
-
- if (name != NULL)
- {
- _SLBlock_Header_Type *h;
-
- h = (_SLBlock_Header_Type *)SLmalloc (sizeof (_SLBlock_Header_Type));
- if (h != NULL)
- {
- h->num_refs = 1;
- h->body = This_Compile_Block;
-
-#if USE_COMBINED_BYTECODES
- optimize_block (h->body);
-#endif
-
- if (-1 == add_slang_function (name, type, hash,
- Function_Args_Number,
- Local_Variable_Number,
-#if _SLANG_HAS_DEBUG_CODE
- This_Compile_Filename,
-#endif
- h, ns))
- SLfree ((char *) h);
- }
- /* Drop through for clean-up */
- }
-
- free_local_variable_table ();
-
- Function_Args_Number = 0;
- Lang_Defining_Function = 0;
-
- if (SLang_Error) return -1;
- /* SLang_restart will finish this if there is a slang error. */
-
- pop_block_context ();
-
- /* A function is only defined at top-level */
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
- return -1;
- }
- Compile_ByteCode_Ptr = This_Compile_Block;
- return 0;
-}
-
-static void define_static_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_FUNCTION, hash, This_Static_NameSpace);
-}
-
-static void define_private_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_PFUNCTION, hash, This_Static_NameSpace);
-}
-
-static void define_public_function (char *name, unsigned long hash)
-{
- (void) lang_define_function (name, SLANG_FUNCTION, hash, Global_NameSpace);
-}
-
-static void lang_end_block (void)
-{
- SLBlock_Type *node, *branch;
- unsigned char mtype;
-
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Not defining a block");
- return;
- }
-
- /* terminate the block */
- Compile_ByteCode_Ptr->bc_main_type = 0;
- branch = This_Compile_Block;
-
- /* Try to save some space by using the cached blocks. */
- if (Compile_ByteCode_Ptr == branch + 1)
- {
- mtype = branch->bc_main_type;
- if (((mtype == _SLANG_BC_BREAK)
- || (mtype == _SLANG_BC_CONTINUE)
- || (mtype == _SLANG_BC_RETURN))
- && (SLang_Error == 0))
- {
- SLfree ((char *)branch);
- branch = SLShort_Blocks + 2 * (int) (mtype - _SLANG_BC_RETURN);
- }
- }
-
-#if USE_COMBINED_BYTECODES
- optimize_block (branch);
-#endif
-
- pop_block_context ();
- node = Compile_ByteCode_Ptr++;
-
- node->bc_main_type = _SLANG_BC_BLOCK;
- node->bc_sub_type = 0;
- node->b.blk = branch;
-}
-
-static int lang_begin_block (void)
-{
- return push_block_context (COMPILE_BLOCK_TYPE_BLOCK);
-}
-
-static int lang_check_space (void)
-{
- unsigned int n;
- SLBlock_Type *p;
-
- if (NULL == (p = This_Compile_Block))
- {
- SLang_verror (SL_INTERNAL_ERROR, "Top-level block not present");
- return -1;
- }
-
- /* Allow 1 extra for terminator */
- if (Compile_ByteCode_Ptr + 1 < This_Compile_Block_Max)
- return 0;
-
- n = (unsigned int) (This_Compile_Block_Max - p);
-
- /* enlarge the space by 2 objects */
- n += 2;
-
- if (NULL == (p = (SLBlock_Type *) SLrealloc((char *)p, n * sizeof(SLBlock_Type))))
- return -1;
-
- This_Compile_Block_Max = p + n;
- n = (unsigned int) (Compile_ByteCode_Ptr - This_Compile_Block);
- This_Compile_Block = p;
- Compile_ByteCode_Ptr = p + n;
-
- return 0;
-}
-
-/* returns positive number if name is a function or negative number if it
- is a variable. If it is intrinsic, it returns magnitude of 1, else 2 */
-int SLang_is_defined(char *name)
-{
- SLang_Name_Type *t;
-
- if (-1 == init_interpreter ())
- return -1;
-
- t = locate_namespace_encoded_name (name, 0);
- if (t == NULL)
- return 0;
-
- switch (t->name_type)
- {
- case SLANG_FUNCTION:
- /* case SLANG_PFUNCTION: */
- return 2;
- case SLANG_GVARIABLE:
- /* case SLANG_PVARIABLE: */
- return -2;
-
- case SLANG_ICONSTANT:
- case SLANG_DCONSTANT:
- case SLANG_RVARIABLE:
- case SLANG_IVARIABLE:
- return -1;
-
- case SLANG_INTRINSIC:
- default:
- return 1;
- }
-}
-
-static int add_global_variable (char *name, char name_type, unsigned long hash,
- SLang_NameSpace_Type *ns)
-{
- SLang_Name_Type *g;
-
- /* Note the importance of checking if it is already defined or not. For example,
- * suppose X is defined as an intrinsic variable. Then S-Lang code like:
- * !if (is_defined("X")) { variable X; }
- * will not result in a global variable X. On the other hand, this would
- * not be an issue if 'variable' statements always were not processed
- * immediately. That is, as it is now, 'if (0) {variable ZZZZ;}' will result
- * in the variable ZZZZ being defined because of the immediate processing.
- * The current solution is to do: if (0) { eval("variable ZZZZ;"); }
- */
- /* hash = _SLcompute_string_hash (name); */
- g = locate_name_in_table (name, hash, ns->table, ns->table_size);
-
- if (g != NULL)
- {
- if (g->name_type == name_type)
- return 0;
- }
-
- if (NULL == add_global_name (name, hash, name_type,
- sizeof (SLang_Global_Var_Type), ns))
- return -1;
-
- return 0;
-}
-
-int SLadd_global_variable (char *name)
-{
- if (-1 == init_interpreter ())
- return -1;
-
- return add_global_variable (name, SLANG_GVARIABLE,
- _SLcompute_string_hash (name),
- Global_NameSpace);
-}
-
-static int add_local_variable (char *name, unsigned long hash)
-{
- SLang_Local_Var_Type *t;
-
- /* local variable */
- if (Local_Variable_Number >= SLANG_MAX_LOCAL_VARIABLES)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Too many local variables");
- return -1;
- }
-
- if (NULL != locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Local variable %s has already been defined", name);
- return -1;
- }
-
- t = (SLang_Local_Var_Type *)
- add_name_to_hash_table (name, hash,
- sizeof (SLang_Local_Var_Type), SLANG_LVARIABLE,
- Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE, 0);
- if (t == NULL)
- return -1;
-
- t->local_var_number = Local_Variable_Number;
- Local_Variable_Number++;
- return 0;
-}
-
-static void (*Compile_Mode_Function) (_SLang_Token_Type *);
-static void compile_basic_token_mode (_SLang_Token_Type *);
-
-/* if an error occurs, discard current object, block, function, etc... */
-void SLang_restart (int localv)
-{
- int save = SLang_Error;
-
- SLang_Error = SL_UNKNOWN_ERROR;
-
- _SLcompile_ptr = _SLcompile;
- Compile_Mode_Function = compile_basic_token_mode;
-
- Lang_Break = /* Lang_Continue = */ Lang_Return = 0;
- Trace_Mode = 0;
-
- while (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
- lang_end_block();
-
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_FUNCTION)
- {
- /* Terminate function definition and free variables */
- lang_define_function (NULL, SLANG_FUNCTION, 0, Global_NameSpace);
- if (lang_free_branch (This_Compile_Block))
- SLfree((char *)This_Compile_Block);
- }
- Lang_Defining_Function = 0;
-
- SLang_Error = save;
-
- if (SLang_Error == SL_STACK_OVERFLOW)
- {
- /* This loop guarantees that the stack is properly cleaned. */
- while (_SLStack_Pointer != _SLRun_Stack)
- {
- SLdo_pop ();
- }
- }
-
- while ((This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
- && (0 == pop_block_context ()))
- ;
-
- if (localv)
- {
- Next_Function_Num_Args = SLang_Num_Function_Args = 0;
- Local_Variable_Frame = Local_Variable_Stack;
- Recursion_Depth = 0;
- Frame_Pointer = _SLStack_Pointer;
- Frame_Pointer_Depth = 0;
- Switch_Obj_Ptr = Switch_Objects;
- while (Switch_Obj_Ptr < Switch_Obj_Max)
- {
- SLang_free_object (Switch_Obj_Ptr);
- Switch_Obj_Ptr++;
- }
- Switch_Obj_Ptr = Switch_Objects;
- }
-}
-
-static void compile_directive (unsigned char sub_type)
-{
- /* This function is called only from compile_directive_mode which is
- * only possible when a block is available.
- */
-
- /* use BLOCK */
- Compile_ByteCode_Ptr--;
- Compile_ByteCode_Ptr->bc_sub_type = sub_type;
-
- lang_try_now ();
-}
-
-static void compile_unary (int op, unsigned char mt)
-{
- Compile_ByteCode_Ptr->bc_main_type = mt;
- Compile_ByteCode_Ptr->b.i_blk = op;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-
-static void compile_binary (int op)
-{
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_BINARY;
- Compile_ByteCode_Ptr->b.i_blk = op;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-static int try_compressed_bytecode (unsigned char last_bc, unsigned char bc)
-{
- if (Compile_ByteCode_Ptr != This_Compile_Block)
- {
- SLBlock_Type *b;
- b = Compile_ByteCode_Ptr - 1;
- if (b->bc_main_type == last_bc)
- {
- Compile_ByteCode_Ptr = b;
- b->bc_main_type = bc;
- lang_try_now ();
- return 0;
- }
- }
- return -1;
-}
-#endif
-
-static void compile_fast_binary (int op, unsigned char bc)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (0 == try_compressed_bytecode (_SLANG_BC_LITERAL_INT, bc))
- return;
-#else
- (void) bc;
-#endif
- compile_binary (op);
-}
-
-/* This is a hack */
-typedef struct _Special_NameTable_Type
-{
- char *name;
- int (*fun) (struct _Special_NameTable_Type *, _SLang_Token_Type *);
- VOID_STAR blk_data;
- unsigned char main_type;
-}
-Special_NameTable_Type;
-
-static int handle_special (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- (void) tok;
- Compile_ByteCode_Ptr->bc_main_type = nt->main_type;
- Compile_ByteCode_Ptr->b.ptr_blk = nt->blk_data;
- return 0;
-}
-
-static int handle_special_file (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- char *name;
-
- (void) nt; (void) tok;
-
- if (This_Static_NameSpace == NULL) name = "***Unknown***";
- else
- name = This_Static_NameSpace->name;
-
- name = SLang_create_slstring (name);
- if (name == NULL)
- return -1;
-
- Compile_ByteCode_Ptr->b.s_blk = name;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
- return 0;
-}
-
-static int handle_special_line (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
-{
- (void) nt;
-
-#if _SLANG_HAS_DEBUG_CODE
- Compile_ByteCode_Ptr->b.l_blk = (long) tok->line_number;
-#endif
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_UINT_TYPE;
-
- return 0;
-}
-
-static Special_NameTable_Type Special_Name_Table [] =
-{
- {"EXECUTE_ERROR_BLOCK", handle_special, NULL, _SLANG_BC_X_ERROR},
- {"X_USER_BLOCK0", handle_special, NULL, _SLANG_BC_X_USER0},
- {"X_USER_BLOCK1", handle_special, NULL, _SLANG_BC_X_USER1},
- {"X_USER_BLOCK2", handle_special, NULL, _SLANG_BC_X_USER2},
- {"X_USER_BLOCK3", handle_special, NULL, _SLANG_BC_X_USER3},
- {"X_USER_BLOCK4", handle_special, NULL, _SLANG_BC_X_USER4},
- {"__FILE__", handle_special_file, NULL, 0},
- {"__LINE__", handle_special_line, NULL, 0},
-#if 0
- {"__NAMESPACE__", handle_special_namespace, NULL, 0},
-#endif
- {NULL, NULL, NULL, 0}
-};
-
-static void compile_hashed_identifier (char *name, unsigned long hash, _SLang_Token_Type *tok)
-{
- SLang_Name_Type *entry;
- unsigned char name_type;
-
- entry = locate_hashed_name (name, hash);
-
- if (entry == NULL)
- {
- Special_NameTable_Type *nt = Special_Name_Table;
-
- while (nt->name != NULL)
- {
- if (strcmp (name, nt->name))
- {
- nt++;
- continue;
- }
-
- if (0 == (*nt->fun)(nt, tok))
- lang_try_now ();
- return;
- }
-
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- name_type = entry->name_type;
- Compile_ByteCode_Ptr->bc_main_type = name_type;
-
- if (name_type == SLANG_LVARIABLE)
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
- else
- Compile_ByteCode_Ptr->b.nt_blk = entry;
-
- lang_try_now ();
-}
-
-static void compile_tmp_variable (char *name, unsigned long hash)
-{
- SLang_Name_Type *entry;
- unsigned char name_type;
-
- if (NULL == (entry = locate_hashed_name (name, hash)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- name_type = entry->name_type;
- switch (name_type)
- {
- case SLANG_LVARIABLE:
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- Compile_ByteCode_Ptr->b.nt_blk = entry;
- break;
-
- default:
- SLang_verror (SL_SYNTAX_ERROR, "__tmp(%s) does not specifiy a variable", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_TMP;
- Compile_ByteCode_Ptr->bc_sub_type = name_type;
-
- lang_try_now ();
-}
-
-static void compile_simple (unsigned char main_type)
-{
- Compile_ByteCode_Ptr->bc_main_type = main_type;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
- Compile_ByteCode_Ptr->b.blk = NULL;
- lang_try_now ();
-}
-
-static void compile_identifier (char *name, _SLang_Token_Type *tok)
-{
- compile_hashed_identifier (name, _SLcompute_string_hash (name), tok);
-}
-
-static void compile_call_direct (int (*f) (void), unsigned char byte_code)
-{
- Compile_ByteCode_Ptr->b.call_function = f;
- Compile_ByteCode_Ptr->bc_main_type = byte_code;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
- lang_try_now ();
-}
-
-static void compile_lvar_call_direct (int (*f)(void), unsigned char bc,
- unsigned char frame_op)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (0 == try_compressed_bytecode (_SLANG_BC_LVARIABLE, bc))
- return;
-#else
- (void) bc;
-#endif
-
- compile_call_direct (f, frame_op);
-}
-
-static void compile_integer (long i, unsigned char bc_main_type, unsigned char bc_sub_type)
-{
- Compile_ByteCode_Ptr->b.l_blk = i;
- Compile_ByteCode_Ptr->bc_main_type = bc_main_type;
- Compile_ByteCode_Ptr->bc_sub_type = bc_sub_type;
-
- lang_try_now ();
-}
-
-#if SLANG_HAS_FLOAT
-static void compile_double (char *str, unsigned char type)
-{
- double d;
- unsigned int factor = 1;
- double *ptr;
-
-#if 1
- d = _SLang_atof (str);
-#else
- if (1 != sscanf (str, "%lf", &d))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to double", str);
- return;
- }
-#endif
-
-#if SLANG_HAS_COMPLEX
- if (type == SLANG_COMPLEX_TYPE) factor = 2;
-#endif
- if (NULL == (ptr = (double *) SLmalloc(factor * sizeof(double))))
- return;
-
- Compile_ByteCode_Ptr->b.double_blk = ptr;
-#if SLANG_HAS_COMPLEX
- if (type == SLANG_COMPLEX_TYPE)
- *ptr++ = 0;
-#endif
- *ptr = d;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = type;
- lang_try_now ();
-}
-
-static void compile_float (char *s)
-{
- float x;
-
-#if 1
- x = (float) _SLang_atof (s);
-#else
- if (1 != sscanf (s, "%f", &x))
- {
- SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to float", s);
- return;
- }
-#endif
- Compile_ByteCode_Ptr->b.float_blk = x;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_FLOAT_TYPE;
- lang_try_now ();
-}
-
-#endif
-
-static void compile_string (char *s, unsigned long hash)
-{
- if (NULL == (Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (s, hash)))
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
-
- lang_try_now ();
-}
-
-static void compile_bstring (SLang_BString_Type *s)
-{
- if (NULL == (Compile_ByteCode_Ptr->b.bs_blk = SLbstring_dup (s)))
- return;
-
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
- Compile_ByteCode_Ptr->bc_sub_type = SLANG_BSTRING_TYPE;
-
- lang_try_now ();
-}
-
-/* assign_type is one of _SLANG_BCST_ASSIGN, ... values */
-static void compile_assign (unsigned char assign_type,
- char *name, unsigned long hash)
-{
- SLang_Name_Type *v;
- unsigned char main_type;
- SLang_Class_Type *cl;
-
- v = locate_hashed_name (name, hash);
- if (v == NULL)
- {
- if ((_SLang_Auto_Declare_Globals == 0)
- || (NULL != strchr (name, '-')) /* namespace->name form */
- || Lang_Defining_Function
- || (assign_type != _SLANG_BCST_ASSIGN)
- || (This_Static_NameSpace == NULL))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
- /* Note that function local variables are not at top level */
-
- /* Variables that are automatically declared are given static
- * scope.
- */
- if ((NULL != SLang_Auto_Declare_Var_Hook)
- && (-1 == (*SLang_Auto_Declare_Var_Hook) (name)))
- return;
-
- if ((-1 == add_global_variable (name, SLANG_GVARIABLE, hash, This_Static_NameSpace))
- || (NULL == (v = locate_hashed_name (name, hash))))
- return;
- }
-
- switch (v->name_type)
- {
- case SLANG_LVARIABLE:
- main_type = _SLANG_BC_SET_LOCAL_LVALUE;
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- main_type = _SLANG_BC_SET_GLOBAL_LVALUE;
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- case SLANG_IVARIABLE:
- cl = _SLclass_get_class (((SLang_Intrin_Var_Type *)v)->type);
- if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Assignment to %s is not allowed", name);
- return;
- }
- main_type = _SLANG_BC_SET_INTRIN_LVALUE;
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- case SLANG_RVARIABLE:
- SLang_verror (SL_READONLY_ERROR, "%s is read-only", name);
- return;
-
- default:
- SLang_verror (SL_DUPLICATE_DEFINITION, "%s may not be used as an lvalue", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_sub_type = assign_type;
- Compile_ByteCode_Ptr->bc_main_type = main_type;
-
- lang_try_now ();
-}
-
-static void compile_deref_assign (char *name, unsigned long hash)
-{
- SLang_Name_Type *v;
-
- v = locate_hashed_name (name, hash);
-
- if (v == NULL)
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- switch (v->name_type)
- {
- case SLANG_LVARIABLE:
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
- break;
-
- case SLANG_GVARIABLE:
- case SLANG_PVARIABLE:
- Compile_ByteCode_Ptr->b.nt_blk = v;
- break;
-
- default:
- /* FIXME: Priority=low
- * This could be made to work. It is not a priority because
- * I cannot imagine application intrinsics which are references.
- */
- SLang_verror (SL_NOT_IMPLEMENTED, "Deref assignment to %s is not allowed", name);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_sub_type = v->name_type;
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_DEREF_ASSIGN;
-
- lang_try_now ();
-}
-
-static void
-compile_struct_assign (_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _STRUCT_ASSIGN_TOKEN);
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_STRUCT_LVALUE;
- Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (t->v.s_val, t->hash);
- lang_try_now ();
-}
-
-static void
-compile_array_assign (_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _ARRAY_ASSIGN_TOKEN);
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_ARRAY_LVALUE;
- Compile_ByteCode_Ptr->b.s_blk = NULL;
- lang_try_now ();
-}
-
-static void compile_dot(_SLang_Token_Type *t)
-{
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_FIELD;
- Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string(t->v.s_val, t->hash);
- lang_try_now ();
-}
-
-static void compile_ref (char *name, unsigned long hash)
-{
- SLang_Name_Type *entry;
- unsigned char main_type;
-
- if (NULL == (entry = locate_hashed_name (name, hash)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
- return;
- }
-
- main_type = entry->name_type;
-
- if (main_type == SLANG_LVARIABLE)
- {
- main_type = _SLANG_BC_LOBJPTR;
- Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *)entry)->local_var_number;
- }
- else
- {
- main_type = _SLANG_BC_GOBJPTR;
- Compile_ByteCode_Ptr->b.nt_blk = entry;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = main_type;
- lang_try_now ();
-}
-
-static void compile_break (unsigned char break_type,
- int requires_block, int requires_fun,
- char *str)
-{
- if ((requires_fun
- && (Lang_Defining_Function == 0))
- || (requires_block
- && (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)))
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced %s", str);
- return;
- }
-
- Compile_ByteCode_Ptr->bc_main_type = break_type;
- Compile_ByteCode_Ptr->bc_sub_type = 0;
-
- lang_try_now ();
-}
-
-static void compile_public_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- {
- /* If the variable is already defined in the static hash table,
- * generate an error.
- */
- if ((This_Static_NameSpace != NULL)
- && (NULL != locate_name_in_table (t->v.s_val, t->hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size)))
- {
- SLang_verror (SL_DUPLICATE_DEFINITION,
- "%s already has static or private linkage in this unit",
- t->v.s_val);
- return;
- }
- add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, Global_NameSpace);
- }
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_local_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_local_variable (t->v.s_val, t->hash);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_static_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, This_Static_NameSpace);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_private_variable_mode (_SLang_Token_Type *t)
-{
- if (t->type == IDENT_TOKEN)
- add_global_variable (t->v.s_val, SLANG_PVARIABLE, t->hash, This_Static_NameSpace);
- else if (t->type == CBRACKET_TOKEN)
- Compile_Mode_Function = compile_basic_token_mode;
- else
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
-}
-
-static void compile_function_mode (_SLang_Token_Type *t)
-{
- if (-1 == lang_check_space ())
- return;
-
- if (t->type != IDENT_TOKEN)
- SLang_verror (SL_SYNTAX_ERROR, "Expecting function name");
- else
- lang_define_function (t->v.s_val, SLANG_FUNCTION, t->hash, Global_NameSpace);
-
- Compile_Mode_Function = compile_basic_token_mode;
-}
-
-/* An error block is not permitted to contain continue or break statements.
- * This restriction may be removed later but for now reject them.
- */
-static int check_error_block (void)
-{
- SLBlock_Type *p;
- unsigned char t;
-
- /* Back up to the block and then scan it. */
- p = (Compile_ByteCode_Ptr - 1)->b.blk;
-
- while (0 != (t = p->bc_main_type))
- {
- if ((t == _SLANG_BC_BREAK)
- || (t == _SLANG_BC_CONTINUE))
- {
- SLang_verror (SL_SYNTAX_ERROR,
- "An ERROR_BLOCK is not permitted to contain continue or break statements");
- return -1;
- }
- p++;
- }
- return 0;
-}
-
-/* The only allowed tokens are the directives and another block start.
- * The mode is only active if a block is available. The inner_interp routine
- * expects such safety checks.
- */
-static void compile_directive_mode (_SLang_Token_Type *t)
-{
- int bc_sub_type;
-
- if (-1 == lang_check_space ())
- return;
-
- bc_sub_type = -1;
-
- switch (t->type)
- {
- case FOREVER_TOKEN:
- bc_sub_type = _SLANG_BCST_FOREVER;
- break;
-
- case IFNOT_TOKEN:
- bc_sub_type = _SLANG_BCST_IFNOT;
- break;
-
- case IF_TOKEN:
- bc_sub_type = _SLANG_BCST_IF;
- break;
-
- case ANDELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ANDELSE;
- break;
-
- case SWITCH_TOKEN:
- bc_sub_type = _SLANG_BCST_SWITCH;
- break;
-
- case EXITBLK_TOKEN:
- if (Lang_Defining_Function == 0)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced EXIT_BLOCK");
- break;
- }
- bc_sub_type = _SLANG_BCST_EXIT_BLOCK;
- break;
-
- case ERRBLK_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced ERROR_BLOCK");
- break;
- }
- if (0 == check_error_block ())
- bc_sub_type = _SLANG_BCST_ERROR_BLOCK;
- break;
-
- case USRBLK0_TOKEN:
- case USRBLK1_TOKEN:
- case USRBLK2_TOKEN:
- case USRBLK3_TOKEN:
- case USRBLK4_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
- {
- SLang_verror (SL_SYNTAX_ERROR, "misplaced USER_BLOCK");
- break;
- }
- bc_sub_type = _SLANG_BCST_USER_BLOCK0 + (t->type - USRBLK0_TOKEN);
- break;
-
- case NOTELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_NOTELSE;
- break;
-
- case ELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ELSE;
- break;
-
- case LOOP_TOKEN:
- bc_sub_type = _SLANG_BCST_LOOP;
- break;
-
- case DOWHILE_TOKEN:
- bc_sub_type = _SLANG_BCST_DOWHILE;
- break;
-
- case WHILE_TOKEN:
- bc_sub_type = _SLANG_BCST_WHILE;
- break;
-
- case ORELSE_TOKEN:
- bc_sub_type = _SLANG_BCST_ORELSE;
- break;
-
- case _FOR_TOKEN:
- bc_sub_type = _SLANG_BCST_FOR;
- break;
-
- case FOR_TOKEN:
- bc_sub_type = _SLANG_BCST_CFOR;
- break;
-
- case FOREACH_TOKEN:
- bc_sub_type = _SLANG_BCST_FOREACH;
- break;
-
- case OBRACE_TOKEN:
- lang_begin_block ();
- break;
-
- default:
- SLang_verror (SL_SYNTAX_ERROR, "Expecting directive token. Found 0x%X", t->type);
- break;
- }
-
- /* Reset this pointer first because compile_directive may cause a
- * file to be loaded.
- */
- Compile_Mode_Function = compile_basic_token_mode;
-
- if (bc_sub_type != -1)
- compile_directive (bc_sub_type);
-}
-
-static unsigned int Assign_Mode_Type;
-static void compile_assign_mode (_SLang_Token_Type *t)
-{
- if (t->type != IDENT_TOKEN)
- {
- SLang_verror (SL_SYNTAX_ERROR, "Expecting identifier for assignment");
- return;
- }
-
- compile_assign (Assign_Mode_Type, t->v.s_val, t->hash);
- Compile_Mode_Function = compile_basic_token_mode;
-}
-
-static void compile_basic_token_mode (_SLang_Token_Type *t)
-{
- if (-1 == lang_check_space ())
- return;
-
- switch (t->type)
- {
- case PUSH_TOKEN:
- case NOP_TOKEN:
- case EOF_TOKEN:
- case READONLY_TOKEN:
- case DO_TOKEN:
- case VARIABLE_TOKEN:
- case SEMICOLON_TOKEN:
- default:
- SLang_verror (SL_SYNTAX_ERROR, "Unknown or unsupported token type 0x%X", t->type);
- break;
-
- case DEREF_TOKEN:
- compile_call_direct (dereference_object, _SLANG_BC_CALL_DIRECT);
- break;
-
- case STRUCT_TOKEN:
- compile_call_direct (_SLstruct_define_struct, _SLANG_BC_CALL_DIRECT);
- break;
-
- case TYPEDEF_TOKEN:
- compile_call_direct (_SLstruct_define_typedef, _SLANG_BC_CALL_DIRECT);
- break;
-
- case TMP_TOKEN:
- compile_tmp_variable (t->v.s_val, t->hash);
- break;
-
- case DOT_TOKEN: /* X . field */
- compile_dot (t);
- break;
-
- case COMMA_TOKEN:
- break; /* do nothing */
-
- case IDENT_TOKEN:
- compile_hashed_identifier (t->v.s_val, t->hash, t);
- break;
-
- case _REF_TOKEN:
- compile_ref (t->v.s_val, t->hash);
- break;
-
- case ARG_TOKEN:
- compile_call_direct (SLang_start_arg_list, _SLANG_BC_CALL_DIRECT);
- break;
-
- case EARG_TOKEN:
- compile_lvar_call_direct (SLang_end_arg_list, _SLANG_BC_EARG_LVARIABLE, _SLANG_BC_CALL_DIRECT);
- break;
-
- case COLON_TOKEN:
- if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
- compile_simple (_SLANG_BC_LABEL);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case POP_TOKEN:
- compile_call_direct (SLdo_pop, _SLANG_BC_CALL_DIRECT);
- break;
-
- case CASE_TOKEN:
- if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
- SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case'");
- else
- compile_call_direct (case_function, _SLANG_BC_CALL_DIRECT);
- break;
-
- case CHAR_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_CHAR_TYPE);
- break;
- case SHORT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_SHORT_TYPE);
- break;
- case INT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_INT_TYPE);
- break;
- case UCHAR_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_UCHAR_TYPE);
- break;
- case USHORT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_USHORT_TYPE);
- break;
- case UINT_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_UINT_TYPE);
- break;
- case LONG_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_LONG_TYPE);
- break;
- case ULONG_TOKEN:
- compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_ULONG_TYPE);
- break;
-
-#if SLANG_HAS_FLOAT
- case FLOAT_TOKEN:
- compile_float (t->v.s_val);
- break;
-
- case DOUBLE_TOKEN:
- compile_double (t->v.s_val, SLANG_DOUBLE_TYPE);
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case COMPLEX_TOKEN:
- compile_double (t->v.s_val, SLANG_COMPLEX_TYPE);
- break;
-#endif
-
- case STRING_TOKEN:
- compile_string (t->v.s_val, t->hash);
- break;
-
- case _BSTRING_TOKEN:
- compile_bstring (SLbstring_create ((unsigned char *)t->v.s_val, (unsigned int) t->hash));
- break;
-
- case BSTRING_TOKEN:
- compile_bstring (t->v.b_val);
- break;
-
- case _NULL_TOKEN:
- compile_identifier ("NULL", t);
- break;
-
- case _INLINE_WILDCARD_ARRAY_TOKEN:
- compile_call_direct (_SLarray_wildcard_array, _SLANG_BC_CALL_DIRECT);
- break;
-
- case _INLINE_ARRAY_TOKEN:
- compile_call_direct (_SLarray_inline_array, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case _INLINE_IMPLICIT_ARRAY_TOKEN:
- compile_call_direct (_SLarray_inline_implicit_array, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case ARRAY_TOKEN:
- compile_lvar_call_direct (_SLarray_aget, _SLANG_BC_LVARIABLE_AGET, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- /* Note: I need to add the other _ARRAY assign tokens. */
- case _ARRAY_PLUSEQS_TOKEN:
- case _ARRAY_MINUSEQS_TOKEN:
- case _ARRAY_TIMESEQS_TOKEN:
- case _ARRAY_DIVEQS_TOKEN:
- case _ARRAY_BOREQS_TOKEN:
- case _ARRAY_BANDEQS_TOKEN:
- case _ARRAY_POST_MINUSMINUS_TOKEN:
- case _ARRAY_MINUSMINUS_TOKEN:
- case _ARRAY_POST_PLUSPLUS_TOKEN:
- case _ARRAY_PLUSPLUS_TOKEN:
- compile_array_assign (t);
- break;
-
- case _ARRAY_ASSIGN_TOKEN:
- compile_lvar_call_direct (_SLarray_aput, _SLANG_BC_LVARIABLE_APUT, _SLANG_BC_CALL_DIRECT_FRAME);
- break;
-
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- compile_struct_assign (t);
- break;
-
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- compile_assign (_SLANG_BCST_ASSIGN + (t->type - _SCALAR_ASSIGN_TOKEN),
- t->v.s_val, t->hash);
- break;
-
- case _DEREF_ASSIGN_TOKEN:
- compile_deref_assign (t->v.s_val, t->hash);
- break;
-
- /* For processing RPN tokens */
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- case POST_MINUSMINUS_TOKEN:
- case MINUSMINUS_TOKEN:
- case POST_PLUSPLUS_TOKEN:
- case PLUSPLUS_TOKEN:
- Compile_Mode_Function = compile_assign_mode;
- Assign_Mode_Type = _SLANG_BCST_ASSIGN + (t->type - ASSIGN_TOKEN);
- break;
-
- case LT_TOKEN:
- compile_binary (SLANG_LT);
- break;
-
- case LE_TOKEN:
- compile_binary (SLANG_LE);
- break;
-
- case GT_TOKEN:
- compile_binary (SLANG_GT);
- break;
-
- case GE_TOKEN:
- compile_binary (SLANG_GE);
- break;
-
- case EQ_TOKEN:
- compile_binary (SLANG_EQ);
- break;
-
- case NE_TOKEN:
- compile_binary (SLANG_NE);
- break;
-
- case AND_TOKEN:
- compile_binary (SLANG_AND);
- break;
-
- case ADD_TOKEN:
- compile_fast_binary (SLANG_PLUS, _SLANG_BC_INTEGER_PLUS);
- break;
-
- case SUB_TOKEN:
- compile_fast_binary (SLANG_MINUS, _SLANG_BC_INTEGER_MINUS);
- break;
-
- case TIMES_TOKEN:
- compile_binary (SLANG_TIMES);
- break;
-
- case DIV_TOKEN:
- compile_binary (SLANG_DIVIDE);
- break;
-
- case POW_TOKEN:
- compile_binary (SLANG_POW);
- break;
-
- case BXOR_TOKEN:
- compile_binary (SLANG_BXOR);
- break;
-
- case BAND_TOKEN:
- compile_binary (SLANG_BAND);
- break;
-
- case BOR_TOKEN:
- compile_binary (SLANG_BOR);
- break;
-
- case SHR_TOKEN:
- compile_binary (SLANG_SHR);
- break;
-
- case SHL_TOKEN:
- compile_binary (SLANG_SHL);
- break;
-
- case MOD_TOKEN:
- compile_binary (SLANG_MOD);
- break;
-
- case OR_TOKEN:
- compile_binary (SLANG_OR);
- break;
-
- case NOT_TOKEN:
- compile_unary (SLANG_NOT, _SLANG_BC_UNARY);
- break;
-
- case BNOT_TOKEN:
- compile_unary (SLANG_BNOT, _SLANG_BC_UNARY);
- break;
-
- case MUL2_TOKEN:
- compile_unary (SLANG_MUL2, _SLANG_BC_UNARY_FUNC);
- break;
-
- case CHS_TOKEN:
- compile_unary (SLANG_CHS, _SLANG_BC_UNARY_FUNC);
- break;
-
- case ABS_TOKEN:
- compile_unary (SLANG_ABS, _SLANG_BC_UNARY_FUNC);
- break;
-
- case SQR_TOKEN:
- compile_unary (SLANG_SQR, _SLANG_BC_UNARY_FUNC);
- break;
-
- case SIGN_TOKEN:
- compile_unary (SLANG_SIGN, _SLANG_BC_UNARY_FUNC);
- break;
-
- case BREAK_TOKEN:
- compile_break (_SLANG_BC_BREAK, 1, 0, "break");
- break;
-
- case RETURN_TOKEN:
- compile_break (_SLANG_BC_RETURN, 0, 1, "return");
- break;
-
- case CONT_TOKEN:
- compile_break (_SLANG_BC_CONTINUE, 1, 0, "continue");
- break;
-
- case EXCH_TOKEN:
- compile_break (_SLANG_BC_EXCH, 0, 0, ""); /* FIXME: Priority=low */
- break;
-
- case STATIC_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_static_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "static variables not permitted in functions");
- break;
-
- case PRIVATE_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_private_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "private variables not permitted in functions");
- break;
-
- case PUBLIC_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = compile_public_variable_mode;
- else
- SLang_verror (SL_NOT_IMPLEMENTED, "public variables not permitted in functions");
- break;
-
- case OBRACKET_TOKEN:
- if (Lang_Defining_Function == 0)
- Compile_Mode_Function = Default_Variable_Mode;
- else
- Compile_Mode_Function = compile_local_variable_mode;
- break;
-
- case OPAREN_TOKEN:
- lang_begin_function ();
- break;
-
- case DEFINE_STATIC_TOKEN:
- if (Lang_Defining_Function)
- define_static_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_PRIVATE_TOKEN:
- if (Lang_Defining_Function)
- define_private_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_PUBLIC_TOKEN:
- if (Lang_Defining_Function)
- define_public_function (t->v.s_val, t->hash);
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case DEFINE_TOKEN:
- if (Lang_Defining_Function)
- (*Default_Define_Function) (t->v.s_val, t->hash);
- else
- SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case CPAREN_TOKEN:
- if (Lang_Defining_Function)
- Compile_Mode_Function = compile_function_mode;
- else SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case CBRACE_TOKEN:
- lang_end_block ();
- Compile_Mode_Function = compile_directive_mode;
- break;
-
- case OBRACE_TOKEN:
- lang_begin_block ();
- break;
-
- case FARG_TOKEN:
- Function_Args_Number = Local_Variable_Number;
- break;
-
-#if _SLANG_HAS_DEBUG_CODE
- case LINE_NUM_TOKEN:
- Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LINE_NUM;
- Compile_ByteCode_Ptr->b.l_blk = t->v.long_val;
- lang_try_now ();
- break;
-#endif
- case POUND_TOKEN:
- compile_call_direct (_SLarray_matrix_multiply, _SLANG_BC_CALL_DIRECT);
- break;
- }
-}
-
-void _SLcompile (_SLang_Token_Type *t)
-{
- if (SLang_Error == 0)
- {
- if (Compile_Mode_Function != compile_basic_token_mode)
- {
- if (Compile_Mode_Function == NULL)
- Compile_Mode_Function = compile_basic_token_mode;
-#if _SLANG_HAS_DEBUG_CODE
- if (t->type == LINE_NUM_TOKEN)
- {
- compile_basic_token_mode (t);
- return;
- }
-#endif
- }
-
- (*Compile_Mode_Function) (t);
- }
-
- if (SLang_Error)
- {
- Compile_Mode_Function = compile_basic_token_mode;
- SLang_restart (0);
- }
-}
-
-void (*_SLcompile_ptr)(_SLang_Token_Type *) = _SLcompile;
-
-typedef struct _Compile_Context_Type
-{
- struct _Compile_Context_Type *next;
- SLang_NameSpace_Type *static_namespace;
- void (*compile_variable_mode) (_SLang_Token_Type *);
- void (*define_function) (char *, unsigned long);
- int lang_defining_function;
- int local_variable_number;
- unsigned int function_args_number;
- SLang_Name_Type **locals_hash_table;
- void (*compile_mode_function)(_SLang_Token_Type *);
-#if _SLANG_HAS_DEBUG_CODE
- char *compile_filename;
-#endif
-}
-Compile_Context_Type;
-
-static Compile_Context_Type *Compile_Context_Stack;
-
-/* The only way the push/pop_context functions can get called is via
- * an eval type function. That can only happen when executed from a
- * top level block. This means that Compile_ByteCode_Ptr can always be
- * rest back to the beginning of a block.
- */
-
-static int pop_compile_context (void)
-{
- Compile_Context_Type *cc;
-
- if (NULL == (cc = Compile_Context_Stack))
- return -1;
-
- This_Static_NameSpace = cc->static_namespace;
- Compile_Context_Stack = cc->next;
- Default_Variable_Mode = cc->compile_variable_mode;
- Default_Define_Function = cc->define_function;
- Compile_Mode_Function = cc->compile_mode_function;
-
- Lang_Defining_Function = cc->lang_defining_function;
- Local_Variable_Number = cc->local_variable_number;
- Function_Args_Number = cc->function_args_number;
-
-#if _SLANG_HAS_DEBUG_CODE
- SLang_free_slstring (This_Compile_Filename);
- This_Compile_Filename = cc->compile_filename;
-#endif
-
- SLfree ((char *) Locals_Hash_Table);
- Locals_Hash_Table = cc->locals_hash_table;
-
- SLfree ((char *) cc);
-
- return 0;
-}
-
-static int push_compile_context (char *name)
-{
- Compile_Context_Type *cc;
- SLang_Name_Type **lns;
-
- cc = (Compile_Context_Type *)SLmalloc (sizeof (Compile_Context_Type));
- if (cc == NULL)
- return -1;
- memset ((char *) cc, 0, sizeof (Compile_Context_Type));
-
- lns = (SLang_Name_Type **) SLcalloc (sizeof (SLang_Name_Type *), SLLOCALS_HASH_TABLE_SIZE);
- if (lns == NULL)
- {
- SLfree ((char *) cc);
- return -1;
- }
-
-#if _SLANG_HAS_DEBUG_CODE
- if ((name != NULL)
- && (NULL == (name = SLang_create_slstring (name))))
- {
- SLfree ((char *) cc);
- SLfree ((char *) lns);
- return -1;
- }
-
- cc->compile_filename = This_Compile_Filename;
- This_Compile_Filename = name;
-#endif
-
- cc->static_namespace = This_Static_NameSpace;
- cc->compile_variable_mode = Default_Variable_Mode;
- cc->define_function = Default_Define_Function;
- cc->locals_hash_table = Locals_Hash_Table;
-
- cc->lang_defining_function = Lang_Defining_Function;
- cc->local_variable_number = Local_Variable_Number;
- cc->function_args_number = Function_Args_Number;
- cc->locals_hash_table = Locals_Hash_Table;
- cc->compile_mode_function = Compile_Mode_Function;
-
- cc->next = Compile_Context_Stack;
- Compile_Context_Stack = cc;
-
- Compile_Mode_Function = compile_basic_token_mode;
- Default_Variable_Mode = compile_public_variable_mode;
- Default_Define_Function = define_public_function;
- Lang_Defining_Function = 0;
- Local_Variable_Number = 0;
- Function_Args_Number = 0;
- Locals_Hash_Table = lns;
- return 0;
-}
-
-static int init_interpreter (void)
-{
- SLang_NameSpace_Type *ns;
-
- if (Global_NameSpace != NULL)
- return 0;
-
- if (NULL == (ns = _SLns_allocate_namespace ("***GLOBAL***", SLGLOBALS_HASH_TABLE_SIZE)))
- return -1;
- if (-1 == _SLns_set_namespace_name (ns, "Global"))
- return -1;
- Global_NameSpace = ns;
-
- _SLRun_Stack = (SLang_Object_Type *) SLcalloc (SLANG_MAX_STACK_LEN,
- sizeof (SLang_Object_Type));
- if (_SLRun_Stack == NULL)
- return -1;
-
- _SLStack_Pointer = _SLRun_Stack;
- _SLStack_Pointer_Max = _SLRun_Stack + SLANG_MAX_STACK_LEN;
-
- SLShort_Blocks[0].bc_main_type = _SLANG_BC_RETURN;
- SLShort_Blocks[2].bc_main_type = _SLANG_BC_BREAK;
- SLShort_Blocks[4].bc_main_type = _SLANG_BC_CONTINUE;
-
- Num_Args_Stack = (int *) SLmalloc (sizeof (int) * SLANG_MAX_RECURSIVE_DEPTH);
- if (Num_Args_Stack == NULL)
- {
- SLfree ((char *) _SLRun_Stack);
- return -1;
- }
- Recursion_Depth = 0;
- Frame_Pointer_Stack = (unsigned int *) SLmalloc (sizeof (unsigned int) * SLANG_MAX_RECURSIVE_DEPTH);
- if (Frame_Pointer_Stack == NULL)
- {
- SLfree ((char *) _SLRun_Stack);
- SLfree ((char *)Num_Args_Stack);
- return -1;
- }
- Frame_Pointer_Depth = 0;
- Frame_Pointer = _SLRun_Stack;
-
- Default_Variable_Mode = compile_public_variable_mode;
- Default_Define_Function = define_public_function;
- return 0;
-}
-
-static int add_generic_table (SLang_NameSpace_Type *ns,
- SLang_Name_Type *table, char *pp_name,
- unsigned int entry_len)
-{
- SLang_Name_Type *t, **ns_table;
- char *name;
- unsigned int table_size;
-
- if (-1 == init_interpreter ())
- return -1;
-
- if (ns == NULL)
- ns = Global_NameSpace;
-
- ns_table = ns->table;
- table_size = ns->table_size;
-
- if ((pp_name != NULL)
- && (-1 == SLdefine_for_ifdef (pp_name)))
- return -1;
-
- t = table;
- while (NULL != (name = t->name))
- {
- unsigned long hash;
-
- /* Backward compatibility: '.' WAS used as hash marker */
- if (*name == '.')
- {
- name++;
- t->name = name;
- }
-
- if (NULL == (name = SLang_create_slstring (name)))
- return -1;
-
- t->name = name;
-
- hash = _SLcompute_string_hash (name);
- hash = hash % table_size;
-
- t->next = ns_table [(unsigned int) hash];
- ns_table [(unsigned int) hash] = t;
-
- t = (SLang_Name_Type *) ((char *)t + entry_len);
- }
-
- return 0;
-}
-
-int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
-}
-
-int SLadd_intrin_var_table (SLang_Intrin_Var_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
-}
-
-int SLadd_app_unary_table (SLang_App_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
-}
-
-int SLadd_math_unary_table (SLang_Math_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
-}
-
-int SLadd_iconstant_table (SLang_IConstant_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
-}
-
-#if SLANG_HAS_FLOAT
-int SLadd_dconstant_table (SLang_DConstant_Type *tbl, char *pp)
-{
- return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
-}
-#endif
-
-/* ----------- */
-int SLns_add_intrin_fun_table (SLang_NameSpace_Type *ns, SLang_Intrin_Fun_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
-}
-
-int SLns_add_intrin_var_table (SLang_NameSpace_Type *ns, SLang_Intrin_Var_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
-}
-
-int SLns_add_app_unary_table (SLang_NameSpace_Type *ns, SLang_App_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
-}
-
-int SLns_add_math_unary_table (SLang_NameSpace_Type *ns, SLang_Math_Unary_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
-}
-
-int SLns_add_iconstant_table (SLang_NameSpace_Type *ns, SLang_IConstant_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
-}
-
-#if SLANG_HAS_FLOAT
-int SLns_add_dconstant_table (SLang_NameSpace_Type *ns, SLang_DConstant_Type *tbl, char *pp)
-{
- return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
-}
-#endif
-
-/* what is a bitmapped value:
- * 1 intrin fun
- * 2 user fun
- * 4 intrin var
- * 8 user defined var
- */
-SLang_Array_Type *_SLang_apropos (char *namespace_name, char *pat, unsigned int what)
-{
- SLang_NameSpace_Type *ns;
-
- if (namespace_name == NULL)
- namespace_name = "Global";
-
- if (*namespace_name == 0)
- ns = This_Static_NameSpace;
- else ns = _SLns_find_namespace (namespace_name);
-
- return _SLnspace_apropos (ns, pat, what);
-}
-
-void _SLang_implements_intrinsic (char *name)
-{
- if (This_Static_NameSpace == NULL)
- {
- SLang_verror (SL_INTRINSIC_ERROR, "No namespace available");
- return;
- }
-
- (void) _SLns_set_namespace_name (This_Static_NameSpace, name);
-
- Default_Define_Function = define_static_function;
- Default_Variable_Mode = compile_static_variable_mode;
-}
-
-void _SLang_use_namespace_intrinsic (char *name)
-{
- SLang_NameSpace_Type *ns;
-
- if (NULL == (ns = _SLns_find_namespace (name)))
- {
- SLang_verror (SL_INTRINSIC_ERROR, "Namespace %s does not exist", name);
- return;
- }
- This_Static_NameSpace = ns;
- if (Global_NameSpace == ns)
- {
- Default_Define_Function = define_public_function;
- Default_Variable_Mode = compile_public_variable_mode;
- }
- else
- {
- Default_Define_Function = define_static_function;
- Default_Variable_Mode = compile_static_variable_mode;
- }
-}
-
-
-char *_SLang_cur_namespace_intrinsic (void)
-{
- if (This_Static_NameSpace == NULL)
- return "Global";
-
- if (This_Static_NameSpace->namespace_name == NULL)
- return "";
-
- return This_Static_NameSpace->namespace_name;
-}
diff --git a/mdk-stage1/slang/slang.h b/mdk-stage1/slang/slang.h
deleted file mode 100644
index 900b14043..000000000
--- a/mdk-stage1/slang/slang.h
+++ /dev/null
@@ -1,1930 +0,0 @@
-#ifndef DAVIS_SLANG_H_
-#define DAVIS_SLANG_H_
-/* -*- mode: C; mode: fold; -*- */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#define SLANG_VERSION 10404
-#define SLANG_VERSION_STRING "1.4.4"
-
-/*{{{ System Dependent Macros and Typedefs */
-
-#if defined(__WATCOMC__) && defined(DOS)
-# ifndef __MSDOS__
-# define __MSDOS__
-# endif
-# ifndef DOS386
-# define DOS386
-# endif
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif /* __watcomc__ */
-
-#if defined(unix) || defined(__unix)
-# ifndef __unix__
-# define __unix__ 1
-# endif
-#endif
-
-#if !defined(__GO32__)
-# ifdef __unix__
-# define REAL_UNIX_SYSTEM
-# endif
-#endif
-
-/* Set of the various defines for pc systems. This includes OS/2 */
-#ifdef __GO32__
-# ifndef __DJGPP__
-# define __DJGPP__ 1
-# endif
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#ifdef __BORLANDC__
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#ifdef __MSDOS__
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#if defined(OS2) || defined(__os2__)
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-# ifndef __os2__
-# define __os2__
-# endif
-#endif
-
-#if defined(__NT__) || defined(__MINGW32__) || defined(__CYGWIN32__)
-# ifndef IBMPC_SYSTEM
-# define IBMPC_SYSTEM
-# endif
-#endif
-
-#if defined(IBMPC_SYSTEM) || defined(VMS)
-# ifdef REAL_UNIX_SYSTEM
-# undef REAL_UNIX_SYSTEM
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if 0
-}
-#endif
-
-#include <stdio.h>
-#include <stdarg.h>
-#if defined(__STDC__) || defined(__BORLANDC__) || defined(__cplusplus)
-# include <stddef.h> /* for offsetof */
-#endif
-
-/* ---------------------------- Generic Macros ----------------------------- */
-
-/* __SC__ is defined for Symantec C++
- DOS386 is defined for -mx memory model, 32 bit DOS extender. */
-
-#if defined(__SC__) && !defined(DOS386)
-# include <dos.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <alloc.h>
-#endif
-
-#if defined (__cplusplus) || defined(__STDC__) || defined(IBMPC_SYSTEM)
- typedef void *VOID_STAR;
-#else
- typedef unsigned char *VOID_STAR;
-#endif
-
-typedef int (*FVOID_STAR)(void);
-
-#if defined(__MSDOS_) && defined(__BORLANDC__)
-# define SLFREE(buf) farfree((void far *)(buf))
-# define SLMALLOC(x) farmalloc((unsigned long) (x))
-# define SLREALLOC(buf, n) farrealloc((void far *) (buf), (unsigned long) (n))
-# define SLCALLOC(n, m) farcalloc((unsigned long) (n), (unsigned long) (m))
-#else
-# if defined(VMS) && !defined(__DECC)
-# define SLFREE VAXC$FREE_OPT
-# define SLMALLOC VAXC$MALLOC_OPT
-# define SLREALLOC VAXC$REALLOC_OPT
-# define SLCALLOC VAXC$CALLOC_OPT
-# else
-# define SLFREE(x) free((char *)(x))
-# define SLMALLOC malloc
-# define SLREALLOC realloc
-# define SLCALLOC calloc
-# endif
-#endif
-
- extern char *SLdebug_malloc (unsigned long);
- extern char *SLdebug_calloc (unsigned long, unsigned long);
- extern char *SLdebug_realloc (char *, unsigned long);
- extern void SLdebug_free (char *);
- extern void SLmalloc_dump_statistics (void);
- extern char *SLstrcpy(register char *, register char *);
- extern int SLstrcmp(register char *, register char *);
- extern char *SLstrncpy(char *, register char *, register int);
-
- extern void SLmemset (char *, char, int);
- extern char *SLmemchr (register char *, register char, register int);
- extern char *SLmemcpy (char *, char *, int);
- extern int SLmemcmp (char *, char *, int);
-
-/*}}}*/
-
-/*{{{ Interpreter Typedefs */
-
-typedef struct _SLang_Name_Type
-{
- char *name;
- struct _SLang_Name_Type *next;
- char name_type;
- /* These values must be less than 0x10 because they map directly
- * to byte codes. See _slang.h.
- */
-#define SLANG_LVARIABLE 0x01
-#define SLANG_GVARIABLE 0x02
-#define SLANG_IVARIABLE 0x03 /* intrinsic variables */
- /* Note!!! For Macro MAKE_VARIABLE below to work, SLANG_IVARIABLE Must
- be 1 less than SLANG_RVARIABLE!!! */
-#define SLANG_RVARIABLE 0x04 /* read only variable */
-#define SLANG_INTRINSIC 0x05
-#define SLANG_FUNCTION 0x06
-#define SLANG_MATH_UNARY 0x07
-#define SLANG_APP_UNARY 0x08
-#define SLANG_ICONSTANT 0x09
-#define SLANG_DCONSTANT 0x0A
-#define SLANG_PVARIABLE 0x0B /* private */
-#define SLANG_PFUNCTION 0x0C /* private */
-
- /* Rest of fields depend on name type */
-}
-SLang_Name_Type;
-
-typedef struct
-{
- char *name;
- struct _SLang_Name_Type *next; /* this is for the hash table */
- char name_type;
-
- FVOID_STAR i_fun; /* address of object */
-
- /* Do not change this without modifying slang.c:execute_intrinsic_fun */
-#define SLANG_MAX_INTRIN_ARGS 7
- unsigned char arg_types [SLANG_MAX_INTRIN_ARGS];
- unsigned char num_args;
- unsigned char return_type;
-}
-SLang_Intrin_Fun_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- VOID_STAR addr;
- unsigned char type;
-}
-SLang_Intrin_Var_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int unary_op;
-}
-SLang_App_Unary_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
-
- int unary_op;
-}
-SLang_Math_Unary_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
- int i;
-}
-SLang_IConstant_Type;
-
-typedef struct
-{
- char *name;
- SLang_Name_Type *next;
- char name_type;
- double d;
-}
-SLang_DConstant_Type;
-
-typedef struct
-{
- char *field_name;
- unsigned int offset;
- unsigned char type;
- unsigned char read_only;
-}
-SLang_IStruct_Field_Type;
-
-extern int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *);
-extern int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *);
-extern int SLadd_app_unary_table (SLang_App_Unary_Type *, char *);
-extern int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *);
-extern int SLadd_iconstant_table (SLang_IConstant_Type *, char *);
-extern int SLadd_dconstant_table (SLang_DConstant_Type *, char *);
-extern int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, char *);
-
-typedef struct _SLang_NameSpace_Type SLang_NameSpace_Type;
-
-extern int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intrin_Fun_Type *, char *);
-extern int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intrin_Var_Type *, char *);
-extern int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_Unary_Type *, char *);
-extern int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math_Unary_Type *, char *);
-extern int SLns_add_iconstant_table (SLang_NameSpace_Type *, SLang_IConstant_Type *, char *);
-extern int SLns_add_dconstant_table (SLang_NameSpace_Type *, SLang_DConstant_Type *, char *);
-extern int SLns_add_istruct_table (SLang_NameSpace_Type *, SLang_IStruct_Field_Type *, VOID_STAR, char *);
-
-extern SLang_NameSpace_Type *SLns_create_namespace (char *);
-extern void SLns_delete_namespace (SLang_NameSpace_Type *);
-
-typedef struct SLang_Load_Type
-{
- int type;
-
- VOID_STAR client_data;
- /* Pointer to data that client needs for loading */
-
- int auto_declare_globals;
- /* if non-zero, undefined global variables are declared as static */
-
- char *(*read)(struct SLang_Load_Type *);
- /* function to call to read next line from obj. */
-
- unsigned int line_num;
- /* Number of lines read, used for error reporting */
-
- int parse_level;
- /* 0 if at top level of parsing */
-
- char *name;
- /* Name of this object, e.g., filename. This name should be unique because
- * it alone determines the name space for static objects associated with
- * the compilable unit.
- */
-
- unsigned long reserved[4];
- /* For future expansion */
-} SLang_Load_Type;
-
-extern SLang_Load_Type *SLallocate_load_type (char *);
-extern void SLdeallocate_load_type (SLang_Load_Type *);
-
-/* Returns SLang_Error upon failure */
-extern int SLang_load_object (SLang_Load_Type *);
-extern int (*SLang_Load_File_Hook)(char *);
-extern int (*SLang_Auto_Declare_Var_Hook) (char *);
-
-extern int SLang_generate_debug_info (int);
-
-
-#if defined(ultrix) && !defined(__GNUC__)
-# ifndef NO_PROTOTYPES
-# define NO_PROTOTYPES
-# endif
-#endif
-
-#ifndef NO_PROTOTYPES
-# define _PROTO(x) x
-#else
-# define _PROTO(x) ()
-#endif
-
-typedef struct SL_OOBinary_Type
-{
- unsigned char data_type; /* partner type for binary op */
-
- int (*binary_function)_PROTO((int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR));
-
- int (*binary_result) _PROTO((int, unsigned char, unsigned char, unsigned char *));
- struct SL_OOBinary_Type *next;
-}
-SL_OOBinary_Type;
-
-typedef struct _SL_Typecast_Type
-{
- unsigned char data_type; /* to_type */
- int allow_implicit;
-
- int (*typecast)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR));
- struct _SL_Typecast_Type *next;
-}
-SL_Typecast_Type;
-
-typedef struct _SLang_Struct_Type SLang_Struct_Type;
-
-#if defined(SL_APP_WANTS_FOREACH)
-/* It is up to the application to define struct _SLang_Foreach_Context_Type */
-typedef struct _SLang_Foreach_Context_Type SLang_Foreach_Context_Type;
-#else
-typedef int SLang_Foreach_Context_Type;
-#endif
-
-typedef struct
-{
- unsigned char cl_class_type;
-#define SLANG_CLASS_TYPE_MMT 0
-#define SLANG_CLASS_TYPE_SCALAR 1
-#define SLANG_CLASS_TYPE_VECTOR 2
-#define SLANG_CLASS_TYPE_PTR 3
-
- unsigned int cl_data_type; /* SLANG_INTEGER_TYPE, etc... */
- char *cl_name; /* slstring type */
-
- unsigned int cl_sizeof_type;
- VOID_STAR cl_transfer_buf; /* cl_sizeof_type bytes*/
-
- /* Methods */
-
- /* Most of the method functions are prototyped:
- * int method (unsigned char type, VOID_STAR addr);
- * Here, @type@ represents the type of object that the method is asked
- * to deal with. The second parameter @addr@ will contain the ADDRESS of
- * the object. For example, if type is SLANG_INT_TYPE, then @addr@ will
- * actually be int *. Similary, if type is SLANG_STRING_TYPE,
- * then @addr@ will contain the address of the string, i.e., char **.
- */
-
- void (*cl_destroy)_PROTO((unsigned char, VOID_STAR));
- /* Prototype: void destroy(unsigned type, VOID_STAR val)
- * Called to delete/free the object */
-
- char *(*cl_string)_PROTO((unsigned char, VOID_STAR));
- /* Prototype: char *to_string (unsigned char t, VOID_STAR p);
- * Here p is a pointer to the object for which a string representation
- * is to be returned. The returned pointer is to be a MALLOCED string.
- */
-
- /* Prototype: void push(unsigned char type, VOID_STAR v);
- * Push a copy of the object of type @type@ at address @v@ onto the
- * stack.
- */
- int (*cl_push)_PROTO((unsigned char, VOID_STAR));
-
- /* Prototype: int pop(unsigned char type, VOID_STAR v);
- * Pops value from stack and assign it to object, whose address is @v@.
- */
- int (*cl_pop)_PROTO((unsigned char, VOID_STAR));
-
- int (*cl_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
- int (*cl_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
-
- int (*cl_app_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
- int (*cl_app_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
-
- /* If this function is non-NULL, it will be called for sin, cos, etc... */
-#define SLMATH_SIN 1
-#define SLMATH_COS 2
-#define SLMATH_TAN 3
-#define SLMATH_ATAN 4
-#define SLMATH_ASIN 5
-#define SLMATH_ACOS 6
-#define SLMATH_EXP 7
-#define SLMATH_LOG 8
-#define SLMATH_SQRT 9
-#define SLMATH_LOG10 10
-#define SLMATH_REAL 11
-#define SLMATH_IMAG 12
-#define SLMATH_SINH 13
-#define SLMATH_COSH 14
-#define SLMATH_TANH 15
-#define SLMATH_ATANH 16
-#define SLMATH_ASINH 17
-#define SLMATH_ACOSH 18
-#define SLMATH_TODOUBLE 19
-#define SLMATH_CONJ 20
-
- int (*cl_math_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
- int (*cl_math_op_result_type)_PROTO((int, unsigned char, unsigned char *));
-
- SL_OOBinary_Type *cl_binary_ops;
- SL_Typecast_Type *cl_typecast_funs;
-
- void (*cl_byte_code_destroy)_PROTO((unsigned char, VOID_STAR));
- void (*cl_user_destroy_fun)_PROTO((unsigned char, VOID_STAR));
- int (*cl_init_array_object)_PROTO((unsigned char, VOID_STAR));
- int (*cl_datatype_deref)_PROTO((unsigned char));
- SLang_Struct_Type *cl_struct_def;
- int (*cl_dereference) _PROTO((unsigned char, VOID_STAR));
- int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
- int (*cl_apop) _PROTO((unsigned char, VOID_STAR));
- int (*cl_apush) _PROTO((unsigned char, VOID_STAR));
- int (*cl_push_literal) _PROTO((unsigned char, VOID_STAR));
- void (*cl_adestroy)_PROTO((unsigned char, VOID_STAR));
- int (*cl_push_intrinsic)_PROTO((unsigned char, VOID_STAR));
- int (*cl_void_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
-
- int (*cl_anytype_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
-
- /* Array access functions */
- int (*cl_aput) (unsigned char, unsigned int);
- int (*cl_aget) (unsigned char, unsigned int);
- int (*cl_anew) (unsigned char, unsigned int);
-
- /* length method */
- int (*cl_length) (unsigned char, VOID_STAR, unsigned int *);
-
- /* foreach */
- SLang_Foreach_Context_Type *(*cl_foreach_open) (unsigned char, unsigned int);
- void (*cl_foreach_close) (unsigned char, SLang_Foreach_Context_Type *);
- int (*cl_foreach) (unsigned char, SLang_Foreach_Context_Type *);
-
- /* Structure access: get and put (assign to) fields */
- int (*cl_sput) (unsigned char, char *);
- int (*cl_sget) (unsigned char, char *);
-
- /* File I/O */
- int (*cl_fread) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fwrite) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fdread) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
- int (*cl_fdwrite) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
-
- int (*cl_to_bool) (unsigned char, int *);
-
- int (*cl_cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
-
-} SLang_Class_Type;
-
-/* These are the low-level functions for building push/pop methods. They
- * know nothing about memory management. For SLANG_CLASS_TYPE_MMT, use the
- * MMT push/pop functions instead.
- */
-extern int SLclass_push_double_obj (unsigned char, double);
-extern int SLclass_push_float_obj (unsigned char, float);
-extern int SLclass_push_long_obj (unsigned char, long);
-extern int SLclass_push_int_obj (unsigned char, int);
-extern int SLclass_push_short_obj (unsigned char, short);
-extern int SLclass_push_char_obj (unsigned char, char);
-extern int SLclass_push_ptr_obj (unsigned char, VOID_STAR);
-extern int SLclass_pop_double_obj (unsigned char, double *);
-extern int SLclass_pop_float_obj (unsigned char, float *);
-extern int SLclass_pop_long_obj (unsigned char, long *);
-extern int SLclass_pop_int_obj (unsigned char, int *);
-extern int SLclass_pop_short_obj (unsigned char, short *);
-extern int SLclass_pop_char_obj (unsigned char, char *);
-extern int SLclass_pop_ptr_obj (unsigned char, VOID_STAR *);
-
-extern SLang_Class_Type *SLclass_allocate_class (char *);
-extern int SLclass_get_class_id (SLang_Class_Type *cl);
-extern int SLclass_create_synonym (char *, unsigned char);
-extern int SLclass_is_class_defined (unsigned char);
-
-extern int SLclass_register_class (SLang_Class_Type *, unsigned char, unsigned int, unsigned char);
-extern int SLclass_set_string_function (SLang_Class_Type *, char *(*)(unsigned char, VOID_STAR));
-extern int SLclass_set_destroy_function (SLang_Class_Type *, void (*)(unsigned char, VOID_STAR));
-extern int SLclass_set_push_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
-extern int SLclass_set_pop_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
-
-extern int SLclass_set_aget_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-extern int SLclass_set_aput_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-extern int SLclass_set_anew_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
-
-extern int SLclass_set_sget_function (SLang_Class_Type *, int (*)(unsigned char, char *));
-extern int SLclass_set_sput_function (SLang_Class_Type *, int (*)(unsigned char, char *));
-
-/* Typecast object on the stack to type p1. p2 and p3 should be set to 1 */
-extern int SLclass_typecast (unsigned char, int, int);
-
-extern int SLclass_add_unary_op (unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_app_unary_op (unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_binary_op (unsigned char, unsigned char,
- int (*) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*) (int, unsigned char, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_math_op (unsigned char,
- int (*)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*)(int, unsigned char, unsigned char *));
-
-extern int
-SLclass_add_typecast (unsigned char /* from */, unsigned char /* to */,
- int (*)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)),
- int /* allow implicit typecasts */
- );
-
-extern char *SLclass_get_datatype_name (unsigned char);
-
-extern double SLcomplex_abs (double *);
-extern double *SLcomplex_times (double *, double *, double *);
-extern double *SLcomplex_divide (double *, double *, double *);
-extern double *SLcomplex_sin (double *, double *);
-extern double *SLcomplex_cos (double *, double *);
-extern double *SLcomplex_tan (double *, double *);
-extern double *SLcomplex_asin (double *, double *);
-extern double *SLcomplex_acos (double *, double *);
-extern double *SLcomplex_atan (double *, double *);
-extern double *SLcomplex_exp (double *, double *);
-extern double *SLcomplex_log (double *, double *);
-extern double *SLcomplex_log10 (double *, double *);
-extern double *SLcomplex_sqrt (double *, double *);
-extern double *SLcomplex_sinh (double *, double *);
-extern double *SLcomplex_cosh (double *, double *);
-extern double *SLcomplex_tanh (double *, double *);
-extern double *SLcomplex_pow (double *, double *, double *);
-extern double SLmath_hypot (double x, double y);
-
-/* Not implemented yet */
-extern double *SLcomplex_asinh (double *, double *);
-extern double *SLcomplex_acosh (double *, double *);
-extern double *SLcomplex_atanh (double *, double *);
-
-#ifdef _SLANG_SOURCE_
-typedef struct _SLang_MMT_Type SLang_MMT_Type;
-#else
-typedef int SLang_MMT_Type;
-#endif
-
-extern void SLang_free_mmt (SLang_MMT_Type *);
-extern VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *);
-extern SLang_MMT_Type *SLang_create_mmt (unsigned char, VOID_STAR);
-extern int SLang_push_mmt (SLang_MMT_Type *);
-extern SLang_MMT_Type *SLang_pop_mmt (unsigned char);
-extern void SLang_inc_mmt (SLang_MMT_Type *);
-
-/* Maximum number of dimensions of an array. */
-#define SLARRAY_MAX_DIMS 7
-typedef struct _SLang_Array_Type
-{
- unsigned char data_type;
- unsigned int sizeof_type;
- VOID_STAR data;
- unsigned int num_elements;
- unsigned int num_dims;
- int dims [SLARRAY_MAX_DIMS];
- VOID_STAR (*index_fun)_PROTO((struct _SLang_Array_Type *, int *));
- /* This function is designed to allow a type to store an array in
- * any manner it chooses. This function returns the address of the data
- * value at the specified index location.
- */
- unsigned int flags;
-#define SLARR_DATA_VALUE_IS_READ_ONLY 1
-#define SLARR_DATA_VALUE_IS_POINTER 2
-#define SLARR_DATA_VALUE_IS_RANGE 4
-#define SLARR_DATA_VALUE_IS_INTRINSIC 8
- SLang_Class_Type *cl;
- unsigned int num_refs;
-}
-SLang_Array_Type;
-
-extern int SLang_pop_array_of_type (SLang_Array_Type **, unsigned char);
-extern int SLang_pop_array (SLang_Array_Type **, int);
-extern int SLang_push_array (SLang_Array_Type *, int);
-extern void SLang_free_array (SLang_Array_Type *);
-extern SLang_Array_Type *SLang_create_array (unsigned char, int, VOID_STAR, int *, unsigned int);
-extern SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *);
-extern int SLang_get_array_element (SLang_Array_Type *, int *, VOID_STAR);
-extern int SLang_set_array_element (SLang_Array_Type *, int *, VOID_STAR);
-
-
-/*}}}*/
-
-/*{{{ Interpreter Function Prototypes */
-
- extern volatile int SLang_Error;
-/* Non zero if error occurs. Must be reset to zero to continue. */
-/* error codes, severe errors are less than 0 */
-#define SL_APPLICATION_ERROR -2
-#define SL_VARIABLE_UNINITIALIZED -3
-#define SL_INTERNAL_ERROR -5
-#define SL_STACK_OVERFLOW -6
-#define SL_STACK_UNDERFLOW -7
-#define SL_UNDEFINED_NAME -8
-#define SL_SYNTAX_ERROR -9
-#define SL_DUPLICATE_DEFINITION -10
-#define SL_TYPE_MISMATCH -11
-#define SL_OBJ_UNKNOWN -13
-#define SL_UNKNOWN_ERROR -14
-#define SL_TYPE_UNDEFINED_OP_ERROR -16
-
-#define SL_INTRINSIC_ERROR 1
-/* Intrinsic error is an error generated by intrinsic functions */
-#define SL_USER_BREAK 2
-#define SL_DIVIDE_ERROR 3
-#define SL_OBJ_NOPEN 4
-#define SL_USER_ERROR 5
-#define SL_USAGE_ERROR 6
-#define SL_READONLY_ERROR 7
-#define SL_INVALID_PARM 8
-#define SL_NOT_IMPLEMENTED 9
-#define SL_MALLOC_ERROR 10
-#define SL_OVERFLOW 11
-#define SL_FLOATING_EXCEPTION 12
-
-/* Compatibility */
-#define USER_BREAK SL_USER_BREAK
-#define INTRINSIC_ERROR SL_INTRINSIC_ERROR
-
- extern int SLang_Traceback;
- /* If non-zero, dump an S-Lang traceback upon error. Available as
- _traceback in S-Lang. */
-
- extern char *SLang_User_Prompt;
- /* Prompt to use when reading from stdin */
- extern int SLang_Version;
- extern char *SLang_Version_String;
-extern char *SLang_Doc_Dir;
-
-extern void (*SLang_VMessage_Hook) (char *, va_list);
-extern void SLang_vmessage (char *, ...);
-
- extern void (*SLang_Error_Hook)(char *);
- /* Pointer to application dependent error messaging routine. By default,
- messages are displayed on stderr. */
-
- extern void (*SLang_Exit_Error_Hook)(char *, va_list);
- extern void SLang_exit_error (char *, ...);
- extern void (*SLang_Dump_Routine)(char *);
- /* Called if S-Lang traceback is enabled as well as other debugging
- routines (e.g., trace). By default, these messages go to stderr. */
-
- extern void (*SLang_Interrupt)(void);
- /* function to call whenever inner interpreter is entered. This is
- a good place to set SLang_Error to USER_BREAK. */
-
- extern void (*SLang_User_Clear_Error)(void);
- /* function that gets called when '_clear_error' is called. */
-
- /* If non null, these call C functions before and after a slang function. */
- extern void (*SLang_Enter_Function)(char *);
-extern void (*SLang_Exit_Function)(char *);
-
-extern int SLang_Num_Function_Args;
-
-/* Functions: */
-
-extern int SLang_init_all (void);
-/* Initializes interpreter and all modules */
-
-extern int SLang_init_slang (void);
-/* This function is mandatory and must be called by all applications that
- * use the interpreter
- */
-extern int SLang_init_posix_process (void); /* process specific intrinsics */
-extern int SLang_init_stdio (void); /* fgets, etc. stdio functions */
-extern int SLang_init_posix_dir (void);
-extern int SLang_init_ospath (void);
-
-extern int SLang_init_slmath (void);
-/* called if math functions sin, cos, etc... are needed. */
-
- extern int SLang_init_slfile (void);
- extern int SLang_init_slunix (void);
- /* These functions are obsolte. Use init_stdio, posix_process, etc. */
-
-extern int SLang_init_slassoc (void);
-/* Assoc Arrays (Hashes) */
-
-extern int SLang_init_array (void);
-/* Additional arrays functions: transpose, etc... */
-
-/* Dynamic linking facility */
-extern int SLang_init_import (void);
-
- extern int SLang_load_file (char *);
- /* Load a file of S-Lang code for interpreting. If the parameter is
- * NULL, input comes from stdin. */
-
- extern void SLang_restart(int);
- /* should be called if an error occurs. If the passed integer is
- * non-zero, items are popped off the stack; otherwise, the stack is
- * left intact. Any time the stack is believed to be trashed, this routine
- * should be called with a non-zero argument (e.g., if setjmp/longjmp is
- * called). */
-
- extern int SLang_byte_compile_file(char *, int);
- /* takes a file of S-Lang code and ``byte-compiles'' it for faster
- * loading. The new filename is equivalent to the old except that a `c' is
- * appended to the name. (e.g., init.sl --> init.slc). The second
- * specified the method; currently, it is not used.
- */
-
- extern int SLang_autoload(char *, char *);
- /* Automatically load S-Lang function p1 from file p2. This function
- is also available via S-Lang */
-
- extern int SLang_load_string(char *);
- /* Like SLang_load_file except input is from a null terminated string. */
-
- extern int SLdo_pop(void);
- /* pops item off stack and frees any memory associated with it */
- extern int SLdo_pop_n(unsigned int);
- /* pops n items off stack and frees any memory associated with them */
-
-extern int SLang_pop_integer(int *);
-extern int SLang_pop_uinteger(unsigned int *);
- /* pops integer *p0 from the stack. Returns 0 upon success and non-zero
- * if the stack is empty or a type mismatch occurs, setting SLang_Error.
- */
-extern int SLang_pop_char (char *);
-extern int SLang_pop_uchar (unsigned char *);
-extern int SLang_pop_short(short *);
-extern int SLang_pop_ushort(unsigned short *);
-extern int SLang_pop_long(long *);
-extern int SLang_pop_ulong(unsigned long *);
-
-extern int SLang_pop_float(float *);
-extern int SLang_pop_double(double *, int *, int *);
- /* Pops double *p1 from stack. If *p3 is non-zero, *p1 was derived
- from the integer *p2. Returns zero upon success. */
-
- extern int SLang_pop_complex (double *, double *);
-
- extern int SLpop_string (char **);
- extern int SLang_pop_string(char **, int *);
- /* pops string *p0 from stack. If *p1 is non-zero, the string must be
- * freed after its use. DO NOT FREE p0 if *p1 IS ZERO! Returns 0 upon
- * success */
-
- extern int SLang_push_complex (double, double);
-
- extern int SLang_push_char (char);
- extern int SLang_push_uchar (unsigned char);
-
- extern int SLang_push_integer(int);
- extern int SLang_push_uinteger(unsigned int);
- /* push integer p1 on stack */
-
- extern int SLang_push_short(short);
- extern int SLang_push_ushort(unsigned short);
- extern int SLang_push_long(long);
- extern int SLang_push_ulong(unsigned long);
- extern int SLang_push_float(float);
- extern int SLang_push_double(double);
- /* Push double onto stack */
-
- extern int SLang_push_string(char *);
- /* Push string p1 onto stack */
-
- extern int SLang_push_malloced_string(char *);
- /* The normal SLang_push_string pushes an slstring. This one converts
- * a normally malloced string to an slstring, and then frees the
- * malloced string. So, do NOT use the malloced string after calling
- * this routine because it will be freed! The routine returns -1 upon
- * error, but the string will be freed.
- */
-
-extern int SLang_push_null (void);
-extern int SLang_pop_null (void);
-
-extern int SLang_push_value (unsigned char type, VOID_STAR);
-extern int SLang_pop_value (unsigned char type, VOID_STAR);
-extern void SLang_free_value (unsigned char type, VOID_STAR);
-
-typedef struct _SLang_Object_Type SLang_Any_Type;
-
-extern int SLang_pop_anytype (SLang_Any_Type **);
-extern int SLang_push_anytype (SLang_Any_Type *);
-extern void SLang_free_anytype (SLang_Any_Type *);
-
-#ifdef _SLANG_SOURCE_
-typedef struct _SLang_Ref_Type SLang_Ref_Type;
-#else
-typedef int SLang_Ref_Type;
-#endif
-
-extern int SLang_pop_ref (SLang_Ref_Type **);
-extern void SLang_free_ref (SLang_Ref_Type *);
-extern int SLang_assign_to_ref (SLang_Ref_Type *, unsigned char, VOID_STAR);
-extern SLang_Name_Type *SLang_pop_function (void);
-extern SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *);
-extern void SLang_free_function (SLang_Name_Type *f);
-
- extern int SLang_is_defined(char *);
- /* Return non-zero is p1 is defined otherwise returns 0. */
-
- extern int SLang_run_hooks(char *, unsigned int, ...);
- /* calls S-Lang function p1 pushing p2 strings in the variable argument
- * list onto the stack first.
- * Returns -1 upon error, 1 if hooks exists and it ran,
- * or 0 if hook does not exist. Thus it returns non-zero is hook was called.
- */
-
-/* These functions return 1 if the indicated function exists and the function
- * runs without error. If the function does not exist, the function returns
- * 0. Otherwise -1 is returned with SLang_Error set appropriately.
- */
-extern int SLexecute_function (SLang_Name_Type *);
-extern int SLang_execute_function(char *);
-
-
-extern int SLang_end_arg_list (void);
-extern int SLang_start_arg_list (void);
-
-extern void SLang_verror (int, char *, ...);
-
-extern void SLang_doerror(char *);
- /* set SLang_Error and display p1 as error message */
-
-extern int SLang_add_intrinsic_array (char *, /* name */
- unsigned char, /* type */
- int, /* readonly */
- VOID_STAR, /* data */
- unsigned int, ...); /* num dims */
-
-extern int SLextract_list_element (char *, unsigned int, char,
- char *, unsigned int);
-
-extern void SLexpand_escaped_string (register char *, register char *,
- register char *);
-
-extern SLang_Name_Type *SLang_get_function (char *);
-extern void SLang_release_function (SLang_Name_Type *);
-
-extern int SLreverse_stack (int);
-extern int SLroll_stack (int);
-/* If argument p is positive, the top p objects on the stack are rolled
- * up. If negative, the stack is rolled down.
- */
-extern int SLdup_n (int n);
-/* Duplicate top n elements of stack */
-
-extern int SLang_peek_at_stack1 (void);
-extern int SLang_peek_at_stack (void);
-/* Returns type of next object on stack-- -1 upon stack underflow. */
-extern void SLmake_lut (unsigned char *, unsigned char *, unsigned char);
-
- extern int SLang_guess_type (char *);
-
-extern int SLstruct_create_struct (unsigned int,
- char **,
- unsigned char *,
- VOID_STAR *);
-
-/*}}}*/
-
-/*{{{ Misc Functions */
-
-/* This is an interface to atexit */
-extern int SLang_add_cleanup_function (void (*)(void));
-
-extern char *SLmake_string (char *);
-extern char *SLmake_nstring (char *, unsigned int);
-/* Returns a null terminated string made from the first n characters of the
- * string.
- */
-
-/* The string created by this routine must be freed by SLang_free_slstring
- * and nothing else!! Also these strings must not be modified. Use
- * SLmake_string if you intend to modify them!!
- */
-extern char *SLang_create_nslstring (char *, unsigned int);
-extern char *SLang_create_slstring (char *);
-extern void SLang_free_slstring (char *); /* handles NULL */
-extern int SLang_pop_slstring (char **); /* free with SLang_free_slstring */
-extern char *SLang_concat_slstrings (char *a, char *b);
-extern char *SLang_create_static_slstring (char *); /* adds a string that will not get deleted */
-extern void SLstring_dump_stats (void);
-
-/* Binary strings */
-/* The binary string is an opaque type. Use the SLbstring_get_pointer function
- * to get a pointer and length.
- */
-typedef struct _SLang_BString_Type SLang_BString_Type;
-extern unsigned char *SLbstring_get_pointer (SLang_BString_Type *, unsigned int *);
-
-extern SLang_BString_Type *SLbstring_dup (SLang_BString_Type *);
-extern SLang_BString_Type *SLbstring_create (unsigned char *, unsigned int);
-
-/* The create_malloced function used the first argument which is assumed
- * to be a pointer to a len + 1 malloced string. The extra byte is for
- * \0 termination.
- */
-extern SLang_BString_Type *SLbstring_create_malloced (unsigned char *, unsigned int, int);
-
-/* Create a bstring from an slstring */
-extern SLang_BString_Type *SLbstring_create_slstring (char *);
-
-extern void SLbstring_free (SLang_BString_Type *);
-extern int SLang_pop_bstring (SLang_BString_Type **);
-extern int SLang_push_bstring (SLang_BString_Type *);
-
-extern char *SLmalloc (unsigned int);
-extern char *SLcalloc (unsigned int, unsigned int);
-extern void SLfree(char *); /* This function handles NULL */
-extern char *SLrealloc (char *, unsigned int);
-
-extern char *SLcurrent_time_string (void);
-
-extern int SLatoi(unsigned char *);
-extern long SLatol (unsigned char *);
-extern unsigned long SLatoul (unsigned char *);
-
-extern int SLang_pop_fileptr (SLang_MMT_Type **, FILE **);
-extern char *SLang_get_name_from_fileptr (SLang_MMT_Type *);
-
-typedef struct _SLFile_FD_Type SLFile_FD_Type;
-extern SLFile_FD_Type *SLfile_create_fd (char *, int);
-extern void SLfile_free_fd (SLFile_FD_Type *);
-extern int SLfile_push_fd (SLFile_FD_Type *);
-extern int SLfile_pop_fd (SLFile_FD_Type **);
-extern int SLfile_get_fd (SLFile_FD_Type *, int *);
-extern SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0);
-extern int SLang_init_posix_io (void);
-
-typedef double (*SLang_To_Double_Fun_Type)(VOID_STAR);
-extern SLang_To_Double_Fun_Type SLarith_get_to_double_fun (unsigned char, unsigned int *);
-
-extern int SLang_set_argc_argv (int, char **);
-
-/*}}}*/
-
-/*{{{ SLang getkey interface Functions */
-
-#ifdef REAL_UNIX_SYSTEM
-extern int SLang_TT_Baud_Rate;
-extern int SLang_TT_Read_FD;
-#endif
-
-extern int SLang_init_tty (int, int, int);
-/* Initializes the tty for single character input. If the first parameter *p1
- * is in the range 0-255, it will be used for the abort character;
- * otherwise, (unix only) if it is -1, the abort character will be the one
- * used by the terminal. If the second parameter p2 is non-zero, flow
- * control is enabled. If the last parmeter p3 is zero, output processing
- * is NOT turned on. A value of zero is required for the screen management
- * routines. Returns 0 upon success. In addition, if SLang_TT_Baud_Rate ==
- * 0 when this function is called, SLang will attempt to determine the
- * terminals baud rate. As far as the SLang library is concerned, if
- * SLang_TT_Baud_Rate is less than or equal to zero, the baud rate is
- * effectively infinite.
- */
-
-extern void SLang_reset_tty (void);
-/* Resets tty to what it was prior to a call to SLang_init_tty */
-#ifdef REAL_UNIX_SYSTEM
-extern void SLtty_set_suspend_state (int);
- /* If non-zero argument, terminal driver will be told to react to the
- * suspend character. If 0, it will not.
- */
-extern int (*SLang_getkey_intr_hook) (void);
-#endif
-
-#define SLANG_GETKEY_ERROR 0xFFFF
-extern unsigned int SLang_getkey (void);
-/* reads a single key from the tty. If the read fails, 0xFFFF is returned. */
-
-#ifdef IBMPC_SYSTEM
-extern int SLgetkey_map_to_ansi (int);
-#endif
-
-extern int SLang_ungetkey_string (unsigned char *, unsigned int);
-extern int SLang_buffer_keystring (unsigned char *, unsigned int);
-extern int SLang_ungetkey (unsigned char);
-extern void SLang_flush_input (void);
-extern int SLang_input_pending (int);
-extern int SLang_Abort_Char;
-/* The value of the character (0-255) used to trigger SIGINT */
-extern int SLang_Ignore_User_Abort;
-/* If non-zero, pressing the abort character will not result in USER_BREAK
- * SLang_Error. */
-
-extern int SLang_set_abort_signal (void (*)(int));
-/* If SIGINT is generated, the function p1 will be called. If p1 is NULL
- * the SLang_default signal handler is called. This sets SLang_Error to
- * USER_BREAK. I suspect most users will simply want to pass NULL.
- */
-extern unsigned int SLang_Input_Buffer_Len;
-
-extern volatile int SLKeyBoard_Quit;
-
-#ifdef VMS
-/* If this function returns -1, ^Y will be added to input buffer. */
-extern int (*SLtty_VMS_Ctrl_Y_Hook) (void);
-#endif
-/*}}}*/
-
-/*{{{ SLang Keymap routines */
-
-typedef struct SLKeymap_Function_Type
-{
- char *name;
- int (*f)(void);
-}
-SLKeymap_Function_Type;
-
-#define SLANG_MAX_KEYMAP_KEY_SEQ 14
-typedef struct SLang_Key_Type
-{
- struct SLang_Key_Type *next;
- union
- {
- char *s;
- FVOID_STAR f;
- unsigned int keysym;
- }
- f;
- unsigned char type; /* type of function */
-#define SLKEY_F_INTERPRET 0x01
-#define SLKEY_F_INTRINSIC 0x02
-#define SLKEY_F_KEYSYM 0x03
- unsigned char str[SLANG_MAX_KEYMAP_KEY_SEQ + 1];/* key sequence */
-}
-SLang_Key_Type;
-
-typedef struct SLKeyMap_List_Type
-{
- char *name; /* hashed string */
- SLang_Key_Type *keymap;
- SLKeymap_Function_Type *functions; /* intrinsic functions */
-}
-SLKeyMap_List_Type;
-
-/* This is arbitrary but I have got to start somewhere */
-#define SLANG_MAX_KEYMAPS 30
-extern SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
-
-extern char *SLang_process_keystring(char *);
-
-extern int SLkm_define_key (char *, FVOID_STAR, SLKeyMap_List_Type *);
-
-extern int SLang_define_key(char *, char *, SLKeyMap_List_Type *);
-/* Like define_key1 except that p2 is a string that is to be associated with
- * a function in the functions field of p3. This routine calls define_key1.
- */
-
-extern int SLkm_define_keysym (char *, unsigned int, SLKeyMap_List_Type *);
-
-extern void SLang_undefine_key(char *, SLKeyMap_List_Type *);
-
-extern SLKeyMap_List_Type *SLang_create_keymap(char *, SLKeyMap_List_Type *);
-/* create and returns a pointer to a new keymap named p1 created by copying
- * keymap p2. If p2 is NULL, it is up to the calling routine to initialize
- * the keymap.
- */
-
-extern char *SLang_make_keystring(unsigned char *);
-
-extern SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *, int (*)(void));
-/* read a key using keymap p1 with getkey function p2 */
-
-extern
- FVOID_STAR
- SLang_find_key_function(char *, SLKeyMap_List_Type *);
-
-extern SLKeyMap_List_Type *SLang_find_keymap(char *);
-
-extern int SLang_Last_Key_Char;
-extern int SLang_Key_TimeOut_Flag;
-
-/*}}}*/
-
-/*{{{ SLang Readline Interface */
-
-typedef struct SLang_Read_Line_Type
-{
- struct SLang_Read_Line_Type *prev, *next;
- unsigned char *buf;
- int buf_len; /* number of chars in the buffer */
- int num; /* num and misc are application specific*/
- int misc;
-} SLang_Read_Line_Type;
-
-/* Maximum size of display */
-#define SLRL_DISPLAY_BUFFER_SIZE 256
-
-typedef struct
-{
- SLang_Read_Line_Type *root, *tail, *last;
- unsigned char *buf; /* edit buffer */
- int buf_len; /* sizeof buffer */
- int point; /* current editing point */
- int tab; /* tab width */
- int len; /* current line size */
-
- /* display variables */
- int edit_width; /* length of display field */
- int curs_pos; /* current column */
- int start_column; /* column offset of display */
- int dhscroll; /* amount to use for horiz scroll */
- char *prompt;
-
- FVOID_STAR last_fun; /* last function executed by rl */
-
- /* These two contain an image of what is on the display */
- unsigned char upd_buf1[SLRL_DISPLAY_BUFFER_SIZE];
- unsigned char upd_buf2[SLRL_DISPLAY_BUFFER_SIZE];
- unsigned char *old_upd, *new_upd; /* pointers to previous two buffers */
- int new_upd_len, old_upd_len; /* length of output buffers */
-
- SLKeyMap_List_Type *keymap;
-
- /* tty variables */
- unsigned int flags; /* */
-#define SL_RLINE_NO_ECHO 1
-#define SL_RLINE_USE_ANSI 2
-#define SL_RLINE_BLINK_MATCH 4
- unsigned int (*getkey)(void); /* getkey function -- required */
- void (*tt_goto_column)(int);
- void (*tt_insert)(char);
- void (*update_hook)(unsigned char *, int, int);
- /* The update hook is called with a pointer to a buffer p1 that contains
- * an image of what the update hook is suppoed to produce. The length
- * of the buffer is p2 and after the update, the cursor is to be placed
- * in column p3.
- */
- /* This function is only called when blinking matches */
- int (*input_pending)(int);
- unsigned long reserved[4];
-} SLang_RLine_Info_Type;
-
-extern int SLang_RL_EOF_Char;
-
-extern SLang_Read_Line_Type * SLang_rline_save_line (SLang_RLine_Info_Type *);
-extern int SLang_init_readline (SLang_RLine_Info_Type *);
-extern int SLang_read_line (SLang_RLine_Info_Type *);
-extern int SLang_rline_insert (char *);
-extern void SLrline_redraw (SLang_RLine_Info_Type *);
-extern int SLang_Rline_Quit;
-
-/*}}}*/
-
-/*{{{ Low Level Screen Output Interface */
-
-extern unsigned long SLtt_Num_Chars_Output;
-extern int SLtt_Baud_Rate;
-
-typedef unsigned long SLtt_Char_Type;
-
-#define SLTT_BOLD_MASK 0x01000000UL
-#define SLTT_BLINK_MASK 0x02000000UL
-#define SLTT_ULINE_MASK 0x04000000UL
-#define SLTT_REV_MASK 0x08000000UL
-#define SLTT_ALTC_MASK 0x10000000UL
-
-extern int SLtt_Screen_Rows;
-extern int SLtt_Screen_Cols;
-extern int SLtt_Term_Cannot_Insert;
-extern int SLtt_Term_Cannot_Scroll;
-extern int SLtt_Use_Ansi_Colors;
-extern int SLtt_Ignore_Beep;
-#if defined(REAL_UNIX_SYSTEM)
-extern int SLtt_Force_Keypad_Init;
-extern int SLang_TT_Write_FD;
-#endif
-
-#ifndef IBMPC_SYSTEM
-extern char *SLtt_Graphics_Char_Pairs;
-#endif
-
-#ifndef __GO32__
-#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
-extern int SLtt_Blink_Mode;
-extern int SLtt_Use_Blink_For_ACS;
-extern int SLtt_Newline_Ok;
-extern int SLtt_Has_Alt_Charset;
-extern int SLtt_Has_Status_Line; /* if 0, NO. If > 0, YES, IF -1, ?? */
-# ifndef VMS
-extern int SLtt_Try_Termcap;
-# endif
-#endif
-#endif
-
-#if defined(IBMPC_SYSTEM)
-extern int SLtt_Msdos_Cheap_Video;
-#endif
-
-typedef unsigned short SLsmg_Char_Type;
-#define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFF)
-#define SLSMG_EXTRACT_COLOR(x) (((x)>>8)&0xFF)
-#define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(unsigned char)(ch))|((color)<<8))
-
-extern int SLtt_flush_output (void);
-extern void SLtt_set_scroll_region(int, int);
-extern void SLtt_reset_scroll_region(void);
-extern void SLtt_reverse_video (int);
-extern void SLtt_bold_video (void);
-extern void SLtt_begin_insert(void);
-extern void SLtt_end_insert(void);
-extern void SLtt_del_eol(void);
-extern void SLtt_goto_rc (int, int);
-extern void SLtt_delete_nlines(int);
-extern void SLtt_delete_char(void);
-extern void SLtt_erase_line(void);
-extern void SLtt_normal_video(void);
-extern void SLtt_cls(void);
-extern void SLtt_beep(void);
-extern void SLtt_reverse_index(int);
-extern void SLtt_smart_puts(SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
-extern void SLtt_write_string (char *);
-extern void SLtt_putchar(char);
-extern int SLtt_init_video (void);
-extern int SLtt_reset_video (void);
-extern void SLtt_get_terminfo(void);
-extern void SLtt_get_screen_size (void);
-extern int SLtt_set_cursor_visibility (int);
-
-extern int SLtt_set_mouse_mode (int, int);
-
-#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
-extern int SLtt_initialize (char *);
-extern void SLtt_enable_cursor_keys(void);
-extern void SLtt_set_term_vtxxx(int *);
-extern void SLtt_set_color_esc (int, char *);
-extern void SLtt_wide_width(void);
-extern void SLtt_narrow_width(void);
-extern void SLtt_set_alt_char_set (int);
-extern int SLtt_write_to_status_line (char *, int);
-extern void SLtt_disable_status_line (void);
-# ifdef REAL_UNIX_SYSTEM
-/* These are termcap/terminfo routines that assume SLtt_initialize has
- * been called.
- */
-extern char *SLtt_tgetstr (char *);
-extern int SLtt_tgetnum (char *);
-extern int SLtt_tgetflag (char *);
-
-/* The following are terminfo-only routines -- these prototypes will change
- * in V2.x.
- */
-extern char *SLtt_tigetent (char *);
-extern char *SLtt_tigetstr (char *, char **);
-extern int SLtt_tigetnum (char *, char **);
-# endif
-#endif
-
-extern SLtt_Char_Type SLtt_get_color_object (int);
-extern void SLtt_set_color_object (int, SLtt_Char_Type);
-extern void SLtt_set_color (int, char *, char *, char *);
-extern void SLtt_set_mono (int, char *, SLtt_Char_Type);
-extern void SLtt_add_color_attribute (int, SLtt_Char_Type);
-extern void SLtt_set_color_fgbg (int, SLtt_Char_Type, SLtt_Char_Type);
-
-/*}}}*/
-
-/*{{{ SLang Preprocessor Interface */
-
-typedef struct
-{
- int this_level;
- int exec_level;
- int prev_exec_level;
- char preprocess_char;
- char comment_char;
- unsigned char flags;
-#define SLPREP_BLANK_LINES_OK 1
-#define SLPREP_COMMENT_LINES_OK 2
-}
-SLPreprocess_Type;
-
-extern int SLprep_open_prep (SLPreprocess_Type *);
-extern void SLprep_close_prep (SLPreprocess_Type *);
-extern int SLprep_line_ok (char *, SLPreprocess_Type *);
- extern int SLdefine_for_ifdef (char *);
- /* Adds a string to the SLang #ifdef preparsing defines. SLang already
- defines MSDOS, UNIX, and VMS on the appropriate system. */
-extern int (*SLprep_exists_hook) (char *, char);
-
-/*}}}*/
-
-/*{{{ SLsmg Screen Management Functions */
-
-extern void SLsmg_fill_region (int, int, unsigned int, unsigned int, unsigned char);
-extern void SLsmg_set_char_set (int);
-#ifndef IBMPC_SYSTEM
-extern int SLsmg_Scroll_Hash_Border;
-#endif
-extern int SLsmg_suspend_smg (void);
-extern int SLsmg_resume_smg (void);
-extern void SLsmg_erase_eol (void);
-extern void SLsmg_gotorc (int, int);
-extern void SLsmg_erase_eos (void);
-extern void SLsmg_reverse_video (void);
-extern void SLsmg_set_color (int);
-extern void SLsmg_normal_video (void);
-extern void SLsmg_printf (char *, ...);
-extern void SLsmg_vprintf (char *, va_list);
-extern void SLsmg_write_string (char *);
-extern void SLsmg_write_nstring (char *, unsigned int);
-extern void SLsmg_write_char (char);
-extern void SLsmg_write_nchars (char *, unsigned int);
-extern void SLsmg_write_wrapped_string (char *, int, int, unsigned int, unsigned int, int);
-extern void SLsmg_cls (void);
-extern void SLsmg_refresh (void);
-extern void SLsmg_touch_lines (int, unsigned int);
-extern void SLsmg_touch_screen (void);
-extern int SLsmg_init_smg (void);
-extern int SLsmg_reinit_smg (void);
-extern void SLsmg_reset_smg (void);
-extern SLsmg_Char_Type SLsmg_char_at(void);
-extern void SLsmg_set_screen_start (int *, int *);
-extern void SLsmg_draw_hline (unsigned int);
-extern void SLsmg_draw_vline (int);
-extern void SLsmg_draw_object (int, int, unsigned char);
-extern void SLsmg_draw_box (int, int, unsigned int, unsigned int);
-extern int SLsmg_get_column(void);
-extern int SLsmg_get_row(void);
-extern void SLsmg_forward (int);
-extern void SLsmg_write_color_chars (SLsmg_Char_Type *, unsigned int);
-extern unsigned int SLsmg_read_raw (SLsmg_Char_Type *, unsigned int);
-extern unsigned int SLsmg_write_raw (SLsmg_Char_Type *, unsigned int);
-extern void SLsmg_set_color_in_region (int, int, int, unsigned int, unsigned int);
-extern int SLsmg_Display_Eight_Bit;
-extern int SLsmg_Tab_Width;
-
-#define SLSMG_NEWLINE_IGNORED 0 /* default */
-#define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */
-#define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */
-#define SLSMG_NEWLINE_PRINTABLE 3 /* prints as ^J */
-extern int SLsmg_Newline_Behavior;
-
-extern int SLsmg_Backspace_Moves;
-
-#ifdef IBMPC_SYSTEM
-# define SLSMG_HLINE_CHAR 0xC4
-# define SLSMG_VLINE_CHAR 0xB3
-# define SLSMG_ULCORN_CHAR 0xDA
-# define SLSMG_URCORN_CHAR 0xBF
-# define SLSMG_LLCORN_CHAR 0xC0
-# define SLSMG_LRCORN_CHAR 0xD9
-# define SLSMG_RTEE_CHAR 0xB4
-# define SLSMG_LTEE_CHAR 0xC3
-# define SLSMG_UTEE_CHAR 0xC2
-# define SLSMG_DTEE_CHAR 0xC1
-# define SLSMG_PLUS_CHAR 0xC5
-/* There are several to choose from: 0xB0, 0xB1, and 0xB2 */
-# define SLSMG_CKBRD_CHAR 0xB0
-# define SLSMG_DIAMOND_CHAR 0x04
-# define SLSMG_DEGREE_CHAR 0xF8
-# define SLSMG_PLMINUS_CHAR 0xF1
-# define SLSMG_BULLET_CHAR 0xF9
-# define SLSMG_LARROW_CHAR 0x1B
-# define SLSMG_RARROW_CHAR 0x1A
-# define SLSMG_DARROW_CHAR 0x19
-# define SLSMG_UARROW_CHAR 0x18
-# define SLSMG_BOARD_CHAR 0xB2
-# define SLSMG_BLOCK_CHAR 0xDB
-#else
-# if defined(AMIGA)
-# define SLSMG_HLINE_CHAR '-'
-# define SLSMG_VLINE_CHAR '|'
-# define SLSMG_ULCORN_CHAR '+'
-# define SLSMG_URCORN_CHAR '+'
-# define SLSMG_LLCORN_CHAR '+'
-# define SLSMG_LRCORN_CHAR '+'
-# define SLSMG_CKBRD_CHAR '#'
-# define SLSMG_RTEE_CHAR '+'
-# define SLSMG_LTEE_CHAR '+'
-# define SLSMG_UTEE_CHAR '+'
-# define SLSMG_DTEE_CHAR '+'
-# define SLSMG_PLUS_CHAR '+'
-# define SLSMG_DIAMOND_CHAR '+'
-# define SLSMG_DEGREE_CHAR '\\'
-# define SLSMG_PLMINUS_CHAR '#'
-# define SLSMG_BULLET_CHAR 'o'
-# define SLSMG_LARROW_CHAR '<'
-# define SLSMG_RARROW_CHAR '>'
-# define SLSMG_DARROW_CHAR 'v'
-# define SLSMG_UARROW_CHAR '^'
-# define SLSMG_BOARD_CHAR '#'
-# define SLSMG_BLOCK_CHAR '#'
-# else
-# define SLSMG_HLINE_CHAR 'q'
-# define SLSMG_VLINE_CHAR 'x'
-# define SLSMG_ULCORN_CHAR 'l'
-# define SLSMG_URCORN_CHAR 'k'
-# define SLSMG_LLCORN_CHAR 'm'
-# define SLSMG_LRCORN_CHAR 'j'
-# define SLSMG_CKBRD_CHAR 'a'
-# define SLSMG_RTEE_CHAR 'u'
-# define SLSMG_LTEE_CHAR 't'
-# define SLSMG_UTEE_CHAR 'w'
-# define SLSMG_DTEE_CHAR 'v'
-# define SLSMG_PLUS_CHAR 'n'
-# define SLSMG_DIAMOND_CHAR '`'
-# define SLSMG_DEGREE_CHAR 'f'
-# define SLSMG_PLMINUS_CHAR 'g'
-# define SLSMG_BULLET_CHAR '~'
-# define SLSMG_LARROW_CHAR ','
-# define SLSMG_RARROW_CHAR '+'
-# define SLSMG_DARROW_CHAR '.'
-# define SLSMG_UARROW_CHAR '-'
-# define SLSMG_BOARD_CHAR 'h'
-# define SLSMG_BLOCK_CHAR '0'
-# endif /* AMIGA */
-#endif /* IBMPC_SYSTEM */
-
-#ifndef IBMPC_SYSTEM
-# define SLSMG_COLOR_BLACK 0x000000
-# define SLSMG_COLOR_RED 0x000001
-# define SLSMG_COLOR_GREEN 0x000002
-# define SLSMG_COLOR_BROWN 0x000003
-# define SLSMG_COLOR_BLUE 0x000004
-# define SLSMG_COLOR_MAGENTA 0x000005
-# define SLSMG_COLOR_CYAN 0x000006
-# define SLSMG_COLOR_LGRAY 0x000007
-# define SLSMG_COLOR_GRAY 0x000008
-# define SLSMG_COLOR_BRIGHT_RED 0x000009
-# define SLSMG_COLOR_BRIGHT_GREEN 0x00000A
-# define SLSMG_COLOR_BRIGHT_BROWN 0x00000B
-# define SLSMG_COLOR_BRIGHT_BLUE 0x00000C
-# define SLSMG_COLOR_BRIGHT_CYAN 0x00000D
-# define SLSMG_COLOR_BRIGHT_MAGENTA 0x00000E
-# define SLSMG_COLOR_BRIGHT_WHITE 0x00000F
-#endif
-
-typedef struct
-{
- void (*tt_normal_video)(void);
- void (*tt_set_scroll_region)(int, int);
- void (*tt_goto_rc)(int, int);
- void (*tt_reverse_index)(int);
- void (*tt_reset_scroll_region)(void);
- void (*tt_delete_nlines)(int);
- void (*tt_cls) (void);
- void (*tt_del_eol) (void);
- void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
- int (*tt_flush_output) (void);
- int (*tt_reset_video) (void);
- int (*tt_init_video) (void);
-
- int *tt_screen_rows;
- int *tt_screen_cols;
-
- int *tt_term_cannot_scroll;
- int *tt_has_alt_charset;
- int *tt_use_blink_for_acs;
- char **tt_graphic_char_pairs;
-
- long reserved[4];
-}
-SLsmg_Term_Type;
-extern void SLsmg_set_terminal_info (SLsmg_Term_Type *);
-
-/*}}}*/
-
-/*{{{ SLang Keypad Interface */
-
-#define SL_KEY_ERR 0xFFFF
-
-#define SL_KEY_UP 0x101
-#define SL_KEY_DOWN 0x102
-#define SL_KEY_LEFT 0x103
-#define SL_KEY_RIGHT 0x104
-#define SL_KEY_PPAGE 0x105
-#define SL_KEY_NPAGE 0x106
-#define SL_KEY_HOME 0x107
-#define SL_KEY_END 0x108
-#define SL_KEY_A1 0x109
-#define SL_KEY_A3 0x10A
-#define SL_KEY_B2 0x10B
-#define SL_KEY_C1 0x10C
-#define SL_KEY_C3 0x10D
-#define SL_KEY_REDO 0x10E
-#define SL_KEY_UNDO 0x10F
-#define SL_KEY_BACKSPACE 0x110
-#define SL_KEY_ENTER 0x111
-#define SL_KEY_IC 0x112
-#define SL_KEY_DELETE 0x113
-
-#define SL_KEY_F0 0x200
-#define SL_KEY_F(X) (SL_KEY_F0 + X)
-
-/* I do not intend to use keysymps > 0x1000. Applications can use those. */
-/* Returns 0 upon success or -1 upon error. */
-extern int SLkp_define_keysym (char *, unsigned int);
-
-/* This function must be called AFTER SLtt_get_terminfo and not before. */
-extern int SLkp_init (void);
-
-/* This function uses SLang_getkey and assumes that what ever initialization
- * is required for SLang_getkey has been performed.
- */
-extern int SLkp_getkey (void);
-
-/*}}}*/
-
-/*{{{ SLang Scroll Interface */
-
-typedef struct _SLscroll_Type
-{
- struct _SLscroll_Type *next;
- struct _SLscroll_Type *prev;
- unsigned int flags;
-}
-SLscroll_Type;
-
-typedef struct
-{
- unsigned int flags;
- SLscroll_Type *top_window_line; /* list element at top of window */
- SLscroll_Type *bot_window_line; /* list element at bottom of window */
- SLscroll_Type *current_line; /* current list element */
- SLscroll_Type *lines; /* first list element */
- unsigned int nrows; /* number of rows in window */
- unsigned int hidden_mask; /* applied to flags in SLscroll_Type */
- unsigned int line_num; /* current line number (visible) */
- unsigned int num_lines; /* total number of lines (visible) */
- unsigned int window_row; /* row of current_line in window */
- unsigned int border; /* number of rows that form scroll border */
- int cannot_scroll; /* should window scroll or recenter */
-}
-SLscroll_Window_Type;
-
-extern int SLscroll_find_top (SLscroll_Window_Type *);
-extern int SLscroll_find_line_num (SLscroll_Window_Type *);
-extern unsigned int SLscroll_next_n (SLscroll_Window_Type *, unsigned int);
-extern unsigned int SLscroll_prev_n (SLscroll_Window_Type *, unsigned int);
-extern int SLscroll_pageup (SLscroll_Window_Type *);
-extern int SLscroll_pagedown (SLscroll_Window_Type *);
-
-/*}}}*/
-
-/*{{{ Signal Routines */
-
-typedef void SLSig_Fun_Type (int);
-extern SLSig_Fun_Type *SLsignal (int, SLSig_Fun_Type *);
-extern SLSig_Fun_Type *SLsignal_intr (int, SLSig_Fun_Type *);
-extern int SLsig_block_signals (void);
-extern int SLsig_unblock_signals (void);
-extern int SLsystem (char *);
-
-extern char *SLerrno_strerror (int);
-extern int SLerrno_set_errno (int);
-
-/*}}}*/
-
-/*{{{ Interpreter Macro Definitions */
-
-/* The definitions here are for objects that may be on the run-time stack.
- * They are actually sub_types of literal and data main_types. The actual
- * numbers are historical.
- */
-#define SLANG_UNDEFINED_TYPE 0x00 /* MUST be 0 */
-#define SLANG_VOID_TYPE 0x01 /* also matches ANY type */
-#define SLANG_INT_TYPE 0x02
-#define SLANG_DOUBLE_TYPE 0x03
-#define SLANG_CHAR_TYPE 0x04
-#define SLANG_INTP_TYPE 0x05
-/* An object of SLANG_INTP_TYPE should never really occur on the stack. Rather,
- * the integer to which it refers will be there instead. It is defined here
- * because it is a valid type for MAKE_VARIABLE.
- */
-#define SLANG_REF_TYPE 0x06
-/* SLANG_REF_TYPE refers to an object on the stack that is a pointer (reference)
- * to some other object.
- */
-#define SLANG_COMPLEX_TYPE 0x07
-#define SLANG_NULL_TYPE 0x08
-#define SLANG_UCHAR_TYPE 0x09
-#define SLANG_SHORT_TYPE 0x0A
-#define SLANG_USHORT_TYPE 0x0B
-#define SLANG_UINT_TYPE 0x0C
-#define SLANG_LONG_TYPE 0x0D
-#define SLANG_ULONG_TYPE 0x0E
-#define SLANG_STRING_TYPE 0x0F
-#define SLANG_FLOAT_TYPE 0x10
-#define SLANG_STRUCT_TYPE 0x11
-#define SLANG_ISTRUCT_TYPE 0x12
-#define SLANG_ARRAY_TYPE 0x20
-#define SLANG_DATATYPE_TYPE 0x21
-#define SLANG_FILE_PTR_TYPE 0x22
-#define SLANG_ASSOC_TYPE 0x23
-#define SLANG_ANY_TYPE 0x24
-#define SLANG_BSTRING_TYPE 0x25
-#define SLANG_FILE_FD_TYPE 0x26
-
-/* Compatibility */
-#ifdef FLOAT_TYPE
-# undef FLOAT_TYPE
-#endif
-#define VOID_TYPE SLANG_VOID_TYPE
-#define INT_TYPE SLANG_INT_TYPE
-#define INTP_TYPE SLANG_INTP_TYPE
-#define FLOAT_TYPE SLANG_DOUBLE_TYPE
-#define ARRAY_TYPE SLANG_ARRAY_TYPE
-#define CHAR_TYPE SLANG_CHAR_TYPE
-#define STRING_TYPE SLANG_STRING_TYPE
-
-/* I am reserving values greater than or equal to 128 for user applications.
- * The first 127 are reserved for S-Lang.
- */
-
-/* Binary and Unary Subtypes */
-/* Since the application can define new types and can overload the binary
- * and unary operators, these definitions must be present in this file.
- * The current implementation assumes both unary and binary are distinct.
- */
-#define SLANG_PLUS 0x01
-#define SLANG_MINUS 0x02
-#define SLANG_TIMES 0x03
-#define SLANG_DIVIDE 0x04
-#define SLANG_EQ 0x05
-#define SLANG_NE 0x06
-#define SLANG_GT 0x07
-#define SLANG_GE 0x08
-#define SLANG_LT 0x09
-#define SLANG_LE 0x0A
-#define SLANG_POW 0x0B
-#define SLANG_OR 0x0C
-#define SLANG_AND 0x0D
-#define SLANG_BAND 0x0E
-#define SLANG_BOR 0x0F
-#define SLANG_BXOR 0x10
-#define SLANG_SHL 0x11
-#define SLANG_SHR 0x12
-#define SLANG_MOD 0x13
-
-/* UNARY subtypes (may be overloaded) */
-#define SLANG_PLUSPLUS 0x20
-#define SLANG_MINUSMINUS 0x21
-#define SLANG_ABS 0x22
-#define SLANG_SIGN 0x23
-#define SLANG_SQR 0x24
-#define SLANG_MUL2 0x25
-#define SLANG_CHS 0x26
-#define SLANG_NOT 0x27
-#define SLANG_BNOT 0x28
-
-extern char *SLang_Error_Message;
-
-int SLadd_intrinsic_variable (char *, VOID_STAR, unsigned char, int);
-int SLadd_intrinsic_function (char *, FVOID_STAR, unsigned char, unsigned int,...);
-
-int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, unsigned char, int);
-int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, unsigned char, unsigned int,...);
-
-extern void SLadd_at_handler (long *, char *);
-
-#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \
- {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \
- {a1,a2,a3,a4,a5,a6,a7}, (in), (out)}
-
-#define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \
- MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7)
-#define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \
- MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0)
-#define MAKE_INTRINSIC_5(n,f,out,a1,a2,a3,a4,a5) \
- MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0)
-#define MAKE_INTRINSIC_4(n,f,out,a1,a2,a3,a4) \
- MAKE_INTRINSIC_N(n,f,out,4,a1,a2,a3,a4,0,0,0)
-#define MAKE_INTRINSIC_3(n,f,out,a1,a2,a3) \
- MAKE_INTRINSIC_N(n,f,out,3,a1,a2,a3,0,0,0,0)
-#define MAKE_INTRINSIC_2(n,f,out,a1,a2) \
- MAKE_INTRINSIC_N(n,f,out,2,a1,a2,0,0,0,0,0)
-#define MAKE_INTRINSIC_1(n,f,out,a1) \
- MAKE_INTRINSIC_N(n,f,out,1,a1,0,0,0,0,0,0)
-#define MAKE_INTRINSIC_0(n,f,out) \
- MAKE_INTRINSIC_N(n,f,out,0,0,0,0,0,0,0,0)
-
-#define MAKE_INTRINSIC_S(n,f,r) \
- MAKE_INTRINSIC_1(n,f,r,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_I(n,f,r) \
- MAKE_INTRINSIC_1(n,f,r,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC_SS(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SI(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_IS(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_II(n,f,r) \
- MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC_SSS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SSI(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_SIS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_SII(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_ISS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_ISI(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
-#define MAKE_INTRINSIC_IIS(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
-#define MAKE_INTRINSIC_III(n,f,r) \
- MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
-
-#define MAKE_INTRINSIC(n, f, out, in) \
- MAKE_INTRINSIC_N(n,f,out,in,0,0,0,0,0,0,0)
-
-#define MAKE_VARIABLE(n, v, t, r) \
- {n, NULL, SLANG_IVARIABLE + (r), (VOID_STAR)(v), (t)}
-
-#define MAKE_APP_UNARY(n,op) \
- {(n), NULL, SLANG_APP_UNARY, (op)}
-
-#define MAKE_MATH_UNARY(n,op) \
- {(n), NULL, SLANG_MATH_UNARY, (op)}
-
-#define MAKE_ICONSTANT(n,val) \
- {(n),NULL, SLANG_ICONSTANT, (val)}
-
-#define MAKE_DCONSTANT(n,val) \
- {(n),NULL, SLANG_DCONSTANT, (val)}
-
-#ifndef offsetof
-# define offsetof(T,F) ((unsigned int)((char *)&((T *)0L)->F - (char *)0L))
-#endif
-#define MAKE_ISTRUCT_FIELD(s,f,n,t,r) {(n), offsetof(s,f), (t), (r)}
-
-#define SLANG_END_TABLE {NULL}
-#define SLANG_END_INTRIN_FUN_TABLE MAKE_INTRINSIC_0(NULL,NULL,0)
-#define SLANG_END_DCONST_TABLE MAKE_DCONSTANT(NULL,0)
-#define SLANG_END_MATH_UNARY_TABLE MAKE_MATH_UNARY(NULL,0)
-#define SLANG_END_INTRIN_VAR_TABLE MAKE_VARIABLE(NULL,NULL,0,0)
-#define SLANG_END_ICONST_TABLE MAKE_ICONSTANT(NULL,0)
-#define SLANG_END_ISTRUCT_TABLE {NULL, 0, 0, 0}
-
-
-
-/*}}}*/
-
-/*{{{ Upper/Lowercase Functions */
-
-extern void SLang_define_case(int *, int *);
-extern void SLang_init_case_tables (void);
-
-extern unsigned char _SLChg_UCase_Lut[256];
-extern unsigned char _SLChg_LCase_Lut[256];
-#define UPPER_CASE(x) (_SLChg_UCase_Lut[(unsigned char) (x)])
-#define LOWER_CASE(x) (_SLChg_LCase_Lut[(unsigned char) (x)])
-#define CHANGE_CASE(x) (((x) == _SLChg_LCase_Lut[(unsigned char) (x)]) ?\
- _SLChg_UCase_Lut[(unsigned char) (x)] : _SLChg_LCase_Lut[(unsigned char) (x)])
-
-/*}}}*/
-
-/*{{{ Regular Expression Interface */
-
-typedef struct
-{
- /* These must be set by calling routine. */
- unsigned char *pat; /* regular expression pattern */
- unsigned char *buf; /* buffer for compiled regexp */
- unsigned int buf_len; /* length of buffer */
- int case_sensitive; /* 1 if match is case sensitive */
-
- /* The rest are set by SLang_regexp_compile */
-
- int must_match; /* 1 if line must contain substring */
- int must_match_bol; /* true if it must match beginning of line */
- unsigned char must_match_str[16]; /* 15 char null term substring */
- int osearch; /* 1 if ordinary search suffices */
- unsigned int min_length; /* minimum length the match must be */
- int beg_matches[10]; /* offset of start of \( */
- unsigned int end_matches[10]; /* length of nth submatch
- * Note that the entire match corresponds
- * to \0
- */
- int offset; /* offset to be added to beg_matches */
- int reserved[10];
-} SLRegexp_Type;
-
-extern unsigned char *SLang_regexp_match(unsigned char *,
- unsigned int,
- SLRegexp_Type *);
-
-/* Returns 0 upon success. If failure, the offset into the
- * pattern is returned (start = 1).
- */
-extern int SLang_regexp_compile (SLRegexp_Type *);
-extern char *SLregexp_quote_string (char *, char *, unsigned int);
-
-/*}}}*/
-
-/*{{{ SLang Command Interface */
-
-struct _SLcmd_Cmd_Type; /* Pre-declaration is needed below */
-typedef struct
-{
- struct _SLcmd_Cmd_Type *table;
- int argc;
- /* Version 2.0 needs to use a union!! */
- char **string_args;
- int *int_args;
- double *double_args;
- unsigned char *arg_type;
- unsigned long reserved[4];
-} SLcmd_Cmd_Table_Type;
-
-typedef struct _SLcmd_Cmd_Type
-{
- int (*cmdfun)(int, SLcmd_Cmd_Table_Type *);
- char *cmd;
- char *arg_type;
-} SLcmd_Cmd_Type;
-
-extern int SLcmd_execute_string (char *, SLcmd_Cmd_Table_Type *);
-
-/*}}}*/
-
-/*{{{ SLang Search Interface */
-
-typedef struct
-{
- int cs; /* case sensitive */
- unsigned char key[256];
- int ind[256];
- int key_len;
- int dir;
-} SLsearch_Type;
-
-extern int SLsearch_init (char *, int, int, SLsearch_Type *);
-/* This routine must first be called before any search can take place.
- * The second parameter specifies the direction of the search: greater than
- * zero for a forwrd search and less than zero for a backward search. The
- * third parameter specifies whether the search is case sensitive or not.
- * The last parameter is a pointer to a structure that is filled by this
- * function and it is this structure that must be passed to SLsearch.
- */
-
-extern unsigned char *SLsearch (unsigned char *, unsigned char *, SLsearch_Type *);
-/* To use this routine, you must first call 'SLsearch_init'. Then the first
- * two parameters p1 and p2 serve to define the region over which the search
- * is to take place. The third parameter is the structure that was previously
- * initialized by SLsearch_init.
- *
- * The routine returns a pointer to the match if found otherwise it returns
- * NULL.
- */
-
-/*}}}*/
-
-/*{{{ SLang Pathname Interface */
-
-/* These function return pointers to the original space */
-extern char *SLpath_basename (char *);
-extern char *SLpath_extname (char *);
-extern int SLpath_is_absolute_path (char *);
-
-/* These return malloced strings--- NOT slstrings */
-extern char *SLpath_dircat (char *, char *);
-extern char *SLpath_find_file_in_path (char *, char *);
-extern char *SLpath_dirname (char *);
-extern int SLpath_file_exists (char *);
-extern char *SLpath_pathname_sans_extname (char *);
-
-/*}}}*/
-
-extern int SLang_set_module_load_path (char *);
-
-#define SLANG_MODULE(name) \
- extern int init_##name##_module_ns (char *); \
- extern void deinit_##name##_module (void)
-
-#if 0
-{
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _DAVIS_SLANG_H_ */
diff --git a/mdk-stage1/slang/slarith.c b/mdk-stage1/slang/slarith.c
deleted file mode 100644
index 07ad68687..000000000
--- a/mdk-stage1/slang/slarith.c
+++ /dev/null
@@ -1,1656 +0,0 @@
-
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <math.h>
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*
- * This file defines binary and unary operations on all integer types.
- * Supported types include:
- *
- * SLANG_CHAR_TYPE (char)
- * SLANG_SHORT_TYPE (short)
- * SLANG_INT_TYPE (int)
- * SLANG_LONG_TYPE (long)
- * SLANG_FLOAT_TYPE (float)
- * SLANG_DOUBLE_TYPE (double)
- *
- * as well as unsigned types. The result-type of an arithmentic operation
- * will depend upon the data types involved. I am going to distinguish
- * between the boolean operations such as `and' and `or' from the arithmetic
- * operations such as `plus'. Since the result of a boolean operation is
- * either 1 or 0, a boolean result will be represented by SLANG_CHAR_TYPE.
- * Ordinarily I would use an integer but for arrays it makes more sense to
- * use a character data type.
- *
- * So, the following will be assumed (`+' is any arithmetic operator)
- *
- * char + char = int
- * char|short + short = int
- * char|short|int + int = int
- * char|short|int|long + long = long
- * char|short|int|long|float + float = float
- * char|short|int|long|float|double + double = double
- *
- * In the actual implementation, a brute force approach is avoided. Such
- * an approach would mean defining different functions for all possible
- * combinations of types. Including the unsigned types, and not including
- * the complex number type, there are 10 arithmetic types and 10*10=100
- * different combinations of types. Clearly this would be too much.
- *
- * One approach would be to define binary functions only between operands of
- * the same type and then convert types as appropriate. This would require
- * just 6 such functions (int, uint, long, ulong, float, double).
- * However, many conversion functions are going to be required, particularly
- * since we are going to allow typecasting from one arithmetic to another.
- * Since the bit pattern of signed and unsigned types are the same, and only
- * the interpretation differs, there will be no functions to convert between
- * signed and unsigned forms of a given type.
- */
-
-#define MAX_ARITHMETIC_TYPES 10
-
-unsigned char _SLarith_Is_Arith_Type [256];
-
-unsigned char _SLarith_Arith_Types[] =
-{
- SLANG_CHAR_TYPE,
- SLANG_UCHAR_TYPE,
- SLANG_SHORT_TYPE,
- SLANG_USHORT_TYPE,
- SLANG_INT_TYPE,
- SLANG_UINT_TYPE,
- SLANG_LONG_TYPE,
- SLANG_ULONG_TYPE,
- SLANG_FLOAT_TYPE,
- SLANG_DOUBLE_TYPE,
- 0
-};
-
-/* Here are a bunch of functions to convert from one type to another. To
- * facilitate the process, a macros will be used.
- */
-
-#define DEFUN_1(f,from_type,to_type) \
-static void f (to_type *y, from_type *x, unsigned int n) \
-{ \
- unsigned int i; \
- for (i = 0; i < n; i++) y[i] = (to_type) x[i]; \
-}
-
-#define DEFUN_2(f,from_type,to_type,copy_fun) \
-static VOID_STAR f (VOID_STAR xp, unsigned int n) \
-{ \
- from_type *x; \
- to_type *y; \
- x = (from_type *) xp; \
- if (NULL == (y = (to_type *) SLmalloc (sizeof (to_type) * n))) return NULL; \
- copy_fun (y, x, n); \
- return (VOID_STAR) y; \
-}
-typedef VOID_STAR (*Convert_Fun_Type)(VOID_STAR, unsigned int);
-
-DEFUN_1(copy_char_to_char,char,char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_char_to_short,char,short)
-DEFUN_1(copy_char_to_ushort,char,unsigned short)
-#else
-# define copy_char_to_short copy_char_to_int
-# define copy_char_to_ushort copy_char_to_uint
-#endif
-DEFUN_1(copy_char_to_int,char,int)
-DEFUN_1(copy_char_to_uint,char,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_char_to_long,char,long)
-DEFUN_1(copy_char_to_ulong,char,unsigned long)
-#else
-# define copy_char_to_long copy_char_to_int
-# define copy_char_to_ulong copy_char_to_uint
-#endif
-DEFUN_1(copy_char_to_float,char,float)
-DEFUN_1(copy_char_to_double,char,double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_uchar_to_short,unsigned char,short)
-DEFUN_1(copy_uchar_to_ushort,unsigned char,unsigned short)
-#else
-# define copy_uchar_to_short copy_uchar_to_int
-# define copy_uchar_to_ushort copy_uchar_to_uint
-#endif
-DEFUN_1(copy_uchar_to_int,unsigned char,int)
-DEFUN_1(copy_uchar_to_uint,unsigned char,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_uchar_to_long,unsigned char,long)
-DEFUN_1(copy_uchar_to_ulong,unsigned char,unsigned long)
-#else
-# define copy_uchar_to_long copy_uchar_to_int
-# define copy_uchar_to_ulong copy_uchar_to_uint
-#endif
-DEFUN_1(copy_uchar_to_float,unsigned char,float)
-DEFUN_1(copy_uchar_to_double,unsigned char,double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_short_to_char,short,char)
-DEFUN_1(copy_short_to_uchar,short,unsigned char)
-DEFUN_1(copy_short_to_short,short,short)
-DEFUN_1(copy_short_to_int,short,int)
-DEFUN_1(copy_short_to_uint,short,unsigned int)
-DEFUN_1(copy_short_to_long,short,long)
-DEFUN_1(copy_short_to_ulong,short,unsigned long)
-DEFUN_1(copy_short_to_float,short,float)
-DEFUN_1(copy_short_to_double,short,double)
-DEFUN_1(copy_ushort_to_char,unsigned short,char)
-DEFUN_1(copy_ushort_to_uchar,unsigned short,unsigned char)
-DEFUN_1(copy_ushort_to_int,unsigned short,int)
-DEFUN_1(copy_ushort_to_uint,unsigned short,unsigned int)
-DEFUN_1(copy_ushort_to_long,unsigned short,long)
-DEFUN_1(copy_ushort_to_ulong,unsigned short,unsigned long)
-DEFUN_1(copy_ushort_to_float,unsigned short,float)
-DEFUN_1(copy_ushort_to_double,unsigned short,double)
-#else
-# define copy_short_to_char copy_int_to_char
-# define copy_short_to_uchar copy_int_to_uchar
-# define copy_short_to_short copy_int_to_int
-# define copy_short_to_int copy_int_to_int
-# define copy_short_to_uint copy_int_to_int
-# define copy_short_to_long copy_int_to_long
-# define copy_short_to_ulong copy_int_to_ulong
-# define copy_short_to_float copy_int_to_float
-# define copy_short_to_double copy_int_to_double
-# define copy_ushort_to_char copy_uint_to_char
-# define copy_ushort_to_uchar copy_uint_to_uchar
-# define copy_ushort_to_int copy_int_to_int
-# define copy_ushort_to_uint copy_int_to_int
-# define copy_ushort_to_long copy_uint_to_long
-# define copy_ushort_to_ulong copy_uint_to_ulong
-# define copy_ushort_to_float copy_uint_to_float
-# define copy_ushort_to_double copy_uint_to_double
-#endif
-
-DEFUN_1(copy_int_to_char,int,char)
-DEFUN_1(copy_int_to_uchar,int,unsigned char)
-DEFUN_1(copy_uint_to_char,unsigned int,char)
-DEFUN_1(copy_uint_to_uchar,unsigned int,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_int_to_short,int,short)
-DEFUN_1(copy_int_to_ushort,int,unsigned short)
-DEFUN_1(copy_uint_to_short,unsigned int,short)
-DEFUN_1(copy_uint_to_ushort,unsigned int,unsigned short)
-#else
-# define copy_int_to_short copy_int_to_int
-# define copy_int_to_ushort copy_int_to_int
-# define copy_uint_to_short copy_int_to_int
-# define copy_uint_to_ushort copy_int_to_int
-#endif
-DEFUN_1(copy_int_to_int,int,int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_int_to_long,int,long)
-DEFUN_1(copy_int_to_ulong,int,unsigned long)
-DEFUN_1(copy_uint_to_long,unsigned int,long)
-DEFUN_1(copy_uint_to_ulong,unsigned int,unsigned long)
-#else
-# define copy_int_to_long copy_int_to_int
-# define copy_int_to_ulong copy_int_to_int
-# define copy_uint_to_long copy_int_to_int
-# define copy_uint_to_ulong copy_int_to_int
-#endif
-DEFUN_1(copy_int_to_float,int,float)
-DEFUN_1(copy_int_to_double,int,double)
-DEFUN_1(copy_uint_to_float,unsigned int,float)
-DEFUN_1(copy_uint_to_double,unsigned int,double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_long_to_char,long,char)
-DEFUN_1(copy_long_to_uchar,long,unsigned char)
-DEFUN_1(copy_long_to_short,long,short)
-DEFUN_1(copy_long_to_ushort,long,unsigned short)
-DEFUN_1(copy_long_to_int,long,int)
-DEFUN_1(copy_long_to_uint,long,unsigned int)
-DEFUN_1(copy_long_to_long,long,long)
-DEFUN_1(copy_long_to_float,long,float)
-DEFUN_1(copy_long_to_double,long,double)
-DEFUN_1(copy_ulong_to_char,unsigned long,char)
-DEFUN_1(copy_ulong_to_uchar,unsigned long,unsigned char)
-DEFUN_1(copy_ulong_to_short,unsigned long,short)
-DEFUN_1(copy_ulong_to_ushort,unsigned long,unsigned short)
-DEFUN_1(copy_ulong_to_int,unsigned long,int)
-DEFUN_1(copy_ulong_to_uint,unsigned long,unsigned int)
-DEFUN_1(copy_ulong_to_float,unsigned long,float)
-DEFUN_1(copy_ulong_to_double,unsigned long,double)
-#else
-#define copy_long_to_char copy_int_to_char
-#define copy_long_to_uchar copy_int_to_uchar
-#define copy_long_to_short copy_int_to_short
-#define copy_long_to_ushort copy_int_to_ushort
-#define copy_long_to_int copy_int_to_int
-#define copy_long_to_uint copy_int_to_int
-#define copy_long_to_long copy_int_to_int
-#define copy_long_to_float copy_int_to_float
-#define copy_long_to_double copy_int_to_double
-#define copy_ulong_to_char copy_uint_to_char
-#define copy_ulong_to_uchar copy_uint_to_uchar
-#define copy_ulong_to_short copy_uint_to_short
-#define copy_ulong_to_ushort copy_uint_to_ushort
-#define copy_ulong_to_int copy_int_to_int
-#define copy_ulong_to_uint copy_int_to_int
-#define copy_ulong_to_float copy_uint_to_float
-#define copy_ulong_to_double copy_uint_to_double
-#endif
-
-DEFUN_1(copy_float_to_char,float,char)
-DEFUN_1(copy_float_to_uchar,float,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_float_to_short,float,short)
-DEFUN_1(copy_float_to_ushort,float,unsigned short)
-#else
-# define copy_float_to_short copy_float_to_int
-# define copy_float_to_ushort copy_float_to_uint
-#endif
-DEFUN_1(copy_float_to_int,float,int)
-DEFUN_1(copy_float_to_uint,float,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_float_to_long,float,long)
-DEFUN_1(copy_float_to_ulong,float,unsigned long)
-#else
-# define copy_float_to_long copy_float_to_int
-# define copy_float_to_ulong copy_float_to_uint
-#endif
-DEFUN_1(copy_float_to_float,float,float)
-DEFUN_1(copy_float_to_double,float,double)
-
-DEFUN_1(copy_double_to_char,double,char)
-DEFUN_1(copy_double_to_uchar,double,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_1(copy_double_to_short,double,short)
-DEFUN_1(copy_double_to_ushort,double,unsigned short)
-#else
-# define copy_double_to_short copy_double_to_int
-# define copy_double_to_ushort copy_double_to_uint
-#endif
-DEFUN_1(copy_double_to_int,double,int)
-DEFUN_1(copy_double_to_uint,double,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_1(copy_double_to_long,double,long)
-DEFUN_1(copy_double_to_ulong,double,unsigned long)
-#else
-# define copy_double_to_long copy_double_to_int
-# define copy_double_to_ulong copy_double_to_uint
-#endif
-DEFUN_1(copy_double_to_float,double,float)
-DEFUN_1(copy_double_to_double,double,double)
-
-DEFUN_2(char_to_int,char,int,copy_char_to_int)
-DEFUN_2(char_to_uint,char,unsigned int,copy_char_to_uint)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(char_to_long,char,long,copy_char_to_long)
-DEFUN_2(char_to_ulong,char,unsigned long,copy_char_to_ulong)
-#else
-# define char_to_long char_to_int
-# define char_to_ulong char_to_uint
-#endif
-DEFUN_2(char_to_float,char,float,copy_char_to_float)
-DEFUN_2(char_to_double,char,double,copy_char_to_double)
-
-DEFUN_2(uchar_to_int,unsigned char,int,copy_uchar_to_int)
-DEFUN_2(uchar_to_uint,unsigned char,unsigned int,copy_uchar_to_uint)
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(uchar_to_long,unsigned char,long,copy_uchar_to_long)
-DEFUN_2(uchar_to_ulong,unsigned char,unsigned long,copy_uchar_to_ulong)
-#else
-# define uchar_to_long uchar_to_int
-# define uchar_to_ulong uchar_to_uint
-#endif
-DEFUN_2(uchar_to_float,unsigned char,float,copy_uchar_to_float)
-DEFUN_2(uchar_to_double,unsigned char,double,copy_uchar_to_double)
-
-#if SIZEOF_INT != SIZEOF_SHORT
-DEFUN_2(short_to_int,short,int,copy_short_to_int)
-DEFUN_2(short_to_uint,short,unsigned int,copy_short_to_uint)
-DEFUN_2(short_to_long,short,long,copy_short_to_long)
-DEFUN_2(short_to_ulong,short,unsigned long,copy_short_to_ulong)
-DEFUN_2(short_to_float,short,float,copy_short_to_float)
-DEFUN_2(short_to_double,short,double,copy_short_to_double)
-DEFUN_2(ushort_to_int,unsigned short,int,copy_ushort_to_int)
-DEFUN_2(ushort_to_uint,unsigned short,unsigned int,copy_ushort_to_uint)
-DEFUN_2(ushort_to_long,unsigned short,long,copy_ushort_to_long)
-DEFUN_2(ushort_to_ulong,unsigned short,unsigned long,copy_ushort_to_ulong)
-DEFUN_2(ushort_to_float,unsigned short,float,copy_ushort_to_float)
-DEFUN_2(ushort_to_double,unsigned short,double,copy_ushort_to_double)
-#else
-# define short_to_int NULL
-# define short_to_uint NULL
-# define short_to_long int_to_long
-# define short_to_ulong int_to_ulong
-# define short_to_float int_to_float
-# define short_to_double int_to_double
-# define ushort_to_int NULL
-# define ushort_to_uint NULL
-# define ushort_to_long uint_to_long
-# define ushort_to_ulong uint_to_ulong
-# define ushort_to_float uint_to_float
-# define ushort_to_double uint_to_double
-#endif
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(int_to_long,int,long,copy_int_to_long)
-DEFUN_2(int_to_ulong,int,unsigned long,copy_int_to_ulong)
-#else
-# define int_to_long NULL
-# define int_to_ulong NULL
-#endif
-DEFUN_2(int_to_float,int,float,copy_int_to_float)
-DEFUN_2(int_to_double,int,double,copy_int_to_double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(uint_to_long,unsigned int,long,copy_uint_to_long)
-DEFUN_2(uint_to_ulong,unsigned int,unsigned long,copy_uint_to_ulong)
-#else
-# define uint_to_long NULL
-# define uint_to_ulong NULL
-#endif
-DEFUN_2(uint_to_float,unsigned int,float,copy_uint_to_float)
-DEFUN_2(uint_to_double,unsigned int,double,copy_uint_to_double)
-
-#if SIZEOF_INT != SIZEOF_LONG
-DEFUN_2(long_to_float,long,float,copy_long_to_float)
-DEFUN_2(long_to_double,long,double,copy_long_to_double)
-DEFUN_2(ulong_to_float,unsigned long,float,copy_ulong_to_float)
-DEFUN_2(ulong_to_double,unsigned long,double,copy_ulong_to_double)
-#else
-# define long_to_float int_to_float
-# define long_to_double int_to_double
-# define ulong_to_float uint_to_float
-# define ulong_to_double uint_to_double
-#endif
-
-DEFUN_2(float_to_double,float,double,copy_float_to_double)
-
-#define TO_DOUBLE_FUN(name,type) \
-static double name (VOID_STAR x) { return (double) *(type *) x; }
-TO_DOUBLE_FUN(char_to_one_double,char)
-TO_DOUBLE_FUN(uchar_to_one_double,unsigned char)
-#if SIZEOF_INT != SIZEOF_SHORT
-TO_DOUBLE_FUN(short_to_one_double,short)
-TO_DOUBLE_FUN(ushort_to_one_double,unsigned short)
-#else
-# define short_to_one_double int_to_one_double
-# define ushort_to_one_double uint_to_one_double
-#endif
-TO_DOUBLE_FUN(int_to_one_double,int)
-TO_DOUBLE_FUN(uint_to_one_double,unsigned int)
-#if SIZEOF_INT != SIZEOF_LONG
-TO_DOUBLE_FUN(long_to_one_double,long)
-TO_DOUBLE_FUN(ulong_to_one_double,unsigned long)
-#else
-# define long_to_one_double int_to_one_double
-# define ulong_to_one_double uint_to_one_double
-#endif
-TO_DOUBLE_FUN(float_to_one_double,float)
-TO_DOUBLE_FUN(double_to_one_double,double)
-
-SLang_To_Double_Fun_Type
-SLarith_get_to_double_fun (unsigned char type, unsigned int *sizeof_type)
-{
- unsigned int da;
- SLang_To_Double_Fun_Type to_double;
-
- switch (type)
- {
- default:
- return NULL;
-
- case SLANG_CHAR_TYPE:
- da = sizeof (char); to_double = char_to_one_double;
- break;
- case SLANG_UCHAR_TYPE:
- da = sizeof (unsigned char); to_double = uchar_to_one_double;
- break;
- case SLANG_SHORT_TYPE:
- da = sizeof (short); to_double = short_to_one_double;
- break;
- case SLANG_USHORT_TYPE:
- da = sizeof (unsigned short); to_double = ushort_to_one_double;
- break;
- case SLANG_INT_TYPE:
- da = sizeof (int); to_double = int_to_one_double;
- break;
- case SLANG_UINT_TYPE:
- da = sizeof (unsigned int); to_double = uint_to_one_double;
- break;
- case SLANG_LONG_TYPE:
- da = sizeof (long); to_double = long_to_one_double;
- break;
- case SLANG_ULONG_TYPE:
- da = sizeof (unsigned long); to_double = ulong_to_one_double;
- break;
- case SLANG_FLOAT_TYPE:
- da = sizeof (float); to_double = float_to_one_double;
- break;
- case SLANG_DOUBLE_TYPE:
- da = sizeof (double); to_double = double_to_one_double;
- break;
- }
-
- if (sizeof_type != NULL) *sizeof_type = da;
- return to_double;
-}
-
-/* Each element of the matrix determines how the row maps onto the column.
- * That is, let the matrix be B_ij. Where the i,j indices refer to
- * precedence of the type. Then,
- * B_ij->copy_function copies type i to type j. Similarly,
- * B_ij->convert_function mallocs a new array of type j and copies i to it.
- *
- * Since types are always converted to higher levels of precedence for binary
- * operations, many of the elements are NULL.
- *
- * Is the idea clear?
- */
-typedef struct
-{
- FVOID_STAR copy_function;
- Convert_Fun_Type convert_function;
-}
-Binary_Matrix_Type;
-
-static Binary_Matrix_Type Binary_Matrix [MAX_ARITHMETIC_TYPES][MAX_ARITHMETIC_TYPES] =
-{
- {
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR) copy_char_to_short, NULL},
- {(FVOID_STAR) copy_char_to_ushort, NULL},
- {(FVOID_STAR) copy_char_to_int, char_to_int},
- {(FVOID_STAR) copy_char_to_uint, char_to_uint},
- {(FVOID_STAR) copy_char_to_long, char_to_long},
- {(FVOID_STAR) copy_char_to_ulong, char_to_ulong},
- {(FVOID_STAR) copy_char_to_float, char_to_float},
- {(FVOID_STAR) copy_char_to_double, char_to_double},
- },
-
- {
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR)copy_char_to_char, NULL},
- {(FVOID_STAR) copy_uchar_to_short, NULL},
- {(FVOID_STAR) copy_uchar_to_ushort, NULL},
- {(FVOID_STAR) copy_uchar_to_int, uchar_to_int},
- {(FVOID_STAR) copy_uchar_to_uint, uchar_to_uint},
- {(FVOID_STAR) copy_uchar_to_long, uchar_to_long},
- {(FVOID_STAR) copy_uchar_to_ulong, uchar_to_ulong},
- {(FVOID_STAR) copy_uchar_to_float, uchar_to_float},
- {(FVOID_STAR) copy_uchar_to_double, uchar_to_double},
- },
-
- {
- {(FVOID_STAR) copy_short_to_char, NULL},
- {(FVOID_STAR) copy_short_to_uchar, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_int, short_to_int},
- {(FVOID_STAR) copy_short_to_uint, short_to_uint},
- {(FVOID_STAR) copy_short_to_long, short_to_long},
- {(FVOID_STAR) copy_short_to_ulong, short_to_ulong},
- {(FVOID_STAR) copy_short_to_float, short_to_float},
- {(FVOID_STAR) copy_short_to_double, short_to_double},
- },
-
- {
- {(FVOID_STAR) copy_ushort_to_char, NULL},
- {(FVOID_STAR) copy_ushort_to_uchar, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_short_to_short, NULL},
- {(FVOID_STAR) copy_ushort_to_int, ushort_to_int},
- {(FVOID_STAR) copy_ushort_to_uint, ushort_to_uint},
- {(FVOID_STAR) copy_ushort_to_long, ushort_to_long},
- {(FVOID_STAR) copy_ushort_to_ulong, ushort_to_ulong},
- {(FVOID_STAR) copy_ushort_to_float, ushort_to_float},
- {(FVOID_STAR) copy_ushort_to_double, ushort_to_double},
- },
-
- {
- {(FVOID_STAR) copy_int_to_char, NULL},
- {(FVOID_STAR) copy_int_to_uchar, NULL},
- {(FVOID_STAR) copy_int_to_short, NULL},
- {(FVOID_STAR) copy_int_to_ushort, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_long, int_to_long},
- {(FVOID_STAR) copy_int_to_ulong, int_to_ulong},
- {(FVOID_STAR) copy_int_to_float, int_to_float},
- {(FVOID_STAR) copy_int_to_double, int_to_double},
- },
-
- {
- {(FVOID_STAR) copy_uint_to_char, NULL},
- {(FVOID_STAR) copy_uint_to_uchar, NULL},
- {(FVOID_STAR) copy_uint_to_short, NULL},
- {(FVOID_STAR) copy_uint_to_ushort, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_int_to_int, NULL},
- {(FVOID_STAR) copy_uint_to_long, uint_to_long},
- {(FVOID_STAR) copy_uint_to_ulong, uint_to_ulong},
- {(FVOID_STAR) copy_uint_to_float, uint_to_float},
- {(FVOID_STAR) copy_uint_to_double, uint_to_double},
- },
-
- {
- {(FVOID_STAR) copy_long_to_char, NULL},
- {(FVOID_STAR) copy_long_to_uchar, NULL},
- {(FVOID_STAR) copy_long_to_short, NULL},
- {(FVOID_STAR) copy_long_to_ushort, NULL},
- {(FVOID_STAR) copy_long_to_int, NULL},
- {(FVOID_STAR) copy_long_to_uint, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_float, long_to_float},
- {(FVOID_STAR) copy_long_to_double, long_to_double},
- },
-
- {
- {(FVOID_STAR) copy_ulong_to_char, NULL},
- {(FVOID_STAR) copy_ulong_to_uchar, NULL},
- {(FVOID_STAR) copy_ulong_to_short, NULL},
- {(FVOID_STAR) copy_ulong_to_ushort, NULL},
- {(FVOID_STAR) copy_ulong_to_int, NULL},
- {(FVOID_STAR) copy_ulong_to_uint, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_long_to_long, NULL},
- {(FVOID_STAR) copy_ulong_to_float, ulong_to_float},
- {(FVOID_STAR) copy_ulong_to_double, ulong_to_double},
- },
-
- {
- {(FVOID_STAR) copy_float_to_char, NULL},
- {(FVOID_STAR) copy_float_to_uchar, NULL},
- {(FVOID_STAR) copy_float_to_short, NULL},
- {(FVOID_STAR) copy_float_to_ushort, NULL},
- {(FVOID_STAR) copy_float_to_int, NULL},
- {(FVOID_STAR) copy_float_to_uint, NULL},
- {(FVOID_STAR) copy_float_to_long, NULL},
- {(FVOID_STAR) copy_float_to_ulong, NULL},
- {(FVOID_STAR) copy_float_to_float, NULL},
- {(FVOID_STAR) copy_float_to_double, float_to_double},
- },
-
- {
- {(FVOID_STAR) copy_double_to_char, NULL},
- {(FVOID_STAR) copy_double_to_uchar, NULL},
- {(FVOID_STAR) copy_double_to_short, NULL},
- {(FVOID_STAR) copy_double_to_ushort, NULL},
- {(FVOID_STAR) copy_double_to_int, NULL},
- {(FVOID_STAR) copy_double_to_uint, NULL},
- {(FVOID_STAR) copy_double_to_long, NULL},
- {(FVOID_STAR) copy_double_to_ulong, NULL},
- {(FVOID_STAR) copy_double_to_float, NULL},
- {(FVOID_STAR) copy_double_to_double, NULL},
- }
-};
-
-#define GENERIC_BINARY_FUNCTION int_int_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE int
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define ABS_FUNCTION abs
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION int_unary_op
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION int_int_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_INT_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION int_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION uint_uint_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned int
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION uint_unary_op
-#define ABS_FUNCTION(a) (a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define SCALAR_BINARY_FUNCTION uint_uint_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_UINT_TYPE,(int)(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION uint_cmp_function
-#include "slarith.inc"
-
-#if SIZEOF_LONG != SIZEOF_INT
-#define GENERIC_BINARY_FUNCTION long_long_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE long
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION long_unary_op
-#define ABS_FUNCTION(a) (((a) >= 0) ? (a) : -(a))
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION long_long_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_LONG_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION long_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION ulong_ulong_bin_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned long
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) ((a) % (b))
-#define GENERIC_UNARY_FUNCTION ulong_unary_op
-#define ABS_FUNCTION(a) (a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define SCALAR_BINARY_FUNCTION ulong_ulong_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_ULONG_TYPE,(long)(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION ulong_cmp_function
-#include "slarith.inc"
-#else
-#define long_long_bin_op int_int_bin_op
-#define ulong_ulong_bin_op uint_uint_bin_op
-#define long_unary_op int_unary_op
-#define ulong_unary_op uint_unary_op
-#define long_cmp_function int_cmp_function
-#define ulong_cmp_function uint_cmp_function
-#endif /* SIZEOF_INT != SIZEOF_LONG */
-
-#define GENERIC_BINARY_FUNCTION float_float_bin_op
-#define GENERIC_TYPE float
-#define POW_FUNCTION(a,b) (float)pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE float
-#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
-#define GENERIC_UNARY_FUNCTION float_unary_op
-#define ABS_FUNCTION(a) (float)fabs((double) a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION float_float_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE, (x))
-#define CMP_FUNCTION float_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_BINARY_FUNCTION double_double_bin_op
-#define GENERIC_TYPE double
-#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
-#define POW_RESULT_TYPE double
-#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
-#define GENERIC_UNARY_FUNCTION double_unary_op
-#define ABS_FUNCTION(a) fabs(a)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define SCALAR_BINARY_FUNCTION double_double_scalar_bin_op
-#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE,(x))
-#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
-#define CMP_FUNCTION double_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION char_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE signed char
-#define ABS_FUNCTION abs
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define CMP_FUNCTION char_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION uchar_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned char
-#define ABS_FUNCTION(x) (x)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define CMP_FUNCTION uchar_cmp_function
-#include "slarith.inc"
-
-#if SIZEOF_SHORT != SIZEOF_INT
-#define GENERIC_UNARY_FUNCTION short_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE short
-#define ABS_FUNCTION abs
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
-#define CMP_FUNCTION short_cmp_function
-#include "slarith.inc"
-
-#define GENERIC_UNARY_FUNCTION ushort_unary_op
-#define GENERIC_BIT_OPERATIONS
-#define GENERIC_TYPE unsigned short
-#define ABS_FUNCTION(x) (x)
-#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
-#define CMP_FUNCTION ushort_cmp_function
-#include "slarith.inc"
-#endif /* SIZEOF_INT != SIZEOF_SHORT */
-
-/* Unfortunately, the numbers that were assigned to the data-types were
- * not well thought out. So, I need to use the following table.
- */
-#define MAXIMUM_ARITH_TYPE_VALUE SLANG_FLOAT_TYPE
-#define IS_INTEGER_TYPE(x) \
- (((x) <= MAXIMUM_ARITH_TYPE_VALUE) \
- && (Type_Precedence_Table[x] < 8) && (Type_Precedence_Table[x] != -1))
-#define IS_ARITHMETIC_TYPE(x) \
- (((x) <= MAXIMUM_ARITH_TYPE_VALUE) && (Type_Precedence_Table[x] != -1))
-
-#define LONG_PRECEDENCE_VALUE 6
-#define FLOAT_PRECEDENCE_VALUE 8
-
-static signed char Type_Precedence_Table [MAXIMUM_ARITH_TYPE_VALUE + 1] =
-{
- -1, /* SLANG_UNDEFINED_TYPE */
- -1, /* SLANG_VOID_TYPE */
- 4, /* SLANG_INT_TYPE */
- 9, /* SLANG_DOUBLE_TYPE */
- 0, /* SLANG_CHAR_TYPE */
- -1, /* SLANG_INTP_TYPE */
- -1, /* SLANG_REF_TYPE */
- -1, /* SLANG_COMPLEX_TYPE */
- -1, /* SLANG_NULL_TYPE */
- 1, /* SLANG_UCHAR_TYPE */
- 2, /* SLANG_SHORT_TYPE */
- 3, /* SLANG_USHORT_TYPE */
- 5, /* SLANG_UINT_TYPE */
- 6, /* SLANG_LONG_TYPE */
- 7, /* SLANG_ULONG_TYPE */
- -1, /* SLANG_STRING_TYPE */
- 8 /* SLANG_FLOAT_TYPE */
-};
-
-int _SLarith_get_precedence (unsigned char type)
-{
- if (type > MAXIMUM_ARITH_TYPE_VALUE)
- return -1;
-
- return Type_Precedence_Table[type];
-}
-
-unsigned char _SLarith_promote_type (unsigned char t)
-{
- switch (t)
- {
- case SLANG_FLOAT_TYPE:
- case SLANG_DOUBLE_TYPE:
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- break;
-
- case SLANG_USHORT_TYPE:
-#if SIZEOF_INT == SIZEOF_SHORT
- t = SLANG_UINT_TYPE;
- break;
-#endif
- /* drop */
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- case SLANG_SHORT_TYPE:
- default:
- t = SLANG_INT_TYPE;
- }
-
- return t;
-}
-
-static unsigned char promote_to_common_type (unsigned char a, unsigned char b)
-{
- a = _SLarith_promote_type (a);
- b = _SLarith_promote_type (b);
-
- return (Type_Precedence_Table[a] > Type_Precedence_Table[b]) ? a : b;
-}
-
-static int arith_bin_op_result (int op, unsigned char a_type, unsigned char b_type,
- unsigned char *c_type)
-{
- switch (op)
- {
- case SLANG_EQ:
- case SLANG_NE:
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_OR:
- case SLANG_AND:
- *c_type = SLANG_CHAR_TYPE;
- return 1;
-
- case SLANG_POW:
- if (SLANG_FLOAT_TYPE == promote_to_common_type (a_type, b_type))
- *c_type = SLANG_FLOAT_TYPE;
- else
- *c_type = SLANG_DOUBLE_TYPE;
- return 1;
-
- case SLANG_BAND:
- case SLANG_BXOR:
- case SLANG_BOR:
- case SLANG_SHL:
- case SLANG_SHR:
- /* The bit-level operations are defined just for integer types */
- if ((0 == IS_INTEGER_TYPE (a_type))
- || (0 == IS_INTEGER_TYPE(b_type)))
- return 0;
- break;
-
- default:
- break;
- }
-
- *c_type = promote_to_common_type (a_type, b_type);
- return 1;
-}
-
-typedef int (*Bin_Fun_Type) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
-
-/* This array of functions must be indexed by precedence after arithmetic
- * promotions.
- */
-static Bin_Fun_Type Bin_Fun_Map [MAX_ARITHMETIC_TYPES] =
-{
- NULL,
- NULL,
- NULL,
- NULL,
- int_int_bin_op,
- uint_uint_bin_op,
- long_long_bin_op,
- ulong_ulong_bin_op,
- float_float_bin_op,
- double_double_bin_op
-};
-
-static int arith_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- Convert_Fun_Type af, bf;
- Bin_Fun_Type binfun;
- int a_indx, b_indx, c_indx;
- unsigned char c_type;
- int ret;
-
- c_type = promote_to_common_type (a_type, b_type);
-
- a_indx = Type_Precedence_Table [a_type];
- b_indx = Type_Precedence_Table [b_type];
- c_indx = Type_Precedence_Table [c_type];
-
- af = Binary_Matrix[a_indx][c_indx].convert_function;
- bf = Binary_Matrix[b_indx][c_indx].convert_function;
- binfun = Bin_Fun_Map[c_indx];
-
- if ((af != NULL)
- && (NULL == (ap = (VOID_STAR) (*af) (ap, na))))
- return -1;
-
- if ((bf != NULL)
- && (NULL == (bp = (VOID_STAR) (*bf) (bp, nb))))
- {
- if (af != NULL) SLfree ((char *) ap);
- return -1;
- }
-
- ret = (*binfun) (op, a_type, ap, na, b_type, bp, nb, cp);
- if (af != NULL) SLfree ((char *) ap);
- if (bf != NULL) SLfree ((char *) bp);
-
- return ret;
-}
-
-static int arith_unary_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_SQR:
- case SLANG_MUL2:
- case SLANG_PLUSPLUS:
- case SLANG_MINUSMINUS:
- case SLANG_CHS:
- case SLANG_ABS:
- *b = a;
- break;
-
- case SLANG_NOT:
- case SLANG_BNOT:
- if (0 == IS_INTEGER_TYPE(a))
- return 0;
- *b = a;
- break;
-
- case SLANG_SIGN:
- *b = SLANG_INT_TYPE;
- break;
- }
- return 1;
-}
-
-static int integer_pop (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type obj;
- int i, j;
- void (*f)(VOID_STAR, VOID_STAR, unsigned int);
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- if ((obj.data_type > MAXIMUM_ARITH_TYPE_VALUE)
- || ((j = Type_Precedence_Table[obj.data_type]) == -1)
- || (j >= FLOAT_PRECEDENCE_VALUE))
- {
- _SLclass_type_mismatch_error (type, obj.data_type);
- SLang_free_object (&obj);
- return -1;
- }
-
- i = Type_Precedence_Table[type];
- f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[j][i].copy_function;
-
- (*f) (ptr, (VOID_STAR)&obj.v, 1);
-
- return 0;
-}
-
-static int integer_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type obj;
- int i;
- void (*f)(VOID_STAR, VOID_STAR, unsigned int);
-
- i = Type_Precedence_Table[type];
- f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][i].copy_function;
-
- obj.data_type = type;
-
- (*f) ((VOID_STAR)&obj.v, ptr, 1);
-
- return SLang_push (&obj);
-}
-
-int SLang_pop_char (char *i)
-{
- return integer_pop (SLANG_CHAR_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_uchar (unsigned char *i)
-{
- return integer_pop (SLANG_UCHAR_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_short (short *i)
-{
- return integer_pop (SLANG_SHORT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_ushort (unsigned short *i)
-{
- return integer_pop (SLANG_USHORT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_long (long *i)
-{
- return integer_pop (SLANG_LONG_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_ulong (unsigned long *i)
-{
- return integer_pop (SLANG_ULONG_TYPE, (VOID_STAR) i);
-}
-
-int SLang_pop_integer (int *i)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, &obj, 0))
- return -1;
- *i = obj.v.int_val;
- return 0;
-#else
- return integer_pop (SLANG_INT_TYPE, (VOID_STAR) i);
-#endif
-}
-
-int SLang_pop_uinteger (unsigned int *i)
-{
- return integer_pop (SLANG_UINT_TYPE, (VOID_STAR) i);
-}
-
-int SLang_push_integer (int i)
-{
- return SLclass_push_int_obj (SLANG_INT_TYPE, i);
-}
-int SLang_push_uinteger (unsigned int i)
-{
- return SLclass_push_int_obj (SLANG_UINT_TYPE, (int) i);
-}
-int SLang_push_char (char i)
-{
- return SLclass_push_char_obj (SLANG_CHAR_TYPE, i);
-}
-int SLang_push_uchar (unsigned char i)
-{
- return SLclass_push_char_obj (SLANG_UCHAR_TYPE, (char) i);
-}
-int SLang_push_short (short i)
-{
- return SLclass_push_short_obj (SLANG_SHORT_TYPE, i);
-}
-int SLang_push_ushort (unsigned short i)
-{
- return SLclass_push_short_obj (SLANG_USHORT_TYPE, (unsigned short) i);
-}
-int SLang_push_long (long i)
-{
- return SLclass_push_long_obj (SLANG_LONG_TYPE, i);
-}
-int SLang_push_ulong (unsigned long i)
-{
- return SLclass_push_long_obj (SLANG_ULONG_TYPE, (long) i);
-}
-
-_INLINE_
-int _SLarith_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- int i, j;
-
- void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
-
- i = Type_Precedence_Table[a_type];
- j = Type_Precedence_Table[b_type];
-
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
-
- (*copy) (bp, ap, na);
- return 1;
-}
-
-#if SLANG_HAS_FLOAT
-
-int SLang_pop_double(double *x, int *convertp, int *ip)
-{
- SLang_Object_Type obj;
- int i, convert;
-
- if (0 != SLang_pop (&obj))
- return -1;
-
- i = 0;
- convert = 0;
-
- switch (obj.data_type)
- {
- case SLANG_FLOAT_TYPE:
- *x = (double) obj.v.float_val;
- break;
-
- case SLANG_DOUBLE_TYPE:
- *x = obj.v.double_val;
- break;
-
- case SLANG_INT_TYPE:
- i = (int) obj.v.long_val;
- *x = (double) i;
- convert = 1;
- break;
-
- case SLANG_CHAR_TYPE: *x = (double) obj.v.char_val; break;
- case SLANG_UCHAR_TYPE: *x = (double) obj.v.uchar_val; break;
- case SLANG_SHORT_TYPE: *x = (double) obj.v.short_val; break;
- case SLANG_USHORT_TYPE: *x = (double) obj.v.ushort_val; break;
- case SLANG_UINT_TYPE: *x = (double) obj.v.uint_val; break;
- case SLANG_LONG_TYPE: *x = (double) obj.v.long_val; break;
- case SLANG_ULONG_TYPE: *x = (double) obj.v.ulong_val; break;
-
- default:
- _SLclass_type_mismatch_error (SLANG_DOUBLE_TYPE, obj.data_type);
- SLang_free_object (&obj);
- return -1;
- }
-
- if (convertp != NULL) *convertp = convert;
- if (ip != NULL) *ip = i;
-
- return 0;
-}
-
-int SLang_push_double (double x)
-{
- return SLclass_push_double_obj (SLANG_DOUBLE_TYPE, x);
-}
-
-int SLang_pop_float (float *x)
-{
- double d;
-
- /* Pop it as a double and let the double function do all the typcasting */
- if (-1 == SLang_pop_double (&d, NULL, NULL))
- return -1;
-
- *x = (float) d;
- return 0;
-}
-
-int SLang_push_float (float f)
-{
- return SLclass_push_float_obj (SLANG_FLOAT_TYPE, (double) f);
-}
-
-/* Double */
-static int double_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLang_push_double (*(double *) ptr);
- return 0;
-}
-
-static int double_push_literal (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- return SLang_push_double (**(double **)ptr);
-}
-
-static int double_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_double ((double *) ptr, NULL, NULL);
-}
-
-static void double_byte_code_destroy (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLfree (*(char **) ptr);
-}
-
-static int float_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- SLang_push_float (*(float *) ptr);
- return 0;
-}
-
-static int float_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_float ((float *) ptr);
-}
-
-#endif /* SLANG_HAS_FLOAT */
-
-#if SLANG_HAS_FLOAT
-static char Double_Format[16] = "%g";
-
-void _SLset_double_format (char *s)
-{
- strncpy (Double_Format, s, 15);
- Double_Format[15] = 0;
-}
-#endif
-
-static char *arith_string (unsigned char type, VOID_STAR v)
-{
- char buf [256];
- char *s;
-
- s = buf;
-
- switch (type)
- {
- default:
- s = SLclass_get_datatype_name (type);
- break;
-
- case SLANG_CHAR_TYPE:
- sprintf (s, "%d", *(char *) v);
- break;
- case SLANG_UCHAR_TYPE:
- sprintf (s, "%u", *(unsigned char *) v);
- break;
- case SLANG_SHORT_TYPE:
- sprintf (s, "%d", *(short *) v);
- break;
- case SLANG_USHORT_TYPE:
- sprintf (s, "%u", *(unsigned short *) v);
- break;
- case SLANG_INT_TYPE:
- sprintf (s, "%d", *(int *) v);
- break;
- case SLANG_UINT_TYPE:
- sprintf (s, "%u", *(unsigned int *) v);
- break;
- case SLANG_LONG_TYPE:
- sprintf (s, "%ld", *(long *) v);
- break;
- case SLANG_ULONG_TYPE:
- sprintf (s, "%lu", *(unsigned long *) v);
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(float *) v))
- sprintf (s, "%e", *(float *) v);
- break;
- case SLANG_DOUBLE_TYPE:
- if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(double *) v))
- sprintf (s, "%e", *(double *) v);
- break;
-#endif
- }
-
- return SLmake_string (s);
-}
-
-static int integer_to_bool (unsigned char type, int *t)
-{
- (void) type;
- return SLang_pop_integer (t);
-}
-
-static int push_int_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_int_obj (type, (int) *(long *) ptr);
-}
-
-static int push_char_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_char_obj (type, (char) *(long *) ptr);
-}
-
-#if SIZEOF_SHORT != SIZEOF_INT
-static int push_short_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_short_obj (type, (short) *(long *) ptr);
-}
-#endif
-
-#if SIZEOF_INT != SIZEOF_LONG
-static int push_long_literal (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_push_long_obj (type, *(long *) ptr);
-}
-#endif
-
-typedef struct
-{
- char *name;
- unsigned char data_type;
- unsigned int sizeof_type;
- int (*unary_fun)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- int (*push_literal) (unsigned char, VOID_STAR);
- int (*cmp_fun) (unsigned char, VOID_STAR, VOID_STAR, int *);
-}
-Integer_Info_Type;
-
-static Integer_Info_Type Integer_Types [8] =
-{
- {"Char_Type", SLANG_CHAR_TYPE, sizeof (char), char_unary_op, push_char_literal, char_cmp_function},
- {"UChar_Type", SLANG_UCHAR_TYPE, sizeof (unsigned char), uchar_unary_op, push_char_literal, uchar_cmp_function},
-#if SIZEOF_INT != SIZEOF_SHORT
- {"Short_Type", SLANG_SHORT_TYPE, sizeof (short), short_unary_op, push_short_literal, short_cmp_function},
- {"UShort_Type", SLANG_USHORT_TYPE, sizeof (unsigned short), ushort_unary_op, push_short_literal, ushort_cmp_function},
-#else
- {NULL, SLANG_SHORT_TYPE},
- {NULL, SLANG_USHORT_TYPE},
-#endif
-
- {"Integer_Type", SLANG_INT_TYPE, sizeof (int), int_unary_op, push_int_literal, int_cmp_function},
- {"UInteger_Type", SLANG_UINT_TYPE, sizeof (unsigned int), uint_unary_op, push_int_literal, uint_cmp_function},
-
-#if SIZEOF_INT != SIZEOF_LONG
- {"Long_Type", SLANG_LONG_TYPE, sizeof (long), long_unary_op, push_long_literal, long_cmp_function},
- {"ULong_Type", SLANG_ULONG_TYPE, sizeof (unsigned long), ulong_unary_op, push_long_literal, ulong_cmp_function}
-#else
- {NULL, SLANG_LONG_TYPE, 0, NULL, NULL, NULL},
- {NULL, SLANG_ULONG_TYPE, 0, NULL, NULL, NULL}
-#endif
-};
-
-static int create_synonyms (void)
-{
- static char *names[8] =
- {
- "Int16_Type", "UInt16_Type", "Int32_Type", "UInt32_Type",
- "Int64_Type", "UInt64_Type",
- "Float32_Type", "Float64_Type"
- };
- int types[8];
- unsigned int i;
-
- memset ((char *) types, 0, sizeof (types));
-
- /* The assumption is that sizeof(unsigned X) == sizeof (X) */
-#if SIZEOF_INT == 2
- types[0] = SLANG_INT_TYPE;
- types[1] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 2
- types[0] = SLANG_SHORT_TYPE;
- types[1] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 2
- types[0] = SLANG_LONG_TYPE;
- types[1] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SIZEOF_INT == 4
- types[2] = SLANG_INT_TYPE;
- types[3] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 4
- types[2] = SLANG_SHORT_TYPE;
- types[3] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 4
- types[2] = SLANG_LONG_TYPE;
- types[3] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SIZEOF_INT == 8
- types[4] = SLANG_INT_TYPE;
- types[5] = SLANG_UINT_TYPE;
-#else
-# if SIZEOF_SHORT == 8
- types[4] = SLANG_SHORT_TYPE;
- types[5] = SLANG_USHORT_TYPE;
-# else
-# if SIZEOF_LONG == 8
- types[4] = SLANG_LONG_TYPE;
- types[5] = SLANG_ULONG_TYPE;
-# endif
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-
-#if SIZEOF_FLOAT == 4
- types[6] = SLANG_FLOAT_TYPE;
-#else
-# if SIZEOF_DOUBLE == 4
- types[6] = SLANG_DOUBLE_TYPE;
-# endif
-#endif
-#if SIZEOF_FLOAT == 8
- types[7] = SLANG_FLOAT_TYPE;
-#else
-# if SIZEOF_DOUBLE == 8
- types[7] = SLANG_DOUBLE_TYPE;
-# endif
-#endif
-
-#endif
-
- if ((-1 == SLclass_create_synonym ("Int_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("UInt_Type", SLANG_UINT_TYPE)))
- return -1;
-
- for (i = 0; i < 8; i++)
- {
- if (types[i] == 0) continue;
-
- if (-1 == SLclass_create_synonym (names[i], types[i]))
- return -1;
- }
-
-#if SIZEOF_INT == SIZEOF_SHORT
- if ((-1 == SLclass_create_synonym ("Short_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("UShort_Type", SLANG_UINT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_SHORT_TYPE, SLANG_INT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_USHORT_TYPE, SLANG_UINT_TYPE)))
- return -1;
-#endif
-#if SIZEOF_INT == SIZEOF_LONG
- if ((-1 == SLclass_create_synonym ("Long_Type", SLANG_INT_TYPE))
- || (-1 == SLclass_create_synonym ("ULong_Type", SLANG_UINT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_LONG_TYPE, SLANG_INT_TYPE))
- || (-1 == _SLclass_copy_class (SLANG_ULONG_TYPE, SLANG_UINT_TYPE)))
- return -1;
-#endif
- return 0;
-}
-
-int _SLarith_register_types (void)
-{
- SLang_Class_Type *cl;
- int a_type, b_type;
- int i, j;
-
-#if defined(HAVE_SETLOCALE) && defined(LC_NUMERIC)
- /* make sure decimal point it used --- the parser requires it */
- (void) setlocale (LC_NUMERIC, "C");
-#endif
-
- for (i = 0; i < 8; i++)
- {
- Integer_Info_Type *info;
-
- info = Integer_Types + i;
-
- if (info->name == NULL)
- {
- /* This happens when the object is the same size as an integer
- * For this case, we really want to copy the integer class.
- * We will handle that when the synonym is created.
- */
- continue;
- }
-
- if (NULL == (cl = SLclass_allocate_class (info->name)))
- return -1;
-
- (void) SLclass_set_string_function (cl, arith_string);
- (void) SLclass_set_push_function (cl, integer_push);
- (void) SLclass_set_pop_function (cl, integer_pop);
- cl->cl_push_literal = info->push_literal;
- cl->cl_to_bool = integer_to_bool;
-
- cl->cl_cmp = info->cmp_fun;
-
- if (-1 == SLclass_register_class (cl, info->data_type, info->sizeof_type,
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (info->data_type, info->unary_fun, arith_unary_op_result))
- return -1;
-
- _SLarith_Is_Arith_Type [info->data_type] = 1;
- }
-
-#if SLANG_HAS_FLOAT
- if (NULL == (cl = SLclass_allocate_class ("Double_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, double_push);
- (void) SLclass_set_pop_function (cl, double_pop);
- (void) SLclass_set_string_function (cl, arith_string);
- cl->cl_byte_code_destroy = double_byte_code_destroy;
- cl->cl_push_literal = double_push_literal;
- cl->cl_cmp = double_cmp_function;
-
- if (-1 == SLclass_register_class (cl, SLANG_DOUBLE_TYPE, sizeof (double),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (SLANG_DOUBLE_TYPE, double_unary_op, arith_unary_op_result))
- return -1;
- _SLarith_Is_Arith_Type [SLANG_DOUBLE_TYPE] = 2;
-
- if (NULL == (cl = SLclass_allocate_class ("Float_Type")))
- return -1;
- (void) SLclass_set_string_function (cl, arith_string);
- (void) SLclass_set_push_function (cl, float_push);
- (void) SLclass_set_pop_function (cl, float_pop);
- cl->cl_cmp = float_cmp_function;
-
- if (-1 == SLclass_register_class (cl, SLANG_FLOAT_TYPE, sizeof (float),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- if (-1 == SLclass_add_unary_op (SLANG_FLOAT_TYPE, float_unary_op, arith_unary_op_result))
- return -1;
- _SLarith_Is_Arith_Type [SLANG_FLOAT_TYPE] = 2;
-#endif
-
- if (-1 == create_synonyms ())
- return -1;
-
- for (a_type = 0; a_type <= MAXIMUM_ARITH_TYPE_VALUE; a_type++)
- {
- if (-1 == (i = Type_Precedence_Table [a_type]))
- continue;
-
- for (b_type = 0; b_type <= MAXIMUM_ARITH_TYPE_VALUE; b_type++)
- {
- int implicit_ok;
-
- if (-1 == (j = Type_Precedence_Table [b_type]))
- continue;
-
- /* Allow implicit typecast, except from into to float */
- implicit_ok = ((j >= FLOAT_PRECEDENCE_VALUE)
- || (i < FLOAT_PRECEDENCE_VALUE));
-
- if (-1 == SLclass_add_binary_op (a_type, b_type, arith_bin_op, arith_bin_op_result))
- return -1;
-
- if (i != j)
- if (-1 == SLclass_add_typecast (a_type, b_type, _SLarith_typecast, implicit_ok))
- return -1;
- }
- }
-
- return 0;
-}
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-
-static void promote_objs (SLang_Object_Type *a, SLang_Object_Type *b,
- SLang_Object_Type *c, SLang_Object_Type *d)
-{
- unsigned char ia, ib, ic, id;
- int i, j;
- void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
-
- ia = a->data_type;
- ib = b->data_type;
-
- ic = _SLarith_promote_type (ia);
-
- if (ic == ib) id = ic; /* already promoted */
- else id = _SLarith_promote_type (ib);
-
- i = Type_Precedence_Table[ic];
- j = Type_Precedence_Table[id];
- if (i > j)
- {
- id = ic;
- j = i;
- }
-
- c->data_type = d->data_type = id;
-
- i = Type_Precedence_Table[ia];
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
- (*copy) ((VOID_STAR) &c->v, (VOID_STAR)&a->v, 1);
-
- i = Type_Precedence_Table[ib];
- copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
- Binary_Matrix[i][j].copy_function;
- (*copy) ((VOID_STAR) &d->v, (VOID_STAR)&b->v, 1);
-}
-
-int _SLarith_bin_op (SLang_Object_Type *oa, SLang_Object_Type *ob, int op)
-{
- unsigned char a_type, b_type;
-
- a_type = oa->data_type;
- b_type = ob->data_type;
-
- if (a_type != b_type)
- {
- SLang_Object_Type obj_a, obj_b;
-
- /* Handle common cases */
- if ((a_type == SLANG_INT_TYPE)
- && (b_type == SLANG_DOUBLE_TYPE))
- return double_double_scalar_bin_op (oa->v.int_val, ob->v.double_val, op);
-
- if ((a_type == SLANG_DOUBLE_TYPE)
- && (b_type == SLANG_INT_TYPE))
- return double_double_scalar_bin_op (oa->v.double_val, ob->v.int_val, op);
-
- /* Otherwise do it the hard way */
- promote_objs (oa, ob, &obj_a, &obj_b);
- oa = &obj_a;
- ob = &obj_b;
-
- a_type = oa->data_type;
- b_type = ob->data_type;
- }
-
-
- switch (a_type)
- {
- case SLANG_CHAR_TYPE:
- return int_int_scalar_bin_op (oa->v.char_val, ob->v.char_val, op);
-
- case SLANG_UCHAR_TYPE:
- return int_int_scalar_bin_op (oa->v.uchar_val, ob->v.uchar_val, op);
-
- case SLANG_SHORT_TYPE:
- return int_int_scalar_bin_op (oa->v.short_val, ob->v.short_val, op);
-
- case SLANG_USHORT_TYPE:
-# if SIZEOF_INT == SIZEOF_SHORT
- return uint_uint_scalar_bin_op (oa->v.ushort_val, ob->v.ushort_val, op);
-# else
- return int_int_scalar_bin_op ((int)oa->v.ushort_val, (int)ob->v.ushort_val, op);
-# endif
-
-#if SIZEOF_LONG == SIZEOF_INT
- case SLANG_LONG_TYPE:
-#endif
- case SLANG_INT_TYPE:
- return int_int_scalar_bin_op (oa->v.int_val, ob->v.int_val, op);
-
-#if SIZEOF_LONG == SIZEOF_INT
- case SLANG_ULONG_TYPE:
-#endif
- case SLANG_UINT_TYPE:
- return uint_uint_scalar_bin_op (oa->v.uint_val, ob->v.uint_val, op);
-
-#if SIZEOF_LONG != SIZEOF_INT
- case SLANG_LONG_TYPE:
- return long_long_scalar_bin_op (oa->v.long_val, ob->v.long_val, op);
- case SLANG_ULONG_TYPE:
- return ulong_ulong_scalar_bin_op (oa->v.ulong_val, ob->v.ulong_val, op);
-#endif
- case SLANG_FLOAT_TYPE:
- return float_float_scalar_bin_op (oa->v.float_val, ob->v.float_val, op);
- case SLANG_DOUBLE_TYPE:
- return double_double_scalar_bin_op (oa->v.double_val, ob->v.double_val, op);
- }
-
- return 1;
-}
-#endif
diff --git a/mdk-stage1/slang/slarith.inc b/mdk-stage1/slang/slarith.inc
deleted file mode 100644
index efa8a5e04..000000000
--- a/mdk-stage1/slang/slarith.inc
+++ /dev/null
@@ -1,783 +0,0 @@
-/* -*- c -*- */
-
-/* This include file is a template for defining arithmetic binary operations
- * on arithmetic types. I realize that doing it this way is not very
- * elegant but it minimizes the number of lines of code and I believe it
- * promotes clarity.
- */
-
-/* The following macros should be properly defined before including this file:
- *
- * GENERIC_BINARY_FUNCTION: The name of the binary function
- * GENERIC_TYPE: The class data type
- * MOD_FUNCTION: The function to use for mod
- * ABS_FUNCTION: Name of the abs function
- * SIGN_FUNCTION: Name of the sign function
- * GENERIC_UNARY_FUNCTION Name of the unary function
- *
- * If GENERIC_BIT_OPERATIONS is defined, the bit-level binary operators
- * will get included. If the data type has a power operation (SLANG_POW),
- * then POW_FUNCTION should be defined to return POW_RESULT_TYPE.
- */
-#ifdef GENERIC_BINARY_FUNCTION
-
-static int GENERIC_BINARY_FUNCTION
-(int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- GENERIC_TYPE *c, *a, *b;
-#ifdef POW_FUNCTION
- POW_RESULT_TYPE *d;
-#endif
- unsigned int n;
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- unsigned int n_max, da, db;
-#endif
- char *cc;
-
- (void) a_type; /* Both SLANG_INT_TYPE */
- (void) b_type;
-
- a = (GENERIC_TYPE *) ap;
- b = (GENERIC_TYPE *) bp;
- c = (GENERIC_TYPE *) cp;
- cc = (char *) cp;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-#endif
-
- switch (op)
- {
- default:
- return 0;
-#ifdef POW_FUNCTION
- case SLANG_POW:
- d = (POW_RESULT_TYPE *) cp;
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- d[n] = POW_FUNCTION(*a, *b);
- a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- d[n] = POW_FUNCTION(a[n],b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- if (xb == 2)
- for (n = 0; n < na; n++)
- d[n] = a[n] * a[n];
- else
- for (n = 0; n < na; n++)
- d[n] = POW_FUNCTION(a[n], xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- d[n] = POW_FUNCTION(xa, b[n]);
- }
-#endif
- break;
-#endif
- case SLANG_PLUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a + *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] + b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] + xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa + b[n];
- }
-#endif
- break;
-
- case SLANG_MINUS:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a - *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] - b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] - xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa - b[n];
- }
-#endif
- break;
-
- case SLANG_TIMES:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a * *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] * b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] * xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa * b[n];
- }
-#endif
- break;
-
- case SLANG_DIVIDE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- if (*b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = (*a / *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[n] / b[n];
- }
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
-
- if (xb == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- for (n = 0; n < na; n++)
- c[n] = a[n] / xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = xa / b[n];
- }
- }
-#endif
- break;
-
- case SLANG_MOD:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- if (*b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(*a, *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(a[n],b[n]);
- }
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- if (xb == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- for (n = 0; n < na; n++)
- c[n] = MOD_FUNCTION(a[n],xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- {
- if (b[n] == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = MOD_FUNCTION(xa,b[n]);
- }
- }
-#endif
- break;
-
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_BAND:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a & *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] & b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] & xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa & b[n];
- }
-#endif
- break;
-
- case SLANG_BXOR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a ^ *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] ^ b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] ^ xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa ^ b[n];
- }
-#endif
- break;
-
- case SLANG_BOR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a | *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] | b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] | xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa | b[n];
- }
-#endif
- break;
-
- case SLANG_SHL:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a << *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] << b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] << xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa << b[n];
- }
-#endif
- break;
-
- case SLANG_SHR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- c[n] = (*a >> *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- c[n] = a[n] >> b[n];
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- c[n] = a[n] >> xb;
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- c[n] = xa >> b[n];
- }
-#endif
- break;
-#endif /* GENERIC_BIT_OPERATIONS */
- case SLANG_EQ:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a == *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] == b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] == xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa == b[n]);
- }
-#endif
- break;
-
- case SLANG_NE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a != *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] != b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] != xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa != b[n]);
- }
-#endif
- break;
-
- case SLANG_GT:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a > *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] > b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] > xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa > b[n]);
- }
-#endif
- break;
-
- case SLANG_GE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a >= *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] >= b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] >= xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa >= b[n]);
- }
-#endif
- break;
-
- case SLANG_LT:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a < *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] < b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] < xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa < b[n]);
- }
-#endif
- break;
-
- case SLANG_LE:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a <= *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] <= b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] <= xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa <= b[n]);
- }
-#endif
- break;
-
- case SLANG_OR:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a || *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] || b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] || xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa || b[n]);
- }
-#endif
- break;
-
- case SLANG_AND:
-#if _SLANG_OPTIMIZE_FOR_SPEED < 2
- for (n = 0; n < n_max; n++)
- {
- cc[n] = (*a && *b); a += da; b += db;
- }
-#else
- if (na == nb)
- {
- for (n = 0; n < na; n++)
- cc[n] = (a[n] && b[n]);
- }
- else if (nb == 1)
- {
- GENERIC_TYPE xb = *b;
- for (n = 0; n < na; n++)
- cc[n] = (a[n] && xb);
- }
- else /* if (na == 1) */
- {
- GENERIC_TYPE xa = *a;
- for (n = 0; n < nb; n++)
- cc[n] = (xa && b[n]);
- }
-#endif
- break;
- }
- return 1;
-}
-
-#endif /* GENERIC_BINARY_FUNCTION */
-
-
-#ifdef GENERIC_UNARY_FUNCTION
-
-static int GENERIC_UNARY_FUNCTION
-(int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp
- )
-{
- GENERIC_TYPE *a, *b;
- unsigned int n;
- int *ib;
-
- (void) a_type;
-
- a = (GENERIC_TYPE *) ap;
- b = (GENERIC_TYPE *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- for (n = 0; n < na; n++) b[n] = (a[n] + 1);
- break;
- case SLANG_MINUSMINUS:
- for (n = 0; n < na; n++) b[n] = (a[n] - 1);
- break;
- case SLANG_CHS:
- for (n = 0; n < na; n++) b[n] = (GENERIC_TYPE) -(a[n]);
- break;
- case SLANG_SQR:
- for (n = 0; n < na; n++) b[n] = (a[n] * a[n]);
- break;
- case SLANG_MUL2:
- for (n = 0; n < na; n++) b[n] = (2 * a[n]);
- break;
- case SLANG_ABS:
- for (n = 0; n < na; n++) b[n] = ABS_FUNCTION (a[n]);
- break;
- case SLANG_SIGN:
- ib = (int *) bp;
- for (n = 0; n < na; n++)
- ib[n] = SIGN_FUNCTION(a[n]);
- break;
-
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_NOT:
- for (n = 0; n < na; n++) b[n] = !(a[n]);
- break;
- case SLANG_BNOT:
- for (n = 0; n < na; n++) b[n] = ~(a[n]);
- break;
-#endif
- }
-
- return 1;
-}
-#endif /* GENERIC_UNARY_FUNCTION */
-
-
-#ifdef SCALAR_BINARY_FUNCTION
-
-static int SCALAR_BINARY_FUNCTION (GENERIC_TYPE a, GENERIC_TYPE b, int op)
-{
- switch (op)
- {
- default:
- return 1;
-
-#ifdef POW_FUNCTION
- case SLANG_POW:
- return PUSH_POW_OBJ_FUN(POW_FUNCTION(a, b));
-#endif
- case SLANG_PLUS:
- return PUSH_SCALAR_OBJ_FUN (a + b);
- case SLANG_MINUS:
- return PUSH_SCALAR_OBJ_FUN (a - b);
- case SLANG_TIMES:
- return PUSH_SCALAR_OBJ_FUN (a * b);
- case SLANG_DIVIDE:
- if (b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- return PUSH_SCALAR_OBJ_FUN (a / b);
- case SLANG_MOD:
- if (b == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- return PUSH_SCALAR_OBJ_FUN (MOD_FUNCTION(a,b));
-#ifdef GENERIC_BIT_OPERATIONS
- case SLANG_BAND:
- return PUSH_SCALAR_OBJ_FUN (a & b);
- case SLANG_BXOR:
- return PUSH_SCALAR_OBJ_FUN (a ^ b);
- case SLANG_BOR:
- return PUSH_SCALAR_OBJ_FUN (a | b);
- case SLANG_SHL:
- return PUSH_SCALAR_OBJ_FUN (a << b);
- case SLANG_SHR:
- return PUSH_SCALAR_OBJ_FUN (a >> b);
-#endif
- case SLANG_GT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a > b));
- case SLANG_LT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a < b));
- case SLANG_GE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a >= b));
- case SLANG_LE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a <= b));
- case SLANG_EQ: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a == b));
- case SLANG_NE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a != b));
- case SLANG_OR: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a || b));
- case SLANG_AND: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a && b));
- }
-}
-
-#endif /* SCALAR_BINARY_FUNCTION */
-
-#ifdef CMP_FUNCTION
-static int CMP_FUNCTION (unsigned char unused, VOID_STAR a, VOID_STAR b, int *c)
-{
- GENERIC_TYPE x, y;
-
- (void) unused;
- x = *(GENERIC_TYPE *) a;
- y = *(GENERIC_TYPE *) b;
-
- if (x > y) *c = 1;
- else if (x == y) *c = 0;
- else *c = -1;
-
- return 0;
-}
-#endif
-
-#undef CMP_FUNCTION
-#undef SCALAR_BINARY_FUNCTION
-#undef PUSH_POW_OBJ_FUN
-#undef PUSH_SCALAR_OBJ_FUN
-#undef GENERIC_BINARY_FUNCTION
-#undef GENERIC_UNARY_FUNCTION
-#undef GENERIC_BIT_OPERATIONS
-#undef GENERIC_TYPE
-#undef POW_FUNCTION
-#undef POW_RESULT_TYPE
-#undef MOD_FUNCTION
-#undef ABS_FUNCTION
-#undef SIGN_FUNCTION
diff --git a/mdk-stage1/slang/slarray.c b/mdk-stage1/slang/slarray.c
deleted file mode 100644
index 0b9a1406c..000000000
--- a/mdk-stage1/slang/slarray.c
+++ /dev/null
@@ -1,3139 +0,0 @@
-/* Array manipulation routines for S-Lang */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- int first_index;
- int last_index;
- int delta;
-}
-SLarray_Range_Array_Type;
-
-/* Use SLang_pop_array when a linear array is required. */
-static int pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
-{
- SLang_Array_Type *at;
- int one = 1;
- int type;
-
- *at_ptr = NULL;
- type = SLang_peek_at_stack ();
-
- switch (type)
- {
- case -1:
- return -1;
-
- case SLANG_ARRAY_TYPE:
- return SLclass_pop_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR *) at_ptr);
-
- case SLANG_NULL_TYPE:
- convert_scalar = 0;
- /* drop */
- default:
- if (convert_scalar == 0)
- {
- SLdo_pop ();
- SLang_verror (SL_TYPE_MISMATCH, "Context requires an array. Scalar not converted");
- return -1;
- }
- break;
- }
-
- if (NULL == (at = SLang_create_array ((unsigned char) type, 0, NULL, &one, 1)))
- return -1;
-
- if (-1 == at->cl->cl_apop ((unsigned char) type, at->data))
- {
- SLang_free_array (at);
- return -1;
- }
-
- *at_ptr = at;
-
- return 0;
-}
-
-static VOID_STAR linear_get_data_addr (SLang_Array_Type *at, int *dims)
-{
- unsigned int num_dims;
- unsigned int ofs;
- unsigned int i;
- int *max_dims;
-
- ofs = 0;
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- for (i = 0; i < num_dims; i++)
- {
- int d = dims[i];
-
- if (d < 0)
- d = d + max_dims[i];
-
- ofs = ofs * (unsigned int)max_dims [i] + (unsigned int) d;
- }
-
- return (VOID_STAR) ((char *)at->data + (ofs * at->sizeof_type));
-}
-
-static VOID_STAR get_data_addr (SLang_Array_Type *at, int *dims)
-{
- VOID_STAR data;
-
- data = at->data;
- if (data == NULL)
- {
- SLang_verror (SL_UNKNOWN_ERROR, "Array has no data");
- return NULL;
- }
-
- data = (*at->index_fun) (at, dims);
-
- if (data == NULL)
- {
- SLang_verror (SL_UNKNOWN_ERROR, "Unable to access array element");
- return NULL;
- }
-
- return data;
-}
-
-void _SLarray_free_array_elements (SLang_Class_Type *cl, VOID_STAR s, unsigned int num)
-{
- unsigned int sizeof_type;
- void (*f) (unsigned char, VOID_STAR);
- char *p;
- unsigned char type;
-
- if ((cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR))
- return;
-
- f = cl->cl_destroy;
- sizeof_type = cl->cl_sizeof_type;
- type = cl->cl_data_type;
-
- p = (char *) s;
- while (num != 0)
- {
- if (NULL != *(VOID_STAR *)p)
- {
- (*f) (type, (VOID_STAR)p);
- *(VOID_STAR *) p = NULL;
- }
- p += sizeof_type;
- num--;
- }
-}
-
-static int destroy_element (SLang_Array_Type *at,
- int *dims,
- VOID_STAR data)
-{
- data = get_data_addr (at, dims);
- if (data == NULL)
- return -1;
-
- /* This function should only get called for arrays that have
- * pointer elements. Do not call the destroy method if the element
- * is NULL.
- */
- if (NULL != *(VOID_STAR *)data)
- {
- (*at->cl->cl_destroy) (at->data_type, data);
- *(VOID_STAR *) data = NULL;
- }
- return 0;
-}
-
-/* This function only gets called when a new array is created. Thus there
- * is no need to destroy the object first.
- */
-static int new_object_element (SLang_Array_Type *at,
- int *dims,
- VOID_STAR data)
-{
- data = get_data_addr (at, dims);
- if (data == NULL)
- return -1;
-
- return (*at->cl->cl_init_array_object) (at->data_type, data);
-}
-
-static int next_index (int *dims, int *max_dims, unsigned int num_dims)
-{
- while (num_dims)
- {
- int dims_i;
-
- num_dims--;
-
- dims_i = dims [num_dims] + 1;
- if (dims_i != (int) max_dims [num_dims])
- {
- dims [num_dims] = dims_i;
- return 0;
- }
- dims [num_dims] = 0;
- }
-
- return -1;
-}
-
-static int do_method_for_all_elements (SLang_Array_Type *at,
- int (*method)(SLang_Array_Type *,
- int *,
- VOID_STAR),
- VOID_STAR client_data)
-{
- int dims [SLARRAY_MAX_DIMS];
- int *max_dims;
- unsigned int num_dims;
-
- if (at->num_elements == 0)
- return 0;
-
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- SLMEMSET((char *)dims, 0, sizeof(dims));
-
- do
- {
- if (-1 == (*method) (at, dims, client_data))
- return -1;
- }
- while (0 == next_index (dims, max_dims, num_dims));
-
- return 0;
-}
-
-void SLang_free_array (SLang_Array_Type *at)
-{
- VOID_STAR data;
- unsigned int flags;
-
- if (at == NULL) return;
-
- if (at->num_refs > 1)
- {
- at->num_refs -= 1;
- return;
- }
-
- data = at->data;
- flags = at->flags;
-
- if (flags & SLARR_DATA_VALUE_IS_INTRINSIC)
- return; /* not to be freed */
-
- if (flags & SLARR_DATA_VALUE_IS_POINTER)
- (void) do_method_for_all_elements (at, destroy_element, NULL);
-
- SLfree ((char *) data);
- SLfree ((char *) at);
-}
-
-SLang_Array_Type *
-SLang_create_array1 (unsigned char type, int read_only, VOID_STAR data,
- int *dims, unsigned int num_dims, int no_init)
-{
- SLang_Class_Type *cl;
- unsigned int i;
- SLang_Array_Type *at;
- unsigned int num_elements;
- unsigned int sizeof_type;
- unsigned int size;
-
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "%u dimensional arrays are not supported", num_dims);
- return NULL;
- }
-
- for (i = 0; i < num_dims; i++)
- {
- if (dims[i] < 0)
- {
- SLang_verror (SL_INVALID_PARM, "Size of array dim %u is less than 0", i);
- return NULL;
- }
- }
-
- cl = _SLclass_get_class (type);
-
- at = (SLang_Array_Type *) SLmalloc (sizeof(SLang_Array_Type));
- if (at == NULL)
- return NULL;
-
- SLMEMSET ((char*) at, 0, sizeof(SLang_Array_Type));
-
- at->data_type = type;
- at->cl = cl;
- at->num_dims = num_dims;
- at->num_refs = 1;
-
- if (read_only) at->flags = SLARR_DATA_VALUE_IS_READ_ONLY;
- switch (cl->cl_class_type)
- {
- case SLANG_CLASS_TYPE_VECTOR:
- case SLANG_CLASS_TYPE_SCALAR:
- break;
-
- default:
- at->flags |= SLARR_DATA_VALUE_IS_POINTER;
- }
-
- num_elements = 1;
- for (i = 0; i < num_dims; i++)
- {
- at->dims [i] = dims[i];
- num_elements = dims [i] * num_elements;
- }
-
- /* Now set the rest of the unused dimensions to 1. This makes it easier
- * when transposing arrays.
- */
- while (i < SLARRAY_MAX_DIMS)
- at->dims[i++] = 1;
-
- at->num_elements = num_elements;
- at->index_fun = linear_get_data_addr;
- at->sizeof_type = sizeof_type = cl->cl_sizeof_type;
-
- if (data != NULL)
- {
- at->data = data;
- return at;
- }
-
- size = num_elements * sizeof_type;
-
- if (size == 0) size = 1;
-
- if (NULL == (data = (VOID_STAR) SLmalloc (size)))
- {
- SLang_free_array (at);
- return NULL;
- }
-
- if (no_init == 0)
- SLMEMSET ((char *) data, 0, size);
-
- at->data = data;
-
- if ((cl->cl_init_array_object != NULL)
- && (-1 == do_method_for_all_elements (at, new_object_element, NULL)))
- {
- SLang_free_array (at);
- return NULL;
- }
- return at;
-}
-
-SLang_Array_Type *
-SLang_create_array (unsigned char type, int read_only, VOID_STAR data,
- int *dims, unsigned int num_dims)
-{
- return SLang_create_array1 (type, read_only, data, dims, num_dims, 0);
-}
-
-int SLang_add_intrinsic_array (char *name,
- unsigned char type,
- int read_only,
- VOID_STAR data,
- unsigned int num_dims, ...)
-{
- va_list ap;
- unsigned int i;
- int dims[SLARRAY_MAX_DIMS];
- SLang_Array_Type *at;
-
- if ((num_dims > SLARRAY_MAX_DIMS)
- || (name == NULL)
- || (data == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to create intrinsic array");
- return -1;
- }
-
- va_start (ap, num_dims);
- for (i = 0; i < num_dims; i++)
- dims [i] = va_arg (ap, int);
- va_end (ap);
-
- at = SLang_create_array (type, read_only, data, dims, num_dims);
- if (at == NULL)
- return -1;
- at->flags |= SLARR_DATA_VALUE_IS_INTRINSIC;
-
- /* Note: The variable that refers to the intrinsic array is regarded as
- * read-only. That way, Array_Name = another_array; will fail.
- */
- if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) at, SLANG_ARRAY_TYPE, 1))
- {
- SLang_free_array (at);
- return -1;
- }
- return 0;
-}
-
-static int pop_array_indices (int *dims, unsigned int num_dims)
-{
- unsigned int n;
- int i;
-
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "Array size not supported");
- return -1;
- }
-
- n = num_dims;
- while (n != 0)
- {
- n--;
- if (-1 == SLang_pop_integer (&i))
- return -1;
-
- dims[n] = i;
- }
-
- return 0;
-}
-
-int SLang_push_array (SLang_Array_Type *at, int free_flag)
-{
- if (at == NULL)
- return SLang_push_null ();
-
- at->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR) at))
- {
- if (free_flag)
- SLang_free_array (at);
- return 0;
- }
-
- at->num_refs -= 1;
-
- if (free_flag) SLang_free_array (at);
- return -1;
-}
-
-/* This function gets called via expressions such as Double_Type[10, 20];
- */
-static int push_create_new_array (void)
-{
- unsigned int num_dims;
- SLang_Array_Type *at;
- unsigned char type;
- int dims [SLARRAY_MAX_DIMS];
- int (*anew) (unsigned char, unsigned int);
-
- num_dims = (SLang_Num_Function_Args - 1);
-
- if (-1 == _SLang_pop_datatype (&type))
- return -1;
-
- anew = (_SLclass_get_class (type))->cl_anew;
- if (anew != NULL)
- return (*anew) (type, num_dims);
-
- if (-1 == pop_array_indices (dims, num_dims))
- return -1;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, dims, num_dims)))
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-static int push_element_at_addr (SLang_Array_Type *at,
- VOID_STAR data, int allow_null)
-{
- SLang_Class_Type *cl;
-
- cl = at->cl;
- if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
- && (*(VOID_STAR *) data == NULL))
- {
- if (allow_null)
- return SLang_push_null ();
-
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "%s array has unitialized element", cl->cl_name);
- return -1;
- }
-
- return (*cl->cl_apush)(at->data_type, data);
-}
-
-static int coerse_array_to_linear (SLang_Array_Type *at)
-{
- SLarray_Range_Array_Type *range;
- int *data;
- int xmin, dx;
- unsigned int i, imax;
-
- /* FIXME: Priority = low. This assumes that if an array is not linear, then
- * it is a range.
- */
- if (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE))
- return 0;
-
- range = (SLarray_Range_Array_Type *) at->data;
- xmin = range->first_index;
- dx = range->delta;
-
- imax = at->num_elements;
- data = (int *) SLmalloc ((imax + 1) * sizeof (int));
- if (data == NULL)
- return -1;
-
- for (i = 0; i < imax; i++)
- {
- data [i] = xmin;
- xmin += dx;
- }
-
- SLfree ((char *) range);
- at->data = (VOID_STAR) data;
- at->flags &= ~SLARR_DATA_VALUE_IS_RANGE;
- at->index_fun = linear_get_data_addr;
- return 0;
-}
-
-static void
-free_index_objects (SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- unsigned int i;
- SLang_Object_Type *obj;
-
- for (i = 0; i < num_indices; i++)
- {
- obj = index_objs + i;
- if (obj->data_type != 0)
- SLang_free_object (obj);
- }
-}
-
-static int
-pop_indices (SLang_Object_Type *index_objs, unsigned int num_indices,
- int *is_index_array)
-{
- unsigned int i;
-
- SLMEMSET((char *) index_objs, 0, num_indices * sizeof (SLang_Object_Type));
-
- *is_index_array = 0;
-
- if (num_indices >= SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "too many indices for array");
- return -1;
- }
-
- i = num_indices;
- while (i != 0)
- {
- SLang_Object_Type *obj;
-
- i--;
- obj = index_objs + i;
- if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, obj, 1))
- goto return_error;
-
- if (obj->data_type == SLANG_ARRAY_TYPE)
- {
- SLang_Array_Type *at = obj->v.array_val;
-
- if (at->num_dims == 1)
- {
- if ((num_indices == 1)
- && (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE)))
- *is_index_array = 1;
- }
- else
- {
- SLang_verror (SL_INVALID_PARM, "expecting a 1-d index array");
- goto return_error;
- }
- }
- }
-
- return 0;
-
- return_error:
- free_index_objects (index_objs, num_indices);
- return -1;
-}
-
-/* Here ind_at is a linear 1-d array of indices */
-static int
-check_index_array_ranges (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *indices, *indices_max;
- unsigned int num_elements;
-
- num_elements = at->num_elements;
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- while (indices < indices_max)
- {
- unsigned int d;
-
- d = (unsigned int) *indices++;
- if (d >= num_elements)
- {
- SLang_verror (SL_INVALID_PARM,
- "index-array is out of range");
- return -1;
- }
- }
- return 0;
-}
-
-static int
-transfer_n_elements (SLang_Array_Type *at, VOID_STAR dest_data, VOID_STAR src_data,
- unsigned int sizeof_type, unsigned int n, int is_ptr)
-{
- unsigned char data_type;
- SLang_Class_Type *cl;
-
- if (is_ptr == 0)
- {
- SLMEMCPY ((char *) dest_data, (char *)src_data, n * sizeof_type);
- return 0;
- }
-
- data_type = at->data_type;
- cl = at->cl;
-
- while (n != 0)
- {
- if (*(VOID_STAR *)dest_data != NULL)
- {
- (*cl->cl_destroy) (data_type, dest_data);
- *(VOID_STAR *) dest_data = NULL;
- }
-
- if (*(VOID_STAR *) src_data == NULL)
- *(VOID_STAR *) dest_data = NULL;
- else
- {
- if (-1 == (*cl->cl_acopy) (data_type, src_data, dest_data))
- /* No need to destroy anything */
- return -1;
- }
-
- src_data = (VOID_STAR) ((char *)src_data + sizeof_type);
- dest_data = (VOID_STAR) ((char *)dest_data + sizeof_type);
-
- n--;
- }
-
- return 0;
-}
-
-int
-_SLarray_aget_transfer_elem (SLang_Array_Type *at, int *indices,
- VOID_STAR new_data, unsigned int sizeof_type, int is_ptr)
-{
- VOID_STAR at_data;
-
- /* Since 1 element is being transferred, there is not need to coerse
- * the array to linear.
- */
- if (NULL == (at_data = get_data_addr (at, indices)))
- return -1;
-
- return transfer_n_elements (at, new_data, at_data, sizeof_type, 1, is_ptr);
-}
-
-/* Here the ind_at index-array is a 1-d array of indices. This function
- * creates a 1-d array of made up of values of 'at' at the locations
- * specified by the indices. The result is pushed.
- */
-static int
-aget_from_index_array (SLang_Array_Type *at,
- SLang_Array_Type *ind_at)
-{
- SLang_Array_Type *new_at;
- int *indices, *indices_max;
- unsigned char *new_data, *src_data;
- unsigned int sizeof_type;
- int is_ptr;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- if (-1 == coerse_array_to_linear (ind_at))
- return -1;
-
- if (-1 == check_index_array_ranges (at, ind_at))
- return -1;
-
- if (NULL == (new_at = SLang_create_array (at->data_type, 0, NULL, ind_at->dims, 1)))
- return -1;
-
- /* Since the index array is linear, I can address it directly */
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- src_data = (unsigned char *) at->data;
- new_data = (unsigned char *) new_at->data;
- sizeof_type = new_at->sizeof_type;
- is_ptr = (new_at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- while (indices < indices_max)
- {
- unsigned int offset;
-
- offset = sizeof_type * (unsigned int)*indices;
- if (-1 == transfer_n_elements (at, (VOID_STAR) new_data,
- (VOID_STAR) (src_data + offset),
- sizeof_type, 1, is_ptr))
- {
- SLang_free_array (new_at);
- return -1;
- }
-
- new_data += sizeof_type;
- indices++;
- }
-
- return SLang_push_array (new_at, 1);
-}
-
-/* This is extremely ugly. It is due to the fact that the index_objects
- * may contain ranges. This is a utility function for the aget/aput
- * routines
- */
-static int
-convert_nasty_index_objs (SLang_Array_Type *at,
- SLang_Object_Type *index_objs,
- unsigned int num_indices,
- int **index_data,
- int *range_buf, int *range_delta_buf,
- int *max_dims,
- unsigned int *num_elements,
- int *is_array, int is_dim_array[SLARRAY_MAX_DIMS])
-{
- unsigned int i, total_num_elements;
- SLang_Array_Type *ind_at;
-
- if (num_indices != at->num_dims)
- {
- SLang_verror (SL_INVALID_PARM, "Array requires %u indices", at->num_dims);
- return -1;
- }
-
- *is_array = 0;
- total_num_elements = 1;
- for (i = 0; i < num_indices; i++)
- {
- int max_index, min_index;
- SLang_Object_Type *obj;
- int at_dims_i;
-
- at_dims_i = at->dims[i];
- obj = index_objs + i;
- range_delta_buf [i] = 0;
-
- if (obj->data_type == SLANG_INT_TYPE)
- {
- range_buf [i] = min_index = max_index = obj->v.int_val;
- max_dims [i] = 1;
- index_data[i] = range_buf + i;
- is_dim_array[i] = 0;
- }
- else
- {
- *is_array = 1;
- is_dim_array[i] = 1;
- ind_at = obj->v.array_val;
-
- if (ind_at->flags & SLARR_DATA_VALUE_IS_RANGE)
- {
- SLarray_Range_Array_Type *r;
- int delta;
- int first_index, last_index;
-
- r = (SLarray_Range_Array_Type *) ind_at->data;
-
- /* In an array indexing context, range arrays have different
- * semantics. Consider a[[0:10]]. Clearly this means elements
- * 0-10 of a. But what does a[[0:-1]] mean? By itself,
- * [0:-1] is a null matrix []. But, it is useful in an
- * indexing context to allow -1 to refer to the last element
- * of the array. Similarly, [-3:-1] refers to the last 3
- * elements.
- *
- * However, [-1:-3] does not refer to any of the elements.
- */
- if ((first_index = r->first_index) < 0)
- {
- if (at_dims_i != 0)
- first_index = (at_dims_i + first_index) % at_dims_i;
- }
-
- if ((last_index = r->last_index) < 0)
- {
- if (at_dims_i != 0)
- last_index = (at_dims_i + last_index) % at_dims_i;
- }
-
- delta = r->delta;
-
- range_delta_buf [i] = delta;
- range_buf[i] = first_index;
-
- if (delta > 0)
- {
- if (first_index > last_index)
- max_dims[i] = min_index = max_index = 0;
- else
- {
- max_index = min_index = first_index;
- while (max_index + delta <= last_index)
- max_index += delta;
- max_dims [i] = 1 + (max_index - min_index) / delta;
- }
- }
- else
- {
- if (first_index < last_index)
- max_dims[i] = min_index = max_index = 0;
- else
- {
- min_index = max_index = first_index;
- while (min_index + delta >= last_index)
- min_index += delta;
- max_dims [i] = 1 + (max_index - min_index) / (-delta);
- }
- }
- }
- else
- {
- int *tmp, *tmp_max;
-
- if (0 == (max_dims[i] = ind_at->num_elements))
- {
- total_num_elements = 0;
- break;
- }
-
- tmp = (int *) ind_at->data;
- tmp_max = tmp + ind_at->num_elements;
- index_data [i] = tmp;
-
- min_index = max_index = *tmp;
- while (tmp < tmp_max)
- {
- if (max_index > *tmp)
- max_index = *tmp;
- if (min_index < *tmp)
- min_index = *tmp;
-
- tmp++;
- }
- }
- }
-
- if ((at_dims_i == 0) && (max_dims[i] == 0))
- {
- total_num_elements = 0;
- continue;
- }
-
- if (max_index < 0)
- max_index += at_dims_i;
- if (min_index < 0)
- min_index += at_dims_i;
-
- if ((min_index < 0) || (min_index >= at_dims_i)
- || (max_index < 0) || (max_index >= at_dims_i))
- {
- SLang_verror (SL_INVALID_PARM, "Array index %u ([%d:%d]) out of allowed range [0->%d]",
- i, min_index, max_index, at_dims_i);
- return -1;
- }
-
- total_num_elements = total_num_elements * max_dims[i];
- }
-
- *num_elements = total_num_elements;
- return 0;
-}
-
-/* This routine pushes a 1-d vector of values from 'at' indexed by
- * the objects 'index_objs'. These objects can either be integers or
- * 1-d integer arrays. The fact that the 1-d arrays can be ranges
- * makes this look ugly.
- */
-static int
-aget_from_indices (SLang_Array_Type *at,
- SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- int *index_data [SLARRAY_MAX_DIMS];
- int range_buf [SLARRAY_MAX_DIMS];
- int range_delta_buf [SLARRAY_MAX_DIMS];
- int max_dims [SLARRAY_MAX_DIMS];
- unsigned int i, num_elements;
- SLang_Array_Type *new_at;
- int map_indices[SLARRAY_MAX_DIMS];
- int indices [SLARRAY_MAX_DIMS];
- unsigned int sizeof_type;
- int is_ptr, ret, is_array;
- char *new_data;
- SLang_Class_Type *cl;
- int is_dim_array[SLARRAY_MAX_DIMS];
-
- if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
- index_data, range_buf, range_delta_buf,
- max_dims, &num_elements, &is_array,
- is_dim_array))
- return -1;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- sizeof_type = at->sizeof_type;
-
- cl = _SLclass_get_class (at->data_type);
-
- if ((is_array == 0) && (num_elements == 1))
- {
- new_data = (char *)cl->cl_transfer_buf;
- memset (new_data, 0, sizeof_type);
- new_at = NULL;
- }
- else
- {
- int i_num_elements = (int)num_elements;
-
- new_at = SLang_create_array (at->data_type, 0, NULL, &i_num_elements, 1);
- if (NULL == new_at)
- return -1;
- if (num_elements == 0)
- return SLang_push_array (new_at, 1);
-
- new_data = (char *)new_at->data;
- }
-
- SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
- do
- {
- for (i = 0; i < num_indices; i++)
- {
- int j;
-
- j = map_indices[i];
-
- if (0 != range_delta_buf[i])
- indices[i] = range_buf[i] + j * range_delta_buf[i];
- else
- indices[i] = index_data [i][j];
- }
-
- if (-1 == _SLarray_aget_transfer_elem (at, indices, (VOID_STAR)new_data, sizeof_type, is_ptr))
- {
- SLang_free_array (new_at);
- return -1;
- }
- new_data += sizeof_type;
- }
- while (0 == next_index (map_indices, max_dims, num_indices));
-
- if (new_at != NULL)
- {
- int num_dims = 0;
- /* Fixup dimensions on array */
- for (i = 0; i < num_indices; i++)
- {
- if (is_dim_array[i]) /* was: (max_dims[i] > 1) */
- {
- new_at->dims[num_dims] = max_dims[i];
- num_dims++;
- }
- }
-
- if (num_dims != 0) new_at->num_dims = num_dims;
- return SLang_push_array (new_at, 1);
- }
-
- /* Here new_data is a whole new copy, so free it after the push */
- new_data -= sizeof_type;
- if (is_ptr && (*(VOID_STAR *)new_data == NULL))
- ret = SLang_push_null ();
- else
- {
- ret = (*cl->cl_apush) (at->data_type, (VOID_STAR)new_data);
- (*cl->cl_adestroy) (at->data_type, (VOID_STAR)new_data);
- }
-
- return ret;
-}
-
-static int push_string_as_array (unsigned char *s, unsigned int len)
-{
- int ilen;
- SLang_Array_Type *at;
-
- ilen = (int) len;
-
- at = SLang_create_array (SLANG_UCHAR_TYPE, 0, NULL, &ilen, 1);
- if (at == NULL)
- return -1;
-
- memcpy ((char *)at->data, (char *)s, len);
- return SLang_push_array (at, 1);
-}
-
-static int pop_array_as_string (char **sp)
-{
- SLang_Array_Type *at;
- int ret;
-
- *sp = NULL;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
- return -1;
-
- ret = 0;
-
- if (NULL == (*sp = SLang_create_nslstring ((char *) at->data, at->num_elements)))
- ret = -1;
-
- SLang_free_array (at);
- return ret;
-}
-
-static int pop_array_as_bstring (SLang_BString_Type **bs)
-{
- SLang_Array_Type *at;
- int ret;
-
- *bs = NULL;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
- return -1;
-
- ret = 0;
-
- if (NULL == (*bs = SLbstring_create ((unsigned char *) at->data, at->num_elements)))
- ret = -1;
-
- SLang_free_array (at);
- return ret;
-}
-
-static int aget_from_array (unsigned int num_indices)
-{
- SLang_Array_Type *at;
- SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
- int ret;
- int is_index_array;
- unsigned int i;
-
- if (num_indices > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_INVALID_PARM, "Number of dims must be less than %d", SLARRAY_MAX_DIMS);
- return -1;
- }
-
- if (-1 == pop_array (&at, 1))
- return -1;
-
- if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
- {
- SLang_free_array (at);
- return -1;
- }
-
- if (is_index_array == 0)
- ret = aget_from_indices (at, index_objs, num_indices);
- else
- ret = aget_from_index_array (at, index_objs[0].v.array_val);
-
- SLang_free_array (at);
- for (i = 0; i < num_indices; i++)
- SLang_free_object (index_objs + i);
-
- return ret;
-}
-
-static int push_string_element (unsigned char type, unsigned char *s, unsigned int len)
-{
- int i;
-
- if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
- {
- char *str;
-
- /* The indices are array values. So, do this: */
- if (-1 == push_string_as_array (s, len))
- return -1;
-
- if (-1 == aget_from_array (1))
- return -1;
-
- if (type == SLANG_BSTRING_TYPE)
- {
- SLang_BString_Type *bs;
- int ret;
-
- if (-1 == pop_array_as_bstring (&bs))
- return -1;
-
- ret = SLang_push_bstring (bs);
- SLbstring_free (bs);
- return ret;
- }
-
- if (-1 == pop_array_as_string (&str))
- return -1;
- return _SLang_push_slstring (str); /* frees s upon error */
- }
-
- if (-1 == SLang_pop_integer (&i))
- return -1;
-
- if (i < 0) i = i + (int)len;
- if ((unsigned int) i > len)
- i = len; /* get \0 character --- bstrings include it as well */
-
- i = s[(unsigned int) i];
-
- return SLang_push_integer (i);
-}
-
-/* ARRAY[i, j, k] generates code: __args i j ...k ARRAY __aput/__aget
- * Here i, j, ... k may be a mixture of integers and 1-d arrays, or
- * a single 2-d array of indices. The 2-d index array is generated by the
- * 'where' function.
- *
- * If ARRAY is of type DataType, then this function will create an array of
- * the appropriate type. In that case, the indices i, j, ..., k must be
- * integers.
- */
-int _SLarray_aget (void)
-{
- unsigned int num_indices;
- int type;
- int (*aget_fun) (unsigned char, unsigned int);
-
- num_indices = (SLang_Num_Function_Args - 1);
-
- type = SLang_peek_at_stack ();
- switch (type)
- {
- case -1:
- return -1; /* stack underflow */
-
- case SLANG_DATATYPE_TYPE:
- return push_create_new_array ();
-
- case SLANG_BSTRING_TYPE:
- if (1 == num_indices)
- {
- SLang_BString_Type *bs;
- int ret;
- unsigned int len;
- unsigned char *s;
-
- if (-1 == SLang_pop_bstring (&bs))
- return -1;
-
- if (NULL == (s = SLbstring_get_pointer (bs, &len)))
- ret = -1;
- else
- ret = push_string_element (type, s, len);
-
- SLbstring_free (bs);
- return ret;
- }
- break;
-
- case SLANG_STRING_TYPE:
- if (1 == num_indices)
- {
- char *s;
- int ret;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- ret = push_string_element (type, (unsigned char *)s, strlen (s));
- SLang_free_slstring (s);
- return ret;
- }
- break;
-
- case SLANG_ARRAY_TYPE:
- break;
-
- default:
- aget_fun = _SLclass_get_class (type)->cl_aget;
- if (NULL != aget_fun)
- return (*aget_fun) (type, num_indices);
- }
-
- return aget_from_array (num_indices);
-}
-
-int
-_SLarray_aput_transfer_elem (SLang_Array_Type *at, int *indices,
- VOID_STAR data_to_put, unsigned int sizeof_type, int is_ptr)
-{
- VOID_STAR at_data;
-
- /* Since 1 element is being transferred, there is no need to coerse
- * the array to linear.
- */
- if (NULL == (at_data = get_data_addr (at, indices)))
- return -1;
-
- return transfer_n_elements (at, at_data, data_to_put, sizeof_type, 1, is_ptr);
-}
-
-static int
-aput_get_array_to_put (SLang_Class_Type *cl, unsigned int num_elements, int allow_array,
- SLang_Array_Type **at_ptr, char **data_to_put, unsigned int *data_increment)
-{
- unsigned char data_type;
- SLang_Array_Type *at;
-
- *at_ptr = NULL;
-
- data_type = cl->cl_data_type;
- if (-1 == SLclass_typecast (data_type, 1, allow_array))
- return -1;
-
- if ((data_type != SLANG_ARRAY_TYPE)
- && (data_type != SLANG_ANY_TYPE)
- && (SLANG_ARRAY_TYPE == SLang_peek_at_stack ()))
- {
- if (-1 == SLang_pop_array (&at, 0))
- return -1;
-
- if ((at->num_elements != num_elements)
-#if 0
- || (at->num_dims != 1)
-#endif
- )
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array size is inappropriate for use with index-array");
- SLang_free_array (at);
- return -1;
- }
-
- *data_to_put = (char *) at->data;
- *data_increment = at->sizeof_type;
- *at_ptr = at;
- return 0;
- }
-
- *data_increment = 0;
- *data_to_put = (char *) cl->cl_transfer_buf;
-
- if (-1 == (*cl->cl_apop)(data_type, (VOID_STAR) *data_to_put))
- return -1;
-
- return 0;
-}
-
-static int
-aput_from_indices (SLang_Array_Type *at,
- SLang_Object_Type *index_objs, unsigned int num_indices)
-{
- int *index_data [SLARRAY_MAX_DIMS];
- int range_buf [SLARRAY_MAX_DIMS];
- int range_delta_buf [SLARRAY_MAX_DIMS];
- int max_dims [SLARRAY_MAX_DIMS];
- unsigned int i, num_elements;
- SLang_Array_Type *bt;
- int map_indices[SLARRAY_MAX_DIMS];
- int indices [SLARRAY_MAX_DIMS];
- unsigned int sizeof_type;
- int is_ptr, is_array, ret;
- char *data_to_put;
- unsigned int data_increment;
- SLang_Class_Type *cl;
- int is_dim_array [SLARRAY_MAX_DIMS];
-
- if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
- index_data, range_buf, range_delta_buf,
- max_dims, &num_elements, &is_array,
- is_dim_array))
- return -1;
-
- cl = at->cl;
-
- if (-1 == aput_get_array_to_put (cl, num_elements, is_array,
- &bt, &data_to_put, &data_increment))
- return -1;
-
- sizeof_type = at->sizeof_type;
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- ret = -1;
-
- SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
- if (num_elements) do
- {
- for (i = 0; i < num_indices; i++)
- {
- int j;
-
- j = map_indices[i];
-
- if (0 != range_delta_buf[i])
- indices[i] = range_buf[i] + j * range_delta_buf[i];
- else
- indices[i] = index_data [i][j];
- }
-
- if (-1 == _SLarray_aput_transfer_elem (at, indices, (VOID_STAR)data_to_put, sizeof_type, is_ptr))
- goto return_error;
-
- data_to_put += data_increment;
- }
- while (0 == next_index (map_indices, max_dims, num_indices));
-
- ret = 0;
-
- /* drop */
-
- return_error:
- if (bt == NULL)
- {
- if (is_ptr)
- (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR) data_to_put);
- }
- else SLang_free_array (bt);
-
- return ret;
-}
-
-static int
-aput_from_index_array (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *indices, *indices_max;
- unsigned int sizeof_type;
- char *data_to_put, *dest_data;
- unsigned int data_increment;
- int is_ptr;
- SLang_Array_Type *bt;
- SLang_Class_Type *cl;
- int ret;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- if (-1 == coerse_array_to_linear (ind_at))
- return -1;
-
- if (-1 == check_index_array_ranges (at, ind_at))
- return -1;
-
- sizeof_type = at->sizeof_type;
-
- cl = at->cl;
-
- /* Note that if bt is returned as non NULL, then the array is a linear
- * one.
- */
- if (-1 == aput_get_array_to_put (cl, ind_at->num_elements, 1,
- &bt, &data_to_put, &data_increment))
- return -1;
-
- /* Since the index array is linear, I can address it directly */
- indices = (int *) ind_at->data;
- indices_max = indices + ind_at->num_elements;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- dest_data = (char *) at->data;
-
- ret = -1;
- while (indices < indices_max)
- {
- unsigned int offset;
-
- offset = sizeof_type * (unsigned int)*indices;
-
- if (-1 == transfer_n_elements (at, (VOID_STAR) (dest_data + offset),
- (VOID_STAR) data_to_put, sizeof_type, 1,
- is_ptr))
- goto return_error;
-
- indices++;
- data_to_put += data_increment;
- }
-
- ret = 0;
- /* Drop */
-
- return_error:
-
- if (bt == NULL)
- {
- if (is_ptr)
- (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR)data_to_put);
- }
- else SLang_free_array (bt);
-
- return ret;
-}
-
-/* ARRAY[i, j, k] = generates code: __args i j k ARRAY __aput
- */
-int _SLarray_aput (void)
-{
- unsigned int num_indices;
- SLang_Array_Type *at;
- SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
- int ret;
- int is_index_array;
- int (*aput_fun) (unsigned char, unsigned int);
- int type;
-
- ret = -1;
- num_indices = (SLang_Num_Function_Args - 1);
-
- type = SLang_peek_at_stack ();
- switch (type)
- {
- case -1:
- return -1;
-
- case SLANG_ARRAY_TYPE:
- break;
-
- default:
- if (NULL != (aput_fun = _SLclass_get_class (type)->cl_aput))
- return (*aput_fun) (type, num_indices);
- break;
- }
-
- if (-1 == SLang_pop_array (&at, 0))
- return -1;
-
- if (at->flags & SLARR_DATA_VALUE_IS_READ_ONLY)
- {
- SLang_verror (SL_READONLY_ERROR, "%s Array is read-only",
- SLclass_get_datatype_name (at->data_type));
- SLang_free_array (at);
- return -1;
- }
-
- if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
- {
- SLang_free_array (at);
- return -1;
- }
-
- if (is_index_array == 0)
- ret = aput_from_indices (at, index_objs, num_indices);
- else
- ret = aput_from_index_array (at, index_objs[0].v.array_val);
-
- SLang_free_array (at);
- free_index_objects (index_objs, num_indices);
- return ret;
-}
-
-/* This is for 1-d matrices only. It is used by the sort function */
-static int push_element_at_index (SLang_Array_Type *at, int indx)
-{
- VOID_STAR data;
-
- if (NULL == (data = get_data_addr (at, &indx)))
- return -1;
-
- return push_element_at_addr (at, (VOID_STAR) data, 1);
-}
-
-static SLang_Name_Type *Sort_Function;
-static SLang_Array_Type *Sort_Array;
-
-static int sort_cmp_fun (int *a, int *b)
-{
- int cmp;
-
- if (SLang_Error
- || (-1 == push_element_at_index (Sort_Array, *a))
- || (-1 == push_element_at_index (Sort_Array, *b))
- || (-1 == SLexecute_function (Sort_Function))
- || (-1 == SLang_pop_integer (&cmp)))
- {
- /* DO not allow qsort to loop forever. Return something meaningful */
- if (*a > *b) return 1;
- if (*a < *b) return -1;
- return 0;
- }
-
- return cmp;
-}
-
-static int builtin_sort_cmp_fun (int *a, int *b)
-{
- VOID_STAR a_data;
- VOID_STAR b_data;
- SLang_Class_Type *cl;
-
- cl = Sort_Array->cl;
-
- if ((SLang_Error == 0)
- && (NULL != (a_data = get_data_addr (Sort_Array, a)))
- && (NULL != (b_data = get_data_addr (Sort_Array, b))))
- {
- int cmp;
-
- if ((Sort_Array->flags & SLARR_DATA_VALUE_IS_POINTER)
- && ((*(VOID_STAR *) a_data == NULL) || (*(VOID_STAR *) a_data == NULL)))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "%s array has unitialized element", cl->cl_name);
- }
- else if (0 == (*cl->cl_cmp)(Sort_Array->data_type, a_data, b_data, &cmp))
- return cmp;
- }
-
-
- if (*a > *b) return 1;
- if (*a == *b) return 0;
- return -1;
-}
-
-static void sort_array_internal (SLang_Array_Type *at_str,
- SLang_Name_Type *entry,
- int (*sort_fun)(int *, int *))
-{
- SLang_Array_Type *ind_at;
- /* This is a silly hack to make up for braindead compilers and the lack of
- * uniformity in prototypes for qsort.
- */
- void (*qsort_fun) (char *, unsigned int, int, int (*)(int *, int *));
- int *indx;
- int i, n;
- int dims[1];
-
- if (Sort_Array != NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "array_sort is not recursive");
- return;
- }
-
- n = at_str->num_elements;
-
- if (at_str->num_dims != 1)
- {
- SLang_verror (SL_INVALID_PARM, "sort is restricted to 1 dim arrays");
- return;
- }
-
- dims [0] = n;
-
- if (NULL == (ind_at = SLang_create_array (SLANG_INT_TYPE, 0, NULL, dims, 1)))
- return;
-
- indx = (int *) ind_at->data;
- for (i = 0; i < n; i++) indx[i] = i;
-
- if (n > 1)
- {
- qsort_fun = (void (*)(char *, unsigned int, int, int (*)(int *,
- int *)))
- qsort;
-
- Sort_Array = at_str;
- Sort_Function = entry;
- (*qsort_fun) ((char *) indx, n, sizeof (int), sort_fun);
- }
-
- Sort_Array = NULL;
- (void) SLang_push_array (ind_at, 1);
-}
-
-static void sort_array (void)
-{
- SLang_Name_Type *entry;
- SLang_Array_Type *at;
- int (*sort_fun) (int *, int *);
-
- if (SLang_Num_Function_Args != 1)
- {
- sort_fun = sort_cmp_fun;
-
- if (NULL == (entry = SLang_pop_function ()))
- return;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
- }
- else
- {
- sort_fun = builtin_sort_cmp_fun;
- if (-1 == SLang_pop_array (&at, 1))
- return;
- if (at->cl->cl_cmp == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not have a predefined sorting method",
- at->cl->cl_name);
- SLang_free_array (at);
- return;
- }
- entry = NULL;
- }
-
- sort_array_internal (at, entry, sort_fun);
- SLang_free_array (at);
- SLang_free_function (entry);
-}
-
-static void bstring_to_array (SLang_BString_Type *bs)
-{
- unsigned char *s;
- unsigned int len;
-
- if (NULL == (s = SLbstring_get_pointer (bs, &len)))
- (void) SLang_push_null ();
- else
- (void) push_string_as_array (s, len);
-}
-
-static void array_to_bstring (SLang_Array_Type *at)
-{
- unsigned int nbytes;
- SLang_BString_Type *bs;
-
- nbytes = at->num_elements * at->sizeof_type;
- bs = SLbstring_create ((unsigned char *)at->data, nbytes);
- (void) SLang_push_bstring (bs);
- SLbstring_free (bs);
-}
-
-static void init_char_array (void)
-{
- SLang_Array_Type *at;
- char *s;
- unsigned int n, ndim;
-
- if (SLang_pop_slstring (&s)) return;
-
- if (-1 == SLang_pop_array (&at, 0))
- goto free_and_return;
-
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- SLang_doerror("Operation requires character array");
- goto free_and_return;
- }
-
- n = strlen (s);
- ndim = at->num_elements;
- if (n > ndim)
- {
- SLang_doerror("String too big to init array");
- goto free_and_return;
- }
-
- strncpy((char *) at->data, s, ndim);
- /* drop */
-
- free_and_return:
- SLang_free_array (at);
- SLang_free_slstring (s);
-}
-
-static void array_info (void)
-{
- SLang_Array_Type *at, *bt;
- int num_dims;
-
- if (-1 == pop_array (&at, 1))
- return;
-
- num_dims = (int)at->num_dims;
-
- if (NULL != (bt = SLang_create_array (SLANG_INT_TYPE, 0, NULL, &num_dims, 1)))
- {
- int *bdata;
- int i;
- int *a_dims;
-
- a_dims = at->dims;
- bdata = (int *) bt->data;
- for (i = 0; i < num_dims; i++) bdata [i] = a_dims [i];
-
- if (0 == SLang_push_array (bt, 1))
- {
- (void) SLang_push_integer ((int) at->num_dims);
- (void) _SLang_push_datatype (at->data_type);
- }
- }
-
- SLang_free_array (at);
-}
-
-static VOID_STAR range_get_data_addr (SLang_Array_Type *at, int *dims)
-{
- static int value;
- SLarray_Range_Array_Type *r;
- int d;
-
- d = *dims;
- r = (SLarray_Range_Array_Type *)at->data;
-
- if (d < 0)
- d += at->dims[0];
-
- value = r->first_index + d * r->delta;
- return (VOID_STAR) &value;
-}
-
-static SLang_Array_Type *inline_implicit_int_array (int *xminptr, int *xmaxptr, int *dxptr)
-{
- int delta;
- SLang_Array_Type *at;
- int dims, idims;
- SLarray_Range_Array_Type *data;
-
- if (dxptr == NULL) delta = 1;
- else delta = *dxptr;
-
- if (delta == 0)
- {
- SLang_verror (SL_INVALID_PARM, "range-array increment must be non-zero");
- return NULL;
- }
-
- data = (SLarray_Range_Array_Type *) SLmalloc (sizeof (SLarray_Range_Array_Type));
- if (data == NULL)
- return NULL;
-
- SLMEMSET((char *) data, 0, sizeof (SLarray_Range_Array_Type));
- data->delta = delta;
- dims = 0;
-
- if (xminptr != NULL)
- data->first_index = *xminptr;
- else
- data->first_index = 0;
-
- if (xmaxptr != NULL)
- data->last_index = *xmaxptr;
- else
- data->last_index = -1;
-
-/* if ((xminptr != NULL) && (xmaxptr != NULL))
- { */
- idims = 1 + (data->last_index - data->first_index) / delta;
- if (idims > 0)
- dims = idims;
- /* } */
-
- if (NULL == (at = SLang_create_array (SLANG_INT_TYPE, 0, (VOID_STAR) data, &dims, 1)))
- return NULL;
-
- at->index_fun = range_get_data_addr;
- at->flags |= SLARR_DATA_VALUE_IS_RANGE;
-
- return at;
-}
-
-#if SLANG_HAS_FLOAT
-static SLang_Array_Type *inline_implicit_floating_array (unsigned char type,
- double *xminptr, double *xmaxptr, double *dxptr)
-{
- int n, i;
- SLang_Array_Type *at;
- int dims;
- double xmin, xmax, dx;
-
- if ((xminptr == NULL) || (xmaxptr == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "range-array has unknown size");
- return NULL;
- }
- xmin = *xminptr;
- xmax = *xmaxptr;
- if (dxptr == NULL) dx = 1.0;
- else dx = *dxptr;
-
- if (dx == 0.0)
- {
- SLang_doerror ("range-array increment must be non-zero");
- return NULL;
- }
-
- /* I have convinced myself that it is better to use semi-open intervals
- * because of less ambiguities. So, [a:b:c] will represent the set of
- * values a, a + c, a + 2c ... a + nc
- * such that a + nc < b. That is, b lies outside the interval.
- */
-
- /* Allow for roundoff by adding 0.5 before truncation */
- n = (int)(1.5 + ((xmax - xmin) / dx));
- if (n <= 0)
- n = 0;
- else
- {
- double last = xmin + (n-1) * dx;
-
- if (dx > 0.0)
- {
- if (last >= xmax)
- n -= 1;
- }
- else if (last <= xmax)
- n -= 1;
- }
-
- dims = n;
- if (NULL == (at = SLang_create_array1 (type, 0, NULL, &dims, 1, 1)))
- return NULL;
-
- if (type == SLANG_DOUBLE_TYPE)
- {
- double *ptr;
-
- ptr = (double *) at->data;
-
- for (i = 0; i < n; i++)
- ptr[i] = xmin + i * dx;
- }
- else
- {
- float *ptr;
-
- ptr = (float *) at->data;
-
- for (i = 0; i < n; i++)
- ptr[i] = (float) (xmin + i * dx);
- }
- return at;
-}
-#endif
-
-/* FIXME: Priority=medium
- * This needs to be updated to work with all integer types.
- */
-int _SLarray_inline_implicit_array (void)
-{
- int int_vals[3];
-#if SLANG_HAS_FLOAT
- double double_vals[3];
-#endif
- int has_vals[3];
- unsigned int i, count;
- SLang_Array_Type *at;
- int precedence;
- unsigned char type;
- int is_int;
-
- count = SLang_Num_Function_Args;
-
- if (count == 2)
- has_vals [2] = 0;
- else if (count != 3)
- {
- SLang_doerror ("wrong number of arguments to __implicit_inline_array");
- return -1;
- }
-
-#if SLANG_HAS_FLOAT
- is_int = 1;
-#endif
-
- type = 0;
- precedence = 0;
-
- i = count;
- while (i--)
- {
- int this_type, this_precedence;
-
- if (-1 == (this_type = SLang_peek_at_stack ()))
- return -1;
-
- this_precedence = _SLarith_get_precedence ((unsigned char) this_type);
- if (precedence < this_precedence)
- {
- type = (unsigned char) this_type;
- precedence = this_precedence;
- }
-
- has_vals [i] = 1;
-
- switch (this_type)
- {
- case SLANG_NULL_TYPE:
- has_vals[i] = 0;
- (void) SLdo_pop ();
- break;
-
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- case SLANG_FLOAT_TYPE:
- if (-1 == SLang_pop_double (double_vals + i, NULL, NULL))
- return -1;
- is_int = 0;
- break;
-#endif
- default:
- if (-1 == SLang_pop_integer (int_vals + i))
- return -1;
- double_vals[i] = (double) int_vals[i];
- }
- }
-
-#if SLANG_HAS_FLOAT
- if (is_int == 0)
- at = inline_implicit_floating_array (type,
- (has_vals[0] ? &double_vals[0] : NULL),
- (has_vals[1] ? &double_vals[1] : NULL),
- (has_vals[2] ? &double_vals[2] : NULL));
- else
-#endif
- at = inline_implicit_int_array ((has_vals[0] ? &int_vals[0] : NULL),
- (has_vals[1] ? &int_vals[1] : NULL),
- (has_vals[2] ? &int_vals[2] : NULL));
-
- if (at == NULL)
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-int _SLarray_wildcard_array (void)
-{
- SLang_Array_Type *at;
-
- if (NULL == (at = inline_implicit_int_array (NULL, NULL, NULL)))
- return -1;
-
- return SLang_push_array (at, 1);
-}
-
-static SLang_Array_Type *concat_arrays (unsigned int count)
-{
- SLang_Array_Type **arrays;
- SLang_Array_Type *at, *bt;
- unsigned int i;
- int num_elements;
- unsigned char type;
- char *src_data, *dest_data;
- int is_ptr;
- unsigned int sizeof_type;
- int max_dims, min_dims, max_rows, min_rows;
-
- arrays = (SLang_Array_Type **)SLmalloc (count * sizeof (SLang_Array_Type *));
- if (arrays == NULL)
- {
- SLdo_pop_n (count);
- return NULL;
- }
- SLMEMSET((char *) arrays, 0, count * sizeof(SLang_Array_Type *));
-
- at = NULL;
-
- num_elements = 0;
- i = count;
-
- while (i != 0)
- {
- i--;
-
- if (-1 == SLang_pop_array (&bt, 1))
- goto free_and_return;
-
- arrays[i] = bt;
- num_elements += (int)bt->num_elements;
- }
-
- type = arrays[0]->data_type;
- max_dims = min_dims = arrays[0]->num_dims;
- min_rows = max_rows = arrays[0]->dims[0];
-
- for (i = 1; i < count; i++)
- {
- SLang_Array_Type *ct;
- int num;
-
- bt = arrays[i];
-
- num = bt->num_dims;
- if (num > max_dims) max_dims = num;
- if (num < min_dims) min_dims = num;
-
- num = bt->dims[0];
- if (num > max_rows) max_rows = num;
- if (num < min_rows) min_rows = num;
-
- if (type == bt->data_type)
- continue;
-
- if (1 != _SLarray_typecast (bt->data_type, (VOID_STAR) &bt, 1,
- type, (VOID_STAR) &ct, 1))
- goto free_and_return;
-
- SLang_free_array (bt);
- arrays [i] = ct;
- }
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &num_elements, 1)))
- goto free_and_return;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- sizeof_type = at->sizeof_type;
- dest_data = (char *) at->data;
-
- for (i = 0; i < count; i++)
- {
- bt = arrays[i];
-
- src_data = (char *) bt->data;
- num_elements = bt->num_elements;
-
- if (-1 == transfer_n_elements (bt, (VOID_STAR)dest_data, (VOID_STAR)src_data, sizeof_type,
- num_elements, is_ptr))
- {
- SLang_free_array (at);
- at = NULL;
- goto free_and_return;
- }
-
- dest_data += num_elements * sizeof_type;
- }
-
- /* If the arrays are all 1-d, and all the same size, then reshape to a
- * 2-d array. This will allow us to do, e.g.
- * a = [[1,2], [3,4]]
- * to specifiy a 2-d.
- * Someday I will generalize this.
- */
- if ((max_dims == min_dims) && (max_dims == 1) && (min_rows == max_rows))
- {
- at->num_dims = 2;
- at->dims[0] = count;
- at->dims[1] = min_rows;
- }
-
- free_and_return:
-
- for (i = 0; i < count; i++)
- SLang_free_array (arrays[i]);
- SLfree ((char *) arrays);
-
- return at;
-}
-
-int _SLarray_inline_array (void)
-{
- SLang_Object_Type *obj;
- unsigned char type, this_type;
- unsigned int count;
- SLang_Array_Type *at;
-
- obj = _SLStack_Pointer;
-
- count = SLang_Num_Function_Args;
- type = 0;
-
- while ((count > 0) && (--obj >= _SLRun_Stack))
- {
- this_type = obj->data_type;
-
- if (type == 0)
- type = this_type;
-
- if ((type == this_type) || (type == SLANG_ARRAY_TYPE))
- {
- count--;
- continue;
- }
-
- switch (this_type)
- {
- case SLANG_ARRAY_TYPE:
- type = SLANG_ARRAY_TYPE;
- break;
-
- case SLANG_INT_TYPE:
- switch (type)
- {
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- break;
-#endif
- default:
- goto type_mismatch;
- }
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- switch (type)
- {
- case SLANG_INT_TYPE:
- type = SLANG_DOUBLE_TYPE;
- break;
-# if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- break;
-# endif
- default:
- goto type_mismatch;
- }
- break;
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- switch (type)
- {
- case SLANG_INT_TYPE:
- case SLANG_DOUBLE_TYPE:
- type = SLANG_COMPLEX_TYPE;
- break;
-
- default:
- goto type_mismatch;
- }
- break;
-#endif
- default:
- type_mismatch:
- _SLclass_type_mismatch_error (type, this_type);
- return -1;
- }
- count--;
- }
-
- if (count != 0)
- {
- SLang_Error = SL_STACK_UNDERFLOW;
- return -1;
- }
-
- count = SLang_Num_Function_Args;
-
- if (count == 0)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Empty inline-arrays not supported");
- return -1;
- }
-
- if (type == SLANG_ARRAY_TYPE)
- {
- if (NULL == (at = concat_arrays (count)))
- return -1;
- }
- else
- {
- SLang_Object_Type index_obj;
- int icount = (int) count;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &icount, 1)))
- return -1;
-
- index_obj.data_type = SLANG_INT_TYPE;
- while (count != 0)
- {
- count--;
- index_obj.v.int_val = (int) count;
- if (-1 == aput_from_indices (at, &index_obj, 1))
- {
- SLang_free_array (at);
- SLdo_pop_n (count);
- return -1;
- }
- }
- }
-
- return SLang_push_array (at, 1);
-}
-
-static int array_binary_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) op;
- (void) a;
- (void) b;
- *c = SLANG_ARRAY_TYPE;
- return 1;
-}
-
-static int array_binary_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_Array_Type *at, *bt, *ct;
- unsigned int i, num_dims;
- int (*binary_fun) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR);
- SLang_Class_Type *a_cl, *b_cl, *c_cl;
- int no_init;
-
- if (a_type == SLANG_ARRAY_TYPE)
- {
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
- return -1;
- }
-
- at = *(SLang_Array_Type **) ap;
- if (-1 == coerse_array_to_linear (at))
- return -1;
- ap = at->data;
- a_type = at->data_type;
- na = at->num_elements;
- }
- else
- {
- at = NULL;
- }
-
- if (b_type == SLANG_ARRAY_TYPE)
- {
- if (nb != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
- return -1;
- }
-
- bt = *(SLang_Array_Type **) bp;
- if (-1 == coerse_array_to_linear (bt))
- return -1;
- bp = bt->data;
- b_type = bt->data_type;
- nb = bt->num_elements;
- }
- else
- {
- bt = NULL;
- }
-
- if ((at != NULL) && (bt != NULL))
- {
- num_dims = at->num_dims;
-
- if (num_dims != bt->num_dims)
- {
- SLang_verror (SL_TYPE_MISMATCH, "Arrays must have same dim for binary operation");
- return -1;
- }
-
- for (i = 0; i < num_dims; i++)
- {
- if (at->dims[i] != bt->dims[i])
- {
- SLang_verror (SL_TYPE_MISMATCH, "Arrays must be the same for binary operation");
- return -1;
- }
- }
- }
-
- a_cl = _SLclass_get_class (a_type);
- b_cl = _SLclass_get_class (b_type);
-
- if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
- return -1;
-
- no_init = ((c_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (c_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
- ct = NULL;
-#if _SLANG_USE_TMP_OPTIMIZATION
- /* If we are dealing with scalar (or vector) objects, and if the object
- * appears to be owned by the stack, then use it instead of creating a
- * new version. This can happen with code such as:
- * @ x = [1,2,3,4];
- * @ x = __tmp(x) + 1;
- */
- if (no_init)
- {
- if ((at != NULL)
- && (at->num_refs == 1)
- && (at->data_type == c_cl->cl_data_type))
- {
- ct = at;
- ct->num_refs = 2;
- }
- else if ((bt != NULL)
- && (bt->num_refs == 1)
- && (bt->data_type == c_cl->cl_data_type))
- {
- ct = bt;
- ct->num_refs = 2;
- }
- }
-#endif /* _SLANG_USE_TMP_OPTIMIZATION */
-
- if (ct == NULL)
- {
- if (at != NULL) ct = at; else ct = bt;
- ct = SLang_create_array1 (c_cl->cl_data_type, 0, NULL, ct->dims, ct->num_dims, no_init);
- if (ct == NULL)
- return -1;
- }
-
-
- if ((na == 0) || (nb == 0) /* allow empty arrays */
- || (1 == (*binary_fun) (op, a_type, ap, na, b_type, bp, nb, ct->data)))
- {
- *(SLang_Array_Type **) cp = ct;
- return 1;
- }
-
- SLang_free_array (ct);
- return -1;
-}
-
-static void array_where (void)
-{
- SLang_Array_Type *at, *bt;
- char *a_data;
- int *b_data;
- unsigned int i, num_elements;
- int b_num;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
-
- bt = NULL;
-
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- int zero;
- SLang_Array_Type *tmp_at;
-
- tmp_at = at;
- zero = 0;
- if (1 != array_binary_op (SLANG_NE,
- SLANG_ARRAY_TYPE, (VOID_STAR) &at, 1,
- SLANG_CHAR_TYPE, (VOID_STAR) &zero, 1,
- (VOID_STAR) &tmp_at))
- goto return_error;
-
- SLang_free_array (at);
- at = tmp_at;
- if (at->data_type != SLANG_CHAR_TYPE)
- {
- SLang_Error = SL_TYPE_MISMATCH;
- goto return_error;
- }
- }
-
- a_data = (char *) at->data;
- num_elements = at->num_elements;
-
- b_num = 0;
- for (i = 0; i < num_elements; i++)
- if (a_data[i] != 0) b_num++;
-
- if (NULL == (bt = SLang_create_array1 (SLANG_INT_TYPE, 0, NULL, &b_num, 1, 1)))
- goto return_error;
-
- b_data = (int *) bt->data;
-
- i = 0;
- while (b_num)
- {
- if (a_data[i] != 0)
- {
- *b_data++ = i;
- b_num--;
- }
-
- i++;
- }
-
- (void) SLang_push_array (bt, 0);
- /* drop */
-
- return_error:
- SLang_free_array (at);
- SLang_free_array (bt);
-}
-
-static int do_array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- int *dims;
- unsigned int i, num_dims;
- unsigned int num_elements;
-
- if ((ind_at->data_type != SLANG_INT_TYPE)
- || (ind_at->num_dims != 1))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
- return -1;
- }
-
- num_dims = ind_at->num_elements;
- dims = (int *) ind_at->data;
-
- num_elements = 1;
- for (i = 0; i < num_dims; i++)
- {
- int d = dims[i];
- if (d < 0)
- {
- SLang_verror (SL_INVALID_PARM, "reshape: dimension is less then 0");
- return -1;
- }
-
- num_elements = (unsigned int) d * num_elements;
- }
-
- if ((num_elements != at->num_elements)
- || (num_dims > SLARRAY_MAX_DIMS))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to reshape array to specified size");
- return -1;
- }
-
- for (i = 0; i < num_dims; i++)
- at->dims [i] = dims[i];
-
- while (i < SLARRAY_MAX_DIMS)
- {
- at->dims [i] = 1;
- i++;
- }
-
- at->num_dims = num_dims;
- return 0;
-}
-
-static void array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
-{
- (void) do_array_reshape (at, ind_at);
-}
-
-static void _array_reshape (SLang_Array_Type *ind_at)
-{
- SLang_Array_Type *at;
- SLang_Array_Type *new_at;
-
- if (-1 == SLang_pop_array (&at, 1))
- return;
-
- /* FIXME: Priority=low: duplicate_array could me modified to look at num_refs */
-
- /* Now try to avoid the overhead of creating a new array if possible */
- if (at->num_refs == 1)
- {
- /* Great, we are the sole owner of this array. */
- if ((-1 == do_array_reshape (at, ind_at))
- || (-1 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR)at)))
- SLang_free_array (at);
- return;
- }
-
- new_at = SLang_duplicate_array (at);
- if (new_at != NULL)
- {
- if (0 == do_array_reshape (new_at, ind_at))
- (void) SLang_push_array (new_at, 0);
-
- SLang_free_array (new_at);
- }
- SLang_free_array (at);
-}
-
-typedef struct
-{
- SLang_Array_Type *at;
- unsigned int increment;
- char *addr;
-}
-Map_Arg_Type;
-/* Usage: array_map (Return-Type, func, args,....); */
-static void array_map (void)
-{
- Map_Arg_Type *args;
- unsigned int num_args;
- unsigned int i, i_control;
- SLang_Name_Type *nt;
- unsigned int num_elements;
- SLang_Array_Type *at;
- char *addr;
- unsigned char type;
-
- at = NULL;
- args = NULL;
- nt = NULL;
-
- if (SLang_Num_Function_Args < 3)
- {
- SLang_verror (SL_INVALID_PARM,
- "Usage: array_map (Return-Type, &func, args...)");
- SLdo_pop_n (SLang_Num_Function_Args);
- return;
- }
-
- num_args = (unsigned int)SLang_Num_Function_Args - 2;
- args = (Map_Arg_Type *) SLmalloc (num_args * sizeof (Map_Arg_Type));
- if (args == NULL)
- {
- SLdo_pop_n (SLang_Num_Function_Args);
- return;
- }
- memset ((char *) args, 0, num_args * sizeof (Map_Arg_Type));
- i = num_args;
- i_control = 0;
- while (i > 0)
- {
- i--;
- if (-1 == SLang_pop_array (&args[i].at, 1))
- {
- SLdo_pop_n (i + 2);
- goto return_error;
- }
- if (args[i].at->num_elements > 1)
- i_control = i;
- }
-
- if (NULL == (nt = SLang_pop_function ()))
- {
- SLdo_pop_n (1);
- goto return_error;
- }
-
- num_elements = args[i_control].at->num_elements;
-
- if (-1 == _SLang_pop_datatype (&type))
- goto return_error;
-
- if (type == SLANG_UNDEFINED_TYPE) /* Void_Type */
- at = NULL;
- else
- {
- at = args[i_control].at;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, at->dims, at->num_dims)))
- goto return_error;
- }
-
-
- for (i = 0; i < num_args; i++)
- {
- SLang_Array_Type *ati = args[i].at;
- /* FIXME: Priority = low: The actual dimensions should be compared. */
- if (ati->num_elements == num_elements)
- args[i].increment = ati->sizeof_type;
- /* memset already guarantees increment to be zero */
-
- if (ati->num_elements == 0)
- {
- SLang_verror (0, "array_map: function argument %d of %d is an empty array",
- i+1, num_args);
- goto return_error;
- }
-
- args[i].addr = (char *) ati->data;
- }
-
- if (at == NULL)
- addr = NULL;
- else
- addr = (char *)at->data;
-
- for (i = 0; i < num_elements; i++)
- {
- unsigned int j;
-
- if (-1 == SLang_start_arg_list ())
- goto return_error;
-
- for (j = 0; j < num_args; j++)
- {
- if (-1 == push_element_at_addr (args[j].at,
- (VOID_STAR) args[j].addr,
- 1))
- {
- SLdo_pop_n (j);
- goto return_error;
- }
-
- args[j].addr += args[j].increment;
- }
-
- if (-1 == SLang_end_arg_list ())
- {
- SLdo_pop_n (num_args);
- goto return_error;
- }
-
- if (-1 == SLexecute_function (nt))
- goto return_error;
-
- if (at == NULL)
- continue;
-
- if (-1 == at->cl->cl_apop (type, (VOID_STAR) addr))
- goto return_error;
-
- addr += at->sizeof_type;
- }
-
- if (at != NULL)
- (void) SLang_push_array (at, 0);
-
- /* drop */
-
- return_error:
- SLang_free_array (at);
- SLang_free_function (nt);
- if (args != NULL)
- {
- for (i = 0; i < num_args; i++)
- SLang_free_array (args[i].at);
-
- SLfree ((char *) args);
- }
-}
-
-static SLang_Intrin_Fun_Type Array_Table [] =
-{
- MAKE_INTRINSIC_0("array_map", array_map, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("array_sort", sort_array, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("array_to_bstring", array_to_bstring, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_1("bstring_to_array", bstring_to_array, SLANG_VOID_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC("init_char_array", init_char_array, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC("array_info", array_info, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC("where", array_where, SLANG_VOID_TYPE, 0),
- MAKE_INTRINSIC_2("reshape", array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_1("_reshape", _array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-static char *array_string (unsigned char type, VOID_STAR v)
-{
- SLang_Array_Type *at;
- char buf[512];
- unsigned int i, num_dims;
- int *dims;
-
- at = *(SLang_Array_Type **) v;
- type = at->data_type;
- num_dims = at->num_dims;
- dims = at->dims;
-
- sprintf (buf, "%s[%d", SLclass_get_datatype_name (type), at->dims[0]);
-
- for (i = 1; i < num_dims; i++)
- sprintf (buf + strlen(buf), ",%d", dims[i]);
- strcat (buf, "]");
-
- return SLmake_string (buf);
-}
-
-static void array_destroy (unsigned char type, VOID_STAR v)
-{
- (void) type;
- SLang_free_array (*(SLang_Array_Type **) v);
-}
-
-static int array_push (unsigned char type, VOID_STAR v)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = *(SLang_Array_Type **) v;
- return SLang_push_array (at, 0);
-}
-
-/* Intrinsic arrays are not stored in a variable. So, the address that
- * would contain the variable holds the array address.
- */
-static int array_push_intrinsic (unsigned char type, VOID_STAR v)
-{
- (void) type;
- return SLang_push_array ((SLang_Array_Type *) v, 0);
-}
-
-int _SLarray_add_bin_op (unsigned char type)
-{
- SL_OOBinary_Type *ab;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- ab = cl->cl_binary_ops;
-
- while (ab != NULL)
- {
- if (ab->data_type == SLANG_ARRAY_TYPE)
- return 0;
- ab = ab->next;
- }
-
- if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, type, array_binary_op, array_binary_op_result))
- || (-1 == SLclass_add_binary_op (type, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result)))
- return -1;
-
- return 0;
-}
-
-static SLang_Array_Type *
-do_array_math_op (int op, int unary_type,
- SLang_Array_Type *at, unsigned int na)
-{
- unsigned char a_type, b_type;
- int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- SLang_Array_Type *bt;
- SLang_Class_Type *b_cl;
- int no_init;
-
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "Operation restricted to 1 array");
- return NULL;
- }
-
- a_type = at->data_type;
- if (NULL == (f = _SLclass_get_unary_fun (op, at->cl, &b_cl, unary_type)))
- return NULL;
- b_type = b_cl->cl_data_type;
-
- if (-1 == coerse_array_to_linear (at))
- return NULL;
-
- no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
-#if _SLANG_USE_TMP_OPTIMIZATION
- /* If we are dealing with scalar (or vector) objects, and if the object
- * appears to be owned by the stack, then use it instead of creating a
- * new version. This can happen with code such as:
- * @ x = [1,2,3,4];
- * @ x = UNARY_OP(__tmp(x));
- */
- if (no_init
- && (at->num_refs == 1)
- && (at->data_type == b_cl->cl_data_type))
- {
- bt = at;
- bt->num_refs = 2;
- }
- else
-#endif /* _SLANG_USE_TMP_OPTIMIZATION */
- if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
- return NULL;
-
- if (1 != (*f)(op, a_type, at->data, at->num_elements, bt->data))
- {
- SLang_free_array (bt);
- return NULL;
- }
- return bt;
-}
-
-static int
-array_unary_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) op;
- (void) a;
- *b = SLANG_ARRAY_TYPE;
- return 1;
-}
-
-static int
-array_unary_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-static int
-array_math_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_MATH_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-static int
-array_app_op (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- SLang_Array_Type *at;
-
- (void) a;
- at = *(SLang_Array_Type **) ap;
- if (NULL == (at = do_array_math_op (op, _SLANG_BC_APP_UNARY, at, na)))
- {
- if (SLang_Error) return -1;
- return 0;
- }
- *(SLang_Array_Type **) bp = at;
- return 1;
-}
-
-int
-_SLarray_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp,
- int is_implicit)
-{
- SLang_Array_Type *at, *bt;
- SLang_Class_Type *b_cl;
- int no_init;
- int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
-
- if (na != 1)
- {
- SLang_verror (SL_NOT_IMPLEMENTED, "typecast of multiple arrays not implemented");
- return -1;
- }
-
- at = *(SLang_Array_Type **) ap;
- a_type = at->data_type;
-
- if (a_type == b_type)
- {
- at->num_refs += 1;
- *(SLang_Array_Type **) bp = at;
- return 1;
- }
-
- if (NULL == (t = _SLclass_get_typecast (a_type, b_type, is_implicit)))
- return -1;
-
- if (-1 == coerse_array_to_linear (at))
- return -1;
-
- b_cl = _SLclass_get_class (b_type);
-
- no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
-
- if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
- return -1;
-
- if (1 == (*t) (a_type, at->data, at->num_elements, b_type, bt->data))
- {
- *(SLang_Array_Type **) bp = bt;
- return 1;
- }
-
- SLang_free_array (bt);
- return 0;
-}
-
-SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *at)
-{
- SLang_Array_Type *bt;
- char *data, *a_data;
- unsigned int i, num_elements, sizeof_type;
- unsigned int size;
- int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
- unsigned char type;
-
- if (-1 == coerse_array_to_linear (at))
- return NULL;
-
- type = at->data_type;
- num_elements = at->num_elements;
- sizeof_type = at->sizeof_type;
- size = num_elements * sizeof_type;
-
- if (NULL == (data = SLmalloc (size)))
- return NULL;
-
- if (NULL == (bt = SLang_create_array (type, 0, (VOID_STAR)data, at->dims, at->num_dims)))
- {
- SLfree (data);
- return NULL;
- }
-
- a_data = (char *) at->data;
- if (0 == (at->flags & SLARR_DATA_VALUE_IS_POINTER))
- {
- SLMEMCPY (data, a_data, size);
- return bt;
- }
-
- SLMEMSET (data, 0, size);
-
- cl_acopy = at->cl->cl_acopy;
- for (i = 0; i < num_elements; i++)
- {
- if (NULL != *(VOID_STAR *) a_data)
- {
- if (-1 == (*cl_acopy) (type, (VOID_STAR) a_data, (VOID_STAR) data))
- {
- SLang_free_array (bt);
- return NULL;
- }
- }
-
- data += sizeof_type;
- a_data += sizeof_type;
- }
-
- return bt;
-}
-
-static int array_dereference (unsigned char type, VOID_STAR addr)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = SLang_duplicate_array (*(SLang_Array_Type **) addr);
- if (at == NULL) return -1;
- return SLang_push_array (at, 1);
-}
-
-/* This function gets called via, e.g., @Array_Type (Double_Type, [10,20]);
- */
-static int
-array_datatype_deref (unsigned char type)
-{
- SLang_Array_Type *ind_at;
- SLang_Array_Type *at;
-
-#if 0
- /* The parser generated code for this as if a function call were to be
- * made. However, the interpreter simply called the deref object routine
- * instead of the function call. So, I must simulate the function call.
- * This needs to be formalized to hide this detail from applications
- * who wish to do the same. So...
- * FIXME: Priority=medium
- */
- if (0 == _SL_increment_frame_pointer ())
- (void) _SL_decrement_frame_pointer ();
-#endif
-
- if (-1 == SLang_pop_array (&ind_at, 1))
- return -1;
-
- if ((ind_at->data_type != SLANG_INT_TYPE)
- || (ind_at->num_dims != 1))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
- goto return_error;
- }
-
- if (-1 == _SLang_pop_datatype (&type))
- goto return_error;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL,
- (int *) ind_at->data,
- ind_at->num_elements)))
- goto return_error;
-
- SLang_free_array (ind_at);
- return SLang_push_array (at, 1);
-
- return_error:
- SLang_free_array (ind_at);
- return -1;
-}
-
-static int array_length (unsigned char type, VOID_STAR v, unsigned int *len)
-{
- SLang_Array_Type *at;
-
- (void) type;
- at = *(SLang_Array_Type **) v;
- *len = at->num_elements;
- return 0;
-}
-
-int
-_SLarray_init_slarray (void)
-{
- SLang_Class_Type *cl;
-
- if (-1 == SLadd_intrin_fun_table (Array_Table, NULL))
- return -1;
-
- if (NULL == (cl = SLclass_allocate_class ("Array_Type")))
- return -1;
-
- (void) SLclass_set_string_function (cl, array_string);
- (void) SLclass_set_destroy_function (cl, array_destroy);
- (void) SLclass_set_push_function (cl, array_push);
- cl->cl_push_intrinsic = array_push_intrinsic;
- cl->cl_dereference = array_dereference;
- cl->cl_datatype_deref = array_datatype_deref;
- cl->cl_length = array_length;
-
- if (-1 == SLclass_register_class (cl, SLANG_ARRAY_TYPE, sizeof (VOID_STAR),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result))
- || (-1 == SLclass_add_unary_op (SLANG_ARRAY_TYPE, array_unary_op, array_unary_op_result))
- || (-1 == SLclass_add_app_unary_op (SLANG_ARRAY_TYPE, array_app_op, array_unary_op_result))
- || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result))
- || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result)))
- return -1;
-
- return 0;
-}
-
-int SLang_pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
-{
- if (-1 == pop_array (at_ptr, convert_scalar))
- return -1;
-
- if (-1 == coerse_array_to_linear (*at_ptr))
- {
- SLang_free_array (*at_ptr);
- return -1;
- }
- return 0;
-}
-
-int SLang_pop_array_of_type (SLang_Array_Type **at, unsigned char type)
-{
- if (-1 == SLclass_typecast (type, 1, 1))
- return -1;
-
- return SLang_pop_array (at, 1);
-}
-
-void (*_SLang_Matrix_Multiply)(void);
-
-int _SLarray_matrix_multiply (void)
-{
- if (_SLang_Matrix_Multiply != NULL)
- {
- (*_SLang_Matrix_Multiply)();
- return 0;
- }
- SLang_verror (SL_NOT_IMPLEMENTED, "Matrix multiplication not available");
- return -1;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_Array_Type *at;
- unsigned int next_element_index;
-};
-
-SLang_Foreach_Context_Type *
-_SLarray_cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
-
- if (num != 0)
- {
- SLdo_pop_n (num + 1);
- SLang_verror (SL_NOT_IMPLEMENTED,
- "%s does not support 'foreach using' form",
- SLclass_get_datatype_name (type));
- return NULL;
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- return NULL;
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- if (-1 == pop_array (&c->at, 1))
- {
- SLfree ((char *) c);
- return NULL;
- }
-
- return c;
-}
-
-void _SLarray_cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_array (c->at);
- SLfree ((char *) c);
-}
-
-int _SLarray_cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- SLang_Array_Type *at;
- VOID_STAR data;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- at = c->at;
- if (at->num_elements == c->next_element_index)
- return 0;
-
- /* FIXME: Priority = low. The following assumes linear arrays
- * or Integer range arrays. Fixing it right requires a method to get the
- * nth element of a multidimensional array.
- */
-
- if (at->flags & SLARR_DATA_VALUE_IS_RANGE)
- {
- int d = (int) c->next_element_index;
- data = range_get_data_addr (at, &d);
- }
- else
- data = (VOID_STAR) ((char *)at->data + (c->next_element_index * at->sizeof_type));
-
- c->next_element_index += 1;
-
- if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
- && (*(VOID_STAR *) data == NULL))
- {
- if (-1 == SLang_push_null ())
- return -1;
- }
- else if (-1 == (*at->cl->cl_apush)(at->data_type, data))
- return -1;
-
- /* keep going */
- return 1;
-}
-
diff --git a/mdk-stage1/slang/slarrfun.c b/mdk-stage1/slang/slarrfun.c
deleted file mode 100644
index bfa6ec5e5..000000000
--- a/mdk-stage1/slang/slarrfun.c
+++ /dev/null
@@ -1,464 +0,0 @@
-/* Advanced array manipulation routines for S-Lang */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static int next_transposed_index (int *dims, int *max_dims, unsigned int num_dims)
-{
- int i;
-
- for (i = 0; i < (int) num_dims; i++)
- {
- int dims_i;
-
- dims_i = dims [i] + 1;
- if (dims_i != (int) max_dims [i])
- {
- dims [i] = dims_i;
- return 0;
- }
- dims [i] = 0;
- }
-
- return -1;
-}
-
-static SLang_Array_Type *allocate_transposed_array (SLang_Array_Type *at)
-{
- unsigned int num_elements;
- SLang_Array_Type *bt;
- VOID_STAR b_data;
-
- num_elements = at->num_elements;
- b_data = (VOID_STAR) SLmalloc (at->sizeof_type * num_elements);
- if (b_data == NULL)
- return NULL;
-
- bt = SLang_create_array (at->data_type, 0, b_data, at->dims, 2);
- if (bt == NULL)
- {
- SLfree ((char *)b_data);
- return NULL;
- }
-
- bt->dims[1] = at->dims[0];
- bt->dims[0] = at->dims[1];
-
- return bt;
-}
-
-#define GENERIC_TYPE float
-#define TRANSPOSE_2D_ARRAY transpose_floats
-#define GENERIC_TYPE_A float
-#define GENERIC_TYPE_B float
-#define GENERIC_TYPE_C float
-#define INNERPROD_FUNCTION innerprod_float_float
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_A innerprod_complex_float
-# define INNERPROD_A_COMPLEX innerprod_float_complex
-#endif
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE double
-#define TRANSPOSE_2D_ARRAY transpose_doubles
-#define GENERIC_TYPE_A double
-#define GENERIC_TYPE_B double
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_double_double
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_A innerprod_complex_double
-# define INNERPROD_A_COMPLEX innerprod_double_complex
-#endif
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE_A double
-#define GENERIC_TYPE_B float
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_double_float
-#include "slarrfun.inc"
-
-#define GENERIC_TYPE_A float
-#define GENERIC_TYPE_B double
-#define GENERIC_TYPE_C double
-#define INNERPROD_FUNCTION innerprod_float_double
-#include "slarrfun.inc"
-
-/* Finally pick up the complex_complex multiplication
- * and do the integers
- */
-#if SLANG_HAS_COMPLEX
-# define INNERPROD_COMPLEX_COMPLEX innerprod_complex_complex
-#endif
-#define GENERIC_TYPE int
-#define TRANSPOSE_2D_ARRAY transpose_ints
-#include "slarrfun.inc"
-
-#if SIZEOF_LONG != SIZEOF_INT
-# define GENERIC_TYPE long
-# define TRANSPOSE_2D_ARRAY transpose_longs
-# include "slarrfun.inc"
-#else
-# define transpose_longs transpose_ints
-#endif
-
-#if SIZEOF_SHORT != SIZEOF_INT
-# define GENERIC_TYPE short
-# define TRANSPOSE_2D_ARRAY transpose_shorts
-# include "slarrfun.inc"
-#else
-# define transpose_shorts transpose_ints
-#endif
-
-#define GENERIC_TYPE char
-#define TRANSPOSE_2D_ARRAY transpose_chars
-#include "slarrfun.inc"
-
-/* This routine works only with linear arrays */
-static SLang_Array_Type *transpose (SLang_Array_Type *at)
-{
- int dims [SLARRAY_MAX_DIMS];
- int *max_dims;
- unsigned int num_dims;
- SLang_Array_Type *bt;
- int i;
- unsigned int sizeof_type;
- int is_ptr;
- char *b_data;
-
- max_dims = at->dims;
- num_dims = at->num_dims;
-
- if ((at->num_elements == 0)
- || (num_dims == 1))
- {
- bt = SLang_duplicate_array (at);
- if (num_dims == 1) bt->num_dims = 2;
- goto transpose_dims;
- }
-
- /* For numeric arrays skip the overhead below */
- if (num_dims == 2)
- {
- bt = allocate_transposed_array (at);
- if (bt == NULL) return NULL;
-
- switch (at->data_type)
- {
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- return transpose_ints (at, bt);
- case SLANG_DOUBLE_TYPE:
- return transpose_doubles (at, bt);
- case SLANG_FLOAT_TYPE:
- return transpose_floats (at, bt);
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- return transpose_chars (at, bt);
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- return transpose_longs (at, bt);
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- return transpose_shorts (at, bt);
- }
- }
- else
- {
- bt = SLang_create_array (at->data_type, 0, NULL, max_dims, num_dims);
- if (bt == NULL) return NULL;
- }
-
- sizeof_type = at->sizeof_type;
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
-
- memset ((char *)dims, 0, sizeof(dims));
-
- b_data = (char *) bt->data;
-
- do
- {
- if (-1 == _SLarray_aget_transfer_elem (at, dims, (VOID_STAR) b_data,
- sizeof_type, is_ptr))
- {
- SLang_free_array (bt);
- return NULL;
- }
- b_data += sizeof_type;
- }
- while (0 == next_transposed_index (dims, max_dims, num_dims));
-
- transpose_dims:
-
- num_dims = bt->num_dims;
- for (i = 0; i < (int) num_dims; i++)
- bt->dims[i] = max_dims [num_dims - i - 1];
-
- return bt;
-}
-
-static void array_transpose (SLang_Array_Type *at)
-{
- if (NULL != (at = transpose (at)))
- (void) SLang_push_array (at, 1);
-}
-
-static int get_inner_product_parms (SLang_Array_Type *a, int *dp,
- unsigned int *loops, unsigned int *other)
-{
- int num_dims;
- int d;
-
- d = *dp;
-
- num_dims = (int)a->num_dims;
- if (num_dims == 0)
- {
- SLang_verror (SL_INVALID_PARM, "Inner-product operation requires an array of at least 1 dimension.");
- return -1;
- }
-
- /* An index of -1 refers to last dimension */
- if (d == -1)
- d += num_dims;
- *dp = d;
-
- if (a->num_elements == 0)
- { /* [] # [] ==> [] */
- *loops = *other = 0;
- return 0;
- }
-
- *loops = a->num_elements / a->dims[d];
-
- if (d == 0)
- {
- *other = *loops; /* a->num_elements / a->dims[0]; */
- return 0;
- }
-
- *other = a->dims[d];
- return 0;
-}
-
-/* This routines takes two arrays A_i..j and B_j..k and produces a third
- * via C_i..k = A_i..j B_j..k.
- *
- * If A is a vector, and B is a 2-d matrix, then regard A as a 2-d matrix
- * with 1-column.
- */
-static void do_inner_product (void)
-{
- SLang_Array_Type *a, *b, *c;
- void (*fun)(SLang_Array_Type *, SLang_Array_Type *, SLang_Array_Type *,
- unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int);
- unsigned char c_type;
- int dims[SLARRAY_MAX_DIMS];
- int status;
- unsigned int a_loops, b_loops, b_inc, a_stride;
- int ai_dims, i, j;
- unsigned int num_dims, a_num_dims, b_num_dims;
- int ai, bi;
-
- /* The result of a inner_product will be either a float, double, or
- * a complex number.
- *
- * If an integer array is used, it will be promoted to a float.
- */
-
- switch (SLang_peek_at_stack1 ())
- {
- case SLANG_DOUBLE_TYPE:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_DOUBLE_TYPE))
- return;
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_COMPLEX_TYPE))
- return;
- break;
-#endif
- case SLANG_FLOAT_TYPE:
- default:
- if (-1 == SLang_pop_array_of_type (&b, SLANG_FLOAT_TYPE))
- return;
- break;
- }
-
- switch (SLang_peek_at_stack1 ())
- {
- case SLANG_DOUBLE_TYPE:
- status = SLang_pop_array_of_type (&a, SLANG_DOUBLE_TYPE);
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- status = SLang_pop_array_of_type (&a, SLANG_COMPLEX_TYPE);
- break;
-#endif
- case SLANG_FLOAT_TYPE:
- default:
- status = SLang_pop_array_of_type (&a, SLANG_FLOAT_TYPE);
- break;
- }
-
- if (status == -1)
- {
- SLang_free_array (b);
- return;
- }
-
- ai = -1; /* last index of a */
- bi = 0; /* first index of b */
- if ((-1 == get_inner_product_parms (a, &ai, &a_loops, &a_stride))
- || (-1 == get_inner_product_parms (b, &bi, &b_loops, &b_inc)))
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
- goto free_and_return;
- }
-
- a_num_dims = a->num_dims;
- b_num_dims = b->num_dims;
-
- /* Coerse a 1-d vector to 2-d */
- if ((a_num_dims == 1)
- && (b_num_dims == 2)
- && (a->num_elements))
- {
- a_num_dims = 2;
- ai = 1;
- a_loops = a->num_elements;
- a_stride = 1;
- }
-
- if ((ai_dims = a->dims[ai]) != b->dims[bi])
- {
- SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
- goto free_and_return;
- }
-
- num_dims = a_num_dims + b_num_dims - 2;
- if (num_dims > SLARRAY_MAX_DIMS)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Inner-product result exceed max allowed dimensions");
- goto free_and_return;
- }
-
- if (num_dims)
- {
- j = 0;
- for (i = 0; i < (int)a_num_dims; i++)
- if (i != ai) dims [j++] = a->dims[i];
- for (i = 0; i < (int)b_num_dims; i++)
- if (i != bi) dims [j++] = b->dims[i];
- }
- else
- {
- /* a scalar */
- num_dims = 1;
- dims[0] = 1;
- }
-
- c_type = 0; fun = NULL;
- switch (a->data_type)
- {
- case SLANG_FLOAT_TYPE:
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- c_type = SLANG_FLOAT_TYPE;
- fun = innerprod_float_float;
- break;
- case SLANG_DOUBLE_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_float_double;
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- fun = innerprod_float_complex;
- break;
-#endif
- }
- break;
- case SLANG_DOUBLE_TYPE:
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_double_float;
- break;
- case SLANG_DOUBLE_TYPE:
- c_type = SLANG_DOUBLE_TYPE;
- fun = innerprod_double_double;
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- fun = innerprod_double_complex;
- break;
-#endif
- }
- break;
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- c_type = SLANG_COMPLEX_TYPE;
- switch (b->data_type)
- {
- case SLANG_FLOAT_TYPE:
- fun = innerprod_complex_float;
- break;
- case SLANG_DOUBLE_TYPE:
- fun = innerprod_complex_double;
- break;
- case SLANG_COMPLEX_TYPE:
- fun = innerprod_complex_complex;
- break;
- }
- break;
-#endif
- default:
- break;
- }
-
- if (NULL == (c = SLang_create_array (c_type, 0, NULL, dims, num_dims)))
- goto free_and_return;
-
- (*fun)(a, b, c, a_loops, a_stride, b_loops, b_inc, ai_dims);
-
- (void) SLang_push_array (c, 1);
- /* drop */
-
- free_and_return:
- SLang_free_array (a);
- SLang_free_array (b);
-}
-
-
-
-static SLang_Intrin_Fun_Type Array_Fun_Table [] =
-{
- MAKE_INTRINSIC_1("transpose", array_transpose, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_array (void)
-{
- if (-1 == SLadd_intrin_fun_table (Array_Fun_Table, "__SLARRAY__"))
- return -1;
-#if SLANG_HAS_FLOAT
- _SLang_Matrix_Multiply = do_inner_product;
-#endif
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slarrfun.inc b/mdk-stage1/slang/slarrfun.inc
deleted file mode 100644
index 348473a6f..000000000
--- a/mdk-stage1/slang/slarrfun.inc
+++ /dev/null
@@ -1,257 +0,0 @@
-/* -*- mode: C -*- */
-
-/* Some "inline" functions for generic scalar types */
-
-#ifdef TRANSPOSE_2D_ARRAY
-static SLang_Array_Type *TRANSPOSE_2D_ARRAY (SLang_Array_Type *at, SLang_Array_Type *bt)
-{
- GENERIC_TYPE *a_data, *b_data;
- int nr, nc, i;
-
- nr = at->dims[0];
- nc = at->dims[1];
-
- a_data = (GENERIC_TYPE *) at->data;
- b_data = (GENERIC_TYPE *) bt->data;
-
- for (i = 0; i < nr; i++)
- {
- GENERIC_TYPE *offset = b_data + i;
- int j;
- for (j = 0; j < nc; j++)
- {
- *offset = *a_data++;
- offset += nr;
- }
- }
- return bt;
-}
-#undef TRANSPOSE_2D_ARRAY
-#endif
-
-
-#ifdef INNERPROD_FUNCTION
-
-static void INNERPROD_FUNCTION
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- GENERIC_TYPE_A *a;
- GENERIC_TYPE_B *b;
- GENERIC_TYPE_C *c;
-
- c = (GENERIC_TYPE_C *) ct->data;
- b = (GENERIC_TYPE_B *) bt->data;
- a = (GENERIC_TYPE_A *) at->data;
-
- while (a_loops--)
- {
- GENERIC_TYPE_B *bb;
- unsigned int j;
-
- bb = b;
-
- for (j = 0; j < inner_loops; j++)
- {
- double x = (double) a[j];
-
- if (x != 0.0)
- {
- unsigned int k;
-
- for (k = 0; k < b_loops; k++)
- c[k] += x * bb[k];
- }
- bb += b_inc;
- }
- c += b_loops;
- a += a_stride;
- }
-}
-#undef INNERPROD_FUNCTION
-
-#undef GENERIC_TYPE_A
-#undef GENERIC_TYPE_B
-#undef GENERIC_TYPE_C
-#endif
-
-#ifdef INNERPROD_COMPLEX_A
-static void INNERPROD_COMPLEX_A
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- double *a;
- GENERIC_TYPE *b;
- double *c;
-
- c = (double *) ct->data;
- b = (GENERIC_TYPE *) bt->data;
- a = (double *) at->data;
-
- a_stride *= 2;
-
- while (a_loops--)
- {
- GENERIC_TYPE *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- double *aa;
- GENERIC_TYPE *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += aa[0] * (double)bbb[0];
- imag_sum += aa[1] * (double)bbb[0];
- aa += 2;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb++;
- }
-
- a += a_stride;
- }
-}
-
-static void INNERPROD_A_COMPLEX
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- GENERIC_TYPE *a;
- double *b;
- double *c;
-
- c = (double *) ct->data;
- b = (double *) bt->data;
- a = (GENERIC_TYPE *) at->data;
-
- b_inc *= 2;
-
- while (a_loops--)
- {
- double *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- GENERIC_TYPE *aa;
- double *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += (double)aa[0] * bbb[0];
- imag_sum += (double)aa[0] * bbb[1];
- aa += 1;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb += 2;
- }
-
- a += a_stride;
- }
-}
-
-#undef INNERPROD_A_COMPLEX
-#undef INNERPROD_COMPLEX_A
-#endif /* INNERPROD_COMPLEX_A */
-
-
-#ifdef INNERPROD_COMPLEX_COMPLEX
-static void INNERPROD_COMPLEX_COMPLEX
- (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
- unsigned int a_loops, unsigned int a_stride,
- unsigned int b_loops, unsigned int b_inc,
- unsigned int inner_loops)
-{
- double *a;
- double *b;
- double *c;
-
- c = (double *) ct->data;
- b = (double *) bt->data;
- a = (double *) at->data;
-
- a_stride *= 2;
- b_inc *= 2;
-
- while (a_loops--)
- {
- double *bb;
- unsigned int bb_loops;
-
- bb = b;
- bb_loops = b_loops;
-
- while (bb_loops--)
- {
- double real_sum;
- double imag_sum;
- unsigned int iloops;
- double *aa;
- double *bbb;
-
- aa = a;
- bbb = bb;
- iloops = inner_loops;
-
- real_sum = 0.0;
- imag_sum = 0.0;
- while (iloops--)
- {
- real_sum += aa[0]*bbb[0] - aa[1]*bbb[1];
- imag_sum += aa[0]*bbb[1] + aa[1]*bbb[0];
- aa += 2;
- bbb += b_inc;
- }
-
- *c++ = real_sum;
- *c++ = imag_sum;
- bb += 2;
- }
-
- a += a_stride;
- }
-}
-#undef INNERPROD_COMPLEX_COMPLEX
-#endif
-
-#ifdef GENERIC_TYPE
-# undef GENERIC_TYPE
-#endif
diff --git a/mdk-stage1/slang/slarrmis.c b/mdk-stage1/slang/slarrmis.c
deleted file mode 100644
index 330dcb53f..000000000
--- a/mdk-stage1/slang/slarrmis.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Misc Array Functions */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_get_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
-{
- int is_ptr;
-
- if ((at == NULL)
- || (indices == NULL)
- || (data == NULL))
- return -1;
-
- is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
- if (is_ptr) *(VOID_STAR *) data = NULL;
- return _SLarray_aget_transfer_elem (at, indices, data, at->sizeof_type, is_ptr);
-}
-
-int SLang_set_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
-{
- if ((at == NULL)
- || (indices == NULL)
- || (data == NULL))
- return -1;
-
- return _SLarray_aput_transfer_elem (at, indices, data, at->sizeof_type,
- at->flags & SLARR_DATA_VALUE_IS_POINTER);
-}
-
diff --git a/mdk-stage1/slang/slassoc.c b/mdk-stage1/slang/slassoc.c
deleted file mode 100644
index 5997458d2..000000000
--- a/mdk-stage1/slang/slassoc.c
+++ /dev/null
@@ -1,713 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-#define USE_NEW_ANYTYPE_CODE 1
-
-typedef struct _SLAssoc_Array_Element_Type
-{
- char *key; /* slstring */
- struct _SLAssoc_Array_Element_Type *next;
- SLang_Object_Type value;
-}
-_SLAssoc_Array_Element_Type;
-
-typedef struct
-{
- _SLAssoc_Array_Element_Type *elements[SLASSOC_HASH_TABLE_SIZE];
- SLang_Object_Type default_value;
- unsigned int num_elements;
-#define HAS_DEFAULT_VALUE 1
- unsigned int flags;
- unsigned char type;
-}
-SLang_Assoc_Array_Type;
-
-#define USE_CACHED_STRING 1
-
-#if USE_CACHED_STRING
-static char *Cached_String;
-static SLang_Object_Type *Cached_Obj;
-static SLang_Assoc_Array_Type *Cached_Array;
-#endif
-
-static SLang_Assoc_Array_Type *alloc_assoc_array (unsigned char type, int has_default_value)
-{
- SLang_Assoc_Array_Type *a;
-
- a = (SLang_Assoc_Array_Type *)SLmalloc (sizeof (SLang_Assoc_Array_Type));
- if (a == NULL)
- {
- if (has_default_value)
- SLdo_pop_n (1);
- return NULL;
- }
-
- memset ((char *) a, 0, sizeof (SLang_Assoc_Array_Type));
- a->type = type;
-
- if (has_default_value)
- {
- if (
-#if USE_NEW_ANYTYPE_CODE
- ((type != SLANG_ANY_TYPE) && (-1 == SLclass_typecast (type, 1, 1)))
-#else
- (-1 == SLclass_typecast (type, 1, 1))
-#endif
- || (-1 == SLang_pop (&a->default_value)))
- {
- SLfree ((char *) a);
- return NULL;
- }
-
- a->flags |= HAS_DEFAULT_VALUE;
- }
- return a;
-}
-
-static void free_element (_SLAssoc_Array_Element_Type *e)
-{
- if (e == NULL)
- return;
-
- SLang_free_object (&e->value);
- SLang_free_slstring (e->key);
-#if USE_CACHED_STRING
- if (e->key == Cached_String)
- Cached_String = NULL;
-#endif
- SLfree ((char *)e);
-}
-
-static void delete_assoc_array (SLang_Assoc_Array_Type *a)
-{
- unsigned int i;
-
- if (a == NULL) return;
-
- for (i = 0; i < SLASSOC_HASH_TABLE_SIZE; i++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[i];
- while (e != NULL)
- {
- _SLAssoc_Array_Element_Type *next_e;
-
- next_e = e->next;
- free_element (e);
- e = next_e;
- }
- }
- if (a->flags & HAS_DEFAULT_VALUE)
- SLang_free_object (&a->default_value);
-
- SLfree ((char *) a);
-}
-
-_INLINE_
-static SLang_Object_Type *
-find_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *e;
-
- h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
- e = a->elements[h];
-
- while (e != NULL)
- {
- if (str == e->key) /* slstrings can be compared this way */
- {
-#if USE_CACHED_STRING
- Cached_String = str;
- Cached_Obj = &e->value;
- Cached_Array = a;
-#endif
- return &e->value;
- }
-
- e = e->next;
- }
-
- return NULL;
-}
-
-static _SLAssoc_Array_Element_Type *
-create_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *e;
-
- e = (_SLAssoc_Array_Element_Type *) SLmalloc (sizeof (_SLAssoc_Array_Element_Type));
- if (e == NULL)
- return NULL;
-
- memset ((char *) e, 0, sizeof (_SLAssoc_Array_Element_Type));
- h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
-
- if (NULL == (str = _SLstring_dup_hashed_string (str, hash)))
- {
- SLfree ((char *) e);
- return NULL;
- }
-
- e->key = str;
- e->next = a->elements[h];
- a->elements[h] = e;
-
- a->num_elements += 1;
-#if USE_CACHED_STRING
- Cached_String = str;
- Cached_Obj = &e->value;
- Cached_Array = a;
-#endif
- return e;
-}
-
-static int store_object (SLang_Assoc_Array_Type *a, char *s, SLang_Object_Type *obj)
-{
- unsigned long hash;
- SLang_Object_Type *v;
-
-#if USE_CACHED_STRING
- if ((s == Cached_String) && (a == Cached_Array))
- {
- v = Cached_Obj;
- SLang_free_object (v);
- }
- else
- {
-#endif
- hash = _SLcompute_string_hash (s);
- if (NULL != (v = find_element (a, s, hash)))
- SLang_free_object (v);
- else
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = create_element (a, s, hash);
- if (e == NULL)
- return -1;
-
- v = &e->value;
- }
-#if USE_CACHED_STRING
- }
-#endif
-
- *v = *obj;
-
- return 0;
-}
-
-static void assoc_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- delete_assoc_array ((SLang_Assoc_Array_Type *) ptr);
-}
-
-static int pop_index (unsigned int num_indices,
- SLang_MMT_Type **mmt,
- SLang_Assoc_Array_Type **a,
- char **str)
-{
- if (NULL == (*mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
- {
- *a = NULL;
- *str = NULL;
- return -1;
- }
-
- if ((num_indices != 1)
- || (-1 == SLang_pop_slstring (str)))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Assoc_Type arrays require a single string index");
- SLang_free_mmt (*mmt);
- *mmt = NULL;
- *a = NULL;
- *str = NULL;
- return -1;
- }
-
- *a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*mmt);
- return 0;
-}
-
-static int assoc_aget (unsigned char type, unsigned int num_indices)
-{
- SLang_MMT_Type *mmt;
- char *str;
- SLang_Assoc_Array_Type *a;
- SLang_Object_Type *obj;
- int ret;
-
- (void) type;
-
- if (-1 == pop_index (num_indices, &mmt, &a, &str))
- return -1;
-
-#if USE_CACHED_STRING
- if ((str == Cached_String) && (a == Cached_Array))
- obj = Cached_Obj;
- else
-#endif
- obj = find_element (a, str, _SLcompute_string_hash (str));
-
- if ((obj == NULL)
- && (a->flags & HAS_DEFAULT_VALUE))
- obj = &a->default_value;
-
- if (obj == NULL)
- {
- SLang_verror (SL_INTRINSIC_ERROR,
- "No such element in Assoc Array: %s", str);
- ret = -1;
- }
- else
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[obj->data_type])
- ret = SLang_push (obj);
-#endif
- else
- ret = _SLpush_slang_obj (obj);
- }
-
- SLang_free_slstring (str);
- SLang_free_mmt (mmt);
- return ret;
-}
-
-static int assoc_aput (unsigned char type, unsigned int num_indices)
-{
- SLang_MMT_Type *mmt;
- char *str;
- SLang_Assoc_Array_Type *a;
- SLang_Object_Type obj;
- int ret;
-
- (void) type;
-
- if (-1 == pop_index (num_indices, &mmt, &a, &str))
- return -1;
-
- ret = -1;
-
- if (0 == SLang_pop (&obj))
- {
- if ((obj.data_type != a->type)
-#if USE_NEW_ANYTYPE_CODE
- && (a->type != SLANG_ANY_TYPE)
-#endif
- )
- {
- (void) SLang_push (&obj);
- if ((-1 == SLclass_typecast (a->type, 1, 1))
- || (-1 == SLang_pop (&obj)))
- goto the_return;
- }
-
- if (-1 == store_object (a, str, &obj))
- SLang_free_object (&obj);
- else
- ret = 0;
- }
-
- the_return:
- SLang_free_slstring (str);
- SLang_free_mmt (mmt);
- return ret;
-}
-
-static int assoc_anew (unsigned char type, unsigned int num_dims)
-{
- SLang_MMT_Type *mmt;
- SLang_Assoc_Array_Type *a;
- int has_default_value;
-
- has_default_value = 0;
- switch (num_dims)
- {
- case 0:
- type = SLANG_ANY_TYPE;
- break;
- case 2:
- (void) SLreverse_stack (2);
- has_default_value = 1;
- /* drop */
- case 1:
- if (0 == _SLang_pop_datatype (&type))
- break;
- num_dims--;
- /* drop */
- default:
- SLdo_pop_n (num_dims);
- SLang_verror (SL_SYNTAX_ERROR, "Usage: Assoc_Type [DataType_Type]");
- return -1;
- }
-
- a = alloc_assoc_array (type, has_default_value);
- if (a == NULL)
- return -1;
-
- if (NULL == (mmt = SLang_create_mmt (SLANG_ASSOC_TYPE, (VOID_STAR) a)))
- {
- delete_assoc_array (a);
- return -1;
- }
-
- if (-1 == SLang_push_mmt (mmt))
- {
- SLang_free_mmt (mmt);
- return -1;
- }
-
- return 0;
-}
-
-static void assoc_get_keys (SLang_Assoc_Array_Type *a)
-{
- SLang_Array_Type *at;
- int num;
- unsigned int i, j;
- char **data;
-
- /* Note: If support for threads is added, then we need to modify this
- * algorithm to prevent another thread from modifying the array.
- * However, that should be handled in inner_interp.
- */
- num = a->num_elements;
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num, 1)))
- return;
-
- data = (char **)at->data;
-
- i = 0;
- for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[j];
- while (e != NULL)
- {
- /* Next cannot fail because it is an slstring */
- data [i] = SLang_create_slstring (e->key);
- e = e->next;
- i++;
- }
- }
- (void) SLang_push_array (at, 1);
-}
-
-static int
-transfer_element (SLang_Class_Type *cl, VOID_STAR dest_data,
- SLang_Object_Type *obj)
-{
- unsigned int sizeof_type;
- VOID_STAR src_data;
-
-#if USE_NEW_ANYTYPE_CODE
- if (cl->cl_data_type == SLANG_ANY_TYPE)
- {
- SLang_Any_Type *any;
-
- if ((-1 == _SLpush_slang_obj (obj))
- || (-1 == SLang_pop_anytype (&any)))
- return -1;
-
- *(SLang_Any_Type **)dest_data = any;
- return 0;
- }
-#endif
- /* Optimize for scalar */
- if (cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
- {
- sizeof_type = cl->cl_sizeof_type;
- memcpy ((char *) dest_data, (char *)&obj->v, sizeof_type);
- return 0;
- }
-
- src_data = _SLclass_get_ptr_to_value (cl, obj);
-
- if (-1 == (*cl->cl_acopy) (cl->cl_data_type, src_data, dest_data))
- return -1;
-
- return 0;
-}
-
-static void assoc_get_values (SLang_Assoc_Array_Type *a)
-{
- SLang_Array_Type *at;
- int num;
- unsigned int i, j;
- char *dest_data;
- unsigned char type;
- SLang_Class_Type *cl;
- unsigned int sizeof_type;
-
- /* Note: If support for threads is added, then we need to modify this
- * algorithm to prevent another thread from modifying the array.
- * However, that should be handled in inner_interp.
- */
- num = a->num_elements;
- type = a->type;
-
- cl = _SLclass_get_class (type);
- sizeof_type = cl->cl_sizeof_type;
-
- if (NULL == (at = SLang_create_array (type, 0, NULL, &num, 1)))
- return;
-
- dest_data = (char *)at->data;
-
- i = 0;
- for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
- {
- _SLAssoc_Array_Element_Type *e;
-
- e = a->elements[j];
- while (e != NULL)
- {
- if (-1 == transfer_element (cl, (VOID_STAR) dest_data, &e->value))
- {
- SLang_free_array (at);
- return;
- }
-
- dest_data += sizeof_type;
- e = e->next;
- i++;
- }
- }
- (void) SLang_push_array (at, 1);
-}
-
-static int assoc_key_exists (SLang_Assoc_Array_Type *a, char *key)
-{
- return (NULL != find_element (a, key, _SLcompute_string_hash (key)));
-}
-
-static void assoc_delete_key (SLang_Assoc_Array_Type *a, char *key)
-{
- unsigned int h;
- _SLAssoc_Array_Element_Type *v, *v0;
-
- h = (unsigned int) (_SLcompute_string_hash (key) % SLASSOC_HASH_TABLE_SIZE);
-
- v0 = NULL;
- v = a->elements[h];
- while (v != NULL)
- {
- if (v->key == key)
- {
- if (v0 != NULL)
- v0->next = v->next;
- else
- a->elements[h] = v->next;
-
- free_element (v);
- a->num_elements -= 1;
- return;
- }
- v0 = v;
- v = v->next;
- }
-
- /* No such element. Let it pass with no error. */
-}
-
-#define A SLANG_ASSOC_TYPE
-#define S SLANG_STRING_TYPE
-static SLang_Intrin_Fun_Type Assoc_Table [] =
-{
- MAKE_INTRINSIC_1("assoc_get_keys", assoc_get_keys, SLANG_VOID_TYPE, A),
- MAKE_INTRINSIC_1("assoc_get_values", assoc_get_values, SLANG_VOID_TYPE, A),
- MAKE_INTRINSIC_2("assoc_key_exists", assoc_key_exists, SLANG_INT_TYPE, A, S),
- MAKE_INTRINSIC_2("assoc_delete_key", assoc_delete_key, SLANG_VOID_TYPE, A, S),
-
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef A
-#undef S
-
-static int assoc_length (unsigned char type, VOID_STAR v, unsigned int *len)
-{
- SLang_Assoc_Array_Type *a;
-
- (void) type;
- a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*(SLang_MMT_Type **)v);
- *len = a->num_elements;
- return 0;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_MMT_Type *mmt;
- SLang_Assoc_Array_Type *a;
- unsigned int this_hash_index;
- unsigned int next_same_hash_index;
-#define CTX_WRITE_KEYS 1
-#define CTX_WRITE_VALUES 2
- unsigned char flags;
-};
-
-static SLang_Foreach_Context_Type *
-cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- unsigned char flags;
- SLang_MMT_Type *mmt;
-
- (void) type;
-
- if (NULL == (mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
- return NULL;
-
- flags = 0;
-
- while (num--)
- {
- char *s;
-
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- if (0 == strcmp (s, "keys"))
- flags |= CTX_WRITE_KEYS;
- else if (0 == strcmp (s, "values"))
- flags |= CTX_WRITE_VALUES;
- else
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "using '%s' not supported by SLassoc_Type",
- s);
- SLang_free_slstring (s);
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- SLang_free_slstring (s);
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- if (flags == 0) flags = CTX_WRITE_VALUES|CTX_WRITE_KEYS;
-
- c->flags = flags;
- c->mmt = mmt;
- c->a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (mmt);
-
- return c;
-}
-
-static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_mmt (c->mmt);
- SLfree ((char *) c);
-}
-
-static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- SLang_Assoc_Array_Type *a;
- _SLAssoc_Array_Element_Type *e;
- unsigned int i, j;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- a = c->a;
-
- i = c->this_hash_index;
- if (i >= SLASSOC_HASH_TABLE_SIZE)
- return 0;
-
- e = a->elements[i];
-
- j = c->next_same_hash_index;
- c->next_same_hash_index = j + 1;
-
- while ((j > 0) && (e != NULL))
- {
- j--;
- e = e->next;
- }
-
- if (e == NULL)
- {
- do
- {
- i++;
- if (i >= SLASSOC_HASH_TABLE_SIZE)
- return 0; /* no more */
- }
- while (a->elements [i] == NULL);
-
- e = a->elements[i];
- c->this_hash_index = i;
- c->next_same_hash_index = 1;
- }
-
- if ((c->flags & CTX_WRITE_KEYS)
- && (-1 == SLang_push_string (e->key)))
- return -1;
-
- if ((c->flags & CTX_WRITE_VALUES)
- && (-1 == _SLpush_slang_obj (&e->value)))
- return -1;
-
- /* keep going */
- return 1;
-}
-
-int SLang_init_slassoc (void)
-{
- SLang_Class_Type *cl;
-
- if (SLclass_is_class_defined (SLANG_ASSOC_TYPE))
- return 0;
-
- if (NULL == (cl = SLclass_allocate_class ("Assoc_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, assoc_destroy);
- (void) SLclass_set_aput_function (cl, assoc_aput);
- (void) SLclass_set_aget_function (cl, assoc_aget);
- (void) SLclass_set_anew_function (cl, assoc_anew);
- cl->cl_length = assoc_length;
- cl->cl_foreach_open = cl_foreach_open;
- cl->cl_foreach_close = cl_foreach_close;
- cl->cl_foreach = cl_foreach;
-
- if (-1 == SLclass_register_class (cl, SLANG_ASSOC_TYPE, sizeof (SLang_Assoc_Array_Type), SLANG_CLASS_TYPE_MMT))
- return -1;
-
- if (-1 == SLadd_intrin_fun_table (Assoc_Table, "__SLASSOC__"))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slbstr.c b/mdk-stage1/slang/slbstr.c
deleted file mode 100644
index b4b8c4c51..000000000
--- a/mdk-stage1/slang/slbstr.c
+++ /dev/null
@@ -1,615 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-struct _SLang_BString_Type
-{
- unsigned int num_refs;
- unsigned int len;
- int ptr_type;
-#define IS_SLSTRING 1
-#define IS_MALLOCED 2
-#define IS_NOT_TO_BE_FREED 3
- union
- {
- unsigned char bytes[1];
- unsigned char *ptr;
- }
- v;
-};
-
-#define BS_GET_POINTER(b) ((b)->ptr_type ? (b)->v.ptr : (b)->v.bytes)
-
-static SLang_BString_Type *create_bstring_of_type (char *bytes, unsigned int len, int type)
-{
- SLang_BString_Type *b;
- unsigned int size;
-
- size = sizeof(SLang_BString_Type);
- if (type == 0)
- size += len;
-
- if (NULL == (b = (SLang_BString_Type *)SLmalloc (size)))
- return NULL;
-
- b->len = len;
- b->num_refs = 1;
- b->ptr_type = type;
-
- switch (type)
- {
- case 0:
- if (bytes != NULL) memcpy ((char *) b->v.bytes, bytes, len);
- /* Now \0 terminate it because we want to also use it as a C string
- * whenever possible. Note that sizeof(SLang_BString_Type) includes
- * space for 1 character and we allocated len extra bytes. Thus, it is
- * ok to add a \0 to the end.
- */
- b->v.bytes[len] = 0;
- break;
-
- case IS_SLSTRING:
- if (NULL == (b->v.ptr = (unsigned char *)SLang_create_nslstring (bytes, len)))
- {
- SLfree ((char *) b);
- return NULL;
- }
- break;
-
- case IS_MALLOCED:
- case IS_NOT_TO_BE_FREED:
- b->v.ptr = (unsigned char *)bytes;
- bytes [len] = 0; /* NULL terminate */
- break;
- }
-
- return b;
-}
-
-SLang_BString_Type *
-SLbstring_create (unsigned char *bytes, unsigned int len)
-{
- return create_bstring_of_type ((char *)bytes, len, 0);
-}
-
-/* Note that ptr must be len + 1 bytes long for \0 termination */
-SLang_BString_Type *
-SLbstring_create_malloced (unsigned char *ptr, unsigned int len, int free_on_error)
-{
- SLang_BString_Type *b;
-
- if (ptr == NULL)
- return NULL;
-
- if (NULL == (b = create_bstring_of_type ((char *)ptr, len, IS_MALLOCED)))
- {
- if (free_on_error)
- SLfree ((char *) ptr);
- }
- return b;
-}
-
-SLang_BString_Type *SLbstring_create_slstring (char *s)
-{
- if (s == NULL)
- return NULL;
-
- return create_bstring_of_type (s, strlen (s), IS_SLSTRING);
-}
-
-SLang_BString_Type *SLbstring_dup (SLang_BString_Type *b)
-{
- if (b != NULL)
- b->num_refs += 1;
-
- return b;
-}
-
-unsigned char *SLbstring_get_pointer (SLang_BString_Type *b, unsigned int *len)
-{
- if (b == NULL)
- {
- *len = 0;
- return NULL;
- }
- *len = b->len;
- return BS_GET_POINTER(b);
-}
-
-void SLbstring_free (SLang_BString_Type *b)
-{
- if (b == NULL)
- return;
-
- if (b->num_refs > 1)
- {
- b->num_refs -= 1;
- return;
- }
-
- switch (b->ptr_type)
- {
- case 0:
- case IS_NOT_TO_BE_FREED:
- default:
- break;
-
- case IS_SLSTRING:
- SLang_free_slstring ((char *)b->v.ptr);
- break;
-
- case IS_MALLOCED:
- SLfree ((char *)b->v.ptr);
- break;
- }
-
- SLfree ((char *) b);
-}
-
-int SLang_pop_bstring (SLang_BString_Type **b)
-{
- return SLclass_pop_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR *)b);
-}
-
-int SLang_push_bstring (SLang_BString_Type *b)
-{
- if (b == NULL)
- return SLang_push_null ();
-
- b->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR)b))
- return 0;
-
- b->num_refs -= 1;
- return -1;
-}
-
-static int
-bstring_bstring_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a;
- (void) b;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- *c = SLANG_BSTRING_TYPE;
- break;
-
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int compare_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
-{
- unsigned int len;
- int ret;
-
- len = a->len;
- if (b->len < len) len = b->len;
-
- ret = memcmp ((char *)BS_GET_POINTER(b), (char *)BS_GET_POINTER(a), len);
- if (ret != 0)
- return ret;
-
- if (a->len > b->len)
- return 1;
- if (a->len == b->len)
- return 0;
-
- return -1;
-}
-
-static SLang_BString_Type *
-concat_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
-{
- unsigned int len;
- SLang_BString_Type *c;
- char *bytes;
-
- len = a->len + b->len;
-
- if (NULL == (c = SLbstring_create (NULL, len)))
- return NULL;
-
- bytes = (char *)BS_GET_POINTER(c);
-
- memcpy (bytes, (char *)BS_GET_POINTER(a), a->len);
- memcpy (bytes + a->len, (char *)BS_GET_POINTER(b), b->len);
-
- return c;
-}
-
-static void free_n_bstrings (SLang_BString_Type **a, unsigned int n)
-{
- unsigned int i;
-
- if (a == NULL) return;
-
- for (i = 0; i < n; i++)
- {
- SLbstring_free (a[i]);
- a[i] = NULL;
- }
-}
-
-static int
-bstring_bstring_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- SLang_BString_Type **a, **b, **c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-
- a = (SLang_BString_Type **) ap;
- b = (SLang_BString_Type **) bp;
- for (n = 0; n < n_max; n++)
- {
- if ((*a == NULL) || (*b == NULL))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED,
- "Binary string element[%u] not initialized for binary operation", n);
- return -1;
- }
- a += da; b += db;
- }
-
- a = (SLang_BString_Type **) ap;
- b = (SLang_BString_Type **) bp;
- ic = (char *) cp;
- c = NULL;
-
- switch (op)
- {
- case SLANG_PLUS:
- /* Concat */
- c = (SLang_BString_Type **) cp;
- for (n = 0; n < n_max; n++)
- {
- if (NULL == (c[n] = concat_bstrings (*a, *b)))
- goto return_error;
-
- a += da; b += db;
- }
- break;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (0 != compare_bstrings (*a, *b));
- a += da;
- b += db;
- }
- break;
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) > 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) >= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) < 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) <= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (compare_bstrings (*a, *b) == 0);
- a += da;
- b += db;
- }
- break;
- }
- return 1;
-
- return_error:
- if (c != NULL)
- {
- free_n_bstrings (c, n);
- while (n < n_max)
- {
- c[n] = NULL;
- n++;
- }
- }
- return -1;
-}
-
-/* If preserve_ptr, then use a[i] as the bstring data. See how this function
- * is called by the binary op routines for why.
- */
-static SLang_BString_Type **
-make_n_bstrings (SLang_BString_Type **b, char **a, unsigned int n, int ptr_type)
-{
- unsigned int i;
- int malloc_flag;
-
- malloc_flag = 0;
- if (b == NULL)
- {
- b = (SLang_BString_Type **) SLmalloc ((n + 1) * sizeof (SLang_BString_Type *));
- if (b == NULL)
- return NULL;
- malloc_flag = 1;
- }
-
- for (i = 0; i < n; i++)
- {
- char *s = a[i];
-
- if (s == NULL)
- {
- b[i] = NULL;
- continue;
- }
-
- if (NULL == (b[i] = create_bstring_of_type (s, strlen(s), ptr_type)))
- {
- free_n_bstrings (b, i);
- if (malloc_flag) SLfree ((char *) b);
- return NULL;
- }
- }
-
- return b;
-}
-
-static int
-bstring_string_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_BString_Type **b;
- int ret;
-
- if (NULL == (b = make_n_bstrings (NULL, (char **)bp, nb, IS_NOT_TO_BE_FREED)))
- return -1;
-
- b_type = SLANG_BSTRING_TYPE;
- ret = bstring_bstring_bin_op (op,
- a_type, ap, na,
- b_type, (VOID_STAR) b, nb,
- cp);
- free_n_bstrings (b, nb);
- SLfree ((char *) b);
- return ret;
-}
-
-static int
-string_bstring_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- SLang_BString_Type **a;
- int ret;
-
- if (NULL == (a = make_n_bstrings (NULL, (char **)ap, na, IS_NOT_TO_BE_FREED)))
- return -1;
-
- a_type = SLANG_BSTRING_TYPE;
- ret = bstring_bstring_bin_op (op,
- a_type, (VOID_STAR) a, na,
- b_type, bp, nb,
- cp);
- free_n_bstrings (a, na);
- SLfree ((char *) a);
-
- return ret;
-}
-
-static void bstring_destroy (unsigned char unused, VOID_STAR s)
-{
- (void) unused;
- SLbstring_free (*(SLang_BString_Type **) s);
-}
-
-static int bstring_push (unsigned char unused, VOID_STAR sptr)
-{
- (void) unused;
-
- return SLang_push_bstring (*(SLang_BString_Type **) sptr);
-}
-
-static int string_to_bstring (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- SLang_BString_Type **b;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) ap;
- b = (SLang_BString_Type **) bp;
-
- if (NULL == make_n_bstrings (b, s, na, IS_SLSTRING))
- return -1;
-
- return 1;
-}
-
-static int bstring_to_string (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- unsigned int i;
- SLang_BString_Type **a;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) bp;
- a = (SLang_BString_Type **) ap;
-
- for (i = 0; i < na; i++)
- {
- SLang_BString_Type *ai = a[i];
-
- if (ai == NULL)
- {
- s[i] = NULL;
- continue;
- }
-
- if (NULL == (s[i] = SLang_create_slstring ((char *)BS_GET_POINTER(ai))))
- {
- while (i != 0)
- {
- i--;
- SLang_free_slstring (s[i]);
- s[i] = NULL;
- }
- return -1;
- }
- }
-
- return 1;
-}
-
-static char *bstring_string (unsigned char type, VOID_STAR v)
-{
- SLang_BString_Type *s;
- unsigned char buf[128];
- unsigned char *bytes, *bytes_max;
- unsigned char *b, *bmax;
-
- (void) type;
-
- s = *(SLang_BString_Type **) v;
- bytes = BS_GET_POINTER(s);
- bytes_max = bytes + s->len;
-
- b = buf;
- bmax = buf + (sizeof (buf) - 4);
-
- while (bytes < bytes_max)
- {
- unsigned char ch = *bytes;
-
- if ((ch < 32) || (ch >= 127) || (ch == '\\'))
- {
- if (b + 4 > bmax)
- break;
-
- sprintf ((char *) b, "\\%03o", ch);
- b += 4;
- }
- else
- {
- if (b == bmax)
- break;
-
- *b++ = ch;
- }
-
- bytes++;
- }
-
- if (bytes < bytes_max)
- {
- *b++ = '.';
- *b++ = '.';
- *b++ = '.';
- }
- *b = 0;
-
- return SLmake_string ((char *)buf);
-}
-
-static unsigned int bstrlen_cmd (SLang_BString_Type *b)
-{
- return b->len;
-}
-
-static SLang_Intrin_Fun_Type BString_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_1("bstrlen", bstrlen_cmd, SLANG_UINT_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC_0("pack", _SLpack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_2("unpack", _SLunpack, SLANG_VOID_TYPE, SLANG_STRING_TYPE, SLANG_BSTRING_TYPE),
- MAKE_INTRINSIC_1("pad_pack_format", _SLpack_pad_format, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("sizeof_pack", _SLpack_compute_size, SLANG_UINT_TYPE, SLANG_STRING_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLang_init_bstring (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("BString_Type")))
- return -1;
- (void) SLclass_set_destroy_function (cl, bstring_destroy);
- (void) SLclass_set_push_function (cl, bstring_push);
- (void) SLclass_set_string_function (cl, bstring_string);
-
- if (-1 == SLclass_register_class (cl, SLANG_BSTRING_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLclass_add_typecast (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_to_string, 1))
- || (-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_to_bstring, 1))
- || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_BSTRING_TYPE, bstring_bstring_bin_op, bstring_bstring_bin_op_result))
- || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_bstring_bin_op, bstring_bstring_bin_op_result))
- || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_string_bin_op, bstring_bstring_bin_op_result)))
-
- return -1;
-
- if (-1 == SLadd_intrin_fun_table (BString_Table, NULL))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slclass.c b/mdk-stage1/slang/slclass.c
deleted file mode 100644
index 733888cb8..000000000
--- a/mdk-stage1/slang/slclass.c
+++ /dev/null
@@ -1,1391 +0,0 @@
-/* User defined objects */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-unsigned char _SLclass_Class_Type [256];
-#endif
-
-static SLang_Class_Type *Registered_Types[256];
-SLang_Class_Type *_SLclass_get_class (unsigned char type)
-{
- SLang_Class_Type *cl;
-
- cl = Registered_Types [type];
- if (cl == NULL)
- SLang_exit_error ("Application error: Type %d not registered", (int) type);
-
- return cl;
-}
-
-int SLclass_is_class_defined (unsigned char type)
-{
- return (NULL != Registered_Types[type]);
-}
-
-VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *cl,
- SLang_Object_Type *obj)
-{
- VOID_STAR p;
-
- switch (cl->cl_class_type)
- {
- case SLANG_CLASS_TYPE_MMT:
- case SLANG_CLASS_TYPE_PTR:
- case SLANG_CLASS_TYPE_SCALAR:
- p = (VOID_STAR) &obj->v;
- break;
-
- case SLANG_CLASS_TYPE_VECTOR:
- p = obj->v.ptr_val;
- break;
-
- default:
- p = NULL;
- }
- return p;
-}
-
-char *SLclass_get_datatype_name (unsigned char stype)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (stype);
- return cl->cl_name;
-}
-
-static int method_undefined_error (unsigned char type, char *method, char *name)
-{
- if (name == NULL) name = SLclass_get_datatype_name (type);
-
- SLang_verror (SL_TYPE_MISMATCH, "%s method not defined for %s",
- method, name);
- return -1;
-}
-
-static int
-scalar_vector_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a; (void) b;
- switch (op)
- {
- case SLANG_NE:
- case SLANG_EQ:
- *c = SLANG_INT_TYPE;
- return 1;
- }
- return 0;
-}
-
-static int
-scalar_vector_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *c;
- char *a, *b;
- unsigned int da, db;
- unsigned int n, n_max;
- unsigned int data_type_len;
- SLang_Class_Type *cl;
-
- (void) b_type;
- cl = _SLclass_get_class (a_type);
-
- data_type_len = cl->cl_sizeof_type;
-
- a = (char *) ap;
- b = (char *) bp;
- c = (int *) cp;
-
- if (na == 1) da = 0; else da = data_type_len;
- if (nb == 1) db = 0; else db = data_type_len;
- if (na > nb) n_max = na; else n_max = nb;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- c[n] = (0 != SLMEMCMP(a, b, data_type_len));
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- c[n] = (0 == SLMEMCMP(a, b, data_type_len));
- a += da; b += db;
- }
- break;
- }
- return 1;
-}
-
-static int scalar_fread (unsigned char type, FILE *fp, VOID_STAR ptr,
- unsigned int desired, unsigned int *actual)
-{
- unsigned int n;
-
- n = fread ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
- desired, fp);
- *actual = n;
- return 0;
-}
-
-static int scalar_fwrite (unsigned char type, FILE *fp, VOID_STAR ptr,
- unsigned int desired, unsigned int *actual)
-{
- unsigned int n;
-
- n = fwrite ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
- desired, fp);
- *actual = n;
- return 0;
-}
-
-static int vector_apush (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_push)(type, (VOID_STAR) &ptr);
-}
-
-static int vector_apop (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_pop)(type, (VOID_STAR) &ptr);
-}
-
-static int default_push_mmt (unsigned char type_unused, VOID_STAR ptr)
-{
- SLang_MMT_Type *ref;
-
- (void) type_unused;
- ref = *(SLang_MMT_Type **) ptr;
- return SLang_push_mmt (ref);
-}
-
-static void default_destroy_simple (unsigned char type_unused, VOID_STAR ptr_unused)
-{
- (void) type_unused;
- (void) ptr_unused;
-}
-
-static void default_destroy_user (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLang_free_mmt (*(SLang_MMT_Type **) ptr);
-}
-
-static int default_pop (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_pop_ptr_obj (type, (VOID_STAR *) ptr);
-}
-
-static int default_datatype_deref (unsigned char type)
-{
- return method_undefined_error (type, "datatype_deref", NULL);
-}
-
-static int default_acopy (unsigned char type, VOID_STAR from, VOID_STAR to)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if (-1 == (*cl->cl_apush) (type, from))
- return -1;
- return (*cl->cl_apop) (type, to);
-}
-
-static int default_dereference_object (unsigned char type, VOID_STAR ptr)
-{
- (void) ptr;
- return method_undefined_error (type, "dereference", NULL);
-}
-
-static char *default_string (unsigned char stype, VOID_STAR v)
-{
- char buf [256];
- char *s;
-#if SLANG_HAS_COMPLEX
- double *cplx;
-#endif
- s = buf;
-
- switch (stype)
- {
- case SLANG_STRING_TYPE:
- s = *(char **) v;
- break;
-
- case SLANG_NULL_TYPE:
- s = "NULL";
- break;
-
- case SLANG_DATATYPE_TYPE:
- s = SLclass_get_datatype_name ((unsigned char) *(int *)v);
- break;
-
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- cplx = *(double **) v;
- if (cplx[1] < 0)
- sprintf (s, "(%g - %gi)", cplx [0], -cplx [1]);
- else
- sprintf (s, "(%g + %gi)", cplx [0], cplx [1]);
- break;
-#endif
- default:
- s = SLclass_get_datatype_name (stype);
- }
-
- return SLmake_string (s);
-}
-
-static int
-use_cmp_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- if (a != b)
- return 0;
- switch (op)
- {
- case SLANG_NE:
- case SLANG_EQ:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_GT:
- case SLANG_GE:
- *c = SLANG_INT_TYPE;
- return 1;
- }
- return 0;
-}
-
-static int
-use_cmp_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *c;
- char *a, *b;
- unsigned int da, db;
- unsigned int n, n_max;
- unsigned int data_type_len;
- SLang_Class_Type *cl;
- int (*cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
-
- (void) b_type;
- cl = _SLclass_get_class (a_type);
- cmp = cl->cl_cmp;
- data_type_len = cl->cl_sizeof_type;
-
- a = (char *) ap;
- b = (char *) bp;
- c = (int *) cp;
-
- if (na == 1) da = 0; else da = data_type_len;
- if (nb == 1) db = 0; else db = data_type_len;
- if (na > nb) n_max = na; else n_max = nb;
-
- switch (op)
- {
- int result;
-
- default:
- return 0;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result != 0);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result == 0);
- a += da; b += db;
- }
- break;
-
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result > 0);
- a += da; b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result >= 0);
- a += da; b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result < 0);
- a += da; b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
- return -1;
- c[n] = (result <= 0);
- a += da; b += db;
- }
- break;
- }
- return 1;
-}
-
-
-int SLclass_get_class_id (SLang_Class_Type *cl)
-{
- if (cl == NULL)
- return -1;
- return (int) cl->cl_data_type;
-}
-
-SLang_Class_Type *SLclass_allocate_class (char *name)
-{
- SLang_Class_Type *cl;
- unsigned int i;
-
- for (i = 0; i < 256; i++)
- {
- cl = Registered_Types [i];
- if ((cl != NULL)
- && (0 == strcmp (cl->cl_name, name)))
- {
- SLang_verror (SL_DUPLICATE_DEFINITION, "Type name %s already exists", name);
- return NULL;
- }
- }
-
- cl = (SLang_Class_Type *) SLmalloc (sizeof (SLang_Class_Type));
- if (cl == NULL) return NULL;
-
- SLMEMSET ((char *) cl, 0, sizeof (SLang_Class_Type));
-
- if (NULL == (cl->cl_name = SLang_create_slstring (name)))
- {
- SLfree ((char *) cl);
- return NULL;
- }
-
- return cl;
-}
-
-static int DataType_Ids [256];
-
-int _SLang_push_datatype (unsigned char data_type)
-{
- /* This data type could be a copy of another type, e.g., short and
- * int if they are the same size (Int16 == Short). So, make sure
- * we push the original and not the copy.
- */
- data_type = _SLclass_get_class (data_type)->cl_data_type;
- return SLclass_push_int_obj (SLANG_DATATYPE_TYPE, (int) data_type);
-}
-
-static int datatype_deref (unsigned char type, VOID_STAR ptr)
-{
- SLang_Class_Type *cl;
- int status;
-
- /* The parser generated code for this as if a function call were to be
- * made. However, we are calling the deref object routine
- * instead of the function call. So, I must simulate the function call.
- */
- if (-1 == _SL_increment_frame_pointer ())
- return -1;
-
- type = (unsigned char) *(int *) ptr;
- cl = _SLclass_get_class (type);
- status = (*cl->cl_datatype_deref) (type);
-
- (void) _SL_decrement_frame_pointer ();
- return status;
-}
-
-static int datatype_push (unsigned char type_unused, VOID_STAR ptr)
-{
- (void) type_unused;
- return _SLang_push_datatype (*(int *) ptr);
-}
-
-int _SLang_pop_datatype (unsigned char *type)
-{
- int i;
-
- if (-1 == SLclass_pop_int_obj (SLANG_DATATYPE_TYPE, &i))
- return -1;
-
- *type = (unsigned char) i;
- return 0;
-}
-
-static int datatype_pop (unsigned char type, VOID_STAR ptr)
-{
- if (-1 == _SLang_pop_datatype (&type))
- return -1;
-
- *(int *) ptr = type;
- return 0;
-}
-
-int _SLclass_init (void)
-{
- SLang_Class_Type *cl;
-
- /* First initialize the container classes. This is so binary operations
- * added later will work with them.
- */
- if (-1 == _SLarray_init_slarray ())
- return -1;
-
- /* DataType_Type */
- if (NULL == (cl = SLclass_allocate_class ("DataType_Type")))
- return -1;
- cl->cl_pop = datatype_pop;
- cl->cl_push = datatype_push;
- cl->cl_dereference = datatype_deref;
- if (-1 == SLclass_register_class (cl, SLANG_DATATYPE_TYPE, sizeof(int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- return 0;
-}
-
-static int register_new_datatype (char *name, unsigned char type)
-{
- DataType_Ids [type] = type;
- return SLadd_intrinsic_variable (name, (VOID_STAR) (DataType_Ids + type),
- SLANG_DATATYPE_TYPE, 1);
-}
-
-int SLclass_create_synonym (char *name, unsigned char type)
-{
- if (NULL == _SLclass_get_class (type))
- return -1;
-
- return register_new_datatype (name, type);
-}
-
-int _SLclass_copy_class (unsigned char to, unsigned char from)
-{
- SLang_Class_Type *cl = _SLclass_get_class (from);
-
- if (Registered_Types[to] != NULL)
- SLang_exit_error ("Application error: Class already exists");
-
- Registered_Types[to] = cl;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (to != SLANG_UNDEFINED_TYPE)
- _SLclass_Class_Type [to] = cl->cl_class_type;
-#endif
- return 0;
-}
-
-int SLclass_register_class (SLang_Class_Type *cl, unsigned char type, unsigned int type_size, unsigned char class_type)
-{
- char *name;
- unsigned int i;
- int can_binop = 1; /* scalar_vector_bin_op should work
- * for all data types.
- */
-
- if (type == SLANG_VOID_TYPE) for (i = 0; i < 256; i++)
- {
- if ((Registered_Types[i] == NULL)
- && (i != SLANG_VOID_TYPE))
- {
- type = (unsigned char) i;
- break;
- }
- }
-
- if ((NULL != Registered_Types [type])
- || (type == SLANG_VOID_TYPE))
- {
- SLang_verror (SL_APPLICATION_ERROR, "Class type %d already in use", (int) type);
- return -1;
- }
-
- cl->cl_data_type = type;
- cl->cl_class_type = class_type;
- name = cl->cl_name;
-
- switch (class_type)
- {
- case SLANG_CLASS_TYPE_MMT:
- if (cl->cl_push == NULL) cl->cl_push = default_push_mmt;
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- cl->cl_user_destroy_fun = cl->cl_destroy;
- cl->cl_destroy = default_destroy_user;
- type_size = sizeof (VOID_STAR);
- break;
-
- case SLANG_CLASS_TYPE_SCALAR:
- if (cl->cl_destroy == NULL) cl->cl_destroy = default_destroy_simple;
- if ((type_size == 0)
- || (type_size > sizeof (_SL_Object_Union_Type)))
- {
- SLang_verror (SL_INVALID_PARM,
- "Type size for %s not appropriate for SCALAR type",
- name);
- return -1;
- }
- if (cl->cl_pop == NULL)
- return method_undefined_error (type, "pop", name);
- if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
- if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
-
- can_binop = 1;
- break;
-
- case SLANG_CLASS_TYPE_PTR:
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- type_size = sizeof (VOID_STAR);
- break;
-
- case SLANG_CLASS_TYPE_VECTOR:
- if (cl->cl_destroy == NULL)
- return method_undefined_error (type, "destroy", name);
- if (cl->cl_pop == NULL)
- return method_undefined_error (type, "pop", name);
- cl->cl_apop = vector_apop;
- cl->cl_apush = vector_apush;
- cl->cl_adestroy = default_destroy_simple;
- if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
- if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
- can_binop = 1;
- break;
-
- default:
- SLang_verror (SL_INVALID_PARM, "%s: unknown class type (%d)", name, class_type);
- return -1;
- }
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if (type != SLANG_UNDEFINED_TYPE)
- _SLclass_Class_Type [type] = class_type;
-#endif
-
- if (type_size == 0)
- {
- SLang_verror (SL_INVALID_PARM, "type size must be non-zero for %s", name);
- return -1;
- }
-
- if (cl->cl_string == NULL) cl->cl_string = default_string;
- if (cl->cl_acopy == NULL) cl->cl_acopy = default_acopy;
- if (cl->cl_datatype_deref == NULL) cl->cl_datatype_deref = default_datatype_deref;
-
- if (cl->cl_pop == NULL) cl->cl_pop = default_pop;
-
- if (cl->cl_push == NULL)
- return method_undefined_error (type, "push", name);
-
- if (cl->cl_byte_code_destroy == NULL)
- cl->cl_byte_code_destroy = cl->cl_destroy;
- if (cl->cl_push_literal == NULL)
- cl->cl_push_literal = cl->cl_push;
-
- if (cl->cl_dereference == NULL)
- cl->cl_dereference = default_dereference_object;
-
- if (cl->cl_apop == NULL) cl->cl_apop = cl->cl_pop;
- if (cl->cl_apush == NULL) cl->cl_apush = cl->cl_push;
- if (cl->cl_adestroy == NULL) cl->cl_adestroy = cl->cl_destroy;
- if (cl->cl_push_intrinsic == NULL) cl->cl_push_intrinsic = cl->cl_push;
-
- if ((cl->cl_foreach == NULL)
- || (cl->cl_foreach_open == NULL)
- || (cl->cl_foreach_close == NULL))
- {
- cl->cl_foreach = _SLarray_cl_foreach;
- cl->cl_foreach_open = _SLarray_cl_foreach_open;
- cl->cl_foreach_close = _SLarray_cl_foreach_close;
- }
-
- cl->cl_sizeof_type = type_size;
-
- if (NULL == (cl->cl_transfer_buf = (VOID_STAR) SLmalloc (type_size)))
- return -1;
-
- Registered_Types[type] = cl;
-
- if (-1 == register_new_datatype (name, type))
- return -1;
-
- if (cl->cl_cmp != NULL)
- {
- if (-1 == SLclass_add_binary_op (type, type, use_cmp_bin_op, use_cmp_bin_op_result))
- return -1;
- }
- else if (can_binop
- && (-1 == SLclass_add_binary_op (type, type, scalar_vector_bin_op, scalar_vector_bin_op_result)))
- return -1;
-
- cl->cl_anytype_typecast = _SLanytype_typecast;
-
- return 0;
-}
-
-int SLclass_add_math_op (unsigned char type,
- int (*handler)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*result) (int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl = _SLclass_get_class (type);
-
- cl->cl_math_op = handler;
- cl->cl_math_op_result_type = result;
- return 0;
-}
-
-int SLclass_add_binary_op (unsigned char a, unsigned char b,
- int (*f) (int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r) (int, unsigned char, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
- SL_OOBinary_Type *ab;
-
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_binary_op");
- return -1;
- }
-
- cl = _SLclass_get_class (a);
- (void) _SLclass_get_class (b);
-
- if (NULL == (ab = (SL_OOBinary_Type *) SLmalloc (sizeof(SL_OOBinary_Type))))
- return -1;
-
- ab->data_type = b;
- ab->binary_function = f;
- ab->binary_result = r;
- ab->next = cl->cl_binary_ops;
- cl->cl_binary_ops = ab;
-
- if ((a != SLANG_ARRAY_TYPE)
- && (b != SLANG_ARRAY_TYPE))
- {
- if ((-1 == _SLarray_add_bin_op (a))
- || (-1 == _SLarray_add_bin_op (b)))
- return -1;
- }
-
- return 0;
-}
-
-int SLclass_add_unary_op (unsigned char type,
- int (*f)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r)(int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_unary_op");
- return -1;
- }
-
- cl->cl_unary_op = f;
- cl->cl_unary_op_result_type = r;
-
- return 0;
-}
-
-int SLclass_add_app_unary_op (unsigned char type,
- int (*f)(int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR),
- int (*r)(int, unsigned char, unsigned char *))
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- if ((f == NULL) || (r == NULL))
- {
- SLang_verror (SL_INVALID_PARM, "SLclass_add_app_unary_op");
- return -1;
- }
-
- cl->cl_app_unary_op = f;
- cl->cl_app_unary_op_result_type = r;
-
- return 0;
-}
-
-int SLclass_set_pop_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
- cl->cl_pop = f;
-
- return 0;
-}
-
-int SLclass_set_push_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
- cl->cl_push = f;
-
- return 0;
-}
-
-int SLclass_set_string_function (SLang_Class_Type *cl, char *(*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
-
- cl->cl_string = f;
- return 0;
-}
-
-int SLclass_set_destroy_function (SLang_Class_Type *cl, void (*f)(unsigned char, VOID_STAR))
-{
- if (cl == NULL) return -1;
-
- cl->cl_destroy = f;
- return 0;
-}
-
-int SLclass_set_sget_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
-{
- if (cl == NULL) return -1;
- cl->cl_sget = f;
- return 0;
-}
-
-int SLclass_set_sput_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
-{
- if (cl == NULL) return -1;
- cl->cl_sput = f;
- return 0;
-}
-
-int SLclass_set_aget_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_aget = f;
- return 0;
-}
-
-int SLclass_set_aput_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_aput = f;
- return 0;
-}
-
-int SLclass_set_anew_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
-{
- if (cl == NULL) return -1;
- cl->cl_anew = f;
- return 0;
-}
-
-/* Misc */
-void _SLclass_type_mismatch_error (unsigned char a, unsigned char b)
-{
- SLang_verror (SL_TYPE_MISMATCH, "Expecting %s, found %s",
- SLclass_get_datatype_name (a),
- SLclass_get_datatype_name (b));
-}
-
-/* */
-
-static int null_binary_fun (int op,
- unsigned char a, VOID_STAR ap, unsigned int na,
- unsigned char b, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- int *ic;
- unsigned int i;
- int c;
-
- (void) ap; (void) bp;
-
- switch (op)
- {
- case SLANG_EQ:
- c = (a == b);
- break;
-
- case SLANG_NE:
- c = (a != b);
- break;
-
- default:
- return 0;
- }
-
- if (na > nb) nb = na;
- ic = (int *) cp;
- for (i = 0; i < nb; i++)
- ic[i] = c;
-
- return 1;
-}
-
-static char *get_binary_op_string (int op)
-{
- static char *ops[SLANG_MOD] =
- {
- "+", "=", "*", "/", "==", "!=", ">", ">=", "<", "<=", "^",
- "or", "and", "&", "|", "xor", "shl", "shr", "mod"
- };
-
- if ((op > SLANG_MOD) || (op <= 0))
- return "??";
- return ops[op - 1];
-}
-
-int (*_SLclass_get_binary_fun (int op,
- SLang_Class_Type *a_cl, SLang_Class_Type *b_cl,
- SLang_Class_Type **c_cl, int do_error))
-(int,
- unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR, unsigned int,
- VOID_STAR)
-{
- SL_OOBinary_Type *bt;
- unsigned char a, b, c;
-
- a = a_cl->cl_data_type;
- b = b_cl->cl_data_type;
-
- if ((a == SLANG_NULL_TYPE) || (b == SLANG_NULL_TYPE))
- {
- *c_cl = _SLclass_get_class (SLANG_INT_TYPE);
- return null_binary_fun;
- }
-
- bt = a_cl->cl_binary_ops;
-
- while (bt != NULL)
- {
- if (bt->data_type == b)
- {
- if (1 != (*bt->binary_result)(op, a, b, &c))
- break;
-
- if (c == a) *c_cl = a_cl;
- else if (c == b) *c_cl = b_cl;
- else *c_cl = _SLclass_get_class (c);
-
- return bt->binary_function;
- }
-
- bt = bt->next;
- }
-
- if (do_error)
- SLang_verror (SL_TYPE_MISMATCH, "%s %s %s is not possible",
- a_cl->cl_name, get_binary_op_string (op), b_cl->cl_name);
-
- *c_cl = NULL;
- return NULL;
-}
-
-int (*_SLclass_get_unary_fun (int op,
- SLang_Class_Type *a_cl,
- SLang_Class_Type **b_cl,
- int utype))
-(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR)
-{
- int (*f)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
- int (*r)(int, unsigned char, unsigned char *);
- unsigned char a;
- unsigned char b;
-
- switch (utype)
- {
- case _SLANG_BC_UNARY:
- f = a_cl->cl_unary_op;
- r = a_cl->cl_unary_op_result_type;
- break;
-
- case _SLANG_BC_MATH_UNARY:
- f = a_cl->cl_math_op;
- r = a_cl->cl_math_op_result_type;
- break;
-
- case _SLANG_BC_APP_UNARY:
- f = a_cl->cl_app_unary_op;
- r = a_cl->cl_app_unary_op_result_type;
- break;
-
- default:
- f = NULL;
- r = NULL;
- }
-
- a = a_cl->cl_data_type;
- if ((f != NULL) && (r != NULL) && (1 == (*r) (op, a, &b)))
- {
- if (a == b)
- *b_cl = a_cl;
- else
- *b_cl = _SLclass_get_class (b);
- return f;
- }
-
- SLang_verror (SL_TYPE_MISMATCH, "undefined unary operation/function on %s",
- a_cl->cl_name);
-
- *b_cl = NULL;
-
- return NULL;
-}
-
-int
-SLclass_typecast (unsigned char to_type, int is_implicit, int allow_array)
-{
- unsigned char from_type;
- SLang_Class_Type *cl_to, *cl_from;
- SLang_Object_Type obj;
- VOID_STAR ap;
- VOID_STAR bp;
- int status;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- from_type = obj.data_type;
- if (from_type == to_type)
- {
- SLang_push (&obj);
- return 0;
- }
-
- cl_from = _SLclass_get_class (from_type);
-
- /* Since the typecast functions are designed to work on arrays,
- * get the pointer to the value instead of just &obj.v.
- */
- ap = _SLclass_get_ptr_to_value (cl_from, &obj);
-
- if ((from_type == SLANG_ARRAY_TYPE)
- && (allow_array || (to_type != SLANG_ANY_TYPE)))
- {
- if (allow_array == 0)
- goto return_error;
-
- cl_to = _SLclass_get_class (SLANG_ARRAY_TYPE);
- bp = cl_to->cl_transfer_buf;
- status = _SLarray_typecast (from_type, ap, 1, to_type, bp, is_implicit);
- }
- else
- {
- int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
-
- if (NULL == (t = _SLclass_get_typecast (from_type, to_type, is_implicit)))
- {
- SLang_free_object (&obj);
- return -1;
- }
-
- cl_to = _SLclass_get_class (to_type);
- bp = cl_to->cl_transfer_buf;
- status = (*t) (from_type, ap, 1, to_type, bp);
- }
-
- if (1 == status)
- {
- if (-1 == (*cl_to->cl_apush)(to_type, bp))
- {
- (*cl_to->cl_adestroy) (to_type, bp);
- SLang_free_object (&obj);
- return -1;
- }
-
- /* cl_apush will push a copy, so destry this one */
- (*cl_to->cl_adestroy) (to_type, bp);
- SLang_free_object (&obj);
- return 0;
- }
-
- return_error:
-
- SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
- cl_from->cl_name,
- SLclass_get_datatype_name (to_type));
- SLang_free_object (&obj);
- return -1;
-}
-
-int (*_SLclass_get_typecast (unsigned char from, unsigned char to, int is_implicit))
-(unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)
-{
- SL_Typecast_Type *t;
- SLang_Class_Type *cl_from;
-
- cl_from = _SLclass_get_class (from);
-
- t = cl_from->cl_typecast_funs;
- while (t != NULL)
- {
- if (t->data_type != to)
- {
- t = t->next;
- continue;
- }
-
- if (is_implicit && (t->allow_implicit == 0))
- break;
-
- return t->typecast;
- }
-
- if (to == SLANG_ANY_TYPE)
- return _SLanytype_typecast;
-
- if ((is_implicit == 0)
- && (cl_from->cl_void_typecast != NULL))
- return cl_from->cl_void_typecast;
-
- SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
- cl_from->cl_name,
- SLclass_get_datatype_name (to));
-
- return NULL;
-}
-
-int
-SLclass_add_typecast (unsigned char from, unsigned char to,
- int (*f)_PROTO((unsigned char, VOID_STAR, unsigned int,
- unsigned char, VOID_STAR)),
- int allow_implicit)
-{
- SL_Typecast_Type *t;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (from);
- if (to == SLANG_VOID_TYPE)
- {
- cl->cl_void_typecast = f;
- return 0;
- }
-
- (void) _SLclass_get_class (to);
-
- if (NULL == (t = (SL_Typecast_Type *) SLmalloc (sizeof (SL_Typecast_Type))))
- return -1;
-
- SLMEMSET((char *) t, 0, sizeof(SL_Typecast_Type));
- t->data_type = to;
- t->next = cl->cl_typecast_funs;
- t->typecast = f;
- t->allow_implicit = allow_implicit;
-
- cl->cl_typecast_funs = t;
-
- return 0;
-}
-
-SLang_MMT_Type *SLang_pop_mmt (unsigned char type) /*{{{*/
-{
- SLang_MMT_Type *mmt;
-
- if (-1 == SLclass_pop_ptr_obj (type, (VOID_STAR *) &mmt))
- mmt = NULL;
- return mmt;
-
-#if 0
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
-
- if (_SLang_pop_object_of_type (type, &obj))
- return NULL;
-
- cl = _SLclass_get_class (type);
- if ((cl->cl_class_type == SLANG_CLASS_TYPE_MMT)
- && (obj.data_type == type))
- {
- return obj.v.ref;
- }
-
- _SLclass_type_mismatch_error (type, obj.data_type);
- SLang_free_object (&obj);
- return NULL;
-#endif
-}
-
-/*}}}*/
-
-int SLang_push_mmt (SLang_MMT_Type *ref) /*{{{*/
-{
- if (ref == NULL)
- return SLang_push_null ();
-
- ref->count += 1;
-
- if (0 == SLclass_push_ptr_obj (ref->data_type, (VOID_STAR) ref))
- return 0;
-
- ref->count -= 1;
- return -1;
-}
-
-/*}}}*/
-
-void SLang_inc_mmt (SLang_MMT_Type *ref)
-{
- if (ref != NULL)
- ref->count += 1;
-}
-
-VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *ref)
-{
- if (ref == NULL)
- return NULL;
-
- return ref->user_data;
-}
-
-SLang_MMT_Type *SLang_create_mmt (unsigned char t, VOID_STAR p)
-{
- SLang_MMT_Type *ref;
-
- (void) _SLclass_get_class (t); /* check to see if it is registered */
-
- if (NULL == (ref = (SLang_MMT_Type *) SLmalloc (sizeof (SLang_MMT_Type))))
- return NULL;
-
- SLMEMSET ((char *) ref, 0, sizeof (SLang_MMT_Type));
-
- ref->data_type = t;
- ref->user_data = p;
- /* FIXME!! To be consistent with other types, the reference count should
- * be set to 1 here. However, doing so will require other code changes
- * involving the use of MMTs. For instance, SLang_free_mmt would have
- * to be called after every push of the MMT.
- */
- return ref;
-}
-
-void SLang_free_mmt (SLang_MMT_Type *ref)
-{
- unsigned char type;
- SLang_Class_Type *cl;
-
- if (ref == NULL)
- return;
-
- /* This can be zero if SLang_create_mmt is called followed
- * by this routine before anything gets a chance to attach itself
- * to it.
- */
- if (ref->count > 1)
- {
- ref->count -= 1;
- return;
- }
-
- type = ref->data_type;
- cl = _SLclass_get_class (type);
- (*cl->cl_user_destroy_fun) (type, ref->user_data);
- SLfree ((char *)ref);
-}
-
-int SLang_push_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_apush)(type, v);
-}
-
-int SLang_pop_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- return (*cl->cl_apop)(type, v);
-}
-
-void SLang_free_value (unsigned char type, VOID_STAR v)
-{
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
- (*cl->cl_adestroy) (type, v);
-}
-
-/* These routines are very low-level and are designed for application data
- * types to access the stack from their push/pop methods. The int and
- * pointer versions are in slang.c
- */
-#if SLANG_HAS_FLOAT
-int SLclass_push_double_obj (unsigned char type, double x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.double_val = x;
- return SLang_push (&obj);
-}
-int SLclass_push_float_obj (unsigned char type, float x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.float_val = x;
- return SLang_push (&obj);
-}
-
-#endif
-
-int SLclass_push_long_obj (unsigned char type, long x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.long_val = x;
- return SLang_push (&obj);
-}
-
-int SLclass_push_short_obj (unsigned char type, short x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.short_val = x;
- return SLang_push (&obj);
-}
-
-int SLclass_push_char_obj (unsigned char type, char x)
-{
- SLang_Object_Type obj;
- obj.data_type = type;
- obj.v.char_val = x;
- return SLang_push (&obj);
-}
-
-#if SLANG_HAS_FLOAT
-int SLclass_pop_double_obj (unsigned char type, double *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.double_val;
- return 0;
-}
-
-int SLclass_pop_float_obj (unsigned char type, float *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.float_val;
- return 0;
-}
-#endif
-
-int SLclass_pop_long_obj (unsigned char type, long *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.long_val;
- return 0;
-}
-
-int SLclass_pop_int_obj (unsigned char type, int *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.int_val;
- return 0;
-}
-
-int SLclass_pop_short_obj (unsigned char type, short *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.short_val;
- return 0;
-}
-
-int SLclass_pop_char_obj (unsigned char type, char *x)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- return -1;
-
- *x = obj.v.char_val;
- return 0;
-}
-
-int SLclass_pop_ptr_obj (unsigned char type, VOID_STAR *s)
-{
- SLang_Object_Type obj;
-
- if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
- {
- *s = (VOID_STAR) NULL;
- return -1;
- }
- *s = obj.v.ptr_val;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slcmd.c b/mdk-stage1/slang/slcmd.c
deleted file mode 100644
index 4a00a90fc..000000000
--- a/mdk-stage1/slang/slcmd.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/* cmd line facility for slang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifndef HAVE_STDLIB_H
-/* Oh dear. Where is the prototype for atof? If not in stdlib, then
- * I do not know where. Not in math.h onsome systems either.
- */
-extern double atof ();
-#endif
-
-static SLcmd_Cmd_Type *SLcmd_find_command (char *s, SLcmd_Cmd_Type *cmd)
-{
- char *cmdstr;
- char chs = *s++, ch;
-
- while ((cmd->cmdfun != NULL)
- && (NULL != (cmdstr = cmd->cmd))
- && (0 != (ch = *cmdstr++)))
- {
- if ((ch == chs) && !strcmp (s, cmdstr)) return cmd;
- cmd++;
- }
- return NULL;
-}
-
-static int extract_token (char **strptr, char *buf)
-{
- char *s, *b;
- char ch, quote;
-
- *buf = 0;
-
- s = *strptr;
- while (((ch = *s) != 0)
- && ((ch == ' ') || (ch == '\t') || (ch == '\n')))
- s++;
-
- *strptr = s;
-
- if (ch == 0) return 0;
- if (ch == '%') return 0;
-
- b = buf;
-
- *b++ = ch;
- s++;
-
- if ((ch == '\'') || (ch == '"'))
- {
- quote = ch;
- while ((ch = *s) != 0)
- {
- s++;
- *b++ = ch;
- if (ch == quote)
- break;
-
- if (ch == '\\')
- {
- if (0 == (ch = *s))
- break;
- *b++ = ch;
- s++;
- }
- }
- *strptr = s;
- *b = 0;
- return 1;
- }
-
- while (((ch = *s) != 0)
- && (ch != ' ')
- && (ch != '\t')
- && (ch != '\n')
- && (ch != '%'))
- *b++ = *s++;
-
- *strptr = s;
- *b = 0;
- return 1;
-}
-
-static int allocate_arg_space (SLcmd_Cmd_Table_Type *table, int argc, unsigned int *space_ptr)
-{
- unsigned int space = *space_ptr;
- char *p;
-
- if (argc + 1 < (int) space)
- return 0;
-
- if (space > 128)
- {
- if (space > 1024) space += 1024;
- else space += 128;
- }
- else space += 32;
-
- if (NULL == (p = SLrealloc ((char *)table->string_args, space * sizeof (char *))))
- return -1;
- table->string_args = (char **)p;
- table->string_args [argc] = NULL;
-
- if (NULL == (p = SLrealloc ((char *)table->int_args, space * sizeof (int))))
- return -1;
- table->int_args = (int *)p;
-
- if (NULL == (p = SLrealloc ((char *)table->double_args, space * sizeof (double))))
- return -1;
- table->double_args = (double *)p;
-
- if (NULL == (p = SLrealloc ((char *)table->arg_type, space * sizeof (unsigned char))))
- return -1;
- table->arg_type = (unsigned char *)p;
-
- *space_ptr = space;
- return 0;
-}
-
-int SLcmd_execute_string (char *str, SLcmd_Cmd_Table_Type *table)
-{
- char *s, *b = NULL, *arg_type, *last_str, *cmd_name;
- SLcmd_Cmd_Type *cmd;
- char *buf;
- int token_present;
- int i;
- int status;
- unsigned int len;
- int argc;
- unsigned int space;
-
- table->argc = 0;
- table->string_args = NULL;
- table->int_args = NULL;
- table->double_args = NULL;
- table->arg_type = NULL;
-
- buf = SLmake_string (str);
- if (buf == NULL)
- return -1;
-
- status = extract_token (&str, buf);
- if (status <= 0)
- {
- SLfree (buf);
- return status;
- }
-
- if (((len = strlen (buf)) >= 32)
- || (NULL == (cmd = SLcmd_find_command (buf, table->table))))
- {
- SLang_verror (SL_UNDEFINED_NAME,"%s: invalid command", buf);
- SLfree (buf);
- return -1;
- }
-
- if (NULL == (cmd_name = SLmake_string (buf)))
- {
- SLfree (buf);
- return -1;
- }
-
- space = 0;
- argc = 0;
- if (-1 == allocate_arg_space (table, argc, &space))
- {
- SLfree (buf);
- return -1;
- }
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = cmd_name;
-
- arg_type = cmd->arg_type;
- status = -1;
- while (*arg_type)
- {
- int guess_type = 0;
-
- last_str = str;
-
- if (-1 == allocate_arg_space (table, argc, &space))
- goto error;
-
- if (-1 == (token_present = extract_token (&str, buf)))
- goto error;
-
- table->string_args[argc] = NULL;
-
- if (token_present)
- {
- b = buf;
- len = strlen (b);
-
- if ((*b == '"') && (len > 1))
- {
- b++;
- len -= 2;
- b[len] = 0;
- guess_type = SLANG_STRING_TYPE;
- SLexpand_escaped_string (buf, b, b + len);
- len = strlen (buf);
- }
- else if ((*b == '\'') && (len > 1))
- {
- char ch;
- b++;
- len -= 2;
- b[len] = 0;
- guess_type = SLANG_INT_TYPE;
- ch = *b;
- if (ch == '\\')
- (void) _SLexpand_escaped_char (b, &ch);
- sprintf (buf, "%d", (unsigned char) ch);
- len = strlen (buf);
- }
- else guess_type = SLang_guess_type (buf);
- }
-
- switch (*arg_type++)
- {
- /* variable argument number */
- case 'v':
- if (token_present == 0) break;
- case 'V':
- if (token_present == 0)
- {
- SLang_verror (SL_INVALID_PARM, "%s: Expecting argument", cmd_name);
- goto error;
- }
-
- while (*last_str == ' ') last_str++;
- len = strlen (last_str);
- str = last_str + len;
-
- s = SLmake_nstring (last_str, len);
- if (s == NULL) goto error;
-
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-
- case 's':
- if (token_present == 0) break;
- case 'S':
- if (token_present == 0)
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting string argument", cmd_name);
- goto error;
- }
-
- s = SLmake_nstring (buf, len);
- if (s == NULL) goto error;
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-
- /* integer argument */
- case 'i':
- if (token_present == 0) break;
- case 'I':
- if ((token_present == 0) || (SLANG_INT_TYPE != guess_type))
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting integer argument", cmd_name);
- goto error;
- }
-
- table->arg_type[argc] = SLANG_INT_TYPE;
- table->int_args[argc++] = SLatoi((unsigned char *) buf);
- break;
-
- /* floating point arg */
-#if SLANG_HAS_FLOAT
- case 'f':
- if (token_present == 0) break;
- case 'F':
- if ((token_present == 0) || (SLANG_STRING_TYPE == guess_type))
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting double argument", cmd_name);
- goto error;
- }
- table->arg_type[argc] = SLANG_DOUBLE_TYPE;
- table->double_args[argc++] = atof(buf);
- break;
-#endif
- /* Generic type */
- case 'g':
- if (token_present == 0) break;
- case 'G':
- if (token_present == 0)
- {
- SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting argument", cmd_name);
- goto error;
- }
-
- switch (guess_type)
- {
- case SLANG_INT_TYPE:
- table->arg_type[argc] = SLANG_INT_TYPE;
- table->int_args[argc++] = SLatoi((unsigned char *) buf);
- break;
-
- case SLANG_STRING_TYPE:
- s = SLmake_nstring (buf, len);
- if (s == NULL) goto error;
-
- table->arg_type[argc] = SLANG_STRING_TYPE;
- table->string_args[argc++] = s;
- break;
-#if SLANG_HAS_FLOAT
- case SLANG_DOUBLE_TYPE:
- table->arg_type[argc] = SLANG_DOUBLE_TYPE;
- table->double_args[argc++] = atof(buf);
-#endif
- }
- break;
- }
- }
-
- /* call function */
- status = (*cmd->cmdfun)(argc, table);
-
- error:
- if (table->string_args != NULL) for (i = 0; i < argc; i++)
- {
- if (NULL != table->string_args[i])
- {
- SLfree (table->string_args[i]);
- table->string_args[i] = NULL;
- }
- }
- SLfree ((char *)table->string_args); table->string_args = NULL;
- SLfree ((char *)table->double_args); table->double_args = NULL;
- SLfree ((char *)table->int_args); table->int_args = NULL;
- SLfree ((char *)table->arg_type); table->arg_type = NULL;
-
- SLfree (buf);
- return status;
-}
-
diff --git a/mdk-stage1/slang/slcmplex.c b/mdk-stage1/slang/slcmplex.c
deleted file mode 100644
index b210dfc04..000000000
--- a/mdk-stage1/slang/slcmplex.c
+++ /dev/null
@@ -1,1142 +0,0 @@
-/* Complex Data Type definition for S-Lang */
-/* Copyright (c) 1997, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* The rest of the file is enclosed in this #if */
-#if SLANG_HAS_COMPLEX
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#ifdef PI
-# undef PI
-#endif
-#define PI 3.14159265358979323846
-
-int SLang_pop_complex (double *r, double *i)
-{
- double *c;
-
- switch (SLang_peek_at_stack ())
- {
- case SLANG_COMPLEX_TYPE:
- if (-1 == SLclass_pop_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR *)&c))
- return -1;
- *r = c[0];
- *i = c[1];
- SLfree ((char *) c);
- break;
-
- default:
- *i = 0.0;
- if (-1 == SLang_pop_double (r, NULL, NULL))
- return -1;
- break;
-
- case -1:
- return -1;
- }
- return 0;
-}
-
-int SLang_push_complex (double r, double i)
-{
- double *c;
-
- c = (double *) SLmalloc (2 * sizeof (double));
- if (c == NULL)
- return -1;
-
- c[0] = r;
- c[1] = i;
-
- if (-1 == SLclass_push_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR) c))
- {
- SLfree ((char *) c);
- return -1;
- }
- return 0;
-}
-
-double *SLcomplex_times (double *c, double *a, double *b)
-{
- double a_real, b_real, a_imag, b_imag;
-
- a_real = a[0];
- b_real = b[0];
- a_imag = a[1];
- b_imag = b[1];
-
- c[0] = a_real * b_real - a_imag * b_imag;
- c[1] = a_imag * b_real + a_real * b_imag;
-
- return c;
-}
-
-double *SLcomplex_divide (double *c, double *a, double *b)
-{
- double a_real, b_real, a_imag, b_imag;
- double ratio, invden;
-
- a_real = a[0];
- b_real = b[0];
- a_imag = a[1];
- b_imag = b[1];
-
- /* Do it this way to avoid overflow in the denom */
- if (fabs(b_real) > fabs(b_imag))
- {
- ratio = b_imag / b_real;
- invden = 1.0 / (b_real + b_imag * ratio);
- c[0] = (a_real + ratio * a_imag) * invden;
- c[1] = (a_imag - a_real * ratio) * invden;
- }
- else
- {
- ratio = b_real / b_imag;
- invden = 1.0 / (b_real * ratio + b_imag);
- c[0] = (a_real * ratio + a_imag) * invden;
- c[1] = (a_imag * ratio - a_real) * invden;
- }
- return c;
-}
-
-/* a^b = exp (b log a); */
-double *SLcomplex_pow (double *c, double *a, double *b)
-{
- return SLcomplex_exp (c, SLcomplex_times (c, b, SLcomplex_log (c, a)));
-}
-
-static double *complex_dpow (double *c, double *a, double b)
-{
- SLcomplex_log (c, a);
- c[0] *= b;
- c[1] *= b;
- return SLcomplex_exp (c, c);
-}
-
-static double *dcomplex_pow (double *c, double a, double *b)
-{
- a = log (a);
- c[0] = a * b[0];
- c[1] = a * b[1];
- return SLcomplex_exp (c, c);
-}
-
-double SLcomplex_abs (double *z)
-{
- return SLmath_hypot (z[0], z[1]);
-}
-
-/* It appears that FORTRAN assumes that the branch cut for the log function
- * is along the -x axis. So, use this for atan2:
- */
-static double my_atan2 (double y, double x)
-{
- double val;
-
- val = atan (y/x);
-
- if (x >= 0)
- return val; /* I, IV */
-
- if (y <= 0) /* III */
- return val - PI;
-
- return PI + val; /* II */
-}
-
-static void polar_form (double *r, double *theta, double *z)
-{
- double x, y;
-
- *r = SLcomplex_abs (z);
-
- x = z[0];
- y = z[1];
-
- if (x == 0.0)
- {
- if (y >= 0)
- *theta = 0.5 * PI;
- else
- *theta = 1.5 * PI;
- }
- else *theta = my_atan2 (y, x);
-}
-
-double *SLcomplex_sin (double *sinz, double *z)
-{
- double x, y;
-
- x = z[0]; y = z[1];
- sinz[0] = sin (x) * cosh (y);
- sinz[1] = cos (x) * sinh (y);
- return sinz;
-}
-
-double *SLcomplex_cos (double *cosz, double *z)
-{
- double x, y;
-
- x = z[0]; y = z[1];
- cosz[0] = cos (x) * cosh (y);
- cosz[1] = -sin (x) * sinh (y);
- return cosz;
-}
-
-double *SLcomplex_exp (double *expz, double *z)
-{
- double r, i;
-
- r = exp (z[0]);
- i = z[1];
- expz[0] = r * cos (i);
- expz[1] = r * sin (i);
- return expz;
-}
-
-double *SLcomplex_log (double *logz, double *z)
-{
- double r, theta;
-
- polar_form (&r, &theta, z); /* log R.e^(ix) = log R + ix */
- logz[0] = log(r);
- logz[1] = theta;
- return logz;
-}
-
-double *SLcomplex_log10 (double *log10z, double *z)
-{
- double l10 = log (10.0);
- (void) SLcomplex_log (log10z, z);
- log10z[0] = log10z[0] / l10;
- log10z[1] = log10z[1] / l10;
- return log10z;
-}
-
-double *SLcomplex_sqrt (double *sqrtz, double *z)
-{
- double r, x, y;
-
- x = z[0];
- y = z[1];
-
- r = SLmath_hypot (x, y);
-
- if (r == 0.0)
- {
- sqrtz [0] = sqrtz [1] = 0.0;
- return sqrtz;
- }
-
- if (x >= 0.0)
- {
- x = sqrt (0.5 * (r + x));
- y = 0.5 * y / x;
- }
- else
- {
- r = sqrt (0.5 * (r - x));
- x = 0.5 * y / r;
- y = r;
-
- if (x < 0.0)
- {
- x = -x;
- y = -y;
- }
- }
-
- sqrtz[0] = x;
- sqrtz[1] = y;
-
- return sqrtz;
-}
-
-double *SLcomplex_tan (double *tanz, double *z)
-{
- double x, y, invden;
-
- x = 2 * z[0];
- y = 2 * z[1];
- invden = 1.0 / (cos (x) + cosh (y));
- tanz[0] = invden * sin (x);
- tanz[1] = invden * sinh (y);
- return tanz;
-}
-
-/* Utility Function */
-static void compute_alpha_beta (double *z, double *alpha, double *beta)
-{
- double x, y, a, b;
-
- x = z[0];
- y = z[1];
- a = 0.5 * SLmath_hypot (x + 1, y);
- b = 0.5 * SLmath_hypot (x - 1, y);
-
- *alpha = a + b;
- *beta = a - b;
-}
-
-double *SLcomplex_asin (double *asinz, double *z)
-{
- double alpha, beta;
-
- compute_alpha_beta (z, &alpha, &beta);
- asinz[0] = asin (beta);
- asinz[1] = log (alpha + sqrt (alpha * alpha - 1));
- return asinz;
-}
-
-double *SLcomplex_acos (double *acosz, double *z)
-{
- double alpha, beta;
-
- compute_alpha_beta (z, &alpha, &beta);
- acosz[0] = acos (beta);
- acosz[1] = -log (alpha + sqrt (alpha * alpha - 1));
- return acosz;
-}
-
-double *SLcomplex_atan (double *atanz, double *z)
-{
- double x, y;
- double z1[2], z2[2];
-
- x = z[0]; y = z[1];
- z1[0] = x;
- z1[1] = 1 + y;
- z2[0] = -x;
- z2[1] = 1 - y;
-
- SLcomplex_log (z1, SLcomplex_divide (z2, z1, z2));
- atanz[0] = -0.5 * z1[1];
- atanz[1] = 0.5 * z1[0];
-
- return atanz;
-}
-
-double *SLcomplex_sinh (double *sinhz, double *z)
-{
- double x, y;
- x = z[0]; y = z[1];
- sinhz[0] = sinh (x) * cos (y);
- sinhz[1] = cosh (x) * sin (y);
- return sinhz;
-}
-
-double *SLcomplex_cosh (double *coshz, double *z)
-{
- double x, y;
- x = z[0]; y = z[1];
- coshz[0] = cosh (x) * cos (y);
- coshz[1] = sinh (x) * sin (y);
- return coshz;
-}
-
-double *SLcomplex_tanh (double *tanhz, double *z)
-{
- double x, y, invden;
- x = 2 * z[0];
- y = 2 * z[1];
- invden = 1.0 / (cosh (x) + cos (y));
- tanhz[0] = invden * sinh (x);
- tanhz[1] = invden * sin (y);
- return tanhz;
-}
-#if 0
-static double *not_implemented (char *fun, double *p)
-{
- SLang_verror (SL_NOT_IMPLEMENTED, "%s for complex numbers has not been implemented",
- fun);
- *p = -1.0;
- return p;
-}
-#endif
-/* Use: asinh(z) = -i asin(iz) */
-double *SLcomplex_asinh (double *asinhz, double *z)
-{
- double iz[2];
-
- iz[0] = -z[1];
- iz[1] = z[0];
-
- (void) SLcomplex_asin (iz, iz);
- asinhz[0] = iz[1];
- asinhz[1] = -iz[0];
-
- return asinhz;
-}
-
-/* Use: acosh (z) = i acos(z) */
-double *SLcomplex_acosh (double *acoshz, double *z)
-{
- double iz[2];
-
- (void) SLcomplex_acos (iz, z);
- acoshz[0] = -iz[1];
- acoshz[1] = iz[0];
-
- return acoshz;
-}
-
-/* Use: atanh(z) = -i atan(iz) */
-double *SLcomplex_atanh (double *atanhz, double *z)
-{
- double iz[2];
-
- iz[0] = -z[1];
- iz[1] = z[0];
-
- (void) SLcomplex_atan (iz, iz);
- atanhz[0] = iz[1];
- atanhz[1] = -iz[0];
-
- return atanhz;
-}
-
-static int complex_binary_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a; (void) b;
-
- switch (op)
- {
- default:
- case SLANG_POW:
- case SLANG_PLUS:
- case SLANG_MINUS:
- case SLANG_TIMES:
- case SLANG_DIVIDE:
- *c = SLANG_COMPLEX_TYPE;
- break;
-
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = a[1] + b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = a[1] - b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- SLcomplex_times (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- SLcomplex_divide (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (a[1] == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (a[1] != b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- SLcomplex_pow (c + n, a, b);
- a += da; b += db;
- }
- break;
-
- }
-
- return 1;
-}
-
-static int complex_double_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = b[0];
- c[n] = a[0] * b0;
- c[n + 1] = a[1] * b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = b[0];
- if (b0 == 0.0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[0] / b0;
- c[n + 1] = a[1] / b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (a[1] == 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (a[1] != 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- complex_dpow (c + n, a, b[0]);
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int double_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- double *a, *b, *c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- a = (double *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + b[0];
- c[n + 1] = b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - b[0];
- c[n + 1] = -b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double a0 = a[0];
- c[n] = a0 * b[0];
- c[n + 1] = a0 * b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double z[2];
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- z[0] = a[0];
- z[1] = 0.0;
- SLcomplex_divide (c + n, z, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == b[0]) && (0.0 == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != b[0]) || (0.0 != b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- dcomplex_pow (c + n, a[0], b);
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int complex_generic_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- char *b;
- double *a, *c;
- unsigned int n, n_max;
- unsigned int da, db;
- unsigned int sizeof_b;
- SLang_To_Double_Fun_Type to_double;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (b_type, &sizeof_b)))
- return 0;
-
- (void) a_type;
-
- a = (double *) ap;
- b = (char *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = 2;
- if (nb == 1) db = 0; else db = sizeof_b;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- complex_dpow (c + n, a, to_double((VOID_STAR)b));
- a += da; b += db;
- }
- break;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] + to_double((VOID_STAR)b);
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = a[0] - to_double((VOID_STAR)b);
- c[n + 1] = a[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = to_double((VOID_STAR)b);
- c[n] = a[0] * b0;
- c[n + 1] = a[1] * b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double b0 = to_double((VOID_STAR)b);
- if (b0 == 0)
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- c[n] = a[0] / b0;
- c[n + 1] = a[1] / b0;
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] == to_double((VOID_STAR)b)) && (a[1] == 0.0));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((a[0] != to_double((VOID_STAR)b)) || (a[1] != 0.0));
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int generic_complex_binary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- double *b, *c;
- char *a, *ic;
- unsigned int n, n_max;
- unsigned int da, db;
- unsigned int sizeof_a;
- SLang_To_Double_Fun_Type to_double;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (a_type, &sizeof_a)))
- return 0;
-
- (void) b_type;
-
- a = (char *) ap;
- b = (double *) bp;
- c = (double *) cp;
- ic = (char *) cp;
-
- if (na == 1) da = 0; else da = sizeof_a;
- if (nb == 1) db = 0; else db = 2;
-
- if (na > nb) n_max = na; else n_max = nb;
- n_max = 2 * n_max;
-
- switch (op)
- {
- default:
- return 0;
- case SLANG_POW:
- for (n = 0; n < n_max; n += 2)
- {
- dcomplex_pow (c + n, to_double((VOID_STAR)a), b);
- a += da; b += db;
- }
- break;
-
- case SLANG_PLUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = to_double((VOID_STAR)a) + b[0];
- c[n + 1] = b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_MINUS:
- for (n = 0; n < n_max; n += 2)
- {
- c[n] = to_double((VOID_STAR)a) - b[0];
- c[n + 1] = -b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_TIMES:
- for (n = 0; n < n_max; n += 2)
- {
- double a0 = to_double((VOID_STAR)a);
- c[n] = a0 * b[0];
- c[n + 1] = a0 * b[1];
- a += da; b += db;
- }
- break;
-
- case SLANG_DIVIDE: /* / */
- for (n = 0; n < n_max; n += 2)
- {
- double z[2];
- if ((b[0] == 0.0) && (b[1] == 0.0))
- {
- SLang_Error = SL_DIVIDE_ERROR;
- return -1;
- }
- z[0] = to_double((VOID_STAR)a);
- z[1] = 0.0;
- SLcomplex_divide (c + n, z, b);
- a += da; b += db;
- }
- break;
-
- case SLANG_EQ: /* == */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((to_double((VOID_STAR)a) == b[0]) && (0.0 == b[1]));
- a += da; b += db;
- }
- break;
-
- case SLANG_NE: /* != */
- for (n = 0; n < n_max; n += 2)
- {
- ic[n/2] = ((to_double((VOID_STAR)a) != b[0]) || (0.0 != b[1]));
- a += da; b += db;
- }
- break;
- }
-
- return 1;
-}
-
-static int complex_unary_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- case SLANG_MINUSMINUS:
- case SLANG_CHS:
- case SLANG_MUL2:
- *b = SLANG_COMPLEX_TYPE;
- break;
-
- case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
- case SLANG_ABS: /* |z| ==> double */
- *b = SLANG_DOUBLE_TYPE;
- break;
-
- case SLANG_SIGN:
- *b = SLANG_INT_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_unary (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- unsigned int n;
- double *a, *b;
- int *ic;
-
- (void) a_type;
-
- a = (double *) ap;
- b = (double *) bp;
- ic = (int *) bp;
-
- na = 2 * na;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUSPLUS:
- for (n = 0; n < na; n += 2) b[n] = (a[n] + 1);
- break;
- case SLANG_MINUSMINUS:
- for (n = 0; n < na; n += 2) b[n] = (a[n] - 1);
- break;
- case SLANG_CHS:
- for (n = 0; n < na; n += 2)
- {
- b[n] = -(a[n]);
- b[n + 1] = -(a[n + 1]);
- }
- break;
- case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
- for (n = 0; n < na; n += 2)
- b[n/2] = (a[n] * a[n] + a[n + 1] * a[n + 1]);
- break;
-
- case SLANG_MUL2:
- for (n = 0; n < na; n += 2)
- {
- b[n] = (2 * a[n]);
- b[n + 1] = (2 * a[n + 1]);
- }
- break;
-
- case SLANG_ABS: /* |z| ==> double */
- for (n = 0; n < na; n += 2)
- b[n/2] = SLcomplex_abs (a + n);
- break;
-
- case SLANG_SIGN:
- /* Another creative extension. Lets return an integer which indicates
- * whether the complex number is in the upperhalf plane or not.
- */
- for (n = 0; n < na; n += 2)
- {
- if (a[n + 1] < 0.0) ic[n/2] = -1;
- else if (a[n + 1] > 0.0) ic[n/2] = 1;
- else ic[n/2] = 0;
- }
- break;
- }
-
- return 1;
-}
-
-static int
-complex_typecast (unsigned char from_type, VOID_STAR from, unsigned int num,
- unsigned char to_type, VOID_STAR to)
-{
- double *z;
- double *d;
- char *i;
- unsigned int n;
- unsigned int sizeof_i;
- SLang_To_Double_Fun_Type to_double;
-
- (void) to_type;
-
- z = (double *) to;
-
- switch (from_type)
- {
- default:
- if (NULL == (to_double = SLarith_get_to_double_fun (from_type, &sizeof_i)))
- return 0;
- i = (char *) from;
- for (n = 0; n < num; n++)
- {
- *z++ = to_double ((VOID_STAR) i);
- *z++ = 0.0;
-
- i += sizeof_i;
- }
- break;
-
- case SLANG_DOUBLE_TYPE:
- d = (double *) from;
- for (n = 0; n < num; n++)
- {
- *z++ = d[n];
- *z++ = 0.0;
- }
- break;
- }
-
- return 1;
-}
-
-static void complex_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfree ((char *)*(double **) ptr);
-}
-
-static int complex_push (unsigned char type, VOID_STAR ptr)
-{
- double *z;
-
- (void) type;
- z = *(double **) ptr;
- return SLang_push_complex (z[0], z[1]);
-}
-
-static int complex_pop (unsigned char type, VOID_STAR ptr)
-{
- double *z;
-
- (void) type;
- z = *(double **) ptr;
- return SLang_pop_complex (&z[0], &z[1]);
-}
-
-int _SLinit_slcomplex (void)
-{
- SLang_Class_Type *cl;
- unsigned char *types;
-
- if (NULL == (cl = SLclass_allocate_class ("Complex_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, complex_destroy);
- (void) SLclass_set_push_function (cl, complex_push);
- (void) SLclass_set_pop_function (cl, complex_pop);
-
- if (-1 == SLclass_register_class (cl, SLANG_COMPLEX_TYPE, 2 * sizeof (double),
- SLANG_CLASS_TYPE_VECTOR))
- return -1;
-
- types = _SLarith_Arith_Types;
- while (*types != SLANG_DOUBLE_TYPE)
- {
- unsigned char t = *types++;
-
- if ((-1 == SLclass_add_binary_op (t, SLANG_COMPLEX_TYPE, generic_complex_binary, complex_binary_result))
- || (-1 == SLclass_add_binary_op (SLANG_COMPLEX_TYPE, t, complex_generic_binary, complex_binary_result))
- || (-1 == (SLclass_add_typecast (t, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
- return -1;
- }
-
- if ((-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_COMPLEX_TYPE, complex_complex_binary, complex_binary_result)))
- || (-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_DOUBLE_TYPE, complex_double_binary, complex_binary_result)))
- || (-1 == (SLclass_add_binary_op (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, double_complex_binary, complex_binary_result)))
- || (-1 == (SLclass_add_unary_op (SLANG_COMPLEX_TYPE, complex_unary, complex_unary_result)))
- || (-1 == (SLclass_add_typecast (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
- return -1;
-
- return 0;
-}
-
-#endif /* if SLANG_HAS_COMPLEX */
-
diff --git a/mdk-stage1/slang/slcompat.c b/mdk-stage1/slang/slcompat.c
deleted file mode 100644
index 5aa122483..000000000
--- a/mdk-stage1/slang/slcompat.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* These functions are provided for backward compatibility and are obsolete.
- * Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Compatibility */
-int SLang_init_slunix (void)
-{
- if ((-1 == SLang_init_posix_dir ())
- || (-1 == SLang_init_posix_process ())
- || (-1 == SLdefine_for_ifdef ("__SLUNIX__")))
- return -1;
-
- return 0;
-}
-
-int SLang_init_slfile (void)
-{
- if ((-1 == SLang_init_stdio ())
- || (-1 == SLang_init_posix_dir ())
- || (-1 == SLdefine_for_ifdef("__SLFILE__")))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slcurses.c b/mdk-stage1/slang/slcurses.c
deleted file mode 100644
index f1212afc8..000000000
--- a/mdk-stage1/slang/slcurses.c
+++ /dev/null
@@ -1,972 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <signal.h>
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-#include "slcurses.h"
-
-/* This file is meant to implement a primitive curses implementation in
- * terms of SLsmg calls. The fact is that the interfaces are sufficiently
- * different that a 100% emulation is not possible.
- */
-
-SLcurses_Window_Type *SLcurses_Stdscr;
-int SLcurses_Esc_Delay = 150; /* 0.15 seconds */
-SLtt_Char_Type SLcurses_Acs_Map [128];
-int SLcurses_Is_Endwin = 1;
-int SLcurses_Num_Colors = 8;
-
-static void blank_line (SLsmg_Char_Type *b, unsigned int len, SLsmg_Char_Type color)
-{
- SLsmg_Char_Type *bmax;
-
- bmax = b + len;
- color = SLSMG_BUILD_CHAR(' ', color);
-
- while (b < bmax) *b++ = color;
-}
-
-static int va_mvprintw (SLcurses_Window_Type *w, int r, int c, int do_move,
- char *fmt, va_list ap)
-{
- char buf[1024];
-
- if (do_move) SLcurses_wmove (w, r, c);
-
- (void) _SLvsnprintf (buf, sizeof(buf), fmt, ap);
-
- SLcurses_waddnstr (w, buf, -1);
- return 0;
-}
-
-int SLcurses_mvprintw (int r, int c, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (SLcurses_Stdscr, r, c, 1, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_mvwprintw (SLcurses_Window_Type *w, int r, int c, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (w, r, c, 1, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_wprintw (SLcurses_Window_Type *w, char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (w, 0, 0, 0, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_printw (char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- va_mvprintw (SLcurses_Stdscr, 0, 0, 0, fmt, ap);
- va_end(ap);
-
- return 0;
-}
-
-int SLcurses_nil (void)
-{
- return 0;
-}
-
-int SLcurses_has_colors(void)
-{
- return SLtt_Use_Ansi_Colors;
-}
-
-int SLcurses_nodelay (SLcurses_Window_Type *w, int onoff)
-{
- w->delay_off = (onoff ? 0 : -1);
- return 0;
-}
-
-int SLcurses_wgetch (SLcurses_Window_Type *w)
-{
- if (w == NULL)
- return ERR;
-
- SLcurses_wrefresh (w);
-
- if ((w->delay_off == -1) ||
- SLang_input_pending (w->delay_off))
- {
- if (w->use_keypad)
- {
- int ch = SLang_getkey ();
- if (ch == '\033')
- {
- if (0 == SLang_input_pending (ESCDELAY / 100))
- return ch;
- }
- else if (ch == 0xFFFF) return ERR;
- SLang_ungetkey (ch);
- return SLkp_getkey ();
- }
- return SLang_getkey ();
- }
-
- return ERR;
-}
-
-int SLcurses_getch (void)
-{
- return SLcurses_wgetch (SLcurses_Stdscr);
-}
-
-/* This is a super hack. That fact is that SLsmg and curses
- * are incompatible.
- */
-static unsigned char Color_Objects[256];
-
-static unsigned int map_attr_to_object (SLtt_Char_Type attr)
-{
- unsigned int obj;
- SLtt_Char_Type at;
-
- obj = (attr >> 8) & 0xFF;
-
- if (SLtt_Use_Ansi_Colors)
- {
- if (Color_Objects[obj] != 0) return obj;
-
- at = SLtt_get_color_object (obj & 0xF);
-
- if (attr & A_BOLD) at |= SLTT_BOLD_MASK;
- if (attr & A_UNDERLINE) at |= SLTT_ULINE_MASK;
- if (attr & A_REVERSE) at |= SLTT_REV_MASK;
-
- SLtt_set_color_object (obj, at);
-
- Color_Objects[obj] = 1;
- }
- else obj = obj & 0xF0;
-
- return obj;
-
-}
-
-int SLcurses_start_color (void)
-{
- int f, b;
- int obj;
-
- if (SLtt_Use_Ansi_Colors == 0) return -1;
-
- obj = 0;
- for (f = 0; f < 16; f++)
- {
- for (b = 0; b < 16; b++)
- {
- obj++;
- SLtt_set_color_fgbg (obj, f, b);
- }
- }
- return 0;
-}
-
-#ifdef SIGINT
-static void sigint_handler (int sig)
-{
- SLang_reset_tty ();
- SLsmg_reset_smg ();
- exit (sig);
-}
-#endif
-
-/* Values are assumed to be 0, 1, 2. This fact is exploited */
-static int TTY_State;
-
-static int init_tty (int suspend_ok)
-{
- if (-1 == SLang_init_tty (-1, 1, 0))
- return -1;
-
-#ifdef REAL_UNIX_SYSTEM
- if (suspend_ok) SLtty_set_suspend_state (1);
-#endif
- return 0;
-}
-
-int SLcurses_raw (void)
-{
- TTY_State = 1;
- return init_tty (0);
-}
-
-int SLcurses_cbreak (void)
-{
- TTY_State = 2;
- return init_tty (1);
-}
-
-#if defined(SIGTSTP) && defined(SIGSTOP)
-static void sigtstp_handler (int sig)
-{
- sig = errno;
-
- SLsmg_suspend_smg ();
-
- if (TTY_State)
- SLang_reset_tty ();
-
- kill(getpid(),SIGSTOP);
-
- SLsmg_resume_smg ();
-
- if (TTY_State) init_tty (TTY_State - 1);
-
- signal (SIGTSTP, sigtstp_handler);
- errno = sig;
-}
-#endif
-
-SLcurses_Window_Type *SLcurses_initscr (void)
-{
- SLcurses_Is_Endwin = 0;
- SLsmg_Newline_Behavior = SLSMG_NEWLINE_MOVES;
- SLtt_get_terminfo ();
-
-#if !defined(IBMPC_SYSTEM) && !defined(VMS)
- if (-1 == (SLcurses_Num_Colors = SLtt_tgetnum ("Co")))
-#endif
- SLcurses_Num_Colors = 8;
-
- if ((-1 == SLkp_init ())
- || (-1 == SLcurses_cbreak ())
- || (NULL == (SLcurses_Stdscr = SLcurses_newwin (0, 0, 0, 0)))
- || (-1 == SLsmg_init_smg ()))
- {
- SLang_doerror (NULL);
- SLang_exit_error ("SLcurses_initscr: init failed\n");
- return NULL;
- }
-
-#ifdef SIGINT
- signal (SIGINT, sigint_handler);
-#endif
-
-#if defined(SIGTSTP) && defined(SIGSTOP)
- signal (SIGTSTP, sigtstp_handler);
-#endif
-
- SLtt_set_mono (A_BOLD >> 8, NULL, SLTT_BOLD_MASK);
- SLtt_set_mono (A_UNDERLINE >> 8, NULL, SLTT_ULINE_MASK);
- SLtt_set_mono (A_REVERSE >> 8, NULL, SLTT_REV_MASK);
- /* SLtt_set_mono (A_BLINK >> 8, NULL, SLTT_BLINK_MASK); */
- SLtt_set_mono ((A_BOLD|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_BOLD_MASK);
- SLtt_set_mono ((A_REVERSE|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_REV_MASK);
-
- if (SLtt_Has_Alt_Charset)
- {
- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = SLSMG_ULCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = SLSMG_URCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = SLSMG_LLCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = SLSMG_LRCORN_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = SLSMG_UTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = SLSMG_DTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = SLSMG_LTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = SLSMG_RTEE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = SLSMG_VLINE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = SLSMG_HLINE_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = SLSMG_PLUS_CHAR | A_ALTCHARSET;
- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = SLSMG_CKBRD_CHAR | A_ALTCHARSET;
- }
- else
- {
- /* ugly defaults to use on terminals which don't support graphics */
- SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = '|';
- SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = '-';
- SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = '+';
- SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = '#';
- }
-
- return SLcurses_Stdscr;
-}
-
-int SLcurses_wattrset (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- unsigned int obj;
-
- obj = map_attr_to_object (ch);
- w->color = obj;
- w->attr = ch;
- return 0;
-}
-
-int SLcurses_wattroff (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- if (SLtt_Use_Ansi_Colors)
- return SLcurses_wattrset (w, 0);
-
- w->attr &= ~ch;
- return SLcurses_wattrset (w, w->attr);
-}
-
-int SLcurses_wattron (SLcurses_Window_Type *w, SLtt_Char_Type ch)
-{
- if (SLtt_Use_Ansi_Colors)
- return SLcurses_wattrset (w, ch);
-
- w->attr |= ch;
- return SLcurses_wattrset (w, w->attr);
-}
-
-int SLcurses_delwin (SLcurses_Window_Type *w)
-{
- if (w == NULL) return 0;
- if (w->lines != NULL)
- {
- SLsmg_Char_Type **lines = w->lines;
- if (w->is_subwin == 0)
- {
- unsigned int r, rmax;
-
- rmax = w->nrows;
- for (r = 0; r < rmax; r++)
- {
- SLfree ((char *)lines[r]);
- }
- }
-
- SLfree ((char *)lines);
- }
-
- SLfree ((char *)w);
- if (w == SLcurses_Stdscr)
- SLcurses_Stdscr = NULL;
- return 0;
-}
-
-SLcurses_Window_Type *SLcurses_newwin (unsigned int nrows, unsigned int ncols,
- unsigned int r, unsigned int c)
-{
- SLcurses_Window_Type *win;
- SLsmg_Char_Type **lines;
-
- if (r >= (unsigned int) SLtt_Screen_Rows)
- return NULL;
- if (c >= (unsigned int) SLtt_Screen_Cols)
- return NULL;
-
- if (NULL == (win = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type))))
- return NULL;
-
- SLMEMSET ((char *) win, 0, sizeof (SLcurses_Window_Type));
-
- if (nrows == 0)
- nrows = (unsigned int) SLtt_Screen_Rows - r;
- if (ncols == 0)
- ncols = (unsigned int) SLtt_Screen_Cols - c;
-
- lines = (SLsmg_Char_Type **) SLmalloc (nrows * sizeof (SLsmg_Char_Type *));
- if (lines == NULL)
- {
- SLcurses_delwin (win);
- return NULL;
- }
-
- SLMEMSET ((char *) lines, 0, nrows * sizeof (SLsmg_Char_Type *));
-
- win->lines = lines;
- win->scroll_max = win->nrows = nrows;
- win->ncols = ncols;
- win->_begy = r;
- win->_begx = c;
- win->_maxx = (c + ncols) - 1;
- win->_maxy = (r + nrows) - 1;
- win->modified = 1;
- win->delay_off = -1;
-
- for (r = 0; r < nrows; r++)
- {
- SLsmg_Char_Type *b;
-
- b = (SLsmg_Char_Type *) SLmalloc (ncols * sizeof (SLsmg_Char_Type));
- if (b == NULL)
- {
- SLcurses_delwin (win);
- return NULL;
- }
- lines [r] = b;
- blank_line (b, ncols, 0);
- }
-
- return win;
-}
-
-int SLcurses_wmove (SLcurses_Window_Type *win, unsigned int r, unsigned int c)
-{
- if (win == NULL) return -1;
- win->_cury = r;
- win->_curx = c;
- win->modified = 1;
- return 0;
-}
-
-static int do_newline (SLcurses_Window_Type *w)
-{
- w->_curx = 0;
- w->_cury += 1;
- if (w->_cury >= w->scroll_max)
- {
- w->_cury = w->scroll_max - 1;
- if (w->scroll_ok)
- SLcurses_wscrl (w, 1);
- }
-
- return 0;
-}
-
-int SLcurses_waddch (SLcurses_Window_Type *win, SLtt_Char_Type attr)
-{
- SLsmg_Char_Type *b, ch;
- SLsmg_Char_Type color;
-
- if (win == NULL) return -1;
-
- if (win->_cury >= win->nrows)
- {
- /* Curses seems to move current postion to top of window. */
- win->_cury = win->_curx = 0;
- return -1;
- }
-
- win->modified = 1;
-
- ch = SLSMG_EXTRACT_CHAR(attr);
-
- if (attr == ch)
- color = win->color;
- else
- {
- /* hack to pick up the default color for graphics chars */
- if (((attr & A_COLOR) == 0) && ((attr & A_ALTCHARSET) != 0))
- {
- /* FIXME: priority=medium: Use SLSMG_?? instead of << */
- attr |= win->color << 8;
- }
- color = map_attr_to_object (attr);
- }
-
- if (ch < ' ')
- {
- if (ch == '\n')
- {
- SLcurses_wclrtoeol (win);
- return do_newline (win);
- }
-
- if (ch == '\r')
- {
- win->_curx = 0;
- return 0;
- }
-
- if (ch == '\b')
- {
- if (win->_curx > 0)
- win->_curx--;
-
- return 0;
- }
-
- /* HACK HACK!!!! */
- if (ch == '\t') ch = ' ';
- }
-
- if (win->_curx >= win->ncols)
- do_newline (win);
-
- b = win->lines[win->_cury] + win->_curx;
- *b = SLSMG_BUILD_CHAR(ch,color);
- win->_curx++;
-
- return 0;
-}
-
-int SLcurses_wnoutrefresh (SLcurses_Window_Type *w)
-{
- unsigned int len;
- unsigned int r, c;
- unsigned int i, imax;
-
- if (SLcurses_Is_Endwin)
- {
- if (TTY_State) init_tty (TTY_State - 1);
- SLsmg_resume_smg ();
- SLcurses_Is_Endwin = 0;
- }
-
- if (w == NULL)
- {
- SLsmg_refresh ();
- return -1;
- }
-
- if (w->modified == 0)
- return 0;
-
- r = w->_begy;
- c = w->_begx;
-
- len = w->ncols;
- imax = w->nrows;
-
- for (i = 0; i < imax; i++)
- {
- SLsmg_gotorc (r, c);
- SLsmg_write_color_chars (w->lines[i], len);
- r++;
- }
-
- if (w->has_box)
- SLsmg_draw_box(w->_begy, w->_begx, w->nrows, w->ncols);
-
- SLsmg_gotorc (w->_begy + w->_cury, w->_begx + w->_curx);
- w->modified = 0;
- return 0;
-}
-
-int SLcurses_wrefresh (SLcurses_Window_Type *w)
-{
- if (w == NULL)
- return -1;
-
- if (w->modified == 0)
- return 0;
-
- SLcurses_wnoutrefresh (w);
- SLsmg_refresh ();
- return 0;
-}
-
-int SLcurses_wclrtoeol (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *b, *bmax;
- SLsmg_Char_Type blank;
-
- if (w == NULL) return -1;
- if (w->_cury >= w->nrows)
- return 0;
-
- w->modified = 1;
-
- blank = SLSMG_BUILD_CHAR(' ',w->color);
-
- b = w->lines[w->_cury];
- bmax = b + w->ncols;
- b += w->_curx;
-
- while (b < bmax) *b++ = blank;
- return 0;
-}
-
-int SLcurses_wclrtobot (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *b, *bmax;
- SLsmg_Char_Type blank;
- unsigned int r;
-
- if (w == NULL) return -1;
-
- w->modified = 1;
- blank = SLSMG_BUILD_CHAR(' ',w->color);
- SLcurses_wclrtoeol (w);
- for (r = w->_cury + 1; r < w->nrows; r++)
- {
- b = w->lines [r];
- bmax = b + w->ncols;
-
- while (b < bmax) *b++ = blank;
- }
-
- return 0;
-}
-
-int SLcurses_wscrl (SLcurses_Window_Type *w, int n)
-{
- SLsmg_Char_Type **lines;
- unsigned int r, rmax, rmin, ncols;
- SLsmg_Char_Type color;
-
- if ((w == NULL) || (w->scroll_ok == 0))
- return -1;
-
- w->modified = 1;
-#if 0
- if (w->is_subwin)
- {
- SLang_reset_tty ();
- SLsmg_reset_smg ();
- fprintf (stderr, "\rAttempt to scroll a subwindow\n");
- exit (1);
- }
-#endif
-
- color = w->color;
- ncols = w->ncols;
- lines = w->lines;
- rmax = w->scroll_max;
- rmin = w->scroll_min;
- if (rmax > w->nrows)
- rmax = w->nrows;
- if (rmin >= rmax)
- return 0;
-
- while (n > 0)
- {
- for (r = rmin + 1; r < rmax; r++)
- {
- /* lines[r - 1] = lines[r]; */
- memcpy ((char *)lines[r - 1], (char *)lines[r],
- sizeof (SLsmg_Char_Type) * ncols);
- }
- blank_line (lines[rmax - 1], ncols, color);
- n--;
- }
-
- rmax--;
- while (n < 0)
- {
- for (r = rmax; r > rmin; r--)
- {
- memcpy ((char *)lines[r], (char *)lines[r - 1],
- sizeof (SLsmg_Char_Type) * ncols);
- }
- blank_line (lines[rmin], ncols, color);
- n++;
- }
-
- /* wmove (w, w->nrows - 1, 0); */
- /* wclrtobot (w); */
- return 0;
-}
-
-/* Note: if len is < 0, entire string will be used.
- */
-int SLcurses_waddnstr (SLcurses_Window_Type *w, char *str, int len)
-{
- SLsmg_Char_Type *b;
- SLsmg_Char_Type color;
- unsigned char ch;
- unsigned int nrows, ncols, crow, ccol;
-
- if ((w == NULL)
- || (str == NULL))
- return -1;
-
- w->modified = 1;
- nrows = w->nrows;
- ncols = w->ncols;
- crow = w->_cury;
- ccol = w->_curx;
- color = w->color;
-
- if (w->scroll_max <= nrows)
- nrows = w->scroll_max;
-
- if (crow >= nrows)
- crow = 0; /* wrap back to top */
-
- b = w->lines [crow] + ccol;
-
- while (len && ((ch = (unsigned char) *str++) != 0))
- {
- len--;
-
- if (ch == '\n')
- {
- w->_cury = crow;
- w->_curx = ccol;
- SLcurses_wclrtoeol (w);
- do_newline (w);
- crow = w->_cury;
- ccol = w->_curx;
- b = w->lines[crow];
- continue;
- }
-
- if (ccol >= ncols)
- {
- ccol = 0;
- crow++;
- if (crow >= nrows)
- {
- w->_curx = 0;
- w->_cury = crow;
- do_newline (w);
- crow = w->_cury;
- ccol = w->_curx;
- }
-
- b = w->lines [crow];
- }
-
- if (ch == '\t')
- {
- unsigned int n = ccol;
- n += SLsmg_Tab_Width;
- n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
- if (ccol + n > ncols) n = ncols - len;
- ccol += n;
- while (n--)
- *b++ = SLSMG_BUILD_CHAR(' ',color);
- continue;
- }
-
- *b++ = SLSMG_BUILD_CHAR(ch, color);
- ccol++;
- }
-
- w->_curx = ccol;
- w->_cury = crow;
-
- return 0;
-}
-
-/* This routine IS NOT CORRECT. It needs to compute the proper overlap
- * and copy accordingly. Here, I just assume windows are same size.
- */
-#if 0
-int SLcurses_overlay (SLcurses_Window_Type *swin, SLcurses_Window_Type *dwin)
-{
- SLsmg_Char_Type *s, *smax, *d, *dmax;
-
- if ((swin == NULL) || (dwin == NULL))
- return -1;
-
- s = swin->buf;
- smax = swin->bufmax;
- d = dwin->buf;
- dmax = dwin->bufmax;
-
- while ((s < smax) && (d < dmax))
- {
- SLsmg_Char_Type ch = *s++;
- if (SLSMG_EXTRACT_CHAR(ch) != ' ')
- *d = ch;
- d++;
- }
-
- return -1; /* not implemented */
-}
-
-#endif
-
-SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *orig,
- unsigned int nlines, unsigned int ncols,
- unsigned int begin_y, unsigned int begin_x)
-{
- SLcurses_Window_Type *sw;
- int r, c;
- unsigned int i;
-
- if (orig == NULL)
- return NULL;
-
- sw = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type));
- if (sw == NULL)
- return NULL;
-
- SLMEMSET ((char *)sw, 0, sizeof (SLcurses_Window_Type));
-#if 1
- r = begin_y - orig->_begy;
-#else
- r = 1 + ((int)orig->nrows - (int)nlines) / 2;
-#endif
- if (r < 0) r = 0;
- if (r + nlines > orig->nrows) nlines = orig->nrows - r;
-
- c = ((int)orig->ncols - (int)ncols) / 2;
- if (c < 0) c = 0;
- if (c + ncols > orig->ncols) ncols = orig->ncols - c;
-
- sw->scroll_min = 0;
- sw->scroll_max = sw->nrows = nlines;
- sw->ncols = ncols;
- sw->_begy = begin_y;
- sw->_begx = begin_x;
- sw->_maxx = (begin_x + ncols) - 1;
- sw->_maxy = (begin_y + nlines) - 1;
-
- sw->lines = (SLsmg_Char_Type **) SLmalloc (nlines * sizeof (SLsmg_Char_Type *));
- if (sw->lines == NULL)
- {
- SLcurses_delwin (sw);
- return NULL;
- }
-
- for (i = 0; i < nlines; i++)
- {
- sw->lines [i] = orig->lines [r + i] + c;
- }
-
- sw->is_subwin = 1;
- return sw;
-}
-
-int SLcurses_wclear (SLcurses_Window_Type *w)
-{
- unsigned int i;
-
- if (w != NULL) w->modified = 1;
- for (i=0; i < w->nrows; i++)
- blank_line (w->lines[i], w->ncols, w->color);
- return 0;
-}
-
-int SLcurses_wdelch (SLcurses_Window_Type *w)
-{
- SLsmg_Char_Type *p, *p1, *pmax;
-
- p = w->lines[w->_cury];
- pmax = p + w->ncols;
- p += w->_curx;
- p1 = p + 1;
-
- while (p1 < pmax)
- {
- *p = *p1;
- p = p1;
- p1++;
- }
-
- if (p < pmax)
- *p = SLSMG_BUILD_CHAR(' ',w->color);
-
- w->modified = 1;
- return 0;
-}
-
-int SLcurses_winsch (SLcurses_Window_Type *w, int ch)
-{
- SLsmg_Char_Type *p, *p1, *pmax;
-
- p = w->lines[w->_cury];
- pmax = p + w->ncols;
- p += w->_curx;
- p1 = pmax - 1;
-
- while (pmax > p)
- {
- *pmax = *p1;
- pmax = p1;
- p1--;
- }
-
- if (p < pmax)
- *p = SLSMG_BUILD_CHAR(ch, w->color);
-
- w->modified = 1;
- return 0;
-}
-
-int SLcurses_endwin (void)
-{
- SLcurses_Is_Endwin = 1;
- SLsmg_suspend_smg ();
- SLang_reset_tty ();
- return 0;
-}
-
-#if 0
-int SLcurses_mvwscanw (SLcurses_Window_Type *w, unsigned int r, unsigned int c,
- char *fmt, ...)
-{
-#if HAVE_VFSCANF
- int ret;
- va_list ap;
-
- SLcurses_wmove (w, r, c);
- SLcurses_wrefresh (w);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
- return ret;
-#else
- return 0;
-#endif
-}
-
-int SLcurses_wscanw (SLcurses_Window_Type *w, char *fmt, ...)
-{
-#if HAVE_VFSCANF
- va_list ap;
- int ret;
-
- SLcurses_wrefresh (w);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
-
- return ret;
-#else
- return 0;
-#endif
-}
-
-int SLcurses_scanw (char *fmt, ...)
-{
-#ifdef HAVE_VFSCANF
- va_list ap;
- int ret;
-
- SLcurses_wrefresh (SLcurses_Stdscr);
-
- va_start(ap, fmt);
- ret = vfscanf (stdin, fmt, ap);
- va_end(ap);
-
- return ret;
-#else
- return 0;
-#endif
-}
-#endif
-
-int SLcurses_clearok (SLcurses_Window_Type *w, int bf)
-{
- if (bf)
- {
- SLsmg_cls ();
- w->modified = 1;
- }
- return 0;
-}
diff --git a/mdk-stage1/slang/slcurses.h b/mdk-stage1/slang/slcurses.h
deleted file mode 100644
index fa082304f..000000000
--- a/mdk-stage1/slang/slcurses.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include <stdio.h>
-
-#ifndef SLANG_VERSION
-# include <slang.h>
-#endif
-
-/* This is a temporary hack until lynx is fixed to not include this file. */
-#ifndef LYCURSES_H
-
-typedef struct
-{
- unsigned int _begy, _begx, _maxy, _maxx;
- unsigned int _curx, _cury;
- unsigned int nrows, ncols;
- unsigned int scroll_min, scroll_max;
- SLsmg_Char_Type **lines;
- SLsmg_Char_Type color;
- int is_subwin;
- SLtt_Char_Type attr;
- int delay_off;
- int scroll_ok;
- int modified;
- int has_box;
- int use_keypad;
-}
-SLcurses_Window_Type;
-
-extern int SLcurses_wclrtobot (SLcurses_Window_Type *);
-extern int SLcurses_wscrl (SLcurses_Window_Type *, int);
-extern int SLcurses_wrefresh (SLcurses_Window_Type *);
-extern int SLcurses_delwin (SLcurses_Window_Type *);
-extern int SLcurses_wprintw (SLcurses_Window_Type *, char *, ...);
-extern SLcurses_Window_Type *SLcurses_newwin (unsigned int, unsigned int,
- unsigned int, unsigned int);
-
-extern SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *,
- unsigned int, unsigned int,
- unsigned int, unsigned int);
-
-extern int SLcurses_wnoutrefresh (SLcurses_Window_Type *);
-extern int SLcurses_wclrtoeol (SLcurses_Window_Type *);
-
-extern int SLcurses_wmove (SLcurses_Window_Type *, unsigned int, unsigned int);
-extern int SLcurses_waddch (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_waddnstr (SLcurses_Window_Type *, char *, int);
-
-#define waddnstr SLcurses_waddnstr
-#define waddch SLcurses_waddch
-#define waddstr(w,s) waddnstr((w),(s),-1)
-#define addstr(x) waddstr(stdscr, (x))
-#define addnstr(s,n) waddnstr(stdscr,(s),(n))
-#define addch(ch) waddch(stdscr,(ch))
-
-#define mvwaddnstr(w,y,x,s,n) \
- (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s),(n)))
-#define mvwaddstr(w,y,x,s) \
- (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s), -1))
-#define mvaddnstr(y,x,s,n) mvwaddnstr(stdscr,(y),(x),(s),(n))
-#define mvaddstr(y,x,s) mvwaddstr(stdscr,(y),(x),(s))
-#define mvwaddch(w,y,x,c) \
- ((-1 == wmove((w),(y),(x))) ? -1 : waddch((w),(c)))
-#define mvaddch(y,x,c) mvwaddch(stdscr,(y),(x),(c))
-
-extern int SLcurses_wclear (SLcurses_Window_Type *w);
-extern int SLcurses_printw (char *, ...);
-
-#if 0
-/* Why are these functions part of curses??? */
-extern int SLcurses_mvwscanw (SLcurses_Window_Type *, unsigned int, unsigned int,
- char *, ...);
-extern int SLcurses_wscanw (SLcurses_Window_Type *, char *, ...);
-extern int SLcurses_scanw (char *, ...);
-#define mvwscanw SLcurses_mvwscanw
-#define wscanw SLcurses_wscanw
-#define scanw SLcurses_scanw
-#endif
-
-extern SLcurses_Window_Type *SLcurses_Stdscr;
-#define WINDOW SLcurses_Window_Type
-#define stdscr SLcurses_Stdscr
-
-#define subwin SLcurses_subwin
-#define wclrtobot SLcurses_wclrtobot
-#define wscrl SLcurses_wscrl
-#define scrl(n) wscrl(stdscr,(n))
-#define scroll(w) wscrl((w),1)
-#define wrefresh SLcurses_wrefresh
-#define delwin SLcurses_delwin
-#define wmove SLcurses_wmove
-#define newwin SLcurses_newwin
-#define wnoutrefresh SLcurses_wnoutrefresh
-#define werase(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
-#define wclear(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
-#define wprintw SLcurses_wprintw
-#define mvwprintw SLcurses_mvwprintw
-
-#define winch(w) \
- ((((w)->_cury < (w)->nrows) && ((w)->_curx < (w)->ncols)) \
- ? ((w)->lines[(w)->_cury][(w)->_curx]) : 0)
-
-#define inch() winch(stdscr)
-#define mvwinch(w,x,y) \
- ((-1 != wmove((w),(x),(y))) ? winch(w) : (-1))
-#define doupdate SLsmg_refresh
-
-#define mvwin(w,a,b) ((w)->_begy = (a), (w)->_begx = (b))
-
-extern int SLcurses_mvprintw (int, int, char *, ...);
-extern int SLcurses_mvwprintw (SLcurses_Window_Type *, int, int, char *, ...);
-extern int SLcurses_has_colors(void);
-extern int SLcurses_nil (void);
-extern int SLcurses_wgetch (SLcurses_Window_Type *);
-extern int SLcurses_getch (void);
-
-extern int SLcurses_wattrset (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_wattron (SLcurses_Window_Type *, SLtt_Char_Type);
-extern int SLcurses_wattroff (SLcurses_Window_Type *, SLtt_Char_Type);
-#define attrset(x) SLcurses_wattrset(stdscr, (x))
-#define attron(x) SLcurses_wattron(stdscr, (x))
-#define attroff(x) SLcurses_wattroff(stdscr, (x))
-#define wattrset(w, x) SLcurses_wattrset((w), (x))
-#define wattron(w, x) SLcurses_wattron((w), (x))
-#define wattroff(w, x) SLcurses_wattroff((w), (x))
-#define wattr_get(w) ((w)->color << 8)
-#define attr_get() wattr_get(stdscr)
-
-#define COLOR_PAIR(x) ((x) << 8)
-
-extern int SLcurses_start_color (void);
-#define start_color SLcurses_start_color
-
-#define ERR 0xFFFF
-#define wgetch SLcurses_wgetch
-#define getch SLcurses_getch
-
-extern int SLcurses_nodelay (SLcurses_Window_Type *, int);
-extern SLcurses_Window_Type *SLcurses_initscr (void);
-#define initscr SLcurses_initscr
-
-extern int SLcurses_cbreak (void);
-extern int SLcurses_raw (void);
-#define cbreak SLcurses_cbreak
-#define crmode SLcurses_cbreak
-#define raw SLcurses_raw
-#define noraw SLang_reset_tty
-#define nocbreak SLang_reset_tty
-
-#define mvprintw SLcurses_mvprintw
-#define has_colors SLcurses_has_colors
-#define nodelay SLcurses_nodelay
-
-#define ungetch SLang_ungetkey
-
-#define COLS SLtt_Screen_Cols
-#define LINES SLtt_Screen_Rows
-
-#define move(x,y) SLcurses_wmove(stdscr, (x), (y))
-#define wclrtoeol SLcurses_wclrtoeol
-#define clrtoeol() SLcurses_wclrtoeol(stdscr)
-#define clrtobot() SLcurses_wclrtobot(stdscr)
-
-#define printw SLcurses_printw
-#define mvprintw SLcurses_mvprintw
-#define wstandout(w) SLcurses_wattrset((w),A_STANDOUT)
-#define wstandend(w) SLcurses_wattrset((w),A_NORMAL)
-#define standout() SLcurses_wattrset(stdscr,A_STANDOUT)
-#define standend() SLcurses_wattrset(stdscr,A_NORMAL)
-
-#define refresh() SLcurses_wrefresh(stdscr)
-#define clear() SLcurses_wclear(stdscr)
-#define erase() werase(stdscr)
-#define touchline SLsmg_touch_lines
-#define resetterm SLang_reset_tty
-
-extern int SLcurses_endwin (void);
-#define endwin SLcurses_endwin
-extern int SLcurses_Is_Endwin;
-#define isendwin() SLcurses_Is_Endwin
-
-#define keypad(w,x) ((w)->use_keypad = (x))
-
-#define KEY_MIN SL_KEY_UP
-#define KEY_DOWN SL_KEY_DOWN
-#define KEY_UP SL_KEY_UP
-#define KEY_LEFT SL_KEY_LEFT
-#define KEY_RIGHT SL_KEY_RIGHT
-#define KEY_A1 SL_KEY_A1
-#define KEY_B1 SL_KEY_B1
-#define KEY_C1 SL_KEY_C1
-#define KEY_A2 SL_KEY_A2
-#define KEY_B2 SL_KEY_B2
-#define KEY_C2 SL_KEY_C2
-#define KEY_A3 SL_KEY_A3
-#define KEY_B3 SL_KEY_B3
-#define KEY_C3 SL_KEY_C3
-#define KEY_REDO SL_KEY_REDO
-#define KEY_UNDO SL_KEY_UNDO
-#define KEY_BACKSPACE SL_KEY_BACKSPACE
-#define KEY_PPAGE SL_KEY_PPAGE
-#define KEY_NPAGE SL_KEY_NPAGE
-#define KEY_HOME SL_KEY_HOME
-#define KEY_END SL_KEY_END
-#define KEY_F0 SL_KEY_F0
-#define KEY_F SL_KEY_F
-#define KEY_ENTER SL_KEY_ENTER
-#define KEY_MAX 0xFFFF
-
-/* Ugly Hacks that may not work */
-#define flushinp SLcurses_nil
-#define winsertln(w) \
- ((w)->scroll_min=(w)->_cury, \
- (w)->scroll_max=(w)->nrows, \
- wscrl((w), -1))
-
-extern SLtt_Char_Type SLcurses_Acs_Map [128];
-#define acs_map SLcurses_Acs_Map
-
-#define ACS_ULCORNER (acs_map[SLSMG_ULCORN_CHAR])
-#define ACS_URCORNER (acs_map[SLSMG_URCORN_CHAR])
-#define ACS_LRCORNER (acs_map[SLSMG_LRCORN_CHAR])
-#define ACS_LLCORNER (acs_map[SLSMG_LLCORN_CHAR])
-#define ACS_TTEE (acs_map[SLSMG_UTEE_CHAR])
-#define ACS_LTEE (acs_map[SLSMG_LTEE_CHAR])
-#define ACS_RTEE (acs_map[SLSMG_RTEE_CHAR])
-#define ACS_BTEE (acs_map[SLSMG_DTEE_CHAR])
-#define ACS_PLUS (acs_map[SLSMG_PLUS_CHAR])
-#define ACS_VLINE (acs_map[SLSMG_VLINE_CHAR])
-#define ACS_HLINE (acs_map[SLSMG_HLINE_CHAR])
-#define ACS_S1 '-'
-#define ACS_S9 '-'
-#define ACS_DIAMOND '&'
-#define ACS_CKBOARD (acs_map[SLSMG_CKBRD_CHAR])
-#define ACS_DEGREE 'o'
-#define ACS_PLMINUS '+'
-#define ACS_BULLET '*'
-#define ACS_LARROW '<'
-#define ACS_RARROW '>'
-#define ACS_DARROW 'v'
-#define ACS_UARROW '^'
-#define ACS_BOARD '#'
-#define ACS_LANTERN '#'
-#define ACS_BLOCK '#'
-
-#if 1
-#define hline(x,y) SLcurses_nil ()
-#define vline(x,y) SLcurses_nil ()
-#endif
-
-#define A_CHARTEXT 0x00FF
-#define A_NORMAL 0
-#define A_BOLD 0x1000
-#define A_REVERSE 0x2000
-#define A_STANDOUT A_REVERSE
-#define A_UNDERLINE 0x4000
-#define A_BLINK 0
-#define A_COLOR 0x0700
-#define A_ALTCHARSET 0x8000
-#define A_DIM 0
-#define A_PROTECT 0
-#define A_INVIS 0
-
-#define COLOR_BLACK SLSMG_COLOR_BLACK
-#define COLOR_RED SLSMG_COLOR_RED
-#define COLOR_GREEN SLSMG_COLOR_GREEN
-#define COLOR_YELLOW SLSMG_COLOR_BROWN
-#define COLOR_BLUE SLSMG_COLOR_BLUE
-#define COLOR_MAGENTA SLSMG_COLOR_MAGENTA
-#define COLOR_CYAN SLSMG_COLOR_CYAN
-#define COLOR_WHITE SLSMG_COLOR_LGRAY
-
-extern int SLcurses_Num_Colors;
-#define COLORS SLcurses_Num_Colors
-#define COLOR_PAIRS (SLcurses_Num_Colors*SLcurses_Num_Colors)
-
-#define init_pair(_x,_f,_b) \
- SLtt_set_color_object((_x), ((_f) == (_b) ? 0x0700 : ((_f) | ((_b) << 8)) << 8))
-
-#define scrollok(a,b) ((a)->scroll_ok = (b))
-#define getyx(a,y,x) (y=(a)->_cury, x=(a)->_curx)
-#define getmaxyx(a,y,x) (y=(a)->nrows, x=(a)->ncols)
-#define napms(x) usleep(1000 * (x))
-typedef SLtt_Char_Type chtype;
-#define beep SLtt_beep
-#define curs_set(x) SLtt_set_cursor_visibility(x)
-#define touchwin(x) SLsmg_touch_lines((x)->_begy, (x)->nrows)
-#define flash SLtt_beep
-
-#define wsetscrreg(w,a,b) ((w)->scroll_min = (a), (w)->scroll_max = (b))
-
-#define wtimeout(a,b) (a)->delay_off = ((b >= 0) ? (b) / 100 : -1)
-#define timeout(a) wtimeout(stdscr, a)
-extern int SLcurses_wdelch (SLcurses_Window_Type *);
-#define wdelch SLcurses_wdelch
-#define delch() wdelch(stdscr)
-
-extern int SLcurses_winsch (SLcurses_Window_Type *, int);
-#define winsch SLcurses_winsch
-
-extern int SLcurses_Esc_Delay;/* ESC expire time in milliseconds (ncurses compatible) */
-#define ESCDELAY SLcurses_Esc_Delay
-
-extern int SLcurses_clearok (SLcurses_Window_Type *, int);
-#define clearok SLcurses_clearok
-
-/* Functions that have not been implemented. */
-#define copywin(w,v,a,b,c,d,e,f,g) SLcurses_nil()
-#define wdeleteln(win) SLcurses_nil()
-#define resetty SLcurses_nil
-#define savetty SLcurses_nil
-#define overlay(u,v) SLcurses_nil()
-
-/* These functions do nothing */
-#define savetty SLcurses_nil
-#define nonl SLcurses_nil
-#define echo SLcurses_nil
-#define noecho SLcurses_nil
-#define saveterm SLcurses_nil
-#define box(w,y,z) ((w)->has_box = 1, (w)->modified = 1)
-#define leaveok(a,b) SLcurses_nil()
-#define nl() SLcurses_nil()
-#define trace(x) SLcurses_nil()
-#define tigetstr(x) NULL
-
-/* These have no place in C */
-#define TRUE 1
-#define FALSE 0
-#define bool int
-
-/* Lynx compatability */
-#else
-
-#define stdscr NULL
-#define COLS SLtt_Screen_Cols
-#define LINES SLtt_Screen_Rows
-#define move SLsmg_gotorc
-#define addstr SLsmg_write_string
-#define clear SLsmg_cls
-#define standout SLsmg_reverse_video
-#define standend SLsmg_normal_video
-#define clrtoeol SLsmg_erase_eol
-#define scrollok(a,b) SLsmg_Newline_Moves = ((b) ? 1 : -1)
-#define addch SLsmg_write_char
-#define echo()
-#define printw SLsmg_printf
-#define endwin SLsmg_reset_smg(),SLang_reset_tty
-
-#endif
diff --git a/mdk-stage1/slang/sldisply.c b/mdk-stage1/slang/sldisply.c
deleted file mode 100644
index 1e1161774..000000000
--- a/mdk-stage1/slang/sldisply.c
+++ /dev/null
@@ -1,2596 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <time.h>
-#include <ctype.h>
-
-#if !defined(VMS) || (__VMS_VER >= 70000000)
-# include <sys/time.h>
-# ifdef __QNX__
-# include <sys/select.h>
-# endif
-# include <sys/types.h>
-#endif
-
-#ifdef __BEOS__
-/* Prototype for select */
-# include <net/socket.h>
-#endif
-
-#ifdef HAVE_TERMIOS_H
-# include <termios.h>
-#endif
-
-#ifdef VMS
-# include <unixlib.h>
-# include <unixio.h>
-# include <dvidef.h>
-# include <descrip.h>
-# include <lib$routines.h>
-# include <starlet.h>
-#else
-# if !defined(sun)
-# include <sys/ioctl.h>
-# endif
-#endif
-
-#ifdef SYSV
-# include <sys/termio.h>
-# include <sys/stream.h>
-# include <sys/ptem.h>
-# include <sys/tty.h>
-#endif
-
-#if defined (_AIX) && !defined (FD_SET)
-# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
-#endif
-
-#include <errno.h>
-
-#if defined(__DECC) && defined(VMS)
-/* These get prototypes for write an sleep */
-# include <unixio.h>
-#endif
-#include <signal.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Colors: These definitions are used for the display. However, the
- * application only uses object handles which get mapped to this
- * internal representation. The mapping is performed by the Color_Map
- * structure below. */
-
-#define CHAR_MASK 0x000000FF
-#define FG_MASK 0x0000FF00
-#define BG_MASK 0x00FF0000
-#define ATTR_MASK 0x1F000000
-#define BGALL_MASK 0x0FFF0000
-
-/* The 0x10000000 bit represents the alternate character set. BGALL_MASK does
- * not include this attribute.
- */
-
-#define GET_FG(color) ((color & FG_MASK) >> 8)
-#define GET_BG(color) ((color & BG_MASK) >> 16)
-#define MAKE_COLOR(fg, bg) (((fg) | ((bg) << 8)) << 8)
-
-int SLtt_Screen_Cols;
-int SLtt_Screen_Rows;
-int SLtt_Term_Cannot_Insert;
-int SLtt_Term_Cannot_Scroll;
-int SLtt_Use_Ansi_Colors;
-int SLtt_Blink_Mode = 1;
-int SLtt_Use_Blink_For_ACS = 0;
-int SLtt_Newline_Ok = 0;
-int SLtt_Has_Alt_Charset = 0;
-int SLtt_Force_Keypad_Init = 0;
-
-void (*_SLtt_color_changed_hook)(void);
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-static int Bce_Color_Offset = 0;
-#endif
-static int Can_Background_Color_Erase = 1;
-
-/* -1 means unknown */
-int SLtt_Has_Status_Line = -1; /* hs */
-int SLang_TT_Write_FD = -1;
-
-static int Automatic_Margins;
-/* static int No_Move_In_Standout; */
-static int Worthless_Highlight;
-#define HP_GLITCH_CODE
-#ifdef HP_GLITCH_CODE
-/* This glitch is exclusive to HP term. Basically it means that to clear
- * attributes, one has to erase to the end of the line.
- */
-static int Has_HP_Glitch;
-#endif
-
-static char *Reset_Color_String;
-static int Is_Color_Terminal = 0;
-
-static int Linux_Console;
-
-/* It is crucial that JMAX_COLORS must be less than 128 since the high bit
- * is used to indicate a character from the ACS (alt char set). The exception
- * to this rule is if SLtt_Use_Blink_For_ACS is true. This means that of
- * the highbit is set, we interpret that as a blink character. This is
- * exploited by DOSemu.
- */
-#define JMAX_COLORS 256
-#define JNORMAL_COLOR 0
-
-typedef struct
-{
- SLtt_Char_Type fgbg;
- SLtt_Char_Type mono;
- char *custom_esc;
-}
-Ansi_Color_Type;
-
-#define RGB1(r, g, b) ((r) | ((g) << 1) | ((b) << 2))
-#define RGB(r, g, b, br, bg, bb) ((RGB1(r, g, b) << 8) | (RGB1(br, bg, bb) << 16))
-
-static Ansi_Color_Type Ansi_Color_Map[JMAX_COLORS] =
-{
- {RGB(1, 1, 1, 0, 0, 0), 0x00000000, NULL}, /* white/black */
- {RGB(0, 1, 0, 0, 0, 0), SLTT_REV_MASK, NULL}, /* green/black */
- {RGB(1, 0, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* magenta/black */
- {RGB(0, 1, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* cyan/black */
- {RGB(1, 0, 0, 0, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 0, 0, 1, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 0, 1, 1, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 0, 0), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(1, 0, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 0, 0, 0, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
- {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL}
-};
-
-static char *Color_Fg_Str = "\033[3%dm";
-static char *Color_Bg_Str = "\033[4%dm";
-static char *Default_Color_Fg_Str = "\033[39m";
-static char *Default_Color_Bg_Str = "\033[49m";
-
-static int Max_Terminfo_Colors = 8; /* termcap Co */
-
-char *SLtt_Graphics_Char_Pairs; /* ac termcap string -- def is vt100 */
-
-/* 1 if terminal lacks the ability to go into insert mode or into delete
- mode. Currently controlled by S-Lang but later perhaps termcap. */
-
-static char *UnderLine_Vid_Str;
-static char *Blink_Vid_Str;
-static char *Bold_Vid_Str;
-static char *Ins_Mode_Str; /* = "\033[4h"; */ /* ins mode (im) */
-static char *Eins_Mode_Str; /* = "\033[4l"; */ /* end ins mode (ei) */
-static char *Scroll_R_Str; /* = "\033[%d;%dr"; */ /* scroll region */
-static char *Cls_Str; /* = "\033[2J\033[H"; */ /* cl termcap STR for ansi terminals */
-static char *Rev_Vid_Str; /* = "\033[7m"; */ /* mr,so termcap string */
-static char *Norm_Vid_Str; /* = "\033[m"; */ /* me,se termcap string */
-static char *Del_Eol_Str; /* = "\033[K"; */ /* ce */
-static char *Del_Bol_Str; /* = "\033[1K"; */ /* cb */
-static char *Del_Char_Str; /* = "\033[P"; */ /* dc */
-static char *Del_N_Lines_Str; /* = "\033[%dM"; */ /* DL */
-static char *Add_N_Lines_Str; /* = "\033[%dL"; */ /* AL */
-static char *Rev_Scroll_Str;
-static char *Curs_Up_Str;
-static char *Curs_F_Str; /* RI termcap string */
-static char *Cursor_Visible_Str; /* ve termcap string */
-static char *Cursor_Invisible_Str; /* vi termcap string */
-#if 0
-static char *Start_Mouse_Rpt_Str; /* Start mouse reporting mode */
-static char *End_Mouse_Rpt_Str; /* End mouse reporting mode */
-#endif
-static char *Start_Alt_Chars_Str; /* as */
-static char *End_Alt_Chars_Str; /* ae */
-static char *Enable_Alt_Char_Set; /* eA */
-
-static char *Term_Init_Str;
-static char *Keypad_Init_Str;
-static char *Term_Reset_Str;
-static char *Keypad_Reset_Str;
-
-/* status line functions */
-static char *Disable_Status_line_Str; /* ds */
-static char *Return_From_Status_Line_Str; /* fs */
-static char *Goto_Status_Line_Str; /* ts */
-static int Num_Status_Line_Columns; /* ws */
-/* static int Status_Line_Esc_Ok; */ /* es */
-
-/* static int Len_Curs_F_Str = 5; */
-
-/* cm string has %i%d since termcap numbers columns from 0 */
-/* char *CURS_POS_STR = "\033[%d;%df"; ansi-- hor and vert pos */
-static char *Curs_Pos_Str; /* = "\033[%i%d;%dH";*/ /* cm termcap string */
-
-/* scrolling region */
-static int Scroll_r1 = 0, Scroll_r2 = 23;
-static int Cursor_r, Cursor_c; /* 0 based */
-
-/* current attributes --- initialized to impossible value */
-static SLtt_Char_Type Current_Fgbg = 0xFFFFFFFFU;
-
-static int Cursor_Set; /* 1 if cursor position known, 0
- * if not. -1 if only row is known
- */
-
-#define MAX_OUTPUT_BUFFER_SIZE 4096
-
-static unsigned char Output_Buffer[MAX_OUTPUT_BUFFER_SIZE];
-static unsigned char *Output_Bufferp = Output_Buffer;
-
-unsigned long SLtt_Num_Chars_Output;
-
-int _SLusleep (unsigned long usecs)
-{
-#if !defined(VMS) || (__VMS_VER >= 70000000)
- struct timeval tv;
- tv.tv_sec = usecs / 1000000;
- tv.tv_usec = usecs % 1000000;
- return select(0, NULL, NULL, NULL, &tv);
-#else
- return 0;
-#endif
-}
-
-int SLtt_flush_output (void)
-{
- int nwrite = 0;
- unsigned int total;
- int n = (int) (Output_Bufferp - Output_Buffer);
-
- SLtt_Num_Chars_Output += n;
-
- total = 0;
- while (n > 0)
- {
- nwrite = write (SLang_TT_Write_FD, (char *) Output_Buffer + total, n);
- if (nwrite == -1)
- {
- nwrite = 0;
-#ifdef EAGAIN
- if (errno == EAGAIN)
- {
- _SLusleep (100000); /* 1/10 sec */
- continue;
- }
-#endif
-#ifdef EWOULDBLOCK
- if (errno == EWOULDBLOCK)
- {
- _SLusleep (100000);
- continue;
- }
-#endif
-#ifdef EINTR
- if (errno == EINTR) continue;
-#endif
- break;
- }
- n -= nwrite;
- total += nwrite;
- }
- Output_Bufferp = Output_Buffer;
- return n;
-}
-
-int SLtt_Baud_Rate;
-static void tt_write(char *str, unsigned int n)
-{
- static unsigned long last_time;
- static int total;
- unsigned long now;
- unsigned int ndiff;
-
- if ((str == NULL) || (n == 0)) return;
- total += n;
-
- while (1)
- {
- ndiff = MAX_OUTPUT_BUFFER_SIZE - (int) (Output_Bufferp - Output_Buffer);
- if (ndiff < n)
- {
- SLMEMCPY ((char *) Output_Bufferp, (char *) str, ndiff);
- Output_Bufferp += ndiff;
- SLtt_flush_output ();
- n -= ndiff;
- str += ndiff;
- }
- else
- {
- SLMEMCPY ((char *) Output_Bufferp, str, n);
- Output_Bufferp += n;
- break;
- }
- }
-
- if (((SLtt_Baud_Rate > 150) && (SLtt_Baud_Rate <= 9600))
- && (10 * total > SLtt_Baud_Rate))
- {
- total = 0;
- if ((now = (unsigned long) time(NULL)) - last_time <= 1)
- {
- SLtt_flush_output ();
- sleep((unsigned) 1);
- }
- last_time = now;
- }
-}
-
-static void tt_write_string (char *str)
-{
- if (str != NULL) tt_write(str, strlen(str));
-}
-
-void SLtt_write_string (char *str)
-{
- tt_write_string (str);
- Cursor_Set = 0;
-}
-
-void SLtt_putchar (char ch)
-{
- SLtt_normal_video ();
- if (Cursor_Set == 1)
- {
- if (ch >= ' ') Cursor_c++;
- else if (ch == '\b') Cursor_c--;
- else if (ch == '\r') Cursor_c = 0;
- else Cursor_Set = 0;
-
- if ((Cursor_c + 1 == SLtt_Screen_Cols)
- && Automatic_Margins) Cursor_Set = 0;
- }
-
- if (Output_Bufferp < Output_Buffer + MAX_OUTPUT_BUFFER_SIZE)
- {
- *Output_Bufferp++ = (unsigned char) ch;
- }
- else tt_write (&ch, 1);
-}
-
-static unsigned int tt_sprintf(char *buf, char *fmt, int x, int y)
-{
- char *fmt_max;
- register unsigned char *b, ch;
- int offset;
- int z, z1, parse_level;
- int zero_pad;
- int field_width;
- int variables [26];
- int stack [64];
- unsigned int stack_len;
- int parms [10];
-#define STACK_POP (stack_len ? stack[--stack_len] : 0)
-
- if (fmt == NULL)
- {
- *buf = 0;
- return 0;
- }
-
- stack [0] = y; /* pushed for termcap */
- stack [1] = x;
- stack_len = 2;
-
- parms [1] = x; /* p1 */
- parms [2] = y; /* p2 */
-
- offset = 0;
- zero_pad = 0;
- field_width = 0;
-
- b = (unsigned char *) buf;
- fmt_max = fmt + strlen (fmt);
-
- while (fmt < fmt_max)
- {
- ch = *fmt++;
-
- if (ch != '%')
- {
- *b++ = ch;
- continue;
- }
-
- if (fmt == fmt_max) break;
- ch = *fmt++;
-
- switch (ch)
- {
- default:
- *b++ = ch;
- break;
-
- case 'p':
-
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= '0') && (ch <= '9'))
- stack [stack_len++] = parms [ch - '0'];
- break;
-
- case '\'': /* 'x' */
- if (fmt == fmt_max) break;
- stack [stack_len++] = *fmt++;
- if (fmt < fmt_max) fmt++; /* skip ' */
- break;
-
- case '{': /* literal constant, e.g. {30} */
- z = 0;
- while ((fmt < fmt_max) && ((ch = *fmt) <= '9') && (ch >= '0'))
- {
- z = z * 10 + (ch - '0');
- fmt++;
- }
- stack [stack_len++] = z;
- if ((ch == '}') && (fmt < fmt_max)) fmt++;
- break;
-
- case '0':
- if (fmt == fmt_max) break;
- ch = *fmt;
- if ((ch != '2') && (ch != '3'))
- break;
- zero_pad = 1;
- fmt++;
- /* drop */
-
- case '2':
- case '3':
- if (fmt == fmt_max)
- if (*fmt == 'x')
- {
- char x_fmt_buf [4];
- char *x_fmt_buf_ptr;
-
- x_fmt_buf_ptr = x_fmt_buf;
- if (zero_pad) *x_fmt_buf_ptr++ = '0';
- *x_fmt_buf_ptr++ = ch;
- *x_fmt_buf_ptr++ = 'X';
- *x_fmt_buf_ptr = 0;
-
- z = STACK_POP;
- z += offset;
-
- sprintf ((char *)b, x_fmt_buf, z);
- b += strlen ((char *)b);
- zero_pad = 0;
- break;
- }
-
- field_width = (ch - '0');
- /* drop */
-
- case 'd':
- z = STACK_POP;
- z += offset;
- if (z >= 100)
- {
- *b++ = z / 100 + '0';
- z = z % 100;
- zero_pad = 1;
- field_width = 2;
- }
- else if (zero_pad && (field_width == 3))
- *b++ = '0';
-
- if (z >= 10)
- {
- *b++ = z / 10 + '0';
- z = z % 10;
- }
- else if (zero_pad && (field_width >= 2))
- *b++ = '0';
-
- *b++ = z + '0';
- field_width = zero_pad = 0;
- break;
-
- case 'x':
- z = STACK_POP;
- z += offset;
- sprintf ((char *) b, "%X", z);
- b += strlen ((char *)b);
- break;
-
- case 'i':
- offset = 1;
- break;
-
- case '+':
- /* Handling this depends upon whether or not we are parsing
- * terminfo. Terminfo requires the stack so use it as an
- * indicator.
- */
- if (stack_len > 2)
- {
- z = STACK_POP;
- stack [stack_len - 1] += z;
- }
- else if (fmt < fmt_max)
- {
- ch = *fmt++;
- if ((unsigned char) ch == 128) ch = 0;
- ch = ch + (unsigned char) STACK_POP;
- if (ch == '\n') ch++;
- *b++ = ch;
- }
- break;
-
- /* Binary operators */
- case '-':
- case '*':
- case '/':
- case 'm':
- case '&':
- case '|':
- case '^':
- case '=':
- case '>':
- case '<':
- case 'A':
- case 'O':
- z1 = STACK_POP;
- z = STACK_POP;
- switch (ch)
- {
- case '-': z = (z - z1); break;
- case '*': z = (z * z1); break;
- case '/': z = (z / z1); break;
- case 'm': z = (z % z1); break;
- case '&': z = (z & z1); break;
- case '|': z = (z | z1); break;
- case '^': z = (z ^ z1); break;
- case '=': z = (z == z1); break;
- case '>': z = (z > z1); break;
- case '<': z = (z < z1); break;
- case 'A': z = (z && z1); break;
- case 'O': z = (z || z1); break;
- }
- stack [stack_len++] = z;
- break;
-
- /* unary */
- case '!':
- z = STACK_POP;
- stack [stack_len++] = !z;
- break;
-
- case '~':
- z = STACK_POP;
- stack [stack_len++] = ~z;
- break;
-
- case 'r': /* termcap -- swap parameters */
- z = stack [0];
- stack [0] = stack [1];
- stack [1] = z;
- break;
-
- case '.': /* termcap */
- case 'c':
- ch = (unsigned char) STACK_POP;
- if (ch == '\n') ch++;
- *b++ = ch;
- break;
-
- case 'g':
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= 'a') && (ch <= 'z'))
- stack [stack_len++] = variables [ch - 'a'];
- break;
-
- case 'P':
- if (fmt == fmt_max) break;
- ch = *fmt++;
- if ((ch >= 'a') && (ch <= 'z'))
- variables [ch - 'a'] = STACK_POP;
- break;
-
- /* If then else parsing. Actually, this is rather easy. The
- * key is to notice that 'then' does all the work. 'if' simply
- * there to indicate the start of a test and endif indicates
- * the end of tests. If 'else' is seen, then skip to
- * endif.
- */
- case '?': /* if */
- case ';': /* endif */
- break;
-
- case 't': /* then */
- z = STACK_POP;
- if (z != 0)
- break; /* good. Continue parsing. */
-
- /* z == 0 and test has failed. So, skip past this entire if
- * expression to the matching else or matching endif.
- */
- /* drop */
- case 'e': /* else */
-
- parse_level = 0;
- while (fmt < fmt_max)
- {
- unsigned char ch1;
-
- ch1 = *fmt++;
- if ((ch1 != '%') || (fmt == fmt_max))
- continue;
-
- ch1 = *fmt++;
-
- if (ch1 == '?') parse_level++; /* new if */
- else if (ch1 == 'e')
- {
- if ((ch != 'e') && (parse_level == 0))
- break;
- }
- else if (ch1 == ';')
- {
- if (parse_level == 0)
- break;
- parse_level--;
- }
- }
- break;
- }
- }
- *b = 0;
- return (unsigned int) (b - (unsigned char *) buf);
-}
-
-static void tt_printf(char *fmt, int x, int y)
-{
- char buf[1024];
- unsigned int n;
- if (fmt == NULL) return;
- n = tt_sprintf(buf, fmt, x, y);
- tt_write(buf, n);
-}
-
-void SLtt_set_scroll_region (int r1, int r2)
-{
- Scroll_r1 = r1;
- Scroll_r2 = r2;
- tt_printf (Scroll_R_Str, Scroll_r1, Scroll_r2);
- Cursor_Set = 0;
-}
-
-void SLtt_reset_scroll_region (void)
-{
- SLtt_set_scroll_region(0, SLtt_Screen_Rows - 1);
-}
-
-int SLtt_set_cursor_visibility (int show)
-{
- if ((Cursor_Visible_Str == NULL) || (Cursor_Invisible_Str == NULL))
- return -1;
-
- tt_write_string (show ? Cursor_Visible_Str : Cursor_Invisible_Str);
- return 0;
-}
-
-/* the goto_rc function moves to row relative to scrolling region */
-void SLtt_goto_rc(int r, int c)
-{
- char *s = NULL;
- int n;
- char buf[6];
-
- if ((c < 0) || (r < 0))
- {
- Cursor_Set = 0;
- return;
- }
-
- /* if (No_Move_In_Standout && Current_Fgbg) SLtt_normal_video (); */
- r += Scroll_r1;
-
- if ((Cursor_Set > 0) || ((Cursor_Set < 0) && !Automatic_Margins))
- {
- n = r - Cursor_r;
- if ((n == -1) && (Cursor_Set > 0) && (Cursor_c == c)
- && (Curs_Up_Str != NULL))
- {
- s = Curs_Up_Str;
- }
- else if ((n >= 0) && (n <= 4))
- {
- if ((n == 0) && (Cursor_Set == 1)
- && ((c > 1) || (c == Cursor_c)))
- {
- if (Cursor_c == c) return;
- if (Cursor_c == c + 1)
- {
- s = buf;
- *s++ = '\b'; *s = 0;
- s = buf;
- }
- }
- else if (c == 0)
- {
- s = buf;
- if ((Cursor_Set != 1) || (Cursor_c != 0)) *s++ = '\r';
- while (n--) *s++ = '\n';
-#ifdef VMS
- /* Need to add this after \n to start a new record. Sheesh. */
- *s++ = '\r';
-#endif
- *s = 0;
- s = buf;
- }
- /* Will fail on VMS */
-#ifndef VMS
- else if (SLtt_Newline_Ok && (Cursor_Set == 1) &&
- (Cursor_c >= c) && (c + 3 > Cursor_c))
- {
- s = buf;
- while (n--) *s++ = '\n';
- n = Cursor_c - c;
- while (n--) *s++ = '\b';
- *s = 0;
- s = buf;
- }
-#endif
- }
- }
- if (s != NULL) tt_write_string(s);
- else tt_printf(Curs_Pos_Str, r, c);
- Cursor_c = c; Cursor_r = r;
- Cursor_Set = 1;
-}
-
-void SLtt_begin_insert (void)
-{
- tt_write_string(Ins_Mode_Str);
-}
-
-void SLtt_end_insert (void)
-{
- tt_write_string(Eins_Mode_Str);
-}
-
-void SLtt_delete_char (void)
-{
- SLtt_normal_video ();
- tt_write_string(Del_Char_Str);
-}
-
-void SLtt_erase_line (void)
-{
- tt_write_string("\r");
- Cursor_Set = 1; Cursor_c = 0;
- SLtt_del_eol();
-}
-
-/* It appears that the Linux console, and most likely others do not
- * like scrolling regions that consist of one line. So I have to
- * resort to this stupidity to make up for that stupidity.
- */
-static void delete_line_in_scroll_region (void)
-{
- SLtt_goto_rc (Cursor_r - Scroll_r1, 0);
- SLtt_del_eol ();
-}
-
-void SLtt_delete_nlines (int n)
-{
- int r1, curs;
- char buf[132];
-
- if (n <= 0) return;
- SLtt_normal_video ();
-
- if (Scroll_r1 == Scroll_r2)
- {
- delete_line_in_scroll_region ();
- return;
- }
-
- if (Del_N_Lines_Str != NULL) tt_printf(Del_N_Lines_Str,n, 0);
- else
- /* get a new terminal */
- {
- r1 = Scroll_r1;
- curs = Cursor_r;
- SLtt_set_scroll_region(curs, Scroll_r2);
- SLtt_goto_rc(Scroll_r2 - Scroll_r1, 0);
- SLMEMSET(buf, '\n', (unsigned int) n);
- tt_write(buf, (unsigned int) n);
- /* while (n--) tt_putchar('\n'); */
- SLtt_set_scroll_region(r1, Scroll_r2);
- SLtt_goto_rc(curs, 0);
- }
-}
-
-void SLtt_cls (void)
-{
- /* If the terminal is a color terminal but the user wants black and
- * white, then make sure that the colors are reset. This appears to be
- * necessary.
- */
- if ((SLtt_Use_Ansi_Colors == 0) && Is_Color_Terminal)
- {
- if (Reset_Color_String != NULL)
- tt_write_string (Reset_Color_String);
- else
- tt_write_string ("\033[0m\033[m");
- }
-
- SLtt_normal_video();
- SLtt_reset_scroll_region ();
- tt_write_string(Cls_Str);
-}
-
-void SLtt_reverse_index (int n)
-{
- if (!n) return;
-
- SLtt_normal_video();
-
- if (Scroll_r1 == Scroll_r2)
- {
- delete_line_in_scroll_region ();
- return;
- }
-
- if (Add_N_Lines_Str != NULL) tt_printf(Add_N_Lines_Str,n, 0);
- else
- {
- while(n--) tt_write_string(Rev_Scroll_Str);
- }
-}
-
-int SLtt_Ignore_Beep = 1;
-static char *Visible_Bell_Str;
-
-void SLtt_beep (void)
-{
- if (SLtt_Ignore_Beep & 0x1) SLtt_putchar('\007');
-
- if (SLtt_Ignore_Beep & 0x2)
- {
- if (Visible_Bell_Str != NULL) tt_write_string (Visible_Bell_Str);
-#ifdef __linux__
- else if (Linux_Console)
- {
- tt_write_string ("\033[?5h");
- SLtt_flush_output ();
- _SLusleep (50000);
- tt_write_string ("\033[?5l");
- }
-#endif
- }
- SLtt_flush_output ();
-}
-
-static void del_eol (void)
-{
- int c;
-
- if (Del_Eol_Str != NULL)
- {
- tt_write_string(Del_Eol_Str);
- return;
- }
-
- c = Cursor_c;
- /* Avoid writing to the lower right corner. If the terminal does not
- * have Del_Eol_Str, then it probably does not have what it takes to play
- * games with insert for for a space into that corner.
- */
- if (Cursor_r + 1 < SLtt_Screen_Rows)
- c++;
-
- while (c < SLtt_Screen_Cols)
- {
- tt_write (" ", 1);
- c++;
- }
-}
-
-void SLtt_del_eol (void)
-{
- if (Current_Fgbg != 0xFFFFFFFFU) SLtt_normal_video ();
- del_eol ();
-}
-
-typedef struct
-{
- char *name;
- SLtt_Char_Type color;
-}
-Color_Def_Type;
-
-#define MAX_COLOR_NAMES 17
-static Color_Def_Type Color_Defs [MAX_COLOR_NAMES] =
-{
- {"black", SLSMG_COLOR_BLACK},
- {"red", SLSMG_COLOR_RED},
- {"green", SLSMG_COLOR_GREEN},
- {"brown", SLSMG_COLOR_BROWN},
- {"blue", SLSMG_COLOR_BLUE},
- {"magenta", SLSMG_COLOR_MAGENTA},
- {"cyan", SLSMG_COLOR_CYAN},
- {"lightgray", SLSMG_COLOR_LGRAY},
- {"gray", SLSMG_COLOR_GRAY},
- {"brightred", SLSMG_COLOR_BRIGHT_RED},
- {"brightgreen", SLSMG_COLOR_BRIGHT_GREEN},
- {"yellow", SLSMG_COLOR_BRIGHT_BROWN},
- {"brightblue", SLSMG_COLOR_BRIGHT_BLUE},
- {"brightmagenta", SLSMG_COLOR_BRIGHT_CYAN},
- {"brightcyan", SLSMG_COLOR_BRIGHT_MAGENTA},
- {"white", SLSMG_COLOR_BRIGHT_WHITE},
-#define SLSMG_COLOR_DEFAULT 0xFF
- {"default", SLSMG_COLOR_DEFAULT}
-};
-
-void SLtt_set_mono (int obj, char *what, SLtt_Char_Type mask)
-{
- (void) what;
- if ((obj < 0) || (obj >= JMAX_COLORS))
- {
- return;
- }
- Ansi_Color_Map[obj].mono = mask & ATTR_MASK;
-}
-
-static char *check_color_for_digit_form (char *color)
-{
- unsigned int i, ich;
- char *s = color;
-
- i = 0;
- while ((ich = (int) *s) != 0)
- {
- if ((ich < '0') || (ich > '9'))
- return color;
-
- i = i * 10 + (ich - '0');
- s++;
- }
-
- if (i < MAX_COLOR_NAMES)
- color = Color_Defs[i].name;
-
- return color;
-}
-
-static int get_default_colors (char **fgp, char **bgp)
-{
- static char fg_buf[16], bg_buf[16], *bg, *fg;
- static int already_parsed;
- char *p, *pmax;
-
- if (already_parsed == -1)
- return -1;
-
- if (already_parsed)
- {
- *fgp = fg;
- *bgp = bg;
- return 0;
- }
-
- already_parsed = -1;
-
- bg = getenv ("COLORFGBG");
-
- if (bg == NULL)
- {
- bg = getenv ("DEFAULT_COLORS");
- if (bg == NULL)
- return -1;
- }
-
- p = fg_buf;
- pmax = p + (sizeof (fg_buf) - 1);
-
- while ((*bg != 0) && (*bg != ';'))
- {
- if (p < pmax) *p++ = *bg;
- bg++;
- }
- *p = 0;
-
- if (*bg) bg++;
-
- p = bg_buf;
- pmax = p + (sizeof (bg_buf) - 1);
-
- /* Mark suggested allowing for extra spplication specific stuff following
- * the background color. That is what the check for the semi-colon is for.
- */
- while ((*bg != 0) && (*bg != ';'))
- {
- if (p < pmax) *p++ = *bg;
- bg++;
- }
- *p = 0;
-
- if (!strcmp (fg_buf, "default") || !strcmp(bg_buf, "default"))
- {
- *fgp = *bgp = fg = bg = "default";
- }
- else
- {
- *fgp = fg = check_color_for_digit_form (fg_buf);
- *bgp = bg = check_color_for_digit_form (bg_buf);
- }
- already_parsed = 1;
- return 0;
-}
-
-static unsigned char FgBg_Stats[JMAX_COLORS];
-
-static int Color_0_Modified = 0;
-
-void SLtt_set_color_object (int obj, SLtt_Char_Type attr)
-{
- char *cust_esc;
-
- if ((obj < 0) || (obj >= JMAX_COLORS)) return;
-
- cust_esc = Ansi_Color_Map[obj].custom_esc;
- if (cust_esc != NULL)
- {
- SLfree (cust_esc);
- FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
- Ansi_Color_Map[obj].custom_esc = NULL;
- }
-
- Ansi_Color_Map[obj].fgbg = attr;
- if (obj == 0) Color_0_Modified = 1;
-
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-SLtt_Char_Type SLtt_get_color_object (int obj)
-{
- if ((obj < 0) || (obj >= JMAX_COLORS)) return 0;
- return Ansi_Color_Map[obj].fgbg;
-}
-
-void SLtt_add_color_attribute (int obj, SLtt_Char_Type attr)
-{
- if ((obj < 0) || (obj >= JMAX_COLORS)) return;
-
- Ansi_Color_Map[obj].fgbg |= (attr & ATTR_MASK);
- if (obj == 0) Color_0_Modified = 1;
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-static SLtt_Char_Type fb_to_fgbg (SLtt_Char_Type f, SLtt_Char_Type b)
-{
- SLtt_Char_Type attr;
-
- if (Max_Terminfo_Colors != 8)
- {
- if (f != SLSMG_COLOR_DEFAULT) f %= Max_Terminfo_Colors;
- if (b != SLSMG_COLOR_DEFAULT) b %= Max_Terminfo_Colors;
- return ((f << 8) | (b << 16));
- }
-
- /* Otherwise we have 8 ansi colors. Try to get bright versions
- * by using the BOLD and BLINK attributes.
- */
-
- attr = 0;
-
- /* Note: If f represents default, it will have the value 0xFF */
- if (f != SLSMG_COLOR_DEFAULT)
- {
- if (f & 0x8) attr = SLTT_BOLD_MASK;
- f &= 0x7;
- }
-
- if (b != SLSMG_COLOR_DEFAULT)
- {
- if (b & 0x8) attr |= SLTT_BLINK_MASK;
- b &= 0x7;
- }
-
- return ((f << 8) | (b << 16) | attr);
-}
-
-/* This looks for colors with name form 'colorN'. If color is of this
- * form, N is passed back via paramter list.
- */
-static int parse_color_digit_name (char *color, SLtt_Char_Type *f)
-{
- unsigned int i;
- unsigned char ch;
-
- if (strncmp (color, "color", 5))
- return -1;
-
- color += 5;
- if (*color == 0)
- return -1;
-
- i = 0;
- while (1)
- {
- ch = (unsigned char) *color++;
- if (ch == 0)
- break;
- if ((ch > '9') || (ch < '0'))
- return -1;
- i = 10 * i + (ch - '0');
- }
-
- *f = (SLtt_Char_Type) i;
- return 0;
-}
-
-static int make_color_fgbg (char *fg, char *bg, SLtt_Char_Type *fgbg)
-{
- SLtt_Char_Type f = 0xFFFFFFFFU, b = 0xFFFFFFFFU;
- char *dfg, *dbg;
- unsigned int i;
-
- if ((fg != NULL) && (*fg == 0)) fg = NULL;
- if ((bg != NULL) && (*bg == 0)) bg = NULL;
-
- if ((fg == NULL) || (bg == NULL))
- {
- if (-1 == get_default_colors (&dfg, &dbg))
- return -1;
-
- if (fg == NULL) fg = dfg;
- if (bg == NULL) bg = dbg;
- }
-
- if (-1 == parse_color_digit_name (fg, &f))
- {
- for (i = 0; i < MAX_COLOR_NAMES; i++)
- {
- if (strcmp(fg, Color_Defs[i].name)) continue;
- f = Color_Defs[i].color;
- break;
- }
- }
-
- if (-1 == parse_color_digit_name (bg, &b))
- {
- for (i = 0; i < MAX_COLOR_NAMES; i++)
- {
- if (strcmp(bg, Color_Defs[i].name)) continue;
- b = Color_Defs[i].color;
- break;
- }
- }
-
- if ((f == 0xFFFFFFFFU) || (b == 0xFFFFFFFFU))
- return -1;
-
- *fgbg = fb_to_fgbg (f, b);
- return 0;
-}
-
-void SLtt_set_color (int obj, char *what, char *fg, char *bg)
-{
- SLtt_Char_Type fgbg;
-
- (void) what;
- if ((obj < 0) || (obj >= JMAX_COLORS))
- return;
-
- if (-1 != make_color_fgbg (fg, bg, &fgbg))
- SLtt_set_color_object (obj, fgbg);
-}
-
-void SLtt_set_color_fgbg (int obj, SLtt_Char_Type f, SLtt_Char_Type b)
-{
- SLtt_set_color_object (obj, fb_to_fgbg (f, b));
-}
-
-void SLtt_set_color_esc (int obj, char *esc)
-{
- char *cust_esc;
- SLtt_Char_Type fgbg = 0;
- int i;
-
- if ((obj < 0) || (obj >= JMAX_COLORS))
- {
- return;
- }
-
- cust_esc = Ansi_Color_Map[obj].custom_esc;
- if (cust_esc != NULL)
- {
- SLfree (cust_esc);
- FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
- }
-
- cust_esc = (char *) SLmalloc (strlen(esc) + 1);
- if (cust_esc != NULL) strcpy (cust_esc, esc);
-
- Ansi_Color_Map[obj].custom_esc = cust_esc;
- if (cust_esc == NULL) fgbg = 0;
- else
- {
- /* The whole point of this is to generate a unique fgbg */
- for (i = 0; i < JMAX_COLORS; i++)
- {
- if (FgBg_Stats[i] == 0) fgbg = i;
-
- if (obj == i) continue;
- if ((Ansi_Color_Map[i].custom_esc) == NULL) continue;
- if (!strcmp (Ansi_Color_Map[i].custom_esc, cust_esc))
- {
- fgbg = (Ansi_Color_Map[i].fgbg >> 8) & 0x7F;
- break;
- }
- }
- FgBg_Stats[fgbg] += 1;
- }
-
- fgbg |= 0x80;
- Ansi_Color_Map[obj].fgbg = (fgbg | (fgbg << 8)) << 8;
- if (obj == 0) Color_0_Modified = 1;
- if (_SLtt_color_changed_hook != NULL)
- (*_SLtt_color_changed_hook)();
-}
-
-void SLtt_set_alt_char_set (int i)
-{
- static int last_i;
- if (SLtt_Has_Alt_Charset == 0) return;
- if (i == last_i) return;
- tt_write_string (i ? Start_Alt_Chars_Str : End_Alt_Chars_Str );
- last_i = i;
-}
-
-static void write_attributes (SLtt_Char_Type fgbg)
-{
- int bg0, fg0;
- int unknown_attributes;
-
- if (Worthless_Highlight) return;
- if (fgbg == Current_Fgbg) return;
-
- unknown_attributes = 0;
-
- /* Before spitting out colors, fix attributes */
- if ((fgbg & ATTR_MASK) != (Current_Fgbg & ATTR_MASK))
- {
- if (Current_Fgbg & ATTR_MASK)
- {
- tt_write_string(Norm_Vid_Str);
- /* In case normal video turns off ALL attributes: */
- if (fgbg & SLTT_ALTC_MASK)
- Current_Fgbg &= ~SLTT_ALTC_MASK;
- SLtt_set_alt_char_set (0);
- }
-
- if ((fgbg & SLTT_ALTC_MASK)
- != (Current_Fgbg & SLTT_ALTC_MASK))
- {
- SLtt_set_alt_char_set ((int) (fgbg & SLTT_ALTC_MASK));
- }
-
- if (fgbg & SLTT_ULINE_MASK) tt_write_string (UnderLine_Vid_Str);
- if (fgbg & SLTT_BOLD_MASK) SLtt_bold_video ();
- if (fgbg & SLTT_REV_MASK) tt_write_string (Rev_Vid_Str);
- if (fgbg & SLTT_BLINK_MASK)
- {
- /* Someday Linux will have a blink mode that set high intensity
- * background. Lets be prepared.
- */
- if (SLtt_Blink_Mode) tt_write_string (Blink_Vid_Str);
- }
- unknown_attributes = 1;
- }
-
- if (SLtt_Use_Ansi_Colors)
- {
- fg0 = (int) GET_FG(fgbg);
- bg0 = (int) GET_BG(fgbg);
-
- if (unknown_attributes
- || (fg0 != (int)GET_FG(Current_Fgbg)))
- {
- if (fg0 == SLSMG_COLOR_DEFAULT)
- tt_write_string (Default_Color_Fg_Str);
- else
- tt_printf (Color_Fg_Str, fg0, 0);
- }
-
- if (unknown_attributes
- || (bg0 != (int)GET_BG(Current_Fgbg)))
- {
- if (bg0 == SLSMG_COLOR_DEFAULT)
- tt_write_string (Default_Color_Bg_Str);
- else
- tt_printf (Color_Bg_Str, bg0, 0);
- }
- }
-
- Current_Fgbg = fgbg;
-}
-
-static int Video_Initialized;
-
-void SLtt_reverse_video (int color)
-{
- SLtt_Char_Type fgbg;
- char *esc;
-
- if (Worthless_Highlight) return;
- if ((color < 0) || (color >= JMAX_COLORS)) return;
-
- if (Video_Initialized == 0)
- {
- if (color == JNORMAL_COLOR)
- {
- tt_write_string (Norm_Vid_Str);
- }
- else tt_write_string (Rev_Vid_Str);
- Current_Fgbg = 0xFFFFFFFFU;
- return;
- }
-
- if (SLtt_Use_Ansi_Colors)
- {
- fgbg = Ansi_Color_Map[color].fgbg;
- if ((esc = Ansi_Color_Map[color].custom_esc) != NULL)
- {
- if (fgbg != Current_Fgbg)
- {
- Current_Fgbg = fgbg;
- tt_write_string (esc);
- return;
- }
- }
- }
- else fgbg = Ansi_Color_Map[color].mono;
-
- if (fgbg == Current_Fgbg) return;
- write_attributes (fgbg);
-}
-
-void SLtt_normal_video (void)
-{
- SLtt_reverse_video(JNORMAL_COLOR);
-}
-
-void SLtt_narrow_width (void)
-{
- tt_write_string("\033[?3l");
-}
-
-void SLtt_wide_width (void)
-{
- tt_write_string("\033[?3h");
-}
-
-/* Highest bit represents the character set. */
-#define COLOR_MASK 0x7F00
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-static int bce_color_eqs (unsigned int a, unsigned int b)
-{
- a = (a & COLOR_MASK) >> 8;
- b = (b & COLOR_MASK) >> 8;
-
- if (a == b)
- return 1;
-
- if (SLtt_Use_Ansi_Colors == 0)
- return Ansi_Color_Map[a].mono == Ansi_Color_Map[b].mono;
-
- if (Bce_Color_Offset == 0)
- return Ansi_Color_Map[a].fgbg == Ansi_Color_Map[b].fgbg;
-
- /* If either are color 0, then we do not know what that means since the
- * terminal does not support BCE */
- if ((a == 0) || (b == 0))
- return 0;
-
- return Ansi_Color_Map[a-1].fgbg == Ansi_Color_Map[b-1].fgbg;
-}
-#define COLOR_EQS(a,b) bce_color_eqs (a,b)
-#else
-# define COLOR_OF(x) (((unsigned int)(x) & COLOR_MASK) >> 8)
-# define COLOR_EQS(a, b) \
- (SLtt_Use_Ansi_Colors \
- ? (Ansi_Color_Map[COLOR_OF(a)].fgbg == Ansi_Color_Map[COLOR_OF(b)].fgbg)\
- : (Ansi_Color_Map[COLOR_OF(a)].mono == Ansi_Color_Map[COLOR_OF(b)].mono))
-#endif
-
-#define CHAR_EQS(a, b) (((a) == (b))\
- || ((((a) & ~COLOR_MASK) == ((b) & ~COLOR_MASK))\
- && COLOR_EQS((a), (b))))
-
-/* The whole point of this routine is to prevent writing to the last column
- * and last row on terminals with automatic margins.
- */
-static void write_string_with_care (char *str)
-{
- unsigned int len;
-
- if (str == NULL) return;
-
- len = strlen (str);
- if (Automatic_Margins && (Cursor_r + 1 == SLtt_Screen_Rows))
- {
- if (len + (unsigned int) Cursor_c >= (unsigned int) SLtt_Screen_Cols)
- {
- /* For now, just do not write there. Later, something more
- * sophisticated will be implemented.
- */
- if (SLtt_Screen_Cols > Cursor_c)
- len = SLtt_Screen_Cols - Cursor_c - 1;
- else
- len = 0;
- }
- }
- tt_write (str, len);
-}
-
-static void send_attr_str (SLsmg_Char_Type *s)
-{
- unsigned char out[256], ch, *p;
- register SLtt_Char_Type attr;
- register SLsmg_Char_Type sh;
- int color, last_color = -1;
-
- p = out;
- while (0 != (sh = *s++))
- {
- ch = sh & 0xFF;
- color = ((int) sh & 0xFF00) >> 8;
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- if (Bce_Color_Offset
- && (color >= Bce_Color_Offset))
- color -= Bce_Color_Offset;
-#endif
-
- if (color != last_color)
- {
- if (SLtt_Use_Ansi_Colors) attr = Ansi_Color_Map[color & 0x7F].fgbg;
- else attr = Ansi_Color_Map[color & 0x7F].mono;
-
- if (sh & 0x8000) /* alternate char set */
- {
- if (SLtt_Use_Blink_For_ACS)
- {
- if (SLtt_Blink_Mode) attr |= SLTT_BLINK_MASK;
- }
- else attr |= SLTT_ALTC_MASK;
- }
-
- if (attr != Current_Fgbg)
- {
- if ((ch != ' ') ||
- /* it is a space so only consider it different if it
- * has different attributes.
- */
- (attr & BGALL_MASK) != (Current_Fgbg & BGALL_MASK))
- {
- if (p != out)
- {
- *p = 0;
- write_string_with_care ((char *) out);
- Cursor_c += (int) (p - out);
- p = out;
- }
-
- if (SLtt_Use_Ansi_Colors && (NULL != Ansi_Color_Map[color & 0x7F].custom_esc))
- {
- tt_write_string (Ansi_Color_Map[color & 0x7F].custom_esc);
- /* Just in case the custom escape sequence screwed up
- * the alt character set state...
- */
- if ((attr & SLTT_ALTC_MASK) != (Current_Fgbg & SLTT_ALTC_MASK))
- SLtt_set_alt_char_set ((int) (attr & SLTT_ALTC_MASK));
- Current_Fgbg = attr;
- }
- else write_attributes (attr);
-
- last_color = color;
- }
- }
- }
- *p++ = ch;
- }
- *p = 0;
- if (p != out) write_string_with_care ((char *) out);
- Cursor_c += (int) (p - out);
-}
-
-static void forward_cursor (unsigned int n, int row)
-{
- char buf [1024];
-
- if (n <= 4)
- {
- SLtt_normal_video ();
- SLMEMSET (buf, ' ', n);
- buf[n] = 0;
- write_string_with_care (buf);
- Cursor_c += n;
- }
- else if (Curs_F_Str != NULL)
- {
- Cursor_c += n;
- n = tt_sprintf(buf, Curs_F_Str, (int) n, 0);
- tt_write(buf, n);
- }
- else SLtt_goto_rc (row, (int) (Cursor_c + n));
-}
-
-
-void SLtt_smart_puts(SLsmg_Char_Type *neww, SLsmg_Char_Type *oldd, int len, int row)
-{
- register SLsmg_Char_Type *p, *q, *qmax, *pmax, *buf;
- SLsmg_Char_Type buffer[256];
- unsigned int n_spaces;
- SLsmg_Char_Type *space_match, *last_buffered_match;
-#ifdef HP_GLITCH_CODE
- int handle_hp_glitch = 0;
-#endif
- SLsmg_Char_Type space_char;
-#define SLTT_USE_INSERT_HACK 1
-#if SLTT_USE_INSERT_HACK
- SLsmg_Char_Type insert_hack_prev = 0;
- SLsmg_Char_Type insert_hack_char = 0;
-
- if ((row + 1 == SLtt_Screen_Rows)
- && (len == SLtt_Screen_Cols)
- && (len > 1)
- && (SLtt_Term_Cannot_Insert == 0)
- && Automatic_Margins)
- {
- insert_hack_char = neww[len-1];
- if (oldd[len-1] == insert_hack_char)
- insert_hack_char = 0;
- else
- insert_hack_prev = neww[len-2];
- }
-#endif
-
- q = oldd; p = neww;
- qmax = oldd + len;
- pmax = p + len;
-
- /* Find out where to begin --- while they match, we are ok */
- while (1)
- {
- if (q == qmax) return;
-#if SLANG_HAS_KANJI_SUPPORT
- if (*p & 0x80)
- { /* new is kanji */
- if ((*q & 0x80) && ((q + 1) < qmax))
- { /* old is also kanji */
- if (((0xFF & *q) != (0xFF & *p))
- || ((0xFF & q[1]) != (0xFF & p[1])))
- break; /* both kanji, but not match */
-
- else
- { /* kanji match ! */
- if (!COLOR_EQS(*q, *p)) break;
- q++; p++;
- if (!COLOR_EQS(*q, *p)) break;
- /* really match! */
- q++; p++;
- continue;
- }
- }
- else break; /* old is not kanji */
- }
- else
- { /* new is not kanji */
- if (*q & 0x80) break; /* old is kanji */
- }
-#endif
- if (!CHAR_EQS(*q, *p)) break;
- q++; p++;
- }
-
-#ifdef HP_GLITCH_CODE
- if (Has_HP_Glitch)
- {
- SLsmg_Char_Type *qq = q;
-
- SLtt_goto_rc (row, (int) (p - neww));
-
- while (qq < qmax)
- {
- if (*qq & 0xFF00)
- {
- SLtt_normal_video ();
- SLtt_del_eol ();
- qmax = q;
- handle_hp_glitch = 1;
- break;
- }
- qq++;
- }
- }
-#endif
- /* Find where the last non-blank character on old/new screen is */
-
- space_char = ' ';
- if ((*(pmax-1) & 0xFF) == ' ')
- {
- /* If we get here, then we can erase to the end of the line to create
- * the final space. However, this will only work _if_ erasing will
- * get us the correct color. If the terminal supports BCE, then this
- * is easy. If it does not, then we can only perform this operation
- * if the color is known via something like COLORFGBG. For now,
- * I just will not perform the optimization for such terminals.
- */
- if ((Can_Background_Color_Erase)
- && SLtt_Use_Ansi_Colors)
- space_char = *(pmax - 1);
-
- while (pmax > p)
- {
- pmax--;
- if (!CHAR_EQS(*pmax, space_char))
- {
- pmax++;
- break;
- }
- }
- }
-
- while (qmax > q)
- {
- qmax--;
- if (!CHAR_EQS(*qmax, space_char))
- {
- qmax++;
- break;
- }
- }
-
- last_buffered_match = buf = buffer; /* buffer is empty */
-
-#ifdef HP_GLITCH_CODE
- if (handle_hp_glitch)
- {
- while (p < pmax)
- {
- *buf++ = *p++;
- }
- }
-#endif
-
-#ifdef HP_GLITCH_CODE
- if (Has_HP_Glitch == 0)
- {
-#endif
- /* Try use use erase to bol if possible */
- if ((Del_Bol_Str != NULL) && ((*neww & 0xFF) == 32))
- {
- SLsmg_Char_Type *p1;
- SLsmg_Char_Type blank;
-
- p1 = neww;
- if ((Can_Background_Color_Erase)
- && SLtt_Use_Ansi_Colors)
- blank = *p1;
- /* black+white attributes do not support bce */
- else
- blank = 32;
-
- while ((p1 < pmax) && (CHAR_EQS (*p1, blank)))
- p1++;
-
- /* Is this optimization worth it? Assume Del_Bol_Str is ESC [ 1 K
- * It costs 4 chars + the space needed to properly position the
- * cursor, e.g., ESC [ 10;10H. So, it costs at least 13 characters.
- */
- if ((p1 > neww + 13)
- && (p1 >= p)
- /* Avoid erasing from the end of the line */
- && ((p1 != pmax) || (pmax < neww + len)))
- {
- int ofs = (int) (p1 - neww);
- q = oldd + ofs;
- p = p1;
- SLtt_goto_rc (row, ofs - 1);
- SLtt_reverse_video (blank >> 8);
- tt_write_string (Del_Bol_Str);
- tt_write (" ", 1);
- Cursor_c += 1;
- }
- else
- SLtt_goto_rc (row, (int) (p - neww));
- }
- else
- SLtt_goto_rc (row, (int) (p - neww));
-#ifdef HP_GLITCH_CODE
- }
-#endif
-
-
- /* loop using overwrite then skip algorithm until done */
- while (1)
- {
- /* while they do not match and we do not hit a space, buffer them up */
- n_spaces = 0;
- while (p < pmax)
- {
- if (CHAR_EQS(*q, 32) && CHAR_EQS(*p, 32))
- {
- /* If *q is not a space, we would have to overwrite it.
- * However, if *q is a space, then while *p is also one,
- * we only need to skip over the blank field.
- */
- space_match = p;
- p++; q++;
- while ((p < pmax)
- && CHAR_EQS(*q, 32)
- && CHAR_EQS(*p, 32))
- {
- p++;
- q++;
- }
- n_spaces = (unsigned int) (p - space_match);
- break;
- }
-#if SLANG_HAS_KANJI_SUPPORT
- if ((*p & 0x80) && ((p + 1) < pmax))
- { /* new is kanji */
- if (*q & 0x80)
- { /* old is also kanji */
- if (((0xFF & *q) != (0xFF & *p))
- || ((0xFF & q[1]) != (0xFF & p[1])))
- {
- /* both kanji, but not match */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- else
- { /* kanji match ? */
- if (!COLOR_EQS(*q, *p) || !COLOR_EQS(*(q+1), *(p+1)))
- {
- /* code is match, but color is diff */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- /* really match ! */
- break;
- }
- }
- else
- { /* old is not kanji */
- *buf++ = *p++;
- *buf++ = *p++;
- q += 2;
- continue;
- }
- }
- else
- { /* new is not kanji */
- if (*q & 0x80)
- { /* old is kanji */
- *buf++ = *p++;
- q++;
- continue;
- }
- }
-#endif
-
- if (CHAR_EQS(*q, *p)) break;
- *buf++ = *p++;
- q++;
- }
- *buf = 0;
-
- if (buf != buffer) send_attr_str (buffer);
- buf = buffer;
-
- if (n_spaces
- && ((p < pmax) /* erase to eol will achieve this effect*/
- || (space_char != 32)))/* unless space_char is not a simple space */
- {
- forward_cursor (n_spaces, row);
- }
-
- /* Now we overwrote what we could and cursor is placed at position
- * of a possible match of new and old. If this is the case, skip
- * some more.
- */
-#if !SLANG_HAS_KANJI_SUPPORT
- while ((p < pmax) && CHAR_EQS(*p, *q))
- {
- *buf++ = *p++;
- q++;
- }
-#else
- /* Kanji */
- while (p < pmax)
- {
- if ((*p & 0x80) && ((p + 1) < pmax))
- { /* new is kanji */
- if (*q & 0x80)
- { /* old is also kanji */
- if (((0xFF & *q) == (0xFF & *p))
- && ((0xFF & q[1]) == (0xFF & p[1])))
- {
- /* kanji match ? */
- if (!COLOR_EQS(*q, *p)
- || !COLOR_EQS(q[1], p[1]))
- break;
-
- *buf++ = *p++;
- q++;
- if (p >= pmax)
- {
- *buf++ = 32;
- p++;
- break;
- }
- else
- {
- *buf++ = *p++;
- q++;
- continue;
- }
- }
- else break; /* both kanji, but not match */
- }
- else break; /* old is not kanji */
- }
- else
- { /* new is not kanji */
- if (*q & 0x80) break; /* old is kanji */
- if (!CHAR_EQS(*q, *p)) break;
- *buf++ = *p++;
- q++;
- }
- }
-#endif
- last_buffered_match = buf;
- if (p >= pmax) break;
-
- /* jump to new position is it is greater than 5 otherwise
- * let it sit in the buffer and output it later.
- */
- if ((int) (buf - buffer) >= 5)
- {
- forward_cursor ((unsigned int) (buf - buffer), row);
- last_buffered_match = buf = buffer;
- }
- }
-
- if (buf != buffer)
- {
- if (q < qmax)
- {
- if ((buf == last_buffered_match)
- && ((int) (buf - buffer) >= 5))
- {
- forward_cursor ((unsigned int) (buf - buffer), row);
- }
- else
- {
- *buf = 0;
- send_attr_str (buffer);
- }
- }
- }
-
- if (q < qmax)
- {
- SLtt_reverse_video (space_char >> 8);
- del_eol ();
- }
-
-#if SLTT_USE_INSERT_HACK
- else if (insert_hack_char)
- {
- SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
- buffer[0] = insert_hack_char;
- buffer[1] = 0;
- send_attr_str (buffer);
- SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
- buffer[0] = insert_hack_prev;
- SLtt_begin_insert ();
- send_attr_str (buffer);
- SLtt_end_insert ();
- }
-#endif
-
- if (Automatic_Margins && (Cursor_c + 1 >= SLtt_Screen_Cols)) Cursor_Set = 0;
-}
-
-static void get_color_info (void)
-{
- char *fg, *bg;
-
- /* Allow easy mechanism to override inadequate termcap/terminfo files. */
- if (SLtt_Use_Ansi_Colors == 0)
- SLtt_Use_Ansi_Colors = (NULL != getenv ("COLORTERM"));
-
- if (SLtt_Use_Ansi_Colors)
- Is_Color_Terminal = 1;
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- if (Can_Background_Color_Erase == 0)
- Can_Background_Color_Erase = (NULL != getenv ("COLORTERM_BCE"));
-#endif
-
- if (-1 == get_default_colors (&fg, &bg))
- return;
-
- /* Check to see if application has already set them. */
- if (Color_0_Modified)
- return;
-
- SLtt_set_color (0, NULL, fg, bg);
- SLtt_set_color (1, NULL, bg, fg);
-}
-
-/* termcap stuff */
-
-#ifdef __unix__
-
-static int Termcap_Initalized = 0;
-
-#ifdef USE_TERMCAP
-/* Termcap based system */
-static char Termcap_Buf[4096];
-static char Termcap_String_Buf[4096];
-static char *Termcap_String_Ptr;
-extern char *tgetstr(char *, char **);
-extern int tgetent(char *, char *);
-extern int tgetnum(char *);
-extern int tgetflag(char *);
-#else
-/* Terminfo */
-static SLterminfo_Type *Terminfo;
-#endif
-
-#define TGETFLAG(x) (SLtt_tgetflag(x) > 0)
-
-static char *fixup_tgetstr (char *what)
-{
- register char *w, *w1;
- char *wsave;
-
- if (what == NULL)
- return NULL;
-
- /* Check for AIX brain-damage */
- if (*what == '@')
- return NULL;
-
- /* lose pad info --- with today's technology, term is a loser if
- it is really needed */
- while ((*what == '.') ||
- ((*what >= '0') && (*what <= '9'))) what++;
- if (*what == '*') what++;
-
- /* lose terminfo padding--- looks like $<...> */
- w = what;
- while (*w) if ((*w++ == '$') && (*w == '<'))
- {
- w1 = w - 1;
- while (*w && (*w != '>')) w++;
- if (*w == 0) break;
- w++;
- wsave = w1;
- while ((*w1++ = *w++) != 0);
- w = wsave;
- }
-
- if (*what == 0) what = NULL;
- return what;
-}
-
-char *SLtt_tgetstr (char *s)
-{
- if (Termcap_Initalized == 0)
- return NULL;
-
-#ifdef USE_TERMCAP
- s = tgetstr (s, &Termcap_String_Ptr);
-#else
- s = _SLtt_tigetstr (Terminfo, s);
-#endif
- return fixup_tgetstr (s);
-}
-
-int SLtt_tgetnum (char *s)
-{
- if (Termcap_Initalized == 0)
- return -1;
-#ifdef USE_TERMCAP
- return tgetnum (s);
-#else
- return _SLtt_tigetnum (Terminfo, s);
-#endif
-}
-
-int SLtt_tgetflag (char *s)
-{
- if (Termcap_Initalized == 0)
- return -1;
-#ifdef USE_TERMCAP
- return tgetflag (s);
-#else
- return _SLtt_tigetflag (Terminfo, s);
-#endif
-}
-
-static int Vt100_Like = 0;
-
-void SLtt_get_terminfo (void)
-{
- char *term;
- int status;
-
- term = getenv ("TERM");
- if (term == NULL)
- SLang_exit_error("TERM environment variable needs set.");
-
- if (0 == (status = SLtt_initialize (term)))
- return;
-
- if (status == -1)
- {
- SLang_exit_error ("Unknown terminal: %s\n\
-Check the TERM environment variable.\n\
-Also make sure that the terminal is defined in the terminfo database.\n\
-Alternatively, set the TERMCAP environment variable to the desired\n\
-termcap entry.",
- term);
- }
-
- if (status == -2)
- {
- SLang_exit_error ("\
-Your terminal lacks the ability to clear the screen or position the cursor.\n");
- }
-}
-
-/* Returns 0 if all goes well, -1 if terminal capabilities cannot be deduced,
- * or -2 if terminal cannot position the cursor.
- */
-int SLtt_initialize (char *term)
-{
- char *t, ch;
- int is_xterm;
- int almost_vtxxx;
-
- if (SLang_TT_Write_FD == -1)
- {
- /* Apparantly, this cannot fail according to the man pages. */
- SLang_TT_Write_FD = fileno (stdout);
- }
-
- if (term == NULL)
- {
- term = getenv ("TERM");
- if (term == NULL)
- return -1;
- }
-
- Linux_Console = (!strncmp (term, "linux", 5)
-# ifdef linux
- || !strncmp(term, "con", 3)
-# endif
- );
-
- t = term;
-
- if (strcmp(t, "vt52") && (*t++ == 'v') && (*t++ == 't')
- && (ch = *t, (ch >= '1') && (ch <= '9'))) Vt100_Like = 1;
-
- is_xterm = ((0 == strncmp (term, "xterm", 5))
- || (0 == strncmp (term, "rxvt", 4))
- || (0 == strncmp (term, "Eterm", 5)));
-
- almost_vtxxx = (Vt100_Like
- || Linux_Console
- || is_xterm
- || !strcmp (term, "screen"));
-
-# ifndef USE_TERMCAP
- if (NULL == (Terminfo = _SLtt_tigetent (term)))
- {
- if (almost_vtxxx) /* Special cases. */
- {
- int vt102 = 1;
- if (!strcmp (term, "vt100")) vt102 = 0;
- get_color_info ();
- SLtt_set_term_vtxxx (&vt102);
- return 0;
- }
- return -1;
- }
-# else /* USE_TERMCAP */
- if (1 != tgetent(Termcap_Buf, term))
- return -1;
- Termcap_String_Ptr = Termcap_String_Buf;
-# endif /* NOT USE_TERMCAP */
-
- Termcap_Initalized = 1;
-
- Cls_Str = SLtt_tgetstr ("cl");
- Curs_Pos_Str = SLtt_tgetstr ("cm");
-
- if ((NULL == (Ins_Mode_Str = SLtt_tgetstr("im")))
- || ( NULL == (Eins_Mode_Str = SLtt_tgetstr("ei")))
- || ( NULL == (Del_Char_Str = SLtt_tgetstr("dc"))))
- SLtt_Term_Cannot_Insert = 1;
-
- Visible_Bell_Str = SLtt_tgetstr ("vb");
- Curs_Up_Str = SLtt_tgetstr ("up");
- Rev_Scroll_Str = SLtt_tgetstr("sr");
- Del_N_Lines_Str = SLtt_tgetstr("DL");
- Add_N_Lines_Str = SLtt_tgetstr("AL");
-
- /* Actually these are used to initialize terminals that use cursor
- * addressing. Hard to believe.
- */
- Term_Init_Str = SLtt_tgetstr ("ti");
- Term_Reset_Str = SLtt_tgetstr ("te");
-
- /* If I do this for vtxxx terminals, arrow keys start sending ESC O A,
- * which I do not want. This is mainly for HP terminals.
- */
- if ((almost_vtxxx == 0) || SLtt_Force_Keypad_Init)
- {
- Keypad_Init_Str = SLtt_tgetstr ("ks");
- Keypad_Reset_Str = SLtt_tgetstr ("ke");
- }
-
- /* Make up for defective termcap/terminfo databases */
- if ((Vt100_Like && (term[2] != '1'))
- || Linux_Console
- || is_xterm
- )
- {
- if (Del_N_Lines_Str == NULL) Del_N_Lines_Str = "\033[%dM";
- if (Add_N_Lines_Str == NULL) Add_N_Lines_Str = "\033[%dL";
- }
-
- Scroll_R_Str = SLtt_tgetstr("cs");
-
- SLtt_get_screen_size ();
-
- if ((Scroll_R_Str == NULL)
- || (((NULL == Del_N_Lines_Str) || (NULL == Add_N_Lines_Str))
- && (NULL == Rev_Scroll_Str)))
- {
- if (is_xterm
- || Linux_Console
- )
- {
- /* Defective termcap mode!!!! */
- SLtt_set_term_vtxxx (NULL);
- }
- else SLtt_Term_Cannot_Scroll = 1;
- }
-
- Del_Eol_Str = SLtt_tgetstr("ce");
- Del_Bol_Str = SLtt_tgetstr("cb");
- if (is_xterm && (Del_Bol_Str == NULL))
- Del_Bol_Str = "\033[1K";
- if (is_xterm && (Del_Eol_Str == NULL))
- Del_Bol_Str = "\033[K";
-
- Rev_Vid_Str = SLtt_tgetstr("mr");
- if (Rev_Vid_Str == NULL) Rev_Vid_Str = SLtt_tgetstr("so");
-
- Bold_Vid_Str = SLtt_tgetstr("md");
-
- /* Although xterm cannot blink, it does display the blinking characters
- * as bold ones. Some Rxvt will display the background as high intensity.
- */
- if ((NULL == (Blink_Vid_Str = SLtt_tgetstr("mb")))
- && is_xterm)
- Blink_Vid_Str = "\033[5m";
-
- UnderLine_Vid_Str = SLtt_tgetstr("us");
-
- Start_Alt_Chars_Str = SLtt_tgetstr ("as"); /* smacs */
- End_Alt_Chars_Str = SLtt_tgetstr ("ae"); /* rmacs */
- Enable_Alt_Char_Set = SLtt_tgetstr ("eA"); /* enacs */
- SLtt_Graphics_Char_Pairs = SLtt_tgetstr ("ac");
-
- if (NULL == SLtt_Graphics_Char_Pairs)
- {
- /* make up for defective termcap/terminfo */
- if (Vt100_Like)
- {
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- Enable_Alt_Char_Set = "\033)0";
- }
- }
-
- /* aixterm added by willi */
- if (is_xterm || !strncmp (term, "aixterm", 7))
- {
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- Enable_Alt_Char_Set = "\033(B\033)0";
- }
-
- if ((SLtt_Graphics_Char_Pairs == NULL) &&
- ((Start_Alt_Chars_Str == NULL) || (End_Alt_Chars_Str == NULL)))
- {
- SLtt_Has_Alt_Charset = 0;
- Enable_Alt_Char_Set = NULL;
- }
- else SLtt_Has_Alt_Charset = 1;
-
-#ifdef AMIGA
- Enable_Alt_Char_Set = Start_Alt_Chars_Str = End_Alt_Chars_Str = NULL;
-#endif
-
- /* status line capabilities */
- if ((SLtt_Has_Status_Line == -1)
- && (0 != (SLtt_Has_Status_Line = TGETFLAG ("hs"))))
- {
- Disable_Status_line_Str = SLtt_tgetstr ("ds");
- Return_From_Status_Line_Str = SLtt_tgetstr ("fs");
- Goto_Status_Line_Str = SLtt_tgetstr ("ts");
- /* Status_Line_Esc_Ok = TGETFLAG("es"); */
- Num_Status_Line_Columns = SLtt_tgetnum ("ws");
- if (Num_Status_Line_Columns < 0) Num_Status_Line_Columns = 0;
- }
-
- if (NULL == (Norm_Vid_Str = SLtt_tgetstr("me")))
- {
- Norm_Vid_Str = SLtt_tgetstr("se");
- }
-
- Cursor_Invisible_Str = SLtt_tgetstr("vi");
- Cursor_Visible_Str = SLtt_tgetstr("ve");
-
- Curs_F_Str = SLtt_tgetstr("RI");
-
-# if 0
- if (NULL != Curs_F_Str)
- {
- Len_Curs_F_Str = strlen(Curs_F_Str);
- }
- else Len_Curs_F_Str = strlen(Curs_Pos_Str);
-# endif
-
- Automatic_Margins = TGETFLAG ("am");
- /* No_Move_In_Standout = !TGETFLAG ("ms"); */
-# ifdef HP_GLITCH_CODE
- Has_HP_Glitch = TGETFLAG ("xs");
-# else
- Worthless_Highlight = TGETFLAG ("xs");
-# endif
-
- if (Worthless_Highlight == 0)
- { /* Magic cookie glitch */
- Worthless_Highlight = (SLtt_tgetnum ("sg") > 0);
- }
-
- if (Worthless_Highlight)
- SLtt_Has_Alt_Charset = 0;
-
- Reset_Color_String = SLtt_tgetstr ("op");
- Color_Fg_Str = SLtt_tgetstr ("AF"); /* ANSI setaf */
- Color_Bg_Str = SLtt_tgetstr ("AB"); /* ANSI setbf */
- if ((Color_Fg_Str == NULL) || (Color_Bg_Str == NULL))
- {
- Color_Fg_Str = SLtt_tgetstr ("Sf"); /* setf */
- Color_Bg_Str = SLtt_tgetstr ("Sb"); /* setb */
- }
-
- if ((Max_Terminfo_Colors = SLtt_tgetnum ("Co")) < 0)
- Max_Terminfo_Colors = 8;
-
- if ((Color_Bg_Str != NULL) && (Color_Fg_Str != NULL))
- SLtt_Use_Ansi_Colors = 1;
- else
- {
-#if 0
- Color_Fg_Str = "%?%p1%{7}%>%t\033[1;3%p1%{8}%m%dm%e\033[3%p1%dm%;";
- Color_Bg_Str = "%?%p1%{7}%>%t\033[5;4%p1%{8}%m%dm%e\033[4%p1%dm%;";
- Max_Terminfo_Colors = 16;
-#else
- Color_Fg_Str = "\033[3%dm";
- Color_Bg_Str = "\033[4%dm";
- Max_Terminfo_Colors = 8;
-#endif
- }
-
-#if SLTT_HAS_NON_BCE_SUPPORT
- Can_Background_Color_Erase = TGETFLAG ("ut"); /* bce */
- /* Modern xterms have the BCE capability as well as the linux console */
- if (Can_Background_Color_Erase == 0)
- {
- Can_Background_Color_Erase = (Linux_Console
-# if SLTT_XTERM_ALWAYS_BCE
- || is_xterm
-# endif
- );
- }
-#endif
- get_color_info ();
-
-
- if ((Cls_Str == NULL)
- || (Curs_Pos_Str == NULL))
- return -2;
-
- return 0;
-}
-
-#endif
-/* Unix */
-
-/* specific to vtxxx only */
-void SLtt_enable_cursor_keys (void)
-{
-#ifdef __unix__
- if (Vt100_Like)
-#endif
- tt_write_string("\033=\033[?1l");
-}
-
-#ifdef VMS
-int SLtt_initialize (char *term)
-{
- SLtt_get_terminfo ();
- return 0;
-}
-
-void SLtt_get_terminfo ()
-{
- int zero = 0;
-
- Color_Fg_Str = "\033[3%dm";
- Color_Bg_Str = "\033[4%dm";
- Max_Terminfo_Colors = 8;
-
- get_color_info ();
-
- SLtt_set_term_vtxxx(&zero);
- Start_Alt_Chars_Str = "\016";
- End_Alt_Chars_Str = "\017";
- SLtt_Has_Alt_Charset = 1;
- SLtt_Graphics_Char_Pairs = "aaffgghhjjkkllmmnnooqqssttuuvvwwxx";
- Enable_Alt_Char_Set = "\033(B\033)0";
- SLtt_get_screen_size ();
-}
-#endif
-
-/* This sets term for vt102 terminals it parameter vt100 is 0. If vt100
- * is non-zero, set terminal appropriate for a only vt100
- * (no add line capability). */
-
-void SLtt_set_term_vtxxx(int *vt100)
-{
- Norm_Vid_Str = "\033[m";
-
- Scroll_R_Str = "\033[%i%d;%dr";
- Cls_Str = "\033[2J\033[H";
- Rev_Vid_Str = "\033[7m";
- Bold_Vid_Str = "\033[1m";
- Blink_Vid_Str = "\033[5m";
- UnderLine_Vid_Str = "\033[4m";
- Del_Eol_Str = "\033[K";
- Del_Bol_Str = "\033[1K";
- Rev_Scroll_Str = "\033M";
- Curs_F_Str = "\033[%dC";
- /* Len_Curs_F_Str = 5; */
- Curs_Pos_Str = "\033[%i%d;%dH";
- if ((vt100 == NULL) || (*vt100 == 0))
- {
- Ins_Mode_Str = "\033[4h";
- Eins_Mode_Str = "\033[4l";
- Del_Char_Str = "\033[P";
- Del_N_Lines_Str = "\033[%dM";
- Add_N_Lines_Str = "\033[%dL";
- SLtt_Term_Cannot_Insert = 0;
- }
- else
- {
- Del_N_Lines_Str = NULL;
- Add_N_Lines_Str = NULL;
- SLtt_Term_Cannot_Insert = 1;
- }
- SLtt_Term_Cannot_Scroll = 0;
- /* No_Move_In_Standout = 0; */
-}
-
-int SLtt_init_video (void)
-{
- /* send_string_to_term("\033[?6h"); */
- /* relative origin mode */
- tt_write_string (Term_Init_Str);
- tt_write_string (Keypad_Init_Str);
- SLtt_reset_scroll_region();
- SLtt_end_insert();
- tt_write_string (Enable_Alt_Char_Set);
- Video_Initialized = 1;
- return 0;
-}
-
-int SLtt_reset_video (void)
-{
- SLtt_goto_rc (SLtt_Screen_Rows - 1, 0);
- Cursor_Set = 0;
- SLtt_normal_video (); /* MSKermit requires this */
- tt_write_string(Norm_Vid_Str);
-
- Current_Fgbg = 0xFFFFFFFFU;
- SLtt_set_alt_char_set (0);
- if (SLtt_Use_Ansi_Colors)
- {
- if (Reset_Color_String == NULL)
- {
- SLtt_Char_Type attr;
- if (-1 != make_color_fgbg (NULL, NULL, &attr))
- write_attributes (attr);
- else tt_write_string ("\033[0m\033[m");
- }
- else tt_write_string (Reset_Color_String);
- Current_Fgbg = 0xFFFFFFFFU;
- }
- SLtt_erase_line ();
- tt_write_string (Keypad_Reset_Str);
- tt_write_string (Term_Reset_Str);
- SLtt_flush_output ();
- Video_Initialized = 0;
- return 0;
-}
-
-void SLtt_bold_video (void)
-{
- tt_write_string (Bold_Vid_Str);
-}
-
-int SLtt_set_mouse_mode (int mode, int force)
-{
- char *term;
-
- if (force == 0)
- {
- if (NULL == (term = (char *) getenv("TERM"))) return -1;
- if (strncmp ("xterm", term, 5))
- return -1;
- }
-
- if (mode)
- tt_write_string ("\033[?9h");
- else
- tt_write_string ("\033[?9l");
-
- return 0;
-}
-
-void SLtt_disable_status_line (void)
-{
- if (SLtt_Has_Status_Line > 0)
- {
- tt_write_string (Disable_Status_line_Str);
- SLtt_flush_output ();
- }
-}
-
-int SLtt_write_to_status_line (char *s, int col)
-{
- if ((SLtt_Has_Status_Line <= 0)
- || (Goto_Status_Line_Str == NULL)
- || (Return_From_Status_Line_Str == NULL))
- return -1;
-
- tt_printf (Goto_Status_Line_Str, col, 0);
- tt_write_string (s);
- tt_write_string (Return_From_Status_Line_Str);
- return 0;
-}
-
-void SLtt_get_screen_size (void)
-{
-#ifdef VMS
- int status, code;
- unsigned short chan;
- $DESCRIPTOR(dev_dsc, "SYS$INPUT:");
-#endif
- int r = 0, c = 0;
-
-#ifdef TIOCGWINSZ
- struct winsize wind_struct;
-
- do
- {
- if ((ioctl(1,TIOCGWINSZ,&wind_struct) == 0)
- || (ioctl(0, TIOCGWINSZ, &wind_struct) == 0)
- || (ioctl(2, TIOCGWINSZ, &wind_struct) == 0))
- {
- c = (int) wind_struct.ws_col;
- r = (int) wind_struct.ws_row;
- break;
- }
- }
- while (errno == EINTR);
-
-#endif
-
-#ifdef VMS
- status = sys$assign(&dev_dsc,&chan,0,0,0);
- if (status & 1)
- {
- code = DVI$_DEVBUFSIZ;
- status = lib$getdvi(&code, &chan,0, &c, 0,0);
- if (!(status & 1))
- c = 80;
- code = DVI$_TT_PAGE;
- status = lib$getdvi(&code, &chan,0, &r, 0,0);
- if (!(status & 1))
- r = 24;
- sys$dassgn(chan);
- }
-#endif
-
- if (r <= 0)
- {
- char *s = getenv ("LINES");
- if (s != NULL) r = atoi (s);
- }
-
- if (c <= 0)
- {
- char *s = getenv ("COLUMNS");
- if (s != NULL) c = atoi (s);
- }
-
- if (r <= 0) r = 24;
- if (c <= 0) c = 80;
-#if 0
- if ((r <= 0) || (r > 200)) r = 24;
- if ((c <= 0) || (c > 250)) c = 80;
-#endif
- SLtt_Screen_Rows = r;
- SLtt_Screen_Cols = c;
-}
-
-#if SLTT_HAS_NON_BCE_SUPPORT
-int _SLtt_get_bce_color_offset (void)
-{
- if ((SLtt_Use_Ansi_Colors == 0)
- || Can_Background_Color_Erase
- || SLtt_Use_Blink_For_ACS) /* in this case, we cannot lose a color */
- Bce_Color_Offset = 0;
- else
- {
- if (GET_BG(Ansi_Color_Map[0].fgbg) == SLSMG_COLOR_DEFAULT)
- Bce_Color_Offset = 0;
- else
- Bce_Color_Offset = 1;
- }
-
- return Bce_Color_Offset;
-}
-#endif
diff --git a/mdk-stage1/slang/slerr.c b/mdk-stage1/slang/slerr.c
deleted file mode 100644
index 139b3859b..000000000
--- a/mdk-stage1/slang/slerr.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* error handling common to all routines. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-void (*SLang_VMessage_Hook) (char *, va_list);
-void (*SLang_Error_Hook)(char *);
-void (*SLang_Exit_Error_Hook)(char *, va_list);
-volatile int SLang_Error = 0;
-char *SLang_Error_Message;
-volatile int SLKeyBoard_Quit = 0;
-
-static char *get_error_string (void)
-{
- char *str;
-
- if (!SLang_Error) SLang_Error = SL_UNKNOWN_ERROR;
- if (SLang_Error_Message != NULL) str = SLang_Error_Message;
- else switch(SLang_Error)
- {
- case SL_NOT_IMPLEMENTED: str = "Not Implemented"; break;
- case SL_APPLICATION_ERROR: str = "Application Error"; break;
- case SL_VARIABLE_UNINITIALIZED: str = "Variable Uninitialized"; break;
- case SL_MALLOC_ERROR : str = "Malloc Error"; break;
- case SL_INTERNAL_ERROR: str = "Internal Error"; break;
- case SL_STACK_OVERFLOW: str = "Stack Overflow"; break;
- case SL_STACK_UNDERFLOW: str = "Stack Underflow"; break;
- case SL_INTRINSIC_ERROR: str = "Intrinsic Error"; break;
- case SL_USER_BREAK: str = "User Break"; break;
- case SL_UNDEFINED_NAME: str = "Undefined Name"; break;
- case SL_SYNTAX_ERROR: str = "Syntax Error"; break;
- case SL_DUPLICATE_DEFINITION: str = "Duplicate Definition"; break;
- case SL_TYPE_MISMATCH: str = "Type Mismatch"; break;
- case SL_READONLY_ERROR: str = "Variable is read-only"; break;
- case SL_DIVIDE_ERROR: str = "Divide by zero"; break;
- case SL_OBJ_NOPEN: str = "Object not opened"; break;
- case SL_OBJ_UNKNOWN: str = "Object unknown"; break;
- case SL_INVALID_PARM: str = "Invalid Parameter"; break;
- case SL_TYPE_UNDEFINED_OP_ERROR:
- str = "Operation not defined for datatype"; break;
- case SL_USER_ERROR:
- str = "User Error"; break;
- case SL_USAGE_ERROR:
- str = "Illegal usage of function";
- break;
- case SL_FLOATING_EXCEPTION:
- str = "Floating Point Exception";
- break;
- case SL_UNKNOWN_ERROR:
- default: str = "Unknown Error Code";
- }
-
- SLang_Error_Message = NULL;
- return str;
-}
-
-void SLang_doerror (char *error)
-{
- char *str = NULL;
- char *err;
- char *malloced_err_buf;
- char err_buf [1024];
-
- malloced_err_buf = NULL;
-
- if (((SLang_Error == SL_USER_ERROR)
- || (SLang_Error == SL_USAGE_ERROR))
- && (error != NULL) && (*error != 0))
- err = error;
- else
- {
- char *sle = "S-Lang Error: ";
- unsigned int len;
- char *fmt;
-
- str = get_error_string ();
-
- fmt = "%s%s%s";
- if ((error == NULL) || (*error == 0))
- error = "";
- else if (SLang_Error == SL_UNKNOWN_ERROR)
- /* Do not display an unknown error message if error is non-NULL */
- str = "";
- else
- fmt = "%s%s: %s";
-
- len = strlen (sle) + strlen (str) + strlen(error) + 1;
-
- err = err_buf;
- if (len >= sizeof (err_buf))
- {
- if (NULL == (malloced_err_buf = SLmalloc (len)))
- err = NULL;
- else
- err = malloced_err_buf;
- }
-
- if (err != NULL) sprintf (err, fmt, sle, str, error);
- else err = "Out of memory";
- }
-
- if (SLang_Error_Hook == NULL)
- {
- fputs (err, stderr);
- fputs("\r\n", stderr);
- fflush (stderr);
- }
- else
- (*SLang_Error_Hook)(err);
-
- SLfree (malloced_err_buf);
-}
-
-void SLang_verror (int err_code, char *fmt, ...)
-{
- va_list ap;
- char err [1024];
-
- if (err_code == 0) err_code = SL_INTRINSIC_ERROR;
- if (SLang_Error == 0) SLang_Error = err_code;
-
- if (fmt != NULL)
- {
- va_start(ap, fmt);
- (void) _SLvsnprintf (err, sizeof (err), fmt, ap);
- fmt = err;
- va_end(ap);
- }
-
- SLang_doerror (fmt);
-}
-
-void SLang_exit_error (char *fmt, ...)
-{
- va_list ap;
-
- va_start (ap, fmt);
- if (SLang_Exit_Error_Hook != NULL)
- {
- (*SLang_Exit_Error_Hook) (fmt, ap);
- exit (1);
- }
-
- if (fmt != NULL)
- {
- vfprintf (stderr, fmt, ap);
- fputs ("\r\n", stderr);
- fflush (stderr);
- }
- va_end (ap);
-
- exit (1);
-}
-
-void SLang_vmessage (char *fmt, ...)
-{
- va_list ap;
-
- if (fmt == NULL)
- return;
-
- va_start (ap, fmt);
-
- if (SLang_VMessage_Hook != NULL)
- (*SLang_VMessage_Hook) (fmt, ap);
- else
- {
- vfprintf (stdout, fmt, ap);
- fputs ("\r\n", stdout);
- }
-
- va_end (ap);
-}
diff --git a/mdk-stage1/slang/slerrno.c b/mdk-stage1/slang/slerrno.c
deleted file mode 100644
index 662fadde1..000000000
--- a/mdk-stage1/slang/slerrno.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/* The point of this file is to handle errno values in a system independent
- * way so that they may be used in slang scripts.
- */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <errno.h>
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- char *msg;
- int sys_errno;
- char *symbolic_name;
-}
-Errno_Map_Type;
-
-static Errno_Map_Type Errno_Map [] =
-{
-#ifndef EPERM
-# define EPERM -1
-#endif
- {"Not owner", EPERM, "EPERM"},
-#ifndef ENOENT
-# define ENOENT -1
-#endif
- {"No such file or directory", ENOENT, "ENOENT"},
-#ifndef ESRCH
-# define ESRCH -1
-#endif
- {"No such process", ESRCH, "ESRCH"},
-#ifndef EINTR
-# define EINTR -1
-#endif
- {"Interrupted system call", EINTR, "EINTR"},
-#ifndef EIO
-# define EIO -1
-#endif
- {"I/O error", EIO, "EIO"},
-#ifndef ENXIO
-# define ENXIO -1
-#endif
- {"No such device or address", ENXIO, "ENXIO"},
-#ifndef E2BIG
-# define E2BIG -1
-#endif
- {"Arg list too long", E2BIG, "E2BIG"},
-#ifndef ENOEXEC
-# define ENOEXEC -1
-#endif
- {"Exec format error", ENOEXEC,"ENOEXEC"},
-#ifndef EBADF
-# define EBADF -1
-#endif
- {"Bad file number", EBADF, "EBADF"},
-#ifndef ECHILD
-# define ECHILD -1
-#endif
- {"No children", ECHILD, "ECHILD"},
-#ifndef EAGAIN
-# define EAGAIN -1
-#endif
- {"Try again", EAGAIN, "EAGAIN"},
-#ifndef ENOMEM
-# define ENOMEM -1
-#endif
- {"Not enough core", ENOMEM, "ENOMEM"},
-#ifndef EACCES
-# define EACCES -1
-#endif
- {"Permission denied", EACCES, "EACCES"},
-#ifndef EFAULT
-# define EFAULT -1
-#endif
- {"Bad address", EFAULT, "EFAULT"},
-#ifndef ENOTBLK
-# define ENOTBLK -1
-#endif
- {"Block device required", ENOTBLK, "ENOTBLK"},
-#ifndef EBUSY
-# define EBUSY -1
-#endif
- {"Mount device busy", EBUSY, "EBUSY"},
-#ifndef EEXIST
-# define EEXIST -1
-#endif
- {"File exists", EEXIST, "EEXIST"},
-#ifndef EXDEV
-# define EXDEV -1
-#endif
- {"Cross-device link", EXDEV, "EXDEV"},
-#ifndef ENODEV
-# define ENODEV -1
-#endif
- {"No such device", ENODEV, "ENODEV"},
-#ifndef ENOTDIR
-# define ENOTDIR -1
-#endif
- {"Not a directory", ENOTDIR, "ENOTDIR"},
-#ifndef EISDIR
-# define EISDIR -1
-#endif
- {"Is a directory", EISDIR, "EISDIR"},
-#ifndef EINVAL
-# define EINVAL -1
-#endif
- {"Invalid argument", EINVAL, "EINVAL"},
-#ifndef ENFILE
-# define ENFILE -1
-#endif
- {"File table overflow", ENFILE, "ENFILE"},
-#ifndef EMFILE
-# define EMFILE -1
-#endif
- {"Too many open files", EMFILE, "EMFILE"},
-#ifndef ENOTTY
-# define ENOTTY -1
-#endif
- {"Not a typewriter", ENOTTY, "ENOTTY"},
-#ifndef ETXTBSY
-# define ETXTBSY -1
-#endif
- {"Text file busy", ETXTBSY, "ETXTBSY"},
-#ifndef EFBIG
-# define EFBIG -1
-#endif
- {"File too large", EFBIG, "EFBIG"},
-#ifndef ENOSPC
-# define ENOSPC -1
-#endif
- {"No space left on device", ENOSPC, "ENOSPC"},
-#ifndef ESPIPE
-# define ESPIPE -1
-#endif
- {"Illegal seek", ESPIPE, "ESPIPE"},
-#ifndef EROFS
-# define EROFS -1
-#endif
- {"Read-only file system", EROFS, "EROFS"},
-#ifndef EMLINK
-# define EMLINK -1
-#endif
- {"Too many links", EMLINK, "EMLINK"},
-#ifndef EPIPE
-# define EPIPE -1
-#endif
- {"Broken pipe", EPIPE, "EPIPE"},
-#ifndef ELOOP
-# define ELOOP -1
-#endif
- {"Too many levels of symbolic links",ELOOP, "ELOOP"},
-#ifndef ENAMETOOLONG
-# define ENAMETOOLONG -1
-#endif
- {"File name too long", ENAMETOOLONG, "ENAMETOOLONG"},
-
- {NULL, 0, NULL}
-};
-
-int _SLerrno_errno;
-
-int SLerrno_set_errno (int sys_errno)
-{
- _SLerrno_errno = sys_errno;
- return 0;
-}
-
-char *SLerrno_strerror (int sys_errno)
-{
- Errno_Map_Type *e;
-
- e = Errno_Map;
- while (e->msg != NULL)
- {
- if (e->sys_errno == sys_errno)
- return e->msg;
-
- e++;
- }
-
- if (sys_errno == SL_ERRNO_NOT_IMPLEMENTED)
- return "System call not available for this platform";
-
- return "Unknown error";
-}
-
-static char *intrin_errno_string (int *sys_errno)
-{
- return SLerrno_strerror (*sys_errno);
-}
-
-int _SLerrno_init (void)
-{
- static Errno_Map_Type *e;
-
- if (e != NULL) /* already initialized */
- return 0;
-
- if ((-1 == SLadd_intrinsic_function ("errno_string", (FVOID_STAR) intrin_errno_string,
- SLANG_STRING_TYPE, 1, SLANG_INT_TYPE))
- || (-1 == SLadd_intrinsic_variable ("errno", (VOID_STAR)&_SLerrno_errno, SLANG_INT_TYPE, 1)))
- return -1;
-
- e = Errno_Map;
- while (e->msg != NULL)
- {
- if (-1 == SLadd_intrinsic_variable (e->symbolic_name, (VOID_STAR) &e->sys_errno, SLANG_INT_TYPE, 1))
- return -1;
- e++;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/slang/slgetkey.c b/mdk-stage1/slang/slgetkey.c
deleted file mode 100644
index 2f2914f07..000000000
--- a/mdk-stage1/slang/slgetkey.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-unsigned int SLang_Input_Buffer_Len = 0;
-unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
-
-int SLang_Abort_Char = 7;
-int SLang_Ignore_User_Abort = 0;
-
-/* This has the effect of mapping all characters in the range 128-169 to
- * ESC [ something
- */
-
-unsigned int SLang_getkey (void)
-{
- unsigned int imax;
- unsigned int ch;
-
- if (SLang_Input_Buffer_Len)
- {
- ch = (unsigned int) *SLang_Input_Buffer;
- SLang_Input_Buffer_Len--;
- imax = SLang_Input_Buffer_Len;
-
- SLMEMCPY ((char *) SLang_Input_Buffer,
- (char *) (SLang_Input_Buffer + 1), imax);
- }
- else if (SLANG_GETKEY_ERROR == (ch = _SLsys_getkey ())) return ch;
-
-#if _SLANG_MAP_VTXXX_8BIT
-# if !defined(IBMPC_SYSTEM)
- if (ch & 0x80)
- {
- unsigned char i;
- i = (unsigned char) (ch & 0x7F);
- if (i < ' ')
- {
- i += 64;
- SLang_ungetkey (i);
- ch = 27;
- }
- }
-# endif
-#endif
- return(ch);
-}
-
-int SLang_ungetkey_string (unsigned char *s, unsigned int n)
-{
- register unsigned char *bmax, *b, *b1;
- if (SLang_Input_Buffer_Len + n + 3 > SL_MAX_INPUT_BUFFER_LEN)
- return -1;
-
- b = SLang_Input_Buffer;
- bmax = (b - 1) + SLang_Input_Buffer_Len;
- b1 = bmax + n;
- while (bmax >= b) *b1-- = *bmax--;
- bmax = b + n;
- while (b < bmax) *b++ = *s++;
- SLang_Input_Buffer_Len += n;
- return 0;
-}
-
-int SLang_buffer_keystring (unsigned char *s, unsigned int n)
-{
-
- if (n + SLang_Input_Buffer_Len + 3 > SL_MAX_INPUT_BUFFER_LEN) return -1;
-
- SLMEMCPY ((char *) SLang_Input_Buffer + SLang_Input_Buffer_Len,
- (char *) s, n);
- SLang_Input_Buffer_Len += n;
- return 0;
-}
-
-int SLang_ungetkey (unsigned char ch)
-{
- return SLang_ungetkey_string(&ch, 1);
-}
-
-int SLang_input_pending (int tsecs)
-{
- int n;
- unsigned char c;
- if (SLang_Input_Buffer_Len) return (int) SLang_Input_Buffer_Len;
-
- n = _SLsys_input_pending (tsecs);
-
- if (n <= 0) return 0;
-
- c = (unsigned char) SLang_getkey ();
- SLang_ungetkey_string (&c, 1);
-
- return n;
-}
-
-void SLang_flush_input (void)
-{
- int quit = SLKeyBoard_Quit;
-
- SLang_Input_Buffer_Len = 0;
- SLKeyBoard_Quit = 0;
- while (_SLsys_input_pending (0) > 0)
- {
- (void) _SLsys_getkey ();
- /* Set this to 0 because _SLsys_getkey may stuff keyboard buffer if
- * key sends key sequence (OS/2, DOS, maybe VMS).
- */
- SLang_Input_Buffer_Len = 0;
- }
- SLKeyBoard_Quit = quit;
-}
-
-#ifdef IBMPC_SYSTEM
-static int Map_To_ANSI;
-int SLgetkey_map_to_ansi (int enable)
-{
- Map_To_ANSI = enable;
- return 0;
-}
-
-static int convert_scancode (unsigned int scan,
- unsigned int shift,
- int getkey,
- unsigned int *ret_key)
-{
- unsigned char buf[16];
- unsigned char *b;
- unsigned char end;
- int is_arrow;
-
- shift &= (_SLTT_KEY_ALT|_SLTT_KEY_SHIFT|_SLTT_KEY_CTRL);
-
- b = buf;
- if (_SLTT_KEY_ALT == shift)
- {
- shift = 0;
- *b++ = 27;
- }
- *b++ = 27;
- *b++ = '[';
-
- is_arrow = 0;
- end = '~';
- if (shift)
- {
- if (shift == _SLTT_KEY_CTRL)
- end = '^';
- else if (shift == _SLTT_KEY_SHIFT)
- end = '$';
- else shift = 0;
- }
-
- /* These mappings correspond to what rxvt produces under Linux */
- switch (scan & 0xFF)
- {
- default:
- return -1;
-
- case 0x47: /* home */
- *b++ = '1';
- break;
- case 0x48: /* up */
- end = 'A';
- is_arrow = 1;
- break;
- case 0x49: /* PgUp */
- *b++ = '5';
- break;
- case 0x4B: /* Left */
- end = 'D';
- is_arrow = 1;
- break;
- case 0x4D: /* Right */
- end = 'C';
- is_arrow = 1;
- break;
- case 0x4F: /* End */
- *b++ = '4';
- break;
- case 0x50: /* Down */
- end = 'B';
- is_arrow = 1;
- break;
- case 0x51: /* PgDn */
- *b++ = '6';
- break;
- case 0x52: /* Insert */
- *b++ = '2';
- break;
- case 0x53: /* Delete */
- *b++ = '3';
- break;
- case ';': /* F1 */
- *b++ = '1';
- *b++ = '1';
- break;
- case '<': /* F2 */
- *b++ = '1';
- *b++ = '2';
- break;
- case '=': /* F3 */
- *b++ = '1';
- *b++ = '3';
- break;
-
- case '>': /* F4 */
- *b++ = '1';
- *b++ = '4';
- break;
-
- case '?': /* F5 */
- *b++ = '1';
- *b++ = '5';
- break;
-
- case '@': /* F6 */
- *b++ = '1';
- *b++ = '7';
- break;
-
- case 'A': /* F7 */
- *b++ = '1';
- *b++ = '8';
- break;
-
- case 'B': /* F8 */
- *b++ = '1';
- *b++ = '9';
- break;
-
- case 'C': /* F9 */
- *b++ = '2';
- *b++ = '0';
- break;
-
- case 'D': /* F10 */
- *b++ = '2';
- *b++ = '1';
- break;
-
- case 0x57: /* F11 */
- *b++ = '2';
- *b++ = '3';
- break;
-
- case 0x58: /* F12 */
- *b++ = '2';
- *b++ = '4';
- break;
- }
-
- if (is_arrow && shift)
- {
- if (shift == _SLTT_KEY_CTRL)
- end &= 0x1F;
- else
- end |= 0x20;
- }
- *b++ = end;
-
- if (getkey)
- {
- (void) SLang_buffer_keystring (buf + 1, (unsigned int) (b - (buf + 1)));
- *ret_key = buf[0];
- return 0;
- }
-
- (void) SLang_buffer_keystring (buf, (unsigned int) (b - buf));
- return 0;
-}
-
-
-unsigned int _SLpc_convert_scancode (unsigned int scan,
- unsigned int shift,
- int getkey)
-{
- unsigned char buf[16];
-
- if (Map_To_ANSI)
- {
- if (0 == convert_scancode (scan, shift, getkey, &scan))
- return scan;
- }
-
- if (getkey)
- {
- buf[0] = scan & 0xFF;
- SLang_buffer_keystring (buf, 1);
- return (scan >> 8) & 0xFF;
- }
- buf[0] = (scan >> 8) & 0xFF;
- buf[1] = scan & 0xFF;
- (void) SLang_buffer_keystring (buf, 2);
- return 0;
-}
-
-#endif
diff --git a/mdk-stage1/slang/slimport.c b/mdk-stage1/slang/slimport.c
deleted file mode 100644
index 44b4b25e1..000000000
--- a/mdk-stage1/slang/slimport.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define SLANG_HAS_DYNAMIC_LINKING 1
-
-#ifndef HAVE_DLFCN_H
-# undef SLANG_HAS_DYNAMIC_LINKING
-# define SLANG_HAS_DYNAMIC_LINKING 0
-#endif
-
-/* The rest of this file is in the if block */
-#if SLANG_HAS_DYNAMIC_LINKING
-
-#ifdef HAVE_DLFCN_H
-# include <dlfcn.h>
-#endif
-
-static char *Module_Path;
-#define MODULE_PATH_ENV_NAME "SLANG_MODULE_PATH"
-#ifndef MODULE_INSTALL_DIR
-# define MODULE_INSTALL_DIR "/usr/local/lib/slang/modules"
-#endif
-
-typedef struct _Handle_Type
-{
- struct _Handle_Type *next;
- char *name;
- VOID_STAR handle;
- void (*deinit_fun) (void);
-}
-Handle_Type;
-
-static Handle_Type *Handle_List;
-
-static void delete_handles (void)
-{
- while (Handle_List != NULL)
- {
- Handle_Type *next = Handle_List->next;
-
- if (Handle_List->deinit_fun != NULL)
- Handle_List->deinit_fun ();
- (void) dlclose (Handle_List->handle);
- SLang_free_slstring (Handle_List->name);
- SLfree ((char *)Handle_List);
- Handle_List = next;
- }
-}
-
-static Handle_Type *save_handle (char *name, VOID_STAR h, void (*df)(void))
-{
- Handle_Type *l;
-
- l = (Handle_Type *) SLmalloc (sizeof (Handle_Type));
- if (l == NULL)
- return NULL;
- memset ((char *) l, 0, sizeof(Handle_Type));
- if (NULL == (l->name = SLang_create_slstring (name)))
- {
- SLfree ((char *) l);
- return NULL;
- }
- l->handle = h;
- l->next = Handle_List;
- l->deinit_fun = df;
- Handle_List = l;
-
- return l;
-}
-
-static Handle_Type *find_handle (char *name)
-{
- Handle_Type *l;
-
- l = Handle_List;
- while (l != NULL)
- {
- if (0 == strcmp (l->name, name))
- break;
- l = l->next;
- }
- return l;
-}
-
-static int import_from_library (char *name,
- char *init_fun_name, char *deinit_fun_name,
- char *file,
- char *ns,
- char *ns_init_fun_name)
-{
- VOID_STAR handle;
- int (*init_fun) (void);
- int (*ns_init_fun) (char *);
- void (*deinit_fun) (void);
- char *err;
- char filebuf[1024];
- char *fun_name;
-
- if (NULL != find_handle (name))
- return 0; /* already loaded */
-
- while (1)
- {
-#ifndef RTLD_GLOBAL
-# define RTLD_GLOBAL 0
-#endif
-#ifdef RTLD_NOW
- handle = (VOID_STAR) dlopen (file, RTLD_NOW | RTLD_GLOBAL);
-#else
- handle = (VOID_STAR) dlopen (file, RTLD_LAZY | RTLD_GLOBAL);
-#endif
-
- if (handle != NULL)
- break;
-
- if (NULL == strchr (file, '/'))
- {
- _SLsnprintf (filebuf, sizeof (filebuf), "./%s", file);
- file = filebuf;
- continue;
- }
-
- if (NULL == (err = (char *) dlerror ()))
- err = "UNKNOWN";
-
- SLang_verror (SL_INTRINSIC_ERROR,
- "Error linking to %s: %s", file, err);
- return -1;
- }
-
- fun_name = ns_init_fun_name;
- ns_init_fun = (int (*)(char *)) dlsym (handle, fun_name);
- if (ns_init_fun == NULL)
- {
- if ((ns != NULL)
- && (0 != strcmp (ns, "Global")))
- goto return_error;
-
- fun_name = init_fun_name;
- init_fun = (int (*)(void)) dlsym (handle, fun_name);
- if (init_fun == NULL)
- goto return_error;
-
- if (-1 == (*init_fun) ())
- {
- dlclose (handle);
- return -1;
- }
- }
- else if (-1 == (*ns_init_fun) (ns))
- {
- dlclose (handle);
- return -1;
- }
-
-
- deinit_fun = (void (*)(void)) dlsym (handle, deinit_fun_name);
-
- (void) save_handle (name, handle, deinit_fun);
- return 0;
-
- return_error:
-
- if (NULL == (err = (char *) dlerror ()))
- err = "UNKNOWN";
-
- dlclose (handle);
- SLang_verror (SL_INTRINSIC_ERROR,
- "Unable to get symbol %s from %s: %s",
- name, file, err);
- return -1;
-}
-
-static void import_module (void)
-{
- char module_name[256];
- char symbol_name[256];
- char deinit_name[256];
- char ns_init_name[256];
- char *path;
- char *file;
- char *module;
- char *ns = NULL;
-
- if (SLang_Num_Function_Args == 2)
- {
- if (-1 == SLang_pop_slstring (&ns))
- return;
- }
-
- if (-1 == SLang_pop_slstring (&module))
- {
- SLang_free_slstring (ns); /* NULL ok */
- return;
- }
-
- _SLsnprintf (symbol_name, sizeof(symbol_name), "init_%s_module", module);
- _SLsnprintf (module_name, sizeof(module_name), "%s-module.so", module);
- _SLsnprintf (deinit_name, sizeof(deinit_name), "deinit_%s_module", module);
- _SLsnprintf (ns_init_name, sizeof (ns_init_name), "init_%s_module_ns", module);
-
- if (Module_Path != NULL)
- file = SLpath_find_file_in_path (Module_Path, module_name);
- else file = NULL;
-
- if ((file == NULL)
- && (NULL != (path = getenv (MODULE_PATH_ENV_NAME))))
- file = SLpath_find_file_in_path (path, module_name);
-
- if (file == NULL)
- file = SLpath_find_file_in_path (MODULE_INSTALL_DIR, module_name);
-
- if (file != NULL)
- {
- (void) import_from_library (symbol_name, symbol_name, deinit_name, file, ns, ns_init_name);
- SLfree (file);
- }
- else
- {
- /* Maybe the system loader can find it in LD_LIBRARY_PATH */
- (void) import_from_library (symbol_name, symbol_name, deinit_name, module_name, ns, ns_init_name);
- }
-}
-
-static void set_import_module_path (char *path)
-{
- (void) SLang_set_module_load_path (path);
-}
-
-static char *get_import_module_path (void)
-{
- char *path;
- if (Module_Path != NULL)
- return Module_Path;
- if (NULL != (path = getenv (MODULE_PATH_ENV_NAME)))
- return path;
- return MODULE_INSTALL_DIR;
-}
-
-static SLang_Intrin_Fun_Type Module_Intrins [] =
-{
- MAKE_INTRINSIC_0("import", import_module, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("set_import_module_path", set_import_module_path, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("get_import_module_path", get_import_module_path, SLANG_STRING_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-#endif /* SLANG_HAS_DYNAMIC_LINKING */
-
-int SLang_set_module_load_path (char *path)
-{
-#if SLANG_HAS_DYNAMIC_LINKING
- if (NULL == (path = SLang_create_slstring (path)))
- return -1;
- SLang_free_slstring (Module_Path);
- Module_Path = path;
- return 0;
-#else
- (void) path;
- return -1;
-#endif
-}
-
-int SLang_init_import (void)
-{
-#if SLANG_HAS_DYNAMIC_LINKING
- (void) SLang_add_cleanup_function (delete_handles);
- return SLadd_intrin_fun_table (Module_Intrins, "__IMPORT__");
-#else
- return 0;
-#endif
-}
diff --git a/mdk-stage1/slang/slinclud.h b/mdk-stage1/slang/slinclud.h
deleted file mode 100644
index d60a4423e..000000000
--- a/mdk-stage1/slang/slinclud.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _SLANG_INCLUDE_H_
-#define _SLANG_INCLUDE_H_
-
-#include "config.h"
-#include "sl-feat.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifdef HAVE_MALLOC_H
-# include <malloc.h>
-#endif
-
-#ifdef HAVE_MEMORY_H
-# include <memory.h>
-#endif
-
-#endif /* _SLANG_INCLUDE_H_ */
diff --git a/mdk-stage1/slang/slintall.c b/mdk-stage1/slang/slintall.c
deleted file mode 100644
index a66b9d6d2..000000000
--- a/mdk-stage1/slang/slintall.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_init_all (void)
-{
- if ((-1 == SLang_init_slang ())
- || (-1 == SLang_init_slmath ())
- || (-1 == SLang_init_posix_dir ())
- || (-1 == SLang_init_posix_process ())
- || (-1 == SLang_init_stdio ())
- || (-1 == SLang_init_array ())
- || (-1 == SLang_init_posix_io ())
- || (-1 == SLang_init_ospath ())
- )
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slistruc.c b/mdk-stage1/slang/slistruc.c
deleted file mode 100644
index 06b8fd6ff..000000000
--- a/mdk-stage1/slang/slistruc.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Intrinsic Structure type implementation */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Intrinsic structures */
-
-typedef struct
-{
- char *name;
- VOID_STAR addr;
- SLang_IStruct_Field_Type *fields;
-}
-_SLang_IStruct_Type;
-
-static SLang_IStruct_Field_Type *istruct_pop_field (char *name, int no_readonly, VOID_STAR *addr)
-{
- _SLang_IStruct_Type *s;
- SLang_IStruct_Field_Type *f;
- char *struct_addr;
-
- /* Note: There is no need to free this object */
- if (-1 == SLclass_pop_ptr_obj (SLANG_ISTRUCT_TYPE, (VOID_STAR *) &s))
- return NULL;
-
- if (NULL == (struct_addr = *(char **)s->addr))
- {
- SLang_verror (SL_INTRINSIC_ERROR,
- "%s is NULL. Unable to access field", s->name);
- return NULL;
- }
-
- f = s->fields;
- while (f->field_name != NULL)
- {
- /* Since both these are slstrings, just test pointers */
- if (f->field_name != name)
- {
- f++;
- continue;
- }
-
- if (no_readonly && f->read_only)
- {
- SLang_verror (SL_READONLY_ERROR,
- "%s.%s is read-only", s->name, name);
- return NULL;
- }
-
- *addr = (VOID_STAR) (struct_addr + f->offset);
- return f;
- }
-
- SLang_verror (SL_TYPE_MISMATCH,
- "%s has no field called %s", s->name, name);
- return NULL;
-}
-
-static int istruct_sget (unsigned char type, char *name)
-{
- SLang_IStruct_Field_Type *f;
- VOID_STAR addr;
- SLang_Class_Type *cl;
-
- if (NULL == (f = istruct_pop_field (name, 0, &addr)))
- return -1;
-
- type = f->type;
- cl = _SLclass_get_class (type);
-
- return (cl->cl_push_intrinsic)(f->type, addr);
-}
-
-static int istruct_sput (unsigned char type, char *name)
-{
- SLang_IStruct_Field_Type *f;
- VOID_STAR addr;
- SLang_Class_Type *cl;
-
- if (NULL == (f = istruct_pop_field (name, 1, &addr)))
- return -1;
-
- type = f->type;
- cl = _SLclass_get_class (type);
-
- return (*cl->cl_pop) (type, addr);
-}
-
-static int istruct_push (unsigned char type, VOID_STAR ptr)
-{
- _SLang_IStruct_Type *s;
-
- s = *(_SLang_IStruct_Type **) ptr;
- if ((s == NULL)
- || (s->addr == NULL)
- || (*(char **) s->addr == NULL))
- return SLang_push_null ();
-
- return SLclass_push_ptr_obj (type, (VOID_STAR) s);
-}
-
-static int istruct_pop (unsigned char type, VOID_STAR ptr)
-{
- return SLclass_pop_ptr_obj (type, (VOID_STAR *)ptr);
-}
-
-static void istruct_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- (void) ptr;
-}
-
-/* Intrinsic struct objects are not stored in a variable. So, the address that
- * is passed here is actually a pointer to the struct. So, pass its address
- * to istruct_push since v is a variable. Confusing, n'est pas?
- */
-static int istruct_push_intrinsic (unsigned char type, VOID_STAR v)
-{
- return istruct_push (type, (VOID_STAR) &v);
-}
-
-static int init_intrin_struct (void)
-{
- SLang_Class_Type *cl;
- static int initialized;
-
- if (initialized)
- return 0;
-
- if (NULL == (cl = SLclass_allocate_class ("IStruct_Type")))
- return -1;
-
- cl->cl_pop = istruct_pop;
- cl->cl_push = istruct_push;
- cl->cl_sget = istruct_sget;
- cl->cl_sput = istruct_sput;
- cl->cl_destroy = istruct_destroy;
- cl->cl_push_intrinsic = istruct_push_intrinsic;
-
- if (-1 == SLclass_register_class (cl, SLANG_ISTRUCT_TYPE, sizeof (_SLang_IStruct_Type *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- initialized = 1;
- return 0;
-}
-
-int SLadd_istruct_table (SLang_IStruct_Field_Type *fields, VOID_STAR addr, char *name)
-{
- _SLang_IStruct_Type *s;
- SLang_IStruct_Field_Type *f;
-
- if (-1 == init_intrin_struct ())
- return -1;
-
- if (addr == NULL)
- {
- SLang_verror (SL_INVALID_PARM,
- "SLadd_istruct_table: address must be non-NULL");
- return -1;
- }
-
- if (fields == NULL)
- return -1;
-
- /* Make the field names slstrings so that only the pointers need to be
- * compared. However, this table may have been already been added for
- * another instance of the intrinsic object. So, check for the presence
- * of an slstring.
- */
- f = fields;
- while (f->field_name != NULL)
- {
- char *fname;
-
- fname = SLang_create_slstring (f->field_name);
- if (fname == NULL)
- return -1;
-
- /* Here is the check for the slstring */
- if (f->field_name == fname)
- SLang_free_slstring (fname);
- else /* replace string literal with slstring */
- f->field_name = fname;
-
- f++;
- }
-
- s = (_SLang_IStruct_Type *)SLmalloc (sizeof (_SLang_IStruct_Type));
- if (s == NULL)
- return -1;
-
- memset ((char *)s, 0, sizeof (_SLang_IStruct_Type));
- if (NULL == (s->name = SLang_create_slstring (name)))
- {
- SLfree ((char *) s);
- return -1;
- }
-
- s->addr = addr;
- s->fields = fields;
-
- if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) s, SLANG_ISTRUCT_TYPE, 1))
- {
- SLang_free_slstring (s->name);
- SLfree ((char *) s);
- return -1;
- }
-
- return 0;
-}
diff --git a/mdk-stage1/slang/slkeymap.c b/mdk-stage1/slang/slkeymap.c
deleted file mode 100644
index dff65433e..000000000
--- a/mdk-stage1/slang/slkeymap.c
+++ /dev/null
@@ -1,596 +0,0 @@
-/* Keymap routines for SLang. The role of these keymap routines is simple:
- * Just read keys from the tty and return a pointer to a keymap structure.
- * That is, a keymap is simple a mapping of strings (keys from tty) to
- * structures. Also included are routines for managing the keymaps.
- */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* We need a define a rule for upperand lower case chars that user cannot
- change! This could be a problem for international chars! */
-
-#define UPPER_CASE_KEY(x) (((x) >= 'a') && ((x) <= 'z') ? (x) - 32 : (x))
-#define LOWER_CASE_KEY(x) (((x) >= 'A') && ((x) <= 'Z') ? (x) + 32 : (x))
-
-int SLang_Key_TimeOut_Flag = 0; /* true if more than 1 sec has elapsed
- without key in multikey sequence */
-
-int SLang_Last_Key_Char;
-
-SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
-
-static SLang_Key_Type *malloc_key(unsigned char *str)
-{
- SLang_Key_Type *neew;
-
- if (NULL == (neew = (SLang_Key_Type *) SLmalloc(sizeof(SLang_Key_Type))))
- return NULL;
-
- SLMEMSET ((char *) neew, 0, sizeof (SLang_Key_Type));
- SLMEMCPY((char *) neew->str, (char *) str, (unsigned int) *str);
- return(neew);
-}
-
-static SLKeyMap_List_Type *add_keymap (char *name, SLang_Key_Type *map)
-{
- int i;
-
- for (i = 0; i < SLANG_MAX_KEYMAPS; i++)
- {
- if (SLKeyMap_List[i].keymap == NULL)
- {
- if (NULL == (name = SLang_create_slstring (name)))
- return NULL;
-
- SLKeyMap_List[i].keymap = map;
- SLKeyMap_List[i].name = name;
- return &SLKeyMap_List[i];
- }
- }
- SLang_Error = SL_UNKNOWN_ERROR;
- /* SLang_doerror ("Keymap quota exceeded."); */
- return NULL;
-}
-
-FVOID_STAR SLang_find_key_function(char *name, SLKeyMap_List_Type *keymap)
-{
- SLKeymap_Function_Type *fp = keymap -> functions;
- char ch = *name;
-
- while ((fp != NULL) && (fp->name != NULL))
- {
- if ((ch == *fp->name)
- && (0 == strcmp(fp->name, name)))
- return (FVOID_STAR) fp->f;
-
- fp++;
- }
- return NULL;
-}
-
-#ifdef REAL_UNIX_SYSTEM
-/* Expand termcap string specified by s. s as passed will have the format:
- * "XY)..." where XY represents a termcap keyname.
- */
-static char *process_termcap_string (char *s, char *str, int *ip, int imax)
-{
- char c[3], *val;
- int i;
-
- if ((0 == (c[0] = s[0]))
- || (0 == (c[1] = s[1]))
- || (s[2] != ')'))
- {
- SLang_verror (SL_SYNTAX_ERROR, "setkey: ^(%s is badly formed", s);
- return NULL;
- }
- s += 3;
-
- c[2] = 0;
- if ((NULL == (val = SLtt_tgetstr (c)))
- || (*val == 0))
- return NULL;
-
- i = *ip;
- while ((i < imax) && (*val != 0))
- {
- str[i++] = *val++;
- }
- *ip = i;
-
- return s;
-}
-#endif
-
-/* convert things like "^A" to 1 etc... The 0th char is the strlen INCLUDING
- * the length character itself.
- */
-char *SLang_process_keystring(char *s)
-{
- /* FIXME: v2.0, make this thread safe */
- static char str[32];
- unsigned char ch;
- int i;
-
- i = 1;
- while (*s != 0)
- {
- ch = (unsigned char) *s++;
- if (ch == '^')
- {
- ch = *s++;
- if (ch == 0)
- {
- if (i < 32)
- str[i++] = '^';
- break;
- }
-#ifdef REAL_UNIX_SYSTEM
- if (ch == '(')
- {
- s = process_termcap_string (s, str, &i, 32);
- if (s == NULL)
- {
- str[0] = 1;
- return str;
- }
- continue;
- }
-#endif
- ch = UPPER_CASE_KEY(ch);
- if (ch == '?') ch = 127; else ch = ch - 'A' + 1;
- }
-
- if (i >= 32) break;
- str[i++] = ch;
- }
-
- if (i > SLANG_MAX_KEYMAP_KEY_SEQ)
- {
- SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
- return NULL;
- }
-
- str[0] = i;
- return(str);
-}
-
-static int key_string_compare (unsigned char *a, unsigned char *b, unsigned int len)
-{
- unsigned char *amax = a + len;
- int cha, chb, cha_up, chb_up;
-
- while (a < amax)
- {
- cha = *a++;
- chb = *b++;
-
- if (cha == chb) continue;
-
- cha_up = UPPER_CASE_KEY(cha);
- chb_up = UPPER_CASE_KEY(chb);
-
- if (cha_up == chb_up)
- {
- /* Use case-sensitive result. */
- return cha - chb;
- }
- /* Use case-insensitive result. */
- return cha_up - chb_up;
- }
- return 0;
-}
-
-static char *Define_Key_Error = "Inconsistency in define key.";
-
-/* This function also performs an insertion in an ordered way. */
-static int find_the_key (char *s, SLKeyMap_List_Type *kml, SLang_Key_Type **keyp)
-{
- unsigned char ch;
- unsigned int str_len;
- SLang_Key_Type *key, *last, *neew;
- unsigned char *str;
-
- *keyp = NULL;
-
- if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
- return -2;
-
- if (1 == (str_len = str[0]))
- return 0;
-
- ch = str[1];
- key = kml->keymap + ch;
-
- if (str_len == 2)
- {
- if (key->next != NULL)
- {
- SLang_doerror (Define_Key_Error);
- return -2;
- }
-
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- key->str[0] = str_len;
- key->str[1] = ch;
-
- *keyp = key;
- return 0;
- }
-
- /* insert the key definition */
- while (1)
- {
- int cmp;
- unsigned int key_len, len;
-
- last = key;
- key = key->next;
-
- if ((key != NULL) && (key->str != NULL))
- {
- len = key_len = key->str[0];
- if (len > str_len) len = str_len;
-
- cmp = key_string_compare (str + 1, key->str + 1, len - 1);
-
- if (cmp > 0)
- continue;
-
- if (cmp == 0)
- {
- if (key_len != str_len)
- {
- SLang_doerror (Define_Key_Error);
- return -2;
- }
-
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- *keyp = key;
- return 0;
- }
- /* Drop to cmp < 0 case */
- }
-
- if (NULL == (neew = malloc_key(str))) return -1;
-
- neew -> next = key;
- last -> next = neew;
-
- *keyp = neew;
- return 0;
- }
-}
-
-/* returns -2 if inconsistent, -1 if malloc error, 0 upon success */
-int SLkm_define_key (char *s, FVOID_STAR f, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- unsigned int type = SLKEY_F_INTRINSIC;
- int ret;
-
- ret = find_the_key (s, kml, &key);
- if ((ret != 0) || (key == NULL))
- return ret;
-
- key->type = type;
- key->f.f = f;
- return 0;
-}
-
-int SLang_define_key (char *s, char *funct, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- FVOID_STAR f;
- int ret;
-
- ret = find_the_key (s, kml, &key);
- if ((ret != 0) || (key == NULL))
- return ret;
-
- f = SLang_find_key_function(funct, kml);
-
- if (f == NULL) /* assume interpreted */
- {
- char *str = SLang_create_slstring (funct);
- if (str == NULL) return -1;
- key->type = SLKEY_F_INTERPRET;
- key->f.s = str;
- }
- else
- {
- key->type = SLKEY_F_INTRINSIC;
- key->f.f = f;
- }
- return 0;
-}
-
-int SLkm_define_keysym (char *s, unsigned int keysym, SLKeyMap_List_Type *kml)
-{
- SLang_Key_Type *key;
- int ret;
-
- ret = find_the_key (s, kml, &key);
-
- if ((ret != 0) || (key == NULL))
- return ret;
-
- key->type = SLKEY_F_KEYSYM;
- key->f.keysym = keysym;
- return 0;
-}
-
-SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *kml, int (*getkey)(void))
-{
- register SLang_Key_Type *key, *next, *kmax;
- unsigned int len;
- unsigned char input_ch;
- register unsigned char chup, chlow;
- unsigned char key_ch = 0;
-
- SLang_Last_Key_Char = (*getkey)();
- SLang_Key_TimeOut_Flag = 0;
-
- if (SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
- return NULL;
-
- input_ch = (unsigned char) SLang_Last_Key_Char;
-
- key = (SLang_Key_Type *) &((kml->keymap)[input_ch]);
-
- /* if the next one is null, then we know this MAY be it. */
- while (key->next == NULL)
- {
- if (key->type != 0)
- return key;
-
- /* Try its opposite case counterpart */
- chlow = LOWER_CASE_KEY(input_ch);
- if (input_ch == chlow)
- input_ch = UPPER_CASE_KEY(input_ch);
-
- key = kml->keymap + input_ch;
- if (key->type == 0)
- return NULL;
- }
-
- /* It appears to be a prefix character in a key sequence. */
-
- len = 1; /* already read one character */
- key = key->next; /* Now we are in the key list */
- kmax = NULL; /* set to end of list */
-
- while (1)
- {
- SLang_Key_TimeOut_Flag = 1;
- SLang_Last_Key_Char = (*getkey)();
- SLang_Key_TimeOut_Flag = 0;
-
- len++;
-
- if ((SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
- || SLKeyBoard_Quit)
- break;
-
- input_ch = (unsigned char) SLang_Last_Key_Char;
-
- chup = UPPER_CASE_KEY(input_ch); chlow = LOWER_CASE_KEY(input_ch);
-
- while (key != kmax)
- {
- if (key->str[0] > len)
- {
- key_ch = key->str[len];
- if (chup == UPPER_CASE_KEY(key_ch))
- break;
- }
- key = key->next;
- }
-
- if (key == kmax) break;
-
- /* If the input character is lowercase, check to see if there is
- * a lowercase match. If so, set key to it. Note: the
- * algorithm assumes the sorting performed by key_string_compare.
- */
- if (input_ch != key_ch)
- {
- next = key->next;
- while (next != kmax)
- {
- if (next->str[0] > len)
- {
- unsigned char next_ch = next->str[len];
- if (next_ch == input_ch)
- {
- key = next;
- break;
- }
- if (next_ch != chup)
- break;
- }
- next = next->next;
- }
- }
-
- /* Ok, we found the first position of a possible match. If it
- * is exact, we are done.
- */
- if ((unsigned int) key->str[0] == len + 1)
- return key;
-
- /* Apparantly, there are some ambiguities. Read next key to resolve
- * the ambiguity. Adjust kmax to encompass ambiguities.
- */
-
- next = key->next;
- while (next != kmax)
- {
- if ((unsigned int) next->str[0] > len)
- {
- key_ch = next->str[len];
- if (chup != UPPER_CASE_KEY(key_ch))
- break;
- }
- next = next->next;
- }
- kmax = next;
- }
-
- return NULL;
-}
-
-void SLang_undefine_key(char *s, SLKeyMap_List_Type *kml)
-{
- int n, i;
- SLang_Key_Type *key, *next, *last, *key_root, *keymap;
- unsigned char *str;
-
- keymap = kml -> keymap;
- if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
- return;
-
- if (0 == (n = *str++ - 1)) return;
- i = *str;
-
- last = key_root = (SLang_Key_Type *) &(keymap[i]);
- key = key_root->next;
-
- while (key != NULL)
- {
- next = key->next;
- if (0 == SLMEMCMP ((char *)(key->str + 1), (char *) str, n))
- {
- if (key->type == SLKEY_F_INTERPRET)
- SLang_free_slstring (key->f.s);
-
- SLfree((char *) key);
- last->next = next;
- }
- else last = key;
- key = next;
- }
-
- if (n == 1)
- {
- *key_root->str = 0;
- key_root->f.f = NULL;
- key_root->type = 0;
- }
-}
-
-char *SLang_make_keystring(unsigned char *s)
-{
- static char buf [3 * SLANG_MAX_KEYMAP_KEY_SEQ + 1];
- char *b;
- int n;
-
- n = *s++ - 1;
-
- if (n > SLANG_MAX_KEYMAP_KEY_SEQ)
- {
- SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
- return NULL;
- }
-
- b = buf;
- while (n--)
- {
- if (*s < 32)
- {
- *b++ = '^';
- *b++ = *s + 'A' - 1;
- }
- else *b++ = *s;
- s++;
- }
- *b = 0;
- return(buf);
-}
-
-static SLang_Key_Type *copy_keymap(SLKeyMap_List_Type *kml)
-{
- int i;
- SLang_Key_Type *neew, *old, *new_root, *km;
-
- if (NULL == (new_root = (SLang_Key_Type *) SLcalloc(256, sizeof(SLang_Key_Type))))
- return NULL;
-
- if (kml == NULL) return new_root;
- km = kml->keymap;
-
- for (i = 0; i < 256; i++)
- {
- old = &(km[i]);
- neew = &(new_root[i]);
-
- if (old->type == SLKEY_F_INTERPRET)
- neew->f.s = SLang_create_slstring (old->f.s);
- else
- neew->f.f = old->f.f;
-
- neew->type = old->type;
- SLMEMCPY((char *) neew->str, (char *) old->str, (unsigned int) *old->str);
-
- old = old->next;
- while (old != NULL)
- {
- neew->next = malloc_key((unsigned char *) old->str);
- neew = neew->next;
-
- if (old->type == SLKEY_F_INTERPRET)
- neew->f.s = SLang_create_slstring (old->f.s);
- else
- neew->f.f = old->f.f;
-
- neew->type = old->type;
- old = old->next;
- }
- neew->next = NULL;
- }
- return(new_root);
-}
-
-SLKeyMap_List_Type *SLang_create_keymap(char *name, SLKeyMap_List_Type *map)
-{
- SLang_Key_Type *neew;
- SLKeyMap_List_Type *new_map;
-
- if ((NULL == (neew = copy_keymap(map)))
- || (NULL == (new_map = add_keymap(name, neew)))) return NULL;
-
- if (map != NULL) new_map -> functions = map -> functions;
-
- return new_map;
-}
-
-SLKeyMap_List_Type *SLang_find_keymap(char *name)
-{
- SLKeyMap_List_Type *kmap, *kmap_max;
-
- kmap = SLKeyMap_List;
- kmap_max = kmap + SLANG_MAX_KEYMAPS;
-
- while (kmap < kmap_max)
- {
- if ((kmap->name != NULL)
- && (0 == strcmp (kmap->name, name)))
- return kmap;
-
- kmap++;
- }
- return NULL;
-}
diff --git a/mdk-stage1/slang/slkeypad.c b/mdk-stage1/slang/slkeypad.c
deleted file mode 100644
index 524dc80fa..000000000
--- a/mdk-stage1/slang/slkeypad.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLKeyMap_List_Type *Keymap_List;
-
-int SLkp_init (void)
-{
- char esc_seq[10];
- int i;
-
- if (NULL == (Keymap_List = SLang_create_keymap ("_SLKeypad", NULL)))
- return -1;
-
- esc_seq[1] = 0;
- for (i = 1; i < 256; i++)
- {
- esc_seq[0] = (char) i;
- SLkm_define_keysym (esc_seq, i, Keymap_List);
- }
-
- /* Now add most common ones. */
-#ifndef IBMPC_SYSTEM
- SLkm_define_keysym ("^@", 0, Keymap_List);
-
- SLkm_define_keysym ("\033[A", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("\033OA", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("\033[B", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("\033OB", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("\033[C", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("\033OC", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("\033[D", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("\033OD", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("\033[2~", SL_KEY_IC, Keymap_List);
- SLkm_define_keysym ("\033[7~", SL_KEY_HOME, Keymap_List);
- SLkm_define_keysym ("\033[5~", SL_KEY_PPAGE, Keymap_List);
- SLkm_define_keysym ("\033[6~", SL_KEY_NPAGE, Keymap_List);
- SLkm_define_keysym ("\033[8~", SL_KEY_END, Keymap_List);
- SLkm_define_keysym ("\033[3~", SL_KEY_DELETE, Keymap_List);
-#else
- /* Note: This will not work if SLgetkey_map_to_ansi (1) has
- * been called.
- */
- SLkm_define_keysym ("^@\x48", SL_KEY_UP, Keymap_List );
- SLkm_define_keysym ("^@\x50", SL_KEY_DOWN, Keymap_List );
- SLkm_define_keysym ("^@\x4d", SL_KEY_RIGHT, Keymap_List );
- SLkm_define_keysym ("^@\x4b", SL_KEY_LEFT, Keymap_List );
- SLkm_define_keysym ("^@\x47", SL_KEY_HOME, Keymap_List );
- SLkm_define_keysym ("^@\x49", SL_KEY_PPAGE, Keymap_List );
- SLkm_define_keysym ("^@\x51", SL_KEY_NPAGE, Keymap_List );
- SLkm_define_keysym ("^@\x4f", SL_KEY_END, Keymap_List );
- SLkm_define_keysym ("^@\x52", SL_KEY_IC, Keymap_List );
- SLkm_define_keysym ("^@\x53", SL_KEY_DELETE, Keymap_List );
-
- SLkm_define_keysym ("\xE0\x48", SL_KEY_UP, Keymap_List );
- SLkm_define_keysym ("\xE0\x50", SL_KEY_DOWN, Keymap_List );
- SLkm_define_keysym ("\xE0\x4d", SL_KEY_RIGHT, Keymap_List );
- SLkm_define_keysym ("\xE0\x4b", SL_KEY_LEFT, Keymap_List );
- SLkm_define_keysym ("\xE0\x47", SL_KEY_HOME, Keymap_List );
- SLkm_define_keysym ("\xE0\x49", SL_KEY_PPAGE, Keymap_List );
- SLkm_define_keysym ("\xE0\x51", SL_KEY_NPAGE, Keymap_List );
- SLkm_define_keysym ("\xE0\x4f", SL_KEY_END, Keymap_List );
- SLkm_define_keysym ("\xE0\x52", SL_KEY_IC, Keymap_List );
- SLkm_define_keysym ("\xE0\x53", SL_KEY_DELETE, Keymap_List );
-
- strcpy (esc_seq, "^@ "); /* guarantees esc_seq[3] = 0. */
-
- for (i = 0x3b; i < 0x45; i++)
- {
- esc_seq [2] = i;
- SLkm_define_keysym (esc_seq, SL_KEY_F(i - 0x3a), Keymap_List);
- }
- esc_seq[2] = 0x57; SLkm_define_keysym (esc_seq, SL_KEY_F(11), Keymap_List);
- esc_seq[2] = 0x58; SLkm_define_keysym (esc_seq, SL_KEY_F(12), Keymap_List);
-#endif
-
-#ifdef REAL_UNIX_SYSTEM
- strcpy (esc_seq, "^(kX)");
- for (i = 0; i <= 9; i++)
- {
- esc_seq[3] = '0' + i;
- SLkm_define_keysym (esc_seq, SL_KEY_F(i), Keymap_List);
- }
- SLkm_define_keysym ("^(k;)", SL_KEY_F(10), Keymap_List);
-
- SLkm_define_keysym ("^(ku)", SL_KEY_UP, Keymap_List);
- SLkm_define_keysym ("^(kd)", SL_KEY_DOWN, Keymap_List);
- SLkm_define_keysym ("^(kl)", SL_KEY_LEFT, Keymap_List);
- SLkm_define_keysym ("^(kr)", SL_KEY_RIGHT, Keymap_List);
- SLkm_define_keysym ("^(kP)", SL_KEY_PPAGE, Keymap_List);
- SLkm_define_keysym ("^(kN)", SL_KEY_NPAGE, Keymap_List);
- SLkm_define_keysym ("^(kh)", SL_KEY_HOME, Keymap_List);
- SLkm_define_keysym ("^(@7)", SL_KEY_END, Keymap_List);
- SLkm_define_keysym ("^(K1)", SL_KEY_A1, Keymap_List);
- SLkm_define_keysym ("^(K3)", SL_KEY_A3, Keymap_List);
- SLkm_define_keysym ("^(K2)", SL_KEY_B2, Keymap_List);
- SLkm_define_keysym ("^(K4)", SL_KEY_C1, Keymap_List);
- SLkm_define_keysym ("^(K5)", SL_KEY_C3, Keymap_List);
- SLkm_define_keysym ("^(%0)", SL_KEY_REDO, Keymap_List);
- SLkm_define_keysym ("^(&8)", SL_KEY_UNDO, Keymap_List);
- SLkm_define_keysym ("^(kb)", SL_KEY_BACKSPACE, Keymap_List);
- SLkm_define_keysym ("^(@8)", SL_KEY_ENTER, Keymap_List);
- SLkm_define_keysym ("^(kD)", SL_KEY_DELETE, Keymap_List);
-#endif
-
- if (SLang_Error)
- return -1;
- return 0;
-}
-
-int SLkp_getkey (void)
-{
- SLang_Key_Type *key;
-
- key = SLang_do_key (Keymap_List, (int (*)(void)) SLang_getkey);
- if ((key == NULL) || (key->type != SLKEY_F_KEYSYM))
- {
- SLang_flush_input ();
- return SL_KEY_ERR;
- }
-
- return key->f.keysym;
-}
-
-int SLkp_define_keysym (char *keystr, unsigned int keysym)
-{
- if (SLkm_define_keysym (keystr, keysym, Keymap_List) < 0)
- return -1;
-
- return 0;
-}
-
-#if 0
-int main (int argc, char **argv)
-{
- int ch;
-
- SLtt_get_terminfo ();
-
- if (-1 == SLkp_init ())
- return 1;
-
- SLang_init_tty (-1, 0, 0);
-
- while ('q' != (ch = SLkp_getkey ()))
- {
- fprintf (stdout, "Keycode = %d\r\n", ch);
- fflush (stdout);
- }
-
- SLang_reset_tty ();
-
- return 0;
-}
-#endif
-
diff --git a/mdk-stage1/slang/sllimits.h b/mdk-stage1/slang/sllimits.h
deleted file mode 100644
index c4ae03b83..000000000
--- a/mdk-stage1/slang/sllimits.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-/* sllimits.h */
-
-/* slstring.c: Size of the hash table used for strings (prime numbers) */
-#ifdef __MSDOS_16BIT__
-# define SLSTRING_HASH_TABLE_SIZE 601
-# define SLASSOC_HASH_TABLE_SIZE 601
-#else
-# define SLSTRING_HASH_TABLE_SIZE 2909
-# define SLASSOC_HASH_TABLE_SIZE 2909
-#endif
-
-/* slang.c: maximum size of run time stack */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_STACK_LEN 500
-#else
-# define SLANG_MAX_STACK_LEN 2500
-#endif
-
-/* slang.c: This sets the size on the depth of function calls */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_RECURSIVE_DEPTH 50
-#else
-# define SLANG_MAX_RECURSIVE_DEPTH 250
-#endif
-
-/* slang.c: Size of the stack used for local variables */
-#ifdef __MSDOS_16BIT__
-# define SLANG_MAX_LOCAL_STACK 200
-#else
-# define SLANG_MAX_LOCAL_STACK 1024
-#endif
-
-/* slang.c: The size of the hash table used for local and global objects.
- * These should be prime numbers.
- */
-#define SLGLOBALS_HASH_TABLE_SIZE 2909
-#define SLLOCALS_HASH_TABLE_SIZE 73
-#define SLSTATIC_HASH_TABLE_SIZE 73
-
-/* Size of the keyboard buffer use by the ungetkey routines */
-#ifdef __MSDOS_16BIT__
-# define SL_MAX_INPUT_BUFFER_LEN 40
-#else
-# define SL_MAX_INPUT_BUFFER_LEN 1024
-#endif
-
-/* Maximum number of nested switch statements */
-#define SLANG_MAX_NESTED_SWITCH 10
-
-/* Size of the block stack (used in byte-compiling) */
-#define SLANG_MAX_BLOCK_STACK_LEN 50
-
-/* slfile.c: Max number of open file pointers */
-#ifdef __MSDOS_16BIT__
-# define SL_MAX_FILES 32
-#else
-# define SL_MAX_FILES 256
-#endif
diff --git a/mdk-stage1/slang/slmalloc.c b/mdk-stage1/slang/slmalloc.c
deleted file mode 100644
index be4ed6cae..000000000
--- a/mdk-stage1/slang/slmalloc.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#ifdef SL_MALLOC_DEBUG
-# undef SL_MALLOC_DEBUG
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef __alpha
-# define Chunk 8
-#else
-# define Chunk 4
-#endif
-
-static long Total_Allocated;
-static long Max_Single_Allocation;
-static long Max_Allocated;
-/* #define SLDEBUG_DOUT */
-
-#ifdef SLDEBUG_DOUT
-static FILE *dout;
-#endif
-
-void SLmalloc_dump_statistics (void)
-{
-#ifdef SLDEBUG_DOUT
- fflush (dout);
-#endif
- fprintf (stderr, "Total Allocated: %ld\nHighest single allocation: %ld\nHighest Total Allocated:%ld\n",
- Total_Allocated, Max_Single_Allocation, Max_Allocated);
-}
-
-static void register_at_exit_fun (void)
-{
- static int is_registered = 0;
- if (is_registered)
- return;
- is_registered = 1;
-
-#ifdef SLDEBUG_DOUT
- if (dout == NULL) dout = fopen ("malloc.out", "w");
-#endif
- SLang_add_cleanup_function (SLmalloc_dump_statistics);
-}
-
-static void fixup (unsigned char *p, unsigned long n, char *what)
-{
- register_at_exit_fun ();
-
- p += Chunk;
- *(p - 4)= (unsigned char) ((n >> 24) & 0xFF);
- *(p - 3) = (unsigned char) ((n >> 16) & 0xFF);
- *(p - 2) = (unsigned char) ((n >> 8) & 0xFF);
- *(p - 1) = (unsigned char) (n & 0xFF);
- *(p + (int) n) = 27;
- *(p + (int) (n + 1)) = 182;
- *(p + (int) (n + 2)) = 81;
- *(p + (int) (n + 3)) = 86;
- Total_Allocated += (long) n;
- if (Total_Allocated > Max_Allocated) Max_Allocated = Total_Allocated;
- if ((long) n > Max_Single_Allocation)
- Max_Single_Allocation = (long) n;
-
-#ifdef SLDEBUG_DOUT
- fprintf (dout, "ALLOC: %s\t%p %ld\n", what, p, (long) n);
-#else
- (void) what;
-#endif
-}
-
-static void SLmalloc_doerror (char *buf)
-{
- SLang_doerror (buf);
-}
-
-static int check_memory (unsigned char *p, char *what)
-{
- char buf[128];
- unsigned long n;
-
- register_at_exit_fun ();
-
- n = ((unsigned long) *(p - 4)) << 24;
- n |= ((unsigned long) *(p - 3)) << 16;
- n |= ((unsigned long) *(p - 2)) << 8;
- n |= (unsigned long) *(p - 1);
-
- if (n == 0xFFFFFFFFUL)
- {
- sprintf (buf, "%s: %p: Already FREE! Abort NOW.", what, (void*)p - Chunk);
- SLmalloc_doerror (buf);
- return -1;
- }
-
- if ((*(p + (int) n) != 27)
- || (*(p + (int) (n + 1)) != 182)
- || (*(p + (int) (n + 2)) != 81)
- || (*(p + (int) (n + 3)) != 86))
- {
- sprintf (buf, "\007%s: %p: Memory corrupt! Abort NOW.", what, (void*)p);
- SLmalloc_doerror (buf);
- return -1;
- }
-
- *(p - 4) = *(p - 3) = *(p - 2) = *(p - 1) = 0xFF;
-
- Total_Allocated -= (long) n;
- if (Total_Allocated < 0)
- {
- sprintf (buf, "\007%s: %p\nFreed %ld, Allocated is: %ld!\n",
- what, (void*)p, (long) n, Total_Allocated);
- SLang_doerror (buf);
- }
-#ifdef SLDEBUG_DOUT
- fprintf (dout, "FREE: %s:\t%p %ld\n", what, p, (long) n);
-#endif
- return 0;
-}
-
-void SLdebug_free (char *p)
-{
- if (p == NULL) return;
- if (-1 == check_memory ((unsigned char *) p, "FREE")) return;
-
- SLFREE (p - Chunk);
-}
-
-char *SLdebug_malloc (unsigned long n)
-{
- char *p;
-
- if ((p = (char *) SLMALLOC (n + 2 * Chunk)) == NULL) return NULL;
-
- fixup ((unsigned char *) p, n, "MALLOC");
- return p + Chunk;
-}
-
-char *SLdebug_realloc (char *p, unsigned long n)
-{
- if (-1 == check_memory ((unsigned char *) p, "REALLOC")) return NULL;
- if ((p = (char *) SLREALLOC (p - Chunk, n + 2 * Chunk)) == NULL) return NULL;
- fixup ((unsigned char *) p, n, "REALLOC");
- return p + Chunk;
-}
-
-char *SLdebug_calloc (unsigned long n, unsigned long size)
-{
- char *p;
- int m;
-
- /* This is tough -- hope this is a good assumption!! */
- if (size >= Chunk) m = 1; else m = Chunk;
-
- if ((p = (char *) SLCALLOC (n + m + m, size)) == NULL) return NULL;
- fixup ((unsigned char *) p, size * n, "CALLOC");
- return p + Chunk;
-}
-
diff --git a/mdk-stage1/slang/slmath.c b/mdk-stage1/slang/slmath.c
deleted file mode 100644
index 1d61e14d3..000000000
--- a/mdk-stage1/slang/slmath.c
+++ /dev/null
@@ -1,565 +0,0 @@
-/* sin, cos, etc, for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <math.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef PI
-# undef PI
-#endif
-#define PI 3.14159265358979323846264338327950288
-
-#if defined(__unix__)
-#include <signal.h>
-#include <errno.h>
-
-#define SIGNAL SLsignal
-
-static void math_floating_point_exception (int sig)
-{
- sig = errno;
- if (SLang_Error == 0) SLang_Error = SL_FLOATING_EXCEPTION;
- (void) SIGNAL (SIGFPE, math_floating_point_exception);
- errno = sig;
-}
-#endif
-
-double SLmath_hypot (double x, double y)
-{
- double fr, fi, ratio;
-
- fr = fabs(x);
- fi = fabs(y);
-
- if (fr > fi)
- {
- ratio = y / x;
- x = fr * sqrt (1.0 + ratio * ratio);
- }
- else if (fi == 0.0) x = 0.0;
- else
- {
- ratio = x / y;
- x = fi * sqrt (1.0 + ratio * ratio);
- }
-
- return x;
-}
-
-/* usage here is a1 a2 ... an n x ==> a1x^n + a2 x ^(n - 1) + ... + an */
-static double math_poly (void)
-{
- int n;
- double xn = 1.0, sum = 0.0;
- double an, x;
-
- if ((SLang_pop_double(&x, NULL, NULL))
- || (SLang_pop_integer(&n))) return(0.0);
-
- while (n-- > 0)
- {
- if (SLang_pop_double(&an, NULL, NULL)) break;
- sum += an * xn;
- xn = xn * x;
- }
- return (double) sum;
-}
-
-static int double_math_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) op;
-
- if (a != SLANG_FLOAT_TYPE)
- *b = SLANG_DOUBLE_TYPE;
- else
- *b = a;
-
- return 1;
-}
-
-#ifdef HAVE_ASINH
-# define ASINH_FUN asinh
-#else
-# define ASINH_FUN my_asinh
-static double my_asinh (double x)
-{
- return log (x + sqrt (x*x + 1));
-}
-#endif
-#ifdef HAVE_ACOSH
-# define ACOSH_FUN acosh
-#else
-# define ACOSH_FUN my_acosh
-static double my_acosh (double x)
-{
- return log (x + sqrt(x*x - 1)); /* x >= 1 */
-}
-#endif
-#ifdef HAVE_ATANH
-# define ATANH_FUN atanh
-#else
-# define ATANH_FUN my_atanh
-static double my_atanh (double x)
-{
- return 0.5 * log ((1.0 + x)/(1.0 - x)); /* 0 <= x^2 < 1 */
-}
-#endif
-
-static int double_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *a, *b;
- unsigned int i;
- double (*fun) (double);
-
- (void) type;
- a = (double *) ap;
- b = (double *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[i];
- return 1;
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- b[i] = (*fun) (a[i]);
-
- return 1;
-}
-
-static int float_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- float *a, *b;
- unsigned int i;
- double (*fun) (double);
-
- (void) type;
- a = (float *) ap;
- b = (float *) bp;
-
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[i];
- return 1;
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- b[i] = (float) (*fun) ((double) a[i]);
-
- return 1;
-}
-
-static int generic_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *b;
- unsigned int i;
- SLang_To_Double_Fun_Type to_double;
- double (*fun) (double);
- unsigned int da;
- char *a;
-
- if (NULL == (to_double = SLarith_get_to_double_fun (type, &da)))
- return 0;
-
- b = (double *) bp;
- a = (char *) ap;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_SINH:
- fun = sinh;
- break;
- case SLMATH_COSH:
- fun = cosh;
- break;
- case SLMATH_TANH:
- fun = tanh;
- break;
- case SLMATH_TAN:
- fun = tan;
- break;
- case SLMATH_ASIN:
- fun = asin;
- break;
- case SLMATH_ACOS:
- fun = acos;
- break;
- case SLMATH_ATAN:
- fun = atan;
- break;
- case SLMATH_EXP:
- fun = exp;
- break;
- case SLMATH_LOG:
- fun = log;
- break;
- case SLMATH_LOG10:
- fun = log10;
- break;
- case SLMATH_SQRT:
- fun = sqrt;
- break;
- case SLMATH_SIN:
- fun = sin;
- break;
- case SLMATH_COS:
- fun = cos;
- break;
-
- case SLMATH_ASINH:
- fun = ASINH_FUN;
- break;
- case SLMATH_ATANH:
- fun = ATANH_FUN;
- break;
- case SLMATH_ACOSH:
- fun = ACOSH_FUN;
- break;
-
-
- case SLMATH_CONJ:
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- {
- b[i] = to_double((VOID_STAR) a);
- a += da;
- }
- return 1;
-
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = 0.0;
- return 1;
- }
-
- for (i = 0; i < na; i++)
- {
- b[i] = (*fun) (to_double ((VOID_STAR) a));
- a += da;
- }
-
- return 1;
-}
-
-#if SLANG_HAS_COMPLEX
-static int complex_math_op_result (int op, unsigned char a, unsigned char *b)
-{
- (void) a;
- switch (op)
- {
- default:
- *b = SLANG_COMPLEX_TYPE;
- break;
-
- case SLMATH_REAL:
- case SLMATH_IMAG:
- *b = SLANG_DOUBLE_TYPE;
- break;
- }
- return 1;
-}
-
-static int complex_math_op (int op,
- unsigned char type, VOID_STAR ap, unsigned int na,
- VOID_STAR bp)
-{
- double *a, *b;
- unsigned int i;
- unsigned int na2 = na * 2;
- double *(*fun) (double *, double *);
-
- (void) type;
- a = (double *) ap;
- b = (double *) bp;
-
- switch (op)
- {
- default:
- return 0;
-
- case SLMATH_REAL:
- for (i = 0; i < na; i++)
- b[i] = a[2 * i];
- return 1;
-
- case SLMATH_IMAG:
- for (i = 0; i < na; i++)
- b[i] = a[2 * i + 1];
- return 1;
-
- case SLMATH_CONJ:
- for (i = 0; i < na2; i += 2)
- {
- b[i] = a[i];
- b[i+1] = -a[i+1];
- }
- return 1;
-
- case SLMATH_ATANH:
- fun = SLcomplex_atanh;
- break;
- case SLMATH_ACOSH:
- fun = SLcomplex_acosh;
- break;
- case SLMATH_ASINH:
- fun = SLcomplex_asinh;
- break;
- case SLMATH_EXP:
- fun = SLcomplex_exp;
- break;
- case SLMATH_LOG:
- fun = SLcomplex_log;
- break;
- case SLMATH_LOG10:
- fun = SLcomplex_log10;
- break;
- case SLMATH_SQRT:
- fun = SLcomplex_sqrt;
- break;
- case SLMATH_SIN:
- fun = SLcomplex_sin;
- break;
- case SLMATH_COS:
- fun = SLcomplex_cos;
- break;
- case SLMATH_SINH:
- fun = SLcomplex_sinh;
- break;
- case SLMATH_COSH:
- fun = SLcomplex_cosh;
- break;
- case SLMATH_TANH:
- fun = SLcomplex_tanh;
- break;
- case SLMATH_TAN:
- fun = SLcomplex_tan;
- break;
- case SLMATH_ASIN:
- fun = SLcomplex_asin;
- break;
- case SLMATH_ACOS:
- fun = SLcomplex_acos;
- break;
- case SLMATH_ATAN:
- fun = SLcomplex_atan;
- break;
- }
-
- for (i = 0; i < na2; i += 2)
- (void) (*fun) (b + i, a + i);
-
- return 1;
-}
-#endif
-
-static SLang_DConstant_Type DConst_Table [] =
-{
- MAKE_DCONSTANT("E", 2.718281828459045),
- MAKE_DCONSTANT("PI", 3.14159265358979323846264338327950288),
- SLANG_END_DCONST_TABLE
-};
-
-static SLang_Math_Unary_Type SLmath_Table [] =
-{
- MAKE_MATH_UNARY("sinh", SLMATH_SINH),
- MAKE_MATH_UNARY("asinh", SLMATH_ASINH),
- MAKE_MATH_UNARY("cosh", SLMATH_COSH),
- MAKE_MATH_UNARY("acosh", SLMATH_ACOSH),
- MAKE_MATH_UNARY("tanh", SLMATH_TANH),
- MAKE_MATH_UNARY("atanh", SLMATH_ATANH),
- MAKE_MATH_UNARY("sin", SLMATH_SIN),
- MAKE_MATH_UNARY("cos", SLMATH_COS),
- MAKE_MATH_UNARY("tan", SLMATH_TAN),
- MAKE_MATH_UNARY("atan", SLMATH_ATAN),
- MAKE_MATH_UNARY("acos", SLMATH_ACOS),
- MAKE_MATH_UNARY("asin", SLMATH_ASIN),
- MAKE_MATH_UNARY("exp", SLMATH_EXP),
- MAKE_MATH_UNARY("log", SLMATH_LOG),
- MAKE_MATH_UNARY("sqrt", SLMATH_SQRT),
- MAKE_MATH_UNARY("log10", SLMATH_LOG10),
-#if SLANG_HAS_COMPLEX
- MAKE_MATH_UNARY("Real", SLMATH_REAL),
- MAKE_MATH_UNARY("Imag", SLMATH_IMAG),
- MAKE_MATH_UNARY("Conj", SLMATH_CONJ),
-#endif
- SLANG_END_MATH_UNARY_TABLE
-};
-
-static SLang_Intrin_Fun_Type SLang_Math_Table [] =
-{
- MAKE_INTRINSIC_0("polynom", math_poly, SLANG_DOUBLE_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_slmath (void)
-{
- unsigned char *int_types;
-
-#if defined(__unix__)
- (void) SIGNAL (SIGFPE, math_floating_point_exception);
-#endif
-
- int_types = _SLarith_Arith_Types;
-
- while (*int_types != SLANG_FLOAT_TYPE)
- {
- if (-1 == SLclass_add_math_op (*int_types, generic_math_op, double_math_op_result))
- return -1;
- int_types++;
- }
-
- if ((-1 == SLclass_add_math_op (SLANG_FLOAT_TYPE, float_math_op, double_math_op_result))
- || (-1 == SLclass_add_math_op (SLANG_DOUBLE_TYPE, double_math_op, double_math_op_result))
-#if SLANG_HAS_COMPLEX
- || (-1 == SLclass_add_math_op (SLANG_COMPLEX_TYPE, complex_math_op, complex_math_op_result))
-#endif
- )
- return -1;
-
- if ((-1 == SLadd_math_unary_table (SLmath_Table, "__SLMATH__"))
- || (-1 == SLadd_intrin_fun_table (SLang_Math_Table, NULL))
- || (-1 == SLadd_dconstant_table (DConst_Table, NULL)))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slmemchr.c b/mdk-stage1/slang/slmemchr.c
deleted file mode 100644
index 1417bc549..000000000
--- a/mdk-stage1/slang/slmemchr.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-char *SLmemchr(register char *p, register char c, register int n)
-{
- int n2;
- register char *pmax;
-
- pmax = p + (n - 32);
-
- while (p <= pmax)
- {
- if ((*p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
- || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c))
- return p;
- p++;
- }
-
- n2 = n % 32;
-
- while (n2--)
- {
- if (*p == c) return p;
- p++;
- }
- return(NULL);
-}
diff --git a/mdk-stage1/slang/slmemcmp.c b/mdk-stage1/slang/slmemcmp.c
deleted file mode 100644
index c5ed50095..000000000
--- a/mdk-stage1/slang/slmemcmp.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/* This is an UNSIGNED comparison designed for systems that either do not have
-* this function or performed a signed comparison (SunOS)
-*/
-int SLmemcmp(register char *s1, register char *s2, int n)
-{
- register int cmp;
- register char *s1max;
-
- s1max = s1 + (n - 32);
-
- while (s1 <= s1max)
- {
- if (*s1 != *s2) return ((unsigned char) *s1 - (unsigned char) *s2);
- if (*(s1 + 1) != *(s2 + 1)) return ((unsigned char) *(s1 + 1) - (unsigned char) *(s2 + 1));
- if (*(s1 + 2) != *(s2 + 2)) return ((unsigned char) *(s1 + 2) - (unsigned char) *(s2 + 2));
- if (*(s1 + 3) != *(s2 + 3)) return ((unsigned char) *(s1 + 3) - (unsigned char) *(s2 + 3));
- if (*(s1 + 4) != *(s2 + 4)) return ((unsigned char) *(s1 + 4) - (unsigned char) *(s2 + 4));
- if (*(s1 + 5) != *(s2 + 5)) return ((unsigned char) *(s1 + 5) - (unsigned char) *(s2 + 5));
- if (*(s1 + 6) != *(s2 + 6)) return ((unsigned char) *(s1 + 6) - (unsigned char) *(s2 + 6));
- if (*(s1 + 7) != *(s2 + 7)) return ((unsigned char) *(s1 + 7) - (unsigned char) *(s2 + 7));
- if (*(s1 + 8) != *(s2 + 8)) return ((unsigned char) *(s1 + 8) - (unsigned char) *(s2 + 8));
- if (*(s1 + 9) != *(s2 + 9)) return ((unsigned char) *(s1 + 9) - (unsigned char) *(s2 + 9));
- if (*(s1 + 10) != *(s2 + 10)) return ((unsigned char) *(s1 + 10) - (unsigned char) *(s2 + 10));
- if (*(s1 + 11) != *(s2 + 11)) return ((unsigned char) *(s1 + 11) - (unsigned char) *(s2 + 11));
- if (*(s1 + 12) != *(s2 + 12)) return ((unsigned char) *(s1 + 12) - (unsigned char) *(s2 + 12));
- if (*(s1 + 13) != *(s2 + 13)) return ((unsigned char) *(s1 + 13) - (unsigned char) *(s2 + 13));
- if (*(s1 + 14) != *(s2 + 14)) return ((unsigned char) *(s1 + 14) - (unsigned char) *(s2 + 14));
- if (*(s1 + 15) != *(s2 + 15)) return ((unsigned char) *(s1 + 15) - (unsigned char) *(s2 + 15));
- if (*(s1 + 16) != *(s2 + 16)) return ((unsigned char) *(s1 + 16) - (unsigned char) *(s2 + 16));
- if (*(s1 + 17) != *(s2 + 17)) return ((unsigned char) *(s1 + 17) - (unsigned char) *(s2 + 17));
- if (*(s1 + 18) != *(s2 + 18)) return ((unsigned char) *(s1 + 18) - (unsigned char) *(s2 + 18));
- if (*(s1 + 19) != *(s2 + 19)) return ((unsigned char) *(s1 + 19) - (unsigned char) *(s2 + 19));
- if (*(s1 + 20) != *(s2 + 20)) return ((unsigned char) *(s1 + 20) - (unsigned char) *(s2 + 20));
- if (*(s1 + 21) != *(s2 + 21)) return ((unsigned char) *(s1 + 21) - (unsigned char) *(s2 + 21));
- if (*(s1 + 22) != *(s2 + 22)) return ((unsigned char) *(s1 + 22) - (unsigned char) *(s2 + 22));
- if (*(s1 + 23) != *(s2 + 23)) return ((unsigned char) *(s1 + 23) - (unsigned char) *(s2 + 23));
- if (*(s1 + 24) != *(s2 + 24)) return ((unsigned char) *(s1 + 24) - (unsigned char) *(s2 + 24));
- if (*(s1 + 25) != *(s2 + 25)) return ((unsigned char) *(s1 + 25) - (unsigned char) *(s2 + 25));
- if (*(s1 + 26) != *(s2 + 26)) return ((unsigned char) *(s1 + 26) - (unsigned char) *(s2 + 26));
- if (*(s1 + 27) != *(s2 + 27)) return ((unsigned char) *(s1 + 27) - (unsigned char) *(s2 + 27));
- if (*(s1 + 28) != *(s2 + 28)) return ((unsigned char) *(s1 + 28) - (unsigned char) *(s2 + 28));
- if (*(s1 + 29) != *(s2 + 29)) return ((unsigned char) *(s1 + 29) - (unsigned char) *(s2 + 29));
- if (*(s1 + 30) != *(s2 + 30)) return ((unsigned char) *(s1 + 30) - (unsigned char) *(s2 + 30));
- if (*(s1 + 31) != *(s2 + 31)) return ((unsigned char) *(s1 + 31) - (unsigned char) *(s2 + 31));
- s1 += 32; s2 += 32;
- }
-
- s1max = s1 + (n % 32);
-
- while (s1 < s1max)
- {
- cmp = (unsigned char) *s1 - (unsigned char) *s2;
- if (cmp) return(cmp);
- s1++;
- s2++;
- }
-
- return(0);
-}
diff --git a/mdk-stage1/slang/slmemcpy.c b/mdk-stage1/slang/slmemcpy.c
deleted file mode 100644
index e8665e4c6..000000000
--- a/mdk-stage1/slang/slmemcpy.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-char *SLmemcpy(char *s1, char *s2, int n)
-{
-#if defined(__BORLANDC__) && defined(__MSDOS__)
- asm mov ax, ds
- asm mov bx, si
- asm mov dx, di
- asm mov cx, n
- asm les di, s1
- asm lds si, s2
- asm cld
- asm rep movsb
- asm mov ds, ax
- asm mov si, bx
- asm mov di, dx
- return(s1);
-
-#else
- register char *smax, *s = s1;
- int n2;
-
- n2 = n % 4;
- smax = s + (n - 4);
- while (s <= smax)
- {
- *s = *s2; *(s + 1) = *(s2 + 1); *(s + 2) = *(s2 + 2); *(s + 3) = *(s2 + 3);
- s += 4;
- s2 += 4;
- }
- while (n2--) *s++ = *s2++;
- return(s1);
-#endif
-}
diff --git a/mdk-stage1/slang/slmemset.c b/mdk-stage1/slang/slmemset.c
deleted file mode 100644
index 3851663c5..000000000
--- a/mdk-stage1/slang/slmemset.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are fast memcpy, memset routines. When available, I
- use system rouines. For msdos, I use inline assembly. */
-
-/* The current versions only work in the forward direction only!! */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-void SLmemset(char *p, char space, int n)
-{
-#if defined(__BORLANDC__) && defined(__MSDOS__)
- asm mov al, space
- asm mov dx, di
- asm mov cx, n
- asm les di, p
- asm cld
- asm rep stosb
- asm mov di, dx
-#else
- register char *pmax;
-
- pmax = p + (n - 4);
- n = n % 4;
- while (p <= pmax)
- {
- *p++ = space; *p++ = space; *p++ = space; *p++= space;
- }
- while (n--) *p++ = space;
-#endif
-}
diff --git a/mdk-stage1/slang/slmisc.c b/mdk-stage1/slang/slmisc.c
deleted file mode 100644
index ccc7a9bdf..000000000
--- a/mdk-stage1/slang/slmisc.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define DEBUG_MALLOC 0
-
-#if DEBUG_MALLOC
-# define SLREALLOC_FUN SLdebug_realloc
-# define SLMALLOC_FUN SLdebug_malloc
-# define SLFREE_FUN SLdebug_free
-#else
-# define SLREALLOC_FUN SLREALLOC
-# define SLMALLOC_FUN SLMALLOC
-# define SLFREE_FUN SLFREE
-#endif
-
-/* Version information goes here since this file is always needed. */
-int SLang_Version = SLANG_VERSION;
-char *SLang_Version_String = SLANG_VERSION_STRING;
-
-char *SLmake_string(char *str)
-{
- return SLmake_nstring(str, strlen (str));
-}
-
-char *SLmake_nstring (char *str, unsigned int n)
-{
- char *ptr;
-
- if (NULL == (ptr = SLmalloc(n + 1)))
- {
- return NULL;
- }
- SLMEMCPY (ptr, str, n);
- ptr[n] = 0;
- return(ptr);
-}
-
-void SLmake_lut (unsigned char *lut, unsigned char *range, unsigned char reverse)
-{
- register unsigned char *l = lut, *lmax = lut + 256;
- int i, r1, r2;
-
- while (l < lmax) *l++ = reverse;
- reverse = !reverse;
-
- r1 = *range++;
- while (r1)
- {
- r2 = *range++;
- if ((r2 == '-') && (*range != 0))
- {
- r2 = *range++;
- for (i = r1; i <= r2; i++) lut[i] = reverse;
- r1 = *range++;
- continue;
- }
- lut[r1] = reverse;
- r1 = r2;
- }
-}
-
-char *SLmalloc (unsigned int len)
-{
- char *p;
-
- p = (char *) SLMALLOC_FUN (len);
- if (p == NULL)
- SLang_Error = SL_MALLOC_ERROR;
-
- return p;
-}
-
-void SLfree (char *p)
-{
- if (p != NULL) SLFREE_FUN (p);
-}
-
-char *SLrealloc (char *p, unsigned int len)
-{
- if (len == 0)
- {
- SLfree (p);
- return NULL;
- }
-
- if (p == NULL) p = SLmalloc (len);
- else
- {
- p = (char *)SLREALLOC_FUN (p, len);
- if (p == NULL)
- SLang_Error = SL_MALLOC_ERROR;
- }
- return p;
-}
-
-char *SLcalloc (unsigned int nelems, unsigned int len)
-{
- char *p;
-
- len = nelems * len;
- p = SLmalloc (len);
- if (p != NULL) SLMEMSET (p, 0, len);
- return p;
-}
-
-/* p and ch may point to the same buffer */
-char *_SLexpand_escaped_char(char *p, char *ch)
-{
- int i = 0;
- int max = 0, num, base = 0;
- char ch1;
-
- ch1 = *p++;
-
- switch (ch1)
- {
- default: num = ch1; break;
- case 'n': num = '\n'; break;
- case 't': num = '\t'; break;
- case 'v': num = '\v'; break;
- case 'b': num = '\b'; break;
- case 'r': num = '\r'; break;
- case 'f': num = '\f'; break;
- case 'E': case 'e': num = 27; break;
- case 'a': num = 7;
- break;
-
- /* octal */
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- max = '7';
- base = 8; i = 2; num = ch1 - '0';
- break;
-
- case 'd': /* decimal -- S-Lang extension */
- base = 10;
- i = 3;
- max = '9';
- num = 0;
- break;
-
- case 'x': /* hex */
- base = 16;
- max = '9';
- i = 2;
- num = 0;
- break;
- }
-
- while (i--)
- {
- ch1 = *p;
-
- if ((ch1 <= max) && (ch1 >= '0'))
- {
- num = base * num + (ch1 - '0');
- }
- else if (base == 16)
- {
- ch1 |= 0x20;
- if ((ch1 < 'a') || ((ch1 > 'f'))) break;
- num = base * num + 10 + (ch1 - 'a');
- }
- else break;
- p++;
- }
-
- *ch = (char) num;
- return p;
-}
-
-/* s and t could represent the same space */
-void SLexpand_escaped_string (register char *s, register char *t,
- register char *tmax)
-{
- char ch;
-
- while (t < tmax)
- {
- ch = *t++;
- if (ch == '\\')
- {
- t = _SLexpand_escaped_char (t, &ch);
- }
- *s++ = ch;
- }
- *s = 0;
-}
-
-int SLextract_list_element (char *list, unsigned int nth, char delim,
- char *elem, unsigned int buflen)
-{
- char *el, *elmax;
- char ch;
-
- while (nth > 0)
- {
- while ((0 != (ch = *list)) && (ch != delim))
- list++;
-
- if (ch == 0) return -1;
-
- list++;
- nth--;
- }
-
- el = elem;
- elmax = el + (buflen - 1);
-
- while ((0 != (ch = *list)) && (ch != delim) && (el < elmax))
- *el++ = *list++;
- *el = 0;
-
- return 0;
-}
-
-#ifndef HAVE_VSNPRINTF
-int _SLvsnprintf (char *buf, unsigned int buflen, char *fmt, va_list ap)
-{
-#if 1
- unsigned int len;
-
- /* On some systems vsprintf returns useless information. So, punt */
- vsprintf (buf, fmt, ap);
- len = strlen (buf);
- if (len >= buflen)
- {
- SLang_exit_error ("\
-Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
-The integrity of this program has been violated.\n");
- return EOF; /* NOT reached */
- }
- return (int)len;
-#else
- int status;
-
- status = vsprintf (buf, fmt, ap);
- if (status >= (int) buflen)
- {
- /* If we are lucky, we will get this far. The real solution is to
- * provide a working version of vsnprintf
- */
- SLang_exit_error ("\
-Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
-The integrity of this program has been violated.\n");
- return EOF; /* NOT reached */
- }
- return status;
-#endif
-}
-#endif
-
-#ifndef HAVE_SNPRINTF
-int _SLsnprintf (char *buf, unsigned int buflen, char *fmt, ...)
-{
- int status;
-
- va_list ap;
-
- va_start (ap, fmt);
- status = _SLvsnprintf (buf, buflen, fmt, ap);
- va_end (ap);
-
- return status;
-}
-#endif
-
-typedef struct _Cleanup_Function_Type
-{
- struct _Cleanup_Function_Type *next;
- void (*f)(void);
-}
-Cleanup_Function_Type;
-
-static Cleanup_Function_Type *Cleanup_Function_List;
-
-static void cleanup_slang (void)
-{
- while (Cleanup_Function_List != NULL)
- {
- Cleanup_Function_Type *next = Cleanup_Function_List->next;
- (*Cleanup_Function_List->f)();
- SLFREE_FUN ((char *) Cleanup_Function_List);
- Cleanup_Function_List = next;
- }
-}
-
-#ifndef HAVE_ATEXIT
-# ifdef HAVE_ON_EXIT
-static void on_exit_cleanup_slang (int arg_unused)
-{
- (void) arg_unused;
- cleanup_slang ();
-}
-# endif
-#endif
-
-int SLang_add_cleanup_function (void (*f)(void))
-{
- Cleanup_Function_Type *l;
-
- l = (Cleanup_Function_Type *) SLMALLOC_FUN (sizeof (Cleanup_Function_Type));
- if (l == NULL)
- return -1;
-
- l->f = f;
- l->next = Cleanup_Function_List;
-
- if (Cleanup_Function_List == NULL)
- {
-#ifdef HAVE_ATEXIT
- (void) atexit (cleanup_slang);
-#else
-# ifdef HAVE_ON_EXIT
- (void) on_exit (on_exit_cleanup_slang, 0);
-# endif
-#endif
- }
- Cleanup_Function_List = l;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slnspace.c b/mdk-stage1/slang/slnspace.c
deleted file mode 100644
index 174ba7c81..000000000
--- a/mdk-stage1/slang/slnspace.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* slnspace.c --- Name Space implementation */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLang_NameSpace_Type *Namespace_Tables;
-
-static SLang_NameSpace_Type *find_name_table (char *name)
-{
- SLang_NameSpace_Type *table_list;
-
- table_list = Namespace_Tables;
- while (table_list != NULL)
- {
- if (0 == strcmp (table_list->name, name))
- break;
- table_list = table_list->next;
- }
- return table_list;
-}
-
-SLang_NameSpace_Type *_SLns_find_namespace (char *name)
-{
- SLang_NameSpace_Type *table_list;
-
- table_list = Namespace_Tables;
- while (table_list != NULL)
- {
- if ((table_list->namespace_name != NULL)
- && (0 == strcmp (table_list->namespace_name, name)))
- break;
- table_list = table_list->next;
- }
- return table_list;
-}
-
-SLang_NameSpace_Type *_SLns_allocate_namespace (char *name, unsigned int size)
-{
- SLang_NameSpace_Type *table_list;
- SLang_Name_Type **nt;
-
- if (NULL != (table_list = find_name_table (name)))
- return table_list;
-
- if (NULL == (name = SLang_create_slstring (name)))
- return NULL;
-
- if (NULL == (table_list = (SLang_NameSpace_Type *)
- SLmalloc (sizeof (SLang_NameSpace_Type))))
- {
- SLang_free_slstring (name);
- return NULL;
- }
-
- if (NULL == (nt = (SLang_Name_Type **) SLmalloc (sizeof (SLang_Name_Type *) * size)))
- {
- SLang_free_slstring (name);
- SLfree ((char *)table_list);
- return NULL;
- }
-
- memset ((char *)nt, 0, size * sizeof (SLang_Name_Type *));
- memset ((char *) table_list, 0, sizeof (SLang_NameSpace_Type));
-
- table_list->name = name;
- table_list->table = nt;
- table_list->table_size = size;
-
- table_list->next = Namespace_Tables;
- Namespace_Tables = table_list;
-
- return table_list;
-}
-
-int _SLns_set_namespace_name (SLang_NameSpace_Type *t, char *name)
-{
- SLang_NameSpace_Type *t1;
-
- t1 = _SLns_find_namespace (name);
- if (t1 == NULL)
- t1 = t;
-
- if ((t != t1) || (*name == 0))
- {
- SLang_verror (SL_INTRINSIC_ERROR, "Namespace \"%s\" already exists",
- name);
- return -1;
- }
-
- if (NULL == (name = SLang_create_slstring (name)))
- return -1;
-
- SLang_free_slstring (t->namespace_name); /* NULL ok */
- t->namespace_name = name;
-
- return 0;
-}
-
-SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *ns, char *pat, unsigned int what)
-{
- SLang_Array_Type *at;
- unsigned int table_size;
- SLang_Name_Type *t, **table;
- int num_matches;
- unsigned int i;
- SLRegexp_Type rexp;
- unsigned char rbuf[512];
- unsigned int two;
-
- at = NULL;
-
- if ((ns == NULL)
- || ((table = ns->table) == NULL))
- return NULL;
-
- memset ((char *) &rexp, 0, sizeof (SLRegexp_Type));
- rexp.case_sensitive = 1;
- rexp.buf = rbuf;
- rexp.buf_len = sizeof (rbuf);
- rexp.pat = (unsigned char *)pat;
-
- if (0 != SLang_regexp_compile (&rexp))
- {
- SLang_verror (SL_INVALID_PARM, "Invalid regular expression: %s", pat);
- return NULL;
- }
-
- table_size = ns->table_size;
-
- two = 2;
- while (two != 0)
- {
- two--;
-
- num_matches = 0;
- for (i = 0; i < table_size; i++)
- {
- t = table[i];
- while (t != NULL)
- {
- unsigned int flags;
- char *name = t->name;
-
- switch (t->name_type)
- {
- case SLANG_GVARIABLE:
- flags = 8;
- break;
-
- case SLANG_ICONSTANT:
- case SLANG_DCONSTANT:
- case SLANG_RVARIABLE:
- case SLANG_IVARIABLE:
- flags = 4;
- break;
-
- case SLANG_INTRINSIC:
- case SLANG_MATH_UNARY:
- case SLANG_APP_UNARY:
- flags = 1;
- break;
-
- case SLANG_FUNCTION:
- flags = 2;
- break;
-
- default:
- flags = 0;
- break;
- }
-
- if ((flags & what)
- && (NULL != SLang_regexp_match ((unsigned char *)name, strlen (name), &rexp)))
- {
- if (at != NULL)
- {
- if (-1 == SLang_set_array_element (at, &num_matches, (VOID_STAR)&name))
- goto return_error;
- }
- num_matches++;
- }
- t = t->next;
- }
- }
-
- if (at == NULL)
- {
- at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num_matches, 1);
- if (at == NULL)
- goto return_error;
- }
- }
-
- return at;
-
- return_error:
- SLang_free_array (at);
- return NULL;
-}
-
-SLang_NameSpace_Type *SLns_create_namespace (char *namespace_name)
-{
- SLang_NameSpace_Type *ns;
- static int num;
- char name[64];
-
- if (namespace_name == NULL)
- namespace_name = "Global";
-
- ns = _SLns_find_namespace (namespace_name);
- if (ns != NULL)
- return ns;
-
- sprintf (name, " *** internal ns <%d> *** ", num);
-
- if (NULL == (ns = _SLns_allocate_namespace (name, SLSTATIC_HASH_TABLE_SIZE)))
- return NULL;
-
- num++;
- if (-1 == _SLns_set_namespace_name (ns, namespace_name))
- {
- SLns_delete_namespace (ns);
- return NULL;
- }
-
- return ns;
-}
-
-void SLns_delete_namespace (SLang_NameSpace_Type *ns)
-{
- (void) ns;
- /* V2.0 */
-}
diff --git a/mdk-stage1/slang/slospath.c b/mdk-stage1/slang/slospath.c
deleted file mode 100644
index 644931e81..000000000
--- a/mdk-stage1/slang/slospath.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Pathname intrinsic functions */
-/* Copyright (c) 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static void path_concat (char *a, char *b)
-{
- SLang_push_malloced_string (SLpath_dircat (a,b));
-}
-
-static void path_extname (char *path)
-{
-#ifdef VMS
- char *p;
-#endif
-
- path = SLpath_extname (path);
-#ifndef VMS
- SLang_push_string (path);
-#else
- p = strchr (path, ';');
- if (p == NULL)
- (void)SLang_push_string (p);
- else
- (void)SLang_push_malloced_string (SLmake_nstring (path, (unsigned int)(p - path)));
-#endif
-}
-
-static void path_basename (char *path)
-{
- (void) SLang_push_string (SLpath_basename (path));
-}
-
-static void path_dirname (char *path)
-{
- (void) SLang_push_malloced_string (SLpath_dirname (path));
-}
-
-static void path_sans_extname (char *path)
-{
- (void) SLang_push_malloced_string (SLpath_pathname_sans_extname (path));
-}
-
-
-
-static SLang_Intrin_Fun_Type Path_Name_Table [] =
-{
- MAKE_INTRINSIC_SS("path_concat", path_concat, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_extname", path_extname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_dirname", path_dirname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_basename", path_basename, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_sans_extname", path_sans_extname, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("path_is_absolute", SLpath_is_absolute_path, SLANG_INT_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_ospath (void)
-{
- if (-1 == SLadd_intrin_fun_table(Path_Name_Table, "__OSPATH__"))
- return -1;
-
- return 0;
-}
-
-
diff --git a/mdk-stage1/slang/slpack.c b/mdk-stage1/slang/slpack.c
deleted file mode 100644
index 53ef63643..000000000
--- a/mdk-stage1/slang/slpack.c
+++ /dev/null
@@ -1,785 +0,0 @@
-/* Pack objects as a binary string */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <ctype.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifndef isdigit
-# define isdigit(c) (((c)>='0')&&((c)<= '9'))
-#endif
-#ifndef isspace
-# define isspace(c) (((c)==' ') || ((c)=='\t') || ((c)=='\n'))
-#endif
-
-/* format description:
- *
- * s = string (null padded)
- * S = string (space padded)
- * c = signed char
- * C = unsigned char
- * h = short
- * H = unsigned short
- * i = int
- * I = unsigned int
- * l = long
- * L = unsigned long
- * j = 16 bit signed integer (short)
- * J = 16 bit unsigned integer (short)
- * k = 32 bit signed integer (long)
- * K = 32 bit unsigned integer (long)
- * f = float (native format)
- * F = 32 bit double
- * d = double (native format)
- * D = 64 bit double
- * x = null pad byte
- * > = big-endian mode
- * < = little-endian mode
- * = = native mode
- */
-
-#define NATIVE_ORDER 0
-#define BIGENDIAN_ORDER 1
-#define LILENDIAN_ORDER 2
-static int Native_Byte_Order = NATIVE_ORDER;
-
-typedef struct
-{
- char format_type;
- unsigned char data_type;
- unsigned int repeat;
- unsigned int sizeof_type;
- char pad;
- int byteorder;
- int is_scalar;
-}
-Format_Type;
-
-static int get_int_type_for_size (unsigned int size, unsigned char *s, unsigned char *u)
-{
- if (sizeof (int) == size)
- {
- if (s != NULL) *s = SLANG_INT_TYPE;
- if (u != NULL) *u = SLANG_UINT_TYPE;
- return 0;
- }
-
- if (sizeof (short) == size)
- {
- if (s != NULL) *s = SLANG_SHORT_TYPE;
- if (u != NULL) *u = SLANG_USHORT_TYPE;
- return 1;
- }
-
- if (sizeof (long) == size)
- {
- if (s != NULL) *s = SLANG_LONG_TYPE;
- if (u != NULL) *u = SLANG_ULONG_TYPE;
- return 1;
- }
-
- if (s != NULL) *s = 0;
- if (u != NULL) *u = 0;
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This OS does not support a %u byte int", size);
- return -1;
-}
-
-static int get_float_type_for_size (unsigned int size, unsigned char *s)
-{
- if (sizeof (float) == size)
- {
- *s = SLANG_FLOAT_TYPE;
- return 0;
- }
-
- if (sizeof (double) == size)
- {
- *s = SLANG_DOUBLE_TYPE;
- return 0;
- }
-
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This OS does not support a %u byte float", size);
- return -1;
-}
-
-static int parse_a_format (char **format, Format_Type *ft)
-{
- char *f;
- char ch;
- unsigned repeat;
-
- f = *format;
-
- while (((ch = *f++) != 0)
- && isspace (ch))
- ;
-
- switch (ch)
- {
- default:
- ft->byteorder = NATIVE_ORDER;
- break;
-
- case '=':
- ft->byteorder = NATIVE_ORDER;
- ch = *f++;
- break;
-
- case '>':
- ft->byteorder = BIGENDIAN_ORDER;
- ch = *f++;
- break;
-
- case '<':
- ft->byteorder = LILENDIAN_ORDER;
- ch = *f++;
- break;
- }
-
- if (ch == 0)
- {
- f--;
- *format = f;
- return 0;
- }
-
- ft->format_type = ch;
- ft->repeat = 1;
-
- if (isdigit (*f))
- {
- repeat = (unsigned int) (*f - '0');
- f++;
-
- while (isdigit (*f))
- {
- unsigned int repeat10 = 10 * repeat + (unsigned int)(*f - '0');
-
- /* Check overflow */
- if (repeat != repeat10 / 10)
- {
- SLang_verror (SL_OVERFLOW,
- "Repeat count too large in [un]pack format");
- return -1;
- }
- repeat = repeat10;
- f++;
- }
- ft->repeat = repeat;
- }
-
- *format = f;
-
- ft->is_scalar = 1;
- ft->pad = 0;
-
- switch (ft->format_type)
- {
- default:
- SLang_verror (SL_NOT_IMPLEMENTED,
- "[un]pack format character '%c' not supported", ft->format_type);
- return -1;
-
- case 'D':
- ft->sizeof_type = 8;
- if (-1 == get_float_type_for_size (8, &ft->data_type))
- return -1;
- break;
-
- case 'd':
- ft->data_type = SLANG_DOUBLE_TYPE;
- ft->sizeof_type = sizeof (double);
- break;
-
- case 'F':
- ft->sizeof_type = 4;
- if (-1 == get_float_type_for_size (4, &ft->data_type))
- return -1;
- break;
- case 'f':
- ft->data_type = SLANG_FLOAT_TYPE;
- ft->sizeof_type = sizeof (float);
- break;
-
- case 'h':
- ft->data_type = SLANG_SHORT_TYPE;
- ft->sizeof_type = sizeof (short);
- break;
- case 'H':
- ft->data_type = SLANG_USHORT_TYPE;
- ft->sizeof_type = sizeof (unsigned short);
- break;
- case 'i':
- ft->data_type = SLANG_INT_TYPE;
- ft->sizeof_type = sizeof (int);
- break;
- case 'I':
- ft->data_type = SLANG_UINT_TYPE;
- ft->sizeof_type = sizeof (unsigned int);
- break;
- case 'l':
- ft->data_type = SLANG_LONG_TYPE;
- ft->sizeof_type = sizeof (long);
- break;
- case 'L':
- ft->data_type = SLANG_ULONG_TYPE;
- ft->sizeof_type = sizeof (unsigned long);
- break;
-
- /* 16 bit ints */
- case 'j':
- ft->sizeof_type = 2;
- if (-1 == get_int_type_for_size (2, &ft->data_type, NULL))
- return -1;
- break;
- case 'J':
- ft->sizeof_type = 2;
- if (-1 == get_int_type_for_size (2, NULL, &ft->data_type))
- return -1;
- break;
-
- /* 32 bit ints */
- case 'k':
- ft->sizeof_type = 4;
- if (-1 == get_int_type_for_size (4, &ft->data_type, NULL))
- return -1;
- break;
- case 'K':
- ft->sizeof_type = 4;
- if (-1 == get_int_type_for_size (4, NULL, &ft->data_type))
- return -1;
- break;
-
- case 'x':
- ft->sizeof_type = 1;
- ft->data_type = 0;
- break;
-
- case 'c':
- ft->sizeof_type = 1;
- ft->data_type = SLANG_CHAR_TYPE;
- break;
-
- case 'C':
- ft->data_type = SLANG_UCHAR_TYPE;
- ft->sizeof_type = 1;
- break;
-
- case 'S':
- case 'A':
- ft->pad = ' ';
- case 'a':
- case 's':
- ft->data_type = SLANG_BSTRING_TYPE;
- ft->sizeof_type = 1;
- ft->is_scalar = 0;
- break;
- }
- return 1;
-}
-
-static int compute_size_for_format (char *format, unsigned int *num_bytes)
-{
- unsigned int size;
- Format_Type ft;
- int status;
-
- *num_bytes = size = 0;
-
- while (1 == (status = parse_a_format (&format, &ft)))
- size += ft.repeat * ft.sizeof_type;
-
- *num_bytes = size;
- return status;
-}
-
-static void byte_swap64 (unsigned char *ss, unsigned int n) /*{{{*/
-{
- unsigned char *p, *pmax, ch;
-
- if (n == 0) return;
- p = (unsigned char *) ss;
- pmax = p + 8 * n;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 7);
- *(p + 7) = ch;
-
- ch = *(p + 6);
- *(p + 6) = *(p + 1);
- *(p + 1) = ch;
-
- ch = *(p + 5);
- *(p + 5) = *(p + 2);
- *(p + 2) = ch;
-
- ch = *(p + 4);
- *(p + 4) = *(p + 3);
- *(p + 3) = ch;
-
- p += 8;
- }
-}
-
-/*}}}*/
-static void byte_swap32 (unsigned char *ss, unsigned int n) /*{{{*/
-{
- unsigned char *p, *pmax, ch;
-
- p = (unsigned char *) ss;
- pmax = p + 4 * n;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 3);
- *(p + 3) = ch;
-
- ch = *(p + 1);
- *(p + 1) = *(p + 2);
- *(p + 2) = ch;
- p += 4;
- }
-}
-
-/*}}}*/
-static void byte_swap16 (unsigned char *p, unsigned int nread) /*{{{*/
-{
- unsigned char *pmax, ch;
-
- pmax = p + 2 * nread;
- while (p < pmax)
- {
- ch = *p;
- *p = *(p + 1);
- *(p + 1) = ch;
- p += 2;
- }
-}
-
-/*}}}*/
-
-static int byteswap (int order, unsigned char *b, unsigned int size, unsigned int num)
-{
- if (Native_Byte_Order == order)
- return 0;
-
- switch (size)
- {
- case 2:
- byte_swap16 (b, num);
- break;
- case 4:
- byte_swap32 (b, num);
- break;
- case 8:
- byte_swap64 (b, num);
- break;
- default:
- return -1;
- }
-
- return 0;
-}
-
-static void check_native_byte_order (void)
-{
- unsigned short x;
-
- if (Native_Byte_Order != NATIVE_ORDER)
- return;
-
- x = 0xFF;
- if (*(unsigned char *)&x == 0xFF)
- Native_Byte_Order = LILENDIAN_ORDER;
- else
- Native_Byte_Order = BIGENDIAN_ORDER;
-}
-
-static SLang_BString_Type *
-pack_according_to_format (char *format, unsigned int nitems)
-{
- unsigned int size, num;
- unsigned char *buf, *b;
- SLang_BString_Type *bs;
- Format_Type ft;
-
- buf = NULL;
-
- if (-1 == compute_size_for_format (format, &size))
- goto return_error;
-
- if (NULL == (buf = (unsigned char *) SLmalloc (size + 1)))
- goto return_error;
-
- b = buf;
-
- while (1 == parse_a_format (&format, &ft))
- {
- unsigned char *ptr;
- unsigned int repeat;
-
- repeat = ft.repeat;
- if (ft.data_type == 0)
- {
- memset ((char *) b, ft.pad, repeat);
- b += repeat;
- continue;
- }
-
- if (ft.is_scalar)
- {
- unsigned char *bstart;
- num = repeat;
-
- bstart = b;
- while (repeat != 0)
- {
- unsigned int nelements;
- SLang_Array_Type *at;
-
- if (nitems == 0)
- {
- SLang_verror (SL_INVALID_PARM,
- "Not enough items for pack format");
- goto return_error;
- }
-
- if (-1 == SLang_pop_array_of_type (&at, ft.data_type))
- goto return_error;
-
- nelements = at->num_elements;
- if (repeat < nelements)
- nelements = repeat;
- repeat -= nelements;
-
- nelements = nelements * ft.sizeof_type;
- memcpy ((char *)b, (char *)at->data, nelements);
-
- b += nelements;
- SLang_free_array (at);
- nitems--;
- }
-
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, bstart, ft.sizeof_type, num);
-
- continue;
- }
-
- /* Otherwise we have a string */
- if (-1 == SLang_pop_bstring (&bs))
- goto return_error;
-
- ptr = SLbstring_get_pointer (bs, &num);
- if (repeat < num) num = repeat;
- memcpy ((char *)b, (char *)ptr, num);
- b += num;
- repeat -= num;
- memset ((char *)b, ft.pad, repeat);
- SLbstring_free (bs);
- b += repeat;
- nitems--;
- }
-
- *b = 0;
- bs = SLbstring_create_malloced (buf, size, 0);
- if (bs == NULL)
- goto return_error;
-
- SLdo_pop_n (nitems);
- return bs;
-
- return_error:
- SLdo_pop_n (nitems);
- if (buf != NULL)
- SLfree ((char *) buf);
-
- return NULL;
-}
-
-void _SLpack (void)
-{
- SLang_BString_Type *bs;
- char *fmt;
- int nitems;
-
- check_native_byte_order ();
-
- nitems = SLang_Num_Function_Args;
- if (nitems <= 0)
- {
- SLang_verror (SL_SYNTAX_ERROR,
- "pack: not enough arguments");
- return;
- }
-
- if ((-1 == SLreverse_stack (nitems))
- || (-1 == SLang_pop_slstring (&fmt)))
- bs = NULL;
- else
- {
- bs = pack_according_to_format (fmt, (unsigned int)nitems - 1);
- SLang_free_slstring (fmt);
- }
-
- SLang_push_bstring (bs);
- SLbstring_free (bs);
-}
-
-void _SLunpack (char *format, SLang_BString_Type *bs)
-{
- Format_Type ft;
- unsigned char *b;
- unsigned int len;
- unsigned int num_bytes;
-
- check_native_byte_order ();
-
- if (-1 == compute_size_for_format (format, &num_bytes))
- return;
-
- b = SLbstring_get_pointer (bs, &len);
- if (b == NULL)
- return;
-
- if (len < num_bytes)
- {
- SLang_verror (SL_INVALID_PARM,
- "unpack format %s is too large for input string",
- format);
- return;
- }
-
- while (1 == parse_a_format (&format, &ft))
- {
- char *str, *s;
-
- if (ft.repeat == 0)
- continue;
-
- if (ft.data_type == 0)
- { /* skip padding */
- b += ft.repeat;
- continue;
- }
-
- if (ft.is_scalar)
- {
- SLang_Array_Type *at;
- int dims;
-
- if (ft.repeat == 1)
- {
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (ft.data_type);
- memcpy ((char *)cl->cl_transfer_buf, (char *)b, ft.sizeof_type);
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, (unsigned char *)cl->cl_transfer_buf, ft.sizeof_type, 1);
-
- if (-1 == (cl->cl_apush (ft.data_type, cl->cl_transfer_buf)))
- return;
- b += ft.sizeof_type;
- continue;
- }
-
- dims = (int) ft.repeat;
- at = SLang_create_array (ft.data_type, 0, NULL, &dims, 1);
- if (at == NULL)
- return;
-
- num_bytes = ft.repeat * ft.sizeof_type;
- memcpy ((char *)at->data, (char *)b, num_bytes);
- if (ft.byteorder != NATIVE_ORDER)
- byteswap (ft.byteorder, (unsigned char *)at->data, ft.sizeof_type, ft.repeat);
-
- if (-1 == SLang_push_array (at, 1))
- return;
-
- b += num_bytes;
- continue;
- }
-
- len = ft.repeat;
- str = SLmalloc (len + 1);
- if (str == NULL)
- return;
-
- memcpy ((char *) str, (char *)b, len);
- str [len] = 0;
-
- if (ft.pad == ' ')
- {
- unsigned int new_len;
-
- s = str + len;
- while (s > str)
- {
- s--;
- if ((*s != ' ') && (*s != 0))
- {
- s++;
- break;
- }
- *s = 0;
- }
- new_len = (unsigned int) (s - str);
-
- if (new_len != len)
- {
- s = SLrealloc (str, new_len + 1);
- if (s == NULL)
- {
- SLfree (str);
- return;
- }
- str = s;
- len = new_len;
- }
- }
-
- /* Avoid a bstring if possible */
- s = SLmemchr (str, 0, len);
- if (s == NULL)
- {
- if (-1 == SLang_push_malloced_string (str))
- return;
- }
- else
- {
- SLang_BString_Type *new_bs;
-
- new_bs = SLbstring_create_malloced ((unsigned char *)str, len, 1);
- if (new_bs == NULL)
- return;
-
- if (-1 == SLang_push_bstring (new_bs))
- {
- SLfree (str);
- return;
- }
- SLbstring_free (new_bs);
- }
-
- b += ft.repeat;
- }
-}
-
-unsigned int _SLpack_compute_size (char *format)
-{
- unsigned int n;
-
- n = 0;
- (void) compute_size_for_format (format, &n);
- return n;
-}
-
-void _SLpack_pad_format (char *format)
-{
- unsigned int len, max_len;
- Format_Type ft;
- char *buf, *b;
-
- check_native_byte_order ();
-
- /* Just check the syntax */
- if (-1 == compute_size_for_format (format, &max_len))
- return;
-
- /* This should be sufficient to handle any needed xyy padding characters.
- * I cannot see how this will be overrun
- */
- max_len = 4 * (strlen (format) + 1);
- if (NULL == (buf = SLmalloc (max_len + 1)))
- return;
-
- b = buf;
- len = 0;
- while (1 == parse_a_format (&format, &ft))
- {
- struct { char a; short b; } s_h;
- struct { char a; int b; } s_i;
- struct { char a; long b; } s_l;
- struct { char a; float b; } s_f;
- struct { char a; double b; } s_d;
- unsigned int pad;
-
- if (ft.repeat == 0)
- continue;
-
- if (ft.data_type == 0)
- { /* pad */
- sprintf (b, "x%u", ft.repeat);
- b += strlen (b);
- len += ft.repeat;
- continue;
- }
-
- switch (ft.data_type)
- {
- default:
- case SLANG_STRING_TYPE:
- case SLANG_BSTRING_TYPE:
- case SLANG_CHAR_TYPE:
- case SLANG_UCHAR_TYPE:
- pad = 0;
- break;
-
- case SLANG_SHORT_TYPE:
- case SLANG_USHORT_TYPE:
- pad = ((unsigned int) ((char *)&s_h.b - (char *)&s_h.a));
- break;
-
- case SLANG_INT_TYPE:
- case SLANG_UINT_TYPE:
- pad = ((unsigned int) ((char *)&s_i.b - (char *)&s_i.a));
- break;
-
- case SLANG_LONG_TYPE:
- case SLANG_ULONG_TYPE:
- pad = ((unsigned int) ((char *)&s_l.b - (char *)&s_l.a));
- break;
-
- case SLANG_FLOAT_TYPE:
- pad = ((unsigned int) ((char *)&s_f.b - (char *)&s_f.a));
- break;
-
- case SLANG_DOUBLE_TYPE:
- pad = ((unsigned int) ((char *)&s_d.b - (char *)&s_d.a));
- break;
- }
-
- /* Pad to a length that is an integer multiple of pad. */
- if (pad)
- pad = pad * ((len + pad - 1)/pad) - len;
-
- if (pad)
- {
- sprintf (b, "x%u", pad);
- b += strlen (b);
- len += pad;
- }
-
- *b++ = ft.format_type;
- if (ft.repeat > 1)
- {
- sprintf (b, "%u", ft.repeat);
- b += strlen (b);
- }
-
- len += ft.repeat * ft.sizeof_type;
- }
- *b = 0;
-
- (void) SLang_push_malloced_string (buf);
-}
diff --git a/mdk-stage1/slang/slparse.c b/mdk-stage1/slang/slparse.c
deleted file mode 100644
index bc709d1fb..000000000
--- a/mdk-stage1/slang/slparse.c
+++ /dev/null
@@ -1,1970 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static SLang_Load_Type *LLT;
-int _SLang_Compile_Line_Num_Info;
-
-static void free_token (_SLang_Token_Type *t)
-{
- register unsigned int nrefs = t->num_refs;
-
- if (nrefs == 0)
- return;
-
- if (nrefs == 1)
- {
- if (t->free_sval_flag)
- {
- if (t->type == BSTRING_TOKEN)
- SLbstring_free (t->v.b_val);
- else
- _SLfree_hashed_string (t->v.s_val, strlen (t->v.s_val), t->hash);
- t->v.s_val = NULL;
- }
- }
-
- t->num_refs = nrefs - 1;
-}
-
-static void init_token (_SLang_Token_Type *t)
-{
- memset ((char *) t, 0, sizeof (_SLang_Token_Type));
-#if _SLANG_HAS_DEBUG_CODE
- t->line_number = -1;
-#endif
-}
-
-/* Allow room for one push back of a token. This is necessary for
- * multiple assignment.
- */
-static unsigned int Use_Next_Token;
-static _SLang_Token_Type Next_Token;
-#if _SLANG_HAS_DEBUG_CODE
-static int Last_Line_Number = -1;
-#endif
-
-static int unget_token (_SLang_Token_Type *ctok)
-{
- if (SLang_Error)
- return -1;
- if (Use_Next_Token != 0)
- {
- _SLparse_error ("unget_token failed", ctok, 0);
- return -1;
- }
-
- Use_Next_Token++;
- Next_Token = *ctok;
- init_token (ctok);
- return 0;
-}
-
-static int get_token (_SLang_Token_Type *ctok)
-{
- if (ctok->num_refs)
- free_token (ctok);
-
- if (Use_Next_Token)
- {
- Use_Next_Token--;
- *ctok = Next_Token;
- return ctok->type;
- }
-
- return _SLget_token (ctok);
-}
-
-static int compile_token (_SLang_Token_Type *t)
-{
-#if _SLANG_HAS_DEBUG_CODE
- if (_SLang_Compile_Line_Num_Info
- && (t->line_number != Last_Line_Number)
- && (t->line_number != -1))
- {
- _SLang_Token_Type tok;
- tok.type = LINE_NUM_TOKEN;
- tok.v.long_val = Last_Line_Number = t->line_number;
- (*_SLcompile_ptr) (&tok);
- }
-#endif
- (*_SLcompile_ptr) (t);
- return 0;
-}
-
-typedef struct
-{
-#define USE_PARANOID_MAGIC 0
-#if USE_PARANOID_MAGIC
- unsigned long magic;
-#endif
- _SLang_Token_Type *stack;
- unsigned int len;
- unsigned int size;
-}
-Token_List_Type;
-
-#define MAX_TOKEN_LISTS 16
-static Token_List_Type Token_List_Stack [MAX_TOKEN_LISTS];
-static unsigned int Token_List_Stack_Depth = 0;
-static Token_List_Type *Token_List = NULL;
-
-static void init_token_list (Token_List_Type *t)
-{
- t->size = 0;
- t->len = 0;
- t->stack = NULL;
-#if USE_PARANOID_MAGIC
- t->magic = 0xABCDEF12;
-#endif
-}
-
-static void free_token_list (Token_List_Type *t)
-{
- _SLang_Token_Type *s;
-
- if (t == NULL)
- return;
-#if USE_PARANOID_MAGIC
- if (t->magic != 0xABCDEF12)
- {
- SLang_doerror ("Magic error.");
- return;
- }
-#endif
- s = t->stack;
- if (s != NULL)
- {
- _SLang_Token_Type *smax = s + t->len;
- while (s != smax)
- {
- if (s->num_refs) free_token (s);
- s++;
- }
-
- SLfree ((char *) t->stack);
- }
-
- memset ((char *) t, 0, sizeof (Token_List_Type));
-}
-
-static Token_List_Type *push_token_list (void)
-{
- if (Token_List_Stack_Depth == MAX_TOKEN_LISTS)
- {
- _SLparse_error ("Token list stack size exceeded", NULL, 0);
- return NULL;
- }
-
- Token_List = Token_List_Stack + Token_List_Stack_Depth;
- Token_List_Stack_Depth++;
- init_token_list (Token_List);
- return Token_List;
-}
-
-static int pop_token_list (int do_free)
-{
- if (Token_List_Stack_Depth == 0)
- {
- if (SLang_Error == 0)
- _SLparse_error ("Token list stack underflow", NULL, 0);
- return -1;
- }
- Token_List_Stack_Depth--;
-
- if (do_free) free_token_list (Token_List);
-
- if (Token_List_Stack_Depth != 0)
- Token_List = Token_List_Stack + (Token_List_Stack_Depth - 1);
- else
- Token_List = NULL;
-
- return 0;
-}
-
-static int check_token_list_space (Token_List_Type *t, unsigned int delta_size)
-{
- _SLang_Token_Type *st;
- unsigned int len;
-#if USE_PARANOID_MAGIC
- if (t->magic != 0xABCDEF12)
- {
- SLang_doerror ("Magic error.");
- return -1;
- }
-#endif
- len = t->len + delta_size;
- if (len <= t->size) return 0;
-
- if (delta_size < 4)
- {
- delta_size = 4;
- len = t->len + delta_size;
- }
-
- st = (_SLang_Token_Type *) SLrealloc((char *) t->stack,
- len * sizeof(_SLang_Token_Type));
- if (st == NULL)
- {
- _SLparse_error ("Malloc error", NULL, 0);
- return -1;
- }
-
- memset ((char *) (st + t->len), 0, delta_size);
-
- t->stack = st;
- t->size = len;
- return 0;
-}
-
-static int append_token (_SLang_Token_Type *t)
-{
- if (-1 == check_token_list_space (Token_List, 1))
- return -1;
-
- Token_List->stack [Token_List->len] = *t;
- Token_List->len += 1;
- t->num_refs = 0; /* stealing it */
- return 0;
-}
-
-static int append_token_of_type (unsigned char t)
-{
- _SLang_Token_Type *tok;
-
- if (-1 == check_token_list_space (Token_List, 1))
- return -1;
-
- /* The memset when the list was created ensures that the other fields
- * are properly initialized.
- */
- tok = Token_List->stack + Token_List->len;
- init_token (tok);
- tok->type = t;
- Token_List->len += 1;
- return 0;
-}
-
-static _SLang_Token_Type *get_last_token (void)
-{
- unsigned int len;
-
- if ((Token_List == NULL)
- || (0 == (len = Token_List->len)))
- return NULL;
-
- len--;
- return Token_List->stack + len;
-}
-
-/* This function does NOT free the list. */
-static int compile_token_list_with_fun (int dir, Token_List_Type *list,
- int (*f)(_SLang_Token_Type *))
-{
- _SLang_Token_Type *t0, *t1;
-
- if (list == NULL)
- return -1;
-
- if (f == NULL)
- f = compile_token;
-
- t0 = list->stack;
- t1 = t0 + list->len;
-
- if (dir < 0)
- {
- /* backwards */
-
- while ((SLang_Error == 0) && (t1 > t0))
- {
- t1--;
- (*f) (t1);
- }
- return 0;
- }
-
- /* forward */
- while ((SLang_Error == 0) && (t0 < t1))
- {
- (*f) (t0);
- t0++;
- }
- return 0;
-}
-
-static int compile_token_list (void)
-{
- if (Token_List == NULL)
- return -1;
-
- compile_token_list_with_fun (1, Token_List, NULL);
- pop_token_list (1);
- return 0;
-}
-
-/* Take all elements in the list from pos2 to the end and exchange them
- * with the elements at pos1, e.g.,
- * ...ABCDEabc ==> ...abcABCDE
- * where pos1 denotes A and pos2 denotes a.
- */
-static int token_list_element_exchange (unsigned int pos1, unsigned int pos2)
-{
- _SLang_Token_Type *s, *s1, *s2;
- unsigned int len, nloops;
-
- if (Token_List == NULL)
- return -1;
-
- s = Token_List->stack;
- len = Token_List->len;
-
- if ((s == NULL) || (len == 0)
- || (pos2 >= len))
- return -1;
-
- /* This may not be the most efficient algorithm but the number to swap
- * is most-likely going to be small, e.g, 3
- * The algorithm is to rotate the list. The particular rotation
- * direction was chosen to make insert_token fast.
- * It works like:
- * @ ABCabcde --> BCabcdeA --> CabcdeAB --> abcdefAB
- * which is optimal for Abcdef sequence produced by function calls.
- *
- * Profiling indicates that nloops is almost always 1, whereas the inner
- * loop can loop many times (e.g., 9 times).
- */
-
- s2 = s + (len - 1);
- s1 = s + pos1;
- nloops = pos2 - pos1;
-
- while (nloops)
- {
- _SLang_Token_Type save;
-
- s = s1;
- save = *s;
-
- while (s < s2)
- {
- *s = *(s + 1);
- s++;
- }
- *s = save;
-
- nloops--;
- }
- return 0;
-}
-
-#if 0
-static int insert_token (_SLang_Token_Type *t, unsigned int pos)
-{
- if (-1 == append_token (t))
- return -1;
-
- return token_list_element_exchange (pos, Token_List->len - 1);
-}
-#endif
-static void compile_token_of_type (unsigned char t)
-{
- _SLang_Token_Type tok;
-
-#if _SLANG_HAS_DEBUG_CODE
- tok.line_number = -1;
-#endif
- tok.type = t;
- compile_token(&tok);
-}
-
-static void statement (_SLang_Token_Type *);
-static void compound_statement (_SLang_Token_Type *);
-static void expression_with_parenthesis (_SLang_Token_Type *);
-static void handle_semicolon (_SLang_Token_Type *);
-static void statement_list (_SLang_Token_Type *);
-static void variable_list (_SLang_Token_Type *, unsigned char);
-static void struct_declaration (_SLang_Token_Type *);
-static void define_function_args (_SLang_Token_Type *);
-static void typedef_definition (_SLang_Token_Type *);
-static void function_args_expression (_SLang_Token_Type *, int);
-static void expression (_SLang_Token_Type *);
-static void expression_with_commas (_SLang_Token_Type *, int);
-static void simple_expression (_SLang_Token_Type *);
-static void unary_expression (_SLang_Token_Type *);
-static void postfix_expression (_SLang_Token_Type *);
-static int check_for_lvalue (unsigned char, _SLang_Token_Type *);
-/* static void primary_expression (_SLang_Token_Type *); */
-static void block (_SLang_Token_Type *);
-static void inline_array_expression (_SLang_Token_Type *);
-static void array_index_expression (_SLang_Token_Type *);
-static void do_multiple_assignment (_SLang_Token_Type *);
-static void try_multiple_assignment (_SLang_Token_Type *);
-#if 0
-static void not_implemented (char *what)
-{
- char err [256];
- sprintf (err, "Expression not implemented: %s", what);
- _SLparse_error (err, NULL, 0);
-}
-#endif
-static void rpn_parse_line (_SLang_Token_Type *tok)
-{
- do
- {
- /* multiple RPN tokens possible when the file looks like:
- * . <end of line>
- * . <end of line>
- */
- if (tok->type != RPN_TOKEN)
- compile_token (tok);
- free_token (tok);
- }
- while (EOF_TOKEN != _SLget_rpn_token (tok));
-}
-
-static int get_identifier_token (_SLang_Token_Type *tok)
-{
- if (IDENT_TOKEN == get_token (tok))
- return IDENT_TOKEN;
-
- _SLparse_error ("Expecting identifier", tok, 0);
- return tok->type;
-}
-
-static void define_function (_SLang_Token_Type *ctok, unsigned char type)
-{
- _SLang_Token_Type fname;
-
- switch (type)
- {
- case STATIC_TOKEN:
- type = DEFINE_STATIC_TOKEN;
- break;
-
- case PUBLIC_TOKEN:
- type = DEFINE_PUBLIC_TOKEN;
- break;
-
- case PRIVATE_TOKEN:
- type = DEFINE_PRIVATE_TOKEN;
- }
-
- init_token (&fname);
- if (IDENT_TOKEN != get_identifier_token (&fname))
- {
- free_token (&fname);
- return;
- }
-
- compile_token_of_type(OPAREN_TOKEN);
- get_token (ctok);
- define_function_args (ctok);
- compile_token_of_type(FARG_TOKEN);
-
- if (ctok->type == OBRACE_TOKEN)
- compound_statement(ctok);
-
- else if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting {", ctok, 0);
- free_token (&fname);
- return;
- }
-
- fname.type = type;
- compile_token (&fname);
- free_token (&fname);
-}
-
-/* statement:
- * compound-statement
- * if ( expression ) statement
- * if ( expression ) statement else statement
- * !if ( expression ) statement
- * loop ( expression ) statement
- * _for ( expression ) statement
- * foreach ( expression ) statement
- * foreach (expression ) using (expression-list) statement
- * while ( expression ) statement
- * do statement while (expression) ;
- * for ( expressionopt ; expressionopt ; expressionopt ) statement
- * ERROR_BLOCK statement
- * EXIT_BLOCK statement
- * USER_BLOCK0 statement
- * USER_BLOCK1 statement
- * USER_BLOCK2 statement
- * USER_BLOCK3 statement
- * USER_BLOCK4 statement
- * forever statement
- * break ;
- * continue ;
- * return expressionopt ;
- * variable variable-list ;
- * struct struct-decl ;
- * define identifier function-args ;
- * define identifier function-args compound-statement
- * switch ( expression ) statement
- * rpn-line
- * at-line
- * push ( expression )
- * ( expression ) = expression ;
- * expression ;
- * expression :
- */
-
-/* Note: This function does not return with a new token. It is up to the
- * calling routine to handle that.
- */
-static void statement (_SLang_Token_Type *ctok)
-{
- unsigned char type;
-
- if (SLang_Error)
- return;
-
- LLT->parse_level += 1;
-
- switch (ctok->type)
- {
- case OBRACE_TOKEN:
- compound_statement (ctok);
- break;
-
- case IF_TOKEN:
- case IFNOT_TOKEN:
- type = ctok->type;
- get_token (ctok);
- expression_with_parenthesis (ctok);
- block (ctok);
-
- if (ELSE_TOKEN != get_token (ctok))
- {
- compile_token_of_type (type);
- unget_token (ctok);
- break;
- }
- get_token (ctok);
- block (ctok);
- if (type == IF_TOKEN) type = ELSE_TOKEN; else type = NOTELSE_TOKEN;
- compile_token_of_type (type);
- break;
-
- /* case IFNOT_TOKEN: */
- case LOOP_TOKEN:
- case _FOR_TOKEN:
- type = ctok->type;
- get_token (ctok);
- expression_with_parenthesis (ctok);
- block (ctok);
- compile_token_of_type (type);
- break;
-
- case FOREACH_TOKEN:
- get_token (ctok);
- expression_with_parenthesis (ctok);
-
- if (NULL == push_token_list ())
- break;
-
- append_token_of_type (ARG_TOKEN);
- if (ctok->type == USING_TOKEN)
- {
- if (OPAREN_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expected 'using ('", ctok, 0);
- break;
- }
- get_token (ctok);
- function_args_expression (ctok, 0);
- }
- append_token_of_type (EARG_TOKEN);
-
- compile_token_list ();
-
- block (ctok);
- compile_token_of_type (FOREACH_TOKEN);
- break;
-
- case WHILE_TOKEN:
- get_token (ctok);
- compile_token_of_type (OBRACE_TOKEN);
- expression_with_parenthesis (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- block (ctok);
- compile_token_of_type (WHILE_TOKEN);
- break;
-
- case DO_TOKEN:
- get_token (ctok);
- block (ctok);
-
- if (WHILE_TOKEN != get_token (ctok))
- {
- _SLparse_error("Expecting while", ctok, 0);
- break;
- }
-
- get_token (ctok);
-
- compile_token_of_type (OBRACE_TOKEN);
- expression_with_parenthesis (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- compile_token_of_type (DOWHILE_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case FOR_TOKEN:
-
- /* Look for (exp_opt ; exp_opt ; exp_opt ) */
-
- if (OPAREN_TOKEN != get_token (ctok))
- {
- _SLparse_error("Expecting (.", ctok, 0);
- break;
- }
-
- if (NULL == push_token_list ())
- break;
-
- append_token_of_type (OBRACE_TOKEN);
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting ;", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- append_token_of_type (OBRACE_TOKEN);
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error("Expecting ;", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- append_token_of_type (OBRACE_TOKEN);
- if (CPAREN_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != CPAREN_TOKEN)
- {
- _SLparse_error("Expecting ).", ctok, 0);
- break;
- }
- }
- append_token_of_type (CBRACE_TOKEN);
-
- compile_token_list ();
-
- get_token (ctok);
- block (ctok);
- compile_token_of_type (FOR_TOKEN);
- break;
-
- case ERRBLK_TOKEN:
- case EXITBLK_TOKEN:
- case USRBLK0_TOKEN:
- case USRBLK1_TOKEN:
- case USRBLK2_TOKEN:
- case USRBLK3_TOKEN:
- case USRBLK4_TOKEN:
- case FOREVER_TOKEN:
- type = ctok->type;
- get_token (ctok);
- block (ctok);
- compile_token_of_type (type);
- break;
-
- case BREAK_TOKEN:
- case CONT_TOKEN:
- compile_token_of_type (ctok->type);
- get_token (ctok);
- handle_semicolon (ctok);
- break;
-
- case RETURN_TOKEN:
- if (SEMICOLON_TOKEN != get_token (ctok))
- {
- if (NULL == push_token_list ())
- break;
-
- expression (ctok);
-
- if (ctok->type != SEMICOLON_TOKEN)
- {
- _SLparse_error ("Expecting ;", ctok, 0);
- break;
- }
- compile_token_list ();
- }
- compile_token_of_type (RETURN_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case STATIC_TOKEN:
- case PRIVATE_TOKEN:
- case PUBLIC_TOKEN:
- type = ctok->type;
- get_token (ctok);
- if (ctok->type == VARIABLE_TOKEN)
- {
- get_token (ctok);
- variable_list (ctok, type);
- handle_semicolon (ctok);
- break;
- }
- if (ctok->type == DEFINE_TOKEN)
- {
- define_function (ctok, type);
- break;
- }
- _SLparse_error ("Expecting 'variable' or 'define'", ctok, 0);
- break;
-
- case VARIABLE_TOKEN:
- get_token (ctok);
- variable_list (ctok, OBRACKET_TOKEN);
- handle_semicolon (ctok);
- break;
-
- case TYPEDEF_TOKEN:
- get_token (ctok);
- if (NULL == push_token_list ())
- break;
- typedef_definition (ctok);
- compile_token_list ();
-
- handle_semicolon (ctok);
- break;
-
- case DEFINE_TOKEN:
- define_function (ctok, DEFINE_TOKEN);
- break;
-
- case SWITCH_TOKEN:
- get_token (ctok);
- expression_with_parenthesis (ctok);
-
- while ((SLang_Error == 0)
- && (OBRACE_TOKEN == ctok->type))
- {
- compile_token_of_type (OBRACE_TOKEN);
- compound_statement (ctok);
- compile_token_of_type (CBRACE_TOKEN);
- get_token (ctok);
- }
- compile_token_of_type (SWITCH_TOKEN);
- unget_token (ctok);
- break;
-
- case EOF_TOKEN:
- break;
-#if 0
- case PUSH_TOKEN:
- get_token (ctok);
- expression_list_with_parenthesis (ctok);
- handle_semicolon (ctok);
- break;
-#endif
-
- case SEMICOLON_TOKEN:
- handle_semicolon (ctok);
- break;
-
- case RPN_TOKEN:
- if (POUND_TOKEN == get_token (ctok))
- _SLcompile_byte_compiled ();
- else if (ctok->type != EOF_TOKEN)
- rpn_parse_line (ctok);
- break;
-
- case OPAREN_TOKEN: /* multiple assignment */
- try_multiple_assignment (ctok);
- if (ctok->type == COLON_TOKEN)
- compile_token_of_type (COLON_TOKEN);
- else handle_semicolon (ctok);
- break;
-
- default:
-
- if (NULL == push_token_list ())
- break;
-
- expression (ctok);
- compile_token_list ();
-
- if (ctok->type == COLON_TOKEN)
- compile_token_of_type (COLON_TOKEN);
- else handle_semicolon (ctok);
- break;
- }
-
- LLT->parse_level -= 1;
-}
-
-static void block (_SLang_Token_Type *ctok)
-{
- compile_token_of_type (OBRACE_TOKEN);
- statement (ctok);
- compile_token_of_type (CBRACE_TOKEN);
-}
-
-/*
- * statement-list:
- * statement
- * statement-list statement
- */
-static void statement_list (_SLang_Token_Type *ctok)
-{
- while ((SLang_Error == 0)
- && (ctok->type != CBRACE_TOKEN)
- && (ctok->type != EOF_TOKEN))
- {
- statement(ctok);
- get_token (ctok);
- }
-}
-
-/* compound-statement:
- * { statement-list }
- */
-static void compound_statement (_SLang_Token_Type *ctok)
-{
- /* ctok->type is OBRACE_TOKEN here */
- get_token (ctok);
- statement_list(ctok);
- if (CBRACE_TOKEN != ctok->type)
- {
- _SLparse_error ("Expecting '}'", ctok, 0);
- return;
- }
-}
-
-/* This function is only called from statement. */
-static void expression_with_parenthesis (_SLang_Token_Type *ctok)
-{
- if (ctok->type != OPAREN_TOKEN)
- {
- _SLparse_error("Expecting (", ctok, 0);
- return;
- }
-
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
- expression (ctok);
-
- if (ctok->type != CPAREN_TOKEN)
- _SLparse_error("Expecting )", ctok, 0);
-
- compile_token_list ();
-
- get_token (ctok);
-}
-
-static void handle_semicolon (_SLang_Token_Type *ctok)
-{
- if ((ctok->type == SEMICOLON_TOKEN)
- || (ctok->type == EOF_TOKEN))
- return;
-
- _SLparse_error ("Expecting ;", ctok, 0);
-}
-
-void _SLparse_start (SLang_Load_Type *llt)
-{
- _SLang_Token_Type ctok;
- SLang_Load_Type *save_llt;
- unsigned int save_use_next_token;
- _SLang_Token_Type save_next_token;
- Token_List_Type *save_list;
-#if _SLANG_HAS_DEBUG_CODE
- int save_last_line_number = Last_Line_Number;
-
- Last_Line_Number = -1;
-#endif
- save_use_next_token = Use_Next_Token;
- save_next_token = Next_Token;
- save_list = Token_List;
- save_llt = LLT;
- LLT = llt;
-
- init_token (&Next_Token);
- Use_Next_Token = 0;
- init_token (&ctok);
- get_token (&ctok);
-
- llt->parse_level = 0;
- statement_list (&ctok);
-
- if ((SLang_Error == 0)
- && (ctok.type != EOF_TOKEN))
- _SLparse_error ("Parse ended prematurely", &ctok, 0);
-
-
- if (SLang_Error)
- {
- if (SLang_Error < 0) /* severe error */
- save_list = NULL;
-
- while (Token_List != save_list)
- {
- if (-1 == pop_token_list (1))
- break; /* ??? when would this happen? */
- }
- }
-
- free_token (&ctok);
- LLT = save_llt;
- if (Use_Next_Token)
- free_token (&Next_Token);
- Use_Next_Token = save_use_next_token;
- Next_Token = save_next_token;
-#if _SLANG_HAS_DEBUG_CODE
- Last_Line_Number = save_last_line_number;
-#endif
-}
-
-/* variable-list:
- * variable-decl
- * variable-decl variable-list
- *
- * variable-decl:
- * identifier
- * identifier = simple-expression
- */
-static void variable_list (_SLang_Token_Type *name_token, unsigned char variable_type)
-{
- int declaring;
- _SLang_Token_Type tok;
-
- if (name_token->type != IDENT_TOKEN)
- {
- _SLparse_error ("Expecting a variable name", name_token, 0);
- return;
- }
-
- declaring = 0;
- do
- {
- if (declaring == 0)
- {
- declaring = 1;
- compile_token_of_type (variable_type);
- }
-
- compile_token (name_token);
-
- init_token (&tok);
- if (ASSIGN_TOKEN == get_token (&tok))
- {
- compile_token_of_type (CBRACKET_TOKEN);
- declaring = 0;
-
- get_token (&tok);
-
- push_token_list ();
- simple_expression (&tok);
- compile_token_list ();
-
- name_token->type = _SCALAR_ASSIGN_TOKEN;
- compile_token (name_token);
- }
-
- free_token (name_token);
- *name_token = tok;
- }
- while ((name_token->type == COMMA_TOKEN)
- && (IDENT_TOKEN == get_token (name_token)));
-
- if (declaring) compile_token_of_type (CBRACKET_TOKEN);
-}
-
-/* struct-declaration:
- * struct { struct-field-list };
- *
- * struct-field-list:
- * struct-field-name , struct-field-list
- * struct-field-name
- *
- * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN
- */
-static void struct_declaration (_SLang_Token_Type *ctok)
-{
- int n;
- _SLang_Token_Type num_tok;
-
- if (ctok->type != OBRACE_TOKEN)
- {
- _SLparse_error ("Expecting {", ctok, 0);
- return;
- }
-
- n = 0;
- while (IDENT_TOKEN == get_token (ctok))
- {
- n++;
- ctok->type = STRING_TOKEN;
- append_token (ctok);
- if (COMMA_TOKEN != get_token (ctok))
- break;
- }
-
- if (ctok->type != CBRACE_TOKEN)
- {
- _SLparse_error ("Expecting }", ctok, 0);
- return;
- }
- if (n == 0)
- {
- _SLparse_error ("struct requires at least 1 field", ctok, 0);
- return;
- }
-
- init_token (&num_tok);
- num_tok.type = INT_TOKEN;
- num_tok.v.long_val = n;
- append_token (&num_tok);
- append_token_of_type (STRUCT_TOKEN);
-
- get_token (ctok);
-}
-
-/* struct-declaration:
- * typedef struct { struct-field-list } Type_Name;
- *
- * struct-field-list:
- * struct-field-name , struct-field-list
- * struct-field-name
- *
- * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN typedef
- */
-static void typedef_definition (_SLang_Token_Type *t)
-{
-
- if (t->type != STRUCT_TOKEN)
- {
- _SLparse_error ("Expecting `struct'", t, 0);
- return;
- }
- get_token (t);
-
- struct_declaration (t);
- if (t->type != IDENT_TOKEN)
- {
- _SLparse_error ("Expecting identifier", t, 0);
- return;
- }
-
- t->type = STRING_TOKEN;
- append_token (t);
- append_token_of_type (TYPEDEF_TOKEN);
-
- get_token (t);
-}
-
-/* function-args:
- * ( args-dec-opt )
- *
- * args-decl-opt:
- * identifier
- * args-decl , identifier
- */
-static void define_function_args (_SLang_Token_Type *ctok)
-{
- if (CPAREN_TOKEN == get_token (ctok))
- {
- get_token (ctok);
- return;
- }
-
- compile_token_of_type(OBRACKET_TOKEN);
-
- while ((SLang_Error == 0)
- && (ctok->type == IDENT_TOKEN))
- {
- compile_token (ctok);
- if (COMMA_TOKEN != get_token (ctok))
- break;
-
- get_token (ctok);
- }
-
- if (CPAREN_TOKEN != ctok->type)
- {
- _SLparse_error("Expecting )", ctok, 0);
- return;
- }
- compile_token_of_type(CBRACKET_TOKEN);
-
- get_token (ctok);
-}
-
-void try_multiple_assignment (_SLang_Token_Type *ctok)
-{
- /* This is called with ctok->type == OPAREN_TOKEN. We have no idea
- * what follows this. There are various possibilities such as:
- * @ () = x;
- * @ ( expression ) = x;
- * @ ( expression ) ;
- * @ ( expression ) OP expression;
- * @ ( expression ) [expression] = expression;
- * and only the first two constitute a multiple assignment. The last
- * two forms create the difficulty.
- *
- * Here is the plan. First parse (expression) and then check next token.
- * If it is an equal operator, then it will be parsed as a multiple
- * assignment. In fact, that is the easy part.
- *
- * The hard part stems from the fact that by parsing (expression), we
- * have effectly truncated the parse if (expression) is part of a binary
- * or unary expression. Somehow, the parsing must be resumed. The trick
- * here is to use a dummy literal that generates no code: NO_OP_LITERAL
- * Using it, we just call 'expression' and proceed.
- */
-
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
-
- if (ctok->type != CPAREN_TOKEN)
- {
- expression_with_commas (ctok, 1);
- if (ctok->type != CPAREN_TOKEN)
- {
- _SLparse_error ("Expecting )", ctok, 0);
- return;
- }
- }
-
- switch (get_token (ctok))
- {
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- do_multiple_assignment (ctok);
- pop_token_list (1);
- break;
-
- default:
- unget_token (ctok);
- ctok->type = NO_OP_LITERAL;
- expression (ctok);
- compile_token_list ();
- break;
- }
-}
-
-/* Note: expression never gets compiled directly. Rather, it gets
- * appended to the token list and then compiled by a calling
- * routine.
- */
-
-/* expression:
- * simple_expression
- * simple-expression , expression
- * <none>
- */
-static void expression_with_commas (_SLang_Token_Type *ctok, int save_comma)
-{
- while (SLang_Error == 0)
- {
- if (ctok->type != COMMA_TOKEN)
- {
- if (ctok->type == CPAREN_TOKEN)
- return;
-
- simple_expression (ctok);
-
- if (ctok->type != COMMA_TOKEN)
- break;
- }
- if (save_comma) append_token (ctok);
- get_token (ctok);
- }
-}
-
-static void expression (_SLang_Token_Type *ctok)
-{
- expression_with_commas (ctok, 0);
-}
-
-/* priority levels of binary operations */
-static unsigned char Binop_Level[] =
-{
-/* ADD_TOKEN */ 2,
-/* SUB_TOKEN */ 2,
-/* MUL_TOKEN */ 1,
-/* DIV_TOKEN */ 1,
-/* LT_TOKEN */ 4,
-/* LE_TOKEN */ 4,
-/* GT_TOKEN */ 4,
-/* GE_TOKEN */ 4,
-/* EQ_TOKEN */ 5,
-/* NE_TOKEN */ 5,
-/* AND_TOKEN */ 9,
-/* OR_TOKEN */ 10,
-/* MOD_TOKEN */ 1,
-/* BAND_TOKEN */ 6,
-/* SHL_TOKEN */ 3,
-/* SHR_TOKEN */ 3,
-/* BXOR_TOKEN */ 7,
-/* BOR_TOKEN */ 8,
-/* POUND_TOKEN */ 1 /* Matrix Multiplication */
-};
-
-/* % Note: simple-expression groups operators OP1 at same level. The
- * % actual implementation will not do this.
- * simple-expression:
- * unary-expression
- * binary-expression BINARY-OP unary-expression
- * andelse xxelse-expression-list
- * orelse xxelse-expression-list
- *
- * xxelse-expression-list:
- * { expression }
- * xxelse-expression-list { expression }
- * binary-expression:
- * unary-expression
- * unary-expression BINARY-OP binary-expression
- */
-static void simple_expression (_SLang_Token_Type *ctok)
-{
- unsigned char type;
- unsigned char op_stack [64];
- unsigned char level_stack [64];
- unsigned char level;
- unsigned int op_num;
-
- switch (ctok->type)
- {
- case ANDELSE_TOKEN:
- case ORELSE_TOKEN:
- type = ctok->type;
- if (OBRACE_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expecting '{'", ctok, 0);
- return;
- }
-
- while (ctok->type == OBRACE_TOKEN)
- {
- append_token (ctok);
- get_token (ctok);
- expression (ctok);
- if (CBRACE_TOKEN != ctok->type)
- {
- _SLparse_error("Expecting }", ctok, 0);
- return;
- }
- append_token (ctok);
- get_token (ctok);
- }
- append_token_of_type (type);
- return;
-
- /* avoid unary-expression if possible */
- case STRING_TOKEN:
- append_token (ctok);
- get_token (ctok);
- break;
-
- default:
- unary_expression (ctok);
- break;
- }
-
- if (SEMICOLON_TOKEN == (type = ctok->type))
- return;
-
- op_num = 0;
-
- while ((SLang_Error == 0)
- && (IS_BINARY_OP(type)))
- {
- level = Binop_Level[type - FIRST_BINARY_OP];
-
- while ((op_num > 0) && (level_stack [op_num - 1] <= level))
- append_token_of_type (op_stack [--op_num]);
-
- if (op_num >= sizeof (op_stack) - 1)
- {
- _SLparse_error ("Binary op stack overflow", ctok, 0);
- return;
- }
-
- op_stack [op_num] = type;
- level_stack [op_num] = level;
- op_num++;
-
- get_token (ctok);
- unary_expression (ctok);
- type = ctok->type;
- }
-
- while (op_num > 0)
- append_token_of_type(op_stack[--op_num]);
-}
-
-/* unary-expression:
- * postfix-expression
- * ++ postfix-expression
- * -- postfix-expression
- * case unary-expression
- * OP3 unary-expression
- * (OP3: + - ~ & not @)
- *
- * Note: This grammar permits: case case case WHATEVER
- */
-static void unary_expression (_SLang_Token_Type *ctok)
-{
- unsigned char save_unary_ops [16];
- unsigned int num_unary_ops;
- unsigned char type;
- _SLang_Token_Type *last_token;
-
- num_unary_ops = 0;
- while (SLang_Error == 0)
- {
- type = ctok->type;
-
- switch (type)
- {
- case PLUSPLUS_TOKEN:
- case MINUSMINUS_TOKEN:
- get_token (ctok);
- postfix_expression (ctok);
- check_for_lvalue (type, NULL);
- goto out_of_switch;
-
- case ADD_TOKEN:
- get_token (ctok); /* skip it-- it's unary here */
- break;
-
- case SUB_TOKEN:
- (void) get_token (ctok);
- if (IS_INTEGER_TOKEN (ctok->type))
- {
- ctok->v.long_val = -ctok->v.long_val;
- break;
- }
-
- if (num_unary_ops == 16)
- goto stack_overflow_error;
- save_unary_ops [num_unary_ops++] = CHS_TOKEN;
- break;
-
- case DEREF_TOKEN:
- case BNOT_TOKEN:
- case NOT_TOKEN:
- case CASE_TOKEN:
- if (num_unary_ops == 16)
- goto stack_overflow_error;
-
- save_unary_ops [num_unary_ops++] = type;
- get_token (ctok);
- break;
-
- /* Try to avoid ->postfix_expression->primary_expression
- * subroutine calls.
- */
- case STRING_TOKEN:
- append_token (ctok);
- get_token (ctok);
- goto out_of_switch;
-
- default:
- postfix_expression (ctok);
- goto out_of_switch;
- }
- }
-
- out_of_switch:
- if (num_unary_ops == 0)
- return;
-
- if ((DEREF_TOKEN == save_unary_ops[num_unary_ops - 1])
- && (NULL != (last_token = get_last_token ()))
- && (IS_ASSIGN_TOKEN(last_token->type)))
- {
- /* FIXME: Priority=medium
- * This needs generalized so that things like @a.y = 1 will work properly.
- */
- if ((num_unary_ops != 1)
- || (last_token->type != _SCALAR_ASSIGN_TOKEN))
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Only derefence assignments to simple variables are possible");
- return;
- }
-
- last_token->type += (_DEREF_ASSIGN_TOKEN - _SCALAR_ASSIGN_TOKEN);
- return;
- }
-
- while (num_unary_ops)
- {
- num_unary_ops--;
- append_token_of_type (save_unary_ops [num_unary_ops]);
- }
- return;
-
- stack_overflow_error:
- _SLparse_error ("Too many unary operators.", ctok, 0);
-}
-
-static int combine_namespace_tokens (_SLang_Token_Type *a, _SLang_Token_Type *b)
-{
- char *sa, *sb, *sc;
- unsigned int lena, lenb;
- unsigned long hash;
-
- /* This is somewhat of a hack. Combine the TWO identifier names
- * (NAMESPACE) and (name) into the form NAMESPACE->name. Then when the
- * byte compiler compiles the object it will not be found. It will then
- * check for this hack and make the appropriate namespace lookup.
- */
-
- sa = a->v.s_val;
- sb = b->v.s_val;
-
- lena = strlen (sa);
- lenb = strlen (sb);
-
- sc = SLmalloc (lena + lenb + 3);
- if (sc == NULL)
- return -1;
-
- strcpy (sc, sa);
- strcpy (sc + lena, "->");
- strcpy (sc + lena + 2, sb);
-
- sb = _SLstring_make_hashed_string (sc, lena + lenb + 2, &hash);
- SLfree (sc);
- if (sb == NULL)
- return -1;
-
- /* I can free this string because no other token should be referencing it.
- * (num_refs == 1).
- */
- _SLfree_hashed_string (sa, lena, a->hash);
- a->v.s_val = sb;
- a->hash = hash;
-
- return 0;
-}
-
-static void append_identifier_token (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type *last_token;
-
- append_token (ctok);
-
- if (NAMESPACE_TOKEN != get_token (ctok))
- return;
-
- if (IDENT_TOKEN != get_token (ctok))
- {
- _SLparse_error ("Expecting name-space identifier", ctok, 0);
- return;
- }
-
- last_token = get_last_token ();
- if (-1 == combine_namespace_tokens (last_token, ctok))
- return;
-
- (void) get_token (ctok);
-}
-
-static int get_identifier_expr_token (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type next_token;
-
- if (IDENT_TOKEN != get_identifier_token (ctok))
- return -1;
-
- init_token (&next_token);
- if (NAMESPACE_TOKEN != get_token (&next_token))
- {
- unget_token (&next_token);
- return IDENT_TOKEN;
- }
-
- if (IDENT_TOKEN != get_identifier_token (&next_token))
- {
- free_token (&next_token);
- return -1;
- }
-
- if (-1 == combine_namespace_tokens (ctok, &next_token))
- {
- free_token (&next_token);
- return -1;
- }
- free_token (&next_token);
- return IDENT_TOKEN;
-}
-
-/* postfix-expression:
- * primary-expression
- * postfix-expression [ expression ]
- * postfix-expression ( function-args-expression )
- * postfix-expression . identifier
- * postfix-expression ^ unary-expression
- * postfix-expression ++
- * postfix-expression --
- * postfix-expression = simple-expression
- * postfix-expression += simple-expression
- * postfix-expression -= simple-expression
- *
- * primary-expression:
- * literal
- * identifier-expr
- * ( expression_opt )
- * [ inline-array-expression ]
- * &identifier-expr
- * struct-definition
- * __tmp(identifier-expr)
- *
- * identifier-expr:
- * identifier
- * identifier->identifier
- */
-static void postfix_expression (_SLang_Token_Type *ctok)
-{
- unsigned int start_pos, end_pos;
- unsigned char type;
-
- if (Token_List == NULL)
- return;
-
- start_pos = Token_List->len;
-
- switch (ctok->type)
- {
- case IDENT_TOKEN:
- append_identifier_token (ctok);
- break;
-
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- case STRING_TOKEN:
- case BSTRING_TOKEN:
-#ifdef SLANG_HAS_FLOAT
- case DOUBLE_TOKEN:
- case FLOAT_TOKEN:
-#endif
-#ifdef SLANG_HAS_COMPLEX
- case COMPLEX_TOKEN:
-#endif
- append_token (ctok);
- get_token (ctok);
- break;
-
- case OPAREN_TOKEN:
- if (CPAREN_TOKEN != get_token (ctok))
- {
- expression (ctok);
- if (ctok->type != CPAREN_TOKEN)
- _SLparse_error("Expecting )", ctok, 0);
- }
- get_token (ctok);
- break;
-
- case BAND_TOKEN:
- if (IDENT_TOKEN != get_identifier_expr_token (ctok))
- break;
-
- ctok->type = _REF_TOKEN;
- append_token (ctok);
- get_token (ctok);
- break;
-
- case OBRACKET_TOKEN:
- get_token (ctok);
- inline_array_expression (ctok);
- break;
-
- case NO_OP_LITERAL:
- /* This token was introduced by try_multiple_assignment. There,
- * a new token_list was pushed and (expression) was evaluated.
- * NO_OP_LITERAL represents the result of expression. However,
- * we need to tweak the start_pos variable to point to the beginning
- * of the token list to complete the equivalence.
- */
- start_pos = 0;
- get_token (ctok);
- break;
-
- case STRUCT_TOKEN:
- get_token (ctok);
- struct_declaration (ctok);
- break;
-
- case TMP_TOKEN:
- get_token (ctok);
- if (ctok->type == OPAREN_TOKEN)
- {
- if (IDENT_TOKEN == get_identifier_expr_token (ctok))
- {
- ctok->type = TMP_TOKEN;
- append_token (ctok);
- get_token (ctok);
- if (ctok->type == CPAREN_TOKEN)
- {
- get_token (ctok);
- break;
- }
- }
- }
- _SLparse_error ("Expecting form __tmp(NAME)", ctok, 0);
- break;
-
- default:
- if (IS_INTERNAL_FUNC(ctok->type))
- {
- append_token (ctok);
- get_token (ctok);
- }
- else
- _SLparse_error("Expecting a PRIMARY", ctok, 0);
- }
-
- while (SLang_Error == 0)
- {
- end_pos = Token_List->len;
- type = ctok->type;
- switch (type)
- {
- case OBRACKET_TOKEN: /* X[args] ==> [args] X ARRAY */
- get_token (ctok);
- append_token_of_type (ARG_TOKEN);
- if (ctok->type != CBRACKET_TOKEN)
- array_index_expression (ctok);
-
- if (ctok->type != CBRACKET_TOKEN)
- {
- _SLparse_error ("Expecting ']'", ctok, 0);
- return;
- }
- get_token (ctok);
- /* append_token_of_type (EARG_TOKEN); -- ARRAY_TOKEN implicitely does this */
- token_list_element_exchange (start_pos, end_pos);
- append_token_of_type (ARRAY_TOKEN);
- break;
-
- case OPAREN_TOKEN:
- /* f(args) ==> args f */
- if (CPAREN_TOKEN != get_token (ctok))
- {
- function_args_expression (ctok, 1);
- token_list_element_exchange (start_pos, end_pos);
- }
- else get_token (ctok);
- break;
-
- case DOT_TOKEN:
- /* S.a ==> "a" S DOT
- * This means that if S is X[b], then X[b].a ==> a b X ARRAY DOT
- * and f(a).X[b].c ==> "c" b "X" a f . ARRAY .
- * Also, f(a).X[b] = g(x); ==> x g b "X" a f .
- */
- if (IDENT_TOKEN != get_identifier_token (ctok))
- return;
-
- ctok->type = DOT_TOKEN;
- append_token (ctok);
- get_token (ctok);
- break;
-
- case PLUSPLUS_TOKEN:
- case MINUSMINUS_TOKEN:
- check_for_lvalue (type, NULL);
- get_token (ctok);
- break;
-
- case ASSIGN_TOKEN:
- case PLUSEQS_TOKEN:
- case MINUSEQS_TOKEN:
- case TIMESEQS_TOKEN:
- case DIVEQS_TOKEN:
- case BOREQS_TOKEN:
- case BANDEQS_TOKEN:
- check_for_lvalue (type, NULL);
- get_token (ctok);
- simple_expression (ctok);
- token_list_element_exchange (start_pos, end_pos);
- break;
-
- case POW_TOKEN:
- get_token (ctok);
- unary_expression (ctok);
- append_token_of_type (POW_TOKEN);
- break;
-
- default:
- return;
- }
- }
-}
-
-static void function_args_expression (_SLang_Token_Type *ctok, int handle_num_args)
-{
- unsigned char last_type, this_type;
-
- if (handle_num_args) append_token_of_type (ARG_TOKEN);
-
- last_type = COMMA_TOKEN;
-
- while (SLang_Error == 0)
- {
- this_type = ctok->type;
-
- switch (this_type)
- {
- case COMMA_TOKEN:
- if (last_type == COMMA_TOKEN)
- append_token_of_type (_NULL_TOKEN);
- get_token (ctok);
- break;
-
- case CPAREN_TOKEN:
- if (last_type == COMMA_TOKEN)
- append_token_of_type (_NULL_TOKEN);
- if (handle_num_args) append_token_of_type (EARG_TOKEN);
- get_token (ctok);
- return;
-
- default:
- simple_expression (ctok);
- if ((ctok->type != COMMA_TOKEN)
- && (ctok->type != CPAREN_TOKEN))
- {
- _SLparse_error ("Expecting ')'", ctok, 0);
- break;
- }
- }
- last_type = this_type;
- }
-}
-
-static int check_for_lvalue (unsigned char eqs_type, _SLang_Token_Type *ctok)
-{
- unsigned char type;
-
- if ((ctok == NULL)
- && (NULL == (ctok = get_last_token ())))
- return -1;
-
- type = ctok->type;
-
- eqs_type -= ASSIGN_TOKEN;
-
- if (type == IDENT_TOKEN)
- eqs_type += _SCALAR_ASSIGN_TOKEN;
- else if (type == ARRAY_TOKEN)
- eqs_type += _ARRAY_ASSIGN_TOKEN;
- else if (type == DOT_TOKEN)
- eqs_type += _STRUCT_ASSIGN_TOKEN;
- else
- {
- _SLparse_error ("Expecting LVALUE", ctok, 0);
- return -1;
- }
-
- ctok->type = eqs_type;
- return 0;
-}
-
-static void array_index_expression (_SLang_Token_Type *ctok)
-{
- unsigned int num_commas;
-
- num_commas = 0;
- while (1)
- {
- switch (ctok->type)
- {
- case COLON_TOKEN:
- if (num_commas)
- _SLparse_error ("Misplaced ':'", ctok, 0);
- return;
-
- case TIMES_TOKEN:
- append_token_of_type (_INLINE_WILDCARD_ARRAY_TOKEN);
- get_token (ctok);
- break;
-
- case COMMA_TOKEN:
- _SLparse_error ("Misplaced ','", ctok, 0);
- return;
-
- default:
- simple_expression (ctok);
- }
-
- if (ctok->type != COMMA_TOKEN)
- return;
- num_commas++;
- get_token (ctok);
- }
-}
-
-/* inline-array-expression:
- * array_index_expression
- * simple_expression : simple_expression
- * simple_expression : simple_expression : simple_expression
- */
-static void inline_array_expression (_SLang_Token_Type *ctok)
-{
- int num_colons = 0;
-
- append_token_of_type (ARG_TOKEN);
-
- if (ctok->type == COLON_TOKEN) /* [:...] */
- append_token_of_type (_NULL_TOKEN);
- else if (ctok->type != CBRACKET_TOKEN)
- array_index_expression (ctok);
-
- if (ctok->type == COLON_TOKEN)
- {
- num_colons++;
- if ((COLON_TOKEN == get_token (ctok))
- || (ctok->type == CBRACKET_TOKEN))
- append_token_of_type (_NULL_TOKEN);
- else
- simple_expression (ctok);
-
- if (ctok->type == COLON_TOKEN)
- {
- num_colons++;
- get_token (ctok);
- simple_expression (ctok);
- }
- }
-
- if (ctok->type != CBRACKET_TOKEN)
- {
- _SLparse_error ("Expecting ']'", ctok, 0);
- return;
- }
-
- /* append_token_of_type (EARG_TOKEN); */
- if (num_colons)
- append_token_of_type (_INLINE_IMPLICIT_ARRAY_TOKEN);
- else
- append_token_of_type (_INLINE_ARRAY_TOKEN);
- get_token (ctok);
-}
-
-static void do_multiple_assignment (_SLang_Token_Type *ctok)
-{
- _SLang_Token_Type *s;
- unsigned int i, k, len;
- unsigned char assign_type;
-
- assign_type = ctok->type;
-
- /* The LHS token list has already been pushed. Here we do the RHS
- * so push to another token list, process it, then come back to
- * LHS for assignment.
- */
- if (NULL == push_token_list ())
- return;
-
- get_token (ctok);
- expression (ctok);
- compile_token_list ();
-
- if (SLang_Error)
- return;
-
- /* Finally compile the LHS of the assignment expression
- * that has been saved.
- */
- s = Token_List->stack;
- len = Token_List->len;
-
- if (len == 0)
- {
- compile_token_of_type (POP_TOKEN);
- return;
- }
-
- while (len > 0)
- {
- /* List is of form:
- * a , b, c d e, f , g , , , h ,
- * The missing expressions will be replaced by a POP
- * ,,a
- */
-
- /* Start from back looking for a COMMA */
- k = len - 1;
- if (s[k].type == COMMA_TOKEN)
- {
- compile_token_of_type (POP_TOKEN);
- len = k;
- continue;
- }
-
- if (-1 == check_for_lvalue (assign_type, s + k))
- return;
-
- i = 0;
- while (1)
- {
- if (s[k].type == COMMA_TOKEN)
- {
- i = k + 1;
- break;
- }
-
- if (k == 0)
- break;
-
- k--;
- }
-
- while (i < len)
- {
- compile_token (s + i);
- i++;
- }
-
- len = k;
- }
-
- if (s[0].type == COMMA_TOKEN)
- compile_token_of_type (POP_TOKEN);
-}
-
diff --git a/mdk-stage1/slang/slpath.c b/mdk-stage1/slang/slpath.c
deleted file mode 100644
index 831bd34df..000000000
--- a/mdk-stage1/slang/slpath.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* Pathname and filename functions */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#ifdef HAVE_IO_H
-# include <io.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <time.h>
-
-#include <errno.h>
-#include <string.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* In this file, all file names are assumed to be specified in the Unix
- * format, or in the native format.
- *
- * Aboout VMS:
- * VMS pathnames are a mess. In general, they look like
- * node::device:[dir.dir]file.ext;version
- * and I do not know of a well-defined Unix representation for them. So,
- * I am going to punt and encourage users to stick to the native
- * representation.
- */
-
-#if defined(IBMPC_SYSTEM)
-# define PATH_SEP '\\'
-# define DRIVE_SPECIFIER ':'
-# define SEARCH_PATH_DELIMITER ';'
-# define THIS_DIR_STRING "."
-#else
-# if defined(VMS)
-# define PATH_SEP ']'
-# define DRIVE_SPECIFIER ':'
-# define SEARCH_PATH_DELIMITER ' '
-# define THIS_DIR_STRING "[]" /* Is this correct?? */
-# else
-# define PATH_SEP '/'
-# define UNIX_PATHNAMES_OK
-# define SEARCH_PATH_DELIMITER ':'
-# define THIS_DIR_STRING "."
-# endif
-#endif
-
-#ifdef UNIX_PATHNAMES_OK
-# define IS_PATH_SEP(x) ((x) == PATH_SEP)
-#else
-# define IS_PATH_SEP(x) (((x) == PATH_SEP) || ((x) == '/'))
-#endif
-
-/* If file is /a/b/c/basename, this function returns a pointer to basename */
-char *SLpath_basename (char *file)
-{
- char *b;
-
- if (file == NULL) return NULL;
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (IS_PATH_SEP(*b))
- return b + 1;
-#ifdef DRIVE_SPECIFIER
- if (*b == DRIVE_SPECIFIER)
- return b + 1;
-#endif
- }
-
- return b;
-}
-
-/* Returns a malloced string */
-char *SLpath_pathname_sans_extname (char *file)
-{
- char *b;
-
- file = SLmake_string (file);
- if (file == NULL)
- return NULL;
-
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (*b == '.')
- {
- *b = 0;
- return file;
- }
- }
-
- return file;
-}
-
-/* If path looks like: A/B/C/D/whatever, it returns A/B/C/D as a malloced
- * string.
- */
-char *SLpath_dirname (char *file)
-{
- char *b;
-
- if (file == NULL) return NULL;
- b = file + strlen (file);
-
- while (b != file)
- {
- b--;
- if (IS_PATH_SEP(*b))
- {
- if (b == file) b++;
- break;
- }
-
-#ifdef DRIVE_SPECIFIER
- if (*b == DRIVE_SPECIFIER)
- {
- b++;
- break;
- }
-#endif
- }
-
- if (b == file)
- return SLmake_string (THIS_DIR_STRING);
-
- return SLmake_nstring (file, (unsigned int) (b - file));
-}
-
-/* Note: VMS filenames also contain version numbers. The caller will have
- * to deal with that.
- *
- * The extension includes the '.'. If no extension is present, "" is returned.
- */
-char *SLpath_extname (char *file)
-{
- char *b;
-
- if (NULL == (file = SLpath_basename (file)))
- return NULL;
-
- b = file + strlen (file);
- while (b != file)
- {
- b--;
- if (*b == '.')
- return b;
- }
-
- if (*b == '.')
- return b;
-
- /* Do not return a literal "" */
- return file + strlen (file);
-}
-
-#ifdef IBMPC_SYSTEM
-static void convert_slashes (char *f)
-{
- while (*f)
- {
- if (*f == '/') *f = PATH_SEP;
- f++;
- }
-}
-#endif
-
-int SLpath_is_absolute_path (char *name)
-{
-#ifdef UNIX_PATHNAMES_OK
- return (*name == '/');
-#else
- if (IS_PATH_SEP (*name))
- return 1;
-
-# ifdef DRIVE_SPECIFIER
- /* Look for a drive specifier */
- while (*name)
- {
- if (*name == DRIVE_SPECIFIER)
- return 1;
-
- name++;
- }
-# endif
-
- return 0;
-#endif
-}
-
-/* This returns a MALLOCED string */
-char *SLpath_dircat (char *dir, char *name)
-{
- unsigned int len, dirlen;
- char *file;
-#ifndef VMS
- int requires_fixup;
-#endif
-
- if (name == NULL)
- name = "";
-
- if ((dir == NULL) || (SLpath_is_absolute_path (name)))
- dir = "";
-
- /* Both VMS and MSDOS have default directories associated with each drive.
- * That is, the meaning of something like C:X depends upon more than just
- * the syntax of the string. Since this concept has more power under VMS
- * it will be honored here. However, I am going to treat C:X as C:\X
- * under MSDOS.
- *
- * Note!!!
- * VMS has problems of its own regarding path names, so I am simply
- * going to strcat. Hopefully the VMS RTL is smart enough to deal with
- * the result.
- */
- dirlen = strlen (dir);
-#ifndef VMS
- requires_fixup = (dirlen && (0 == IS_PATH_SEP(dir[dirlen - 1])));
-#endif
-
- len = dirlen + strlen (name) + 2;
- if (NULL == (file = SLmalloc (len)))
- return NULL;
-
- strcpy (file, dir);
-
-#ifndef VMS
- if (requires_fixup)
- file[dirlen++] = PATH_SEP;
-#endif
-
- strcpy (file + dirlen, name);
-
-#if defined(IBMPC_SYSTEM)
- convert_slashes (file);
-#endif
-
- return file;
-}
-
-int SLpath_file_exists (char *file)
-{
- struct stat st;
- int m;
-
-#if defined(__os2__) && !defined(S_IFMT)
-/* IBM VA3 doesn't declare S_IFMT */
-# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
-#endif
-
-#ifdef _S_IFDIR
-# ifndef S_IFDIR
-# define S_IFDIR _S_IFDIR
-# endif
-#endif
-
-#ifndef S_ISDIR
-# ifdef S_IFDIR
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-# else
-# define S_ISDIR(m) 0
-# endif
-#endif
-
- if (file == NULL)
- return -1;
-
- if (stat(file, &st) < 0) return 0;
- m = st.st_mode;
-
- if (S_ISDIR(m)) return (2);
- return 1;
-}
-
-char *SLpath_find_file_in_path (char *path, char *name)
-{
- unsigned int max_path_len;
- unsigned int this_path_len;
- char *file, *dir;
- char *p;
- unsigned int nth;
-
- if ((path == NULL) || (*path == 0)
- || (name == NULL) || (*name == 0))
- return NULL;
-
- max_path_len = 0;
- this_path_len = 0;
- p = path;
- while (*p != 0)
- {
- if (*p++ == SEARCH_PATH_DELIMITER)
- {
- if (this_path_len > max_path_len) max_path_len = this_path_len;
- this_path_len = 0;
- }
- else this_path_len++;
- }
- if (this_path_len > max_path_len) max_path_len = this_path_len;
- max_path_len++;
-
- if (NULL == (dir = SLmalloc (max_path_len)))
- return NULL;
-
- nth = 0;
- while (-1 != SLextract_list_element (path, nth, SEARCH_PATH_DELIMITER,
- dir, max_path_len))
- {
- nth++;
- if (*dir == 0)
- continue;
-
- if (NULL == (file = SLpath_dircat (dir, name)))
- {
- SLfree (dir);
- return NULL;
- }
-
- if (1 == SLpath_file_exists (file))
- {
- SLfree (dir);
- return file;
- }
-
- SLfree (file);
- }
-
- SLfree (dir);
- return NULL;
-}
-
diff --git a/mdk-stage1/slang/slposdir.c b/mdk-stage1/slang/slposdir.c
deleted file mode 100644
index 33799e574..000000000
--- a/mdk-stage1/slang/slposdir.c
+++ /dev/null
@@ -1,1057 +0,0 @@
-/* file intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_IO_H
-# include <io.h> /* for chmod */
-#endif
-
-#if defined(__BORLANDC__)
-# include <process.h>
-# include <dos.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <dir.h>
-#endif
-
-#if defined(_MSC_VER)
-# include <io.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#if defined(VMS)
-# define USE_LISTDIR_INTRINSIC 0
-#else
-# define USE_LISTDIR_INTRINSIC 1
-#endif
-
-#if USE_LISTDIR_INTRINSIC
-
-#if defined(__WIN32__)
-# include <windows.h>
-#else
-# if defined(__OS2__) && defined(__IBMC__)
-# define INCL_DOS
-# define INCL_ERRORS
-# include <os2.h>
-# include <direct.h>
-# include <ctype.h>
-# else
-# ifdef HAVE_DIRENT_H
-# include <dirent.h>
-# else
-# ifdef HAVE_DIRECT_H
-# include <direct.h>
-# else
-# define dirent direct
-# define NEED_D_NAMLEN
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#endif /* USE_LISTDIR_INTRINSIC */
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-static int push_stat_struct (struct stat *st, int opt_attrs)
-{
- char *field_names [12];
- unsigned char field_types[12];
- VOID_STAR field_values [12];
- int int_values [12];
- unsigned int i;
-
- field_names [0] = "st_dev"; int_values [0] = (int) st->st_dev;
- field_names [1] = "st_ino"; int_values [1] = (int) st->st_ino;
- field_names [2] = "st_mode"; int_values [2] = (int) st->st_mode;
- field_names [3] = "st_nlink"; int_values [3] = (int) st->st_nlink;
- field_names [4] = "st_uid"; int_values [4] = (int) st->st_uid;
- field_names [5] = "st_gid"; int_values [5] = (int) st->st_gid;
- field_names [6] = "st_rdev"; int_values [6] = (int) st->st_rdev;
- field_names [7] = "st_size"; int_values [7] = (int) st->st_size;
- field_names [8] = "st_atime"; int_values [8] = (int) st->st_atime;
- field_names [9] = "st_mtime"; int_values [9] = (int) st->st_mtime;
- field_names [10] = "st_ctime"; int_values [10] = (int) st->st_ctime;
-
- field_names [11] = "st_opt_attrs"; int_values[11] = opt_attrs;
-
- for (i = 0; i < 12; i++)
- {
- field_types [i] = SLANG_INT_TYPE;
- field_values [i] = (VOID_STAR) (int_values + i);
- }
-
- return SLstruct_create_struct (12, field_names, field_types, field_values);
-}
-
-static void stat_cmd (char *file)
-{
- struct stat st;
- int status;
- int opt_attrs;
-
- status = stat (file, &st);
-
-#if defined(__MSDOS__) || defined(__WIN32__)
- if (status == -1)
- {
- unsigned int len = strlen (file);
- if (len && ((file[len-1] == '\\') || (file[len-1] == '/')))
- {
- file = SLmake_nstring (file, len-1);
- if (file == NULL)
- return;
-
- status = stat (file, &st);
- SLfree (file);
- }
- }
-#endif
- if (status == -1)
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifdef __WIN32__
- opt_attrs = GetFileAttributes (file);
-#else
- opt_attrs = 0;
-#endif
-
- push_stat_struct (&st, opt_attrs);
-}
-
-static void lstat_cmd (char *file)
-{
-#ifdef HAVE_LSTAT
- struct stat st;
- int opt_attrs;
-
- if (-1 == lstat (file, &st))
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifdef __WIN32__
- opt_attrs = GetFileAttributes (file);
-#else
- opt_attrs = 0;
-#endif
-
- push_stat_struct (&st, opt_attrs);
-#else
- stat_cmd (file);
-#endif
-}
-
-/* Well, it appears that on some systems, these are not defined. Here I
- * provide them. These are derived from the Linux stat.h file.
- */
-
-#ifdef __os2__
-# ifdef __IBMC__
-/* IBM VA3 doesn't declare S_IFMT */
-# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
-# endif
-#endif
-
-#ifndef S_ISLNK
-# ifdef S_IFLNK
-# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-# else
-# define S_ISLNK(m) 0
-# endif
-#endif
-
-#ifndef S_ISREG
-# ifdef S_IFREG
-# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-# else
-# define S_ISREG(m) 0
-# endif
-#endif
-
-#ifndef S_ISDIR
-# ifdef S_IFDIR
-# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-# else
-# define S_ISDIR(m) 0
-# endif
-#endif
-
-#ifndef S_ISCHR
-# ifdef S_IFCHR
-# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-# else
-# define S_ISCHR(m) 0
-# endif
-#endif
-
-#ifndef S_ISBLK
-# ifdef S_IFBLK
-# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-# else
-# define S_ISBLK(m) 0
-# endif
-#endif
-
-#ifndef S_ISFIFO
-# ifdef S_IFIFO
-# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-# else
-# define S_ISFIFO(m) 0
-# endif
-#endif
-
-#ifndef S_ISSOCK
-# ifdef S_IFSOCK
-# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-# else
-# define S_ISSOCK(m) 0
-# endif
-#endif
-
-static char stat_is_cmd (char *what, int *mode_ptr)
-{
- int ret;
- int st_mode = *mode_ptr;
-
- if (!strcmp (what, "sock")) ret = S_ISSOCK(st_mode);
- else if (!strcmp (what, "fifo")) ret = S_ISFIFO(st_mode);
- else if (!strcmp (what, "blk")) ret = S_ISBLK(st_mode);
- else if (!strcmp (what, "chr")) ret = S_ISCHR(st_mode);
- else if (!strcmp (what, "dir")) ret = S_ISDIR(st_mode);
- else if (!strcmp (what, "reg")) ret = S_ISREG(st_mode);
- else if (!strcmp (what, "lnk")) ret = S_ISLNK(st_mode);
- else
- {
- SLang_verror (SL_INVALID_PARM, "stat_is: Unrecognized type: %s", what);
- return -1;
- }
-
- return (char) (ret != 0);
-}
-
-#ifdef HAVE_READLINK
-static void readlink_cmd (char *s)
-{
- char buf[2048];
- int n;
-
- n = readlink (s, buf, sizeof (buf)-1);
- if (n == -1)
- {
- _SLerrno_errno = errno;
- s = NULL;
- }
- else
- {
- buf[n] = 0;
- s = buf;
- }
-
- (void) SLang_push_string (s);
-}
-#endif
-
-static int chmod_cmd (char *file, int *mode)
-{
- if (-1 == chmod(file, (mode_t) *mode))
- {
- _SLerrno_errno = errno;
- return -1;
- }
- return 0;
-}
-
-#ifdef HAVE_CHOWN
-static int chown_cmd (char *file, int *owner, int *group)
-{
- int ret;
-
- if (-1 == (ret = chown(file, (uid_t) *owner, (gid_t) *group)))
- _SLerrno_errno = errno;
- return ret;
-}
-#endif
-
-/* add trailing slash to dir */
-static void fixup_dir (char *dir)
-{
-#ifndef VMS
- int n;
-
- if ((n = strlen(dir)) > 1)
- {
- n--;
-#if defined(IBMPC_SYSTEM)
- if ( dir[n] != '/' && dir[n] != '\\' )
- strcat(dir, "\\" );
-#else
- if (dir[n] != '/' )
- strcat(dir, "/" );
-#endif
- }
-#endif /* !VMS */
-}
-
-static void slget_cwd (void)
-{
- char cwd[1024];
- char *p;
-
-#ifndef HAVE_GETCWD
- p = getwd (cwd);
-#else
-# if defined (__EMX__)
- p = _getcwd2(cwd, 1022); /* includes drive specifier */
-# else
- p = getcwd(cwd, 1022); /* djggp includes drive specifier */
-# endif
-#endif
-
- if (p == NULL)
- {
- _SLerrno_errno = errno;
- SLang_push_null ();
- return;
- }
-
-#ifndef VMS
-#ifdef __GO32__
- /* You never know about djgpp since it favors unix */
- {
- char ch;
- p = cwd;
- while ((ch = *p) != 0)
- {
- if (ch == '/') *p = '\\';
- p++;
- }
- }
-#endif
- fixup_dir (cwd);
-#endif
- SLang_push_string (cwd);
-}
-
-static int chdir_cmd (char *s)
-{
- int ret;
-
- while (-1 == (ret = chdir (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-#ifdef VMS
-static int remove_cmd (char *);
-/* If the file looks like xxx, then change it to xxx.dir. If
- * it looks like A:[B.xxx] then change it to A:[B]xxx.dir.
- */
-
-static char *vms_convert_dirspec_to_vms_dir (char *str)
-{
- char *s;
- char *version;
- unsigned int len;
- char *dot;
-
- len = strlen (str);
-
- version = strchr (str, ';');
- if (version == NULL)
- version = str + len;
- /* version points to the version of the input string */
-
-
- if (NULL == (s = SLmalloc (len + 8)))/* allow extra space to work with */
- return NULL;
-
- len = (unsigned int) (version - str);
- strncpy (s, str, len);
- s[len] = 0;
- str = s;
-
- /* Lowercase the whole thing */
- while (*s != 0)
- {
- *s = LOWER_CASE(*s);
- s++;
- }
-
- if ((s > str)
- && (s[-1] != ']'))
- {
- if ((s >= str + 4)
- && (0 == strcmp (s - 4, ".dir")))
- s -= 4;
- goto add_dir_version;
- }
-
- /* Check for one of two possibilities:
- *
- * dev:[x] --> dev:x
- * dev:[a.x] --> dev:[a]x
- */
-
- if (NULL == (dot = strchr (str, '.')))
- {
- /* First possibility */
- if (NULL == (s = strchr (str, '[')))
- return str; /* let someone else figure this out */
- while (s[1] != ']')
- {
- s[0] = s[1];
- s++;
- }
- *s = 0;
- goto add_dir_version;
- }
-
- while (NULL != (s = strchr (dot + 1, '.')))
- dot = s;
-
- *dot = ']';
- s = str + (len - 1);
-
- /* Drop */
-
- add_dir_version:
- strcpy (s, ".dir");
- strcpy (s+4, version);
- return str;
-}
-#endif
-
-static int rmdir_cmd (char *s)
-{
-#ifdef VMS
- int status;
-
- if (NULL == (s = vms_convert_dirspec_to_vms_dir (s)))
- return -1;
-
- status = remove_cmd (s);
- SLfree (s);
-
- return status;
-
-#else
- int ret;
-
- while (-1 == (ret = rmdir (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-#endif
-}
-
-static int remove_cmd (char *s)
-{
- int ret;
-#ifdef VMS
-# define REMOVE delete
-#else
-# ifdef REAL_UNIX_SYSTEM
-# define REMOVE unlink
-# else
-# define REMOVE remove
-# endif
-#endif
-
- while (-1 == (ret = REMOVE (s)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-static int rename_cmd (char *oldpath, char *newpath)
-{
- int ret;
- while (-1 == (ret = rename (oldpath, newpath)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-static int mkdir_cmd (char *s, int *mode_ptr)
-{
- int ret;
-
- (void) mode_ptr;
- errno = 0;
-
-#if defined (__MSDOS__) && !defined(__GO32__)
-# define MKDIR(x,y) mkdir(x)
-#else
-# if defined (__os2__) && !defined (__EMX__)
-# define MKDIR(x,y) mkdir(x)
-# else
-# if defined (__WIN32__) && !defined (__CYGWIN32__)
-# define MKDIR(x,y) mkdir(x)
-# else
-# define MKDIR mkdir
-# endif
-# endif
-#endif
-
- while (-1 == (ret = MKDIR(s, *mode_ptr)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- break;
- }
- return ret;
-}
-
-#ifdef HAVE_MKFIFO
-static int mkfifo_cmd (char *path, int *mode)
-{
- if (-1 == mkfifo (path, *mode))
- {
- _SLerrno_errno = errno;
- return -1;
- }
- return 0;
-}
-#endif
-
-#if USE_LISTDIR_INTRINSIC
-
-static void free_dir_list (char **list, unsigned int num)
-{
- unsigned int i;
-
- if (list == NULL)
- return;
-
- for (i = 0; i < num; i++)
- SLang_free_slstring (list[i]);
- SLfree ((char *) list);
-}
-
-#if defined(__WIN32__) || defined(__os2__) && defined(__IBMC__)
-static int build_dirlist (char *file, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
-{
-# ifdef __WIN32__
- DWORD status;
- HANDLE h;
- WIN32_FIND_DATA fd;
-# else
- APIRET rc;
- FILESTATUS3 status;
- HDIR h;
- FILEFINDBUF3 fd;
- ULONG cFileNames;
-# endif
- char *pat;
- unsigned int len;
- char **list;
- unsigned int num;
- unsigned int max_num;
- int hok;
-
- /* If an option is present, assume ok to list hidden files. Later
- * I will formalize this.
- */
- hok = (opt != NULL);
-
-# ifdef __WIN32__
- status = GetFileAttributes (file);
-# else
- rc = DosQueryPathInfo(file, FIL_STANDARD, &status, sizeof(FILESTATUS3));
-# endif
-
-
-# ifdef __WIN32__
- if (status == (DWORD)-1)
- {
- _SLerrno_errno = ENOENT;
- return -1;
- }
- if (0 == (status & FILE_ATTRIBUTE_DIRECTORY))
- {
- _SLerrno_errno = ENOTDIR;
- return -1;
- }
-# else
- if ((rc != 0) || (status.attrFile & FILE_DIRECTORY) == 0)
- {
- /* ENOTDIR isn't defined in VA3. */
- _SLerrno_errno = ENOENT;
- return -1;
- }
-# endif
-
- len = strlen (file);
- pat = SLmalloc (len + 3);
- if (pat == NULL)
- return -1;
-
- strcpy (pat, file);
- file = pat;
- while (*file != 0)
- {
- if (*file == '/') *file = '\\';
- file++;
- }
-
- if (len && (pat[len-1] != '\\'))
- {
- pat[len] = '\\';
- len++;
- }
- pat[len++] = '*';
- pat[len] = 0;
-
- num = 0;
- max_num = 50;
- list = (char **)SLmalloc (max_num * sizeof(char *));
- if (list == NULL)
- {
- SLfree (pat);
- return -1;
- }
-
-# ifdef __WIN32__
- h = FindFirstFile(pat, &fd);
- if (h == INVALID_HANDLE_VALUE)
- {
- if (ERROR_NO_MORE_FILES != GetLastError())
- {
- SLfree (pat);
- SLfree ((char *)list);
- return -1;
- }
- }
-# else
- h = HDIR_CREATE;
- cFileNames = 1;
- rc = DosFindFirst(pat, &h, FILE_READONLY | FILE_DIRECTORY |
- FILE_ARCHIVED, &fd, sizeof(fd), &cFileNames, FIL_STANDARD);
- if (rc != 0)
- {
- if (rc != ERROR_NO_MORE_FILES)
- {
- SLfree (pat);
- SLfree ((char *)list);
- return -1;
- }
- }
-# endif
- else while (1)
- {
- /* Do not include hidden files in the list. Also, do not
- * include "." and ".." entries.
- */
-#ifdef __WIN32__
- file = fd.cFileName;
-#else
- file = fd.achName;
-#endif
- if (
-#ifdef __WIN32__
- (hok || (0 == (fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)))
-#else
- (hok || (0 == (fd.attrFile & FILE_HIDDEN)))
-#endif
- && ((*file != '.')
- || ((0 != strcmp (file, "."))
- && (0 != strcmp (file, "..")))))
- {
- if (num == max_num)
- {
- char **new_list;
-
- max_num += 100;
- new_list = (char **)SLrealloc ((char *)list, max_num * sizeof (char *));
- if (new_list == NULL)
- goto return_error;
-
- list = new_list;
- }
-
- file = SLang_create_slstring (file);
- if (file == NULL)
- goto return_error;
-
- list[num] = file;
- num++;
- }
-
-#ifdef __WIN32__
- if (FALSE == FindNextFile(h, &fd))
- {
- if (ERROR_NO_MORE_FILES == GetLastError())
- {
- FindClose (h);
- break;
- }
-
- _SLerrno_errno = errno;
- FindClose (h);
- goto return_error;
- }
-#else
- cFileNames = 1;
- rc = DosFindNext(h, &fd, sizeof(fd), &cFileNames);
- if (rc != 0)
- {
- if (rc == ERROR_NO_MORE_FILES)
- {
- DosFindClose (h);
- break;
- }
-
- _SLerrno_errno = errno;
- DosFindClose (h);
- goto return_error;
- }
-#endif
- }
-
- SLfree (pat);
- *maxnum = max_num;
- *nump = num;
- *listp = list;
- return 0;
-
- return_error:
- free_dir_list (list, num);
- SLfree (pat);
- return -1;
-}
-
-#else /* NOT __WIN32__ */
-
-static int build_dirlist (char *dir, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
-{
- DIR *dp;
- struct dirent *ep;
- unsigned int num_files;
- unsigned int max_num_files;
- char **list;
-
- (void) opt;
-
- if (NULL == (dp = opendir (dir)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- num_files = max_num_files = 0;
- list = NULL;
- while (NULL != (ep = readdir (dp)))
- {
- unsigned int len;
- char *name;
-
- name = ep->d_name;
-# ifdef NEED_D_NAMLEN
- len = ep->d_namlen;
-# else
- len = strlen (name);
-# endif
- if ((*name == '.') && (len <= 2))
- {
- if (len == 1) continue;
- if (name [1] == '.') continue;
- }
-
- if (num_files == max_num_files)
- {
- char **new_list;
-
- max_num_files += 100;
- if (NULL == (new_list = (char **) SLrealloc ((char *)list, max_num_files * sizeof(char *))))
- goto return_error;
-
- list = new_list;
- }
-
- if (NULL == (list[num_files] = SLang_create_nslstring (name, len)))
- goto return_error;
-
- num_files++;
- }
-
- closedir (dp);
- *nump = num_files;
- *maxnum = max_num_files;
- *listp = list;
- return 0;
-
- return_error:
- if (dp != NULL)
- closedir (dp);
- free_dir_list (list, num_files);
- return -1;
-}
-# endif /* NOT __WIN32__ */
-
-static void listdir_cmd (char *dir, char *opt)
-{
- SLang_Array_Type *at;
- unsigned int num_files;
- unsigned int max_num_files;
- int inum_files;
- char **list;
-
- if (-1 == build_dirlist (dir, opt, &list, &num_files, &max_num_files))
- {
- SLang_push_null ();
- return;
- }
- /* If max_num_files == 0, then num_files == 0 and list == NULL.
- * The realloc step below will malloc list for us.
- */
- if (num_files + 1 < max_num_files)
- {
- char **new_list;
- if (NULL == (new_list = (char **) SLrealloc ((char *)list, (num_files + 1)* sizeof(char*))))
- {
- free_dir_list (list, num_files);
- SLang_push_null ();
- return;
- }
- list = new_list;
- }
-
- inum_files = (int) num_files;
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_files, 1)))
- {
- free_dir_list (list, num_files);
- SLang_push_null ();
- return;
- }
-
- /* Allow the array to free this list if push fails */
- if (-1 == SLang_push_array (at, 1))
- SLang_push_null ();
-}
-
-static void listdir_cmd_wrap (void)
-{
- char *s, *sopt;
-
- sopt = NULL;
- switch (SLang_Num_Function_Args)
- {
- case 2:
- if (-1 == SLang_pop_slstring (&sopt))
- return;
- case 1:
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_slstring (sopt);
- return;
- }
- break;
- default:
- SLang_verror (SL_INVALID_PARM, "usage: listdir (string, [opt-string]");
- return;
- }
-
- listdir_cmd (s, sopt);
- SLang_free_slstring (s);
- SLang_free_slstring (sopt);
-}
-
-#endif /* USE_LISTDIR_INTRINSIC */
-
-#ifdef HAVE_UMASK
-static int umask_cmd (int *u)
-{
- return umask (*u);
-}
-#endif
-
-static SLang_Intrin_Fun_Type PosixDir_Name_Table [] =
-{
-#ifdef HAVE_READLINK
- MAKE_INTRINSIC_S("readlink", readlink_cmd, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("lstat_file", lstat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("stat_file", stat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("stat_is", stat_is_cmd, SLANG_CHAR_TYPE),
-#ifdef HAVE_MKFIFO
- MAKE_INTRINSIC_SI("mkfifo", mkfifo_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_CHOWN
- MAKE_INTRINSIC_SII("chown", chown_cmd, SLANG_INT_TYPE),
-#endif
- MAKE_INTRINSIC_SI("chmod", chmod_cmd, SLANG_INT_TYPE),
-#ifdef HAVE_UMASK
- MAKE_INTRINSIC_I("umask", umask_cmd, SLANG_INT_TYPE),
-#endif
- MAKE_INTRINSIC_0("getcwd", slget_cwd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("mkdir", mkdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("chdir", chdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("rmdir", rmdir_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("remove", remove_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SS("rename", rename_cmd, SLANG_INT_TYPE),
-#if USE_LISTDIR_INTRINSIC
- MAKE_INTRINSIC("listdir", listdir_cmd_wrap, SLANG_VOID_TYPE, 0),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-static SLang_IConstant_Type PosixDir_Consts [] =
-{
-#ifndef S_IRWXU
-# define S_IRWXU 00700
-#endif
- MAKE_ICONSTANT("S_IRWXU", S_IRWXU),
-#ifndef S_IRUSR
-# define S_IRUSR 00400
-#endif
- MAKE_ICONSTANT("S_IRUSR", S_IRUSR),
-#ifndef S_IWUSR
-# define S_IWUSR 00200
-#endif
- MAKE_ICONSTANT("S_IWUSR", S_IWUSR),
-#ifndef S_IXUSR
-# define S_IXUSR 00100
-#endif
- MAKE_ICONSTANT("S_IXUSR", S_IXUSR),
-#ifndef S_IRWXG
-# define S_IRWXG 00070
-#endif
- MAKE_ICONSTANT("S_IRWXG", S_IRWXG),
-#ifndef S_IRGRP
-# define S_IRGRP 00040
-#endif
- MAKE_ICONSTANT("S_IRGRP", S_IRGRP),
-#ifndef S_IWGRP
-# define S_IWGRP 00020
-#endif
- MAKE_ICONSTANT("S_IWGRP", S_IWGRP),
-#ifndef S_IXGRP
-# define S_IXGRP 00010
-#endif
- MAKE_ICONSTANT("S_IXGRP", S_IXGRP),
-#ifndef S_IRWXO
-# define S_IRWXO 00007
-#endif
- MAKE_ICONSTANT("S_IRWXO", S_IRWXO),
-#ifndef S_IROTH
-# define S_IROTH 00004
-#endif
- MAKE_ICONSTANT("S_IROTH", S_IROTH),
-#ifndef S_IWOTH
-# define S_IWOTH 00002
-#endif
- MAKE_ICONSTANT("S_IWOTH", S_IWOTH),
-#ifndef S_IXOTH
-# define S_IXOTH 00001
-#endif
- MAKE_ICONSTANT("S_IXOTH", S_IXOTH),
-#ifdef __WIN32__
- MAKE_ICONSTANT("FILE_ATTRIBUTE_ARCHIVE", FILE_ATTRIBUTE_ARCHIVE),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_COMPRESSED", FILE_ATTRIBUTE_COMPRESSED),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_NORMAL", FILE_ATTRIBUTE_NORMAL),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_DIRECTORY", FILE_ATTRIBUTE_DIRECTORY),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_HIDDEN", FILE_ATTRIBUTE_HIDDEN),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_READONLY", FILE_ATTRIBUTE_READONLY),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_SYSTEM", FILE_ATTRIBUTE_SYSTEM),
- MAKE_ICONSTANT("FILE_ATTRIBUTE_TEMPORARY", FILE_ATTRIBUTE_TEMPORARY),
-#endif
- SLANG_END_ICONST_TABLE
-};
-
-static int Initialized;
-
-int SLang_init_posix_dir (void)
-{
- if (Initialized)
- return 0;
-
- if ((-1 == SLadd_intrin_fun_table(PosixDir_Name_Table, "__POSIX_DIR__"))
- || (-1 == SLadd_iconstant_table (PosixDir_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- Initialized = 1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slposio.c b/mdk-stage1/slang/slposio.c
deleted file mode 100644
index ab1e9f689..000000000
--- a/mdk-stage1/slang/slposio.c
+++ /dev/null
@@ -1,568 +0,0 @@
-/* This module implements an interface to posix system calls */
-/* file stdio intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#ifdef HAVE_IO_H
-# include <io.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <dir.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-struct _SLFile_FD_Type
-{
- char *name;
- unsigned int num_refs; /* reference counting */
- int fd;
- SLang_MMT_Type *stdio_mmt; /* fdopen'd stdio object */
-
- /* methods */
- int (*close)(int);
- int (*read) (int, char *, unsigned int *);
- int (*write)(int, char *, unsigned int *);
-};
-
-static int close_method (int fd)
-{
- return close (fd);
-}
-
-static int write_method (int fd, char *buf, unsigned int *nump)
-{
- int num;
-
- if (-1 == (num = write (fd, buf, *nump)))
- {
- *nump = 0;
- return -1;
- }
-
- *nump = (unsigned int) num;
- return 0;
-}
-
-static int read_method (int fd, char *buf, unsigned int *nump)
-{
- int num;
-
- num = read (fd, buf, *nump);
- if (num == -1)
- {
- *nump = 0;
- return -1;
- }
- *nump = (unsigned int) num;
- return 0;
-}
-
-static int check_fd (int fd)
-{
- if (fd == -1)
- {
-#ifdef EBADF
- _SLerrno_errno = EBADF;
-#endif
- return -1;
- }
-
- return 0;
-}
-
-static int posix_close (SLFile_FD_Type *f)
-{
- if (-1 == check_fd (f->fd))
- return -1;
-
- if ((f->close != NULL)
- && (-1 == f->close (f->fd)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- if (f->stdio_mmt != NULL)
- {
- SLang_free_mmt (f->stdio_mmt);
- f->stdio_mmt = NULL;
- }
-
- f->fd = -1;
- return 0;
-}
-
-/* Usage: Uint write (f, buf); */
-static void posix_write (SLFile_FD_Type *f, SLang_BString_Type *bstr)
-{
- unsigned int len;
- char *p;
-
- if ((-1 == check_fd (f->fd))
- || (NULL == (p = (char *)SLbstring_get_pointer (bstr, &len))))
- {
- SLang_push_integer (-1);
- return;
- }
-
- if (-1 == f->write (f->fd, p, &len))
- {
- _SLerrno_errno = errno;
- SLang_push_integer (-1);
- return;
- }
-
- (void) SLang_push_uinteger (len);
-}
-
-/* Usage: nn = read (f, &buf, n); */
-static void posix_read (SLFile_FD_Type *f, SLang_Ref_Type *ref, unsigned int *nbytes)
-{
- unsigned int len;
- char *b;
- SLang_BString_Type *bstr;
-
- b = NULL;
-
- len = *nbytes;
- if ((-1 == check_fd (f->fd))
- || (NULL == (b = SLmalloc (len + 1))))
- goto return_error;
-
- if (-1 == f->read (f->fd, b, &len))
- {
- _SLerrno_errno = errno;
- goto return_error;
- }
-
- if (len != *nbytes)
- {
- char *b1 = SLrealloc (b, len + 1);
- if (b1 == NULL)
- goto return_error;
- b = b1;
- }
-
- bstr = SLbstring_create_malloced ((unsigned char *) b, len, 0);
- if (bstr != NULL)
- {
- if ((-1 != SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bstr))
- && (-1 != SLang_push_uinteger (len)))
- return;
-
- SLbstring_free (bstr);
- b = NULL;
- /* drop */
- }
-
- return_error:
- if (b != NULL) SLfree ((char *)b);
- (void) SLang_assign_to_ref (ref, SLANG_NULL_TYPE, NULL);
- (void) SLang_push_integer (-1);
-}
-
-SLFile_FD_Type *SLfile_create_fd (char *name, int fd)
-{
- SLFile_FD_Type *f;
-
- if (NULL == (f = (SLFile_FD_Type *) SLmalloc (sizeof (SLFile_FD_Type))))
- return NULL;
-
- memset ((char *) f, 0, sizeof (SLFile_FD_Type));
- if (NULL == (f->name = SLang_create_slstring (name)))
- {
- SLfree ((char *)f);
- return NULL;
- }
-
- f->fd = fd;
- f->num_refs = 1;
-
- f->close = close_method;
- f->read = read_method;
- f->write = write_method;
-
- return f;
-}
-
-SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0)
-{
- SLFile_FD_Type *f;
- int fd0, fd;
-
- if (f0 == NULL)
- return NULL;
- fd0 = f0->fd;
- if (-1 == check_fd (fd0))
- return NULL;
-
- while (-1 == (fd = dup (fd0)))
- {
-#ifdef EINTR
- if (errno == EINTR)
- continue;
-#endif
- _SLerrno_errno = errno;
- return NULL;
- }
-
- if (NULL == (f = SLfile_create_fd (f0->name, fd)))
- {
- f0->close (fd);
- return NULL;
- }
-
- return f;
-}
-
-int SLfile_get_fd (SLFile_FD_Type *f, int *fd)
-{
- if (f == NULL)
- return -1;
-
- *fd = f->fd;
- if (-1 == check_fd (*fd))
- return -1;
-
- return 0;
-}
-
-void SLfile_free_fd (SLFile_FD_Type *f)
-{
- if (f == NULL)
- return;
-
- if (f->num_refs > 1)
- {
- f->num_refs -= 1;
- return;
- }
-
- if (f->fd != -1)
- {
- if (f->close != NULL)
- (void) f->close (f->fd);
-
- f->fd = -1;
- }
-
- if (f->stdio_mmt != NULL)
- SLang_free_mmt (f->stdio_mmt);
-
- SLfree ((char *) f);
-}
-
-static int pop_string_int (char **s, int *i)
-{
- *s = NULL;
- if ((-1 == SLang_pop_integer (i))
- || (-1 == SLang_pop_slstring (s)))
- return -1;
-
- return 0;
-}
-
-static int pop_string_int_int (char **s, int *a, int *b)
-{
- *s = NULL;
- if ((-1 == SLang_pop_integer (b))
- || (-1 == pop_string_int (s, a)))
- return -1;
-
- return 0;
-}
-
-static void posix_open (void)
-{
- char *file;
- int mode, flags;
- SLFile_FD_Type *f;
-
- switch (SLang_Num_Function_Args)
- {
- case 3:
- if (-1 == pop_string_int_int (&file, &flags, &mode))
- {
- SLang_push_null ();
- return;
- }
- break;
-
- case 2:
- default:
- if (-1 == pop_string_int (&file, &flags))
- return;
- mode = 0777;
- break;
- }
-
- f = SLfile_create_fd (file, -1);
- if (f == NULL)
- {
- SLang_free_slstring (file);
- SLang_push_null ();
- return;
- }
- SLang_free_slstring (file);
-
- if (-1 == (f->fd = open (f->name, flags, mode)))
- {
- _SLerrno_errno = errno;
- SLfile_free_fd (f);
- SLang_push_null ();
- return;
- }
-
- if (-1 == SLfile_push_fd (f))
- SLang_push_null ();
- SLfile_free_fd (f);
-}
-
-static void posix_fileno (void)
-{
- FILE *fp;
- SLang_MMT_Type *mmt;
- int fd;
- SLFile_FD_Type *f;
- char *name;
-
- if (-1 == SLang_pop_fileptr (&mmt, &fp))
- {
- SLang_push_null ();
- return;
- }
- name = SLang_get_name_from_fileptr (mmt);
- fd = fileno (fp);
-
- f = SLfile_create_fd (name, fd);
- if (f != NULL)
- f->close = NULL; /* prevent fd from being closed
- * when it goes out of scope
- */
- SLang_free_mmt (mmt);
-
- if (-1 == SLfile_push_fd (f))
- SLang_push_null ();
- SLfile_free_fd (f);
-}
-
-static void posix_fdopen (SLFile_FD_Type *f, char *mode)
-{
- if (f->stdio_mmt == NULL)
- {
- if (-1 == _SLstdio_fdopen (f->name, f->fd, mode))
- return;
-
- if (NULL == (f->stdio_mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
- return;
- }
-
- (void) SLang_push_mmt (f->stdio_mmt);
-}
-
-static long posix_lseek (SLFile_FD_Type *f, long ofs, int whence)
-{
- long status;
-
- if (-1 == (status = lseek (f->fd, ofs, whence)))
- _SLerrno_errno = errno;
-
- return status;
-}
-
-static int posix_isatty (void)
-{
- int ret;
- SLFile_FD_Type *f;
-
- if (SLang_peek_at_stack () == SLANG_FILE_PTR_TYPE)
- {
- SLang_MMT_Type *mmt;
- FILE *fp;
-
- if (-1 == SLang_pop_fileptr (&mmt, &fp))
- return 0; /* invalid descriptor */
-
- ret = isatty (fileno (fp));
- SLang_free_mmt (mmt);
- return ret;
- }
-
- if (-1 == SLfile_pop_fd (&f))
- return 0;
-
- ret = isatty (f->fd);
- SLfile_free_fd (f);
-
- return ret;
-}
-
-static void posix_dup (SLFile_FD_Type *f)
-{
- if ((NULL == (f = SLfile_dup_fd (f)))
- || (-1 == SLfile_push_fd (f)))
- SLang_push_null ();
-
- SLfile_free_fd (f);
-}
-
-#define I SLANG_INT_TYPE
-#define V SLANG_VOID_TYPE
-#define F SLANG_FILE_FD_TYPE
-#define B SLANG_BSTRING_TYPE
-#define R SLANG_REF_TYPE
-#define U SLANG_UINT_TYPE
-#define S SLANG_STRING_TYPE
-#define L SLANG_LONG_TYPE
-static SLang_Intrin_Fun_Type Fd_Name_Table [] =
-{
- MAKE_INTRINSIC_0("fileno", posix_fileno, V),
- MAKE_INTRINSIC_0("isatty", posix_isatty, I),
- MAKE_INTRINSIC_0("open", posix_open, V),
- MAKE_INTRINSIC_3("read", posix_read, V, F, R, U),
- MAKE_INTRINSIC_3("lseek", posix_lseek, L, F, L, I),
- MAKE_INTRINSIC_2("fdopen", posix_fdopen, V, F, S),
- MAKE_INTRINSIC_2("write", posix_write, V, F, B),
- MAKE_INTRINSIC_1("dup_fd", posix_dup, V, F),
- MAKE_INTRINSIC_1("close", posix_close, I, F),
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef I
-#undef V
-#undef F
-#undef B
-#undef R
-#undef S
-#undef L
-#undef U
-
-static SLang_IConstant_Type PosixIO_Consts [] =
-{
-#ifdef O_RDONLY
- MAKE_ICONSTANT("O_RDONLY", O_RDONLY),
-#endif
-#ifdef O_WRONLY
- MAKE_ICONSTANT("O_WRONLY", O_WRONLY),
-#endif
-#ifdef O_RDWR
- MAKE_ICONSTANT("O_RDWR", O_RDWR),
-#endif
-#ifdef O_APPEND
- MAKE_ICONSTANT("O_APPEND", O_APPEND),
-#endif
-#ifdef O_CREAT
- MAKE_ICONSTANT("O_CREAT", O_CREAT),
-#endif
-#ifdef O_EXCL
- MAKE_ICONSTANT("O_EXCL", O_EXCL),
-#endif
-#ifdef O_NOCTTY
- MAKE_ICONSTANT("O_NOCTTY", O_NOCTTY),
-#endif
-#ifdef O_NONBLOCK
- MAKE_ICONSTANT("O_NONBLOCK", O_NONBLOCK),
-#endif
-#ifdef O_TRUNC
- MAKE_ICONSTANT("O_TRUNC", O_TRUNC),
-#endif
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
- MAKE_ICONSTANT("O_BINARY", O_BINARY),
-#ifndef O_TEXT
-# define O_TEXT 0
-#endif
- MAKE_ICONSTANT("O_TEXT", O_TEXT),
-
- SLANG_END_ICONST_TABLE
-};
-
-int SLfile_push_fd (SLFile_FD_Type *f)
-{
- if (f == NULL)
- return SLang_push_null ();
-
- f->num_refs += 1;
-
- if (0 == SLclass_push_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR) f))
- return 0;
-
- f->num_refs -= 1;
-
- return -1;
-}
-
-int SLfile_pop_fd (SLFile_FD_Type **f)
-{
- return SLclass_pop_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR *) f);
-}
-
-static void destroy_fd_type (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfile_free_fd (*(SLFile_FD_Type **) ptr);
-}
-
-static int fd_push (unsigned char type, VOID_STAR v)
-{
- (void) type;
- return SLfile_push_fd (*(SLFile_FD_Type **)v);
-}
-
-int SLang_init_posix_io (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("FD_Type")))
- return -1;
- cl->cl_destroy = destroy_fd_type;
- (void) SLclass_set_push_function (cl, fd_push);
-
- if (-1 == SLclass_register_class (cl, SLANG_FILE_FD_TYPE, sizeof (SLFile_FD_Type), SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if ((-1 == SLadd_intrin_fun_table(Fd_Name_Table, "__POSIXIO__"))
- || (-1 == SLadd_iconstant_table (PosixIO_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slprepr.c b/mdk-stage1/slang/slprepr.c
deleted file mode 100644
index 358eeb874..000000000
--- a/mdk-stage1/slang/slprepr.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/* Copyright (c) 1996, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/*--------------------------------*-C-*---------------------------------*
- * File: slprepr.c
- *
- * preprocessing routines
- */
-/*{{{ notes: */
-/*
- * various preprocessing tokens supported
- *
- * #ifdef TOKEN1 TOKEN2 ...
- * - True if any of TOKEN1 TOKEN2 ... are defined
- *
- * #ifndef TOKEN1 TOKEN2 ...
- * - True if none of TOKEN1 TOKEN2 ... are defined
- *
- * #iftrue
- * #ifnfalse
- * - always True
- *
- * #iffalse
- * #ifntrue
- * - always False
- *
- * #if$ENV
- * - True if the enviroment variable ENV is set
- *
- * #ifn$ENV
- * - True if the enviroment variable ENV is not set
- *
- * #if$ENV TOKEN1 TOKEN2 ...
- * - True if the contents of enviroment variable ENV match
- * any of TOKEN1 TOKEN2 ...
- *
- * #ifn$ENV TOKEN1 TOKEN2 ...
- * - True if the contents of enviroment variable ENV do not match
- * any of TOKEN1 TOKEN2 ...
- *
- * NB: For $ENV, the tokens may contain wildcard characters:
- * '?' - match any single character
- * '*' - match any number of characters
- *
- * #elif...
- * #else
- * #endif
- *
- *
- * mj olesen
- *----------------------------------------------------------------------*/
-/*}}}*/
-/*{{{ includes: */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-/*}}}*/
-
-int (*SLprep_exists_hook) (char *, char);
-int (*_SLprep_eval_hook) (char *);
-
-/*{{{ SLprep_open_prep (), SLprep_close_prep () */
-int SLprep_open_prep (SLPreprocess_Type *pt)
-{
- pt->this_level = 0;
- pt->exec_level = 0;
- pt->prev_exec_level = 0;
- pt->comment_char = '%';
- pt->preprocess_char = '#';
- pt->flags = 0;
- return 0;
-}
-
-void SLprep_close_prep (SLPreprocess_Type *pt)
-{
- (void) pt;
-}
-/*}}}*/
-
-/*{{{ SLwildcard () */
-/*----------------------------------------------------------------------*
- * Does `string' match `pattern' ?
- *
- * '*' in pattern matches any sub-string (including the null string)
- * '?' matches any single char.
- *
- * Code taken from that donated by Paul Hudson <paulh@harlequin.co.uk>
- * to the fvwm project.
- * It is public domain, no strings attached. No guarantees either.
- *----------------------------------------------------------------------*/
-static int SLwildcard (char *pattern, char *string)
-{
- if (pattern == NULL || *pattern == '\0' || !strcmp (pattern, "*"))
- return 1;
- else if (string == NULL)
- return 0;
-
- while (*pattern && *string) switch (*pattern)
- {
- case '?':
- /* match any single character */
- pattern++;
- string++;
- break;
-
- case '*':
- /* see if rest of pattern matches any trailing */
- /* substring of the string. */
- if (*++pattern == '\0')
- return 1; /* trailing * must match rest */
-
- while (*string)
- {
- if (SLwildcard (pattern, string)) return 1;
- string++;
- }
- return 0;
-
- /* break; */
-
- default:
- if (*pattern == '\\')
- {
- if (*++pattern == '\0')
- pattern--; /* don't skip trailing backslash */
- }
- if (*pattern++ != *string++) return 0;
- break;
- }
-
- return ((*string == '\0')
- && ((*pattern == '\0') || !strcmp (pattern, "*")));
-}
-/*}}}*/
-
-#if defined(__16_BIT_SYSTEM__)
-# define MAX_DEFINES 10
-#else
-# define MAX_DEFINES 128
-#endif
-
-/* The extra one is for NULL termination */
-char *_SLdefines [MAX_DEFINES + 1];
-
-int SLdefine_for_ifdef (char *s) /*{{{*/
-{
- unsigned int i;
-
- for (i = 0; i < MAX_DEFINES; i++)
- {
- char *s1 = _SLdefines [i];
-
- if (s1 == s)
- return 0; /* already defined (hashed string) */
-
- if (s1 != NULL)
- continue;
-
- s = SLang_create_slstring (s);
- if (s == NULL)
- return -1;
-
- _SLdefines[i] = s;
- return 0;
- }
- return -1;
-}
-/*}}}*/
-
-/*{{{ static functions */
-static int is_any_defined(char *buf, char comment) /*{{{*/
-{
- char *sys;
- unsigned int i;
-
- while (1)
- {
- register char ch;
-
- /* Skip whitespace */
- while (((ch = *buf) == ' ') || (ch == '\t'))
- buf++;
-
- if ((ch == '\n') || (ch == 0) || (ch == comment))
- return 0;
-
- i = 0;
- while (NULL != (sys = _SLdefines [i++]))
- {
- unsigned int n;
-
- if (*sys != ch)
- continue;
-
- n = strlen (sys);
- if (0 == strncmp (buf, sys, n))
- {
- char ch1 = *(buf + n);
-
- if ((ch1 == '\n') || (ch1 == 0) ||
- (ch1 == ' ') || (ch1 == '\t') || (ch1 == comment))
- return 1;
- }
- }
-
- /* Skip past word */
- while (((ch = *buf) != ' ')
- && (ch != '\n')
- && (ch != 0)
- && (ch != '\t')
- && (ch != comment))
- buf++;
- }
-}
-/*}}}*/
-
-static unsigned char *tokenize (unsigned char *buf, char *token, unsigned int len)
-{
- register char *token_end;
-
- token_end = token + (len - 1); /* allow room for \0 */
-
- while ((token < token_end) && (*buf > ' '))
- *token++ = *buf++;
-
- if (*buf > ' ') return NULL; /* token too long */
-
- *token = '\0';
-
- while ((*buf == ' ') || (*buf == '\t')) buf++;
-
- return buf;
-}
-
-static int is_env_defined (char *buf, char comment) /*{{{*/
-{
- char * env, token [32];
-
- if ((*buf <= ' ') || (*buf == comment)) return 0; /* no token */
-
- if (NULL == (buf = (char *) tokenize ((unsigned char *) buf,
- token, sizeof (token))))
- return 0;
-
- if (NULL == (env = getenv (token)))
- return 0; /* ENV not defined */
-
- if ((*buf == '\0') || (*buf == '\n') || (*buf == comment))
- return 1; /* no tokens, but getenv() worked */
-
- do
- {
- buf = (char *) tokenize ((unsigned char *) buf, token, sizeof (token));
- if (buf == NULL) return 0;
-
- if (SLwildcard (token, env))
- return 1;
- }
- while (*buf && (*buf != '\n') && (*buf != comment));
-
- return 0;
-}
-/*}}}*/
-/*}}}*/
-
-int SLprep_line_ok (char *buf, SLPreprocess_Type *pt) /*{{{*/
-{
- int level, prev_exec_level, exec_level;
-
- if ((buf == NULL) || (pt == NULL)) return 1;
-
- if (*buf != pt->preprocess_char)
- {
- if (pt->this_level != pt->exec_level)
- return 0;
-
- if (*buf == '\n') return pt->flags & SLPREP_BLANK_LINES_OK;
- if (*buf == pt->comment_char) return pt->flags & SLPREP_COMMENT_LINES_OK;
-
- return 1;
- }
-
- level = pt->this_level;
- exec_level = pt->exec_level;
- prev_exec_level = pt->prev_exec_level;
-
- buf++;
-
- /* Allow '#!' to pass. This could be a shell script with something
- like '#! /local/bin/slang' */
- if ((*buf == '!') && (pt->preprocess_char == '#'))
- return 0;
-
- /* Allow whitespace as in '# ifdef' */
- while ((*buf == ' ') || (*buf == '\t')) buf++;
- if (*buf < 'a') return (level == exec_level);
-
- if (!strncmp(buf, "endif", 5))
- {
- if (level == exec_level)
- {
- exec_level--;
- prev_exec_level = exec_level;
- }
- level--;
- if (level < prev_exec_level) prev_exec_level = level;
- goto done;
- }
-
- if ((buf[0] == 'e') && (buf[1] == 'l')) /* else, elifdef, ... */
- {
- if ((level == exec_level + 1)
- && (prev_exec_level != level))
- {
- /* We are in position to execute */
- buf += 2;
- if ((buf[0] == 's') && (buf[1] == 'e'))
- {
- /* "else" */
- exec_level = level;
- goto done;
- }
-
- /* drop through to ifdef testing. First set variable
- * to values appropriate for ifdef testing.
- */
- level--; /* now == to exec level */
- }
- else
- {
- if (level == exec_level)
- {
- exec_level--;
- }
- goto done;
- }
- }
-
- if ((buf[0] == 'i') && (buf[1] == 'f'))
- {
- int truth;
-
- if (level != exec_level)
- {
- /* Not interested */
- level++;
- goto done;
- }
-
- level++;
-
- buf += 2;
- if (buf[0] == 'n')
- {
- truth = 0;
- buf++;
- }
- else truth = 1;
-
- if (!strncmp (buf, "def", 3))
- truth = (truth == is_any_defined(buf + 3, pt->comment_char));
-
- else if (!strncmp (buf, "false", 5))
- truth = !truth;
-
- else if (*buf == '$')
- truth = (truth == is_env_defined (buf + 1, pt->comment_char));
-
- else if (!strncmp (buf, "exists", 6)
- && (SLprep_exists_hook != NULL))
- truth = (truth == (*SLprep_exists_hook)(buf + 6, pt->comment_char));
-
- else if (!strncmp (buf, "eval", 4)
- && (_SLprep_eval_hook != NULL))
- truth = (truth == (*_SLprep_eval_hook) (buf + 4));
-
- else if (0 != strncmp (buf, "true", 4))
- return 1; /* let it bomb */
-
- if (truth)
- {
- exec_level = level;
- prev_exec_level = exec_level;
- }
- }
- else return 1; /* let it bomb. */
-
- done:
-
- if (exec_level < 0) return 1;
-
- pt->this_level = level;
- pt->exec_level = exec_level;
- pt->prev_exec_level = prev_exec_level;
- return 0;
-}
-/*}}}*/
-
-/*{{{ main() - for testing only */
-#if 0
-int main ()
-{
- char buf[1024];
- SLPreprocess_Type pt;
-
- SLprep_open_prep (&pt);
-
- SLdefine_for_ifdef ("UNIX");
-
- while (NULL != fgets (buf, sizeof (buf) - 1, stdin))
- {
- if (SLprep_line_ok (buf, &pt))
- {
- fputs (buf, stdout);
- }
- }
-
- SLprep_close_prep (&pt);
- return 0;
-}
-#endif
-/*}}}*/
diff --git a/mdk-stage1/slang/slproc.c b/mdk-stage1/slang/slproc.c
deleted file mode 100644
index 8b266f28f..000000000
--- a/mdk-stage1/slang/slproc.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Process specific system calls */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#ifdef HAVE_IO_H
-# include <io.h> /* for chmod */
-#endif
-
-#ifdef HAVE_PROCESS_H
-# include <process.h> /* for getpid */
-#endif
-
-#if defined(__BORLANDC__)
-# include <dos.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <time.h>
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef HAVE_KILL
-static int kill_cmd (int *pid, int *sig)
-{
- int ret;
-
- if (-1 == (ret = kill ((pid_t) *pid, *sig)))
- _SLerrno_errno = errno;
- return ret;
-}
-#endif
-
-static int getpid_cmd (void)
-{
- return getpid ();
-}
-
-#ifdef HAVE_GETPPID
-static int getppid_cmd (void)
-{
- return getppid ();
-}
-#endif
-
-#ifdef HAVE_GETGID
-static int getgid_cmd (void)
-{
- return getgid ();
-}
-#endif
-
-#ifdef HAVE_GETEGID
-static int getegid_cmd (void)
-{
- return getegid ();
-}
-#endif
-
-#ifdef HAVE_GETEUID
-static int geteuid_cmd (void)
-{
- return geteuid ();
-}
-#endif
-
-#ifdef HAVE_GETUID
-static int getuid_cmd (void)
-{
- return getuid ();
-}
-#endif
-
-#ifdef HAVE_SETGID
-static int setgid_cmd (int *gid)
-{
- if (0 == setgid (*gid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-#ifdef HAVE_SETPGID
-static int setpgid_cmd (int *pid, int *pgid)
-{
- if (0 == setpgid (*pid, *pgid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-#ifdef HAVE_SETUID
-static int setuid_cmd (int *uid)
-{
- if (0 == setuid (*uid))
- return 0;
- _SLerrno_errno = errno;
- return -1;
-}
-#endif
-
-static SLang_Intrin_Fun_Type Process_Name_Table[] =
-{
- MAKE_INTRINSIC_0("getpid", getpid_cmd, SLANG_INT_TYPE),
-
-#ifdef HAVE_GETPPID
- MAKE_INTRINSIC_0("getppid", getppid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETGID
- MAKE_INTRINSIC_0("getgid", getgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETEGID
- MAKE_INTRINSIC_0("getegid", getegid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETEUID
- MAKE_INTRINSIC_0("geteuid", geteuid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_GETUID
- MAKE_INTRINSIC_0("getuid", getuid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETGID
- MAKE_INTRINSIC_I("setgid", setgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETPGID
- MAKE_INTRINSIC_II("setpgid", setpgid_cmd, SLANG_INT_TYPE),
-#endif
-#ifdef HAVE_SETUID
- MAKE_INTRINSIC_I("setuid", setuid_cmd, SLANG_INT_TYPE),
-#endif
-
-#ifdef HAVE_KILL
- MAKE_INTRINSIC_II("kill", kill_cmd, SLANG_INT_TYPE),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int SLang_init_posix_process (void)
-{
- if ((-1 == SLadd_intrin_fun_table (Process_Name_Table, "__POSIX_PROCESS__"))
- || (-1 == _SLerrno_init ()))
- return -1;
- return 0;
-}
diff --git a/mdk-stage1/slang/slregexp.c b/mdk-stage1/slang/slregexp.c
deleted file mode 100644
index 6592a5a63..000000000
--- a/mdk-stage1/slang/slregexp.c
+++ /dev/null
@@ -1,935 +0,0 @@
-/* ed style regular expressions */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define SET_BIT(b, n) b[(unsigned int) (n) >> 3] |= 1 << ((unsigned int) (n) % 8)
-#define TEST_BIT(b, n) (b[(unsigned int)(n) >> 3] & (1 << ((unsigned int) (n) % 8)))
-#define LITERAL 1
-#define RANGE 2 /* [...] */
-#define ANY 3 /* . */
-#define BOL 4 /* ^ */
-#define EOL 5 /* $ */
-#define NTH_MATCH 6 /* \1 \2 ... \9 */
-#define OPAREN 7 /* \( */
-#define CPAREN 0x8 /* \) */
-#define ANY_DIGIT 0x9 /* \d */
-#define BOW 0xA /* \< */
-#define EOW 0xB /* \> */
-#if 0
-#define NOT_LITERAL 0xC /* \~ */
-#endif
-#define STAR 0x80 /* * */
-#define LEAST_ONCE 0x40 /* + */
-#define MAYBE_ONCE 0x20 /* ? */
-#define MANY 0x10 /* {n,m} */
-/* The rest are additions */
-#define YES_CASE (STAR | BOL)
-#define NO_CASE (STAR | EOL)
-
-#define UPPERCASE(x) (cs ? (x) : UPPER_CASE(x))
-#define LOWERCASE(x) (cs ? (x) : LOWER_CASE(x))
-
-static unsigned char Word_Chars[256];
-#define IS_WORD_CHAR(x) Word_Chars[(unsigned int) (x)]
-
-#if 0
-static int ctx->open_paren_number;
-static char Closed_Paren_Matches[10];
-
-static SLRegexp_Type *This_Reg;
-static unsigned char *This_Str;
-#endif
-
-typedef struct
-{
- SLRegexp_Type *reg;
- unsigned char *str;
- unsigned int len;
- char closed_paren_matches[10];
- int open_paren_number;
-}
-Re_Context_Type;
-
-static unsigned char *do_nth_match (Re_Context_Type *ctx, int n, unsigned char *str, unsigned char *estr)
-{
- unsigned char *bpos;
-
- if (ctx->closed_paren_matches[n] == 0)
- return NULL;
-
- bpos = ctx->reg->beg_matches[n] + ctx->str;
- n = ctx->reg->end_matches[n];
- if (n == 0) return(str);
- if (n > (int) (estr - str)) return (NULL);
-
- /* This needs fixed for case sensitive match */
- if (0 != strncmp((char *) str, (char *) bpos, (unsigned int) n)) return (NULL);
- str += n;
- return (str);
-}
-
-/* returns pointer to the end of regexp or NULL */
-static unsigned char *regexp_looking_at (Re_Context_Type *ctx, register unsigned char *str, unsigned char *estr, unsigned char *buf, register int cs)
-{
- register unsigned char p, p1;
- unsigned char *save_str, *tmpstr;
- int n, n0, n1;
- int save_num_open;
- char save_closed_matches[10];
-
- p = *buf++;
-
- while (p != 0)
- {
- /* p1 = UPPERCASE(*buf); */
- /* if (str < estr) c = UPPERCASE(*str); */
-
- switch((unsigned char) p)
- {
- case BOW:
- if ((str != ctx->str)
- && ((str >= estr)
- || IS_WORD_CHAR(*(str - 1))
- || (0 == IS_WORD_CHAR(*str)))) return NULL;
- break;
-
- case EOW:
- if ((str < estr)
- && IS_WORD_CHAR (*str)) return NULL;
- break;
-
- case YES_CASE: cs = 1; break;
- case NO_CASE: cs = 0; break;
-
- case OPAREN:
- ctx->open_paren_number++;
- ctx->reg->beg_matches[ctx->open_paren_number] = (int) (str - ctx->str);
- break;
- case CPAREN:
- n = ctx->open_paren_number;
- while (n > 0)
- {
- if (ctx->closed_paren_matches[n] != 0)
- {
- n--;
- continue;
- }
- ctx->closed_paren_matches[n] = 1;
- ctx->reg->end_matches[n] = (unsigned int) (str - (ctx->str + ctx->reg->beg_matches[n]));
- break;
- }
- break;
-#ifdef NOT_LITERAL
- case NOT_LITERAL:
- if ((str >= estr) || (*buf == UPPERCASE(*str))) return (NULL);
- str++; buf++;
- break;
-
- case MAYBE_ONCE | NOT_LITERAL:
- save_str = str;
- if ((str < estr) && (*buf != UPPERCASE(*str))) str++;
- buf++;
- goto match_rest;
-
- case NOT_LITERAL | LEAST_ONCE: /* match at least once */
- if ((str >= estr) || (UPPERCASE(*str) == UPPERCASE(*buf))) return (NULL);
- str++;
- /* drop */
- case STAR | NOT_LITERAL:
- save_str = str; p1 = *buf;
- while ((str < estr) && (UPPERCASE(*str) != p1)) str++;
- buf++;
- goto match_rest;
-
- /* this type consists of the expression + two bytes that
- determine number of matches to perform */
- case MANY | NOT_LITERAL:
- p1 = *buf; buf++;
- n = n0 = (int) (unsigned char) *buf++;
- /* minimum number to match--- could be 0 */
- n1 = (int) (unsigned char) *buf++;
- /* maximum number to match */
-
- while (n && (str < estr) && (p1 != *str))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
-
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (p1 != *str))
- {
- n--;
- str++;
- }
- goto match_rest;
-#endif /* NOT_LITERAL */
- case LITERAL:
- if ((str >= estr) || (*buf != UPPERCASE(*str))) return (NULL);
- str++; buf++;
- break;
-
- case MAYBE_ONCE | LITERAL:
- save_str = str;
- if ((str < estr) && (*buf == UPPERCASE(*str))) str++;
- buf++;
- goto match_rest;
-
- case LITERAL | LEAST_ONCE: /* match at least once */
- if ((str >= estr) || (UPPERCASE(*str) != UPPERCASE(*buf))) return (NULL);
- str++;
- /* drop */
- case STAR | LITERAL:
- save_str = str; p1 = *buf;
- while ((str < estr) && (UPPERCASE(*str) == p1)) str++;
- buf++;
- goto match_rest;
-
- /* this type consists of the expression + two bytes that
- determine number of matches to perform */
- case MANY | LITERAL:
- p1 = *buf; buf++;
- n = n0 = (int) (unsigned char) *buf++;
- /* minimum number to match--- could be 0 */
- n1 = (int) (unsigned char) *buf++;
- /* maximum number to match */
-
- while (n && (str < estr) && (p1 == *str))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
-
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (p1 == *str))
- {
- n--;
- str++;
- }
- goto match_rest;
-
- case NTH_MATCH:
- if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
- buf++;
- break;
-
- case MAYBE_ONCE | NTH_MATCH:
- save_str = str;
- tmpstr = do_nth_match (ctx, (int) (unsigned char) *buf, str, estr);
- buf++;
- if (tmpstr != NULL)
- {
- str = tmpstr;
- goto match_rest;
- }
- continue;
-
- case LEAST_ONCE | NTH_MATCH:
- if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
- /* drop */
- case STAR | NTH_MATCH:
- save_str = str;
- while (NULL != (tmpstr = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)))
- {
- str = tmpstr;
- }
- buf++;
- goto match_rest;
-
- case MANY | NTH_MATCH: return(NULL);
- /* needs done */
-
- case RANGE:
- if (str >= estr) return (NULL);
- if (TEST_BIT(buf, UPPERCASE(*str)) == 0) return (NULL);
- buf += 32; str++;
- break;
-
- case MAYBE_ONCE | RANGE:
- save_str = str;
- if ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
- buf += 32;
- goto match_rest;
-
- case LEAST_ONCE | RANGE:
- if ((str >= estr) || (0 == TEST_BIT(buf, UPPERCASE(*str)))) return NULL;
- str++;
- /* drop */
- case STAR | RANGE:
- save_str = str;
- while ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
- buf += 32;
- goto match_rest;
-
- /* The first 32 bytes correspond to the range and the two
- * following bytes indicate the min and max number of matches.
- */
- case MANY | RANGE:
- /* minimum number to match--- could be 0 */
- n = n0 = (int) (unsigned char) *(buf + 32);
- /* maximum number to match */
- n1 = (int) (unsigned char) *(buf + 33);
-
- while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
- {
- n--;
- str++;
- }
- if (n) return (NULL);
- save_str = str;
- n = n1 - n0;
- while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
- {
- n--;
- str++;
- }
- buf += 34; /* 32 + 2 */
- goto match_rest;
-
- case ANY_DIGIT:
- if ((str >= estr) || (*str > '9') || (*str < '0')) return (NULL);
- str++;
- break;
-
- case MAYBE_ONCE | ANY_DIGIT:
- save_str = str;
- if ((str < estr) && ((*str > '9') || (*str < '0'))) str++;
- goto match_rest;
-
- case LEAST_ONCE | ANY_DIGIT:
- if ((str >= estr) || ((*str > '9') || (*str < '0'))) return NULL;
- str++;
- /* drop */
- case STAR | ANY_DIGIT:
- save_str = str;
- while ((str < estr) && ((*str <= '9') && (*str >= '0'))) str++;
- goto match_rest;
-
- case MANY | ANY_DIGIT:
- /* needs finished */
- return (NULL);
-
- case ANY:
- if ((str >= estr) || (*str == '\n')) return (NULL);
- str++;
- break;
-
- case MAYBE_ONCE | ANY:
- save_str = str;
- if ((str < estr) && (*str != '\n')) str++;
- goto match_rest;
-
- case LEAST_ONCE | ANY:
- if ((str >= estr) || (*str == '\n')) return (NULL);
- str++;
- /* drop */
- case STAR | ANY:
- save_str = str;
- while ((str < estr) && (*str != '\n')) str++;
- goto match_rest;
-
- case MANY | ANY:
- return (NULL);
- /* needs finished */
-
- case EOL:
- if ((str >= estr) || (*str == '\n')) return (str);
- return(NULL);
-
- default: return (NULL);
- }
- p = *buf++;
- continue;
-
- match_rest:
- if (save_str == str)
- {
- p = *buf++;
- continue;
- }
-
- /* if (p == EOL)
- * {
- * if (str < estr) return (NULL); else return (str);
- * }
- */
-
- SLMEMCPY(save_closed_matches, ctx->closed_paren_matches, sizeof(save_closed_matches));
- save_num_open = ctx->open_paren_number;
- while (str >= save_str)
- {
- tmpstr = regexp_looking_at (ctx, str, estr, buf, cs);
- if (tmpstr != NULL) return(tmpstr);
- SLMEMCPY(ctx->closed_paren_matches, save_closed_matches, sizeof(ctx->closed_paren_matches));
- ctx->open_paren_number = save_num_open;
- str--;
- }
- return NULL;
- }
- if ((p != 0) && (p != EOL)) return (NULL); else return (str);
-}
-
-static void
-fixup_beg_end_matches (Re_Context_Type *ctx, SLRegexp_Type *r, unsigned char *str, unsigned char *epos)
-{
- int i;
-
- if (str == NULL)
- {
- r->beg_matches[0] = -1;
- r->end_matches[0] = 0;
- SLMEMSET(ctx->closed_paren_matches, 0, sizeof(ctx->closed_paren_matches));
- }
- else
- {
- r->beg_matches[0] = (int) (str - ctx->str);
- r->end_matches[0] = (unsigned int) (epos - str);
- }
-
- for (i = 1; i < 10; i++)
- {
- if (ctx->closed_paren_matches [i] == 0)
- {
- r->beg_matches[i] = -1;
- r->end_matches[i] = 0;
- }
- }
-}
-
-static void init_re_context (Re_Context_Type *ctx, SLRegexp_Type *reg,
- unsigned char *str, unsigned int len)
-{
- memset ((char *) ctx, 0, sizeof (Re_Context_Type));
- ctx->reg = reg;
- ctx->str = str;
- ctx->len = len;
-}
-
-unsigned char *SLang_regexp_match(unsigned char *str,
- unsigned int len, SLRegexp_Type *reg)
-{
- register unsigned char c = 0, *estr = str + len;
- int cs = reg->case_sensitive, lit = 0;
- unsigned char *buf = reg->buf, *epos = NULL;
- Re_Context_Type ctx_buf;
-
- if (reg->min_length > len) return NULL;
-
- init_re_context (&ctx_buf, reg, str, len);
-
- if (*buf == BOL)
- {
- if (NULL == (epos = regexp_looking_at (&ctx_buf, str, estr, buf + 1, cs)))
- str = NULL;
-
- fixup_beg_end_matches (&ctx_buf, reg, str, epos);
- return str;
- }
-
- if (*buf == NO_CASE)
- {
- buf++; cs = 0;
- }
-
- if (*buf == YES_CASE)
- {
- buf++; cs = 1;
- }
-
- if (*buf == LITERAL)
- {
- lit = 1;
- c = *(buf + 1);
- }
- else if ((*buf == OPAREN) && (*(buf + 1) == LITERAL))
- {
- lit = 1;
- c = *(buf + 2);
- }
-
- while (str < estr)
- {
- ctx_buf.open_paren_number = 0;
- memset (ctx_buf.closed_paren_matches, 0, sizeof(ctx_buf.closed_paren_matches));
- /* take care of leading chars */
- if (lit)
- {
- while ((str < estr) && (c != UPPERCASE(*str))) str++;
- if (str >= estr)
- break; /* failed */
- }
-
- if (NULL != (epos = regexp_looking_at(&ctx_buf, str, estr, buf, cs)))
- {
- fixup_beg_end_matches (&ctx_buf, reg, str, epos);
- return str;
- }
- str++;
- }
- fixup_beg_end_matches (&ctx_buf, reg, NULL, epos);
- return NULL;
-}
-
-static unsigned char *convert_digit(unsigned char *pat, int *nn)
-{
- int n = 0, m = 0;
- unsigned char c;
- while (c = (unsigned char) *pat, (c <= '9') && (c >= '0'))
- {
- pat++;
- n = 10 * n + (c - '0');
- m++;
- }
- if (m == 0)
- {
- return (NULL);
- }
- *nn = n;
- return pat;
-}
-
-#define ERROR return (int) (pat - reg->pat)
-
-/* Returns 0 if successful or offset in pattern of error */
-int SLang_regexp_compile (SLRegexp_Type *reg)
-{
- register unsigned char *buf, *ebuf, *pat;
- unsigned char *last = NULL, *tmppat;
- register unsigned char c;
- int i, reverse = 0, n, cs;
- int oparen = 0, nparen = 0;
- /* substring stuff */
- int count, last_count, this_max_mm = 0, max_mm = 0, ordinary_search,
- no_osearch = 0, min_length = 0;
- unsigned char *mm_p = NULL, *this_mm_p = NULL;
- static int already_initialized;
-
- reg->beg_matches[0] = reg->end_matches[0] = 0;
- buf = reg->buf;
- ebuf = (reg->buf + reg->buf_len) - 2; /* make some room */
- pat = reg->pat;
- cs = reg->case_sensitive;
-
- if (already_initialized == 0)
- {
- SLang_init_case_tables ();
-#ifdef IBMPC_SYSTEM
- SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\200-\232\240-\245\341-\353", 0);
-#else
- SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\277-\326\330-\336\340-\366\370-\376", 0);
-#endif
- already_initialized = 1;
- }
-
- i = 1; while (i < 10)
- {
- reg->beg_matches[i] = -1;
- reg->end_matches[i] = 0;
- i++;
- }
-
- if (*pat == '\\')
- {
- if (pat[1] == 'c')
- {
- cs = 1;
- pat += 2;
- no_osearch = 1;
- }
- else if (pat[1] == 'C')
- {
- cs = 0;
- pat += 2;
- no_osearch = 1;
- }
- }
-
- if (*pat == '^')
- {
- pat++;
- *buf++ = BOL;
- reg->must_match_bol = 1;
- }
- else reg->must_match_bol = 0;
-
- if (cs != reg->case_sensitive)
- {
- if (cs) *buf++ = YES_CASE;
- else *buf++ = NO_CASE;
- }
-
- *buf = 0;
-
- last_count = count = 0;
- while ((c = *pat++) != 0)
- {
- if (buf >= ebuf - 3)
- {
- SLang_doerror ("Pattern too large to be compiled.");
- ERROR;
- }
-
- count++;
- switch (c)
- {
- case '$':
- if (*pat != 0) goto literal_char;
- *buf++ = EOL;
- break;
-
- case '\\':
- c = *pat++;
- no_osearch = 1;
- switch(c)
- {
- case 'e': c = 033; goto literal_char;
- case 'n': c = '\n'; goto literal_char;
- case 't': c = '\t'; goto literal_char;
- case 'C': cs = 0; *buf++ = NO_CASE; break;
- case 'c': cs = 1; *buf++ = YES_CASE; break;
- case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- c = c - '0';
- if ((int) c > nparen) ERROR;
- last = buf;
- *buf++ = NTH_MATCH; *buf++ = c;
- break;
-#ifdef NOT_LITERAL
- case '~': /* slang extension */
- if ((c = *pat) == 0) ERROR;
- pat++;
- last = buf;
- *buf++ = NOT_LITERAL;
- *buf++ = c;
- min_length++;
- break;
-#endif
- case 'd': /* slang extension */
- last = buf;
- *buf++ = ANY_DIGIT;
- min_length++;
- break;
-
- case '<':
- last = NULL;
- *buf++ = BOW;
- break;
-
- case '>':
- last = NULL;
- *buf++ = EOW;
- break;
-
- case '{':
- if (last == NULL) goto literal_char;
- *last |= MANY;
- tmppat = convert_digit(pat, &n);
- if (tmppat == NULL) ERROR;
- pat = tmppat;
- *buf++ = n;
-
- min_length += (n - 1);
-
- if (*pat == '\\')
- {
- *buf++ = n;
- }
- else if (*pat == ',')
- {
- pat++;
- if (*pat == '\\')
- {
- n = 255;
- }
- else
- {
- tmppat = convert_digit(pat, &n);
- if (tmppat == NULL) ERROR;
- pat = tmppat;
- if (*pat != '\\') ERROR;
- }
- *buf++ = n;
- }
- else ERROR;
- last = NULL;
- pat++;
- if (*pat != '}') ERROR;
- pat++;
- break; /* case '{' */
-
- case '(':
- oparen++;
- if (oparen > 9) ERROR;
- *buf++ = OPAREN;
- break;
- case ')':
- if (oparen == 0) ERROR;
- oparen--;
- nparen++;
- *buf++ = CPAREN;
- break;
-
- case 0: ERROR;
- default:
- goto literal_char;
- }
- break;
-
- case '[':
-
- *buf = RANGE;
- last = buf++;
-
- if (buf + 32 >= ebuf) ERROR;
-
- for (i = 0; i < 32; i++) buf[i] = 0;
- c = *pat++;
- if (c == '^')
- {
- reverse = 1;
- SET_BIT(buf, '\n');
- c = *pat++;
- }
-
- if (c == ']')
- {
- SET_BIT(buf, c);
- c = *pat++;
- }
- while (c && (c != ']'))
- {
- if (c == '\\')
- {
- c = *pat++;
- switch(c)
- {
- case 'n': c = '\n'; break;
- case 't': c = '\t'; break;
- case 0: ERROR;
- }
- }
-
- if (*pat == '-')
- {
- pat++;
- while (c < *pat)
- {
- if (cs == 0)
- {
- SET_BIT(buf, UPPERCASE(c));
- SET_BIT(buf, LOWERCASE(c));
- }
- else SET_BIT(buf, c);
- c++;
- }
- }
- if (cs == 0)
- {
- SET_BIT(buf, UPPERCASE(c));
- SET_BIT(buf, LOWERCASE(c));
- }
- else SET_BIT(buf, c);
- c = *pat++;
- }
- if (c != ']') ERROR;
- if (reverse) for (i = 0; i < 32; i++) buf[i] = buf[i] ^ 0xFF;
- reverse = 0;
- buf += 32;
- min_length++;
- break;
-
- case '.':
- last = buf;
- *buf++ = ANY;
- min_length++;
- break;
-
- case '*':
- if (last == NULL) goto literal_char;
- *last |= STAR;
- min_length--;
- last = NULL;
- break;
-
- case '+':
- if (last == NULL) goto literal_char;
- *last |= LEAST_ONCE;
- last = NULL;
- break;
-
- case '?':
- if (last == NULL) goto literal_char;
- *last |= MAYBE_ONCE;
- last = NULL;
- min_length--;
- break;
-
- literal_char:
- default:
- /* This is to keep track of longest substring */
- min_length++;
- this_max_mm++;
- if (last_count + 1 == count)
- {
- if (this_max_mm == 1)
- {
- this_mm_p = buf;
- }
- else if (max_mm < this_max_mm)
- {
- mm_p = this_mm_p;
- max_mm = this_max_mm;
- }
- }
- else
- {
- this_mm_p = buf;
- this_max_mm = 1;
- }
-
- last_count = count;
-
- last = buf;
- *buf++ = LITERAL;
- *buf++ = UPPERCASE(c);
- }
- }
- *buf = 0;
- /* Check for ordinary search */
- ebuf = buf;
- buf = reg->buf;
-
- if (no_osearch) ordinary_search = 0;
- else
- {
- ordinary_search = 1;
- while (buf < ebuf)
- {
- if (*buf != LITERAL)
- {
- ordinary_search = 0;
- break;
- }
- buf += 2;
- }
- }
-
- reg->osearch = ordinary_search;
- reg->must_match_str[15] = 0;
- reg->min_length = (min_length > 0) ? (unsigned int) min_length : 0;
- if (ordinary_search)
- {
- strncpy((char *) reg->must_match_str, (char *) reg->pat, 15);
- reg->must_match = 1;
- return(0);
- }
- /* check for longest substring of pattern */
- reg->must_match = 0;
- if ((mm_p == NULL) && (this_mm_p != NULL)) mm_p = this_mm_p;
- if (mm_p == NULL)
- {
- return (0);
- }
- n = 15;
- pat = reg->must_match_str;
- buf = mm_p;
- while (n--)
- {
- if (*buf++ != LITERAL) break;
- *pat++ = *buf++;
- }
- *pat = 0;
- if (pat != reg->must_match_str) reg->must_match = 1;
- return(0);
-}
-
-char *SLregexp_quote_string (char *re, char *buf, unsigned int buflen)
-{
- char ch;
- char *b, *bmax;
-
- if (re == NULL) return NULL;
-
- b = buf;
- bmax = buf + buflen;
-
- while (b < bmax)
- {
- switch (ch = *re++)
- {
- case 0:
- *b = 0;
- return buf;
-
- case '$':
- case '\\':
- case '[':
- case ']':
- case '.':
- case '^':
- case '*':
- case '+':
- case '?':
- *b++ = '\\';
- if (b == bmax) break;
- /* drop */
-
- default:
- *b++ = ch;
- }
- }
- return NULL;
-}
-
-#if 0
-#define MAX_EXP 4096
-int main(int argc, char **argv)
-{
- FILE *fp;
- char *regexp, *file;
- char expbuf[MAX_EXP], buf[512];
- SLRegexp_Type reg;
-
- file = argv[2];
- regexp = argv[1];
-
- if (NULL == (fp = fopen(file, "r")))
- {
- fprintf(stderr, "File not open\n");
- return(1);
- }
-
- reg.buf = expbuf;
- reg.buf_len = MAX_EXP;
- reg.pat = regexp;
- reg.case_sensitive = 1;
-
- if (!regexp_compile(&reg)) while (NULL != fgets(buf, 511, fp))
- {
- if (reg.osearch)
- {
- if (NULL == strstr(buf, reg.pat)) continue;
- }
- else
- {
- if (reg.must_match && (NULL == strstr(buf, reg.must_match_str))) continue;
- if (0 == regexp_match(buf, buf + strlen(buf), &reg)) continue;
- }
-
- fputs(buf, stdout);
- }
- return (0);
-}
-#endif
diff --git a/mdk-stage1/slang/slrline.c b/mdk-stage1/slang/slrline.c
deleted file mode 100644
index 1874be0bb..000000000
--- a/mdk-stage1/slang/slrline.c
+++ /dev/null
@@ -1,836 +0,0 @@
-/* SLang_read_line interface --- uses SLang tty stuff */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef REAL_UNIX_SYSTEM
-int SLang_RL_EOF_Char = 4;
-#else
-int SLang_RL_EOF_Char = 26;
-#endif
-
-int SLang_Rline_Quit;
-static SLang_RLine_Info_Type *This_RLI;
-
-static unsigned char Char_Widths[256];
-static void position_cursor (int);
-
-static void rl_beep (void)
-{
- putc(7, stdout);
- fflush (stdout);
-}
-
-/* editing functions */
-static int rl_bol (void)
-{
- if (This_RLI->point == 0) return 0;
- This_RLI->point = 0;
- return 1;
-}
-
-static int rl_eol (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- This_RLI->point = This_RLI->len;
- return 1;
-}
-
-static int rl_right (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- This_RLI->point++;
- return 1;
-}
-
-static int rl_left (void)
-{
- if (This_RLI->point == 0) return 0;
- This_RLI->point--;
- return 1;
-}
-
-static int rl_self_insert (void)
-{
- unsigned char *pmin, *p;
-
- if (This_RLI->len == This_RLI->buf_len)
- {
- rl_beep ();
- return 0;
- }
-
- pmin = This_RLI->buf + This_RLI->point;
- p = This_RLI->buf + This_RLI->len;
- while (p > pmin)
- {
- *p = *(p - 1);
- p--;
- }
- *pmin = SLang_Last_Key_Char;
-
- This_RLI->len++;
- This_RLI->point++;
- if ((This_RLI->curs_pos + 2 >= This_RLI->edit_width)
- || (This_RLI->tt_insert == NULL)
- || (Char_Widths[SLang_Last_Key_Char] != 1)) return 1;
-
- (*This_RLI->tt_insert)((char) SLang_Last_Key_Char);
- /* update screen buf */
- p = This_RLI->old_upd + (This_RLI->len - 1);
- pmin = This_RLI->old_upd + (This_RLI->point - 1);
- while (p > pmin)
- {
- *p = *(p - 1);
- p--;
- }
- *pmin = SLang_Last_Key_Char;
- return 0;
-}
-
-int SLang_rline_insert (char *s)
-{
- unsigned char *pmin, *p;
- int n;
-
- n = strlen (s);
- if (n > This_RLI->buf_len - This_RLI->len)
- n = This_RLI->buf_len - This_RLI->len;
-
- if (n == 0) return 0;
-
- pmin = This_RLI->buf + This_RLI->point;
- p = This_RLI->buf + (This_RLI->len - 1);
-
- while (p >= pmin)
- {
- *(p + n) = *p;
- p--;
- }
- SLMEMCPY ((char *) pmin, s, n);
-
- This_RLI->len += n;
- This_RLI->point += n;
- return n;
-}
-
-static int rl_deln (int n)
-{
- unsigned char *pmax, *p;
-
- p = This_RLI->buf + This_RLI->point;
- pmax = This_RLI->buf + This_RLI->len;
-
- if (p + n > pmax) n = (int) (pmax - p);
- while (p < pmax)
- {
- *p = *(p + n);
- p++;
- }
- This_RLI->len -= n;
- return n;
-}
-
-static int rl_del (void)
-{
- return rl_deln(1);
-}
-
-static int rl_quote_insert (void)
-{
- int err = SLang_Error;
- SLang_Error = 0;
- SLang_Last_Key_Char = (*This_RLI->getkey)();
- rl_self_insert ();
- if (SLang_Error == SL_USER_BREAK) SLang_Error = 0;
- else SLang_Error = err;
- return 1;
-}
-
-static int rl_trim (void)
-{
- unsigned char *p, *pmax, *p1;
- p = This_RLI->buf + This_RLI->point;
- pmax = This_RLI->buf + This_RLI->len;
-
- if (p == pmax)
- {
- if (p == This_RLI->buf) return 0;
- p--;
- }
-
- if ((*p != ' ') && (*p != '\t')) return 0;
- p1 = p;
- while ((p1 < pmax) && ((*p1 == ' ') || (*p1 == '\t'))) p1++;
- pmax = p1;
- p1 = This_RLI->buf;
-
- while ((p >= p1) && ((*p == ' ') || (*p == '\t'))) p--;
- if (p == pmax) return 0;
- p++;
-
- This_RLI->point = (int) (p - p1);
- return rl_deln ((int) (pmax - p));
-}
-
-static int rl_bdel (void)
-{
- if (rl_left()) return rl_del();
- return 0;
-}
-
-static int rl_deleol (void)
-{
- if (This_RLI->point == This_RLI->len) return 0;
- *(This_RLI->buf + This_RLI->point) = 0;
- This_RLI->len = This_RLI->point;
- return 1;
-}
-
-static int rl_delete_line (void)
-{
- This_RLI->point = 0;
- *(This_RLI->buf + This_RLI->point) = 0;
- This_RLI->len = 0;
- return 1;
-}
-
-static int rl_enter (void)
-{
- *(This_RLI->buf + This_RLI->len) = 0;
- SLang_Rline_Quit = 1;
- return 1;
-}
-
-static SLKeyMap_List_Type *RL_Keymap;
-
-/* This update is designed for dumb terminals. It assumes only that the
- * terminal can backspace via ^H, and move cursor to start of line via ^M.
- * There is a hook so the user can provide a more sophisticated update if
- * necessary.
- */
-
-static void position_cursor (int col)
-{
- unsigned char *p, *pmax;
- int dc;
-
- if (col == This_RLI->curs_pos)
- {
- fflush (stdout);
- return;
- }
-
- if (This_RLI->tt_goto_column != NULL)
- {
- (*This_RLI->tt_goto_column)(col);
- This_RLI->curs_pos = col;
- fflush (stdout);
- return;
- }
-
- dc = This_RLI->curs_pos - col;
- if (dc < 0)
- {
- p = This_RLI->new_upd + This_RLI->curs_pos;
- pmax = This_RLI->new_upd + col;
- while (p < pmax) putc((char) *p++, stdout);
- }
- else
- {
- if (dc < col)
- {
- while (dc--) putc(8, stdout);
- }
- else
- {
- putc('\r', stdout);
- p = This_RLI->new_upd;
- pmax = This_RLI->new_upd + col;
- while (p < pmax) putc((char) *p++, stdout);
- }
- }
- This_RLI->curs_pos = col;
- fflush (stdout);
-}
-
-static void erase_eol (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p, *pmax;
-
- p = rli->old_upd + rli->curs_pos;
- pmax = rli->old_upd + rli->old_upd_len;
-
- while (p++ < pmax) putc(' ', stdout);
-
- rli->curs_pos = rli->old_upd_len;
-}
-
-static unsigned char *spit_out(SLang_RLine_Info_Type *rli, unsigned char *p)
-{
- unsigned char *pmax;
- position_cursor ((int) (p - rli->new_upd));
- pmax = rli->new_upd + rli->new_upd_len;
- while (p < pmax) putc((char) *p++, stdout);
- rli->curs_pos = rli->new_upd_len;
- return pmax;
-}
-
-static void really_update (SLang_RLine_Info_Type *rli, int new_curs_position)
-{
- unsigned char *b = rli->old_upd, *p = rli->new_upd, chb, chp;
- unsigned char *pmax;
-
- if (rli->update_hook != NULL)
- {
- (*rli->update_hook)(p, rli->edit_width, new_curs_position);
- }
- else
- {
- pmax = p + rli->edit_width;
- while (p < pmax)
- {
- chb = *b++; chp = *p++;
- if (chb == chp) continue;
-
- if (rli->old_upd_len <= rli->new_upd_len)
- {
- /* easy one */
- (void) spit_out (rli, p - 1);
- break;
- }
- spit_out(rli, p - 1);
- erase_eol (rli);
- break;
- }
- position_cursor (new_curs_position);
- }
-
- /* update finished, so swap */
-
- rli->old_upd_len = rli->new_upd_len;
- p = rli->old_upd;
- rli->old_upd = rli->new_upd;
- rli->new_upd = p;
-}
-
-static void RLupdate (SLang_RLine_Info_Type *rli)
-{
- int len, dlen, start_len = 0, prompt_len = 0, tw = 0, count;
- int want_cursor_pos;
- unsigned char *b, chb, *b_point, *p;
- int no_echo;
-
- no_echo = rli->flags & SL_RLINE_NO_ECHO;
-
- b_point = (unsigned char *) (rli->buf + rli->point);
- *(rli->buf + rli->len) = 0;
-
- /* expand characters for output buffer --- handle prompt first.
- * Do two passes --- first to find out where to begin upon horiz
- * scroll and the second to actually fill the buffer. */
- len = 0;
- count = 2; /* once for prompt and once for buf */
-
- b = (unsigned char *) rli->prompt;
- while (count--)
- {
- if ((count == 0) && no_echo)
- break;
-
- /* The prompt could be NULL */
- if (b != NULL) while ((chb = *b) != 0)
- {
- /* This will ensure that the screen is scrolled a third of the edit
- * width each time */
- if (b_point == b) break;
- dlen = Char_Widths[chb];
- if ((chb == '\t') && tw)
- {
- dlen = tw * ((len - prompt_len) / tw + 1) - (len - prompt_len);
- }
- len += dlen;
- b++;
- }
- tw = rli->tab;
- b = (unsigned char *) rli->buf;
- if (count == 1) want_cursor_pos = prompt_len = len;
- }
-
- if (len < rli->edit_width - rli->dhscroll) start_len = 0;
- else if ((rli->start_column > len)
- || (rli->start_column + rli->edit_width <= len))
- {
- start_len = len - (rli->edit_width - rli->dhscroll);
- if (start_len < 0) start_len = 0;
- }
- else start_len = rli->start_column;
- rli->start_column = start_len;
-
- want_cursor_pos = len - start_len;
-
- /* second pass */
- p = rli->new_upd;
-
- len = 0;
- count = 2;
- b = (unsigned char *) rli->prompt;
- if (b == NULL) b = (unsigned char *) "";
-
- while ((len < start_len) && (*b))
- {
- len += Char_Widths[*b++];
- }
-
- tw = 0;
- if (*b == 0)
- {
- b = (unsigned char *) rli->buf;
- while (len < start_len)
- {
- len += Char_Widths[*b++];
- }
- tw = rli->tab;
- count--;
- }
-
- len = 0;
- while (count--)
- {
- if ((count == 0) && (no_echo))
- break;
-
- while ((len < rli->edit_width) && ((chb = *b++) != 0))
- {
- dlen = Char_Widths[chb];
- if (dlen == 1) *p++ = chb;
- else
- {
- if ((chb == '\t') && tw)
- {
- dlen = tw * ((len + start_len - prompt_len) / tw + 1) - (len + start_len - prompt_len);
- len += dlen; /* ok since dlen comes out 0 */
- if (len > rli->edit_width) dlen = len - rli->edit_width;
- while (dlen--) *p++ = ' ';
- dlen = 0;
- }
- else
- {
- if (dlen == 3)
- {
- chb &= 0x7F;
- *p++ = '~';
- }
-
- *p++ = '^';
- if (chb == 127) *p++ = '?';
- else *p++ = chb + '@';
- }
- }
- len += dlen;
- }
- /* if (start_len > prompt_len) break; */
- tw = rli->tab;
- b = (unsigned char *) rli->buf;
- }
-
- rli->new_upd_len = (int) (p - rli->new_upd);
- while (p < rli->new_upd + rli->edit_width) *p++ = ' ';
- really_update (rli, want_cursor_pos);
-}
-
-void SLrline_redraw (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p = rli->new_upd;
- unsigned char *pmax = p + rli->edit_width;
- while (p < pmax) *p++ = ' ';
- rli->new_upd_len = rli->edit_width;
- really_update (rli, 0);
- RLupdate (rli);
-}
-
-static int rl_eof_insert (void)
-{
- if (This_RLI->len == 0)
- {
- SLang_Last_Key_Char = SLang_RL_EOF_Char;
- /* rl_self_insert (); */
- return rl_enter ();
- }
- return 0;
-}
-
-/* This is very naive. It knows very little about nesting and nothing
- * about quoting.
- */
-static void blink_match (SLang_RLine_Info_Type *rli)
-{
- unsigned char bra, ket;
- unsigned int delta_column;
- unsigned char *p, *pmin;
- int dq_level, sq_level;
- int level;
-
- pmin = rli->buf;
- p = pmin + rli->point;
- if (pmin == p)
- return;
-
- ket = SLang_Last_Key_Char;
- switch (ket)
- {
- case ')':
- bra = '(';
- break;
- case ']':
- bra = '[';
- break;
- case '}':
- bra = '{';
- break;
- default:
- return;
- }
-
- level = 0;
- sq_level = dq_level = 0;
-
- delta_column = 0;
- while (p > pmin)
- {
- char ch;
-
- p--;
- delta_column++;
- ch = *p;
-
- if (ch == ket)
- {
- if ((dq_level == 0) && (sq_level == 0))
- level++;
- }
- else if (ch == bra)
- {
- if ((dq_level != 0) || (sq_level != 0))
- continue;
-
- level--;
- if (level == 0)
- {
- rli->point -= delta_column;
- RLupdate (rli);
- (*rli->input_pending)(10);
- rli->point += delta_column;
- RLupdate (rli);
- break;
- }
- if (level < 0)
- break;
- }
- else if (ch == '"') dq_level = !dq_level;
- else if (ch == '\'') sq_level = !sq_level;
- }
-}
-
-int SLang_read_line (SLang_RLine_Info_Type *rli)
-{
- unsigned char *p, *pmax;
- SLang_Key_Type *key;
-
- SLang_Rline_Quit = 0;
- This_RLI = rli;
- p = rli->old_upd; pmax = p + rli->edit_width;
- while (p < pmax) *p++ = ' ';
-
- /* Sanity checking */
- rli->len = strlen ((char *) rli->buf);
- if (rli->len >= rli->buf_len)
- {
- rli->len = 0;
- *rli->buf = 0;
- }
- if (rli->point > rli->len) rli->point = rli->len;
- if (rli->point < 0) rli->point = 0;
-
- rli->curs_pos = rli->start_column = 0;
- rli->new_upd_len = rli->old_upd_len = 0;
-
- This_RLI->last_fun = NULL;
- if (rli->update_hook == NULL)
- putc ('\r', stdout);
-
- RLupdate (rli);
-
- while (1)
- {
- key = SLang_do_key (RL_Keymap, (int (*)(void)) rli->getkey);
-
- if ((key == NULL) || (key->f.f == NULL))
- rl_beep ();
- else
- {
- if ((SLang_Last_Key_Char == SLang_RL_EOF_Char)
- && (*key->str == 2)
- && (This_RLI->len == 0))
- rl_eof_insert ();
- else if (key->type == SLKEY_F_INTRINSIC)
- {
- if ((key->f.f)())
- RLupdate (rli);
-
- if ((rli->flags & SL_RLINE_BLINK_MATCH)
- && (rli->input_pending != NULL))
- blink_match (rli);
- }
-
- if (SLang_Rline_Quit)
- {
- This_RLI->buf[This_RLI->len] = 0;
- if (SLang_Error == SL_USER_BREAK)
- {
- SLang_Error = 0;
- return -1;
- }
- return This_RLI->len;
- }
- }
- if (key != NULL)
- This_RLI->last_fun = key->f.f;
- }
-}
-
-static int rl_abort (void)
-{
- rl_delete_line ();
- return rl_enter ();
-}
-
-/* TTY interface --- ANSI */
-
-static void ansi_goto_column (int n)
-{
- putc('\r', stdout);
- if (n) fprintf(stdout, "\033[%dC", n);
-}
-
-static void rl_select_line (SLang_Read_Line_Type *p)
-{
- This_RLI->last = p;
- strcpy ((char *) This_RLI->buf, (char *) p->buf);
- This_RLI->point = This_RLI->len = strlen((char *) p->buf);
-}
-static int rl_next_line (void);
-static int rl_prev_line (void)
-{
- SLang_Read_Line_Type *prev;
-
- if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
- && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
- || (This_RLI->last == NULL))
- {
- prev = This_RLI->tail;
- }
- else prev = This_RLI->last->prev;
-
- if (prev == NULL)
- {
- rl_beep ();
- return 0;
- }
-
- rl_select_line (prev);
- return 1;
-}
-static int rl_redraw (void)
-{
- SLrline_redraw (This_RLI);
- return 1;
-}
-
-static int rl_next_line (void)
-{
- SLang_Read_Line_Type *next;
-
- if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
- && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
- || (This_RLI->last == NULL))
- {
- rl_beep ();
- return 0;
- }
-
- next = This_RLI->last->next;
-
- if (next == NULL)
- {
- This_RLI->len = This_RLI->point = 0;
- *This_RLI->buf = 0;
- This_RLI->last = NULL;
- }
- else rl_select_line (next);
- return 1;
-}
-
-static SLKeymap_Function_Type SLReadLine_Functions[] =
-{
- {"up", rl_prev_line},
- {"down", rl_next_line},
- {"bol", rl_bol},
- {"eol", rl_eol},
- {"right", rl_right},
- {"left", rl_left},
- {"self_insert", rl_self_insert},
- {"bdel", rl_bdel},
- {"del", rl_del},
- {"deleol", rl_deleol},
- {"enter", rl_enter},
- {"trim", rl_trim},
- {"quoted_insert", rl_quote_insert},
- {(char *) NULL, NULL}
-};
-
-int SLang_init_readline (SLang_RLine_Info_Type *rli)
-{
- int ch;
- char simple[2];
-
- if (RL_Keymap == NULL)
- {
- simple[1] = 0;
- if (NULL == (RL_Keymap = SLang_create_keymap ("ReadLine", NULL)))
- return -1;
-
- RL_Keymap->functions = SLReadLine_Functions;
-
- /* This breaks under some DEC ALPHA compilers (scary!) */
-#ifndef __DECC
- for (ch = ' '; ch < 256; ch++)
- {
- simple[0] = (char) ch;
- SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
- }
-#else
- ch = ' ';
- while (1)
- {
- simple[0] = (char) ch;
- SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
- ch = ch + 1;
- if (ch == 256) break;
- }
-#endif /* NOT __DECC */
-
- simple[0] = SLang_Abort_Char;
- SLkm_define_key (simple, (FVOID_STAR) rl_abort, RL_Keymap);
- simple[0] = SLang_RL_EOF_Char;
- SLkm_define_key (simple, (FVOID_STAR) rl_eof_insert, RL_Keymap);
-
-#ifndef IBMPC_SYSTEM
- SLkm_define_key ("^[[A", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^[[B", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^[[C", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^[[D", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^[OA", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^[OB", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^[OC", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^[OD", (FVOID_STAR) rl_left, RL_Keymap);
-#else
- SLkm_define_key ("^@H", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^@P", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^@M", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^@K", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^@S", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^@O", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("^@G", (FVOID_STAR) rl_bol, RL_Keymap);
-
- SLkm_define_key ("\xE0H", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("\xE0P", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("\xE0M", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("\xE0K", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("\xE0S", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("\xE0O", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("\xE0G", (FVOID_STAR) rl_bol, RL_Keymap);
-#endif
- SLkm_define_key ("^C", (FVOID_STAR) rl_abort, RL_Keymap);
- SLkm_define_key ("^E", (FVOID_STAR) rl_eol, RL_Keymap);
- SLkm_define_key ("^G", (FVOID_STAR) rl_abort, RL_Keymap);
- SLkm_define_key ("^I", (FVOID_STAR) rl_self_insert, RL_Keymap);
- SLkm_define_key ("^A", (FVOID_STAR) rl_bol, RL_Keymap);
- SLkm_define_key ("\r", (FVOID_STAR) rl_enter, RL_Keymap);
- SLkm_define_key ("\n", (FVOID_STAR) rl_enter, RL_Keymap);
- SLkm_define_key ("^K", (FVOID_STAR) rl_deleol, RL_Keymap);
- SLkm_define_key ("^L", (FVOID_STAR) rl_deleol, RL_Keymap);
- SLkm_define_key ("^V", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^D", (FVOID_STAR) rl_del, RL_Keymap);
- SLkm_define_key ("^F", (FVOID_STAR) rl_right, RL_Keymap);
- SLkm_define_key ("^B", (FVOID_STAR) rl_left, RL_Keymap);
- SLkm_define_key ("^?", (FVOID_STAR) rl_bdel, RL_Keymap);
- SLkm_define_key ("^H", (FVOID_STAR) rl_bdel, RL_Keymap);
- SLkm_define_key ("^P", (FVOID_STAR) rl_prev_line, RL_Keymap);
- SLkm_define_key ("^N", (FVOID_STAR) rl_next_line, RL_Keymap);
- SLkm_define_key ("^R", (FVOID_STAR) rl_redraw, RL_Keymap);
- SLkm_define_key ("`", (FVOID_STAR) rl_quote_insert, RL_Keymap);
- SLkm_define_key ("\033\\", (FVOID_STAR) rl_trim, RL_Keymap);
- if (SLang_Error) return -1;
- }
-
- if (rli->prompt == NULL) rli->prompt = "";
- if (rli->keymap == NULL) rli->keymap = RL_Keymap;
- rli->old_upd = rli->upd_buf1;
- rli->new_upd = rli->upd_buf2;
- *rli->buf = 0;
- rli->point = 0;
-
- if (rli->flags & SL_RLINE_USE_ANSI)
- {
- if (rli->tt_goto_column == NULL) rli->tt_goto_column = ansi_goto_column;
- }
-
- if (Char_Widths[0] == 2) return 0;
-
- for (ch = 0; ch < 32; ch++) Char_Widths[ch] = 2;
- for (ch = 32; ch < 256; ch++) Char_Widths[ch] = 1;
- Char_Widths[127] = 2;
-#ifndef IBMPC_SYSTEM
- for (ch = 128; ch < 160; ch++) Char_Widths[ch] = 3;
-#endif
-
- return 0;
-}
-
-SLang_Read_Line_Type *SLang_rline_save_line (SLang_RLine_Info_Type *rli)
-{
- SLang_Read_Line_Type *rl = NULL;
- unsigned char *buf;
-
- if ((rli == NULL) || (rli->buf == NULL))
- return NULL;
-
- if (NULL == (rl = (SLang_Read_Line_Type *) SLmalloc (sizeof (SLang_Read_Line_Type)))
- || (NULL == (buf = (unsigned char *) SLmake_string ((char *)rli->buf))))
- {
- SLfree ((char *)rl);
- return NULL;
- }
- rl->buf = buf;
- rl->buf_len = strlen ((char *)buf);
- rl->num = rl->misc = 0;
- rl->next = rl->prev = NULL;
-
- if (rli->tail != NULL)
- {
- rli->tail->next = rl;
- rl->prev = rli->tail;
- }
- rli->tail = rl;
-
- return rl;
-}
diff --git a/mdk-stage1/slang/slscanf.c b/mdk-stage1/slang/slscanf.c
deleted file mode 100644
index 5bd93ff41..000000000
--- a/mdk-stage1/slang/slscanf.c
+++ /dev/null
@@ -1,718 +0,0 @@
-/* sscanf function for S-Lang */
-/* Copyright (c) 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-#include <ctype.h>
-#include <math.h>
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-static char *skip_whitespace (char *s)
-{
- while (isspace (*s))
- s++;
-
- return s;
-}
-
-static void init_map (unsigned char map[256], int base)
-{
- memset ((char *) map, 0xFF, 256);
-
- map['0'] = 0; map['1'] = 1; map['2'] = 2; map['3'] = 3;
- map['4'] = 4; map['5'] = 5; map['6'] = 6; map['7'] = 7;
- if (base == 8)
- return;
-
- map['8'] = 8; map['9'] = 9;
- if (base == 10)
- return;
-
- map['A'] = 10; map['B'] = 11; map['C'] = 12; map['D'] = 13;
- map['E'] = 14; map['F'] = 15; map['a'] = 10; map['b'] = 11;
- map['c'] = 12; map['d'] = 13; map['e'] = 14; map['f'] = 15;
-}
-
-static char *get_sign (char *s, char *smax, int *sign)
-{
- *sign = 1;
- if (s + 1 < smax)
- {
- if (*s == '+') s++;
- else if (*s == '-')
- {
- s++;
- *sign = -1;
- }
- }
- return s;
-}
-
-
-static int parse_long (char **sp, char *smax, long *np,
- long base, unsigned char map[256])
-{
- char *s, *s0;
- long n;
- int sign;
-
- s = s0 = get_sign (*sp, smax, &sign);
-
- n = 0;
- while (s < smax)
- {
- unsigned char value;
-
- value = map [(unsigned char) *s];
- if (value == 0xFF)
- break;
-
- n = base * n + value;
- s++;
- }
-
- *sp = s;
- if (s == s0)
- return 0;
-
- *np = n * sign;
-
- return 1;
-}
-
-
-static int parse_int (char **sp, char *smax, int *np,
- long base, unsigned char map[256])
-{
- long n;
- int status;
-
- if (1 == (status = parse_long (sp, smax, &n, base, map)))
- *np = (int) n;
- return status;
-}
-
-static int parse_short (char **sp, char *smax, short *np,
- long base, unsigned char map[256])
-{
- long n;
- int status;
-
- if (1 == (status = parse_long (sp, smax, &n, base, map)))
- *np = (short) n;
- return status;
-}
-
-static int parse_ulong (char **sp, char *smax, unsigned long *np,
- long base, unsigned char map[256])
-{
- return parse_long (sp, smax, (long *) np, base, map);
-}
-
-static int parse_uint (char **sp, char *smax, unsigned int *np,
- long base, unsigned char map[256])
-{
- return parse_int (sp, smax, (int *) np, base, map);
-}
-
-static int parse_ushort (char **sp, char *smax, unsigned short *np,
- long base, unsigned char map[256])
-{
- return parse_short (sp, smax, (short *) np, base, map);
-}
-
-#if SLANG_HAS_FLOAT
-/*
- * In an ideal world, strtod would be the correct function to use. However,
- * there may be problems relying on this function because some systems do
- * not support and some that do get it wrong. So, I will handle the parsing
- * of the string and let atof or strtod handle the arithmetic.
- */
-static int parse_double (char **sp, char *smax, double *d)
-{
- char *s, *s0;
- int sign;
- int expon;
- unsigned char map[256];
- char buf[128];
- int has_leading_zeros;
- char *start_pos, *sign_pos;
- char *b, *bmax;
-
- start_pos = *sp;
- s = get_sign (start_pos, smax, &sign);
- if (s >= smax)
- {
- errno = _SLerrno_errno = EINVAL;
- return 0;
- }
-
- /* Prepare the buffer that will be passed to strtod */
- /* Allow the exponent to be 5 significant digits: E+xxxxx\0 */
- bmax = buf + (sizeof (buf) - 8);
- buf[0] = '0'; buf[1] = '.';
- b = buf + 2;
-
- init_map (map, 10);
-
- /* Skip leading 0s */
- s0 = s;
- while ((s < smax) && (*s == '0'))
- s++;
- has_leading_zeros = (s != s0);
-
- expon = 0;
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
-
- if (value == 0xFF)
- break;
-
- if (b < bmax)
- *b++ = *s;
-
- expon++;
- s++;
- }
-
- if ((s < smax) && (*s == '.'))
- {
- s++;
- if (b == buf + 2) /* nothing added yet */
- {
- while ((s < smax) && (*s == '0'))
- {
- expon--;
- s++;
- }
- }
-
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
-
- if (value == 0xFF)
- break;
-
- if (b < bmax)
- *b++ = *s;
- s++;
- }
- }
-
- if ((b == buf + 2)
- && (has_leading_zeros == 0))
- {
- *sp = start_pos;
- errno = EINVAL;
- return 0;
- }
-
- if ((s + 1 < smax) && ((*s == 'E') || (*s == 'e')))
- {
- int e;
- int esign;
-
- s0 = s;
- s = get_sign (s + 1, smax, &esign);
- sign_pos = s;
- e = 0;
- while (s < smax)
- {
- unsigned char value = map [(unsigned char) *s];
- if (value == 0xFF)
- break;
- if (e < 25000) /* avoid overflow if 16 bit */
- e = 10 * e + value;
- s++;
- }
-#ifdef ERANGE
- if (e >= 25000)
- errno = ERANGE;
-#endif
- if (s == sign_pos)
- s = s0; /* ...E-X */
- else
- {
- e = esign * e;
- expon += e;
- }
- }
-
- if (expon != 0)
- sprintf (b, "e%d", expon);
- else
- *b = 0;
-
- *sp = s;
-#if HAVE_STRTOD
- *d = sign * strtod (buf, NULL);
-#else
- *d = sign * atof (buf);
-#endif
- return 1;
-}
-
-static int parse_float (char **sp, char *smax, float *d)
-{
- double x;
- if (1 == parse_double (sp, smax, &x))
- {
- *d = (float) x;
- return 1;
- }
- return 0;
-}
-#endif /* SLANG_HAS_FLOAT */
-
-static int parse_string (char **sp, char *smax, char **str)
-{
- char *s, *s0;
-
- s0 = s = *sp;
- while (s < smax)
- {
- if (isspace (*s))
- break;
- s++;
- }
- if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- return -1;
-
- *sp = s;
- return 1;
-}
-
-static int parse_bstring (char **sp, char *smax, char **str)
-{
- char *s;
-
- s = *sp;
- if (NULL == (*str = SLang_create_nslstring (s, (unsigned int) (smax - s))))
- return -1;
-
- *sp = smax;
- return 1;
-}
-
-static int parse_range (char **sp, char *smax, char **fp, char **str)
-{
- char *s, *s0;
- char *range;
- char *f;
- unsigned char map[256];
- unsigned char reverse;
-
- /* How can one represent a range with just '^'? The naive answer is
- * is [^]. However, this may be interpreted as meaning any character
- * but ']' and others. Let's assume that the user will not use a range
- * to match '^'.
- */
- f = *fp;
- /* f is a pointer to (one char after) [...]. */
- if (*f == '^')
- {
- f++;
- reverse = 1;
- }
- else reverse = 0;
-
- s0 = f;
- if (*f == ']')
- f++;
-
- while (1)
- {
- char ch = *f;
-
- if (ch == 0)
- {
- SLang_verror (SL_INVALID_PARM, "Unexpected end of range in format");
- return -1;
- }
- if (ch == ']')
- break;
- f++;
- }
- if (NULL == (range = SLmake_nstring (s0, (unsigned int) (f - s0))))
- return -1;
- *fp = f + 1; /* skip ] */
-
- SLmake_lut (map, (unsigned char *) range, reverse);
- SLfree (range);
-
- s0 = s = *sp;
- while ((s < smax) && map [(unsigned char) *s])
- s++;
-
- if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- return -1;
-
- *sp = s;
- return 1;
-}
-
-
-int _SLang_sscanf (void)
-{
- int num;
- unsigned int num_refs;
- char *format;
- char *input_string, *input_string_max;
- char *f, *s;
- unsigned char map8[256], map10[256], map16[256];
-
- if (SLang_Num_Function_Args < 2)
- {
- SLang_verror (SL_INVALID_PARM, "Int_Type sscanf (str, format, ...)");
- return -1;
- }
-
- num_refs = (unsigned int) SLang_Num_Function_Args;
- if (-1 == SLreverse_stack (num_refs))
- return -1;
- num_refs -= 2;
-
- if (-1 == SLang_pop_slstring (&input_string))
- return -1;
-
- if (-1 == SLang_pop_slstring (&format))
- {
- SLang_free_slstring (input_string);
- return -1;
- }
-
- f = format;
- s = input_string;
- input_string_max = input_string + strlen (input_string);
-
- init_map (map8, 8);
- init_map (map10, 10);
- init_map (map16, 16);
-
- num = 0;
-
- while (num_refs != 0)
- {
- SLang_Object_Type obj;
- SLang_Ref_Type *ref;
- char *smax;
- unsigned char *map;
- int base;
- int no_assign;
- int is_short;
- int is_long;
- int status;
- char chf;
- unsigned int width;
- int has_width;
-
- chf = *f++;
-
- if (chf == 0)
- {
- /* Hmmm.... what is the most useful thing to do?? */
-#if 1
- break;
-#else
- SLang_verror (SL_INVALID_PARM, "sscanf: format not big enough for output list");
- goto return_error;
-#endif
- }
-
- if (isspace (chf))
- {
- s = skip_whitespace (s);
- continue;
- }
-
- if ((chf != '%')
- || ((chf = *f++) == '%'))
- {
- if (*s != chf)
- break;
- s++;
- continue;
- }
-
- no_assign = 0;
- is_short = 0;
- is_long = 0;
- width = 0;
- smax = input_string_max;
-
- /* Look for the flag character */
- if (chf == '*')
- {
- no_assign = 1;
- chf = *f++;
- }
-
- /* Width */
- has_width = isdigit (chf);
- if (has_width)
- {
- f--;
- (void) parse_uint (&f, f + strlen(f), &width, 10, map10);
- chf = *f++;
- }
-
- /* Now the type modifier */
- switch (chf)
- {
- case 'h':
- is_short = 1;
- chf = *f++;
- break;
-
- case 'L': /* not implemented */
- case 'l':
- is_long = 1;
- chf = *f++;
- break;
- }
-
- status = -1;
-
- if ((chf != 'c') && (chf != '['))
- s = skip_whitespace (s);
-
- if (has_width)
- {
- if (width > (unsigned int) (input_string_max - s))
- width = (unsigned int) (input_string_max - s);
- smax = s + width;
- }
-
- /* Now the format descriptor */
-
- map = map10;
- base = 10;
-
- try_again: /* used by i, x, and o, conversions */
- switch (chf)
- {
- case 0:
- SLang_verror (SL_INVALID_PARM, "sscanf: Unexpected end of format");
- goto return_error;
- case 'D':
- is_long = 1;
- case 'd':
- if (is_short)
- {
- obj.data_type = SLANG_SHORT_TYPE;
- status = parse_short (&s, smax, &obj.v.short_val, base, map);
- }
- else if (is_long)
- {
- obj.data_type = SLANG_LONG_TYPE;
- status = parse_long (&s, smax, &obj.v.long_val, base, map);
- }
- else
- {
- obj.data_type = SLANG_INT_TYPE;
- status = parse_int (&s, smax, &obj.v.int_val, base, map);
- }
- break;
-
-
- case 'U':
- is_long = 1;
- case 'u':
- if (is_short)
- {
- obj.data_type = SLANG_USHORT_TYPE;
- status = parse_ushort (&s, smax, &obj.v.ushort_val, base, map);
- }
- else if (is_long)
- {
- obj.data_type = SLANG_ULONG_TYPE;
- status = parse_ulong (&s, smax, &obj.v.ulong_val, base, map);
- }
- else
- {
- obj.data_type = SLANG_INT_TYPE;
- status = parse_uint (&s, smax, &obj.v.uint_val, base, map);
- }
- break;
-
- case 'I':
- is_long = 1;
- case 'i':
- if ((s + 1 >= smax)
- || (*s != 0))
- chf = 'd';
- else if (((s[1] == 'x') || (s[1] == 'X'))
- && (s + 2 < smax))
- {
- s += 2;
- chf = 'x';
- }
- else chf = 'o';
- goto try_again;
-
- case 'O':
- is_long = 1;
- case 'o':
- map = map8;
- base = 8;
- chf = 'd';
- goto try_again;
-
- case 'X':
- is_long = 1;
- case 'x':
- base = 16;
- map = map16;
- chf = 'd';
- goto try_again;
-
- case 'E':
- case 'F':
- is_long = 1;
- case 'e':
- case 'f':
- case 'g':
-#if SLANG_HAS_FLOAT
- if (is_long)
- {
- obj.data_type = SLANG_DOUBLE_TYPE;
- status = parse_double (&s, smax, &obj.v.double_val);
- }
- else
- {
- obj.data_type = SLANG_FLOAT_TYPE;
- status = parse_float (&s, smax, &obj.v.float_val);
- }
-#else
- SLang_verror (SL_NOT_IMPLEMENTED,
- "This version of the S-Lang does not support floating point");
- status = -1;
-#endif
- break;
-
- case 's':
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_string (&s, smax, &obj.v.s_val);
- break;
-
- case 'c':
- if (has_width == 0)
- {
- obj.data_type = SLANG_UCHAR_TYPE;
- obj.v.uchar_val = *s++;
- status = 1;
- break;
- }
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_bstring (&s, smax, &obj.v.s_val);
- break;
-
- case '[':
- obj.data_type = SLANG_STRING_TYPE;
- status = parse_range (&s, smax, &f, &obj.v.s_val);
- break;
-
- case 'n':
- obj.data_type = SLANG_UINT_TYPE;
- obj.v.uint_val = (unsigned int) (s - input_string);
- status = 1;
- break;
-
- default:
- status = -1;
- SLang_verror (SL_NOT_IMPLEMENTED, "format specifier '%c' is not supported", chf);
- break;
- }
-
- if (status == 0)
- break;
-
- if (status == -1)
- goto return_error;
-
- if (no_assign)
- {
- SLang_free_object (&obj);
- continue;
- }
-
- if (-1 == SLang_pop_ref (&ref))
- {
- SLang_free_object (&obj);
- goto return_error;
- }
-
- if (-1 == SLang_push (&obj))
- {
- SLang_free_object (&obj);
- SLang_free_ref (ref);
- goto return_error;
- }
-
- if (-1 == _SLang_deref_assign (ref))
- {
- SLang_free_ref (ref);
- goto return_error;
- }
- SLang_free_ref (ref);
-
- num++;
- num_refs--;
- }
-
- if (-1 == SLdo_pop_n (num_refs))
- goto return_error;
-
- SLang_free_slstring (format);
- SLang_free_slstring (input_string);
- return num;
-
- return_error:
- /* NULLS ok */
- SLang_free_slstring (format);
- SLang_free_slstring (input_string);
- return -1;
-}
-
-
-# if SLANG_HAS_FLOAT
-
-#ifndef HAVE_STDLIB_H
-/* Oh dear. Where is the prototype for atof? If not in stdlib, then
- * I do not know where. Not in math.h on some systems either.
- */
-extern double atof ();
-#endif
-
-double _SLang_atof (char *s)
-{
- double x;
-
- s = skip_whitespace (s);
- errno = 0;
-
- if (1 != parse_double (&s, s + strlen (s), &x))
- {
- if ((0 == strcmp ("NaN", s))
- || (0 == strcmp ("-Inf", s))
- || (0 == strcmp ("Inf", s)))
- return atof (s); /* let this deal with it */
-#ifdef EINVAL
- errno = _SLerrno_errno = EINVAL;
-#endif
- return 0.0;
- }
- if (errno)
- _SLerrno_errno = errno;
- return x;
-}
-#endif
diff --git a/mdk-stage1/slang/slscroll.c b/mdk-stage1/slang/slscroll.c
deleted file mode 100644
index 358296116..000000000
--- a/mdk-stage1/slang/slscroll.c
+++ /dev/null
@@ -1,450 +0,0 @@
-/* SLang Scrolling Window Routines */
-/* Copyright (c) 1996, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-static void find_window_bottom (SLscroll_Window_Type *win)
-{
- unsigned int nrows;
- unsigned int hidden_mask;
- SLscroll_Type *bot, *cline, *last_bot;
- unsigned int row;
-
- nrows = win->nrows;
- hidden_mask = win->hidden_mask;
- cline = win->current_line;
-
- win->window_row = row = 0;
- last_bot = bot = win->top_window_line;
-
- while (row < nrows)
- {
- if (bot == cline)
- win->window_row = row;
-
- last_bot = bot;
-
- if (bot == NULL)
- break;
-
- bot = bot->next;
-
- if (hidden_mask)
- {
- while ((bot != NULL) && (bot->flags & hidden_mask))
- bot = bot->next;
- }
-
- row++;
- }
-
- win->bot_window_line = last_bot;
-}
-
-static int find_top_to_recenter (SLscroll_Window_Type *win)
-{
- unsigned int nrows;
- unsigned int hidden_mask;
- SLscroll_Type *prev, *last_prev, *cline;
-
- nrows = win->nrows;
- cline = win->current_line;
- hidden_mask = win->hidden_mask;
-
- nrows = nrows / 2;
-
- last_prev = prev = cline;
-
- while (nrows && (prev != NULL))
- {
- nrows--;
- last_prev = prev;
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- }
-
- if (prev == NULL) prev = last_prev;
-
- win->top_window_line = prev;
- find_window_bottom (win);
-
- return 0;
-}
-
-#define HAS_BORDER_CODE 1
-int SLscroll_find_top (SLscroll_Window_Type *win)
-{
- unsigned int i;
- SLscroll_Type *cline, *prev, *next;
- SLscroll_Type *top_window_line;
- unsigned int nrows;
- unsigned int hidden_mask;
- int scroll_mode;
- unsigned int border;
-
- cline = win->current_line;
- nrows = win->nrows;
- scroll_mode = win->cannot_scroll;
- border = win->border;
- if (scroll_mode == 2)
- border = 0;
-
- if ((cline == NULL) || (nrows <= 1))
- {
- win->top_window_line = cline;
- find_window_bottom (win);
- return 0;
- }
-
- hidden_mask = win->hidden_mask;
-
- /* Note: top_window_line might be a bogus pointer. This means that I cannot
- * access it unless it really corresponds to a pointer in the buffer.
- */
- top_window_line = win->top_window_line;
-
- if (top_window_line == NULL)
- return find_top_to_recenter (win);
-
- /* Chances are that the current line is visible in the window. This means
- * that the top window line should be above it.
- */
- prev = cline;
-
- i = 0;
-
- while ((i < nrows) && (prev != NULL))
- {
- if (prev == top_window_line)
- {
- SLscroll_Type *twl = top_window_line;
- int dir = 0;
-
- if (i < border) dir = -1; else if (i + border >= nrows) dir = 1;
-
- if (dir) while (border)
- {
- if (dir < 0) twl = twl->prev;
- else twl = twl->next;
-
- if (twl == NULL)
- {
- twl = top_window_line;
- break;
- }
- if ((hidden_mask == 0)
- || (0 == (twl->flags & hidden_mask)))
- border--;
- }
-
- win->top_window_line = twl;
- find_window_bottom (win);
- return 0;
- }
-
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- i++;
- }
-
- /* Now check the borders of the window. Perhaps the current line lies
- * outsider the border by a line. Only do this if terminal can scroll.
- */
-
- if (scroll_mode == 1)
- return find_top_to_recenter (win);
- else if (scroll_mode == -1)
- scroll_mode = 0;
-
- next = cline->next;
- while (hidden_mask
- && (next != NULL)
- && (next->flags & hidden_mask))
- next = next->next;
-
- if ((next != NULL)
- && (next == top_window_line))
- {
- /* The current line is one line above the window. This means user
- * has moved up past the top of the window. If scroll_mode is set
- * to scroll by pages, we need to do a page up.
- */
-
- win->top_window_line = cline;
- find_window_bottom (win);
-
- if (scroll_mode) return SLscroll_pageup (win);
-
- return 0;
- }
-
- prev = cline->prev;
-
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask))
- prev = prev->prev;
-
- if ((prev == NULL)
- || (prev != win->bot_window_line))
- return find_top_to_recenter (win);
-
- /* It looks like cline is below window by one line. See what line should
- * be at top to scroll it into view. Only do this unless we are scrolling
- * by pages.
- */
- if (scroll_mode)
- {
- win->top_window_line = cline;
- find_window_bottom (win);
- return 0;
- }
-
- i = 2;
- while ((i < nrows) && (prev != NULL))
- {
- do
- {
- prev = prev->prev;
- }
- while (hidden_mask
- && (prev != NULL)
- && (prev->flags & hidden_mask));
- i++;
- }
-
- if (prev != NULL)
- {
- win->top_window_line = prev;
- find_window_bottom (win);
- return 0;
- }
-
- return find_top_to_recenter (win);
-}
-
-int SLscroll_find_line_num (SLscroll_Window_Type *win)
-{
- SLscroll_Type *cline, *l;
- unsigned int n;
- unsigned int hidden_mask;
-
- if (win == NULL) return -1;
-
- hidden_mask = win->hidden_mask;
- cline = win->current_line;
-
- n = 1;
-
- l = win->lines;
- while (l != cline)
- {
- if ((hidden_mask == 0)
- || (0 == (l->flags & hidden_mask)))
- n++;
-
- l = l->next;
- }
-
- win->line_num = n;
- n--;
-
- while (l != NULL)
- {
- if ((hidden_mask == 0)
- || (0 == (l->flags & hidden_mask)))
- n++;
- l = l->next;
- }
- win->num_lines = n;
-
- return 0;
-}
-
-unsigned int SLscroll_next_n (SLscroll_Window_Type *win, unsigned int n)
-{
- unsigned int i;
- unsigned int hidden_mask;
- SLscroll_Type *l, *cline;
-
- if ((win == NULL)
- || (NULL == (cline = win->current_line)))
- return 0;
-
- hidden_mask = win->hidden_mask;
- l = cline;
- i = 0;
- while (i < n)
- {
- l = l->next;
- while (hidden_mask
- && (l != NULL) && (l->flags & hidden_mask))
- l = l->next;
-
- if (l == NULL)
- break;
-
- i++;
- cline = l;
- }
-
- win->current_line = cline;
- win->line_num += i;
- return i;
-}
-
-unsigned int SLscroll_prev_n (SLscroll_Window_Type *win, unsigned int n)
-{
- unsigned int i;
- unsigned int hidden_mask;
- SLscroll_Type *l, *cline;
-
- if ((win == NULL)
- || (NULL == (cline = win->current_line)))
- return 0;
-
- hidden_mask = win->hidden_mask;
- l = cline;
- i = 0;
- while (i < n)
- {
- l = l->prev;
- while (hidden_mask
- && (l != NULL) && (l->flags & hidden_mask))
- l = l->prev;
-
- if (l == NULL)
- break;
-
- i++;
- cline = l;
- }
-
- win->current_line = cline;
- win->line_num -= i;
- return i;
-}
-
-int SLscroll_pageup (SLscroll_Window_Type *win)
-{
- SLscroll_Type *l, *top;
- unsigned int nrows, hidden_mask;
- unsigned int n;
-
- if (win == NULL)
- return -1;
-
- (void) SLscroll_find_top (win);
-
- nrows = win->nrows;
-
- if ((NULL != (top = win->top_window_line))
- && (nrows > 2))
- {
- n = 0;
- hidden_mask = win->hidden_mask;
- l = win->current_line;
- while ((l != NULL) && (l != top))
- {
- l = l->prev;
- if ((hidden_mask == 0)
- || ((l != NULL) && (0 == (l->flags & hidden_mask))))
- n++;
- }
-
- if (l != NULL)
- {
- unsigned int save_line_num;
- int ret = 0;
-
- win->current_line = l;
- win->line_num -= n;
-
- /* Compute a new top/bottom header */
- save_line_num = win->line_num;
-
- if ((0 == SLscroll_prev_n (win, nrows - 1))
- && (n == 0))
- ret = -1;
-
- win->top_window_line = win->current_line;
- win->current_line = l;
- win->line_num = save_line_num;
-
- find_window_bottom (win);
- return ret;
- }
- }
-
- if (nrows < 2) nrows++;
- if (0 == SLscroll_prev_n (win, nrows - 1))
- return -1;
- return 0;
-}
-
-int SLscroll_pagedown (SLscroll_Window_Type *win)
-{
- SLscroll_Type *l, *bot;
- unsigned int nrows, hidden_mask;
- unsigned int n;
-
- if (win == NULL)
- return -1;
-
- (void) SLscroll_find_top (win);
-
- nrows = win->nrows;
-
- if ((NULL != (bot = win->bot_window_line))
- && (nrows > 2))
- {
- n = 0;
- hidden_mask = win->hidden_mask;
- l = win->current_line;
- while ((l != NULL) && (l != bot))
- {
- l = l->next;
- if ((hidden_mask == 0)
- || ((l != NULL) && (0 == (l->flags & hidden_mask))))
- n++;
- }
-
- if (l != NULL)
- {
- win->current_line = l;
- win->top_window_line = l;
- win->line_num += n;
-
- find_window_bottom (win);
-
- if (n || (bot != win->bot_window_line))
- return 0;
-
- return -1;
- }
- }
-
- if (nrows < 2) nrows++;
- if (0 == SLscroll_next_n (win, nrows - 1))
- return -1;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slsearch.c b/mdk-stage1/slang/slsearch.c
deleted file mode 100644
index a9a427a7d..000000000
--- a/mdk-stage1/slang/slsearch.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef upcase
-# undef upcase
-#endif
-
-#define upcase(ch) (cs ? ch : UPPER_CASE(ch))
-
-static unsigned char *search_forward (register unsigned char *beg,
- unsigned char *end,
- unsigned char *key,
- register int key_len, int cs, int *ind)
-{
- register unsigned char char1;
- unsigned char *pos;
- int j, str_len;
- register unsigned char ch;
- register int db;
-
- str_len = (int) (end - beg);
- if (str_len < key_len) return (NULL);
-
- if (key_len == 0)
- return NULL;
-
- char1 = key[key_len - 1];
- beg += (key_len - 1);
-
- while(1)
- {
- if (cs) while (beg < end)
- {
- ch = *beg;
- db = ind[(unsigned char) ch];
- if ((db < key_len) && (ch == char1)) break;
- beg += db; /* ind[(unsigned char) ch]; */
- }
- else while (beg < end)
- {
- ch = *beg;
- db = ind[(unsigned char) ch];
- if ((db < key_len) &&
- (UPPER_CASE(ch) == char1)) break;
- beg += db; /* ind[(unsigned char) ch]; */
- }
-
- if (beg >= end) return(NULL);
-
- pos = beg - (key_len - 1);
- for (j = 0; j < key_len; j++)
- {
- ch = upcase(pos[j]);
- if (ch != (unsigned char) key[j]) break;
- }
-
- if (j == key_len) return(pos);
- beg += 1;
- }
-}
-
-static unsigned char *search_backward (unsigned char *beg,unsigned char *end,
- unsigned char *key, int key_len,
- int cs, int *ind)
-{
- unsigned char ch, char1;
- int j, str_len, ofs;
-
- str_len = (int) (end - beg);
- if (str_len < key_len) return (NULL);
-
- if (key_len == 0)
- return NULL;
-
- /* end -= (key_len - 1); */
- end -= key_len;
-
- char1 = key[0];
-
- while(1)
- {
- while ((beg <= end) && (ch = *end, ch = upcase(ch), ch != char1))
- {
- ofs = ind[(unsigned char) ch];
-#ifdef __MSDOS__
- /* This is needed for msdos segment wrapping problems */
- if (beg + ofs > end) return(NULL);
-#endif
- end -= ofs;
- }
- if (beg > end) return(NULL);
- for (j = 1; j < key_len; j++)
- {
- ch = upcase(end[j]);
- if (ch != key[j]) break;
- }
- if (j == key_len) return(end);
- end--;
- }
-}
-
-unsigned char *SLsearch (unsigned char *pmin, unsigned char *pmax,
- SLsearch_Type *st)
-{
- if (st->dir > 0) return search_forward (pmin, pmax, st->key,
- st->key_len, st->cs, st->ind);
- else return search_backward (pmin, pmax, st->key,
- st->key_len, st->cs, st->ind);
-}
-
-static int Case_Tables_Ok;
-
-int SLsearch_init (char *str, int dir, int cs, SLsearch_Type *st)
-{
- int i, maxi;
- register int max = strlen(str);
- unsigned char *w, *work = st->key;
- register int *indp, *indpm;
- int *ind = st->ind;
-
- if (max >= (int) sizeof (st->key))
- {
- SLang_doerror ("Search string too long.");
- return -1;
- }
-
- st->dir = dir; st->cs = cs;
-
- if (!Case_Tables_Ok) SLang_init_case_tables ();
-
- if (dir > 0)
- {
- w = work;
- }
- else
- {
- maxi = max - 1;
- str = str + maxi;
- w = work + maxi;
- }
-
- /* for (i = 0; i < 256; i++) ind[i] = max; */
- indp = ind; indpm = ind + 256;
- while (indp < indpm)
- {
- *indp++ = max;
- *indp++ = max;
- *indp++ = max;
- *indp++ = max;
- }
-
- i = 0;
- if (cs) while (i < max)
- {
- i++;
- maxi = max - i;
- *w = *str;
- ind[(unsigned char) *str] = maxi;
- str += dir; w += dir;
- }
- else while (i < max)
- {
- i++;
- maxi = max - i;
- *w = UPPER_CASE(*str);
- ind[(unsigned char) *w] = maxi;
- ind[(unsigned char) LOWER_CASE(*str)] = maxi;
- str += dir; w += dir;
- }
-
- work[max] = 0;
- st->key_len = max;
- return max;
-}
-
-/* 8bit clean upper and lowercase macros */
-unsigned char _SLChg_LCase_Lut[256];
-unsigned char _SLChg_UCase_Lut[256];
-
-void SLang_define_case (int *u, int *l)
-{
- unsigned char up = (unsigned char) *u, dn = (unsigned char) *l;
-
- _SLChg_LCase_Lut[up] = dn;
- _SLChg_LCase_Lut[dn] = dn;
- _SLChg_UCase_Lut[dn] = up;
- _SLChg_UCase_Lut[up] = up;
-}
-
-void SLang_init_case_tables (void)
-{
- int i, j;
- if (Case_Tables_Ok) return;
-
- for (i = 0; i < 256; i++)
- {
- _SLChg_UCase_Lut[i] = i;
- _SLChg_LCase_Lut[i] = i;
- }
-
- for (i = 'A'; i <= 'Z'; i++)
- {
- j = i + 32;
- _SLChg_UCase_Lut[j] = i;
- _SLChg_LCase_Lut[i] = j;
- }
-#ifdef PC_SYSTEM
- /* Initialize for DOS code page 437. */
- _SLChg_UCase_Lut[135] = 128; _SLChg_LCase_Lut[128] = 135;
- _SLChg_UCase_Lut[132] = 142; _SLChg_LCase_Lut[142] = 132;
- _SLChg_UCase_Lut[134] = 143; _SLChg_LCase_Lut[143] = 134;
- _SLChg_UCase_Lut[130] = 144; _SLChg_LCase_Lut[144] = 130;
- _SLChg_UCase_Lut[145] = 146; _SLChg_LCase_Lut[146] = 145;
- _SLChg_UCase_Lut[148] = 153; _SLChg_LCase_Lut[153] = 148;
- _SLChg_UCase_Lut[129] = 154; _SLChg_LCase_Lut[154] = 129;
- _SLChg_UCase_Lut[164] = 165; _SLChg_LCase_Lut[165] = 164;
-#else
- /* ISO Latin */
- for (i = 192; i <= 221; i++)
- {
- j = i + 32;
- _SLChg_UCase_Lut[j] = i;
- _SLChg_LCase_Lut[i] = j;
- }
- _SLChg_UCase_Lut[215] = 215; _SLChg_LCase_Lut[215] = 215;
- _SLChg_UCase_Lut[223] = 223; _SLChg_LCase_Lut[223] = 223;
- _SLChg_UCase_Lut[247] = 247; _SLChg_LCase_Lut[247] = 247;
- _SLChg_UCase_Lut[255] = 255; _SLChg_LCase_Lut[255] = 255;
-#endif
- Case_Tables_Ok = 1;
-}
diff --git a/mdk-stage1/slang/slsignal.c b/mdk-stage1/slang/slsignal.c
deleted file mode 100644
index 30707dea5..000000000
--- a/mdk-stage1/slang/slsignal.c
+++ /dev/null
@@ -1,336 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include <signal.h>
-
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-/* Do not trust these environments */
-#if defined(__CYGWIN32__) || defined(__MINGW32__) || defined(AMIGA)
-# ifdef SLANG_POSIX_SIGNALS
-# undef SLANG_POSIX_SIGNALS
-# endif
-#endif
-
-/* This function will cause system calls to be restarted after signal if possible */
-SLSig_Fun_Type *SLsignal (int sig, SLSig_Fun_Type *f)
-{
-#if defined(SLANG_POSIX_SIGNALS)
- struct sigaction old_sa, new_sa;
-
-# ifdef SIGALRM
- /* We want system calls to be interrupted by SIGALRM. */
- if (sig == SIGALRM) return SLsignal_intr (sig, f);
-# endif
-
- sigemptyset (&new_sa.sa_mask);
- new_sa.sa_handler = f;
-
- new_sa.sa_flags = 0;
-# ifdef SA_RESTART
- new_sa.sa_flags |= SA_RESTART;
-# endif
-
- if (-1 == sigaction (sig, &new_sa, &old_sa))
- return (SLSig_Fun_Type *) SIG_ERR;
-
- return old_sa.sa_handler;
-#else
- /* Not POSIX. */
- return signal (sig, f);
-#endif
-}
-
-/* This function will NOT cause system calls to be restarted after
- * signal if possible
- */
-SLSig_Fun_Type *SLsignal_intr (int sig, SLSig_Fun_Type *f)
-{
-#ifdef SLANG_POSIX_SIGNALS
- struct sigaction old_sa, new_sa;
-
- sigemptyset (&new_sa.sa_mask);
- new_sa.sa_handler = f;
-
- new_sa.sa_flags = 0;
-# ifdef SA_INTERRUPT
- new_sa.sa_flags |= SA_INTERRUPT;
-# endif
-
- if (-1 == sigaction (sig, &new_sa, &old_sa))
- return (SLSig_Fun_Type *) SIG_ERR;
-
- return old_sa.sa_handler;
-#else
- /* Not POSIX. */
- return signal (sig, f);
-#endif
-}
-
-/* We are primarily interested in blocking signals that would cause the
- * application to reset the tty. These include suspend signals and
- * possibly interrupt signals.
- */
-#ifdef SLANG_POSIX_SIGNALS
-static sigset_t Old_Signal_Mask;
-#endif
-
-static volatile unsigned int Blocked_Depth;
-
-int SLsig_block_signals (void)
-{
-#ifdef SLANG_POSIX_SIGNALS
- sigset_t new_mask;
-#endif
-
- Blocked_Depth++;
- if (Blocked_Depth != 1)
- {
- return 0;
- }
-
-#ifdef SLANG_POSIX_SIGNALS
- sigemptyset (&new_mask);
-# ifdef SIGQUIT
- sigaddset (&new_mask, SIGQUIT);
-# endif
-# ifdef SIGTSTP
- sigaddset (&new_mask, SIGTSTP);
-# endif
-# ifdef SIGINT
- sigaddset (&new_mask, SIGINT);
-# endif
-# ifdef SIGTTIN
- sigaddset (&new_mask, SIGTTIN);
-# endif
-# ifdef SIGTTOU
- sigaddset (&new_mask, SIGTTOU);
-# endif
-# ifdef SIGWINCH
- sigaddset (&new_mask, SIGWINCH);
-# endif
-
- (void) sigprocmask (SIG_BLOCK, &new_mask, &Old_Signal_Mask);
- return 0;
-#else
- /* Not implemented. */
- return -1;
-#endif
-}
-
-int SLsig_unblock_signals (void)
-{
- if (Blocked_Depth == 0)
- return -1;
-
- Blocked_Depth--;
-
- if (Blocked_Depth != 0)
- return 0;
-
-#ifdef SLANG_POSIX_SIGNALS
- (void) sigprocmask (SIG_SETMASK, &Old_Signal_Mask, NULL);
- return 0;
-#else
- return -1;
-#endif
-}
-
-#ifdef MSWINDOWS
-int SLsystem (char *cmd)
-{
- SLang_verror (SL_NOT_IMPLEMENTED, "system not implemented");
- return -1;
-}
-
-#else
-int SLsystem (char *cmd)
-{
-#ifdef SLANG_POSIX_SIGNALS
- pid_t pid;
- int status;
- struct sigaction ignore;
-# ifdef SIGINT
- struct sigaction save_intr;
-# endif
-# ifdef SIGQUIT
- struct sigaction save_quit;
-# endif
-# ifdef SIGCHLD
- sigset_t child_mask, save_mask;
-# endif
-
- if (cmd == NULL) return 1;
-
- ignore.sa_handler = SIG_IGN;
- sigemptyset (&ignore.sa_mask);
- ignore.sa_flags = 0;
-
-# ifdef SIGINT
- if (-1 == sigaction (SIGINT, &ignore, &save_intr))
- return -1;
-# endif
-
-# ifdef SIGQUIT
- if (-1 == sigaction (SIGQUIT, &ignore, &save_quit))
- {
- (void) sigaction (SIGINT, &save_intr, NULL);
- return -1;
- }
-# endif
-
-# ifdef SIGCHLD
- sigemptyset (&child_mask);
- sigaddset (&child_mask, SIGCHLD);
- if (-1 == sigprocmask (SIG_BLOCK, &child_mask, &save_mask))
- {
-# ifdef SIGINT
- (void) sigaction (SIGINT, &save_intr, NULL);
-# endif
-# ifdef SIGQUIT
- (void) sigaction (SIGQUIT, &save_quit, NULL);
-# endif
- return -1;
- }
-# endif
-
- pid = fork();
-
- if (pid == -1)
- status = -1;
- else if (pid == 0)
- {
- /* Child */
-# ifdef SIGINT
- (void) sigaction (SIGINT, &save_intr, NULL);
-# endif
-# ifdef SIGQUIT
- (void) sigaction (SIGQUIT, &save_quit, NULL);
-# endif
-# ifdef SIGCHLD
- (void) sigprocmask (SIG_SETMASK, &save_mask, NULL);
-# endif
-
- execl ("/bin/sh", "sh", "-c", cmd, NULL);
- _exit (127);
- }
- else
- {
- /* parent */
- while (-1 == waitpid (pid, &status, 0))
- {
-# ifdef EINTR
- if (errno == EINTR)
- continue;
-# endif
-# ifdef ERESTARTSYS
- if (errno == ERESTARTSYS)
- continue;
-# endif
- status = -1;
- break;
- }
- }
-# ifdef SIGINT
- if (-1 == sigaction (SIGINT, &save_intr, NULL))
- status = -1;
-# endif
-# ifdef SIGQUIT
- if (-1 == sigaction (SIGQUIT, &save_quit, NULL))
- status = -1;
-# endif
-# ifdef SIGCHLD
- if (-1 == sigprocmask (SIG_SETMASK, &save_mask, NULL))
- status = -1;
-# endif
-
- return status;
-
-#else /* No POSIX Signals */
-# ifdef SIGINT
- void (*sint)(int);
-# endif
-# ifdef SIGQUIT
- void (*squit)(int);
-# endif
- int status;
-
-# ifdef SIGQUIT
- squit = SLsignal (SIGQUIT, SIG_IGN);
-# endif
-# ifdef SIGINT
- sint = SLsignal (SIGINT, SIG_IGN);
-# endif
- status = system (cmd);
-# ifdef SIGINT
- SLsignal (SIGINT, sint);
-# endif
-# ifdef SIGQUIT
- SLsignal (SIGQUIT, squit);
-# endif
- return status;
-#endif /* POSIX_SIGNALS */
-}
-#endif
-
-#if 0
-#include <windows.h>
-static int msw_system (char *cmd)
-{
- STARTUPINFO startup_info;
- PROCESS_INFORMATION process_info;
- int status;
-
- if (cmd == NULL) return -1;
-
- memset ((char *) &startup_info, 0, sizeof (STARTUPINFO));
- startup_info.cb = sizeof(STARTUPINFO);
- startup_info.dwFlags = STARTF_USESHOWWINDOW;
- startup_info.wShowWindow = SW_SHOWDEFAULT;
-
- if (FALSE == CreateProcess (NULL,
- cmd,
- NULL,
- NULL,
- FALSE,
- NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
- NULL,
- NULL,
- &startup_info,
- &process_info))
- {
- SLang_verror (0, "%s: CreateProcess failed.", cmd);
- return -1;
- }
-
- status = -1;
-
- if (0xFFFFFFFFUL != WaitForSingleObject (process_info.hProcess, INFINITE))
- {
- DWORD exit_code;
-
- if (TRUE == GetExitCodeProcess (process_info.hProcess, &exit_code))
- status = (int) exit_code;
- }
-
- CloseHandle (process_info.hThread);
- CloseHandle (process_info.hProcess);
-
- return status;
-}
-#endif
diff --git a/mdk-stage1/slang/slsmg.c b/mdk-stage1/slang/slsmg.c
deleted file mode 100644
index 088557f27..000000000
--- a/mdk-stage1/slang/slsmg.c
+++ /dev/null
@@ -1,1584 +0,0 @@
-/* SLang Screen management routines */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct Screen_Type
- {
- int n; /* number of chars written last time */
- int flags; /* line untouched, etc... */
- SLsmg_Char_Type *old, *neew;
-#ifndef IBMPC_SYSTEM
- unsigned long old_hash, new_hash;
-#endif
- }
-Screen_Type;
-
-#define TOUCHED 0x1
-#define TRASHED 0x2
-static int Screen_Trashed;
-
-#if !defined(__MSDOS_16BIT__)
-# define MAX_SCREEN_SIZE 256
-#else
-# define MAX_SCREEN_SIZE 75
-#endif
-
-Screen_Type SL_Screen[MAX_SCREEN_SIZE];
-static int Start_Col, Start_Row;
-static int Screen_Cols, Screen_Rows;
-static int This_Row, This_Col;
-static int This_Color; /* only the first 8 bits of this
- * are used. The highest bit is used
- * to indicate an alternate character
- * set. This leaves 127 userdefineable
- * color combination.
- */
-
-#ifndef IBMPC_SYSTEM
-#define ALT_CHAR_FLAG 0x80
-#else
-#define ALT_CHAR_FLAG 0x00
-#endif
-
-#if SLTT_HAS_NON_BCE_SUPPORT && !defined(IBMPC_SYSTEM)
-#define REQUIRES_NON_BCE_SUPPORT 1
-static int Bce_Color_Offset;
-#endif
-
-int SLsmg_Newline_Behavior = 0;
-int SLsmg_Backspace_Moves = 0;
-/* Backward compatibility. Not used. */
-/* int SLsmg_Newline_Moves; */
-
-static void (*tt_normal_video)(void) = SLtt_normal_video;
-static void (*tt_goto_rc)(int, int) = SLtt_goto_rc;
-static void (*tt_cls) (void) = SLtt_cls;
-static void (*tt_del_eol) (void) = SLtt_del_eol;
-static void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int) = SLtt_smart_puts;
-static int (*tt_flush_output) (void) = SLtt_flush_output;
-static int (*tt_reset_video) (void) = SLtt_reset_video;
-static int (*tt_init_video) (void) = SLtt_init_video;
-static int *tt_Screen_Rows = &SLtt_Screen_Rows;
-static int *tt_Screen_Cols = &SLtt_Screen_Cols;
-
-#ifndef IBMPC_SYSTEM
-static void (*tt_set_scroll_region)(int, int) = SLtt_set_scroll_region;
-static void (*tt_reverse_index)(int) = SLtt_reverse_index;
-static void (*tt_reset_scroll_region)(void) = SLtt_reset_scroll_region;
-static void (*tt_delete_nlines)(int) = SLtt_delete_nlines;
-#endif
-
-#ifndef IBMPC_SYSTEM
-static int *tt_Term_Cannot_Scroll = &SLtt_Term_Cannot_Scroll;
-static int *tt_Has_Alt_Charset = &SLtt_Has_Alt_Charset;
-static char **tt_Graphics_Char_Pairs = &SLtt_Graphics_Char_Pairs;
-static int *tt_Use_Blink_For_ACS = &SLtt_Use_Blink_For_ACS;
-#endif
-
-static int Smg_Inited;
-
-static void blank_line (SLsmg_Char_Type *p, int n, unsigned char ch)
-{
- register SLsmg_Char_Type *pmax = p + n;
- register SLsmg_Char_Type color_ch;
-
- color_ch = SLSMG_BUILD_CHAR(ch,This_Color);
-
- while (p < pmax)
- {
- *p++ = color_ch;
- }
-}
-
-static void clear_region (int row, int n)
-{
- int i;
- int imax = row + n;
-
- if (imax > Screen_Rows) imax = Screen_Rows;
- for (i = row; i < imax; i++)
- {
- if (i >= 0)
- {
- blank_line (SL_Screen[i].neew, Screen_Cols, ' ');
- SL_Screen[i].flags |= TOUCHED;
- }
- }
-}
-
-void SLsmg_erase_eol (void)
-{
- int r, c;
-
- if (Smg_Inited == 0) return;
-
- c = This_Col - Start_Col;
- r = This_Row - Start_Row;
-
- if ((r < 0) || (r >= Screen_Rows)) return;
- if (c < 0) c = 0; else if (c >= Screen_Cols) return;
- blank_line (SL_Screen[This_Row].neew + c , Screen_Cols - c, ' ');
- SL_Screen[This_Row].flags |= TOUCHED;
-}
-
-static void scroll_up (void)
-{
- unsigned int i, imax;
- SLsmg_Char_Type *neew;
-
- neew = SL_Screen[0].neew;
- imax = Screen_Rows - 1;
- for (i = 0; i < imax; i++)
- {
- SL_Screen[i].neew = SL_Screen[i + 1].neew;
- SL_Screen[i].flags |= TOUCHED;
- }
- SL_Screen[i].neew = neew;
- SL_Screen[i].flags |= TOUCHED;
- blank_line (neew, Screen_Cols, ' ');
- This_Row--;
-}
-
-void SLsmg_gotorc (int r, int c)
-{
- This_Row = r;
- This_Col = c;
-}
-
-int SLsmg_get_row (void)
-{
- return This_Row;
-}
-
-int SLsmg_get_column (void)
-{
- return This_Col;
-}
-
-void SLsmg_erase_eos (void)
-{
- if (Smg_Inited == 0) return;
-
- SLsmg_erase_eol ();
- clear_region (This_Row + 1, Screen_Rows);
-}
-
-static int This_Alt_Char;
-
-void SLsmg_set_char_set (int i)
-{
-#ifdef IBMPC_SYSTEM
- (void) i;
-#else
- if ((tt_Use_Blink_For_ACS != NULL)
- && (*tt_Use_Blink_For_ACS != 0))
- return;/* alt chars not used and the alt bit
- * is used to indicate a blink.
- */
-
- if (i) This_Alt_Char = ALT_CHAR_FLAG;
- else This_Alt_Char = 0;
-
- This_Color &= 0x7F;
- This_Color |= This_Alt_Char;
-#endif
-}
-
-void SLsmg_set_color (int color)
-{
- if (color < 0) return;
-#ifdef REQUIRES_NON_BCE_SUPPORT
- color += Bce_Color_Offset;
-#endif
- This_Color = color | This_Alt_Char;
-}
-
-void SLsmg_reverse_video (void)
-{
- SLsmg_set_color (1);
-}
-
-void SLsmg_normal_video (void)
-{
- SLsmg_set_color (0);
-}
-
-static int point_visible (int col_too)
-{
- return ((This_Row >= Start_Row) && (This_Row < Start_Row + Screen_Rows)
- && ((col_too == 0)
- || ((This_Col >= Start_Col)
- && (This_Col < Start_Col + Screen_Cols))));
-}
-
-void SLsmg_write_string (char *str)
-{
- SLsmg_write_nchars (str, strlen (str));
-}
-
-void SLsmg_write_nstring (char *str, unsigned int n)
-{
- unsigned int width;
- char blank = ' ';
-
- /* Avoid a problem if a user accidently passes a negative value */
- if ((int) n < 0)
- return;
-
- if (str == NULL) width = 0;
- else
- {
- width = strlen (str);
- if (width > n) width = n;
- SLsmg_write_nchars (str, width);
- }
- while (width++ < n) SLsmg_write_nchars (&blank, 1);
-}
-
-void SLsmg_write_wrapped_string (char *s, int r, int c,
- unsigned int dr, unsigned int dc,
- int fill)
-{
- register char ch, *p;
- int maxc = (int) dc;
-
- if ((dr == 0) || (dc == 0)) return;
- p = s;
- dc = 0;
- while (1)
- {
- ch = *p++;
- if ((ch == 0) || (ch == '\n'))
- {
- int diff;
-
- diff = maxc - (int) dc;
-
- SLsmg_gotorc (r, c);
- SLsmg_write_nchars (s, dc);
- if (fill && (diff > 0))
- {
- while (diff--) SLsmg_write_char (' ');
- }
- if ((ch == 0) || (dr == 1)) break;
-
- r++;
- dc = 0;
- dr--;
- s = p;
- }
- else if ((int) dc == maxc)
- {
- SLsmg_gotorc (r, c);
- SLsmg_write_nchars (s, dc + 1);
- if (dr == 1) break;
-
- r++;
- dc = 0;
- dr--;
- s = p;
- }
- else dc++;
- }
-}
-
-int SLsmg_Tab_Width = 8;
-
-/* Minimum value for which eight bit char is displayed as is. */
-
-#ifndef IBMPC_SYSTEM
-int SLsmg_Display_Eight_Bit = 160;
-static unsigned char Alt_Char_Set[129];/* 129th is used as a flag */
-#else
-int SLsmg_Display_Eight_Bit = 128;
-#endif
-
-void SLsmg_write_nchars (char *str, unsigned int n)
-{
- register SLsmg_Char_Type *p, old, neew, color;
- unsigned char ch;
- unsigned int flags;
- int len, start_len, max_len;
- char *str_max;
- int newline_flag;
-#ifndef IBMPC_SYSTEM
- int alt_char_set_flag;
-
- alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG)
- && ((tt_Use_Blink_For_ACS == NULL)
- || (*tt_Use_Blink_For_ACS == 0)));
-#endif
-
- if (Smg_Inited == 0) return;
-
- str_max = str + n;
- color = This_Color;
-
- top: /* get here only on newline */
-
- newline_flag = 0;
- start_len = Start_Col;
-
- if (point_visible (0) == 0) return;
-
- len = This_Col;
- max_len = start_len + Screen_Cols;
-
- p = SL_Screen[This_Row - Start_Row].neew;
- if (len > start_len) p += (len - start_len);
-
- flags = SL_Screen[This_Row - Start_Row].flags;
- while ((len < max_len) && (str < str_max))
- {
- ch = (unsigned char) *str++;
-
-#ifndef IBMPC_SYSTEM
- if (alt_char_set_flag)
- ch = Alt_Char_Set [ch & 0x7F];
-#endif
- if (((ch >= ' ') && (ch < 127))
- || (ch >= (unsigned char) SLsmg_Display_Eight_Bit)
-#ifndef IBMPC_SYSTEM
- || alt_char_set_flag
-#endif
- )
- {
- len += 1;
- if (len > start_len)
- {
- old = *p;
- neew = SLSMG_BUILD_CHAR(ch,color);
- if (old != neew)
- {
- flags |= TOUCHED;
- *p = neew;
- }
- p++;
- }
- }
-
- else if ((ch == '\t') && (SLsmg_Tab_Width > 0))
- {
- n = len;
- n += SLsmg_Tab_Width;
- n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
- if ((unsigned int) len + n > (unsigned int) max_len)
- n = (unsigned int) (max_len - len);
- neew = SLSMG_BUILD_CHAR(' ',color);
- while (n--)
- {
- len += 1;
- if (len > start_len)
- {
- if (*p != neew)
- {
- flags |= TOUCHED;
- *p = neew;
- }
- p++;
- }
- }
- }
- else if ((ch == '\n')
- && (SLsmg_Newline_Behavior != SLSMG_NEWLINE_PRINTABLE))
- {
- newline_flag = 1;
- break;
- }
- else if ((ch == 0x8) && SLsmg_Backspace_Moves)
- {
- if (len != 0) len--;
- }
- else
- {
- if (ch & 0x80)
- {
- neew = SLSMG_BUILD_CHAR('~',color);
- len += 1;
- if (len > start_len)
- {
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- if (len == max_len) break;
- ch &= 0x7F;
- }
- }
-
- len += 1;
- if (len > start_len)
- {
- neew = SLSMG_BUILD_CHAR('^',color);
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- if (len == max_len) break;
- }
-
- if (ch == 127) ch = '?'; else ch = ch + '@';
- len++;
- if (len > start_len)
- {
- neew = SLSMG_BUILD_CHAR(ch,color);
- if (*p != neew)
- {
- *p = neew;
- flags |= TOUCHED;
- }
- p++;
- }
- }
- }
-
- SL_Screen[This_Row - Start_Row].flags = flags;
- This_Col = len;
-
- if (SLsmg_Newline_Behavior == 0)
- return;
-
- if (newline_flag == 0)
- {
- while (str < str_max)
- {
- if (*str == '\n') break;
- str++;
- }
- if (str == str_max) return;
- str++;
- }
-
- This_Row++;
- This_Col = 0;
- if (This_Row == Start_Row + Screen_Rows)
- {
- if (SLsmg_Newline_Behavior == SLSMG_NEWLINE_SCROLLS) scroll_up ();
- }
- goto top;
-}
-
-void SLsmg_write_char (char ch)
-{
- SLsmg_write_nchars (&ch, 1);
-}
-
-static int Cls_Flag;
-
-void SLsmg_cls (void)
-{
- int tac;
- if (Smg_Inited == 0) return;
-
- tac = This_Alt_Char; This_Alt_Char = 0;
- SLsmg_set_color (0);
- clear_region (0, Screen_Rows);
- This_Alt_Char = tac;
- SLsmg_set_color (0);
- Cls_Flag = 1;
-}
-#if 0
-static void do_copy (SLsmg_Char_Type *a, SLsmg_Char_Type *b)
-{
- SLsmg_Char_Type *amax = a + Screen_Cols;
-
- while (a < amax) *a++ = *b++;
-}
-#endif
-
-#ifndef IBMPC_SYSTEM
-int SLsmg_Scroll_Hash_Border = 0;
-static unsigned long compute_hash (SLsmg_Char_Type *s, int n)
-{
- register unsigned long h = 0, g;
- register unsigned long sum = 0;
- register SLsmg_Char_Type *smax, ch;
- int is_blank = 2;
-
- s += SLsmg_Scroll_Hash_Border;
- smax = s + (n - SLsmg_Scroll_Hash_Border);
- while (s < smax)
- {
- ch = *s++;
- if (is_blank && (SLSMG_EXTRACT_CHAR(ch) != 32)) is_blank--;
-
- sum += ch;
-
- h = sum + (h << 3);
- if ((g = h & 0xE0000000UL) != 0)
- {
- h = h ^ (g >> 24);
- h = h ^ g;
- }
- }
- if (is_blank) return 0;
- return h;
-}
-
-static unsigned long Blank_Hash;
-
-static int try_scroll_down (int rmin, int rmax)
-{
- int i, r1, r2, di, j;
- unsigned long hash;
- int did_scroll;
- int color;
- SLsmg_Char_Type *tmp;
- int ignore;
-
- did_scroll = 0;
- for (i = rmax; i > rmin; i--)
- {
- hash = SL_Screen[i].new_hash;
- if (hash == Blank_Hash) continue;
-
- if ((hash == SL_Screen[i].old_hash)
-#if 0
- || ((i + 1 < Screen_Rows) && (hash == SL_Screen[i + 1].old_hash))
- || ((i - 1 > rmin) && (SL_Screen[i].old_hash == SL_Screen[i - 1].new_hash))
-#endif
- )
- continue;
-
- for (j = i - 1; j >= rmin; j--)
- {
- if (hash == SL_Screen[j].old_hash) break;
- }
- if (j < rmin) continue;
-
- r2 = i; /* end scroll region */
-
- di = i - j;
- j--;
- ignore = 0;
- while ((j >= rmin) && (SL_Screen[j].old_hash == SL_Screen[j + di].new_hash))
- {
- if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
- j--;
- }
- r1 = j + 1;
-
- /* If this scroll only scrolls this line into place, don't do it.
- */
- if ((di > 1) && (r1 + di + ignore == r2)) continue;
-
- /* If there is anything in the scrolling region that is ok, abort the
- * scroll.
- */
-
- for (j = r1; j <= r2; j++)
- {
- if ((SL_Screen[j].old_hash != Blank_Hash)
- && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
- {
- /* See if the scroll is happens to scroll this one into place. */
- if ((j + di > r2) || (SL_Screen[j].old_hash != SL_Screen[j + di].new_hash))
- break;
- }
- }
- if (j <= r2) continue;
-
- color = This_Color; This_Color = 0;
- did_scroll = 1;
- (*tt_normal_video) ();
- (*tt_set_scroll_region) (r1, r2);
- (*tt_goto_rc) (0, 0);
- (*tt_reverse_index) (di);
- (*tt_reset_scroll_region) ();
- /* Now we have a hole in the screen.
- * Make the virtual screen look like it.
- *
- * Note that if the terminal does not support BCE, then we have
- * no idea what color the hole is. So, for this case, we do not
- * want to add Bce_Color_Offset to This_Color since if Bce_Color_Offset
- * is non-zero, then This_Color = 0 does not match any valid color
- * obtained by adding Bce_Color_Offset.
- */
- for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
-
- while (di--)
- {
- tmp = SL_Screen[r2].old;
- for (j = r2; j > r1; j--)
- {
- SL_Screen[j].old = SL_Screen[j - 1].old;
- SL_Screen[j].old_hash = SL_Screen[j - 1].old_hash;
- }
- SL_Screen[r1].old = tmp;
- blank_line (SL_Screen[r1].old, Screen_Cols, ' ');
- SL_Screen[r1].old_hash = Blank_Hash;
- r1++;
- }
- This_Color = color;
- }
-
- return did_scroll;
-}
-
-static int try_scroll_up (int rmin, int rmax)
-{
- int i, r1, r2, di, j;
- unsigned long hash;
- int did_scroll;
- int color;
- SLsmg_Char_Type *tmp;
- int ignore;
-
- did_scroll = 0;
- for (i = rmin; i < rmax; i++)
- {
- hash = SL_Screen[i].new_hash;
- if (hash == Blank_Hash) continue;
- if (hash == SL_Screen[i].old_hash)
- continue;
- /* find a match further down screen */
- for (j = i + 1; j <= rmax; j++)
- {
- if (hash == SL_Screen[j].old_hash) break;
- }
- if (j > rmax) continue;
-
- r1 = i; /* beg scroll region */
- di = j - i; /* number of lines to scroll */
- j++; /* since we know this is a match */
-
- /* find end of scroll region */
- ignore = 0;
- while ((j <= rmax) && (SL_Screen[j].old_hash == SL_Screen[j - di].new_hash))
- {
- if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
- j++;
- }
- r2 = j - 1; /* end of scroll region */
-
- /* If this scroll only scrolls this line into place, don't do it.
- */
- if ((di > 1) && (r1 + di + ignore == r2)) continue;
-
- /* If there is anything in the scrolling region that is ok, abort the
- * scroll.
- */
-
- for (j = r1; j <= r2; j++)
- {
- if ((SL_Screen[j].old_hash != Blank_Hash)
- && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
- {
- if ((j - di < r1) || (SL_Screen[j].old_hash != SL_Screen[j - di].new_hash))
- break;
- }
-
- }
- if (j <= r2) continue;
-
- did_scroll = 1;
-
- /* See the above comments about BCE */
- color = This_Color; This_Color = 0;
- (*tt_normal_video) ();
- (*tt_set_scroll_region) (r1, r2);
- (*tt_goto_rc) (0, 0); /* relative to scroll region */
- (*tt_delete_nlines) (di);
- (*tt_reset_scroll_region) ();
- /* Now we have a hole in the screen. Make the virtual screen look
- * like it.
- */
- for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
-
- while (di--)
- {
- tmp = SL_Screen[r1].old;
- for (j = r1; j < r2; j++)
- {
- SL_Screen[j].old = SL_Screen[j + 1].old;
- SL_Screen[j].old_hash = SL_Screen[j + 1].old_hash;
- }
- SL_Screen[r2].old = tmp;
- blank_line (SL_Screen[r2].old, Screen_Cols, ' ');
- SL_Screen[r2].old_hash = Blank_Hash;
- r2--;
- }
- This_Color = color;
- }
- return did_scroll;
-}
-
-static void try_scroll (void)
-{
- int r1, rmin, rmax;
- int num_up, num_down;
- /* find region limits. */
-
- for (rmax = Screen_Rows - 1; rmax > 0; rmax--)
- {
- if (SL_Screen[rmax].new_hash != SL_Screen[rmax].old_hash)
- {
- r1 = rmax - 1;
- if ((r1 == 0)
- || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
- break;
-
- rmax = r1;
- }
- }
-
- for (rmin = 0; rmin < rmax; rmin++)
- {
- if (SL_Screen[rmin].new_hash != SL_Screen[rmin].old_hash)
- {
- r1 = rmin + 1;
- if ((r1 == rmax)
- || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
- break;
-
- rmin = r1;
- }
- }
-
- /* Below, we have two scrolling algorithms. The first has the effect of
- * scrolling lines down. This is usually appropriate when one moves
- * up the display, e.g., with the UP arrow. The second algorithm is
- * appropriate for going the other way. It is important to choose the
- * correct one.
- */
-
- num_up = 0;
- for (r1 = rmin; r1 < rmax; r1++)
- {
- if (SL_Screen[r1].new_hash == SL_Screen[r1 + 1].old_hash)
- num_up++;
- }
-
- num_down = 0;
- for (r1 = rmax; r1 > rmin; r1--)
- {
- if (SL_Screen[r1 - 1].old_hash == SL_Screen[r1].new_hash)
- num_down++;
- }
-
- if (num_up > num_down)
- {
- if (try_scroll_up (rmin, rmax))
- return;
-
- (void) try_scroll_down (rmin, rmax);
- }
- else
- {
- if (try_scroll_down (rmin, rmax))
- return;
-
- (void) try_scroll_up (rmin, rmax);
- }
-}
-#endif /* NOT IBMPC_SYSTEM */
-
-
-#ifdef REQUIRES_NON_BCE_SUPPORT
-static void adjust_colors (void)
-{
- int bce;
- int i;
-
- bce = Bce_Color_Offset;
- Bce_Color_Offset = _SLtt_get_bce_color_offset ();
- if (bce == Bce_Color_Offset)
- return;
-
- if ((tt_Use_Blink_For_ACS != NULL)
- && (*tt_Use_Blink_For_ACS != 0))
- return; /* this mode does not support non-BCE
- * terminals.
- */
-
- for (i = 0; i < Screen_Rows; i++)
- {
- SLsmg_Char_Type *s, *smax;
-
- SL_Screen[i].flags |= TRASHED;
- s = SL_Screen[i].neew;
- smax = s + Screen_Cols;
-
- while (s < smax)
- {
- int color = (int) SLSMG_EXTRACT_COLOR(*s);
- int acs;
-
- if (color < 0)
- {
- s++;
- continue;
- }
-
- acs = color & 0x80;
- color = (color & 0x7F) - bce;
- color += Bce_Color_Offset;
- if (color >= 0)
- {
- unsigned char ch = SLSMG_EXTRACT_CHAR(*s);
- *s = SLSMG_BUILD_CHAR(ch, ((color&0x7F)|acs));
- }
- s++;
- }
- }
-}
-#endif
-
-void SLsmg_refresh (void)
-{
- int i;
-#ifndef IBMPC_SYSTEM
- int trashed = 0;
-#endif
-
- if (Smg_Inited == 0) return;
-
- if (Screen_Trashed)
- {
- Cls_Flag = 1;
- for (i = 0; i < Screen_Rows; i++)
- SL_Screen[i].flags |= TRASHED;
-#ifdef REQUIRES_NON_BCE_SUPPORT
- adjust_colors ();
-#endif
- }
-
-#ifndef IBMPC_SYSTEM
- for (i = 0; i < Screen_Rows; i++)
- {
- if (SL_Screen[i].flags == 0) continue;
- SL_Screen[i].new_hash = compute_hash (SL_Screen[i].neew, Screen_Cols);
- trashed = 1;
- }
-#endif
-
- if (Cls_Flag)
- {
- (*tt_normal_video) (); (*tt_cls) ();
- }
-#ifndef IBMPC_SYSTEM
- else if (trashed && (*tt_Term_Cannot_Scroll == 0)) try_scroll ();
-#endif
-
- for (i = 0; i < Screen_Rows; i++)
- {
- if (SL_Screen[i].flags == 0) continue;
-
- if (Cls_Flag || SL_Screen[i].flags & TRASHED)
- {
- int color = This_Color;
-
- if (Cls_Flag == 0)
- {
- (*tt_goto_rc) (i, 0);
- (*tt_del_eol) ();
- }
- This_Color = 0;
- blank_line (SL_Screen[i].old, Screen_Cols, ' ');
- This_Color = color;
- }
-
- SL_Screen[i].old[Screen_Cols] = 0;
- SL_Screen[i].neew[Screen_Cols] = 0;
-
- (*tt_smart_puts) (SL_Screen[i].neew, SL_Screen[i].old, Screen_Cols, i);
-
- SLMEMCPY ((char *) SL_Screen[i].old, (char *) SL_Screen[i].neew,
- Screen_Cols * sizeof (SLsmg_Char_Type));
-
- SL_Screen[i].flags = 0;
-#ifndef IBMPC_SYSTEM
- SL_Screen[i].old_hash = SL_Screen[i].new_hash;
-#endif
- }
-
- if (point_visible (1)) (*tt_goto_rc) (This_Row - Start_Row, This_Col - Start_Col);
- (*tt_flush_output) ();
- Cls_Flag = 0;
- Screen_Trashed = 0;
-}
-
-static int compute_clip (int row, int n, int box_start, int box_end,
- int *rmin, int *rmax)
-{
- int row_max;
-
- if (n < 0) return 0;
- if (row >= box_end) return 0;
- row_max = row + n;
- if (row_max <= box_start) return 0;
-
- if (row < box_start) row = box_start;
- if (row_max >= box_end) row_max = box_end;
- *rmin = row;
- *rmax = row_max;
- return 1;
-}
-
-void SLsmg_touch_lines (int row, unsigned int n)
-{
- int i;
- int r1, r2;
-
- /* Allow this function to be called even when we are not initialied.
- * Calling this function is useful after calling SLtt_set_color
- * to force the display to be redrawn
- */
-
- if (Smg_Inited == 0)
- return;
-
- if (0 == compute_clip (row, (int) n, Start_Row, Start_Row + Screen_Rows, &r1, &r2))
- return;
-
- r1 -= Start_Row;
- r2 -= Start_Row;
- for (i = r1; i < r2; i++)
- {
- SL_Screen[i].flags |= TRASHED;
- }
-}
-
-void SLsmg_touch_screen (void)
-{
- Screen_Trashed = 1;
-}
-
-
-#ifndef IBMPC_SYSTEM
-static char Fake_Alt_Char_Pairs [] = "a:j+k+l+m+q-t+u+v+w+x|n+`+f\\g#~o,<+>.v-^h#0#";
-
-static void init_alt_char_set (void)
-{
- int i;
- unsigned char *p, *pmax, ch;
-
- if (Alt_Char_Set[128] == 128) return;
-
- i = 32;
- memset ((char *)Alt_Char_Set, ' ', i);
- while (i <= 128)
- {
- Alt_Char_Set [i] = i;
- i++;
- }
-
- /* Map to VT100 */
- if (*tt_Has_Alt_Charset)
- {
- if (tt_Graphics_Char_Pairs == NULL) p = NULL;
- else p = (unsigned char *) *tt_Graphics_Char_Pairs;
- if (p == NULL) return;
- }
- else p = (unsigned char *) Fake_Alt_Char_Pairs;
- pmax = p + strlen ((char *) p);
-
- /* Some systems have messed up entries for this */
- while (p < pmax)
- {
- ch = *p++;
- ch &= 0x7F; /* should be unnecessary */
- Alt_Char_Set [ch] = *p;
- p++;
- }
-}
-#endif
-
-#ifndef IBMPC_SYSTEM
-# define BLOCK_SIGNALS SLsig_block_signals ()
-# define UNBLOCK_SIGNALS SLsig_unblock_signals ()
-#else
-# define BLOCK_SIGNALS (void)0
-# define UNBLOCK_SIGNALS (void)0
-#endif
-
-static int Smg_Suspended;
-int SLsmg_suspend_smg (void)
-{
- BLOCK_SIGNALS;
-
- if (Smg_Suspended == 0)
- {
- (*tt_reset_video) ();
- Smg_Suspended = 1;
- }
-
- UNBLOCK_SIGNALS;
- return 0;
-}
-
-int SLsmg_resume_smg (void)
-{
- BLOCK_SIGNALS;
-
- if (Smg_Suspended == 0)
- {
- UNBLOCK_SIGNALS;
- return 0;
- }
-
- Smg_Suspended = 0;
-
- if (-1 == (*tt_init_video) ())
- {
- UNBLOCK_SIGNALS;
- return -1;
- }
-
- Cls_Flag = 1;
- SLsmg_touch_screen ();
- SLsmg_refresh ();
-
- UNBLOCK_SIGNALS;
- return 0;
-}
-
-
-static void reset_smg (void)
-{
- int i;
- if (Smg_Inited == 0)
- return;
-
- for (i = 0; i < Screen_Rows; i++)
- {
- SLfree ((char *)SL_Screen[i].old);
- SLfree ((char *)SL_Screen[i].neew);
- SL_Screen[i].old = SL_Screen[i].neew = NULL;
- }
- This_Alt_Char = This_Color = 0;
- Smg_Inited = 0;
-}
-
-
-static int init_smg (void)
-{
- int i, len;
- SLsmg_Char_Type *old, *neew;
-
- Smg_Inited = 0;
-
-#ifdef REQUIRES_NON_BCE_SUPPORT
- Bce_Color_Offset = _SLtt_get_bce_color_offset ();
-#endif
-
- Screen_Rows = *tt_Screen_Rows;
- if (Screen_Rows > MAX_SCREEN_SIZE)
- Screen_Rows = MAX_SCREEN_SIZE;
-
- Screen_Cols = *tt_Screen_Cols;
-
- This_Col = This_Row = Start_Col = Start_Row = 0;
-
- This_Alt_Char = 0;
- SLsmg_set_color (0);
- Cls_Flag = 1;
-#ifndef IBMPC_SYSTEM
- init_alt_char_set ();
-#endif
- len = Screen_Cols + 3;
- for (i = 0; i < Screen_Rows; i++)
- {
- if ((NULL == (old = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))
- || ((NULL == (neew = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))))
- {
- SLfree ((char *) old);
- return -1;
- }
- blank_line (old, len, ' ');
- blank_line (neew, len, ' ');
- SL_Screen[i].old = old;
- SL_Screen[i].neew = neew;
- SL_Screen[i].flags = 0;
-#ifndef IBMPC_SYSTEM
- Blank_Hash = compute_hash (old, Screen_Cols);
- SL_Screen[i].new_hash = SL_Screen[i].old_hash = Blank_Hash;
-#endif
- }
-
- _SLtt_color_changed_hook = SLsmg_touch_screen;
- Screen_Trashed = 1;
- Smg_Inited = 1;
- return 0;
-}
-
-
-int SLsmg_init_smg (void)
-{
- int ret;
-
- BLOCK_SIGNALS;
-
- if (Smg_Inited)
- SLsmg_reset_smg ();
-
- if (-1 == (*tt_init_video) ())
- {
- UNBLOCK_SIGNALS;
- return -1;
- }
-
- if (-1 == (ret = init_smg ()))
- (void) (*tt_reset_video)();
-
- UNBLOCK_SIGNALS;
- return ret;
-}
-
-int SLsmg_reinit_smg (void)
-{
- int ret;
-
- if (Smg_Inited == 0)
- return SLsmg_init_smg ();
-
- BLOCK_SIGNALS;
- reset_smg ();
- ret = init_smg ();
- UNBLOCK_SIGNALS;
- return ret;
-}
-
-void SLsmg_reset_smg (void)
-{
- if (Smg_Inited == 0)
- return;
-
- BLOCK_SIGNALS;
-
- reset_smg ();
- (*tt_reset_video)();
-
- UNBLOCK_SIGNALS;
-}
-
-SLsmg_Char_Type SLsmg_char_at (void)
-{
- if (Smg_Inited == 0) return 0;
-
- if (point_visible (1))
- {
- return SL_Screen[This_Row - Start_Row].neew[This_Col - Start_Col];
- }
- return 0;
-}
-
-void SLsmg_vprintf (char *fmt, va_list ap)
-{
- char buf[1024];
-
- if (Smg_Inited == 0) return;
-
- (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
- SLsmg_write_string (buf);
-}
-
-void SLsmg_printf (char *fmt, ...)
-{
- va_list ap;
- unsigned int len;
- char *f;
-
- if (Smg_Inited == 0) return;
-
- va_start(ap, fmt);
-
- f = fmt;
- while (*f && (*f != '%'))
- f++;
- len = (unsigned int) (f - fmt);
- if (len) SLsmg_write_nchars (fmt, len);
-
- if (*f != 0)
- SLsmg_vprintf (f, ap);
-
- va_end (ap);
-}
-
-void SLsmg_set_screen_start (int *r, int *c)
-{
- int orow = Start_Row, oc = Start_Col;
-
- if (Smg_Inited == 0) return;
-
- if (c == NULL) Start_Col = 0;
- else
- {
- Start_Col = *c;
- *c = oc;
- }
- if (r == NULL) Start_Row = 0;
- else
- {
- Start_Row = *r;
- *r = orow;
- }
-}
-
-void SLsmg_draw_object (int r, int c, unsigned char object)
-{
- This_Row = r; This_Col = c;
-
- if (Smg_Inited == 0) return;
-
- if (point_visible (1))
- {
- int color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
- SLsmg_write_char (object);
- This_Color = color;
- }
-
- This_Col = c + 1;
-}
-
-void SLsmg_draw_hline (unsigned int n)
-{
- static unsigned char hbuf[16];
- int count;
- int cmin, cmax;
- int final_col = This_Col + (int) n;
- int save_color;
-
- if (Smg_Inited == 0) return;
-
- if ((This_Row < Start_Row) || (This_Row >= Start_Row + Screen_Rows)
- || (0 == compute_clip (This_Col, n, Start_Col, Start_Col + Screen_Cols,
- &cmin, &cmax)))
- {
- This_Col = final_col;
- return;
- }
-
- if (hbuf[0] == 0)
- {
- SLMEMSET ((char *) hbuf, SLSMG_HLINE_CHAR, 16);
- }
-
- n = (unsigned int)(cmax - cmin);
- count = n / 16;
-
- save_color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
- This_Col = cmin;
-
- SLsmg_write_nchars ((char *) hbuf, n % 16);
- while (count-- > 0)
- {
- SLsmg_write_nchars ((char *) hbuf, 16);
- }
-
- This_Color = save_color;
- This_Col = final_col;
-}
-
-void SLsmg_draw_vline (int n)
-{
- unsigned char ch = SLSMG_VLINE_CHAR;
- int c = This_Col, rmin, rmax;
- int final_row = This_Row + n;
- int save_color;
-
- if (Smg_Inited == 0) return;
-
- if (((c < Start_Col) || (c >= Start_Col + Screen_Cols)) ||
- (0 == compute_clip (This_Row, n, Start_Row, Start_Row + Screen_Rows,
- &rmin, &rmax)))
- {
- This_Row = final_row;
- return;
- }
-
- save_color = This_Color;
- This_Color |= ALT_CHAR_FLAG;
-
- for (This_Row = rmin; This_Row < rmax; This_Row++)
- {
- This_Col = c;
- SLsmg_write_nchars ((char *) &ch, 1);
- }
-
- This_Col = c; This_Row = final_row;
- This_Color = save_color;
-}
-
-void SLsmg_draw_box (int r, int c, unsigned int dr, unsigned int dc)
-{
- if (Smg_Inited == 0) return;
-
- if (!dr || !dc) return;
- This_Row = r; This_Col = c;
- dr--; dc--;
- SLsmg_draw_hline (dc);
- SLsmg_draw_vline (dr);
- This_Row = r; This_Col = c;
- SLsmg_draw_vline (dr);
- SLsmg_draw_hline (dc);
- SLsmg_draw_object (r, c, SLSMG_ULCORN_CHAR);
- SLsmg_draw_object (r, c + (int) dc, SLSMG_URCORN_CHAR);
- SLsmg_draw_object (r + (int) dr, c, SLSMG_LLCORN_CHAR);
- SLsmg_draw_object (r + (int) dr, c + (int) dc, SLSMG_LRCORN_CHAR);
- This_Row = r; This_Col = c;
-}
-
-void SLsmg_fill_region (int r, int c, unsigned int dr, unsigned int dc, unsigned char ch)
-{
- static unsigned char hbuf[16];
- int count;
- int dcmax, rmax;
-
- if (Smg_Inited == 0) return;
-
- SLsmg_gotorc (r, c);
- r = This_Row; c = This_Col;
-
- dcmax = Screen_Cols - This_Col;
- if (dcmax < 0)
- return;
-
- if (dc > (unsigned int) dcmax) dc = (unsigned int) dcmax;
-
- rmax = This_Row + dr;
- if (rmax > Screen_Rows) rmax = Screen_Rows;
-
-#if 0
- ch = Alt_Char_Set[ch];
-#endif
- if (ch != hbuf[0]) SLMEMSET ((char *) hbuf, (char) ch, 16);
-
- for (This_Row = r; This_Row < rmax; This_Row++)
- {
- This_Col = c;
- count = dc / 16;
- SLsmg_write_nchars ((char *) hbuf, dc % 16);
- while (count-- > 0)
- {
- SLsmg_write_nchars ((char *) hbuf, 16);
- }
- }
-
- This_Row = r;
-}
-
-void SLsmg_forward (int n)
-{
- This_Col += n;
-}
-
-void SLsmg_write_color_chars (SLsmg_Char_Type *s, unsigned int len)
-{
- SLsmg_Char_Type *smax, sh;
- char buf[32], *b, *bmax;
- int color, save_color;
-
- if (Smg_Inited == 0) return;
-
- smax = s + len;
- b = buf;
- bmax = b + sizeof (buf);
-
- save_color = This_Color;
-
- while (s < smax)
- {
- sh = *s++;
-
- color = SLSMG_EXTRACT_COLOR(sh);
-
-#if REQUIRES_NON_BCE_SUPPORT
- if (Bce_Color_Offset)
- {
- if (color & 0x80)
- color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
- else
- color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
- }
-#endif
-
- if ((color != This_Color) || (b == bmax))
- {
- if (b != buf)
- {
- SLsmg_write_nchars (buf, (int) (b - buf));
- b = buf;
- }
- This_Color = color;
- }
- *b++ = (char) SLSMG_EXTRACT_CHAR(sh);
- }
-
- if (b != buf)
- SLsmg_write_nchars (buf, (unsigned int) (b - buf));
-
- This_Color = save_color;
-}
-
-unsigned int SLsmg_read_raw (SLsmg_Char_Type *buf, unsigned int len)
-{
- unsigned int r, c;
-
- if (Smg_Inited == 0) return 0;
-
- if (0 == point_visible (1)) return 0;
-
- r = (unsigned int) (This_Row - Start_Row);
- c = (unsigned int) (This_Col - Start_Col);
-
- if (c + len > (unsigned int) Screen_Cols)
- len = (unsigned int) Screen_Cols - c;
-
- memcpy ((char *) buf, (char *) (SL_Screen[r].neew + c), len * sizeof (SLsmg_Char_Type));
- return len;
-}
-
-unsigned int SLsmg_write_raw (SLsmg_Char_Type *buf, unsigned int len)
-{
- unsigned int r, c;
- SLsmg_Char_Type *dest;
-
- if (Smg_Inited == 0) return 0;
-
- if (0 == point_visible (1)) return 0;
-
- r = (unsigned int) (This_Row - Start_Row);
- c = (unsigned int) (This_Col - Start_Col);
-
- if (c + len > (unsigned int) Screen_Cols)
- len = (unsigned int) Screen_Cols - c;
-
- dest = SL_Screen[r].neew + c;
-
- if (0 != memcmp ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type)))
- {
- memcpy ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type));
- SL_Screen[r].flags |= TOUCHED;
- }
- return len;
-}
-
-void
-SLsmg_set_color_in_region (int color, int r, int c, unsigned int dr, unsigned int dc)
-{
- int cmax, rmax;
- SLsmg_Char_Type char_mask;
-
- if (Smg_Inited == 0) return;
-
- c -= Start_Col;
- r -= Start_Row;
-
- cmax = c + (int) dc;
- rmax = r + (int) dr;
-
- if (cmax > Screen_Cols) cmax = Screen_Cols;
- if (rmax > Screen_Rows) rmax = Screen_Rows;
-
- if (c < 0) c = 0;
- if (r < 0) r = 0;
-
-#if REQUIRES_NON_BCE_SUPPORT
- if (Bce_Color_Offset)
- {
- if (color & 0x80)
- color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
- else
- color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
- }
-#endif
- color = color << 8;
-
- char_mask = 0xFF;
-
-#ifndef IBMPC_SYSTEM
- if ((tt_Use_Blink_For_ACS == NULL)
- || (0 == *tt_Use_Blink_For_ACS))
- char_mask = 0x80FF;
-#endif
-
- while (r < rmax)
- {
- SLsmg_Char_Type *s, *smax;
-
- SL_Screen[r].flags |= TOUCHED;
- s = SL_Screen[r].neew;
- smax = s + cmax;
- s += c;
-
- while (s < smax)
- {
- *s = (*s & char_mask) | color;
- s++;
- }
- r++;
- }
-}
-
-void SLsmg_set_terminal_info (SLsmg_Term_Type *tt)
-{
- if (tt == NULL) /* use default */
- return;
-
- if ((tt->tt_normal_video == NULL)
- || (tt->tt_goto_rc == NULL)
- || (tt->tt_cls == NULL)
- || (tt->tt_del_eol == NULL)
- || (tt->tt_smart_puts == NULL)
- || (tt->tt_flush_output == NULL)
- || (tt->tt_reset_video == NULL)
- || (tt->tt_init_video == NULL)
-#ifndef IBMPC_SYSTEM
- || (tt->tt_set_scroll_region == NULL)
- || (tt->tt_reverse_index == NULL)
- || (tt->tt_reset_scroll_region == NULL)
- || (tt->tt_delete_nlines == NULL)
- /* Variables */
- || (tt->tt_term_cannot_scroll == NULL)
- || (tt->tt_has_alt_charset == NULL)
-#if 0 /* These can be NULL */
- || (tt->tt_use_blink_for_acs == NULL)
- || (tt->tt_graphic_char_pairs == NULL)
-#endif
- || (tt->tt_screen_cols == NULL)
- || (tt->tt_screen_rows == NULL)
-#endif
- )
- SLang_exit_error ("Terminal not powerful enough for SLsmg");
-
- tt_normal_video = tt->tt_normal_video;
- tt_goto_rc = tt->tt_goto_rc;
- tt_cls = tt->tt_cls;
- tt_del_eol = tt->tt_del_eol;
- tt_smart_puts = tt->tt_smart_puts;
- tt_flush_output = tt->tt_flush_output;
- tt_reset_video = tt->tt_reset_video;
- tt_init_video = tt->tt_init_video;
-
-#ifndef IBMPC_SYSTEM
- tt_set_scroll_region = tt->tt_set_scroll_region;
- tt_reverse_index = tt->tt_reverse_index;
- tt_reset_scroll_region = tt->tt_reset_scroll_region;
- tt_delete_nlines = tt->tt_delete_nlines;
-
- tt_Term_Cannot_Scroll = tt->tt_term_cannot_scroll;
- tt_Has_Alt_Charset = tt->tt_has_alt_charset;
- tt_Use_Blink_For_ACS = tt->tt_use_blink_for_acs;
- tt_Graphics_Char_Pairs = tt->tt_graphic_char_pairs;
-#endif
-
- tt_Screen_Cols = tt->tt_screen_cols;
- tt_Screen_Rows = tt->tt_screen_rows;
-}
-
diff --git a/mdk-stage1/slang/slstd.c b/mdk-stage1/slang/slstd.c
deleted file mode 100644
index b05dfcddb..000000000
--- a/mdk-stage1/slang/slstd.c
+++ /dev/null
@@ -1,724 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* Standard intrinsic functions for S-Lang. Included here are string
- and array operations */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-/*{{{ Include Files */
-
-#include <time.h>
-
-#ifndef __QNX__
-# if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*}}}*/
-
-/* builtin stack manipulation functions */
-int SLdo_pop(void) /*{{{*/
-{
- return SLdo_pop_n (1);
-}
-
-/*}}}*/
-
-int SLdo_pop_n (unsigned int n)
-{
- SLang_Object_Type x;
-
- while (n--)
- {
- if (SLang_pop(&x)) return -1;
- SLang_free_object (&x);
- }
-
- return 0;
-}
-
-static void do_dup(void) /*{{{*/
-{
- (void) SLdup_n (1);
-}
-
-/*}}}*/
-
-static int length_cmd (void)
-{
- SLang_Class_Type *cl;
- SLang_Object_Type obj;
- VOID_STAR p;
- unsigned int length;
- int len;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- cl = _SLclass_get_class (obj.data_type);
- p = _SLclass_get_ptr_to_value (cl, &obj);
-
- len = 1;
- if (cl->cl_length != NULL)
- {
- if (0 == (*cl->cl_length)(obj.data_type, p, &length))
- len = (int) length;
- else
- len = -1;
- }
-
- SLang_free_object (&obj);
- return len;
-}
-
-/* convert integer to a string of length 1 */
-static void char_cmd (int *x) /*{{{*/
-{
- char ch, buf[2];
-
- ch = (char) *x;
- buf[0] = ch;
- buf[1] = 0;
- SLang_push_string (buf);
-}
-
-/*}}}*/
-
-/* format object into a string and returns slstring */
-char *_SLstringize_object (SLang_Object_Type *obj) /*{{{*/
-{
- SLang_Class_Type *cl;
- unsigned char stype;
- VOID_STAR p;
- char *s, *s1;
-
- stype = obj->data_type;
- p = (VOID_STAR) &obj->v.ptr_val;
-
- cl = _SLclass_get_class (stype);
-
- s = (*cl->cl_string) (stype, p);
- if (s != NULL)
- {
- s1 = SLang_create_slstring (s);
- SLfree (s);
- s = s1;
- }
- return s;
-}
-/*}}}*/
-
-int SLang_run_hooks(char *hook, unsigned int num_args, ...)
-{
- unsigned int i;
- va_list ap;
-
- if (SLang_Error) return -1;
-
- if (0 == SLang_is_defined (hook))
- return 0;
-
- (void) SLang_start_arg_list ();
- va_start (ap, num_args);
- for (i = 0; i < num_args; i++)
- {
- char *arg;
-
- arg = va_arg (ap, char *);
- if (-1 == SLang_push_string (arg))
- break;
- }
- va_end (ap);
- (void) SLang_end_arg_list ();
-
- if (SLang_Error) return -1;
- return SLang_execute_function (hook);
-}
-
-static void intrin_getenv_cmd (char *s)
-{
- SLang_push_string (getenv (s));
-}
-
-#ifdef HAVE_PUTENV
-static void intrin_putenv (void) /*{{{*/
-{
- char *s;
-
- /* Some putenv implementations required malloced strings. */
- if (SLpop_string(&s)) return;
-
- if (putenv (s))
- {
- SLang_Error = SL_INTRINSIC_ERROR;
- SLfree (s);
- }
-
- /* Note that s is NOT freed */
-}
-
-/*}}}*/
-
-#endif
-
-static void lang_print_stack (void) /*{{{*/
-{
- char buf[32];
- unsigned int n;
-
- n = (unsigned int) (_SLStack_Pointer - _SLRun_Stack);
- while (n)
- {
- n--;
- sprintf (buf, "(%u)", n);
- _SLdump_objects (buf, _SLRun_Stack + n, 1, 1);
- }
-}
-
-/*}}}*/
-
-static void byte_compile_file (char *f, int *m)
-{
- SLang_byte_compile_file (f, *m);
-}
-
-static void intrin_type_info1 (void)
-{
- SLang_Object_Type obj;
- unsigned int type;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- type = obj.data_type;
- if (type == SLANG_ARRAY_TYPE)
- type = obj.v.array_val->data_type;
-
- SLang_free_object (&obj);
-
- _SLang_push_datatype (type);
-}
-
-static void intrin_type_info (void)
-{
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- _SLang_push_datatype (obj.data_type);
- SLang_free_object (&obj);
-}
-
-void _SLstring_intrinsic (void) /*{{{*/
-{
- SLang_Object_Type x;
- char *s;
-
- if (SLang_pop (&x)) return;
- if (NULL != (s = _SLstringize_object (&x)))
- _SLang_push_slstring (s);
-
- SLang_free_object (&x);
-}
-
-/*}}}*/
-
-static void intrin_typecast (void)
-{
- unsigned char to_type;
- if (0 == _SLang_pop_datatype (&to_type))
- (void) SLclass_typecast (to_type, 0, 1);
-}
-
-#if SLANG_HAS_FLOAT
-static void intrin_double (void)
-{
- (void) SLclass_typecast (SLANG_DOUBLE_TYPE, 0, 1);
-}
-
-#endif
-
-static void intrin_int (void) /*{{{*/
-{
- (void) SLclass_typecast (SLANG_INT_TYPE, 0, 1);
-}
-
-/*}}}*/
-
-static char *
-intrin_function_name (void)
-{
- if (NULL == _SLang_Current_Function_Name)
- return "";
- return _SLang_Current_Function_Name;
-}
-
-static void intrin_message (char *s)
-{
- SLang_vmessage ("%s", s);
-}
-
-static void intrin_error (char *s)
-{
- SLang_verror (SL_USER_ERROR, "%s", s);
-}
-
-static void intrin_pop_n (int *n)
-{
- SLdo_pop_n ((unsigned int) *n);
-}
-
-static void intrin_reverse_stack (int *n)
-{
- SLreverse_stack (*n);
-}
-
-static void intrin_roll_stack (int *n)
-{
- SLroll_stack (*n);
-}
-
-static void usage (void)
-{
- char *msg;
-
- _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
-
- if (-1 == SLang_pop_slstring (&msg))
- return;
-
- SLang_verror (SL_USAGE_ERROR, "Usage: %s", msg);
- SLang_free_slstring (msg);
-}
-
-/* Convert string to integer */
-static int intrin_integer (char *s)
-{
- int i;
-
- i = SLatoi ((unsigned char *) s);
-
- if (SLang_Error)
- SLang_verror (SL_TYPE_MISMATCH, "Unable to convert string to integer");
- return i;
-}
-/*}}}*/
-
-static void guess_type (char *s)
-{
- _SLang_push_datatype (SLang_guess_type(s));
-}
-
-static int load_file (char *s)
-{
- if (-1 == SLang_load_file (s))
- return 0;
- return 1;
-}
-
-static void get_doc_string (char *file, char *topic)
-{
- FILE *fp;
- char line[1024];
- unsigned int topic_len, str_len;
- char *str;
- char ch;
-
- if (NULL == (fp = fopen (file, "r")))
- {
- SLang_push_null ();
- return;
- }
-
- topic_len = strlen (topic);
- ch = *topic;
-
- while (1)
- {
- if (NULL == fgets (line, sizeof(line), fp))
- {
- fclose (fp);
- (void) SLang_push_null ();
- return;
- }
-
- if ((ch == *line)
- && (0 == strncmp (line, topic, topic_len))
- && ((line[topic_len] == '\n') || (line [topic_len] == 0)
- || (line[topic_len] == ' ') || (line[topic_len] == '\t')))
- break;
- }
-
- if (NULL == (str = SLmake_string (line)))
- {
- fclose (fp);
- (void) SLang_push_null ();
- return;
- }
- str_len = strlen (str);
-
- while (NULL != fgets (line, sizeof (line), fp))
- {
- unsigned int len;
- char *new_str;
-
- ch = *line;
- if (ch == '#') continue;
- if (ch == '-') break;
-
- len = strlen (line);
- if (NULL == (new_str = SLrealloc (str, str_len + len + 1)))
- {
- SLfree (str);
- str = NULL;
- break;
- }
- str = new_str;
- strcpy (str + str_len, line);
- str_len += len;
- }
-
- fclose (fp);
-
- (void) SLang_push_malloced_string (str);
-}
-
-static int push_string_array_elements (SLang_Array_Type *at)
-{
- char **strs;
- unsigned int num;
- unsigned int i;
-
- if (at == NULL)
- return -1;
-
- strs = (char **)at->data;
- num = at->num_elements;
- for (i = 0; i < num; i++)
- {
- if (-1 == SLang_push_string (strs[i]))
- {
- SLdo_pop_n (i);
- return -1;
- }
- }
- SLang_push_integer ((int) num);
- return 0;
-}
-
-
-static void intrin_apropos (void)
-{
- int num_args;
- char *pat;
- char *namespace_name;
- unsigned int flags;
- SLang_Array_Type *at;
-
- num_args = SLang_Num_Function_Args;
-
- if (-1 == SLang_pop_uinteger (&flags))
- return;
- if (-1 == SLang_pop_slstring (&pat))
- return;
-
- namespace_name = NULL;
- at = NULL;
- if (num_args == 3)
- {
- if (-1 == SLang_pop_slstring (&namespace_name))
- goto free_and_return;
- }
-
- at = _SLang_apropos (namespace_name, pat, flags);
- if (num_args == 3)
- {
- (void) SLang_push_array (at, 0);
- goto free_and_return;
- }
-
- /* Maintain compatibility with old version of the function. That version
- * did not take three arguments and returned everything to the stack.
- * Yuk.
- */
- (void) push_string_array_elements (at);
-
- free_and_return:
- /* NULLs ok */
- SLang_free_slstring (namespace_name);
- SLang_free_slstring (pat);
- SLang_free_array (at);
-}
-
-static int intrin_get_defines (void)
-{
- int n = 0;
- char **s = _SLdefines;
-
- while (*s != NULL)
- {
- if (-1 == SLang_push_string (*s))
- {
- SLdo_pop_n ((unsigned int) n);
- return -1;
- }
- s++;
- n++;
- }
- return n;
-}
-
-static void intrin_get_reference (char *name)
-{
- _SLang_push_ref (1, (VOID_STAR) _SLlocate_name (name));
-}
-
-#ifdef HAVE_SYS_UTSNAME_H
-# include <sys/utsname.h>
-#endif
-
-static void uname_cmd (void)
-{
-#ifdef HAVE_UNAME
- struct utsname u;
- char *field_names [6];
- unsigned char field_types[6];
- VOID_STAR field_values [6];
- char *ptrs[6];
- int i;
-
- if (-1 == uname (&u))
- (void) SLang_push_null ();
-
- field_names[0] = "sysname"; ptrs[0] = u.sysname;
- field_names[1] = "nodename"; ptrs[1] = u.nodename;
- field_names[2] = "release"; ptrs[2] = u.release;
- field_names[3] = "version"; ptrs[3] = u.version;
- field_names[4] = "machine"; ptrs[4] = u.machine;
-
- for (i = 0; i < 5; i++)
- {
- field_types[i] = SLANG_STRING_TYPE;
- field_values[i] = (VOID_STAR) &ptrs[i];
- }
-
- if (0 == SLstruct_create_struct (5, field_names, field_types, field_values))
- return;
-#endif
-
- SLang_push_null ();
-}
-
-static void uninitialize_ref_intrin (SLang_Ref_Type *ref)
-{
- (void) _SLang_uninitialize_ref (ref);
-}
-
-static SLang_Intrin_Fun_Type SLang_Basic_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_1("__is_initialized", _SLang_is_ref_initialized, SLANG_INT_TYPE, SLANG_REF_TYPE),
- MAKE_INTRINSIC_S("__get_reference", intrin_get_reference, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("__uninitialize", uninitialize_ref_intrin, SLANG_VOID_TYPE, SLANG_REF_TYPE),
- MAKE_INTRINSIC_SS("get_doc_string_from_file", get_doc_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("autoload", SLang_autoload, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("is_defined", SLang_is_defined, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("string", _SLstring_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("uname", uname_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("getenv", intrin_getenv_cmd, SLANG_VOID_TYPE),
-#ifdef HAVE_PUTENV
- MAKE_INTRINSIC_0("putenv", intrin_putenv, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("evalfile", load_file, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("char", char_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("eval", SLang_load_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("dup", do_dup, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("integer", intrin_integer, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("system", SLsystem, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("_apropos", intrin_apropos, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("_trace_function", _SLang_trace_fun, SLANG_VOID_TYPE),
-#if SLANG_HAS_FLOAT
- MAKE_INTRINSIC_S("atof", _SLang_atof, SLANG_DOUBLE_TYPE),
- MAKE_INTRINSIC_0("double", intrin_double, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_0("int", intrin_int, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("typecast", intrin_typecast, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_stkdepth", _SLstack_depth, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("_stk_reverse", intrin_reverse_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("typeof", intrin_type_info, VOID_TYPE),
- MAKE_INTRINSIC_0("_typeof", intrin_type_info1, VOID_TYPE),
- MAKE_INTRINSIC_I("_pop_n", intrin_pop_n, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_print_stack", lang_print_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("_stk_roll", intrin_roll_stack, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SI("byte_compile_file", byte_compile_file, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_clear_error", _SLang_clear_error, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_function_name", intrin_function_name, SLANG_STRING_TYPE),
-#if SLANG_HAS_FLOAT
- MAKE_INTRINSIC_S("set_float_format", _SLset_double_format, SLANG_VOID_TYPE),
-#endif
- MAKE_INTRINSIC_S("_slang_guess_type", guess_type, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("error", intrin_error, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("message", intrin_message, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("__get_defined_symbols", intrin_get_defines, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("__pop_args", _SLstruct_pop_args, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_1("__push_args", _SLstruct_push_args, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
- MAKE_INTRINSIC_0("usage", usage, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("implements", _SLang_implements_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("use_namespace", _SLang_use_namespace_intrinsic, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("current_namespace", _SLang_cur_namespace_intrinsic, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_0("length", length_cmd, SLANG_INT_TYPE),
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-/*}}}*/
-
-#ifdef SLANG_DOC_DIR
-char *SLang_Doc_Dir = SLANG_DOC_DIR;
-#else
-char *SLang_Doc_Dir = "";
-#endif
-
-static SLang_Intrin_Var_Type Intrin_Vars[] =
-{
- MAKE_VARIABLE("_debug_info", &_SLang_Compile_Line_Num_Info, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_auto_declare", &_SLang_Auto_Declare_Globals, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_traceback", &SLang_Traceback, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_slangtrace", &_SLang_Trace, SLANG_INT_TYPE, 0),
- MAKE_VARIABLE("_slang_version", &SLang_Version, SLANG_INT_TYPE, 1),
- MAKE_VARIABLE("_slang_version_string", &SLang_Version_String, SLANG_STRING_TYPE, 1),
- MAKE_VARIABLE("_NARGS", &SLang_Num_Function_Args, SLANG_INT_TYPE, 1),
- MAKE_VARIABLE("_slang_doc_dir", &SLang_Doc_Dir, SLANG_STRING_TYPE, 1),
- MAKE_VARIABLE("NULL", NULL, SLANG_NULL_TYPE, 1),
- SLANG_END_INTRIN_VAR_TABLE
-};
-
-int SLang_init_slang (void) /*{{{*/
-{
- char name[3];
- unsigned int i;
- char **s;
- static char *sys_defines [] =
- {
-#if defined(__os2__)
- "OS2",
-#endif
-#if defined(__MSDOS__)
- "MSDOS",
-#endif
-#if defined(__WIN16__)
- "WIN16",
-#endif
-#if defined (__WIN32__)
- "WIN32",
-#endif
-#if defined(__NT__)
- "NT",
-#endif
-#if defined (VMS)
- "VMS",
-#endif
-#ifdef REAL_UNIX_SYSTEM
- "UNIX",
-#endif
-#if SLANG_HAS_FLOAT
- "SLANG_DOUBLE_TYPE",
-#endif
- NULL
- };
-
- if (-1 == _SLregister_types ()) return -1;
-
- if ((-1 == SLadd_intrin_fun_table(SLang_Basic_Table, NULL))
- || (-1 == SLadd_intrin_var_table (Intrin_Vars, NULL))
- || (-1 == _SLang_init_slstrops ())
- || (-1 == _SLang_init_sltime ())
- || (-1 == _SLstruct_init ())
-#if SLANG_HAS_COMPLEX
- || (-1 == _SLinit_slcomplex ())
-#endif
-#if SLANG_HAS_ASSOC_ARRAYS
- || (-1 == SLang_init_slassoc ())
-#endif
- )
- return -1;
-
- SLadd_global_variable (SLANG_SYSTEM_NAME);
-
- s = sys_defines;
- while (*s != NULL)
- {
- if (-1 == SLdefine_for_ifdef (*s)) return -1;
- s++;
- }
-
- /* give temp global variables $0 --> $9 */
- name[2] = 0; name[0] = '$';
- for (i = 0; i < 10; i++)
- {
- name[1] = (char) (i + '0');
- SLadd_global_variable (name);
- }
-
- SLang_init_case_tables ();
-
- /* Now add a couple of macros */
- SLang_load_string (".(_NARGS 1 - Sprintf error)verror");
- SLang_load_string (".(_NARGS 1 - Sprintf message)vmessage");
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-/*}}}*/
-
-int SLang_set_argc_argv (int argc, char **argv)
-{
- static int this_argc;
- static char **this_argv;
- int i;
-
- if (argc < 0) argc = 0;
- this_argc = argc;
-
- if (NULL == (this_argv = (char **) SLmalloc ((argc + 1) * sizeof (char *))))
- return -1;
- memset ((char *) this_argv, 0, sizeof (char *) * (argc + 1));
-
- for (i = 0; i < argc; i++)
- {
- if (NULL == (this_argv[i] = SLang_create_slstring (argv[i])))
- goto return_error;
- }
-
- if (-1 == SLadd_intrinsic_variable ("__argc", (VOID_STAR)&this_argc,
- SLANG_INT_TYPE, 1))
- goto return_error;
-
- if (-1 == SLang_add_intrinsic_array ("__argv", SLANG_STRING_TYPE, 1,
- (VOID_STAR) this_argv, 1, argc))
- goto return_error;
-
- return 0;
-
- return_error:
- for (i = 0; i < argc; i++)
- SLang_free_slstring (this_argv[i]); /* NULL ok */
- SLfree ((char *) this_argv);
-
- return -1;
-}
diff --git a/mdk-stage1/slang/slstdio.c b/mdk-stage1/slang/slstdio.c
deleted file mode 100644
index 05db1af77..000000000
--- a/mdk-stage1/slang/slstdio.c
+++ /dev/null
@@ -1,1050 +0,0 @@
-/* file stdio intrinsics for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
-# include <sys/types.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_FCNTL_H
-# include <sys/fcntl.h>
-#endif
-
-#ifdef __unix__
-# include <sys/file.h>
-#endif
-
-#if defined(__BORLANDC__)
-# include <io.h>
-# include <dir.h>
-#endif
-
-#if defined(__DECC) && defined(VMS)
-# include <unixio.h>
-# include <unixlib.h>
-#endif
-
-#ifdef VMS
-# include <stat.h>
-#else
-# include <sys/stat.h>
-#endif
-
-#include <errno.h>
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct
-{
- FILE *fp; /* kind of obvious */
- char *file; /* file name associated with pointer */
-
- unsigned int flags; /* modes, etc... */
-#define SL_READ 0x0001
-#define SL_WRITE 0x0002
-#define SL_BINARY 0x0004
-#define SL_FDOPEN 0x2000
-#define SL_PIPE 0x4000
-#define SL_INUSE 0x8000
-}
-SL_File_Table_Type;
-
-static SL_File_Table_Type *SL_File_Table;
-
-static SL_File_Table_Type *get_free_file_table_entry (void)
-{
- SL_File_Table_Type *t = SL_File_Table, *tmax;
-
- tmax = t + SL_MAX_FILES;
- while (t < tmax)
- {
- if (t->flags == 0)
- {
- memset ((char *) t, 0, sizeof (SL_File_Table_Type));
- return t;
- }
- t++;
- }
-
- return NULL;
-}
-
-static unsigned int file_process_flags (char *mode)
-{
- char ch;
- unsigned int flags = 0;
-
- while (1)
- {
- ch = *mode++;
- switch (ch)
- {
- case 'r': flags |= SL_READ;
- break;
- case 'w':
- case 'a':
- case 'A':
- flags |= SL_WRITE;
- break;
- case '+': flags |= SL_WRITE | SL_READ;
- break;
- case 'b': flags |= SL_BINARY;
- break;
- case 0:
- return flags;
-
- default:
- SLang_verror (SL_INVALID_PARM, "File flag %c is not supported", ch);
- return 0;
- }
- }
-}
-
-static int open_file_type (char *file, int fd, char *mode,
- FILE *(*open_fun)(char *, char *),
- int (*close_fun)(FILE *),
- unsigned int xflags)
-{
- FILE *fp;
- SL_File_Table_Type *t;
- unsigned int flags;
- SLang_MMT_Type *mmt;
-
- fp = NULL;
- t = NULL;
- mmt = NULL;
-
- if ((NULL == (t = get_free_file_table_entry ()))
- || (0 == (flags = file_process_flags(mode))))
- goto return_error;
-
- if (fd != -1)
- fp = fdopen (fd, mode);
- else
- fp = open_fun (file, mode);
-
- if (fp == NULL)
- {
- _SLerrno_errno = errno;
- goto return_error;
- }
-
- if (NULL == (mmt = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) t)))
- goto return_error;
-
- t->fp = fp;
- t->flags = flags | xflags;
- fp = NULL; /* allow free_mmt to close fp */
-
- if ((NULL != (t->file = SLang_create_slstring (file)))
- && (0 == SLang_push_mmt (mmt)))
- return 0;
-
- /* drop */
-
- return_error:
- if (fp != NULL) (*close_fun) (fp);
- if (mmt != NULL) SLang_free_mmt (mmt);
- (void) SLang_push_null ();
- return -1;
-}
-
-/* Since some compilers do not have popen/pclose prototyped and in scope,
- * and pc compilers sometimes have silly prototypes involving PASCAL, etc.
- * use wrappers around the function to avoid compilation errors.
- */
-
-static FILE *fopen_fun (char *f, char *m)
-{
- return fopen (f, m);
-}
-static int fclose_fun (FILE *fp)
-{
- return fclose (fp);
-}
-
-static void stdio_fopen (char *file, char *mode)
-{
- (void) open_file_type (file, -1, mode, fopen_fun, fclose_fun, 0);
-}
-
-int _SLstdio_fdopen (char *file, int fd, char *mode)
-{
- if (fd == -1)
- {
- _SLerrno_errno = EBADF;
- (void) SLang_push_null ();
- return -1;
- }
-
- return open_file_type (file, fd, mode, NULL, fclose_fun, SL_FDOPEN);
-}
-
-#ifdef HAVE_POPEN
-static int pclose_fun (FILE *fp)
-{
- return pclose (fp);
-}
-
-static FILE *popen_fun (char *file, char *mode)
-{
- return popen (file, mode);
-}
-
-static void stdio_popen (char *file, char *mode)
-{
- (void) open_file_type (file, -1, mode, popen_fun, pclose_fun, SL_PIPE);
-}
-#endif
-
-/* returns pointer to file entry if it is open and consistent with
- flags. Returns NULL otherwise */
-static SLang_MMT_Type *pop_fp (unsigned int flags, FILE **fp_ptr)
-{
- SL_File_Table_Type *t;
- SLang_MMT_Type *mmt;
-
- *fp_ptr = NULL;
-
- if (NULL == (mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
- return NULL;
-
- t = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
- if ((t->flags & flags)
- && (NULL != (*fp_ptr = t->fp)))
- return mmt;
-
- SLang_free_mmt (mmt);
- return NULL;
-}
-
-static FILE *check_fp (SL_File_Table_Type *t, unsigned flags)
-{
- if ((t != NULL) && (t->flags & flags))
- return t->fp;
-
- return NULL;
-}
-
-char *SLang_get_name_from_fileptr (SLang_MMT_Type *mmt)
-{
- SL_File_Table_Type *ft;
-
- ft = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
- if (ft == NULL)
- return NULL;
- return ft->file;
-}
-
-int SLang_pop_fileptr (SLang_MMT_Type **mmt, FILE **fp)
-{
- if (NULL == (*mmt = pop_fp (0xFFFF, fp)))
- {
-#ifdef EBADF
- _SLerrno_errno = EBADF;
-#endif
- return -1;
- }
-
- return 0;
-}
-
-static int close_file_type (SL_File_Table_Type *t)
-{
- int ret = 0;
- FILE *fp;
-
- if (t == NULL)
- return -1;
-
- fp = t->fp;
-
- if (NULL == fp) ret = -1;
- else
- {
- if (0 == (t->flags & SL_PIPE))
- {
- if (EOF == (ret = fclose (fp)))
- _SLerrno_errno = errno;
- }
-#ifdef HAVE_POPEN
- else
- {
- if (-1 == (ret = pclose (fp)))
- _SLerrno_errno = errno;
- }
-#endif
- }
-
- if (t->file != NULL) SLang_free_slstring (t->file);
- memset ((char *) t, 0, sizeof (SL_File_Table_Type));
- return ret;
-}
-
-static int stdio_fclose (SL_File_Table_Type *t)
-{
- int ret;
-
- if (NULL == check_fp (t, 0xFFFF))
- return -1;
-
- ret = close_file_type (t);
-
- t->flags = SL_INUSE;
- return ret;
-}
-
-static int read_one_line (FILE *fp, char **strp, unsigned int *lenp)
-{
- char buf[512];
- char *str;
- unsigned int len;
-
- *strp = NULL;
- len = 0;
- str = NULL;
-
- while (NULL != fgets (buf, sizeof (buf), fp))
- {
- unsigned int dlen;
- char *new_str;
- int done_flag;
-
- dlen = strlen (buf);
- /* Note: If the file contains embedded \0 characters, then this
- * fails to work properly since dlen will not be correct.
- */
- done_flag = ((dlen + 1 < sizeof (buf))
- || (buf[dlen - 1] == '\n'));
-
- if (done_flag && (str == NULL))
- {
- /* Avoid the malloc */
- str = buf;
- len = dlen;
- break;
- }
-
- if (NULL == (new_str = SLrealloc (str, len + dlen + 1)))
- {
- SLfree (str);
- return -1;
- }
-
- str = new_str;
- strcpy (str + len, buf);
- len += dlen;
-
- if (done_flag) break;
- }
-
- if (str == NULL)
- return 0;
-
- *strp = SLang_create_nslstring (str, len);
- if (str != buf) SLfree (str);
-
- if (*strp == NULL) return -1;
-
- *lenp = len;
- return 1;
-}
-
-/* returns number of characters read and pushes the string to the stack.
- If it fails, it returns -1 */
-static int stdio_fgets (SLang_Ref_Type *ref, SL_File_Table_Type *t)
-{
- char *s;
- unsigned int len;
- FILE *fp;
- int status;
-
- if (NULL == (fp = check_fp (t, SL_READ)))
- return -1;
-
- status = read_one_line (fp, &s, &len);
- if (status <= 0)
- return -1;
-
- status = SLang_assign_to_ref (ref, SLANG_STRING_TYPE, (VOID_STAR)&s);
- SLang_free_slstring (s);
-
- if (status == -1)
- return -1;
-
- return (int) len;
-}
-
-static void stdio_fgetslines_internal (FILE *fp, unsigned int n)
-{
- unsigned int num_lines, max_num_lines;
- char **list;
- SLang_Array_Type *at;
- int inum_lines;
-
- if (n > 1024)
- max_num_lines = 1024;
- else
- {
- max_num_lines = n;
- if (max_num_lines == 0)
- max_num_lines++;
- }
-
- list = (char **) SLmalloc (sizeof (char *) * max_num_lines);
- if (list == NULL)
- return;
-
- num_lines = 0;
- while (num_lines < n)
- {
- int status;
- char *line;
- unsigned int len;
-
- status = read_one_line (fp, &line, &len);
- if (status == -1)
- goto return_error;
-
- if (status == 0)
- break;
-
- if (max_num_lines == num_lines)
- {
- char **new_list;
-
- if (max_num_lines + 4096 > n)
- max_num_lines = n;
- else
- max_num_lines += 4096;
-
- new_list = (char **) SLrealloc ((char *)list, sizeof (char *) * max_num_lines);
- if (new_list == NULL)
- {
- SLang_free_slstring (line);
- goto return_error;
- }
- list = new_list;
- }
-
- list[num_lines] = line;
- num_lines++;
- }
-
- if (num_lines != max_num_lines)
- {
- char **new_list;
-
- new_list = (char **)SLrealloc ((char *)list, sizeof (char *) * (num_lines + 1));
- if (new_list == NULL)
- goto return_error;
-
- list = new_list;
- }
-
- inum_lines = (int) num_lines;
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_lines, 1)))
- goto return_error;
-
- if (-1 == SLang_push_array (at, 1))
- SLang_push_null ();
- return;
-
- return_error:
- while (num_lines > 0)
- {
- num_lines--;
- SLfree (list[num_lines]);
- }
- SLfree ((char *)list);
- SLang_push_null ();
-}
-
-static void stdio_fgetslines (void)
-{
- unsigned int n;
- FILE *fp;
- SLang_MMT_Type *mmt;
-
- n = (unsigned int)-1;
-
- if (SLang_Num_Function_Args == 2)
- {
- if (-1 == SLang_pop_uinteger (&n))
- return;
- }
-
- if (NULL == (mmt = pop_fp (SL_READ, &fp)))
- {
- SLang_push_null ();
- return;
- }
-
- stdio_fgetslines_internal (fp, n);
- SLang_free_mmt (mmt);
-}
-
-
-static int stdio_fputs (char *s, SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- return -1;
-
- if (EOF == fputs(s, fp)) return -1;
- return (int) strlen (s);
-}
-
-static int stdio_fflush (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- return -1;
-
- if (EOF == fflush (fp))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return 0;
-}
-
-/* Usage: n = fread (&str, data-type, nelems, fp); */
-static void stdio_fread (SLang_Ref_Type *ref, int *data_typep, unsigned int *num_elemns, SL_File_Table_Type *t)
-{
- char *s;
- FILE *fp;
- int ret;
- unsigned int num_read, num_to_read;
- unsigned int nbytes;
- SLang_Class_Type *cl;
- unsigned int sizeof_type;
- int data_type;
-
- ret = -1;
- s = NULL;
- cl = NULL;
-
- if (NULL == (fp = check_fp (t, SL_READ)))
- goto the_return;
-
- /* FIXME: priority = low : I should add some mechanism to support
- * other types.
- */
- data_type = *data_typep;
-
- cl = _SLclass_get_class ((unsigned char) data_type);
-
- if (cl->cl_fread == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "fread does not support %s objects",
- cl->cl_name);
- goto the_return;
- }
-
- sizeof_type = cl->cl_sizeof_type;
-
- num_to_read = *num_elemns;
- nbytes = (unsigned int) num_to_read * sizeof_type;
-
- s = SLmalloc (nbytes + 1);
- if (s == NULL)
- goto the_return;
-
- ret = cl->cl_fread (data_type, fp, (VOID_STAR)s, num_to_read, &num_read);
-
- if ((num_read == 0)
- && (num_read != num_to_read))
- ret = -1;
-
- if ((ret == -1) && ferror (fp))
- _SLerrno_errno = errno;
-
- if ((ret == 0)
- && (num_read != num_to_read))
- {
- char *new_s;
-
- nbytes = num_read * sizeof_type;
- new_s = SLrealloc (s, nbytes + 1);
- if (new_s == NULL)
- ret = -1;
- else
- s = new_s;
- }
-
- if (ret == 0)
- {
- if (num_read == 1)
- {
- ret = SLang_assign_to_ref (ref, data_type, (VOID_STAR)s);
- SLfree (s);
- }
- else if ((data_type == SLANG_CHAR_TYPE)
- || (data_type == SLANG_UCHAR_TYPE))
- {
- SLang_BString_Type *bs;
-
- bs = SLbstring_create_malloced ((unsigned char *)s, num_read, 1);
- ret = SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bs);
- SLbstring_free (bs);
- }
- else
- {
- SLang_Array_Type *at;
- int inum_read = (int) num_read;
- at = SLang_create_array (data_type, 0, (VOID_STAR)s, &inum_read, 1);
- ret = SLang_assign_to_ref (ref, SLANG_ARRAY_TYPE, (VOID_STAR)&at);
- SLang_free_array (at);
- }
- s = NULL;
- }
-
- the_return:
-
- if (s != NULL)
- SLfree (s);
-
- if (ret == -1)
- SLang_push_integer (ret);
- else
- SLang_push_uinteger (num_read);
-}
-
-/* Usage: n = fwrite (str, fp); */
-static void stdio_fwrite (SL_File_Table_Type *t)
-{
- FILE *fp;
- unsigned char *s;
- unsigned int num_to_write, num_write;
- int ret;
- SLang_BString_Type *b;
- SLang_Array_Type *at;
- SLang_Class_Type *cl;
-
- ret = -1;
- b = NULL;
- at = NULL;
-
- switch (SLang_peek_at_stack ())
- {
- case SLANG_BSTRING_TYPE:
- case SLANG_STRING_TYPE:
- if (-1 == SLang_pop_bstring (&b))
- goto the_return;
-
- if (NULL == (s = SLbstring_get_pointer (b, &num_to_write)))
- goto the_return;
-
- cl = _SLclass_get_class (SLANG_UCHAR_TYPE);
- break;
-
- default:
- if (-1 == SLang_pop_array (&at, 1))
- goto the_return;
-
- cl = at->cl;
- num_to_write = at->num_elements;
- s = (unsigned char *) at->data;
- }
-
- if (NULL == (fp = check_fp (t, SL_WRITE)))
- goto the_return;
-
- if (cl->cl_fwrite == NULL)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "fwrite does not support %s objects", cl->cl_name);
- goto the_return;
- }
-
- ret = cl->cl_fwrite (cl->cl_data_type, fp, s, num_to_write, &num_write);
-
- if ((ret == -1) && ferror (fp))
- _SLerrno_errno = errno;
-
- /* drop */
- the_return:
- if (b != NULL)
- SLbstring_free (b);
- if (at != NULL)
- SLang_free_array (at);
-
- if (ret == -1)
- SLang_push_integer (ret);
- else
- SLang_push_uinteger (num_write);
-}
-
-static int stdio_fseek (SL_File_Table_Type *t, int *ofs, int *whence)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- if (-1 == fseek (fp, (long) *ofs, *whence))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return 0;
-}
-
-static int stdio_ftell (SL_File_Table_Type *t)
-{
- FILE *fp;
- long ofs;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- if (-1L == (ofs = ftell (fp)))
- {
- _SLerrno_errno = errno;
- return -1;
- }
-
- return (int) ofs;
-}
-
-static int stdio_feof (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- return feof (fp);
-}
-
-static int stdio_ferror (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL == (fp = check_fp (t, 0xFFFF)))
- return -1;
-
- return ferror (fp);
-}
-
-static void stdio_clearerr (SL_File_Table_Type *t)
-{
- FILE *fp;
-
- if (NULL != (fp = check_fp (t, 0xFFFF)))
- clearerr (fp);
-}
-
-/* () = fprintf (fp, "FORMAT", arg...); */
-static int stdio_fprintf (void)
-{
- char *s;
- FILE *fp;
- SLang_MMT_Type *mmt;
- int status;
-
- if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 2))
- return -1;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- if (NULL == (mmt = pop_fp (SL_WRITE, &fp)))
- {
- SLang_free_slstring (s);
- return -1;
- }
-
- if (EOF == fputs(s, fp))
- status = -1;
- else
- status = (int) strlen (s);
-
- SLang_free_mmt (mmt);
- SLang_free_slstring (s);
- return status;
-}
-
-static int stdio_printf (void)
-{
- char *s;
- int status;
-
- if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1))
- return -1;
-
- if (-1 == SLang_pop_slstring (&s))
- return -1;
-
- if (EOF == fputs(s, stdout))
- status = -1;
- else
- status = (int) strlen (s);
-
- SLang_free_slstring (s);
- return status;
-}
-
-
-#define F SLANG_FILE_PTR_TYPE
-#define R SLANG_REF_TYPE
-#define I SLANG_INT_TYPE
-#define V SLANG_VOID_TYPE
-#define S SLANG_STRING_TYPE
-#define B SLANG_BSTRING_TYPE
-#define U SLANG_UINT_TYPE
-#define D SLANG_DATATYPE_TYPE
-static SLang_Intrin_Fun_Type Stdio_Name_Table[] =
-{
- MAKE_INTRINSIC_0("fgetslines", stdio_fgetslines, V),
- MAKE_INTRINSIC_SS("fopen", stdio_fopen, V),
- MAKE_INTRINSIC_1("feof", stdio_feof, I, F),
- MAKE_INTRINSIC_1("ferror", stdio_ferror, I, F),
- MAKE_INTRINSIC_1("fclose", stdio_fclose, I, F),
- MAKE_INTRINSIC_2("fgets", stdio_fgets, I, R, F),
- MAKE_INTRINSIC_1("fflush", stdio_fflush, I, F),
- MAKE_INTRINSIC_2("fputs", stdio_fputs, I, S, F),
- MAKE_INTRINSIC_0("fprintf", stdio_fprintf, I),
- MAKE_INTRINSIC_0("printf", stdio_printf, I),
- MAKE_INTRINSIC_3("fseek", stdio_fseek, I, F, I, I),
- MAKE_INTRINSIC_1("ftell", stdio_ftell, I, F),
- MAKE_INTRINSIC_1("clearerr", stdio_clearerr, V, F),
- MAKE_INTRINSIC_4("fread", stdio_fread, V, R, D, U, F),
- MAKE_INTRINSIC_1("fwrite", stdio_fwrite, V, F),
-#ifdef HAVE_POPEN
- MAKE_INTRINSIC_SS("popen", stdio_popen, V),
- MAKE_INTRINSIC_1("pclose", stdio_fclose, I, F),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-#undef F
-#undef I
-#undef R
-#undef V
-#undef S
-#undef B
-#undef U
-#undef D
-
-#ifndef SEEK_SET
-# define SEEK_SET 0
-#endif
-#ifndef SEEK_CUR
-# define SEEK_CUR 1
-#endif
-#ifndef SEEK_END
-# define SEEK_END 2
-#endif
-
-static SLang_IConstant_Type Stdio_Consts [] =
-{
- MAKE_ICONSTANT("SEEK_SET", SEEK_SET),
- MAKE_ICONSTANT("SEEK_END", SEEK_END),
- MAKE_ICONSTANT("SEEK_CUR", SEEK_CUR),
- SLANG_END_ICONST_TABLE
-};
-
-static void destroy_file_type (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- (void) close_file_type ((SL_File_Table_Type *) ptr);
-}
-
-
-struct _SLang_Foreach_Context_Type
-{
- SLang_MMT_Type *mmt;
- FILE *fp;
-#define CTX_USE_LINE 1
-#define CTX_USE_CHAR 2
- unsigned char type;
-};
-
-
-static SLang_Foreach_Context_Type *
-cl_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- SLang_MMT_Type *mmt;
- FILE *fp;
-
- if (NULL == (mmt = pop_fp (SL_READ, &fp)))
- return NULL;
-
- type = CTX_USE_LINE;
-
- switch (num)
- {
- char *s;
-
- case 0:
- type = CTX_USE_LINE;
- break;
-
- case 1:
- if (-1 == SLang_pop_slstring (&s))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
- if (0 == strcmp (s, "char"))
- type = CTX_USE_CHAR;
- else if (0 == strcmp (s, "line"))
- type = CTX_USE_LINE;
- else
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "using '%s' not supported by File_Type",
- s);
- SLang_free_slstring (s);
- SLang_free_mmt (mmt);
- return NULL;
- }
- SLang_free_slstring (s);
- break;
-
- default:
- SLdo_pop_n (num);
- SLang_verror (SL_NOT_IMPLEMENTED,
- "Usage: foreach (File_Type) using ([line|char])");
- SLang_free_mmt (mmt);
- return NULL;
- }
-
- if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
- {
- SLang_free_mmt (mmt);
- return NULL;
- }
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- c->type = type;
- c->mmt = mmt;
- c->fp = fp;
-
- return c;
-}
-
-static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_mmt (c->mmt);
- SLfree ((char *) c);
-}
-
-static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- int status;
- int ch;
- unsigned int len;
- char *s;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- switch (c->type)
- {
- case CTX_USE_CHAR:
- if (EOF == (ch = getc (c->fp)))
- return 0;
- if (-1 == SLang_push_uchar ((unsigned char) ch))
- return -1;
- return 1;
-
- case CTX_USE_LINE:
- status = read_one_line (c->fp, &s, &len);
- if (status <= 0)
- return status;
- if (0 == _SLang_push_slstring (s))
- return 1;
- return -1;
- }
-
- return -1;
-}
-
-static int Stdio_Initialized;
-static SLang_MMT_Type *Stdio_Mmts[3];
-
-int SLang_init_stdio (void)
-{
- unsigned int i;
- SL_File_Table_Type *s;
- SLang_Class_Type *cl;
- char *names[3];
-
- if (Stdio_Initialized)
- return 0;
-
- SL_File_Table = (SL_File_Table_Type *)SLcalloc(sizeof (SL_File_Table_Type), SL_MAX_FILES);
- if (SL_File_Table == NULL)
- return -1;
-
- if (NULL == (cl = SLclass_allocate_class ("File_Type")))
- return -1;
- cl->cl_destroy = destroy_file_type;
- cl->cl_foreach_open = cl_foreach_open;
- cl->cl_foreach_close = cl_foreach_close;
- cl->cl_foreach = cl_foreach;
-
-
- if (-1 == SLclass_register_class (cl, SLANG_FILE_PTR_TYPE, sizeof (SL_File_Table_Type), SLANG_CLASS_TYPE_MMT))
- return -1;
-
- if ((-1 == SLadd_intrin_fun_table(Stdio_Name_Table, "__STDIO__"))
- || (-1 == SLadd_iconstant_table (Stdio_Consts, NULL))
- || (-1 == _SLerrno_init ()))
- return -1;
-
- names[0] = "stdin";
- names[1] = "stdout";
- names[2] = "stderr";
-
- s = SL_File_Table;
- s->fp = stdin; s->flags = SL_READ;
-
- s++;
- s->fp = stdout; s->flags = SL_WRITE;
-
- s++;
- s->fp = stderr; s->flags = SL_WRITE|SL_READ;
-
- s = SL_File_Table;
- for (i = 0; i < 3; i++)
- {
- if (NULL == (s->file = SLang_create_slstring (names[i])))
- return -1;
-
- if (NULL == (Stdio_Mmts[i] = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) s)))
- return -1;
- SLang_inc_mmt (Stdio_Mmts[i]);
-
- if (-1 == SLadd_intrinsic_variable (s->file, (VOID_STAR)&Stdio_Mmts[i], SLANG_FILE_PTR_TYPE, 1))
- return -1;
- s++;
- }
-
- Stdio_Initialized = 1;
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slstring.c b/mdk-stage1/slang/slstring.c
deleted file mode 100644
index 529c41827..000000000
--- a/mdk-stage1/slang/slstring.c
+++ /dev/null
@@ -1,546 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-typedef struct _SLstring_Type
-{
- struct _SLstring_Type *next;
- unsigned int ref_count;
- char bytes [1];
-}
-SLstring_Type;
-
-static SLstring_Type *String_Hash_Table [SLSTRING_HASH_TABLE_SIZE];
-static char Single_Char_Strings [256 * 2];
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
-#define MAX_FREE_STORE_LEN 32
-static SLstring_Type *SLS_Free_Store [MAX_FREE_STORE_LEN];
-
-# define NUM_CACHED_STRINGS 601
-typedef struct
-{
- unsigned long hash;
- SLstring_Type *sls;
- unsigned int len;
-}
-Cached_String_Type;
-static Cached_String_Type Cached_Strings [NUM_CACHED_STRINGS];
-
-#define GET_CACHED_STRING(s) \
- (Cached_Strings + (unsigned int)(((unsigned long) (s)) % NUM_CACHED_STRINGS))
-
-_INLINE_
-static void cache_string (SLstring_Type *sls, unsigned int len, unsigned long hash)
-{
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(sls->bytes);
- cs->sls = sls;
- cs->hash = hash;
- cs->len = len;
-}
-
-_INLINE_
-static void uncache_string (char *s)
-{
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(s);
- if ((cs->sls != NULL)
- && (cs->sls->bytes == s))
- cs->sls = NULL;
-}
-#endif
-
-
-
-_INLINE_
-unsigned long _SLstring_hash (unsigned char *s, unsigned char *smax)
-{
- register unsigned long h = 0;
- register unsigned long sum = 0;
- unsigned char *smax4;
-
- smax4 = smax - 4;
-
- while (s < smax4)
- {
- sum += s[0];
- h = sum + (h << 1);
- sum += s[1];
- h = sum + (h << 1);
- sum += s[2];
- h = sum + (h << 1);
- sum += s[3];
- h = sum + (h << 1);
-
- s += 4;
- }
-
- while (s < smax)
- {
- sum += *s++;
- h ^= sum + (h << 3); /* slightly different */
- }
-
- return h;
-}
-
-unsigned long _SLcompute_string_hash (char *s)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- return cs->hash;
-#endif
- return _SLstring_hash ((unsigned char *) s, (unsigned char *) s + strlen (s));
-}
-
-_INLINE_
-/* This routine works with any (long) string */
-static SLstring_Type *find_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
- char ch;
-
- sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
-
- if (sls == NULL)
- return NULL;
-
- ch = s[0];
- do
- {
- char *bytes = sls->bytes;
-
- /* Note that we need to actually make sure that bytes[len] == 0.
- * In this case, it is not enough to just compare pointers. In fact,
- * this is called from create_nstring, etc... It is unlikely that the
- * pointer is a slstring
- */
- if ((/* (s == bytes) || */ ((ch == bytes[0])
- && (0 == strncmp (s, bytes, len))))
- && (bytes [len] == 0))
- break;
-
- sls = sls->next;
- }
- while (sls != NULL);
-
- return sls;
-}
-
-_INLINE_
-static SLstring_Type *find_slstring (char *s, unsigned long hash)
-{
- SLstring_Type *sls;
-
- sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
- while (sls != NULL)
- {
- if (s == sls->bytes)
- return sls;
-
- sls = sls->next;
- }
- return sls;
-}
-
-_INLINE_
-static SLstring_Type *allocate_sls (unsigned int len)
-{
- SLstring_Type *sls;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if ((len < MAX_FREE_STORE_LEN)
- && (NULL != (sls = SLS_Free_Store [len])))
- {
- SLS_Free_Store[len] = NULL;
- return sls;
- }
-#endif
- /* FIXME: use structure padding */
- return (SLstring_Type *) SLmalloc (len + sizeof (SLstring_Type));
-}
-
-_INLINE_
-static void free_sls (SLstring_Type *sls, unsigned int len)
-{
-#if _SLANG_OPTIMIZE_FOR_SPEED
- if ((len < MAX_FREE_STORE_LEN)
- && (SLS_Free_Store[len] == NULL))
- {
- SLS_Free_Store [len] = sls;
- return;
- }
-#else
- (void) len;
-#endif
- SLfree ((char *)sls);
-}
-
-_INLINE_
-static char *create_long_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
-
- sls = find_string (s, len, hash);
-
- if (sls != NULL)
- {
- sls->ref_count++;
- s = sls->bytes;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
- }
-
- sls = allocate_sls (len);
- if (sls == NULL)
- return NULL;
-
- strncpy (sls->bytes, s, len);
- sls->bytes[len] = 0;
- sls->ref_count = 1;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
- sls->next = String_Hash_Table [(unsigned int)hash];
- String_Hash_Table [(unsigned int)hash] = sls;
-
- return sls->bytes;
-}
-
-_INLINE_
-static char *create_short_string (char *s, unsigned int len)
-{
- char ch;
-
- /* Note: if len is 0, then it does not matter what *s is. This is
- * important for SLang_create_nslstring.
- */
- if (len) ch = *s; else ch = 0;
-
- len = 2 * (unsigned int) ((unsigned char) ch);
- Single_Char_Strings [len] = ch;
- Single_Char_Strings [len + 1] = 0;
- return Single_Char_Strings + len;
-}
-
-/* s cannot be NULL */
-_INLINE_
-static char *create_nstring (char *s, unsigned int len, unsigned long *hash_ptr)
-{
- unsigned long hash;
-
- if (len < 2)
- return create_short_string (s, len);
-
- hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) (s + len));
- *hash_ptr = hash;
-
- return create_long_string (s, len, hash);
-}
-
-char *SLang_create_nslstring (char *s, unsigned int len)
-{
- unsigned long hash;
- return create_nstring (s, len, &hash);
-}
-
-char *_SLstring_make_hashed_string (char *s, unsigned int len, unsigned long *hashptr)
-{
- unsigned long hash;
-
- if (s == NULL) return NULL;
-
- hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) s + len);
- *hashptr = hash;
-
- if (len < 2)
- return create_short_string (s, len);
-
- return create_long_string (s, len, hash);
-}
-
-char *_SLstring_dup_hashed_string (char *s, unsigned long hash)
-{
- unsigned int len;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- if (s == NULL) return NULL;
- if (s[0] == 0)
- return create_short_string (s, 0);
- if (s[1] == 0)
- return create_short_string (s, 1);
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#else
- if (s == NULL) return NULL;
-#endif
-
- len = strlen (s);
-#if !_SLANG_OPTIMIZE_FOR_SPEED
- if (len < 2) return create_short_string (s, len);
-#endif
-
- return create_long_string (s, len, hash);
-}
-
-char *_SLstring_dup_slstring (char *s)
-{
- SLstring_Type *sls;
- unsigned int len;
- unsigned long hash;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#endif
-
- if ((s == NULL) || ((len = strlen (s)) < 2))
- return s;
-
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)(s + len));
-
- sls = find_slstring (s, hash);
- if (sls == NULL)
- {
- SLang_Error = SL_INTERNAL_ERROR;
- return NULL;
- }
-
- sls->ref_count++;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
-}
-
-static void free_sls_string (SLstring_Type *sls, char *s, unsigned int len,
- unsigned long hash)
-{
- SLstring_Type *sls1, *prev;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- uncache_string (s);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
-
- sls1 = String_Hash_Table [(unsigned int) hash];
-
- prev = NULL;
-
- /* This should not fail. */
- while (sls1 != sls)
- {
- prev = sls1;
- sls1 = sls1->next;
- }
-
- if (prev != NULL)
- prev->next = sls->next;
- else
- String_Hash_Table [(unsigned int) hash] = sls->next;
-
- free_sls (sls, len);
-}
-
-_INLINE_
-static void free_long_string (char *s, unsigned int len, unsigned long hash)
-{
- SLstring_Type *sls;
-
- if (NULL == (sls = find_slstring (s, hash)))
- {
- SLang_doerror ("Application internal error: invalid attempt to free string");
- return;
- }
-
- sls->ref_count--;
- if (sls->ref_count != 0)
- {
-#if _SLANG_OPTIMIZE_FOR_SPEED
- /* cache_string (sls, len, hash); */
-#endif
- return;
- }
-
-
- free_sls_string (sls, s, len, hash);
-}
-
-/* This routine may be passed NULL-- it is not an error. */
-void SLang_free_slstring (char *s)
-{
- unsigned long hash;
- unsigned int len;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- if (sls->ref_count <= 1)
- free_sls_string (sls, s, cs->len, cs->hash);
- else
- sls->ref_count -= 1;
- return;
- }
-#endif
-
- if (s == NULL) return;
-
- if ((len = strlen (s)) < 2)
- return;
-
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *) s + len);
- free_long_string (s, len, hash);
-}
-
-char *SLang_create_slstring (char *s)
-{
- unsigned long hash;
-#if _SLANG_OPTIMIZE_FOR_SPEED
- Cached_String_Type *cs;
- SLstring_Type *sls;
-
- cs = GET_CACHED_STRING(s);
- if (((sls = cs->sls) != NULL)
- && (sls->bytes == s))
- {
- sls->ref_count += 1;
- return s;
- }
-#endif
-
- if (s == NULL) return NULL;
- return create_nstring (s, strlen (s), &hash);
-}
-
-void _SLfree_hashed_string (char *s, unsigned int len, unsigned long hash)
-{
- if ((s == NULL) || (len < 2)) return;
- free_long_string (s, len, hash);
-}
-
-
-char *_SLallocate_slstring (unsigned int len)
-{
- SLstring_Type *sls = allocate_sls (len);
- if (sls == NULL)
- return NULL;
-
- return sls->bytes;
-}
-
-void _SLunallocate_slstring (char *s, unsigned int len)
-{
- SLstring_Type *sls;
-
- if (s == NULL)
- return;
-
- sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
- free_sls (sls, len);
-}
-
-char *_SLcreate_via_alloced_slstring (char *s, unsigned int len)
-{
- unsigned long hash;
- SLstring_Type *sls;
-
- if (s == NULL)
- return NULL;
-
- if (len < 2)
- {
- char *s1 = create_short_string (s, len);
- _SLunallocate_slstring (s, len);
- return s1;
- }
-
- /* s is not going to be in the cache because when it was malloced, its
- * value was unknown. This simplifies the coding.
- */
- hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)s + len);
- sls = find_string (s, len, hash);
- if (sls != NULL)
- {
- sls->ref_count++;
- _SLunallocate_slstring (s, len);
- s = sls->bytes;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
- return s;
- }
-
- sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
- sls->ref_count = 1;
-
-#if _SLANG_OPTIMIZE_FOR_SPEED
- cache_string (sls, len, hash);
-#endif
-
- hash = hash % SLSTRING_HASH_TABLE_SIZE;
- sls->next = String_Hash_Table [(unsigned int)hash];
- String_Hash_Table [(unsigned int)hash] = sls;
-
- return s;
-}
-
-/* Note, a and b may be ordinary strings. The result is an slstring */
-char *SLang_concat_slstrings (char *a, char *b)
-{
- unsigned int lena, len;
- char *c;
-
- lena = strlen (a);
- len = lena + strlen (b);
-
- c = _SLallocate_slstring (len);
- if (c == NULL)
- return NULL;
-
- strcpy (c, a);
- strcpy (c + lena, b);
-
- return _SLcreate_via_alloced_slstring (c, len);
-}
-
diff --git a/mdk-stage1/slang/slstrops.c b/mdk-stage1/slang/slstrops.c
deleted file mode 100644
index a57ef6389..000000000
--- a/mdk-stage1/slang/slstrops.c
+++ /dev/null
@@ -1,1686 +0,0 @@
-/* -*- mode: C; mode: fold; -*- */
-/* string manipulation functions for S-Lang. */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-/*{{{ Include Files */
-
-#include <time.h>
-
-#ifndef __QNX__
-# if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-# endif
-#endif
-
-#if SLANG_HAS_FLOAT
-#include <math.h>
-#endif
-
-#include <string.h>
-#include <stdarg.h>
-#include <ctype.h>
-
-#ifndef isdigit
-# define isdigit(x) (((x) >= '0') && ((x) <= '9'))
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-/*}}}*/
-
-#define USE_ALLOC_STSTRING 1
-
-/*{{{ Utility Functions */
-
-static char Utility_Char_Table [256];
-static unsigned char WhiteSpace_Lut[256];
-
-static void set_utility_char_table (char *pos) /*{{{*/
-{
- register char *t = Utility_Char_Table, *tmax;
- register unsigned char ch;
-
- tmax = t + 256;
- while (t < tmax) *t++ = 0;
-
- t = Utility_Char_Table;
- while ((ch = (unsigned char) *pos++) != 0) t[ch] = 1;
-}
-
-/*}}}*/
-
-_INLINE_
-static unsigned char *make_whitespace_lut (void)
-{
- if (WhiteSpace_Lut[' '] != 1)
- {
- WhiteSpace_Lut[' '] = WhiteSpace_Lut['\r']
- = WhiteSpace_Lut ['\n'] = WhiteSpace_Lut['\t']
- = WhiteSpace_Lut ['\f'] = 1;
- }
- return WhiteSpace_Lut;
-}
-
-static unsigned char *make_lut (unsigned char *s, unsigned char *lut)
-{
- int reverse = 0;
-
- if (*s == '^')
- {
- reverse = 1;
- s++;
- }
- SLmake_lut (lut, s, reverse);
- return lut;
-}
-
-static unsigned int do_trim (char **beg, int do_beg,
- char **end, int do_end,
- char *white) /*{{{*/
-{
- unsigned int len;
- char *a, *b;
-
- set_utility_char_table (white);
-
- a = *beg;
- len = strlen (a);
- b = a + len;
-
- if (do_beg)
- while (Utility_Char_Table[(unsigned char) *a]) a++;
-
- if (do_end)
- {
- b--;
- while ((b >= a) && (Utility_Char_Table[(unsigned char) *b])) b--;
- b++;
- }
-
- len = (unsigned int) (b - a);
- *beg = a;
- *end = b;
- return len;
-}
-
-/*}}}*/
-
-/*}}}*/
-
-static int pop_3_strings (char **a, char **b, char **c)
-{
- *a = *b = *c = NULL;
- if (-1 == SLpop_string (c))
- return -1;
-
- if (-1 == SLpop_string (b))
- {
- SLfree (*c);
- *c = NULL;
- return -1;
- }
-
- if (-1 == SLpop_string (a))
- {
- SLfree (*b);
- SLfree (*c);
- *b = *c = NULL;
- return -1;
- }
-
- return 0;
-}
-
-static void free_3_strings (char *a, char *b, char *c)
-{
- SLfree (a);
- SLfree (b);
- SLfree (c);
-}
-
-static void strcat_cmd (void) /*{{{*/
-{
- char *c, *c1;
- int nargs;
- int i;
- char **ptrs;
- unsigned int len;
-#if !USE_ALLOC_STSTRING
- char buf[256];
-#endif
- nargs = SLang_Num_Function_Args;
- if (nargs <= 0) nargs = 2;
-
- if (NULL == (ptrs = (char **)SLmalloc (nargs * sizeof (char *))))
- return;
-
- memset ((char *) ptrs, 0, sizeof (char *) * nargs);
-
- c = NULL;
- i = nargs;
- len = 0;
- while (i != 0)
- {
- char *s;
-
- i--;
- if (-1 == SLang_pop_slstring (&s))
- goto free_and_return;
- ptrs[i] = s;
- len += strlen (s);
- }
-#if USE_ALLOC_STSTRING
- if (NULL == (c = _SLallocate_slstring (len)))
- goto free_and_return;
-#else
- len++; /* \0 char */
- if (len <= sizeof (buf))
- c = buf;
- else if (NULL == (c = SLmalloc (len)))
- goto free_and_return;
-#endif
-
- c1 = c;
- for (i = 0; i < nargs; i++)
- {
- strcpy (c1, ptrs[i]);
- c1 += strlen (c1);
- }
-
- free_and_return:
- for (i = 0; i < nargs; i++)
- SLang_free_slstring (ptrs[i]);
- SLfree ((char *) ptrs);
-
-#if USE_ALLOC_STSTRING
- (void) _SLpush_alloced_slstring (c, len);
-#else
- if (c != buf)
- (void) SLang_push_malloced_string (c); /* NULL ok */
- else
- (void) SLang_push_string (c);
-#endif
-}
-
-/*}}}*/
-
-static int _SLang_push_nstring (char *a, unsigned int len)
-{
- a = SLang_create_nslstring (a, len);
- if (a == NULL)
- return -1;
-
- return _SLang_push_slstring (a);
-}
-
-
-static void strtrim_cmd_internal (char *str, int do_beg, int do_end)
-{
- char *beg, *end, *white;
- int free_str;
- unsigned int len;
-
- /* Go through SLpop_string to get a private copy since it will be
- * modified.
- */
-
- free_str = 0;
- if (SLang_Num_Function_Args == 2)
- {
- white = str;
- if (-1 == SLang_pop_slstring (&str))
- return;
- free_str = 1;
- }
- else white = " \t\f\r\n";
-
- beg = str;
- len = do_trim (&beg, do_beg, &end, do_end, white);
-
- (void) _SLang_push_nstring (beg, len);
- if (free_str)
- SLang_free_slstring (str);
-}
-
-
-static void strtrim_cmd (char *str)
-{
- strtrim_cmd_internal (str, 1, 1);
-}
-
-static void strtrim_beg_cmd (char *str)
-{
- strtrim_cmd_internal (str, 1, 0);
-}
-
-static void strtrim_end_cmd (char *str)
-{
- strtrim_cmd_internal (str, 0, 1);
-}
-
-
-static void strcompress_cmd (void) /*{{{*/
-{
- char *str, *white, *c;
- unsigned char *s, *beg, *end;
- unsigned int len;
- char pref_char;
-
- if (SLpop_string (&white)) return;
- if (SLpop_string (&str))
- {
- SLfree (white);
- return;
- }
-
- /* The first character of white is the preferred whitespace character */
- pref_char = *white;
-
- beg = (unsigned char *) str;
- (void) do_trim ((char **) &beg, 1, (char **) &end, 1, white);
- SLfree (white);
-
- /* Determine the effective length */
- len = 0;
- s = (unsigned char *) beg;
- while (s < end)
- {
- len++;
- if (Utility_Char_Table[*s++])
- {
- while ((s < end) && Utility_Char_Table[*s]) s++;
- }
- }
-
-#if USE_ALLOC_STSTRING
- c = _SLallocate_slstring (len);
-#else
- c = SLmalloc (len + 1);
-#endif
- if (c == NULL)
- {
- SLfree (str);
- return;
- }
-
- s = (unsigned char *) c;
-
- while (beg < end)
- {
- unsigned char ch = *beg++;
-
- if (0 == Utility_Char_Table[ch])
- {
- *s++ = ch;
- continue;
- }
-
- *s++ = (unsigned char) pref_char;
-
- while ((beg < end) && Utility_Char_Table[*beg])
- beg++;
- }
-
- *s = 0;
-
-#if USE_ALLOC_STSTRING
- (void) _SLpush_alloced_slstring (c, len);
-#else
- SLang_push_malloced_string(c);
-#endif
-
- SLfree(str);
-}
-
-/*}}}*/
-
-static int str_replace_cmd_1 (char *orig, char *match, char *rep, unsigned int max_num_replaces,
- char **new_strp) /*{{{*/
-{
- char *s, *t, *new_str;
- unsigned int rep_len, match_len, new_len;
- unsigned int num_replaces;
-
- *new_strp = NULL;
-
- match_len = strlen (match);
-
- if (match_len == 0)
- return 0;
-
- num_replaces = 0;
- s = orig;
- while (num_replaces < max_num_replaces)
- {
- s = strstr (s, match);
- if (s == NULL)
- break;
- s += match_len;
- num_replaces++;
- }
-
- if (num_replaces == 0)
- return 0;
-
- max_num_replaces = num_replaces;
-
- rep_len = strlen (rep);
-
- new_len = (strlen (orig) - num_replaces * match_len) + num_replaces * rep_len;
- new_str = SLmalloc (new_len + 1);
- if (new_str == NULL)
- return -1;
-
- s = orig;
- t = new_str;
-
- for (num_replaces = 0; num_replaces < max_num_replaces; num_replaces++)
- {
- char *next_s;
- unsigned int len;
-
- next_s = strstr (s, match); /* cannot be NULL */
- len = (unsigned int) (next_s - s);
- strncpy (t, s, len);
- t += len;
- strcpy (t, rep);
- t += rep_len;
-
- s = next_s + match_len;
- }
- strcpy (t, s);
- *new_strp = new_str;
-
- return (int) num_replaces;
-}
-
-/*}}}*/
-
-static void reverse_string (char *a)
-{
- char *b;
-
- b = a + strlen (a);
- while (b > a)
- {
- char ch;
-
- b--;
- ch = *a;
- *a++ = *b;
- *b = ch;
- }
-}
-
-static int strreplace_cmd (int *np)
-{
- char *orig, *match, *rep;
- char *new_str;
- int max_num_replaces;
- int ret;
-
- max_num_replaces = *np;
-
- if (-1 == pop_3_strings (&orig, &match, &rep))
- return -1;
-
- if (max_num_replaces < 0)
- {
- reverse_string (orig);
- reverse_string (match);
- reverse_string (rep);
- ret = str_replace_cmd_1 (orig, match, rep, -max_num_replaces, &new_str);
- if (ret > 0) reverse_string (new_str);
- else if (ret == 0)
- reverse_string (orig);
- }
- else ret = str_replace_cmd_1 (orig, match, rep, max_num_replaces, &new_str);
-
- if (ret == 0)
- {
- if (-1 == SLang_push_malloced_string (orig))
- ret = -1;
- orig = NULL;
- }
- else if (ret > 0)
- {
- if (-1 == SLang_push_malloced_string (new_str))
- ret = -1;
- }
-
- free_3_strings (orig, match, rep);
- return ret;
-}
-
-static int str_replace_cmd (char *orig, char *match, char *rep)
-{
- char *s;
- int ret;
-
- ret = str_replace_cmd_1 (orig, match, rep, 1, &s);
- if (ret == 1)
- (void) SLang_push_malloced_string (s);
- return ret;
-}
-
-
-
-static void strtok_cmd (char *str)
-{
- _SLString_List_Type sl;
- unsigned char white_buf[256];
- char *s;
- unsigned char *white;
-
- if (SLang_Num_Function_Args == 1)
- white = make_whitespace_lut ();
- else
- {
- white = white_buf;
- make_lut ((unsigned char *)str, white);
- if (-1 == SLang_pop_slstring (&str))
- return;
- }
-
- if (-1 == _SLstring_list_init (&sl, 256, 1024))
- goto the_return;
-
- s = str;
- while (*s != 0)
- {
- char *s0;
-
- s0 = s;
- /* Skip whitespace */
- while ((*s0 != 0) && (0 != white[(unsigned char)*s0]))
- s0++;
-
- if (*s0 == 0)
- break;
-
- s = s0;
- while ((*s != 0) && (0 == white[(unsigned char) *s]))
- s++;
-
- /* sl deleted upon failure */
- if (-1 == _SLstring_list_append (&sl, SLang_create_nslstring (s0, (unsigned int) (s - s0))))
- goto the_return;
- }
-
- /* Deletes sl */
- (void) _SLstring_list_push (&sl);
-
- the_return:
- if (white == white_buf)
- SLang_free_slstring (str);
-}
-
-/* This routine returns the string with text removed between single character
- comment delimiters from the set b and e. */
-
-static void str_uncomment_string_cmd (char *str, char *b, char *e) /*{{{*/
-{
- unsigned char chb, che;
- unsigned char *s, *cbeg, *mark;
-
- if (strlen(b) != strlen(e))
- {
- SLang_doerror ("Comment delimiter length mismatch.");
- return;
- }
-
- set_utility_char_table (b);
-
- if (NULL == (str = (char *) SLmake_string(str))) return;
-
- s = (unsigned char *) str;
-
- while ((chb = *s++) != 0)
- {
- if (Utility_Char_Table [chb] == 0) continue;
-
- mark = s - 1;
-
- cbeg = (unsigned char *) b;
- while (*cbeg != chb) cbeg++;
-
- che = (unsigned char) *(e + (int) (cbeg - (unsigned char *) b));
-
- while (((chb = *s++) != 0) && (chb != che));
-
- if (chb == 0)
- {
- /* end of string and end not found. Just truncate it a return; */
- *mark = 0;
- break;
- }
-
- strcpy ((char *) mark, (char *)s);
- s = mark;
- }
- SLang_push_malloced_string (str);
-}
-
-/*}}}*/
-
-static void str_quote_string_cmd (char *str, char *quotes, int *slash_ptr) /*{{{*/
-{
- char *q;
- int slash;
- unsigned int len;
- register char *t, *s, *q1;
- register unsigned char ch;
-
- slash = *slash_ptr;
-
- if ((slash > 255) || (slash < 0))
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- /* setup the utility table to have 1s at quote char postitions. */
- set_utility_char_table (quotes);
-
- t = Utility_Char_Table;
- t[(unsigned int) slash] = 1;
-
- /* calculate length */
- s = str;
- len = 0;
- while ((ch = (unsigned char) *s++) != 0) if (t[ch]) len++;
- len += (unsigned int) (s - str);
-
- if (NULL != (q = SLmalloc(len)))
- {
- s = str; q1 = q;
- while ((ch = (unsigned char) *s++) != 0)
- {
- if (t[ch]) *q1++ = slash;
- *q1++ = (char) ch;
- }
- *q1 = 0;
- SLang_push_malloced_string(q);
- }
-}
-
-/*}}}*/
-
-/* returns the position of substrin in a string or null */
-static int issubstr_cmd (char *a, char *b) /*{{{*/
-{
- char *c;
-
- if (NULL == (c = (char *) strstr(a, b)))
- return 0;
-
- return 1 + (int) (c - a);
-}
-
-/*}}}*/
-
-/* returns to stack string at pos n to n + m of a */
-static void substr_cmd (char *a, int *n_ptr, int *m_ptr) /*{{{*/
-{
- int n, m;
- int lena;
-
- n = *n_ptr;
- m = *m_ptr;
-
- lena = strlen (a);
- if (n > lena) n = lena + 1;
- if (n < 1)
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- n--;
- if (m < 0) m = lena;
- if (n + m > lena) m = lena - n;
-
- (void) _SLang_push_nstring (a + n, (unsigned int) m);
-}
-
-/*}}}*/
-
-/* substitute char m at positin string n in string*/
-static void strsub_cmd (int *nptr, int *mptr) /*{{{*/
-{
- char *a;
- int n, m;
- unsigned int lena;
-
- if (-1 == SLpop_string (&a))
- return;
-
- n = *nptr;
- m = *mptr;
-
- lena = strlen (a);
-
- if ((n <= 0) || (lena < (unsigned int) n))
- {
- SLang_Error = SL_INVALID_PARM;
- SLfree(a);
- return;
- }
-
- a[n - 1] = (char) m;
-
- SLang_push_malloced_string (a);
-}
-
-/*}}}*/
-
-static void strup_cmd(void) /*{{{*/
-{
- unsigned char c, *a;
- char *str;
-
- if (SLpop_string (&str))
- return;
-
- a = (unsigned char *) str;
- while ((c = *a) != 0)
- {
- /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
- *a = UPPER_CASE(c);
- a++;
- }
-
- SLang_push_malloced_string (str);
-}
-
-/*}}}*/
-
-static int isdigit_cmd (char *what) /*{{{*/
-{
- return isdigit((unsigned char)*what);
-}
-
-/*}}}*/
-static int toupper_cmd (int *ch) /*{{{*/
-{
- return UPPER_CASE(*ch);
-}
-
-/*}}}*/
-
-static int tolower_cmd (int *ch) /*{{{*/
-{
- return LOWER_CASE(*ch);
-}
-
-/*}}}*/
-
-static void strlow_cmd (void) /*{{{*/
-{
- unsigned char c, *a;
- char *str;
-
- if (SLpop_string(&str)) return;
- a = (unsigned char *) str;
- while ((c = *a) != 0)
- {
- /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
- *a = LOWER_CASE(c);
- a++;
- }
-
- SLang_push_malloced_string ((char *) str);
-}
-
-/*}}}*/
-
-static SLang_Array_Type *do_strchop (char *str, int delim, int quote)
-{
- int count;
- char *s0, *elm;
- register char *s1;
- register unsigned char ch;
- int quoted;
- SLang_Array_Type *at;
- char **data;
-
- if ((quote < 0) || (quote > 255)
- || (delim <= 0) || (delim > 255))
- {
- SLang_Error = SL_INVALID_PARM;
- return NULL;
- }
-
- s1 = s0 = str;
-
- quoted = 0;
- count = 1; /* at least 1 */
- while (1)
- {
- ch = (unsigned char) *s1++;
- if ((ch == quote) && quote)
- {
- if (*s1 == 0)
- break;
-
- s1++;
- continue;
- }
-
- if (ch == delim)
- {
- count++;
- continue;
- }
-
- if (ch == 0)
- break;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &count, 1)))
- return NULL;
-
- data = (char **)at->data;
-
- count = 0;
- s1 = s0;
-
- while (1)
- {
- ch = (unsigned char) *s1;
-
- if ((ch == quote) && quote)
- {
- s1++;
- if (*s1 != 0) s1++;
- quoted = 1;
- continue;
- }
-
- if ((ch == delim) || (ch == 0))
- {
- if (quoted == 0)
- elm = SLang_create_nslstring (s0, (unsigned int) (s1 - s0));
- else
- {
- register char ch1, *p, *p1;
- char *tmp;
-
- tmp = SLmake_nstring (s0, (unsigned int)(s1 - s0));
- if (tmp == NULL)
- break;
-
- /* Now unquote it */
- p = p1 = tmp;
- do
- {
- ch1 = *p1++;
- if (ch1 == '\\') ch1 = *p1++;
- *p++ = ch1;
- }
- while (ch1 != 0);
- quoted = 0;
-
- elm = SLang_create_slstring (tmp);
- SLfree (tmp);
- }
-
- if (elm == NULL)
- break;
-
- data[count] = elm;
- count++;
-
- if (ch == 0)
- return at;
-
- s1++; /* skip past delim */
- s0 = s1; /* and reset */
- }
- else s1++;
- }
-
- SLang_free_array (at);
- return NULL;
-}
-
-static void strchop_cmd (char *str, int *q, int *d)
-{
- (void) SLang_push_array (do_strchop (str, *q, *d), 1);
-}
-
-static void strchopr_cmd (char *str, int *q, int *d)
-{
- SLang_Array_Type *at;
-
- if (NULL != (at = do_strchop (str, *q, *d)))
- {
- char **d0, **d1;
-
- d0 = (char **) at->data;
- d1 = d0 + (at->num_elements - 1);
-
- while (d0 < d1)
- {
- char *tmp;
-
- tmp = *d0;
- *d0 = *d1;
- *d1 = tmp;
- d0++;
- d1--;
- }
- }
- SLang_push_array (at, 1);
-}
-
-static int strcmp_cmd (char *a, char *b) /*{{{*/
-{
- return strcmp(a, b);
-}
-
-/*}}}*/
-
-static int strncmp_cmd (char *a, char *b, int *n) /*{{{*/
-{
- return strncmp(a, b, (unsigned int) *n);
-}
-
-/*}}}*/
-
-static int strlen_cmd (char *s) /*{{{*/
-{
- return (int) strlen (s);
-}
-/*}}}*/
-
-static void extract_element_cmd (char *list, int *nth_ptr, int *delim_ptr)
-{
- char buf[1024], *b;
-
- b = buf;
- if (-1 == SLextract_list_element (list, *nth_ptr, *delim_ptr, buf, sizeof(buf)))
- b = NULL;
-
- SLang_push_string (b);
-}
-
-/* sprintf functionality for S-Lang */
-
-static char *SLdo_sprintf (char *fmt) /*{{{*/
-{
- register char *p = fmt, ch;
- char *out = NULL, *outp = NULL;
- char dfmt[1024]; /* used to hold part of format */
- char *f;
- VOID_STAR varp;
- int want_width, width, precis, use_varp, int_var;
- long long_var;
- unsigned int len = 0, malloc_len = 0, dlen;
- int do_free, guess_size;
-#if SLANG_HAS_FLOAT
- int tmp1, tmp2, use_double;
- double x;
-#endif
- int use_long = 0;
-
- while (1)
- {
- while ((ch = *p) != 0)
- {
- if (ch == '%')
- break;
- p++;
- }
-
- /* p points at '%' or 0 */
-
- dlen = (unsigned int) (p - fmt);
-
- if (len + dlen >= malloc_len)
- {
- malloc_len = len + dlen;
- if (out == NULL) outp = SLmalloc(malloc_len + 1);
- else outp = SLrealloc(out, malloc_len + 1);
- if (NULL == outp)
- return out;
- out = outp;
- outp = out + len;
- }
-
- strncpy(outp, fmt, dlen);
- len += dlen;
- outp = out + len;
- *outp = 0;
- if (ch == 0) break;
-
- /* bump it beyond '%' */
- ++p;
- fmt = p;
-
- f = dfmt;
- *f++ = ch;
- /* handle flag char */
- ch = *p++;
-
- /* Make sure cases such as "% #g" can be handled. */
- if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
- {
- *f++ = ch;
- ch = *p++;
- if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
- {
- *f++ = ch;
- ch = *p++;
- }
- }
-
-
- /* width */
- /* I have got to parse it myself so that I can see how big it needs
- * to be.
- */
- want_width = width = 0;
- if (ch == '*')
- {
- if (SLang_pop_integer(&width)) return (out);
- want_width = 1;
- ch = *p++;
- }
- else
- {
- if (ch == '0')
- {
- *f++ = '0';
- ch = *p++;
- }
-
- while ((ch <= '9') && (ch >= '0'))
- {
- width = width * 10 + (ch - '0');
- ch = *p++;
- want_width = 1;
- }
- }
-
- if (want_width)
- {
- sprintf(f, "%d", width);
- f += strlen (f);
- }
- precis = 0;
- /* precision -- also indicates max number of chars from string */
- if (ch == '.')
- {
- *f++ = ch;
- ch = *p++;
- want_width = 0;
- if (ch == '*')
- {
- if (SLang_pop_integer(&precis)) return (out);
- ch = *p++;
- want_width = 1;
- }
- else while ((ch <= '9') && (ch >= '0'))
- {
- precis = precis * 10 + (ch - '0');
- ch = *p++;
- want_width = 1;
- }
- if (want_width)
- {
- sprintf(f, "%d", precis);
- f += strlen (f);
- }
- else precis = 0;
- }
-
- long_var = 0;
- int_var = 0;
- varp = NULL;
- guess_size = 32;
-#if SLANG_HAS_FLOAT
- use_double = 0;
-#endif
- use_long = 0;
- use_varp = 0;
- do_free = 0;
-
- if (ch == 'l')
- {
- use_long = 1;
- ch = *p++;
- }
- else if (ch == 'h') ch = *p++; /* not supported */
-
- /* Now the actual format specifier */
- switch (ch)
- {
- case 'S':
- _SLstring_intrinsic ();
- ch = 's';
- /* drop */
- case 's':
- if (SLang_pop_slstring((char **) &varp)) return (out);
- do_free = 1;
- guess_size = strlen((char *) varp);
- use_varp = 1;
- break;
-
- case '%':
- guess_size = 1;
- do_free = 0;
- use_varp = 1;
- varp = (VOID_STAR) "%";
- break;
-
- case 'c': guess_size = 1;
- use_long = 0;
- /* drop */
- case 'd':
- case 'i':
- case 'o':
- case 'u':
- case 'X':
- case 'x':
- if (SLang_pop_long (&long_var)) return(out);
- if (use_long == 0)
- int_var = (int) long_var;
- else
- *f++ = 'l';
- break;
-
- case 'f':
- case 'e':
- case 'g':
- case 'E':
- case 'G':
-#if SLANG_HAS_FLOAT
- if (SLang_pop_double(&x, &tmp1, &tmp2)) return (out);
- use_double = 1;
- guess_size = 256;
- (void) tmp1; (void) tmp2;
- use_long = 0;
- break;
-#endif
- case 'p':
- guess_size = 32;
- /* Pointer type?? Why?? */
- if (-1 == SLdo_pop ())
- return out;
- varp = (VOID_STAR) _SLStack_Pointer;
- use_varp = 1;
- use_long = 0;
- break;
-
- default:
- SLang_doerror("Invalid Format.");
- return(out);
- }
- *f++ = ch; *f = 0;
-
- width = width + precis;
- if (width > guess_size) guess_size = width;
-
- if (len + guess_size > malloc_len)
- {
- outp = (char *) SLrealloc(out, len + guess_size + 1);
- if (outp == NULL)
- {
- SLang_Error = SL_MALLOC_ERROR;
- return (out);
- }
- out = outp;
- outp = out + len;
- malloc_len = len + guess_size;
- }
-
- if (use_varp)
- {
- sprintf(outp, dfmt, varp);
- if (do_free) SLang_free_slstring ((char *)varp);
- }
-#if SLANG_HAS_FLOAT
- else if (use_double) sprintf(outp, dfmt, x);
-#endif
- else if (use_long) sprintf (outp, dfmt, long_var);
- else sprintf(outp, dfmt, int_var);
-
- len += strlen(outp);
- outp = out + len;
- fmt = p;
- }
-
- if (out != NULL)
- {
- outp = SLrealloc (out, (unsigned int) (outp - out) + 1);
- if (outp != NULL) out = outp;
- }
-
- return (out);
-}
-
-/*}}}*/
-
-int _SLstrops_do_sprintf_n (int n) /*{{{*/
-{
- char *p;
- char *fmt;
- SLang_Object_Type *ptr;
- int ofs;
-
- if (-1 == (ofs = SLreverse_stack (n + 1)))
- return -1;
-
- ptr = _SLRun_Stack + ofs;
-
- if (SLang_pop_slstring(&fmt))
- return -1;
-
- p = SLdo_sprintf (fmt);
- SLang_free_slstring (fmt);
-
- while (_SLStack_Pointer > ptr)
- SLdo_pop ();
-
- if (SLang_Error)
- {
- SLfree (p);
- return -1;
- }
-
- return SLang_push_malloced_string (p);
-}
-
-/*}}}*/
-
-static void sprintf_n_cmd (int *n)
-{
- _SLstrops_do_sprintf_n (*n);
-}
-
-static void sprintf_cmd (void)
-{
- _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
-}
-
-/* converts string s to a form that can be used in an eval */
-static void make_printable_string(char *s) /*{{{*/
-{
- unsigned int len;
- register char *s1 = s, ch, *ss1;
- char *ss;
-
- /* compute length */
- len = 3;
- while ((ch = *s1++) != 0)
- {
- if ((ch == '\n') || (ch == '\\') || (ch == '"')) len++;
- len++;
- }
-
- if (NULL == (ss = SLmalloc(len)))
- return;
-
- s1 = s;
- ss1 = ss;
- *ss1++ = '"';
- while ((ch = *s1++) != 0)
- {
- if (ch == '\n')
- {
- ch = 'n';
- *ss1++ = '\\';
- }
- else if ((ch == '\\') || (ch == '"'))
- {
- *ss1++ = '\\';
- }
- *ss1++ = ch;
- }
- *ss1++ = '"';
- *ss1 = 0;
- if (-1 == SLang_push_string (ss))
- SLfree (ss);
-}
-
-/*}}}*/
-
-static int is_list_element_cmd (char *list, char *elem, int *d_ptr)
-{
- char ch;
- int d, n;
- unsigned int len;
- char *lbeg, *lend;
-
- d = *d_ptr;
-
- len = strlen (elem);
-
- n = 1;
- lend = list;
-
- while (1)
- {
- lbeg = lend;
- while ((0 != (ch = *lend)) && (ch != (char) d)) lend++;
-
- if ((lbeg + len == lend)
- && (0 == strncmp (elem, lbeg, len)))
- break;
-
- if (ch == 0)
- {
- n = 0;
- break;
- }
- lend++; /* skip delim */
- n++;
- }
-
- return n;
-}
-
-/*}}}*/
-
-/* Regular expression routines for strings */
-static SLRegexp_Type regexp_reg;
-
-static int string_match_cmd (char *str, char *pat, int *nptr) /*{{{*/
-{
- int n;
- unsigned int len;
- unsigned char rbuf[512], *match;
-
- n = *nptr;
-
- regexp_reg.case_sensitive = 1;
- regexp_reg.buf = rbuf;
- regexp_reg.pat = (unsigned char *) pat;
- regexp_reg.buf_len = sizeof (rbuf);
-
- if (SLang_regexp_compile (&regexp_reg))
- {
- SLang_verror (SL_INVALID_PARM, "Unable to compile pattern");
- return -1;
- }
-
- n--;
- len = strlen(str);
- if ((n < 0) || ((unsigned int) n >= len))
- {
- /* SLang_Error = SL_INVALID_PARM; */
- return 0;
- }
-
- str += n;
- len -= n;
-
- if (NULL == (match = SLang_regexp_match((unsigned char *) str, len, &regexp_reg)))
- return 0;
-
- /* adjust offsets */
- regexp_reg.offset = n;
-
- return (1 + (int) ((char *) match - str));
-}
-
-/*}}}*/
-
-static int string_match_nth_cmd (int *nptr) /*{{{*/
-{
- int n, beg;
-
- n = *nptr;
-
- if ((n < 0) || (n > 9) || (regexp_reg.pat == NULL)
- || ((beg = regexp_reg.beg_matches[n]) == -1))
- {
- SLang_Error = SL_INVALID_PARM;
- return -1;
- }
- SLang_push_integer(beg + regexp_reg.offset);
- return regexp_reg.end_matches[n];
-}
-
-/*}}}*/
-
-static char *create_delimited_string (char **list, unsigned int n,
- char *delim)
-{
- unsigned int len, dlen;
- unsigned int i;
- unsigned int num;
- char *str, *s;
-
- len = 1; /* allow room for \0 char */
- num = 0;
- for (i = 0; i < n; i++)
- {
- if (list[i] == NULL) continue;
- len += strlen (list[i]);
- num++;
- }
-
- dlen = strlen (delim);
- if (num > 1)
- len += (num - 1) * dlen;
-
- if (NULL == (str = SLmalloc (len)))
- return NULL;
-
- *str = 0;
- s = str;
- i = 0;
-
- while (num > 1)
- {
- while (list[i] == NULL)
- i++;
-
- strcpy (s, list[i]);
- s += strlen (list[i]);
- strcpy (s, delim);
- s += dlen;
- i++;
- num--;
- }
-
- if (num)
- {
- while (list[i] == NULL)
- i++;
-
- strcpy (s, list[i]);
- }
-
- return str;
-}
-
-static void create_delimited_string_cmd (int *nptr)
-{
- unsigned int n, i;
- char **strings;
- char *str;
-
- str = NULL;
-
- n = 1 + (unsigned int) *nptr; /* n includes delimiter */
-
- if (NULL == (strings = (char **)SLmalloc (n * sizeof (char *))))
- {
- SLdo_pop_n (n);
- return;
- }
- memset((char *)strings, 0, n * sizeof (char *));
-
- i = n;
- while (i != 0)
- {
- i--;
- if (-1 == SLang_pop_slstring (strings + i))
- goto return_error;
- }
-
- str = create_delimited_string (strings + 1, (n - 1), strings[0]);
- /* drop */
- return_error:
- for (i = 0; i < n; i++) SLang_free_slstring (strings[i]);
- SLfree ((char *)strings);
-
- (void) SLang_push_malloced_string (str); /* NULL Ok */
-}
-
-static void strjoin_cmd (char *delim)
-{
- SLang_Array_Type *at;
- char *str;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
- return;
-
- str = create_delimited_string ((char **)at->data, at->num_elements, delim);
- SLang_free_array (at);
- (void) SLang_push_malloced_string (str); /* NULL Ok */
-}
-
-static void str_delete_chars_cmd (char *s, char *d)
-{
- unsigned char lut[256];
- unsigned char *s1, *s2;
- unsigned char ch;
-
- make_lut ((unsigned char *)d, lut);
- if (NULL == (s = SLmake_string (s)))
- return;
-
- s1 = s2 = (unsigned char *) s;
- while ((ch = *s2++) != 0)
- {
- if (0 == lut[ch])
- *s1++ = ch;
- }
- *s1 = 0;
-
- (void) SLang_push_malloced_string (s);
-}
-
-static unsigned char *make_lut_string (unsigned char *s)
-{
- unsigned char lut[256];
- unsigned char *l;
- unsigned int i;
-
- /* Complement-- a natural order is imposed */
- make_lut (s, lut);
- l = lut;
- for (i = 1; i < 256; i++)
- {
- if (lut[i])
- *l++ = (unsigned char) i;
- }
- *l = 0;
- return (unsigned char *) SLmake_string ((char *)lut);
-}
-
-static unsigned char *make_str_range (unsigned char *s)
-{
- unsigned char *s1, *range;
- unsigned int num;
- unsigned char ch;
- int len;
-
- if (*s == '^')
- return make_lut_string (s);
-
- num = 0;
- s1 = s;
- while ((ch = *s1++) != 0)
- {
- unsigned char ch1;
-
- ch1 = *s1;
- if (ch1 == '-')
- {
- s1++;
- ch1 = *s1;
- len = (int)ch1 - (int)ch;
- if (len < 0)
- len = -len;
-
- num += (unsigned int) len;
- if (ch1 != 0)
- s1++;
- }
-
- num++;
- }
-
- range = (unsigned char *)SLmalloc (num + 1);
- if (range == NULL)
- return NULL;
-
- s1 = s;
- s = range;
- while ((ch = *s1++) != 0)
- {
- unsigned char ch1;
- unsigned int i;
-
- ch1 = *s1;
- if (ch1 != '-')
- {
- *s++ = ch;
- continue;
- }
-
- s1++;
- ch1 = *s1;
-
- if (ch > ch1)
- {
- if (ch1 == 0)
- ch1 = 1;
-
- for (i = (unsigned int) ch; i >= (unsigned int) ch1; i--)
- *s++ = (unsigned char) i;
-
- if (*s1 == 0)
- break;
- }
- else
- {
- for (i = (unsigned int) ch; i <= (unsigned int) ch1; i++)
- *s++ = (unsigned char) i;
- }
- s1++;
- }
-
-#if 0
- if (range + num != s)
- SLang_verror (SL_INTERNAL_ERROR, "make_str_range: num wrong");
-#endif
- *s = 0;
-
- return range;
-}
-
-static void strtrans_cmd (char *s, unsigned char *from, unsigned char *to)
-{
- unsigned char map[256];
- char *s1;
- unsigned int i;
- unsigned char ch;
- unsigned char last_to;
- unsigned char *from_range, *to_range;
-
- for (i = 0; i < 256; i++) map[i] = (unsigned char) i;
-
- if (*to == 0)
- {
- str_delete_chars_cmd (s, (char *)from);
- return;
- }
-
- from_range = make_str_range (from);
- if (from_range == NULL)
- return;
- to_range = make_str_range (to);
- if (to_range == NULL)
- {
- SLfree ((char *)from_range);
- return;
- }
-
- from = from_range;
- to = to_range;
-
- last_to = 0;
- while ((ch = *from++) != 0)
- {
- unsigned char to_ch;
-
- if (0 == (to_ch = *to++))
- {
- do
- {
- map[ch] = last_to;
- }
- while (0 != (ch = *from++));
- break;
- }
-
- last_to = map[ch] = to_ch;
- }
-
- SLfree ((char *)from_range);
- SLfree ((char *)to_range);
-
- s = SLmake_string (s);
- if (s == NULL)
- return;
-
- s1 = s;
- while ((ch = (unsigned char) *s1) != 0)
- *s1++ = (char) map[ch];
-
- (void) SLang_push_malloced_string (s);
-}
-
-
-static SLang_Intrin_Fun_Type Strops_Table [] = /*{{{*/
-{
- MAKE_INTRINSIC_I("create_delimited_string", create_delimited_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("strcmp", strcmp_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSI("strncmp", strncmp_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strcat", strcat_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strlen", strlen_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SII("strchop", strchop_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SII("strchopr", strchopr_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("strreplace", strreplace_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSS("str_replace", str_replace_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SII("substr", substr_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("is_substr", issubstr_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_II("strsub", strsub_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SII("extract_element", extract_element_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSI("is_list_element", is_list_element_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_SSI("string_match", string_match_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("string_match_nth", string_match_nth_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strlow", strlow_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("tolower", tolower_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_I("toupper", toupper_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_0("strup", strup_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("isdigit", isdigit_cmd, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("strtrim", strtrim_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtrim_end", strtrim_end_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtrim_beg", strtrim_beg_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("strcompress", strcompress_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_I("Sprintf", sprintf_n_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("sprintf", sprintf_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("sscanf", _SLang_sscanf, SLANG_INT_TYPE),
- MAKE_INTRINSIC_S("make_printable_string", make_printable_string, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSI("str_quote_string", str_quote_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSS("str_uncomment_string", str_uncomment_string_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_II("define_case", SLang_define_case, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strtok", strtok_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_S("strjoin", strjoin_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SSS("strtrans", strtrans_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_SS("str_delete_chars", str_delete_chars_cmd, SLANG_VOID_TYPE),
-
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-/*}}}*/
-
-int _SLang_init_slstrops (void)
-{
- return SLadd_intrin_fun_table (Strops_Table, NULL);
-}
diff --git a/mdk-stage1/slang/slstruct.c b/mdk-stage1/slang/slstruct.c
deleted file mode 100644
index 33d182373..000000000
--- a/mdk-stage1/slang/slstruct.c
+++ /dev/null
@@ -1,932 +0,0 @@
-/* Structure type implementation */
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#define SL_APP_WANTS_FOREACH
-#include "slang.h"
-#include "_slang.h"
-
-void _SLstruct_delete_struct (_SLang_Struct_Type *s)
-{
- _SLstruct_Field_Type *field, *field_max;
-
- if (s == NULL) return;
-
- if (s->num_refs > 1)
- {
- s->num_refs -= 1;
- return;
- }
-
- field = s->fields;
- if (field != NULL)
- {
- field_max = field + s->nfields;
-
- while (field < field_max)
- {
- SLang_free_object (&field->obj);
- SLang_free_slstring (field->name); /* could be NULL */
- field++;
- }
- SLfree ((char *) s->fields);
- }
- SLfree ((char *) s);
-}
-
-static _SLang_Struct_Type *allocate_struct (unsigned int nfields)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- unsigned int i, size;
-
- s = (_SLang_Struct_Type *) SLmalloc (sizeof (_SLang_Struct_Type));
- if (s == NULL) return NULL;
-
- SLMEMSET((char *) s, 0, sizeof (_SLang_Struct_Type));
-
- size = nfields * sizeof(_SLstruct_Field_Type);
- if (NULL == (f = (_SLstruct_Field_Type *) SLmalloc (size)))
- {
- SLfree ((char *) s);
- return NULL;
- }
- SLMEMSET ((char *) f, 0, size);
- s->nfields = nfields;
- s->fields = f;
-
- /* By default, all structs will be created with elements set to NULL. I
- * do not know whether or not it is better to use SLANG_UNDEFINED_TYPE.
- */
- for (i = 0; i < nfields; i++)
- f[i].obj.data_type = SLANG_NULL_TYPE;
-
- return s;
-}
-
-static int push_struct_of_type (unsigned char type, _SLang_Struct_Type *s)
-{
- SLang_Object_Type obj;
-
- obj.data_type = type;
- obj.v.struct_val = s;
- s->num_refs += 1;
-
- if (0 == SLang_push (&obj))
- return 0;
-
- s->num_refs -= 1;
- return -1;
-}
-
-int _SLang_push_struct (_SLang_Struct_Type *s)
-{
- return push_struct_of_type (SLANG_STRUCT_TYPE, s);
-}
-
-int _SLang_pop_struct (_SLang_Struct_Type **sp)
-{
- SLang_Object_Type obj;
- SLang_Class_Type *cl;
- unsigned char type;
-
- if (0 != SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
- if (type != SLANG_STRUCT_TYPE)
- {
- cl = _SLclass_get_class (type);
- if (cl->cl_struct_def == NULL)
- {
- *sp = NULL;
- SLang_free_object (&obj);
- SLang_verror (SL_TYPE_MISMATCH,
- "Expecting struct type object. Found %s",
- cl->cl_name);
- return -1;
- }
- }
-
- *sp = obj.v.struct_val;
- return 0;
-}
-
-static void struct_destroy (unsigned char type, VOID_STAR vs)
-{
- (void) type;
- _SLstruct_delete_struct (*(_SLang_Struct_Type **) vs);
-}
-
-static int struct_push (unsigned char type, VOID_STAR ptr)
-{
- return push_struct_of_type (type, *(_SLang_Struct_Type **) ptr);
-}
-
-static _SLstruct_Field_Type *find_field (_SLang_Struct_Type *s, char *name)
-{
- _SLstruct_Field_Type *f, *fmax;
-
- f = s->fields;
- fmax = f + s->nfields;
-
- while (f < fmax)
- {
- /* Since both these are slstrings, only compare pointer */
- if (name == f->name)
- return f;
-
- f++;
- }
-
- return NULL;
-}
-
-static _SLstruct_Field_Type *pop_field (_SLang_Struct_Type *s, char *name)
-{
- _SLstruct_Field_Type *f;
-
- f = find_field (s, name);
- if (f == NULL)
- SLang_verror (SL_SYNTAX_ERROR, "struct has no field named %s", name);
- return f;
-}
-
-int SLstruct_create_struct (unsigned int nfields,
- char **field_names,
- unsigned char *field_types,
- VOID_STAR *field_values)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- unsigned int i;
-
- if (NULL == (s = allocate_struct (nfields)))
- return -1;
-
- f = s->fields;
- for (i = 0; i < nfields; i++)
- {
- unsigned char type;
- SLang_Class_Type *cl;
- VOID_STAR value;
- char *name = field_names [i];
-
- if (name == NULL)
- {
- SLang_verror (SL_INVALID_PARM, "A struct field name cannot be NULL");
- goto return_error;
- }
-
- if (NULL == (f->name = SLang_create_slstring (name)))
- goto return_error;
-
- if ((field_values == NULL)
- || (NULL == (value = field_values [i])))
- {
- f++;
- continue;
- }
-
- type = field_types[i];
- cl = _SLclass_get_class (type);
-
- if ((-1 == (cl->cl_push (type, value)))
- || (-1 == SLang_pop (&f->obj)))
- goto return_error;
-
- f++;
- }
-
- if (0 == _SLang_push_struct (s))
- return 0;
- /* drop */
-
- return_error:
- _SLstruct_delete_struct (s);
- return -1;
-}
-
-/* Interpreter interface */
-
-int _SLstruct_define_struct (void)
-{
- int nfields;
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- if (-1 == SLang_pop_integer (&nfields))
- return -1;
-
- if (nfields <= 0)
- {
- SLang_verror (SL_INVALID_PARM, "Number of struct fields must be > 0");
- return -1;
- }
-
- if (NULL == (s = allocate_struct (nfields)))
- return -1;
-
- f = s->fields;
- while (nfields)
- {
- char *name;
-
- nfields--;
- if (-1 == SLang_pop_slstring (&name))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
- f[nfields].name = name;
- }
-
- if (-1 == _SLang_push_struct (s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
- return 0;
-}
-
-/* Simply make a struct that contains the same fields as struct s. Do not
- * duplicate the field values.
- */
-static _SLang_Struct_Type *make_struct_shell (_SLang_Struct_Type *s)
-{
- _SLang_Struct_Type *new_s;
- _SLstruct_Field_Type *new_f, *old_f;
- unsigned int i, nfields;
-
- nfields = s->nfields;
- if (NULL == (new_s = allocate_struct (nfields)))
- return NULL;
-
- new_f = new_s->fields;
- old_f = s->fields;
-
- for (i = 0; i < nfields; i++)
- {
- if (NULL == (new_f[i].name = SLang_create_slstring (old_f[i].name)))
- {
- _SLstruct_delete_struct (new_s);
- return NULL;
- }
- }
- return new_s;
-}
-
-static int struct_init_array_object (unsigned char type, VOID_STAR addr)
-{
- SLang_Class_Type *cl;
- _SLang_Struct_Type *s;
-
- cl = _SLclass_get_class (type);
- if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
- return -1;
-
- s->num_refs = 1;
- *(_SLang_Struct_Type **) addr = s;
- return 0;
-}
-
-static int
-typedefed_struct_datatype_deref (unsigned char type)
-{
- SLang_Class_Type *cl;
- _SLang_Struct_Type *s;
-
- cl = _SLclass_get_class (type);
- if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
- return -1;
-
- if (-1 == push_struct_of_type (type, s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- return 0;
-}
-
-static _SLang_Struct_Type *duplicate_struct (_SLang_Struct_Type *s)
-{
- _SLang_Struct_Type *new_s;
- _SLstruct_Field_Type *new_f, *f, *fmax;
-
- new_s = make_struct_shell (s);
-
- if (new_s == NULL)
- return NULL;
-
- f = s->fields;
- fmax = f + s->nfields;
- new_f = new_s->fields;
-
- while (f < fmax)
- {
- SLang_Object_Type *obj;
-
- obj = &f->obj;
- if (obj->data_type != SLANG_UNDEFINED_TYPE)
- {
- if ((-1 == _SLpush_slang_obj (obj))
- || (-1 == SLang_pop (&new_f->obj)))
- {
- _SLstruct_delete_struct (new_s);
- return NULL;
- }
- }
- new_f++;
- f++;
- }
-
- return new_s;
-}
-
-static int struct_dereference (unsigned char type, VOID_STAR addr)
-{
- _SLang_Struct_Type *s;
-
- if (NULL == (s = duplicate_struct (*(_SLang_Struct_Type **) addr)))
- return -1;
-
- if (-1 == push_struct_of_type (type, s))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- return 0;
-}
-
-/*{{{ foreach */
-
-struct _SLang_Foreach_Context_Type
-{
- _SLang_Struct_Type *s;
- char *next_field_name;
-};
-
-static SLang_Foreach_Context_Type *
-struct_foreach_open (unsigned char type, unsigned int num)
-{
- SLang_Foreach_Context_Type *c;
- _SLang_Struct_Type *s;
- char *next_name;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return NULL;
-
- switch (num)
- {
- case 0:
- next_name = SLang_create_slstring ("next");
- break;
-
- case 1:
- if (-1 == SLang_pop_slstring (&next_name))
- next_name = NULL;
- break;
-
- default:
- next_name = NULL;
- SLang_verror (SL_NOT_IMPLEMENTED,
- "'foreach (Struct_Type) using' requires single control value");
- SLdo_pop_n (num);
- break;
- }
-
- if (next_name == NULL)
- {
- _SLstruct_delete_struct (s);
- return NULL;
- }
-
- c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
- if (c == NULL)
- {
- _SLstruct_delete_struct (s);
- SLang_free_slstring (next_name);
- return NULL;
- }
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
-
- c->next_field_name = next_name;
- c->s = s;
-
- return c;
-}
-
-static void struct_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
-
- SLang_free_slstring (c->next_field_name);
- if (c->s != NULL) _SLstruct_delete_struct (c->s);
- SLfree ((char *) c);
-}
-
-static int struct_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- _SLstruct_Field_Type *f;
- _SLang_Struct_Type *next_s;
-
- (void) type;
-
- if (c == NULL)
- return -1;
-
- if (c->s == NULL)
- return 0; /* done */
-
- if (-1 == _SLang_push_struct (c->s))
- return -1;
-
- /* Now get the next one ready for the next foreach loop */
-
- next_s = NULL;
- if (NULL != (f = find_field (c->s, c->next_field_name)))
- {
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (f->obj.data_type);
- /* Note that I cannot simply look for SLANG_STRUCT_TYPE since the
- * user may have typedefed another struct type. So, look at the
- * class methods.
- */
- if (cl->cl_foreach_open == struct_foreach_open)
- {
- next_s = f->obj.v.struct_val;
- next_s->num_refs += 1;
- }
- }
-
- _SLstruct_delete_struct (c->s);
- c->s = next_s;
-
- /* keep going */
- return 1;
-}
-
-/*}}}*/
-
-static int struct_sput (unsigned char type, char *name)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- SLang_Object_Type obj;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return -1;
-
- if ((NULL == (f = pop_field (s, name)))
- || (-1 == SLang_pop (&obj)))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- SLang_free_object (&f->obj);
- f->obj = obj;
- _SLstruct_delete_struct (s);
- return 0;
-}
-
-static int struct_sget (unsigned char type, char *name)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- int ret;
-
- (void) type;
-
- if (-1 == _SLang_pop_struct (&s))
- return -1;
-
- if (NULL == (f = pop_field (s, name)))
- {
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- ret = _SLpush_slang_obj (&f->obj);
- _SLstruct_delete_struct (s);
- return ret;
-}
-
-static int struct_typecast
- (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- _SLang_Struct_Type **a, **b;
- unsigned int i;
-
- (void) a_type;
- (void) b_type;
-
- a = (_SLang_Struct_Type **) ap;
- b = (_SLang_Struct_Type **) bp;
- for (i = 0; i < na; i++)
- {
- b[i] = a[i];
- if (a[i] != NULL)
- a[i]->num_refs += 1;
- }
-
- return 1;
-}
-
-int _SLstruct_define_typedef (void)
-{
- char *type_name;
- _SLang_Struct_Type *s, *s1;
- SLang_Class_Type *cl;
-
- if (-1 == SLang_pop_slstring (&type_name))
- return -1;
-
- if (-1 == _SLang_pop_struct (&s))
- {
- SLang_free_slstring (type_name);
- return -1;
- }
-
- if (NULL == (s1 = make_struct_shell (s)))
- {
- SLang_free_slstring (type_name);
- _SLstruct_delete_struct (s);
- return -1;
- }
-
- _SLstruct_delete_struct (s);
-
- if (NULL == (cl = SLclass_allocate_class (type_name)))
- {
- SLang_free_slstring (type_name);
- _SLstruct_delete_struct (s1);
- return -1;
- }
- SLang_free_slstring (type_name);
-
- cl->cl_struct_def = s1;
- cl->cl_init_array_object = struct_init_array_object;
- cl->cl_datatype_deref = typedefed_struct_datatype_deref;
- cl->cl_destroy = struct_destroy;
- cl->cl_push = struct_push;
- cl->cl_dereference = struct_dereference;
- cl->cl_foreach_open = struct_foreach_open;
- cl->cl_foreach_close = struct_foreach_close;
- cl->cl_foreach = struct_foreach;
-
- cl->cl_sget = struct_sget;
- cl->cl_sput = struct_sput;
-
- if (-1 == SLclass_register_class (cl,
- SLANG_VOID_TYPE, /* any open slot */
- sizeof (_SLang_Struct_Type),
- SLANG_CLASS_TYPE_PTR))
- {
- /* FIXME: Priority=low */
- /* There is a memory leak here if this fails... */
- return -1;
- }
- /* Note: typecast from a user type struct type allowed but not the other
- * way.
- */
- if (-1 == SLclass_add_typecast (cl->cl_data_type, SLANG_STRUCT_TYPE, struct_typecast, 1))
- return -1;
-
- return 0;
-}
-
-static int
-struct_datatype_deref (unsigned char stype)
-{
- (void) stype;
-
- if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
- {
- SLang_Array_Type *at;
- int status;
-
- if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
- return -1;
-
- status = SLstruct_create_struct (at->num_elements,
- (char **) at->data, NULL, NULL);
-
- SLang_free_array (at);
- return status;
- }
-
- SLang_push_integer (SLang_Num_Function_Args);
- return _SLstruct_define_struct ();
-}
-
-static int register_struct (void)
-{
- SLang_Class_Type *cl;
-
- if (NULL == (cl = SLclass_allocate_class ("Struct_Type")))
- return -1;
-
- (void) SLclass_set_destroy_function (cl, struct_destroy);
- (void) SLclass_set_push_function (cl, struct_push);
- cl->cl_dereference = struct_dereference;
- cl->cl_datatype_deref = struct_datatype_deref;
-
- cl->cl_foreach_open = struct_foreach_open;
- cl->cl_foreach_close = struct_foreach_close;
- cl->cl_foreach = struct_foreach;
-
- cl->cl_sget = struct_sget;
- cl->cl_sput = struct_sput;
-
- if (-1 == SLclass_register_class (cl, SLANG_STRUCT_TYPE, sizeof (_SLang_Struct_Type),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- return 0;
-}
-
-static void get_struct_field_names (_SLang_Struct_Type *s)
-{
- SLang_Array_Type *a;
- char **data;
- int i, nfields;
- _SLstruct_Field_Type *f;
-
- nfields = (int) s->nfields;
-
- if (NULL == (a = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &nfields, 1)))
- return;
-
- f = s->fields;
- data = (char **) a->data;
- for (i = 0; i < nfields; i++)
- {
- /* Since we are dealing with hashed strings, the next call should not
- * fail. If it does, the interpreter will handle it at some other
- * level.
- */
- data [i] = SLang_create_slstring (f[i].name);
- }
-
- SLang_push_array (a, 1);
-}
-
-static int push_struct_fields (_SLang_Struct_Type *s)
-{
- _SLstruct_Field_Type *f, *fmax;
- int num;
-
- f = s->fields;
- fmax = f + s->nfields;
-
- num = 0;
- while (fmax > f)
- {
- fmax--;
- if (-1 == _SLpush_slang_obj (&fmax->obj))
- break;
-
- num++;
- }
-
- return num;
-}
-
-/* Syntax: set_struct_field (s, name, value); */
-static void struct_set_field (void)
-{
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
- SLang_Object_Type obj;
- char *name;
-
- if (-1 == SLang_pop (&obj))
- return;
-
- if (-1 == SLang_pop_slstring (&name))
- {
- SLang_free_object (&obj);
- return;
- }
-
- if (-1 == _SLang_pop_struct (&s))
- {
- SLang_free_slstring (name);
- SLang_free_object (&obj);
- return;
- }
-
- if (NULL == (f = pop_field (s, name)))
- {
- _SLstruct_delete_struct (s);
- SLang_free_slstring (name);
- SLang_free_object (&obj);
- return;
- }
-
- SLang_free_object (&f->obj);
- f->obj = obj;
-
- _SLstruct_delete_struct (s);
- SLang_free_slstring (name);
-}
-
-/* Syntax: set_struct_fields (s, values....); */
-static void set_struct_fields (void)
-{
- unsigned int n;
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- n = (unsigned int) SLang_Num_Function_Args;
-
- if (-1 == SLreverse_stack (n))
- return;
-
- n--;
- if (-1 == _SLang_pop_struct (&s))
- {
- SLdo_pop_n (n);
- return;
- }
-
- if (n > s->nfields)
- {
- SLdo_pop_n (n);
- SLang_verror (SL_INVALID_PARM, "Too many values for structure");
- _SLstruct_delete_struct (s);
- return;
- }
-
- f = s->fields;
- while (n > 0)
- {
- SLang_Object_Type obj;
-
- if (-1 == SLang_pop (&obj))
- break;
-
- SLang_free_object (&f->obj);
- f->obj = obj;
-
- f++;
- n--;
- }
-
- _SLstruct_delete_struct (s);
-}
-
-static void get_struct_field (char *name)
-{
- (void) struct_sget (0, name);
-}
-
-static int is_struct_type (void)
-{
- SLang_Object_Type obj;
- unsigned char type;
- int status;
-
- if (-1 == SLang_pop (&obj))
- return -1;
-
- type = obj.data_type;
- if (type == SLANG_STRUCT_TYPE)
- status = 1;
- else
- status = (NULL != _SLclass_get_class (type)->cl_struct_def);
- SLang_free_object (&obj);
- return status;
-}
-
-
-static SLang_Intrin_Fun_Type Struct_Table [] =
-{
- MAKE_INTRINSIC_1("get_struct_field_names", get_struct_field_names, SLANG_VOID_TYPE, SLANG_STRUCT_TYPE),
- MAKE_INTRINSIC_1("get_struct_field", get_struct_field, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("_push_struct_field_values", push_struct_fields, SLANG_INT_TYPE, SLANG_STRUCT_TYPE),
- MAKE_INTRINSIC_0("set_struct_field", struct_set_field, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("set_struct_fields", set_struct_fields, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("is_struct_type", is_struct_type, SLANG_INT_TYPE),
- /* MAKE_INTRINSIC_I("_create_struct", create_struct, SLANG_VOID_TYPE), */
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLstruct_init (void)
-{
- if ((-1 == SLadd_intrin_fun_table (Struct_Table, NULL))
- || (-1 == register_struct ()))
- return -1;
-
- return 0;
-}
-
-void _SLstruct_pop_args (int *np)
-{
- SLang_Array_Type *at;
- int i, n;
- _SLang_Struct_Type **data;
-
- n = *np;
-
- if (n < 0)
- {
- SLang_Error = SL_INVALID_PARM;
- return;
- }
-
- data = (_SLang_Struct_Type **) SLmalloc ((n + 1) * sizeof (_SLang_Struct_Type *));
- if (data == NULL)
- {
- SLdo_pop_n (n);
- return;
- }
-
- memset ((char *)data, 0, n * sizeof (_SLang_Struct_Type *));
-
- i = n;
- while (i > 0)
- {
- _SLang_Struct_Type *s;
- _SLstruct_Field_Type *f;
-
- i--;
-
- if (NULL == (s = allocate_struct (1)))
- goto return_error;
-
- data[i] = s;
- s->num_refs += 1; /* keeping a copy */
-
- f = s->fields;
- if (NULL == (f->name = SLang_create_slstring ("value")))
- goto return_error;
-
- if (-1 == SLang_pop (&f->obj))
- goto return_error;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRUCT_TYPE, 0,
- (VOID_STAR) data, &n, 1)))
- goto return_error;
-
- (void) SLang_push_array (at, 1);
- return;
-
- return_error:
- for (i = 0; i < n; i++)
- {
- _SLang_Struct_Type *s;
-
- s = data[i];
- if (s != NULL)
- _SLstruct_delete_struct (s);
- }
-
- SLfree ((char *) data);
-}
-
-void _SLstruct_push_args (SLang_Array_Type *at)
-{
- _SLang_Struct_Type **sp;
- unsigned int num;
-
- if (at->data_type != SLANG_STRUCT_TYPE)
- {
- SLang_Error = SL_TYPE_MISMATCH;
- return;
- }
-
- sp = (_SLang_Struct_Type **) at->data;
- num = at->num_elements;
-
- while ((SLang_Error == 0) && (num > 0))
- {
- _SLang_Struct_Type *s;
-
- num--;
- if (NULL == (s = *sp++))
- {
- SLang_push_null ();
- continue;
- }
-
- /* I should check to see if the value field is present, but... */
- (void) _SLpush_slang_obj (&s->fields->obj);
- }
-}
diff --git a/mdk-stage1/slang/sltermin.c b/mdk-stage1/slang/sltermin.c
deleted file mode 100644
index f9c64f0b2..000000000
--- a/mdk-stage1/slang/sltermin.c
+++ /dev/null
@@ -1,1155 +0,0 @@
-/* This file contains enough terminfo reading capabilities sufficient for
- * the slang SLtt interface.
- */
-
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-/*
- * The majority of the comments found in the file were taken from the
- * term(4) man page on an SGI.
- */
-
-/* Short integers are stored in two 8-bit bytes. The first byte contains
- * the least significant 8 bits of the value, and the second byte contains
- * the most significant 8 bits. (Thus, the value represented is
- * 256*second+first.) The value -1 is represented by 0377,0377, and the
- * value -2 is represented by 0376,0377; other negative values are illegal.
- * The -1 generally means that a capability is missing from this terminal.
- * The -2 means that the capability has been cancelled in the terminfo
- * source and also is to be considered missing.
- */
-
-static int make_integer (unsigned char *buf)
-{
- register int lo, hi;
- lo = (int) *buf++; hi = (int) *buf;
- if (hi == 0377)
- {
- if (lo == 0377) return -1;
- if (lo == 0376) return -2;
- }
- return lo + 256 * hi;
-}
-
-/*
- * The compiled file is created from the source file descriptions of the
- * terminals (see the -I option of infocmp) by using the terminfo compiler,
- * tic, and read by the routine setupterm [see curses(3X).] The file is
- * divided into six parts in the following order: the header, terminal
- * names, boolean flags, numbers, strings, and string table.
- *
- * The header section begins the file. This section contains six short
- * integers in the format described below. These integers are (1) the magic
- * number (octal 0432); (2) the size, in bytes, of the names section; (3)
- * the number of bytes in the boolean section; (4) the number of short
- * integers in the numbers section; (5) the number of offsets (short
- * integers) in the strings section; (6) the size, in bytes, of the string
- * table.
- */
-
-#define MAGIC 0432
-
-/* In this structure, all char * fields are malloced EXCEPT if the
- * structure is SLTERMCAP. In that case, only terminal_names is malloced
- * and the other fields are pointers into it.
- */
-struct _SLterminfo_Type
-{
-#define SLTERMINFO 1
-#define SLTERMCAP 2
- unsigned int flags;
-
- unsigned int name_section_size;
- char *terminal_names;
-
- unsigned int boolean_section_size;
- unsigned char *boolean_flags;
-
- unsigned int num_numbers;
- unsigned char *numbers;
-
- unsigned int num_string_offsets;
- unsigned char *string_offsets;
-
- unsigned int string_table_size;
- char *string_table;
-
-};
-
-static char *tcap_getstr (char *, SLterminfo_Type *);
-static int tcap_getnum (char *, SLterminfo_Type *);
-static int tcap_getflag (char *, SLterminfo_Type *);
-static int tcap_getent (char *, SLterminfo_Type *);
-
-static FILE *open_terminfo (char *file, SLterminfo_Type *h)
-{
- FILE *fp;
- unsigned char buf[12];
-
- /* Alan Cox reported a security problem here if the application using the
- * library is setuid. So, I need to make sure open the file as a normal
- * user. Unfortunately, there does not appear to be a portable way of
- * doing this, so I am going to use 'setfsgid' and 'setfsuid', which
- * are not portable.
- *
- * I will also look into the use of setreuid, seteuid and setregid, setegid.
- * FIXME: Priority=medium
- */
- fp = fopen (file, "rb");
- if (fp == NULL) return NULL;
-
- if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf))))
- {
- h->name_section_size = make_integer (buf + 2);
- h->boolean_section_size = make_integer (buf + 4);
- h->num_numbers = make_integer (buf + 6);
- h->num_string_offsets = make_integer (buf + 8);
- h->string_table_size = make_integer (buf + 10);
- }
- else
- {
- fclose (fp);
- fp = NULL;
- }
- return fp;
-}
-
-/*
- * The terminal names section comes next. It contains the first line of the
- * terminfo description, listing the various names for the terminal,
- * separated by the bar ( | ) character (see term(5)). The section is
- * terminated with an ASCII NUL character.
- */
-
-/* returns pointer to malloced space */
-static unsigned char *read_terminfo_section (FILE *fp, unsigned int size)
-{
- char *s;
-
- if (NULL == (s = (char *) SLmalloc (size))) return NULL;
- if (size != fread (s, 1, size, fp))
- {
- SLfree (s);
- return NULL;
- }
- return (unsigned char *) s;
-}
-
-static char *read_terminal_names (FILE *fp, SLterminfo_Type *t)
-{
- return t->terminal_names = (char *) read_terminfo_section (fp, t->name_section_size);
-}
-
-/*
- * The boolean flags have one byte for each flag. This byte is either 0 or
- * 1 as the flag is present or absent. The value of 2 means that the flag
- * has been cancelled. The capabilities are in the same order as the file
- * <term.h>.
- */
-
-static unsigned char *read_boolean_flags (FILE *fp, SLterminfo_Type *t)
-{
- /* Between the boolean section and the number section, a null byte is
- * inserted, if necessary, to ensure that the number section begins on an
- * even byte offset. All short integers are aligned on a short word
- * boundary.
- */
-
- unsigned int size = (t->name_section_size + t->boolean_section_size) % 2;
- size += t->boolean_section_size;
-
- return t->boolean_flags = read_terminfo_section (fp, size);
-}
-
-/*
- * The numbers section is similar to the boolean flags section. Each
- * capability takes up two bytes, and is stored as a short integer. If the
- * value represented is -1 or -2, the capability is taken to be missing.
- */
-
-static unsigned char *read_numbers (FILE *fp, SLterminfo_Type *t)
-{
- return t->numbers = read_terminfo_section (fp, 2 * t->num_numbers);
-}
-
-/* The strings section is also similar. Each capability is stored as a
- * short integer, in the format above. A value of -1 or -2 means the
- * capability is missing. Otherwise, the value is taken as an offset from
- * the beginning of the string table. Special characters in ^X or \c
- * notation are stored in their interpreted form, not the printing
- * representation. Padding information ($<nn>) and parameter information
- * (%x) are stored intact in uninterpreted form.
- */
-
-static unsigned char *read_string_offsets (FILE *fp, SLterminfo_Type *t)
-{
- return t->string_offsets = (unsigned char *) read_terminfo_section (fp, 2 * t->num_string_offsets);
-}
-
-/* The final section is the string table. It contains all the values of
- * string capabilities referenced in the string section. Each string is
- * null terminated.
- */
-
-static char *read_string_table (FILE *fp, SLterminfo_Type *t)
-{
- return t->string_table = (char *) read_terminfo_section (fp, t->string_table_size);
-}
-
-/*
- * Compiled terminfo(4) descriptions are placed under the directory
- * /usr/share/lib/terminfo. In order to avoid a linear search of a huge
- * UNIX system directory, a two-level scheme is used:
- * /usr/share/lib/terminfo/c/name where name is the name of the terminal,
- * and c is the first character of name. Thus, att4425 can be found in the
- * file /usr/share/lib/terminfo/a/att4425. Synonyms for the same terminal
- * are implemented by multiple links to the same compiled file.
- */
-
-#define MAX_TI_DIRS 7
-static char *Terminfo_Dirs [MAX_TI_DIRS] =
-{
- NULL, /* $HOME/.terminfo */
- NULL, /* $TERMINFO */
- "/usr/share/terminfo",
- "/usr/lib/terminfo",
- "/usr/share/lib/terminfo",
- "/etc/terminfo",
- "/usr/local/lib/terminfo"
-};
-
-SLterminfo_Type *_SLtt_tigetent (char *term)
-{
- char *tidir;
- int i;
- FILE *fp = NULL;
- char file[1024];
- static char home_ti [1024];
- char *home;
- SLterminfo_Type *ti;
-
- if (
- (term == NULL)
-#ifdef SLANG_UNTIC
- && (SLang_Untic_Terminfo_File == NULL)
-#endif
- )
- return NULL;
-
- if (NULL == (ti = (SLterminfo_Type *) SLmalloc (sizeof (SLterminfo_Type))))
- {
- return NULL;
- }
-
-#ifdef SLANG_UNTIC
- if (SLang_Untic_Terminfo_File != NULL)
- {
- fp = open_terminfo (SLang_Untic_Terminfo_File, ti);
- goto fp_open_label;
- }
- else
-#endif
- /* If we are on a termcap based system, use termcap */
- if (0 == tcap_getent (term, ti)) return ti;
-
- if (NULL != (home = getenv ("HOME")))
- {
- strncpy (home_ti, home, sizeof (home_ti) - 11);
- home_ti [sizeof(home_ti) - 11] = 0;
- strcat (home_ti, "/.terminfo");
- Terminfo_Dirs [0] = home_ti;
- }
-
- Terminfo_Dirs[1] = getenv ("TERMINFO");
- i = 0;
- while (i < MAX_TI_DIRS)
- {
- tidir = Terminfo_Dirs[i];
- if ((tidir != NULL)
- && (sizeof (file) > strlen (tidir) + 2 + strlen (term)))
- {
- sprintf (file, "%s/%c/%s", tidir, *term, term);
- if (NULL != (fp = open_terminfo (file, ti)))
- break;
- }
- i++;
- }
-#ifdef SLANG_UNTIC
- fp_open_label:
-#endif
-
- if (fp != NULL)
- {
- if (NULL != read_terminal_names (fp, ti))
- {
- if (NULL != read_boolean_flags (fp, ti))
- {
- if (NULL != read_numbers (fp, ti))
- {
- if (NULL != read_string_offsets (fp, ti))
- {
- if (NULL != read_string_table (fp, ti))
- {
- /* success */
- fclose (fp);
- ti->flags = SLTERMINFO;
- return ti;
- }
- SLfree ((char *)ti->string_offsets);
- }
- SLfree ((char *)ti->numbers);
- }
- SLfree ((char *)ti->boolean_flags);
- }
- SLfree ((char *)ti->terminal_names);
- }
- fclose (fp);
- }
-
- SLfree ((char *)ti);
- return NULL;
-}
-
-#ifdef SLANG_UNTIC
-# define UNTIC_COMMENT(x) ,x
-#else
-# define UNTIC_COMMENT(x)
-#endif
-
-typedef struct
-{
- char name[3];
- int offset;
-#ifdef SLANG_UNTIC
- char *comment;
-#endif
-}
-Tgetstr_Map_Type;
-
-/* I need to add: K1-5, %0-5(not important), @8, &8... */
-static Tgetstr_Map_Type Tgetstr_Map [] =
-{
- {"!1", 212 UNTIC_COMMENT("shifted key")},
- {"!2", 213 UNTIC_COMMENT("shifted key")},
- {"!3", 214 UNTIC_COMMENT("shifted key")},
- {"#1", 198 UNTIC_COMMENT("shifted key")},
- {"#2", 199 UNTIC_COMMENT("Key S-Home")},
- {"#3", 200 UNTIC_COMMENT("Key S-Insert")},
- {"#4", 201 UNTIC_COMMENT("Key S-Left")},
- {"%0", 177 UNTIC_COMMENT("redo key")},
- {"%1", 168 UNTIC_COMMENT("help key")},
- {"%2", 169 UNTIC_COMMENT("mark key")},
- {"%3", 170 UNTIC_COMMENT("message key")},
- {"%4", 171 UNTIC_COMMENT("move key")},
- {"%5", 172 UNTIC_COMMENT("next key")},
- {"%6", 173 UNTIC_COMMENT("open key")},
- {"%7", 174 UNTIC_COMMENT("options key")},
- {"%8", 175 UNTIC_COMMENT("previous key")},
- {"%9", 176 UNTIC_COMMENT("print key")},
- {"%a", 202 UNTIC_COMMENT("shifted key")},
- {"%b", 203 UNTIC_COMMENT("shifted key")},
- {"%c", 204 UNTIC_COMMENT("Key S-Next")},
- {"%d", 205 UNTIC_COMMENT("shifted key")},
- {"%e", 206 UNTIC_COMMENT("Key S-Previous")},
- {"%f", 207 UNTIC_COMMENT("shifted key")},
- {"%g", 208 UNTIC_COMMENT("shifted key")},
- {"%h", 209 UNTIC_COMMENT("shifted key")},
- {"%i", 210 UNTIC_COMMENT("Key S-Right")},
- {"%j", 211 UNTIC_COMMENT("shifted key")},
- {"&0", 187 UNTIC_COMMENT("shifted key")},
- {"&1", 178 UNTIC_COMMENT("reference key")},
- {"&2", 179 UNTIC_COMMENT("refresh key")},
- {"&3", 180 UNTIC_COMMENT("replace key")},
- {"&4", 181 UNTIC_COMMENT("restart key")},
- {"&5", 182 UNTIC_COMMENT("resume key")},
- {"&6", 183 UNTIC_COMMENT("save key")},
- {"&7", 184 UNTIC_COMMENT("suspend key")},
- {"&8", 185 UNTIC_COMMENT("undo key")},
- {"&9", 186 UNTIC_COMMENT("shifted key")},
- {"*0", 197 UNTIC_COMMENT("shifted key")},
- {"*1", 188 UNTIC_COMMENT("shifted key")},
- {"*2", 189 UNTIC_COMMENT("shifted key")},
- {"*3", 190 UNTIC_COMMENT("shifted key")},
- {"*4", 191 UNTIC_COMMENT("Key S-Delete")},
- {"*5", 192 UNTIC_COMMENT("shifted key")},
- {"*6", 193 UNTIC_COMMENT("select key")},
- {"*7", 194 UNTIC_COMMENT("Key S-End")},
- {"*8", 195 UNTIC_COMMENT("shifted key")},
- {"*9", 196 UNTIC_COMMENT("shifted key")},
- {"@0", 167 UNTIC_COMMENT("find key")},
- {"@1", 158 UNTIC_COMMENT("begin key")},
- {"@2", 159 UNTIC_COMMENT("cancel key")},
- {"@3", 160 UNTIC_COMMENT("close key")},
- {"@4", 161 UNTIC_COMMENT("command key")},
- {"@5", 162 UNTIC_COMMENT("copy key")},
- {"@6", 163 UNTIC_COMMENT("create key")},
- {"@7", 164 UNTIC_COMMENT("Key End")},
- {"@8", 165 UNTIC_COMMENT("enter/send key")},
- {"@9", 166 UNTIC_COMMENT("exit key")},
- {"AB", 360 UNTIC_COMMENT("set ANSI color background")},
- {"AF", 359 UNTIC_COMMENT("set ANSI color foreground")},
- {"AL", 110 UNTIC_COMMENT("parm_insert_line")},
- {"CC", 9 UNTIC_COMMENT("terminal settable cmd character in prototype !?")},
- {"CM", 15 UNTIC_COMMENT("memory relative cursor addressing")},
- {"CW", 277 UNTIC_COMMENT("define a window #1 from #2, #3 to #4, #5")},
- {"DC", 105 UNTIC_COMMENT("delete #1 chars")},
- {"DI", 280 UNTIC_COMMENT("dial number #1")},
- {"DK", 275 UNTIC_COMMENT("display clock at (#1,#2)")},
- {"DL", 106 UNTIC_COMMENT("parm_delete_line")},
- {"DO", 107 UNTIC_COMMENT("down #1 lines")},
- {"F1", 216 UNTIC_COMMENT("key_f11")},
- {"F2", 217 UNTIC_COMMENT("key_f12")},
- {"F3", 218 UNTIC_COMMENT("key_f13")},
- {"F4", 219 UNTIC_COMMENT("key_f14")},
- {"F5", 220 UNTIC_COMMENT("key_f15")},
- {"F6", 221 UNTIC_COMMENT("key_f16")},
- {"F7", 222 UNTIC_COMMENT("key_f17")},
- {"F8", 223 UNTIC_COMMENT("key_f18")},
- {"F9", 224 UNTIC_COMMENT("key_f19")},
- {"FA", 225 UNTIC_COMMENT("key_f20")},
- {"FB", 226 UNTIC_COMMENT("F21 function key")},
- {"FC", 227 UNTIC_COMMENT("F22 function key")},
- {"FD", 228 UNTIC_COMMENT("F23 function key")},
- {"FE", 229 UNTIC_COMMENT("F24 function key")},
- {"FF", 230 UNTIC_COMMENT("F25 function key")},
- {"FG", 231 UNTIC_COMMENT("F26 function key")},
- {"FH", 232 UNTIC_COMMENT("F27 function key")},
- {"FI", 233 UNTIC_COMMENT("F28 function key")},
- {"FJ", 234 UNTIC_COMMENT("F29 function key")},
- {"FK", 235 UNTIC_COMMENT("F30 function key")},
- {"FL", 236 UNTIC_COMMENT("F31 function key")},
- {"FM", 237 UNTIC_COMMENT("F32 function key")},
- {"FN", 238 UNTIC_COMMENT("F33 function key")},
- {"FO", 239 UNTIC_COMMENT("F34 function key")},
- {"FP", 240 UNTIC_COMMENT("F35 function key")},
- {"FQ", 241 UNTIC_COMMENT("F36 function key")},
- {"FR", 242 UNTIC_COMMENT("F37 function key")},
- {"FS", 243 UNTIC_COMMENT("F38 function key")},
- {"FT", 244 UNTIC_COMMENT("F39 function key")},
- {"FU", 245 UNTIC_COMMENT("F40 function key")},
- {"FV", 246 UNTIC_COMMENT("F41 function key")},
- {"FW", 247 UNTIC_COMMENT("F42 function key")},
- {"FX", 248 UNTIC_COMMENT("F43 function key")},
- {"FY", 249 UNTIC_COMMENT("F44 function key")},
- {"FZ", 250 UNTIC_COMMENT("F45 function key")},
- {"Fa", 251 UNTIC_COMMENT("F46 function key")},
- {"Fb", 252 UNTIC_COMMENT("F47 function key")},
- {"Fc", 253 UNTIC_COMMENT("F48 function key")},
- {"Fd", 254 UNTIC_COMMENT("F49 function key")},
- {"Fe", 255 UNTIC_COMMENT("F50 function key")},
- {"Ff", 256 UNTIC_COMMENT("F51 function key")},
- {"Fg", 257 UNTIC_COMMENT("F52 function key")},
- {"Fh", 258 UNTIC_COMMENT("F53 function key")},
- {"Fi", 259 UNTIC_COMMENT("F54 function key")},
- {"Fj", 260 UNTIC_COMMENT("F55 function key")},
- {"Fk", 261 UNTIC_COMMENT("F56 function key")},
- {"Fl", 262 UNTIC_COMMENT("F57 function key")},
- {"Fm", 263 UNTIC_COMMENT("F58 function key")},
- {"Fn", 264 UNTIC_COMMENT("F59 function key")},
- {"Fo", 265 UNTIC_COMMENT("F60 function key")},
- {"Fp", 266 UNTIC_COMMENT("F61 function key")},
- {"Fq", 267 UNTIC_COMMENT("F62 function key")},
- {"Fr", 268 UNTIC_COMMENT("F63 function key")},
- {"G1", 400 UNTIC_COMMENT("single upper right")},
- {"G2", 398 UNTIC_COMMENT("single upper left")},
- {"G3", 399 UNTIC_COMMENT("single lower left")},
- {"G4", 401 UNTIC_COMMENT("single lower right")},
- {"GC", 408 UNTIC_COMMENT("single intersection")},
- {"GD", 405 UNTIC_COMMENT("tee pointing down")},
- {"GH", 406 UNTIC_COMMENT("single horizontal line")},
- {"GL", 403 UNTIC_COMMENT("tee pointing left")},
- {"GR", 402 UNTIC_COMMENT("tee pointing right")},
- {"GU", 404 UNTIC_COMMENT("tee pointing up")},
- {"GV", 407 UNTIC_COMMENT("single vertical line")},
- {"Gm", 358 UNTIC_COMMENT("Curses should get button events")},
- {"HU", 279 UNTIC_COMMENT("hang-up phone")},
- {"IC", 108 UNTIC_COMMENT("insert #1 chars")},
- {"Ic", 299 UNTIC_COMMENT("initialize color #1 to (#2,#3,#4)")},
- {"Ip", 300 UNTIC_COMMENT("Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)")},
- {"K1", 139 UNTIC_COMMENT("upper left of keypad")},
- {"K2", 141 UNTIC_COMMENT("center of keypad")},
- {"K3", 140 UNTIC_COMMENT("upper right of keypad")},
- {"K4", 142 UNTIC_COMMENT("lower left of keypad")},
- {"K5", 143 UNTIC_COMMENT("lower right of keypad")},
- {"Km", 355 UNTIC_COMMENT("Mouse event has occurred")},
- {"LE", 111 UNTIC_COMMENT("move #1 chars to the left")},
- {"LF", 157 UNTIC_COMMENT("turn off soft labels")},
- {"LO", 156 UNTIC_COMMENT("turn on soft labels")},
- {"Lf", 273 UNTIC_COMMENT("label format")},
- {"MC", 270 UNTIC_COMMENT("clear right and left soft margins")},
- {"ML", 271 UNTIC_COMMENT("set left soft margin")},
- {"ML", 368 UNTIC_COMMENT("Set both left and right margins to #1, #2")},
- {"MR", 272 UNTIC_COMMENT("set right soft margin")},
- {"MT", 369 UNTIC_COMMENT("Sets both top and bottom margins to #1, #2")},
- {"Mi", 356 UNTIC_COMMENT("Mouse status information")},
- {"PA", 285 UNTIC_COMMENT("pause for 2-3 seconds")},
- {"PU", 283 UNTIC_COMMENT("select pulse dialling")},
- {"QD", 281 UNTIC_COMMENT("dial number #1 without checking")},
- {"RA", 152 UNTIC_COMMENT("turn off automatic margins")},
- {"RC", 276 UNTIC_COMMENT("remove clock")},
- {"RF", 215 UNTIC_COMMENT("send next input char (for ptys)")},
- {"RI", 112 UNTIC_COMMENT("parm_right_cursor")},
- {"RQ", 357 UNTIC_COMMENT("Request mouse position")},
- {"RX", 150 UNTIC_COMMENT("turn off xon/xoff handshaking")},
- {"S1", 378 UNTIC_COMMENT("Display PC character")},
- {"S2", 379 UNTIC_COMMENT("Enter PC character display mode")},
- {"S3", 380 UNTIC_COMMENT("Exit PC character display mode")},
- {"S4", 381 UNTIC_COMMENT("Enter PC scancode mode")},
- {"S5", 382 UNTIC_COMMENT("Exit PC scancode mode")},
- {"S6", 383 UNTIC_COMMENT("PC terminal options")},
- {"S7", 384 UNTIC_COMMENT("Escape for scancode emulation")},
- {"S8", 385 UNTIC_COMMENT("Alternate escape for scancode emulation")},
- {"SA", 151 UNTIC_COMMENT("turn on automatic margins")},
- {"SC", 274 UNTIC_COMMENT("set clock, #1 hrs #2 mins #3 secs")},
- {"SF", 109 UNTIC_COMMENT("scroll forward #1 lines")},
- {"SR", 113 UNTIC_COMMENT("scroll back #1 lines")},
- {"SX", 149 UNTIC_COMMENT("turn on xon/xoff handshaking")},
- {"Sb", 303 UNTIC_COMMENT("set background (color)")},
- {"Sf", 302 UNTIC_COMMENT("set foreground (color)")},
- {"TO", 282 UNTIC_COMMENT("select touch tone dialing")},
- {"UP", 114 UNTIC_COMMENT("up #1 lines")},
- {"WA", 286 UNTIC_COMMENT("wait for dial-tone")},
- {"WG", 278 UNTIC_COMMENT("go to window #1")},
- {"XF", 154 UNTIC_COMMENT("XOFF character")},
- {"XN", 153 UNTIC_COMMENT("XON character")},
- {"Xh", 386 UNTIC_COMMENT("Enter horizontal highlight mode")},
- {"Xl", 387 UNTIC_COMMENT("Enter left highlight mode")},
- {"Xo", 388 UNTIC_COMMENT("Enter low highlight mode")},
- {"Xr", 389 UNTIC_COMMENT("Enter right highlight mode")},
- {"Xt", 390 UNTIC_COMMENT("Enter top highlight mode")},
- {"Xv", 391 UNTIC_COMMENT("Enter vertical highlight mode")},
- {"Xy", 370 UNTIC_COMMENT("Repeat bit image cell #1 #2 times")},
- {"YZ", 377 UNTIC_COMMENT("Set page length to #1 lines")},
- {"Yv", 372 UNTIC_COMMENT("Move to beginning of same row")},
- {"Yw", 373 UNTIC_COMMENT("Give name for color #1")},
- {"Yx", 374 UNTIC_COMMENT("Define rectangualar bit image region")},
- {"Yy", 375 UNTIC_COMMENT("End a bit-image region")},
- {"Yz", 376 UNTIC_COMMENT("Change to ribbon color #1")},
- {"ZA", 304 UNTIC_COMMENT("Change number of characters per inch")},
- {"ZB", 305 UNTIC_COMMENT("Change number of lines per inch")},
- {"ZC", 306 UNTIC_COMMENT("Change horizontal resolution")},
- {"ZD", 307 UNTIC_COMMENT("Change vertical resolution")},
- {"ZE", 308 UNTIC_COMMENT("Define a character")},
- {"ZF", 309 UNTIC_COMMENT("Enter double-wide mode")},
- {"ZG", 310 UNTIC_COMMENT("Enter draft-quality mode")},
- {"ZH", 311 UNTIC_COMMENT("Enter italic mode")},
- {"ZI", 312 UNTIC_COMMENT("Start leftward carriage motion")},
- {"ZJ", 313 UNTIC_COMMENT("Start micro-motion mode")},
- {"ZK", 314 UNTIC_COMMENT("Enter NLQ mode")},
- {"ZL", 315 UNTIC_COMMENT("Wnter normal-quality mode")},
- {"ZM", 316 UNTIC_COMMENT("Enter shadow-print mode")},
- {"ZN", 317 UNTIC_COMMENT("Enter subscript mode")},
- {"ZO", 318 UNTIC_COMMENT("Enter superscript mode")},
- {"ZP", 319 UNTIC_COMMENT("Start upward carriage motion")},
- {"ZQ", 320 UNTIC_COMMENT("End double-wide mode")},
- {"ZR", 321 UNTIC_COMMENT("End italic mode")},
- {"ZS", 322 UNTIC_COMMENT("End left-motion mode")},
- {"ZT", 323 UNTIC_COMMENT("End micro-motion mode")},
- {"ZU", 324 UNTIC_COMMENT("End shadow-print mode")},
- {"ZV", 325 UNTIC_COMMENT("End subscript mode")},
- {"ZW", 326 UNTIC_COMMENT("End superscript mode")},
- {"ZX", 327 UNTIC_COMMENT("End reverse character motion")},
- {"ZY", 328 UNTIC_COMMENT("Like column_address in micro mode")},
- {"ZZ", 329 UNTIC_COMMENT("Like cursor_down in micro mode")},
- {"Za", 330 UNTIC_COMMENT("Like cursor_left in micro mode")},
- {"Zb", 331 UNTIC_COMMENT("Like cursor_right in micro mode")},
- {"Zc", 332 UNTIC_COMMENT("Like row_address in micro mode")},
- {"Zd", 333 UNTIC_COMMENT("Like cursor_up in micro mode")},
- {"Ze", 334 UNTIC_COMMENT("Match software bits to print-head pins")},
- {"Zf", 335 UNTIC_COMMENT("Like parm_down_cursor in micro mode")},
- {"Zg", 336 UNTIC_COMMENT("Like parm_left_cursor in micro mode")},
- {"Zh", 337 UNTIC_COMMENT("Like parm_right_cursor in micro mode")},
- {"Zi", 338 UNTIC_COMMENT("Like parm_up_cursor in micro mode")},
- {"Zj", 339 UNTIC_COMMENT("Select character set")},
- {"Zk", 340 UNTIC_COMMENT("Set bottom margin at current line")},
- {"Zl", 341 UNTIC_COMMENT("Set bottom margin at line #1 or #2 lines from bottom")},
- {"Zm", 342 UNTIC_COMMENT("Set left (right) margin at column #1 (#2)")},
- {"Zn", 343 UNTIC_COMMENT("Set right margin at column #1")},
- {"Zo", 344 UNTIC_COMMENT("Set top margin at current line")},
- {"Zp", 345 UNTIC_COMMENT("Set top (bottom) margin at row #1 (#2)")},
- {"Zq", 346 UNTIC_COMMENT("Start printing bit image braphics")},
- {"Zr", 347 UNTIC_COMMENT("Start character set definition")},
- {"Zs", 348 UNTIC_COMMENT("Stop printing bit image graphics")},
- {"Zt", 349 UNTIC_COMMENT("End definition of character aet")},
- {"Zu", 350 UNTIC_COMMENT("List of subscriptable characters")},
- {"Zv", 351 UNTIC_COMMENT("List of superscriptable characters")},
- {"Zw", 352 UNTIC_COMMENT("Printing any of these chars causes CR")},
- {"Zx", 353 UNTIC_COMMENT("No motion for subsequent character")},
- {"Zy", 354 UNTIC_COMMENT("List of character set names")},
- {"Zz", 371 UNTIC_COMMENT("Move to next row of the bit image")},
- {"ac", 146 UNTIC_COMMENT("acs_chars")},
- {"ae", 38 UNTIC_COMMENT("exit_alt_charset_mode")},
- {"al", 53 UNTIC_COMMENT("insert line")},
- {"as", 25 UNTIC_COMMENT("enter_alt_charset_mode")},
- {"bc", 395 UNTIC_COMMENT("move left, if not ^H")},
- {"bl", 1 UNTIC_COMMENT("audible signal (bell)")},
- {"bt", 0 UNTIC_COMMENT("back tab")},
- {"bx", 411 UNTIC_COMMENT("box chars primary set")},
- {"cb", 269 UNTIC_COMMENT("Clear to beginning of line")},
- {"cd", 7 UNTIC_COMMENT("clear to end of screen")},
- {"ce", 6 UNTIC_COMMENT("clr_eol")},
- {"ch", 8 UNTIC_COMMENT("horizontal position #1, absolute")},
- {"ci", 363 UNTIC_COMMENT("Init sequence for multiple codesets")},
- {"cl", 5 UNTIC_COMMENT("clear screen and home cursor")},
- {"cm", 10 UNTIC_COMMENT("move to row #1 columns #2")},
- {"cr", 2 UNTIC_COMMENT("carriage return")},
- {"cs", 3 UNTIC_COMMENT("change region to line #1 to line #2")},
- {"ct", 4 UNTIC_COMMENT("clear all tab stops")},
- {"cv", 127 UNTIC_COMMENT("vertical position #1 absolute")},
- {"dc", 21 UNTIC_COMMENT("delete character")},
- {"dl", 22 UNTIC_COMMENT("delete line")},
- {"dm", 29 UNTIC_COMMENT("enter delete mode")},
- {"do", 11 UNTIC_COMMENT("down one line")},
- {"ds", 23 UNTIC_COMMENT("disable status line")},
- {"dv", 362 UNTIC_COMMENT("Indicate language/codeset support")},
- {"eA", 155 UNTIC_COMMENT("enable alternate char set")},
- {"ec", 37 UNTIC_COMMENT("erase #1 characters")},
- {"ed", 41 UNTIC_COMMENT("end delete mode")},
- {"ei", 42 UNTIC_COMMENT("exit insert mode")},
- {"ff", 46 UNTIC_COMMENT("hardcopy terminal page eject")},
- {"fh", 284 UNTIC_COMMENT("flash switch hook")},
- {"fs", 47 UNTIC_COMMENT("return from status line")},
- {"hd", 24 UNTIC_COMMENT("half a line down")},
- {"ho", 12 UNTIC_COMMENT("home cursor (if no cup)")},
- {"hu", 137 UNTIC_COMMENT("half a line up")},
- {"i1", 48 UNTIC_COMMENT("initialization string")},
- {"i2", 392 UNTIC_COMMENT("secondary initialization string")},
- {"i3", 50 UNTIC_COMMENT("initialization string")},
- {"iP", 138 UNTIC_COMMENT("path name of program for initialization")},
- {"ic", 52 UNTIC_COMMENT("insert character")},
- {"if", 51 UNTIC_COMMENT("name of initialization file")},
- {"im", 31 UNTIC_COMMENT("enter insert mode")},
- {"ip", 54 UNTIC_COMMENT("insert padding after inserted character")},
- {"is", 49 UNTIC_COMMENT("initialization string")},
- {"k0", 65 UNTIC_COMMENT("F0 function key")},
- {"k1", 66 UNTIC_COMMENT("F1 function key")},
- {"k2", 68 UNTIC_COMMENT("F2 function key")},
- {"k3", 69 UNTIC_COMMENT("F3 function key")},
- {"k4", 70 UNTIC_COMMENT("F4 function key")},
- {"k5", 71 UNTIC_COMMENT("F5 function key")},
- {"k6", 72 UNTIC_COMMENT("F6 function key")},
- {"k7", 73 UNTIC_COMMENT("F7 function key")},
- {"k8", 74 UNTIC_COMMENT("F8 fucntion key")},
- {"k9", 75 UNTIC_COMMENT("F9 function key")},
- {"k;", 67 UNTIC_COMMENT("F10 function key")},
- {"kA", 78 UNTIC_COMMENT("insert-line key")},
- {"kB", 148 UNTIC_COMMENT("back-tab key")},
- {"kC", 57 UNTIC_COMMENT("clear-screen or erase key")},
- {"kD", 59 UNTIC_COMMENT("delete-character key")},
- {"kE", 63 UNTIC_COMMENT("clear-to-end-of-line key")},
- {"kF", 84 UNTIC_COMMENT("scroll-forward key")},
- {"kH", 80 UNTIC_COMMENT("last-line key")},
- {"kI", 77 UNTIC_COMMENT("insert-character key")},
- {"kL", 60 UNTIC_COMMENT("delete-line key")},
- {"kM", 62 UNTIC_COMMENT("sent by rmir or smir in insert mode")},
- {"kN", 81 UNTIC_COMMENT("next-page key")},
- {"kP", 82 UNTIC_COMMENT("prev-page key")},
- {"kR", 85 UNTIC_COMMENT("scroll-backward key")},
- {"kS", 64 UNTIC_COMMENT("clear-to-end-of-screen key")},
- {"kT", 86 UNTIC_COMMENT("set-tab key")},
- {"ka", 56 UNTIC_COMMENT("clear-all-tabs key")},
- {"kb", 55 UNTIC_COMMENT("backspace key")},
- {"kd", 61 UNTIC_COMMENT("down-arrow key")},
- {"ke", 88 UNTIC_COMMENT("leave 'keyboard_transmit' mode")},
- {"kh", 76 UNTIC_COMMENT("home key")},
- {"kl", 79 UNTIC_COMMENT("left-arrow key")},
- {"ko", 396 UNTIC_COMMENT("list of self-mapped keycaps")},
- {"kr", 83 UNTIC_COMMENT("right-arrow key")},
- {"ks", 89 UNTIC_COMMENT("enter 'keyboard_transmit' mode")},
- {"kt", 58 UNTIC_COMMENT("clear-tab key")},
- {"ku", 87 UNTIC_COMMENT("up-arrow key")},
- {"l0", 90 UNTIC_COMMENT("label on function key f0 if not f0")},
- {"l1", 91 UNTIC_COMMENT("label on function key f1 if not f1")},
- {"l2", 93 UNTIC_COMMENT("label on function key f2 if not f2")},
- {"l3", 94 UNTIC_COMMENT("label on function key f3 if not f3")},
- {"l4", 95 UNTIC_COMMENT("label on function key f4 if not f4")},
- {"l5", 96 UNTIC_COMMENT("lable on function key f5 if not f5")},
- {"l6", 97 UNTIC_COMMENT("label on function key f6 if not f6")},
- {"l7", 98 UNTIC_COMMENT("label on function key f7 if not f7")},
- {"l8", 99 UNTIC_COMMENT("label on function key f8 if not f8")},
- {"l9", 100 UNTIC_COMMENT("label on function key f9 if not f9")},
- {"la", 92 UNTIC_COMMENT("label on function key f10 if not f10")},
- {"le", 14 UNTIC_COMMENT("move left one space")},
- {"ll", 18 UNTIC_COMMENT("last line, first column (if no cup)")},
- {"ma", 397 UNTIC_COMMENT("map arrow keys rogue(1) motion keys")},
- {"mb", 26 UNTIC_COMMENT("turn on blinking")},
- {"md", 27 UNTIC_COMMENT("turn on bold (extra bright) mode")},
- {"me", 39 UNTIC_COMMENT("turn off all attributes")},
- {"mh", 30 UNTIC_COMMENT("turn on half-bright mode")},
- {"mk", 32 UNTIC_COMMENT("turn on blank mode (characters invisible)")},
- {"ml", 409 UNTIC_COMMENT("memory lock above")},
- {"mm", 102 UNTIC_COMMENT("turn on meta mode (8th-bit on)")},
- {"mo", 101 UNTIC_COMMENT("turn off meta mode")},
- {"mp", 33 UNTIC_COMMENT("turn on protected mode")},
- {"mr", 34 UNTIC_COMMENT("turn on reverse video mode")},
- {"mu", 410 UNTIC_COMMENT("memory unlock")},
- {"nd", 17 UNTIC_COMMENT("move right one space")},
- {"nl", 394 UNTIC_COMMENT("use to move down")},
- {"nw", 103 UNTIC_COMMENT("newline (behave like cr followed by lf)")},
- {"oc", 298 UNTIC_COMMENT("Set all color pairs to the original ones")},
- {"op", 297 UNTIC_COMMENT("Set default pair to its original value")},
- {"pO", 144 UNTIC_COMMENT("turn on printer for #1 bytes")},
- {"pc", 104 UNTIC_COMMENT("padding char (instead of null)")},
- {"pf", 119 UNTIC_COMMENT("turn off printer")},
- {"pk", 115 UNTIC_COMMENT("program function key #1 to type string #2")},
- {"pl", 116 UNTIC_COMMENT("program function key #1 to execute string #2")},
- {"pn", 147 UNTIC_COMMENT("program label #1 to show string #2")},
- {"po", 120 UNTIC_COMMENT("turn on printer")},
- {"ps", 118 UNTIC_COMMENT("print contents of screen")},
- {"px", 117 UNTIC_COMMENT("program function key #1 to transmit string #2")},
- {"r1", 122 UNTIC_COMMENT("reset string")},
- {"r2", 123 UNTIC_COMMENT("reset string")},
- {"r3", 124 UNTIC_COMMENT("reset string")},
- {"rP", 145 UNTIC_COMMENT("like ip but when in insert mode")},
- {"rc", 126 UNTIC_COMMENT("restore cursor to last position of sc")},
- {"rf", 125 UNTIC_COMMENT("name of reset file")},
- {"rp", 121 UNTIC_COMMENT("repeat char #1 #2 times")},
- {"rs", 393 UNTIC_COMMENT("terminal reset string")},
- {"s0", 364 UNTIC_COMMENT("Shift to code set 0 (EUC set 0, ASCII)")},
- {"s1", 365 UNTIC_COMMENT("Shift to code set 1")},
- {"s2", 366 UNTIC_COMMENT("Shift to code set 2")},
- {"s3", 367 UNTIC_COMMENT("Shift to code set 3")},
- {"sa", 131 UNTIC_COMMENT("define video attributes #1-#9 (PG9)")},
- {"sc", 128 UNTIC_COMMENT("save current cursor position")},
- {"se", 43 UNTIC_COMMENT("exit standout mode")},
- {"sf", 129 UNTIC_COMMENT("scroll text up")},
- {"so", 35 UNTIC_COMMENT("begin standout mode")},
- {"sp", 301 UNTIC_COMMENT("Set current color pair to #1")},
- {"sr", 130 UNTIC_COMMENT("scroll text down")},
- {"st", 132 UNTIC_COMMENT("set a tab in every row, current columns")},
- {"ta", 134 UNTIC_COMMENT("tab to next 8-space hardware tab stop")},
- {"te", 40 UNTIC_COMMENT("strings to end programs using cup")},
- {"ti", 28 UNTIC_COMMENT("string to start programs using cup")},
- {"ts", 135 UNTIC_COMMENT("move to status line")},
- {"u0", 287 UNTIC_COMMENT("User string #0")},
- {"u1", 288 UNTIC_COMMENT("User string #1")},
- {"u2", 289 UNTIC_COMMENT("User string #2")},
- {"u3", 290 UNTIC_COMMENT("User string #3")},
- {"u4", 291 UNTIC_COMMENT("User string #4")},
- {"u5", 292 UNTIC_COMMENT("User string #5")},
- {"u6", 293 UNTIC_COMMENT("User string #6")},
- {"u7", 294 UNTIC_COMMENT("User string #7")},
- {"u8", 295 UNTIC_COMMENT("User string #8")},
- {"u9", 296 UNTIC_COMMENT("User string #9")},
- {"uc", 136 UNTIC_COMMENT("underline char and move past it")},
- {"ue", 44 UNTIC_COMMENT("exit underline mode")},
- {"up", 19 UNTIC_COMMENT("up one line")},
- {"us", 36 UNTIC_COMMENT("begin underline mode")},
- {"vb", 45 UNTIC_COMMENT("visible bell (may not move cursor)")},
- {"ve", 16 UNTIC_COMMENT("make cursor appear normal (undo civis/cvvis)")},
- {"vi", 13 UNTIC_COMMENT("make cursor invisible")},
- {"vs", 20 UNTIC_COMMENT("make cursor very visible")},
- {"wi", 133 UNTIC_COMMENT("current window is lines #1-#2 cols #3-#4")},
- {"xl", 361 UNTIC_COMMENT("Program function key #1 to type string #2 and show string #3")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-static int compute_cap_offset (char *cap, SLterminfo_Type *t, Tgetstr_Map_Type *map, unsigned int max_ofs)
-{
- char cha, chb;
-
- (void) t;
- cha = *cap++; chb = *cap;
-
- while (*map->name != 0)
- {
- if ((cha == *map->name) && (chb == *(map->name + 1)))
- {
- if (map->offset >= (int) max_ofs) return -1;
- return map->offset;
- }
- map++;
- }
- return -1;
-}
-
-char *_SLtt_tigetstr (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL)
- return NULL;
-
- if (t->flags == SLTERMCAP) return tcap_getstr (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetstr_Map, t->num_string_offsets);
- if (offset < 0) return NULL;
- offset = make_integer (t->string_offsets + 2 * offset);
- if (offset < 0) return NULL;
- return t->string_table + offset;
-}
-
-static Tgetstr_Map_Type Tgetnum_Map[] =
-{
- {"BT", 30 UNTIC_COMMENT("number of buttons on mouse")},
- {"Co", 13 UNTIC_COMMENT("maximum numbers of colors on screen")},
- {"MW", 12 UNTIC_COMMENT("maxumum number of defineable windows")},
- {"NC", 15 UNTIC_COMMENT("video attributes that can't be used with colors")},
- {"Nl", 8 UNTIC_COMMENT("number of labels on screen")},
- {"Ya", 16 UNTIC_COMMENT("numbers of bytes buffered before printing")},
- {"Yb", 17 UNTIC_COMMENT("spacing of pins vertically in pins per inch")},
- {"Yc", 18 UNTIC_COMMENT("spacing of dots horizontally in dots per inch")},
- {"Yd", 19 UNTIC_COMMENT("maximum value in micro_..._address")},
- {"Ye", 20 UNTIC_COMMENT("maximum value in parm_..._micro")},
- {"Yf", 21 UNTIC_COMMENT("character size when in micro mode")},
- {"Yg", 22 UNTIC_COMMENT("line size when in micro mode")},
- {"Yh", 23 UNTIC_COMMENT("numbers of pins in print-head")},
- {"Yi", 24 UNTIC_COMMENT("horizontal resolution in units per line")},
- {"Yj", 25 UNTIC_COMMENT("vertical resolution in units per line")},
- {"Yk", 26 UNTIC_COMMENT("horizontal resolution in units per inch")},
- {"Yl", 27 UNTIC_COMMENT("vertical resolution in units per inch")},
- {"Ym", 28 UNTIC_COMMENT("print rate in chars per second")},
- {"Yn", 29 UNTIC_COMMENT("character step size when in double wide mode")},
- {"Yo", 31 UNTIC_COMMENT("number of passed for each bit-image row")},
- {"Yp", 32 UNTIC_COMMENT("type of bit-image device")},
- {"co", 0 UNTIC_COMMENT("number of columns in aline")},
- {"dB", 36 UNTIC_COMMENT("padding required for ^H")},
- {"dC", 34 UNTIC_COMMENT("pad needed for CR")},
- {"dN", 35 UNTIC_COMMENT("pad needed for LF")},
- {"dT", 37 UNTIC_COMMENT("padding required for ^I")},
- {"it", 1 UNTIC_COMMENT("tabs initially every # spaces")},
- {"kn", 38 UNTIC_COMMENT("count of function keys")},
- {"lh", 9 UNTIC_COMMENT("rows in each label")},
- {"li", 2 UNTIC_COMMENT("number of lines on screen or page")},
- {"lm", 3 UNTIC_COMMENT("lines of memory if > line. 0 => varies")},
- {"lw", 10 UNTIC_COMMENT("columns in each label")},
- {"ma", 11 UNTIC_COMMENT("maximum combined attributes terminal can handle")},
- {"pa", 14 UNTIC_COMMENT("maximum number of color-pairs on the screen")},
- {"pb", 5 UNTIC_COMMENT("lowest baud rate where padding needed")},
- {"sg", 4 UNTIC_COMMENT("number of blank chars left by smso or rmso")},
- {"ug", 33 UNTIC_COMMENT("number of blanks left by ul")},
- {"vt", 6 UNTIC_COMMENT("virtual terminal number (CB/unix)")},
- {"ws", 7 UNTIC_COMMENT("columns in status line")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-int _SLtt_tigetnum (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL)
- return -1;
-
- if (t->flags == SLTERMCAP) return tcap_getnum (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetnum_Map, t->num_numbers);
- if (offset < 0) return -1;
- return make_integer (t->numbers + 2 * offset);
-}
-
-static Tgetstr_Map_Type Tgetflag_Map[] =
-{
- {"5i", 22 UNTIC_COMMENT("printer won't echo on screen")},
- {"HC", 23 UNTIC_COMMENT("cursor is hard to see")},
- {"MT", 40 UNTIC_COMMENT("has meta key")},
- {"ND", 26 UNTIC_COMMENT("scrolling region is non-destructive")},
- {"NL", 41 UNTIC_COMMENT("move down with \n")},
- {"NP", 25 UNTIC_COMMENT("pad character does not exist")},
- {"NR", 24 UNTIC_COMMENT("smcup does not reverse rmcup")},
- {"YA", 30 UNTIC_COMMENT("only positive motion for hpa/mhpa caps")},
- {"YB", 31 UNTIC_COMMENT("using cr turns off micro mode")},
- {"YC", 32 UNTIC_COMMENT("printer needs operator to change character set")},
- {"YD", 33 UNTIC_COMMENT("only positive motion for vpa/mvpa caps")},
- {"YE", 34 UNTIC_COMMENT("printing in last column causes cr")},
- {"YF", 35 UNTIC_COMMENT("changing character pitch changes resolution")},
- {"YG", 36 UNTIC_COMMENT("changing line pitch changes resolution")},
- {"am", 1 UNTIC_COMMENT("terminal has automatic margins")},
- {"bs", 37 UNTIC_COMMENT("uses ^H to move left")},
- {"bw", 0 UNTIC_COMMENT("cub1 wraps from column 0 to last column")},
- {"cc", 27 UNTIC_COMMENT("terminal can re-define existing colors")},
- {"da", 11 UNTIC_COMMENT("display may be retained above the screen")},
- {"db", 12 UNTIC_COMMENT("display may be retained below the screen")},
- {"eo", 5 UNTIC_COMMENT("can erase overstrikes with a blank")},
- {"es", 16 UNTIC_COMMENT("escape can be used on the status line")},
- {"gn", 6 UNTIC_COMMENT("generic line type")},
- {"hc", 7 UNTIC_COMMENT("hardcopy terminal")},
- {"hl", 29 UNTIC_COMMENT("terminal uses only HLS color notation (tektronix)")},
- {"hs", 9 UNTIC_COMMENT("has extra status line")},
- {"hz", 18 UNTIC_COMMENT("can't print ~'s (hazeltine)")},
- {"in", 10 UNTIC_COMMENT("insert mode distinguishes nulls")},
- {"km", 8 UNTIC_COMMENT("Has a meta key, sets msb high")},
- {"mi", 13 UNTIC_COMMENT("safe to move while in insert mode")},
- {"ms", 14 UNTIC_COMMENT("safe to move while in standout mode")},
- {"nc", 39 UNTIC_COMMENT("no way to go to start of line")},
- {"ns", 38 UNTIC_COMMENT("crt cannot scroll")},
- {"nx", 21 UNTIC_COMMENT("padding won't work, xon/xoff required")},
- {"os", 15 UNTIC_COMMENT("terminal can overstrike")},
- {"pt", 42 UNTIC_COMMENT("has 8-char tabs invoked with ^I")},
- {"ul", 19 UNTIC_COMMENT("underline character overstrikes")},
- {"ut", 28 UNTIC_COMMENT("screen erased with background color")},
- {"xb", 2 UNTIC_COMMENT("beehive (f1=escape, f2=ctrl C)")},
- {"xn", 4 UNTIC_COMMENT("newline ignored after 80 cols (concept)")},
- {"xo", 20 UNTIC_COMMENT("terminal uses xon/xoff handshaking")},
- {"xr", 43 UNTIC_COMMENT("return clears the line")},
- {"xs", 3 UNTIC_COMMENT("standout not erased by overwriting (hp)")},
- {"xt", 17 UNTIC_COMMENT("tabs destructive, magic so char (t1061)")},
- {"", -1 UNTIC_COMMENT(NULL)}
-};
-
-int _SLtt_tigetflag (SLterminfo_Type *t, char *cap)
-{
- int offset;
-
- if (t == NULL) return -1;
-
- if (t->flags == SLTERMCAP) return tcap_getflag (cap, t);
-
- offset = compute_cap_offset (cap, t, Tgetflag_Map, t->boolean_section_size);
-
- if (offset < 0) return -1;
- return (int) *(t->boolean_flags + offset);
-}
-
-/* These are my termcap routines. They only work with the TERMCAP environment
- * variable. This variable must contain the termcap entry and NOT the file.
- */
-
-static int tcap_getflag (char *cap, SLterminfo_Type *t)
-{
- char a, b;
- char *f = (char *) t->boolean_flags;
- char *fmax;
-
- if (f == NULL) return 0;
- fmax = f + t->boolean_section_size;
-
- a = *cap;
- b = *(cap + 1);
- while (f < fmax)
- {
- if ((a == f[0]) && (b == f[1]))
- return 1;
- f += 2;
- }
- return 0;
-}
-
-static char *tcap_get_cap (unsigned char *cap, unsigned char *caps, unsigned int len)
-{
- unsigned char c0, c1;
- unsigned char *caps_max;
-
- c0 = cap[0];
- c1 = cap[1];
-
- if (caps == NULL) return NULL;
- caps_max = caps + len;
- while (caps < caps_max)
- {
- if ((c0 == caps[0]) && (c1 == caps[1]))
- {
- return (char *) caps + 3;
- }
- caps += (int) caps[2];
- }
- return NULL;
-}
-
-static int tcap_getnum (char *cap, SLterminfo_Type *t)
-{
- cap = tcap_get_cap ((unsigned char *) cap, t->numbers, t->num_numbers);
- if (cap == NULL) return -1;
- return atoi (cap);
-}
-
-static char *tcap_getstr (char *cap, SLterminfo_Type *t)
-{
- return tcap_get_cap ((unsigned char *) cap, (unsigned char *) t->string_table, t->string_table_size);
-}
-
-static int tcap_extract_field (unsigned char *t0)
-{
- register unsigned char ch, *t = t0;
- while (((ch = *t) != 0) && (ch != ':')) t++;
- if (ch == ':') return (int) (t - t0);
- return -1;
-}
-
-int SLtt_Try_Termcap = 1;
-static int tcap_getent (char *term, SLterminfo_Type *ti)
-{
- unsigned char *termcap, ch;
- unsigned char *buf, *b;
- unsigned char *t;
- int len;
-
- if (SLtt_Try_Termcap == 0) return -1;
-#if 1
- /* XFREE86 xterm sets the TERMCAP environment variable to an invalid
- * value. Specifically, it lacks the tc= string.
- */
- if (!strncmp (term, "xterm", 5))
- return -1;
-#endif
- termcap = (unsigned char *) getenv ("TERMCAP");
- if ((termcap == NULL) || (*termcap == '/')) return -1;
-
- /* We have a termcap so lets use it provided it does not have a reference
- * to another terminal via tc=. In that case, use terminfo. The alternative
- * would be to parse the termcap file which I do not want to do right now.
- * Besides, this is a terminfo based system and if the termcap were parsed
- * terminfo would almost never get a chance to run. In addition, the tc=
- * thing should not occur if tset is used to set the termcap entry.
- */
- t = termcap;
- while ((len = tcap_extract_field (t)) != -1)
- {
- if ((len > 3) && (t[0] == 't') && (t[1] == 'c') && (t[2] == '='))
- return -1;
- t += (len + 1);
- }
-
- /* malloc some extra space just in case it is needed. */
- len = strlen ((char *) termcap) + 256;
- if (NULL == (buf = (unsigned char *) SLmalloc ((unsigned int) len))) return -1;
-
- b = buf;
-
- /* The beginning of the termcap entry contains the names of the entry.
- * It is terminated by a colon.
- */
-
- ti->terminal_names = (char *) b;
- t = termcap;
- len = tcap_extract_field (t);
- if (len < 0)
- {
- SLfree ((char *)buf);
- return -1;
- }
- strncpy ((char *) b, (char *) t, (unsigned int) len);
- b[len] = 0;
- b += len + 1;
- ti->name_section_size = len;
-
- /* Now, we are really at the start of the termcap entries. Point the
- * termcap variable here since we want to refer to this a number of times.
- */
- termcap = t + (len + 1);
-
- /* Process strings first. */
- ti->string_table = (char *) b;
- t = termcap;
- while (-1 != (len = tcap_extract_field (t)))
- {
- unsigned char *b1;
- unsigned char *tmax;
-
- /* We are looking for: XX=something */
- if ((len < 4) || (t[2] != '=') || (*t == '.'))
- {
- t += len + 1;
- continue;
- }
- tmax = t + len;
- b1 = b;
-
- while (t < tmax)
- {
- ch = *t++;
- if ((ch == '\\') && (t < tmax))
- {
- t = (unsigned char *) _SLexpand_escaped_char ((char *) t, (char *) &ch);
- }
- else if ((ch == '^') && (t < tmax))
- {
- ch = *t++;
- if (ch == '?') ch = 127;
- else ch = (ch | 0x20) - ('a' - 1);
- }
- *b++ = ch;
- }
- /* Null terminate it. */
- *b++ = 0;
- len = (int) (b - b1);
- b1[2] = (unsigned char) len; /* replace the = by the length */
- /* skip colon to next field. */
- t++;
- }
- ti->string_table_size = (int) (b - (unsigned char *) ti->string_table);
-
- /* Now process the numbers. */
-
- t = termcap;
- ti->numbers = b;
- while (-1 != (len = tcap_extract_field (t)))
- {
- unsigned char *b1;
- unsigned char *tmax;
-
- /* We are looking for: XX#NUMBER */
- if ((len < 4) || (t[2] != '#') || (*t == '.'))
- {
- t += len + 1;
- continue;
- }
- tmax = t + len;
- b1 = b;
-
- while (t < tmax)
- {
- *b++ = *t++;
- }
- /* Null terminate it. */
- *b++ = 0;
- len = (int) (b - b1);
- b1[2] = (unsigned char) len; /* replace the # by the length */
- t++;
- }
- ti->num_numbers = (int) (b - ti->numbers);
-
- /* Now process the flags. */
- t = termcap;
- ti->boolean_flags = b;
- while (-1 != (len = tcap_extract_field (t)))
- {
- /* We are looking for: XX#NUMBER */
- if ((len != 2) || (*t == '.') || (*t <= ' '))
- {
- t += len + 1;
- continue;
- }
- b[0] = t[0];
- b[1] = t[1];
- t += 3;
- b += 2;
- }
- ti->boolean_section_size = (int) (b - ti->boolean_flags);
- ti->flags = SLTERMCAP;
- return 0;
-}
-
-
-/* These routines are provided only for backward binary compatability.
- * They will vanish in V2.x
- */
-char *SLtt_tigetent (char *s)
-{
- return (char *) _SLtt_tigetent (s);
-}
-
-extern char *SLtt_tigetstr (char *s, char **p)
-{
- if (p == NULL)
- return NULL;
- return _SLtt_tigetstr ((SLterminfo_Type *) *p, s);
-}
-
-extern int SLtt_tigetnum (char *s, char **p)
-{
- if (p == NULL)
- return -1;
- return _SLtt_tigetnum ((SLterminfo_Type *) *p, s);
-}
-
-
diff --git a/mdk-stage1/slang/sltime.c b/mdk-stage1/slang/sltime.c
deleted file mode 100644
index 14fc6ec16..000000000
--- a/mdk-stage1/slang/sltime.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* time related system calls */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <sys/types.h>
-#include <time.h>
-
-#if defined(__BORLANDC__)
-# include <dos.h>
-#endif
-#if defined(__GO32__) || defined(__WATCOMC__)
-# include <dos.h>
-# include <bios.h>
-#endif
-
-#include <errno.h>
-
-#include "slang.h"
-#include "_slang.h"
-
-#ifdef __WIN32__
-#include <windows.h>
-/* Sleep is defined badly in MSVC... */
-# ifdef _MSC_VER
-# define sleep(n) _sleep((n)*1000)
-# else
-# ifdef sleep
-# undef sleep
-# endif
-# define sleep(x) if(x)Sleep((x)*1000)
-# endif
-#endif
-
-
-#if defined(IBMPC_SYSTEM)
-/* For other system (Unix and VMS), _SLusleep is in sldisply.c */
-int _SLusleep (unsigned long s)
-{
- sleep (s/1000000L);
- s = s % 1000000L;
-
-# if defined(__WIN32__)
- Sleep (s/1000);
-#else
-# if defined(__IBMC__)
- DosSleep(s/1000);
-# else
-# if defined(_MSC_VER)
- _sleep (s/1000);
-# endif
-# endif
-#endif
- return 0;
-}
-#endif
-
-#if defined(__IBMC__) && !defined(_AIX)
-/* sleep is not a standard function in VA3. */
-unsigned int sleep (unsigned int seconds)
-{
- DosSleep(1000L * ((long)seconds));
- return 0;
-}
-#endif
-
-static char *ctime_cmd (unsigned long *tt)
-{
- char *t;
-
- t = ctime ((time_t *) tt);
- t[24] = 0; /* knock off \n */
- return (t);
-}
-
-static void sleep_cmd (void)
-{
- unsigned int secs;
-#if SLANG_HAS_FLOAT
- unsigned long usecs;
- double x;
-
- if (-1 == SLang_pop_double (&x, NULL, NULL))
- return;
-
- if (x < 0.0)
- x = 0.0;
- secs = (unsigned int) x;
- sleep (secs);
- x -= (double) secs;
- usecs = (unsigned long) (1e6 * x);
- if (usecs > 0) _SLusleep (usecs);
-#else
- if (-1 == SLang_pop_uinteger (&secs))
- return;
- if (secs != 0) sleep (secs);
-#endif
-}
-
-static unsigned long _time_cmd (void)
-{
- return (unsigned long) time (NULL);
-}
-
-#if defined(__GO32__)
-static char *djgpp_current_time (void) /*{{{*/
-{
- union REGS rg;
- unsigned int year;
- unsigned char month, day, weekday, hour, minute, sec;
- char days[] = "SunMonTueWedThuFriSat";
- char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
- static char the_date[26];
-
- rg.h.ah = 0x2A;
-#ifndef __WATCOMC__
- int86(0x21, &rg, &rg);
- year = rg.x.cx & 0xFFFF;
-#else
- int386(0x21, &rg, &rg);
- year = rg.x.ecx & 0xFFFF;
-#endif
-
- month = 3 * (rg.h.dh - 1);
- day = rg.h.dl;
- weekday = 3 * rg.h.al;
-
- rg.h.ah = 0x2C;
-
-#ifndef __WATCOMC__
- int86(0x21, &rg, &rg);
-#else
- int386(0x21, &rg, &rg);
-#endif
-
- hour = rg.h.ch;
- minute = rg.h.cl;
- sec = rg.h.dh;
-
- /* we want this form: Thu Apr 14 15:43:39 1994\n */
- sprintf(the_date, "%.3s %.3s%3d %02d:%02d:%02d %d\n",
- days + weekday, months + month,
- day, hour, minute, sec, year);
- return the_date;
-}
-
-/*}}}*/
-
-#endif
-
-char *SLcurrent_time_string (void) /*{{{*/
-{
- char *the_time;
-#ifndef __GO32__
- time_t myclock;
-
- myclock = time((time_t *) 0);
- the_time = (char *) ctime(&myclock);
-#else
- the_time = djgpp_current_time ();
-#endif
- /* returns the form Sun Sep 16 01:03:52 1985\n\0 */
- the_time[24] = '\0';
- return(the_time);
-}
-
-/*}}}*/
-
-static int push_tm_struct (struct tm *tms)
-{
- char *field_names [9];
- unsigned char field_types[9];
- VOID_STAR field_values [9];
- int int_values [9];
- unsigned int i;
-
- if (tms == NULL)
- return SLang_push_null ();
-
- field_names [0] = "tm_sec"; int_values [0] = tms->tm_sec;
- field_names [1] = "tm_min"; int_values [1] = tms->tm_min;
- field_names [2] = "tm_hour"; int_values [2] = tms->tm_hour;
- field_names [3] = "tm_mday"; int_values [3] = tms->tm_mday;
- field_names [4] = "tm_mon"; int_values [4] = tms->tm_mon;
- field_names [5] = "tm_year"; int_values [5] = tms->tm_year;
- field_names [6] = "tm_wday"; int_values [6] = tms->tm_wday;
- field_names [7] = "tm_yday"; int_values [7] = tms->tm_yday;
- field_names [8] = "tm_isdst"; int_values [8] = tms->tm_isdst;
-
- for (i = 0; i < 9; i++)
- {
- field_types [i] = SLANG_INT_TYPE;
- field_values [i] = (VOID_STAR) (int_values + i);
- }
-
- return SLstruct_create_struct (9, field_names, field_types, field_values);
-}
-
-
-static void localtime_cmd (long *t)
-{
- time_t tt = (time_t) *t;
- (void) push_tm_struct (localtime (&tt));
-}
-
-static void gmtime_cmd (long *t)
-{
-#ifdef HAVE_GMTIME
- time_t tt = (time_t) *t;
- (void) push_tm_struct (gmtime (&tt));
-#else
- localtime_cmd (t);
-#endif
-}
-
-#ifdef HAVE_TIMES
-
-# ifdef HAVE_SYS_TIMES_H
-# include <sys/times.h>
-# endif
-
-#include <limits.h>
-
-#ifdef CLK_TCK
-# define SECS_PER_TICK (1.0/(double)CLK_TCK)
-#else
-# ifdef CLOCKS_PER_SEC
-# define SECS_PER_TICK (1.0/(double)CLOCKS_PER_SEC)
-# else
-# define SECS_PER_TICK (1.0/60.0)
-# endif
-#endif
-
-static void times_cmd (void)
-{
- double dvals[4];
- struct tms t;
- VOID_STAR field_values[4];
- char *field_names[4];
- unsigned int i;
- unsigned char field_types[4];
-
- (void) times (&t);
-
- field_names[0] = "tms_utime"; dvals[0] = (double)t.tms_utime;
- field_names[1] = "tms_stime"; dvals[1] = (double)t.tms_stime;
- field_names[2] = "tms_cutime"; dvals[2] = (double)t.tms_cutime;
- field_names[3] = "tms_cstime"; dvals[3] = (double)t.tms_cstime;
-
- for (i = 0; i < 4; i++)
- {
- dvals[i] *= SECS_PER_TICK;
- field_values[i] = (VOID_STAR) &dvals[i];
- field_types[i] = SLANG_DOUBLE_TYPE;
- }
- (void) SLstruct_create_struct (4, field_names, field_types, field_values);
-}
-
-static struct tms Tic_TMS;
-
-static void tic_cmd (void)
-{
- (void) times (&Tic_TMS);
-}
-
-static double toc_cmd (void)
-{
- struct tms t;
- double d;
-
- (void) times (&t);
- d = ((t.tms_utime - Tic_TMS.tms_utime)
- + (t.tms_stime - Tic_TMS.tms_stime)) * SECS_PER_TICK;
- Tic_TMS = t;
- return d;
-}
-
-#endif /* HAVE_TIMES */
-
-
-static SLang_Intrin_Fun_Type Time_Funs_Table [] =
-{
- MAKE_INTRINSIC_1("ctime", ctime_cmd, SLANG_STRING_TYPE, SLANG_ULONG_TYPE),
- MAKE_INTRINSIC_0("sleep", sleep_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("_time", _time_cmd, SLANG_ULONG_TYPE),
- MAKE_INTRINSIC_0("time", SLcurrent_time_string, SLANG_STRING_TYPE),
- MAKE_INTRINSIC_1("localtime", localtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
- MAKE_INTRINSIC_1("gmtime", gmtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
-
-#ifdef HAVE_TIMES
- MAKE_INTRINSIC_0("times", times_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("tic", tic_cmd, SLANG_VOID_TYPE),
- MAKE_INTRINSIC_0("toc", toc_cmd, SLANG_DOUBLE_TYPE),
-#endif
- SLANG_END_INTRIN_FUN_TABLE
-};
-
-int _SLang_init_sltime (void)
-{
-#ifdef HAVE_TIMES
- (void) tic_cmd ();
-#endif
- return SLadd_intrin_fun_table (Time_Funs_Table, NULL);
-}
-
diff --git a/mdk-stage1/slang/sltoken.c b/mdk-stage1/slang/sltoken.c
deleted file mode 100644
index d08967a24..000000000
--- a/mdk-stage1/slang/sltoken.c
+++ /dev/null
@@ -1,1702 +0,0 @@
-/* Copyright (c) 1998, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-#include "slinclud.h"
-
-#include "slang.h"
-#include "_slang.h"
-
-#define MAX_TOKEN_LEN 254
-#define MAX_FILE_LINE_LEN 256
-
-static char Empty_Line[1] = {0};
-
-static int Default_Compile_Line_Num_Info;
-static char *Input_Line = Empty_Line;
-static char *Input_Line_Pointer;
-
-static SLPreprocess_Type *This_SLpp;
-
-static SLang_Load_Type *LLT;
-
-static char *map_token_to_string (_SLang_Token_Type *tok)
-{
- char *s;
- static char numbuf [32];
- unsigned char type;
- s = NULL;
-
- if (tok != NULL) type = tok->type;
- else type = 0;
-
- switch (type)
- {
- case 0:
- s = "??";
- break;
-
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- s = numbuf;
- sprintf (s, "%ld", tok->v.long_val);
- break;
-
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- s = numbuf;
- sprintf (s, "%lu", (unsigned long)tok->v.long_val);
- break;
-
- case OBRACKET_TOKEN: s = "["; break;
- case CBRACKET_TOKEN: s = "]"; break;
- case OPAREN_TOKEN: s = "("; break;
- case CPAREN_TOKEN: s = ")"; break;
- case OBRACE_TOKEN: s = "{"; break;
- case CBRACE_TOKEN: s = "}"; break;
- case DEREF_TOKEN: s = "@"; break;
- case POUND_TOKEN: s = "#"; break;
- case COMMA_TOKEN: s = ","; break;
- case SEMICOLON_TOKEN: s = ";"; break;
- case COLON_TOKEN: s = ":"; break;
-
-#if SLANG_HAS_FLOAT
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- case COMPLEX_TOKEN:
-#endif
- case IDENT_TOKEN:
- if ((tok->free_sval_flag == 0) || (tok->num_refs == 0))
- break;
- /* drop */
- default:
- s = tok->v.s_val;
- break;
- }
-
- if (s == NULL)
- {
- s = numbuf;
- sprintf (s, "(0x%02X)", type);
- }
-
- return s;
-}
-
-static char *make_line_file_error (char *buf, unsigned int buflen,
- _SLang_Token_Type *tok, char *dsc, int line, char *file)
-{
-#if _SLANG_HAS_DEBUG_CODE
- if (tok != NULL) line = tok->line_number;
-#endif
- if (file == NULL) file = "??";
-
- (void) _SLsnprintf (buf, buflen, "%s: found '%s', line %d, file: %s",
- dsc, map_token_to_string (tok), line, file);
-
- return buf;
-}
-
-void _SLparse_error(char *str, _SLang_Token_Type *tok, int flag)
-{
- char buf [1024];
-
- if (str == NULL)
- str = "Parse Error";
-
- make_line_file_error (buf, sizeof (buf), tok, str, LLT->line_num, (char *) LLT->name);
-
- if ((flag == 0) && SLang_Error)
- return;
-
- SLang_verror (SL_SYNTAX_ERROR, "%s", buf);
-}
-
-static void do_line_file_error (int line, char *file)
-{
- SLang_verror (SL_SYNTAX_ERROR,
- "called from line %d, file: %s", line, file);
-}
-
-#define ALPHA_CHAR 1
-#define DIGIT_CHAR 2
-#define EXCL_CHAR 3
-#define SEP_CHAR 4
-#define OP_CHAR 5
-#define DOT_CHAR 6
-#define BOLDOT_CHAR 7
-#define DQUOTE_CHAR 8
-#define QUOTE_CHAR 9
-#define COMMENT_CHAR 10
-#define NL_CHAR 11
-#define BAD_CHAR 12
-#define WHITE_CHAR 13
-
-#define CHAR_EOF 255
-
-#define CHAR_CLASS(c) (Char_Type_Table[(c)][0])
-#define CHAR_DATA(c) (Char_Type_Table[(c)][1])
-
-/* In this table, if a single character can represent an operator, e.g.,
- * '&' (BAND_TOKEN), then it must be placed before multiple-character
- * operators that begin with the same character, e.g., "&=". See
- * get_op_token to see how this is exploited.
- *
- * The third character null terminates the operator string. This is for
- * the token structure.
- */
-static char Operators [29][4] =
-{
-#define OFS_EXCL 0
- {'!', '=', 0, NE_TOKEN},
-#define OFS_POUND 1
- {'#', 0, 0, POUND_TOKEN},
-#define OFS_BAND 2
- {'&', 0, 0, BAND_TOKEN},
- {'&', '&', 0, EOF_TOKEN},
- {'&', '=', 0, BANDEQS_TOKEN},
-#define OFS_STAR 5
- {'*', 0, 0, TIMES_TOKEN},
- {'*', '=', 0, TIMESEQS_TOKEN},
-#define OFS_PLUS 7
- {'+', 0, 0, ADD_TOKEN},
- {'+', '+', 0, PLUSPLUS_TOKEN},
- {'+', '=', 0, PLUSEQS_TOKEN},
-#define OFS_MINUS 10
- {'-', 0, 0, SUB_TOKEN},
- {'-', '-', 0, MINUSMINUS_TOKEN},
- {'-', '=', 0, MINUSEQS_TOKEN},
- {'-', '>', 0, NAMESPACE_TOKEN},
-#define OFS_DIV 14
- {'/', 0, 0, DIV_TOKEN},
- {'/', '=', 0, DIVEQS_TOKEN},
-#define OFS_LT 16
- {'<', 0, 0, LT_TOKEN},
- {'<', '=', 0, LE_TOKEN},
-#define OFS_EQS 18
- {'=', 0, 0, ASSIGN_TOKEN},
- {'=', '=', 0, EQ_TOKEN},
-#define OFS_GT 20
- {'>', 0, 0, GT_TOKEN},
- {'>', '=', 0, GE_TOKEN},
-#define OFS_AT 22
- {'@', 0, 0, DEREF_TOKEN},
-#define OFS_POW 23
- {'^', 0, 0, POW_TOKEN},
-#define OFS_BOR 24
- {'|', 0, 0, BOR_TOKEN},
- {'|', '|', 0, EOF_TOKEN},
- {'|', '=', 0, BOREQS_TOKEN},
-#define OFS_BNOT 27
- {'~', 0, 0, BNOT_TOKEN},
- { 0, 0, 0, EOF_TOKEN}
-};
-
-static unsigned char Char_Type_Table[256][2] =
-{
- { NL_CHAR, 0 }, /* 0x0 */ { BAD_CHAR, 0 }, /* 0x1 */
- { BAD_CHAR, 0 }, /* 0x2 */ { BAD_CHAR, 0 }, /* 0x3 */
- { BAD_CHAR, 0 }, /* 0x4 */ { BAD_CHAR, 0 }, /* 0x5 */
- { BAD_CHAR, 0 }, /* 0x6 */ { BAD_CHAR, 0 }, /* 0x7 */
- { WHITE_CHAR, 0 }, /* 0x8 */ { WHITE_CHAR, 0 }, /* 0x9 */
- { NL_CHAR, 0 }, /* \n */ { WHITE_CHAR, 0 }, /* 0xb */
- { WHITE_CHAR, 0 }, /* 0xc */ { WHITE_CHAR, 0 }, /* \r */
- { BAD_CHAR, 0 }, /* 0xe */ { BAD_CHAR, 0 }, /* 0xf */
- { BAD_CHAR, 0 }, /* 0x10 */ { BAD_CHAR, 0 }, /* 0x11 */
- { BAD_CHAR, 0 }, /* 0x12 */ { BAD_CHAR, 0 }, /* 0x13 */
- { BAD_CHAR, 0 }, /* 0x14 */ { BAD_CHAR, 0 }, /* 0x15 */
- { BAD_CHAR, 0 }, /* 0x16 */ { BAD_CHAR, 0 }, /* 0x17 */
- { BAD_CHAR, 0 }, /* 0x18 */ { BAD_CHAR, 0 }, /* 0x19 */
- { BAD_CHAR, 0 }, /* 0x1a */ { BAD_CHAR, 0 }, /* 0x1b */
- { BAD_CHAR, 0 }, /* 0x1c */ { BAD_CHAR, 0 }, /* 0x1d */
- { BAD_CHAR, 0 }, /* 0x1e */ { BAD_CHAR, 0 }, /* 0x1f */
- { WHITE_CHAR, 0 }, /* 0x20 */ { EXCL_CHAR, OFS_EXCL }, /* ! */
- { DQUOTE_CHAR, 0 }, /* " */ { OP_CHAR, OFS_POUND }, /* # */
- { ALPHA_CHAR, 0 }, /* $ */ { NL_CHAR, 0 },/* % */
- { OP_CHAR, OFS_BAND }, /* & */ { QUOTE_CHAR, 0 }, /* ' */
- { SEP_CHAR, OPAREN_TOKEN }, /* ( */ { SEP_CHAR, CPAREN_TOKEN }, /* ) */
- { OP_CHAR, OFS_STAR }, /* * */ { OP_CHAR, OFS_PLUS}, /* + */
- { SEP_CHAR, COMMA_TOKEN }, /* , */ { OP_CHAR, OFS_MINUS }, /* - */
- { DOT_CHAR, 0 }, /* . */ { OP_CHAR, OFS_DIV }, /* / */
- { DIGIT_CHAR, 0 }, /* 0 */ { DIGIT_CHAR, 0 }, /* 1 */
- { DIGIT_CHAR, 0 }, /* 2 */ { DIGIT_CHAR, 0 }, /* 3 */
- { DIGIT_CHAR, 0 }, /* 4 */ { DIGIT_CHAR, 0 }, /* 5 */
- { DIGIT_CHAR, 0 }, /* 6 */ { DIGIT_CHAR, 0 }, /* 7 */
- { DIGIT_CHAR, 0 }, /* 8 */ { DIGIT_CHAR, 0 }, /* 9 */
- { SEP_CHAR, COLON_TOKEN }, /* : */ { SEP_CHAR, SEMICOLON_TOKEN }, /* ; */
- { OP_CHAR, OFS_LT }, /* < */ { OP_CHAR, OFS_EQS }, /* = */
- { OP_CHAR, OFS_GT }, /* > */ { BAD_CHAR, 0 }, /* ? */
- { OP_CHAR, OFS_AT}, /* @ */ { ALPHA_CHAR, 0 }, /* A */
- { ALPHA_CHAR, 0 }, /* B */ { ALPHA_CHAR, 0 }, /* C */
- { ALPHA_CHAR, 0 }, /* D */ { ALPHA_CHAR, 0 }, /* E */
- { ALPHA_CHAR, 0 }, /* F */ { ALPHA_CHAR, 0 }, /* G */
- { ALPHA_CHAR, 0 }, /* H */ { ALPHA_CHAR, 0 }, /* I */
- { ALPHA_CHAR, 0 }, /* J */ { ALPHA_CHAR, 0 }, /* K */
- { ALPHA_CHAR, 0 }, /* L */ { ALPHA_CHAR, 0 }, /* M */
- { ALPHA_CHAR, 0 }, /* N */ { ALPHA_CHAR, 0 }, /* O */
- { ALPHA_CHAR, 0 }, /* P */ { ALPHA_CHAR, 0 }, /* Q */
- { ALPHA_CHAR, 0 }, /* R */ { ALPHA_CHAR, 0 }, /* S */
- { ALPHA_CHAR, 0 }, /* T */ { ALPHA_CHAR, 0 }, /* U */
- { ALPHA_CHAR, 0 }, /* V */ { ALPHA_CHAR, 0 }, /* W */
- { ALPHA_CHAR, 0 }, /* X */ { ALPHA_CHAR, 0 }, /* Y */
- { ALPHA_CHAR, 0 }, /* Z */ { SEP_CHAR, OBRACKET_TOKEN }, /* [ */
- { BAD_CHAR, 0 }, /* \ */ { SEP_CHAR, CBRACKET_TOKEN }, /* ] */
- { OP_CHAR, OFS_POW }, /* ^ */ { ALPHA_CHAR, 0 }, /* _ */
- { BAD_CHAR, 0 }, /* ` */ { ALPHA_CHAR, 0 }, /* a */
- { ALPHA_CHAR, 0 }, /* b */ { ALPHA_CHAR, 0 }, /* c */
- { ALPHA_CHAR, 0 }, /* d */ { ALPHA_CHAR, 0 }, /* e */
- { ALPHA_CHAR, 0 }, /* f */ { ALPHA_CHAR, 0 }, /* g */
- { ALPHA_CHAR, 0 }, /* h */ { ALPHA_CHAR, 0 }, /* i */
- { ALPHA_CHAR, 0 }, /* j */ { ALPHA_CHAR, 0 }, /* k */
- { ALPHA_CHAR, 0 }, /* l */ { ALPHA_CHAR, 0 }, /* m */
- { ALPHA_CHAR, 0 }, /* n */ { ALPHA_CHAR, 0 }, /* o */
- { ALPHA_CHAR, 0 }, /* p */ { ALPHA_CHAR, 0 }, /* q */
- { ALPHA_CHAR, 0 }, /* r */ { ALPHA_CHAR, 0 }, /* s */
- { ALPHA_CHAR, 0 }, /* t */ { ALPHA_CHAR, 0 }, /* u */
- { ALPHA_CHAR, 0 }, /* v */ { ALPHA_CHAR, 0 }, /* w */
- { ALPHA_CHAR, 0 }, /* x */ { ALPHA_CHAR, 0 }, /* y */
- { ALPHA_CHAR, 0 }, /* z */ { SEP_CHAR, OBRACE_TOKEN }, /* { */
- { OP_CHAR, OFS_BOR }, /* | */ { SEP_CHAR, CBRACE_TOKEN }, /* } */
- { OP_CHAR, OFS_BNOT }, /* ~ */ { BAD_CHAR, 0 }, /* 0x7f */
-
- { ALPHA_CHAR, 0 }, /* € */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* ‚ */ { ALPHA_CHAR, 0 }, /* ƒ */
- { ALPHA_CHAR, 0 }, /* „ */ { ALPHA_CHAR, 0 }, /* … */
- { ALPHA_CHAR, 0 }, /* † */ { ALPHA_CHAR, 0 }, /* ‡ */
- { ALPHA_CHAR, 0 }, /* ˆ */ { ALPHA_CHAR, 0 }, /* ‰ */
- { ALPHA_CHAR, 0 }, /* Š */ { ALPHA_CHAR, 0 }, /* ‹ */
- { ALPHA_CHAR, 0 }, /* Œ */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* Ž */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* */ { ALPHA_CHAR, 0 }, /* ‘ */
- { ALPHA_CHAR, 0 }, /* ’ */ { ALPHA_CHAR, 0 }, /* “ */
- { ALPHA_CHAR, 0 }, /* ” */ { ALPHA_CHAR, 0 }, /* • */
- { ALPHA_CHAR, 0 }, /* – */ { ALPHA_CHAR, 0 }, /* — */
- { ALPHA_CHAR, 0 }, /* ˜ */ { ALPHA_CHAR, 0 }, /* ™ */
- { ALPHA_CHAR, 0 }, /* š */ { ALPHA_CHAR, 0 }, /* › */
- { ALPHA_CHAR, 0 }, /* œ */ { ALPHA_CHAR, 0 }, /* */
- { ALPHA_CHAR, 0 }, /* ž */ { ALPHA_CHAR, 0 }, /* Ÿ */
- { ALPHA_CHAR, 0 }, /*   */ { ALPHA_CHAR, 0 }, /* ¡ */
- { ALPHA_CHAR, 0 }, /* ¢ */ { ALPHA_CHAR, 0 }, /* £ */
- { ALPHA_CHAR, 0 }, /* ¤ */ { ALPHA_CHAR, 0 }, /* ¥ */
- { ALPHA_CHAR, 0 }, /* ¦ */ { ALPHA_CHAR, 0 }, /* § */
- { ALPHA_CHAR, 0 }, /* ¨ */ { ALPHA_CHAR, 0 }, /* © */
- { ALPHA_CHAR, 0 }, /* ª */ { ALPHA_CHAR, 0 }, /* « */
- { ALPHA_CHAR, 0 }, /* ¬ */ { ALPHA_CHAR, 0 }, /* ­ */
- { ALPHA_CHAR, 0 }, /* ® */ { ALPHA_CHAR, 0 }, /* ¯ */
- { ALPHA_CHAR, 0 }, /* ° */ { ALPHA_CHAR, 0 }, /* ± */
- { ALPHA_CHAR, 0 }, /* ² */ { ALPHA_CHAR, 0 }, /* ³ */
- { ALPHA_CHAR, 0 }, /* ´ */ { ALPHA_CHAR, 0 }, /* µ */
- { ALPHA_CHAR, 0 }, /* ¶ */ { ALPHA_CHAR, 0 }, /* · */
- { ALPHA_CHAR, 0 }, /* ¸ */ { ALPHA_CHAR, 0 }, /* ¹ */
- { ALPHA_CHAR, 0 }, /* º */ { ALPHA_CHAR, 0 }, /* » */
- { ALPHA_CHAR, 0 }, /* ¼ */ { ALPHA_CHAR, 0 }, /* ½ */
- { ALPHA_CHAR, 0 }, /* ¾ */ { ALPHA_CHAR, 0 }, /* ¿ */
- { ALPHA_CHAR, 0 }, /* À */ { ALPHA_CHAR, 0 }, /* Á */
- { ALPHA_CHAR, 0 }, /* Â */ { ALPHA_CHAR, 0 }, /* Ã */
- { ALPHA_CHAR, 0 }, /* Ä */ { ALPHA_CHAR, 0 }, /* Å */
- { ALPHA_CHAR, 0 }, /* Æ */ { ALPHA_CHAR, 0 }, /* Ç */
- { ALPHA_CHAR, 0 }, /* È */ { ALPHA_CHAR, 0 }, /* É */
- { ALPHA_CHAR, 0 }, /* Ê */ { ALPHA_CHAR, 0 }, /* Ë */
- { ALPHA_CHAR, 0 }, /* Ì */ { ALPHA_CHAR, 0 }, /* Í */
- { ALPHA_CHAR, 0 }, /* Î */ { ALPHA_CHAR, 0 }, /* Ï */
- { ALPHA_CHAR, 0 }, /* Ð */ { ALPHA_CHAR, 0 }, /* Ñ */
- { ALPHA_CHAR, 0 }, /* Ò */ { ALPHA_CHAR, 0 }, /* Ó */
- { ALPHA_CHAR, 0 }, /* Ô */ { ALPHA_CHAR, 0 }, /* Õ */
- { ALPHA_CHAR, 0 }, /* Ö */ { ALPHA_CHAR, 0 }, /* × */
- { ALPHA_CHAR, 0 }, /* Ø */ { ALPHA_CHAR, 0 }, /* Ù */
- { ALPHA_CHAR, 0 }, /* Ú */ { ALPHA_CHAR, 0 }, /* Û */
- { ALPHA_CHAR, 0 }, /* Ü */ { ALPHA_CHAR, 0 }, /* Ý */
- { ALPHA_CHAR, 0 }, /* Þ */ { ALPHA_CHAR, 0 }, /* ß */
- { ALPHA_CHAR, 0 }, /* à */ { ALPHA_CHAR, 0 }, /* á */
- { ALPHA_CHAR, 0 }, /* â */ { ALPHA_CHAR, 0 }, /* ã */
- { ALPHA_CHAR, 0 }, /* ä */ { ALPHA_CHAR, 0 }, /* å */
- { ALPHA_CHAR, 0 }, /* æ */ { ALPHA_CHAR, 0 }, /* ç */
- { ALPHA_CHAR, 0 }, /* è */ { ALPHA_CHAR, 0 }, /* é */
- { ALPHA_CHAR, 0 }, /* ê */ { ALPHA_CHAR, 0 }, /* ë */
- { ALPHA_CHAR, 0 }, /* ì */ { ALPHA_CHAR, 0 }, /* í */
- { ALPHA_CHAR, 0 }, /* î */ { ALPHA_CHAR, 0 }, /* ï */
- { ALPHA_CHAR, 0 }, /* ð */ { ALPHA_CHAR, 0 }, /* ñ */
- { ALPHA_CHAR, 0 }, /* ò */ { ALPHA_CHAR, 0 }, /* ó */
- { ALPHA_CHAR, 0 }, /* ô */ { ALPHA_CHAR, 0 }, /* õ */
- { ALPHA_CHAR, 0 }, /* ö */ { ALPHA_CHAR, 0 }, /* ÷ */
- { ALPHA_CHAR, 0 }, /* ø */ { ALPHA_CHAR, 0 }, /* ù */
- { ALPHA_CHAR, 0 }, /* ú */ { ALPHA_CHAR, 0 }, /* û */
- { ALPHA_CHAR, 0 }, /* ü */ { ALPHA_CHAR, 0 }, /* ý */
- { ALPHA_CHAR, 0 }, /* þ */ { ALPHA_CHAR, 0 }, /* ÿ */
-};
-
-int _SLcheck_identifier_syntax (char *name)
-{
- unsigned char *p;
-
- p = (unsigned char *) name;
- if (ALPHA_CHAR == Char_Type_Table[*p][0]) while (1)
- {
- unsigned ch;
- unsigned char type;
-
- ch = *++p;
-
- type = Char_Type_Table [ch][0];
- if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
- {
- if (ch == 0)
- return 0;
- break;
- }
- }
-
- SLang_verror (SL_SYNTAX_ERROR,
- "Name %s contains an illegal character", name);
- return -1;
-}
-
-static unsigned char prep_get_char (void)
-{
- register unsigned char ch;
-
- if (0 != (ch = *Input_Line_Pointer++))
- return ch;
-
- Input_Line_Pointer--;
- return 0;
-}
-
-static void unget_prep_char (unsigned char ch)
-{
- if ((Input_Line_Pointer != Input_Line)
- && (ch != 0))
- Input_Line_Pointer--;
- /* *Input_Line_Pointer = ch; -- Do not modify the Input_Line */
-}
-
-#include "keywhash.c"
-
-static int get_ident_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
-{
- unsigned char ch;
- unsigned char type;
- Keyword_Table_Type *table;
-
- while (1)
- {
- ch = prep_get_char ();
- type = CHAR_CLASS (ch);
- if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
- {
- unget_prep_char (ch);
- break;
- }
- s [len++] = ch;
- }
-
- s[len] = 0;
-
- /* check if keyword */
- table = is_keyword ((char *) s, len);
- if (table != NULL)
- {
- tok->v.s_val = table->name;
- return (tok->type = table->type);
- }
-
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = IDENT_TOKEN);
-}
-
-static int get_number_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
-{
- unsigned char ch;
- unsigned char type;
-
- /* Look for pattern [0-9.xX]*([eE][-+]?[digits])?[ijfhul]? */
- while (1)
- {
- ch = prep_get_char ();
-
- type = CHAR_CLASS (ch);
- if ((type != DIGIT_CHAR) && (type != DOT_CHAR))
- {
- if ((ch != 'x') && (ch != 'X'))
- break;
- /* It must be hex */
- do
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
-
- s[len++] = ch;
- ch = prep_get_char ();
- type = CHAR_CLASS (ch);
- }
- while ((type == DIGIT_CHAR) || (type == ALPHA_CHAR));
- break;
- }
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s [len++] = ch;
- }
-
- /* At this point, type and ch are synchronized */
-
- if ((ch == 'e') || (ch == 'E'))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- if ((ch == '+') || (ch == '-'))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- }
-
- while (DIGIT_CHAR == (type = CHAR_CLASS(ch)))
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- }
- }
-
- while (ALPHA_CHAR == type)
- {
- if (len == (MAX_TOKEN_LEN - 1))
- goto too_long_return_error;
- s[len++] = ch;
- ch = prep_get_char ();
- type = CHAR_CLASS(ch);
- }
-
- unget_prep_char (ch);
- s[len] = 0;
-
- switch (SLang_guess_type ((char *) s))
- {
- default:
- tok->v.s_val = (char *) s;
- _SLparse_error ("Not a number", tok, 0);
- return (tok->type = EOF_TOKEN);
-
-#if SLANG_HAS_FLOAT
- case SLANG_FLOAT_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = FLOAT_TOKEN);
-
- case SLANG_DOUBLE_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = DOUBLE_TOKEN);
-#endif
-#if SLANG_HAS_COMPLEX
- case SLANG_COMPLEX_TYPE:
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = COMPLEX_TOKEN);
-#endif
- case SLANG_CHAR_TYPE:
- tok->v.long_val = (char)SLatol (s);
- return tok->type = CHAR_TOKEN;
- case SLANG_UCHAR_TYPE:
- tok->v.long_val = (unsigned char)SLatol (s);
- return tok->type = UCHAR_TOKEN;
- case SLANG_SHORT_TYPE:
- tok->v.long_val = (short)SLatol (s);
- return tok->type = SHORT_TOKEN;
- case SLANG_USHORT_TYPE:
- tok->v.long_val = (unsigned short)SLatoul (s);
- return tok->type = USHORT_TOKEN;
- case SLANG_INT_TYPE:
- tok->v.long_val = (int)SLatol (s);
- return tok->type = INT_TOKEN;
- case SLANG_UINT_TYPE:
- tok->v.long_val = (unsigned int)SLatoul (s);
- return tok->type = UINT_TOKEN;
- case SLANG_LONG_TYPE:
- tok->v.long_val = SLatol (s);
- return tok->type = LONG_TOKEN;
- case SLANG_ULONG_TYPE:
- tok->v.long_val = SLatoul (s);
- return tok->type = ULONG_TOKEN;
- }
-
- too_long_return_error:
- _SLparse_error ("Number too long for buffer", NULL, 0);
- return (tok->type == EOF_TOKEN);
-}
-
-static int get_op_token (_SLang_Token_Type *tok, char ch)
-{
- unsigned int offset;
- char second_char;
- unsigned char type;
- char *name;
-
- /* operators are: + - / * ++ -- += -= = == != > < >= <= | etc..
- * These lex to the longest valid operator token.
- */
-
- offset = CHAR_DATA((unsigned char) ch);
- if (0 == Operators [offset][1])
- {
- name = Operators [offset];
- type = name [3];
- }
- else
- {
- type = EOF_TOKEN;
- name = NULL;
- }
-
- second_char = prep_get_char ();
- do
- {
- if (second_char == Operators[offset][1])
- {
- name = Operators [offset];
- type = name [3];
- break;
- }
- offset++;
- }
- while (ch == Operators[offset][0]);
-
- tok->type = type;
-
- if (type == EOF_TOKEN)
- {
- _SLparse_error ("Operator not supported", NULL, 0);
- return type;
- }
-
- tok->v.s_val = name;
-
- if (name[1] == 0)
- unget_prep_char (second_char);
-
- return type;
-}
-
-/* If this returns non-zero, then it is a binary string */
-static int expand_escaped_string (register char *s,
- register char *t, register char *tmax,
- unsigned int *lenp)
-{
- char *s0;
- int is_binary = 0;
- char ch;
-
- s0 = s;
- while (t < tmax)
- {
- ch = *t++;
- if (ch == '\\')
- {
- t = _SLexpand_escaped_char (t, &ch);
- if (ch == 0) is_binary = 1;
- }
- *s++ = ch;
- }
- *s = 0;
-
- *lenp = (unsigned char) (s - s0);
- return is_binary;
-}
-
-static int get_string_token (_SLang_Token_Type *tok, unsigned char quote_char,
- unsigned char *s)
-{
- unsigned char ch;
- unsigned int len = 0;
- int has_quote = 0;
- int is_binary;
-
- while (1)
- {
- ch = prep_get_char ();
- if (ch == 0)
- {
- _SLparse_error("Expecting quote-character", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
- if (ch == quote_char) break;
-
- s[len++] = ch;
-
- if (len == (MAX_TOKEN_LEN - 1))
- {
- _SLparse_error ("String too long for buffer", NULL, 0);
- return (tok->type == EOF_TOKEN);
- }
-
- if (ch == '\\')
- {
- has_quote = 1;
- ch = prep_get_char ();
- s[len++] = ch;
- }
- }
-
- s[len] = 0;
-
- if (has_quote)
- is_binary = expand_escaped_string ((char *) s, (char *)s, (char *)s + len, &len);
- else is_binary = 0;
-
- if ('"' == quote_char)
- {
- tok->free_sval_flag = 1;
- if (is_binary)
- {
- tok->v.b_val = SLbstring_create (s, len);
- return tok->type = BSTRING_TOKEN;
- }
- else
- {
- tok->v.s_val = _SLstring_make_hashed_string ((char *)s,
- len,
- &tok->hash);
- tok->free_sval_flag = 1;
- return (tok->type = STRING_TOKEN);
- }
- }
-
- /* else single character */
- if (s[1] != 0)
- {
- _SLparse_error("Single char expected", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
-
- tok->v.long_val = s[0];
- return (tok->type = UCHAR_TOKEN);
-}
-
-static int extract_token (_SLang_Token_Type *tok, unsigned char ch, unsigned char t)
-{
- unsigned char s [MAX_TOKEN_LEN];
- unsigned int slen;
-
- s[0] = (char) ch;
- slen = 1;
-
- switch (t)
- {
- case ALPHA_CHAR:
- return get_ident_token (tok, s, slen);
-
- case OP_CHAR:
- return get_op_token (tok, ch);
-
- case DIGIT_CHAR:
- return get_number_token (tok, s, slen);
-
- case EXCL_CHAR:
- ch = prep_get_char ();
- s [slen++] = ch;
- t = CHAR_CLASS(ch);
- if (t == ALPHA_CHAR) return get_ident_token (tok, s, slen);
- if (t == OP_CHAR)
- {
- unget_prep_char (ch);
- return get_op_token (tok, '!');
- }
- _SLparse_error("Misplaced !", NULL, 0);
- return -1;
-
- case DOT_CHAR:
- ch = prep_get_char ();
- if (DIGIT_CHAR == CHAR_CLASS(ch))
- {
- s [slen++] = ch;
- return get_number_token (tok, s, slen);
- }
- unget_prep_char (ch);
- return (tok->type = DOT_TOKEN);
-
- case SEP_CHAR:
- return (tok->type = CHAR_DATA(ch));
-
- case DQUOTE_CHAR:
- case QUOTE_CHAR:
- return get_string_token (tok, ch, s);
-
- default:
- _SLparse_error("Invalid character", NULL, 0);
- return (tok->type = EOF_TOKEN);
- }
-}
-
-int _SLget_rpn_token (_SLang_Token_Type *tok)
-{
- unsigned char ch;
-
- tok->v.s_val = "??";
- while ((ch = *Input_Line_Pointer) != 0)
- {
- unsigned char t;
-
- Input_Line_Pointer++;
- if (WHITE_CHAR == (t = CHAR_CLASS(ch)))
- continue;
-
- if (NL_CHAR == t)
- break;
-
- return extract_token (tok, ch, t);
- }
- Input_Line_Pointer = Empty_Line;
- return EOF_TOKEN;
-}
-
-int _SLget_token (_SLang_Token_Type *tok)
-{
- unsigned char ch;
- unsigned char t;
-
- tok->num_refs = 1;
- tok->free_sval_flag = 0;
- tok->v.s_val = "??";
-#if _SLANG_HAS_DEBUG_CODE
- tok->line_number = LLT->line_num;
-#endif
- if (SLang_Error || (Input_Line == NULL))
- return (tok->type = EOF_TOKEN);
-
- while (1)
- {
- ch = *Input_Line_Pointer++;
- if (WHITE_CHAR == (t = CHAR_CLASS (ch)))
- continue;
-
- if (t != NL_CHAR)
- return extract_token (tok, ch, t);
-
- do
- {
- LLT->line_num++;
-#if _SLANG_HAS_DEBUG_CODE
- tok->line_number++;
-#endif
- Input_Line = LLT->read(LLT);
- if ((NULL == Input_Line) || SLang_Error)
- {
- Input_Line_Pointer = Input_Line = NULL;
- return (tok->type = EOF_TOKEN);
- }
- }
- while (0 == SLprep_line_ok(Input_Line, This_SLpp));
-
- Input_Line_Pointer = Input_Line;
- if (*Input_Line_Pointer == '.')
- {
- Input_Line_Pointer++;
- return tok->type = RPN_TOKEN;
- }
- }
-}
-
-static int prep_exists_function (char *line, char comment)
-{
- char buf[MAX_FILE_LINE_LEN], *b, *bmax;
- unsigned char ch;
-
- bmax = buf + (sizeof (buf) - 1);
-
- while (1)
- {
- /* skip whitespace */
- while ((ch = (unsigned char) *line),
- ch && (ch != '\n') && (ch <= ' '))
- line++;
-
- if ((ch <= '\n')
- || (ch == (unsigned char) comment)) break;
-
- b = buf;
- while ((ch = (unsigned char) *line) > ' ')
- {
- if (b < bmax) *b++ = (char) ch;
- line++;
- }
- *b = 0;
-
- if (SLang_is_defined (buf))
- return 1;
- }
-
- return 0;
-}
-
-static int prep_eval_expr (char *expr)
-{
- int ret;
-
- if (0 != SLang_load_string (expr))
- return -1;
- if (-1 == SLang_pop_integer (&ret))
- return -1;
- return (ret != 0);
-}
-
-
-int SLang_load_object (SLang_Load_Type *x)
-{
- SLPreprocess_Type this_pp;
- SLPreprocess_Type *save_this_pp;
- SLang_Load_Type *save_llt;
- char *save_input_line, *save_input_line_ptr;
-#if _SLANG_HAS_DEBUG_CODE
- int save_compile_line_num_info;
-#endif
- int save_auto_declare_variables;
-
- if (SLprep_exists_hook == NULL)
- SLprep_exists_hook = prep_exists_function;
-
- if (_SLprep_eval_hook == NULL)
- _SLprep_eval_hook = prep_eval_expr;
-
- if (-1 == SLprep_open_prep (&this_pp)) return -1;
-
- if (-1 == _SLcompile_push_context (x))
- return -1;
-
-#if _SLANG_HAS_DEBUG_CODE
- save_compile_line_num_info = _SLang_Compile_Line_Num_Info;
-#endif
- save_this_pp = This_SLpp;
- save_input_line = Input_Line;
- save_input_line_ptr = Input_Line_Pointer;
- save_llt = LLT;
- save_auto_declare_variables = _SLang_Auto_Declare_Globals;
-
- This_SLpp = &this_pp;
- Input_Line_Pointer = Input_Line = Empty_Line;
- LLT = x;
-
- x->line_num = 0;
- x->parse_level = 0;
- _SLang_Auto_Declare_Globals = x->auto_declare_globals;
-
-#if _SLANG_HAS_DEBUG_CODE
- _SLang_Compile_Line_Num_Info = Default_Compile_Line_Num_Info;
-#endif
-
- _SLparse_start (x);
- if (SLang_Error)
- do_line_file_error (x->line_num, x->name);
-
- _SLang_Auto_Declare_Globals = save_auto_declare_variables;
-
- if (SLang_Error) SLang_restart (0);
-
- (void) _SLcompile_pop_context ();
-
- Input_Line = save_input_line;
- Input_Line_Pointer = save_input_line_ptr;
- LLT = save_llt;
- This_SLpp = save_this_pp;
-
-#if _SLANG_HAS_DEBUG_CODE
- _SLang_Compile_Line_Num_Info = save_compile_line_num_info;
-#endif
-
- if (SLang_Error) return -1;
- return 0;
-}
-
-SLang_Load_Type *SLallocate_load_type (char *name)
-{
- SLang_Load_Type *x;
-
- if (NULL == (x = (SLang_Load_Type *)SLmalloc (sizeof (SLang_Load_Type))))
- return NULL;
- memset ((char *) x, 0, sizeof (SLang_Load_Type));
-
- if (name == NULL) name = "";
-
- x->name = SLang_create_slstring (name);
- if (x->name == NULL)
- {
- SLfree ((char *) x);
- return NULL;
- }
- return x;
-}
-
-void SLdeallocate_load_type (SLang_Load_Type *x)
-{
- if (x != NULL)
- {
- SLang_free_slstring (x->name);
- SLfree ((char *) x);
- }
-}
-
-typedef struct
-{
- char *string;
- char *ptr;
-}
-String_Client_Data_Type;
-
-static char *read_from_string (SLang_Load_Type *x)
-{
- String_Client_Data_Type *data;
- char *s, *s1, ch;
-
- data = (String_Client_Data_Type *)x->client_data;
- s1 = s = data->ptr;
-
- if (*s == 0)
- return NULL;
-
- while ((ch = *s) != 0)
- {
- s++;
- if (ch == '\n')
- break;
- }
-
- data->ptr = s;
- return s1;
-}
-
-int SLang_load_string (char *string)
-{
- SLang_Load_Type *x;
- String_Client_Data_Type data;
- int ret;
-
- if (string == NULL)
- return -1;
-
- /* Grab a private copy in case loading modifies string */
- if (NULL == (string = SLang_create_slstring (string)))
- return -1;
-
- /* To avoid creating a static data space for every string loaded,
- * all string objects will be regarded as identical. So, identify
- * all of them by ***string***
- */
- if (NULL == (x = SLallocate_load_type ("***string***")))
- {
- SLang_free_slstring (string);
- return -1;
- }
-
- x->client_data = (VOID_STAR) &data;
- x->read = read_from_string;
-
- data.ptr = data.string = string;
- if (-1 == (ret = SLang_load_object (x)))
- SLang_verror (SLang_Error, "called from eval: %s", string);
-
- SLang_free_slstring (string);
- SLdeallocate_load_type (x);
- return ret;
-}
-
-typedef struct
-{
- char *buf;
- FILE *fp;
-}
-File_Client_Data_Type;
-
-char *SLang_User_Prompt;
-static char *read_from_file (SLang_Load_Type *x)
-{
- FILE *fp;
- File_Client_Data_Type *c;
-
- c = (File_Client_Data_Type *)x->client_data;
- fp = c->fp;
-
- if ((fp == stdin) && (SLang_User_Prompt != NULL))
- {
- fputs (SLang_User_Prompt, stdout);
- fflush (stdout);
- }
-
- return fgets (c->buf, MAX_FILE_LINE_LEN, c->fp);
-}
-
-/* Note that file could be freed from Slang during run of this routine
- * so get it and store it !! (e.g., autoloading)
- */
-int (*SLang_Load_File_Hook) (char *);
-int SLang_load_file (char *f)
-{
- File_Client_Data_Type client_data;
- SLang_Load_Type *x;
- char *name, *buf;
- FILE *fp;
-
- if (SLang_Load_File_Hook != NULL)
- return (*SLang_Load_File_Hook) (f);
-
- if (f == NULL) name = "<stdin>"; else name = f;
-
- name = SLang_create_slstring (name);
- if (name == NULL)
- return -1;
-
- if (NULL == (x = SLallocate_load_type (name)))
- {
- SLang_free_slstring (name);
- return -1;
- }
-
- buf = NULL;
-
- if (f != NULL)
- fp = fopen (f, "r");
- else
- fp = stdin;
-
- if (fp == NULL)
- SLang_verror (SL_OBJ_NOPEN, "Unable to open %s", name);
- else if (NULL != (buf = SLmalloc (MAX_FILE_LINE_LEN + 1)))
- {
- client_data.fp = fp;
- client_data.buf = buf;
- x->client_data = (VOID_STAR) &client_data;
- x->read = read_from_file;
-
- (void) SLang_load_object (x);
- }
-
- if ((fp != NULL) && (fp != stdin))
- fclose (fp);
-
- SLfree (buf);
- SLang_free_slstring (name);
- SLdeallocate_load_type (x);
-
- if (SLang_Error)
- return -1;
-
- return 0;
-}
-
-int SLang_guess_type (char *t)
-{
- char *p;
- register char ch;
- int modifier = 0;
-
- if (*t == '-') t++;
- p = t;
-
-#if SLANG_HAS_FLOAT
- if (*p != '.')
- {
-#endif
- modifier = 0;
- while ((*p >= '0') && (*p <= '9')) p++;
- if (t == p) return (SLANG_STRING_TYPE);
- if ((*p == 'x') && (p == t + 1)) /* 0x?? */
- {
- modifier |= 8;
- p++;
- while (ch = *p,
- ((ch >= '0') && (ch <= '9'))
- || (((ch | 0x20) >= 'a') && ((ch | 0x20) <= 'f'))) p++;
- }
-
- /* Now look for UL, LU, UH, HU, L, H modifiers */
- while ((ch = *p) != 0)
- {
- ch |= 0x20;
- if (ch == 'h') modifier |= 1;
- else if (ch == 'l') modifier |= 2;
- else if (ch == 'u') modifier |= 4;
- else break;
- p++;
- }
- if ((1|2) == (modifier & (1|2))) /* hl present */
- return SLANG_STRING_TYPE;
-
- if (ch == 0)
- {
- if ((modifier & 0x7) == 0) return SLANG_INT_TYPE;
- if (modifier & 4)
- {
- if (modifier & 1) return SLANG_USHORT_TYPE;
- if (modifier & 2) return SLANG_ULONG_TYPE;
- return SLANG_UINT_TYPE;
- }
- if (modifier & 1) return SLANG_SHORT_TYPE;
- if (modifier & 2) return SLANG_LONG_TYPE;
- return SLANG_INT_TYPE;
- }
-
- if (modifier) return SLANG_STRING_TYPE;
-#if SLANG_HAS_FLOAT
- }
-
- /* now down to double case */
- if (*p == '.')
- {
- p++;
- while ((*p >= '0') && (*p <= '9')) p++;
- }
- if (*p == 0) return(SLANG_DOUBLE_TYPE);
- if ((*p != 'e') && (*p != 'E'))
- {
-# if SLANG_HAS_COMPLEX
- if (((*p == 'i') || (*p == 'j'))
- && (p[1] == 0))
- return SLANG_COMPLEX_TYPE;
-# endif
- if (((*p | 0x20) == 'f') && (p[1] == 0))
- return SLANG_FLOAT_TYPE;
-
- return SLANG_STRING_TYPE;
- }
-
- p++;
- if ((*p == '-') || (*p == '+')) p++;
- while ((*p >= '0') && (*p <= '9')) p++;
- if (*p != 0)
- {
-# if SLANG_HAS_COMPLEX
- if (((*p == 'i') || (*p == 'j'))
- && (p[1] == 0))
- return SLANG_COMPLEX_TYPE;
-# endif
- if (((*p | 0x20) == 'f') && (p[1] == 0))
- return SLANG_FLOAT_TYPE;
-
- return SLANG_STRING_TYPE;
- }
- return SLANG_DOUBLE_TYPE;
-#else
- return SLANG_STRING_TYPE;
-#endif /* SLANG_HAS_FLOAT */
-}
-
-static int hex_atoul (unsigned char *s, unsigned long *ul)
-{
- register unsigned char ch;
- register unsigned long value;
- register int base;
-
- s++; /* skip the leading 0 */
-
- /* look for 'x' which indicates hex */
- if ((*s | 0x20) == 'x')
- {
- base = 16;
- s++;
- if (*s == 0)
- {
- SLang_Error = SL_SYNTAX_ERROR;
- return -1;
- }
- }
- else base = 8;
-
- value = 0;
- while ((ch = *s++) != 0)
- {
- char ch1 = ch | 0x20;
- switch (ch1)
- {
- default:
- SLang_Error = SL_SYNTAX_ERROR;
- break;
-
- case 'u':
- case 'l':
- case 'h':
- *ul = value;
- return 0;
-
- case '8':
- case '9':
- if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
- /* drop */
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- ch1 -= '0';
- break;
-
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
- ch1 = (ch1 - 'a') + 10;
- break;
- }
- value = value * base + ch1;
- }
- *ul = value;
- return 0;
-}
-
-/* Note: These routines do not check integer overflow. I would use the C
- * library functions atol and atoul but some implementations check overflow
- * and some do not. The following implementations provide a consistent
- * behavior.
- */
-unsigned long SLatoul (unsigned char *s)
-{
- int sign;
- unsigned long value;
-
- if (*s == '-') sign = -1;
- else
- {
- sign = 1;
- if (*s == '+') s++;
- }
-
- if (*s == '0')
- {
- if (-1 == hex_atoul (s, &value))
- return (unsigned long) -1;
- }
- else
- {
- while (WHITE_CHAR == CHAR_CLASS(*s))
- s++;
-
- value = 0;
- while (DIGIT_CHAR == CHAR_CLASS(*s))
- {
- value = value * 10 + (unsigned long) (*s - '0');
- s++;
- }
- }
-
- if (sign == -1)
- value = (unsigned long)-1L * value;
-
- return value;
-}
-
-long SLatol (unsigned char *s)
-{
- while (WHITE_CHAR == CHAR_CLASS(*s))
- s++;
-
- if (*s == '-')
- {
- long value = (long) SLatoul (s+1);
- return -value;
- }
- return (long) SLatoul (s);
-}
-
-int SLatoi (unsigned char *s)
-{
- return (int) SLatol (s);
-}
-
-static char *check_byte_compiled_token (char *buf)
-{
- unsigned int len_lo, len_hi, len;
-
- len_lo = (unsigned char) *Input_Line_Pointer++;
- if ((len_lo < 32)
- || ((len_hi = (unsigned char)*Input_Line_Pointer++) < 32)
- || ((len = (len_lo - 32) | ((len_hi - 32) << 7)) >= MAX_TOKEN_LEN))
- {
- SLang_doerror ("Byte compiled file appears corrupt");
- return NULL;
- }
-
- SLMEMCPY (buf, Input_Line_Pointer, len);
- buf += len;
- Input_Line_Pointer += len;
- *buf = 0;
- return buf;
-}
-
-void _SLcompile_byte_compiled (void)
-{
- unsigned char type;
- _SLang_Token_Type tok;
- char buf[MAX_TOKEN_LEN];
- char *ebuf;
- unsigned int len;
-
- memset ((char *) &tok, 0, sizeof (_SLang_Token_Type));
-
- while (SLang_Error == 0)
- {
- top_of_switch:
- type = (unsigned char) *Input_Line_Pointer++;
- switch (type)
- {
- case '\n':
- case 0:
- if (NULL == (Input_Line = LLT->read(LLT)))
- {
- Input_Line_Pointer = Input_Line = NULL;
- return;
- }
- Input_Line_Pointer = Input_Line;
- goto top_of_switch;
-
- case LINE_NUM_TOKEN:
- case CHAR_TOKEN:
- case UCHAR_TOKEN:
- case SHORT_TOKEN:
- case USHORT_TOKEN:
- case INT_TOKEN:
- case UINT_TOKEN:
- case LONG_TOKEN:
- case ULONG_TOKEN:
- if (NULL == check_byte_compiled_token (buf))
- return;
- tok.v.long_val = atol (buf);
- break;
-
- case COMPLEX_TOKEN:
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- if (NULL == check_byte_compiled_token (buf))
- return;
- tok.v.s_val = buf;
- break;
-
- case ESC_STRING_TOKEN:
- if (NULL == (ebuf = check_byte_compiled_token (buf)))
- return;
- tok.v.s_val = buf;
- if (expand_escaped_string (buf, buf, ebuf, &len))
- {
- tok.hash = len;
- type = _BSTRING_TOKEN;
- }
- else
- {
- tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)buf + len);
- type = STRING_TOKEN;
- }
- break;
-
- case TMP_TOKEN:
- case DEFINE_TOKEN:
- case DEFINE_STATIC_TOKEN:
- case DEFINE_PRIVATE_TOKEN:
- case DEFINE_PUBLIC_TOKEN:
- case DOT_TOKEN:
- case STRING_TOKEN:
- case IDENT_TOKEN:
- case _REF_TOKEN:
- case _DEREF_ASSIGN_TOKEN:
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- if (NULL == (ebuf = check_byte_compiled_token (buf)))
- return;
- tok.v.s_val = buf;
- tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)ebuf);
- break;
-
- default:
- break;
- }
- tok.type = type;
-
- (*_SLcompile_ptr) (&tok);
- }
-}
-
-static int escape_string (unsigned char *s, unsigned char *smax,
- unsigned char *buf, unsigned char *buf_max,
- int *is_escaped)
-{
- unsigned char ch;
-
- *is_escaped = 0;
- while (buf < buf_max)
- {
- if (s == smax)
- {
- *buf = 0;
- return 0;
- }
-
- ch = *s++;
- switch (ch)
- {
- default:
- *buf++ = ch;
- break;
-
- case 0:
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'x';
- if (buf < buf_max) *buf++ = '0';
- if (buf < buf_max) *buf++ = '0';
- *is_escaped = 1;
- break; /* return 0; */
-
- case '\n':
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'n';
- *is_escaped = 1;
- break;
-
- case '\r':
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'r';
- *is_escaped = 1;
- break;
-
- case 0x1A: /* ^Z */
- *buf++ = '\\';
- if (buf < buf_max) *buf++ = 'x';
- if (buf < buf_max) *buf++ = '1';
- if (buf < buf_max) *buf++ = 'A';
- *is_escaped = 1;
- break;
-
- case '\\':
- *buf++ = ch;
- if (buf < buf_max) *buf++ = ch;
- *is_escaped = 1;
- break;
- }
- }
- _SLparse_error ("String too long to byte-compile", NULL, 0);
- return -1;
-}
-
-static FILE *Byte_Compile_Fp;
-static unsigned int Byte_Compile_Line_Len;
-
-static int bytecomp_write_data (char *buf, unsigned int len)
-{
- char *err = "Write Error";
-
- if ((Byte_Compile_Line_Len + len + 1) >= MAX_FILE_LINE_LEN)
- {
- if (EOF == fputs ("\n", Byte_Compile_Fp))
- {
- SLang_doerror (err);
- return -1;
- }
- Byte_Compile_Line_Len = 0;
- }
-
- if (EOF == fputs (buf, Byte_Compile_Fp))
- {
- SLang_doerror (err);
- return -1;
- }
- Byte_Compile_Line_Len += len;
- return 0;
-}
-
-static void byte_compile_token (_SLang_Token_Type *tok)
-{
- unsigned char buf [MAX_TOKEN_LEN + 4], *buf_max;
- unsigned int len;
- char *b3;
- int is_escaped;
- unsigned char *s;
-
- if (SLang_Error) return;
-
- buf [0] = (unsigned char) tok->type;
- buf [1] = 0;
-
- buf_max = buf + sizeof(buf);
- b3 = (char *) buf + 3;
-
- switch (tok->type)
- {
- case LINE_NUM_TOKEN:
- case CHAR_TOKEN:
- case SHORT_TOKEN:
- case INT_TOKEN:
- case LONG_TOKEN:
- sprintf (b3, "%ld", tok->v.long_val);
- break;
-
- case UCHAR_TOKEN:
- case USHORT_TOKEN:
- case UINT_TOKEN:
- case ULONG_TOKEN:
- sprintf (b3, "%lu", tok->v.long_val);
- break;
-
- case _BSTRING_TOKEN:
- s = (unsigned char *) tok->v.s_val;
- len = (unsigned int) tok->hash;
-
- if (-1 == escape_string (s, s + len,
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
-
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- case BSTRING_TOKEN:
- if (NULL == (s = SLbstring_get_pointer (tok->v.b_val, &len)))
- return;
-
- if (-1 == escape_string (s, s + len,
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- case STRING_TOKEN:
- s = (unsigned char *)tok->v.s_val;
-
- if (-1 == escape_string (s, s + strlen ((char *)s),
- (unsigned char *)b3, buf_max,
- &is_escaped))
- return;
-
- if (is_escaped)
- buf[0] = ESC_STRING_TOKEN;
- break;
-
- /* a _SCALAR_* token is attached to an identifier. */
- case _DEREF_ASSIGN_TOKEN:
- case _SCALAR_ASSIGN_TOKEN:
- case _SCALAR_PLUSEQS_TOKEN:
- case _SCALAR_MINUSEQS_TOKEN:
- case _SCALAR_TIMESEQS_TOKEN:
- case _SCALAR_DIVEQS_TOKEN:
- case _SCALAR_BOREQS_TOKEN:
- case _SCALAR_BANDEQS_TOKEN:
- case _SCALAR_PLUSPLUS_TOKEN:
- case _SCALAR_POST_PLUSPLUS_TOKEN:
- case _SCALAR_MINUSMINUS_TOKEN:
- case _SCALAR_POST_MINUSMINUS_TOKEN:
- case DOT_TOKEN:
- case TMP_TOKEN:
- case DEFINE_TOKEN:
- case DEFINE_STATIC_TOKEN:
- case DEFINE_PRIVATE_TOKEN:
- case DEFINE_PUBLIC_TOKEN:
- case FLOAT_TOKEN:
- case DOUBLE_TOKEN:
- case COMPLEX_TOKEN:
- case IDENT_TOKEN:
- case _REF_TOKEN:
- case _STRUCT_ASSIGN_TOKEN:
- case _STRUCT_PLUSEQS_TOKEN:
- case _STRUCT_MINUSEQS_TOKEN:
- case _STRUCT_TIMESEQS_TOKEN:
- case _STRUCT_DIVEQS_TOKEN:
- case _STRUCT_BOREQS_TOKEN:
- case _STRUCT_BANDEQS_TOKEN:
- case _STRUCT_POST_MINUSMINUS_TOKEN:
- case _STRUCT_MINUSMINUS_TOKEN:
- case _STRUCT_POST_PLUSPLUS_TOKEN:
- case _STRUCT_PLUSPLUS_TOKEN:
- strcpy (b3, tok->v.s_val);
- break;
-
- default:
- b3 = NULL;
- }
-
- if (b3 != NULL)
- {
- len = strlen (b3);
- buf[1] = (unsigned char) ((len & 0x7F) + 32);
- buf[2] = (unsigned char) (((len >> 7) & 0x7F) + 32);
- len += 3;
- }
- else len = 1;
-
- (void) bytecomp_write_data ((char *)buf, len);
-}
-
-int SLang_byte_compile_file (char *name, int method)
-{
- char file [1024];
-
- (void) method;
- if (strlen (name) + 2 >= sizeof (file))
- {
- SLang_verror (SL_INVALID_PARM, "Filename too long");
- return -1;
- }
- sprintf (file, "%sc", name);
- if (NULL == (Byte_Compile_Fp = fopen (file, "w")))
- {
- SLang_verror(SL_OBJ_NOPEN, "%s: unable to open", file);
- return -1;
- }
-
- Byte_Compile_Line_Len = 0;
- if (-1 != bytecomp_write_data (".#", 2))
- {
- _SLcompile_ptr = byte_compile_token;
- (void) SLang_load_file (name);
- _SLcompile_ptr = _SLcompile;
-
- (void) bytecomp_write_data ("\n", 1);
- }
-
- if (EOF == fclose (Byte_Compile_Fp))
- SLang_doerror ("Write Error");
-
- if (SLang_Error)
- {
- SLang_verror (0, "Error processing %s", name);
- return -1;
- }
- return 0;
-}
-
-int SLang_generate_debug_info (int x)
-{
- int y = Default_Compile_Line_Num_Info;
- Default_Compile_Line_Num_Info = x;
- return y;
-}
diff --git a/mdk-stage1/slang/sltypes.c b/mdk-stage1/slang/sltypes.c
deleted file mode 100644
index 05b8741b1..000000000
--- a/mdk-stage1/slang/sltypes.c
+++ /dev/null
@@ -1,966 +0,0 @@
-/* Basic type operations for S-Lang */
-/* Copyright (c) 1992, 1996, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#if SLANG_HAS_FLOAT
-# include <math.h>
-#endif
-
-#define SL_APP_WANTS_FOREACH /* for String_Type */
-#include "slang.h"
-#include "_slang.h"
-
-int SLpop_string (char **s) /*{{{*/
-{
- char *sls;
-
- *s = NULL;
-
- if (-1 == SLang_pop_slstring (&sls))
- return -1;
-
- if (NULL == (*s = SLmake_string (sls)))
- {
- SLang_free_slstring (sls);
- return -1;
- }
-
- SLang_free_slstring (sls);
- return 0;
-}
-
-/*}}}*/
-
-int SLang_pop_slstring (char **s) /*{{{*/
-{
- return SLclass_pop_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR *)s);
-}
-
-/*}}}*/
-
-/* if *data != 0, string should be freed upon use. */
-int SLang_pop_string(char **s, int *data) /*{{{*/
-{
- if (SLpop_string (s))
- return -1;
-
- *data = 1;
- return 0;
-}
-
-/*}}}*/
-
-int _SLang_push_slstring (char *s)
-{
- if (0 == SLclass_push_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR)s))
- return 0;
-
- SLang_free_slstring (s);
- return -1;
-}
-
-int _SLpush_alloced_slstring (char *s, unsigned int len)
-{
- if (NULL == (s = _SLcreate_via_alloced_slstring (s, len)))
- return -1;
-
- return _SLang_push_slstring (s);
-}
-
-int SLang_push_string (char *t) /*{{{*/
-{
- if (t == NULL)
- return SLang_push_null ();
-
- if (NULL == (t = SLang_create_slstring (t)))
- return -1;
-
- return _SLang_push_slstring (t);
-}
-
-/*}}}*/
-
-int _SLang_dup_and_push_slstring (char *s)
-{
- if (NULL == (s = _SLstring_dup_slstring (s)))
- return SLang_push_null ();
-
- return _SLang_push_slstring (s);
-}
-
-
-/* This function _always_ frees the malloced string */
-int SLang_push_malloced_string (char *c) /*{{{*/
-{
- int ret;
-
- ret = SLang_push_string (c);
- SLfree (c);
-
- return ret;
-}
-
-/*}}}*/
-
-#if 0
-static int int_int_power (int a, int b)
-{
- int r, s;
-
- if (a == 0) return 0;
- if (b < 0) return 0;
- if (b == 0) return 1;
-
- s = 1;
- if (a < 0)
- {
- if ((b % 2) == 1) s = -1;
- a = -a;
- }
-
- /* FIXME: Priority=low
- * This needs optimized
- */
- r = 1;
- while (b)
- {
- r = r * a;
- b--;
- }
- return r * s;
-}
-#endif
-
-static int
-string_string_bin_op_result (int op, unsigned char a, unsigned char b,
- unsigned char *c)
-{
- (void) a;
- (void) b;
- switch (op)
- {
- default:
- return 0;
-
- case SLANG_PLUS:
- *c = SLANG_STRING_TYPE;
- break;
-
- case SLANG_GT:
- case SLANG_GE:
- case SLANG_LT:
- case SLANG_LE:
- case SLANG_EQ:
- case SLANG_NE:
- *c = SLANG_CHAR_TYPE;
- break;
- }
- return 1;
-}
-
-static int
-string_string_bin_op (int op,
- unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp, unsigned int nb,
- VOID_STAR cp)
-{
- char *ic;
- char **a, **b, **c;
- unsigned int n, n_max;
- unsigned int da, db;
-
- (void) a_type;
- (void) b_type;
-
- if (na == 1) da = 0; else da = 1;
- if (nb == 1) db = 0; else db = 1;
-
- if (na > nb) n_max = na; else n_max = nb;
-
- a = (char **) ap;
- b = (char **) bp;
- for (n = 0; n < n_max; n++)
- {
- if ((*a == NULL) || (*b == NULL))
- {
- SLang_verror (SL_VARIABLE_UNINITIALIZED, "String element[%u] not initialized for binary operation", n);
- return -1;
- }
- a += da; b += db;
- }
-
- a = (char **) ap;
- b = (char **) bp;
- ic = (char *) cp;
- c = NULL;
-
- switch (op)
- {
- case SLANG_DIVIDE:
- case SLANG_MINUS:
- default:
- return 0;
-
- case SLANG_PLUS:
- /* Concat */
- c = (char **) cp;
- for (n = 0; n < n_max; n++)
- {
- if (NULL == (c[n] = SLang_concat_slstrings (*a, *b)))
- goto return_error;
-
- a += da; b += db;
- }
- break;
-
- case SLANG_NE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (0 != strcmp (*a, *b));
- a += da;
- b += db;
- }
- break;
- case SLANG_GT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) > 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_GE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) >= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LT:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) < 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_LE:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) <= 0);
- a += da;
- b += db;
- }
- break;
- case SLANG_EQ:
- for (n = 0; n < n_max; n++)
- {
- ic [n] = (strcmp (*a, *b) == 0);
- a += da;
- b += db;
- }
- break;
- }
- return 1;
-
- return_error:
- if (c != NULL)
- {
- unsigned int nn;
- for (nn = 0; nn < n; nn++)
- {
- SLang_free_slstring (c[nn]);
- c[nn] = NULL;
- }
- for (nn = n; nn < n_max; nn++)
- c[nn] = NULL;
- }
- return -1;
-}
-
-static void string_destroy (unsigned char unused, VOID_STAR s)
-{
- (void) unused;
- SLang_free_slstring (*(char **) s);
-}
-
-static int string_push (unsigned char unused, VOID_STAR sptr)
-{
- (void) unused;
- return SLang_push_string (*(char **) sptr);
-}
-
-static int string_cmp (unsigned char unused, VOID_STAR ap, VOID_STAR bp, int *c)
-{
- char *a, *b;
- (void) unused;
-
- a = *(char **) ap;
- b = *(char **) bp;
- if (a != b)
- {
- if (a == NULL) *c = -1;
- else if (b == NULL) *c = 1;
- else *c = strcmp (a, b);
- return 0;
- }
- *c = 0;
- return 0;
-}
-
-static int string_to_int (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- char **s;
- unsigned int i;
- int *b;
-
- (void) a_type;
- (void) b_type;
-
- s = (char **) ap;
- b = (int *) bp;
- for (i = 0; i < na; i++)
- {
- if (s[i] == NULL) b[i] = 0;
- else b[i] = s[i][0];
- }
- return 1;
-}
-
-struct _SLang_Foreach_Context_Type
-{
- char *string;
- unsigned int n;
-};
-
-static SLang_Foreach_Context_Type *
-string_foreach_open (unsigned char type, unsigned int num)
-{
- char *s;
- SLang_Foreach_Context_Type *c;
-
- (void) type;
- if (num != 0)
- {
- SLang_verror (SL_NOT_IMPLEMENTED,
- "'foreach using' form not supported by String_Type");
- SLdo_pop_n (num + 1);
- return NULL;
- }
- if (-1 == SLang_pop_slstring (&s))
- return NULL;
-
- c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
- if (c == NULL)
- {
- SLang_free_slstring (s);
- return NULL;
- }
-
- memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
- c->string = s;
-
- return c;
-}
-
-static void string_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- if (c == NULL) return;
- SLang_free_slstring (c->string);
- SLfree ((char *) c);
-}
-
-static int string_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- char ch;
-
- (void) type;
- ch = c->string[c->n];
- if (ch == 0)
- return 0; /* done */
-
- c->n += 1;
-
- if (-1 == SLclass_push_int_obj (SLANG_INT_TYPE, ch))
- return -1;
-
- return 1;
-}
-
-int _SLstring_list_push (_SLString_List_Type *p)
-{
- unsigned int num;
- int inum;
- SLang_Array_Type *at;
- char **buf;
-
- if ((buf = p->buf) == NULL)
- return SLang_push_null ();
-
- num = p->num;
- inum = (int) num;
-
- if (num == 0) num++;
- if (num != p->max_num)
- {
- if (NULL == (buf = (char **)SLrealloc ((char *) buf, sizeof (char *) * num)))
- {
- _SLstring_list_delete (p);
- return -1;
- }
- p->max_num = num;
- p->buf = buf;
- }
-
- if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) buf, &inum, 1)))
- {
- _SLstring_list_delete (p);
- return -1;
- }
- p->buf = NULL;
- _SLstring_list_delete (p);
- return SLang_push_array (at, 1);
-}
-
-int _SLstring_list_init (_SLString_List_Type *p, unsigned int max_num, unsigned int delta_num)
-{
- if (NULL == (p->buf = (char **) SLmalloc (max_num * sizeof (char *))))
- return -1;
-
- p->max_num = max_num;
- p->num = 0;
- p->delta_num = delta_num;
- return 0;
-}
-
-int _SLstring_list_append (_SLString_List_Type *p, char *s)
-{
- if (s == NULL)
- {
- _SLstring_list_delete (p);
- return -1;
- }
-
- if (p->max_num == p->num)
- {
- char **b;
- unsigned int max_num = p->num + p->delta_num;
- b = (char **)SLrealloc ((char *)p->buf, max_num * sizeof (char *));
- if (b == NULL)
- {
- _SLstring_list_delete (p);
- SLang_free_slstring (s);
- return -1;
- }
- p->buf = b;
- p->max_num = max_num;
- }
-
- p->buf[p->num] = s;
- p->num++;
- return 0;
-}
-
-void _SLstring_list_delete (_SLString_List_Type *p)
-{
- if (p->buf != NULL)
- {
- unsigned int i, imax;
- char **buf = p->buf;
- imax = p->num;
- for (i = 0; i < imax; i++)
- SLang_free_slstring (buf[i]);
- SLfree ((char *)buf);
- p->buf = NULL;
- }
-}
-
-/* Ref type */
-int SLang_pop_ref (SLang_Ref_Type **ref)
-{
- return SLclass_pop_ptr_obj (SLANG_REF_TYPE, (VOID_STAR *)ref);
-}
-
-/* Note: This is ok if ptr is NULL. Some routines rely on this behavior */
-int _SLang_push_ref (int is_global, VOID_STAR ptr)
-{
- SLang_Ref_Type *r;
-
- if (ptr == NULL)
- return SLang_push_null ();
-
- r = (SLang_Ref_Type *) SLmalloc (sizeof (SLang_Ref_Type));
- if (r == NULL) return -1;
-
- r->is_global = is_global;
- r->v.nt = (SLang_Name_Type *) ptr;
-
- if (-1 == SLclass_push_ptr_obj (SLANG_REF_TYPE, (VOID_STAR) r))
- {
- SLfree ((char *) r);
- return -1;
- }
- return 0;
-}
-
-static void ref_destroy (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
- SLfree ((char *) *(SLang_Ref_Type **)ptr);
-}
-
-void SLang_free_ref (SLang_Ref_Type *ref)
-{
- SLfree ((char *) ref);
-}
-
-static int ref_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Ref_Type *ref;
-
- (void) type;
-
- ref = *(SLang_Ref_Type **) ptr;
-
- if (ref == NULL)
- return SLang_push_null ();
-
- return _SLang_push_ref (ref->is_global, (VOID_STAR) ref->v.nt);
-}
-
-int SLang_assign_to_ref (SLang_Ref_Type *ref, unsigned char type, VOID_STAR v)
-{
- SLang_Object_Type *stkptr;
- SLang_Class_Type *cl;
-
- cl = _SLclass_get_class (type);
-
- /* Use apush since this function is passing ``array'' bytes rather than the
- * address of the data. I need to somehow make this more consistent. To
- * see what I mean, consider:
- *
- * double z[2];
- * char *s = "silly";
- * int i;
- *
- * SLang_assign_to_ref (ref, SLANG_INT_TYPE, &i);
- * SLang_assign_to_ref (ref, SLANG_STRING_TYPE, &s);
- * SLang_assign_to_ref (ref, SLANG_COMPLEX_TYPE, z);
- *
- * That is, all external routines that take a VOID_STAR argument need to
- * be documented such that how the function should be called with the
- * various class_types.
- */
- if (-1 == (*cl->cl_apush) (type, v))
- return -1;
-
- stkptr = _SLStack_Pointer;
- if (0 == _SLang_deref_assign (ref))
- return 0;
-
- if (stkptr != _SLStack_Pointer)
- SLdo_pop ();
-
- return -1;
-}
-
-static char *ref_string (unsigned char type, VOID_STAR ptr)
-{
- SLang_Ref_Type *ref;
-
- (void) type;
- ref = *(SLang_Ref_Type **) ptr;
- if (ref->is_global)
- {
- char *name, *s;
-
- name = ref->v.nt->name;
- if ((name != NULL)
- && (NULL != (s = SLmalloc (strlen(name) + 2))))
- {
- *s = '&';
- strcpy (s + 1, name);
- return s;
- }
-
- return NULL;
- }
- return SLmake_string ("Local Variable Reference");
-}
-
-static int ref_dereference (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return _SLang_dereference_ref (*(SLang_Ref_Type **) ptr);
-}
-
-static int ref_cmp (unsigned char type, VOID_STAR a, VOID_STAR b, int *c)
-{
- SLang_Ref_Type *ra, *rb;
-
- (void) type;
-
- ra = *(SLang_Ref_Type **)a;
- rb = *(SLang_Ref_Type **)b;
-
- if (ra == NULL)
- {
- if (rb == NULL) *c = 0;
- else *c = -1;
- return 0;
- }
- if (rb == NULL)
- {
- *c = 1;
- return 0;
- }
-
- if (ra->v.nt == rb->v.nt)
- *c = 0;
- else *c = strcmp (ra->v.nt->name, rb->v.nt->name);
- return 0;
-}
-
-
-SLang_Name_Type *SLang_pop_function (void)
-{
- SLang_Ref_Type *ref;
- SLang_Name_Type *f;
-
- if (SLang_peek_at_stack () == SLANG_STRING_TYPE)
- {
- char *name;
-
- if (-1 == SLang_pop_slstring (&name))
- return NULL;
-
- if (NULL == (f = SLang_get_function (name)))
- {
- SLang_verror (SL_UNDEFINED_NAME, "Function %s does not exist", name);
- SLang_free_slstring (name);
- return NULL;
- }
- SLang_free_slstring (name);
- return f;
- }
-
- if (-1 == SLang_pop_ref (&ref))
- return NULL;
-
- f = SLang_get_fun_from_ref (ref);
- SLang_free_ref (ref);
- return f;
-}
-
-/* This is a placeholder for version 2 */
-void SLang_free_function (SLang_Name_Type *f)
-{
- (void) f;
-}
-
-/* NULL type */
-int SLang_push_null (void)
-{
- return SLclass_push_ptr_obj (SLANG_NULL_TYPE, NULL);
-}
-
-int SLang_pop_null (void)
-{
- SLang_Object_Type obj;
- return _SLang_pop_object_of_type (SLANG_NULL_TYPE, &obj, 0);
-}
-
-static int null_push (unsigned char unused, VOID_STAR ptr_unused)
-{
- (void) unused; (void) ptr_unused;
- return SLang_push_null ();
-}
-
-static int null_pop (unsigned char type, VOID_STAR ptr)
-{
- (void) type;
-
- if (-1 == SLang_pop_null ())
- return -1;
-
- *(char **) ptr = NULL;
- return 0;
-}
-
-/* Implement foreach (NULL) using (whatever) to do nothing. This is useful
- * because suppose that X is a list but is NULL in some situations. Then
- * when it is NULL, we want foreach(X) to do nothing.
- */
-static SLang_Foreach_Context_Type *
-null_foreach_open (unsigned char type, unsigned int num)
-{
- (void) type;
- SLdo_pop_n (num + 1);
- return (SLang_Foreach_Context_Type *)1;
-}
-
-static void null_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- (void) c;
-}
-
-static int null_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
-{
- (void) type;
- (void) c;
- return 0;
-}
-
-static int null_to_bool (unsigned char type, int *t)
-{
- (void) type;
- *t = 0;
- return SLang_pop_null ();
-}
-
-/* AnyType */
-int _SLanytype_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
- unsigned char b_type, VOID_STAR bp)
-{
- SLang_Class_Type *cl;
- SLang_Any_Type **any;
- unsigned int i;
- unsigned int sizeof_type;
-
- (void) b_type;
-
- any = (SLang_Any_Type **) bp;
-
- cl = _SLclass_get_class (a_type);
- sizeof_type = cl->cl_sizeof_type;
-
- for (i = 0; i < na; i++)
- {
- if ((-1 == (*cl->cl_apush) (a_type, ap))
- || (-1 == SLang_pop_anytype (&any[i])))
- {
- while (i != 0)
- {
- i--;
- SLang_free_anytype (any[i]);
- any[i] = NULL;
- }
- return -1;
- }
- ap = (VOID_STAR)((char *)ap + sizeof_type);
- }
-
- return 1;
-}
-
-int SLang_pop_anytype (SLang_Any_Type **any)
-{
- SLang_Object_Type *obj;
-
- *any = NULL;
-
- if (NULL == (obj = (SLang_Object_Type *) SLmalloc (sizeof (SLang_Object_Type))))
- return -1;
-
- if (-1 == SLang_pop (obj))
- {
- SLfree ((char *) obj);
- return -1;
- }
- *any = (SLang_Any_Type *)obj;
- return 0;
-}
-
-/* This function will result in an object that is represented by the
- * anytype object.
- */
-int SLang_push_anytype (SLang_Any_Type *any)
-{
- return _SLpush_slang_obj ((SLang_Object_Type *)any);
-}
-
-/* After this call, the stack will contain an Any_Type object */
-static int anytype_push (unsigned char type, VOID_STAR ptr)
-{
- SLang_Any_Type *obj;
-
- /* Push the object onto the stack, then pop it back off into our anytype
- * container. That way, any memory managing associated with the type
- * will be performed automatically. Another way to think of it is that
- * pushing an Any_Type onto the stack will create another copy of the
- * object represented by it.
- */
- if (-1 == _SLpush_slang_obj (*(SLang_Object_Type **)ptr))
- return -1;
-
- if (-1 == SLang_pop_anytype (&obj))
- return -1;
-
- /* There is no need to reference count the anytype objects since every
- * push results in a new anytype container.
- */
- if (-1 == SLclass_push_ptr_obj (type, (VOID_STAR) obj))
- {
- SLang_free_anytype (obj);
- return -1;
- }
-
- return 0;
-}
-
-static void anytype_destroy (unsigned char type, VOID_STAR ptr)
-{
- SLang_Object_Type *obj;
-
- (void) type;
- obj = *(SLang_Object_Type **)ptr;
- SLang_free_object (obj);
- SLfree ((char *) obj);
-}
-
-void SLang_free_anytype (SLang_Any_Type *any)
-{
- if (any != NULL)
- anytype_destroy (SLANG_ANY_TYPE, (VOID_STAR) &any);
-}
-
-static int anytype_dereference (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return _SLpush_slang_obj (*(SLang_Object_Type **) ptr);
-}
-
-/* SLANG_INTP_TYPE */
-static int intp_push (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLclass_push_int_obj (SLANG_INT_TYPE, **(int **)ptr);
-}
-
-static int intp_pop (unsigned char unused, VOID_STAR ptr)
-{
- (void) unused;
- return SLang_pop_integer (*(int **) ptr);
-}
-
-static int undefined_push (unsigned char t, VOID_STAR p)
-{
- (void) t; (void) p;
- if (SLang_Error == 0)
- SLang_Error = SL_VARIABLE_UNINITIALIZED;
- return -1;
-}
-
-int _SLregister_types (void)
-{
- SLang_Class_Type *cl;
-
- /* A good compiler should optimize this code away. */
- if ((sizeof(short) != SIZEOF_SHORT)
- || (sizeof(int) != SIZEOF_INT)
- || (sizeof(long) != SIZEOF_LONG)
- || (sizeof(float) != SIZEOF_FLOAT)
- || (sizeof(double) != SIZEOF_DOUBLE))
- SLang_exit_error ("S-Lang Library not built properly. Fix SIZEOF_* in config.h and recompile");
-
- if (-1 == _SLclass_init ())
- return -1;
-
- /* Undefined Type */
- if (NULL == (cl = SLclass_allocate_class ("Undefined_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, undefined_push);
- (void) SLclass_set_pop_function (cl, undefined_push);
- if (-1 == SLclass_register_class (cl, SLANG_UNDEFINED_TYPE, sizeof (int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
- /* Make Void_Type a synonym for Undefined_Type. Note that this does
- * not mean that Void_Type represents SLANG_VOID_TYPE. Void_Type is
- * used by array_map to indicate no array is to be created.
- */
- if (-1 == SLclass_create_synonym ("Void_Type", SLANG_UNDEFINED_TYPE))
- return -1;
-
- if (-1 == _SLarith_register_types ())
- return -1;
-
- /* SLANG_INTP_TYPE */
- if (NULL == (cl = SLclass_allocate_class ("_IntegerP_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, intp_push);
- (void) SLclass_set_pop_function (cl, intp_pop);
- if (-1 == SLclass_register_class (cl, SLANG_INTP_TYPE, sizeof (int),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- /* String Type */
-
- if (NULL == (cl = SLclass_allocate_class ("String_Type")))
- return -1;
- (void) SLclass_set_destroy_function (cl, string_destroy);
- (void) SLclass_set_push_function (cl, string_push);
- cl->cl_foreach_open = string_foreach_open;
- cl->cl_foreach_close = string_foreach_close;
- cl->cl_foreach = string_foreach;
- cl->cl_cmp = string_cmp;
- if (-1 == SLclass_register_class (cl, SLANG_STRING_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- /* ref Type */
- if (NULL == (cl = SLclass_allocate_class ("Ref_Type")))
- return -1;
- cl->cl_dereference = ref_dereference;
- cl->cl_push = ref_push;
- cl->cl_destroy = ref_destroy;
- cl->cl_string = ref_string;
- cl->cl_cmp = ref_cmp;
- if (-1 == SLclass_register_class (cl, SLANG_REF_TYPE,
- sizeof (SLang_Ref_Type *),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- /* NULL Type */
-
- if (NULL == (cl = SLclass_allocate_class ("Null_Type")))
- return -1;
- cl->cl_push = null_push;
- cl->cl_pop = null_pop;
- cl->cl_foreach_open = null_foreach_open;
- cl->cl_foreach_close = null_foreach_close;
- cl->cl_foreach = null_foreach;
- cl->cl_to_bool = null_to_bool;
- if (-1 == SLclass_register_class (cl, SLANG_NULL_TYPE, sizeof (char *),
- SLANG_CLASS_TYPE_SCALAR))
- return -1;
-
- /* AnyType */
- if (NULL == (cl = SLclass_allocate_class ("Any_Type")))
- return -1;
- (void) SLclass_set_push_function (cl, anytype_push);
- (void) SLclass_set_destroy_function (cl, anytype_destroy);
- cl->cl_dereference = anytype_dereference;
- if (-1 == SLclass_register_class (cl, SLANG_ANY_TYPE, sizeof (VOID_STAR),
- SLANG_CLASS_TYPE_PTR))
- return -1;
-
- if (-1 == _SLang_init_bstring ())
- return -1;
-
- if ((-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_INT_TYPE, string_to_int, 0))
- || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_STRING_TYPE, string_string_bin_op, string_string_bin_op_result)))
- return -1;
-
- return 0;
-}
-
diff --git a/mdk-stage1/slang/slutty.c b/mdk-stage1/slang/slutty.c
deleted file mode 100644
index 636c1bb90..000000000
--- a/mdk-stage1/slang/slutty.c
+++ /dev/null
@@ -1,596 +0,0 @@
-/* slutty.c --- Unix Low level terminal (tty) functions for S-Lang */
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-#include "slinclud.h"
-
-#include <signal.h>
-/* sequent support thanks to Kenneth Lorber <keni@oasys.dt.navy.mil> */
-/* SYSV (SYSV ISC R3.2 v3.0) provided by iain.lea@erlm.siemens.de */
-
-#if defined (_AIX) && !defined (_ALL_SOURCE)
-# define _ALL_SOURCE /* so NBBY is defined in <sys/types.h> */
-#endif
-
-#include <sys/time.h>
-#include <sys/types.h>
-
-#ifdef SYSV
-# include <fcntl.h>
-# ifndef CRAY
-# include <sys/termio.h>
-# include <sys/stream.h>
-# include <sys/ptem.h>
-# include <sys/tty.h>
-# endif
-#endif
-
-#ifdef __BEOS__
-/* Prototype for select */
-# include <net/socket.h>
-#endif
-
-#include <sys/file.h>
-
-#ifndef sun
-# include <sys/ioctl.h>
-#endif
-
-#ifdef __QNX__
-# include <sys/select.h>
-#endif
-
-#include <sys/stat.h>
-#include <errno.h>
-
-#if defined (_AIX) && !defined (FD_SET)
-# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
-#endif
-
-#ifndef O_RDWR
-# include <fcntl.h>
-#endif
-
-#include "slang.h"
-#include "_slang.h"
-
-int SLang_TT_Read_FD = -1;
-int SLang_TT_Baud_Rate;
-
-#ifdef HAVE_TERMIOS_H
-# if !defined(HAVE_TCGETATTR) || !defined(HAVE_TCSETATTR)
-# undef HAVE_TERMIOS_H
-# endif
-#endif
-
-#ifndef HAVE_TERMIOS_H
-
-# if !defined(CBREAK) && defined(sun)
-# ifndef BSD_COMP
-# define BSD_COMP 1
-# endif
-# include <sys/ioctl.h>
-# endif
-
-typedef struct
- {
- struct tchars t;
- struct ltchars lt;
- struct sgttyb s;
- }
-TTY_Termio_Type;
-#else
-# include <termios.h>
-typedef struct termios TTY_Termio_Type;
-#endif
-
-static TTY_Termio_Type Old_TTY;
-
-#ifdef HAVE_TERMIOS_H
-typedef struct
-{
- unsigned int key;
- unsigned int value;
-} Baud_Rate_Type;
-
-static Baud_Rate_Type Baud_Rates [] =
-{
-#ifdef B0
- {B0, 0},
-#endif
-#ifdef B50
- {B50, 50},
-#endif
-#ifdef B75
- {B75, 75},
-#endif
-#ifdef B110
- {B110, 110},
-#endif
-#ifdef B134
- {B134, 134},
-#endif
-#ifdef B150
- {B150, 150},
-#endif
-#ifdef B200
- {B200, 200},
-#endif
-#ifdef B300
- {B300, 300},
-#endif
-#ifdef B600
- {B600, 600},
-#endif
-#ifdef B1200
- {B1200, 1200},
-#endif
-#ifdef B1800
- {B1800, 1800},
-#endif
-#ifdef B2400
- {B2400, 2400},
-#endif
-#ifdef B4800
- {B4800, 4800},
-#endif
-#ifdef B9600
- {B9600, 9600},
-#endif
-#ifdef B19200
- {B19200, 19200},
-#endif
-#ifdef B38400
- {B38400, 38400},
-#endif
-#ifdef B57600
- {B57600, 57600},
-#endif
-#ifdef B115200
- {B115200, 115200},
-#endif
-#ifdef B230400
- {B230400, 230400},
-#endif
- {0, 0}
-};
-
-static void
-set_baud_rate (TTY_Termio_Type *tty)
-{
-#ifdef HAVE_CFGETOSPEED
- unsigned int speed;
- Baud_Rate_Type *b, *bmax;
-
- if (SLang_TT_Baud_Rate)
- return; /* already set */
-
- speed = (unsigned int) cfgetospeed (tty);
-
- b = Baud_Rates;
- bmax = b + (sizeof (Baud_Rates)/sizeof(Baud_Rates[0]));
- while (b < bmax)
- {
- if (b->key == speed)
- {
- SLang_TT_Baud_Rate = b->value;
- return;
- }
- b++;
- }
-#else
- (void) tty;
-#endif
-}
-
-#endif /* HAVE_TERMIOS_H */
-
-#ifdef HAVE_TERMIOS_H
-# define GET_TERMIOS(fd, x) tcgetattr(fd, x)
-# define SET_TERMIOS(fd, x) tcsetattr(fd, TCSADRAIN, x)
-#else
-# ifdef TCGETS
-# define GET_TERMIOS(fd, x) ioctl(fd, TCGETS, x)
-# define SET_TERMIOS(fd, x) ioctl(fd, TCSETS, x)
-# else
-# define X(x,m) &(((TTY_Termio_Type *)(x))->m)
-# define GET_TERMIOS(fd, x) \
- ((ioctl(fd, TIOCGETC, X(x,t)) || \
- ioctl(fd, TIOCGLTC, X(x,lt)) || \
- ioctl(fd, TIOCGETP, X(x,s))) ? -1 : 0)
-# define SET_TERMIOS(fd, x) \
- ((ioctl(fd, TIOCSETC, X(x,t)) ||\
- ioctl(fd, TIOCSLTC, X(x,lt)) || \
- ioctl(fd, TIOCSETP, X(x,s))) ? -1 : 0)
-# endif
-#endif
-
-static int TTY_Inited = 0;
-static int TTY_Open = 0;
-
-#ifdef ultrix /* Ultrix gets _POSIX_VDISABLE wrong! */
-# define NULL_VALUE -1
-#else
-# ifdef _POSIX_VDISABLE
-# define NULL_VALUE _POSIX_VDISABLE
-# else
-# define NULL_VALUE 255
-# endif
-#endif
-
-int SLang_init_tty (int abort_char, int no_flow_control, int opost)
-{
- TTY_Termio_Type newtty;
-
- SLsig_block_signals ();
-
- if (TTY_Inited)
- {
- SLsig_unblock_signals ();
- return 0;
- }
-
- TTY_Open = 0;
-
- if ((SLang_TT_Read_FD == -1)
- || (1 != isatty (SLang_TT_Read_FD)))
- {
-#ifdef O_RDWR
-# ifndef __BEOS__ /* I have been told that BEOS will HANG if passed /dev/tty */
- if ((SLang_TT_Read_FD = open("/dev/tty", O_RDWR)) >= 0)
- {
- TTY_Open = 1;
- }
-# endif
-#endif
- if (TTY_Open == 0)
- {
- SLang_TT_Read_FD = fileno (stderr);
- if (1 != isatty (SLang_TT_Read_FD))
- {
- SLang_TT_Read_FD = fileno (stdin);
- if (1 != isatty (SLang_TT_Read_FD))
- {
- fprintf (stderr, "Failed to open terminal.");
- return -1;
- }
- }
- }
- }
-
- SLang_Abort_Char = abort_char;
-
- /* Some systems may not permit signals to be blocked. As a result, the
- * return code must be checked.
- */
- while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
- while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &newtty))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
-#ifndef HAVE_TERMIOS_H
- newtty.s.sg_flags &= ~(ECHO);
- newtty.s.sg_flags &= ~(CRMOD);
- /* if (Flow_Control == 0) newtty.s.sg_flags &= ~IXON; */
- newtty.t.t_eofc = 1;
- if (abort_char == -1) SLang_Abort_Char = newtty.t.t_intrc;
- newtty.t.t_intrc = SLang_Abort_Char; /* ^G */
- newtty.t.t_quitc = 255;
- newtty.lt.t_suspc = 255; /* to ignore ^Z */
- newtty.lt.t_dsuspc = 255; /* to ignore ^Y */
- newtty.lt.t_lnextc = 255;
- newtty.s.sg_flags |= CBREAK; /* do I want cbreak or raw????? */
-#else
-
- /* get baud rate */
-
- newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);
-#ifdef ISTRIP
- /* newtty.c_iflag &= ~ISTRIP; */
-#endif
- if (opost == 0) newtty.c_oflag &= ~OPOST;
-
- set_baud_rate (&newtty);
-
- if (no_flow_control) newtty.c_iflag &= ~IXON; else newtty.c_iflag |= IXON;
-
- newtty.c_cc[VEOF] = 1;
- newtty.c_cc[VMIN] = 1;
- newtty.c_cc[VTIME] = 0;
- newtty.c_lflag = ISIG | NOFLSH;
- if (abort_char == -1) SLang_Abort_Char = newtty.c_cc[VINTR];
- newtty.c_cc[VINTR] = SLang_Abort_Char; /* ^G */
- newtty.c_cc[VQUIT] = NULL_VALUE;
- newtty.c_cc[VSUSP] = NULL_VALUE; /* to ignore ^Z */
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = NULL_VALUE; /* to ignore ^Y */
-#endif
-#ifdef VLNEXT
- newtty.c_cc[VLNEXT] = NULL_VALUE; /* to ignore ^V ? */
-#endif
-#ifdef VSWTCH
- newtty.c_cc[VSWTCH] = NULL_VALUE; /* to ignore who knows what */
-#endif
-#endif /* NOT HAVE_TERMIOS_H */
-
- while (-1 == SET_TERMIOS(SLang_TT_Read_FD, &newtty))
- {
- if (errno != EINTR)
- {
- SLsig_unblock_signals ();
- return -1;
- }
- }
-
- TTY_Inited = 1;
- SLsig_unblock_signals ();
- return 0;
-}
-
-void SLtty_set_suspend_state (int mode)
-{
- TTY_Termio_Type newtty;
-
- SLsig_block_signals ();
-
- if (TTY_Inited == 0)
- {
- SLsig_unblock_signals ();
- return;
- }
-
- while ((-1 == GET_TERMIOS (SLang_TT_Read_FD, &newtty))
- && (errno == EINTR))
- ;
-
-#ifndef HAVE_TERMIOS_H
- /* I do not know if all systems define the t_dsuspc field */
- if (mode == 0)
- {
- newtty.lt.t_suspc = 255;
- newtty.lt.t_dsuspc = 255;
- }
- else
- {
- newtty.lt.t_suspc = Old_TTY.lt.t_suspc;
- newtty.lt.t_dsuspc = Old_TTY.lt.t_dsuspc;
- }
-#else
- if (mode == 0)
- {
- newtty.c_cc[VSUSP] = NULL_VALUE;
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = NULL_VALUE;
-#endif
- }
- else
- {
- newtty.c_cc[VSUSP] = Old_TTY.c_cc[VSUSP];
-#ifdef VDSUSP
- newtty.c_cc[VDSUSP] = Old_TTY.c_cc[VDSUSP];
-#endif
- }
-#endif
-
- while ((-1 == SET_TERMIOS (SLang_TT_Read_FD, &newtty))
- && (errno == EINTR))
- ;
-
- SLsig_unblock_signals ();
-}
-
-void SLang_reset_tty (void)
-{
- SLsig_block_signals ();
-
- if (TTY_Inited == 0)
- {
- SLsig_unblock_signals ();
- return;
- }
-
- while ((-1 == SET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
- && (errno == EINTR))
- ;
-
- if (TTY_Open)
- {
- while ((-1 == close (SLang_TT_Read_FD))
- && (errno == EINTR))
- ;
-
- TTY_Open = 0;
- SLang_TT_Read_FD = -1;
- }
-
- TTY_Inited = 0;
- SLsig_unblock_signals ();
-}
-
-static void default_sigint (int sig)
-{
- sig = errno; /* use parameter */
-
- SLKeyBoard_Quit = 1;
- if (SLang_Ignore_User_Abort == 0) SLang_Error = SL_USER_BREAK;
- SLsignal_intr (SIGINT, default_sigint);
- errno = sig;
-}
-
-int SLang_set_abort_signal (void (*hand)(int))
-{
- int save_errno = errno;
- SLSig_Fun_Type *f;
-
- if (hand == NULL) hand = default_sigint;
- f = SLsignal_intr (SIGINT, hand);
-
- errno = save_errno;
-
- if (f == (SLSig_Fun_Type *) SIG_ERR)
- return -1;
-
- return 0;
-}
-
-#ifndef FD_SET
-#define FD_SET(fd, tthis) *(tthis) = 1 << (fd)
-#define FD_ZERO(tthis) *(tthis) = 0
-#define FD_ISSET(fd, tthis) (*(tthis) & (1 << fd))
-typedef int fd_set;
-#endif
-
-static fd_set Read_FD_Set;
-
-/* HACK: If > 0, use 1/10 seconds. If < 0, use 1/1000 seconds */
-
-int _SLsys_input_pending(int tsecs)
-{
- struct timeval wait;
- long usecs, secs;
-
- if (TTY_Inited == 0) return -1;
-
- if (tsecs >= 0)
- {
- secs = tsecs / 10;
- usecs = (tsecs % 10) * 100000;
- }
- else
- {
- tsecs = -tsecs;
- secs = tsecs / 1000;
- usecs = (tsecs % 1000) * 1000;
- }
-
- wait.tv_sec = secs;
- wait.tv_usec = usecs;
-
- FD_ZERO(&Read_FD_Set);
- FD_SET(SLang_TT_Read_FD, &Read_FD_Set);
-
- return select(SLang_TT_Read_FD + 1, &Read_FD_Set, NULL, NULL, &wait);
-}
-
-int (*SLang_getkey_intr_hook) (void);
-
-static int handle_interrupt (void)
-{
- if (SLang_getkey_intr_hook != NULL)
- {
- int save_tty_fd = SLang_TT_Read_FD;
-
- if (-1 == (*SLang_getkey_intr_hook) ())
- return -1;
-
- if (save_tty_fd != SLang_TT_Read_FD)
- return -1;
- }
-
- return 0;
-}
-
-unsigned int _SLsys_getkey (void)
-{
- unsigned char c;
-
- if (TTY_Inited == 0)
- {
- int ic = fgetc (stdin);
- if (ic == EOF) return SLANG_GETKEY_ERROR;
- return (unsigned int) ic;
- }
-
- while (1)
- {
- int ret;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- if (0 == (ret = _SLsys_input_pending (100)))
- continue;
-
- if (ret != -1)
- break;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- if (errno == EINTR)
- {
- if (-1 == handle_interrupt ())
- return SLANG_GETKEY_ERROR;
-
- continue;
- }
-
- break; /* let read handle it */
- }
-
- while (1)
- {
- int status = read(SLang_TT_Read_FD, (char *) &c, 1);
-
- if (status > 0)
- break;
-
- if (status == 0)
- {
- /* We are at the end of a file. Let application handle it. */
- return SLANG_GETKEY_ERROR;
- }
-
- if (errno == EINTR)
- {
- if (-1 == handle_interrupt ())
- return SLANG_GETKEY_ERROR;
-
- if (SLKeyBoard_Quit)
- return SLang_Abort_Char;
-
- continue;
- }
-#ifdef EAGAIN
- if (errno == EAGAIN)
- {
- sleep (1);
- continue;
- }
-#endif
-#ifdef EWOULDBLOCK
- if (errno == EWOULDBLOCK)
- {
- sleep (1);
- continue;
- }
-#endif
-#ifdef EIO
- if (errno == EIO)
- {
- SLang_exit_error ("_SLsys_getkey: EIO error.");
- }
-#endif
- return SLANG_GETKEY_ERROR;
- }
-
- return((unsigned int) c);
-}
-
diff --git a/mdk-stage1/slang/slxstrng.c b/mdk-stage1/slang/slxstrng.c
deleted file mode 100644
index 3f8a4dffa..000000000
--- a/mdk-stage1/slang/slxstrng.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (c) 1992, 1999, 2001 John E. Davis
- * This file is part of the S-Lang library.
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Perl Artistic License.
- */
-
-/* These routines are simple and inefficient. They were designed to work on
- * SunOS when using Electric Fence.
- */
-
-#include "slang.h"
-#include "_slang.h"
-char *SLstrcpy(register char *aa, register char *b)
-{
- char *a = aa;
- while ((*a++ = *b++) != 0);
- return aa;
-}
-
-int SLstrcmp(register char *a, register char *b)
-{
- while (*a && (*a == *b))
- {
- a++;
- b++;
- }
- if (*a) return((unsigned char) *a - (unsigned char) *b);
- else if (*b) return ((unsigned char) *a - (unsigned char) *b);
- else return 0;
-}
-
-char *SLstrncpy(char *a, register char *b,register int n)
-{
- register char *aa = a;
- while ((n > 0) && *b)
- {
- *aa++ = *b++;
- n--;
- }
- while (n-- > 0) *aa++ = 0;
- return (a);
-}
diff --git a/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2 b/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2
deleted file mode 100644
index 337b13666..000000000
--- a/mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2 b/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2
deleted file mode 100644
index 56279ae90..000000000
--- a/mdk-stage1/stage1-data/stage1-with-sash.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1-data/stage1.tar.bz2 b/mdk-stage1/stage1-data/stage1.tar.bz2
deleted file mode 100644
index 98e62b362..000000000
--- a/mdk-stage1/stage1-data/stage1.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c
index bc3b457e3..94bb1e0df 100644
--- a/mdk-stage1/stage1.c
+++ b/mdk-stage1/stage1.c
@@ -1,9 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000-2001 MandrakeSoft
- *
- * View the homepage: http://people.mandrakesoft.com/~gc/html/stage1.html
+ * Copyright 2000-2004 Mandriva
*
*
* This software may be freely redistributed under the terms of the GNU
@@ -35,6 +33,8 @@
#include <ctype.h>
#include <stdarg.h>
#include <signal.h>
+#include <linux/unistd.h>
+#include <libldetect.h>
#include "stage1.h"
@@ -43,12 +43,13 @@
#include "frontend.h"
#include "modules.h"
#include "tools.h"
+#include "utils.h"
#include "automatic.h"
#include "mount.h"
-#include "insmod.h"
+#include "thirdparty.h"
#ifdef ENABLE_PCMCIA
-#include "pcmcia_/pcmcia.h"
+#include "pcmcia/pcmcia.h"
#endif
#ifndef DISABLE_CDROM
@@ -67,8 +68,6 @@
/************************************************************
* globals */
-char * method_name;
-char * stage2_kickstart = NULL;
void fatal_error(char *msg)
@@ -86,12 +85,21 @@ void stg1_error_message(char *msg, ...)
{
va_list args;
va_start(args, msg);
- log_message("unsetting automatic");
- unset_param(MODE_AUTOMATIC);
+ unset_automatic();
verror_message(msg, args);
va_end(args);
}
+void stg1_fatal_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ unset_automatic();
+ verror_message(msg, args);
+ va_end(args);
+ exit(1);
+}
+
void stg1_info_message(char *msg, ...)
{
va_list args;
@@ -105,13 +113,15 @@ void stg1_info_message(char *msg, ...)
}
+#ifdef SPAWN_SHELL
+static pid_t shell_pid = 0;
+
/************************************************************
* spawns a shell on console #2 */
static void spawn_shell(void)
{
-#ifdef SPAWN_SHELL
int fd;
- char * shell_name[] = { "/tmp/sh", NULL };
+ char * shell_name[] = { "/bin/sh", NULL };
log_message("spawning a shell");
@@ -126,7 +136,7 @@ static void spawn_shell(void)
return;
}
- if (!fork()) {
+ if (!(shell_pid = fork())) {
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
@@ -136,24 +146,23 @@ static void spawn_shell(void)
if (ioctl(0, TIOCSCTTY, NULL))
log_perror("could not set new controlling tty");
- execve(shell_name[0], shell_name, grab_env());
+ execv(shell_name[0], shell_name);
log_message("execve of %s failed: %s", shell_name[0], strerror(errno));
exit(-1);
}
close(fd);
}
-#endif
}
+#endif
-
+#ifdef SPAWN_INTERACTIVE
char * interactive_fifo = "/tmp/stage1-fifo";
static pid_t interactive_pid = 0;
/* spawns my small interactive on console #6 */
static void spawn_interactive(void)
{
-#ifdef SPAWN_INTERACTIVE
int fd;
char * dev = "/dev/tty6";
@@ -184,7 +193,7 @@ static void spawn_interactive(void)
perror("could not set new controlling tty");
fif_out = open(interactive_fifo, O_WRONLY);
- printf("Please enter your command (availables: [+,-] [rescue,expert]).\n");
+ printf("Please enter your command (availables: [+,-] [rescue]).\n");
while (1) {
char s[50];
@@ -202,111 +211,53 @@ static void spawn_interactive(void)
close(fd);
}
-#endif
}
+#endif
-/************************************************************
- */
-
-static void expert_third_party_modules(void)
+#ifdef ENABLE_PCMCIA
+static void handle_pcmcia(void)
{
- enum return_type results;
- char * floppy_mount_location = "/tmp/floppy";
- char ** modules;
- char final_name[500];
- char * choice;
- int rc;
- char * questions[] = { "Options", NULL };
- static char ** answers = NULL;
-
- results = ask_yes_no("If you want to insert third-party kernel modules, insert "
- "a Linux (ext2fs) formatted floppy containing the modules and confirm. Otherwise, select \"no\".");;
- if (results != RETURN_OK)
- return;
+ char * pcmcia_adapter;
- my_insmod("floppy", ANY_DRIVER_TYPE, NULL);
-
- if (my_mount("/dev/fd0", floppy_mount_location, "ext2", 0) == -1) {
- stg1_error_message("I can't find a Linux ext2 floppy in first floppy drive.");
- return expert_third_party_modules();
- }
-
- modules = list_directory(floppy_mount_location);
-
- if (!modules || !*modules) {
- stg1_error_message("No modules found on floppy disk.");
- umount(floppy_mount_location);
- return expert_third_party_modules();
- }
-
- results = ask_from_list("Which driver would you like to insmod?", modules, &choice);
- if (results != RETURN_OK) {
- umount(floppy_mount_location);
+ pcmcia_adapter = pcmcia_probe();
+ if (!pcmcia_adapter) {
+ log_message("no pcmcia adapter found");
return;
}
+ my_modprobe("pcmcia_core", ANY_DRIVER_TYPE, NULL);
+ my_modprobe(pcmcia_adapter, ANY_DRIVER_TYPE, NULL);
+ /* ds is an alias for pcmcia in recent 2.6 kernels
+ but we don't have modules.alias in install, so try to load both */
+ my_modprobe("ds", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("pcmcia", ANY_DRIVER_TYPE, NULL);
+
+ /* setup a dynamic resource database for non statically mapped PCMCIA sockets */
+ pcmcia_socket_startup(-1);
- sprintf(final_name, "%s/%s", floppy_mount_location, choice);
-
- results = ask_from_entries("Please enter the options:", questions, &answers, 24, NULL);
- if (results != RETURN_OK) {
- umount(floppy_mount_location);
- return expert_third_party_modules();
- }
-
- rc = insmod_call(final_name, answers[0]);
- umount(floppy_mount_location);
-
- if (rc) {
- log_message("\tfailed");
- stg1_error_message("Insmod failed.");
- }
-
- return expert_third_party_modules();
+ add_to_env("PCMCIA", pcmcia_adapter);
}
+#endif
-
-#ifdef ENABLE_PCMCIA
-static void handle_pcmcia(char ** pcmcia_adapter)
+#ifndef ENABLE_NETWORK_STANDALONE
+static void handle_hid(void)
{
- char buf[50];
- int fd = open("/proc/version", O_RDONLY);
- int size;
- if (fd == -1)
- fatal_error("could not open /proc/version");
- size = read(fd, buf, sizeof(buf));
- buf[size-1] = '\0'; // -1 to eat the \n
- close(fd);
- buf[17] = '\0'; // enough to extract `2.2'
- if (ptr_begins_static_str(buf+14, "2.2")) {
- stg1_error_message("We now use kernel pcmcia support and this won't work with a 2.2 kernel.");
- return;
- }
+ struct hid_entries entry_list;
+ unsigned int i;
- *pcmcia_adapter = pcmcia_probe();
- if (!*pcmcia_adapter) {
- log_message("no pcmcia adapter found");
- return;
+ entry_list = hid_probe();
+ for (i = 0; i < entry_list.nb; i++) {
+ if (entry_list.entries[i].module != NULL)
+ my_modprobe(entry_list.entries[i].module, ANY_DRIVER_TYPE, NULL);
}
- my_insmod("pcmcia_core", ANY_DRIVER_TYPE, NULL);
- my_insmod(*pcmcia_adapter, ANY_DRIVER_TYPE, NULL);
- my_insmod("ds", ANY_DRIVER_TYPE, NULL);
-
- /* call to cardmgr takes time, let's use the wait message */
- wait_message("Enabling PCMCIA extension cards...");
- log_message("cardmgr rc: %d", cardmgr_call());
- remove_wait_message();
-
- if (IS_EXPERT)
- expert_third_party_modules();
+ my_modprobe("hid_generic", ANY_DRIVER_TYPE, NULL);
}
-#endif
/************************************************************
*/
-static enum return_type method_select_and_prepare(void)
+static void method_select_and_prepare(void)
{
enum return_type results;
char * choice;
@@ -323,13 +274,20 @@ static enum return_type method_select_and_prepare(void)
char * network_nfs_install = "NFS server"; char * network_nfs_install_auto = "nfs";
char * network_ftp_install = "FTP server"; char * network_ftp_install_auto = "ftp";
char * network_http_install = "HTTP server"; char * network_http_install_auto = "http";
+#ifndef DISABLE_KA
+ char * network_ka_install = "KA server"; char * network_ka_install_auto = "ka";
+#endif
#endif
+ char * thirdparty_install = "Load third party modules"; char * thirdparty_install_auto = "thirdparty";
i = 0;
#ifndef DISABLE_NETWORK
means[i] = network_nfs_install; means_auto[i++] = network_nfs_install_auto;
means[i] = network_ftp_install; means_auto[i++] = network_ftp_install_auto;
means[i] = network_http_install; means_auto[i++] = network_http_install_auto;
+#ifndef DISABLE_KA
+ means[i] = network_ka_install; means_auto[i++] = network_ka_install_auto;
+#endif
#endif
#ifndef DISABLE_CDROM
means[i] = cdrom_install; means_auto[i++] = cdrom_install_auto;
@@ -337,15 +295,16 @@ static enum return_type method_select_and_prepare(void)
#ifndef DISABLE_DISK
means[i] = disk_install; means_auto[i++] = disk_install_auto;
#endif
+ means[i] = thirdparty_install; means_auto[i++] = thirdparty_install_auto;
means[i] = NULL;
+ unlink(IMAGE_LOCATION);
+
results = ask_from_list_auto("Please choose the installation method.", means, &choice, "method", means_auto);
if (results != RETURN_OK)
return method_select_and_prepare();
- results = RETURN_ERROR;
-
#ifndef DISABLE_CDROM
if (!strcmp(choice, cdrom_install))
results = cdrom_prepare();
@@ -359,53 +318,93 @@ static enum return_type method_select_and_prepare(void)
#ifndef DISABLE_NETWORK
if (!strcmp(choice, network_nfs_install))
results = nfs_prepare();
-
+
if (!strcmp(choice, network_ftp_install))
results = ftp_prepare();
if (!strcmp(choice, network_http_install))
results = http_prepare();
+
+#ifndef DISABLE_KA
+ if (!strcmp(choice, network_ka_install))
+ results = ka_prepare();
+#endif
#endif
+ if (!strcmp(choice, thirdparty_install)) {
+ thirdparty_load_modules();
+ return method_select_and_prepare();
+ }
+
if (results != RETURN_OK)
return method_select_and_prepare();
- return RETURN_OK;
+ /* try to find third party modules on the install media */
+ thirdparty_load_media_modules();
}
+#endif
+void finish_preparing(void)
+{
+#ifdef SPAWN_SHELL
+ if (shell_pid != 0) {
+ int fd;
+ const char *clear = "\033[H\033[J";
+ kill(shell_pid, 9);
+ log_message("killed shell");
+ fd = open("/dev/tty2", O_RDWR);
+ write(fd, clear, strlen(clear));
+ close(fd);
+ }
+#endif
+}
int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)), char **env)
{
- enum return_type ret;
- char ** argptr;
- char * stage2_args[30];
-#ifdef ENABLE_PCMCIA
- char * pcmcia_adapter = NULL;
-#endif
+#ifdef ENABLE_NETWORK_STANDALONE
+ open_log();
+ init_frontend("");
+
+ unlink("/etc/resolv.conf"); /* otherwise it is read-only */
+ set_param(MODE_AUTOMATIC);
+ grab_automatic_params("network:dhcp");
- if (getpid() > 50)
+ intf_select_and_up();
+ finish_frontend();
+ return 0;
+#else
+ if (getenv("DEBUGSTAGE1")) {
+ set_param(MODE_DEBUGSTAGE1);
set_param(MODE_TESTING);
+ }
+#ifdef SPAWN_INTERACTIVE
spawn_interactive();
+#endif
open_log();
- log_message("welcome to the " DISTRIB_NAME " install (mdk-stage1, version " VERSION " built " __DATE__ " " __TIME__")");
+ log_message("welcome to the " DISTRIB_NAME " install (mdk-stage1, version " DISTRIB_VERSION " built " __DATE__ " " __TIME__")");
process_cmdline();
- handle_env(env);
+#ifdef SPAWN_SHELL
spawn_shell();
+#endif
init_modules_insmoding();
- init_frontend("Welcome to " DISTRIB_NAME " (" VERSION ") " __DATE__ " " __TIME__);
+ init_frontend("Welcome to " DISTRIB_DESCR ", " __DATE__ " " __TIME__);
+
+ probe_that_type(VIRTIO_DEVICES, BUS_ANY);
- if (IS_EXPERT)
- expert_third_party_modules();
+ /* load usb interface as soon as possible, helps usb mouse detection in stage2 */
+ probe_that_type(USB_CONTROLLERS, BUS_USB);
- if (IS_UPDATEMODULES)
- update_modules();
+ if (IS_THIRDPARTY)
+ thirdparty_load_modules();
#ifdef ENABLE_PCMCIA
if (!IS_NOAUTO)
- handle_pcmcia(&pcmcia_adapter);
+ handle_pcmcia();
#endif
+
+ handle_hid();
if (IS_CHANGEDISK)
stg1_info_message("You are starting the installation with an alternate booting method. "
@@ -418,57 +417,27 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))
"your own risk. Alternatively, you may reboot your system now.");
}
-#ifndef DISABLE_DISK
- if (IS_RECOVERY && streq(get_auto_value("method"), "cdrom") && process_recovery())
- ret = RETURN_OK;
- else
-#endif
- ret = method_select_and_prepare();
-
- finish_frontend();
- close_log();
+ method_select_and_prepare();
- if (ret != RETURN_OK)
- fatal_error("could not select an installation method");
+ thirdparty_destroy();
- if (!IS_RAMDISK) {
- if (symlink(IMAGE_LOCATION LIVE_LOCATION, STAGE2_LOCATION) != 0) {
- printf("symlink from " IMAGE_LOCATION LIVE_LOCATION " to " STAGE2_LOCATION " failed");
- fatal_error(strerror(errno));
- }
- }
+ if (access(STAGE2_LOCATION, R_OK) != 0)
+ if (symlink(IMAGE_LOCATION_REL "/" LIVE_LOCATION_REL, STAGE2_LOCATION) != 0)
+ log_perror("symlink from " IMAGE_LOCATION_REL "/" LIVE_LOCATION_REL " to " STAGE2_LOCATION " failed");
+#ifdef SPAWN_INTERACTIVE
if (interactive_pid != 0)
kill(interactive_pid, 9);
-
- if (IS_RESCUE)
- return 66;
- if (IS_TESTING)
- return 0;
-
- argptr = stage2_args;
- *argptr++ = "/usr/bin/runinstall2";
- *argptr++ = "--method";
- *argptr++ = method_name;
-#ifdef ENABLE_PCMCIA
- if (pcmcia_adapter) {
- *argptr++ = "--pcmcia";
- *argptr++ = pcmcia_adapter;
- }
#endif
- if (disable_modules)
- *argptr++ = "--blank";
- if (stage2_kickstart) {
- *argptr++ = "--kickstart";
- *argptr++ = stage2_kickstart;
- }
- *argptr++ = NULL;
- execve(stage2_args[0], stage2_args, grab_env());
+ finish_preparing();
- printf("error in exec of stage2 :-(\n");
- printf("trying to execute '/usr/bin/runinstall2' from the installation volume,\nthe following fatal error occurred\n");
- fatal_error(strerror(errno));
-
- return 0; /* shut up compiler (we can't get here anyway!) */
+ finish_frontend();
+ close_log();
+
+ if (IS_RESCUE)
+ return 66; /* ask init to exec new init */
+
+ return 0;
+#endif
}
diff --git a/mdk-stage1/stage1.h b/mdk-stage1/stage1.h
index 94f99e7c7..575241323 100644
--- a/mdk-stage1/stage1.h
+++ b/mdk-stage1/stage1.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -23,38 +23,35 @@
#define _STAGE1_H_
#include "config-stage1.h"
-#include "tools.h"
+#include "params.h"
/* Some global stuff */
-extern char * method_name;
extern char * interactive_fifo;
-extern char * stage2_kickstart;
#define MODE_TESTING (1 << 0)
-#define MODE_EXPERT (1 << 1)
#define MODE_RESCUE (1 << 3)
#define MODE_AUTOMATIC (1 << 4)
-#define MODE_SPECIAL_STAGE2 (1 << 8)
+#define MODE_KEEP_MOUNTED (1 << 5) /* for rescue */
+#define MODE_DEBUGSTAGE1 (1 << 6)
#define MODE_RAMDISK (1 << 9)
#define MODE_CHANGEDISK (1 << 10)
-#define MODE_UPDATEMODULES (1 << 11)
+#define MODE_THIRDPARTY (1 << 11)
#define MODE_NOAUTO (1 << 12)
#define MODE_NETAUTO (1 << 13)
#define MODE_RECOVERY (1 << 14)
#define IS_TESTING (get_param(MODE_TESTING))
-#define IS_EXPERT (get_param(MODE_EXPERT))
#define IS_RESCUE (get_param(MODE_RESCUE))
#define IS_AUTOMATIC (get_param(MODE_AUTOMATIC))
-#define IS_SPECIAL_STAGE2 (get_param(MODE_SPECIAL_STAGE2))
-#define IS_RAMDISK (get_param(MODE_RAMDISK))
+#define IS_DEBUGSTAGE1 (get_param(MODE_DEBUGSTAGE1))
#define IS_CHANGEDISK (get_param(MODE_CHANGEDISK))
-#define IS_UPDATEMODULES (get_param(MODE_UPDATEMODULES))
+#define IS_THIRDPARTY (get_param(MODE_THIRDPARTY))
#define IS_NOAUTO (get_param(MODE_NOAUTO))
#define IS_NETAUTO (get_param(MODE_NETAUTO))
#define IS_RECOVERY (get_param(MODE_RECOVERY))
+#define KEEP_MOUNTED (!IS_RESCUE || get_param(MODE_KEEP_MOUNTED))
void fatal_error(char *msg) __attribute__ ((noreturn));
diff --git a/mdk-stage1/stdio-frontend.c b/mdk-stage1/stdio-frontend.c
index 45d9177a2..8c09330b5 100644
--- a/mdk-stage1/stdio-frontend.c
+++ b/mdk-stage1/stdio-frontend.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -30,7 +30,7 @@
#include <probing.h>
#include "frontend.h"
-
+#include "utils.h"
void init_frontend(char * welcome_msg)
{
@@ -53,7 +53,7 @@ static void get_any_response(void)
while (read(0, &t, 1) > 0);
fcntl(0, F_SETFL, 0);
}
-
+
static int get_int_response(void)
{
char s[50];
@@ -76,7 +76,6 @@ static char * get_string_response(char * initial_string)
/* I won't use a scanf/%s since I also want the null string to be accepted -- also, I want the initial_string */
char s[500];
int i = 0;
- char buf[10];
int b_index = 0;
char b;
@@ -89,7 +88,7 @@ static char * get_string_response(char * initial_string)
strcpy(s, initial_string);
i = strlen(s);
}
-
+
/* from ncurses/tinfo/lib_raw.c:(cbreak) */
tcgetattr(0, &t);
t.c_lflag &= ~ICANON;
@@ -108,7 +107,6 @@ static char * get_string_response(char * initial_string)
if (read(0, &b, 1) > 0) {
if (b_index == 1) {
if (b == 91) {
- buf[b_index] = b;
b_index++;
continue;
}
@@ -131,7 +129,7 @@ static char * get_string_response(char * initial_string)
b_index = 0;
continue;
}
-
+
if (b == 13)
break;
if (b == 127) {
@@ -146,7 +144,6 @@ static char * get_string_response(char * initial_string)
i--;
}
} else if (b == 27) {
- buf[b_index] = b;
b_index++;
} else {
printf("%c", b);
@@ -176,13 +173,11 @@ static void blocking_msg(char *type, char *fmt, va_list ap)
void verror_message(char *msg, va_list ap)
{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
blocking_msg("> Error! ", msg, ap);
}
void vinfo_message(char *msg, va_list ap)
{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
blocking_msg("> Notice: ", msg, ap);
}
@@ -202,7 +197,7 @@ void remove_wait_message(void)
static int size_progress;
static int actually_drawn;
#define PROGRESS_SIZE 45
-void init_progression(char *msg, int size)
+void init_progression_raw(char *msg, int size)
{
int i;
size_progress = size;
@@ -217,7 +212,7 @@ void init_progression(char *msg, int size)
printf("\n");
}
-void update_progression(int current_size)
+void update_progression_raw(int current_size)
{
if (size_progress) {
if (current_size > size_progress)
@@ -228,21 +223,21 @@ void update_progression(int current_size)
}
} else
printf("\033[GStatus: [%8d] bytes loaded...", current_size);
-
+
fflush(stdout);
}
-void end_progression(void)
+void end_progression_raw(void)
{
if (size_progress) {
- update_progression(size_progress);
+ update_progression_raw(size_progress);
printf("]\n");
} else
printf(" done.\n");
}
-enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
+enum return_type ask_from_list_index(char *msg, char ** elems, char ** elems_comments, int *answer)
{
int justify_number = 1;
void print_choice_number(int i) {
@@ -250,20 +245,12 @@ enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_
snprintf(tmp, sizeof(tmp), "[%%%dd]", justify_number);
printf(tmp, i);
}
- char ** sav_elems = elems;
int i = 1;
int j = 0;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
- while (elems && *elems) {
- elems++;
- i++;
- }
- if (i >= 10)
+ if (string_array_length(elems) >= 10)
justify_number = 2;
- elems = sav_elems;
i = 1;
printf("> %s\n", msg);
@@ -285,7 +272,7 @@ enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_
}
if (j == 4)
j = 0;
-
+
if (elems_comments)
elems_comments++;
i++;
@@ -300,7 +287,7 @@ enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_
return RETURN_BACK;
if (j >= 1 && j <= i) {
- *choice = strdup(sav_elems[j-1]);
+ *answer = j - 1;
return RETURN_OK;
}
@@ -308,19 +295,10 @@ enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_
}
-enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
-{
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
- return ask_from_list_comments(msg, elems, NULL, choice);
-}
-
-
enum return_type ask_yes_no(char *msg)
{
int j;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
printf("> %s\n[0] Yes [1] No [2] Back\n? ", msg);
j = get_int_response();
@@ -338,8 +316,6 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
int j, i = 0;
char ** already_answers = NULL;
- probe_that_type(USB_CONTROLLERS, BUS_USB); // we'd need the keyboard for interactions so...
-
printf("> %s\n", msg);
while (questions && *questions) {
@@ -349,7 +325,7 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
}
if (*answers == NULL)
- *answers = (char **) malloc(sizeof(char *) * i);
+ *answers = (char **) calloc(1, sizeof(char *) * i);
else
already_answers = *answers;
diff --git a/mdk-stage1/thirdparty.c b/mdk-stage1/thirdparty.c
new file mode 100644
index 000000000..78bbf485a
--- /dev/null
+++ b/mdk-stage1/thirdparty.c
@@ -0,0 +1,460 @@
+/*
+ * Guillaume Cottenceau (gc)
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/utsname.h>
+
+#include "stage1.h"
+#include "tools.h"
+#include "utils.h"
+#include "log.h"
+#include "modules.h"
+#include "mount.h"
+#include "frontend.h"
+#include "partition.h"
+#include "automatic.h"
+#include "probing.h"
+
+#include "thirdparty.h"
+
+#define THIRDPARTY_MOUNT_LOCATION "/tmp/thirdparty"
+
+#define N_PCITABLE_ENTRIES 100
+static struct pcitable_entry pcitable[N_PCITABLE_ENTRIES];
+static int pcitable_len = 0;
+
+static enum return_type thirdparty_choose_device(char ** device, int probe_only)
+{
+ char ** medias, ** medias_models;
+ char ** ptr, ** ptr_models;
+#ifndef DISABLE_DISK
+ char ** disk_medias, ** disk_medias_models;
+ int disk_count;
+ char * parts[50];
+ char * parts_comments[50];
+#endif
+#ifndef DISABLE_CDROM
+ char ** cdrom_medias, ** cdrom_medias_models;
+ int cdrom_count;
+#endif
+ char * floppy_dev;
+ enum return_type results;
+ int count = 0;
+
+ wait_message("Looking for floppy, disk and cdrom devices ...");
+
+#ifndef DISABLE_DISK
+ disk_count = get_disks(&disk_medias, &disk_medias_models);
+ count += disk_count;
+#endif
+#ifndef DISABLE_CDROM
+ cdrom_count = get_cdroms(&cdrom_medias, &cdrom_medias_models);
+ count += cdrom_count;
+#endif
+
+ floppy_dev = floppy_device();
+ if (floppy_dev && strstr(floppy_dev, "/dev/") == floppy_dev) {
+ floppy_dev = floppy_dev + 5;
+ }
+ if (floppy_dev)
+ count += 1;
+
+ remove_wait_message();
+
+ if (count == 0) {
+ stg1_error_message("I can't find any floppy, disk or cdrom on this system. "
+ "No third-party kernel modules will be used.");
+ return RETURN_BACK;
+ }
+
+ if (probe_only) {
+#ifndef DISABLE_DISK
+ free(disk_medias);
+ free(disk_medias_models);
+#endif
+#ifndef DISABLE_CDROM
+ free(cdrom_medias);
+ free(cdrom_medias_models);
+#endif
+ return RETURN_OK;
+ }
+
+ ptr = medias = malloc((count + 1) * sizeof(char *));
+ ptr_models =medias_models = malloc((count + 1) * sizeof(char *));
+#ifndef DISABLE_DISK
+ memcpy(ptr, disk_medias, disk_count * sizeof(char *));
+ memcpy(ptr_models, disk_medias_models, disk_count * sizeof(char *));
+ free(disk_medias);
+ free(disk_medias_models);
+ ptr += disk_count;
+ ptr_models += disk_count;
+#endif
+#ifndef DISABLE_CDROM
+ memcpy(ptr, cdrom_medias, cdrom_count * sizeof(char *));
+ memcpy(ptr_models, cdrom_medias_models, cdrom_count * sizeof(char *));
+ free(cdrom_medias);
+ free(cdrom_medias_models);
+ cdrom_medias = ptr; /* used later to know if a cdrom is selected */
+ ptr += cdrom_count;
+ ptr_models += cdrom_count;
+#endif
+ if (floppy_dev) {
+ ptr[0] = floppy_dev;
+ ptr_models[0] = "Floppy device";
+ ptr++;
+ ptr_models++;
+ }
+ ptr[0] = NULL;
+ ptr_models[0] = NULL;
+
+ if (count == 1) {
+ *device = medias[0];
+ } else {
+ results = ask_from_list_comments("If you want to insert third-party kernel modules, "
+ "please select the disk containing the modules.",
+ medias, medias_models, device);
+ if (results != RETURN_OK)
+ return results;
+ }
+
+ if (floppy_dev && streq(*device, floppy_dev)) {
+ /* a floppy is selected, don't try to list partitions */
+ return RETURN_OK;
+ }
+
+#ifndef DISABLE_CDROM
+ for (ptr = cdrom_medias; ptr < cdrom_medias + cdrom_count; ptr++) {
+ if (*device == *ptr) {
+ /* a cdrom is selected, don't try to list partitions */
+ log_message("thirdparty: a cdrom is selected, using it (%s)", *device);
+ return RETURN_OK;
+ }
+ }
+#endif
+
+#ifndef DISABLE_DISK
+ /* a disk or usb key is selected */
+ if (list_partitions(*device, parts, parts_comments)) {
+ stg1_error_message("Could not read partitions information.");
+ return RETURN_ERROR;
+ }
+
+ if (parts[0] == NULL) {
+ stg1_error_message("No partition found.");
+ return RETURN_ERROR;
+ }
+
+ /* only one partition has been discovered, don't ask which one to use */
+ if (parts[1] == NULL) {
+ log_message("thirdparty: found only one partition on device (%s)", parts[0]);
+ *device = parts[0];
+ return RETURN_OK;
+ }
+
+ results = ask_from_list_comments("Please select the partition containing "
+ "the third party modules.",
+ parts, parts_comments, device);
+ if (results == RETURN_OK)
+ return RETURN_OK;
+#endif
+
+ stg1_error_message("Sorry, no third party device can be used.");
+
+ return RETURN_BACK;
+}
+
+
+static enum return_type thirdparty_mount_device(char * device)
+{
+ log_message("third party: trying to mount device %s", device);
+ if (try_mount(device, THIRDPARTY_MOUNT_LOCATION) != 0) {
+ stg1_error_message("I can't mount the selected device (%s).", device);
+ return RETURN_ERROR;
+ }
+ return RETURN_OK;
+}
+
+
+static enum return_type thirdparty_prompt_modules(const char *modules_location, char ** modules_list)
+{
+ enum return_type results;
+ char final_name[500];
+ char *module_name;
+ int rc;
+ char * questions[] = { "Options", NULL };
+ static char ** answers = NULL;
+
+ while (1) {
+ results = ask_from_list("Which driver would you like to insmod?", modules_list, &module_name);
+ if (results != RETURN_OK)
+ break;
+
+ sprintf(final_name, "%s/%s", modules_location, module_name);
+
+ results = ask_from_entries("Please enter the options:", questions, &answers, 24, NULL);
+ if (results != RETURN_OK)
+ continue;
+
+ rc = insmod_local_file(final_name, answers[0]);
+ if (rc) {
+ log_message("\tfailed");
+ stg1_error_message("Insmod failed.");
+ }
+ }
+ return RETURN_OK;
+}
+
+
+static int pcitable_orderer(const void *a, const void *b)
+{
+ int ret;
+ struct pcitable_entry *ap = (struct pcitable_entry *)a;
+ struct pcitable_entry *bp = (struct pcitable_entry *)b;
+
+ if ((ret = ap->vendor - bp->vendor) != 0)
+ return ret;
+ if ((ret = ap->device - bp->device) != 0)
+ return ret;
+ if ((ret = ap->subvendor - bp->subvendor) != 0)
+ return ret;
+ if ((ret = ap->subdevice - bp->subdevice) != 0)
+ return ret;
+
+ return 0;
+}
+
+
+static void thirdparty_load_pcitable(const char *modules_location)
+{
+ char pcitable_filename[100];
+ FILE * f = NULL;
+
+ snprintf(pcitable_filename, sizeof(pcitable_filename), "%s/pcitable", modules_location);
+ if (!(f = fopen(pcitable_filename, "rb"))) {
+ log_message("third_party: no external pcitable found");
+ return;
+ }
+ pcitable_len = 0;
+ while (pcitable_len < N_PCITABLE_ENTRIES) {
+ char buf[200];
+ struct pcitable_entry *e;
+ if (!fgets(buf, sizeof(buf), f)) break;
+ e = &pcitable[pcitable_len++];
+ if (sscanf(buf, "%hx\t%hx\t\"%[^ \"]\"\t\"%[^\"]\"", &e->vendor, &e->device, e->module, e->description) == 4)
+ e->subvendor = e->subdevice = PCITABLE_MATCH_ALL;
+ else
+ sscanf(buf, "%hx\t%hx\t%x\t%x\t\"%[^ \"]\"\t\"%[^\"]\"", &e->vendor, &e->device, &e->subvendor, &e->subdevice, e->module, e->description);
+ }
+ fclose(f);
+
+ /* sort pcitable by most specialised entries first */
+ qsort(pcitable, pcitable_len, sizeof(pcitable[0]), pcitable_orderer);
+}
+
+
+static int thirdparty_is_detected(char *driver) {
+ int i, j;
+
+ for (i = 0; i < detected_devices_len ; i++) {
+ /* first look for the IDs in the third-party pcitable */
+ for (j = 0; j < pcitable_len ; j++) {
+ if (pcitable[j].vendor == detected_devices[i].vendor &&
+ pcitable[j].device == detected_devices[i].device &&
+ !strcmp(pcitable[j].module, driver)) {
+ const int subvendor = pcitable[j].subvendor;
+ const int subdevice = pcitable[j].subdevice;
+ if ((subvendor == PCITABLE_MATCH_ALL && subdevice == PCITABLE_MATCH_ALL) ||
+ (subvendor == detected_devices[i].subvendor && subdevice == detected_devices[i].subdevice)) {
+ log_message("probing: found device for module %s", driver);
+ return 1;
+ }
+ }
+ }
+ /* if not found, compare with the detected driver */
+ if (!strcmp(detected_devices[i].module, driver)) {
+ log_message("probing: found device for module %s", driver);
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+static enum return_type thirdparty_autoload_modules(const char *modules_location, char ** modules_list, FILE *f, int load_detected_only)
+{
+ while (1) {
+ char final_name[500];
+ char module[500];
+ char * options;
+ char ** entry = modules_list;
+
+ if (!fgets(module, sizeof(module), f)) break;
+ if (module[0] == '#' || strlen(module) == 0)
+ continue;
+
+ while (module[strlen(module)-1] == '\n')
+ module[strlen(module)-1] = '\0';
+ options = strchr(module, ' ');
+ if (options) {
+ options[0] = '\0';
+ options++;
+ }
+
+ if (load_detected_only && !thirdparty_is_detected(module)) {
+ log_message("third party: no device detected for module %s, skipping", module);
+ continue;
+ }
+
+ log_message("third party: auto-loading module (%s) with options (%s)", module, options);
+ while (entry && *entry) {
+ if (!strncmp(*entry, module, strlen(module)) && (*entry)[strlen(module)] == '.') {
+ sprintf(final_name, "%s/%s", modules_location, *entry);
+ if (insmod_local_file(final_name, options)) {
+ log_message("\t%s (third party media): failed", *entry);
+ stg1_error_message("Insmod %s (third party media) failed.", *entry);
+ }
+ break;
+ }
+ entry++;
+ }
+ if (!entry || !*entry) {
+ enum insmod_return ret = my_modprobe(module, ANY_DRIVER_TYPE, options);
+ if (ret != INSMOD_OK) {
+ log_message("\t%s (marfile): failed", module);
+ stg1_error_message("Insmod %s (marfile) failed.", module);
+ }
+ }
+ }
+
+ return RETURN_OK;
+}
+
+static enum return_type thirdparty_try_directory(char * root_directory, int interactive) {
+ char modules_location[100];
+ char modules_location_release[100];
+ char *list_filename;
+ FILE *f_load, *f_detect;
+ char **modules_list, **modules_list_release;
+ struct utsname kernel_uname;
+
+ /* look first in the specific third-party directory */
+ snprintf(modules_location, sizeof(modules_location), "%s" THIRDPARTY_DIRECTORY, root_directory);
+ modules_list = list_directory(modules_location);
+
+ /* if it's empty, look in the root of selected device */
+ if (!modules_list || !modules_list[0]) {
+ modules_location[strlen(root_directory)] = '\0';
+ modules_list = list_directory(modules_location);
+ if (interactive)
+ add_to_env("THIRDPARTY_DIR", "");
+ } else {
+ if (interactive)
+ add_to_env("THIRDPARTY_DIR", THIRDPARTY_DIRECTORY);
+ }
+
+ if (uname(&kernel_uname)) {
+ log_perror("uname failed");
+ return RETURN_ERROR;
+ }
+ snprintf(modules_location_release, sizeof(modules_location_release), "%s/%s", modules_location, kernel_uname.release);
+ modules_list_release = list_directory(modules_location_release);
+ if (modules_list_release && modules_list_release[0]) {
+ strcpy(modules_location, modules_location_release);
+ modules_list = modules_list_release;
+ }
+
+ log_message("third party: using modules location %s", modules_location);
+
+ if (!modules_list || !*modules_list) {
+ log_message("third party: no modules found");
+ if (interactive)
+ stg1_error_message("No modules found on selected device.");
+ return RETURN_ERROR;
+ }
+
+ list_filename = alloca(strlen(modules_location) + 10 /* max: "/to_detect" */ + 1);
+
+ sprintf(list_filename, "%s/to_load", modules_location);
+ f_load = fopen(list_filename, "rb");
+ if (f_load) {
+ thirdparty_autoload_modules(modules_location, modules_list, f_load, 0);
+ fclose(f_load);
+ }
+
+ sprintf(list_filename, "%s/to_detect", modules_location);
+ f_detect = fopen(list_filename, "rb");
+ if (f_detect) {
+ probing_detect_devices();
+ thirdparty_load_pcitable(modules_location);
+ thirdparty_autoload_modules(modules_location, modules_list, f_detect, 1);
+ fclose(f_detect);
+ }
+
+ if (f_load || f_detect)
+ return RETURN_OK;
+ else if (interactive) {
+ if (IS_AUTOMATIC)
+ stg1_error_message("I can't find a \"to_load\" file. Please select the modules manually.");
+ log_message("third party: no \"to_load\" file, prompting for modules");
+ return thirdparty_prompt_modules(modules_location, modules_list);
+ } else {
+ return RETURN_OK;
+ }
+}
+
+void thirdparty_load_media_modules(void)
+{
+ thirdparty_try_directory(IMAGE_LOCATION, 0);
+}
+
+void thirdparty_load_modules(void)
+{
+ enum return_type results;
+ char * device;
+
+ device = NULL;
+ if (IS_AUTOMATIC) {
+ device = get_auto_value("thirdparty");
+ thirdparty_choose_device(NULL, 1); /* probe only to create devices */
+ log_message("third party: trying automatic device %s", device);
+ if (thirdparty_mount_device(device) != RETURN_OK)
+ device = NULL;
+ }
+
+ while (!device || streq(device, "")) {
+ results = thirdparty_choose_device(&device, 0);
+ if (results == RETURN_BACK)
+ return;
+ if (thirdparty_mount_device(device) != RETURN_OK)
+ device = NULL;
+ }
+
+ log_message("third party: using device %s", device);
+ add_to_env("THIRDPARTY_DEVICE", device);
+
+ results = thirdparty_try_directory(THIRDPARTY_MOUNT_LOCATION, 1);
+ umount(THIRDPARTY_MOUNT_LOCATION);
+
+ if (results != RETURN_OK)
+ return thirdparty_load_modules();
+}
+
+void thirdparty_destroy(void)
+{
+ probing_destroy();
+}
diff --git a/mdk-stage1/thirdparty.h b/mdk-stage1/thirdparty.h
new file mode 100644
index 000000000..1c2ac2a05
--- /dev/null
+++ b/mdk-stage1/thirdparty.h
@@ -0,0 +1,35 @@
+/*
+ * Guillaume Cottenceau (gc)
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _THIRDPARTY_H_
+#define _THIRDPARTY_H_
+
+#define THIRDPARTY_DIRECTORY "/install/thirdparty"
+
+/* load third party modules present on install media
+ * use to_load and to_detect files in /install/thirdparty
+ * do not prompt user
+ */
+void thirdparty_load_media_modules(void);
+
+/* load modules if to_load or to_detect files are present
+ * prompt user if no to_load file is present
+ */
+void thirdparty_load_modules(void);
+
+/* destroy all data structures related to the thirdparty module */
+void thirdparty_destroy(void);
+
+#endif
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c
index 5faad8d88..2e27688ea 100644
--- a/mdk-stage1/tools.c
+++ b/mdk-stage1/tools.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -26,13 +26,14 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
-#include <ctype.h>
#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>
-#include <bzlib.h>
#include <sys/mount.h>
#include <sys/poll.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <linux/fd.h>
#include "stage1.h"
#include "log.h"
#include "mount.h"
@@ -40,174 +41,41 @@
#include "automatic.h"
#include "tools.h"
+#include "utils.h"
+#include "params.h"
+#include "probing.h"
+#include "modules.h"
+#include "lomount.h"
-
-static struct param_elem params[50];
-static int param_number = 0;
-
-void process_cmdline(void)
+int image_has_stage2()
{
- char buf[512];
- int fd, size, i;
-
- log_message("opening /proc/cmdline... ");
-
- if ((fd = open("/proc/cmdline", O_RDONLY)) == -1)
- fatal_error("could not open /proc/cmdline");
-
- size = read(fd, buf, sizeof(buf));
- buf[size-1] = '\0'; // -1 to eat the \n
- close(fd);
-
- log_message("\t%s", buf);
-
- i = 0;
- while (buf[i] != '\0') {
- char *name, *value = NULL;
- int j = i;
- while (buf[i] != ' ' && buf[i] != '=' && buf[i] != '\0')
- i++;
- if (i == j) {
- i++;
- continue;
- }
- name = memdup(&buf[j], i-j + 1);
- name[i-j] = '\0';
-
- if (buf[i] == '=') {
- int k = i+1;
- i++;
- while (buf[i] != ' ' && buf[i] != '\0')
- i++;
- value = memdup(&buf[k], i-k + 1);
- value[i-k] = '\0';
- }
-
- params[param_number].name = name;
- params[param_number].value = value;
- param_number++;
- if (!strcmp(name, "expert")) set_param(MODE_EXPERT);
- if (!strcmp(name, "changedisk")) set_param(MODE_CHANGEDISK);
- if (!strcmp(name, "updatemodules")) set_param(MODE_UPDATEMODULES);
- if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
- if (!strcmp(name, "noauto")) set_param(MODE_NOAUTO);
- if (!strcmp(name, "netauto")) set_param(MODE_NETAUTO);
- if (!strcmp(name, "recovery")) set_param(MODE_RECOVERY);
- if (!strcmp(name, "special_stage2")) set_param(MODE_SPECIAL_STAGE2);
- if (!strcmp(name, "automatic")) {
- set_param(MODE_AUTOMATIC);
- grab_automatic_params(value);
- }
- if (buf[i] == '\0')
- break;
- i++;
- }
-
- log_message("\tgot %d args", param_number);
+ return access(COMPRESSED_FILE_REL(IMAGE_LOCATION "/"), R_OK) == 0 ||
+ access(IMAGE_LOCATION "/" LIVE_LOCATION_REL, R_OK) == 0;
}
-
-int stage1_mode = 0;
-
-int get_param(int i)
+enum return_type create_IMAGE_LOCATION(char *location_full)
{
-#ifdef SPAWN_INTERACTIVE
- static int fd = 0;
- char buf[5000];
- char * ptr;
- int nb;
-
- if (fd <= 0) {
- fd = open(interactive_fifo, O_RDONLY);
- if (fd == -1)
- return (stage1_mode & i);
- fcntl(fd, F_SETFL, O_NONBLOCK);
- }
+ struct stat statbuf;
+ int offset = strncmp(location_full, IMAGE_LOCATION_DIR, sizeof(IMAGE_LOCATION_DIR) - 1) == 0 ? sizeof(IMAGE_LOCATION_DIR) - 1 : 0;
+ char *with_arch = asprintf_("%s/%s", location_full, ARCH);
- if (fd > 0) {
- if ((nb = read(fd, buf, sizeof(buf))) > 0) {
- buf[nb] = '\0';
- ptr = buf;
- while ((ptr = strstr(ptr, "+ "))) {
- if (!strncmp(ptr+2, "expert", 6)) set_param(MODE_EXPERT);
- if (!strncmp(ptr+2, "rescue", 6)) set_param(MODE_RESCUE);
- ptr++;
- }
- ptr = buf;
- while ((ptr = strstr(ptr, "- "))) {
- if (!strncmp(ptr+2, "expert", 6)) unset_param(MODE_EXPERT);
- if (!strncmp(ptr+2, "rescue", 6)) unset_param(MODE_RESCUE);
- ptr++;
- }
- }
- }
-#endif
+ log_message("trying %s", with_arch);
- return (stage1_mode & i);
-}
+ if (stat(with_arch, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
+ location_full = with_arch;
-char * get_param_valued(char *param_name)
-{
- int i;
- for (i = 0; i < param_number ; i++)
- if (!strcmp(params[i].name, param_name))
- return params[i].value;
+ log_message("assuming %s is a mirror tree", location_full + offset);
- return NULL;
-}
-
-void set_param_valued(char *param_name, char *param_value)
-{
- params[param_number].name = param_name;
- params[param_number].value = param_value;
- param_number++;
-}
-
-void set_param(int i)
-{
- stage1_mode |= i;
- if (i == MODE_RESCUE) {
- set_param_valued("special_stage2", "rescue");
- set_param(MODE_SPECIAL_STAGE2);
- }
-}
-
-void unset_param(int i)
-{
- stage1_mode &= ~i;
-}
-
-// warning, many things rely on the fact that:
-// - when failing it returns 0
-// - it stops on first non-digit char
-int charstar_to_int(char * s)
-{
- int number = 0;
- while (*s && isdigit(*s)) {
- number = (number * 10) + (*s - '0');
- s++;
- }
- return number;
-}
-
-int total_memory(void)
-{
- int value;
- struct stat statr;
- if (stat("/proc/kcore", &statr))
- return 0;
-
- /* drakx powered: use /proc/kcore and rounds every 4 Mbytes */
- value = 4 * ((int)((float)statr.st_size / 1024 / 1024 / 4 + 0.5));
- log_message("Total Memory: %d Mbytes", value);
+ unlink(IMAGE_LOCATION);
+ if (symlink(location_full + offset, IMAGE_LOCATION) != 0)
+ return RETURN_ERROR;
- return value;
+ return RETURN_OK;
}
-
int ramdisk_possible(void)
{
- if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE : MEM_LIMIT_RAMDISK))
+ if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE : MEM_LIMIT_DRAKX))
return 1;
else {
log_message("warning, ramdisk is not possible due to low mem!");
@@ -215,223 +83,213 @@ int ramdisk_possible(void)
}
}
-
-static void save_stuff_for_rescue(void)
+int compressed_image_preload(void)
{
- void save_this_file(char * file) {
- char buf[5000];
- int fd_r, fd_w, i;
- char location[100];
-
- if ((fd_r = open(file, O_RDONLY)) < 0) {
- log_message("can't open %s for read", file);
- return;
- }
- strcpy(location, STAGE2_LOCATION);
- strcat(location, file);
- if ((fd_w = open(location, O_WRONLY)) < 0) {
- log_message("can't open %s for write", location);
- close(fd_r);
- return;
- }
- if ((i = read(fd_r, buf, sizeof(buf))) <= 0) {
- log_message("can't read from %s", file);
- close(fd_r); close(fd_w);
- return;
- }
- if (write(fd_w, buf, i) != i)
- log_message("can't write %d bytes to %s", i, location);
- close(fd_r); close(fd_w);
- log_message("saved file %s for rescue (%d bytes)", file, i);
+ if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE_PRELOAD : MEM_LIMIT_DRAKX_PRELOAD))
+ return 1;
+ else {
+ log_message("warning, not preloading compressed due to low mem");
+ return 0;
}
- save_this_file("/etc/resolv.conf");
}
-
-enum return_type load_ramdisk_fd(int ramdisk_fd, int size)
+enum return_type save_fd(int from_fd, char * to, void (*callback_func)(int overall))
{
- BZFILE * st2;
- char * ramdisk = "/dev/ram3"; /* warning, verify that this file exists in the initrd, and that root=/dev/ram3 is actually passed to the kernel at boot time */
- int ram_fd;
- char buffer[32768];
- int z_errnum;
- char * wait_msg = "Loading program into memory...";
- int bytes_read = 0;
- int actually;
- int seems_ok = 0;
-
- st2 = BZ2_bzdopen(ramdisk_fd, "r");
-
- if (!st2) {
- log_message("Opening compressed ramdisk: %s", BZ2_bzerror(st2, &z_errnum));
- stg1_error_message("Could not open compressed ramdisk file.");
- return RETURN_ERROR;
- }
-
- ram_fd = open(ramdisk, O_WRONLY);
- if (ram_fd == -1) {
- log_perror(ramdisk);
- stg1_error_message("Could not open ramdisk device file.");
- return RETURN_ERROR;
- }
-
- init_progression(wait_msg, size);
-
- while ((actually = BZ2_bzread(st2, buffer, sizeof(buffer))) > 0) {
- seems_ok = 1;
- if (write(ram_fd, buffer, actually) != actually) {
- log_perror("writing ramdisk");
- remove_wait_message();
- return RETURN_ERROR;
+ FILE * f_to;
+ size_t quantity __attribute__((aligned(16))), overall = 0;
+ char buf[4096] __attribute__((aligned(4096)));
+ int ret = RETURN_ERROR;
+
+ if (!(f_to = fopen(to, "w"))) {
+ log_perror(to);
+ goto close_from;
+ }
+
+ do {
+ quantity = read(from_fd, buf, sizeof(buf));
+ if (quantity > 0) {
+ if (fwrite(buf, 1, quantity, f_to) != quantity) {
+ log_message("short write (%s)", strerror(errno));
+ goto cleanup;
+ }
+ } else if (quantity == -1) {
+ log_message("an error occured: %s", strerror(errno));
+ goto cleanup;
}
- update_progression((int)((bytes_read += actually) / RAMDISK_COMPRESSION_RATIO));
- }
- if (!seems_ok) {
- log_message("reading compressed ramdisk: %s", BZ2_bzerror(st2, &z_errnum));
- BZ2_bzclose(st2); /* opened by gzdopen, but also closes the associated fd */
- close(ram_fd);
- remove_wait_message();
- stg1_error_message("Could not uncompress second stage ramdisk. "
- "This is probably an hardware error while reading the data. "
- "(this may be caused by a hardware failure or a Linux kernel bug)");
- return RETURN_ERROR;
- }
+ if (callback_func) {
+ overall += quantity;
+ callback_func(overall);
+ }
+ } while (quantity);
- end_progression();
+ ret = RETURN_OK;
- BZ2_bzclose(st2); /* opened by gzdopen, but also closes the associated fd */
- close(ram_fd);
+ cleanup:
+ fclose(f_to);
+ close_from:
+ close(from_fd);
- if (my_mount(ramdisk, STAGE2_LOCATION, "ext2", 1))
- return RETURN_ERROR;
+ return ret;
+}
+
+enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall))
+{
+ int from_fd;
- set_param(MODE_RAMDISK);
+ log_message("copy_file: %s -> %s", from, to);
- if (IS_RESCUE) {
- save_stuff_for_rescue();
- if (umount(STAGE2_LOCATION)) {
- log_perror(ramdisk);
- return RETURN_ERROR;
- }
- return RETURN_OK; /* fucksike, I lost several hours wondering why the kernel won't see the rescue if it is alreay mounted */
- }
+ from_fd = open(from, O_RDONLY);
+ if (from_fd != -1) {
+ return save_fd(from_fd, to, callback_func);
+ } else {
+ log_perror(from);
+ return RETURN_ERROR;
+ }
+}
+enum return_type mount_compressed_image(char *compressed_image, char *location_mount)
+{
+ if (lomount(compressed_image, location_mount, NULL, 1)) {
+ stg1_error_message("Could not mount compressed loopback :(.");
+ return RETURN_ERROR;
+ }
return RETURN_OK;
}
-
-char * get_ramdisk_realname(void)
+enum return_type preload_mount_compressed_fd(int compressed_fd, int image_size, char *image_name, char *location_mount)
{
- char img_name[500];
- char * stg2_name = get_param_valued("special_stage2");
- char * begin_img = RAMDISK_LOCATION;
- char * end_img = "_stage2.bz2";
-
- if (!stg2_name)
- stg2_name = "mdkinst";
-
- if (IS_RESCUE)
- stg2_name = "rescue";
+ int ret;
+ char *compressed_tmpfs = asprintf_("/tmp/%s", image_name);
+ char *buf = "Loading program into memory...";
+ init_progression(buf, image_size);
+ ret = save_fd(compressed_fd, compressed_tmpfs, update_progression);
+ end_progression();
+ if (ret != RETURN_OK)
+ return ret;
- strcpy(img_name, begin_img);
- strcat(img_name, stg2_name);
- strcat(img_name, end_img);
-
- return strdup(img_name);
+ return mount_compressed_image(compressed_tmpfs, location_mount);
}
-
-enum return_type load_ramdisk(void)
+enum return_type mount_compressed_image_may_preload(char *image_name, char *location_mount, int preload)
{
- int st2_fd;
- struct stat statr;
- char img_name[500];
-
- strcpy(img_name, IMAGE_LOCATION);
- strcat(img_name, get_ramdisk_realname());
+ char *compressed_image = asprintf_("%s/%s", COMPRESSED_LOCATION, image_name);
- log_message("trying to load %s as a ramdisk", img_name);
+ log_message("mount_compressed_may_preload: %s into %s (preload = %d)", compressed_image, location_mount, preload);
- st2_fd = open(img_name, O_RDONLY); /* to be able to see the progression */
+ if (access(compressed_image, R_OK) != 0) return RETURN_ERROR;
- if (st2_fd == -1) {
- log_message("open ramdisk file (%s) failed", img_name);
- stg1_error_message("Could not open compressed ramdisk file (%s).", img_name);
- return RETURN_ERROR;
+ if (preload) {
+ int compressed_fd = open(compressed_image, O_RDONLY);
+ if (compressed_fd != -1) {
+ return preload_mount_compressed_fd(compressed_fd, file_size(compressed_image), image_name, location_mount);
+ } else {
+ log_perror(compressed_image);
+ return RETURN_ERROR;
+ }
+ } else {
+ return mount_compressed_image(compressed_image, location_mount);
}
+}
- if (stat(img_name, &statr))
- return RETURN_ERROR;
- else
- return load_ramdisk_fd(st2_fd, statr.st_size);
+enum return_type may_load_compressed_image(void)
+{
+ if (!IS_RESCUE && access(IMAGE_LOCATION "/" LIVE_LOCATION_REL, R_OK) == 0) {
+ /* LIVE install */
+ return RETURN_OK;
+ } else {
+ /* compressed install */
+ return mount_compressed_image_may_preload(COMPRESSED_NAME(""), STAGE2_LOCATION, compressed_image_preload());
+ }
}
-/* pixel's */
-void * memdup(void *src, size_t size)
+enum return_type load_compressed_fd(int fd, int size)
{
- void * r;
- r = malloc(size);
- memcpy(r, src, size);
- return r;
+ return preload_mount_compressed_fd(fd, size, COMPRESSED_NAME(""), STAGE2_LOCATION);
}
+int try_mount(char * dev, char * location)
+{
+ char device_fullname[50];
+ snprintf(device_fullname, sizeof(device_fullname), "/dev/%s", dev);
+
+ if (my_mount(device_fullname, location, "auto", 0) == -1) {
+ return 1;
+ }
-static char ** my_env = NULL;
-static int env_size = 0;
+ return 0;
+}
-void handle_env(char ** env)
+#ifndef DISABLE_DISK
+int get_disks(char *** names, char *** models)
{
- char ** ptr = env;
+ char ** ptr;
+ int count = 0;
+
+ my_modprobe("ide_disk", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("sd_mod", ANY_DRIVER_TYPE, NULL);
+
+ get_medias(DISK, names, models, BUS_ANY);
+
+ ptr = *names;
while (ptr && *ptr) {
+ count++;
ptr++;
- env_size++;
}
- my_env = malloc(sizeof(char *) * 100);
- memcpy(my_env, env, sizeof(char *) * (env_size+1));
-}
-char ** grab_env(void) {
- return my_env;
+ return count;
}
+#endif
-void add_to_env(char * name, char * value)
+#ifndef DISABLE_CDROM
+int get_cdroms(char *** names, char *** models)
{
- char tmp[500];
- sprintf(tmp, "%s=%s", name, value);
- my_env[env_size] = strdup(tmp);
- env_size++;
- my_env[env_size] = NULL;
-}
+ char ** ptr;
+ int count = 0;
+ my_modprobe("ide_cd_mod", ANY_DRIVER_TYPE, NULL);
+ my_modprobe("sr_mod", ANY_DRIVER_TYPE, NULL);
-char ** list_directory(char * direct)
-{
- char * tmp[50000]; /* in /dev there can be many many files.. */
- int i = 0;
- struct dirent *ep;
- DIR *dp = opendir(direct);
- while (dp && (ep = readdir(dp))) {
- if (strcmp(ep->d_name, ".") && strcmp(ep->d_name, "..")) {
- tmp[i] = strdup(ep->d_name);
- i++;
- }
+ get_medias(CDROM, names, models, BUS_ANY);
+
+ ptr = *names;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
}
- if (dp)
- closedir(dp);
- tmp[i] = NULL;
- return memdup(tmp, sizeof(char*) * (i+1));
-}
+ return count;
+}
+#endif
-int string_array_length(char ** a)
+char * floppy_device(void)
{
- int i = 0;
- if (!a)
- return -1;
- while (a && *a) {
- a++;
- i++;
- }
- return i;
+ char ** names, ** models;
+ int fd;
+ my_modprobe("floppy", ANY_DRIVER_TYPE, NULL);
+ fd = open("/dev/fd0", O_RDONLY|O_NONBLOCK);
+ if (fd != -1) {
+ char drivtyp[17];
+ if (!ioctl(fd, FDGETDRVTYP, (void *)drivtyp)) {
+ struct floppy_drive_struct ds;
+ log_message("/dev/fd0 type: %s", drivtyp);
+ if (!ioctl(fd, FDPOLLDRVSTAT, &ds)) {
+ log_message("\ttrack: %d", ds.track);
+ if (ds.track >= 0) {
+ close(fd);
+ return "/dev/fd0";
+ }
+ }
+ } else {
+ log_perror("can't FDGETDRVTYP /dev/fd0");
+ }
+ close(fd);
+ }
+ log_message("seems that you don't have a regular floppy drive");
+ my_modprobe("sd_mod", ANY_DRIVER_TYPE, NULL);
+ get_medias(FLOPPY, &names, &models, BUS_ANY);
+ if (names && *names)
+ return asprintf_("/dev/%s", *names);
+ else
+ return NULL;
}
diff --git a/mdk-stage1/tools.h b/mdk-stage1/tools.h
index e168ebe9f..87c0c1d49 100644
--- a/mdk-stage1/tools.h
+++ b/mdk-stage1/tools.h
@@ -1,7 +1,8 @@
+
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -24,30 +25,22 @@
#include <stdlib.h>
-void process_cmdline(void);
-int get_param(int i);
-void set_param(int i);
-void unset_param(int i);
-int charstar_to_int(char * s);
-int total_memory(void);
+int image_has_stage2();
+enum return_type create_IMAGE_LOCATION(char *location_full);
int ramdisk_possible(void);
-char * get_ramdisk_realname(void);
-enum return_type load_ramdisk(void);
-enum return_type load_ramdisk_fd(int ramdisk_fd, int size);
-void * memdup(void *src, size_t size);
-void add_to_env(char * name, char * value);
-void handle_env(char ** env);
-char ** grab_env(void);
-char ** list_directory(char * direct);
-int string_array_length(char ** a);
-
-struct param_elem
-{
- char * name;
- char * value;
-};
-
-#define ptr_begins_static_str(pointer,static_str) (!strncmp(pointer,static_str,sizeof(static_str)-1))
-#define streq(a,b) (!strcmp(a,b))
+enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall));
+enum return_type preload_mount_compressed_fd(int compressed_fd, int image_size, char *image_name, char *location_mount);
+enum return_type mount_compressed_image(char *compressed_image, char *location_mount);
+enum return_type mount_compressed_image_may_preload(char *image_name, char *location_mount, int preload);
+enum return_type load_compressed_fd(int fd, int size);
+enum return_type may_load_compressed_image(void);
+int try_mount(char * dev, char * location);
+#ifndef DISABLE_DISK
+int get_disks(char *** names, char *** models);
+#endif
+#ifndef DISABLE_CDROM
+int get_cdroms(char *** names, char *** models);
+#endif
+char * floppy_device(void);
#endif
diff --git a/mdk-stage1/update-pci-ids.pl b/mdk-stage1/update-pci-ids.pl
new file mode 100755
index 000000000..1b084ea80
--- /dev/null
+++ b/mdk-stage1/update-pci-ids.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use lib '../kernel';
+use strict;
+use MDK::Common;
+
+
+my %t = (
+ network => 'network/main|gigabit|pcmcia|virtual|wireless',
+ medias_ide => 'disk/ide',
+ medias_other => 'disk/scsi|hardware_raid|sata|virtual bus/firewire',
+);
+
+foreach my $type (keys %t) {
+ my @modules = chomp_(`perl ../kernel/modules.pl pci_modules4stage1 "$t{$type}"`)
+ or die "unable to get PCI modules";
+
+ print "#ifndef DISABLE_".uc($type)."
+char* ${type}_pci_modules[] = {
+";
+ printf qq|\t"%s",\n|, $_ foreach @modules;
+ print "};
+unsigned int ${type}_pci_modules_len = sizeof(${type}_pci_modules) / sizeof(char *);
+#endif
+
+";
+}
diff --git a/mdk-stage1/update-pcmcia-ids.pl b/mdk-stage1/update-pcmcia-ids.pl
new file mode 100755
index 000000000..9eb25c66e
--- /dev/null
+++ b/mdk-stage1/update-pcmcia-ids.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+use lib '../kernel';
+use strict;
+use MDK::Common;
+
+my @aliases;
+my ($main) = `ls -t /lib/modules/*/modules.alias`;
+foreach (cat_(chomp_($main))) {
+ push @aliases, [ $1, $2 ] if /^alias\s+(pcmcia:\S+)\s+(\S+)$/; #- modalias, module
+}
+@aliases or die "unable to get PCMCIA aliases";
+
+print '
+struct pcmcia_alias {
+ const char *modalias;
+ const char *module;
+};
+
+';
+
+my %t = (
+ network => 'network/pcmcia',
+ medias => 'disk/pcmcia',
+);
+
+foreach my $type (keys %t) {
+ my @modules = chomp_(`perl ../kernel/modules.pl pci_modules4stage1 "$t{$type}"`)
+ or die "unable to get PCMCIA modules";
+
+ print "#ifndef DISABLE_".uc($type)."
+struct pcmcia_alias ${type}_pcmcia_ids[] = {
+";
+ print qq|\t{ "$_->[0]", "$_->[1]" },\n| foreach grep { member($_->[1], @modules) } @aliases;
+ print "};
+unsigned int ${type}_pcmcia_num_ids = sizeof(${type}_pcmcia_ids) / sizeof(struct pcmcia_alias);
+
+#endif
+
+";
+
+}
diff --git a/mdk-stage1/update-usb-ids.pl b/mdk-stage1/update-usb-ids.pl
new file mode 100755
index 000000000..1ea45f9df
--- /dev/null
+++ b/mdk-stage1/update-usb-ids.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use lib '../kernel';
+use strict;
+use MDK::Common;
+
+my @modules = chomp_(`perl ../kernel/modules.pl pci_modules4stage1 "bus/usb"`)
+ or die "unable to get USB controller modules";
+print "char *usb_controller_modules[] = {
+";
+printf qq|\t"%s",\n|, $_ foreach @modules;
+print "};
+unsigned int usb_controller_modules_len = sizeof(usb_controller_modules) / sizeof(char *);
+";
+
+@modules = chomp_(`perl ../kernel/modules.pl pci_modules4stage1 "network/usb disk/usb"`)
+ or die "unable to get USB modules";
+
+print "char *usb_modules[] = {
+";
+printf qq|\t"%s",\n|, $_ foreach @modules;
+print "};
+unsigned int usb_modules_len = sizeof(usb_modules) / sizeof(char *);
+";
diff --git a/mdk-stage1/url.c b/mdk-stage1/url.c
index 07af07161..14f1e25d6 100644
--- a/mdk-stage1/url.c
+++ b/mdk-stage1/url.c
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -32,6 +32,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <strings.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/types.h>
@@ -45,12 +46,14 @@
#include "dns.h"
#include "log.h"
#include "tools.h"
+#include "utils.h"
#include "url.h"
#define TIMEOUT_SECS 60
#define BUFFER_SIZE 4096
+#define HTTP_MAX_RECURSION 5
static int ftp_check_response(int sock, char ** str)
@@ -134,13 +137,7 @@ static int ftp_command(int sock, char * command, char * param)
char buf[500];
int rc;
- strcpy(buf, command);
- if (param) {
- strcat(buf, " ");
- strcat(buf, param);
- }
-
- strcat(buf, "\r\n");
+ snprintf(buf, sizeof(buf), "%s%s%s\r\n", command, param ? " " : "", param ? param : "");
if (write(sock, buf, strlen(buf)) != (ssize_t)strlen(buf)) {
return FTPERR_SERVER_IO_ERROR;
@@ -171,7 +168,6 @@ int ftp_open_connection(char * host, char * name, char * password, char * proxy)
int sock;
struct in_addr serverAddress;
struct sockaddr_in destPort;
- char * buf;
int rc;
int port = 21;
@@ -181,9 +177,7 @@ int ftp_open_connection(char * host, char * name, char * password, char * proxy)
}
if (strcmp(proxy, "")) {
- buf = alloca(strlen(name) + strlen(host) + 5);
- sprintf(buf, "%s@%s", name, host);
- name = buf;
+ name = asprintf_("%s@%s", name, host);
host = proxy;
}
@@ -312,7 +306,7 @@ int ftp_data_command(int sock, char * command, char * param)
}
-static int ftp_get_filesize(int sock, char * remotename)
+int ftp_get_filesize(int sock, char * remotename)
{
int size = 0;
char buf[2000];
@@ -333,14 +327,14 @@ static int ftp_get_filesize(int sock, char * remotename)
return -1;
}
- fd = ftp_data_command(sock, "LIST", NULL);
+ fd = ftp_data_command(sock, "LIST", file);
if (fd <= 0) {
close(sock);
return -1;
}
ptr = buf;
- while ((tot = read(fd, ptr, sizeof(buf) - (ptr - buf))) != 0)
+ while ((tot = read(fd, ptr, sizeof(buf) - (ptr - buf) - 1)) != 0)
ptr += tot;
*ptr = '\0';
close(fd);
@@ -393,39 +387,76 @@ int ftp_end_data_command(int sock)
return 0;
}
-
-int http_download_file(char * hostname, char * remotename, int * size)
+
+char *str_ftp_error(int error)
+{
+ return error == FTPERR_PASSIVE_ERROR ? "error with passive connection" :
+ error == FTPERR_FAILED_CONNECT ? "couldn't connect to server" :
+ error == FTPERR_FILE_NOT_FOUND ? "file not found" :
+ error == FTPERR_BAD_SERVER_RESPONSE ? "bad server response (server too busy?)" :
+ NULL;
+}
+
+
+static int _http_download_file(char * hostport, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport, int recursion)
{
char * buf;
+ char * hostname = strdup(hostport);
char headers[4096];
char * nextChar = headers;
- int checkedCode;
+ int statusCode;
struct in_addr serverAddress;
struct pollfd polls;
int sock;
int rc;
struct sockaddr_in destPort;
- char * header_content_length = "Content-Length: ";
+ const char * header_content_length = "Content-Length: ";
+ const char * header_location = "Location: http://";
+ char * http_server_name;
+ int http_server_port;
+
+ if (proxyprotocol) {
+ http_server_name = proxyname;
+ http_server_port = atoi(proxyport);
+ } else {
+ char *port = strchr(hostname, ':');
+ if (port) {
+ *port = '\0';
+ http_server_name = hostname;
+ http_server_port = atoi(++port);
+ } else {
+ http_server_name = hostname;
+ http_server_port = 80;
+ }
+ }
+
+ log_message("HTTP: connecting to server %s:%i (%s)",
+ http_server_name, http_server_port,
+ proxyprotocol ? "proxy" : "no proxy");
- if ((rc = get_host_address(hostname, &serverAddress))) return rc;
+ if ((rc = get_host_address(http_server_name, &serverAddress))) return rc;
sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (sock < 0) {
+ free(hostname);
return FTPERR_FAILED_CONNECT;
}
destPort.sin_family = AF_INET;
- destPort.sin_port = htons(80);
+ destPort.sin_port = htons(http_server_port);
destPort.sin_addr = serverAddress;
if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
close(sock);
+ free(hostname);
return FTPERR_FAILED_CONNECT;
}
- buf = alloca(4 + strlen(remotename) + 12 + 6 + strlen(hostname) + 4 + 1);
- sprintf(buf, "GET %s HTTP/0.9\r\nHost: %s\r\n\r\n", remotename, hostname);
+ buf = proxyprotocol ? asprintf_("GET %s://%s%s HTTP/1.0\r\nHost: %s\r\n\r\n", proxyprotocol, hostname, remotename, hostname)
+ : asprintf_("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n", remotename, hostname);
+
write(sock, buf, strlen(buf));
+ free(hostname);
/* This is fun; read the response a character at a time until we:
@@ -433,7 +464,7 @@ int http_download_file(char * hostname, char * remotename, int * size)
2) Get a \r\n\r\n, which means we're done */
*nextChar = '\0';
- checkedCode = 0;
+ statusCode = 0;
while (!strstr(headers, "\r\n\r\n")) {
polls.fd = sock;
polls.events = POLLIN;
@@ -460,10 +491,9 @@ int http_download_file(char * hostname, char * remotename, int * size)
return FTPERR_SERVER_IO_ERROR;
}
- if (!checkedCode && strstr(headers, "\r\n")) {
+ if (!statusCode && strstr(headers, "\r\n")) {
char * start, * end;
- checkedCode = 1;
start = headers;
while (!isspace(*start) && *start) start++;
if (!*start) {
@@ -480,10 +510,16 @@ int http_download_file(char * hostname, char * remotename, int * size)
}
*end = '\0';
- if (!strcmp(start, "404")) {
+ log_message("HTTP: server response '%s'", start);
+ if (streq(start, "404")) {
close(sock);
return FTPERR_FILE_NOT_FOUND;
- } else if (strcmp(start, "200")) {
+ } else if (streq(start, "302")) {
+ log_message("HTTP: found, but document has moved");
+ statusCode = 302;
+ } else if (streq(start, "200")) {
+ statusCode = 200;
+ } else {
close(sock);
return FTPERR_BAD_SERVER_RESPONSE;
}
@@ -492,6 +528,34 @@ int http_download_file(char * hostname, char * remotename, int * size)
}
}
+ if (statusCode == 302) {
+ if (recursion >= HTTP_MAX_RECURSION) {
+ log_message("HTTP: too many levels of recursion, aborting");
+ close(sock);
+ return FTPERR_UNKNOWN;
+ }
+ if ((buf = strstr(headers, header_location))) {
+ char * found_host;
+ char *found_file;
+ found_host = buf + strlen(header_location);
+ if ((found_file = index(found_host, '/'))) {
+ if ((buf = index(found_file, '\r'))) {
+ buf[0] = '\0';
+ remotename = strdup(found_file);
+ found_file[0] = '\0';
+ hostname = strdup(found_host);
+ log_message("HTTP: redirected to new host \"%s\" and file \"%s\"", hostname, remotename);
+ }
+ }
+
+ }
+ /*
+ * don't fail if new URL can't be parsed,
+ * asking the same URL may work if the DNS server are doing round-robin
+ */
+ return _http_download_file(hostname, remotename, size, proxyprotocol, proxyname, proxyport, recursion + 1);
+ }
+
if ((buf = strstr(headers, header_content_length)))
*size = charstar_to_int(buf + strlen(header_content_length));
else
@@ -499,3 +563,9 @@ int http_download_file(char * hostname, char * remotename, int * size)
return sock;
}
+
+
+int http_download_file(char * hostname, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport)
+{
+ return _http_download_file(hostname, remotename, size, proxyprotocol, proxyname, proxyport, 0);
+}
diff --git a/mdk-stage1/url.h b/mdk-stage1/url.h
index 5a59bd814..2c80e4432 100644
--- a/mdk-stage1/url.h
+++ b/mdk-stage1/url.h
@@ -1,7 +1,7 @@
/*
- * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Guillaume Cottenceau (gc)
*
- * Copyright 2000 MandrakeSoft
+ * Copyright 2000 Mandriva
*
* This software may be freely redistributed under the terms of the GNU
* public license.
@@ -23,10 +23,12 @@
#define _URL_H_
int ftp_open_connection(char * host, char * name, char * password, char * proxy);
+int ftp_get_filesize(int sock, char * remotename);
int ftp_start_download(int sock, char * remotename, int * size);
int ftp_end_data_command(int sock);
+char *str_ftp_error(int error);
-int http_download_file(char * hostname, char * remotename, int * size);
+int http_download_file(char * hostname, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport);
#define FTPERR_BAD_SERVER_RESPONSE -1
diff --git a/mdk-stage1/usb-resource/.cvsignore b/mdk-stage1/usb-resource/.cvsignore
deleted file mode 100644
index a7d0cfa9a..000000000
--- a/mdk-stage1/usb-resource/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-usb-ids.h
diff --git a/mdk-stage1/usb-resource/Makefile b/mdk-stage1/usb-resource/Makefile
deleted file mode 100644
index eb80ce6da..000000000
--- a/mdk-stage1/usb-resource/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
- #******************************************************************************
- #
- # $Id$
- #
- # Guillaume Cottenceau (gc@mandrakesoft.com)
- #
- # Copyright 2000 MandrakeSoft
- #
- # This software may be freely redistributed under the terms of the GNU
- # public license.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #*****************************************************************************
-
-
-all: usb-ids.h
-
-usb-ids.h: /usr/share/ldetect-lst/usbtable update-usb-ids.pl
- perl update-usb-ids.pl > $@ || rm -f $@
-
-clean:
- rm -f usb-ids.h
diff --git a/mdk-stage1/usb-resource/update-usb-ids.pl b/mdk-stage1/usb-resource/update-usb-ids.pl
deleted file mode 100755
index ae934c1b5..000000000
--- a/mdk-stage1/usb-resource/update-usb-ids.pl
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use MDK::Common;
-
-require '/usr/bin/merge2pcitable.pl';
-my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable");
-my $usb = read_pcitable("/usr/share/ldetect-lst/usbtable");
-
-print '
-
-
-struct usb_module_map {
- unsigned short vendor; /* vendor */
- unsigned short id; /* device */
- const char *name; /* human readable name */
- const char *module; /* module to load */
-};
-
-';
-
-print "struct pci_module_map usb_pci_ids[] = {
-
-";
-
-foreach my $k (sort keys %$pci) {
- my $v = $pci->{$k};
- $v->[0] =~ /^usb-|^ehci-hcd|^ohci1394/ or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{ 0x%s, 0x%s, "", "%s" },\n|,
- $1, $2, $v->[0];
-}
-
-print "};
-int usb_num_ids=sizeof(usb_pci_ids)/sizeof(struct pci_module_map);
-";
-
-print "struct usb_module_map usb_usb_ids[] = {
-";
-
-my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1:"network/usb disk/usb"`);
-
- foreach my $k (sort keys %$usb) {
- my $v = $usb->{$k};
- member($v->[0], @modules) or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|,
- $1, $2, $v->[1], $v->[0];
- }
-
- print "};
-int usb_usb_num_ids=sizeof(usb_usb_ids)/sizeof(struct usb_module_map);
-";
diff --git a/mdk-stage1/utils.c b/mdk-stage1/utils.c
new file mode 100644
index 000000000..6ad3a8f6f
--- /dev/null
+++ b/mdk-stage1/utils.c
@@ -0,0 +1,191 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <sys/sysinfo.h>
+#include <sys/utsname.h>
+
+#include "utils.h"
+#include "log.h"
+
+// warning, many things rely on the fact that:
+// - when failing it returns 0
+// - it stops on first non-digit char
+int charstar_to_int(const char * s)
+{
+ int number = 0;
+ while (*s && isdigit(*s)) {
+ number = (number * 10) + (*s - '0');
+ s++;
+ }
+ return number;
+}
+
+off_t file_size(const char * path)
+{
+ struct stat statr;
+ if (stat(path, &statr))
+ return -1;
+ else
+ return statr.st_size;
+}
+
+char * cat_file(const char * file, struct stat * s) {
+ char * buf;
+ int fd = open(file, O_RDONLY);
+ if (fd == -1) {
+ log_perror(file);
+ return NULL;
+ }
+
+ fstat(fd, s);
+ buf = malloc(s->st_size + 1);
+ if (read(fd, buf, s->st_size) != (ssize_t)s->st_size) {
+ close(fd);
+ free(buf);
+ log_perror(file);
+ return NULL;
+ }
+ buf[s->st_size] = '\0';
+ close(fd);
+
+ return buf;
+}
+
+int line_counts(const char * buf) {
+ const char * ptr = buf;
+ int line = 0;
+ while (ptr) {
+ line++;
+ ptr = strchr(ptr + 1, '\n');
+ }
+ return line;
+}
+
+int total_memory(void)
+{
+ int value;
+ struct sysinfo sys_info;
+ if (sysinfo(&sys_info) < 0) {
+ log_perror("sysinfo");
+ return 0;
+ }
+ value = sys_info.totalram * sys_info.mem_unit / 1024 / 1024;
+ log_message("Total Memory: %d Mbytes", value);
+
+ return value;
+}
+
+/* pixel's */
+void * _memdup(void *src, size_t size)
+{
+ void * r;
+ r = malloc(size);
+ memcpy(r, src, size);
+ return r;
+}
+
+
+void add_to_env(char * name, char * value)
+{
+ FILE* fakeenv = fopen("/tmp/env", "a");
+ if (fakeenv) {
+ char* e = asprintf_("%s=%s\n", name, value);
+ fwrite(e, 1, strlen(e), fakeenv);
+ free(e);
+ fclose(fakeenv);
+ } else
+ log_message("couldn't fopen to fake env");
+}
+
+char ** list_directory(char * direct)
+{
+ char * tmp[50000]; /* in /dev there can be many many files.. */
+ int i = 0;
+ struct dirent *ep;
+ DIR *dp = opendir(direct);
+ while (dp && (ep = readdir(dp))) {
+ if (strcmp(ep->d_name, ".") && strcmp(ep->d_name, "..")) {
+ tmp[i] = strdup(ep->d_name);
+ i++;
+ }
+ }
+ if (dp)
+ closedir(dp);
+ tmp[i] = NULL;
+ return _memdup(tmp, sizeof(char*) * (i+1));
+}
+
+
+int string_array_length(char ** a)
+{
+ int i = 0;
+ if (!a)
+ return -1;
+ while (a && *a) {
+ a++;
+ i++;
+ }
+ return i;
+}
+
+char * asprintf_(const char *msg, ...)
+{
+ int n;
+ char * s;
+ char dummy;
+ va_list arg_ptr;
+ va_start(arg_ptr, msg);
+ n = vsnprintf(&dummy, sizeof(dummy), msg, arg_ptr);
+ va_start(arg_ptr, msg);
+ if ((s = malloc(n + 1))) {
+ vsnprintf(s, n + 1, msg, arg_ptr);
+ va_end(arg_ptr);
+ return s;
+ }
+ va_end(arg_ptr);
+ return strdup("");
+}
+
+
+void lowercase(char *s)
+{
+ int i = 0;
+ while (s[i]) {
+ s[i] = tolower(s[i]);
+ i++;
+ }
+}
+
+char *my_dirname(char *path) {
+ char *p = strrchr (path, '/');
+ char *tmp;
+ int len;
+ if (!p)
+ return path;
+ len = p-path+1;
+ tmp = malloc(len);
+ strncpy(tmp, path, len-1);
+ tmp[len-1] = '\0';
+ return tmp;
+}
+
diff --git a/mdk-stage1/utils.h b/mdk-stage1/utils.h
new file mode 100644
index 000000000..b8a77b0ad
--- /dev/null
+++ b/mdk-stage1/utils.h
@@ -0,0 +1,36 @@
+/*
+ * Guillaume Cottenceau (gc)
+ *
+ * Copyright 2000 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _UTILS_H_
+#define _UTILS_H_
+
+#include <sys/stat.h>
+
+int charstar_to_int(const char * s);
+off_t file_size(const char * path);
+char * cat_file(const char * file, struct stat * s);
+int line_counts(const char * buf);
+int total_memory(void);
+void * _memdup(void *src, size_t size);
+void add_to_env(char * name, char * value);
+char ** list_directory(char * direct);
+int string_array_length(char ** a);
+char * asprintf_(const char *msg, ...);
+char *my_dirname(char *path);
+void lowercase(char *s);
+
+#define ptr_begins_static_str(pointer,static_str) (!strncmp(pointer,static_str,sizeof(static_str)-1))
+#define streq(a,b) (!strcmp(a,b))
+
+#endif
diff --git a/mdk-stage1/wireless.c b/mdk-stage1/wireless.c
new file mode 100644
index 000000000..2fde04f84
--- /dev/null
+++ b/mdk-stage1/wireless.c
@@ -0,0 +1,160 @@
+/*
+ * Olivier Blin (oblin)
+ * Martin Whitaker (martinw)
+ *
+ * Copyright 2005 Mandriva
+ * Copyright 2020 Mageia
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <linux/types.h>
+#include <linux/if.h>
+#include <linux/wireless.h>
+
+#include "automatic.h"
+#include "stage1.h"
+#include "log.h"
+#include "utils.h"
+#include "wireless.h"
+
+#define WPA_SUPPLICANT_CONF "/etc/wpa_supplicant.conf"
+#define WPA_SUPPLICANT_CTRL "/var/run/wpa_supplicant"
+#define WPA_SUPPLICANT_LOG "/var/log/wpa_supplicant.log"
+#define WPA_SUPPLICANT_PID "/var/run/wpa_supplicant.pid"
+
+int wireless_open_socket()
+{
+ return socket(AF_INET, SOCK_DGRAM, 0);
+}
+
+int wireless_close_socket(int socket)
+{
+ return close(socket);
+}
+
+static int wireless_ioctl(int socket, const char *ifname, int request, struct iwreq *wrq)
+{
+ strncpy(wrq->ifr_name, ifname, IFNAMSIZ);
+ return ioctl(socket, request, wrq);
+}
+
+int wireless_is_aware(int socket, const char *ifname)
+{
+ struct iwreq wrq;
+ return wireless_ioctl(socket, ifname, SIOCGIWNAME, &wrq) == 0;
+}
+
+enum return_type configure_wireless(const char *ifname)
+{
+ enum return_type results;
+ char * security[] = { "No security", "WEP", "WPA/WPA2 Personal", NULL };
+ char * security_auto[] = { "none", "wep", "wpa_psk", NULL };
+ char * choice = NULL;
+ char * message = NULL;
+ char * questions[] = { "ESSID", "", NULL };
+ char * questions_auto[] = { "essid", "" };
+ char * key_mgmt = NULL;
+ static char ** answers = NULL;
+ FILE * fd;
+ char cmd[256];
+ int status;
+
+ int wsock = wireless_open_socket();
+ if (!wireless_is_aware(wsock, ifname)) {
+ log_message("interface %s doesn't support wireless", ifname);
+ wireless_close_socket(wsock);
+ return RETURN_OK;
+ }
+ wireless_close_socket(wsock);
+
+ results = ask_from_list_auto("Please select your wireless security mode.",
+ security, &choice, "wireless_security", security_auto);
+ if (results != RETURN_OK) {
+ return RETURN_BACK;
+ }
+
+ if (streq(choice, security[2])) {
+ message = "Please enter your wireless settings. "
+ "The ESSID is your wireless network identifier. "
+ "The passphrase must be a string of between 8 and 63 ASCII characters.";
+ questions[1] = "passphrase";
+ questions_auto[1] = "wpa_psk";
+ key_mgmt = "WPA-PSK";
+ } else if (streq(choice, security[1])) {
+ message = "Please enter your wireless settings. "
+ "The ESSID is your wireless network identifier. "
+ "The WEP key must be either a string of 10 or 26 hexadecimal digits, without any separators, "
+ "or a string of 5 or 13 ASCII characters enclosed in double quote marks (e.g. \"12345\").";
+ questions[1] = "WEP key";
+ questions_auto[1] = "wep_key";
+ key_mgmt = "NONE";
+ } else {
+ message = "Please enter your wireless settings. "
+ "The ESSID is your wireless network identifier.";
+ questions[1] = NULL;
+ questions_auto[1] = NULL;
+ key_mgmt = "NONE";
+ }
+ results = ask_from_entries_auto(message, questions, &answers, 32, questions_auto, NULL);
+ if (results != RETURN_OK) {
+ return RETURN_BACK;
+ }
+
+ fd = fopen(WPA_SUPPLICANT_PID, "r");
+ if (fd) {
+ unsigned pid = 0;
+ unsigned count = fscanf(fd, "%u", &pid);
+ fclose(fd);
+ if (count == 1 && pid > 1) {
+ log_message("terminating wpa_supplicant (pid %u)", pid);
+ kill(pid, SIGQUIT);
+ sleep(1);
+ }
+ }
+
+ fd = fopen(WPA_SUPPLICANT_CONF, "w");
+ if (fd == NULL) {
+ stg1_error_message("unable to create " WPA_SUPPLICANT_CONF ": %s", strerror(errno));
+ return RETURN_ERROR;
+ }
+ fprintf(fd, "ctrl_interface=" WPA_SUPPLICANT_CTRL "\n");
+ fprintf(fd, "ap_scan=1\n");
+ fprintf(fd, "network={\n");
+ fprintf(fd, " key_mgmt=%s\n", key_mgmt);
+ fprintf(fd, " scan_ssid=1\n");
+ fprintf(fd, " ssid=\"%s\"\n", answers[0]);
+ if (streq(choice, security[2])) {
+ fprintf(fd, " psk=\"%s\"\n", answers[1]);
+ } else if (streq(choice, security[1])) {
+ fprintf(fd, " wep_key0=%s\n", answers[1]);
+ }
+ fprintf(fd, "}\n");
+ fclose(fd);
+
+ snprintf(cmd, sizeof(cmd), "/usr/sbin/wpa_supplicant -D nl80211,wext -B -i %s -c %s -f %s -P %s",
+ ifname, WPA_SUPPLICANT_CONF, WPA_SUPPLICANT_LOG, WPA_SUPPLICANT_PID);
+ log_message("running %s", cmd);
+ status = system(cmd);
+ if (status != 0) {
+ stg1_error_message("unable to start wpa_supplicant daemon for interface \"%s\": %d", ifname, status);
+ return RETURN_ERROR;
+ }
+
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/wireless.h b/mdk-stage1/wireless.h
new file mode 100644
index 000000000..7443f5c99
--- /dev/null
+++ b/mdk-stage1/wireless.h
@@ -0,0 +1,25 @@
+/*
+ * Olivier Blin (oblin)
+ *
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _WIRELESS_H_
+#define _WIRELESS_H_
+
+#include "frontend.h"
+
+int wireless_open_socket();
+int wireless_close_socket(int socket);
+int wireless_is_aware(int socket, const char *ifname);
+enum return_type configure_wireless(const char *ifname);
+
+#endif
diff --git a/mdk-stage1/zlibsupport.c b/mdk-stage1/zlibsupport.c
new file mode 100644
index 000000000..2b171e72d
--- /dev/null
+++ b/mdk-stage1/zlibsupport.c
@@ -0,0 +1,292 @@
+/* Support for compressed modules. Willy Tarreau <willy@meta-x.org>
+ * did the support for modutils, Andrey Borzenkov <arvidjaar@mail.ru>
+ * ported it to module-init-tools, and I said it was too ugly to live
+ * and rewrote it 8).
+ *
+ * (C) 2003 Rusty Russell, IBM Corporation.
+ */
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <stdio.h>
+#include <errno.h>
+
+#include "zlibsupport.h"
+
+#define CONFIG_USE_LIBLZMA
+#ifdef CONFIG_USE_ZLIB
+#include <zlib.h>
+#ifdef CONFIG_USE_LIBLZMA
+#include <lzma.h>
+
+typedef struct lzma_file {
+ uint8_t buf[1<<14];
+ lzma_stream strm;
+ FILE *fp;
+ lzma_bool eof;
+} lzma_FILE;
+#else
+typedef unsigned char lzma_bool;
+typedef int lzma_ret;
+#define LZMA_OK 0
+#endif
+
+typedef enum xFile_e {
+ XF_NONE,
+ XF_GZIP,
+ XF_XZ,
+ XF_FAIL
+} xFile_t;
+
+typedef struct xFile_s {
+ xFile_t type;
+ lzma_bool eof;
+ union {
+ gzFile gz;
+#ifdef CONFIG_USE_LIBLZMA
+ lzma_FILE *xz;
+#endif
+ } f;
+ FILE *fp;
+} xFile;
+
+#ifdef CONFIG_USE_LIBLZMA
+static lzma_FILE *lzma_open(lzma_ret *lzma_error, FILE *fp)
+{
+ lzma_ret *ret = lzma_error;
+ lzma_FILE *lzma_file;
+ lzma_stream tmp = LZMA_STREAM_INIT;
+
+ lzma_file = calloc(1, sizeof(*lzma_file));
+
+ lzma_file->fp = fp;
+ lzma_file->eof = 0;
+ lzma_file->strm = tmp;
+
+ *ret = lzma_auto_decoder(&lzma_file->strm, -1, 0);
+
+ if (*ret != LZMA_OK) {
+ (void) fclose(lzma_file->fp);
+ free(lzma_file);
+ return NULL;
+ }
+ return lzma_file;
+}
+
+static ssize_t lzma_read(lzma_ret *lzma_error, lzma_FILE *lzma_file, void *buf, size_t len)
+{
+ lzma_ret *ret = lzma_error;
+ lzma_bool eof = 0;
+
+ if (!lzma_file)
+ return -1;
+ if (lzma_file->eof)
+ return 0;
+
+ lzma_file->strm.next_out = buf;
+ lzma_file->strm.avail_out = len;
+ for (;;) {
+ if (!lzma_file->strm.avail_in) {
+ lzma_file->strm.next_in = (uint8_t *)lzma_file->buf;
+ lzma_file->strm.avail_in = fread(lzma_file->buf, 1, sizeof(lzma_file->buf), lzma_file->fp);
+ if (!lzma_file->strm.avail_in)
+ eof = 1;
+ }
+ *ret = lzma_code(&lzma_file->strm, LZMA_RUN);
+ if (*ret == LZMA_STREAM_END) {
+ lzma_file->eof = 1;
+ return len - lzma_file->strm.avail_out;
+ }
+ if (*ret != LZMA_OK)
+ return -1;
+ if (!lzma_file->strm.avail_out)
+ return len;
+ if (eof)
+ return -1;
+ }
+}
+#endif
+
+static xFile xOpen(int fd, const char *filename) {
+ xFile xF = {XF_FAIL, 0, {NULL}, NULL};
+ lzma_ret ret = LZMA_OK;
+ unsigned char buf[8];
+
+ if (fd == -1 && filename != NULL)
+ if ((fd = open(filename, O_RDONLY)) < 0)
+ return xF;
+ if (read(fd, buf, sizeof(buf)) < 0)
+ return xF;
+ lseek(fd, 0, SEEK_SET);
+ if (filename != NULL) {
+ close(fd);
+ fd = -1;
+ }
+ if (buf[0] == 0xFD && buf[1] == '7' && buf[2] == 'z' &&
+ buf[3] == 'X' && buf[4] == 'Z' && buf[5] == 0x00)
+ xF.type = XF_XZ;
+ else if (buf[0] == 0x1F && buf[1] == 0x8B)
+ xF.type = XF_GZIP;
+ else
+ xF.type = XF_NONE;
+
+ switch(xF.type) {
+ case XF_GZIP:
+ xF.f.gz = (fd == -1 && filename != NULL) ? gzopen(filename, "rb") : gzdopen(fd, "rb");
+ if(xF.f.gz == NULL)
+ xF.type = XF_FAIL;
+ break;
+ case XF_NONE:
+ xF.fp = (fd == -1 && filename != NULL) ? fopen(filename, "rb") : fdopen(fd, "rb");
+ break;
+#ifdef CONFIG_USE_LIBLZMA
+ case XF_XZ:
+ xF.fp = (fd == -1 && filename != NULL) ? fopen(filename, "rb") : fdopen(fd, "rb");
+ if(xF.fp == NULL)
+ xF.type = XF_FAIL;
+ if(xF.type == XF_NONE || xF.type == XF_FAIL) break;
+ xF.f.xz = lzma_open(&ret, xF.fp);
+ if(ret != LZMA_OK)
+ xF.type = XF_FAIL;
+ break;
+#endif
+ default:
+ break;
+ }
+
+ return xF;
+}
+
+static int xClose(xFile *xF) {
+ int ret = -1;
+ switch(xF->type) {
+ case XF_GZIP:
+ ret = gzclose(xF->f.gz);
+ break;
+#ifdef CONFIG_USE_LIBLZMA
+ case XF_XZ:
+ lzma_end(&xF->f.xz->strm);
+ free(xF->f.xz);
+#endif
+ case XF_NONE:
+ ret = fclose(xF->fp);
+ break;
+ default:
+ break;
+ }
+ return ret;
+}
+
+static ssize_t xRead(xFile *xF, lzma_ret *ret, void *buf, size_t len) {
+ ssize_t sz;
+ switch(xF->type) {
+ case XF_GZIP:
+ sz = gzread(xF->f.gz, buf, len);
+ xF->eof = gzeof(xF->f.gz);
+ break;
+#ifdef CONFIG_USE_LIBLZMA
+ case XF_XZ:
+ sz = lzma_read(ret, xF->f.xz, buf, len);
+ xF->eof = xF->f.xz->eof;
+ break;
+#endif
+ case XF_NONE:
+ sz = fread(buf, 1, len, xF->fp);
+ xF->eof = feof(xF->fp);
+ break;
+ default:
+ sz = -1;
+ break;
+ }
+ return sz;
+}
+
+void *grab_contents(xFile *xF, unsigned long *size)
+{
+ unsigned int max = 16384;
+ void *buffer = calloc(1, max);
+ lzma_ret ret;
+
+ if (!buffer)
+ return NULL;
+
+ *size = 0;
+ while ((ret = xRead(xF, &ret, buffer + *size, max - *size)) > 0) {
+ *size += ret;
+ if (*size == max) {
+ void *p;
+
+ p = realloc(buffer, max *= 2);
+ if (!p)
+ goto out_err;
+
+ buffer = p;
+ }
+ }
+ if (ret < 0)
+ goto out_err;
+
+ return buffer;
+
+out_err:
+ free(buffer);
+ return NULL;
+}
+
+/* gzopen handles uncompressed files transparently. */
+void *grab_file(const char *filename, unsigned long *size)
+{
+ xFile xF;
+ void *buffer;
+
+ xF = xOpen(-1, filename);
+ if (xF.type == XF_FAIL)
+ return NULL;
+ buffer = grab_contents(&xF, size);
+ xClose(&xF);
+ return buffer;
+}
+
+void release_file(void *data, unsigned long size)
+{
+ free(data);
+}
+#else /* ... !CONFIG_USE_ZLIB */
+
+void *grab_fd(int fd, unsigned long *size)
+{
+ struct stat st;
+ void *map;
+ int ret;
+
+ ret = fstat(fd, &st);
+ if (ret < 0)
+ return NULL;
+ *size = st.st_size;
+ map = mmap(0, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
+ if (map == MAP_FAILED)
+ map = NULL;
+ return map;
+}
+
+void *grab_file(const char *filename, unsigned long *size)
+{
+ int fd;
+ void *map;
+
+ fd = open(filename, O_RDONLY, 0);
+ if (fd < 0)
+ return NULL;
+ map = grab_fd(fd, size);
+ close(fd);
+ return map;
+}
+
+void release_file(void *data, unsigned long size)
+{
+ munmap(data, size);
+}
+#endif
diff --git a/mdk-stage1/zlibsupport.h b/mdk-stage1/zlibsupport.h
new file mode 100644
index 000000000..be3c7296a
--- /dev/null
+++ b/mdk-stage1/zlibsupport.h
@@ -0,0 +1,11 @@
+#ifndef _ZLIB_SUPPORT_H
+#define _ZLIB_SUPPORT_H
+
+/* Grab file. Decompresses if that is supported. Returns NULL on error. */
+extern void *grab_file(const char *filename, unsigned long *size);
+extern void *grab_fd(int fd, unsigned long *size);
+
+/* Free it up. */
+extern void release_file(void *data, unsigned long size);
+
+#endif /* _ZLIB_SUPPORT_H */
diff --git a/perl-install/.cvsignore b/perl-install/.cvsignore
deleted file mode 100644
index 8c9d10be2..000000000
--- a/perl-install/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.*.sw?
-.perl_checker.cache
-debug.log
-auto
-t.pm
-*.flog
diff --git a/perl-install/.gitattributes b/perl-install/.gitattributes
new file mode 100644
index 000000000..d5b5e4c1c
--- /dev/null
+++ b/perl-install/.gitattributes
@@ -0,0 +1 @@
+unused export-ignore
diff --git a/perl-install/.perl_checker b/perl-install/.perl_checker
index ae2c41a42..ba1263215 100644
--- a/perl-install/.perl_checker
+++ b/perl-install/.perl_checker
@@ -1,6 +1,6 @@
-Gtk2::Gdk::Keysyms
-printer::hpoj
-printer::printerdrake
-urpm
-standalone
handle_configs
+scanner
+Net::DBus::Service
+urpm::ldap
+urpm::parallel_ka_run
+urpm::parallel_ssh
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
deleted file mode 100644
index ad8bf55b0..000000000
--- a/perl-install/ChangeLog
+++ /dev/null
@@ -1,51325 +0,0 @@
-2003/09/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/uk.po, share/po/it.po: updated Basque, Italian and Ukrainian
- files
-
- * share/po/eu.po: updated Basque file
- updated Basque, Italian and Ukrainian files
-
- * share/po/nl.po: updated Dutch file
-
-2003/09/22 François Pons <fpons at mandrakesoft.com>
-
- * install_steps.pm: avoid mounting partitions in recovery mode.
-
- * network/netconnect.pm: make sure module are loaded only during
- installation.
-
- * install2.pm: keep use_existing_root for recovery (behaviour changed
- later)
-
- * pkgs.pm: simplified code.
- use kernel-i686 or kernel-enterprise as other kernel.
-
-2003/09/22 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: fix error message
-
- * detect_devices.pm: dmi doesn't detect ht, but acpi does, so use it
-
-2003/09/22 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Bug 5916, all users overrides individual
- selection in wizard.
-
-2003/09/22 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: simplified code.
- use kernel-i686 or kernel-enterprise as other kernel.
-
- * network/netconnect.pm: make sure module are loaded only during
- installation.
-
- * install2.pm: keep use_existing_root for recovery (behaviour changed
- later)
-
- * install_steps.pm: avoid mounting partitions in recovery mode.
-
-2003/09/22 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: fix error message
-
- * detect_devices.pm: dmi doesn't detect ht, but acpi does, so use it
-
-2003/09/22 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: try to follow what is wrong when requiring
- multiple cds.
-
- * install_steps.pm: avoid mounting partitions in recovery mode.
- avoid urpmi source in oem to use cdrom (we now use disk instead,
- avoiding
- supermount problems).
-
- * pkgs.pm: simplified code.
- use kernel-i686 or kernel-enterprise as other kernel.
-
- * network/network.pm: simplified perl writing, make sure bool2yesno has a
- chance to be called for MII_NOT_SUPPORTED
- fixed strange perl writing sense less...
-
- * install2.pm: keep use_existing_root for recovery (behaviour changed
- later)
-
- * network/netconnect.pm: make sure module are loaded only during
- installation.
- try loading boot kernel modules before trying to start internet
- connection...
-
-2003/09/22 Pixel <pixel at mandrakesoft.com>
-
- * detect_devices.pm: dmi doesn't detect ht, but acpi does, so use it
-
- * fs.pm: fix error message
-
- * rescue/tree/etc/oem-all:
- - fix typo
- - add CVS Id
-
-2003/09/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pt.po, share/po/fa.po, share/po/eu.po, share/po/bs.po,
- share/po/zh_CN.po, share/po/pt_BR.po, share/po/it.po: updated Bosnian,
- Basque, Farsi, Italian, Portuguese and Chinese files
-
-2003/09/21 Pixel <pixel at mandrakesoft.com>
-
- * lang.pm: allowing consolefonts to be ungzip'ed (adapting to new
- console-tools) (thanks to Mark Draheim)
-
-2003/09/20 keld
-
- * share/po/da.po: Updates
- soft/ftw/po/da.po gi/perl-install/share/po/da.po
-
-2003/09/19 Frederic Lepied <flepied at mandrakesoft.com>
-
- * share/rpmsrate: switch the other way too
- switch to kdebase-kdm while the reboot options aren't fixed
-
-2003/09/19 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem-all: updated with oem
- fixed too many files copied.
-
- * rescue/tree/etc/oem: fixed severe bug of directory not created.
- fixed too many files copied.
-
-2003/09/19 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/is.po: updated Icelandic file
-
- * share/po/vi.po, share/po/sv.po, share/po/de.po, share/po/pt_BR.po:
- updated German, Brazilian, Swedish and Vietnamese files
-
-2003/09/19 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: next FreeWnn is not a naughtyServers anymore
- final update naughtyServers for 9.2
-
-2003/09/19 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-16mdk
-
- * standalone/drakconnect: fix the fix
- fix #5825 (hostname set as ARRAY(0x...))
-
-2003/09/19 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: do not install lisa by default (reduce to 3)
-
-2003/09/19 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/is.po: updated Icelandic file
-
- * share/po/pl.po, share/po/hu.po, share/po/cs.po, share/po/pt_BR.po,
- share/po/zh_TW.po, share/po/fi.po, share/po/ja.po, share/po/az.po:
- updated Azeri, Czech, Finnish, Hungarian, Japanese, Polish,
- Brazilian and Chinese files
-
-2003/09/19 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: next FreeWnn is not a naughtyServers anymore
- final update naughtyServers for 9.2
-
-2003/09/18 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last license message update
-
-2003/09/18 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/18 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/probing.c, mdk-stage1/disk.c: close file descriptors
-
-2003/09/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nb.po: updated Norwegian file
-
-2003/09/18 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: update naughtyServers
-
-2003/09/18 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/09/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: one more typo fix
- typo fix
- 9.2-15mdk
-
-2003/09/18 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last license message update
-
-2003/09/18 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate: Add kdemultimedia-common to allow kaudiocreator to work
-
-2003/09/18 François Pons <fpons at mandrakesoft.com>
-
- * share/rpmsrate: added kdeutils in rpmsrate to help upgrading it.
-
-2003/09/18 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/probing.c, mdk-stage1/disk.c: close file descriptors
-
-2003/09/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/sq.po: updated Albanian file
- updated pot file
-
- * share/po/nb.po: updated Norwegian file
- updated pot file
-
- * share/po/eo.po, share/po/da.po, share/po/uz@Cyrl.po, share/po/sl.po,
- share/po/sv.po, share/po/hu.po, share/po/fa.po, share/po/de.po,
- share/po/sr@Latn.po, share/po/ga.po, share/po/it.po, share/po/cy.po,
- share/po/wa.po, share/po/vi.po, share/po/fi.po, share/po/ru.po,
- share/po/gl.po, share/po/af.po, share/po/ar.po, share/po/pl.po,
- share/po/pt_BR.po, share/po/lt.po, share/po/el.po, share/po/zh_CN.po,
- share/po/id.po, share/po/eu.po, share/po/sr.po, share/po/ja.po,
- share/po/be.po, share/po/uk.po, share/po/hr.po, share/po/th.po,
- share/po/nl.po, share/po/ca.po, share/po/DrakX.pot, share/po/bg.po,
- share/po/lv.po, share/po/ta.po, share/po/he.po, share/po/ro.po,
- share/po/fr.po, share/po/ko.po, share/po/bs.po, share/po/mt.po,
- share/po/sk.po, share/po/es.po, share/po/tr.po, share/po/az.po,
- share/po/is.po, share/po/ms.po, share/po/uz.po, share/po/cs.po,
- share/po/pt.po, share/po/zh_TW.po, share/po/tg.po: updated pot file
-
-2003/09/18 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: update naughtyServers
-
- * modules.pm: don't "probeall scsi_hostadapter usb-storage" (as requested
- by flepied and planel)
-
- * install_steps_gtk.pm: the install package dialog box must be explictly
- destroyed when quitting
- installation (esp. this occurs when answering "No" to "There was an
- error
- installing packages")
- rationale: the $w (created with ugtk2->new) is not reference counted
- correctly
- (it was already workarounded when leaving installPackages the normal
- way)
-
-2003/09/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-15mdk
-
- * install_steps_interactive.pm: fix slot number when configuring sound
- cards
-
- * harddrake/sound.pm: prevent some obscure crash at install time
- when installing, remember the new sound driver so that the user isn't
- confused if he ever want to configure it again
-
-2003/09/18 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last license message update
-
-2003/09/18 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate: Add kdemultimedia-common to allow kaudiocreator to work
-
-2003/09/18 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem-all: updated with oem
-
- * share/rpmsrate: added kdeutils in rpmsrate to help upgrading it.
-
- * rescue/tree/etc/oem: fixed for %{ARCH} used in hdlists.
-
-2003/09/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/bs.po, share/po/zh_TW.po, share/po/pt_BR.po,
- share/po/is.po, share/po/tr.po, share/po/sr@Latn.po, share/po/az.po,
- share/po/ta.po, share/po/ro.po, share/po/ga.po, share/po/eu.po,
- share/po/cy.po, share/po/fa.po, share/po/tg.po, share/po/ar.po,
- share/po/ru.po, share/po/el.po, share/po/lt.po, share/po/it.po,
- share/po/de.po, share/po/pt.po, share/po/hr.po, share/po/uz.po,
- share/po/ko.po, share/po/ca.po, share/po/be.po, share/po/hu.po,
- share/po/sv.po, share/po/fr.po, share/po/bg.po, share/po/lv.po,
- share/po/uz@Cyrl.po, share/po/sl.po, share/po/pl.po, share/po/ms.po,
- share/po/ja.po, share/po/eo.po, share/po/nl.po, share/po/mt.po,
- share/po/nb.po, share/po/vi.po, share/po/wa.po, share/po/sk.po,
- share/po/DrakX.pot, share/po/fi.po, share/po/sr.po, share/po/th.po,
- share/po/he.po, share/po/da.po, share/po/gl.po, share/po/es.po,
- share/po/af.po, share/po/id.po: updated pot file
-
- * install_messages.pm: paragraph about patents was not tagged as
- translatable; added N( )
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/Makefile: Arabic and Farsi po files not used at install, as
- there
- isn't available font during install
-
- * share/po/sq.po: updated Albanian file
- updated pot file
-
- * share/po/cs.po, share/po/uk.po: updated pot file
- updated Czech and Ukrainian files
-
-2003/09/18 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: update naughtyServers
-
- * share/po/Makefile, Makefile: don't remove some po's from drakxtools,
- only from install
- (ar/fa disabled because not working at install, ga/sl not translated
- enough)
-
- * install_steps.pm: sanitize ld.so.conf *before* calling ldconfig
-
- * standalone/drakboot: ensure update_bootloader_label() won't break when
- called in text interactive
- (hint: in that case, $boot_label is unset)
-
- * bootloader.pm:
- - fix grub/menu.lst -> lilo.conf
- - cleanup
-
- * install_steps_gtk.pm: the install package dialog box must be explictly
- destroyed when quitting
- installation (esp. this occurs when answering "No" to "There was an
- error
- installing packages")
- rationale: the $w (created with ugtk2->new) is not reference counted
- correctly
- (it was already workarounded when leaving installPackages the normal
- way)
-
- * modules.pm: don't "probeall scsi_hostadapter usb-storage" (as requested
- by flepied and planel)
-
-2003/09/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-15mdk
-
- * install_steps_interactive.pm: fix slot number when configuring sound
- cards
-
- * harddrake/sound.pm: prevent some obscure crash at install time
- when installing, remember the new sound driver so that the user isn't
- confused if he ever want to configure it again
-
-2003/09/17 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: fresh updates
-
-2003/09/17 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/drakhelp:
- - replace mdklaunchhelp by konqueror
-
- * standalone/drakbug:
- - drakhelp will load online drakbug help file
-
-2003/09/17 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * install_steps.pm: remove deprecated function call (thanks to guillaume
- 'eagle eye' Cottenceau)
-
-2003/09/17 François Pons <fpons at mandrakesoft.com>
-
- * install2.pm: make sure use_existing_root is not set.
-
- * install_steps.pm: moved update-menu after installation of oem-theme.rpm
- allow exit code of detached process to be seen.
- fixed closing of rpmdb directly in pkgs
- install urpmi before update-menus is called.
- fixed to close rpm db whenever possible.
-
- * pkgs.pm: make always sure rpmdb is closed before attempting
- installation.
-
-2003/09/17 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm, install_steps.pm: treat C encoding specially when computing
- utf8 flag, it should not trigger utf8 set by itself
-
-2003/09/17 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_TW.po: removed duplicate entry
- Completed a translation
- s:country:country/region:
- updated Italian, Brazilian and Chinese files
-
- * share/po/it.po, share/po/pt_BR.po: updated Italian, Brazilian and
- Chinese files
-
- * share/po/wa.po, lang.pm: Added "English (Ireland)" choice;
- make Russian encoding compatible with Ukrainian (choosin 'ru' and 'uk'
- languages doesn't force utf-8 but keeps koi8)
-
- * pixmaps/langs/lang-en_IE.png: readded with binary flag
- removed binary file
- Added "English (Ireland)" choice;
- make Russian encoding compatible with Ukrainian (choosin 'ru' and 'uk'
- languages doesn't force utf-8 but keeps koi8)
-
-2003/09/17 Pixel <pixel at mandrakesoft.com>
-
- * diskdrake/interactive.pm: don't display a wait_message together with the
- write_partitions() dialog
-
- * fs.pm, partition_table.pm: ensure that a number is not written as the
- type in fstab
-
- * any.pm: add /usr/lib/qt3/lib (and sometimes /usr/lib/qt3/lib64) in
- ld.so.conf
- (needed for upgrade where package renaming can cause this to disappear)
-
- * install_steps_interactive.pm: cancel in setRootPassword means "No
- password", not cancel
-
- * pkgs.pm: don't warn about FreeWnn being an open port (gc will try to
- only open it to localhost)
-
- * fsedit.pm: when the checking the mount point is not already used, don't
- take into account current partition
-
- * interactive/gtk.pm: fix ugliness: don't display $advanced_pack when
- there are no @widgets_advanced
- (esp. since $advanced_pack is now in its own scrolled window)
-
-2003/09/17 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Fixed "Configure CUPS" function of printerdrake adding
- a second
- "<Location />...</Location>" in /etc/cups/cupsd.conf instead of
- replacing the existing one (fix of Titi's newly introduced bug from
- May 19 14:17:58 2003 UTC).
-
-2003/09/17 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * handle_configs.pm (comment_directive) fix it
-
- * drakxtools.spec: 9.2-14mdk
- we still are 13mdk
- do not log changes that got reversed between two releases
- 9.2-13mdk
-
-2003/09/17 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: force mandrake_doc-en if language is not fr, it or es
-
-2003/09/17 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: fresh updates
-
-2003/09/17 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/17 François Pons <fpons at mandrakesoft.com>
-
- * install_steps.pm: fixed to close rpm db whenever possible.
-
-2003/09/17 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_steps.pm, lang.pm: treat C encoding specially when computing
- utf8 flag, it should not trigger utf8 set by itself
-
-2003/09/17 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pt.po, share/po/nb.po, share/po/et.po, share/po/cy.po,
- share/po/hu.po: updated Welsh, Estonian, Hungarian, Norwegian and
- Portuguese files
-
-2003/09/17 Pixel <pixel at mandrakesoft.com>
-
- * interactive/gtk.pm: fix ugliness: don't display $advanced_pack when
- there are no @widgets_advanced
- (esp. since $advanced_pack is now in its own scrolled window)
-
- * any.pm: add /usr/lib/qt3/lib (and sometimes /usr/lib/qt3/lib64) in
- ld.so.conf
- (needed for upgrade where package renaming can cause this to disappear)
- run nisdomainname et ypbind so that nis is correctly set up *now*, not
- at next reboot.
- TODO: also do it during install since nis can be useful to resolve
- domain names. Not done because 9.2-RC
-
- * fsedit.pm: when the checking the mount point is not already used, don't
- take into account current partition
-
- * install_steps_interactive.pm: cancel in setRootPassword means "No
- password", not cancel
-
- * standalone/drakauth: display errors occuring in
- any::set_authentication()
- (esp. for "Can't use broadcast with no NIS domain")
-
- * diskdrake/interactive.pm: don't display a wait_message together with the
- write_partitions() dialog
-
- * fs.pm, partition_table.pm: ensure that a number is not written as the
- type in fstab
-
-2003/09/17 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/09/16 François Pons <fpons at mandrakesoft.com>
-
- * install_steps.pm: make sure / and /usr are formatted in recovery mode.
-
-2003/09/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sl.po, share/po/fa.po, share/po/sr.po, share/po/ar.po,
- share/po/sr@Latn.po, share/po/nl.po, share/po/es.po, share/po/eo.po,
- share/po/th.po, share/po/uz@Cyrl.po, share/po/vi.po, share/po/hu.po,
- share/po/wa.po, share/po/eu.po, share/po/tr.po, share/po/ro.po,
- share/po/sq.po, share/po/et.po, share/po/is.po, share/po/zh_CN.po,
- share/po/he.po, share/po/ca.po, share/po/be.po, share/po/lt.po,
- share/po/ja.po, share/po/ms.po, share/po/da.po, share/po/nb.po,
- share/po/bs.po, share/po/cs.po, share/po/el.po, share/po/pt_BR.po,
- share/po/az.po, share/po/cy.po, share/po/uz.po, share/po/hr.po,
- share/po/ru.po, share/po/bg.po, share/po/gl.po, share/po/ko.po,
- share/po/mt.po, share/po/zh_TW.po, share/po/uk.po, share/po/tg.po,
- share/po/sv.po, share/po/pl.po, share/po/af.po, share/po/pt.po,
- share/po/ta.po, share/po/fr.po, share/po/fi.po, share/po/id.po,
- share/po/de.po, share/po/sk.po, share/po/ga.po, share/po/it.po,
- share/po/lv.po: updated pot files
-
-2003/09/16 Pixel <pixel at mandrakesoft.com>
-
- * install_steps.pm: pixelization
-
-2003/09/16 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: fix typos
-
- * harddrake/sound.pm: fix #5403:
- - make sure to use OptionMenu instead of Combo boxes
- - move help into a tooltip
-
-2003/09/16 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: fix firmware testing at installation
-
-2003/09/16 François Pons <fpons at mandrakesoft.com>
-
- * install_steps.pm: make sure / and /usr are formatted in recovery mode.
-
-2003/09/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/help-it.pot, share/po/help-de.pot, share/po/help-es.pot,
- share/po/help-ru.pot, share/po/DrakX.pot: updated pot files
-
-2003/09/16 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * share/rpmsrate: wireless packages fix
-
- * network/adsl.pm: fix firmware testing at installation
-
-2003/09/16 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_interactive.pm: added question to ask for recovering the
- system in recover mode.
-
- * install_any.pm: removing update media tag (except for update medium)
-
- * install2.pm: made mouse, keyboard, packages selection, timezone and
- security selection automatic...
- / and /usr should be formatted, keep default for installation.
- fixed stupid typo preventing mouse modules to be loaded.
- added automatic steps in recovery mode.
- disable recovery mode if recovery.cfg file has not been read
- successfully.
-
-2003/09/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/help-ru.pot, share/po/help-de.pot, share/po/DrakX.pot,
- share/po/help-it.pot, share/po/help-es.pot: updated pot files
-
-2003/09/16 Pixel <pixel at mandrakesoft.com>
-
- * interactive/gtk.pm: Gtk2::CheckButton->new is
- Gtk2::CheckButton->new_with_mnemonic, it's better to use
- Gtk2::CheckButton->new_with_label (bug #5728)
-
-2003/09/16 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * interactive/gtk.pm: fix expert mode resulting in advanced setting being
- displayed by
- default but label still being "advanced" instead of "basic"
-
- * drakxtools.spec: one more fix
- 9.2-12mdk
-
-2003/09/16 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: add minichinput in X 5
-
-2003/09/15 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: initialize $adsl, fix #5674 and pppoe.conf problems
- fix #5056 (mostly workaround as kernel is frozen)
-
- * network/netconnect.pm: net install autodetection fix
-
-2003/09/15 François Pons <fpons at mandrakesoft.com>
-
- * Xconfig/resolution_and_depth.pm: avoid using other depth than 24 for
- fglrx in automatic mode.
-
- * standalone.pm: improved speed by invoking once `rpm -qa` instead of 4.
-
-2003/09/15 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/is.po, share/po/fr.po, share/po/fi.po: updated Finnish, French
- and Icelandic files
-
- * share/po/help-ru.pot, share/po/help-fr.pot, share/po/help-it.pot,
- share/po/help-de.pot, share/po/help-es.pot: put back previous versions
- of help-*.pot files to be in synch with help.pm
-
-2003/09/15 Pixel <pixel at mandrakesoft.com>
-
- * run_program.pm: better logging of killed runaway processes
-
- * Xconfig/main.pm: configure_resolution() must return 'config_changed'
- when a new resolution is chosen
-
- * lang.pm: use locale_special when $::prefix is set (so that X test is
- i18n)
-
- * any.pm: set ICEAUTHORITY for "gnome-session-save --kill"
- (it would be better to set it in usermode, but it works :)
-
- * standalone/XFdrake:
- - call any::ask_window_manager_to_logout() after forking so that exit
- doesn't happen before it is done
- (otherwise it can loose Xauth access)
- - fix checking config_changed (it can be string 'config_changed' or
- the new $raw_X)
-
- * partition_table.pm: associate partition table 0xeb (BeOS) with
- filesystem befs (part of bug #5523)
-
-2003/09/15 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbug: New, improved, compact code, courtesy of Thierry.
- Updates for stable release bug submission to anthill (vdanen)
-
-2003/09/15 Till Kamppeter <till at mandrakesoft.com>
-
- * share/rpmsrate: Added usbutils to the packages needed for installation.
- This package
- is needed for setting up the HP PSC 1xxx and OfficeJet 4xxx with HPOJ.
-
- * printer/main.pm: Small fix on LIDIL workaround.
- Put device identity info into the HPOJ config file also when HPOJ
- configuration was not verified (LIDIL devices).
- Added workaround to make HP PSC 1xxx and OfficeJet 4xxx really working.
-
-2003/09/15 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * harddrake/sound.pm: fix #5488: do not overwrite current driver if it's a
- viable driver for
- the current sound card
- show the current driver too (being preselected) so that users do not
- get confused
-
- * drakxtools.spec: typo fixes
-
- * interactive/gtk.pm: fix hidden or cutted buttons (#1919, #2364, #2705,
- #3667, ...)
-
-2003/09/15 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: fix #5056 (mostly workaround as kernel is frozen)
-
-2003/09/15 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/15 François Pons <fpons at mandrakesoft.com>
-
- * c/Makefile: fixed possible typo...
-
- * standalone.pm: improved speed by invoking once `rpm -qa` instead of 4.
-
-2003/09/15 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * help.pm: reverted to previous version, to avoid huge strings break at
- this stage
-
- * share/po/pt.po, share/po/it.po, share/po/af.po, share/po/hu.po,
- share/po/mt.po: updated Afrikaans, Hungarian, Italian, Maltese and
- Portuguese files
-
-2003/09/15 Pixel <pixel at mandrakesoft.com>
-
- * lang.pm: use locale_special when $::prefix is set (so that X test is
- i18n)
-
- * Xconfig/main.pm: configure_resolution() must return 'config_changed'
- when a new resolution is chosen
-
- * run_program.pm: better logging of killed runaway processes
-
- * diskdrake/interactive.pm: fix growing ext2/ext3 partitions
-
- * standalone/drakupdate_fstab: fix typo (pixel sux)
-
- * any.pm: set ICEAUTHORITY for "gnome-session-save --kill"
- (it would be better to set it in usermode, but it works :)
- when "Back" is pressed, restore the list of entries in bootloader (bug
- #5680)
-
- * standalone/XFdrake:
- - call any::ask_window_manager_to_logout() after forking so that exit
- doesn't happen before it is done
- (otherwise it can loose Xauth access)
- - fix checking config_changed (it can be string 'config_changed' or
- the new $raw_X)
-
- * partition_table.pm: associate partition table 0xeb (BeOS) with
- filesystem befs (part of bug #5523)
-
-2003/09/15 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakTermServ: drakTermServ -
- translation issues (Arpad Biro), fix help text format
- drakbackup - translation issues (Arpad Biro)
- fix user, cron misbehavior (Keld Jørn Simonsen)
-
-2003/09/15 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/printerdrake.pm: Added support for user-mode-only HPOJ devices
- (HP PSC 1xxx and
- OfficeJet 4xxx). Fixes bug #5641.
-
- * printer/main.pm: perl_checker fix.
- Added support for user-mode-only HPOJ devices (HP PSC 1xxx and
- OfficeJet 4xxx). Fixes bug #5641.
-
-2003/09/14 Pixel <pixel at mandrakesoft.com>
-
- * fsedit.pm: add a warning for / on LVM: "You may not be able to install
- lilo (since lilo doesn't handle a LV on multiple PVs)"
-
-2003/09/14 Warly <warly at mandrakesoft.com>
-
- * standalone/service_harddrake: stop bootsplash silent mode if something
- is detected
-
-2003/09/14 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last updates, fixed some typos
-
-2003/09/14 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po, share/po/he.po, share/po/pt_BR.po, share/po/uk.po,
- share/po/fa.po, share/po/sq.po: updated Farsi, Hebrew, Hungarian,
- Brazilian, Albanian and Ukrainian files
-
-2003/09/14 Pixel <pixel at mandrakesoft.com>
-
- * fsedit.pm: add a warning for / on LVM: "You may not be able to install
- lilo (since lilo doesn't handle a LV on multiple PVs)"
-
-2003/09/13 nplanel
-
- * install2.pm: back to i810fb xcon=4 (bad docummented option)
-
-2003/09/13 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * lang.pm: put quotes around the XIM_PROGRAM values that use spaces
-
- * share/po/it.po, share/po/ro.po, share/po/he.po, share/po/pt_BR.po,
- share/po/sk.po, share/po/bg.po: updated Bulgarian, Hebrew, Italian,
- Brazilian and Romanian files;
- fixed syntax errors in Slovak file
-
- * share/po/zh_CN.po, share/po/cy.po: updated Welsh and Chinese files
-
-2003/09/13 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/09/12 David Baudens <baudens at mandrakesoft.com>
-
- * share/compssUsers: Always install a termunal emulator and don't install
- GNOME by default
-
- * standalone/icons/wiz_logdrake.png, standalone/icons/wiz_drakgw.png,
- standalone/icons/wiz_scannerdrake.png,
- standalone/icons/wiz_drakconnect.png,
- standalone/icons/wiz_default_up.png, standalone/icons/wiz_firewall.png,
- standalone/icons/wiz_printerdrake.png,
- standalone/icons/drakfont.620x57.png: Update
-
-2003/09/12 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm:
- - dropped sub load_firmware_floppy
- - handle windows firmware's copy
-
- * network/tools.pm: added sub copy_firmware, sub use_windows(), sub
- use_floppy
- firmware copy works from floppy and windows/winnt
-
-2003/09/12 François Pons <fpons at mandrakesoft.com>
-
- * share/rpmsrate: fixed fatal error in rpmsrate.
-
-2003/09/12 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: fix garbled font when asking UTF8 in text install
-
- * c/Makefile.PL, c/stuff.xs.pl: stuff doesn't contain gtk stuff anymore
-
- * tools/make_mdkinst_stage2: die if cp failed
-
- * share/themes-galaxy.rc: fix progressbar color (should be blue)
-
-2003/09/12 keld
-
- * share/po/da.po: corrections
- gi/perl-install/share/po/da.po
- corrections
- soft/wizard_perl/po/da.po gi/perl-install/share/po/da.po
- updates
- soft/menu-messages/da.po soft/ftw/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/09/12 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po, share/po/nb.po, share/po/vi.po: updated Norwegian,
- Swedish and Vietnamese files
-
- * share/po/cs.po: updated Czech file
-
- * share/po/az.po: updated Azeri file
-
-2003/09/12 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: hd as default daemon media
-
-2003/09/12 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/09/12 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: fix #5586 (profiles with spaces in name)
-
- * drakxtools.spec: 9.2-11mdk
-
-2003/09/12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated
-
-2003/09/12 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate: Fix gnome-audio entry
- Update
-
-2003/09/12 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translation
-
-2003/09/12 Frederic Lepied <flepied at mandrakesoft.com>
-
- * share/rpmsrate: removed nautilus-gtkhtml
- added rnboifd and cm2020 packages
-
-2003/09/12 François Pons <fpons at mandrakesoft.com>
-
- * share/rpmsrate: fixed fatal error in rpmsrate.
-
-2003/09/12 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * share/themes-galaxy.rc: fix progressbar color (should be blue)
-
-2003/09/12 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/uz.po, share/po/nb.po, share/po/id.po, share/po/da.po,
- share/po/tr.po, share/po/mt.po, share/po/tg.po, share/po/sr.po,
- share/po/ru.po, share/po/sl.po, share/po/hr.po, share/po/uk.po,
- share/po/ro.po, share/po/af.po, share/po/he.po, share/po/ms.po,
- share/po/el.po, share/po/wa.po, share/po/uz@Cyrl.po, share/po/ta.po,
- share/po/az.po, share/po/ja.po, share/po/de.po, share/po/lt.po,
- share/po/cy.po, share/po/ga.po, share/po/is.po, share/po/vi.po,
- share/po/pl.po, share/po/zh_TW.po, share/po/fr.po, share/po/sv.po,
- share/po/nl.po, share/po/ar.po, share/po/lv.po, share/po/sq.po,
- share/po/pt_BR.po, share/po/zh_CN.po, share/po/th.po, share/po/hu.po,
- share/po/es.po, share/po/eo.po, share/po/sk.po, share/po/be.po,
- share/po/ko.po, share/po/fa.po, share/po/cs.po, share/po/gl.po,
- share/po/sr@Latn.po, share/po/pt.po, share/po/ca.po, share/po/bg.po,
- share/po/it.po, share/po/DrakX.pot, share/po/fi.po, share/po/bs.po,
- share/po/eu.po: updated pot file
-
-2003/09/12 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * network/netconnect.pm: fix #5586 (netprofile package still need be
- fixed)
-
-2003/09/11 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_steps_gtk.pm: don't display a watch when slow things because due
- to the
- large number of gtkflush(), the ask_ok_cancel appears
- before its Gtk->main is called, hence clicking too fast
- will call Gtk->main_quit before Gtk->main, but the dialog
- doesn't disappear; then on the next click on ok/cancel,
- the call to another Gtk->main_quit will lead to two
- Gtk->main being exited, hence destroying the ok/cancel
- dialog but alors the main window (choose of individual
- packages)
-
- * ugtk2.pm: don't pack_end two times a button, this causes a Gtk Critical
- and we never know what can happen after that :/
-
-2003/09/11 Pixel <pixel at mandrakesoft.com>
-
- * Xconfig/test.pm, ugtk2.pm: use center_always for popped windows (if
- transient is not used), and force centering in Xconfig test
-
- * lang.pm: move configuring kdmrc to lang::write so that it is done in
- localedrake
- don't configure kde config files when they are not present
- (otherwise minimal install followed by urpmi kde gives a badly
- configured kde)
-
- * c/Makefile.PL: libXext seems to be needed, i don't know why...
-
- * install_steps.pm: move configuring kdmrc to lang::write so that it is
- done in localedrake
-
-2003/09/11 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * modules/interactive.pm: if some module has no parameter, instead of not
- displaying the config
- window, show that there's no parameters to configure
- translate one more string
-
- * standalone/harddrake2: fix infamous #4136
- rationale: our own SIG_CHLD handler intercept the child death after
- run_program's waitpid() got interrupted by the signal but before it
- get rescheduled by the kernel (at which stage the child it wait for
- does not exists anymore)
-
- * standalone/drakfont: fix #5571
-
- * share/po/fr.po: help making printerdrake icon bar be shorter (#5282
- again)
-
-2003/09/11 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: one fix
- typo fixes
-
-2003/09/11 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate: Add 5 LOCALES"zh_CN" miniChinput (#4408)
-
-2003/09/11 Florin Grad <florin at mandrakesoft.com>
-
- * network/shorewall.pm: add the network interface window as in the
- drakgw's case
-
- * standalone/drakgw: silly me, I forgot the debug messages
- some Cancel interface fix
-
-2003/09/11 François Pons <fpons at mandrakesoft.com>
-
- * bootloader.pm: protected restore entry to be only visible if restore
- option added during boot.
-
- * install2.pm: added restore option to allow restore entry to be created
- (refused by default)
-
- * any.pm: fixed to use meta_class desktop instead of virtual discovery
- (mapped to desktop).
-
- * Xconfig/resolution_and_depth.pm: fixed depth to 24 when using driver
- fglrx (it won't work unless 24 bits)
-
- * install_steps.pm: simplified oem theme generation, now use oem-theme.rpm
- wait for processes that need to be correctly finished before.
-
- * run_program.pm: added detach option to handle detached process running
- (for update-menus).
-
-2003/09/11 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_gtk.pm: inactivate antialias in VGA16 because it makes fonts
- look worse
-
- * mdk-stage1/disk.c: fix recovery behaviour thx to francois comments
-
- * any.pm: don't use images for language choice in vga16, it's too ugly
-
-2003/09/11 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/uz@Cyrl.po, share/po/uz.po, share/po/cy.po: updated Welsh and
- Uzbek files
-
- * share/po/lt.po, share/po/he.po, share/po/wa.po, share/po/ta.po,
- share/po/tg.po, share/po/ms.po, share/po/sl.po, share/po/eo.po: updated
- po files (country names strings merged from drakfw)
-
- * share/po/it.po: updated Italian file
- updated Italian file
-
-2003/09/11 Pixel <pixel at mandrakesoft.com>
-
- * lang.pm: move configuring kdmrc to lang::write so that it is done in
- localedrake
- don't configure kde config files when they are not present
- (otherwise minimal install followed by urpmi kde gives a badly
- configured kde)
-
- * Xconfig/test.pm, ugtk2.pm: use center_always for popped windows (if
- transient is not used), and force centering in Xconfig test
-
- * install_steps.pm: move configuring kdmrc to lang::write so that it is
- done in localedrake
-
- * c/Makefile.PL: libXext seems to be needed, i don't know why...
-
-2003/09/11 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/logdrake: always display the log domain names in the same
- order, that is in
- english (not l10n) alphabetic order
-
- * standalone/drakconnect: do not set hostname if there's a dynamic
- interface
-
- * standalone/drakperm: remove debugging assertion
- display "the current level is X" instead of "the current level is level
- X"
-
-2003/09/10 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated one string
-
-2003/09/10 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: 2 typo fixes
- Updated
-
-2003/09/10 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate, share/compssUsers.desktop: Update
-
-2003/09/10 Frederic Crozat <fcrozat at mandrakesoft.com>
-
- * share/rpmsrate: Don't install nautilus-gtkhtml by default
-
-2003/09/10 François Pons <fpons at mandrakesoft.com>
-
- * install2.pm: make sure mouse modules are loaded before using them
- (usefull for defcfg or recovery).
- save recovery file if disk installation.
- take recovery option into account.
-
- * mouse.pm: fixed the fix of fpons trick...
- fixed the fpons trick (which was false moreover)
- added load_modules to load mouse module according to configuration.
-
- * bootloader.pm: restore entry is a recovery entry.
- restore entry shouldn't have reference of vga=... in append, moved to
- vga.
-
- * network/adsl.pm: added sagem support for dhcp (as used by Free
- degroupped ;-))
-
- * standalone/XFdrake, install_steps_interactive.pm: added nplanel patch
- for ATI proprietary drivers.
-
- * Xconfig/card.pm: fixed perl_checker fixes.
- added nplanel patch for ATI proprietary drivers.
-
-2003/09/10 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * Xconfig/test.pm: clean
- we don't have .jpg loader in install, file needs to be in .png
- (mandrake_desk 9.2-8mdk)
-
- * rescue/tree/etc/issue, mdk-stage1/Makefile: 9.2
-
- * mdk-stage1/stage1.c, mdk-stage1/stage1.h, mdk-stage1/disk.h,
- mdk-stage1/automatic.h, mdk-stage1/tools.c, mdk-stage1/disk.c: recovery
-
-2003/09/10 nplanel
-
- * Xconfig/card.pm: fixup default fglrx config to be included in Device
- Section. thanks pixel
-
-2003/09/10 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pl.po, share/po/et.po, share/po/pt_BR.po, share/po/nb.po,
- share/po/az.po, share/po/cs.po, share/po/zh_CN.po, share/po/hu.po:
- updated Azeri, Czech, Estonian, Hungarian, Brazilian and Chinese files
-
-2003/09/10 Pixel <pixel at mandrakesoft.com>
-
- * bootloader.pm: no more "dos" label in bootloader (it seems WinXP use the
- "DOS FAT16" for fat partitions)
-
-2003/09/10 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-10mdk
-
- * standalone/drakperm:
- - do not comply on filter change (system, user or system & user)
- - default to "system & user" by default
- - show customized rules after system ones since these are managed once
- system ones get applied
- - add new rules to end of list
-
- * network/netconnect.pm: follow std explanations policy
-
- * standalone/drakedm: follow std explanations policy
- add higher level explanations
-
-2003/09/09 Daouda Lo <daouda at mandrakesoft.com>
-
- * any.pm:
- - userdrake is in /usr/sbin/ (#5447)
-
-2003/09/09 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/netconnect.pm: profile is 'default' if no configuration file
- found
-
-2003/09/09 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/09 François Pons <fpons at mandrakesoft.com>
-
- * install_messages.pm: fixed reference to 9.1 errata, (now
- http://www.mandrakelinux.com/en/92errata.php3).
-
- * standalone/drakautoinst: try again if no floppy (or error during
- creation of floppy)
-
- * bootloader.pm: avoid lilo-graphic for ProSavageDDR card as this card
- seems to report bad window size.
-
-2003/09/09 keld
-
- * share/po/da.po: updates
- soft/GtkMdkWidgets/po/da.po soft/wizard_perl/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/09/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/de.po: updated German file
- updated pot file
-
- * share/po/help-es.pot, share/po/pt_BR.po, share/po/nb.po, share/po/eu.po,
- share/po/ta.po, share/po/help-de.pot, share/po/it.po, share/po/ja.po,
- share/po/uz.po, share/po/tr.po, share/po/et.po, share/po/sl.po,
- share/po/fr.po, share/po/DrakX.pot, share/po/uk.po,
- share/po/help-it.pot, share/po/nl.po, share/po/af.po, share/po/cs.po,
- share/po/he.po, share/po/wa.po, share/po/bg.po, share/po/ru.po,
- share/po/be.po, share/po/ms.po, share/po/pl.po, share/po/vi.po,
- share/po/help-ru.pot, share/po/ga.po, share/po/cy.po, share/po/ca.po,
- share/po/eo.po, share/po/th.po, share/po/sr.po, share/po/sk.po,
- share/po/az.po, share/po/da.po, share/po/sq.po, share/po/ar.po,
- share/po/mt.po, share/po/el.po, share/po/uz@Cyrl.po, share/po/tg.po,
- share/po/hr.po, share/po/sv.po, share/po/pt.po, share/po/lt.po,
- share/po/gl.po, share/po/fa.po, share/po/es.po, share/po/zh_TW.po,
- share/po/fi.po, share/po/zh_CN.po, share/po/lv.po, share/po/ko.po,
- share/po/bs.po, share/po/sr@Latn.po, share/po/ro.po, share/po/id.po,
- share/po/is.po, share/po/hu.po: updated pot file
-
-2003/09/09 Pixel <pixel at mandrakesoft.com>
-
- * mouse.pm: write "MOVE YOUR WHEEL!" only for ps2 mice
-
- * ugtk2.pm: remove too verbose _XSetInputFocus log
-
- * modules.pm: increase sleep time after modprobing usb-uhci/usb-ohci
- (otherwise USB mouse may be undetected)
-
- * standalone/drakupdate_fstab: re-enable supermount
-
- * standalone/diskdrake, any.pm: ensure userdrake works when diskdrake
- --fileshare is embedded or run through kdesu
-
- * install_steps_interactive.pm: don't ask security level when upgrading
-
- * share/po/help-es.pot, share/po/help-fr.pot, share/po/help-de.pot,
- share/po/help-ru.pot, help.pm, share/po/help-it.pot: update from xml
- help
-
-2003/09/09 Till Kamppeter <till at mandrakesoft.com>
-
- * scanner.pm: Fixed functions for scanner database (ScannerDB) generation.
-
- * printer/printerdrake.pm: Fixed bug #5423: Some option settings were not
- be recognized or changed.
-
-2003/09/09 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/logdrake: fix #5448 (infinite entries)
-
- * standalone/drakxtv: install xawtv if needed
-
- * standalone/drakconnect: fix window size in when non embedded & non
- wizard
-
- * share/po/fr.po: fix drakboot layout
-
- * interactive/gtk.pm: fix #5040 (too small drakboot's window width)
-
- * standalone/drakboot: fix default size without draksplash
-
-2003/09/09 David Baudens <baudens at mandrakesoft.com>
-
- * share/po/ta.po, share/po/ko.po, share/po/fi.po, share/po/sq.po: Fix
- s/9.1/9.2
-
-2003/09/09 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/printerdrake:
- - help call
- - reportbug via bugzilla
-
-2003/09/09 François Pons <fpons at mandrakesoft.com>
-
- * install_messages.pm: fixed reference to 9.1 errata, (now
- http://www.mandrakelinux.com/en/92errata.php3).
-
- * standalone/drakautoinst: try again if no floppy (or error during
- creation of floppy)
-
-2003/09/09 keld
-
- * share/po/da.po: updates
- soft/GtkMdkWidgets/po/da.po soft/wizard_perl/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/09/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pt.po, share/po/uk.po, share/po/eu.po: updated Basque,
- Portuguese and Ukrainian files
-
-2003/09/09 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: don't ask security level when upgrading
-
- * mouse.pm: write "MOVE YOUR WHEEL!" only for ps2 mice
-
- * modules.pm: increase sleep time after modprobing usb-uhci/usb-ohci
- (otherwise USB mouse may be undetected)
-
- * share/po/help-it.pot, share/po/help-de.pot, share/po/help-fr.pot,
- help.pm, share/po/help-ru.pot, share/po/help-es.pot: update from xml
- help
-
-2003/09/09 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakfloppy: fix #5430: do not confuse users with debug
- messages
-
- * install_steps.pm: fix network install
-
- * standalone/drakboot: fix default size without draksplash
-
-2003/09/09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated
-
-2003/09/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pt.po, share/po/eu.po, share/po/uk.po: updated Basque,
- Portuguese and Ukrainian files
-
-2003/09/09 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * install_steps.pm: fix network install
-
- * standalone/drakfloppy: fix #5430: do not confuse users with debug
- messages
-
-2003/09/08 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last updates
-
-2003/09/08 David Baudens <baudens at mandrakesoft.com>
-
- * share/po/sq.po, share/po/vi.po, share/po/gl.po, share/po/ro.po,
- share/po/DrakX.pot, share/po/sv.po, share/po/ta.po, share/po/it.po,
- share/po/ru.po, share/po/de.po, share/po/zh_CN.po, share/po/ja.po,
- share/po/ms.po, share/po/ko.po, share/po/tr.po, share/po/lv.po,
- share/po/ca.po, share/po/ga.po, share/po/el.po, share/po/he.po,
- share/po/da.po, share/po/uz.po, share/po/af.po, share/po/nb.po,
- share/po/hr.po, share/po/be.po, share/po/uz@Cyrl.po, share/po/fi.po,
- share/po/es.po, share/po/id.po, share/po/et.po, share/po/eo.po,
- share/po/sl.po, share/po/pt_BR.po, share/po/bg.po, share/po/fr.po,
- share/po/mt.po, share/po/nl.po, share/po/uk.po, share/po/tg.po,
- share/po/lt.po, share/po/th.po, share/po/pl.po, share/po/hu.po,
- share/po/sr.po, share/po/sk.po, share/po/pt.po, share/po/fa.po,
- share/po/az.po, share/po/cs.po, share/po/bs.po, share/po/is.po,
- share/po/eu.po, share/po/zh_TW.po, share/po/sr@Latn.po, share/po/wa.po,
- share/po/cy.po, share/po/ar.po: s/9\.1/9\.2/g
-
- * share/advertising/06-development.pl, share/advertising/01-thanks.pl,
- share/advertising/04-configuration.pl: Update
-
-2003/09/08 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect:
- - do not call anymore network::netconnect::save_conf
- - good set_profiles($netcnx) call
- shrink
-
- * network/nfs.pm, network/isdn.pm, network/adsl.pm, network/network.pm:
- - fix/use explanations
- - fix #5307 (firmware)
-
- * network/netconnect.pm:
- - do not call anymore network::netconnect::save_conf
- - good set_profiles($netcnx) call
- - fix/use explanations
- - fix #5307 (firmware)
-
-2003/09/08 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/fi.po, share/po/et.po, share/po/az.po, share/po/zh_CN.po:
- updated Azeri, Estonian, Finnish and Chinese files
-
- * share/po/hu.po, share/po/eu.po: updated Basque and Hungarian files
-
- * share/po/nb.po, share/po/cy.po: updated Welsh and Norwegian files
-
-2003/09/08 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: don't warnAboutNaughtyServers when
- upgrading
-
- * standalone/diskdrake: remove obsolete code
- ~fix~ calling userdrake in "diskdrake --fileshare"
-
- * any.pm: perl_checker compliance
- ~fix~ calling userdrake in "diskdrake --fileshare"
-
- * standalone/XFdrake: Xdrakres is "XFdrake resolution" not simply
- "XFdrake"
-
- * Xconfig/resolution_and_depth.pm:
- - use OptionMenu's instead of Combo's (better looking and mcc doesn't
- like embedding combos)
- - cleanup
-
-2003/09/08 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/printerdrake: Fixed copyright notice.
-
-2003/09/08 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: fix current profile load in wizard mode
- increase drakconnect robustness regarding profiles managment
- - fix set_profiles() call on profiles menu user change
- - (set_profiles) consolidate netcnx->{PROFILE} setting where we call
- set_profile
-
- - (update_profiles) rely on netcnx->{PROFILE}
-
- - fix profiles list update when wizard exits
-
- * standalone/drakperm, standalone/draksec: add help buttons
-
- * network/netconnect.pm: save_conf() really is dead
-
- * drakxtools.spec: last 9.2-9mdk bits
- fix net_monitor not working as root
- 9.2-9mdk
-
- * ugtk.pm, my_gtk.pm: no more used (drakcronat just removed from distro)
- => less dependancies :-)
-
- * standalone/drakfont: fix #4964 (not being able to select directories)
-
-2003/09/08 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: last updates
-
-2003/09/08 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/printerdrake:
- - support new help call
-
-2003/09/08 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect: shrink
-
- * network/network.pm, network/adsl.pm, network/isdn.pm,
- network/netconnect.pm, network/nfs.pm:
- - fix/use explanations
- - fix #5307 (firmware)
-
- * share/po/fr.po: s/Utiliserer une disquette/Utiliser une disquette/
-
-2003/09/08 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/08 François Pons <fpons at mandrakesoft.com>
-
- * install2.pm: set xcon=6 when loading i810fb module (to have console 7
- with X).
-
-2003/09/08 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/uz.po, share/po/ru.po, share/po/lv.po, share/po/lt.po,
- share/po/ga.po, share/po/sr@Latn.po, share/po/ar.po, share/po/hu.po,
- share/po/bg.po, share/po/zh_TW.po, share/po/sl.po, share/po/mt.po,
- share/po/gl.po, share/po/DrakX.pot, share/po/cy.po, share/po/sv.po,
- share/po/uk.po, share/po/tg.po, share/po/id.po, share/po/hr.po,
- share/po/ms.po, share/po/nl.po, share/po/de.po, share/po/uz@Cyrl.po,
- share/po/is.po, share/po/fr.po, share/po/ja.po, share/po/sk.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/it.po,
- share/po/tr.po, share/po/sr.po, share/po/nb.po, share/po/be.po,
- share/po/fa.po, share/po/eu.po, share/po/da.po, share/po/ko.po,
- share/po/af.po, share/po/es.po, share/po/ro.po, share/po/pl.po,
- share/po/vi.po, share/po/bs.po, share/po/wa.po, share/po/sq.po,
- share/po/he.po, share/po/ta.po, share/po/pt.po, share/po/ca.po,
- share/po/th.po, share/po/pt_BR.po: updated pot file
-
- * share/po/az.po, share/po/zh_CN.po, share/po/et.po, share/po/fi.po:
- updated Azeri, Estonian, Finnish and Chinese files
- updated pot file
-
-2003/09/08 Pixel <pixel at mandrakesoft.com>
-
- * tools/aewm-drakx/aewm-drakx.c, install_steps_gtk.pm,
- tools/aewm-drakx/client.c, tools/Makefile, tools/aewm-drakx/aewm.h,
- tools/aewm-drakx/README, tools/aewm-drakx/misc.c, Makefile.config,
- ugtk2.pm, tools/aewm-drakx/Makefile, tools/aewm-drakx/events.c: fixing
- keyboard focus during install:
- - removed aewm-drakx which doesn't work nicely
- - fix @interactive::objects handling
- (don't push non pop_it windows, ensure destroyed windows are removed)
- - ensure XSetInputFocus is called on $::WizardWindow
-
- * Xconfig/resolution_and_depth.pm:
- - use OptionMenu's instead of Combo's (better looking and mcc doesn't
- like embedding combos)
- - cleanup
-
- * any.pm: ~fix~ calling userdrake in "diskdrake --fileshare"
-
- * standalone/XFdrake: Xdrakres is "XFdrake resolution" not simply
- "XFdrake"
-
- * fsedit.pm: fix check_mntpoint to get back error "There is already a
- partition with mount point %s\n"
-
- * install_steps_interactive.pm: don't warnAboutNaughtyServers when
- upgrading
-
- * standalone/diskdrake: remove obsolete code
- ~fix~ calling userdrake in "diskdrake --fileshare"
- use formatError to have the error message instead of SCALAR(0x....)
-
-2003/09/08 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/printerdrake: Fixed copyright notice.
- - Use a field in the $printer data structure and no a global variable
- for the expert mode.
- - Fixed bug of database not being re-read when switching between
- normal and expert mode with the new GTK2 main window.
-
- * standalone/scannerdrake: Show an error message if saned could not be
- installed.
-
- * printer/printerdrake.pm, printer/main.pm, printer/cups.pm:
- - Use a field in the $printer data structure and no a global variable
- for the expert mode.
- - Fixed bug of database not being re-read when switching between
- normal and expert mode with the new GTK2 main window.
-
-2003/09/08 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-9mdk
-
- * standalone/drakfont: fix #4964 (not being able to select directories)
-
- * ugtk.pm, my_gtk.pm: no more used (drakcronat just removed from distro)
- => less dependancies :-)
-
-2003/09/07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: typo fix
-
-2003/09/07 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect, network/netconnect.pm:
- - $netcnx->{PROFILE} is current profile name (now scalar)
- - fix non working profiles loading/saving
- - perl_checker
-
-2003/09/07 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/printerdrake.pm: Fixed first-time dialog.
-
-2003/09/07 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-8mdk
-
- * share/po/br.po: update
-
-2003/09/06 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Update
-
-2003/09/06 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po, share/po/vi.po, share/po/bs.po, share/po/he.po,
- share/po/cy.po: updated Bosnian, Welsh, Hebrew, Hungarian and Vietnamese
- files
-
-2003/09/05 David Baudens <baudens at mandrakesoft.com>
-
- * pixmaps/monitor-640.png, pixmaps/monitor-2048.png,
- pixmaps/monitor-1920.png, pixmaps/monitor-1600.png,
- pixmaps/monitor-800.png, pixmaps/monitor-1280.png,
- pixmaps/monitor-1400.png, pixmaps/monitor.png, pixmaps/monitor-1152.png,
- pixmaps/monitor-1024.png: Update
-
-2003/09/05 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/network.pm: workaround messed up ppp0 configration
-
-2003/09/05 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/05 Florin Grad <florin at mandrakesoft.com>
-
- * network/network.pm, network/netconnect.pm: small fixes for drakgw and
- drakfirewall
-
-2003/09/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: add support for "variants" as explained by pablo (in uz@Cyrl
- the @Cyrl is a variant)
-
- * keyboard.pm: /me sux
- apply patch asked by pablo so that users are not confused during
- install that their chosen grp_toggle is not usable. yes it's too
- late for additional translations but it's not very important that
- this is untranslated, it's better to have it in.
-
-2003/09/05 keld
-
- * share/po/da.po: updates
- soft/control-center/po/da.po gi/perl-install/share/po/da.po
-
-2003/09/05 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
- * lang.pm: increazed size of Arabic font in KDE
-
- * share/po/uz.po, share/po/ru.po, share/po/zh_CN.po, share/po/uz@Cyrl.po,
- share/po/sk.po, share/po/cs.po: updated Czech, Slovak, Uzbek and Chinese
- files
-
- * share/po/hu.po, share/po/nb.po, share/po/fa.po: updated pot files
-
-2003/09/05 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Change the strings again for Pablo
-
-2003/09/05 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/printerdrake: Reverted button texts to not break existing
- translations, added hints
- for translators to make the button texts short.
- Shorter button texts, so that translations do not let the buttons go
- out of the window.
-
-2003/09/05 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * share/po/fr.po: update fr translation
- help making printerdrake icon bar be shorter (#5282)
-
-2003/09/04 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: passed spellchecking, fixed some typos
- last updates
-
-2003/09/04 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Fully updated
-
-2003/09/04 David Baudens <baudens at mandrakesoft.com>
-
- * share/compssUsers.desktop: Update
-
-2003/09/04 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/modem.pm: always ask for modem device even if not detected,
- unless user has winmodem
- fix #5242, don't go back to main menu if winmodem isn't found
-
-2003/09/04 François Pons <fpons at mandrakesoft.com>
-
- * Xconfig/resolution_and_depth.pm: XF 3.3 should use depth 16 if
- use_UTAH_GLX, this has been glitched in XF4 mode
- (so never available).
-
-2003/09/04 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po, share/po/sq.po: updated Estonian and Albanian files
- updated pot file
-
- * share/po/uz.po, share/po/ru.po, share/po/lv.po, share/po/lt.po,
- share/po/az.po, share/po/zh_CN.po, share/po/ga.po, share/po/sr@Latn.po,
- share/po/ar.po, share/po/hu.po, share/po/bg.po, share/po/zh_TW.po,
- share/po/sl.po, share/po/mt.po, share/po/gl.po, share/po/DrakX.pot,
- share/po/cy.po, share/po/sv.po, share/po/uk.po, share/po/tg.po,
- share/po/id.po, share/po/hr.po, share/po/ms.po, share/po/nl.po,
- share/po/de.po, share/po/uz@Cyrl.po, share/po/is.po, share/po/fr.po,
- share/po/ja.po, share/po/sk.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/tr.po, share/po/sr.po, share/po/be.po,
- share/po/fa.po, share/po/da.po, share/po/ko.po, share/po/af.po,
- share/po/es.po, share/po/ro.po, share/po/pl.po, share/po/vi.po,
- share/po/bs.po, share/po/wa.po, share/po/he.po, share/po/ta.po,
- share/po/ca.po, share/po/fi.po, share/po/th.po, share/po/pt_BR.po:
- updated pot file
-
- * share/po/eu.po: updated pot file
- updated Basque file
-
- * share/po/nb.po: updated Norwegian file
- updated pot file
-
- * share/po/it.po: updated pot file
- updated Italian file
-
- * share/po/pt.po: updated pot file
- updated Portuguese file
-
-2003/09/04 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/icons/drakbackup.540x57.png,
- standalone/icons/drakTS.620x57.png: No longer needed with reworked
- banners.
-
- * standalone/drakTermServ: Add application title in banner.
-
- * standalone/drakbackup: CDROM -> CDR
-
-2003/09/04 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/scannerdrake: Abort scannerdrake when SANE packages cannot be
- installed.
-
-2003/09/04 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/09/04 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec:
- - printerdrake needs foomatic-db-engine
- - printerdrake is moved to drakxtools since it does not anymore run on
- the console
- remove doble entry
- 9.2-7mdk (arghh, 9.2-6mdk was really uploaded)
- 9.2-6mdk last bits
- fix buildrequires for 64bit ports
-
-2003/09/03 David Baudens <baudens at mandrakesoft.com>
-
- * share/rpmsrate: Update
- Update
- Update
-
-2003/09/03 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/nl.po, share/po/nb.po: updated Norwegian and Dutch files
-
-2003/09/03 Pixel <pixel at mandrakesoft.com>
-
- * pixmaps/mouse_3b+_middle.png, pixmaps/mouse_2b.png, mouse.pm,
- pixmaps/mouse_right.xpm, pixmaps/mouse_3b.xpm,
- pixmaps/mouse_2b_left.png, pixmaps/mouse_3b.png,
- pixmaps/mouse_3b_middle.png, pixmaps/mouse_middle.xpm,
- pixmaps/mouse_3b_left.png, pixmaps/arrow_up.png,
- pixmaps/mouse_3b_mini.xpm, pixmaps/arrow_down.xpm,
- pixmaps/mouse_2b_right.png, pixmaps/mouse_3b+_mini.xpm,
- pixmaps/mouse_3b+.png, pixmaps/mouse_3b_right.png,
- pixmaps/mouse_3b+.xpm, pixmaps/arrow_down.png, pixmaps/mouse_left.xpm,
- pixmaps/arrow_up.xpm:
- - much cleanup in test_mouse()
- - new images for mouse test (thanks to Jerome Villette)
-
- * install_steps_newt.pm, install_steps_interactive.pm, install_steps.pm,
- install_steps_stdio.pm, install_steps_auto_install.pm:
- - move call to ->charsetChanged from install_steps_interactive to
- install_steps
- so that we can use it in install_steps_auto_install_non_interactive
- - don't overload ->selectLanguage to call lang::load_console_font(),
- overload ->charsetChanged instead
-
- * diskdrake/hd_gtk.pm, diskdrake/interactive.pm: require resize_fat::main
- when needed (fix bug #5204)
-
-2003/09/03 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Default to all users for wizard->Users (as root).
- Only allow 1 media select from wizard.
- Limit possible user list to self for nonroot users.
-
-2003/09/03 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/drakhelp:
- - change to handle documentaion system other than drakxtools one (for
- instance MandrakeGalaxy)
-
-2003/09/03 François Pons <fpons at mandrakesoft.com>
-
- * standalone/drakautoinst: fixed missing import of ugtk2
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: created simple image
- from 9.2 install isolinux pictures for floppy.
-
-2003/09/03 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * lang.pm: use command line parameter to specify traditional or simplified
- style
- for Chinput
-
-2003/09/03 Pixel <pixel at mandrakesoft.com>
-
- * pixmaps/mouse_3b_middle.png, pixmaps/mouse_3b_left.png,
- pixmaps/mouse_3b.xpm, pixmaps/mouse_3b_mini.xpm, pixmaps/mouse_left.xpm,
- pixmaps/mouse_3b+.png, pixmaps/mouse_3b+_middle.png,
- pixmaps/mouse_middle.xpm, pixmaps/mouse_3b.png,
- pixmaps/mouse_2b_right.png, pixmaps/arrow_down.xpm,
- pixmaps/arrow_up.xpm, pixmaps/mouse_2b_left.png,
- pixmaps/mouse_right.xpm, pixmaps/mouse_3b+_mini.xpm,
- pixmaps/mouse_3b+.xpm, pixmaps/arrow_up.png, pixmaps/mouse_2b.png,
- pixmaps/arrow_down.png, pixmaps/mouse_3b_right.png, mouse.pm:
- - much cleanup in test_mouse()
- - new images for mouse test (thanks to Jerome Villette)
-
- * install_steps_interactive.pm, install_steps_stdio.pm,
- install_steps_auto_install.pm, install_steps_newt.pm, install_steps.pm:
- - move call to ->charsetChanged from install_steps_interactive to
- install_steps
- so that we can use it in install_steps_auto_install_non_interactive
- - don't overload ->selectLanguage to call lang::load_console_font(),
- overload ->charsetChanged instead
-
- * diskdrake/hd_gtk.pm, diskdrake/interactive.pm: require resize_fat::main
- when needed (fix bug #5204)
-
-2003/09/03 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Last untranslated string. Rework banner with
- title ala rpmdrake.
- Fix some untranslated strings - Arpad Biro
-
-2003/09/02 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: fixed some errors in license message
-
-2003/09/02 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/09/02 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: fixed duplicate entries in src architecture.
-
- * pkgs.pm: fixed XFree86-75dpi-fonts not available (seems like a problem
- with length of
- rpmsrate computation, strange as it fails now and not before).
-
-2003/09/02 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/eu.po: updated Basque and Farsi files
- updated po files
-
- * share/po/fa.po: updated Basque and Farsi files
-
- * share/po/hu.po: updated po files
-
- * share/fonts.tar.bz2: updated 12x13 bitmap font (replaced hebrew glyphs
- with a copy from
- nachlieli font, under gpl)
-
- * share/po/fi.po, share/po/pt.po: Updated Finnish and Portuguese files
-
-2003/09/02 Pixel <pixel at mandrakesoft.com>
-
- * lang.pm: do not disable arabic completly (tis very ugly to do this,
- better remove the
- arabic choice!)
-
- * fs.pm: add description for option "umask=0" (bug #4310)
-
- * share/po/Makefile: do not translate in arabic during install since
- there's no font available
-
-2003/09/02 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/printerdrake.pm: Fixed major number of libsane-hpoj.
-
- * standalone/printerdrake: Prevent main window crash when queue list gets
- empty by deleting all
- print queues.
-
-2003/09/02 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * share/po/fr.po: update french translation
-
- * share/po/br.po: update
-
-2003/09/01 gbeauchesne
-
- * drakxtools.spec: Fix lsnsetdrake on AMD64
-
-2003/09/01 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: _ask_file: don't forget to overwrite $o->{window} as well or
- else
- it will be ->show'ed as a blank window (#5083)
-
-2003/09/01 keld
-
- * share/po/da.po: Update
- soft/urpmi/po/da.po gi/perl-install/share/po/da.po
-
-2003/09/01 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/ru.po, share/po/de.po, share/po/vi.po,
- share/po/sk.po, share/po/sq.po, share/po/az.po, share/po/da.po,
- share/po/uk.po: updated Azeri, Albanian, Ucrainian, Vietnamese and
- Chinese files
-
- * share/po/pt.po: updated Portuguese file
-
- * share/po/uz@Cyrl.po, share/po/uz.po, share/po/cs.po: updated Czech and
- Uzbek files
-
- * share/po/bs.po, share/po/nb.po: updated Bosnian and Nrowegian files
-
- * share/po/he.po: updated Hebrew file
-
-2003/09/01 Pixel <pixel at mandrakesoft.com>
-
- * pkgs.pm: oops, really kill gconfd silently
- don't warn when killing /usr/lib/gconfd-2 when runs in background
-
- * tools/ntp_servers.pl: update to new timezone.pm and adapt to new web
- page listing ntp servers
-
- * timezone.pm: update stratum 2 ntp servers
-
- * install_steps.pm, any.pm: chksession gives GNOME for gnome, not Gnome
-
-2003/09/01 siegel
-
- * share/po/de.po: updates german translation
-
-2003/09/01 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/printerdrake: do not explicitely reject embedding there, it
- has to be done in mcc.
- else, mcc wait forever for rpmdrake to embed in, then display an error
- dialog explaining that rpmdrake has failled (since it exited before
- displaying anything in mcc...)
-
-2003/08/31 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: don't check ext3 filesystems nor mount them as ext2 during
- upgrade (bug #5067)
-
-2003/08/31 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/08/31 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakedm: in non expert mode, only display the list of
- *installed* display managers.
- (interface team request)
- if no dm is installed, then switch back to expert mode behaviour and
- display
- all dm and install them if needed.
- explanations now work again thanks to pixel, no need to duplicate them
-
- * share/po/fr.po: fix draksec french translation
-
- * standalone/drakfloppy: fix dialogs height: replace"small" option by
- "height" & "weight" ones
- rationale: make thecommon path be the easiest one to set up (and make
- the
- uncommon path be the hardest one to follow)
-
- * standalone/harddrake2: harddrake2 help dialog: use the new scrolled
- dialog API for scrolled labels
- fix dialogs height: replace"small" option by "height" & "weight" ones
- rationale: make thecommon path be the easiest one to set up (and make
- the
- uncommon path be the hardest one to follow)
-
- * drakxtools.spec: 9.2-6mdk
- conflicts with older drakxtools doc due to new ctxhelp (drakhelp being
- broken
- until ctxhelp module is splited out as perl-MDK-Doc)
- requires perl-Gtk2 >= 0.95-6mdk for working XSetInputFocus()
- since we renewed network profiles feature, we shall require netprofile
- for
- drakconnect
-
- * ugtk2.pm (create_dialog) do not scroll labels by default
- fix dialogs height: replace"small" option by "height" & "weight" ones
- rationale: make thecommon path be the easiest one to set up (and make
- the
- uncommon path be the hardest one to follow)
-
- * standalone/drakconnect: fix profiles list refreshing
- fix dialogs height: replace"small" option by "height" & "weight" ones
- rationale: make thecommon path be the easiest one to set up (and make
- the
- uncommon path be the hardest one to follow)
-
-2003/08/30 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: current updates
-
-2003/08/30 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated
-
-2003/08/30 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po, share/po/pt.po: updated Estonian and Portuguese files
-
- * share/po/hu.po: updated Hungarian file
-
-2003/08/30 Pixel <pixel at mandrakesoft.com>
-
- * Makefile: since XFree86-VGA16-3.3.6-29mdk is bad, insist on having
- XFree86-VGA16 28mdk instead
-
-2003/08/30 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/icons/wiz_printerdrake.png: Updated head image for
- add-printer wizard to have the new printerdrake icon.
-
- * pixmaps/printer_del.png, pixmaps/printer_conf.png,
- pixmaps/slpash-drakeprint-2.png, pixmaps/about.png,
- pixmaps/unselected.png, pixmaps/cups_config.png,
- pixmaps/printer_add.png, pixmaps/selected.png, pixmaps/refresh.png,
- pixmaps/redhat-config-users.png, pixmaps/printerdrake.png,
- pixmaps/printer_default.png, pixmaps/help.png: Re-uploaded binary files
- added with "cvs add -kb ...".
- Binary files uploaded without "cvs add -kb ...", removed for re-upload.
-
-2003/08/29 Pixel <pixel at mandrakesoft.com>
-
- * bootloader.pm: set {perImageAppend} to the append= line from the default
- entry or the first image= entry
-
- * ugtk2.pm: set_minmax_width was commented which caused the individual
- package selection
- tree to be to large (fix bug #4548 #4865)
-
-2003/08/30 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated
-
-2003/08/30 Pixel <pixel at mandrakesoft.com>
-
- * Makefile: since XFree86-VGA16-3.3.6-29mdk is bad, insist on having
- XFree86-VGA16 28mdk instead
-
-2003/08/30 Till Kamppeter <till at mandrakesoft.com>
-
- * standalone/icons/wiz_printerdrake.png: Updated head image for
- add-printer wizard to have the new printerdrake icon.
-
-2003/08/29 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: remove system("cp..."); (I suck so much...)
-
-2003/08/29 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: try to make sure additional CD are taken into account if low
- memory available
- for configuring urpmi.
-
-2003/08/29 gbeauchesne
-
- * modules.pm: no imm/ppa on ia64
-
-2003/08/29 keld
-
- * share/po/da.po: Updates
- soft/menu-messages/da.po soft/GtkMdkWidgets/po/da.po
- soft/urpmi/po/da.po soft/wizard_perl/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/08/29 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/ko.po, share/po/sl.po, share/po/vi.po, share/po/mt.po,
- share/po/af.po, share/po/tr.po, share/po/sk.po, share/po/ja.po,
- share/po/hr.po, share/po/ga.po, share/po/nl.po, share/po/nb.po,
- share/po/he.po, share/po/az.po, share/po/fa.po, share/po/cy.po,
- share/po/et.po, share/po/lv.po, share/po/uz@Cyrl.po, share/po/lt.po,
- share/po/sv.po, share/po/zh_TW.po, share/po/eu.po, share/po/wa.po,
- share/po/bs.po, share/po/sr@Latn.po, share/po/de.po, share/po/is.po,
- share/po/ro.po, share/po/ru.po, share/po/bg.po, share/po/pl.po,
- share/po/ms.po, share/po/eo.po, share/po/tg.po, share/po/ta.po,
- share/po/id.po, share/po/sq.po, share/po/da.po, share/po/ca.po,
- share/po/gl.po, share/po/uz.po, share/po/el.po, share/po/fi.po,
- share/po/it.po, share/po/th.po, share/po/ar.po, share/po/es.po,
- share/po/be.po, share/po/DrakX.pot, share/po/fr.po, share/po/sr.po,
- share/po/pt.po, share/po/pt_BR.po, share/po/hu.po: updated pot file
-
- * share/po/uk.po, share/po/cs.po, share/po/zh_CN.po: updated pot file
- updated Czech, Ukrainian and Chinese files
-
-2003/08/29 Pixel <pixel at mandrakesoft.com>
-
- * bootloader.pm: set {perImageAppend} to the append= line from the default
- entry or the first image= entry
-
- * ugtk2.pm: set_minmax_width was commented which caused the individual
- package selection
- tree to be to large (fix bug #4548 #4865)
-
-2003/08/29 Till Kamppeter <till at mandrakesoft.com>
-
- * pixmaps/unselected.png, pixmaps/printer_conf.png,
- pixmaps/cups_config.png, pixmaps/printer_del.png,
- pixmaps/printer_add.png, pixmaps/refresh.png, pixmaps/printerdrake.png,
- pixmaps/selected.png, standalone/printerdrake,
- pixmaps/printer_default.png, pixmaps/redhat-config-users.png,
- pixmaps/help.png, pixmaps/slpash-drakeprint-2.png, pixmaps/about.png:
- New GTK2-based main window for printerdrake (only after installation).
-
- * printer/printerdrake.pm: Do not show hidden options in the options
- dialog.
- Enabled Wizards in embedded mode. They work there now!
-
-2003/08/29 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * network/netconnect.pm: restore profiles feature through new netprofile
- package
-
- * ctxhelp.pm: provided by mandrake_doc-drakxtools-LL
-
- * drakxtools.spec: 9.2-5mdk
-
- * standalone/drakconnect: restore profiles feature
- fix title when not embedded (print right number of network interfaces
- instead of displaying a big random number)
-
- * share/po/fr.po: translation just means translation, not gratuitously
- speaking about
- the whole universe
-
-2003/08/29 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: major cleaning
-
-2003/08/28 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Partially updated
- Updated
-
-2003/08/28 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/28 Frederic Lepied <flepied at mandrakesoft.com>
-
- * share/rpmsrate: removed drakprofile
-
- * share/compssUsers, share/compssUsers.desktop: select Documentation for
- all classes
-
-2003/08/28 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nb.po: updated Norwegian file
-
-2003/08/28 Pixel <pixel at mandrakesoft.com>
-
- * install_steps.pm: don't install autologin if using KDE or Gnome desktop
- (not needed nor used)
-
- * any.pm:
- - configure /etc/sysconfig/autologin in case of xdm, but remove it if
- kde/gnome
- - create any::sessions()
- if there is only one users and meta_class is discovery, choose autologin
- without asking
-
-2003/08/28 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/printerdrake.pm: Moved some stuff from mainwindow_interactive()
- to main() and init() as
- it has nothing to do with the main window.
-
-2003/08/28 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: fix dialogs heigh
-
- * ugtk2.pm (create_dialog) enable to pass an already created Gtk2::Label
-
-2003/08/28 Daouda Lo <daouda at mandrakesoft.com>
-
- * ctxhelp.pm:
- - put ctxhelp modules to prevent broken drakx build
-
-2003/08/28 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: fix #4372
-
-2003/08/28 Frederic Lepied <flepied at mandrakesoft.com>
-
- * share/compssUsers.desktop, share/compssUsers: select Documentation for
- all classes
-
- * share/rpmsrate: removed drakprofile
- removed linuxconf and gnome-network
-
-2003/08/28 François Pons <fpons at mandrakesoft.com>
-
- * share/compssUsers: make selected=all by default (so that RC1 (in
- meta_class=download will see them)
-
-2003/08/28 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * detect_devices.pm: detect a laptop if cpu name contains "mobile" as many
- recent laptops are in that case (in case other means would fail)
-
-2003/08/28 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/uz.po, share/po/uz@Cyrl.po: updated Uzbek files
-
- * share/po/fi.po: updated Finnish file
-
- * share/po/et.po: updated Estonian file
-
-2003/08/28 Pixel <pixel at mandrakesoft.com>
-
- * standalone.pm: fix MDK::Common::* explainations
-
- * install_steps.pm: don't install autologin if using KDE or Gnome desktop
- (not needed nor used)
-
- * any.pm:
- - configure /etc/sysconfig/autologin in case of xdm, but remove it if
- kde/gnome
- - create any::sessions()
- if there is only one users and meta_class is discovery, choose autologin
- without asking
-
-2003/08/28 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone.pm (output) remove buggy warn
-
- * install_gtk.pm: fix direction setting for bidi (need perl-Gtk2-0.95-5mdk
- though)
-
- * ugtk2.pm (create_dialog) enable to pass an already created Gtk2::Label
-
-2003/08/27 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
- * share/po/he.po: updated Hebrew file
-
-2003/08/27 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * any.pm, printer/cups.pm: fix pot regeneration at package build time
-
- * drakxtools.spec: 9.2-4mdk
-
-2003/08/27 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated
-
-2003/08/27 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/diskdrake:
- - new drakhelp call schema
-
- * standalone/drakhelp:
- - perl-checker
- - New drakhelp to increase accuracy in help system
- - contextual help
-
- * standalone/drakconnect, standalone/harddrake2, standalone/drakbackup:
- - new drakhelp args
-
- * standalone/drakbug:
- - help connects to qa.mandrakesoft.com
-
-2003/08/27 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakboot: typo fix
-
- * network/adsl.pm: fix firmware name (shame on me)
- fix #4363 (titi's so beautiful)
-
-2003/08/27 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/27 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_interactive.pm: scandisk is not enough! you can destroy your
- windows XP if you
- don't use chkdsk and then ntfsresize is used on a buggy partition
- (drakx should detect it via ntfsresize though), running chkdsk is
- *mandatory*
-
-2003/08/27 nplanel
-
- * any.pm: Now acpi=ht to prevent HT detection only
-
- * install_steps.pm: fixup last hack
- Now acpi=ht to prevent HT detection only
-
-2003/08/27 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cs.po: updated Czech file
- updated pot file
-
- * share/po/nl.po: updated po file
- updated pot file
-
- * share/po/he.po: updated Hebrew file
- updated pot file
-
- * share/po/sr@Latn.po, share/po/sk.po, share/po/eo.po, share/po/bg.po,
- share/po/zh_TW.po, share/po/sv.po, share/po/sr.po, share/po/ta.po,
- share/po/sl.po, share/po/lt.po, share/po/it.po, share/po/es.po,
- share/po/el.po, share/po/pt_BR.po, share/po/eu.po, share/po/ca.po,
- share/po/ru.po, share/po/pl.po, share/po/id.po, share/po/mt.po,
- share/po/da.po, share/po/lv.po, share/po/ga.po, share/po/be.po,
- share/po/uz@Cyrl.po, share/po/zh_CN.po, share/po/ja.po, share/po/ms.po,
- share/po/is.po, share/po/ko.po, share/po/ar.po, share/po/af.po,
- share/po/fr.po, share/po/de.po, share/po/fi.po, share/po/et.po,
- share/po/gl.po, share/po/tr.po, share/po/bs.po, share/po/tg.po,
- share/po/uz.po, share/po/hr.po, share/po/ro.po, share/po/wa.po,
- share/po/cy.po, share/po/th.po, share/po/vi.po, share/po/DrakX.pot,
- share/po/az.po: updated pot file
-
- * share/po/nb.po: updated Norwegian file
- updated pot file
- updated Norwegian file
-
- * share/po/hu.po: updated Hungarian file
- updated pot file
-
- * share/po/uk.po, share/po/fa.po, share/po/sq.po, share/po/pt.po: updated
- pot file
- updated Farsi, Portuguese, Albanian and Ukrainian files
-
-2003/08/27 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Determine default printer already when reading in the
- queue data,
- this is much faster than running "foomatic-configure" a second time.
-
- * printer/cups.pm: Added lpstat_lpv() function to list remotely defined
- printers with
- description and location.
-
-2003/08/27 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * share/po/fr.po: let draconnect banner fit in french
-
- * standalone/drakconnect: rename vbox2 as param_vbox
- remove useless bbox8 (due to use of std dialog button box)
- get rid of useless/badly named bbox0
- rename combo1 as profile_combo
- - fix hostname setting
- - set hostname at the same time we apply dns changes, that is when one
- ask to apply changes
-
- * drakxtools.spec: 9.2-4mdk
-
- * any.pm, printer/cups.pm: fix pot regeneration at package build time
-
- * harddrake/v4l.pm: resync with current bttv card and tuner lists
-
-2003/08/26 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: current update
-
-2003/08/26 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakfont: fix buttons sensitive behavior
-
-2003/08/26 François Pons <fpons at mandrakesoft.com>
-
- * install2.pm: alias meta_class=discovery with meta_class=desktop
-
- * share/compssUsers: added [selected=default] for all section which needed
- to be selected
- (approximative map of existing packages).
-
- * share/compssUsers.desktop: added [selected=desktop] when needed (same as
- default selection (PowerPack) but
- Gnome is removed).
-
- * install_steps_interactive.pm: drop security level selection for desktop
- user.
- do not ask user for group selection if desktop meta class is used.
-
- * install_any.pm: added default compssUsers group selection from
- compssUser file directly (use
- [selected=...] where ... is a list of comma separated meta_class (or
- default for
- no meta_class or all for all meta_class).
- fixed all radeon card are using 3D for 3D package group.
-
- * share/compssUsers.server: added [selected=server] for groups to be
- selected by default.
-
- * pkgs.pm: get selected list from compssUsers for readCompssUsers.
-
-2003/08/26 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po, share/po/et.po: updated Estonian, Finnish, Hungarian,
- Norwegian and Swedish files
- updated pot file
- updated Estonian, Hungarian and Ukrainian files
-
- * share/po/uk.po: updated pot file
- updated Estonian, Hungarian and Ukrainian files
-
- * share/po/sv.po, share/po/nb.po, share/po/fi.po: updated Estonian,
- Finnish, Hungarian, Norwegian and Swedish files
- updated pot file
-
- * share/po/pt.po: updated Portuguese file
- updated pot file
-
- * share/po/sr@Latn.po, share/po/sk.po, share/po/eo.po, share/po/bg.po,
- share/po/zh_TW.po, share/po/sr.po, share/po/ta.po, share/po/sl.po,
- share/po/lt.po, share/po/it.po, share/po/es.po, share/po/el.po,
- share/po/pt_BR.po, share/po/he.po, share/po/eu.po, share/po/ca.po,
- share/po/ru.po, share/po/pl.po, share/po/id.po, share/po/mt.po,
- share/po/da.po, share/po/lv.po, share/po/ga.po, share/po/be.po,
- share/po/uz@Cyrl.po, share/po/cs.po, share/po/fa.po, share/po/zh_CN.po,
- share/po/ja.po, share/po/ms.po, share/po/is.po, share/po/ko.po,
- share/po/ar.po, share/po/af.po, share/po/nl.po, share/po/fr.po,
- share/po/de.po, share/po/sq.po, share/po/gl.po, share/po/tr.po,
- share/po/bs.po, share/po/tg.po, share/po/uz.po, share/po/hr.po,
- share/po/ro.po, share/po/wa.po, share/po/cy.po, share/po/th.po,
- share/po/vi.po, share/po/DrakX.pot, share/po/az.po: updated pot file
-
- * lang.pm: updated list of available kde-i18n-xx packages
-
- * share/fonts.tar.bz2: updated Nimbus Sans font with more cyrillic glyphs
-
-2003/08/26 Pixel <pixel at mandrakesoft.com>
-
- * any.pm: install "autofs" pkg when using ldap (thanks to Buchan Milne)
-
- * share/po/i18n_compssUsers: adapt to new flag [selected=...]
-
-2003/08/26 Till Kamppeter <till at mandrakesoft.com>
-
- * pixmaps/printer-mdk.png: Updated icon for printerdrake's dialog windows.
-
-2003/08/26 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-3mdk
-
- * standalone/drakconnect: hide profile in "internet config" dialog if
- profiles are disabled
- fix "Internet Connection Configuration" dialog does not show up its
- contents
- rename --gui option as --skip-wizard option on interface team request
- only write conf & install packages on exit (Ok press) if something
- really has been altered so that we do not write the config twice if
- the user already pressed the "apply" button
- - "Configure hostname..." button: offer to configure DNS too
- - (configure_hostname) kill it since it only duplicate code from
- network/*pm
- still more dialogs cleanups
- add --gui in order to start in "mcc" state (aka not in wizard mode)
- more dialog misusage and some indent fixes
- enfore gc style for gtk+2 widgets creation
- more layout fixes: cance/ok order coherency, no VBoxes/HButtonBoxes
- abuses, ...
- (configure_net) Gtk2::Dialog main area is already a vbox, so it's
- useless to pack a vbox there idem for action area and Gtk2::HButtonBox
- (get_intf_status) kill duplicate
- net & lan configuration dialogs: prevent one to do concurrent config
- changes from the gui
- (sensitive_buttons) fix it
- - only allow to run one wizard at once (insensitive button if one is
- already started)
- - reload the configuration once the wizard exited
- - prevent one to do concurrent config changes from the gui while the
- wizard is run (proper fix involve both fix modality/transcientness
- when embedded and running the wizard within the same process instead
- of forking it]
-
- * network/drakfirewall.pm: fix pkg to install for samba
-
-2003/08/26 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakfont: fix buttons sensitive behavior
-
-2003/08/26 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_interactive.pm: drop security level selection for desktop
- user.
- do not ask user for group selection if desktop meta class is used.
-
- * pkgs.pm: get selected list from compssUsers for readCompssUsers.
-
- * share/compssUsers.server: added [selected=server] for groups to be
- selected by default.
-
- * share/compssUsers.desktop: added [selected=desktop] when needed (same as
- default selection (PowerPack) but
- Gnome is removed).
-
- * share/compssUsers: added [selected=default] for all section which needed
- to be selected
- (approximative map of existing packages).
-
- * install_any.pm: added default compssUsers group selection from
- compssUser file directly (use
- [selected=...] where ... is a list of comma separated meta_class (or
- default for
- no meta_class or all for all meta_class).
- fixed all radeon card are using 3D for 3D package group.
-
-2003/08/26 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po, share/po/uk.po, share/po/hu.po: updated Estonian,
- Hungarian and Ukrainian files
-
-2003/08/26 Pixel <pixel at mandrakesoft.com>
-
- * share/po/i18n_compssUsers: adapt to new flag [selected=...]
-
- * any.pm: install "autofs" pkg when using ldap (thanks to Buchan Milne)
-
- * keyboard.pm:
- - don't set XkbCompat to group_led, it's better to use grp_led:scroll
- in
- XkbOptions
- - also set compose:rwin if GRP_TOGGLE is not rwin_toggle. rationale:
- Also, for multilayout keyboards, it would be nice to also
- in XkbOptions "compose:rwin" to define the right windows
- key as the compose key (unless "rwin_toggle" has been
- choosen to toggle the layouts) "compose:rwin" is the
- default when loading a single latin layout, but is lost
- when loading several layouts...
-
- * fs.pm: use fs=ext2:vfat or fs=udf:iso9600 for supermount (it needs
- supermount-ng)
-
-2003/08/26 Till Kamppeter <till at mandrakesoft.com>
-
- * pixmaps/printer-mdk.png: Updated icon for printerdrake's dialog windows.
-
-2003/08/26 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: more last bits for 9.2-2mdk for lord pixel
- 9.2-2mdk
-
- * standalone/drakconnect: still more dialogs cleanups
- add --gui in order to start in "mcc" state (aka not in wizard mode)
- more dialog misusage and some indent fixes
- enfore gc style for gtk+2 widgets creation
- more layout fixes: cance/ok order coherency, no VBoxes/HButtonBoxes
- abuses, ...
- (configure_net) Gtk2::Dialog main area is already a vbox, so it's
- useless to pack a vbox there idem for action area and Gtk2::HButtonBox
- (get_intf_status) kill duplicate
- net & lan configuration dialogs: prevent one to do concurrent config
- changes from the gui
- (sensitive_buttons) fix it
- - only allow to run one wizard at once (insensitive button if one is
- already started)
- - reload the configuration once the wizard exited
- - prevent one to do concurrent config changes from the gui while the
- wizard is run (proper fix involve both fix modality/transcientness
- when embedded and running the wizard within the same process instead
- of forking it]
-
- * modules.pm (add_alias) override current setting when adding an alias
-
- * harddrake/sound.pm, standalone/service_harddrake: while bootstrapping,
- only write /etc/modules.conf only if we really altered it
- (thus preventing depmod to be runned everytime)
-
-2003/08/26 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: get selected list from compssUsers for readCompssUsers.
-
- * install_steps_interactive.pm: drop security level selection for desktop
- user.
- do not ask user for group selection if desktop meta class is used.
-
- * share/compssUsers.server: added [selected=server] for groups to be
- selected by default.
-
- * share/compssUsers: added [selected=default] for all section which needed
- to be selected
- (approximative map of existing packages).
-
- * install_any.pm: added default compssUsers group selection from
- compssUser file directly (use
- [selected=...] where ... is a list of comma separated meta_class (or
- default for
- no meta_class or all for all meta_class).
- fixed all radeon card are using 3D for 3D package group.
-
- * share/compssUsers.desktop: added [selected=desktop] when needed (same as
- default selection (PowerPack) but
- Gnome is removed).
-
-2003/08/26 Pixel <pixel at mandrakesoft.com>
-
- * standalone/diskdrake: do embed WebDAV configuration (fix bug #4703)
-
- * any.pm: install "autofs" pkg when using ldap (thanks to Buchan Milne)
-
- * diskdrake/dav.pm: focus_first on the webdav server field
-
- * keyboard.pm:
- - don't set XkbCompat to group_led, it's better to use grp_led:scroll
- in
- XkbOptions
- - also set compose:rwin if GRP_TOGGLE is not rwin_toggle. rationale:
- Also, for multilayout keyboards, it would be nice to also
- in XkbOptions "compose:rwin" to define the right windows
- key as the compose key (unless "rwin_toggle" has been
- choosen to toggle the layouts) "compose:rwin" is the
- default when loading a single latin layout, but is lost
- when loading several layouts...
-
- * fs.pm: use fs=ext2:vfat or fs=udf:iso9600 for supermount (it needs
- supermount-ng)
-
-2003/08/26 Till Kamppeter <till at mandrakesoft.com>
-
- * pixmaps/printer-mdk.png: Updated icon for printerdrake's dialog windows.
-
-2003/08/26 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: more last bits for 9.2-2mdk for lord pixel
- 9.2-2mdk
-
- * modules.pm (add_alias) override current setting when adding an alias
-
- * standalone/drakconnect: add --gui in order to start in "mcc" state (aka
- not in wizard mode)
- more dialog misusage and some indent fixes
- enfore gc style for gtk+2 widgets creation
- more layout fixes: cance/ok order coherency, no VBoxes/HButtonBoxes
- abuses, ...
- (configure_net) Gtk2::Dialog main area is already a vbox, so it's
- useless to pack a vbox there idem for action area and Gtk2::HButtonBox
- (get_intf_status) kill duplicate
- net & lan configuration dialogs: prevent one to do concurrent config
- changes from the gui
- (sensitive_buttons) fix it
- - only allow to run one wizard at once (insensitive button if one is
- already started)
- - reload the configuration once the wizard exited
- - prevent one to do concurrent config changes from the gui while the
- wizard is run (proper fix involve both fix modality/transcientness
- when embedded and running the wizard within the same process instead
- of forking it]
-
- * harddrake/data.pm: explain data struct
-
- * harddrake/sound.pm, standalone/service_harddrake: while bootstrapping,
- only write /etc/modules.conf only if we really altered it
- (thus preventing depmod to be runned everytime)
-
-2003/08/26 Pixel <pixel at mandrakesoft.com>
-
- * diskdrake/dav.pm: focus_first on the webdav server field
-
- * keyboard.pm:
- - don't set XkbCompat to group_led, it's better to use grp_led:scroll
- in
- XkbOptions
- - also set compose:rwin if GRP_TOGGLE is not rwin_toggle. rationale:
- Also, for multilayout keyboards, it would be nice to also
- in XkbOptions "compose:rwin" to define the right windows
- key as the compose key (unless "rwin_toggle" has been
- choosen to toggle the layouts) "compose:rwin" is the
- default when loading a single latin layout, but is lost
- when loading several layouts...
-
- * any.pm: install "autofs" pkg when using ldap (thanks to Buchan Milne)
-
- * fs.pm: use fs=ext2:vfat or fs=udf:iso9600 for supermount (it needs
- supermount-ng)
-
- * standalone/diskdrake: do embed WebDAV configuration (fix bug #4703)
-
-2003/08/26 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: If an HPOJ-controlled HP MF device on a parallel port
- has an URI with
- model reference (and not port number) tell at least in the menues that
- it is on a parallel port.
-
- * printer/printerdrake.pm: Let names of automatically generated queues not
- contain the word "Series".
-
-2003/08/26 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * modules.pm (add_alias) override current setting when adding an alias
-
- * standalone/service_harddrake, harddrake/sound.pm: while bootstrapping,
- only write /etc/modules.conf only if we really altered it
- (thus preventing depmod to be runned everytime)
-
- * harddrake/data.pm: explain data struct
-
- * drakxtools.spec: more last bits for 9.2-2mdk for lord pixel
- 9.2-2mdk
-
-2003/08/25 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: update
-
-2003/08/25 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/25 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/fa.po: updated po file
- updated pot file
-
- * share/po/uz@Cyrl.po, share/po/id.po, share/po/be.po, share/po/ru.po,
- share/po/ja.po, share/po/he.po, share/po/ga.po, share/po/tr.po,
- share/po/ms.po, share/po/hr.po, share/po/uz.po, share/po/nb.po,
- share/po/ko.po, share/po/es.po, share/po/zh_CN.po, share/po/cy.po,
- share/po/zh_TW.po, share/po/eu.po, share/po/vi.po, share/po/eo.po,
- share/po/tg.po, share/po/sr@Latn.po, share/po/DrakX.pot, share/po/th.po,
- share/po/lt.po, share/po/cs.po, share/po/sr.po, share/po/pt.po,
- share/po/nl.po, share/po/hu.po, share/po/is.po, share/po/fr.po,
- share/po/uk.po, share/po/sv.po, share/po/de.po, share/po/ca.po,
- share/po/bs.po, share/po/et.po, share/po/lv.po, share/po/az.po,
- share/po/it.po, share/po/ro.po, share/po/wa.po, share/po/af.po,
- share/po/pl.po, share/po/sk.po, share/po/pt_BR.po, share/po/mt.po,
- share/po/da.po, share/po/ta.po, share/po/fi.po, share/po/sq.po,
- share/po/el.po, share/po/ar.po, share/po/gl.po, share/po/sl.po,
- share/po/bg.po: updated pot file
-
-2003/08/25 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Distinguish between printers "Configured on this
- machine" and
- "Configured on other machines", not any more "Local Printers" and
- "Remote Printers", so the current dialog is compatible to the new GTK2
- dialog.
- Fixed recognition of installed parallel HPOJ-driven MF devices.
-
- * printer/cups.pm: Distinguish between printers "Configured on this
- machine" and
- "Configured on other machines", not any more "Local Printers" and
- "Remote Printers", so the current dialog is compatible to the new GTK2
- dialog.
-
- * printer/printerdrake.pm: Distinguish between printers "Configured on
- this machine" and
- "Configured on other machines", not any more "Local Printers" and
- "Remote Printers", so the current dialog is compatible to the new GTK2
- dialog.
- - Modularized the function main() to have separate subroutines for
- adding, setting as default, editing, and removing a printer (for new
- main window).
- - Cleaned up the code of the former function main().
- - Re-activated the wizard mode for adding a printer, it works again!
-
-2003/08/25 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakboot: fix drakboot always showing advanced stuff even
- when --expert was not
- passed
-
- * share/po/fr.po: update french translation
-
- * network/netconnect.pm: fix drakconnect not working on console (found by
- poulpy) due to having
- killed pre_func() which used to set a background pixmap in the old
- days, thus the bogus test that went in.
-
- * drakxtools.spec: 9.2-1mdk
-
-2003/08/25 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/25 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakTermServ: Add /etc/modules for local hardware config.
-
-2003/08/25 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Fixed recognition of installed parallel HPOJ-driven MF
- devices.
-
- * printer/detect.pm: Removed use of "parport_probe", we do not need to
- support kernel 2.2.x
- any more.
-
-2003/08/25 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * network/netconnect.pm: fix drakconnect not working on console (found by
- poulpy) due to having
- killed pre_func() which used to set a background pixmap in the old
- days, thus the bogus test that went in.
-
- * standalone/drakfloppy: this tool really is gtk2 ported, so do not trash
- languages not handled
- by gtk+-1.x
-
-2003/08/24 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po, share/po/zh_CN.po, share/po/fa.po, share/po/uk.po,
- share/po/eu.po: updated Basque, Farsi, Hungarian, Ukrainian and Chinese
- files
-
-2003/08/24 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Adapted version mark in HPOJ config files to the
- current HPOJ.
- - Fixed expert/normal mode switch (it will perhaps be removed, but a
- working switch makes the further development easier).
- - Added connectionstr() function which produces a human-readable
- string for the connection type, needed for new main window.
- - Added missing parantheses (there was a warning complaining about
- this).
-
- * printer/printerdrake.pm: Made the HP DeskJet 450 really being recognized
- as a printer needing HPOJ.
- Added HP DeskJet 450 to the models which need HPOJ.
- - Fixed expert/normal mode switch (it will perhaps be removed, but a
- working switch makes the further development easier).
- - Added connectionstr() function which produces a human-readable
- string for the connection type, needed for new main window.
- - Added missing parantheses (there was a warning complaining about
- this).
-
-2003/08/24 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: require a perl-Gtk2 that properly handle perl
- exceptions in gtk+ callbacks
- typo fix
-
-2003/08/23 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated
-
-2003/08/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po, share/po/zh_CN.po, share/po/eu.po: updated pot file
- updated Basque, Hungarian and Chinese files
-
- * share/po/ta.po, share/po/pt_BR.po, share/po/fr.po, share/po/de.po,
- share/po/cy.po, share/po/lv.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/he.po, share/po/cs.po, share/po/fi.po, share/po/ca.po,
- share/po/ms.po, share/po/ja.po, share/po/bs.po, share/po/bg.po,
- share/po/th.po, share/po/mt.po, share/po/el.po, share/po/et.po,
- share/po/wa.po, share/po/pl.po, share/po/fa.po, share/po/uk.po,
- share/po/uz@Cyrl.po, share/po/nl.po, share/po/is.po, share/po/it.po,
- share/po/sq.po, share/po/es.po, share/po/id.po, share/po/ko.po,
- share/po/tr.po, share/po/be.po, share/po/hr.po, share/po/vi.po,
- share/po/sr@Latn.po, share/po/az.po, share/po/ar.po, share/po/nb.po,
- share/po/eo.po, share/po/gl.po, share/po/sl.po, share/po/ru.po,
- share/po/pt.po, share/po/sk.po, share/po/af.po, share/po/tg.po,
- share/po/lt.po, share/po/ga.po, share/po/zh_TW.po, share/po/da.po,
- share/po/ro.po, share/po/uz.po, share/po/sr.po: updated pot file
-
-2003/08/23 Till Kamppeter <till at mandrakesoft.com>
-
- * handle_configs.pm: if_($A, $B) got extremely slow, replaced by ( $A ? $B
- : () ).
-
-2003/08/23 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/08/23 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm: as discussed with david, gc, laurent & pixel early this week,
- since
- gtk+ dialogs are HIG-ed and since most drakxtools' explicit gtk+
- windows follow cancel/ok order for now, let implicit windows (that is
- interactive written ones) follow the same order in standalone mode.
- after release, we'll have to make ugtk2 handle one more abstractions,
- that is taking some buttons callbacks, add buttons that have callbacks
- and pack them in kde or gnome order depending of interface team
- decision or maybe of runtime detection of desktop.
-
- * standalone/icons/non-editable.png: add new icon for drakperm
-
- * standalone/drakperm: rename $treeModel as $model since it really is a
- ListModel, not a
- TreeModel anymore (cosmetic)
- - disable up button when selected rule is the first one
- - disable down button when selected rule is the latest one or when
- next rule is non editable
- always add newly created setting at top of editable settings so that
- we're we can sort them since they're no non editable items between old
- & new editable ones
- once we start to alter settings ordering, we need to save it on exit;
- so just tell it to drakperm
- - fix gtk bug on moving down line
- - merge moving up & down callbacks
- - we do not have a hierarchy, so just use a s/tree/list/
-
- * share/po/fr.po: a few more translations
- translate last remaining non translated languages with google help
-
- * drakxtools.spec: 9.2-0.35mdk
- 9.2-0.34mdk
-
-2003/08/22 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm: typo fix s/succeed/succeeded/
-
-2003/08/22 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: updated Spanish translations
-
-2003/08/22 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: add erwan
-
- * share/po/fr.po: fix titi
-
- * interactive/gtk.pm: fix keyboard browsing in treeviews not always
- centering on
- selected row (workaround gtk2 bug not honouring centering on the
- given row if node was closed by updating ui before requesting the
- scrolling to the cell)
-
-2003/08/22 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nb.po: updated Norwegian file
- updated pot file
-
- * share/po/ru.po: updated Russian file
- updated pot file
-
- * share/po/ta.po, share/po/pt_BR.po, share/po/fr.po, share/po/de.po,
- share/po/cy.po, share/po/lv.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/hu.po, share/po/he.po, share/po/fi.po, share/po/ca.po,
- share/po/ms.po, share/po/ja.po, share/po/bs.po, share/po/zh_CN.po,
- share/po/bg.po, share/po/th.po, share/po/eu.po, share/po/mt.po,
- share/po/el.po, share/po/et.po, share/po/wa.po, share/po/pl.po,
- share/po/fa.po, share/po/uk.po, share/po/uz@Cyrl.po, share/po/nl.po,
- share/po/is.po, share/po/it.po, share/po/sq.po, share/po/es.po,
- share/po/id.po, share/po/ko.po, share/po/tr.po, share/po/be.po,
- share/po/hr.po, share/po/vi.po, share/po/sr@Latn.po, share/po/az.po,
- share/po/ar.po, share/po/eo.po, share/po/gl.po, share/po/sl.po,
- share/po/pt.po, share/po/sk.po, share/po/af.po, share/po/tg.po,
- share/po/lt.po, share/po/ga.po, share/po/zh_TW.po, share/po/da.po,
- share/po/ro.po, share/po/uz.po, share/po/sr.po: updated pot file
-
- * lang.pm: use "Sans" as default font name
-
- * share/po/cs.po: updated po file
- updated pot file
-
-2003/08/22 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: fix crash on file select of "Other"
- finish custom cron configuration - normal users can now do cron backups
-
-2003/08/22 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/detect.pm: Adapted to scli 0.2.12.
-
- * printer/printerdrake.pm, printer/main.pm: Support for the new
- "ptal://..." (two slashes) URIs of the new HPOJ.
-
-2003/08/22 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * interactive/gtk.pm (ask_fromW) split $set_advanced into $set_advanced
- and
- $set_advanced_raw to fix drakconnect "failling" to detect network
- interfaces in standalone mode when in expert mode
-
- * standalone/draksec: translate default value in help tooltips too
- CJK fixes: use newly introduced Gtk2::WrappedLabel package
-
- * network/drakfirewall.pm: offer samba in services list
-
- * standalone/drakperm: renew drakperm gui (interface team feedback):
- - indicate if current setting is editable or not
- - only display current security level, editable settings or both
-
- * ugtk2.pm: CJK fixes: use newly introduced Gtk2::WrappedLabel package
- introduce Gtk2::WrappedLabel to factorize fixed labels for CJK
- languages
- (gtkset_line_wrap) export it
-
- * share/po/fr.po: update french translation
- minor fix (due to ala latex format used in draksec)
- update french translation
- update french translation
- update french translation
- translate draksec main label
-
-2003/08/21 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/adsl.pm:
- - more use info in load_firmware_floppy
- - catch no floppy in drive error
- - catch wizcancel
- - add '-e 1' pppoa option for speedtouch USB
- - N_ instead of N, won't translate twice (guillaume has the greatest
- member)
-
- * network/modem.pm: fix no winmodem message/behavior
-
-2003/08/21 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
- * network/adsl.pm: s/alcatel/Alcatel/
-
- * share/po/zh_CN.po: updated Chinese file
-
- * share/po/fr.po: updated French file
-
- * share/po/cs.po: updated Czech file
-
-2003/08/21 Pixel <pixel at mandrakesoft.com>
-
- * diskdrake/resize_ntfs.pm: display the error returned by ntfsresize (need
- i18n though)
-
- * standalone/draksec: fix english (thanks to Reinout van Schouwen)
-
- * bootloader.pm: have bootsplash also for smp & enterprise kernels
-
- * ugtk2.pm: only access $::o->{mouse}{unsafe} during install
-
- * modules.pm: don't care if insmod'ing ohci1394 fail (bug #1972)
-
-2003/08/21 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm:
- - (gtkset_line_wrap) introduce a Gtk2::Label wrapper for
- set_line_wrap()
- - (create_box_with_title)
- o factorize label creation
- o fix label wrongly wrap cjk languages by enabling its wrapping
- (real bugs is that GtkLabel does not really know its geometry: see
- gtk+ bugs #118045, #118046, #101968 and #104188)
- move ugtk2 related language fixes into ugtk2 jail
-
- * harddrake/sound.pm: typo fixes from Arpad Biro
-
- * standalone.pm: move ugtk2 related language fixes into ugtk2 jail
-
- * standalone/harddrake2: workaround gtk bug #118047
-
-2003/08/21 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated to current pot
-
-2003/08/21 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/modem.pm: fix no winmodem message/behavior
-
- * network/adsl.pm:
- - allow user to copy firmware from a floppy
- - fix 'previous' behavior
- - change wrong url
-
- * share/po/id.po, share/po/af.po, share/po/hr.po, share/po/eo.po,
- share/po/de.po, share/po/ar.po, share/po/zh_TW.po, share/po/nb.po,
- share/po/fr.po, share/po/ko.po, share/po/el.po, share/po/da.po,
- share/po/sr@Latn.po, share/po/lt.po, share/po/eu.po, share/po/nl.po,
- share/po/he.po, share/po/tr.po, share/po/wa.po, share/po/uz@Cyrl.po,
- share/po/ta.po, share/po/pl.po, share/po/az.po, share/po/be.po,
- share/po/mt.po, share/po/uk.po, share/po/hu.po, share/po/uz.po,
- share/po/fa.po, share/po/ja.po, share/po/it.po, share/po/pt.po,
- share/po/ro.po, share/po/sq.po, share/po/sk.po, share/po/ru.po,
- share/po/fi.po, share/po/gl.po, share/po/cs.po, share/po/sv.po,
- share/po/th.po, share/po/es.po, share/po/sl.po, share/po/lv.po,
- share/po/ca.po, share/po/sr.po, share/po/pt_BR.po, share/po/vi.po,
- share/po/tg.po, share/po/cy.po, share/po/zh_CN.po, share/po/bg.po,
- share/po/is.po, share/po/ga.po, share/po/et.po, share/po/bs.po: fix
- firmware url
-
-2003/08/21 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/21 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: use perl-URPM 0.94
- really fixed bad content generated.
- fixed next key block not taken into accound.
-
- * install_any.pm: updated with new perl-URPM 0.94 (simplified code)
- avoid 0 to be dumped in urpmi.cfg :(
- added some log when importing pbukey block and when key id have been
- found.
- make sure other key are added to urpmi.cfg when imported.
-
-2003/08/21 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/pcmcia_/merge_from_pcitable: also display probe.c entries
- that are completely missing from pcitable
-
- * mdk-stage1/pcmcia_/probe.c: 0x1524 0x1411 is a yenta_socket on Asus
- Pundit machine (laurent at pschit.net)
-
- * share/rpmsrate: s/freeciv/freeciv-client/
-
-2003/08/21 keld
-
- * share/po/da.po: updates
- soft/GtkMdkWidgets/po/da.po soft/mdkkdm/po/da.po
- soft/urpmi/po/da.po soft/userdrake2/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/08/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
- updated pot file
-
- * share/po/zh_CN.po: updated Chinese file
- updated pot file
-
- * standalone/drakbackup: fixed English typos
-
- * share/po/fr.po: updated French file
- updated pot file
-
- * share/po/cs.po: updated Czech file
- updated pot file
-
- * standalone/logdrake: Changed back NC() to N() (functionality will be
- merged)
- definition and use of an NC() function (translation with context, kde
- like)
-
- * share/po/id.po, share/po/af.po, share/po/hr.po, share/po/eo.po,
- share/po/de.po, share/po/ar.po, share/po/zh_TW.po, share/po/nb.po,
- share/po/ko.po, share/po/el.po, share/po/da.po, share/po/sr@Latn.po,
- share/po/lt.po, share/po/eu.po, share/po/he.po, share/po/tr.po,
- share/po/wa.po, share/po/uz@Cyrl.po, share/po/ta.po, share/po/pl.po,
- share/po/az.po, share/po/be.po, share/po/mt.po, share/po/uk.po,
- share/po/hu.po, share/po/uz.po, share/po/fa.po, share/po/ja.po,
- share/po/it.po, share/po/pt.po, share/po/ro.po, share/po/sq.po,
- share/po/sk.po, share/po/ru.po, share/po/fi.po, share/po/gl.po,
- share/po/sv.po, share/po/th.po, share/po/es.po, share/po/DrakX.pot,
- share/po/sl.po, share/po/lv.po, share/po/ca.po, share/po/sr.po,
- share/po/pt_BR.po, share/po/vi.po, share/po/tg.po, share/po/ms.po,
- share/po/cy.po, share/po/bg.po, share/po/is.po, share/po/ga.po,
- share/po/et.po, share/po/bs.po: updated pot file
-
- * common.pm: perl_checker complain avout using N(@_) so NC() has been
- rewritten as
- a duplicate of N() plus one line
- definition and use of an NC() function (translation with context, kde
- like)
-
-2003/08/21 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: when umount fails, try killing fam and trying again
-
- * diskdrake/resize_ntfs.pm: display the error returned by ntfsresize (need
- i18n though)
-
- * Xconfig/card.pm: don't propose XF3 when $force_xf4
- fix typo ($::force_xf4 doesn't exist anymore)
-
- * ugtk2.pm: only access $::o->{mouse}{unsafe} during install
-
- * partition_table.pm:
- - fix call to openit()
- - replace *F with $F
-
- * fsedit.pm: simplify
- allocatePartitions() resulted in a small unallocated area at the end of
- the
- drive when:
- - suggest_part() reserves some room for the other partitions which are
- going to
- be added next. For maxsize limited partition, it reserves maxsize (if
- maxsize
- is reached)
- - suggest_part() which adds the last partition limited by maxsize can
- be
- called on a partition a little bigger than maxsize due to cylinder
- boundary
- adjustments on previous partition creations. In that case, it doesn't
- use the
- full area.
- It occured for example with the current $fsedit::suggestions{server}.
- The fix chosen is to ensure the last suggest_part() is called with a
- size
- defined as maxsize <= size < maxsize + cylinder_size.
-
- * modules.pm: don't care if insmod'ing ohci1394 fail (bug #1972)
-
- * standalone/draksec: fix english (thanks to Reinout van Schouwen)
-
- * Xconfig/test.pm: fix typo
- - use $TMPDIR before using $HOME/tmp
- - if $HOME doesn't exist, it will use /tmp which is safe when using
- secured_file()
-
- * common.pm: no need for NC(), doing it in translate() in any case
-
-2003/08/21 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakxtv: only offer to configure xawtv if bttv was configured
- fix warnings with diagnostics pragma
-
- * drakxtools.spec: 9.2-0.33mdk
-
- * ugtk2.pm: move ugtk2 related language fixes into ugtk2 jail
- chinese badly wrap with labels too
- the scrolled text is correctly sized, so do not let it compete with
- the options box and the advanced box for availlable space
-
- * harddrake/sound.pm: typo fixes from Arpad Biro
-
- * standalone.pm: move ugtk2 related language fixes into ugtk2 jail
- set $::o in standalone mode too (because of guillaume fixes for "pango
- vs cjk" match)
-
- * harddrake/v4l.pm: return ok/cancel state
-
-2003/08/21 Pixel <pixel at mandrakesoft.com>
-
- * fsedit.pm: simplify
- allocatePartitions() resulted in a small unallocated area at the end of
- the
- drive when:
- - suggest_part() reserves some room for the other partitions which are
- going to
- be added next. For maxsize limited partition, it reserves maxsize (if
- maxsize
- is reached)
- - suggest_part() which adds the last partition limited by maxsize can
- be
- called on a partition a little bigger than maxsize due to cylinder
- boundary
- adjustments on previous partition creations. In that case, it doesn't
- use the
- full area.
- It occured for example with the current $fsedit::suggestions{server}.
- The fix chosen is to ensure the last suggest_part() is called with a
- size
- defined as maxsize <= size < maxsize + cylinder_size.
-
-2003/08/20 erwan
-
- * share/rpmsrate: Decreasing weight of pbs (pro),
- Increasing weight of ScalablePBS & Maui
-
-2003/08/20 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/20 François Pons <fpons at mandrakesoft.com>
-
- * mouse.pm: added emulate wheel support (a bit hacky though) (bug 3976)
-
- * install_any.pm: added missing require.
- added pubkey and rpmdb key importation.
-
- * Xconfig/parse.pm: fix bug 3976.
-
- * pkgs.pm: added pubkey support for medium.
-
- * share/list: added URPM::Signature module needed to parse pubkey and
- import them to rpmdb.
-
-2003/08/20 gbeauchesne
-
- * tools/x86_64/busybox: Add busybox/amd64 compiled with dietlibc
-
- * c/smp.c: Use x86 smp detection scheme on amd64 instead of the ugly dmesg
- workaround.
-
- * mdk-stage1/pcmcia_/cardmgr.c: Use "%p" specifier as "Base" is likely to
- be an address.
-
- * mdk-stage1/ppp/pppd/sys-linux.c: Use <net/if_arp.h> thusly bypassing
- need for <linux/byteorder/generic.h>
-
- * Makefile: Use busybox in stage2 on AMD64
-
-2003/08/20 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * share/fonts.tar.bz2: re-put etc/fonts/fonts.conf, pablo removed it in
- previous commit, it broke the whole installation program starting up :)
-
- * tools/make_lang_png_transparent.c: this file allows to make an
- antialiased black-on-white png, antialiased black-on-transparent
- it's used for perl-install/pixmaps/langs/lang-*.png
-
- * pixmaps/langs/lang-ve.png, pixmaps/langs/lang-gu.png,
- pixmaps/langs/lang-as.png, pixmaps/langs/lang-se.png,
- pixmaps/langs/lang-mr.png, pixmaps/langs/lang-uz.png,
- pixmaps/langs/lang-xh.png, pixmaps/langs/lang-ne.png,
- pixmaps/langs/lang-ml.png, pixmaps/langs/lang-li.png,
- pixmaps/langs/lang-zu.png, pixmaps/langs/lang-ku.png,
- pixmaps/langs/lang-uz@Cyrl.png, pixmaps/langs/lang-te.png,
- pixmaps/langs/lang-st.png, pixmaps/langs/lang-ss.png: make them
- transparent
-
-2003/08/20 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/tg.po, share/po/da.po, share/po/ro.po, share/po/sv.po,
- share/po/bs.po, share/po/DrakX.pot, share/po/az.po, share/po/uz.po,
- share/po/cs.po, share/po/ar.po, share/po/ko.po, share/po/cy.po,
- share/po/tr.po, share/po/gl.po, share/po/ga.po, share/po/nl.po,
- share/po/ja.po, share/po/eo.po, share/po/wa.po, share/po/sr@Latn.po,
- share/po/sq.po, share/po/be.po, share/po/fr.po, share/po/ta.po,
- share/po/sl.po, share/po/es.po, share/po/fi.po, share/po/hu.po,
- share/po/pl.po, share/po/el.po, share/po/et.po, share/po/eu.po,
- share/po/sk.po, share/po/lv.po, share/po/bg.po, share/po/pt.po,
- share/po/zh_CN.po, share/po/sr.po, share/po/uk.po, share/po/af.po,
- share/po/zh_TW.po, share/po/he.po, share/po/hr.po, share/po/vi.po,
- share/po/id.po, share/po/uz@Cyrl.po, share/po/th.po, share/po/de.po,
- share/po/ru.po, share/po/fa.po, share/po/pt_BR.po, share/po/mt.po,
- share/po/nb.po, share/po/ca.po, share/po/lt.po, share/po/is.po: updated
- pot file
-
- * keyboard.pm, share/keyboards.tar.bz2: Added choice of Irish keyboard;
- updated the Georgian "latin layout" one.
-
- * share/po/it.po: updated pot file
- updated Italian file
-
-2003/08/20 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm, modules.pm, install_steps.pm: load
- detected firewire modules during install
-
- * detect_devices.pm: add firewire_probe() and use it in probeall()
-
- * fsedit.pm, security/l10n.pm: fix english (thanks to Arpad Biro)
-
-2003/08/20 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakTermServ: Text typos - Arpad Biro
-
-2003/08/20 siegel
-
- * share/po/de.po: updates
-
-2003/08/20 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm: standalone wizards: increase height to prevent some hidden or
- cutted
- buttons (some locales and some steps may still be partially hidden)
-
- * standalone/logdrake: annotate load for translators (Arpad Biro)
- only complain if an error really happened
-
- * standalone.pm: frederic crozat said that border is ugly for standalone
- tools.
- so let it be used only by install.
-
- * share/po/fr.po: fix #4787
-
-2003/08/20 Pixel <pixel at mandrakesoft.com>
-
- * detect_devices.pm: add firewire_probe() and use it in probeall()
-
- * modules.pm, install_steps.pm, install_steps_interactive.pm: load
- detected firewire modules during install
-
-2003/08/19 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Partially updated
-
-2003/08/19 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/tools.pm: fix internet reconnection in mcc
-
-2003/08/19 erwan
-
- * share/rpmsrate: Switching to ScalablePBS
-
- * install_any.pm: Fixing Nvidia detection.. Many were missing due to wrong
- regexp
-
-2003/08/19 gbeauchesne
-
- * mdk-stage1/dietlibc/librpc/pmap_getport.c: Gracefully handle IPPROTO_TCP
- in pmap_getport() [PR libc/4943]
-
- * share/list: lib64 fixes. Make sure we grab Gtk2.pm
-
- * mdk-stage1/dietlibc/librpc/xdr.c, mdk-stage1/dietlibc/librpc/clnt_udp.c,
- mdk-stage1/dietlibc/librpc/clnt_tcp.c: 64-bit clean RPC code enough to
- let MDK stage1 do NFS mounts
-
- * mdk-stage1/dietlibc/librpc/xdr_mem.c,
- mdk-stage1/dietlibc/librpc/xdr_rec.c: 64-bit clean RPC code enough to
- let MDK stage1 do NFS mounts
- XDR security fix from glibc [CAN 2003-0028]
-
- * mdk-stage1/dietlibc/lib/htonl.c, mdk-stage1/dietlibc/lib/htons.c,
- mdk-stage1/dietlibc/include/netinet/in.h: Fix htonl() on 64-bit
- platforms
-
- * mdk-stage1/Makefile: Build ppp stuff on AMD64 too
-
- * Xconfig/card.pm, install_steps_gtk.pm: Use xf4 on AMD64 too
-
- * mdk-stage1/ppp/pppd/utils.c: Fix varargs for AMD64
-
- * install_any.pm:
- - Don't care about BIGMEM stuff for IA-64 & AMD64
- - Handle platforms that are only aware of all.img
-
- * partition_table.pm:
- - Merge in AMD64 tree
- - Handle EFI partitions on IA-64
-
- * fsedit.pm: Handle /boot/efi as an EFI partition
-
- * any.pm: Merge from AMD64 branch: lib64 fixes
-
- * mdk-stage1/dietlibc/librpc/xdr_stdio.c: XDR security fix from glibc [CAN
- 2003-0028]
-
- * share/list.ia64, share/list.x86_64: AMD64 updates for 9.2
-
- * mdk-stage1/dietlibc/include/sys/types.h: Really match dietlibc 0.22 for
- <sys/types.h> u_long definition though
- it ought to be uint32_t.
-
- * fs.pm: Handle EFI partitions. umount syscall does not exist on AMD64,
- use umount2
-
-2003/08/19 keld
-
- * share/po/da.po: updates
- soft/rpmdrake/po/da.po gi/perl-install/share/po/da.po
- soft/bootsplash/po/da.po
-
-2003/08/19 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/ro.po, share/po/et.po, share/po/wa.po,
- share/po/nl.po, share/po/ja.po, share/po/uz@Cyrl.po, share/po/el.po,
- share/po/th.po, share/po/be.po, share/po/gl.po, share/po/id.po,
- share/po/bg.po, share/po/uz.po, share/po/af.po, share/po/ru.po,
- share/po/tg.po, share/po/lv.po, share/po/ca.po, share/po/vi.po,
- share/po/ko.po, share/po/bs.po, share/po/is.po, share/po/he.po,
- share/po/lt.po, share/po/ta.po, share/po/sl.po, share/po/fi.po,
- share/po/de.po, share/po/DrakX.pot, share/po/uk.po, share/po/eu.po,
- share/po/ga.po, share/po/tr.po, share/po/mt.po, share/po/cy.po,
- share/po/es.po, share/po/sv.po, share/po/fr.po, share/po/sr.po,
- share/po/zh_TW.po, share/po/da.po, share/po/nb.po, share/po/az.po,
- share/po/pt_BR.po, share/po/eo.po, share/po/sk.po, share/po/pl.po,
- share/po/hr.po, share/po/pt.po, share/po/sq.po, share/po/hu.po,
- share/po/sr@Latn.po, share/po/it.po: updated pot file
-
- * standalone/drakbackup, help.pm: Fixed typos
-
- * share/po/fa.po: updated Farsi file
- updated pot file
-
- * share/po/cs.po, share/po/ar.po: updated Arabic and Czech files
- updated pot file
-
- * share/fonts.tar.bz2: Updated Nimbus Sans L font (some wrong cyrillic
- glyphs fixed by
- Mashrab Kuvatov <kmashrab@uni-bremen.de>)
-
-2003/08/19 Pixel <pixel at mandrakesoft.com>
-
- * modules.pm, standalone/drakxtv, detect_devices.pm, harddrake/data.pm,
- mouse.pm, standalone/draksound: full pci probe does not freeze anymore,
- removing code work-arounding the freeze
-
- * install_steps.pm: add resume=/dev/XXX where /dev/XXX is the swap
- partition (when the swap partition is bigger than ram size)
-
- * standalone/drakpxe: "xxx or xxx" in list context is always bad!
-
- * network/netconnect.pm: perl_checker compliance (revert non usefull titi
- change)
-
- * standalone/drakhelp, standalone/drakperm, standalone/drakautoinst,
- pkgs.pm: perl_checker compliance
-
- * share/po/help_xml2pm.pl: remove debug code
- adapt to new documentation layout
-
- * standalone/adduserdrake: fix any::write_passwd_user() call
-
- * modules/interactive.pm: do translate choices N_("Yes"), N_("No"),
- N_("See hardware info")
- (thanks to Arpad Biro)
- full pci probe does not freeze anymore, removing code work-arounding the
- freeze
-
- * help.pm: new version from XML doc
-
-2003/08/19 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * detect_devices.pm: help perl_checker somewhat
- pci hardware discovery: do full-probe by default
-
- * standalone/logdrake: mark one more string as translatable (spoted by
- Arpad Biro)
- remove unused variable
-
- * ugtk2.pm: remove broken and unused gtkexpand()
-
- * standalone/drakconnect: mark one more string as translatable (spoted by
- Arpad Biro)
- readd LANGUAGE=C
- pablo say that redefining LC_* is useless if LC_ALL is defined as the
- later overrides and take priority over the former
- add perl_checker hint
- (update_intbutt) consolidate internet connection button switch code
- - use real known interface name everywhere not guessed one
- (having eth0 and eth9 would resulting in displaying eth0 & eth1
- before), thus enabling to get rid of get_eth_ip()
- - replace build_list() by update_list() that fix flicker on list
- update: only add/remove added/removed interfaces, just update fields
- for others
-
- * install_steps.pm: fix brown paper bug #4702 ...
-
- * drakxtools.spec: first bits of 9.2-0.32mdk
-
- * interactive/gtk.pm: show advanced options by default if --expert was
- passed or if expect
- checkbox was checked (#4353)
-
- * commands.pm, c/stuff.xs.pl: pci hardware discovery: do full-probe by
- default
-
- * standalone/drakfloppy: translate one more string (already translated as
- this is a double)
-
-2003/08/18 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated with current pot
-
-2003/08/18 keld
-
- * share/po/da.po: Updates
- soft/menu-messages/da.po soft/userdrake2/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/08/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/hu.po, share/po/it.po: updated pot file
- updated pot file
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/zh_CN.po, share/po/ro.po, share/po/cs.po, share/po/wa.po,
- share/po/nl.po, share/po/ja.po, share/po/uz@Cyrl.po, share/po/el.po,
- share/po/th.po, share/po/be.po, share/po/gl.po, share/po/bg.po,
- share/po/uz.po, share/po/af.po, share/po/ru.po, share/po/tg.po,
- share/po/lv.po, share/po/ca.po, share/po/vi.po, share/po/ar.po,
- share/po/ko.po, share/po/bs.po, share/po/is.po, share/po/he.po,
- share/po/lt.po, share/po/ta.po, share/po/sl.po, share/po/fi.po,
- share/po/fa.po, share/po/de.po, share/po/DrakX.pot, share/po/uk.po,
- share/po/eu.po, share/po/ga.po, share/po/tr.po, share/po/mt.po,
- share/po/cy.po, share/po/es.po, share/po/sv.po, share/po/fr.po,
- share/po/sr.po, share/po/zh_TW.po, share/po/az.po, share/po/nb.po,
- share/po/pt_BR.po, share/po/eo.po, share/po/sk.po, share/po/hr.po,
- share/po/pl.po, share/po/pt.po, share/po/sq.po, share/po/sr@Latn.po:
- updated pot file
-
- * share/po/da.po: updated Danish file
- updated pot file
-
-2003/08/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: typo fix
-
- * drakxtools.spec: 9.2-0.31mdk (aka do not forget about killing poulpy)
- 9.2-0.30mdk
-
-2003/08/18 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: updated
-
-2003/08/18 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect:
- - fix up/down interface detection
- - do not wipe out IP and NETMASK when "No ip" is filled in
- - fix typo
-
-2003/08/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/cs.po, share/po/nb.po, share/po/uz@Cyrl.po,
- share/po/uz.po: updated Czech, Indonesian, Norwegian and Uzbek files
-
- * standalone/drakTermServ: splitted too big text into smaller chunks for
- translators
-
-2003/08/18 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: progess -> progress typo
-
-2003/08/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: typo fix
- (configure_lan) fix crash on interface enabling/disabling
- (get_intf_status) factorize translations and use upcase initale
- better message when no ip (aka interface down or broken)
-
- * network/netconnect.pm, network/isdn.pm, network/modem.pm: fix some
- previous callback in drakconnect wizard mode
-
- * standalone/drakfloppy: perl_checker fixes
- sort modules and directories in treeview
- - fix long-standing broken mkbootdisk call bug
- - btw fix the passing of mkinirtd arguments to mkbootdisk
- - save the modules list on exit and restore it on load
- - simplify modules list managment btw
- - consolidate some code in get_file_size()
- try to be more user friendly:
- - if no error, display a success message, then exit
- - on error, instead of displaying the raw exit code that has no
- meaning for
- the end user, display in red the log message of mkbootdisk
- - remove insane expert button and so called expert frame
- make testing mode usefull for debugging drakfloppy
-
- * .perl_checker:
- - we do not use anymore perl-GTK
- - let be able to parse ugtk2
-
- * standalone/harddrake2: display the right information when no selected
- device
- use new create_dialog api to get better modal dialogs
-
- * ugtk2.pm (_create_dialog, create_dialog) let support the same api as
- new() and
- threat transient option
- (info_dialog) introduce another dialog helper
- kill buggy and no more used gtkbuttonset()
-
-2003/08/17 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect: allow hostname change in mcc
- perl_checker
-
-2003/08/17 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
- updated Farsi and Hungarian files
-
- * share/po/sk.po, share/po/es.po: updated Hungarian file
-
- * share/po/sv.po: updated Swedish file
-
- * share/po/fa.po: updated Farsi and Hungarian files
-
-2003/08/17 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/08/16 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
- updated Bulgarian, Estonian, Basque, Hungarian, Albanian, Uzbek and
- Chinese
-
- * share/po/et.po, share/po/bg.po, share/po/sq.po, share/po/zh_CN.po,
- share/po/eu.po, share/po/uz@Cyrl.po, share/po/uz.po: updated Bulgarian,
- Estonian, Basque, Hungarian, Albanian, Uzbek and Chinese
-
-2003/08/15 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sq.po, share/po/lv.po, share/po/hu.po, share/po/eo.po,
- share/po/cs.po, share/po/uz@Cyrl.po, share/po/sr@Latn.po,
- share/po/uz.po, share/po/af.po, share/po/ga.po, share/po/id.po,
- share/po/tg.po, share/po/sl.po, share/po/da.po, share/po/th.po,
- share/po/hr.po, share/po/uk.po, share/po/ko.po, share/po/mt.po,
- share/po/lt.po, share/po/bs.po, share/po/wa.po, share/po/sr.po,
- share/po/nl.po, share/po/de.po, share/po/fi.po, share/po/ro.po,
- share/po/he.po, share/po/tr.po, share/po/bg.po, share/po/fr.po,
- share/po/zh_TW.po, share/po/DrakX.pot, share/po/es.po, share/po/cy.po,
- share/po/it.po, share/po/pt.po, share/po/zh_CN.po, share/po/pt_BR.po,
- share/po/sv.po, share/po/ru.po, share/po/is.po, share/po/ja.po,
- share/po/be.po, share/po/ta.po, share/po/fa.po, share/po/el.po,
- share/po/vi.po, share/po/et.po, share/po/sk.po, share/po/pl.po,
- share/po/ar.po, share/po/ca.po, share/po/nb.po, share/po/eu.po,
- share/po/gl.po, share/po/az.po: updated pot file
-
-2003/08/14 keld
-
- * share/po/da.po: update
- gi/perl-install/share/po/da.po
- updates
- soft/drakcronat/po/da.po soft/rpmdrake/po/da.po
- soft/urpmi/po/da.po gi/perl-install/share/po/da.po
- Updates
- po/po/da.po gi/perl-install/share/po/da.po
-
-2003/08/14 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/bg.po, share/po/nb.po: updated Bulgarian and Norwegian files
- updated Turkish file
-
- * share/po/sq.po, share/po/lv.po, share/po/hu.po, share/po/eo.po,
- share/po/cs.po, share/po/uz@Cyrl.po, share/po/sr@Latn.po,
- share/po/uz.po, share/po/af.po, share/po/ga.po, share/po/id.po,
- share/po/tg.po, share/po/sl.po, share/po/da.po, share/po/th.po,
- share/po/hr.po, share/po/uk.po, share/po/ko.po, share/po/mt.po,
- share/po/lt.po, share/po/bs.po, share/po/wa.po, share/po/sr.po,
- share/po/de.po, share/po/fi.po, share/po/ro.po, share/po/he.po,
- share/po/tr.po, share/po/fr.po, share/po/zh_TW.po, share/po/DrakX.pot,
- share/po/es.po, share/po/cy.po, share/po/it.po, share/po/pt.po,
- share/po/zh_CN.po, share/po/pt_BR.po, share/po/sv.po, share/po/ru.po,
- share/po/is.po, share/po/ja.po, share/po/be.po, share/po/ta.po,
- share/po/fa.po, share/po/el.po, share/po/vi.po, share/po/et.po,
- share/po/sk.po, share/po/pl.po, share/po/ar.po, share/po/ca.po,
- share/po/eu.po, share/po/gl.po, share/po/az.po: updated Turkish file
-
- * share/po/nl.po: updated Dutch file
- updated Turkish file
-
-2003/08/14 Pixel <pixel at mandrakesoft.com>
-
- * c/stuff.xs.pl: in floppy_info(), check ioctl success and use
- FDPOLLDRVSTAT (copied from kudzu code)
-
-2003/08/14 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: start user definable crontab entry - sorry
- translators, new strings :(
-
-2003/08/14 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cy.po, share/po/zh_TW.po, share/po/eo.po, share/po/eu.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/be.po, share/po/et.po,
- share/po/pl.po, share/po/tr.po, share/po/ca.po, share/po/uk.po,
- share/po/it.po, share/po/is.po, share/po/th.po, share/po/mt.po,
- share/po/id.po, share/po/fi.po, share/po/el.po, share/po/wa.po,
- share/po/lt.po, share/po/ar.po, share/po/bg.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/nl.po, share/po/pt.po, share/po/fa.po,
- share/po/sl.po, share/po/de.po, share/po/uz@Cyrl.po, share/po/ja.po,
- share/po/sr@Latn.po, share/po/he.po, share/po/hr.po, share/po/gl.po,
- share/po/nb.po, share/po/da.po, share/po/fr.po, share/po/cs.po,
- share/po/bs.po, share/po/sk.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sq.po, share/po/hu.po, share/po/ga.po, share/po/tg.po,
- share/po/ta.po, share/po/sr.po, share/po/ko.po, share/po/ro.po,
- share/po/es.po, share/po/uz.po, share/po/az.po, share/po/af.po,
- share/po/lv.po: updated Turkish file
-
-2003/08/14 Pixel <pixel at mandrakesoft.com>
-
- * c/stuff.xs.pl: in floppy_info(), check ioctl success and use
- FDPOLLDRVSTAT (copied from kudzu code)
-
-2003/08/14 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: start user definable crontab entry - sorry
- translators, new strings :(
-
-2003/08/13 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect: fix mcc lan changes (fix at least #4088)
-
-2003/08/13 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/13 François Pons <fpons at mandrakesoft.com>
-
- * rescue/list.i386: updated with xfs_progs.
-
- * pkgs.pm: added log for checking deselection (check deadlock unless gtk
- are doing them).
- workaround for rpmdb problems of opening Conflictname and Triggername
- files.
-
- * share/list.i386: updated with newer xfs_progs.
-
- * standalone/drakpxe: fixed to match new pxe dhcp.conf configuration file.
-
- * install_any.pm: fixed to build an inflexion point in list file (so that
- urpmi can found it).
- generate a list file if a macro is used (and only in this case).
- fixed with_hdlist possibly incorrect.
- added tiny support for arch dependant directory.
-
-2003/08/13 gbeauchesne
-
- * Makefile: Use bash in stage2 on IA-64
-
- * mdk-stage1/Makefile: Fix merge from amd64-branch
-
- * rescue/list.x86_64, rescue/list: Merge with amd64-branch (rpm libdir is
- always /usr/lib/rpm, update lists)
-
-2003/08/13 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * share/po/cy.po, share/po/zh_TW.po, share/po/eo.po,
- install_steps_interactive.pm, share/po/eu.po, share/po/zh_CN.po,
- share/po/vi.po, share/po/be.po, standalone/drakbackup, share/po/et.po,
- share/po/pl.po, share/po/tr.po, share/po/ca.po, share/po/uk.po,
- share/po/it.po, share/po/is.po, share/po/th.po, share/po/mt.po,
- share/po/id.po, share/po/fi.po, share/po/el.po, share/po/wa.po,
- share/po/lt.po, share/po/ar.po, share/po/bg.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/nl.po, share/po/pt.po, share/po/fa.po,
- share/po/sl.po, share/po/br.po, share/po/de.po, share/po/uz@Cyrl.po,
- share/po/ja.po, share/po/sr@Latn.po, share/po/he.po, share/po/hr.po,
- share/po/gl.po, share/po/nb.po, share/po/da.po, share/po/fr.po,
- share/po/cs.po, share/po/bs.po, share/po/sk.po, share/po/sv.po,
- share/po/sq.po, share/po/hu.po, share/po/ga.po, share/po/tg.po,
- share/po/ta.po, share/po/sr.po, share/po/ko.po, share/po/ro.po,
- share/po/es.po, standalone/drakboot, share/po/uz.po, share/po/az.po,
- share/po/af.po, share/po/lv.po: some english typo fixes thx to Arpad
- Biro
-
- * mdk-stage1/probing.c: full pci probe can't be run with fopen/fread
- because we might read too many bytes. this was the reason for freezes on
- some boxes from drakx, that may impact stage1 also, so better change
- that.
-
-2003/08/13 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * keyboard.pm: corrected typo
-
- * share/po/cy.po, share/po/zh_TW.po, share/po/eo.po, share/po/eu.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/be.po, share/po/et.po,
- share/po/pl.po, share/po/tr.po, share/po/ca.po, share/po/uk.po,
- share/po/it.po, share/po/is.po, share/po/th.po, share/po/mt.po,
- share/po/id.po, share/po/fi.po, share/po/el.po, share/po/wa.po,
- share/po/lt.po, share/po/ar.po, share/po/bg.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/nl.po, share/po/pt.po, share/po/fa.po,
- share/po/sl.po, share/po/de.po, share/po/uz@Cyrl.po, share/po/ja.po,
- share/po/sr@Latn.po, share/po/he.po, share/po/hr.po, share/po/gl.po,
- share/po/nb.po, share/po/da.po, share/po/fr.po, share/po/cs.po,
- share/po/bs.po, share/po/sk.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sq.po, share/po/hu.po, share/po/ga.po, share/po/tg.po,
- share/po/ta.po, share/po/sr.po, share/po/ko.po, share/po/ro.po,
- share/po/es.po, share/po/uz.po, share/po/az.po, share/po/af.po,
- share/po/lv.po: updated pot file
- updated pot file
-
- * harddrake/sound.pm: fixed typo
-
-2003/08/12 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * drakxtools.spec: drakxtools depends on gurpmi (do_pkgs->install for
- example)
-
-2003/08/12 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/he.po: updated Hebrew file
-
- * share/po/cs.po: updated Czech file
- updated Czech file
-
-2003/08/12 Pixel <pixel at mandrakesoft.com>
-
- * share/gen_locales.sh: by the way, gen_locales.sh makes an error because
- /usr/X11R6/lib/X11/locale/common doesn't exist anymore. It used to
- contain
- ximcp.so.2 xlcDef.so.2 xlcUTF8Load.so.2
- xlibi18n.so.2 xlocale.so.2 xomGeneric.so.2
- in mdk9.0, but mdk9.1 install was without it and it was ok...
-
- * diskdrake/smbnfs_gtk.pm: do pop the "do you want to install samba?"
- (otherwise when cancel is pressed,
- drakconf thinks the install exited abnormally since no window was
- embedded
- whereas "diskdrake --smb" is normally embedded)
-
- * lang.pm: > During the installation when one chooses Uzbek (latin) as a
- language the next
- > installation stage comes in English. However, DrakX creates
- > /usr/share/locale_special/uz/LC_MESSAGES/libDrakX.mo and
- > /usr/share/locale/uz/LC_* files.
- this comes from during_install__l2charset() returning UNICODE which is
- not recognised.
-
-2003/08/12 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: medias -> media
- Mb -> MB [Bug 4381]
-
-2003/08/11 François Pons <fpons at mandrakesoft.com>
-
- * share/rpmsrate: added bash-completion in TERMINALS section.
-
-2003/08/11 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cy.po, share/po/zh_TW.po, share/po/eo.po, share/po/eu.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/be.po, share/po/pl.po,
- share/po/tr.po, share/po/ca.po, share/po/uk.po, share/po/it.po,
- share/po/is.po, share/po/th.po, share/po/mt.po, share/po/id.po,
- share/po/fi.po, share/po/el.po, share/po/wa.po, share/po/lt.po,
- share/po/ar.po, share/po/bg.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/nl.po, share/po/pt.po, share/po/fa.po, share/po/sl.po,
- share/po/de.po, share/po/uz@Cyrl.po, share/po/ja.po,
- share/po/sr@Latn.po, share/po/he.po, share/po/hr.po, share/po/gl.po,
- share/po/da.po, share/po/fr.po, share/po/cs.po, share/po/bs.po,
- share/po/sk.po, share/po/DrakX.pot, share/po/sv.po, share/po/sq.po,
- share/po/ga.po, share/po/tg.po, share/po/ta.po, share/po/sr.po,
- share/po/ko.po, share/po/ro.po, share/po/es.po, share/po/uz.po,
- share/po/az.po, share/po/af.po, share/po/lv.po: updated pot file
-
- * share/po/et.po, share/po/nb.po, share/po/hu.po: updated Estonian,
- Hungarian and Norvegian files
- updated pot file
-
-2003/08/11 Pixel <pixel at mandrakesoft.com>
-
- * standalone/XFdrake: more newbie-friendly message:
- "You need to log out and back in again for changes to take effect"
- instead of "Please relog into %s to activate the changes"
- (as suggested on cooker, thanks!)
-
- * install2.pm: when any::setupBootloader_simple() fail, use
- any::setupBootloader() afterwards
-
- * install_steps_interactive.pm: when any::setupBootloader_simple() fail,
- use any::setupBootloader() afterwards
- perl_checker compliance
-
- * .perl_checker: why were c, pkgs and URPM::Resolve excluded? i don't
- know, but that's much
- better when perl_checker can see them
-
- * security/msec.pm, ugtk2.pm, scanner.pm, security/l10n.pm,
- install_gtk.pm, services.pm: perl_checker compliance
-
- * lvm.pm: fix typo (fix bug #4239)
-
- * bootloader.pm: perl_checker compliance
- sanitize_ver() can fail and return ''
-
-2003/08/11 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Search for files to restore.
- Fix looping signal_connect in catalog restore.
- GUI fixes - Fabrice FACORAT.
-
-2003/08/10 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/bg.po: updated Bulgarian file
-
-2003/08/10 Pixel <pixel at mandrakesoft.com>
-
- * install_any.pm, install_steps_interactive.pm, standalone/adduserdrake,
- any.pm: use $::prefix instead of passing $prefix to functions
-
- * install_steps.pm: use $::prefix instead of passing $prefix to functions
- since we wrote the password in /etc/passwd, we must convert to shadow
-
- * interactive/gtk.pm, diskdrake/hd_gtk.pm: use
- Gtk2::Button->new_with_label instead of Gtk2::Button->new for some
- widgets otherwise underscores become underlines (bug #4678)
-
- * network/netconnect.pm: perl_checker compliance
- replace "Press \"Forward\" to continue" with "Press \"%s\" to continue"
- (bug #4564)
-
-2003/08/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
- * share/po/fa.po: updated Farsi file
-
-2003/08/08 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: add gtkset_alignment
-
-2003/08/08 keld
-
- * share/po/da.po: Updates
- soft/control-center/po/da.po soft/ftw/po/da.po
- soft/mdkhtmlbrowser/po/da.po soft/rpmdrake/po/da.po
- soft/urpmi/po/da.po soft/userdrake2/po/da.po
- gi/perl-install/share/po/da.po
-
-2003/08/08 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cy.po, share/po/zh_TW.po, share/po/eo.po, share/po/eu.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/be.po, share/po/pl.po,
- share/po/tr.po, share/po/ca.po, share/po/uk.po, share/po/it.po,
- share/po/is.po, share/po/th.po, share/po/mt.po, share/po/id.po,
- share/po/fi.po, share/po/el.po, share/po/wa.po, share/po/lt.po,
- share/po/ar.po, share/po/bg.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/nl.po, share/po/pt.po, share/po/fa.po, share/po/sl.po,
- share/po/de.po, share/po/uz@Cyrl.po, share/po/ja.po,
- share/po/sr@Latn.po, share/po/he.po, share/po/hr.po, share/po/gl.po,
- share/po/nb.po, share/po/da.po, share/po/fr.po, share/po/cs.po,
- share/po/bs.po, share/po/sk.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/hu.po, share/po/ga.po, share/po/tg.po, share/po/ta.po,
- share/po/sr.po, share/po/ko.po, share/po/ro.po, share/po/es.po,
- share/po/uz.po, share/po/az.po, share/po/af.po, share/po/lv.po: updated
- pot file
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/sq.po: updated Albanian file
- updated pot file
-
-2003/08/07 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/07 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po: updated Hebrew and Swedish files
-
- * share/po/de.po: Small fix (too long string)
-
- * share/po/he.po: updated Hebrew file
- updated Hebrew and Swedish files
-
-2003/08/07 Pixel <pixel at mandrakesoft.com>
-
- * drakxtools.spec:
- - drakxservices: xinetd services have a special treatment
- - localedrake: fix the "zh_TW with country China" case
- - no more stock icons
-
-2003/08/07 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Fix removed users code (thanks gc). Enable
- .backupignore.
- Clean up spastic progress bar. Add more info in "View Config"
- Deal with users that are deleted from the system [Bug 4541].
-
-2003/08/07 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po, share/po/he.po: updated Hebrew and Swedish files
-
-2003/08/06 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Update (partially)
-
-2003/08/06 David Baudens <baudens at mandrakesoft.com>
-
- * standalone/drakfloppy: Use capital letter when needed
-
-2003/08/06 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2003/08/06 Pixel <pixel at mandrakesoft.com>
-
- * any.pm: try to restore the MBR using "lilo -u" for users not liking the
- default
- bootloader automatic configuration (eg: bug #4415)
-
- * services.pm: in drakxservices, display differently services handled by
- xinetd (bug #4516)
- create services_raw() which returns all the info out of "chkconfig
- --list"
- perl_checker compliance
-
-2003/08/05 François Pons <fpons at mandrakesoft.com>
-
- * install2.pm: added discovery and download meta_class facility in VERSION
- file.
-
- * pkgs.pm: checking transaction allow ordering them ;-)
- make default size of transaction to 13 (?) and avoid rpm ordering which
- seems
- nasty at present (missing configuration read ?).
-
-2003/08/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: ghanese ppl don't talk french!?
-
-2003/08/05 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * keyboard.pm: Turkish "F" keyboard was unavailable due to a typo
-
- * share/po/sk.po, share/po/it.po: updated Italian file
-
-2003/08/05 Pixel <pixel at mandrakesoft.com>
-
- * ugtk2.pm: do not invert Ok/Cancel for mdk 9.2 (per IHM team request)
- remove stock icons (per IHM team request)
-
- * any.pm: fix an old typo
-
- * standalone/drakbackup, standalone/drakfloppy, standalone/logdrake,
- diskdrake/hd_gtk.pm, standalone/harddrake2, standalone/drakgw,
- standalone/drakperm, standalone/draksec,
- Xconfig/resolution_and_depth.pm, standalone/mousedrake, Xconfig/main.pm,
- interactive/gtk.pm, standalone/drakboot, standalone/net_monitor,
- services.pm, standalone/drakbug, standalone/drakfont,
- standalone/drakconnect: remove stock icons (per IHM team request)
-
- * lang.pm:
- - fix system_locales_to_ourlocale() returning { lang => 'zh' } for
- $locale_lang == 'zn_CN.UTF8'
- - in standard_locale, return zh_TW instead of zh_CN for lang=zh_TW
- country=CN
- - cleanup standard_locale
-
- * install_any.pm: add flag UTF8 for rpmsrate
-
-2003/08/05 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: checking transaction allow ordering them ;-)
- make default size of transaction to 13 (?) and avoid rpm ordering which
- seems
- nasty at present (missing configuration read ?).
- fixed ordering of packages.
- fixed otherOnly for package selection not correctly updated (according
- to
- changes in perl-URPM).
-
- * install2.pm: added discovery and download meta_class facility in VERSION
- file.
-
-2003/08/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * drakxtools.spec: commit titi's requested typos changes
-
- * ftp.pm: revert my bad change
-
-2003/08/05 Pixel <pixel at mandrakesoft.com>
-
- * ugtk2.pm: do not invert Ok/Cancel for mdk 9.2 (per IHM team request)
- remove stock icons (per IHM team request)
-
- * interactive/gtk.pm, standalone/mousedrake, standalone/drakconnect,
- standalone/draksec, standalone/drakperm, diskdrake/hd_gtk.pm,
- standalone/net_monitor, standalone/drakbackup, standalone/harddrake2,
- standalone/drakgw, standalone/drakbug, standalone/drakboot,
- Xconfig/resolution_and_depth.pm, Xconfig/main.pm, standalone/logdrake,
- standalone/drakfloppy, services.pm, standalone/drakfont: remove stock
- icons (per IHM team request)
-
-2003/08/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * drakxtools.spec: commit titi's requested typos changes
-
-2003/08/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * drakxtools.spec: commit titi's requested typos changes
-
-2003/08/04 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/08/04 François Pons <fpons at mandrakesoft.com>
-
- * pkgs.pm: added log.
- updated with newer perl-URPM
-
-2003/08/04 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ftp.pm: don't have two / in the urpmi url or it seems it causes problems
- for some people (some ftp servers? wget/curl? proxy? no sé..)
-
- * drakxtools.spec: 9.2-0.27mdk
-
- * ugtk2.pm: fix not possible to select with mouse anymore (rpmdrake etc)
- revert "use checkboxes instead of icons"
-
-2003/08/04 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sr.po, share/po/sq.po, share/po/mt.po, share/po/sr@Latn.po,
- share/po/nb.po, share/po/hr.po, share/po/be.po, share/po/sv.po,
- share/po/vi.po, share/po/fi.po, share/po/ru.po, share/po/eo.po,
- share/po/sl.po, share/po/el.po, share/po/bg.po, share/po/gl.po,
- share/po/DrakX.pot, share/po/az.po, share/po/bs.po, share/po/eu.po,
- share/po/pt.po, share/po/zh_TW.po, share/po/tr.po, share/po/sk.po,
- share/po/ar.po, share/po/it.po, share/po/af.po, share/po/ga.po,
- share/po/da.po, share/po/ta.po, share/po/lt.po, share/po/id.po,
- share/po/ko.po, share/po/cy.po, share/po/is.po, share/po/tg.po,
- share/po/fa.po, share/po/uz@Cyrl.po, share/po/pt_BR.po, share/po/pl.po,
- share/po/nl.po, share/po/lv.po, share/po/cs.po, share/po/th.po,
- share/po/ca.po, share/po/ro.po, share/po/ja.po, share/po/zh_CN.po,
- share/po/es.po, share/po/uz.po, share/po/hu.po, share/po/wa.po,
- share/po/fr.po, share/po/de.po: updated pot file
-
- * share/po/he.po: updated Hebrew file
- updated pot file
-
- * share/po/et.po: updated Estonian file
- updated pot file
-
- * share/po/uk.po: updated Ukrainian file
- updated pot file
-
- * keyboard.pm: removed bad keyboard from list for Swedish;
-
- * lang.pm: removed 'xh_ZA' in double in @locales
- updated list of available locales
-
-2003/08/04 Pixel <pixel at mandrakesoft.com>
-
- * any.pm: fix ask_window_manager_to_logout for gnome
-
- * ugtk2.pm: don't export destroy_window(), this function doesn't exist!
- (thanks to perl_checker)
- perl_checker compliance
- disable selecting text and popping the contextual menu
- (GUI team says it's *horrible* to be able to do select text!)
-
- * drakxtools.spec: gc: commit pixel's 9.2-0.26mdk changelog diff (pixel
- sux)
-
-2003/08/04 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/08/04 Warly <warly at mandrakesoft.com>
-
- * share/logo-mandrake.png: Add new cooker logo for installation
-
-2003/08/03 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/fa.po: Added Farsi file
-
-2003/08/03 Pixel <pixel at mandrakesoft.com>
-
- * bootloader.pm: don't overwrite $o->{bootloader}{method} (much nicer for
- auto_installs)
-
- * install_steps_interactive.pm: more complete name for the setRootPassword
- step: "Set root password and
- network authentication methods" instead of simply "Set root password"
-
- * interactive/gtk.pm: OptionMenus do not have an horizontal scroll-bar.
- This can cause havoc for
- long strings. So use combo box as we used to do in those cases
- (eg: diskdrake Create dialog box in expert mode) (bug #4484)
-
- * rescue/make_rescue_img: fix /sbin/insmod /sbin/rmmod and /sbin/lsmod
- which were dead symlinks
- (to /etc/alternatives/something)
-
- * rescue/guessmounts:
- - copy /etc/mtab to /mnt/etc/mtab to have a nice chrooted "mount" or
- "df"
- - some perl_checker compliance
-
-2003/08/03 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Tool tips.
-
-2003/08/02 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
-2003/08/01 Pixel <pixel at mandrakesoft.com>
-
- * install2.pm, install_steps.pm, network/smb.pm,
- install_steps_interactive.pm:
- - move write_smb_conf() from install_any to network::smb
- - rename setAuthentication() to set_authentication()
- - move the work of set_authentication() from install_any to any
- - move the per-authentification kind questions from
- install_steps_interactive::setRootPassword() to
- any::ask_authentification_parameters()
- - various cleanup in code prompting authentification questions
- - call install_any::set_authentication() in
- install_steps::setRootPassword()
- instead of waiting for the installPackages step to be done
- (since setRootPassword occurs *after* packages installation)
- - don't call set_authentification() in install_steps::addUser()
- (why was this done there??)
- => these changes will allow drakauth
-
- * drakxtools.spec: re-adding with -kb
- add drakauth
-
- * Xconfig/xfreeX.pm, Xconfig/parse.pm, Xconfig/xfree4.pm,
- Xconfig/xfree3.pm: => do as Chris Picton suggested
- Chris Picton said (nearly one year ago :-/) :
- I have found the need for many low res screen resolutions for such
- thingas as movie playing, xmame, etc.
-
- The method XFdrake uses to enable modes is to enumerate each mode in the
- XF86Config file. For example (a newly created file):
-
- Subsection "Display"
- Depth 24
- Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480"
- EndSubsection
-
- It would be better (at least under XFree 4, which automatically provides
- resoltions from the monitor, if it is capable), to not limit the modes
- provided to the user
-
- If I use instead, the following:
-
- Subsection "Display"
- Depth 24
- Virtual 1280 960
- EndSubsection
-
- My maximum mode is exactly the same as before, but I have many more low
- resolution modes.
-
- * any.pm, install_any.pm:
- - move write_smb_conf() from install_any to network::smb
- - rename setAuthentication() to set_authentication()
- - move the work of set_authentication() from install_any to any
- - move the per-authentification kind questions from
- install_steps_interactive::setRootPassword() to
- any::ask_authentification_parameters()
- - various cleanup in code prompting authentification questions
- - call install_any::set_authentication() in
- install_steps::setRootPassword()
- instead of waiting for the installPackages step to be done
- (since setRootPassword occurs *after* packages installation)
- - don't call set_authentification() in install_steps::addUser()
- (why was this done there??)
- => these changes will allow drakauth
- use $::prefix
-
- * standalone/drakauth, Makefile.config: add drakauth
-
- * pixmaps/langs/lang-ku.png, pixmaps/langs/lang-uz@Cyrl.png,
- pixmaps/langs/lang-gu.png, pixmaps/langs/lang-zu.png,
- pixmaps/langs/lang-sr@Latn.png, pixmaps/langs/lang-ne.png,
- pixmaps/langs/lang-se.png, pixmaps/langs/lang-xh.png,
- pixmaps/langs/lang-as.png, pixmaps/langs/lang-st.png,
- pixmaps/langs/lang-li.png, pixmaps/langs/lang-ss.png,
- pixmaps/langs/lang-ve.png, pixmaps/langs/lang-ml.png: re-adding with -kb
- removing for re-adding with -kb
-
-2003/08/01 Frederic Crozat <fcrozat at mandrakesoft.com>
-
- * share/rpmsrate: Add gnome calculator and charmap
-
-2003/08/01 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_CN.po: updated Chinese file
-
- * lang.pm: Added some more languages to the list;
- defined kde fonts for some languages
-
- * pixmaps/langs/lang-zu.png, pixmaps/langs/lang-te.png,
- pixmaps/langs/lang-mr.png, pixmaps/langs/lang-uz@Cyrl.png,
- pixmaps/langs/lang-ss.png, pixmaps/langs/lang-xh.png,
- pixmaps/langs/lang-sr@Latn.png, pixmaps/langs/lang-se.png,
- pixmaps/langs/lang-ku.png, pixmaps/langs/lang-ml.png,
- pixmaps/langs/lang-ne.png, pixmaps/langs/lang-as.png,
- pixmaps/langs/lang-li.png, pixmaps/langs/lang-st.png,
- pixmaps/langs/lang-ve.png, pixmaps/langs/lang-gu.png,
- pixmaps/langs/lang-uz.png: New/updated images with language names
-
- * share/po/et.po: updated po file
-
- * share/rpmsrate: Added locale->fonts-* dependencies
-
-2003/08/01 Pixel <pixel at mandrakesoft.com>
-
- * .perl_checker: printer::printerdrake is not perl_checker compliant,
- don't pretend it is!
-
- * standalone/draksec: perl_checker compliance
-
- * Makefile: s/head -1/head -n 1/
- (am i the only one who thinks changing head's usage is really stupid?
- well...)
-
- * diskdrake/smbnfs_gtk.pm: instead of removing the "Search servers" button
- when the search is over, keep
- it to allow searching for new servers (the label is changed from "Search
- servers" to "Search new servers") (bug #4297)
-
- * install_any.pm, any.pm:
- - move write_smb_conf() from install_any to network::smb
- - rename setAuthentication() to set_authentication()
- - move the work of set_authentication() from install_any to any
- - move the per-authentification kind questions from
- install_steps_interactive::setRootPassword() to
- any::ask_authentification_parameters()
- - various cleanup in code prompting authentification questions
- - call install_any::set_authentication() in
- install_steps::setRootPassword()
- instead of waiting for the installPackages step to be done
- (since setRootPassword occurs *after* packages installation)
- - don't call set_authentification() in install_steps::addUser()
- (why was this done there??)
- => these changes will allow drakauth
- use $::prefix
-
- * interactive/gtk.pm: don't warn when label is used with no text for boot
- entries
- (i want titi's explaination on this first)
-
- * Xconfig/card.pm: Intel drivers don't need DontVTSwitch anymore (dixit
- Arnaud de Lorbeau)
-
- * drakxtools.spec, standalone/drakauth, Makefile.config: add drakauth
-
- * install_steps_interactive.pm, install2.pm, install_steps.pm,
- network/smb.pm:
- - move write_smb_conf() from install_any to network::smb
- - rename setAuthentication() to set_authentication()
- - move the work of set_authentication() from install_any to any
- - move the per-authentification kind questions from
- install_steps_interactive::setRootPassword() to
- any::ask_authentification_parameters()
- - various cleanup in code prompting authentification questions
- - call install_any::set_authentication() in
- install_steps::setRootPassword()
- instead of waiting for the installPackages step to be done
- (since setRootPassword occurs *after* packages installation)
- - don't call set_authentification() in install_steps::addUser()
- (why was this done there??)
- => these changes will allow drakauth
-
- * ugtk2.pm: replace signal_disconnect with signal_handler_disconnect
- (needed for perl-gtk2-xs)
-
- * Xconfig/xfree4.pm, Xconfig/xfree3.pm, Xconfig/xfreeX.pm,
- Xconfig/parse.pm: => do as Chris Picton suggested
- Chris Picton said (nearly one year ago :-/) :
- I have found the need for many low res screen resolutions for such
- thingas as movie playing, xmame, etc.
-
- The method XFdrake uses to enable modes is to enumerate each mode in the
- XF86Config file. For example (a newly created file):
-
- Subsection "Display"
- Depth 24
- Modes "1280x960" "1152x864" "1024x768" "800x600" "640x480"
- EndSubsection
-
- It would be better (at least under XFree 4, which automatically provides
- resoltions from the monitor, if it is capable), to not limit the modes
- provided to the user
-
- If I use instead, the following:
-
- Subsection "Display"
- Depth 24
- Virtual 1280 960
- EndSubsection
-
- My maximum mode is exactly the same as before, but I have many more low
- resolution modes.
-
-2003/07/31 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem: make oem-all by default (obsoleted previous oem)
-
- * install_steps.pm: added redo of initrd files for oem changes to take
- effects for bootsplash...
- fixed /usr/share/bootsplash directory not created for images.
- apply oem image modification to bootsplash too.
-
-2003/07/31 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po: updated pot file
- updated Swedish file
-
- * share/po/ru.po, share/po/et.po, share/po/cy.po, share/po/ca.po,
- share/po/ja.po, share/po/tg.po, share/po/pt_BR.po, share/po/ar.po,
- share/po/lt.po, share/po/id.po, share/po/eo.po, share/po/be.po,
- share/po/af.po, share/po/sq.po, share/po/he.po, share/po/az.po,
- share/po/ta.po, share/po/uk.po, share/po/sk.po, share/po/it.po,
- share/po/ro.po, share/po/pt.po, share/po/es.po, share/po/ko.po,
- share/po/bs.po, share/po/sr@Latn.po, share/po/lv.po, share/po/bg.po,
- share/po/DrakX.pot, share/po/sr.po, share/po/el.po, share/po/nb.po,
- share/po/zh_TW.po, share/po/sl.po, share/po/th.po, share/po/hu.po,
- share/po/cs.po, share/po/ga.po, share/po/is.po, share/po/uz@Cyrl.po,
- share/po/gl.po, share/po/pl.po, share/po/fr.po, share/po/eu.po,
- share/po/de.po, share/po/da.po, share/po/tr.po, share/po/nl.po,
- share/po/vi.po, share/po/wa.po, share/po/hr.po, share/po/zh_CN.po,
- share/po/fi.po, share/po/mt.po, share/po/uz.po: updated pot file
-
-2003/07/31 Pixel <pixel at mandrakesoft.com>
-
- * drakxtools.spec:
- - drakxtools-newt must not require perl(interactive::gtk) or
- perl(ugtk2)
- - only drakbackup require perl(Net::FTP) & perl(Time::localtime), i
- don't want
- this require for all drakxtools. What about moving drakbackup to a
- separate
- package?
-
- * bootloader.pm: use "splash=silent" instead of "quiet".
- kernel messages will still be written, but will be hidden (can be seen
- if
- pressing F2 or escape at boot time)
-
-2003/07/31 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: UI issues from cooker list. Push help off to
- drakhelp.
-
-2003/07/30 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/07/30 François Pons <fpons at mandrakesoft.com>
-
- * interactive/gtk.pm: removed ugly code for scrollbars as pixel has fixed
- it now.
-
- * ugtk2.pm: intermediate commit to completely broken ugtk2 for handling
- tree, in order for
- gc or pixel to fix this...
-
- * pkgs.pm: allow testing locally, should not avoid pkgs to work in real
- place.
-
- * install_steps_interactive.pm: removed remaining code of eval (eq nop).
- remove eval around choosePackagesTree as it display something even if it
- doesn't run...
-
-2003/07/30 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cs.po, share/po/he.po, share/po/sq.po: updated Albanian, Czech
- and Hebrew files
-
-2003/07/30 Pixel <pixel at mandrakesoft.com>
-
- * network/network.pm: revert to 1.129:
- it's no good removing " (using module ...)" from {DEVICE} field, it's
- much
- better not having it in the first place. See network/ethernet.pm v1.81
- for
- the real fix
-
- * install_steps.pm: Aurora doesn't exist anymore (and it's been that way
- for quite a few time)
-
- * network/ethernet.pm: fix typo (thanks to perl_checker)
- cleanup (especially ensure $interface is not something like "eth0 (using
- module ...)" but only "eth0" (cf network/network.pm 1.130 nasty change)
-
- * timezone.pm:
- - cleanup
- - add pool.ntp.org (and make it the default) (cf bug #4197)
-
- * install_steps_gtk.pm: ensure "No details" is displayed instead of
- "Details" when beginning a new
- package installation round and "No details" was pressed in previous
- round
-
- * any.pm: perl_checker compliance
- - cleanup debug code
- - use read_gnomekderc & update_gnomekderc instead of getVarsFromSh &
- substInFile
- allow other=/dev/fd0 (bug #4405)
-
- * Xconfig/test.pm:
- - move from perl-GTK2 to perl-Gtk2
- - fix an old weird typo
-
- * install_steps_interactive.pm: fix typo
- - cleanup
- - add pool.ntp.org (and make it the default) (cf bug #4197)
-
-2003/07/29 Frederic Crozat <fcrozat at mandrakesoft.com>
-
- * share/rpmsrate: Add vera font by default
-
-2003/07/29 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/wa.po, share/po/da.po, share/po/zh_CN.po,
- share/po/uz@Cyrl.po, share/po/sk.po, share/po/uz.po: updated pot file
-
-2003/07/29 Pixel <pixel at mandrakesoft.com>
-
- * docs/README: remove some really obsolete doc
-
- * fsedit.pm: re-export %fsedit::suggestions as needed (why did titi my-ed
- it?) (fixes bug #4298)
-
- * install2.pm: use formatError for the error message occuring when
- auto_install.cfg is bad
-
- * drakxtools.spec: there is no good url for drakxtools, but at least don't
- give a broken one!
- (thanks to Raul Dias)
-
- * ugtk2.pm: labels are not able to correctly handle long texts, so
- rollback to using
- TextView instead.
- For information on this pb:
- - IHM team doesn't like TextView because the text can be selected, and
- a
- contextual menu is available
- - IHM team doesn't like the difference between small text (using a
- Label) and
- longer text (using a TextView)
- - Label can wrap automatically but not nicely (it doesn't use the full
- width)
- - Label can't wrap CJK text which have no spaces
- Apart from this Label vs TextView pb, Titi only left some code which
- takes
- care of small text, causing the text to be wrapped using warp_text
- (which is
- not proportional font aware) and not using a scrolled window (causing
- the
- license to take more than the screen, the buttons disappearing at the
- bottom
- of the screen)
-
-2003/07/28 François Pons <fpons at mandrakesoft.com>
-
- * share/list.i386: moved mkfs.xfs
-
- * rescue/list.i386: moved xfs files.
-
- * rescue/list.ia64: moved xfs files (problably the same for ia64 ?).
-
- * interactive/gtk.pm: make sure the split of message is done only in
- install mode, as standalone has
- no problem.
-
-2003/07/28 Pixel <pixel at mandrakesoft.com>
-
- * tools/ddcprobe/Makefile: we now need -lm to link
-
-2003/07/28 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/07/26 keld
-
- * share/po/da.po: small update
- gi/perl-install/share/po/da.po
- update!
- soft/menudrake/po/da.po gi/perl-install/share/po/da.po
- update
- gi/perl-install/share/po/da.po
-
-2003/07/26 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/ja.po, share/po/uk.po: updated Japanese and Ukrainian files
-
-2003/07/25 aginies
-
- * pixmaps/drakcluster.png: new icon, without alpha-layer (unsupported
- under 9.0)
-
-2003/07/25 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: Updated Estonian file
- updated pot file
-
- * share/po/ru.po, share/po/cy.po, share/po/ca.po, share/po/ja.po,
- share/po/tg.po, share/po/pt_BR.po, share/po/ar.po, share/po/lt.po,
- share/po/id.po, share/po/eo.po, share/po/be.po, share/po/af.po,
- share/po/sq.po, share/po/he.po, share/po/az.po, share/po/ta.po,
- share/po/uk.po, share/po/sk.po, share/po/it.po, share/po/ro.po,
- share/po/pt.po, share/po/es.po, share/po/ko.po, share/po/bs.po,
- share/po/sr@Latn.po, share/po/lv.po, share/po/bg.po, share/po/DrakX.pot,
- share/po/sr.po, share/po/el.po, share/po/nb.po, share/po/zh_TW.po,
- share/po/sv.po, share/po/sl.po, share/po/th.po, share/po/hu.po,
- share/po/cs.po, share/po/ga.po, share/po/is.po, share/po/uz@Cyrl.po,
- share/po/gl.po, share/po/pl.po, share/po/fr.po, share/po/eu.po,
- share/po/de.po, share/po/da.po, share/po/tr.po, share/po/nl.po,
- share/po/vi.po, share/po/wa.po, share/po/hr.po, share/po/zh_CN.po,
- share/po/fi.po, share/po/mt.po, share/po/uz.po: updated pot file
-
-2003/07/25 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-0.24mdk
- 9.2-0.24mdk: work in progress
-
- * ugtk2.pm: work in progress (follow interface team recommendation) : use
- checkboxes instead of ugly icon
- inconsistent (aka semi-selected) state still need working
- install caller must be fixed like rpmdrake is
-
- * standalone/drakbug: use std button layout
- use option menus instead of combos in on interface team request
-
- * standalone/drakperm: fix crash on adding new permission
-
-2003/07/24 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Update
-
-2003/07/24 Frederic Lepied <flepied at mandrakesoft.com>
-
- * share/rpmsrate: removed ncompress (contrib)
-
-2003/07/24 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakboot: hide splash screen section for now on ihm team
- request
-
- * standalone/net_monitor:
- - use option menus instead of combos
- - fix crash on profile change due to netconnect api change
-
- * harddrake/sound.pm: fix #4258
-
- * standalone/logdrake: upcase label
-
- * security/l10n.pm: describe
-
- * security/help.pm: better help
- - filter dumb characters
- - strip help from internal msec doc so that it better fit end user
-
- * share/po/fr.po: update
- one more typo (still fabrice)
- typo fix (spoted by Fabrice Facorat)
- follow english case
-
- * interactive/gtk.pm: if the callee explicitely want to force the user to
- pick sg from a
- fixed set of options, the right widget to use is an OptionMenu rather
- than a Combo (see ugtk2 r1.141 log and ugtk2::Gtk2::OptionMenu
- sub-module)
-
- * standalone/drakperm: since we've replace save "button" by "ok", exit the
- tool after saving the preferences
- fix tree filling
- - ugtk2-ize dialog construction
- - fix tip setting
- localize level option menu
- settings dialog:
- - localize all fields
- - add tips for all check boxes
- use stock icons on rule toolbar
- make label be undserstandable
- upcase various widget texts (still have to localize settings dialog
- fields though)
- simplify (un|)sensitive property setting of the list
- use option menus instead of combos in settings dialog too
- use stock icons and std button layout in settings dialog
- use option menus instead of combos
-
- * drakxtools.spec: bump perl-Gtk2 requires in order to fix drakfont bug
- with utf8 file
- names
- 9.2-0.23mdk
- draksec: requires a non broken msec
- 9.2-0.22mdk
-
- * standalone/mousedrake: use std button layout
-
- * standalone/draksec: restore help for msec checks
-
- * standalone/drakconnect: remove nonsense expert button
- - (configure_lan) directly use global variables
- - double click on ethernet lines run lan config dialog
-
-2003/07/23 Daouda Lo <daouda at mandrakesoft.com>
-
- * standalone/drakhelp:
- - ru, de and it have no specific drakxtools help packages. Default to
- english
- - retest $$path to see if the page exists.
- - don't launch browser unless help page exists.
-
-2003/07/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/he.po: fixed "arrows"
-
- * share/po/uz@Cyrl.po, share/po/uz.po: Added Uzbek cyrillic file
-
-2003/07/23 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Fix catalog restore for perl-Gtk2
- Fix rsync behavior - broken in perl_checker fixes
- Fix wildcard_to_tarfile
-
-2003/07/23 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * any.pm: new autologin scheme (spec87): directly configure display
- manager
-
- * drakxtools.spec: log drakfont fixes
- 9.2-0.21mdk
-
- * standalone/drakboot: we do not need anymore autologin (spec87)
-
- * standalone/drakfont: fix #1679 & #3673
-
-2003/07/22 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/07/22 François Pons <fpons at mandrakesoft.com>
-
- * install_gtk.pm: fixed titi sucks (as usually as he never tests nor
- checks what he is writing).
-
- * standalone.pm: avoid being clashed by signature checking when installing
- packages,
- need a better fix later.
-
- * interactive/gtk.pm: tempory fix for title not having scroll bars (which
- sounds reasonable ?), as the
- size of the window is fixed the low part of the window is not visible.
- titi who makes the portage to newer Gtk2 has not tested this (again, for
- info).
-
-2003/07/22 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
-
-2003/07/22 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * share/po/fr.po: last but not least ...
- more unfuzzy
- unfuzzy...
- more french translation
- better phrasing
-
- * drakxtools.spec: first bits of 9.2-0.21mdk
- 9.2-0.20mdk
- 9.2-0.20mdk
-
- * standalone/draksec: N_ON_E is of no use, NONE is
- simplify and order vertically OptionMenus
-
- * network/network.pm: fix fpons sucks (as usuall as he neither tests nor
- care about bug
- reports)
-
- * standalone/drakconnect:
- - fix "lan config" dialog where fields were not filled
- - factorize some code in order to achieve it
-
- * standalone/drakgw: disable service start/stop too in testing mode
- do not install package in testing mode
- no valid reason not to be able to go back at first step
- fix going backward in the wizard at deepest stages
- testing mode: enable to go some steps further when testing this tool
- fix back step
-
-2003/07/21 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid src package to be seen in tree.
-
- * pkgs.pm: fixed setSelectedFromCompssList (updated with newer perl-URPM
- interface),
- more need to be done. maybe increased speed of unselectAllPackages.
-
-2003/07/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/ru.po, share/po/et.po, share/po/cy.po, share/po/ca.po,
- share/po/ja.po, share/po/tg.po, share/po/pt_BR.po, share/po/ar.po,
- share/po/lt.po, share/po/id.po, share/po/eo.po, share/po/be.po,
- share/po/af.po, share/po/sq.po, share/po/he.po, share/po/az.po,
- share/po/ta.po, share/po/uk.po, share/po/sk.po, share/po/it.po,
- share/po/ro.po, share/po/pt.po, share/po/es.po, share/po/ko.po,
- share/po/bs.po, share/po/sr@Latn.po, share/po/lv.po, share/po/bg.po,
- share/po/DrakX.pot, share/po/sr.po, share/po/el.po, share/po/nb.po,
- share/po/zh_TW.po, share/po/sv.po, share/po/sl.po, share/po/th.po,
- share/po/hu.po, share/po/cs.po, share/po/ga.po, share/po/is.po,
- share/po/gl.po, share/po/pl.po, share/po/fr.po, share/po/eu.po,
- share/po/de.po, share/po/da.po, share/po/tr.po, share/po/nl.po,
- share/po/vi.po, share/po/wa.po, share/po/hr.po, share/po/zh_CN.po,
- share/po/fi.po, share/po/mt.po, share/po/uz.po: updated pot file
-
-2003/07/21 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: mcc view: add an help button (and ugtk2-ize main
- window buttons btw)
-
- * network/netconnect.pm: add a hint if we never restore profiles feature
- do not gratuitously waste space
- if we really want the type connection to be translated by translate()
- call in
- step_2, we should mark it as translatable for gettext somewhere ...
- fix final success message:
- - fix join usage
- - fix gtk frontend detection
- do not loop if one refuse to save changes, just skip the save step
- keep user changes on back step
- fix no previous button when using ask_okcancel() in wizard mode due to
- *very*
- ugly "$common->{cancel} = '' if !defined wantarray();" in interactive.pm
- anyway, the whole pre_func() idea was totally dumb
- it now looks a little cleaner
-
-
-
- making all main configuration callbacks having the same prototype and
- name
- would enable further cleanups (direct call to
- network::$net_module{$type}::configure(...);)
-
- * standalone/harddrake2: add hints for translators
- workaround buggy gtk+-2.x that do not wrap textviews when realized
-
- * standalone/diskdrake: provide some help access in standalone mode
-
- * network/network.pm: dhcp host name cannot be set if one want to get it
- from dhcp server
-
- * drakxtools.spec: 9.2-0.19mdk
-
- * standalone/draksec: add hints for translators
- make 1st tab title somewhat clearer
- fix infamous "when embedded draksec can be enlarged but never shrink
- back"
- one should not be able to set syadmin when no reports
- - describe all security levels
- - make it clean than security admin is not a security level
- - colorize security levels names
- - use a label instead of textview
-
-2003/07/21 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid src package to be seen in tree.
-
- * pkgs.pm: fixed setSelectedFromCompssList (updated with newer perl-URPM
- interface),
- more need to be done. maybe increased speed of unselectAllPackages.
-
-2003/07/21 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid src package to be seen in tree.
-
- * pkgs.pm: fixed setSelectedFromCompssList (updated with newer perl-URPM
- interface),
- more need to be done. maybe increased speed of unselectAllPackages.
-
-2003/07/19 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/draksec: fix checks loading
- fix checks setting
- fix config load
-
- * drakxtools.spec: 9.2-0.18mdk
-
- * security/msec.pm: sort functions & checks when writing configuration
-
-2003/07/18 erwan
-
- * pixmaps/drakcluster.png: new drakcluster icon from LN
-
-2003/07/18 François Pons <fpons at mandrakesoft.com>
-
- * Makefile: trying to follow the sucking of titi...
- use perl-Gtk2 and perl-Glib files.
-
-2003/07/18 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm: new binding returns a list intead of an array ref
-
- * network/netconnect.pm: sync translation with stock item
-
- * standalone/draksec: now that we display localized descriptions instead
- of raw function
- names, we've to sort the formers instead of sorting the laters
- fix preferences loading & saving
-
- * interactive/gtk.pm: only catch real wrong callees
-
- * drakxtools.spec: add bug ref
- first 9.2-0.17mdk bits
-
-2003/07/17 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/07/17 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm: do not exit the whole app when one destroy a dialog
- (_create_dialog) default is "as much as needed" size
- perl_checker fixes
- center_always is unuser-friendly
- - ihm team said: always use labels, textview are stupid nonsenses
- - fcrozat then said: labels have no wrapping problems with cjk and the
- like
- use stock items in wizards
-
- * network/ethernet.pm: proxy configuration step: do not go back two steps
- back on "previous"
- click, but only one back
-
- * standalone/drakconnect: adjust dialogs size
- correctly align fields in "lan configuration" dialog
- perl_checker fixes
- center_always is unuser-friendly
- fix internet gateway buttons layout
- remove ugly icon
-
- * network/network.pm: properly use checkboxes
-
- * drakxtools.spec: one more bit for 0.16mdk
- 9.2-0.16mdk
- frop gtk+1 requires
-
- * network/netconnect.pm: fix usage of bool type in interactive: put the
- text in the checkbox's
- label instead of packing a standalone label *and* a checkbox with an
- empty label
-
- * interactive/gtk.pm: perl_checker fix
- simplify with gtkshow()
- intercept buggy callees/users of bool type that wrongly pass label
- instead of text
-
-2003/07/16 aginies
-
- * fsedit.pm: now swap is before / on client node
-
-2003/07/16 Pixel <pixel at mandrakesoft.com>
-
- * commands.pm, swap.pm, Makefile: remove mkswap from commands.pm, so no
- need anymore to have mkswap_ (the drawback is that the mkswap command
- won't create the device anymore)
-
-2003/06/06 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/Makefile: we're in cooker now
-
- * share/logo-mandrake.png: cooker
-
-2003/06/06 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * help.pm: "Country" -> "Country" . " / Region" in a few places still
- missing that change
-
-2003/06/06 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: stricter regexp when looking /dev/xxx otherwise it is used also
- for nfs names
- and causes havoc
-
- * standalone/fileshareset: fileshareset doesn't use MDK::Common
-
- * any.pm: perl_checker compliance
-
- * fsedit.pm: fix computeSize which took into account suggested partitions
- on another drives
- (which is especially bad for LVMs)
-
- * network/nfs.pm:
- - handle spaces in exported directories
- - simplify using --no-headers when calling showmount
-
- * common.pm, ugtk2.pm: ensure N() is not called before ugtk2 is
- initialised, otherwise
- the gettext is not forced to utf8
-
- * diskdrake/interactive.pm: fix typos + perl_checker fixes
-
- * standalone.pm: don't use N() so early
- (beware, this removes translation, some translate() calls must be
- added!)
-
-2003/06/05 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * Makefile: fix install crashed X server because /usr/bin/true was no more
- available :/
-
-2003/06/05 Pixel <pixel at mandrakesoft.com>
-
- * mdk-stage1/Makefile.common: fix build with new gcc
-
- * fs.pm: make perl_checker a happy bot
- don't use description of fstab options from manpage mount(8), inline
- them in the source
-
-2003/06/05 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Bug 3647 - Chinese translations. More
- perl_checker fixes.
-
-2003/06/05 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * harddrake/v4l.pm: support more tuners and tv cards
-
-2003/06/04 François Pons <fpons at mandrakesoft.com>
-
- * rescue/list: updated with rpm 4.2.
-
- * tools/updatehdlist: update only RPMS1 and RPMS2 to keep other package in
- RPMS3.
-
- * tools/syncrpms: avoid updating kernel-BOOT (as kernel-BOOT of cooker is
- pure shit).
-
- * install_steps_gtk.pm: allow X server to use :9 (:1 seems to not working
- ?) and disable access control
- (no clients can connect by default).
-
- * pkgs.pm: updated for newer perl-URPM (0.90 series).
-
-2003/06/04 gbeauchesne
-
- * mdk-stage1/dietlibc/include/termio.h,
- mdk-stage1/dietlibc/i386/sendmsg.S, mdk-stage1/dietlibc/i386/asin.S,
- mdk-stage1/dietlibc/libpthread/pthread_flockfile.c,
- mdk-stage1/dietlibc/ia64/__longjmp.S, mdk-stage1/dietlibc/i386/strcmp.S,
- mdk-stage1/dietlibc/libcruft/scan_ulong.c,
- mdk-stage1/dietlibc/libdl/_dl_relocate.c,
- mdk-stage1/dietlibc/i386/stpcpy.S, mdk-stage1/dietlibc/i386/ltostr.S,
- mdk-stage1/dietlibc/libugly/utent.c, mdk-stage1/dietlibc/i386/connect.S,
- mdk-stage1/dietlibc/i386/atan2.S,
- mdk-stage1/dietlibc/syscalls.s/mlock.S,
- mdk-stage1/dietlibc/ppc/syscalls.h, mdk-stage1/dietlibc/lib/__ptrace.c,
- mdk-stage1/dietlibc/libstdio/scanf.c, mdk-stage1/dietlibc/i386/memcmp.S,
- mdk-stage1/dietlibc/include/stdarg-cruft.h,
- mdk-stage1/dietlibc/i386/fmod.S, mdk-stage1/dietlibc/i386/strrchr.S,
- mdk-stage1/dietlibc/libcruft/bzero.c,
- mdk-stage1/dietlibc/syscalls.s/sendfile64.S,
- mdk-stage1/dietlibc/libugly/iconv.c,
- mdk-stage1/dietlibc/libugly/getprotobyname.c,
- mdk-stage1/dietlibc/include/asm/types.h,
- mdk-stage1/dietlibc/i386/accept.S,
- mdk-stage1/dietlibc/include/sys/fsuid.h,
- mdk-stage1/dietlibc/syscalls.s/ftruncate64.S,
- mdk-stage1/dietlibc/x86_64/socket.S,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c,
- mdk-stage1/dietlibc/lib/llabs.c, mdk-stage1/dietlibc/i386/memccpy.S,
- mdk-stage1/dietlibc/libugly/getservbyname.c,
- mdk-stage1/dietlibc/include/write12.h, mdk-stage1/dietlibc/i386/bind.S,
- mdk-stage1/dietlibc/x86_64/listen.S,
- mdk-stage1/dietlibc/alpha/errlist.S,
- mdk-stage1/dietlibc/libcruft/setlocale.c,
- mdk-stage1/dietlibc/x86_64/msgctl.S,
- mdk-stage1/dietlibc/syscalls.s/setfsuid.S,
- mdk-stage1/dietlibc/lib/tcflow.c,
- mdk-stage1/dietlibc/syscalls.s/geteuid32.S,
- mdk-stage1/dietlibc/libcruft/scandir.c,
- mdk-stage1/dietlibc/syscalls.s/getuid32.S,
- mdk-stage1/dietlibc/include/asm/ia64-sigcontext.h,
- mdk-stage1/dietlibc/libcruft/getusershell.c,
- mdk-stage1/dietlibc/i386/floor.S,
- mdk-stage1/dietlibc/syscalls.s/alarm.S,
- mdk-stage1/dietlibc/ia64/utime.S, mdk-stage1/dietlibc/x86_64/mmap.S,
- mdk-stage1/dietlibc/ia64/README, mdk-stage1/dietlibc/libcruft/tmpnam.c,
- mdk-stage1/dietlibc/libm/acosh.c,
- mdk-stage1/dietlibc/libcruft/alphasort64.c,
- mdk-stage1/dietlibc/syscalls.s/fchown32.S,
- mdk-stage1/dietlibc/libcruft/getopt_long_only.c,
- mdk-stage1/dietlibc/syscalls.s/munlock.S,
- mdk-stage1/dietlibc/ppc/clone.S, mdk-stage1/dietlibc/libcruft/pwbuf.c,
- mdk-stage1/dietlibc/i386/getpeername.S,
- mdk-stage1/dietlibc/ia64/clone.S, mdk-stage1/dietlibc/x86_64/setjmp.S,
- mdk-stage1/dietlibc/libpthread/pthread_fgetc.c,
- mdk-stage1/dietlibc/ia64/listen.S,
- mdk-stage1/dietlibc/include/net/if_ether.h,
- mdk-stage1/dietlibc/lib/strtof.c,
- mdk-stage1/dietlibc/x86_64/Makefile.add,
- mdk-stage1/dietlibc/lib/errlistu.c,
- mdk-stage1/dietlibc/libstdio/vfscanf.c,
- mdk-stage1/dietlibc/syscalls.s/create_module.S,
- mdk-stage1/dietlibc/alpha/syscalls.h,
- mdk-stage1/dietlibc/x86_64/unified.S, mdk-stage1/dietlibc/lib/write12.c,
- mdk-stage1/dietlibc/lib/__stime.c,
- mdk-stage1/dietlibc/include/netpacket/packet.h,
- mdk-stage1/dietlibc/i386/poly.S, mdk-stage1/dietlibc/libugly/netent.c,
- mdk-stage1/dietlibc/ia64/msgrcv.S,
- mdk-stage1/dietlibc/libcruft/seteuid.c,
- mdk-stage1/dietlibc/syscalls.s/delete_module.S,
- mdk-stage1/dietlibc/ia64/pipe.S, mdk-stage1/dietlibc/libcruft/setegid.c,
- mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c,
- mdk-stage1/dietlibc/include/linux/nfs.h,
- mdk-stage1/dietlibc/libugly/gai_strerror.c,
- mdk-stage1/dietlibc/i386/rint.S,
- mdk-stage1/dietlibc/include/asm/arm-sigcontext.h,
- mdk-stage1/dietlibc/lib/ipv6constants.c,
- mdk-stage1/dietlibc/lib/sigpending.c,
- mdk-stage1/dietlibc/i386/syscalls.h,
- mdk-stage1/dietlibc/include/float.h, mdk-stage1/dietlibc/i386/hypot.S,
- mdk-stage1/dietlibc/i386/cosh.S, mdk-stage1/dietlibc/x86_64/semop.S,
- mdk-stage1/dietlibc/libugly/strndup.c, mdk-stage1/dietlibc/libm/erf.c,
- mdk-stage1/dietlibc/lib/memmem.c,
- mdk-stage1/dietlibc/syscalls.s/setregid32.S,
- mdk-stage1/dietlibc/libcruft/tempnam.c,
- mdk-stage1/dietlibc/libcompat/syscall.S,
- mdk-stage1/dietlibc/x86_64/recvfrom.S,
- mdk-stage1/dietlibc/lib/strtold.c,
- mdk-stage1/dietlibc/syscalls.s/setfsgid32.S,
- mdk-stage1/dietlibc/libcruft/herror.c,
- mdk-stage1/dietlibc/libcruft/bcopy.c,
- mdk-stage1/dietlibc/libcruft/__parse_ws.c,
- mdk-stage1/dietlibc/i386/sendto.S, mdk-stage1/dietlibc/ia64/sendmsg.S,
- mdk-stage1/dietlibc/i386/sleep.S, mdk-stage1/dietlibc/i386/shutdown.S,
- mdk-stage1/dietlibc/libugly/getservent.c,
- mdk-stage1/dietlibc/libugly/putpwent.c, mdk-stage1/dietlibc/libm/sinh.c,
- mdk-stage1/dietlibc/libcruft/getspent_r.c,
- mdk-stage1/dietlibc/i386/send.S, mdk-stage1/dietlibc/ia64/msgget.S,
- mdk-stage1/dietlibc/libcruft/killpg.c,
- mdk-stage1/dietlibc/x86_64/__testandset.S,
- mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S,
- mdk-stage1/dietlibc/libstdio/fsetpos.c,
- mdk-stage1/dietlibc/i386/isleap.S, mdk-stage1/dietlibc/i386/PIC.h,
- mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S,
- mdk-stage1/dietlibc/lib/tcsendbreak.c,
- mdk-stage1/dietlibc/x86_64/shmat.S,
- mdk-stage1/dietlibc/libcruft/dnscruft3.c,
- mdk-stage1/dietlibc/libugly/difftime.c,
- mdk-stage1/dietlibc/libstdio/ftello.c,
- mdk-stage1/dietlibc/x86_64/sendto.S,
- mdk-stage1/dietlibc/x86_64/syscalls.h, mdk-stage1/dietlibc/ia64/send.S,
- mdk-stage1/dietlibc/ia64/bind.S, mdk-stage1/dietlibc/x86_64/shmctl.S,
- mdk-stage1/dietlibc/libcruft/clock.c,
- mdk-stage1/dietlibc/syscalls.s/settimeofday.S,
- mdk-stage1/dietlibc/libugly/protoent_buf.c,
- mdk-stage1/dietlibc/libstdio/fgetpos.c,
- mdk-stage1/dietlibc/libugly/getprotobynumber_r.c,
- mdk-stage1/dietlibc/sparc/strlen.S,
- mdk-stage1/dietlibc/lib/sigprocmask.c,
- mdk-stage1/dietlibc/ia64/__nice.c,
- mdk-stage1/dietlibc/syscalls.s/mmap2.S, mdk-stage1/dietlibc/i386/sqrt.S,
- mdk-stage1/dietlibc/i386/strlen.S, mdk-stage1/dietlibc/ia64/shmget.S,
- mdk-stage1/dietlibc/x86_64/bind.S,
- mdk-stage1/dietlibc/syscalls.s/setreuid32.S,
- mdk-stage1/dietlibc/include/net/ethernet.h,
- mdk-stage1/dietlibc/include/linux/eventpoll.h,
- mdk-stage1/dietlibc/syscalls.s/errlist.S,
- mdk-stage1/dietlibc/i386/getenv.S, mdk-stage1/dietlibc/libm/bessel.c,
- mdk-stage1/dietlibc/libm/ipow.c, mdk-stage1/dietlibc/libm/atanh.c,
- mdk-stage1/dietlibc/libstdio/fdglue2.c,
- mdk-stage1/dietlibc/libcruft/getgrent_r.c,
- mdk-stage1/dietlibc/i386/strcpy.S,
- mdk-stage1/dietlibc/include/linux/types.h,
- mdk-stage1/dietlibc/include/asm/ppc-sigcontext.h,
- mdk-stage1/dietlibc/libugly/unlockpt.c,
- mdk-stage1/dietlibc/ia64/unified.S,
- mdk-stage1/dietlibc/libugly/freeaddrinfo.c,
- mdk-stage1/dietlibc/libcruft/getpwuid_r.c,
- mdk-stage1/dietlibc/ia64/semget.S,
- mdk-stage1/dietlibc/libcruft/hstrerror.c,
- mdk-stage1/dietlibc/libcruft/grbuf.c,
- mdk-stage1/dietlibc/sparc/syscalls.h,
- mdk-stage1/dietlibc/libstdio/fseeko64.c,
- mdk-stage1/dietlibc/libcruft/getgrnam_r.c,
- mdk-stage1/dietlibc/i386/log.S, mdk-stage1/dietlibc/lib/sigsuspend.c,
- mdk-stage1/dietlibc/ia64/getpeername.S,
- mdk-stage1/dietlibc/i386/strncmp.S,
- mdk-stage1/dietlibc/syscalls.s/setfsuid32.S,
- mdk-stage1/dietlibc/syscalls.s/__pwrite.S,
- mdk-stage1/dietlibc/ia64/shmdt.S, mdk-stage1/dietlibc/libm/rint.c,
- mdk-stage1/dietlibc/libcruft/mktemp.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S,
- mdk-stage1/dietlibc/libcruft/__end_parse.c,
- mdk-stage1/dietlibc/syscalls.s/adjtimex.S,
- mdk-stage1/dietlibc/i386/exp2.S,
- mdk-stage1/dietlibc/libcruft/alphasort.c,
- mdk-stage1/dietlibc/libugly/openpty.c,
- mdk-stage1/dietlibc/profiling/monitor.c,
- mdk-stage1/dietlibc/ia64/recv.S,
- mdk-stage1/dietlibc/syscalls.s/getresgid32.S,
- mdk-stage1/dietlibc/lib/atoll.c,
- mdk-stage1/dietlibc/libcruft/getopt_long.c,
- mdk-stage1/dietlibc/ia64/connect.S,
- mdk-stage1/dietlibc/include/linux/loop.h,
- mdk-stage1/dietlibc/alpha/sigaction.c,
- mdk-stage1/dietlibc/libstdio/vfprintf.c,
- mdk-stage1/dietlibc/libugly/getservent_r.c,
- mdk-stage1/dietlibc/ia64/recvmsg.S,
- mdk-stage1/dietlibc/libcruft/mkdtemp.c,
- mdk-stage1/dietlibc/ia64/Makefile.add,
- mdk-stage1/dietlibc/libshell/basename.c,
- mdk-stage1/dietlibc/x86_64/semget.S,
- mdk-stage1/dietlibc/x86_64/getsockopt.S,
- mdk-stage1/dietlibc/syscalls.s/fdatasync.S,
- mdk-stage1/dietlibc/libcruft/spbuf.c,
- mdk-stage1/dietlibc/syscalls.s/errno.S,
- mdk-stage1/dietlibc/syscalls.s/setfsgid.S,
- mdk-stage1/dietlibc/syscalls.s/n_sigpending.S,
- mdk-stage1/dietlibc/ia64/semop.S, mdk-stage1/dietlibc/lib/sigaction.c,
- mdk-stage1/dietlibc/libdl/_dl_main.c,
- mdk-stage1/dietlibc/include/sys/alpha-ioctl.h,
- mdk-stage1/dietlibc/x86_64/getpeername.S,
- mdk-stage1/dietlibc/libpthread/pthread_internal.c,
- mdk-stage1/dietlibc/i386/tan.S, mdk-stage1/dietlibc/lib/__isinf.c,
- mdk-stage1/dietlibc/i386/strncpy.S,
- mdk-stage1/dietlibc/lib/__v_printf.c,
- mdk-stage1/dietlibc/syscalls.s/msync.S,
- mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S,
- mdk-stage1/dietlibc/x86_64/clone.S,
- mdk-stage1/dietlibc/libugly/getservbyport_r.c,
- mdk-stage1/dietlibc/libcruft/getopt_data.c,
- mdk-stage1/dietlibc/libcompat/stpcpy.c,
- mdk-stage1/dietlibc/libcruft/getpwent_r.c,
- mdk-stage1/dietlibc/include/linux/posix_types.h,
- mdk-stage1/dietlibc/libstdio/fseeko.c,
- mdk-stage1/dietlibc/libugly/getnameinfo.c,
- mdk-stage1/dietlibc/include/dietref.h, mdk-stage1/dietlibc/libm/asinh.c,
- mdk-stage1/dietlibc/include/pty.h, mdk-stage1/dietlibc/i386/exp.S,
- mdk-stage1/dietlibc/include/sys/soundcard.h,
- mdk-stage1/dietlibc/include/sys/klog.h,
- mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c,
- mdk-stage1/dietlibc/i386/sqrtl.S,
- mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S,
- mdk-stage1/dietlibc/i386/strcasecmp.S,
- mdk-stage1/dietlibc/syscalls.s/setgid32.S,
- mdk-stage1/dietlibc/i386/__half.S,
- mdk-stage1/dietlibc/include/asm/sparc-sigcontext.h,
- mdk-stage1/dietlibc/profiling/__mcount.c,
- mdk-stage1/dietlibc/include/sys/arm-ioctl.h,
- mdk-stage1/dietlibc/libugly/getprotobynumber.c,
- mdk-stage1/dietlibc/i386/log2.S, mdk-stage1/dietlibc/ia64/mmap.S,
- mdk-stage1/dietlibc/sparc/errlist.S,
- mdk-stage1/dietlibc/ia64/__testandset.S,
- mdk-stage1/dietlibc/include/sys/i386-ioctl.h,
- mdk-stage1/dietlibc/libcruft/getpwent.c,
- mdk-stage1/dietlibc/syscalls.s/environ.S,
- mdk-stage1/dietlibc/libpthread/pthread_errno.c,
- mdk-stage1/dietlibc/alpha/__alarm.c, mdk-stage1/dietlibc/i386/mmap64.S,
- mdk-stage1/dietlibc/i386/vfork.S, mdk-stage1/dietlibc/ia64/vfork.S,
- mdk-stage1/dietlibc/libugly/timezone.c,
- mdk-stage1/dietlibc/libugly/servent_buf.c,
- mdk-stage1/dietlibc/x86_64/getsockname.S,
- mdk-stage1/dietlibc/include/sys/prctl.h,
- mdk-stage1/dietlibc/x86_64/semctl.S, mdk-stage1/dietlibc/i386/write12.S,
- mdk-stage1/dietlibc/libm/cosh.c, mdk-stage1/dietlibc/include/libgen.h,
- mdk-stage1/dietlibc/syscalls.s/bdflush.S,
- mdk-stage1/dietlibc/libcompat/re_bsd.c,
- mdk-stage1/dietlibc/libdl/_dl_rel.c,
- mdk-stage1/dietlibc/alpha/__testandset.S,
- mdk-stage1/dietlibc/libstdio/vscanf.c, mdk-stage1/dietlibc/i386/atanh.S,
- mdk-stage1/dietlibc/i386/copysign.S, mdk-stage1/dietlibc/i386/htons.S,
- mdk-stage1/dietlibc/libugly/hasmntopt.c,
- mdk-stage1/dietlibc/libm/gamma.c, mdk-stage1/dietlibc/ia64/msgctl.S,
- mdk-stage1/dietlibc/i386/recvfrom.S,
- mdk-stage1/dietlibc/libcompat/daemon.c,
- mdk-stage1/dietlibc/profiling/PORTING,
- mdk-stage1/dietlibc/libdl/_dl_load.c,
- mdk-stage1/dietlibc/libcompat/getline.c,
- mdk-stage1/dietlibc/include/sys/sparc-ioctl.h,
- mdk-stage1/dietlibc/libstdio/vprintf.c,
- mdk-stage1/dietlibc/include/asm/statfs.h,
- mdk-stage1/dietlibc/x86_64/shmdt.S, mdk-stage1/dietlibc/libugly/dirfd.c,
- mdk-stage1/dietlibc/i386/atoll.S, mdk-stage1/dietlibc/ia64/sendto.S,
- mdk-stage1/dietlibc/syscalls.s/getegid32.S,
- mdk-stage1/dietlibc/i386/getsockopt.S,
- mdk-stage1/dietlibc/libpthread/pthread_sigmask.c,
- mdk-stage1/dietlibc/libpthread/pthread_key.c,
- mdk-stage1/dietlibc/x86_64/shmget.S,
- mdk-stage1/dietlibc/libcruft/__parse_1.c,
- mdk-stage1/dietlibc/alpha/socketpair.S,
- mdk-stage1/dietlibc/sparc/sigaction.c,
- mdk-stage1/dietlibc/x86_64/shutdown.S,
- mdk-stage1/dietlibc/libdl/_dl_alloc.c,
- mdk-stage1/dietlibc/lib/setlinebuf.c, mdk-stage1/dietlibc/lib/bcd.c,
- mdk-stage1/dietlibc/libcruft/getgrent.c,
- mdk-stage1/dietlibc/i386/mcount.S, mdk-stage1/dietlibc/i386/ceil.S,
- mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c,
- mdk-stage1/dietlibc/x86_64/recv.c, mdk-stage1/dietlibc/lib/adjtime.c,
- mdk-stage1/dietlibc/i386/expm1.S, mdk-stage1/dietlibc/ia64/setjmp.S,
- mdk-stage1/dietlibc/i386/cos.S, mdk-stage1/dietlibc/i386/fabs.S,
- mdk-stage1/dietlibc/i386/htonl.S, mdk-stage1/dietlibc/i386/log10.S,
- mdk-stage1/dietlibc/i386/pow.S,
- mdk-stage1/dietlibc/include/linux/if_ether.h,
- mdk-stage1/dietlibc/lib/cfsetospeed.c,
- mdk-stage1/dietlibc/alpha/n_sigprocmask.S,
- mdk-stage1/dietlibc/libcruft/localeconv.c,
- mdk-stage1/dietlibc/ia64/shmat.S, mdk-stage1/dietlibc/libstdio/puts.c,
- mdk-stage1/dietlibc/i386/memset.S, mdk-stage1/dietlibc/libm/poly.c,
- mdk-stage1/dietlibc/include/libintl.h,
- mdk-stage1/dietlibc/libugly/ftime.c,
- mdk-stage1/dietlibc/ia64/socketpair.S, mdk-stage1/dietlibc/lib/rand_r.c,
- mdk-stage1/dietlibc/i386/ilogb.S,
- mdk-stage1/dietlibc/libpthread/pthread_equal.c,
- mdk-stage1/dietlibc/libcrypt/md5.c, mdk-stage1/dietlibc/i386/cbrt.S,
- mdk-stage1/dietlibc/syscalls.s/ptrace.S,
- mdk-stage1/dietlibc/syscalls.s/pivot_root.S,
- mdk-stage1/dietlibc/libdl/elf_hash.h, mdk-stage1/dietlibc/include/md5.h,
- mdk-stage1/dietlibc/x86_64/__longjmp.S,
- mdk-stage1/dietlibc/include/cpio.h,
- mdk-stage1/dietlibc/syscalls.s/chown32.S,
- mdk-stage1/dietlibc/x86_64/connect.S,
- mdk-stage1/dietlibc/libugly/ptsname.c,
- mdk-stage1/dietlibc/libstdio/fdprintf.c,
- mdk-stage1/dietlibc/ia64/__waitpid.c,
- mdk-stage1/dietlibc/i386/socketpair.S,
- mdk-stage1/dietlibc/libstdio/fscanf.c,
- mdk-stage1/dietlibc/ia64/getsockname.S,
- mdk-stage1/dietlibc/lib/sigtimedwait.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S,
- mdk-stage1/dietlibc/include/sys/ppc-ioctl.h,
- mdk-stage1/dietlibc/libstdio/vfdprintf.c,
- mdk-stage1/dietlibc/i386/usleep.S, mdk-stage1/dietlibc/include/iconv.h,
- mdk-stage1/dietlibc/ia64/semctl.S,
- mdk-stage1/dietlibc/include/sys/timex.h,
- mdk-stage1/dietlibc/include/asm/i386-sigcontext.h,
- mdk-stage1/dietlibc/i386/dyn_syscalls.S,
- mdk-stage1/dietlibc/libcruft/getgrgid_r.c,
- mdk-stage1/dietlibc/libcruft/sysconf.c,
- mdk-stage1/dietlibc/include/tar.h, mdk-stage1/dietlibc/x86_64/umount.S,
- mdk-stage1/dietlibc/libugly/getprotoent_r.c,
- mdk-stage1/dietlibc/syscalls.s/prctl.S, mdk-stage1/dietlibc/i386/acos.S,
- mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c,
- mdk-stage1/dietlibc/libcruft/res_mkquery.c,
- mdk-stage1/dietlibc/include/sys/timeb.h,
- mdk-stage1/dietlibc/libugly/iconv_close.c,
- mdk-stage1/dietlibc/ia64/__alarm.c,
- mdk-stage1/dietlibc/x86_64/socketpair.S,
- mdk-stage1/dietlibc/i386/sinh.S, mdk-stage1/dietlibc/libdl/test/test.c,
- mdk-stage1/dietlibc/include/asm/alpha-sigcontext.h,
- mdk-stage1/dietlibc/i386/memchr.S,
- mdk-stage1/dietlibc/profiling/profil.c,
- mdk-stage1/dietlibc/libdl/_dl_rel.h, mdk-stage1/dietlibc/i386/__ten.S,
- mdk-stage1/dietlibc/lib/execle.c,
- mdk-stage1/dietlibc/include/sys/s390-ioctl.h,
- mdk-stage1/dietlibc/i386/recvmsg.S,
- mdk-stage1/dietlibc/ia64/getsockopt.S,
- mdk-stage1/dietlibc/i386/md5asm.S, mdk-stage1/dietlibc/i386/memcpy.S,
- mdk-stage1/dietlibc/libcruft/__parse.c,
- mdk-stage1/dietlibc/x86_64/setsockopt.S,
- mdk-stage1/dietlibc/libcruft/getspnam_r.c,
- mdk-stage1/dietlibc/syscalls.s/getgid32.S,
- mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c,
- mdk-stage1/dietlibc/ia64/__time.c, mdk-stage1/dietlibc/i386/tanh.S,
- mdk-stage1/dietlibc/lib/siginterrupt.c,
- mdk-stage1/dietlibc/i386/strcat.S,
- mdk-stage1/dietlibc/libugly/grantpt.c, mdk-stage1/dietlibc/lib/rand48.c,
- mdk-stage1/dietlibc/syscalls.s/setresgid32.S,
- mdk-stage1/dietlibc/syscalls.s/lchown32.S,
- mdk-stage1/dietlibc/profiling/README, mdk-stage1/dietlibc/ia64/msgsnd.S,
- mdk-stage1/dietlibc/libugly/getservbyname_r.c,
- mdk-stage1/dietlibc/x86_64/send.c, mdk-stage1/dietlibc/i386/socket.S,
- mdk-stage1/dietlibc/ia64/setsockopt.S,
- mdk-stage1/dietlibc/include/asm/parisc-sigcontext.h,
- mdk-stage1/dietlibc/include/sys/gmon.h,
- mdk-stage1/dietlibc/i386/acosh.S, mdk-stage1/dietlibc/ia64/socket.S,
- mdk-stage1/dietlibc/libcruft/dn_expand.c,
- mdk-stage1/dietlibc/lib/binshstr.c,
- mdk-stage1/dietlibc/include/netinet/udp.h,
- mdk-stage1/dietlibc/x86_64/msgget.S,
- mdk-stage1/dietlibc/libugly/getprotobyname_r.c,
- mdk-stage1/dietlibc/libcruft/res_search.c,
- mdk-stage1/dietlibc/libshell/dirname.c,
- mdk-stage1/dietlibc/i386/exp10.S, mdk-stage1/dietlibc/libdl/_dl_queue.c,
- mdk-stage1/dietlibc/lib/socketpair.c, mdk-stage1/dietlibc/i386/ldexp.S,
- mdk-stage1/dietlibc/libstdio/ftello64.c,
- mdk-stage1/dietlibc/libpthread/pthread_fputc.c,
- mdk-stage1/dietlibc/libdl/test/test_so.c,
- mdk-stage1/dietlibc/i386/strchr.S, mdk-stage1/dietlibc/lib/pwrite64.c,
- mdk-stage1/dietlibc/include/netinet/tcp.h,
- mdk-stage1/dietlibc/libm/pow.c,
- mdk-stage1/dietlibc/libcruft/res_query.c,
- mdk-stage1/dietlibc/include/asm/mips-sigcontext.h,
- mdk-stage1/dietlibc/libstdio/fputc_unlocked.c,
- mdk-stage1/dietlibc/libcruft/sysconf_cpus.c,
- mdk-stage1/dietlibc/alpha/lseek64.S, mdk-stage1/dietlibc/i386/recv.S,
- mdk-stage1/dietlibc/libcruft/getspent.c,
- mdk-stage1/dietlibc/libugly/iconv_open.c,
- mdk-stage1/dietlibc/lib/memrchr.c,
- mdk-stage1/dietlibc/syscalls.s/epoll_wait.S,
- mdk-stage1/dietlibc/x86_64/sendmsg.S,
- mdk-stage1/dietlibc/libugly/wtent.c, mdk-stage1/dietlibc/i386/mmap.S,
- mdk-stage1/dietlibc/syscalls.s/getgroups32.S,
- mdk-stage1/dietlibc/i386/atol.S,
- mdk-stage1/dietlibc/include/sys/ucontext.h,
- mdk-stage1/dietlibc/libcruft/dnscruft4.c,
- mdk-stage1/dietlibc/include/sys/mips-ioctl.h,
- mdk-stage1/dietlibc/include/netinet/ip_icmp.h,
- mdk-stage1/dietlibc/lib/sigqueueinfo.c,
- mdk-stage1/dietlibc/libcruft/__prepare_parse.c,
- mdk-stage1/dietlibc/x86_64/waitpid.S,
- mdk-stage1/dietlibc/i386/setsockopt.S,
- mdk-stage1/dietlibc/include/sys/gmon_out.h,
- mdk-stage1/dietlibc/lib/cfsetispeed.c,
- mdk-stage1/dietlibc/i386/socketcall.S,
- mdk-stage1/dietlibc/include/asm/sigcontext.h,
- mdk-stage1/dietlibc/x86_64/msgsnd.S, mdk-stage1/dietlibc/lib/labs.c,
- mdk-stage1/dietlibc/x86_64/recvmsg.S,
- mdk-stage1/dietlibc/libugly/getservbyport.c,
- mdk-stage1/dietlibc/libugly/getaddrinfo.c,
- mdk-stage1/dietlibc/ia64/syscalls.h,
- mdk-stage1/dietlibc/libcompat/getdelim.c,
- mdk-stage1/dietlibc/lib/__truncate64.c,
- mdk-stage1/dietlibc/include/sys/hppa-ioctl.h,
- mdk-stage1/dietlibc/libcrypt/md5crypt.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S,
- mdk-stage1/dietlibc/i386/listen.S,
- mdk-stage1/dietlibc/lib/if_nameindex.c,
- mdk-stage1/dietlibc/syscalls.s/truncate64.S,
- mdk-stage1/dietlibc/libcruft/__parse_nws.c,
- mdk-stage1/dietlibc/lib/readdir64.c,
- mdk-stage1/dietlibc/syscalls.s/setuid32.S,
- mdk-stage1/dietlibc/libugly/gethostent.c,
- mdk-stage1/dietlibc/syscalls.s/epoll_create.S,
- mdk-stage1/dietlibc/include/sys/sysmacros.h,
- mdk-stage1/dietlibc/syscalls.s/madvise.S,
- mdk-stage1/dietlibc/lib/pwrite.c, mdk-stage1/dietlibc/i386/log1p.S,
- mdk-stage1/dietlibc/ia64/shutdown.S,
- mdk-stage1/dietlibc/lib/__v_scanf.c,
- mdk-stage1/dietlibc/include/sys/epoll.h,
- mdk-stage1/dietlibc/x86_64/start.S,
- mdk-stage1/dietlibc/x86_64/sigaction.c,
- mdk-stage1/dietlibc/i386/getsockname.S, mdk-stage1/dietlibc/i386/sin.S,
- mdk-stage1/dietlibc/i386/sincos.S,
- mdk-stage1/dietlibc/libcruft/scandir64.c,
- mdk-stage1/dietlibc/lib/cfgetospeed.c, mdk-stage1/dietlibc/i386/asinh.S,
- mdk-stage1/dietlibc/libstdio/tmpfile.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S,
- mdk-stage1/dietlibc/ia64/recvfrom.S, mdk-stage1/dietlibc/i386/ipow.S,
- mdk-stage1/dietlibc/syscalls.s/init_module.S,
- mdk-stage1/dietlibc/lib/__ftruncate64.c,
- mdk-stage1/dietlibc/i386/atan.S, mdk-stage1/dietlibc/libm/tanh.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S,
- mdk-stage1/dietlibc/x86_64/accept.S, mdk-stage1/dietlibc/ia64/start.S,
- mdk-stage1/dietlibc/include/sysexits.h,
- mdk-stage1/dietlibc/lib/signal.c, mdk-stage1/dietlibc/ia64/accept.S,
- mdk-stage1/dietlibc/include/stddef.h,
- mdk-stage1/dietlibc/include/stdarg.h,
- mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigaction.S,
- mdk-stage1/dietlibc/lib/strxfrm.c, mdk-stage1/dietlibc/ia64/shmctl.S,
- mdk-stage1/dietlibc/x86_64/msgrcv.S,
- mdk-stage1/dietlibc/libcruft/getpwnam_r.c,
- mdk-stage1/dietlibc/i386/libm2.S, mdk-stage1/dietlibc/ia64/fork.S:
- Import dietlibc 0.22 + other fixes for AMD64
-
- * mdk-stage1/dns.c, mdk-stage1/dietlibc/lib/msgget.c,
- mdk-stage1/dietlibc/lib/strerror.c,
- mdk-stage1/insmod-modutils/obj/obj_s390.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname.c,
- mdk-stage1/dietlibc/librpc/rpc_prot.c,
- mdk-stage1/dietlibc/lib/iscntrl.c, mdk-stage1/dietlibc/include/stdint.h,
- mdk-stage1/dietlibc/lib/atexit.c, mdk-stage1/dietlibc/include/stdlib.h,
- mdk-stage1/dietlibc/libpthread/pthread_cancel.c,
- mdk-stage1/dietlibc/libdl/dlopen.c, mdk-stage1/dietlibc/lib/isgraph.c,
- mdk-stage1/dietlibc/lib/closedir.c,
- mdk-stage1/insmod-modutils/obj/obj_alpha.c,
- mdk-stage1/insmod-modutils/include/config.h,
- mdk-stage1/dietlibc/lib/alloc.c, mdk-stage1/dietlibc/lib/tcsetpgrp.c,
- mdk-stage1/dietlibc/i386/Makefile.add,
- mdk-stage1/dietlibc/include/sys/mman.h,
- mdk-stage1/dietlibc/include/fcntl.h, mdk-stage1/dietlibc/lib/memchr.c,
- mdk-stage1/dietlibc/lib/isupper.c, mdk-stage1/dietlibc/lib/qsort.c,
- mdk-stage1/dietlibc/lib/isxdigit.c,
- mdk-stage1/dietlibc/librpc/svc_raw.c,
- mdk-stage1/dietlibc/include/arpa/nameser.h,
- mdk-stage1/dietlibc/lib/open64.c, mdk-stage1/newt/form.c,
- mdk-stage1/dietlibc/include/sys/file.h,
- mdk-stage1/insmod-modutils/obj/Makefile, mdk-stage1/dietlibc/lib/ftw.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa.c,
- mdk-stage1/dietlibc/libstdio/ftell.c,
- mdk-stage1/dietlibc/libstdio/fdopen.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c,
- mdk-stage1/dietlibc/include/pwd.h, mdk-stage1/dietlibc/lib/snprintf.c,
- mdk-stage1/dietlibc/i386/unified.S, mdk-stage1/dietlibc/lib/msgrcv.c,
- mdk-stage1/dietlibc/alpha/start.S,
- mdk-stage1/insmod-modutils/include/kallsyms.h,
- mdk-stage1/dietlibc/include/sys/ptrace.h,
- mdk-stage1/dietlibc/lib/mkfifo.c, mdk-stage1/dietlibc/lib/send.c,
- mdk-stage1/dietlibc/lib/execvp.c,
- mdk-stage1/dietlibc/librpc/get_myaddress.c,
- mdk-stage1/insmod-modutils/include/elf_m68k.h,
- mdk-stage1/dietlibc/libugly/mktime.c,
- mdk-stage1/dietlibc/sparc/__longjmp.S,
- mdk-stage1/dietlibc/include/pthread.h,
- mdk-stage1/dietlibc/libpthread/pthread_key_delete.c,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/syscalls.s/nice.S,
- mdk-stage1/insmod-modutils/include/elf_mips.h,
- mdk-stage1/dietlibc/syscalls.s/getdents64.S,
- mdk-stage1/dietlibc/librpc/svc_run.c, mdk-stage1/dietlibc/lib/isblank.c,
- mdk-stage1/dietlibc/syscalls.s/time.S,
- mdk-stage1/dietlibc/libugly/gmtime_r.c,
- mdk-stage1/dietlibc/include/sys/kd.h,
- mdk-stage1/dietlibc/librpc/bindresvport.c,
- mdk-stage1/dietlibc/libstdio/fdglue.c,
- mdk-stage1/dietlibc/lib/ttyname.c,
- mdk-stage1/dietlibc/libcruft/getspnam.c,
- mdk-stage1/dietlibc/lib/strncat.c,
- mdk-stage1/dietlibc/libugly/strsignal.c,
- mdk-stage1/dietlibc/librpc/clnt_tcp.c,
- mdk-stage1/insmod-modutils/util/sys_cm.c,
- mdk-stage1/dietlibc/libcruft/initgroups.c,
- mdk-stage1/dietlibc/lib/sendmsg.c,
- mdk-stage1/dietlibc/include/sys/stat.h,
- mdk-stage1/dietlibc/libshell/fnmatch.c,
- mdk-stage1/dietlibc/syscalls.s/setresgid.S,
- mdk-stage1/dietlibc/libstdio/feof.c, mdk-stage1/init-libc-headers.h,
- mdk-stage1/dietlibc/include/dirent.h,
- mdk-stage1/dietlibc/libpthread/thread_internal.h,
- mdk-stage1/insmod-modutils/util/snap_shot.c,
- mdk-stage1/dietlibc/include/shadow.h,
- mdk-stage1/dietlibc/include/sys/select.h,
- mdk-stage1/dietlibc/lib/strsep.c,
- mdk-stage1/dietlibc/include/rpc/auth_unix.h,
- mdk-stage1/dietlibc/lib/msgsnd.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c,
- mdk-stage1/insmod-modutils/util/logger.c,
- mdk-stage1/dietlibc/libpthread/Makefile,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c,
- mdk-stage1/dietlibc/lib/__ltostr.c, mdk-stage1/dietlibc/lib/strlen.c,
- mdk-stage1/dietlibc/libregex/rx.c,
- mdk-stage1/insmod-modutils/util/xsystem.c,
- mdk-stage1/dietlibc/liblatin1/latin1-islower.c,
- mdk-stage1/dietlibc/lib/raise.c,
- mdk-stage1/dietlibc/libpthread/pthread_setspecific.c,
- mdk-stage1/dietlibc/lib/semget.c,
- mdk-stage1/dietlibc/libcruft/inet_aton.c,
- mdk-stage1/dietlibc/lib/sigismember.c, mdk-stage1/dietlibc/librpc/svc.c,
- mdk-stage1/dietlibc/lib/sigemptyset.c,
- mdk-stage1/dietlibc/include/sys/vfs.h,
- mdk-stage1/insmod-modutils/include/elf_ppc.h,
- mdk-stage1/dietlibc/libugly/getprotoent.c,
- mdk-stage1/dietlibc/lib/__stat64.c, mdk-stage1/dietlibc/include/elf.h,
- mdk-stage1/dietlibc/lib/strncmp.c,
- mdk-stage1/dietlibc/lib/gethostname.c,
- mdk-stage1/dietlibc/lib/vsscanf.c, mdk-stage1/dietlibc/lib/cfmakeraw.c,
- mdk-stage1/dietlibc/lib/perror.c, mdk-stage1/dietlibc/include/time.h,
- mdk-stage1/dietlibc/lib/strncasecmp.c,
- mdk-stage1/dietlibc/lib/__lltostr.c,
- mdk-stage1/dietlibc/libpthread/pthread_key_create.c,
- mdk-stage1/dietlibc/include/fnmatch.h,
- mdk-stage1/dietlibc/libugly/time_table_spd.c,
- mdk-stage1/dietlibc/libstdio/stderr.c,
- mdk-stage1/insmod-modutils/util/arch64.c,
- mdk-stage1/dietlibc/libdl/dlerror.c,
- mdk-stage1/dietlibc/libcruft/mkstemp.c,
- mdk-stage1/dietlibc/libstdio/ungetc.c,
- mdk-stage1/dietlibc/libugly/tzfile.c, mdk-stage1/log.c,
- mdk-stage1/dietlibc/include/rpc/xdr.h,
- mdk-stage1/dietlibc/include/rpc/key_prot.h,
- mdk-stage1/insmod-modutils/include/elf_sparc.h,
- mdk-stage1/dietlibc/sparc/start.S,
- mdk-stage1/dietlibc/libcruft/getpwnam.c,
- mdk-stage1/dietlibc/libpthread/pthread_spinlock.c,
- mdk-stage1/dietlibc/include/sys/un.h,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c,
- mdk-stage1/insmod-busybox/insmod.c,
- mdk-stage1/insmod-modutils/include/elf_arm.h,
- mdk-stage1/dietlibc/alpha/unified.S,
- mdk-stage1/dietlibc/include/sys/io.h,
- mdk-stage1/dietlibc/lib/getsockname.c,
- mdk-stage1/dietlibc/i386/__testandset.S,
- mdk-stage1/dietlibc/libcruft/dnscruft.c,
- mdk-stage1/dietlibc/lib/sprintf.c, mdk-stage1/rp-pppoe/src/Makefile,
- mdk-stage1/dietlibc/lib/tcdrain.c,
- mdk-stage1/dietlibc/include/sys/time.h,
- mdk-stage1/dietlibc/lib/errno_location.c,
- mdk-stage1/dietlibc/liblatin1/latin1-isprint.c,
- mdk-stage1/dietlibc/libshell/glob.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c,
- mdk-stage1/dietlibc/lib/_brk.c,
- mdk-stage1/insmod-modutils/obj/obj_arm.c,
- mdk-stage1/dietlibc/lib/sys_siglist.c,
- mdk-stage1/dietlibc/libcruft/getgrnam.c,
- mdk-stage1/dietlibc/lib/strtok.c, mdk-stage1/dietlibc/include/unistd.h,
- mdk-stage1/dietlibc/lib/isascii.c,
- mdk-stage1/dietlibc/librpc/xdr_reference.c,
- mdk-stage1/dietlibc/sparc/urem.S, mdk-stage1/dietlibc/i386/__longjmp.S,
- mdk-stage1/dietlibc/include/sys/syslog.h, mdk-stage1/Makefile,
- mdk-stage1/dietlibc/lib/bind.c, mdk-stage1/dietlibc/libdl/Makefile,
- mdk-stage1/dietlibc/librpc/svc_simple.c,
- mdk-stage1/dietlibc/lib/lockf.c, mdk-stage1/dietlibc/lib/htons.c,
- mdk-stage1/dietlibc/lib/shmdt.c, mdk-stage1/dietlibc/i386/setjmp.S,
- mdk-stage1/dietlibc/syscalls.s/ioperm.S,
- mdk-stage1/dietlibc/lib/getenv.c,
- mdk-stage1/dietlibc/include/features.h,
- mdk-stage1/dietlibc/libpthread/CHANGES,
- mdk-stage1/dietlibc/include/arpa/inet.h,
- mdk-stage1/dietlibc/lib/strtoul.c,
- mdk-stage1/dietlibc/libstdio/fprintf.c,
- mdk-stage1/dietlibc/include/regex.h,
- mdk-stage1/dietlibc/lib/__stat64_cvt.c,
- mdk-stage1/dietlibc/libcruft/inet_ntop.c,
- mdk-stage1/dietlibc/include/getopt.h,
- mdk-stage1/insmod-modutils/obj/obj_ia64.c, mdk-stage1/minilibc.c,
- mdk-stage1/insmod-modutils/include/util.h,
- mdk-stage1/insmod-modutils/include/version.h,
- mdk-stage1/dietlibc/alpha/Makefile.add,
- mdk-stage1/dietlibc/include/net/if.h,
- mdk-stage1/dietlibc/lib/recvfrom.c, mdk-stage1/dietlibc/sparc/clone.S,
- mdk-stage1/dietlibc/lib/memccpy.c, mdk-stage1/dietlibc/lib/strtoull.c,
- mdk-stage1/dietlibc/libcruft/getgrgid.c,
- mdk-stage1/dietlibc/librpc/auth_unix.c,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/include/strings.h,
- mdk-stage1/insmod-modutils/include/elf_alpha.h,
- mdk-stage1/dietlibc/lib/execv.c,
- mdk-stage1/dietlibc/include/sys/param.h,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c,
- mdk-stage1/dietlibc/librpc/xdr_mem.c,
- mdk-stage1/dietlibc/libcruft/res_init.c,
- mdk-stage1/dietlibc/libpthread/pthread_detach.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c,
- mdk-stage1/newt/Makefile, mdk-stage1/dietlibc/lib/isatty.c,
- mdk-stage1/dietlibc/include/sys/mtio.h,
- mdk-stage1/dietlibc/lib/memcmp.c,
- mdk-stage1/dietlibc/include/sys/sysinfo.h,
- mdk-stage1/dietlibc/librpc/clnt_simple.c,
- mdk-stage1/dietlibc/lib/vfork.c, mdk-stage1/dietlibc/lib/isalpha.c,
- mdk-stage1/dietlibc/lib/strncpy.c, mdk-stage1/dietlibc/lib/strcmp.c,
- mdk-stage1/insmod-modutils/include/obj.h,
- mdk-stage1/dietlibc/include/rpc/clnt.h, mdk-stage1/frontend.h,
- mdk-stage1/dietlibc/libcruft/getpass.c, mdk-stage1/dietlibc/lib/abort.c,
- mdk-stage1/dietlibc/syscalls.s/stime.S,
- mdk-stage1/dietlibc/sparc/fork.S, mdk-stage1/dietlibc/lib/readdir.c,
- mdk-stage1/dietlibc/lib/sbrk.c,
- mdk-stage1/dietlibc/include/sys/reboot.h,
- mdk-stage1/dietlibc/syscalls.s/getresuid.S,
- mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c,
- mdk-stage1/dietlibc/include/limits.h, mdk-stage1/dietlibc/lib/putenv.c,
- mdk-stage1/dietlibc/include/paths.h,
- mdk-stage1/dietlibc/librpc/pmap_prot2.c,
- mdk-stage1/dietlibc/librpc/pmap_clnt.c,
- mdk-stage1/dietlibc/lib/memcpy.c,
- mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
- mdk-stage1/dietlibc/syscalls.s/_llseek.S,
- mdk-stage1/dietlibc/include/setjmp.h,
- mdk-stage1/insmod-modutils/obj/obj_m68k.c,
- mdk-stage1/dietlibc/lib/tcgetpgrp.c, mdk-stage1/dietlibc/lib/abs.c,
- mdk-stage1/dietlibc/Makefile, mdk-stage1/dietlibc/include/net/route.h,
- mdk-stage1/dietlibc/syscalls.s/fstat64.S, mdk-stage1/mar/Makefile,
- mdk-stage1/dietlibc/include/rpc/auth.h, mdk-stage1/dietlibc/ppc/start.S,
- mdk-stage1/dietlibc/lib/assert_fail.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc.c,
- mdk-stage1/dietlibc/lib/if_nametoindex.c,
- mdk-stage1/dietlibc/include/inttypes.h, mdk-stage1/dietlibc/lib/atoi.c,
- mdk-stage1/dietlibc/librpc/svc_tcp.c,
- mdk-stage1/dietlibc/alpha/setjmp.S,
- mdk-stage1/dietlibc/include/net/if_arp.h, mdk-stage1/ppp/pppd/Makefile,
- mdk-stage1/insmod-modutils/obj/obj_common.c,
- mdk-stage1/dietlibc/librpc/authunix_prot.c,
- mdk-stage1/dietlibc/lib/longjmp.c,
- mdk-stage1/dietlibc/libugly/getmntent.c,
- mdk-stage1/insmod-modutils/obj/obj_load.c, mdk-stage1/dietlibc/diet.c,
- mdk-stage1/dietlibc/libstdio/fwrite.c,
- mdk-stage1/insmod-modutils/obj/obj_mips.c,
- mdk-stage1/dietlibc/libugly/asprintf.c,
- mdk-stage1/dietlibc/librpc/clnt_udp.c,
- mdk-stage1/dietlibc/lib/recvmsg.c, mdk-stage1/dietlibc/lib/sendto.c,
- mdk-stage1/dietlibc/include/endian.h,
- mdk-stage1/dietlibc/libstdio/stdin.c,
- mdk-stage1/dietlibc/libdl/dlclose.c, mdk-stage1/bzlib/Makefile,
- mdk-stage1/Makefile.common, mdk-stage1/dietlibc/dietdirent.h,
- mdk-stage1/insmod-modutils/util/xstrcat.c,
- mdk-stage1/dietlibc/libpthread/pthread_testcancel.c,
- mdk-stage1/dietlibc/libshell/realpath.c, mdk-stage1/rescue-gui.c,
- mdk-stage1/dietlibc/lib/tcsetattr.c,
- mdk-stage1/dietlibc/libstdio/fgets.c,
- mdk-stage1/dietlibc/include/rpc/netdb.h,
- mdk-stage1/dietlibc/lib/sscanf.c, mdk-stage1/dietlibc/lib/creat.c,
- mdk-stage1/dietlibc/lib/getdomainname.c,
- mdk-stage1/dietlibc/libstdio/fclose.c,
- mdk-stage1/dietlibc/lib/vsnprintf.c, mdk-stage1/dietlibc/lib/ispunct.c,
- mdk-stage1/insmod-modutils/util/sys_oim.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c,
- mdk-stage1/dietlibc/sparc/mmap.c, mdk-stage1/dietlibc/dietstdio.h,
- mdk-stage1/dietlibc/librpc/xdr_array.c, mdk-stage1/init.c,
- mdk-stage1/dietlibc/lib/__isnan.c,
- mdk-stage1/dietlibc/include/sys/resource.h,
- mdk-stage1/dietlibc/lib/tolower.c,
- mdk-stage1/dietlibc/alpha/__longjmp.S,
- mdk-stage1/dietlibc/libpthread/pthread_join.c,
- mdk-stage1/dietlibc/libstdio/fopen.c,
- mdk-stage1/dietlibc/syscalls.s/umount2.S,
- mdk-stage1/dietlibc/include/signal.h,
- mdk-stage1/dietlibc/librpc/rpc_callmsg.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c,
- mdk-stage1/dietlibc/i386/clone.S,
- mdk-stage1/insmod-modutils/include/elf_i386.h,
- mdk-stage1/dietlibc/lib/__dtostr.c,
- mdk-stage1/dietlibc/syscalls.s/ipc.S,
- mdk-stage1/dietlibc/include/sys/cdefs.h,
- mdk-stage1/dietlibc/include/sys/types.h,
- mdk-stage1/insmod-modutils/util/sys_gks.c,
- mdk-stage1/insmod-modutils/util/xrealloc.c,
- mdk-stage1/dietlibc/include/sys/shm.h,
- mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname_r.c,
- mdk-stage1/dietlibc/lib/lseek64.c,
- mdk-stage1/dietlibc/libdl/_dl_search.c,
- mdk-stage1/dietlibc/dietfeatures.h,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr.c,
- mdk-stage1/dietlibc/librpc/svc_udp.c,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c,
- mdk-stage1/dietlibc/libugly/localtime_r.c,
- mdk-stage1/dietlibc/include/netdb.h, mdk-stage1/dietlibc/lib/semop.c,
- mdk-stage1/insmod-modutils/obj/obj_i386.c,
- mdk-stage1/dietlibc/lib/opendir.c, mdk-stage1/dietlibc/libugly/system.c,
- mdk-stage1/dietlibc/i386/start.S, mdk-stage1/dietlibc/include/dlfcn.h,
- mdk-stage1/dietlibc/lib/usleep.c, mdk-stage1/dietlibc/lib/strchr.c,
- mdk-stage1/dietlibc/ppc/unified.S,
- mdk-stage1/dietlibc/syscalls.s/waitpid.S,
- mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c,
- mdk-stage1/dietlibc/lib/memset.c, mdk-stage1/dietlibc/lib/__fstat64.c,
- mdk-stage1/dietlibc/include/sched.h,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c,
- mdk-stage1/dietlibc/lib/accept.c, mdk-stage1/dietlibc/lib/pread.c,
- mdk-stage1/dietlibc/.cvsignore, mdk-stage1/dietlibc/sparc/setjmp.S,
- mdk-stage1/dietlibc/librpc/pmap_rmt.c,
- mdk-stage1/insmod-modutils/util/xstrdup.c,
- mdk-stage1/dietlibc/include/sys/ioctl.h,
- mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c,
- mdk-stage1/dietlibc/lib/exec_lib.c,
- mdk-stage1/dietlibc/include/string.h,
- mdk-stage1/dietlibc/libpthread/pthread_atfork.c,
- mdk-stage1/insmod-modutils/include/elf_sparc64.h,
- mdk-stage1/dietlibc/include/assert.h, mdk-stage1/dietlibc/lib/connect.c,
- mdk-stage1/dietlibc/include/locale.h,
- mdk-stage1/dietlibc/libpthread/pthread_attr_init.c,
- mdk-stage1/dietlibc/lib/execl.c, mdk-stage1/dietlibc/lib/tcflush.c,
- mdk-stage1/dietlibc/libstdio/setvbuf.c,
- mdk-stage1/dietlibc/libpthread/README,
- mdk-stage1/insmod-modutils/include/elf_s390.h,
- mdk-stage1/dietlibc/libcruft/getlogin.c,
- mdk-stage1/dietlibc/lib/__lstat64.c, mdk-stage1/dietlibc/lib/strcpy.c,
- mdk-stage1/dietlibc/lib/strtod.c, mdk-stage1/dietlibc/libdl/_dl_open.c,
- mdk-stage1/dietlibc/include/stdio.h,
- mdk-stage1/insmod-modutils/util/sys_nim.c,
- mdk-stage1/dietlibc/lib/sigdelset.c, mdk-stage1/dietlibc/libdl/dlsym.c,
- mdk-stage1/dietlibc/lib/setsockopt.c,
- mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c,
- mdk-stage1/dietlibc/libcruft/inet_ntoa.c,
- mdk-stage1/dietlibc/lib/vsprintf.c,
- mdk-stage1/insmod-modutils/util/alias.h,
- mdk-stage1/dietlibc/include/grp.h, mdk-stage1/pcmcia_/Makefile,
- mdk-stage1/dietlibc/lib/isprint.c,
- mdk-stage1/dietlibc/syscalls.s/setresuid.S,
- mdk-stage1/dietlibc/syscalls.s/lstat64.S,
- mdk-stage1/dietlibc/lib/__getcwd.c, mdk-stage1/dietlibc/lib/isdigit.c,
- mdk-stage1/dietlibc/lib/semctl.c, mdk-stage1/dietlibc/include/rpc/rpc.h,
- mdk-stage1/dietlibc/lib/strstr.c,
- mdk-stage1/dietlibc/include/rpc/pmap_rmt.h,
- mdk-stage1/dietlibc/include/rpc/types.h,
- mdk-stage1/dietlibc/libcruft/inet_pton.c,
- mdk-stage1/insmod-modutils/util/sys_qm.c,
- mdk-stage1/dietlibc/include/utmp.h, mdk-stage1/dietlibc/lib/sleep.c,
- mdk-stage1/dietlibc/libugly/asctime_r.c,
- mdk-stage1/dietlibc/include/netinet/in.h,
- mdk-stage1/dietlibc/syscalls.s/sendfile.S,
- mdk-stage1/dietlibc/include/sys/msg.h,
- mdk-stage1/dietlibc/include/rpc/svc.h,
- mdk-stage1/dietlibc/include/netinet/ip.h,
- mdk-stage1/dietlibc/libcruft/getpagesize.c,
- mdk-stage1/dietlibc/sparc/unified.S,
- mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/dietlibc/lib/execlp.c, mdk-stage1/dietlibc/libstdio/fread.c,
- mdk-stage1/dietlibc/librpc/xdr.c, mdk-stage1/ppp/include/net/ppp_defs.h,
- mdk-stage1/dietlibc/lib/recv.c, mdk-stage1/dietlibc/lib/reboot.c,
- mdk-stage1/dietlibc/librpc/svc_auth_unix.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
- mdk-stage1/dietlibc/include/errno.h,
- mdk-stage1/dietlibc/syscalls.s/stat64.S,
- mdk-stage1/dietlibc/include/sys/uio.h,
- mdk-stage1/dietlibc/librpc/pmap_getport.c,
- mdk-stage1/dietlibc/libstdio/printf.c,
- mdk-stage1/dietlibc/include/sys/times.h,
- mdk-stage1/dietlibc/lib/sigaddset.c, mdk-stage1/dietlibc/lib/sigjmp.c,
- mdk-stage1/dietlibc/lib/getopt.c,
- mdk-stage1/dietlibc/lib/if_indextoname.c,
- mdk-stage1/dietlibc/libcrypt/crypt.c,
- mdk-stage1/insmod-modutils/Makefile,
- mdk-stage1/dietlibc/include/rpc/pmap_prot.h,
- mdk-stage1/dietlibc/libstdio/fflush.c,
- mdk-stage1/dietlibc/libugly/popen.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c,
- mdk-stage1/dietlibc/ppc/mmap.c, mdk-stage1/dietlibc/include/sys/poll.h,
- mdk-stage1/dietlibc/librpc/getrpcport.c,
- mdk-stage1/dietlibc/librpc/auth_none.c,
- mdk-stage1/dietlibc/lib/pread64.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c,
- mdk-stage1/insmod-modutils/util/config.c,
- mdk-stage1/dietlibc/lib/strtoll.c, mdk-stage1/dietlibc/include/resolv.h,
- mdk-stage1/insmod-modutils/util/sys_dm.c,
- mdk-stage1/dietlibc/lib/bsearch.c, mdk-stage1/dietlibc/lib/strcasecmp.c,
- mdk-stage1/dietlibc/sparc/shmat.c,
- mdk-stage1/dietlibc/librpc/pmap_getmaps.c,
- mdk-stage1/dietlibc/ppc/__testandset.S,
- mdk-stage1/dietlibc/libugly/setenv.c,
- mdk-stage1/dietlibc/include/alloca.h, mdk-stage1/dietlibc/libdl/README,
- mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c,
- mdk-stage1/insmod-busybox/Makefile,
- mdk-stage1/dietlibc/librpc/clnt_generic.c,
- mdk-stage1/dietlibc/lib/memmove.c, mdk-stage1/dietlibc/sparc/pipe.S,
- mdk-stage1/dietlibc/include/daemon.h,
- mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c,
- mdk-stage1/dietlibc/include/math.h, mdk-stage1/dietlibc/sparc/udiv.S,
- mdk-stage1/dietlibc/lib/remove.c,
- mdk-stage1/dietlibc/include/sys/sendfile.h,
- mdk-stage1/dietlibc/libugly/isleap.c,
- mdk-stage1/dietlibc/syscalls.s/syslog.S,
- mdk-stage1/insmod-modutils/obj/obj_reloc.c,
- mdk-stage1/dietlibc/lib/getpeername.c,
- mdk-stage1/dietlibc/include/sys/ipc.h, mdk-stage1/dietlibc/lib/rand.c,
- mdk-stage1/dietlibc/include/ftw.h,
- mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c,
- mdk-stage1/dietlibc/lib/shmat.c,
- mdk-stage1/insmod-modutils/include/module.h,
- mdk-stage1/dietlibc/librpc/xdr_stdio.c,
- mdk-stage1/insmod-modutils/util/xmalloc.c,
- mdk-stage1/dietlibc/sparc/umul.S,
- mdk-stage1/insmod-modutils/include/kerneld.h,
- mdk-stage1/dietlibc/librpc/clnt_raw.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c,
- mdk-stage1/dietlibc/libstdio/stdout.c, mdk-stage1/dietlibc/README,
- mdk-stage1/dietlibc/libcruft/herrno_location.c,
- mdk-stage1/dietlibc/lib/shmctl.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c,
- mdk-stage1/dietlibc/librpc/xdr_rec.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c,
- mdk-stage1/dietlibc/include/rpc/rpc_msg.h,
- mdk-stage1/dietlibc/syscalls.h, mdk-stage1/dietlibc/lib/toupper.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_open.c,
- mdk-stage1/dietlibc/lib/sigfillset.c, mdk-stage1/dietlibc/lib/listen.c,
- mdk-stage1/dietlibc/include/glob.h, mdk-stage1/dietlibc/libdl/_dl_int.h,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c,
- mdk-stage1/dietlibc/include/sys/mount.h, mdk-stage1/disk.c,
- mdk-stage1/dietlibc/lib/socket.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c,
- mdk-stage1/dietlibc/libugly/strftime.c,
- mdk-stage1/dietlibc/lib/shutdown.c, mdk-stage1/insmod-modutils/insmod.c,
- mdk-stage1/dietlibc/lib/msgctl.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname2.c,
- mdk-stage1/dietlibc/include/rpc/pmap_clnt.h,
- mdk-stage1/dietlibc/syscalls.s/pause.S,
- mdk-stage1/dietlibc/syscalls.s/socketcall.S,
- mdk-stage1/dietlibc/libpthread/pthread_cond_init.c,
- mdk-stage1/dietlibc/liblatin1/latin1-isupper.c,
- mdk-stage1/dietlibc/lib/islower.c,
- mdk-stage1/dietlibc/sparc/Makefile.add,
- mdk-stage1/dietlibc/include/sys/wait.h,
- mdk-stage1/dietlibc/lib/isalnum.c, mdk-stage1/dietlibc/libstdio/fseek.c,
- mdk-stage1/slang/Makefile, mdk-stage1/minilibc.h,
- mdk-stage1/dietlibc/librpc/getrpcent.c, mdk-stage1/dietlibc/AUTHOR,
- mdk-stage1/dietlibc/lib/getsockopt.c,
- mdk-stage1/dietlibc/libdl/_dl_jump.S, mdk-stage1/dietlibc/lib/atol.c,
- mdk-stage1/dietlibc/lib/isspace.c,
- mdk-stage1/dietlibc/syscalls.s/__pread.S,
- mdk-stage1/dietlibc/lib/strtol.c, mdk-stage1/dietlibc/lib/htonl.c,
- mdk-stage1/dietlibc/include/sys/sem.h,
- mdk-stage1/insmod-modutils/obj/obj_ppc.c,
- mdk-stage1/dietlibc/lib/shmget.c,
- mdk-stage1/dietlibc/include/rpc/auth_des.h,
- mdk-stage1/dietlibc/libcruft/getpwuid.c,
- mdk-stage1/dietlibc/libugly/logging.c,
- mdk-stage1/dietlibc/libcruft/dnscruft2.c,
- mdk-stage1/dietlibc/libpthread/pthread_create.c,
- mdk-stage1/dietlibc/alpha/clone.S,
- mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c: Merge from
- R9_0-AMD64, most notably:
- - AMD64 support to insmod-busybox, minilibc, et al.
- - Sync with insmod-modutils 2.4.19 something but everyone should use
- dietlibc nowadays
- - Factor out compilation and prefix with $(DIET) for dietlibc builds
- - 64-bit & varargs fixes
-
- * mdk-stage1/stdio-frontend.c: typo from post-rereading
- Merge from R9_0-AMD64, most notably:
- - AMD64 support to insmod-busybox, minilibc, et al.
- - Sync with insmod-modutils 2.4.19 something but everyone should use
- dietlibc nowadays
- - Factor out compilation and prefix with $(DIET) for dietlibc builds
- - 64-bit & varargs fixes
-
- * mdk-stage1/dietlibc/threadsafe.sh, mdk-stage1/dietlibc/findcflags.sh:
- add missing scripts
-
- * mdk-stage1/dietlibc/libpthread/thread_key.c,
- mdk-stage1/dietlibc/lib/puts.c, mdk-stage1/dietlibc/lib/memccmp.c,
- mdk-stage1/dietlibc/libcruft/entlib.c,
- mdk-stage1/dietlibc/libcruft/grent.c, mdk-stage1/dietlibc/dirstream.h,
- mdk-stage1/dietlibc/syscalls.s/ptrace.s,
- mdk-stage1/dietlibc/lib/set_errno.c, mdk-stage1/dietlibc/lib/vprintf.c,
- mdk-stage1/dietlibc/syscalls.s/sigaction.S,
- mdk-stage1/dietlibc/libcruft/entlib.h, mdk-stage1/dietlibc/start.h,
- mdk-stage1/dietlibc/lib/__xmknod.c, mdk-stage1/dietlibc/lib/alarm.c,
- mdk-stage1/dietlibc/libcruft/pwent.c,
- mdk-stage1/dietlibc/libstdio/fputc.c,
- mdk-stage1/dietlibc/alpha/signal.S,
- mdk-stage1/dietlibc/libdl/elf_hash.c, mdk-stage1/dietlibc/dietstdarg.h,
- mdk-stage1/dietlibc/lib/speed.c,
- mdk-stage1/dietlibc/syscalls.s/llseek.S,
- mdk-stage1/dietlibc/lib/getservent.c,
- mdk-stage1/dietlibc/syscalls.s/sigsuspend.S,
- mdk-stage1/dietlibc/lib/errlist.c, mdk-stage1/dietlibc/lib/nop.c,
- mdk-stage1/dietlibc/syscalls.s/signal.S,
- mdk-stage1/dietlibc/libcruft/spent.c,
- mdk-stage1/dietlibc/syscalls.s/sigprocmask.S,
- mdk-stage1/dietlibc/libpthread/thread_internal.c,
- mdk-stage1/dietlibc/alpha/sigprocmask.S,
- mdk-stage1/dietlibc/lib/random.c,
- mdk-stage1/dietlibc/syscalls.s/sigpending.S,
- mdk-stage1/dietlibc/syscalls.s/exit.S,
- mdk-stage1/dietlibc/syscalls.s/pwrite.S,
- mdk-stage1/dietlibc/libugly/daemon.c,
- mdk-stage1/dietlibc/libstdio/fgetc.c,
- mdk-stage1/dietlibc/lib/vfprintf.c: even more removals
-
- * mdk-stage1/dietlibc/dieticonv.h, mdk-stage1/dietlibc/dietlibm.h,
- mdk-stage1/dietlibc/dyn_stop.c, mdk-stage1/dietlibc/binshstr.h,
- mdk-stage1/dietlibc/linuxnet.h, mdk-stage1/dietlibc/parselib.h,
- mdk-stage1/dietlibc/dietuglyweaks.h, mdk-stage1/dietlibc/dyn_start.c,
- mdk-stage1/dietlibc/dietdns.h: latest missing files
-
-2003/06/04 Pixel <pixel at mandrakesoft.com>
-
- * fsedit.pm: allow specifying lv_name in auto_installs (not tested!)
-
- * install_steps.pm: don't use framebuffer after install on i845 (even if
- framebuffer works during install)
- (this implies no graphical boot)
-
- * diskdrake/interactive.pm, lvm.pm: allow choosing lv name (thanks to
- Brian Murrell)
-
-2003/06/03 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po, share/po/ja.po, share/po/vi.po, share/po/sq.po: updated
- Estonien, Japanese, Albanian and Vietnamese po files
-
-2003/06/02 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Update
-
-2003/06/02 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: updated Spanish translations
-
-2003/05/31 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sr@Latn.po,
- share/po/sq.po, keyboard.pm, share/po/it.po, share/po/nl.po,
- share/po/eu.po, share/po/es.po, share/po/de.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: changed the name of the russian phonetic layout
-
-2003/05/30 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * standalone/mousedrake, drakxtools.spec: add mouse test in non-embedded
- mode (#2049)
-
-2003/05/30 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sr@Latn.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated Vietnamese file
-
- * share/po/de.po: updated German file
- updated Vietnamese file
-
-2003/05/28 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/isdn.pm: forgot to commit the new configuration step
- - remove isdn-light config (seen with isdn4net maintainer)
- - new step to keep old device configuration
-
- * network/isdn_consts.pm: s/my/our/ to make perl_checker happy in isdn.pm
-
-2003/05/28 François Pons <fpons at mandrakesoft.com>
-
- * network/modem.pm: remove /dev/ttyS14 link by drakconnect.
-
-2003/05/28 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: grow MAX_ARP_RETRIES from 4 to 7 after erwan's
- suggestion
-
-2003/05/28 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/tg.po, share/po/id.po, share/po/ru.po, share/po/ro.po,
- share/po/th.po, share/po/is.po, share/po/no.po, share/po/hr.po,
- share/po/tr.po, share/po/ta.po, share/po/mt.po, share/po/sq.po,
- share/po/it.po, share/po/nl.po, share/po/fi.po, share/po/he.po,
- share/po/lt.po, share/po/lv.po, share/po/hu.po: updated Albanian file
-
-2003/05/28 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * network/isdn_consts.pm: fix isdndata export in stripped package
-
-2003/05/27 Daouda Lo <daouda at mandrakesoft.com>
-
- * any.pm:
- - user name must begin with a letter but not with a number or - or _
-
-2003/05/27 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: updated Spanish translation
-
-2003/05/27 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/be.po, share/po/bs.po, share/po/gl.po, share/po/de.po,
- share/po/br.po, share/po/cy.po, share/po/af.po, share/po/et.po,
- share/po/az.po, share/po/da.po, share/po/ca.po, share/po/cs.po,
- share/po/bg.po, share/po/ar.po, share/po/ga.po: updated Estonian file
-
-2003/05/27 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-0.5mdk
- 9.2-0.4mdk
-
-2003/05/26 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/uz.po, share/po/sk.po, share/po/wa.po, share/po/pt_BR.po,
- share/po/sl.po, share/po/et.po, share/po/zh_TW.po, share/po/ja.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/sr@Latn.po, share/po/sq.po, share/po/uk.po, share/po/eu.po,
- share/po/es.po, share/po/DrakX.pot, share/po/ko.po, share/po/sv.po,
- share/po/sr.po, share/po/fi.po, share/po/pl.po, share/po/eo.po,
- share/po/el.po: updated pot file
-
-2003/05/26 Pixel <pixel at mandrakesoft.com>
-
- * any.pm: be perl_checker prototype compliant
-
- * commands: use formatError to display the error message
- (to have a better error message than "SCALAR(0x....) at ...")
-
- * interactive/http.pm, interactive.pm, interactive/newt.pm:
- - methods with no argument are not functions with no argument!
- - perl_checker fixes
-
-2003/05/24 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * keyboard.pm: Added new toggle possibilities to the menu; use "en_US" for
- US layout
-
-2003/05/23 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/network.pm: #3628 /etc/resolv.conf explicit rights set (by titi)
-
-2003/05/23 gbeauchesne
-
- * any.pm, bootloader.pm: Kernel and initrd are now in /boot/efi/mandrake
- on IA-64
-
- * drakxtools.spec: Update changelog
-
- * mdk-stage1/insmod-modutils/obj/Makefile:
- -Wno-error on IA-64 too for insmod-modutils/obj
-
- * install_gtk.pm, share/list.ia64: Clean-ups. Remove
- /var/log/XFree86.0.log from filelist
-
-2003/05/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
-
- * share/po/ja.po: updated Japanese file
-
-2003/05/23 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/draksplash, network/network.pm, network/modem.pm,
- standalone/draksec, install_steps.pm, handle_configs.pm,
- standalone/drakautoinst, standalone/drakpxe, my_gtk.pm,
- partition_table/sun.pm, install_steps_interactive.pm,
- standalone/harddrake2, standalone/drakboot, standalone/drakTermServ,
- standalone/net_monitor, standalone/drakbackup, partition_table/raw.pm,
- partition_table.pm, interactive/http.pm, printer/main.pm,
- security/msec.pm, diskdrake/interactive.pm, partition_table/bsd.pm,
- standalone/fileshareset, standalone/drakfloppy, standalone/drakfont,
- standalone/drakconnect, standalone/drakgw, interactive/gtk.pm,
- standalone/drakbug, standalone/drakperm, fsedit.pm, .perl_checker,
- printer/printerdrake.pm: perl_checker fixes
-
- * drakxtools.spec: next release
-
- * standalone/drakfirewall: please perl_checker
-
- * standalone/logdrake: perl_checker fixes
- perl_checker fixes
-
-2003/05/22 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/05/22 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sr@Latn.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
-2003/05/22 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: Fix differntial user file naming.
-
-2003/05/22 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * printer/printerdrake.pm: better english (#1342)
-
- * standalone/draksplash, standalone/logdrake: gtk+-2 specs prohibid
- playing with policy
-
- * drakxtools.spec: 9.2-0.3mdk
- next 9.2-0.3mdk bits
- fix #3485
-
- * network/netconnect.pm: kill some warnings catched by diagnostics pragma
-
- * standalone/drakconnect: gtk+-2 specs prohibid playing with policy
- (build_list) simplify ip parsing
- workaround #3341: display "Bad ip" instead of a blank field if ip
- wasn't correctly parsed as an ip ?
-
- * standalone/drakbug: do not mix interactive and ugtk2, let reusse
- create_dialog()
- do not set twice the title, ugtk2->new already do it for us
- remove unused variable
- gtk+-2 specs prohibid playing with policy
- (quit_global) inline it
- - further clean gui construction through functionnal ugtk2
- - do not gratuitously add:
- o " " around button labels
- o empty strings at end of kernel release
- - (parse_release) simplify
- - there's no need to keep a reference on field that we do not further
- use (distro release is parsed again when needed and kernel release
- is already stored in some variable)
- - do not pack nothing to widgets
- - simplify gui construction through create_packtable(), we really do
- not have to offuscate it like c programmers have to
- - one shall not be able to alter kernel or distribution release number
-
- * harddrake/data.pm: do not fork usb module drivers list but reuse
- list_modules one instead
-
- * share/po/fr.po: update fr translation
-
-2003/05/21 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/network.pm: add some ip checking (#853)
- remove old comments
-
-2003/05/21 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translations
-
-2003/05/21 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: fix gc sux in 1.117 modfiying function behaviour
- gtktext_insert: fix indenting of one line, takes that as a
- pretext to redo whole function identing without tabs
- beautify titi
-
-2003/05/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/be.po, share/po/uk.po, share/po/bg.po, share/po/sr.po,
- share/po/ru.po: put "yawerty" in cyrillic for languages using cyrillic
- alphabet
-
-2003/05/21 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.2-0.3mdk's first bits (more to com tomorrow)
-
- * standalone/drakboot: we already have fork()+exec() detect_loader, so
- there's no need to do
- it again
-
- * standalone/harddrake2: remove unused function that should never have
- come to live
- - help menu items are not checkable
- - do not display spurious "/" on menu buttons when embedded
- - (strip_first_underscore) let speedup the regexp
-
- * printer/gimp.pm: please gc
-
- * ugtk2.pm (gtktext_append) fix gtktext_insert() call
-
-2003/05/20 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Partially updated
-
-2003/05/20 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * modules/interactive.pm: fix BUG 2530, no more spurious window when
- insmoding fail
-
- * network/ethernet.pm: #763 #2336 fix alias in modules.conf
- perl_checker compliant
-
-2003/05/20 keld
-
- * share/po/da.po: Updates
- gi/perl-install/share/po/da.po
-
-2003/05/20 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po, share/po/fi.po, share/po/de.po: updated pot file
- updated German, Estonian and Finnish files
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/lt.po, share/po/he.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/tg.po,
- share/po/bs.po, share/po/uz.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/sr@Latn.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: updated pot file
-
-2003/05/20 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/scannerdrake (removeverticalbar) pixelate
- perl_checker fixes
-
- * Xconfig/xfreeX.pm: perl_checker fix
-
- * common.pm (set_permissions): owner and group are optional parameters
-
- * printer/gimp.pm: typo fix
- (pop_spaces) prevent infinite loop
- (addprinter,isprinterconfigured): remove temp variables
-
- * drakxtools.spec: 9.1-0.2mdk
- distriblint fix
- one last fix
- further bits for 9.2-0.1mdk
- first bits of 9.2-0.1mdk
-
- * printer/printerdrake.pm:
- - perl_checker fixes, which show up the following bugs:
- - printer::printerdrake::{setup_smb,setup_socket}(): do not use undef
- values, but reuse those we just calculate
- - printer::printerdrake::main(): fix printer::default::printer_type()
- callee
-
- - printer::printerdrake::check_network(): fix
- network::netconnect::main() callee
-
- * network/nfs.pm (find_servers): chomp is uneeded
- (find_exports) better behavior when regexp does not match
-
- * standalone/harddrake2: better explanation of the wp field
-
- * standalone/draksplash: perl_checker fixes
-
- * printer/detect.pm, standalone/printerdrake: perl_checker fixes
- printer::printerdrake::{setup_smb,setup_socket}(): do not use undef
- values, but reuse those
- we just calculate
- printer::printerdrake::main(): fix printer::default::printer_type()
- callee
-
- * my_gtk.pm: fix #3952: do not pass extra argument (gc altered
- common::take_screenshot() api in r1.172 but forget to alter all
- callees)
-
- * standalone/drakfont: try to simplify
- (put_font_dir): $/variable is unlikely what was initially intended
- (chk_empty_xfs_path): typo fix
- (search_dir_font_uninstall): further simplify
- (chk_empty_xfs_path):
- - any { !cdt} equals to every { cdt }
- - if_ is unneeded
-
- (search_dir_font_uninstall) map { if_(cdt, $_ } equals to grep { cdt }
- (file_ok_sel) prevent potential crash in perl regexp engine if sg bad
- happenned in the translation
- fix #3960: divide by zero execption
-
- * security/msec.pm:
- - fix #3616 (draksec discarding changes)
- - add a end of line btw at the end of file to please cat
-
- * standalone/drakedm: fix #1743: offer to restart the dm service
-
- * printer/main.pm: perl_checker fixes
- printer::printerdrake::{setup_smb,setup_socket}(): do not use undef
- values, but reuse those
- we just calculate
- printer::printerdrake::main(): fix printer::default::printer_type()
- callee
- prevent set_usermode() vs set_cups_autoconf() conflict
- restore service restart
-
- * .perl_checker: check again printerdrake, this would have prevent whoever
- altered
- network::netconnect::main() to forget some calle when updating all
- calle for new parameters signature :-(
-
- * bootloader.pm: for whatever reason, the second part of
- detect_bootloader()
- consolidation didn't make up into the cvs
-
- * modules.pm (probe_category): one regexp is enough for isdn
-
- * share/po/fr.po: update french translation
-
-2003/05/19 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: updated Spanish translations
-
-2003/05/19 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * printer/gimp.pm (gimp::pop_spaces): consolidate skipping of lines that
- are space ended
- perl_checker fixes
-
- * any.pm: in standalone drakboot, raise a wait message window so that the
- user can figure
- out what occurs (lilo installation being quite long)
-
- * bootloader.pm: fix #3560 (drakboot not updating bootloader label): the
- only confusing
- bug is that when one come back to drakboot main window after having
- altered the bootloader, the main window still list the old bootloader
- as the current bootloader.
- let update this label.
- btw consolidate bootloader detection in bootloader::detect_bootloader()
- further fix #2826 (lilo failling to handle entry with spaces): replace
- spaces by underscores in labels (image names are not likely to contain
- spaces) to prevent the error
- when configuring to install grub bootloader, we first install lilo, then
- grub.
-
- the logic is that we only reread /etc/lilo.conf[1], so we need to write
- /etc/lilo.conf. but when installing grub, we really do not need to run
- lilo, we
- only have to write its config file.
-
- [1] because grub/menu.lst lacks some data and because we do neither want
- to
- parse both config files nor to resolve conflicts between configuration
- let further consolidate make_label_lilo_compatible()
-
- * printer/main.pm:
- - (read_location, rip_location): simplify loop condition since once we
- get
- $location_end, we exit it
- - (rip_location): simplify @location build when no existing one
- - (get_cups_autoconf, set_cups_autoconf, get_usermode, set_usermode):
- simplify
- a lot through getVarsFromSh() and setVarsInSh()
-
- - (set_jap_textmode) simplify a lot through substInFile()
-
- now all /etc/sysconfig/printing accesses get done by MDK::Common::File
- (until
- shell template from libconf is used)
- perl_checker fixes
-
- * standalone/logdrake: dialog window is already modal
-
- * printer/cups.pm, printer/detect.pm, printer/office.pm,
- printer/default.pm, printer/services.pm, printer/printerdrake.pm:
- perl_checker fixes
-
- * standalone/drakboot: fix #3560 (drakboot not updating bootloader label):
- the only confusing
- bug is that when one come back to drakboot main window after having
- altered the bootloader, the main window still list the old bootloader
- as the current bootloader.
- let update this label.
- btw consolidate bootloader detection in bootloader::detect_bootloader()
-
- * network/network.pm: move expert stuff under the "advanced" button like
- in all other drakx/drakxtools code
-
- * network/nfs.pm: do not drop return values from regexp but use them to
- ensure we do not
- reuse capture buffers from previous one, which is really bad and
- trully buggy
-
- * lang.pm: %langs: first column is supposed to be localized in english
-
- * standalone/drakconnect: some drakconnect cleanups
-
- * standalone/lsnetdrake: simplify
-
- * standalone/harddrake2: localize drive capabilites (aka burning, dvd
- managment, ...)
-
- * drakxtools.spec: add a bug reference
- last 9.1-38mdk bits
- update perl-gtk0 users list (drakcronat being ported to gtk+2)
-
- * install_steps.pm: fix network::netconnect::save_conf() callee
-
-2003/05/16 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/netconnect.pm: add a step to warn user before writing settings
- (bug #852 and so)
-
-2003/05/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sr@Latn.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
-2003/05/16 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk2.pm: perl_checker fix
-
- * network/isdn_consts.pm: let it work
-
- * drakxtools.spec: first bits of 9.1-38mdk
-
-2003/05/15 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Typo fix
-
-2003/05/15 keld
-
- * share/po/da.po: updates
- gi/perl-install/share/po/da.po
-
-2003/05/15 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/ja.po, share/po/DrakX.pot: updated pot file
-
-2003/05/15 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * ugtk.pm: mark it as deprecated
-
- * standalone/harddrake2:
- - describe wp flag on ia32 cpus
- - make all field descriptions begin by a lower case letter
- - (create_dialog) :
- o options are passed through a hash ref
- o wrap text
- o update caller list
- - harddrake2: convert to use create_dialog() instead of
- interactive->warn
- (fix #3487)
-
- * standalone/drakfont (create_dialog) :
- - update caller list
- - add title parameter and update callers
- remove unused variable
- do not use interactive to get root capabilties, directly use
- require_root_capability()
- fix #1352 : do not add buggy font directories
- hide "mode switch" buttons to only enable to switch to the other mode,
- not the current one
-
- * ugtk2.pm (create_dialog) scroll window if needed
- - (create_dialog) :
- o options are passed through a hash ref
- o wrap text
- o update caller list
- - harddrake2: convert to use create_dialog() instead of
- interactive->warn
- (fix #3487)
- (create_dialog) :
- - update caller list
- - add title parameter and update callers
-
- * standalone/drakfloppy (create_dialog) :
- - update caller list
- - add title parameter and update callers
-
- * harddrake/data.pm: bump version
-
- * drakxtools.spec:
- - 9.1-37mdk
- - bump require in order to help rpm to update for new autoreq
-
-2003/05/14 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Some fixes and so...
- Updated partially
-
-2003/05/14 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * bootloader.pm: perl_checker fixes
-
- * standalone/drakfont:
- - uninline poulpy
- - use map instead of foreach in some places
- - (chk_empty_xfs_path): replacing foreach by map make obvious that we
- don't have to grep all items, grep will be enough
-
- - (put_font_dir): consolidate some code into convert_fonts; this make
- obvious there were some bug due to $/varname typo; this also reduce
- the message to translate ammount
-
-2003/05/13 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakTermServ: perl_checker cleaning
-
-2003/05/13 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakedm: perl_checker fix
-
- * .perl_checker: ignore URPM::Resolve until francois qiet it down
-
- * standalone/drakperm: better use get instead of _get
-
- * network/netconnect.pm:
- - gtkcreate_img is exported by helpers tag in ugtk2
- - add a bug note: write_on_pixmap() is only in my_gtk, not in ugtk2 !
-
- * standalone/drakbug: make option managment look like real perl
-
- * standalone/drakgw: perl_checker fixes
-
- * Xconfig/main.pm (configure_everything_or_configure_chooser) keyboard and
- mouse
- paremeters really are optional, Xconfig::default::configure() handle
- the fact they're undefined for us
-
- * standalone/drakboot: let ugtk2->new manage the title setting
-
- * standalone/drakfont: better use s/_get/get/ and {get,set}_fraction
- instead of ->fraction
- helper
-
- * standalone/drakconnect:
- - remove 80% of perl_checker warnings
- - gtkbuttonset is not exported by ugtk2
-
- * standalone/drakTermServ: cleanups
-
- * standalone/drakfloppy:
- - add empty prototypes to help perl_checker
- - has_sub_trees: better use ||
-
- * standalone/drakxtv: help perl_checker by providing an empty prototype
-
-2003/05/12 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/isdn.pm: s/@isdn::isdndata/@isdndata/
-
-2003/05/12 Pixel <pixel at mandrakesoft.com>
-
- * interactive.pm: have the "Ok" in ask_from__add_modify_remove return true
- in default mode (eg: newt)
-
- * standalone/diskdrake: add "--list-hd" to please gbeauchesne
-
-2003/05/12 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: perl_checker compliance, differential mode
- option, explain adding directories
-
-2003/05/12 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * any.pm: use matched values only if matching did success
-
- * drakxtools.spec: help auto-provides
- 9.1-36mdk
-
- * standalone/drakboot:
- - pass enough dummy parameters to fs::merge_info_from_fstab
- - add empty prototypes to help perl_checker catch miss writeen func
- calls
- - do not log localized messages; what's more, this is supposed to be
- already logged by standalone
- - in testing mode:
- o do not enforce the need for bootsplash
- o do not really run mkinitrd
- - if bootsplash miss, we should just go back to main config window
-
-2003/05/10 keld
-
- * share/po/da.po: updates
- gi/perl-install/share/po/da.po
-
-2003/05/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/he.po: updated Hebrew file
-
-2003/05/07 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakconnect:
- - follow new network::netconnect::save_conf signature
- - remove call to network::netconnect::set_net_conf, no longer exist
-
- * network/netconnect.pm:
- - configuration stuff
- . rewrite sub save_conf, new signature is ($netcnx)
- . rewrite sub load_conf, connection type stored in
- /etc/sysconfig/drakconnect
- . remove sub read_raw_net_conf
- . shrink sub read_net_conf
- - drop if ($nb < 1 ), useless
- - perl_checker
-
- * network/isdn.pm: s|/sbin/isdnctrl|/usr/sbin/isdnctrl|
-
-2003/05/06 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: More entries
-
-2003/05/06 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/netconnect.pm:
- - remove sub intro
- - change sub main signature
- - drop !$::isWizard code
- - perl_checker
-
- * network/tools.pm:
- - drop !$::isWizard code
- - perl_checker
-
- * standalone/drakconnect:
- - drop !$::isWizard code
- - change netconnect::main signature
- - change network::modem::ppp_configure signature
- - perl_checker
- - cleanup
-
- * install_steps_interactive.pm: change network::netconnect::main signature
-
-2003/05/06 erwan
-
- * drakxtools.spec: Fix changelog
-
-2003/05/06 gbeauchesne
-
- * standalone/drakboot: Fix drakboot booloader methods for ia64 and amd64
-
-2003/05/06 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * keyboard.pm, share/po/sp.po, pixmaps/langs/lang-sh.png, lang.pm,
- share/po/sr.po, share/po/sr@Latn.po, pixmaps/langs/lang-sp.png: Renamed
- Serbian po files to follow standard (sr -> cyrillic, sr@Latn -> latin).
- 'sh' is used internally by DrakX for identifier by DrakX; and 'sh_YU'
- used as locale name, for latin Serbian, to avoid use of '@' character
- which may be problematic in some cases.
-
- * share/po/ru.po, share/po/he.po: updated Hebrew and Russian files
-
-2003/05/06 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: crash on add other files
- fix disabled incremental other files checkbox
- fix lack of incremental backups of other files
- fix broken daemon mode
- fix file remove issue
- I know it fails perl_checker - require ugtk2 never returns on console
-
-2003/05/05 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/ethernet.pm: perl_checker fixes
-
- * network/adsl.pm:
- - remove unused $intf in adsl_probe_info and adsl_ask_info
- - perl_checker fixes
-
- * network/netconnect.pm:
- - change configure and winmodemConfigure args (due to $intf drop)
-
- * network/modem.pm:
- - drop unused $intf in configure and winmodemConfigure
- - fix winmodem configuration behavior
- - perl_checker
-
-2003/05/02 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * network/ethernet.pm: fix typo
-
- * network/netconnect.pm, network/tools.pm, network/network.pm:
- perl_checker fixes
-
- * standalone/drakfont: fix sucky fonction (thanks to master guillaume)
-
-2003/04/30 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakfont: more perl_checker compliant
-
-2003/04/30 gbeauchesne
-
- * partition_table.pm: Revert XFS support, not stable enough especially on
- SMP
-
-2003/04/30 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * any.pm: have /etc/sysconfig/i18n in report.bug
-
- * ugtk2.pm: remove export for two removed functions
-
-2003/04/30 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/zh_CN.po: Changed charset encoding
-
-2003/04/30 Pixel <pixel at mandrakesoft.com>
-
- * install_steps.pm, http.pm, detect_devices.pm, network/isdn.pm,
- interactive.pm, Xconfig/resolution_and_depth.pm, c.pm,
- partition_table/sun.pm, network/adsl.pm, swap.pm, pkgs.pm, lang.pm,
- install2.pm: perl_checker compliance
-
-2003/04/30 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/service_harddrake: perl_checker fix
-
- * drakxtools.spec: 9.1-35mdk
-
- * standalone/drakfont:
- - no non empty prototypes
- - s/sub { one func call }/code ref/
- perl_checker fixes
-
- * ugtk2.pm (create_dialog):
- - second parameter really is optionnal
- - do not blindly set the title to logdrake, this is used elsewhere
-
- * security/level.pm: fix #3618
-
- * scanner.pm, standalone/drakperm, standalone/drakbug: perl_checker fixes
-
-2003/04/29 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated partially
-
-2003/04/29 Damien Chaumette <dchaumette at mandrakesoft.com>
-
- * standalone/drakfont: more perl_checker friendly
- empty install list at cancel
- prevent void list installation
-
-2003/04/29 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: perl_checker can parse me at last
-
-2003/04/29 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakboot: no doble module loading
-
- * modules.pm (get_parameters) perl-ize
-
- * drakxtools.spec: 9.1-34mdk
-
- * standalone/drakedm: fix #3701: return back to the display managers menu
- if one cancel the
- installation of the required packages
-
-2003/04/28 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * rescue/list.i386: add resize_reiserfs
-
-2003/04/28 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/bg.po, share/po/he.po: updated Hebrew and Bulgarian files
-
-2003/04/26 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
-
-2003/04/24 gbeauchesne
-
- * drakxtools.spec: 1.1.19-56mdk
-
-2003/04/24 Pixel <pixel at mandrakesoft.com>
-
- * Xconfig/various.pm, Xconfig/card.pm, standalone/draksec, scanner.pm,
- install_steps.pm, diskdrake/removable.pm, network/isdn.pm,
- interactive.pm, c.pm, partition_table/gpt.pm, resize_fat/directory.pm,
- install_steps_interactive.pm, network/netconnect.pm, mouse.pm,
- standalone/harddrake2, devices.pm, lang.pm, lvm.pm, install2.pm,
- raid.pm, crypto.pm, diskdrake/smbnfs_gtk.pm, commands.pm, ugtk2.pm,
- partition_table.pm, any.pm, loopback.pm, Xconfig/xfree3.pm,
- sbus_probing/main.pm, interactive/http.pm, diskdrake/interactive.pm,
- interactive/stdio.pm, pkgs.pm, interactive/newt.pm, harddrake/sound.pm,
- services.pm, security/level.pm, fs.pm, install_messages.pm,
- install_steps_auto_install.pm, harddrake/data.pm, keyboard.pm,
- diskdrake/hd_gtk.pm, Xconfig/monitor.pm, fsedit.pm, modules.pm,
- common.pm, detect_devices.pm, network/tools.pm, network/shorewall.pm,
- install_any.pm, timezone.pm: perl_checker adaptations + fixes
-
-2003/04/24 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: fix conflict with perl-Locale-gettext
-
-2003/04/23 gbeauchesne
-
- * share/list.x86_64, rescue/list.x86_64, partition_table.pm: add xfs for
- amd64
-
-2003/04/23 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * rescue/list: file-4.02
-
-2003/04/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/tg.po, share/po/uz.po, share/po/sk.po, share/po/ru.po,
- share/po/ro.po, share/po/wa.po, share/po/pt_BR.po, share/po/th.po,
- share/po/sl.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/tr.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/sq.po,
- share/po/uk.po, share/po/pl.po, share/po/sr.po, share/po/sv.po,
- share/po/sp.po, share/po/help-it.pot: updated pot file
-
-2003/04/23 Pixel <pixel at mandrakesoft.com>
-
- * help.pm: add prototypes
-
- * share/po/help_xml2pm.pl: add prototypes to help.pm
-
-2003/04/23 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.1-32mdk
- - localedrake is part of drakxtools-newt, so does its menu entry (and
- sanitize its entry btw)
- - drakxtools-newt: add the needed post and postun macros
- - sort provides'n obsoletes, add missing drakfloppy
-
- * share/po/fr.po: update french translation
-
-2003/04/22 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/et.po: updated pot file
- updated pot file
-
- * share/po/bs.po, share/po/id.po, share/po/gl.po, share/po/br.po,
- share/po/is.po, share/po/no.po, share/po/af.po, share/po/az.po,
- share/po/ja.po, share/po/hr.po, share/po/mt.po, share/po/fr.po,
- share/po/ga.po, share/po/nl.po, share/po/it.po, share/po/be.po,
- share/po/eu.po, share/po/es.po, share/po/ko.po, share/po/DrakX.pot,
- share/po/fi.po, share/po/de.po, share/po/lt.po, share/po/he.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/eo.po,
- share/po/lv.po, share/po/bg.po, share/po/cs.po, share/po/el.po,
- share/po/hu.po, share/po/ar.po: updated pot file
-
-2003/04/22 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: fix typos and cleanup syntax
-
- * install_any.pm: perl_checker compliance for optional method arguments
- fix bug #3652 (grub must be installed for a loopback install)
-
- * share/po/help_xml2pm.pl, help.pm: fix typo (help.pm must return a true
- value)
- per Pablo's request:
- - create a mini header in the generated help-*.pot files
- - guilabel, guibutton and guimenu now uses %s to separate more cleanly
- what
- comes is doc and what is gui text
- !! the new generated help.pm has a different interface, non-backward
- compliant !!
-
- * Xconfig/xfree3.pm, Xconfig/xfreeX.pm, install_steps_gtk.pm,
- Xconfig/xfree.pm: perl_checker compliance for optional method arguments
-
- * interactive.pm: perl_checker compliance for optional method arguments
- adapt to new help.pm
-
- * share/po/help-fr.pot, share/po/help-de.pot, share/po/help-ru.pot,
- share/po/help-es.pot, share/po/help-it.pot: per Pablo's request:
- - create a mini header in the generated help-*.pot files
- - guilabel, guibutton and guimenu now uses %s to separate more cleanly
- what
- comes is doc and what is gui text
- !! the new generated help.pm has a different interface, non-backward
- compliant !!
-
-2003/04/22 tpittich
-
- * share/po/sk.po: fixed slovak translation (thanks to Stanislav Visnovsky
- and Zdenko Podobny)
-
-2003/04/22 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/harddrake2: array costs less than a hash
-
- * drakxtools.spec: 9.1-31mdk
-
-2003/04/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/it.po: updated Italian file
-
-2003/04/21 Pixel <pixel at mandrakesoft.com>
-
- * keyboard.pm: 'Option "XkbCompat" "group_led"' is no good because
- it means that effectively NO other compatibility settings
- are included i.e. NONE of standard XFree86 keys work,
- including Ctrl-Alt-Fx, Ctrl-Alt-KP+, Ctrl-Alt-KP- etc.
- 'Option "XkbCompat" "default+group_led"' is much better
- (thanks Andrey Borzenkov)
-
- * share/rpmsrate: have bison and flex installed when DEVELOPMENT is chosen
- (thanks to Adam
- Williamson)
-
-2003/04/18 François Pons <fpons at mandrakesoft.com>
-
- * install_any.pm: make all CD as update (as it should have been to allow
- updates to be resolved).
-
-2003/04/17 gbeauchesne
-
- * share/list.x86_64: Add raid & reiserfs tools
-
- * drakxtools.spec: Use RPM_OPT_FLAGS when compiling tools
- (rpcinfo-flushed)
- 1.1.9-55mdk
-
- * tools/Makefile: Compile rpcinfo-flushed/xhost+ with -Os so that code
- size is reduced
- and magically fixed on hammer. ;-)
-
-2003/04/17 Pixel <pixel at mandrakesoft.com>
-
- * fs.pm: another perl_checker optional parameter compliance
- new perl_checker compliance
-
- * Xconfig/various.pm, network/network.pm, network/modem.pm,
- security/various.pm, standalone/draksec, partition_table/dos.pm,
- scanner.pm, install_steps.pm, Xconfig/parse.pm, network/isdn.pm,
- interactive.pm, resize_fat/directory.pm, install_steps_interactive.pm,
- network/netconnect.pm, Xconfig/xfreeX.pm, mouse.pm, devices.pm, lang.pm,
- resize_fat/boot_sector.pm, network/drakfirewall.pm,
- modules/interactive.pm, standalone/diskdrake, crypto.pm,
- Xconfig/main.pm, diskdrake/smbnfs_gtk.pm, install_interactive.pm,
- partition_table/raw.pm, ugtk2.pm, partition_table.pm, any.pm,
- install_steps_gtk.pm, partition_table/mac.pm, ftp.pm,
- diskdrake/interactive.pm, pkgs.pm, interactive/newt.pm,
- network/ethernet.pm, Xconfig/resolution_and_depth.pm, bootloader.pm,
- diskdrake/hd_gtk.pm, Xconfig/monitor.pm, fsedit.pm,
- partition_table/lvm_PV.pm, modules.pm, common.pm, detect_devices.pm,
- standalone/drakupdate_fstab, install_any.pm, timezone.pm: new
- perl_checker compliance
-
-2003/04/16 gbeauchesne
-
- * mdk-stage1/insmod-busybox/Makefile:
- - Update to busybox 0.65.0 version
- - Add support for x86-64
- Use $(DIET) wrapper
-
- * mdk-stage1/insmod-busybox/insmod.c, mdk-stage1/insmod-busybox/Config.h,
- mdk-stage1/insmod-busybox/busybox.h: Fixes. Don't care about taint
- stuff. Constify a little so that some dead
- branches could be nuked. -> Reduce code size by 5 KB.
- - Update to busybox 0.65.0 version
- - Add support for x86-64
- Merge back fixes from HEAD but don't use the init_module() et al. tricks
- since correct dietlibc 0.22 is used on the branch.
- - Update to insmod from busybox 0.65.0
- - Add support for x86-64
-
- * mdk-stage1/insmod-busybox/README: Update README
-
- * mdk-stage1/Makefile: use insmod-busybox on x86-64, save around 50 KB.
- ;-)
-
-2003/04/16 Pixel <pixel at mandrakesoft.com>
-
- * ugtk2.pm: comply to new each_index behaviour
-
-2003/04/16 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakconnect: fix #1675: swap the text and button widgets
-
-2003/04/15 gbeauchesne
-
- * detect_devices.pm: Fix hasSMP()
-
- * install_any.pm: CD-ROM installations use cdrom.img on x86-64 nowadays
-
-2003/04/15 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/harddrake2: add hint for translators
-
-2003/04/14 gbeauchesne
-
- * harddrake/data.pm: fix harddrake doesn't display unknow hardware (tv,
- 9.0 updates)
-
- * mdk-stage1/dhcp.c, docs/README, mdk-stage1/tools.c, mdk-stage1/stage1.h:
- Handle "netauto" mode (gc, post 9.1)
-
- * drakxtools.spec: Match current 9_0-64bit-branch state
-
-2003/04/14 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/dhcp.c, mdk-stage1/tools.c, mdk-stage1/stage1.h: put dhcp
- bootfile under netauto parameter
-
-2003/04/11 dam's <dams at idm.fr>
-
- * standalone/drakconnect: corrected titi typo
-
-2003/04/11 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/th.po: changed "reboot" to latin letters, as requested.
-
-2003/04/10 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/drakboot: any::setupBootloader() already call
- bootloader::install()
-
- * standalone/drakedm: it was designed in 2003, not 2002
-
-2003/04/07 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: first bits of 9.1-31mdk
- fix harddrake menu entry description
-
- * standalone/drakboot: fix #2826 (aka pixel sucks):
- pixel changed the booloader module api by throwing an exception
- instead of using the ugly /tmp/.error temporary file and altered drakx
- callers but forget to update standalone/* callers (aka drakboot).
- now, with this patch, any error during lilo/grub installation is
- catched and displayed, which is more generic than checking for spaces.
-
-2003/04/04 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * docs/README: some fixes and improvements
-
- * docs/HACKING: some updates
-
-2003/04/04 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: bump gtk2-perl require because of #3633
- 9.1-30mdk
-
- * scanner.pm: fix doble explanation logging of scannerdrake and harddrake
- startup
-
- * standalone/logdrake:
- - perl_checker fixes
- - ensure only one callback do regular parsing
-
- * standalone/drakfloppy: fix crash on floppy generation reported by
- Francisco Alcaraz
-
-2003/04/03 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Updated
-
-2003/04/03 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: after adding gtk_text_buffer_place_cursor in gtk2-perl, use it
- here :)
- fix #3633 (cursor at the end of TextView after gtktext_insert)
- remove a few memory leaks
-
- * drakxtools.spec: after adding gtk_text_buffer_place_cursor in gtk2-perl,
- use it here :)
-
-2003/04/02 gbeauchesne
-
- * detect_devices.pm: Update to match IA-64 ACPI format string "XXX CPUs
- available"
-
-2003/04/02 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * patch/9.1/patch-loopback.pl: Error scenario: When using a file for your
- / (a "loopback"), booting your newly
- installed system will fail with a kernel panic with flashing keyboard
- lights
- Why: The initrd needs to load the loop.o module to mount your /
- partition; but
- since recently, loop.o depends on aes.o, and since mkinitrd doesn't
- handle
- dependencies automatically and we didn't notice that change, we didn't
- update
- mkinitrd accordingly
- Solution: Format a floppy disk with a DOS filesystem (in Linux, you can
- use the
- command "mkdosfs /dev/fd0"). Copy patch.pl to the floppy disk. Remove
- the floppy
- and reboot using the Mandrake Linux 9.1 CD1 to do a CD-ROM installation.
- During
- boot, press F1 at the splash screen, then place your floppy disk that
- contains
- patch.pl in the floppy drive. At the prompt, type "patch", then follow
- the
- installation as usual.
-
- see bugzilla #3614
-
-2003/04/02 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
-2003/04/02 Pixel <pixel at mandrakesoft.com>
-
- * patch/9.1/patch-detectSMP-K6.pl: Error scenario: On a AMD-K6, install
- fails after the formatting partitions steps with a strange "type read"
- error
- Why: in some cases, the SMP detection code fails and force the install
- to exit
- Solution: Use patch.pl which disables SMP detection
- (thanks to Angela Bayley)
-
-2003/04/02 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/logdrake: remove unused variable
- - various perl_checker "fixes"
- - (logcolorize): make it saner regarding its arguments, thanks
- perl_checker
-
- * harddrake/sound.pm: hackism to shut up perl_checker
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, standalone/drakTermServ,
- share/po/sv.po, share/po/sr.po, share/po/pl.po, share/po/fi.po,
- share/po/lt.po, share/po/he.po, share/po/sp.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/tg.po,
- share/po/bs.po, share/po/uz.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/sq.po, share/po/it.po, share/po/nl.po,
- share/po/eu.po, share/po/es.po, share/po/de.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: s/initrdrd/initrd/ (Arpad Biro)
-
- * standalone/harddrake2: fix pablo patch that broke two translations
- (reported by Arkadiusz
- Lipiec)
-
-2003/04/01 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem-all: added restore into boot_entries default value,
- increased hd install size from
- 1500 MB to 2500 MB to include current ackbar cooker repository.
-
-2003/04/01 gbeauchesne
-
- * bootloader.pm: Indentation fixes
-
- * install_steps_gtk.pm: Pass $Driver to launchX in non /FB/ case
- Pass $Driver to launchX in non /FB/ case
- Backport from 9.1 xf4 fallbacking to fbdev driver
-
- * install_steps.pm: Remove MAKEDEV workaround for ia64. Fixes must be
- found, and kernel nowadays
- have devfs support.
-
- * install_gtk.pm: Backport from 9.1 xf4 fallbacking to fbdev driver
-
-2003/04/01 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: misc
-
-2003/04/01 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/logdrake (parse_file) pass explicit argument instead of
- relying on lexical $_
- being correct in that context (worked fine but this is bad)
-
- * share/po/fr.po:
- - fix fscking french translation
- - explain why it's bad to translate this way
-
- * standalone/draksound, install_steps_interactive.pm: move
- harddrake::sound $index param in hash and pass only the hash ref around
- functions
-
- * ugtk2.pm: perl_checker fixes
-
- * standalone/harddrake2:
- - fix fscking french translation
- - explain why it's bad to translate this way
- - prevent translators to do bad things (that is having badly
- constructed
- strings on screen)
- - reuse some translations instead of relying on extracting tools'
- merge
- feature
- - give translators more control on about window text
-
- * harddrake/sound.pm: propagate $in where needed
- move harddrake::sound $index param in hash and pass only the hash ref
- around
- functions
-
- * standalone/drakhelp: simplify
-
-2003/03/31 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Typo fix
-
-2003/03/31 François Pons <fpons at mandrakesoft.com>
-
- * bootloader.pm: copy kernel and stage1 in order to avoid remapping
- /mnt/hd on the fly during
- install for bootloader installation to complete correctly.
- fixed regex for kernel options retrieved for restore bootloader entry.
-
-2003/03/31 keld
-
- * share/po/da.po: spelling errors
- po/po/da.po gi/perl-install/share/po/da.po
-
-2003/03/31 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/vi.po: updated Vietnamese file
-
- * share/po/fr.po: fixed a bad grammatical error
-
-2003/03/30 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: clean
-
-2003/03/30 keld
-
- * share/po/da.po: spelling errors
- soft/menu-messages/da.po gi/perl-install/share/po/da.po
- some spelling errors
- soft/control-center/po/da.po gi/perl-install/share/po/da.po
-
-2003/03/29 keld
-
- * share/po/da.po: Updates
- soft/GtkMdkWidgets/po/da.po gi/perl-install/share/po/da.po
-
-2003/03/28 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: disable arabic whic doesn't work well after install
-
- * patch/9.1/hp.diff: disable arabic
-
-2003/03/28 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * lang.pm: Special cases for KDE to recognize zh_HK and zh_SG
-
-2003/03/28 Pixel <pixel at mandrakesoft.com>
-
- * Xconfig/card.pm: fix typo, grr...
- also have DontVTSwitch for i845 (and i85x)
- use option DontVTSwitch for i865
-
- * drakxtools.spec: use ServerFlags DontVTSwitch for i845, i865 and i85x
- use ServerFlags DontVTSwitch for i865
-
-2003/03/27 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sq.po: updated Albanian file
-
- * share/po/ja.po: updated Japanese file
-
-2003/03/27 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * docs/9.1_errata.txt:
- - mcc erratas
- - lexical ordering
-
-2003/03/26 François Pons <fpons at mandrakesoft.com>
-
- * install_any.pm: moved hdInstallPath to any.pm.
-
- * any.pm: removed acpi reference here (should already been have removed
- earlier).
- moved here hdInstallPath from install_any.
-
- * standalone.pm: simplified code to allow parsing rpmdb instead of just
- urpmi db.
-
- * bootloader.pm: fixed another typo for adding restore entry (grub menu).
- fixed wrong usage of any::hdInstallPath which is mapped as /tmp/image
- during
- installation.
- fix typo on grub menu file read.
-
- * rescue/tree/etc/oem-all: use fat32 instead of fat16, fixed
- mandrake-release to install.
- fix typo.
- mandrake-release should be installed.
- current parted does no more support fat fs but fat16 or fat32 fs.
-
-2003/03/26 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * docs/9.1_errata.txt: first drakxtools errata
-
- * drakxtools.spec: fix harddrake menu entry
-
-2003/03/25 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sq.po: updated Albanian file
-
-2003/03/24 François Pons <fpons at mandrakesoft.com>
-
- * network/netconnect.pm: added modem configuration after LT Modem support.
-
- * network/modem.pm: added login and password retrieval for ppp0 in
- configure function.
- propose /dev/modem before other device (as it will work for other most
- case).
- added modem configuration after LT Modem support.
-
-2003/03/24 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- Japanese file; updated pot file
-
-2003/03/24 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * any.pm, install_steps_interactive.pm: hp fix
-
- * drakxtools.spec:
- - fix changelog
- - 9.1-28mdk
- first bits of 9.1-26mdk
-
- * patch/9.1/hp.diff: more hp fixes
- mdk9.1 changes for hp
-
-2003/03/23 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/it.po, share/po/sq.po: updated Italian and Albanian files
-
-2003/03/22 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/it.po, share/po/tr.po, share/po/pt.po: updated Italian,
- Portuguese and Turkish files
-
-2003/03/21 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/ja.po: changed translation fo "mandrakesoft store"
- changed "mandrakesoft-shouten" to "mandrakesoft-no shouten"
- ("store named mandrakesoft" -> "mandrakesoft's store")
-
-2003/03/21 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/service_harddrake: increase timeout from 5 to 25 seconds
-
-2003/03/20 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed typo.
- add probe for netncx type in case of not already setted.
-
-2003/03/19 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: fix
-
-2003/03/19 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem, rescue/tree/etc/oem-all: added support for passing
- kernel options to oem scrpit.
-
- * lang.pm: silently use en_US for arabic.
- removed Arabic language (no correct font during install).
- avoid displaying Hong Kong as a country.
-
-2003/03/19 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * docs/mdk-9.2: update, sort
-
- * standalone/harddrake2: properly *both* reap zombies and clear status bar
- message
-
- * share/po/fr.po:
- - fix harddrake2 main window title broken by stupid translators
- - explain the problem
- - explain how to easily get « and » caracters
-
- * docs/9.1_errata.txt: first errate: ntfs kernel bug (bug and fix reported
- by Szakacsits
- Szabolcs)
-
-2003/03/18 François Pons <fpons at mandrakesoft.com>
-
- * rescue/tree/etc/oem, rescue/tree/etc/oem-all: added lookup into
- isolinux/alt0 if possible
- updated ramdisk_size=128000 acpi=off
-
-2003/03/18 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po: updated Indonesian file
-
- * share/po/wa.po: corrected small typo
-
-2003/03/18 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: s/mplayer-guimplayer-gui/mplayer-gui/
-
-2003/03/17 Frederic Lepied <flepied at mandrakesoft.com>
-
- * install_steps.pm: reverted to 1.604
-
-2003/03/17 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/it.po, share/po/da.po: updated Danish and Italian files
-
- * share/po/pt.po: updated Portuguese file
-
- * share/po/ja.po: updated Japanese file
-
-2003/03/17 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: Add NVIDIA_nforce for smp and secure kernel
- Fix NVIDIA_nforce entry removing kernel version (added by cleanrpmsrate)
- FlashPlayer with a capital P
-
-2003/03/16 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/bs.po, share/po/ro.po: updated Bosnian and Romanian files
-
-2003/03/16 Warly <warly at mandrakesoft.com>
-
- * drakxtools.spec: 26mdk to fix drakperm
-
-2003/03/15 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/bs.po, share/po/vi.po: updated Bosnian and Vietnamese files
-
- * share/po/he.po: updated Hebrew file
-
-2003/03/15 Warly <warly at mandrakesoft.com>
-
- * install_steps.pm, share/rpmsrate, drakxtools.spec: fix a fatal error in
- drakpem in editable mode
-
- * standalone/drakperm: Fix fatal error in editable window when adding a
- new entry
-
-2003/03/14 David Baudens <baudens at mandrakesoft.com>
-
- * share/po/fr.po: Fix typo in french ads
-
-2003/03/14 François Pons <fpons at mandrakesoft.com>
-
- * standalone.pm: fix checking for installed kernel modules (for nvidia)
- (/me sux)
- (fix & changelog by pixel)
-
- * share/rpmsrate: fixed error mandrake_doc
- fixed gnupg using multiple rates.
- fixed synthax error.
-
- * install_steps_gtk.pm: made desktop group centred.
-
-2003/03/14 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * mdk-stage1/modules.c: fix myself sux: don't unconditionnally fgets
- /proc/modules, because fopen
- may have failed (the libc, in its great search for speed, probably
- doesn't
- care to check if the FILE* given to fgets is valid and opened)
-
-2003/03/14 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
- * share/po/is.po, share/po/el.po, share/po/he.po: updated Greek file
-
- * share/po/zh_CN.po: updated Chinese file
-
- * share/po/tr.po: updated Turkish file
-
-2003/03/14 Pixel <pixel at mandrakesoft.com>
-
- * drakxtools.spec: fix XFdrake handling NVidia proprietary drivers
-
-2003/03/14 Till Kamppeter <till at mandrakesoft.com>
-
- * drakxtools.spec: 9.1-23mdk
-
-2003/03/14 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: mandrake-galaxy doc link is broken if mandrake_doc is
- not install. Waiting for a better solution install mandrake_doc via
- rpmsrate in the same group as mandrake-galaxy.
-
-2003/03/13 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Fixed bug #417: '$' character in printer URI not
- correctly handled.
-
-2003/03/13 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/main.pm: Fixed bug #417: '$' character in printer URI not
- correctly handled.
-
-2003/03/13 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: updated Spanish translations
-
-2003/03/13 François Pons <fpons at mandrakesoft.com>
-
- * install_steps_gtk.pm: desktop group simplification.
-
-2003/03/13 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/ru.po, share/po/fi.po: updated Russian and Finnish files
-
- * share/po/id.po, share/po/eo.po, share/po/cs.po, share/po/hu.po: updated
- Czech, Esperanto, Indonesian and Hungarian files
-
-2003/03/13 Pixel <pixel at mandrakesoft.com>
-
- * any.pm: cleanup (still need to handle permissions more cleanly, people
- using umask 0
- should be shot)
-
-2003/03/13 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakTermServ: Fix IP pool range bug from gtk2 conversion.
-
-2003/03/13 Till Kamppeter <till at mandrakesoft.com>
-
- * scanner.pm: Bug fixes:
- - SHOWSTOPPER: SCSI scanners were never recognized as already
- configured, the user was always asked whether he wants to configure
- them. Problem was that device files are symlinks.
- - Made most ISDN and ADSL devices not being considered as a scanner by
- Scannerdrake, SANE does not support internet scanners.
-
-2003/03/13 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/03/13 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: more logs
- first 9.1-22mdk bits
-
- * install_any.pm: alsa drivers are now named snd-<name> not anymore
- snd-card-<name>
-
- * any.pm: fix #3161 (ensure right permissions on /etc/sysconfig/autologin
- for
- bad root umask case)
-
- * modules.pm: via via686 upgdrade after simplification too (next time
- pixel told me
- it's better to reuse some regexp, i kill him)
- fix upgrade after simplification
- simplify
- convert alsa driver from old naming system to new one (snd-card-XXX =>
- snd-XXX) and ensure correct upgrade for snd-via683 and snd-via8233
- drivers
-
- * docs/mdk-9.2: more stuff
- more thoughts
-
-2003/03/13 Warly <warly at mandrakesoft.com>
-
- * install_gtk.pm: logo is the same for desktop and powerpack
- installations.
-
- * share/compssUsers.desktop: Make only one sectio. Include KDE/GNOME and
- documentation into it.
-
-2003/03/12 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: updated
-
-2003/03/12 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/cy.po, share/po/et.po, share/po/he.po: updated Welsh, Estonian
- and Hebrew files
-
-2003/03/12 François Pons <fpons at mandrakesoft.com>
-
- * install_any.pm: added log for kernel module packages found.
-
- * network/modem.pm: fixed typo.
- fix ltmodem package name with newer version.
-
- * install_steps_interactive.pm: fix for newer kernel module package name.
-
- * standalone/XFdrake: fix for newer commercial kernel module package name.
-
- * install_steps.pm: fix for newer commercial package name (kernel module).
- added minimal of what is selected log for pkg_install.
-
- * detect_devices.pm: fix titi sucks.
-
- * standalone.pm: fixed return value of check_kernel_module_packages and
- examination of synthesis
- file using current interface of urpm library.
- fix small typo.
-
-2003/03/12 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: fix non-important (but still valid) part of #2488, a.k.a
- package tree not expanding visually when it should (needs the mouse
- pointer over it to be updated visually)
-
- * share/po/ja.po: fix for "Advanced" by utuhiro <utuhiro at
- mx12.freecom.ne.jp>
-
-2003/03/12 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/nl.po: updated dutch file
- updated pot file
-
- * keyboard.pm: Tagged cyrillic keyboard as non-latin
-
-2003/03/12 Pixel <pixel at mandrakesoft.com>
-
- * standalone/diskdrake: set by default the fs type and mntpoint for
- removables not present in fstab
- (useful for harddrake)
-
- * standalone/drakupdate_fstab: have fd0 & fd1 be recognised as known
- entries, even if we don't probe them
- (useful for harddrake)
-
- * diskdrake/interactive.pm, install_interactive.pm: fix maximum loopback
- size (bug #3188)
-
-2003/03/12 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * harddrake/data.pm: jackadit^h^h^h^h^ hpixel said: "we do not need
- anymore --auto"
- fix typo
- handle multiple removable devices: their managment is different from
- other hw
- classes since we need to run a config tool per device and not one per hw
- class
-
- * standalone/harddrake2: fix first message display
- better packed paned behavior in both embedded and standalone modes
- handle multiple removable devices: their managment is different from
- other hw
- classes since we need to run a config tool per device and not one per hw
- class
-
- * drakxtools.spec: update requires
- 9.1-20mdk
-
- * standalone/service_harddrake: let it look better
- shut up perl_checker
- handle multiple removable devices: their managment is different from
- other hw
- classes since we need to run a config tool per device and not one per hw
- class
-
- * docs/mdk-9.2: better embedded diskdrake hint
-
- * diskdrake/hd_gtk.pm:
- - let diskdrake fit when embedded in mcc
- - let action box be larger so that there's no horizontal scrollbar in
- standalone mode
-
- * share/po/wa.po: fix package build :-(
-
- * standalone/drakedm: really sort
- - check if dm package is installed and install it if needed
- - use format instead of reverse() (not a big slow down but small
- rivers make
- big ones and it makes gc happier...)
-
-2003/03/11 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * lang.pm: thx perl checko
- (pablo) change kde font scheme (crossing fingers)
-
-2003/03/11 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/nl.po, share/po/cs.po: updated Dutch and Czech files
-
-2003/03/11 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: typos fixed
-
-2003/03/11 David Baudens <baudens at mandrakesoft.com>
-
- * share/advertising/10-security.png, share/advertising/07-server.pl,
- share/advertising/12-mdkexpert.png,
- share/advertising/06-development.png,
- share/advertising/06-development.pl, share/advertising/11-mnf.pl,
- share/advertising/09-mdksecure.png, share/advertising/01-thanks.png,
- share/advertising/07-server.png, share/advertising/02-community.png,
- share/po/fr.po, share/advertising/list, share/advertising/11-mnf.png,
- share/advertising/02-community.pl, share/advertising/03-software.pl,
- share/advertising/05-desktop.pl, share/advertising/09-mdksecure.pl,
- share/advertising/01-thanks.pl,
- share/advertising/13-mdkexpert_corporate.pl,
- share/advertising/12-mdkexpert.pl, share/advertising/03-software.png,
- share/advertising/08-store.pl, share/advertising/04-configuration.png,
- share/advertising/13-mdkexpert_corporate.png,
- share/advertising/10-security.pl, share/advertising/05-desktop.png,
- share/advertising/04-configuration.pl, share/advertising/08-store.png:
- Update
-
-2003/03/11 Florin Grad <florin at mandrakesoft.com>
-
- * standalone/drakgw: really use the chosen net_connect interface
-
-2003/03/11 François Pons <fpons at mandrakesoft.com>
-
- * network/network.pm: changed netcnx type probe (so that if an ethernet
- connection exists, it won't
- cause netcnx type to be always lan).
-
- * rescue/tree/etc/oem: modified language settings.
-
- * network/adsl.pm: moved probing code outside adsl_ask_info.
-
- * network/ethernet.pm: use $::prefix, waiting for 9.1 to be out before
- cleaning network modules.
-
- * standalone/drakconnect: added probing of adsl connection.
-
-2003/03/11 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_steps_gtk.pm: the shadow behind the new adverts looks ugly,
- remove it
- new advertisement will be with grey background
-
- * share/po/fr.po: rephrase a bit MNF advert to make it fit
- spelling
-
- * share/advertising/07-server.pl, share/advertising/06-development.pl,
- share/advertising/11-mnf.pl, share/advertising/02-community.pl,
- share/advertising/03-software.pl, share/advertising/05-desktop.pl,
- share/advertising/09-mdksecure.pl, share/advertising/01-thanks.pl,
- share/advertising/12-mdkexpert.pl,
- share/advertising/13-mdkexpert_corporate.pl,
- share/advertising/08-store.pl, share/advertising/10-security.pl,
- share/advertising/04-configuration.pl: fix pablo breaking translation of
- advertisement :)
-
- * lang.pm: thx perl checko
- (pablo) change kde font scheme (crossing fingers)
-
- * install_steps_interactive.pm: install additional locales package for
- country according to the locale that will be really used, not according
- to the default locale for a given country (fixing unecessary installing
- of locales-de in case of a fr_CH install)
-
-2003/03/11 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/it.po, share/po/no.po: updated Italian and Norwegian files
-
- * lang.pm: Changed Qt Chinese XIMStyle to 'Over The Spot' ('On The Spot'
- crashes)
- changed KDE default font names for CJK
-
- * share/po/nl.po, share/po/cs.po: updated Dutch and Czech files
-
- * share/po/da.po, share/po/vi.po: updated Danish and Vientamese files
-
-2003/03/11 Pixel <pixel at mandrakesoft.com>
-
- * Xconfig/main.pm: remove XFdrake icons (per dadou's request)
-
- * any.pm, bootloader.pm, standalone/drakboot: fix lilo-menu not working
- (bug #3048)
-
-2003/03/11 Stew Benedict <sbenedict at mandrakesoft.com>
-
- * standalone/drakbackup: More gtk2 fixes.
-
-2003/03/11 Till Kamppeter <till at mandrakesoft.com>
-
- * printer/printerdrake.pm: Added button to switch to japanese text file
- printing.
- Many bug fixes:
- - Wait messages bloxked the OK buttons of the dialogs telling how to
- scan and how to read photo cards on HP´s MF devices.
- - Do not configure OpenOffice.org any more, only Star Office.
- OpenOffice.org is patched to have native CUPS support now.
- - If the Port for a BrowsePoll address is left blank, 631 is taken as
- default now.
- - Text for firmware upload for HP LaserJet 1000 now also available in
- the 'Learn how to use printer' dialog.
- - Updated check of model name for HP´s MF devices to newest models.
-
- * printer/detect.pm: Made sure that all IP addresses of the local machine
- are in 'Allow
- From' lines in the /etc/cups/cupsd.conf, otherwise one can have
- certain configurations with which one cannot access to the options of
- the local printer(s).
-
- * printer/main.pm: Made sure that all IP addresses of the local machine
- are in 'Allow
- From' lines in the /etc/cups/cupsd.conf, otherwise one can have
- certain configurations with which one cannot access to the options of
- the local printer(s).
- Added button to switch to japanese text file printing.
-
- * printer/office.pm: Many bug fixes:
- - Wait messages bloxked the OK buttons of the dialogs telling how to
- scan and how to read photo cards on HP´s MF devices.
- - Do not configure OpenOffice.org any more, only Star Office.
- OpenOffice.org is patched to have native CUPS support now.
- - If the Port for a BrowsePoll address is left blank, 631 is taken as
- default now.
- - Text for firmware upload for HP LaserJet 1000 now also available in
- the 'Learn how to use printer' dialog.
- - Updated check of model name for HP´s MF devices to newest models.
-
-2003/03/11 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * drakxtools.spec: 9.1-19mdk final
-
- * docs/mdk-9.2: update
-
-2003/03/11 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: add kdeartwork level 3 in KDE
-
- * share/logo-mandrake.png: 9.1 logo
-
-2003/03/10 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/no.po: minor typo
-
-2003/03/10 Alice Lafox <alice at lafox.com.ua>
-
- * share/po/ru.po: some fixes
- update
-
-2003/03/10 François Pons <fpons at mandrakesoft.com>
-
- * install_any.pm: use quoted url instead for install_urpmi.
- fixed duplicate url entry for file and removable.
- build a list file only if needed for install_urpmi.
-
- * rescue/tree/etc/oem, rescue/tree/etc/oem-all: added missing right
- parenthesis.
- fix for strange parted behaviour.
-
-2003/03/10 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * install_steps.pm: fix original #2842 problem
-
- * lang.pm (pablo) workaround console localization broken in RTL languages
- fix original #2842 problem
-
- * install_gtk.pm: meta class desktop also uses galaxy theme, not blue
- theme
-
-2003/03/10 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/no.po: minor typo
- updated Norwegian file
- updated Welsh, Icelandic, Italian, Norwegian
-
- * share/po/Makefile, share/po/it.po, share/po/is.po, share/po/cy.po:
- updated Welsh, Icelandic, Italian, Norwegian
-
- * keyboard.pm: Changed console Czech keyboard
-
-2003/03/10 Pixel <pixel at mandrakesoft.com>
-
- * install2.pm: fix getting brltty help and table (thanks to Hans Schou)
-
-2003/03/10 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/03/10 Thierry Vignaud <tvignaud at mandrakesoft.com>
-
- * standalone/draksec:
- - clean wait messages creation
- - fix wait messages displaying (label was not displayed) in both
- standalone and embedded modes
-
- * drakxtools.spec: fix #1461
- more logs
- typo fix
-
- * harddrake/TODO, docs/mdk-9.2: update
-
- * services.pm:
- - fix packing on standalone mode (no horizontal scrolling)
- - let show it all when embedded
-
-2003/03/10 Warly <warly at mandrakesoft.com>
-
- * share/rpmsrate: add kdeartwork-kde-classic not to have trouble in KDE
- updates.
- reduce gpm level from 4 to 2 in system
-
- * share/compssUsers.desktop: Update for new standard pack
-
-2003/03/09 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: Typo fix
-
-2003/03/09 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * share/po/fr.po: latest missing stuff
-
- * Xconfig/test.pm: fix background of X test during install
-
-2003/03/09 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
- * standalone/drakTermServ: fixed text (missing '/')
-
-2003/03/09 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: make perl_checker a happy prog
- no "Previous" button when choosing install or upgrade
-
-2003/03/08 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
-2003/03/07 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: mask encryption key (using stars)
-
-2003/03/07 Arkadiusz Lipiec <alipiec at elka.pw.edu.pl>
-
- * share/po/pl.po: One message
- updated
-
-2003/03/07 Fabian Mandelbaum <fabman at 2vias.com.ar>
-
- * share/po/es.po: Updated Spanish translation
-
-2003/03/07 Frederic Lepied <flepied at mandrakesoft.com>
-
- * any.pm: launch startx.autologin instead of startx in autologin
-
-2003/03/07 François Pons <fpons at mandrakesoft.com>
-
- * network/adsl.pm: dropped a line.
- fix logical error (flepied).
-
-2003/03/07 Guillaume Cottenceau <gc at mandrakesoft.com>
-
- * ugtk2.pm: refine the already dirty code to workaround gtk bug leading to
- bugzilla #1445 (clicking two times too fast still lead to same problem)
- fix rpmdrake dumping core when multiple searchs in
- "selected" and "upgradable" sorting modes (#2899)
-
- * tools/cvslog2changelog.pl: add fabman
- protect emails
-
- * drakxtools.spec: fix rpmdrake dumping core when multiple searchs in
- "selected" and "upgradable" sorting modes (#2899)
-
-2003/03/07 Pablo Saratxaga <pablo at mandrakesoft.com>
-
- * share/po/sk.po, share/po/pt_BR.po, share/po/th.po, share/po/et.po,
- share/po/ja.po, share/po/ko.po, share/po/da.po, share/po/uz.po,
- share/po/ro.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/sq.po,
- share/po/it.po, share/po/es.po, share/po/lv.po, share/po/ru.po,
- share/po/sl.po, share/po/tr.po, share/po/mt.po, share/po/uk.po,
- share/po/lt.po, share/po/cy.po, share/po/tg.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/nl.po: iupdated Vietnamese,
- Estonian and Dutch files;
- fixed the translations of "default:LTR"
- updated pot file
-
- * share/po/gl.po, share/po/hr.po, share/po/be.po, share/po/DrakX.pot,
- share/po/sv.po, share/po/sr.po, share/po/pl.po, share/po/he.po,
- share/po/ca.po, share/po/ar.po, share/po/eu.po, share/po/hu.po,
- share/po/id.po, share/po/br.po, share/po/no.po, share/po/ga.po,
- share/po/sp.po, share/po/bs.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/fr.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po: updated
- pot file
-
- * share/advertising/06-development.pl, share/advertising/02-community.pl,
- share/advertising/05-desktop.pl, share/advertising/01-thanks.pl,
- share/advertising/08-store.pl, share/advertising/11-mnf.pl,
- share/advertising/07-server.pl, share/advertising/10-security.pl,
- share/advertising/03-software.pl, share/advertising/09-mdksecure.pl,
- share/advertising/12-mdkexpert.pl,
- share/advertising/13-mdkexpert_corporate.pl,
- share/advertising/04-configuration.pl: Changed _() to N_()
-
- * share/po/fi.po: updated Finnish file
- updated pot file
-
-2003/03/07 Pixel <pixel at mandrakesoft.com>
-
- * install_steps_interactive.pm: mask encryption key (using stars)
-
- * Makefile.config: don't install share/advertising/*.pl files in
- Mandrake/mdkinst/usr/bin/perl-install/share, only in
- Mandrake/share/advertising
-
-2003/03/06 David Baudens <baudens@mandrakesoft.com>
-
- * share/advertising/03-software.pl: Fix typo
- Update
- Sync names with text files
-
- * share/advertising/07-server.pl, share/advertising/06-development.pl,
- share/advertising/05-desktop.pl, share/advertising/08-store.pl,
- share/advertising/11-mnf.pl,
- share/advertising/13-mdkexpert_corporate.pl: Update
- Sync names with text files
-
- * share/advertising/07-desktop.png, share/advertising/14-mdkexpert.png,
- share/advertising/14-mdkexpert.pl, share/advertising/17-mdkclub.pl,
- share/advertising/13-mdkcampus.png, share/advertising/06-mcc.png,
- share/advertising/11-mdkstore.pl, share/advertising/17-mdkclub.png,
- share/advertising/11-mdkstore.png, share/advertising/12-mdkstore.png,
- share/advertising/04-multimedia.png, share/advertising/10-mnf.png,
- share/advertising/03-internet.pl, share/advertising/05-games.pl,
- share/advertising/16-thanks.png, share/advertising/12-mdkstore.pl,
- share/advertising/15-mdkexpert-corporate.png,
- share/advertising/09-server.pl, share/advertising/05-games.png,
- share/advertising/04-multimedia.pl, share/advertising/13-mdkcampus.pl,
- share/advertising/03-internet.png, share/advertising/07-desktop.pl,
- share/advertising/09-server.png, share/advertising/08-development.png,
- share/advertising/10-mnf.pl,
- share/advertising/15-mdkexpert-corporate.pl,
- share/advertising/08-development.pl, share/advertising/06-mcc.pl: Remove
- old files
-
- * share/advertising/02-community.pl, share/advertising/01-thanks.pl,
- share/advertising/list: Use texts from specifications
-
- * share/advertising/10-security.png, share/advertising/07-server.png,
- share/advertising/11-mnf.png, share/advertising/03-software.png,
- share/advertising/10-security.pl, share/advertising/08-store.png,
- share/advertising/12-mdkexpert.png,
- share/advertising/06-development.png,
- share/advertising/09-mdksecure.png, share/advertising/09-mdksecure.pl,
- share/advertising/12-mdkexpert.pl,
- share/advertising/04-configuration.png,
- share/advertising/13-mdkexpert_corporate.png,
- share/advertising/05-desktop.png, share/advertising/04-configuration.pl:
- Sync names with text files
-
-2003/03/06 François Pons <fpons@mandrakesoft.com>
-
- * network/ethernet.pm: avoid virtual ethX to be reconfigured by
- drakconnect
- fixed ifconfig invocation and state analysis in install mode.
-
- * drakxtools.spec: avoid virtual ethX to be reconfigured by drakconnect
- NVIDIA drop.
-
- * install_any.pm: dropped allowNVIDIA_rpms method.
- added check_kernel_module_packages for checking prioprietary base kernel
- package.
-
- * install2.pm: added summaryAfter steps for summary.
-
- * any.pm: make sure acpi is installed.
-
- * standalone/XFdrake: moved prioprietary NVIDIA code support to generic
- prioprietary support in standalone.pm.
-
- * standalone.pm: fixed error message.
- added check_kernel_module_packages with same behaviour expected as for
- install_any module.
-
- * install_steps.pm: dropped allowNVIDIA_rpms
- fixed stupid again typo.
- modified logic for summaryAfter.
- fixed again the same typo.
- fixed stupid typo.
- summaryAfter created to install acpi and acpid if needed.
-
- * install_steps_interactive.pm: dropped allowNVIDIA_rpms
-
- * install_steps_gtk.pm: added desktop groups organization.
-
- * network/modem.pm: added support for kernel base name of ltmodem.
-
- * network/adsl.pm: fixed adsl login not probed in install mode.
-
-2003/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.c: provide Host: in http requests so that install works
- from sites with virtual hosting (#2561)
-
- * share/po/es.po: this translation can't get much big or else it will
- enlarge too
- much diskdrake
-
-2003/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Enabled Laotian (was missing a definition in %charsets),
- Bengali (there starts to be gnome translations available),
- and Kannada (there starts to be gnome translations available).
- Code for Xhosa added (there is an official kde-i18n-xh package
- available),
- wating for lang-xh.png to enable it
-
- * share/po/cs.po, share/po/vi.po, share/po/ta.po, share/po/fi.po,
- share/po/ar.po: updated Czech, Arabic, Finnish, Tamil and Vietnamese
- files
-
-2003/03/06 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: don't create xxx.conf for standard devfs compatibility names
-
- * install_steps_interactive.pm: basic encrypt_key handling in upgrade
- (don't mistype!)
-
- * share/po/help-ru.pot: add it since drakx-chapter.xml is ok (dixit Alice
- Lafox)
-
- * share/po/help_xml2pm.pl: do not exclude "ru" drakx-help.xml anymore
-
- * detect_devices.pm: merge cdroms__faking_ide_scsi() and
- zips__faking_ide_scsi() in
- cdroms_and_zips__faking_ide_scsi() to be able to have a good devfs
- device name
- this fixes *__faking_ide_scsi() not faking devfs_device causing bad
- /etc/devfs/conf.d/dvd.conf for dvd burners
-
- * install_any.pm: cleanup
-
-2003/03/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/draksec: perl_checker fix
-
- * harddrake/data.pm: move usb webcams which have mod_quickcam as a driver
- from unknown to
- webcam clategory since they do not have any valid usb class
-
- * standalone/service_harddrake: s/perl -w/use diagnostics/ so stat it get
- removed from package at
- build time
-
- * drakxtools.spec: typo fix
- 9.1-17mdk
- update
- 9.1-16mdk, first bit
- more fixes
-
- * harddrake/sound.pm: perl_checker fix
- fix #1929
- let fix #2244, #2245, #2730
-
- * standalone/draksplash: do not crash on color selection
- prevent one to pop up hundred of windows: make browse dialog be modal
- - fix #1766
- - do not crash when browsing
-
- * services.pm: we do use $in !!!!
-
- * docs/mdk-9.2: first bits of mdk9.2 specs (aka postponed bugs...) stuff
-
- * scanner.pm: perl_checker fixes
- do not detect some usb webcams as scanners ...
-
- * harddrake/TODO: update
-
- * standalone/draksound, install_steps_interactive.pm: let fix #2244,
- #2245, #2730
-
-2003/03/06 Warly <warly@mandrakesoft.com>
-
- * network/network.pm: detect if the device is pcmcia when initializing the
- ONBOOT parameter
-
-2003/03/06 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/po/fr.po: corrected remaining mise-à-jour
-
-2003/03/06 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: make sure acpi is installed.
-
- * install_steps.pm: modified logic for summaryAfter.
- fixed again the same typo.
- fixed stupid typo.
- summaryAfter created to install acpi and acpid if needed.
- menu update method modified for upgrade.
-
- * install2.pm: added summaryAfter steps for summary.
-
-2003/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/es.po: this translation can't get much big or else it will
- enlarge too
- much diskdrake
-
-2003/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/harddrake2: fixed XIM definitions for Chinese locales
-
- * share/rpmsrate: removed non-ascii chars
-
- * share/po/sv.po, share/po/sk.po: updated Slovak and Swedish files
-
- * lang.pm: Enabled Laotian (was missing a definition in %charsets),
- Bengali (there starts to be gnome translations available),
- and Kannada (there starts to be gnome translations available).
- Code for Xhosa added (there is an official kde-i18n-xh package
- available),
- wating for lang-xh.png to enable it
- fixed XIM definitions for Chinese locales
-
-2003/03/06 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: don't create xxx.conf for standard devfs compatibility names
-
- * detect_devices.pm: merge cdroms__faking_ide_scsi() and
- zips__faking_ide_scsi() in
- cdroms_and_zips__faking_ide_scsi() to be able to have a good devfs
- device name
- this fixes *__faking_ide_scsi() not faking devfs_device causing bad
- /etc/devfs/conf.d/dvd.conf for dvd burners
-
- * share/po/help_xml2pm.pl: do not exclude "ru" drakx-help.xml anymore
-
- * interactive/gtk.pm: "ensure buttons are visible when the widgets above
- are too big" only at install
-
-2003/03/06 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/03/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: fix #2672
-
- * Makefile: move ugtk2 back in drakxtools on gc idea
-
- * standalone/logdrake:
- - display "wait while searching" message also when embedded: we do not
- want it only when embedded for explanations
- - flush this wait dialog draw queue on each update so that it get
- displayed when embedded
-
- * harddrake/data.pm: move usb webcams which have mod_quickcam as a driver
- from unknown to
- webcam clategory since they do not have any valid usb class
-
- * scanner.pm: do not detect some usb webcams as scanners ...
-
- * standalone/drakedm: log system config changes
-
- * drakxtools.spec: more fixes
- more logdrake fixes
- move ugtk2 back in drakxtools on gc idea
- more fixes
- more fixes
- 9.1-15mdk
-
- * lang.pm:
- - cornish is a p-celtic language (aka a britonnic one), not a gaelic
- one
- - homogeinize q-celtic languages (aka gaelic ones)
-
- * standalone/draksec: let i fit in 800x600
-
-2003/03/05 Arkadiusz Lipiec <alipiec@elka.pw.edu.pl>
-
- * share/po/pl.po: two entries remained
-
-2003/03/05 fabman
-
- * share/po/es.po: updated Spanish translation
-
-2003/03/05 Frederic Lepied <flepied@mandrakesoft.com>
-
- * network/isdn.pm: read right config according to isdn-light or isdn4linux
-
- * network/adsl.pm: read login name from net_cnx_up in pptp mode.
-
- * network/ethernet.pm: fix to avoid creating an ifcfg-1 config file.
-
- * network/tools.pm: if the user don't want to start the internet
- connection, continue without
- error message.
-
- * network/netconnect.pm: use driver instead of descrition to validate an
- isdn autodetection
-
-2003/03/05 François Pons <fpons@mandrakesoft.com>
-
- * drakxtools.spec: add changelog for drakconnect modification.
-
- * standalone/drakconnect: fixed wizard modification not taken into account
- when using drakconf.
-
-2003/03/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix one translation
-
- * any.pm, drakxtools.spec, standalone/localedrake: fix behaviour when only
- one lang is available (clicking
- on "cancel" on the country selection didn't cancel it)
-
-2003/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po, share/po/vi.po, share/po/ar.po: updated Arabic, Romanian
- and Vietnamese files
-
- * share/po/tg.po, share/po/th.po, share/po/is.po, share/po/sl.po,
- share/po/az.po, share/po/be.po, share/po/uk.po, share/po/lt.po,
- share/po/eo.po, share/po/hu.po: updated Hungarian file
-
- * share/po/fr.po, share/po/it.po, share/po/es.po, share/po/de.po: merged
- with help strings from manuals
-
- * share/po/uz.po: updated Uzbek file
-
- * share/po/no.po: updated Norwegian file
-
-2003/03/05 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/various.pm (choose_xdm): allow to switch back from level 5 to
- level 3
-
- * network/network.pm, network/isdn.pm: this is perl, not python ;p
-
- * install_steps.pm: modifying keyboard in summary must modify XF86Config
-
- * interactive/gtk.pm: ensure buttons are visible when the widgets above
- are too big
-
-2003/03/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * mouse.pm, standalone/harddrake2, common.pm, harddrake/data.pm: prevent
- warning when using diagnostics pragma (easier debugging)
-
- * standalone/drakedm: handle low case config variables despite they should
- have been upcase
- (fix side effects of stupid rh code that manage $prefdm)
-
- * detect_devices.pm:
- - (getTVcards, isTVcard) : consolidate tv detection code
- - no need to keep capture buffer (not a big slow down but small rivers
- make big ones...)
- normalize
- prevent warning when using diagnostics pragma (easier debugging)
-
- * standalone/logdrake: restore old search behavior like we did before
- gtk+-2 port:
- - empty log buffer on search startup
- - freeze buffer while searching
- - do not realize ourselves the window, it's done by next statement
- - set initial text to '' so that editable property is disabled once
- the textview is realized
- no need to explicitely disable editable property, this is already
- handled by ugtk2::gtktext_insert() called from ugtk2::gtktext_append()
-
- * standalone/drakxtv, install_steps_interactive.pm:
- - (getTVcards, isTVcard) : consolidate tv detection code
- - no need to keep capture buffer (not a big slow down but small rivers
- make big ones...)
-
- * drakxtools.spec: more to come
-
- * share/po/fr.po: update french translation
-
- * share/po/br.po: minor update
-
-2003/03/04 Frederic Lepied <flepied@mandrakesoft.com>
-
- * network/isdn.pm: corrected isdn-light choice
-
- * network/modem.pm: install kdenetwork-kppp if kdebase is already
- installed
-
- * network/network.pm: allow to set hostname in DHCP mode
- install tmdns only when bind isn't installed
-
-2003/03/04 François Pons <fpons@mandrakesoft.com>
-
- * standalone/drakconnect: clean interface flags when dhcp mode is used.
-
- * network/ethernet.pm: avoid being pertubed by created virtual interface
- (no inet addre nor
- physicall card behing)
-
-2003/03/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: add florin alafox alus
-
- * lang.pm: set better default XIMInputStyle value for CJK, thx to Narfi
- Stefansson <narfi at cs.wisc.edu> for the idea
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/newt-frontend.c: don't forget to
- probe USB for info and error messages as well
-
-2003/03/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: updated Czech file
- updated pot files
-
- * share/po/ar.po: corrected encoding problems
- updated pot files
-
- * share/po/sk.po, share/po/ru.po, share/po/pt_BR.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/tr.po, share/po/mt.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/lt.po, share/po/sp.po,
- share/po/tg.po, share/po/uz.po, share/po/ro.po, share/po/wa.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/sq.po, share/po/nl.po, share/po/lv.po: updated
- pot file
-
- * share/po/th.po: corrected encoding problems
- updated pot file
-
- * share/po/et.po: updated Estonian file
- updated pot files
-
- * share/po/id.po, share/po/gl.po, share/po/br.po, share/po/hr.po,
- share/po/ga.po, share/po/be.po, share/po/fi.po, share/po/he.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/bs.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/fr.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/bg.po, share/po/hu.po: updated
- pot files
-
-2003/03/04 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add "acpi" and "acpid" to INSTALL
- move imap to NETWORKING_MAIL_SERVER (bug #2622)
-
-2003/03/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakperm:
- - untabify
- - fix small memory leak (tree iterators)
- - restore edit dialog on doble click and
- - restore informations retrieving for edit dialog on doble click and
- get rid of %CURENT
-
- * standalone/logdrake: scroll back when logging
-
-2003/03/04 florin
-
- * standalone/drakgw: simplified form (pixel)
-
-2003/03/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
-2003/03/04 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/hd_gtk.pm:
- - in focus_in_event for partition buttons, grab_focus is needed
- because gtk2 is buggy. Forcing an expose event would be enough
- - in button_press_event for partition buttons, grab_focus is needed
- because gtk2 is buggy. The creation of widgets causes the lost of the
- focus
- (fixes part of #2621)
-
- * share/rpmsrate: move imap to NETWORKING_MAIL_SERVER (bug #2622)
-
- * rescue/tree/etc/profile:
- - unsetting LD_LIBRARY_PATH: setting LD_LIBRARY_PATH to libraries in
- /mnt is
- wrong since the ld loader used (/lib/ld-linux.so.2) won't use the one in
- /mnt,
- causing dependency problems.
- - removing /mnt dirs from PATH (which are not useful anymore since the
- corresponding libraries won't be found)
- (fixes bug #2554)
-
- * install_steps_interactive.pm: fix typo
-
- * network/nfs.pm (check): fix return value (bug introduced with checking
- portmap is running)
-
- * lang.pm: make perl_checker happy
-
- * services.pm: in drakxservices, don't stop services if one is using the
- gtk frontend (since it allows one to start/stop services)
- this allows to skip stopping service "dm" (bug #2664)
-
-2003/03/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakboot: remove debuging assertions (as spoted by gc)
-
- * standalone/drakperm:
- - remove last warning
- - remove unused variables
- - fix #1776 (part one): make up and down button be usefull instead of
- nop (this need an updated perl-GTK2 though)
- - let up, down, delete and edit buttons be insensitive when selection
- is destroyed or when there's no selection
- - fix #1776 part two (do not insert dummy lines)
- - restore special lines with current keyword
- - reuse already defined path
-
-2003/03/03 alafox
-
- * share/po/ru.po: updated and partially proofread. need more lproof
-
-2003/03/03 alus
-
- * share/po/pl.po: updated
-
-2003/03/03 florin
-
- * standalone/drakgw: add an extra first choose the net device step
-
-2003/03/03 François Pons <fpons@mandrakesoft.com>
-
- * network/tools.pm: simplified unquotify.
-
- * network/adsl.pm: simplified code of adsl_ask_info, password can be
- retrieved using
- passwd_by_login which was not used with computed login from
- /etc/ppp/peers/adsl
- or /etc/ppp/options or /etc/ppp/options.adsl.
-
-2003/03/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: thx po validato
-
- * any.pm, drakxtools.spec: any::selectLanguage: in standalone, don't
- categorize langs, for
- better looking (since most people will have very few of them)
-
- * share/po/validate.pl: make it useful
- - print problems with GREP_COLOR
- - have enough exceptions to get usable errors
-
- * interactive/gtk.pm: a few treeview/list fixes:
- - when selecting a value, scroll it like in treeview/tree
- - use saved_default_val dirty hackery to really honour default value
- - fix not calling $select again when trying to select an already
- selected value (happens when clicking or keyboard-selecting;
- broken, it ended up in always scrolling the selected value to
- the center)
-
-2003/03/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/tg.po, share/po/bs.po, share/po/uz.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/sq.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/it.po: updated Italian file
- updated pot file
-
- * share/po/et.po, share/po/fi.po, share/po/nl.po: updated Estonian,
- Finnish and Dutch files
- updated pot file
-
-2003/03/03 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm (n_line_size): spacing for default font using XFT is 3
-
- * install_steps_interactive.pm: add some explaination for translators
- translate _bootloader_ on _device_
- translate mouse names
-
- * install_interactive.pm: use formatAlaTeX() for the warning "DrakX will
- now resize your Windows partition..."
-
- * share/po/help-fr.pot, share/po/help-de.pot, help.pm,
- share/po/help-es.pot: update from xml
-
- * share/rpmsrate: add ncurses-devel in DEVELOPMENT
-
- * Xconfig/various.pm (runlevel): fix typo
-
-2003/03/03 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/detect.pm: Fixed bug of USB printers which do not report back an
- IEEE-1284 ID string after
- three attempts being invisible instead of being listed as an "Unknown
- device".
-
- * printer/data.pm, printer/printerdrake.pm: Fixed bug of wrong function
- call to display the spooler name (Titi's untested changes).
-
-2003/03/03 tpittich
-
- * share/po/sk.po: updated slovak translation
- updated slovak translation
- change code page to utf-8
-
-2003/03/03 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 9.1-13mdk
- 9.1-12mdk
-
- * share/po/fr.po: unfuzzy()
- fix translation
-
- * standalone/harddrake2:
- - remove a warning
- - better scsi bus location
- reap zombie children (aka fix mem leak :-( )
-
- * standalone/drakboot:
- - fix #2091 and #2480 (settings restoration
- - make dialogs be modal
-
- * standalone/drakperm: remove unused $rows_cnt
- smoother gui: let main windows be unreachable until modal dialog is
- closed
- fix bug reported by Cédric Thévenet (impossible to save newly edited
- rules)
-
- * share/po/help-fr.pot, share/po/help-de.pot, share/po/help-es.pot,
- share/po/help-it.pot: revert to non broken version
-
-2003/03/02 alafox
-
- * share/po/ru.po: updated
-
-2003/03/02 alus
-
- * share/po/pl.po: Hard spell checking
-
-2003/03/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/translation_size.pl: add
-
-2003/03/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po, share/po/es.po, share/po/ro.po, share/po/hu.po,
- share/po/fi.po, share/po/ar.po: updated Arabic, Estonian, Finnish,
- Hungarian and Romanian files
-
-2003/03/02 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/printerdrake.pm:
- - Avoid two overlayed wait messages when installing packages
- - Let applications (OpenOffice.org/GIMP) being once on startup of
- Printerdrake
- Call function for configuring applications only if really needed.
- Shortened the texts in some list dialogs to get a better layout.
- - When non-interactively creating print queues ask the user for the
- model
- name if the model is not in the database, don't do wild guesses then.
-
- * printer/data.pm: Make file checks for CUPS package installation
- independent of whether "curl"
- or "wget" is installed to fulfill the "webfetch" requirement.
-
- * printer/detect.pm: Read device ID string for a USB printer up to three
- times when it does not contain information.
-
- * printer/gimp.pm: Fixed auto-configuration for printers in the GIMP to
- work with Foomatic 3.0.
-
- * printer/main.pm: Correction on reading the Foomatic overview.
- Fixes on reading of Foomatic data overview ("foomatic-configure -O"):
- - Removed usage of on-disk cache
- - Made new "<general>" and "<ieee1284>" tags for auto-detection info
- being recognized.
-
-2003/03/01 fabman
-
- * share/po/es.po: updated Spanish translation
- updated Spanish translation
-
-2003/03/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/zh_CN.po, share/po/sv.po, share/po/sr.po,
- share/po/hu.po: updated Chinese, Swedish, Hungarian and Serbian files
-
-2003/03/01 Till Kamppeter <till@mandrakesoft.com>
-
- * install_steps_interactive.pm: The generation of the "Summary" button for
- printer configuration created a blank entry in the
- $o->{printer}{configures} hash which lead to a blank menu entry in the
- main menu of printerdrake. This is fixed now.
-
-2003/02/28 alus
-
- * share/po/pl.po: updated
-
-2003/02/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/ja.po: reduce a translation size so that groups choice still
- has the "ok" button shown
-
- * detect_devices.pm: let hasSMP don't exit DrakX in testing mode because
- /dev/mem is not accessible
-
-2003/02/28 alus
-
- * share/po/pl.po: updated
-
-2003/02/28 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakhelp:
- - fix the check of mandrake_doc installed package (gc)
-
-2003/02/28 fabman
-
- * share/po/es.po: updated Spanish translations. Some fuzzy left
-
-2003/02/28 François Pons <fpons@mandrakesoft.com>
-
- * network/modem.pm: add LT WinModem support by searching ltmodem package.
-
- * drakxtools.spec: ltmodem support reminder.
- fixes for drakconnect.
-
- * any.pm: install acpi and acpid if "Enable ACPI" is ok.
-
- * standalone/drakconnect: removed profile management entry point.
-
-2003/02/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_gtk.pm: fix theming in --doc mode
-
- * mdk-stage1/init.c: moltes powered (for deush)
-
- * lang.pm: remove temporiraly lo because utf_lo is not in the charsets
- hash
- put new pablo's images (less large, add missing ones)
- sort langs in lang.pm
-
- * mdk-stage1/modules.c, mdk-stage1/.cvsignore: hd_usb.img ->
- hdcdrom_usb.img
-
- * standalone/draksplash, standalone/drakfirewall, standalone/logdrake,
- standalone/drakpxe, standalone/keyboarddrake, standalone/drakboot,
- standalone/mousedrake, standalone/drakbackup, standalone/drakconnect,
- standalone/drakxtv, standalone/adduserdrake, standalone/drakxservices,
- standalone/drakproxy, standalone/livedrake, standalone/harddrake2,
- standalone/drakfont, standalone/drakgw, standalone/drakperm,
- standalone/scannerdrake: reflect in standalone drakxtools the removal of
- DrakX icons
-
- * pixmaps/langs/lang-zh_CN.png, pixmaps/langs/lang-sl.png,
- pixmaps/langs/lang-hy.png, pixmaps/langs/lang-de.png,
- pixmaps/langs/lang-cy.png, pixmaps/langs/lang-it.png,
- pixmaps/langs/lang-eu.png, pixmaps/langs/lang-ca.png,
- pixmaps/langs/lang-sp.png, pixmaps/langs/lang-mr.png,
- pixmaps/langs/lang-am.png, pixmaps/langs/lang-nb.png,
- pixmaps/langs/lang-kn.png, pixmaps/langs/lang-gd.png,
- pixmaps/langs/lang-bn.png, pixmaps/langs/lang-lo.png,
- pixmaps/langs/lang-el.png, pixmaps/langs/lang-ia.png,
- pixmaps/langs/lang-pt_BR.png, pixmaps/langs/lang-sv.png,
- pixmaps/langs/lang-mi.png, pixmaps/langs/lang-bg.png,
- pixmaps/langs/lang-fo.png, pixmaps/langs/lang-kw.png,
- pixmaps/langs/lang-hu.png, pixmaps/langs/lang-ur.png,
- pixmaps/langs/lang-iu.png, pixmaps/langs/lang-az.png,
- pixmaps/langs/lang-mt.png, pixmaps/langs/lang-et.png,
- pixmaps/langs/lang-wa.png, pixmaps/langs/lang-sq.png,
- pixmaps/langs/lang-he.png, pixmaps/langs/lang-eo.png,
- pixmaps/langs/lang-ta.png, pixmaps/langs/lang-ga.png,
- pixmaps/langs/lang-sr.png, pixmaps/langs/lang-lt.png,
- pixmaps/langs/lang-oc.png, pixmaps/langs/lang-ms.png,
- pixmaps/langs/lang-mk.png, pixmaps/langs/lang-lv.png,
- pixmaps/langs/lang-zh_TW.png, pixmaps/langs/lang-is.png,
- pixmaps/langs/lang-ro.png, pixmaps/langs/lang-be.png,
- pixmaps/langs/lang-fr.png, pixmaps/langs/lang-te.png,
- pixmaps/langs/lang-hr.png, pixmaps/langs/lang-no.png,
- pixmaps/langs/lang-en_GB.png, pixmaps/langs/lang-sk.png,
- pixmaps/langs/lang-uk.png, pixmaps/langs/lang-br.png,
- pixmaps/langs/lang-en_US.png, pixmaps/langs/lang-bs.png,
- pixmaps/langs/lang-nl.png, pixmaps/langs/lang-af.png,
- pixmaps/langs/lang-tr.png, pixmaps/langs/lang-pt.png,
- pixmaps/langs/lang-gl.png, pixmaps/langs/lang-uz.png,
- pixmaps/langs/lang-pl.png, pixmaps/langs/lang-hi.png,
- pixmaps/langs/lang-id.png, pixmaps/langs/lang-mn.png,
- pixmaps/langs/lang-yi.png, pixmaps/langs/lang-fi.png,
- pixmaps/langs/lang-ka.png, pixmaps/langs/lang-ru.png,
- pixmaps/langs/lang-nn.png, pixmaps/langs/lang-gv.png,
- pixmaps/langs/lang-th.png, pixmaps/langs/lang-cs.png,
- pixmaps/langs/lang-ko.png, pixmaps/langs/lang-tg.png,
- pixmaps/langs/lang-tt.png, pixmaps/langs/lang-da.png,
- pixmaps/langs/lang-ja.png, pixmaps/langs/lang-vi.png,
- pixmaps/langs/lang-es.png: put new pablo's images (less large, add
- missing ones)
- sort langs in lang.pm
-
- * detect_devices.pm: let hasSMP don't exit DrakX in testing mode because
- /dev/mem is not accessible
-
- * mdk-stage1/Makefile: fix deps problem when re-running make
- hd_usb.img -> hdcdrom_usb.img
-
- * share/po/ja.po: reduce a translation size so that groups choice still
- has the "ok" button shown
- reduce some translations sizes to make diskdrake at least usable ("ok"
- button was hidden!)
-
- * share/po/fr.po: update
-
- * ugtk2.pm: perl checko says we need to use parentheses with ref
- hugly hack because GtkLabel doesn't wrap when using languages that don't
- contain spaces
-
- * drakxtools.spec: cøws gó mòõh
-
-2003/02/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/help-de.pot, share/po/help-it.pot, share/po/help-fr.pot,
- share/po/help-es.pot: updated pot file
-
- * standalone/harddrake2: i18n fixes
-
- * standalone/drakpxe: fixed bad English string
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/hr.po, share/po/tr.po, share/po/mt.po,
- share/po/ga.po, share/po/be.po, share/po/uk.po, share/po/ko.po,
- share/po/DrakX.pot, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/tg.po, share/po/bs.po, share/po/uz.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated pot file
- updated pot file
-
- * share/po/et.po, share/po/ja.po: updated pot file
- Updated Estonian file
- updated pot file
-
-2003/02/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: ensure the $::expert flag in netconnect
- doesn't propagate to the rest of the
- install
-
-2003/02/28 Frederic Lepied <flepied@mandrakesoft.com>
-
- * network/netconnect.pm: allow to switch in expert mode during install.
-
- * network/ethernet.pm: Configure hostname only in expert mode.
-
- * network/network.pm: corrected HOSTNAME/DHCP_HOSTNAME management.
-
-2003/02/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: ensure the $::expert flag in netconnect
- doesn't propagate to the rest of the
- install
-
-2003/02/28 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm, share/rpmsrate:
- - Fixed confScanner() deleting the config file in some cases.
- - Removed PDQ from share/rpmsrate
-
-2003/02/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * lang.pm, Makefile: error out when a listed lang doesn't have a png lang
- file
- when doing the check of lang.pm, first show the warnings,
- then the errors
- at make-install time, remove pang lang files corresponding
- to disabled langs
-
-2003/02/27 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 9.1-10mdk
-
-2003/02/27 alafox
-
- * share/po/ru.po: spellchecked and updated some translations
-
-2003/02/27 Frederic Lepied <flepied@mandrakesoft.com>
-
- * network/network.pm: corrected HOSTNAME management
-
-2003/02/27 florin
-
- * standalone/drakgw: read more carefully the existing network
- configuration
-
-2003/02/27 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: added mirror url not given.
- fixed small typo.
- added cancel button.
- fixed message displayed.
- added dialog more precisely.
- added message box in case of error.
-
- * share/rpmsrate: moved galaxy-gnome to X from GNOME (lmontel and dadou
- request)
-
- * network/adsl.pm: add sagem connection and disconnection script using
- /etc/ppp/peers/adsl file.
- probe user and password in /etc/ppp/options.adsl too (as produced by
- original eagle installation),
- sagem adsl type connection does not need to configure an ethernet
- connection.
-
-2003/02/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: don't forget gigabit network
- adapters
-
-2003/02/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
-2003/02/27 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: /root on a separate partition gives a warning, not an error
-
- * network/nfs.pm (check): start portmap if needed
-
- * install_any.pm:
- - add get_info_from_fstab()
- - use it when reading existing fstab (to get for example devfs mount)
- have locales-xx first in default_packages so that default choosing based
- on
- locales works for packages in default_packages
-
- * pkgs.pm: perl_checker fix
- enhance packageCallbackChoices and %preferred
- (uses new URPM::Resolve feature allowing multiple choices)
-
- * fs.pm, standalone/diskdrake:
- - add get_info_from_fstab()
- - use it when reading existing fstab (to get for example devfs mount)
-
- * interactive/gtk.pm: workaround gtk suckiness (set_text in a combo
- generates two 'change' signals, one when removing the whole, one for
- inserting the replacement..)
-
- * install2.pm: no mouse probe when brltty
-
- * standalone/drakupdate_fstab: allow removing device "non kudzu flagged"
- (for harddrake)
-
- * bootloader.pm: use lilo-like code for selecting mapdrive or not
- (it was buggy, always generating "map (0x81) (0x80)", even for hd2)
-
- * share/rpmsrate:
- - don't need to list packages providing a required virtual language
- (eg: aspell-dictionnary)
- - replace ispell with aspell (otherwise people using evolution get
- both aspell and ispell)
-
-2003/02/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/data.pm, printer/office.pm: Make OpenOffice.org opening a GUI
- printing tool when printing with the "Generic Printer".
-
- * standalone/scannerdrake: Do not ask for the port when the user has
- chosen an HP MF device as scanner model.
-
-2003/02/27 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: translate missing translations
- fix sorting in keybordrake that was broken by bad translator
-
- * standalone/drakconnect: fix too big internet configuration window
-
- * standalone/service_harddrake: add ieee1394-controller alias and load
- ohci1394 when a firewire controller appeared
- handle configurators with options (eg: "diskdrake --removable=scd0")
-
- * drakxtools.spec: 9.1-10mdk
- 9.1-10mdk
- 9.1-9mdk
-
- * standalone/drakperm: make it fit in embedded mode, large enough else
-
- * harddrake/data.pm: add ieee1394-controller alias and load ohci1394 when
- a firewire controller appeared
-
- * standalone/drakgw: fix embedding
-
-2003/02/27 florin
-
- * standalone/drakgw: read more carefully the existing network
- configuration
- the function is called read_dhcpd_conf not read_dhcpd_conf_raw
- read the dhcpd conf file before hand
-
- * network/network.pm: add the read_dhcpd_conf function for drakgw
-
-2003/02/27 François Pons <fpons@mandrakesoft.com>
-
- * crypto.pm: change default version to 9.1
-
- * standalone/drakconnect: fixed cancel on configure_net, fixed bad fields
- setted up in configure_lan,
- fixed Data::Dumper->Dump on stdout on startup.
-
-2003/02/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/mousedrake: fix mousedrake in embedded mode
-
-2003/02/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/da.po, share/po/hu.po: updated Dutch, Hungarian
- and Danish files
-
-2003/02/27 Pixel <pixel@mandrakesoft.com>
-
- * interactive/newt.pm: perl_checker fix
-
- * pkgs.pm: enhance packageCallbackChoices and %preferred
- (uses new URPM::Resolve feature allowing multiple choices)
-
- * install_any.pm: have locales-xx first in default_packages so that
- default choosing based on
- locales works for packages in default_packages
-
- * share/rpmsrate:
- - don't need to list packages providing a required virtual language
- (eg: aspell-dictionnary)
- - replace ispell with aspell (otherwise people using evolution get
- both aspell and ispell)
-
-2003/02/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: More gtk2 updates. May have finally suppressed
- the hanging.
-
-2003/02/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm: Fixed bug #2171.
-
-2003/02/27 tpittich
-
- * share/po/sk.po: updated slovak translation
-
-2003/02/27 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: detect firewire controllers
-
- * services.pm: perl_checker fix
-
- * standalone/logdrake: fix scrolling when embedded
-
- * standalone/drakboot:
- - disable autologin settings when autologin is disabled
- - make embedded app look better
- - add vertical separators
-
- * drakxtools.spec: 9.1-8mdk
-
- * standalone/harddrake2: remove debugging print
- small perl_checker fix
- - consolidate menu titles translations
- - add two pull down menu that enable one to access options and help
- when
- embedded
- - (popup_menu) provide this callback for embedded pull down menus
- - cleanup various other embedding stuff
- - convert all object creations to gc blessed style
-
- * standalone/drakfloppy:
- - gtk+2 port
- - clean the code through ugtk2
- - too many fixes to count
- - clean, clean it, ... (thus shrinking the code by 20%)
- - ...
-
- * standalone/drakconnect:
- - better check /sbin/ifconfig is executable rather than simply exists
- - fix lan configuration window filling ...
-
- * ugtk2.pm:
- - (create_factory_popup_menu): introduce it for embedded harddrake2
- - embedding cleanups:
- o give access to top-level gtk2::plug widget
- o reuse gtkshow
-
- * standalone/drakperm: make it fit in embedded mode, large enough else
-
-2003/02/26 alus
-
- * share/po/pl.po: uipdated
- updated
-
-2003/02/26 erwan
-
- * rescue/list.ia64: merg ia64
-
- * share/list.ia64, bootloader.pm, install_any.pm, Makefile: merge ia64
-
- * install_steps.pm: Merging ia64
-
- * any.pm: Merging any.pm with ia64
-
- * fs.pm: merging fs.pm with ia64
-
- * fsedit.pm, steps.pm, partition_table.pm: merging ia64
-
-2003/02/26 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: moved type detection code to network.
-
- * install2.pm: added corporate global flag.
-
- * standalone/drakpxe: added code to handle more smootly if apache or
- apache-mod_perl is installed, or
- try using apache2.
- switched to apache2 instead of apache (avoid problem with
- apache-mod_perl).
-
- * network/network.pm: small fixes.
- added probe separately to handle drakconnect horror.
- add probe of internet connection (this could avoid strange behaviour).
- fixed back as titi sucks about message.
- try to get back DOMAINNAME if needed.
-
- * standalone/drakconnect: fixed unablities to launch Internet
- configuration dialog.
- add explicit probe for netcnx type.
-
-2003/02/26 nplanel
-
- * c/smp-dmi.c, c/smp.c: Two smp detection for intel arch
-
-2003/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
-
- * share/gen_locales.sh: removed exception for Tamil
-
- * share/po/pl.po: Fixed syntax error
-
- * share/po/nl.po, share/po/fi.po: updated Finnish and Dutch files
-
- * keyboard.pm: There is no arabic keyboard available for the console
-
-2003/02/26 Pixel <pixel@mandrakesoft.com>
-
- * interactive/newt.pm: handle multi-line labels for Checkbox'es (eg:
- Options in diskdrake)
- handle the "Advanced" button in newt
-
- * network/isdn.pm: replace the last @isdndata with @isdn::isdndata (beurk)
-
-2003/02/26 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm: Skip Alcatel Speed Touch ADSL Modem when it is detected by
- "sane-find-scanner"
-
-2003/02/26 tpittich
-
- * share/po/sk.po: updated slovak translation (this is my first cvs commit
- ;) ).
-
-2003/02/26 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * c/smp-dmi.c: fix planel sucks that broke the installation (hint look at
- nm output
- on old stuff.so ... )
-
- * standalone/drakedm: untabify
- on laurent request, strip the empty lines and add a end-of-line
- character on
- last line
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, harddrake/sound.pm, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: typo fix
- (s/snd-slot/sound-slot/)
-
- * bootlook.pm, standalone/drakboot:
- - kill used once only bootlook module
- - inline oneliners use only once
- - kill unused variables
- - strict pragma fixes
- - ...
-
- * harddrake/data.pm: detect usb adsl speed touch modem as modem and not as
- unknown device
- what's remain: why sane-find-scanner keep detect it a scanner ??
-
- * standalone/harddrake2:
- - remove unused variable (hey perl_checker, why didn't you see it ?)
- - (rename_field) better use the parameter we passed than relying on $_
- be set to the right value in that context even if it was correct
-
-2003/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- Finnish, Hungarian and Slovak files
-
-2003/02/26 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm, install_interactive.pm: after ntfs resize,
- warn user that on Windows next boot fsck will be done
-
-2003/02/26 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Gtk2 port. Bugzilla reports. Some perl_checker
- errors still, but cleaner.
- (some are generated by calls from other modules used)
-
-2003/02/26 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * c/smp-dmi.c: fix planel sucks that broke the installation (hint look at
- nm output
- on old stuff.so ... )
-
-2003/02/25 fabman
-
- * share/po/es.po: updated spanish translation
-
-2003/02/25 Pixel <pixel@mandrakesoft.com>
-
- * network/network.pm (read_resolv_conf_raw): fix "search ..." handling
-
-2003/02/25 fabman
-
- * share/po/es.po: Updated Spanish translations (some left)
-
-2003/02/25 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: removed gnome-tiles
-
- * share/po/fr.po: mise-à-jour => mise à jour
-
-2003/02/25 François Pons <fpons@mandrakesoft.com>
-
- * share/list: added dmidecode in install.
-
- * pkgs.pm: improved code for populating group with pixel.
-
- * network/adsl.pm: cleaned a bit the code.
- added login and passwd remember from /etc/ppp/peers/adsl
- /etc/ppp/options
- /etc/ppp/pap-secrets /etc/ppp/chap-secrets file
- modified string as sagem driver now use pppoa
-
- * any.pm: added dmidecode in bug report.
-
- * tools/Makefile, Makefile: removed dmidecode.
- added dmidecode
-
- * tools/dmidecode/dmidecode.c, tools/dmidecode/Makefile: added dmidecode
-
- * rescue/list: removed dmidecode.
- added dmidecode for rescue (from lm_sensors)
-
-2003/02/25 gbeauchesne
-
- * share/list.x86_64: More xf86 modules for x86-64
-
-2003/02/25 nplanel
-
- * c/smp-dmi.c, c/smp.c, c/Makefile.PL: Add dmidetection for smp
-
-2003/02/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ga.po, share/po/uk.po, share/po/lt.po, share/po/af.po,
- share/po/lv.po: Fixed the wrong Finish/Finnish of some translations
- updated Finnish and French files
-
- * share/po/et.po: updated Estonian file
- updated Finnish and French files
-
- * share/po/th.po: Fixed Thai button for "Finish" (it means "end" and not
- "from Finland")
- updated Finnish and French files
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/sl.po, share/po/no.po,
- share/po/ja.po, share/po/hr.po, share/po/tr.po, share/po/mt.po,
- share/po/be.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/hu.po: updated Finnish and French files
-
-2003/02/25 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm, install_gtk.pm: cleanup handling of XF4 server
- choice during install
-
- * network/network.pm (read_resolv_conf_raw): fix "search ..." handling
-
- * share/rpmsrate: s/apache/apache2/
-
- * mdk-stage1/mount.c: handle device hdi, hdj... hdt creation
-
- * modules/interactive.pm: join detect_devices::stringlist() to have it in
- a text box (eurk!)
- (for bug #1802), the result is quite ugly, but at least the full line
- can be read
-
- * any.pm (fileshare_config): create group "fileshare" in "Custom" mode
-
-2003/02/25 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm: Prepared for LPRng and PDQ
- goint to Contribs or leaving the distro, "Change
- Printing System" button only appears if at least one of them is manually
- installed.
-
-2003/02/25 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: handle floppes, zip drives, dvd-rom, cdrom and
- burners at startup time
- - factorize code into harddrake::data::set_removable_configurator()
- - really do not offer to configure module for removable devices
- - do not put zip drives in unknown devices class
- - reuse Yes|No translations in harddrake::ui
-
- * standalone/drakfloppy: we already use diagnostics pragma, so -w will
- just slow down normal execution
- only list physically present floppies
- reuse MDK::Common
- - fix stupid copy 'n past of copyright header
- - update copyright years
- fix #???? : switch the "expert mode" toggle button label regarding the
- current
- mode (beginner or expert)
-
- * bootlook.pm:
- - remove deprecated, half-commented aurora related code
- - fix display of autologin radio buttons
-
- * standalone/harddrake2: do not display alternatives oss/alsa drivers if
- there's none
- - factorize code into harddrake::data::set_removable_configurator()
- - really do not offer to configure module for removable devices
- - do not put zip drives in unknown devices class
- - reuse Yes|No translations in harddrake::ui
- - don't offer to configure module for removable media
- - usb devices (such as zip): display vendor, description and a more
- detailled media type
- display media capacity too (DVD and/or burning ability)
-
- * standalone/service_harddrake: handle floppes, zip drives, dvd-rom, cdrom
- and burners at startup time
- don't black out the screen if not needed
-
- * drakxtools.spec: 9.1-7mdk
-
- * share/po/fr.po: update french translation
-
-2003/02/25 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: readd harddrake in SYSTEM 5
-
- * share/compssUsers: add ARCHIVING in OFFICE
-
-2003/02/24 alus
-
- * share/po/pl.po: one entry
-
-2003/02/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/br.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/ja.po, share/po/hr.po, share/po/tr.po, share/po/mt.po,
- share/po/ga.po, share/po/be.po, share/po/uk.po, share/po/ko.po,
- share/po/sv.po, share/po/sr.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sq.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated Welsh, Greek,
- Swedish and Chinese files
-
- * lang.pm: improved default fonts for KDE, completed the geographic
- location
- by continent for a few remaining country codes
-
- * share/po/et.po: updated Estonian file
- updated Welsh, Greek, Swedish and Chinese files
-
- * share/po/pt_BR.po, share/po/DrakX.pot, share/po/pl.po, share/po/pt.po:
- updated Portuguese file
- updated Welsh, Greek, Swedish and Chinese files
-
-2003/02/24 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm: use Sans & Monospace for kde (as requested by lmontel)
-
- * mdk-stage1/probing.c: replace checking hd[a-h] with hd[a-t] (cf bug
- #1801)
-
- * install_steps_interactive.pm: allow neuneus to quit install at license
- step (esp. for Ann & Warly's father)
-
-2003/02/24 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm: dmasound_awacs -> dmasound_pmac
-
-2003/02/24 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: final embedding cleanups
- - clean up embedding; since socket automatically emit plug-added gtk+
- signal
- when plug is realize, it's just cleaner to centralize/consolidate the
- child
- embedding in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR2', $::CCPID;"
- - keyboarddrake, xfdrake, drakautoinst: goto cleaning btw
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * standalone.pm: final embedding cleanups
-
- * standalone/harddrake2: fix size when embedded
- first attempt at making printerdrake to behave smoother when embedded in
- the
- mcc
- - untabify
- - hide devices which has no driver or whose driver is an url,
- a graphic server and consolidate the test by the way
- prefix devfs device name with "/dev/" too
-
- * standalone/drakfloppy:
- - fix packing (#1760)
- - --expert command line option switch to expert mode by default
- - only hide expert stuff if not in expert mode at startup
-
- * standalone/logdrake:
- - remove debug statements
- - print an error message if we die on something other than wizcancel
- fix mail alert generation
- - do not crash without any message in strict mode (wizcancel die
- miscatched)
- - make the generated script be 'use strict' and perl_checker compliant
- simplify
- - clean up embedding; since socket automatically emit plug-added gtk+
- signal
- when plug is realize, it's just cleaner to centralize/consolidate the
- child
- embedding in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR2', $::CCPID;"
- - keyboarddrake, xfdrake, drakautoinst: goto cleaning btw
-
- * standalone/printerdrake, standalone/drakconnect,
- standalone/scannerdrake:
- - clean up embedding; since socket automatically emit plug-added gtk+
- signal
- when plug is realize, it's just cleaner to centralize/consolidate the
- child
- embedding in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR2', $::CCPID;"
- - keyboarddrake, xfdrake, drakautoinst: goto cleaning btw
-
- * standalone/drakfont: looks better like this
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * interactive/gtk.pm, printer/printerdrake.pm: first attempt at making
- printerdrake to behave smoother when embedded in the
- mcc
-
- * standalone/drakautoinst, my_gtk.pm, standalone/XFdrake,
- standalone/keyboarddrake:
- - clean up embedding; since socket automatically emit plug-added gtk+
- signal
- when plug is realize, it's just cleaner to centralize/consolidate the
- child
- embedding in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR2', $::CCPID;"
- - keyboarddrake, xfdrake, drakautoinst: goto cleaning btw
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * drakxtools.spec: 9.1-6mdk
- more fixes
- 9.1-5mdk
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * standalone/net_monitor: fix embedding (even if we don't embbed it, it's
- better)
-
- * bootlook.pm: perl_checker fix
- clean up:
- - no more directly handle embeddign
- - use ugtk2
- - clean up embedding; since socket automatically emit plug-added gtk+
- signal
- when plug is realize, it's just cleaner to centralize/consolidate the
- child
- embedding in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR2', $::CCPID;"
- - keyboarddrake, xfdrake, drakautoinst: goto cleaning btw
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * standalone/drakxservices, diskdrake/hd_gtk.pm, standalone/drakboot,
- standalone/drakTermServ:
- - clean up embedding; since socket get automatically destroyed on
- child exit
- and since they emit plug-removed at that moment, it's just cleaner to
- centralize/consolidate the child exit in mcc
- this of course, need a newer up-to-date mcc
- what's more, it allows to remove the somewhat mythical
- "$::isEmbedded and kill 'USR1', $::CCPID;"
- - drakautoinst, drakxservices, keyboardrake: fix fscking embedding
- managment
-
- * standalone/drakperm: fix #1771
- level should not be editable
-
- * services.pm: in standalone mode, only display a service as enabled at
- boot time
- only if it's really enabled in current runlevel.
- what's more it's more coherent with other "only show current runlevel
- status" tools like ntsysv.
-
-2003/02/24 Warly <warly@mandrakesoft.com>
-
- * share/compssUsers: "Mail/Groupware/News" is now just "Mail"
-
-2003/02/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: fixed several fuzzy lines
-
-2003/02/23 Pixel <pixel@mandrakesoft.com>
-
- * timezone.pm: use output_p() instead of output() for
- /etc/ntp/step-tickers
-
-2003/02/23 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/scannerdrake: Fixed wait message not embedded in drakconf.
-
- * printer/main.pm, printer/printerdrake.pm: Several bug fixes on
- printerdrake
- - "BrowsePoll <IP>:<Port>" needs "Browsing On" in
- /etc/cups/cupsd.conf.
- - If the same printer model is once on the parallel port and second on
- USB,
- there was a new USB queue created on every start of Printerdrake.
- - Now CUPS is restarted whenever a new USB print queue is set up so
- that
- CUPS can provide the model-related USB URI.
- - Made sure that the default printer is defined and that it is an
- existing
- queue so that during installation printerdrake does not show a line
- only
- containing " (Default)" in the list of installed printers.
- - Cleaned up data structure after automatic queue generation.
-
-2003/02/23 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm (migrate_files): check return values (fixes bug
- #2170)
-
-2003/02/23 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/printerdrake.pm, install_steps_interactive.pm: Fixed bug of
- printerdrake loosing the printer queue info during the
- preparation of the "Summary" window (only if there are local
- printers). No the printer queue entries should not be empty when
- clicking on "Configure" in the "Printer" part of the "Summary" window.
-
-2003/02/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po, share/po/wa.po: updated pot file
- updated Estonian file
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated pot file
-
- * standalone/harddrake2: changed an English string
-
-2003/02/22 Pixel <pixel@mandrakesoft.com>
-
- * interactive/gtk.pm: in $::expert, use a SpinButton instead of HScale for
- type "range"
- (useful in diskdrake to enter the partition size directly)
-
- * share/rpmsrate: ensure galaxy-kde is installed together with kdebase
-
- * partition_table/raw.pm (test_for_bad_drives): don't open in write mode
- when testing
-
-2003/02/22 siegel
-
- * share/po/de.po: updates
-
-2003/02/21 alus
-
- * share/po/pl.po: updated
-
-2003/02/21 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: no need to use regexp
-
- * drakxtools.spec: 4mdk
-
- * network/isdn.pm: $isdn->{is_light} wasn't set while using autodetection,
- rpm wasn't installed
-
- * network/tools.pm: oups... hu... nothing
-
- * network/netconnect.pm: oups... hu... nothing
- get back password input for adsl
-
-2003/02/21 florin
-
- * network/netconnect.pm: add isdn check in get_net_device
-
-2003/02/21 gbeauchesne
-
- * mdk-stage1/dietlibc/libcruft/dnscruft2.c: Better fix for DNS resolver
- bug
-
-2003/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: embedded should segfault a bit less if I don't let the
- embedded
- window creation destroy the destroy handler
- workaround what seems to be a gtk bug (#1445)
- gtk seems to loop (and take 100% user cpu) when
- I change the pixbuf of a gtkcellrendererpixbuf
- in a treeview that is not currently displayed
-
-2003/02/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- Estonian and Dutch files
- updated Danish file
-
- * help.pm: fixed a typo
-
-2003/02/21 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm: when isEmbedded, use $::WizardTable to allow non pop_it when
- not visible
-
- * pixmaps/colors16.png:
- - make it the same range as colors.png and colors8.png
- - it is a 64 colors image (note that colors8 is 16 colors)
-
- * services.pm (ask_standalone_gtk): ensure popup is not destroyed more
- than once
-
- * fsedit.pm: use test_for_bad_drives even after install (esp. to detect
- removed usb-storage
- devices still visible in /proc/scsi/scsi)
-
- * install_steps_interactive.pm: "Generate auto install floppy" and "Save
- packages selection" are now available in advanced
-
- * Xconfig/resolution_and_depth.pm: fix setting the image & colors in
- resolution chooser
-
-2003/02/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/printerdrake.pm:
- - Fixed text of "Refresh printer list" button when list is empty.
- - Let printerdrake clean up its datastructure after auto-installing
- printers in the beginning of the "Summary" installation step.
-
-2003/02/20 florin
-
- * network/shorewall.pm: update 2 rules for the pptp dsl internet
- connection
-
-2003/02/20 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: added wait message when building groups.
-
-2003/02/20 gbeauchesne
-
- * mdk-stage1/dns.c: Fix mygethostbyaddr(), struct in is not a NULL
- terminated string.
- i.e. len has to be either sizeof(in.s_addr) or INADDRSZ.
-
- * mdk-stage1/dietlibc/libcruft/dnscruft2.c: Workaround DNS resolver bug on
- 64-bit platforms.
-
- * mdk-stage1/dietlibc/syscalls.s/lstat64.S,
- mdk-stage1/dietlibc/libregex/rx.c, mdk-stage1/dietlibc/include/string.h,
- mdk-stage1/dietlibc/libugly/strftime.c,
- mdk-stage1/dietlibc/i386/ldexp.S, mdk-stage1/dietlibc/i386/sin.S,
- mdk-stage1/dietlibc/lib/strerror.c, mdk-stage1/dietlibc/dietstdio.h,
- mdk-stage1/dietlibc/include/sys/vfs.h,
- mdk-stage1/dietlibc/include/unistd.h, mdk-stage1/dietlibc/i386/mmap64.S,
- mdk-stage1/dietlibc/i386/vfork.S,
- mdk-stage1/dietlibc/libstdio/fdglue2.c,
- mdk-stage1/dietlibc/alpha/errlist.S,
- mdk-stage1/dietlibc/include/dirent.h, mdk-stage1/dietlibc/sparc/urem.S,
- mdk-stage1/dietlibc/libcruft/scandir64.c,
- mdk-stage1/dietlibc/include/assert.h, mdk-stage1/dietlibc/lib/__isnan.c,
- mdk-stage1/dietlibc/sparc/umul.S,
- mdk-stage1/dietlibc/i386/dyn_syscalls.S, mdk-stage1/dietlibc/CHANGES,
- mdk-stage1/dietlibc/libstdio/fflush.c,
- mdk-stage1/dietlibc/libcruft/sysconf.c,
- mdk-stage1/dietlibc/syscalls.s/pause.S,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S,
- mdk-stage1/dietlibc/diet.c, mdk-stage1/dietlibc/FAQ,
- mdk-stage1/dietlibc/syscalls.s/socketcall.S,
- mdk-stage1/dietlibc/include/sys/poll.h,
- mdk-stage1/dietlibc/sparc/Makefile.add,
- mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S,
- mdk-stage1/dietlibc/include/dlfcn.h,
- mdk-stage1/dietlibc/syscalls.s/umount2.S,
- mdk-stage1/dietlibc/include/sys/time.h,
- mdk-stage1/dietlibc/include/signal.h,
- mdk-stage1/dietlibc/libcruft/alphasort64.c,
- mdk-stage1/dietlibc/libshell/glob.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigpending.S,
- mdk-stage1/dietlibc/include/stdarg-cruft.h,
- mdk-stage1/dietlibc/lib/signal.c, mdk-stage1/dietlibc/lib/__dtostr.c,
- mdk-stage1/dietlibc/lib/__isinf.c, mdk-stage1/dietlibc/syscalls.s/ipc.S,
- mdk-stage1/dietlibc/include/sys/types.h, mdk-stage1/dietlibc/Makefile,
- mdk-stage1/dietlibc/libstdio/fread.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigaction.S,
- mdk-stage1/dietlibc/syscalls.s/fstat64.S,
- mdk-stage1/dietlibc/libugly/tzfile.c,
- mdk-stage1/dietlibc/lib/__v_printf.c,
- mdk-stage1/dietlibc/sparc/errlist.S, mdk-stage1/dietlibc/i386/memchr.S,
- mdk-stage1/dietlibc/syscalls.s/msync.S,
- mdk-stage1/dietlibc/i386/libm2.S, mdk-stage1/dietlibc/sparc/udiv.S,
- mdk-stage1/dietlibc/i386/cos.S, mdk-stage1/dietlibc/include/sys/ioctl.h,
- mdk-stage1/dietlibc/syscalls.s/errlist.S,
- mdk-stage1/dietlibc/syscalls.s/stat64.S,
- mdk-stage1/dietlibc/libugly/strndup.c: Merge with dietlibc 0.22-1mdk
-
-2003/02/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dns.c: fix potential segfault thx to gwenole
-
- * install_steps_interactive.pm: oops i didn't understand the internals of
- wait_message hence breaking it. hopes that will fix.
- install the potentially needed locales country when user selected
- another country
- Gtk2::Label::set is deprecated
-
- * install_steps_gtk.pm, services.pm: Gtk2::Label::set is deprecated
-
- * share/logo-mandrake.png: update shadow
- Gtk2::Label::set is deprecated
-
- * interactive.pm: oops i didn't understand the internals of wait_message
- hence breaking it. hopes that will fix.
- Gtk2::Label::set is deprecated
-
- * install_gtk.pm, ugtk2.pm: change a bit position of main window and steps
- window
- in steps window, have titles in grey
-
- * fs.pm: thx rekcehc_lrep
-
- * any.pm: cows go møøh
-
-2003/02/20 Pixel <pixel@mandrakesoft.com>
-
- * network/shorewall.pm: fix florin: replace $prefix with $::prefix
-
- * help.pm: fix typos
-
- * any.pm: allow Cancel in setupBootloader__entries
- - add "Force No APIC"
- - rename add_append() to set_append()
- (since it can be used to remove a key)
- - add remove_append_simple()
-
- * install_steps.pm, bootloader.pm:
- - add "Force No APIC"
- - rename add_append() to set_append()
- (since it can be used to remove a key)
- - add remove_append_simple()
-
- * network/network.pm: use detect_devices::pcmcia_probe() instead of
- detect_devices::probeall()
- - read_resolv_conf() reads DOMAINNAME & DOMAINNAME2
- - read_resolv_conf() reads /etc/resolv.conf by default
- - read_resolv_conf_raw() created
-
- * install_steps_interactive.pm: help perl_checker find the N("...") the
- #-PO corresponds to
-
- * diskdrake/interactive.pm: have ask_okcancel instead of ask_warn on
- cdie's
- add catch_cdie's around fsedit::check_mntpoint and fsedit::add
-
- * install2.pm: {brltty}{device} is optional, default is ttyS0 or ttyS1 (?)
-
- * fsedit.pm: warn non-ascii chars in mount point (cf bug #1588)
- use cdie instead of die for warnings
-
- * Xconfig/card.pm: don't vivify @cards
-
- * install_steps_gtk.pm: fix $check_complete use in gtk summary
-
-2003/02/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: perl_checker
- Finish gtk2 port.
-
-2003/02/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakgw: don't use gtk+2 deprecated functions
-
- * bootlook.pm:
- - add --testing support
- - fix #1923 (aka reuse consolided code instead of using deprecated
- code)
- - minor cleanup
- - skip comments while parsing /etc/lilo.conf
- don't use gtk+2 deprecated functions
-
- * drakxtools.spec: 9.1-3mdk
-
- * standalone/harddrake2: perl_checker fix
- - prevent any l10n problem by having only one path string when both
- creating the menu and acessing a menu widget (aka translate menu
- paths only once), which also nicely cut down the translators job.
- - decrease diagnostics pragma verbosity (aka remove big fat warning
- messages)
-
- * share/po/fr.po: further updates
- translate all countrie names
- update french translation
-
-2003/02/20 alus
-
- * share/po/pl.po: typo fix
-
-2003/02/20 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: dhcp fix
-
-2003/02/20 gbeauchesne
-
- * mdk-stage1/dietlibc/dietfeatures.h: Disable back WANT_TZFILE_PARSER,
- 0.22 fixed strftime() problem
-
- * share/rpmsrate: Better defaults for OOo
-
- * mdk-stage1/dns.c: Fix mygethostbyaddr(), struct in is not a NULL
- terminated string.
- i.e. len has to be either sizeof(in.s_addr) or INADDRSZ.
-
-2003/02/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: install the potentially needed locales
- country when user selected
- another country
- Gtk2::Label::set is deprecated
- add a PO comment to try to keep buttons in the window..
-
- * share/themes-galaxy.rc: logo is aso white on blue
-
- * mdk-stage1/dns.c: fix potential segfault thx to gwenole
-
- * share/po/fr.po: some misc fixes
- translate iraq
-
- * fs.pm: thx rekcehc_lrep
-
- * install_steps_gtk.pm: Gtk2::Label::set is deprecated
- fix bold diplay of texts in adverts
-
- * share/logo-mandrake.png, services.pm, interactive.pm: Gtk2::Label::set
- is deprecated
-
- * ugtk2.pm: try to handle case with large fonts (CJK for example) ->
- branch on TextView
- when the box will be quite large
-
-2003/02/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: corrected Russian
- translation
-
- * share/po/eu.po: changed encoding
- corrected Russian translation
-
-2003/02/20 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: don't let diskdrake detect ext3/reiserfs/jfs/xfs on a type
- 0x7 partition
- - simplify check_mntpoint
- - fix checking mount point in Mount_point()
-
- * partition_table.pm: set {device_windobe} for 0x107 *and* 0x7 (since
- 0x107 is not set correctly at this stage)
- (otherwise this causes mount points /mnt/win_ /mnt/win_1...)
-
- * diskdrake/interactive.pm:
- - simplify check_mntpoint
- - fix checking mount point in Mount_point()
-
- * bootloader.pm:
- - add "Force No APIC"
- - rename add_append() to set_append()
- (since it can be used to remove a key)
- - add remove_append_simple()
-
- * install_steps_interactive.pm: help perl_checker find the N("...") the
- #-PO corresponds to
-
- * any.pm:
- - add "Force No APIC"
- - rename add_append() to set_append()
- (since it can be used to remove a key)
- - add remove_append_simple()
- add XF86Config and XF86Config-4 to report.bug
- no autologin by default if more than one users
-
- * Xconfig/card.pm: log manually chosen graphic card
- log why auto X config failed (needVideoRam)
-
- * ugtk2.pm: ensure {box_size} is set (to have less warnings)
-
- * standalone/diskdrake, interactive.pm: have less warnings when debugging
-
- * pkgs.pm: prefer myspell-en_US
-
- * install_steps.pm:
- - add "Force No APIC"
- - rename add_append() to set_append()
- (since it can be used to remove a key)
- - add remove_append_simple()
- usb is runned by rc.sysinit, and doesn't like "chkconfig --add" anymore
-
- * install2.pm: {brltty}{device} is optional, default is ttyS0 or ttyS1 (?)
- fix brltty support
-
- * interactive/gtk.pm: set a minimum size for Gtk2::HScale's (mainly used
- for resizing partitions)
- fix $ok_clicked when there is no ok button
- have less warnings when debugging
-
-2003/02/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Partial gtk2 update - still needs work on
- TreeViews
-
-2003/02/20 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - Improved/fixed generation of printer list entries from
- manufacturer-supplied PostScript PPD files
- - Removed forgotten debug mode
- - Disabled wizard-mode temporarily
-
- * install_steps_interactive.pm: Made sure that printerdrake does not open
- its main window when called during the preparation of the "Summary"
- screen.
-
-2003/02/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/harddrake2:
- - prevent any l10n problem by having only one path string when both
- creating the menu and acessing a menu widget (aka translate menu
- paths only once), which also nicely cut down the translators job.
- - decrease diagnostics pragma verbosity (aka remove big fat warning
- messages)
-
- * drakxtools.spec: 9.1-2mdk
-
- * standalone/logdrake: fix #1829
-
- * share/po/fr.po: further updates
- translate all countrie names
- update french translation
-
-2003/02/20 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm: ensure {box_size} is set (to have less warnings)
-
- * diskdrake/interactive.pm, fsedit.pm:
- - simplify check_mntpoint
- - fix checking mount point in Mount_point()
-
- * interactive/gtk.pm, standalone/diskdrake, interactive.pm: have less
- warnings when debugging
-
- * Xconfig/card.pm: log why auto X config failed (needVideoRam)
-
-2003/02/19 alus
-
- * share/po/pl.po: updated
-
-2003/02/19 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed if update fail to allow retry.
- added code to retry finding an update medium if something went wrong.
- add ugly probed type of network configuration.
- make sure network::network:: is used (just in case)
- add default configuration for network for summary.
-
- * install_steps.pm: add simplified menu for desktop mode.
-
- * pkgs.pm: added a missing sanity unwind.
- add sanity code on error when reading hdlist (this will avoid update
- medium
- being trashed if an error occurred during hdlist download and so ...)
-
- * crypto.pm: code slight reorganization.
-
-2003/02/19 gbeauchesne
-
- * share/rpmsrate, share/compssUsers:
- - Add localized help files for OpenOffice.org
- - Add new SPELLCHECK category for myspell spellchecking and
- hyphenators
-
- * mdk-stage1/Makefile: Enable all usual stage1-* BINS on x86-64. Add
- dietlibc to DIRS too for that
- arch. Fix rescue-gui build with $(DIET) wrapper.
-
- * mdk-stage1/mar/Makefile: Rearrange build so that only mar binary is
- built with glibc and other objects
- with either glibc or dietlibc.
-
-2003/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * lang.pm: I'm stupid, we need to set UTF8 when there are two installed
- langs with different encodings, not just when the additional
- languages have different encoding than main one
-
- * loopback.pm, any.pm, diskdrake/interactive.pm, fs.pm, install_steps.pm,
- network/ethernet.pm, bootloader.pm, install_steps_interactive.pm,
- diskdrake/hd_gtk.pm, lvm.pm, fsedit.pm, install2.pm,
- network/drakfirewall.pm, raid.pm, install_interactive.pm,
- install_any.pm, partition_table/raw.pm, partition_table.pm: to
- workaround perl bug removing UTF8 flag when passing scalars to die's,
- pass
- a scalar-ref. but we need to de-ref, so it might break many things :).
- let's make a prayer :).
-
- * share/rpmsrate: add fonts-ttf-arabic when locale ar
-
- * ugtk2.pm: set the destroy handler after wizard creation, or the fact
- that
- wizard window will overwrite existing window will also destroy
- the destroy handler
- fix some segfaults caused by still calling destroy
- or other gtk functions after a destroy has been
- already done, triggered by the user clicking on
- the WM's "close this application" button (#1651)
- better comply to look of text like in Gtk1 (text inside a Frame)
- clean
-
-2003/02/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
- updated Uzbek file
-
- * share/rpmsrate: Improved the locale->font selection;
- added the tetex-latex-arab-doc package (previously was included in the
- main)
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/uz.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sq.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated Uzbek file
-
-2003/02/19 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: don't log "warning: find_index failed in ..."
-
- * install_steps.pm, install_steps_interactive.pm: add some more
- formatError
-
- * raid.pm: mkraid wants all the md devices written in raidtab to exist,
- even if asking to
- create a specific md
- cleanup
-
- * install_steps_auto_install.pm: add a formatError
-
- * pixmaps/X.png: add it back (used by XFdrake)
-
- * install_any.pm: use formatError
-
- * install_interactive.pm: add some formatError's
-
- * fsedit.pm, detect_devices.pm:
- - cleanup & simplify
- - handle raid on raid detection
-
- * interactive/gtk.pm: can't use $mainw->{ok}->clicked since $mainw->{ok}
- doesn't always exist, set
- {retval} and main_quit instead (the way it was done for double click, is
- this
- ok when pressing enter?)
-
- * diskdrake/interactive.pm: use formatError on $err
- use formatError($err) instead of $@
- - allow raid on raid (raid 10)
- - focus mount point in Mount_point
- - focus type in Type
-
- * standalone/icons/ic82-tape-40.png, pixmaps/ic82-tape-40.png,
- pixmaps/ic82-systemeplus-40.png,
- standalone/icons/ic82-systemeplus-40.png: move some images from
- standalone to pixmaps to have them both during install and after install
- (images used by XFdrake)
-
- * install_steps_gtk.pm: indent more the entries in the summary (as asked
- by dadou)
-
-2003/02/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv:
- - perl_checker fixes
- - indent-region, untabify
- - comment workaround
- workaround a drakx bug which don't always add bttv to /etc/modules
-
- * standalone/scannerdrake: cleanup
- fix embedding
-
- * standalone/printerdrake: hide the icon when embedded to get more space
- fix embedding and clean it up
-
-2003/02/19 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: make sure network::network:: is used (just
- in case)
- add default configuration for network for summary.
-
-2003/02/19 gbeauchesne
-
- * share/rpmsrate, share/compssUsers:
- - Add localized help files for OpenOffice.org
- - Add new SPELLCHECK category for myspell spellchecking and
- hyphenators
-
-2003/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/de.po: fix typo (#1821)
-
- * share/compssUsers: provide a minimum desrciption for Scientific
- Workstation (#1814)
-
- * share/themes-galaxy.rc: try to choose sensible values for insensitive
- widgets
-
-2003/02/19 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: don't log "warning: find_index failed in ..."
-
- * diskdrake/interactive.pm:
- - allow raid on raid (raid 10)
- - focus mount point in Mount_point
- - focus type in Type
-
- * raid.pm: mkraid wants all the md devices written in raidtab to exist,
- even if asking to
- create a specific md
- cleanup
-
- * detect_devices.pm, fsedit.pm:
- - cleanup & simplify
- - handle raid on raid detection
-
-2003/02/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv:
- - perl_checker fixes
- - indent-region, untabify
- - comment workaround
- workaround a drakx bug which don't always add bttv to /etc/modules
-
-2003/02/18 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * drakxtools.spec: new version
-
- * network/network.pm: Get back configuration settings from conf files
- (fix some kind of titi sucking)
-
-2003/02/18 gbeauchesne
-
- * mdk-stage1/bzlib/Makefile, mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/insmod-modutils/Makefile, mdk-stage1/newt/Makefile,
- mdk-stage1/slang/Makefile, mdk-stage1/mar/Makefile:
- - Use minilibc on x86-64
- - mar requires bzlib to be built beforehand, especially if building
- with
- dietlibc
- - Nuke trickery to handle -DIET objects, everything is now built
- through
- the diet driver, defined into $(DIET)
-
- * mdk-stage1/dietlibc/include/net/ethernet.h: Add <net/ethernet.h> and
- <linux/if_ether.h> so that dhcp.c can be compiled
-
- * mdk-stage1/dietlibc/dietfeatures.h: Define WANT_TZFILE_PARSER so that
- call to tset() in strftime() implementation
- can be resolved.
- Merge back small config file
- Merge in CVS dietlibc 0.21 for IA-64 and X86-64 support. However, drop
- the
- following architectures we currently don't support: arm, mips, mipsel,
- parisc,
- s390, sparc64.
-
- * mdk-stage1/dietlibc/syscalls.c/fchmod.c,
- mdk-stage1/dietlibc/librpc/authunix_prot.c,
- mdk-stage1/dietlibc/include/termio.h,
- mdk-stage1/dietlibc/i386/sendmsg.S,
- mdk-stage1/dietlibc/syscalls.c/syslog.c,
- mdk-stage1/dietlibc/syscalls.c/setpriority.c,
- mdk-stage1/dietlibc/lib/msgget.c, mdk-stage1/dietlibc/lib/longjmp.c,
- mdk-stage1/dietlibc/lib/strerror.c, mdk-stage1/dietlibc/dieticonv.h,
- mdk-stage1/dietlibc/i386/asin.S,
- mdk-stage1/dietlibc/libpthread/pthread_flockfile.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname.c,
- mdk-stage1/dietlibc/alpha/__alarm.c,
- mdk-stage1/dietlibc/librpc/rpc_prot.c,
- mdk-stage1/dietlibc/libugly/getmntent.c,
- mdk-stage1/dietlibc/lib/iscntrl.c, mdk-stage1/dietlibc/include/stdint.h,
- mdk-stage1/dietlibc/i386/mmap64.S, mdk-stage1/dietlibc/lib/getservent.c,
- mdk-stage1/dietlibc/lib/atexit.c, mdk-stage1/dietlibc/i386/strcmp.S,
- mdk-stage1/dietlibc/syscalls.c/sigsuspend.c,
- mdk-stage1/dietlibc/include/stdlib.h,
- mdk-stage1/dietlibc/libugly/timezone.c,
- mdk-stage1/dietlibc/libpthread/pthread_cancel.c,
- mdk-stage1/dietlibc/libdl/dlopen.c,
- mdk-stage1/dietlibc/libugly/servent_buf.c,
- mdk-stage1/dietlibc/lib/isgraph.c, mdk-stage1/dietlibc/lib/closedir.c,
- mdk-stage1/dietlibc/libcruft/scan_ulong.c,
- mdk-stage1/dietlibc/include/sys/prctl.h,
- mdk-stage1/dietlibc/lib/alloc.c, mdk-stage1/dietlibc/lib/tcsetpgrp.c,
- mdk-stage1/dietlibc/syscalls.s/sigsuspend.S,
- mdk-stage1/dietlibc/i386/write12.S,
- mdk-stage1/dietlibc/syscalls.c/mount.c,
- mdk-stage1/dietlibc/syscalls.c/setdomainname.c,
- mdk-stage1/dietlibc/libstdio/fwrite.c,
- mdk-stage1/dietlibc/libdl/_dl_relocate.c, mdk-stage1/dietlibc/diet.c,
- mdk-stage1/dietlibc/include/libgen.h,
- mdk-stage1/dietlibc/i386/Makefile.add,
- mdk-stage1/dietlibc/syscalls.s/bdflush.S,
- mdk-stage1/dietlibc/i386/stpcpy.S, mdk-stage1/dietlibc/i386/ltostr.S,
- mdk-stage1/dietlibc/syscalls.c/lchown.c,
- mdk-stage1/dietlibc/libugly/utent.c, mdk-stage1/dietlibc/i386/connect.S,
- mdk-stage1/dietlibc/include/sys/mman.h,
- mdk-stage1/dietlibc/include/fcntl.h,
- mdk-stage1/dietlibc/libdl/_dl_rel.c, mdk-stage1/dietlibc/lib/memchr.c,
- mdk-stage1/dietlibc/lib/isupper.c,
- mdk-stage1/dietlibc/libugly/asprintf.c,
- mdk-stage1/dietlibc/libpthread/thread_key.c,
- mdk-stage1/dietlibc/lib/errlist.c,
- mdk-stage1/dietlibc/librpc/clnt_udp.c, mdk-stage1/dietlibc/i386/atan2.S,
- mdk-stage1/dietlibc/lib/recvmsg.c, mdk-stage1/dietlibc/lib/qsort.c,
- mdk-stage1/dietlibc/lib/sendto.c,
- mdk-stage1/dietlibc/alpha/__testandset.S,
- mdk-stage1/dietlibc/include/endian.h,
- mdk-stage1/dietlibc/libstdio/vscanf.c,
- mdk-stage1/dietlibc/lib/isxdigit.c, mdk-stage1/dietlibc/i386/atanh.S,
- mdk-stage1/dietlibc/syscalls.s/mlock.S,
- mdk-stage1/dietlibc/ppc/syscalls.h,
- mdk-stage1/dietlibc/libstdio/stdin.c,
- mdk-stage1/dietlibc/lib/__ptrace.c,
- mdk-stage1/dietlibc/libstdio/scanf.c,
- mdk-stage1/dietlibc/libdl/dlclose.c,
- mdk-stage1/dietlibc/librpc/svc_raw.c,
- mdk-stage1/dietlibc/include/arpa/nameser.h,
- mdk-stage1/dietlibc/dietuglyweaks.h,
- mdk-stage1/dietlibc/i386/copysign.S, mdk-stage1/dietlibc/i386/memcmp.S,
- mdk-stage1/dietlibc/i386/htons.S, mdk-stage1/dietlibc/lib/open64.c,
- mdk-stage1/dietlibc/include/stdarg-cruft.h,
- mdk-stage1/dietlibc/libugly/hasmntopt.c,
- mdk-stage1/dietlibc/dietdirent.h,
- mdk-stage1/dietlibc/syscalls.c/setsid.c,
- mdk-stage1/dietlibc/libpthread/pthread_testcancel.c,
- mdk-stage1/dietlibc/libshell/realpath.c,
- mdk-stage1/dietlibc/include/sys/file.h, mdk-stage1/dietlibc/lib/ftw.c,
- mdk-stage1/dietlibc/i386/fmod.S, mdk-stage1/dietlibc/lib/tcsetattr.c,
- mdk-stage1/dietlibc/i386/strrchr.S,
- mdk-stage1/dietlibc/libcruft/bzero.c,
- mdk-stage1/dietlibc/i386/recvfrom.S,
- mdk-stage1/dietlibc/libstdio/ftell.c,
- mdk-stage1/dietlibc/libstdio/fgets.c,
- mdk-stage1/dietlibc/include/rpc/netdb.h,
- mdk-stage1/dietlibc/libdl/_dl_load.c,
- mdk-stage1/dietlibc/syscalls.c/getresgid.c,
- mdk-stage1/dietlibc/syscalls.s/sendfile64.S,
- mdk-stage1/dietlibc/lib/sscanf.c, mdk-stage1/dietlibc/lib/creat.c,
- mdk-stage1/dietlibc/syscalls.c/sync.c,
- mdk-stage1/dietlibc/lib/getdomainname.c,
- mdk-stage1/dietlibc/syscalls.c/flock.c,
- mdk-stage1/dietlibc/libugly/iconv.c,
- mdk-stage1/dietlibc/libstdio/fclose.c,
- mdk-stage1/dietlibc/libugly/getprotobyname.c,
- mdk-stage1/dietlibc/libstdio/vprintf.c,
- mdk-stage1/dietlibc/include/sys/sparc-ioctl.h,
- mdk-stage1/dietlibc/libstdio/fdopen.c,
- mdk-stage1/dietlibc/lib/vsnprintf.c,
- mdk-stage1/dietlibc/libugly/dirfd.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c,
- mdk-stage1/dietlibc/include/pwd.h, mdk-stage1/dietlibc/i386/atoll.S,
- mdk-stage1/dietlibc/i386/accept.S, mdk-stage1/dietlibc/lib/ispunct.c,
- mdk-stage1/dietlibc/syscalls.s/getegid32.S,
- mdk-stage1/dietlibc/sparc/mmap.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c,
- mdk-stage1/dietlibc/lib/snprintf.c,
- mdk-stage1/dietlibc/include/sys/fsuid.h,
- mdk-stage1/dietlibc/syscalls.s/ftruncate64.S,
- mdk-stage1/dietlibc/i386/getsockopt.S,
- mdk-stage1/dietlibc/syscalls.c/fchdir.c,
- mdk-stage1/dietlibc/i386/unified.S,
- mdk-stage1/dietlibc/libpthread/pthread_sigmask.c,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr2_r.c,
- mdk-stage1/dietlibc/syscalls.c/signal.c,
- mdk-stage1/dietlibc/syscalls.c/munmap.c,
- mdk-stage1/dietlibc/lib/llabs.c, mdk-stage1/dietlibc/lib/msgrcv.c,
- mdk-stage1/dietlibc/i386/memccpy.S,
- mdk-stage1/dietlibc/libugly/getservbyname.c,
- mdk-stage1/dietlibc/include/write12.h, mdk-stage1/dietlibc/dietstdio.h,
- mdk-stage1/dietlibc/alpha/start.S, mdk-stage1/dietlibc/i386/bind.S,
- mdk-stage1/dietlibc/libpthread/pthread_key.c, mdk-stage1/dietlibc/BUGS,
- mdk-stage1/dietlibc/syscalls.c/chown.c,
- mdk-stage1/dietlibc/libcruft/setlocale.c,
- mdk-stage1/dietlibc/librpc/xdr_array.c,
- mdk-stage1/dietlibc/libcruft/__parse_1.c,
- mdk-stage1/dietlibc/lib/__isnan.c,
- mdk-stage1/dietlibc/include/sys/ptrace.h,
- mdk-stage1/dietlibc/syscalls.s/setfsuid.S,
- mdk-stage1/dietlibc/lib/tcflow.c,
- mdk-stage1/dietlibc/syscalls.s/geteuid32.S,
- mdk-stage1/dietlibc/lib/puts.c, mdk-stage1/dietlibc/CHANGES,
- mdk-stage1/dietlibc/lib/mkfifo.c,
- mdk-stage1/dietlibc/syscalls.c/utime.c,
- mdk-stage1/dietlibc/lib/memccmp.c,
- mdk-stage1/dietlibc/alpha/socketpair.S,
- mdk-stage1/dietlibc/libcruft/scandir.c,
- mdk-stage1/dietlibc/syscalls.s/getuid32.S,
- mdk-stage1/dietlibc/lib/tolower.c,
- mdk-stage1/dietlibc/include/sys/resource.h,
- mdk-stage1/dietlibc/syscalls.c/access.c,
- mdk-stage1/dietlibc/libcruft/getusershell.c,
- mdk-stage1/dietlibc/i386/floor.S,
- mdk-stage1/dietlibc/syscalls.s/alarm.S, mdk-stage1/dietlibc/lib/send.c,
- mdk-stage1/dietlibc/sparc/sigaction.c, mdk-stage1/dietlibc/lib/execvp.c,
- mdk-stage1/dietlibc/libpthread/pthread_join.c,
- mdk-stage1/dietlibc/alpha/__longjmp.S,
- mdk-stage1/dietlibc/libcruft/entlib.c,
- mdk-stage1/dietlibc/libcruft/tmpnam.c,
- mdk-stage1/dietlibc/syscalls.c/getppid.c,
- mdk-stage1/dietlibc/libdl/_dl_alloc.c,
- mdk-stage1/dietlibc/lib/setlinebuf.c,
- mdk-stage1/dietlibc/libstdio/fopen.c,
- mdk-stage1/dietlibc/librpc/get_myaddress.c,
- mdk-stage1/dietlibc/lib/bcd.c, mdk-stage1/dietlibc/include/signal.h,
- mdk-stage1/dietlibc/syscalls.c/fcntl.c,
- mdk-stage1/dietlibc/libugly/mktime.c,
- mdk-stage1/dietlibc/syscalls.s/fchown32.S,
- mdk-stage1/dietlibc/libcruft/getopt_long_only.c,
- mdk-stage1/dietlibc/syscalls.s/munlock.S,
- mdk-stage1/dietlibc/libcruft/getgrent.c,
- mdk-stage1/dietlibc/syscalls.c/poll.c,
- mdk-stage1/dietlibc/sparc/__longjmp.S,
- mdk-stage1/dietlibc/librpc/rpc_callmsg.c,
- mdk-stage1/dietlibc/include/pthread.h,
- mdk-stage1/dietlibc/libpthread/pthread_key_delete.c,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c,
- mdk-stage1/dietlibc/ppc/clone.S, mdk-stage1/dietlibc/i386/clone.S,
- mdk-stage1/dietlibc/libcruft/pwbuf.c,
- mdk-stage1/dietlibc/syscalls.c/getrlimit.c,
- mdk-stage1/dietlibc/i386/getpeername.S,
- mdk-stage1/dietlibc/syscalls.c/setresuid.c,
- mdk-stage1/dietlibc/syscalls.c/clone.c,
- mdk-stage1/dietlibc/i386/mcount.S, mdk-stage1/dietlibc/lib/__dtostr.c,
- mdk-stage1/dietlibc/syscalls.s/nice.S,
- mdk-stage1/dietlibc/libcruft/grent.c, mdk-stage1/dietlibc/i386/ceil.S,
- mdk-stage1/dietlibc/syscalls.c/vhangup.c,
- mdk-stage1/dietlibc/include/sys/cdefs.h,
- mdk-stage1/dietlibc/libpthread/pthread_sys_fdatasync.c,
- mdk-stage1/dietlibc/syscalls.c/getuid.c,
- mdk-stage1/dietlibc/syscalls.s/getdents64.S,
- mdk-stage1/dietlibc/librpc/svc_run.c,
- mdk-stage1/dietlibc/libpthread/pthread_fgetc.c,
- mdk-stage1/dietlibc/lib/adjtime.c,
- mdk-stage1/dietlibc/syscalls.c/truncate.c,
- mdk-stage1/dietlibc/include/net/if_ether.h,
- mdk-stage1/dietlibc/lib/isblank.c, mdk-stage1/dietlibc/lib/strtof.c,
- mdk-stage1/dietlibc/syscalls.s/time.S,
- mdk-stage1/dietlibc/libugly/gmtime_r.c,
- mdk-stage1/dietlibc/include/sys/shm.h,
- mdk-stage1/dietlibc/include/sys/kd.h,
- mdk-stage1/dietlibc/lib/errlistu.c, mdk-stage1/dietlibc/i386/expm1.S,
- mdk-stage1/dietlibc/lib/nop.c, mdk-stage1/dietlibc/syscalls.c/rename.c,
- mdk-stage1/dietlibc/libstdio/vfscanf.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c,
- mdk-stage1/dietlibc/librpc/bindresvport.c,
- mdk-stage1/dietlibc/i386/cos.S, mdk-stage1/dietlibc/libstdio/fdglue.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname_r.c,
- mdk-stage1/dietlibc/lib/lseek64.c,
- mdk-stage1/dietlibc/libdl/_dl_search.c,
- mdk-stage1/dietlibc/syscalls.c/mknod.c, mdk-stage1/dietlibc/i386/fabs.S,
- mdk-stage1/dietlibc/lib/ttyname.c,
- mdk-stage1/dietlibc/syscalls.s/signal.S,
- mdk-stage1/dietlibc/syscalls.s/create_module.S,
- mdk-stage1/dietlibc/alpha/syscalls.h, mdk-stage1/dietlibc/i386/htonl.S,
- mdk-stage1/dietlibc/libcruft/getspnam.c,
- mdk-stage1/dietlibc/lib/strncat.c, mdk-stage1/dietlibc/i386/log10.S,
- mdk-stage1/dietlibc/libugly/strsignal.c,
- mdk-stage1/dietlibc/librpc/clnt_tcp.c, mdk-stage1/dietlibc/i386/pow.S,
- mdk-stage1/dietlibc/libcruft/initgroups.c,
- mdk-stage1/dietlibc/lib/sendmsg.c, mdk-stage1/dietlibc/lib/write12.c,
- mdk-stage1/dietlibc/lib/cfsetospeed.c,
- mdk-stage1/dietlibc/include/sys/stat.h,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr.c,
- mdk-stage1/dietlibc/lib/__stime.c, mdk-stage1/dietlibc/i386/poly.S,
- mdk-stage1/dietlibc/librpc/svc_udp.c,
- mdk-stage1/dietlibc/libugly/netent.c,
- mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c,
- mdk-stage1/dietlibc/syscalls.c/setpgid.c,
- mdk-stage1/dietlibc/libugly/localtime_r.c,
- mdk-stage1/dietlibc/libcruft/localeconv.c,
- mdk-stage1/dietlibc/alpha/n_sigprocmask.S,
- mdk-stage1/dietlibc/syscalls.c/gettimeofday.c,
- mdk-stage1/dietlibc/libshell/fnmatch.c,
- mdk-stage1/dietlibc/syscalls.c/mkdir.c,
- mdk-stage1/dietlibc/syscalls.s/setresgid.S,
- mdk-stage1/dietlibc/libstdio/feof.c,
- mdk-stage1/dietlibc/libcruft/seteuid.c,
- mdk-stage1/dietlibc/libstdio/puts.c,
- mdk-stage1/dietlibc/syscalls.c/sigpending.c,
- mdk-stage1/dietlibc/include/netdb.h, mdk-stage1/dietlibc/i386/memset.S,
- mdk-stage1/dietlibc/syscalls.s/delete_module.S,
- mdk-stage1/dietlibc/lib/semop.c, mdk-stage1/dietlibc/include/dirent.h,
- mdk-stage1/dietlibc/syscalls.c/getpid.c,
- mdk-stage1/dietlibc/libpthread/thread_internal.h,
- mdk-stage1/dietlibc/libugly/ftime.c,
- mdk-stage1/dietlibc/include/libintl.h, mdk-stage1/dietlibc/lib/rand_r.c,
- mdk-stage1/dietlibc/libcruft/setegid.c,
- mdk-stage1/dietlibc/syscalls.c/dup.c,
- mdk-stage1/dietlibc/syscalls.c/fsync.c,
- mdk-stage1/dietlibc/include/shadow.h,
- mdk-stage1/dietlibc/include/sys/select.h, mdk-stage1/dietlibc/PORTING,
- mdk-stage1/dietlibc/i386/ilogb.S, mdk-stage1/dietlibc/lib/strsep.c,
- mdk-stage1/dietlibc/lib/opendir.c,
- mdk-stage1/dietlibc/libpthread/pthread_equal.c,
- mdk-stage1/dietlibc/libugly/system.c,
- mdk-stage1/dietlibc/libpthread/pthread_getschedparam.c,
- mdk-stage1/dietlibc/libcrypt/md5.c, mdk-stage1/dietlibc/i386/cbrt.S,
- mdk-stage1/dietlibc/syscalls.s/ptrace.S,
- mdk-stage1/dietlibc/libcruft/spent.c, mdk-stage1/dietlibc/i386/start.S,
- mdk-stage1/dietlibc/syscalls.s/pivot_root.S,
- mdk-stage1/dietlibc/include/rpc/auth_unix.h,
- mdk-stage1/dietlibc/libdl/elf_hash.h,
- mdk-stage1/dietlibc/include/dlfcn.h,
- mdk-stage1/dietlibc/syscalls.c/nanosleep.c,
- mdk-stage1/dietlibc/lib/usleep.c, mdk-stage1/dietlibc/include/md5.h,
- mdk-stage1/dietlibc/lib/strchr.c, mdk-stage1/dietlibc/lib/msgsnd.c,
- mdk-stage1/dietlibc/include/cpio.h,
- mdk-stage1/dietlibc/syscalls.s/chown32.S,
- mdk-stage1/dietlibc/ppc/unified.S,
- mdk-stage1/dietlibc/libugly/gai_strerror.c,
- mdk-stage1/dietlibc/syscalls.c/sethostname.c,
- mdk-stage1/dietlibc/syscalls.c/geteuid.c,
- mdk-stage1/dietlibc/syscalls.s/sigprocmask.S,
- mdk-stage1/dietlibc/i386/rint.S, mdk-stage1/dietlibc/libugly/ptsname.c,
- mdk-stage1/dietlibc/lib/ipv6constants.c,
- mdk-stage1/dietlibc/syscalls.s/waitpid.S,
- mdk-stage1/dietlibc/libstdio/fdprintf.c,
- mdk-stage1/dietlibc/lib/sigpending.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c,
- mdk-stage1/dietlibc/lib/memset.c, mdk-stage1/dietlibc/lib/__fstat64.c,
- mdk-stage1/dietlibc/include/sched.h,
- mdk-stage1/dietlibc/i386/syscalls.h, mdk-stage1/dietlibc/dirstream.h,
- mdk-stage1/dietlibc/i386/socketpair.S, mdk-stage1/dietlibc/CAVEAT,
- mdk-stage1/dietlibc/include/float.h,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c,
- mdk-stage1/dietlibc/libstdio/fscanf.c,
- mdk-stage1/dietlibc/syscalls.c/setitimer.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c,
- mdk-stage1/dietlibc/i386/hypot.S,
- mdk-stage1/dietlibc/libpthread/Makefile,
- mdk-stage1/dietlibc/lib/pread.c, mdk-stage1/dietlibc/lib/accept.c,
- mdk-stage1/dietlibc/i386/mmap.c,
- mdk-stage1/dietlibc/syscalls.c/setresgid.c,
- mdk-stage1/dietlibc/sparc/setjmp.S, mdk-stage1/dietlibc/.cvsignore,
- mdk-stage1/dietlibc/librpc/pmap_rmt.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c,
- mdk-stage1/dietlibc/lib/sigtimedwait.c, mdk-stage1/dietlibc/i386/cosh.S,
- mdk-stage1/dietlibc/include/sys/ioctl.h,
- mdk-stage1/dietlibc/syscalls.s/rt_sigpending.S,
- mdk-stage1/dietlibc/lib/__ltostr.c,
- mdk-stage1/dietlibc/include/sys/ppc-ioctl.h,
- mdk-stage1/dietlibc/syscalls.s/ptrace.s,
- mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c,
- mdk-stage1/dietlibc/lib/exec_lib.c,
- mdk-stage1/dietlibc/libstdio/vfdprintf.c,
- mdk-stage1/dietlibc/lib/strlen.c, mdk-stage1/dietlibc/libregex/rx.c,
- mdk-stage1/dietlibc/liblatin1/latin1-islower.c,
- mdk-stage1/dietlibc/lib/memmem.c, mdk-stage1/dietlibc/include/string.h,
- mdk-stage1/dietlibc/lib/raise.c, mdk-stage1/dietlibc/i386/usleep.S,
- mdk-stage1/dietlibc/include/iconv.h,
- mdk-stage1/dietlibc/libpthread/pthread_setspecific.c,
- mdk-stage1/dietlibc/lib/semget.c,
- mdk-stage1/dietlibc/syscalls.s/setregid32.S,
- mdk-stage1/dietlibc/syscalls.c/swapoff.c,
- mdk-stage1/dietlibc/libpthread/pthread_atfork.c,
- mdk-stage1/dietlibc/libcruft/tempnam.c,
- mdk-stage1/dietlibc/libcruft/inet_aton.c,
- mdk-stage1/dietlibc/lib/sigismember.c, mdk-stage1/dietlibc/librpc/svc.c,
- mdk-stage1/dietlibc/lib/set_errno.c,
- mdk-stage1/dietlibc/syscalls.c/execve.c,
- mdk-stage1/dietlibc/lib/sigemptyset.c,
- mdk-stage1/dietlibc/include/sys/vfs.h, mdk-stage1/dietlibc/SECURITY,
- mdk-stage1/dietlibc/include/sys/timex.h,
- mdk-stage1/dietlibc/libugly/getprotoent.c,
- mdk-stage1/dietlibc/lib/__stat64.c, mdk-stage1/dietlibc/include/elf.h,
- mdk-stage1/dietlibc/lib/strncmp.c, mdk-stage1/dietlibc/include/assert.h,
- mdk-stage1/dietlibc/lib/gethostname.c,
- mdk-stage1/dietlibc/i386/dyn_syscalls.S,
- mdk-stage1/dietlibc/lib/vsscanf.c, mdk-stage1/dietlibc/lib/cfmakeraw.c,
- mdk-stage1/dietlibc/THANKS, mdk-stage1/dietlibc/libcruft/getgrgid_r.c,
- mdk-stage1/dietlibc/lib/connect.c,
- mdk-stage1/dietlibc/libcruft/sysconf.c,
- mdk-stage1/dietlibc/lib/perror.c, mdk-stage1/dietlibc/include/locale.h,
- mdk-stage1/dietlibc/syscalls.c/getresuid.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_init.c,
- mdk-stage1/dietlibc/syscalls.c/sigaction.c,
- mdk-stage1/dietlibc/include/tar.h, mdk-stage1/dietlibc/lib/execl.c,
- mdk-stage1/dietlibc/include/time.h,
- mdk-stage1/dietlibc/libstdio/setvbuf.c,
- mdk-stage1/dietlibc/lib/tcflush.c, mdk-stage1/dietlibc/lib/strtold.c,
- mdk-stage1/dietlibc/libugly/getprotoent_r.c,
- mdk-stage1/dietlibc/syscalls.s/setfsgid32.S,
- mdk-stage1/dietlibc/syscalls.s/prctl.S,
- mdk-stage1/dietlibc/lib/strncasecmp.c,
- mdk-stage1/dietlibc/syscalls.c/close.c,
- mdk-stage1/dietlibc/libpthread/README,
- mdk-stage1/dietlibc/lib/__lltostr.c, mdk-stage1/dietlibc/lib/vprintf.c,
- mdk-stage1/dietlibc/i386/acos.S,
- mdk-stage1/dietlibc/libpthread/pthread_funlockfile.c,
- mdk-stage1/dietlibc/libcruft/getlogin.c,
- mdk-stage1/dietlibc/libpthread/thread_internal.c,
- mdk-stage1/dietlibc/libpthread/pthread_key_create.c,
- mdk-stage1/dietlibc/libcruft/herror.c,
- mdk-stage1/dietlibc/syscalls.c/dup2.c,
- mdk-stage1/dietlibc/lib/__lstat64.c, mdk-stage1/dietlibc/lib/strtod.c,
- mdk-stage1/dietlibc/lib/strcpy.c, mdk-stage1/dietlibc/libdl/_dl_open.c,
- mdk-stage1/dietlibc/libcruft/bcopy.c,
- mdk-stage1/dietlibc/include/stdio.h,
- mdk-stage1/dietlibc/syscalls.c/chroot.c,
- mdk-stage1/dietlibc/libcruft/__parse_ws.c,
- mdk-stage1/dietlibc/include/fnmatch.h,
- mdk-stage1/dietlibc/alpha/sigprocmask.S,
- mdk-stage1/dietlibc/libcruft/res_mkquery.c,
- mdk-stage1/dietlibc/include/sys/timeb.h,
- mdk-stage1/dietlibc/i386/sendto.S,
- mdk-stage1/dietlibc/libugly/iconv_close.c,
- mdk-stage1/dietlibc/i386/sleep.S,
- mdk-stage1/dietlibc/libugly/time_table_spd.c,
- mdk-stage1/dietlibc/lib/sigdelset.c, mdk-stage1/dietlibc/libdl/dlsym.c,
- mdk-stage1/dietlibc/libstdio/stderr.c,
- mdk-stage1/dietlibc/libdl/dlerror.c,
- mdk-stage1/dietlibc/lib/setsockopt.c,
- mdk-stage1/dietlibc/i386/shutdown.S,
- mdk-stage1/dietlibc/libcruft/mkstemp.c,
- mdk-stage1/dietlibc/libstdio/ungetc.c,
- mdk-stage1/dietlibc/syscalls.c/fork.c,
- mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c,
- mdk-stage1/dietlibc/i386/sinh.S,
- mdk-stage1/dietlibc/libcruft/inet_ntoa.c,
- mdk-stage1/dietlibc/libugly/tzfile.c,
- mdk-stage1/dietlibc/syscalls.c/getgroups.c,
- mdk-stage1/dietlibc/i386/memchr.S,
- mdk-stage1/dietlibc/libugly/getservent.c, mdk-stage1/dietlibc/diet.1,
- mdk-stage1/dietlibc/include/rpc/xdr.h,
- mdk-stage1/dietlibc/libugly/putpwent.c,
- mdk-stage1/dietlibc/libdl/_dl_rel.h,
- mdk-stage1/dietlibc/libcruft/getspent_r.c,
- mdk-stage1/dietlibc/include/rpc/key_prot.h,
- mdk-stage1/dietlibc/syscalls.c/setgid.c,
- mdk-stage1/dietlibc/lib/vsprintf.c, mdk-stage1/dietlibc/lib/execle.c,
- mdk-stage1/dietlibc/i386/__ten.S, mdk-stage1/dietlibc/include/grp.h,
- mdk-stage1/dietlibc/lib/random.c, mdk-stage1/dietlibc/i386/send.S,
- mdk-stage1/dietlibc/include/sys/s390-ioctl.h,
- mdk-stage1/dietlibc/libcruft/killpg.c,
- mdk-stage1/dietlibc/sparc/start.S,
- mdk-stage1/dietlibc/syscalls.s/setresuid.S,
- mdk-stage1/dietlibc/libcruft/getpwnam.c,
- mdk-stage1/dietlibc/lib/isprint.c, mdk-stage1/dietlibc/i386/recvmsg.S,
- mdk-stage1/dietlibc/syscalls.s/rt_sigqueueinfo.S,
- mdk-stage1/dietlibc/libstdio/fsetpos.c,
- mdk-stage1/dietlibc/i386/md5asm.S, mdk-stage1/dietlibc/i386/isleap.S,
- mdk-stage1/dietlibc/i386/PIC.h,
- mdk-stage1/dietlibc/libpthread/pthread_spinlock.c,
- mdk-stage1/dietlibc/syscalls.c/pipe.c,
- mdk-stage1/dietlibc/syscalls.c/ioctl.c,
- mdk-stage1/dietlibc/syscalls.c/fchown.c,
- mdk-stage1/dietlibc/i386/memcpy.S,
- mdk-stage1/dietlibc/syscalls.s/rt_sigtimedwait.S,
- mdk-stage1/dietlibc/libcruft/__parse.c,
- mdk-stage1/dietlibc/lib/__getcwd.c, mdk-stage1/dietlibc/lib/isdigit.c,
- mdk-stage1/dietlibc/include/sys/un.h,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c,
- mdk-stage1/dietlibc/syscalls.s/sigaction.S,
- mdk-stage1/dietlibc/libcruft/getspnam_r.c,
- mdk-stage1/dietlibc/lib/semctl.c, mdk-stage1/dietlibc/lib/tcsendbreak.c,
- mdk-stage1/dietlibc/include/rpc/rpc.h,
- mdk-stage1/dietlibc/syscalls.s/getgid32.S,
- mdk-stage1/dietlibc/libpthread/pthread_fdglue2.c,
- mdk-stage1/dietlibc/syscalls.c/waitpid.c,
- mdk-stage1/dietlibc/alpha/unified.S, mdk-stage1/dietlibc/lib/strstr.c,
- mdk-stage1/dietlibc/syscalls.c/socketcall.c,
- mdk-stage1/dietlibc/include/rpc/pmap_rmt.h,
- mdk-stage1/dietlibc/include/sys/io.h, mdk-stage1/dietlibc/findcflags.sh,
- mdk-stage1/dietlibc/libcruft/inet_pton.c,
- mdk-stage1/dietlibc/i386/tanh.S, mdk-stage1/dietlibc/lib/getsockname.c,
- mdk-stage1/dietlibc/libugly/grantpt.c,
- mdk-stage1/dietlibc/i386/strcat.S,
- mdk-stage1/dietlibc/lib/siginterrupt.c,
- mdk-stage1/dietlibc/libcruft/dnscruft3.c,
- mdk-stage1/dietlibc/syscalls.c/link.c,
- mdk-stage1/dietlibc/libugly/difftime.c,
- mdk-stage1/dietlibc/include/utmp.h,
- mdk-stage1/dietlibc/libstdio/ftello.c,
- mdk-stage1/dietlibc/syscalls.c/sigprocmask.c,
- mdk-stage1/dietlibc/lib/rand48.c, mdk-stage1/dietlibc/lib/sleep.c,
- mdk-stage1/dietlibc/i386/__testandset.S,
- mdk-stage1/dietlibc/syscalls.s/setresgid32.S,
- mdk-stage1/dietlibc/libugly/asctime_r.c,
- mdk-stage1/dietlibc/syscalls.s/lchown32.S,
- mdk-stage1/dietlibc/libcruft/entlib.h,
- mdk-stage1/dietlibc/lib/sprintf.c,
- mdk-stage1/dietlibc/libcruft/dnscruft.c,
- mdk-stage1/dietlibc/syscalls.c/setgroups.c,
- mdk-stage1/dietlibc/libugly/getservbyname_r.c,
- mdk-stage1/dietlibc/syscalls.s/sigpending.S,
- mdk-stage1/dietlibc/lib/tcdrain.c, mdk-stage1/dietlibc/libcruft/clock.c,
- mdk-stage1/dietlibc/include/netinet/in.h,
- mdk-stage1/dietlibc/syscalls.s/settimeofday.S,
- mdk-stage1/dietlibc/syscalls.s/sendfile.S,
- mdk-stage1/dietlibc/i386/socket.S,
- mdk-stage1/dietlibc/libugly/protoent_buf.c,
- mdk-stage1/dietlibc/include/sys/time.h,
- mdk-stage1/dietlibc/lib/errno_location.c,
- mdk-stage1/dietlibc/include/sys/msg.h,
- mdk-stage1/dietlibc/liblatin1/latin1-isprint.c,
- mdk-stage1/dietlibc/libstdio/fgetpos.c,
- mdk-stage1/dietlibc/libshell/glob.c,
- mdk-stage1/dietlibc/libugly/getprotobynumber_r.c,
- mdk-stage1/dietlibc/sparc/strlen.S,
- mdk-stage1/dietlibc/include/rpc/svc.h,
- mdk-stage1/dietlibc/include/netinet/ip.h,
- mdk-stage1/dietlibc/include/sys/gmon.h,
- mdk-stage1/dietlibc/syscalls.c/wait4.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c,
- mdk-stage1/dietlibc/i386/acosh.S, mdk-stage1/dietlibc/lib/sigprocmask.c,
- mdk-stage1/dietlibc/lib/_brk.c,
- mdk-stage1/dietlibc/syscalls.c/getegid.c,
- mdk-stage1/dietlibc/syscalls.c/uname.c,
- mdk-stage1/dietlibc/syscalls.s/mmap2.S,
- mdk-stage1/dietlibc/libcruft/getpagesize.c,
- mdk-stage1/dietlibc/sparc/unified.S,
- mdk-stage1/dietlibc/libcruft/dn_expand.c,
- mdk-stage1/dietlibc/i386/sqrt.S, mdk-stage1/dietlibc/lib/binshstr.c,
- mdk-stage1/dietlibc/syscalls.s/exit.S, mdk-stage1/dietlibc/lib/execlp.c,
- mdk-stage1/dietlibc/libstdio/fread.c,
- mdk-stage1/dietlibc/include/netinet/udp.h, mdk-stage1/dietlibc/start.h,
- mdk-stage1/dietlibc/lib/sys_siglist.c,
- mdk-stage1/dietlibc/i386/strlen.S,
- mdk-stage1/dietlibc/syscalls.c/ftruncate.c,
- mdk-stage1/dietlibc/librpc/xdr.c, mdk-stage1/dietlibc/lib/__xmknod.c,
- mdk-stage1/dietlibc/syscalls.s/pwrite.S,
- mdk-stage1/dietlibc/libcruft/getgrnam.c,
- mdk-stage1/dietlibc/lib/strtok.c,
- mdk-stage1/dietlibc/syscalls.s/setreuid32.S,
- mdk-stage1/dietlibc/lib/recv.c, mdk-stage1/dietlibc/lib/reboot.c,
- mdk-stage1/dietlibc/syscalls.c/write.c,
- mdk-stage1/dietlibc/libugly/getprotobyname_r.c,
- mdk-stage1/dietlibc/syscalls.s/errlist.S,
- mdk-stage1/dietlibc/librpc/svc_auth_unix.c,
- mdk-stage1/dietlibc/libshell/dirname.c,
- mdk-stage1/dietlibc/libcruft/res_search.c,
- mdk-stage1/dietlibc/i386/getenv.S, mdk-stage1/dietlibc/i386/exp10.S,
- mdk-stage1/dietlibc/include/errno.h,
- mdk-stage1/dietlibc/libdl/_dl_queue.c,
- mdk-stage1/dietlibc/include/sys/uio.h,
- mdk-stage1/dietlibc/lib/socketpair.c,
- mdk-stage1/dietlibc/librpc/pmap_getport.c,
- mdk-stage1/dietlibc/dyn_start.c, mdk-stage1/dietlibc/i386/ldexp.S,
- mdk-stage1/dietlibc/dietlibm.h, mdk-stage1/dietlibc/libstdio/printf.c,
- mdk-stage1/dietlibc/libstdio/ftello64.c,
- mdk-stage1/dietlibc/libpthread/pthread_fputc.c,
- mdk-stage1/dietlibc/syscalls.c/exit.c,
- mdk-stage1/dietlibc/include/sys/times.h,
- mdk-stage1/dietlibc/include/unistd.h, mdk-stage1/dietlibc/lib/isascii.c,
- mdk-stage1/dietlibc/syscalls.c/chdir.c,
- mdk-stage1/dietlibc/libugly/daemon.c,
- mdk-stage1/dietlibc/lib/sigaddset.c,
- mdk-stage1/dietlibc/syscalls.c/reboot.c,
- mdk-stage1/dietlibc/lib/sigjmp.c, mdk-stage1/dietlibc/i386/strchr.S,
- mdk-stage1/dietlibc/syscalls.c/getdents.c,
- mdk-stage1/dietlibc/libstdio/fdglue2.c,
- mdk-stage1/dietlibc/i386/strcpy.S, mdk-stage1/dietlibc/lib/getopt.c,
- mdk-stage1/dietlibc/libcruft/getgrent_r.c,
- mdk-stage1/dietlibc/librpc/xdr_reference.c,
- mdk-stage1/dietlibc/include/netinet/tcp.h,
- mdk-stage1/dietlibc/lib/pwrite64.c,
- mdk-stage1/dietlibc/syscalls.c/kill.c,
- mdk-stage1/dietlibc/i386/__longjmp.S, mdk-stage1/dietlibc/TODO,
- mdk-stage1/dietlibc/include/sys/syslog.h,
- mdk-stage1/dietlibc/libcruft/res_query.c,
- mdk-stage1/dietlibc/lib/bind.c,
- mdk-stage1/dietlibc/lib/if_indextoname.c,
- mdk-stage1/dietlibc/syscalls.c/readlink.c,
- mdk-stage1/dietlibc/libcrypt/crypt.c,
- mdk-stage1/dietlibc/libugly/unlockpt.c,
- mdk-stage1/dietlibc/libstdio/fflush.c,
- mdk-stage1/dietlibc/libdl/Makefile,
- mdk-stage1/dietlibc/include/rpc/pmap_prot.h,
- mdk-stage1/dietlibc/libugly/popen.c,
- mdk-stage1/dietlibc/libstdio/fputc_unlocked.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c,
- mdk-stage1/dietlibc/syscalls.c/swapon.c,
- mdk-stage1/dietlibc/lib/alarm.c, mdk-stage1/dietlibc/ppc/mmap.c,
- mdk-stage1/dietlibc/librpc/svc_simple.c,
- mdk-stage1/dietlibc/libcruft/sysconf_cpus.c,
- mdk-stage1/dietlibc/include/sys/poll.h,
- mdk-stage1/dietlibc/libugly/freeaddrinfo.c,
- mdk-stage1/dietlibc/libcruft/getpwuid_r.c,
- mdk-stage1/dietlibc/syscalls.c/_llseek.c,
- mdk-stage1/dietlibc/lib/lockf.c,
- mdk-stage1/dietlibc/librpc/getrpcport.c,
- mdk-stage1/dietlibc/lib/htons.c, mdk-stage1/dietlibc/librpc/auth_none.c,
- mdk-stage1/dietlibc/syscalls.c/getpgid.c,
- mdk-stage1/dietlibc/libcruft/hstrerror.c,
- mdk-stage1/dietlibc/lib/shmdt.c, mdk-stage1/dietlibc/libcruft/grbuf.c,
- mdk-stage1/dietlibc/lib/pread64.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c,
- mdk-stage1/dietlibc/i386/setjmp.S,
- mdk-stage1/dietlibc/syscalls.s/ioperm.S,
- mdk-stage1/dietlibc/lib/getenv.c,
- mdk-stage1/dietlibc/include/features.h,
- mdk-stage1/dietlibc/lib/strtoll.c, mdk-stage1/dietlibc/sparc/syscalls.h,
- mdk-stage1/dietlibc/include/resolv.h, mdk-stage1/dietlibc/lib/bsearch.c,
- mdk-stage1/dietlibc/libstdio/fseeko64.c,
- mdk-stage1/dietlibc/libcruft/pwent.c,
- mdk-stage1/dietlibc/lib/strcasecmp.c,
- mdk-stage1/dietlibc/libcruft/getgrnam_r.c,
- mdk-stage1/dietlibc/syscalls.c/getrusage.c,
- mdk-stage1/dietlibc/libpthread/CHANGES, mdk-stage1/dietlibc/i386/log.S,
- mdk-stage1/dietlibc/lib/sigsuspend.c,
- mdk-stage1/dietlibc/alpha/lseek64.S,
- mdk-stage1/dietlibc/syscalls.c/mprotect.c,
- mdk-stage1/dietlibc/sparc/shmat.c,
- mdk-stage1/dietlibc/syscalls.c/_newselect.c,
- mdk-stage1/dietlibc/i386/strncmp.S,
- mdk-stage1/dietlibc/syscalls.s/setfsuid32.S,
- mdk-stage1/dietlibc/libcruft/getspent.c,
- mdk-stage1/dietlibc/i386/recv.S,
- mdk-stage1/dietlibc/librpc/pmap_getmaps.c,
- mdk-stage1/dietlibc/syscalls.c/setrlimit.c,
- mdk-stage1/dietlibc/ppc/__testandset.S,
- mdk-stage1/dietlibc/threadsafe.sh,
- mdk-stage1/dietlibc/syscalls.s/__pwrite.S,
- mdk-stage1/dietlibc/libugly/setenv.c,
- mdk-stage1/dietlibc/libugly/iconv_open.c,
- mdk-stage1/dietlibc/include/arpa/inet.h,
- mdk-stage1/dietlibc/include/alloca.h, mdk-stage1/dietlibc/lib/memrchr.c,
- mdk-stage1/dietlibc/lib/strtoul.c,
- mdk-stage1/dietlibc/syscalls.s/epoll_wait.S,
- mdk-stage1/dietlibc/syscalls.c/getgid.c,
- mdk-stage1/dietlibc/libcruft/mktemp.c,
- mdk-stage1/dietlibc/libugly/wtent.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigsuspend.S,
- mdk-stage1/dietlibc/libcruft/__end_parse.c,
- mdk-stage1/dietlibc/syscalls.s/adjtimex.S,
- mdk-stage1/dietlibc/libstdio/fprintf.c,
- mdk-stage1/dietlibc/libdl/README, mdk-stage1/dietlibc/include/regex.h,
- mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c,
- mdk-stage1/dietlibc/i386/exp2.S, mdk-stage1/dietlibc/i386/mmap.S,
- mdk-stage1/dietlibc/libcruft/alphasort.c,
- mdk-stage1/dietlibc/syscalls.c/umask.c,
- mdk-stage1/dietlibc/librpc/clnt_generic.c,
- mdk-stage1/dietlibc/syscalls.s/getgroups32.S,
- mdk-stage1/dietlibc/i386/atol.S, mdk-stage1/dietlibc/lib/memmove.c,
- mdk-stage1/dietlibc/sparc/pipe.S,
- mdk-stage1/dietlibc/include/sys/ucontext.h,
- mdk-stage1/dietlibc/include/daemon.h,
- mdk-stage1/dietlibc/lib/__stat64_cvt.c,
- mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c,
- mdk-stage1/dietlibc/libcruft/inet_ntop.c,
- mdk-stage1/dietlibc/include/getopt.h,
- mdk-stage1/dietlibc/libugly/openpty.c,
- mdk-stage1/dietlibc/include/math.h,
- mdk-stage1/dietlibc/libcruft/dnscruft4.c,
- mdk-stage1/dietlibc/lib/remove.c, mdk-stage1/dietlibc/libugly/isleap.c,
- mdk-stage1/dietlibc/include/sys/mips-ioctl.h,
- mdk-stage1/dietlibc/include/sys/sendfile.h,
- mdk-stage1/dietlibc/syscalls.s/getresgid32.S,
- mdk-stage1/dietlibc/include/netinet/ip_icmp.h,
- mdk-stage1/dietlibc/lib/atoll.c,
- mdk-stage1/dietlibc/syscalls.s/syslog.S,
- mdk-stage1/dietlibc/lib/sigqueueinfo.c,
- mdk-stage1/dietlibc/libcruft/__prepare_parse.c,
- mdk-stage1/dietlibc/lib/getpeername.c,
- mdk-stage1/dietlibc/libcruft/getopt_long.c,
- mdk-stage1/dietlibc/include/sys/ipc.h,
- mdk-stage1/dietlibc/i386/setsockopt.S,
- mdk-stage1/dietlibc/libstdio/fputc.c, mdk-stage1/dietlibc/lib/rand.c,
- mdk-stage1/dietlibc/alpha/sigaction.c,
- mdk-stage1/dietlibc/include/sys/gmon_out.h,
- mdk-stage1/dietlibc/libstdio/vfprintf.c,
- mdk-stage1/dietlibc/alpha/signal.S,
- mdk-stage1/dietlibc/libugly/getservent_r.c,
- mdk-stage1/dietlibc/i386/socketcall.S,
- mdk-stage1/dietlibc/lib/cfsetispeed.c,
- mdk-stage1/dietlibc/alpha/Makefile.add,
- mdk-stage1/dietlibc/include/net/if.h,
- mdk-stage1/dietlibc/lib/recvfrom.c,
- mdk-stage1/dietlibc/libstdio/fgetc.c, mdk-stage1/dietlibc/include/ftw.h,
- mdk-stage1/dietlibc/libcruft/mkdtemp.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c,
- mdk-stage1/dietlibc/sparc/clone.S, mdk-stage1/dietlibc/lib/labs.c,
- mdk-stage1/dietlibc/syscalls.c/getcwd.c,
- mdk-stage1/dietlibc/lib/shmat.c, mdk-stage1/dietlibc/librpc/xdr_stdio.c,
- mdk-stage1/dietlibc/syscalls.c/mremap.c,
- mdk-stage1/dietlibc/libshell/basename.c,
- mdk-stage1/dietlibc/lib/memccpy.c,
- mdk-stage1/dietlibc/libugly/getservbyport.c,
- mdk-stage1/dietlibc/lib/strtoull.c,
- mdk-stage1/dietlibc/libcruft/getgrgid.c,
- mdk-stage1/dietlibc/syscalls.c/symlink.c,
- mdk-stage1/dietlibc/librpc/auth_unix.c,
- mdk-stage1/dietlibc/libugly/getaddrinfo.c,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/include/strings.h,
- mdk-stage1/dietlibc/syscalls.c/open.c, mdk-stage1/dietlibc/dyn_stop.c,
- mdk-stage1/dietlibc/lib/__truncate64.c, mdk-stage1/dietlibc/lib/execv.c,
- mdk-stage1/dietlibc/libdl/elf_hash.c,
- mdk-stage1/dietlibc/include/sys/param.h,
- mdk-stage1/dietlibc/syscalls.c/read.c,
- mdk-stage1/dietlibc/libcrypt/md5crypt.c,
- mdk-stage1/dietlibc/include/sys/hppa-ioctl.h,
- mdk-stage1/dietlibc/syscalls.s/fdatasync.S,
- mdk-stage1/dietlibc/libcruft/spbuf.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigsuspend.S,
- mdk-stage1/dietlibc/syscalls.s/errno.S,
- mdk-stage1/dietlibc/syscalls.s/setfsgid.S,
- mdk-stage1/dietlibc/syscalls.c/setuid.c,
- mdk-stage1/dietlibc/librpc/clnt_raw.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c,
- mdk-stage1/dietlibc/librpc/xdr_mem.c,
- mdk-stage1/dietlibc/syscalls.s/n_sigpending.S,
- mdk-stage1/dietlibc/lib/sigaction.c, mdk-stage1/dietlibc/i386/listen.S,
- mdk-stage1/dietlibc/libstdio/stdout.c,
- mdk-stage1/dietlibc/libdl/_dl_main.c,
- mdk-stage1/dietlibc/lib/if_nameindex.c,
- mdk-stage1/dietlibc/syscalls.s/truncate64.S,
- mdk-stage1/dietlibc/include/sys/alpha-ioctl.h,
- mdk-stage1/dietlibc/binshstr.h, mdk-stage1/dietlibc/libcruft/res_init.c,
- mdk-stage1/dietlibc/libpthread/pthread_detach.c,
- mdk-stage1/dietlibc/libpthread/pthread_internal.c,
- mdk-stage1/dietlibc/README, mdk-stage1/dietlibc/libcruft/__parse_nws.c,
- mdk-stage1/dietlibc/lib/readdir64.c, mdk-stage1/dietlibc/i386/tan.S,
- mdk-stage1/dietlibc/syscalls.c/getpriority.c,
- mdk-stage1/dietlibc/libcruft/herrno_location.c,
- mdk-stage1/dietlibc/lib/shmctl.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c,
- mdk-stage1/dietlibc/librpc/xdr_rec.c,
- mdk-stage1/dietlibc/i386/strncpy.S,
- mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c,
- mdk-stage1/dietlibc/syscalls.s/setuid32.S,
- mdk-stage1/dietlibc/lib/__v_printf.c,
- mdk-stage1/dietlibc/libugly/gethostent.c,
- mdk-stage1/dietlibc/syscalls.s/epoll_create.S,
- mdk-stage1/dietlibc/include/rpc/rpc_msg.h,
- mdk-stage1/dietlibc/lib/isatty.c,
- mdk-stage1/dietlibc/syscalls.s/msync.S,
- mdk-stage1/dietlibc/include/sys/mtio.h, mdk-stage1/dietlibc/syscalls.h,
- mdk-stage1/dietlibc/lib/memcmp.c, mdk-stage1/dietlibc/lib/toupper.c,
- mdk-stage1/dietlibc/syscalls.s/epoll_ctl.S,
- mdk-stage1/dietlibc/include/sys/sysmacros.h,
- mdk-stage1/dietlibc/include/sys/sysinfo.h,
- mdk-stage1/dietlibc/librpc/clnt_simple.c,
- mdk-stage1/dietlibc/syscalls.s/madvise.S,
- mdk-stage1/dietlibc/libugly/getservbyport_r.c,
- mdk-stage1/dietlibc/lib/vfork.c,
- mdk-stage1/dietlibc/libcruft/getopt_data.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_open.c,
- mdk-stage1/dietlibc/lib/isalpha.c, mdk-stage1/dietlibc/lib/pwrite.c,
- mdk-stage1/dietlibc/lib/sigfillset.c,
- mdk-stage1/dietlibc/libcruft/getpwent_r.c,
- mdk-stage1/dietlibc/i386/log1p.S, mdk-stage1/dietlibc/lib/listen.c,
- mdk-stage1/dietlibc/lib/strncpy.c, mdk-stage1/dietlibc/include/glob.h,
- mdk-stage1/dietlibc/linuxnet.h, mdk-stage1/dietlibc/lib/__v_scanf.c,
- mdk-stage1/dietlibc/include/sys/epoll.h,
- mdk-stage1/dietlibc/lib/strcmp.c,
- mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c,
- mdk-stage1/dietlibc/libdl/_dl_int.h,
- mdk-stage1/dietlibc/include/sys/mount.h,
- mdk-stage1/dietlibc/libstdio/fseeko.c,
- mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c,
- mdk-stage1/dietlibc/include/rpc/clnt.h,
- mdk-stage1/dietlibc/lib/socket.c,
- mdk-stage1/dietlibc/libugly/getnameinfo.c,
- mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c,
- mdk-stage1/dietlibc/include/dietref.h, mdk-stage1/dietlibc/dietstdarg.h,
- mdk-stage1/dietlibc/libugly/strftime.c,
- mdk-stage1/dietlibc/i386/getsockname.S, mdk-stage1/dietlibc/i386/sin.S,
- mdk-stage1/dietlibc/libcruft/getpass.c,
- mdk-stage1/dietlibc/include/pty.h, mdk-stage1/dietlibc/lib/abort.c,
- mdk-stage1/dietlibc/syscalls.s/stime.S,
- mdk-stage1/dietlibc/lib/shutdown.c, mdk-stage1/dietlibc/i386/exp.S,
- mdk-stage1/dietlibc/include/sys/soundcard.h,
- mdk-stage1/dietlibc/include/sys/klog.h,
- mdk-stage1/dietlibc/sparc/fork.S,
- mdk-stage1/dietlibc/libpthread/pthread_setschedparam.c,
- mdk-stage1/dietlibc/i386/sincos.S, mdk-stage1/dietlibc/lib/readdir.c,
- mdk-stage1/dietlibc/lib/sbrk.c, mdk-stage1/dietlibc/syscalls.c/unlink.c,
- mdk-stage1/dietlibc/include/sys/reboot.h,
- mdk-stage1/dietlibc/i386/sqrtl.S, mdk-stage1/dietlibc/syscalls.c/time.c,
- mdk-stage1/dietlibc/lib/vfprintf.c,
- mdk-stage1/dietlibc/syscalls.c/getsid.c,
- mdk-stage1/dietlibc/syscalls.c/chmod.c,
- mdk-stage1/dietlibc/lib/msgctl.c,
- mdk-stage1/dietlibc/syscalls.c/rmdir.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigaction.S,
- mdk-stage1/dietlibc/i386/strcasecmp.S, mdk-stage1/dietlibc/i386/asinh.S,
- mdk-stage1/dietlibc/lib/cfgetospeed.c,
- mdk-stage1/dietlibc/libcruft/gethostbyname2.c,
- mdk-stage1/dietlibc/libstdio/tmpfile.c,
- mdk-stage1/dietlibc/include/rpc/pmap_clnt.h,
- mdk-stage1/dietlibc/syscalls.s/getresuid.S,
- mdk-stage1/dietlibc/syscalls.s/n_sigprocmask.S, mdk-stage1/dietlibc/FAQ,
- mdk-stage1/dietlibc/i386/ipow.S,
- mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c,
- mdk-stage1/dietlibc/libpthread/pthread_cond_init.c,
- mdk-stage1/dietlibc/include/limits.h, mdk-stage1/dietlibc/lib/putenv.c,
- mdk-stage1/dietlibc/syscalls.s/init_module.S,
- mdk-stage1/dietlibc/liblatin1/latin1-isupper.c,
- mdk-stage1/dietlibc/syscalls.s/setgid32.S,
- mdk-stage1/dietlibc/lib/__ftruncate64.c,
- mdk-stage1/dietlibc/lib/islower.c, mdk-stage1/dietlibc/i386/atan.S,
- mdk-stage1/dietlibc/include/paths.h, mdk-stage1/dietlibc/i386/__half.S,
- mdk-stage1/dietlibc/include/sys/wait.h,
- mdk-stage1/dietlibc/librpc/pmap_prot2.c,
- mdk-stage1/dietlibc/librpc/pmap_clnt.c,
- mdk-stage1/dietlibc/lib/isalnum.c, mdk-stage1/dietlibc/lib/speed.c,
- mdk-stage1/dietlibc/libstdio/fseek.c, mdk-stage1/dietlibc/lib/memcpy.c,
- mdk-stage1/dietlibc/syscalls.s/rt_sigprocmask.S,
- mdk-stage1/dietlibc/librpc/getrpcent.c,
- mdk-stage1/dietlibc/include/sysexits.h,
- mdk-stage1/dietlibc/syscalls.c/setreuid.c,
- mdk-stage1/dietlibc/lib/signal.c,
- mdk-stage1/dietlibc/include/sys/arm-ioctl.h,
- mdk-stage1/dietlibc/syscalls.s/llseek.S,
- mdk-stage1/dietlibc/syscalls.s/_llseek.S,
- mdk-stage1/dietlibc/syscalls.c/setregid.c,
- mdk-stage1/dietlibc/include/setjmp.h, mdk-stage1/dietlibc/AUTHOR,
- mdk-stage1/dietlibc/include/stddef.h,
- mdk-stage1/dietlibc/libugly/getprotobynumber.c,
- mdk-stage1/dietlibc/libdl/_dl_jump.S,
- mdk-stage1/dietlibc/include/stdarg.h,
- mdk-stage1/dietlibc/lib/getsockopt.c,
- mdk-stage1/dietlibc/syscalls.c/umount.c, mdk-stage1/dietlibc/lib/atol.c,
- mdk-stage1/dietlibc/syscalls.s/__pread.S,
- mdk-stage1/dietlibc/lib/isspace.c, mdk-stage1/dietlibc/lib/abs.c,
- mdk-stage1/dietlibc/lib/tcgetpgrp.c, mdk-stage1/dietlibc/i386/log2.S,
- mdk-stage1/dietlibc/libstdio/fgetc_unlocked.c,
- mdk-stage1/dietlibc/include/net/route.h, mdk-stage1/dietlibc/parselib.h,
- mdk-stage1/dietlibc/dietdns.h,
- mdk-stage1/dietlibc/syscalls.s/n_sigaction.S,
- mdk-stage1/dietlibc/lib/strxfrm.c,
- mdk-stage1/dietlibc/include/rpc/auth.h,
- mdk-stage1/dietlibc/lib/strtol.c, mdk-stage1/dietlibc/ppc/start.S,
- mdk-stage1/dietlibc/libcruft/getpwnam_r.c,
- mdk-stage1/dietlibc/lib/assert_fail.c, mdk-stage1/dietlibc/lib/htonl.c,
- mdk-stage1/dietlibc/include/sys/sem.h,
- mdk-stage1/dietlibc/include/sys/i386-ioctl.h,
- mdk-stage1/dietlibc/lib/if_nametoindex.c,
- mdk-stage1/dietlibc/lib/shmget.c, mdk-stage1/dietlibc/i386/libm2.S,
- mdk-stage1/dietlibc/include/rpc/auth_des.h,
- mdk-stage1/dietlibc/include/inttypes.h, mdk-stage1/dietlibc/lib/atoi.c,
- mdk-stage1/dietlibc/syscalls.c/lseek.c,
- mdk-stage1/dietlibc/libcruft/getpwuid.c,
- mdk-stage1/dietlibc/libugly/logging.c,
- mdk-stage1/dietlibc/librpc/svc_tcp.c,
- mdk-stage1/dietlibc/alpha/setjmp.S,
- mdk-stage1/dietlibc/libpthread/pthread_create.c,
- mdk-stage1/dietlibc/libcruft/dnscruft2.c,
- mdk-stage1/dietlibc/libcruft/getpwent.c,
- mdk-stage1/dietlibc/include/net/if_arp.h,
- mdk-stage1/dietlibc/alpha/clone.S,
- mdk-stage1/dietlibc/syscalls.s/environ.S,
- mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c,
- mdk-stage1/dietlibc/COPYING,
- mdk-stage1/dietlibc/libpthread/pthread_errno.c: Merge in CVS dietlibc
- 0.21 for IA-64 and X86-64 support. However, drop the
- following architectures we currently don't support: arm, mips, mipsel,
- parisc,
- s390, sparc64.
-
- * mdk-stage1/dietlibc/Makefile: dynlinker/ directory is obsolete and dead
- here.
- Fixes for unmerged parts (contrib, examples)
- Merge in CVS dietlibc 0.21 for IA-64 and X86-64 support. However, drop
- the
- following architectures we currently don't support: arm, mips, mipsel,
- parisc,
- s390, sparc64.
-
- * mdk-stage1/newt/form.c: #include <string.h> for memset()
-
- * mdk-stage1/Makefile.common, mdk-stage1/Makefile: Use dietlibc on x86-64
- - Use minilibc on x86-64
- - mar requires bzlib to be built beforehand, especially if building
- with
- dietlibc
- - Nuke trickery to handle -DIET objects, everything is now built
- through
- the diet driver, defined into $(DIET)
-
- * mdk-stage1/dietlibc/include/sys/types.h,
- mdk-stage1/dietlibc/include/rpc/types.h: Define u_char et al. from
- <rpc/types.h>. The __dietlibc_u_char mechanism
- is here to ensure we are not redefining types, if we were to compile
- programs with -D_BSD_SOURCE (u_char et al. are defined in <sys/types.h>
- int that case).
- Merge in CVS dietlibc 0.21 for IA-64 and X86-64 support. However, drop
- the
- following architectures we currently don't support: arm, mips, mipsel,
- parisc,
- s390, sparc64.
-
- * mdk-stage1/dns.c: dietlibc defined __dietlibc__ macro. Also add check
- for __GLIBC__. If none
- of those C library is used, simply abort compilation.
-
-2003/02/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: remove unneeded pablo's change on RTL
-
- * ugtk2.pm: fix titi's perl checko
- internalize prepare_gtk2 in the BEGIN {} of ugtk2 already containing the
- Gtk2->init
-
- * lang.pm: small change thx to pablo
- reposition main and steps window when in RTL language
- allow to specify font size in output of l2pango_font
- destroy and recreate steps window when charset changed because gtk won't
- update the font size otherwise
-
- * install_gtk.pm: reposition main and steps window when in RTL language
- allow to specify font size in output of l2pango_font
- destroy and recreate steps window when charset changed because gtk won't
- update the font size otherwise
-
- * interactive/gtk.pm: internalize prepare_gtk2 in the BEGIN {} of ugtk2
- already containing the Gtk2->init
-
- * install_steps_gtk.pm: allow to specify font size in output of
- l2pango_font
- destroy and recreate steps window when charset changed because gtk won't
- update the font size otherwise
-
-2003/02/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: fixed small typo
-
- * install_steps_interactive.pm: define language direction
-
- * printer/printerdrake.pm: Removed N( ) around IP numbers, there is no
- point in "translating" them
-
- * steps.pm: changed "Choose your Language" -> "Language"
- shortened some strings to help them fit in the steps window
-
-2003/02/18 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm: /proc/partitions includes partition with type
- "empty" and a non-null size
- so add them for comparison
- - ensure someone can't set a mount point on a non formatted ntfs
- partition
- - remove the mount point when destructive resizing and isNonMountable
-
- * diskdrake/interactive.pm: fix ugly bug (the bug was introduced in
- diskdrake/interactive.pm 1.67)
- - ensure someone can't set a mount point on a non formatted ntfs
- partition
- - remove the mount point when destructive resizing and isNonMountable
-
- * interactive/gtk.pm: in {complete} or {canceled}, ensure giving a bad
- entry number to focus doesn't
- break (and log that something wrong happened)
-
- * interactive/newt.pm: simplify
- fix tree in newt (now handles default selected entry, and disallow using
- non-leaves)
-
- * diskdrake/resize_ntfs.pm (resize): do a test resize before doing the
- real one
-
- * any.pm: don't use tmpfs on /tmp if /tmp is a separate partition
- (anyway, all this is ugly, see with titi)
-
- * install2.pm: simplify
-
- * install_steps_interactive.pm (setRootPassword): display "Authentication"
- in Advanced
- display the release even when there is only one system to upgrade
- (asked by flepied & warly)
-
- * ugtk2.pm: the empty label in the HButtonBox had the same size as the
- buttons (since
- HButtonBox are always homogeneous), causing addUser in german not to fit
- on
- the screen. No good way to solve this :-(
-
- * fsedit.pm: /proc/partitions includes partition with type "empty" and a
- non-null size
- so add them for comparison
- better default partitioning
-
- * keyboard.pm: translate grp_toggles at display-time, not compile-time
-
- * Newt/Newt.xs: fix tree in newt (now handles default selected entry, and
- disallow using non-leaves)
-
- * tools/ddcprobe/ddcxinfos.c: catch bad HorizSync or VertRefresh
- (on Regis's monitor, it gives "62-0 Hz VertRefresh")
-
-2003/02/18 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - "BrowsePoll" support in the CUPS configuration dialog.
- - Fixes on error message windows in the dialog for printer sharing
- destinations.
-
- * scanner.pm: Replaced "my" by "our" for the declaration of the
- "ScannerDB" variable, so that /usr/bin/scannerdrake has access to it.
-
-2003/02/18 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * scanner.pm: perl_checker fixes
-
- * network/network.pm: perl_checker fix
-
- * drakxtools.spec: 9.1-1mdk
-
- * Xconfig/card.pm: bump version on fredl request
-
- * security/help.pm: resync with msec
-
-2003/02/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix bug occurring "if no sound card are
- detected AND the user selected things
- needing a sound card, propose a special case for ISA cards"
- (thanks to guran)
-
- * help.pm: some more fixes (thanks to Edward Cherlin and Reinout van
- Schouwen)
-
- * security/level.pm: replace %level_list with level_list() so that
- N("...") is called at runtime
- instead of compile-time
-
- * network/drakfirewall.pm: translate server {name} at display-time, not
- compile-time
-
-2003/02/17 François Pons <fpons@mandrakesoft.com>
-
- * fsedit.pm: given default size of / increased.
- increased /var container for suggestion (simple or with /usr).
-
- * commands.pm: fixed command insmod.
-
- * install_steps_interactive.pm: add a reboot if not enough free space is
- available for installation or upgrade.
-
-2003/02/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: fix translation of title: N() needs to be called
- after
- interactive->vnew has been called
-
- * steps.pm: fix pixel's commit: never display choosePackages and
- configureServices, instead of always
-
- * lang.pm: change %countries so that we really have translated countries
- (side effect of #1723 -> noticing this bug)
- disable mn until we have lang-mn.png
-
- * drakxtools.spec: grüh
-
- * standalone/drakpxe: fix translation of title by calling N() after
- interactive->vnew
-
-2003/02/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/nl.po, share/po/it.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/lv.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/hu.po: updated
- Estonian file
- updated pot file
-
- * share/po/help-de.pot, share/po/help-it.pot, share/po/help-fr.pot,
- share/po/help-es.pot: updated Estonian file
-
- * lang.pm: updated @locales list
-
-2003/02/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix bug occurring "if no sound card are
- detected AND the user selected things
- needing a sound card, propose a special case for ISA cards"
- (thanks to guran)
- ensure $o->{raw_X} is not destroyed when there is no modification done
- (since in that case
- Xconfig::main::configure_everything_or_configure_chooser() returns
- undef)
-
- * any.pm: add a checkbox "Force ACPI"
-
- * ugtk2.pm: fix pop_it...
-
- * steps.pm: don't show "Choose packages to install" nor "Configure
- services"
- (was still there in expert)
-
- * diskdrake/interactive.pm: remove debug code :-(
-
- * security/level.pm: replace %level_list with level_list() so that
- N("...") is called at runtime
- instead of compile-time
-
- * install_steps.pm: propagate /proc/cmdline acpi=xxx
- have acpi=off by default
-
- * rescue/list.x86_64, rescue/list.i386, rescue/list.ia64: replace
- ext2resize with resize2fs in rescue (already done in DrakX)
-
- * network/drakfirewall.pm: translate server {name} at display-time, not
- compile-time
-
- * help.pm: some more fixes (thanks to Edward Cherlin and Reinout van
- Schouwen)
- fix typos (thanks to Reinout van Schouwen)
-
-2003/02/17 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * security/help.pm: synced with msec
-
- * harddrake/data.pm: bump version number
-
-2003/02/17 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm: fix pop_it...
- hopefully final fix for pop_it
-
- * interactive/gtk.pm: also ->hide in when a button is clicked in
- standalone
-
- * any.pm: add a checkbox "Force ACPI"
-
- * install_steps_interactive.pm: ensure $o->{raw_X} is not destroyed when
- there is no modification done
- (since in that case
- Xconfig::main::configure_everything_or_configure_chooser() returns
- undef)
-
- * install2.pm: don't security::various::config_security_user() can fail,
- don't let it bother us
-
- * install_steps.pm: propagate /proc/cmdline acpi=xxx
- have acpi=off by default
-
- * Xconfig/xfree3.pm (is_fbdev): fix typo
-
- * Xconfig/xfree.pm (get_both): fix typo
-
- * Xconfig/resolution_and_depth.pm (to_string): simpler way to handle the
- "default" resolution of frame-buffer
-
-2003/02/17 Till Kamppeter <till@mandrakesoft.com>
-
- * drakxtools.spec: 9.1-0.34mdk
-
- * printer/main.pm:
- - Fixed bug of HP DeskJetb 990C being automatically installed even if
- there is already a queue for it
- - Fixed checking whether a device is known to CUPS
-
-2003/02/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/da.po, share/po/ta.po, share/po/sv.po,
- share/po/fi.po: updated Arabic, Dutch, Danish, Finnish, Swedish and
- Tamil files
-
- * standalone/harddrake2: correction for non-latin1 locales,
- made strings "Unknown" and "unknown" translatable in device info
-
- * share/po/ru.po: updated Russian and Arabic files
-
- * share/po/ar.po: updated Russian and Arabic files
- updated Arabic, Dutch, Danish, Finnish, Swedish and Tamil files
-
- * lang.pm: synchrnoization of locale names with what we ship.
- updated list of available kde langs
-
-2003/02/17 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: add module2description()
-
- * diskdrake/hd_gtk.pm: fix help popping all the time
-
- * ugtk2.pm: hopefully final fix for pop_it
- fix setting pop_it for wizard in standalone
-
- * interactive/gtk.pm: also ->hide in when a button is clicked in
- standalone
-
- * Xconfig/card.pm: use fbdev when the graphic card is unknown
-
- * install_steps_gtk.pm: enhance summary layout
-
- * install_steps_interactive.pm: better sound card description in summary
-
- * install2.pm: don't security::various::config_security_user() can fail,
- don't let it bother us
-
- * Xconfig/monitor.pm: warn when auto conf fail
-
- * Xconfig/xfree.pm (get_both): fix typo
-
- * Xconfig/xfree3.pm (is_fbdev): fix typo
-
- * Xconfig/resolution_and_depth.pm (to_string): simpler way to handle the
- "default" resolution of frame-buffer
-
-2003/02/17 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm:
- - Fixed bug of HP DeskJetb 990C being automatically installed even if
- there is already a queue for it
- - Fixed checking whether a device is known to CUPS
- - Restructured function "main()"
- - Made automatic queue setup being done during installation
- - Support for unknown printers in auto-detection and in automatic
- queue
- setup
- - Fixed determination of default printer
- - Fixed printer help page display
- - Fixed wait message in /usr/sbin/printerdrake
-
- * printer/detect.pm, printer/data.pm, standalone/printerdrake,
- printer/printerdrake.pm:
- - Restructured function "main()"
- - Made automatic queue setup being done during installation
- - Support for unknown printers in auto-detection and in automatic
- queue
- setup
- - Fixed determination of default printer
- - Fixed printer help page display
- - Fixed wait message in /usr/sbin/printerdrake
-
- * drakxtools.spec: 9.1-0.31mdk
-
-2003/02/17 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * network/netconnect.pm, network/ethernet.pm, standalone/drakconnect: perl
- generate undef indefinitely from the void
-
- * standalone/logdrake: this was just tested before
-
- * scanner.pm:
- - (get_usb_ids_for_port, updateScannerDBfromSane) : simplify
- - perl_checker fixes
-
- * drakxtools.spec: 9.1-0.33mdk
- fix #1718
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/tg.po, share/po/bs.po, share/po/uz.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/nl.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/cs.po, share/po/bg.po,
- share/po/el.po, share/po/hu.po: simplify translator job by propaging
- pixel english typo fix
-
- * ugtk2.pm: in the old days, on cannot disable shrink1, resize2 or shrink2
- since they always were true
-
-2003/02/17 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: 9.1 rc1
-
-2003/02/16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: summary written in gtk, isn't it nice (?)
-
- * install_steps_interactive.pm: handle "not configured" in summary_prompt
-
-2003/02/16 siegel
-
- * share/po/de.po: updates
-
-2003/02/16 alus
-
- * share/po/pl.po: updated
-
-2003/02/16 fabman
-
- * share/po/es.po: updated
-
-2003/02/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * lang.pm: log a bit more
-
- * install_steps_gtk.pm, install_gtk.pm: fix my breakage (broke non-latin1
- installs :/)
-
- * any.pm: clean $o->{locale}{langs}
-
-2003/02/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm, lang.pm: Enabled Arabic keyboard,
- added full list of countries listed in iso 3166,
- changed japanese charset->font for KDE,
- removed charset names no longer used
-
-2003/02/16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: summary written in gtk, isn't it nice (?)
- - factorize "Help"-button handling
- - fix interactive_help_get_id (happily, it was no pb :)
-
- * help.pm: fix typo (thanks to Christophe Combelles)
-
- * install_steps_interactive.pm: handle "not configured" in summary_prompt
-
- * services.pm: fix rawdevices description (bug #1677)
-
- * diskdrake/hd_gtk.pm, interactive.pm, Xconfig/resolution_and_depth.pm,
- install_interactive.pm:
- - factorize "Help"-button handling
- - fix interactive_help_get_id (happily, it was no pb :)
-
-2003/02/15 alus
-
- * share/po/pl.po: mostly updated
- updated partially
- why this file wasn't regenerated?
-
-2003/02/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: don't mute the keyboard in ask_browse_tree_info (#1598)
-
- * printer/printerdrake.pm:
- - try to workaround #1581
- - fix the most code style-independant perl checker things
-
-2003/02/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po: updated Estonian, Norwegian and Vietnamese files
- updated po files
-
- * share/po/vi.po: updated Estonian, Norwegian and Vietnamese files
- updated pot files
- updated po files
-
- * share/po/id.po, share/po/gl.po, share/po/ja.po, share/po/hr.po,
- share/po/mt.po, share/po/ga.po, share/po/ko.po, share/po/lt.po,
- share/po/he.po, share/po/is.po, share/po/it.po, share/po/lv.po,
- share/po/hu.po: updated pot files
-
- * share/po/ar.po: updated remaining po files
- updated po files
-
- * share/po/pt_BR.po, share/po/br.po, share/po/be.po, share/po/uk.po,
- share/po/fi.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/tg.po, share/po/bs.po, share/po/uz.po, share/po/wa.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/fr.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po: updated po files
-
- * share/po/sk.po, share/po/ru.po, share/po/th.po, share/po/sl.po,
- share/po/tr.po, share/po/sv.po, share/po/sr.po, share/po/sp.po,
- share/po/ro.po, share/po/ta.po, share/po/sq.po, share/po/nl.po: updated
- remaining po files
-
- * share/po/no.po: updated Estonian, Norwegian and Vietnamese files
- updated remaining po files
-
-2003/02/15 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: fix gc's typo
-
-2003/02/15 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/scannerdrake: Fixed bug in setting up multiple scanners at
- once.
-
-2003/02/14 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm, standalone/scannerdrake: Improved manual scanner
- configuration, bug fixes.
-
- * standalone.pm: Updated "Usage:" message for Scannerdrake.
-
-2003/02/14 alus
-
- * share/po/pl.po: fixed
-
-2003/02/14 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * drakxtools.spec: 0.30mdk
-
- * standalone/drakperm: o Gtk2
- o 'add a rule' works again
- o 'edit rule' too
- o get_rights get all rights, not just a few
- o little cleanup (more to come)
-
-2003/02/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: okcehc lrep (hebrew feeling)
- wizard: free memory
- add a frame to the wizard's outline
- honour 9.1 theme title of windows: no icon, text to the left
-
- * share/themes-galaxy.rc: adapt theme: grey for selection's background, no
- inverse video on the selected text
-
- * pixmaps/services.png, pixmaps/X.png, pixmaps/bootloader.png,
- pixmaps/language.png, pixmaps/summary.png, pixmaps/security.png,
- pixmaps/partition.png, pixmaps/keyboard.png, pixmaps/mouse.png,
- pixmaps/rootpasswd.png, steps.pm, pixmaps/bootdisk.png,
- pixmaps/harddrive.png, install2.pm, pixmaps/user.png, pixmaps/exit.png,
- pixmaps/network.png: honour 9.1 theme title of windows: no icon, text to
- the left
-
- * install_gtk.pm: cleanup
- fix default_theme always responding 'galaxy'
- - update steps window to 9.1 theme (blue/white bullets)
- - don't destroy steps window between each step => better looking
-
- * install_steps_gtk.pm, pixmaps/steps_off.png, pixmaps/steps_on.png:
- - update steps window to 9.1 theme (blue/white bullets)
- - don't destroy steps window between each step => better looking
-
- * install_any.pm: install the locales-xx package for the selected country
-
- * share/po/fr.po: fix misc
-
-2003/02/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po, share/po/DrakX.pot: updated pot file
-
-2003/02/14 Pixel <pixel@mandrakesoft.com>
-
- * standalone/draksec: cleanup security::level, hopefully the **** draksec
- still works
-
- * security/level.pm: cleanup security::level, hopefully the **** draksec
- still works
- fix errors (due to previous commit)
- create security::level::to_string()
-
- * install_steps.pm: remove unneeded msec related actions (those are done
- in msec)
- simpler way to detect broken alternatives. It works for symlinks to
- symlinks,
- eg: rvi -> /bin/vi -> /etc/alternatives/vi -> /bin/vim-minimal
- use $::prefix
-
- * install_steps_interactive.pm: add "Security level" in summary
- - re-indent summary entries
- - add group for summary entries
- (acceptLicense): do translate "Accept" and "Refuse"
- - add "Services" and "Firewall" in summary
- - rework a little summary & summary_prompt
- use $::prefix
- change order of entries in summary
-
- * install_steps_gtk.pm: toggle Details / No details (as suggested by Prabu
- Anand)
-
- * interactive.pm: in ask_browse_tree_info, have Next instead of Ok,
- Previous instead of Cancel when isWizard
-
- * install_any.pm, install2.pm: create install_any::set_security() and use
- it
-
- * network/drakfirewall.pm: install package shorewall only when the user
- wants a firewall
-
- * services.pm: use $::prefix
-
- * Makefile: themes/* is gone, no need to copy those files
-
-2003/02/14 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm, standalone/scannerdrake: Improved manual scanner
- configuration, bug fixes.
-
- * standalone.pm: Updated "Usage:" message for Scannerdrake.
-
-2003/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: when detected too little memory in ftp/http,
- inform user that he/she may try an nfs install
-
-2003/02/13 alus
-
- * share/po/pl.po: updated
-
-2003/02/13 fabman
-
- * share/po/es.po: updated Spanish translation
-
-2003/02/13 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added tmdns zcip mandrake-galaxy galaxy-gnome
-
-2003/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/themes.rc, share/themes-mdk.rc, share/themes-galaxy.rc,
- share/list, share/themes-mdk-Desktop.rc, install_gtk.pm,
- share/themes-marble3d.rc, share/install.rc, install_steps_gtk.pm:
- - use nice new gnome theme by ln and fcrozat
- - remove old no more used themes
- - for doc team, provide an option so that we'll
- override some colors of the default theme
- (for B&W printing screeshots)
-
- * pixmaps/langs/lang-zh_CN.png, pixmaps/langs/lang-sl.png,
- pixmaps/langs/lang-hy.png, pixmaps/langs/lang-de.png,
- pixmaps/langs/lang-cy.png, pixmaps/langs/lang-it.png,
- pixmaps/langs/lang-eu.png, pixmaps/langs/lang-ca.png,
- pixmaps/langs/lang-sp.png, pixmaps/langs/lang-am.png,
- pixmaps/langs/lang-nb.png, pixmaps/langs/lang-gd.png,
- pixmaps/langs/lang-el.png, pixmaps/langs/lang-ia.png,
- pixmaps/langs/lang-pt_BR.png, pixmaps/langs/lang-sv.png,
- pixmaps/langs/lang-mi.png, pixmaps/langs/lang-bg.png,
- pixmaps/langs/lang-fo.png, pixmaps/langs/lang-kw.png,
- pixmaps/langs/lang-hu.png, pixmaps/langs/lang-ur.png,
- pixmaps/langs/lang-iu.png, pixmaps/langs/lang-az.png,
- pixmaps/langs/lang-mt.png, pixmaps/langs/lang-et.png,
- pixmaps/langs/lang-wa.png, pixmaps/langs/lang-sq.png,
- pixmaps/langs/lang-he.png, pixmaps/langs/lang-eo.png,
- pixmaps/langs/lang-ta.png, pixmaps/langs/lang-ga.png,
- pixmaps/langs/lang-sr.png, pixmaps/langs/lang-lt.png,
- pixmaps/langs/lang-fa.png, pixmaps/langs/lang-oc.png,
- pixmaps/langs/lang-ms.png, pixmaps/langs/lang-mk.png,
- pixmaps/langs/lang-ar.png, pixmaps/langs/lang-lv.png,
- pixmaps/langs/lang-zh_TW.png, pixmaps/langs/lang-is.png,
- pixmaps/langs/lang-be.png, pixmaps/langs/lang-fr.png,
- pixmaps/langs/lang-ro.png, pixmaps/langs/lang-hr.png,
- pixmaps/langs/lang-en_GB.png, pixmaps/langs/lang-sk.png,
- pixmaps/langs/lang-uk.png, pixmaps/langs/lang-br.png,
- pixmaps/langs/lang-en_US.png, pixmaps/langs/lang-bs.png,
- pixmaps/langs/lang-nl.png, pixmaps/langs/lang-af.png,
- pixmaps/langs/lang-tr.png, pixmaps/langs/lang-gl.png,
- pixmaps/langs/lang-pt.png, pixmaps/langs/lang-uz.png,
- pixmaps/langs/lang-pl.png, pixmaps/langs/lang-id.png,
- pixmaps/langs/lang-yi.png, pixmaps/langs/lang-fi.png,
- pixmaps/langs/lang-ka.png, pixmaps/langs/lang-ru.png,
- pixmaps/langs/lang-nn.png, pixmaps/langs/lang-gv.png,
- pixmaps/langs/lang-th.png, pixmaps/langs/lang-cs.png,
- pixmaps/langs/lang-ko.png, pixmaps/langs/lang-tg.png,
- pixmaps/langs/lang-tt.png, pixmaps/langs/lang-da.png,
- pixmaps/langs/lang-ja.png, pixmaps/langs/lang-vi.png,
- pixmaps/langs/lang-es.png: invert video the images since the new theme
- will be printing black text on white background
-
- * install2.pm:
- - add option 'theme' to allow specifying a theme
- - add option 'doc' to specify that we should override the default
- theme with values well suited for printing screenshots on a B&W printer
-
- * ugtk2.pm: remove shape of windows
-
- * install_any.pm: die if getAndSaveFile failed, so that it will be easier
- to debug
- if we have this problem..
-
- * install_steps_interactive.pm: don't allow going back from
- accept_licenser to select_language, hence allow removing langs images
- before downloading huge CJK fonts
-
- * mdk-stage1/network.c: when detected too little memory in ftp/http,
- inform user that he/she may try an nfs install
-
- * lang.pm: don't allow going back from accept_licenser to select_language,
- hence allow removing langs images before downloading huge CJK fonts
- gc sux: install_any is not available in drakxtools
-
-2003/02/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/nl.po, share/po/et.po, share/po/fi.po: updated Arabic, Dutch,
- Estonian and Finnish files
-
- * share/po/ar.po: updated Arabic, Dutch, Estonian and Finnish files
- updated Arabic file
-
-2003/02/13 Pixel <pixel@mandrakesoft.com>
-
- * share/po/help-de.pot, share/po/help-it.pot, share/po/help-fr.pot,
- share/po/help-es.pot: minor changes (update from xml)
- new help from xml
-
- * network/network.pm, modules/interactive.pm, ugtk2.pm,
- diskdrake/interactive.pm, services.pm, security/level.pm,
- diskdrake/hd_gtk.pm, printer/printerdrake.pm:
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
-
- * install_steps_gtk.pm:
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- - {interactive_help} is a function returning text, it doesn't need to
- do the help window
- - drop global interactive_help during install. Will be done per
- ->ask_*
-
- * share/po/help_xml2pm.pl: no need for "empty" id anymore
- - adapt to new drakx-chapter.xml (esp. handle <variablelist> tags)
- - replace __ with N_
- - add "our" for "%steps"
-
- * interactive.pm: fix ask_warn(), really dont make it pop
- don't force pop_it on ask_warn's
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- add ask_yesorno_, ask_okcancel_, ask_warn_, ask_from_listf_raw (to allow
- help)
-
- * network/modem.pm, network/isdn.pm, network/ethernet.pm, network/adsl.pm,
- network/tools.pm:
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- add CVS $Id
-
- * help.pm: minor changes (update from xml)
- no need for "empty" id anymore
- fix typo (from xml)
- new help from xml
-
- * interactive/gtk.pm: fix ask_warn(), really dont make it pop
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- - {interactive_help} is a function returning text, it doesn't need to
- do the help window
- - drop global interactive_help during install. Will be done per
- ->ask_*
-
- * standalone/fileshareset: cleanup
-
- * Makefile: fix typo
- use PerlIO-gzip
-
- * c/Makefile: at last fix the culprit for the dreaded "relocation error"
- (esp. occured when the glibc changed)
-
- * harddrake/sound.pm:
- - {interactive_help} is a function returning text, it doesn't need to
- do the help window
- - drop global interactive_help during install. Will be done per
- ->ask_*
-
- * Xconfig/card.pm, Xconfig/main.pm, Xconfig/resolution_and_depth.pm,
- Xconfig/monitor.pm: fix and some more Help
-
- * Xconfig/various.pm, install_interactive.pm, any.pm: fix and some more
- Help
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
-
- * install_steps_interactive.pm:
- - fix calling configureTimezone
- - have country before timezone (gc wants it that way...)
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- don't use $_total, use $total_ instead
-
- * standalone/drakboot, commands: make perl_checker happy
-
- * standalone/drakupdate_fstab: help perl_checker
-
- * share/list: use PerlIO-gzip
-
- * network/netconnect.pm:
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
- add cvs $Id
-
- * install_steps.pm: have supermount back by default (at least when the
- security level < 4)
- - set_help is deprecated
- - it is replaced by interactive_help_id on each ask_*
- - many set_help do not have any correspondance in help.pm (drakxid-*),
- those are commented for now
-
-2003/02/13 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mouse.pm: Mouse button emulation. Clarify L-Command, add Enter. (Ben
- Reser)
-
-2003/02/13 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/scannerdrake: Fixed typo.
- Improved handling and structure of scanner database
- - Scanners with multiple ports are supported now
- - Fully automatic build of the scanner database, including lines for
- configuration files
- - Fixed "SnapScan" <-> "snapscan" bug
- - Some HP scanners had no manufacturer field. Fixed.
-
- * scanner.pm, handle_configs.pm: Improved handling and structure of
- scanner database
- - Scanners with multiple ports are supported now
- - Fully automatic build of the scanner database, including lines for
- configuration files
- - Fixed "SnapScan" <-> "snapscan" bug
- - Some HP scanners had no manufacturer field. Fixed.
-
-2003/02/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 9.1-0.29mdk
- 9.1-0.28mdk
-
- * services.pm (start_service_on_boot) prevent copying this style
- (do_not_start_service_on_boot) : simplify it
-
- * scanner.pm: no comment
- fix drakxtools build
-
-2003/02/12 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fix fpons sucks (at least one time).
- configure profile in order to avoid standalone networking tools to
- complain
- about unconfigured device.
-
- * standalone/drakpxe: updated to find an interface even when no profile
- are available.
-
- * pkgs.pm: prefer apache for drakpxe to find the right package.
-
-2003/02/12 gbeauchesne
-
- * rescue/list, share/list: rpm files are not set to live in /usr/lib/rpm,
- always.
-
-2003/02/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm:
- - ensure focus should not be needed anymore
- - support XSetInputFocus hackery
-
- * mdk-stage1/stdio-frontend.c: compile with -W
-
- * lang.pm: clean
- add missing pango rendering modules
- in ramdisk, do download additional fonts if needed (fixes problems with
- CJK languages and namely #1098)
-
- * share/fonts.tar.bz2: CJK fonts can now be pcf.gz, hopefully since they
- will be too large for ramdisks :(
-
- * tools/make_mdkinst_stage2, share/list: add missing pango rendering
- modules
- in ramdisk, do download additional fonts if needed (fixes problems with
- CJK languages and namely #1098)
-
-2003/02/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: Updated
- pot file
-
-2003/02/12 Pixel <pixel@mandrakesoft.com>
-
- * harddrake/sound.pm: use {interactive_help}
-
- * any.pm, install_steps_gtk.pm, diskdrake/interactive.pm, run_program.pm,
- install_steps_auto_install.pm, install_steps_stdio.pm,
- network/netconnect.pm, modules.pm, raid.pm, install_steps_newt.pm,
- commands.pm, partition_table.pm: perl_checker compliance ("ref" now need
- parentheses in many case)
-
- * interactive.pm, interactive/gtk.pm: allow {interactive_help} per dialog
- boxes instead of global
- perl_checker compliance ("ref" now need parentheses in many case)
-
- * install_steps.pm, install_steps_interactive.pm: rework summary() (esp.
- to allow a gtk frontend)
- perl_checker compliance ("ref" now need parentheses in many case)
-
- * services.pm: cleanup starts_on_boot()
-
- * install2.pm: rework summary() (esp. to allow a gtk frontend)
-
- * ugtk2.pm: don't set pop_it when the window is hidden
- perl_checker compliance ("ref" now need parentheses in many case)
-
-2003/02/12 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm, services.pm, standalone/scannerdrake: Scannerdrake vastly
- improved
- - Use auto-detection methods of SANE
- - Do not ask the user to configure scanners which are already
- configured
- - Handle systems with more than one scanner correctly
- - Added ports of newer scanners (libusb, parallel, ...) to the port
- selector
- in manual setup
- - Main dialog showing all configured scanners
- - Full support for scanner sharing via SANE (server/client)
- - Support for USB scanner access via libusb
-
-2003/02/12 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakpxe: fix just stupid fpons sucks
-
- * drakxtools.spec: 9.1-0.27mdk
-
- * standalone/drakconnect:
- - clean up through ugtk2
- - enforce strict mode
- - give meaningful names to widget variables
- - fix embedding in mcc at last, aka going into expert mode does not
- fsck up
- the gui
- - display all configuration buttons (both internet and lan) the same
- way
- - fix doble variable declaration to MDK::Common::Globals
- - fix non obvious "not a CODE reference" errors when embedded
- (fortunately, gc will fix perl-GTK2 if this syntax is still
- authorized)
- - (configure_lan) : fix gtk+-2 port and remove old commented out
- debugging code
-
- * standalone/drakperm: perl_checker fixes
-
- * standalone/draksec: do not enfore default settings
-
-2003/02/11 Frederic Lepied <flepied@mandrakesoft.com>
-
- * Makefile.drakxtools: don't take lang subdir in pixmap
-
-2003/02/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_gtk.pm: format-a-la-tex the message telling that the
- system is low on resources
-
- * install_steps.pm: try to fix the $o->{lang} compat
- have compatibility with old $o->{lang} for not breaking existing auto
- install files
-
- * install_any.pm: reflect lang->locale changes in saving auto_inst.cfg
- file
-
- * lang.pm: no need to duplicate LC_MONETARY
- thx perl checko
- have compatibility with old $o->{lang} for not breaking existing auto
- install files
-
- * Makefile.drakxtools: have localedrake in /usr/bin rather than /usr/sbin
- (#1407)
-
- * share/gen_locales.pl: update to changes in lang.pm
-
-2003/02/11 Pixel <pixel@mandrakesoft.com>
-
- * standalone/lsnetdrake:
- - ensure log::l's don't appear on stderr
- - catch authentification errors
-
- * keyboard.pm: for GRP_TOGGLE'd keyboard layouts, have "us,XX" instead of
- simply "XX"
- (to have previous XFree's behaviour)
-
- * fsedit.pm, partition_table.pm: handle 0x7 partition table id specially
- since it can be both hpfs or ntfs.
- so adding 0x107 being really ntfs. hopefully this change won't break too
- much things
- (but things were already broken, since it assigned a mount point with
- type ntfs to
- some hpfs partitions) (fixes bug #1455)
-
- * partition_table/raw.pm: add "OS/2 boot manager" (see bug #1338)
-
- * share/diskdrake.rc:
- - have the "Windows" button blue
- - set xthickness = 1 and ythickness = 1 for buttons
- (so that non-colored buttons have the same feelings with the upcoming
- new
- theme)
-
- * Xconfig/card.pm: don't set AGPMode (see bug #707)
-
-2003/02/11 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * bootlook.pm: stop:
- - copying stude && useless trace around
- - reinventing the wheel: kill parse_etc_passwd() and use list_users()
- instead
-
- * standalone/harddrake2: no frame in standalone mode
-
- * standalone/drakperm: smoother gui
- - further ugtk2 cleanups
- - (row_setting_dialog) : fix implosion
- phase 1 of drakperm clean up through ugtk2
- - gtk2 port of dialogs (poulpy)
- - one callback cleanup (me):
- o enforce strict mode (aka kill jonathanries) and introuce
- a permission data structure.
- o no need to keep global references on widget we pack through
- symbolic references; this is only namespace pollution
-
-2003/02/10 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - help link can be non local (http, www connnections).
-
- * standalone/drakhelp:
- - s/link/path/
- - http connections handled.
-
-2003/02/10 Frederic Lepied <flepied@mandrakesoft.com>
-
- * network/netconnect.pm: reworded network restart string
-
- * network/ethernet.pm: added a text to describe the Zeroconf host name
- field
-
- * network/network.pm: corrected option handling and added hotplug checkbox
-
-2003/02/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: perl checko
-
- * tools/make_mdkinst_stage2: count space needed for the filesystem so that
- we don't end up with 3 mbytes of free space if /tmp was ext3
-
- * interactive/gtk.pm: two fixes thx to perl_checker, one among them being
- very important :)
- when displaying images in treeview, unref pixbufs right after their use
- so that we try to save some memory
-
- * lang.pm: perl checko files
-
-2003/02/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ar.po: updated Arabic file
-
-2003/02/10 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: ck hptraid, but discard the insmod error for it
- small cleanup
-
- * bootloader.pm: in lilo.conf, "unsafe" is incompatible with "table=..."
- (fixes bug #1382)
-
- * fs.pm, diskdrake/interactive.pm, install_steps_interactive.pm:
- - more precise message when formatting / fsck'ing / mounting
- partitions
- - hide passwords (for smb)
-
-2003/02/10 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * network/netconnect.pm, network/network.pm, network/ethernet.pm:
- perl_checker fixes
-
- * ugtk2.pm:
- - sort functions by name in export tags
- - (gtkset_name) introduce it for mcc and reuse it in
- create_box_with_title()
-
- * harddrake/sound.pm: cs4239 is managed by both "ad1848" and "snd-cs4236"
-
-2003/02/09 Pixel <pixel@mandrakesoft.com>
-
- * install_gtk.pm: do translate "System installation" and "System
- configuration" in steps window
-
-2003/02/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: when probing that we're in testing mode, print out
- the pid (since the probe is based on the pid and some recent machines
- seem to interact badly with that when in bad acpi mood)
-
- * mdk-stage1/Makefile: set version to 9.1
-
- * pixmaps/langs/lang-zh_CN.png, pixmaps/langs/lang-sl.png,
- pixmaps/langs/lang-hy.png, pixmaps/langs/lang-de.png,
- pixmaps/langs/lang-cy.png, pixmaps/langs/lang-it.png,
- pixmaps/langs/lang-eu.png, pixmaps/langs/lang-ca.png,
- pixmaps/langs/lang-sp.png, install_steps_interactive.pm,
- pixmaps/langs/lang-am.png, pixmaps/langs/lang-nb.png,
- pixmaps/langs/lang-gd.png, install_steps_newt.pm,
- pixmaps/langs/lang-el.png, pixmaps/langs/lang-ia.png,
- pixmaps/langs/lang-pt_BR.png, pixmaps/langs/lang-sv.png,
- pixmaps/langs/lang-mi.png, pixmaps/langs/lang-bg.png,
- pixmaps/langs/lang-fo.png, pixmaps/langs/lang-kw.png,
- pixmaps/langs/lang-hu.png, pixmaps/langs/lang-ur.png,
- pixmaps/langs/lang-iu.png, install_steps_auto_install.pm,
- pixmaps/langs/lang-az.png, standalone/drakhelp,
- pixmaps/langs/lang-mt.png, pixmaps/langs/lang-et.png,
- pixmaps/langs/lang-wa.png, pixmaps/langs/lang-sq.png,
- pixmaps/langs/lang-he.png, pixmaps/langs/lang-eo.png,
- pixmaps/langs/lang-ta.png, pixmaps/langs/lang-ga.png,
- pixmaps/langs/lang-sr.png, pixmaps/langs/lang-lt.png,
- pixmaps/langs/lang-fa.png, install_any.pm, pixmaps/langs/lang-oc.png,
- standalone/drakxtv, pixmaps/langs/lang-ms.png,
- pixmaps/langs/lang-mk.png, pixmaps/langs/lang-ar.png,
- pixmaps/langs/lang-lv.png, pixmaps/langs/lang-zh_TW.png,
- pixmaps/langs/lang-is.png, pixmaps/langs/lang-ro.png,
- pixmaps/langs/lang-be.png, pixmaps/langs/lang-fr.png, install_steps.pm,
- install_gtk.pm, pixmaps/langs/lang-hr.png, Makefile,
- pixmaps/langs/lang-en_GB.png, pixmaps/langs/lang-sk.png,
- install_steps_stdio.pm, pixmaps/langs/lang-uk.png,
- pixmaps/langs/lang-br.png, pixmaps/langs/lang-en_US.png, lang.pm,
- install2.pm, pixmaps/langs/lang-nl.png, pixmaps/langs/lang-bs.png,
- pixmaps/langs/lang-af.png, pixmaps/langs/lang-tr.png,
- pixmaps/langs/lang-pt.png, pixmaps/langs/lang-gl.png,
- standalone/localedrake, pixmaps/langs/lang-uz.png, any.pm,
- pixmaps/langs/lang-pl.png, pixmaps/langs/lang-id.png,
- pixmaps/langs/lang-yi.png, pixmaps/langs/lang-fi.png,
- pixmaps/langs/lang-ka.png, pixmaps/langs/lang-ru.png,
- pixmaps/langs/lang-nn.png, pixmaps/langs/lang-gv.png,
- pixmaps/langs/lang-th.png, pixmaps/langs/lang-cs.png,
- pixmaps/langs/lang-ko.png, pixmaps/langs/lang-tg.png, keyboard.pm,
- pixmaps/langs/lang-tt.png, pixmaps/langs/lang-da.png,
- pixmaps/langs/lang-ja.png, pixmaps/langs/lang-vi.png,
- pixmaps/langs/lang-es.png, timezone.pm: language/country selection
- change:
- - first install step is selection of your language, in your language;
- it uses images for that
- - language->country is probed, the selection of the country is
- possible
- if there was a problem, in the Summary step
- - in the $o big structure, we now use $o->{locale} which contains
- three keys: lang, country and utf8
- - lang.pm has been cleaned and rewritten a bit
- - keyboard probing now done only on language (because this step is
- at the beginning of the install)
- - timezone probing done on country, if use changes country before
- timezone in the Summary, re-probe timezone accordingly
-
- * rescue/tree/etc/issue: remove "cooker" from the issue of the rescue
- since we're
- aproaching the release candidates
-
- * install_steps_gtk.pm: say we're low on resources if we have less than 70
- Mb of RAM (was 60 Mb)
-
- * tools/make_mdkinst_stage2: the shitload of images for selecting
- languages in their languages needs a few additional inodes..
-
- * install_messages.pm: change address for errata to reflect the future 9.1
-
- * mdk-stage1/network.c: indent
-
- * interactive.pm, interactive/gtk.pm: add option advanced_state: if set to
- 1, force the "Advanced" part of the dialog to be opened initially
- add possibility to display images in tree-lists and bool-lists
-
- * mdk-stage1/config-stage1.h: ramdisk is enlarging, move the limit from 52
- Mb to 68 Mb (it won't work properly in gtk on a box with 64 Mb of
- memory..)
-
-2003/02/07 alus
-
- * share/po/pl.po: updated
-
-2003/02/07 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm:
- - DHCP & Zeroconf fixes for installation
- - fix '217.0.0.1 localhost' not written in /etc/hosts when using DHCP
-
- * standalone/drakfont:
- - full Gtk2
- - cleanup code (still much to do...)
-
- * drakxtools.spec: new version
-
-2003/02/07 fabman
-
- * share/po/es.po: updated Spanish translations
-
-2003/02/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/ca.po, share/po/da.po, share/po/tg.po, share/po/bs.po,
- share/po/uz.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
- * share/po/ar.po: updated Arabic file
- updated pot file
-
- * share/po/sv.po, share/po/cy.po: Updated Welsh and Swedish files
- updated pot file
-
- * printer/printerdrake.pm: Fixed English typo
-
- * share/po/et.po: updated po file
- updated pot file
-
- * standalone/drakedm: fixed English typo
-
-2003/02/07 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm: fix english typo (bug #1350)
-
-2003/02/06 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakhelp:
- - change package name to install
-
-2003/02/06 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * drakxtools.spec: new version
-
- * network/network.pm: avoid to mess up tmdns.conf file
- fix dhcp package installation
- fix zeroconf suckiness
-
-2003/02/06 fabman
-
- * share/po/es.po: updated translation
-
-2003/02/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/uz.po, share/po/de.po: Added start of Uzbek file; updated
- German file
-
-2003/02/06 Pixel <pixel@mandrakesoft.com>
-
- * interactive/gtk.pm: add "Help" button
-
- * install_steps_interactive.pm (setRootPassword): have the focus on the
- password field
-
- * any.pm (ask_users): focus the "name" field, and change the buttons name
- & place
-
- * install_steps_gtk.pm: have the focus on the help "Ok" button
- missing aewm-drakx causes pb when testing (perl going havoc?)
- add "Help" button
-
- * install_gtk.pm: remove create_big_help
-
- * ugtk2.pm: drop "F1" for help (since a "Help" button is now available)
- (create_okcancel): allow buttons on the left (for the "Help" button)
-
- * interactive/newt.pm: fix sizing in the scrolled window in 80x25
-
- * diskdrake/hd_gtk.pm: add "Help" button
- (filesystems_button_box): in the caption write "Windows" instead of
- "FAT"
- (since NTFS uses the same color)
-
-2003/02/06 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/detect.pm: Corrected call for "tryWrite" function.
-
-2003/02/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakedm: sanitize
- perl_checker fix (yeah, i was faster than perl_checko!)
- the result of David Sansome|Laurent Montel|Frederic Lepied|Davod
- Beidebs|Thierry Vignaud collision
-
- * Makefile.config: add drakedm
-
- * standalone/drakfloppy: fix floppy create :-)
-
-2003/02/04 François Pons <fpons@mandrakesoft.com>
-
- * network/adsl.pm: fixed small typo.
- add support for adiusbadsl 1.0.2 (using adictrl -i to find interface and
- using
- pppoa).
-
-2003/02/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/tg.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/sq.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
-2003/02/04 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm: don't ->set_modal during install
-
- * devices.pm: add "vcsa" (for brltty)
-
- * Makefile: add brltty help file
- wildcard * in share/list allowed to match multiple files, but not
- multiple directories
-
- * install2.pm: fix typo
- add brltty help file
- brltty support
-
- * tools/make_mdkinst_stage2, install_steps.pm, install_any.pm: brltty
- support
-
- * share/list: add brltty help file
- brltty support
-
- * share/rpmsrate: add brltty
- move packages from 3 to 4 (fix bug #1265)
-
-2003/02/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Use system configs when wrapped in mcc.
-
-2003/02/04 Till Kamppeter <till@mandrakesoft.com>
-
- * handle_configs.pm:
- - "Out-sourced" functions for config file handling into
- handle_configs.pm,
- it is used by both printerdrake and scannerdrake.
- - Improvements and fixes on CUPS daemon configuration by printerdrake.
-
- * printer/printerdrake.pm: Fixed auto-detection of a configured (but not
- started) network.
- - "Out-sourced" functions for config file handling into
- handle_configs.pm,
- it is used by both printerdrake and scannerdrake.
- - Improvements and fixes on CUPS daemon configuration by printerdrake.
-
- * printer/main.pm: Removed debug helper line.
- - "Out-sourced" functions for config file handling into
- handle_configs.pm,
- it is used by both printerdrake and scannerdrake.
- - Improvements and fixes on CUPS daemon configuration by printerdrake.
-
-2003/02/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/draksec:
- - fix get_check_default() and get_function_default() description
- - fix "check states were not saved if their value did not change (thus
- reverting it to default on disk)"
- - fix emebedding (no transcience when embedded)
- - fix "value get chop()-ed until it disapear and is reset to default"
- - log which security level is set and not only the switch
- killing latest remanent parts of christian "yeah baby, i'm piggy"
- work:
-
- - functions and checks listing :
- o rename get_functions() as list_functions() and
- get_default_checks() as list_checks(); this is both
- more homogenous and enable one to separate them from the
- get_(check|function)_(value|default) function group
- o regroup them
- o over simplify list_functions(): leave functions listing to msec
- (aka /usr/share/msec/level.<LEVEL>, assuming share/msec.py is
- always up to date, just don't care reparsing python code (this is
- plain stupid); if we cannot rely on msec, on who could we :-) ?
- o this allow to simplify msec gui so that we do not exclude stuff
- already excluded
- - remove config_check(), config_funtion(): replace them by:
- o set_check() and set_function() to store new values in data
- structure
- o apply_checks() and apply_functions() to save these new values,
- thus writing config files once and not twice the functions &
- checks count
- now, we always have a help entry and a default value but when fredl
- rename a
- check and forgot to remove it from /var/lib/msec/security.conf like
- CHECK_SUID_GROUP => CHECK_SGID, but hopefully, he'll fix msec
-
- * share/theme-editor.pl: update theme editor to current libDrakX api
-
- * drakxtools.spec: 9.1-0.22mdk
-
- * security/msec.pm: perl_checker fix
- - fix get_check_default() and get_function_default() description
- - fix "check states were not saved if their value did not change (thus
- reverting it to default on disk)"
- - fix emebedding (no transcience when embedded)
- - fix "value get chop()-ed until it disapear and is reset to default"
- - log which security level is set and not only the switch
- killing latest remanent parts of christian "yeah baby, i'm piggy"
- work:
-
- - functions and checks listing :
- o rename get_functions() as list_functions() and
- get_default_checks() as list_checks(); this is both
- more homogenous and enable one to separate them from the
- get_(check|function)_(value|default) function group
- o regroup them
- o over simplify list_functions(): leave functions listing to msec
- (aka /usr/share/msec/level.<LEVEL>, assuming share/msec.py is
- always up to date, just don't care reparsing python code (this is
- plain stupid); if we cannot rely on msec, on who could we :-) ?
- o this allow to simplify msec gui so that we do not exclude stuff
- already excluded
- - remove config_check(), config_funtion(): replace them by:
- o set_check() and set_function() to store new values in data
- structure
- o apply_checks() and apply_functions() to save these new values,
- thus writing config files once and not twice the functions &
- checks count
-
- * standalone/harddrake2: adapt to new mandrake_doc-drakxtools-* packages
-
-2003/02/03 alus
-
- * share/po/pl.po: Not too many entries in beta release?
-
-2003/02/03 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: dhcp/zeroconf stuff
-
-2003/02/03 florin
-
- * network/netconnect.pm: fix some drakgw behaviour
-
-2003/02/03 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: integrated chmouel fixes.
-
-2003/02/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/tg.po, share/po/bs.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/ar.po: updated Arabic file
- updated pot file
-
-2003/02/03 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pl, install_any.pm: do not eject cdrom when already removed
- at the end of install (bug #1235)
-
- * modules/parameters.pm: use run_program::get_stdout
-
- * standalone/icons/smbnfs_mounted.png,
- standalone/icons/smbnfs_default.png,
- standalone/icons/smbnfs_has_mntpoint.png: have the background fully
- transparent
-
- * pkgs.pm: prefer mdkkdm over kdebase-kdm
-
- * diskdrake/interactive.pm: make perl_checker happy
-
- * diskdrake/smbnfs_gtk.pm: cleanup
- port to Gtk2
-
- * install_steps_gtk.pm: fix test mode install when Xnest is not there
-
- * standalone/diskdrake: don't "use diskdrake::interactive", only require
- it when needed
-
- * Xconfig/test.pm: ensure the X test strings are translated
-
- * interactive/newt.pm: fix typo (for treelist)
-
- * standalone/keyboarddrake: make perl_checker happy
- translate keyboard names
-
- * install_steps.pm: remove yelp-pregenerate
-
-2003/02/03 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/draksec:
- - msec was altered to produce help suitable for formatAlaTeX()
- - use formatAlaTeX() to have nicer tooltips
-
- * docs/porting-ugtk: new obsolete func (thanks drakcronat)
-
- * share/po/fr.po: typo fix
-
- * security/msec.pm:
- - consolidate file names
- - remove unused variables
- - rename get_(default|value as load_(default|value)s and alter them so
- that config file are read only one time instead of one per option;
- data is stocked in package variable
- - thus get_default_checks() is quite a lot faster
- - alter get_(check|function)_(value|default) to use new data structure
- - fix check default reading
- - group default values reading and current values reading
- what's left: do the same thing for writing tomorow
-
- * security/help.pm:
- - msec was altered to produce help suitable for formatAlaTeX()
- - use formatAlaTeX() to have nicer tooltips
- auto-generated from msec/share/draksec_help.py libmsec and moved from
- msec to here so that draksec help'll get translated
- all changes must be done in soft/msec/share/libmsec.py !!!
-
- * drakxtools.spec: 9.1-0.21mdk (to be continued by pouly)
-
- * share/po/Makefile: remove drakpxe exception since fpons has at lease
- fixed "fpons sucks"
- in drakpxe
-
-2003/02/03 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm, network/ethernet.pm:
- - fix zeroconf support
- - cleanups
-
-2003/02/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cy.po: updated Welsh file
-
-2003/02/03 Pixel <pixel@mandrakesoft.com>
-
- * modules/parameters.pm: use run_program::get_stdout
-
-2003/02/03 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/draksec: sanitize gui (aka make it look nicer):
- - put the same help label on top of each msec options notebook pages
- and consolidate it
- - use gtkpack_ instead of gtkpack so that we can tell gtk+ that label
- must neither fill nor expand, only the packtable should
- display again the first notebook page
- if no default value, then do not print one (aka for cron checks)
- fix help system description.
- we should really use the camille/deush help system though.
- - perl_checker fixes
- - display sorted options (hey pixel, note that the last diff trunk
- with
- execessive () was not detected by perl_checker :-( )
-
- * modules/parameters.pm: pixelize(tm)
-
- * standalone/interactive_http/authorised_progs: draksec is not written to
- use interactive, thus cannot be used by http
- frontend
-
- * standalone/interactive_http/miniserv.init: sanitize draxktools server
- service script:
- - no gratuitous shell forking
- - now can be debugged through "sh -x"
- - use std shell service lib
- - make it print [OK] || [FAILLED]
-
- * ugtk2.pm: let simplify
-
-2003/02/02 alus
-
- * share/po/pl.po: updated
-
-2003/02/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ar.po: updated Arabic, Spanish, Finnish and Slovak files
- updated Arabic and Danish files
-
- * share/po/es.po, share/po/sk.po, share/po/fi.po: updated Arabic, Spanish,
- Finnish and Slovak files
-
- * share/po/da.po: updated Arabic and Danish files
-
-2003/02/02 Pixel <pixel@mandrakesoft.com>
-
- * printer/printerdrake.pm: move whatPrinter(), whatUsbport() and
- whatPrinterPort() out of detect_devices to printer::detect
- (it cleans up detect_devices, and won't hurt eyes anymore :)
- this change, together with .perl_checker skipping printer::* marks the
- style disagreement
- between printer/* and the rest of install
-
- * lang.pm, common.pm, install_interactive.pm: please perl_checker
-
- * printer/detect.pm, detect_devices.pm: move whatParport() to
- printer::detect
- move whatPrinter(), whatUsbport() and whatPrinterPort() out of
- detect_devices to printer::detect
- (it cleans up detect_devices, and won't hurt eyes anymore :)
- this change, together with .perl_checker skipping printer::* marks the
- style disagreement
- between printer/* and the rest of install
-
- * bootloader.pm: fix grub installed on {first_hd_device} instead of {boot}
- (bug #1199)
-
- * share/diskdrake.rc: NTFS is blue
-
- * partition_table.pm (adjust_local_extended): fix resizing local extended
-
- * install_gtk.pm, ugtk2.pm: ensure the window is big enough in 640x480:
- remove logo and steps window
-
- * .perl_checker: do not check printer::main, printer::printerdrake and
- printer::detect, too many warnings
-
- * install_steps_gtk.pm:
- - handle {vga16} in Xnest testing mode
- - fix weird bug due to missing aewm-drakx in test mode (??)
- - add Xnest feature when testing
- - cleanup and re-indent
-
-2003/02/02 siegel
-
- * share/po/de.po: some updates
-
-2003/02/02 Till Kamppeter <till@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm: Fixed Foomatic
- installation done by installer.
-
-2003/02/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated Vietnamese, Estonian and Albanian files
- updated Vietnamese file
-
- * share/po/et.po, share/po/sq.po: updated Vietnamese, Estonian and
- Albanian files
-
-2003/02/01 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/data.pm, printer/printerdrake.pm:
- - Completed support for pre-compiled Foomatic PPDs.
- - Cleaning of mamufacturer names for menues and for comparing
- auto-dtected
- data against Foomatic centralized in one function.
- - Fixed file name in check for installed packages.
- - Fixed display of boolean options from native PostScript PPD files in
- the
- option setting dialog.
-
- * printer/main.pm:
- - Improved generation of printer list entries from
- manufacturer-supplied PostScript PPDs.
- - Completed support for pre-compiled Foomatic PPDs.
- - Cleaning of mamufacturer names for menues and for comparing
- auto-dtected
- data against Foomatic centralized in one function.
- - Fixed file name in check for installed packages.
- - Fixed display of boolean options from native PostScript PPD files in
- the
- option setting dialog.
-
-2003/01/31 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * install_steps_interactive.pm: be sure $o->{netcnx}{type} is set when
- using easy_dhcp
-
- * mdk-stage1/network.c: don't save hostname if intf->boot_proto ==
- BOOTPROTO_DHCP
-
- * network/ethernet.pm: zeroconf
-
- * drakxtools.spec: new version
-
- * ugtk2.pm: avoid poping
-
- * network/network.pm: more zeroconf configuration
-
-2003/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/he.po, share/po/sp.po, share/po/cy.po, share/po/da.po,
- share/po/ar.po, share/po/tg.po, share/po/bs.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/vi.po,
- share/po/ta.po, share/po/fr.po, share/po/sq.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/ca.po: updated pot file
- Fixed small error (missing "/" in menu entry)
-
- * standalone/drakbackup: fixed typo (drakbakup.conf -> drakbackup.conf)
-
-2003/01/31 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix poulpy
-
-2003/01/31 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * install_steps_interactive.pm: be sure $o->{netcnx}{type} is set when
- using easy_dhcp
-
- * mdk-stage1/network.c: don't save hostname if intf->boot_proto ==
- BOOTPROTO_DHCP
-
- * ugtk2.pm: avoid poping
-
-2003/01/31 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/resize_ntfs.pm: create diskdrake::resize_ntfs to factorize
- code
-
- * install_gtk.pm (createXconf): special case for "none" mouse device
- graphical layout change
-
- * install_steps_gtk.pm: handle pop_it more nicely: no need to precise
- pop_it when the wizard window already has a window,
- that way, two dialog boxes won't merge in the same window (which is
- dumb!)
- remove explicitly setting the size of advertising window
- (it wasn't setting the same size as the wizard mode size)
-
- * install_any.pm: fix typo
-
- * diskdrake/interactive.pm:
- - do not write_partitions when resizing & loosing data (not needed)
- - handle "cancel" on write_partitions
- fix typo (calling resize_fat::main instead of diskdrake::resize_ntfs)
- create diskdrake::resize_ntfs to factorize code
-
- * install_interactive.pm: fix "one big ntfs" resizing (in the limit case)
- small fixes
- add ntfs resize to the wizard
-
- * interactive/gtk.pm, diskdrake/hd_gtk.pm, ugtk2.pm: handle pop_it more
- nicely: no need to precise pop_it when the wizard window already has a
- window,
- that way, two dialog boxes won't merge in the same window (which is
- dumb!)
-
- * mouse.pm (detect): cleanup the value returned when only a wacom is found
-
- * install_steps_interactive.pm: fix poulpy
-
- * install_steps.pm: do "yelp-pregenerate -a" only once
-
-2003/01/31 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - Faster switch between normal and expert mode (no re-read of the
- print
- queues).
- - Prepared for working with pre-compiled Foomatic PPDs.
-
-2003/01/31 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: beta 3 logo
-
-2003/01/31 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm, diskdrake/resize_ntfs.pm: create
- diskdrake::resize_ntfs to factorize code
-
- * install_interactive.pm: add ntfs resize to the wizard
-
- * install_any.pm: fix typo
-
- * install_gtk.pm: graphical layout change
-
-2003/01/30 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: fixed progress bar
- too small.
- new image for floppy for 9.1
-
- * share/list: added pango-hebrew-xft.so for hebrew to be displayed
- (chmouel)
-
-2003/01/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tg.po: Added Tajiki file
-
- * share/po/cy.po: converted Welsh file to UTF-8
-
- * share/po/nl.po: updated Dutch file
-
-2003/01/30 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm: drop $o->{lnx4win} handling
- add isFat_or_NTFS() and use it where possible instead of isFat() since
- Windows
- is now using ntfs, not only Windows NT
-
- * install2.pm: drop $o->{lnx4win} handling
-
- * mdk-stage1/Makefile: remove other.img & usb.img, add hd_usb.img &
- network_gigabit_usb.img
-
- * Xconfig/xfree.pm (merge_values): allow get_monitors to work when xfree3
- is missing
-
- * interactive.pm (helper_separator_tree_to_tree): this new function helps
- transforming a
- flag {list} to a tree, using {separator}
-
- * interactive/newt.pm: perl_checker small fixes
- basic treelist handling (it leaks memory, but who cares, compared to gtk
- :)
-
- * any.pm, bootloader.pm, install_steps_interactive.pm,
- diskdrake/hd_gtk.pm, fsedit.pm, install_any.pm, partition_table.pm: add
- isFat_or_NTFS() and use it where possible instead of isFat() since
- Windows
- is now using ntfs, not only Windows NT
-
- * network/network.pm, network/ethernet.pm, install_steps_auto_install.pm,
- network/netconnect.pm, modules.pm: adapt to new category network/gigabit
- (which used to be in network/main)
-
- * Newt/Newt.xs: basic treelist handling (it leaks memory, but who cares,
- compared to gtk :)
-
-2003/01/30 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - Conservation of option settings also for queues with PostScript PPD
- files
- or when switching between PostScript PPD file and Foomatic.
- - Fixed tree structure of main window in expert mode.
- - Several smaller bug fixes.
- - Display options devided in the groups defined in the PPD file.
- - For Foomatic PPDs the options in the "General" group are shown by
- default
- the rest when clicking "Advanced". When there ar no groups, the
- decision
- is done by a table of most commonly used option names.
- - Sort the displayed options of a queue with a non-Foomatic PPD file
- by the
- importance of the options.
- - Do not sort the values of an option, they are already conveniently
- sorted
- in the PPD files.
- - Removed some unnecessary re-reads of the printer option information.
- - Several fixes to run smoothly with Foomatic 2.9.x.
-
- * printer/data.pm:
- - Conservation of option settings also for queues with PostScript PPD
- files
- or when switching between PostScript PPD file and Foomatic.
- - Fixed tree structure of main window in expert mode.
- - Several smaller bug fixes.
-
-2003/01/30 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/harddrake2: translate topics (aka hw class names) in
- harddrake gui
-
- * drakxtools.spec: 9.1-0.19mdk
-
- * harddrake/data.pm: translate topics (aka hw class names) in harddrake
- gui
- - cosmetic fix for "drakconnect does not detect nvnet part of nvforce2
- chips"
- hint: their class is MEMORY_RAM :-( ...
- - btw, simplify unknown devices detection (merging tests regarding
- driver and
- media type)
- - move nforce system controllers in bridge class (which is renamed
- "bridges and
- system controllers" aka where we put stuff we've nothing to configure
- but we
- don't want to put them in controller so that users are not afraid) but
- nvnet
-
- * standalone/logdrake: on second thoughts, this is just simpler
- - perl_checker fixes
- - fix non embedded case :-(
-
-2003/01/30 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (helper_separator_tree_to_tree): this new function helps
- transforming a
- flag {list} to a tree, using {separator}
-
- * Newt/Newt.xs, interactive/newt.pm: basic treelist handling (it leaks
- memory, but who cares, compared to gtk :)
-
-2003/01/29 François Pons <fpons@mandrakesoft.com>
-
- * standalone/drakpxe: fixed perl_checker
-
- * network/netconnect.pm: fixed some perl_checker
-
-2003/01/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/pt.po: updated Portuguese and Danish files
-
- * keyboard.pm, lang.pm: switched some languages to UTF-8 (they use ascii
- only, so it shouldn't
- be noticed); changed a keyboard name to match name used by XFree86
-
-2003/01/29 Pixel <pixel@mandrakesoft.com>
-
- * share/list: ntfsresize feature added (not tested!)
-
- * detect_devices.pm, raid.pm: software raid (mdX) can go up to md31
-
- * diskdrake/hd_gtk.pm: don't set $::main_window during install
-
- * diskdrake/interactive.pm: fix various resize pbs:
- - write partition table *before* resizing when partition is enlarged
- - debug ntfsresize
- dumpe2fs call cleanup
- ntfsresize feature added (not tested!)
-
- * fsedit.pm: handle mdX where X >= 10 (it should fix bug #1129)
-
-2003/01/29 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - Automatic non-interactive installation of local print queues.
- - Standard and advanced options selected by option groups in PPD.
- - Fixed bug of "CUPS + GIMP-Print" drivers being preferred against
- "Foomatic + gimp-print" drivers in beginners mode.
- - Foomatic package installation adapted to Foomatic 2.9.x.
-
-2003/01/29 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/logdrake: logdrake is a special case as for embedding in mcc
- since it can be embedded
- twice: one as explanation viewer and one a log search tool.
- so we must handly ask mcc to display us ...
-
- * detect_devices.pm (getIDE) don't provide information when we don't have
- it (vendor, description)
- (getModem) it always return an empy hash, thus confusing harddrake
-
- * harddrake/data.pm: fix doble detection of pci modems
- restore cd/dvd burners detection
-
- * standalone/harddrake2: print badly managed devices' drivers in red
-
-2003/01/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive/gtk.pm: fixes unresponsive keyboard
-
-2003/01/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po, share/po/DrakX.pot: updated Portuguese file
-
- * share/po/fi.po, share/po/he.po: updated Finnish and Hebrew files
-
-2003/01/28 Pixel <pixel@mandrakesoft.com>
-
- * Newt/Newt.xs, interactive/newt.pm: cleanup use of flags
- simplify API (always -1,-1 for left,top when creating widget, it means
- auto-placement)
-
- * any.pm: log configured dvds for better post-debugging
-
- * diskdrake/interactive.pm: for resize2fs, don't multiply by 512 *then*
- divide by $block_size, better
- divide by ($block_size / 512)
-
-2003/01/28 Till Kamppeter <till@mandrakesoft.com>
-
- * share/rpmsrate: Take into account the new splitting of the Foomatic
- packages.
-
- * printer/main.pm, printer/printerdrake.pm: More stuff for non-interactive
- printer configuration:
- - Added find_new_printer() function to find local printers which are
- not
- configured yet
- - Fixed Titi's bugs which messed up list of auto-detected printers
- - Corrected text in the dialog for changing the printer connection
- type
- (for local printer connections).
- - Allow switching to expert mode during installation (the installation
- has
- no global expert mode any more.
-
-2003/01/28 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone.pm: s/version name/version number/ (Christophe Combelles)
- typo fix in logdrake usage help (spoted by Christophe Combelles)
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/nl.po, share/po/it.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/lv.po,
- share/po/cs.po, share/po/bg.po, share/po/el.po, share/po/hu.po: typo fix
- in logdrake usage help (spoted by Christophe Combelles)
-
- * interactive.pm, ugtk2.pm, ugtk.pm, interactive/gtk.pm, common.pm:
- cleaning the utf8 support stuff:
- - consolidate check_for_xserver() to check for x11 access
- - introduce prepare_gtk2() to do what gtk+2 needs, so that
- tools that're not part of drakxtools (aka: rpmdrake, mcc, ...) can
- just do :
-
- unshift @::textdomains, 'drakconf'; prepare_gtk2();
-
- * harddrake/TODO: update
-
- * drakxtools.spec: 9.1-0.17mdk
-
-2003/01/27 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * standalone/drakfont:
- - progress bars works
- - change sucky About box
- - wipeout commented code
- - remove ugly borders when embedded
-
-2003/01/27 florin
-
- * standalone/drakgw: typo rename, not renamef
-
-2003/01/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mouse.pm: fix missing pointer_ungrab so that after testing mouse during
- install we can move the mouse pointer everywhere
-
- * interactive/gtk.pm: since return values of callbacks are now
- non-ignored, we need to
- return 0 to the expose_event when displaying wait message so that
- gdk really does the exposure :)
-
-2003/01/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated po file
-
-2003/01/27 Pixel <pixel@mandrakesoft.com>
-
- * interactive/newt.pm: don't blindly truncate strings to size 40 in
- simplify_string
-
-2003/01/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm: Adapted printerdrake to
- Foomatic 2.9.x, bug fix for use of native PPDs in recommended mode, bug
- fixes in association between detected printers and existing queues.
-
-2003/01/27 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * modules.pm: fix latest source of "unlisted modules" in draksound:
- modules::get_alias() was able to give "module " instead of only "module"
- beacause modules::read_conf() split the line on space with a maximum of
- 3
- splited elements.
- i choose to strip terminal spaces and btw terminal comments.
- i did not choose to do not put a limit to split since it's usefull for
- some
- cases.
-
- * standalone/drakbug: force drakbug to be runnable in strict mode
-
- * drakxtools.spec: 9.1-0.16mdk
- 9.1-0.15mdk
- reput back perl-gtk-0.7 dependancy because of drakfloppy and
- net_monitor
-
- * standalone/drakxtv: this patch enable doc team to take snapshot of
- drakxtv even if they do not
- have any card:
- - running "/usr/sbin/drakxtv" will enable to take snapshot of error
- message
- when xawtv wasn't installed by the drakx installer
- - running "/usr/sbin/drakxtv --testing" will emulate a fake dummy tv
- card
- so that one is able to take snapshots of configuring a tv card
-
- * Makefile: roll back (mcc!=gi)
- remove warnings in package
-
- * standalone/draksec: it's useless to import %security::help::help since
- it's already
- exported by our
-
- * ugtk2.pm: remove debugging statement
- let mcc pack tables behave smoother, so that all columns of mcc tables
- behave
- like last column of drakx's pack tables
- don't sent USR2 to mcc for logdrake;
- logdrake is handled differently since it's a special case.
- else on first execution of an embedded app, we take two USR2 (one from
- the
- embedded app and one from logdrake, which is bad)
-
- * standalone/drakfloppy, interactive.pm, standalone/net_monitor: strip
- authentification out of interactive->vnew into common.pm
- This enable apps that still use gtk+-1.2 via my_gtk to still work when
- they only need interactive->vnew('su') just to get root capabilities.
- Indeed, interactive load ugtk if it has access to the X server, which
- make my_gtk and ugtk fight for the cpu forever... which is bad imho...
- drakfloppy and net_monitor were converted to use it and are now usuable
- again
- ("i leave ... again" commit).
-
- it would also enable to complete spec 64 by enabling rpmdrake
- to use kdesu under kde and consolehelper under gnome.
- rpmdrake is indeed the last program to not behave like
- the running desktop to get root capability.
-
- unless someone is against this, i'll convert the mcc and all other gtk+
- pure
- tools to do not use anymore interactive just to get root capability.
-
-
- btw, i fixed the infamous SECTOR_SIZE warning...
-
- * diskdrake/hd_gtk.pm, interactive/gtk.pm: diskdrake: when non embedded,
- ensure sub window are modal
- all other drakx tool can be fixed the same way
-
- * share/po/Makefile: since fpons don't care about fixing drakxtools build
- broken by
- drakpxe, let remove drakpxe from translatable files
-
- * standalone/logdrake: cosmetic fix for embedded mode:
- don't display "wait while parsing" window when embedded
- fix logdrake behaviour in mcc where logdrake would only log
- the first process.
- another (rare indeed) case of a bug introduced because perl_checker
- wanted us to localize a file handle :-(
-
- * common.pm (require_root_capability): having extracted it from
- interactive enable
- to further simplify it
- strip authentification out of interactive->vnew into common.pm
- This enable apps that still use gtk+-1.2 via my_gtk to still work when
- they only need interactive->vnew('su') just to get root capabilities.
- Indeed, interactive load ugtk if it has access to the X server, which
- make my_gtk and ugtk fight for the cpu forever... which is bad imho...
- drakfloppy and net_monitor were converted to use it and are now usuable
- again
- ("i leave ... again" commit).
-
- it would also enable to complete spec 64 by enabling rpmdrake
- to use kdesu under kde and consolehelper under gnome.
- rpmdrake is indeed the last program to not behave like
- the running desktop to get root capability.
-
- unless someone is against this, i'll convert the mcc and all other gtk+
- pure
- tools to do not use anymore interactive just to get root capability.
-
-
- btw, i fixed the infamous SECTOR_SIZE warning...
-
- * standalone/harddrake2: make interactive help window be modal, aka
- transcient for main ugtk2
- window
- perl_checker fix
- use new help system
-
- * network/netconnect.pm: let drakconnect be less verbose: aka explain
- rename of old configuration files
- if that had been already done
-
- * standalone/drakhelp:
- - strict mode
- - we need at least 1 argument, and only one
-
-2003/01/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/zh_CN.po: updated Spanish and Chinese files
-
- * share/po/et.po: updated Estonian file
-
-2003/01/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sq.po: updated po file
-
-2003/01/24 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm (ask_browse_tree_info): better look when embedded in a smaller
- window
-
-2003/01/24 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * detect_devices.pm: get back serial modem detection
-
- * drakxtools.spec: new version
-
- * network/network.pm: fix typo
-
-2003/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive/gtk.pm: remove unused variable
- fix Return key on a radio button grabbing focus on next functional group
- of widgets AND doing an action on it (toggling checkbuttons etc) (needs
- perl-GTK2 >= 0.0.cvs.2003.01.24.1)
-
- * mouse.pm: remove blinks in mouse test
-
-2003/01/24 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_list, ask_from_list_, ...): option nocancel
- added
- (ask_yesorno): no "Cancel" or "Previous" button
-
- * install_any.pm, install_steps_interactive.pm: fix "Previous" button in
- warnAboutNaughtyServers, so there is 3 choices
- (Previous, unselect servers, accept :)
-
- * install_steps_gtk.pm, mouse.pm:
- - don't setMouseLive when the protocol hasn't changed
- - don't say "MOVE YOUR WHEEL" when there is no wheel and the protocol
- hasn't changed
- (nb: no wheel + IMPS/2 can now happen for usb mice)
-
-2003/01/24 alus
-
- * share/po/pl.po: done
-
-2003/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * common.pm, c/stuff.xs.pl, interactive.pm, lang.pm: fix non latin1
- post-install perl-gtk2 apps, seems like perl upgrading strings to utf8
- is somewhat broken (dunno why), so now we bind the codeset or our
- textdomains to utf8 and tag the translated strings to utf8, when using
- gtk
-
- * mouse.pm: remove blinks in mouse test
-
-2003/01/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/sq.po, share/po/it.po, share/po/nl.po,
- share/po/eu.po, share/po/es.po, share/po/de.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: updated pot file (English proofreading)
-
- * standalone/draksplash, standalone/logdrake, standalone/draksec,
- share/compssUsers.desktop, standalone/harddrake2,
- standalone/net_monitor, standalone/mousedrake, standalone/drakperm,
- standalone/scannerdrake: English proofreading
-
- * share/po/et.po: updated Estonian file
- updated pot file (English proofreading)
-
-2003/01/24 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm:
- - don't setMouseLive when the protocol hasn't changed
- - don't say "MOVE YOUR WHEEL" when there is no wheel and the protocol
- hasn't changed
- (nb: no wheel + IMPS/2 can now happen for usb mice)
- - switch "<= 3 buttons usb mice" from X protocol PS/2 to IMPS/2 (it
- works
- nicely, and redhat do so)
- - default usb mice to USB|Wheel instead of USB|Generic, since most
- (all?) usb
- mice have a wheel
- (i tested on 1 button mac mouse, it works nicely with ZAxisMapping and
- IMPS/2)
-
- * interactive.pm (ask_from_list, ask_from_list_, ...): option nocancel
- added
- (ask_yesorno): no "Cancel" or "Previous" button
-
- * install_any.pm, install_steps_interactive.pm: fix "Previous" button in
- warnAboutNaughtyServers, so there is 3 choices
- (Previous, unselect servers, accept :)
-
- * install_steps_gtk.pm:
- - don't setMouseLive when the protocol hasn't changed
- - don't say "MOVE YOUR WHEEL" when there is no wheel and the protocol
- hasn't changed
- (nb: no wheel + IMPS/2 can now happen for usb mice)
-
-2003/01/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: fixed some (locally used) charset names
-
- * share/po/et.po: updated Estonian file
-
-2003/01/23 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/main.pm (configure_chooser_raw): no special case for "Next"
- button
-
- * install_steps_interactive.pm (formatMountPartitions): help perl
- (otherwise wait_message stays forever in newt)
-
- * interactive/newt.pm: fix special case "for license agreement": only use
- it for long messages, and fix {format} use
- add a button to "summary"-like dialog boxes
-
-2003/01/23 alus
-
- * share/po/pl.po: updated
-
-2003/01/23 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm, network/ethernet.pm:
- - perl_checker compliant
- - s/$pump/$auto_ip/
- - use join('', if_(..), if_(..))
- - each_index instead of for
- - various fixes
-
- * network/netconnect.pm, network/modem.pm, network/isdn.pm,
- network/adsl.pm: isdn.pm now in use strict
- little cleanup
-
-2003/01/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po: updated Estonian file
-
- * share/po/ko.po: Changes asked by HP people to Korean translation
-
-2003/01/23 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/main.pm (configure_chooser_raw): no special case for "Next"
- button
-
- * common.pm: better fix of ->isa use
- remove use of UNIVERSAL::isa() (it is not much more complex with ref +
- ->isa, and UNIVERSAL::isa() would need a special case in perl_checker)
-
- * keyboard.pm (read): fix return value when no configured keyboard is
- found
-
- * diskdrake/interactive.pm: fix diskdrake in newt (causing error about
- missing method ->cylinder_size)
-
- * Xconfig/xfree3.pm, Xconfig/xfreeX.pm, Xconfig/xfree4.pm: introduce
- ->is_fbdev, and use it to simplify ->set_resolution
-
- * install_any.pm (getHds): do not handle missing harddrives by calling
- setupSCSI, since
- setupSCSI do it by itself now
-
- * interactive/newt.pm: fix special case "for license agreement": only use
- it for long messages, and fix {format} use
- add a button to "summary"-like dialog boxes
- - handle {ok_disabled}
- - correctly wrap messages
- - fix Textbox size
- - fix Listbox size
- - special code to handle the license dialog
-
- * Xconfig/various.pm (to_string): created, try to shortly describe current
- configuration
- (configure_FB_TVOUT): don't do anything when not using XF4
-
- * interactive/gtk.pm: focus first widget when there is no ok
-
- * Xconfig/xfree.pm (is_fbdev): created
- (get_both, set_both): skip modifications on missing xfree3 or xfree4
-
- * install_steps_interactive.pm (formatMountPartitions): help perl
- (otherwise wait_message stays forever in newt)
- (reallyChooseGroups): remove "Previous" button
- (setupSCSI): remove now unused variable $clicked
- (summary): display more nicely the current X config when fbdev
- (selectLanguage): no need to handle "Cancel" on language choosing :)
- (setupSCSI): handle calling modules::interactive::load_category in
- non-automatic mode when no harddrives are found
-
- * modules/interactive.pm (load_category__prompt_for_more): cleanup,
- propose "See hardware info" in any case
-
- * network/network.pm: pixelification
-
-2003/01/23 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: fix perl-GTK2 dependancy
- 9.1-0.13mdk
-
- * standalone/drakpxe: perl_checker fix
-
- * network/ethernet.pm:
- - force use strict
- - perl_checker fix
-
- * network/isdn.pm: force strict pragma
- force strict mode
-
- * interactive/gtk.pm: workaround bug introduced by new pixel focus
- managment
-
- * standalone/service_harddrake: perl_checker fix
- reconfigure sound slots at boot time (we should enhance slot filling
- by keeping existent module affectation, aka keep user choice if his
- module for slot X is not the default one)
-
- * network/netconnect.pm, network/tools.pm, network/shorewall.pm,
- network/network.pm, network/modem.pm: force strict mode
-
-2003/01/22 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm:
- - speedtouch fixes :
- o binaries location from /usr/bin to /usr/sbin
- o clean previous instance of pppoa3 according to modem id (-c)
- (special thanks to Corsikas who proudly brings this patch to me :)
-
-2003/01/22 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: perl checker fixes.
-
- * bootloader.pm: fix call to sanitize_ver by giving it linux-$version
- instead of linux$ext.
-
-2003/01/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/stuff.xs.pl, lang.pm: fix accents characters displaying in console
- mode during install:
- - convert translations into utf8 only during install && if using gtk
- - explicitely bind the codeset to the specified locale's encoding
- because
- during install they are reported as utf8
-
- * ugtk2.pm: correctly pop when F2 (screenshots)
- revive F1, F2 and alt-e (dialogs for F1 and F2 are broken, though)
-
- * mdk-stage1/pci-resource/update-pci-ids.pl, mdk-stage1/probing.c: add
- full pci probe support
-
- * mdk-stage1/usb-resource/update-usb-ids.pl: have pci usb controllers
- sorted alphabetically
-
- * common.pm: correctly pop when F2 (screenshots)
- fix accents characters displaying in console mode during install:
- - convert translations into utf8 only during install && if using gtk
- - explicitely bind the codeset to the specified locale's encoding
- because
- during install they are reported as utf8
-
-2003/01/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/lt.po, share/po/he.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/sq.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
- * standalone/draksplash, standalone/drakbackup, standalone/drakfloppy,
- standalone/drakfont, standalone/drakconnect, standalone/drakgw,
- standalone/drakperm: English proofreading
-
- * lang.pm: small changes in charset naming so they work better in console
- (console
- is still not in utf-8)
-
- * share/po/et.po, share/po/fi.po: updated pot file
- updated Finnish and Estonian files
-
-2003/01/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: call "yelp-pregenerate -a" after installing pkgs
- (since it's skipped DURING_INSTALL)
- - remove createBootdisk step
- - add mkbootdisk option in setupBootloader__general()
- - move kernelVersion() from install_any to any
-
- * interactive.pm: add some documentation about the various possible fields
-
- * interactive/gtk.pm: add {callbacks}{ok_disabled}
-
- * network/network.pm: simplify easy_dhcp prototype
-
- * install_steps_interactive.pm (acceptLicense): use new "interactive"
- feature to gray "Next" button until
- license is accepted
- simplify easy_dhcp prototype
- - remove createBootdisk step
- - add mkbootdisk option in setupBootloader__general()
- - move kernelVersion() from install_any to any
-
- * any.pm, install2.pm, install_any.pm, steps.pm:
- - remove createBootdisk step
- - add mkbootdisk option in setupBootloader__general()
- - move kernelVersion() from install_any to any
-
-2003/01/22 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * network/netconnect.pm, network/network.pm, standalone/mousedrake,
- printer/printerdrake.pm, harddrake/TODO, standalone/drakxtv:
- perl_checker fixes
-
- * standalone/drakfont:
- - perl_checker fixes
- - is_a_font(): display the non existant file we just checked for
- instead of an undefined value
- fix progressbar label initialization
-
- * harddrake/sound.pm:
- - if there's no know driver, offer to pick a driver in the drivers
- list in case ldetect-lst isn't up to date but the user know which
- driver to use
- - consolidate "pick any driver" entry
-
-2003/01/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, install_any.pm, install2.pm, steps.pm,
- install_steps_interactive.pm:
- - remove createBootdisk step
- - add mkbootdisk option in setupBootloader__general()
- - move kernelVersion() from install_any to any
-
-2003/01/21 alus
-
- * share/po/pl.po: utf-8 again
- updated again...? And again UTF -> ISO
- back from UTF-8 to ISO-8859-2 ... Why Why Why? It should work from
- UTF-8...
-
-2003/01/21 François Pons <fpons@mandrakesoft.com>
-
- * standalone/drakpxe: latest fixes for having default file correctly
- documented and make sure if
- server boot using dhcp itself, server hostname is given instead of ip
- address.
- add daemons stop/start code.
- update with something that look like running.
-
-2003/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mouse.pm: fix absence of scroll up and scroll down in mouse test
-
- * interactive/gtk.pm, install_steps_gtk.pm: perl-GTK2 0.0.cvs.2003.01.21.1
- should fix set_active(undef) misbehaviour
-
- * ugtk2.pm: seems like gdk_window_foreign_new is leaking as well..
- since gtkset_mousecursor is called by a timeout, don't leak
- memory because it can lead to problems on the long term
-
-2003/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated Vietnamese and Polish files
- English proofreading (first pass)
-
- * network/adsl.pm: English proofreading by Stew Beneditcs
-
- * share/po/sk.po, share/po/DrakX.pot, share/po/zh_CN.po: English
- proofreading (first pass)
- updated Slovak and Chinese files
-
- * network/isdn.pm: English proofreading (first pass)
- English proofreading by Stew Benedicts
-
- * share/po/pl.po: updated Vietnamese and Polish files
-
- * network/network.pm, share/po/gl.po, share/po/pt_BR.po, share/po/th.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/be.po,
- share/advertising/01-thanks.pl, share/po/ko.po, standalone/drakTermServ,
- share/po/sv.po, share/po/sr.po, share/po/fi.po, share/po/he.po,
- share/advertising/05-games.pl, share/po/da.po, share/po/ca.po,
- share/po/ar.po, share/advertising/04-multimedia.pl, share/po/ro.po,
- security/level.pm, share/po/zh_TW.po, share/po/sq.po, share/po/it.po,
- share/po/eu.po, share/po/es.po, share/advertising/07-desktop.pl,
- network/shorewall.pm, network/tools.pm,
- share/advertising/08-development.pl, share/advertising/06-mcc.pl,
- share/po/lv.po, share/po/hu.po, printer/printerdrake.pm, share/po/id.po,
- share/po/ru.po, share/po/br.po, share/po/sl.po, share/po/no.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/uk.po,
- share/advertising/03-internet.pl, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, partition_table/raw.pm, share/po/bs.po, share/po/wa.po,
- share/po/is.po, standalone/drakfont, share/po/af.po, share/po/az.po,
- share/po/pt.po, share/po/ta.po, share/po/fr.po, share/po/nl.po,
- share/po/de.po, share/po/eo.po, share/po/bg.po, share/po/cs.po,
- share/po/el.po: English proofreading (first pass)
-
- * bootlook.pm, install_steps_interactive.pm, network/netconnect.pm,
- network/drakfirewall.pm, standalone/mousedrake,
- diskdrake/interactive.pm, Xconfig/monitor.pm, install_any.pm,
- harddrake/v4l.pm, modules/interactive.pm, any.pm, harddrake/sound.pm,
- services.pm, network/ethernet.pm, bootloader.pm: English proofreading by
- Stew Benedicts
-
-2003/01/21 Pixel <pixel@mandrakesoft.com>
-
- * steps.pm: on error in acceptLicense, go back to selectLanguage (ie.
- handle "Previous ->" correctly)
-
- * Xconfig/various.pm, Xconfig/card.pm: have Xfree version at only one
- place
- (nb: it would be better to parse available package and get version from
- it.)
-
- * install_interactive.pm: remove or fix some "Previous"
-
- * help.pm: "license" is now step "acceptLicense"
-
- * interactive.pm: when the return value of ask_from_ and ask_from is not
- used, do not have a
- "Previous ->" or "Cancel" button (beware, black magic here :)
-
- * interactive/gtk.pm: remove unused variable
- (ask_fromW): very smart code to know which widget to focus (dilemna is:
- "Next" vs first widget). One can also force focusing of first widget
- using $common->{focus_first}
- (ask_fromW): have "advanced" widgets above buttons, not below
- (create_list): fix old bug (nb: this code must be unused)
- (create_boxradio): need to set {focus_w} to the selected widget (nb:
- this is ugly)
- (create_boxradio, $may_go_to_next): no special case for "tab", gtk2
- handles things better than gtk1
- ($set_all): pass the full_struct to the setters (this allows modifying
- {focus_w}) (nb: this is ugly)
-
- * install_gtk.pm: enlarge "steps" window a little
- small enhancement to know which step is currently done
-
- * ugtk2.pm: enlarge "steps" window a little
- (create_okcancel): rework to prepare next move, "Next" and "Previous" on
- the left, and @other buttons on the right
- (create_hbox): do handle the layout parameter
-
- * install_steps_interactive.pm: replace "Next" button with "Reboot" at
- exitInstall step
- remove or fix some "Previous"
- (acceptLicense): handle "Previous ->" correctly, and simplify code
- (esp. don't set useless_thing_accepted)
-
- * any.pm (setupBootloader__mbr_or_not): add ability to skip and to put on
- floppy
- rework autologin dialog box
- (selectLanguage): no "Previous ->" during install
-
- * diskdrake/interactive.pm (Mount_point): use uniq() on suggested mount
- points (otherwise the suggested mount point appears twice) (fixes bug
- #954)
-
- * install2.pm: don't prompt for license when useless_thing_accepted
- (this used to be done in install_steps_interactive::acceptLicense)
-
- * install_steps_gtk.pm: workaround set_active on Gtk2::CheckButton widgets
- thinking undef is true :-(
- (hopefully, gc will fix perl-GTK2!)
- replace some "Ok" with "Next ->"
-
- * Xconfig/main.pm: replace some "Ok" with "Next ->"
-
-2003/01/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm, printer/printerdrake.pm:
- - Support for manufacturer-supplied PostScript PPDs also in
- recommended
- mode.
- - If "Foomatic + Postscript" is recommended driver for a printer and a
- manufacturer-supplied PPD file exists for it, the PPD file gets the
- recommended driver.
- - Tried to extract IEEE-1284 auto-detection info from the PPD files
- but
- this takes too long time (40 sec for 800 PPDs).
- - Fixed long-standing bug in activation of auto-load of the USB
- "printer"
- kernel module.
-
-2003/01/21 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/TODO: update
-
- * share/po/fr.po: update french translation
-
- * harddrake/sound.pm: handle proprietary drivers
- if there's no alternative driver or if the current setting does not
- please the user, let he pick any driver among multimedia/sound modules
- category
-
-2003/01/20 alus
-
- * share/po/pl.po: updated
-
-2003/01/20 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm: little cleanup
-
- * network/network.pm: void label removed
- - zero conf is avaible in drakconnect, with/without dhcp
- - install tmdns and zcip packages when needed
-
- * network/tools.pm: get username back in menu
-
- * network/ethernet.pm:
- - zero conf is avaible in drakconnect, with/without dhcp
- - install tmdns and zcip packages when needed
-
-2003/01/20 François Pons <fpons@mandrakesoft.com>
-
- * standalone/drakpxe: initial revision with translation message.
-
- * Makefile.config: added drakpxe
-
-2003/01/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * Xconfig/test.pm: use gtk rather than qiv to display the background tile
- in X test
- fix Gtk2 port
-
-2003/01/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/fi.po, share/po/sp.po, share/po/tr.po: updated
- Finnish, Serbian and Turkish files
-
- * share/po/et.po: updated Estonian file
-
- * keyboard.pm: small keyboard name change
-
- * share/po/es.po, share/po/ar.po: updated Spanish and Arabic files
-
-2003/01/20 Till Kamppeter <till@mandrakesoft.com>
-
- * share/rpmsrate: Make flphoto getting onto the CDs.
-
- * printer/main.pm: Improved printer/driver list entries for PostScript PPD
- files.
- Improve association of printers with database entries (preparation for
- non-interactive print queue generation):
- - Make use of device ID strings in the Foomatic database
- - Association of generic printers when PDL (PCL, PCL-XL, PostScript)
- could
- be auto-detected
- - Cleaned up entries from manufacturer-supplied PPDs for PostScript
- printers to try to match model names of Foomatic entries
- - Bug fixes on previous association mechanism
-
- * detect_devices.pm, printer/printerdrake.pm: Improve association of
- printers with database entries (preparation for
- non-interactive print queue generation):
- - Make use of device ID strings in the Foomatic database
- - Association of generic printers when PDL (PCL, PCL-XL, PostScript)
- could
- be auto-detected
- - Cleaned up entries from manufacturer-supplied PPDs for PostScript
- printers to try to match model names of Foomatic entries
- - Bug fixes on previous association mechanism
-
-2003/01/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: make all chkconfig calls be chrooted
-
- * services.pm: fix prefix usage
-
- * mouse.pm: fix gtk+-2 port
-
- * standalone/draksec: use new help scheme just added to msec (this *does*
- need a newer msec
- package!!)
-
- * standalone.pm: fix breakage introduced when lowering warning level
-
-2003/01/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/sq.po: updated Danish and Albanian files
-
-2003/01/18 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/mapping, tools/ppc/magic: Update magic, mapping files for PPC
- from Christian Walther
-
-2003/01/17 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm, network/ethernet.pm:
- - some changes to dhcp behavior for beta2 (not clean yet)
-
- * drakxtools.spec: 0.12mdk
-
-2003/01/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ru.po: updated po file
-
- * share/po/it.po: updated Italian file
-
-2003/01/17 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: do not remove mdk_10.pcf in the ramdisk
- (or handle it in lang.pm since it seems to be needed for greek display)
-
-2003/01/17 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm: airport support for ppc
-
-2003/01/17 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: add some applications on club voting
-
-2003/01/16 alus
-
- * share/po/pl.po: updated
-
-2003/01/16 Daouda Lo <daouda@mandrakesoft.com>
-
- * Makefile.drakxtools:
- - drakhelp moved to /usr/bin/
-
- * standalone/drakhelp:
- - checker
- - support gnome help
- - warn if documentation is not installed
- - syntax : drakhelp relative_link
- example: drakhelp Quick_Startup.html/drakx.html
- - drakhelp will check the running wm and will launch kdehelpcenter
- with the correct URL after localizing the link.
- Otherwise, it launch a default browser: mozilla konqueror or galeon.
-
- * standalone.pm:
- - remove help callback (moved into drakhelp)
-
- * Makefile.config:
- - add drakhelp
-
-2003/01/16 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm:
- - fix /etc/hosts localhost.localdomain in localhost
-
-2003/01/16 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed not to ask group instead of
- individual package selection.
-
-2003/01/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm, lang.pm: Added some more English locales; and changed all
- locale names using xx
- notation to xx_YY notation (so it's easier to just append a ".UTF-8" in
- case we provide a way to let the user choose if he wants UTF-8 or not)
-
-2003/01/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: workaround ref count perl bug
-
- * share/step-orange-click.xpm, share/step-red-on.xpm,
- share/step-orange.xpm, share/step-red-click.xpm,
- share/step-green-on.xpm, install2.pm, share/step-green.xpm,
- install_steps.pm, install_gtk.pm, share/step-green-click.xpm,
- share/step-red.xpm, install_steps_interactive.pm, steps.pm,
- share/step-orange-on.xpm: new steps window layout
-
-2003/01/16 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/harddrake2, services.pm: fix embedding
-
-2003/01/16 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone.pm:
- - remove help callback (moved into drakhelp)
-
- * standalone/drakhelp:
- - syntax : drakhelp relative_link
- example: drakhelp Quick_Startup.html/drakx.html
- - drakhelp will check the running wm and will launch kdehelpcenter
- with the correct URL after localizing the link.
- Otherwise, it launch a default browser: mozilla konqueror or galeon.
-
- * Makefile.config:
- - add drakhelp
-
-2003/01/16 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: do not propose individual package on
- upgrade.
-
- * install_steps.pm: fixed test of alternatives always seen as broken.
-
-2003/01/16 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add coreutils-doc by default
- add hdparm in default install (esp. per cooker request)
-
- * install_steps_interactive.pm: new steps window layout
- ask security level in every install
- hopefully last titi's bug on getSoundDevices :-(
-
- * share/po/Makefile: don't yell when checking for "$" in DrakX.pot and
- only finding "\$"
-
- * steps.pm: new steps window layout
- ask security level in every install
-
- * security/level.pm, standalone/drakconnect, network/netconnect.pm,
- standalone/drakperm, standalone/net_monitor, detect_devices.pm,
- network/tools.pm: replace occurences of "$foo ? $foo : $bar" with "$foo
- || $bar"
-
- * standalone/service_harddrake, standalone.pm: make perl_checker happy
-
- * network/network.pm: replace occurences of "$foo ? $foo : $bar" with
- "$foo || $bar"
- have dhcp-client the default dhcp client
-
- * share/step-orange-click.xpm, share/step-red-on.xpm,
- share/step-orange.xpm, share/step-green-on.xpm, share/step-green.xpm,
- install_steps.pm, install_gtk.pm, share/step-green-click.xpm,
- share/step-orange-on.xpm, share/step-red-click.xpm, install2.pm,
- share/step-red.xpm: new steps window layout
-
- * install_steps_auto_install.pm: configureNetwork step must be non-auto
- otherwise only
- install_steps::configureNetwork is called
-
-2003/01/16 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakbug, bootlook.pm, log.pm, standalone.pm,
- standalone/draksec, standalone/drakTermServ, harddrake/v4l.pm,
- standalone/drakxtv, standalone/drakgw, harddrake/TODO: "je n'en veux +
- de cette engeance" (c) pixel :
- make explanations provided by log and not anymore by standalone,
- thus preventing using standalone in drakx (which is bad)
-
- * standalone/service_harddrake, standalone/drakautoinst: perl_checker
- fixes
- "je n'en veux + de cette engeance" (c) pixel :
- make explanations provided by log and not anymore by standalone,
- thus preventing using standalone in drakx (which is bad)
-
- * drakxtools.spec: require an recent enought MDK::Common
-
- * harddrake/sound.pm: "je n'en veux + de cette engeance" (c) pixel :
- make explanations provided by log and not anymore by standalone,
- thus preventing using standalone in drakx (which is bad)
- happy drakx
- move "require standalone" where needed
- fix sound configuration while installing
-
-2003/01/16 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: beta 2
-
- * share/rpmsrate: move gnucash up on mandrakeclub demand
-
-2003/01/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix typo
- (selectInstallClass): display mandrake release version when listing the
- choices of partitions to upgrade
-
- * install_steps.pm: adapt to install_any::find_root_parts() return value
- changes
-
- * install_any.pm (find_root_parts):
- - do not use guess_mount_point() anymore
- - check /etc/mandrake-release instead of /etc/fstab
- - return a list of { release => "Mandrake Linux release X.X (XXXX)",
- part => ... }
- instead of a list of parts
-
- * harddrake/sound.pm: do not "use standalone" in a module used during
- install!
-
-2003/01/16 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: don't yell when checking for "$" in DrakX.pot and
- only finding "\$"
-
- * install_steps_interactive.pm: hopefully last titi's bug on
- getSoundDevices :-(
-
-2003/01/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix typo
- (selectInstallClass): display mandrake release version when listing the
- choices of partitions to upgrade
-
- * install_steps.pm: adapt to install_any::find_root_parts() return value
- changes
-
- * install_any.pm (find_root_parts):
- - do not use guess_mount_point() anymore
- - check /etc/mandrake-release instead of /etc/fstab
- - return a list of { release => "Mandrake Linux release X.X (XXXX)",
- part => ... }
- instead of a list of parts
-
- * harddrake/sound.pm: do not "use standalone" in a module used during
- install!
-
-2003/01/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/he.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/sq.po, share/po/it.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/nl.po: updated pot file
- fixed encoding problem
- updated Dutch file
-
- * lang.pm: Added "Amharic" in the languages list, so it can be choosed and
- its
- translations can get installed from the rpm packages
-
-2003/01/15 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (suggest_onmbr): log the choice
-
- * patch/patch-9.0-auto-inst-network-config.pl: fix for network module
- probe & configuration in interactive auto_install
-
- * install_steps.pm: adapt to install_any::find_root_parts() return value
- changes
-
- * install_steps_interactive.pm (selectInstallClass): display mandrake
- release version when listing the choices of partitions to upgrade
-
- * install_any.pm (find_root_parts):
- - do not use guess_mount_point() anymore
- - check /etc/mandrake-release instead of /etc/fstab
- - return a list of { release => "Mandrake Linux release X.X (XXXX)",
- part => ... }
- instead of a list of parts
-
- * install_steps_auto_install.pm: move
- install_steps_auto_install_non_interactive::configureNetwork() to
- install_steps_auto_install::configureNetwork() as it should be
- (thanks to Luc Bourdot)
-
- * harddrake/sound.pm: do not "use standalone" in a module used during
- install!
-
-2003/01/15 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: snd-sscape does not exist
- - factorize snd devices listing in detect_devices::getSoundDevices()
- so that each caller is ppc aware
- - factorize sound slots configuration into
- harddrake::sound::configure_sound_slots() so that harddrake service
- will eventually set them at bootstrapping time
-
- * standalone/drakproxy: drakproxy need common for getVarsFromSh()
-
- * detect_devices.pm, install2.pm, install_steps_interactive.pm:
- - factorize snd devices listing in detect_devices::getSoundDevices()
- so that each caller is ppc aware
- - factorize sound slots configuration into
- harddrake::sound::configure_sound_slots() so that harddrake service
- will eventually set them at bootstrapping time
-
- * standalone/harddrake2: add an option to skip jazz drives detection
-
-2003/01/14 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list: /usr/share/magic has moved to /usr/share/misc/magic
-
- * any.pm: ensure cancel on setupBootloader__mbr_or_not do cancel
-
- * modules.pm: changes to have less "Use of uninitialized value"
-
- * printer/printerdrake.pm: please perl_checker
-
- * share/list: unicore/To/Fold.pl is necessary to fix "panic: swash_fetch"
- error occuring in
- a regexp with /i on ->{device} (fixes bug #799)
-
- * install2.pm: don't probe mouse when testing (startup is now much faster)
- remove the ugly temporary fix for fontconfig
- remove duplicate code
- don't automatically configure network on upgrade, now only done when
- called via summary
-
- * sbus_probing/main.pm: fix bug & cleanup (to have less warning in debug
- mode)
-
- * interactive/gtk.pm: set_active on Gtk2::CheckButton is pretty dumb, it
- thinks undef is true ;p
-
-2003/01/14 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/data.pm, printer/printerdrake.pm: Removed bugs from Titi which
- prevented printerdrake from installing the requested spooler.
-
-2003/01/14 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakfont: fix font_choice()
-
- * harddrake/check_snd.pl: add harddrake::sound checker
-
-2003/01/14 Pixel <pixel@mandrakesoft.com>
-
- * share/list: unicore/To/Fold.pl is necessary to fix "panic: swash_fetch"
- error occuring in
- a regexp with /i on ->{device} (fixes bug #799)
-
- * install2.pm: don't automatically configure network on upgrade, now only
- done when called via summary
-
-2003/01/14 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: add missing sound modules (found by check_snd in
- comparing
- harddrake::sound vs list_modules). we only left audio and bttv...
- add a "trouble shooting" window
-
- * harddrake/check_snd.pl: add harddrake::sound checker
-
- * standalone/drakfont: fix font_choice()
-
-2003/01/13 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm: don't say "You must have a swap partition"
- (since it's after using diskdrake which is for experts)
-
-2003/01/13 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/detect.pm: New CUPS printer sharing configuration dialog.
- Reverted broken printer::main::set_usermode() to version of Mandrake
- 9.0.
-
- * printer/main.pm: Avoid unnecessary restarts of the CUPS daemon.
- New CUPS printer sharing configuration dialog.
- Reverted broken printer::main::set_usermode() to version of Mandrake
- 9.0.
-
- * printer/printerdrake.pm: Avoid unnecessary restarts of the CUPS daemon.
- Removed debug helper line.
- New CUPS printer sharing configuration dialog.
- Reverted broken printer::main::set_usermode() to version of Mandrake
- 9.0.
-
-2003/01/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer/data.pm: remove old bug reference
-
- * share/po/fr.po: typo fix
-
- * printer/main.pm: make get_descr_from_ppd() clearer by :
- - using cat_() instead of manual open or ...
- - using "$var = s/$regexp//" instead of
- "var=/regexp\(...\)/; var=$1;"
- simplify set_cups_autoconf()
- add_spooler_to_security_level(), configure_queue()
- and config_sane() :
- factorize common code, aka resuse MDK::Common
-
- * harddrake/data.pm: add support for zip drives
-
- * harddrake/TODO: update
-
- * standalone/harddrake2: it's uneeded to force scalar context
- this is not a per class help, but we told the user what
- he can achieve (aka not only on startup)
- listlength() is obviously just "overhead" for arrays
- use diskdrake to configure cdroms, dvroms, cd|dvd -burners,
- floppies and zip drives
-
- * printer/printerdrake.pm: print_testpages() : factorize and simplify
- options managment
- by using an options hash
- setup_local_autoscan():
- - don't reinvent the wheel, reverse is faster
- - remove doble $device initialization in one path
- setup_local_autoscan() : simplify loop of loop
- and optimize away useless $alreadyfound
-
-2003/01/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Albanian and Swedish files
-
-2003/01/12 Pixel <pixel@mandrakesoft.com>
-
- * docs/comparisons: add explained changes in hwdata and kudzu from redhat
- 8.0 to 8.1beta
- add changes between anaconda 8.0 and current
-
- * drakxtools.spec: drakxtools need latest perl-MDK-Common
-
-2003/01/11 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: capitalise win $domain ASAP so that directory
- /home/$domain is created
- capitalised (thanks to Buchan Milne)
-
-2003/01/10 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: do not use supermount by default
- (readBootloaderConfigBeforeInstall): set bootUnsafe to 0 when upgrading
- so
- that it doesn't ask where to install the bootloader (mbr vs boot
- partition)
-
-2003/01/10 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/netconnect.pm:
- - catch wizcancel die
- - fix fucked previous button after configuration completes
- - little cleanup
-
-2003/01/10 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: do not use supermount by default
- (readBootloaderConfigBeforeInstall): set bootUnsafe to 0 when upgrading
- so
- that it doesn't ask where to install the bootloader (mbr vs boot
- partition)
- simplify and factorize
- (now works on 1.upgrade 2.install 3.install + change existing config)
-
- * Xconfig/card.pm: fix priority
-
- * Xconfig/main.pm, standalone/XFdrake, install_steps_interactive.pm:
- simplify and factorize
- (now works on 1.upgrade 2.install 3.install + change existing config)
-
- * fsedit.pm: lvm on / works (dixit Brian J. Murrell)
-
- * install2.pm: fix unused vars
-
-2003/01/09 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: changed interface of detect_devices::install_addons.
-
- * detect_devices.pm: add update-ldetect-lst after install_addons.
-
-2003/01/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fi.po, share/po/sq.po: updated Finnish and Albanian files
-
-2003/01/09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureNetwork): call
- install_steps::configureNetwork()
- - configureNetwork step now only does easy_dhcp()
- - added full network configuration to summary
-
- * network/network.pm (easy_dhcp): don't call network::configureNetwork2
- - fix priority
- - add a log
-
- * install2.pm:
- - configureNetwork step now only does easy_dhcp()
- - added full network configuration to summary
-
- * install_steps_gtk.pm (installPackages): do pop error messages
-
-2003/01/09 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/main.pm: Added cupsd.conf handling functions for a new printer
- sharing configuration dialog.
-
-2003/01/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: fix invalid translation for draksound
-
- * harddrake/sound.pm: there's an oss usb driver too
- - snd-rme9652 is a snd-rme96 sub module
- - fix rme96xx <=> snd-rme96 equivalence
- quite a number of ensoniq cards are managed by sb.o
- - pss is the oss equivalent of alsa ad1848
- - oss ad1848 is not a driver but a sub module
- cmi8330 is handled by sb too
- als100 card is handled by sb oss sound driver
- oss trident driver handle ali5451 too
- - remove doble
- - add a comment noting there's no alsa alternative for oss' ad1889
- driver
- fix "unlisted driver" bug for rme driver
- - add new oss drivers : ad1889, ali5455 and forte
- - mark forte as oss counterpart for alsa snd-fm801 driver
- - mark ice1712 as oss counterpart for alsa snd-ice1712 driver
- - mark ali5455 as one of the oss counterpart for alsa snd-intel8x0
- driver
- - update top commentary
- - snd-via686 and snd-via8233 were merged in via82cxxx_audio
- - don't pollute install ml anymore
-
- * keyboard.pm: make return value name more explicit
- simplify
-
-2003/01/08 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm: added install_addons to install pcitable or usbtable
- addons.
-
- * install2.pm: removed perl_checker warning.
- added install_addons before leaving.
-
- * any.pm: really install the bootloader.
-
-2003/01/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: fix a misc bug in rpmdrake (selecting a pkg doesn't work in
- certain circumstances - seems to be when the treeview doesn't have the
- focus, for exa
- mple after a search) by changing a bit the way we handle
- button_press_event in ask_browse_tree_info
-
-2003/01/08 Pixel <pixel@mandrakesoft.com>
-
- * network/network.pm: pass $::prefix instead of ''
- fix typo
- (easy_dhcp): cleanup
-
- * install2.pm: UGLY TEMPORARY FIX: create an /etc/passwd for fontconfig
-
- * ugtk2.pm: ensure drakx don't need wiz_default_up.png and
- wiz_default_left.png
-
-2003/01/08 Till Kamppeter <till@mandrakesoft.com>
-
- * printer/office.pm: Fixed Titi's bugs in the auto-configuration of
- printers in OpenOffice.org.
-
-2003/01/08 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer/printerdrake.pm: once we identify the protocal, skip remaining
- tests
-
- * printer/office.pm:
- - typo fix
- - s/if !/unless/
- - remove useless next
-
-2003/01/08 Pixel <pixel@mandrakesoft.com>
-
- * ugtk2.pm: ensure drakx don't need wiz_default_up.png and
- wiz_default_left.png
-
-2003/01/07 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: "require bootloader" where needed
-
- * interactive/gtk.pm, install_steps_gtk.pm, install_gtk.pm, install2.pm,
- ugtk2.pm:
- - remove help (which was at the bottom)
- - wizard style
- - focus "Next" button by default (this is rough, some dialog boxes
- *need* changes
- before being able to complete (think root password dialog))
-
- * diskdrake/hd_gtk.pm: fix ugly global setting of $ugtk2::pop_it
-
-2003/01/07 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - new way to use request help
-
- * standalone.pm:
- - compress code (pixel)
- - use ask_warn when no browser is found on the system and BROWSER env
- var not set.
-
-2003/01/07 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: add network::easy_dhcp function. Quietly setup eth0
- in dhcp and restart network.
-
-2003/01/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/tree/etc/issue: version 9.1 cooker
-
- * rescue/devices.pl: init doesn't like anymore that /etc/initctl is
- already here
- (breaks any communication to init :/); remove /etc/initctl from
- the initial filesystem, and let init create it as a fifo during
- boot
-
-2003/01/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/th.po: converted th.po to UTF-8
-
- * share/po/pl.po: converted pl.po to utf-8
-
-2003/01/07 Pixel <pixel@mandrakesoft.com>
-
- * steps.pm: move "configureX" step before "summary" step
- move setupBootloader before summary
-
- * any.pm: "require bootloader" where needed
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
- - part of setupBootloader() are now in setupBootloader__mbr_or_not(),
- setupBootloader__general() and setupBootloader__boot_bios_drive()
- - this allows the creation of the new setupBootloader_simple() which
- is
- somehow similar to the old setupBootloader() in beginner mode
- - setupBootloader() is now always expert mode
-
- * printer/printerdrake.pm:
- - fix autodetection code (remember me to teach titi that "and" in list
- context is bad)
- - use printer::detect::whatNetPrinter directly (instead of
- net_detect() +
- net_smb_detect()), it is faster when one wants both
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * install_steps_interactive.pm (summary): add X configuration
- (configureX): this step is now always automatic. don't call
- configureXAfter() when config failed
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
- - adapt to new setupBootloader
- - add bootloader configuration in summary (still rough)
- - various cleanup
-
- * crypto.pm: cleanup and add a comment (!)
-
- * install_steps.pm: cleanup
- fix looking for broken alternatives
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
- - adapt to new setupBootloader
- - add bootloader configuration in summary (still rough)
- - various cleanup
-
- * network/network.pm, Xconfig/xfreeX.pm, network/smb.pm, lang.pm,
- network/drakfirewall.pm, raid.pm, diskdrake/smbnfs_gtk.pm,
- partition_table.pm, printer/main.pm, diskdrake/interactive.pm, pkgs.pm,
- interactive/newt.pm, fs.pm, standalone/drakfont, network/ethernet.pm,
- common.pm, detect_devices.pm, modules.pm, install_any.pm, timezone.pm:
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * Xconfig/card.pm (configure): do not do card_config__not_listed in $auto
- mode
- (configure): return without doing anything when probe fails or
- needVideoRam in $auto mode
- (multi_head_choose): be completly automatic in $auto mode
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * bootloader.pm: use "if any" instead of "if grep", and various other
- occurences of "any", "every", "partition"
- (method_choices): returns the choices of bootloaders (lilo, grub,
- yaboot...) + cleanup
- (suggest_onmbr): "lilo" and "grub" are now "unsafe" "on_mbr" choices
- - renaming of $lilo with $bootloader
- - $bootloader->{methods} is replaced by the much simpler
- $bootloader->{method},
- the special handling of grub (which need to also generate lilo.conf)
- is nicely handled in bootloader::install()
- - cleanup error handling: it was using the ugly (though safe)
- /tmp/.error
- temporary file, better use an exception
-
- * printer/detect.pm (detect): don't use net_smb_detect() and net_detect(),
- call
- whatNetPrinter() directly asking for both network & smb (faster)
-
- * Xconfig/various.pm (various): in $auto mode, don't ask about tvout
-
- * install_gtk.pm, install_steps_gtk.pm:
- - remove help (which was at the bottom)
- - wizard style
- - focus "Next" button by default (this is rough, some dialog boxes
- *need* changes
- before being able to complete (think root password dialog))
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * install_interactive.pm: fsedit::part2hd() returns a scalar, no need to
- do "my ($hd) = fsedit::part2hd(...)"
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * ugtk2.pm, interactive/gtk.pm:
- - remove help (which was at the bottom)
- - wizard style
- - focus "Next" button by default (this is rough, some dialog boxes
- *need* changes
- before being able to complete (think root password dialog))
-
- * diskdrake/hd_gtk.pm: fix ugly global setting of $ugtk2::pop_it
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * interactive.pm: fix ask_okcancel in wizard mode
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
- nicer debug message
-
- * Xconfig/resolution_and_depth.pm (configure): in $auto mode, use
- $default_resolution without asking
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * Xconfig/monitor.pm: don't do anything when automatic configuration fails
- in $auto mode
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * Xconfig/main.pm (configure_everything): in $auto mode, don't test nor
- ask when the config failed
-
- * fsedit.pm: fsedit::part2hd() returns a scalar, no need to do "my ($hd) =
- fsedit::part2hd(...)"
- fix typo (operator priority related)
- use "if any" instead of "if grep", and various other occurences of
- "any", "every", "partition"
-
- * partition_table/raw.pm: use internal_error instead of die for better
- error message (esp. backtrace)
-
- * install2.pm:
- - remove help (which was at the bottom)
- - wizard style
- - focus "Next" button by default (this is rough, some dialog boxes
- *need* changes
- before being able to complete (think root password dialog))
- cleanup
- - adapt to new setupBootloader
- - add bootloader configuration in summary (still rough)
- - various cleanup
-
-2003/01/07 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: forgot to commit threat-hub-as-usb-controllers...
-
- * standalone/draksound: perl_checker fix
- let it ask for root capabilites if launched in standalone mode
-
- * printer/printerdrake.pm: printerdrake is back alive
-
- * printer/gimp.pm: fix new data structure usage
- fixes
- - remove useless $_ setting
- - simplify overgianted look for functions
- - mask isprinterconfigured() as bogus: if $done is 1 then
- $sectionfound *is* already 1
- - simplify by reusing list_passwd()
- - simplify program flow
- - one perl_checker fix
- - simplify directories list building
- - simplify test: if a file is a plain regular file, testing if it's a
- directory is useless;
- anyway, this test is probably bogus and should just be -e and not -f
-
- * printer/office.pm: fix new data structure usage
-
- * printer/main.pm: printerdrake is back alive
- perl_checker fix
- beautify
- simplif installed spoolers "detection"
-
- * Xconfig/card.pm: fix pixel sucks(bis)
-
- * ugtk2.pm: CList and CTree being deprecated and unsupported in perl-gtk2,
- don't bother handle them
-
- * drakxtools.spec: 9.1-0.9mdk
- 9.1-0.8mdk
-
- * Xconfig/resolution_and_depth.pm: fix pixel sucks
-
-2003/01/07 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (method_choices): returns the choices of bootloaders
- (lilo, grub, yaboot...) + cleanup
- (suggest_onmbr): "lilo" and "grub" are now "unsafe" "on_mbr" choices
- - renaming of $lilo with $bootloader
- - $bootloader->{methods} is replaced by the much simpler
- $bootloader->{method},
- the special handling of grub (which need to also generate lilo.conf)
- is nicely handled in bootloader::install()
- - cleanup error handling: it was using the ugly (though safe)
- /tmp/.error
- temporary file, better use an exception
-
- * any.pm:
- - part of setupBootloader() are now in setupBootloader__mbr_or_not(),
- setupBootloader__general() and setupBootloader__boot_bios_drive()
- - this allows the creation of the new setupBootloader_simple() which
- is
- somehow similar to the old setupBootloader() in beginner mode
- - setupBootloader() is now always expert mode
-
- * interactive.pm: nicer debug message
-
- * steps.pm: move setupBootloader before summary
-
- * install_steps.pm, install2.pm, install_steps_interactive.pm:
- - adapt to new setupBootloader
- - add bootloader configuration in summary (still rough)
- - various cleanup
-
-2003/01/06 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone.pm:
- - perl checker
- - no retval
- - function on_request_help to display online help.
- - use it as callback to help button or help menu.
-
- * standalone/drakbug:
- - support help system
- - remove unused function
-
-2003/01/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: synchronized with XFree86 4.2.99 keyboard layout names
-
-2003/01/06 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm: fix typos (thanks
- perl_checko!)
- selectInstallClass now automatically detect if an existing install is
- there,
- and propose update or install based on this
-
- * bootloader.pm: when reading existing config, remove double quotes around
- the default label
-
- * install2.pm (selectKeyboard): read existing keyboard config even if not
- upgrading (it
- won't do anything when not upgrading :)
- (selectInstallClass): do not move step doPartitionDisks after setupSCSI
- on
- upgrade (since the "upgrade" part of the job of doPartitionDisks is now
- done in selectInstallClass)
- (selectMouse): "addToBeDone mouse::write()" was done only on upgrade,
- replace it with an "addToBeDone" done in any case which only does
- "mouse::write()" if $o->{isUpgrade} is set (since isUpgrade *will* be
- set
- correctly but is not set at this step)
-
- * steps.pm:
- - selectMouse is now just after selectLanguage
- - selectSCSI is before selectInstallClass
-
- * Makefile: when taking files from perl-GTK2, don't
- /usr/lib/libDrakX/ugtk2.pm since we don't need it
-
- * install_interactive.pm (partition_with_diskdrake): fix reloading
- partition table
-
- * common.pm: common::secured_file() is a wrapper around
- c::is_secure_file()
-
- * any.pm: fix "Where do you want to install the bootloader?" dialog box
-
- * fs.pm (mount): do not fsck.ext2 when mounting readonly
-
- * swap.pm: replace *F with $F
- fix an *old* bug causing pbs when formatting more than one partition
- using
- format v0 (occurs when the sizes differ)
-
-2003/01/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: require a recent enough ldetect-lst for fixed usb hubs
- detection
- 9.1-0.7mdk
-
- * printer/main.pm: fix displaying list of availlable printer spoolers
-
- * printer/printerdrake.pm: fix displaying of spooler list
-
- * printer/gimp.pm: fix printerdrake regarding gimp configuration
-
- * standalone/logdrake: perl_checker fixes
- prevent one to write in log buffer
-
- * printer/data.pm: put full data in all variants of the data structure
-
- * share/po/fr.po: update french translation
-
-2003/01/05 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: in bootloader configuration, add return values to Add and Remove
- callbacks
-
- * interactive.pm:
- - callbacks "Add", "Modify" and "Remove" return undef when they fail
- - callback "Add" return the new added element (not handled by
- interactive emulation, but correctly handled by interactive::gtk native
- ask_from__add_modify_removeW)
-
-2003/01/05 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: in bootloader configuration, add return values to Add and Remove
- callbacks
-
- * interactive.pm:
- - callbacks "Add", "Modify" and "Remove" return undef when they fail
- - callback "Add" return the new added element (not handled by
- interactive emulation, but correctly handled by interactive::gtk native
- ask_from__add_modify_removeW)
-
- * interactive/gtk.pm: add ask_from__add_modify_removeW gtk handling
-
-2003/01/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix missing "use modules::interactive"
- (thanks to David Eastcott)
-
-2003/01/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/stuff.xs.pl: dgettext needs to have previous behaviour in standalone
- mode (fixes #736)
-
-2003/01/03 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: fix call to method ask_from__add_modify_removeW
-
- * interactive/gtk.pm (create_treeview_list): fix setter
- - factorize the creation of the {formatted_list} from {list} for
- create_boxradio, create_treeview_list, create_treeview_tree
- - an added advantage for create_treeview_list is the ability to easily
- change
- {list}, {formatted_list} and Gtk2::ListStore without breaking keyboard
- acceleration (see next commit for a usage of this feature)
-
- * ugtk2.pm (create_packtable): ScrolledWindow are not the only one allowed
- to grow,
- widgets with get_data('must_grow') set are allowed too
-
- * printer/printerdrake.pm (first_time_dialog): much cleanup (but not
- tested)
-
- * mdk-stage1/minilibc.c: add symbols __libc_csu_fini and __libc_csu_init
- to be compatible with new glibc (?)
-
-2003/01/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/test.pm: X test is now working :)
-
-2003/01/03 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: fix call to method ask_from__add_modify_removeW
-
- * mdk-stage1/minilibc.c: add symbols __libc_csu_fini and __libc_csu_init
- to be compatible with new glibc (?)
-
-2003/01/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: titi's message annoys me too much.. removing it
-
-2003/01/02 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: replace any::load_category() with
- modules::interactive::load_category()
-
- * Xconfig/test.pm: X test is now working :)
-
- * interactive.pm (ask_from__add_modify_remove): check all callbacks are
- given
- (ask_from__add_modify_remove): fix
- add ask_from__add_modify_remove, and use it for bootloader entries
-
- * any.pm: add ask_from__add_modify_remove, and use it for bootloader
- entries
-
-2003/01/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm:
- - Layout widget has native scrolling support
- - shadow parameter can always be used
-
- * standalone.pm: fixes for wizards
-
- * drakxtools.spec: 9.1-0.6mdk
- merge in back external stefan changes
-
- * standalone/logdrake: embedding fixes
-
-2002/12/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fi.po: updated Finnish file
-
-2002/12/29 Pixel <pixel@mandrakesoft.com>
-
- * network/ethernet.pm: move any::load_category() to
- network::interactive::load_category()
- (and a few other functions which are only used by load_category())
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
- * printer/gimp.pm: set_permissions() doesn't want the given file to be
- $::prefix'ed
-
- * network/network.pm, standalone/drakproxy:
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
- * pkgs.pm: use "our" instead of "use vars"
- *pkg::LOG is unused, so don't export it
-
- * install_steps.pm: move any::runlevel() to Xconfig::various::runlevel()
- - move any::choose_security_level() to security::level::level_choose()
- - move any::config_security_user() to
- security::various::config_security_user()
- - move any::config_libsafe() and security::libsafe::config_libsafe()
- to security::various::config_libsafe()
- no need to close *pkgs::LOG, pkgs handles it nicely now
-
- * install_steps_interactive.pm: move any::keyboard_group_toggle_choose()
- to keyboard::group_toggle_choose()
- - move any::choose_security_level() to security::level::level_choose()
- - move any::config_security_user() to
- security::various::config_security_user()
- - move any::config_libsafe() and security::libsafe::config_libsafe()
- to security::various::config_libsafe()
- cleanup comments
-
- * security/various.pm: deprecates security::libsafe
-
- * security/level.pm, security/libsafe.pm, install2.pm:
- - move any::choose_security_level() to security::level::level_choose()
- - move any::config_security_user() to
- security::various::config_security_user()
- - move any::config_libsafe() and security::libsafe::config_libsafe()
- to security::various::config_libsafe()
-
- * network/modem.pm: in network::modem::configure $intf is unused, rename
- it to $_intf
- - do not use a global $in in network::modem, pass it as a parameter
- - create network::modem::ppp_configure_raw() which doesn't need $in
- (it is only used by network::modem::ppp_configure(), but this is clearer
- that way)
- - use $::prefix instead the global $prefix
- - don't pass $prefix to ppp_configure
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
- * Xconfig/various.pm, bootlook.pm, Xconfig/main.pm: move any::runlevel()
- to Xconfig::various::runlevel()
-
- * keyboard.pm, standalone/keyboarddrake: move
- any::keyboard_group_toggle_choose() to keyboard::group_toggle_choose()
-
- * network/netconnect.pm:
- - do not use a global $in in network::modem, pass it as a parameter
- - create network::modem::ppp_configure_raw() which doesn't need $in
- (it is only used by network::modem::ppp_configure(), but this is clearer
- that way)
-
- * standalone/drakconnect: any::load_category_no_message() doesn't exist
- anymore, it really is modules::load_category() !
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
- * modules/interactive.pm: move any::load_category() to
- network::interactive::load_category()
- (and a few other functions which are only used by load_category())
-
- * any.pm: cleanup (using ask_from instead of ask_from_listf_)
- cleanup (using "format => ...")
- move any::load_category() to network::interactive::load_category()
- (and a few other functions which are only used by load_category())
- move any::keyboard_group_toggle_choose() to
- keyboard::group_toggle_choose()
- move any::runlevel() to Xconfig::various::runlevel()
- - move any::choose_security_level() to security::level::level_choose()
- - move any::config_security_user() to
- security::various::config_security_user()
- - move any::config_libsafe() and security::libsafe::config_libsafe()
- to security::various::config_libsafe()
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
- * network/isdn.pm:
- - do not use a global $in in network::modem, pass it as a parameter
- - create network::modem::ppp_configure_raw() which doesn't need $in
- (it is only used by network::modem::ppp_configure(), but this is clearer
- that way)
- - move any::pppConfig() to network::modem::ppp_configure()
- - move any::miscellaneousNetwork() to
- network::network::proxy_configure()
- (and uses the parameter instead of $::o->{miscellaneous})
- - move network::network::miscellaneousNetwork() to
- network::network::miscellaneous_choose()
- (and do not export it)
- (and uses a parameter instead of $::o->{miscellaneous})
- - move network::modem::pppConfig() to network::modem::ppp_choose()
- (and change parameter order, and drop unused parameter $intf)
- - do not export network::network::write_interface_conf()
- (since it is only used locally (?))
- - cleanup network::network::write_interface_conf()
- (one still needs to pass $::o->{miscellaneous}{track_network_id} more
- cleanly, and use run_program::rooted when calling /sbin/ip)
-
-2002/12/28 Pixel <pixel@mandrakesoft.com>
-
- * standalone.pm: don't import everything from "common" (including
- MDK::Common::*) to get rid of
- warnings "Subroutine renamef redefined ..." "Subroutine linkf redefined
- ..."
- ... (but I don't understand how to make explainations on common_functs
- work?!)
-
- * printer/gimp.pm:
- - mkdir_p throws an exception on error, so "mkdir_p() or ..." is dumb,
- fixing
- (thanks to Lea Gris)
- - use output()
-
-2002/12/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: Updated Portuguese file
-
-2002/12/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * lang.pm: CJK font names changes (still doesn't work :/)
-
- * share/list: perl's automatic utf8 handling will need these files (will
- try to do better in the future)
-
- * install_steps_gtk.pm: fix 'bold' advertisements
-
- * share/fonts.tar.bz2: use another default font
- have a default fixed alias for a font which will always be here even in
- ramdisk
-
- * tools/make_mdkinst_stage2: fonts changes (doesn't work with CJK (at
- least) in ramdisk, though)
-
- * Xconfig/resolution_and_depth.pm: workaround gtk bug in
- gtk_entry_set_text
- fix titi porting gtk2 without testing enough..
-
- * interactive/gtk.pm: be more efficient in precomputing, previous
- situation could lead to several tens of seconds of wait in
- XFdrake-monitor
-
-2002/12/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po: updated Brazilian file
-
-2002/12/23 Pixel <pixel@mandrakesoft.com>
-
- * printer/printerdrake.pm: help perl_checker (interactive is used even if
- the constructor is not there)
-
- * Xconfig/resolution_and_depth.pm: fix setting size of depth combo
-
-2002/12/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * lang.pm: simplify since we don't use X11 fonts (we can't since
- GDK_USE_XFT is not switchable once program is launched)
-
- * mouse.pm: image in CVS is 3b+, not 3bp
-
- * share/themes-mdk.rc: allow gtk2 theme engine to find pixmaps
-
- * share/list, Makefile: list files changes for gtk2 (is that really
- optimal to have utf8.pm and utf8_heavy.pl?)
-
-2002/12/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
- updated Portuguese file
-
- * share/fonts.tar.bz2: updated fonts tarball, all old bitmap fonts have
- been removed,
- now it only includes:
- - an OpenType font with glyphs for latin and cyrillic
- - two unicode encoded bitmap fonts with glyphs for CJK and Greek
- (and it could be used for non latin/cyrillic scripts for which there
- isn't any outline font available).
- Those fonts are based on fonts shipped with XFree86 (Nimbus Sans L and
- "misc-fixed"), but with some modifications (extra glyphs added to
- complete the "holes" in latin and cyrillic for the outline font,
- added a few missing chines chars and changed ascii portion from
- monospaced
- to varaible width for the bitmap fonts (so the visual output is
- better)).
- The choice of bitmap fonts for CJK has been done due to the very huge
- size of CJK outline fonts.
-
- * share/po/fi.po: updated Finnish file
-
- * share/po/eo.po: Small change in Esperanto file
-
-2002/12/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: gtk+2 support for plug/socket is back since 2.1.5-2mdk
-
-2002/12/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/doc/README: meuh
-
-2002/12/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
- * share/po/ta.po: Converted Tamil file to utf-8
-
-2002/12/19 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: add "make test_pms_all"
-
- * standalone/.perl_checker: use libDrakX from CVS (ie. ..) in perl_checker
-
- * printer/cups.pm, printer/main.pm, printer/printerdrake.pm:
- - printer::main::read_cups_printer_list() is now
- printer::cups::read_printer_list() (but it is unused!)
- - printer::main::get_cups_remote_queues() is now
- printer::cups::get_formatted_remote_queues()
- - cleanup printer::cups::get_remote_queues() using
- printer::cups::lpstat_v()
-
- * standalone/drakupdate_fstab: any::get_secure_level() doesn't exist
- anymore, use security::level::get() instead (fix titi change)
-
- * printer/gimp.pm: do not use "$1 !~ ..."
-
-2002/12/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: conflict with "non gtk+-2 aware" releases of mcc
- 9.1-0.4mdk
-
-2002/12/18 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, .perl_checker, install_any.pm: new features including checking
- unused functions, and checking methods being available
-
- * install2.pm, partition_table.pm: enumerate the various required packages
- when requiring a package dynamically known
-
- * standalone.pm, Newt/Newt.pm: help perl_checker knowing packages are used
- as classes
-
- * diskdrake/interactive.pm, lvm.pm, fsedit.pm: add "new" to lvm.pm, and
- use it
-
- * .cvsignore: ignore .perl_checker.cache
-
-2002/12/18 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Xconfig/resolution_and_depth.pm: XFdrake gtk+-2
-
- * Xconfig/test.pm: fix
- XFdrake gtk+-2
-
- * standalone/drakperm:
- - basic gtk+-2 port (edition is not ready yet)
- - perl_checker fixes
-
- * ugtk2.pm: perl_checker fixes
- disable embedded mode for now due to gtk+-2 bugs
- fix wizards and draconnect:
- it's the same code as in old my_gtk but i don't understand
- how it could have worked...
- yet the logic is quite simple : we add the "previous" button only if
- we're not in the wizard's first page; but the "next/finish" button
- must still be added, else the wizard is quite unusefull :-(
-
- * standalone/harddrake2, harddrake/data.pm: saner default size (too big
- for 800x600 sadly)
-
- * standalone/drakconnect: refresh: remove current interfaces before
- readding them, like it was
- before
- - consolidate some code into new_dialog
- - simplify through MDK::Common
- perl_checker fixes
- - gtk+-2 port is completed (switch from CList to TreeView)
- - gtk+-2 minor fixes (use new API rather than old one)
- - fix non wizard mode (add to frame not to window which is already
- full)
- - wizard mode is fixed by previous ugtk2 fix
- - simplify through MDK::Common
- fix drakconnect warnings
-
-2002/12/17 alus
-
- * share/po/pl.po: updated
-
-2002/12/17 Daouda Lo <daouda@mandrakesoft.com>
-
- * ugtk2.pm:
- - export gtkappend_page
- - add gtkappend_page function (for gui building wizard)
-
-2002/12/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
-2002/12/16 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm: fix english typo (thanks to J. Grant)
-
- * mouse.pm: really drop update_type_name
-
- * fsedit.pm: really drop check()
-
- * standalone/drakautoinst: use ->method syntax for method call
-
-2002/12/16 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: build automatically the font description if needed
- fix string_size() usage in get_text_coord()
-
-2002/12/14 Pixel <pixel@mandrakesoft.com>
-
- * network/netconnect.pm: do not export start_internet and stop_internet
- (was broken since network::netconnect do not inheritate from Exporter)
-
-2002/12/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_messages.pm: must return a true value
-
- * interactive/gtk.pm: expand_row no longer bugs, great :)
-
- * c/stuff.xs.pl: iconv_ is needed all the times, not only in drakx
-
-2002/12/13 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (kdeicons_postinstall): drop (unused)
-
- * detect_devices.pm: drop hasUltra66 (unused)
-
- * any.pm, bootloader.pm: drop loadlin handling
-
- * network/network.pm, ugtk.pm, my_gtk.pm, printer/data.pm,
- partition_table.pm, ugtk2.pm: remove exported names which are not
- defined
-
- * printer/main.pm: commit the real code, not the debug code :-(
- put back the comment
- (read_cups_printer_list, get_cups_remote_queues): much cleanup
-
- * fsedit.pm (check): drop it (unused, maybe you should use
- diskdrake::interactive::check instead)
-
- * services.pm: use wrap_text (instead of handcoding it)
-
- * Xconfig/various.pm (show_info): drop (unused)
-
- * timezone.pm (sexProb): drop (unused!)
-
- * standalone/drakbackup: replace "%" with "%%" in translated string
-
- * mouse.pm (update_type_name): drop (unused (?))
-
- * bootlook.pm: drop unused function
-
- * fs.pm (add_options): drop (unused, use mount_options_unpack +
- mount_options_pack instead)
- (mount_all): drop (unused, use formatMount_all instead)
-
-2002/12/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Makefile.drakxtools, Makefile: fix installation after pixel changes
-
- * drakxtools.spec: fix {build,}requires for gtk+2
-
- * ugtk.pm: remove uneeded variables
-
- * standalone.pm: remove double
- move draksec's gui into the standalone program,
- nobody will uses it so it's useless to load drakx with it.
- also use common cli options managment
-
- * standalone/harddrake2: perl_checker fixes
-
- * security/main.pm, standalone/draksec: move draksec's gui into the
- standalone program,
- nobody will uses it so it's useless to load drakx with it.
- also use common cli options managment
-
-2002/12/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po, share/po/he.po: Added a starting Hebrew file; updated
- Portguese file
-
-2002/12/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: remove unused variable $clicked
- remove some $::expert
- remove beginner/expert choice
-
- * install_steps_gtk.pm: remove beginner/expert choice
-
- * ugtk.pm: unused variables renamed with a leading underscore (some code
- should be removed?)
-
- * diskdrake/hd_gtk.pm: when clicking on one of the legend buttons together
- with an existing partition
- selected, it doesn't change the partition type, it tells to use "Type"
- (it used to be ignored in non-expert, and do a change type in expert)
-
- * install2.pm: drop options "fexpert" and "fbeginner" which used to skip
- the choice expert/beginner
-
-2002/12/12 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: simplify
- add gtkmodify_font() and gtkset_property()
-
- * standalone/harddrake2: better english
- don't confuse people by altering sentences that could have been
- interpreted as questions
- - s/::/:/ on cpu info
- - print field names in bold blue rather than just blue
-
-2002/12/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/pt.po: updated Portuguese and Chinese files
-
-2002/12/11 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk2.pm: reuse already consolided code
- reuse already consolided code
- add set_back_pixbuf() to let a widget paint itself a pixbuf in its
- background rather that doing this ourselves in rpmdrake or mcc
-
-2002/12/10 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile, share/po/fake_c.pl: use "perl_checker --generate-pot"
- instead of fake_c + xgettext
-
- * Xconfig/test.pm: do not duplicate "An error occurred ..." t10n string
-
- * any.pm, bootloader.pm: perl_checker --generate-pot is a bit picky about
- the localisation of "#-PO:" comments
-
- * install_steps_interactive.pm: fix % in translated string (it must be %%)
-
- * standalone/drakbug, standalone/logdrake, standalone/drakfloppy,
- standalone/drakTermServ, standalone/drakautoinst, standalone/drakbackup,
- standalone/drakconnect, standalone/drakxtv: minimal perl_checker fixes
- to have only warnings
-
- * Makefile.config: service_harddrake.sh is not a PM, so i remove it from
- STANDALONEPMS_
- live_install is a shell script, do not pretend it's perl ;p
-
-2002/12/10 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * network/netconnect.pm, network/tools.pm, network/isdn.pm,
- standalone/drakTermServ, standalone/drakxtv: perl_checker fixes
-
- * standalone/harddrake2: no gratuitously tab
-
- * standalone/draksplash:
- - gtk+2 port
- - "use strict" fixes
- - perl_checker fixes
-
- * standalone/drakconnect: perl_checker fixes
- fix gtk+2 port
-
-2002/12/09 adesmons
-
- * network/netconnect.pm: make perl_checker happy
- drakconnect conf file no more uploaded with now useless variable
-
- * network/adsl.pm: drakconnect conf file no more uploaded with now useless
- variable
-
-2002/12/09 Pixel <pixel@mandrakesoft.com>
-
- * share/themes-blackwhite.rc, share/themes.rc, share/themes-savane.rc:
- remove already obsolete themes
-
- * my_gtk.pm, ugtk2.pm: remove dynamic theme choosing, and next/previous
- (F11/F12) handling
- remove code handling setstep
-
- * diskdrake/hd_gtk.pm, diskdrake/interactive.pm, install_interactive.pm:
- - handle more locally "Reload partition table" (esp. without using
- setstep)
- => no exception is called through gtk
-
- * interactive/newt.pm, install2.pm: remove code handling setstep
-
- * install_steps_gtk.pm, install_messages.pm, install_steps_interactive.pm:
- move long messages (like license) to a new package: install_messages.pm
-
- * install_gtk.pm: remove unused variable ($step_name)
- remove code handling setstep
-
- * any.pm: remove old code
-
-2002/12/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * network/isdn.pm: remove unused modules
-
-2002/12/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po: updated Brazilian file
-
-2002/12/07 alus
-
- * share/po/pl.po: update
- update
-
-2002/12/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sq.po: Added Albanian file
-
-2002/12/06 adesmons
-
- * network/netconnect.pm, network/tools.pm, network/modem.pm,
- network/isdn.pm, network/adsl.pm: isdn data are now fetched form system
- instead of drakconnect conf file
-
-2002/12/06 alus
-
- * share/po/pl.po: removed unuset texts
-
-2002/12/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: don't use unless
-
- * c/stuff.xs.pl: add bind_textdomain_codeset, iconv the dgettext results
- to UTF8 since perl seems to mess with that when trying to do so from
- within gtk2-perl (with sv_utf8_upgrade)
-
- * install_gtk.pm: better style
-
- * interactive/gtk.pm: 2.1.3 doesn't have trouble with expand_to_path
-
- * lang.pm: perl checker OwnZ Da W3rld
- misc
-
- * bootlook.pm: perl_checker help'ed fix
- s/Gtk->/Gtk2->/
-
-2002/12/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po, share/po/vi.po: updated po file
-
-2002/12/06 Pixel <pixel@mandrakesoft.com>
-
- * network/isdn.pm, standalone/XFdrake: be more perl_checker compliant
-
-2002/12/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_gtk.pm: fix syntax & style
-
- * lang.pm: try to fix charset2pango_font
- fix syntax & style
- add bind_textdomain_codeset
-
- * ugtk2.pm: remove unused $_lan
-
-2002/12/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/harddrake2, share/po/DrakX.pot, standalone/net_monitor: Fixed
- some typos or bad English
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/Makefile,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/cs.po,
- share/po/bg.po, share/po/el.po, share/po/hu.po: updated po files
-
- * install_gtk.pm: two pango font names, for 10 and 12 sizes
- made some functions to retrieve pango font namese from lang/charset
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: Changed the way
- locale->encoding is handled; revert to the old way which was
- working.
- And changed the charset to use during install to UTF-8 for all but CJK
- locales,
- in the X11 locale config files and in lang.pm;
- So, the same values of LC_* variables are used as before; but they
- should
- point, in glibc and in X11, to UTF-8 locales now
-
- * lang.pm: made some functions to retrieve pango font namese from
- lang/charset
- Changed the way locale->encoding is handled; revert to the old way which
- was
- working.
- And changed the charset to use during install to UTF-8 for all but CJK
- locales,
- in the X11 locale config files and in lang.pm;
- So, the same values of LC_* variables are used as before; but they
- should
- point, in glibc and in X11, to UTF-8 locales now
-
-2002/12/05 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: parameter passing using $_ is bad
-
- * any.pm: format => sub { ...} doesn't pass parameter as $_, but as $_[0]
-
- * printer/main.pm: $_ was not localized, fixing (and cleanup)
-
- * bootlook.pm: fix typo, be perl_checker compatible
- packages should not "use lib qw(/usr/lib/libDrakX)"
-
- * partition_table.pm: replace "map $_->{normal}, @l" with "map {
- $_->{normal} } @l"
- (the other form is perl_checker-deprecated)
-
- * standalone.pm: remove unused variables or rename them with an underscore
- (eg: $o becomes $_o)
-
-2002/12/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/mousedrake: gtk+2 port (how difficult it was ...)
-
- * network/netconnect.pm: gtk+-2 port
-
- * c/Makefile.PL: glib-config is obsolete now
- gtk+-2 port
-
- * modules/interactive.pm: bug fix
-
- * standalone/drakTermServ, standalone/drakconnect: use gtkflush()
-
- * drakxtools.spec: pre gtk+2 work snapshot for mcc (mandrake_release() and
- the like
-
- * standalone/drakgw: gtk+2 fixes
-
- * bootlook.pm: use gtkflush()
- start gtk+2 port; perl-gtk2 is expected to implement
- Gtk::Image->set_from_pixbuf()
-
- * standalone/drakautoinst: use gtkflush()
- gtk+2 port
-
- * standalone/harddrake2: s/describe/describes/
-
- * standalone/drakfont: fix gtk+-2 port
- don't use anymore deprecated widgets
-
- * services.pm: drakxservices' gtk+-2 port
-
- * standalone/logdrake: fix gtk+2 port
-
-2002/12/04 adesmons
-
- * network/netconnect.pm, network/tools.pm, network/network.pm,
- network/modem.pm: More data are now fetched from system instead of
- drakconnect conf file
-
-2002/12/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/locales-skeleton.tar.bz2: added recognition of locale named
- "en_US.UTF-8"
-
- * lang.pm: made 'en_US.UTF-8' the default locale for LC_* varaibles during
- isntall
-
- * share/fonts.tar.bz2: Put Nimbus Sans L as default font
- put back the default iso8859-15 fonts used by install.rc
-
- * install_gtk.pm: put "Nimbus Sans L" as used font
- try of Gtk2 font definitions
-
-2002/12/04 Pixel <pixel@mandrakesoft.com>
-
- * network/adsl.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- syntax changes to make perl_checker happy
-
- * install_steps.pm: remove unused code (installCrypto)
- remove unused variables or rename them with an underscore (eg: $o
- becomes $_o)
- do not use "local *F"
-
- * install_steps_interactive.pm, install2.pm: remove unused code
- (installCrypto)
- remove unused variables or rename them with an underscore (eg: $o
- becomes $_o)
-
- * interactive.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- "require log" causes some pb, perl thinking that "log" is the log()
- function. So replace it with require 'log.pm' (perl_checker will handle
- this)
-
- * fsedit.pm: remove unused variables or rename them with an underscore
- (eg: $o becomes $_o)
- use if_() where possible (as reported by perl_checker)
- don't use "local *F"
-
- * interactive/stdio.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- fix typo
-
- * crypto.pm: use if_() where possible (as reported by perl_checker)
-
- * my_gtk.pm, ugtk.pm, printer/printerdrake.pm, ugtk2.pm,
- install_steps_gtk.pm, printer/main.pm, fs.pm, bootloader.pm: remove
- unused variables or rename them with an underscore (eg: $o becomes $_o)
- use if_() where possible (as reported by perl_checker)
-
- * scanner.pm: remove unused variables or rename them with an underscore
- (eg: $o becomes $_o)
- $prefix is no good, replace it with $::prefix
-
- * partition_table/dos.pm, partition_table/sun.pm, partition_table/bsd.pm,
- partition_table/empty.pm, keyboard.pm, partition_table/lvm_PV.pm: do not
- use "local *F"
-
- * printer/office.pm, Xconfig/parse.pm, network/smb.pm, mouse.pm,
- resize_fat/io.pm, Xconfig/xfree4.pm, network/drakfirewall.pm,
- Xconfig/main.pm, diskdrake/smbnfs_gtk.pm, partition_table.pm,
- printer/common.pm, diskdrake/interactive.pm, pkgs.pm,
- install_steps_auto_install.pm, diskdrake/hd_gtk.pm, Xconfig/monitor.pm,
- install_any.pm, diskdrake/removable.pm, network/isdn.pm, swap.pm,
- resize_fat/directory.pm, devices.pm, commands.pm,
- install_interactive.pm, printer/gimp.pm, any.pm, interactive/http.pm,
- printer/detect.pm, ftp.pm, services.pm, interactive/newt.pm,
- resize_fat/dir_entry.pm, network/ethernet.pm,
- Xconfig/resolution_and_depth.pm, Xconfig/test.pm, diskdrake/dav.pm,
- network/smbnfs.pm, interactive/gtk.pm, network/nfs.pm: remove unused
- variables or rename them with an underscore (eg: $o becomes $_o)
-
- * standalone.pm: no need to "require common", it is "use"d
- "require log" causes some pb, perl thinking that "log" is the log()
- function. So replace it with require 'log.pm' (perl_checker will handle
- this)
-
- * network/tools.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- my' variables as needed
-
- * security/main.pm, network/modem.pm: remove unused variables or rename
- them with an underscore (eg: $o becomes $_o)
- syntax changes to make perl_checker happy
- syntax changes to make perl_checker happy
-
- * network/network.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- syntax changes to make perl_checker happy
- use if_() where possible (as reported by perl_checker)
-
- * network/netconnect.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- - %l is not used, so why declare it??
- - in network::netconnect::main(), declare @l as it should be. But the
- code is really wrong, it NEEDS fixing (bis)
- syntax changes to make perl_checker happy
- use if_() where possible (as reported by perl_checker)
- syntax changes to make perl_checker happy
-
- * partition_table/mac.pm, modules.pm, partition_table/raw.pm, loopback.pm:
- remove unused variables or rename them with an underscore (eg: $o
- becomes $_o)
- do not use "local *F"
-
- * partition_table/gpt.pm: remove unused variables or rename them with an
- underscore (eg: $o becomes $_o)
- fix typo ($hd is not available in read_header(), so don't use it)
- do not use "local *F"
-
-2002/12/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/harddrake2:
- - free objects non freeed by gtk+ (the eternal gobject vs boxed types
- debat)
- - remove dead code
- - use ->append_set() everywhere
- - strip again vendor name from displayed string (aka keep only the
- model description)
- - enfoce pixel style : remove () from method calls
-
- * harddrake/data.pm: display "cpu #<XX>: <name>" for cpus
-
- * harddrake/TODO: update
-
-2002/12/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: use option tty7 to force X server to be on tty7
- (instead of opening tty5 and
- tty6 so that the next available tty is tty7)
-
-2002/12/04 uid580
-
- * harddrake/ui.pm: kill "used by only one" harddrake::ui module,
- move its content to standalone/harddrake2
- cleanups
- hide config buttons when switching from a configurable device to a non
- configurable one
- fix gtktext_insert() usage
- gtk+2 port, yeah baby :-)
-
- * security/main.pm: share common options
-
- * pkgs.pm: perl_checker
-
- * standalone/harddrake2, harddrake/data.pm: kill "used by only one"
- harddrake::ui module,
- move its content to standalone/harddrake2
-
- * standalone/drakxservices: strict mode
-
- * ugtk2.pm: reverse
- clean up
-
- * security/msec.pm:
- - fix obvious pixel typo (s/if/if_/)
- - no need to maintain dummy documentation about something which is
- called only in one place
- - simplify
-
-2002/12/03 dam's <dams@idm.fr>
-
- * any.pm: allow #, and other characters in phone number
-
-2002/12/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: gcsux
-
- * pkgs.pm, network/tools.pm: make it $::testing aware
-
- * ugtk2.pm: misc fixes
-
- * interactive/gtk.pm, diskdrake/hd_gtk.pm, install_steps_gtk.pm, mouse.pm,
- services.pm, install_gtk.pm, diskdrake/smbnfs_gtk.pm: gtk2
-
-2002/12/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po, share/po/ja.po, share/po/vi.po: updated Estonian and
- Vietnamese files; fixed typo in Japanese file
-
-2002/12/03 Pixel <pixel@mandrakesoft.com>
-
- * raid.pm: use output()
-
- * network/tools.pm: cleanup use of filehandles
-
- * detect_devices.pm: do not use "local my $F, ...", use "local(my $F, ...)
- instead
- do not use "local *F", use run_program::get_stdout() or "local $F"
- instead
-
- * scanner.pm, install_any.pm, timezone.pm, partition_table.pm: do not use
- "local *F", use "my $F" or output() instead
-
- * install_steps.pm: do not use "local my $F, ...", use "local(my $F, ...)
- instead
-
- * network/network.pm (read_resolv_conf): simplify
-
- * Xconfig/test.pm, devices.pm: do not use "local my $F, ...", use
- "local(my $F, ...) instead
- do not use "local *F"
-
- * commands.pm: do not use "local my $F, ...", use "local(my $F, ...)
- instead
- remove pack_ and unpack_ (unused)
-
- * security/msec.pm: fix typo
- simplify (esp. use cat_)
- (get_value): cleanup
-
- * fs.pm: one need run_program::raw() to use options
-
- * common.pm: do not use "local my $F, ...", use "local(my $F, ...) instead
- (formatXiB): simplify
- use "my $F" instead of "local *F" (and cleanup)
-
- * network/nfs.pm (find_exports): use run_program::raw + stdout
-
-2002/12/03 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/logdrake, ugtk2.pm: add gtktext_append() and uses it
-
-2002/12/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * common.pm, c/stuff.xs.pl: workaround perl sprintf bug when some
- parameters are utf8 and some not
-
- * ugtk2.pm: titisux, revert the pango pixels stuff
-
-2002/12/03 uid551
-
- * share/fonts.tar.bz2: First try of fonts for Xft2
-
- * share/po/zh_CN.po, share/po/pt_BR.po: updated Brazilian and Chinese
- files
-
-2002/12/02 adesmons
-
- * network/netconnect.pm, network/network.pm, network/modem.pm,
- standalone/drakconnect, network/adsl.pm: Some data are now fetched from
- system instead of drakconnect conf file (adsl, ppp, ifcfg-eth)
-
-2002/12/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: updated
- pot file
-
-2002/12/02 Pixel <pixel@mandrakesoft.com>
-
- * standalone/adduserdrake: remove commented code
-
- * proxy.pm: this package is unused, no need to keep it
-
- * install_steps.pm: use output_with_perm()
- use $::prefix
- any::runlevel() doesnt need the prefix anymore
-
- * Xconfig/card.pm: don't use $_
-
- * bootloader.pm: use output()
-
- * fs.pm: formatting timeout is now 1 hour
- remove the duplicate mke2fs (fixes buggy 1.225 change)
- use append_to_file()
-
- * install_steps_interactive.pm: any::get_autologin() doesnt modify $o, it
- returns a hash
- use $::prefix
-
- * network/network.pm (add2hosts): use output and pixelization
-
- * any.pm: use output_with_perm()
- any::get_autologin() doesnt modify $o, it returns a hash
- use $::prefix
- (get_autologin): $o->{autologin} is set to the chosen user only if
- AUTOLOGIN is set (it now mirrors what set_autologin() does)
- any::runlevel() doesnt need the prefix anymore
- use output and append_to_file
-
- * common.pm (set_alternative): simplify
- (files_exist): simplify
-
- * Xconfig/main.pm: any::runlevel() doesnt need the prefix anymore
-
- * Xconfig/various.pm:
- - any::runlevel() doesnt need the prefix anymore
- - fix use of any:runlevel()
-
- * printer/main.pm, printer/office.pm: simplify
-
- * network/isdn.pm, network/netconnect.pm, mouse.pm, network/smb.pm,
- network/tools.pm: use output_with_perm()
-
- * Makefile: adapt "make test_pms" to new perl_checker
-
- * bootlook.pm:
- - use any::get_autologin and any::set_autologin
- - any::set_autologin doesn't set /etc/sysconfig/autologin to perm 600,
- is it needed??
- use any::runlevel()
-
-2002/12/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakbug: fix gtk2 port
-
- * standalone/logdrake: make append option be usable as other ones
- use named tags for color rather than rgbt triplet,
- waiting for full foreground-gdk support in perl-gtk2
- - gtk2 port
- - add a note to remember to try gtkhtml instead of TextView
- - make wait message be transcient and modal (we should share some
- create_*_dialog() around logdrake/mcc/drakfloppy/rpmdrake)
- - fixes for 'strict ref'
-
- * security/main.pm, standalone/drakbackup, standalone/drakconnect:
- - gtk2 port
- - perl_checker fixes
-
- * standalone/drakgw:
- - fix gtk2 port
- - let it work with kernel 2.5 too
-
- * docs/porting-ugtk: add a tool to ease gtk2 port.
- this is not the rule of thumb but basic stuff.
-
- * standalone/drakTermServ, standalone/drakfont:
- - gtk2 port
- - consolidate some code in text_view()
- - perl_checker fixes
-
- * ugtk2.pm: make append option be usable as other ones
- gtkfontinfo() is bugged since it uses a C macro which is
- (oh surprise) not in binary library .... :
- $fontinfo{$_} = Gtk2::Pango->PANGO_PIXELS($metrics->$func);
- - use useless when needed
- - gtktext_insert() : add an append argument to prevent overwriting
- already present text in TextBuffer
- - gtkfontinfo() is bugged since it uses a C macro which is
- (oh surprise) not in binary library .... :
- $fontinfo{$_} = Gtk2::Pango->PANGO_PIXELS($metrics->$func);
-
-2002/11/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * raid.pm: testing aware
-
- * any.pm: load_category__prompt: use formatAlaTeX
-
-2002/11/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/et.po: Updated Estonian file
-
- * share/po/pt.po: Updated Portuguese file
-
-2002/11/28 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm: fix "ps" and "df" (were broken due to localization of *DF
- and *PS)
-
- * bootlook.pm, network/adsl.pm, printer/printerdrake.pm: perl_checker
- adaptations
- perl_checker adaptations
-
- * resize_fat/c_rewritten.pm: to export, one needs to inheritate from
- Exporter
-
- * resize_fat/io.pm: perl_checker adaptations
- remove debug code
-
- * Makefile: fix removing of pods when installing pms
-
- * printer/cups.pm, any.pm, install_steps_gtk.pm, printer/main.pm,
- printer/detect.pm, printer/common.pm, network/network.pm, ftp.pm,
- services.pm, ugtk.pm, network/isdn.pm, network/ethernet.pm,
- resize_fat/fat.pm, install_steps_interactive.pm, network/netconnect.pm,
- lang.pm, network/tools.pm, install_any.pm, printer/gimp.pm,
- partition_table.pm, harddrake/ui.pm: perl_checker adaptations
-
- * Xconfig/test.pm: in the test snippet, add "use common" to have access to
- N()
-
- * bootloader.pm:
- - compare labels case insensitively (thanks to D.Faure)
- - when reading existing config, remove double quotes around the label
- (thanks to D.Faure)
- - add double quotes around the label instead of removing spaces (need
- checking installkernel compatibility)
- perl_checker adaptations
-
-2002/11/28 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * services.pm:
- - my_gtk->main already do the kill 'USR2'
- and hardcoding signal number was bad anyway
- - use gtkflush()
- - my_gtk->main already do the kill 'USR2'
- and hardcoding signal number was bad anyway
- - use gtkflush()
-
- * standalone/drakperm: one more fix
- - "use strict" fixes
- - perl_checker fixes
-
- * standalone/drakgw: fix
-
- * ugtk2.pm: perl_checker fixes
- fix create_factory_menu*(): since we get an object and not anymore a
- hash, let just return factory as another variable...
-
-2002/11/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk2.pm: reflect calling style change of PANGO_PIXELS
-
-2002/11/27 Pixel <pixel@mandrakesoft.com>
-
- * printer/main.pm: perl_checker adaptations
- (configure_hpoj): functions dynamically loaded from /usr/sbin/ptal-init
- are
- now loaded in printer::hpoj namespace (needs testing)
-
- * .perl_checker: update for new packages (Gtk2), and remove the
- now-handled-by-perl_check packages
-
- * Xconfig/card.pm, bootlook.pm, network/network.pm, log.pm,
- printer/office.pm, help.pm, scanner.pm, install_steps.pm,
- Xconfig/parse.pm, install_gtk.pm, network/isdn.pm, interactive.pm,
- my_gtk.pm, swap.pm, resize_fat/fat.pm, partition_table/gpt.pm,
- Newt/Newt.pm, resize_fat/c_rewritten.pm, mouse.pm, resize_fat/io.pm,
- standalone.pm, lang.pm, devices.pm, install2.pm, commands.pm,
- install_interactive.pm, printer/gimp.pm, partition_table.pm,
- Xconfig/xfree3.pm, any.pm, install_steps_gtk.pm, printer/detect.pm,
- interactive/http.pm, diskdrake/interactive.pm, ftp.pm,
- interactive/stdio.pm, interactive/newt.pm, harddrake/sound.pm, fs.pm,
- ugtk.pm, network/ethernet.pm, Xconfig/resolution_and_depth.pm,
- bootloader.pm, Xconfig/test.pm, harddrake/data.pm, Xconfig/monitor.pm,
- network/adsl.pm, fsedit.pm, modules.pm, network/tools.pm,
- network/isdn_consts.pm, install_any.pm, printer/printerdrake.pm,
- timezone.pm, harddrake/ui.pm, c/stuff.pm: perl_checker adaptations
-
-2002/11/27 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakgw:
- - Gtk2 port
- - perl_checker fixes
-
- * standalone/drakbug:
- - Gtk2 port
- - one perl_checker fix
-
- * standalone/mousedrake: restore previous behaviour and exit early only in
- cancel case
- fix bad interaction between mcc & mousedrake.
- interactive already take care of it through my_gtk...
-
-2002/11/26 gbeauchesne
-
- * install_any.pm: Only all.img is currently used on x86-64, ia64 and ppc.
- Therefore, don't
- complain nor try to stat some cdrom.img on first CD.
-
-2002/11/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * unused/demo-frozen-bubble.patch: forgot to commit it (.cvsignore
- containing * doesn't help)
-
- * ugtk2.pm: fix typo (gtkstring_size) thx to perl checker
- fix shadow bug due to wrong extraction of allocation data
- two small fixes
- add
-
- * Makefile: ugtk2.pm is temporarily not in drakxtools but in perl-GTK2
-
-2002/11/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: changed values for console font when en_US is chosen
-
- * share/po/pt.po, share/po/pt_BR.po: Updated Portuguese files
-
-2002/11/26 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm, standalone.pm: no need to call common::backtrace(), use
- directly backtrace() (was it written that way to workaround a bug in old
- perl_checker?)
-
- * ugtk2.pm: make perl_checker happy
-
- * diskdrake/removable_gtk.pm: fix undeclared variable
-
-2002/11/26 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer/main.pm: simplify some stuff
-
- * harddrake/data.pm: fix eating too much items
-
- * modules.pm, printer/detect.pm, run_program.pm, services.pm: perl_checker
- fixes
-
- * printer/printerdrake.pm: miaouh
- simplify
-
-2002/11/25 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: assume any hardware is found (forget to commit).
-
- * rescue/tree/etc/oem-all: synced with latest change to HP version (and
- now HP is in CVS).
-
- * network/netconnect.pm: removed old code (commented out).
-
- * diskdrake/interactive.pm: revert previous change useless (another
- problem).
- added a trailing true value for perl being happy.
-
- * network/ethernet.pm: add support ADIModem.
- removed reference to ...->{nb_cards} no more used.
- removed 2 labels and 2 gotos by a very simple while, dam's is really
- great
- sometimes ;-)
-
- * network/adsl.pm: add support for Sagem USB Modem (for free.fr ;-))
-
- * network/network.pm: added is_domain_name that checks validity of a
- domain name.
-
- * detect_devices.pm: add getSagem() to detect Sagem USB ADSL Modem.
-
- * install_any.pm: fixes perl-checker importation of bug, getFile is
- complex for perl newbies, do
- not rely on perl-checker for trying to "fix" it else it won't run
- anymore ;-)
- make it work (changed *F => *GETFILE and added a return) else perl has
- some
- problem using it as reference to file handle.
-
- * mdk-stage1/dietlibc/include/sys/mount.h: fixes for new kernel headers
- (It should problably be kernel-headers to be
- modified but it is *much* faster to modify yoyotte's works).
-
-2002/11/25 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: fix typo (openInstallLog *must* return the filehandle)
- don't use filehandle *pkgs::LOG, use a my'ed $LOG
- since we use the "fileno", perl doesn't know we're still using the
- filehandle, and so closes it, and :-(
-
- * network/netconnect.pm: in network::netconnect::main(), declare @l as it
- should be. But the code is really wrong, it NEEDS fixing
- $modem is redefined 2 lines below its first declaration. this first
- declaration is useless (??)
-
- * standalone/diskdrake: oops, didn't see titi modified option handling
- fix handling of options --expert and --testing
-
- * install_any.pm: use a scalar instead of a typeglob (let typeglobs be
- deprecated!)
-
- * lang.pm: fix handling of "all" languages selected
-
- * network/isdn.pm: since $mouse is undefined, replace it with undef (??)
-
- * diskdrake/interactive.pm: make perl_checker happy
-
- * network/tools.pm:
- - $up was my-ed inside the if-then block though it was used outside
- the block (hint: buggy code)
- - my @country as it should be
-
-2002/11/25 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone.pm:
- - simplify --embedded handling
- - stricter matching on --no-autoc
-
- * ugtk.pm:
- - simplify mcc stuff
- - prevent bad stacking of right icons in mcc at startup
-
- * detect_devices.pm: remove dobles
-
- * my_gtk.pm: warn about broken programs that misuse my_gtk
- display in mcc when embedded only when ready to interact with the user
-
- * harddrake/ui.pm: interactive->exit call my_gtk->exit which destroy the
- window
-
- * common.pm, standalone/drakbug, standalone/drakbug_report:
- s/mdk_rel/mandrake_release/
- consolidate some stuff from standalone tools & mcc into mdk_rel()
-
-2002/11/22 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: incorporate 8.2 HP fixes back in cooker.
-
-2002/11/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakautoinst: use ask_warn when I should, and remove a one
- year old debug statement (???)
-
-2002/11/21 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/net_monitor: switch latest tools that still manually handle
- embedding
- to use my_gtk
- - perl_checker fixes
- - use my_gtk to transparently handle embedding
-
- * standalone/drakproxy: this one requires any
-
- * standalone/drakbug:
- - Gtk::Gdk::ImlibImage is not needed
- - perl_checker fixes
- - fix interactive exit (s/in/$in/ ->exit)
-
- * standalone/drakfont, standalone/drakconnect, standalone/drakTermServ,
- standalone/drakgw: switch latest tools that still manually handle
- embedding
- to use my_gtk
-
- * standalone/drakbackup: switch latest tools that still manually handle
- embedding
- to use my_gtk
- remove dead code about option managment which is
- obsoleted by standalone
-
-2002/11/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: hide the "please wait" at the latest stage
-
- * ugtk.pm:
- - api change for latest harddrake
- - s/$x ne ''/$x/
-
- * security/msec.pm: simplify
- cleanups
-
- * printer/printerdrake.pm: cleanups
- update to new security::level scheme
-
- * standalone/drakbackup: message_noconf_box() and message_underdevel()
- were quite
- identical. let consolidate them
- message_noselect_box() and message_noselect_what_box() were just
- identical (but for their label).
- let consolidate this
- send_mail_pb() and client_ftp_pb() were just identical (modulo their
- label)
- kill heavy duplication in get_cd_info()
- perl_checker fixes
- - don't gratuitously copy a 70 lines help text with typo changes,
- translators will kill us
- - use strict, fix it
- s/$x ne (0|'')/$x/
-
- * standalone/logdrake: do not use print_hello() callback, anyway it does
- not exists (but in
- drakfloppy ...)
- - logdrake does not need any
- - use ugtk for gtkcolor & co
- - perl_checker fixes
-
- * standalone/draksec, standalone/service_harddrake, standalone/drakgw,
- standalone/draksound: perl_checker fixes
-
- * standalone/draksplash: perl_checker fixes
- - fixes for "use strict" (still some work to do since some variables
- are created through ${ $x.$y }
- - use my_gtk :
- o clean code
- o transparently manage embedding
-
- - perl_checker fixes
-
- * standalone/drakproxy, standalone/drakupdate_fstab: fix blind copyright
- copy
-
- * interactive/stdio.pm, standalone/drakbug, standalone/drakTermServ: s/$x
- ne (0|'')/$x/
-
- * standalone/drakfloppy: perl_checker fixes
- more perl_checker fixes
- - don't require unused modules
- - use my_gtk to transparently handle embedding
- - fixes for strict mode
- - fixes for perl_checker (more to come after lunch)
-
- * bootlook.pm: this is a module, not a program
-
-2002/11/19 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, network/ethernet.pm, share/po/az.po, share/po/zh_TW.po,
- standalone/drakconnect, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: default dhcp client is dhcp-client
-
-2002/11/19 gbeauchesne
-
- * mdk-stage1/log.c: Don't forget to va_end() what was va_copy()'ed.
-
-2002/11/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm, share/keyboards.tar.bz2: Added Malayalam keyboard
-
- * share/po/fi.po: updated Finnish file
-
-2002/11/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * security/main.pm, any.pm, security/level.pm, install_steps.pm:
- - fix duplication of sec level setting:
- merge any::get_secure_level() with
- secure::msec::get_secure_level()
- - move security level functions from secure::msec
- to secure::level
- - uses secure::level in install_steps
- - fix duplication of security level labels
- - draksec: use same strings in drakx, got nice
- translations
- - get_default_checks(): make it more readable
-
- * mouse.pm: perldoc: explain basic usage of mouse.pm, regarding
- problems that show up in early interaction between
- harddrake::data and mouse
-
- * harddrake/ui.pm:
- - remove debugging code
- - document menu building
- - add option menu check boxes to prevent (slowly) detecting
- printers and modems
- - remove warnings on usb devices
- - explains more cpu bugs
- - eventually fix --testing effect
- --testing handling was erronously reverted
-
- * security/msec.pm:
- - fix duplication of sec level setting:
- merge any::get_secure_level() with
- secure::msec::get_secure_level()
- - move security level functions from secure::msec
- to secure::level
- - uses secure::level in install_steps
- - fix duplication of security level labels
- - draksec: use same strings in drakx, got nice
- translations
- - get_default_checks(): make it more readable
- previous example in perldoc was buggy;
- put one that really works
-
- * diskdrake/hd_gtk.pm, diskdrake/interactive.pm: make perldoc working
-
- * harddrake/data.pm: don't display two times some usb mice
-
- * help.pm: one can now alter settings there
-
-2002/11/18 Pixel <pixel@mandrakesoft.com>
-
- * network/netconnect.pm, Xconfig/card.pm, bootlook.pm, printer/main.pm,
- printer/detect.pm, Xconfig/monitor.pm, network/adsl.pm, standalone.pm,
- pkgs.pm, harddrake/sound.pm, printer/office.pm, network/isdn.pm,
- printer/printerdrake.pm, printer/gimp.pm, harddrake/ui.pm: make
- perl_checker happy
-
-2002/11/18 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/net_monitor, standalone/drakfont: drakbug, drakfont,
- drakperm, draksplash, drakxtv, harddrake2,
- net_monitor : final update for common cli options/help manager
- update copyright years
-
- * harddrake/TODO: final switch of drakbackup, logdrake and scannerdrake
- to new option scheme
-
- * standalone/adduserdrake, standalone/drakxservices, standalone/livedrake,
- standalone/keyboarddrake, standalone/drakboot, standalone/mousedrake,
- standalone/drakconnect, standalone/draksound:
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
-
- * standalone/draksplash, standalone/harddrake2, standalone/drakbug,
- standalone/drakperm: drakbug, drakfont, drakperm, draksplash, drakxtv,
- harddrake2,
- net_monitor : final update for common cli options/help manager
-
- * drakxtools.spec: 9.1-0.2dmk
-
- * standalone/drakautoinst, standalone/printerdrake, standalone/XFdrake,
- standalone/drakgw:
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
- update copyright years
-
- * standalone/drakfloppy:
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
- remove old dead commented i18n code that kept being copied around
-
- * standalone/diskdrake: final switch of drakbackup, logdrake and
- scannerdrake
- to new option scheme
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
- update copyright years
-
- * standalone/logdrake: final switch of drakbackup, logdrake and
- scannerdrake
- to new option scheme
- update copyright years
- - clean code sot that it runs under "use strict"
- - simplify date command construction, this is basic perl :-(
- - kill dead old commented code to handle i18n instead of relying on
- common shared modules
- remove old dead commented i18n code that kept being copied around
-
- * modparm.pm, modules/parameters.pm, modules/interactive.pm, any.pm:
- rename modparm as modules::parameters
-
- * standalone.pm: drakbug, drakfont, drakperm, draksplash, drakxtv,
- harddrake2,
- net_monitor : final update for common cli options/help manager
- typo fix
- switch drakTermServ to new option scheme
- rename modparm as modules::parameters
- final switch of drakbackup, logdrake and scannerdrake
- to new option scheme
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
-
- * standalone/drakxtv: drakbug, drakfont, drakperm, draksplash, drakxtv,
- harddrake2,
- net_monitor : final update for common cli options/help manager
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
-
- * bootlook.pm: switch to new help/options scheme
- update copyright years
-
- * harddrake/ui.pm:
- - standalone.pm :
- o make it be 'use strict' aware
- o factorize options managment in one place
- - standalone tools :
- o they all now support -h|--help -v|--version, ...
- o they can add their own options to %standalone::usages
- - harddrake : use std --testing/$::testing rather than its own
- --test option
- simplify code though my_gtk::gtkcolor
-
- * standalone/drakTermServ: switch drakTermServ to new option scheme
-
- * standalone/drakbackup, standalone/scannerdrake: final switch of
- drakbackup, logdrake and scannerdrake
- to new option scheme
- update copyright years
-
- * scanner.pm, standalone/drakproxy, security/msec.pm,
- printer/printerdrake.pm: update copyright years
-
-2002/11/17 alus
-
- * share/po/pl.po: fix
-
-2002/11/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/pt.po: updated Portuguese and Chinese files
-
-2002/11/15 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, run_program.pm, interactive.pm, c.pm, ftp.pm:
- s/wantarray/wantarray()/
-
-2002/11/15 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Xconfig/monitor.pm: perl_checker fix
-
- * harddrake/data.pm: s/usbvideo/usbvision/
-
- * standalone/drakxtv: typo fix
-
- * printer/printerdrake.pm:
- - more cleanups
- - don't display messages if we're not going to remove/install some
- packages
- cleanups
- cleanups
- printerdrake::install_spooler() : fix heavy duplication of code
- by using %spoolers data structure (function shrunked by 66%)
- consolidate some stuff into printer::data::spoolers{XXX}{alternatives}
- so that all alternatives get centralized in one data structure
- cleanups
-
- * printer/data.pm: printerdrake::install_spooler() : fix heavy duplication
- of code
- by using %spoolers data structure (function shrunked by 66%)
- consolidate some stuff into printer::data::spoolers{XXX}{alternatives}
- so that all alternatives get centralized in one data structure
-
- * security/main.pm:
- - use run_program rather than raw system
- - kill useless show_msec_help()
- - kill commented remanant code of help buttons
- - add tooltip with default values on combos & entries
- - log about security administrator changes only when we do some
- - factorize some code into new_editable_combo() and
- set_default_tip()
-
- * Makefile.config, drakxtools.spec, harddrake/sound.pm,
- Makefile.drakxtools:
- - add missing printer directory
- - bump version to 9.1 like most of our packages
-
-2002/11/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po: updated Romanian file
-
- * standalone/drakfont: Make drakfont use ttmkfdir again, as it recognizes
- more encodings,
- use of parameter "-u" of ttmkfdir to always output unicode entries,
- call xftcache to create/update the Xftcache files (used by Xft),
- rewrite fonts.dir (with ttmkfdir) when removing a ttf file so it no
- longer appears on the font list, and execute "xset fp rehash" after
- adding/removing fonts, so the font list used by X server is
- synchronized.
-
-2002/11/14 Pixel <pixel@mandrakesoft.com>
-
- * printer/cups.pm, bootlook.pm, network/network.pm, resize_fat/main.pm,
- printer/office.pm, partition_table/dos.pm, scanner.pm, unused/scsi.pm,
- my_gtk.pm, swap.pm, install_steps_interactive.pm, Xconfig/xfreeX.pm,
- network/smb.pm, devices.pm, crypto.pm, commands.pm, printer/gimp.pm,
- any.pm, install_steps_gtk.pm, printer/main.pm, printer/detect.pm,
- interactive/stdio.pm, interactive/newt.pm, fs.pm,
- resize_fat/dir_entry.pm, ugtk.pm, run_program.pm, bootloader.pm,
- steps.pm, harddrake/data.pm, diskdrake/hd_gtk.pm, interactive/gtk.pm,
- detect_devices.pm, network/tools.pm, install_any.pm,
- printer/printerdrake.pm, harddrake/ui.pm:
- - add/remove spaces to make perl_checker happy
- - remove redundant parentheses
- - add some parentheses for clarity
-
- * partition_table/mac.pm, ftp.pm, pkgs.pm: make perl_checker happy
- - add/remove spaces to make perl_checker happy
- - remove redundant parentheses
- - add some parentheses for clarity
-
- * partition_table/gpt.pm, partition_table/raw.pm, partition_table.pm: make
- perl_checker happy
-
-2002/11/14 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/v4l.pm: resync with bttv-0.7.100 and saa7134-0.2.2snapshot
-
- * drakxtools.spec: 1.1.12-1mdk
-
- * security/main.pm:
- - kill unused myexit()
- - perl_checker fixes
-
- * printer/main.pm, printer/data.pm, printer/STATUS, printer/office.pm,
- printer/gimp.pm:
- - printer::data : export all data structures
- - cleanups
- - all code is now runnable in strict mode
-
- * security/msec.pm:
- - perl_checker fixes
- - clean code
- - simplify config_function()
-
- * harddrake/ui.pm: explain the detect() vs new() delayed gui construction
- when embedded
- display port for network printers too
-
-2002/11/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/ru.po: updated Slovak and Russian files
-
-2002/11/13 Pixel <pixel@mandrakesoft.com>
-
- * printer/common.pm: fix syntax error
-
- * Xconfig/various.pm, http.pm, network/network.pm, network/modem.pm,
- resize_fat/main.pm, install_gtk.pm, interactive.pm, my_gtk.pm, mouse.pm,
- printer/data.pm, devices.pm, lang.pm, install2.pm, install_steps_gtk.pm,
- interactive/http.pm, partition_table/mac.pm, pkgs.pm,
- interactive/newt.pm, network/ethernet.pm, standalone/XFdrake, steps.pm,
- harddrake/data.pm, keyboard.pm, network/adsl.pm, fsedit.pm,
- install_any.pm, harddrake/ui.pm: add/remove spaces to make perl_checker
- happy
-
- * bootlook.pm, printer/office.pm, scanner.pm, install_steps.pm,
- network/isdn.pm, install_steps_interactive.pm, network/netconnect.pm,
- harddrake/v4l.pm, printer/main.pm, harddrake/sound.pm, ugtk.pm,
- network/tools.pm, printer/printerdrake.pm: add/remove spaces to make
- perl_checker happy
- add/remove spaces to make perl_checker happy
-
-2002/11/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer/printerdrake.pm: simplify install_spooler() but there's still
- lot of duplication there
- (some work for tomorow)
- - final switch to $::prefix
- - simplify main::get_copiable_queues(), main::setcupslink()
- - s/unless (X ne Y)/if (X eq Y)/
- - set_usermode() : ensure we add the line if it didn't exists
-
- * harddrake/ui.pm: display floppy driver type as well as mouse type
-
- * printer/office.pm: fix files lookup
- printer::common: export function
-
- * printer/gimp.pm: don't reinvent the wheel, use common
-
- * detect_devices.pm: fix vendor/model spliting when there's neither space
- nor separator
-
- * printer/common.pm: printer::common: export function
-
- * printer/main.pm:
- - final switch to $::prefix
- - simplify main::get_copiable_queues(), main::setcupslink()
- - s/unless (X ne Y)/if (X eq Y)/
- - set_usermode() : ensure we add the line if it didn't exists
- - set_usermode() : don't reinvent the wheel, use substInFile
- - get_usermode() : ditto, use getVarsFromSh
-
- * drakxtools.spec: pixel neither know how to update cvs nor comitting its
- changes
-
-2002/11/12 erwan
-
- * mdk-stage1/network.c, mdk-stage1/stage1.h: Cleaning old stuff
-
-2002/11/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2002/11/12 Pixel <pixel@mandrakesoft.com>
-
- * security/main.pm, bootlook.pm, printer/main.pm, printer/detect.pm,
- partition_table/mac.pm, diskdrake/interactive.pm, pkgs.pm, services.pm,
- printer/office.pm, ugtk.pm, run_program.pm,
- install_steps_auto_install.pm, bootloader.pm, standalone/XFdrake,
- network/netconnect.pm, lang.pm, install2.pm, modules.pm, commands.pm,
- printer/printerdrake.pm, printer/gimp.pm, partition_table.pm: add/remove
- some spaces to make perl_checker happy
-
- * diskdrake/removable_gtk.pm: add "use common" for N()
-
-2002/11/12 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer/main.pm: kill set_prefix()
- printer related modules cleaning :
- - create the printer/ hierarchy
- - split services related stuff into services.pm & printer::services,
-
- - move things that've nothing to do with printers into common.pm
- (alternatives, permissions, ...)
-
- - move eveything related to cups, gimp-print, detection,
- {star,open}office to the corresponding splited printer:: module
-
- - big consolidation of printer::office (it was obvious there were tons
- of duplication between staroffice and openoffice managment)
-
- - move other stuff into printer::main, printer::common,
-
- status : print.pm has been heavily splited (now one can begin to
- understand the little bits).
- printerdrake still needs to be splited/cleaned and eventually removed
- since printer/printerdrake modules separation is not understandable by
- other people
-
- till, in printer::gimp, $lprcommand is neither declared nor setted
- nowhere. idem in mdk9.0 ...
-
- * security/main.pm: fix _() -> N() conversion
-
- * install_steps_interactive.pm: resync with latest printerdrake
-
- * printer/printerdrake.pm: fix getSNMPModel() location
- printer related modules cleaning :
- - create the printer/ hierarchy
- - split services related stuff into services.pm & printer::services,
-
- - move things that've nothing to do with printers into common.pm
- (alternatives, permissions, ...)
-
- - move eveything related to cups, gimp-print, detection,
- {star,open}office to the corresponding splited printer:: module
-
- - big consolidation of printer::office (it was obvious there were tons
- of duplication between staroffice and openoffice managment)
-
- - move other stuff into printer::main, printer::common,
-
- status : print.pm has been heavily splited (now one can begin to
- understand the little bits).
- printerdrake still needs to be splited/cleaned and eventually removed
- since printer/printerdrake modules separation is not understandable by
- other people
-
- till, in printer::gimp, $lprcommand is neither declared nor setted
- nowhere. idem in mdk9.0 ...
-
- * drakxtools.spec: 1.1.12-1mdk
-
- * printer/cups.pm, printer/detect.pm, printer/common.pm,
- standalone/printerdrake, services.pm, printer/office.pm,
- printer/default.pm, printer.pm, printer/data.pm, common.pm,
- printer/services.pm, printerdrake.pm, printer/gimp.pm: printer related
- modules cleaning :
- - create the printer/ hierarchy
- - split services related stuff into services.pm & printer::services,
-
- - move things that've nothing to do with printers into common.pm
- (alternatives, permissions, ...)
-
- - move eveything related to cups, gimp-print, detection,
- {star,open}office to the corresponding splited printer:: module
-
- - big consolidation of printer::office (it was obvious there were tons
- of duplication between staroffice and openoffice managment)
-
- - move other stuff into printer::main, printer::common,
-
- status : print.pm has been heavily splited (now one can begin to
- understand the little bits).
- printerdrake still needs to be splited/cleaned and eventually removed
- since printer/printerdrake modules separation is not understandable by
- other people
-
- till, in printer::gimp, $lprcommand is neither declared nor setted
- nowhere. idem in mdk9.0 ...
-
- * standalone/drakxtv: don't offer to configure kernel for usbvision (no
- option for now)
- handle devices managed by usbvision too
-
- * install_steps.pm: update for new printerdrake
-
- * harddrake/data.pm: resync with printerdrake
- handle devices managed by usbvision too
- exclude more usb mice from unknown devices
-
-2002/11/11 alus
-
- * share/po/pl.po: updated
-
-2002/11/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/ru.po: updated Russian and Vietnamese files
-
-2002/11/11 Pixel <pixel@mandrakesoft.com>
-
- * security/msec.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
- - use "foreach" instead of "for" in list context
- - use "for" instead of "foreach" when used a la C
- various small syntax enhancements to please perl_checker
-
- * partition_table/sun.pm:
- - use "foreach" instead of "for" in list context
- - use "for" instead of "foreach" when used a la C
-
- * Xconfig/card.pm, bootlook.pm, my_gtk.pm, network/netconnect.pm,
- harddrake/data.pm, network/tools.pm, install_any.pm, security/main.pm,
- network/isdn.pm, harddrake/ui.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
-
- * detect_devices.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
- - do not use "foreach $var (...) {...}" use "foreach my $var (...)
- {...}" instead
- (only pb are functions called in {...} that could use $var, none found
- except in commands.pm)
- - various small syntax enhancements to please perl_checker
-
- * partition_table/mac.pm:
- - do not use "foreach $var (...) {...}" use "foreach my $var (...)
- {...}" instead
- (only pb are functions called in {...} that could use $var, none found
- except in commands.pm)
- - various small syntax enhancements to please perl_checker
-
- * pkgs.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- - do not use "foreach $var (...) {...}" use "foreach my $var (...)
- {...}" instead
- (only pb are functions called in {...} that could use $var, none found
- except in commands.pm)
- - various small syntax enhancements to please perl_checker
-
- * network/adsl.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
- replace qq{...} with qq(...)
-
- * network/network.pm, mouse.pm, standalone.pm, network/drakfirewall.pm,
- partition_table.pm, partition_table/bsd.pm, ugtk.pm, Xconfig/monitor.pm,
- modules.pm, network/shorewall.pm, network/modem.pm, resize_fat/main.pm,
- resize_fat/any.pm, install_gtk.pm, unused/scsi.pm,
- resize_fat/directory.pm, lang.pm, devices.pm, harddrake/v4l.pm, any.pm,
- install_steps_gtk.pm, ftp.pm, services.pm, harddrake/sound.pm,
- Xconfig/test.pm, steps.pm, keyboard.pm, interactive/gtk.pm,
- partition_table/lvm_PV.pm, network/isdn_consts.pm: add or remove spaces
- where need to please perl_checker
-
- * standalone/drakfloppy: don't use <*> for globbing, use all or glob_
-
- * standalone/logdrake: replace q@...@ with q(...) or here_doc
-
- * interactive/stdio.pm, common.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- various small syntax enhancements to please perl_checker
-
- * http.pm, install_steps.pm, interactive/newt.pm, fs.pm, diskdrake/dav.pm:
-
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
-
- * resize_fat/fat.pm:
- - use "foreach" instead of "for" in list context
- - use "for" instead of "foreach" when used a la C
- various small syntax enhancements to please perl_checker
-
- * standalone/draksplash, raid.pm, Xconfig/xfreeX.pm,
- partition_table/raw.pm: various small syntax enhancements to please
- perl_checker
-
- * install2.pm: add or remove spaces where need to please perl_checker
- replace availableMemory with availableMemory()
-
- * scanner.pm, commands.pm: add or remove spaces where need to please
- perl_checker
- - do not use "foreach $var (...) {...}" use "foreach my $var (...)
- {...}" instead
- (only pb are functions called in {...} that could use $var, none found
- except in commands.pm)
- - various small syntax enhancements to please perl_checker
-
- * install_steps_interactive.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
- replace availableMemory with availableMemory()
-
- * network/ethernet.pm: add or remove spaces where need to please
- perl_checker
- various small syntax enhancements to please perl_checker
-
- * printerdrake.pm, printer.pm:
- - replace ... =~ 'foo' with ... =~ /foo/
- - remove unneeded parentheses for things like ... if (...)
- add or remove spaces where need to please perl_checker
- - use "foreach" instead of "for" in list context
- - use "for" instead of "foreach" when used a la C
- - do not use "foreach $var (...) {...}" use "foreach my $var (...)
- {...}" instead
- (only pb are functions called in {...} that could use $var, none found
- except in commands.pm)
- - various small syntax enhancements to please perl_checker
-
-2002/11/10 gbeauchesne
-
- * mdk-stage1/minilibc.c: Fix implementation of signal() for x86-64, adjust
- for new kernel-headers
-
-2002/11/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive/http.pm: don't return a typeglob ref, return the typeglob
- (reference to typeglobs are
- soft references which doesn't increment the ref count)
-
- * network/tools.pm: don't return a typeglob ref, return the typeglob
- (reference to typeglobs are
- soft references which doesn't increment the ref count) (thanks to Gerard
- Patel
- for the precise bug report)
-
- * standalone/draksplash, standalone/drakperm, standalone/drakbug,
- bootlook.pm, standalone/harddrake2, standalone/printerdrake,
- standalone/logdrake, standalone/drakfloppy, standalone/localedrake:
- ensure "common" is imported to have N()
-
-2002/11/09 Pixel <pixel@mandrakesoft.com>
-
- * proxy.pm: fix typo
-
- * network/tools.pm:
- - do not use q{...} to please perl_checker
- - use <<'EOF' instead
- - at the same time, fix the "\n" at the beginning of the generated
- script
-
- * harddrake/data.pm: make perl_checker happy
-
-2002/11/08 Pixel <pixel@mandrakesoft.com>
-
- * printer.pm: fix my typos
-
- * my_gtk.pm: normalize
-
-2002/11/07 erwan
-
- * mdk-stage1/stage1-data/stage1-with-kadeploy.tar.bz2,
- mdk-stage1/network.c, mdk-stage1/stage1.h, mdk-stage1/url.c: SCSI
- Support is now activated
-
- * rescue/Makefile: Adding missing link for test in tree/usr/bin
-
- * rescue/list, rescue/list.i386: SCSI support now activated
-
-2002/11/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Added definition of default font for Thai
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/nl.po, share/po/it.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/lv.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/hu.po: updated
- pot file
-
- * share/rpmsrate: Added dependences for greek font and urw-fonts for
- cyrillic
-
-2002/11/07 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * detect_devices.pm:
- - getCPUs() : fix cpu fields parsing
- - harddrake::detect :
- o describe most cpu fields
- o print value of skipped fields
- perl checker fixes
- - harddrake : don't display modem when there're none
- - getModem() :
- o simplify
- o remove unused variables
- - getSerialModem() : indent
-
- * harddrake/ui.pm:
- - getCPUs() : fix cpu fields parsing
- - harddrake::detect :
- o describe most cpu fields
- o print value of skipped fields
- - describe cpu frequency
- - only display help topics related to currently displayed fields in
- right framea
- - if no device selected, display a message explaining the help dialog
- - simplify the unknow driver case for color choice
- - only display fields we described
- perl checker fixes
- - add help for some cpu items
- - only display choosen items
- - remove a dead statement
-
- * drakxtools.spec: 1.1.11-1mdk
-
-2002/11/06 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem-all: add extra partition support as primary/logical
- with configurable size and fs.
- allow configurable min_size, def_size, trigger_size, inst_size,
- swap_size.
-
-2002/11/06 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm, install_any.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- replace complex "unless"s with "if"s
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * printerdrake.pm: replace "for my ..." with "foreach my ..."
- replace complex "unless"s with "if"s
- remove unneeded parentheses on the right side of infix if/foreach/unless
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * partition_table/raw.pm: remove unneeded parentheses on the right side of
- infix if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * harddrake/data.pm, install2.pm, standalone/service_harddrake,
- standalone/scannerdrake: make perl_checker happy
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * network/netconnect.pm, diskdrake/interactive.pm, network/isdn.pm:
- replace complex "unless"s with "if"s
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * standalone/draksplash, bootlook.pm, share/advertising/14-mdkexpert.pl,
- standalone/logdrake, share/advertising/17-mdkclub.pl, interactive.pm,
- my_gtk.pm, share/advertising/11-mdkstore.pl,
- share/advertising/02-community.pl, share/advertising/01-thanks.pl,
- mouse.pm, standalone/keyboarddrake, standalone/drakboot,
- share/po/DrakX.pot, standalone.pm, lvm.pm, standalone/drakTermServ,
- standalone/net_monitor, share/advertising/05-games.pl,
- network/drakfirewall.pm, standalone/mousedrake, Xconfig/main.pm,
- install_steps_newt.pm, standalone/drakbackup, diskdrake/smbnfs_gtk.pm,
- share/advertising/09-server.pl, share/advertising/04-multimedia.pl,
- standalone/printerdrake, share/advertising/13-mdkcampus.pl,
- install_steps_auto_install.pm, standalone/drakconnect,
- standalone/drakbug, diskdrake/hd_gtk.pm,
- share/advertising/07-desktop.pl, Xconfig/monitor.pm, network/adsl.pm,
- proxy.pm, modules.pm, share/advertising/10-mnf.pl, network/shorewall.pm,
- share/advertising/15-mdkexpert-corporate.pl,
- share/advertising/08-development.pl, share/advertising/06-mcc.pl,
- standalone/draksound, standalone/drakxtv, security/main.pm,
- Xconfig/various.pm, network/modem.pm, help.pm,
- diskdrake/removable_gtk.pm, install_gtk.pm, diskdrake/removable.pm,
- standalone/drakautoinst, share/po/b_dump_strings.pm, modparm.pm,
- install_steps_stdio.pm, Xconfig/xfreeX.pm, standalone/livedrake,
- share/advertising/03-internet.pl, standalone/harddrake2,
- harddrake/v4l.pm, modules/interactive.pm, crypto.pm,
- install_interactive.pm, share/advertising/12-mdkstore.pl,
- standalone/localedrake, loopback.pm, any.pm, interactive/http.pm,
- interactive/stdio.pm, standalone/drakfloppy, services.pm,
- interactive/newt.pm, share/po/Makefile, fs.pm, standalone/drakfont,
- network/ethernet.pm, Xconfig/resolution_and_depth.pm, standalone/drakgw,
- steps.pm, keyboard.pm, diskdrake/dav.pm, standalone/drakperm, fsedit.pm,
- common.pm, share/po/fake_c.pl, harddrake/ui.pm: replace "_" with "N" and
- "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * install_steps.pm: replace complex "unless"s with "if"s
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * bootloader.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- cleanup get_of_dev (aka ofpath)
- replace complex "unless"s with "if"s
- remove unneeded parentheses on the right side of infix if/foreach/unless
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * network/network.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- (write_resolv_conf): much cleanup (originally it was meant to introduce
- cat_ and output, but it ended up with a complete rewrite :)
- replace complex "unless"s with "if"s
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * scanner.pm: make perl_checker happy
- make perl_checker happy
-
- * commands.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- (cp): use cp_af
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
-
- * Xconfig/test.pm: please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * standalone/diskdrake, network/nfs.pm: make perl_checker happy
-
- * Xconfig/card.pm: when needVideoRam, don't take the raw value
- VideoRam_probed,
- better take a known value <= VideoRam_probed
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * Xconfig/xfree4.pm: please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
-
- * log.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
-
- * detect_devices.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- make perl_checker happy
- replace complex "unless"s with "if"s
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
-
- * ugtk.pm: make perl_checker happy
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * install_steps_interactive.pm, harddrake/sound.pm: make perl_checker
- happy
- replace complex "unless"s with "if"s
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * standalone/XFdrake: fix typo
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * raid.pm, network/tools.pm, install_steps_gtk.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * printer.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- replace "for my ..." with "foreach my ..."
- remove unneeded parentheses on the right side of infix if/foreach/unless
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
- * pkgs.pm:
- - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."
- - use some "cat_" and "output" where possible
- please perl_checker:
- - local'ize $_ before doing while (<...>)
- - use "foreach" instead of "for"
- - remove unneeded parentheses on the right side of infix
- if/foreach/unless
- replace "_" with "N" and "__" with "N_"
- rationale:
- - currently, we use _("xxx") as a shorthand for gettext("xxx"). It
- also used to call xgettext with --keyword=_
-
- - alas, function &_ is global and not by package (notice esp. that _
- is not exported in common.pm)
-
- - this lead to big ugly pb with packages defining their own &_,
- overriding common.pm's &_
-
- - a fix is to set @::textdomains to add a new domain (the default
- being "libDrakX")
-
- but relying on the global "_" is still dangerous!
-
-2002/11/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 1.1.10-mdk
-
- * harddrake/sound.pm: fix for modules.pm not exporting
- category2modules_and_description
-
-2002/11/05 erwan
-
- * rescue/tree/etc/rc.sysinit: modified rc.sysinit for ka
-
-2002/11/05 gbeauchesne
-
- * c/smp.c: Revert last change
- Add generic cpu detection on x86-64 and IA-64, based on
- sysconf(_SC_NPROCESSORS_ONLN)
-
- * detect_devices.pm: Detect SMP more easily if we have APIC stuff capable
-
-2002/11/05 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm: add /dev/ubd/0, /dev/ubd/1... support (thanks to Brian
- Murrell)
-
- * mouse.pm (xmouse2xId): ensure weird ids are ignored
- use find_index instead of map_index
-
- * interactive/newt.pm:
- - fix dialog boxes using a scrollbar
- - cleanup
- use each_index instead of map_index when the return value is not used
-
- * interactive.pm:
- - do not handle "format"ing in interactive for combos
- - do it in interactive::gtk instead (that way, "val" is back"format"ed
- in callbacks as wanted)
- - die when editable combos are used with non-strings (like arrays or
- hashes)
-
- * partition_table.pm:
- - isUBD can tell wether it is an ubd partition
- - isSpecial is true for ubd partitions
-
- * fs.pm (format_ext2): better error message when it is called from
- format_ext3
- (thanks to Brian Murrell)
-
- * diskdrake/interactive.pm, fsedit.pm: introduce a new flag:
- getting_rid_of_readonly_allowed. It is set when the partition table
- badly handled by diskdrake, but we are still allowed to wipe the
- partition table and start
- with something new.
-
- * interactive/gtk.pm:
- - do not handle "format"ing in interactive for combos
- - do it in interactive::gtk instead (that way, "val" is back"format"ed
- in callbacks as wanted)
- - die when editable combos are used with non-strings (like arrays or
- hashes)
- use each_index instead of map_index when the return value is not used
-
- * install2.pm: basic uml_install support (thanks to Brian Murrell)
- use each_index instead of map_index when the return value is not used
-
- * interactive/http.pm, interactive/stdio.pm, ugtk.pm, raid.pm,
- bootloader.pm: use each_index instead of map_index when the return value
- is not used
-
- * Newt/Newt.xs:
- - fix dialog boxes using a scrollbar
- - cleanup
-
- * services.pm: fix the use of a non-bounded regexp to check services (fix
- "nfs" being marked
- on whereas it is "nfslock" which is on)
-
-2002/11/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/mkINSTALLCD: Update PPC boot CD creation.
-
- * mdk-stage1/init.c: PPC TIOCSCTTY changed to 0x540E
-
-2002/11/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: newt rebuild
-
-2002/11/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po: updated Slovak file
-
-2002/11/04 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm, Xconfig/xfreeX.pm, Xconfig/parse.pm,
- standalone/keyboarddrake: add XkbCompat "group_led" for all keyboards
- where a group layout switching is used
-
- * Xconfig/xfree.pm: have an empty configuration when a config file is
- buggy
-
-2002/11/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer.pm: typo fixes
-
- * drakxtools.spec: 1.1.10-2mdk
-
-2002/11/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ru.po, share/po/pt_BR.po: updated Russian and Portuguese files
-
-2002/10/31 erwan
-
- * mdk-stage1/stage1.c, mdk-stage1/network.c, mdk-stage1/tools.c,
- mdk-stage1/tools.h, mdk-stage1/url.h, mdk-stage1/url.c: Including
- ka-deploy for stage 2
-
- * mdk-stage1/stage1-data/stage1-with-kadeploy.tar.bz2: Including ka-deploy
- for stage 2
- Adding missing file (stage1-with-kadeploy)
-
-2002/10/30 erwan
-
- * mdk-stage1/stage1.c, mdk-stage1/network.c, mdk-stage1/stage1.h,
- mdk-stage1/network.h: Applying patch from 8.2, ka.img is working fine in
- old mode
-
-2002/10/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
-2002/10/29 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * bootloader.pm, rescue/list.ppc: Reflect changes in yaboot package.
-
-2002/10/28 alus
-
- * share/po/pl.po: updated
- updated translation
-
-2002/10/28 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/modem.pm: add sub winmodemConfigure
-
- * network/netconnect.pm: few reworks for winmodem detection
-
- * detect_devices.pm: s#$_->{driver} eq
- 'Bad:www.linmodems.org'#$_->{driver} =~ /www.linmodems.org/# to fit with
- ldetect
-
-2002/10/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po: Updated Romanian and Vietnamese files
-
-2002/10/28 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (preConfigureTimezone): don't set UTC in beginner mode if
- there is no windows
-
-2002/10/28 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: typo in comments: Josep L. Guallar-Esteve
- <jlguallar@computer.org>
-
-2002/10/28 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: add new drivers
-
-2002/10/25 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem-all: reduced version of oem script which allow
- installing in oem mode but
- without restricting language and without installing any packages.
- all package are copied to disk, ie this is an automated hd install
- builder.
-
-2002/10/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/vi.po: updated Chinese and Vietnamese files
-
-2002/10/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: Updated
- pot file
-
-2002/10/23 Pixel <pixel@mandrakesoft.com>
-
- * network/netconnect.pm, install_steps_newt.pm, harddrake/sound.pm: make
- perl_checker happy: replace PKG::f with PKG::f()
-
-2002/10/23 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: nono changes for stupid perl_checker whose maintainer
- don't want to fix deficienties
- reindent for lord pix
-
- * harddrake/sound.pm: do a perl_checker pass after pixel one since he only
- do half the work
- reindent for lord pix
-
- * ugtk.pm, printer.pm, network/adsl.pm, printerdrake.pm: perl_checker
- fixes
-
- * harddrake/v4l.pm, harddrake/ui.pm: reindent for lord pix
-
- * detect_devices.pm: fix "poulpy sux"
-
- * Xconfig/resolution_and_depth.pm: fix pixel code
-
-2002/10/18 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * detect_devices.pm: change dumb return values s/@pci_modems,
- $serial_modem/$serial_modem, @pci_modems/ (thanks to pixel)
-
- * network/netconnect.pm: remove useless 'pop'
- change dumb return values s/@pci_modems, $serial_modem/$serial_modem,
- @pci_modems/ (thanks to pixel)
-
-2002/10/17 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * harddrake/sound.pm: titi almost sux (he helped me that's why I can't say
- titi sux :p)
-
-2002/10/17 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, interactive/gtk.pm, network/modem.pm, Xconfig/monitor.pm,
- pkgs.pm, interactive/newt.pm, install_steps.pm,
- Xconfig/resolution_and_depth.pm, install_steps_interactive.pm: make new
- perl_checker happy: replacing PKG::f by PKG::f()
-
- * network/netconnect.pm: "=head" doc must end with "=cut"
-
-2002/10/17 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * printer.pm: consolidate more stuff into %spoolers
- start to consolidate %spoolers as a data structure
- - printerdrake::auto_detect(local, net, smb):
- o split into local_detect, net_detect, net_smb_detect
- o detect: return all printers
- - printer: consolidate all *help_output into help_output
-
- * detect_devices.pm: add some comments to getCPUs
-
- * printerdrake.pm: setup_common: consolidate regexp
- - printerdrake::auto_detect(local, net, smb):
- o split into local_detect, net_detect, net_smb_detect
- o detect: return all printers
- - printer: consolidate all *help_output into help_output
-
- * network/netconnect.pm: document network::netconnect::detect()
-
- * harddrake/data.pm:
- - printerdrake::auto_detect(local, net, smb):
- o split into local_detect, net_detect, net_smb_detect
- o detect: return all printers
- - printer: consolidate all *help_output into help_output
-
-2002/10/16 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/netconnect.pm:
- - winmodem detection fix
-
-2002/10/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * my_gtk.pm: fix dams suckiness breaking install2 --test
-
-2002/10/16 Pixel <pixel@mandrakesoft.com>
-
- * patch/patch-da.pl, patch/patch-IMPS2.pl:
- - fix for bad da .mo charset
- - ugly hack to allow IMPS2 switch to work
-
- * c/stuff.xs.pl: initIMPS2: use /dev/mouse instead of /dev/cdrom (!)
-
-2002/10/16 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: don't print empty help for fields without any help
- - alphabetically sort help items
- - add help for some cpu fields
- fix Gtk::CTree:insert_node inversing devices order
- -add cpus detection
- - update todo list
- - perl_checker fix
-
- * standalone/drakfont: bit me!
-
- * detect_devices.pm: getCPUs() : fix multiples cpu detection
- -add cpus detection
- - update todo list
- - perl_checker fix
-
- * harddrake/data.pm: display cpu name (eg "Pentium") too in harddrake gui
- display "$vendor cpu number $id" for cpus in harddrake gui
- miaouh
- use code factored in detect_devices for modem detection
- -add cpus detection
- - update todo list
- - perl_checker fix
-
- * drakxtools.spec: 1.1.10-1mdk
- buildrequires: libext2fs-devel
-
- * harddrake/v4l.pm, harddrake/TODO:
- -add cpus detection
- - update todo list
- - perl_checker fix
-
-2002/10/15 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * detect_devices.pm: add Pioneer to vendors list
-
- * harddrake/data.pm: display again unknown category (spoted by florent
- beranger)
-
-2002/10/14 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: remove initrd images before umounting and exiting.
-
-2002/10/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: updated Basque file
-
-2002/10/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm, install_any.pm: Hide password to browse W2k
- servers. (Buchan Milne).
- Domain name to all caps in smb.conf. (Buchan Milne).
-
- * standalone/drakTermServ: Finish thin client setup option.
-
-2002/10/14 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakbug:
- - fix typos
- - when something is eating io bandwith, drakbug is very slow to scroll
- the menu, since on each item selection, it does rpm db
- access. solution :
- o cache rpm result in %packages
-
- o only call rpm & which if nothing is cached
-
- - if there's the selected package isn't installed, just print "package
- not installed" (and translate that)
-
-2002/10/12 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Read/Write thin client configuration.
- Add draktermserv config to enable/disable thin clients.
- Update documentation.
-
-2002/10/11 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm: fix speedtouch detection
-
-2002/10/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po, share/po/pt.po, share/po/DrakX.pot: updated Catalan and
- Portuguese files
-
-2002/10/11 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Dynamic IP pool for client machines.
- Don't require image for PCI clients.
- Perl_checker fixes.
-
-2002/10/10 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm: notify if speedtouch is detected or not
-
- * network/netconnect.pm: add a warning window for winmodems
-
- * detect_devices.pm, network/modem.pm:
- - move serial modem detection to detect_devices.pm
- - add speedtouch USB detection
- - add winmodem detection
-
-2002/10/10 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Correct typo in create boot ISO code
- Add note in help about optional net boot image entry for PCI cards
-
-2002/10/09 gbeauchesne
-
- * mdk-stage1/log.c: ISO C standard as to say about va_list on 7.15 [#3]
- If access to the varying arguments is desired, the called
- function shall declare an object (referred to as ap in this
- subclause) having type va_list. The object ap may be passed
- as an argument to another function; if that function invokes
- the va_arg macro with parameter ap, the value of ap in the
- calling function is indeterminate and shall be passed to the
- va_end macro prior to any further reference to ap.199)
- Which interprets to do reuse a va_list that was already processed.
- Instead, use a copy. This fixes crashes on x86-64 and debugging
- feasible, since logging is now available. ;-)
-
- * mdk-stage1/minilibc.h, mdk-stage1/minilibc.c: Add support for x86-64 to
- minilibc. But we don't really use it yet, as glibc
- requirements for stage1 undoubtedly make images already bigger. So let
- have
- glibc init there too. ;-)
-
- * bootloader.pm: I surely don't want nor expect grub and loadlin to work
- on x86-64.
-
- * share/list.x86_64: Update list for perl mods and XF86 4.2.1 support
-
- * tools/aewm-drakx/misc.c: Apply FredL change from HEAD
-
- * mdk-stage1/disk.c: Use standard memset() instead of BSD-ish bzero().
-
- * mdk-stage1/Makefile, mdk-stage1/Makefile.common: Add x86-64, use glibc
- in init and stage1 as dietlibc is not working enough
- and minilibc for init doesn't seem to let umounting take place at the
- end
- of installation.
-
- * fs.pm: SYS_umount does not exist on modern kernels and architectures
- like x86-64 :)
-
- * mdk-stage1/rescue-gui.c: lib64 support
-
- * tools/aewm-drakx/client.c: Fix get/set_wm_state(), we have to get the
- same data (size) that was set.
-
- * mdk-stage1/init.c: Add support for lib64 architectures (x86-64, ppc64,
- etc.). Aka native
- libraries are in */lib64 there.
-
- * install_any.pm: Let's try a real bash prior to defaulting to perl'ish
- /bin/sh?
-
- * Xconfig/card.pm: Default to XF4 on x86-64 too
-
- * install_steps_gtk.pm: Yeah, stuck with XFree86 4.X server on x86-64 too.
-
- * partition_table.pm: Supported journalised FS on x86-64 are ReiserFS and
- ext3fs for now. Though,
- I haven't tested reiserfs and don't expect it to work before next kernel
- update.
-
- * mdk-stage1/insmod-modutils/util/sys_oim.c,
- mdk-stage1/insmod-modutils/obj/obj_common.c,
- mdk-stage1/insmod-modutils/include/obj.h,
- mdk-stage1/insmod-modutils/util/xsystem.c,
- mdk-stage1/insmod-modutils/include/util.h,
- mdk-stage1/insmod-modutils/include/version.h,
- mdk-stage1/insmod-modutils/util/sys_cm.c,
- mdk-stage1/insmod-modutils/obj/obj_s390.c,
- mdk-stage1/insmod-modutils/include/elf_sparc64.h,
- mdk-stage1/insmod-modutils/include/elf_ppc.h,
- mdk-stage1/insmod-modutils/insmod.c,
- mdk-stage1/insmod-modutils/include/kallsyms.h,
- mdk-stage1/insmod-modutils/include/elf_arm.h,
- mdk-stage1/insmod-modutils/include/module.h,
- mdk-stage1/insmod-modutils/util/xmalloc.c,
- mdk-stage1/insmod-modutils/util/snap_shot.c,
- mdk-stage1/insmod-modutils/include/kerneld.h,
- mdk-stage1/insmod-modutils/util/sys_qm.c,
- mdk-stage1/insmod-modutils/obj/obj_load.c,
- mdk-stage1/insmod-modutils/obj/obj_alpha.c,
- mdk-stage1/insmod-modutils/obj/obj_x86_64.c,
- mdk-stage1/insmod-modutils/include/config.h,
- mdk-stage1/insmod-modutils/Makefile,
- mdk-stage1/insmod-modutils/obj/obj_gpl_license.c,
- mdk-stage1/insmod-modutils/obj/obj_i386.c,
- mdk-stage1/insmod-modutils/obj/obj_mips.c,
- mdk-stage1/insmod-modutils/include/elf_alpha.h,
- mdk-stage1/insmod-modutils/include/elf_s390.h,
- mdk-stage1/insmod-modutils/util/config.c,
- mdk-stage1/insmod-modutils/util/sys_dm.c,
- mdk-stage1/insmod-modutils/include/elf_x86_64.h,
- mdk-stage1/insmod-modutils/include/elf_m68k.h,
- mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
- mdk-stage1/insmod-modutils/include/elf_i386.h,
- mdk-stage1/insmod-modutils/util/xstrcat.c,
- mdk-stage1/insmod-modutils/obj/obj_arm.c,
- mdk-stage1/insmod-modutils/obj/obj_m68k.c,
- mdk-stage1/insmod-modutils/util/sys_nim.c,
- mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
- mdk-stage1/insmod-modutils/util/arch64.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa.c,
- mdk-stage1/insmod-modutils/util/sys_gks.c,
- mdk-stage1/insmod-modutils/include/elf_mips.h,
- mdk-stage1/insmod-modutils/util/logger.c,
- mdk-stage1/insmod-modutils/obj/obj_ppc.c,
- mdk-stage1/insmod-modutils/util/xrealloc.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc.c,
- mdk-stage1/insmod-modutils/util/alias.h,
- mdk-stage1/insmod-modutils/util/xstrdup.c,
- mdk-stage1/insmod-modutils/include/elf_sparc.h,
- mdk-stage1/insmod-modutils/obj/obj_ia64.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
- mdk-stage1/insmod-modutils/obj/obj_reloc.c: Update to modutils 2.4.19
- with x86-64 support and other fixes
-
- * mdk-stage1/frontend.h, mdk-stage1/stdio-frontend.c: Hint compiler about
- unused arguments and don't make it yell in that case. As,
- we do use -Werror along with -Wall stuff.
-
- * mdk-stage1/init-libc-headers.h: <sys/ioctl.h> is needed
-
- * install_gtk.pm: Somehow, "recent" DrakX changes mutated driver into
- Driver and card->type
- into card->BoardName
-
- * printerdrake.pm, any.pm: lib64 fixes
-
- * proxy.pm: wgetrc is in /etc not /usr/lib
-
-2002/10/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: don't use ugtk directly
-
-2002/10/08 Frederic Lepied <flepied@mandrakesoft.com>
-
- * tools/aewm-drakx/misc.c: removed client removal
-
-2002/10/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po: updated Romanian file
-
-2002/10/02 alus
-
- * share/po/pl.po: some changes
-
-2002/10/02 François Pons <fpons@mandrakesoft.com>
-
- * patch/patch-oem-9.0.pl, patch/rpmsrate.oem-9.0-staroffice,
- patch/rpmsrate.oem-9.0-openoffice: patch necessary for oem to work
- nicely and the two rpmsrate that allow
- CD of 700MB to be used.
-
-2002/10/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install2.pm: try to fix my fix for blank
-
- * modules.pm: try to fix my fix for blank
- try to make the install work in "blank" mode (aka fix pixel
- sucked when changed modules.pm code, not handling blank mode)
-
- * mdk-stage1/Makefile: cooker
-
- * mdk-stage1/stage1.c: do not detect/configure pcmcia stuff when "noauto"
- param
-
-2002/10/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * patch/patch-nforce.pl: update from oem patch
- fix nforce (from francois oem patch)
-
- * docs/9.0_errata.txt: miaou
- i810 crash when using XRender on vt switch (see fredc for further
- information) (fixed in cvs & rh's xfree86)
- kernel : snd-via686 is said to produce white noise; add workaround
- nforce audio bug
- drakconf bug has been workarounded
-
-2002/10/01 dam's <dams@idm.fr>
-
- * ugtk.pm: forking ugtk, sorry guys. reverted last patch
- cleaned, readded needed hack, removed mdk specific functions, added
- libconf GUI, WARNING, create_dialog API changed
-
- * my_gtk.pm: mdk icon_path are added here
-
-2002/10/01 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fixed oem images management not working at all!
-
-2002/10/01 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * docs/9.0_errata.txt: add 3 bugs:
- - drakfont: stat64 syscall blocks drakfont on ntfs partitions
- - XFree86: X can corrupt sound when overusing pci bus
- (PciRetry fix it)
- - some people reports stops on reboot on "illegal seek" (having /usr
- and / on the same fs "fix" it)
-
- * drakxtools.spec: harddrake-ui doesn't need the same obsoletes/provides
- as harddrake,
- else we may require harddrake-ui on update (thus XFree86 ...)
-
-2002/09/30 Daouda Lo <daouda@mandrakesoft.com>
-
- * docs/9.0_errata.txt:
- - first draft for all bugs/glitches/inconsistencies in 9.0. Developers
- are welcomed to fill it, read it and fix.
-
-2002/09/30 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added possible fix for noauto: flag of hdlist not
- generating good list file.
-
-2002/09/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
- * share/po/id.po, share/po/ro.po: Updated Romanian and Indonesian files
-
-2002/09/30 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: drop "notail" when filesystem is not reiserfs
-
-2002/09/30 Till Kamppeter <till@mandrakesoft.com>
-
- * docs/9.0_errata.txt: "Best Grayscale" on HP DJ 6xx/Apollo.
- Several bugs found.
-
-2002/09/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Latvian file; corrected Danish file
- corrected encoding
-
- * share/po/lv.po: updated Latvian file; corrected Danish file
-
-2002/09/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * docs/README: refine info on blank.img
-
-2002/09/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * network/network.pm: workaround situation when /etc/resolv.conf is an
- absolute link to /etc/ppp/resolv.conf or whatever
-
- * mdk-stage1/dhcp.c, mdk-stage1/network.c: try to not save the hostname
- answered by the dhcp server
-
-2002/09/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: log install class selection
-
-2002/09/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: updated Basque file
-
- * share/po/tr.po, share/po/cs.po: updated Turkish and Czech files
-
-2002/09/25 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: do not allow to create user "root" (thanks to Eric Fernandez)
-
-2002/09/25 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: handle nvaudio too
-
-2002/09/24 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * any.pm: change load_category__prompt_for_more dying 'already displayed'
- in return
-
- * network/ethernet.pm: Fix configureNetwork to fit with new
- any::load_category_prompt_for_more behavior
-
-2002/09/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_TW.po, share/po/pt.po: updated Chinese and Portuguese files
-
-2002/09/24 Pixel <pixel@mandrakesoft.com>
-
- * raid.pm: also create a raidtab if it doesn't exist (occurs when / has
- been formatted)
-
- * detect_devices.pm: fix raidAutoStartRaidtab crushing /etc/raidtab
-
- * patch/patch-raidtab.pl: also create a raidtab if it doesn't exist
- (occurs when / has been formatted)
- fix raidAutoStartRaidtab crushing /etc/raidtab
-
-2002/09/24 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm: dams fix enable to get rid of the infamous ugly gtk timeout
- from dams:
- remove his ugly hack for mcc which altered the
- scrolledwindow's "bordure" to hide it.
- this used to be done through a gtk timer (hance
- the ugly flash on first display of notebook pages)
- now createScrolledWindow take a new optional argument
- that enable to hide the border the right way
- thanks dams
- fix expansion of widgets
- (eg see draksound help window behaviour on resizing)
-
- * harddrake/TODO, harddrake/data.pm: move usb video devices to webcam
- category
-
- * security/main.pm: remember to factorize this with rpmdrake's wait
- messages in my_gtk
- remove "bogus periodic check 2" from periodic checks page
- let simplify
-
- * harddrake/ui.pm: add a few comments
- split harddrake part that configure a module into modules::interactive
- split devices listing ("detection") part into its own function
- (detect) for readability
-
- * Makefile.config, modules/interactive.pm: split harddrake part that
- configure a module into modules::interactive
-
- * security/msec.pm: ignore_list is useless
-
- * share/po/br.po: update
-
-2002/09/23 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: fix NULL Gateway IP checking
-
-2002/09/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_interactive.pm: tellAboutProprietaryModules: use formatAlaTeX
-
- * rescue/devices.pl: add st devices
-
-2002/09/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po: updated Spanish file
-
- * share/po/ru.po: updated Russian file
-
- * share/po/id.po, share/po/zh_CN.po, share/po/pt.po: updated Indonesian,
- Portuguese and Chinese files
-
- * keyboard.pm: Made Lithuanian numeric row keyboard bi-mode
-
-2002/09/23 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Really fix daemon mode issue.
- Fix daemon mode bug.
-
-2002/09/23 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: move vim-enhanced in X 4
- fix nforce version
-
-2002/09/22 alus
-
- * share/po/pl.po: No... Changes few days before release...
-
-2002/09/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cy.po, share/po/id.po, share/po/lv.po, share/po/vi.po,
- share/po/sk.po, share/po/ru.po, share/po/hu.po: updated Welsh,
- Hungarian, Indonesian, Latvian, Russian, Slovak and Vietnamese
-
-2002/09/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix url
-
-2002/09/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: add a small sentence to the license in
- order to solve a negociation with
- Thomson about the MP3 patents.
-
-2002/09/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix url
-
-2002/09/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: add a small sentence to the license in
- order to solve a negociation with
- Thomson about the MP3 patents.
-
-2002/09/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: add a small sentence to the license in
- order to solve a negociation with
- Thomson about the MP3 patents.
-
-2002/09/21 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Correct help notes on \$\$IP=IP-ADDRESS\$\$.
-
-2002/09/21 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: final
-
-2002/09/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po: updated Chinese file
-
-2002/09/20 Till Kamppeter <till@mandrakesoft.com>
-
- * network/shorewall.pm: The LPD/LPRng port is 515, not 5015.
-
-2002/09/20 florin
-
- * standalone/drakgw: fix the disable function
-
- * network/shorewall.pm: add the 5015 port for some printers in
- internal_ports
-
-2002/09/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
- * standalone/drakgw: removed unneeded '\t' in translatable text
-
- * share/po/zh_CN.po: updated Chinese file
- updated pot file
-
-2002/09/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 53mdk
- 52mdk
- 51mdk
-
- * harddrake/ui.pm: don't print logs in console
-
- * standalone/drakbug: fixes:
- - don't create bogus 1 file (deush: s/2>1&/2>&1/)
- - don't print error messages when which cannot find the program
-
- * harddrake/TODO: update
-
- * standalone/harddrake2: don't print useless warnings in console
-
- * standalone/drakxtv: no -w
-
-2002/09/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Catch non-existant config files on copy.
-
-2002/09/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug of printerdrake installing LPRng when it is
- started for the
- first time and CUPS is already installed without local queues but with
- remote CUPS servers broadcasting in their printer info.
-
-2002/09/19 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: try to avoid infinite loop on error to install package.
-
-2002/09/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix titisucks making cards choice in bttv
- dialog unavailable
-
-2002/09/19 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: prefer cups for lpddaemon
-
-2002/09/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Catch non-existant config files on copy.
-
-2002/09/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug of printerdrake installing LPRng when it is
- started for the
- first time and CUPS is already installed without local queues but with
- remote CUPS servers broadcasting in their printer info.
-
-2002/09/19 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: try to avoid infinite loop on error to install package.
-
-2002/09/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone.pm: when in install mode, log when a **** does a "use
- standalone"
-
- * interactive.pm: require log will reliably fail, use require 'log.pm'
- instead
-
- * install_steps_interactive.pm: fix titisucks making cards choice in bttv
- dialog unavailable
-
- * install2.pm: revert
-
-2002/09/19 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm: catch error in Done (mainly "reboot needed"),
- so that fstab can be written
- even if reboot needed (useful when removing partitions mounted by
- default)
-
- * install_steps.pm:
- - do not set type to ext2 when the type is ntfs
- - set to ext3 instead of ext2
-
-2002/09/19 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - s/rpm/mdk/ in package version matching
-
-2002/09/19 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: avoid proposing ntfs partition to be
- formatted.
-
-2002/09/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * network/tools.pm: fix spurious ";" before closing block
-
- * standalone.pm: when in install mode, log when a **** does a "use
- standalone"
-
- * interactive.pm: require log will reliably fail, use require 'log.pm'
- instead
-
- * install_steps_interactive.pm: fix titisucks making cards choice in bttv
- dialog unavailable
-
- * install2.pm: revert
- try to workaround strange situations when mkinitrd fail because
- loop is not loaded (we don't know who calls mkinitrd), by loading
- the loop module right after format-mount'ing the partitions
-
-2002/09/19 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm: catch error in Done (mainly "reboot needed"),
- so that fstab can be written
- even if reboot needed (useful when removing partitions mounted by
- default)
-
- * install_steps.pm:
- - do not set type to ext2 when the type is ntfs
- - set to ext3 instead of ext2
-
-2002/09/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/v4l.pm: don't use standalone while installing
-
- * security/libsafe.pm: s/package draksec::libsafe/package
- security::libsafe/
- anyway nobody uses that one
-
-2002/09/19 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: remove old WIZARDS package
- add drakwizard
- remove LPRng
-
-2002/09/18 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm:
- - add ntfs in isOtherAvailableFS
- - but ensure it is not in isMountableRW
-
-2002/09/18 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: remove *-mdk-cdcom
-
-2002/09/18 florin
-
- * standalone/drakgw: more details for the dhcp server
-
- * network/shorewall.pm: remove forgotten debug hash printings
-
-2002/09/18 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm:
- - add ntfs in isOtherAvailableFS
- - but ensure it is not in isMountableRW
-
-2002/09/18 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * security/msec.pm:
- - factorize @sec_levels and %sec_levels for get_default() and
- get_seclevel_list()
- - use them in get_default()
- - get_value() : don't assume a space between "function_name" and
- "(parameters)"
- remove brackets on function values loading
- respect msec syntax
- "kill quart of draksec code" patch aka make it really working aka "happy
- fred" :
- - security::msec :
- o consolidate get_function_value() and get_value into get_value()
- o really apply changes, aka save them :
- * config_check() : use substInFile and setVarsInSh
- * config_function() : use substInFile and append_to_file
- * kill stupid and bogus config_option()
- o don't overwrite previous changes, aka reread them :
- * fix checks and functions current value loading
- * fix checks and functions default loading
-
- - security::main :
- o simplify ui creation, make it more readable
- o kill offuscating basic_secadmin_check(), basic_secadmin_entry(),
- network_generate_page(), system_generate_page() and
- checks_generate_page()
- o increase default height because of stupid "add_with_viewport" in
- ugtk::createScrolledWindow
- o consolidate network and system functions managment, they're all the
- same for
- msec, splitting is only a draksec "feature"; all go in
- %options_values
-
- - draksec :
- o let standalone module configure standalone mode
- o security::main already take care of initializing gtk
- o security::main already take care of exiting
- o don't play with embedded mode special variables
-
- it overall looks better but big cleanups're still possible for mdk9.1
-
- * standalone/draksec: "kill quart of draksec code" patch aka make it
- really working aka "happy fred" :
- - security::msec :
- o consolidate get_function_value() and get_value into get_value()
- o really apply changes, aka save them :
- * config_check() : use substInFile and setVarsInSh
- * config_function() : use substInFile and append_to_file
- * kill stupid and bogus config_option()
- o don't overwrite previous changes, aka reread them :
- * fix checks and functions current value loading
- * fix checks and functions default loading
- - security::main :
- o simplify ui creation, make it more readable
- o kill offuscating basic_secadmin_check(), basic_secadmin_entry(),
- network_generate_page(), system_generate_page() and
- checks_generate_page()
- o increase default height because of stupid "add_with_viewport" in
- ugtk::createScrolledWindow
- o consolidate network and system functions managment, they're all the
- same for
- msec, splitting is only a draksec "feature"; all go in
- %options_values
-
- - draksec :
- o let standalone module configure standalone mode
- o security::main already take care of initializing gtk
- o security::main already take care of exiting
- o don't play with embedded mode special variables
-
- it overall looks better but big cleanups're still possible for mdk9.1
-
- * security/main.pm: fix wait_message doesn't display
- run msec after setting changes
- "kill quart of draksec code" patch aka make it really working aka "happy
- fred" :
- - security::msec :
- o consolidate get_function_value() and get_value into get_value()
- o really apply changes, aka save them :
- * config_check() : use substInFile and setVarsInSh
- * config_function() : use substInFile and append_to_file
- * kill stupid and bogus config_option()
- o don't overwrite previous changes, aka reread them :
- * fix checks and functions current value loading
- * fix checks and functions default loading
- - security::main :
- o simplify ui creation, make it more readable
- o kill offuscating basic_secadmin_check(), basic_secadmin_entry(),
- network_generate_page(), system_generate_page() and
- checks_generate_page()
- o increase default height because of stupid "add_with_viewport" in
- ugtk::createScrolledWindow
- o consolidate network and system functions managment, they're all the
- same for
- msec, splitting is only a draksec "feature"; all go in
- %options_values
-
- - draksec :
- o let standalone module configure standalone mode
- o security::main already take care of initializing gtk
- o security::main already take care of exiting
- o don't play with embedded mode special variables
-
- it overall looks better but big cleanups're still possible for mdk9.1
-
-2002/09/17 David Baudens <baudens@mandrakesoft.com>
-
- * share/advertising/04-multimedia.png: Use the right image
-
-2002/09/17 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - sync option names with server's name.
- - fix typo
- - back to normal http connection (instead of https)
- - relocated web wizard
-
-2002/09/17 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/po/fr.po: corrected typo
-
-2002/09/17 florin
-
- * network/shorewall.pm: small updates
-
- * network/drakfirewall.pm: add a silly message
-
- * standalone/drakgw: add warning message
- add the nameserver IP variable in advanced mode
-
-2002/09/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/nl.po, share/po/sk.po: updated Dutch and Slovak files
-
- * share/po/tr.po: updated Turkish file
-
-2002/09/17 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: fix draksec typo
-
- * drakxtools.spec: 50mdk for lord fredl
-
- * security/msec.pm:
- - security::msec :
- o config_check: use MDK::Common to set option rather
- than overwriting config file
- o remove all stupid prefix that just ofuscate code
- whereas it's always set to '',
- $::prefix will be a lot better
- o s/shift @_/shift/
- o kill config_option()
- o simplify get_default()
- o get_secure_level() : replace if cascade by an array
- o set_secure_level() :
- * replace if cascade by an hash
- * default to runlevel 3 if undefined
- o get_functions() : simplify by merging code paths
- - security::main :
- o security::libsafe is unneeded
- o don't pass useless prefix
- o begin to read default values
- - msec::config_check: use MDK::Common to set option rather
- than overwriting config file
- - remove all stupid prefix that just ofuscate code
- whereas it's always set to '',
- $::prefix will be a lot better
- - security::main: kill duplicated 'use strict'
- - no ignore choice for periodic checks
- - save functions in /etc/security/msec/level.local
- and not security.conf
- - "from mseclib import" is useless
- - fix functions saving (an object method invocation
- takes class name as argument)
- remove libsafe option (not anymore used by msec)
-
- * security/main.pm:
- - security::msec :
- o config_check: use MDK::Common to set option rather
- than overwriting config file
- o remove all stupid prefix that just ofuscate code
- whereas it's always set to '',
- $::prefix will be a lot better
- o s/shift @_/shift/
- o kill config_option()
- o simplify get_default()
- o get_secure_level() : replace if cascade by an array
- o set_secure_level() :
- * replace if cascade by an hash
- * default to runlevel 3 if undefined
- o get_functions() : simplify by merging code paths
- - security::main :
- o security::libsafe is unneeded
- o don't pass useless prefix
- o begin to read default values
- - msec::config_check: use MDK::Common to set option rather
- than overwriting config file
- - remove all stupid prefix that just ofuscate code
- whereas it's always set to '',
- $::prefix will be a lot better
- - security::main: kill duplicated 'use strict'
- - no ignore choice for periodic checks
- - save functions in /etc/security/msec/level.local
- and not security.conf
- - "from mseclib import" is useless
- - fix functions saving (an object method invocation
- takes class name as argument)
- add ignore option to msec items
-
-2002/09/17 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: remove !CDCOM flag for OpenOffice.org
-
-2002/09/16 siegel
-
- * share/po/de.po: updates
-
-2002/09/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm, share/po/de.po: Do not try to install "webfetch" during
- installation.
-
-2002/09/16 Warly <warly@mandrakesoft.com>
-
- * drakxtools.spec: 49mdk for new printerdrake code regarding webfetch that
- breaks during install.
-
-2002/09/16 siegel
-
- * share/po/de.po: updates
-
-2002/09/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm, share/po/de.po: Do not try to install "webfetch" during
- installation.
-
-2002/09/16 David Baudens <baudens@mandrakesoft.com>
-
- * share/advertising/17-mdkclub.pl,
- share/advertising/15-mdkexpert-corporate.pl,
- share/advertising/04-multimedia.pl, share/advertising/06-mcc.pl,
- share/advertising/12-mdkstore.pl: Adapt text postion to fix french
- translations
-
-2002/09/16 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - typo in options
-
- * standalone.pm:
- - use basename with drakbug for standalone tools
-
- * standalone/drakfloppy:
- - translation for drakfloppy
-
- * standalone/logdrake:
- - enable translation for logdrake
-
-2002/09/16 florin
-
- * network/shorewall.pm: add internal_ports variable
-
-2002/09/16 François Pons <fpons@mandrakesoft.com>
-
- * standalone/XFdrake: fixed no translation for XFdrake (pixel idea).
-
-2002/09/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * my_gtk.pm, drakxtools.spec: fix die wizcancel in non wizard mode
-
- * rescue/tree/sbin/modprobe: remove modules files even when modprobe fails
-
-2002/09/16 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: remove File::Copy dependencies and change lilo message path
-
-2002/09/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/zh_CN.po, share/po/pt.po, share/po/lv.po,
- share/po/sv.po: updated Indonesian, Latvian, Portuguese, Swedish and
- Chinese files
-
-2002/09/15 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: do not allow encrypted filesystem for /boot
-
-2002/09/15 Till Kamppeter <till@mandrakesoft.com>
-
- * share/po/de.po: In wizards: "Finish" --> "Assistent beenden"
-
-2002/09/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * my_gtk.pm: workaround ERROR: Can't call method "child" on an undefined
- value at
- /usr/lib/libDrakX/my_gtk.pm line 94
-
- * mdk-stage1/network.c: http: don't add a / between the hostname and the
- url, apache
- doesn't understand //~fermigier the same way as /~fermigier
-
-2002/09/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
- * share/po/wa.po: corrected typo
-
- * standalone/logdrake, standalone/drakfloppy: corrected gettext domain
- (translations are now in libDrakX)
-
- * share/po/cy.po, share/po/zh_CN.po, share/po/lv.po, share/po/fr.po:
- updated Welsh, French, Latvian and Chinese files
-
-2002/09/14 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Made "LPRng" show up in the spooler menu when LPRng is
- installed.
-
- * share/po/de.po: Printerdrake translations
- Printerdrake translations
- Printerdrake translations
- Printerdrake translations.
- Printerdrake translations
-
-2002/09/13 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone.pm:
- - meuh aka launch drakbug when incident is risen
-
-2002/09/13 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/netconnect.pm:
- - fix old conf files name (thx titi)
-
-2002/09/13 florin
-
- * network/shorewall.pm: more services in drakgw_protocols
-
-2002/09/13 François Pons <fpons@mandrakesoft.com>
-
- * live_install2: allow devfsd to be restarted after update.
-
- * install_any.pm: allow live_update to have something configured correctly
- for urpmi media.
-
-2002/09/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/lv.po, share/po/hu.po: removed
- obsolete old unused strings, to make the po files lighter
-
-2002/09/13 Pixel <pixel@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/sp.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/nl.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/hu.po: update the help english part (so that no
- fuzzy occurs)
-
- * share/rpmsrate: put back kernel-secure
-
- * install_any.pm: don't write fstab on upgrade (to workaround the fact
- that many entries are dropped)
-
- * help.pm, share/po/help-de.pot, share/po/help-it.pot,
- share/po/help-fr.pot, share/po/help-es.pot: update help from xml
-
-2002/09/13 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Do not insist on "curl" to download PPDs from a CUPS
- server (for Star Office/OpenOffice.org/GIMP), take the one from "curl"
- and "wget" which is there. Install "webfetch" when none is there.
- Let "cups-drivers" be installed when switching from normal to expert
- mode.
- Entries in "auto-detected" field of SMB printer setup mask should not be
- editable.
-
- * printer.pm: Do not insist on "curl" to download PPDs from a CUPS server
- (for Star Office/OpenOffice.org/GIMP), take the one from "curl" and
- "wget" which is there. Install "webfetch" when none is there.
- Let "cups-drivers" be installed when switching from normal to expert
- mode.
- Added timeouts to network scan with "nmap" so that scan does not take
- too long when there are machines running a firewall.
- To find running machines in the network, do not only a broadcast ping
- but also an "nmblookup" to also catch Windows machines which do not
- answer to ping.
-
-2002/09/13 Daouda Lo <daouda@mandrakesoft.com>
-
- * drakxtools.spec:
- - obsoletes drakfloppy
-
-2002/09/13 François Pons <fpons@mandrakesoft.com>
-
- * live_install2: allow devfsd to be restarted after update.
- added modprobe loop before killing devfsd.
- fixed for newer perl 5.8.0 (vendor_perl directory).
- fixed to kill devfsd before.
-
- * install_any.pm: allow live_update to have something configured correctly
- for urpmi media.
-
-2002/09/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/zh_TW.po, share/po/da.po, share/po/pt.po,
- share/po/lv.po, share/po/hu.po: updated Danish, Spanish, Hungarian,
- Latvian, Portuguese and Chinese files
-
-2002/09/13 Pixel <pixel@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/sp.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/nl.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/hu.po: update the help english part (so that no
- fuzzy occurs)
-
- * share/rpmsrate: put back kernel-secure
-
- * install_any.pm: don't write fstab on upgrade (to workaround the fact
- that many entries are dropped)
-
- * help.pm, share/po/help-de.pot, share/po/help-it.pot,
- share/po/help-fr.pot, share/po/help-es.pot: update help from xml
-
-2002/09/13 Till Kamppeter <till@mandrakesoft.com>
-
- * share/po/de.po: German translations for printerdrake and some
- corrections.
-
-2002/09/13 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: rc3
-
-2002/09/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po: updated slovak file
-
-2002/09/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, install_any.pm, install2.pm,
- install_steps_interactive.pm: do something with "Security Administrator
- (login or email)"
-
- * share/po/help_xml2pm.pl:
- - discard &shy; (ie \x{ad})
- - handle <quote><literal>xxx</literal></quote> specially to not have
- double
- double quotes
-
-2002/09/12 siegel
-
- * share/po/de.po: updates
-
-2002/09/12 alus
-
- * share/po/pl.po: Updated polish translation
-
-2002/09/12 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/tools.pm, drakxtools.spec, standalone/net_monitor:
- - patch net_monitor
-
-2002/09/12 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed very stupid typo and inconsistency in
- allowNVIDIA_rpms.
-
- * install_steps.pm: added code after install of package to fix broken
- alternatives.
-
-2002/09/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: meumeuh
- meuh
- a fix from florin/pixel to make it work
-
- * network/shorewall.pm: run_program crazyness
-
- * drakxtools.spec: meuuuuh meuh meuh ?
-
-2002/09/12 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: resize previews pixmap to be nice when embedded
-
- * share/po/fr.po: modif bootlook.pm translation to keep a good when
- embedded
-
-2002/09/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: Updated Hungarian file
- updated pot file
-
- * share/po/sk.po: updated slovak file
- updated pot file
-
- * share/po/mt.po, share/po/vi.po: updated Vietnamese and Maltese files
- updated pot file
-
- * share/po/tr.po: updated pot file
- updated turkish file
-
- * share/po/id.po, share/po/gl.po, share/po/pt_BR.po, share/po/br.po,
- share/po/th.po, share/po/sl.po, share/po/no.po, share/po/et.po,
- share/po/ja.po, share/po/hr.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/ta.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/bg.po,
- share/po/lv.po: updated pot file
-
- * share/po/cs.po: updated Czech file
- updated pot file
-
- * share/po/ru.po: updated Russian file
- updated pot file
-
-2002/09/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, install_any.pm, install2.pm,
- install_steps_interactive.pm: do something with "Security Administrator
- (login or email)"
-
- * share/po/help_xml2pm.pl:
- - discard &shy; (ie \x{ad})
- - handle <quote><literal>xxx</literal></quote> specially to not have
- double
- double quotes
-
- * network/shorewall.pm: fix writing twice tcp instead of tcp & udp
-
-2002/09/12 siegel
-
- * share/po/de.po: updates
-
-2002/09/12 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: When adding a local printer during an expert install
- without network,
- printerdrake insists on starting the network and does not enter the
- add printer procedure.
- Made the association of model names obtained by auto-detection and of
- the model names in the printer database much more reliable.
-
- * detect_devices.pm: Made the association of model names obtained by
- auto-detection and of
- the model names in the printer database much more reliable.
-
-2002/09/12 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/logdrake, standalone/drakfloppy: fix logdrake and drakfloppy
-
- * drakxtools.spec: 45mdk
-
- * security/main.pm, security/msec.pm:
- - draksec window title is draksec, not "draksec - basic options" since
- it offer
- advanced options too now
- - mark some strings to be translated (mainly notebook pages titles)
-
- * share/po/fr.po: update french translation
-
-2002/09/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/cs.po, share/po/vi.po, share/po/mt.po,
- share/po/hu.po: updated po files
-
-2002/09/11 alus
-
- * share/po/pl.po: updated po
-
-2002/09/11 David Baudens <baudens@mandrakesoft.com>
-
- * share/advertising/11-mdkstore.pl, share/advertising/07-desktop.pl,
- share/advertising/10-mnf.pl: Fix typos
-
- * share/advertising/09-server.pl: Update
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/cs.po,
- share/po/bg.po, share/po/el.po, share/po/hu.po: Don't break po
- Update
-
-2002/09/11 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - s/bugzilla.com/drakbug.mandrakesoft.com/
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po:
- -s/bugzilla.com/drakbug.mandrakesoft.com/
-
-2002/09/11 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * drakxtools.spec:
- - update spec for 44mdk
-
-2002/09/11 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed possible problem with NVIDIA packages parsing.
-
-2002/09/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/frontend-common.c: meuh
- probe for usb stuff in info and error msg also
-
-2002/09/11 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * standalone/draksplash: use do_pkgs for check and install ImageMagick
-
-2002/09/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po: updated Slovak file
- updated pot file
-
- * share/po/id.po, share/po/gl.po, share/po/pt_BR.po, share/po/br.po,
- share/po/th.po, share/po/sl.po, share/po/no.po, share/po/et.po,
- share/po/ja.po, share/po/hr.po, share/po/tr.po, share/po/ga.po,
- share/po/be.po, share/po/uk.po, share/po/ko.po, share/po/DrakX.pot,
- share/po/sv.po, share/po/sr.po, share/po/pl.po, share/po/fi.po,
- share/po/lt.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/bs.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po, share/po/ta.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/bg.po, share/po/lv.po: updated
- pot file
-
- * standalone/draksplash: small text for translatators
-
- * share/po/mt.po, share/po/vi.po, share/po/es.po, share/po/cs.po,
- share/po/hu.po: updated po files
- updated pot file
-
- * share/po/fr.po: updatd French file
- updated pot file
-
- * share/po/ru.po: updated Russian file
- updated pot file
-
- * network/isdn.pm: corrected i18n usage
-
-2002/09/11 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakupdate_fstab: use flag "kudzu" for entries automatically
- handled by drakupdate_fstab
-
- * common.pm: allow various textdomains for i18n
-
-2002/09/11 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm:
- - Made printer::assure_device_is_available_for_cups() more reliable by
- checking and retrying.
- - Do not start the network when it is not configured.
-
-2002/09/11 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update french translation
- s/was the firt sound API/was the first sound API/
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/sp.po, share/po/cy.po,
- share/po/da.po, share/po/ca.po, share/po/ar.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/it.po, share/po/nl.po,
- share/po/eu.po, share/po/es.po, share/po/de.po, share/po/eo.po,
- share/po/bg.po, share/po/cs.po, share/po/el.po, share/po/lv.po,
- share/po/hu.po: s/was the firt sound API/was the first sound API/
-
- * standalone/draksound:
- - fix: we displayed current driver as default one: display the right
- one
- - show a wait message while switching driver
-
- * harddrake/sound.pm:
- - fix: we displayed current driver as default one: display the right
- one
- - show a wait message while switching driver
- s/was the firt sound API/was the first sound API/
-
- * drakxtools.spec: update
-
-2002/09/10 alus
-
- * share/po/pl.po: Strings one day before deadline????
- updated translation
-
-2002/09/10 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - definitive link and options
-
-2002/09/10 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/isdn.pm:
- - remove variable from a translated chain
-
-2002/09/10 François Pons <fpons@mandrakesoft.com>
-
- * c/stuff.pm: removed old code no more used.
-
- * pkgs.pm: consolidate unselectAllPackages.
-
- * install_steps_interactive.pm: fixed test of chooseCD on nfs (always
- enabled).
- avoid removing all packages during upgrade (safe guard).
-
-2002/09/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag version as 9.0
-
- * rescue/tree/etc/rc.sysinit: don't drvinst SERIAL_USB when noauto (it
- needs a lspcidrake -v)
-
- * rescue/drvinst: drvinst <param> is broken when we don't -v
-
-2002/09/10 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * standalone/draksplash: change the preview rendering method
-
-2002/09/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po, share/po/fr.po: updated French and Portuguese files
- updated pot file
- updated pot file
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/ta.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: updated pot file
- updated pot file
-
- * security/main.pm: improved i18n handling
-
- * share/po/vi.po: updated Vietnamese file
- updated Vietnamese file
-
- * share/po/nl.po: updated Dutch file
- updated pot file
- updated pot file
-
- * standalone/drakTermServ: small i18n change
-
-2002/09/10 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: set mount point for nt partitions by default
-
- * Xconfig/card.pm: do not prefer_xf3 for "NeoMagic (laptop/notebook)"
- since:
- - long ago it was decided to distrust driver "neomagic" together with
- Riva's, SiS, GeForce
- - in 09/2001 (XFree 4.1.0), it was decided to keep distrusting driver
- "neomagic"
- - Cosmic Flo says driver "neomagic" works (on card Neomagic
- Corporation|[MagicGraph 256AV])
-
- * fs.pm:
- - have ntfs "ro" by default
- - "umask=0" is a special option for ntfs
-
-2002/09/10 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Display issues in other locales.
-
-2002/09/10 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: description update
- fix OSS definition
-
- * share/po/fr.po: next updates batch
- update french translation
-
-2002/09/10 alus
-
- * share/po/pl.po: updated translation
-
-2002/09/10 David Baudens <baudens@mandrakesoft.com>
-
- * share/po/fr.po: Update
-
-2002/09/10 François Pons <fpons@mandrakesoft.com>
-
- * c/stuff.pm: removed old code no more used.
-
- * mouse.pm: fixed pixel typo (strange, I was sure it was titi but not ?).
-
- * pkgs.pm: consolidate unselectAllPackages.
-
- * install_steps_interactive.pm: fixed test of chooseCD on nfs (always
- enabled).
- avoid removing all packages during upgrade (safe guard).
-
-2002/09/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag version as 9.0
-
- * rescue/tree/etc/rc.sysinit: don't drvinst SERIAL_USB when noauto (it
- needs a lspcidrake -v)
-
- * rescue/drvinst: drvinst <param> is broken when we don't -v
-
-2002/09/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/gl.po, share/po/pt_BR.po,
- share/po/br.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/mt.po,
- share/po/ga.po, share/po/be.po, share/po/uk.po, share/po/ko.po,
- share/po/DrakX.pot, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/sp.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/ta.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: updated pot file
-
- * share/po/ru.po, share/po/pt.po, share/po/cs.po: updated pot file
- updated Czech, Russian and Portuguese files
-
- * security/main.pm: improved i18n handling
-
- * standalone/drakTermServ: small i18n change
-
-2002/09/10 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: set mount point for nt partitions by default
-
- * fs.pm:
- - have ntfs "ro" by default
- - "umask=0" is a special option for ntfs
-
-2002/09/10 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Display issues in other locales.
-
-2002/09/10 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * security/libsafe.pm, standalone/draksec: move back draksec's files in
- drakxtools
-
- * drakxtools.spec: move back draksec to drakxtools
-
- * Makefile.config: move back draksec's files in drakxtools
- move back draksec to drakxtools
-
- * security/main.pm, security/msec.pm: inline seclevel_explain (why using
- functions to return a text label ?)
- move back draksec's files in drakxtools
-
-2002/09/10 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: fixed pixel typo (strange, I was sure it was titi but not ?).
-
-2002/09/10 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: fixed pixel typo (strange, I was sure it was titi but not ?).
-
-2002/09/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po, share/po/sk.po: updated Basque and Slovak files
-
-2002/09/09 dam's <dams@idm.fr>
-
- * ugtk.pm: corrected typo (modification of constant if ugtk.pm was a
- string)
-
-2002/09/09 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm: have the IMPS/2 warning "MOVE YOUR WHEEL" for ExplorerPS/2 too
-
- * Xconfig/card.pm: have BusID's on MULTI_HEAD, otherwise G450 & G550 go
- crazy
-
-2002/09/09 David Baudens <baudens@mandrakesoft.com>
-
- * share/po/fr.po: Update
- Update
- Fix typos and bad french translations
- Update
-
- * share/advertising/14-mdkexpert.pl, share/advertising/03-internet.pl: Fix
- typos
-
-2002/09/09 dam's <dams@idm.fr>
-
- * ugtk.pm: corrected typo (modification of constant if ugtk.pm was a
- string)
-
-2002/09/09 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/ethernet.pm:
- - check DNS & Gateway IP
-
- * network/network.pm:
- - show pcmcia ethernet cards in list
-
- * modules.pm:
- - change "=~ /isdn/" in "eq 'network/isdn'"
-
-2002/09/09 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fix urpmi installation.
- fixed still present hdlist and synthesis file for media not configured
- (because
- of not selected).
-
-2002/09/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * my_gtk.pm: gfx specs is to have the text justified on the left
-
- * share/po/fi.po: a fix from cooker
-
-2002/09/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot: updated pot file
-
- * share/po/fr.po: updated po files
- updated pot file
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated po files
-
-2002/09/09 Pixel <pixel@mandrakesoft.com>
-
- * ugtk.pm, Xconfig/test.pm, install2.pm:
- - use variable $::no_ugtk_init in ugtk.pm instead of using
- $::isInstall
- - that way, the X test can be made to work both at install and
- standalone
-
- * standalone/drakupdate_fstab: force non-supermount, supermount is too
- buggy
-
- * mouse.pm: have the IMPS/2 warning "MOVE YOUR WHEEL" for ExplorerPS/2 too
-
- * Xconfig/card.pm: have BusID's on MULTI_HEAD, otherwise G450 & G550 go
- crazy
-
- * any.pm: when "password" or "restricted" is set, propose the entries to
- change them
- (thanks to Aleksander Adamowski)
- fix detection of mixed_kind_of_disks (eg: hde with hda)
-
- * standalone/fileshareset: add "sync" to nfs exports default_options (so
- that exportfs doesn't warn a lot of stuff)
-
-2002/09/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: enforce unique ids
- add drakbug report entry in help menu
-
- * drakxtools.spec: fix confirm script
- require perl-GTK-Gdkpixbuf for bootlook
-
- * harddrake/TODO: update
-
-2002/09/09 Pixel <pixel@mandrakesoft.com>
-
- * ugtk.pm, Xconfig/test.pm, install2.pm:
- - use variable $::no_ugtk_init in ugtk.pm instead of using
- $::isInstall
- - that way, the X test can be made to work both at install and
- standalone
-
- * standalone/drakupdate_fstab: force non-supermount, supermount is too
- buggy
-
- * any.pm: fix detection of mixed_kind_of_disks (eg: hde with hda)
-
-2002/09/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: enforce unique ids
- add drakbug report entry in help menu
-
- * standalone/service_harddrake: don't detect same removed/added when
- upgrading from previous releases
- - harddrake:
- o don't pollute sbin namespace with one shot scripts
- o add run wrapper script for harddrake service
- o disable ?dm part
- o timeout configurator offer to 5 seconds
-
- * ugtk.pm, bootlook.pm, standalone/logdrake, standalone/drakfloppy:
- - drakfloppy / logdrake: destroy_window and create_dialog were
- gratuitously duplicated; move them in ugtk
- - drakfloppy / logdrake / bootlook.pm: get_main_menu was
- gratuitously duplicated;
- common code which was moved from harddrake::ui to
- ugtk::create_factory_menu just do the job
-
- * drakxtools.spec:
- - harddrake:
- o don't pollute sbin namespace with one shot scripts
- o add run wrapper script for harddrake service
- o disable ?dm part
- o timeout configurator offer to 5 seconds
-
-2002/09/09 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: remove harddrake
-
-2002/09/08 Daouda Lo <daouda@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po:
- - s/occurance/occurence.
-
- * install_steps_interactive.pm:
- - s/occurance/occurence in license.txt (thx qqun)
-
-2002/09/08 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/various.pm, Xconfig/proprietary.pm: replace a few more 4.2.0
- with 4.2.1
-
- * install_interactive.pm: warn "You don't have a swap
- partition.\n\nContinue anyway?" in expert mode
-
- * Xconfig/card.pm: replace 4.2.0 with 4.2.1
-
-2002/09/07 dam's <dams@idm.fr>
-
- * standalone/drakbackup: don't display the banner id in embedded mode
-
-2002/09/07 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/draksplash:
- - use standalone for explanations and center dialog
-
- * drakxtools.spec:
- - cvs up before packaging (fix messy drakboot conf).
-
-2002/09/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix log
-
- * share/rpmsrate: don't install kernel-secure on HIGH_SECURITY since
- kernel-secure is broken
-
-2002/09/06 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/isdn.pm:
- - fix typo
- - add new screen for ISND detected device. Still have to get back in
- Expert mode to choose by hand.
-
- * modules.pm:
- - Fix isdn card detection
-
-2002/09/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/service_harddrake, drakxtools.spec, harddrake/ui.pm,
- harddrake/data.pm:
- - harddrake::data : consolidate common code in custom_id()
- - do some detection in dm stage
- - fix bad test
- - display better name
-
-2002/09/06 David Baudens <baudens@mandrakesoft.com>
-
- * standalone/icons/hori.png: Re-add old obsolete Aurora image requires by
- drakboot (can someone explain why? It is stupid)
- Update icons & remove old Aurora stuff
-
- * standalone/icons/gmon.png, standalone/icons/categ.png,
- standalone/icons/verti.png: Re-add completly obsolote Aurora's images
- needed for drakboot (really, but really stupid requires)
- Update icons & remove old Aurora stuff
-
- * standalone/icons/ic82-tape-40.png, standalone/icons/ic-drakfont-48.png,
- standalone/icons/mdk_logo.png, standalone/icons/ic82-when-40.png,
- standalone/icons/ic82-moreoption-40.png,
- standalone/icons/ic82-system-40.png,
- standalone/icons/ic82-dossier-32.png, standalone/icons/ic82-CD-40.png,
- standalone/icons/ic82-back-up-32.png,
- standalone/icons/ic82-where-40.png,
- standalone/icons/ic82-back-up-16.png,
- standalone/icons/ic82-network-40.png,
- standalone/icons/ic82-back-up-48.png,
- standalone/icons/ic82-discdurwhat-40.png,
- standalone/icons/ic82-systemeplus-40.png,
- standalone/icons/ic82-users-40.png, standalone/icons/ic82-others-40.png:
- Update
-
- * drakxtools.spec: Update
- Update
- Update
-
-2002/09/06 Daouda Lo <daouda@mandrakesoft.com>
-
- * my_gtk.pm:
- - fix wizard title and pixmap overlap
-
-2002/09/06 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/isdn.pm:
- - fix typo
- - add new screen for ISND detected device. Still have to get back in
- Expert mode to choose by hand.
-
- * modules.pm:
- - Fix isdn card detection
-
-2002/09/06 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to allow changing boot medium.
-
-2002/09/06 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: comment old code concerning aurora
-
-2002/09/06 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm: during install, don't probe PS/2 mice when a serial mouse is
- already found.
- (otherwise if a PS/2 keyboard is present, a PS/2 is found even if
- absent, and
- configuring an auxmouse PS/2 causes the PS/2 keyboard to freeze)
- (thanks to Nora Etukudo)
-
- * bootloader.pm (read): cleanup duplicate labels (in case file is
- corrupted)
- (get_label): compare labels using 15 first characters (to be compliant
- with lilo)
- (add_entry): fix removing duplicate entries
- (read): fix
-
-2002/09/06 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakTermServ: QA BugSummer90 fixes
-
-2002/09/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/sound.pm: killing debugging prints
- - blacklist cs46xx and cs4281 drivers : we won't unload these drivers
- since they're know to oopses the kernel but just warn the user
- - add rooted(), unload() and load() wrapper to check wheter we're in
- drakx or in standalone mode
- - workaround alsaconf's aliases
- - add an help button that describe ALSA and OSS
- - display current driver, its type (OSS or ALSA), and the default
- driver for the card
-
- * harddrake/data.pm, harddrake/ui.pm:
- - harddrake::data : consolidate common code in custom_id()
- - do some detection in dm stage
- - fix bad test
- - display better name
- - don't list usb mouses as unknown hw
- - fix mouse detection (mouse::detect() needed
- modules::mergein_conf('/etc/modules.conf') first
- - don't skip mouse in --test mode
-
- * standalone/draksound: if there's no sound card, add a note about
- sndconfig
-
- * standalone/service_harddrake:
- - harddrake::data : consolidate common code in custom_id()
- - do some detection in dm stage
- - fix bad test
- - display better name
-
- * standalone/harddrake2:
- - document --test
- - mark usage as translatable
-
- * share/po/fr.po: update french translation
-
- * harddrake/TODO: update
-
- * drakxtools.spec:
- - harddrake::data : consolidate common code in custom_id()
- - do some detection in dm stage
- - fix bad test
- - display better name
- 40mdk
-
-2002/09/06 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: add lisa in KDE in REMOTE_ACCESS
- remove contrib packages
- add !CDCOM for OpenOffice.org
- move mod_php to 5
-
-2002/09/06 David Baudens <baudens@mandrakesoft.com>
-
- * standalone/icons/ic82-tape-40.png, standalone/icons/ic-drakfont-48.png,
- standalone/icons/mdk_logo.png, standalone/icons/ic82-when-40.png,
- standalone/icons/ic82-moreoption-40.png,
- standalone/icons/ic82-system-40.png,
- standalone/icons/ic82-dossier-32.png, standalone/icons/ic82-CD-40.png,
- standalone/icons/ic82-back-up-32.png,
- standalone/icons/ic82-where-40.png,
- standalone/icons/ic82-back-up-16.png,
- standalone/icons/ic82-network-40.png,
- standalone/icons/ic82-back-up-48.png,
- standalone/icons/ic82-discdurwhat-40.png,
- standalone/icons/ic82-systemeplus-40.png,
- standalone/icons/ic82-users-40.png, standalone/icons/ic82-others-40.png:
- Update
-
- * drakxtools.spec: Update
- Update
-
- * standalone/icons/gmon.png, standalone/icons/hori.png,
- standalone/icons/categ.png, standalone/icons/verti.png: Update icons &
- remove old Aurora stuff
-
-2002/09/06 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to allow changing boot medium.
-
- * install_steps.pm: changed how pkgs::remove is called.
-
- * pkgs.pm: fixed excesive reduction of size.
- fixed stupid typo.
- allow obsoleted packages to be taken into account.
- allow cleaning ask_remove according to removed package.
-
-2002/09/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ugtk.pm, my_gtk.pm: add gtkset_visibility
-
- * drakxtools.spec: fix and change a few things in the description
-
-2002/09/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
- * share/po/pt.po, share/po/sk.po: updated Portuguese and Slovak files
-
-2002/09/06 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/various.pm, Xconfig/main.pm: ensure Xconfig::various::various is
- called at install
-
- * bootloader.pm (read): cleanup duplicate labels (in case file is
- corrupted)
- (get_label): compare labels using 15 first characters (to be compliant
- with lilo)
- (add_entry): fix removing duplicate entries
- (read): fix
-
-2002/09/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update french translation
- s/si vous être nouveau/si vous êtes nouveau/
- s/des actions additionnelle/des actions additionnelles/
- s/sur le disk/sur le disque/
- s/vous pouves atteindre les toutes options/vous pouvez modifier toutes
- les options/
- Ctrl - C (.... => manque )
- s/Si vous installer/Si vous installez/
- s/qui sera utilisé/qui sera utilisée/ (partition)
- s/accessible en cas de/des images « ramdisk » accessibles/
- s/Cette installation prends/Cette installation prend/
- s/Assurez vous/Assurez-vous/
- fix po
-
- * ugtk.pm: export compose_pixbufs for mcc
- - ugtk::gtkicons_labels_widget() :
- o pass icon name in $tag to $exec_func so that the later can display
- big icon
- o $label_exec is a duplicate of $label
- o simplify notebook redrawing:
- * remove dam'sugly hacks
- * $redraw_function->() : resize Gtk::Fixed on first run if more
- than 4 icons
- * redraw in only one place
- * don't redraw on realize event
- (now we both don't flick and have proper icon alignment without
- old hacks)
- - mcc:
- o print big icon while launching a tool (anim in next commit)
- o move todo list in TODO
- o stricter check:
- * default to use strict
- * disable strict mode when building rpm
- * fixes for 'use strict'
- o kill :
- * a debugging print
- * a superflous 'no warnings'
- * a title->show since we never hide it
- * $rootheight since gtk packer do the job for us
- * unused $nb_pages
- o begin to un-hardcode some values (window and notebook size, ...)
- o cosmetics:
- * comment some code
- * add myself to authors list (deush, you should add yourself too
- since you're the localedrake/mcc interaction guru)
- * s/darea1/summary_darea/
- o don't display logs when back in main summary
- o destroy pixbuf after
-
- * harddrake/ui.pm: fix translated string
-
- * standalone/drakbackup: handle delete_event in all cases
- use my_gtk for window creation, thus:
- - window creation and embedding mode're handled automatically
- - when one close drackbackup, my_gtk close it properly and return to
- mcc
-
- * drakxtools.spec: 36mdk
-
- * standalone/drakperm: use my_gtk for embedded mode.
- code must be cleaned up through my_gtk usage though.
-
-2002/09/06 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: remove contrib packages
- add !CDCOM for OpenOffice.org
- move mod_php to 5
-
-2002/09/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/zh_TW.po, share/po/sk.po: updated po Slovak and Chinese files
-
-2002/09/05 Pixel <pixel@mandrakesoft.com>
-
- * interactive/newt.pm: special case to handle many buttons in newt:
- replacing with something alike ask_from_list (useful for XFdrake)
-
-2002/09/05 David Baudens <baudens@mandrakesoft.com>
-
- * standalone/icons/drakfont.620x57.png: Update
-
- * share/po/fr.po: Update
- Update
-
-2002/09/05 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm:
- - Remove ECI ADSL modem from menu until we have an agreement
-
- * network/netconnect.pm:
- - little fix
-
-2002/09/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ta.po: updated po file
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/nl.po: updated Dutch file
-
- * share/po/zh_TW.po, share/po/sk.po: updated po Slovak and Chinese files
-
-2002/09/05 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: better NT & Fat bootloader entry adding or not
- do not add an nt label if there is no magic
- use name mangling for labels (taken from installkernel)
-
- * interactive/newt.pm: special case to handle many buttons in newt:
- replacing with something alike ask_from_list (useful for XFdrake)
-
- * Xconfig/card.pm, Xconfig/main.pm: add an option for prefering Xinerama
- in auto_installs
-
- * fs.pm: set umask=0 for ntfs partitions (currently only used when user
- sets the mount point to a ntfs partition)
- (suggested in bug #189)
-
-2002/09/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: cleanup check for Expect - thx gc
-
-2002/09/05 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: rc2
-
-2002/09/05 David Baudens <baudens@mandrakesoft.com>
-
- * pixmaps/services.png, pixmaps/X.png, pixmaps/quit.png,
- pixmaps/bootloader.png, pixmaps/language.png, pixmaps/summary.png,
- pixmaps/security.png, pixmaps/partition.png, pixmaps/default.png,
- pixmaps/keyboard.png, pixmaps/mouse.png,
- share/advertising/02-community.png, pixmaps/rootpasswd.png,
- pixmaps/bootdisk.png, pixmaps/colors16.png, pixmaps/harddrive.png,
- pixmaps/warning.png, pixmaps/user.png, pixmaps/printer-mdk.png,
- pixmaps/network.png, standalone/icons/drakfont.620x57.png,
- pixmaps/eth_card_mini.png: Update
-
- * share/po/fr.po: Update
- Update
- Update
- Update
- Update
-
-2002/09/05 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/modem.pm:
- - fix drakconnect broken modem detection
-
-2002/09/05 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed problem of --auto-select not always run.
- fixed copy of hdlist to avoid copying ignored media.
-
- * install_any.pm: allow noauto:... media in hdlists file to be installed
- for urpmi.
-
-2002/09/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: add baudens
-
- * drakxtools.spec: meuuuuuuuuuh
-
- * my_gtk.pm: ask_browse_tree_info_given_widgets: add ability of partial
- selection clickery leading to unselection for rpmdrake (if
- someone understands this log message..)
-
- * mdk-stage1/modules.c, mdk-stage1/usb-resource/update-usb-ids.pl,
- mdk-stage1/probing.c, mdk-stage1/modules.h: fake support the firewire in
- stage1 (as if it were usb ;p)
-
-2002/09/05 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: add use ugtk.pm
-
- * standalone/draksplash: preview window bug correction
-
-2002/09/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
- * share/po/zh_CN.po: updated Chinese and Danish files
-
- * share/po/it.po: updated Chinese file, some more Italian typo corrections
- updated Czech and Swedish files; corrected various erros in Italian file
-
- * share/po/es.po, share/po/ta.po, share/po/hu.po: updated po file
-
- * share/po/zh_TW.po: updated Chinese file, some more Italian typo
- corrections
-
- * share/po/da.po: updated Chinese and Danish files
- updated Danish file
-
- * share/po/cs.po, share/po/sv.po: updated Czech and Swedish files;
- corrected various erros in Italian file
-
- * share/po/sk.po: updated Slovak file
-
- * share/po/vi.po: Updated Vietnamese file
-
- * share/po/nl.po: updated Dutch file
-
-2002/09/05 Pixel <pixel@mandrakesoft.com>
-
- * standalone/localedrake: workaround kde control center calling
- localedrake with an empty kde lang
-
- * diskdrake/dav.pm: add nice description to the initial dialog box (thanks
- Stew!)
-
- * install_any.pm: add flag CDCOM when using commercial cds
-
- * network/network.pm, proxy.pm: allow http://xxx for ftp_proxy
-
- * lvm.pm: fix using given size for created LVs whereas lvcreate allocates
- a little less
- (thanks to Alan Hughes)
-
- * any.pm (ask_window_manager_to_logout): do not su into user before doing
- dcop if
- we are not root (otherwise localedrake in user ask for user's password
- before login out) (thanks to H. Narfi Stefansson for reporting it)
-
- * bootloader.pm: do not add an nt label if there is no magic
- use name mangling for labels (taken from installkernel)
-
- * standalone/XFdrake: correctly set allowFB flag
-
-2002/09/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * drakxtools.spec: rework perl-Expect usage/requirements
-
- * standalone/drakbackup: cleanup check for Expect - thx gc
- rework perl-Expect usage/requirements
-
-2002/09/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: don't rely on ctree row number
-
-2002/09/04 David Baudens <baudens@mandrakesoft.com>
-
- * standalone/logdrake, standalone/icons/wiz_logdrake.png: Add image for
- logdrake
-
- * standalone/icons/drakbackup.540x57.png, drakxtools.spec,
- standalone/icons/wiz_printerdrake.png, standalone/icons/wiz_drakgw.png,
- standalone/icons/wiz_scannerdrake.png,
- standalone/icons/wiz_drakconnect.png, standalone/icons/wiz_firewall.png,
- standalone/icons/wiz_default_up.png: Update
-
-2002/09/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/it.po: fix typo
-
-2002/09/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/af.po: updated pot file
-
- * share/po/sk.po, share/po/pt.po, share/po/vi.po, share/po/el.po: updated
- po file
- updated Greek, Hungarian, Portuguese, Slovak and Vietnamese files
-
- * share/po/cy.po: updated Welsh file
- updated po file
- updated Danish and Welsh files
-
- * share/po/da.po: updated po file
- updated Danish and Welsh files
-
- * share/po/id.po, share/po/ru.po, share/po/gl.po, share/po/pt_BR.po,
- share/po/br.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/sp.po, share/po/ca.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/ta.po, share/po/it.po, share/po/nl.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po: updated po file
-
- * share/po/hu.po: updated hungarian file
- updated po file
- updated Greek, Hungarian, Portuguese, Slovak and Vietnamese files
-
- * share/po/fr.po: updated po file
- corrected error syntax
-
-2002/09/04 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: remove symlink Xconfigurator (which was broken anyway,
- thanks to Ian Ventura-Whiting for reporting it)
-
- * standalone/drakupdate_fstab: do not use standalone (so that no
- "explaination" are generated)
-
- * bootloader.pm (same_entries): compare kernel options sorted (this is an
- approximation of
- reality since order can matter, but...). An example is "quiet
- devfs=mount
- hdc=ide-scsi" vs "devfs=mount hdc=ide-scsi quiet" (thanks to Gabriel
- Phoenix)
-
- * ugtk.pm: make perl_checker happy
-
- * fs.pm: revert add2hash_ username=% to add2hash (it breaks diskdrake
- --smb not
- defaulting to username=%, and i can't find out what was wrong in
- auto_install's manualFstab)
-
- * install_steps.pm (addUser): fix calling with a user already existing
- (mainly for installs keeping the / non-formatted, special for pixel)
-
- * install_steps_interactive.pm: fix dialog box asking "Load from floppy"
- or "Save on floppy" in individual package selection
-
-2002/09/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * drakxtools.spec: add perl-Expect requires for drakbackup (now enabled
- and in main)
-
-2002/09/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Makefile.config: add drakperm!
-
- * share/po/fr.po: s/Si vous disque/Si votre disque/
- s/Si non,, Les partitions devront être créés/Sinon, les partitions
- devront ,bj(Btre cr,bii(Bes/
- s/des fonctionnalité additionnelle/des fonctionnalit,bi(Bs
- additionnelles/
- s/sur un disque amovibles/sur un disque amovible/
- s/sauves la table/sauve la table/
- s/pour récurer les partitions/pour r,bi(Bcup,bi(Brer les partitions/
-
- * standalone/drakperm:
- - really embbed
- - kill stupid things (aka embedded window withouth any widget vs
- toplevel window)
-
- * ugtk.pm: gtkcreate_png_pixbuf() : support jpeg too for bootlook.pm
-
-2002/09/04 baudens
-
- * standalone/icons/wiz_logdrake.png, standalone/logdrake: Add image for
- logdrake
-
- * share/po/fr.po: Update
- Update
-
-2002/09/04 Daouda Lo <daouda@mandrakesoft.com>
-
- * network/network.pm:
- - correct typos in orinoco orinoco_cs modules
-
-2002/09/04 François Pons <fpons@mandrakesoft.com>
-
- * Xconfig/test.pm: move last warning before removing tempory file in order
- to have a chance to look
- at them.
-
-2002/09/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: add fcrozat
-
- * rescue/tree/etc/rc.sysinit: drvinst serial_usb in rc.sysinit so that
- legacy free machines may
- work with rescue
-
-2002/09/04 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * standalone/drakperm: changing bad save path for perm.local
-
- * bootlook.pm: replace convert dependencies by gdk-pixbuf dependencies
-
-2002/09/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cy.po, share/po/da.po: updated Danish and Welsh files
-
-2002/09/04 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: remove symlink Xconfigurator (which was broken anyway,
- thanks to Ian Ventura-Whiting for reporting it)
-
- * bootloader.pm (same_entries): compare kernel options sorted (this is an
- approximation of
- reality since order can matter, but...). An example is "quiet
- devfs=mount
- hdc=ide-scsi" vs "devfs=mount hdc=ide-scsi quiet" (thanks to Gabriel
- Phoenix)
-
- * ugtk.pm: make perl_checker happy
-
- * install_steps.pm (addUser): fix calling with a user already existing
- (mainly for installs keeping the / non-formatted, special for pixel)
-
- * share/keymaps.tar.bz2: update (now includes ro2)
-
- * install_steps_interactive.pm: fix dialog box asking "Load from floppy"
- or "Save on floppy" in individual package selection
-
- * fs.pm: revert add2hash_ username=% to add2hash (it breaks diskdrake
- --smb not
- defaulting to username=%, and i can't find out what was wrong in
- auto_install's manualFstab)
- handle no options in fs::mount (is it really needed?... it should not!)
-
- * Xconfig/test.pm: set isInstall in test script otherwise it uses
- /usr/X11R6/bin/xtest
-
-2002/09/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: enable perl-Expect (moved to main)
-
-2002/09/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Makefile.config: add drakperm!
-
- * harddrake/ui.pm:
- - add --test option to skip mice|modem|printer detection (now
- harddrake start instantaneously)
- - print probed class to show progression
- - fix tree moving by using a Gtk::CTree instead of a Gtk::Tree; side
- effect is some code cleaning which compensate above features (code
- lenght)
- - let my_gtk handle embedded case
- - don't try to center window when embedded
-
- * standalone/drakbackup: embbed drakbackup in mcc
-
- * drakxtools.spec: 33mdk
- 32mdk
-
- * standalone/drakperm:
- - really embbed
- - kill stupid things (aka embedded window withouth any widget vs
- toplevel window)
-
- * ugtk.pm: gtkcreate_png_pixbuf() : support jpeg too for bootlook.pm
-
- * share/po/fr.po: s/Si vous disque/Si votre disque/
- s/Si non,, Les partitions devront être créés/Sinon, les partitions
- devront ,bj(Btre cr,bii(Bes/
- s/des fonctionnalité additionnelle/des fonctionnalit,bi(Bs
- additionnelles/
- s/sur un disque amovibles/sur un disque amovible/
- s/sauves la table/sauve la table/
- s/pour récurer les partitions/pour r,bi(Bcup,bi(Brer les partitions/
- fix dadou fsck; please check the po before comitting it!!!!!
-
-2002/09/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * drakxtools.spec: meumeu
- meuh
-
- * ugtk.pm, my_gtk.pm: try to get rid of BEGIN but still be able to start
- up the install :-)
-
-2002/09/03 Pixel <pixel@mandrakesoft.com>
-
- * standalone/icons/harddrake2/multimedia.png: re-adding with -kb
- removing for re-adding with -kb
-
-2002/09/03 baudens
-
- * share/advertising/09-server.pl, share/advertising/02-community.pl,
- share/advertising/04-multimedia.pl, share/advertising/07-desktop.pl,
- share/advertising/14-mdkexpert.pl, share/advertising/03-internet.pl,
- share/advertising/13-mdkcampus.pl, share/advertising/12-mdkstore.pl,
- share/advertising/11-mdkstore.pl, share/advertising/05-games.pl: Use
- official marketing ads
-
- * share/advertising/list: Add MandrakeClub screen in list
-
- * share/po/fr.po: Use MandrakeSoft marketing ads
- Begin to use Mandrake's marketing ads
-
- * share/advertising/17-mdkclub.pl, share/advertising/17-mdkclub.png: Add
- MDKclub screen and text
-
-2002/09/03 dam's <dams@idm.fr>
-
- * ugtk.pm: added create_pixbutton
-
- * my_gtk.pm: better icon association
- added create_pixbutton
- added add_icon_path for control-center
-
- * pixmaps/stock_cancel.xpm, pixmaps/stock_right.xpm, pixmaps/stock_ok.xpm,
- pixmaps/stock_exit.xpm, pixmaps/stock_left.xpm: re-adding with -kb
- removing for re-adding with -kb
- icons for ok/cancel/back/previou/next icons
-
-2002/09/03 Daouda Lo <daouda@mandrakesoft.com>
-
- * drakxtools.spec:
- - obsoletes/provides drakfloppy
-
- * my_gtk.pm:
- - better size of wizard for printerdrake
-
-2002/09/03 fcrozat
-
- * share/rpmsrate: mdk-eazel-engine is now in gtk-engines
-
-2002/09/03 François Pons <fpons@mandrakesoft.com>
-
- * install_gtk.pm: fixed old Xconf style because it doesn't work anymore on
- i845 with newer format.
-
- * mouse.pm: add a sleep and second try for usb mouse.
- added log when no usb interface is found, rare enough now.
-
- * ugtk.pm: fixed previous fix;
- try to avoid clashes with install.
-
- * modules.pm: make modules.pm patchable (avoid my ...)
- updated log of add_probeall to be correct.
-
- * my_gtk.pm: fixed damien (aka pitchounette) sucking, this is not this way
- pitchounette you
- will lost your current name as pitchounette :-)
-
- * install_steps_interactive.pm: fixed too higher percentage.
-
-2002/09/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * drakxtools.spec: meumeu
- meuh
-
- * ugtk.pm: try to get rid of BEGIN but still be able to start up the
- install :-)
- have the possibility in gtktext_insert to provide font/color
- information as well
- meuh gtk init
- gtkcreate_png was too stupid to allow subdirectories for images,
- fix it
-
- * my_gtk.pm: try to get rid of BEGIN but still be able to start up the
- install :-)
-
-2002/09/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
- * share/po/cs.po: updated po file
-
- * share/po/zh_CN.po: updated Chinese file
-
- * lang.pm: Changed Turkish console font
-
- * share/po/Makefile: enabled ro.po
-
-2002/09/03 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list.i386: add gpart (per Giuseppe Ghibò request)
-
- * my_gtk.pm: remove the use of Ok/Cancel/Exit icons (per ergonomy team
- request)
-
-2002/09/03 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Fix empty subnet in /etc/exports /home entry.
-
-2002/09/03 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: remove double translation
-
- * ugtk.pm:
- - create_pix_text, gtkicons_labels_widget: remove text color argument,
- default to black
- - remove last debugging prints
- - ugtk :
- o create_pix_text:
- * remove
- * kill uni colored background
- * api change:
- + background argument => background list
- + remove bold argument
- * render all text (normal, highlighted, selected) on specified
- background in one pass
- o gtkicons_labels_widget():
- * explain/comment
- * move all drawing logic in &$draw
- * create buffer area, text pics only one time
- * add a pixbuf for highlighted item
- * render highlighted icon by making it more transparent
- * recalculate drawing buffer only on state change
- - mcc :
- * move all drawing logic in &$draw
- * create buffer area, text pics only one time
- * render highlighted icon by making it more transparent
- * recalculate drawing buffer only on state change
-
- * drakxtools.spec: 30mdk
-
-2002/09/02 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm, network/ethernet.pm:
- - fix previous behavior in Expert mode... (100% lazy loop free this
- time)
-
- * network/netconnect.pm:
- - network restart previous bug fixed
-
-2002/09/02 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/po/fr.po: corrected a gramatical error
-
-2002/09/02 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: restore auto build of synthesis file (for updates).
-
- * ugtk.pm: fixed titi suckings.
-
- * install_steps_interactive.pm: make sure upgrade is done instead.
-
-2002/09/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/id.po, share/advertising/14-mdkexpert.pl, share/po/sk.po,
- share/po/ru.po, share/po/gl.po, share/po/pt_BR.po, share/po/br.po,
- share/po/th.po, share/po/sl.po, share/po/no.po, share/po/et.po,
- share/po/ja.po, share/po/hr.po, share/po/tr.po, share/po/mt.po,
- share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/advertising/03-internet.pl, share/po/ko.po, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/advertising/05-games.pl, share/po/sp.po, share/po/cy.po,
- share/po/da.po, share/po/ca.po, share/po/ar.po,
- share/advertising/12-mdkstore.pl, share/advertising/09-server.pl,
- share/advertising/04-multimedia.pl, share/po/bs.po, share/po/ro.po,
- share/advertising/13-mdkcampus.pl, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/pt.po, share/po/vi.po, share/po/ta.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/cs.po,
- share/po/bg.po, share/po/el.po, share/po/hu.po: try to fix broken
- english in advertisements and not break po's
-
-2002/09/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/advertising/12-mdkstore.pl,
- share/advertising/15-mdkexpert-corporate.pl: small fix
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/ro.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/ta.po, share/po/fr.po, share/po/nl.po,
- share/po/it.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/bg.po, share/po/el.po: updated
- pot file
-
- * share/advertising/14-mdkexpert.pl: fixed typo
- small fix
-
- * share/po/hu.po: updated Hungarian file
- updated pot file
-
- * help.pm: Fixed typo
-
- * share/po/zh_TW.po: updated Chinese file
- updated pot file
-
- * share/po/pl.po, share/po/cs.po: updated pot file
- updated Czech and Polish files
-
-2002/09/02 Till Kamppeter <till@mandrakesoft.com>
-
- * share/rpmsrate: Updated for the new printerdrake.
-
-2002/09/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: use new ln icons
-
- * ugtk.pm: gtkicons_labels_widget(): check binary exists
-
- * drakxtools.spec, Makefile.drakxtools: 29mdk: add harddrake icons
-
- * standalone/icons/harddrake2/harddrake.png,
- standalone/icons/harddrake2/joystick.png,
- standalone/icons/harddrake2/usb.png, standalone/icons/harddrake2/tv.png,
- standalone/icons/harddrake2/floppy.png,
- standalone/icons/harddrake2/scsi_hd.png,
- standalone/icons/harddrake2/modem.png,
- standalone/icons/harddrake2/keyboard.png,
- standalone/icons/harddrake2/unknown.png,
- standalone/icons/harddrake2/harddisk.png,
- standalone/icons/harddrake2/cd.png, standalone/icons/harddrake2/cpu.png,
- standalone/icons/harddrake2/ide_hd.png,
- standalone/icons/harddrake2/scanner.png,
- standalone/icons/harddrake2/hw_mouse.png,
- standalone/icons/harddrake2/isdn.png,
- standalone/icons/harddrake2/hw_printer.png,
- standalone/icons/harddrake2/memory.png,
- standalone/icons/harddrake2/webcam.png,
- standalone/icons/harddrake2/video.png,
- standalone/icons/harddrake2/tape.png,
- standalone/icons/harddrake2/sound.png,
- standalone/icons/harddrake2/scsi.png,
- standalone/icons/harddrake2/hw_network.png: add new icons
- remove old icons
- add new ln icons
-
- * standalone/icons/harddrake2/menu/harddrake-menu48.png,
- standalone/icons/harddrake2/cable.png,
- standalone/icons/harddrake2/menu/harddrake-menu16.png,
- standalone/icons/harddrake2/menu/harddrake-menu32.png,
- standalone/icons/harddrake2/multimedia.png,
- standalone/icons/harddrake2/K7.png: add new ln icons
-
-2002/09/02 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/po/fr.po: corrected a gramatical error
-
-2002/09/02 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: restore auto build of synthesis file (for updates).
-
- * ugtk.pm: fixed titi suckings.
-
- * install_steps_interactive.pm: make sure upgrade is done instead.
-
-2002/09/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po, share/po/pl.po: updated Czech and Polish files
-
-2002/09/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm: gtkicons_labels_widget(): check binary exists
- kill glib warnings
-
- * harddrake/data.pm: use new ln icons
-
- * drakxtools.spec, Makefile.drakxtools: 29mdk: add harddrake icons
-
- * standalone/icons/harddrake2/harddrake.png,
- standalone/icons/harddrake2/joystick.png,
- standalone/icons/harddrake2/usb.png, standalone/icons/harddrake2/tv.png,
- standalone/icons/harddrake2/floppy.png,
- standalone/icons/harddrake2/scsi_hd.png,
- standalone/icons/harddrake2/modem.png,
- standalone/icons/harddrake2/keyboard.png,
- standalone/icons/harddrake2/unknown.png,
- standalone/icons/harddrake2/harddisk.png,
- standalone/icons/harddrake2/cd.png, standalone/icons/harddrake2/cpu.png,
- standalone/icons/harddrake2/ide_hd.png,
- standalone/icons/harddrake2/scanner.png,
- standalone/icons/harddrake2/hw_mouse.png,
- standalone/icons/harddrake2/isdn.png,
- standalone/icons/harddrake2/hw_printer.png,
- standalone/icons/harddrake2/memory.png,
- standalone/icons/harddrake2/webcam.png,
- standalone/icons/harddrake2/video.png,
- standalone/icons/harddrake2/tape.png,
- standalone/icons/harddrake2/sound.png,
- standalone/icons/harddrake2/scsi.png,
- standalone/icons/harddrake2/hw_network.png: add new icons
- remove old icons
- add new ln icons
-
- * standalone/icons/harddrake2/menu/harddrake-menu48.png,
- standalone/icons/harddrake2/cable.png,
- standalone/icons/harddrake2/menu/harddrake-menu16.png,
- standalone/icons/harddrake2/menu/harddrake-menu32.png,
- standalone/icons/harddrake2/multimedia.png,
- standalone/icons/harddrake2/K7.png: add new ln icons
-
-2002/09/02 baudens
-
- * share/advertising/list, share/advertising/07-desktop.pl,
- share/advertising/05-games.pl, share/advertising/06-mcc.pl: Update
-
- * share/advertising/09-server.pl, share/advertising/04-multimedia.pl,
- share/advertising/14-mdkexpert.pl, share/advertising/13-mdkcampus.pl,
- share/advertising/11-mdkstore.pl, share/advertising/02-community.pl,
- share/advertising/01-thanks.pl, share/advertising/03-internet.pl,
- share/advertising/10-mnf.pl,
- share/advertising/15-mdkexpert-corporate.pl,
- share/advertising/08-development.pl, share/advertising/12-mdkstore.pl:
- Update
- Update
-
-2002/09/02 Daouda Lo <daouda@mandrakesoft.com>
-
- * Makefile.config, drakxtools.spec, standalone.pm, docs/README.devel:
- - s/tinyfirewall/drakfirewall/
-
- * standalone/drakbug: s/tinyfirewall/drakfirewall/
- - drakbug point to https://drakbug.mandrakesoft.com
-
- * network/netconnect.pm, standalone/tinyfirewall, standalone/drakfirewall,
- network/drakfirewall.pm, network/tinyfirewall.pm:
- - replace tinyfirewall by drakfirewall
-
-2002/09/02 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: sympa => mailman
- removed PHP-nuke
-
- * share/po/fr.po: corrected a gramatical error
-
-2002/09/02 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: make sure upgrade is done instead.
- reverted previous modification moved to crypto module.
- make sure rpmdb is open before displaying packages tree.
-
- * install2.pm: now allow meta_class option on command line to be taken
- into account instead of
- previous options desktop and firewall.
-
- * install_steps.pm: add $o->{packages} to install_any::install_urpmi call.
-
- * install_any.pm: restore auto build of synthesis file (for updates).
- fixed typo.
- fix list building not to use parsehdlist.
- install_urpmi only install selected media.
-
- * crypto.pm: fix typo.
- allow selecting packages to upgrade.
-
- * install_steps_gtk.pm: strange typo where no filtering on medium was
- issued ?
-
- * pkgs.pm: fixed to call to getFile by giving medium description,
- necessary for updates.
- allow selectPackagesToUpgrade to use a specific medium instead of all of
- them.
-
- * ugtk.pm: fixed titi suckings.
-
-2002/09/02 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * drakperm: solving bugs on add and save functions
-
-2002/09/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: updated Czech and Polish files
-
- * share/po/sv.po, share/po/sk.po, share/po/de.po, share/po/zh_TW.po,
- share/po/tr.po, share/po/hu.po: updated Hungarian, Turkish, Swedish,
- Slovak and Chinese files
-
- * share/po/pl.po: updated Czech and Polish files
- updated Hungarian, Turkish, Swedish, Slovak and Chinese files
-
- * share/po/es.po, share/po/ru.po: updated Spanish and Russian files
-
-2002/09/02 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm: gtkicons_labels_widget(): check binary exists
- kill glib warnings
-
- * harddrake/sound.pm, harddrake/ui.pm: display alternative drivers (oss,
- alsa) for sound cards
-
- * harddrake/data.pm: use new ln icons
-
- * drakxtools.spec, Makefile.drakxtools: 29mdk: add harddrake icons
-
- * standalone/icons/harddrake2/floppy.png,
- standalone/icons/harddrake2/scsi_hd.png,
- standalone/icons/harddrake2/modem.png,
- standalone/icons/harddrake2/keyboard.png,
- standalone/icons/harddrake2/harddisk.png,
- standalone/icons/harddrake2/ide_hd.png,
- standalone/icons/harddrake2/scanner.png,
- standalone/icons/harddrake2/isdn.png,
- standalone/icons/harddrake2/webcam.png,
- standalone/icons/harddrake2/sound.png,
- standalone/icons/harddrake2/scsi.png,
- standalone/icons/harddrake2/harddrake.png,
- standalone/icons/harddrake2/joystick.png,
- standalone/icons/harddrake2/tv.png, standalone/icons/harddrake2/usb.png,
- standalone/icons/harddrake2/unknown.png,
- standalone/icons/harddrake2/cd.png, standalone/icons/harddrake2/cpu.png,
- standalone/icons/harddrake2/hw_mouse.png,
- standalone/icons/harddrake2/hw_printer.png,
- standalone/icons/harddrake2/memory.png,
- standalone/icons/harddrake2/video.png,
- standalone/icons/harddrake2/tape.png,
- standalone/icons/harddrake2/hw_network.png: add new icons
- remove old icons
- add new ln icons
-
- * share/po/fr.po: update french translation
-
- * standalone/icons/harddrake2/menu/harddrake-menu48.png,
- standalone/icons/harddrake2/multimedia.png,
- standalone/icons/harddrake2/cable.png,
- standalone/icons/harddrake2/menu/harddrake-menu16.png,
- standalone/icons/harddrake2/menu/harddrake-menu32.png,
- standalone/icons/harddrake2/K7.png: add new ln icons
-
-2002/09/01 alus
-
- * share/po/pl.po: and more...
- some translations
-
-2002/09/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated Vientamese file
-
-2002/09/01 siegel
-
- * share/po/de.po: updates
- new german version
-
-2002/09/01 Till Kamppeter <till@mandrakesoft.com>
-
- * scanner.pm: s/Seiko Epson/Epson/ in subroutine to update ScannerDB from
- Sane.
-
- * printerdrake.pm:
- - Tell users of the HP LaserJet 1000 that they have to upload firmware
- to the printer.
- - Updated instructions to get Lexmark's inkjet drivers.
- - Suppressed the display of the "Refresh printer list" and "Specify
- CUPS server" buttons in recommended mode when there is no local network.
-
-2002/08/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated po file
- updated pot file
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/ta.po,
- share/po/fr.po, share/po/nl.po, share/po/it.po, share/po/eu.po,
- share/po/es.po, share/po/de.po, share/po/eo.po, share/po/lv.po,
- share/po/cs.po, share/po/bg.po, share/po/el.po: updated pot file
-
- * share/advertising/14-mdkexpert.pl, share/advertising/12-mdkstore.pl,
- share/advertising/15-mdkexpert-corporate.pl: no need to translate web
- adresses
-
- * standalone/drakbackup: fixed use of variables in translatable strings
-
-2002/08/31 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Fix prompt text saved as filename - Advanced What
- - Other
-
-2002/08/31 siegel
-
- * share/po/de.po: some upadtes
-
-2002/08/31 Warly <warly@mandrakesoft.com>
-
- * share/rpmsrate: add shorewall and iptables in INSTALL section
-
-2002/08/30 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed possible problem with is_installed and
- are_installed.
-
- * install_steps.pm: fixed call to pkgs::remove.
-
-2002/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
-2002/08/30 siegel
-
- * share/po/de.po: update german version
-
-2002/08/30 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm:
- - Fixed bugs in automatic GIMP printer configuration during
- installation.
- - Worked around a bug of "ls -r xxx*" returning "xxx*" instead of
- nothing when "xxx*" does not exist ("ls" of "busybox" during
- installation).
-
-2002/08/30 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm, drakxtools.spec:
- - mcc :
- o kill gtkpng_() and gtk_createpng_() wrappers: if icon is missing,
- better die while testing rather than make perl display "uncaught
- code ..."
- o kill unused timer
- o use new ln's icons
- o disable stupid icon highlighting (was made with duplicating
- manually all icons in gimp and blue-y them there); restore this
- effect'll need little play with gamma
- o use ugtk
- o kill dead code
- o cleanups
- o icons:
- * switch to new icons set
- * replace pixmap table by a pixbuf one
- * use pixbufs for backgrouns and icons,
- * composite background and icons with transparency trough
- ugtk::compose_pixbufs()
- * render icons with full alpha blender in left column
- * comment the different states
- * simplify callbacks
- - ugtk :
- o readd gdkpixbuf support
- o ensure imlib is used by default to load files, not gdk-pixbuf
- o compose_with_back(): load a png icon into a pixbuf and call
- compose_pixbufs with background pixbuf
- o compose_pixbufs(): render transparent icon onto background into a
- new pixbuf
- o merge gtkcreate_png_pixbuf() from gdk-pixbuf-0-branch : load an
- icon into a pixbuf
- gdk-pixbuf-0-branch also uses it to simplify a lot of code
- o gtkicons_labels_widget() :
- * add a new background pixbuf parameter that'll be composited with
- icons
- * render icons with alpha blender in right area
- * kill imlib_counter
- * kill imlib usage for
- * kill dead code (was dead since i fixed mcc memory leaks)
-
- - TODO: icon flashing on application launch
-
- - POSTPONED: merge big cleanup, global replacement of imlib usage by
- gdk-pixbuf
- from gdk-pixbuf-0-branch since it would impacted drakx
- which is not
- so good
-
-2002/08/30 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed possible problem with is_installed and
- are_installed.
-
-2002/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
-2002/08/30 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm, drakxtools.spec:
- - mcc :
- o kill gtkpng_() and gtk_createpng_() wrappers: if icon is missing,
- better die while testing rather than make perl display "uncaught
- code ..."
- o kill unused timer
- o use new ln's icons
- o disable stupid icon highlighting (was made with duplicating
- manually all icons in gimp and blue-y them there); restore this
- effect'll need little play with gamma
- o use ugtk
- o kill dead code
- o cleanups
- o icons:
- * switch to new icons set
- * replace pixmap table by a pixbuf one
- * use pixbufs for backgrouns and icons,
- * composite background and icons with transparency trough
- ugtk::compose_pixbufs()
- * render icons with full alpha blender in left column
- * comment the different states
- * simplify callbacks
- - ugtk :
- o readd gdkpixbuf support
- o ensure imlib is used by default to load files, not gdk-pixbuf
- o compose_with_back(): load a png icon into a pixbuf and call
- compose_pixbufs with background pixbuf
- o compose_pixbufs(): render transparent icon onto background into a
- new pixbuf
- o merge gtkcreate_png_pixbuf() from gdk-pixbuf-0-branch : load an
- icon into a pixbuf
- gdk-pixbuf-0-branch also uses it to simplify a lot of code
- o gtkicons_labels_widget() :
- * add a new background pixbuf parameter that'll be composited with
- icons
- * render icons with alpha blender in right area
- * kill imlib_counter
- * kill imlib usage for
- * kill dead code (was dead since i fixed mcc memory leaks)
-
- - TODO: icon flashing on application launch
-
- - POSTPONED: merge big cleanup, global replacement of imlib usage by
- gdk-pixbuf
- from gdk-pixbuf-0-branch since it would impacted drakx
- which is not
- so good
-
-2002/08/30 baudens
-
- * share/advertising/list: Temporary fix
-
- * share/advertising/15-mdkexpert-corporate.pl,
- share/advertising/14-mdkexpert.pl, share/advertising/13-mdkcampus.pl,
- share/advertising/12-mdkstore.pl, share/advertising/11-mdkstore.pl:
- Temporary new texts. Need to be checked and fixed
-
-2002/08/30 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed possible problem with is_installed and
- are_installed.
-
-2002/08/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * network/network.pm: fix looping on network step when configuring
- ethernet card
-
-2002/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
- updated Swedish file
-
-2002/08/30 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake:
- - use keyboard::keyboard2full_xkb
- - call setxkbmap with -option and -model
- - use "/etc/init.d/keytable restart" instead of loadkeys
-
- * keyboard.pm, Xconfig/default.pm: most of the code of
- Xconfig::default::config_keyboard moved to keyboard::keyboard2full_xkb
-
- * verify_c: ignore c::from_utf8
-
- * any.pm:
- - set GRP_TOGGLE to '' when no GRP_TOGGLE are used
- - defaults to previous GRP_TOGGLE if one is available
-
- * Xconfig/card.pm: make perl_checker happy
-
- * Xconfig/resolution_and_depth.pm: fix typo (choosing the Flat Panel
- resolution by default)
-
-2002/08/30 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm, drakxtools.spec:
- - mcc :
- o kill gtkpng_() and gtk_createpng_() wrappers: if icon is missing,
- better die while testing rather than make perl display "uncaught
- code ..."
- o kill unused timer
- o use new ln's icons
- o disable stupid icon highlighting (was made with duplicating
- manually all icons in gimp and blue-y them there); restore this
- effect'll need little play with gamma
- o use ugtk
- o kill dead code
- o cleanups
- o icons:
- * switch to new icons set
- * replace pixmap table by a pixbuf one
- * use pixbufs for backgrouns and icons,
- * composite background and icons with transparency trough
- ugtk::compose_pixbufs()
- * render icons with full alpha blender in left column
- * comment the different states
- * simplify callbacks
- - ugtk :
- o readd gdkpixbuf support
- o ensure imlib is used by default to load files, not gdk-pixbuf
- o compose_with_back(): load a png icon into a pixbuf and call
- compose_pixbufs with background pixbuf
- o compose_pixbufs(): render transparent icon onto background into a
- new pixbuf
- o merge gtkcreate_png_pixbuf() from gdk-pixbuf-0-branch : load an
- icon into a pixbuf
- gdk-pixbuf-0-branch also uses it to simplify a lot of code
- o gtkicons_labels_widget() :
- * add a new background pixbuf parameter that'll be composited with
- icons
- * render icons with alpha blender in right area
- * kill imlib_counter
- * kill imlib usage for
- * kill dead code (was dead since i fixed mcc memory leaks)
-
- - TODO: icon flashing on application launch
-
- - POSTPONED: merge big cleanup, global replacement of imlib usage by
- gdk-pixbuf
- from gdk-pixbuf-0-branch since it would impacted drakx
- which is not
- so good
-
-2002/08/30 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: rc1
-
-2002/08/30 baudens
-
- * share/advertising/list: Temporary fix
-
-2002/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * install_steps_newt.pm: Added text for translators
-
- * share/po/nl.po, share/po/cy.po, share/po/eu.po, share/po/cs.po: updated
- po files
-
-2002/08/30 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/resolution_and_depth.pm: fix typo (choosing the Flat Panel
- resolution by default)
-
-2002/08/30 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: rc1
-
-2002/08/29 Pixel <pixel@mandrakesoft.com>
-
- * share/keymaps.tar.bz2: now the only bad one is ro2
-
- * share/po/it.po, share/po/help-fr.pot, share/po/help-de.pot,
- share/po/es.po, share/po/de.po, share/po/help-es.pot,
- share/po/help-it.pot, share/po/fr.po:
- - re-update help-xx.pot after fixing bad drakxid's in xml files
- - update xx.po's using help-xx.pot
- => at last, DrakX help is now in sync with xml files :)
-
- * pixmaps/printer-mdk.png: re-adding with -kb
- removing for re-adding with -kb
-
- * detect_devices.pm (isRemovableDrive): usb with class "Floppy (UFI)" are
- removable even if they are not media_type fd
-
- * share/po/help_xml2pm.pl:
- - fix missing to_ascii on english part in help-xx.pot
- - ignore drakxid's in a language but not in english
-
-2002/08/29 baudens
-
- * share/advertising/09-MDKcampus_icon.png,
- share/advertising/12-MDKstore_icon.png, share/advertising/00-thanks.png,
- share/advertising/10-MDKexpert.png, share/advertising/06-user.png,
- share/advertising/03-graphic_icon.png, share/advertising/03-graphic.png,
- share/advertising/13-Nvert.png, share/advertising/04-develop_icon.png,
- share/advertising/12-MDKstore.png,
- share/advertising/05-contcenter_icon.png,
- share/advertising/02-internet_icon.png,
- share/advertising/02-internet.png, share/advertising/08-games.png,
- share/advertising/11-consul.png, share/advertising/06-user_icon.png,
- share/advertising/07-server.png, share/advertising/04-develop.png,
- share/advertising/10-MDKexpert_icon.png,
- share/advertising/07-server_icon.png,
- share/advertising/08-games_icon.png, share/advertising/01-gnu.png,
- share/advertising/05-contcenter.png, share/advertising/09-MDKcampus.png:
- Remove old images
-
- * share/advertising/07-desktop.png, share/advertising/14-mdkexpert.png,
- share/advertising/01-thanks.png, share/advertising/02-community.png,
- share/advertising/11-mdkstore.png, share/advertising/12-mdkstore.png,
- share/advertising/04-multimedia.png, share/advertising/05-games.png,
- share/advertising/03-internet.png, share/advertising/06-mcc.png,
- share/advertising/13-mdkcampus.png, share/advertising/10-mnf.png,
- share/advertising/16-thanks.png,
- share/advertising/15-mdkexpert-corporate.png,
- share/advertising/09-server.png, share/advertising/08-development.png:
- New images
-
- * share/advertising/05-contcenter.pl, share/advertising/09-MDKcampus.pl,
- share/advertising/08-games.pl, share/advertising/11-consul.pl,
- share/advertising/07-server.pl, share/advertising/01-gnu.pl,
- share/advertising/03-graphic.pl, share/advertising/02-internet.pl,
- share/advertising/00-thanks.pl, share/advertising/04-develop.pl,
- share/advertising/06-user.pl, share/advertising/12-MDKstore.pl,
- share/advertising/13-Nvert.pl, share/advertising/10-MDKexpert.pl: Remove
- old texts
-
- * share/advertising/02-community.pl, share/advertising/01-thanks.pl,
- share/advertising/05-games.pl, share/advertising/09-server.pl,
- share/advertising/04-multimedia.pl, share/advertising/07-desktop.pl,
- share/advertising/10-mnf.pl, share/advertising/08-development.pl,
- share/advertising/06-mcc.pl, share/advertising/03-internet.pl: New text
- (other will come later)
-
-2002/08/29 Daouda Lo <daouda@mandrakesoft.com>
-
- * network/adsl.pm:
- - dns settings for pppoe
- - set DNS in adsl config.
- - update speedtouch link
-
-2002/08/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pcmcia_/probe.c: merge some code from pcmcia-cs-3.2.1 so that
- some pci pcmcia driver
- use i82365 rather than yenta_socket
-
- * standalone/logdrake: in explain mode, don't display day and hostname to
- have more
- space for the rest
-
- * drakxtools.spec: meuh
- 24mdk
-
- * my_gtk.pm: ask_browse: display_info needs to be available for rpmdrake
-
-2002/08/29 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * drakperm: Gui for file permission in msec
-
-2002/08/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/drakfont, standalone/drakxtv: English typos (no space before
- colon in English)
-
- * share/po/es.po: updated po file
- updated pot file
-
- * share/po/sk.po, share/po/vi.po: updated Slovak and Vietnamese files
- updated pot file
-
- * share/po/id.po, share/po/ru.po, share/po/gl.po, share/po/pt_BR.po,
- share/po/br.po, share/po/th.po, share/po/sl.po, share/po/no.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sv.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/ta.po, share/po/fr.po, share/po/it.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/cs.po, share/po/bg.po,
- share/po/el.po, share/po/hu.po: updated pot file
-
- * share/rpmsrate: removed ami-gnome (the package won't be in 9.0, as it
- doesn't work
- with Gnome2)
-
- * harddrake/ui.pm: English typos (Quitter->Quit,
- Informations->Information)
- corrected English typos (no space before colon in English)
-
- * share/po/cy.po, share/po/nl.po, share/po/eu.po: updated pot file
- updated Welsh, Basque and Dutch files
-
- * harddrake/v4l.pm, standalone/drakbackup: corrected English typos (no
- space before colon in English)
-
-2002/08/29 Pixel <pixel@mandrakesoft.com>
-
- * share/keymaps.tar.bz2: now the only bad one is ro2
-
- * share/po/help_update_english_only.pl: semi-automatic script allowing to
- update help.pm without creating a hell lot of "fuzzy" in po's
-
- * share/po/Makefile: workaround missing entities in spanish
- adapt to new manual cvs dirs
-
- * share/po/help_xml2pm.pl:
- - fix missing to_ascii on english part in help-xx.pot
- - ignore drakxid's in a language but not in english
- - adapt to new manualB xml help
- - fix tr/// causing havoc in french accents (and other)
-
- * install2.pm (formatPartitions): create /dev/null as soon as possible on
- to be installed system
-
- * detect_devices.pm (isRemovableDrive): usb with class "Floppy (UFI)" are
- removable even if they are not media_type fd
- (isRemovableUsb): using "Floppy (UFI)" usb media_type is no good, use
- magical usb2removable instead
- (usb_description2removable): more entries
- (suggest_mount_point): use new function usb2removable
-
- * share/po/help-eu.pot: not available anymore (=> use the i18n from eu.po)
-
- * help.pm: update help from xml
-
- * standalone/drakupdate_fstab: fix check_hard_drives
- in --auto, print the mount points add/removed for use in hotplug
- - add option --auto
- - when --auto, ignore actions on partitions when the drive has
- extended partitions
-
- * devices.pm: allow creation of "/dev/null" device
-
- * share/po/sk.po, share/po/gl.po, share/po/pt_BR.po, share/po/th.po,
- share/po/et.po, share/po/ja.po, share/po/hr.po, share/po/be.po,
- share/po/ko.po, share/po/sv.po, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/da.po, share/po/ca.po, share/po/ar.po,
- share/po/ro.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/eu.po,
- share/po/lv.po, share/po/hu.po, share/po/id.po, share/po/ru.po,
- share/po/no.po, share/po/sl.po, share/po/tr.po, share/po/mt.po,
- share/po/ga.po, share/po/uk.po, share/po/lt.po, share/po/cy.po,
- share/po/sp.po, share/po/bs.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/pt.po, share/po/ta.po,
- share/po/vi.po, share/po/nl.po, share/po/eo.po, share/po/el.po,
- share/po/bg.po, share/po/cs.po: automatic update to new help.pm (so that
- no fuzzy appears)
-
- * share/po/help-de.pot, share/po/help-it.pot, share/po/help-fr.pot,
- share/po/help-es.pot:
- - re-update help-xx.pot after fixing bad drakxid's in xml files
- - update xx.po's using help-xx.pot
- => at last, DrakX help is now in sync with xml files :)
- update help from xml
-
- * install_steps_gtk.pm: rpm description & group are in utf8, so use
- c::from_utf8
-
- * standalone/drakgw: drakgw now needs shorewall, so install shorewall if
- needed (fix bug reported by Erwan)
-
- * share/po/it.po, share/po/es.po, share/po/fr.po, share/po/de.po:
- - re-update help-xx.pot after fixing bad drakxid's in xml files
- - update xx.po's using help-xx.pot
- => at last, DrakX help is now in sync with xml files :)
- automatic update to new help.pm (so that no fuzzy appears)
-
-2002/08/29 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: GUI feedback during restore.
-
-2002/08/29 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: s/||/or/ between commands, the high-precedence "||" lead to
- problems sometimes.
-
-2002/08/29 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: move STORAGE_OTHER devices in ata controllers (aka
- pseudo raid controllers
- ala pdc)
-
- * standalone/logdrake: add a scroll bar in embedded mode for mcc
-
- * standalone/service_harddrake, harddrake/TODO: 25mdk
-
- * harddrake/ui.pm: embedded mode: exit on "quit" click
-
- * drakxtools.spec: harddrake service:
- - Prereq: rpm-helper
- - fix init-script-without-chkconfig-{post,preun}
- - s/perl -w/perl/
- - don't use diags and strict
- gc must how learn to commit
- 25mdk
-
-2002/08/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/th.po: fixed Project-Id line
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/bs.po, share/po/ru.po, share/po/gl.po, share/po/pt_BR.po,
- share/po/sl.po, share/po/af.po, share/po/az.po, share/po/ja.po,
- share/po/ga.po, share/po/uk.po, share/po/ko.po, share/po/sr.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/sp.po,
- share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/eo.po,
- share/po/lv.po, share/po/cs.po, share/po/bg.po, share/po/el.po,
- share/po/ar.po: fixed Project-Id header
-
-2002/08/28 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm:
- - ensure prefer_xf3 is never set when {server} is missing
- - don't propose xfree3 when no {server} for the card
- - don't propose xfree4 when no {Driver} for the card
-
- * detect_devices.pm:
- - why did hds() did return removable drives in standalone? changing
- this (this was written in 1999 so no good reason must stand)
- - remove the ugly isFloppyOrHD
- - new function get_usb_storage_info which magically links
- /proc/scsi/scsi entries to /proc/bus/usb/devices & usbtable one :)
- - new function usb_description2removable which tries to categorize the
- removables
- - new function removables returning various things
- - new function isRemovableUsb using usb class
- - new function isFloppyUsb using the usbtable "Removable:floppy"
- - suggest_mount_point use "Removable:xxx" entries from usbtable, or
- usb_description2removable()
-
- * drakxtools.spec:
- - drakupdate_fstab first appearance
- - remind me to teach titi how to commit
-
- * Makefile.config, standalone/drakupdate_fstab: new prog drakupdate_fstab
-
- * fs.pm: use add2hash_ for setting "username=%" otherwise it causes havoc
- in auto_install's manualFstab
- - read_fstab, write_fstab: add the possibility to not change
- credentials
- - use detect_devices::removables()
-
-2002/08/28 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Added automatical configuration of the
- printers in the GIMP.
-
-2002/08/28 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/logdrake:
- - fix logdrake display window in embedded mode
-
-2002/08/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: small fix
-
-2002/08/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated po files
- Changed encoding of Vietnamese file to be the same as used in vi.po of
- rpmdrake
-
- * share/po/cy.po, share/po/ca.po, share/po/da.po, share/po/ar.po,
- share/po/bs.po, share/po/af.po, share/po/az.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po: fixed Project-Id header
- updated pot file
-
- * share/po/br.po, share/po/be.po, share/po/DrakX.pot, share/po/de.po:
- updated pot file
-
- * share/po/ro.po: updated po files
- updated po files
- updated Italian and Romanian files
-
- * share/po/tr.po: updated Turkish file
- updated po files
- updated po files
-
- * share/po/sk.po, share/po/no.po, share/po/mt.po, share/po/sv.po,
- share/po/ta.po, share/po/nl.po: updated po files
- updated po files
-
- * harddrake/sound.pm: Fixed typo (no space before a colon in English)
-
- * share/po/gl.po, share/po/pt_BR.po, share/po/ga.po, share/po/pl.po,
- share/po/fi.po: fixed Project-Id header
- updated po files
-
- * share/po/it.po: updated po files
- updated Italian and Romanian files
-
- * share/po/th.po: fixed Project-Id line
- updated po files
- updated po files
-
- * share/po/id.po, share/po/et.po, share/po/hr.po, share/po/wa.po,
- share/po/is.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/fr.po, share/po/eu.po, share/po/es.po, share/po/hu.po: updated
- po files
-
- * share/po/ru.po, share/po/sl.po, share/po/ja.po, share/po/uk.po,
- share/po/ko.po, share/po/sr.po, share/po/lt.po, share/po/sp.po,
- share/po/lv.po: fixed Project-Id header
- updated po files
- updated po files
-
-2002/08/28 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm (is_same_hd): add ugly support for davfs devices (http://...)
- comparison without the ending "/"
-
- * partition_table/dos.pm (partition_table::dos::last_usable_sector): don't
- use totalsectors, compute it so that it is cylinder aligned
-
- * Xconfig/monitor.pm: choose a good_default_monitor based on laptop-or-not
- (thanks to cosmic flo)
-
- * fs.pm: use add2hash_ for setting "username=%" otherwise it causes havoc
- in auto_install's manualFstab
- - read_fstab, write_fstab: add the possibility to not change
- credentials
- - use detect_devices::removables()
- remove deprecated comment (supermount *does* handle auto type nowadays)
- (set_default_options): use $is_removable to know if it is removable
- instead of
- testing the presence of $part->{rootDevice} (this must be old code
- predating
- the avaibility of $is_removable)
- create detect_devices::suggest_mount_point and use it instead of doing
- it in fs::set_removable_mntpoints
- use mkdir_p instead of mkdir
- use new function part2device() to have the file from {device} (fixes
- mounting of ntfs in standalone)
- default option username=% for smb
-
- * Makefile.config, standalone/drakupdate_fstab: new prog drakupdate_fstab
-
- * interactive.pm, interactive/gtk.pm: add {callbacks}{advanced}, called
- when "Advance" button is pressed
-
- * standalone/diskdrake: remove unused $fstab
-
- * detect_devices.pm:
- - why did hds() did return removable drives in standalone? changing
- this (this was written in 1999 so no good reason must stand)
- - remove the ugly isFloppyOrHD
- - new function get_usb_storage_info which magically links
- /proc/scsi/scsi entries to /proc/bus/usb/devices & usbtable one :)
- - new function usb_description2removable which tries to categorize the
- removables
- - new function removables returning various things
- - new function isRemovableUsb using usb class
- - new function isFloppyUsb using the usbtable "Removable:floppy"
- - suggest_mount_point use "Removable:xxx" entries from usbtable, or
- usb_description2removable()
- create detect_devices::suggest_mount_point and use it instead of doing
- it in fs::set_removable_mntpoints
- use mkdir_p instead of mkdir
-
- * Xconfig/main.pm: fix calling export_to_install_X in
- configure_everything_auto_install
-
- * install_steps.pm:
- - use $::prefix in any::get_secure_level()
- - fix any::get_secure_level() not using prefix when it should
-
- * Xconfig/xfree3.pm, Xconfig/xfree4.pm: Xconfig::xfree3::set_resolution
- and Xconfig::xfree4::set_resolution must not modify parameter $Screen
- before calling Xconfig::xfreeX::set_resolution (otherwise the resolution
- setting is done on only one device which is bad for multi-head)
-
- * any.pm:
- - use $::prefix in any::get_secure_level()
- - fix any::get_secure_level() not using prefix when it should
- (selectLanguage): fix the ugly use of focus_out for setting langs. Was
- completly rubbish in newt.
-
- * network/tinyfirewall.pm: better error message
-
- * partition_table.pm: remove associating 0x35 => 'jfs' since it causes
- types_rev to associate jfs to 0x35 instead of 0x383
-
- * loopback.pm, devices.pm, install_any.pm: use mkdir_p instead of mkdir
-
- * install_steps_interactive.pm: bus/usb category prompting is automatic
-
- * diskdrake/interactive.pm, diskdrake/removable.pm,
- diskdrake/smbnfs_gtk.pm: in "Mount point", by default choose the default
- proposition (asked by dadou for smb)
-
- * diskdrake/dav.pm: add "Mount" and "Unmount"
- in "Mount point", by default choose the default proposition (asked by
- dadou for smb)
-
- * Xconfig/resolution_and_depth.pm: on a "Flat Panel" use the flat planel
- resolution (as suggested by Alastair Scott)
-
- * install_steps_gtk.pm, share/list, Makefile: group icons are not used,
- remove them
-
-2002/08/28 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Printerdrake remembers now whether it was in normal mode or
- in expert
- mode last time.
- OpenOffice.org: Remove default printer tag from the "Generic Printer"
- when Printerdrake adds an entry for the system's default printer.
-
- * pixmaps/printer-mdk.png, pixmaps/printer.png: Renamed icon of
- Printerdrake so that it does not get overwritten by
- Star Office.
-
- * standalone/printerdrake: Printerdrake remembers now whether it was in
- normal mode or in expert
- mode last time.
- Renamed icon of Printerdrake so that it does not get overwritten by
- Star Office.
-
- * printerdrake.pm: Printerdrake remembers now whether it was in normal
- mode or in expert
- mode last time.
-
-2002/08/28 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm:
- - embeded mode:
- o only display menu bar if not in embedded mode
- o add a "quit" button in embedded mode
- - make my_gtk ui be readable by indentation
-
- * harddrake/TODO: update
-
-2002/08/27 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/various.pm, standalone/drakboot: use the new fsedit::get_hds
-
- * detect_devices.pm: set {prefix} for rd/ida/cciss/... (instead of doing
- it in fsedit::hds)
-
- * fsedit.pm:
- - create lvms() which contains what was in hds()
- - create get_hds() which handle errors when calling hds()
- - remove commented obsolete code
- - read_partitions is now read_proc_partitions_raw
- - readProcPartitions is now read_proc_partitions
- - read_proc_partitions use fake {start}s so that the empty space is
- computed ok by get_normal_parts_and_holes
- - verifyHds doesn't exist anymore
- - part of it is in hds() using compare_with_proc_partitions() and
- use_proc_partitions()
- - part of it is in install_any::getHds
-
- * partition_table.pm:
- - do not handle clearall in read()
- - ensure not partition table in written when "readonly" (it must not
- happen, but just in case)
-
- * diskdrake/interactive.pm: handle "readonly" per hds
-
- * partition_table/raw.pm (test_for_bad_drives): classify error messages
- (either read, write or something-else)
-
- * install_interactive.pm: handle "readonly" flag per hard drives instead
- of a global one
-
- * standalone/diskdrake: use function fsedit::get_hds which handles errors
-
- * share/po/de.po: remove duplicate entries
-
- * install_steps_interactive.pm, install_any.pm: remove/simplify error
- hanling (most of it is moved to fsedit.pm)
-
- * any.pm, bootloader.pm, install2.pm: :x
-
- * diskdrake/hd_gtk.pm: nicer error message when no devices are available
- (esp. for standalone)
-
-2002/08/27 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm:
- - new 'previous' button bug fix
-
-2002/08/27 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: display a warning message about packages
- to remove.
-
- * install_any.pm: added warn about packages to remove.
-
- * crypto.pm: restore real distrution version used.
-
-2002/08/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated po file
-
- * share/po/sk.po: updated Slovak file
-
-2002/08/27 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm: handle "readonly" per hds
-
- * Xconfig/various.pm, standalone/drakboot: use the new fsedit::get_hds
-
- * my_gtk.pm:
- - add ",*-r-*" in wizard fontset
- - i18n the fontset
-
- * detect_devices.pm: set {prefix} for rd/ida/cciss/... (instead of doing
- it in fsedit::hds)
-
- * partition_table/raw.pm (test_for_bad_drives): classify error messages
- (either read, write or something-else)
-
- * fsedit.pm:
- - create lvms() which contains what was in hds()
- - create get_hds() which handle errors when calling hds()
- - remove commented obsolete code
- - read_partitions is now read_proc_partitions_raw
- - readProcPartitions is now read_proc_partitions
- - read_proc_partitions use fake {start}s so that the empty space is
- computed ok by get_normal_parts_and_holes
- - verifyHds doesn't exist anymore
- - part of it is in hds() using compare_with_proc_partitions() and
- use_proc_partitions()
- - part of it is in install_any::getHds
-
- * any.pm: set password2 to password so that upgrading bootloader with an
- existing password works (thanks to Aleksander Adamowski)
- add ntools and ctools in %high_security_groups
-
- * install_interactive.pm: handle "readonly" flag per hard drives instead
- of a global one
-
- * standalone/diskdrake: use function fsedit::get_hds which handles errors
-
- * install_any.pm, install_steps_interactive.pm: remove/simplify error
- hanling (most of it is moved to fsedit.pm)
-
- * partition_table.pm:
- - do not handle clearall in read()
- - ensure not partition table in written when "readonly" (it must not
- happen, but just in case)
-
- * diskdrake/hd_gtk.pm: nicer error message when no devices are available
- (esp. for standalone)
-
-2002/08/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: catalog restore via HD, CD, tape & network
-
-2002/08/27 siegel
-
- * share/po/de.po: updates
- updates
-
-2002/08/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm:
- - Bug fix: s/detect_devices::getSNMPModel/printer::getSNMPModel/
- - Added support for the photo card reader in the HP PSC 2200 series.
- Make number of MB to install in first time dialog changeable without
- breaking the translations.
-
- * printer.pm: Set default text margins to half an inch and default size
- for images
- to be printed to the full page.
-
-2002/08/26 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/monitor.pm: fix 2 occurences of use of $monitors as a hash
- (thanks to Nora Etukudo)
-
- * bootloader.pm: correctly handle empty and commented lines in lilo.conf
-
- * mouse.pm: create /dev/usbmouse symlink for non devfs use
-
- * detect_devices.pm: dev_is_devfs always return false during install
-
-2002/08/26 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/printerdrake:
- - Ask user whether he really wants to set up printing when he starts
- Printerdrake for the first time.
- - Added titles ("Printerdrake") to all wait messages.
-
- * printerdrake.pm: Button to close Printerdrake shows "Done" during
- installation and in MCC and "Quit" in standalone mode.
- - Ask user whether he really wants to set up printing when he starts
- Printerdrake for the first time.
- - Added titles ("Printerdrake") to all wait messages.
-
-2002/08/26 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/ethernet.pm:
- - fix previous button behavior in Proxies configuration
-
-2002/08/26 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm: avoid using serial_probe on non terminal device
- (ttyxx or ttySxx).
-
-2002/08/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: autoselection of tamil fonts when tamil locale is chosen
-
- * lang.pm: Now console fonts (at least those used by DrakX) include an sfm
- map;
- no need to provide one.
- small fix (ta->ta_IN)
-
- * share/po/zh_CN.po: updated Chinese file
-
-2002/08/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix deleting previous report.bug when upgrading
- revert (not needed by gnome-panel)
- move modules::write_pcmcia before install packages
-
- * Xconfig/monitor.pm: fix 2 occurences of use of $monitors as a hash
- (thanks to Nora Etukudo)
-
- * bootloader.pm: correctly handle empty and commented lines in lilo.conf
-
- * mouse.pm: create /dev/usbmouse symlink for non devfs use
-
- * network/shorewall.pm: ensure net_interface is found in any case
-
- * fsedit.pm: increase maxsize for / (partitioning with /usr) since it
- contains /tmp and /opt (as requested by Arnaud de Lorbeau)
-
- * detect_devices.pm: dev_is_devfs always return false during install
-
- * fs.pm (prepare_write_fstab): use mkdir_p instead of mkdir to handle
- mount points like /mnt/foo/bar (bug reported by David Eastcott)
-
-2002/08/26 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Dialog for printing test pages: Unmark all test pages when
- "No test
- pages" is marked.
- Accelerated printing of the photo test page when CUPS is the spooler,
- the internal image converter of CUPS is faster than ImageMagick.
-
- * printerdrake.pm: Dialog for printing test pages: Unmark all test pages
- when "No test
- pages" is marked.
- Accelerated printing of the photo test page when CUPS is the spooler,
- the internal image converter of CUPS is faster than ImageMagick.
- Hide buttons to choose network printer auto-detection in the add printer
- wizard when there is no local network (recommended mode).
- Let "samba-client" only be installed when really needed.
-
-2002/08/26 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm:
- - lots of cleanups
- - documente gtkcreate_png()
- - fix Gdk::DrawingArea usage in gtkpng_pixbuf()
- - common bring MDK::Common::Math for us
- - globalize state (aka highlith icon or not)
- code is much more understandable now
- instead of creating a global callback for repainting exposing widgets,
- all Gdk::DrawingArea'll come from gtkpng_pixbuf() whose code is 80 %
- the redrawing callback
-
-2002/08/25 gbeauchesne
-
- * share/rpmsrate:
- - Suggest "OpenOffice.org" instead of "openoffice"
- - First attempt to get localized installations of OOo
-
-2002/08/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/da.po: updated Danish and Spanish files
-
-2002/08/25 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakautoinst: fixe explanation use
-
-2002/08/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
- * lang.pm: ichanged kde default fonts to match what we ship
-
-2002/08/24 Till Kamppeter <till@mandrakesoft.com>
-
- * detect_devices.pm, printer.pm, printerdrake.pm: Let command line tools
- for network scanning run under "chroot $refix", otherwise they take ages
- during installation.
- Moved network scanning functions from "detect_devices.pm" to
- "printer.pm" so that they have access to the "$prefix" variable.
-
-2002/08/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_TW.po, share/po/hu.po: updated Hungarian and Chinese files
-
-2002/08/23 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/xfree4.pm: fix "screen1 RightOf screen2", it must be "screen2
- RightOf screen1"
-
- * network/netconnect.pm (read_raw_net_conf): new function to access
- /etc/sysconfig/drakconnect and /etc/sysconfig/drakconnect.$type ensuring
- migration from /etc/sysconfig/draknet and /etc/sysconfig/draknet.$type
-
- * network/shorewall.pm: remove debug code
-
- * Xconfig/card.pm:
- - fix setting "Screen <number>" for multi-head cards
- - don't propose XFree3 when using multi-head
-
- * standalone.pm: add modules network::tinyfirewall and network::shorewall
-
- * interactive.pm: when standalone, use the name of the program for the
- window title
-
- * Xconfig/xfreeX.pm (set_resolution): set the resolution on all Screen
- sections (otherwise Xinerama fails (?))
-
-2002/08/23 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: combine file browser subs into generic routine
- catalog restore - check restore media params - verify media
- reworked failure to find restore path treatment
- - now user gets option to reselect dir, install
- media, or use the catalog browser for
- unmountable media
- - fix eject media typo
- - create/read tape label for catalog
- - more GUI crash fixes
- - catalog browser - can select session or
- individual files for restore - needs backend
- - merge with other CVS changes, some language fixes
-
-2002/08/23 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm: 19mdk
- - ugtk:
- o switch from imlib to gdk-pixbuf
- o kill gtkcreate_imlib()
- o big cleanup by the way
- o support alpha blender [not complete]
- o fix mem leak
- o remove dynamic support of imlib||gdk-pixbuf since:
- * gtk2 require gdk-pixbuf anyway
- * imlib sucks
- * less code/libs in install
- o kill unused cursors
- o kill icon flashing
- o gtkcreate_png_pixbuf() : load a png into a pixbuf
- o gtkpng_pixbuf() : render a pixbuf into a drawable
- o simplify gtkcreate_png(): render a pixbuf into a pixmap and an
- alpha bitmap
- o add2notebook() : simplify
- fix 95% of mcc memory leaks
- - ugtk:
- o switch from imlib to gdk-pixbuf
- o kill gtkcreate_imlib()
- o big cleanup by the way
- o support alpha blender
- o fix mem leak
- o remove dynamic support of imlib||gdk-pixbuf since:
- * gtk2 require gdk-pixbuf anyway
- o kill unused cursors
- o kill icon flashing
- o gtkcreate_png_pixbuf() : load a png into a pixbuf
- o gtkpng_pixbuf() : render a pixbuf into a drawable
- o simplify gtkcreate_png(): render a pixbuf into a pixmap and an
- alpha bitmap
- o add2notebook() : simplify
- - harddrake:
- o bump version number
-
- * standalone/draksound: use right sound-slot
-
- * share/po/fr.po: s/p,bi(Bph,bi(Briques/p,bi(Briph,bi(Briques/
-
- * network/netconnect.pm, standalone/drakgw: florin fixes for multiple NIC
- boxes
-
- * harddrake/sound.pm: 20mdk:
- - florin fixes for firewalling
- - check that alternative is unknown, not the current driver, before
- saying that there's no alternative.
- anyway, our only caller cannot get there's with a current unknown
- driver since he only try listed/know drivers ....
- 19mdk
- use right sound-slot
- check that alternative is unknown, not the current driver, before
- saying that there's no alternative.
- anyway, our only caller cannot get there's with a current unknown
- driver since he only try listed/know drivers ....
-
- * drakxtools.spec: 20mdk:
- - florin fixes for firewalling
- - check that alternative is unknown, not the current driver, before
- saying that there's no alternative.
- anyway, our only caller cannot get there's with a current unknown
- driver since he only try listed/know drivers ....
- 19mdk
- - ugtk:
- o switch from imlib to gdk-pixbuf
- o kill gtkcreate_imlib()
- o big cleanup by the way
- o support alpha blender [not complete]
- o fix mem leak
- o remove dynamic support of imlib||gdk-pixbuf since:
- * gtk2 require gdk-pixbuf anyway
- * imlib sucks
- * less code/libs in install
- o kill unused cursors
- o kill icon flashing
- o gtkcreate_png_pixbuf() : load a png into a pixbuf
- o gtkpng_pixbuf() : render a pixbuf into a drawable
- o simplify gtkcreate_png(): render a pixbuf into a pixmap and an
- alpha bitmap
- o add2notebook() : simplify
- 18mdk
- - ugtk:
- o switch from imlib to gdk-pixbuf
- o kill gtkcreate_imlib()
- o big cleanup by the way
- o support alpha blender
- o fix mem leak
- o remove dynamic support of imlib||gdk-pixbuf since:
- * gtk2 require gdk-pixbuf anyway
- o kill unused cursors
- o kill icon flashing
- o gtkcreate_png_pixbuf() : load a png into a pixbuf
- o gtkpng_pixbuf() : render a pixbuf into a drawable
- o simplify gtkcreate_png(): render a pixbuf into a pixmap and an
- alpha bitmap
- o add2notebook() : simplify
- - harddrake:
- o bump version number
-
-2002/08/23 Warly <warly@mandrakesoft.com>
-
- * share/logo-mandrake.png: beta 4 logo
-
-2002/08/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po, share/po/hu.po: updated Hungarian file
-
-2002/08/22 Pixel <pixel@mandrakesoft.com>
-
- * network/shorewall.pm: make perl_checker happy
- use $::prefix to access shorewall config files
- - add network::shorewall
- - add tinyfirewall during install
-
- * standalone/tinyfirewall: complete rewrite
-
- * network/netconnect.pm, tinyfirewall.pm, network/tinyfirewall.pm:
- - add network::shorewall
- - add tinyfirewall during install
-
- * pixmaps/monitor-1152.png, pixmaps/monitor-1920.png,
- pixmaps/monitor-1400.png, pixmaps/monitor-2048.png,
- pixmaps/monitor-1600.png: re-adding with -kb
- removing for re-adding with -kb
-
- * standalone/drakgw: use shorewall (need testing)
-
-2002/08/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: uniformize real names
-
-2002/08/21 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed stupid typo for bestKernelPackage.
- added return for bestKernelPackage ;-)
-
-2002/08/21 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: add link to draksplash
-
- * standalone/draksplash: remove warnings
-
-2002/08/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated po file
-
-2002/08/21 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm: put back loadkeys_files which *is* used (by
- make_rescue_img)
-
-2002/08/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated po file
-
- * keyboard.pm, share/keyboards.tar.bz2: merged keyboards with XFree86
-
-2002/08/20 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm: fix pablo... uh no, too hard. fix his typo instead ;p
-
- * drakxtools.spec:
- - fix dangling waiting watch mousecursor (well, please test!)
- - adding draksplash (nathan)
-
- * my_gtk.pm:
- - in destroy, detect if program is going to leave, in that case
- don't do anything, especially don't set the waiting mouse cursor
- another thing is that calling flush() at this moment causes segfault
- so don't do it and no more segfault :)
- (now, if someone finds out what this 4 is about... but you cares, it
- works :)
- this fixes program ending on an exception
- - also add END() calling exit() (in case a program forgets to (heurk)
- call exit())
-
-2002/08/20 alus
-
- * share/po/pl.po: Upper Case
- updated translation
-
-2002/08/20 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm: o ECI adsl config fix
-
-2002/08/20 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: make sure kernel is selected during upgrade.
-
- * pkgs.pm: fixed ldconfig not visible in packages tree.
- fixed ldconfig not selected for installation.
- added bestKernelPackage.
-
-2002/08/20 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * standalone/draksplash: a tool for bootsplash theme creation
-
- * drakxtools.spec: adding draksplash
-
- * Makefile.config: adding draksplash in STANDALONEPMS_
-
-2002/08/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2, keyboard.pm: merged keyboards with XFree86
-
- * share/po/ta.po, share/po/hu.po: updated po file
- updated pot file
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/cs.po,
- share/po/bg.po, share/po/el.po: updated pot file
-
- * lang.pm: Removed fallback languages for "bs" (there are enough native
- translations now)
-
-2002/08/20 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm:
- - in destroy, detect if program is going to leave, in that case
- don't do anything, especially don't set the waiting mouse cursor
- another thing is that calling flush() at this moment causes segfault
- so don't do it and no more segfault :)
- (now, if someone finds out what this 4 is about... but you cares, it
- works :)
- this fixes program ending on an exception
- - also add END() calling exit() (in case a program forgets to (heurk)
- call exit())
-
- * share/keymaps.tar.bz2: update to correspond to keyboard.pm
-
- * mouse.pm: fix the use of create_okcancel
-
- * keyboard.pm: fix pablo... uh no, too hard. fix his typo instead ;p
- - drop the loadkeys_files (it is unused)
- - add more precise check of the existence of .bkmap's and that
- share/keymaps.tar.bz2 is up to date
-
- * install_steps_interactive.pm: firewire configuration is only automatic
- add firewire controller configuration
-
- * standalone/drakbackup: fix $'s in i18n'ed strings
-
- * standalone/XFdrake: when restarting X, don't kill kdm/gdm/xdm, they
- don't need this (worse, they don't respawn)
-
- * install_steps.pm, modules.pm: add firewire controller configuration
-
- * drakxtools.spec:
- - fix dangling waiting watch mousecursor (well, please test!)
- - adding draksplash (nathan)
-
-2002/08/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: remove unused subs
- disable forced "backup before restore" that erases previous backup
- more work towards tracking backed up files for future recovery
-
-2002/08/20 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/scannerdrake:
- - Let all occurences of "Seiko Epson" replaced by "Epson" both in the
- scanner names read from the ScannerDB and in the names resulting from
- scanner auto-detection (names from usbtable). So the user gets
- presented "Epson" and usbtable can have "Epson" names where ScannerDB
- can have "Seiko Epson" names.
- - If a scanner is listed as "unsupported" in ScannerDB, the user gets
- a message instead of scannerdrake silently exiting.
- Fixed parantheses of a "member" function, fixed typos.
-
- * scanner.pm:
- - Let all occurences of "Seiko Epson" replaced by "Epson" both in the
- scanner names read from the ScannerDB and in the names resulting from
- scanner auto-detection (names from usbtable). So the user gets
- presented "Epson" and usbtable can have "Epson" names where ScannerDB
- can have "Seiko Epson" names.
- - If a scanner is listed as "unsupported" in ScannerDB, the user gets
- a message instead of scannerdrake silently exiting.
-
- * printer.pm: Taken LPRng from spooler menu in printerdrake.
-
-2002/08/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/logdrake: s/one of the selected service/one of the selected
- services/
- (spoted by Arpad Biro)
-
- * standalone/draksound:
- - simplify
- - allocate sound slots in the same order as install2.pm (aka in
- modules::probe_category('multimedia/sound') order)
- add draksound: allow to switch between alsa and oss;
- should result in better sound support
-
- * harddrake/TODO: instead of generating my own list of module descriptions
- from
- list_modules.pm list of sound modules, just
- usemodules::category2modules_and_description
-
- * standalone/service_harddrake:
- - kill dead code
- - more use of MDK::Common
- - use draksound wizard
- - boot: only check for removed/added disks, video card, ethernet
- devices and mouse
-
- * ugtk.pm: kill debugging prints
-
- * help.pm: s/enter a disk/insert a disk/ (Arpad Biro)
-
- * standalone/drakbackup: typo fixed seen by Arpad Biro:
- s/durind/during/
- s/an user/a user/
- s/select select/select/
- s/propogate/propagate/
-
- * harddrake/data.pm:
- - use draksound wizard
- - boot: only check for removed/added disks, video card, ethernet
- devices and mouse
- don't put dvd burners in both dvd and burners classes but only in
- burners
-
- * harddrake/Makefile, harddrake/gen_snd_list, harddrake/sound.pm: instead
- of generating my own list of module descriptions from
- list_modules.pm list of sound modules, just
- usemodules::category2modules_and_description
- add draksound: allow to switch between alsa and oss;
- should result in better sound support
-
- * docs/Partition-ends-after-end-of-disk.txt: typo fix
-
- * bootlook.pm: s/mkinird/mkinitrd/ (Arpad Biro)
-
-2002/08/19 alus
-
- * share/po/pl.po: one fix
-
-2002/08/19 Pixel <pixel@mandrakesoft.com>
-
- * Makefile.config: remove dir security
-
- * interactive/gtk.pm: use my_gtk {isWizard} and {isEmbedded} which are
- more accurate than
- $::isWizard && !$my_gtk::pop_it and $::isEmbedded && !$my_gtk::pop_it,
- since
- when the Plug is full, the window is not embedded.
-
- * fs.pm: fix checking the return value of fsck.jfs
-
- * my_gtk.pm: in my_gtk object, set {isEmbedded} if embedded and {isWizard}
- if displayed wizard mode
-
- * Xconfig/monitor.pm (readMonitorsDB): now return a list instead of a hash
- to handle same name entries with different EISA_ID
- (configure_automatic): handle EISA_ID but no VertRefresh/HorizSync
- (happens for some hardware)
- (choose): handle user asking for "Plug'n Play" monitor and ddcxinfos
- failing
-
- * Xconfig/main.pm: replace "xxx => eval { }" with "xxx => scalar eval {}"
-
-2002/08/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * modules.pm: typo fix spoted by Arpad Biro
-
- * standalone/drakbackup: s/progess/progress/ (Arpad Biro)
-
-2002/08/19 alus
-
- * share/po/pl.po: one fix
-
-2002/08/19 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * standalone/draksec:
- - draksec is now in his own package
-
-2002/08/19 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/network.pm: o remove old /etc/hosts entries for the hostname
- before adding new one
-
-2002/08/19 fcrozat
-
- * share/rpmsrate: Make sure nautilus-gtkhtml is installed by default for
- GNOME
-
-2002/08/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ta.po: Added Tamil file
-
- * share/po/pt.po: updated Portuguese file
-
-2002/08/19 Pixel <pixel@mandrakesoft.com>
-
- * Makefile.config: remove dir security
-
- * proxy.pm: add $Id: ChangeLog,v 1.846 2003/09/22 16:02:51 prigaux Exp $
-
- * interactive/gtk.pm: use my_gtk {isWizard} and {isEmbedded} which are
- more accurate than
- $::isWizard && !$my_gtk::pop_it and $::isEmbedded && !$my_gtk::pop_it,
- since
- when the Plug is full, the window is not embedded.
-
- * install_any.pm (getAndSaveAutoInstallFloppy): ensure mount fail doesn't
- cause any pb
-
- * detect_devices.pm: add scsi Optical Device recognition (thanks to
- Michael Riss)
- (without this, a hard drive following the optical device gets assigned
- sda
- whereas sda is the optical device and the hard drive really is sdb)
-
- * fs.pm: fix checking the return value of fsck.jfs
-
- * my_gtk.pm: in my_gtk object, set {isEmbedded} if embedded and {isWizard}
- if displayed wizard mode
-
- * Xconfig/monitor.pm (readMonitorsDB): now return a list instead of a hash
- to handle same name entries with different EISA_ID
- (configure_automatic): handle EISA_ID but no VertRefresh/HorizSync
- (happens for some hardware)
- (choose): handle user asking for "Plug'n Play" monitor and ddcxinfos
- failing
-
- * Xconfig/main.pm: replace "xxx => eval { }" with "xxx => scalar eval {}"
-
-2002/08/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: s/drakconnet/drakconnect/ (Thank you for adding this
- bug, Titi)
-
-2002/08/19 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * modules.pm: add remove_modules
-
-2002/08/18 alus
-
- * share/po/pl.po: updated translation
-
-2002/08/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po: updated Catalan file
-
- * share/po/id.po, share/po/da.po: updated Danish and Indonesian files
-
- * share/po/cs.po, share/po/hu.po: updated Czech and Hungarian files
-
-2002/08/18 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: since lba32 is the default in lilo.conf
- - write "geometric" when lba32 is not set
- - don't write lba32 (useless)
-
-2002/08/18 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Fixed HP multi-function device
- configuration during the installation:
- - Fixed mistyped package name for "mtoolsfm"
- - Set links for photo card reader auto-detection to work
-
-2002/08/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/ru.po, share/po/gl.po, share/po/pt_BR.po,
- share/po/br.po, share/po/th.po, share/po/no.po, share/po/et.po,
- share/po/ja.po, share/po/hr.po, share/po/tr.po, share/po/mt.po,
- share/po/ga.po, share/po/be.po, share/po/uk.po, share/po/ko.po,
- share/po/pl.po, share/po/fi.po, share/po/lt.po, share/po/cy.po,
- share/po/ca.po, share/po/da.po, share/po/ar.po, share/po/bs.po,
- share/po/ro.po, share/po/wa.po, share/po/is.po, share/po/af.po,
- share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/vi.po, share/po/fr.po, share/po/it.po, share/po/nl.po,
- share/po/eu.po, share/po/es.po, share/po/de.po, share/po/eo.po,
- share/po/el.po, share/po/cs.po, share/po/bg.po, share/po/lv.po,
- share/po/hu.po: updated po files
-
-2002/08/17 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm:
- - allow to change the detected card
- - the chosen card can be used for dualhead if it is dualhead
-
- * Xconfig/resolution_and_depth.pm: sort resolutions to default to
- 1280x1024 instead of 1280x960
- if the monitor size is not given, default to 14'
-
- * any.pm (devfssymlinkf): use "mksymlink" instead of "symlink" so that
- devfsd doesn't give an error when the symlink already exists
-
- * Xconfig/proprietary.pm:
- - fix module not returning true
- - don't install_matrox_hal when testing
-
- * Xconfig/main.pm: ensure the chosen resolution is maintained unchanged
- when changing the graphic
- card or monitor.
-
-2002/08/17 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixes to make it possible toinstall HP's multi-function
- devices during installation.
-
- * scanner.pm: Let a newline character be put after the entry in
- /etc/sane.d/dll.conf, so more than one driver name can be added
- without all of them going into one line and then being unreadable.
-
-2002/08/16 alus
-
- * share/po/pl.po: updated
-
-2002/08/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/sl.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/sk.po: updated Slovak file
-
- * share/po/da.po, share/po/ko.po: updated Danish and Korean files
-
-2002/08/16 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix "Security Administrator (login or email)" missing field
-
- * interactive/newt.pm: fix dialog box with empty buttons (thanks to
- Hamster <hamster@hamsternet.org>)
-
- * Xconfig/test.pm: raise the testing time from 8 to 12 seconds
-
- * my_gtk.pm (create_okcancel): do not display "Cancel" when {cancel} is
- empty string
-
- * bootloader.pm (add_entry): new entry will now keep its label, the
- conflicting one will be renamed "old_xxx" (and not the opposite)
-
- * diskdrake/interactive.pm: limit max size of loopback to 2GB on FAT
-
-2002/08/16 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm: insert a space between "field:" and "description"
-
- * harddrake/v4l.pm, harddrake/bttv.pm, standalone/drakxtv,
- install_steps_interactive.pm:
- - harddrake::bttv is renamed harddrake::v4l
- - harddrake::v4l handle saa7134 too now (and not only bttv)
- - harddrake::v4l::config need a new driver parameter in order to be
- able to offer the right cards and tuners list
- - drakxtv: kill some old comments
- - add the list of cards supported by saa7134
- - add a not to remember a potentiel speedup
-
-2002/08/15 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - add --incident : could be used by signal catcher to launch drakbug
- when app crash
-
- * standalone/drakautoinst:
- - explanations
-
-2002/08/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/da.po, share/po/DrakX.pot, share/po/fr.po,
- share/po/fi.po, share/po/de.po: updated Danish and Hungarian files
-
- * share/po/zh_CN.po, share/po/gl.po, share/po/ga.po: updated Chinese file
-
- * share/po/hu.po: updated Chinese and hungarian files
- updated Danish and Hungarian files
-
- * share/po/zh_TW.po: updated Chinese and hungarian files
- updated Chinese file
-
-2002/08/15 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Allow non-root user to use program with personal
- config.
- Finish multisession support.
- Fix various crash scenarios in GUI in restore mode.
- Fix user restore mode to restore only what is requested.
- View archive contents before restore, user & sys mode.
- Add explanation of config file options for non-X users.
-
-2002/08/14 alus
-
- * share/po/pl.po: updated translation
-
-2002/08/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po, share/po/da.po: updated Catalan, Danish and Turkish
- files
- updated some po files
-
- * share/po/et.po, share/po/eu.po, share/po/es.po, share/po/eo.po,
- share/po/el.po: updated Vietnamese file
-
- * share/po/id.po, share/po/no.po, share/po/ja.po, share/po/hr.po,
- share/po/mt.po, share/po/ko.po, share/po/DrakX.pot, share/po/lt.po,
- share/po/cy.po, share/po/ar.po, share/po/wa.po, share/po/is.po,
- share/po/af.po, share/po/az.po, share/po/zh_TW.po, share/po/zh_CN.po,
- share/po/it.po, share/po/nl.po, share/po/de.po, share/po/cs.po,
- share/po/lv.po, share/po/hu.po: updated some po files
-
- * share/po/sp.po: Updated Slovak file
- updated some po files
-
- * share/po/vi.po: updated Vietnamese file
- updated some po files
-
- * share/po/th.po, share/po/tr.po: updated Catalan, Danish and Turkish
- files
-
- * share/po/ru.po, share/po/pt_BR.po, share/po/ro.po, share/po/pt.po:
- updated po files
-
- * share/po/sk.po, share/po/br.po, share/po/sl.po, share/po/be.po,
- share/po/uk.po, share/po/sv.po, share/po/sr.po, share/po/bs.po,
- share/po/bg.po: Updated Slovak file
-
-2002/08/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: reduce the width of install window
-
- * bootloader.pm: fix "You can't install the bootloader on a xfs partition"
- happening in weird cases (thanks to Alan Hughes)
-
- * standalone/diskdrake: disable embedding of WebDAV configuration since it
- is broken
- $all_hds->{hds} must be filled in any case, not only in --hd
-
-2002/08/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: undo advanced_what_user I broke perl_checking
- multisession CD support
-
-2002/08/14 Warly <warly@mandrakesoft.com>
-
- * share/compssUsers.server: add LSB group
-
-2002/08/13 alus
-
- * share/po/pl.po: 2 strings overlapped each other
-
-2002/08/13 Pixel <pixel@mandrakesoft.com>
-
- * network/dav.pm: nothing useful for the moment
- use ensure_is_installed
-
- * interactive/gtk.pm: handle the setting of 'ok' and 'cancel'
-
- * diskdrake/dav.pm: add checking davfs is installed
- rough WebDAV gui
-
- * standalone.pm: add ensure_is_installed (which was
- network::smbnfs::check_raw and is often useful)
-
- * standalone/diskdrake, diskdrake/interactive.pm: rough WebDAV gui
-
- * network/smbnfs.pm, network/smb.pm, network/nfs.pm: use
- ensure_is_installed
-
-2002/08/13 siegel
-
- * share/po/de.po: updates
-
-2002/08/13 alus
-
- * share/po/pl.po: 2 strings overlapped each other
- updated translation
-
-2002/08/13 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed stupid typo.
- allow selecting a choice package according to locales-xx found.
-
- * crypto.pm: added a true value.
-
- * share/rpmsrate: removed duplicate aspell-xx as DrakX will take care of
- them now.
-
-2002/08/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/gen_locales.sh: corrected erros that made the script fail
-
- * share/po/eu.po, share/po/es.po, share/po/DrakX.pot, share/po/ru.po,
- share/po/ro.po, share/po/pl.po, share/po/gl.po, share/po/fi.po,
- share/po/pt_BR.po, share/po/et.po, share/po/zh_TW.po, share/po/eo.po,
- share/po/pt.po, share/po/el.po, share/po/fr.po, share/po/ga.po: updated
- Portuguese and Chinese files
-
- * share/po/zh_CN.po: updated Chinese file
- updated Portuguese and Chinese files
-
-2002/08/13 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: require latest perl-MDK-Common
-
- * interactive.pm: remove completly setting 'ok' & 'cancel' since it's
- better done per
- interactive::* to handle correctly the Wizard mode
- button "Previous" and "Next" are not only there in interactive::gtk
-
- * standalone.pm: add ensure_is_installed (which was
- network::smbnfs::check_raw and is often useful)
-
- * fsedit.pm, fs.pm: backend davfs (WebDAV) support
-
- * interactive/gtk.pm: handle the setting of 'ok' and 'cancel'
-
- * interactive/http.pm, interactive/stdio.pm, interactive/newt.pm:
- - handle setting 'ok' && 'cancel'
- - handle isWizard in newt (basic handling)
-
- * diskdrake/dav.pm: add checking davfs is installed
- rough WebDAV gui
-
- * Xconfig/main.pm (export_to_install_X): if monitor is p'n'p, don't save
- it for auto_install
-
- * network/dav.pm: nothing useful for the moment
- use ensure_is_installed
- backend davfs (WebDAV) support
-
- * standalone/diskdrake: rough WebDAV gui
-
- * network/smbnfs.pm, network/smb.pm, network/nfs.pm: use
- ensure_is_installed
-
- * diskdrake/interactive.pm: rough WebDAV gui
- backend davfs (WebDAV) support
-
-2002/08/13 siegel
-
- * share/po/de.po: updates
-
-2002/08/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: harddrake-ui doesn't have to provides kudzu
-
- * standalone/drakxtv: add "Australian Optus cable TV" support (need xawtv
- <= 3.76)
-
- * standalone/service_harddrake: check the config file isn't empty
-
-2002/08/12 alus
-
- * share/po/pl.po: spell checking
- updated translation
-
-2002/08/12 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: allow removing packages on upgrade.
-
- * pkgs.pm: fixed stupid change (almost hope it was really changes).
- fix to reduce size of already installed packages.
-
- * install_steps_interactive.pm: synced to force calling
- selectPackagesAlreadyInstalled in order to have
- installed and upgrade computed (necessary to known if a package is
- already
- installed or will be upgradable to compute size more precisely).
-
-2002/08/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/et.po, share/po/zh_TW.po, share/po/vi.po,
- share/po/eu.po, share/po/uk.po, share/po/es.po, share/po/eo.po,
- share/po/el.po: updated po files
-
- * share/po/zh_CN.po: updated Chinese file
- updated po files
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2, share/Makefile:
- locale name <-> charset correspondances better matching what DrakX uses
-
- * share/po/bs.po, share/po/br.po, share/po/be.po, share/po/cy.po,
- share/po/ca.po, share/po/cs.po, share/po/bg.po: updated Chinese file
-
-2002/08/12 Pixel <pixel@mandrakesoft.com>
-
- * standalone.pm:
- - add setExportedVarsInSh and setExportedVarsInCsh
- - remove setVarsInCsh (obsoleted by setExportedVarsInCsh)
-
- * bootloader.pm: fix typo
-
- * interactive.pm: don't switch to 2 buttons dialog box if the labels are
- too long in ask_from_list
- (otherwise it's ugly (reported for XFdrake multi-head choice with 67 &
- 58
- chars strings) (fix bug #62)
-
- * Xconfig/xfreeX.pm: create a backup of XF86Config (XF86Config.old)
-
- * any.pm: use setExportedVarsInSh for setting /etc/profile.d/proxy.sh so
- that http_proxy
- and ftp_proxy are exported (thanks to Pascal <pascal@vmfacility.fr>)
-
- * keyboard.pm, network/network.pm, install_steps.pm:
- - fix reading previous keyboard config on upgrade (for displaying in
- summary)
- - ensure keyboard and mouse configuration are not overwritten if not
- explictly modified on upgrade
- - propagate pci=xxx at install to bootloader (since "pci=bios,biosirq"
- is needed on some box, see http://islay.dyndns.org/taz/index.html for
- more)
-
- * proxy.pm: allow ftp_proxy beginning with http: (thanks to Christophe
- Combelles)
-
- * install2.pm:
- - fix reading previous keyboard config on upgrade (for displaying in
- summary)
- - ensure keyboard and mouse configuration are not overwritten if not
- explictly modified on upgrade
- - propagate pci=xxx at install to bootloader (since "pci=bios,biosirq"
- is needed on some box, see http://islay.dyndns.org/taz/index.html for
- more)
- use $::prefix
-
- * mouse.pm, Xconfig/default.pm: use $::prefix
-
- * bootlook.pm: fix embedding
-
-2002/08/12 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * ugtk.pm: consolidate create_factory_menu
- - ugtk::gtkexpand : new function
- - harddrake::ui : uses it
- write_on_pixmap: kill unused variable
- tree_set_icon: new function
- create_okcancel isn't in ugtk so don't export it (warning fix)
-
- * harddrake/ui.pm: print fields values in blue, paint unknown module in
- red
- consolidate create_factory_menu
- - on exit, kill the running configurator if any
- - modules::get_parameters : consolidate some code
- - harddrake::ui : uses it
- - ugtk::gtkexpand : new function
- - harddrake::ui : uses it
- - perl_checker fix
- - simplifications
- - put signals ids in %IDs
- - consolidate duplicated disconnection code into disconnect
- tree_set_icon: new function
-
- * modules.pm:
- - modules::get_parameters : consolidate some code
- - harddrake::ui : uses it
-
- * scanner.pm: update TODO list
-
- * harddrake/TODO:
- - on exit, kill the running configurator if any
-
-2002/08/12 Warly <warly@mandrakesoft.com>
-
- * share/compssUsers: update LSB text
-
- * share/logo-mandrake.png: logo for beta 3
-
- * share/rpmsrate: remove useless 2 GNOME
-
-2002/08/11 alus
-
- * share/po/pl.po: updated
-
-2002/08/11 Pixel <pixel@mandrakesoft.com>
-
- * partition_table/raw.pm: add Acronis bootloader magic
-
- * share/rpmsrate: adding aspell-LANGS before evolution to workaround the
- choices limitation (=> allow to choose the right aspell-LANG)
-
- * docs/comparisons: comprehensive feature-to-feature comparison with
- redhat 8.0
-
- * diskdrake/interactive.pm: allow to enter any mount point even in
- non-expert (why was it still the other way??)
-
- * drakxtools.spec: add "PreReq: rpm-helper" in drakxtools-http as advised
- by rpmlint
-
- * bootloader.pm:
- - compare_entries is now called same_entries
- - same_entries try hard to return true even if the files not the same
- but symlinks to the same file
- - rework add_entry (it handles weird case which used to give old_linux
- and old2_linux even if they are the same)
- - ensure the old failsafe entry doesn't give any old_failsafe
-
-2002/08/11 alus
-
- * share/po/pl.po: updated
-
-2002/08/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/sv.po, share/po/sr.po, share/po/sk.po,
- share/po/sp.po, share/po/af.po, share/po/sl.po, share/po/az.po,
- share/po/hr.po, share/po/ar.po, share/po/hu.po: updated some po files
-
- * share/po/th.po, share/po/tr.po: updated Turkish file
-
-2002/08/11 Pixel <pixel@mandrakesoft.com>
-
- * lvm.pm:
- - vg_add: do not vgremove the old_name anymore, this is dangerous and
- should not happen
- - lv_create: fix bug when {primary}{normal} didn't exist
- - use run_program::get_stdout instead of ``
- - create and use run() and run_or_die() which takes care of running
- vgscan again when needed
- - rename LVMname to VG_name
-
- * diskdrake/interactive.pm: allow to enter any mount point even in
- non-expert (why was it still the other way??)
- rename LVMname to VG_name
-
- * detect_devices.pm (floppies): module "floppy" can fail to insmod, in
- that case it means
- there's no floppy controller, so don't try fd0 & fd1 which may cause
- havoc
- (esp. segfault) (thanks to rcc)
-
- * share/rpmsrate: adding aspell-LANGS before evolution to workaround the
- choices limitation (=> allow to choose the right aspell-LANG)
-
- * docs/comparisons: comprehensive feature-to-feature comparison with
- redhat 8.0
-
- * diskdrake/hd_gtk.pm, partition_table.pm: rename LVMname to VG_name
-
- * fsedit.pm: get rid of the duplicated /tmp in for suggestions_mntpoint()
- (thanks to Amaury)
- - rename LVMname to VG_name
- - part2hd: allow rootDevice to be a VG_name
- - add auto_allocate_vgs
- cleanup
-
- * fs.pm (prepare_write_fstab): no need to read the fstab once again before
- writing since reading takes care of everything, including unknown
- entries (which go to {special}). This fixes a bug when removing existing
- partition with associated mount point. It used to keep the entry in
- fstab, which is wrong (as reported by andré <naderrt@wanadoo.fr>)
-
- * modules.pm (load): when isStandalone, ignore errors when loading
- unavailable modules (ie have the same behaviour as during install)
-
- * run_program.pm: add get_stdout (similar to rooted_get_stdout)
-
- * bootloader.pm:
- - compare_entries is now called same_entries
- - same_entries try hard to return true even if the files not the same
- but symlinks to the same file
- - rework add_entry (it handles weird case which used to give old_linux
- and old2_linux even if they are the same)
- - ensure the old failsafe entry doesn't give any old_failsafe
-
- * network/smb.pm: fix yet another bug regarding credentials during install
-
- * install_steps_auto_install.pm: nice message when rebootNeeded in
- auto_install (otherwise it reboots without prompting)
-
-2002/08/11 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Setup of HP MF devices on parallel port did
- not work. Fixed.
- Allow setup of MF device if device file name "/dev/printer/<number>" was
- entered.
- If auto-detection of model name fails, ask user always whether he has an
- MF device.
- If SNMP or local auto-detection fails but HPOJ auto-detection succeeds,
- use model name found by HPOJ.
-
-2002/08/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/sv.po: updated po file
-
-2002/08/10 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm:
- - fix computing the minimal size for reiserfs resizing
- - use run_program::run instead of system for calling resizing tools
-
- * install_any.pm: workaround perl bug another way
-
-2002/08/10 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: GUI fixes, scp, rsync, webDAV, CD, tape support.
- Consolidate all net methods into one configure screen.
- Daemon mode, email fixed. Ran perl_checker and corrected.
- GUI feedback during various backup modes and result report.
- CD/Tape drive/media detection. Start to look at cataloging
- runs for locating restore media.
-
-2002/08/10 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Removed HP multi-function device configuration from SMB
- and remote LPD printer setup.
- Let the Sony IJP-V100 being treated as an HP multi-function device.
- Taken into account that the HP PhotoSmart 7150 has no photo card reader.
- Use any::get_secure_level() instead of printer::get_security_level().
-
- * detect_devices.pm: Scanning network for printers did not work during
- installation. Fixed.
-
- * printer.pm: Use any::get_secure_level() instead of
- printer::get_security_level().
-
-2002/08/09 fcrozat
-
- * share/rpmsrate: No longer requires metacity-setup (everything can be
- done using gnome-control-center)
- Ensure we install enough GNOME packages when selection GNOME
-
-2002/08/09 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: make sure size of packages is computed.
-
- * pkgs.pm: take care of packages already installed that will be removed
- (untested).
-
- * install_any.pm: fixed loadO when getFile is not used (local files).
-
- * interactive.pm: allow cancel button even for wizard.
-
- * install_steps_interactive.pm: small update to avoid side effect of bless
- to HASH even if nothing results from
- this.
-
-2002/08/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: updated Czech file
-
- * share/po/pt.po: updated Portuguese file
-
- * share/po/id.po, share/po/fr.po: updated French and Indonesian files
-
-2002/08/09 Pixel <pixel@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: fix rights on files
-
- * tools/make_mdkinst_stage2, share/list.i386, install_any.pm: add fsck.jfs
-
- * any.pm, modparm.pm, harddrake/ui.pm:
- - fix module parameter dialog box handling
- - enable the cancel on load_module__ask_options
-
- * bootloader.pm (mkinitrd): when an initrd is already there, it means an
- initrd is needed
- not the contrary (thanks to Damon Lynch for his test)
-
- * install_steps.pm: remove previous report.bug.gz (otherwise one get a
- report.bug *and* the previous report.bug.gz)
- (report.bug's are not rotated, ddebug.log's and install.log's are)
-
-2002/08/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * modparm.pm: no need anymore to pass extra arguments for harddrake::ui
-
- * Xconfig/various.pm: perl_checker fixes
-
- * harddrake/TODO: module parameters're now read from /etc/modules.conf
- before being
- altered
-
- * harddrake/bttv.pm: resync with bttv-0.7.95, add support for :
- - tv cards:
- o Hauppauge WinTV PVR
- o Leadtek|WinFast VC 100
- - tv tuners:
- o LG NTSC (newer TAPC series)
-
- * drakxtools.spec: harddrake changes
-
- * modules.pm: mergein_conf: return options if they're set
-
- * harddrake/ui.pm:
- - module configuration window:
- o read current options
- o don't display ranges, we cannot really know when a range is
- needed and so display them in wrong cases (kill code, enable us
- to simplify modparm::parameters after
- o read & parse modules.conf only when configuring the module, not
- on each click in the tree
- o move up "require module" since we use it above
- o use get_options accessor instead of direct $conf access
- o split the options string into a hash{option => value}
- o don't call several times interactive->vnew
- o fix busy cursor on window exit because of the previous change
-
-2002/08/08 alus
-
- * share/po/pl.po: various changes
-
-2002/08/08 Pixel <pixel@mandrakesoft.com>
-
- * services.pm (services): better sorting of services
-
-2002/08/08 alus
-
- * share/po/pl.po: various changes
- corrected errors
-
-2002/08/08 François Pons <fpons@mandrakesoft.com>
-
- * fs.pm: make sure fsck is called for ext3 partition (due to possible
- kernel panic on
- corrupted ext3 partition, even after mounting ext3, umounting and
- remounting
- ext2).
-
-2002/08/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2, keyboard.pm: Added Tamils TSCII keyboard
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/de.po,
- share/po/eo.po, share/po/lv.po, share/po/cs.po, share/po/bg.po,
- share/po/el.po, share/po/hu.po: updated pot file
-
- * lang.pm: Added Tamils TSCII keyboard
- Added some support for Tamil (proper KDE default fonts, and define it
- as iso8859-1 encoding for kde)
-
- * share/po/es.po: updated pot file
- updated Spanish file
-
-2002/08/08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm:
- - remove the icons in reallyChooseGroups
- - add the LSB group
- - remove buttons to change theme
- - add F5 to change the theme to the 'white' theme
- - cleanup the theme code
- workaround a weird pb with gtk: still re-creating help Gtk::Text at each
- step :-/
- - remove the "help" button
- - ensure the help box is not created twice (except when changing
- theme)
-
- * Xconfig/xfreeX.pm (set_resolution): handle the optional $resolution->{Y}
- (@resolutions): add 1280x960
- fix typo
- replace 1152x768 with 1152x864 as it should and used to be
-
- * install_steps.pm: don't add users in group usb (unneeded (?), anyway
- doesn't do anything since group usb doesn't exist currently)
-
- * install2.pm:
- - remove buttons to change theme
- - add F5 to change the theme to the 'white' theme
- - cleanup the theme code
-
- * services.pm (services): better sorting of services
-
- * install_any.pm, timezone.pm: use $::prefix in timezone::read
- timezone::read now returns a hash
-
- * install_gtk.pm:
- - remove buttons to change theme
- - add F5 to change the theme to the 'white' theme
- - cleanup the theme code
- workaround a weird pb with gtk: still re-creating help Gtk::Text at each
- step :-/
- - remove the "help" button
- - ensure the help box is not created twice (except when changing
- theme)
-
- * Xconfig/various.pm (tvout): rough default value for PAL vs NTSC
- (configure_FB_TVOUT): add ModeLines (Florent Beranger says it displays
- better with them)
-
- * any.pm:
- - write_passwd_user: ensure {pw} is set (at least '')
- - cleanup dead code
- (ask_window_manager_to_logout): adapt to new gnome
- sort security level descriptions
-
- * my_gtk.pm: do not hard code icon path
- - remove buttons to change theme
- - add F5 to change the theme to the 'white' theme
- - cleanup the theme code
-
- * Xconfig/card.pm, Xconfig/monitor.pm, Xconfig/main.pm: when prompting for
- VideoRam, default to the value obtained via DDC
-
- * Xconfig/resolution_and_depth.pm: handle the pb of resolutions where X
- doesn't imply Y (eg: 1280x1024 and 1280x960)
-
- * standalone/adduserdrake:
- - fix detecting use of MD5 and shadow passwords
- - cosmetic move of any::addUsers
-
-2002/08/08 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm, install_steps_interactive.pm: Windows PDC -> Windows
- Domain, don't make samba dirs - samba fixed now
-
-2002/08/08 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * scanner.pm: old hp scanners report themselves as "Processor"s as :
- - tested in hw lab
- - written in linux/include/scsi/scsi.h: "TYPE_PROCESSOR.*HP scanners
- use this"
- - reported by sane-find-sane: "old HP scanners use the CPU id"
-
- * detect_devices.pm: explain the fscking "Processor" need
- old hp scanners report themselves as "Processor"s as :
- - tested in hw lab
- - written in linux/include/scsi/scsi.h: "TYPE_PROCESSOR.*HP scanners
- use this"
- - reported by sane-find-sane: "old HP scanners use the CPU id"
-
-2002/08/07 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * security/shorewall.pm: shorewall-related functions will go here.
-
-2002/08/07 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: added automatic update of lilo image and KDE & GNOME
- background.
-
- * install2.pm: allow automatic oem patch. add log if successfull patching.
-
- * install_steps_interactive.pm: do not ask user to select ignored medium.
-
- * crypto.pm: allow patching of mirror used.
-
- * pkgs.pm: call rpmReadConfigFiles before installing packages.
- do not read package of ignored medium (contrib) to save memory.
-
- * install_any.pm: getAndSaveFile now return before writing zero-length
- file if input file doesn't
- exists on invocation.
-
-2002/08/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: updated Vietnamese file
-
-2002/08/07 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm: load glx in any case (well except for nvidia
- proprietary shit)
-
- * fs.pm: "LABEL=xxx" in fstab handling
-
- * bootlook.pm: replace glob() with all()
-
- * network/netconnect.pm (get_profiles): get rid of "glob", clean it up
-
-2002/08/06 alus
-
- * share/po/pl.po: updated translation
-
-2002/08/06 Daouda Lo <daouda@mandrakesoft.com>
-
- * network/tools.pm:
- - set the vpi vci correctly according to selected country.
-
-2002/08/06 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added log to follow dead lock to check what may cause it).
-
-2002/08/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: add warly,jgotti
-
-2002/08/06 Jonathan Gotti <jgotti@mandrakesoft.com>
-
- * bootlook.pm: add standalone::explanations for bootsplash configuration
-
-2002/08/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: Increased the level of "yudit"; it's one of the editors
- with best utf-8
- support, so very useful to have.
-
- * share/po/fr.po, share/po/wa.po: updated French and Walloon files
- Put _() around two strings in security level choosing
-
- * share/po/DrakX.pot: updated French and Walloon files
-
- * any.pm, share/po/pl.po: Put _() around two strings in security level
- choosing
-
-2002/08/06 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/xfree3.pm, Xconfig/xfreeX.pm, Xconfig/xfree4.pm,
- Xconfig/parse.pm: make wacom config work
-
- * bootloader.pm (get_kernels_and_labels): only take kernels for which we
- have the corresponding /lib/modules/VERSION (otherwise mkinitrd will
- fail)
-
- * run_program.pm (raw): new function allowing special options like
- {timeout}
-
- * fsedit.pm:
- - add /tmp in %suggestions for server partitioning
- - tweak some ratio's in %suggestions
-
- * any.pm (ddcxinfos): use the new run_program::raw with a 20s timeout to
- workaround ddcxinfos going wild using 100% system CPU
-
- * detect_devices.pm, my_gtk.pm, install_any.pm: make perl_checker happy
-
- * standalone.pm: add "use run_program" as needed
-
-2002/08/06 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: typo, change /etc/exports explanation in help
-
-2002/08/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: make perl_checker happier :-)
- - dont detect undef devices
- detect modem too
- - rename scanner::findScannerUsbport as scanner::detect
- as in mouse.pm
- - scanner::detect : detect SCSI scanners too
-
- * drakxtools.spec: log changes
-
- * network/modem.pm: nobody pass the second argument of
- network::modem::modem_detect_backend() so let simplify it
-
- * standalone/scannerdrake:
- - rename scanner::findScannerUsbport as scanner::detect
- as in mouse.pm
- - scanner::detect : detect SCSI scanners too
-
- * ugtk.pm: remove old references to rectangle drawing around mcc icons
-
- * scanner.pm: make perl_checker happier :-)
- - dont detect undef devices
- - rename scanner::findScannerUsbport as scanner::detect
- as in mouse.pm
- - scanner::detect : detect SCSI scanners too
-
-2002/08/05 Pixel <pixel@mandrakesoft.com>
-
- * share/list: switch to thread-multi
-
- * any.pm, mouse.pm: do the job of devfsd in case devfsd doesn't do it
-
- * drakxtools.spec: rebuild for perl thread-multi
-
- * rescue/list.sparc, rescue/list.x86_64, rescue/list.i386,
- rescue/list.ia64, rescue/list, rescue/list.alpha, rescue/list.ppc:
- - adapt to thread-multi
- - packdrake.pm is now out of arch dir
-
-2002/08/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm: smbpasswd call deferred with addToBeDone
-
-2002/08/05 alus
-
- * share/po/pl.po: removed unused strings
- updated translation, ugh... after second beta so much changes??
-
-2002/08/05 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/logdrake:
- - do not show empty wizard when save button clicked.
- - cleanup (remove all sms stuffs: code and labels)
- - do not expand mail address
-
-2002/08/05 gbeauchesne
-
- * Makefile: lib64 fixes
- - Move xf86Wacom.so modules to {i386,ppc}-specific filelist
- - Make filelists lib64 aware with LIB variable
- - Add x86_64-specific filelist
-
- * share/list.i386, Makefile.config, share/list, share/list.x86_64,
- share/list.ppc:
- - Move xf86Wacom.so modules to {i386,ppc}-specific filelist
- - Make filelists lib64 aware with LIB variable
- - Add x86_64-specific filelist
-
-2002/08/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * drakxtools.spec: 1.1.9-5mdk
- 1.1.9-4mdk
-
- * my_gtk.pm: the state can be XXX also in flat mode, for disabling
- the setting of the state
-
-2002/08/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/ko.po, share/po/DrakX.pot, share/po/sr.po, share/po/pl.po,
- share/po/fi.po, share/po/lt.po, share/po/cy.po, share/po/ca.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/vi.po, share/po/fr.po, share/po/it.po,
- share/po/nl.po, share/po/eu.po, share/po/es.po, share/po/de.po,
- share/po/eo.po, share/po/el.po, share/po/cs.po, share/po/bg.po,
- share/po/lv.po: updated pot file
-
- * share/po/sv.po, share/po/da.po, share/po/hu.po: updated pot file
- updated po files
-
- * share/po/tr.po, share/po/pt.po: updated po files
- updated pot file
-
-2002/08/05 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile: packdrake.pm is now in vendorlib
-
- * commands.pm: make perl_checker happy
-
- * bootlook.pm, standalone/printerdrake, standalone/draksec,
- standalone/drakfloppy, standalone/drakxservices, standalone/drakfont,
- standalone/drakautoinst, my_gtk.pm, standalone/drakconnect,
- standalone/drakgw, standalone/XFdrake, standalone/tinyfirewall,
- standalone/keyboarddrake, standalone/drakTermServ,
- standalone/mousedrake, standalone/scannerdrake: replace "kill USR1" with
- "kill 'USR1'" (and same for USR2)
- (so that 'use strict' works)
-
- * drakxtools.spec: rebuild for perl thread-multi
-
- * diskdrake/smbnfs_gtk.pm: adapt to ugtk
-
- * standalone.pm (install): verify at least one package is not installed
- before displaying a
- wait_message and calling urpmi (thanks to Jure Repinc)
- (is_installed): use run_program and redirect stdout to dave null for
- cleanness
-
- * Xconfig/card.pm: fix Option's (especially for XFree3)
- don't have Utah GLX the default. XFree4 is the default
-
- * share/list: switch to thread-multi
- packdrake.pm is now in vendorlib
-
- * Xconfig/main.pm: call the "Quit" button exit during install (as
- suggested by David Sansome)
-
- * any.pm, mouse.pm: do the job of devfsd in case devfsd doesn't do it
-
- * install_steps_interactive.pm: as suggested by Buchan Milne, defaults
- LDAP Server to ldap.DOMAINNAME
-
- * Xconfig/xfree4.pm: still have HorizSync and VertRefresh for Plug'n Play
- monitors
- (XFree4 still need some help)
-
- * standalone/drakboot: replace "kill USR1" with "kill 'USR1'" (and same
- for USR2)
- (so that 'use strict' works)
- a few more fixes (thanks Jure Repinc & Richard Burt)
-
-2002/08/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm: smbpasswd call deferred with addToBeDone
-
-2002/08/05 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Make/Model/Driver list in expert mode: Fixed bug of
- "recommended" driver entries getting a duplicate entry without
- "recommended" when entering the list via double-click on existing queue
- / "Printer manufacturer, model, driver".
- Finished auto-detection of network and SMB printers.
- Added automatic configuration of HP's multi-function devices when
- connected via HP JetDirect (network).
-
- * printer.pm: Finished auto-detection of network and SMB printers.
- Added automatic configuration of HP's multi-function devices when
- connected via HP JetDirect (network).
-
-2002/08/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * modules.pm:
- - export %modules::conf
- - kill modparm::raw_parameters and modparm::parameter_type
- which get merged back in modparm::parameters
- - add more parameters to modparm::parameters for harddrake
- harddrake/ui.pm | 19 ++++++++++---------
- modparm.pm | 33 +++++++++------------------------
- 2 files changed, 19 insertions(+), 33 deletions(-)
-
- * install_steps_gtk.pm, network/network.pm, log.pm, install_steps.pm,
- interactive.pm, bootloader.pm, harddrake/data.pm, steps.pm,
- install_steps_interactive.pm, keyboard.pm, printer.pm, lang.pm,
- fsedit.pm, install2.pm, detect_devices.pm, common.pm, commands.pm:
- s/__END__/1;
- kill "wonderful perl"
-
- * harddrake/ui.pm:
- - export %modules::conf
- - kill modparm::raw_parameters and modparm::parameter_type
- which get merged back in modparm::parameters
- - add more parameters to modparm::parameters for harddrake
- harddrake/ui.pm | 19 ++++++++++---------
- modparm.pm | 33 +++++++++------------------------
- 2 files changed, 19 insertions(+), 33 deletions(-)
- no one use second paramater of raw_parameters
- factorize some code in modparm::parameter_type
- s/__END__/1;
-
- * modparm.pm:
- - export %modules::conf
- - kill modparm::raw_parameters and modparm::parameter_type
- which get merged back in modparm::parameters
- - add more parameters to modparm::parameters for harddrake
- harddrake/ui.pm | 19 ++++++++++---------
- modparm.pm | 33 +++++++++------------------------
- 2 files changed, 19 insertions(+), 33 deletions(-)
- no one use second paramater of raw_parameters
- factorize some code in modparm::parameter_type
-
- * standalone/service_harddrake.sh: english fixes
-
- * standalone/logdrake, scanner.pm, standalone/drakautoinst,
- standalone/drakgw, standalone/scannerdrake: kill $Log (487 useless lines
- supressed from drakxtools)
-
-2002/08/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm, install_steps_interactive.pm: partial rework of Windows
- PDC authentication, still need
- to run smbpasswd after network is up
-
-2002/08/04 Till Kamppeter <till@mandrakesoft.com>
-
- * detect_devices.pm, printerdrake.pm: Accelerated network scanning for
- printers by applying "nmap" only to machines which answered to a
- broadcast ping before.
- Completed network/SMB printer auto-detection for recommended mode.
- Started network/SMB printer auto-detection for expert mode.
-
-2002/08/02 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/logdrake:
- - expand $email in cron script
- - disable sms alerts (free sms site too complicated to
- handle). Postponed
- - mail service should work now
- - clean up code
- - give the correct right to cron file to work correctly
- - fix titi mess
-
- * standalone/drakbug:
- - avoiding looping indefinitalely when selecting items in combo
- - add commandline arguments: drakbug --report name_app
-
-2002/08/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive/gtk.pm, my_gtk.pm: move interactive::gtk::exit to
- my_gtk::exit so that my_gtk
- apps can call it (and fix busy mouse cursor problem that way)
-
-2002/08/02 jgotti
-
- * standalone/drakboot: minor bugfix in calling bootloader::read
-
-2002/08/02 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: keyboarddrake now handles choosing toggle key
- (XkbOptions)
-
-2002/08/02 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Corrected strings for printer queue list in main window.
-
-2002/08/02 warly
-
- * share/rpmsrate, share/compssUsers: add lsb group
-
-2002/08/01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: drop keyboard unsafe when not unsafe
- anymore
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
- * Xconfig/various.pm: finish tvout configuration
-
- * any.pm, Xconfig/xfreeX.pm, standalone/keyboarddrake, install2.pm,
- install_steps.pm, Xconfig/parse.pm, Xconfig/default.pm, commands.pm,
- printerdrake.pm:
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
- * bootloader.pm (duplicate_kernel_entry): added
-
- * keyboard.pm: don't have "unsafe" in /etc/sysconfig/keyboard
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
-2002/08/01 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added stuff for scanning network for SMB printer
- shares.
-
- * detect_devices.pm: Added facility to scan network for SMB/Windows-hosted
- printers.
-
-2002/08/01 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Makefile.config, drakxtools.spec: drakconf is dead
-
- * harddrake/ui.pm, harddrake/TODO: update
-
-2002/08/01 warly
-
- * share/logo-mandrake.png: new logo for beta 2
-
-2002/08/01 alus
-
- * share/po/pl.po: updated translation
-
-2002/08/01 dam's <dams@idm.fr>
-
- * ugtk.pm: removed fonctions typage
-
-2002/08/01 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/netconnect.pm, network/adsl.pm:
- - First ECI adsl support step
-
-2002/08/01 gbeauchesne
-
- * rescue/make_rescue_img: While stripping libraries, note that we may need
- to have both /lib and
- /lib64 on biarch systems.
- - MDK::Common'ize for arch() support
- - Don't grab /lib/i686/ libraries
- - Update list to use LIB which expands to either lib64 or lib
-
- * rescue/list.x86_64: Add x86_64-specific filelist
-
- * docs/HACKING: Add /bin/mknod to command list of sudoers
-
- * mdk-stage1/disk.c: Add missing includes, <string.h> for bzero()
-
- * rescue/list:
- - MDK::Common'ize for arch() support
- - Don't grab /lib/i686/ libraries
- - Update list to use LIB which expands to either lib64 or lib
-
-2002/08/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/base.png, share/selected.png, share/rpm-semiselected.png,
- share/rpm-installed.png, share/rpm-unselected.png, share/installed.png,
- share/rpm-base.png, share/semiselected.png, share/unselected.png,
- share/rpm-selected.png: change some png files names according to
- simplification of
- gtkcreate_png call of new my_gtk.pm
-
- * drakxtools.spec, ugtk.pm, my_gtk.pm: commit according to 1.1.9-1mdk of
- drakxtools, and especially:
- - integrate patches in my_gtk and ugtk for new rpmdrake:
- - [ugtk] add "gtkentry" so that we can create an entry and set
- initial value in one call
- - [my_gtk::main] don't set the events, to fix keyboard focus
- problem in entries when embedded
- - [my_gtk::_create_window] add $::noBorder, to not have a frame
- in the main window, so that it's possible to end up with
- windows with no border
- - [my_gtk] add ask_dir which is a ask_file with only the dir list
- - [my_gtk] add ask_browse_tree_info to the export tags, and:
- - add support for parents with no leaves, so that then we can
- partially build the trees (for speedup)
- - add "delete_all" and "delete_category" callbacks
- - use Gtk::CList::clear when removing all the nodes, much
- speedup
-
-2002/08/01 jgotti
-
- * bootlook.pm:
- - add splash theme section
-
- * pixmaps/nosplash_thumb.png: add pixmap for drakboot
-
-2002/08/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
- * share/po/vi.po: updated vietnamese file
-
-2002/08/01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: drop keyboard unsafe when not unsafe
- anymore
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
- * any.pm:
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
- get rid of some $prefix parameter passing (using $::prefix where needed
- instead)
-
- * Xconfig/various.pm: finish tvout configuration
-
- * ugtk.pm, my_gtk.pm: move back Gtk->init to "new" and "gtkroot"
- make perl_checker happy
-
- * Xconfig/parse.pm:
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
- BusID needs a string (thanks to Florent BERANGER)
-
- * standalone.pm: don't display a wait_message in newt, but do suspend
-
- * install_any.pm: get rid of some $prefix parameter passing
-
- * pkgs.pm, fsedit.pm: get rid of some $prefix parameter passing (using
- $::prefix where needed instead)
-
- * loopback.pm (prepare_boot): use $::prefix
-
- * interactive/gtk.pm: fix the many warnings when {icon} is not given
-
- * Xconfig/resolution_and_depth.pm: in newt, have the resolutions sorted by
- resolution size (wilplizgg)
-
- * install_steps.pm:
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
- get rid of some $prefix parameter passing
- get rid of some $prefix parameter passing (using $::prefix where needed
- instead)
- bootloader::suggest uses a hash for its options
-
- * .perl_checker: tune perl_checker
-
- * Xconfig/xfreeX.pm, standalone/keyboarddrake, install2.pm,
- Xconfig/default.pm, commands.pm, printerdrake.pm:
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
- * keyboard.pm: don't have "unsafe" in /etc/sysconfig/keyboard
- - the old $o->{keyboard} is now $o->{keyboard}{KEYBOARD}
- - KBCHARSET is $o->{keyboard}{KBCHARSET}
- - isNotDelete is $o->{keyboard}{BACKSPACE} (as written in
- sysconfig/keyboard)
- - add GRP_TOGGLE which gives XkbOptions "grp:GRP_TOGGLE"
- - add dialog box to choose GRP_TOGGLE
-
- * bootloader.pm (duplicate_kernel_entry): added
- get rid of some $prefix parameter passing (using $::prefix where needed
- instead)
- bootloader::suggest uses a hash for its options
-
-2002/08/01 Till Kamppeter <till@mandrakesoft.com>
-
- * share/rpmsrate: Added new packages needed by printerdrake.
-
- * printerdrake.pm: Let packages "nmap" and "scli" get installed by
- printerdrake.
- Printer model auto-detection for ethernet-connected printers when
- setting up TCP/Socket, remote LPD, IPP, or HTTP printers.
- Continued work on scanning the local network for printers.
- In "setup_local()": Renamed variable "@parport" to "@autodetected".
- Do not let list of auto-detected printers get sorted alphabetically, it
- should stay sorted by ports.
- Fixed typo in file name in "check_network()".
-
-2002/08/01 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm: perl_checker fix
-
- * drakxtools.spec: drakconf is dead
- 17mdk: stage 1
- my_gtk:
- - splitup it into my_gtk and ugtk as done by dams
- - resync with dams
- - increase the icon blinkage from 50ms to 100ms
- %postun -n harddrake: return 0 when nothing has to be done
-
- * ugtk.pm: we already require perl-GTK-GdkImLib so temporary disable
- Gtk::Gdk::Pixbuf support, thus removing all gdk/gtk warnings
- remove INFO warnings
- my_gtk:
- - splitup it into my_gtk and ugtk as done by dams
- - resync with dams
- - increase the icon blinkage from 50ms to 100ms
-
- * my_gtk.pm: my_gtk:
- - splitup it into my_gtk and ugtk as done by dams
- - resync with dams
- - increase the icon blinkage from 50ms to 100ms
-
- * tinyfirewall.pm: kill stupide style
- perl_checker fixes
-
- * standalone/harddrake2: export license
- move embedded and standalone managment from harddrake::ui to
- standalone/harddrake2
-
- * harddrake/TODO: update
- move embedded and standalone managment from harddrake::ui to
- standalone/harddrake2
-
- * harddrake/ui.pm: update
- add_icon_path is exported in :various
- perl_checker fixes
- perl_checker fixes
- - workaround for the busy mouse cursor set by
- gtkset_mousecursor_wait() in my_gtk::destroy
- - remove debugging prints
-
- - don't handle "$::isEmbedded ? kill('USR1', $::CCPID) :
- Gtk->exit(0);", it's done by interactive->exit()
- export license
- move embedded and standalone managment from harddrake::ui to
- standalone/harddrake2
-
- * standalone/logdrake, harddrake/bttv.pm, standalone/drakconnect,
- standalone/drakbug, standalone/tinyfirewall, standalone/scannerdrake,
- standalone/drakxtv: perl_checker fixes
-
- * standalone/drakxconf: remove obsolote file
-
- * Makefile.config: drakconf is dead
-
- * tools/cvslog2changelog.pl: use new dam's email
-
- * scanner.pm, harddrake/data.pm: perl_checker fixes
- perl_checker fixes
-
-2002/07/31 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/card.pm, Xconfig/main.pm:
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
-
- * bootlook.pm, network/network.pm, resize_fat/main.pm,
- network/netconnect.pm, Xconfig/xfreeX.pm, diskdrake/interactive.pm,
- network/ethernet.pm, printer.pm, detect_devices.pm,
- resize_fat/info_sector.pm, install_any.pm: make perl_checker happy again
- (replacing "{xx}->{yy}" by "{xx}{yy}")
-
- * any.pm (devfssymlinkf): when creating a symlink on the system, use devfs
- name if devfs is mounted
-
- * standalone/logdrake, standalone/draksec, standalone/drakxservices,
- standalone/drakautoinst, standalone/drakproxy, standalone/tinyfirewall,
- standalone/keyboarddrake, standalone/drakboot, standalone.pm,
- standalone/drakTermServ, standalone/net_monitor, standalone/diskdrake,
- standalone/mousedrake, standalone/drakbackup, standalone/printerdrake,
- standalone/drakfloppy, standalone/drakfont, standalone/drakconnect,
- standalone/drakgw, standalone/scannerdrake, standalone/drakxtv: Handle
- parsing --embedded command line in standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
-
- * standalone/XFdrake: Handle parsing --embedded command line in
- standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
-
- * Xconfig/various.pm: make perl_checker happy again (replacing
- "{xx}->{yy}" by "{xx}{yy}")
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
-
-2002/07/31 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * security/msec.pm:
- - Fix page change between checks -> advanced
- - Factorize options-related functions
- - s/choose_options/choose_functions
- - Added security checks page
- - put the basic button on top (in the advanced page)
- - move set_server_link in the ignore list temporary
-
- * security/main.pm:
- - Factorize options-related functions
- - s/choose_options/choose_functions
- - Added security checks page
- - factorize functions (many functions -> one function)
-
-2002/07/31 Daouda Lo <daouda@mandrakesoft.com>
-
- * share/rpmsrate:
- - s/GNOME/X/ for gnome-linuxconf
-
- * standalone/drakbug:
- - many changes
- - command line support (--report name_of_program), to be used in tools
- - ergonomy fixes (use table to align widget correctly)
-
-2002/07/31 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * run_program.pm:
- - fix $ENV{HOME} value to '/root' if usermode break it
-
-2002/07/31 gbeauchesne
-
- * c/Makefile.PL: lib64 fixes
-
-2002/07/31 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c: hopefully fix "device or resource busy" problem in
- cdrom
- automatic mode (I messed up between truth value and number in a
- list... the first value is numbered "0" whicih is "false"...)
-
-2002/07/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/help-it.pot, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/bs.po, share/po/ro.po,
- share/po/wa.po, share/po/is.po, share/po/af.po, share/po/az.po,
- share/po/zh_TW.po, share/po/zh_CN.po, share/po/vi.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/help-fr.pot, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/hu.po: updated pot file
-
- * share/po/pt.po, share/po/eu.po: updated Portuguese file
- updated pot file
-
-2002/07/31 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/main.pm:
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
-
- * install_steps_interactive.pm, printerdrake.pm, pkgs.pm, network/adsl.pm,
- modules.pm, commands.pm, install_interactive.pm, install_steps_gtk.pm,
- interactive/stdio.pm, services.pm, keyboard.pm: make new perl_checker
- happy
- make new perl_checker happy (and that's not easy!)
-
- * any.pm (devfssymlinkf): when creating a symlink on the system, use devfs
- name if devfs is mounted
- replace "$foo" with $foo
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * Xconfig/test.pm: change the location of X test image as told by dadou
-
- * Xconfig/resolution_and_depth.pm (choose_gtk): ensure the response is one
- of @resolutions (so that Y and maybe bios is kept)
- (to_string): created
- fix using $_ instead of $_[0] (thanks to perl_checker)
- make new perl_checker happy (and that's not easy!)
-
- * network/modem.pm: replace "$foo" with $foo
-
- * resize_fat/info_sector.pm, Xconfig/xfreeX.pm: make perl_checker happy
- again (replacing "{xx}->{yy}" by "{xx}{yy}")
-
- * printer.pm, install_any.pm, detect_devices.pm: make perl_checker happy
- again (replacing "{xx}->{yy}" by "{xx}{yy}")
- replace "$foo" with $foo
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * bootlook.pm, network/netconnect.pm, network/ethernet.pm: make
- perl_checker happy again (replacing "{xx}->{yy}" by "{xx}{yy}")
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * network/tools.pm, install_gtk.pm, network/isdn.pm: replace "$foo" with
- $foo
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * my_gtk.pm (create_box_with_title): create an empty box when there is no
- message
- (also don't set $o->{box} since unused outside of this function)
- replace "$foo" with $foo
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * Xconfig/card.pm:
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
- handle cancel in xfree_and_glx_choose
- default VideoRam choice 4096 when needVideoRam
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * network/network.pm: make perl_checker happy again (replacing
- "{xx}->{yy}" by "{xx}{yy}")
- replace "$foo" with $foo
- - have is_ip return the 4 parts of the ip address
- - cleanup
- make new perl_checker happy (and that's not easy!)
-
- * interactive/gtk.pm: allow "icon" to use the icon path
- make new perl_checker happy (and that's not easy!)
-
- * Makefile, crypto.pm: make new perl_checker happy
-
- * Xconfig/monitor.pm: fix keeping the existing name when choosing monitor
-
- * resize_fat/main.pm: make perl_checker happy again (replacing
- "{xx}->{yy}" by "{xx}{yy}")
- make new perl_checker happy
-
- * standalone/mousedrake: Handle parsing --embedded command line in
- standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
- what is needed for usbmouse is "hid mousedev usbmouse" not the weird
- "serial_usb"
- make new perl_checker happy
-
- * mouse.pm (read): don't look at /dev/mouse symlink to get {device},
- sysconfig/mouse
- gives it, so why bother (this fixes /dev//dev/misc/psaux bug)
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * standalone/logdrake, standalone/tinyfirewall, standalone/drakboot,
- standalone.pm, standalone/drakTermServ, standalone/net_monitor,
- standalone/drakbackup, standalone/printerdrake, standalone/drakconnect,
- standalone/drakxtv, standalone/draksec, standalone/drakxservices,
- standalone/drakautoinst, standalone/drakproxy, standalone/diskdrake,
- standalone/drakfloppy, standalone/drakfont, standalone/scannerdrake:
- Handle parsing --embedded command line in standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
-
- * standalone/keyboarddrake, standalone/drakgw: Handle parsing --embedded
- command line in standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
- make new perl_checker happy
-
- * install2.pm: allow acceptLicence to be automatic
- make new perl_checker happy
- make new perl_checker happy (and that's not easy!)
-
- * diskdrake/interactive.pm: make perl_checker happy again (replacing
- "{xx}->{yy}" by "{xx}{yy}")
- make new perl_checker happy (and that's not easy!)
-
- * standalone/XFdrake: Handle parsing --embedded command line in
- standalone.pm
- => allows to remove the somewhat mythical
- $::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\w+) (\w+)/
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
- use configure_chooser when there is an existing configuration
-
- * log.pm, interactive.pm, resize_fat/fat.pm, network/smb.pm, raid.pm,
- partition_table.pm, diskdrake/hd_gtk.pm, install_steps.pm, swap.pm,
- resize_fat/directory.pm, devices.pm, lang.pm, partition_table/raw.pm,
- bootloader.pm, fsedit.pm, network/isdn_consts.pm: make new perl_checker
- happy (and that's not easy!)
-
- * Xconfig/various.pm: make perl_checker happy again (replacing
- "{xx}->{yy}" by "{xx}{yy}")
- - add non-wizard ability to XFdrake
- - first part of ATI TVout support
- (still needs patching initscript, and adding an entry in bootloader)
- (and testing of course :)
- (info): fix displaying depth
-
-2002/07/31 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Started working on network printer auto-detection.
-
- * detect_devices.pm: Added subroutines for ethernet printer
- auto-detection.
-
-2002/07/31 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm:
- - bump harddrake version
- - module configuration is saved (todo: read the config)
- initial configuration window for modules. nothing is done yet.
- remove latest (?) gtk warnings
- don't display bogus fields
- in embedded mode, don't kill the main gtk app (aka drakconf) but
- only harddrake
- - add embedded mode for drakconf
- further simplification
- - the hw tree and the info text are auto-size now
- - further ui simplifications
- still more my_gtk simplifications
- ui.pm | 49 ++++++++++++++++---------------------------------
- 1 files changed, 16 insertions(+), 33 deletions(-)
- - simplify Gtk::Text filling
-
- - less gtk warnings get printed
- further my_gtk simplifications
- further my_gtk simplifications
- further use of my_gtk
- - remove useless realizations
-
- - simplify ctree and frames creation
- - make used once callbacks be anonymous functions
-
- - replace scores of useless ->show() call by one show_all() call
-
-
- ui.pm | 82
- +++++++++++++++++++++++++++---------------------------------------
- 1 files changed, 34 insertions(+), 48 deletions(-)
-
- * printer.pm: "cp -a" doesn't need "echo yes|"
-
- * modparm.pm: split parameters in raw_parameters and parameters.
- raw_parameters is
- used by harddrake to list module options in order to offer a module
- configuration window.
-
- * harddrake/TODO: update
- - bump harddrake version
- - module configuration is saved (todo: read the config)
- in embedded mode, don't kill the main gtk app (aka drakconf) but
- only harddrake
- - add embedded mode for drakconf
- - bump version number
- - fix pcmcia network card detection (no more unknown)
- - fix scsi detection :
-
- o fix SCSI controllers detection (no more unknown)
-
- o fix misdetection of scsi devices as scsi host adapter
-
- o fix double scsi devices detection (both unknown and real
- category)
-
- - update TODO list
-
- * Makefile: rename a few target:
- - srpm -> slowsrpm
- - fastsrpm -> srpm
-
- * drakxtools.spec: 15mdk (will be released tomorrow before the beta2)
- don't require detect-lst, it'll take harddrake instead :-(
- 14mdk
-
- * harddrake/data.pm:
- - bump harddrake version
- - module configuration is saved (todo: read the config)
- - bump version number
- - fix pcmcia network card detection (no more unknown)
- - fix scsi detection :
-
- o fix SCSI controllers detection (no more unknown)
-
- o fix misdetection of scsi devices as scsi host adapter
-
- o fix double scsi devices detection (both unknown and real
- category)
-
- - update TODO list
-
- * share/po/fr.po: update fr translation
-
-2002/07/30 alus
-
- * share/po/pl.po: variuos fixes and updates
- updates
-
-2002/07/30 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * security/libsafe.pm:
- - complete re-write of draksec. splitted all the libsafe related
- functions
- in this file.
-
- * security/msec.pm, standalone/draksec:
- - complete re-write
-
- * security/main.pm:
- -complete re-write of draksec. The main functions will go in this
- file.
-
-2002/07/30 Daouda Lo <daouda@mandrakesoft.com>
-
- * Makefile.drakxtools:
- - mv drakbug executable from $$SBINDEST to $$BINDEST
-
-2002/07/30 gbeauchesne
-
- * tools/Makefile, tools/aewm-drakx/Makefile: lib64 fixes
-
-2002/07/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/hr.po, share/po/tr.po,
- share/po/mt.po, share/po/ga.po, share/po/be.po, share/po/uk.po,
- share/po/sv.po, share/po/sr.po, share/po/pl.po, share/po/fi.po,
- share/po/lt.po, share/po/sp.po, share/po/cy.po, share/po/ca.po,
- share/po/da.po, share/po/ar.po, share/po/bs.po, share/po/ro.po,
- share/po/wa.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: reflect errata changes
-
- * install_steps_interactive.pm: have errata in parameter to not break too
- much updates
- 8.2->9.0
- s/82errata.php3/90errata.php3/
-
-2002/07/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: updated po file
-
-2002/07/30 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm:
- - call fsck.jfs before mounting read-write (otherwise mount simply
- fails)
- - propose fsck -y for ext2 when fsck -a fails
-
- * standalone/drakbackup: never EVER put $xxxx in to-be-translated
- strings!!
-
- * diskdrake/interactive.pm (Add2LVM): for LVM on RAID, ensure the RAID is
- created & enabled
-
- * Xconfig/parse.pm: fix handling of commented empty line
-
- * standalone/drakautoinst: use $o->{interactiveSteps} instead of
- @install_steps_auto_install::graphical_steps
-
- * keyboard.pm, c/stuff.xs.pl, detect_devices.pm, install_steps.pm: use usb
- keyboard bCountryCode to choose the right keyboard
-
- * install_steps_interactive.pm: use usb keyboard bCountryCode to choose
- the right keyboard
- - call fsck.jfs before mounting read-write (otherwise mount simply
- fails)
- - propose fsck -y for ext2 when fsck -a fails
-
-2002/07/30 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Better placement for waiting message.
-
- * printer.pm: Fixed a typo and a comment in the "SIGHUP_daemon()"
- function.
-
-2002/07/30 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: further translations
- update fr translation
-
- * standalone/drakbackup: don't translate useless strings (here: "\n")
-
- * standalone/drakbug: deush need to learn english
-
-2002/07/29 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_auto_install): also save chosen on_services (this is
- the only thing left to do to make it work :)
-
- * mouse.pm:
- - don't display "To activate the mouse, MOVE YOUR WHEEL!" when not
- install
- - don't display "Please test the mouse" either
- allow to not mess with X config auxmouse
- (that way mousedrake doesn't need to care about it)
-
- * run_program.pm: fix rooted() when chrooted and saving the result in a
- perl variable
-
- * Xconfig/resolution_and_depth.pm (configure_auto_install): really use
- resolution_wanted given in $o
-
- * partition_table.pm: cleanup
-
- * services.pm (ask_standalone_gtk, ask_install): only return the
- on_services (those
- functions used to return ($l, $on_services) which used in a scalar
- context
- returned $on_services)
-
- * standalone/mousedrake:
- - fix using deprecated Xconfig.pm
- - document dam's hack for test mouse
- - cleanup
- - don't bother reading XFree mouse config
- (using keep_auxmouse_unchanged of mouse::write_conf)
-
- * diskdrake/interactive.pm: nicer error message when "You can't create a
- new partition
- (since you reached the maximal number of primary partitions).
- First remove a primary partition and create an extended partition."
-
- * printer.pm: make perl_checker happy
-
- * standalone/XFdrake: make perl_checker happy
- (ask_for_X_restart): make it work
-
-2002/07/29 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed some "$prefix" issues in the HPOJ auto-configuration
- and in the Star Office/OpenOffice.org auto-configuration.
-
-2002/07/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: use aliases for stage1 params to reduce kernel msg
-
-2002/07/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated pot file
-
-2002/07/29 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm:
- - don't display "To activate the mouse, MOVE YOUR WHEEL!" when not
- install
- - don't display "Please test the mouse" either
- allow to not mess with X config auxmouse
- (that way mousedrake doesn't need to care about it)
- disallow big_help (when pressing F1) when testing mouse
-
- * install_any.pm (g_auto_install): also save chosen on_services (this is
- the only thing left to do to make it work :)
-
- * drakxtools.spec: remove "Requires: groff" (nobody know why it's there)
- (Pixel)
-
- * run_program.pm: fix rooted() when chrooted and saving the result in a
- perl variable
-
- * share/rpmsrate: xpcd is still there (deush)
- - remove deprecated packages
- - adapt some to their names
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: fix typo
-
- * Xconfig/main.pm: restore xdm choice previous behaviour (auto_install)
-
- * Xconfig/resolution_and_depth.pm (configure_auto_install): really use
- resolution_wanted given in $o
-
- * fs.pm: fix mke2fs on loopback
- - use $::prefix for reading/writing (it was missing for writing)
- - use output_p so that /etc/samba directory is created if needed
- (fix bug reported by David Eastcott)
-
- * Xconfig/test.pm: try harder to have "xfs" running
-
- * partition_table.pm: cleanup
-
- * services.pm (ask_standalone_gtk, ask_install): only return the
- on_services (those
- functions used to return ($l, $on_services) which used in a scalar
- context
- returned $on_services)
-
- * standalone/mousedrake:
- - fix using deprecated Xconfig.pm
- - document dam's hack for test mouse
- - cleanup
- - don't bother reading XFree mouse config
- (using keep_auxmouse_unchanged of mouse::write_conf)
-
- * Xconfig/default.pm: fix default config for mouse
-
- * my_gtk.pm: disallow big_help (when pressing F1) when testing mouse
-
- * printer.pm: make perl_checker happy
-
- * diskdrake/interactive.pm: nicer error message when "You can't create a
- new partition
- (since you reached the maximal number of primary partitions).
- First remove a primary partition and create an extended partition."
- fix diskdrake::interactive::Options() excepts a value from
- fs::mount_options_pack(), but fs::mount_options_pack() doesn't return
- any
- value (reported by Olivier Thauvin)
-
- * standalone/XFdrake: make perl_checker happy
- (ask_for_X_restart): make it work
-
- * bootloader.pm: try to allow /boot on vfat (it used to work)
-
- * network/smb.pm:
- - use $::prefix for reading/writing (it was missing for writing)
- - use output_p so that /etc/samba directory is created if needed
- (fix bug reported by David Eastcott)
-
- * install_interactive.pm: fix partition wizard choice updating after
- calling diskdrake
-
- * install_steps_gtk.pm, install_steps_interactive.pm, install2.pm: ensure
- choosing install-or-upgrade can't be done twice
- (since it's badly handled and hard to handle nicely)
-
-2002/07/29 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv: read and wrote /etc/modules.conf
-
- * Makefile:
- - consolidate duplicated 'use (warn|strict...' into nuke_perl target
- - thus enable to fix bug reported by gc (aka i only fixed localsrpm
- nuke, not srpm: one)
-
- * drakxtools.spec: final changes batch
- - pixel: don't set release to 14mdk when 13mdk hadn't be released ...
- - list 13mdk changes
- replace trigger by format test for hw config file conversion
-
-2002/07/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (configureX, configureXBefore, configureXAfter):
- greatly simplified using new Xconfig stuff
-
- * standalone/XFdrake:
- - adapt to new Xconfig modules
- - try out the new "XFdrake resolution" and "XFdrake monitor" that'll
- get into DrakConf soon
-
- * Xconfig/xfree3.pm, Xconfig/various.pm, Xconfig/parse.pm,
- Xconfig/xfree.pm, Xconfig/test.pm, Xconfig/xfreeX.pm,
- Xconfig/proprietary.pm, Xconfig/xfree4.pm, Xconfig/monitor.pm,
- Xconfig/default.pm, Xconfig/screen.pm, Xconfig/FILES: 14 new modules,
- will it be enough?? :)
-
- * any.pm (running_window_manager): return the pids found if wanted
- (ddcxinfos): ensure no probe is done when $::noauto
-
- * install_steps_gtk.pm, install_gtk.pm, standalone.pm: adapt to new
- Xconfig modules
-
- * install_any.pm (g_auto_install): no need to handle $o->{X} as a special
- case, it's already done by Xconfig::main::export_to_install_X
-
- * Xconfig.pm, Xconfigurator.pm, Xconfigurator_consts.pm: thou hast served
- well, you may now lie in peace
-
- * common.pm (availableRamMB): use a precise constraint on 'Card:Intel 810'
- instead of a regexp
-
- * Xconfig/card.pm: make perl_checker happy
- rahh, don't commit my test code!
- 14 new modules, will it be enough?? :)
-
- * share/list: CardsNames is not needed anymore
-
- * interactive.pm: fix "nicer error message when {val} is not set for
- ask_from & list" in case of a reference to a reference (ref is REF
- instead of SCALAR)
-
- * Xconfig/main.pm: fix displaying info about current configuration
- 14 new modules, will it be enough?? :)
-
- * Xconfig/resolution_and_depth.pm:
- - make the gtk resolution chooser work
- - dropped the differenciation between embedded or not
- 14 new modules, will it be enough?? :)
-
- * mouse.pm (detect): return wacom inside $mouse
- (mouseconfig): reduce the number of "Use of undefined value"
- (set_xfree_conf): created
-
- * install2.pm: wacom is now inside $mouse
-
- * install_steps_interactive.pm (configureX): adapt to new Xconfig
-
-2002/07/28 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig/main.pm: fix displaying info about current configuration
- 14 new modules, will it be enough?? :)
-
- * Xconfig/resolution_and_depth.pm:
- - make the gtk resolution chooser work
- - dropped the differenciation between embedded or not
- 14 new modules, will it be enough?? :)
-
- * install_steps_gtk.pm, install_gtk.pm, standalone.pm: adapt to new
- Xconfig modules
-
- * install_any.pm (g_auto_install): no need to handle $o->{X} as a special
- case, it's already done by Xconfig::main::export_to_install_X
-
- * mouse.pm (detect): return wacom inside $mouse
- (mouseconfig): reduce the number of "Use of undefined value"
- (set_xfree_conf): created
-
- * install_steps.pm (configureX, configureXBefore, configureXAfter):
- greatly simplified using new Xconfig stuff
-
- * install2.pm: wacom is now inside $mouse
-
- * standalone/XFdrake:
- - adapt to new Xconfig modules
- - try out the new "XFdrake resolution" and "XFdrake monitor" that'll
- get into DrakConf soon
-
- * Xconfig/xfree3.pm, Xconfig/various.pm, Xconfig/parse.pm,
- Xconfig/xfree.pm, Xconfig/test.pm, Xconfig/xfreeX.pm,
- Xconfig/proprietary.pm, Xconfig/xfree4.pm, Xconfig/monitor.pm,
- Xconfig/default.pm, Xconfig/screen.pm, Xconfig/FILES: 14 new modules,
- will it be enough?? :)
-
- * Xconfig.pm, Xconfigurator.pm, Xconfigurator_consts.pm: thou hast served
- well, you may now lie in peace
-
- * install_steps_interactive.pm (configureX): adapt to new Xconfig
-
- * any.pm (running_window_manager): return the pids found if wanted
- (ddcxinfos): ensure no probe is done when $::noauto
-
- * Xconfig/card.pm: make perl_checker happy
- rahh, don't commit my test code!
- 14 new modules, will it be enough?? :)
-
- * common.pm (availableRamMB): use a precise constraint on 'Card:Intel 810'
- instead of a regexp
-
- * interactive.pm: fix "nicer error message when {val} is not set for
- ask_from & list" in case of a reference to a reference (ref is REF
- instead of SCALAR)
-
-2002/07/28 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ: Check for/install terminal-server and friends.
- More intelligent error message when
- mkisofs fails. Cleanup code for use strict. Fix crash when no backup
- dhcpd.conf.
-
- * standalone/drakbackup: Numerous GUI crash fixes, oddities. Install
- needed packages. Fix email, daemon modes.
- Add rsync, webdav, cd, tape capabilities. Consolidate net method setup
- screens.
- Add CD device capability query.
-
-2002/07/27 alus
-
- * share/po/pl.po: Fixes. There're some entries concerning mdk 8.2 - they
- should be changed
- globally
-
-2002/07/27 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (add_probeall): use "uniq" to have modules only once in
- ddebug.log (a "uniq"
- was already in modules.conf so it doesn't change the result)
-
- * detect_devices.pm: use add_probeall for scsi_hostadapter, not add_alias
- (may fix a bug reported by Jure Repinc)
-
-2002/07/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Completed implementation of the support for
- HPOJ 0.9: Automatic photo card reader configuration, bugfixes.
-
-2002/07/26 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/logdrake:
- - more consistency when back button hit in wizard mode
- - back button at last stage.
-
- * standalone/drakbug:
- - add browser list in case BROWSER env var isn't set
-
-2002/07/26 François Pons <fpons@mandrakesoft.com>
-
- * tools/Makefile: fixed reference to rpmtools perl module.
-
-2002/07/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/rescue-gui.c:
- - usage of attribute unused (has not been rebuilt since -W? ;p)
- - since i polluted the newt-frontend with probing functions, i
- need to have probing functions (doing nothing) here :-((
-
-2002/07/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * harddrake/ui.pm: changed _("") -> "" empty strings must not be
- translated
-
-2002/07/26 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list: remove traceroute (c naze dixit gc)
-
- * share/gen_locales.sh, lang.pm: hy is now using UTF8 locales
-
- * any.pm, services.pm, install_steps.pm: use
- run_program::rooted_get_stdout instead of `chroot $prefix ...`
-
- * install_any.pm: use run_program::rooted_get_stdout
-
- * Xconfigurator.pm: cleanup launching qiv (using run_program)
-
- * bootloader.pm:
- - fix dying when mkinitrd doesn't create an initrd
- - cleanup
-
- * run_program.pm (rooted_get_stdout): handle one line return using
- wantarray
- - also give the ability to redirect to an array ref
- - add rooted_get_stdout which is alike ``
- add 2 functionalities to run_program:
- - run_program::run(prog, '>', 'STDOUT', ...)
- run_program::run(prog, '2>', 'STDERR, ...)
- which will run with verbatim stdout or stderr
- - run_program::run(prog, '>', \$s, ...)
- run_program::run(prog, '2>', \$s, ...)
- which will return the stdout (resp. stderr) of the program in $s
-
- * rescue/Makefile: ensure rescue is built and uploaded
-
-2002/07/26 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/TODO: dadou said "no expert mode"
-
- * harddrake/ui.pm:
- - s/channel/Channel/
- - bus_id is for usb devices too
- - remove obsolete fields info and name
- - add nbuttons, device, old_device descriptions
-
- * drakxtools.spec: 13mdk
-
-2002/07/26 François Pons <fpons@mandrakesoft.com>
-
- * tools/Makefile: fixed reference to rpmtools perl module.
-
-2002/07/26 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: First step of automatic HP multi-function device
- configuration with HPOJ 0.9.
-
- * detect_devices.pm: Added detection of trhe serial number of a USB
- printer (in preparation for HPOJ 0.9 support in printerdrake).
-
-2002/07/25 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix loading ide-cd (big thanks to rcc
- <rickscafe.casablanca@gmx.net> you did
- all the work to resolve the pb)
- => this fixes ide burner detection
-
-2002/07/25 alus
-
- * share/po/pl.po: fix
- fix
- one entry more clearly :)
-
-2002/07/25 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/logdrake:
- - don't display services that are not installed
- - word wrap string correctly
- - cleanup
-
-2002/07/25 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added log.
- small code changes for upgrade.
-
- * tools/syncrpms: no more use rpmtools.pm.
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: new logo (simplified
- for 9.0).
-
-2002/07/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/id.po, share/po/vi.po: updated po files
-
-2002/07/25 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm: use a function icon_paths instead of @icon_paths
- => this ensure that $ENV{SHARE_PATH} value (used in @icon_paths) is set
- independently of the loading order of the modules
-
- * install_steps_interactive.pm: fix loading ide-cd (big thanks to rcc
- <rickscafe.casablanca@gmx.net> you did
- all the work to resolve the pb)
- => this fixes ide burner detection
- Help "perl -cw" not reporting any warning
- - for mac free partition, use $freepart instead of $freepart_device,
- $freepart_size ...
- - replace $timezone::ntp_servers by a function
-
- * bootloader.pm: let the bootloader::mkinitrd error be seen by the GUI
-
- * install_steps_newt.pm: please "perl -cw"
-
- * verify_c: adapt to stuff.xs.pl instead of stuff.xs.pm
-
- * partition_table.pm: add 0x35 partition table id meaning JFS (under OS/2)
- (thank to Mika Laitio)
-
- * fs.pm: noreturn is now exported, no need to
- MDK::Common::Various::noreturn()
-
- * common.pm: remove internal_error (which is now in MDK::Common)
-
- * partition_table/mac.pm, timezone.pm: Help "perl -cw" not reporting any
- warning
- - for mac free partition, use $freepart instead of $freepart_device,
- $freepart_size ...
- - replace $timezone::ntp_servers by a function
-
-2002/07/25 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 12mdk
- final batch of changes
- 11mdk
-
- * harddrake/TODO: still less things to do
- update
-
- * c/stuff.xs.pl: don't copy struct pciusb_entries on the stack
-
- * standalone/service_harddrake: merge timeout and cancel cases
- simplify:
- - we don't need to set media_type, we don't use it
- - mouse and mass storage media use the same key, let merge their code
- path
-
- * interactive/newt.pm: typo fix
-
- * Makefile.drakxtools: fix pixel "i do not need to test" fscking bug that
- broke drakxtools
- build :-)
-
- * harddrake/ui.pm: remove all gtk's "no callback/signal to disconnect"
- warnings
- add a fields data structure:
- - put together field translation and field description
- - this enable to get rid of %reverse_fields usage & creation
- - this ensure all field names & translations are marked translatables
- for gettext
- - move $wait declaration around its usage and explicit its destruction
- - remove usb debugging message needed to trace the null description
- bug i fixed in ldetect
- - simplify the device fields rendering "because of" the above
- - simplify the help window creation/display/destruction (only one
- statement left)
- - explicitely call interactive->exit
- handle both old device name and new devfs name
-
- * share/po/fr.po: update french translation
-
- * harddrake/data.pm: only do one probeall here (there's still many in
- detect_devices,
- probing caching should go there)
-
- * Makefile: use spec_test rather than test
-
-2002/07/24 alus
-
- * share/po/pl.po: fixes
- the last untranslated entry
-
-2002/07/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c, mdk-stage1/disk.c, mdk-stage1/tools.c,
- mdk-stage1/stage1.h, mdk-stage1/tools.h, mdk-stage1/frontend.h,
- mdk-stage1/probing.h, mdk-stage1/stdio-frontend.c,
- mdk-stage1/newt-frontend.c, mdk-stage1/probing.c: enhance (complicate?
- ;p) device detection so that scsi and usb
- detection are done only when no ide cdrom with mandrake install
- is detected (speed up), have usb keyboard modules installed
- before any interactive question, honour "noauto" (skip usb
- detection and insmod'ing)
-
-2002/07/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/cs.po,
- share/po/bg.po, share/po/lv.po, share/po/hu.po: updated po files
-
-2002/07/24 Pixel <pixel@mandrakesoft.com>
-
- * Makefile, Makefile.drakxtools: add PMS_DIRS in Makefile.config and use
- it everywhere
- (cleaning some ugly stuff in Makefile.drakxtools while doing so)
- => now adding a new directory only need to be done at one place
-
- * Xconfig/xfree3.pm, Xconfig/xfreeX.pm, mouse.pm, Xconfig/xfree4.pm,
- Xconfig/parse.pm: new XFree handling library
- - only keyboard and mice functions are done, but adding the others is
- quite easy
- - so for now only used in mousedrake
- - but keyboarddrake and (of course) XFdrake will come
-
- * Makefile.config: add Xconfig
- add PMS_DIRS in Makefile.config and use it everywhere
- (cleaning some ugly stuff in Makefile.drakxtools while doing so)
- => now adding a new directory only need to be done at one place
-
- * standalone/keyboarddrake: use Xconfig::xfree to set the XkbLayout
- (better should&will come)
-
- * c/stuff.xs.pl, c/Makefile, c/stuff.xs.pm: rename stuff.xs.pm to
- stuff.xs.pl (since it's a prog, not a module)
- (it helps for not having stuff.xs.pm in PMS)
-
- * Xconfig/xfree.pm (get_both): fix returning one element (eg:
- get_keyboard)
- new XFree handling library
- - only keyboard and mice functions are done, but adding the others is
- quite easy
- - so for now only used in mousedrake
- - but keyboarddrake and (of course) XFdrake will come
-
- * log.pm: when testing, log on STDERR
-
-2002/07/24 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/data.pm: don't account scanners as unknown devices
-
- * harddrake/ui.pm: scanners support:
- - split scannerdrake:val into vendor and description
- - don't display bogus "val:%HASH"
-
-2002/07/23 alus
-
- * share/po/pl.po: fuzzy cheched
-
-2002/07/23 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * security.pm: removal
-
-2002/07/23 Daouda Lo <daouda@mandrakesoft.com>
-
- * security/msec.pm:
- - fix typo: s/%%options;/%%options/
-
-2002/07/23 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: manage correctly unselectPackage and use perl-URPM >= 0.50.
-
-2002/07/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c: s/usb/moreprofessional/ thanks to vdanen
-
-2002/07/23 Pixel <pixel@mandrakesoft.com>
-
- * share/po/help-eu.pot: rebuild after replacing \" by "
-
- * any.pm, interactive.pm: use fuzzy_pidofs (to detect if kwin is running)
-
- * detect_devices.pm: handle computers with no /proc/scsi/scsi
-
- * .cvsignore, share/modparm.lst, Makefile: modparm.lst is not used anymore
- (modinfo -p)
-
-2002/07/23 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: further translations update
- update french translation
-
- * drakxtools.spec: 10mdk changes
- final changes batch
- 9mdk
- g Move 2: partition table: hierarchy
- - Big Move 1: interactive::* hierarchy
-
- * partition_table_dos.pm, partition_table/dos.pm, partition_table_mac.pm,
- partition_table/sun.pm, partition_table/gpt.pm, partition_table_raw.pm,
- partition_table_lvm_PV.pm, partition_table_empty.pm, standalone.pm,
- partition_table_sun.pm, partition_table_bsd.pm, install_interactive.pm,
- partition_table/raw.pm, partition_table.pm, any.pm,
- partition_table/mac.pm, partition_table/bsd.pm, bootloader.pm,
- diskdrake/hd_gtk.pm, partition_table/empty.pm, fsedit.pm,
- partition_table/lvm_PV.pm, partition_table_gpt.pm: g Move 2: partition
- table: hierarchy
-
- * Makefile.config, install_steps.pm, install_steps_interactive.pm,
- diskdrake/interactive.pm, Makefile.drakxtools, install_any.pm: g Move 2:
- partition table: hierarchy
- - Big Move 1: interactive::* hierarchy
-
- * harddrake/ui.pm: remove dead code
- remove dead args
- about and help windows: only show "OK" button, cancel one has no
- purpose here
-
- * detect_devices.pm: remove '-' before description for IBM eide hard disks
- g Move 2: partition table: hierarchy
-
- * standalone/service_harddrake: faster service startup
-
- * interactive_newt.pm, interactive.pm, standalone/drakautoinst,
- install_steps_stdio.pm, standalone/tinyfirewall, Xconfigurator.pm,
- standalone/drakboot, standalone/diskdrake, standalone/mousedrake,
- install_steps_newt.pm, printerdrake.pm, interactive_gtk.pm,
- install_steps_gtk.pm, interactive/http.pm, interactive/stdio.pm,
- interactive/newt.pm, services.pm, standalone/drakconnect,
- standalone/drakgw, interactive/gtk.pm, interactive_http.pm,
- interactive_stdio.pm, standalone/drakxtv:
- - Big Move 1: interactive::* hierarchy
-
- * Makefile: check make got correct tag from spec file
- fast build: new target (fastsrpm = cvstag localsrpm)
- g Move 2: partition table: hierarchy
- - Big Move 1: interactive::* hierarchy
-
- * harddrake/data.pm: s/drakconnet/drakconnect
-
- * harddrake/TODO: update
-
-2002/07/22 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, mouse.pm, install2.pm, detect_devices.pm: when $::noauto,
- hardwire no probing in detect_devices::probeall to ensure no probing is
- never done
-
- * share/po/help-fr.pot, share/po/help-de.pot, share/po/help-eu.pot,
- help.pm, share/po/.cvsignore, share/po/Makefile, share/po/help-es.pot,
- share/po/help-it.pot:
- - update help.pm based on the xml manual
- - this fixes entities sticked together with no space in between
- - this also implies a few bad line-wrapping changes,
- but it needs to be done to have a clean state
- (we don't have one since 8.2beta where i updated things by hand)
- - put help-*.pot in CVS so that the files based on the xml manual can
- be updated
- independently from DrakX.pot & .po's
-
- * Newt/Makefile, resize_fat/Makefile, c/Makefile: ensure things build as
- they should when perl is upgraded on compilation box
- (using a nice scheme: make || make)
-
-2002/07/22 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Adapted printerdrake to CUPS 1.1.15 and
- Perl 5.8.0 (for Foomatic).
- Let network also be started during installation when LPRng or PDQ is the
- spooler, so that the user can install queues to remote printers.
-
-2002/07/22 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/tools.pm: hide password in adsl configuration
-
-2002/07/22 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: try avoiding infinite loop.
-
-2002/07/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/it.po, share/po/nl.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/el.po, share/po/bg.po,
- share/po/lv.po, share/po/hu.po: updated pot file
-
- * share/po/cs.po: updated Czech file
- updated pot file
-
-2002/07/22 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile, Newt/Makefile, resize_fat/Makefile: ensure things build as
- they should when perl is upgraded on compilation box
- (using a nice scheme: make || make)
-
- * any.pm, mouse.pm, install2.pm, detect_devices.pm: when $::noauto,
- hardwire no probing in detect_devices::probeall to ensure no probing is
- never done
-
- * help.pm, share/po/.cvsignore, share/po/Makefile, share/po/help-de.pot,
- share/po/help-fr.pot, share/po/help-eu.pot, share/po/help-es.pot,
- share/po/help-it.pot:
- - update help.pm based on the xml manual
- - this fixes entities sticked together with no space in between
- - this also implies a few bad line-wrapping changes,
- but it needs to be done to have a clean state
- (we don't have one since 8.2beta where i updated things by hand)
- - put help-*.pot in CVS so that the files based on the xml manual can
- be updated
- independently from DrakX.pot & .po's
-
- * share/po/help_xml2pm.pl:
- - use new PerlIO instead of iconv
- - transliterate by hand &ndash and &eacute
- - move "use utf8" at top
- - fix the spaces between entities
- (eg: &company-microsoft; &os-windows; must not be MicrosoftWindows)
-
-2002/07/21 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: new snapshot
-
- * Xconfigurator.pm: fix multi-head auto-choosing in auto install
-
- * install_any.pm: workaround "traverse_tag" pb in Resolve.pm
- resolve_requested (is it ok??)
-
-2002/07/21 Pixel <pixel@mandrakesoft.com>
-
- * drakxtools.spec: new snapshot
-
- * install_any.pm: workaround "traverse_tag" pb in Resolve.pm
- resolve_requested (is it ok??)
-
-2002/07/21 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: Load "extmod" is a must! (for things like shape and
- dga)
-
- * Xconfig.pm: fix typo
-
-2002/07/21 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: Load "extmod" is a must! (for things like shape and
- dga)
-
- * Xconfig.pm: fix typo
-
- * share/locales-skeleton.tar.bz2: usr/share/locale skeleton is now build
- in gen_locales.pl
-
- * share/gen_locales.pl, share/gen_locales.sh: build per languages symlinks
- using the new::during_install__lang2charset
- -> this enables doing the same during install when using ramdisk
- => no need to have a locale.cz2 anymore
- (this is now possible since the number of special cases is lower than
- before)
-
- * lang.pm:
- - remove utf_xxx charsets, adding a flag UTF-8 instead
- - add during_install__lang2charset
- - when using ramdisk, no locale.cz2 anymore:
- there are 3 main charsets containing everything for all locales, except
- LC_CTYPE
- by default, there is UTF-8.
- when asked for GB2312 or BIG5, removing the other main charsets
- - cleanup comments (use #- instead of #)
- - various cleanup
-
- * tools/make_mdkinst_stage2: no more locale.cz2, just keeping the main
- charset /usr/share/locale/UTF-8
-
-2002/07/21 Pixel <pixel@mandrakesoft.com>
-
- * share/locales-skeleton.tar.bz2: usr/share/locale skeleton is now build
- in gen_locales.pl
-
- * share/gen_locales.pl, share/gen_locales.sh: build per languages symlinks
- using the new::during_install__lang2charset
- -> this enables doing the same during install when using ramdisk
- => no need to have a locale.cz2 anymore
- (this is now possible since the number of special cases is lower than
- before)
-
- * lang.pm:
- - remove utf_xxx charsets, adding a flag UTF-8 instead
- - add during_install__lang2charset
- - when using ramdisk, no locale.cz2 anymore:
- there are 3 main charsets containing everything for all locales, except
- LC_CTYPE
- by default, there is UTF-8.
- when asked for GB2312 or BIG5, removing the other main charsets
- - cleanup comments (use #- instead of #)
- - various cleanup
-
- * tools/make_mdkinst_stage2: no more locale.cz2, just keeping the main
- charset /usr/share/locale/UTF-8
-
-2002/07/20 Daouda Lo <daouda@mandrakesoft.com>
-
- * standalone/drakbug:
- - complete app list
-
-2002/07/20 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: shorter and nicer XF86Config's
-
- * mouse.pm: devfssymlinkf doesn't have any return value, so don't check it
-
- * Xconfig.pm (getinfoFromXF86Config): move here setting prefer_xf3 based
- on current choice on system
- shorter and nicer XF86Config's
-
- * install_gtk.pm:
- - rename updateCardAccordingName into add_to_card__using_Cards
- - rename cardConfigurationAuto into probe_cards
- - cleanup the simple XF86Config used during install
-
- * install_steps.pm: call config_dvd with $have_devfsd
-
- * install_steps_gtk.pm:
- - rename updateCardAccordingName into add_to_card__using_Cards
- - rename cardConfigurationAuto into probe_cards
-
- * any.pm: try very hard to make rdvd work:
- - if not using devfs, it worked so keeping things unchanged
- - if using devfs, using the new dynamic rawdevice.script script to
- bind a
- rawdevice on demand
- pb: can't have both a devfs and a non-devfs config,
- the /etc/sysconfig/rawdevices solution gives errors with devfs
- (since the dvd is not REGISTERed yet)
- please perl_checker
- fix typo
- (devfssymlinkf): use devfs names for devfs/conf.d/xxx.conf, but not for
- the
- symlink in /dev (which is used when devfs is not)
- devfssymlinkf doesn't have any return value, so don't check it
-
- * Xconfigurator.pm:
- - $in and $do_pkgs are no more global
- => it's now easier to keep track of interactive vs non-interactive
- functions
- - rename updateCardAccordingName into add_to_card__using_Cards
- - rename cardConfigurationAuto into probe_cards
- - and a few other function renamings
- shorter and nicer XF86Config's
-
-2002/07/19 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm:
- - reorganize monitor tree
- - merge XF3 & XF4 server/module choosing
- - replace {eide} by {EISA_ID} (=> {monitor} cleanup)
- - ensure a few "Cancel" are more better handled
- - ensure the default monitor in the monitor tree is the last chosen
- one
-
- * Xconfigurator_consts.pm:
- - fix good_default_monitor (must not be 1600x1200!)
- - add r128 & radeon in XF4 drivers list
-
- * interactive_gtk.pm: reduce "Use of uninitialized value" in a heavy used
- place
- (useful when debugging)
-
- * Xconfig.pm: read monitor's VendorName & ModelName
-
-2002/07/19 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm:
- - check if speedtouch_mgmt exist before installing it
-
-2002/07/19 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: revert changes so that DrakX work again.
-
- * install_any.pm: select default_packages directly during setPackages.
-
- * install_steps_interactive.pm: make sure unselectMostPackages is called
- (so that changes in default_packages
- are taken into account... but is may be any changes here ?).
-
-2002/07/19 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator_consts.pm:
- - fix good_default_monitor (must not be 1600x1200!)
- - add r128 & radeon in XF4 drivers list
- fix default_monitors to adapt new MonitorsDB
-
- * mouse.pm (devfssymlinkf): use devfs_device instead of device when
- available
-
- * partition_table.pm: handling devfs names for cdrom/hds on ide/scsi
- (needs testing)
-
- * any.pm (devfssymlinkf): try devices::to_devfs when devfs_device is not
- provided
- (devfssymlinkf): use devfs_device instead of device when available
-
- * detect_devices.pm: help perl_checker
- handling devfs names for cdrom/hds on ide/scsi (needs testing)
-
- * devices.pm: add functions to_devfs and from_devfs. These only work for
- devices entries
- which can go devfs -> normal and normal -> devfs
-
- * interactive_gtk.pm: reduce "Use of uninitialized value" in a heavy used
- place
- (useful when debugging)
-
- * Xconfig.pm: read monitor's VendorName & ModelName
- (readCardsDB): add handling BAD_FB_RESTORE & BAD_FB_RESTORE_XF3
-
- * Xconfigurator.pm:
- - reorganize monitor tree
- - merge XF3 & XF4 server/module choosing
- - replace {eide} by {EISA_ID} (=> {monitor} cleanup)
- - ensure a few "Cancel" are more better handled
- - ensure the default monitor in the monitor tree is the last chosen
- one
- partly cleanup monitor re-configuration (work in progress)
-
-2002/07/19 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * any.pm:
- - remove any msec related functions
- - remove 'use security::msec'
-
-2002/07/19 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/adsl.pm:
- - check if speedtouch_mgmt exist before installing it
-
-2002/07/19 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: revert changes so that DrakX work again.
-
- * install_any.pm: select default_packages directly during setPackages.
- fix typo on what_provides (for pitchounette :-)).
- added what_provides.
-
- * standalone.pm: fix typo on last commit.
- added what_provides.
-
- * install_steps_interactive.pm: make sure unselectMostPackages is called
- (so that changes in default_packages
- are taken into account... but is may be any changes here ?).
-
-2002/07/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
-2002/07/19 Pixel <pixel@mandrakesoft.com>
-
- * standalone/XFdrake: rename $i in $X (to have the same as
- Xconfigurator.pm)
-
- * interactive.pm: nicer error message when {val} is not set for ask_from &
- list
-
- * Xconfigurator.pm: partly cleanup monitor re-configuration (work in
- progress)
- - don't write XF86Config when no {card}{server}
- - don't write XF86Config-4 when no {card}{driver}
- - workaround mixing values from existing config and
- cardConfigurationAuto()
- - fix asking VideoRam
- - fix device0 in XF86Config
- - use "device1", "device2"... for "Device" Identifier
- - restore having a nice VendorName + BoardName
- (since Identifier is not very useful)
- - get {card}{Chipset} from existing XF86Config
- - use $::prefix
- - drop obsolete stuff: Ramdac, Dacspeed, Clockchip
- - drop {card}{flags}, the few flags are moved directly to {card}
- - force_xf4 is now a global in Xconfigurator
- - create new functions for better modularity: multi_head_config,
- xfree_and_glx_choices, xfree_and_glx_choose
- - for ppc, allow choosing DRI or not
- - need flag {card}{use_DRI_GLX} and {card}{use_UTAH_GLX} deciding
- wether
- to use DRI_GLX or UTAH_GLX. That way, {card}{DRI_GLX}, {card}{UTAH_GLX}
- are only flags allowing or not DRI/UTAH.
- - {card}{use_xf4} is dropped. New function using_xf4 has this
- functionality. The flags are now:
- - using XF4 if {driver} && !{prefer_xf3} otherwise using XF3
- - error if $force_xf4 && !{driver} || !{driver} && !{server}
- - internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} &&
- !{server}
- - {card}{description} contains what used to be {card}{identifier}
- - rename {card}{type} to {card}{card_name}
- - drop {monitor}{type}
-
- * install_steps.pm: don't pass the prefix parameter, not needed/wanted
- anymore
-
- * Xconfigurator_consts.pm: fix default_monitors to adapt new MonitorsDB
-
- * Xconfig.pm (readCardsDB): add handling BAD_FB_RESTORE &
- BAD_FB_RESTORE_XF3
- - use "device1", "device2"... for "Device" Identifier
- - restore having a nice VendorName + BoardName
- (since Identifier is not very useful)
- - get {card}{Chipset} from existing XF86Config
- - use $::prefix
- - drop obsolete stuff: Ramdac, Dacspeed, Clockchip
- - drop {card}{flags}, the few flags are moved directly to {card}
- - force_xf4 is now a global in Xconfigurator
- - create new functions for better modularity: multi_head_config,
- xfree_and_glx_choices, xfree_and_glx_choose
- - for ppc, allow choosing DRI or not
- - need flag {card}{use_DRI_GLX} and {card}{use_UTAH_GLX} deciding
- wether
- to use DRI_GLX or UTAH_GLX. That way, {card}{DRI_GLX}, {card}{UTAH_GLX}
- are only flags allowing or not DRI/UTAH.
- - {card}{use_xf4} is dropped. New function using_xf4 has this
- functionality. The flags are now:
- - using XF4 if {driver} && !{prefer_xf3} otherwise using XF3
- - error if $force_xf4 && !{driver} || !{driver} && !{server}
- - internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} &&
- !{server}
- - {card}{description} contains what used to be {card}{identifier}
- - rename {card}{type} to {card}{card_name}
- - drop {monitor}{type}
-
-2002/07/19 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * any.pm:
- - remove any msec related functions
- - remove 'use security::msec'
-
-2002/07/19 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * standalone/drakconnect:
- - any::setup_thiskind_backend changed in any::load_category_no_message
-
-2002/07/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po: updated Portuguese file
-
-2002/07/19 Pixel <pixel@mandrakesoft.com>
-
- * standalone/XFdrake: rename $i in $X (to have the same as
- Xconfigurator.pm)
-
- * Xconfigurator.pm:
- - don't write XF86Config when no {card}{server}
- - don't write XF86Config-4 when no {card}{driver}
- - workaround mixing values from existing config and
- cardConfigurationAuto()
- - fix asking VideoRam
- - fix device0 in XF86Config
- - use "device1", "device2"... for "Device" Identifier
- - restore having a nice VendorName + BoardName
- (since Identifier is not very useful)
- - get {card}{Chipset} from existing XF86Config
- - use $::prefix
- - drop obsolete stuff: Ramdac, Dacspeed, Clockchip
- - drop {card}{flags}, the few flags are moved directly to {card}
- - force_xf4 is now a global in Xconfigurator
- - create new functions for better modularity: multi_head_config,
- xfree_and_glx_choices, xfree_and_glx_choose
- - for ppc, allow choosing DRI or not
- - need flag {card}{use_DRI_GLX} and {card}{use_UTAH_GLX} deciding
- wether
- to use DRI_GLX or UTAH_GLX. That way, {card}{DRI_GLX}, {card}{UTAH_GLX}
- are only flags allowing or not DRI/UTAH.
- - {card}{use_xf4} is dropped. New function using_xf4 has this
- functionality. The flags are now:
- - using XF4 if {driver} && !{prefer_xf3} otherwise using XF3
- - error if $force_xf4 && !{driver} || !{driver} && !{server}
- - internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} &&
- !{server}
- - {card}{description} contains what used to be {card}{identifier}
- - rename {card}{type} to {card}{card_name}
- - drop {monitor}{type}
-
- * interactive.pm: nicer error message when {val} is not set for ask_from &
- list
-
- * Xconfig.pm:
- - use "device1", "device2"... for "Device" Identifier
- - restore having a nice VendorName + BoardName
- (since Identifier is not very useful)
- - get {card}{Chipset} from existing XF86Config
- - use $::prefix
- - drop obsolete stuff: Ramdac, Dacspeed, Clockchip
- - drop {card}{flags}, the few flags are moved directly to {card}
- - force_xf4 is now a global in Xconfigurator
- - create new functions for better modularity: multi_head_config,
- xfree_and_glx_choices, xfree_and_glx_choose
- - for ppc, allow choosing DRI or not
- - need flag {card}{use_DRI_GLX} and {card}{use_UTAH_GLX} deciding
- wether
- to use DRI_GLX or UTAH_GLX. That way, {card}{DRI_GLX}, {card}{UTAH_GLX}
- are only flags allowing or not DRI/UTAH.
- - {card}{use_xf4} is dropped. New function using_xf4 has this
- functionality. The flags are now:
- - using XF4 if {driver} && !{prefer_xf3} otherwise using XF3
- - error if $force_xf4 && !{driver} || !{driver} && !{server}
- - internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} &&
- !{server}
- - {card}{description} contains what used to be {card}{identifier}
- - rename {card}{type} to {card}{card_name}
- - drop {monitor}{type}
-
- * install_steps.pm: don't pass the prefix parameter, not needed/wanted
- anymore
-
-2002/07/18 Christian Belisle <cbelisle@mandrakesoft.com>
-
- * standalone/draksec: create the main() function in security.pm
-
- * security.pm: Re-Addition: will contain the security related (but not
- related to any apps)
- funtioncs and the draksec interface.
- removing
-
- * security/msec.pm:
- - add prefix var in file names
- - remove useless expert_mode var
- - add get_options(): will be used to get various options from msec
- move the msec related functions from any.pm to msec.pm. create
- sec_options
-
-2002/07/18 Damien Chaumette <dchaumette@mandrakesoft.com>
-
- * network/netconnect.pm: . draknet renamed in drakconnect
-
-2002/07/18 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixes allowNVIDIA_rpms against perl-URPM.
- really fixes it.
- fixes error if package is not found (regression fixed).
-
- * pkgs.pm: removed all the commented out code obsoleted.
- fix speed improvement for computeGroupSize by computing closure directly
- (in
- order to have an approximative size, not the real one).
- add back change CD support.
-
- * standalone/XFdrake: fixes with new urpm library of urpmi.
-
-2002/07/18 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm:
- - set $::prefix
- - drop $o->{root} (was "/tmp/root-perl-install" when testing but
- completly unused)
-
- * standalone/XFdrake, install_steps_interactive.pm: don't pass the prefix
- parameter, not needed/wanted anymore
-
- * Xconfigurator.pm, Xconfigurator_consts.pm, Xconfig.pm:
- - %standard_monitors are now in Cards+, dropping them
- - multi head support generalized, now based on Cards+ MULTI_HEAD
- - fix some ModeLines being written twice in XF86Config
- - remove setting DefaultFbBpp to 32
- (since it is the default in all my tests)
-
- * common.pm, install_any.pm: use $::prefix instead of $::o->{prefix}
-
-2002/07/18 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm, install_steps_interactive.pm: add support/option for
- Windows(tm) authentication via winbind
-
-2002/07/18 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: 7mdk changes
- 6mdk final changes
-
- * harddrake/bttv.pm: useless standalone dependancy for pixel fscking
- checker
-
- * Makefile: faster startup: remove use (diagnostics|vars|strict) in srpm
- target as
- in local target (dams fsck)
-
- * harddrake/TODO: update
-
- * harddrake/data.pm: s/draknet/drakconnect/
- - bump version number
- - move scsi & ata controllers, tv-audio, dvd, burners, ... in their
- own "non configurable" sections
-
-2002/07/18 warly
-
- * share/logo-mandrake.png: install logo for 9.0 beta 1
-
-2002/07/18 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fix speed improvement for computeGroupSize by computing closure
- directly (in
- order to have an approximative size, not the real one).
- add back change CD support.
-
-2002/07/18 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm, Xconfigurator_consts.pm, Xconfig.pm:
- - %standard_monitors are now in Cards+, dropping them
- - multi head support generalized, now based on Cards+ MULTI_HEAD
- - fix some ModeLines being written twice in XF86Config
- - remove setting DefaultFbBpp to 32
- (since it is the default in all my tests)
-
-2002/07/17 alus
-
- * share/po/pl.po: some more fixes
- some little changes
-
-2002/07/17 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: added missing use pkgs.
-
-2002/07/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pkgs.pm: spell right harddrake (two 'd') in @preferred
-
- * tools/cvslog2changelog.pl: add daouda chaumette cbelisle
-
-2002/07/17 Pixel <pixel@mandrakesoft.com>
-
- * install_gtk.pm: normalize Modeline to ModeLine
-
- * common.pm: add function "internal_error" (a specialized "die")
-
- * drakxtools.spec: the new XFdrake needs latest ldetect-lst
-
- * Makefile (test_pms): exclude urpm from uses
-
- * printer.pm, printerdrake.pm: use {XXX} instead of {'XXX'} (as detected
- by new perl_checker)
- remove "$_ =~ " (as detected by new perl_checker)
-
- * any.pm: move the "if !$::testing" for not modifying inittab in function
- runlevel()
- (was in install_steps.pm)
-
- * commands.pm: remove "$_ =~ " (as detected by new perl_checker)
-
- * Xconfigurator.pm, Xconfigurator_consts.pm, install_steps.pm,
- standalone/XFdrake, Xconfig.pm: Big Xconfigurator.pm cleanup/rework
- - use $X instead of $o (to avoid name conflict with DrakX's $o)
- - {flag}{noclockprobe} unused, dropping it
- - rename {memory} into "VideoRam"
- - rename {ramdac} into {Ramdac}
- - rename {chipset} into {Chipset}
- - rename {clockchip} into {Clockchip}
- - rename {keyboard}{xkb_model} into {keyboard}{XkbModel}
- - rename {keyboard}{xkb_keymap} into {keyboard}{XkbLayout}
- - drop {mouse}{chordmiddle} (obsolete)
- - drop {mouse}{cleardtrrts} (obsolete, was not written to XF4 config)
- - &testConfig is unused, removing it
- - as a concequence, {clocklines} is never set, dropping it
- - when UNSUPPORTED remove {driver}, instead of setting
- {flag}{unsupported}
- - Cards+ now only provide {Chipset} for cards needing it
- => {flag}{needChipset} not needed anymore
- - moved setting needVideoRam in Cards+ (via NEEDVIDEORAM)
- (hoping it will work: since the regexp was broken, it was never done.
- (it was applied on the module field of pcitable, instead of the
- description))
- - dropped modelines_text_Trident_TG_96xx case (it has never been used)
- - rename %xkb_options into %XkbOptions
- - rename {DRI_glx} into {DRI_GLX}, the value now comes from Cards+
- instead of regexp'ing {identifier}
- - rename {Utah_glx} into {UTAH_GLX}, the value now comes from Cards+
- instead of regexp'ing {identifier}
- - rename {Utah_glx_EXPERIMENTAL} into {UTAH_GLX_EXPERIMENTAL}, the
- value now comes from Cards+
- instead of regexp'ing {identifier}
- - very_bad_card and bad_card are now the same, the value now comes
- from
- Cards+ (BAD_FB_RESTORE & BAD_FB_RESTORE_XF3)
- - drop unused @accelservers
- - remove $modelines_text_apple, use $modelines_text_ext instead
- - don't use a <Section "Modes"> together with <UseModes "Mac Modes">,
- put
- directly modelines in Section "Monitor"
- (why should ppc behave differently than others!?)
- - replace (conflicting) ModeLines "1280x1024 @ 74 Hz" and
- "1280x1024 @ 76 Hz" with "1280x1024 @ 75 Hz" (from ddcxinfos)
- - drop ModeLine "640x480 @ 72 Hz"
- (it conflicts, and anyway, it has no real use nowadays :)
- - drop comments about HorizSync, VertRefresh and ModeLine's from
- XF86Config
- - drop many unneeded stuff from XF86Config:
- AutoRepeat, Xqueue, Xleds, NoTrapSignals, XkbTypes, XkbKeycodes,
- XkbCompat, XkbRules, LeftAlt/RightAlt/ScrollLock/RightCtl
- - drop section comments from XF86Config
- - drop XF86_Mono configuration
- (it doesn't work anyway, seems like it needs a special ModeLine?)
- - drop 320x200 with XF86_SVGA (who can use this!?)
- - do not write Screen section "accel" if the server configured is not
- an
- accel one
- - drop the "Generic VGA" Device section for XF4
- (this device is unused)
- - drop {monitor}{vendor}, {monitor}{model}, {card}{vendor},
- {card}{model},
- {card}{board} (only description strings, not useful for running the
- server)
- - use x_res instead of wres for things like 1024 in 1024x768
-
-2002/07/17 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: added missing use pkgs.
-
-2002/07/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pkgs.pm: spell right harddrake (two 'd') in @preferred
-
-2002/07/17 Pixel <pixel@mandrakesoft.com>
-
- * install_gtk.pm: normalize Modeline to ModeLine
-
- * common.pm: add function "internal_error" (a specialized "die")
-
- * drakxtools.spec: the new XFdrake needs latest ldetect-lst
-
- * Makefile (test_pms): exclude urpm from uses
-
- * printer.pm, printerdrake.pm: use {XXX} instead of {'XXX'} (as detected
- by new perl_checker)
- remove "$_ =~ " (as detected by new perl_checker)
-
- * any.pm: move the "if !$::testing" for not modifying inittab in function
- runlevel()
- (was in install_steps.pm)
-
- * commands.pm: remove "$_ =~ " (as detected by new perl_checker)
-
- * Xconfigurator.pm, Xconfigurator_consts.pm, install_steps.pm,
- standalone/XFdrake, Xconfig.pm: Big Xconfigurator.pm cleanup/rework
- - use $X instead of $o (to avoid name conflict with DrakX's $o)
- - {flag}{noclockprobe} unused, dropping it
- - rename {memory} into "VideoRam"
- - rename {ramdac} into {Ramdac}
- - rename {chipset} into {Chipset}
- - rename {clockchip} into {Clockchip}
- - rename {keyboard}{xkb_model} into {keyboard}{XkbModel}
- - rename {keyboard}{xkb_keymap} into {keyboard}{XkbLayout}
- - drop {mouse}{chordmiddle} (obsolete)
- - drop {mouse}{cleardtrrts} (obsolete, was not written to XF4 config)
- - &testConfig is unused, removing it
- - as a concequence, {clocklines} is never set, dropping it
- - when UNSUPPORTED remove {driver}, instead of setting
- {flag}{unsupported}
- - Cards+ now only provide {Chipset} for cards needing it
- => {flag}{needChipset} not needed anymore
- - moved setting needVideoRam in Cards+ (via NEEDVIDEORAM)
- (hoping it will work: since the regexp was broken, it was never done.
- (it was applied on the module field of pcitable, instead of the
- description))
- - dropped modelines_text_Trident_TG_96xx case (it has never been used)
- - rename %xkb_options into %XkbOptions
- - rename {DRI_glx} into {DRI_GLX}, the value now comes from Cards+
- instead of regexp'ing {identifier}
- - rename {Utah_glx} into {UTAH_GLX}, the value now comes from Cards+
- instead of regexp'ing {identifier}
- - rename {Utah_glx_EXPERIMENTAL} into {UTAH_GLX_EXPERIMENTAL}, the
- value now comes from Cards+
- instead of regexp'ing {identifier}
- - very_bad_card and bad_card are now the same, the value now comes
- from
- Cards+ (BAD_FB_RESTORE & BAD_FB_RESTORE_XF3)
- - drop unused @accelservers
- - remove $modelines_text_apple, use $modelines_text_ext instead
- - don't use a <Section "Modes"> together with <UseModes "Mac Modes">,
- put
- directly modelines in Section "Monitor"
- (why should ppc behave differently than others!?)
- - replace (conflicting) ModeLines "1280x1024 @ 74 Hz" and
- "1280x1024 @ 76 Hz" with "1280x1024 @ 75 Hz" (from ddcxinfos)
- - drop ModeLine "640x480 @ 72 Hz"
- (it conflicts, and anyway, it has no real use nowadays :)
- - drop comments about HorizSync, VertRefresh and ModeLine's from
- XF86Config
- - drop many unneeded stuff from XF86Config:
- AutoRepeat, Xqueue, Xleds, NoTrapSignals, XkbTypes, XkbKeycodes,
- XkbCompat, XkbRules, LeftAlt/RightAlt/ScrollLock/RightCtl
- - drop section comments from XF86Config
- - drop XF86_Mono configuration
- (it doesn't work anyway, seems like it needs a special ModeLine?)
- - drop 320x200 with XF86_SVGA (who can use this!?)
- - do not write Screen section "accel" if the server configured is not
- an
- accel one
- - drop the "Generic VGA" Device section for XF4
- (this device is unused)
- - drop {monitor}{vendor}, {monitor}{model}, {card}{vendor},
- {card}{model},
- {card}{board} (only description strings, not useful for running the
- server)
- - use x_res instead of wres for things like 1024 in 1024x768
-
-2002/07/16 alus
-
- * share/po/pl.po: unused string removed
-
-2002/07/16 cbelisle
-
- * standalone/draksec: re-write the part setting the security admin
-
- * security.pm: draksec - initial commit. preparing for the advanced
- section.
-
- * any.pm: draksec:
- - rewrite the function to set the security admin
- - remove ugly buttons, 'advanced' button will come later
-
-2002/07/16 dchaumette
-
- * standalone/drakbug, standalone/interactive_http/authorised_progs,
- standalone/drakxconf: o finish moving draknet to drakconnect in
- standalone
-
-2002/07/16 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: update with newer perl-URPM.
- added log (finding packages to upgrade or computing installed flag)
-
- * install_steps.pm: removed useless package selection cleaning.
-
- * install_steps_gtk.pm: code cleanup.
-
- * install_steps_interactive.pm: improve a little.
- fixed missing upgrade.
- added wait message when finding packages to upgrade.
-
- * install2.pm: fixed reference to step 'selectPackagesToUpgrade'.
-
- * install_any.pm: fixed die when choosePackages step is redone.
-
- * crypto.pm: allow upgrade (if any) by using version at 8.2.
-
-2002/07/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * any.pm: small english fix thx to vdanen
-
- * share/po/id.po, share/po/sk.po, share/po/ru.po, share/po/gl.po,
- share/po/pt_BR.po, share/po/br.po, share/po/th.po, share/po/sl.po,
- share/po/no.po, share/po/et.po, share/po/ja.po, share/po/hr.po,
- share/po/tr.po, share/po/mt.po, share/po/ga.po, share/po/be.po,
- share/po/uk.po, share/po/ko.po, share/po/DrakX.pot, share/po/sv.po,
- share/po/sr.po, share/po/pl.po, share/po/fi.po, share/po/lt.po,
- share/po/sp.po, share/po/cy.po, share/po/ca.po, share/po/da.po,
- share/po/ar.po, share/po/bs.po, share/po/ro.po, share/po/wa.po,
- share/po/is.po, share/po/af.po, share/po/az.po, share/po/zh_TW.po,
- share/po/zh_CN.po, share/po/pt.po, share/po/vi.po, share/po/fr.po,
- share/po/nl.po, share/po/it.po, share/po/eu.po, share/po/es.po,
- share/po/de.po, share/po/eo.po, share/po/lv.po, share/po/el.po,
- share/po/cs.po, share/po/bg.po, share/po/hu.po: reflect typo fix in
- any.pm in the po's so that the translation are not broken
-
- * mdk-stage1/stage1.c: extend a bit fatal error when trying to execute
- /usr/bin/runinstall2 and it's not possible
-
-2002/07/16 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakTermServ: fix "$" in translated string
-
- * Makefile: don't display etags command (too long, not nice)
-
-2002/07/15 daouda
-
- * standalone/drakbug:
- - isStandalone is set in standalone.pm, removed
-
- * standalone/draksec:
- - isStandalone is set in standalone.pm, removed.
- - set isStandalone to 1 to center wait messages
-
-2002/07/15 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: synced.
-
- * install_any.pm: synced with other module updated.
-
- * c/stuff.xs.pm: cleaned no more used method.
-
- * pkgs.pm: made upgrade almost work again (need testing and
- remove/deselect still doesn't
- work properly).
-
- * install_steps.pm: code re-organisation (a little).
-
- * install_steps_gtk.pm: fixed flag usage (still check selected package to
- upgrade but already selected
- are correctly shown).
-
-2002/07/15 Pixel <pixel@mandrakesoft.com>
-
- * ChangeLog: revert titi's error
-
-2002/07/11 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list.i386: switch to vendor_perl
-
-2002/07/10 daouda
-
- * standalone/drakbug:
- - code update
- - use local http server for test.
-
-2002/07/10 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, install_steps_gtk.pm, crypto.pm, share/list, pkgs.pm,
- install_any.pm, install2.pm, install_steps_interactive.pm: use perl-URPM
- instead of rpmtools.
-
- * tools/Makefile: use vendor_perl instead of site_perl (check of
- rpmtools.pm and packdrake.pm presence).
-
-2002/07/10 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile: nicer use of vendor_perl instead of site_perl (check of
- rpmtools.pm and
- packdrake.pm presence) ... i had forgot to commit :-(
-
- * ftp.pm: don't let Timeout kill us
-
- * modparm.pm: rollback titi's modif
-
- * detect_devices.pm: cleanup
-
- * share/list: add integer.pm (needed by Time::Local (needed by Net::FTP))
-
-2002/07/10 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * drakxtools.spec: list and describe all gui tools from drakxtools
- enhance cohenrency: step 1
- - ide and scsi devices use channel rather than bus to store their
- physical connection, which is more logic (at least for eide)
- - all devices have their connection bus in bus field, not in bus for
- {pci,usb,...} and interface_type for {scsi,eide,other_block_devices}
-
- - detect_devices:getIDE() : add eide_hds hash in order to be able to
- split info field between model and vendor
-
- - harddrake::ui : code reduction allowed by the above changes
- fix parrallel build
- fix perl depandancy on new perl
-
- * diskdrake/interactive.pm, detect_devices.pm, install_steps.pm,
- harddrake/ui.pm: enhance cohenrency: step 1
- - ide and scsi devices use channel rather than bus to store their
- physical connection, which is more logic (at least for eide)
- - all devices have their connection bus in bus field, not in bus for
- {pci,usb,...} and interface_type for {scsi,eide,other_block_devices}
-
- - detect_devices:getIDE() : add eide_hds hash in order to be able to
- split info field between model and vendor
-
- - harddrake::ui : code reduction allowed by the above changes
-
- * modparm.pm: typo fix
- no need to test two times if modinfo is executable in normal (ie not
- in drakx) case ...
-
- * Makefile, Makefile.drakxtools: remove all
- (use\s+(diagnostics|vars|strict)' instances
-
-2002/07/09 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: have MDK::Common's in TAGS
-
- * detect_devices.pm: rewrite getSCSI, now handling scanners
-
- * share/list: adapt to new perl 5.8.0
-
- * common.pm, modparm.pm: move join_lines to common
-
-2002/07/09 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: have MDK::Common's in TAGS
-
- * detect_devices.pm: rewrite getSCSI, now handling scanners
-
- * share/list: adapt to new perl 5.8.0
-
- * common.pm, modparm.pm: move join_lines to common
-
-2002/07/09 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/TODO: fix boot freeze on hw change: initscript was running us
- with stdout
- redirected to /dev/null; just use a small sh wrapper to fix it
- update
-
- * standalone/service_harddrake.sh:
- - redirect stderr
- - remove old commented stuff
- fix boot freeze on hw change: initscript was running us with stdout
- redirected to /dev/null; just use a small sh wrapper to fix it
-
- * Makefile.drakxtools: fix boot freeze on hw change: initscript was
- running us with stdout
- redirected to /dev/null; just use a small sh wrapper to fix it
-
- * standalone/service_harddrake:
- - configurator got displayed
- - move timeout around configurator asking (still not 100% ok)
- time out after 200 seconds
- fix boot freeze on hw change: initscript was running us with stdout
- redirected to /dev/null; just use a small sh wrapper to fix it
-
- * drakxtools.spec: fix url
- add harddrake service wrapper
- really final changes
- final batch of changes for -3mdk ?
- fix boot freeze on hw change: initscript was running us with stdout
- redirected to /dev/null; just use a small sh wrapper to fix it
-
- * Makefile.config: add harddrake service wrapper to installed files
-
- * harddrake/ui.pm:
- - add channel: primary/slave for eide deivces
- - get rid of ->{set,get}_user_data
- ensure we don't mix scsi and pci devices
-
- * harddrake/bttv.pm: log only if options set
- typo fix
- only log explanations in standalone mode
-
- * share/po/Makefile: fake make so that its builtin rule to create file
- from file.sh doesn't
- nuke service_harddrake with it wrapper
-
-2002/07/08 daouda
-
- * standalone/drakbug:
- - detect package automatically when app is chosen
-
-2002/07/08 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: create the list_modules symlink
- make test_pms should now work (was pb with list_modules.pm)
-
- * install_steps.pm, any.pm: mtools config so that "mdir a:" accesses the
- usb floppy if one is there
-
- * diskdrake/hd_gtk.pm: do not display "Clear all" (and the other per kind
- buttons) for the raid tab
-
- * install_steps_interactive.pm: in case the licence is refused, ask for
- confirmation
-
- * diskdrake/interactive.pm: make Clear_all work on a LVM VG
- make Clear_all remove partitions from raids
-
-2002/07/08 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/TODO: remove fixed stuff
-
- * Makefile.drakxtools: s/PHONY/.PHONY/
- - simplifications
- - harddrake support is complete
-
- * drakxtools.spec: update
- fix post: add start argument
- service changes batch for 2mdk
- rpmlint fixes
- parrallel build
- 1.1.8-2mdk
- - enhance descriptions
- - various spec clean
- split-up between harddrake and harddrake-ui
- complete changelog
- - obsoletes/provides libdetect-lst, libdetect-lst-devel, detect,
- detect-lst
- - don't restart harddrake on install
- - some stuff moved into Makefile.drakxtools
- - fix harddrake menu entry
- - fix build
-
- * harddrake/data.pm: cache @devices so that hw probe is only done once
-
- * standalone/harddrake2: no need to 'use strict' in "binary"
-
- * standalone/service_harddrake:
- - only work on start
- - add "please wait" message
- - really don't cry when no previous config
- skip configuration on firt run
- skip hw classes without configurator (which'll have a configurator
- after porting updfstab)
-
- * harddrake/ui.pm:
- - rehide "run config tool" button when it has been displayed in
- another hw class
- don't display "run config tool" button if no configurator availlable
- - center the main window
- - remove drakx decorations
- mice:
- - s/nbuttons/Number of buttons/
- - delete qw(MOUSETYPE XMOUSETYPE unsafe)
- don't delete info field in normal path
- - eide devices: split up info field into vendor and model fields
- - complete help
- hummm ... eide: 0->master, 1->slave :-(
- - remove save_report menu entry, this is done by service_harddrake
- - move $in declaration near where it's used
- eide hard disks : print master/slave for bus_location
-
-2002/07/08 daouda
-
- * Makefile.config:
- - add drakbug
-
- * drakxtools.spec:
- - add dir recursively
-
- * standalone/drakbug:
- - detect package automatically when app is chosen
- - standalone app
-
-2002/07/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mount.c: small readability & size enhancement
-
-2002/07/08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: in case the licence is refused, ask for
- confirmation
- help perl_checker
-
- * diskdrake/hd_gtk.pm: do not display "Clear all" (and the other per kind
- buttons) for the raid tab
-
- * diskdrake/interactive.pm: make Clear_all work on a LVM VG
- make Clear_all remove partitions from raids
-
- * Makefile: create the list_modules symlink
- make test_pms should now work (was pb with list_modules.pm)
-
-2002/07/08 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * harddrake/ui.pm:
- - remove save_report menu entry, this is done by service_harddrake
- - move $in declaration near where it's used
- eide hard disks : print master/slave for bus_location
- - remove dead stuff
- - comment some stuff
- minor simplication
- various cleanups:
- - move all harddrake modules to harddrake namespace
- - replace two use by require so that it's not done at compil time
- but at runtime
- - there was a missing $ in harddrake::ui.pm
-
- * harddrake/TODO: update todo list
-
- * install_steps_interactive.pm, standalone/draknet, harddrake/bttv.pm,
- standalone/harddrake2, standalone/service_harddrake, harddrake/data.pm:
- various cleanups:
- - move all harddrake modules to harddrake namespace
- - replace two use by require so that it's not done at compil time
- but at runtime
- - there was a missing $ in harddrake::ui.pm
-
- * drakxtools.spec:
- - some stuff moved into Makefile.drakxtools
- - fix harddrake menu entry
- - fix build
- fixes for missing files
- enhanced description
-
- * modules.pm:
- - s/snd-card/snd/
- - make some code clearer
-
- * Makefile.drakxtools:
- - simplifications
- - harddrake support is complete
-
- * scanner.pm: this doesn't need either "#!/usr/bin/perl" nor "use lib
- qw(/usr/lib/libDrakX);"
-
- * standalone/drakxtv:
- - fix options handling
- - use "perl -w"
- - s/bttv/harddrake::bttv/ due to recent changes
-
-2002/07/07 daouda
-
- * drakxtools.spec:
- - directory should exist before mv'ing things (mkdir
- %%buildroot%%_initrddir)
-
-2002/07/07 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm: smarter raidAutoStartRaidtab
- great new raidAutoStartRaidtab allowing to handle existing software
- raids
- even when RAID_AUTORUN is not supported by kernel (which is the case for
- us
- since md.o is a not builtin the kernel)
-
- * fsedit.pm: great new raidAutoStartRaidtab allowing to handle existing
- software raids
- even when RAID_AUTORUN is not supported by kernel (which is the case for
- us
- since md.o is a not builtin the kernel)
-
- * devices.pm: use c::total_sectors() instead of BLKGETSIZE
-
- * diskdrake/interactive.pm, raid.pm: ensure the raid is disactivated and
- marked dirty on any actions that destroy the raid
-
-2002/07/07 daouda
-
- * Makefile:
- - remove share/wizard.rc in DISTFILE
-
- * drakxtools.spec:
- - directory should exist before mv'ing things (mkdir
- %%buildroot%%_initrddir)
- - mv typo in %install section (titi sux)
-
-2002/07/07 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm: smarter raidAutoStartRaidtab
- great new raidAutoStartRaidtab allowing to handle existing software
- raids
- even when RAID_AUTORUN is not supported by kernel (which is the case for
- us
- since md.o is a not builtin the kernel)
- remove detect_devices::check (including the annoying log about no
- modules for the pci entry)
-
- * modules.pm: new "append_to_etc_modules" function
- remove detect_devices::check (including the annoying log about no
- modules for the pci entry)
-
- * fsedit.pm: great new raidAutoStartRaidtab allowing to handle existing
- software raids
- even when RAID_AUTORUN is not supported by kernel (which is the case for
- us
- since md.o is a not builtin the kernel)
-
- * any.pm: small regexp cleanup
-
- * fs.pm, partition_table.pm: for greater symmetry with smb, drop isNfs in
- favour of isThisFs('nfs', ...)
-
- * interactive_newt.pm: make the buttons work in all cases
- - workaround segfaults
- - ensure the perl values are set when calling the clicked_may_quit
- callback
-
- * devices.pm: use c::total_sectors() instead of BLKGETSIZE
-
- * diskdrake/interactive.pm, raid.pm: ensure the raid is disactivated and
- marked dirty on any actions that destroy the raid
-
-2002/07/06 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (ask_users): the user name length must be <= 32
-
- * diskdrake/interactive.pm (as suggested by Alexander Skwar)
- - in interactive::check_type, check if the package (like jfsprogs) is
- installed
- - use interactive::check_type where usefull
- - cleanup
-
- * Makefile.config: standalone/drakbug doesn't exist! (why did deush add
- it???)
- it is standalone/harddrake2, not standalone/harddrake (poor deush must
- be loosing his brain :p)
-
- * diskdrake/hd_gtk.pm: s/check_type/diskdrake::interactive::check_type/
- - move diskdrake.rc from /etc/gtk to /usr/share/libDrakX
- - remove unused wizard.rc
- (as suggested by Alexander Skwar)
- - in interactive::check_type, check if the package (like jfsprogs) is
- installed
- - use interactive::check_type where usefull
- - cleanup
-
- * fsedit.pm: /root and /mnt must "remain within the root filesystem" (ie
- can't be used as mountpoints), dixit redhat
- (package_needed_for_partition_type): return the package needed for a
- partition type
- (check_type): cleanup
-
- * install_any.pm (setDefaultPackages): use
- fsedit::package_needed_for_partition_type to get things like jfsprogs
-
- * fs.pm: supermount now handles fs=auto, using it :)
-
- * Makefile.drakxtools, my_gtk.pm, share/wizard.rc, drakxtools.spec:
- - move diskdrake.rc from /etc/gtk to /usr/share/libDrakX
- - remove unused wizard.rc
-
-2002/07/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * Makefile.config: add the harddrake service which was missing
-
- * printer.pm: try to simplify
-
- * harddrake/ui.pm: simplify: use reverse
- - help system:
- - add an help entry in help menu;
- - begin to describe information fields
-
- - reformat license in about window
-
- - information frame (mostly fixing incoherency between various hw
- classes fields)
-
- - s/media type/media class/
-
- - s/info/Hardware id/
-
- - s/device/device file/
-
- - split description into manufacturer/description
-
- - eide devices:
-
- - rename bus as bus_location
-
- - set interface_type as bus
-
- - scsi devices:
-
- - set bus to SCSI
-
- - set bus_location to bus:id fields
-
- - don't print pci subids when non set
-
- - remove fields that were already used above (vendor id subvendor
- subid pci_bus pci_device pci_function)
-
- - no need to return window after program exit
-
- - print usage if needed
-
- - embed hardware tree in a "detected hardware" frame
-
- - cleanups:
-
- - rename widget2 as frame
-
- - remove dead commented code
-
- * drakxtools.spec: add harddrake2 service
-
- * standalone/icons/harddrake2/webcam.png,
- standalone/icons/harddrake2/harddrake.png,
- standalone/icons/harddrake2/keyboard.png,
- standalone/icons/harddrake2/ide_hd.png,
- standalone/icons/harddrake2/cable.png,
- standalone/icons/harddrake2/video.png,
- standalone/icons/harddrake2/tape.png,
- standalone/icons/harddrake2/joystick.png,
- standalone/icons/harddrake2/harddisk.png,
- standalone/icons/harddrake2/usb.png,
- standalone/icons/harddrake2/memory.png,
- standalone/icons/harddrake2/hw_network.png,
- standalone/icons/harddrake2/scsi_hd.png,
- standalone/icons/harddrake2/unknown.png,
- standalone/icons/harddrake2/floppy.png,
- standalone/icons/harddrake2/hw_printer.png,
- standalone/icons/harddrake2/scanner.png,
- standalone/icons/harddrake2/cd.png,
- standalone/icons/harddrake2/isdn.png,
- standalone/icons/harddrake2/tv.png,
- standalone/icons/harddrake2/sound.png,
- standalone/icons/harddrake2/scsi.png,
- standalone/icons/harddrake2/cpu.png,
- standalone/icons/harddrake2/hw_mouse.png,
- standalone/icons/harddrake2/modem.png,
- standalone/icons/harddrake2/K7.png: add harddrake2 icons
-
-2002/07/06 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (ask_users): the user name length must be <= 32
-
- * commands.pm: adapt to new modprobe.pm
-
- * diskdrake/hd_gtk.pm:
- - move diskdrake.rc from /etc/gtk to /usr/share/libDrakX
- - remove unused wizard.rc
- (as suggested by Alexander Skwar)
- - in interactive::check_type, check if the package (like jfsprogs) is
- installed
- - use interactive::check_type where usefull
- - cleanup
-
- * diskdrake/interactive.pm (as suggested by Alexander Skwar)
- - in interactive::check_type, check if the package (like jfsprogs) is
- installed
- - use interactive::check_type where usefull
- - cleanup
- (Resize): resize2fs handles ext3 :)
-
- * install_any.pm (setDefaultPackages): use
- fsedit::package_needed_for_partition_type to get things like jfsprogs
- when merge_fstabs, handle in a different way mtab and fstab (or
- manualFstab)
- => this allows to force the type&options in manualFstab
-
- * fsedit.pm (package_needed_for_partition_type): return the package needed
- for a partition type
- (check_type): cleanup
-
- * docs/comparisons: various remarks about mandrake
-
- * partition_table_lvm_PV.pm: Allows people having PVs on unpartitioned
- disks to install
- (but no way to create such beasts)
-
- * Makefile.config: standalone/drakbug doesn't exist! (why did deush add
- it???)
- it is standalone/harddrake2, not standalone/harddrake (poor deush must
- be loosing his brain :p)
- add harddrake pm's
-
- * partition_table.pm: Allows people having PVs on unpartitioned disks to
- install
- (but no way to create such beasts)
- cleanup
-
- * fs.pm: supermount now handles fs=auto, using it :)
- when merge_fstabs, handle in a different way mtab and fstab (or
- manualFstab)
- => this allows to force the type&options in manualFstab
-
- * Makefile.drakxtools, my_gtk.pm, share/wizard.rc, drakxtools.spec:
- - move diskdrake.rc from /etc/gtk to /usr/share/libDrakX
- - remove unused wizard.rc
-
-2002/07/06 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/lsnetdrake: simplify
-
- * Makefile: add harddrake to DISTFILES
-
- * printer.pm: try to simplify
-
- * harddrake/TODO: add bits regarding eide and scsi
-
- * standalone/harddrake2: add missing 'use lib' due to harddrak::ui changes
-
- * harddrake/ui.pm: simplify: use reverse
- - help system:
- - add an help entry in help menu;
- - begin to describe information fields
-
- - reformat license in about window
-
- - information frame (mostly fixing incoherency between various hw
- classes fields)
-
- - s/media type/media class/
-
- - s/info/Hardware id/
-
- - s/device/device file/
-
- - split description into manufacturer/description
-
- - eide devices:
-
- - rename bus as bus_location
-
- - set interface_type as bus
-
- - scsi devices:
-
- - set bus to SCSI
-
- - set bus_location to bus:id fields
-
- - don't print pci subids when non set
-
- - remove fields that were already used above (vendor id subvendor
- subid pci_bus pci_device pci_function)
-
- - no need to return window after program exit
-
- - print usage if needed
-
- - embed hardware tree in a "detected hardware" frame
-
- - cleanups:
-
- - rename widget2 as frame
-
- - remove dead commented code
-
- * harddrake/data.pm: add a configurator for sound
-
- * standalone/icons/harddrake2/cable.png,
- standalone/icons/harddrake2/tape.png,
- standalone/icons/harddrake2/usb.png,
- standalone/icons/harddrake2/hw_network.png,
- standalone/icons/harddrake2/unknown.png,
- standalone/icons/harddrake2/hw_printer.png,
- standalone/icons/harddrake2/scanner.png,
- standalone/icons/harddrake2/isdn.png,
- standalone/icons/harddrake2/cd.png,
- standalone/icons/harddrake2/scsi.png,
- standalone/icons/harddrake2/hw_mouse.png,
- standalone/icons/harddrake2/K7.png,
- standalone/icons/harddrake2/webcam.png,
- standalone/icons/harddrake2/harddrake.png,
- standalone/icons/harddrake2/keyboard.png,
- standalone/icons/harddrake2/ide_hd.png,
- standalone/icons/harddrake2/harddisk.png,
- standalone/icons/harddrake2/joystick.png,
- standalone/icons/harddrake2/video.png,
- standalone/icons/harddrake2/memory.png,
- standalone/icons/harddrake2/scsi_hd.png,
- standalone/icons/harddrake2/floppy.png,
- standalone/icons/harddrake2/sound.png,
- standalone/icons/harddrake2/tv.png, standalone/icons/harddrake2/cpu.png,
- standalone/icons/harddrake2/modem.png: add harddrake2 icons
-
-2002/07/05 daouda
-
- * Makefile.config:
- - add harddrake drakbug drakTermServ to STANDALONEPMS_
-
- * drakxtools.spec:
- - snapshot
- - new entries:
- o harddrake2 : new hardware detection && configuration tool
- o drakbugreport: bug reporting tool a la Kde (not working!)
- o drakTermServ : configuration tool for diskless stations.
-
-2002/07/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (prepare_write_fstab): for supermount, have "none" as the device
- (cleaner, and
- more coherent with the "supermount" script (tx to FredC))
-
-2002/07/05 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * install_steps_interactive.pm: minimize startup: only load
- harddrake::bttv if the user click on "tv
- card" field in the hw summary window
- use harddrake::bttv to let people configure their tv card if it's
- misdetected
-
- * harddrake/ui.pm: remove uneeded "#!/...", standalone, lib, ... (this is
- a module)
- POSIX is no more used too.
-
- * harddrake/bttv.pm: remove device test: there're only two harddrake::bttv
- users,
- install_steps_interactive.pm and drakxtv which both have already
- tested that a bttv managed tv card is there.
- - add more tv cards
- - enable users to select number of buffers for mmap()
- - better description for pll setting
-
- - add tooltips help for some entries
- tv cards list:
-
- - split multi-cards entries
-
- - reverse the hash (needed since now bttv card types are not
- anymore unique)
-
- - complete the list from various sources
-
- - use a tree to display the list, it's clearer now since it's
- splitted by vendors
-
- - longer message
- - remove uneeded stuff for modules ("#!/..", "use lib..", "use
- standalone", ...)
-
- - simplify bttv options managment:
-
- - use if_, thanks MDK::Common
-
- - s/mapn/map by using a hash at first
-
- - s/mapn{if}/map{if_}
-
- - don't read/write modules.conf here, drakx take care of that for us
-
- thus, the test program became:
-
- #!/usr/bin/perl
-
- use strict;
- use lib qw(/usr/lib/libDrakX);
-
- use standalone;
- use bttv;
- use interactive;
- use modules;
-
- modules::read_conf;
- bttv::config('interactive'->vnew());
- modules::write_conf;
- spec29: bttv configuration part of drakxtv.
- it can be used by:
-
- #!/usr/bin/perl
-
- use strict;
- use lib qw(/usr/lib/libDrakX);
-
- use standalone;
- use harddrake::bttv;
- use interactive;
-
- bttv::config('interactive'->vnew());
-
- * drakxtools.spec: fix typo
- fix dirs1/dirs2 mismatch
- - M-q descriptions
- - simplify file lists building
- - we can use several -f on one "%%files" line
-
- * standalone/drakxtv: if we're root and there's a tv card managed by bttv,
- offer to
- configure bttv trough harddrake::bttv
-
- * tools/cvslog2changelog.pl: typo fix
-
- * harddrake/data.pm: remove uneeded "#!/.." and "use lib"
-
-2002/07/05 François Pons <fpons@mandrakesoft.com>
-
- * Makefile:
- - handle /lib/i686 case
- - replace Mandrake/RPMS with Mandrake/RPMS*
-
-2002/07/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pcmcia/cardmgr.c, mdk-stage1/pcmcia/lex_config.c,
- mdk-stage1/pcmcia/vg468.h, mdk-stage1/pcmcia/cardmgr.h,
- mdk-stage1/pcmcia/bulkmem.h, mdk-stage1/pcmcia/i82365.h,
- mdk-stage1/pcmcia/cirrus.h, mdk-stage1/pcmcia/config.h,
- mdk-stage1/pcmcia/driver_ops.h, mdk-stage1/pcmcia/version.h,
- mdk-stage1/pcmcia/cistpl.h, mdk-stage1/pcmcia/cs.h,
- mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/ds.h,
- mdk-stage1/pcmcia/pcmcia.h, mdk-stage1/pcmcia/cs_types.h,
- mdk-stage1/pcmcia/yacc_config.c, mdk-stage1/pcmcia/tcic.h,
- mdk-stage1/pcmcia/yacc_config.h, mdk-stage1/pcmcia/pcmcia_probe.c:
- pcmcia is now pcmcia_ (it was to begin with a clean branch of unmodified
- sources)
-
-2002/07/05 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: make it work with "use
- strict"
- do not look at the mar files anymore, only use kernel/modules.pl (and so
- list_modules.pm)
-
- * diskdrake/interactive.pm: handle comments in fstab
-
- * fs.pm (merge_info_from_fstab): try to keep options from merged fstab IF
- the entry is for the same mountpoint AND the same device
- handle comments in fstab
-
- * share/rpmsrate: add gnupg in "4 SYSTEM", so that rpm do not *Require*
- gnupg, only suggest it very strongly :)
-
- * mdk-stage1/usb-resource/update-usb-ids.pl:
- - do not use mar files for the list of modules, use list_modules.pm
- via kernel/modules.pl instead
- - use read_pcitable to parse usbtable
-
-2002/07/05 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * harddrake/ui.pm: remove uneeded "#!/...", standalone, lib, ... (this is
- a module)
- POSIX is no more used too.
-
- * drakxtools.spec: fix typo
- fix dirs1/dirs2 mismatch
- - M-q descriptions
- - simplify file lists building
- - we can use several -f on one "%%files" line
- - add preliminary harddrake support
-
- - clean %post
-
- - bump version number
-
- * harddrake/bttv.pm:
- - remove uneeded stuff for modules ("#!/..", "use lib..", "use
- standalone", ...)
- - simplify bttv options managment:
-
- - use if_, thanks MDK::Common
-
- - s/mapn/map by using a hash at first
-
- - s/mapn{if}/map{if_}
-
- - don't read/write modules.conf here, drakx take care of that for us
-
- thus, the test program became:
-
- #!/usr/bin/perl
-
- use strict;
- use lib qw(/usr/lib/libDrakX);
-
- use standalone;
- use bttv;
- use interactive;
- use modules;
-
- modules::read_conf;
- bttv::config('interactive'->vnew());
- modules::write_conf;
- spec29: bttv configuration part of drakxtv.
- it can be used by:
-
- #!/usr/bin/perl
-
- use strict;
- use lib qw(/usr/lib/libDrakX);
-
- use standalone;
- use harddrake::bttv;
- use interactive;
-
- bttv::config('interactive'->vnew());
-
- * Makefile: don't use sed when not needed
-
- * install_steps_interactive.pm: minimize startup: only load
- harddrake::bttv if the user click on "tv
- card" field in the hw summary window
- use harddrake::bttv to let people configure their tv card if it's
- misdetected
-
- * harddrake/data.pm: remove uneeded "#!/.." and "use lib"
-
-2002/07/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_auto_install.pm,
- install2.pm, network/ethernet.pm, network/isdn.pm, commands.pm,
- printerdrake.pm, mouse.pm, network/netconnect.pm, install_any.pm,
- install_steps.pm, detect_devices.pm, bootloader.pm: adapt to new
- modules.pm
-
- * c/stuff.xs.pm: adapt to new ldetect
-
- * modules.pm: reworked, cleaned:
- - the list of modules is moved to kernel/list_modules.pm (and a few
- functions too)
- - new "add_probeall" function (similar to "add_alias")
- -> used for scsi_hostadapter and usb-interface
- - "load_multi" removed in favour of "load" which is now more powerful
- - load_thiskind renamed load_category
- - get_that_type renamed probe_category
- - %modules::drivers dropped (handled for list_modules)
- still more cleanup to come
-
- * rescue/make_rescue_img: adapt to the move all.modules ->
- kernel/all.modules and all.kernels -> kernel/all.kernels
-
- * modparm.pm: rework, cleanup, simplify and make it work
-
- * install2: create symlink list_modules.pm in current directory for
- testing purpose
-
- * Makefile: when building the tar for drakxtools, handle specially
- list_modules.pm
- adapt to the move all.modules -> kernel/all.modules and all.kernels ->
- kernel/all.kernels
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: new directory "kernel"
- containing:
- - all.modules all.kernels update_kernel
- - part of perl-install/modules.pm now in kernel/list_modules.pm and
- kernel/modules.pl
- - update_kernel cleaned (it doesn't mention module names anymore, it
- is now in kernel/modules.pl)
- - cleanup Makefile
- - mdk-stage1 doesn't depend on perl-install anymore
- (more precisely mdk-stage1/pci-resource/update-pci-ids.pl)
-
- * any.pm: reworked & cleaned the kernel modules part
- - adapt to new modules.pm
- - adapt to new modparm.pm
- - renamed setup_thiskind to load_category
- - renamed setup_thiskind_backend to load_category_no_message
-
- * share/po/Makefile: make the "clean" rule less verbose
-
-2002/07/04 daouda
-
- * standalone/draknet:
- - don't display clear password
-
-2002/07/04 fcrozat
-
- * share/rpmsrate: Fix GNOME2 packages
- Install urw-fonts when installing XFree
-
-2002/07/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/fr.po: updated French file
-
- * lang.pm: Changed some languages to defautl to utf-8
- removed X11_NOT_LOCALIZED (now Gnome2 fully supports right-to-left
- languages)
-
-2002/07/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_auto_install.pm,
- install2.pm, network/ethernet.pm, network/isdn.pm, commands.pm,
- printerdrake.pm, mouse.pm, network/netconnect.pm, install_any.pm,
- install_steps.pm, detect_devices.pm, bootloader.pm: adapt to new
- modules.pm
-
- * c/stuff.xs.pm: adapt to new ldetect
-
- * modules.pm: reworked, cleaned:
- - the list of modules is moved to kernel/list_modules.pm (and a few
- functions too)
- - new "add_probeall" function (similar to "add_alias")
- -> used for scsi_hostadapter and usb-interface
- - "load_multi" removed in favour of "load" which is now more powerful
- - load_thiskind renamed load_category
- - get_that_type renamed probe_category
- - %modules::drivers dropped (handled for list_modules)
- still more cleanup to come
-
- * getpkgs_deps, do_resize_fat: removed since unused
-
- * Makefile, rescue/make_rescue_img: adapt to the move all.modules ->
- kernel/all.modules and all.kernels -> kernel/all.kernels
-
- * modparm.pm: rework, cleanup, simplify and make it work
-
- * install2: create symlink list_modules.pm in current directory for
- testing purpose
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: new directory "kernel"
- containing:
- - all.modules all.kernels update_kernel
- - part of perl-install/modules.pm now in kernel/list_modules.pm and
- kernel/modules.pl
- - update_kernel cleaned (it doesn't mention module names anymore, it
- is now in kernel/modules.pl)
- - cleanup Makefile
- - mdk-stage1 doesn't depend on perl-install anymore
- (more precisely mdk-stage1/pci-resource/update-pci-ids.pl)
-
- * tools/specific_arch: simplified using MDK::Common
-
- * any.pm: reworked & cleaned the kernel modules part
- - adapt to new modules.pm
- - adapt to new modparm.pm
- - renamed setup_thiskind to load_category
- - renamed setup_thiskind_backend to load_category_no_message
-
- * share/po/Makefile: make the "clean" rule less verbose
-
-2002/07/04 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * harddrake/TODO: add harddrake2 todo list
-
- * harddrake/data.pm: get rid of 'use vars'
- remove wait_message hack for printerdraker, better use class_discard
- harddrake2: "the return of the vengeance son"
- - harddrake/data.pm: the data structure
- - harddrake/ui.pm: the ui code
-
- - standalone/service_harddrake: the init.d service (which need a few
- polishing (timeout, ...)
-
- - standalone/harddrake2: the ui caller which need to be dadou/ln -fied
-
- * harddrake/ui.pm: don't stack signals on config buttons
- - remove no more used @pid_launched
- - better GUI reactivity: don't wait for config tool to complete, just
- "fork and forget" [(c) us air force] and refuse to run another
- config tool until the first one to complete
- print "Running $configurator ..." in status bar while running a config
- tool
- - POSIX is needed for POSIX::wait
- - move strict and standalone require at top
-
- - c is unused
-
- - comment exceptions in devices loop (ie skip classes without any
- devices or any detector
-
- - optimize away $pid
- fix move from harddrake.pm to harddrake/data.pm:
-
- - menu does appear
-
- - information fields are translated from raw to english again
- harddrake2: "the return of the vengeance son"
-
- - harddrake/data.pm: the data structure
-
- - harddrake/ui.pm: the ui code
-
- - standalone/service_harddrake: the init.d service (which need a few
- polishing (timeout, ...)
-
- - standalone/harddrake2: the ui caller which need to be dadou/ln -fied
-
- * detect_devices.pm: add tapes() for harddrake2
-
- * standalone/harddrake2, standalone/service_harddrake: harddrake2: "the
- return of the vengeance son"
- - harddrake/data.pm: the data structure
- - harddrake/ui.pm: the ui code
-
- - standalone/service_harddrake: the init.d service (which need a few
- polishing (timeout, ...)
-
- - standalone/harddrake2: the ui caller which need to be dadou/ln -fied
-
-2002/07/03 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/probing.c: fixed static definition when non static
- declaration (gcc limitation).
- added conditional code around network detection.
-
-2002/07/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mar/mar-extract-only.c, mdk-stage1/minilibc.c,
- mdk-stage1/newt/newt.c, mdk-stage1/bzlib/bzlib.c,
- mdk-stage1/newt/listbox.c, mdk-stage1/newt-frontend.c,
- mdk-stage1/disk.c, mdk-stage1/modules.c, mdk-stage1/stage1.c,
- mdk-stage1/newt/checkboxtree.c, mdk-stage1/mar/mar-frontend.c,
- mdk-stage1/Makefile.common, mdk-stage1/url.c, mdk-stage1/newt/textbox.c,
- mdk-stage1/newt/grid.c, mdk-stage1/dhcp.c, mdk-stage1/init.c,
- mdk-stage1/automatic.c, mdk-stage1/newt/entry.c: compile with -W
-
-2002/07/02 daouda
-
- * my_gtk.pm:
- - fill a combo by default :
- gtkcombo_setpopdown_strings($combo_widget,@strings)
-
-2002/07/02 gbeauchesne
-
- * c/smp.c:
- - TODO: Update ia64 check with /proc/pal/cpuX ?
- - TODO: Update x86_64 check when SMP machines are actually available
- - Conditionalize compilation of main() with TEST macro
-
-2002/07/02 Pixel <pixel@mandrakesoft.com>
-
- * network/smb.pm: try harder to find the full list of servers available,
- using "smbclient -L" to
- check the workgroup masters
-
-2002/07/01 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm (raw_hd_mount_point): nicer default mount point
-
-2002/06/28 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm, network/smb.pm, network/smbnfs.pm:
- - add authentification in diskdrake --smb (esp. for windows NT)
- - use "credentials=" to put the passwords
- (ideas and investigations from Stew Benedict,
- integrated by Pixel, but need testing)
- Known bug: if you want to change the password when there are 2 entries
- in fstab
- using the same username=/password=, writing the credentials is done in
- random order,
- => you've got one chance in 2 that the password is changed :-(
-
- * fs.pm:
- - add authentification in diskdrake --smb (esp. for windows NT)
- - use "credentials=" to put the passwords
- (ideas and investigations from Stew Benedict,
- integrated by Pixel, but need testing)
- Known bug: if you want to change the password when there are 2 entries
- in fstab
- using the same username=/password=, writing the credentials is done in
- random order,
- => you've got one chance in 2 that the password is changed :-(
- handle spaces in mount points and devices (using \040)
-
-2002/06/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakTermServ, standalone/icons/drakTS.620x57.png: Add
- drakTermServ application and icon.
-
-2002/06/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, install2.pm: ensure
- licence step is asked in any case (ie. even when selectLanguage is
- automatic)
-
- * any.pm: "my" variables where needed
-
-2002/06/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po, share/po/ar.po: Updated po files
-
-2002/06/19 Frederic Lepied <flepied@mandrakesoft.com>
-
- * Makefile: corrected rules to make distributable rpms.
-
-2002/06/19 François Pons <fpons@mandrakesoft.com>
-
- * patch/patch-oem-hp.pl: added patch-oem.pl file used to generate HP
- Mandrake Linux 8.2.
-
-2002/06/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: remove a few drivers so that hd.img and network.img are
- possible with latest BOOT kernel
-
-2002/06/19 Pixel <pixel@mandrakesoft.com>
-
- * standalone/fileshareset: use "wide links = no" for exporting via samba
- (thanks to Jan Schäfer)
-
- * fs.pm: mounting of ntfs after install really mount the partition (thanks
- to Buchan Milne)
-
-2002/06/18 daouda
-
- * my_gtk.pm:
- - add gtkset_text, gtkprepend_text, gtkappend_text for entry widgets
-
-2002/06/18 Frederic Lepied <flepied@mandrakesoft.com>
-
- * Makefile.drakxtools: manage security subdir.
-
- * Makefile: added targets to build test and distribution rpms and srpms
- (localrpm,
- localsrpm, rpm, srpm).
- added security to the installed directories
-
- * pam.net_monitor, diskdrake/diskdrake.html, drakxtools.spec,
- apps.net_monitor: ripped from the srpm
-
-2002/06/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
-2002/06/17 cbelisle
-
- * standalone/draksec: added server, user and network advanced options
-
- * any.pm: draksec: customize entries for each options (lists, checkboxes
- and text boxes)
- Added user,server and network advanced options
-
- * security/msec.pm:
- - Customize entries for each options (checkboxes, text boxes and
- lists)
- added network, server and user advanced options
-
-2002/06/15 alus
-
- * share/po/pl.po: updates
-
-2002/06/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Catalan doesn't have French fallback anymore
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/mt.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/06/11 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: added /tmp in @suggestions_mntpoints (as suggested by
- Philippe Coulon)
-
-2002/06/10 cbelisle
-
- * standalone/draksec: Add an entry for the security user email
-
- * security/msec.pm: Initial commit
-
- * any.pm: Add security user email entry in draksec
-
-2002/06/10 daouda
-
- * network/tools.pm:
- - choose country according to timezone.
-
-2002/06/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/syncrpms: english fix
-
-2002/06/10 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm: s/class/class_/ for ldetect 0.4
-
-2002/06/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * timezone.pm: remove duplicate entry in ntp_servers
-
- * interactive_gtk.pm, my_gtk.pm: split ask_browse_tree_info from
- interactive_gtk
- to my_gtk between widgets creation and real
- stuff so that we can now call it with widgets
- places differently
-
-2002/06/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated po file
-
-2002/06/05 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: adapt to new lilo
-
-2002/06/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: use -ff for mkreiserfs, do not use -q for mkreiserfs
-
- * bootloader.pm: adapt to new lilo
-
-2002/06/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: use -ff for mkreiserfs, do not use -q for mkreiserfs
-
-2002/06/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, install_steps_interactive.pm, any.pm,
- install_steps_gtk.pm, mdk-stage1/network.c, mdk-stage1/disk.c: english
- fixes thx to vincent meyer
-
-2002/06/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: have the /root/drakx/auto_install.cfg.pl replay style
- instead of weird style
- with clearall unset & auto_allocate set
-
-2002/05/29 alus
-
- * share/po/pl.po: little fixes
-
-2002/05/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive_gtk.pm: remove typo fix when it's not a fix :-)
- small typo
- remove typo (hopefully really a typo ;p)
-
- * any.pm: be a bit more polite
-
-2002/05/27 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: make sure patch is always read after defcfg to take
- precedance.
-
-2002/05/27 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: have usb-interface1 for ehci-hcd
-
-2002/05/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * Xconfigurator.pm: dams fixes a bug in the install :-)
-
-2002/05/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: xtraceroute needs 3d
-
-2002/05/15 alus
-
- * share/po/Changelog: info about polish translation
-
-2002/05/14 alus
-
- * share/po/pl.po: polish finished
- updated polish translation
- polish updated to near finished. Fuzzy removed and checked
-
-2002/05/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * docs/HACKING: libncurses* also for the sucking neuneux
-
-2002/05/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po, share/po/id.po: updated po file
-
-2002/05/13 alus
-
- * share/po/pl.po: mostly finished polish translation.!!
-
-2002/05/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * docs/HACKING: libbzip2* and more explanations about failing compilation
-
- * mdk-stage1/Makefile, mdk-stage1/ppp/pppd/ipcp.c, mdk-stage1/probing.c:
- adapt to gcc-3.1
-
-2002/05/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Put back xcin as default XIM for zh_TW.Big5
-
- * share/po/eu.po: small corrections
-
-2002/04/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/usb-resource/update-usb-ids.pl: support USB2 controllers as
- well
-
-2002/04/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/hu.po: updated po files
-
-2002/04/26 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed some machine with two present i830 CGC but only
- one in reality.
-
- * detect_devices.pm: updated usbMice to take care of device declared as
- Mouse:USB in usbtable (was
- not the case !)
-
-2002/04/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/mt.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/04/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * bootlook.pm: a few english fixes
-
- * any.pm: fixes
- english fixes from v meyer
- a few english fixes thx to vincent meyer
-
-2002/04/19 alus
-
- * share/po/pl.po: It's only about 100 entries to the end
-
-2002/04/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
- * share/po/hu.po: updated po file
-
-2002/04/18 alus
-
- * share/po/pl.po: 3 more long messages
- one entry
- stil working....
-
-2002/04/17 alus
-
- * share/po/pl.po: Mostly finished polish translation
- translations, fixes etc...
-
-2002/04/17 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: final candidate.
-
- * rescue/tree/etc/oem: final candidate.
- add gcc-cpp to oem install.
-
-2002/04/16 alus
-
- * share/po/pl.po: still working
- Few fixes
- Updated translation. Many strings is not yet translated...
-
-2002/04/16 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: sync with oem-prepare
- fixed stupid error.
- forget packdrake module invocation.
- fixed to support non standard rpm filename.
-
- * tools/oem-prepare: add gcc-cpp to always installed.
- disable unselection of some package (gmc, all gcc3.0 stuff).
-
-2002/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: only main version of automake
-
-2002/04/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated po file
-
-2002/04/16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: handle "Cancel" on NIS / LDAP server
- dialog box
-
-2002/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: ipchains now conflicts with iptables
-
-2002/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: Another small fix
- Small corrections
-
-2002/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po: merged with drakfloppy strings
-
-2002/04/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/mt.po: updated Maltese file
-
-2002/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: small typo correction
-
-2002/04/10 warly
-
- * share/rpmsrate: autofs -> 2
-
-2002/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: time to remove ipchains/2.2 stuff since now ipchains
- and iptables
- packages conflict
-
-2002/04/09 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_dos.pm, partition_table_gpt.pm,
- partition_table_empty.pm, partition_table_bsd.pm,
- partition_table_sun.pm, partition_table_mac.pm: nicer debug "bag magic"
- error message (thanks to Brian J. Murrell)
-
-2002/04/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fixed a bunch of things
-
- * install_steps_interactive.pm, install_interactive.pm, network/isdn.pm,
- partition_table.pm, install_steps_gtk.pm, Xconfigurator.pm,
- printerdrake.pm, network/tools.pm, diskdrake/interactive.pm,
- network/netconnect.pm, fsedit.pm, diskdrake/removable_gtk.pm,
- network/network.pm, printer.pm, interactive_stdio.pm: fix a few english
- strings
-
-2002/04/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/mt.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: merged with
- drakfloppy strings
-
-2002/04/07 Yves Duret <yduret@mandrakesoft.com>
-
- * standalone/drakfloppy: moving from his own rpm to drakxtools
-
- * Makefile.config: add drakfloppy to STANDALONEPMS_
-
-2002/04/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/Makefile.PL: rpmlib 4.0.4 now also needs libpopt
-
-2002/04/04 sdupont
-
- * standalone/drakbackup: please yduret, do not commit these changes on cvs
- before to test it.
- you can say "bugs fixes" only if you have corrected some errors but not
- if you create it!
- the backup on cd was disabled because the backend is not available for
- moment.
-
- * standalone/drakfont: remove uninteresting yduret changes,
- would it be possible to know what are your "bugs fixies" ?
- to yduret: I'm the creator of this program so please do not remove my
- changes.
-
-2002/06/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: use -ff for mkreiserfs, do not use -q for mkreiserfs
-
-2002/06/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, install_steps_interactive.pm, any.pm,
- install_steps_gtk.pm, mdk-stage1/network.c, mdk-stage1/disk.c: english
- fixes thx to vincent meyer
-
-2002/06/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: have the /root/drakx/auto_install.cfg.pl replay style
- instead of weird style
- with clearall unset & auto_allocate set
-
-2002/05/29 alus
-
- * share/po/pl.po: little fixes
-
-2002/05/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive_gtk.pm: remove typo fix when it's not a fix :-)
- small typo
- remove typo (hopefully really a typo ;p)
-
- * any.pm: be a bit more polite
-
-2002/05/27 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: make sure patch is always read after defcfg to take
- precedance.
-
-2002/05/27 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: have usb-interface1 for ehci-hcd
-
-2002/05/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * Xconfigurator.pm: dams fixes a bug in the install :-)
-
-2002/05/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: xtraceroute needs 3d
-
-2002/05/15 alus
-
- * share/po/Changelog: info about polish translation
-
-2002/05/14 alus
-
- * share/po/pl.po: polish finished
- updated polish translation
- polish updated to near finished. Fuzzy removed and checked
-
-2002/05/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * docs/HACKING: libncurses* also for the sucking neuneux
-
-2002/05/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po, share/po/id.po: updated po file
-
-2002/05/13 alus
-
- * share/po/pl.po: mostly finished polish translation.!!
-
-2002/05/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * docs/HACKING: libbzip2* and more explanations about failing compilation
-
- * mdk-stage1/Makefile, mdk-stage1/probing.c: adapt to gcc-3.1
-
-2002/05/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Put back xcin as default XIM for zh_TW.Big5
-
- * share/po/eu.po: small corrections
-
-2002/04/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/hu.po: updated po files
-
-2002/04/26 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed some machine with two present i830 CGC but only
- one in reality.
-
- * detect_devices.pm: updated usbMice to take care of device declared as
- Mouse:USB in usbtable (was
- not the case !)
-
-2002/04/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/mt.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/04/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * bootlook.pm: a few english fixes
-
- * any.pm: fixes
- english fixes from v meyer
- a few english fixes thx to vincent meyer
-
-2002/04/19 alus
-
- * share/po/pl.po: It's only about 100 entries to the end
-
-2002/04/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
- * share/po/hu.po: updated po file
-
-2002/04/18 alus
-
- * share/po/pl.po: 3 more long messages
- one entry
- stil working....
-
-2002/04/17 alus
-
- * share/po/pl.po: Mostly finished polish translation
- translations, fixes etc...
-
-2002/04/16 alus
-
- * share/po/pl.po: still working
- Few fixes
- Updated translation. Many strings is not yet translated...
-
-2002/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: only main version of automake
-
-2002/04/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated po file
-
-2002/04/16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: handle "Cancel" on NIS / LDAP server
- dialog box
-
-2002/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: ipchains now conflicts with iptables
-
-2002/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: Another small fix
- Small corrections
-
-2002/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ro.po: merged with drakfloppy strings
-
-2002/04/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/mt.po: updated Maltese file
-
-2002/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: small typo correction
-
-2002/04/10 warly
-
- * share/rpmsrate: autofs -> 2
-
-2002/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: time to remove ipchains/2.2 stuff since now ipchains
- and iptables
- packages conflict
-
-2002/04/09 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_dos.pm, partition_table_gpt.pm,
- partition_table_empty.pm, partition_table_bsd.pm,
- partition_table_sun.pm, partition_table_mac.pm: nicer debug "bag magic"
- error message (thanks to Brian J. Murrell)
-
-2002/04/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fixed a bunch of things
-
- * install_steps_interactive.pm, install_interactive.pm, network/isdn.pm,
- partition_table.pm, install_steps_gtk.pm, Xconfigurator.pm,
- printerdrake.pm, network/tools.pm, diskdrake/interactive.pm,
- network/netconnect.pm, fsedit.pm, diskdrake/removable_gtk.pm,
- network/network.pm, printer.pm, interactive_stdio.pm: fix a few english
- strings
-
-2002/04/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/mt.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: merged with
- drakfloppy strings
-
-2002/04/07 Yves Duret <yduret@mandrakesoft.com>
-
- * standalone/drakfloppy: moving from his own rpm to drakxtools
-
- * Makefile.config: add drakfloppy to STANDALONEPMS_
-
-2002/04/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/Makefile.PL: rpmlib 4.0.4 now also needs libpopt
-
-2002/04/04 sdupont
-
- * standalone/drakbackup: please yduret, do not commit these changes on cvs
- before to test it.
- you can say "bugs fixes" only if you have corrected some errors but not
- if you create it!
- the backup on cd was disabled because the backend is not available for
- moment.
-
- * standalone/drakfont: remove uninteresting yduret changes,
- would it be possible to know what are your "bugs fixies" ?
- to yduret: I'm the creator of this program so please do not remove my
- changes.
-
-2002/04/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/Makefile.PL: rpmlib 4.0.4 now also needs libpopt
-
-2002/04/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * c/Makefile.PL: rpmlib 4.0.4 now also needs libpopt
-
-2002/04/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: setting /etc/sysconfig/msec for chkconfig which
- doesn't use $ENV{SECURE_LEVEL} anymore
-
-2002/04/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: setting /etc/sysconfig/msec for chkconfig which
- doesn't use $ENV{SECURE_LEVEL} anymore
-
-2002/04/02 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: do not have "root=" with no root (needed for memtest)
- (thanks to Borsenkow Andrej)
-
- * share/rpmsrate: add tmpwatch (since it is not mandatory any more)
-
-2002/03/30 Yves Duret <yduret@mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakfont: bugs fixes, code clean up,
- more mdkish..
-
-2002/03/26 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Fixed several problems related to HP
- multi-function devices:
- - Parallel multi-function devices worked only on the first (onboard)
- parallel
- port.
- - HP LaserJet 2200 needs HPOJ for printing via USB.
- - For the HP OfficeJet D series the scanning instructions were not
- shown.
- - HPOJ does not work with HP PhotoSmart 10xx, 11xx, and 12xx.
-
-2002/03/22 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: cleaned gtkpowerpack
-
-2002/03/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: use /root rather than /tmp for some temp files (security
- suxx)
-
-2002/03/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/list: rpm 4.0.4
-
- * mdk-stage1/network.c: don't save DHCP_HOSTNAME if the value is void
-
-2002/03/20 sdupont
-
- * standalone/drakfont: fixing problems
- exchanging: ttmkfdir by /usr/X11R6/bin/mkttfdir
- which generate correct fonts.dir
-
- * standalone/drakbackup: remove backup on cd
-
-2002/03/20 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * standalone/drakxtv: use log for what is not related to explanations
-
-2002/03/19 François Pons <fpons@mandrakesoft.com>
-
- * tools/updatehdlist: take care of commercial medium (not syncable).
-
-2002/03/19 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * standalone/drakxtv:
- - default tv norm is pal rather than ntsc (because of alphabetical
- sort) since it's the most used tv norm
- - figure out tv norm & country (aka frequency table) from locales
-
- - add a hash based on lang in order to do this
-
- - add --no-guess if one doesn't want drakxtv to automagically guess tv
- norm and geographic area through locales (lang.pm)
-
- - log with standalone::explanations:
-
- - guessed values from locales: language, tv norm and country
-
- - runned command to scan for tv channels
-
- - ~/.xawtv creation
-
-
- - s/bcast/broadcast/ in displayed messages
-
- - add -h and --help support
-
-2002/03/18 dam's <damien@mandrakesoft.com>
-
- * install_gtk.pm, mouse.pm, my_gtk.pm: corrected create_xpm API
-
-2002/03/18 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: fixed to support rpm filename incoherent to standard
- naming for commercial
- packages (commercial are *really* shit (almost, for the hope) all the
- time ?)
-
-2002/03/16 dam's <damien@mandrakesoft.com>
-
- * network/ethernet.pm: we now consider dhcp provide GATEWAY and internet
- connection.
-
-2002/03/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/ar.po: updated po file
-
-2002/03/16 Pixel <pixel@mandrakesoft.com>
-
- * network/ethernet.pm: small cleanup on untested code (need testing:)
-
-2002/03/16 dam's <damien@mandrakesoft.com>
-
- * network/ethernet.pm: we now consider dhcp provide GATEWAY and internet
- connection.
-
-2002/03/16 Pixel <pixel@mandrakesoft.com>
-
- * network/ethernet.pm: small cleanup on untested code (need testing:)
-
-2002/03/15 fabman
-
- * share/po/es.po: updated bad lilo/grub/yaboot translation
- updated spanish translations
-
-2002/03/15 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: force mkinitrd *really* for bootsplash.
- force initrd regeneration for oem on some case (maybe the cause of
- bootsplash
- perturbation, as maintainer don't even known why it is running correctly
- :-)
-
- * pkgs.pm: do not try to get synthesis if hdlist is available as an handle
- on file (typical
- for updates).
-
- * share/rpmsrate: remove doublon on NVIDIA_nforce.
- update to 6mdk for NVIDIA_nforce*
-
-2002/03/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: yet again add some dropped entities from drakx-help.xml
- add the dropped &linux-mandrake; &mandrake-linux; and a few &os-linux;
-
- * install_steps_interactive.pm:
- - remove obsolete code
- - the result is to use directly $availableC instead $size2install
- which was min($availableC, $max_size)
-
-2002/03/15 dam's <damien@mandrakesoft.com>
-
- * share/po/ja.po: reverted ' \n' from pablo because I managed to correct
- the way we wrap for the advertising
-
- * install_steps_gtk.pm: submitting widget instead of style (style/font
- initialization bug from gtk
-
- * my_gtk.pm: corrected get_text_coord : widget instead of style, and
- handling of ugly language (/ja|zh/)
-
-2002/03/15 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: do not try to get synthesis if hdlist is available as an handle
- on file (typical
- for updates).
-
- * rescue/tree/etc/oem: update lang according to lang.pm of 8.2 (remove
- @euro appended for 8.1).
-
-2002/03/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: added xx_YY -> keyboard lines in addition of xx -> keyboard
- ones
-
-2002/03/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: yet again add some dropped entities from drakx-help.xml
- add the dropped &linux-mandrake; &mandrake-linux; and a few &os-linux;
- s/Linux Mandrake/Mandrake Linux/ (from the drakx-help.xml not merged)
-
- * keyboard.pm (unpack_keyboards): return undef on error
-
-2002/03/15 dam's <damien@mandrakesoft.com>
-
- * share/po/ja.po: reverted ' \n' from pablo because I managed to correct
- the way we wrap for the advertising
-
- * install_steps_gtk.pm: submitting widget instead of style (style/font
- initialization bug from gtk
-
- * my_gtk.pm: corrected get_text_coord : widget instead of style, and
- handling of ugly language (/ja|zh/)
-
-2002/03/15 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: update lang according to lang.pm of 8.2 (remove
- @euro appended for 8.1).
-
-2002/03/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: added xx_YY -> keyboard lines in addition of xx -> keyboard
- ones
-
-2002/03/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: s/Linux Mandrake/Mandrake Linux/ (from the
- drakx-help.xml not merged)
-
- * keyboard.pm (unpack_keyboards): return undef on error
-
-2002/03/15 dam's <damien@mandrakesoft.com>
-
- * share/po/ja.po: reverted ' \n' from pablo because I managed to correct
- the way we wrap for the advertising
-
- * install_steps_gtk.pm: submitting widget instead of style (style/font
- initialization bug from gtk
-
- * my_gtk.pm: corrected get_text_coord : widget instead of style, and
- handling of ugly language (/ja|zh/)
-
-2002/03/15 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: update lang according to lang.pm of 8.2 (remove
- @euro appended for 8.1).
-
-2002/03/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: added xx_YY -> keyboard lines in addition of xx -> keyboard
- ones
-
-2002/03/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: s/Linux Mandrake/Mandrake Linux/ (from the
- drakx-help.xml not merged)
-
- * keyboard.pm (unpack_keyboards): return undef on error
-
-2002/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po: updated po file
-
-2002/03/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakxtv: english
-
-2002/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/da.po, share/po/no.po: updated po files
-
- * share/po/eu.po: updated po file
-
- * lang.pm: changed LANGUAGE for basque
-
- * share/po/ja.po: added \n in advertising
-
-2002/03/14 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: CHARSET"iso-8859-1" and CHARSET"iso-8859-15" is no good
- for english which has CHARSET"C", adding it
-
- * share/rpmsrate.server: obsolete
-
-2002/03/14 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * standalone/drakxtv:
- - add SECAM to france description to ease user comprehension
- - remove unused variables
- - revert gc & dam's (also known as the usual suckers) garbage
- who'ven't the hardware to test:
-
- - explain in source why we don't try to install xawtv (see below)
-
- - just display a message if xawtv isn't installed
- since drakx should have installed it
-
- - let it be runned as root again (how many times i'm
- supposed to restore this behaviour)
-
- - retest with a tv card
-
- - use %ENV rather than relying on shell ~ expansion
-
- - if tv card wasn't detected, ask the user to spam us
-
- - factorize $in->exit() out of scan4tvchannels()
-
- - add to TODO list the possibility to install xawtv if needed
-
- - check scantv return value and display an error message
-
- - also if the wrapper was runned on console, display a nice
- message saying one can now run xawtv under X11
-
-2002/03/14 warly
-
- * share/rpmsrate: add commercial apps
-
-2002/03/14 Yves Duret <yduret@mandrakesoft.com>
-
- * standalone/logdrake: fix some bug
- fix * bug in field matching/ not matching
-
-2002/03/13 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: new gfx
-
-2002/03/13 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: sync with oem (removed mach32 server).
- sync with oem.
- remove bzflag.
- synced with oem script.
-
- * rescue/tree/etc/oem: remove Mach32 XF3.3.6 server too.
- remove Mach8 and Mono driver for oem only.
- remove bzflag.
- fixed closure selection on sub groups (like 3D),
- moved some big package out of oem,
- minor fixes.
-
-2002/03/13 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: new gfx
-
-2002/03/13 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: sync with oem (removed mach32 server).
- sync with oem.
- remove bzflag.
- synced with oem script.
-
- * rescue/tree/etc/oem: remove Mach32 XF3.3.6 server too.
- remove Mach8 and Mono driver for oem only.
- remove bzflag.
- fixed closure selection on sub groups (like 3D),
- moved some big package out of oem,
- minor fixes.
-
-2002/03/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po, share/po/eu.po: updated po files
-
-2002/03/13 warly
-
- * share/rpmsrate: add aspell-fr and en for gabber require
-
-2002/03/13 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed closure selection on sub groups (like 3D),
- moved some big package out of oem,
- minor fixes.
-
- * tools/oem-prepare: synced with oem script.
-
-2002/03/13 gbeauchesne
-
- * share/rpmsrate:
- - Add openoffice with weight = 2
-
-2002/03/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po, share/po/vi.po, share/po/cs.po, share/po/hu.po,
- share/po/eu.po: updated po files
-
- * lang.pm: small console font changes
- set default console fotns for latin1/0 to lat1-16 and lat0-16;
- the font lat0-sun16 is missing some chars of iso-8859-1/15 !
-
-2002/03/13 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: add gcc and gcc-c++ in @preferred
-
-2002/03/13 warly
-
- * share/rpmsrate: add aspell-fr and en for gabber require
-
-2002/03/12 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: onboot option only in expert mode
- corrected domainname bug; added onboot option
-
-2002/03/12 dam's <damien@mandrakesoft.com>
-
- * standalone/drakbackup, standalone/drakfont: minor bug correction
-
- * standalone/net_monitor: greater timeout
-
- * network/tools.pm, network/netconnect.pm: changed timeout for testing
- internet connection
-
-2002/03/12 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: remove synthesis if not found (filesize is 0)
-
- * Xconfigurator.pm: avoid Utah GLX only if > 800MB, not if <= 800MB (!)
-
- * install_any.pm: added fix to support update hdlist renaming (ie hdlist
- of update are always hdlist.cz).
- remove old synthesis file, to make sure gzip can build a new one.
-
- * share/rpmsrate: added nforce support (hack by adding kernel version
- inside)
-
-2002/03/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
- * share/po/ga.po: fixed email address
-
- * share/po/zh_TW.po: updated po file
-
-2002/03/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, bootloader.pm: don't have "quiet" boot in the server
- meta_class
-
- * pkgs.pm: "fam" is not a naughtyServers
- remove the old "boa" comment
- adapt naughtyServers for 8.2
-
-2002/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: a few missing translations
-
-2002/03/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt.po, share/po/ga.po, share/po/de.po, share/po/az.po,
- share/po/pt_BR.po, share/po/nl.po, share/po/ja.po, share/po/id.po,
- share/po/ar.po, share/po/mt.po, share/po/eo.po, share/po/da.po: updated
- po files
-
- * share/po/eu.po, share/po/it.po: updated po files
- merged with new strings from manuals
-
- * share/po/DrakX.pot, share/po/fr.po: merged with new strings from manuals
-
- * share/po/be.po, share/po/bg.po, share/po/et.po, share/po/hr.po,
- share/po/ko.po, share/po/is.po, share/po/pl.po, share/po/no.po,
- share/po/fi.po, share/po/el.po, share/po/lt.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/bs.po,
- share/po/cs.po, share/po/af.po: updated po files (finished merging with
- manual strings)
- updated po files
-
- * share/po/hu.po: updated po files
- updated po files
-
- * share/po/cy.po: updated po file
- updated po files
-
- * share/po/es.po: updated Spanish
-
- * share/po/sp.po, share/po/zh_CN.po, share/po/sr.po, share/po/tr.po,
- share/po/ru.po, share/po/wa.po, share/po/sv.po, share/po/th.po,
- share/po/sk.po, share/po/sl.po, share/po/vi.po, share/po/uk.po,
- share/po/ro.po, share/po/zh_TW.po: updated po files (finished merging
- with manual strings)
-
-2002/03/11 dam's <damien@mandrakesoft.com>
-
- * Makefile.config: added drakproxy
-
- * standalone/drakxtv: added embedded mode
-
-2002/03/11 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: for updates, make tree as flat instead in order to
- see all packages.
-
-2002/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: webmin: 3
-
- * standalone/drakxtv:
- - install xawtv when necessary instead of
- telling people to use urpmi (titi sucks)
- - prints out a message when no tv card
- has been detected
-
- * share/po/fr.po: small ortograf
-
-2002/03/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po, share/po/it.po, share/po/eu.po: merged with new strings
- from manuals
-
- * share/po/DrakX.pot: merged with new strings from manuals
- updated GErman file
-
- * share/po/de.po: updated GErman file
-
- * share/po/es.po: updated Spanish
-
-2002/03/11 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (fullname2mouse): workaround when "1 Button" is not found
-
- * install_steps.pm, install2.pm:
- - default security level now set in miscellaneousBefore
- - default security level is 3 in meta_class server
-
- * install_any.pm:
- - fix the setting of compssUsersChoices in auto_install when it is
- empty
- - set the default compssUsersChoices adapted to the server meta_class
-
- * share/rpmsrate: remove phpgroupware from OFFICE (since it appeas twice,
- the rate is 4, and it requires apache, and ...)
-
- * Makefile: upload the various compssUsers* (esp. compssUsers.server)
-
- * install_steps_gtk.pm:
- - remove the hack for not displaying Utilities in classic meta_class
- - new compssUsers groups for the server meta_class
-
- * share/compssUsers: remove "Utilities" here instead of removing it
- hackily in install_steps_gtk
-
- * share/compssUsers.server: fix the path=Utilities for the Utilities
- section
-
-2002/03/11 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Small text fix.
- Security fix: Give a warning that SMB passwords can easily be revealed
- by normal users when printing on a Windows-hosted printer is set up.
-
- * detect_devices.pm: Reverted parts of the last change, they broke in
- non-DevFS environments (e. g. during installation).
-
-2002/03/11 warly
-
- * share/rpmsrate: add bwbserver_linux in rpmsate for BeeWeb server
-
- * share/compssUsers.server: remove ICEWM choice
-
-2002/03/11 Yves Duret <yduret@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: added yduret entry in user.
-
-2002/03/11 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: add Rage Mobility as bad card for XF4 (was already bad
- card for XF3) (gégé report).
-
-2002/03/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help file
-
- * share/po/de.po, share/po/DrakX.pot: updated GErman file
-
-2002/03/11 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm (Mount_point): when files exist in the chosen
- mount point, propose migration
-
- * install_steps_interactive.pm: search /commercial/i instead of
- /Application/ before showing the commercial license
-
- * standalone/drakboot, bootloader.pm: fix Stew sucks
-
- * install2.pm, install_steps.pm:
- - default security level now set in miscellaneousBefore
- - default security level is 3 in meta_class server
-
- * install_steps_gtk.pm:
- - remove the hack for not displaying Utilities in classic meta_class
- - new compssUsers groups for the server meta_class
- search /commercial/i instead of /Application/ before showing the
- commercial license
-
- * install_any.pm:
- - fix the setting of compssUsersChoices in auto_install when it is
- empty
- - set the default compssUsersChoices adapted to the server meta_class
-
- * Makefile: upload the various compssUsers* (esp. compssUsers.server)
-
- * share/compssUsers: remove "Utilities" here instead of removing it
- hackily in install_steps_gtk
-
- * share/compssUsers.server: fix the path=Utilities for the Utilities
- section
-
-2002/03/11 yduret
-
- * standalone/scannerdrake: re-re-re-re-re-re-uncomment the pkgs check
- line.
-
-2002/03/10 chipaux
-
- * share/po/fr.po: Corrected few typo mistakes.
-
-2002/03/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps.pm: gcize damienization
-
- * share/rpmsrate: put userdrake together with drakconf so that
- userdrake is not missing (till)
-
-2002/03/10 siegel
-
- * share/po/help_xml2pm.pl: added tag filename
-
- * any.pm: added missing i18n _()
-
- * share/po/de.po: update
- and still fixes ...
- updates
- update
-
-2002/03/10 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Protect the Star Office/OpenOffice.org configuration against
- manual changing of the "update-alternatives" assignment of the "lpr"
- command.
-
- * detect_devices.pm: Made USB printer auto-detection more stable and
- reliable.
-
-2002/03/10 yduret
-
- * standalone/scannerdrake: added ASK DEVICE support
-
- * scanner.pm: added ASK support for more interactiveness during
- configuration
-
-2002/03/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: comply better to ClientID stuff
-
-2002/03/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated po file
-
-2002/03/09 yduret
-
- * standalone/scannerdrake: added sum up at the end
- uncomment line that checks if sane rpm is installed or not (thx gc).
- i sux,
-
-2002/03/08 dam's <damien@mandrakesoft.com>
-
- * standalone/drakproxy: drakproxy rewritten
- working drakproxy
-
- * install_steps.pm: corrected network up/down when network install
-
- * standalone/drakfont: ergonomy changed to fit in mcc
- corrected network up/down when network install
-
- * network/network.pm: proxy settings corrected
-
-2002/03/08 fabman
-
- * share/po/es.po: updated spanish translation
-
-2002/03/08 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed allowNVIDIA_rpms to take care of new kernel naming
- conventions.
-
- * standalone/XFdrake: fixed NVIDIA support to use newer kernel naming
- conventions.
-
- * Xconfigurator.pm: fixed possible additional XFree packages not installed
- if server is already
- installed.
-
-2002/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: missing translations + a few changes
-
- * mdk-stage1/probing.c: have 4 seconds of delay for usb stuff
- to show up rather than seconds
-
-2002/03/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po, share/po/it.po: updated po files
-
- * share/po/es.po: corrected typo
-
- * share/po/da.po: updated Danish file
-
- * lang.pm, share/locales-skeleton.tar.bz2: Added symlinks in
- locales-skeleton so non primary chinese encodings
- can work
-
- * share/po/ar.po: updated po file
-
- * share/po/cy.po: removed the "translation" of licence, it was random
- text.
-
-2002/03/07 dam's <damien@mandrakesoft.com>
-
- * share/po/fr.po, modparm.pm: corrected
-
-2002/03/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/newt-frontend.c: english fix thx to till & phil
-
-2002/03/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po: updated po file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2002/03/07 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: removing quota choices for reiserfs
-
-2002/03/07 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: make gc happy
-
- * modparm.pm, share/po/fr.po: corrected
-
- * standalone/draknet: corrected network/internet restart when already
- connected
-
- * network/netconnect.pm: corrected bad previous behaviour
-
- * standalone/drakfont: corrected bad system command
-
- * share/advertising/02-internet_icon.png,
- share/advertising/05-contcenter_icon.png,
- share/advertising/10-MDKexpert_icon.png, share/advertising/06-user.pl,
- share/advertising/08-games.pl, share/advertising/02-internet.pl,
- share/advertising/03-graphic_icon.png, share/advertising/07-server.pl,
- share/advertising/12-MDKstore_icon.png,
- share/advertising/06-user_icon.png,
- share/advertising/07-server_icon.png, share/advertising/09-MDKcampus.pl,
- share/advertising/10-MDKexpert.pl, share/advertising/05-contcenter.pl,
- share/advertising/04-develop.pl,
- share/advertising/09-MDKcampus_icon.png,
- share/advertising/12-MDKstore.pl, share/advertising/03-graphic.pl,
- share/advertising/04-develop_icon.png,
- share/advertising/08-games_icon.png: changed icon sizes
-
-2002/03/07 fcrozat
-
- * share/rpmsrate: Evolution is not dependent on GNOME selection (not
- require gnome-core)
-
-2002/03/07 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: avoid destroying some files in /etc.
-
- * install_steps_interactive.pm: fixed package tree with a given medium.
-
- * any.pm: fix autologin sometimes activated without user intervention.
-
-2002/03/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: generate_automatic_stage1_params: also save
- the interface number in case the machine will
- have several interfaces; clean code a bit
-
- * mdk-stage1/network.c: better error msg regarding pcmcia net
- adapters supported either with pcmcia.img
- or network.img (amaury sucks)
-
- * install_steps_auto_install.pm: in replay mode, since
- $o->{interactiveSteps}
- exists, we can't simply ||= @graphical_steps,
- we need to push to ensure that the
- @graphical_steps is always honoured
-
- * standalone/drakgw:
- - call net_monitor to disable internet
- connection before network-restart
- - user return value when status'ing the
- initscripts rather than grepping their
- text output
-
- * modules.pm: try to avoid segfaulting probeall stuff
- add ns83820 gigabit (goes to other.img)
-
- * rescue/rescue-doc: english fixes thx to phil
-
-2002/03/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/drakfont: Added a missing _( ) around a text
-
- * share/po/vi.po, share/po/cy.po, share/po/hu.po, share/po/id.po: updated
- po files
-
- * share/po/ko.po, share/po/ca.po, share/po/tr.po: commented out the
- translations using argument switching (not yet handled by DrakX)
-
- * bootlook.pm, standalone/drakboot: i18n changes
-
- * keyboard.pm: corrected the locale->keyboard list building
- make keyboard selection choose first the 5 first chars of lang;
- then the 2 first chars;
-
- * share/po/eu.po: commented out the translations using argument switching
- (not yet handled by DrakX)
- updated po file
-
-2002/03/07 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix fileshare custom config
- fix *some* stew errors
-
- * bootloader.pm: "--timeout=" must be after terminal
- add --timeout=... for "terminal serial ..." line in grub's menu.lst
- fix *some* stew errors
-
- * install_any.pm: don't have the adsl & modem passwords in report.bug
-
- * detect_devices.pm (zips__faking_ide_scsi): fix returned value in
- standalone
- (getSCSI): don't call isFloppyOrHD for ZIPs (lowers the number of kernel
- error when there is no floppy)
-
- * fs.pm: removing quota choices for reiserfs
-
-2002/03/07 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * any.pm, bootlook.pm, standalone/drakboot, bootloader.pm: drakboot
- functionality for PPC
-
-2002/03/07 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed bug of network not being started by Printerdrake
- during installation.
-
-2002/03/07 warly
-
- * share/compssUsers.server, share/compssUsers, share/rpmsrate: update
- server, merge with normal rpmsrate
-
-2002/03/06 dam's <damien@mandrakesoft.com>
-
- * standalone/drakautoinst: corrected HASH and ARRAY label
-
-2002/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po, share/po/no.po, share/po/cy.po: updated po file
-
-2002/03/06 Pixel <pixel@mandrakesoft.com>
-
- * standalone/fileshareset (nfs_exports::update_server): ensure portmap is
- running
-
-2002/03/06 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: corrected font stuff
-
- * standalone/drakautoinst: corrected HASH and ARRAY label
-
-2002/03/06 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: no 3D with Utah GLX (XF 3.3) if more than 800 MB.
-
- * pkgs.pm: fixed error when using multiple removable media and user
- aborted installation
- (for some other error) and hdlists cannot be retrieved.
- add save of synthesis too when partitions are reformated, so that urpmi
- is happy after.
- fixed when hdlist gives no new package (new name) but only obsoleted
- package or
- updated package, ie security updates may appreciate.
-
- * install_any.pm: update for newer pkgs module (fix for abort during
- installation).
-
- * rescue/tree/etc/oem: allow oem script to be executable from standard cd
- set (powerpack or other).
-
-2002/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po: updated po file
- updated pot file
-
- * share/po/fr.po, share/po/cy.po, share/po/id.po, share/po/zh_TW.po:
- updated pot file
- updated some po files
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/nl.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/it.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2002/03/06 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: add @preferred libxpm4
-
- * lang.pm: fix typo in %xim (for chineese)
- - create the kde share/config's directory, so that kde config files
- are created in any case
- - in user_only localedrake, ensure the /etc/sysconfig/i18n is taken
- into account when ~/.i18n doesn't exist (thanks to F.Crozat)
-
- * install_any.pm: ensure the fstab is kept on upgrade
- (g_auto_install): use "interactiveSteps" field instead of pushing in
- @install_steps_auto_install::graphical_steps
-
- * standalone/localedrake: when called by kcontrol with --apply, don't
- modify kde config files, kcontrol takes care of it more nicely
-
- * diskdrake/interactive.pm: translate the actions
- choose to activate crypto. type password. unselect encryption. Select
- encryption again, you were not asked for password. Fixed
- use formatError
-
- * bootloader.pm (add_append): don't add to entries of type 'other'
-
- * devices.pm (find_free_loop): fix
-
- * install_steps_interactive.pm, install_steps.pm: ensure the fstab is kept
- on upgrade
-
- * fsedit.pm: do not allow encrypted /var
-
-2002/03/06 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * standalone/drakxtv: print an error message if xawtv isn't installed
- fix conflict between i18n and complete signal handler (ie return key
- and not value)
-
-2002/03/06 warly
-
- * share/rpmsrate: remove abiword
-
-2002/03/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pcmcia_/probe.c: an old sucking PCI card needs oldskool
- i82365 :-((, ugly patch
-
-2002/03/05 warly
-
- * share/rpmsrate: add Fred Bastok modif
- remove too many duplicate in i18n packages that are now automatically
- added
-
-2002/03/05 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * modules.pm: Add USB2 controller
-
-2002/03/05 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: corrected expert option in install mode
- added expert mode
-
- * my_gtk.pm: greater interstice
-
- * modparm.pm: cosmetic
- gzipped modules handled
-
-2002/03/05 fcrozat
-
- * share/rpmsrate: Install xlockmore when installing gnome, since
- xscreensaver can't lock
- root desktop..
-
-2002/03/05 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: deactivate v4l module if DRI is enabled and r128
- driver used.
-
- * install_steps.pm: added auto restore of some files (/etc/profile) needed
- by upgrade (from .rpmnew).
- added log for hasNetwork (so that we can understand why installUpdates
- do nothing).
-
- * crypto.pm: avoid trying to find hdlist-updates.cz in existing medium
- (instead of ftp one).
-
- * fs.pm: fixed hd install to allow using specific directory.
-
- * install_any.pm: fix duplicate synthesis.hdlist.xxx file present in
- /var/lib/urpmi, and
- furthermore uncompressed :-(
- fixed possible bug when generating synthesis file for urpmi
- installation.
-
-2002/03/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c, mdk-stage1/dhcp.h, mdk-stage1/network.c: save
- dhcp_hostname for stage2
-
- * install_any.pm: fix bug in generating automatic stage1
- params for http
-
- * modules.pm: aironet core sucking thing
-
-2002/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/sp.po: updated po files
-
-2002/03/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: if mem=nopentium is given on cmdline, have it after
- install
-
- * modules.pm (extract_modules): created (was done in load_raw)
-
-2002/03/05 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator.pm: use UseFBDev for r128 - PPC
-
-2002/03/05 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added support for HP's newest MF devices: HP OfficeJet
- D series, HP LaserJet 33xx MFP.
- Fixed bug of printerdrake sometimes assuming the user has an MF device
- when he has typed the device file name in the expert mode.
-
-2002/03/05 yduret
-
- * bootlook.pm: fix nobody bug
-
- * standalone/logdrake: mail alert: use eval {} to catch wizcancel
-
-2002/03/04 dam's <damien@mandrakesoft.com>
-
- * modparm.pm: corected weirdness, I suck
-
-2002/03/04 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fix scroll total to match reality.
- fixed interpretation of size of package when doing an install (this can
- be
- severe, need testing).
-
-2002/03/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cy.po, share/po/id.po: updated po file
-
-2002/03/03 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (gtkicons_labels_widget): since style is not set either, use
- the widget and ask it the style->font. This *works*
- (gtkicons_labels_widget): pass the style instead of directly passing the
- font
-
-2002/03/03 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Let Star Office/OpenOffice.org configuration corrcet a bug
- in the PostScript produced by these programs so that the Euro symbol is
- printed correctly.
-
-2002/03/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated po file
-
-2002/03/02 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm: better name for windobe new 0x42 special id (their
- own LVM marker)
-
- * detect_devices.pm: better jaz detection (thanks to Randy Welch)
-
-2002/03/02 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Replaced "Open Office" by "OpenOffice.org".
-
-2002/03/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po, share/po/da.po, share/po/vi.po, share/po/hu.po: updated
- po files
-
- * share/po/tr.po: updated po file
-
-2002/03/02 Pixel <pixel@mandrakesoft.com>
-
- * share/list: add lvreduce & lvextend
-
- * detect_devices.pm: fix ide zip name when there are already some other
- SCSI drives
- ZIPs and Jazz's are not floppies
-
- * diskdrake/interactive.pm (Resize): ensure we call lv_resize from lvm and
- adjust_* for normal partitions, even for destructive resizes
-
-2002/03/02 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Replaced "Open Office" by "OpenOffice.org".
-
-2002/03/01 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: fix gc's bulshit
-
-2002/03/01 dam's <damien@mandrakesoft.com>
-
- * services.pm: corrected translation used for shell command
-
- * my_gtk.pm: style & font correction
-
-2002/03/01 François Pons <fpons@mandrakesoft.com>
-
- * share/rpmsrate: updated INSTALL category with NOCOPY new flag added.
-
- * rescue/tree/etc/oem: added ext3 support.
-
- * share/rpmsrate.server: synced with rpmsrate INSTALL category.
-
- * install_any.pm: reset correct setup_postinstall_rpms calling.
- removed some card where 3D is not installed by default:
- Riva128, Radeon 8500 and Rage Mobility card.
- removed staling debug code.
- fixed bad copied package (if one is not found).
-
- * tools/oem-prepare: added handling of newer rpmsrate format with INSTALL
- category.
-
- * pkgs.pm: added pixel comments for handling INSTALL category and NOCOPY
- handling.
- only copy package in INSTALL category with a rate of at least 2.
-
-2002/03/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: a few missing trads
- please translators, keep two newlines when
- there are two newlines in original string,
- it's on purpose
-
-2002/03/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/cs.po,
- share/po/af.po: updated po files
-
- * share/po/fr.po: fixed two typos
- small corrections (non breakable spaces)
-
-2002/03/01 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: handle leaving X for both Xdrakres and XFdrake (=>
- Xdrakres completly obsolete)
-
- * standalone/localedrake: restrict localedrake to installed lang
-
- * lang.pm: restrict localedrake to installed lang
- add 'C' in %charset2kde_font (so that english has normal fonts)
-
- * bootloader.pm:
- - do not indent "disk=... bios=..."
- - $lilo->{first_hd_device} can be used to tell which drive is the
- first one
- for the BIOS. Useful when the bootloader is installed on a partition and
- not
- on the MBR.
- read "disk=/dev/xxx bios=0x8x" and save it
-
- * any.pm: restrict localedrake to installed lang
- ask which hard drive is the booting one when there is mixed kind of
- drives
- (scsi+ide, ide2+ide) and the bootloader is not installed on MBR
-
-2002/03/01 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Reduced the paths to search for Star/Open Office, on systems
- without these applications installed the search needed a significant
- time.
-
-2002/03/01 François Pons <fpons@mandrakesoft.com>
-
- * share/rpmsrate: updated INSTALL category with NOCOPY new flag added.
-
- * share/rpmsrate.server: synced with rpmsrate INSTALL category.
-
- * install_any.pm: removed staling debug code.
- fixed bad copied package (if one is not found).
-
- * pkgs.pm: added pixel comments for handling INSTALL category and NOCOPY
- handling.
- only copy package in INSTALL category with a rate of at least 2.
-
-2002/03/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: add hostname/domain in dhcp negociation,
- thx to david@eastcott.net
-
- * share/po/fr.po: please translators, keep two newlines when
- there are two newlines in original string,
- it's on purpose
-
-2002/03/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/zh_TW.po, share/po/hu.po: updated po files
-
-2002/03/01 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: handle leaving X for both Xdrakres and XFdrake (=>
- Xdrakres completly obsolete)
-
- * detect_devices.pm: add is_a_recent_computer()
-
- * any.pm: call dcop as user
-
- * lang.pm: add 'C' in %charset2kde_font (so that english has normal fonts)
- switch en_GB, *_CH, da, es@tradicional and wa to iso-8859-15
-
- * bootloader.pm: read "disk=/dev/xxx bios=0x8x" and save it
-
- * mouse.pm: special case for non detected usb interface on a box with no
- mouse.
- we *must* find out if there really is no usb, otherwise the box may
- not be accessible via the keyboard (if the keyboard is USB)
- the only way to know this is to make a full pci probe
-
-2002/02/28 dam's <damien@mandrakesoft.com>
-
- * standalone/drakbackup: bugfixs
- corrected translation for crontab
-
- * modparm.pm: corrected modinfo path for isa modules during install
-
-2002/02/28 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: try to fix if no chosen width has been found.
- removed Radeon 8500 from DRI capable cards.
-
- * rescue/tree/etc/oem: added curl as a bonus for oem install (it will be
- used by urpmi)
- added a2ps as a bonus (it fetch tetex where oem limited disk usage do
- not agree
- a lot).
- fixed bad copy of install packages.
-
- * tools/oem-prepare: added curl as a bonus for oem install (it will be
- used by urpmi)
- added a2ps as a bonus (it fetch tetex where oem limited disk usage do
- not agree
- a lot).
- fixed bad copy of INSTALL packages.
-
-2002/02/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install2.pm: more precise msg when can't access kernel modules because
- we still have many dumb people on cooker asking what's going on
-
- * install_steps_interactive.pm: small english fix
-
-2002/02/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/de.po, share/po/no.po: updated po files
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/is.po, share/po/hu.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
- * share/po/sv.po: updated Swedish file
- updated pot file
-
-2002/02/28 Pixel <pixel@mandrakesoft.com>
-
- * rescue/make_rescue_img: resolve conflicts for short keytable names (eg:
- "no" could be either "no-dvorak" or "no-latin1")
-
- * keyboard.pm (loadkeys_files): ensure each file appear only once
-
-2002/02/28 siegel
-
- * share/po/de.po: and another part of updates
- updates
-
-2002/02/28 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * share/po/fr.po: last translation but not least.
- further updates
- update french translation
-
-2002/02/28 dam's <damien@mandrakesoft.com>
-
- * share/themes-marble3d.rc: rechanged bg for camille
-
- * standalone/drakbackup: corrected translation for crontab
-
-2002/02/28 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed bad copy of install packages.
-
- * tools/oem-prepare: fixed bad copy of INSTALL packages.
-
- * Xconfigurator.pm: removed Radeon 8500 from DRI capable cards.
-
-2002/02/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/aliases, rescue/list: include /sbin/fsck.ext3 since our users are
- so dumb
-
-2002/02/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_TW.po: updated Chinese file
-
-2002/02/28 Pixel <pixel@mandrakesoft.com>
-
- * rescue/make_rescue_img: resolve conflicts for short keytable names (eg:
- "no" could be either "no-dvorak" or "no-latin1")
-
- * keyboard.pm (loadkeys_files): ensure each file appear only once
-
- * bootloader.pm: add "nowarn" in lilo.conf
-
- * install_steps.pm, fs.pm: use the "soft" option by default for /mnt/nfs
- and for "diskdrake --nfs"
-
-2002/02/28 sdupont
-
- * standalone/drakfont: including 'su' mode on drakfont.
-
-2002/02/28 siegel
-
- * share/po/de.po: updated missing strings
-
-2002/02/28 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Re-activated function to specify a CUPS server in
- another network and to switch to manual CUPS configuration.
- - Fixes/Improvements on Star Office/Open Office support:
- o When one switches the spooler, the entries of the printers under the
- old spooler are removed from Star Office/Open Office
- o Printers on remote CUPS servers (which are known through
- broadcasting)
- can be added to Star Office/Open Office
-
- * share/rpmsrate.server, share/rpmsrate: Added "curl" to install section,
- it is needed by printerdrake.
-
- * printer.pm:
- - Fixes/Improvements on Star Office/Open Office support:
- o When one switches the spooler, the entries of the printers under the
- old spooler are removed from Star Office/Open Office
- o Printers on remote CUPS servers (which are known through
- broadcasting)
- can be added to Star Office/Open Office
-
-2002/02/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: updated Basque file
-
-2002/02/27 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm:
- - Improved fully automatic adding of printer queue:
- o Ask for a queue name if more than one printer is detected
- o Let user confirm the model automatically chosen from the database
- o Set correct paper size according to the language/country
- - When one chooses a "CUPS + GIMP-Print" driver now all important
- options
- are displayed directly (without needing "Advanced" button).
- - Made less warning appearing on the console from where "printerdrake"
- was
- called.
-
-2002/02/27 fabman
-
- * share/po/es.po: converted to UTF-8
-
-2002/02/27 François Pons <fpons@mandrakesoft.com>
-
- * crypto.pm: fix missing version listed when doing update.
-
-2002/02/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: a few translations
-
- * mdk-stage1/rescue-gui.c, rescue/restore_ms_boot, rescue/list.i386,
- rescue/make_rescue_img: add "restore Windows Boot Loader" to rescue
-
- * install_steps_interactive.pm: formatAlaTex for congratz msg
- xfs + bootdisk = warning_msg
-
- * share/rpmsrate: flightgear is now fully lowercase
- glaxium
-
- * mdk-stage1/pcmcia_/probe.c: add Keld Jørn Simonsen <keld@dkuug.dk>'s O2
- Micro
- CardBus controller, and two other PCI entries which
- have close descriptions
-
- * mdk-stage1/pcmcia_/merge_from_pcitable: misc
- also report when pcitable is "too old"
- write a short perl program to easily merge new
- cardbus controllers from pcitable into probe.c
-
-2002/02/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eu.po: updated po file
-
-2002/02/27 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: simplify pyDict
-
- * install_steps_interactive.pm: ensure a keyboard is only once available,
- either in advanced or normal, but
- not in both (tx2fredl)
-
- * share/po/da.po:
- - it is UTF-8
- - fix line splitting
-
- * lang.pm: workaround iso-8859-1 charset based languages not displayed
- correctly at install
- - %lang2country is the authority, so if the country given by
- %lang2country doesn't exist in KDE, return C
- - fix be,sp,sr
- - s/def/default/ (typo)
- - add some utf kde fonts
-
-2002/02/27 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * share/po/fr.po: update french translation
-
- * standalone/drakxtv:
- - simplify an ACTION||fallback;fallback into ACTION;fallback
- - print a message saying that xawtv can be used now at the end of the
- channels auto-probing in case of direct use from cl and not from
- XawTV wrapper (from qa test) aka let the world be better :-)
-
- * share/po/br.po: minor update
- update brezhoneg translation
-
-2002/02/26 dam's <damien@mandrakesoft.com>
-
- * modparm.pm: corrected bad sprintf
-
-2002/02/26 fabman
-
- * share/po/es.po: updated spanish translations
-
-2002/02/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: version 8.2
-
-2002/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po, share/po/sv.po, share/po/hu.po: updated po files
-
-2002/02/26 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm, diskdrake/removable.pm,
- diskdrake/interactive.pm: propose some mount points for
- removable/nfs/smb
-
- * install_steps_interactive.pm: if no sound card are detected AND the user
- selected things needing a sound card, propose a special case for ISA
- cards
-
- * share/rpmsrate: add sndconfig in INSTALL (installed when user say Yes
- when asked for a ISA
- sound card)
-
- * my_gtk.pm (@icon_paths): ease testing
-
-2002/02/26 siegel
-
- * share/po/de.po: updates
-
-2002/02/26 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: corrected ttf/TTF and xfs restart
-
- * share/logo-mandrake.png: new logo
-
-2002/02/26 fabman
-
- * share/po/es.po: updated spanish translations
-
-2002/02/26 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fix translation of test program.
-
-2002/02/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/libstdio/fclose.c: don't segfault when fclose(NULL)
-
- * share/po/fr.po:
- - explain where to put nbsp spaces, explain
- what's nbsp spaces, explain how to compose them
- - add a few missing nbsp spaces
- - translate a few more things
-
-2002/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * any.pm: fixed English typo
-
-2002/02/26 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm, diskdrake/removable.pm,
- diskdrake/interactive.pm: propose some mount points for
- removable/nfs/smb
-
- * Xconfigurator.pm: make perl_checker happy
- have "Ok More Show all" instead of "Ok Cancel Show all"
- set the locale properly instead of setting the translated messages in
- the script
-
- * any.pm:
- - zips() now return devices ending with "4", raw_zips() is the old
- zips()
- - rdvd handling
- - add .conf for /etc/devfs/conf.d/ files
- (devfssymlinkf): use /etc/devfs/conf.d/name.conf instead of putting the
- symlink in lib/dev-state
-
- * share/rpmsrate: add sndconfig in INSTALL (installed when user say Yes
- when asked for a ISA
- sound card)
- add xine in VIDEO 4
-
- * install_steps.pm:
- - zips() now return devices ending with "4", raw_zips() is the old
- zips()
- - rdvd handling
- - add .conf for /etc/devfs/conf.d/ files
- don't add mem=nopentium anymore. kernel people says it's not needed and
- bad
- for performance. It also means any bug must be addressed to them
- create /dev/dvd for DVDs
-
- * my_gtk.pm (@icon_paths): ease testing
-
- * lang.pm: create bindtextdomain which does only part of the load_mo job
-
- * install_steps_interactive.pm: if no sound card are detected AND the user
- selected things needing a sound card, propose a special case for ISA
- cards
-
- * detect_devices.pm:
- - zips() now return devices ending with "4", raw_zips() is the old
- zips()
- - rdvd handling
- - add .conf for /etc/devfs/conf.d/ files
- cleanup
-
- * fs.pm:
- - zips() now return devices ending with "4", raw_zips() is the old
- zips()
- - rdvd handling
- - add .conf for /etc/devfs/conf.d/ files
-
-2002/02/26 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: Ti Powerbook uses non-std 1152x768, rather than
- 1152x864
-
-2002/02/26 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * standalone/drakxtv: use "xvt -T" rather than "xvt --title": now not only
- we support rxvt
- and xterm but konsole too.
- the only one missing is gnome-terminal which has -t but not -T
- update comments
- - remove useless "no_edit => 1"
- - use interactive_gtk to determine if we're runned under X11 (ie
- authorized acces to X11 server, X11 context, ...)
- - add a note to remember that we should add a method to detect if we
- run under X11 if/when we implement interactive_qt
- - simplify code :
- * remove is_tv and simplify its code to be a one-liner (replace a
- foreach by a scalar context)
- * use format to prevent reverse lookup on scantv run thus
- enabling to reverse the initial hash table
- - all cases (newt, gtk, wt/wo xvt, ...) have been re tested on real
- hw.
-
-2002/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated po file
-
-2002/02/26 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: remove passwords and realnames from report.bug
-
-2002/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated po file
-
-2002/02/26 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: remove passwords and realnames from report.bug
-
-2002/02/25 dam's <damien@mandrakesoft.com>
-
- * any.pm, modparm.pm: corrected modules parameters functions
-
- * standalone/drakfont: debug
-
-2002/02/25 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: fixes for cursor or
- nasty pixel displayed using syslinux-1.67-3mdk
-
-2002/02/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: don't put accents for bootloader, we can just use 7bit
- chars
- (titi sucks bigtime)
- add a few nbsp spaces
-
- * rescue/list: add mt-st DAT stuff for joeghi (ghibo)
-
-2002/02/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2002/02/25 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: ignore-table is a global flag, so put it there (when
- needed)
-
- * standalone/drakboot: add --testing
-
- * modules.pm, install_steps.pm, fs.pm, detect_devices.pm: use ide-scsi for
- ide zips
-
- * install_steps_interactive.pm: sort the list of keyboards
-
-2002/02/25 Thierry Vignaud <tvignaud@mandrakesoft.com
-
- * share/po/fr.po: fix a typo (thanks gc)
-
-2002/02/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ru.po, share/po/sp.po, share/po/ca.po, share/po/th.po,
- share/po/uk.po, share/po/es.po, share/po/eo.po, share/po/ro.po,
- share/po/sv.po, share/po/sr.po, share/po/da.po, share/po/el.po,
- share/po/et.po, share/po/cs.po, share/po/tr.po, share/po/az.po,
- share/po/eu.po: updated some po files
-
-2002/02/24 Pixel <pixel@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: fix permission
-
-2002/02/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cy.po, share/po/Makefile: updated Welsh file
-
- * share/po/zh_CN.po, share/po/DrakX.pot, share/po/eu.po, share/po/vi.po,
- share/po/wa.po, share/po/zh_TW.po: udated Vietnamese file
-
- * install_steps_interactive.pm: removed useless _( ) around a string
- displayed in English only
-
- * share/po/be.po, share/po/bg.po, share/po/sk.po, share/po/ar.po,
- share/po/sl.po, share/po/br.po, share/po/bs.po, share/po/sv.po,
- share/po/af.po: updated some po files
-
-2002/02/23 Pixel <pixel@mandrakesoft.com>
-
- * interactive_newt.pm:
- - use simplify_string to ensure multi-line and too long strings are
- not used
- (hacky, but no other solution)
- - set $::setstep like interactive_gtk is doing (??)
-
- * partition_table_empty.pm: handle MBR containing the same character (0 or
- "l")
-
- * diskdrake/interactive.pm: not_edit'able filesystem type (allow esp. a
- nicer newt version)
-
- * devices.pm (devices::make): following a good advice from Andrej
- Borsenkow, return the
- file even if the device file doesn't exist the caller will fail or not.
- The
- advantage is better compatibility than raising an exception
- devices::make doesn't mknod with devfs
-
- * detect_devices.pm: no need to catch the exception from devices::make
- anymore
- devices::make doesn't mknod with devfs
-
- * fs.pm: nicer error message when mount fails
-
- * share/rpmsrate: adding gphoto2
-
- * install_steps_interactive.pm: when passwords do not match, focus on
- first password entry, not the second (thanks to garrick)
-
- * Xconfigurator_consts.pm: remove Option "sw_cursor" for "SiS 6326" since
- it's already handled in Xconfigurator.pm
-
- * my_gtk.pm: fix @icon_paths to include /usr/share/libDrakX/pixmaps
- (thanks to garrick)
-
- * modules.pm: remove "-f" option for insmod
-
-2002/02/23 siegel
-
- * share/po/de.po: fixed silly error
- updates
-
-2002/02/23 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Added automatic configuration of printers
- in Star Office and Open Office.
-
-2002/02/22 dam's <damien@mandrakesoft.com>
-
- * share/advertising/02-internet.pl, share/advertising/07-server.pl,
- share/advertising/11-consul.pl, share/advertising/09-MDKcampus.pl,
- share/advertising/01-gnu.pl, share/advertising/13-Nvert.pl,
- share/advertising/06-user.pl, share/advertising/10-MDKexpert.pl,
- share/advertising/04-develop.pl, share/advertising/05-contcenter.pl,
- share/advertising/12-MDKstore.pl, share/advertising/03-graphic.pl,
- share/advertising/08-games.pl: corrected advertising text
-
- * share/po/fr.po: corrected bad translation
-
- * my_gtk.pm: corrected icon paths
-
-2002/02/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: exit the pur_gtk version after launching the wizard
- version
-
- * any.pm: better rephrasing
- change name and description of security levels
-
- * share/rpmsrate: powermanga: 2 -> 3
-
-2002/02/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/DrakX.pot: updated Danish file
-
- * lang.pm: start of support of kde fonts
- fixed some keyboard names
-
- * keyboard.pm: fixed some keyboard names
- added the two ?win_toggle choices
- some info useful for keyboard handling
-
- * share/keyboards.tar.bz2: fixed some keyboard names
-
- * share/po/hu.po: updated hungarian file
-
-2002/02/22 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: even smarted process to kill selection
-
- * lang.pm: fix 2 entries in charset2kde_font
- - remove non needed entries in lang2country
- - fix syntax errors
- - rename kdefont in charset2kde_font
- - much cleanup
- use invalid instead of unknown for errors when checking
- put back the less deep langs
- have the tree less deep (esp. nicer when not displaying UTF-8 entries)
- not translating in console installs (esp. newt) when the font is missing
- restrict the langs displayed to non utf8 during install
- fix warning message
- disable perl warnings when checking
- make perl_checker happy
-
- * devices.pm: add atibm (thanks to Robin Pollard)
-
- * bootloader.pm: put ignore-table to disable lilo's partition table
- checking
- (esp. the checking of the CHS geometry vs linear geometry)
-
- * Xconfigurator_consts.pm: fix syntax typo
-
- * Makefile:
- - exclude urpm from perl_checker
- - add checking keyboard.pm
-
- * install_steps_interactive.pm, install2.pm, install_steps.pm: not
- translating in console installs (esp. newt) when the font is missing
-
- * keyboard.pm: use invalid instead of unknown for errors when checking
- change the message
- disable perl warnings when checking
- - add checks for the various data structures
- - fix another typo for usb2drakxkbd
- fix typo
-
- * share/rpmsrate: add procmail in SYSTEM 4
- add samba-doc samba-winbind samba-swat
-
- * Xconfigurator.pm: workaround set_active failing
-
- * any.pm: use the setupBootloader help instead of setupBootloaderGeneral
- restrict the langs displayed to non utf8 during install
-
-2002/02/22 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv: update TODO list;
- explain what is HRC
-
- * share/po/fr.po: further translations
- update french translation
-
-2002/02/21 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: corrected icon list
-
-2002/02/21 fabman
-
- * share/po/es.po: updated spanish po file
-
-2002/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: spacecup no more exists
- armagetron is nice, no use to install gltron as well
- autoconf2.5 and automake1.5
-
- * interactive.pm: when not in X and needs su, use consolehelper now
- use consolehelper when no "kdeinit: kwin" process
- is running
-
-2002/02/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/Makefile, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po, share/po/fi.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/21 Pixel <pixel@mandrakesoft.com>
-
- * lvm.pm, install_any.pm: ensure lvm tools don't need to be all installed
- at the same time
-
- * lang.pm, tools/make_mdkinst_stage2: LC_COLLATE and LC_CTYPE are
- getFile'd (cuz they are big, causing the .cz2 to be *big*)
-
- * share/rpmsrate: add kinput2-wnn4
-
-2002/02/21 siegel
-
- * share/po/de.po: update
-
-2002/02/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Removed "Manual configuration" button when "Local
- Printer" dialog is started from the queue modification menu (Recommended
- mode).
- Improved matching of printer names resulting from auto-detection with
- names in the database.
-
-2002/02/21 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: final batch of typos fixes (next time, please run a
- check speller)
- fix more typos
- update french translation;
- fix typos
-
- * diskdrake/interactive.pm: shorter displayed message
-
-2002/02/21 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: changed button label
-
- * standalone/icons/gmon.png, standalone/icons/categ.png,
- standalone/icons/verti.png, standalone/icons/drakbackup.540x57.png,
- standalone/icons/net_c.png, standalone/icons/ic82-system-40.png,
- standalone/icons/wiz_drakgw.png, standalone/icons/ic-drakfont-48.png,
- standalone/icons/ic82-back-up-16.png,
- standalone/icons/wiz_scannerdrake.png,
- standalone/icons/ic82-discdurwhat-40.png,
- standalone/icons/ic82-tape-40.png, standalone/icons/ic82-network-40.png,
- standalone/icons/smbnfs_default.png, standalone/icons/smbnfs_server.png,
- standalone/icons/hori.png, standalone/icons/wiz_draknet.png,
- standalone/icons/smbnfs_mounted.png, standalone/icons/wiz_firewall.png,
- standalone/icons/wiz_default_up.png,
- standalone/icons/ic82-back-up-32.png, standalone/icons/ic82-CD-40.png,
- standalone/icons/ic82-systemeplus-40.png,
- standalone/icons/ic82-back-up-48.png,
- standalone/icons/ic82-dossier-32.png, standalone/icons/net_d.png,
- standalone/icons/ic82-moreoption-40.png,
- standalone/icons/smbnfs_has_mntpoint.png, standalone/icons/tradi.png,
- standalone/icons/wiz_printerdrake.png,
- standalone/icons/wiz_default_left.png,
- standalone/icons/eth_card_mini2.png, standalone/icons/net_u.png,
- standalone/icons/ic82-users-40.png, standalone/icons/mdk_logo.png,
- standalone/icons/ic82-others-40.png, standalone/icons/ic82-when-40.png,
- standalone/icons/draknet_step.png, standalone/icons/drakfont.620x57.png,
- standalone/icons/ic82-where-40.png: added new gfx only standalone
-
- * pixmaps/categ.png, pixmaps/verti.png, pixmaps/ic82-moreoption-40.png,
- pixmaps/ic82-system-40.png, pixmaps/net_c.png,
- pixmaps/ic-drakfont-48.png, pixmaps/ic82-CD-40.png,
- pixmaps/ic82-when-40.png, pixmaps/ic82-back-up-32.png,
- pixmaps/draknet_step.png, pixmaps/ic82-dossier-32.png,
- pixmaps/ic82-back-up-48.png, pixmaps/smbnfs_server.png,
- pixmaps/ic82-discdurwhat-40.png, pixmaps/smbnfs_default.png,
- pixmaps/gmon.png, pixmaps/drakbackup.540x57.png,
- pixmaps/smbnfs_mounted.png, pixmaps/wiz_printerdrake.png,
- pixmaps/wiz_default_left.png, pixmaps/wiz_default_up.png,
- pixmaps/drakfont.620x57.png, pixmaps/ic82-tape-40.png,
- pixmaps/wiz_draknet.png, pixmaps/net_d.png,
- pixmaps/ic82-systemeplus-40.png, pixmaps/wiz_drakgw.png,
- pixmaps/mdk_logo.png, pixmaps/ic82-users-40.png,
- pixmaps/ic82-back-up-16.png, pixmaps/hori.png, pixmaps/tradi.png,
- pixmaps/smbnfs_has_mntpoint.png, pixmaps/eth_card_mini2.png,
- pixmaps/wiz_firewall.png, pixmaps/net_u.png, pixmaps/ic82-where-40.png,
- pixmaps/ic82-others-40.png, pixmaps/ic82-network-40.png,
- pixmaps/wiz_scannerdrake.png: removed gfx not used during install
-
-2002/02/21 François Pons <fpons@mandrakesoft.com>
-
- * crypto.pm: fixed another not seen 8.1 reference in label.
- fixed 8.1 release hard coded.
-
-2002/02/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fi.po: updated pot file
- updated Finnish file
-
- * help.pm: updated help file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/Makefile, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/21 Pixel <pixel@mandrakesoft.com>
-
- * share/themes/blueHeart-button4.png, share/themes-DarkMarble.rc,
- install_gtk.pm, share/themes/DarkMarble-button3_out.png,
- share/themes.rc, share/themes/blueHeart-brown_bg1.png,
- share/themes/DarkMarble-button3_in.png, share/themes-blueHeart.rc,
- share/themes/DarkMarble-check_on.png,
- share/themes/blueHeart-button1.png,
- share/themes/DarkMarble-check_off.png,
- share/themes/blueHeart-button2.png, share/themes/DarkMarble-gloom2.png,
- share/themes/DarkMarble-button3_in_prelight.png,
- share/themes/DarkMarble-button3_out_prelight.png: remove DarkMarble and
- blueHeart themes
-
- * bootloader.pm: have devfs=nomount for failsafe
-
- * Makefile.config, share/po/Makefile: make a difference between PMS and
- ALLPMS. For install, only use PMS
-
- * lvm.pm: ensure lvm tools don't need to be all installed at the same time
-
- * Makefile: template.in stuff removed
- make a difference between PMS and ALLPMS. For install, only use PMS
-
- * pkgs.pm: smarter choosing of processes to kill
-
- * tools/i386/netboot/make_boot_network: cleanup
-
- * modules.pm: add aic7xxx_old
-
- * install_any.pm: ensure lvm tools don't need to be all installed at the
- same time
- (remove_bigseldom_used): remove xf86Wacom.so & mkfs.xfs
- DarkMarble theme is removed
- (kdeicons_postinstall): remove this obsolete code
- no special case for installing imwheel
-
- * lang.pm, tools/make_mdkinst_stage2: LC_COLLATE and LC_CTYPE are
- getFile'd (cuz they are big, causing the .cz2 to be *big*)
-
- * network/smbnfs.pm, network/nfs.pm: nicer conditional displaying of nfs
- comment
-
-2002/02/21 siegel
-
- * share/po/de.po: update
- snapshot
-
-2002/02/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added "type => 'list'" to the printer modification
- menu, it appeared as a drop-down list during the installation.
-
-2002/02/21 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv: more translatable strings;
- hide scantv output on console;
- check that we're under X11 before running scantv in an xterm
-
-2002/02/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/doc/UPDATEMODULES: add an example on modules with options
- first line comment no more necessary
- s/row/column/, silly me
-
- * standalone.pm: explanations stuff: no reason to use "updated" at a place
- when we
- use "modified" at the rest of the locations..
-
-2002/02/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po: updated Spanish file
- updated Spanish file
-
-2002/02/20 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (ejectCdrom): display "files still open:" for all
- processes when umounting fail
-
- * pkgs.pm: much simpler & stronger killing of still running processes
-
- * mouse.pm: USB|Generic is 3 button mice, add a USB 2 Button entry
-
-2002/02/20 dam's <damien@mandrakesoft.com>
-
- * share/themes-marble3d.rc: updated theme
-
- * network/adsl.pm: mgmt install corrected
-
-2002/02/20 daouda
-
- * share/rpmsrate:
- - same weight for rfbdrake in NETWORKING_REMOTE_ACCESS
- NETWORKING_REMOTE_ACCESS_SERVER
-
-2002/02/20 fcrozat
-
- * share/rpmsrate: Remove mozilla-psm from list, it is merged in mozilla
-
-2002/02/20 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem, tools/oem-prepare: synced with newer rpmsrate of
- DrakX and newer method to select INSTALL packages.
-
- * standalone/XFdrake: fixed NVIDIA package in urpmi db by directly using
- urpm library instead of
- parsing (now removed) depslist.ordered file.
-
- * Xconfigurator.pm: fixed default value if selecting a card (use previous
- one or existing one).
- added XFree 4 driver choice if Other|Unlisted is chosen.
- fixed cancel on card selection so that previous choice is not lost.
-
- * Xconfigurator_consts.pm: added @allbutfbdrivers and @alldrivers for
- listing XFree 4 drivers.
-
-2002/02/20 gbeauchesne
-
- * share/rpmsrate:
- - Add gcc3.0-c++ and libstdc++3.0-devel
- - Prefer gcc3.0-java over gcc-java
- - Remove BasiliskII-sheepnet since it does no longer exist
- - Add/prefer BasiliskII-jit over BasiliskII
-
-2002/02/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po: updated FRench file
-
- * share/po/es.po: updated Spanish file
- updated Spanish file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/20 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: fix s/SILO/LILO/
-
- * fsedit.pm: have "with /usr" translated
-
- * install_steps_interactive.pm (loadSavePackagesOnFloppy): add a "Cancel"
- button
-
- * steps.pm: move installUpdates after configureX (workaround for bad
- timeouts during installing updates)
-
- * install_steps.pm, any.pm, standalone/draksec: factorize and update the
- reading of previous security level
-
-2002/02/20 siegel
-
- * share/po/de.po: update
-
-2002/02/20 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update french translations
-
-2002/02/20 dam's <damien@mandrakesoft.com>
-
- * share/advertising/13-Nvert.pl: changed toll free
-
- * my_gtk.pm: added mcc kill if wait message
-
- * standalone/logdrake: cosmetic change, mcc compliance
-
-2002/02/20 daouda
-
- * share/rpmsrate:
- - same weight for rfbdrake in NETWORKING_REMOTE_ACCESS
- NETWORKING_REMOTE_ACCESS_SERVER
-
-2002/02/20 fcrozat
-
- * share/rpmsrate: Remove mozilla-psm from list, it is merged in mozilla
-
-2002/02/20 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm, install_any.pm: fixed INSTALL category in rpmsrate for copying
- file when changing cd (was an
- limitation in read_rpmsrate when a package having a category and INSTALL
- caused
- INSTALL to be dropped).
-
-2002/02/20 gbeauchesne
-
- * share/rpmsrate:
- - Add gcc3.0-c++ and libstdc++3.0-devel
- - Prefer gcc3.0-java over gcc-java
- - Remove BasiliskII-sheepnet since it does no longer exist
- - Add/prefer BasiliskII-jit over BasiliskII
-
-2002/02/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/advertising/07-server.pl, share/advertising/01-gnu.pl: Improved
- English strings
-
- * share/po/hu.po, share/po/es.po, share/po/ar.po: updated Hungarian and
- Spanish files
-
-2002/02/20 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: remove fsck_option (obsolete)
-
- * share/po/fr.po: fix s/SILO/LILO/
-
- * fsedit.pm: have "with /usr" translated
-
- * install_steps_interactive.pm (loadSavePackagesOnFloppy): add a "Cancel"
- button
-
- * steps.pm: move installUpdates after configureX (workaround for bad
- timeouts during installing updates)
-
- * install_steps.pm, any.pm, standalone/draksec: factorize and update the
- reading of previous security level
-
-2002/02/20 siegel
-
- * share/po/de.po: snapshot
-
-2002/02/19 dam's <damien@mandrakesoft.com>
-
- * share/advertising/Makefile: new Makefile to install ads
-
-2002/02/19 fcrozat
-
- * share/rpmsrate:
- -Install gnome-vfs-extras when installing nautilus (to get samba
- browsing)
- -don't install nautilus-mozilla, it is pulled by nautilus
-
-2002/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * any.pm: english fix
-
-2002/02/19 Pixel <pixel@mandrakesoft.com>
-
- * share/advertising/Makefile: advertising installation cleanup
-
- * diskdrake/smbnfs_gtk.pm: ugly hack to fix die
-
-2002/02/19 siegel
-
- * share/po/de.po: updates for beta 3
-
-2002/02/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Changed button texts of "Do you want to auto-detect?"
- dialog.
-
-2002/02/19 dam's <damien@mandrakesoft.com>
-
- * share/advertising/Makefile: new Makefile to install ads
-
-2002/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * any.pm: report_bug: find syslog in /var/log if it's not in /tmp, add
- $prefix in front of /var/* when missing
- since we give "lilo.conf" in drakbug_report, let's also
- give "menu.lst"
-
-2002/02/19 Pixel <pixel@mandrakesoft.com>
-
- * share/advertising/Makefile: advertising installation cleanup
-
-2002/02/19 siegel
-
- * share/po/de.po: updates for beta 3
-
-2002/02/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Changed button texts of "Do you want to auto-detect?"
- dialog.
-
-2002/02/19 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: setting help
-
- * share/advertising/10-MDKexpert.png, share/advertising/07-server.png,
- share/advertising/05-contcenter.png, share/advertising/03-graphic.png,
- share/advertising/12-MDKstore_icon.png,
- share/advertising/06-user_icon.png,
- share/advertising/04-develop_icon.png,
- share/advertising/12-MDKstore.png, share/advertising/00-thanks.png,
- share/advertising/06-user.png, share/advertising/02-internet_icon.png,
- share/advertising/04-develop.png,
- share/advertising/05-contcenter_icon.png,
- share/advertising/10-MDKexpert_icon.png, share/advertising/13-Nvert.png,
- share/advertising/11-consul.png, share/advertising/03-graphic_icon.png,
- share/advertising/02-internet.png, share/advertising/07-server_icon.png,
- share/advertising/01-gnu.png, share/advertising/08-games.png,
- share/advertising/09-MDKcampus.png,
- share/advertising/09-MDKcampus_icon.png,
- share/advertising/08-games_icon.png: re-adding with -kb
- removing for re-adding with -kb
- added advertising for translation
-
- * share/advertising/essi.p: blah
- added advertising for translation
-
- * my_gtk.pm: new icon handler
-
- * Makefile.config: addde share/advertising/*.pl for translation
-
- * share/advertising/Makefile: new Makefile to install ads
-
- * share/advertising/00-thanks.pl, share/advertising/06-user.pl,
- share/advertising/08-games.pl, share/advertising/list,
- share/advertising/09-MDKcampus.pl, share/advertising/01-gnu.pl,
- share/advertising/11-consul.pl, share/advertising/13-Nvert.pl,
- share/advertising/02-internet.pl, share/advertising/07-server.pl,
- share/advertising/10-MDKexpert.pl, share/advertising/04-develop.pl,
- share/advertising/05-contcenter.pl, share/advertising/12-MDKstore.pl,
- share/advertising/03-graphic.pl: added advertising for translation
-
-2002/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * any.pm: report_bug: find syslog in /var/log if it's not in /tmp, add
- $prefix in front of /var/* when missing
- since we give "lilo.conf" in drakbug_report, let's also
- give "menu.lst"
-
-2002/02/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/hu.po: updated Vietnamese and Hungarian files
-
-2002/02/19 Pixel <pixel@mandrakesoft.com>
-
- * share/advertising/Makefile: advertising installation cleanup
-
- * install2.pm: anchor the -IP match at the end of the string
- move loading /tmp/network from stage1 before doing the auto_install
- stuff to
- allow the -IP feature on auto_install file name
-
- * share/rpmsrate: add grub in 4 SYSTEM
-
-2002/02/19 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/printerdrake, printer.pm: Assured that the default page size
- is "Letter" for US/Canada and "A4" for the rest of the world.
- The "Description" field of a printer queue is filled in with printer
- manufacturer and model by default.
- Removed unused varaiables in /usr/sbin/printerdrake.
-
- * printerdrake.pm: Changed button texts of "Do you want to auto-detect?"
- dialog.
- Assured that the default page size is "Letter" for US/Canada and "A4"
- for the rest of the world.
- The "Description" field of a printer queue is filled in with printer
- manufacturer and model by default.
- Removed unused varaiables in /usr/sbin/printerdrake.
-
- * install_steps_interactive.pm: Replaced "a4" and "letter" by "A4" and
- "Letter" so that Foomatic recognizes
- the paper sizes.
- Also use "Letter" paper for "en_CA" and "fr_CA" locales.
-
-2002/02/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: when no net device found, print a msg to tell
- that now most pcmcia network adapters are supported
- with network.img
-
-2002/02/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help file
-
- * share/po/sp.po, share/po/zh_CN.po, share/po/DrakX.pot, share/po/th.po,
- share/po/es.po, share/po/fr.po, share/po/sr.po, share/po/de.po,
- share/po/sk.po, share/po/tr.po, share/po/eu.po, share/po/sl.po,
- share/po/vi.po, share/po/uk.po, share/po/wa.po, share/po/sv.po,
- share/po/zh_TW.po, share/po/it.po: updated pot file
-
-2002/02/18 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm, standalone/localedrake:
- - handle --kde_lang with optionally --kde_country
- - handle --apply
-
- * install_steps_gtk.pm: s/hbox/vbox for "Select Install Class"
-
-2002/02/18 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: new gfx
-
-2002/02/18 fcrozat
-
- * share/rpmsrate: Install Guppi when installing gnumeric
-
-2002/02/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: titi sucks again
-
-2002/02/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po: updated Slovak ile
- updated pot file
-
- * help.pm: updated help file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/lt.po, share/po/ar.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/bs.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/af.po:
- updated pot file
-
-2002/02/18 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm:
- - remove media_type cdrom-burner, use {capacity} instead
- - use /proc/sys/dev/cdrom/info to fill in the {capacity}
-
- * diskdrake/smbnfs_gtk.pm:
- - add Cancel
- - move "click here" in "Search servers" on the right side
- - remove Export
- - fix bug
-
- * share/rpmsrate: raise xsane in SCANNER (Yves Duret)
- raise mkisofs & cdrecord in BURNER
-
- * Xconfigurator.pm: workaround not having the right to connect to our new
- created test server.
- info about the pb (sorry for the french):
- quand on lance le serveur
- - via xdm/kdm/startx, ca utilise xauth, xhost est fermé
- - via X/xinit, xhost est ouvert sur localhost, xauth n'est pas utilisé
- *sauf* si X/xinit est lancé à partir d'un X *et* .Xauthority est non
- vide.
- dans ce cas, xhost est fermé, et aucun xauth n'est ajouté
- une conséquence, c'est que XFdrake ne peut pas accéder au X de
- test si XFdrake est lancé sous X ou "xauth list" est non vide
- exception: quand on lance le xdm/kdm en root, xhost n'est pas
- fermé,
- pas contre il est fermé en root & startx.
-
- * any.pm (fileshare_config): rework the custom message and launch
- userdrake
- (report_bug): add lilo.conf
-
- * standalone/localedrake:
- - handle --kde_lang with optionally --kde_country
- - handle --apply
- change the message & ask wether to logout or not
-
- * lang.pm:
- - handle --kde_lang with optionally --kde_country
- - handle --apply
- (lang2kde_lang): add missing valid_kde_langs
- fuzzy language finding between available langs when it doesn't match
- (useful for upgrades where fr_FR was fr_FR@euro)
-
- * diskdrake/interactive.pm: remove cdrom-burner from media_type set
-
- * install_steps_gtk.pm: s/hbox/vbox for "Select Install Class"
-
- * fs.pm (mount_options_unpack): add usrquota and grpquota for
- ext2/ext3/reiserfs/xfs
- - remove media_type cdrom-burner, use {capacity} instead
- - use /proc/sys/dev/cdrom/info to fill in the {capacity}
-
- * share/compssUsers: add EDITORS in Development/Development
- add EDITORS in Development/Development
-
-2002/02/18 yduret
-
- * bootlook.pm: remove aurora part (commented for the moment)
-
- * standalone/scannerdrake: HP OfficeJet support
- scsi/parport preliminary support
-
- * scanner.pm: update
- scsi parport preliminary support
- no more show unsupported scanner
- common output for ScannerDB update from sane *.desc files and from
- usbtable
-
-2002/02/17 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/interactive.pm: warn_if_renumbered now also done at install
-
-2002/02/17 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: have icewm-light in any case (to be used as a failsafe
- window manager)
- add hotplug, usbutils and usbview with the new flag USB
-
- * install_any.pm: hotplug now handled via rpmsrate and the USB flag
- add some log to know why umounting /tmp/image fail
-
- * diskdrake/interactive.pm: warn_if_renumbered now also done at install
- force scalar context for warp_text
-
- * share/po/id.xsl, share/po/help_xml2pm.pl: use xsltproc as a filter to
- remove entities
-
- * share/po/Makefile (clean): remove .memdump
-
- * any.pm (autologin): do not allow empty user name since no autologin can
- already be achieved by choosing "No"
-
- * install2.pm: do not use run_program::xxx, use directly "system" so that
- stdout is kept unchanged during "postInstall" execution
-
- * network/smb.pm: fix typo (s/nfs/smbfs/)
-
-2002/02/17 siegel
-
- * help.pm: new version for 8.2
-
- * share/po/de.po: new german version
-
- * share/po/help_xml2pm.pl: added check for missing xsltproc
- fix perl warnings after adding -w
-
- * share/po/.cvsignore: added .memdump
-
- * share/po/Makefile: allow me to work with a symlink to doc in this
- directory
-
-2002/02/16 Pixel <pixel@mandrakesoft.com>
-
- * lvm.pm:
- - LVs "device" field were containing "/dev/vg/number" whereas it must
- be "vg/name"
- - added lv_resize
-
- * diskdrake/interactive.pm: add Resize'ing mounted XFS on LVM
-
- * crypto.pm (mirrors): add a timeout via "alarm" (needs testing)
-
-2002/02/16 Pixel <pixel@mandrakesoft.com>
-
- * Xconfig.pm:
- - prefer XKB available from existing XF86Config over
- /etc/sysconfig/keyboard KEYTABLE
- - fix translating from /etc/sysconfig/keyboard KEYTABLE to XKB
-
- * diskdrake/interactive.pm: add Resize'ing mounted XFS on LVM
-
- * interactive_newt.pm: do not trash error messages if testing
-
- * lang.pm (country2lang): created
- (write): ensure it doesn't fail when kdeglobals is not writable (eg: the
- directory doesn't exist)
- (list): return the languages in a "specific" order (favours non utf8
- over utf8)
-
- * crypto.pm (mirrors): add a timeout via "alarm" (needs testing)
-
- * install_steps_interactive.pm (setupSCSI): when "clicked", ask "Do you
- have any SCSI interfaces" instead
- of assuming there is a SCSI interface and asking the driver name
-
- * lvm.pm:
- - LVs "device" field were containing "/dev/vg/number" whereas it must
- be "vg/name"
- - added lv_resize
- - call pvcreate with "-y -ff"
- - created LVs are notFormatted
-
- * interactive.pm:
- - fix non X + testing + su
- - since "interactive" takes care of "format" for type "combo", remove
- "format" (so that interactive_newt which switch to type "list" don't
- apply
- "format" once again)
-
- * standalone/localedrake: handle --kde_country=<country>
-
-2002/02/16 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (country2lang): created
- (write): ensure it doesn't fail when kdeglobals is not writable (eg: the
- directory doesn't exist)
- (list): return the languages in a "specific" order (favours non utf8
- over utf8)
- fix call to update_gnomekderc
-
- * standalone/localedrake: handle --kde_country=<country>
-
-2002/02/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
- * share/po/sk.po, share/po/cs.po, share/po/es.po: updated Czech, Spanish
- and Slovak files
-
-2002/02/16 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm: fix call to update_gnomekderc
- remove unused & unneeded special %lang2kde_lang
- - add lang::check
- - fix utf-ko -> utf_ko
- - fix utf-14 -> utf_14
- - modify share/config/kdeglobals
- - add charset2kde_charset, lang2country, lang2kde_lang
-
-2002/02/15 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: embedded mode correction
-
- * my_gtk.pm: highlight in gtk icon widget
-
- * share/themes/mdk-check_on.png, share/themes/mdk-toggle_off.png,
- share/themes/mdk-toggle_on.png, share/themes/mdk-check_off.png: new gfx
-
- * share/step-red.xpm, share/step-orange.xpm, share/step-orange-click.xpm,
- share/step-green-click.xpm, share/step-green.xpm, share/step-red-on.xpm,
- share/step-orange-on.xpm, share/step-green-on.xpm,
- share/step-red-click.xpm: new gfx
- new gfx
-
-2002/02/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/fi.po, share/po/DrakX.pot, share/po/fr.po,
- share/po/wa.po, share/po/da.po, share/po/cs.po, share/po/hu.po,
- share/po/eu.po: updated Basque file; fixed a msgid change
-
- * share/po/sv.po: updated Swedish file
- updated Basque file; fixed a msgid change
-
-2002/02/15 Pixel <pixel@mandrakesoft.com>
-
- * run_program.pm: remove assigning STDIN to /dev/null since:
- - programs should not use STDIN
- - the "postInstall" script for auto_install's is more happy still
- having the STDIN.
-
- * diskdrake/smbnfs_gtk.pm, pixmaps/smbnfs_has_mntpoint.png,
- pixmaps/smbnfs_default.png, pixmaps/smbnfs_mounted.png,
- pixmaps/smbnfs_server.png: add icons showing if a mount-point is
- associated or if the share is mounted
-
- * pkgs.pm: fix typo
-
- * diskdrake/interactive.pm: use the new warp_text
-
- * install_steps.pm: use lang::charset2kde_charset
-
- * standalone/localedrake: lang::write doesn't need the filename anymore
-
- * any.pm: use 'combo' instead of 'type' for bootloader choice and security
- choice
- (requested by fredb&dadou)
-
- * interactive_gtk.pm: force scalar for Gtk::Label->new with warp_text
-
- * interactive.pm: favour "combo" over "list" in any case
-
- * Makefile (check): add lang::check checking
-
-2002/02/15 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update translation
-
-2002/02/14 Pixel <pixel@mandrakesoft.com>
-
- * standalone/lsnetdrake: adapt to the neater network::smb and network::nfs
-
- * network/smb.pm, network/smbnfs.pm, network/nfs.pm: cleaner & OOed code,
- with more code sharing
-
- * interactive_gtk.pm, diskdrake/interactive.pm: use the new warp_text
- feature
-
- * my_gtk.pm (ctree_set_icon): new function
-
- * diskdrake/smbnfs_gtk.pm: some cleanup, icons showing wether a
- mount-point is associated are coming
-
- * standalone/diskdrake: fix expert and testing options handling
-
-2002/02/14 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: embedded mode
- drakfont embedde mode
-
- * share/step-red-on.xpm, share/step-red.xpm, share/step-orange.xpm,
- share/step-orange-on.xpm, share/step-orange-click.xpm,
- share/step-green-click.xpm, share/step-red-click.xpm,
- share/step-green-on.xpm: new gfx
-
-2002/02/14 erwan
-
- * tools/i386/netboot/ni5010/pxegrub, tools/i386/netboot/epic100/stage1,
- tools/i386/netboot/epic100/stage2, tools/i386/netboot/3c90x/pxegrub,
- tools/i386/netboot/rtl8139/pxegrub, tools/i386/netboot/ni5210/nbgrub,
- tools/i386/netboot/otulip/stage1, tools/i386/netboot/otulip/stage2,
- tools/i386/netboot/exos205/nbgrub, tools/i386/netboot/eepro/stage1,
- tools/i386/netboot/eepro/stage2, tools/i386/netboot/3c529/nbgrub,
- tools/i386/netboot/smc9000/pxegrub, tools/i386/netboot/ne2100/stage1,
- tools/i386/netboot/ne2100/stage2, tools/i386/netboot/exos205/pxegrub,
- tools/i386/netboot/sis900/nbgrub, tools/i386/netboot/ne/stage1,
- tools/i386/netboot/ne/stage2, tools/i386/netboot/tulip/nbgrub,
- tools/i386/netboot/sk_g16/nbgrub, tools/i386/netboot/eepro100/pxegrub,
- tools/i386/netboot/tiara/nbgrub, tools/i386/netboot/rtl8139/stage1,
- tools/i386/netboot/rtl8139/stage2, tools/i386/netboot/tiara/pxegrub,
- tools/i386/netboot/lance/nbgrub, tools/i386/netboot/depca/nbgrub,
- tools/i386/netboot/ni6510/stage1, tools/i386/netboot/3c90x/nbgrub,
- tools/i386/netboot/ni6510/stage2, tools/i386/netboot/smc9000/stage1,
- tools/i386/netboot/smc9000/stage2, tools/i386/netboot/3c509/pxegrub,
- tools/i386/netboot/3c509/stage1, tools/i386/netboot/3c509/stage2,
- tools/i386/netboot/sis900/pxegrub, tools/i386/netboot/ne2100/pxegrub,
- tools/i386/netboot/3c595/nbgrub, tools/i386/netboot/eepro/pxegrub,
- tools/i386/netboot/wd/nbgrub, tools/i386/netboot/ns8390/nbgrub,
- tools/i386/netboot/ni5210/stage1, tools/i386/netboot/ni5010/nbgrub,
- tools/i386/netboot/ni5210/stage2, tools/i386/netboot/exos205/stage1,
- tools/i386/netboot/exos205/stage2, tools/i386/netboot/eepro100/nbgrub,
- tools/i386/netboot/3c529/stage1, tools/i386/netboot/3c529/stage2,
- tools/i386/netboot/sis900/stage1, tools/i386/netboot/tulip/stage1,
- tools/i386/netboot/sis900/stage2, tools/i386/netboot/tulip/stage2,
- tools/i386/netboot/sk_g16/stage1, tools/i386/netboot/w89c840/nbgrub,
- tools/i386/netboot/sk_g16/stage2, tools/i386/netboot/tiara/stage1,
- tools/i386/netboot/tiara/stage2, tools/i386/netboot/depca/stage1,
- tools/i386/netboot/lance/stage1, tools/i386/netboot/3c90x/stage1,
- tools/i386/netboot/depca/stage2, tools/i386/netboot/lance/stage2,
- tools/i386/netboot/3c90x/stage2, tools/i386/netboot/otulip/pxegrub,
- tools/i386/netboot/tulip/pxegrub, tools/i386/netboot/epic100/nbgrub,
- tools/i386/netboot/3c595/stage1, tools/i386/netboot/ni5210/pxegrub,
- tools/i386/netboot/3c595/stage2, tools/i386/netboot/w89c840/pxegrub,
- tools/i386/netboot/wd/stage1, tools/i386/netboot/wd/pxegrub,
- tools/i386/netboot/wd/stage2, tools/i386/netboot/otulip/nbgrub,
- tools/i386/netboot/ns8390/stage1, tools/i386/netboot/eepro/nbgrub,
- tools/i386/netboot/ni5010/stage1, tools/i386/netboot/ns8390/stage2,
- tools/i386/netboot/ni5010/stage2, tools/i386/netboot/ne2100/nbgrub,
- tools/i386/netboot/ni6510/pxegrub, tools/i386/netboot/eepro100/stage1,
- tools/i386/netboot/eepro100/stage2, tools/i386/netboot/ne/nbgrub,
- tools/i386/netboot/depca/pxegrub, tools/i386/netboot/ne/pxegrub,
- tools/i386/netboot/w89c840/stage1, tools/i386/netboot/rtl8139/nbgrub,
- tools/i386/netboot/w89c840/stage2, tools/i386/netboot/sk_g16/pxegrub,
- tools/i386/netboot/lance/pxegrub, tools/i386/netboot/ni6510/nbgrub,
- tools/i386/netboot/smc9000/nbgrub, tools/i386/netboot/3c529/pxegrub,
- tools/i386/netboot/3c595/pxegrub, tools/i386/netboot/ns8390/pxegrub,
- tools/i386/netboot/epic100/pxegrub, tools/i386/netboot/3c509/nbgrub: New
- version of grub (0.91) with allstage and pxegrub
-
- * tools/i386/netboot/3c507/pxegrub, tools/i386/netboot/3c507/stage1,
- tools/i386/netboot/3c507/stage2, tools/i386/netboot/3c503/nbgrub,
- tools/i386/netboot/3c503/pxegrub, tools/i386/netboot/3c507/nbgrub,
- tools/i386/netboot/3c503/stage1, tools/i386/netboot/3c503/stage2:
- Fixning some file missing in netboot
-
-2002/02/14 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed obsoletes management according to urpmi code.
-
-2002/02/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ga.po, share/po/cy.po, share/po/is.po, share/po/ar.po,
- share/po/sl.po, share/po/ro.po: Instead of temporary removingfiles from
- CVS put a rule in Makefile to
- don't use them (thanks Thierry)
- updated some po files; removed the ones too lowly translated for the 8.2
-
- * share/po/pt_BR.po: updted Brazilian file
- updated some po files; removed the ones too lowly translated for the 8.2
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/az.po,
- share/po/ru.po, share/po/hr.po, share/po/ko.po, share/po/nl.po,
- share/po/ja.po, share/po/sv.po, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/bs.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated some po files; removed the ones
- too lowly translated for the 8.2
-
- * share/po/vi.po: updated Vietnamese file
- updated some po files; removed the ones too lowly translated for the 8.2
-
- * share/po/Makefile: Instead of temporary removingfiles from CVS put a
- rule in Makefile to
- don't use them (thanks Thierry)
-
-2002/02/14 Pixel <pixel@mandrakesoft.com>
-
- * standalone/lsnetdrake: adapt to the neater network::smb and network::nfs
-
- * network/smbnfs.pm, network/smb.pm, network/nfs.pm: cleaner & OOed code,
- with more code sharing
-
- * interactive.pm: if testing, don't use kdesu
-
- * install_steps.pm: gzip report.bug
-
- * interactive_gtk.pm, diskdrake/interactive.pm: use the new warp_text
- feature
-
- * standalone/diskdrake: fix expert and testing options handling
-
- * my_gtk.pm (ctree_set_icon): new function
-
- * c/stuff.xs.pm: undef'ing some macros used by 2 independent sources et
- still needed :-(
- #include iconv.h is needed even when C_RPM is undefined
-
- * diskdrake/smbnfs_gtk.pm: some cleanup, icons showing wether a
- mount-point is associated are coming
-
-2002/02/14 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/br.po: update
- convert to utf-8
-
- * standalone/drakxtv: uses xawtv internal strings instead of frequencies
- tables ids as values
- in %freqtables in order to enhance drakxtv robustness when
- translators'll
- arrive. thus we'll pass right strings to scantv instead of translated
- ones
- explain how we manage the "all frequencies" case
- display sorted tv norms
-
-2002/02/13 erwan
-
- * tools/i386/netboot/device.map, tools/i386/netboot/makeImages: Adding
- missing file on netboot
-
- * tools/i386/netboot/make_boot_network, tools/i386/netboot/grub: updating
- grub in netboot
-
-2002/02/13 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: avoid generating headers for copying file in
- postinstall-rpm directory.
- make sure not to crash if a package that should have been in CD1 is
- somewhere
- else.
- fixed stupid typo.
- removed all @needToCopy... variables and now use INSTALL category in
- rpmsrate.
-
- * share/rpmsrate: updated INSTALL category with the merge of DrakX
- obsoleted list (it will use
- INSTALL now :-)
-
- * pkgs.pm: added extension to setSelectedFromCompssList.
-
- * share/rpmsrate.server: synced INSTALL category with standard rpmsrate.
-
-2002/02/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Danish and Hungarian files
-
- * share/po/da.po: updated Danish file
- updated Danish and Hungarian files
-
-2002/02/13 Pixel <pixel@mandrakesoft.com>
-
- * network/nfs.pm: $server->{ip} is no more mandatory
-
- * network/smb.pm: don't show shares ending with "$"
- $server->{ip} is no more mandatory
-
- * any.pm (setupBootloader): switch from "list" to "combo"
-
- * fs.pm (fstab_to_string): unsetting mount points in standalone will now
- work
- - handle WORM type in /proc/scsi/scsi
- - added media_type cdrom-burner
- - adapting to new media_type
- - nicer fd&hd testing
-
- * diskdrake/smbnfs_gtk.pm: have the fstab entries shown by default
-
- * detect_devices.pm, diskdrake/interactive.pm:
- - handle WORM type in /proc/scsi/scsi
- - added media_type cdrom-burner
- - adapting to new media_type
- - nicer fd&hd testing
-
-2002/02/13 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: When one visited the help page of a remote CUPS printer
- afterwards the full
- printer modification menu was shown, not only the one for remote CUPS
- printers. This is fixed now.
-
-2002/02/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/DrakX.pot: updated Czech and Walloon files
-
- * share/po/cs.po: updated Czech file
- updated Czech and Walloon files
-
-2002/02/12 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm: i prefer /(.*?)(\d+)$/ to /(.*\D)(\d+)$/
-
-2002/02/12 Till Kamppeter <till@mandrakesoft.com>
-
- * detect_devices.pm: In the USB auto-detection checked whether and where
- the device node was
- created.
-
-2002/02/12 dam's <damien@mandrakesoft.com>
-
- * share/step-red.xpm, share/step-orange.xpm, share/step-orange-click.xpm,
- share/themes/mdk-check_on.png, share/step-green-click.xpm,
- share/step-green.xpm, share/step-red-click.xpm,
- share/themes/mdk-check_off.png: new gfx
-
- * standalone/drakbackup, network/network.pm: bug correction
-
-2002/02/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/12 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm: i prefer /(.*?)(\d+)$/ to /(.*\D)(\d+)$/
-
- * docs/README.pxe: cleanup the .cfg
-
- * share/rpmsrate:
- - move bootsplash from SYSTEM to X
- - lower Aurora
-
-2002/02/12 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed:
- - Endless loop when entering printerdrake during installation in
- recommended
- mode without local printer
- - Printerdrake was not closed when one was in the "Add Printer"
- sequence
- during installation and one clicked another installation item (entries
- on left hand side)
- - When configuring printing only after installation Printerdrake tried
- to
- check the installed queues without Foomatic being installed (bug was
- already in 8.1, but noone discovered it).
- - CUPS died when one tried to add a (local) printer in recommended
- mode
- after installation.
- - Improved text for the dialog telling that no local printer was
- detected.
- - The list of auto-detected printers appeared as drop-down menu and
- not as
- a list.
-
- * detect_devices.pm: In the USB auto-detection checked whether and where
- the device node was
- created.
- Fixes on device auto-detection:
- - Made USB printer auto-detection routine in "detect_devices.pm"
- creating
- the appropriate device nodes (needed for USB printers being recognized
- during installation).
- - Fixed "devices.pm" to be able to handle device files with numbers
- geater
- than 9 (ex: /dev/usb/lp10).
-
- * standalone/printerdrake:
- - Assure that Foomatic is installed before checking existing printer
- queues.
-
- * devices.pm: Fixes on device auto-detection:
- - Made USB printer auto-detection routine in "detect_devices.pm"
- creating
- the appropriate device nodes (needed for USB printers being recognized
- during installation).
- - Fixed "devices.pm" to be able to handle device files with numbers
- geater
- than 9 (ex: /dev/usb/lp10).
-
- * printer.pm: Added forgotten '$prefix'es.
- Fixed:
- - Endless loop when entering printerdrake during installation in
- recommended
- mode without local printer
- - Printerdrake was not closed when one was in the "Add Printer"
- sequence
- during installation and one clicked another installation item (entries
- on left hand side)
- - When configuring printing only after installation Printerdrake tried
- to
- check the installed queues without Foomatic being installed (bug was
- already in 8.1, but noone discovered it).
- - CUPS died when one tried to add a (local) printer in recommended
- mode
- after installation.
- - Improved text for the dialog telling that no local printer was
- detected.
- - The list of auto-detected printers appeared as drop-down menu and
- not as
- a list.
-
-2002/02/11 dam's <damien@mandrakesoft.com>
-
- * share/list: added modinfo
-
- * network/netconnect.pm: added cancel for first step
-
-2002/02/11 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: fixed syntax error...
-
- * Xconfigurator.pm: avoid testing fbdev driver.
-
- * install_steps.pm: added Aurora or bootsplash for getting a need on frame
- buffer.
- added fbdev for GeForce Integrated.
-
-2002/02/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/vi.po, share/po/hu.po: updated Danish,
- Hungarian and Vietnamese files
-
-2002/02/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: booh, fpons was faster than me on "bootsplash wanting
- fb". Keeping my solution ;p
-
- * c/stuff.xs.pm: "standard_charset" and "iconv" are needed even when C_RPM
- is undefined
-
- * any.pm: allow to edit the initrd field (thx to randy.k.wilson)
-
- * install_any.pm (@needToCopy): add "ntp"
-
-2002/02/11 warly
-
- * share/rpmsrate: remove dev from INSTALL, the sun is rising, and there
- are no more needs to have ppp in the INSTALL section, as the darkness is
- going away...
-
-2002/02/10 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: in case there is both ata66 (hde) and ata33 hard drives, go to
- expert
- questions directly (it would need a semi_auto asking on which drive the
- bios
- boots...)
-
-2002/02/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
-2002/02/09 daouda
-
- * share/rpmsrate:
- - add rfbdrake to NETWORKING_REMOTE_ACCESS and
- NETWORKING_REMOTE_ACCESS_SERVER
-
-2002/02/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help.pm file
-
- * share/po/fi.po, share/po/DrakX.pot, share/po/help_xml2pm.pl,
- share/po/es.po, share/po/fr.po, share/po/sv.po, share/po/da.po,
- share/po/de.po, share/po/hu.po, share/po/it.po, share/po/eu.po: merged
- with the manual help
-
-2002/02/09 warly
-
- * share/rpmsrate: add ppp in INSTALL
- add dev in INSTALL
-
-2002/02/08 dam's <damien@mandrakesoft.com>
-
- * pixmaps/wiz_drakgw.png, pixmaps/wiz_default_up.png,
- pixmaps/wiz_firewall.png, pixmaps/wiz_draknet.png: new gfx
-
- * network/network.pm: corrected wireless modules
-
-2002/02/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/locales-skeleton.tar.bz2: Added choice of charset for
- various languages
-
-2002/02/08 Pixel <pixel@mandrakesoft.com>
-
- * docs/SHORTCUTS: add F1 & F2
-
-2002/02/08 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added instructions for scanning on HP's MF devices to
- the printer help page.
- HP PhotoSmart printers do not scan, so do not show how to scan with
- them.
- Do not let dialogs of network configuration correction appear embedded
- in the "Add printer" wizard.
- Completed wizard mode for adding a printer in both recommended and
- expert mode.
-
- * printer.pm: Enabled transferring queues of HP multi-function devices
- between spoolers.
- CUPS 1.1.13 dies on SIGHUP, do normal restart instead.
- Completed wizard mode for adding a printer in both recommended and
- expert mode.
-
-2002/02/08 warly
-
- * share/rpmsrate: add bootsplash in system 4
-
-2002/02/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/07 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm: fix error causing a bad window sizing when there is
- a horiz scroll
-
-2002/02/07 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: fixed shadow when testing X
-
-2002/02/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/help_xml2pm.pl: fixed email address
-
-2002/02/07 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/smbnfs_gtk.pm:
- - don't pop the "do you want to install samba?"
- - rwindow is not a window when embedded, so set_default_size only if
- possible
-
- * my_gtk.pm: make perl_checker happy
- ensure no more than one child is in the Plug
-
- * interactive.pm: fix (causing XFdrake to use a combo instead of a list)
-
- * interactive_gtk.pm: fix error causing a bad window sizing when there is
- a horiz scroll
- (exit): ensure USR1 is sent to mcc
-
- * Xconfigurator.pm: allow to edit the hsyncrange and vsyncrange when
- choosing monitor "Custom"
-
- * install2.pm, install_steps.pm: create and use miscellaneousAfter (so
- that SECURE_LEVEL is set *after* asking)
-
- * diskdrake/interactive.pm (Options): wrap the help text
-
- * standalone/diskdrake: handle --embedded xxx xxx
-
-2002/02/07 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * standalone/drakxtv, Makefile.config: add drakxtv (scantv gui)
-
- * standalone/localedrake: fix pixel stuff: don't restart wm on cancel
-
-2002/02/07 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: beta 2
-
- * printerdrake.pm: corrected wizard pb
-
- * my_gtk.pm: wizard fixes
-
-2002/02/07 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount): precise the type when mounting in standalone (for smb,
- nfs would not need it)
-
- * diskdrake/smbnfs_gtk.pm:
- - don't pop the "do you want to install samba?"
- - rwindow is not a window when embedded, so set_default_size only if
- possible
-
- * interactive.pm: fix (causing XFdrake to use a combo instead of a list)
-
- * my_gtk.pm: ensure no more than one child is in the Plug
-
- * standalone/diskdrake: handle --embedded xxx xxx
-
- * interactive_gtk.pm (exit): ensure USR1 is sent to mcc
-
-2002/02/06 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: removed ugly pink and ugly left bar for wizard mode
-
-2002/02/06 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem, tools/oem-prepare: better handling of group linked
- to hardware or options.
-
-2002/02/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: have frozen-bubble in GAMES at level 4
-
-2002/02/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po, share/po/fi.po, share/po/DrakX.pot: updated French file
-
-2002/02/06 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Automatic configuration of the scanning part of HP's
- multi-function devices.
-
- * printerdrake.pm: Added some stuff for the Wizard mode.
- Automatic configuration of the scanning part of HP's multi-function
- devices.
- Updated automatic package installation in printerdrake, no "kups" and
- "qtcups" any more, but "gpr", "a2ps", and "hpoj", updated also
- "rpmsrate" and "rpmsrate.server" appropriately.
-
- * share/rpmsrate.server, share/rpmsrate: Added scanning packages to
- INSTALL section, for HP MF device installation by printerdrake.
- Updated automatic package installation in printerdrake, no "kups" and
- "qtcups" any more, but "gpr", "a2ps", and "hpoj", updated also
- "rpmsrate" and "rpmsrate.server" appropriately.
-
-2002/02/05 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Added automatic configuration of HPOJ for
- HP's multi-function devices.
-
-2002/02/05 dam's <damien@mandrakesoft.com>
-
- * standalone/logdrake: wizard updated
- correction for mcc.
-
-2002/02/05 François Pons <fpons@mandrakesoft.com>
-
- * share/rpmsrate.server: synced with normal rpmsrate for Basque
- management.
-
- * install2.pm: auto_allocate for oem mode is not needed as oem script
- create all necessary partition.
-
- * install_any.pm: add support for Basque (no KDE).
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: newer syslinux 1.67.
-
- * share/rpmsrate: add support for Basque (no netscape in such case)
-
- * rescue/tree/etc/oem: select preferred kernel as kernel-\d.
-
- * install_steps.pm: fixed logic, when someone want /root/drakx,
- it has to check /root/drakx and not /root only.
-
-2002/02/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/tree/sbin/modprobe: don't do insmod -f, it's not really necessary
- and it taints the kernel (pabo)
-
- * rescue/tree/etc/profile: use LD_LIBRARY_PATH in rescue so that PATH'ing
- in /mnt
- can really be used
-
-2002/02/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/es.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/no.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/05 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: fix "help lilo when there is hdd with no hdc drive"
-
- * Xconfigurator.pm: testFinalConfig now always returns true if test is
- skipped because of a bad_card (back to the old behaviour, this was no
- good (the aim is to enable changing the monitor when test is skipped))
-
- * share/po/fr.po: fix "Details" translated in "Détails de la partition"
- but is used at different
- place where the meaning has nothing to do with "partitions"
-
-2002/02/05 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Added automatic configuration of HPOJ for
- HP's multi-function devices.
-
-2002/02/05 warly
-
- * share/compssUsers.server: remove non server group from rpmsrate.server
- add utilities group in compssUser.server
- (webmin,ssh-server,wizards,monitoring)
-
- * share/rpmsrate.server: begin rpmsrate.server cleaning
-
-2002/02/05 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: fix "help lilo when there is hdd with no hdc drive"
-
- * Xconfigurator.pm: testFinalConfig now always returns true if test is
- skipped because of a bad_card (back to the old behaviour, this was no
- good (the aim is to enable changing the monitor when test is skipped))
-
-2002/02/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: log the "chkconfig --del gpm" when there is a serial
- mouse
-
-2002/02/04 dam's <damien@mandrakesoft.com>
-
- * standalone/logdrake: corrected typo. Yvounet, check your code!!
- embedded, explain
-
- * my_gtk.pm: bug correction
-
- * standalone/drakfont, services.pm, network/netconnect.pm: applied cooker
- guy english review
-
-2002/02/04 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added v4l module all the time (along with dbe already
- present).
-
-2002/02/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps.pm: have numlock activated when isLaptop rather than
- $o->{pcmcia}
-
-2002/02/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/zh_CN.po, share/po/no.po, share/po/fi.po,
- share/po/DrakX.pot, share/po/th.po, share/po/es.po, share/po/fr.po,
- share/po/sr.po, share/po/el.po, share/po/et.po, share/po/sk.po,
- share/po/tr.po, share/po/eu.po, share/po/sl.po, share/po/vi.po,
- share/po/uk.po, share/po/eo.po, share/po/nl.po, share/po/wa.po,
- share/po/sv.po, share/po/zh_TW.po: updated some po files
-
-2002/02/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix creating /etc/security/msec/server
-
- * share/po/fr.po: fix "More" translation
-
-2002/02/04 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Made HP multi-function devices configured
- with HPOJ being displayed correctly by printerdrake.
-
- * detect_devices.pm: Replace "Hewlett-Packard" by "HP" when HP device is
- detected on a parallel port.
-
-2002/02/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update french translations
-
-2002/02/03 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: force a few more "list"s instead of "combo" boxes
- since "format" is now handled for combo boxes, combo boxes are used in
- much too many places. Fix this by forcing type "list" for some cases,
- and using type "list" when a ask_from has only one entry
-
- * interactive.pm: since "format" is now handled for combo boxes, combo
- boxes are used in much too many places. Fix this by forcing type "list"
- for some cases, and using type "list" when a ask_from has only one entry
-
- * bootloader.pm:
- - fix some vga text modes 80x30
- - chmod 600 lilo.conf when a password is given
- - fix general "append"
- (thanks to David Eastcott)
- "password" works without "restricted", not the other way round (reported
- by David Eastcott)
- fix typo
-
-2002/02/03 warly
-
- * share/rpmsrate.server: synchronize with current cooker rpmsrate
-
-2002/02/03 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: force a few more "list"s instead of "combo" boxes
- since "format" is now handled for combo boxes, combo boxes are used in
- much too many places. Fix this by forcing type "list" for some cases,
- and using type "list" when a ask_from has only one entry
-
- * interactive.pm: since "format" is now handled for combo boxes, combo
- boxes are used in much too many places. Fix this by forcing type "list"
- for some cases, and using type "list" when a ask_from has only one entry
-
- * bootloader.pm: fix typo
- help lilo when there is hdd with no hdc drive (needs testing!)
-
-2002/02/03 warly
-
- * share/rpmsrate.server, share/compssUsers.server: add rpmsrate.server and
- compssUsers.server
-
-2002/02/03 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: help lilo when there is hdd with no hdc drive (needs
- testing!)
-
-2002/02/03 warly
-
- * share/rpmsrate.server, share/compssUsers.server: add rpmsrate.server and
- compssUsers.server
-
-2002/02/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: XFree is now 4.2
-
- * standalone/fileshareset: fix dropping samba sections which don't have
- any "path="
-
-2002/02/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po, share/po/DrakX.pot: updated Swedish file
-
- * share/po/fr.po: merged again French file to recover some lost strings;
- and added non breakable spaces at all the needed places as required
- by French typography
-
-2002/02/01 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm: please perl_checker
-
- * install_interactive.pm: use from_Mb for choosing the size of the windows
- partition
-
- * install_steps.pm: create symlink /etc/security/msec/server in security >
- 3
-
-2002/02/01 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: First steps of the implementation for the "Add printer"
- wizard.
-
- * detect_devices.pm: Made auto-detection working for HP DeskJet 840C on
- USB
- General improvements for reliability of USB printer auto-detection
-
-2002/02/01 yduret
-
- * pixmaps/wiz_scannerdrake.png: readding it with -kb option (i am still
- jeune and boulet)
- rm for readding with -kb option (i am jeune and boulet)
-
- * standalone/logdrake: ergo fix thx dadou report
- fix --explain=foo bug that prevent to show anything
-
- * bootlook.pm: ergo fix thx dadou report...
-
-2002/02/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * services.pm, standalone/drakbackup, printerdrake.pm,
- standalone/logdrake: changed some strings to make translation easier
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/no.po, share/po/fi.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/02/01 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm: please perl_checker
-
- * install_interactive.pm: use from_Mb for choosing the size of the windows
- partition
-
- * Xconfigurator.pm: testFinalConfig now returns false if test is skipped
- because of a bad_card or
- verybad_card and $skip_badcard is not set
-
-2002/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/keyboards.tar.bz2, keyboard.pm: Added Tamil language and
- keyboard choices (KDE is translated to Tamil)
-
-2002/01/31 yduret
-
- * pixmaps/wiz_scannerdrake.png: on rajoute la zolie image
-
-2002/01/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * Xconfigurator.pm: Added setting of model=jp106 for Japanese keyboard
-
- * keyboard.pm, share/keyboards.tar.bz2: Added Bulgarian "phonetic"
- keyboard
-
- * lang.pm: Enabled "ms" language in the language selection list (there are
- Gnome and KDE
- translations for it)
-
- * share/po/be.po, share/po/zh_CN.po, share/po/no.po, share/po/fi.po,
- share/po/es.po, share/po/bg.po, share/po/de.po, share/po/et.po,
- share/po/el.po, share/po/ru.po, share/po/br.po, share/po/uk.po,
- share/po/eo.po, share/po/bs.po, share/po/nl.po, share/po/ro.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/hu.po:
- updated some po files
-
-2002/01/30 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add gnome-core in GNOME (used to be required?)
-
- * Xconfigurator_consts.pm, Xconfigurator.pm: move "what is the
- running_window_manager" and "ask_window_manager_to_logout" to any.pm
-
- * any.pm (ask_window_manager_to_logout, running_window_manager): created
- from Xconfigurator and cleaned
- (selectLanguage): if $langs is empty, don't ask for "other languages"
-
- * pixmaps/wiz_printerdrake.png: re-adding with -kb
- removing for re-adding with -kb
-
- * standalone/localedrake: now works in normal user: it modifies the
- ~/.i18n (todo: handle kde crazy variables?)
-
- * lang.pm: handle read'ing and write'ing to a specified file (useful
- example: ~/.i18n)
-
-2002/01/30 sdupont
-
- * standalone/drakbackup: complex merging....
- change /var/drakbackup to /var/lib/drakbackup
- crontab update
- mail report update
- sendmail update
- require rpm mode
- code optimisation
- remove about gi
- new help function
-
-2002/01/29 Till Kamppeter <till@mandrakesoft.com>
-
- * pixmaps/wiz_printerdrake.png: Added logo for the "Add Printer" wizard of
- printerdrake.
-
- * printer.pm, printerdrake.pm: Prepared printerdrake for the "Add printer"
- wizard.
- Improvements for the selection of a local printer, especially when no or
- one printer was detected.
-
-2002/01/29 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: icons placements are better
-
-2002/01/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakbug_report, standalone/drakautoinst, install2.pm,
- install_any.pm, install_steps.pm, log.pm, docs/README, pkgs.pm: move
- /root/* files (ddebug.log, install.log, report.bug,
- auto_inst.cfg.pl, replay_install.img) to /root/drakx/,
- and also save stage1.log there
-
- * partition_table_raw.pm: add new pixel-made grub signature
-
- * crypto.pm: update land2tzs accordingly to new url2land
- Add url2land entries for nl, it, at
-
- * any.pm: move /root/* files (ddebug.log, install.log, report.bug,
- auto_inst.cfg.pl, replay_install.img) to /root/drakx/,
- and also save stage1.log there
- rephrase a little bit highest level
- to not refer to "level 4" anymore
- use formatAlaTeX for describing security levels
-
- * install_steps_interactive.pm: fix thanks to chipaux msg about mkbootdisk
-
-2002/01/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po, share/po/sv.po, share/po/hr.po, share/po/de.po,
- share/po/DrakX.pot, help.pm, share/po/it.po, share/po/eu.po,
- share/po/es.po: updated pot file with help messages from manual
-
-2002/01/29 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: handle "format" for combo's
-
- * bootloader.pm: use the new format for combo's to clean code handling
- {vga} field
-
- * diskdrake/hd_gtk.pm: look diskdrake.rc in another directory
-
- * any.pm: use the new format for combo's to clean code handling {vga}
- field
- handle the case where samba and/or nfs-utils are not installed
-
- * install_steps.pm: move the various bootloader::add_append's in
- setupBootloaderBefore
-
- * diskdrake/smbnfs_gtk.pm: handle the case where samba and/or nfs-utils
- are not installed
-
- * install_steps_interactive.pm: visually unselect X and docs when minimal
- install
- "With X" choice is now working
- handle "Cancel" on language selection
-
-2002/01/29 Till Kamppeter <till@mandrakesoft.com>
-
- * pixmaps/wiz_printerdrake.png: Added logo for the "Add Printer" wizard of
- printerdrake.
-
- * printer.pm, printerdrake.pm: Prepared printerdrake for the "Add printer"
- wizard.
- Improvements for the selection of a local printer, especially when no or
- one printer was detected.
-
-2002/01/29 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * interactive.pm: fix pixel's minimal example using interactive.
-
-2002/01/29 yduret
-
- * docs/interactive/ask_from_list, docs/interactive/wait_message,
- docs/interactive/ask_from_treelist, docs/interactive/ask_from_listf,
- docs/interactive/ask_from: added some snipet coe for example
-
- * standalone/logdrake: logdrake is now under gi/perl-install/standalone
-
-2002/01/29 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake/hd_gtk.pm: look diskdrake.rc in another directory
-
- * install_steps.pm: move the various bootloader::add_append's in
- setupBootloaderBefore
-
-2002/01/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: do the few new translations
-
- * standalone.pm: try to reflect hierarchy for */*.pm
-
-2002/01/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/no.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/de.po,
- share/po/sk.po, crypto.pm, share/po/tr.po, share/po/eu.po,
- printerdrake.pm, standalone/draknet, share/po/vi.po, share/po/ko.po,
- share/po/uk.po, share/po/nl.po, share/po/bs.po, share/po/ja.po,
- standalone/drakbackup, share/po/wa.po, share/po/sv.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/hu.po, share/po/af.po,
- share/po/id.po: Corrected various English typos
-
-2002/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix typo
-
- * partition_table.pm: warn if partitions have been renumbered due to a
- partition being added or removed
-
- * diskdrake/interactive.pm: don't warn_if_renumbered during install
- warn if partitions have been renumbered due to a partition being added
- or removed
-
-2002/01/28 siegel
-
- * share/po/de.po: new german version
-
-2002/01/28 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Replaced "sleep" commands by a subroutine which waits
- exactly until CUPS is ready.
- CUPS >= 1.1.12 needs to "know" all devices, let CUPS restart if a device
- is not "known" to it.
-
- * printer.pm: Removed debug helper line.
- Replaced "sleep" commands by a subroutine which waits exactly until CUPS
- is ready.
- CUPS >= 1.1.12 needs to "know" all devices, let CUPS restart if a device
- is not "known" to it.
-
-2002/01/28 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/br.po: update brezhoneg translations
-
- * share/po/fr.po: more french translations
-
-2002/01/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/no.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/de.po,
- share/po/sk.po, crypto.pm, share/po/tr.po, share/po/eu.po,
- printerdrake.pm, standalone/draknet, share/po/vi.po, share/po/ko.po,
- share/po/uk.po, share/po/nl.po, share/po/bs.po, share/po/ja.po,
- standalone/drakbackup, share/po/wa.po, share/po/sv.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/hu.po, share/po/af.po,
- share/po/id.po: Corrected various English typos
-
-2002/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix typo
-
- * diskdrake/interactive.pm, partition_table.pm: warn if partitions have
- been renumbered due to a partition being added or removed
-
-2002/01/28 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm, network/netconnect.pm: debug network testing
-
-2002/01/28 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: updated color of
- scroll bar and reduced its size.
-
- * bootloader.pm: fixed get_append if key=mem.
- timeout passed to 10 instead of 5.
-
-2002/01/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: update games rates
-
-2002/01/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (remove_advertising): ensure removing /tmp/drakx-images
- can't fail
-
- * any.pm: simpler&nicer solution for writing kppprc in utf8
- have kppprc strings in utf8
-
- * detect_devices.pm: remove test code
-
- * install_steps.pm, bootloader.pm: cleanup perImageAppend code (hopefully
- handling nicely the mem=nopentium case)
-
- * diskdrake/smbnfs_gtk.pm: don't use wait_message's when waiting (waiting
- is usually very short), use a waiting cursor instead.
- (the wait_message's were causing bad interactivity stuff)
-
-2002/01/27 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: add a minimal example
-
- * services.pm:
- - move the require on my_gtk to ask_standalone_gtk
- - cleanup
-
- * Makefile.config:
- - adapt to new diskdrake modules
- - add logdrake to STANDALONEPMS_
-
- * my_gtk.pm: strange protection against ensure_focus generating a "focus"
- event causing a
- dead-loop (reminder: ensure_focus helps ensuring a widget is focused)
-
- * Makefile.drakxtools, standalone.pm, Makefile, diskdrake_interactive.pm,
- install_interactive.pm, diskdrake.pm:
- - adapt to new diskdrake modules
- - some cleanup in drakxtools build
-
- * diskdrake/removable.pm: remove debugging code
- new diskdrake modules (diskdrake_interactive is now
- diskdrake::interactive, diskdrake is now diskdrake::hd_gtk, others
- created from diskdrake.pm)
-
- * diskdrake/interactive.pm, diskdrake/hd_gtk.pm,
- diskdrake/removable_gtk.pm: new diskdrake modules (diskdrake_interactive
- is now diskdrake::interactive, diskdrake is now diskdrake::hd_gtk,
- others created from diskdrake.pm)
-
- * diskdrake/smbnfs_gtk.pm: fix updating the actions
- new diskdrake modules (diskdrake_interactive is now
- diskdrake::interactive, diskdrake is now diskdrake::hd_gtk, others
- created from diskdrake.pm)
-
- * network/nfs.pm: find_exports: add a timeout
-
- * fs.pm: new function fstab_to_string
-
- * standalone/diskdrake: handle --removable *and* --removable=<dev>
- handle --removable=<dev>
- - new options --hd, --nfs, --smb, --removable
- - adapt to new diskdrake modules
- - save $all_hds->{current_fstab} to know if /etc/fstab must be saved
-
-2002/01/25 fabman
-
- * share/po/es.po: updated spanish translation
-
-2002/01/25 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add devfsd
-
- * install_any.pm: remove_advertising: use rm_rf since we don't have the
- real list of files (the .pl's are not in @advertising_images)
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove 'ncr53c8xx'
-
-2002/01/25 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Less important options only shown when
- "Advanced" button clicked.
- Handling of cursor position in the main window improved.
- Handling of empty printer queue list in main window improved.
- Removed line breaks from longer texts, so that text flows into window
- nicely
- Minor text improvements.
-
-2002/01/25 dam's <damien@mandrakesoft.com>
-
- * install_any.pm: advertising engine updated
-
- * share/logo-mandrake.png: beta logo
-
- * install_steps_gtk.pm: corrected decy
- advertising engine updated
-
-2002/01/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: please find a better fix
-
-2002/01/25 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: prefer default linux-{smp,enterprise,secure} over simple
- linux
- fix spelling
-
- * Makefile: call clean-rpmsrate
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove 'ncr53c8xx'
-
-2002/01/25 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm, install_any.pm: advertising engine updated
-
- * share/po/fr.po: typo
-
- * share/logo-mandrake.png: beta logo
-
-2002/01/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: please find a better fix
-
-2002/01/25 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/Makefile: ensure errors propagate
-
- * bootloader.pm: prefer default linux-{smp,enterprise,secure} over simple
- linux
- fix spelling
-
- * Makefile: call clean-rpmsrate
-
- * mdk-stage1/pci-resource/Makefile: silly shell
- ensure errors propagate
-
-2002/01/25 dam's <damien@mandrakesoft.com>
-
- * share/po/fr.po: typo
- corrected too long label Mise à niveau deas paquetages seule. please
- find a better FIX
-
-2002/01/25 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: cosmetic changes.
-
- * pkgs.pm: fixed try opening to trigger changeCD callback.
-
-2002/01/24 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate:
- - add msec in any install
- - use BIGMEM flag for kernel-enterprise
- - use SMP flag for kernel-smp
- (those 2 goes together with Warly's clean-rpmsrate)
- add flag DOCS which should work together with !excludedocs
-
- * any.pm: ensure grub is installed if grub is chosen
-
- * install_any.pm:
- - add DOCS (based on !excludedocs)
- - set BIGMEM and SMP flags
- (since kernel-smp and kernel-enterprise sub-numbers are better handled
- by
- rpmsrate together with Warly's clean-rpmsrate)
-
- * install_steps_interactive.pm, install2.pm: minimal install now handles
- excludedocs
-
- * install_steps.pm: log excludedocs
- minimal install now handles excludedocs
- put devfs=mount only if devfsd is installed
-
- * diskdrake_interactive.pm: truncate lvm name to 63 characters since
- longer vg names are not allowed
-
-2002/01/24 Till Kamppeter <till@mandrakesoft.com>
-
- * detect_devices.pm, printer.pm, printerdrake.pm: Fixed bug of empty menu
- entry appearing after adding a new printer.
- Modified "Local Printer" dialog to be more newbie-friendly.
-
-2002/01/23 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm: updated speedtouch code to use pppoa3
-
- * my_gtk.pm: removed font loading
-
-2002/01/23 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: fixed to allow multiple mem=xxx parameter (especially
- mem=nopentium).
-
- * install_steps.pm: restored mem=nopentium.
- removed mem=nopentium.
-
-2002/01/23 Pixel <pixel@mandrakesoft.com>
-
- * standalone/fileshareset: name mangling max length set to 12
- use name mangling for samba labels
-
-2002/01/23 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: New user interface in main window
- More printer info in printer modification window
- Better support for remote CUPS printers
-
-2002/01/22 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: improved widget_icons
-
- * install_steps.pm: added net_cnx_pg output when configuring network in
- auto install
-
-2002/01/22 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added support to save already existing synthesis file.
-
- * install_any.pm: changed code to build synthesis file, check if they have
- not already been copied
- from mirror, or build them using parsehdlist.
-
-2002/01/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: Translate a few things more
-
-2002/01/22 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: cleanup error messages (and fix diskdrake's)
- defaults to ext3 instead of ext2
-
- * interactive.pm: add "quit_if_double_click" and "tree_expanded" flags
- (request from till)
- add feature "allow_empty_list" for "list" entries (disables the special
- cases for 0 and 1 element lists)
-
- * install_any.pm, diskdrake.pm: cleanup error messages (and fix
- diskdrake's)
-
- * install_interactive.pm, raid.pm: defaults to ext3 instead of ext2
-
- * partition_table.pm: remove unused auto_win_extended stuff
- handle extended partitions with no partitions inside (esp. for the first
- hda5 & windows XP)
-
- * bootloader.pm:
- - fix default not being formatted like labels for lilo
- - check the label is not already used *case-sensitively*
- - check a kernel_or_dev is given
-
- * any.pm:
- - remove the default entry when that entry is removed
- - use allow_empty_list for displaying the entries
- - fix default not being formatted like labels for lilo
- - check the label is not already used *case-sensitively*
- - check a kernel_or_dev is given
-
- * fsedit.pm: yet again better error reporting
- defaults to ext3 instead of ext2
-
- * standalone/drakboot, bootlook.pm: fix yves's code duplication of
- lilo_choice (use $::lilo_choice in bootlook)
-
- * interactive_gtk.pm: add "quit_if_double_click" and "tree_expanded" flags
- (request from till)
-
- * install_steps_interactive.pm: cleanup error messages (and fix
- diskdrake's)
- better messages for the minimal installs
-
- * standalone/diskdrake: yet again better error reporting
- cleanup error messages (and fix diskdrake's)
-
- * share/rpmsrate: move mandrake-mime from SYSTEM to X
- lower sndconfig
-
-2002/01/22 fcrozat
-
- * share/rpmsrate: Really install gnome control center when installing
- GNOME
-
-2002/01/22 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: added mem=nopentium for any Athlon or Duron processor.
-
-2002/01/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * Makefile: exclude standalone from testing
-
- * share/po/fr.po: resolve small conflict
-
-2002/01/22 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: add the new "mii" module to 'net_raw'
-
- * install_steps_interactive.pm: better messages for the minimal installs
- fix a few cancel's (reported by slegros)
- don't ask security level in non-expert
-
- * install_steps_gtk.pm, install_interactive.pm: fix a few cancel's
- (reported by slegros)
-
- * share/rpmsrate: move mandrake-mime from SYSTEM to X
- lower sndconfig
-
-2002/01/21 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, my_gtk.pm: hopefully better dialog box sizing
-
- * install_steps_interactive.pm, install2.pm: can't call
- any::config_libsafe so early during install, move it where msec is
- called
-
- * any.pm: quiet perl's warning
-
-2002/01/21 dam's <damien@mandrakesoft.com>
-
- * install_steps.pm: fixed network conf in auto install
- corrected network down
-
- * my_gtk.pm: removed debug print
- icons widget improvment : icon placment, highlighting
-
-2002/01/21 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: increase the size of the "Choose action" box
-
- * diskdrake_interactive.pm: remove the "Active" partition feature
-
- * interactive_gtk.pm, my_gtk.pm: hopefully better dialog box sizing
-
- * install2.pm: can't call any::config_libsafe so early during install,
- move it where msec is called
-
- * install_steps_interactive.pm: can't call any::config_libsafe so early
- during install, move it where msec is called
- cleanup, update, enhance security level choice
-
- * standalone/draksec: cleanup, update, enhance security level choice
-
- * install_steps.pm: remove deprecated msec groups adding
- cleanup
-
- * tools/i386/netboot/stage2.3c90x, tools/i386/netboot/grub: newer grub
-
- * any.pm: quiet perl's warning
- cleanup, update, enhance security level choice
- when creating users, add handling of xgrp/rpm/adm/wheel groups in high
- security
- fix advice about "usermod -G"
-
- * tools/i386/netboot/menu.lst.example: add gateway parameter
-
-2002/01/21 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: new ugly icon
-
- * install_steps.pm: corrected network down
-
-2002/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2002/01/21 Pixel <pixel@mandrakesoft.com>
-
- * share/fonts.tar.bz2: add helvR12_iso15
-
- * install_steps_interactive.pm: """ When I choose a / partition smaller
- than 200 MB, the installation
- gives me an error message complaining that my system does not
- have enough free space for the installation, although basesystem
- install
- require less than 100 MB. """
- up to around 250MB, minimal install is chosen.
- questions are: base system only, or no X, or normal.
-
-2002/01/21 siegel
-
- * share/po/de.po: updates
-
- * standalone/drakbackup: fixed i18n bugs
-
-2002/01/20 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: call msec with run_commands=0 to fix the network reloading
- (causing various problems, esp. "Net::FTP: Timeout" at X config step)
-
-2002/01/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakbackup: sorry, _("$_") is not allowed
-
-2002/01/20 Pixel <pixel@mandrakesoft.com>
-
- * share/po/fr.po: fix "`msgid' and `msgstr' entries do not both end with
- '\n'"
-
- * install2.pm: call msec with run_commands=0 to fix the network reloading
- (causing various problems, esp. "Net::FTP: Timeout" at X config step)
-
-2002/01/20 yduret
-
- * timezone.pm: added Italy (time.ien.it) in
-
-2002/01/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * standalone/drakbackup: Rework English syntax in drakbackup - hopefully
- I've got the intent correct ;^)
-
-2002/01/19 Till Kamppeter <till@mandrakesoft.com>
-
- * detect_devices.pm: Replaced USB printer auto-detection by a more
- reliable method.
-
-2002/01/18 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: changed Update -> Upgrade for installation
- class.
-
-2002/01/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/draknet:
- - move 'use standalone' up to comply to 'explanations'
- - fix an english typo, s/connexion/connection/
-
- * standalone/drakgw:
- - move 'use standalone' up to comply to 'explanations'
- - write higher-level 'explanations'
- - small fix, s/`ls ..`/glob(..)/
-
- * standalone/scannerdrake:
- - move 'use standalone' up to comply to 'explanations'
- - fix a small english problem
-
- * share/po/fr.po: reduce a lot of fuzzy and untranslations
- large stuff from printerdrake, drakbackup and drakfont still to do :-)
-
- * c/stuff.xs.pm, standalone/printerdrake, standalone/net_monitor,
- standalone/drakautoinst, standalone/keyboarddrake,
- standalone/localedrake, standalone/livedrake, standalone/drakboot,
- standalone/draksec, standalone/tinyfirewall, standalone/mousedrake,
- standalone/drakxservices, standalone.pm, standalone/drakproxy,
- standalone/XFdrake, standalone/diskdrake, standalone/adduserdrake,
- standalone/drakxconf, log.pm, standalone/logdrake,
- standalone/drakbackup, standalone/drakfont:
- - write the 'common' part of the 'explanations' stuff,
- with nice help from Pixel for the tough Perl part
- - move 'use standalone' up in all standalone apps,
- to comply to 'explanations'
-
-2002/01/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2,
- share/fonts.tar.bz2: changes to get in line with new XFree86
-
-2002/01/18 Pixel <pixel@mandrakesoft.com>
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: find the X11
- locale on the box so that XI18N_OBJS's and common are included
-
-2002/01/18 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: add update flag for urpmi medium.
-
- * install_steps_interactive.pm: even if user cancel update of package on
- tree, allow urpmi to install the medium.
- avoid downNetwork as no difference are made between ethernet or ppp.
- fixed typo.
- allow cancel when installUpdates.
-
- * crypto.pm: add update medium for crypto for urpmi (flag update).
- fixed typo.
- allow selection/deselection of update medium (for cancel of
- installation).
-
- * install_steps_gtk.pm: allow choosePackageTree to display a cancel if a
- specific medium has been given.
-
-2002/01/18 Pixel <pixel@mandrakesoft.com>
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: find the X11
- locale on the box so that XI18N_OBJS's and common are included
-
-2002/01/18 sdupont
-
- * standalone/drakfont: update warning messages (qa).
-
- * standalone/drakbackup: fix traduction problems and more ...
-
-2002/01/17 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm, diskdrake_interactive.pm: better error message when auto
- allocate doesn't do anything
-
-2002/01/17 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm, network/netconnect.pm: draknet : success message only
- if success
-
- * my_gtk.pm: added timeout for redrawing icon widget
-
-2002/01/17 fcrozat
-
- * share/rpmsrate: kdebase-nsplugins will be installed by default when
- selecting KDE
-
-2002/01/17 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: avoid upgrading a package by selection on files unless it has
- been obsoleted.
-
-2002/01/17 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: check the mountpoint is valid for encrypting (disallow "/"
- and "/usr")
-
- * fsedit.pm, diskdrake_interactive.pm: better error message when auto
- allocate doesn't do anything
- check the mountpoint is valid for encrypting (disallow "/" and "/usr")
-
- * fs.pm: do not create /swap
-
- * services.pm: move service apcupsd from Printing to System
-
- * bootloader.pm: fix many disks bios remapping (esp. booting on scsi when
- ide is present)
-
-2002/01/17 sdupont
-
- * standalone/drakbackup: stable version for qa pkg.
- (without unstables options)
-
-2002/01/16 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix cancel on scsi module loading
-
-2002/01/16 sdupont
-
- * standalone/drakbackup: update send mail.
- (pixel mode. ;))
-
-2002/01/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: installUpdates: use formatAlaTeX
-
-2002/01/16 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix cancel on scsi module loading
-
- * install_steps_interactive.pm: don't drop default_packages in "Base
- system only"
-
- * standalone/fileshareset: add locking to ensure things are in a proper
- state
-
-2002/01/15 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: advertising engine amelioration
-
- * my_gtk.pm: automatic icon placement in icon_labels_widget
-
-2002/01/15 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: remove the test trick
- encrypted filesystem handling:
- - using losetup
- - add "Options" for partitions in diskdrake (expert mode)
-
- * c/stuff.xs.pm, fs.pm, share/list, fsedit.pm, devices.pm, install_any.pm,
- diskdrake.pm: encrypted filesystem handling:
- - using losetup
- - add "Options" for partitions in diskdrake (expert mode)
-
-2002/01/15 dam's <damien@mandrakesoft.com>
-
- * network/isdn_consts.pm: updated
-
-2002/01/15 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: remove the test trick
- encrypted filesystem handling:
- - using losetup
- - add "Options" for partitions in diskdrake (expert mode)
-
- * c/stuff.xs.pm, fs.pm, share/list, fsedit.pm, devices.pm, install_any.pm,
- diskdrake.pm: encrypted filesystem handling:
- - using losetup
- - add "Options" for partitions in diskdrake (expert mode)
-
- * any.pm: have ddcxinfos take the best result of every run
-
-2002/01/15 sdupont
-
- * standalone/drakfont: fix progress bar problem.
- some gi updates:
- - windows font importation.
- - advanced font importation.
- - licence interface.
- - ...
-
- * standalone/drakbackup: new ./drakbackup --show-conf
- fix daemon problem (media to use).
- update informations on drakbackup report mail.
- __ 3290 lines.
- man pages fr created.
- some code cleaning on backend mode. (all_user_list && return_path)
- new functions on backend mode:
- - show-conf
- - debug
- - help
- - version.
-
-2002/01/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm:
- - eata is SCSI adapter, not 'disk' adapter
- - have eata module in boot floppies
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: we need also "big" modules in
- pci ids
-
- * share/rpmsrate: have lbreakout weigthed 4 instead of 2
-
- * mdk-stage1/modules.c: suggest other.img in file-not-found-in-archive
- (sugg David Faure
- and Pixel)
-
-2002/01/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: fix typo (making auto installs working again)
-
-2002/01/13 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: s/lbreakout/lbreakout2/
-
- * install_steps_interactive.pm: cleanup
-
-2002/01/13 sdupont
-
- * standalone/drakbackup: some updates ...
- in "more option" steps user could choose to receive a report by mail for
- each backups.
- ftp backup work.
- fix time problems.
- remove doc from file.
- security fix for configuration file.
-
-2002/01/11 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: advertising engine works !
- champagne.
- still some display bugs, but they will be corrected later.
- need new ads and adequat description file
- new advertising engine
-
- * install_any.pm: modifications for new avertising engine
-
- * my_gtk.pm: new icons placement
-
-2002/01/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/zh_CN.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/th.po, share/po/es.po, share/po/fr.po, share/po/sr.po,
- share/po/de.po, share/po/el.po, share/po/et.po, share/po/sk.po,
- share/po/tr.po, share/po/ar.po, share/po/az.po, share/po/eu.po,
- share/po/sl.po, share/po/vi.po, share/po/eo.po, share/po/wa.po,
- share/po/sv.po, share/po/zh_TW.po, share/po/Makefile, share/po/af.po,
- share/po/it.po: updated Spanish file; merged help-* files
-
-2002/01/11 sdupont
-
- * standalone/drakbackup: update header pixmaps.
- correction of message problem.
-
- * pixmaps/drakfont.620x57.png, pixmaps/BDO-drakebackup1.png,
- pixmaps/drakbackup.540x57.png: update pixmaps for drakbakup & drakfont.
-
- * standalone/drakfont: update header pixmaps.
-
-2002/01/10 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: domainname corection
-
- * network/network.pm: domainname corection
- corrected network domainname pb
-
- * install2.pm: corrected read_resolv => read_conf
-
-2002/01/10 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: english taste inspired by daminette.
-
-2002/01/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/lsparts: better looking output of type of partition (%x => %0x)
-
-2002/01/09 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, standalone/net_monitor, standalone/draknet,
- network/network.pm, network/modem.pm, network/netconnect.pm: big merge
- from update 8.1 with cvs
- First part. Part 2 following
-
- * my_gtk.pm: added bold option in text creation. Some corrections
-
- * install_steps_interactive.pm: corrected fpons typo
-
-2002/01/09 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed too many package selected for No X or With X
- option of minimal installation.
-
- * install_steps_interactive.pm: avoid asking for minimal install for
- upgrade.
-
- * crypto.pm: fix incomplete prefix for update mirror when adding an entry
- for urpmi.
-
- * pkgs.pm: use rpm version comparison function.
-
- * c/stuff.xs.pm: added rpmvercmp.
-
-2002/01/09 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed too many package selected for No X or With X
- option of minimal installation.
-
- * install_steps_interactive.pm: avoid asking for minimal install for
- upgrade.
-
- * crypto.pm: fix incomplete prefix for update mirror when adding an entry
- for urpmi.
-
- * pkgs.pm: use rpm version comparison function.
-
- * c/stuff.xs.pm: added rpmvercmp.
-
-2002/01/09 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed too many package selected for No X or With X
- option of minimal installation.
-
- * install_steps_interactive.pm: avoid asking for minimal install for
- upgrade.
- fixed stupid.
-
- * crypto.pm: fix incomplete prefix for update mirror when adding an entry
- for urpmi.
-
- * pkgs.pm: use rpm version comparison function.
-
- * c/stuff.xs.pm: added rpmvercmp.
-
-2002/01/08 dam's <damien@mandrakesoft.com>
-
- * install2.pm: cosmetik
-
-2002/01/08 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: added eval around pixmap drawing for advertising.
-
-2002/01/08 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakbackup: another round of bad use of _() fixes.
- fixed bad use of _().
-
-2002/01/08 sdupont
-
- * standalone/drakbackup: drakbackup work ...
- incremental backup and restore work.
-
-2002/01/08 François Pons <fpons@mandrakesoft.com>
-
- * Makefile: again fixed dam's sucking, please dam's check what you write
- before commiting.
-
- * standalone/drakautoinst: removed stupid invocation of _("$_"), is it
- correct code to change it to $_ only ?
-
-2002/01/08 François Pons <fpons@mandrakesoft.com>
-
- * Makefile: again fixed dam's sucking, please dam's check what you write
- before commiting.
-
- * standalone/drakautoinst: removed stupid invocation of _("$_"), is it
- correct code to change it to $_ only ?
-
-2002/01/08 François Pons <fpons@mandrakesoft.com>
-
- * Makefile: again fixed dam's sucking, please dam's check what you write
- before commiting.
-
-2002/01/07 François Pons <fpons@mandrakesoft.com>
-
- * steps.pm: changed installUpdates after summary (to get corrected
- timezone).
-
- * install_any.pm: separated setDefaultPackages from setPackages because it
- is used by allowing
- only base system to be installed (allow remade a better package
- selection).
-
- * crypto.pm: added bestMirror method to retrieve a good mirror (according
- to timezone) and
- add salt with random number to avoid using always the same.
-
- * install2.pm: added option to only upgrade packages.
-
- * install_steps_interactive.pm: added minimal type of install support.
-
- * share/list: fixed to match newer menu package.
-
-2002/01/07 François Pons <fpons@mandrakesoft.com>
-
- * steps.pm: changed installUpdates after summary (to get corrected
- timezone).
-
- * install_any.pm: separated setDefaultPackages from setPackages because it
- is used by allowing
- only base system to be installed (allow remade a better package
- selection).
-
- * crypto.pm: added bestMirror method to retrieve a good mirror (according
- to timezone) and
- add salt with random number to avoid using always the same.
-
- * install2.pm: added option to only upgrade packages.
-
- * install_steps_interactive.pm: added minimal type of install support.
-
- * share/list: fixed to match newer menu package.
-
-2002/01/07 dam's <damien@mandrakesoft.com>
-
- * Makefile: socmetic
- typo
- added debug mode for the whole install
-
- * my_gtk.pm: removed print
- new pack_start functions, powerpack sub added (code from adrien)
- incorporated adrien's code to generalize pack functions
- minor bug fixes
-
- * install_steps.pm, network/netconnect.pm: corrected network connection
- during install
-
- * install2: added debug mode for the whole install
-
-2002/01/07 François Pons <fpons@mandrakesoft.com>
-
- * steps.pm: changed installUpdates after summary (to get corrected
- timezone).
-
- * install_any.pm: separated setDefaultPackages from setPackages because it
- is used by allowing
- only base system to be installed (allow remade a better package
- selection).
-
- * crypto.pm: added bestMirror method to retrieve a good mirror (according
- to timezone) and
- add salt with random number to avoid using always the same.
-
- * install2.pm: added option to only upgrade packages.
-
- * install_steps_interactive.pm: added minimal type of install support.
-
- * share/list: fixed to match newer menu package.
-
- * Makefile: fixed overwriting of install2 filtering, keep diagnostic and
- strict for debug mode.
-
-2002/01/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: also log server name for HTTP install
-
-2002/01/04 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, install_steps.pm, network/tools.pm, my_gtk.pm,
- network/netconnect.pm: corrected minor bugs in network (among others bug
- "modifying read only values")
- recode upNetwork and downNetwork (it might work, at least if you are
- lucky);
-
-2002/01/04 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: corrected minor bugs in network (among others bug "modifying
- read only values")
- recode upNetwork and downNetwork (it might work, at least if you are
- lucky);
- corrected font display : no useless font->height, but ascent + descent
- updated
-
- * network/isdn_consts.pm: changed asus isdn hisax identify
-
- * network/adsl.pm, install_steps.pm, network/tools.pm,
- network/netconnect.pm: corrected minor bugs in network (among others bug
- "modifying read only values")
- recode upNetwork and downNetwork (it might work, at least if you are
- lucky);
-
-2002/01/04 François Pons <fpons@mandrakesoft.com>
-
- * http.pm, install2.pm, steps.pm, install_any.pm: added update
- installation support to install (big modifs need testing).
-
- * pkgs.pm: allow to use same identifier for security medium (1u).
- re-install urpmi.
- allow some error to be catched.
- added update installation support to install (big modifs need testing).
-
- * crypto.pm: removed test code.
- allow to use same identifier for security medium (1u).
- re-install urpmi.
- allow some error to be catched.
- added update installation support to install (big modifs need testing).
-
- * install_steps_interactive.pm: removed obsoleted comment.
- allow to use same identifier for security medium (1u).
- re-install urpmi.
- allow some error to be catched.
- added update installation support to install (big modifs need testing).
-
- * install_steps_gtk.pm: fixed empty flat package selection when giving a
- limit to medium.
- added update installation support to install (big modifs need testing).
-
- * install_steps.pm: allow to use same identifier for security medium (1u).
- re-install urpmi.
- allow some error to be catched.
- fix for auto updates.
- added update installation support to install (big modifs need testing).
-
-2002/01/04 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm: enable easy patch-adding of pcitable and usbtable
- entries
-
-2002/01/03 dam's <damien@mandrakesoft.com>
-
- * standalone/drakbackup: user can be equal to 500
-
-2002/01/03 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: updated code to create synthesis file (including
- provides on files).
-
-2002/01/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ar.po: updated Arabic file
-
-2002/01/03 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm, Xconfig.pm: save the output of ddcxinfos before
- modprobe'ing i810fb, and use that output for Xconfig (when i810fb is
- modprobe'd, ddc probe doesn't work anymore)
-
- * install_steps_interactive.pm, install_steps_gtk.pm: fix english messages
-
- * share/rpmsrate: as asked by Vincent Danen, lower uucp and raise sudo
-
- * pkgs.pm: prefer gcc-cpp
-
- * interactive_gtk.pm, interactive.pm: toggle Advanced/Basic button
-
- * any.pm: fix english messages
- save the output of ddcxinfos before modprobe'ing i810fb, and use that
- output for Xconfig (when i810fb is modprobe'd, ddc probe doesn't work
- anymore)
-
-2002/01/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: changed @euro locales to plain names; now old currencies ones
- are obsolete
-
-2001/12/31 sdupont
-
- * standalone/drakfont: new fixed size and add a head pixmap (to update).
-
- * standalone/drakbackup: lots of update ...
- - cron work.
- - backup incremental & normal work.
- - corrupted backup data files supported.
- - error messages updated.
- - aff list of backup data files pbs.
- - test all backup files before to restore it.
-
-2001/12/30 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: format home directories with "-m 0" for ext2&ext3, so that the
- root reserved part is 0% (and not 5%)
-
-2001/12/30 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: format home directories with "-m 0" for ext2&ext3, so that the
- root reserved part is 0% (and not 5%)
-
-2001/12/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectMouse): when selecting a usb mouse,
- call setup_thiskind with
- at_least_one=1 (so that pci_class probe is used and so unknown
- serial_usb
- recognised (cf ldetect))
-
- * modules.pm (load_thiskind): allow $probe_type to be given, allowing
- forced pci probe (unsafe)
-
- * any.pm (setup_thiskind_backend): when at_least_one==1, try load_thiskind
- forcing
- pci_class probe when no modules is found.
-
-2001/12/28 sdupont
-
- * standalone/drakbackup: update select data on backup cd
-
-2001/12/27 sdupont
-
- * standalone/drakbackup: fix of user selection during restore step.
- remove return_file_date.
- change algo for incremental backup.
-
-2001/12/26 sdupont
-
- * standalone/drakbackup: some gi corrections & update.
- incremental restore.
-
-2001/12/22 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: s/use pkgs/require pkgs/ since pkgs::versionCompare is
- only used during install
-
- * my_gtk.pm: export gtkcolor (used in install_steps_gtk)
- make perl_checker happy
-
-2001/12/22 sdupont
-
- * pixmaps/backup_bot.png, pixmaps/cdrom.png, pixmaps/backup_time.png,
- pixmaps/backup_bot2.png, pixmaps/backup_left.png, pixmaps/net.png,
- pixmaps/backup_hd.png, pixmaps/backup_title.png,
- pixmaps/backup_left2.png, pixmaps/filedialog.png, pixmaps/hd.png,
- pixmaps/backup_options.png, pixmaps/backup_net.png: remove old
- drakbackup pixmaps files.
-
- * pixmaps/ic82-back-up-16.png, pixmaps/ic82-discdurwhat-40.png,
- pixmaps/ic82-tape-40.png, pixmaps/ic82-moreoption-40.png,
- pixmaps/ic82-where-40.png, pixmaps/ic82-system-40.png,
- pixmaps/ic82-others-40.png, pixmaps/ic82-systemeplus-40.png,
- pixmaps/ic82-network-40.png, pixmaps/ic82-CD-40.png,
- pixmaps/ic82-when-40.png, pixmaps/ic82-back-up-32.png,
- pixmaps/ic82-users-40.png, pixmaps/ic82-dossier-32.png,
- pixmaps/ic82-back-up-48.png: drakbackup designer icons.
-
- * standalone/drakbackup: add pixmaps on backup step.
- new designer pixmaps on drakbackup.
-
-2001/12/21 sdupont
-
- * standalone/drakbackup: some update in file name parsing...
- etc ...
-
- * pixmaps/BDO-drakebackup1.png: drakbackup
-
-2001/12/20 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: API changed, so call changed
-
- * share/logo-mandrake.png: new ayo logo
-
-2001/12/20 sdupont
-
- * standalone/drakbackup: update the todo header
- the REQUIRE header
- & code cleaning
- - tar -cvf tarfilename --after-date="sept 1, 2000" /home
- l.380 incremental: date -> if already exist do find -m ... | tar ...
- non incremental: date + delete old before the backup
- - correct detection of backups during restore.
- - gi for other media during restore. hd-> ok
- - backend for build backup update and support
- incremental backups.
- - real incremental backup
- update resore & help.
-
-2001/12/19 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: update graphical backend
-
-2001/12/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: add dl2k.o (nic module) per request of nplanel
-
-2001/12/19 sdupont
-
- * standalone/drakbackup:
- - gi for other media during restore. hd-> ok
- - backend for build backup update and support
- incremental backups.
- - real incremental backup
- add other media source during restore.
- - update help & license.
- - code cleaning.
- - ask during whqt sys step if user want to backup critical
- files, like /etc/passwd /etc/group /etc/fstab
- - use preserve permissions during tar
- - begin of total backup step.( all partitions wanted, windows
- partitions for example!)
- - remove replace mode (backup_*_version is enought)
-
-2001/12/18 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: fixed dam's sucking (syntax error only, code is
- untested).
-
-2001/12/18 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix typos
-
-2001/12/18 sdupont
-
- * standalone/drakfont: include new pixmap on main menu.
-
- * standalone/drakbackup: sort lists in all lists selection.
- correct use of incremental backup
- parse of restore & system state.
- fix restore user selection problems
- fix build backup data selection problems
- ect ...
- drakbackup -> drakxtools.rpm
-
- * pixmaps/ic-drakfont-48.png: drakfont pixmap...
-
-2001/12/18 yduret
-
- * standalone/logdrake: fix console mode : exit now
-
-2001/12/18 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: fix typos
-
-2001/12/17 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: power graphical backend update : text is now
- centered
-
- * my_gtk.pm: power graphical backend update : text is now centered
- updated new graphical backend
-
-2001/12/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive_gtk.pm, standalone/drakgw: drakgw for gold
-
- * tools/pcmcia_config.patch: remove permanently (using
- patch_pcmcia_config.pl now)
-
-2001/12/17 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, any.pm, install2.pm, bootloader.pm: clean_tmp now means using
- tmpfs
-
-2001/12/17 sdupont
-
- * standalone/drakbackup:
- ________________________________________________________________
- DONE:
- incremental backups have depends whith replace options.
- gtklist not maximized.
- restore mode.
- view date during restore
- view size of file, date & hours during backup on CD
- ________________________________________________________________
-
-2001/12/17 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, any.pm, install2.pm, bootloader.pm: clean_tmp now means using
- tmpfs
-
-2001/12/14 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: new picture for 8.2.
-
-2001/12/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: change again way of selection
- PCI entries :
- what's in mar files --> what's given by modules (e.g. just
- as update_kernel does)
-
-2001/12/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install2.pm: use "askdisplay" to ask a question at begining of install
- for what
- display you want to use during install
-
- * Makefile, tools/patch_pcmcia_config.pl: externalize patch_pcmcia_config
- (from make_boot_img)
- because we need it in perl-install/Makefile also
-
- * mdk-stage1/rescue-gui.c, rescue/make_rescue_img, rescue/rescue-doc,
- rescue/Makefile: have a bunch of Rescue documentation directly
- available from the Rescue-menu following suggestions
- by Denis among others
-
-2001/12/12 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: enable easy screenshot'ing
- - ensure /usr is formatted if / is
- - remove /var/lib/rpm if /var is kept
-
- * common.pm, docs/README: enable easy screenshot'ing
-
-2001/12/12 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/make_rescue_img: larger rescue image on PPC to accomodate huge
- xfs module
-
- * bootloader.pm: mods to address new yaboot's lack of symlink ability, xfs
- initrd load
-
-2001/12/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/dhcp.c, mdk-stage1/stage1.h: support
- "filename" in DHCP answers and give this
- to stage2 as --kickstart parameter
-
-2001/12/11 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, keyboard.pm: finish journalled fs usage - PPC,
- add "\n" keyboard.pm, new modelines
-
-2001/12/10 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added network package not present in @needToCopy
- (package that may be installed
- by DrakX to avoid re-asking of CD1).
-
- * bootloader.pm: added safe guard against looping symlink.
-
-2001/12/10 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, bootloader.pm:
- - fix bootloader::add_append
- - add handling of serial console
-
- * http.pm, install_any.pm: enable http:// in auto_install file location
-
-2001/12/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: no need to give kernelVersion to bootloader::suggest
-
- * install_any.pm (kernelVersion): looks at /boot/vmlinuz
-
- * bootloader.pm (suggest, add_kernel): much cleanup
-
- * diskdrake.pm: fix call to fileshare_config
-
-2001/12/05 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: updateed logo
-
-2001/12/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile, mdk-stage1/pcmcia_/cardmgr.c:
- - fix problems with sockets not initialized (disabling
- hotplug support -> cardmgr handles sockets)
- - fix problems with PCMCIA net adapters now using PCI
- modules, by adding PCMCIA base code in `network.img'
-
-2001/12/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: no need to give kernelVersion to bootloader::suggest
-
- * pkgs.pm (selectPackage): hard coded preference to simple kernel
-
- * install_any.pm (kernelVersion): looks at /boot/vmlinuz
-
- * diskdrake.pm: fix call to fileshare_config
-
- * steps.pm: createBootdisk now after setupBootloader (together with dumber
- install_any::kernelVersion)
-
- * network/tools.pm: fix missing ";" (thanks to Robert Fox)
-
- * bootloader.pm (suggest, add_kernel): much cleanup
-
- * fs.pm: fix type "smb" vs "smbfs", and handle options in fs::mount
-
-2001/12/05 sdupont
-
- * pixmaps/backup_bot2.png: update pixmaps
-
- * standalone/drakbackup: todo : scp ssl sftp rsync connections perl || c ?
- done : bzip2 backup
- merge
-
-2001/12/04 dam's <damien@mandrakesoft.com>
-
- * standalone/drakbackup: corrected pixmap path
- corrected pixmap path
-
- * Makefile.config: added drakbackup drakfont
-
-2001/12/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * any.pm, mdk-stage1/log.c, docs/README: save stage1.log and have it in
- report.bug
-
- * mdk-stage1/automatic.c, mdk-stage1/doc/TECH-INFOS: support shorter
- versions of automatic keywords to beat problems with very long kernel
- commandlines
-
- * install_interactive.pm: try to not get something poorly wrapped
-
- * c/stuff.xs.pm: floppy_info: add missing close(fd)
-
-2001/12/04 Pixel <pixel@mandrakesoft.com>
-
- * network/smb.pm: cleaner smbclient call
-
- * install_steps.pm: re-enable supermount by default
-
-2001/12/04 sdupont
-
- * pixmaps/backup_bot.png, pixmaps/backup_left.png: correct colors
- problems.
-
- * standalone/drakbackup: bzip2 ok for compression to see: decomp without
- pbs whith tar.gz and tar.bz2
- todo: update mode -> decomp + update tar file + recomp
-
-2001/12/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_interactive.pm: try to not get something poorly wrapped
-
-2001/12/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: re-enable supermount by default
-
- * network/smb.pm: cleaner smbclient call
-
-2001/12/04 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fix bad parsing of package to copy (when one doen't
- exist anymore) in
- postinstall_rpms directory.
-
-2001/12/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_interactive.pm: try to not get something poorly wrapped
-
-2001/12/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: re-enable supermount by default
-
- * network/smb.pm: cleaner smbclient call
-
-2001/12/04 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: additional package for wlan
-
- * network/tools.pm: corrected pipe reading
-
-2001/12/04 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: make sure lilo is installed on automatic mode.
-
- * install_any.pm: fix bad parsing of package to copy (when one doen't
- exist anymore) in
- postinstall_rpms directory.
-
-2001/12/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_interactive.pm: try to not get something poorly wrapped
-
- * mdk-stage1/modules.c: fpons is a sucking chief
-
- * modules.pm, mdk-stage1/usb-resource/update-usb-ids.pl,
- mdk-stage1/Makefile, mdk-stage1/.cvsignore, mdk-stage1/probing.c:
- support install from USB CDROMS (using usb-storage)
-
-2001/12/04 Pixel <pixel@mandrakesoft.com>
-
- * network/smb.pm: cleaner smbclient call
-
-2001/12/04 sdupont
-
- * standalone/drakbackup: last update... for cooker
- drakbackup deamon -> ok
- drakbackup cvs -> to do (only for /etc)
- drakbackup wizard -> only last step
- drakbackup cd -> device detection and ask for only iso file.
- drakbackup net -> do rsync
- drakbackup begin -> todo : update initial message
- update help and about.
-
-2001/12/04 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: additional package for wlan
-
-2001/12/04 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: make sure lilo is installed on automatic mode.
-
- * mdk-stage1/modules.c: fixed gégé sucking.
-
-2001/12/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: fpons is a sucking chief
-
-2001/12/04 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/modules.c: fixed gégé sucking.
-
-2001/12/04 sdupont
-
- * standalone/drakbackup: update...
-
-2001/12/03 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: removed use gtk
-
-2001/12/03 François Pons <fpons@mandrakesoft.com>
-
- * tools/updatehdlist: initial revision, simple way to update a local set
- of medium from /RPMS.
-
-2001/12/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: typo of last commit (unused variable -> could not
- compile)
-
-2001/12/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/hu.po, share/po/es.po: updated Hungarian
- and Spanish files
-
-2001/12/03 sdupont
-
- * standalone/drakbackup: update
- option step.
- write other file content.
- restore gi.
-
-2001/12/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2001/12/01 sdupont
-
- * standalone/drakbackup: do not include browser cache.
-
-2001/11/30 François Pons <fpons@mandrakesoft.com>
-
- * docs/spec-DrakX-8.0.html: added spec (forgotten for quite a long)
-
-2001/11/30 gbeauchesne
-
- * partition_table_gpt.pm:
- - cleanups from mainline
-
- * modules.pm: Suckiness fixes from mainline (gc):
- - Do parse /proc/modules in reverse order
- - Fix "convert old scsi_hostadapter's to new probeall" scheme
-
- * bootloader.pm:
- - Don't forget to link the initrd to the real image in /boot/efi/ too
- - Remove DEBUG printouts in install_efi_boot_menu
-
-2001/11/30 Pixel <pixel@mandrakesoft.com>
-
- * network/smb.pm, any.pm, Makefile.drakxtools, standalone/diskdrake,
- Makefile.config, diskdrake.pm: fileshare should be ok, handle diskdrake
- --fileshare, fix smb import
-
-2001/11/30 sdupont
-
- * pixmaps/backup_left2.png: drakbackup pixmap
-
- * standalone/drakbackup: backend mode-> ok for hd
- we can use drakbackup !.
- todo :
- backend mode:
- - net
- - cd
-
- advanced mode:
- - device detection (cd writer)
-
- wizard:
- - end of this step.
-
- gi:
- - option step in adnanced step to choice
- for example tar.gz or tar.gz2 ...
- update
- restore step 1 & 2.
- adv step -> ok
- todo: wizard ...
- little update!
-
- variables correction in advanced step.
- wizard user question, sys question & daemon
-
-2001/11/29 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * share/rpmsrate: Remove linux_logo
-
-2001/11/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: add wvlan_cs
-
- * mdk-stage1/modules.c: remove unneeded handling of "alias
- scsi_hostadapter"
-
- * mdk-stage1/stage1.c: add another expert_third_party_modules at the end
- of enabling-pcmcia-stuff
-
-2001/11/29 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: remove the export tree for nfs/smb feature, remove some
- test code
- tentative version with export/import nfs/smb tree (committed to have it
- in CVS as the export tree is already deprecated)
-
- * standalone/fileshareset:
- - allow root to export everything
- - remove empty mntpoint (from smb)
-
-2001/11/29 sdupont
-
- * standalone/drakbackup: just update....
- advanced: users correction during save.
- user pass, user login, path to save local or on host
- combo for network protocol.
- wizrad: already to do!
- CDRW burn: todo: devices detection (see to_fond_cd).
- code cleaning.
-
- * standalone/drakfont: cleanning code.
-
-2001/11/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm:
- - fix pixel sucks of not parsing /proc/modules in
- reverse order
- - be more in sync regarding names of pcmcia drivers
-
- * any.pm: add modules.conf in report.bug
-
-2001/11/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_CN.po, share/po/zh_TW.po: updated Chinese file
-
-2001/11/28 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (read_conf): fix "convert old scsi_hostadapter's to new
- probeall"
-
- * standalone/drakbackup: make check_what_user works
-
- * standalone/fileshareset: better description
- gr_mem in getgrent is space separated, not comma separated
- add samba handling. Should be finished now :)
-
-2001/11/28 sdupont
-
- * pixmaps/backup_bot2.png, pixmaps/quit.png: drakbackup pixmaps.
-
- * standalone/drakbackup: no important changement!
- clean code
- update!
- for gc & Warly: some fixes, correction of advanced, wizard and after
- advanced steps.
- the user have a better gestion during advanced step, the protocols ftp,
- sftp, scp, rsync
- are now include in advanced step..... etc ;-)
- todo: when checkbuttonbox are clicked for user choice set it to 0 or 1
- juste after.
- clean code.
- new after advanced step, correction of checkbuttons problems & new
- pixmaps.
-
-2001/11/27 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake.png: updated, cooker style
-
-2001/11/27 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: avoid problem of array reference badly evaluated.
-
-2001/11/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/mailchangelog.pl: beurk
- changelog is at linux-mandrake not mandrakesoft
-
- * install_steps.pm: i810 -> no FB at boot
-
-2001/11/27 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_gpt.pm (generate_guid): cleanup
-
- * any.pm (setupBootloader): s/last/return/
-
-2001/11/27 sdupont
-
- * standalone/drakbackup: advanced step...
- update.
- advanced mode ... and ...
- read and use user list correctly, advanced step user list.
-
- * pixmaps/hd.png, pixmaps/net.png, pixmaps/cdrom.png: pixmaps for
- drakbackup.
-
-2001/11/26 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * tools/i386/netboot/stage2.rtl8139: add rtl8139 netboot file that works
-
- * tools/i386/netboot/stage1.rtl8139: add rtl8139 netboot file that works
- stage1/stage2 of rtl8139 didn't work
-
-2001/11/26 dam's <damien@mandrakesoft.com>
-
- * common.pm, my_gtk.pm: new features for new mcc
-
-2001/11/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: getAndSaveAutoInstallFloppy: don't die when output'ing
- of
- auto_inst.cfg is not possible
-
-2001/11/26 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: add $o->{excludedocs} feature
-
- * Makefile.drakxtools: remove unneeded files (*.bs and .exists)
-
- * interactive_gtk.pm: cleanup
-
-2001/11/26 sdupont
-
- * standalone/drakbackup: new gi, advanced step.
- update.
- gawk cmds.
- better use for read and save conf. file now on
- /etc/draxtools/drakbackup/drakbackup.cfg
-
- * pixmaps/backup_hd.png, pixmaps/backup_options.png,
- pixmaps/backup_net.png, pixmaps/backup_time.png: png files for
- DrakBackup.
-
-2001/11/25 Pixel <pixel@mandrakesoft.com>
-
- * standalone/fileshareset: first version. for the moment, only nfs.
-
-2001/11/25 sdupont
-
- * standalone/drakbackup: update of read_conf_file and default mode.
-
-2001/11/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/es.po: updated Spanish and Danish files
-
-2001/11/24 sdupont
-
- * standalone/drakfont: about...
-
- * standalone/drakbackup: update
- update gi ,build of system, user, other, options interfaces.
- advanced step.
-
-2001/11/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: package for pcmcia is now called "pcmcia-cs"
-
- * any.pm, detect_devices.pm: pcmcia: /var/run/stab is nor
- /var/lib/pcmcia/stab
- yes it probably doesn't bring anything valuable but it's
- how life is :-)
-
-2001/11/23 sdupont
-
- * standalone/drakbackup: radio buttons & information message.
- change gi interface, include help, about and pixmaps (backup_*.png on
- standalone/pixmaps directory)
-
-2001/11/22 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: removed loading of agpgart module for i810 card.
-
-2001/11/22 sdupont
-
- * standalone/drakfont: about button & GPL license.
-
- * standalone/drakbackup: update gi.
- TODO: separate all the boxes.
- include wizard and advanced in pixmaps.
- update
- notebook gi.
-
-2001/11/21 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2,
- mdk-stage1/init-data/msgboot-blank.img.bz2,
- mdk-stage1/init-data/msgboot.img.bz2: fixed typo in help.msg
-
- * Xconfigurator.pm: hack for SiS 640 for laptop.
-
- * install_any.pm: fixed install_urpmi to build a correct urpmi db.
-
-2001/11/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: i810fb
- migrate pcmcia in drakx to use in-kernel version (only
- for 2.4, though --> pcmcia in 2.2 no longer supported)
-
- * install_steps_interactive.pm, Makefile, c/Makefile.PL: migrate pcmcia in
- drakx to use in-kernel version (only
- for 2.4, though --> pcmcia in 2.2 no longer supported)
-
- * install2.pm: i810fb
-
- * mdk-stage1/stage1.c, mdk-stage1/pcmcia_/lex_config.c,
- mdk-stage1/pcmcia_/cardmgr.c, mdk-stage1/pcmcia_/yacc_config.c,
- mdk-stage1/pcmcia_/Makefile, mdk-stage1/Makefile,
- mdk-stage1/pcmcia_/pcmcia.h, mdk-stage1/pcmcia_/ds.h,
- mdk-stage1/pcmcia_/probe.c: migrate to pcmcia support from kernel,
- patching untouched imported
- sources from pcmcia-cs-3.1.29, to ease further updates of vendor
- code (start from a clean pcmcia_ subdir)
-
-2001/11/21 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm (suggestions_mntpoint): if there's no server suggestion, use
- the simple
- one, so that 'simple' is the only one required when someone modifies
- %fsedit::suggestions
-
-2001/11/20 gbeauchesne
-
- * partition_table.pm:
- - Add isEfi() to isOtherAvailableFS() test so that install doesn't
- suggest
- to format /boot/efi by default. That way, we could preserve (shame on
- us)
- EFI boot partition generated by Windows XP 64 bits...
-
-2001/11/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pcmcia_/lex_config.c, mdk-stage1/pcmcia_/cardmgr.c,
- mdk-stage1/pcmcia_/bulkmem.h, mdk-stage1/pcmcia_/cardmgr.h,
- mdk-stage1/pcmcia_/vg468.h, mdk-stage1/pcmcia_/driver_ops.h,
- mdk-stage1/pcmcia_/i82365.h, mdk-stage1/pcmcia_/cirrus.h,
- mdk-stage1/pcmcia_/version.h, mdk-stage1/pcmcia_/cistpl.h,
- mdk-stage1/pcmcia_/yacc_config.c, mdk-stage1/pcmcia_/cs_types.h,
- mdk-stage1/pcmcia_/cs.h, mdk-stage1/pcmcia_/yacc_config.h,
- mdk-stage1/pcmcia_/ds.h, mdk-stage1/pcmcia_/tcic.h,
- mdk-stage1/pcmcia_/probe.c: Initial revision
- version 3.1.29
-
-2001/11/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive_stdio.pm: for po i can't use $ for string interpolation
-
-2001/11/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * services.pm, standalone/scannerdrake: Corrected English errors
-
- * share/po/hu.po, share/po/cs.po: updated pot file
- updated Czech and Hungarian files
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/no.po, share/po/fi.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/af.po:
- updated pot file
-
-2001/11/19 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (setupBootloader): fix typo
- (setupBootloader): fix typo
-
-2001/11/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Last correction was wrong, reverted it.
-
-2001/11/19 yduret
-
- * standalone/scannerdrake: added dynamic support
-
-2001/11/16 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: syntax cleanup
- - a little cleanup
- - in case there is both scsi and ide hard drives, go to expert
- questions
- directly (it would need a semi_auto asking on which drive the bios
- boots...)
-
-2001/11/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help file
-
- * keyboard.pm: Added Swedish dvorak keyboard
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/help_xml2pm.pl, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po, share/po/fi.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2001/11/12 sdupont
-
- * standalone/drakbackup: new backup tool.
- backend_mode with options.
- begin interactive mode.
-
-2001/10/29 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: code correction
-
-2001/10/29 gbeauchesne
-
- * rescue/list.ia64:
- - Add xfs_repair and efibootmgr
-
-2001/10/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * fs.pm, loopback.pm, fsedit.pm, bootloader.pm: revert back to /initrd
-
- * modules.pm: here too
- CDCEther looks good, I add it
-
-2001/10/29 Pixel <pixel@mandrakesoft.com>
-
- * tools/pcmcia_config.patch: adapt for new pcmcia-cs
-
-2001/10/29 sdupont
-
- * standalone/drakfont: Copyright (C)
- correction of warning & code cleaning.
- the end.... i think...
- updated
- uninstall interface & progress bar
- uninstall interface : lists & progress bar
- new progress bar update
- todo: second list
-
-2001/10/28 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: cleaning
-
-2001/10/27 daouda
-
- * devices.pm, my_gtk.pm, Xconfig.pm: return value at end of module
-
- * share/rpmsrate:
- - increase icewm weight.
-
-2001/10/26 dam's <damien@mandrakesoft.com>
-
- * standalone/drakautoinst, standalone/drakfont: progress bar hack
-
-2001/10/26 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/pcmcia_config.patch: was duplicated in gi/tools
-
- * partition_table_gpt.pm, partition_table_raw.pm: no adjust start and end
- on GPT
-
-2001/10/26 sdupont
-
- * standalone/drakfont: updated.
- search correct progress bar mode implementation.
- updated
- fix some bugs & interface progress implementation.
- TODO:
- progress before backend.
- search if directory already exist before custom install.
-
-2001/10/25 dam's <damien@mandrakesoft.com>
-
- * standalone/drakautoinst: simple variables handled, code compression.
- The new and shiny drakautoinst is coming. P|-|34R
- The new drakautoinst is coming. P|-|34R
-
- * pixmaps/mdk_logo.png: additional logo
-
- * standalone/drakfont: code correction
-
-2001/10/25 sdupont
-
- * standalone/drakfont: merge differents versions.
- file sector, list of fonts for advanced install...
- applications choice, license widget, help widget.
-
-2001/10/24 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: updated
- updated
- updated, lot of bugs.
- updated
-
- * my_gtk.pm: added set_editable
-
-2001/10/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/lsparts, mdk-stage1/rescue-gui.c, mdk-stage1/frontend.h,
- mdk-stage1/.cvsignore, rescue/install_bootloader,
- rescue/tree/etc/rc.sysinit, rescue/Makefile,
- mdk-stage1/stdio-frontend.c, rescue/guessmounts, mdk-stage1/Makefile,
- rescue/tree/etc/issue, rescue/make_rescue_img,
- mdk-stage1/newt-frontend.c:
- - add a GUI to the rescue
- - provide guessmounts with better efficiency and output, go to
- console, and reboot
- - provide install_bootloader which runs lilo from /mnt if it seems
- safe
- - add lsparts to rescue, which prints partitions with detected types
-
-2001/10/24 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: replace /initrd with /lib/initrd
- (hds): in case of GPT, allow ext2 to be replaced by any kind of
- partitions (esp. EFI)
-
- * partition_table.pm, partition_table_gpt.pm, partition_table_bsd.pm,
- partition_table_raw.pm: add methods first_usable_sector and
- last_usable_sector
-
- * fs.pm, loopback.pm, bootloader.pm: replace /initrd with /lib/initrd
-
-2001/10/24 sdupont
-
- * standalone/drakfont: scroll
- `
- import_status & progress.
- gi update.
-
-2001/10/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * services.pm: tagged as translatable some left out strigns
-
-2001/10/23 sdupont
-
- * standalone/drakfont: gi update
- doc and progress bar.
- gui: install from directory
- gui supported.
-
-2001/10/23 yduret
-
- * share/po/fr.po: fixed fohtes grammar
-
-2001/10/22 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm: speedtouch config : added usa vpi vci
-
-2001/10/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: oops forgot to umount after "updatemodules"...
-
-2001/10/22 Pixel <pixel@mandrakesoft.com>
-
- * rescue/tree/etc/profile: fix PATH (have /mnt/bin /mnt/usr/bin ...)
-
-2001/10/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed connection device setting for "oki4w" driver.
-
-2001/10/19 gbeauchesne
-
- * partition_table_gpt.pm:
- - Use /dev/random through devices::make() instead of /dev/urandom
- - Localize file descriptor
- - Capitalize error message if no /dev/random found
-
- * partition_table.pm:
- - s/Win98 FAT32/FAT32/
- - s/Partition that contains an EFI file system/EFI (FAT-12/16/32)/
- - Add "FAT32" to @important_types for IA-64 & /boot/efi
-
-2001/10/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c: small fix
-
-2001/10/19 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm: OOize can_raw_add
-
- * partition_table.pm: handle empty $hd->{primary}{raw} (happens with no
- partitions on ia64)
- - raw_add, can_raw_add moved to partition_table_raw
- - using raw_removed
-
- * partition_table_dos.pm: better handling of CHS overflow (mainly for non
- cylinder-boundary aligned part (like ia64))
-
- * partition_table_raw.pm (adjustEnd): in case the end is totalsectors,
- don't adjust since totalsectors / cylinder_size may not be an integer
- (zero_MBR): defaults to GPT on ia64
- (raw_add, can_raw_add, raw_removed): created, can now be overloaded in
- partition_table_*.pm's
- (get_geometry): keep the total_sectors as given by c::total_sectors,
- don't try to recompute it based on nb_cylinders (for hds where
- total_sectors is not a multiple of nb_cylinders)
-
- * common.pm: cleanup
-
- * partition_table_gpt.pm: fix ending is last sector, not next one
- add TODO for partition entry guid
- - writing partition table now works
- - creating a new partition table now works (except GUIDs generation)
-
-2001/10/18 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm: corrected GET_FL and co
-
-2001/10/18 François Pons <fpons@mandrakesoft.com>
-
- * standalone/XFdrake: fix ia64 glitches with /usr/X11R6/lib/X11/Cards (now
- use rgb.txt instead).
-
-2001/10/18 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_gpt.pm:
- - add checksum verif on partition entries
- - detect the type of partition since the partition table types seem
- quite poor
- read part of GPT partition table working
-
- * fsedit.pm:
- - add checksum verif on partition entries
- - detect the type of partition since the partition table types seem
- quite poor
-
- * partition_table.pm: read part of GPT partition table working
- shorter GPT name
-
- * detect_devices.pm: safer modprobe ide-floppy
-
-2001/10/18 sdupont
-
- * standalone/drakfont: change Fontmap ghostscript file.
- drakfont support now .gsf fonts
- end of backend......
- update
-
-2001/10/17 dam's <damien@mandrakesoft.com>
-
- * standalone/draksec: typo
-
-2001/10/17 sdupont
-
- * standalone/drakfont: implementation of type1 fonts removing.
- ghostscript, xfs and staroffice tested and supported.
-
-2001/10/16 dam's <damien@mandrakesoft.com>
-
- * standalone/draksec: correct bad level display
-
- * standalone/interactive_http/Makefile: makes rpmlint happy
-
-2001/10/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: print checks
-
- * rescue/tree/etc/rc.sysinit: better phrasing
-
-2001/10/16 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/devices.pl, mdk-stage1/pci-resource/update-pci-ids.pl,
- rescue/list.ppc: typo in update kernel by /me
- fine-tune sanity_check for ppc
- move /dev/nvram from list.ppc to devices.pl
-
-2001/10/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/10/15 yduret
-
- * scanner.pm: wonderful perl forgotten
-
-2001/10/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: have "other.img" drivers also
- supported
-
-2001/10/12 sdupont
-
- * standalone/drakfont: support all installations, and support xfs,
- ghostcript, staroffice.
- todo aplli: openoffice, gimp, abiword, netscape & other browsers...
- todo or to see: --strong ttmkfdir -c ???
- emd of backend..
-
-2001/10/11 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: multiple card configuration bug corrected.
- allelluia.
-
- * network/tools.pm: aded use c
-
- * standalone/drakfont: code review
-
-2001/10/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive_stdio.pm, install_steps_stdio.pm: stdio mode works again
-
-2001/10/11 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: ensure postInstallNonRooted is done *before* ejecting cdrom
-
-2001/10/11 sdupont
-
- * docs/drakfont/drakfont.log, docs/drakfont/drakfont.pdf,
- docs/drakfont/drakfont.dvi: clean directory..
-
- * docs/drakfont/drakfont.aux, docs/drakfont/dia_srcs/drakfont.dia,
- docs/drakfont/dia_srcs/drakfont_uninstall.dia,
- docs/drakfont/dia_srcs/drakfont_install.dia: delete all bads files...
-
- * standalone/drakfont: improved....
- improved && implement remove fonts for xfs
- improved
- improved
- optimisation
- correction of option install --replace
- dialog of install options
- correction of install option.
-
- * docs/drakfont/drakfont.jpg, docs/drakfont/drakfont_install.jpg,
- docs/drakfont/drakfont_uninstall.jpg, docs/drakfont/mandrake.ps: jpg &
- ps with -kb option
- clean...2
-
-2001/10/10 dam's <damien@mandrakesoft.com>
-
- * standalone/drakfont: typo
- improved options handling
-
- * standalone/net_monitor: ergo and features improvments, pipe handling
- correction
-
- * network/tools.pm: updated
-
-2001/10/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/locales-skeleton.tar.bz2: enabled Maltese language
-
-2001/10/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: normalize the default type entry ("entry")
-
- * interactive_gtk.pm: fix typo (on clicked_may_quit)
-
-2001/10/10 sdupont
-
- * standalone/drakfont: option replace for "install from" &
- windows_import...
- update install dir
- better for --install
- new version of drakfont. in perl langage.
-
- * docs/drakfont/drakfont.jpg, docs/drakfont/drakfont.aux,
- docs/drakfont/drakfont.log, docs/drakfont/drakfont.pdf,
- docs/drakfont/drakfont.tex, docs/drakfont/Makefile,
- docs/drakfont/drakfont_install.jpg, docs/drakfont/drakfont.dvi,
- docs/drakfont/drakfont_uninstall.jpg, docs/drakfont/mandrake.ps: docs
- drakfont
-
-2001/10/10 yduret
-
- * standalone/scannerdrake: first apparition on earth..
-
- * Makefile.config: added scannerdrake
-
-2001/10/09 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm: removed trash
- connection test is now in background, corrects the interface freeze
- problem
-
- * pixmaps/net_u.png: new pixmap for draknet/net_monitor
-
- * standalone/net_monitor, standalone/draknet: connection test is now in
- background, corrects the interface freeze problem
-
-2001/10/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
-2001/10/09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: fix detecting read-only drives (like memory-sticks)
-
- * partition_table.pm: make perl_checker happy
-
- * partition_table_raw.pm: fix detecting read-only drives (like
- memory-sticks)
- make perl_checker happy
-
- * modules.pm, detect_devices.pm, install2.pm: ensure floppies() takes care
- of usb-storage if possible, so that patch on usb floppy works
-
-2001/10/09 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, keyboard.pm, Xconfigurator.pm: move to Linux
- keycodes on PPC, add additional Apple modelines
-
- * install_steps_interactive.pm: re-enable PPC bootloader setup
-
-2001/10/08 dam's <damien@mandrakesoft.com>
-
- * c/stuff.xs.pm: added FL_GET and FL_SET
-
-2001/10/08 François Pons <fpons@mandrakesoft.com>
-
- * modules.pm: keep isp and gdth module for hd.img (as well as all.rdz) as
- they have been
- removed from the skip list for stage1.
-
- * rescue/tree/etc/oem: added silly modification to avoid using more than 7
- partition for DAC960 (/home
- and /var are not created in the current state).
-
-2001/10/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: ia64
-
- * mdk-stage1/Makefile: 8.1 -> cooker
-
-2001/10/08 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm, partition_table.pm: yet a few other ataraid cases
-
-2001/10/06 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * partition_table_raw.pm, partition_table.pm: updates to accomodate IBM
- PPC systems with DOS partition table
-
-2001/10/05 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added (missing) creation of
- /hd/boot/grub/device.map (needed for
- CompactSmartArray).
-
-2001/10/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: kdegames : 2 -> 4
-
-2001/10/04 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fix (work around) parted problem when it refuse to
- use all disk space for
- partition.
- added another psacct log file in touch.
- fixed typo on scalar reference for psacct bug.
- updated with 8.1 OEM ProSuite.
-
- * tools/oem-prepare: updated with 8.1 OEM ProSuite.
-
-2001/10/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po: updated Hungarian file
-
-2001/10/04 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_dos.pm: is little-endian, so use "V" instead of "I"
-
-2001/10/03 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: synced with oem script.
- removed 3D games not installed by default.
-
- * rescue/tree/etc/oem: fixed typo in produced patch.
- added extension to pro suite CD (added kernel-enterprise to possibly
- installable
- and install kernel22).
- removed 3D games not installed by default.
- added missing xmms-arts.
- allow halting.
-
-2001/10/03 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm: yet another ataraid support patch
-
-2001/10/02 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fix previous hack.
- added hack to do "/sbin/depmod -a" for NVIDIA driver.
-
-2001/10/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c: new pci-ids.h
-
- * mdk-stage1/usb-resource/update-usb-ids.pl: better look
-
- * share/po/fr.po: small fix
-
- * standalone/drakgw: don't call pkgs_install when no package needs to be
- installed
-
-2001/10/02 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm: bloody ataraid detection
-
- * devices.pm: ataraid devices support
-
-2001/10/01 François Pons <fpons@mandrakesoft.com>
-
- * share/rpmsrate: fixed bad format for BOOKS used in DEVELOPMENT.
-
- * rescue/tree/etc/oem: added CHARSET support, removed kernel22 and
- kernel-enterprise from list of
- package installable in oem mode, added possibility to set language on
- /etc/oem
- script invocation.
-
- * install_steps_interactive.pm: avoid chooseCD on oem install.
-
- * install_steps_gtk.pm: avoid asking for changing CD on oem install.
-
- * install_any.pm: use $boot_medium for default medium in oem install,
- avoid using kernel22 or
- kernel-enterprise in oem install (space available is too tight on CD oem
- version).
-
- * tools/oem-prepare: synced with oem script.
-
-2001/10/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: reword it so that it reflects
- what's in the marfiles
-
-2001/10/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po: updated Bulgarian file
-
-2001/09/29 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * docs/README: New adress where to find the kernel BOOT
-
-2001/09/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/09/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/drvinst: don't install usb keyboard drivers more than once
- try to fix usb keyboards
-
-2001/09/27 kjx
-
- * share/po/zh_CN.po: translating
-
-2001/09/26 gbeauchesne
-
- * install_any.pm:
- - Suggest /boot/efi on IA-64 for the first VFAT partition found,
- instead
- of /mnt/windows
-
- * bootloader.pm:
- - bootloader.pm (suggest): don't search for dos (or windows) boot
- partition
- on IA-64 since ELILO can only boot Linux.
- - bootloader.pm (write_lilo_conf): don't cry if we don't have
- /boot/boot.b
- or boot/message on IA-64.
-
- * rescue/list.ia64:
- - Add file list for "rescue" disk
-
- * share/list.ia64, partition_table.pm:
- - partition_table.pm: Add XFS suggestion for IA-64
- - share/list.ia64: misc updates and additions wrt. XFS, ReiserFS
-
-2001/09/25 baudens
-
- * share/po/fr.po: s/Linux Mandrake/Mandrake Linux/
- Remove totally crazy translation.
- Translators, please use your brain!
-
-2001/09/25 gbeauchesne
-
- * partition_table.pm:
- - Add ReiserFS and Ext3fs entries for IA-64
-
-2001/09/25 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (naughtyServers): cleanup comments
-
-2001/09/25 warly
-
- * share/rpmsrate: put gtk-themes _and_ sawfish-themes to 4 so that it is
- installed for newbie and drakfirsttime does not fail.
- put gtk-themes to 4 so that it is installed for newbie and drakfirsttime
- does not fail.
-
-2001/09/25 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: allow non ejectable medium to allow all
- hdlists on the bootable medium.
- make current boot medium already selected if multiple hdlist are on this
- boot medium.
-
-2001/09/25 warly
-
- * share/rpmsrate: put gtk-themes _and_ sawfish-themes to 4 so that it is
- installed for newbie and drakfirsttime does not fail.
- put gtk-themes to 4 so that it is installed for newbie and drakfirsttime
- does not fail.
-
-2001/09/24 dam's <damien@mandrakesoft.com>
-
- * share/po/fr.po: corrected translation
-
-2001/09/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/mount.c, mdk-stage1/mount.h,
- mdk-stage1/disk.c: hd.img now detects partition types... backport from
- DrakX :-)
-
-2001/09/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
-2001/09/24 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount_part): fix for iso loopback mounted
-
- * share/po/fr.po: fix
-
-2001/09/24 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/isdn.pm: type assignation bug fix
- corrected type assignation
-
- * share/po/fr.po: corrected bad translation
-
- * standalone/draknet: corrected type assignation
-
-2001/09/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * bootloader.pm: fix add_append (there was a ) at the end of the parameter
- value)
-
-2001/09/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/tr.po, share/po/es.po: updated Spanish, Korean
- and Turkish files
-
-2001/09/24 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount_part): fix for iso loopback mounted
-
- * share/po/fr.po: fix
-
-2001/09/24 warly
-
- * share/rpmsrate: lower arkeia
-
-2001/09/24 dam's <damien@mandrakesoft.com>
-
- * modules.pm: corrected isdn firmware
-
- * network/adsl.pm, network/isdn.pm: type assignation bug fix
- corrected type assignation
-
- * share/po/fr.po: corrected bad translation
-
- * standalone/draknet: corrected type assignation
-
-2001/09/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * bootloader.pm: fix add_append (there was a ) at the end of the parameter
- value)
-
-2001/09/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/tr.po, share/po/es.po: updated Spanish, Korean
- and Turkish files
-
-2001/09/24 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix small error merging existing fstab
-
- * share/po/fr.po: fix
-
- * diskdrake.pm: do not propose to mount/umount removable medias (disabled
- for now)
-
- * diskdrake_interactive.pm: hide the supermount checkbox in standalone
-
-2001/09/24 warly
-
- * share/rpmsrate: lower arkeia
-
-2001/09/24 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm, network/ethernet.pm: bug fix
-
- * modules.pm: corrected isdn firmware
-
- * network/isdn.pm, network/adsl.pm: type assignation bug fix
- corrected type assignation
-
- * standalone/draknet: corrected type assignation
-
- * install_any.pm, rescue/tree/etc/oem: added isdn-light to be copied on hd
- during install
-
-2001/09/24 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: deactivated Riva128 3D hw acceleration and too many
- problems reported with it.
-
- * share/rpmsrate: allow rpm build for non expert who choose development.
-
- * install_steps.pm: disable wins in /etc/nsswitch.conf (after installed
- packages).
-
-2001/09/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/tr.po, share/po/es.po: updated Spanish, Korean
- and Turkish files
-
-2001/09/24 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix small error merging existing fstab
- add "iocharset=" for cdrom
-
- * install_steps.pm:
- - disable supermount by default
- - cleanup nsswitch.conf wins removing
-
- * diskdrake.pm: do not propose to mount/umount removable medias (disabled
- for now)
-
- * diskdrake_interactive.pm: hide the supermount checkbox in standalone
-
-2001/09/24 siegel
-
- * share/po/de.po: new german version
-
-2001/09/24 warly
-
- * share/rpmsrate: lower arkeia
-
-2001/09/24 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm, network/ethernet.pm: bug fix
-
-2001/09/24 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: deactivated Riva128 3D hw acceleration and too many
- problems reported with it.
-
- * share/rpmsrate: allow rpm build for non expert who choose development.
- removed any reference to XFree86-glide-module or Glide_XXX packages.
-
- * pkgs.pm: sort mediums by number, in allMediums() else they will be in
- hash keys orders in
- install_steps_interactive::chooseCD().
-
- * install_steps.pm: disable wins in /etc/nsswitch.conf (after installed
- packages).
-
-2001/09/24 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: add "iocharset=" for cdrom
-
- * install_steps.pm:
- - disable supermount by default
- - cleanup nsswitch.conf wins removing
-
-2001/09/24 François Pons <fpons@mandrakesoft.com>
-
- * share/rpmsrate: removed any reference to XFree86-glide-module or
- Glide_XXX packages.
-
- * pkgs.pm: sort mediums by number, in allMediums() else they will be in
- hash keys orders in
- install_steps_interactive::chooseCD().
-
-2001/09/24 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: File permission settings during install were not done.
- Fixed.
-
-2001/09/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: misc typo correction
-
- * install_steps.pm: voodoo cards don't like performing 3d accel in fb mode
-
-2001/09/23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: add "Graphical Environment" in meta_class server
-
- * share/rpmsrate: simplify (for the moment)
- do not force X flag, have it selected for any "Graphical Environment"
-
- * share/compssUsers, install_any.pm: do not force X flag, have it selected
- for any "Graphical Environment"
-
-2001/09/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps.pm: voodoo cards don't like performing 3d accel in fb mode
-
-2001/09/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po, share/po/hu.po: updated Czech and Hungarian file
-
- * share/po/zh_TW.po: updated Chinese file
-
-2001/09/23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: add "Graphical Environment" in meta_class server
-
- * fsedit.pm: add magic SWAPSPACE2
-
- * bootloader.pm: allow bootloader on fat partitions
-
- * share/compssUsers, share/rpmsrate, install_any.pm: do not force X flag,
- have it selected for any "Graphical Environment"
-
-2001/09/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: version is 8.1
-
-2001/09/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bs.po: updated Bosnian file
-
-2001/09/22 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, install2.pm:
- - cleanup noatime option setting
- - cleanup exec option setting (must noexec => 0 instead of exec => 1)
-
- * bootloader.pm (suggest): fix kernel 2.2 secure adding in menu
-
-2001/09/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po: updated Bulgarian file
-
-2001/09/22 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (suggest): fix kernel 2.2 secure adding in menu
-
-2001/09/22 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added support for automatic /dev/... file permissions
- setting by devfsd.
- Improved matching of auto-detection results with database entries.
- Given hint to the user to select the correct model when matching fails.
-
- * printer.pm: Added support for automatic /dev/... file permissions
- setting by devfsd.
-
-2001/09/21 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm: avoid detecting plip for live upgrade.
-
-2001/09/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: use "us" XKB file for Korean keyboard, otherwise some
- functionality is lost
- small fix for "vn" keyboard (enable toggle key)
-
- * share/po/ko.po: updated Korean file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/vi.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/bs.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * printerdrake.pm: small fix
-
-2001/09/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: When one changes the driver of a freshly
- added printer, the cursor was not pointed to the old driver, fixed.
- Fixed paper size not set according to chosen language during
- installation.
-
-2001/09/21 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm: typo
-
-2001/09/21 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: reworked medium management.
- moved com_license to parent package (as code that show the license is
- now
- available even for non gtk install).
-
- * Xconfigurator.pm: S3 ViRGE is a bad card for testing on live upgrade.
-
- * pkgs.pm, install_any.pm: reworked medium management.
-
- * detect_devices.pm: avoid detecting plip for live upgrade.
-
- * install_steps_interactive.pm: avoid keeping testing code.
- reworked medium management.
- added code to support changeable cdrom, set a unique copy of license for
- installing commercial application as package variable (exported).
-
-2001/09/21 gbeauchesne
-
- * share/po/no.po: remove trailing '\n'
-
-2001/09/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hu.po, share/po/no.po: updated pot file
- updated pot file
- updated Norwegian and Hungarian files
- updated pot file
-
- * help.pm: updated help file
-
- * share/po/help_xml2pm.pl: updated pot file
-
- * printerdrake.pm: small fix
- changed text strings to be more translator friendly
- (NEVER EVER cut a phrase)
-
- * share/po/zh_CN.po, share/po/ru.po, share/po/vi.po: updated pot file
- updated pot file
- corrected extra \n
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/bs.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
- updated pot file
- updated pot file
-
- * keyboard.pm: adapted keyboard priority numbers (it is useless to give a
- multichoice with a
- value higher than 90)
-
- * share/po/zh_TW.po: updated pot file
- updated pot file
-
-2001/09/21 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm: write password in lilo.conf even if it's also done by
- msec, otherwise lilo will fail with restricted only
-
- * install_steps.pm: Ensure $o->{superuser}{name} is temporary
-
- * share/rpmsrate, install_any.pm: add HIGH_SECURITY flag, use it for
- libsafe and kernel22-secure
-
-2001/09/21 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Added a forgotten "_( ... )".
-
-2001/09/21 warly
-
- * share/rpmsrate: add gnomemeeting and openmcu
-
-2001/09/20 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm (partition_with_diskdrake): ensure the $::expert
- flag modifications in
- diskdrake do not escape from diskdrake
-
- * install_steps_interactive.pm (choosePartitionsToFormat): do not propose
- check bad blocks for xfs and jfs
-
-2001/09/20 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: don't reapply the conf, if already applied.
- usefull for dhcp, because the network should be restarted after
- configured
-
- * network/adsl.pm: test if microcode is there
-
- * bootlook.pm: removed blocking die
-
-2001/09/20 fcrozat
-
- * share/rpmsrate: Add gnome-user-docs to GNOME install
- Install Mdk eazel engine for gnome
-
-2001/09/20 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: take care not probing in /dev/ for finding package to upgrade,
- this cause
- problem in live_upgrade.
-
- * Xconfigurator.pm: added VideoRam for ET 6x00 card.
-
- * network/netconnect.pm: tried to fix damien sucking.
-
-2001/09/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: misc
-
-2001/09/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/cs.po: updated Czech file
-
- * share/po/nl.po, share/po/da.po, share/po/zh_TW.po: updated Danish,
- Chinese and Dutch files
-
-2001/09/20 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm (partition_with_diskdrake): ensure the $::expert
- flag modifications in
- diskdrake do not escape from diskdrake
-
- * share/rpmsrate: raise i18n fonts
-
- * fsedit.pm (hds): do a get_major_minor where needed
-
- * lang.pm: replace xcin by chinput as per Alex request
-
- * install_steps_interactive.pm (choosePartitionsToFormat): do not propose
- check bad blocks for xfs and jfs
-
-2001/09/20 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed flow of the program for the "recommended" mode of
- the installation.
-
-2001/09/20 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: don't reapply the conf, if already applied.
- usefull for dhcp, because the network should be restarted after
- configured
-
- * mouse.pm: text positionning
-
- * standalone/net_monitor: less gethostbyname
-
-2001/09/20 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: take care not probing in /dev/ for finding package to upgrade,
- this cause
- problem in live_upgrade.
-
- * network/netconnect.pm: tried to fix damien sucking.
-
-2001/09/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/da.po, share/po/zh_TW.po: updated Danish,
- Chinese and Dutch files
-
-2001/09/20 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: raise i18n fonts
- s/telnet-server/telnet-server-krb5/
-
- * fsedit.pm (hds): do a get_major_minor where needed
-
- * fs.pm (add2all_hds): allow both "smbfs" and "smb" as fs type
-
- * lang.pm: replace xcin by chinput as per Alex request
-
- * printerdrake.pm: back out the modif from till as asked by till
-
-2001/09/20 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Make it possible to configure more than 1 printer in a
- "recommended" mode installation.
-
-2001/09/19 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/netconnect.pm, network/ethernet.pm: network
- restart at better place
-
-2001/09/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: chromium and tuxracer don't work well with Riva
-
-2001/09/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: updated pot file
- updated help xml
-
- * help.pm: updated help file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/bg.po, share/po/sr.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/nl.po, share/po/ja.po,
- share/po/sv.po, share/po/hu.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/gl.po,
- share/po/ca.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/de.po:
- updated help xml
-
- * share/po/wa.po: updated pot file
- updated pot file
-
-2001/09/19 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/netconnect.pm, network/ethernet.pm: network
- restart at better place
-
-2001/09/19 fcrozat
-
- * share/rpmsrate: Add mdk-eazel-engine
-
- * share/po/fr.po: Fix french mistakes
-
-2001/09/19 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added code to check if package are really installed.
-
- * Xconfigurator.pm: Rage 128 doesn't like XF3 at all.
- make only bad card Riva128 for testing XF4.
- Riva128 is now a bad card.
-
-2001/09/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: raklet quoting
-
- * share/rpmsrate: chromium and tuxracer don't work well with Riva
-
-2001/09/19 Pixel <pixel@mandrakesoft.com>
-
- * loopback.pm (create): don't use seek to create big files otherwise you
- get hole and
- swapon doesn't like it
-
- * any.pm (ask_users): default icon "man"
-
- * lang.pm: compatibility with older $o->{lang} names (for auto_installs)
-
- * install2.pm: initial support for server install
- compatibility with older $o->{lang} names (for auto_installs)
-
- * install_steps_gtk.pm: initial support for server install
-
- * printerdrake.pm: help perl_checker
-
- * pkgs.pm, share/rpmsrate, install_any.pm:
- - gmc instead of nautilus for non-latin1 installs
- - introduce CHARSET flag and use it
-
-2001/09/19 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Network is now only required (and checked) for remote
- printers.
- Several buglets fixed in remote CUPS server dialog.
-
- * printerdrake.pm: Removed a forgotten debug help line from the code.
- Fixed typo in dialog text of high/paranoid security.
- Network is now only required (and checked) for remote printers.
- Several buglets fixed in remote CUPS server dialog.
-
-2001/09/18 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: don't ask to connect if lan or dhcp
-
-2001/09/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install2.pm: don't create bootdisk by default
-
- * share/po/fr.po: misc
-
-2001/09/18 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (write_passwd_user): fix setting "pw" field (for auto_installs)
-
- * install_steps_gtk.pm, pkgs.pm: tentative to correct install time for big
- installs
-
-2001/09/18 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, my_gtk.pm: corrected Speedtouch -> speedtouch
-
- * network/netconnect.pm: don't ask to connect if lan or dhcp
-
- * standalone/drakgw: debug
-
-2001/09/18 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added X group with SYSTEM.
- finally work arounded rpm bug by flepied.
-
- * detect_devices.pm: added back full pci probe for stage2 command lspci.
- removed full pci probe for stringlist (used for generating report_bug).
-
- * install_steps_interactive.pm: now finally really fixed printer label in
- summary dialog.
- fixed printer description in summary (again).
- fixed no printer displayed (at least, print Remote CUPS server).
-
- * commands.pm: make lspci a full pci probe instead of safe pci probe.
-
-2001/09/18 gbeauchesne
-
- * Xconfigurator.pm:
- - Force XFree 4 on IA-64. No XFree 3.3.X there...
-
- * tools/ia64/elilo.efi:
- - elilo 3.1
-
-2001/09/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install2.pm: don't create bootdisk by default
-
- * standalone/drakautoinst: have "manual" and "replay" translated
-
- * share/po/fr.po: misc
-
-2001/09/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po, share/po/hu.po: updated Dutch and Hungarian files
-
-2001/09/18 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm, share/gen_locales.sh, share/locales-skeleton.tar.bz2:
- - remove ISO-8859-5, KOI8-R and KOI8-U
- - cleanup packdrake extracting locales
- - cleanup/fixes lang.pm
-
- * install_steps.pm: fix setting kdmrc for latin1
-
- * any.pm (write_passwd_user): fix setting "pw" field (for auto_installs)
-
- * install_steps_gtk.pm, pkgs.pm: tentative to correct install time for big
- installs
-
-2001/09/17 François Pons <fpons@mandrakesoft.com>
-
- * rescue/list: updated for rpm 4.0.3.
-
- * rescue/tree/etc/oem: updated for 8.1, contains workaround for bug of
- "rpm --root" but need more testing.
-
- * standalone/XFdrake: removed comment.
- added support to configure NVIDIA driver if everything is correctly
- installed.
-
-2001/09/17 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, fsedit.pm:
- - '--' to separate options for supermount + small workaround (ro and
- exec before --)
- - fix nfs in manualFstab (for auto_installs, reported by David
- Eastcott)
-
-2001/09/17 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug of /etc/foomatic/defaultspooler not been written
- in expert install.
-
-2001/09/17 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: no expert mode needed to choose gateway
-
-2001/09/17 François Pons <fpons@mandrakesoft.com>
-
- * rescue/list: updated for rpm 4.0.3.
-
- * rescue/tree/etc/oem: updated for 8.1, contains workaround for bug of
- "rpm --root" but need more testing.
-
- * printerdrake.pm: add eval around installing lexmark-driver
- (proprietary).
-
- * Xconfigurator.pm: deactivating bad card test (too).
-
- * standalone/XFdrake: removed comment.
- added support to configure NVIDIA driver if everything is correctly
- installed.
-
-2001/09/17 odin
-
- * share/po/fr.po: updated fr.po
-
-2001/09/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: Added choice of "English|Ireland (euro)" so people wanting
- English language but also euro symbol can choose it.
- fixed Belgian keyboard
-
- * share/po/fr.po, share/po/wa.po, share/po/es.po: updated Spanish and
- Wallon files; corrected error syntax in French file
-
- * lang.pm: Added choice of "English|Ireland (euro)" so people wanting
- English language but also euro symbol can choose it.
-
-2001/09/17 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm:
- - '--' to separate options for supermount + small workaround (ro and
- exec before --)
- - fix nfs in manualFstab (for auto_installs, reported by David
- Eastcott)
- (mount): do not hand update /etc/mtab for nfs mounts, already done by
- mount(8)
- (set_default_options): disable iocharset= and codepage= for supermount
-
- * partition_table.pm (adjust_main_extended): do not use linux extended
-
- * detect_devices.pm (pci_probe): log full pci probes
-
- * standalone/drakbug_report: fix
-
- * fsedit.pm:
- - '--' to separate options for supermount + small workaround (ro and
- exec before --)
- - fix nfs in manualFstab (for auto_installs, reported by David
- Eastcott)
-
-2001/09/17 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug of /etc/foomatic/defaultspooler not been written
- in expert install.
- Do not die when "chkconfig" fails (needed for "security_check").
- Added "-q" option to foomatic-configure (should not get interactive).
- Added handling of high and paranoid security levels.
-
- * printerdrake.pm: /etc/foomatic/defaultspooler was not written in expert
- mode installation.
- Added handling of high and paranoid security levels.
-
-2001/09/17 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: add eval around installing lexmark-driver
- (proprietary).
-
-2001/09/17 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (pci_probe): log full pci probes
-
- * fs.pm (set_default_options): disable iocharset= and codepage= for
- supermount
-
-2001/09/17 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: add eval around installing lexmark-driver
- (proprietary).
-
-2001/09/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/vi.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2001/09/17 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (pci_probe): log full pci probes
-
-2001/09/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (getAndSaveAutoInstallFloppy): skip it on ia64
-
- * pkgs.pm (read_rpmsrate): fix bug
-
-2001/09/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug which prevented from printing the option list
- during install.
- Fixed bug which prevents printerdrake from running without PDQ
- installed.
-
-2001/09/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (getAndSaveAutoInstallFloppy): skip it on ia64
- more up to my need ALL flag in compssUsersChoice
- remove auto-install special case (initialisation of compssUsersChoice)
-
- * share/rpmsrate:
- - cleanup packages appearing twice in rpmsrate
- - handle a few case of packages appearing twice
- - special case for packages appearing in INSTALL section (flag
- dropped)
- - new special flag ALL for compssUsersChoice
-
- * pkgs.pm: more up to my need ALL flag in compssUsersChoice
- - cleanup packages appearing twice in rpmsrate
- - handle a few case of packages appearing twice
- - special case for packages appearing in INSTALL section (flag
- dropped)
- - new special flag ALL for compssUsersChoice
-
- * rescue/make_rescue_img: use new mkdir_p, rm_rf and cp_af from
- MDK::Common
-
-2001/09/16 siegel
-
- * share/po/help_xml2pm.pl: added "systemitem"
-
-2001/09/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Fixed bug which prevents printerdrake from running without
- PDQ installed.
-
-2001/09/16 dam's <damien@mandrakesoft.com>
-
- * mouse.pm, my_gtk.pm: bugfix + cosmetic changes
-
-2001/09/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: updated help.pm file
-
- * share/po/hu.po: updated Hungarian file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/vi.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/bs.po, share/po/da.po, share/po/zh_TW.po,
- share/po/cs.po, share/po/af.po: updated pot file
-
-2001/09/16 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: "please click on ..." for removable, nfs, smb.
-
- * fsedit.pm: enhance lvm handling (mostly standalone)
- - cleanup & enhance raid mdstat reading (now works with or without
- devfs mounted)
- - chunk size is buggy?
-
- * install_any.pm (getAndSaveAutoInstallFloppy): skip it on ia64
- more up to my need ALL flag in compssUsersChoice
- remove auto-install special case (initialisation of compssUsersChoice)
- use new mkdir_p, rm_rf and cp_af from MDK::Common
-
- * share/rpmsrate:
- - cleanup packages appearing twice in rpmsrate
- - handle a few case of packages appearing twice
- - special case for packages appearing in INSTALL section (flag
- dropped)
- - new special flag ALL for compssUsersChoice
-
- * verify_c: add special case for c::to_utf8
-
- * pkgs.pm: more up to my need ALL flag in compssUsersChoice
- - cleanup packages appearing twice in rpmsrate
- - handle a few case of packages appearing twice
- - special case for packages appearing in INSTALL section (flag
- dropped)
- - new special flag ALL for compssUsersChoice
- use new mkdir_p, rm_rf and cp_af from MDK::Common
-
- * services.pm, install2.pm, lang.pm, commands.pm, loopback.pm,
- tinyfirewall.pm, raid.pm, keyboard.pm, printerdrake.pm, fs.pm, mouse.pm,
- network/netconnect.pm, timezone.pm, network/adsl.pm, install_steps.pm,
- any.pm, printer.pm, rescue/make_rescue_img, bootloader.pm: use new
- mkdir_p, rm_rf and cp_af from MDK::Common
-
- * diskdrake_interactive.pm, lvm.pm: enhance lvm handling (mostly
- standalone)
-
- * devices.pm (make): ensure it never returns a non-absolute name
- (it happened with make("foo") when cwd=/dev and /dev/foo existed)
-
-2001/09/16 siegel
-
- * share/po/help_xml2pm.pl: added "systemitem"
- added commet explainig that help.pm is automatically generated.
-
- * .cvsignore: added .*.sw? for vim users
-
-2001/09/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Added possibility to list command line
- options for the printers and to give the users help for printing
- Fixed bug of sometimes appearing the wron dialog after printing test
- pages
-
-2001/09/15 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix options appearing twice in fstab
-
- * install_steps.pm, any.pm, c/stuff.pm: i18n kdmrc
-
- * lang.pm (load_mo): ensure the locale is set (was broken in non-gtk
- installs)
-
- * install_steps_auto_install.pm (enteringStep): do not translate in
- ja|ko|zh
-
-2001/09/15 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix options appearing twice in fstab
-
- * install_steps.pm, any.pm, c/stuff.pm: i18n kdmrc
-
- * lang.pm (load_mo): ensure the locale is set (was broken in non-gtk
- installs)
-
- * install_steps_auto_install.pm (enteringStep): do not translate in
- ja|ko|zh
-
-2001/09/15 civileme
-
- * help.pm: Added a dialog in English for users selecting a printing system
- since no other
- OS seems to offer such a choice during install.
-
-2001/09/15 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: better connection testing
-
- * network/tools.pm: more timeout
-
- * network/adsl.pm: avoid asking 2 times to restart the ethernet card
-
- * mouse.pm: readded darea realization
-
-2001/09/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: make gtk-themes installed when Gnome is choosen
-
- * share/po/es.po: updated Spanish file
-
- * share/po/wa.po, share/po/hu.po: updated Hungarian file
-
-2001/09/15 Pixel <pixel@mandrakesoft.com>
-
- * Makefile.config, tools/Makefile: add aewm-drakx
-
- * install_steps_gtk.pm: makes cancel on mouse selection works even better
- - add and use aewm-drakx
- - add some "skip" title on help/logo/steps windows so that aewm-drakx
- know they don't need keyboard focus
- - add some more title to ease debugging (when aewm-drakx is in debug
- mode)
-
- * install_gtk.pm, tools/aewm-drakx/Makefile, tools/aewm-drakx/misc.c,
- tools/aewm-drakx/README:
- - add and use aewm-drakx
- - add some "skip" title on help/logo/steps windows so that aewm-drakx
- know they don't need keyboard focus
- - add some more title to ease debugging (when aewm-drakx is in debug
- mode)
-
- * any.pm: i18n kdmrc
- fix user icons choice
- - add and use aewm-drakx
- - add some "skip" title on help/logo/steps windows so that aewm-drakx
- know they don't need keyboard focus
- - add some more title to ease debugging (when aewm-drakx is in debug
- mode)
-
- * install2.pm: don't warn if modules are missing when testing
-
- * bootloader.pm: find error in /tmp/.error only if exception is "xxx
- failed"
- (write_lilo_conf): ensure linear and lba32 are not both set
-
- * share/po/fake_c.pl: fix a tricky hack
-
- * my_gtk.pm: do the set_events before the show otherwise gtk go crazy (no
- more keyboard focus)
-
- * c/stuff.pm: i18n kdmrc
-
- * lang.pm (load_mo): ensure the locale is set (was broken in non-gtk
- installs)
-
- * install_steps_interactive.pm: fix typo
- find error in /tmp/.error only if exception is "xxx failed"
- makes cancel on mouse selection works even better
- fix cancel on mouse choice
-
- * install_steps.pm: i18n kdmrc
- enable supermount again
-
- * network/adsl.pm: correct dams typo
-
- * fs.pm (write_fstab): fix supermount moving from options to fstype
-
- * steps.pm: find error in /tmp/.error only if exception is "xxx failed"
-
- * tools/aewm-drakx/aewm.h, tools/aewm-drakx/client.c,
- tools/aewm-drakx/events.c, tools/aewm-drakx/aewm-drakx.c: set_focus on
- new map_request event (fix summary step)
- - add and use aewm-drakx
- - add some "skip" title on help/logo/steps windows so that aewm-drakx
- know they don't need keyboard focus
- - add some more title to ease debugging (when aewm-drakx is in debug
- mode)
-
- * install_steps_auto_install.pm (enteringStep): do not translate in
- ja|ko|zh
-
-2001/09/15 siegel
-
- * share/po/de.po: fixed another typo
- new string
-
- * printerdrake.pm: added missing _()
-
- * standalone/draksec: use " instead of ' to get i18n
-
- * standalone/draknet: fixed missing _()
-
-2001/09/15 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added the PDQ panic button.
- Removed a superfluous "set_help" line.
- Save default spooler at program start, fixed typos in comments.
- Command line commands as "lpr", "lpq", ... are mapped to the correct
- spooler now.
- Fixed bug of a waiting message appearing together with a dialog
- Cleaned up variables to correctly switch between CUPS/Foomatic/Raw type
- for a printer
-
- * printer.pm: Added the PDQ panic button.
- Command line commands as "lpr", "lpq", ... are mapped to the correct
- spooler now.
-
- * standalone/printerdrake: Fixed bug of spooler choice via command line
- options being ignored.
-
-2001/09/15 warly
-
- * share/rpmsrate: add drakfirsttime
-
-2001/09/14 dam's <damien@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: make test_pms happy
-
- * install_any.pm: pptp-adsl instead of pptp-adsl-fr
-
- * Xconfigurator.pm: no shadow when X test
-
- * standalone.pm: bugfix
-
- * my_gtk.pm: no icon if wizard
- no shadow when X test
- shadow color
-
- * bootlook.pm: bugfix
- iautologin correction
-
- * mouse.pm: trying to remove draw
-
- * network/adsl.pm: debug
- pptp-adsl instead of pptp-adsl-fr
- bugfix
- updated speedtouch handling.
-
-2001/09/14 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: removed S3 ViRGE card from card with problem with
- frame buffer as it works fine.
-
- * Xconfigurator.pm: fixed filtering of depth for newt version.
- depth 24 is used for DRI for Rage 128 and Radeon instead of Depth 32 (as
- depth
- 32 simply doesn't work, even if DRI guide says it works :-) 24 bit works
- fine
- for Rage 128.
- apply restriction on depth available when changing resolution, removed
- S3 ViRGE
- from experimental 3D accelerated card list as it really does not work,
- allow on
- second pass to change card configuration to choose server (experimental
- server
- are still only available to expert), added support for UseCCEFor2D for
- Rage 128
- card if a TV card is installed (set to true, else set to false), added
- support
- for Rage Mobility M... card that are Rage 128 Mobile chipset, improved
- error
- message display to catch only appropriate error message of XFree 4.1.0
- only,
- added support for 32 bits for DRI using Matrox card, improved info
- message with
- real version of XFree used (anybody) and identifier from PCI probe
- (expert).
-
-2001/09/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/insmod-busybox/Makefile: clean also cleans the DIET target
-
- * mdk-stage1/Makefile, mdk-stage1/Makefile.mkinitrd_helper: back to using
- a reduced form of mkinitrd_helper for mkinitrd (only
- to provide a dietlibc-enabled static insmod)
-
-2001/09/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po: updated Walloon file
-
- * share/po/ko.po: updated Korean file
-
- * share/po/da.po: updated Danish file
- updated Danish file
-
- * share/po/bs.po, share/po/sv.po: updated Bosnian and Swedish files
-
-2001/09/14 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_raw.pm, install_any.pm: when testing for bad drives, if
- opening for writing fails, remove the drive from the hard drive list
- (useful for Smartmedia readers)
-
- * pkgs.pm: update correctSize and invCorrectSize (now linear)
-
- * share/po/fr.po: fix odin bug (please run msgfmt before committing!)
-
- * share/rpmsrate: do not install Aurora in russian
-
-2001/09/14 siegel
-
- * share/po/de.po: updates
-
- * standalone/drakautoinst: Check exisence of "/root/replay_install.img"
- before anything else ...
-
-2001/09/14 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Added "set_help" lines for installer help texts.
- Raw queue entry added, so cursor not always on "Alps MD-1000" when no
- printer
- detected.
- Resolved conflict.
- Now it is checked whether the network is configured and running.
- draknet is called when the network is not configured.
- It is checked whether the spooler is automatically started at boot.
- The oki4daemon is started when needed.
- Lexmarks inkjet drivers are fully integrated.
- The permissions of the device files are set so that normal users can
- print with PDQ.
-
- * standalone/printerdrake: Fixed spooler selection by command line.
-
- * printer.pm: Raw queue entry added, so cursor not always on "Alps
- MD-1000" when no printer
- detected.
- Made network checking working on non-english systems.
- Now it is checked whether the network is configured and running.
- draknet is called when the network is not configured.
- It is checked whether the spooler is automatically started at boot.
- The oki4daemon is started when needed.
- Lexmarks inkjet drivers are fully integrated.
- The permissions of the device files are set so that normal users can
- print with PDQ.
-
-2001/09/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po, share/po/tr.po: updated Turkish and Bulgarian files
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/gl.po,
- share/po/ca.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/bs.po, share/po/da.po, share/po/zh_TW.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2001/09/13 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added mt-st to ARCHIVING
-
-2001/09/13 odin
-
- * share/po/fr.po: updated up to 6648
-
-2001/09/13 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: new migration feature for creation of
- partitions on existing mount points
-
- * diskdrake.pm:
- - add back shortcuts
- - red colored buttons in nfs/smb/removable
-
-2001/09/13 dam's <damien@mandrakesoft.com>
-
- * pixmaps/wiz_default_up.png, pixmaps/wiz_draknet.png: updated
-
- * my_gtk.pm: updated
- addde /usr/share/icons in path for pixmaps search
- shadow reduced to 5 pixels
-
- * standalone/draknet, network/isdn.pm: isdn timeout works now.
-
-2001/09/13 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added mt-st to ARCHIVING
-
-2001/09/13 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: removed ugly Modeline 1024x768 which causes
- trouble to XFree86 4.1.0.
-
- * Xconfigurator.pm: fix for missing Xinerama for Matrox cards.
- fix for Matrox G550 support, now add DRI support.
- disable any question to user about XF3 if he choose a dual head
- configuration.
- disable DRI if Xinerama has been chosen.
- updated Rage Mobility regexp for bad_card, added bad_card for XF4 as
- Tseng ET6\d00.
-
- * install_any.pm: updates 3D category according Matrox G550 and Radeon
- card.
-
- * install_steps.pm: synced with Xconfigurator bad_card class of video card
- to avoid using frame
- buffer, added ET6\d00 style card which seems to have problem.
-
-2001/09/13 odin
-
- * share/po/fr.po: updated up to 6648
- updated fr.po
-
-2001/09/13 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add krozat
-
- * any.pm (inspect): use a safer dir when standalone
-
- * install_steps.pm: extend disable KDE GreetString to
- ja|ko|zh|ru|th|vi|be|bg
- do not translate kdm GreetString in ja|ko|zh (what about ru?)
- in kdmrc GreetString, magic string HOSTNAME replaced by %n
-
- * diskdrake_interactive.pm: new migration feature for creation of
- partitions on existing mount points
-
- * diskdrake.pm:
- - add back shortcuts
- - red colored buttons in nfs/smb/removable
-
- * partition_table.pm: BLKPG_ADD_PARTITION support (aka adding partition on
- the fly without rebooting on a device with some already mounted
- partitions)
-
- * install_steps_interactive.pm (selectKeyboard): don't prompt in newbie
- mode if >=90, not >90
-
-2001/09/13 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: shadow reduced to 5 pixels
-
- * standalone/draknet, network/isdn.pm: isdn timeout works now.
-
-2001/09/13 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fix for missing Xinerama for Matrox cards.
- fix for Matrox G550 support, now add DRI support.
- disable any question to user about XF3 if he choose a dual head
- configuration.
- disable DRI if Xinerama has been chosen.
- updated Rage Mobility regexp for bad_card, added bad_card for XF4 as
- Tseng ET6\d00.
- avoid creating /etc/X11/XF86Config* file if --g_auto_install.
-
- * services.pm: updated repartition of services into category, network
- category are commented so
- that service will to "Other" one.
-
- * Xconfigurator_consts.pm: removed ugly Modeline 1024x768 which causes
- trouble to XFree86 4.1.0.
-
- * install_any.pm: updates 3D category according Matrox G550 and Radeon
- card.
-
- * install_steps.pm: synced with Xconfigurator bad_card class of video card
- to avoid using frame
- buffer, added ET6\d00 style card which seems to have problem.
-
-2001/09/13 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm: filtered the list from lang2keyboard to display only valid
- keyboards
-
- * c/stuff.xs.pm: add partition adding on the fly trick
-
- * partition_table.pm: BLKPG_ADD_PARTITION support (aka adding partition on
- the fly without rebooting on a device with some already mounted
- partitions)
-
- * install_steps.pm: do not translate kdm GreetString in ja|ko|zh (what
- about ru?)
- in kdmrc GreetString, magic string HOSTNAME replaced by %n
-
-2001/09/13 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet, network/isdn.pm: isdn timeout works now.
-
-2001/09/13 François Pons <fpons@mandrakesoft.com>
-
- * lang.pm: fixed bad $localedir in load_mo().
-
- * g_auto_install: updated so that this scripts is running again.
-
- * install2.pm: do not output error message for bad kernel if using
- --g_auto_install.
-
- * install_steps_interactive.pm: fixed Printer name reporting for a
- specific printer.
-
- * install_any.pm: updates 3D category according Matrox G550 and Radeon
- card.
-
- * services.pm: updated repartition of services into category, network
- category are commented so
- that service will to "Other" one.
-
- * live_install2: updated #! as ../perl is not used.
-
- * my_gtk.pm: synced with --g_auto_install mode.
-
- * install_steps.pm: synced with Xconfigurator bad_card class of video card
- to avoid using frame
- buffer, added ET6\d00 style card which seems to have problem.
-
- * Xconfigurator.pm: fix for Matrox G550 support, now add DRI support.
- disable any question to user about XF3 if he choose a dual head
- configuration.
- disable DRI if Xinerama has been chosen.
- updated Rage Mobility regexp for bad_card, added bad_card for XF4 as
- Tseng ET6\d00.
- avoid creating /etc/X11/XF86Config* file if --g_auto_install.
- synced with --g_auto_install mode.
- disable testing with all SiS card except SiS 630 under XF4.
-
-2001/09/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/pl.po, share/po/pt.po, share/po/no.po,
- share/po/th.po, share/po/sr.po, share/po/sk.po, share/po/lt.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/ko.po, share/po/lv.po,
- share/po/uk.po, share/po/nl.po, share/po/ja.po, share/po/sv.po,
- share/po/id.po: updated pot file
-
-2001/09/13 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm: filtered the list from lang2keyboard to display only valid
- keyboards
-
- * c/stuff.xs.pm: add partition adding on the fly trick
-
- * partition_table.pm: BLKPG_ADD_PARTITION support (aka adding partition on
- the fly without rebooting on a device with some already mounted
- partitions)
-
- * install2.pm (selectKeyboard): remove code causing
- install_steps::selectKeyboard to be skipped
-
- * install_steps.pm: do not translate kdm GreetString in ja|ko|zh (what
- about ru?)
- in kdmrc GreetString, magic string HOSTNAME replaced by %n
-
-2001/09/12 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: typo
- new color for shadow
- corrected shadow handling
- no shadow if liveupdate
-
- * share/help.png: new help
-
- * mouse.pm: removed debug code
-
- * network/tools.pm, network/netconnect.pm, network/ethernet.pm,
- network/isdn.pm, network/adsl.pm, network/modem.pm: new default
- connection handling
-
- * standalone.pm: added wait message while installing package
-
-2001/09/12 daouda
-
- * standalone/drakbug_report: add Mandrake release section
-
-2001/09/12 fcrozat
-
- * share/rpmsrate: Fix gnome install
-
-2001/09/12 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: removed obsolete --nocpi flag for install2.
- avoid probing usb device (for mouse) if --noauto is given.
-
- * install_steps.pm: disabled frame buffer for most of the SiS display card
- except SiS 630.
-
- * Xconfigurator.pm: added MGA G550 as always having two head.
-
- * live_install2: fix when switching perl version.
-
- * live_install: use system perl instead.
-
-2001/09/12 gbeauchesne
-
- * share/list.ia64, share/list, share/list.i386:
- - list (/sbin/mkfs.jfs, /sbin/mkfs.xfs): Move to...
- - list.i386: ... Here.
- - list.ia64: Updates.
-
-2001/09/12 odin
-
- * share/po/fr.po: updated fr.po
-
-2001/09/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/zh_CN.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/de.po,
- share/po/et.po, share/po/el.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/hr.po, share/po/vi.po, share/po/ca.po,
- share/po/gl.po, share/po/eo.po, share/po/help_xml2pm.pl, share/po/wa.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/hu.po,
- share/po/it.po, share/po/af.po: updated pot file
-
- * help.pm: new version with [ and ]
-
- * lang.pm: commented out utf-8 russian locale, for now
-
-2001/09/12 Pixel <pixel@mandrakesoft.com>
-
- * standalone/lsnetdrake: fix typo
- added wonderful lsnetdrake
-
- * modules.pm, install2.pm: display error when the kernel mismatch the
- modules
-
- * docs/README: explain how to get the boot kernels
-
- * install_steps_gtk.pm (choosePackagesTree): translate the categories
-
- * standalone/drakbug_report: cleanup
-
- * bootloader.pm (suggest): no "quiet" boot for smp and enterprise kernels
- (suggest): no "quiet" boot for smp and enterprise kernels
- allow grub even for more than 800MB
-
- * Makefile.drakxtools, Makefile.config: added wonderful lsnetdrake
-
-2001/09/12 siegel
-
- * share/po/de.po: new & shiny verion
-
- * share/po/help_xml2pm.pl: fixed silly error
- added keycap patch
-
-2001/09/12 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: corrected shadow handling
- no shadow if liveupdate
- table undef corrected
- removed shadows if standalone
-
- * standalone/drakgw, standalone/draknet: corrected wizard mode in newt
- mode
-
- * mouse.pm: removed debug code
-
- * network/netconnect.pm: corrected splash in non X mode
-
-2001/09/12 daouda
-
- * standalone/drakbug_report: add Mandrake release section
-
-2001/09/12 François Pons <fpons@mandrakesoft.com>
-
- * live_install2: fix when switching perl version.
-
- * live_install: use system perl instead.
-
-2001/09/12 kjx
-
- * share/po/zh_CN.po: revison
-
-2001/09/12 Pixel <pixel@mandrakesoft.com>
-
- * docs/README: explain how to get the boot kernels
-
- * install_steps_gtk.pm (choosePackagesTree): translate the categories
-
- * standalone/drakbug_report: cleanup
-
- * bootloader.pm: allow grub even for more than 800MB
-
-2001/09/11 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: removed useless print
- don't detect ethx if no autodetection.
- implement smarter checkboxes
-
- * mouse.pm: test updated
- mouse test worked
-
- * network/ethernet.pm: don't detect ethx if no autodetection.
- implement smarter checkboxes
-
- * pixmaps/arrow_down.xpm: pixmap corrected
- new arrows
-
- * pixmaps/arrow_up.xpm: new arrows
-
- * share/rpmsrate: added ibod
- added isdn-light
-
- * interactive_gtk.pm, my_gtk.pm: fear the shaped windows...
-
-2001/09/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * help.pm: small fix
-
- * share/po/fr.po, share/po/de.po, share/po/DrakX.pot, share/po/hu.po,
- share/po/it.po: updated Hungarian file;
- updated pot file
-
-2001/09/11 Pixel <pixel@mandrakesoft.com>
-
- * Makefile (tar-drakxtools): remove the building of "help" for drakxtools
-
- * bootloader.pm: for lilo, do not have table=/dev/xxx if the device is not
- a primary
- partition (otherwise lilo dies)
-
-2001/09/10 dam's <damien@mandrakesoft.com>
-
- * network/modem.pm, network/ethernet.pm: detect_devices
-
- * standalone/net_monitor, network/network.pm: removed timeout:1 in
- resolv.conf, modified timeout scanning in draknet/net_monitor
-
- * install_gtk.pm, install_steps_gtk.pm: mouse test moved
-
- * mouse.pm: test_mouse moved
-
- * my_gtk.pm: added border
- window decorations
- no set_events if embedded
-
- * standalone/draknet: removed timeout:1 in resolv.conf, modified timeout
- scanning in draknet/net_monitor
- debug
-
- * standalone/mousedrake: don't fork the code
-
- * network/adsl.pm: debug
- debug
-
-2001/09/10 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: updated g_auto_install() for newer printerdrake
- interface.
-
- * modules.pm, detect_devices.pm: moved modules::get_pcmcia_devices into
- detect_devices::pcmcia_probe.
-
- * mdk-stage1/init-data/msgboot-blank.img.bz2: initial release for
- blank.img floppy image.
-
- * install_steps_interactive.pm, mouse.pm: added hid type usb mouse
- support.
-
- * Xconfigurator_consts.pm: added some more ModeLine (1024x768 @ 97.6 Hz,
- 1024x480 but not automatically used).
-
-2001/09/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: plop
- some adjustements in Games section
-
-2001/09/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/de.po: updated German file; added choice of
- various quotes in help_xml2pm.pl
- Updated pot file;
- removed translations that are too low on percentage.
-
- * share/po/zh_TW.po: updated Chinese file
-
- * share/po/ko.po: updated Korean file
- Updated pot file;
- removed translations that are too low on percentage.
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po, share/po/fi.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/bs.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated pot file;
- removed translations that are too low on percentage.
-
- * share/po/help_xml2pm.pl: updated German file; added choice of various
- quotes in help_xml2pm.pl
-
-2001/09/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, my_gtk.pm:
- - make diskdrake work in embedded mode
- - $my_gtk::pop_it used where it should
-
- * detect_devices.pm: fix ide-scsi appearing 2 times when standalone
- because both in /proc/ide
- and /proc/scsi/scsi
-
- * share/po/help_xml2pm.pl: s/my/our/ for $i18ned_... vars
- - skip directories missing drakx-help.xml
- - convert to the right charset (taken from $lang.po)
- - rename help-*.po by help-*.pot
- - fix typo in script removing $lang.po translations to favour
- help-*.pot
-
- * diskdrake.pm:
- - make diskdrake work in embedded mode
- - $my_gtk::pop_it used where it should
- fix Umount and Mount when i18ned for nfs/smb
- don't display Wizard if wizard done before DrakX
-
- * share/po/Makefile, share/po/.cvsignore:
- - rename help-*.po by help-*.pot
- - fix typo in script removing $lang.po translations to favour
- help-*.pot
-
-2001/09/10 siegel
-
- * share/po/de.po: updates
-
-2001/09/10 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Copying of PPD file when moving a CUPS (non-Foomatic) queue
- modified to not get
- interactive when overwriting a file.
- Comment put into non-Foomatic CUPS PPD files in /etc/cups/ppd/ to be
- able to
- identify which PPD from /usr/share/cups/model was used (for
- auto-install).
-
-2001/09/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, share/po/vi.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/bs.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated pot file;
- removed translations that are too low on percentage.
-
-2001/09/10 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile, share/po/.cvsignore, share/po/help_xml2pm.pl:
- - rename help-*.po by help-*.pot
- - fix typo in script removing $lang.po translations to favour
- help-*.pot
-
-2001/09/09 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: probeall handling
-
-2001/09/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: getAndSaveInstallFloppy: fix multiple cdrom issue
-
-2001/09/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
- * share/po/sv.po: updated Swedish file
-
-2001/09/09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (ejectCdrom): fix D state on exit
-
- * diskdrake_interactive.pm, install_interactive.pm, diskdrake.pm:
- - "Wizard" and "More" are back
- - allow "Use for loopback" when there is already a loopback
- - set the options on newly created partitions
- - recompute_loopbacks called after modification of loopbacks, no more
- before reading
- - restrict the lenght of the lines in partition description
- - make loopback work
-
- * interactive_gtk.pm, interactive.pm, any.pm, interactive_newt.pm:
- clicked_may_quit used in place of clicked+exception to work-around
- perl-GTK bug (?)
-
- * share/po/i18n_compssUsers: ensure we're not adding a string already
- there (otherwise msgmerge yells)
-
- * share/po/help_xml2pm.pl, share/po/.cvsignore: xml help
- handling/enhancing for multi-langs
-
- * modules.pm: probeall handling
- (write_conf): switch to "probeall scsi_hostadapter ..."
-
- * share/po/Makefile: xml help handling/enhancing for multi-langs
- xml help handling/enhancing for multi-langs
-
- * partition_table.pm (get_normal_parts_and_holes): remove only small
- holes, not small partitions
-
- * fs.pm (set_default_options): remove iocharset=... for nfs (why was it
- there?)
-
-2001/09/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix some ortograf
-
- * share/rpmsrate: lvm not installed for everyone ?!
-
-2001/09/08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm: force exitInstall to be non automatic
-
- * install_steps.pm, fs.pm, install_steps_interactive.pm, fsedit.pm,
- diskdrake_interactive.pm, install2.pm, diskdrake.pm: make loopback
- installs work again
-
-2001/09/09 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): switch to "probeall scsi_hostadapter ..."
-
-2001/09/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix some ortograf
-
- * share/rpmsrate: lvm not installed for everyone ?!
-
- * modules.pm: fix write_conf regarding /etc/modules so that (1) it doesn't
- flush it when
- it didn't decide to put any modules in it (to leave user's modules) (2)
- it
- doesn't remove the last line (3) it uses stronger regexp'es for
- substitution to not remove modules that have names made of other modules
- names subsets
-
-2001/09/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/zh_TW.po: updated Chinese file
-
-2001/09/08 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm: fix font in iso-15
-
- * modules.pm (write_conf): put "probeall scsi-hosts scsi_hostadapter ..."
-
- * interactive.pm: ugly workaround perl bug ([ID 20010908.008] memory leak
- with nested subs)
-
- * share/diskdrake.rc: change name
-
- * install_steps_auto_install.pm: force exitInstall to be non automatic
-
- * install_steps.pm, fs.pm, install_steps_interactive.pm, fsedit.pm,
- diskdrake_interactive.pm, install2.pm, diskdrake.pm: make loopback
- installs work again
-
- * timezone.pm: Asia/Taipei for Traditional Chinese
-
- * detect_devices.pm: remove debug code
-
-2001/09/07 daouda
-
- * share/rpmsrate: add mdkonline (X 4)
-
-2001/09/07 fcrozat
-
- * share/rpmsrate: Add grio500
-
-2001/09/07 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fix card managed only by XF4 (may have some wrong
- result).
- fix all Matrox card used with XF4 which really does not like X in frame
- buffer
- (unable to restore frame buffer of DrakX).
-
-2001/09/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/tree/etc/oem, rescue/guessmounts, rescue/list.i386,
- rescue/tree/etc/rc.sysinit: ext3, xfs, jfs
-
- * bootloader.pm: use -v for mkinitrd
-
- * share/po/fr.po: "reseaux" and plurals
- misc
-
- * share/rpmsrate: some work on games
-
-2001/09/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po, share/po/vi.po: updated Vietnamese and Japanese files
-
-2001/09/07 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: cleanup po
-
- * install_steps.pm: s|kdmrc|kdm/kdmrc|
-
- * lang.pm: fix load_mo call
-
- * share/po/help_xml2pm.pl, share/po/Makefile, help.pm: new help
-
- * diskdrake_interactive.pm: disable_forced_fsck called for ext3 formatting
- disable_forced_fsck called for ext3 formatting
- (Type): disable fsck when migrated ext2->ext3
-
- * fs.pm: disable_forced_fsck called for ext3 formatting
-
-2001/09/07 siegel
-
- * share/po/de.po: updates
-
-2001/09/07 Till Kamppeter <till@mandrakesoft.com>
-
- * standalone/printerdrake, printer.pm, printerdrake.pm: Data structure
- fitted for auto-install to work
- Optimized program to be much faster
- Many more waiting messages
- Many bugfixes
-
-2001/09/07 daouda
-
- * share/rpmsrate: add mdkonline (X 4)
-
-2001/09/07 fcrozat
-
- * share/rpmsrate: Add grio500
-
-2001/09/07 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fix card managed only by XF4 (may have some wrong
- result).
- fix all Matrox card used with XF4 which really does not like X in frame
- buffer
- (unable to restore frame buffer of DrakX).
-
-2001/09/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * any.pm: Changed simple quote to double quote for a translatable string
- (otherwise
- it isn't seen)
-
- * share/po/es.po: updated Spanish file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/is.po, share/po/hu.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/no.po,
- share/po/fi.po, share/po/th.po, share/po/el.po, share/po/sk.po,
- share/po/lt.po, share/po/ar.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/bs.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/af.po:
- updated pot file
-
- * share/po/sv.po: updated Swedish file
- updated pot file
-
-2001/09/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: s|kdmrc|kdm/kdmrc|
- remove the "konsole and gnome-terminal are lamers in exotic languages,
- link them to something better"
-
- * bootloader.pm (write_lilo_conf): fix typo
-
- * share/po/help_xml2pm.pl, share/po/Makefile, help.pm: new help
-
- * diskdrake_interactive.pm: disable_forced_fsck called for ext3 formatting
- disable_forced_fsck called for ext3 formatting
- (Type): disable fsck when migrated ext2->ext3
-
- * install_any.pm, keyboard.pm: cleanup
-
- * partition_table.pm, share/list: add xfs
-
- * fs.pm: disable_forced_fsck called for ext3 formatting
-
- * share/rpmsrate: add jfsprogs
-
-2001/09/07 siegel
-
- * share/po/de.po: updates
- updates/fixes
-
-2001/09/06 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/tools.pm: corrected speedtouch
-
- * install_gtk.pm: removed comments
-
-2001/09/06 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: cleanup for bad card and prefer XF3, so now using
- XFree 4.1.0 is not bad, and
- all NVIDIA card are no more considered bad.
-
- * pkgs.pm: fixed retry of package 3 times everytime even if first install
- succeeded, now
- after first successfull install, go to next package to install.
-
- * install_steps.pm: removed some cards for allowing frame buffer.
-
-2001/09/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: works now ;p
-
-2001/09/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: 'zh' in LANGUAGE for Chinese is needed by DrakX
- corrected lang.pm to have coherence in locale usage (it was the source
- of much of the problems); changed keyboard.pm to ignore charset encoding
- in locale name for locale -> keyboard guessing.
- removed unused gconv modules, converted az.po to utf-8 (as it was the
- only
- remaining az.po on Earth still in a non standard encoding)
-
- * share/list, share/gen_locales.sh, share/locales-skeleton.tar.bz2,
- keyboard.pm, share/po/az.po: corrected lang.pm to have coherence in
- locale usage (it was the source
- of much of the problems); changed keyboard.pm to ignore charset encoding
- in locale name for locale -> keyboard guessing.
- removed unused gconv modules, converted az.po to utf-8 (as it was the
- only
- remaining az.po on Earth still in a non standard encoding)
-
-2001/09/06 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: fix keyboard config + some cleanup
- cleanup (use /proc/self instead of /proc/$$)
-
- * install_steps.pm, install_steps_interactive.pm, keyboard.pm: fix
- keyboard config + some cleanup
-
-2001/09/06 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/tools.pm: corrected speedtouch
-
- * install_gtk.pm: removed comments
-
-2001/09/06 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: cleanup for bad card and prefer XF3, so now using
- XFree 4.1.0 is not bad, and
- all NVIDIA card are no more considered bad.
- avoid using @resolutions_laptop, now use only @resolutions, this means
- 1400x1050
- is available to other, use XFree86 4.1.0 builtin timings for 1400x1050
- (so
- 1400x1050 is no more printed as modeline for XFree 4.1.0 configuration
- file).
-
- * install_steps.pm: removed some cards for allowing frame buffer.
- fix log when configuring printer queue.
-
- * Xconfigurator_consts.pm: added 1400, 1920 and 2048 for %min_hsync4wres.
- cleaned up a bit and using XFree86 4.1.0 builtin timings for 1400x1050
- and
- 1920x1440, 2048x1536 has no modeline (but its min hsync is really high).
-
- * pkgs.pm: fixed retry of package 3 times everytime even if first install
- succeeded, now
- after first successfull install, go to next package to install.
-
- * install_any.pm: update printer data for g_auto_install.
-
-2001/09/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: works now ;p
-
-2001/09/06 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: fix keyboard config + some cleanup
- cleanup (use /proc/self instead of /proc/$$)
-
- * install_steps.pm, install_steps_interactive.pm, keyboard.pm: fix
- keyboard config + some cleanup
-
- * fs.pm (merge_fstabs): correction allowing manual_fstab to not give the
- type
-
-2001/09/06 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/tools.pm: corrected speedtouch
-
- * install_gtk.pm: removed comments
- new mouse test
-
-2001/09/06 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: revert previous patch, this is not usable with current rpm as
- it complains if
- one the file has a modified MD5SUM against the header describing it in
- the
- hdlist, so this is most of the time useless.
- guess filename if the file is not found (for an rpm file during
- installation),
- so try with release incremented in such case (good for Cooker user or
- local
- tester using network installation).
-
- * install_steps.pm: fix log when configuring printer queue.
-
- * Xconfigurator.pm: avoid using @resolutions_laptop, now use only
- @resolutions, this means 1400x1050
- is available to other, use XFree86 4.1.0 builtin timings for 1400x1050
- (so
- 1400x1050 is no more printed as modeline for XFree 4.1.0 configuration
- file).
-
- * Xconfigurator_consts.pm: added 1400, 1920 and 2048 for %min_hsync4wres.
- cleaned up a bit and using XFree86 4.1.0 builtin timings for 1400x1050
- and
- 1920x1440, 2048x1536 has no modeline (but its min hsync is really high).
-
- * install_any.pm: update printer data for g_auto_install.
-
- * printerdrake.pm: revert previous commit.
- added a missing ifup lo, on some case (auto_install) it fails.
-
- * printer.pm: start ifup lo before starting service cups.
-
-2001/09/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
- * share/po/ga.po, share/po/no.po: updated Irish and Norwegian files
-
-2001/09/06 Pixel <pixel@mandrakesoft.com>
-
- * share/diskdrake.rc, fsedit.pm, diskdrake.pm: add journalised in legend,
- fix the use
-
- * diskdrake_interactive.pm (Add2LVM): do not allow spaces in lvm names
-
- * fs.pm (merge_fstabs): correction allowing manual_fstab to not give the
- type
-
- * timezone.pm (ntp_server): fix (step-tickers was empty)
-
-2001/09/05 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor, standalone/draknet: corrected opeions
-
- * standalone/mousedrake: typo
- updated
-
- * network/tools.pm: corrected initcript
-
- * pixmaps/mouse_middle.xpm, pixmaps/mouse_right.xpm,
- pixmaps/mouse_left.xpm: new pixmaps
-
-2001/09/05 Pixel <pixel@mandrakesoft.com>
-
- * standalone/diskdrake: fix function called
-
-2001/09/05 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Set default printer (all spoolers), manual
- config (CUPS), bugfixes, clean-ups.
-
-2001/09/05 dam's <damien@mandrakesoft.com>
-
- * pixmaps/wiz_default_left.png, pixmaps/wiz_default_up.png,
- pixmaps/wiz_drakgw.png: new icons
-
- * share/themes-mdk.rc: updated theme
-
- * standalone/draknet: interface display corrected
-
- * share/themes/mdk-button4.png, share/themes/mdk-button1.png: new buttons
-
- * install_gtk.pm: 2 sec without sensitives buttons
-
- * network/netconnect.pm: only if standalone
-
- * pixmaps/network.png, pixmaps/bootloader.png, pixmaps/printer.png,
- pixmaps/security.png, pixmaps/rootpasswd.png, pixmaps/harddrive.png,
- pixmaps/keyboard.png, pixmaps/X.png, pixmaps/mouse.png,
- pixmaps/bootdisk.png: new pixmaps
-
-2001/09/05 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed display of XFdrake test image (fcrozat).
-
- * install_steps.pm: fixed typo preventing removable devices to be seen in
- /etc/fstab.
- fixed configurePrinter (used for auto_install).
-
- * install_steps_interactive.pm: avoid asking when using existing partition
- for magic partition with a real
- mntpoint (typically /tmp/hdimage) if we are not using a ramdisk (so
- partition is
- not unmountable).
-
- * bootloader.pm: removed yvounet sucking, handle Mandrake lilo or unknown
- lilo.
-
- * fs.pm: fix bad creation of /mnt/hd for an hd installation without
- ramdisk.
- support setting /tmp/hdimage in /etc/fstab even if memory is low (not
- using ramdisk).
-
- * install_any.pm: filtering $o->{printer} for g_auto_install().
- allow installing urpmi on hd install even if low memory (so not using
- ramdisk).
-
- * diskdrake_interactive.pm: Do not use for loopback of magic partition
- (/tmp/hdimage).
-
-2001/09/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/i386/busybox: hopefully fix the _ problems with busybox 0.60.1
-
-2001/09/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bs.po: updated Bosnian file
-
- * share/po/uk.po: updated Ukrainian file
-
-2001/09/05 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: use EISA_ID in more cases to have the name
- non-case dependent EISA comparison
- also try EISA ID to auto-detect the monitor (sometimes the EISA ID is
- there, but not the [hv]syncrange
-
- * Xconfig.pm: fix typos
- non-case dependent EISA comparison
- also try EISA ID to auto-detect the monitor (sometimes the EISA ID is
- there, but not the [hv]syncrange
-
- * modules.pm: favor tmscsim over AM53C974
-
- * tools/ddcprobe/ddcxinfos.c: fix for cards giving bad info
- also try EISA ID to auto-detect the monitor (sometimes the EISA ID is
- there, but not the [hv]syncrange
-
- * standalone/diskdrake: fix function called
-
-2001/09/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mount.c: reflect scd -> sr here too, /me sucks :-(
-
-2001/09/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/cy.po, share/po/nl.po, share/po/wa.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/eo.po, share/po/bs.po, share/po/ro.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/af.po:
- Updated Danish file; updated pot file
-
-2001/09/04 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix typo
-
-2001/09/04 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Fitted to the new Foomatic version.
- Fixed bug of spooler change only working when language is English.
-
-2001/09/04 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fix bad vga= which go for some install.
-
-2001/09/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * network/netconnect.pm: small english change
-
- * mdk-stage1/probing.c: Compaq mescouilles has changed proc stuff
-
- * share/rpmsrate: tetex-doc
-
- * mdk-stage1/mount.c: reflect scd -> sr here too, /me sucks :-(
-
-2001/09/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/cy.po, share/po/nl.po, share/po/wa.po, share/po/is.po,
- share/po/hu.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/eo.po, share/po/ro.po, share/po/bs.po,
- share/po/da.po, share/po/zh_TW.po, share/po/cs.po, share/po/af.po:
- Updated Danish file; updated pot file
-
- * share/po/ja.po: updated Japanese file
-
-2001/09/04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (add_alias): use "above" instead of "post-install"
-
- * partition_table.pm: re-add JFS
-
- * fsedit.pm, common.pm, bootloader.pm:
- - don't expand symlinks in grub's menu.lst
- - better use of /proc/partitions verification
-
- * detect_devices.pm (getCompaqSmartArray): add yet another location for
- cpqarray location
-
- * fs.pm: fix typo
- mount ext3 as ext2 during install for speed up
-
-2001/09/04 fcrozat
-
- * share/rpmsrate: Add plugins for KDE and Mozilla
-
-2001/09/04 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fix bad vga= which go for some install.
-
- * pkgs.pm: cleanup to avoid invalid file error.
-
-2001/09/04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (add_alias): use "above" instead of "post-install"
-
- * fs.pm: mount ext3 as ext2 during install for speed up
-
- * partition_table.pm: re-add JFS
-
- * fsedit.pm, common.pm, bootloader.pm:
- - don't expand symlinks in grub's menu.lst
- - better use of /proc/partitions verification
-
- * detect_devices.pm (getCompaqSmartArray): add yet another location for
- cpqarray location
-
-2001/09/04 yduret
-
- * my_gtk.pm: emebedded mode fix
-
- * interactive_gtk.pm, diskdrake.pm: embedded mode fix
-
-2001/09/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: unfuzzy-ise a few things, translate a few things
-
-2001/09/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: updated Korean file
-
-2001/09/03 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: fix for lvm (non-)creation of devices
-
-2001/09/03 yduret
-
- * my_gtk.pm, diskdrake.pm: fix Embedded mode
-
-2001/09/03 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: added timeout in resolv.conf
-
-2001/09/03 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: updated to use new urpmi.cfg format for install_urpmi,
- make sure the directory
- is not given for ftp and http install ($dir).
-
- * Xconfigurator_consts.pm: added 1920x1440 and 2048x1536.
-
- * Xconfig.pm: make sure a staling Mouse2 is not present unless it really
- physically exists.
-
-2001/09/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: add axnet_cs to pcmcia category
-
- * mdk-stage1/probing.c: change `scd' with `sr'
-
-2001/09/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po: updated Spanish file
-
- * share/po/ko.po: updated Korean file
-
-2001/09/03 Pixel <pixel@mandrakesoft.com>
-
- * timezone.pm (ntp_server): also set /etc/ntp/step-tickers
-
- * fsedit.pm, devices.pm: fix mtab reading and pseudo-device use
-
- * interactive_gtk.pm: better sizing for combo boxes
-
- * install_steps_interactive.pm (choosePartitionsToFormat): do not propose
- to propose already formatted
- fat partitions
-
- * share/list: those files disappeared ??
-
- * fs.pm: fix for lvm (non-)creation of devices
- (set_default_options): created
- fix mtab reading and pseudo-device use
-
- * diskdrake.pm (smb_create, nfs_create): make the "New" button work
- (raw_hd_mount_point): fix checking the same mount point
- (try_): fix error displaying
-
- * partition_table.pm: fix switching to 0x85 extended when
- remove_empty_extended is called
-
-2001/09/03 yduret
-
- * standalone/net_monitor: sync with new logdrake command line options
-
-2001/09/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bs.po: updated bosnian file
- Added Bosnian file
-
-2001/09/01 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: avoid deleting package from %packages in install() when closing
- fd associated,
- if the open is called again (?), it will cause an invalid file (seems to
- happens
- on some invalid file).
-
-2001/08/31 dam's <damien@mandrakesoft.com>
-
- * standalone/draksec: corrected yesno interpretation
- libsafe modification
-
- * network/netconnect.pm: corrected profil recording for modem
-
- * standalone/net_monitor: correted typo
-
- * network/ethernet.pm: corrected zero return when cable configuring
-
- * any.pm: corrected autologin : no uc anymore
-
- * network/modem.pm: added domainname2 setting
-
- * share/logo-mandrake.png: new logo
-
-2001/08/31 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added missing AlwaysCore line for second mouse for
- XF3.
-
- * mouse.pm: added missing AlwaysCore line for second mouse in XF3.
-
- * standalone.pm: add option --allow-medium-change to force asking question
- even if --auto is
- given on command line of urpmi, for installing package so that a dialog
- appears.
-
-2001/08/31 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: mures is a fine game, have it at weight "4" under GAMES
- section
- have "numlock" in INSTALL because it's the only package which goes to
- CD#2
- when you unselect all groups, so having it here will allow not changing
- CD
- with this kind of small install
-
-2001/08/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/uk.po, share/po/es.po: updated Ukrainian
- and Spanish files
-
- * share/po/sv.po: updated Swedish file
- updated Ukrainian and Spanish files
-
-2001/08/31 siegel
-
- * share/help_sav.png: not used any more
-
- * share/po/de.po: updates
-
- * share/logo-mandrake2.png, share/logo-mandrake_trans.png,
- share/logo-mandrake_sav.png, share/logo-mandrake-Desktop.png: old
- versions => not in use any more
-
-2001/08/31 yduret
-
- * bootlook.pm: updated code
-
-2001/08/30 dam's <damien@mandrakesoft.com>
-
- * network/tools.pm: nicer display
-
- * standalone/draknet: added use common.pm (can be usefull, eh?)
-
- * network/network.pm: silently /sbin/ip
- track_network_id only if laptop
-
-2001/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: Updated Danishfile
- updated pot file (I had lost the group descriptions, sorry, they are
- back now)
- moved chinese files to charset independent names
-
- * share/po/be.po, share/po/sp.po, share/po/zh_CN.po, share/po/pt.po,
- share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po,
- share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/zh_TW.po, share/po/cs.po, share/po/af.po: updated pot file (I
- had lost the group descriptions, sorry, they are back now)
- moved chinese files to charset independent names
-
-2001/08/30 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (read): it works now
-
- * help.pm: fixed (was utf8)
-
- * install_steps_gtk.pm (new): call interactive_gtk::new
-
- * install_steps.pm, Xconfigurator.pm: disable gpm (in case of serial
- mouse) before service choice
-
- * pkgs.pm (naughtyServers): update for 8.1
-
-2001/08/30 dam's <damien@mandrakesoft.com>
-
- * interactive.pm: corrected icon display
-
- * my_gtk.pm: new wizard
-
- * interactive_gtk.pm: corrected wizard mode display height/width
-
- * standalone/draknet: added draknet client installation
-
- * network/network.pm: track_network_id only if laptop
- dhcp package installation
-
- * pixmaps/wiz_default_left.png: new logo
-
-2001/08/30 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: make sure to update all symlink according to any mouse (max 2)
- probed.
- fix previous fixes on mouse::write_conf
-
- * standalone/mousedrake: fix previous fix (typo).
- keep mouse specific paramater if user does not change its mouse.
- make sure --auto is not interactive on some part.
- use default value for port device if a serial mouse.
-
- * printer.pm: fixed foomatic failed (no lo up since ifup lo don't run)
-
- * Makefile: ugly to make sure standalone/pixmaps is not here when building
- tar-drakxtools.
-
- * Xconfig.pm: when reading existing configuration for mouse, update
- type|name for second mouse too.
- make sure default to set 3 for nbuttons for getinfoFromXF86Config for
- second
- mouse if this mouse has 3 buttons.
-
- * Xconfigurator.pm: for single heads mode, no screen id should be set in
- file (or XFree is going
- mad, but he is right, no ?)
-
- * install_any.pm: if a medium is refused, get rid of it definitively until
- it is accepted again.
-
-2001/08/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: have a wait_message during installation of
- bootloader
-
- * mdk-stage1/pcmcia/pcmcia_probe.c: import new PCI ID's for more PCMCIA
- Controllers, from probe.c-1.54 of pcmcia-cs-3.1.28
-
-2001/08/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po, share/po/vi.po, share/po/es.po: updated Japanese,
- Spanish and Vietnamese files
-
-2001/08/30 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: allow LVM on RAID
-
- * help.pm: fixed (was utf8)
-
- * any.pm: cleanup
-
- * pkgs.pm (naughtyServers): update for 8.1
-
- * lang.pm (read): it works now
-
- * fs.pm (set_default_options): "ro" for cdroms, "user" for vfat only if
- removable
- media
-
- * share/po/Makefile: fix utf8 translation of xml file
-
- * interactive_gtk.pm: fix&cleanup window size
-
- * tools/Makefile: cleanup unneeded stuff
-
-2001/08/30 siegel
-
- * share/po/de.po: new german version
-
-2001/08/30 warly
-
- * share/rpmsrate: add koffice-i18n diald vlan-utils
-
-2001/08/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw, standalone/drakautoinst: quit_global
-
- * share/po/fr.po: minor fix
-
-2001/08/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix language selection
-
- * c.pm: better error message when function c::foo() is missing
-
- * rescue/dirs, rescue/make_rescue_img: make it work (do not have the dev
- in /)
-
-2001/08/29 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed if undef encountered in depslist when installing package
- (traversing
- depslist as $depOrder).
-
-2001/08/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw, standalone/drakautoinst: quit_global
-
- * share/po/fr.po: minor fix
-
-2001/08/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix language selection
-
- * c.pm: better error message when function c::foo() is missing
-
- * install_steps_gtk.pm (installPackages): have Ok button by default for
- asking for changing CD
-
- * bootloader.pm (mkbootdisk): cleanup
-
- * rescue/dirs, rescue/make_rescue_img: make it work (do not have the dev
- in /)
-
- * devices.pm: remove fd0H1440 and fd1H1440
-
- * modules.pm: remove "msdos"
-
-2001/08/29 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: improved write_conf to enable multi-mice if only once mice is
- already defined.
-
- * standalone/mousedrake: try to merge already existing mouse configuration
- with what has been probed,
- change if mouse is really changed as probe is incomplete.
-
- * Xconfig.pm: improve getinfoFromXF86Config for mouse parameters.
-
- * pkgs.pm: fixed if undef encountered in depslist when installing package
- (traversing
- depslist as $depOrder).
-
-2001/08/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw, standalone/drakautoinst: quit_global
-
- * share/po/fr.po: minor fix
-
-2001/08/29 Pixel <pixel@mandrakesoft.com>
-
- * c.pm: better error message when function c::foo() is missing
-
- * keyboard.pm (loadkeys_files): fixed
-
- * install_steps_interactive.pm, standalone/localedrake, lang.pm, any.pm,
- Makefile.config: add localedrake (not tested)
-
- * rescue/make_rescue_img: make it work (do not have the dev in /)
- cleanup, speedup, use mknod for devices
-
- * install_steps_gtk.pm (installPackages): have Ok button by default for
- asking for changing CD
-
- * rescue/devices.pl, rescue/list: cleanup, speedup, use mknod for devices
-
- * bootloader.pm (mkbootdisk): cleanup
-
- * rescue/dirs: make it work (do not have the dev in /)
-
- * devices.pm: remove fd0H1440 and fd1H1440
-
- * modules.pm: remove "msdos"
-
-2001/08/29 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/tools.pm, share/rpmsrate: speedtouch
- configuration
-
-2001/08/29 François Pons <fpons@mandrakesoft.com>
-
- * mouse.pm: improved write_conf to enable multi-mice if only once mice is
- already defined.
-
- * install_steps.pm: add support for mandatory frame buffer support (SiS
- 630) need them for XF3 to
- work properly, XF4 does work with it nicely.
-
- * Xconfigurator.pm: make sure Port entry for wacom is placed first.
-
- * standalone/mousedrake: try to merge already existing mouse configuration
- with what has been probed,
- change if mouse is really changed as probe is incomplete.
-
- * Xconfig.pm: improve getinfoFromXF86Config for mouse parameters.
-
-2001/08/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: games
-
-2001/08/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po, share/po/DrakX.pot, share/po/es.po: updated Danish file
-
-2001/08/29 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, install_any.pm, fsedit.pm, diskdrake.pm: try to better handle
- symlinks device and devfs devices
-
- * install_steps_interactive.pm, standalone/localedrake, lang.pm, any.pm,
- Makefile.config: add localedrake (not tested)
-
- * install_steps.pm: no need to have devfs=nomount anymore in root raid
- do not modify fstab options in upgrade
-
- * keyboard.pm (loadkeys_files): fixed
- fix DISABLE_WINDOWS_KEY state handling (for upgrade), cleanup
-
- * diskdrake_interactive.pm: try to better handle symlinks device and devfs
- devices
- (main): fix
- (Create): fix typo causing primaryOrExtended to be ignored
-
- * rescue/devices.pl, rescue/make_rescue_img, rescue/list: cleanup,
- speedup, use mknod for devices
-
- * c/stuff.xs.pm, detect_devices.pm: better floppy detection/info
-
-2001/08/28 dam's <damien@mandrakesoft.com>
-
- * interactive.pm, install2.pm: corrected icon handling
-
- * services.pm: added cupslpd in printing section
-
-2001/08/28 François Pons <fpons@mandrakesoft.com>
-
- * Makefile.config: really fix typo...
- fixed typo.
-
-2001/08/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: updated Czech file
-
-2001/08/28 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: remove the temporary file /tmp/autoinst.img
-
- * install_steps.pm, install_steps_interactive.pm: propose to format / and
- /usr even if isFormatted. More generally do not trust isFormatted to
- show which partitions to format
-
-2001/08/28 siegel
-
- * ChangeLog, keyboard.pm:
- - keyboard.pm: write DISABLE_WINDOWS_KEY=no in /etc/sysconfig/keyboard
- if no laptop is detected (= give users the chance to know about the
- existence of this variable).
-
-2001/08/28 yduret
-
- * standalone/diskdrake: embedded mode nicer
-
-2001/08/28 dam's <damien@mandrakesoft.com>
-
- * interactive.pm, install2.pm: corrected icon handling
-
-2001/08/28 François Pons <fpons@mandrakesoft.com>
-
- * share/list: added /sbin/e2fsck
-
- * share/aliases: added fsck.ext2 -> e2fsck (now in list file)
- removed e2fsck.shared as e2fsprogs now provide a shared version instead
- of a
- static one.
-
- * Makefile.config: really fix typo...
- fixed typo.
- removed reference to e2fsck.shared (now use e2fsck from package which is
- shared
- since 1.23-2mdk).
-
-2001/08/28 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: remove the temporary file /tmp/autoinst.img
-
-2001/08/28 siegel
-
- * ChangeLog, keyboard.pm:
- - keyboard.pm: write DISABLE_WINDOWS_KEY=no in /etc/sysconfig/keyboard
- if no laptop is detected (= give users the chance to know about the
- existence of this variable).
-
-2001/08/28 yduret
-
- * standalone/diskdrake: embedded mode nicer
-
-2001/08/28 Stefan Siegel <siegel@mandrakesoft.com>
-
- * keyboard.pm: write DISABLE_WINDOWS_KEY=no in /etc/sysconfig/keyboard
- if no laptop is detected (= give users the chance to know about
- the existence of this variable).
-
-2001/08/28 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: typo
-
-2001/08/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: default the licence agreement to "Refuse"
-
- * standalone/drakboot: security fix and various
- move to all_hds stuff
-
- * c/stuff.xs.pm, bootloader.pm: security fix and various
-
-2001/08/28 warly
-
- * share/rpmsrate: move libsafe to SERVER_OTHER 2
- added prelude, libsafe...
-
-2001/08/28 yduret
-
- * standalone/drakxconf: readded dsikdrake
- added new items, remove some old ones
-
-2001/08/27 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: corrected hwaddr setting and draknet first window
- display
- corrected typo
-
- * network/netconnect.pm: corrected hwaddr setting and draknet first window
- display
-
-2001/08/27 dam's <damien@mandrakesoft.com>
-
- * network/network.pm: corrected hwaddr setting and draknet first window
- display
- corrected typo
-
- * network/netconnect.pm: corrected hwaddr setting and draknet first window
- display
-
-2001/08/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/eu.po: updated Basque and slovak files
-
-2001/08/27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: nicer help display
-
- * share/keyboards.tar.bz2: fix the rights
-
- * c/stuff.xs.pm (setlocale): do not set LC_NUMERIC
-
-2001/08/27 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: corrected bad window size
-
- * network/network.pm: make it compile
- corrected hwaddr stuff
- added HWADDR
-
- * network/tools.pm: corrected internet initscript
-
- * any.pm, mouse.pm: make it compile
- add_devfslink
-
-2001/08/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: Added "zh_HK" to Chinese in LANGUAGE list.
- Added Latvian keyboard
-
- * share/keyboards.tar.bz2: Checked and updated xmodmap files for DrakX
-
- * share/po/sk.po, share/po/eu.po: updated Basque and slovak files
-
-2001/08/27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm: nicer help display
-
- * diskdrake.pm: use empty hash instead of the raid/loopback array
-
- * c/stuff.xs.pm (setlocale): do not set LC_NUMERIC
-
-2001/08/27 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: corrected bad window size
-
- * network/network.pm: added HWADDR
-
- * network/tools.pm: corrected internet initscript
-
-2001/08/27 François Pons <fpons@mandrakesoft.com>
-
- * any.pm, standalone/draknet, network/modem.pm: added Borsenkow Andrej
- patch to support CHAP again.
-
-2001/08/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: Added "zh_HK" to Chinese in LANGUAGE list.
- Added Latvian keyboard
-
-2001/08/27 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: use empty hash instead of the raid/loopback array
-
-2001/08/26 warly
-
- * share/rpmsrate: add some important packages
-
-2001/08/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakautoinst: require -> use
-
- * install_any.pm: save the .img file so that multi-cd install won't ask to
- re-enter first cd
-
-2001/08/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2001/08/26 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile, share/po/.cvsignore: fetch directly the latest
- drakx-help.xml
-
-2001/08/25 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakbug_report: add "rpm -qa"
-
- * bootlook.pm: fix deprecated call standalone::pkgs_install
-
- * diskdrake.pm: don't the grab flag propagate everywhere
-
-2001/08/25 dam's <damien@mandrakesoft.com>
-
- * install2.pm, steps.pm: icon correction
-
-2001/08/25 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount): accept mounting iso9660 filesystem as it should be
- (write_fstab): enable mounting more than one swap :)
-
- * bootlook.pm: fix deprecated call standalone::pkgs_install
-
- * install_steps.pm: added the missing security parameter to
- set_default_options
-
- * diskdrake.pm: don't the grab flag propagate everywhere
-
-2001/08/24 dam's <damien@mandrakesoft.com>
-
- * pixmaps/mouse_3b_mini.xpm, pixmaps/mouse_3b+.xpm, pixmaps/mouse_3b.xpm,
- pixmaps/mouse_3b+_mini.xpm: mini pixmaps, and lower color res for normal
- pix
-
- * standalone/mousedrake: updated mouse test
-
-2001/08/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/libstdio/fdglue.c: fix this dietlibc... hope the
- uncompressing of ramdisk will rulz now
-
- * mdk-stage1/network.c: allow unsetting of automatic mode if not enough
- parameter provided in network steps
-
- * mdk-stage1/probing.c:
- - descr of proc files
- - fix small typo (segfault or not segfault? that's the question)
- enable install from Compaq Smart Array
-
- * mdk-stage1/dietlibc/Makefile, mdk-stage1/bzlib/Makefile: use CC rather
- than gcc statically
-
- * mdk-stage1/tools.c, mdk-stage1/mount.c: enable install from Compaq Smart
- Array
-
-2001/08/24 Pixel <pixel@mandrakesoft.com>
-
- * tools/pcmcia_config.patch: update the patch
-
- * Makefile (test_pms): make perl_checker skip help.pm
- ensure no .orig are generated when the pcmcia patch is applied
-
- * tools/make_mdkinst_stage2: give a little more free space (esp. for
- russian lang)
-
- * lang.pm, share/gen_locales.sh: no need for UTF-8/LC_CTYPE
-
- * share/po/help_xml2pm.pl, share/po/Makefile, help.pm: auto-generates
- help.pm from xml doc done by doc team
-
-2001/08/24 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm: bugfix, speedtouch help
-
- * standalone/mousedrake: updated mouse test
-
-2001/08/24 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fixed possible bug (not sorted partition when calling
- mount_part).
-
- * install_any.pm: fixed hdInstallPath for an hd installation without
- usingRamdisk (not installing
- urpmi in such case).
- updated packages to copy for printerdrake, removed almost obsoletes
- XFree86
- 3.3.6 servers (8514, AGX, Mach32, Mach8, Mono, P9000, W32, I128, VGA16,
- 3DLabs)
- which means user will have to change CD back to CD#1 if he a such a
- card.
- removed obsolete code for cond_remount and cond_umount and update
- hdInstallPath
- for hd installation.
-
- * diskdrake_interactive.pm: fixed typo common::usingRamdisk() instead of
- common::useRamdisk().
- take care mount point action is available for the hd installation
- partition only
- if a ramdisk is used (as it can be unmounted).
- use more global isMagicPart instead of isInstallHdPart.
- added real_mntpoint documentation and take care of hd install partition
- for
- available actions.
-
- * fs.pm: take care of using ram disk to remap mntpoint of hd installation
- partition.
- fixed partition never seen as mounted, added special case for
- real_mntpoint to
- remount magic partition on the right place.
-
-2001/08/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/libstdio/fdglue.c: fix this dietlibc... hope the
- uncompressing of ramdisk will rulz now
-
- * mdk-stage1/automatic.c: revert my auto->interactive patch
-
- * mdk-stage1/network.c: allow unsetting of automatic mode if not enough
- parameter provided in network steps
-
- * mdk-stage1/dietlibc/Makefile, mdk-stage1/bzlib/Makefile: use CC rather
- than gcc statically
-
- * mdk-stage1/tools.c, mdk-stage1/mount.c, mdk-stage1/probing.c: enable
- install from Compaq Smart Array
-
-2001/08/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/locales-skeleton.tar.bz2, share/fonts.tar.bz2, keyboard.pm:
- enabling euro and utf-8 for some languages; added unicode font
-
-2001/08/24 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: remove the cond_umount_hdimage and
- cond_remount_hdimage
-
- * tools/pcmcia_config.patch: update the patch
-
- * lang.pm: no need for UTF-8/LC_CTYPE
- (load_mo): if not usingRamdisk, don't try getFile
-
- * diskdrake_interactive.pm: remove the cond_umount_hdimage and
- cond_remount_hdimage
- (Done): do not write fstab nor ask about it in install
-
- * fs.pm (mount): allow to mount 'proc' and 'usbdevfs'
-
- * Makefile: ensure no .orig are generated when the pcmcia patch is applied
-
- * partition_table.pm (write): do not die when real_mntpoint fs fail to
- unmount/remount, just log
- (write): unmount+remount real_mntpoint before doing the kernel_read
-
- * share/gen_locales.sh: no need for UTF-8/LC_CTYPE
-
- * pkgs.pm: fix "invalid file"
-
-2001/08/24 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: speedtouch configuration
-
- * my_gtk.pm: gtk_create_xpm handles no absolute xpm path
-
- * pixmaps/mouse_3b+.xpm, pixmaps/mouse_middle.xpm, pixmaps/mouse_3b.xpm:
- added new mouse pixmap for mousedrake
-
- * network/adsl.pm: bugfix, speedtouch help
- added aliases for speedtouch stuff
- speedtouch configuration
- removed adsl detectioin, once again.
-
- * standalone/mousedrake: no absolute pixmap reference
- new mousedrake. experimental
-
- * network/tools.pm: speedtouch configuration
- export write_initscript, correct initscript.
-
-2001/08/24 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fixed possible bug (not sorted partition when calling
- mount_part).
-
- * diskdrake_interactive.pm: take care mount point action is available for
- the hd installation partition only
- if a ramdisk is used (as it can be unmounted).
- use more global isMagicPart instead of isInstallHdPart.
- added real_mntpoint documentation and take care of hd install partition
- for
- available actions.
-
- * install_any.pm: fixed hdInstallPath for an hd installation without
- usingRamdisk (not installing
- urpmi in such case).
- updated packages to copy for printerdrake, removed almost obsoletes
- XFree86
- 3.3.6 servers (8514, AGX, Mach32, Mach8, Mono, P9000, W32, I128, VGA16,
- 3DLabs)
- which means user will have to change CD back to CD#1 if he a such a
- card.
- removed obsolete code for cond_remount and cond_umount and update
- hdInstallPath
- for hd installation.
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2,
- mdk-stage1/init-data/msgboot.img.bz2: updated with latest 8.1 pictures
- and updated documentation.
-
- * fs.pm: take care of using ram disk to remap mntpoint of hd installation
- partition.
- fixed partition never seen as mounted, added special case for
- real_mntpoint to
- remount magic partition on the right place.
-
-2001/08/24 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (write): do not die when real_mntpoint fs fail to
- unmount/remount, just log
- (write): unmount+remount real_mntpoint before doing the kernel_read
-
- * install_steps.pm: remove the cond_umount_hdimage and
- cond_remount_hdimage
-
- * diskdrake_interactive.pm: remove the cond_umount_hdimage and
- cond_remount_hdimage
- (Done): do not write fstab nor ask about it in install
-
- * lang.pm (load_mo): if not usingRamdisk, don't try getFile
-
- * fs.pm (mount): allow to mount 'proc' and 'usbdevfs'
-
-2001/08/24 siegel
-
- * share/po/de.po: New & shiny german version
-
-2001/08/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/el.po: updated Greek file
-
-2001/08/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
-2001/08/23 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: at_boot connection,resolvconf in profiles
-
- * standalone/draksec: addedlibsafe option
-
- * network/adsl.pm: restart network after having tested adsl. experimental
-
-2001/08/23 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: removed unusefull greping when building package
- tree.
-
-2001/08/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: work on GAMES section
-
-2001/08/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/lv.po: updated Latvian file
-
-2001/08/23 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (cond_umount_hdimage): do not unmount /tmp/hdimage if not
- using ramdisk
- (disable_user_view): damned kdmrc moved
-
- * diskdrake_interactive.pm: cancel at startup will now exit
- ask wether to save fstab
- (part_possible_actions): have "Mount point" first to please fpons
-
- * fs.pm: keep the freq&passno of /etc/fstab
-
- * tools/i386/netboot/menu.lst.example,
- tools/i386/netboot/make_boot_network,
- tools/i386/netboot/automatic.para.default: as we now have
- menu.lst.example, i remove automatic.para for more flexibility
-
- * lang.pm: fix locale support when usingRamdisk
-
-2001/08/22 anoncvs
-
- * share/po/zh_CN.GB2312.po: * Wed Aug 22 2001 DU Xiaoming
- <dxiaoming@mandrakesoft.com>
- Updated chinese (simplied) translation.
-
-2001/08/22 Pixel <pixel@mandrakesoft.com>
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: fix ru KOI8-R
-
- * network/nfs.pm: pleac perl_checker
-
- * interactive_gtk.pm: more intelligent setting back the selected value in
- the clist and ctree
- (done already for entry)
- - fix entries editing causing the cursor to go to the end of line
- - select the text
-
- * c/stuff.xs.pm, install_steps.pm, pkgs.pm: do init_db inside pkg_inside
- otherwise LOG is closed and rpmlib tries to write in it and ...
-
-2001/08/22 anoncvs
-
- * share/po/zh_CN.GB2312.po: * Wed Aug 22 2001 DU Xiaoming
- <dxiaoming@mandrakesoft.com>
- Updated chinese (simplied) translation.
-
-2001/08/22 fabman
-
- * share/po/es.po: updated spanish .po files for DrakX and drakbootdisk
-
-2001/08/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/automatic.c: don't stay automatic for ask_from_entries when
- entries are not given
-
- * mdk-stage1/tools.c, mdk-stage1/stage1.c, mdk-stage1/cdrom.c,
- mdk-stage1/mount.c, mdk-stage1/lomount.c, mdk-stage1/mount.h,
- mdk-stage1/network.c, mdk-stage1/modules.c, mdk-stage1/disk.c: mount all
- but ramdisk Read Only
-
-2001/08/22 Pixel <pixel@mandrakesoft.com>
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: fix ru KOI8-R
-
- * bootlook.pm: fix typo
-
- * network/nfs.pm: pleac perl_checker
-
- * install_steps.pm: do init_db inside pkg_inside otherwise LOG is closed
- and rpmlib tries to write in it and ...
- do not call configurePrinter if no printer is wanted
-
- * interactive_gtk.pm: more intelligent setting back the selected value in
- the clist and ctree
- (done already for entry)
- - fix entries editing causing the cursor to go to the end of line
- - select the text
-
- * c/stuff.xs.pm, pkgs.pm: do init_db inside pkg_inside otherwise LOG is
- closed and rpmlib tries to write in it and ...
-
-2001/08/22 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: fixed int and float checking which should accept
- negative number (added explicit
- positive too), cleaned code for some perl idioms.
-
- * install_steps.pm: updated configurePrinter to use foomatic printer
- configuration.
-
-2001/08/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/automatic.c: don't stay automatic for ask_from_entries when
- entries are not given
-
- * mdk-stage1/tools.c, mdk-stage1/stage1.c, mdk-stage1/cdrom.c,
- mdk-stage1/mount.c, mdk-stage1/lomount.c, mdk-stage1/mount.h,
- mdk-stage1/network.c, mdk-stage1/modules.c, mdk-stage1/disk.c: mount all
- but ramdisk Read Only
-
-2001/08/22 kjx
-
- * share/po/zh_CN.GB2312.po: review
- review
-
-2001/08/22 Pixel <pixel@mandrakesoft.com>
-
- * bootlook.pm: fix typo
-
- * install_steps_auto_install.pm: don't have formatPartitions interactive
- by default
-
- * install_steps.pm: do not call configurePrinter if no printer is wanted
-
-2001/08/22 siegel
-
- * share/po/de.po: new german version
-
-2001/08/21 dam's <damien@mandrakesoft.com>
-
- * Makefile: added rpcinfo to the tar
- corrected bad Makefile : rpcinfo-flushed.c comes from tools.
-
- * standalone/draknet: ergonomy correction
-
- * network/tools.pm: corrected qq bug
- corrected bug
-
- * standalone/net_monitor: log updatede
- removed memoty leak
- time connection label
-
-2001/08/21 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: moved installation code of foomatic (only)
- if a printer may be chosen.
-
- * install_any.pm: fixed hd installation for urpmi.
-
- * printerdrake.pm: slight rewrite of some perl idioms.
-
-2001/08/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po: updated Walloon file
- updated pot file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2001/08/21 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: add telnet-client-krb5 and ftp-client-krb5
-
- * install_steps.pm: try to fix umount/remounting /tmp/hdimage in hd
- install
-
- * Makefile, share/po/Makefile: check presence of '$' in DrakX.pot
-
- * fs.pm (read_fstab): don't expand symlink if the link goes in a directory
-
- * install_any.pm: cleanup
-
- * install_steps_interactive.pm: fix '$' in i18n message
-
-2001/08/21 siegel
-
- * share/po/de.po: new german version
-
-2001/08/21 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: removed memoty leak
- time connection label
-
- * network/tools.pm, network/modem.pm, network/netconnect.pm,
- network/ethernet.pm, network/isdn.pm: generik internet initscript, planq
- the children again
-
- * network/adsl.pm: speedtouch config
- generik internet initscript, planq the children again
-
-2001/08/21 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed hd installation for urpmi.
-
-2001/08/21 kjx
-
- * share/po/zh_CN.GB2312.po: review
-
-2001/08/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2001/08/21 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: fix spelling error
-
- * install_any.pm: cleanup
- install hotplug if usb (i kept usbd just in case)
-
- * diskdrake_interactive.pm (Create): force no sorting on filesystems,
- editable mount points
-
- * install_steps.pm: try to fix umount/remounting /tmp/hdimage in hd
- install
-
- * Makefile, share/po/Makefile: check presence of '$' in DrakX.pot
-
- * install_steps_interactive.pm: fix '$' in i18n message
-
- * fs.pm (read_fstab): don't expand symlink if the link goes in a directory
- umask=0 only if security level < 3
-
-2001/08/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers: Have NETWORKING_DNS in "Internet station" (was
- nowhere)
-
-2001/08/20 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: basic nfs handling in drakx
- fix bug 4257
-
- * detect_devices.pm (raidAutoStart): fix for when kmod is there
-
- * fsedit.pm: try a stronger matching technique for parsing /proc/mdstat
- with devfs
-
- * diskdrake_interactive.pm, install_any.pm, install_steps.pm: try harder
- to umount /tmp/hdimage only when needed
-
- * Makefile.drakxtools, Makefile, tools/rpcinfo-flushed.c, network/nfs.pm,
- tools/.cvsignore, tools/Makefile, diskdrake.pm: basic nfs handling in
- drakx
-
-2001/08/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers: Have NETWORKING_DNS in "Internet station" (was
- nowhere)
-
-2001/08/20 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: add weird options for NeoMagic NM2160 (request
- of Alex Hulse <axh0@aber.ac.uk> on cooker)
-
- * detect_devices.pm (raidAutoStart): fix for when kmod is there
-
- * diskdrake.pm: remove test code
-
- * fs.pm: fix bug 4257
-
- * fsedit.pm: try a stronger matching technique for parsing /proc/mdstat
- with devfs
-
- * install_steps.pm, diskdrake_interactive.pm, install_any.pm: try harder
- to umount /tmp/hdimage only when needed
-
- * interactive_gtk.pm (wait_message_nextW): fix previous text == new text
- causing no
- expose_event causing dead loop
-
-2001/08/19 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake_interactive.pm: save fstab on exit
-
- * fsedit.pm: various typos fix
-
- * install_steps.pm: rename isCdNotEjectable in usingRamdisk, ensure no
- files are removed unless we're in ramdisk
- make the devfs= mount or nomount choice based on raid-based root work
-
- * standalone/diskdrake: rename isCdNotEjectable in usingRamdisk, ensure no
- files are removed unless we're in ramdisk
- fix diskdrake requiring gtk
- add some test code
-
- * fs.pm: rename isCdNotEjectable in usingRamdisk, ensure no files are
- removed unless we're in ramdisk
- various typos fix
-
- * install_steps_interactive.pm, common.pm, install2.pm, install_any.pm,
- lang.pm, pkgs.pm: rename isCdNotEjectable in usingRamdisk, ensure no
- files are removed unless we're in ramdisk
-
-2001/08/19 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: major fs.pm rework + adaptation to it
- don't show nfs/smb/removable in install
- basic smb handling
-
- * network/smb.pm: basic smb handling
-
- * install_steps.pm: rename isCdNotEjectable in usingRamdisk, ensure no
- files are removed unless we're in ramdisk
- make the devfs= mount or nomount choice based on raid-based root work
- disable supermount for the moment
- major fs.pm rework + adaptation to it
-
- * install_steps_interactive.pm, lang.pm: rename isCdNotEjectable in
- usingRamdisk, ensure no files are removed unless we're in ramdisk
- simplify
-
- * standalone/diskdrake: rename isCdNotEjectable in usingRamdisk, ensure no
- files are removed unless we're in ramdisk
- fix diskdrake requiring gtk
- add some test code
- major fs.pm rework + adaptation to it
-
- * install_any.pm: rename isCdNotEjectable in usingRamdisk, ensure no files
- are removed unless we're in ramdisk
- major fs.pm rework + adaptation to it
-
- * partition_table.pm: remove JFS from @important_types (too broken for the
- moment)
- remove isSupermount (was unused)
-
- * common.pm, install2.pm, pkgs.pm: rename isCdNotEjectable in
- usingRamdisk, ensure no files are removed unless we're in ramdisk
-
- * interactive_gtk.pm (create_ctree): fix focusing (the assumption number
- of leaves = number of lines is dumb)
-
- * fsedit.pm: various typos fix
- major fs.pm rework + adaptation to it
-
- * bootlook.pm, standalone/drakboot: major fs.pm rework + adaptation to it
-
- * fs.pm: rename isCdNotEjectable in usingRamdisk, ensure no files are
- removed unless we're in ramdisk
- various typos fix
- major fs.pm rework + adaptation to it
- cleanup
- basic smb handling
-
- * diskdrake_interactive.pm: save fstab on exit
- major fs.pm rework + adaptation to it
-
-2001/08/18 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm: basic nfs/smb handling in diskdrake
- fixes and function prototype removing
-
- * diskdrake.pm: basic nfs/smb handling in diskdrake
- nicer mount options code (for autofs and supermount)
-
- * install_steps.pm: oops, i inverted devfs=nomount and devfs=mount
-
- * interactive_gtk.pm: fix bug in box's height use
-
- * partition_table.pm, any.pm: fixes and function prototype removing
-
- * interactive.pm: readd the sorting based on size when no sorting is
- precised
-
- * my_gtk.pm (n_line_size): bigger spacing for 'various'
-
- * standalone/diskdrake, diskdrake_interactive.pm, fsedit.pm: basic nfs/smb
- handling in diskdrake
-
-2001/08/18 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (n_line_size): bigger spacing for 'various'
- enhance look, fix ask_fileW
-
- * fs.pm: basic nfs/smb handling in diskdrake
- fixes and function prototype removing
- (write_fstab): add notail for reiserfs partitions in any case
- cleanup mounting options parsing
-
- * diskdrake.pm: basic nfs/smb handling in diskdrake
- nicer mount options code (for autofs and supermount)
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
- cleanup mounting options parsing
-
- * raid.pm: update the raid size as it should be
-
- * diskdrake_interactive.pm: basic nfs/smb handling in diskdrake
- less verbose resize_reiserfs
- update the raid size as it should be
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
-
- * fsedit.pm: basic nfs/smb handling in diskdrake
- update the raid size as it should be
-
- * network/tools.pm: fix typo
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
-
- * partition_table.pm: fixes and function prototype removing
-
- * install_steps_interactive.pm, standalone/drakautoinst, proxy.pm,
- install_interactive.pm, network/ethernet.pm, interactive_http.pm,
- printerdrake.pm, Xconfigurator.pm, network/netconnect.pm,
- network/network.pm, interactive_newt.pm, network/modem.pm: big renaming
- of ask_from_entries_refH in ask_from and ask_from_entries_refH_powered
- in ask_from_
-
- * standalone/diskdrake: basic nfs/smb handling in diskdrake
-
- * any.pm: fixes and function prototype removing
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
-
- * interactive_gtk.pm: fix bug in box's height use
- better radiobox keyboard handling
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
- enhance look, fix ask_fileW
-
- * interactive.pm: readd the sorting based on size when no sorting is
- precised
- big renaming of ask_from_entries_refH in ask_from and
- ask_from_entries_refH_powered in ask_from_
-
- * install_steps.pm: oops, i inverted devfs=nomount and devfs=mount
- do not use devfs with root software raid
-
-2001/08/18 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix pass $all_hds->{hds} instead of
- $all_hds
-
-2001/08/18 siegel
-
- * share/po/de.po: new german version
-
- * standalone/drakgw, bootlook.pm, network/ethernet.pm, install_any.pm,
- network/network.pm, raid.pm: fixed i18n
-
- * printerdrake.pm: i18n fixes
-
-2001/08/17 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm: use diskdrake_interactive instead of diskdrake
-
- * standalone/interactive_http/interactive_http.cgi: fix typo
- restrict the progs callable to a few one.
-
- * standalone/interactive_http/index.html.pl,
- standalone/interactive_http/index.html: autogenerate index.html
-
- * fs.pm, diskdrake_interactive.pm, diskdrake.pm: add mount options choice
- (with IA-like stripping of unused options)
-
- * c/stuff.xs.pm: is_ext3 is needed in standalone
- Xtest not needed in standalone
-
- * c/Makefile.PL: is_ext3 is needed in standalone
-
- * standalone/interactive_http/miniserv.init,
- standalone/interactive_http/Makefile: restrict the progs callable to a
- few one.
-
- * Makefile.drakxtools: fix po not build, add interactive_http in DIRS
-
- * modules.pm: move back sunhme in sparc only
-
-2001/08/17 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: no scrollbar if list <= 10 and the list is alone
-
- * interactive.pm, install2.pm: removed no_incon
-
- * standalone/net_monitor: added no internet connection configured label on
- button
-
- * network/netconnect.pm, network/ethernet.pm: corrected connection script
- creation
-
-2001/08/17 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm: use diskdrake_interactive instead of diskdrake
- a hell lot of cleanup/rewrite:
- * diskdrake_interactive created, diskdrake is now interactive aware
- * added some documentation about the structure used for partitioning
- * all_hds now contain the various hds, lvm, raid
- * cleanup the isLVM, isRAID and alike functions
- * field {type} in detect_devices is now {media_type}
- * detect_devices::floppies is now floppies_dev
- * removed old function prototypes
-
- * fs.pm, diskdrake.pm: add mount options choice (with IA-like stripping of
- unused options)
- a hell lot of cleanup/rewrite:
- * diskdrake_interactive created, diskdrake is now interactive aware
- * added some documentation about the structure used for partitioning
- * all_hds now contain the various hds, lvm, raid
- * cleanup the isLVM, isRAID and alike functions
- * field {type} in detect_devices is now {media_type}
- * detect_devices::floppies is now floppies_dev
- * removed old function prototypes
-
- * install_steps_interactive.pm, install_steps_auto_install.pm,
- install2.pm, partition_table.pm, loopback.pm, raid.pm, bootlook.pm,
- standalone/diskdrake, install_any.pm, install_steps.pm, fsedit.pm,
- any.pm, detect_devices.pm, partition_table_raw.pm, bootloader.pm: a hell
- lot of cleanup/rewrite:
- * diskdrake_interactive created, diskdrake is now interactive aware
- * added some documentation about the structure used for partitioning
- * all_hds now contain the various hds, lvm, raid
- * cleanup the isLVM, isRAID and alike functions
- * field {type} in detect_devices is now {media_type}
- * detect_devices::floppies is now floppies_dev
- * removed old function prototypes
-
- * diskdrake_interactive.pm: add mount options choice (with IA-like
- stripping of unused options)
- (part_possible_actions): have possible actions sorted the way we want
- (Type): fix ext2->ext3 detection
- a hell lot of cleanup/rewrite:
- * diskdrake_interactive created, diskdrake is now interactive aware
- * added some documentation about the structure used for partitioning
- * all_hds now contain the various hds, lvm, raid
- * cleanup the isLVM, isRAID and alike functions
- * field {type} in detect_devices is now {media_type}
- * detect_devices::floppies is now floppies_dev
- * removed old function prototypes
-
- * modules.pm: move back sunhme in sparc only
-
-2001/08/17 Till Kamppeter <till@mandrakesoft.com>
-
- * share/rpmsrate: Corrected listing of packages for printing in 'INSTALL'
- section.
-
-2001/08/17 warly
-
- * share/rpmsrate: add package needed by the install in INSTALL
- remove shapecfg and gpa
-
-2001/08/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed bug of CUPS not being installed during
- installation
-
-2001/08/16 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm, install_any.pm: add remove_unused to have more place for mo
- files
-
-2001/08/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed bug of CUPS not being installed during
- installation
-
-2001/08/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: add remove_unused to have more place for mo files
- (getAndSaveAutoInstallFloppy): fix a missing del_loop which caused the
- unmounting at end of install to fail
-
- * install2.pm: add remove_unused to have more place for mo files
-
-2001/08/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed setup dialog for the "postpipe" connection type
-
-2001/08/16 warly
-
- * share/rpmsrate: add package needed by the install in INSTALL
-
-2001/08/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po: updated French file
-
- * share/po/sk.po: updated Slovak file
-
- * lang.pm: Added explicit setting of XFree86 internal XIM for Thai
-
-2001/08/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (getAndSaveAutoInstallFloppy): fix a missing del_loop
- which caused the
- unmounting at end of install to fail
-
-2001/08/16 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Fixed setup dialog for the "postpipe" connection type
-
-2001/08/16 warly
-
- * share/rpmsrate: add package needed by the install in INSTALL
- add kernel in INSTALL
- s/DrakConf/drakconf/
-
-2001/08/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/it.po, share/po/id.po: updated Indonesian,
- Italian and Korean files
-
- * share/po/sr.po, share/po/sp.po, share/po/tr.po: updated Turkish and
- Serbian files
-
-2001/08/15 Pixel <pixel@mandrakesoft.com>
-
- * standalone/diskdrake: oops reverting modifs commited by error
- fix XkbOptions handling
-
- * standalone/keyboarddrake: fix XkbOptions handling
-
-2001/08/15 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: Let the "Options" button only appear when
- the queue is Foomatic or with PPD (CUPS)
-
-2001/08/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po, share/po/it.po: updated Indonesian, Italian and Korean
- files
-
- * share/po/es.po: updated spanish and Indonesian files
-
- * share/po/id.po: updated Indonesian, Italian and Korean files
- updated spanish and Indonesian files
-
-2001/08/14 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: added options
-
-2001/08/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: oops, fix type of installing X or not
- - fix choice of packages when auto install
-
- * Makefile.config: add drakautoinst in drakxtools standalone binaries
-
- * install_steps_interactive.pm, install2.pm:
- - fix createBootdisk with auto
- - fix setupBootloader with auto
- - fix behaviour of draknet when auto-install
- - remove auto flag when error-in-step
-
- * install_steps.pm, network/netconnect.pm:
- - fix behaviour of draknet when auto-install
- - remove auto flag when error-in-step
-
- * Xconfigurator.pm: fix automatic configuration
-
-2001/08/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
-2001/08/14 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm: add number-only device-name handling (eg: "801" is "sda1")
-
- * interactive_gtk.pm, interactive.pm:
- - small fixes (esp. gtk sensitive handling)
- - add ask_file
- - add "gtk" preference field
-
- * my_gtk.pm: remove ask_file (was unused)
-
- * http.pm: cleanup to please perl_checker
-
- * Makefile (TAGS): add MDK/Common files
-
- * services.pm: cleanup (it was working, but wasn't nice)
-
-2001/08/14 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corrected activation button
-
-2001/08/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: oops, fix type of installing X or not
- - fix choice of packages when auto install
-
- * Makefile.config: add drakautoinst in drakxtools standalone binaries
-
- * install_steps_interactive.pm, install2.pm:
- - fix createBootdisk with auto
- - fix setupBootloader with auto
- - fix behaviour of draknet when auto-install
- - remove auto flag when error-in-step
-
- * install_steps.pm, network/netconnect.pm:
- - fix behaviour of draknet when auto-install
- - remove auto flag when error-in-step
-
- * Xconfigurator.pm: fix automatic configuration
-
-2001/08/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
-2001/08/14 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: fix typo?
-
-2001/08/14 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Transfer queues non-interactively when switching
- between LPD and LPRng.
-
-2001/08/14 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corrected activation button
-
-2001/08/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, install2.pm,
- network/netconnect.pm:
- - fix behaviour of draknet when auto-install
- - remove auto flag when error-in-step
-
- * Xconfigurator.pm: fix automatic configuration
-
- * install_any.pm:
- - fix choice of packages when auto install
-
-2001/08/14 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: fix typo?
-
-2001/08/14 Till Kamppeter <till@mandrakesoft.com>
-
- * printer.pm: Removed superfluous lines.
-
- * printerdrake.pm: Transfer queues non-interactively when switching
- between LPD and LPRng.
- Wait message for queue transfer, manufacturer name bugfix
-
-2001/08/13 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * tools/i386/netboot/stage2.eepro100: Add eepro100 grub stage.
- Removing old version of eepro100 (no stage1).
-
- * tools/i386/netboot/stage1.eepro100: Add eepro100 grub stage.
-
-2001/08/13 dam's <damien@mandrakesoft.com>
-
- * interactive.pm: corrected 'no icon'
-
- * network/adsl.pm, network/netconnect.pm: adsl autodetection activated
- (planq the children)
-
-2001/08/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakautoinst: ouch! use lib from /usr/lib/libDrakX, rather
- than from ..
- initial revision for drakautoinst
- - put %installSteps in a separate package (steps.pm) (for drakxtools)
- - use additional fields {auto} and {noauto}, by step, to ease
- interactive auto install and oem stuff
- - in install2.pm, perform each step either from the interactive class
- or from install_steps, according to the {auto} flag
- - id, tell each step to not try to be automatic if {noauto}
- - in the install, have auto install bootdisk created in install_any so
- we can always write a bootdisk (from install_steps) for further use from
- drakautoinst in standalone
- - interactive version of install_steps_auto_install is now inheriting
- from the interactive class, so we can click on a previous automatic step
- and have it interactively during an interactive auto install
-
- * install_steps.pm, install_steps_interactive.pm,
- install_steps_auto_install.pm, install2.pm, steps.pm, install_any.pm:
- initial revision for drakautoinst
- - put %installSteps in a separate package (steps.pm) (for drakxtools)
- - use additional fields {auto} and {noauto}, by step, to ease
- interactive auto install and oem stuff
- - in install2.pm, perform each step either from the interactive class
- or from install_steps, according to the {auto} flag
- - id, tell each step to not try to be automatic if {noauto}
- - in the install, have auto install bootdisk created in install_any so
- we can always write a bootdisk (from install_steps) for further use from
- drakautoinst in standalone
- - interactive version of install_steps_auto_install is now inheriting
- from the interactive class, so we can click on a previous automatic step
- and have it interactively during an interactive auto install
-
-2001/08/13 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm, install2.pm, install_any.pm, steps.pm:
- auto_inst enhancements
-
- * install_steps_interactive.pm, standalone/XFdrake, install_steps.pm,
- Xconfigurator.pm: really use a class_discard for Xconfigurator::main
-
- * devices.pm: add /dev/hd[mt] handling
-
-2001/08/13 siegel
-
- * share/po/de.po: new german version
-
-2001/08/13 Till Kamppeter <till@mandrakesoft.com>
-
- * printerdrake.pm: Automatic transfer of queues when changing the spooler.
- Update printer queue list when exiting during install, so that the
- "Summary" entry is correct.
- When one sayd "No" on the test page, the modify dialog was not pointing
- to the current printer
-
- * printer.pm: Automatic transfer of queues when changing the spooler.
- The photo test page was not printed during installation.
-
- * interactive.pm: Tree lists are sorted again now.
-
-2001/08/13 yduret
-
- * standalone/drakxconf: removed diskdrake from the choice
-
-2001/08/12 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: longer timeout
-
-2001/08/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix ortograf typo
-
-2001/08/12 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: po->mo is no longer gonna be nasty with us
-
- * interactive_gtk.pm: clean the nice till fix
-
- * tools/cvslog2changelog.pl: add till
-
- * Makefile: ensure locales.tar.bz2 in perl-install/share is build
- po->mo is no longer gonna be nasty with us
-
-2001/08/12 Till Kamppeter <till@mandrakesoft.com>
-
- * interactive.pm: Lists get only sorted when the "sort" option is given.
-
- * printer.pm, printerdrake.pm: Check files before checking RPM database =>
- Acceleration, waiting windows
-
-2001/08/11 dam's <damien@mandrakesoft.com>
-
- * share/themes.rc, share/logo-mandrake.png, share/themes-mdk.rc,
- share/themes/mdk-bg.png: new theme for beta
-
- * share/theme-editor.pl: updated
- now works.
-
-2001/08/11 tkamppeter
-
- * printer.pm, printerdrake.pm: Restructuring continued and debugged
-
-2001/08/10 dam's <damien@mandrakesoft.com>
-
- * share/theme-editor.pl: added theme editor
-
- * network/tools.pm: corrected password file substitution
-
- * network/ethernet.pm: remove Data::Dumper
-
- * network/netconnect.pm: added spped and timeout handling for isdn
-
- * any.pm: corrected autologin question
-
- * network/isdn.pm: tomeout option deactivated.
-
- * standalone/draknet: corrected internet cnfiguration pop up, and some
- other studds
- ifup/down ethx, anew pixmap for list
-
- * my_gtk.pm: removed Datta::Dump use
-
- * pixmaps/eth_card_mini2.png: added
-
-2001/08/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: small font fix
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/ar.po, share/po/sl.po, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * share/po/bg.po: updated Bulgarian file
- updated pot file
-
-2001/08/10 yduret
-
- * bootlook.pm: corrected vnew usage (thx gc)
-
-2001/08/09 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: added missing use
- added pixmap for eth. Some factorisation
-
- * network/tools.pm: added useless function type2interface for future use
-
- * my_gtk.pm: added gtkbuttonset, and corrected scrollbar height for
- standalone mode.
-
- * network/isdn.pm: labels corrections
-
-2001/08/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/tinyfirewall, standalone/printerdrake, standalone/mousedrake,
- standalone/drakxservices, standalone/net_monitor, standalone/draknet,
- standalone/drakproxy, standalone/XFdrake, standalone/keyboarddrake,
- standalone/drakxconf, standalone/adduserdrake, standalone/livedrake,
- standalone/drakboot, standalone/draksec: use vnew the right way
- everywhere
-
- * standalone/drakgw: use vnew the right way everywhere
- - if package installs fail, redo one by one to know which one failed
- - try to not end up with a failing configuration file, if program is
- brutally stopped
- - if unrecognized config file, don't fail, rather ignore it and
- proceed
- - run dhcpd_update feature (if present) after setup of dhcp server
-
- * share/rpmsrate: put traceroute in network client also, for claudio
-
-2001/08/09 Pixel <pixel@mandrakesoft.com>
-
- * standalone.pm, install_any.pm: rename interactive_pkgs in
- pkgs_interactive
-
-2001/08/09 siegel
-
- * standalone/interactive_http/miniserv.logrotate,
- standalone/interactive_http/Makefile: Added logrotate for
- "/var/log/drakxtools_http.log"
-
-2001/08/09 tkamppeter
-
- * printer.pm, printerdrake.pm: New structure for queue modification,
- general structure clean-up
-
-2001/08/09 yduret
-
- * bootlook.pm: readded in->do_pkg->install (i sux)
- rewrite in a more drakx fashion
-
- * my_gtk.pm: added gtkset_sensitive in wrapper..
-
-2001/08/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2001/08/08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: typo
- makes interactive_pkgs stuff work
- add interactive_pkgs stuff
-
- * Makefile: skip module CGI in test_pms (perl_checker)
-
- * fsedit.pm (check_mntpoint): remove /root from directories that "should
- remain within the root filesystem"
-
- * proxy.pm, network/ethernet.pm, network/isdn.pm, tinyfirewall.pm,
- printerdrake.pm, standalone/drakgw, standalone/draknet,
- network/tools.pm, bootlook.pm, standalone.pm, standalone/drakproxy,
- standalone/XFdrake, network/netconnect.pm, standalone/adduserdrake,
- network/adsl.pm, network/network.pm, printer.pm, network/modem.pm: add
- interactive_pkgs stuff
-
- * install_steps_interactive.pm: installing foomatic before doing anything
- about printer
- add interactive_pkgs stuff
-
- * Xconfigurator.pm, any.pm: makes interactive_pkgs stuff work
- add interactive_pkgs stuff
-
- * install_any.pm (remove, remove_nodeps): fix typo
- makes interactive_pkgs stuff work
- add interactive_pkgs stuff
-
-2001/08/08 tkamppeter
-
- * install_steps_interactive.pm: Installation fitted to new printerdrake
-
- * printer.pm: Different choosable test pages available now
- Corrected init script calls in the (start|stop|restart)_service
- functions
-
- * printerdrake.pm: Different choosable test pages available now
- Removed superfluous line in install_spooler function
-
-2001/08/08 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (naughtyServers): add drakxtools-http
-
-2001/08/07 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: nex features
-
- * network/netconnect.pm: removed debugging message
-
- * network/isdn.pm: corrected pkgs use -> require
-
- * my_gtk.pm: added gtkset_relief
-
- * pixmaps/network.png, pixmaps/draknet_step.png: added
-
-2001/08/07 Pixel <pixel@mandrakesoft.com>
-
- * pixmaps/network.png, pixmaps/draknet_step.png: re-adding with -kb
- removing for re-adding with -kb
-
-2001/08/07 tkamppeter
-
- * printer.pm, printerdrake.pm: Automatic installation of all needed
- packages
-
-2001/08/07 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corrected label
-
- * network/netconnect.pm: removed debugging message
-
- * standalone/net_monitor: nex features
- added color choice
- lot of improvments
-
- * network/isdn.pm: corrected pkgs use -> require
-
- * my_gtk.pm: added gtkset_relief
-
- * pixmaps/network.png, pixmaps/draknet_step.png: added
-
-2001/08/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c: say that it's a data read error, when we can't load
- the ramdisk
-
- * mdk-stage1/Makefile.common, mdk-stage1/bzlib/bzlib.h: don't use system
- wide bzlib.h but our own provided one
-
-2001/08/07 Pixel <pixel@mandrakesoft.com>
-
- * rescue/tree/etc/issue: fix distrib number
-
- * interactive.pm: adding http feature, mainly for standalone tools
-
- * standalone/miniserv.pem, standalone/miniserv.pl: Initial revision
- import
-
- * standalone/interactive_http/miniserv.pl: add interactive_http
- Initial revision
-
- * resize_fat/main.pm: fix
-
- * partition_table.pm: nicer names for journalised fs
-
- * Makefile.drakxtools, standalone/interactive_http/miniserv.init,
- standalone/interactive_http/index.html,
- standalone/interactive_http/interactive_http.cgi,
- standalone/interactive_http/miniserv.conf,
- standalone/interactive_http/miniserv.pam,
- standalone/interactive_http/miniserv.users, Makefile,
- standalone/interactive_http/Makefile: add interactive_http
-
- * interactive_http.pm, standalone/interactive_http.cgi: add
- interactive_http
- adding http feature, mainly for standalone tools
-
- * share/diskdrake.rc: have every journalised in darkred
-
- * c/stuff.xs.pm: add S_IFIFO
-
- * standalone/interactive_http/miniserv.pem: Initial revision
-
-2001/08/06 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: debugging, profile coding, isdn 128 debugging
- corrected gtkradio : shift instead of pop
-
- * interactive_gtk.pm, install_steps_gtk.pm: corrected gtkradio : shift
- instead of pop
-
- * network/netconnect.pm, network/ethernet.pm, network/isdn.pm: debugging,
- profile coding, isdn 128 debugging
-
-2001/08/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/i386/busybox: try a busybox with better globbing under the SHELL
-
-2001/08/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/de.po: Updates to German file by Peer Dunker <peer46@gmx.net>
-
- * share/po/vi.po: updated Vietnamese file
-
-2001/08/06 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm: kernel_arch removed
-
- * fsedit.pm (@suggestions_mntpoints): remove /root (tx2gc)
-
- * interactive_gtk.pm, interactive_newt.pm: cleanup, functions already
- defined in interactive
-
-2001/08/06 yduret
-
- * tinyfirewall.pm: use MDK::Common;
- use network::netconnect;
-
- * standalone/drakgw: use MDK::Common;
- use network::netconnect; and update functions call from netconnect
-
-2001/08/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eo.po: updated Esperanto file
-
-2001/08/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm: switch to gtk install when
- interactiveSteps is defined
-
-2001/08/05 tkamppeter
-
- * printer.pm, printerdrake.pm: Automatic installation and start of the
- desired printer spooler
-
-2001/08/04 Pixel <pixel@mandrakesoft.com>
-
- * share/list: add tune2fs enabling switching from ext2 to ext3
-
- * fs.pm, fsedit.pm, partition_table.pm: add ext3 support
-
- * diskdrake.pm: add ext3 support
- (Type): handle lossless switch from ext2 to ext3
-
- * pkgs.pm: make perl_checker happy
-
- * c/stuff.xs.pm, c/Makefile.PL: add is_ext3
-
- * common.pm: moved arch() and alike to MDK::Common::System
-
-2001/08/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (choosePackages): simplify, fix
- setSelectedFromCompssList not called in
- expert even the first_time (especially nasty for auto_installs)
-
- * fs.pm, partition_table.pm, fsedit.pm: add ext3 support
-
- * diskdrake.pm: add ext3 support
- (Type): handle lossless switch from ext2 to ext3
-
- * install_steps_gtk.pm: add the feather feature, but do not enable it
-
- * interactive_gtk.pm (ask_browse_tree_info_refW): s/wait_msg/wait_message/
- (wait_msg doesn't
- exist anywhere, it must be a fpons typo)
-
- * pkgs.pm: make perl_checker happy
-
- * c/stuff.xs.pm, c/Makefile.PL: add is_ext3
-
- * bootloader.pm: as when lilo is selected, we don't try to install grub,
- just create the
- config file in case it may be useful
-
- * common.pm: moved arch() and alike to MDK::Common::System
-
- * partition_table_raw.pm: add yaboot detection
-
- * install_any.pm, share/rpmsrate: create a new flags "X" selected by
- default, contain what X related packages
- which were in "SYSTEM"
-
-2001/08/04 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (choosePackages): simplify, fix
- setSelectedFromCompssList not called in
- expert even the first_time (especially nasty for auto_installs)
-
- * install_steps_gtk.pm: add the feather feature, but do not enable it
-
- * bootloader.pm: as when lilo is selected, we don't try to install grub,
- just create the
- config file in case it may be useful
-
- * interactive_gtk.pm (ask_browse_tree_info_refW): s/wait_msg/wait_message/
- (wait_msg doesn't
- exist anywhere, it must be a fpons typo)
-
- * share/rpmsrate, install_any.pm: create a new flags "X" selected by
- default, contain what X related packages
- which were in "SYSTEM"
-
-2001/08/03 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor, network/tools.pm, network/netconnect.pm,
- network/isdn.pm: debugging, 128Kb/s ISDN
-
- * Makefile.drakxtools, Makefile: added network pms
-
-2001/08/03 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm: typo fix
- replace isJfs/isXfs/... with isThisFs("jfs"
-
- * install_any.pm: replace isJfs/isXfs/... with isThisFs("jfs"
- update_userkderc is now called update_gnomekderc
-
- * Makefile: better po skipping
-
- * commands.pm (sync): (re-?)add
-
- * fs.pm, install_steps_interactive.pm, diskdrake.pm, bootloader.pm:
- replace isJfs/isXfs/... with isThisFs("jfs"
-
- * fsedit.pm (check_mntpoint): /root should remain within the root
- filesystem
-
- * install_steps.pm (choosePartitionsToFormat): toFormatUnsure=1 for /usr
- update_userkderc is now called update_gnomekderc
-
-2001/08/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/adsl.c:
- - fix problem of clashing user/pass between adsl and ftp/http in case
- of automatic installs
- - update doc on automatic install parameters (doc/TECH-INFOS)
-
- * mdk-stage1/doc/TECH-INFOS:
- - small update
- - fix problem of clashing user/pass between adsl and ftp/http in case
- of automatic installs
- - update doc on automatic install parameters (doc/TECH-INFOS)
-
-2001/08/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
-2001/08/02 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm, services.pm, install_interactive.pm,
- network/netconnect.pm, install_any.pm, Xconfigurator.pm: instead of
- testing if ref($in) or ref($o) contains /gtk/, test if interactive_gtk
- is in ISA of the object
-
- * partition_table.pm, fsedit.pm, diskdrake.pm: JFS support
-
-2001/08/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/adsl.c:
- - fix problem of clashing user/pass between adsl and ftp/http in case
- of automatic installs
- - update doc on automatic install parameters (doc/TECH-INFOS)
-
- * mdk-stage1/doc/TECH-INFOS:
- - small update
- - fix problem of clashing user/pass between adsl and ftp/http in case
- of automatic installs
- - update doc on automatic install parameters (doc/TECH-INFOS)
-
-2001/08/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
-2001/08/02 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: instead of testing if ref($in) or ref($o) contains
- /gtk/, test if interactive_gtk is in ISA of the object
- add jfs support
-
- * install_steps_interactive.pm, services.pm, install_interactive.pm,
- network/netconnect.pm, Xconfigurator.pm: instead of testing if ref($in)
- or ref($o) contains /gtk/, test if interactive_gtk is in ISA of the
- object
-
- * partition_table.pm: JFS support
- add jfs support
-
- * fsedit.pm, diskdrake.pm: JFS support
-
- * tools/ntp_servers.pl, timezone.pm: update ntp servers list
-
- * fs.pm, share/list: add jfs support
-
-2001/08/02 Pixel <pixel@mandrakesoft.com>
-
- * tools/ntp_servers.pl, timezone.pm: update ntp servers list
-
- * fs.pm, share/list, partition_table.pm, install_any.pm: add jfs support
-
-2001/08/01 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: write_on_text writes in blue instead of black
-
- * network/isdn.pm: typo
- added de-installation before installateion
-
- * network/netconnect.pm: translation correction
-
-2001/08/01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, fsedit.pm: handle auto_allocate_raids for
- auto_installs
-
- * raid.pm (new): now works with a list of partitions
-
-2001/08/01 tkamppeter
-
- * printer.pm: Fixed bug in recognizing the printer ID in the Foomatic
- overview.
-
-2001/08/01 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: write_on_text writes in blue instead of black
-
- * network/isdn.pm: typo
- added de-installation before installateion
-
- * network/netconnect.pm: translation correction
-
-2001/08/01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, fsedit.pm: handle auto_allocate_raids for
- auto_installs
-
- * raid.pm (new): now works with a list of partitions
-
-2001/07/31 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: added splash screen between different
- configurations. Added splash wizard mode
- added intro step for each configuration type.
-
- * network/tools.pm: corrected ask_connect_now
-
- * my_gtk.pm: added write_on pixmap : a function to write text on pixma,
- using fonts.
-
- * network/ethernet.pm: added intro step for each configuration type.
-
-2001/07/31 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_steps_interactive.pm: after copying the auto install floppy,
- sync in case you shall remove the
- floppy right after the LED switches off yet the kernel decides to not
- flush
- everything
-
- * modules.pm, mdk-stage1/modules_descr.h: have "catc" driver for usbnet
- installs
-
- * bootloader.pm: load msdos and vfat before mkbootdisk (now using syslinux
- so..)
-
-2001/07/31 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (translate): empty string translation is an empty string
-
- * install_gtk.pm (test_mouse): s/my (.*) = 0 if 0/my $1 if 0/
-
- * share/rpmsrate: add cpio
- lower gurpmi (5->4)
-
- * share/gen_locales.sh, share/locales-skeleton.tar.bz2: chineese locale
- support
- better handling of locales
-
- * Makefile.drakxtools (install): s/cp -rf/cp -rfL/ (-L = --dereference,
- aka always follow symbolic links)
-
- * install_steps_gtk.pm (installPackages): make $show_advertising a global
- state (for Vincent Meyer)
-
- * share/Makefile, Makefile: better handling of locales
-
- * install_steps_auto_install.pm: remove bad prototype
-
-2001/07/30 dam's <damien@mandrakesoft.com>
-
- * network/ethernet.pm: added cable internet connection selection
- added internet connection selection in case of multiple configurations
-
- * network/netconnect.pm: corrected ask_connect_now behaviour
- corrected ask_connect_now
- debug
- added internet connection selection in case of multiple configurations
-
- * network/adsl.pm, network/tools.pm, network/modem.pm, network/isdn.pm:
- corrected ask_connect_now
- added internet connection selection in case of multiple configurations
-
-2001/07/30 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (getDeps): ensure "depslist.ordered has not same package as
- hdlist files"
- occurs when the hdlists are in fact not available
-
- * share/locales.tar.bz2.ppc, share/locales.tar.bz2,
- share/locales.tar.bz2.sparc, share/.cvsignore, share/gen_locales.sh,
- share/locales-skeleton.tar.bz2: automatic handling of locales.tar.bz2
- based on installed glibc
-
- * printer.pm, printerdrake.pm: use MDK::Common
- i wonder why it was included and Till used an older version without
- merging?
-
- * resize_fat/main.pm: switch to MDK::Common (i wonder why it was not done
- yet)
-
- * share/rpmsrate: raise rxvt (4->5)
- lower rpmdrake & harddrake (5->4)
- remove rootfiles (unneeded)
-
- * Makefile: use -excludeMDK::Common::Globals for perl_checker
- automatic handling of locales.tar.bz2 based on installed glibc
-
-2001/07/30 tkamppeter
-
- * printer.pm, printerdrake.pm: In beginners mode one chooses only the
- printer, not the driver (default driver)
-
-2001/07/30 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm: debug
- added internet connection selection in case of multiple configurations
-
- * network/adsl.pm, network/tools.pm, network/modem.pm, network/isdn.pm:
- added internet connection selection in case of multiple configurations
-
- * network/ethernet.pm: added cable internet connection selection
- added internet connection selection in case of multiple configurations
-
-2001/07/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/stage1.c, mdk-stage1/config-stage1.h:
- have a memory limit also for Rescue (different one)
-
-2001/07/30 Pixel <pixel@mandrakesoft.com>
-
- * printer.pm, printerdrake.pm: use MDK::Common
- i wonder why it was included and Till used an older version without
- merging?
-
- * resize_fat/main.pm: switch to MDK::Common (i wonder why it was not done
- yet)
-
- * share/rpmsrate: raise rxvt (4->5)
- lower rpmdrake & harddrake (5->4)
- remove rootfiles (unneeded)
-
- * pkgs.pm (getDeps): ensure "depslist.ordered has not same package as
- hdlist files"
- occurs when the hdlists are in fact not available
-
- * Makefile: use -excludeMDK::Common::Globals for perl_checker
- automatic handling of locales.tar.bz2 based on installed glibc
-
- * share/locales.tar.bz2.ppc, share/locales.tar.bz2,
- share/locales.tar.bz2.sparc, share/.cvsignore, share/gen_locales.sh,
- share/locales-skeleton.tar.bz2: automatic handling of locales.tar.bz2
- based on installed glibc
-
-2001/07/28 tkamppeter
-
- * printer.pm, printerdrake.pm: Support for PPD files of PostScript
- printers (when CUPS is used)
-
-2001/07/27 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: fixed undeselectable group when 'Other' sub-tree
- is seen as a package.
-
- * interactive_gtk.pm: allow ask_browse_tree_info_refW to return 0 on
- cancel (previously always 1).
- added a before leaving code to clean added reference (else it seems to
- bahave
- strangely on changing steps).
- fixed wrong reference to added icons to ask_browse_tree_info_refW.
-
- * services.pm: allow cancel on services which do not change anything.
-
- * install_steps_interactive.pm: changed warn dialog to okcancel dialog
- when asking user to insert Boot floppy
- used or Update Modules floppy (die may cause to rerun install else).
-
-2001/07/27 gbeauchesne
-
- * install_steps_gtk.pm:
- - install_steps_gtk.pm (launchX) : create /var/log, if not existent,
- for
- XFree86.log
-
-2001/07/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: allow to escape from Update Modules if you don't
- want to insert an ext2 floppy
- Disk -> Floppy for Update Modules disk
-
-2001/07/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * share/locales.tar.bz2.ppc, keyboard.pm, help.pm, partition_table.pm,
- Xconfigurator.pm: last of sync with PPC beta mods
-
-2001/07/27 tkamppeter
-
- * standalone/printerdrake, printer.pm, printerdrake.pm: Printerdrake
- changed to use Foomatic, driver options, spooler change
-
-2001/07/26 dam's <damien@mandrakesoft.com>
-
- * network/isdn.pm: added firmware loading/configuration
- not loading the module at detection.
-
- * standalone/draknet: MDK::common correction
-
- * modules.pm: added default option id="HiSax" to isdn module
-
-2001/07/26 fcrozat
-
- * share/po/fr.po: Fix spelling of 'molette'
-
-2001/07/26 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: added blank and updatemodules options to DrakX.
-
- * bootloader.pm: added prioritary kernel entry 'default' as the kernel
- typically copied from a
- modified blank.img file with a kernel (no initrd.img necessary to
- build).
- This kernel takes precedance over any other kernel.
-
- * install_steps_interactive.pm: really fixes Diskette with Floppy.
- fix typo as Diskette to Floppy.
- add support for new modules load as described by GG.
-
- * install_steps.pm: fixed some silly typo and tiny bugs.
- fixed typo as Diskette to Floppy.
- add support for modified blank.img floppy and Update Modules floppy.
- In first case copy kernel to /boot/vmlinuz-default to be taken into
- account by
- bootloader suggestion method.
- In second case, check installed kernel and update any modules listed in
- the
- Update Modules floppy.
-
-2001/07/26 gbeauchesne
-
- * bootloader.pm:
- - Don't set "lba32" on ia64
-
-2001/07/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/modules.h, mdk-stage1/modules.c: pass
- "--blank" to DrakX when module loading is disabled
- - add "changedisk" feature
- - add "updatemodules" feature
-
- * mdk-stage1/tools.c, mdk-stage1/doc/UPDATEMODULES, mdk-stage1/stage1.h:
- - add "changedisk" feature
- - add "updatemodules" feature
-
- * mdk-stage1/probing.c: silently load usb controllers
-
-2001/07/25 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: fixed new network organization
-
- * standalone/net_monitor: updated. Profile handling.
-
- * network/isdn_consts.pm: updated ISDN detection. Added firmware handling
- and drivers other than hisax
-
-2001/07/25 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed no test (or die test) to void package read on depslist
- (allowed to keep
- package indexing good on multi-arch).
- cleaned code to examine depslist.ordered and packages list.
-
- * rescue/make_rescue_img: fixed to use perl-MDK-Common.
-
- * tools/syncrpms: fixed still missing rpmtools:: before a version_compare
- ...
-
-2001/07/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules_descr.h: small typo
-
- * mdk-stage1/init.c, mdk-stage1/newt-frontend.c: Use Yahve quoting
-
-2001/07/25 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile (install): build mo's
-
- * commands: move to MDK::Common, bool->to_bool
-
- * common.pm: do not export sync, keep it in common (esp. so that it
- doesn't conflict with my_gtk::sync
- (removeXiBSuffix): add TB (tera)
-
- * share/po/i18n_compssUsers, rescue/make_rescue_img: use MDK::Common
-
- * share/verify_modules.pl: new common syntax
-
- * Makefile:
- - temporary hack to have at least good UTF-8 based locales (otherwise
- rpmlib segfaults)
- - touch share/po/*.po, so that they are not rebuilded (pablo takes
- care of them)
-
- * share/list: add MDK::Common::Globals
-
- * partition_table_sun.pm, install2.pm, partition_table.pm, commands.pm,
- install_steps.pm, partition_table_raw.pm, partition_table_mac.pm: do not
- export sync, keep it in common (esp. so that it doesn't conflict with
- my_gtk::sync
-
-2001/07/25 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/modules_descr.h: add decriptions for integrated Apple
- Network/SCSI hardware
-
-2001/07/24 dam's <damien@mandrakesoft.com>
-
- * network/isdn_consts.pm, network/netconnect.pm, network/ethernet.pm:
- corrected speed fax + PCI, updated configuration
-
-2001/07/24 daouda
-
- * bootlook.pm: better runlevel handling -> persistent level choice
-
-2001/07/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
-2001/07/24 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm: move to MDK::Common, bool->to_bool
- fix syntax
- removed/renamed unused/seldom-used functions
- generalize the use of chomp_ as the functional alternative to chomp (and
- works on lists)
-
- * swap.pm: temporary hack to have at least good UTF-8 based locales
- (otherwise rpmlib segfaults)
- move to MDK::Common, bool->to_bool
-
- * unused/scsi.pm, standalone/draknet: generalize the use of chomp_ as the
- functional alternative to chomp (and works on lists)
-
- * globals.pm, perl2fcalls:
- - globals is now MDK::Common::Globals
- - perl2fcalls is now /usr/bin/perl_checker
-
- * install_steps_gtk.pm: move to MDK::Common, bool->to_bool
- move to MDK::Common, bool->to_bool
- removed/renamed unused/seldom-used functions
-
- * common.pm: move to MDK::Common, bool->to_bool
- cleanup (remove unused stuff and dangerous prototypes)
- removed/renamed unused/seldom-used functions
- generalize the use of chomp_ as the functional alternative to chomp (and
- works on lists)
-
- * network/tools.pm, network/adsl.pm, network/netconnect.pm,
- network/ethernet.pm, network/isdn.pm, network/modem.pm:
- - globals is now MDK::Common::Globals
- - perl2fcalls is now /usr/bin/perl_checker
- move to MDK::Common, bool->to_bool
-
- * partition_table_dos.pm, partition_table_empty.pm, my_gtk.pm, modparm.pm,
- standalone/keyboarddrake, install2.pm, raid.pm, crypto.pm,
- partition_table_mac.pm, standalone/mousedrake, devices.pm,
- install_steps.pm, resize_fat/main.pm, help.pm, install_interactive.pm,
- install_steps_stdio.pm, loopback.pm, resize_fat/any.pm,
- standalone/drakboot, pkgs.pm, keyboard.pm, Xconfigurator.pm, fs.pm,
- interactive_gtk.pm, standalone/drakxservices, fsedit.pm,
- network/network.pm, interactive_stdio.pm, diskdrake.pm, modules.pm,
- resize_fat/directory.pm, standalone/net_monitor,
- install_steps_auto_install.pm, partition_table_sun.pm, proxy.pm,
- lang.pm, partition_table_bsd.pm, tinyfirewall.pm, standalone/draksec,
- standalone/drakxconf, resize_fat/info_sector.pm,
- standalone/adduserdrake, sbus_probing/main.pm, printer.pm,
- partition_table_raw.pm, install_steps_interactive.pm, install_gtk.pm,
- Xconfigurator_consts.pm, resize_fat/boot_sector.pm, partition_table.pm,
- standalone/livedrake, standalone/drakgw, mouse.pm, lvm.pm,
- interactive.pm, share/list, interactive_newt.pm, install_steps_newt.pm,
- bootloader.pm: move to MDK::Common, bool->to_bool
-
- * services.pm, printerdrake.pm: move to MDK::Common, bool->to_bool
- removed/renamed unused/seldom-used functions
-
- * standalone/diskdrake, install_any.pm, any.pm, Xconfig.pm, timezone.pm,
- detect_devices.pm, bootlook.pm: move to MDK::Common, bool->to_bool
- generalize the use of chomp_ as the functional alternative to chomp (and
- works on lists)
-
- * Makefile: temporary hack to have at least good UTF-8 based locales
- (otherwise rpmlib segfaults)
- move to MDK::Common, bool->to_bool
- move to MDK::Common, bool->to_bool
-
-2001/07/23 dam's <damien@mandrakesoft.com>
-
- * modules.pm, network/tools.pm, network/isdn_consts.pm,
- network/netconnect.pm, network/isdn.pm: isdn now works with isdn-light.
- Only 64kb/s and still some debuf stuff to be fixed.
-
-2001/07/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/sk.po: updated Slovak and Croatian files
-
-2001/07/23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: cleanup
-
- * c/stuff.xs.pm, Makefile.drakxtools, standalone.pm, common.pm, Makefile,
- tools/make_mdkinst_stage2, lang.pm, share/po/Makefile,
- share/po/.cvsignore: do not use the po's directly. Use mo's through
- gettext
-
-2001/07/22 dam's <damien@mandrakesoft.com>
-
- * network/netconnect.pm, network/isdn.pm: updated isdn config, moved
- isdn_data from netconnect_const to isdn_const
- big work on isdn. Not finished
-
- * modules.pm, standalone/net_monitor, network/tools.pm, detect_devices.pm:
- big work on isdn. Not finished
-
- * network/netconnect_consts.pm, network/isdn_consts.pm: updated isdn
- config, moved isdn_data from netconnect_const to isdn_const
-
-2001/07/20 François Pons <fpons@mandrakesoft.com>
-
- * docs/README.pxe: initial release, dhcpd and tftpd only.
-
-2001/07/20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/el.po: updated Greek file
-
-2001/07/20 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: externalize the pm 2 pm_.c in fake_c.pl
-
- * lang.pm: fix
- (load_po): enhance readability
-
- * share/po/fake_c.pl: cleanup
- externalize the pm 2 pm_.c in fake_c.pl
-
- * common.pm (translate): basic plural forms handling (not finished)
-
- * help.pm: fix missing ``"''
-
- * bootloader.pm: fix
- (install_lilo): order fat partitions first
-
-2001/07/19 dam's <damien@mandrakesoft.com>
-
- * share/themes.rc, share/logo-mandrake.png, share/themes-mdk.rc,
- share/help.png: new color
-
- * network/netconnect.pm: correct bug. thanx to the little stagiaire.
-
-2001/07/19 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: updated with new
- graphic logo for 8.1
-
-2001/07/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/fi.po, share/po/DrakX.pot, share/po/es.po,
- share/po/eo.po, share/po/fr.po, share/po/wa.po, share/po/da.po,
- share/po/de.po, share/po/el.po, share/po/et.po, share/po/hu.po,
- share/po/eu.po: updated Croatian file
-
-2001/07/19 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: updated with new
- graphic logo for 8.1
-
- * Xconfigurator.pm: fixed problable freeze on pci probe.
-
-2001/07/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/fi.po, share/po/DrakX.pot, share/po/es.po,
- share/po/eo.po, share/po/fr.po, share/po/wa.po, share/po/da.po,
- share/po/de.po, share/po/el.po, share/po/et.po, share/po/hu.po,
- share/po/eu.po: updated Croatian file
-
-2001/07/19 Pixel <pixel@mandrakesoft.com>
-
- * globals.pm: no strict 'refs' instead of 'vars'
-
- * services.pm: rename ask_install_gtk in ask_install, ask_install is now
- ask_install_simple (obsolete)
-
- * install_steps_auto_install.pm: fix exit install in graphical
- auto_install's
-
-2001/07/19 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm, install_steps_newt.pm, install2.pm: based
- on Michael Brown <mbrown@fensystems.co.uk> patch:
- - enables graphical steps in auto_installs for more than gtk
- - various cleanup
-
- * globals.pm: no strict 'refs' instead of 'vars'
-
- * services.pm: rename ask_install_gtk in ask_install, ask_install is now
- ask_install_simple (obsolete)
-
-2001/07/18 mbadaire
-
- * modules.pm, install_any.pm, bootloader.pm: IA64 adaptation
-
-2001/07/18 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm, install_steps.pm, install_steps_interactive.pm,
- tools/serial_probe/serial.c, detect_devices.pm, partition_table_mac.pm,
- diskdrake.pm: roll back some changes from PPC beta - OldWorld vs
- NewWorld bootloader
- modem detection on ttyS0, new sound module in 2.4.4
-
-2001/07/17 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: disabled Frame buffer for all S3 cards (hangs with XF4
- and S3 ViRGE on reboot
- with Aurora).
-
- * Xconfigurator.pm: cleaned and added S3 Inc in the list to disable test
- for these card.
-
-2001/07/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: removed references to XFree86-ISO8859-{2,9} packages (no
- more used)
-
- * keyboard.pm: small keyboard changes
-
-2001/07/13 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/po/fr.po: update
-
-2001/07/12 François Pons <fpons@mandrakesoft.com>
-
- * fs.pm: fixed wrong examination of fsck return code (exit code 1 says
- fsck succeeded in
- fixing partition and now is ok).
-
- * run_program.pm: changed exit code of failed exec in rooted to 128
- instead of 1 (may clash with
- exit code of fsck else).
-
- * any.pm: fixed bug for writing in /etc/sysconfig/desktop file.
-
-2001/07/12 François Pons <fpons@mandrakesoft.com>
-
- * interactive.pm: added ask_browse_tree_info and ask_browse_tree_info_refW
- (default).
-
- * services.pm: reworked to use new service layout for install.
-
- * install_steps_gtk.pm: use common code for tree with info dialog
- (individual package selection).
-
- * fs.pm: fixed wrong examination of fsck return code (exit code 1 says
- fsck succeeded in
- fixing partition and now is ok).
-
- * interactive_gtk.pm: merging common code for individual package selection
- and service to create
- ask_browse_tree_info_refW, added featrures for group icon always
- up-to-date
- (take some memory but not too much, not used if flat model).
-
- * run_program.pm: changed exit code of failed exec in rooted to 128
- instead of 1 (may clash with
- exit code of fsck else).
-
- * any.pm: fixed bug for writing in /etc/sysconfig/desktop file.
-
-2001/07/10 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/init.c, mdk-stage1/Makefile.common: minor mods for PPC build,
- define TIOCSCTTY, Makefile mods
-
-2001/07/09 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added multiple tries if a transaction of only one package
- fails.
-
- * install_any.pm: added LDAP support for authentication.
-
- * install_steps_interactive.pm: added LDAP support for password
- authentication, updated root password window look.
-
- * bootloader.pm: fixed compilation error.
- removed compilation error, the resolution is not quite good and may be
- reworked :-)
-
- * help.pm: updated root password help.
-
-2001/07/09 mbadaire
-
- * bootloader.pm: modify lilo.conf to elilo.conf if arch ia64
-
- * common.pm: Add IA64 support
-
-2001/07/08 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (suggest): replace "is ia64" with "is not ia64" so that
- boot partition is
- set correctly again
-
-2001/07/08 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (suggest): replace "is ia64" with "is not ia64" so that
- boot partition is
- set correctly again
-
-2001/07/06 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed selected_leaves. change algorithm as previous one can
- still causes dead
- lock and may not reproduce correct list. take care of choice that need
- to be
- examined before else another package may be chosen if choice is not
- satisfied
- when selecting packages.
-
- * install_any.pm: change all 8 space into a tabulation, this is simple and
- may change visual
- aspect but it gives correct output and filesize by 40%.
-
-2001/07/06 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed selected_leaves. change algorithm as previous one can
- still causes dead
- lock and may not reproduce correct list. take care of choice that need
- to be
- examined before else another package may be chosen if choice is not
- satisfied
- when selecting packages.
-
- * install_any.pm: change all 8 space into a tabulation, this is simple and
- may change visual
- aspect but it gives correct output and filesize by 40%.
-
-2001/07/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/ntp_servers.pl: some workarounds
-
-2001/07/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/ntp_servers.pl: some workarounds
-
-2001/07/05 François Pons <fpons@mandrakesoft.com>
-
- * keyboard.pm: added DISABLE_WINDOWS_KEY in /etc/sysconfig/keyboard if a
- laptop is detected.
-
-2001/07/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules_descr.h: add usb net descriptions
-
-2001/07/05 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm (file2part): created
-
- * any.pm: ia64 bootloader configuration adaptations
-
- * bootloader.pm: typo fix
- ia64 bootloader configuration adaptations
-
-2001/07/04 dam's <damien@mandrakesoft.com>
-
- * globals.pm: added error handling
-
- * network/netconnect.pm, network/ethernet.pm: modularized. It compiles,
- runs, and works for some stuff.
- modularization continuated
- updated CVS:
- ----------------------------------------------------------------------
- uses the fantastic global module.
- corrected
-
- * standalone/draknet: corrected
-
- * network/tools.pm, network/adsl.pm: modularized. It compiles, runs, and
- works for some stuff.
- updated CVS:
- ----------------------------------------------------------------------
- uses the fantastic global module.
- corrected
-
- * network/network.pm: modularized. It compiles, runs, and works for some
- stuff.
- modularization continuated
-
- * network/isdn.pm, network/modem.pm: modularized. It compiles, runs, and
- works for some stuff.
- updated CVS:
- ----------------------------------------------------------------------
- uses the fantastic global module.
-
- * docs/net_object_class.fig: updated doc
-
-2001/07/04 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added missing last Card read from Cards+ file.
- allow S3 card to have VideoRam uncommented, fix 86c368 video driver that
- seems
- needing VideoRam too.
- fixed need of video ram if 86c368 and S3 ViRGE.
-
- * install_any.pm: another too wide string truncated to 80 chars.
- make auto_inst.cfg file no longer than 80 chars wide.
-
- * install_steps_interactive.pm: added back timezone settings (thanks
- FredC).
-
-2001/07/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/adsl.c: nonsense to exit if interface is not "eth.*"
-
- * mdk-stage1/newt-frontend.c: very nice things happen when you hardcode
- arrays to a too small value
-
- * docs/HACKING: update -d in order to get all the directories...
-
-2001/07/04 mbadaire
-
- * tools/ia64/elilo.efi, tools/specific_arch, share/list.ia64,
- tools/ia64/e2fsck.shared: Ia64 Adaptation
-
- * install_gtk.pm, share/list.i386, common.pm, share/list.ppc, share/list,
- share/list.alpha, install_steps_gtk.pm, share/list.sparc: Ia64
- adaptation
-
-2001/07/04 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (selected_leaves): fix dead-loop
- (selected_leaves): make it work with loops (eg: mandrake_desk loops with
- control-center resulting on none of them being a leaf)
-
- * perl2fcalls: check exclude_uses before reporting bad use of "use"
- exclude module globals from use's to look at
-
- * globals.pm (import): yet another fix
- fix a pb when init is called before another import
- typo correction
- enhanced: shared values are grouped together based on a name
- module to share constant values between modules
-
- * fsedit.pm: add /boot/efi in suggestions for ia64
-
- * install_interactive.pm, install_steps.pm: fix typo
- verify a /boot/efi partition exists
-
- * Makefile, install_any.pm, share/list.ppc, share/list.alpha, share/list,
- share/list.sparc: remove busybox as default shell. Only use it as the
- interactive shell on tty2
-
-2001/07/03 dam's <damien@mandrakesoft.com>
-
- * network/adsl.pm, network/netconnect_consts.pm, network/tools.pm,
- network/modem.pm, network/netconnect.pm, network/isdn.pm: network
- subsystem now compiles. Enjoy
-
- * docs/net_object_class.fig: documentation about net modules structure
-
-2001/07/03 François Pons <fpons@mandrakesoft.com>
-
- * network/netconnect.pm: fix another dam's sucks
- fix dam's sucks
-
- * network/netconnect_consts.pm, Makefile.config: fix dam's sucks
-
- * standalone/XFdrake: expert is allowed to choose frame buffer.
-
- * install_steps_interactive.pm: added loadSavePackagesOnFloppy to manage
- package selection file used by
- auto_install too from packages tree directly on floppies.
-
- * share/floppy.png: updated size to 16x22 to be more aligned.
- for loading/saving packages selection.
-
- * install_any.pm: modified g_default_packages to be used from package tree
- save on floppy.
-
- * install_steps_gtk.pm: added Load/Save on floppy.
- added improve choice of package, well not very usefull but asked by
- higher
- people :-)
-
-2001/07/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/rp-pppoe/gui/html/props-basic.png,
- mdk-stage1/rp-pppoe/gui/html/props-options.png,
- mdk-stage1/rp-pppoe/gui/html/props-advanced.png,
- mdk-stage1/rp-pppoe/gui/html/mainwin-busy.png,
- mdk-stage1/rp-pppoe/gui/html/mainwin-nonroot.png,
- mdk-stage1/rp-pppoe/gui/html/mainwin.png,
- mdk-stage1/rp-pppoe/gui/html/props-nic.png: plop
-
- * modules.pm, mdk-stage1/probing.h, mdk-stage1/.cvsignore,
- mdk-stage1/usb-resource/Makefile,
- mdk-stage1/usb-resource/update-usb-ids.pl, mdk-stage1/Makefile,
- mdk-stage1/usb-resource/.cvsignore, mdk-stage1/probing.c: add support
- for install from USB Network Adapters
-
-2001/07/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/es.po,
- share/po/fr.po, share/po/sr.po, share/po/de.po, share/po/el.po,
- share/po/et.po, share/po/sk.po, share/po/tr.po, share/po/eu.po,
- share/po/ru.po, share/po/sl.po, share/po/vi.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/wa.po, share/po/da.po,
- share/po/sv.po, share/po/zh_TW.Big5.po: updated Danish file
-
-2001/07/03 Pixel <pixel@mandrakesoft.com>
-
- * timezone.pm (configureTimezone): propose a list of NTP servers
- (ntp_server): fix
- add ntp handling
-
- * fs.pm (mount): fix fsck.ext2'ing
- (mount): add fsck.ext2 before ext2-mounting
-
- * share/themes/DarkMarble-gloom2.png: re-adding with -kb
- re-adding with -kb
-
- * pixmaps/user.png: re-adding with -kb
- removing for re-adding with -kb
- re-adding with -kb
- removing for re-adding with -kb
-
- * share/themes/blueHeart-button4.png, share/reload.png,
- share/themes/focus.png, share/themes/DarkMarble-button3_in.png,
- share/logo-mandrake.png, share/themes/marble3d-check1.png,
- share/themes/blueHeart-button_def.png, share/rpm-semiselected.png,
- share/logo-mandrake-Desktop.png, share/themes/marble3d-check2.png,
- share/rpm-installed.png, share/themes/marble3d-button1.png,
- share/logo-mandrake_sav.png, share/themes/mdk-button1.png,
- share/themes/DarkMarble-check_off.png, pixmaps/harddrive.png,
- share/themes/marble3d-button_def.png, share/themes/marble3d-button2.png,
- share/help_sav.png, share/themes/DarkMarble-button3_out_prelight.png,
- pixmaps/services.png, pixmaps/bootdisk.png, share/rpm-selected.png,
- share/themes/marble3d-button4.png, pixmaps/bootloader.png,
- share/themes/DarkMarble-button3_out.png, share/logo-mandrake_trans.png,
- share/themes/mdk-button4.png, pixmaps/printer.png, share/rpm-base.png,
- share/logo-mandrake2.png, share/themes/blueHeart-brown_bg1.png,
- share/themes/marble3d-bg1.png, pixmaps/security.png, share/ftin.png,
- pixmaps/rootpasswd.png, share/help.png,
- share/themes/DarkMarble-check_on.png,
- share/themes/blueHeart-button1.png, pixmaps/keyboard.png,
- pixmaps/default.png, share/themes/blueHeart-button2.png, pixmaps/X.png,
- share/themes/DarkMarble-button3_in_prelight.png, share/ftout.png,
- pixmaps/mouse.png, share/rpm-unselected.png: re-adding with -kb
- removing for re-adding with -kb
-
- * install_any.pm, install_steps.pm: add ntp handling
-
- * tools/addchangelog.pl: reverted the last erroneous modif
- re-adding with -kb
-
- * tools/ntp_servers.pl: get a formatted list of NTP servers from an
- authorised source
-
- * install_steps_interactive.pm (doPartitionDisks): better error message
- when no root partition is found
- (configureTimezone): propose a list of NTP servers
- add ntp handling
-
- * docs/comparisons: re-adding with -kb
-
-2001/07/02 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm: new network sources reorganizationCVS:
- ----------------------------------------------------------------------
-
- * share/list: added modinfo
-
- * modparm.pm: syntax correction
-
- * network/netconnect_consts.pm, network.pm, standalone/draknet,
- network/tools.pm, netconnect.pm, network/netconnect.pm,
- network/ethernet.pm, network/isdn.pm, network/adsl.pm,
- network/network.pm, network/modem.pm, netconnect_consts.pm: new network
- sources reorganization
-
-2001/07/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: update po files
-
-2001/07/02 Pixel <pixel@mandrakesoft.com>
-
- * crypto.pm: remove buggy prototype
-
- * share/po/Makefile: yet even better i18n strings extraction
- - fix to add some missing messages
- - add more verif
-
- * c/stuff.xs.pm: use size_t instead of int where it should
-
- * Xconfigurator.pm (write_XF86Config): fix fpons sucks (multi wacoms in
- XF3)
-
- * share/po/b_dump_strings.pm: high level i18n messages getting. only
- partial stuff. Used only for verification
-
- * perl2fcalls: add handling of using pkg::func when func is provided by
- pkg2 use'd by pkg
-
-2001/06/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po: updated Indonesian file
-
-2001/06/25 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm: switch from llseek to lseek64
-
-2001/06/23 siegel
-
- * share/po/de.po: new german version
-
-2001/06/22 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: take care of enterprise kernel if installed.
-
- * install_any.pm: automagically install kernel-enterprise if memory is
- greater than 800MB.
-
-2001/06/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: unfuzzyise
-
-2001/06/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, tinyfirewall.pm,
- share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, help.pm, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, install_steps_interactive.pm,
- share/po/pl.po, share/po/no.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- install_steps_gtk.pm, share/po/sk.po, share/po/lt.po, share/po/ar.po,
- share/po/sl.po, bootlook.pm, share/po/vi.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- install_steps_newt.pm, share/po/af.po: s/Linux-Mandrake/Mandrake Linux/
-
-2001/06/21 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added minimal support for rpmtools >= 3.0
-
-2001/06/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: generate_automatic_stage1_params: listize
- use busybox for the shell of stage2
-
- * mdk-stage1/Makefile: defaults to not spawn shell
-
- * mdk-stage1/hack: kloug
-
- * Makefile, tools/i386/busybox, share/list.ppc, share/list,
- share/list.alpha, share/aliases: use busybox for the shell of stage2
-
-2001/06/21 Pixel <pixel@mandrakesoft.com>
-
- * docs/README, rescue/tree/etc/issue: s/Linux-Mandrake/Mandrake Linux/
- s/linux-mandrake/mandrakesoft/
- (hand made, no i18n messages done)
- s/Linux-Mandrake/Mandrake Linux/
- s/linux-mandrake/mandrakesoft/
- (hand made, no i18n messages done)
-
- * genmodparm: remove duplicate, look in gi/tools
-
- * standalone/printerdrake, install2, docs/HACKING, tools/genmodparm,
- mdk-stage1/config-stage1.h, ChangeLog, resize_fat/README,
- standalone/diskdrake, standalone/XFdrake, rescue/tree/etc/rc.sysinit,
- mdk-stage1/init.c, tools/mailchangelog.pl, detect_devices.pm,
- mdk-stage1/doc/README, resize_fat/main.pm, tools/cvslog2changelog.pl,
- bootloader.pm: s/Linux-Mandrake/Mandrake Linux/
- s/linux-mandrake/mandrakesoft/
- (hand made, no i18n messages done)
-
- * mdk-stage1/make_boot_img: remove GG sux
- s/Linux-Mandrake/Mandrake Linux/
- s/linux-mandrake/mandrakesoft/
- (hand made, no i18n messages done)
-
-2001/06/11 dam's <damien@mandrakesoft.com>
-
- * proxy.pm: updated
- typoCVS:
- ----------------------------------------------------------------------
- proxy
-
- * my_gtk.pm: added gtkset_layout
-
- * standalone/drakproxy: corrected CVS:
- ----------------------------------------------------------------------
- updated
- perlised
-
- * interactive.pm: no icon if wizard
-
-2001/06/11 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: added some bigger memory range.
-
- * Xconfigurator.pm: fix missing newline on /etc/X11/glx.conf when
- modifying mga_dma = 0
- really fix the Matrox G200 PCI card acceleration using XF3, by disabling
- DMA on
- /etc/X11/glx.conf
- added magic probe of resolution found, if the probed resolution seems
- strange
- according to memory available, it try to let the user select the right
- resolution and depth.
-
- * install_steps.pm, printer.pm: applied patches given for printer
- configuration bug reported by David Eastcott.
-
-2001/06/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: have PPP drivers in net_raw rather than in net
- add PPP modules for 'net' drivers
-
- * rescue/tree/etc/rc.sysinit: minor changes
-
- * rescue/tree/etc/inittab, rescue/tree/sbin/fakeshutdown: umount as much
- as possible before rebooting the rescue
-
- * mdk-stage1/ppp/pppd/magic.c, mdk-stage1/ppp/pppd/md5.c,
- mdk-stage1/ppp/pppd/utils.c, mdk-stage1/ppp/pppd/pathnames.h,
- mdk-stage1/ppp/pppd/options.c, mdk-stage1/ppp/pppd/main.c,
- mdk-stage1/ppp/pppd/multilink.c, mdk-stage1/ppp/pppd/auth.c: have adsl
- pppoe installation available
- Initial revision
- import initial ppp sources
-
- * mdk-stage1/dhcp.c: change location of error message when no reply
- received
-
- * mdk-stage1/rp-pppoe/man/pppoe-relay.8,
- mdk-stage1/rp-pppoe/configs/firewall-masq,
- mdk-stage1/rp-pppoe/gui/html/props-nic.png,
- mdk-stage1/rp-pppoe/src/pppoe-sniff.c,
- mdk-stage1/rp-pppoe/configs/firewall-standalone,
- mdk-stage1/rp-pppoe/gui/html/tkpppoe.html,
- mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE, mdk-stage1/rp-pppoe/go-gui,
- mdk-stage1/rp-pppoe/gui/tkpppoe.in, mdk-stage1/rp-pppoe/man/adsl-stop.8,
- mdk-stage1/rp-pppoe/scripts/adsl-start.in,
- mdk-stage1/rp-pppoe/man/pppoe-sniff.8, mdk-stage1/rp-pppoe/go,
- mdk-stage1/rp-pppoe/man/pppoe.8,
- mdk-stage1/rp-pppoe/gui/html/mainwin-nonroot.png,
- mdk-stage1/rp-pppoe/gui/tkpppoe.1, mdk-stage1/rp-pppoe/src/Makefile.in,
- mdk-stage1/rp-pppoe/src/pppoe.c, mdk-stage1/rp-pppoe/src/pppoe-server.c,
- mdk-stage1/rp-pppoe/src/pppoe.h, mdk-stage1/rp-pppoe/gui/wrapper.c,
- mdk-stage1/rp-pppoe/man/pppoe-server.8,
- mdk-stage1/rp-pppoe/configs/pppoe.conf,
- mdk-stage1/rp-pppoe/gui/html/props-advanced.png,
- mdk-stage1/rp-pppoe/src/common.c, mdk-stage1/rp-pppoe/src/install-sh,
- mdk-stage1/rp-pppoe/doc/LICENSE, mdk-stage1/rp-pppoe/src/configure,
- mdk-stage1/rp-pppoe/src/config.h.in, mdk-stage1/rp-pppoe/src/relay.c,
- mdk-stage1/rp-pppoe/src/discovery.c, mdk-stage1/rp-pppoe/src/if.c,
- mdk-stage1/rp-pppoe/doc/CHANGES, mdk-stage1/rp-pppoe/src/relay.h,
- mdk-stage1/rp-pppoe/scripts/adsl-init.in,
- mdk-stage1/rp-pppoe/rp-pppoe.spec,
- mdk-stage1/rp-pppoe/scripts/adsl-connect.in,
- mdk-stage1/rp-pppoe/man/pppoe.conf.5,
- mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in,
- mdk-stage1/rp-pppoe/man/adsl-start.8,
- mdk-stage1/rp-pppoe/gui/html/mainwin.png,
- mdk-stage1/rp-pppoe/rp-pppoe-gui.spec,
- mdk-stage1/rp-pppoe/gui/html/props-basic.png,
- mdk-stage1/rp-pppoe/man/adsl-status.8,
- mdk-stage1/rp-pppoe/configs/pppoe-server-options,
- mdk-stage1/rp-pppoe/man/adsl-connect.8,
- mdk-stage1/rp-pppoe/scripts/adsl-setup.in,
- mdk-stage1/rp-pppoe/scripts/adsl-stop.in,
- mdk-stage1/rp-pppoe/gui/Makefile.in, mdk-stage1/rp-pppoe/src/debug.c,
- mdk-stage1/rp-pppoe/doc/PROBLEMS, mdk-stage1/rp-pppoe/src/ppp.c,
- mdk-stage1/rp-pppoe/README,
- mdk-stage1/rp-pppoe/gui/html/mainwin-busy.png,
- mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1,
- mdk-stage1/rp-pppoe/scripts/adsl-status,
- mdk-stage1/rp-pppoe/man/adsl-setup.8,
- mdk-stage1/rp-pppoe/gui/html/props-options.png,
- mdk-stage1/rp-pppoe/src/configure.in,
- mdk-stage1/rp-pppoe/configs/pap-secrets, mdk-stage1/rp-pppoe/src/md5.c,
- mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in,
- mdk-stage1/rp-pppoe/src/md5.h, mdk-stage1/rp-pppoe/src/plugin.c,
- mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT: Initial revision
- import initial sources from rp-pppoe v3.0
-
- * mdk-stage1/Makefile: change handling of .depend in Makefile
- have adsl pppoe installation available
-
- * mdk-stage1/newt-frontend.c: axalon sucks, we can have NEWT_FLAG_PASSWORD
- that will show us '**' for passwords
-
- * mdk-stage1/ppp/pppd/.cvsignore, mdk-stage1/ppp/.cvsignore,
- mdk-stage1/ppp/pppd/Makefile, mdk-stage1/rp-pppoe/src/.cvsignore,
- mdk-stage1/rp-pppoe/src/config.h, mdk-stage1/adsl.c,
- mdk-stage1/rp-pppoe/.cvsignore, mdk-stage1/rp-pppoe/src/Makefile,
- mdk-stage1/make_boot_img: have adsl pppoe installation available
-
- * detect_devices.pm, install_any.pm, raid.pm, fsedit.pm: include patch to
- autodetect raid arrays (still needs a kernel that implements the
- ioctl..)
-
- * tools/Makefile: perl 5.6.1 now
-
- * mdk-stage1/stage1.c, mdk-stage1/tools.c: do not set root=/dev/ram3 from
- my code anymore, expect the bootloader to set the parameter correctly
-
- * mdk-stage1/ppp/scripts/ip-up.local.add, mdk-stage1/ppp/scripts/README,
- mdk-stage1/ppp/solaris/Makefile.sol2,
- mdk-stage1/ppp/svr4/ppp_comp.Master, mdk-stage1/ppp/sample/ip-down,
- mdk-stage1/ppp/solaris/Makefile.sol2-64,
- mdk-stage1/ppp/include/net/ppp_defs.h,
- mdk-stage1/ppp/pppstats/Makefile.sunos4,
- mdk-stage1/ppp/chat/Makefile.sol2, mdk-stage1/ppp/pppd/sys-linux.c,
- mdk-stage1/ppp/pppd/ipxcp.c, mdk-stage1/ppp/pppd/ipxcp.h,
- mdk-stage1/ppp/pppdump/deflate.c, mdk-stage1/ppp/pppd/Makefile.linux,
- mdk-stage1/ppp/pppd/upap.c, mdk-stage1/ppp/modules/deflate.c,
- mdk-stage1/ppp/README.sunos4, mdk-stage1/ppp/pppdump/Makefile.sol2,
- mdk-stage1/ppp/configure, mdk-stage1/ppp/pppd/upap.h,
- mdk-stage1/ppp/svr4/ppp_mod.c, mdk-stage1/ppp/pppstats/Makefile.sol2,
- mdk-stage1/ppp/pppd/ipv6cp.c, mdk-stage1/ppp/scripts/options-ssh-loc,
- mdk-stage1/ppp/pppd/plugins/Makefile.sol2, mdk-stage1/ppp/pppd/ipv6cp.h,
- mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c,
- mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c,
- mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c,
- mdk-stage1/ppp/solaris/ppp_ahdlc.c, mdk-stage1/ppp/pppd/magic.h,
- mdk-stage1/ppp/svr4/ppp_comp_mod.c,
- mdk-stage1/ppp/include/linux/if_ppp.h, mdk-stage1/ppp/pppd/eui64.c,
- mdk-stage1/ppp/scripts/secure-card, mdk-stage1/ppp/scripts/redialer,
- mdk-stage1/ppp/modules/bsd-comp.c, mdk-stage1/ppp/pppd/eui64.h,
- mdk-stage1/ppp/sunos4/ppp_vdcmd.c, mdk-stage1/ppp/modules/ppp_mod.h,
- mdk-stage1/ppp/pppd/md5.h, mdk-stage1/ppp/pppd/chap_ms.c,
- mdk-stage1/ppp/pppd/chap_ms.h, mdk-stage1/ppp/etc.ppp/pap-secrets,
- mdk-stage1/ppp/solaris/Makefile.top, mdk-stage1/ppp/chat/chat.8,
- mdk-stage1/ppp/svr4/Makefile.sol2-64, mdk-stage1/ppp/svr4/Makefile.sol2,
- mdk-stage1/ppp/include/net/ppp-comp.h, mdk-stage1/ppp/sunos4/Makefile,
- mdk-stage1/ppp/PLUGINS, mdk-stage1/ppp/pppdump/Makefile.sunos4,
- mdk-stage1/ppp/sample/ip-up, mdk-stage1/ppp/sample/options.ttyXX,
- mdk-stage1/ppp/scripts/options-rsh-rem, mdk-stage1/ppp/pppd/fsm.c,
- mdk-stage1/ppp/chat/chat.c, mdk-stage1/ppp/scripts/ppp-on-rsh,
- mdk-stage1/ppp/pppd/fsm.h, mdk-stage1/ppp/pppd/tdb.c,
- mdk-stage1/ppp/pppd/patchlevel.h, mdk-stage1/ppp/pppstats/pppstats.8,
- mdk-stage1/ppp/svr4/ppp.conf, mdk-stage1/ppp/pppd/tdb.h,
- mdk-stage1/ppp/pppd/demand.c, mdk-stage1/ppp/include/net/if_ppp.h,
- mdk-stage1/ppp/solaris/Makedefs, mdk-stage1/ppp/modules/if_ppp.c,
- mdk-stage1/ppp/include/net/slcompress.h, mdk-stage1/ppp/sunos4/Makedefs,
- mdk-stage1/ppp/pppd/sys-linux.c.wtmp,
- mdk-stage1/ppp/include/linux/if_pppvar.h,
- mdk-stage1/ppp/solaris/ppp_comp.c, mdk-stage1/ppp/chat/Makefile.linux,
- mdk-stage1/ppp/README.cbcp, mdk-stage1/ppp/pppd/ppp.pam,
- mdk-stage1/ppp/solaris/ppp_comp_mod.c, mdk-stage1/ppp/Changes-2.3,
- mdk-stage1/ppp/sample/options, mdk-stage1/ppp/pppstats/pppstats.c,
- mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c,
- mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile,
- mdk-stage1/ppp/README.MSCHAP80, mdk-stage1/ppp/pppdump/pppdump.8,
- mdk-stage1/ppp/sunos4/Makefile.top, mdk-stage1/ppp/include/net/pppio.h,
- mdk-stage1/ppp/pppd/ipcp.c, mdk-stage1/ppp/FAQ,
- mdk-stage1/ppp/pppd/ipcp.h, mdk-stage1/ppp/pppd/sys-sunos4.c,
- mdk-stage1/ppp/modules/ppp_comp.c, mdk-stage1/ppp/README.sol2,
- mdk-stage1/ppp/modules/vjcompress.c, mdk-stage1/ppp/scripts/ppp-on-ssh,
- mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c, mdk-stage1/ppp/sunos4/ppp.INSTALL,
- mdk-stage1/ppp/modules/ppp.c, mdk-stage1/ppp/pppdump/pppdump.c,
- mdk-stage1/ppp/pppd/plugins/passprompt.c,
- mdk-stage1/ppp/pppdump/Makefile.linux, mdk-stage1/ppp/pppd/lcp.c,
- mdk-stage1/ppp/pppd/lcp.h, mdk-stage1/ppp/scripts/chat-callback,
- mdk-stage1/ppp/chat/Makefile.sunos4, mdk-stage1/ppp/SETUP,
- mdk-stage1/ppp/pppd/Makefile.sol2,
- mdk-stage1/ppp/pppd/plugins/minconn.c,
- mdk-stage1/ppp/etc.ppp/options.options,
- mdk-stage1/ppp/pppdump/Makefile.linux.makeopt,
- mdk-stage1/ppp/svr4/ppp.Node, mdk-stage1/ppp/scripts/options-ssh-rem,
- mdk-stage1/ppp/solaris/ppp.c, mdk-stage1/ppp/svr4/ppp.System,
- mdk-stage1/ppp/etc.ppp/chap-secrets,
- mdk-stage1/ppp/pppstats/Makefile.linux,
- mdk-stage1/ppp/sample/pap-secrets,
- mdk-stage1/ppp/pppd/Makefile.linux.make, mdk-stage1/ppp/pppd/pppd.8,
- mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8,
- mdk-stage1/ppp/pppd/Makefile.sunos4, mdk-stage1/ppp/scripts/ppp-on,
- mdk-stage1/ppp/include/linux/ppp_defs.h,
- mdk-stage1/ppp/scripts/chatchat/chatchat.c,
- mdk-stage1/ppp/scripts/chatchat/README,
- mdk-stage1/ppp/modules/ppp_ahdlc.c, mdk-stage1/ppp/svr4/ppp.Master,
- mdk-stage1/ppp/svr4/Makedefs,
- mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c,
- mdk-stage1/ppp/svr4/ppp_ahdl.System, mdk-stage1/ppp/pppd/pppd.h,
- mdk-stage1/ppp/scripts/ppp-off, mdk-stage1/ppp/solaris/Makedefs.sol2,
- mdk-stage1/ppp/common/zlib.c, mdk-stage1/ppp/scripts/options-rsh-loc,
- mdk-stage1/ppp/common/zlib.h, mdk-stage1/ppp/solaris/ppp_mod.c,
- mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux,
- mdk-stage1/ppp/solaris/ppp_mod.h, mdk-stage1/ppp/scripts/ppp-on-dialer,
- mdk-stage1/ppp/pppd/sys-solaris.c, mdk-stage1/ppp/README.linux,
- mdk-stage1/ppp/sample/auth-down, mdk-stage1/ppp/svr4/ppp_ahdl.Master,
- mdk-stage1/ppp/pppdump/zlib.c, mdk-stage1/ppp/include/pcap-int.h,
- mdk-stage1/ppp/pppdump/zlib.h, mdk-stage1/ppp/pppd/ccp.c,
- mdk-stage1/ppp/chat/Makefile.linux.makeopt, mdk-stage1/ppp/pppd/ccp.h,
- mdk-stage1/ppp/pppd/Makefile.linux.makeopt,
- mdk-stage1/ppp/include/net/vjcompress.h, mdk-stage1/ppp/pppd/cbcp.c,
- mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh,
- mdk-stage1/ppp/pppd/cbcp.h, mdk-stage1/ppp/scripts/ip-down.local.add,
- mdk-stage1/ppp/pppd/tty.c, mdk-stage1/ppp/include/linux/ppp-comp.h,
- mdk-stage1/ppp/sample/auth-up, mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c,
- mdk-stage1/ppp/pppd/pppd.h.wtmp, mdk-stage1/ppp/solaris/ppp.conf,
- mdk-stage1/ppp/pppd/chap.c, mdk-stage1/ppp/pppd/chap.h,
- mdk-stage1/ppp/scripts/callback, mdk-stage1/ppp/linux/Makefile.top,
- mdk-stage1/ppp/svr4/ppp_comp.System, mdk-stage1/ppp/pppd/md4.c,
- mdk-stage1/ppp/svr4/Makedefs.sol2, mdk-stage1/ppp/pppdump/bsd-comp.c,
- mdk-stage1/ppp/README, mdk-stage1/ppp/pppd/md4.h,
- mdk-stage1/ppp/etc.ppp/options, mdk-stage1/ppp/svr4/Makefile.top,
- mdk-stage1/ppp/svr4/Makefile.svr4,
- mdk-stage1/ppp/pppd/plugins/Makefile.linux,
- mdk-stage1/ppp/pppdump/ppp-comp.h: Initial revision
- import initial ppp sources
-
-2001/06/11 odin
-
- * standalone/drakproxy: first import of drakproxy
-
-2001/06/11 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): don't check /usr/bin/urpmi, better check
- /usr/sbin/urpmi.update
-
- * commands.pm (grep_): add a missing semi-colon
-
- * share/compssUsers: remove NIS which is handled by DrakX (titi sucks)
-
-2001/06/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/guessmounts, rescue/make_rescue_img, rescue/tree/etc/rc.sysinit,
- rescue/Makefile:
- - add 'guessmounts' that mimics RH's detecting of partitions when
- rescue starts
-
-2001/06/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
- * share/po/ru.po, share/po/DrakX.pot: updated Russian file
-
-2001/06/10 Pixel <pixel@mandrakesoft.com>
-
- * rescue/guessmounts: pixelization (tested!)
-
- * install_any.pm (g_auto_install): more comments in auto_inst.cfg file
-
-2001/06/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/list.i386: rescuept is in /sbin now
-
- * share/list: rescuept in /sbin now
-
-2001/06/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: don't wait on upping lo interface
-
- * mdk-stage1/modules.c: fix minor bug detecting when modules are present
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/dietlibc/lib/random.c:
- i need working random suite for ppp with dietlibc
-
- * mdk-stage1/stage1.c: exit when exec fails after fork, i don't want two
- stage1 processes!
-
-2001/06/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
-2001/06/05 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (mount): notail in any case
-
- * tools/i386/netboot/menu.lst.example, tools/i386/netboot/menu.lst,
- tools/i386/netboot/.cvsignore: menu.lst is now a local file created from
- the example
-
- * share/list, rescue/list.i386, rescue/list: switch to perl 5.6.1
-
- * Makefile: fix
-
-2001/06/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/ar.po, share/po/sl.po,
- share/po/vi.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Russian file
-
-2001/06/01 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: use -FULL postfix for common .c files targetting
- stage1-full
-
- * mdk-stage1/stage1.c: minor fix
-
- * mdk-stage1/newt/textbox.c: don't modify newt code to fix dietlibc bugs,
- i want to link against glibc too
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/dietlibc/lib/strncat.c:
-
- - have strncat behave the same way as in glibc
- - declare that we're using the DIETLIBC in include/stdlib.h, so I can
- change my mind in "dns.c" to handle broken glibc which is not capable of
- doing name resolution with a static binary
-
- * mdk-stage1/dns.c, mdk-stage1/dns.h, mdk-stage1/adsl.c,
- mdk-stage1/adsl.h, mdk-stage1/nfsmount.c, mdk-stage1/network.c,
- mdk-stage1/url.c, mdk-stage1/network.h:
- - first draft of adsl support
- - get back some code for supporting broken glibc unable to resolve
- when linked statically
-
- * mdk-stage1/dietlibc/dietfeatures.h, mdk-stage1/dietlibc/lib/tcflush.c,
- mdk-stage1/dietlibc/lib/cfgetospeed.c, mdk-stage1/dietlibc/lib/speed.c,
- mdk-stage1/dietlibc/lib/tcsetattr.c,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/include/netdb.h,
- mdk-stage1/dietlibc/libshell/glob.c: slight modifs to get ppp and pppoe
- stuff compile better
-
-2001/05/31 daouda
-
- * bootlook.pm: add runlevel chooser feature
-
-2001/05/31 Pixel <pixel@mandrakesoft.com>
-
- * rescue/make_rescue_img: check presence of files from list and list.ARCH
-
- * Makefile (get_needed_files): exit with error message if files from
- share/list (and
- share/list.ARCH) are missing
-
- * install2.pm: hide step formatPartitions when upgrading
-
-2001/05/30 mbadaire
-
- * mdk-stage1/stage1.c, mdk-stage1/slang/slmalloc.c,
- mdk-stage1/slang/Makefile, mdk-stage1/Makefile.common,
- mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/Makefile, mdk-stage1/bzlib/Makefile,
- mdk-stage1/init-libc-headers.h, mdk-stage1/newt/Makefile,
- mdk-stage1/Makefile, mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/mar/Makefile, mdk-stage1/newt/windows.c:
- - allow build on ia64
- - have CFLAGS centralized in Makefile.common (should help ports such
- as alpha)
- - better looking sub makefiles
-
-2001/05/30 Pixel <pixel@mandrakesoft.com>
-
- * Makefile.drakxtools (install): ensure pm's in subdirs don't have
- /use(diagnostics|vars|strict)/
-
-2001/05/29 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added fix from Michael Brown to handle pipe in queue
- name for lpr.
-
-2001/05/29 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * share/compssUsers: add NIS client to network clients
-
-2001/05/29 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added fix from Michael Brown to handle pipe in queue
- name for lpr.
-
-2001/05/28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/newt-frontend.c: use Axalon patch to hide passwords (highly
- rewritten..)
-
-2001/05/25 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/list.ppc, bootloader.pm: add hfs support to rescue - PPC, fix
- bootstrap creation, formatting sequence
-
- * install_steps_interactive.pm: fix bootstrap information screen back to
- orig with missing ":" - PPC
- add hfs support to rescue - PPC, fix bootstrap creation, formatting
- sequence
-
-2001/05/25 siegel
-
- * share/po/de.po: updated time
- moved to UTF-8
-
-2001/05/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
-2001/05/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_auto_install): autoExitInstall set if not replay (was
- the opposite)
-
-2001/05/23 Pixel <pixel@mandrakesoft.com>
-
- * rescue/list: add scd0...
-
-2001/05/22 siegel
-
- * share/po/de.po: updates
-
-2001/05/21 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/mkhybrid-1.12b5.4-x86, tools/ppc/mkINSTALLCD: enable creation
- of PPC boot CD on x86 platform
-
-2001/05/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c:
- - better detect when IP is not good
- - error_msg when netmask seems invalid
- - don't log too much `guessing netmask'
-
- * mdk-stage1/probing.c: be sure to print pci vendor and id with 4 digits
- each
-
-2001/05/17 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed parted that ask for confirmation if partition
- table is not right (MAXDATA
- for example), this cause parted to ignore warning.
- added blank space between partition windows and linux to help resolving
- above case.
- fixed hole in partitionning (need testing), use fdisk to get disk
- geometry and
- create partition that matches cylinder boundaries (no more
- approximation).
- make sure to create all partitions including /home.
-
-2001/05/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/modules.c: add log for modules aliasing of SCSI drivers
- don't write nonsense code to separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/probing.c: unify user notification of network and scsi
- devices that make load of drivers
- don't write nonsense code to separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/stage1.c, mdk-stage1/frontend.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/cdrom.c,
- mdk-stage1/Makefile, mdk-stage1/dhcp.c, mdk-stage1/newt-frontend.c,
- mdk-stage1/disk.c, mdk-stage1/network.c: don't write nonsense code to
- separate frontend from stage1,
- but rather, try to do some clever things
-
- * mdk-stage1/frontend-common.c: plop
-
-2001/05/16 dam's <damien@mandrakesoft.com>
-
- * pixmaps/bootloader.png, pixmaps/user.png, pixmaps/security.png,
- pixmaps/rootpasswd.png, pixmaps/harddrive.png, pixmaps/keyboard.png,
- pixmaps/default.png, pixmaps/X.png, pixmaps/mouse.png,
- pixmaps/bootdisk.png, pixmaps/services.png: added icons
-
- * standalone/printerdrake, standalone/keyboarddrake, standalone/drakboot,
- standalone/draksec, standalone/drakxservices, standalone/drakgw,
- standalone/XFdrake, standalone/adduserdrake: added icon management
-
- * my_gtk.pm, interactive.pm: icons management
-
- * install2.pm: added icons management
-
- * standalone/draknet: added icon managment
-
- * pixmaps/printer.png: added icon
-
-2001/05/16 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added support for /var creation, and more specific
- package selection for server.
- Include option support by VERSION file.
-
-2001/05/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/HACKING, mdk-stage1/frontend.h,
- mdk-stage1/TECH-INFOS, mdk-stage1/WHY-DIETLIBC, mdk-stage1/stage1.h,
- mdk-stage1/stdio-frontend.c, mdk-stage1/Makefile, mdk-stage1/README,
- mdk-stage1/newt-frontend.c: have a 100% independence between UI stuff
- and code from stage1
-
-2001/05/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po, share/po/de.po, share/po/DrakX.pot, share/po/tr.po:
- updated Turkish file
-
-2001/05/16 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: fix yet again DrakX.pot making
-
- * partition_table.pm: re-add reiserfs as it should
- add xfs
-
-2001/05/15 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added missing Aurora, added icewm-light that may be
- usefull.
-
-2001/05/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: libresolv deprecated in GLIBC
- have stage1-full with pcmcia also compile with dietlibc, cool!
-
- * mdk-stage1/network.c: fix guess netmask
- configure_net_device is only used internally
-
- * mdk-stage1/modules.c, mdk-stage1/modules.h: better modules handling
- interface (use of enum rather than guessing single numbers..)
-
- * mdk-stage1/newt-frontend.c: allow wait_message calls to be multi-lines
-
- * mdk-stage1/pcmcia/cardmgr.c: have stage1-full with pcmcia also compile
- with dietlibc, cool!
- - build glibc and dietlibc targets
- - bzero string buffer before sscanf call (dietlibc implementation)
- - verify returns of ioperm so that I can use it in test mode
-
- * mdk-stage1/dietlibc/include/sys/file.h,
- mdk-stage1/dietlibc/include/sys/io.h,
- mdk-stage1/dietlibc/syscalls.s/ioperm.S: have stage1-full with pcmcia
- also compile with dietlibc, cool!
-
- * mdk-stage1/stage1.c: a bit of size reduction plus some language change
- blurk
-
- * mdk-stage1/WHY-DIETLIBC: advocate dietlibc
-
- * mdk-stage1/dietlibc/lib/vsscanf.c: import vsscanf fix from author
-
- * mdk-stage1/disk.c: bzero string buffer before sscanf call, security for
- dietlibc implementation
-
- * mdk-stage1/network.h: configure_net_device is only used internally
-
- * mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/pcmcia_probe.c:
- - build glibc and dietlibc targets
- - bzero string buffer before sscanf call (dietlibc implementation)
- - verify returns of ioperm so that I can use it in test mode
-
- * standalone/drakgw: full path for iptables
-
- * mdk-stage1/probing.c: allow wait_message calls to be multi-lines
- nicer layout for PCI detection messages
- better modules handling interface (use of enum rather than guessing
- single numbers..)
-
-2001/05/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po, share/po/ar.po: Updated Turkish file
-
- * share/keyboards.tar.bz2: Added north-african keyboard
-
- * keyboard.pm: added arabic azerty keyboard
-
-2001/05/15 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile: fix messages to i18n extracting
-
-2001/05/14 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * fs.pm: s|mkxfs|mkfs.xfs|;
-
-2001/05/14 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: use new gethostby* interface
-
- * mdk-stage1/stage1-data/stage1-with-busybox.tar.bz2: add stage1-data
- which provides the busybox
-
- * mdk-stage1/network.c: Have the wait_message() with the sleep()
- - complies to gethostby functions
- - add sleep(2) so that net intf is really up before operation
- - more logs
- - FTP: don't try to close control connection with data socket, erhm
- :-(
- - debug netmask guessing, with stdio-frontend
-
- * mdk-stage1/Makefile: i can compile slang and newt with dietlibc now
- every targets build with dietlibc
-
- * mdk-stage1/make_boot_img: use busybox for my debugging purpose
-
- * mdk-stage1/tools.c: no need to poll() for data at beginning of
- load_ramdisk_fd, it was a fix of another problem (bug with file stdio
- operations with sockets in dietlibc)
-
- * mdk-stage1/dietlibc/Makefile: build this new dietlibc
- import new version of dietlibc
-
- * mdk-stage1/dns.c, mdk-stage1/dns.h: now use gethostby* functions
- provided by dietlibc
-
- * mdk-stage1/url.c: use poll() rather than select(), smaller code size
-
- * mdk-stage1/stage1.c: we don't use this sucking sash no more
- we now use `busybox' compiled with the marvellous dietlibc, which
- provides no less than 73 usefull binaries
-
- * mdk-stage1/dietlibc/alpha/semop.S, mdk-stage1/dietlibc/lib/sendmsg.c,
- mdk-stage1/dietlibc/alpha/shmget.S, mdk-stage1/dietlibc/lib/clearerr.c,
- mdk-stage1/dietlibc/include/sys/ipc.h,
- mdk-stage1/dietlibc/alpha/sendmsg.S,
- mdk-stage1/dietlibc/lib/tcgetpgrp.c, mdk-stage1/dietlibc/lib/fwrite.c,
- mdk-stage1/dietlibc/sparc/__testandset.S,
- mdk-stage1/dietlibc/syscalls.s/open.S,
- mdk-stage1/dietlibc/alpha/semget.S, mdk-stage1/dietlibc/dietstdarg.h,
- mdk-stage1/dietlibc/syscalls.s/sched_get_priority_max.S,
- mdk-stage1/dietlibc/lib/nop.c, mdk-stage1/dietlibc/start.h,
- mdk-stage1/dietlibc/include/sys/syscall.h,
- mdk-stage1/dietlibc/alpha/accept.S, mdk-stage1/dietlibc/lib/sigjmp.c,
- mdk-stage1/dietlibc/syscalls.s/ptrace.s,
- mdk-stage1/dietlibc/lib/isprint.c,
- mdk-stage1/dietlibc/syscalls.s/dietstat.S,
- mdk-stage1/dietlibc/alpha/shutdown.S, mdk-stage1/dietlibc/lib/sendto.c,
- mdk-stage1/dietlibc/sparc/shmat.c, mdk-stage1/dietlibc/include/time.h,
- mdk-stage1/dietlibc/lib/stat_convert.c, mdk-stage1/dietlibc/lib/send.c,
- mdk-stage1/dietlibc/lib/isxdigit.c, mdk-stage1/dietlibc/alpha/waitpid.S,
- mdk-stage1/dietlibc/lib/atexit.c, mdk-stage1/dietlibc/lib/readdir.c,
- mdk-stage1/dietlibc/include/sys/sem.h,
- mdk-stage1/dietlibc/syscalls.s/query_module.S,
- mdk-stage1/dietlibc/lib/strchr.c,
- mdk-stage1/dietlibc/syscalls.s/dietfstat64.S,
- mdk-stage1/dietlibc/syscalls.s/lstat64.S,
- mdk-stage1/dietlibc/i386/setjmp.S, mdk-stage1/dietlibc/lib/alloc.c,
- mdk-stage1/dietlibc/lib/perror.c,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/lib/creat64.c, mdk-stage1/dietlibc/lib/closedir.c,
- mdk-stage1/dietlibc/sparc/pipe.S, mdk-stage1/dietlibc/lib/msgrcv.c,
- mdk-stage1/dietlibc/include/utmp.h,
- mdk-stage1/dietlibc/syscalls.s/sendfile.S,
- mdk-stage1/dietlibc/syscalls.s/nice.S,
- mdk-stage1/dietlibc/syscalls.s/sigprocmask.S,
- mdk-stage1/dietlibc/syscalls.s/select.S,
- mdk-stage1/dietlibc/include/sys/mtio.h,
- mdk-stage1/dietlibc/i386/strchr.S, mdk-stage1/dietlibc/alpha/divl.S,
- mdk-stage1/dietlibc/syscalls.s/sched_rr_get_interval.S,
- mdk-stage1/dietlibc/lib/__telldir.c,
- mdk-stage1/dietlibc/i386/__testandset.S,
- mdk-stage1/dietlibc/lib/remove.c,
- mdk-stage1/dietlibc/syscalls.s/sched_get_priority_min.S,
- mdk-stage1/dietlibc/lib/fputc.c, mdk-stage1/dietlibc/lib/msgctl.c,
- mdk-stage1/dietlibc/alpha/clone.S, mdk-stage1/dietlibc/lib/connect.c,
- mdk-stage1/dietlibc/include/sys/un.h,
- mdk-stage1/dietlibc/alpha/connect.S,
- mdk-stage1/dietlibc/include/termios.h,
- mdk-stage1/dietlibc/lib/sigfillset.c,
- mdk-stage1/dietlibc/lib/sigismember.c,
- mdk-stage1/dietlibc/syscalls.s/dietstat64.S,
- mdk-stage1/dietlibc/i386/start.S, mdk-stage1/dietlibc/lib/shmget.c,
- mdk-stage1/dietlibc/lib/strtok.c, mdk-stage1/dietlibc/lib/fclose.c,
- mdk-stage1/dietlibc/lib/tcsetpgrp.c,
- mdk-stage1/dietlibc/sparc/Makefile.add,
- mdk-stage1/dietlibc/include/sys/shm.h, mdk-stage1/dietlibc/alpha/send.S,
- mdk-stage1/dietlibc/i386/__longjmp.S, mdk-stage1/dietlibc/lib/recvmsg.c,
- mdk-stage1/dietlibc/include/inttypes.h,
- mdk-stage1/dietlibc/syscalls.s/sched_getscheduler.S,
- mdk-stage1/dietlibc/lib/semget.c, mdk-stage1/dietlibc/lib/open64.c,
- mdk-stage1/dietlibc/alpha/recvmsg.S,
- mdk-stage1/dietlibc/syscalls.s/fork.S,
- mdk-stage1/dietlibc/lib/strcasecmp.c, mdk-stage1/dietlibc/lib/htonl.c,
- mdk-stage1/dietlibc/lib/accept.c, mdk-stage1/dietlibc/alpha/shmat.S,
- mdk-stage1/dietlibc/include/features.h,
- mdk-stage1/dietlibc/include/syslog.h, mdk-stage1/dietlibc/lib/isascii.c,
- mdk-stage1/dietlibc/syscalls.s/writev.S,
- mdk-stage1/dietlibc/lib/fputs.c,
- mdk-stage1/dietlibc/alpha/sigprocmask.S,
- mdk-stage1/dietlibc/lib/ntohs.c, mdk-stage1/dietlibc/include/sys/uio.h,
- mdk-stage1/dietlibc/syscalls.s/nanosleep.S,
- mdk-stage1/dietlibc/syscalls.s/creat.S,
- mdk-stage1/dietlibc/include/sys/sysinfo.h,
- mdk-stage1/dietlibc/lib/atof.c, mdk-stage1/dietlibc/alpha/msgsnd.S,
- mdk-stage1/dietlibc/lib/vsprintf.c, mdk-stage1/dietlibc/lib/toupper.c,
- mdk-stage1/dietlibc/lib/strlcpy.3, mdk-stage1/dietlibc/lib/sigaddset.c,
- mdk-stage1/dietlibc/i386/select.S, mdk-stage1/dietlibc/i386/unified.S,
- mdk-stage1/dietlibc/include/dirent.h,
- mdk-stage1/dietlibc/include/getopt.h, mdk-stage1/dietlibc/lib/seekdir.c,
- mdk-stage1/dietlibc/include/net/route.h,
- mdk-stage1/dietlibc/syscalls.s/exit.S,
- mdk-stage1/dietlibc/include/pthread.h,
- mdk-stage1/dietlibc/lib/sprintf.c, mdk-stage1/dietlibc/alpha/msgget.S,
- mdk-stage1/dietlibc/include/limits.h, mdk-stage1/dietlibc/lib/qsort.c,
- mdk-stage1/dietlibc/lib/execvp.c,
- mdk-stage1/dietlibc/syscalls.s/__reboot.S,
- mdk-stage1/dietlibc/lib/stdin.c,
- mdk-stage1/dietlibc/syscalls.s/getitimer.S,
- mdk-stage1/dietlibc/include/grp.h, mdk-stage1/dietlibc/lib/usleep.c,
- mdk-stage1/dietlibc/lib/lstat.c, mdk-stage1/dietlibc/sparc/setjmp.S,
- mdk-stage1/dietlibc/sparc/fork.S,
- mdk-stage1/dietlibc/syscalls.s/__pread.S,
- mdk-stage1/dietlibc/include/sys/poll.h,
- mdk-stage1/dietlibc/syscalls.s/personality.S,
- mdk-stage1/dietlibc/lib/lseek64.c, mdk-stage1/dietlibc/include/setjmp.h,
- mdk-stage1/dietlibc/lib/recv.c, mdk-stage1/dietlibc/include/string.h,
- mdk-stage1/dietlibc/include/sys/time.h, mdk-stage1/dietlibc/lib/fstat.c,
- mdk-stage1/dietlibc/lib/memcmp.c, mdk-stage1/dietlibc/lib/isupper.c,
- mdk-stage1/dietlibc/include/sys/param.h,
- mdk-stage1/dietlibc/syscalls.s/__getpagesize.S,
- mdk-stage1/dietlibc/lib/exec_lib.c, mdk-stage1/dietlibc/alpha/shmdt.S,
- mdk-stage1/dietlibc/include/dlfcn.h, mdk-stage1/dietlibc/lib/isdigit.c,
- mdk-stage1/dietlibc/lib/fdopen.c, mdk-stage1/dietlibc/lib/exec_lib.h,
- mdk-stage1/dietlibc/lib/__lxstat.c, mdk-stage1/dietlibc/alpha/remq.S,
- mdk-stage1/dietlibc/include/sys/kd.h,
- mdk-stage1/dietlibc/syscalls.s/read.S, mdk-stage1/dietlibc/lib/fopen.c,
- mdk-stage1/dietlibc/syscalls.s/sched_yield.S,
- mdk-stage1/dietlibc/include/sys/mman.h,
- mdk-stage1/dietlibc/lib/__readdir.c,
- mdk-stage1/dietlibc/lib/cfgetospeed.c,
- mdk-stage1/dietlibc/lib/__dtostr.c, mdk-stage1/dietlibc/lib/execv.c,
- mdk-stage1/dietlibc/alpha/reml.S,
- mdk-stage1/dietlibc/syscalls.s/fcntl.S,
- mdk-stage1/dietlibc/include/errno.h, mdk-stage1/dietlibc/lib/ferror.c,
- mdk-stage1/dietlibc/syscalls.s/ipc.S,
- mdk-stage1/dietlibc/syscalls.s/mlockall.S,
- mdk-stage1/dietlibc/lib/fgetc.c, mdk-stage1/dietlibc/lib/strtoull.c,
- mdk-stage1/dietlibc/include/sys/msg.h,
- mdk-stage1/dietlibc/syscalls.s/sigsuspend.S,
- mdk-stage1/dietlibc/lib/isgraph.c, mdk-stage1/dietlibc/lib/vsscanf.c,
- mdk-stage1/dietlibc/lib/ftell.c, mdk-stage1/dietlibc/include/unistd.h,
- mdk-stage1/dietlibc/lib/msgsnd.c, mdk-stage1/dietlibc/lib/semop.c,
- mdk-stage1/dietlibc/include/net/if_arp.h,
- mdk-stage1/dietlibc/lib/execlp.c,
- mdk-stage1/dietlibc/syscalls.s/stat64.S,
- mdk-stage1/dietlibc/dietfeatures.h, mdk-stage1/dietlibc/dietstdio.h,
- mdk-stage1/dietlibc/lib/feof.c, mdk-stage1/dietlibc/lib/opendir.c,
- mdk-stage1/dietlibc/syscalls.s/fstat64.S,
- mdk-stage1/dietlibc/syscalls.s/sched_setparam.S,
- mdk-stage1/dietlibc/include/sys/reboot.h,
- mdk-stage1/dietlibc/lib/sigdelset.c, mdk-stage1/dietlibc/lib/execl.c,
- mdk-stage1/dietlibc/include/sys/sendfile.h,
- mdk-stage1/dietlibc/include/sys/syslog.h,
- mdk-stage1/dietlibc/syscalls.s/iopl.S, mdk-stage1/dietlibc/lib/msgget.c,
- mdk-stage1/dietlibc/syscalls.s/sched_getparam.S,
- mdk-stage1/dietlibc/lib/vsnprintf.c,
- mdk-stage1/dietlibc/include/signal.h,
- mdk-stage1/dietlibc/syscalls.s/pause.S,
- mdk-stage1/dietlibc/include/arpa/inet.h,
- mdk-stage1/dietlibc/include/sys/wait.h,
- mdk-stage1/dietlibc/alpha/time.S, mdk-stage1/dietlibc/lib/ttyname.c,
- mdk-stage1/dietlibc/lib/__lstat64.c, mdk-stage1/dietlibc/lib/__stat64.c,
- mdk-stage1/dietlibc/alpha/recv.S, mdk-stage1/dietlibc/lib/fgets.c,
- mdk-stage1/dietlibc/lib/strncat.c, mdk-stage1/dietlibc/lib/__lltostr.c,
- mdk-stage1/dietlibc/lib/__ltostr.c,
- mdk-stage1/dietlibc/sparc/__longjmp.S, mdk-stage1/dietlibc/lib/puts.c,
- mdk-stage1/dietlibc/lib/rand.c, mdk-stage1/dietlibc/syscalls.s/fsync.S,
- mdk-stage1/dietlibc/include/fnmatch.h, mdk-stage1/dietlibc/lib/fflush.c,
- mdk-stage1/dietlibc/lib/htons.c,
- mdk-stage1/dietlibc/syscalls.s/sigaltstack.S,
- mdk-stage1/dietlibc/include/sys/resource.h,
- mdk-stage1/dietlibc/lib/__stat64_cvt.c,
- mdk-stage1/dietlibc/lib/localtime.c,
- mdk-stage1/dietlibc/alpha/seteuid.c,
- mdk-stage1/dietlibc/syscalls.s/stime.S,
- mdk-stage1/dietlibc/include/resolv.h, mdk-stage1/dietlibc/lib/__xstat.c,
- mdk-stage1/dietlibc/ppc/Makefile.add,
- mdk-stage1/dietlibc/sparc/unified.S, mdk-stage1/dietlibc/lib/bsearch.c,
- mdk-stage1/dietlibc/include/net/if.h,
- mdk-stage1/dietlibc/include/shadow.h,
- mdk-stage1/dietlibc/lib/__rewinddir.c,
- mdk-stage1/dietlibc/include/daemon.h, mdk-stage1/dietlibc/lib/mkfifo.c,
- mdk-stage1/dietlibc/include/paths.h, mdk-stage1/dietlibc/include/pwd.h,
- mdk-stage1/dietlibc/lib/strrchr.c, mdk-stage1/dietlibc/lib/__seekdir.c,
- mdk-stage1/dietlibc/syscalls.h, mdk-stage1/dietlibc/alpha/shmctl.S,
- mdk-stage1/dietlibc/lib/fdglue.c, mdk-stage1/dietlibc/lib/fseek.c,
- mdk-stage1/dietlibc/include/regex.h,
- mdk-stage1/dietlibc/include/sys/ptrace.h,
- mdk-stage1/dietlibc/lib/tcdrain.c,
- mdk-stage1/dietlibc/syscalls.s/lstat.S,
- mdk-stage1/dietlibc/alpha/semctl.S, mdk-stage1/dietlibc/lib/recvfrom.c,
- mdk-stage1/dietlibc/lib/random.c,
- mdk-stage1/dietlibc/syscalls.s/times.S,
- mdk-stage1/dietlibc/lib/getpgrp.c, mdk-stage1/dietlibc/lib/cfmakeraw.c,
- mdk-stage1/dietlibc/lib/stat.c, mdk-stage1/dietlibc/syscalls.s/write.S,
- mdk-stage1/dietlibc/syscalls.s/dietlstat64.S,
- mdk-stage1/dietlibc/ppc/__testandset.S,
- mdk-stage1/dietlibc/include/mntent.h,
- mdk-stage1/dietlibc/include/sys/file.h,
- mdk-stage1/dietlibc/syscalls.s/fstat.S,
- mdk-stage1/dietlibc/syscalls.s/llseek.S,
- mdk-stage1/dietlibc/lib/strsep.c,
- mdk-stage1/dietlibc/include/sys/stat.h,
- mdk-stage1/dietlibc/syscalls.s/munlockall.S,
- mdk-stage1/dietlibc/syscalls.s/setpriority.S,
- mdk-stage1/dietlibc/include/assert.h,
- mdk-stage1/dietlibc/include/strings.h,
- mdk-stage1/dietlibc/include/alloca.h, mdk-stage1/dietlibc/lib/gmtime.c,
- mdk-stage1/dietlibc/lib/shmat.c, mdk-stage1/dietlibc/lib/__isnan.c,
- mdk-stage1/dietlibc/ppc/__longjmp.S,
- mdk-stage1/dietlibc/lib/__closedir.c,
- mdk-stage1/dietlibc/include/sys/signal.h,
- mdk-stage1/dietlibc/lib/rewinddir.c, mdk-stage1/dietlibc/lib/stdout.c,
- mdk-stage1/dietlibc/lib/vfprintf.c, mdk-stage1/dietlibc/.cvsignore,
- mdk-stage1/dietlibc/lib/telldir.c, mdk-stage1/dietlibc/include/glob.h,
- mdk-stage1/dietlibc/lib/tm_conv.c,
- mdk-stage1/dietlibc/syscalls.s/reboot.S,
- mdk-stage1/dietlibc/syscalls.s/sched_setscheduler.S,
- mdk-stage1/dietlibc/syscalls.s/umount2.S,
- mdk-stage1/dietlibc/syscalls.s/readv.S,
- mdk-stage1/dietlibc/lib/__fxstat.c,
- mdk-stage1/dietlibc/include/sys/select.h,
- mdk-stage1/dietlibc/syscalls.s/syslog.S,
- mdk-stage1/dietlibc/syscalls.s/sysinfo.S,
- mdk-stage1/dietlibc/lib/fprintf.c,
- mdk-stage1/dietlibc/include/sys/cdefs.h, mdk-stage1/dietlibc/README,
- mdk-stage1/dietlibc/lib/fread.c, mdk-stage1/dietlibc/lib/getpwnam.c,
- mdk-stage1/dietlibc/syscalls.s/getcwd.S,
- mdk-stage1/dietlibc/lib/getservent.c, mdk-stage1/dietlibc/lib/tolower.c,
- mdk-stage1/dietlibc/diet.c, mdk-stage1/dietlibc/alpha/recvfrom.S,
- mdk-stage1/dietlibc/include/elf.h, mdk-stage1/dietlibc/alpha/sendto.S,
- mdk-stage1/dietlibc/lib/fileno.c, mdk-stage1/dietlibc/i386/clone.S,
- mdk-stage1/dietlibc/lib/__opendir.c,
- mdk-stage1/dietlibc/include/sched.h, mdk-stage1/dietlibc/alpha/__time.c,
- mdk-stage1/dietlibc/lib/ispunct.c, mdk-stage1/dietlibc/lib/printf.c,
- mdk-stage1/dietlibc/lib/strtod.c, mdk-stage1/dietlibc/lib/strncasecmp.c,
- mdk-stage1/dietlibc/lib/__getcwd.c,
- mdk-stage1/dietlibc/include/netinet/in.h,
- mdk-stage1/dietlibc/lib/shmctl.c,
- mdk-stage1/dietlibc/syscalls.s/dietlstat.S,
- mdk-stage1/dietlibc/include/arpa/nameser.h,
- mdk-stage1/dietlibc/lib/assert_fail.c, mdk-stage1/dietlibc/lib/semctl.c,
- mdk-stage1/dietlibc/lib/shmdt.c, mdk-stage1/dietlibc/lib/shutdown.c,
- mdk-stage1/dietlibc/lib/setpgrp.c, mdk-stage1/dietlibc/alpha/msgrcv.S,
- mdk-stage1/dietlibc/lib/stderr.c,
- mdk-stage1/dietlibc/syscalls.s/close.S,
- mdk-stage1/dietlibc/syscalls.s/dietfstat.S,
- mdk-stage1/dietlibc/include/locale.h,
- mdk-stage1/dietlibc/syscalls.s/getpriority.S,
- mdk-stage1/dietlibc/lib/__fstat64.c, mdk-stage1/dietlibc/lib/isalpha.c,
- mdk-stage1/dietlibc/lib/reboot.c, mdk-stage1/dietlibc/lib/isspace.c,
- mdk-stage1/dietlibc/include/sys/mount.h,
- mdk-stage1/dietlibc/lib/creat.c, mdk-stage1/dietlibc/syscalls.s/lseek.S,
- mdk-stage1/dietlibc/sparc/clone.S, mdk-stage1/dietlibc/dietwarning.h,
- mdk-stage1/dietlibc/lib/islower.c,
- mdk-stage1/dietlibc/alpha/Makefile.add, mdk-stage1/dietlibc/lib/abort.c,
- mdk-stage1/dietlibc/alpha/msgctl.S, mdk-stage1/dietlibc/lib/isalnum.c,
- mdk-stage1/dietlibc/include/ctype.h,
- mdk-stage1/dietlibc/include/netdb.h,
- mdk-stage1/dietlibc/include/memory.h, mdk-stage1/dietlibc/lib/iscntrl.c,
- mdk-stage1/dietlibc/i386/Makefile.add, mdk-stage1/dietlibc/lib/getopt.c,
- mdk-stage1/dietlibc/syscalls.s/waitpid.S,
- mdk-stage1/dietlibc/lib/strtoul.c,
- mdk-stage1/dietlibc/syscalls.s/stat.S,
- mdk-stage1/dietlibc/syscalls.s/sysctl.S: import new version of dietlibc
-
- * mdk-stage1/insmod-busybox/busybox.h: fix conflicts with dietlibc headers
-
- * mdk-stage1/dietlibc/include/stdio.h,
- mdk-stage1/dietlibc/include/stdlib.h,
- mdk-stage1/dietlibc/include/math.h,
- mdk-stage1/dietlibc/include/sys/times.h: have slang and newt compile
- with dietlibc
- import new version of dietlibc
-
- * mdk-stage1/Makefile.common: new dietlibc binaries location
-
- * mdk-stage1/newt-frontend.c: i can compile slang and newt with dietlibc
- now
-
- * mdk-stage1/dietlibc/lib/abs.c: have slang and newt compile with dietlibc
-
- * mdk-stage1/dhcp.c: Have the wait_message() with the sleep()
- - add a sleep(2) after ioctl ifupping so that further operation can
- work normally
- - more logs
-
-2001/05/14 kjx
-
- * share/po/zh_CN.GB2312.po: process untranslated
-
-2001/05/14 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm, fsedit.pm, partition_table.pm, install_any.pm: basic xfs handling
-
-2001/05/11 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: fixed missing package which may be selected on
- hardware during real install.
-
- * rescue/tree/etc/oem: added support to change boot entries when invoking
- oem script.
- fixed missing SCSI support and driver module loading.
- fixed missing speficic packages not installed on HW detected.
-
-2001/05/08 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: VBox -> HBox in Embedded mode
-
- * standalone/mousedrake: code cleaned and debugged
- added mouse test. Ugly
-
-2001/05/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c: fix minor stuff
- re-include correct layout for [] choices, in a smaller way than before
-
- * mdk-stage1/tools.c: minor fix
- needs to poll() for available data before loading ramdisk because ftp
- transfers would fail in some situations
-
- * mdk-stage1/init.c: new maxim
-
- * mdk-stage1/config-stage1.h: adjust COMPRESSION_RATIO so that last star
- is printed when last blocks of file are read
-
- * mdk-stage1/dhcp.c: use poll() rather than select() to win some bytesCVS:
- ----------------------------------------------------------------------
-
-2001/05/08 siegel
-
- * share/po/de.po: fixed plenty ugly typos
-
-2001/05/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po: updated Brazilian file
-
-2001/05/07 yduret
-
- * docs/README.devel: fix one typo
-
- * any.pm, bootloader.pm: updated install_lilo() according to new lilo
- package
- (/boot/lilo-{menu,graphic,text})
-
-2001/05/06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad output and bad adsl script
-
-2001/05/06 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install2.pm: workaround for msec hang on PPC
-
-2001/05/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: KDE+SOUND -> 4 xmms-arts
-
-2001/05/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * mdk-stage1/mar/mar-extract-only.c: text size micro-opt
-
-2001/05/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: KDE+SOUND -> 4 xmms-arts
-
-2001/05/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * c/smp.c, keyboard.pm, Xconfigurator.pm: force XF4 in expert too for PPC,
- don't run xmodmap, PPC SMP routine placeholder
-
-2001/05/04 Thierry Vignaud <tvignaud@mandrakesoft.com>
-
- * mdk-stage1/mar/mar-extract-only.c: text size micro-opt
-
-2001/04/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c: nicer layout for progressbar and
- statusreport, when update_progression
- Provide some description of the drivers
-
- * docs/HACKING: fix
- pserver -> ext
-
- * mdk-stage1/tools.c, mdk-stage1/Makefile, mdk-stage1/tools.h,
- mdk-stage1/newt-frontend.c, mdk-stage1/modules_descr.h,
- mdk-stage1/modules.c: Provide some description of the drivers
-
-2001/04/30 Pixel <pixel@mandrakesoft.com>
-
- * docs/README: s/gi.tar.bz2/DrakX-*.src.rpm/
-
- * docs/advocacy: fuck'em all
-
-2001/04/26 François Pons <fpons@mandrakesoft.com>
-
- * docs/README.devel, docs/README: added some more comments for DrakX code
- source and usage.
-
-2001/04/25 François Pons <fpons@mandrakesoft.com>
-
- * tools/oem-prepare: fixed use of VERSION file to find language.
- prepare a oem disk to be used by moving all files that will not be
- installed by oem (oem-master disk preparation).
-
- * rescue/tree/etc/closurepkgs, rescue/tree/etc/part_and_bootloader: fixed
- usage of free space on disk, added NVIDIA packages to install.
-
- * rescue/tree/etc/oem-server: added missing VERSION file.
- fixed usage of free space on disk, added NVIDIA packages to install.
-
- * rescue/tree/etc/oem: added missing autologin package.
- added option to enable oem mode.
- added missing VERSION file.
- fixed usage of free space on disk, added NVIDIA packages to install.
-
-2001/04/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: version is labelled "cooker"
-
-2001/04/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * tools/serial_probe/serial.c, tools/serial_probe/serial_probe.c:
- integrate fg's fixes for includes
-
-2001/04/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * rescue/list.sparc, rescue/list.i386, rescue/list.ppc, rescue/list.alpha,
- rescue/list: move /sbin/sfdisk to list.arch, update both list.ppc
-
-2001/04/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: fix bug that trashes the network config of stage1
- during stage2, when no DNS is provided
-
-2001/04/18 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: last corrections
-
- * standalone/draknet, netconnect.pm: last corrections
- corrected internet connection test, and parameters editing
-
- * install_steps_gtk.pm: corrected cursor on details
-
-2001/04/18 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: * put am-utils and autofs in NETWORKING_FILE
- * drakprofile in level 1
- * swapped tkinter and python-devel
- * vnc-server in NETWORKING_REMOTE_ACCESS_SERVER
- * vnc-SVGALIB in level 2
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * standalone/mousedrake: fixed embedded
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: restored grub as everything seems fine.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
-
- * install_steps_interactive.pm: fixed missing mouse update in summary.
-
-2001/04/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: fix 75dpi-fonts bug with MAKEDEV
-
-2001/04/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * standalone/draknet: fixed typo
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Basque file
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 warly
-
- * share/rpmsrate: put MAKEDEV at end of line
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * standalone/mousedrake: fixed embedded
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: restored grub as everything seems fine.
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
- * install_steps_interactive.pm: fixed missing mouse update in summary.
-
-2001/04/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Basque file
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): better ensure
- 'broadcast' insteaf of overriding
- (setRootPassword): set NIS to broadcast when NIS asked. Empty NIS still
- means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/17 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: chmoded autologin
-
-2001/04/17 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed swap size instead of inst size for swap gap.
- make sure kernel is selected.
- fixed parted problem.
-
- * rescue/tree/etc/oem-server: fixed swap size instead of inst size for
- swap gap.
- make sure kernel will be selected.
-
-2001/04/17 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): set NIS to broadcast
- when NIS asked. Empty NIS still means no NIS
-
- * any.pm (setupBootloader): remove a warning
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * any.pm: removed Grub if Embedded
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: minor bug.
-
- * any.pm: removed Grub if Embedded
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * standalone/net_monitor: updated
- updated
-
- * network.pm: dhcpd -> dhcpcd
-
- * Xconfigurator.pm: added nice monitor.png
-
- * netconnect.pm: minor bug.
- dhcpd -> dhcpcd
-
- * standalone/draknet: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
-2001/04/16 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: added missing rio500 in closure.
- finally fixed menu by generating /etc/rpm/macros file.
- added missing LF.
- now fixed menu problems.
- try another fix for RPM_INSTALL_LANG as first fr_FR:fr instead of
- fr:fr_FR.
- really disable server.
- maybe fixed RPM_INSTALL_LANG (from "fr" to "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * fs.pm: restored not neccessary to load reiserfs for formating.
- loading reiserfs module before formatting.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
- * mdk-stage1/TECH-INFOS: update doc
-
- * share/po/fr.po: fix minor thing
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: added nice monitor.png
-
- * standalone/net_monitor: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
-2001/04/16 François Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * rescue/tree/etc/oem: maybe fixed RPM_INSTALL_LANG (from "fr" to
- "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/16 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: bugfix
- added update thread
- corrected bad install package.
- updated expert mode
-
- * network.pm, install_steps.pm: corrected bad install package.
-
- * Xconfigurator.pm: added nice monitor.png
-
- * tinyfirewall.pm: corrected package installation
-
- * standalone/net_monitor: updated
-
- * pixmaps/hori.png, pixmaps/colors.png, pixmaps/wiz_default_left.png,
- pixmaps/tradi.png, pixmaps/categ.png, pixmaps/wiz_default_up.png,
- pixmaps/verti.png, pixmaps/wiz_firewall.png, pixmaps/monitor.png,
- pixmaps/monitor-1280.png, pixmaps/monitor-1024.png, pixmaps/net_c.png,
- pixmaps/wiz_draknet.png, pixmaps/gmon.png, pixmaps/monitor-800.png,
- pixmaps/net_d.png, pixmaps/eth_card_mini.png, pixmaps/wiz_drakgw.png,
- pixmaps/monitor-640.png, pixmaps/colors8.png, pixmaps/colors16.png: plop
- removed for readd in kb
-
- * my_gtk.pm: corrected typo
- added grey fix for contreol-center
-
- * netconnect.pm: debug
- corrected bad install package.
-
-2001/04/16 François Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: fixed standalone error for wacom weirdness.
- fixed HASH() in /etc/X11/XF86Config*.
-
- * rescue/tree/etc/oem: maybe fixed RPM_INSTALL_LANG (from "fr" to
- "fr:fr_FR" for french).
- fixed to avoid nasty message in wrong places.
- moved warning message around.
- fixed wrong LOCALES"...".
- fixed lang weirdness, fixed minimal size of / partition to be more
- confortable,
- fixed default language for starting DrakX after.
-
-2001/04/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * pixmaps/monitor-800.png, pixmaps/monitor-1024.png,
- pixmaps/monitor-640.png, pixmaps/monitor-1280.png: add nice shots for
- XFdrake
-
-2001/04/16 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: remove BURNER from Utilities
-
- * install_any.pm (g_auto_install): do not take 'mkbootdisk'
-
-2001/04/16 warly
-
- * share/rpmsrate: lower portsentry
-
-2001/04/15 fabman
-
- * share/po/es.po: updates
-
-2001/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix minor typo
-
-2001/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/gl.po: updated Galician file
-
-2001/04/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): translate path (eg:
- Workstation, Server) to make gg happy
-
-2001/04/15 fabman
-
- * share/po/es.po: updates
-
-2001/04/15 fcrozat
-
- * share/rpmsrate: Add mozilla-mail and mozilla-irc to correct categories
-
-2001/04/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fix minor typo
-
-2001/04/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po, share/po/ko.po: Updated Swedish and Korean files
-
-2001/04/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): translate path (eg:
- Workstation, Server) to make gg happy
-
- * printerdrake.pm (main): restore the "Ok" button for the queues
- manipulation
-
- * any.pm (write_passwd_user): fix use of local
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): add an eval
- around "require log" to keep perl from going totally mad (getting things
- like v18.843.482 required--this is only v5.6.0)
-
-2001/04/15 yduret
-
- * bootlook.pm: bug fix: if cancel pressed in lilo/grub choice => return to
- mcc normally
- fix layout & size
-
-2001/04/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected isdn detect display
-
- * standalone/net_monitor, standalone/draknet: wait 10 sec, instead of 7
-
-2001/04/14 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: changed priority level from 2 to 4 for rate
- selection of packages.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (naughtyServers): add apache
-
- * install_gtk.pm (createXconf): ensure the mouse device is created (mainly
- for auto_inst)
-
- * install_steps_interactive.pm (exitInstall): fix bad i18n of Replay
- button (thx2submarine)
-
-2001/04/14 warly
-
- * share/rpmsrate: lower viavoicemenu to 1 to avoid error message for
- powerpack boxes without ViaVoice
-
-2001/04/14 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: changed priority level from 2 to 4 for rate
- selection of packages.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm, interactive_newt.pm (exit): fix the exit code
-
-2001/04/14 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to gzip synthesis file.
- safe guard generation of synthesis file.
- fixed umask on urpmi list file and generate synthesis file for each
- hdlist.
-
- * pkgs.pm: fixed absurd mismatch of use of <=> and cmp on versionCompare.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): fix link /etc/gtk (to
- /mnt/etc/gtk) instead of /etc/gtkrc
-
- * any.pm (autologin): spurious messages of chksession -> dave nul
-
- * interactive_newt.pm (exit): fix the exit code
- (wait_message_endW): don't log "none stacked wait-messages" (as a lot of
- them exist...)
- (waitbox): remove spurious '0' in wait_messages
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm (exit): fix the exit code
-
-2001/04/14 warly
-
- * share/compssUsers, share/list, share/rpmsrate: add icons in compssUser
- and list
-
-2001/04/14 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed to gzip synthesis file.
- safe guard generation of synthesis file.
- fixed umask on urpmi list file and generate synthesis file for each
- hdlist.
-
-2001/04/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): fix link /etc/gtk (to
- /mnt/etc/gtk) instead of /etc/gtkrc
-
- * any.pm (autologin): spurious messages of chksession -> dave nul
-
- * interactive_newt.pm (exit): fix the exit code
- (wait_message_endW): don't log "none stacked wait-messages" (as a lot of
- them exist...)
- (waitbox): remove spurious '0' in wait_messages
-
- * lang.pm (load_po): s/!isStandalone/isInstall/ (mainly for XFdrake's
- test)
-
- * Xconfigurator.pm (use vars): fix stew sux
- (testFinalConfig): nicer stderr handling
-
- * interactive_gtk.pm (exit): fix the exit code
-
-2001/04/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, mouse.pm, Xconfigurator.pm: updates to X, mouse
- setup for PPC
-
-2001/04/14 warly
-
- * share/compssUsers, share/list, share/rpmsrate: add icons in compssUser
- and list
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: avoid locking cdrom for oem (compssUsers file still
- opened).
-
-2001/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: Updated Norwegian file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/vi.po, share/po/br.po,
- share/po/gl.po, share/po/ca.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated po files
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): reverse message
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * Xconfigurator_consts.pm: do not set XkbVariant "winkeys" for
- ru(winkeys), it is redondant
-
- * interactive_gtk.pm (ask_from_entries_refW): set_default_size width 250
-
- * any.pm (ask_users): do not have an empty icon. better not ask for icon
- if no icon
-
-2001/04/13 siegel
-
- * share/po/de.po: updates
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: avoid locking cdrom for oem (compssUsers file still
- opened).
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): reverse message
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * Xconfigurator_consts.pm: do not set XkbVariant "winkeys" for
- ru(winkeys), it is redondant
-
- * interactive_gtk.pm (ask_from_entries_refW): set_default_size width 250
-
- * any.pm (ask_users): do not have an empty icon. better not ask for icon
- if no icon
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * Xconfigurator.pm: corrected
- updated
- updated message
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install_steps_gtk.pm (installPackages): hide Details button sooner
- (installPackages): do not show button "Details" when no advertising
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * standalone/draknet: message corrected
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: updated
- updated message
-
- * standalone/draknet: message corrected
- updated
-
- * netconnect.pm: net_cnx_up/down xritten in neuneu
-
- * bootlook.pm: embedded = 0 -> local
-
-2001/04/13 fabman
-
- * share/po/es.po: synchro with EN
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: avoid illegal modulus zero if no advertizing is
- available.
- fixed very old typo not encountered before;
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * install_steps_gtk.pm (installPackages): do not show button "Details"
- when no advertising
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add ssh server in Network Computer Server
- add DATABASES to Database
- add icons for server
-
-2001/04/13 dam's <damien@mandrakesoft.com>
-
- * network.pm: updated wireless configuration
-
- * netconnect.pm: corrected loop in isdn + other things
-
- * bootlook.pm: embedded = 0 -> local
-
- * standalone/draknet: updated
- added delete event
-
-2001/04/13 François Pons <fpons@mandrakesoft.com>
-
- * netconnect.pm: fixed syntax error :-)
-
- * install_steps.pm, install_steps_gtk.pm: added conditional update-menus
- if package are installed.
-
- * install_steps_interactive.pm: added conditional update-menus if package
- are installed.
- make sure update-menus is called after installing cups related packages.
-
-2001/04/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/fr.po, share/po/sv.po, share/po/hu.po: Updated
- Croatian and Swedish files
-
- * share/po/sl.po, share/po/cy.po, share/po/ca.po, share/po/ga.po,
- share/po/is.po, share/po/cs.po: Removed po files with too low leve lof
- translating ( < 60% )
- so they are not included on final CD
-
-2001/04/13 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (backtrace): created
-
- * install_steps_interactive.pm (addUser): remove the setting of
- $o->{autologin}, now done in any::autologin
-
- * bootlook.pm: don't use Locale::GetText, use DrakX's i18n
-
- * install2.pm (miscellaneous): add setting KEYBOARD=yes in
- /etc/sysconfig/usb as asked by Lord Chmou
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): log the empty
- list instead of dying (for 8.0 only, should be switched back to die)
- (ask_from_listf): display the backtrace when empty list
-
- * my_gtk.pm (new): make dams happy
-
- * any.pm (ask_users): add the empty icon
- (autologin): fix
-
-2001/04/13 warly
-
- * share/compssUsers: add DATABASES to Database
- add icons for server
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: remove unnecessary redhat history code
-
-2001/04/12 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed wrong kernel version extraction (typically for
- upgrade).
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * interactive.pm: removed strict die on empty list.
-
- * live_install2: added some gtk and gdk_imlib missing variables.
-
- * live_install: removed gtk variable for data, moved to second script.
-
- * modules.pm, commands.pm, lang.pm, pkgs.pm, keyboard.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: remove unneeded #define
-
- * standalone/drakgw: add some rule so later on tinyfirewall will not
- prevent everything from working
-
- * share/po/fr.po: minor fix
- write some ppc translations
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Updated Italian file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * printer.pm: use run_program and remove "require run_program"s
-
- * my_gtk.pm (main): only accept X (gdk) events key_press, key_release and
- exposure (so
- that not to receive motion_notify which would generate focus_out in
- non-interesting cases)
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): fix the test
- for empty lists
- (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: if neuneu but explicited clicked, don't skip
- corrected pcmcia driver
-
-2001/04/12 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * common.pm: improved bestMatchSentence2.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * interactive.pm: removed strict die on empty list.
-
- * modules.pm, commands.pm, lang.pm, keyboard.pm, pkgs.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: add some rule so later on tinyfirewall will not
- prevent everything from working
-
- * share/po/fr.po: write some ppc translations
- un-dadouize a problem
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Updated Italian file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix no advertising with less
- than 20MB of packages
-
- * interactive.pm (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * install_steps_interactive.pm (configureX): fix for X test at install
- with exotic fonts
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected typo
- added use bootloader
-
- * standalone/net_monitor: typo
-
- * netconnect.pm: if neuneu but explicited clicked, don't skip
- corrected pcmcia driver
- corrected typo
-
- * lang.pm: pixel sux
-
- * network.pm, standalone/draknet: corrected network connection
-
- * my_gtk.pm: corrected set_modal
-
-2001/04/12 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/12 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: removed Cancel of Summary.
- fixed ask printer configuration.
-
- * common.pm: improved bestMatchSentence2.
-
- * detect_devices.pm: fix Hewlett-Packard to HP in case.
-
- * standalone/printerdrake: never ask to configure a printer in standalone.
-
- * printerdrake.pm: automatically add a queue if nothing exists.
- fixed ask to configure a printer.
-
- * modules.pm, commands.pm, lang.pm, keyboard.pm, pkgs.pm: fixed log of
- packdrake.
-
-2001/04/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: un-dadouize a problem
- sync
-
-2001/04/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sp.po, share/po/fi.po, share/po/DrakX.pot,
- share/po/zh_CN.GB2312.po, share/po/es.po, share/po/fr.po,
- share/po/sr.po, share/po/de.po, share/po/el.po, share/po/et.po,
- share/po/sk.po, share/po/eu.po, share/po/sl.po, share/po/vi.po,
- share/po/ko.po, share/po/eo.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/da.po, share/po/is.po, share/po/zh_TW.Big5.po,
- share/po/id.po: Updated Chinese file
-
- * share/po/it.po: Updated Italian file
- Updated Chinese file
-
-2001/04/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix no advertising with less
- than 20MB of packages
-
- * interactive.pm (ask_from_entries_refH_powered_normalize):
- - when not_edit and empty list, die.
- - when not_edit and single element list, don't display that entry.
-
- * install_steps_interactive.pm (configureX): fix for X test at install
- with exotic fonts
-
- * lang.pm (pack_langs): set RPM_INSTALL_LANG for package "menu"
-
- * modules.pm (configure_pcmcia): better handling for not running cardmgr
- many times
- (configure_pcmcia): always run cardmgr so that it is run even if stage1
- did create a /var/run/stab. This is just a try :-/
-
-2001/04/12 siegel
-
- * share/po/de.po: new german version
-
-2001/04/12 yduret
-
- * bootlook.pm: added some stuff
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: no setmodal 0 if wizard
-
-2001/04/12 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected typo
- added use bootloader
-
- * netconnect.pm: corrected typo
-
-2001/04/12 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/12 siegel
-
- * share/po/de.po: new german version
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: tooltips
-
- * netconnect.pm: updated
-
- * my_gtk.pm: no setmodal 0 if wizard
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (reallyChooseGroups): relook
-
- * install_steps_interactive.pm (chooseGroups): warn if chosen size is too
- big
-
- * share/compssUsers: adapt for new profile choosing layout
-
-2001/04/11 yduret
-
- * bootlook.pm: bug fix in autologin
-
-2001/04/11 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: tooltips
-
- * bootlook.pm: updated
- corrected
-
- * tinyfirewall.pm: installation of package : not at the same place
-
- * netconnect.pm: updated
- added driver for pcmcia, corrected eth conf for pppoe
-
-2001/04/11 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added missing LD_LOADER for calling rpm.
-
- * printerdrake.pm: fixed probe on kernel 2.4.
- make printer devices more accurate.
- removed limitation to only one port probed
-
- * pkgs.pm: added missing use of LD_LOADER for starting parsehdlist on
- upgrade.
-
- * detect_devices.pm: avoid need of shell for live upgrade on serial_probe
- (removed 2>/dev/null which
- is not necessary).
- fixed printer probe (usb and parallel).
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * lang.pm: added missing LD_LOADER reference and remove old code
- commented.
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: unfuzzyize
- sync with new msg in services.pm and compssUsers
- sync with pablo update
- fixes of translations
- write the shitload of untranslated and fuzzy msg
-
- * standalone/tinyfirewall: i18n title
-
- * services.pm: have many more services tooltipped from here so we can get
- translations afterwards
-
- * share/compssUsers: fix typos of rpmsrate groups
-
- * standalone/drakgw: kosmetik
- do i18n for title also
-
-2001/04/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: Added reference to netscape-chinese_big5 file
-
- * share/po/DrakX.pot, share/po/wa.po: Updated Walloon file
- Updated po files
- Updated Slovak, Walloon and Polish files
-
- * share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/de.po,
- share/po/ko.po, share/po/ja.po, share/po/is.po, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/sk.po, share/po/vi.po,
- share/po/ca.po, share/po/cs.po: Updated po files
- Updated Slovak, Walloon and Polish files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/ga.po,
- share/po/sr.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/cy.po, share/po/nl.po, share/po/sv.po, share/po/hu.po,
- share/po/no.po, share/po/th.po, share/po/el.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/af.po: Updated po files
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * share/compssUsers: adapt for new profile choosing layout
-
- * Makefile: take cardmgr-*
-
- * install_steps_interactive.pm (chooseGroups): warn if chosen size is too
- big
- translate the ``path'' in profile selection
-
- * share/po/i18n_compssUsers: relooking
-
- * any.pm (setupBootloader): translate the bootloaders to use
- (setupBootloader): nicer look&feel
-
- * install_any.pm (fsck_option): add a closing ``"'' so that strings to
- i18n extraction works
- (fsck_option): add a closing ``"'' so that strings to i18n extraction
- works
- (check_prog): make it work
-
- * install_steps_gtk.pm (reallyChooseGroups): relook
- (installPackages): pressing "Details" gives you more detailed info
- (reallyChooseGroups): start relooking
- (installPackages): don't display advertising if less 20MB of packages
- translate the ``path'' in profile selection
-
-2001/04/11 warly
-
- * share/compssUsers: Add descr for servers
-
-2001/04/11 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make printer devices more accurate.
- removed limitation to only one port probed
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * detect_devices.pm: fixed printer probe (usb and parallel).
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * services.pm: have many more services tooltipped from here so we can get
- translations afterwards
-
- * share/po/fr.po: write the shitload of untranslated and fuzzy msg
-
- * share/compssUsers: fix typos of rpmsrate groups
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
-
- * diskdrake.pm (More): fix exception relaunching
-
- * install_any.pm (check_prog): make it work
-
- * any.pm (setupBootloader): nicer look&feel
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * Makefile: take cardmgr-*
-
-2001/04/11 fabman
-
- * share/po/es.po: updated spanish .po file
-
-2001/04/11 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make printer devices more accurate.
- removed limitation to only one port probed
-
- * mouse.pm: fix wacom usb tablet
-
- * standalone/printerdrake: added missing take into account of
- /etc/modules.conf
-
- * detect_devices.pm: fixed printer probe (usb and parallel).
-
-2001/04/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: write the shitload of untranslated and fuzzy msg
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: to lighten mdkinst_stage2:
- - completly remove po's (will be getFile'd)
- - remove LVM progs, resize_reiserfs, big fonts (will be getFile'd)
-
- * standalone/drakboot: make it work (why was bootloader::install
- commented?)
-
- * share/aliases: add rmmod -> insmod_
-
- * lang.pm (get_x_fontset): special cases for some big (size) fonts
-
- * Makefile: take cardmgr-*
-
- * install_any.pm (check_prog): make it work
- (check_prog): if a prog isn't available, try to fetch it via getFile
- (remove_bigseldom_used): created, purpose: remove unneeded stuff on
- stage2
- to allow a getAndSaveFile.
- (getAndSaveFile): if only one arg is given, assume the name is the same
-
- * standalone/XFdrake: fix bug for running xfs
-
- * any.pm (setupBootloader): nicer look&feel
-
- * diskdrake.pm (More): fix exception relaunching
- check resize_reiserfs is there or get it
-
- * run_program.pm (rooted): don't call install_any::check_prog if rooted
- in install, call install_any::check_prog to allow shadow progs which are
- fetched when needed via getFile
-
- * share/list: remove rmmod (is now a symlink)
-
-2001/04/11 siegel
-
- * share/po/de.po: updated german version
-
-2001/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po: Updated Catalan file
-
-2001/04/10 Pixel <pixel@mandrakesoft.com>
-
- * Makefile:
- - fix wiz_*.png removing
- - fix copying cardmgr* which included cardmgr.o
-
-2001/04/11 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: to lighten mdkinst_stage2:
- - completly remove po's (will be getFile'd)
- - remove LVM progs, resize_reiserfs, big fonts (will be getFile'd)
-
- * standalone/XFdrake: fix bug for running xfs
-
- * diskdrake.pm: check resize_reiserfs is there or get it
-
- * share/aliases: add rmmod -> insmod_
-
- * install_any.pm (check_prog): if a prog isn't available, try to fetch it
- via getFile
- (remove_bigseldom_used): created, purpose: remove unneeded stuff on
- stage2
- to allow a getAndSaveFile.
- (getAndSaveFile): if only one arg is given, assume the name is the same
-
- * share/list: remove rmmod (is now a symlink)
-
- * run_program.pm: in install, call install_any::check_prog to allow shadow
- progs which are
- fetched when needed via getFile
-
- * lang.pm (get_x_fontset): special cases for some big (size) fonts
-
-2001/04/10 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad network restart
-
- * my_gtk.pm: corrected bad font
-
- * network.pm: get rid of ifcfg-
- minor correction
-
-2001/04/10 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed selection of CDs.
-
- * devices.pm: added input/event class of devices (necessary for usb wacom
- at install)
-
-2001/04/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c,
- mdk-stage1/mkinitrd_helper/Makefile:
- - honour quiet mode at boot time
- - fake modprobe to shut up kmod
-
- * bootlook.pm: do not use french in i18n'ed msg yvounet!!
-
- * standalone/drakgw: add INTERFACE param in sysconfig parameter for smooth
- interoperation with bastille-firewall
-
-2001/04/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: Updated Czech file
- Updated po files
-
- * share/po/ko.po, share/po/ja.po, share/po/id.po, share/po/vi.po: Updated
- Indonesian, Japanese, Korean and Vietnamese files
- Updated po files
-
- * share/po/DrakX.pot, share/po/wa.po, share/po/fi.po: Added a missing
- translatable string
- Updated po files
-
- * share/po/ca.po: Updated Catalan file
- Updated po files
-
- * share/locales.tar.bz2: Added missing file for Vietnamese
-
- * share/po/bg.po: Updated Bulgarian file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/ga.po, share/po/sr.po, share/po/de.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/cy.po,
- share/po/nl.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/pl.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/af.po: Updated po files
-
-2001/04/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm: use gtkset_tip (so that no tip is set when tip eq
- '')
- (create_boxradio): handle double_click
- (ask_from_entries_refW): use radio boxes instead of list/clist if small
- number
- of choices
- (create_ctree): handle single click on node opens the node
-
- * my_gtk.pm: create and use gtkset_tip
- (_create_window): XSetInputFocus done only on expose_event of the
- topmost window
- (new): ensure only one modal
-
- * Xconfigurator.pm (main): have an "Ok" button to leave
-
- * install_steps_gtk.pm: use gtkset_tip
- (choosePackagesTree): fix "Show automatically selected packages"
- create and use gtkset_tip
-
- * Makefile:
- - fix wiz_*.png removing
- - fix copying cardmgr* which included cardmgr.o
-
-2001/04/10 warly
-
- * share/rpmsrate: add viavoicemenu_{us,gr,fe}
-
-2001/04/10 yduret
-
- * bootlook.pm: grub/lilo mode
-
-2001/04/10 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad network restart
-
- * my_gtk.pm: corrected bad font
-
- * network.pm: get rid of ifcfg-
- minor correction
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: typo
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): check for 40MB instead of 32MB for min reiserfs
- size as the check is done before rounding.
-
- * bootloader.pm (install_grub): altconfigfile only if /boot is not
- reiserfs :-/
-
- * tools/make_mdkinst_stage2: fix the stage2 too big (was keeping too many
- modules.cz)
-
- * install_any.pm (setPackages): also have SOUND set in compssUsersChoice
- based on pciusbtable
-
- * share/compssUsers, share/rpmsrate:
- - SOUND is now a flag
- - AUDIO is the group
-
-2001/04/09 siegel
-
- * tinyfirewall.pm: i18n fixes
-
-2001/04/09 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixes of grub installation using hd.img
- fix the fix for loopback mounting of hd.img.
-
- * Xconfigurator.pm: fixed always 8bpp for autoDefaultDepth.
-
- * pkgs.pm: changed transaction error management this way: if a transaction
- fails, DrakX
- tries to make as many transaction as there are package that have failed
- to be
- installed (this means one transaction of only one package). This help
- installing
- most package that are correct (as a transaction that failed cause all
- remaining
- package to be not installed).
-
-2001/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: 8.0rc -> 8.0
-
- * rescue/tree/etc/oem: fix english thanks to Kevin
-
- * standalone/drakgw: do not die when an initscript returns non-0
- (initscripts too buggy)
-
-2001/04/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/gl.po, share/po/ca.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Danish file
-
- * any.pm: changed ISO_8859-1 TO ISO-8859-1
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm, install_steps.pm, any.pm: create to_utf8 from po strings,
- use it for kdm message
-
- * diskdrake.pm (Create): check for 40MB instead of 32MB for min reiserfs
- size as the check is done before rounding.
-
- * bootloader.pm (install_grub): altconfigfile only if /boot is not
- reiserfs :-/
-
- * tools/make_mdkinst_stage2: fix the stage2 too big (was keeping too many
- modules.cz)
-
- * install2.pm (main): sets umask (seems like default one is no more 022,
- kernel change?)
-
- * Xconfigurator_consts.pm, Xconfig.pm, Xconfigurator.pm: handle XkbModel
- (especially for abnt2 (br))
-
- * install_any.pm (setPackages): also have SOUND set in compssUsersChoice
- based on pciusbtable
-
- * share/compssUsers, share/rpmsrate:
- - SOUND is now a flag
- - AUDIO is the group
-
- * lang.pm (load_po): sets $lang::charset to the charset used in the po
-
-2001/04/09 siegel
-
- * share/po/de.po: fixes
-
- * Xconfigurator.pm: fixed i18n bug
-
-2001/04/09 yduret
-
- * standalone/tinyfirewall: button policy (thx gc)
-
- * standalone/drakgw: deyvounification : remove some un-useful comments in
- code
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected
-
- * standalone.pm: install function now returns the return value of the
- system.
-
- * netconnect.pm: corrected buggy cable
- removed buggy modem screen repetition
-
-2001/04/09 François Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake: fixed mousedrake (with interactive.pm fixes
- applied).
- fixed cancel support.
- added conditional restart of gpm on mouse configuration change.
-
- * fs.pm: removed notail option for reiserfs.
-
- * standalone/keyboarddrake: fixed exit on cancel (should cause trouble in
- DrakConf only).
-
- * install_any.pm: added missing package to copy.
-
- * rescue/tree/etc/oem: fixes of grub installation using hd.img
- fix the fix for loopback mounting of hd.img.
- fixed hd.img access right.
- make kernel22 installed for every oem install...
- moved some package to closure instead of installed.
- added some missing packages.
- added nolock option for nfsmount.
- added missing package to copy.
-
-2001/04/09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: fix Traktopel Maxim thanks to Kevin Lawton
-
- * mdk-stage1/Makefile: 8.0beta -> 8.0rc
-
- * standalone/drakgw: fix for when there is an already existing rc.firewall
- complies with old format of drakgw so that upgrades will work
-
- * rescue/tree/etc/oem: fix english thanks to Kevin
-
-2001/04/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * any.pm: changed ISO_8859-1 TO ISO-8859-1
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm, install_steps.pm, any.pm: create to_utf8 from po strings,
- use it for kdm message
-
- * interactive.pm (ask_from_treelistf): make it behaves correctly when
- "cancel" is clicked
-
- * Xconfigurator_consts.pm, Xconfig.pm, Xconfigurator.pm: handle XkbModel
- (especially for abnt2 (br))
-
- * install2.pm (main): sets umask (seems like default one is no more 022,
- kernel change?)
- (main): log the umask
-
- * devices.pm (entry): add hd[ijkl]*
-
- * bootloader.pm (install_lilo): better handling of map-drive (there's not
- always only 2 disks!)
-
- * lang.pm (load_po): sets $lang::charset to the charset used in the po
-
-2001/04/09 siegel
-
- * share/po/de.po: fixes
-
-2001/04/09 yduret
-
- * standalone/drakboot: added lilo/grub
-
- * bootlook.pm: added lilo/grub mode
-
-2001/04/09 dam's <damien@mandrakesoft.com>
-
- * modules.pm: removed use install_any
-
- * tinyfirewall.pm: corrected
-
- * netconnect.pm: corrected buggy cable
- removed buggy modem screen repetition
- corrected bad bug when creating new profile
-
- * standalone.pm: install function now returns the return value of the
- system.
-
- * Makefile: removed install_any
-
-2001/04/09 François Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake: fixed mousedrake (with interactive.pm fixes
- applied).
- fixed cancel support.
- added conditional restart of gpm on mouse configuration change.
-
- * rescue/tree/etc/oem: fixed hd.img access right.
- make kernel22 installed for every oem install...
- moved some package to closure instead of installed.
- added some missing packages.
- added nolock option for nfsmount.
- added missing package to copy.
-
- * fs.pm: removed notail option for reiserfs.
-
- * standalone/keyboarddrake: fixed exit on cancel (should cause trouble in
- DrakConf only).
-
- * printer.pm: added Till patch for printer (raw queue and PostScript
- queue).
-
- * install_any.pm: added missing package to copy.
-
-2001/04/09 kjx
-
- * share/po/zh_CN.GB2312.po: translate before 8.0 release
-
-2001/04/09 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): log the umask
-
- * interactive.pm (ask_from_treelistf): make it behaves correctly when
- "cancel" is clicked
-
- * devices.pm (entry): add hd[ijkl]*
-
- * bootloader.pm (install_lilo): better handling of map-drive (there's not
- always only 2 disks!)
-
-2001/04/09 yduret
-
- * bootlook.pm: fix, added lilo/grub frame
- fixed till bug
-
-2001/04/08 dam's <damien@mandrakesoft.com>
-
- * rescue/tree/etc/oem, rescue/tree/etc/closurepkgs, install_any.pm: get
- rid of kisdn
-
- * tinyfirewall.pm: updated
- added package installation
-
- * netconnect.pm: get rid of kisdn
- updated
- no more askwarn in wizard mode
- updated
-
- * standalone/tinyfirewall, standalone/drakgw, my_gtk.pm,
- netconnect_consts.pm: updated
-
- * standalone/net_monitor: removed Data::Dumper
- typo
-
- * standalone/draknet: updated
- typo
- corrected bad isdn field
-
-2001/04/08 daouda
-
- * share/rpmsrate: increase quanta weight .
-
-2001/04/08 fabman
-
- * share/po/es.po: updated spanish .po files
-
-2001/04/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: correct my mistakes on removing some modules from stage1 and
- stage2 (-> remove only from stage1)
-
-2001/04/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/compssUsers.desktop, standalone/draknet: Fixed some english typos
-
- * standalone/net_monitor, netconnect.pm: Some English changes
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Fixed some english typos
- Updated pot file and various po files
-
-2001/04/08 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (write): remove debugging info :-(
-
- * bootloader.pm (suggest): add option "quiet" to the kernel in fb
- (requested by chmou)
-
- * install_steps.pm (afterInstallPackages): remove setting of kde charset
- in kdeglobals (kde is a grown-up now)
-
-2001/04/08 siegel
-
- * share/po/de.po: new german version
- updates
-
-2001/04/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo
- typo
- net_monitor incorporation
-
- * standalone/net_monitor, Makefile.config: net_monitor incorporation
-
-2001/04/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po: updated Croatian files
-
- * share/po/wa.po, share/po/sr.po, share/po/sp.po, share/po/DrakX.pot,
- share/po/ko.po, share/po/it.po: Updated Korean, Italian, Serbian and
- Walloon files
-
-2001/04/07 warly
-
- * share/compssUsers: PCL-CVS release v2_9_9
- Repository : :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker
- Working directory: /home/warly/local/share/mdk/gi/perl-install/share/
- In directory .:
- Modified compssUsers
- In directory po:
- patched Up-To-Date po/DrakX.pot
- patched Up-To-Date po/ca.po
- patched Up-To-Date po/de.po
- patched Up-To-Date po/hr.po
- patched Up-To-Date po/id.po
- patched Up-To-Date po/it.po
- patched Up-To-Date po/ja.po
- patched Up-To-Date po/ko.po
- patched Up-To-Date po/sp.po
- patched Up-To-Date po/sr.po
- patched Up-To-Date po/vi.po
- patched Up-To-Date po/wa.po
-
- --------------------- End ---------------------
- -- last cmd: cvs -f update -d -P --
-
- * share/rpmsrate: PCL-CVS release v2_9_9
- Repository : :ext:warly@cvs.mandrakesoft.com:/home/cvs/cooker
- Working directory: /home/warly/local/share/mdk/gi/perl-install/share/
- In directory .:
- Modified rpmsrate
-
- --------------------- End ---------------------
- -- last cmd: cvs -f update -d -P --
-
-2001/04/06 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed absence of /boot in install CD for oem stuff.
-
-2001/04/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: use jeff's suggestions to remove some old stuff
- Sun Happy Meal only for Sparc
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/probing.c, mdk-stage1/modules.c:
-
- - do not print warning when we are in AUTOMATIC and insmod failed
- because of file-not-found in mar file (raid cards, etc)
- - print "please include msg from Alt-F3" for this warning message to
- ease further support
- - print pci entry of cards found in te logs
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c,
- mdk-stage1/mkinitrd_helper/Makefile: steal raid_autorun from rh
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po, share/po/id.po: Updated Catalan and Indonesian files
-
- * share/po/ja.po, share/po/vi.po: Updated Japanese and Vietnamese files
-
-2001/04/06 siegel
-
- * share/po/de.po: updates
-
-2001/04/06 yduret
-
- * standalone/drakgw: swap cancel/configure button
-
-2001/04/06 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: dead code
-
- * standalone/net_monitor: updated
-
- * netconnect.pm: be quiet
-
-2001/04/06 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed absence of /boot in install CD for oem stuff.
- fixed if label does not exists and grub refuse to read.
-
- * install_steps_interactive.pm: fixed typo for cups checking of
- installation.
- fixed "No printer" after configuring cups for remove server.
- added log for CD medium chosen par user.
-
- * pkgs.pm: added killing on child process of transaction that have been
- detached (typically
- with pid > transaction_pid and parent is 1).
-
-2001/04/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - correct yvounetification in i18n stuff
- - remove some remaining debugging printings
- - add a bit more of explanations when starting drakgw in wizard mode
-
- * modules.pm: re integrate some TR net cards
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/probing.c, mdk-stage1/modules.c:
-
- - do not print warning when we are in AUTOMATIC and insmod failed
- because of file-not-found in mar file (raid cards, etc)
- - print "please include msg from Alt-F3" for this warning message to
- ease further support
- - print pci entry of cards found in te logs
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Thai file
- Updated pot file
-
-2001/04/06 yduret
-
- * standalone/drakgw: swap cancel/configure button
-
-2001/04/06 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: addde tk like routines
-
- * netconnect.pm: be quiet
- correctedInternetAccessTye and ADSLType
-
- * Makefile: iCorrected missing file install_any.pm. pixel sux.
-
- * standalone/draknet2: dead code
-
- * standalone/net_monitor: updated
- updated
- updated
- updated
- updated
- added
-
- * pixmaps/net_d.png, pixmaps/net_c.png: added
-
- * share/logo-mandrake.png: new icon
-
-2001/04/06 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: fixed if label does not exists and grub refuse to
- read.
-
- * install_steps_interactive.pm: fixed typo for cups checking of
- installation.
- fixed "No printer" after configuring cups for remove server.
- added log for CD medium chosen par user.
-
- * pkgs.pm: added killing on child process of transaction that have been
- detached (typically
- with pid > transaction_pid and parent is 1).
-
-2001/04/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Thai file
- Updated pot file
-
-2001/04/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: instead of removing modules.cz-2.2*, remove
- every modules.cz except the
- biggest one
-
- * install_steps.pm, fs.pm, install2.pm: create install_any::write_fstab
- and use it
-
- * install_any.pm: add write_fstab
- create install_any::write_fstab and use it
-
-2001/04/06 yduret
-
- * bootlook.pm: minor fix
-
- * standalone/drakgw: recoded a embedded && gtk mode
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (fs_options): created (gets codepage and iocharset)
-
- * common.pm (if_): better logging of the error
-
-2001/04/06 Pixel <pixel@mandrakesoft.com>
-
- * tools/make_mdkinst_stage2: instead of removing modules.cz-2.2*, remove
- every modules.cz except the
- biggest one
-
- * install_steps.pm, fs.pm, install2.pm: create install_any::write_fstab
- and use it
-
- * install_any.pm: add write_fstab
- create install_any::write_fstab and use it
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakboot:
- - fix getting result of fsedit::hds
- - cleanup
-
- * lang.pm (fs_options): created (gets codepage and iocharset)
-
- * common.pm (if_): better logging of the error
- (getVarsFromSh): fix for AA="" inspired by chmou the Great (but the
- Great
- what?)
-
- * bootloader.pm (install_grub): small fix
- (install_lilo): fix lilo's dumbness (when lilo warns about not the first
- drive, it usually fails)
-
- * diskdrake.pm (More): created, asks for supermount, rescue pt, reload.
-
- * install_steps_interactive.pm (addUser): default autologin to first user
- in beginner
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (autologin): fix
- ask for autologin
-
- * install_steps_interactive.pm: ask for autologin
- (generateAutoInstFloppy): do not use $o->{pcmcia} to know if pcmcia.img
- was used. Better have a look at /proc/cmdline
-
- * bootloader.pm (install_lilo): fix lilo's dumbness (when lilo warns about
- not the first drive, it usually fails)
-
- * pkgs.pm, share/rpmsrate:
- - s/PCI/HW/
- - add rio500
-
- * install_any.pm (kernelVersion): fix enormous stupid typo
-
- * common.pm (getVarsFromSh): fix for AA="" inspired by chmou the Great
- (but the Great
- what?)
-
- * install_steps.pm (exitInstall): oups, report_bug is no more in
- commands::
-
- * diskdrake.pm (More): created, asks for supermount, rescue pt, reload.
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): invert the meaning of 'Show
- automatically selected
- packages' to go along with the new description
-
- * Xconfigurator.pm (write_XF86Config): try to have $_ interpreted
- (otherwise you get things like ``InputDevice "Stylus$_" "AlwaysCore"'')
-
- * install_any.pm (kernelVersion): fix enormous stupid typo
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * install_steps.pm (exitInstall): oups, report_bug is no more in
- commands::
- (configureXBefore): fix the xkb verification (was broken for things like
- ``de(nodeadkeys)'')
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * any.pm: ask for autologin
-
- * fs.pm (format_reiserfs): quietly format reiserfs
-
- * commands.pm:
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * install_steps_interactive.pm: ask for autologin
- (generateAutoInstFloppy): do not use $o->{pcmcia} to know if pcmcia.img
- was used. Better have a look at /proc/cmdline
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * share/rpmsrate:
- - add ldetect
- - the default Aurora chose is the categorizing one
-
-2001/04/05 siegel
-
- * share/po/de.po: fixed typo
-
-2001/04/05 yduret
-
- * bootlook.pm: fix pablo mess
- install autolgin just if we want to autolog :)
-
-2001/04/05 dam's <damien@mandrakesoft.com>
-
- * ChangeLog, bootloader.pm: readded passwd. Must verify that it's secure
- vs msec.
-
- * my_gtk.pm: added gtksize
-
-2001/04/05 fcrozat
-
- * share/rpmsrate: No longer propose nautilus-mozilla (required by
- nautilus)
- propose nautilus-trilobite (for Eazel services)
-
-2001/04/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): invert the meaning of 'Show
- automatically selected
- packages' to go along with the new description
-
- * commands.pm, install_steps_interactive.pm, install_any.pm:
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
- * fs.pm (format_reiserfs): quietly format reiserfs
-
- * Xconfigurator.pm (write_XF86Config): try to have $_ interpreted
- (otherwise you get things like ``InputDevice "Stylus$_" "AlwaysCore"'')
-
- * share/rpmsrate:
- - add ldetect
- - the default Aurora chose is the categorizing one
-
- * install_steps.pm (configureXBefore): fix the xkb verification (was
- broken for things like ``de(nodeadkeys)'')
- - move report_bug in install_any
- - g_auto_install generates the auto_inst.cfg string without output'ing
- it
-
-2001/04/05 siegel
-
- * share/po/de.po: fixed typo
-
-2001/04/05 yduret
-
- * bootlook.pm: fix pablo mess
- install autolgin just if we want to autolog :)
-
-2001/04/04 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added SCANNER and PHOTO groups
-
-2001/04/04 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: make sure to insmod parport_probe alone as it is not
- available in 2.4 kernel and
- this this not a problem (silent error).
- added complete callback to check queue name under cups does contains
- only letters, numerics or underscore.
-
- * install_steps_interactive.pm: fixed printer description in summary.
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * Xconfigurator.pm: removed limitation to 24 bits for SiS card, make sure
- to remove 32 bits depth
- for such card.
-
- * detect_devices.pm: fixed parport probe for printer under 2.4 kernel.
-
- * diskdrake.pm: fixed adding 1 to size for resize2fs, causing a corruption
- some times.
-
- * printer.pm: added die on error of lpadmin.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/az.po: Updated Azeri and Slovak files
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (tv): add ultracam & usbvideo
- (@skip_modules_on_stage1): kaweth and pegasus doesn't work on stage1, so
- skip them
- (@skip_modules_on_stage1): kaweth and pegasus doesn't work on stage1, so
- skip them
-
- * install_any.pm (kernelVersion): cleanup
-
-2001/04/04 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_any.pm: kernelVersion mods for PPC
-
-2001/04/04 daouda
-
- * share/rpmsrate: add gatos for ati tv card .
-
-2001/04/04 Frederic Lepied <flepied@mandrakesoft.com>
-
- * share/rpmsrate: added SCANNER and PHOTO groups
-
-2001/04/04 François Pons <fpons@mandrakesoft.com>
-
- * live_install: unset locale environment for safety
-
- * detect_devices.pm: added missing LD_LOADER reference for /bin/dmesg
- (needed for live upgrade so
- that error message are not printed)
-
- * diskdrake.pm: fixed adding 1 to size for resize2fs, causing a corruption
- some times.
-
- * install_steps_gtk.pm: fixed to use SHARE_PATH instead of /usr/share
-
- * any.pm, netconnect.pm: use SHARE_PATH instead of /usr/share
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): better handling for tv, photo and scanner
-
- * modules.pm (@skip_modules_on_stage1): kaweth and pegasus doesn't work on
- stage1, so skip them
- - add photo, tv and scanner
- - add pegasus and kaweth modules
-
-2001/04/04 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo
-
-2001/04/04 daouda
-
- * share/rpmsrate: add gatos for ati tv card .
- reput klyx but in lower weight (2)
- removed klyx from rpmsrate (bad idea according to pixel )
- add klyx in install "Office KDE"
-
-2001/04/04 François Pons <fpons@mandrakesoft.com>
-
- * live_install: unset locale environment for safety
-
- * detect_devices.pm: added missing LD_LOADER reference for /bin/dmesg
- (needed for live upgrade so
- that error message are not printed)
-
- * install_steps_gtk.pm: fixed to use SHARE_PATH instead of /usr/share
-
- * any.pm, netconnect.pm: use SHARE_PATH instead of /usr/share
-
- * install2.pm: added selectPackagesToUpgrade the first time choosePackages
- is called.
-
- * install_steps.pm: disable frame buffer for Matrox cards.
-
- * install_any.pm: fixed multiple wait message (looking+finding packages)
-
-2001/04/04 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): better handling for tv, photo and scanner
-
- * modules.pm (@skip_modules_on_stage1): kaweth and pegasus doesn't work on
- stage1, so skip them
- - add photo, tv and scanner
- - add pegasus and kaweth modules
-
- * share/compssUsers: remove TV (it is a hardware flag)
-
-2001/04/03 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: keep mount point configuration trhough multi-passes of
- diskdrake and others.
-
- * Xconfigurator.pm: prefer XF3 for SiS card.
-
-2001/04/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/sp.po, share/po/ko.po: Updated Korean file
-
-2001/04/03 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: do not use isSpecial which should only be used on
- partitions
- (main): do not have loopback pseudo hd in hds out of diskdrake
-
- * modules.pm (load_raw): add the require install_any
-
- * share/rpmsrate: restore Aurora (i really don't understand what i've done
- with flag AURORA a month ago) to a simple behaviour
-
- * install_steps_interactive.pm (choosePackages): do not make a special
- case for upgrades (was: select the
- min size, which was on contradiction with profile selection)
-
- * fs.pm (real_format_part): give "-v 1" to mkreiserfs if kernel is 2.2
-
- * standalone/mousedrake: fix horrible error (using an undefined $o)
-
- * share/list: add back mkreiserfs
-
- * standalone/XFdrake: don't start xfs if skiptest
-
- * fsedit.pm (get_fstab): restore loopback::loopbacks because hds contains
- only true
- hard drives (not pseudo one like raid, loopback and lvm)
-
- * bootloader.pm (suggest): trap strange error. Should not really fix the
- pb
-
- * install_steps.pm (setupBootloaderBefore): nicer Aurora presence
- detetection
-
- * lang.pm (charset): fix for chineese which have charset in the name
-
- * Makefile: no more special case for mkreiserfs (can be done via -v 1)
-
- * install_steps_gtk.pm (choosePackagesTree): better name than "Automatic
- dependencies"
-
- * install_any.pm (setPackages): don't preselect profiles in upgrade
- (setPackages): handle Flag:<theflag>
- (setPackages): install kernel22 if install kernel is a 2.2
-
- * lvm.pm (get_lvs): remove the setting of flag isFormatted which was wrong
- (didn't
- propose to format it)
- protect the loading of module lvm-mod
-
-2001/04/03 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm, mouse.pm: PPC keyboard/mouse button
- emulation
-
-2001/04/03 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: a lot of bugfixs
- corrected bad flag test
- corrected bad priority
-
- * standalone/draknet: typo
- bug fixes
- removed debugging messages and Data::Dumper
- corrected bad flag test
-
-2001/04/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po, share/po/DrakX.pot: Updated Vietnamese file
-
-2001/04/03 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_raw): add the require install_any
-
- * share/rpmsrate: restore Aurora (i really don't understand what i've done
- with flag AURORA a month ago) to a simple behaviour
-
- * lang.pm (charset): fix for chineese which have charset in the name
-
- * install_steps.pm (setupBootloaderBefore): nicer Aurora presence
- detetection
-
- * Makefile: no more special case for mkreiserfs (can be done via -v 1)
-
- * install_steps_interactive.pm (choosePackages): do not make a special
- case for upgrades (was: select the
- min size, which was on contradiction with profile selection)
-
- * fs.pm (real_format_part): give "-v 1" to mkreiserfs if kernel is 2.2
-
- * install_steps_gtk.pm (choosePackagesTree): better name than "Automatic
- dependencies"
-
- * install_any.pm (setPackages): don't preselect profiles in upgrade
- (setPackages): handle Flag:<theflag>
- (setPackages): install kernel22 if install kernel is a 2.2
-
- * share/list: add back mkreiserfs
-
- * standalone/XFdrake: don't start xfs if skiptest
-
- * lvm.pm (get_lvs): remove the setting of flag isFormatted which was wrong
- (didn't
- propose to format it)
- protect the loading of module lvm-mod
-
-2001/04/02 dam's <damien@mandrakesoft.com>
-
- * modules.pm: corrected petite's mistake
-
- * netconnect.pm: protecting against non existent files
-
-2001/04/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/make_boot_img, mdk-stage1/.cvsignore: fix
- comply to all.kernels policy
-
- * tools/make_mdkinst_stage2: fix remove of alternate cz modules
-
-2001/04/02 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/cs.po: Updated Czech file
-
- * lang.pm: codepage option to mount requires only numeric values, eg "437"
- and not "cp437"
- Changed accordingly in the lists
-
- * share/rpmsrate: Install latin2 Postscript fonts for latin2 locales,
- install fonts-ttf-thai for Thai locale
-
-2001/04/02 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile: small cleanup for pcmcia_probe.c
-
- * tools/Makefile (install): s/-r/-rf/
-
- * install_any.pm (setPackages): s/reiserfs-utils/reiserfsprogs/
- (setPackages): install imwheel if nbuttons > 3
-
- * c/Makefile.PL: small cleanup for pcmcia_probe.c
- don't use pcmcia_probe.o from stage1, better compile it here, otherwise
- perl-install require mdk-stage1 to do compiled => circular dependency
-
- * Makefile: ignore dams or at least dams errors
-
- * c/.cvsignore: add pcmcia_probe.c
-
-2001/04/02 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/make_rescue_img: fix pixelization (aka take advantage of
- all.kernels/.main)
-
-2001/04/02 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile (install): s/-r/-rf/
-
-2001/03/30 Pixel <pixel@mandrakesoft.com>
-
- * tools/Makefile (install): fix the globbing for packdrake.pm and
- rpmtools.pm
-
-2001/03/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/drvinst: test for "Card:" and not install, some videoboards are
- not reported as DISPLAY_VGA :-(
-
- * tools/make_mdkinst_stage2, docs/HACKING, rescue/make_rescue_img,
- mdk-stage1/pci-resource/update-pci-ids.pl, docs/README: support more
- than one boot kernel :-)
-
- * rescue/list.i386: add reiserfsck
-
-2001/03/29 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: bad message at the end if kernel2.4
-
- * netconnect.pm: added missing Device in Ethx when saving/loading
-
- * standalone/draknet: translation
-
-2001/03/28 dam's <damien@mandrakesoft.com>
-
- * standalone/tinyfirewall: typo
-
- * interactive_gtk.pm: corrected pixel shit if embedded
-
- * standalone/draksec: embedded mode
-
- * standalone/draknet: corrected gtkpng in gtkwpm
- added translation
-
- * bootlook.pm: cute button box
-
- * tinyfirewall.pm: workaround to make it work if kernel 2.4
-
-2001/03/28 fcrozat
-
- * share/rpmsrate: gmc is back in standard GNOME install, for people with
- existing home
-
-2001/03/28 François Pons <fpons@mandrakesoft.com>
-
- * standalone/mousedrake, mouse.pm, standalone/XFdrake: fixed for
- standalone XFdrake and mousedrake (multi-mouse and
- correct probe (USB)).
-
- * Xconfig.pm: re-fix mouse fix.
- fixed wrong mouse probe.
- fixed for standalone XFdrake and mousedrake (multi-mouse and
- correct probe (USB)).
-
- * Xconfigurator.pm: restore multi mouse support for XF3.
-
-2001/03/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/ca.po, share/po/tr.po: Updated Catalan, Danish,
- Finnish, Croatian and Turkish files
-
- * share/po/sk.po, share/po/ko.po: Updated Finnish, Korean and Slovak files
-
- * share/po/az.po: Updated Azeri and Danish files
-
- * share/po/fi.po: Updated Catalan, Danish, Finnish, Croatian and Turkish
- files
- Updated Finnish, Korean and Slovak files
-
- * share/po/da.po: Updated Catalan, Danish, Finnish, Croatian and Turkish
- files
- Updated Azeri and Danish files
-
-2001/03/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: add fstab in the log
-
- * interactive_gtk.pm: better default_size setting
-
- * commands.pm: fix typo
- add fstab in the log
-
- * install_gtk.pm (test_mouse): ensure the test mouse is not too big
-
-2001/03/28 warly
-
- * share/rpmsrate: add some commercial apps
-
-2001/03/27 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: added kill USR2 before main
-
- * share/help.png: changed help button
-
- * share/help.xpm: changed help
-
- * tinyfirewall.pm: workaround to make it xork.
-
-2001/03/27 François Pons <fpons@mandrakesoft.com>
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: update boot image.
-
- * Xconfigurator.pm: fixed mouse support for XF3, only one mouse supported
- currently.
-
-2001/03/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: force 8192 bytes for nfs transfers
-
-2001/03/27 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/i18n_compssUsers, share/po/vi.po, share/po/fi.po,
- share/po/br.po, share/po/DrakX.pot, share/po/ko.po, share/po/ja.po,
- share/po/wa.po, share/po/de.po, share/po/id.po: Updated Vietnamese,
- Indonesian, Japanese, Korean and Walloon files
- changed i18n_compssUsers to make "path" i18n'able
-
-2001/03/27 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: warnAboutNaughtyServers
- (setPackages): default profiles selection to GNOME, KDE, CONFIG
-
- * install_steps_interactive.pm: warnAboutNaughtyServers
- (summary): fix displaying of printer configured
-
- * pkgs.pm: warnAboutNaughtyServers
-
- * install_steps_gtk.pm (installPackages): catch the no png file exception
- (in case warly is dumb again)
-
- * my_gtk.pm: try to fix displaying in draksec
- (create_box_with_title): save the box_size in field "box_size"
-
- * install2.pm, any.pm: remove use of Bastille. get back to the good state
- we had :)
-
- * interactive_gtk.pm: try to fix displaying in draksec
-
- * share/rpmsrate: move back Bastille-Curses-module to CONFIG
- - cleanup LOCALES"zh_*": when there is LOCALES"zh_*", there is
- LOCALES"zh"
- - raise WindowMaker
- - add xfce
- - am-utils is a server
- - raise some stuff in CONFIG to have stuff there
- - remove drakxtools from CONFIG (DrakConf requires drakxtools)
- - DrakConf from 5 to 4
-
- * lang.pm (langsLANGUAGE): give the list of languages
-
-2001/03/27 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm: change verbage on bootloader warning
-
-2001/03/27 siegel
-
- * share/po/de.po: minor typo-fixes
-
-2001/03/27 dam's <damien@mandrakesoft.com>
-
- * share/help.png: changed help button
-
- * share/help.xpm: changed help
-
-2001/03/27 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, pkgs.pm: fixed too early erasing of old rpmlib db. now
- postponed at end of install
- and only if rpm-4.0 or above has been installed.
-
- * mdk-stage1/init-data/msgboot-graphicallogo.img.bz2: update boot image.
-
- * Xconfigurator_consts.pm, mouse.pm, Xconfigurator.pm, Xconfig.pm: added
- support for two mice (laptop). The second mice is generally PS/2 as
- probe can says it is present.
-
-2001/03/27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: force 8192 bytes for nfs transfers
-
-2001/03/27 Pixel <pixel@mandrakesoft.com>
-
- * any.pm, install2.pm: remove use of Bastille. get back to the good state
- we had :)
-
- * install_any.pm: warnAboutNaughtyServers
- (setPackages): default profiles selection to GNOME, KDE, CONFIG
-
- * share/rpmsrate: move back Bastille-Curses-module to CONFIG
- - cleanup LOCALES"zh_*": when there is LOCALES"zh_*", there is
- LOCALES"zh"
- - raise WindowMaker
- - add xfce
- - am-utils is a server
- - raise some stuff in CONFIG to have stuff there
- - remove drakxtools from CONFIG (DrakConf requires drakxtools)
- - DrakConf from 5 to 4
-
- * install_steps_interactive.pm: warnAboutNaughtyServers
- (summary): fix displaying of printer configured
-
- * lang.pm (langsLANGUAGE): give the list of languages
-
- * pkgs.pm: warnAboutNaughtyServers
-
- * install_steps_gtk.pm (installPackages): catch the no png file exception
- (in case warly is dumb again)
-
-2001/03/27 siegel
-
- * share/po/i18n_compssUsers: i18n group names
-
- * share/po/de.po: minor typo-fixes
- new german version
-
-2001/03/26 daouda
-
- * share/rpmsrate: add mandrake_desk and rootfiles to SYSTEM (rpmsrate)
-
-2001/03/26 fcrozat
-
- * share/rpmsrate: Install xscreensaver when installing GNOME
-
-2001/03/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: first attempt at pixelization of code (till's cups
- patches)
-
-2001/03/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/hr.po, share/po/wa.po: Updated Croatian, vietnamese and Walloon
- files
-
- * share/po/vi.po: Updated Croatian, vietnamese and Walloon files
- Updated Portuguese, Swedish and Thai files
-
- * share/po/pt.po, share/po/th.po, share/po/es.po, share/po/de.po,
- share/po/sv.po: Updated Portuguese, Swedish and Thai files
-
-2001/03/25 Pixel <pixel@mandrakesoft.com>
-
- * http.pm (getFile): verify the return value of the server. If not 200
- (aka Ok),
- return undef
-
- * install_steps_interactive.pm (configurePrinter): add Mesa-common for xpp
- and libqtcups2 for kups in
- pkg_install_if_requires_satisfied
-
-2001/03/25 siegel
-
- * share/po/de.po: new german version
-
-2001/03/25 fabman
-
- * share/po/es.po: updated spanish .po file
-
-2001/03/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: Updated Korean file
-
- * share/po/sv.po: Updated Swedish file
-
-2001/03/25 Pixel <pixel@mandrakesoft.com>
-
- * http.pm (getFile): verify the return value of the server. If not 200
- (aka Ok),
- return undef
-
- * install_steps_interactive.pm (configurePrinter): add Mesa-common for xpp
- and libqtcups2 for kups in
- pkg_install_if_requires_satisfied
-
- * any.pm (ask_users): fix dead-loop
-
- * bootloader.pm (suggest): add entry for nt
-
-2001/03/25 siegel
-
- * share/po/de.po: new german version
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/vi.po: Updated Vietnamese file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove the "use common" which
- is unneeded (and "member" of merge2pcitable
- was clashing)
-
- * any.pm (ask_users): when "Done" is pressed, do "Accept User" if a user
- is given.
-
- * install_steps.pm (addUser): disable_user_view (in kdm/gdm) if no users
-
- * install_any.pm (disable_user_view): created, takes care of gdm too
- (taken from msec)
-
- * mouse.pm (detect): fix francois... uh, no too hard. easier to fix
- francois's bugs ;pp
-
- * timezone.pm (%l2t): fix for fuzzyChoice
-
- * share/keyboards.tar.bz2:
- - readding with -kb
- - fixing permissions on xmodmap.kr
- remove before adding again with -kb
-
- * modules.pm: have natsemi in network.img
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Azeri file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): fix francois... uh, no too hard. easier to fix
- francois's bugs ;pp
-
- * timezone.pm (%l2t): fix for fuzzyChoice
-
- * modules.pm:
- - add missing modules (now in sync with pcitable)
- - add 'media' class
- - cleanup
-
-2001/03/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Updated Azeri file
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (copy_advertising): fix escaping $f causing perl to
- segfault :-(
- (copy_advertising): handle i18n'ed advertising
-
- * pkgs.pm: cleanup
-
- * modules.pm:
- - add missing modules (now in sync with pcitable)
- - add 'media' class
- - cleanup
-
-2001/03/24 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected bad exited. reincorporated some ugly code,
- need fixing
-
-2001/03/24 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (copy_advertising): handle i18n'ed advertising
-
- * modules.pm (read_stage1_conf): cleanup parport stuff obsolote in kernel
- 2.4
-
-2001/03/23 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed screen id for Device to be present whenever the
- same BusID is used.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * printerdrake.pm: Do not ask to configure a printer if standalone,
- previously only for embended.
-
- * Xconfig.pm: fixed typo for wacom.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * mouse.pm, detect_devices.pm, install_steps_gtk.pm, install2.pm: added
- multiple tablet support (wacom), moved usb probe for mouse and tablet
- at the beginning.
-
-2001/03/23 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf_no_check): fix the fix fix fix
- (ask_from_listf_no_check): fix the fix fix
-
- * common.pm (formatError): created
-
- * network.pm (configureNetworkIntf): gray "IP address" and "Netmask" in
- DHCP/BOOTP
-
- * diskdrake.pm (try): format the error (no more "at line ...")
- (Add2LVM): "new" was not i18n'ed
-
- * install_steps_interactive.pm (exitInstall): no "cancel" button
-
- * partition_table.pm: add Empty to bad_types
-
- * fsedit.pm (change_type): When changing a partition type from ext2fs to
- Linux RAID
- (or LVM), the mount point should be removed.
-
-2001/03/23 siegel
-
- * share/po/de.po: new german version
-
-2001/03/23 dam's <damien@mandrakesoft.com>
-
- * tinyfirewall.pm: corrected bad translation
- correctedd typo
- updated
- code cleaning
- tinyfirewall now works.
-
- * Makefile.config: added tinyfirewall
-
- * any.pm, mouse.pm: added /dev/modem in modem list selection
-
- * standalone/drakxconf: added tinyfirewall entry
-
- * standalone/tinyfirewall: added update code
- updated wrapper to launch tinyfirewall in embedded mode
-
- * netconnect.pm: added /dev/modem in modem list selection
- netconnect doesn't write the file 1
-
-2001/03/23 fcrozat
-
- * share/rpmsrate: nautilus-mozilla and xalf are installed by default in
- GNOME
- gmc is not installed by default in GNOME
- gabber gaim are moved to instant messaging
- gcombust in moved to GNOME CD burner
- gtm is installed by GNOME/File transfer
- mozilla is installed by default as www browser
- galeon is installed by default as www browser for GNOME
-
-2001/03/23 François Pons <fpons@mandrakesoft.com>
-
- * tools/syncrpms: added size-stamp test to copy identical file in version,
- release.
-
- * Xconfig.pm: fixed typo for wacom.
- added multiple tablet support (wacom), moved usb probe for mouse and
- tablet
- at the beginning.
-
- * Xconfigurator.pm: added multiple tablet support (wacom), moved usb probe
- for mouse and tablet
- at the beginning.
- fixed wrong usage of Screen keyword in Device section, should be present
- and
- reseted for any multi head card with only one BusID.
-
- * mouse.pm, detect_devices.pm, install_steps_gtk.pm, install2.pm: added
- multiple tablet support (wacom), moved usb probe for mouse and tablet
- at the beginning.
-
-2001/03/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po, share/po/de.po, share/po/fi.po: Added Vietnamese file
- Updated Finnish file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po,
- share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/vi.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: Added Vietnamese file
-
-2001/03/23 Pixel <pixel@mandrakesoft.com>
-
- * any.pm: ifix the dams stuff
-
- * install_steps_interactive.pm (exitInstall): no "cancel" button
-
- * share/po/i18n_compssUsers: fix for better compliance with po format
-
- * netconnect.pm: ifix the dams stuff
- cleanup and enable gzip'ed isdn.db
-
- * Makefile: gzip ldetect-lst files
-
- * modules.pm: add i810_audio (still need a script to add missing one and
- keep in sync)
-
- * bootloader.pm (suggest_floppy): don't add an entry for non-fd0 drives
-
- * interactive.pm (ask_from_listf_no_check): fix the fix fix fix
- (ask_from_listf_no_check): fix the fix fix
- (ask_from_listf_no_check): fix the bad fix
-
- * common.pm (formatError): created
- (openFileMaybeCompressed, catMaybeCompressed): added
- (getVarsFromSh): take care of comments
-
- * network.pm (configureNetworkIntf): gray "IP address" and "Netmask" in
- DHCP/BOOTP
-
- * partition_table.pm: add Empty to bad_types
-
- * mouse.pm (detect): never probe psaux (workaround for kernel/xfree bug)
-
- * fsedit.pm (change_type): When changing a partition type from ext2fs to
- Linux RAID
- (or LVM), the mount point should be removed.
-
- * detect_devices.pm (isUSBFDUDrive, usbfdus): removed, doesn't scale
- (isFloppyOrHD): floppy type is 'fd', not 'floppy'
- (stringlist): nicer (a la new lspcidrake)
-
- * Xconfigurator.pm: enable use of gzip'ed Cards+, CardsNames and
- MonitorsDB
-
- * diskdrake.pm (try): format the error (no more "at line ...")
- (Add2LVM): "new" was not i18n'ed
-
-2001/03/23 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mouse.pm, bootloader.pm: mods to create/move image, to /export for PPC,
- use vmlinux for PPC
- prepend of_dev to initrd stanza in yaboot.conf
- add 1-button mouse for PPC
-
-2001/03/23 siegel
-
- * share/po/de.po: new german version
-
-2001/03/22 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * tools/i386/netboot/stage1.rtl8139, tools/i386/netboot/stage2.rtl8139:
- Add 8139 grub stage.
-
-2001/03/22 dam's <damien@mandrakesoft.com>
-
- * bootlook.pm: corrected mapn
-
- * standalone/draknet: removed use Data::Dumper
-
- * netconnect.pm: removed mail informat oin
- comment update
-
- * tinyfirewall.pm: removed use Data::Dumper
- working on tinyfirewall
-
-2001/03/22 fabman
-
- * share/po/es.po: changed "swap" for "intercambio" in the spanish .po
- files
- updated DrakX, menudrake and urpmi es.po files
-
-2001/03/22 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed wrong access to undefined value promoted to
- empty array reference.
-
-2001/03/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c, mdk-stage1/tools.h:
- - fix detection of more than 3 scsi attached devices
- - cleaner code for cmp of ptr against static strings
-
-2001/03/22 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake: remove test ugliness of dams
-
- * c/Makefile.PL: no pcmcia_probe in drakxtools
-
- * modules.pm (load_thiskind): indent as it should be
-
- * install_steps_interactive.pm (generateAutoInstFloppy): fix the message
- which was uptodate only for
- sparc :-(
-
- * Xconfigurator.pm: no need for "use Data::Dumper;"
-
-2001/03/22 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm: no imm,ppa PPC, scan mesh,mac53c94 scsi only, pmac should
- have been mace
-
-2001/03/22 yduret
-
- * bootlook.pm: mapn works tx dams
- nmap
- added mapn fun to reduce code.. testing it
- added install of rpm
- xpm png files
-
- * pixmaps/hori.png, pixmaps/gmon.png, pixmaps/tradi.png, pixmaps/hori.xpm,
- pixmaps/verti.png, pixmaps/gmon.xpm, pixmaps/tradi.xpm,
- pixmaps/verti.xpm: convert xpm to png
-
-2001/03/21 dam's <damien@mandrakesoft.com>
-
- * standalone/tinyfirewall, tinyfirewall.pm: new tinyfirewall conf tool
-
- * netconnect.pm: corrected /etc/sysconfig/network-scripts/net_up.* bug
-
-2001/03/21 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm: added pci id reference.
-
- * c/stuff.xs.pm: added support for pci id extraction.
-
- * Xconfigurator.pm: fixed wrong XFree4 version reference.
- fixed null string in monitor identifier.
- added multi-head support in XFdrake.
-
-2001/03/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: honour embedded mode
-
- * share/compssUsers: move NETWORKING_FILE (contains stuff for nfs
- mounting..) from Internet
- Station to Network Computer
-
-2001/03/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/pt.po, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/de.po,
- share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/ru.po,
- share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po,
- share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po: Updated
- Croatian and Serbian files
-
- * share/po/sp.po, share/po/sr.po: Updated Serbian files
- Updated Croatian and Serbian files
-
- * share/po/az.po: Updated Azeri file
- Updated Croatian and Serbian files
-
- * share/po/sk.po: Updated Azeri and Slovak files
- Updated Croatian and Serbian files
-
- * lang.pm: Added fields to charsets table holding info for mount
- (iocharset and
- codepage mount options)
-
-2001/03/21 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_default_packages): nice warning if mount in vfat fails
-
- * share/rpmsrate: move webmin to CONFIG
- remove ipchains and iptables, raise gfcc
-
- * docs/README: add cvs howto
-
- * install_steps_interactive.pm (summary): fix
-
- * detect_devices.pm: old code
-
- * bootloader.pm (install_lilo): ensure labels don't contain spaces, lilo
- doesn't like them
- (add_kernel): cleanup
- (suggest): make it work with kernel22-secure and no kernel22
-
- * modules.pm (when_load): move the alias sound to when_load, don't check
- ppc as it
- could be used for non-ppc
- (load_thiskind): fix pb causing imm,ppa,usb-storage to be tested for
- every
- load_thiskind, not only scsi one
-
- * c/stuff.xs.pm (from_utf8): as pablo said...
-
-2001/03/21 siegel
-
- * share/po/de.po: new german version
- new german version
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (@drivers_by_category): if_ization
- (load_thiskind): cleanup
-
-2001/03/21 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (add_kernel): cleanup
- (suggest): make it work with kernel22-secure and no kernel22
-
- * share/rpmsrate: remove ipchains and iptables, raise gfcc
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * interactive.pm: no wizard if warning
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: fix pcmcia functions only on x86
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
- * modules.pm (@drivers_by_category): if_ization
- (load_thiskind): cleanup
-
- * any.pm, install2.pm, share/rpmsrate: use bastille backend
-
- * c/stuff.xs.pm, c/Makefile.PL: fix pcmcia functions only on x86
-
- * install_steps.pm, install_any.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
-2001/03/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * modules.pm, install_steps_interactive.pm, any.pm: make_boot_img: add
- routine for - PPC
- any.pm: double "Append" entry in expert mode for yaboot.conf - PPC
- install_steps_interactive: setup dmasound - PPC
- modules.pm: load Mac hardware modules - PPC
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bug in reading resolv.conf, and changed chmod
- for net_cnx_*
-
- * interactive.pm: no wizard if warning
-
- * standalone/draknet: added update after {dis}connecting
-
-2001/03/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * diskdrake.pm: fix formatting of raid
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: use bastille backend
- - add nautilus
-
- * install_steps_interactive.pm: fix pcmcia functions only on x86
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
- (setupSCSI): don't pcmcia_probe if testing
- - tellAboutProprietaryModules moved to setupSCSI
- - miscellaneous step re-enabled, called Security
- - pcmcia_probe moved to setupSCSI, skipped in noauto
-
- * any.pm: use bastille backend
-
- * install2.pm: use bastille backend
- - tellAboutProprietaryModules moved to setupSCSI
- - miscellaneous step re-enabled, called Security
- - pcmcia_probe moved to setupSCSI, skipped in noauto
- have pcmcia_probe in stage2 (for non pcmcia.img, stage1 doesn't give the
- parameter any more)
-
- * netconnect.pm (modem_detect_backend): cleanup
-
- * c/stuff.xs.pm, c/Makefile.PL: fix pcmcia functions only on x86
- have pcmcia_probe in stage2 (for non pcmcia.img, stage1 doesn't give the
- parameter any more)
-
- * Makefile: install cardmgr
-
- * install_any.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
- (setPackages): install usbd in case of usb
-
- * install_steps.pm:
- - create install_any::unselectMostPackages
- - use it instead of pkgs::unselectAllPackages (otherwise
- default_packages ends up non-selected)
-
-2001/03/20 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * any.pm, netconnect.pm, detect_devices.pm: any.pm: enable module load PPC
- detect_devices.pm: forgot to remove commented code after test
- netconnect.pm: load macserial module for PPC
-
-2001/03/20 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet, netconnect.pm: improved connection windows, and
- loading / saving of /etc/sysconfig/network-scripot/netècnx*
-
-2001/03/20 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate:
- - add nautilus
-
- * install_any.pm (setPackages): install usbd in case of usb
-
- * Makefile: install cardmgr
-
-2001/03/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * fsedit.pm: fix loopback appearing twice in format partition
-
- * diskdrake.pm: fix "loopback" name of loopback tab in diskdrake
-
-2001/03/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: updated korean file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Updated po files
-
-2001/03/19 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (computeGroupSize): fix hacks, better hacks
- (saveCompssUsers): fix
-
- * install_steps_interactive.pm (chooseGroups):
- - make the computed size work
- - unselectAll when a profile is unselected
-
- * interactive_gtk.pm (ask_from_entries_refW): better sizing in case of
- scrolls
-
-2001/03/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: stage1.c: fix for rescue image PPC
-
-2001/03/19 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corrected graphical layout for newbies
-
- * netconnect.pm: added net_cnx_{up, down} save
-
-2001/03/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ko.po: updated korean file
- Updated po files
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Updated po files
-
-2001/03/19 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (computeGroupSize): fix hacks, better hacks
- (saveCompssUsers): fix
-
- * share/rpmsrate:
- - add rxvt-CJK
- - exchange xterm and rxvt
- - move bc from SCIENCES to SYSTEM
-
- * interactive_newt.pm (ask_from_entries_refW):
- - ensure the width is less than $width - 7 (in french and 80x25, the
- treelist was too big)
- - if term is very big, use 10 lines instead of 5
- - if no button is asked, but one in any case otherwise it's buggy
-
- * install_steps_interactive.pm (chooseGroups):
- - make the computed size work
- - unselectAll when a profile is unselected
-
- * interactive.pm (ask_from_listf_no_check): fix fix
- (ask_from_listf_no_check): fix the filtering of exceptions
-
-2001/03/19 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: stage1.c: fix for rescue image PPC
-
-2001/03/18 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/lomount.h, mdk-stage1/lomount.c, mdk-stage1/disk.c: fix for
- hd-install when you provide a not valid ISO (cd #2 for example)
-
- * mdk-stage1/frontend.h, mdk-stage1/minilibc.h, mdk-stage1/stage1.h,
- mdk-stage1/log.h: use some help with __attribute__
-
-2001/03/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/tree/etc/rc.sysinit: load sr_mod and sd_mod at startup
-
- * mdk-stage1/Makefile.mkinitrd_helper, mdk-stage1/.cvsignore: sync
-
- * mdk-stage1/stdio-frontend.c: handle left and right arrow keys, in
- editing ask_from_entries in stdio mode
-
- * mdk-stage1/pci-resource/Makefile: do not use marfiles for deps
-
-2001/03/17 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (write_langs): in case of empty %_install_langs, don't write it
-
- * install_steps.pm (pkg_install_if_requires_satisfied): better logging
-
- * share/rpmsrate: add gpm & evolution
-
-2001/03/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/insmod-busybox/utility.c: fix insmod calling realloc(0,0) to
- work with dietlibc
-
- * mdk-stage1/insmod-busybox/Makefile: also build standalone insmod-DIET
- for testing purposes..
-
- * mdk-stage1/mkinitrd_helper/Makefile: bump version to 1.0.1 for new
- mkinitrd package release
-
- * mdk-stage1/stdio-frontend.c: handle left and right arrow keys, in
- editing ask_from_entries in stdio mode
-
-2001/03/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sv.po: updated Swedish file
-
- * share/keyboards.tar.bz2: Added a Korean keyboard, fixed bug in Japanese
- keyboard
-
- * keyboard.pm: Added choice of Korean keyboard
-
-2001/03/17 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (write_langs): in case of empty %_install_langs, don't write it
-
- * install_steps.pm (pkg_install_if_requires_satisfied): better logging
-
- * share/rpmsrate: add gpm & evolution
-
-2001/03/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/Makefile: refine deps
-
- * mdk-stage1/mkinitrd_helper/mkinitrd_helper.c, mdk-stage1/Makefile,
- mdk-stage1/mkinitrd_helper/Makefile: write down mkinitrd_helper
-
- * mdk-stage1/insmod-busybox/insmod.c: force load
-
-2001/03/16 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): set flag "TV" when bttv hardware is there
-
- * share/compssUsers, share/rpmsrate: move out TV from VIDEO
-
- * diskdrake.pm (Type): fix the code verifying size >32 for reiserfs
-
- * modules.pm (write_conf): better logging
-
- * c/stuff.xs.pm: add from_utf8
-
- * c/stuff.pm (headerGetEntry): use from_utf8 on group, summary and
- description
-
-2001/03/16 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/magic, tools/ppc/mkhybrid-1.12b5.4, tools/ppc/convert,
- tools/ppc/yaboot, tools/ppc/mapping: gi/tools/ppc/convert, magic,
- mapping, mkhybrid-1.12b5.4, yaboot - re-add - my bad
- gi/tools/ppc/convert, magic, mapping, mkhybrid-1.12b5.4, yaboot -
- remove/re-add - did not use -kb switch - thx Pixel
-
-2001/03/15 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: SiS card are no more prefered for XF3.
- added standalone support to prefer XF3 or XF4 to
- keep current used server version.
-
- * standalone/XFdrake: remove duplicate begin label.
- take care of existing configuration.
-
-2001/03/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: skip dc395x_trm on stage1
- dc395x_trm is back in 2.4
-
- * share/compssUsers: try to enhance
-
-2001/03/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2001/03/15 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator_consts.pm, Xconfigurator.pm: andre@node1583e.a2000.nl says
- this is not needed anymore :)
-
-2001/03/15 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * tools/ppc/magic, tools/ppc/convert, tools/ppc/iboot,
- tools/ppc/mkINSTALLCD, tools/ppc/mkhybrid-1.12b5.4, tools/ppc/yaboot,
- tools/ppc/mapping: gi/tools/ppc/convert, magic, mapping, mkINSTALLCD,
- mkhybrid-1.12b5.4, yaboot: create PPC CD
-
- * install_steps_interactive.pm, detect_devices.pm, bootloader.pm:
- bootloader.pm, detect_devices.pm, install_steps_interactive.pm: changed
- temporary file read/write per Pixel
-
- * Xconfigurator.pm: force 1024x768 on Powerbook
-
- * tools/ppc/README: README: README for creating PPC boot CD
-
-2001/03/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: changed label + profile before types..
-
-2001/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po,
- share/po/i18n_compssUsers, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/Changelog, share/po/sk.po,
- share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po,
- share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po,
- share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po:
- corrected the script and updated po files
-
-2001/03/14 Pixel <pixel@mandrakesoft.com>
-
- * share/compssUsers: keep only one Development entry
-
- * install_steps_gtk.pm, pkgs.pm: fix the compssUsers interpretation
-
- * bootlook.pm: fix for perl2fcalls
-
- * install_steps_interactive.pm (chooseGroups): disable the size display as
- it is wrong (for the beta2)
-
-2001/03/14 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm,
- partition_table_mac.pm, bootloader.pm: fix bootstrap partition
- creation/tracking
- allow Xpmac to launch in 2 modes based on cmdline
-
-2001/03/14 siegel
-
- * share/po/de.po: new german version
-
-2001/03/14 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: changed label + profile before types..
-
-2001/03/14 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed unselect management of choice, propagate unselection
- correctly to all
- packages requiring unselected package.
-
- * install_any.pm: use LD_LOADER when invoking parshedlist.
-
-2001/03/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po, share/po/nl.po: updated Norwegian file
-
- * share/locales.tar.bz2, share/gconv.tar.bz2, share/list,
- share/fonts.tar.bz2: new fonts and locale files
-
- * share/po/ko.po: Fixed email of Korean translator
- updated Korean file
-
- * install_steps_interactive.pm, install_gtk.pm, lang.pm, keyboard.pm:
- completed language list
- completed language->keyboard guessing list
- aesthetic changes to an English message (removed \n and let gtk+
- do the formatting, it is nicer)
-
- * share/po/az.po: Updated Azeri file
-
-2001/03/14 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: fix the compssUsers interpretation
- (readCompssUsers): change the key of compssUsers, added "label"
- (computeGroupSize): fix bug
- (computeGroupSize): fix logging
-
- * share/gconv.tar.bz2: moved to share/list
-
- * bootlook.pm: fix for perl2fcalls
-
- * share/rpmsrate: CLIENT & SERVER is prohibited
-
- * timezone.pm:
- - add many timezones
- - defaults to GMT
- - verifier added
-
- * install_steps_gtk.pm: fix the compssUsers interpretation
- (choosePackagesTree): fix
-
- * common.pm (bestMatchSentence, bestMatchSentence2): in wantarray, return
- the number
- of matched words/characters
-
- * share/compssUsers: keep only one Development entry
- CLIENT & SERVER is prohibited
-
- * install_steps_interactive.pm (chooseGroups): disable the size display as
- it is wrong (for the beta2)
- (chooseGroups): add path for seperating groups, use "label" for the
- group text
-
- * Makefile: remove gconv
-
-2001/03/13 siegel
-
- * share/po/de.po: Fixed typos.
-
-2001/03/13 siegel
-
- * share/po/de.po: Fixed typos.
-
-2001/03/13 dam's <damien@mandrakesoft.com>
-
- * share/help.png: changed
-
-2001/03/13 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm, install_steps_gtk.pm: compss is deprecated. use compssUsers
- for the tree
-
- * standalone/drakgw: pixelization
-
- * share/rpmsrate: HDF can't be at the beginning of the line or it will be
- taken as a flag
- moved icewm to SYSTEM with !KDE !GNOME
-
- * pkgs.pm: compss is deprecated. use compssUsers for the tree
- (readCompssUsers): get the "path"
-
- * install_steps.pm: compss is deprecated. use compssUsers for the tree
- renamef created and used
-
- * detect_devices.pm (burners): don't use cdroms() which return scdX for
- ide burners, and
- isBurner don't use the same technique. so use get() and grep for type
- "cdrom"
-
- * install_any.pm: compss is deprecated. use compssUsers for the tree
- (setPackages): set {compssUsersChoice}{PCMCIA} if hasPCMCIA
- renamef created and used
-
- * install_steps_interactive.pm: compss is deprecated. use compssUsers for
- the tree
- (chooseGroups): fix to get back the icons
- (chooseGroups): size computed should work
-
- * common.pm: renamef created and used
-
-2001/03/13 siegel
-
- * share/po/de.po: new german translation
-
-2001/03/13 warly
-
- * share/compssUsers: fix {W,w}orkstation
- remove ^Server and ^Development
-
-2001/03/13 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakgw: pixelization
-
- * install_steps_interactive.pm (chooseGroups): size computed should work
-
- * share/rpmsrate: moved icewm to SYSTEM with !KDE !GNOME
-
- * install_steps.pm, common.pm, install_any.pm: renamef created and used
-
-2001/03/12 dam's <damien@mandrakesoft.com>
-
- * Makefile: removed wizard pixmap from install
-
- * pixmaps/wiz_internet.png, pixmaps/wiz_internet_left.png: updated
- added pixmap for wizard
-
- * my_gtk.pm: new wizard layout, with pixmaps.
- added ugly workaround for ugly Hseparator
-
- * share/step-red.png, share/step-orange.png, share/step-orange-click.png,
- share/step-green-click.png, share/step-green.png, share/step-red-on.png,
- share/step-orange-on.png, share/step-green-on.png,
- share/step-green_s.png, share/step-red-click.png: removing bad png
- files...
-
- * share/help.png: new help button. blah
-
- * install_any.pm: typo
-
- * pixmaps/wiz_default_left.png, pixmaps/wiz_default_up.png: updated
-
- * netconnect.pm: corrected askokcancel -> askyesorno
-
- * interactive.pm: corrected bad okcanel in wizard mode
-
- * install_steps_interactive.pm: added $::isInstall
-
- * share/logo-mandrake_trans.png: new logo for other themes
-
- * services.pm: removed use Data::Dumper
- corrected bug in display
-
-2001/03/12 François Pons <fpons@mandrakesoft.com>
-
- * modules.pm, lang.pm, commands.pm, detect_devices.pm, pkgs.pm,
- live_install2: fixed live update between GLIBC 2.1 and GLIBC 2.2. should
- work for other
- combination but not tested. fixed locale usage and gtk environment
- interaction (added LOCPATH, GCONV_PATH and GTK_EXE_PREFIX).
- created LD_LOADER environment variable to keep track of right ELF loader
- to be used for the GLIBC used by the live update. added internal PATH
- to LD_LIBRARY_PATH as ELF loader only check this one and not PATH.
-
-2001/03/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - make it work as a wizard
- - make it work with iptables (kernel-2.4)
-
- * modules.pm: reflect Jeff Garzik's answers to my questions on kernel@
-
-2001/03/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/DrakX.pot, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/bg.po, share/po/de.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/br.po, share/po/ca.po,
- share/po/cy.po, share/po/uk.po, share/po/wa.po, share/po/da.po,
- share/po/cs.po, share/po/zh_TW.Big5.po, share/po/af.po: Updated Basque
- file
-
-2001/03/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): save the compssUsers flattened
- for rpmdrake
-
- * install_steps_interactive.pm (summary): remove 'clicked' (labels are
- used)
- put everything in %compssUsers, use field flags for the flags :)
-
- * pkgs.pm (computeGroupSize): log what is found
- (saveCompssUsers): make it work
- (readCompssUsers): clean-up
- (saveCompssUsers): created
- put everything in %compssUsers, use field flags for the flags :)
- (computeGroupSize): created
-
- * share/rpmsrate: lower Zope (anyway Zope is not in main)
-
- * fsedit.pm (hds): search for existing lvm in @hds *and* @lvms
-
- * commands.pm (loadkeys): created
-
- * install_any.pm (setPackages): don't readCompssUsers with $o->{packages}
- (setPackages): kernel-secure doesn't exist anymore, use kernel22-secure.
- don't use kernel-secure as a kernel-smp.
- put everything in %compssUsers, use field flags for the flags :)
- (setPackages): set compssUsersChoice "3D" if 3D enabled graphic card
-
- * interactive_gtk.pm (ask_from_entries_refW): add $set for "label" entries
- add "label" type
-
- * share/compssUsers: change the path format
-
- * detect_devices.pm (get_mac_model): fix for perl2fcalls
-
- * interactive.pm: add "label" type
-
-2001/03/12 warly
-
- * share/compssUsers: add some NETWORKING_* that were empty
- dispach some DEVELOPMENT and SERVER to more appropriate groups
- added path
-
- * share/rpmsrate: add some NETWORKING_* that were empty
- dispach some DEVELOPMENT and SERVER to more appropriate groups
-
-2001/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ftp.pm: do not retry on 550 file unavailable
-
-2001/03/12 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (setPackages): set compssUsersChoice "3D" if 3D enabled
- graphic card
-
-2001/03/11 dam's <damien@mandrakesoft.com>
-
- * services.pm: no more restart button
-
-2001/03/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * ftp.pm: do not retry on 550 file unavailable
-
-2001/03/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (summary): fix clicked empty handler
-
- * share/rpmsrate:
- - lower tftp-server
- - a lot of modifs (thanks to Prana)
-
-2001/03/10 dam's <damien@mandrakesoft.com>
-
- * standalone/drakxservices: embedded mode
-
- * my_gtk.pm: added gtkset_border_width
- typo again
- typo
- added gtkmove
- added gtkset_modal and gtkappenditems
-
- * services.pm: fixed big bug.
- imajor improvement.
- improved.
-
-2001/03/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Korean file
-
-2001/03/09 dam's <damien@mandrakesoft.com>
-
- * standalone/drakxconf: added harddrake
-
- * my_gtk.pm: applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
- added gtkradio
-
- * bootlook.pm: workaround for the graphical layout.
-
- * install_steps_gtk.pm: applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
-
- * printerdrake.pm: if embedded -> no first question
-
- * interactive_gtk.pm: added tooltips to create_boxradio
- applied gtkradio
- created create_boxradio
- in wizard mode : list -> radio buttons
-
-2001/03/09 Pixel <pixel@mandrakesoft.com>
-
- * share/rpmsrate: a hell lot of modifications, mostly cleanup of
- DEVELOPEMENT
-
-2001/03/09 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: keyboard mapping for PPC
-
- * detect_devices.pm: routine to detect MacIntosh model code
-
-2001/03/09 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm: added gtkradio
-
- * standalone/draknet: changed graphical layout, expert mode
-
-2001/03/09 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (read_rpmsrate): handle the special case of packages requiring
- locales-*,
- adding the flag LOCALES"*" for them
-
- * install_steps_interactive.pm (choosePackages): moved the log to
- install2::choosePackages (to have it in
- auto_installs too)
-
- * install_any.pm (setPackages): set compssUsersChoice LOCALES"*"
-
- * install2.pm (choosePackages): log groups choosen
-
- * share/rpmsrate: a hell lot of modifications, mostly cleanup of
- DEVELOPEMENT
- - chineese packages
- - move Aurora's to AURORA (DrakX take care of Aurora)
-
- * install_steps_gtk.pm (remove_advertising): created
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: workaround kernel-2.4 bug with /dev/log
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * verify_c: fix the regexp
-
- * detect_devices.pm (floppies): load module "floppy" before probing
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: applied if__
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: workaround kernel-2.4 bug with /dev/log
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * verify_c: fix the regexp
-
- * share/rpmsrate: add i18n'ed packages
-
- * detect_devices.pm (floppies): load module "floppy" before probing
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * common.pm: added if__
-
- * netconnect.pm: applied if__
-
-2001/03/08 François Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: avoid using e2fsck, else it abort by checking partition
- size (which differs).
- fix resize ext2 by using resize2fs.
-
- * pkgs.pm: changed choice of package for selection.
-
- * share/list: added resize2fs and dumpe2fs, removed ext2resize which is
- replaced.
-
-2001/03/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dhcp.c: do not segfault in dhcp stuff, when af_packet is not
- honoured by kernel
-
-2001/03/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: advertising modifs
- (setPackages): use burners instead of IDEburners
-
- * bootloader.pm: cleanup
-
- * interactive.pm (ask_from_listf_no_check): catch wizcancel and return
- undef
-
- * fs.pm (write_fstab): change again for 'none' checking the mount point
- (write_fstab): special case for device ``none'' (which can be mounted
- twice or more :)
-
- * my_gtk.pm (_create_window): on delete_event, destroy the window and
- raise wizcancel
-
- * share/po/fr.po: fix bad translation
-
- * share/rpmsrate: add i18n'ed packages
- raise kdebase
-
- * install2.pm, install_steps.pm, install_steps_gtk.pm: advertising modifs
-
- * detect_devices.pm: cleanup
- (isBurner): use syslog to detect scsi burners
-
-2001/03/08 Stew Benedict <sbenedict@mandrakesoft.com>
-
- * install_steps_gtk.pm: encourage Xpmac to run in at least 16bpp
-
- * partition_table_mac.pm: fixed variable referencing - thx Pixel
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad pci number -> string
-
-2001/03/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po, share/po/sr.po, share/po/sp.po, share/po/ca.po: updated
- Bulgarian, Catalan and Serbian files
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (dev2grub): better error reporting
-
- * tools/cvslog2changelog.pl (%users): add stew
-
- * install_steps.pm (setupBootloaderBefore): aurora stupid renaming fix
-
- * share/rpmsrate: raise kdebase
- xcdroast is the best cd burner ui, raise it above others
- lower some EDITORS
- raise vim-X11
- lower xrn, raise pan
-
- * install_any.pm (setPackages): use burners instead of IDEburners
- (setPackages): at least set BURNER for ide burners
-
- * any.pm: cleanup
-
- * install_steps_interactive.pm, install2.pm: re-add miscellaneous step,
- but always hidden (aka automatic)
-
- * detect_devices.pm (isBurner): use syslog to detect scsi burners
-
- * fs.pm (write_fstab): special case for device ``none'' (which can be
- mounted
- twice or more :)
-
- * tools/i386/netboot/stage2.3c90x, tools/i386/netboot/grub: new versions
- (without mem=)
-
-2001/03/08 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad pci number -> string
-
-2001/03/08 Pixel <pixel@mandrakesoft.com>
-
- * tools/i386/netboot/stage2.3c90x, tools/i386/netboot/grub: new versions
- (without mem=)
-
-2001/03/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected default focus after detection
- don't test adsl if net install
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (add_alias): remove the alias block-major-11 as it's
- overriding the
- default alias to sr_mod, and is uneeded with scsi_hostadapter being
- added
- to /etc/modules.conf
-
- * share/rpmsrate: lower heartbeat
-
-2001/03/07 sbenedict
-
- * help.pm: * perl-install/help.pm - typo in yaboot help
-
- * any.pm: * perl-install/any.pm - fixed two $l vs. @l references -
- bootloader menu, need image/boot in rec mode PPC
- CVl:
- ----------------------------------------------------------------------
-
- * devices.pm: * perl-install/devices.pm - add adbmouse
-
-2001/03/07 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: not use common anymore, uses gtkpng, cosmetic chages
-
-2001/03/07 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm, bootloader.pm: fixed support for other kernel for
- bootloader entries.
- automatically add 2.2 entries for kernel22 (manage hack-kernel too).
-
- * Xconfigurator.pm: remove 32 bit depth for S3 Trio3D card.
-
- * pkgs.pm: added support for killing all child process of a transaction,
- necessary to be
- able to umount cdrom and eject it correctly.
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * share/fonts.tar.bz2: use gb16fs instead of gb16st
-
- * modules.pm (add_alias): remove the alias block-major-11 as it's
- overriding the
- default alias to sr_mod, and is uneeded with scsi_hostadapter being
- added
- to /etc/modules.conf
-
- * share/rpmsrate: lower heartbeat
- lower Mesa's rate
-
- * install2.pm (main): save $@ in $err so that it's not modified before
- being used
-
- * share/locales.tar.bz2: remove ending '/' in symlinks not pleasing
- packdrake
-
- * standalone/drakboot: make it please perl2fcalls
-
-2001/03/07 sbenedict
-
- * bootloader.pm, Xconfigurator.pm: * perl-install/Xconfigurator.pm - force
- XF4 for PPC in recommended mode
- * perl-install/bootloader.pm - rework get_of_dev to work in live install
-
- * install_steps_interactive.pm, any.pm, partition_table_mac.pm: *
- perl-install/any.pm - change in partition_table_mac'xxx syntax
- * perl-install/install_steps_interactive.pm - change in
- partition_table_mac'xxx syntax
-
- * perl-install/partition_table_mac.pm - change in
- partition_table_mac'xxx syntax
-
-2001/03/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/fr.po: Fixed French typos reported by tester
-
-2001/03/07 Pixel <pixel@mandrakesoft.com>
-
- * share/fonts.tar.bz2: use gb16fs instead of gb16st
-
- * fsedit.pm: fix typo
-
- * install2.pm (main): save $@ in $err so that it's not modified before
- being used
-
- * share/rpmsrate: lower Mesa's rate
-
- * standalone/drakboot: make it please perl2fcalls
-
-2001/03/06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected bad %intf while savung
- don't ask configuration if expert
- now detecting adsl
-
- * standalone/draknet: remmoved 'quiting appli' screen
-
-2001/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: fix save of automatic stage1 info for static network
-
- * mdk-stage1/init.c: do not display from syslog msg's from RPM telling
- that it
- installed/removed some pkg's
-
- * mdk-stage1/Makefile: fix includes for init
-
-2001/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, help.pm, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, standalone/draknet,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po,
- share/po/cs.po, share/po/af.po: corrected some typos, Updated Japanese
- file
-
-2001/03/06 Pixel <pixel@mandrakesoft.com>
-
- * perl2fcalls:
- - small fix for bootlook.pm
- - don't display reused
-
- * detect_devices.pm (stringlist): if no text description, display ids
-
- * install_steps_interactive.pm (generateAutoInstFloppy): comment old code
- (summary): fixes
- (setupSCSI): cleanup
- (summary): display sound/tv/isdn cards found
-
- * fsedit.pm (check_mntpoint): don't allow LVM on / or /boot
- (@suggestions_mntpoints): add /boot
-
- * install_any.pm: hack to make perl2fcalls happy
- (getHds): fix for no hd detected in newbie installs
- (setPackages): s/snd-slot/sound-slot/
-
- * install_steps_auto_install.pm (@graphical_steps): add
- beforeInstallPackages so that advertisings are there
-
- * install2.pm (setupSCSI): remove autoSCSI, cleanup
-
- * http.pm, ftp.pm: don't use install_any
-
- * modules.pm: add cciss
-
- * partition_table.pm (add): create 3 primaries before creating an extended
- if DAC960 (/dev/rd/*)
- (add): max number of parts for rd, ida and cciss
-
-2001/03/06 yduret
-
- * bootlook.pm: pixelisation
-
-2001/03/06 dam's <damien@mandrakesoft.com>
-
- * install2.pm: corrected bad file search
- corrected intf setting
-
- * standalone/draknet: added enable/disable networking button.
-
- * standalone/drakxconf: updated to be launched frome DrakConf if no
- DISPLAY
-
- * netconnect.pm: now detecting adsl
- typo
- better load_conf
-
- * Xconfigurator.pm: cleaned png displaying
-
- * common.pm: setinhash -> set_in_hash
- added setinhash
-
- * fs.pm: typo
- use set_in_hash
-
-2001/03/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c: enable probing of all the CDROM drives in automatic
- mode
-
- * mdk-stage1/Makefile: fix includes for init
-
-2001/03/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: corrected some typos, Updated Japanese file
- updated Lithuanian file
-
- * help.pm, standalone/draknet: corrected some typos, Updated Japanese file
-
-2001/03/06 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, any.pm, Xconfigurator.pm: move inittab modifying to
- any::runlevel
-
- * partition_table.pm (add): max number of parts for rd, ida and cciss
-
- * fs.pm, netconnect.pm, common.pm: set_in_hash is now put_in_hash
-
- * diskdrake.pm (Create): pixelization
-
- * fsedit.pm (hds): pixelization
-
- * install_steps_auto_install.pm (@graphical_steps): add
- beforeInstallPackages so that advertisings are there
-
- * modules.pm: add cciss
-
- * install2.pm (main): remove unloading vfat (not needed anymore with
- mdk-stage1)
-
-2001/03/05 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: $mouse->{device} is set if it doesn't exists.
-
- * Makefile: added pixmaps copying
-
-2001/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * netconnect.pm, bootlook.pm, help.pm: fixed English typos
-
-2001/03/05 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use
- generate_automatic_stage1_params
-
- * c/stuff.xs.pm, my_gtk.pm: XSetInputFocus now done in perl-GTK
-
- * install_any.pm (generate_automatic_stage1_params): replace
- generate_ks_cfg
-
-2001/03/05 dam's <damien@mandrakesoft.com>
-
- * Makefile: added pixmaps copying
-
- * standalone/draknet: required gtk only if needed, added redirection to
- newt if needed
-
- * netconnect.pm: $mouse->{device} is set if it doesn't exists.
- corrected short circuit if network install
- corrected bad end message,
- added copying of resolv.conf & modules.conf
-
- * install2.pm: moved askrootpasswd and adduser before network conf
-
- * network.pm: removed old NS0 fetching. /etc/resolv.conf is read in
- install2.pm now
- removed setdefaultroute and sethostname
-
-2001/03/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: Updated Latvian, Belarussian and Spanish files
-
-2001/03/05 Pixel <pixel@mandrakesoft.com>
-
- * lvm.pm (lv_create): fix typo
-
- * bootloader.pm: add use devices
- (install_grub): ensure the translated messages are not too big the hard
- way
-
- * install_any.pm (generate_automatic_stage1_params): replace
- generate_ks_cfg
- (install_urpmi): have "use hdlist ..." in any case
-
- * my_gtk.pm: XSetInputFocus now done in perl-GTK
- (_create_window): don't care about c::XSetInputFocus not existing
-
- * any.pm (setupBootloader): pixelization
- (setupBootloader): fix call to get_append
-
- * interactive.pm (vnew): cleanup
-
- * common.pm (salt): cleanup
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use
- generate_automatic_stage1_params
-
- * c/stuff.xs.pm: XSetInputFocus now done in perl-GTK
-
- * c/Makefile.PL: compile fix
-
- * diskdrake.pm (create_buttons4partitions_): fix for displaying LVM
-
- * Xconfigurator.pm (xtest): use external xtest if standalone
-
- * install2.pm (main): remove unloading vfat (not needed anymore with
- mdk-stage1)
-
-2001/03/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- diskdrake.pm, share/po/af.po: updated po files
-
-2001/03/04 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Add2LVM): fix bug (causing empty list), make cancel work
-
- * share/rpmsrate:
- - remove autologin
- - move X11R6-contrib to DEVELOPEMENT and lower rate
-
-2001/03/04 stew <sbenedict@mandrakesoft.com>
-
- * any.pm - changes to enable yaboot configuration for PPC
-
- * diskdrake.pm, fs.pm, partition_table.pm isBootstrap -> isAppleBootstrap
-
- * install_steps_interactive.pm - auto-add Apple Bootstrap - PPC
-
-2001/03/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, fsedit.pm, lvm.pm, standalone/diskdrake,
- install_interactive.pm, install2.pm: small fixes for LVM
-
- * diskdrake.pm: don't default the LVM name to 'pp' ;pp
- small fixes for LVM
-
-2001/03/03 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: small fixes for LVM
- (doPartitionDisksAfter): small adaptation for LVMs
- use run_or_die
-
- * fsedit.pm: small fixes for LVM
- (hds): detect LVMs and return them
- (add): handling of LVMs
- (@partitions_signatures): add new magic of reiserfs
-
- * bootloader.pm: use run_or_die
-
- * run_program.pm (run_or_die, rooted_or_die): created
-
- * install_steps_interactive.pm: cleanup
-
- * install_any.pm (getHds): handle LVMs. $o->{lvms} contain them
- (setPackages): ask for installation of package lvm when needed
- (suggest_mount_points, find_root_parts): take $fstab as arg instead of
- $hds
-
- * install2.pm: small fixes for LVM
- (formatPartitions): call vgscan if needed when / is mounted
-
- * devices.pm (make): better caller in error
-
- * share/list: add progs for LVM handling
-
- * install_interactive.pm: small fixes for LVM
-
- * diskdrake.pm: small fixes for LVM
- - addition of drive to notebook cleaned
- - various clean-up
- - handling of LVMs
-
- * standalone/diskdrake: small fixes for LVM
- small adaptation
-
- * lvm.pm: small fixes for LVM
- creation
-
- * partition_table.pm: add isLVMBased
-
-2001/03/02 stew <sbenedict@mandrakesoft.com>
-
- * commands.pm - fdisk locks up machine on report_bug - replace with pdisk PPC
-
- * install_steps.pm - no bootfloppy, added yaboot.conf - PPC
-
- * install_interactive.pm - pdisk vs. fdisk - PPC
-
- * bootloader.pm - added code to create yaboot.conf, run ybin - vmlinux vs. vmlinuz
-
-2001/03/02 stew <sbenedict@mandrakesoft.com>
-
- * c/smp.c -stanza for PPC
-
- * detect_devices.pm - added code for MO devices
-
- * help.pm - help information for yaboot - PPC
-
- * partition_table.pm - PPC mods
-
- * partition_table_mac.pm - PPC mods
-
- * modules.pm - PPC mods - parallel port not used
-
- * diskdrake.pm - PPC mods - display like pdisk
-
- * install2.pm - PPC mod - no bootdisk
-
- * fs.pm - bootstrap partition - PPC
-
-2001/02/27 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: pop up a dialog to quit X when accepting
- configuration
-
-2001/02/27 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_raw.pm (@MBR_signatures): add yet another grub signature
-
- * devices.pm (entry): add fd0H1440 and fd1H1440
-
- * bootloader.pm (mkbootdisk): fix for mkbootdisk using fd0H1440. Must be
- created
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * Makefile.drakxtools, pixmaps/hori.xpm, pixmaps/tradi.xpm,
- pixmaps/eth_card_mini.xpm, pixmaps/verti.xpm: new pixmap policy
-
- * Makefile: typo
- new pixmap policy
-
- * bootlook.pm: typo
- new pixmap policy
- need to be merged with bootloader
-
- * standalone/draknet: reincluded Gtk + init Gtk
- thiskind -> thiskind_backend
- new pixmap policy
-
- * standalone/drakboot: short-circuit to bootlook for the moment.
-
-2001/02/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po,
- share/po/i18n_compssUsers, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: Fixed i18n_compssUsers
- script to produce a correct pot file
- Updated Estonian and Walloon files
-
- * bootlook.pm: changed I_() to _() so xgettext cna find the translatable
- strings
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * standalone/drakgw: pixelization
-
- * install_steps.pm: remove unneeded "use install_interactive"
-
- * install_steps_gtk.pm (copy_advertising): fix changing for
- advertising_images
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: should correct bad resolv.conf when swithcinf in
- standalone embedded mode. Not Certified
- fixed standalone edition
- corrected wizard mode.
-
- * Makefile.drakxtools, Makefile, pixmaps/eth_card_mini.xpm: new pixmap
- policy
-
- * standalone/draknet: new pixmap policy
- fixed standalone edition
-
- * bootlook.pm: need to be merged with bootloader
-
- * interactive_gtk.pm: if wizard, show the button
-
- * standalone/drakboot: short-circuit to bootlook for the moment.
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (if_): fix for use in scalar context
-
- * install_steps_interactive.pm (summary): translate mouse description
-
- * install_steps.pm: remove unneeded "use install_interactive"
-
- * install_steps_gtk.pm (copy_advertising): fix changing for
- advertising_images
-
-2001/02/26 warly
-
- * share/compssUsers, share/rpmsrate: remove some packages
-
-2001/02/26 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: if wizard, show the button
-
- * netconnect.pm: corrected wizard mode.
-
-2001/02/26 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (if_): fix for use in scalar context
-
- * install_steps_interactive.pm (summary): translate mouse description
-
-2001/02/25 dam's <damien@mandrakesoft.com>
-
- * share/logo-mandrake-Firewall.xpm, share/logo-mandrake.xpm: changed logo.
-
- * netconnect.pm: profile handling.
- profile handling
- corrected wizard.
-
- * standalone/draknet: profile handling.
- profile handling
-
- * install_steps_interactive.pm: updated
-
-2001/02/25 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the load_deps before all the loadO's
-
- * install_any.pm (g_auto_install): have formatMountPartitions graphical if
- $graphical
-
- * install_steps_interactive.pm (generateAutoInstFloppy): use "timeout 1"
- for replay
-
- * interactive_gtk.pm (ask_from_entries_refW): ensure "advanced" lists
- center the chosen value
-
-2001/02/24 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install2.pm: move writing to config files from
- install2::selectKeyboard to install_steps
-
- * share/list, Makefile, tools/i386/mkreiserfs: for now, have mkreiserfs in
- the CVS since the current cooker version is too recent
-
- * commands.pm (more): handle 'q' to quit
-
-2001/02/24 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile (stuff): fix the fix's fix :'-(
-
- * detect_devices.pm (pci_probe): fix to clean the log
-
- * install_steps_interactive.pm (setRootPassword): NIS server must be
- editable
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (g_auto_install): handle $replay flag. It means a 'not
- fully automated install'.
-
- * install_steps_auto_install.pm (@graphical_steps): specify which step
- should be interactive
-
- * c/Makefile (stuff.xs): exporting C_RPM and C_DRAKX is needed
-
- * install_steps.pm (afterInstallPackages): no kdm UserView in NIS
- (configurePrinter): if_'ization
-
- * install_steps_interactive.pm (exitInstall): ask wether Replay or
- Automated
- (generateAutoInstFloppy): handle $replay flag. It means a 'not fully
- automated install'.
- (summary): nicer mouse name
-
-2001/02/23 dam's <damien@mandrakesoft.com>
-
- * network.pm, standalone/draknet, netconnect.pm, my_gtk.pm: new wizard
- layout, no use gtk in draknet, minor bugfixes
-
-2001/02/23 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: added accessor the rpmsrate data of packages.
- avoid rebuilding the database for oem, rpm db is assumed to be fine.
-
- * rescue/make_rescue_img: removed kernel_reread program.
-
- * rescue/tree/etc/oem: removed server from selection.
- added mutli CD support to OEM (NFS/DVD transparent)
- fixed selection of package now select much more than before.
- fixed root partition size set to the minimum.
-
-2001/02/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/rpmsrate: move xterm to SYSTEM
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: move the 'use my_gtk' in 'require my_gtk' and only if
- needed
-
- * install_steps_auto_install.pm (@graphical_steps): specify which step
- should be interactive
-
- * c/stuff.xs.pm: hack for macroporcessing in term.h
- use C_DRAKX
-
- * install_steps.pm (afterInstallPackages): no kdm UserView in NIS
- (configurePrinter): if_'ization
-
- * share/rpmsrate: add packages installed on demand by DrakX. they are
- specifically flagged
- or flagged 'INSTALL'
-
- * perl2fcalls: handling of ``package''->import(``what to import'')
-
- * interactive.pm (vnew): use /usr/X11R6/bin/xtest instead of c::Xtest
-
- * Makefile (tar-drakxtools): C_RPM and C_DRAKX set to 0
-
- * install_any.pm (g_auto_install): handle $replay flag. It means a 'not
- fully automated install'.
-
- * c/Makefile.PL: use C_DRAKX
-
- * pkgs.pm (setSelectedFromCompssList): fix the fix
-
- * c/Makefile (stuff.xs): exporting C_RPM and C_DRAKX is needed
- add setting C_DRAKX to 1 by default
-
- * install_steps_interactive.pm (exitInstall): ask wether Replay or
- Automated
- (generateAutoInstFloppy): handle $replay flag. It means a 'not fully
- automated install'.
- (summary): nicer mouse name
-
-2001/02/23 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): double clicking on list
- means 'Ok'
-
- * pkgs.pm (setSelectedFromCompssList): fix sillyness
-
-2001/02/22 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corected infinite loop
-
-2001/02/22 François Pons <fpons@mandrakesoft.com>
-
- * rescue/tree/etc/oem: minor cleanup to edit partition size more easily.
- brand new version written in perl, support repartitionning on the fly of
- the
- hard disk and resize of already present FAT partition.
-
- * rescue/list.i386, rescue/list, rescue/Makefile: make rescue build a bit
- more cleaner (added dependancy).
- added missing file for rescue to enable new oem install.
-
-2001/02/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/insmod-modutils/include/elf_hppa64.h,
- mdk-stage1/insmod-modutils/util/alias.h,
- mdk-stage1/insmod-modutils/util/xstrcat.c,
- mdk-stage1/insmod-modutils/util/gzfiles.c,
- mdk-stage1/insmod-modutils/include/elf_arm.h,
- mdk-stage1/insmod-modutils/util/sys_qm.c,
- mdk-stage1/insmod-modutils/util/modstat.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc.c,
- mdk-stage1/insmod-modutils/include/elf_m68k.h,
- mdk-stage1/insmod-modutils/Makefile,
- mdk-stage1/insmod-modutils/util/xstrdup.c,
- mdk-stage1/insmod-modutils/obj/obj_arm.c,
- mdk-stage1/insmod-modutils/obj/obj_m68k.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa64.c,
- mdk-stage1/insmod-modutils/include/elf_sparc64.h,
- mdk-stage1/insmod-modutils/util/sys_dm.c,
- mdk-stage1/insmod-modutils/include/elf_s390.h,
- mdk-stage1/insmod-modutils/obj/obj_s390.c,
- mdk-stage1/insmod-modutils/util/xmalloc.c,
- mdk-stage1/insmod-modutils/util/xsystem.c, mdk-stage1/insmod.h,
- mdk-stage1/insmod-modutils/util/xftw.c,
- mdk-stage1/insmod-modutils/include/elf_i386.h,
- mdk-stage1/insmod-modutils/util/sys_gks.c,
- mdk-stage1/insmod-modutils/util/snap_shot.c,
- mdk-stage1/insmod-modutils/obj/obj_i386.c, mdk-stage1/modules.c,
- mdk-stage1/stage1.c, mdk-stage1/insmod-modutils/include/obj.h,
- mdk-stage1/insmod-modutils/include/elf_ppc.h,
- mdk-stage1/insmod-modutils/obj/obj_reloc.c,
- mdk-stage1/insmod-modutils/include/elf_sparc.h,
- mdk-stage1/insmod-modutils/util/sys_nim.c,
- mdk-stage1/insmod-modutils/obj/obj_ppc.c, mdk-stage1/Makefile,
- mdk-stage1/insmod-modutils/include/elf_hppa.h,
- mdk-stage1/insmod-busybox/insmod.c,
- mdk-stage1/insmod-modutils/util/meta_expand.c,
- mdk-stage1/insmod-modutils/util/arch64.c,
- mdk-stage1/insmod-modutils/obj/obj_load.c,
- mdk-stage1/insmod-modutils/obj/obj_hppa.c,
- mdk-stage1/insmod-busybox/insmod.h,
- mdk-stage1/insmod-modutils/include/elf_ia64.h,
- mdk-stage1/insmod-modutils/obj/obj_ia64.c,
- mdk-stage1/insmod-modutils/obj/obj_sparc64.c,
- mdk-stage1/insmod-modutils/include/elf_mips.h,
- mdk-stage1/insmod-modutils/include/module.h,
- mdk-stage1/insmod-modutils/obj/obj_mips.c,
- mdk-stage1/insmod-modutils/util/sys_cm.c,
- mdk-stage1/insmod-modutils/obj/obj_alpha.c,
- mdk-stage1/insmod-modutils/include/kerneld.h,
- mdk-stage1/insmod-modutils/util/xrealloc.c,
- mdk-stage1/insmod-modutils/obj/Makefile,
- mdk-stage1/insmod-modutils/insmod-frontend.c,
- mdk-stage1/insmod-modutils/obj/obj_common.c,
- mdk-stage1/insmod-modutils/include/modstat.h,
- mdk-stage1/insmod-modutils/util/Makefile,
- mdk-stage1/insmod-modutils/include/config.h,
- mdk-stage1/insmod-modutils/util/logger.c,
- mdk-stage1/insmod-modutils/obj/obj_kallsyms.c,
- mdk-stage1/Makefile.common, mdk-stage1/insmod-modutils/include/util.h,
- mdk-stage1/insmod-modutils/util/config.c,
- mdk-stage1/insmod-modutils/include/version.h,
- mdk-stage1/insmod-modutils/include/kallsyms.h,
- mdk-stage1/insmod-modutils/include/elf_alpha.h,
- mdk-stage1/insmod-modutils/util/sys_oim.c,
- mdk-stage1/insmod-modutils/insmod.c: use modutils for non Intel arch's
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (write_fstab): clean-up, $fstab takes precedence over @to_add, but
- not
- over existing /etc/fstab. Fix some stupid stuff
-
- * modules.pm, commands.pm: call /usr/bin/insmod_ with full path
-
- * install2.pm (main): don't set a special $remote_path PATH for
- postInstallNonRooted
- (otherwise install's modprobe is not used, and you can't "modprobe
- vfat",
- even if "/usr/bin/modprobe vfat" doesn't work because insmod_ is not
- found.
-
- * my_gtk.pm (create_box_with_title): disallow focusing on text if it is
- non-scrolled
-
-2001/02/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/include/stdlib.h, mdk-stage1/minilibc.c,
- mdk-stage1/init-libc-headers.h,
- mdk-stage1/dietlibc/include/sys/select.h, mdk-stage1/Makefile,
- mdk-stage1/init.c, mdk-stage1/minilibc.h,
- mdk-stage1/dietlibc/include/unistd.h,
- mdk-stage1/dietlibc/include/sys/socket.h,
- mdk-stage1/dietlibc/include/signal.h: have "init" compiled against
- dietlibc (rather than glibc) on non-Intel arch's
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_auto_install.pm: $graphical is now a module variable. Can
- be changed from everywhere
-
- * fs.pm (write_fstab): clean-up, $fstab takes precedence over @to_add, but
- not
- over existing /etc/fstab. Fix some stupid stuff
-
- * modules.pm, commands.pm: call /usr/bin/insmod_ with full path
-
- * install2.pm (main): don't set a special $remote_path PATH for
- postInstallNonRooted
- (otherwise install's modprobe is not used, and you can't "modprobe
- vfat",
- even if "/usr/bin/modprobe vfat" doesn't work because insmod_ is not
- found.
-
- * my_gtk.pm (create_box_with_title): disallow focusing on text if it is
- non-scrolled
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): fix setting
- type to 'list' in
- case of format. should be only set if type is unset
- (ask_from_entries_refH_powered_normalize): if list+format then type is
- 'list', combo not accepted (hacky?)
-
- * interactive_gtk.pm (ask_from_entries_refW): if no button wanted, don't
- call create_okcancel
-
-2001/02/22 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): if list+format
- then type is
- 'list', combo not accepted (hacky?)
-
- * install_steps_auto_install.pm: $graphical is now a module variable. Can
- be changed from everywhere
-
- * interactive_gtk.pm (ask_from_entries_refW): if no button wanted, don't
- call create_okcancel
-
-2001/02/21 dam's <damien@mandrakesoft.com>
-
- * network.pm, netconnect.pm: netconnect recode, wizard compatible.
- network.pm modified for wizard. Still need work for ask_yesorno,
- ask_okcancel. +debugging of course
-
- * standalone/draknet: updated (don't remember what)
-
-2001/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/Makefile,
- mdk-stage1/dietlibc/lib/vprintf.c, mdk-stage1/dietlibc/lib/vfprintf.c,
- mdk-stage1/minilibc.h, mdk-stage1/minilibc.c,
- mdk-stage1/init-libc-headers.h:
- - fix "init" on ppc (do not use minilibc on non-i386 arch's)
- - fix segfault of dietlibc-linked apps (broken va_stuff in dietlibc)
- - cleanup of "init"
-
- * mdk-stage1/init.c:
- - fix "init" on ppc (do not use minilibc on non-i386 arch's)
- - fix segfault of dietlibc-linked apps (broken va_stuff in dietlibc)
- - cleanup of "init"
- fix up syslog logging stuff
-
-2001/02/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (generateAutoInstFloppy): removed
-
- * install_any.pm (g_auto_install): use selected_leaves for
- default_packages to reduce the
- list of packages (aka cleanup auto_inst.cfg)
- (g_default_packages): created
-
- * install_steps_interactive.pm (exitInstall): add generateAutoInstFloppy
- and g_default_packages calls in
- advanced
-
- * netconnect.pm, partition_table.pm, fsedit.pm: cleanup Data::Dumper use
-
- * pkgs.pm (selected_leaves): created
-
- * install2.pm (main): do postInstallNonRooted before postInstall (so that
- 'modprobe
- vfat' can be done in postInstallNonRooted and used in postInstall)
- - move the loadO of patch/defcfg after loading modules.dep
- - generateAutoInstFloppy is no more a step
- - removed use Data::Dumper
-
-2001/02/21 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * share/rpmsrate: Add iputils to SYSTEM.
-
-2001/02/21 dam's <damien@mandrakesoft.com>
-
- * docs/wizard.doc: putain de doc de merde pout petite qui est trop débile
-
- * interactive.pm, my_gtk.pm: corrected wizard mode.
-
-2001/02/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/TECH-INFOS: sync doc with disk automatic installs
-
- * mdk-stage1/disk.c: add support for automatic (ex-kickstart) in disk
- installs
-
-2001/02/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/02/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (generateAutoInstFloppy): removed
-
- * install_any.pm (g_auto_install): use selected_leaves for
- default_packages to reduce the
- list of packages (aka cleanup auto_inst.cfg)
- (g_default_packages): created
-
- * install_steps_interactive.pm (exitInstall): add generateAutoInstFloppy
- and g_default_packages calls in
- advanced
-
- * netconnect.pm, partition_table.pm, fsedit.pm: cleanup Data::Dumper use
-
- * pkgs.pm (selected_leaves): created
-
- * install2.pm (main): do postInstallNonRooted before postInstall (so that
- 'modprobe
- vfat' can be done in postInstallNonRooted and used in postInstall)
- - move the loadO of patch/defcfg after loading modules.dep
- - generateAutoInstFloppy is no more a step
- - removed use Data::Dumper
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * printerdrake.pm: fix typo
-
- * install_steps.pm, install_steps_gtk.pm, install_any.pm: better
- advertising support
-
-2001/02/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.h, mdk-stage1/url.c, mdk-stage1/network.c: for HTTP
- installs, make use of Content-Length when available, to display
- progressbar
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: various
- - pcmcia_config.patch now in tools (no more in install which is
- removed)
- - copy xpm's (until step icons work with png's)
- - transform group icons in pngs
-
- * modules.pm, class_discard.pm, my_gtk.pm, Xconfigurator.pm: various
-
- * tools/pcmcia_config.patch: pcmcia_config.patch now here
-
- * printerdrake.pm: fix typo
-
- * install_any.pm, install_steps.pm, install_steps_gtk.pm: better
- advertising support
-
-2001/02/20 warly
-
- * share/compssUsers, share/rpmsrate, share/compssList: update rpmsrate
-
-2001/02/20 François Pons <fpons@mandrakesoft.com>
-
- * c/stuff.xs.pm, live_install, pkgs.pm, live_install2: added RPMRC_FILE
- env variable to choose rpmrc file for rpmlib used
- by DrakX, neccessary for live update from a 7.2 or older.
- Check that if something goes wrong with rebuilddb, avoid removing
- old rpm-3 db files.
- Make sure live_install can start from top directory too.
-
-2001/02/20 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: various
- - pcmcia_config.patch now in tools (no more in install which is
- removed)
- - copy xpm's (until step icons work with png's)
- - transform group icons in pngs
-
- * modules.pm, class_discard.pm: various
-
- * tools/pcmcia_config.patch: pcmcia_config.patch now here
-
- * my_gtk.pm, Xconfigurator.pm: various
- major move. now ask_from_list returns false when canceled (it doesn't
- die 'ask_from_list canceled' anymore)
-
- * interactive_gtk.pm, standalone/mousedrake, install_steps_interactive.pm,
- netconnect.pm, standalone/keyboarddrake, install2.pm, interactive.pm,
- any.pm, printerdrake.pm, diskdrake.pm: major move. now ask_from_list
- returns false when canceled (it doesn't die 'ask_from_list canceled'
- anymore)
-
-2001/02/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c: try to print errno's stuff when symlink to
- /tmp/stage2 failed
-
- * mdk-stage1/dhcp.c: ARP_MAX_RETRIES: s/5/4
-
-2001/02/19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Estonian file
-
-2001/02/19 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf_no_check): die 'ask_from_list cancel' on
- cancel
-
- * my_gtk.pm (create_packtable): don't use attach_raw anymore (was a
- sillyme)
-
-2001/02/18 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: typo
- make fbastok happy about button placement.
- little improvements.
-
-2001/02/16 dam's <damien@mandrakesoft.com>
-
- * install_gtk.pm: corrected xpm mask
-
- * network.pm: wireless eth support corrected.
-
- * share/step-red.xpm, share/step-orange.xpm, share/step-orange-click.xpm,
- share/step-green-click.xpm, share/step-green.xpm, share/step-red-on.xpm,
- share/step-orange-on.xpm, share/step-green-on.xpm,
- share/step-red-click.xpm: re added these xpm files against display mask
- pb.
-
-2001/02/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/init.c: better ansi colors
-
- * mdk-stage1/dhcp.c: comply with glibc-2.2.2 more strict headers
-
- * mdk-stage1/stdio-frontend.c: display more nicely when there is a long
- list to choose from (1, 2 or 4 columns)
-
-2001/02/15 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/TECH-INFOS, mdk-stage1/README: update doc
-
-2001/02/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix i_images
-
- * fsedit.pm (suggestions_mntpoint): fix
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): fix i_images
- (installPackages): traktolpilization and advertising
-
- * Makefile (get_needed_files): copy png files instead of xpm's
-
- * fsedit.pm (suggestions_mntpoint): fix
-
- * my_gtk.pm (gtkcreate_png): add error message, syntax cleanup
-
- * share/list: add GdkImlib stuff
-
- * perl2fcalls: add Gtk::Gdk::ImlibImage
-
- * install2.pm (main): set SHARE_PATH to /export/Mandrake/mdkinst/usr/share
- if it exists
-
-2001/02/15 dam's <damien@mandrakesoft.com>
-
- * my_gtk.pm, any.pm, install_gtk.pm, install_steps_interactive.pm,
- install_steps_gtk.pm, interactive_gtk.pm: added png support. Need to
- test the faces2xpm stuff.
-
- * share/step-orange-click.xpm, share/rpm-selected.xpm,
- share/step-green-click.xpm, share/step-green.xpm, share/rpm-base.xpm,
- share/ftin.xpm, share/step-orange-on.xpm, share/ftout.xpm,
- share/step-red-click.xpm, share/step-green-on.xpm,
- share/rpm-unselected.xpm, share/step-red.xpm, share/step-orange.xpm,
- share/reload.xpm, share/rpm-semiselected.xpm,
- share/logo-mandrake-Desktop.xpm, share/rpm-installed.xpm,
- share/step-red-on.xpm: removed, png are used instead.
-
- * standalone/draknet: updated internet and added eth conf
-
- * share/help.xpm, share/logo-mandrake.xpm: removed, png are used instead.
- added png images
-
- * share/step-red.png, share/step-orange.png, share/reload.png,
- share/logo-mandrake.png, share/rpm-semiselected.png,
- share/logo-mandrake-Desktop.png, share/rpm-installed.png,
- share/logo-mandrake_sav.png, share/step-red-on.png, share/help_sav.png,
- share/rpm-selected.png, share/step-orange-click.png,
- share/step-green-click.png, share/step-green.png, share/rpm-base.png,
- share/logo-mandrake2.png, share/ftin.png, share/help.png,
- share/step-orange-on.png, share/step-green-on.png, share/ftout.png,
- share/step-red-click.png, share/step-green_s.png, share/themes-mdk.rc,
- share/rpm-unselected.png: added png images
-
-2001/02/15 Pixel <pixel@mandrakesoft.com>
-
- * Makefile (get_needed_files): copy png files instead of xpm's
-
- * install2.pm (main): set SHARE_PATH to /export/Mandrake/mdkinst/usr/share
- if it exists
- (selectKeyboard): give clicked as parameter
-
- * my_gtk.pm (gtkcreate_png): add error message, syntax cleanup
-
- * fsedit.pm (suggestions_mntpoint): fix typo
-
- * share/list: add GdkImlib stuff
-
- * perl2fcalls: add Gtk::Gdk::ImlibImage
-
- * install_steps_interactive.pm (summary): better message for i18n
-
- * install_steps_gtk.pm (installPackages): traktolpilization and
- advertising
-
-2001/02/14 dam's <damien@mandrakesoft.com>
-
- * network.pm, standalone/draknet: wireless updated
-
- * share/help.xpm, share/themes-mdk.rc, share/logo-mandrake.xpm: valentin
- theme :)
-
-2001/02/14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): add user in group usb
-
-2001/02/14 dam's <damien@mandrakesoft.com>
-
- * share/themes-mdk.rc: valentin theme :)
- added drawing theme section
-
- * network.pm: wireless updated
- updated wireless eth support
-
- * standalone/draknet: wireless updated
-
- * share/help.xpm, share/logo-mandrake.xpm: valentin theme :)
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: network con initiated in draknet.
- netconnect improvement.
- typo
-
- * network.pm: typo
- corrected domainname setting
-
- * standalone/draknet: network con initiated in draknet.
- netconnect improvement.
-
-2001/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/frontend.h, mdk-stage1/network.h,
- mdk-stage1/stdio-frontend.c, mdk-stage1/dhcp.c, mdk-stage1/automatic.c,
- mdk-stage1/newt-frontend.c, mdk-stage1/automatic.h, mdk-stage1/disk.c,
- mdk-stage1/network.c: write down Magic Callback (tm) for static ip stuff
-
- * mdk-stage1/modules.c: ask for modules parameters everytime in expert
- mode, to avoid wrong autodetections in certain cases
- - better log of nfs mount errors
- - don't insmod modules already present (important for bzip2 slowness)
-
- * mdk-stage1/cdrom.c: better error msg thx to mcdtg
-
- * mdk-stage1/mount.c, mdk-stage1/nfsmount.c:
- - better log of nfs mount errors
- - don't insmod modules already present (important for bzip2 slowness)
-
- * mdk-stage1/stage1.c, mdk-stage1/init.c: use exit code 66 for rescue
- better console messages at startup
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: profile handling updated
-
- * network.pm: typo
- corrected domainname setting
-
- * netconnect.pm: finished load_conf
-
-2001/02/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/make_rescue_img, rescue/list: include libs for hostname resolving
-
- * mdk-stage1/stage1.c, mdk-stage1/init.c: better console messages at
- startup
-
- * mdk-stage1/tools.c:
- - save /etc/resolv.conf for rescue
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): can be automatic only in
- non-expert
-
- * any.pm: md5 now done via crypt
-
- * install_steps.pm (exitInstall): catch exception of output report.bug
- (for gc)
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): can be automatic only in
- non-expert
-
- * tools/cvslog2changelog.pl: fix for gc & fpons
- fix for fredl broken CVS
-
- * any.pm: md5 now done via crypt
-
- * install_steps.pm (exitInstall): catch exception of output report.bug
- (for gc)
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * network.pm: experimental wireless eth support. Not tested
-
-2001/02/13 Pixel <pixel@mandrakesoft.com>
-
- * tools/cvslog2changelog.pl: fix for gc & fpons
- fix for fredl broken CVS
-
- * c/stuff.xs.pm, c/Makefile.PL, c/md5.h, c/md5_crypt.c, c/md5.c: md5 can
- be done via crypt of glibc, so remove all this
-
-2001/02/13 dam's <damien@mandrakesoft.com>
-
- * any.pm: merging difference
-
- * netconnect.pm: corrected profile handling
-
- * network.pm: experimental wireless eth support. Not tested
-
-2001/02/12 Pixel <pixel@mandrakesoft.com>
-
- * tools/addchangelog.pl: log more than mdk-stage1 and perl-install (added
- docs, rescue, tools)
-
-2001/02/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/probing.c: do not close un unbound socket!!
-
- * c/stuff.xs.pm: close socket everytime in hasNetDevice
-
- * mdk-stage1/Makefile: tag it 8.0beta instead of 8.0, to avoid future
- potential confusions
-
- * modules.pm: re include some network modules
-
-2001/02/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * rescue/list: fix vi trouble
- - add lspci, lspcidrake, vim-minimal
- - better /etc/issue
- - better PS1
- - write embryonic tool (installation of detected drivers according to
- pci cards)
-
- * rescue/aliases, rescue/tree/etc/issue: fix vi trouble
-
- * rescue/list.i386, rescue/make_rescue_img, rescue/drvinst:
- - add lspci, lspcidrake, vim-minimal
- - better /etc/issue
- - better PS1
- - write embryonic tool (installation of detected drivers according to
- pci cards)
-
-2001/02/12 Pixel <pixel@mandrakesoft.com>
-
- * rescue/drvinst: pixelization
-
- * docs/README: fix doc about Mandrake/base/compss
-
- * install_steps_gtk.pm (choosePackagesTree): non first choice packages are
- in "Other".
-
- * install_interactive.pm, any.pm, fsedit.pm, diskdrake.pm: auto_allocate
- partitions choice modified. diskdrake in expert asks what kind
- of auto_allocation is wanted, others choose 'simple' in
- %fsedit::suggestions
-
- * install2.pm: auto_allocate partitions choice modified. diskdrake in
- expert asks what kind
- of auto_allocation is wanted, others choose 'simple' in
- %fsedit::suggestions
- (main): gc has done it again! /tmp/conf.modules is now
- /etc/modules.conf,
- so load both to keep compatibility.
-
- * my_gtk.pm: cleanup (remove ask_from_list and _ask_from_list)
-
- * interactive_gtk.pm (ask_from_entries_refW): use
- $common->{advanced_label}
- (create_ctree): add keyboard shortcuts
- (create_clist): moveto only if row_is_visible
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): advanced_label
- defaults to
- _("Advanced")
-
- * tools/addchangelog.pl: log more than mdk-stage1 and perl-install (added
- docs, rescue, tools)
-
- * install_steps_interactive.pm (configurePrinter): cleanup,
- pkg_install_if_requires_satisfied('xpp',
- 'kups') only if a printer is configured (for the case when _("Would you
- like to configure a printer?") is answered no)
-
- * rescue/tree/etc/rc.sysinit: add floppy module for 2.4
-
-2001/02/10 Pixel <pixel@mandrakesoft.com>
-
- * standalone/draknet, standalone/XFdrake: corrected pkgs_install given
-
- * install_any.pm: add preConfigureTimezone
- add step summary. remove steps configureTimezone and configurePrinter
-
- * install_interactive.pm: cleanup
-
- * standalone/keyboarddrake, share/keymaps_generate, keyboard.pm:
- - lang2keyboards handle keyboard percentages
- - xmodmaps now named keyboards
-
- * install_steps_interactive.pm: add step summary. remove steps
- configureTimezone and configurePrinter, modify selectKeyboard
-
- * install2.pm, timezone.pm, install_steps.pm: add step summary. remove
- steps configureTimezone and configurePrinter
-
- * netconnect.pm: corrected back $install call
-
-2001/02/10 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake, share/keymaps_generate, keyboard.pm:
- - lang2keyboards handle keyboard percentages
- - xmodmaps now named keyboards
-
- * install_steps_interactive.pm: add step summary. remove steps
- configureTimezone and configurePrinter, modify selectKeyboard
-
- * standalone/draknet, standalone/XFdrake: corrected pkgs_install given
-
- * install_any.pm: add preConfigureTimezone
- add step summary. remove steps configureTimezone and configurePrinter
-
- * install2.pm, timezone.pm, install_steps.pm: add step summary. remove
- steps configureTimezone and configurePrinter
-
- * install_interactive.pm: cleanup
-
- * netconnect.pm: corrected back $install call
-
-2001/02/09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, install2.pm,
- timezone.pm: configureTimezone doesn't take parameter
- /etc/sysconfig/clock
-
-2001/02/09 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, interactive.pm, interactive_newt.pm: add button
- handling, quite weird behaviour though cuz of newt sillyness
-
- * install2.pm: configureTimezone doesn't take parameter
- /etc/sysconfig/clock
- (main): have compatibility with old stage1 (rhimage -> image)
- (formatPartitions):
- s|etc/sysconfig/consoletrans|etc/sysconfig/console/consoletrans|
- as it should now be (see lang.pm 1.143)
-
- * install_steps.pm, install_steps_interactive.pm, timezone.pm:
- configureTimezone doesn't take parameter /etc/sysconfig/clock
-
-2001/02/09 siegel
-
- * share/po/de.po: new german version
-
-2001/02/08 dam's <damien@mandrakesoft.com>
-
- * standalone/drakgw: implemented or updated embedded mode
- added embedded and (ugly) wizard mode.
-
- * standalone/printerdrake, standalone/mousedrake, standalone/diskdrake,
- standalone/keyboarddrake: implemented or updated embedded mode
-
- * standalone/draknet: implemented or updated embedded mode
- added embedded mode
-
- * standalone/XFdrake: implemented or updated embedded mode
- corrected compilation bug.
-
- * standalone/drakboot: implemented or updated embedded mode
- updated embedded mode. Should work, not tested in real world
-
- * netconnect.pm: removed testing wizard instruction
-
-2001/02/08 François Pons <fpons@mandrakesoft.com>
-
- * ftp.pm: fixed wrong URLPREFIX formation if no user given.
-
- * standalone/XFdrake: fix the previous changelog wich was wrong (bad
- spelling),
- added a char in comment to allow a new release (thanks to pixel :-)
- make sure SHARE_PATH is set.
- fixed SHARE_PATH to make sure it is setted.
-
- * Xconfigurator.pm: added DRI experimental support (sis, radeon). Prefer
- XF3 for SiS card.
-
- * pkgs.pm: fixed problem for updating hdlist after going back to partition
- step.
-
-2001/02/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/config-stage1.h, mdk-stage1/network.c:
- better memory detection (from wonderful drakx)
-
-2001/02/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Norwegian file
-
-2001/02/08 Pixel <pixel@mandrakesoft.com>
-
- * common.pm (availableRamMB): cleanup
-
- * standalone.pm, standalone/XFdrake: make sure SHARE_PATH is set now in
- standalone
-
-2001/02/07 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed unknown package ARRAY... and locales selection
- according to langs.
-
- * modules.pm: fixed module name without text for SCSI configuration
- dialog, add log.
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/probing.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/automatic.c, mdk-stage1/init.c,
- mdk-stage1/probing.c, mdk-stage1/automatic.h, mdk-stage1/modules.c,
- mdk-stage1/network.c:
- - use description of network cards when you have to select between
- interfaces; has accuracy even in the case of multiple interface for a
- given kernel module
- - write down a small "shell" to change parameters on the fly (needs
- compile option SPAWN_INTERACTIVE)
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): better fix for getting
- max install size.
- (choosePackages): call setSelectedFromCompssList with empty
- compssUsersChoice meaning max
-
- * common.pm (formatXiB): more precise for cases like 1_234_000 -> 1.2GB
-
-2001/02/07 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixed unknown package ARRAY... and locales selection
- according to langs.
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): better fix for getting
- max install size.
- (choosePackages): call setSelectedFromCompssList with empty
- compssUsersChoice meaning max
-
- * common.pm (formatXiB): more precise for cases like 1_234_000 -> 1.2GB
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * share/rpmsrate: Add usbd to SYSTEM.
-
-2001/02/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: updated wizard mode, intro and other stuff
-
- * interactive_gtk.pm, interactive.pm, my_gtk.pm: updated wizard mode
-
- * share/logo-mandrake.xpm: new logo
-
-2001/02/07 François Pons <fpons@mandrakesoft.com>
-
- * http.pm, ftp.pm, pkgs.pm: now fully fixed ftp connection (and http too)
- caused by forked DrakX
- with latent ftp connection.
-
-2001/02/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile: tag VERSION as 8.0 since stage2 graphics now show
- 8.0
-
- * mdk-stage1/network.c: don't reverse hostname lookup if dhcp already gave
- hostname+domain
-
-2001/02/07 Pixel <pixel@mandrakesoft.com>
-
- * share/logo-mandrake.xpm: xpm files should be xpm, not pngs :-(
-
- * detect_devices.pm (hasPCMCIA): created (check for /proc/pcmcia)
-
- * install_steps_interactive.pm (miscellaneous): remove asking about
- numlock and hd optimizations,
- deprecates it (aka don't do anything)
-
- * Xconfigurator.pm (main): don't need isLaptop anymore, use
- detect_devices::hasPCMCIA
-
- * bootloader.pm (suggest): read CLEAN_TMP from sysconfig/system, default
- value of memsize
- if given
- (install): save CLEAN_TMP in sysconfig/system
- (get_append, add_append): get or set an append value
- (has_profiles, set_profiles): get or add an entry office for profiles,
- also add prof=Home in
- the default entry
-
- * any.pm (setupBootloader): take care of profiles and memsize
- (facesnames): only display icons capitalized. This goes along the new
- mandrake_desk where capitalized named faces are the new one. [a-z].*
- icons
- being only kept for compatibility. (in case no capitalized icons
- available
- display everything (compatibility with old mandrake_desk)
-
- * standalone/draknet, standalone/XFdrake: don't pass isLaptop
-
- * install_steps.pm (setupBootloaderBefore, miscellaneousBefore): remove
- taking care of
- profiles and memsize. Now in any & bootloader
- (miscellaneousBefore): CLEAN_TMP is now in $o->{bootloader}, not in
- $o->{miscellaneous} anymore
-
- * install_gtk.pm (create_help_window, create_logo_window): use gtkxpm
-
- * netconnect.pm: remove the $isLaptop unused from a hell lot of functions
-
- * install2.pm (@installSteps): remove miscellaneous
- (main): don't remove pcmcia modules anymore (not there anymore), remove
- /sbin/stage1
-
-2001/02/07 siegel
-
- * share/po/de.po: new german version
-
-2001/02/06 François Pons <fpons@mandrakesoft.com>
-
- * ftp.pm: reworked ftp behaviour a bit for cooperative connection (avoid
- opening
- and closing connection too fast for each transaction). There seems
- to be some problem for retrieving twice a package, this cause huge pause
- between each transaction, the best is to avoid them so ?
-
-2001/02/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/stage1.c,
- mdk-stage1/init.c, mdk-stage1/newt-frontend.c, mdk-stage1/network.c,
- mdk-stage1/modules.c, mdk-stage1/disk.c:
- - slighty change the message when exiting successfully from install,
- to not mess with abnormal termination
- - get back dialog for hostname and domain in case of unable to guess
- domain
- - try to resolve DNS if self-ip can't resolve, to guess domain
- - remember entries so that when there is a problem you don't have to
- re-enter everything (ncurses sucking stuff in case of stdio-frontend..)
- - use larger buffer for list_directory since in /dev there can be
- *many* files
-
-2001/02/05 dam's <damien@mandrakesoft.com>
-
- * Makefile.drakxtools, Makefile: added wizard.rc handling in Makfiles.
-
- * standalone/draknet: added infos recovering.
-
- * netconnect.pm: added load_conf() to recover saved infos from conffile.
-
-2001/02/05 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: removed abusive white char.
- updated to use urpmi new format (change fakemedium to better label)
- fixed frame buffer usage if not enabled (installation of Aurora)
- clean up and remove unused code.
-
- * ftp.pm: rebuild URLPREFIX as stage1 does not provide it anymore.
-
- * pkgs.pm: updated to use urpmi new format (change fakemedium to better
- label)
-
- * Xconfigurator.pm: Removed Device3Dfx as it is no more.
-
- * install_steps.pm: fixed frame buffer usage if not enabled (installation
- of Aurora)
- clean up and remove unused code.
-
-2001/02/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/list: updated list of gconv modules
-
-2001/02/05 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (head_tail): fix usage
-
- * interactive_gtk.pm (create_ctree): node_moveto done only if
- node_is_visible is not full
-
-2001/02/04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/mar/mar-frontend.c: fix bug when creating marfiles with
- file-not-found in args
-
-2001/02/04 Pixel <pixel@mandrakesoft.com>
-
- * interactive_newt.pm: fix adaptation to the terminal size, should now
- work in 80x25
-
- * Xconfigurator.pm (monitorConfiguration): better handling of auto_install
-
- * install_steps_interactive.pm (choosePackages): don't call
- chooseSizeToInstall even with experts
-
- * install_steps_gtk.pm (charsetChanged): re-create steps window
-
-2001/02/03 dam's <damien@mandrakesoft.com>
-
- * modules.pm, standalone/draknet, netconnect.pm: corrected module.conf
- update, net conf saving, and no wizard by default.
-
-2001/02/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2001/02/03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): ease use of {X}{type} in
- auto_installs
-
- * install_steps_gtk.pm (charsetChanged): created, takes care of setting to
- the right charset the windows
-
- * install_steps_interactive.pm (selectLanguage): call charsetChanged
-
- * share/rpmsrate: fix ``LOCALES "zh_CN"'' with ``LOCALES"zh_CN"''
- move ftp to SYSTEM so that it is installed
-
- * Makefile: install cardmgr
-
- * modules.pm (configure_pcmcia): cleanup
-
-2001/02/03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): ease use of {X}{type} in
- auto_installs
-
- * install_steps_gtk.pm (charsetChanged): created, takes care of setting to
- the right charset the windows
-
- * install_steps_interactive.pm (selectLanguage): call charsetChanged
-
- * share/rpmsrate: fix ``LOCALES "zh_CN"'' with ``LOCALES"zh_CN"''
- move ftp to SYSTEM so that it is installed
-
- * Makefile: install cardmgr
-
- * modules.pm (configure_pcmcia): cleanup
-
-2001/02/02 dam's <damien@mandrakesoft.com>
-
- * share/wizard.rc: added rc file for wizard mode
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): better default for DDC probe
- fails and
- auto_install and not provided any info about the monitor
-
- * my_gtk.pm (gtkcreate_xpm): error handling with error message
-
- * share/rpmsrate: all GNOME and KDE moved out of GRAPHICAL_DESKTOP
-
- * install_steps.pm (configureXBefore): set XKB_IN_USE=no if !$has_xkb in
- /etc/sysconfig/i18n
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
- * install_any.pm (setPackages): in auto_installs, default to all groups
- chosen, unless
- compssUsersChoice exist. Won't change anything unless compssListLevel is
- used of course
-
- * Xconfigurator_consts.pm: add low_default_monitor for default of
- auto_installs
-
- * interactive_gtk.pm (ask_from_entries_refW): use gtkxpm
-
- * Makefile, partition_table.pm, pkgs.pm, partition_table_raw.pm,
- diskdrake.pm: using the new formatXiB
-
- * detect_devices.pm (getCompaqSmartArray): adapted getCompaqSmartArray to
- the fact that kernel
- 2.4 uses /proc/driver/array instead of /proc/array. Also adapted the
- regexp now that ida/c0d0p? is no more at the beginning of the line.
- (get): cleanup, remove hasIDE hasSCSI...
-
- * common.pm (formatXiB): created, format a number in human readable format
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
-2001/02/02 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm, standalone/draknet, netconnect.pm, my_gtk.pm,
- standalone/diskdrake: recoded wizard mode
- corrected some stuff.
- trying not to break draknet for cooker snapshot
-
-2001/02/02 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): better default for DDC probe
- fails and
- auto_install and not provided any info about the monitor
-
- * install_any.pm (setPackages): in auto_installs, default to all groups
- chosen, unless
- compssUsersChoice exist. Won't change anything unless compssListLevel is
- used of course
-
- * share/locales.tar.bz2: yet another LC_NUMERIC, seems like the previous i
- chose was glibc-2.1 :-(
- this one en_US and seems all right!
-
- * Xconfigurator_consts.pm: add low_default_monitor for default of
- auto_installs
-
- * Makefile, partition_table.pm, pkgs.pm, partition_table_raw.pm,
- diskdrake.pm: using the new formatXiB
-
- * install_steps.pm (configureXBefore): set XKB_IN_USE=no if !$has_xkb in
- /etc/sysconfig/i18n
-
- * common.pm (formatXiB): created, format a number in human readable format
-
- * mdk-stage1/disk.c (try_with_device): bloody guillaume changed
- /tmp/hdimage to /tmp/disk without even
- telling, changing it back as i don't see any good reason for the move.
-
-2001/02/01 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: new draknet snapshot. Still unuseable
-
- * interactive_gtk.pm, netconnect.pm, my_gtk.pm: updated embedded mode in
- install.
-
-2001/01/31 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: corected translation and conflict.
-
-2001/01/31 François Pons <fpons@mandrakesoft.com>
-
- * modules.pm: added missing die if modprobe failed on live upgrade.
-
- * pkgs.pm: added rpmrebuilddb directory cleaning before, remove old rpm
- file
- if everything has been successfull.
-
- * install_steps.pm: changed to clean selection for non expert as used for
- group selection
- because it is not cleaned, need better solution TODO.
-
-2001/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * standalone/draknet: Fixed English typos (in English you DON'T PUT SPACES
- BEFORE COLON (:);
- and it is "Profile" and not "Profil")
- CV:
- ----------------------------------------------------------------------
-
-2001/01/31 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackagesTree): created, simple
- ask_many_from_list to choose
- individual packages
- (choosePackages): log for debug
- (choosePackages): don't ask to install in beginner. Max is chosen
- (setRootPassword): help not based on installClass being server or not
- (selectInstallClass): remove installClass choice (was
- normal/devel/server)
- (chooseGroups): fix for individual package selection flag
-
- * netconnect.pm (get_net_device): more cleanup syntax
- (get_net_device): cleanup syntax
-
- * install_steps.pm (selectLanguage): warning for debug
- (miscellaneousBefore): don't use installClass to decide to use
- supermount
- or not. Choice is done on $::corporate. Can't say "no supermount in
- server
- installs" anymore
- (selectInstallClass): emptied
- (setupSCSI): don't configure PCMCIA if there is no PCMCIA
-
- * install_any.pm (g_auto_install): installClass removed
- (setPackages): do not preselect compssUsers entries
-
- * install2.pm (main): don't set installClass=normal meta_class desktop
- (deprecated)
- (miscellaneous): TYPE= removed (was installClass)
- (selectInstallClass): don't set $o->{partitions}. diskdrake will have to
- ask in a set of possibilities
- ($o): replace fclass by fbeginner and fexpert
- ($o): default security level to 2 since it can't be based on
- installClass (deprecated)
-
- * install_steps_gtk.pm: restore window size for time being
-
- * pkgs.pm (psUpdateHdlistsDeps): also copy rpmsrate
-
- * Xconfigurator.pm (main): better error message for auto_install failing
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * any.pm (set_autologin): log to ensure AUTOLOGIN is not badly set by
- drakx. Still
- need finding the guilty
-
-2001/01/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: more kbd corrections
- fixed soem keybopard values
-
-2001/01/31 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackagesTree): created, simple
- ask_many_from_list to choose
- individual packages
- (choosePackages): log for debug
- (choosePackages): don't ask to install in beginner. Max is chosen
- (setRootPassword): help not based on installClass being server or not
- (selectInstallClass): remove installClass choice (was
- normal/devel/server)
- (chooseGroups): fix for individual package selection flag
-
- * install_steps.pm (selectLanguage): warning for debug
- (miscellaneousBefore): don't use installClass to decide to use
- supermount
- or not. Choice is done on $::corporate. Can't say "no supermount in
- server
- installs" anymore
- (selectInstallClass): emptied
- (setupSCSI): don't configure PCMCIA if there is no PCMCIA
-
- * install_any.pm (g_auto_install): installClass removed
- (setPackages): do not preselect compssUsers entries
-
- * install2.pm (main): don't set installClass=normal meta_class desktop
- (deprecated)
- (miscellaneous): TYPE= removed (was installClass)
- (selectInstallClass): don't set $o->{partitions}. diskdrake will have to
- ask in a set of possibilities
- ($o): replace fclass by fbeginner and fexpert
- ($o): default security level to 2 since it can't be based on
- installClass (deprecated)
-
- * install_steps_gtk.pm: restore window size for time being
-
- * pkgs.pm (psUpdateHdlistsDeps): also copy rpmsrate
-
- * Xconfigurator.pm (main): better error message for auto_install failing
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * any.pm (set_autologin): log to ensure AUTOLOGIN is not badly set by
- drakx. Still
- need finding the guilty
-
-2001/01/30 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: new draknet. unstable
-
- * netconnect.pm: updated
- debugged network card configuration after pixelisation.
-
-2001/01/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stdio-frontend.c, mdk-stage1/newt-frontend.c: prevent from
- trying to set progressbar to more than 100% (rescue is more compressed
- than drakx)
-
- * share/rpmsrate: add ldetect to config stuff I want to have on all
- installs (lspcidrake)
-
-2001/01/30 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm, netconnect.pm, install_interactive.pm:
- adapt format functions given to ask_from_listf. $_ is no more set
-
- * mouse.pm (detect): replace commands::modprobe by modules::load as it
- should (or??)
-
- * perl2etags: adapt to new etags (emacs 21) format
-
- * raid.pm (make): replace commands::modprobe by modules::load as it should
- (or??)
-
- * perl2fcalls (@exclude_calls): add Eth as dam's use it quite a lot in his
- regexps
-
- * share/locales.tar.bz2: misc/LC_NUMERIC tells to use "," as number
- separator instead of ".".
- The sheer result is:
- "0.6" * 10 gives 0
- "0,6" * 10 gives 6
-
- So i have overwritten misc/LC_NUMERIC with
- /usr/share/locale/en/LC_NUMERIC and
- it works nicely now :)
-
-2001/01/29 dam's <damien@mandrakesoft.com>
-
- * standalone/drakboot: corrected typo
-
-2001/01/29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm:
- - deprecate "hdreiser.img" since we have room for "reiserfs.o" in
- "hd.img"
- - following deprecation of "other.img", reintegrate big modules in
- relevant boot disks
-
-2001/01/29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/po/et.po: updated Estonian file
-
-2001/01/29 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (getCompaqSmartArray): /proc/array/ida0 can contain
- more than one ida/c0d0p*
-
-2001/01/28 dam's <damien@mandrakesoft.com>
-
- * share/help.xpm, network.pm, ChangeLog, netconnect.pm: updated
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fixed horrible
- bug causing reiserfs partitions
- not to be displayed/asked for formatting. The default value being used.
-
- * any.pm (get_autologin): adapt to new format of sysconfig/desktop
-
-2001/01/28 siegel
-
- * share/po/de.po: new german version
-
-2001/01/26 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: updated embedded mode
-
- * standalone/drakboot: added embedded mode
-
-2001/01/26 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/include/stdio.h: adjust include files to compile
- bzlib
-
- * mdk-stage1/stage1.c: restore passing of pcmcia info to stage2
-
- * mdk-stage1/bzlib/compress.c, mdk-stage1/bzlib/bzlib.c,
- mdk-stage1/bzlib/randtable.c, mdk-stage1/bzlib/huffman.c,
- mdk-stage1/modules.c, mdk-stage1/bzlib/crctable.c,
- mdk-stage1/bzlib/decompress.c, mdk-stage1/bzlib/Makefile,
- mdk-stage1/bzlib/bzlib_private.h, mdk-stage1/tools.c,
- mdk-stage1/Makefile, mdk-stage1/bzlib/blocksort.c:
- - use bzlib instead of zlib to reduce overall size
- - take home my own bzlib code to (1) reduce code size with good
- compile options (2) make it compile and link against dietlibc
-
- * mdk-stage1/mar/mar-extract-only.c, mdk-stage1/mar/mar-extract-only.h,
- mdk-stage1/mar/mar-frontend.c, mdk-stage1/mar/mar.h,
- mdk-stage1/mar/Makefile: mar now uses bzlib, no more zlib
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: comply to new "mar -l" format
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/26 siegel
-
- * share/po/de.po: .
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (installPackages): prepare for advertising...
-
- * interactive_newt.pm (ask_from_entries_refW): major rework for new
- format, still need work
- (ask_from_entries_refW): use NEWT_FLAG_PASSWORD (aka 1<<11) instead of
- NEWT_FLAG_HIDDEN
- (myTextbox): wrap the text if needed
- (myTextbox): use a vertical scrollbar if needed
-
- * Newt/Newt.xs (newtFormAddGrid): new name for
- newtGridAddComponentsToForm, swap
- parameters for much better understanding
- (newtListboxGetCurrent): returns a SV (together with
- newtListboxAddEntry)
- (newtListboxAddEntry): data is now a SV
-
-2001/01/25 dam's <damien@mandrakesoft.com>
-
- * install2.pm: disable steps 'packages choice', 'configure X', and
- 'configure' 'printer'
-
- * install_steps_interactive.pm: don't oblige user addition
-
- * network.pm: display ethernet module
-
- * netconnect.pm: network informations filled into
- $prefix/var/lib/naat/configuration
-
-2001/01/25 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2: restore symlink /sbin/sh ->
- /usr/bin/sh for stage2
-
- * mdk-stage1/probing.h: better tightness of probing stuff
-
- * mdk-stage1/probing.c: better tightness of probing stuff
- print warning message when insmod of PCI-detected device fails
-
- * mdk-stage1/stage1.c:
- - mdk-stage1: now linux-2.4 uses floppy.o to access floppy drives
- - remove fat/vfat modules from some boot floppies now that we don't
- need it anymore
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: re-integrate autoprobe of
- tulip network cards, kernel-2.4 has strange way to classify some of its
- net modules..
-
-2001/01/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: Waw, italian translator is very fast :)
- updated Indonesian and Italian fiels
-
- * share/po/id.po: updated Indonesian and Italian fiels
-
- * share/locales.tar.bz2: added iso9 locale definitions
-
- * lang.pm: fixed LANGUAGE for mk locale
-
-2001/01/25 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (spawnShell): fix error message
-
-2001/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2:
- - clean up deprecated symlinks (insmod, rmmod, cardmgr)
- - remove unecessary device files
-
- * mdk-stage1/pcmcia/cardmgr.c, mdk-stage1/pcmcia/lex_config.c,
- mdk-stage1/pcmcia/vg468.h, mdk-stage1/pcmcia/cardmgr.h,
- mdk-stage1/pcmcia/bulkmem.h, mdk-stage1/pcmcia/i82365.h,
- mdk-stage1/pcmcia/cirrus.h, mdk-stage1/pcmcia/driver_ops.h,
- mdk-stage1/pcmcia/config.h, mdk-stage1/pcmcia/version.h,
- mdk-stage1/pcmcia/cistpl.h, mdk-stage1/stage1.c,
- mdk-stage1/pcmcia_config.patch, mdk-stage1/pcmcia/cs.h,
- mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/ds.h,
- mdk-stage1/pcmcia/pcmcia.h, mdk-stage1/pcmcia/cs_types.h,
- mdk-stage1/pcmcia/yacc_config.c, mdk-stage1/Makefile,
- mdk-stage1/pcmcia/tcic.h, mdk-stage1/pcmcia/yacc_config.h,
- mdk-stage1/pcmcia/pcmcia_probe.c: stage1: add pcmcia
-
-2001/01/24 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (%types): s|Compaq|Compaq/HP| per request of fpitoun
-
- * install_steps.pm (afterInstallPackages): cleanup
-
- * interactive.pm: better documentation of ask_from_entries_refH features
- (entry)
-
-2001/01/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1-data/stage1.tar.bz2:
- - clean up deprecated symlinks (insmod, rmmod, cardmgr)
- - remove unecessary device files
-
- * mdk-stage1/pcmcia/cardmgr.c, mdk-stage1/pcmcia/lex_config.c,
- mdk-stage1/pcmcia/vg468.h, mdk-stage1/pcmcia/cardmgr.h,
- mdk-stage1/pcmcia/bulkmem.h, mdk-stage1/pcmcia/i82365.h,
- mdk-stage1/pcmcia/cirrus.h, mdk-stage1/pcmcia/driver_ops.h,
- mdk-stage1/pcmcia/config.h, mdk-stage1/pcmcia/version.h,
- mdk-stage1/pcmcia/cistpl.h, mdk-stage1/stage1.c,
- mdk-stage1/pcmcia_config.patch, mdk-stage1/pcmcia/cs.h,
- mdk-stage1/pcmcia/Makefile, mdk-stage1/pcmcia/ds.h,
- mdk-stage1/pcmcia/pcmcia.h, mdk-stage1/pcmcia/cs_types.h,
- mdk-stage1/pcmcia/yacc_config.c, mdk-stage1/Makefile,
- mdk-stage1/pcmcia/tcic.h, mdk-stage1/pcmcia/yacc_config.h,
- mdk-stage1/pcmcia/pcmcia_probe.c: stage1: add pcmcia
-
-2001/01/24 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (%types): s|Compaq|Compaq/HP| per request of fpitoun
-
- * install_steps.pm (afterInstallPackages): cleanup
-
- * interactive.pm: better documentation of ask_from_entries_refH features
- (entry)
-
-2001/01/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Greek file
-
-2001/01/22 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm, netconnect.pm: corrected slide bar, and
- added network conf save in /root/networking.tmp
-
-2001/01/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/network.c: add automatic support in choice of NET device, in
- case of multiple NET devices
- consistent dot-terminated error messages, consistent no-dot log messages
- re-put Netmask input per default (void entry -> automatic guess)
-
- * mdk-stage1/stage1.c, mdk-stage1/dhcp.c, mdk-stage1/modules.c: consistent
- dot-terminated error messages, consistent no-dot log messages
-
-2001/01/22 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/id.po: updated Indonesian file
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/sv.po,
- share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po,
- share/po/pl.po, netconnect.pm, share/po/no.po, share/po/fi.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated po files
-
- * share/po/wa.po: updated po files
- updated pot file
-
- * install2.pm, lang.pm: fixed the places where console fonts and related
- files are put under
- /etc/sysconfig to the places really used by console-tools
-
- * share/po/DrakX.pot: updated pot file
-
- * share/po/hr.po: updated po files
- updated Croatian file
-
-2001/01/22 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (read_rpmsrate): if $packages is undef, ignore it. That way,
- read_rpmsrate
- can be called standalone.
-
- * network.pm, install_steps_interactive.pm, netconnect.pm, my_gtk.pm,
- install_interactive.pm, install2.pm, partition_table.pm, install_any.pm,
- any.pm, printerdrake.pm, Xconfigurator.pm, diskdrake.pm: $::beginner is
- deprecated, replaced by !$::expert
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.c, mdk-stage1/network.c: allow providing void password in
- network/ftp installs
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (create_ctree): fix case with formatted list
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/nfsmount.c: fix remaining perror's
-
- * mdk-stage1/url.c, mdk-stage1/network.c: allow providing void password in
- network/ftp installs
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (create_ctree): fix case with formatted list
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/stage1.c, mdk-stage1/nfsmount.c: fix remaining perror's
-
-2001/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/da.po: updated Danish and Brazilian files
-
-2001/01/21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/nfsmount.c: fix remaining perror's
-
- * mdk-stage1/stage1.c: fix remaining perror's
- - better msg in fatal errors
- - do not include code to spawn a shell for releases
-
-2001/01/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/da.po: updated Danish and Brazilian files
-
-2001/01/21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectMouse): use ask_from_treelist_
-
- * interactive.pm (ask_from_treelist_): created, split with the separator,
- call translate on
- words, then re-join.
-
-2001/01/19 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: fixes for CD not changeable.
-
- * install_steps_interactive.pm: fixed unselect group and inoperant
- individual package selection.
- removed expert mode and install class.
-
-2001/01/18 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: fixed obligation of relative large install, now
- minimum is lesser.
-
- * install_steps_gtk.pm: make sure no ratio above 1 can occur, still need
- to see why as it happens
- on install-abort-choices-install or
- install-abort-choices-fs-format(none)-choices-install
-
- * live_install: update live install to match /tmp/image instead of
- /tmp/rhimage.
-
-2001/01/17 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, install_any.pm: fixes with /tmp/rhimage and
- /tmp/image.
-
- * pkgs.pm: update to use new header file format in hdlist (added arch) but
- depslist has not it...
-
- * install2.pm: fixes with /tmp/rhimage and /tmp/image
-
-2001/01/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/bg.po: updated bulgarian file
-
-2001/01/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/url.c: use strrchr instead of doing it by hand
-
- * mdk-stage1/insmod-busybox/busybox.h,
- mdk-stage1/insmod-busybox/utility.c, mdk-stage1/insmod-busybox/insmod.c:
-
- - replace remaining perror's with log_perror's
- - little code cleanup
-
- * mdk-stage1/stage1-data/stage1.tar.bz2,
- mdk-stage1/stage1-data/stage1-with-sash.tar.bz2: add /dev/fd0
-
- * mdk-stage1/stage1.c, mdk-stage1/modules.h, mdk-stage1/tools.c,
- mdk-stage1/tools.h, mdk-stage1/disk.c, mdk-stage1/modules.c:
- - add load of third party modules in Expert mode (PS rulz)
-
-2001/01/12 siegel
-
- * share/po/de.po: updates
-
-2001/01/12 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed addUser for invocation of
- any::ask_users.
- fixed bad invocation of installation of X server.
-
-2001/01/12 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/cdrom.c: add more memory carefulness with CDROM install
- - add wait_message for initializing of CDROM's (it can be long when
- it's SCSI)
- - print CDROM drive names (model) in dialogs
-
- * mdk-stage1/mount.c, mdk-stage1/lomount.c, mdk-stage1/disk.c:
- - fix behaviour with bad ISO images (DISK installs)
- - better dialogs for DISK installs
-
-2001/01/12 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: make lang list in format for tree-selector
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/disk.c: fix failing umount for DISK installs in some failing
- loopback situations
- act nicely when no partitions are found on some disk
-
- * mdk-stage1/modules.h: polish generic blank.img situation (no modules
- and/or modules.dep available)
-
- * mdk-stage1/lomount.c: fix failing umount for DISK installs in some
- failing loopback situations
- better log messages
- continue anyway when insmod'ing of modules fail (for blank.img)
-
- * mdk-stage1/probing.c: close some fd's
-
- * mdk-stage1/stage1.c, mdk-stage1/modules.c: polish generic blank.img
- situation (no modules and/or modules.dep available)
- continue anyway when insmod'ing of modules fail (for blank.img)
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/Makefile, mdk-stage1/disk.c:
- - add DISK install from ISO image file
- - add FTP
- - add HTTP
- - use single place for mountpoints and static directories
-
- * mdk-stage1/hack, mdk-stage1/lomount.c, mdk-stage1/lomount.h:
- - add DISK install from ISO image file
-
- * mdk-stage1/stage1.c, mdk-stage1/config-stage1.h, mdk-stage1/stage1.h,
- mdk-stage1/tools.c, mdk-stage1/stdio-frontend.c, mdk-stage1/cdrom.c,
- mdk-stage1/tools.h, mdk-stage1/newt-frontend.c, mdk-stage1/network.c:
- - add FTP
- - add HTTP
- - use single place for mountpoints and static directories
-
- * mdk-stage1/insmod-busybox/Config.h: tweak config
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * standalone/adduserdrake: adduserdrake may handles autologin
-
- * install_steps.pm (addUser): set autologin
-
- * install2.pm (addUser): moved setAuthentication to install_steps::addUser
-
- * install_steps_interactive.pm (addUser): fix
-
-2001/01/11 dam's <damien@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm, ChangeLog,
- netconnect.pm: updated
-
-2001/01/11 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/pci-resource/update-pci-ids.pl: remove nasty messages when
- mar or marfiles not available to perform consistency check
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * interactive_gtk.pm (create_ctree): fix default value selecting failing
- (in case of "format")
- (ask_from_entries_refW): apply "format" on label when icon is missing
- for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): apply "format" on label when
- icon is missing for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at
- the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake
- and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/11 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): moved to package any
-
- * interactive_gtk.pm (ask_from_entries_refW): apply "format" on label when
- icon is missing for iconlist
- (ask_from_entries_refW): handle "canceled" callback. Permits to overrule
- the cancel.
-
- * install_steps.pm (configureX): call directly $o->pkg_install, no need to
- add 'XFree86-' at
- the beginning
- (addUser): use any::write_passwd_user
- (setRootPassword): use any::write_passwd_user
- (configureX): fix bad $install given to Xconfigurator::main
-
- * any.pm (write_passwd_user): add or update an entry in /etc/passwd
- (ask_users): created, interactively ask users to add (used in
- adduserdrake
- and install)
- (allocUsers, addUsers): changed the prototype
- (setupBootloader): grep out fat partitions for the "Boot device"
- propositions (people are too stupid)
-
- * my_gtk.pm (main): third argument is a function to call before leaving in
- case of
- "cancel" clicked.
-
- * install_any.pm (g_auto_install): deep copy of $o->{users} because we're
- modifying it
-
- * Makefile.config (STANDALONEPMS): remove netdrake (which is deprecated)
-
- * install_steps_interactive.pm (addUser): use any::ask_users
-
- * standalone/adduserdrake: use any::ask_users
-
- * Xconfig.pm (getinfoFromDDC): removed devices::make("/dev/zero") (now in
- install2::main)
-
- * install2.pm (main): move devices::make("/dev/zero") needed by ddcxinfos
- here
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): "canceled"
- callback defaults
- to "sub { 0 }"
-
-2001/01/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * mdk-stage1/dietlibc/dietfeatures.h: tweak dietlibc config to get minimal
- size
-
- * mdk-stage1/dietlibc/lib/vsscanf.c, mdk-stage1/dietlibc/lib/ttyname.c:
- remove warnings from compile
-
-2001/01/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): add handling of 'changed'
- callback on clist/list/ctree
-
- * install_steps.pm (addUser): use any::pack_passwd
- (setRootPassword): use any::unpack_passwd and any::pack_passwd
-
- * Xconfigurator.pm (cardConfiguration): adapt for $install which is
- generic
- (autologin): use $install which is now generic
-
- * install_steps_interactive.pm (selectLanguage): many_languages choice
- moved there as advanced
-
- * my_gtk.pm (create_packtable): yet another try to have something nice :)
- !! uses Gtk::Table::attach_raw which is available in
- perl-GTK-0.7004-6mdk !!
- (create_box_with_title): with the size given to set_usize for the scroll
- containing the text widget in case of long text. and don't let the
- scroll
- grow.
- (gtktext_insert): remove adding an ending "\n" (no more needed?)
-
- * any.pm (setAutologin): cleanup
- (pack_passwd, unpack_passwd): created
-
-2001/01/10 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm: corrected last message . firewall
-
-2001/01/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: fix modules.pm for modules to be skept in stage1 (ppa, imm,
- parport*, plip)
-
-2001/01/10 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_entries_refW): add handling of 'changed'
- callback on clist/list/ctree
-
- * install_steps.pm (addUser): use any::pack_passwd
- (setRootPassword): use any::unpack_passwd and any::pack_passwd
-
- * my_gtk.pm (create_packtable): yet another try to have something nice :)
- !! uses Gtk::Table::attach_raw which is available in
- perl-GTK-0.7004-6mdk !!
- (create_box_with_title): with the size given to set_usize for the scroll
- containing the text widget in case of long text. and don't let the
- scroll
- grow.
- (gtktext_insert): remove adding an ending "\n" (no more needed?)
-
- * any.pm (setAutologin): cleanup
- (pack_passwd, unpack_passwd): created
-
- * Xconfigurator.pm (cardConfiguration): adapt for $install which is
- generic
- (autologin): use $install which is now generic
-
- * install_steps_interactive.pm (selectLanguage): many_languages choice
- moved there as advanced
-
- * standalone/printerdrake, standalone/keyboarddrake, standalone/draknet2,
- standalone/livedrake, standalone/drakboot, standalone/draksec,
- standalone/netdrake, standalone/mousedrake, standalone/drakgw,
- standalone/drakxservices, standalone.pm, standalone/draknet,
- standalone/XFdrake, standalone/diskdrake, standalone/adduserdrake,
- standalone/drakxconf: use standalone and standalone::pkgs_install
-
-2001/01/09 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (drakx_version): nicer (4gc)
-
- * install2.pm (main): log::l the drakx_version
-
- * my_gtk.pm (create_packtable): no_expand option added
-
- * interactive.pm (ask_from_entries_refH_powered_normalize): field
- "disabled" added,
- "advanced_messages" added
-
- * lang.pm (langs): created (transform the $o->{langs} hash ref in a list)
- (pack_langs): use lang::langs
-
- * install_steps.pm (selectLanguage): $o->{langs} is now a ref so
- initialize as such
-
- * Makefile (get_needed_files): generate /usr/share/VERSION which contains
- the version
- of ChangeLog (which is updated at each upload)
-
- * install_steps_interactive.pm (choosePartitionsToFormat): handle "check
- for bad blocks" as advanced
- (setRootPassword): remove choosing non-md5 or non-shadow passwords.
-
- * install_any.pm (setPackages): use lang::langs instead of using
- $o->{langs} as a array ref (it is not so anymore)
- (spawnShell): print the drakx_version
-
-2001/01/08 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm: fixes
- (ask_from_treelistf, ask_from_treelist): now use ask_from_entries_refH
- (ask_from_entries_refH_powered): remove "1;" (was there for debugging)
-
- * interactive_gtk.pm: fixes
- (ask_from_treelistW): removed
- (create_ctree): created, used for ``type => treelist'' entries
-
- * my_gtk.pm: fixes
-
- * ChangeLog: New snapshot uploaded
-
-2001/01/07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sr.po, share/po/sp.po, share/po/no.po, share/po/cs.po: updated
- Czech, Norwegian and Serbian files
-
-2001/01/07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm: update code for new ask_from_entries_refH
- which doesn't handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
- (selectLanguage, selectKeyboard): use ask_from_entries_refH instead of
- ask_from_listf_, it enables the use of advanced
-
- * any.pm, printerdrake.pm: update code for new ask_from_entries_refH which
- doesn't handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
-
- * interactive.pm: update code for new ask_from_entries_refH which doesn't
- handle optional ok/cancel names in arg 1.
- must be handled via ask_from_entries_refH_powered
- (ask_from_listf_no_check): replaces ask_from_list_no_check
- (ask_from_entries_refH_powered): sorts the list if needed or wanted
-
- * partition_table_raw.pm (test_for_bad_drives): created
- - ugly stuff needed mainly for Western Digital IDE drives
- - try writing what we've just read, yells if it fails
- - testing on last sector of head #0 (unused in 99% cases)
-
- * ftp.pm (getFile): make it work (it used to dead-loop when getFile'ing an
- non-existent
- file, stressing the ftp server :-/ )
- for the moment, just release cdrom.img, hd.img and hdreiser.img
- others should should come...
-
- * install_steps.pm: for the moment, just release cdrom.img, hd.img and
- hdreiser.img
- others should should come...
-
- * interactive_gtk.pm (ask_from_listW): removed
- (create_list): calls "format" on list elems before prompting them
- (create_clist): created
- (ask_from_entries_refW): calls create_clist in case of list with no help
-
- * install_steps_gtk.pm (installPackages): autoflush stdout before beeping
- (installPackages): don't take into account the time when prompting the
- user
-
- * common.pm (may_apply): added
-
- * install_any.pm (getHds): test_for_bad_drives called on hard drives
- (getHds): ensure $o->{hds} is not set until the hard drives are checked
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * ChangeLog: New snapshot uploaded
- New snapshot uploaded
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * ChangeLog: New snapshot uploaded
-
-2001/01/06 Pixel <pixel@mandrakesoft.com>
-
- * keyboard.pm (setup): don't xmodmap if DISPLAY is unset
-
- * standalone/rpmdrake: deprecated (and has been for a long time now)
-
- * network.pm, install_steps_interactive.pm, netconnect.pm,
- install_interactive.pm, standalone/adduserdrake, any.pm,
- Makefile.config, printerdrake.pm, Xconfigurator.pm, diskdrake.pm:
- ask_from_entries_refH parameter format has changed so change all
- accesses to it.
-
-2001/01/05 François Pons <fpons@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: forget _exit in child process after a fork of
- DrakX
- removed need of packdrake binary
-
- * Xconfigurator.pm: use of SHARE_PATH for MonitorsDB, Cards+, CardsNames
-
- * live_install2: cleanup to keep libperl.so but the right one
-
- * live_install: no more copy of files on live system, now use environment
- variable by DrakX cleanup
-
- * perl2fcalls: added packdrake call (via new but incomplete) and package
-
- * install_any.pm, commands.pm, pkgs.pm: removed need of packdrake binary
-
- * netconnect.pm: fixed syntax error
-
- * modules.pm: eval insmoding ide-cd (just in case)
- removed need of packdrake binary
-
-2001/01/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ja.po, share/po/ca.po, share/po/az.po: updated Azeri, Catalan
- and Japanese files
-
-2001/01/05 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm: help cperl-mode
-
- * interactive_gtk.pm, network.pm, install_steps_interactive.pm, my_gtk.pm,
- interactive.pm, printerdrake.pm, Xconfigurator.pm, diskdrake.pm: move to
- new ask_from's:
- - ask_from_entries_ref is deprecated, use ask_from_entries_refH
- - ask_from_list now calls ask_from_entries_refH_powered
- still not done:
- - ask_from_treelist should use ask_from_entries_refH_powered,
- and lists with no help should use CList (List is bad)
- - keyboard and mouse binding is still rough
- - enhance the look
-
- * keyboard.pm: add the percentage of each keyboard types (as a comment for
- now)
-
-2001/01/04 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: cleaned... everything should be buggy.
-
-2001/01/04 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed some old $p->{file} by new $p->[$FILE]
- code cleanup and fixes for lilo not upgrade
-
-2001/01/04 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * install_any.pm: fixed the functions doing the lists of languages
-
- * lang.pm: fixed the functions doing the lists of languages
- The list of languages now has complete locale names insted of just
- language
- code (that is needed to differentiate zh_CN and zh_TW among others)
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated Brazilian file
-
- * share/po/eu.po: updated Basque file
- updated Brazilian file
-
-2001/01/04 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: some pixelization using the new if_
-
- * install_steps_interactive.pm (setRootPassword): fix pixelization
- keep $o->{langs} unpacked to simplify things
- if_ pixelization
-
- * common.pm (%EXPORT_TAGS): add if_ in "common" exported tags
- (if_): created. Use it to replace things like
- ($::expert ? $val : ()) by if_($::expert, $val)
-
- * keyboard.pm: nl keyboard is not used, so defaults to us_intl
-
- * lang.pm, install_steps.pm, pkgs.pm, install_any.pm: keep $o->{langs}
- unpacked to simplify things
-
- * netconnect.pm: quite a few clean-up (and buggying)
-
-2001/01/03 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm: admin user removed before beeing added
-
- * netconnect.pm: corrected typo
- LAN is configured with default value if firewall
-
-2001/01/03 François Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: fixed invocation of change_type by clicking on legend
- unless expert
-
- * install2.pm: fixed usage with testing
-
- * install_steps.pm: fixed some other services to start in case something
- gets wrong,
- this fixes some deadlock on upgrade from 7.0.
- fixed usage with testing
-
- * partition_table.pm: fixed overlapping partitions between one extended
- and one regular primary.
- should be accepted (log printed instead of error) as diskdrake allow
- their
- creation in expert.
-
-2001/01/03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: add checks of dependencies on marfiles
- fix a couple of broken dependencies in modules.pm
-
-2001/01/03 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, share/locales.tar.bz2: locales in glibc 2.2 format
-
-2001/01/03 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the setting of PATH and spawnShell *after*
- setting $prefix
-
-2000/12/31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/rpmsrate: added a few locales dependences
-
-2000/12/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (addUser): typo fix
-
- * ChangeLog: New snapshot uploaded
-
- * ftp.pm (getFile): recall getFile after rewindGetFile
-
-2000/12/29 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (addUser): typo fix
-
- * ftp.pm (getFile): recall getFile after rewindGetFile
-
-2000/12/28 Pixel <pixel@mandrakesoft.com>
-
- * Makefile: now /usr/lib/X11 is a relative symlink to please mirrors and
- jako
-
-2000/12/26 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * keyboard.pm: Add the very ghost option REMOVE_MOD_META_L.
-
-2000/12/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated Lithuanian file
-
-2000/12/22 dam's <damien@mandrakesoft.com>
-
- * install_steps.pm, install_steps_interactive.pm: corrected admin user
- setting for firewall install.
-
-2000/12/22 François Pons <fpons@mandrakesoft.com>
-
- * modules.pm: fixed load_multi on live.
- added back all removed module with the new great mdk-stage1 of gégé.
-
-2000/12/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * modules.pm: make them work with kernel-2.4 by disabling non existent
- modules
-
-2000/12/22 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm, install2.pm: commit symlink /tmp/image /tmp/rhimage
-
-2000/12/21 Pixel <pixel@mandrakesoft.com>
-
- * ChangeLog: New snapshot uploaded
-
-2000/12/21 dam's <damien@mandrakesoft.com>
-
- * install2.pm: firewall : automatic class set when firewall (beginner=0)
-
- * install_steps_interactive.pm: if firewall, admin password obliged
-
- * install_steps.pm: added setAdminpassword (a little bit redundant, sorry)
-
- * any.pm: corrected module stuff.. Thanx to pixel
-
-2000/12/20 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectMouse): unsure the device exists
-
- * unused/christmas-karaoke.patch: handle isa cards
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * ChangeLog: New snapshot uploaded
- New snapshot uploaded
-
-2000/12/19 dam's <damien@mandrakesoft.com>
-
- * standalone/pixmaps/logo1.xpm, standalone/pixmaps/px3.xpm,
- standalone/pixmaps/draknet4.xpm, standalone/pixmaps/draknet1.xpm,
- standalone/pixmaps/modem.xpm, standalone/pixmaps/logo2.xpm,
- standalone/pixmaps/util6.gif, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/drakgw.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/draknet5.xpm, standalone/pixmaps/px1.xpm,
- standalone/pixmaps/draknet2.xpm, standalone/pixmaps/logo3.xpm,
- standalone/pixmaps/util7.gif, standalone/pixmaps/port.xpm,
- standalone/pixmaps/draknet.xpm, standalone/pixmaps/ethernet.xpm,
- standalone/pixmaps/isdn.xpm, standalone/pixmaps/px2.xpm,
- standalone/pixmaps/draknet3.xpm: added control-center.
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: when loading /snd-card-/ module, load snd-pcm-oss
-
- * unused/christmas-karaoke.patch: Happy Christmas :)
-
- * install_any.pm: spawnShell: set DISPLAY, just in case :)
-
- * install2.pm: set PATH before doing spawnShell
-
- * Makefile: /usr/lib/X11 now exists on non-sparc (was only for sparc)
-
- * ChangeLog: New snapshot uploaded
-
-2000/12/18 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: added embedded support for control-center
- corrected embedded support.
- new control center and related
-
- * netconnect.pm: corrected typo
- corrected typo
-
- * standalone/drakxservices, standalone/control-center, ChangeLog,
- standalone/XFdrake, standalone/draknet2, standalone/adduserdrake,
- standalone/drakboot: new control center and related
-
- * install_gtk.pm: added firewall support
-
- * install2.pm: included firewall handling
- changed firewall comportement
-
- * install_steps_interactive.pm: changed firewall comportement
-
- * modules.pm: corrected bad mergeinconf
-
-2000/12/18 Pixel <pixel@mandrakesoft.com>
-
- * Makefile, share/keymaps_generate: tar and bzip2 is cfj/xfj and no more
- cfI/xfI
- remove isdndb.net
-
-2000/12/19 dam's <damien@mandrakesoft.com>
-
- * standalone/pixmaps/logo1.xpm, standalone/pixmaps/px3.xpm,
- standalone/pixmaps/draknet4.xpm, standalone/pixmaps/draknet1.xpm,
- standalone/pixmaps/modem.xpm, standalone/pixmaps/logo2.xpm,
- standalone/pixmaps/util6.gif, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/drakgw.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/draknet5.xpm, standalone/pixmaps/px1.xpm,
- standalone/pixmaps/draknet2.xpm, standalone/pixmaps/logo3.xpm,
- standalone/pixmaps/util7.gif, standalone/pixmaps/port.xpm,
- standalone/pixmaps/draknet.xpm, standalone/pixmaps/ethernet.xpm,
- standalone/pixmaps/isdn.xpm, standalone/pixmaps/px2.xpm,
- standalone/pixmaps/draknet3.xpm: added control-center.
-
-2000/12/19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: when loading /snd-card-/ module, load snd-pcm-oss
-
- * unused/christmas-karaoke.patch: Happy Christmas :)
-
- * install_any.pm: spawnShell: set DISPLAY, just in case :)
-
- * install2.pm: set PATH before doing spawnShell
-
- * Makefile: /usr/lib/X11 now exists on non-sparc (was only for sparc)
-
-2000/12/18 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm: added embedded support for control-center
- corrected embedded support.
- new control center and related
-
- * netconnect.pm: corrected typo
- corrected typo
-
- * standalone/drakxservices, standalone/control-center, ChangeLog,
- standalone/XFdrake, standalone/draknet2, standalone/adduserdrake,
- standalone/drakboot: new control center and related
-
- * install_gtk.pm: added firewall support
-
- * install2.pm: included firewall handling
- changed firewall comportement
-
- * install_steps_interactive.pm: changed firewall comportement
-
- * modules.pm: corrected bad mergeinconf
-
-2000/12/18 Pixel <pixel@mandrakesoft.com>
-
- * Makefile, share/keymaps_generate: tar and bzip2 is cfj/xfj and no more
- cfI/xfI
- remove isdndb.net
-
-2000/12/16 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake, standalone/drakgw: use ldetect-lst
-
- * Makefile.drakxtools: fix daminetsex
- use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * share/list: use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * any.pm: fix daminetsex
-
- * modules.pm, live_install, install2.pm, standalone/lspcidrake, pkgs.pm,
- mouse.pm: use ldetect-lst for usb => now auto detects mice types :)
-
- * c/stuff.xs.pm, detect_devices.pm: use ldetect-lst for usb => now auto
- detects mice types :)
- use ldetect-lst
- pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
- * Makefile.config: fix daminetsex
- use ldetect-lst
-
- * Makefile: use ldetect-lst for usb => now auto detects mice types :)
- use ldetect-lst
-
- * netconnect.pm, share/CardsNames, c/Makefile.PL, Xconfigurator_new.pm,
- Xconfigurator.pm, share/Cards+, share/MonitorsDB, share/isdndb.net,
- share/Cards2CardsNames: pci_probing now done by libldetect
- config files moved in package ldetect-lst
-
-2000/12/15 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: Cards+ and CardsNames are moved to ldetect-lst
-
- * install_steps.pm: clean all unneeded stuff
-
-2000/12/14 dam's <damien@mandrakesoft.com>
-
- * any_new.pm, netconnect_new.pm: preparing for big jump.
-
- * netconnect.pm: Big jump. The *_new.pm are replaced by *.pm
- Everything should work, but you better test :)
-
- * standalone/control-center: big improvement and cosmetic changes
- a lot of improvement. Is able to launch multiples soft passing in
- arguments.
- new file. Its location should change soon.
-
- * any.pm: Big jump. The *_new.pm are replaced by *.pm
- Everything should work, but you better test :)
- corrected typo.
-
-2000/12/14 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: obsoleted by rpmsrate
-
- * share/rpmsrate: obsoletes compssList
-
- * share/compssUsers, install_steps.pm, install_steps_interactive.pm,
- Makefile, install_steps_gtk.pm, install2.pm, pkgs.pm, install_any.pm:
- move from compssList to rpmsrate
-
- * Newt/Newt.xs: cleanup (use of alloca to pass parameters)
-
-2000/12/13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/it.po: updated Italian file
-
-2000/12/12 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: typo + if firewall, don't display 'disable network'
-
- * standalone/draknet2: new version... still working on it
-
- * ChangeLog: commit
-
- * share/themes-mdk-Firewall.rc: added firewall theme
-
- * modules.pm: my fault, corrected renaud's patch incorporation
-
- * share/logo-mandrake-Firewall.xpm: new logo
-
-2000/12/12 François Pons <fpons@mandrakesoft.com>
-
- * share/list: added packdrake.pm as packdrake has been splited.
-
- * pkgs.pm: fixed versionCompare to always return number. added checking of
- version to
- select obsoletes on upgrade.
-
-2000/12/11 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: Radeon uses 3D now.
-
- * lang.pm: fixed write_langs for upgrade.
- i18n sucking fixes.
-
- * Xconfigurator.pm: Radeon uses 3D hw accel theoritically now.
-
-2000/12/09 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: Added configuration of Vietnamese input server
-
-2000/12/09 Pixel <pixel@mandrakesoft.com>
-
- * standalone/adduserdrake: remove debugging code
-
- * install2.pm (selectInstallClass): give $clicked to selectInstallClass
-
- * interactive_newt.pm (ask_from_entries_refW): reset all hidden entries to
- null in case of error
- on hidden entry cuz newt doesn't display null entries, disturbing
-
- * install_steps_interactive.pm (formatMountPartitions): the format
- partition dialog created at first use,
- so that it doesn't appear if no partitions are formatted.
- (selectInstallClass): ensure expert choice is kept if it was prechosen
- (selectInstallClass): if expert pre-chosen, ensure expert is kept
-
- * interactive_gtk.pm, install_steps.pm: small renicing
-
-2000/12/08 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed bug in list of packages provided by another one.
-
-2000/12/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/no.po, share/po/DrakX.pot, share/po/es.po,
- share/po/fr.po, share/po/wa.po, share/po/da.po, share/po/de.po,
- share/po/az.po, share/po/tr.po: updated Brazilian file
-
-2000/12/08 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): warn if VERSION file doesn't exist
- (formatPartitions): call rotate_logs after mounting the partitions
-
- * mouse.pm (write_conf): fix to make make test_pms happy
-
- * install_steps.pm (exitInstall): save the report.bug in /root/report.bug
-
- * any.pm (rotate_logs): created, rotates ddebug.log and install.log in
- /root
-
- * ftp.pm (new): retry in case of ftp connection/login
-
- * commands.pm: report_bug: created, returns a string
-
-2000/12/07 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: corrected ADSL connection choice.
- corrected typo
-
-2000/12/06 dam's <damien@mandrakesoft.com>
-
- * install2.pm: erare humanum es
- firewall begins to infect the install :).
- new meta_class.
-
- * share/logo-mandrake-Firewall.xpm: aded logo for firewall
-
- * install_gtk.pm: corrected errors
- left pixmap centered if firewall
- improved the firewall theme.
- errare humanum es
- firewall infects the install.
- The logo is changed if firewall.
-
-2000/12/06 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake: add possibility to use keyboarddrake
- non-interactive (aka give the keyboard as
- first parameter)
-
- * lang.pm, install_steps.pm, install_steps_interactive.pm, install2.pm,
- install_any.pm: adapt to the fact that RPM_INSTALL_LANG is obsoloted.
- Now rpm uses %_install_langs in /etc/rpm/macros
-
-2000/12/05 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: final fixes to versionCompare to make sure no deadlock can
- occurs.
-
- * Xconfigurator.pm: restored Matrox G200/G400 hw 3d accel configuration.
-
-2000/12/05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pt_BR.po, share/po/pl.po, share/po/da.po, share/po/fi.po,
- share/po/es.po: updated several pofiles
-
-2000/12/04 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: use isCdNotEjectable.
-
- * common.pm: added function isCdNotEjectable.
-
- * share/Cards+: SiS620 card are said to be unsupported by XF4.
-
- * pkgs.pm: load only one hdlist in memory if CD is not ejectable (low
- memory).
- fixed compareVersion for deadlock. removed silly CODE print on deporder
- problems.
-
- * Xconfigurator.pm: add Options sw_cursor for SiS 6326 in XF3 mode.
-
-2000/12/03 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: incorporated cmodifications in the firewall branch
-
- * netconnect.pm: netconnect_new > netconnect.pm
-
- * netconnect_consts.pm: incorporated in the firewall branch.
-
- * standalone/draknet2: incoporated in the firewall branch
-
- * any_new.pm: any_new > any, so we remove it now.
-
- * netconnect_new.pm: netconnect_new > netconnect, so we remove it now.
- incorporated in the firewall branch
-
- * modules.pm: incorporated modifications to the firewall branch. Hope they
- won't break anything...
-
-2000/12/02 dam's <damien@mandrakesoft.com>
-
- * share/po/az.po: correction in firewall incorporated
-
- * ChangeLog: first attempt ro build the firewall install
-
- * standalone/mousedrake: incorporated in the firewall branch
-
- * share/po/ru.po, share/po/no.po, share/po/sk.po: correction incorporated
- in the firewall branch
-
-2000/11/28 dam's <damien@mandrakesoft.com>
-
- * modules.pm: included reno's patches. Now should work without kudzu.
- branch to build the firewall install.
-
- * standalone/pixmaps/port.xpm, standalone/pixmaps/.xvpics/px4.xpm,
- standalone/pixmaps/ethernet.xpm, standalone/pixmaps/.xvpics/px1.xpm,
- standalone/pixmaps/px2.xpm, standalone/pixmaps/unknown.xpm,
- standalone/pixmaps/.xvpics/px3.xpm, standalone/pixmaps/px4.xpm,
- standalone/pixmaps/px1.xpm, standalone/pixmaps/.xvpics/px2.xpm,
- standalone/pixmaps/px3.xpm, standalone/pixmaps/modem.xpm,
- standalone/pixmaps/isdn.xpm: Initial revision
- branch to build the firewall install.
-
- * partition_table_dos.pm, share/po/bg.po, share/po/sr.po,
- share/template.in/cdrom.kdelnk.in,
- share/template.in/cdrom.fsdev.kdelnk.in, share/po/hr.po, c/silo.c,
- Makefile, share/consolefonts/lat0-sun16,
- share/themes/DarkMarble-check_off.png,
- share/themes/marble3d-button_def.png, share/locales.tar.bz2.sparc,
- do_resize_fat, share/po/wa.po, share/po/is.po,
- share/themes/DarkMarble-button3_out_prelight.png, resize_fat/main.pm,
- class_discard.pm, .cvsignore, share/step-orange.xpm, share/reload.xpm,
- install_interactive.pm, c/README, Xconfig.pm, share/themes.rc,
- share/themes/marble3d-bg1.png, perl2fcalls, share/themes-blackwhite.rc,
- share/themes-blueHeart.rc, pkgs.pm, keyboard.pm,
- share/rpm-installed.xpm, share/po/gl.po, share/po/lv.po,
- standalone/icons/ftout.xpm, Makefile.drakxtools, http.pm,
- share/step-green-click.xpm, partition_table_sun.pm,
- share/themes/focus.png, share/keymaps_generate, lang.pm, verify_c,
- share/po/.cvsignore, share/ftin.xpm, standalone/draksec,
- resize_fat/info_sector.pm, share/compssUsers, share/step-orange-on.xpm,
- Makefile.config, share/list.sparc, share/po/hu.po, run_program.pm,
- share/themes/marble3d-button4.png, share/rpm-unselected.xpm,
- share/list.i386, netconnect.pm, share/themes/DarkMarble-button3_out.png,
- c/md5_crypt.c, share/themes/mdk-toggle_on.png, partition_table.pm,
- standalone/livedrake, share/diskdrake.rc,
- share/themes/DarkMarble-check_on.png, standalone/draknet,
- share/po/br.po, Newt/typemap, share/themes/blueHeart-button2.png,
- share/po/ro.po, share/list, share/po/cs.po, share/po/be.po,
- share/po/sp.po, share/step-orange-click.xpm, modparm.pm,
- share/step-green.xpm, share/rpm-base.xpm,
- share/themes/marble3d-check1.png, crypto.pm, share/po/eu.po,
- share/themes/marble3d-button1.png, c/stuff.pm, install_steps.pm,
- share/Cards2CardsNames, Newt/Makefile.PL,
- share/themes/mdk-Desktop-bg.png, netconnect_consts.pm, share/po/id.po,
- share/themes/mdk-check_on.png, share/po/fi.po, share/po/sk.po,
- standalone/icons/findf.xpm, share/po/lt.po,
- share/themes/mdk-check_off.png, fs.pm, c/.cvsignore,
- share/themes/mdk-toggle_off.png, share/po/ca.po, timezone.pm,
- detect_devices.pm, share/consolefonts/ruscii_8x16, diskdrake.pm,
- standalone/icons/reload.xpm, share/rpm-selected.xpm, resize_fat/io.pm,
- Newt/Newt.xs, Newt/.cvsignore, install2, share/po/pt_BR.po,
- share/themes-marble3d.rc, resize_fat/fat.pm, sbus_probing/main.pm,
- share/template.in/floppy.fsdev.kdelnk.in, printer.pm, share/po/it.po,
- resize_fat/.cvsignore, install_steps_interactive.pm,
- share/themes/mdk-button4.png, live_install, standalone/draknet2,
- any_new.pm, share/list.alpha, share/rpm-semiselected.xpm, c.pm,
- share/logo-mandrake-Desktop.xpm, printerdrake.pm, network.pm,
- share/step-red-on.xpm, share/themes-mdk.rc, share/po/validate.pl,
- swap.pm, share/themes/blueHeart-button4.png, standalone/keyboarddrake,
- g_auto_install, share/po/es.po, standalone/lspcidrake, share/po/de.po,
- partition_table_mac.pm, standalone/mousedrake, devices.pm,
- share/po/ru.po, resize_fat/c_rewritten.xs, share/po/cy.po,
- share/themes/mdk-button1.png, netconnect_new.pm, install_any.pm,
- share/po/nl.po, share/aliases, share/keyboards.tar.bz2, share/po/sv.po,
- Newt/Av_CharPtrPtr.c, c/stuff.xs.pm, share/themes-DarkMarble.rc,
- share/step-red.xpm, Newt/Av_CharPtrPtr.h, c/smp.c,
- share/po/zh_CN.GB2312.po, commands.pm, standalone/icons/find.xpm,
- perl2etags, share/po/Changelog, standalone/drakboot,
- resize_fat/dir_entry.pm, share/fonts.tar.bz2, share/install.rc,
- share/themes/blueHeart-button1.png, share/Cards+, share/po/uk.po,
- share/MonitorsDB, share/template.in/Dos_.kdelnk.in,
- standalone/printerdrake, services.pm, share/kmap2bkmap,
- share/themes/blueHeart-button_def.png, share/po/az.po, share/po/tr.po,
- common.pm, getpkgs_deps, standalone/drakxconf, share/ftout.xpm,
- install_gtk.pm, Xconfigurator_consts.pm, share/consolefonts/lat2-sun16,
- share/po/no.po, resize_fat/boot_sector.pm, share/CardsNames,
- c/Makefile.PL, share/themes-mdk-Desktop.rc,
- share/themes/blueHeart-brown_bg1.png, share/logo-mandrake.xpm,
- share/consolefonts/Cyr_a8x16, standalone/netdrake, standalone/drakgw,
- share/po/sl.po, standalone/rpmdrake, share/makedev.sh,
- share/themes/DarkMarble-button3_in_prelight.png, share/themes-blue.rc,
- install_steps_newt.pm, resize_fat/Makefile.PL, partition_table_empty.pm,
- my_gtk.pm, share/po/i18n_compssUsers, install2.pm, share/compssList,
- share/po/fr.po, share/themes/DarkMarble-button3_in.png,
- standalone/icons/ftin.xpm, share/modparm.lst, raid.pm,
- standalone/diskdrake, share/po/ko.po,
- share/template.in/zip.fsdev.kdelnk.in, share/compssUsers.desktop,
- share/po/ja.po, any.pm, share/isdndb.net,
- share/template.in/floppy.kdelnk.in, share/step-green-on.xpm,
- share/step-red-click.xpm, share/po/Makefile, help.pm,
- share/po/zh_TW.Big5.po, c/sbus.c, genmodparm, share/po/pl.po,
- share/themes-savane.rc, install_steps_stdio.pm, share/po/th.po,
- loopback.pm, resize_fat/any.pm, share/po/el.po, install_steps_gtk.pm,
- Newt/Newt.pm, Xconfigurator.pm, interactive_gtk.pm,
- standalone/drakxservices, resize_fat/Makefile, fsedit.pm,
- interactive_stdio.pm, live_install2, resize_fat/directory.pm,
- share/po/pt.po, install_steps_auto_install.pm, share/po/DrakX.pot,
- share/themes/mdk-bg.png, share/list.ppc, share/po/ga.po, share/po/et.po,
- share/keymaps.tar.bz2, partition_table_bsd.pm, c/md5.c, share/help.xpm,
- share/themes/marble3d-check2.png, ftp.pm, c/md5.h,
- standalone/adduserdrake, share/themes/marble3d-button2.png,
- partition_table_raw.pm, share/template.in/zip.kdelnk.in,
- share/locales.tar.bz2, standalone/icons/fileopen.xpm,
- share/template.in/kppprc.in, ChangeLog, resize_fat/README, mouse.pm,
- commands, standalone/XFdrake, share/gconv.tar.bz2, share/po/eo.po,
- interactive.pm, log.pm, share/themes/DarkMarble-gloom2.png,
- interactive_newt.pm, share/po/da.po, resize_fat/c_rewritten.pm,
- bootloader.pm, share/po/af.po: branch to build the firewall install.
-
-2000/11/28 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: change upgrade section for keyboard.
-
- * install_steps_gtk.pm: extended chooseSizeToInstall.
-
- * install_steps.pm: updated comment.
-
- * pkgs.pm: fixed misuse of map with values returing list which are indexed
- afterward.
-
- * install_any.pm: removed some more logs.
-
- * keyboard.pm: keep track of unknown keyboard (for upgrade)
-
- * install_steps_interactive.pm: modified def_mark to 59 (gl hw
- acceleration level) and upgrade use this level
- for newbies so.
- make sure a recommended upgrade get the minimum and a little more (80).
- choose default size according to a default mark (currently 49).
-
-2000/11/27 dam's <damien@mandrakesoft.com>
-
- * netconnect_consts.pm: added isdn Gazel card 10b5 1151
-
-2000/11/27 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (@bad_types): list of the different type of extended
- partitions
- (important_types): remove @bad_types from important_types
-
-2000/11/25 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ru.po: updated Russian file
-
-2000/11/24 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: doc + split
-
- * netconnect_new.pm: added depmod after having writed modules.conf
-
- * standalone/mousedrake: splited
-
-2000/11/24 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: avoid .la files for selection.
-
- * install_steps.pm: added missing portmap.
-
-2000/11/23 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: progressbar.
-
-2000/11/23 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm: updated with
- structural change of pkgs.
-
- * install_any.pm: removed some ugly logs.
- updated with structural change of pkgs.
-
- * install_steps.pm: added tempory fix for initscripts %post.
- updated with structural change of pkgs.
-
- * pkgs.pm: synced versionCompare() with rpmtools-2.1-4mdk.
- removed ugly log on transaction.
- added special case to avoid counting kernels space when upgrading
- as these package are not upgraded (just installed).
- Memory usage optimization, change structure of storing
- package informations. lot of fork to make sure of
- freeing memory by perl (no free on used hashes or arrays
- usable by other than perl), now upgrade takes as much as
- install which takes at least 0.5Mb less than before.
-
-2000/11/23 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: put all tina stuff to weight 0
-
-2000/11/21 François Pons <fpons@mandrakesoft.com>
-
- * Xconfig.pm: added more subtil upgrade from /etc/X11/XF86Config* files,
- keep
- wacom entries.
-
- * Xconfigurator.pm: upgrade for XF86Config, take care of resolution and
- depth wanted.
-
- * install_steps.pm: always try to get default from /etc/X11/XF86Config
- removing logs.
-
- * pkgs.pm: cosmetic changes for upgrade, removing some logs.
-
- * install_steps_interactive.pm: removed code to ask if take care of
- /etc/X11/XF86Config* files.
- added wait message during rebuild of rpm database as it takes some time.
-
- * Xconfigurator_new.pm: WARNING
-
-2000/11/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: updated Azeri file
-
-2000/11/20 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: clean up as today filelist is no more.
- use parsehdlist from rpmtools-2.1-3mdk or above instead of
- perl code from DrakX forking to simulate a filelist server.
- this increase performance by 100 to 150% on selection of
- packages to upgrade.
-
- * share/list: added parsehdlist.
-
- * c/stuff.xs.pm: removed logs.
-
-2000/11/20 Pixel <pixel@mandrakesoft.com>
-
- * share/Cards+: add radeon
-
- * install_steps_auto_install.pm (exitInstall): fix message
-
- * install_steps.pm (afterInstallPackages): moved the
- writeandclean_ldsoconf here
-
- * fsedit.pm: add /var/ftp and /var/www in the list of propose mount-points
-
-2000/11/17 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * install_any.pm: add openuniverse to the list of gl apps
-
-2000/11/16 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: corrected isdn_get_{list, info}
-
-2000/11/16 François Pons <fpons@mandrakesoft.com>
-
- * share/list: include /usr/lib/rpm/macros else rpmlib gets crazy :-)
-
- * modules.pm: tempory version for current glibc, a lot of module have been
- removed due to
- problem of stage1 increase in size when compiled with glibc-2.2 and
- current
- modutils.
-
- * c/Makefile.PL: updated with rpmlib 4.
-
- * c/stuff.xs.pm: completed something that seems to work almost correctly
- at the first look
- with rpmlib 4.
-
-2000/11/16 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: add netscape-german, thx to florin
- isdn4k-utils gets same weight as isdn4net, thx to Florin
-
-2000/11/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po: updated Norwegian file
-
- * share/po/sk.po: updated Slovak file
-
-2000/11/15 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: added isdn_get_list and isdn_get_info
- calls modules::write_conf to fill the modules.conf.
-
- * Xconfigurator_new.pm: added to fork frontends backends. Not operationnal
- at all for now.
-
- * modules.pm: when loading a new module, add an alias for it, even in
- standalone mode.
-
-2000/11/15 François Pons <fpons@mandrakesoft.com>
-
- * c/stuff.xs.pm: updated for rpm 4.
-
- * pkgs.pm: rpmdepOrder again (for new TAGp)
-
-2000/11/15 Pixel <pixel@mandrakesoft.com>
-
- * c/Makefile.PL: add librpmio
-
- * c/stuff.xs.pm: workaround for kernel-headers not in sync with glibc
- (dev_t)
-
-2000/11/14 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: better structure for the ethx-driver.
- added call to add_alias and write_conf
-
- * standalone/draknet2: updated
-
-2000/11/14 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: removed foreach (<... which are eating memory
- fork install on upgrade for searching trhough filelist, this saves
- about 20Mb of memory before rpmlib transaction are started so its is
- more than 2 times faster for upgrading a system, sorry it was
- effectively
- a machine two overloaded that makes the upgrade slower.
- make rpmlib not to check size as DrakX should do it.
- added special cases for selection of packages according to files, avoid
- all kde-i18n packages if their locales-$lang is not selected, avoid
- a -devel package if only one files is updated (typical for fixes on
- package by moving files around).
-
- deactivated rpmdepOrder as it should be done directly in
- depslist.ordered
- file.
-
- fixed obsoletes which never run correctly, even if almost no package are
- selected explicitely this way.
-
- added log during selection of packages to upgrade to keep a track of
- what DrakX is doing.
-
- * modules.pm, network.pm, netconnect.pm, common.pm, modparm.pm,
- Xconfig.pm, commands.pm, lang.pm, fsedit.pm, detect_devices.pm,
- printer.pm, Xconfigurator.pm: removed foreach (<... which are eating
- memory
-
-2000/11/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/da.po: updated Danish file
-
-2000/11/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: Integrate Till's patches for better work with Cups.
-
-2000/11/12 Pixel <pixel@mandrakesoft.com>
-
- * standalone/mousedrake: fix for bug #1350
- (mousedrake dies with: Undefined subroutine &mouse::serial_ports_names)
-
- * pkgs.pm (psUpdateHdlistsDeps): fixed an ugly typo (uses .cz2 for .cz and
- .cz22 for
- .cz2) that makes for than one CD install breaks :-(
-
-2000/11/11 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po,
- share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po,
- share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po,
- share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po,
- share/po/pl.po, share/po/fi.po, share/po/no.po,
- share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po,
- share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po,
- share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
-2000/11/10 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet2: draknet2 : new version of draknet, post-install
- only, uses only libDrakX backend, beautyfull
-
- * netconnect_new.pm: completed adsl_conf_backend
- corrected conf_network_card_backend : return interface and module
- separately
- splitted pppconfig.
-
-2000/11/10 François Pons <fpons@mandrakesoft.com>
-
- * share/po/fr.po: typo fixing
-
- * printerdrake.pm: fixed wrong case for managing IP for remove CUPS server
- updated typo for remote CUPS server configuration dialog
-
-2000/11/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/sk.po, share/po/lv.po: updated Latvian and Slovak files
-
- * share/po/wa.po, share/po/da.po: updated Danish and Walloon files
-
-2000/11/10 Pixel <pixel@mandrakesoft.com>
-
- * c/stuff.xs.pm: initIMPS2 move where it should be (in non-C_RPM dependent
- section)
-
-2000/11/09 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: added handling for 2 ethernet cards with the same module
-
-2000/11/09 François Pons <fpons@mandrakesoft.com>
-
- * share/po/fr.po: add some missing translation (mainly printer for CUPS
- remote config)
-
- * printer.pm: make sure to restart cups when cupsd.conf is modified.
-
- * printerdrake.pm: fixed modification of BrowsePoll on a existing file.
-
-2000/11/08 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: updated
-
-2000/11/08 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: make sure class discarding do not destroy result
-
- * pkgs.pm: added new function for selected or installed accessor on pkg
- make sure package already installed for oem are marked as selected, as
- some
- code refer to this state to perform some actions (install_urpmi)
-
- * install_steps.pm: fixed for urpmi again;
-
- * printerdrake.pm: add management of BrowsePoll <ip>:<port> in
- /etc/cups/cupsd.conf
-
- * printer.pm: add minimal management of /etc/cups/cupsd.conf
-
-2000/11/08 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: Fixed Samsung SyncMaster 3Ne (bug #1136)
-
-2000/11/08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/es.po: updated Spanish file
-
-2000/11/07 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: now there are 8 ttyS* available for configuration. Used for
- internal modem configuration that uses ttyS* > 3
-
- * netconnect_new.pm: ttyS0 -> ttyS7 available for configuration
- some doc
-
-2000/11/07 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixed text for card prefered in XFree 3.3 (RIVA128).
-
- * install_steps_interactive.pm: use of install_any::boot_medium to avoid
- listing medium used for boot
-
- * install_any.pm: use of $boot_medium where the boot medium is used
- (default 1)
-
-2000/11/07 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/Cards+: fix tseng server for ET4000 W32i, W32p thanks to
- <sileryti@mail.com>
-
-2000/11/07 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): in oem, configureX automatic
- (main): $::oem is now global :-( (needed in install_steps.pm)
-
- * install_steps.pm (afterInstallPackages): give medium 'cdrom' to
- install_urpmi in case of $::oem
-
-2000/11/06 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: backend/frontend fork complete
-
- * any_new.pm: load_thiskind changed to load_thiskind_backend, the wait
- function is passed by argument
-
- * network.pm: configureNetwork2 commented.
-
-2000/11/06 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: created function for examining already installed package on
- install (oem).
-
- * install2.pm: add a flag to allow by default formating /
-
- * install_steps.pm: conditionnal format of / and use already installed
- packages if any on install.
-
-2000/11/06 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: added Hitachi CM753 contributed by Adam Julius
- <ajulius@yahoo.com>
-
-2000/11/06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/ru.po, share/po/uk.po: updated pot file
- GRUB/LILO/SILO messages *must* be in ascii only. Changed cyrillic to
- ascii transliteration for them
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po,
- share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po,
- share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po,
- share/po/az.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po,
- share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po,
- share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po,
- share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po,
- share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po,
- share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po,
- share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po,
- share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po,
- share/po/af.po: updated pot file
-
- * keyboard.pm, ChangeLog: added the 3 kbd layouts for CZ and SK kbds
-
-2000/11/06 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (formatPartitions): formatMountPartitions done even in
- upgrade
- (main): set $o->{partitioning}{use_existing_root} in oem
-
- * install_steps.pm (doPartitionDisksAfter): remove the mount_all which is
- plain dumb
- (doPartitionDisksAfter): fs::mount_all moved here
- (doPartitionDisks): use $o->{partitioning}{use_existing_root}
-
- * install_any.pm (use_root_part): fs::mount_all really removed
- (use_root_part): fs::mount_all removed
-
- * install_steps_interactive.pm (choosePartitionsToFormat): don't propose
- already mounted partitions
- (installCrypto): nicer layout
-
-2000/11/05 dam's <damien@mandrakesoft.com>
-
- * mouse.pm: changed 'IntelliMouse label' to 'Generic PS2 Wheel Mouse'
-
-2000/11/05 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/MonitorsDB: added LG StudioWorks520Si contributed by Yves Maniette
- <yves@maniette.com>
-
-2000/11/01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/eo.po: updated Esperanto file
-
-2000/10/31 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: continuing forking frontend - backend. adsl ist
- nearly finished
-
- * any_new.pm: added this file to fork frontends and backends in any.pm
-
-2000/10/30 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: heartbeat pixel wonderful un chien vaut mieux que deux
- tu damsera
-
-2000/10/30 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/wa.po: updated Walloon file
-
- * share/keyboards.tar.bz2: updated keyboards
-
-2000/10/30 Pixel <pixel@mandrakesoft.com>
-
- * lang.pm (load_po): backslash @ in po strings, otherwise the eval fails
-
-2000/10/28 dam's <damien@mandrakesoft.com>
-
- * netconnect_new.pm: new version of draknet. Splited frontends - backends
-
-2000/10/28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/tr.po: updated Turkish file
-
-2000/10/27 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: remove the noising rpm output command line when loging
- installed rpm
- size (only usefull for live_update and just for conveniance).
-
- * pkgs.pm: Make sure $meta_class is defined in readCompsUsers (for HTTP
- hack)
- before reading a compssUsers file.
-
- * live_install: add VERSION in list of file that have to be symlinked.
-
- * common.pm: list_skels returns list of existing directory and writeable.
-
- * live_install2: Make sure to remove font path in /tmp/drakx before
- exiting.
-
-2000/10/26 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/DrakX.pot, share/po/tr.po, share/po/it.po: updated Italian and
- Turkish files
-
-2000/10/24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: fortune-mod gets 10/0/10 on request from egil
-
-2000/10/24 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/pl.po: updated Polish file
-
-2000/10/23 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/ca.po: updated Catalan file
-
-2000/10/23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm, ChangeLog, diskdrake.pm: added some carriage returns
- to please jl :)
-
- * detect_devices.pm (floppies, probeall): add require "modules" as it
- should be
-
- * install_interactive.pm (partitionWizardSolutions): add "require
- resize_fat::main" as it should be
-
-2000/10/22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: linuxconf-gui got -1/-1/-1 while gnome-linuxconf has
- 74/0/74
-
-2000/10/21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/uk.po, share/po/tr.po, share/po/az.po: updated Azeri, Turkish
- and Ukrainian files
-
-2000/10/20 fabman
-
- * share/po/es.po: updated
-
-2000/10/20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: ntp to -1/-1/-1
-
-2000/10/19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: put all packages requiring kde1-compat to 0 except
- kisdn-free
- aumix now gets a high weight (79) because it's required to save the
- mixer
- settings at shutdown
-
-2000/10/19 Pixel <pixel@mandrakesoft.com>
-
- * share/locales.tar.bz2: fix symlink zh_CN.GB2312 (was zh_CN.G23212)
-
-2000/10/19 tlb
-
- * share/po/da.po: 100%, Troels Liebe Bentsen.
-
-2000/10/18 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/az.po: Added AZeri file
-
- * share/po/no.po: updated Norwegian file
-
-2000/10/17 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm, netconnect.pm, netconnect_consts.pm: removed unused
- code in ineractive_gtk
- added some isdn card in pcitable
- corrected typos, and made ISA isdn work
-
-2000/10/17 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/lv.po: updated Latvian file
-
-2000/10/16 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot,
- share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po,
- share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po,
- share/po/eu.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po,
- share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po,
- share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po,
- share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po,
- share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po,
- share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po,
- share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po,
- share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po,
- share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file
-
- * standalone/keyboarddrake, keyboard.pm, ChangeLog: corrected BackSpace
- setting
-
-2000/10/16 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (cdroms): fix the setting of scdX for ide burners
-
- * share/compssList: sympa is -1 except for server
-
- * keyboard.pm (write): small pixelization (neater now)
-
- * install_steps.pm (installPackages): don't run ldconfig in g_auto_install
-
-2000/10/15 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/nl.po: updated Dutch file
-
-2000/10/14 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm, keyboard.pm: small fix for Swedish locale
-
- * share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/fr.po,
- share/po/wa.po, share/po/de.po: updated Bulgarian file
-
-2000/10/13 François Pons <fpons@mandrakesoft.com>
-
- * partition_table_empty.pm: empty partition table as assumed only if the
- MBR is really composed of only null chars.
-
-2000/10/13 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: added viavoicemenu
-
-2000/10/12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (ask_mntpoint_s): dqs
-
-2000/10/11 Pixel <pixel@mandrakesoft.com>
-
- * .cvsignore: ignore flog files
-
- * install2.pm (main): test
-
- * ChangeLog: qsdqsd
-
- * install_steps_interactive.pm: * (selectKeyboard): set default
- $o->{langs} to $o->{lang}
-
-2000/10/10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw, ChangeLog: make only one call to urpmi in order to
- install all the needed rpm's
-
-2000/10/10 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/po/no.po, share/po/es.po: updated Norwegian file
-
- * share/po/pl.po: updated Polish file
-
- * share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po: updated Chinese file
-
-2000/10/10 tlb
-
- * share/po/da.po: 99%.
-
-2000-10-10 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: make only one call to urpmi in order
- to install all the needed rpm's
-
-2000-10-10 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-10 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm: increase $::VERSION
-
-2000-10-09 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: update after Dam's new messages in netconnect
-
-2000-10-09 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (kdeicons_postinstall): remove the handling of
- doc desktop icons. see dadou
-
-2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers: new list (with icons)
-
- * share/list: add icons for compssUsers
-
-2000-10-09 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: added wait message
-
-2000-10-09 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * share/themes-*.rc: change the fg[INSENSITIVE] entry
-
-2000-10-09 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: added tuxracer in OpenGL games to install if an
- accelerated card has been found.
-
-2000-10-09 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): asking connection after writing start/stop scripts.
- (adsl_conf): if during install, don't use chkconfig, make the
- links directly for the adsl init script.
-
-2000-10-09 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): UserView in kdmrc is
- now true by default. So put false if security >= 3 instead of
- removing it.
-
-2000-10-09 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: default speed of modem set to 115200.
-
- * fs.pm: fixed format of RAID partition.
-
- * install_interactive.pm: take into account RAID partitions for
- searching / partition.
-
-2000-10-09 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-09 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (selectKeyboard): don't assume $o->{langs} is set
- (selectLanguage): don't set $o->{langs} (so that you can go back
- and it works)
-
- * common.pm (round_up, round_down): ensure number is an integer
-
- * install_steps_interactive.pm (chooseGroups): take into account
- the min_level to compute the size
-
-2000-10-08 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): move the
- computing of max_size before calling chooseGroups (not the one for
- desktop meta_class)
- (chooseGroups): compute the size of Miscellaneous
-
-2000-10-07 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-07 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: don't install locales-* even in 'all' install
- (those files are usefull if RPM_INSTALL_LANG doesn't include that
- lang)
-
-2000-10-07 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-07 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (install): log the gonna be installed packages (-> be
- able to track not installed packages that should have been
- installed)
-
-2000-10-06 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (pppConfig): the domain used for kppp is copied in resolv.conf
- (intro): connection detection improved : now use "ifconfig | grep interface"
- (pppConfig): corrected cnx_up/down
-
-2000-10-06 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-06 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): don't fail if
- kdeglobals file is not there
-
- * share/compssUsers.desktop: fix icons
-
- * detect_devices.pm (cdroms): fix for scsi cdrom drives
-
- * pci_probing/pcitable: put cs46xx instead of snd-card-cs461x
- (dixit jeff)
-
- * diskdrake.pm (Resize): comment ext2&reiserfs resizing for the
- moment
-
-2000-10-06 Frederic Lepied <flepied@mandrakesoft.com>
-
- * Xconfigurator.pm (write_XF86Config): added mode of wacom devices
-
-2000-10-06 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (ask_connect_now): connection is now tested.
-
-2000-10-06 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps_gtk.pm: updated
- license.
-
- * Xconfigurator.pm: removed Matrox G200/G400 3D acceleration by
- DRI, use only Mesa with Utah GLX, fixed autologin for avoiding
- drakres and no wm available, moved Riva128 card from experimental
- to stable, fixed presentations of text.
-
- * pci_probing/pcitable: fixed Cirrus Logic sound card.
-
-2000-10-06 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-06 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: fixed bad call to hasUsb...
-
- * share/Cards+: fixed wrong use of SiS card with 4.0.1, only keep
- 530, 620 and 6326 with XFree 4.0.1.
-
-2000-10-06 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-06 Pixel <pixel@mandrakesoft.com>
-
- * share/list: remove /usr/X11R6/lib/X11/Cards, not needed anymore
-
- * install_steps.pm (afterInstallPackages): put the Charset in
- kdeglobals, otherwise kde uses charset iso8859-1 :(
-
- * lang.pm (charset): created
-
- * common.pm (update_userkderc): fix it, change the argument
- passing
-
-2000-10-05 Pixel <pixel@mandrakesoft.com>
-
- * share/compssList: raise kde-i18n-*, should be installed whenever
- kdebase is installed
-
- * pci_probing/pcitable: integrate patch from viet (concerns
- sym53c8xx cards)
-
- * share/compssUsers: use "documentation" as the database icon
-
- * install_steps_interactive.pm (chooseGroups): fix to accept icons
- not in the format "*_section.xpm"
-
- * install2.pm (miscellaneous): put yes/no in sysconfig/usb entries
-
-2000-10-05 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (adsl_conf): updated pppoe conf.
- (main): added $netc->{minus_one} to avoid to count dhcp configured
- eth when asking to share the connection.
- (adsl-pppoe): improvement. Should work now.
- (miscellaneous): corrected chmod 755 to 744 for connections scripts
-
- * netconnect.pm (main): network is stopped then started, instead
- of restarted.
-
-2000-10-05 François Pons <fpons@mandrakesoft.com>
-
- * live_install: added icons (this fixes the yellow on white
- tooltips problem).
-
- * install_any.pm: added ghostscript-utils in the list of packages
- to copy when changing CD.
-
- * printerdrake.pm: install ghostscript-utils if a lexmark printer
- is selected on cups.
-
-2000-10-05 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-05 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (loadO): look for auto_inst.cfg in /, not in
- /Mandrake/base
-
-2000-10-05 François Pons <fpons@mandrakesoft.com>
-
- * netconnect.pm: fixed syntax error.
-
- * share/po/i18n_compssUsers: simplified version and fixed
- dependancies to pkgs.pm (for building drakxtools).
-
-2000-10-04 François Pons <fpons@mandrakesoft.com>
-
- * install_gtk.pm: removed 80 pixel on height for live upgrade.
-
- * install_steps.pm: do not set keyboard when live upgrade after
- setting the language.
-
- * install_steps_gtk.pm: fixed the trying to start a X server on
- live.
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * share/po/i18n_compssUsers: fake module ``c'' so that no need to
- build DrakX to use i18n_compssUsers
-
- * install_steps_interactive.pm (selectLanguage): update license
-
- * install_steps_gtk.pm (installPackages): add second license for
- shitty soft (commercial one)
-
-2000-10-04 dam's <damien@mandrakesoft.com>
-
- * draknet (netconnect.pm and network.pm): various translations
- corrected, network is restarted, buttons connect/disconnect
- debugged.
-
-2000-10-04 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (main): kill prefdm instead of autologin
-
- * install_any.pm (find_root_parts): don't use
- suggest_mount_points, it couldn't do what we wanted
- (guess_mount_point): created, contains the common stuff between
- suggest_mount_points and find_root_parts
-
-2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: fix some failing/untranslated i18n messages
-
- * share/po/fr.po: write translations according to drakgw
-
-2000-10-04 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: removed bad card for 3D Rage Pro.
-
- * install_any.pm: removed Aurora for SiS card, add more case for
- detecting right cdrom for live upgrade, fixed wrong list of
- packages for laptops.
-
- * c/stuff.xs.pm: added time interval of 200ms between update of
- progression bar of install, make sure the last step is seen.
-
-2000-10-04 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (when_load): stricter regexp for $type is scsi or not
- (so that scsi_mod with is scsi_raw doesn't get an alias
- scsi_hostadapter)
-
- * detect_devices.pm (isLS120Drive): extend the regexp to include
- "Caleb Technology - 144MB FDD UHD Floppy"
-
- * detect_devices.pm (burners, IDEburners): reworked, renamed, now
- works!
- * c/stuff.xs.pm (isBurner): created
-
- * modules.pm (load_ide): make sure ide-cd is loaded!
-
- * install_steps_interactive.pm (chooseGroups): the label and help
- are now translated (at least will be), so use the translations
-
-2000-10-03 Pixel <pixel@mandrakesoft.com>
-
- * share/po/Makefile (DrakX.pot): added the to-be-translated from
- compssUsers
- * share/po/i18n_compssUsers: read the compssUsers's and output the
- to-be-translated in po format
-
- * log.pm (l): log to STDERR instead of STDOUT
-
- * install_any.pm (loadO): use first floppy drive available (won't
- help much though, as stage1 doesn't follow this...)
-
-2000-10-03 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-03 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): don't propose autologin in
- security > 3
-
- * common.pm (availableRamMB): HACK HACK if i810 and memsize,
- returns 127
-
- * bootloader.pm (suggest): don't use grub if more than 800MB
-
-2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/validate.pl: create this tool
-
- * share/po/fr.po: fix many typos
-
- * share/po/fr.po: make compssUsers translation
-
-2000-10-03 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator_consts.pm: changed resolution allocation.
-
- * fs.pm: removed no more used log.
-
- * install2.pm: add exit button if live upgrade.
-
- * install_any.pm: increased minimal available size to 65Mb.
-
- * install_steps.pm, standalone/printerdrake: fixed cups to CUPS
- for mode.
-
- * printerdrake.pm: fixed not_edit for lpr mode of printerdrake.
-
- * share/Cards+: fixed Savage2000 entry.
-
-2000-10-03 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-03 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: updated bad card with Rage Mobility card.
-
- * live_install: added test of root user, abort if not root.
-
-2000-10-03 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/po/fr.po: fixed bug #518 and fixed other misc errors
-
-2000-10-03 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-10-02 François Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm (Resize): fix to make ext2resizing work a little
- better
-
- * install_steps.pm: fixed installation of urpmi configuration.
-
- * detect_devices.pm: updated comment about UltraDMA66/100
- management.
-
- * modules.pm: updated comment about UltraDMA66/100 management.
-
- * diskdrake.pm: adding a cylinder for the minimum of the resize
- and if there is nothing to do for resize, simply return.
-
- * install_any.pm: added missing require pkgs.
-
-2000-10-02 Pixel <pixel@mandrakesoft.com>
-
- * many files: remove many lnx4win special cases which are not
- needed anymore
-
- * any.pm (addUsers): grpuser output goes to Mr Dave
-
- * bootloader.pm (install_lilo): change the default color of menu
-
- * install_steps_interactive.pm (choosePackages): add 300MB choice
- in desktop
-
- * mouse.pm (fullnames): fix i18n fix
-
- * install_steps.pm (miscellaneous): don't add ide2=0x... for
- ultra66 (otherwise chmouel is not happy, so is hdc being hde)
-
- * Xconfigurator.pm (main): add handling of icewm logout
-
- * c/stuff.xs.pm: changed the stepping of "Progressing installing package"
-
-2000-10-02 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): infos are written only when needed.
- * netconnect.pm (intro): connection checking now works.
-
-2000-10-02 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * pci_probing/pcitable: s|snd-card-via686a|via82cxxx_audio|; like
- jeff request.
-
-2000-09-30 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-30 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm: a LOT of bugs fixed. draknet is now completely
- brok^H^H^H^Hfrozen.
-
-2000-09-29 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-29 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (adsl_conf): dhcp should better work.
-
- * network.pm (configureNetwork): remove connection script if a
- gateway is given.
-
- * common.pm (setVarsInShMode): created. chmod the file with
- permissions passed in argument.
-
-2000-09-29 François Pons <fpons@mandrakesoft.com>
-
- * modules.pm (load): fixed when standalone, use modprobe.
-
- * pkgs.pm: added preference for wu-ftpd.
-
- * detect_devices.pm: added code to proble USB printer.
-
- * printer.pm: fixed missing PRINTER=yes on CUPS configuration for
- USB printer.
-
- * install_steps.pm: removed possibilty to add an user in urpmi
- group (jloup).
-
- * install_steps_interactive.pm: log if CD not ejectable.
-
-2000-09-29 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: sync with latest packages
-
- * install_steps_interactive.pm (selectLanguage($)): s/42/43/ in
- MandrakeSoft physical address
-
-2000-09-29 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-29 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (intro): detection of internet
- configuration/connexion state.
-
- * network.pm (write_resolv_conf): better "ppp temp nameserver" in resolv.conf
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_thiskind): add read_already_loaded cuz of
- pcmcia
-
-2000-09-28 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: add nasty DrakSync and DrakProfile with 50 0 50
-
-2000-09-28 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): the minimum is 25
- in beginner, not 10
-
- * pkgs.pm (readCompssUsers): fix reading description
-
- * install_steps.pm (afterInstallPackages): remove the code to
- handle RPM-GPG-KEYS
-
-2000-09-28 dam's <damien@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_list_with_helpW): no more theme
- parsing, no more draknet.rc
-
- * netconnect.pm (read_net_conf): no adsl tree anymore.
-
- * netconnect.pm: drakgw called if enough card are installed.
-
- * netconnect.pm: minor bugs correction.
-
-2000-09-28 François Pons <fpons@mandrakesoft.com>
-
- * Makefile.config: added livedrake for drakxtools.
- * diskdrake.pm: use corrected partition size when resizing a dos
- partition (like the others).
- * install_any.pm: no more pnm2ppa packages and others in package
- to copy when changing CD.
- * live_install: exec live_install2 instead.
- * live_install2: contains post live upgrade stuff now.
- * printerdrake.pm: protect set_help() usage by if $::isInstall,
- removed reference to package pnm2ppa and others.
- * standalone/livedrake: initial release for drakxtools.
-
-2000-09-28 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-28 Pixel <pixel@mandrakesoft.com>
-
- * install_interactive.pm (partitionWizardSolutions): fix the limit
- cases for lnx4win
-
- * share/po/Makefile ($(PMSCFILES)): fix the DrakX.pot generation
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): set $size2install
- to $availableC in desktop install, as it should be
-
- * install2.pm (choosePackages): remove the code for removing kdesu
- in high security...
-
- * install_steps_interactive.pm (createBootdisk): format more
- nicely the text
-
- * install_steps_gtk.pm (installPackages): add 10 seconds to have a
- better estimation
-
- * install_steps_interactive.pm (chooseGroups): now returns a boolean
- (choosePackages): use chooseGroups return value to redo
- choosePackages
-
- * install_steps_gtk.pm (selectMouse): if mouse type is none, then
- don't test!
-
- * Xconfigurator.pm (monitorConfiguration): rename Unlisted to Custom
-
- * various: replace all Rescue by Update
-
- * pkgs.pm (readCompssUsers): read description for groups
-
- * install_steps_interactive.pm (chooseGroups): add description for
- groups
-
-2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssUsers.desktop: added description
-
- * share/compssUsers: added description
-
- * share/compssUsers.desktop: added icon support, reordered,
- renamed
-
- * share/compssUsers: reordered, renamed
-
-2000-09-27 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectLanguage): intregrate
- license again
-
- * pkgs.pm (readCompssUsers): reads compssUsers.meta_class
-
- * diskdrake.pm (Create): replace ``ne "i386"'' by ``!~ /i.86/''
- (as should be)
-
- * install_steps_gtk.pm (selectInstallClass1): if @$l (list of
- install classes) contains only one element, call
- install_steps_interactive::selectInstallClass1
-
- * install_steps_interactive.pm (choosePartitionsToFormat): fix for
- "no partitions selected to format"
-
- * my_gtk.pm (_create_window): alt-e now *toggles* expert/newbie
-
-2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * share/compssList: more for gnupg, -11 for sucking things,
- changed compss-groups to be less than 70.
-
- * share/compssUsers: modified compssUsers with Warly, added
- compssUsers.desktop, simplified for KD (now uses Graphical
- Desktop/KDE instead of listing all relevant packages)
-
-2000-09-27 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (get_info_adsl_providers, read_adsl_providers):
- Created. adsl provider tree.
- (set_net_conf): better informations storing.
-
- * my_gtk.pm (new): windows are always centered if standalone.
-
-2000-09-27 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added option "sw_cursor" for S3 Trio3D. fixed
- 3D hw acceleration for i815 (VideoRam). prefer XF3 for all
- NeoMagic cards.
- * install_gtk.pm: re-enabled themes on live upgrade but without
- modifying background image.
- * install_steps_gtk.pm: fixed missing help.
- * live_install: lot of fixes to enable DrakX font, keep upgraded
- system clean (libperl.so which allows graphical login).
- * pkgs.pm: added function allowedToUpgrade to filter kernel
- package.
-
-2000-09-27 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (configureX): if `clicked' don't go
- to auto mode
-
- * Xconfigurator.pm (monitorConfiguration): fix the translated
- 'Generic' which is not so (and must not be so) anymore
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm: remove all Unskip code
-
- * my_gtk.pm (_create_window): add shortcut alt-e to switch to
- expert
-
- * Xconfigurator.pm (resolutionsConfiguration): fix for setting
- legal resolution
-
- * install_steps_interactive.pm (selectLanguage): use formatAlaTeX
- on the license
-
-2000-09-26 François Pons <fpons@mandrakesoft.com>
-
- * fs.pm: added mounting of swap partition when mounting them
- all (this can help :-)
- * pkgs.pm: fixed correction size code to make (really) a true
- bijection between corrected and rpm size.
-
-2000-09-26 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectLanguage): integrate the
- license (temporary one)
-
- * modules.pm (write_conf): fix the /etc/modules generation
-
- * interactive_gtk.pm (ask_many_from_listW): if more than 5 entries
- in icon format, use scrollbar. In non-icon format, use scrollbar
- for more than 11 entries.
-
- * commands.pm (bug): add ddcxinfos
-
- * pci_probing/pcitable: replace tulip by de4x5 for 2104x cards
-
-2000-09-26 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added more 3D Rage Pro card for 3D
- acceleration with Utah-GLX (Rage Mobility, Rage XC/XL),
- modified identification for checking acceleration.
- * install_any.pm: added automatic installation (up 60) for
- OpenGL games if a graphic card MAY BE accelerated.
- * live_install: fixed perl idioms in pure shell script and added
- packdrake symlink if not already installed.
- * share/compssList: changed level to -1 for all needing 3D hw
- acceleration packages.
-
-2000-09-26 dam's <damien@mandrakesoft.com>
-
- * network.pm (write_resolv_conf): write temp dns line to be used
- with new initscripts package. Use to set dns live.
-
-2000-09-26 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-26 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (read): catch exception if fullname2mouse fails (eg:
- old FULLNAME format)
-
-2000-09-25 Pixel <pixel@mandrakesoft.com>
-
- * share/MonitorsDB: merge with latest redhat MonitorsDB
-
- * pci_probing/pcitable: major merge with latest redhat pcitable
-
- * share/Cards+: added "Intel 815", renamed "Rage 128 (generic)" to
- "Rage 128", added "Rage 128 Mobility"
-
- * install_any.pm (getAvailableSpace): keep 10% of free space on
- big partitions
-
- * Xconfigurator.pm (readMonitorsDB): don't translate Generic
- (otherwise, only a part is translated, see MonitorsDB for the
- non-translated part)
-
- * interactive.pm (ask_many_from_list): fix sorting
-
- * install_gtk.pm (test_mouse): smaller box to fit in 640x480
-
- * install_steps.pm (afterInstallPackages, beforeInstallPackages):
- RPM-GPG-KEYS is copied before installing packages
-
- * pkgs.pm (readCompssUsers): handle icons in compssUsers
-
- * common.pm (truncate_list): ensure the list is not too big
-
- * install_steps_gtk.pm (choosePackagesTree): restrict the list to
- 20 elements if it is too big (use truncate_list)
-
-2000-09-25 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: add Video mode for entry.
- * fs.pm: updated for live upgrade.
- * install2.pm: dropped unuseful steps filtering.
- * install_any.pm: fixed wrong Device3Dfx package name and clean
- postinstall rpms directory on upgrade before filling it.
- * install_gtk.pm: removed window restrictions of live upgrade.
- * install_steps.pm: fixed initrd symlink following in case of
- upgrade.
- * install_steps_gtk.pm, install_steps_interactive.pm: keep always
- upgrade on live upgrade.
- * modules.pm: may fixed pcmcia lost driver (typically on network).
- * pkgs.pm: fixed (uggly?) usage of floating perl data on perl
- script :-)
- * printer.pm: back to "Generic PostScript" for default printer (jloup).
- * printerdrake.pm: make sure an expert can choose among available
- devices.
-
-2000-09-25 dam's <damien@mandrakesoft.com>
-
- * network.pm (write_resolv_conf): write '# ppp temp entry adsl' in
- /etc/resolv.conf if needed.
-
- * netconnect.pm : adsl connection does'nt need any dns anymore.
-
- * netconnect.pm (read_net_conf): created. draknet now stores and
- reload the config.
-
- * netconnect.pm (main): if the user is french and uses french
- keyboard, don't ask his country.
-
-2000-09-25 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: added 8139too
-
- * share/Cards+: GeForce2 DDR is handled by driver "nv"
-
- * Xconfigurator.pm (main): in killall X for Xdrakres, also killall
- kdm/xdm/gdm/autologin :)
-
-2000-09-25 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-25 dam's <damien@mandrakesoft.com>
-
- * network.pm (configureNetwork): Warn user if he already
- configured the interface.
-
-2000-09-24 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (mergein_conf): created. call read_conf, fills
- %modules::conf and set $modules::scsi
-
-2000-09-24 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw (fatal_quit($)): add log of reason of fatal_quit
-
-2000-09-24 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-24 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (bug): use first floppy drive instead of fd0 hard
- coded (nice for LS120's)
-
- * install_steps_gtk.pm (selectMouse): if device changed, do the
- test
- * standalone/mousedrake: fix for serial mice
- * install_steps_interactive.pm (selectMouse): fix for serial mice
-
-2000-09-23 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (conf_network_card): now displays the modules of
- detected ethernet cards.
-
-2000-09-22 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (main): calls drakegw.
- * netconnect.pm (get_net_device): fixed
-
-2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw:
- - added logs
- - added verbose mode
- - fixed wrong stopping of named in other languages than english
-
- * netconnect.pm (get_net_device): try to fix it..
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard,
- choosePartitionsToFormat, chooseCD, installCrypto): use new ask_many_from_list
- ():
-
- * interactive.pm (ask_many_from_list): now only ask_many_from_list
- exists, obsoleting ask_many_from_list_ref and
- ask_many_from_list_with_help. More flexible and nicer
- * interactive_newt.pm (ask_many_from_listW): adapted to new
- calling type
- * interactive_gtk.pm (ask_many_from_listW): adapted to new calling
- type, handle 'shadow' and 'icon2f'
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): if /lnx4win/i in VERSION, set $o->{lnx4win}
-
- * Xconfigurator.pm (cardConfiguration): fix setting 4MB of meg for
- i810
- (testFinalConfig): i810 is a verybad_card, aka can't test anything
- on it :-(
- (main): fork to background and stay there while waiting for the WM
- to exit
- (testFinalConfig): update the backgroung image path
-
- * interactive_gtk.pm (exit): flush X before leaving (otherwise the
- mousecursor is not restored)
-
- * run_program.pm (rooted): don't redirect the stdout and stderr to
- ddebug.log if not $::isInstall
-
- * log.pm (l): log on stdout/stderr if !isInstall and !isStandalone
-
- * modules.pm (load_raw): redirect stderr to tty5
-
- * install2.pm (main): set variable $::isInstall
-
-2000-09-22 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/drakgw: now includes information from netconnect to
- ignore the interface used for Internet connection
-
-2000-09-22 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectInstallClass1): pixel's typo.
-
- * netconnect.pm (get_net_device): added get_net_device to know
- which interface has been used to configure the internet connection.
- (conf_network_card): ask to restart network if dhcp too.
- (main): enable dialing when modem.
-
- * network.pm (configureNetworkIntf): changed label to warn people
- about already configured eth cards.
-
-2000-09-22 François Pons <fpons@mandrakesoft.com>
-
- * install_gtk.pm: added Desktop themes.
- * share/themes-mdk-Desktop.rc, share/themes/mdk-Desktop-bg.png:
- initial release.
- * install2.pm: moved back to all steps for live upgrade.
- * install_gtk.pm: select right logo if desktop.
- * install_steps_interactive, install_steps_gtk.pm: avoid asking if
- upgrade for a live upgrade.
-
-2000-09-22 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm: add some call to log_sizes to log the
- installed size
-
- * install_steps_gtk.pm (installPackages): beep before changeMedium
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf): try to call the f translation
- function on the default value with the index
-
- * install_steps.pm (afterInstallPackages): make the gpg code work,
- changed the call to
- "gpg --fast-import --homedir /etc/rpm /root/tmp/RPM-GPG-KEYS"
-
- * detect_devices.pm: cleanup and removed unused code
-
-2000-09-21 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * detect_devices.pm (getNet()): really remove plip in standalone
-
-2000-09-21 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm, netconnect.pm: changed NETWORKING reference
- from false to no.
- * printer.pm: changed timeout from 30 to 60.
- * printerdrake.pm: added wait message when waiting for cups to
- start.
- * pci_probing/pcitable: added erwan VIA Rhine board.
- * network.pm: added DHCP_HOSTNAME reference.
-
-2000-09-21 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * standalone/keyboarddrake: fix for XF4
-
- * Xconfigurator.pm (write_XF86Config): comment the omit
- xfree86-dga
-
- * install_steps.pm (afterInstallPackages): configure GPG public
- keyring with mandrake key
-
- * standalone/mousedrake: updated/fixed for new mouse handling
-
- * install2.pm (main): update for handling oem installs
-
- * many files: relGetFile cleanup, updated calls to getFile and
- getAndSaveFile accordingly
-
- * Xconfigurator.pm (testFinalConfig): new XFdrake-image-test.jpg
-
- * detect_devices.pm (@netdevices): plip removed in standalone,
- otherwise plip is always there (because of kmod)
-
- * install_steps_interactive.pm (choosePartitionsToFormat): replace
- the die "cancel" by die "already displayed", so that no error is
- displayed.
-
- * pci_probing/pcitable: replace some rtl8139 by 8139too, added
- cards DELTA8139 and ADDTRON8139 (for jeff)
-
- * Xconfigurator.pm (show_info): also show the colordepth and
- resolution. don't show server if none, show XF4 driver if there's
- one.
- (main): change the "Forget the changes" to "Keep the changes?"
- with displaying the current configuration.
-
-2000-09-21 François Pons <fpons@mandrakesoft.com>
-
- * printer.pm: changed "PostScript" ppd default description to "Raw
- queue (no filtering)", asked by Till.
- * Xconfigurator.pm: add log of what user select for 3D hw
- acceleration.
- * share/compssList: changed XFree86-glide-module to -2 because the
- level is the same for XFree86-Glide* which may have multiple
- different version installed due to dependancies of the first one.
-
-2000-09-21 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (conf_network_card): added check when dhcp. Cable connection
- should now work.
-
-2000-09-21 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (exitInstall): call $o->exit if
- "Some steps are not completed"
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * bootloader.pm (install_loadlin_config_sys,
- install_loadlin_desktop): extracted from install_loadlin, do not
- call them anymore (remove it?)
- (suggest): put grub in lnx4win install
-
- * common.pm (availableRamMB): fixed (round to a multiple of 4)
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (get_info_isdn_providers & read_isdn_providers):
- read file in /usr/share and $prefix/usr/share
- (isdn_write_config): corrected file to be sh compliant.
- (isdn_write_config): added default route settings for isdn.
-
-2000-09-20 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * pci_probing/pcitable: replace es1371 by snd-card-ens1371
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): for urpmi, added `--best-output' and suspend/resume
-
-2000-09-20 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * standalone/printerdrake: for urpmi, added `--best-output' and suspend/resume
-
- * standalone/XFdrake: for urpmi, added `--best-output' and suspend/resume
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * standalone/draknet: used new package install function.
-
-2000-09-20 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (isFloppyOrHD): detects wether a device is a
- floppy or not based on its size (for scsi floppy)
-
- * Xconfigurator.pm (testFinalConfig): check if "server" OR
- "driver" field is set (otherwise XF4 only card won't pass)
-
- * bootloader.pm (suggest): fix for ``installing the last cooker
- from kenobi:/I on an smp machine i don't get anymore an entry for
- linux-up'' (c chmouel)
-
-2000-09-20 dam's <damien@mandrakesoft.com>
-
- * netconnect.pm (read_isdn_providers): corrected typo ($_ -> $_[0])
-
-2000-09-20 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (get_pcmcia_devices): fix (especially, now ethernet
- should be detected)
-
- * lang.pm (get_langs): created, gives rpm install langs
- * install_any.pm (setPackages): give langs::get_langs() to
- readCompssList
- * pkgs.pm (readCompssList): don't use RPM_INSTALL_LANG, use given
- $langs instead. This fixes the RPM_INSTALL_LANG=all install.
-
-2000-09-19 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * netconnect.pm: make dhcp-client, pump and such not translatable.
- Those are program names and should therefore not be translated,
- that only confuses translators
-
-2000-09-19 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm (autologin): corrected @users definition and
- passwd cat.
-
-2000-09-19 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * many files: changed some access to get_root to get_root_
-
- * install_steps_interactive.pm (choosePackages): added code for
- desktop meta_class install type
-
- * install_steps_gtk.pm (selectMouse): cleanup, give parameter
- emulate3buttons to setMouseLive
- * c/stuff.xs.pm (setMouseLive): add argument emulate3buttons
-
-2000-09-19 Guillaume Cottenceau <gc@mandrakesoft.com>
-
- * interactive*.pm: changed `suspend' and `resume' to behave as expected,
- added `enter_console' and `leave_console'
-
-2000-09-19 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (miscellaneous): replaced LITTLE_FRIED_OIGNONS by
- META_CLASS
-
- * Xconfigurator.pm (cardConfiguration): when ddcxinfos gives false
- result (not enough VideoRam), also remove the found resolutions
- * Xconfigurator.pm (main): remove the automatic searching of
- resolutions
- * Xconfigurator.pm (resolutionsConfiguration): cleanup, remove the
- automatic searching of resolutions.
-
- * mouse.pm (fullnames): changed the `_' in `[' before Other
- (nicer, uh?)
-
- * install2.pm (selectMouse): changed clicked to !first_time
-
-2000-09-19 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-19 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (testFinalConfig): remove the bloody prototype
-
-2000-09-19 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-18 Dam's <damien@mandrakesoft.com>
-
- * Xconfigurator (autologin): do it eve, if newbie. Autologin is
- now in separated function.
-
-2000-09-18 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (testFinalConfig): don't skip the test in auto
- if called via "Test again"
- * Xconfigurator.pm (resolutionsConfiguration): ensure all depth
- are bounded
-
- * bootloader.pm (suggest): don't put "linux-nonfb" if "linux" is
- classic and no-fb
-
- * fsedit.pm (check_mntpoint): add a check for /etc /lib... which
- must not be mount points. Also check that /home, /tmp and /usr are
- on trueFS
-
- * interactive.pm (ask_from_entries_ref): add bounding of "val" in
- case of type "range". die if min > max.
-
-2000-09-18 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-18 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): nicer
- partition/device display
-
- * partition_table_raw.pm (zero_MBR): add on the fly require of the
- good partition_table_$type
-
- * detect_devices.pm (cdroms): fix (yet again) the scd$nb device
- assignment to ide burners
-
- * install_steps.pm (afterInstallPackages): comment out a part of
- the icons mess messing
-
- * Xconfigurator.pm (cardConfiguration): move Unlisted to
- Other/Unlisted
- * share/CardsNames: updated (for Voodoo5)
-
- * install_steps_gtk.pm (selectMouse): fix the test to know wether
- the guy has changed the mouse type (to know wether to test the
- mouse or not)
-
- * install_steps_interactive.pm (selectLanguage): add the license
-
- * install_steps_interactive.pm (choosePackages): have the
- "Recommended" size be the default
- (in the choice Minimum/Recommanded/Complete)
-
- * diskdrake.pm (Type): fix a typo
-
- * install_steps.pm (doPartitionDisksAfter): mark partition as
- mounted
-
-2000-09-17 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-17 Pixel <pixel@mandrakesoft.com>
-
- * install/pcmcia_config.patch: cleaned
-
- * diskdrake.pm (Create, Type): have type field not_editable
-
- * tools/make_mdkinst_stage2: use TMPDIR if available
-
-2000-09-16 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): move
- the setting of toFormat before asking for bad blocks, seems to fix
- things?? weird :-/
-
- * network.pm (miscellaneousNetwork): fix the setting of focus on
- error (tx2Thomas Poindessous :)
-
- * install_steps_interactive.pm (configurePrinter): changed
- "Cancel" to "None" (for Thomas Poindessous :)
-
- * printer.pm (poll_ppd_base): max polling time raised from 10s to
- 30s (for Till)
-
- * install_steps.pm (ask_mntpoint_s): don't force partition type to
- be ext2 (at least if it's a known fs) (for Warly)
-
-2000-09-15 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-15 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (set_help): save the help message displayed
- in $o->{current_help}
- * install_gtk.pm (create_big_help): display $o->{current_help}
-
- * mouse.pm: reworked quite a lot. Now sorts/categorize nicely the mice.
- * install_steps_interactive.pm (selectMouse): adapted for reworked mouse.pm
- * install2.pm (selectMouse): adapted for mouse::read now returning
- an hash ref
-
- * detect_devices.pm (hasMousePS2): remove hasMouseMacUSB, do it in
- one function (now takes the device in the parameter)
-
- * interactive.pm (ask_from_treelistf): added (just like
- ask_from_listf, but with a tree)
-
- * Xconfigurator.pm: the reference is now nbuttons to
- know wether to put Emulate3Buttons or ZAxisMapping.
- * Xconfigurator.pm (cardConfiguration): install Glide_V3-DRI on
- Banshee too.
-
- * Xconfig.pm: guess nbuttons based on Emulate3Buttons and
- ZAxisMapping.
-
- * common.pm (availableRamMB): replace availableRam, now use the
- size of /proc/kcore (what else to find the real ramsize?)
-
- * common.pm (cat__): created
-
- * install2.pm (main): add field meta_class in $o. Can be
- 'desktop', in case option desktop is given, or if /desktop/i is
- found in /VERSION
-
- * install_steps.pm (miscellaneous): for lnx4win, always have
- 'mem=' (so that the initrd is visible by both windows
-
- * install2.pm (main): add option "desktop"
-
- * install_any.pm (generate_ks_cfg): fix for new(?) $o->{intf} format
-
- * install_interactive.pm (partitionWizardSolutions):
- use only TrueFS for existing_part
- (partitionWizard): have only "loopback" for lnx4win
-
- * pci_probing/pcitable: associate Voodoo5 with Voodoo5
-
- * share/Cards+: add Voodoo5
-
- * bootloader.pm (suggest): add entry linux-nonfb (called linux-up
- for smp)
-
-2000-09-14 DrakX <install@mandrakesoft.com>
-
- * snapshot uploaded
-
-2000-09-12 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm, mouse.pm: moved probing serial port before to
- detect a wacom tablet (even if a PS/2 or USB mouse is found).
- * help.pm: corrected reference to previous version of LM (jloup).
- * install2.pm: removed duplicate code for getting network
- configuration, using network module.
- * netconnect.pm: intf is now a hash and no more an array.
- * network.pm: changed nature of intf to hash from array, reworked
- write_resolv_conf function to keep old code in comment but only
- when not used anymore (to make it easier by hand modification).
- * printer.pm: SOCKET accessible to expert only (jloup).
- * printerdrake.pm: local port only available for expert if a
- printer has been detected (jloup).
-
-2000-09-11 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: reorganized choices of 3D optimizations, added
- experimental support for expert users.
- * install_steps_interactive.pm: removed question to keep XF3.
-
-2000-09-05 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: removed all previous URI specific mode and
- added socket and expert URI general mode.
- * printer.pm: fixed bugs, start lo interface before cups.
-
-2000-09-04 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added pnm2ppa and lm110 support in cups
- configuration. probe for printer device (parallel) and try to
- install usb for printer.
- * printer.pm: removed local printer configuration for cups (keep
- only local configuration using URI).
-
-2000-09-01 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: fixes to configure XF86Config-4 when XFree-3.3
- is installed, make 16bits by default on 3D hardware acceleration,
- fixed selection of hardware for hardware acceleration.
- * install_steps.pm: add cups for printer configuration, used for
- auto_install. added new function to add packages only if requires
- are already satisfied.
- * standalone/printerdrake: updated.
-
-2000-08-31 dam's <damien@mandrakesoft.com>
-
- * moved many things to network.pm and any.pm
- * everything should be broken now.
-
-2000-08-31 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: removed printer default config (now obsoleted).
- * install_steps_interactive.pm: add cups support.
- * printerdrake.pm: add cups support.
- * printer.pm: add cups support.
-
-2000-08-31 Frederic Lepied <flepied@mandrakesoft.com>
-
- * install_any.pm (setPackages): install the right glide module
- according to the Voodoo card detected.
-
- * Xconfigurator.pm (write_XF86Config): ZAxisMapping for XF 4.
- (autoDefaultDepth): default depth to 16 for Voodoo cards except
- for Voodo5 ones.
-
-2000-08-29 dam's <damien@mandrakesoft.com>
-
- * moved pppConfig in netconnect.pm and any.pm
- * moved miscellaneousNetwork in any
- * modem configuration is now useable in standalone mode.
-
-2000-08-29 David BAUDENS <baudens@mandrakesoft.com>
-
- * install_steps_interactive.pm: change Small/Normal/Full ->
- Minimum/Recommanded/Complete (aka make FredB happy)
-
-2000-08-28 dam's <damien@mandrakesoft.com>
-
- * draknet (netconnect): renamed drakfuck -> draknet. standard ADSL
- and french alcatel ADSL implemented.
- * Xconfigurator.pm (autologin) : use of the new autologin system.
-
-2000-08-24 François Pons <fpons@mandrakesoft.com>
-
- * ../update_kernel*: changed reference from extract_archive to
- packadrake.
- * Makefile*: added live_install and live_install2.
- * Xconfigurator.pm: updated Mach64 acceleration to only 3D Rage
- Pro AGP card type, commented SiS and S3ViRGE support by GLX.
- * commands.pm, keyboard.pm, lang.pm, pkgs.pm, list, tools/*:
- updated to use packdrake now.
- * install2.pm, install_steps.pm, install_steps_gtk, Makefile*:
- manage live upgrade.
- * modules.pm: use standard modprobe command for load in live
- upgrade.
- * netconnect.pm: added minimal modification for being compilable.
- * rescue/list: added packdrake and sfdisk.
- * live_install, live_install2: live upgrade of package.
-
-2000-08-22 dam's <damien@mandrakesoft.com>
-
- * drakfuck (netconnect):finished isdn PCI/ISA card implemetation
- * added isdndb.net: providers database
-
-2000-08-20 dam's <damien@mandrakesoft.com>
-
- * moved Netconnect.pm to netconnect.pm
- * moved DrakFuck to drakfuck
-
-2000-08-18 Pixel <pixel@mandrakesoft.com>
-
- * share/Cards+: for i810, force VideoRam
-
-2000-08-18 dam's <damien@mandrakesoft.com>
-
- * modules.pm: added isdn type in @drivers_by_category. corrected
- load_thiskind (thx pixel) : it's not unsafe anymore
- * Netconnect.pm: just display PCI isdn card recognized.
-
-2000-08-17 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm: many cleanup. moved some functions to common,
- any or install_interactive (newly created)
-
-2000-08-16 dam's <damien@mandrakesoft.com>
-
- * install_steps_interactive.pm(configureNetwork): added call to
- isdn configuration
- * added standalone/DrakFuck: standalone entry point to configure
- internet connexion.
- * added Netconnect.pm: internet connexion functions.
-
-2000-08-11 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectInstallClass): yet a bigger
- warning so that people don't choose expert installs. Also set the
- focus on "Custom" by default.
-
- * install_steps_interactive.pm (doPartitionDisks): created, calls
- the wizard.
- * install_steps.pm (doPartitionDisksBefore,
- doPartitionDisksAfter): created (was mainly in
- install2::doPartitionDisks)
- * install2.pm (doPartitionDisks): much cleanup
- * install_any.pm (partitionWizard): working state (still rough)
-
-2000-08-08 Pixel <pixel@mandrakesoft.com>
-
- * standalone/rpmdrake (AddMedia): fix the ftp addmedia, fix the
- cdrom addmedia
-
-2000-08-07 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Resize):
- * install_steps_gtk.pm (doPartitionDisks): remove the
- before_leaving ensuring the filehandle is closed
- * resize_fat/main.pm (DESTROY): use a better solution for ensuring
- the filehandle is closed
-
-2000-08-07 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added SiS6326 in the list of chipset that
- needVideoRam, reported on ml.
- * install_steps.pm: fixed auto install of printer.
-
-2000-08-06 Pixel <pixel@mandrakesoft.com>
-
- * interactive.pm (ask_from_listf): created this GREAT function
- that should have been created a long time ago.
- * any.pm, install_any.pm, install_steps_gtk.pm,
- install_steps_interactive.pm: a lot of rewrite to use the new
- ask_from_listf, a lot of nice cleanup!
-
- * fs.pm (df): created, returns the free space of the part. Save it
- in $part->{free}
-
- * install_steps_gtk.pm (doPartitionDisks): ensure the closing of
- the device in case of error
- * resize_fat/main.pm (new): ensure the closing of the device in
- case of error
-
- * install_any.pm (partitionWizard): the great partitioning wizard
- is created. Not finished yet (nor called from anywhere)
-
- * install_steps.pm (doPartitionDisksLnx4win): created function out
- of doPartitionDisks
-
- * install_steps_gtk.pm (installPackages): removed the displaying
- of size to install (people are bothered cuz not the same size)
-
-2000-08-06 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_steps_window): use drawing area
- instead of button. Implemented all steps events.
-
-2000-08-05 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): test a hack for usb mouse via hub
- (sparhawk@enteract.com)
-
- * fsedit.pm (undo): force isDirty and needKernelReread only if hd
- hasBeenDirty, otherwise believe the flag saved
- * partition_table.pm (write): flag hd as hasBeenDirty
-
- * install2.pm: a few renaming of methods so that the step names
- correspond to install2 function and install_steps* methods (eg:
- configureX & setupXfree unified to configureX)
-
-2000-08-04 dam's <damien@mandrakesoft.com>
-
- * any.pm (setAutoLogin): added this method to write xdm-config
- * Xconfigurator.pm: clenead autologin code and use of above method
-
-2000-08-04 Pixel <pixel@mandrakesoft.com>
-
- * pkgs.pm (setSelectedFromCompssList): save $nb to able to restore
- it in case of max_size reached. only purpose is the log!
-
- * install_steps_interactive.pm (choosePackages): in newbie, ask
- between Small/Medium/Full install
- * install_steps_interactive.pm (choosePackages): in expert, have
- the min_mark be 0 instead of 1
-
- * common.pm (find_index): added this nice function
-
- * install_any.pm (getAvailableSpace_mounted): use common::df
- * loopback.pm (getFree): use common::df
- * commands.pm (df): use common::df
- * common.pm (df): added
-
- * diskdrake.pm (Resize)): add resizing of reiserfs
- * share/list.i386: add resize_reiserfs
-
-
-2000-08-02 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm : autologin is functionall. When wmsession.d is
- more up to date, I'll add the list of wm to launch at boot. It
- writes in /etc/X11/xdm/xdm-config.
-
-2000-08-01 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (miscellaneous): modify as chmouel want (aka, ""
- instead of "no" for MOUSE and KEYBOARD in sysconfig/usb)
-
- * services.pm: separation between interaction and action.
- * install_steps.pm (servicesConfig): the job is now done here
- * install_steps_interactive.pm (servicesConfig): only the asking
- part
-
-2000-08-01 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed the below fixe, now ok.
- * Xconfigurator.pm: fixed a bug for using default card flags
- setting, add support for GeForce DDR for both 3.3 and 4.0.
- * pci_probing/pcitable: fixed NV15 (GeForce2) card entry, now use
- XFree 3.3 as unsupported in XFree 4.0.
- * share/Cards+: added "NVIDIA GeForce2 DDR (generic)".
-
-2000-07-31 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: fixed provided package with choice in deps used with a
- base package, complicated but kernel-fb or similar can be
- unselected now.
-
-2000-07-27 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: changed expert message to ask
- using XFree 3.3 instead of XFree 4.0 used by default (server).
- * Xconfigurator.pm: make sure only one server is installed,
- default to XFree 4.0 if supported unless XFree 3.3 accept
- 3D acceleration and not XFree 4.0, ask user in such case.
- * pci_probing/pcitable: added Intel 815 pci ids.
-
-2000-07-26 dam's <damien@mandrakesoft.com>
-
- * install_steps_gtk.pm: applied new LN stars, logo title and help
- logo. improved steps appearences.
- * modified share/step-*.xpm
- * added share/help.xpm
- * updated ../HACKING to ling help logo.
-
-2000-07-21 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: enable 3D acceleration configuration with
- XFree86, use /usr/X11R6/lib/modules/glx-3.so for X version 3
- Utah-GLX accelerated module.
-
-2000-07-20 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: use {miscellaneous}{autologuser} instead of
- {miscellaneous}{autologuser} + {miscellaneous}{autologing}.
- * move some README content to ../HACKING
-
-2000-07-19 dam's <damien@mandrakesoft.com>
-
- * Xconfigurator.pm: added autologin boxes.
- result is in {miscellaneous}{autologin} and in
- {miscellaneous}{autologuser}
-
-2000-07-19 François Pons <fpons@mandrakesoft.com>
-
- * any.pm: added default root to existing root device when adding
- an entry in bootloader.
- * bootloader.pm: avoid duplicating entry (floppy and old-floppy)
- when they are identical.
- manage hackkernel by suggest an entry by default if installed.
- * install_steps.pm: reworked symlink closure for bootloader
- to keep previous configuration.
-
-2000-07-11 François Pons <fpons@mandrakesoft.com>
-
- * bootloader.pm: merged lilo.pm and silo.pm inside bootloader.pm,
- this include a configure_entry from silo.pm to build a initrd if
- used.
- * share/compssList: added kde2 packages.
- * share/compssUsers: added kde2 group, renamed kde to kde1 group
- specific.
-
-2000-07-07 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm (choosePackages): always execute setPackage to copy
- hdlist* and depslist files (support mixed partitionDisks and
- choosePackages).
- * install_any.pm (setPackages): avoid clearing upgrade flag.
- * install_steps.pm (choosePackages): use $first_time to avoid
- reselection of packages according to compssList.
- * install_steps_interactive (choosePackages): use $first_time and
- $individual to avoid reselection of packages according if user go
- back to step choosePackages.
- * pkgs.pm: added psUpdateHdlistsDeps to restore hdlist* and
- depslist files in /var/lib/urpmi.
- * diskdrake.pm: fixed uneditable combo for Mount point action.
-
-2000-06-23 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: better approach for Sun* server in newbie.
- * fs.pm: added romfs support for mount.
- * fsedit.pm: changed auto allocation for partitions for sparc*.
- * install2.pm: restored bootdisk creation and auto install boot
- disk creation for sparc*.
- * install_any.pm: changed vfat to romfs when mounting kickstart
- floppy on sparc*.
- * install_steps.pm: avoid proposing formating sunos partition.
- * install_steps_interactive.pm: boot disk for sparc* and support for
- installation of SILO on /boot partition (sparc*).
- * install_steps_newt.pm: removed cylinder 0 bug warning.
- * interactive.pm: fixed typo for not_edit set to 1 by default.
- * partition_table.pm: fixed get_holes on sparc* where a whole disk
- partition caused problems.
- * partition_table_sun.pm: removed cylinder 0 bug as found in mke2fs.
- * silo.pm: handle /boot partition, install silo.conf in /boot and
- make a symlink from /etc.
- * share/list.sparc: added losetup and genromfs for boot disk creation.
-
-2000-06-21 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * lang.pm: changed the way console font data is written; not all
- of the [0], [1], [2] values must defined, so three cases must be used.
- Also added a variable $CHARSET for /etc/sysconfig/i18n; it can then
- be used by console-tools to load the proper compose table
-
-2000-06-20 François Pons <fpons@mandrakesoft.com>
-
- * c/sbus.c: added some functions for silo.c integration.
- * c/silo.c: initial release including write in prom, and translation
- of disk name from openprom to linux, rh version modified.
- * silo.pm: added write in prom, support of sunos boot from silo.
- * partition_table.pm: added support for ufs partition like windows one.
- * install_steps_interactive.pm: added other entries in silo.
- * install_steps.pm: support sunos partition.
- * install_any.pm: automatically mount sunos partition with diskdrake.
- * fsedit.pm: added /mnt/sunos suggested mount point.
- * fs.pm: added ufs support for mount.
-
-2000-06-19 François Pons <fpons@mandrakesoft.com>
-
- * crypto.pm: modified for getting sparc crypto file for sparc*.
- * modules.pm: make sure to load sd_mod when needed.
- * pci_probing/main.pm: always use loaw_endian in pci structs.
- * pci_probing/translate-pcitable.pl: added arch specific module name
- translation.
-
-2000-06-16 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): rename conf.modules to modules.conf if
- needed. Outputs to modules.conf
-
- * detect_devices.pm (cdroms): fix using scd0 for ide-burners when
- already a scsi cdrom drive
-
-2000-06-13 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * pkgs.pm: added 'acon' requirement for all right-to-left languages
-
-2000-06-07 François Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: added SunOS partition as blue for diskdrake.
- * install_steps_interactive.pm: make sure of no division by zero may
- happen.
- * install_steps_newt.pm: added WARNING for fdisk on sparc*.
- * modules.pm: make sure of loading sd_mod module after any scsi module.
- * sbus_probing/main.pm: insmod openprom before trying sbus probing.
- * pkgs.pm: corrected by use of parabolic solution for size approximation.
- * silo.pm: try with "silo -p 2 -t" if "silo -t" has failed due to bad probe.
-
-2000-06-05 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * install_steps.pm,lang.pm: added load_console_font, to load the
- proper console fonts (text mode install is not very useful otherwise)
-
-2000-06-03 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): don't accept less than 32MB part for reiserfs
- * diskdrake.pm (Type): don't accept less than 32MB part for reiserfs
-
-2000-06-01 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/fonts.tar.bz2: replaced the Korean 16pt fonts by a 12pt font;
- it fits better with the other fonts. Added a 'README' file with
- some comments and the required copyright notice
-
-2000-05-29 François Pons <fpons@mandrakesoft.com>
-
- * Xconfigurator.pm: added support for SBUS card autodetection.
- * commands.pm: added lssbus to list SBUS devices detected.
- * detect_devices.pm: removed alpha restriction on USB.
- * install_steps_interactive.pm: added SBUS support.
- * c/sbus.c: initial revision, core SBUS support (inspired from kudzu).
- * c/stuff.xs.pm: added wrapper for sbus.c interface.
- * sbus_probing/main.pm: initial revision (inspired from kudzu).
-
-2000-05-27 Adam Lebsack <adam@mandrakesoft.com>
-
- * share/list.ppc: various PPC modifications, for HFS
- * partition_table_mac.pm: bug fixes
- * partition_table.pm: various HFS fixes, isHiddenMacPart()
- * diskdrake.pm: added HFS to top buttons when run on PPC
- * keyboard.pm: fixed name of mac-fr2-ext keymap
- * install_steps_gtk.pm: added Xpmac server support for PPC.
- * install_steps_interactive.pm: disallow hardware configuration on PPC for
- now. All drivers should be in the kernel. setup_this_kind().
- * fsedit.pm: fixed verify_hds for PPC, /proc/partitions will never match
- our partition table read. Added PPC grep condition for PPC in get_visible_fstab.
- * fs.pm: fix argument for HFS formatting.
- * Makefile: special installation of PPC files.
-
-2000-05-25 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-
- * standalone/drakboot: Don't display Configure-/LILO/GRUB/ on
- alpha|sparc.
-
-2000-05-25 François Pons <fpons@mandrakesoft.com>
-
- * silo.pm: added configure_entry to try creating an initrd for an image
- entry in bootloader. fixed wrong usage of run_programm::rooted with 2>.
- * commands.pm: fixed insmod command to take modules64.cz* on sparc*
- * install2.pm: removed create boot disk and create auto install disk on
- sparc*. force writing of /etc/conf.modules for step setupBootloader.
- * install_steps.pm: fixed upgrade for sparc* and disable supermount for sparc*.
- * install_steps_interactive.pm: added missing $prefix for glob_. call
- configure_entry in setupSILO. fixed cancel or None entry on setupBootloader.
- * modules.pm: updated alias for sparc*.
- * any.pm: fixed proprable wrong test for setupBootloader in beginner at
- the very beginning.
- * printer.pm: fixed typo.
- * Xconfigurator.pm: avoid testing if using a Sun* server, added depth and
- resolution for these server too.
-
-2000-05-24 François Pons <fpons@mandrakesoft.com>
-
- * partition_tabel.pm: fixed wrong detection of DOS partition on sparc*.
- * partition_table_sun.pm: fixed a bug when reading partition table
- with unused partition in the middle of the table.
-
-2000-05-23 François Pons <fpons@mandrakesoft.com>
-
- * common.pm: update arch to take into account sparc and sparc64. added
- better_arch and compat_arch function.
- * silo.pm: fixed adding new kernel automatically.
- * install2.pm: removed create boot disk stuff for sparc*.
- * install_steps.pm: added initrd generation for alpha. added ldconfig
- at end of installation. removed /usr/bin/dumpkeys existence test on
- sparc*, should be added in the future.
- * install_steps_interactive.pm: removed supermount for sparc*.
- * install_steps_gtk.pm: added /dev/kbd device creation and permedia2
- support for sparc*. removed screen limit of 1024x768.
- * detect_devices.pm: fixed problem on machine with really no IDE interface.
- * modules.pm: added support for 32 and 64 bit architectures on sparc*.
- * install_any.pm: fixed getAvailableSpace_mounted if /usr is not a separate
- partition.
- * pkgs.pm: added support for multi-arch rpm file (need for sparc*),
- fixed correctSize and invCorrectSize to take back a linear approximation
- above 9Gb approximatively. removed ftp rewind as broken currently.
- * keyboard.pm: fixed bad list of available keyboard (broke sparc*), fixed
- globing (removed) against existing '*'.
- * partition_table.pm: removed support for non SUN partition table, as it
- may freeze the kernel or may be blanked?
- * Xconfigurator.pm: take Sun24 server by default on sparc*, add support
- for permedia2 card (3DLabs server).
- * share/list.sparc: added perl-5.6.0 for sparc*, fixed for sparc*.
- * Makefile: added support for modules and modules64 for sparc*.
- * c/stuff.xs.pm: added kernel_arch function for getting the current true
- architecture provided by the kernel (uname -m).
-
-2000-05-09 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (kdeicons_postinstall): the URL link to doc must
- be $lang/index.html, not only $lang.
-
- * standalone/mousedrake: add handling of XF86Config-4
-
- * any.pm (setupBootloader): fix bug (was adding 2 glob_'s)
-
-2000-05-08 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): move the touch of some files here to please linuxconf
-
- * install2.pm (miscellaneous): s/KBD/KEYBOARD/
-
- * lilo.pm (install_grub): don't keep symlinks for reiserfs
- * lilo.pm (suggest): allow grub everytime now (not only if !reiserfs)
-
- * install_any.pm (getHds): default mount point for windobe in
- lowercased for StartOffice(!)
-
-2000-05-08 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: Fixed Brazilian keyboard (.br); added
- Iranian (.ir), Arabic (.ar) and new Lithuanian (.lt_new) keyboards
- * keyboard.pm: Added new Lithuanian keyboard and changed the
- string for brazilian ABNT-2 to state more clearly its ABNT nature
- (it is not a standard PC keyboard; it uses some different keycodes)
-
-2000-05-07 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (choosePackages): return availableCorrected
- instead of available
-
- * pkgs.pm (correctSize): add 18MB for full multi-cd (many hdlist's)
-
- * modules.pm (text2driver): same as text2lang below
- * keyboard.pm (text2keyboard): same as text2lang below
- * lang.pm (text2lang): replace the while (... each) by a foreach
- (keys) (because each is dangerous if loop is exited)
-
- * install_steps_interactive.pm (selectKeyboard): better handling
- of multiple langs question.
-
- * ftp.pm (new): Timeout set to 60 (seconds), was default (120)
-
- * install_steps_interactive.pm (setup_thiskind): remove ide-*
- from modules displayed as loaded.
-
-2000-05-06 Pixel <pixel@mandrakesoft.com>
-
- * fsedit.pm (check_mntpoint): verify that standard mntpoints (/
- /usr) are not on not trueFS
-
- * any.pm (setupBootloader): add $prefix for the 2 glob_'s
-
-2000-05-07 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * share/keyboards.tar.bz2: added Ukrainian keyboard xmodmap.ua
-
-2000-05-06 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * printerdrake.pm: fixed English error
-
-2000-05-05 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm (monitorConfiguration): remove the special case
- for fbdev.
-
- * install_steps_interactive.pm (setup_thiskind): replace return by
- next in case load_module fails.
-
- * install_steps_gtk.pm (selectInstallClass1): translate Install/Upgrade
-
- * Xconfigurator.pm (cardConfiguration): force xf4 for rage 128's
- * Xconfigurator.pm (testFinalConfig): force $bad_card for xf4
-
- * pkgs.pm (correctSize): updated for 7.1
-
- * install_any.pm (getAvailableSpace): move the removing of
- $minAvailableSize here.
-
-2000-05-04 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (configurePrinter): give clicked to printerConfig
-
- * interactive.pm (ask_from_entries_ref): set default val if not_edit
-
- * interactive_newt.pm (ask_from_entries_refW): remove setting of
- default val. Now done in interactive::ask_from_entries_ref
-
- * interactive_gtk.pm (ask_from_entries_refW): handle empty value
-
- * modules.pm (read_already_loaded): ensure that already loaded
- modules are put in %loaded.
- * modules.pm (load_ide): add loading if ide-probe-mod (for new kernel)
-
- * lilo.pm (install_lilo): truncate label's to 15 chars
-
- * install_any.pm (generate_ks_cfg): fix missing space
- * install_any.pm (generate_ks_cfg): fix bug for nfs comand
-
- * install2.pm: get rid of autoformat
- * install_steps.pm (choosePartitionsToFormat): get rid of autoformat
-
-2000-05-03 Pixel <pixel@mandrakesoft.com>
-
- * any.pm (setupBootloader): replace ask_many_from_list by
- ask_from_list for bootloader choice
-
- * services.pm (drakxservices): stop immediately service if removed
-
- * install_steps.pm (configureNetwork): replaced dhcpxd by dhcpcd
- * install_steps.pm (afterInstallPackages): touch some files to
- please linuxconf
-
-2000-05-03 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: updated min size, fixed kppprc generation.
- * install_any.pm: make sure postinstall-rpm is here before
- erasing (avoid error on reboot only).
-
-2000-05-02 Pixel <pixel@mandrakesoft.com>
-
- * raid.pm (format_part): don't call raid::make if part is already
- formatted (as raidstop fails)
-
- * Xconfigurator_consts.pm: Rage128 and 3dfx are not available any
- more
-
- * install_steps_interactive.pm (setup_thiskind): make insmod'ing
- fail a simple warning.
-
- * Xconfigurator.pm (readMonitorsDB): adapt to new MonitorsDB
- * share/MonitorsDB: take new one from RedHat
-
- * standalone/drakboot: added kfloppy
-
- * g_auto_install: add $dir/lib to LD_LIBRARY_PATH (it was silly
- not to have it)
-
-2000-05-01 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setRootPassword): remove
- NIS_server, use NIS instead
- * install_any.pm (setAuthentication): remove NIS_server, use NIS instead
-
- * standalone/rpmdrake (AddMedia): hdlist.cz2 instead of hdlist
-
-2000-04-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps.pm (afterInstallPackages): fix yet another bug for
- ttf from windobe handling
-
- * install_steps_interactive.pm (selectInstallClass): hide beginner
- mode in corporate. Display special help.
-
-2000-04-29 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * my_gtk.pm: added call to Gtk->init; that makes 16 bit locales
- text to be properly aligned (reported by Craig Chang
- <craig_chang@taipei.siscomm.com.tw>)
- * common.pm: now that po handling is correct, I changed the order
- of reading variables so that it follows the standards ($LANGUAGE first)
- * share/fonts.tar.bz2, lang.pm: added an 8pt font for cp1251
-
-2000-04-28 François Pons <fpons@mandrakesoft.com>
-
- * install_steps*.pm: added support for selection of package during
- upgrade the same way it is done for installation. added check of
- minimal size, abort else (at least let the user know about :-)
- fixed crypto if no network interface available.
- * install2.pm: fixed problem during upgrade that lost network
- configuration.
-
-2000-04-28 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_raw): don't call commands::insmod, do it in
- place. Merge with load_multi
-
- * install_steps.pm (afterInstallPackages): fix windobe ttfonts
- symlinking
-
- * Xconfigurator.pm (cardConfiguration): load module agpgart for
- i810
-
- * install_any.pm (getHds): changed the mount point setting for
- windows partitions as device_windobe is not unique
-
-2000-04-27 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_steps_window): changed to adapt to
- new hidden format
-
- * install2.pm (@installSteps): changed the way hidden is handled.
- Now it is a true perl expression (great power now)
-
- * install_steps_gtk.pm (selectInstallClass1): update steps window
- before asking normal/devel/server. Nicer!
-
- * install_steps_interactive.pm (configureNetwork): when "Cancel"
- pressed at network interface configuration do not skip all
- configuration.
-
-2000-04-26 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm (pppConfig): modified a lot, removed template
- file for ifcfg and chat file.
-
-2000-04-26 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): use a fix width for
- the tree column (so that the checkbox are always visible without
- scrolling)
-
- * standalone/drakboot: drakfloppy and gfloppy are X only, no need
- to propose them in console
-
- * install_any.pm (relGetFile): added auto_inst to files to get
- from Mandrake/base
-
- * install2.pm (main): changed auto_inst behaviour
-
- * standalone/adduserdrake: fix a bug (s/$o/$in/g)
-
- * interactive_newt.pm (ask_from_entries_refW): now handling
- complete/changed/focus_out callbacks (at least more than before)
-
- * Newt/Newt.xs: added rough callback handling
-
-2000-04-25 François Pons <fpons@mandrakesoft.com>
-
- * printerdrake.pm: added support for PPA more easily, allow
- printers entry using ppa driver event if pnm2ppa not installed,
- install it if neccessary after.
- * network.pm, install_steps.pm, install_steps_interactive.pm:
- added support for stoping a network interface, usefull for ppp0 to
- avoid using it too long.
- * install_steps.pm: fixed missing local on pap_secrets file.
-
-2000-04-25 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (install): moved the generation of the keytable here. It
- is used by both lilo & grub (lilo is not always installed as was
- assumed)
-
- * common.pm (formatAlaTeX): remove bounding spaces
-
- * pkgs.pm (setSelectedFromCompssList): remove the hack for min
- mark 25 in beginner
- * install_steps_interactive.pm (choosePackages): set $min_mark to
- 25 in beginner
-
-2000-04-24 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (setupXfree): add a yesorno
- question for choosing between XF4 and XF3 in expert
-
- * install_steps_gtk.pm (choosePackagesTree): enlarge the tree window
-
- * install_any.pm (update_userkderc): make sure uid and gid are kept
-
- * diskdrake.pm (Create): add Extended_0x85 as a choice for expert
-
- * partition_table.pm (add_extended): handle a 3rd arg,
- $extended_type to tell which kind of extended partition is wanted
- * partition_table.pm (adjust_main_extended): in non-expert,
- automatically set extended to linux-extended if there's only
- linux-type partitions.
-
-2000-04-22 Pablo Saratxaga <pablo@madrakesoft.com>
-
- * install_steps_interactive.pm: s/Mb/MB/ as 'b' is symbol for bit
- and not for byte. RAM is expressed in megabytes -> MB
-
-2000-04-19 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: fixed crazy mutli CD manipulation.
- * printer.pm: fixed wrong prototype of print_pages.
- * install2.pm: set version to 7.1 for crypto stuff.
- * crypto.pm: commented ackbar crypto site.
-
-2000-04-17 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (suggest): in failsafe, runlevel ASKRUNLEVEL (handled by
- linuxconf)
-
-2000-04-14 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePartitionsToFormat): don't
- ask about checking bad blocks for reiserfs, cuz not handled
-
- * fs.pm (mount): reiserfs handling
- * fs.pm (format_reiserfs): added
- * fs.pm (write_fstab): add option "notail" for reiserfs if
- the partition holds the kernel (/boot or /)
-
- * partition_table.pm (isTrueFS): added, replaces most occurences
- of isExt2
-
-2000-04-12 François Pons <fpons@mandrakesoft.com>
-
- * install2.pm: force installation step if package have been
- selected on step choose packages.
- * install_any.pm: protected against die in perl (setstep or
- theme_changed).
-
-2000-04-11 François Pons <fpons@mandrakesoft.com>
-
- * resize_fat: added some limits verification.
- * interactive_gtk.pm: corrected swap of arg with help adding.
-
-2000-04-10 François Pons <fpons@mandrakesoft.com>
-
- * interactive_gtk.pm, my_gtk.pm: added tooltips for ask_from_list,
- which is used by printerdrake only. drops key bindings.
-
-2000-04-07 François Pons <fpons@mandrakesoft.com>
-
- * tools/serial_probe: obsoleting pnp_serial which is now replaced
- by this one, taken from kudzu, really faster and probe all serial
- devices at one time. modified to probe correctly modem :-)
- * mouse.pm: updated to use serial_probe interface of
- detect_devices.pm.
- * detect_devices.pm: modified to use serial_probe, cache probed
- devices to avoid reprobing.
-
-2000-04-06 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm, install_steps.pm: added support
- for peerdns options of ppp, so removed dns address unless expert.
-
-2000-04-05 François Pons <fpons@mandrakesoft.com>
-
- * crypto.pm, install_steps_interactive.pm, install2.pm,
- install_steps.pm: added crypto stuff to support hdlist-crypto.cz2
- and depslist-crypto. dependancies are not supported but with a
- simpler format of depslist file where closure are not done and
- only package name are used for dependancies.
- * pkgs.pm: added better support for multi CD manipulation,
- including selection and refus.
-
-2000-04-04 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm: modified selection packages from compssList by
- incremental selection, much more quickly.
- added selected medium for selecting a package.
- * install_any.pm: refused media hash transfered to selected value
- of media table.
- @needToCopy list should only have package of default medium.
-
-2000-04-03 Pixel <pixel@mandrakesoft.com>
-
- * fs.pm (format_ext2): add options "-b 1024 -O none" for alpha
-
-2000-03-31 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_gtk.pm: made changeMedium sub modification
- permanent.
- * pkgs.pm: modified upgrade to avoid use of header.
-
-2000-03-31 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: some more choices for PPC keyboards
-
-2000-03-30 François Pons <fpons@mandrakesoft.com>
-
- * install2pm: added eval around loading af_packet and postinstall
- copy of RPMS.
- * devices.pm: added /dev/kdb for SPARC.
- * install_any.pm: modified multi CD management, postinstall copy
- of RPMS.
- * install_steps_gtk.pm: added support for Xsun server for SPARC.
- * install_steps_interactive.pm: added multi CD dialog box for
- selecting CD available. Serialized ethernet configuration and ppp
- configuration.
- * pkgs.pm: added check for infinite recursion for bad depslist.
- * printer.pm: better test for reparse of printerdb.
- * Xconfigurator.pm: added support for Xsun server for SPARC.
-
-2000-03-30 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (choosePackagesTree): enhance tree selection
-
-2000-03-29 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (wait_messageW): add some padding (nicer)
-
- * install_steps_interactive.pm (generateAutoInstFloppy): created,
- creates a floppy for auto installs.
-
- * install_any.pm (generate_ks_cfg): created, generates stage1
- ks.cfg file
-
- * share/po/DrakX.pot: added special comment for grub entry
-
-2000-03-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (selectKeyboard): sort langs for
- many-lang install
-
- * mouse.pm (write): add WHEEL telling if a wheel mouse is there
-
-2000-03-28 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: added entries for all three Armenian keyboards
-
-2000-03-26 Pixel <pixel@mandrakesoft.com>
-
- * install_any.pm (install_urpmi): full support for multi-hdlist's
-
- * pkgs.pm (extractHeaders): look for hdlist in /tmp instead of
- $prefix/var/lib/urpmi
- * pkgs.pm (psUsingHdlists): put hdlist's in /var/lib/urpmi with a
- fake name. Access via /tmp/$hdlist is given for non-fake name
-
- * detect_devices.pm (hasHPT): return undef if no htp (silly me :-/)
-
-2000-03-25 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm: updated to the new format of entries. It was an hash.
- Now the key is field kernel_or_dev, and entries is an array.
-
- (get): added, it returns the entry using a kernel
- (needed because entries is no more a hash)
-
- * install_steps_interactive.pm (setupLILO): adapted to the new format
-
- * Xconfigurator.pm (write_XF86Config): basic XF86Config-4 handling
-
- * fsedit.pm (suggest_part): if suggested part contains a field
- "hd", ensure the partition is created on this hard drive
-
- * install2.pm (main): before leaving installation, remove
- /var/lib/urpmi if urpmi not installed
-
- * diskdrake.pm (Resize): ext2resize to size $part->{size} instead
- of $size
-
-2000-03-24 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (hasHPT): added. Now nice handling of hpt366
- (ultra66) without rebooting and making special floppy :)
-
- * lilo.pm (install_grub): much better grub configuration (better
- than lilo's :pp)
-
- * install_steps.pm (setupBootloaderBefore): remove entry floppy
- for security > 3
-
-2000-03-23 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (selectMouse): added, takes care of telling
- the X server if the user changed the mouse type. Only done if
- a serial mouse is chosen.
-
- * install_steps_newt.pm (doPartitionDisks): add a call to
-
- * mouse.pm (write): added "device=" in etc/sysconfig/mouse for
- devfs (it looses the symlink /dev/mouse)
-
-2000-03-22 Pixel <pixel@mandrakesoft.com>
-
- * pci_probing/pcitable: replace Server:Rage128 by proper XFree entry
-
-2000-03-20 François Pons <fpons@mandrakesoft.com>
-
- * detect_devices.pm, fs.pm, install_any.pm: added supports for
- LS-120 floppy drive and icons on desktop of KDE (untested).
- * printer.pm, printerdrake.pm: added supports for PPA interface in
- new rhs-printfilters, always enable "Print text as postscript"
- option for such printers.
-
-2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com>
-
- * keyboard.pm: changed XKB name for Swedish keyboard
- changed XKB names for Russian and German keyboards
- added a choice for "Croatian" keyboard
- * share/compss{,List}: added various new locales-*, ispell-*
- and netscape-* files. changed ppa to pnm2ppa.
-
-2000-03-17 François Pons <fpons@mandrakesoft.com>
-
- * install_steps.pm: added setup for all configured queue.
- * install_steps_interactive.pm: modified for retrieving packages
- or current configuration.
- * printer.pm: correction, tested retrieve of printer
- configuration without printtool comments in printcap file: added
- update of entry according to gsdriver used (untested again).
- * printerdrake.pm: better handling of cancel, manage of multiple
- queue definition together (as lp|My printer).
-
-2000-03-16 François Pons <fpons@mandrakesoft.com>
-
- * install_steps_interactive.pm: moved in printerdrake.pm the test
- of printer usage.
- * printerdrake.pm: heavy modification to handle multiple queue,
- corrected some bugs too, added much more features as printtool.
- * printer.pm: added more features for filter, allow printer to be
- retrieved without help of printtool id in printcap file (untested).
-
-2000-03-14 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Loopback): handling of the file loopback: test
- existence of the file and take its size.
-
-2000-03-14 François Pons <fpons@mandrakesoft.com>
-
- * install_any.pm: corrected for duplicate file on other CD.
-
-2000-03-13 Pixel <pixel@mandrakesoft.com>
-
- * detect_devices.pm (floppies): don't return hash but the device name
-
-2000-03-13 François Pons <fpons@mandrakesoft.com>
-
- * pkgs.pm, install_any.pm: small correction for multiple media
- installation.
- * tools/syncrpms: added for handling synchronisation of multiple source
- rpm directories (and multiple target), include cleaning.
- * tools/closurepkgs: tools to get rpm that may be installed by DrakX
- after normal packages installation (printer, network, X11...), may
- be used to duplicate on other CD some important stuff of the first
- one.
-
-2000-03-12 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_interactive.pm (choosePackages): compute the
- max_size very simply (sum of all package sizes), otherwise too costly
-
- * pkgs.pm (install): call cleanHeaders at the end
- * pkgs.pm (cleanHeaders): created
-
- * install2.pm (miscellaneous): /etc/msec/init.sh is now
- /usr/sbin/msec (yoann thanks for not telling :pp)
-
- * pkgs.pm (install): remove the $prefix of mountpoints for not
- enough room to install error message
-
-2000-03-11 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (_create_window): add callback on focus to
- ensure_focus. The result is no more 3 focus states with 2 buttons.
-
- * interactive_gtk.pm (ask_from_treelistW): better keyboard handling
-
- * raid.pm (make): check the result of mkraid. Suggest raidtools
- are missing in standalone diskdrake
-
- * devices.pm (set_loop): created, searches for an available
- loopback and sets the file to it
-
- * lilo.pm (dev2grub): fixed a missing slash
-
- * interactive_gtk.pm (wait_message_nextW): do not update if same
- message, otherwise silly gtk won't do anything and we'll wait
- forever :(
-
-2000-03-10 François Pons <fpons@mandrakesoft.com>
-
- * *.pm: heavy modification to take into account multiple media
- installation.
-
-2000-03-10 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (@install_classes): cleanup, no more i18n (is now in
- install_steps_interactive), remove old entries
-
-2000-03-09 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): don't add alias block-major-11 in every case
- * modules.pm (add_alias): special case oss (post-installs modprobe snd-pcm-oss)
-
- * fs.pm (format_*): move the @options before the device
-
- * loopback.pm: created, added a lot of stuff for loopback in
- diskdrake.pm, fs.pm...
-
-2000-03-08 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm: %type2fs replaced ox402 by 0x402
-
- * detect_devices.pm (cdroms): fix "scd" (should be "scd0")
-
- * install_any.pm (install_urpmi): update for new hdlist.cz2
-
-2000-03-07 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (ask_from_treelistW): s/focus_row/set_focus_row/
-
- * install_steps_interactive.pm (addUser): force add a normal user
- for security 4
-
-2000-03-05 Pixel <pixel@mandrakesoft.com>
-
- * my_gtk.pm (_ask_from_list): replace focus_row with set_focus_row
- (tis the Gtk-Perl 0.7002 was of doing)
-
-2000-03-04 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (write_conf): add ide-floppy to the modprobes of
- post-install supermount
-
-2000-03-03 Pixel <pixel@mandrakesoft.com>
-
- * commands.pm (ps): add RSS to ps command
-
-2000-03-02 Adam Lebsack <adam@mandrakesoft.com>
-
- * mouse.pm: added mac mouse detection to mouse::detect.
- * detect_devices.pm: added a routine to probe /dev/usbmouse on macs.
-
-2000-03-01 François Pons <fpons@mandrakesoft.com>
-
- * *.pm: heavy modification to take into account smaller
- transaction during installation.
- still a lot of test to perform, no provides updated currently and
- building of hdlist.cz2 and depslist.ordered need old files...
- nothing done for hdlist.gz during post installation, but
- hdlist.cz2 is already copied in /var/lib/urpmi [and is used during
- installation of packages as extract_archive need a true file].
-
-2000-03-01 Pixel <pixel@mandrakesoft.com>
-
- * lilo.pm (install_grub): creation
-
- * network.pm (write_interface_conf): ONBOOT = !pcmcia
-
- * install_steps_gtk.pm (new): more intelligent SIGCHLD handler
-
-2000-02-29 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm: moved common network stuff from "net" to "network"
- (modules like nfs lockd...)
-
- * fs.pm (write_fstab): moved the sort to the right place
-
- * services.pm (drakxservices): chkconfig --list is i18n'ed :(
- set LANGUAGE=C before
-
- * partition_table_raw.pm (get_geometry): geom{cylinders} must not
- be a decimal value :)
-
- * install_steps_gtk.pm (create_logo_window): set_name logo for
- logo window
- * share/install.rc: force disabling of background image theme
-
- * install_steps_gtk.pm (enteringStep): add step information for
- console 1
-
- * any.pm (addKdmIcon): new function
- * install_steps.pm (addUser): handle field icon
- * install_steps_interactive.pm (addUser): add choice of kdm icon
- * standalone/adduserdrake: add choice of kdm icon
-
- * diskdrake.pm (ask_all_data...): change for easier i18n
-
- * install_steps.pm (miscellaneous): add CLEAN_TMP handling
- (need cleaning?)
- * install_steps_interactive.pm (miscellaneous): add CLEAN_TMP
- option in expert
- * install2.pm (miscellaneous): add CLEAN_TMP option for
- /etc/sysconfig/system
-
- * install_steps_interactive.pm (miscellaneous): forbidden
- useSupermount if high security.
-
- * mouse.pm (detect): fix bug (ttyS instead of ttyS0)
-
-2000-02-28 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (createXconf): do not use "Generic VGA" for
- svga and accel. SVGA also wants 16 bpp. added ugly modeline for
- 800x600.
-
- * partition_table_raw.pm (get_geometry): when the
- HDIO_GET_IDENTITY fails, defaults to what GETGEO gave
-
- * install2.pm (main): use modules::load_multi to increase boot
- start time
-
- * modules.pm (load_multi): added this function for loading many
- modules at once.
-
- * install_steps_gtk.pm (new): increase time before timeout
-
- * detect_devices.pm (cdroms): change the device associated with
- ide-burners (hdX -> scdX). Problem is how to know the X in scdX :(
-
- * modules.pm (write_conf): sort scsi_hostadapter's
-
-2000-02-27 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): load ide-probe and the like in 'prereq' type
- so no aliases are added to conf.modules
-
-2000-02-25 Pixel <pixel@mandrakesoft.com>
-
- * devices.pm (make): small code cleanup
-
- * partition_table_raw.pm (adjustEnd): more explicit error message
-
- * fsedit.pm (allocatePartitions): fix a bug (size was getting too
- big after each allocation) making adjustEnd cry
-
-2000-02-24 Pixel <pixel@mandrakesoft.com>
-
- * interactive_gtk.pm (new): added the "new" method to initialize
- windowheight for isStandalone
-
- * install_steps_gtk.pm (new): returns undef in case no X server
- works
-
- * install2.pm (main): moved the ejectCdrom from install_steps::END
- to here
- * install2.pm (main): fix the $SIG{SEGV} handler
- * install2.pm (main): added a "try again" in text install if the
- "new" fails
-
- * install_steps_interactive.pm (createBootdisk): fix an error for
- non fdX choice of floppy drive
-
- * install_steps_interactive.pm (setup_thiskind): remove the
- "defined @l"
-
-2000-02-23 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (%suggestedPartitions): remove any /boot entries
- * install2.pm (selectInstallClass): removed the special code to
- /boot entries from suggestedPartitions for on non-intel (and it
- was buggy :)
- * fsedit.pm (@suggestions): remove the /boot entry
- * fsedit.pm (check_mntpoint): remove the 1024 cylinder check
- * fsedit.pm (suggest_part): remove the 1024 cylinder special case
-
- * install_steps_interactive.pm (setupLILO): replace linear option
- by lba32
-
- * lilo.pm (suggest): add lba32 by default
-
- * install_steps_interactive.pm (load_thiskind): moved the HPT
- stuff to install_any::ultra66 and call it.
- Add sound card configuration (3 lines :)
-
- * my_gtk.pm and interactive_gtk: resize the list and tree based on
- root window size
-
- * install_steps_gtk: $width and $height goes $::rootwidth and
- $::rootheight, also other dimensions goes global (main::)
-
- * commands.pm (strings): replace the typo \{$n,} by {$n,}
-
-2000-02-23 François Pons <fpons@mandrakesoft.com>
-
- * build_archive, extract_archive: changed format of TOC to speed
- up extraction of archive, now 5 to 6 times faster to read TOC :-)
-
-2000-02-22 Pixel <pixel@mandrakesoft.com>
-
- * Xconfigurator.pm: load "Cards" database only to translate NAME
- to fields. Added file CardsNames created from Cards using
- share/Cards2CardsNames. Kind of list of normalized NAMEs
-
- * MonitorsDB: replace the ` ' separator for vendor by `|'
-
- * install_steps_interactive.pm (timeConfig): use ask_from_treelist
-
- * interactive_gtk.pm (ask_from_treelist): creation of
- ask_from_treelist. Usage is just the same as ask_from_list with
- one more argument (the separator eg: |, /)
-
-2000-02-21 François Pons <fpons@mandrakesoft.com>
-
- * diskdrake.pm: fixed deadlock while trying to create partition
- when available space is equal or less than 2 cylinders. fixed
- Create action on corrupted partition by removing stalling window.
- Blocked partition table writing if there are error by forcing user
- to correct partition table.
- * partition_table.pm: fixed typo in verifyParts with cdie, added
- verifyParts on Resize action.
-
-2000-02-21 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (create_big_help): display the help in full
- screen
-
- * my_gtk.pm (_create_window): add big help on F1
-
- * common.pm (add2hash): now returns the first parameter
-
- * mouse.pm (detect): really defaults to serial mouse
-
- * interactive.pm: add ask_many_from_list_with_help and
- ask_many_from_list_with_help_ref
-
- * services.pm: creation, it handles what was in
- standalone/drakxservices
-
-2000-02-18 Pixel <pixel@mandrakesoft.com>
-
- * install_steps_gtk.pm (createXconf): added /dev/ (X wants
- "/dev/psaux" and not "psaux")
-
- * diskdrake.pm (Create): show start sector even for non-expert on
- non-i386
-
-2000-02-16 Pixel <pixel@mandrakesoft.com>
-
- * mouse.pm (detect): add defaults to serial mouse
-
- * install_steps_gtk.pm (createXconf): remove the defaults to
- serial mouse
-
-2000-02-15 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm: "After %s partition %s," inlined otherwise does
- not please pablo and translators...
-
-2000-02-14 Pixel <pixel@mandrakesoft.com>
-
- * diskdrake.pm (Create): hide start sector choice for non-expert
-
-2000-02-11 Pixel <pixel@mandrakesoft.com>
-
- * partition_table_raw.pm (get_geometry): do not use the cylinder
- number given by HDIO_GETGEO cuz limited to 16bits. Compute using
- the total_sectors using HDIO_GET_IDENTITY
-
- * c/stuff.xs.pm: added total_sectors (gives the number of sector
- of a drive)
-
- * modules.pm (load): ignore error in loading prereq's
-
- * modules.pm (@drivers_by_category): rcpci instead of rcpci45,
- z85230 added
-
- * commands.pm (mount): add modules::load_deps otherwise the
- fs::mount won't succeed insmoding vfat if needed
-
-2000-02-11 François Pons <fpons@mandrakesoft.com>
-
- * fixed diskdrake to handle limit case when creating and resizing
- partition table, address size limit and start sector limit.
-
-2000-02-11 Pixel <pixel@mandrakesoft.com>
-
- * install2.pm (main): add a callback on SEGV
- -> message printed
- -> that way, ENDs are called (otherwise skipped)
-
- * install_steps_interactive.pm (setup_thiskind): handles the undef
- value returned by load_thiskind
-
- * install_steps_interactive.pm (exitInstall): do not call
- install_steps::exitInstall
-
- * install_steps (exitInstall): removed
- * install_steps (END): added (it does ejectCdrom)
-
- * install_steps_interactive.pm (load_thiskind): returns undef if
- error loading a module
-
- * fs.pm (format_part): changed the prototype from $;$@ to $;@
- otherwise, @options always have a value (mostly undef) and mkdosfs
- fails (with "mkdosfs", "/dev/hdXX", undef, "-F", 32)
-
- * install_steps_interactive.pm (setup_thiskind):
- add a $auto_probe_pci that overrules $o->{auto_probe_pci}
- (that way no pci probe the second time)
-
-2000-02-10 François Pons <fpons@mandrakesoft.com>
-
- * heavy modification of build_archive and extract_archive to manage
- a TOC directly in archive file, handle bzip2 or gzip compression,
- extract_archive can extract multiple files a time, with minimal
- invocation of uncompress program and follow symlink and expand
- directory contents.
- * use build_archive/extract_archive for locales.
- * fixed a min/max in install_steps_gtk for Resize/Create partition.
- * fixed adjustEnd with dos partition table, take care of magic 63
- sectors at beginning of partitions, a more solid method should be
- used for that.
-
-2000-02-10 Pixel <pixel@mandrakesoft.com>
-
- * modules.pm (load_thiskind): skip modules "unknown" and "ignore"
-
-2000-02-09 Pixel <pixel@mandrakesoft.com>
-
- * partition_table.pm (add): cdie if maximum number of partitions
- handled by linux is reached
-
- * Xconfigurator.pm (chooseResolutionsGtk): display the graphic
- card or server found
-
- * install_any.pm (relGetFile): for mdkinst files, take care not to
- have a double '/' (see debbugs #591)
-
- * install_steps_interactive.pm (configureNetwork):
- purpose: add ability to configure both modem and lan
- clean up the behaviour
-
- * fs.pm (write_fstab):
- purpose: sort the fstab per mount point (cuz /usr must be before /usr/local)
- also: rewrite of the part writing the fstab.
diff --git a/perl-install/Makefile b/perl-install/Makefile
index d8b9d4d65..0fe946485 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -1,264 +1,93 @@
-PACKAGE=drakxtools
-PKGVERSION:=$(shell rpm -q --qf '%{VERSION}\n' --specfile $(PACKAGE).spec|head -n 1)
-RELEASE:=$(shell rpm -q --qf '%{RELEASE}\n' --specfile $(PACKAGE).spec|head -n 1)
-TAG := $(shell echo "V$(PKGVERSION)_$(RELEASE)" | tr -- '-.' '__')
-
+include ../Makefile.config
include Makefile.config
+PACKAGE = drakxtools
+PKGVERSION = $(VERSION)
+
POFILES = $(shell ls share/po/*.po)
MOFILES = $(POFILES:%.po=%.mo)
-DISTFILES = *.pm $(PMS_DIRS) Makefile Makefile.config apps.net_monitor ddcprobe drakxtools.spec pam.net_monitor serial_probe share/po share/diskdrake.rc $(STANDALONEPMS) standalone/icons pixmaps pixmaps/langs standalone/interactive_http rpcinfo-flushed.c standalone/service_harddrake.sh
OTHERS = $(OTHERDIRS) $(OTHERFILES)
-OTHERDIRS = tools/ddcprobe tools/serial_probe
+OTHERDIRS = tools/serial_probe
OTHERFILES = tools/rpcinfo-flushed.c
-.PHONY: all $(DIRS) install clean stage2 full_stage2
+.PHONY: all $(DIRS) install clean
-all: list_modules.pm TAGS $(DIRS)
+all: TAGS $(DIRS)
-list_modules.pm:
- ln -sf ../kernel/list_modules.pm
+xs: $(DIRS)
TAGS: $(ALLPMS)
- @etags -o - $^ /usr/lib/perl5/*/*/MDK/Common/*.pm | ./perl2etags > $@
+ -etags $^ /usr/lib/perl5/*/*/MDK/Common/*.pm
clean:
- for i in $(DIRS) share/po; do $(MAKE) -C $$i clean; done;:
- rm -rf auto ../drakxtools.tar.bz2 *.bak
+ for i in $(DIRS) share/po install/help/po install/share/po; do $(MAKE) -C $$i clean; done;:
+ rm -rf auto drakxtools*.tar* *.bak
find . -name "*~" -o -name ".#*" -o -name "TAGS" -o -name "*.old" | xargs rm -f
+ rm -rf $(PACKAGE)-$(PKGVERSION)*
-check:
- $(MAKE) -C share/po check
- perl -I. -Mlang -e 'lang::check'
- perl -I. -Mkeyboard -e 'keyboard::check'
+check_pms_encoding:
+ @for i in $(ALLPMS); do charset=ascii; grep -q 'use utf8' $$i && charset=utf8; iconv -f $$charset -t $$charset $$i >/dev/null || { echo "bad $$charset character in $$i"; exit 1; }; done
-localcopy: clean
- rm -rf standalone/pixmaps
- $(MAKE) -C ../tools clean || :
- cd .. ; rm -rf $(PACKAGE)-$(PKGVERSION) ; cp -af perl-install $(PACKAGE)-$(PKGVERSION) ; cp -af $(OTHERS) $(PACKAGE)-$(PKGVERSION)
- cd
- @make nuke_perl
+check_full: check_pms_encoding
+ perl -I. -Mlang -e 'lang::check'
+check2:
+ perl -I. -Mkeyboard -e 'keyboard::check'
$(DIRS):
install -d auto
$(MAKE) -C $@
test_pms:
- perl_checker install2.pm install_steps_gtk.pm install_steps_stdio.pm partition_table/*.pm standalone/{harddrake2,diskdrake,draksec}
+ perl_checker install/install2.pm install/steps_gtk.pm install/steps_stdio.pm partition_table/*.pm standalone/{harddrake2,diskdrake,draksec}
test_pms_all:
- perl_checker --check-unused $(wildcard $(ALLPMS))
+ perl_checker -v --generate-package-dependencies-graph .deps $(ALLPMS)
%.mo: %.po
msgfmt -o $@ $<
-install_pms: $(DIRS)
- for i in `perl -ne 's/sub (\w+?)_?(\(\))? {.*/$$1/ and print' commands.pm` sync; do ln -sf commands $(DEST)/usr/bin/$$i; done
-
- install -d $(DESTREP4PMS)
- find $(DESTREP4PMS) -name "*.pm.gz" | xargs rm -f
- for i in $(PMS); do \
- dest=$(DESTREP4PMS)/`dirname $$i`; \
- install -d $$dest; \
- perl -ne 'print' $$i > $(DESTREP4PMS)/$$i; \
- perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=(head|begin)/ .. /^=cut/) || /use (diagnostics|vars|strict)/' $$i > $(DESTREP4PMS)/$$i; \
- done
- if [ "x$(PERL_INSTALL_DEBUG)" == "x" ]; then \
- perl -pi -e 's|#!/usr/bin/perl -d.*\n|#!/usr/bin/perl\n|' $(DESTREP4PMS)/install2; \
- else \
- perl -pe 's|#!/usr/bin/perl.*\n|#!/usr/bin/perl -d \n|' install2 > $(DESTREP4PMS)/install2; \
- fi \
-
- rm -f $(DESTREP4PMS)/{bootlook,tinyfirewall}.pm
-
- cp share/*.rc $(DESTREP4PMS)
- chmod a+x $(DESTREP4PMS)/install2
- chmod a+x $(DESTREP4PMS)/commands
- chmod a+x $(DESTREP4PMS)/g_auto_install
- chmod a+x $(DESTREP4PMS)/live_install*
-
-get_needed_files: $(DIRS) $(MOFILES)
- $(MAKE) -C share
-
- @if rpm -q XFree86-VGA16 | grep -q 29mdk; then echo "XFree86-VGA16 29mdk is bad, downgrade to 28mdk" ; exit 1 ; fi
-
-# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > /tmp/list ' $(PERL) -d install2 < /dev/null
- eval `perl -V:version`; \
- cat share/list `../tools/specific_arch share/list` | \
- perl -pe "s/ARCH/$(ARCH)/g ; s/PERL_VERSION/$$version/g ; s|/LIB/|/$(LIB)/|g " | \
- perl -lpe '@l = glob; !m|\*.*/| || @l == 1 and $$_ = join("\n", @l)' > /tmp/list
- rpm -ql perl-Gtk2 perl-Glib | grep '^/usr/lib/perl5' >> /tmp/list
-
- @missing=`perl -lne 'print if !-e $$_' /tmp/list`; [ -z "$$missing" ] || { echo "missing or multiple files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing" ; echo "missing or multiple files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
-
- find auto -follow -name "*.so" >> /tmp/list
-
- for i in $(LOCALFILES) `cat /tmp/list` ; do \
- ldd $$i 2>/dev/null | grep "=>" | perl -pe 's/.*=> //; s/ .*//; s,^/lib/.*?/,/lib/,' | sort | uniq >> /tmp/list; \
- done
-
- perl -Mlang -I. -e 'print "$$_\n" foreach lang::console_font_files()' >> /tmp/list
-
- install -d $(DEST)/etc
- install -d $(DEST)/etc/sysconfig/network-scripts
- install -d $(DEST)/lib
- install -d $(DEST)/$(LIB)
- install -d $(DEST)/bin
- install -d $(DEST)/usr/bin
- install -d $(DEST)/usr/lib
- install -d $(DEST)/usr/$(LIB)
- install -d $(DEST)/usr/share
- install -d $(DEST)/usr/share/gtk
- install -d $(DEST)/usr/share/xmodmap
- install -d $(DEST)/usr/X11R6/lib/X11
- install -d $(ROOTDEST)/Mandrake/base
- install -s $(LOCALFILES) $(DEST)/usr/bin
-# cp -f $(LOCALFILES2) $(DEST)/usr/bin
- ln -s ../X11R6/lib/X11 $(DEST)/usr/lib/X11
-ifeq (sparc,$(ARCH))
- cp -a /usr/X11R6/lib/X11/xkb $(DEST)/usr/X11R6/lib/X11
- rm -f $(DEST)/usr/X11R6/lib/X11/xkb/compiled
- ln -s /tmp $(DEST)/usr/X11R6/lib/X11/xkb/compiled
- ln -s /usr/X11R6/lib/X11/xkb/xkbcomp $(DEST)/usr/bin/xkbcomp
-endif
-ifeq (i386,$(ARCH))
- install -s /sbin/cardmgr $(DEST)/usr/bin
-endif
-
- for i in `cat /tmp/list`; do \
- if (echo $$i | grep -q "lib/[^/]*\.so"); then \
- install -s $$i $(DEST)/lib; \
- elif (echo $$i | grep -q "lib64/[^/]*\.so"); then \
- install -s $$i $(DEST)/lib64; \
- else \
- d=$$i; \
- (echo $$d | grep -q "^[^/]") && d="$(REP4PMS)/$$d"; \
- d=`echo $(DEST)/$$d | sed 's/\/usr\/local\//\/usr\//'`; \
- install -d `dirname $$d` && \
- if (echo $$i | grep -q "\.pm"); then \
- perl -pe '$$_ =~ /^__END__/ and exit(0);' $$i > $$d; \
- elif (echo $$i | grep -q "\.so"); then \
- install -s $$i $$d; \
- else \
- cp -f $$i $$d; \
- fi; \
- fi; \
- done
- perl -pi -e 's/\s*use\s+(warnings|diagnostics|vars|strict).*//g' $(DEST)/usr/*/*/*/utf8_heavy.pl
-
- mv -f $(DEST)/bin/* $(DEST)/sbin/* $(DEST)/usr/bin
- cd $(DEST)/usr/bin ; mv insmod insmod_
- rmdir $(DEST)/bin $(DEST)/sbin
-
- perl -ane 'symlink "$$F[1]", "$(DEST)/usr/bin/$$F[0]"' share/aliases
-
-ifeq (i386,$(ARCH))
- cp ../tools/i386/busybox $(DEST)/usr/bin
-endif
-ifeq (x86_64,$(ARCH))
- cp ../tools/x86_64/busybox $(DEST)/usr/bin/
-endif
-ifeq (ia64,$(ARCH))
- ln -sf bash $(DEST)/usr/bin/sh
-else
- ln -sf ash $(DEST)/usr/bin/sh
-endif
-
- for i in fonts keyboards locales keymaps; do tar xfj `../tools/specific_arch share/$$i.tar.bz2` -C $(DEST); done
+install_pms stage2 full_stage2:
+ make -C install $@
- grep ChangeLog CVS/Entries > $(DEST)/usr/share/VERSION
+mo_files : $(MOFILES)
- gzip -9f $(DEST)/usr/share/ldetect-lst/*
+# rules to build tarball
+dist: tar
- cd share ; cp -a consolefonts $(DEST)/usr/share
- -cd share ; cp -f *.png $(DEST)/usr/share
- -cd pixmaps ; cp -af *.png *.xpm langs $(DEST)/usr/share ; rm -f $(DEST)/usr/share/wiz_*
- unneeded=`perl -I. -Mlang -e 'lang::get_unneeded_png_lang_files'`; cd $(DEST)/usr/share; rm -f $$unneeded
- cd share ; cp compssUsers compssUsers.* rpmsrate $(ROOTDEST)/Mandrake/base
-
- clean-rpmsrate $(ROOTDEST)/Mandrake/base/rpmsrate $(ROOTDEST)/Mandrake/RPMS*
-
- for i in ../kernel/modules.description ../kernel/all.modules/modules.cz*; do cp -f $$i $(DEST)/lib/; done
-
- $(MAKE) -C share/po install NAME=libDrakX LOCALEDIR=$(DEST)/usr/share/locale_special
-
-# ar and fa are disabled as arabic font doesn't work on install
-# ga and sl are disabled because too few messages are translated
- rm -rf $(DEST)/usr/share/locale_special/{ar,fa,ga,sl}
-
-# echo -e '#!/bin/sh\n\nexec "/usr/bin/sh"' > $(DEST)/usr/bin/runinstall2
-# chmod a+x $(DEST)/usr/bin/runinstall2
-
-ifeq (i386,$(ARCH))
- cp -a /etc/pcmcia $(DEST)/etc
- ../tools/patch_pcmcia_config.pl $(DEST)/etc/pcmcia/config ../kernel/all.modules/`cat ../kernel/all.kernels/.main`/modules.dep
-endif
-
- find $(DEST) -name CVS | xargs rm -rf
-
-full_stage2:
- if [ `id -u` = 0 ]; then rm -rf $(DEST); else $(SUDO) rm -rf $(DEST); fi
- mkdir -p $(DEST)
- $(MAKE) get_needed_files
- $(MAKE) stage2
-
-stage2:
- $(MAKE) install_pms
- find $(DEST)/usr -name "*.pm" | xargs gzip -9f
- cd $(DEST)/usr/lib/perl5 ; gunzip 5.*/{PerlIO,Exporter}.pm.gz 5.*/*-linux-thread-multi/{XSLoader,lib}.pm.gz vendor_perl/*/*-linux-thread-multi/PerlIO/gzip.pm.gz
- $(ROOTDEST)/misc/make_mdkinst_stage2 $(DEST) $(ROOTDEST)/Mandrake/base/mdkinst_stage2
-
-# rules to build a test rpm
-
-localrpm: localdist buildrpm
-
-localsrpm: spec_test localdist buildsrpm
-
-srpm: spec_test cvstag localsrpm
-
-localdist: cleandist localcopy tar
-
-cleandist:
- rm -rf ../$(PACKAGE)-$(PKGVERSION) ../$(PACKAGE)-$(PKGVERSION).tar.bz2
-
-spec_test:
- @if [[ -z "$(PKGVERSION)" ]]; then echo "unable to get spec version"; exit 3;fi
- @if [[ -z "$(RELEASE)" ]]; then echo "unable to get spec release"; exit 2;fi
-
-tar:
- cd ../$(PACKAGE)-$(PKGVERSION) && perl -pi -e 's/^C_RPM.*/C_RPM=0/; s/^C_DRAKX.*/C_DRAKX=0/' c/Makefile
- cd ../$(PACKAGE)-$(PKGVERSION) && perl -pi -e 's/^all: help/all:/' share/po/Makefile
- cd ../$(PACKAGE)-$(PKGVERSION) && rm -rf install* pkgs.pm help.pm ftp.pm http.pm crypto.pm t.pm debug.log `find -name CVS`
- cd ../$(PACKAGE)-$(PKGVERSION) && mv -f Makefile.drakxtools Makefile
- cd ../$(PACKAGE)-$(PKGVERSION) && rm -f list_modules.pm && cp -f ../kernel/list_modules.pm .
- cd ..; tar cfj $(PACKAGE)-$(PKGVERSION).tar.bz2 $(patsubst %,$(PACKAGE)-$(PKGVERSION)/%,$(DISTFILES))
- cd ..; rm -rf $(PACKAGE)-$(PKGVERSION)
-
-buildrpm:
- rpm -ta ../$(PACKAGE)-$(PKGVERSION).tar.bz2
+tar: clean
+ rm -rf $(PACKAGE)*.tar* $(PACKAGE)-$(PKGVERSION)
+ mkdir -p $(PACKAGE)-$(PKGVERSION)/tools
+ (cd ..; git archive HEAD "perl-install/" $(OTHERS) kernel/list_modules.pm Makefile.config) | tar xC $(PACKAGE)-$(PKGVERSION)
+ rm -rf $(PACKAGE)-$(PKGVERSION)/perl-install/{install,unused,list_modules.pm}
+ cp -f ../kernel/list_modules.pm $(PACKAGE)-$(PKGVERSION)/perl-install
+ cd $(PACKAGE)-$(PKGVERSION)/perl-install ; mv -f Makefile.drakxtools Makefile
+ @make nuke_perl
+ tar cfa $(PACKAGE)-$(PKGVERSION).tar.xz $(PACKAGE)-$(PKGVERSION)
+ rm -rf $(PACKAGE)-$(PKGVERSION)
+ $(info $(PACKAGE)-$(PKGVERSION).tar.xz is ready)
-buildsrpm:
- rpm -ts --nodeps ../$(PACKAGE)-$(PKGVERSION).tar.bz2
+tag:
+ git tag -a $(VERSION) -m "$(VERSION)"
# rules to build a distributable rpm
-rpm: cvstag dist buildrpm
+nuke_perl:
+ find $(PACKAGE)-$(PKGVERSION)/perl-install -name '*.pm' | xargs ../tools/simplify-drakx-modules
+ find $(PACKAGE)-$(PKGVERSION)/perl-install/standalone -type f | xargs ../tools/simplify-drakx-modules
-slowsrpm: spec_test cvstag dist buildsrpm
+# [pixel] for my grep looking for any .pm files
+pixel_standalone_links:
+ rm -rf .standalone_apps.swa
+ mkdir .standalone_apps.swa
+ for i in $(STANDALONEPMS_); do ln -sf ../standalone/$$i .standalone_apps.swa/$$i.pm; done
-dist: cleandist export tar
+check_perl_checker:
+ rm -f share/po/libDrakX.pot install/share/po/DrakX.pot
+ @make -C share/po libDrakX.pot
+ @make -C install/share/po DrakX.pot
-export:
- cd ..; cvs export -d $(PACKAGE)-$(PKGVERSION) -r $(TAG) $(PACKAGE)
- cd ../$(PACKAGE)-$(PKGVERSION) && rm -rf $(OTHERDIRS) && set -x && for f in $(OTHERDIRS); do cvs -d `cat ../CVS/Root` export -r $(TAG) -d `basename $$f` gi/$$f; done
- cd ..; set -x && for f in $(OTHERFILES); do cvs -d `cat ../CVS/Root` export -r $(TAG) -d $(PACKAGE)-$(PKGVERSION) gi/$$f; done
- @make nuke_perl
+list_firmwares.pm:
+ ../tools/find-drivers-needing-nonfree-firmware
-cvstag:
- cvs tag $(CVSTAGOPT) $(TAG)
- cd ..; cvs tag $(CVSTAGOPT) $(TAG) $(OTHERS)
-
-nuke_perl:
- find ../$(PACKAGE)-$(PKGVERSION) -name '*.pm' | xargs perl -pi -e 's/\s*use\s+(diagnostics|vars|strict).*//g'
- find ../$(PACKAGE)-$(PKGVERSION)/standalone -type f | xargs perl -pi -e 's/\s*use\s+(diagnostics|vars|strict).*//g'
+.PHONY: list_firmwares.pm
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
index 082e21b79..b522c643e 100644
--- a/perl-install/Makefile.config
+++ b/perl-install/Makefile.config
@@ -1,31 +1,20 @@
# -*- Makefile -*-
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
+VERSION:=18.69
-ifeq (x86_64, $(ARCH))
-LIB = lib64
-else
-LIB = lib
-endif
-
-VERSION = 2.2.10-BOOT
SUDO = sudo
-SO_FILES = c/blib/arch/auto/c/c.so
-PMS_DIRS = Newt Xconfig c diskdrake harddrake interactive modules network partition_table printer resize_fat sbus_probing security
-PMS = *.pm $(PMS_DIRS:%=%/*.pm) commands install2 g_auto_install live_install2
-STANDALONEPMS_ = XFdrake adduserdrake diskdrake drakTermServ drakautoinst drakauth drakbackup drakboot drakbug drakbug_report drakconnect drakedm drakfirewall drakfloppy drakfont drakgw drakhelp drakperm drakproxy drakpxe draksec draksound draksplash drakupdate_fstab drakxservices drakxtv fileshareset harddrake2 keyboarddrake livedrake localedrake logdrake lsnetdrake mousedrake net_monitor printerdrake scannerdrake service_harddrake
+TMPDIR = /tmp
+SO_FILES = c/blib/arch/auto/c/c.so
+
+# PMS_DIRS is used only in drakxtools
+PMS_DIRS = c diskdrake harddrake interactive modules partition_table resize_fat security fs fs/remote
+
+PMS = *.pm $(PMS_DIRS:%=%/*.pm) install/*.pm install/help/*.pm install/commands install/install2
+STANDALONEPMS_ = adduserdrake bootloader-config display_help display_release_notes.pl diskdrake drakauth drakautologin drakboot drakbug drakbug_report drakclock drakedm drakdvb drakfont drakhelp drakperm draksec draksound drakupdate_fstab drakups drakxservices drakxtv fileshareset finish-install harddrake2 localedrake logdrake lsnetdrake notify-x11-free-driver-switch remove-unused-packages scannerdrake service_harddrake service_harddrake_confirm
STANDALONEPMS = $(STANDALONEPMS_:%=standalone/%)
-ALLPMS = $(PMS) $(STANDALONEPMS) share/advertising/*.pl
-REP4PMS = /usr/bin/perl-install
-ROOTDEST = /export
-DEST = $(ROOTDEST)/Mandrake/mdkinst
-STAGE2 = $(ROOTDEST)/Mandrake/base/mdkinst_stage2
-BASE = $(ROOTDEST)/Mandrake/base
-DESTREP4PMS = $(DEST)$(REP4PMS)
+ALLPMS = $(PMS) $(STANDALONEPMS)
PERL = perl
-LOCALFILES = $(patsubst %, ../tools/%,ddcprobe/ddcxinfos serial_probe/serial_probe xhost+)
-DIRS = c Newt resize_fat #po
+LOCALFILES = $(patsubst %, ../tools/%,serial_probe/serial_probe)
+DIRS = c resize_fat #po
CFLAGS = -Wall
override CFLAGS += -pipe
-
diff --git a/perl-install/Makefile.drakxtools b/perl-install/Makefile.drakxtools
index 5fa0aafe9..431f3a85d 100644
--- a/perl-install/Makefile.drakxtools
+++ b/perl-install/Makefile.drakxtools
@@ -1,10 +1,14 @@
# -*- Makefile -*-
include Makefile.config
-INLIBDEST_DIRS = Newt c resize_fat sbus_probing
-HAVEINST_DIRS = share/po standalone/interactive_http
-DIRS = $(INLIBDEST_DIRS) $(HAVEINST_DIRS) ddcprobe harddrake printer serial_probe
+.PHONY: install
+
+INLIBDEST_DIRS = c resize_fat
+HAVEINST_DIRS = share/po standalone/po standalone/interactive_http standalone/menu standalone/polkit
+DIRS = $(INLIBDEST_DIRS) $(HAVEINST_DIRS) harddrake ../tools/serial_probe
NAME = libDrakX
+XSETUPLEVEL=40
+XSETUPLEVEL_HARDDRAKE=00
PREFIX =
LIBDIR = $(PREFIX)/usr/lib
MENUDIR= $(LIBDEST)/menu
@@ -12,43 +16,61 @@ DATADIR = $(PREFIX)/usr/share
ICONSDIR= $(DATADIR)/icons
BINDEST = $(PREFIX)/usr/bin
SBINDEST = $(PREFIX)/usr/sbin
+LIBEXECDEST = $(PREFIX)/usr/libexec
ETCDEST = $(PREFIX)/etc/gtk
-BINX11DEST = $(PREFIX)/usr/X11R6/bin
-LIBX11DEST = $(PREFIX)/usr/X11R6/lib/X11
LIBDEST = $(LIBDIR)/$(NAME)
PIXDIR = $(DATADIR)/$(NAME)/pixmaps
INITDIR = $(PREFIX)/etc/rc.d/init.d
.PHONY: $(DIRS)
-all: rpcinfo-flushed $(DIRS)
+all: ../tools/rpcinfo-flushed $(DIRS)
$(DIRS):
install -d auto
- rm -f share/po/DrakX.pot # force rebuild of po's
[ ! -e $@/Makefile ] || $(MAKE) -C $@
install:
- mkdir -p $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR)/{harddrake,pixmaps,icons/{large,mini}} $(BINX11DEST) $(LIBX11DEST) $(PIXDIR) $(INITDIR) $(MENUDIR)
+ perl -pi -e "s/\"VER\"(; # version)/\"$(VERSION)\"\1/" standalone.pm
+ mkdir -p $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR)/{applications,harddrake,pixmaps,icons/{large,mini},autostart} $(PIXDIR) $(INITDIR) $(MENUDIR) $(LIBEXECDEST)
install -d $(INLIBDEST_DIRS:%=$(LIBDEST)/%)
- install $(STANDALONEPMS) standalone/service_harddrake.sh $(SBINDEST)
- install -s rpcinfo-flushed ddcprobe/ddcxinfos serial_probe/serial_probe $(SBINDEST)
- ln -s ../../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres
+ install $(STANDALONEPMS) standalone/convert $(SBINDEST)
+ install -s ../tools/rpcinfo-flushed ../tools/serial_probe/serial_probe $(SBINDEST)
ln -s fileshareset $(SBINDEST)/filesharelist
mv -f $(SBINDEST)/lsnetdrake $(BINDEST)
mv -f $(SBINDEST)/drakbug $(BINDEST)
+ mv -f $(SBINDEST)/drakdvb $(BINDEST)
mv -f $(SBINDEST)/drakhelp $(BINDEST)
+ mv -f $(SBINDEST)/display_help $(BINDEST)
+ mv -f $(SBINDEST)/display_release_notes.pl $(BINDEST)
mv -f $(SBINDEST)/localedrake $(BINDEST)
+ # All the things handled by polkit
+ mv -f $(SBINDEST)/drak{autologin,auth,boot,clock,font,perm,sec,ups,xservices} $(LIBEXECDEST)
+ mv -f $(SBINDEST)/logdrake $(LIBEXECDEST)/draklog
+ mv -f $(SBINDEST)/drakedm $(LIBEXECDEST)/drakdm
+ mv -f $(SBINDEST)/harddrake2 $(LIBEXECDEST)/drakhardware
+ mv -f $(SBINDEST)/scannerdrake $(LIBEXECDEST)/drakscanner
+ # diskdrake is called by the drakdisk wrapper
+ mv -f $(SBINDEST)/diskdrake $(LIBEXECDEST)
+ install -D standalone/drakdisk $(LIBEXECDEST)
+
install -m 644 *.pm $(LIBDEST)
for i in $(PMS_DIRS); do install -d $(LIBDEST)/$$i ; install -m 644 $$i/*.pm $(LIBDEST)/$$i/;done
install -m 644 pixmaps/*.* $(PIXDIR)
- install -m 644 share/diskdrake.rc $(DATADIR)/$(NAME)
+ install -m 644 share/*.rc $(DATADIR)/$(NAME)
+ install -m 644 share/*.css $(DATADIR)/$(NAME)
install -d $(PREFIX)/etc/security
echo 'RESTRICT=yes' > $(PREFIX)/etc/security/fileshare.conf
+ install -D standalone/drakdoc $(BINDEST)/
+ install -D standalone/finish-install.xsetup $(PREFIX)/etc/X11/xsetup.d/$(XSETUPLEVEL)finish-install.xsetup
+ install -D standalone/notify-x11-free-driver-switch.xsetup $(PREFIX)/etc/X11/xsetup.d/$(XSETUPLEVEL_HARDDRAKE)notify-x11-free-driver-switch.xsetup
+ install -d $(PREFIX)/etc/sysconfig
+ echo 'FINISH_INSTALL=yes' > $(PREFIX)/etc/sysconfig/finish-install
+
for i in $(HAVEINST_DIRS); do \
- $(MAKE) -C $$i install PREFIX=$(PREFIX) DATADIR=$(DATADIR) NAME=$(NAME) ; \
+ $(MAKE) -C $$i install PREFIX=$(PREFIX) SUDO= DATADIR=$(DATADIR) ; \
done
find auto -follow -name .exists -o -name "*.bs" | xargs rm -f
@@ -56,7 +78,31 @@ install:
mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu32.png $(ICONSDIR)/harddrake.png
mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu48.png $(ICONSDIR)/large/harddrake.png
mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu16.png $(ICONSDIR)/mini/harddrake.png
- rmdir $(LIBDEST)/icons/harddrake2/menu
+ mv $(LIBDEST)/icons/localedrake-32.png $(ICONSDIR)/localedrake.png
+ mv $(LIBDEST)/icons/localedrake-48.png $(ICONSDIR)/large/localedrake.png
+ mv $(LIBDEST)/icons/localedrake-16.png $(ICONSDIR)/mini/localedrake.png
+ rm -rf $(LIBDEST)/icons/harddrake2/menu
+ install -m 644 standalone/menu/*.desktop $(DATADIR)/applications
mv $(LIBDEST)/icons/harddrake2/ $(DATADIR)/pixmaps/
- mv $(SBINDEST)/service_harddrake.sh $(INITDIR)/harddrake
+ mv $(SBINDEST)/convert $(DATADIR)/harddrake
mv $(SBINDEST)/service_harddrake $(DATADIR)/harddrake/
+ mv $(SBINDEST)/notify-x11-free-driver-switch $(DATADIR)/harddrake/
+ # Better public names
+ mv $(BINDEST)/localedrake $(BINDEST)/draklocale
+ # Compatibility names/links
+ # (ideally everything would be in /usr/bin...)
+ ln -s ../bin/drakdm $(SBINDEST)/drakedm
+ ln -s ../bin/drakdisk $(SBINDEST)/diskdrake
+ ln -s ../bin/drakhardware $(SBINDEST)/harddrake2
+ ln -s ../bin/drakscanner $(SBINDEST)/scannerdrake
+ ln -s drakclock $(BINDEST)/clock.pl
+ ln -s draklocale $(BINDEST)/localedrake
+ ln -s draklog $(BINDEST)/logdrake
+
+check:
+ rm -f share/po/libDrakX.pot standalone/po/libDrakX-standalone.pot
+ @make -C share/po libDrakX.pot
+ @make -C standalone/po libDrakX-standalone.pot
+
+../tools/rpcinfo-flushed:
+ cd ../tools; gcc -Wall $(shell pkg-config libtirpc --cflags --libs) rpcinfo-flushed.c -o rpcinfo-flushed
diff --git a/perl-install/NEWS b/perl-install/NEWS
new file mode 100644
index 000000000..22339bd87
--- /dev/null
+++ b/perl-install/NEWS
@@ -0,0 +1,4397 @@
+- use task-plasma-minimal instead of task-plasma5-minimal
+- fix bugs in any::sessions() (mga#33738)
+
+Version 18.69 - 07 June 2025
+- Updated translations
+- drakautologin now detects and manage Wayland sessions (mga#33738)
+- bytes_heavy.pl was merged into bytes.pm
+- Agafari-16 console font support was dropped from kbd
+- fix glob for svg pixbuf loader
+- Don't use mdadm --chunk option when creating level 1 RAID (mga#33767)
+- Detect legacy (non-PCI) Intel SST audio DSP devices (mga#33145)
+- install rpm's /usr/lib/rpm/sysusers.sh to stage2 image by default
+- Drop i586 bits
+
+Version 18.68 - 28 April 2024
+- Updated translations
+
+Version 18.67 - 5 January 2024
+
+- Updated translations
+
+Version 18.66 - 19 August 2023
+
+Version 18.65 - 11 July 2023
+
+- diskdrake: remove deprecated GtkPaned:handle-size style property (mga#32063)
+- add ntfs3 to isFat_or_NTFS()
+- sync list of modules needing firmware with kernel-desktop-6.4.2-2.mga9
+- Sync list_modules with kernel 6.4
+
+Version 18.64 - 24 June 2023
+
+- Updated translations
+
+Version 18.63 - 6 June 2023
+
+- rescue: mount efivars in chroot on UEFI systems (mga#31844)
+- Updated translations
+- Fix total_memory() by using sysinfo()
+- Add nvidia-newfeature.ko to nvidia modules supported list
+- drakclock: set to checked if ntpd is started.
+
+Version 18.62 - 28 April 2023
+
+- Update file list for changes in Adwaita icon locations
+
+Version 18.61 - 28 April 2023
+
+- service_harddrake: add nvidia470.ko to nvidia driver module list
+- Updated translations
+
+Version 18.60 - 17 April 2023
+
+- Manage isodumper with draksec
+- Updated translations
+
+Version 18.59 - 14 April 2023
+
+- Don't force pavucontrol when there is already pavucontrol-qt in plasma-desktop enviroment
+- Updated translations
+
+Version 18.58 - 8 April 2023
+
+- Modify draksound GUI to add support for switching to pipewire.
+
+Version 18.57 - 29 March 2023
+
+- Recognize new kernel 6.0 drivers
+- Updated translations
+
+Version 18.56 - 9 February 2023
+
+- update list of kernel modules needing firmware
+- Recognize new kernel 5.19 drivers
+- Recognize new kernel 6.0 drivers
+- Recognize new kernel 6.1 drivers
+
+Version 18.55 - 18 January 2023
+
+- diskdrake: fix partitions not being displayed initially on systems with a
+ single disk (mga#31396)
+
+Version 18.52 - 3 December 2022
+
+- run_program:
+ o add optional callback when waiting for program to terminate
+ * this allows GUI applications to respond to check-alive pings (mga#31105)
+ o add helper routine to terminate/kill a process
+- make installer routines for selecting a mirror and downloader available
+ for use by draklive-install
+- use better algorithm for determining nearest mirror (uses urpmi::mirrors)
+- finish-install:
+ o when renaming a user, update the name in any network config files
+ o detect and adapt to systems using NetworkManager
+- updated translations
+
+Version 18.51 - 29 October 2022
+
+- drakboot: ensure efivars are mounted before installing a UEFI bootloader (mga#31008)
+
+Version 18.50 - 17 September 2022
+
+- drakboot: add options to change the rEFInd background (mga#28073)
+
+Version 18.49.1 - 9 June 2022
+
+- lsnetdrake: do not crash if nmap or nmblookup are not installed (mga#12579)
+
+Version 18.49 - 8 June 2022
+
+- Recognize new kernel 5.17 drivers
+- Recognize new kernel 5.18 drivers
+
+Version 18.45 - 21 February 2021
+
+- Fix step-categories color to make it visible in the installer (mga#28375)
+- updated translations
+
+Version 18.43 - 31 January 2021
+
+- updated translations
+- drakboot: don't remove os-prober before user makes choice (mga#28223)
+
+Version 18.42 - 26 January 2021
+
+- updated translations
+- when running monitor-edid, don't use --try-in-console as
+ it can cause a GNOME session to die (mga#28124)
+- prefer using UUID for mmcblk and nvme devices (mga#28111)
+- service_harddrake:
+ o support switching between free and proprietary drivers when
+ using Live ISOs with persistence
+
+Version 18.40 - 11 January 2021
+
+- updated translations
+- drakbug_report:
+ o fail quietly when trying journalctl for system log
+- fix handling of TYPE"64bit" flags when reading rpmsrate
+- Fix syntax of 51-mageia-resume.conf (mga#28055)
+
+Version 18.39 - 04 January 2021
+
+- translations update
+
+Version 18.38 - 29 December 2020
+
+- drakboot:
+ o fix false detection of GRUB2 when installed in ESP but not in /boot (mga#27816)
+ o add option to configure rEFInd to not use EFI NVRAM (mga#27838)
+- diskdrake:
+ o fix adding parts to extended partition on hybrid ISO (mga#27862)
+ o erase iso9660 signature when clearing hybrid ISO disk (mga#27864)
+ o restrict line length when displaying base device info
+ to avoid excessive window expansion (mga#27882)
+- drakbug_report:
+ o also try journalctl for system log
+ o include draklive-install.log
+
+Version 18.37 - 5 December 2020
+
+- recognize more rtw88_*
+- recognize new kernel 5.10 drivers
+
+Version 18.36 - 25 November 2020
+
+- fix compiling tools/rpcinfo-flushed with glibc-2.32
+
+Version 18.35 - 20 November 2020
+
+- diskdrake:
+ o fix crash when a mdadm RAID array has been created outside diskdrake using
+ raw devices (mga#26707)
+- remove-unused-packages:
+ o disable timeout - it can corrupt the rpm database (mga#27580)
+- drakhardware:
+ o fix hardware support package detection (mga#27122)
+
+Version 18.34 - 14 September 2020
+
+- drakservices:
+ o include systemd sockets and timers
+- drakscanner:
+ o fix enabling saned (systemd socket, not xinetd)
+- drakboot:
+ o keep timeout value when it's 0 (mga#27158)
+- recognize new kernel 5.9 drivers
+
+Version 18.33 - 19 August 2020
+
+- fix failure to update grub2 config when service_harddrake attempts to
+ add/remove the nokmsboot option
+- add --plain to systemctl list-units, else it adds some characters at
+ the beginning of the line since systemd 246 (mga#27046)
+- recognize new kernel 5.5 - 5.8 drivers
+
+Version 18.32 - 27 June 2020
+
+- diskdrake: fix a crash when a disk has a filesystem directly without a
+ partition table (mga#26849)
+- drakboot:
+ o detect GRUB2 if it is installed in \EFI\BOOT
+ o fix switching between GRUB2 and rEFInd when installed in \EFI\BOOT
+
+Version 18.31 - 18 June 2020
+
+- drakboot: add option to install GRUB2 bootloader in \EFI\BOOT (mga#24282)
+- diskdrake: remove partition from /etc/crypttab when deleted (mga#25891)
+
+Version 18.28 - 29 May 2020
+
+- drakboot: don't die in write_grub2 if grub.cfg doesn't exist (mga#26676)
+- translation updates
+
+Version 18.27.1 - 8 May 2020
+
+- bootloader:
+ fix typo x86 -> x64 for matching 64bit grub2-efi(x86-64)
+
+Version 18.27 - 1 May 2020
+
+- diskdrake:
+ o it's now possible to set labels on exfat
+- drakboot:
+ o do not try to enable non existing acpi service
+ o rename /boot/efi as /boot/EFI if needed (mga#22395)
+- fix services::running_systemd()
+- service_harddrake: recognise noxconf boot command line option
+ (disables creation of xorg.conf, allowing X server to configure itself)
+- cache results from detect_devices::getInputDevices()
+ (significantly speeds up service_harddrake, and hence Live ISO boot)
+
+Version 18.26 - 20 March 2020
+
+- diskdrake:
+ o add minimal support for exFAT
+- drakboot: copy instead of renaming grub.cfg (mga#25542)
+- remove no more existing modules from various/crypto
+ (so that rescue system display less "module xxx not found")
+
+Version 18.25 - 18 March 2020
+
+- update list for modules needing firmware
+- recognize new kernel 5.2 - 5.5 drivers
+- diskdrake:
+ o add support for F2FS
+ o enable to inspect NILFS2 formated partitions
+ o enable to resize NILFS2
+ o enable to resize XFS even if not on LVM
+ o enhanced internal doc
+ o make reformating nilfs2 fses to work
+ o support adding partitions to Live ISOs on USB sticks (mga#25224)
+- drakfont:
+ o don't crash when fonts.cache-1 to delete doesn't exist anymore (mga#21086)
+- drakboot: initial support for setting up uefi on aarch64
+
+Version 18.21 - 23 June 2019
+
+- update left-background for Mageia 7 final
+
+Version 18.20 - 18 June 2019
+
+- translation updates
+- update list for modules needing firmware
+- recognize 8821ce (mga#24605)
+
+Version 18.18 - 20 May 2019
+
+- translation updates
+
+Version 18.17 - 12 May 2019
+
+- drakautologin: add new functions get_session_file and get_session_file_with_extension
+
+Version 18.16 - 11 May 2019
+
+- Mageia 7 Artwork
+- drakautologin: add session support for lightdm
+- update list of modules needing firmware
+
+Version 18.15 - 3 May 2019
+
+- recognize new kernel 5.1 drivers
+
+Version 18.13 - 21 April 2019
+
+- diskdrake: speed up partition table read and write (mga#15752)
+- localedrake: store country code in /etc/locale.conf (mga#24671)
+- diskdrake: fix resize of encrypted partitions (mga#22032)
+- translation updates
+
+Version 18.11 - 16 March 2019
+
+- recognize new kernel 5.0 drivers
+- translation updates
+
+Version 18.10 - 3 Feb 2019
+
+- translation updates
+
+Version 18.9 - 17 Dec 2018
+
+- drakboot:
+ o only prefer rEFInd if it is installed in the root fs (mga#23944)
+ o support 32-bit UEFI with 64-bit O/S
+- desktop kernels are now PAE, for PTI security fixes to work properly,
+ so if cpu is not supporting it, install the desktop586 kernel
+- translation updates
+
+Version 18.7 - 27 Nov 2018
+
+- drakdm: fix DM preference when none is selected (don't default to XDM)
+- fix some DE name/capitalisation inconsistencies (mga#23634 + others)
+
+Version 18.5 - 19 Nov 2018
+
+- recognize new kernel 4.1[89] drivers
+
+Version 18.4 - 4 Nov 2018
+
+- adapt drakdm and set_autologin for display-manager service, not prefdm (mga#22593)
+- translation updates
+
+Version 18.3 - 12 Oct 2018
+
+- drakboot:
+ o handle extra white space when reading rEFInd config file
+ o don't simplify label when writing rEFInd config file
+
+Version 18.2 - 5 Oct 2018
+
+- drakboot:
+ o add support for the rEFInd boot manager (mga#15153)
+ o include the "Mageia" entry in the gub2 Default choices (mga#23393)
+- mdadm raid:
+ o raid10 can be created with just 2 disks as a high-performance raid1
+ o raid10: use layout f2 with 2 disks for performance
+ o raid6 can be used with 3 disks and up
+- finish-install: remove current media before adding online media (mga#19742)
+- recognize smartpqi driver (mga#23305)
+- service_harddrake: recognize new nvidia390 driver
+
+Version 17.98 - 22 June 2018
+
+- recognize new kernel 4.1[5-7] drivers
+
+Version 17.97 - 5 June 2018
+
+- harddrake2:
+ o don't list HDA "input" devices as keyboards (mga#9986)
+- drakboot:
+ o read/write extlinux.conf in U-Boot backend for ARM
+ o build initrd for ARM arch
+ o create /usr/lib/linux symlink for devicee tree files
+ o add specific boot options for Raspberry Pi serial console, I/O scheduler, CMA
+
+Version 17.96 - 13 March 2018
+
+- drakboot: detect 32-bit UEFI GRUB2 bootloader when probing
+- remove leftover debug message when listing systemd services
+- translation updates
+
+Version 17.95 - 10 February 2018
+
+- recognize more new kernel-4.14 drivers
+
+Version 17.93 - 19 January 2018
+
+- bootloader:
+ o Combine bootloader perImageAppend and default_append keys
+ (mga#21263, mga#21250)
+ o Fix drakboot video mode selection when using grub2 (mga#21246)
+ o Fix parsing of grub2 menu entries to support 16-bit mode (mga#21247).
+- diskdrake:
+ o ensure device major/minor numbers are reread after writing the
+ partition table (mga#22032)
+- iwlwifi-agn-ucode is renamed to iwlwifi-firmware (mga#22316)
+- update list of modules needing firmware
+- sync with kernel 4.14
+
+Version 17.90 - 18 September 2017
+
+- drakboot:
+ o better read back config
+ o fix undefined labels when eg: Xen is installed (mga#19014)
+ drakboot crashed with "undefined value for mandatory argument 'text''
+
+Version 17.88 - 7 July 2017
+
+- translation updates
+
+Version 17.85 - 22 June 2017
+
+- don't overwrite custom grub2 settings when updating (mga#20596)
+- recognize 8812au (mga#21043)
+
+Version 17.84 - 5 June 2017
+
+- translation updates
+
+Version 17.83 - 4 June 2017
+
+- drakclock:
+ o fix crash introduced in 17.77 (mga#20956)
+- translation updates
+
+Version 17.82 - 6 May 2017
+
+- drakboot:
+ o add "please wait" message when running update-grub2
+- service_harddrake:
+ o require reboot if nokmsboot option changed (mga#20455).
+
+Version 17.80 - 3 May 2017
+
+- updated DE selection and advertising artwork for Mageia 6
+
+Version 17.79 - 26 April 2017
+
+- updated translation snapshot
+
+Version 17.77 - 4 April 2017
+
+- diskdrake:
+ o don't require a BIOS boot partition when performing an upgrade (mga#20338)
+ o make partitioning more robust with "Use entire disk" option (mga#20619):
+ * add safety net for informing the kernel after writing a DOS partition
+ table.
+ * speed up proc_partitions::compare() and avoid unwanted udev events.
+ o force reinitialisation of partition suggestions after wiping disk
+ (mga#20621)
+- various fixes to do_pkgs during Live installs (mga#20620):
+ o fix do_pkgs_standalone::are_installed() for Live install
+ o fix do_pkgs_standalone::remove() for Live install
+ o fix fast path for do_pkgs::ensure_is_installed()
+- drakclock:
+ o fix the display of the clock (mga#11776)
+
+Version 17.75 - 17 March 2017
+
+- diskdrake:
+ o allow a BIOS boot partition to be located on any disk (mga#20161)
+ o ensure kernel is informed when a MBR partition table is cleared
+ o clearing GPT partitions:
+ * delay thus fix clearing GPT partitions (mga#20264)
+ ("failed to del partition #1 on /dev/...")
+ * don't send separate events to the kernel about removing/adding GPT partitions,
+ just tell it to reread the whole newly cleared & allocated partition table
+ o tell the kernel all actions at once on GPT partitions instead of telling it
+ separatly about removing partitions A, B & C, then adding partition E, F &G
+
+Version 17.74 - 9 March 2017
+
+- recognize LXQt (Razor-qt is now LXQt)
+- fix Enlightenment (e21) recognition
+
+Version 17.73 - 8 March 2017
+
+- recognize new kernel-4.8 drivers
+
+Version 17.72 - 25 February 2017
+
+- inhibit udisks2 when running drakdisk (mga#20247)
+- explicitely probe LVMs in live install (mga#14699)
+- exclude x11-driver-video-vmware from unneeded packages (mga#19979)
+- partitioning_wizard:
+ o allow a BIOS boot partition to be located on any disk (mga#20161)
+ o fix auto-allocation of BIOS boot partitions (mga#20161, mga#19888)
+ o don't suggest mountpoint for ESP when doing a legacy boot install (mga#20164)
+- diskdrake:
+ o fix bugs in sync'ing the kernel's partition table cache (mga#20074)
+ o detect and handle DOS "Empty" partition types (mga#20074)
+- sync nonfree firmware list with kernel-4.9
+
+Version 17.71 - 18 January 2017
+
+- partitioning_wizard:
+ o fix bug in detecting whether a BIOS boot partition is required (mga#19935)
+- fix inserting extended partition in the middle
+
+Version 17.69 - 12 January 2017
+
+- bootloader:
+ o disable audit logging as it floods the logs
+- diskdrake:
+ o fix exception when clearing all partitions on !UEFI (mga#20083)
+- recognize new kernel-4.9 drivers
+- rely on Gtk+ for checking if we can connect to Xserver (mga#19498)
+ (meaning relying on xwayland under Wayland)
+
+Version 17.65 - 12 December 2016
+
+- drakboot:
+ o describe what skipping os-prober does (mga#18538)
+ o show generic help too when using grub2
+
+Version 17.63 - 9 December 2016
+
+- drakedm:
+ o allow disabling autologin on LXDM (mga#17616)
+
+Version 17.60 - 15 November 2016
+
+- diskdrake:
+ o fix being unable to format a newly part (mga#19172)
+ o offer to format unmounted parts that have a defined mount point
+
+Version 17.59 - 8 November 2016
+
+- any.pm: Fix support of plasma under X and wayland in running_window_manager()
+- mygtk3:
+ o adapt to WebKit2 for disabling context menu (eg: in mcc)
+
+Version 17.58 - 24 October 2016
+
+- drakboot:
+ o make kernel server default if installed
+ (we were only checking for long dead flavors such as enterprise, ...)
+
+Version 17.56 - 19 September 2016
+
+- detect ovirt too (mga#19308)
+- fix gtk+3.22 regression (mga#19406)
+- sync nonfree firmware list with kernel-4.7
+
+Version 17.54 - 13 August 2016
+
+- drakautologin:
+ o add support for LXDM (mga#17616)
+ o add support for SDDM (mga#17913)
+- drakedm:
+ o translate SDDM instead of KDM
+- filesharelist:
+ o fix checking package is installed (mga#13353)
+ o fix Samba package name (samba-server -> samba)
+- harddrake2:
+ o em28xx drives TV cards, not webcam (mga#18995)
+
+Version 17.53 - 31 July 2016
+
+- diskdrake:
+ o first usable sector is LBA34 for GPT
+ o respect used scheme when clearing a disk
+ (ie do not switch from gpt to dos scheme on small disk)
+- drakboot:
+ o fix .old backup for grub2's grub.cfg
+- authentication: add support for sha256/sha512 and default to sha512
+
+Version 17.52 - 17 July 2016
+
+- drakboot:
+ o fix not being able to edit default grub2 cmdline (mga#18952)
+
+Version 17.51 - 12 July 2016
+
+- diskdrake:
+ o don't offer to format RAID or BIOS boot partition
+ o fix clearing an already filled GPT disk
+ o make clear a BIOS boot partition cannot have a mount point
+ o make error about BIOS boot partition more explicit about
+ its purpose and that it must be created (mga#18923)
+
+Version 17.50 - 8 July 2016
+
+- diskdrake:
+ o display a wait message when adding a PV to VG
+
+Version 17.49 - 6 July 2016
+
+- diskdrake:
+ o GPT: prevent geometry issue on last partition (mga#18666, mga#17796)
+- recognize new kernel-4.7 drivers
+
+Version 17.48 - 4 July 2016
+
+- diskdrake:
+ o do not offer to check for bad blocks on btrfs (mga#12393)
+ o do not warn about no bootloader can boot LVM as grub2 can (mga#9426)
+ o do not warn about no bootloader can boot RAID[^1] as grub2 can (mga#11324)
+ o enable bad blocks checking on JFS
+- drakboot:
+ o allow installing grub2 on XFS /
+ o make clear grub2 is installed on ESP under UEFI
+- finish-install:
+ o drop reload-dm hack
+ o drop gnome-reboot hack
+
+Version 17.47 - 30 June 2016
+
+- recognize some missing wireless drivers (mga#16768)
+- diskdrake:
+ o fix being able to create vfat on UEFI (mga#15698)
+
+Version 17.46 - 24 June 2016
+
+- drakboot:
+ o do not alter /etc/default/grub on kernel updates, only when running
+ drakboot (mga#18783)
+
+Version 17.45 - 24 June 2016
+
+- diskdrake:
+ o keep UUID when formatting btrfs (mga#18673)
+
+Version 17.44 - 24 June 2016
+
+- diskdrake:
+ o fix preserving UUID when formatting jfs/nilfs/xfs
+- drakboot:
+ o add a "Do not touch ESP or MBR" option (mga#18770)
+ o do not offer to pick the disk where to install grub2 on UEFI
+ o filter GPT disks w/o a BIOS boot part (mga#18770)
+ o warn if grub2 is not installed on MBR/ESP
+
+Version 17.42 - 22 June 2016
+
+- drakboot:
+ o add support for encrypted grub2 passwords (mga#15930)
+ o grub2: do not overwrite ESP if not installing on it (mga#15583)
+ o grub2: fix setting default entry when in a submenu (mga#18560)
+
+Version 17.41 - 20 June 2016
+
+- drakboot:
+ o fix the grub2 post-install check (mga#18739)
+
+Version 17.40 - 20 June 2016
+
+- drakboot:
+ o ensure we've the right grub2 flavor (mga#18739)
+
+Version 17.39 - 18 June 2016
+
+- diskdrake:
+ o fix ESP tagging in some cases
+
+Version 17.38 - 16 June 2016
+
+- diskdrake:
+ o fix offering to create a GRUB_BIOS partition in custom mode (mga#18656)
+ o fix inverted test when checking need for a GRUB_BIOS partition (mga#18704)
+
+Version 17.37 - 12 June 2016
+
+- diskdrake:
+ o try harder to guess if we need a GRUB_BIOS partition (mga#18656)
+
+Version 17.36 - 11 June 2016
+
+- diskdrake:
+ o add a GRUB_BIOS partition if needed (mga#18656)
+ o MBR limit really is 2TiB, not 4, so use GPT for disks > 2TiB
+
+Version 17.34 - 6 June 2016
+
+- drakboot:
+ o enable to (un)install os-prober (mga#16010, mga#18538)
+ o fix reading back last grub2 entry
+ o only overwrite GRUB_CMDLINE_LINUX_DEFAULT on first install (mga#18112)
+ o only overwrite install.sh when actually installing boot loader (mga#17455)
+ o set GRUB_DEFAULT + GRUB_SAVEDEFAULT (mga#9627, mga#16059)
+ o stop offering grub legacy & lilo on new installs (mga#18583)
+- running commands as user:
+ o fix the fallback when the helper didn't provide the real UID (mga#18288)
+ o guess the right user after the switch to polkit (mga#18288)
+
+Version 17.33 - 27 May 2016
+
+- list all drivers needing a proprietary driver
+- localedrake:
+ o install the right IM packages on Plasma when using fcitx
+
+Version 17.30 - 7 May 2016
+
+- install nonfree firmware for amdgpu, i915, nouveau
+
+Version 17.29 - 4 May 2016
+
+- localedrake:
+ o install the right IM packages on Plasma
+- harddrake2:
+ o don't class Logitech wired kbd+mouse as unknown (mga#3510)
+
+Version 17.28 - 26 April 2016
+
+- recognize new kernel-4.6 drivers
+
+Version 17.25 - 1 April 2016
+
+- diskdrake:
+ o fix detecting nvme devices as block devices
+ o fix displaying partitions when there's only one disk
+ (and the resulting crash: mga#18076)
+
+Version 17.24 - 23 March 2016
+
+- use systemd-detect-virt for detecting virtualization technology
+
+Version 17.22 - 21 March 2016
+
+- display_help:
+ o port from WebKit1 to WebKit2 (mga#15031)
+
+Version 17.20 - 18 March 2016
+
+- diskdrake:
+ o fix partitions not initially displayed (mga#17564)
+
+Version 17.19 - 24 February 2016
+
+- detect nvme devices as block devices (mga#17743)
+- detect partitions on nvme devices (mga#17743)
+- enable to use WebKit2 with mygtk3
+- drakboot:
+ o partial fix for removing kernel from grub2 config (mga#16268)
+
+Version 17.18.1 - 10 February 2016
+
+- drakboot:
+ o add support for grub2-text too (mga#9431)
+- library (for draklive-install):
+ o check ESP has the right fs type (mga#16246)
+ o check that ESP mount point actually is an ESP
+
+Version 17.16 - 25 January 2016
+
+- detect_devices:
+ o fix a crash on non x86
+
+Version 17.15 - 16 January 2016
+
+- diskdrake:
+ o fix crash (mga#17484)
+
+Version 17.12 - 2 January 2016
+
+- misc cleanups
+- diskdrake:
+ o auto fill LV name from mntpnt (mga#5407)
+ o suggest "lv_foo" instead of just "foo" for LVname
+- drakboot:
+ o skip swap in the list of partitions (mga#15767)
+ o split drakautologin from drakboot (mga#7160)
+- draksound:
+ o drop support for ISApnp sound cards
+ o drop support for picking an arbitrary driver
+ o drop support for switching between OSS <-> ALSA
+ o make troubleshooting not an advanced setting
+
+Version 17.8 - 22 December 2015
+
+- recognize new kernel-4.3 drivers
+- use sddm instead of kdm
+- use task-plasma5 instead of task-kde4
+
+Version 17.3 - 4 December 2015
+
+- recognize new kernel-4.3 drivers
+- drakboot:
+ o fix lightdm support after upstream config file change
+
+Version 17.1 - 27 August 2015
+
+- recognize new kernel-4.1 drivers
+
+Version 16.104 - 13 June 2015
+
+- diskdrake:
+ o prevent errors when telling kernel to reread partition table
+
+Version 16.103 - 4 June 2015
+
+- drakfont:
+ o fix moving fonts (mga#16074)
+- diskdrake, partitioning_wizard:
+ o only use current disk when auto partitioning, wiping disk,
+ using free space (mga#16055)
+
+Version 16.102 - 29 May 2015
+
+- diskdrake:
+ o ignore special 'Packard_Bell' and 'Push_Button_Reset' partitions (mga#15999)
+ o run udevadm settle after actions that trigger device reload (mga#15999)
+- harddrake2:
+ o set min width for left panel (mga#16026)
+
+Version 16.101 - 25 May 2015
+
+- library (for draklive-install):
+ o fix not always suggesting /boot/ESP mount point (mga#15689)
+- diskdrake:
+ o set pt_type according to fs_type before flag cases (mga#16029)
+- localedrake:
+ o fix reading back IM config (mga#15761)
+
+Version 16.99 - 20 May 2015
+
+- diskdrake:
+ o display cosmetics when reading back GPT partitions
+ o fix mnt point for FAT partitions on GTP (mga#15987)
+ o set the proper GUID for FAT partitions on GPT
+- drakboot:
+ o do not detect grub2 on UEFI when there's no bootloader
+ o fix default grub2 kernel parameters (mga#15984)
+
+Version 16.98 - 19 May 2015
+
+- all tools:
+ o fix banner icon being cliped (mga#12358)
+- drakfont:
+ o fix crash (mga#13627)
+ o fix crash with --windows_import (mga9347)
+ o fix an error with --testing (mga#13363)
+- localedrake:
+ o don't try to install non existant scim-googlepinyin (mga#6681)
+
+Version 16.97 - 18 May 2015
+
+- library (for draklive-install):
+ o enables to get raw available space (mga15257)
+
+Version 16.96 - 17 May 2015
+
+- library (for draklive-install):
+ o fix regression refusing FAT for ESP (mga#15962)
+
+Version 16.95 - 14 May 2015
+
+- library (for draklive-install):
+ o fix a crash after "insufficient space" error (mga#15919)
+- diskdrake:
+ o fix a gtk+3 regression crash with --dav (mga#13204)
+
+Version 16.94 - 10 May 2015
+
+- remove_unused_packages():
+ * dont remove crda, iw, wireless-regdb, usb_modeswitch, usb_modeswitch-data
+ (they are needed to be able to support hotplugged wireless hw)
+ this also fixes mga#15875 that got broken by mga#10647
+
+Version 16.93 - 9 May 2015
+
+- drakboot:
+ o do use vga value for grub2
+ o fix setting default grub2 entry
+
+Version 16.92 - 9 May 2015
+
+- drakx-net:
+ o recognize r8723bs (mga#15874)
+- diskdrake:
+ o do not set noauto for /boot/EFI (mga#15627)
+- drakboot:
+ o add a dedicate step for grub2 (mga#9627)
+ o backup grub2 files before configuring
+- harddrake2:
+ o fix detecting AHCI as SATA (mga#9992)
+ o fix detecting some memory chips (mga#5810)
+ o fix not listing uvccideo managed devices as wecams (mga#9992)
+
+Version 16.90 - 28 April 2015
+
+- localedrake:
+ o write input methods to /etc/locale.conf (mga#15464)
+- run vgchange before updating the list of LVMs, not after, and even if not
+ in install (should help with mga#7578).
+
+Version 16.89 - 25 April 2015
+
+- Ignore special partitions on mmc (mga#15759)
+
+Version 16.88 - 25 April 2015
+
+- ensure country/timezone locale is kept when removing unused locale
+ packages (mga#3723)
+
+Version 16.87 - 22 April 2015
+
+- partitioning_wizard:
+ o improve the display box (mga#15728)
+
+Version 16.86 - 20 April 2015
+
+- bootloader:
+ o dont override 'splash' and/or 'quiet' when adding 'noiswmd' (mga#15666)
+- partitioning_wizard:
+ o use the windows partition with the most available space on current
+ disk, not the last one across all disks (mga#15589)
+ o suggest up to 20GB/20% of the windows partition (whichever is larger),
+ previously 6GB/10% (mga#15589)
+ o hide empty space < 2MB, we have such holes due to alignment (mga#15733)
+- ugtk2, ugtk3, harddrake2:
+ o do not "restore" mouse cursor on the root window, we haven't set it to
+ 'wait' since 2005 and this causes a crash if we don't own it (mga#15729).
+- speed up reading of flags from GPT partition table (mga#15621).
+
+Version 16.85 - 15 April 2015
+
+- reuse ESP with "use free space" in live (mga#15690)
+
+Version 16.84 - 14 April 2015
+
+- drakboot:
+ o do not pass useless parameters to grub2 under UEFI (mga#15692)
+ o fix kernel booting in blind mode (mga#15291)
+
+Version 16.82 - 13 April 2015
+
+- diskdrake:
+ o detect Lenovo recovery & 'SYSTEM_DRV' as such (mga#1371)
+ o do add a ESP if it was removed by "Clear All"
+ o ignore ESP for "use free space on MS"
+- drakboot:
+ o default to GRUB_DISABLE_RECOVERY=falss for 'failsafe' entry (mga#15675)
+
+Version 16.81 - 12 April 2015
+
+- dont force 'p' for dmraid partitions, it's conditional depending
+ on device naming like dmraid, kpartx and kernel handles it
+- diskdrake:
+ o don't guess a drive letter for ESP partitions
+
+Version 16.80 - 9 April 2015
+
+- diskdrake:
+ o don't guess a drive letter for recovery partitions (mga15636)
+- drakboot:
+ o check there's still some place on /boot with grub2 too
+ o generate core.img for UEFI
+ o fix detecting grub2 on UEFI
+ o write /boot/grub2/install.sh like for grub instead of drakboot.conf
+
+Version 16.79 - 7 April 2015
+
+- drakboot:
+ o keep vga= parameter when switching to grub2 (mga#9888)
+
+Version 16.78 - 7 April 2015
+
+- drakboot:
+ o fix installing grub2 on MBR (mga#15640)
+ (regression introduced in 16.76)
+
+Version 16.77 - 7 April 2015
+
+- bootloader:
+ o add 'noiswmd' to kernel command line to manage isw_ bios
+ fakeraids with dmraid for now (instead of mdadm) (mga#11289, mga#14330)
+ o allow btrfs for / without separate /boot with grub2 (mga#15374)
+- partitioning wizard:
+ o do not offer to select RAID as it result in a crash (mga#5800)
+
+Version 16.76 - 3 April 2015
+
+- drakboot:
+ o fix grub2 rescue (mga#13408, mga#13901)
+ o log grub2-install failures (mga#15439)
+- diskdrake:
+ o really try to detect recovery partitions on GPT
+
+Version 16.75 - 30 March 2015
+
+- diskdrake:
+ o better fix for fail to read too corrupted partition table
+ o fix getting ESP with "use free space":
+ make sure to not override /boot/EFI mount point with /media/win_X
+ o make sure to check for existing ESP on all disks
+ o relax checks for ESP
+ o try to detect recovery partitions on GPT
+- stage2:
+ o revert changes made in 16.70 for a better fix to mga#13894
+
+Version 16.74 - 27 March 2015
+
+- diskdrake (GPT):
+ o fix retrieving ntfs partitions as ntfs-3g instead of ntfs
+ o really fix retrieving swap partition type
+
+Version 16.73 - 27 March 2015
+
+- diskdrake (GPT):
+ o fix creating RAID devices (mga#15400)
+ o fix "I cannot read the partition table of device XXX, it is too corrupted"
+ o fix retrieving LVM/RAID/swap partition type
+ o fix tagging lvm/raid as "linux filesystem"
+ o fix tagging ntfs-3g as "linux filesystem"
+ o fix tagging swap as "linux filesystem"
+
+Version 16.71 - 25 March 2015
+
+- diskdrake:
+ o fix retrieving ESP partition type on GPT (mga#15366)
+ o log which GPT partition we fail to add/del
+ o set proper GUID to ESP partitions with GPT layout
+- bump max_nb() to 131 to cover mdadm managed imsm and ddf1 bios
+ fakeraids (containers defaults to >= 127 and partitions <=126)
+
+Version 16.70 - 21 March 2015
+
+- better fix for the scrollbar in the package installation details
+ window (Martin Whitaker, mga#13894)
+
+Version 16.69 - 20 March 2015
+
+- efi partitioning fixes from tv
+- diskdrake & package install gtk fixes from Martin Whitaker
+
+Version 16.68 - 17 March 2015
+
+- drakboot:
+ o log mkinitrd faillures (mga#9201)
+- fix mis-detecting some mobile broadband modems (mga#12492)
+
+Version 16.66 - 5 March 2015
+
+- diskdrake:
+ o add "nofail" option to "foreign" mountpoints to avoid unwanted recovery mode (#10179)
+
+Version 16.63 - 27 February 2015
+
+- diskdrake:
+ o fix too wide buttons (mga#12422, mga#13471, mga#14839, mga#15379)
+
+Version 16.62 - 19 February 2015
+
+- diskdrake (mga#12422, mga#11988, mga#14839, mga#15272, mga#15264):
+ o use an horizontal scrolling bar when needed
+ o workaround too wide togglebuttons with empty label with gtk+3 and/or Adwaita
+- library (for draklive-install):
+ o use a vertical scrolling bar when needed (mga#15272)
+
+Version 16.56 - 10 February 2015
+
+- service_harddrake:
+ * add support for the new nvidia340 driver (mga#15255)
+ * drop references to old unsupported nVidia drivers
+
+Version 16.55 - 9 February 2015
+
+- drakclock: Ensure that /etc/localtime is a symlink (mga#14888)
+- users: Make sure to restart accounts-daemon after adding users (mga#15113, mga#14476)
+- i18n: Write the desired console font to /etc/vconsole.conf
+- i18n: Use the x-distro /etc/locale.conf file instead of /etc/sysconfig/i18n
+- drakedm: Do not use ancient dm init script to restart DM
+
+Version 16.53 - 6 February 2015
+
+- switch from oxygen-gtk to Adwaita theme
+
+Version 16.52 - 5 February 2015
+
+- libDrakX/fsedit.pm: new "simple" partitioning scheme
+ o create separate /home only when more than 50G are available
+ o in such case, / is 6/19th of the available space up to 50G,
+ swap is 1/19th up to 4G and /home is the rest (12/19th)
+ o https://ml.mageia.org/l/arc/dev/2014-12/msg00330.html
+- recognize new kernel-3.19 drivers
+- fix GPT initialization on empty disk
+
+Version 16.50 - 9 January 2015
+
+- add UEFI support
+
+Version 16.49 - 20 December 2014
+
+- recognize new kernel-3.18 drivers (mga#14799)
+
+Version 16.47 - 5 December 2014
+
+- drakboot:
+ o do not crash if fstab contains a bind mount on a file (mga#14657)
+
+Version 16.46 - 25 November 2014
+
+- harddrake:
+ o recognize e17/lxde/mate/razor (mga#12495, Luc Menut)
+- split drakbug support in its own module (mga#14565)
+
+Version 16.44 - 23 October 2014
+
+- fix drakxservices not showing all services due to systemctl output change
+- draksound
+ o adapt to the switch to systemd for spawning PulseAudio
+
+Version 16.42 - 18 September 2014
+
+- only allow GRUB2 when booting on btrfs
+- don't include display_installer_help in drakxtools, it can not run outside
+ install
+
+Version 16.41 - 31 August 2014
+
+- add packages to wanted_hardware_packages list to prevent them being removed:
+ * b43-fwcutter, b43-openfwwf, atmel-firmware, speedtouch-firmware
+ * zd1211-firmware, isdn4k-utils, rfkill, x11-driver-input-wacom
+- allow /boot on btrfs
+- recognize new kernel-3.17 drivers
+
+Version 16.39 - 17 August 2014
+
+- mygtk3:
+ o add support for gtkset() on 'ComboBoxText' widgets for drakpxelinux
+- recognize new kernel-3.16 drivers
+- switch uid/gid boundary to 1000+
+
+Version 16.37 - 3 July 2014
+
+- diskdrake:
+ o improve fs sorting in combo box (mga#13640)
+
+Version 16.36 - 1 July 2014
+
+- hide /boot/efi check for now (mga#13638)
+- fix not being able to select packages when list contains only one (mga#13492)
+
+Version 16.34 - 26 June 2014
+
+- do_pkgs:
+ o fix a warning in mousedrake
+- drakclock:
+ o fix crash on clicking "Cancel" after TZ selection (mga#13534)
+ o fix loosing TZ choice when canceling TZ selection (mga#13534)
+- drakfont:
+ o fix installing fonts (Frédéric Buclin, mga#11849)
+
+Version 16.33 - 18 June 2014
+
+- stop creating some /dev entries that are managed by udev
+
+Version 16.32 - 15 June 2014
+
+- recognize new kernel-3.15 drivers
+
+Version 16.30 - 4 June 2014
+
+- add some POD documentation
+- drop (broken) support for Alpha, PPC, Sparc & IA64
+- fix detecting some UPS devices (mga#13424)
+- drakbug:
+ o fix some package names after the mdv->mga fork
+- localedrake:
+ o stop configuring HAL
+ o update locales list
+
+Version 16.28 - 28 April 2014
+
+- recognize new kernel-3.14 drivers
+
+Version 16.27 - 18 February 2014
+
+- nuke create_link_source(), as we haven't supported building against an
+ unprepared source for ages, and currently also can trigger wrong symlinks
+ when kernel-source is installed before for example kernel-linus as found
+ out during QA for mga#12518 and debugging the issue on irc
+
+Version 16.26.8 - 4 February 2014
+
+- harddrake:
+ o fix untranslated "Help" entry in menu (mga#12497)
+
+Version 16.26.7 - 25 January 2014
+
+- do not exec pkexec but run it so it has a parent process to fix double fork
+ issues mga#11184 mga#12364
+
+Version 16.26.1 - 20 January 2014
+
+- diskdrake:
+ o increase back minimum partition width for Oxygen (mga#11977)
+
+Version 16.26 - 20 January 2014
+
+- diskdrake:
+ o fix sizing partition widgets
+ o revert minimum partition width to its pre-gtk3 value
+
+Version 16.23 - 16 January 2014
+
+- dont remove pulseaudio-module-bluetooth (mga#12323)
+- fix a rpmdrake crash (mga#12331)
+
+Version 16.22 - 15 January 2014
+
+- services:
+ o use --no-block with chkconfig and systemctl enable to prevent systemd reload
+ and potential crash (especially during first/live boot)
+- harddrake:
+ o fix detecting some wireless devices as scanners (mga#9895)
+ o fix random order of fields with perl-5.18
+
+Version 16.21 - 13 January 2014
+
+- diskdrake:
+ o do not propose check bad blocks for btrfs (Manuel Hiebel, mga#10116)
+ o increase minimum partition width for Oxygen (mga#11977)
+ (if not enough, we will disable labels on partitions buttons again)
+- drakboot:
+ o add minimal/experimental lightdm autologin support (mga#11746)
+- harddrake, logdrake:
+ o fix menu accelerators
+- --version option:
+ o display mga copyright too (mga#10289)
+
+Version 16.18 - 28 December 2013
+
+- detecting input devices:
+ o display the real accessed /dev/input/eventX file (mga#8232)
+ o do not crash if /dev/input/eventX doesn't exist (mga#10296)
+ o do not fill logs with "Cannot open /dev/input/eventX" (mga#8232)
+- draksec:
+ o use expanders for clarity
+
+Version 16.17 - 20 December 2013
+
+- drakfont:
+ o fix a crash (mga#12057)
+
+Version 16.16 - 16 December 2013
+
+- fix a drakx crash (mga#6031)
+
+Version 16.15 - 12 December 2013
+
+- workaround a gtk+3 issue resulting in blacked embbeded tools with some
+ locales (eg: pl/uk) (mga#11969)
+
+Version 16.13 - 10 December 2013
+
+- localedrake:
+ o fix crash when selecting an input method (mga#11939)
+
+Version 16.12 - 9 December 2013
+
+- partitioning wizard:
+ o log failures (mga#11924)
+ o workaround a crash (mga#11924)
+
+Version 16.11 - 6 December 2013
+
+- fix a crash in rpmdrake when package list is empty (mga#11901)
+
+Version 16.8 - 5 December 2013
+
+- prevent drakxtools-backend to require Glib::Object::Introspection (mga#11842)
+
+Version 16.7 - 5 December 2013
+
+- diskdrake:
+ o fix a crash when creating partitions (mga#11876)
+
+Version 16.6 - 4 December 2013
+
+- fix blue background behind left panel text (mga#11866)
+ (for not yet released gtk3 mcc)
+
+Version 16.5 - 3 December 2013
+
+- diskdrake:
+ o detect eMMc block devices (Luc Menut, mga#11812)
+ o fix a crash in partitioning wizard (mga#11820)
+ o show labels on partition buttons again but ellipsized (mga#11858)
+
+Version 16.4 - 2 December 2013
+
+- fix banners not being blue anymore with Oxygen-gtk theme (kbo#328270)
+- diskdrake:
+ o fix diskdrake colorized partition tabs with Adwaita (bgo#719624)
+
+Version 16.3 - 30 November 2013
+
+- harddrake:
+ o fix starting after draksound drop OSS/ALSA switch
+
+Version 16.2 - 29 November 2013
+
+- diskdrake:
+ o fix dialog keeping growing when switching tabs (mga#11822):
+ move partition labels to toolips
+- draksound:
+ o do not offer to switch to OSS
+ o do not offer to switch to another driver if there's none
+ o do not offer to pick a random driver when we've a default one
+- finish-install:
+ o no more run urpmi.update when adding media
+ (uneeded with urpmi-7.27+)
+- mygtk3 layer:
+ o add support for RadioMenuItems for rpmdrake
+- ugtk3 layer:
+ o make shrinking window work again (eg: draknfs)
+
+Version 16.1 - 28 November 2013
+
+- mcc:
+ o restore galaxy RC file, thus fixing left panel text color (mga#11773)
+ o fix Gtk2 banners' text position (mga#11778)
+- Banners:
+ o align text to left instead of centering it
+ o text is rendered as blue again
+- diskdrake:
+ o prevent looping forever when sizing partition tabs
+- logdrake:
+ o fix Gtk3::TextView::get_window() passed too few parameters (mga#11807)
+
+Version 16.0 - 23 November 2013
+
+- switch from Gtk+-2 to Gtk+-3:
+ o Banners: most themes work OK but Oxygen-gtk3...
+ o diskdrake: most themes work OK but Oxygen-gtk3...
+ o drakclock cannot temporary changes the clock
+ o notifications work again for net_applet
+- detect_devices:
+ fix ids to be numeric
+- drakxservices:
+ o simplify: just use tooltips for service descriptions"
+- drakclock:
+ o assume chrony rather than ntp when neither is installed
+- draksec:
+ o make sure to restart polkitd after writing rules
+ o support polkit rules editing for permissions overrides
+
+Version 15.73.1 - 19 November 2013
+
+- add chrony support to drakclock mga#11092
+
+Version 15.73 - 12 November 2013
+
+- polkit: fix wrappers to properly escape arguments when calling the binary
+
+Version 15.72 - 9 November 2013
+
+- dont remove radeon-firmware or any network related firmwares as we dont
+ know when some hw gets plugged that needs it
+
+Version 15.68 - 14 October 2013
+
+- fix path to urpmi.update (so it works without mgaonline installed mga#11125)
+- recognize new kernel-3.12 drivers
+- wrap more standalone tools in polkit (mga#11125, mga#11418)
+
+Version 15.67 - 10 October 2013
+
+- recognize new kernel-3.11 drivers
+
+Version 15.66 - 3 October 2013
+
+- HW detection:
+ o fix detecting some soft RAID (mga#11139 and the like)
+ o detect wifi cards managed by ssb driver (mga#9378)
+- remove symlinks during install that are now handled in drakx-kbd-mouse-x11
+- diskdrake:
+ o enable to format already formated btrfs partitions (mga#11256)
+- use polkit for authorisation (mga#11125)
+- drakauth:
+ o fix ldap configuration (mga#10005)
+- ensure files are installed for nfs (mga#10301)
+
+Version 15.57 - 16 July 2013
+
+- adapt to latest btrfs utils for resizing
+
+Version 15.56 - 16 July 2013
+
+- detect wifi cards managed by bcma driver (mga#9378)
+- detect new kernel-3.10 drivers
+
+Version 15.55 - 12 June 2013
+
+- drakfirewall: fix config not applied (#9941)
+- drakboot:
+ o fix displaying need to install acpi* packages when they're already installed
+ o read/save choosen default entry
+- finish-install:
+ kbluetooth is replaced by bluedevil, (#10082)
+- harddrake2:
+ o detect more radio devices
+
+Version 15.54 - 17 May 2013
+
+- fix offering to install shorewall & shorewall-ipv6 when already installed
+
+Version 15.53 - 15 May 2013
+
+- logdrake:
+ o fix rsyslog<->syslog-ng install loop (mga#10086)
+
+Version 15.51 - 13 May 2013
+
+- drop support for fetching release-notes.ARCH.html
+- finish-install: enable Nonfree/Tainted repositories if a package
+ having a matching name is installed (#8379)
+- detect_devices: check for phy80211 sysfs directory as well to detect
+ wireless devices
+
+Version 15.50 - 7 May 2013
+
+- harddrake service:
+ o do not disable bluetooth service if adapter disappears
+ (for example if disabled by Fn keys)
+ systemd will automatically disable the service if needed
+ o install ethernet/wireless packages when a new device is detected,
+ this shoud help for Broadcom devices
+
+Version 15.47 - 30 April 2013
+
+- skip comments in /etc/crypttab (Colin, mga#9905)
+
+Version 15.46 - 29 April 2013
+
+- logdrake:
+ o ensure syslog-daemon is installed (stopgap to full journal support)
+
+Version 15.45 - 27 April 2013
+
+- diskdrake:
+ o only allow 'acl' option for extX & reiserfs (mga#9884)
+- drakboot:
+ o try harder to get a label for other OSes (mga#9849,9681)
+
+Version 15.44 - 23 April 2013
+
+- diskdrake:
+ o fix a crash when reloading partition table (mga#9838)
+ o fix a crash when trying to create a encrypted LVM partition (mga#9837)
+
+Version 15.42 - 21 April 2013
+
+- diskdrake (mga#5661):
+ o ensure LVMs on top of dmcrypt are activated after unlocking
+ o fix UI redraw issue after unlocking dmcrypt partition
+
+Version 15.41 - 21 April 2013
+
+- popup dialog confirming to quit when clicking "X" (mga#8476):
+ o do not enable it by default
+ o enable apps to enable it on demand
+- updated translations
+
+Version 15.40 - 19 April 2013
+
+- diskdrake (mga#5661):
+ o fix losing crypt key when detecting LVMs on top of dmcrypt
+ o fix losing crypt key when re-reading partition tables
+- drakauth:
+ o 'nss-pam-ldapd' obsoletes 'pam_ldap' (mga#9769)
+- drakups:
+ o do not rely on legacy initscript for install test (mga#9474)
+
+Version 15.37 - 9 April 2013
+
+- library:
+ o fix detecting some USB devices due to not reporting their class (mga#9674)
+- finish-install:
+ o configure urpmi media even if local media are configured, and only if
+ online media are not setup (for live, mga #8379#c7)
+- diskdrake:
+ o allow to choose btrfs in normal mode (mga#65)
+- harddrake:
+ o fix displayed PCI/USB ids (spot in mga#9674)
+ o list HID USB devices with keyboards
+
+Version 15.36 - 6 April 2013
+
+- library (for draklive-install):
+ o bind mount /run in chroot, thus fixing dracut runs (Dave Hodgins, mga#9213)
+- drakboot:
+ o fix other Mga OS names in menu (mga#8710)
+
+Version 15.35 - 5 April 2013
+
+- diskdrake:
+ o fix removing LVM entries when saving /etc/fstab (mga#5811)
+- drakboot:
+ o assume grub2.cfg is UTF-8 encoded
+ o read back xen conf from grub2
+ o set entries type when reading back grub2 conf, thus fixing
+ switching back to grub-legacy (mga#9563)
+- draksound
+ o update draksound troubleshooting text (mga#4162)
+
+Version 15.33 - 4 April 2013
+
+- bootloader-config:
+ o fix adding bogus bootloader entries (root=/dev/) when silently
+ failing to lookup / partition (mga#8717)
+ o try harder to lookup / partition y looking at mounted points (mga#8717)
+
+Version 15.32 - 31 March 2013
+
+- fix detecting Xen hard disks (mga#9546)
+
+Version 15.31 - 21 March 2013
+
+- do not show notification bubble in net_applet as they make it to
+ segfault (mga#9102)
+- recognize more webcam & bluetooth devices (might help mga#5841)
+
+Version 15.28 - 21 March 2013
+
+- bootloader-config:
+ o do not build initrd if no bootloader is detected and
+ --no-initd argument is supplied
+- diskdrake:
+ o actually preserve UUID when formatting (mga#9428)
+- drakauth:
+ o install nss-pam-ldapd instead of nss_ldap (mga#9375)
+
+Version 15.27 - 12 March 2013
+
+- fix mounting NFS server (Derek Jennings, mga#207)
+- drakboot:
+ o install grub2-efi instead of grub2 if using UEFI (mga#8886)
+
+Version 15.26 - 5 March 2013
+
+- include display_installer_help
+
+Version 15.25 - 5 March 2013
+
+- finish-install:
+ o prevent displaying twice release notes
+
+Version 15.24.1 - 1 March 2013
+
+- harddrake:
+ o add nvidia304 to service_harddrake (Luc Menut, mga #9216)
+
+Version 15.24 - 28 February 2013
+
+- drakboot:
+ o allow installing grub2 on a partition (mga#8742)
+ o try harder not to have duplicate stuff on grub2 cmd line
+
+Version 15.23 - 27 February 2013
+
+- drakboot:
+ o fix detecting grub2 if there's a remaining grub-legacy signature
+ o read more of grub2 config
+ o read & save timeout value (mga#8850)
+ o set default parameters in grub2 config (mga#9177)
+
+Version 15.21 - 26 February 2013
+
+- bootloader-config:
+ o add proper support for grub2 (detectloader, ...)
+- drakboot:
+ o add basic support for reading back grub2 config
+ o read & write /boot/grub2/drakboot.conf
+ o prevent installing grub2 somewhere else than MBR
+- always bypass blkid cache (the cache only includes a subset of the data we need)
+
+Version 15.19 - 16 January 2013
+
+- update translations
+- do not bypass blkid cache
+
+Version 15.14 - 17 December 2012
+
+- ugtk2: use new exceptions management
+- drakboot:
+ o fix installing grub2 from live session (blino)
+
+Version 15.13 - 15 December 2012
+
+- fix checking grub2 installation (mga#8390)
+
+Version 15.12 - 14 December 2012
+
+- "enhance" fake grub2 conf reading (mga#8366)
+
+Version 15.11 - 13 December 2012
+
+- interactive layer:
+ o fix quitting app when closing "advanced" dialog (mga#1812)
+- mygtk2 layer:
+ o add register_main_window() for tracking main windows
+ o popup a dialog confirming to quit when clicking "X" (mga#1812)
+- drakboot:
+ o install grub2 if needed
+
+Version 15.10 - 11 December 2012
+
+- revert rosa crap that breaks generating initrd (mga#8357)
+
+Version 15.9 - 11 December 2012
+
+- library:
+ o if a partition has been manually formated, don't offer to format
+ it again (for draklive-install, mga#7822)
+
+Version 15.3 - 9 December 2012
+
+- finish-install:
+ o fix a crash by lazy loading services when needed
+ (Dave Hodgins, mga#8335)
+
+Version 15.2 - 7 December 2012
+
+- drakboot:
+ o add fake grub2 conf reading
+
+Version 15.1 - 7 December 2012
+
+- add basic support for grub2 (mga#416)
+ (based on rosa work but fixed and completed)
+
+Version 14.50 - 6 November 2012
+
+- adapt to new reboot path
+- include FIRMWARE packages from Cards+ in detected graphical drivers,
+ not to remove radeon-firmware if a matching card is present (#6438, #7641)
+
+Version 14.47 - 12 October 2012
+
+- diskdrake:
+ o offer resizing NTFS again (broken by ntfsprogs -> ntfs-3g switch)
+- drakclock:
+ o do not crash if timezones cannot be listed (mga#6787)
+- drakfont:
+ o fix a crash
+ o fix ttmkfdir path
+
+Version 14.45 - 20 September 2012
+
+- do not crash when trying to guess homedir before running another
+ process (mga#7403)
+- drakfont:
+ o fix moving font files with space in their names (mga#2689)
+- harddrake2:
+ o remove useless "Autodetect printers" option
+
+Version 14.44 - 14 September 2012
+
+- drakbug:
+ o fix preselecting "RPM package" (Manuel Hiebel, mga#7380)
+- finish-install:
+ o advertize new doc license & licenser (mga#7347)
+
+Version 14.43 - 4 September 2012
+
+- fix crashing when a banner icon doesn't exist (mga#5223)
+- recognize new drivers:
+ o input: hid-aureal synaptics_usb
+ o wifi: qmi_wwan, mwifiex_usb
+
+Version 14.40 - 3 September 2012
+
+- boodloader:
+ o ensure initrds used in combination with kernels with vga= arguments
+ are regenerated when needed
+- adapt to usbfs death
+- drakxservices:
+ o fix checking systemd presence after systemd merge of subpackages
+
+Version 14.33 - 7 August 2012
+
+- autologin:
+ o support lxdm & slim too (#3715, Derek Jennings)
+ o install autologin for lxdm & slim too
+- drakboot:
+ o do not crash if trying to build initrd from unknown partitions (mga#4290)
+ o do not crash if a foreign partition is not mounted (mga#6966)
+ o install acpi & acpid at once
+- drakxservices:
+ o when listing services ensure disabled services that can be enabled are
+ shown (mga#6843)
+
+Version 14.31 - 24 July 2012
+
+- drakauth: don't update UsePAM option in sshd configuration
+- diskdrake: install nfs-utils instead of nfs-utils-clients
+ (#6570, merged back in nfs-utils)
+
+Version 14.21 - 11 May 2012
+
+- harddrake2: allow writing 0 as module option, and forbid options
+ with spaces (#5839, from Colin)
+- export res_init function to perl lib
+
+Version 14.20 - 6 May 2012
+
+- diskdrake:
+ o drop support for reiser4 (mga#5680)
+- harddrake service:
+ o do not disable cpufreq on non-laptops
+ o remove double apmd check
+
+Version 14.16 - 29 April 2012
+
+- harddrake service:
+ o use non-blocking mode for service restart (mga#4772)
+
+Version 14.11 - 25 April 2012
+
+- finish-install: make sure sbin is added to PATH
+- harddrake:
+ o list "zc3xx" driven as webcams (mga#5449)
+- interactive::curses:
+ o make sure ranges are always within limits (mga#646)
+- ensure swap partition is activated in dracut (e.g. for swap on LVM, RAID etc)
+- drakboot:
+ o display mountpoint if available, and size+fs_type if we have nothing
+ else (mga#5460)
+- diskdrake:
+ o do not set fs_type to ext4 for raw LVM/RAID/LUKS
+ o detect LVM on top on Encrypted partitions (mga#5330)
+- drakxservices:
+ o systemd support (mga#3253, mga#3740, mga#4910, mga#5122)
+
+Version 14.3 - 7 April 2012
+
+- diskdrake:
+ o fix partition numbering on GPT (mga#3091)
+
+Version 14.2 - 5 April 2012
+
+- harddrake service:
+ o cpufreq performance governor is no longer a module
+ o reduce default timeout from 10 to 2mn (mga#4772)
+
+Version 14.1 - 23 March 2012
+
+- drakauth:
+ o fix actually displaying "Domain Windows for authentication"
+- drakboot:
+ o use "splash" on the kernel command line vs. "splash=silent" as per upstream
+ code (e.g. plymouth, systemd and others)
+ o support the "quiet" kernel command line argument to hide kernel text
+- drakbug, draksec, drakxhelp, logdrake:
+ o fix displaying "Mageia"
+- harddrake:
+ o fix detecting bluetooth devices
+
+Version 13.93 - 12 March 2012
+
+- fix mgaapplet crashing on live migration when there's a new major version of
+ perl (mga#3042)
+- reduce resident memory of net_applet (5Mb aka 11%) & mgapplet (7Mb aka 14%)
+
+Version 13.92 - 11 March 2012
+
+- english message improvement (mga#456)
+- diskdrake:
+ o fix error on removing LVs
+ o fix resizing LVs (mga#4666)
+
+Version 13.89.1 - 02 March 2012
+
+- service_harddrake:
+ o recognize XZ compressed proprietary driver modules properly (mga#4767)
+
+Version 13.86 - 29 February 2012
+
+- load 'xts' module for crypted fses (Dave Hodgins, mga#3749)
+- recognize more HID drivers (mga#4129)
+
+Version 13.81 - 13 February 2012
+
+- localedrake:
+ o add hime
+ o remove chinput, kinput2, oxim, xcin
+- make drakclock systemd compatible
+- fix crashing on parsing garbaged DMI info (mga#4329)
+- diskdrake:
+ o use better cipher for encrypted fses (mga#3092)
+
+Version 13.79 - 25 January 2012
+
+- silent failure to extract gz modules (for rescue)
+- diskdrake:
+ o better default name for new VG (vg-mga, vg-mga1, ...
+ instead of vg-0, vg-1, ...)
+
+Version 13.77 - 23 January 2012
+
+- add support for XZ modules
+- diskdrake:
+ o enable to set LV names when not in expert mode
+ o enable to set label on btrfs & nilfs fses as well as on swap
+ o preserve UUID when reformatting a nilfs fs
+ o report back error from lvm2
+ o suggest better LV names based on the mount point rather than numbers
+
+Version 13.74 - 24 December 2011
+
+- version sync with stage2
+
+Version 13.73 - 24 December 2011
+
+- drakboot:
+ o display partition labels in list instead of just disk names in "boot
+ device" choice
+ o display partition labels when adding a foreign OS
+- harddrake: fix missing names (mga#3745)
+- interactive::curses: default to 80x25 (fixes serial)
+- dont force init=/bin/systemd (#3856, already fixed in svn by blino)
+
+Version 13.72.1 - 11 December 2011
+
+- fix $HOME for all when runing as another user instead of root (mga#287)
+- harddrake: fix crash after mismerge (mga#3696)
+
+Version 13.72 - 10 December 2011
+
+- drakhelp: make it work somewhat despite lack of doc
+- prevent net_applet to crash on notifications without icons (mga#2876)
+- harddrake:
+ o do not display some bluetooth stuff as unknown (mga#1460)
+ o prevent detecting some soft modems as scanners (mga#2753)
+
+Version 13.71 - 04 December 2011
+
+- service_harddrake:
+ o better notification message when the driver has been automatically
+ switched
+ o show a correct warning message when a proprietary driver is loaded while
+ a free driver is configured
+ o fix driver switch failing to alter xorg.conf when the Driver line doesn't
+ contain default whitespacing (reported by Barry Jackson)
+
+Version 13.70.2 - 27 November 2011
+
+- fix crashing on creating temp file if temp dir doesn't exist (mga#1396)
+
+Version 13.70.1 - 22 November 2011
+
+- drakbug:
+ o do not keep around the segfaulted process once we collected all needed data
+ when running drakbug
+ o regroup misc data in bugzilla
+
+Version 13.70 - 22 November 2011
+
+- drakbug:
+ o report the gtk+ theme in use (#3414) which explain some crashes (eg: #2679)
+ o include better C traces in reports (mga#3415)
+ o remove top of traces that is inside bug handler from report
+ o no more run GDB (too late & faster)
+- Add initial Systemd support
+- sync with kernel-3.1.0-1.mga2
+ * add hid devices:
+ hid-keytouch, hid-uclogic
+ * add sas/raid driver:
+ isci
+ * add sound devices:
+ snd-lola, snd-firewire-speakers snd-isight, snd-usb-6fire
+ * add usb/storage:
+ ums-eneub6250, ums-realtek
+ * add wireless drivers:
+ brcmsmac, rtl8187se, rtusb, rtl8192se, rtl8192cu, rtl8192de
+
+Version 13.63 - 07 September 2011
+
+- finish-install:
+ o "Multi languages" => "Multiple languages" (mga#1011)
+- diskdrake:
+ o always align partitions to start at megabyte boundaries to avoid
+ performance issues with drives with 4k physical sectors (mga#1215)
+
+Version 13.61 - 01 August 2011
+
+- disdrake:
+ o spaces are not allowed between options in /etc/fstab (#2271)
+- drakfont:
+ o rename Ooo as LibreOffice (#461)
+ o enable support for LibreOffice/gs/... only if available (#461)
+- fix bootloader entries names
+
+Version 13.60 - 27 July 2011
+
+- any.pm:
+ o Add lxsession to the wm list, and add lxde-logout as the
+ ask_window_manager_to_logout command (mga#1395)
+ o share some kernel check's code for drakx-net (#1266)
+
+Version 13.59 - 14 June 2011
+
+- fix libnotify API ( mga #1780)
+
+Version 13.58 - 26 May 2011
+
+- update translations
+- fix top banner
+
+Version 13.55 - 20 May 2011
+
+- finish-install: do not try to replace home path for device files
+ after live install (#1148)
+- add ums-* (USB mass storage) modules in disk/usb category
+
+Version 13.54 - 19 May 2011
+
+- draksound:
+ o Robustify the PulseAudio configs (don't try and write files if they
+ do not exists. Doing so previously would result in blank files that then
+ causes problems when installing PulseAudio as the "config" files are not
+ overwritten properly which can result in broken PA startup)
+ o Remove the "Enable 5.1..." option. This is now done via card profiles
+ in native GUIs for GNOME and KDE (or pavucontrol)
+ o Remove the "Enable user switching..." option as it relies on HAL
+ which is deprecated.
+- scannerdrake: use skanlite instead of kooka
+- any.pm: fix faces icons paths (mga#1315)
+- fix reading security level with new msec (mga#332)
+
+Version 13.52 - 14 May 2011
+
+- diskdrake: disbale encryption option for /boot
+- match partitions when one of them as device_alias to the device of the other
+ one (Fixes Mageia bug #1041)
+
+Version 13.51 - 12 May 2011
+
+- harddrake: update icons
+
+Version 13.50 - 06 May 2011
+
+- bind more pciutils/libldetect for stage1
+- localedrake:
+ o use proper locales-XX packages for Albanian (#1036)
+
+Version 13.49 - 26 April 2011
+
+- add sdhci-pci to card-reader list
+- add xhci-hcd (usb3 support)
+- replace Mageia Linux with Mageia
+- fix fd leak in EVIOCGBIT code
+- fix the bugzilla url generated by drakbug by changing 'classificaiton=Mageia'
+ to 'product=Mageia' (mga#831)
+- service_harddrake:
+ o load new drivers or ask for reboot also if the driver is switched due to
+ a hardware change instead of an ldetect-lst change
+ o show yes/no buttons instead of ok/cancel when asking about running a
+ config tool
+ o show a dialog about having to use nokmsboot if we couldn't automatically
+ reconfigure the boot loader (e.g. when booted directly from a foreign
+ bootloader) (Mageia bug #893)
+
+Version 13.48 - 17 April 2011
+
+- service_harddrake:
+ o adapt splash handling for plymouth (for showing dialogs)
+ o add/remove nokmsboot boot option if needed
+ o ask for a reboot after a driver switch if needed, and load the new driver
+ if no reboot is needed
+ o do not switch a display driver if speedboot has already started X server,
+ in that case simply disable speedboot for next boot
+- add nokmsboot boot option also if the bootloader is installed after setting
+ up a conflicting display driver (e.g. draklive-install)
+
+Version 13.47
+- modify a string in partitioning_wizard.pm to be more grammatically correct
+ (spotted by Sigrid Carrera, on mageia-i18n ML)
+- update modules list needed for md raid456 and dm-raid 4/5/6 target
+
+- arm/mips support
+- use EVIOCGBIT ioctl instead of parsing /proc/bus/input/devices
+
+- finish-install: touch reload-dm lock file
+ (used in live systems to restart gdm with new defaults )
+
+Version 13.43
+
+- Change text to grey
+- Remove mandriva occurencies
+- Rename $mandrake_release and mandrake_release_info() functions
+- cpufreq: add support for Athlon/Phenom II processors (#58477)
+- handle new drivers:
+ o ethernet: cx82310_eth
+ o 10g ethernet: bna, pch_gbe, stmmac
+ o modem: ft1000
+ o usb storage: keucr, uas
+ o wifi: ath6kl, bcm_wimax, brcm80211, carl9170, r8712u
+
+Version 13.39 - 24 November 2010
+- fix use of arrays as a reference
+- install static device symlinks under /lib/udev/devices (Andrey Borzenkov)
+
+Version 13.35 - 22 June 2010
+
+- add scrollbar to partitioning wizard if needed
+- user management: focus on first entry in dialog, root password if
+ superuser is asked, user real name otherwise (#54910)
+- timezone.pm: change India default timezone name from Asia/Calcutta to
+ Asia/Kolkata (#59715)
+- timezone/mirror.pm: change Brazil/East entries to America/Sao_Paulo,
+ Brazil/East is the deprecated/old time zone name
+
+Version 13.34 - 5 June 2010
+
+- drakauth:
+ o fix installing lib64sasl2-plug-gssapi instead of
+ libsasl2-plug-gssapi on 64bit machines when 32bit media are
+ available (#57728)
+- harddrake:
+ o fix displaying encoded reason
+ o fix translating reasons for 2nd stage warning
+- localedrake:
+ o fix listing locales only providing UTF8 metadata (#59634, Herton
+ Ronaldo Krzesinski)
+ o further fix listing locales (#58543)
+
+Version 13.33 - 4 June 2010
+
+- lookup major:minor of devices outside $::prefix
+- display lock icon for not enabled dmcrypt too
+- disable dmcrypt before deleting partition, evin if inside lvm/raid
+- fix loading of btrfs module
+
+Version 13.32 - 2 June 2010
+
+- don't lose mountpoint if suggested partition was swap (#59510)
+- copy all devices to target
+
+Version 13.31 - 26 May 2010
+
+- service_harddrake: reconfigure X server after distro upgrades when video
+ driver has changed (#53753)
+
+Version 13.30 - 26 May 2010
+
+- task-kde3-minimal is dead, and there is now task-gnome-minimal
+- do not remove important networking packages even if they seem unused (#49668)
+
+Version 13.29 - 24 May 2010
+
+- display_release_notes.pl: don't use ::isInstall to position the release not
+ window on top of everything (doesn't work on the Ones), use
+ any::set_wm_hints_if_needed instead (#59155)
+- handle raid metadata version
+- force raid metadata to be 0.90 if /boot is on raid 1
+- fix detection of /var partition
+- fix raid 0 to be handled as raid
+
+Version 13.28 - 19 May 2010
+
+- display_help: allow scripts to close window, for first time wizard
+ (by default webkit only allows it for first page in history or for
+ pages opened by DOM, requires webkit-1.2.0-3mdv2010.1)
+- always set resume= when a swap is available, regardless of its size (#34681)
+
+Version 13.26 - 17 May 2010
+
+- enable acl by default on ext2/3/4 fs
+- enable user_xattr on home for ext2 too
+- allow setting acl option in diskdrake
+- default to defaultFS in LVM, not ext2
+
+Version 13.25 - 11 May 2010
+
+- bugfix for draklive-install: use "short" locale name when matching
+ locales-* packages to detect unused locales (fixes bug #44270)
+- diskdrake:
+ o don't ask to reboot after resize if not needed
+ o do not ask to reboot after resizing LUKS if not mounted
+- workaround mapper/* being symlinks in dmraid support
+
+Version 13.24 - 9 May 2010
+
+- devices:
+ o get major/minor of device mapper correctly now that they are links
+- fix creation of device mapper devices in fs::any::prepare_minimal_root
+ (this fixes initrd creation from one if using lvm)
+
+Version 13.23 - 30 April 2010
+
+- diskdrake:
+ o fix the crypto mountpoint checks for the create case
+ o partially fix resize of active encrypted volumes
+ o fix race when creating encrypted partition out of install
+
+Version 13.22 - 29 April 2010
+
+- diskdrake:
+ o correctly set mountpoint on included partition, not encrypted one
+ o refuse to have /boot encrypted
+
+Version 13.21 - 27 April 2010
+
+- finish-install:
+ o wait for network-up before trying to configure it (blino)
+- diskdrake:
+ o do not warn about data loss when changing type of unformatted partition
+ o do not write partition table after creation if not needed
+ o handle deleting encrypted partitions
+ o display lock icon on encrypted partitions
+ o fix loading of dmcrypt info now that /dev/mapper/* are symlinks
+ o fix creating encrypted LVM
+ o fix display of non unlocked encrypted partitions
+ o re-use existing strings
+
+Version 13.20 - 21 April 2010
+
+- diskdrake:
+ o allow resizing empty FAT (#58770)
+ o offer encryption in a more visible way when creating a partition
+ o remove cryptoloop from diskdrake interface and transparently use dm-crypt
+ o support having dm-crypt partition with non default FS
+ o do not display dm-crypt partitions in separate tab, display included
+ partition directly in-place
+
+Version 13.19 - 13 April 2010
+
+- service_harddrake:
+ o remove 'Disable "dri"' from xorg.conf if nouveau is being used
+- drakxservices:
+ o translate more service descriptions (#46640)
+- detect "Rack Mount" Chassis as server
+- diskdrake:
+ o use device label even if it was not changed (#47456)
+ o allow resizing btrfs
+ o allow creating btrfs and nilfs2
+- drakboot
+ o remove "restricted" option from general advanced options (wasn't doing
+ anything with grub, and wasn't really useful with lilo)
+ o add per-boot-entry "lock" checkbox in advanced options to be able to
+ protect booting these entries with a password
+
+Version 13.15 - 17 March 2010
+
+- include 'mpt2sas' SCSI driver (#57833)
+- add mdadm raid10 support
+- package display_release_notes.pl so that "release notes" button works in Ones
+ & Flash live media (#58199) (broken since version 12.48 - 7 September 2009)
+- harddrake:
+ o identify HECI controllers as system devices (#58215)
+
+Version 13.12 - 25 February 2010
+
+- handle new drivers:
+ o webcam: stv06xx (#53940)
+- run_program:
+ use home and logname of user we are dropping privileges to, not 501
+- harddrake:
+ o display info about cores
+ o do not display 2 decades old CPU bugs
+ o try harder to match webcams (#53940)
+- detect_devices:
+ o fix merging PCI devices info from sysfs which resulted in
+ ill-informed devices matching (#57711)
+
+Version 13.11 - 10 February 2010
+
+- add support for asturian (#56990)
+- drakboot:
+ o fix crypted password detection
+
+Version 13.10 - 4 February 2010
+
+- handle new drivers:
+ o ATA: pata_atp867x, pata_piccolo, pata_rdc
+ o DVB: dvb-usb-ec168, dvb-usb-friio, earth-pt1
+ o ISDN: avmfritz, mISDNinfineon, netjet, speedfax, w6692
+ o network: vmxnet3
+ o radio: radio-miropcm20, radio-usb-si470x
+ o RAID: 3w-sas, hpsa, pmcraid
+ o SCSI: be2iscsi, bfa, pm8001, vmw_pvscsi
+ o TV: cx25821, saa7164
+ o wifi: r8187se, r8192_pci, r8192u_usb, rt2800pci, vt6655_stage, vt6656_stage
+- drakboot:
+ o default to always crypt grub passwords
+ o ensure /boot/grub/menu.lst permissions are 0600 since it can
+ contains a password
+ o fix support for crypted grub passwords
+
+Version 13.9 - 4 February 2010
+
+- drakboot:
+ o add support for crypted grub passwords
+ o always display security settings
+ o allow timeout to be '0'
+
+Version 13.5 - 26 January 2010
+
+- drakboot:
+ o fix reading security level
+ o enable to set bootloader password in high security level
+- harddrake
+ o detect "Hitachi" & "Maxtor" vendors for more hard discs
+ o fix displaying empty info for USB discs
+ o fix detecting firewire controllers with newer kernels
+ o guess real vendor names for SCSI discs like we do for IDE devices
+- booloader:
+ o fix bootloader entry name for rc kernels
+ o remove mnb from bootloader entry name like we do for mdv
+- diskdrake:
+ o support ddf1 dmraid
+
+Version 13.4 - 7 January 2010
+
+- installation mount points: reset unknown partitions types to default
+ fs (ext4) instead of hardcoded ext3
+- detect_devices:
+ o fix detecting pcmcia serial devices
+- diskdrake:
+ o show Ext4 instead of Ext3 in the gtk filesystems button box
+- harddrake:
+ o fix detecting some cameras
+
+Version 13.2 - 14 December 2009
+
+- fix creating devices
+ (really "fix handling hdX/sdX devices (#53107)")
+
+Version 13.1 - 10 December 2009
+
+- diskdrake
+ o fix setting volume label instead of MBR's one for FAT fses (#52853)
+- localedrake
+ o drop support for configuring KDE3
+ o fix configuring ibus (#56130, #56311)
+ o install 'ibus-qt4' if configuring ibus under KDE4 (#56311)
+
+Version 13.0 - 1 December 2009
+
+- bugfix for draklive-install: use ::prefix in pkgs::remove_unused_packages
+- devices detection:
+ o fix reading USB details (#55690)
+ o fix SCSI driver module name
+ o fix sysfs device path from usb devices
+- partitioning wizard:
+ o unmount swap too when unmounting all partitions
+ o do not suggest Windows mountpoint for mounted partitions
+ (breaks install if the Win partition is the installer media)
+ o suggest non-removable disks first
+- harddrake:
+ o do not display bogus "0" ids for hard disks
+ o fix detecting some mice
+- bootloader:
+ o do not add removable drives as "Windows" entry in bootloader
+ o do not pass deprecated --ifneeded option anymore to mkinitrd
+- detect better invalid dos partition table (fixes a crash in harddrake)
+- mygtk2:
+ o allow labels to be set selectable
+- diskdrake:
+ o allow copying disk and partition infos (#55886)
+- localedrake:
+ o do not warn about already installed packages when run as user
+
+Version 12.78 - 18 November 2009
+
+- kill draksplash
+- bootloader-config:
+ o fix migrating swap to UUID
+- drakboot
+ o remove CONSOLE_LOGO support
+ o rework UI layout to account for CONSOLE_LOGO support removal
+- diskdrake:
+ o allow to convert ext2/3 to ext4 but do not enable flags
+ o don't request ntfs-3g on target not yet installed system if we are
+ run inside draklive-install (#55160)
+ o fix detecting hidden partitions as recovery
+ o fix handling hdX/sdX devices (#53107)
+- display_help:
+ o handle window.close() events (#55099)
+ o hide Gtk+ "close" button when displaying first time wizard that
+ now has a HTML "close" button again
+- harddrake:
+ o use actual package name to check for libalsa-plugins-pulseaudio
+ availability instead of using the name of a provide
+- partitioning wizard:
+ o only display Help button in install
+
+Version 12.77 - 30 October 2009
+
+- harddrake service: do not try to reconfigure xorg driver and crash
+ if /etc/X11/xorg does not exist (breaks One startup)
+- bootloader suggestion fixes (to fix removal of vga= option when
+ updating with the installer):
+ o make sure we use long name when adding second kernel with same
+ extension than preferred one
+ o do not add again kernels that are already in bootloader config file
+ o add vga= option for kernels that are not the preferred one as well
+ o remove previous linux-nonfb entries (like done for failsafe),
+ not to add them twice or more
+
+Version 12.74.2 - 29 October 2009
+
+- notify-x11-free-driver-switch, service_harddrake:
+ o explain why xorg driver was reconfigured
+
+Version 12.74.1 - 29 October 2009
+
+- service_harddrake:
+ o fix detecting nvidia71xx and nvidia96xx nvidia proprietary driver
+ when checking if current xorg driver still supports current card
+
+Version 12.74 - 28 October 2009
+
+- partitioning wizard (Windows resize):
+ o fix partition size computing (fixing pixel/sectors ratio)
+ o improve default resizing suggestion:
+ * try to keep at least 1GB free for Windows
+ * try to use from 6GB to 10% free space for Linux
+ o use same windows partition size suggestion for gtk and text installs
+ o really ensure keeping free space for Linux partition
+ o really ensure keeping free space for Windows partition
+- service_harddrake:
+ o auto reconfigure x11 only on first time default driver have changed
+ o do not auto reconfigure if more than one graphic card
+ o do not reconfigure to default driver if driver is not installed
+ o enable to disable reconfiguring to default driver through
+ /etc/sysconfig/harddrake2/service.conf
+ o fix detecting nvidia proprietary driver when checking if current
+ xorg driver still supports current card (#54943)
+ o reconfigure X11 driver if current X11 driver is neither one of
+ currently supported driver for the card for drivers other than ATI
+ & NVidia too (eg: poulsbo)
+
+Version 12.72 - 27 October 2009
+
+- drakboot:
+ o drop support for --splash
+- service_harddrake:
+ o explain why we switch driver in explanations
+ o reconfigure X11 driver if current X11 driver is neither one of
+ currently supported driver for the card, nor a legacy driver
+ ('fbdev' or 'vesa') (#53753)
+
+Version 12.71 - 23 October 2009
+
+- cpufreq: load e_powersaver for VIA C7 (#41377)
+
+Version 12.70 - 22 October 2009
+
+- curses backend: do not crash when resuming interface
+
+Version 12.68 - 19 October 2009
+
+- avoid error messages when using lvm in draklive-install (#36415)
+- partitioning wizard:
+ o use mandriva logo on blue background for mandriva partition
+ o fix option selection when using keyboard
+
+Version 12.67 - 18 October 2009
+
+- service_harddrake: allow to force screen resolution using
+ RESOLUTION_WANTED=XxY in /etc/sysconfig/harddrake2/service.conf
+- partitioning wizard:
+ o use a different color for newly created partition
+ o add legend for the colors
+ o display mount point if known
+ o display ext2 like ext3/4
+ o allow setting new windows size with keyboard (#54691)
+ o use available space
+
+Version 12.66 - 15 October 2009
+
+- finish-install: do not offer to configure 3D desktop if none is
+ installed (requires drak3d >= 1.27)
+- mount windows partitions under /media instead of /mnt (#53392)
+- partitioning wizard:
+ o initialize correctly labels for windows resizing
+ o fix labels for windows resizing when getting back to the screen
+ o offer to resize last big enough windows partition instead
+ of the first one, until user can chose
+- resize disk graphical description when resizing diskdrake
+
+Version 12.65 - 14 October 2009
+
+- partitioning wizard:
+ o allow using existing partition on all disks (#54478)
+ o reduce drawings height
+ o fix windows resize width
+- use UTF-8 for zh_TW (#53976)
+- bootloader:
+ o use initrd-2.6.30.2-xen-5mdv.img instead of initrd-xen-2.6.30.2-xen-5mdv.img
+ o do not link /boot/vmlinuz to xen while allowing a unversioned /boot/vmlinuz-xen
+
+Version 12.64 - 12 October 2009
+
+- run_program layer:
+ o keep a copy of the X11 cookie
+ o try harder to drop privileges
+- partitioning wizard:
+ o put back "previous" button on actions (#54475)
+ o fix typo in message
+ o fix testing interactive::gtk in standalone mode
+ o fix displaying help
+- drakups
+ o fix crash (#54399)
+
+Version 12.63 - 9 October 2009
+
+- drakboot:
+ o fix displaying arrows
+
+Version 12.62 - 9 October 2009
+
+- autologin/desktop configuration (shared code):
+ o fix guessing dm name from lookupdm
+ o abort configuration if dm install fails
+
+Version 12.61 - 8 October 2009
+
+- partitioning_wizard:
+ o do not fail when a windows partition is corrupted
+ o add separator between solutions
+ o give more space between header and solutions
+ o prevent cursor to go under needed size because of rounding
+ o chose windows resizing when clicking on the resize handle (not perfect)
+ o improve resizing captions layout
+- autologin/desktop configuration (shared code):
+ o fix /etc/X11/lookupdm usage during install (for default dm selection)
+ o use gdm for xfce4 and LXDE
+
+Version 12.59 - 7 October 2009
+
+- add back ram devices support (used by draklive)
+- do not set mountpoints for rescue partitions (#53504)
+- factorize default FS definition
+- switch to ext4 by default
+
+Version 12.58 - 5 October 2009
+
+- display_help
+ o block right click contextual menu
+ o do not display "Help" title for first time wizard
+
+Version 12.57 - 5 October 2009
+
+- drakboot:
+ o fix crash on clicking Up/Down buttons (#54077)
+
+Version 12.56 - 30 September 2009
+
+- harddrake:
+ o better check for PCI Express capability
+ o nicer display of PCI Express name
+
+Version 12.55 - 23 September 2009
+
+- harddrake:
+ o display PCI revision (#42576)
+ o report if devices are PCI or PCI Express (#28479)
+
+Version 12.54 - 23 September 2009
+
+- drakboot:
+ o don't detect disks if we are not in bootloader or splash mode
+- autologin/desktop configuration (drakboot/finish-install):
+ o when detecting default desktop, use first session
+ (instead of using hacks with dm config files)
+ o guess display manager from /etc/sysconfig/desktop,
+ or default session, or /etc/X11/lookupdm
+ o read autologin settings from /etc/sysconfig/autologin as fallback
+ o read kdm config file only if kdm is to be used
+ o always ensure dm is installed before configuring autologin/desktop
+ o test display manager instead of desktop when configuring autologin
+ o always write /etc/sysconfig/desktop
+ o write DISPLAYMANAGER in /etc/sysconfig/desktop too
+ o only write dm conf files if they exist before
+
+Version 12.53 - 22 September 2009
+
+- drakxtools_http:
+ o use LSB-compliant init script
+- drakboot:
+ o use stock icons for up & down buttons in order to pack them
+ horizontaly so that we fit in default sizing(#53703)
+- drakhelp
+ o fix check for missing help
+- diskdrake
+ o suggest a LVM name and refuse empty or existing one (#53769)
+ o prefer UUID on VirtIO too
+ o don't consider lvm named md* as raid (#53767)
+ o allow resizing ext4
+- fix touchscreen module list
+- list asix module in network/usb group
+
+Version 12.51 - 8 September 2009
+
+- display_help
+ o new small webkit based browser for rendering help and for FTW
+- harddrake:
+ o fix detecting some memory card readers as unknown
+ o allow to skip XFdrake framebuffer setup (and thus splash removal)
+ if SETUP_FB is set to "no" in /etc/sysconfig/harddrake2/service.conf
+ (requires drakx-kbd-mouse-x11 >= 0.79)
+
+Version 12.49 - 8 September 2009
+
+- mygtk2:
+ o created 'WeaknessCheckEntry' widget
+- adduserdrake:
+ o added tooltip text to weakness icon
+ o now use 'WeaknessCheckEntry' widget
+
+Version 12.48 - 7 September 2009
+
+- mygtk2:
+ o HScale widget: added digits and ref_value options
+ o HScale widget: fix for value option
+- adduserdrake:
+ o use icons to display password weakness
+- added security-{low,medium,strong}.png pixmaps used for
+ password weakness display
+- authentication:
+ o reduced password weakness check level
+- draksound:
+ o Fix soundprofile alternatives setting by using a more appropriate subroutine
+
+Version 12.46 - 28 August 2009
+
+- handle new drivers:
+ o DVB: dvb-usb-ce6230
+ o sound: snd-indigodjx, snd-indigoiox, snd-lx6464es
+ o wireless: ar9170usb, mwl8k, r8192s_usb, rt2800usb, rt3070sta
+- adduserdrake
+ o added weakness check for root password
+- drakboot:
+ o fix crash bug #52997
+- diskdrake:
+ o fix for libparted 1.9 (#52991)
+- detect_devices:
+ o fix VirtIO devices support
+
+Version 12.45 - 18 August 2009
+
+- drakbug
+ o Top textbox shrinked
+ o Added browse button
+- drakhelp
+ o fix firefox launch bug #29775
+- added the ability to add up/down buttons in add_modify_remove list
+ of interactive
+- drakboot :
+ o user is now able to re-order bootloader entries
+- diskdrake
+ o never pass username/password as options with davfs2
+ o store credentials in davfs2 secret file before mounting
+ o when user does not specify user/pass with davfs2, fallback to nobody/nobody
+ o Fix a crash with regexp when a /etc/davfs2/secrets line is
+ finished with one or more blank characters without comments
+ o added the ability to exit the davfs2 mountpoint settings panel
+ o added delete mountpoint support for davfs2
+- adduserdrake
+ o now use password weakness display
+- added password weakness display feature in interactive
+- handle new drivers:
+ o sound: snd_ctxfi
+- draksound
+ o fix enabling and disabling with udev-detect properly (new PA)
+ o introduce the concept of soundprofiles for enabling/disabling PA
+ o remove alsa->pulse routing option (enabling pulse but not alsa redirection is a niche setup)
+
+Version 12.44 - 13 August 2009
+
+- fix parsing dmidecode output (broken since we use dmidecode-2.10,
+ aka since November 24 2008) (#50106)
+- localedrake
+ o add "English (South Africa)" (#51057)
+- fix window creation (#52812)
+- don't add useless install lines in modprobe.conf
+
+Version 12.43 - 10 August 2009
+
+- draksound
+ o handle udev-detect module too (new PA)
+- diskdrake
+ o do not display nmblookup usage when there is no samba server
+ o do not crash when /etc/davfs2/secrets contains empty lines (like
+ the default one) (#52305)
+ o do not crash when trying to create a partition on a device with
+ no cylinder_size
+ o fix two crashes on handling devices
+- use gtk instead of X to focus window
+
+Version 12.40 - 22 July 2009
+
+- lookup unlisted devices in /sys (or /proc) when looking for
+ major/minor of a device (#49339)
+- don't log the links we ignore when looking for scsi devices (#49406)
+
+Version 12.39 - 16 Jun 2009
+
+- properly handle hidden variables in installer and diskdrake.
+
+Version 12.38 - 12 Jun 2009
+
+- use Hal list of recovery partitions (#51532)
+- use blkid instead of vol_id which we no longer ship
+
+Version 12.37 - 02 Jun 2009
+
+- fixed crash when trying to get input devices (#51308)
+
+Version 12.36 - 29 May 2009
+
+- added support for toggling 'hidden' parameter on widgets.
+- ide-disk module is now named ide-gd_mod
+- add new 'touchpad' TYPE to rpmsrate
+- add support for ElanTech touchpads (found on EEEPCs)
+- harddrake:
+ o adding sierra module to network/cellular.
+ o fix detecting scanners
+- scannerdrake:
+ o do not reject scanners handled by 'usbcore' driver
+- detect_devices:
+ o don't ignore FB-DIMM memory
+
+Version 12.32 - 23 April 2009
+
+- don't set umask=0 by default on windows partitions in 'secure' level.
+- handle virtio block devices
+
+Version 12.31 - 22 April 2009
+
+- diskdrake:
+ o handle partition starting after 1To
+
+Version 12.30 - 21 April 2009
+
+- add a basic testsuite (ensuring it compiles) in order to prevent
+ future crashes like #50009
+- diskdrake:
+ o display a progress bar while formatting an ext4 partition
+ o render ext4 partition as red like ext3 ones
+- finish-install:
+ o ensure ntp package is installed when configuring ntp
+- harddrake:
+ o fix wrongly selecting some 32bits packages on x86_64 (#50148)
+- service_harddrake:
+ o do not crash if loading new drivers fails
+ (happened with amd64_agp wrongly listed in pcitable, #43870)
+
+Version 12.29 - 21 April 2009
+
+- finish-install:
+ o handle both "ll_CC" and "ll" locales parameter (#49914)
+- harddrake:
+ o do not offer to install java plugin (#48520)
+
+Version 12.28.2 - 19 April 2009
+
+- harddrake:
+ o always detect PCI modems (even when (slow) detecting serial modems
+ is disabled) (#48017)
+ o do not offer to install KDE packages on GNOME or LXDE (#49671)
+
+Version 12.28.1 - 16 April 2009
+
+- diskdrake:
+ o fix crash (#50009)
+
+Version 12.28 - 15 April 2009
+
+- diskdrake:
+ o handle md devices not called md\d+, like md_d127
+ o display an error when mount fails during View action
+- bootloader:
+ o keep grub entries which refer to unknown devices verbatim instead
+ of crashing (#48728)
+
+Version 12.27 - 14 April 2009
+
+- diskdrake:
+ o Only write raid config into $::prefix if we are in install mode,
+ this fixes draklive-install which should write to /etc directly as
+ $::prefix does not yet exist (#49632)
+- draksound:
+ o enable to enable/disable glitch-free feature of PA
+- harddrake:
+ o do not open branches by default
+ o fix listing some ATA (eg: pata_marvell) devices as unknown
+
+Version 12.25 - 08 April 2009
+
+- harddrake service:
+ o do not try to add media to /etc/fstab (#49621)
+ o do not check anymore for disks on startup
+- harddrake:
+ o list card readers as system components instead of unknows devices
+ o when device has no description, use vendor string
+- bootloader: add large-memory option to lilo
+
+Version 12.24 - 03 April 2009
+
+- fixed crypto module names when arch is not i586 (#46814)
+- drakauth:
+ o handling winbind configuration when REALM != DNS (#49189)
+- handle new drivers:
+ o gigabit: be2net, slicoss
+ o wireless: agnx, arusb_lnx
+ o dvb: dvb-usb-dtv5100
+
+Version 12.20 - 30 March 2009
+
+- draksec:
+ o added support for drakroam authentication (#29566).
+- changed X server restart routing not to rely on ctrl-alt-del (#49059).
+- fixed a typo in list_modules for virtio modules
+- diskdrake:
+ o updated list of filesystems not handling bad blocks checking
+ o display label in the graphical view when no mountpoint is set
+ o always display label in partition info
+- handle new drivers:
+ o wireless: iwlagn
+
+Version 12.18 - 25 March 2009
+
+- add new Entry infrastructure for rpmdrake
+- detect_devices:
+ o only look at valid scsi devices in /sys
+
+Version 12.17.1 - 21 March 2009
+
+- fix syntax error in nb translation file
+
+Version 12.17 - 21 March 2009
+
+- add infrastucture for detecting vmware
+- diskdrake:
+ o allow LVM in non expert mode
+ o allow Encrypted partition inside LVM
+
+Version 12.16 - 18 March 2009
+
+- handle new drivers:
+ o wireless: wl
+- diskdrake:
+ o don't crash when creating a partition in LVM with the partition type
+ buttons (#38078)
+ o write partition table if needed before setting label
+ o fix setting label on not yet formatted partition
+- drakbug:
+ o add error to summary when crashing in order to help sort duplicates
+
+Version 12.5 - 5 March 2009
+
+- handle new drivers
+ o dvb: dm1105, dvb-usb-af9015, dvb-usb-cinergyT2, firedtv
+ o ethernet: smsc9420
+ o gigabit: atl1c
+ o pata: cs5536, it8172, it821x
+ o ISDN: hfcpci, hfcmulti, hfcsusb, solos-pci
+ o USB controllers: hwa-hc, whci-hcd
+ o wireless: ath9k, i2400m-usb, rt2860, rt2870 and rtl8187se
+- drakauth:
+ o only install and enable pam_ccreds when required (#44027)
+- finish-install:
+ o finit support
+ o give console rights for current session when renaming user
+- drakdvb:
+ o install w_scan if needed (#48242)
+- harddrake:
+ o all "gpsca*" driven devices are webcam
+- localdrake/finish-install:
+ o fix reading default input method setting
+- remove extents options on ext4 when updating fstab
+
+Version 11.91 - 25 February 2009
+
+- harddrake:
+ o hide module configuration button if needed (#16678)
+ o remove empty module parameter instead of writing them (#40581)
+- harddrake service:
+ o prevent wrongly notifying we switched from proprietary to free
+ driver (anssi, #41969)
+ (regression introduced in 11.70 on 16 October 2008)
+
+Version 11.90 - 25 February 2009
+
+- drakboot
+ o do not crash b/c ext4 was forbidden for /boot (#47853)
+- diskdrake
+ o really don't set extents option for ext4
+- drakdvb:
+ o sort channels list
+ o prefer vlc if present
+ o kill running vlc if configured with one-instance by default
+ (it does not use DVB options from new command line)
+
+Version 11.88 - 16 February 2009
+
+- mygtk2 layer:
+ o make references usable for entries
+- reorganized modules in fs section of list_modules and added reiser4
+- diskdrake:
+ o limit partition type list to 2 colmuns instead of 4
+ o don't offer to format LVM
+
+Version 11.87 - 14 February 2009
+
+- diskdrake:
+ o allow resizing on lvm for mounted ext3/4 and not mounted xfs
+ o use a list instead of combo in the partition type selection window
+ o don't crash on invalid partition table
+
+Version 11.86 - 12 February 2009
+
+- diskdrake:
+ o forget the changed label when the user cancels
+ o fix preserving UUID when formatting ext* and swap, and handle more FS (#39913)
+ o don't set useless extents option for ext4 mounts
+- localedrake:
+ o set scim-thai as default IM for Thai
+- drakboot:
+ o when installing to a removable device, put boot sector there, else
+ put it into first non removable drive (#47106)
+- do_pkgs:
+ o add ensure_files_are_installed
+- load cbc for encrypted loop
+
+Version 11.81 - 3 February 2009
+
+- interactive::curses:
+ o use a real file selector in curses too
+- diskdrake:
+ o don't rewrite label when it did not change (#47186)
+ o rewrite gpt support with libparted
+ o allow browsing partitions content to easily select the ones to destroy
+- drakdvb: introduce new DVB channels scanning tool
+ (from Pascal Terjan)
+- draksound:
+ o disable auto spawning when diasbling PA (#47258)
+
+Version 11.80 - 21 January 2009
+
+- diskdrake:
+ o don't use label for mounting partitions on lvm (#47024)
+- draksec:
+ o changed draksec functionality to prevent overlapping with msecgui.
+- use "ComboBoxEntry" gtk2 widget instead of "Combo" (which is deprecated),
+ this also workarounds gtk2 bug with "hidden" Entry + "Combo"
+
+Version 11.79 - 16 January 2009
+
+- drakbug:
+ o ask to attach blkid output as well as /etc/fstab & the like when
+ debugging a boot issue
+ o do not ask to include kernel version & /proc/cpuinfo since this is
+ done automatically
+ o request to attach lspcidrake's output rather than include it
+ (smaller descriptions)
+- diskdrake:
+ o disable resizing ext4 since resize2fs is known to be broken regarding extents
+ o --smb: fix netbios name resolution (#42483, thanks to Derek Jennings)
+- scannerdrake:
+ o fix a crash when installing firmware (#40738)
+
+Version 11.77 - 15 January 2008
+
+- diskdrake:
+ o --smb: cifs must be used instead of smbfs (#42483)
+ o ext4dev is now stable and called ext4 in 2.6.28+
+ o allow editing partition label without formatting (bootloader config is not
+ yet updated)
+ o allow setting label on NTFS and reiser4 partitions
+ o don't suggest mountpoint outside install (#39596)
+- harddrake:
+ o fix displaying in proper category sound coprocessor & misc ACPI event keys
+- prevent mdkapplet from crashing (#46477)
+
+Version 11.76 - 18 December 2008
+
+- diskdrake:
+ o use sysfs in order to discover major/minor for SCSI like devices
+ since they're dynamic with kernel-2.6.28+
+
+Version 11.75 - 17 December 2008
+
+- handle new driver:
+ o network: sxg, w35und
+- bootloader-config:
+ o do not modify /boot/vmlinuz symlinks before doing mkinitrd in case
+ mkinitrd fails (#44862)
+- diskdrake:
+ o --nfs: handle "host:/" (#44320)
+ o --nfs: handle domainname not set
+ o kernel-2.6.28+ supports more than 15 partitions on SATA & SCSI devices
+
+Version 11.73 - 15 December 2008
+
+- diskdrake:
+ o fix crashing on writing fstab when using SMB (#46084)
+ o fix racing with udev (#41832)
+- drakboot:
+ o enable to disable SMP support (#31339)
+- scannerdrake:
+ o install task-scanning (so that xsane-gimp got installed)
+
+Version 11.72 - 9 December 2008
+
+- handle new driver:
+ o network: et131x, smsc95xx
+- drakbug:
+ o write distro release in bug description
+- finish-install:
+ o use /dev/urandom instead of /dev/random to generate salt for passwords
+ (since reading on /dev/random can block boot process)
+ o show only installed 3D desktops
+ o adapt to new Xconfig::glx API (drak3d 1.21)
+- harddrake:
+ o do not list PATA controllers as SATA
+ (else we could just list all ATA controllers together)
+ o do not show duplicated hardware as unknown (#46242):
+ * list PC Speaker as sound card
+ * track duplicated input devices
+ * try harder to find duplicates
+- ugtk2:
+ o allow showing Skip button instead of Cancel in wizards
+- diskdrake:
+ o lookup for Samba master browsers too
+
+Version 11.71 - 6 November 2008
+
+- diskdrake
+ o --dav: handle davfs2 credentials in /etc/davfs2/secrets (#44190)
+ o --dav: handle https
+
+Version 11.70 - 16 October 2008
+
+- handle new driver:
+ o ide: tx4939ide
+- libDrakX:
+ o share infrastructure so that rpmdrake can get rid of some gray
+ windows
+- harddrake service:
+ o do not backup xorg.conf if we won't change the driver
+
+Version 11.67 - 2 October 2008
+
+- detect_devices:
+ o allow detection of low resources systems (extracted
+ from compssUsers.pl) and netbooks/nettops
+ o do not detect pan* devices as ethernet devices for now
+ (network configuration tools do not fully support them)
+
+Version 11.63 - 1 October 2008
+
+- bootloader-config (and other tools): handle /dev/mapper/xxx1 instead of
+ /dev/mapper/xxxp1 (#44182)
+- service_harddrake: enable/disable apmd if needed
+- adapt ask_window_manager_to_logout() to make it work (need usermode changes)
+
+Version 11.62 - 1 October 2008
+
+- fix dithering regression (introduced on 2008-09-29)
+- render banner background with dithering
+ (smoother on 16bpp displays)
+
+Version 11.61 - 30 September 2008
+
+- bootloader-config:
+ o --action migrate-to-uuids:
+ o do not migrate non sdx/hdx to UUID (bootloader config)
+ o do migrate dmraid device names to UUID
+ (because of xxx1 vs xxxp1 device name issue, cf #44182)
+ o fix dropping "chainloader" and "configfile" entries (#44045)
+- reduce banner font size
+
+Version 11.60 - 30 September 2008
+
+- libDrakX:
+ o fix rpmdrake crashing when description begins by "Gtk2::.."
+ (#43802)
+- drakperm:
+ o show banner when not embedded
+ o use Gtk+2's FileChooserDialog
+
+Version 11.59 - 29 September 2008
+
+- libDrakX:
+ o add support for Gtk+2's FileChooserDialog for draksnapashot
+- drakbug:
+ o handle strange DBus errors
+
+Version 11.58 - 29 September 2008
+
+- libDrakX:
+ o add spacing between radio buttons for readability (#44332)
+ o render left background of MCC with dithering (looks better on
+ 16bit displays)
+
+Version 11.57 - 29 September 2008
+
+- libDrakX:
+ o better positionning of mcc selection bar
+- draksplash:
+ o fix crashing when altering read-only combo boxes
+ (regression introduced in 11.37 on 2008-09-08)
+ o improved layout
+ o increase default width so that translated widgets fit in
+ o make it fit in 800x600 resolution (#36105)
+
+Version 11.56 - 26 September 2008
+
+- dmraid devices: use isw_xxxxp1 instead of isw_xxxx1 (see #42542, #44182)
+- do not display Help buttons in standalone mode since we do not have
+ any contents
+- factorize WebKit code with mcc
+
+Version 11.54.2 - 26 September 2008
+
+- bootloader-config:
+ o --action migrate-to-uuids: be more precautious when modifying /etc/fstab
+ (especially do not drop unrecognised entries) (#43548)
+
+Version 11.54.1 - 25 September 2008
+
+- make gray background gradient available to mcc
+
+Version 11.54 - 25 September 2008
+
+- enable mcc to not display any shadow around HTML view when using
+ scrollbars
+- make sure mcc always have fillers
+
+Version 11.53 - 25 September 2008
+
+- add support for new MCC style
+- fix icon alignment in banners
+
+Version 11.52.1 - 24 September 2008
+
+- libDrakX:
+ o add support for new mcc style
+
+Version 11.52 - 23 September 2008
+
+- drakbug:
+ o enable to disable it trough the DISABLE_DRAKBUG environment variable
+ o fix sizing some labels (workarounding infamous 6 years old gnome
+ bug #101968)
+- harddrake service:
+ o auto-configure floppies
+ (may require to load floppy module at first boot on a new system)
+ o do not try to run drakbug
+
+Version 11.51 - 23 September 2008
+
+- finish-install:
+ o set dialog hint if drakx-matchbox-window-manager is used
+ (not to maximize windows)
+- kill drakprinter link (#44115)
+
+Version 11.50 - 22 September 2008
+
+- restore support for right alignement for simple widgets
+ (regression introduced in 11.46 - 17 September 2008)
+- bootloader-config:
+ o fix handling fd0 (regression introduced in 11.44) (#44049)
+
+Version 11.49.2 - 22 September 2008
+
+- fix crash (#44053)
+- localedrake:
+ o add support for ibus
+
+Version 11.49.1 - 20 September 2008
+
+- install banner images in the proper directory (#44038)
+
+Version 11.49 - 19 September 2008
+
+- handle new driver:
+ o ethernet: enic, qlge
+- remove harddrake service (now run by mandrake_everytime)
+
+Version 11.48 - 18 September 2008
+
+- libDrakx:
+ o new banner style
+- bootloader-config, drakboot:
+ o handle /boot/grub/install.sh with no "root (hd...)" line
+ (this is the case for grub's installed prior to 2005-06-16)
+ (#43786, #43431)
+
+Version 11.47.1 - 17 September 2008
+
+- bug fix: add mandatory new modules for dm-crypt
+
+Version 11.47 - 17 September 2008
+
+- handle new driver:
+ o ethernet: jme
+- diskdrake:
+ o handle partitions encrypted with cryptsetup
+ o fix file system type drop down list showing most types as "..." in
+ "Change partition type" dialog in expert mode due to ellipsizing
+- harddrake2:
+ o detect network and graphical driver packages too
+- harddrake2 / remove-unused-packages:
+ o fix network packages detection
+- list btusb instead of hci_usb in bus/bluetooth (renamed in 2.6.27)
+
+Version 11.46 - 17 September 2008
+
+- scannerdrake:
+ o change all printerdrake references to system-config-printer
+- libdrakX:
+ o better layout for right aligned widgets
+- bootloader-config:
+ o --action migrate-to-uuids: do not migrate software raid to UUID (#43928)
+- license: put focus back on Refuse button by default
+
+Version 11.44 - 16 September 2008
+
+- bootloader-config:
+ o --action migrate-to-uuids: add UUID to swap v.2 in case the swap was
+ created long ago when mkswap didn't do it by default
+ o fix reading existing grub conf in present of /dev/mapper/xxxx0p1
+ partitions (which was causing bootloader-config to drop correct entries,
+ cf #37722)
+
+Version 11.43 - 16 September 2008
+
+- diskdrake:
+ o fix check for mdadm in live install (#43785)
+ o refresh GUI
+- harddrake:
+ o do not use anymore printerdrake and thus do not detect printers anymore
+
+Version 11.41 - 11 September 2008
+
+- fix default spacing between GUI elements
+- "Help" dialogs:
+ o add a separator before "Close" button
+ o put "Close" button of help at right end
+- finish-install:
+ o fix setting utf8 when using lang=xx from /proc/cmdline (#43566)
+- services (thanks to spuk):
+ o list ip6tables in "Internet" category
+ o list nfs-common and nfs-server in "File sharing" category
+ o list rpcbind in "System" category
+
+Version 11.40 - 10 September 2008
+
+- libdrakX:
+ o make advanced popup display the same title as their parents
+- drakboot
+ o fix nolapic/lapic logic due to altered kernel settings
+- fix input devices detection in rpmsrate (broken for 3 years, #43721)
+- finish-install:
+ o always ask timezone (#23303, #42368)
+ o extract a "country" step out of the "language" one
+ o guess country from timezone when possible (#23303)
+ o call "country" and "keyboard" steps after "timezone" (#23303)
+ o guess country from timezone without asking if COUNTRY is set to
+ "simplified" in the configuration file (#23303)
+ o behave nicely when a window manager is running (for debugging)
+
+Version 11.38 - 8 September 2008
+
+- libDrakX:
+ o fix missing maximize & minimize buttons with gnome WM (#43540) by
+ reverting change from 2008-09-01: "make all windows are "dialog",
+ so that gurpmi.addmedia during install displays nicely"
+ o make all windows be "dialog" during install, so that
+ gurpmi.addmedia during install displays nicely
+- diskdrake
+ o keep current UUID when formatting ext2/ext3 (was already done for swap),
+ so that fstab on other distros continue to work (#39913)
+ (requires e2fsprogs-1.41.1-2mnb2)
+- drakboot --boot
+ o drop the ability to set mem=xxx (#42329)
+ o allow UTF8 in /boot/grub/menu.lst (#43714)
+
+Version 11.38 - 8 September 2008
+
+- diskdrake
+ o fix file system type drop down list showing most types as "..." in expert
+ mode due to ellipsizing (#43611)
+ o fix too large partition bar (#43073)
+ o improved GUI
+
+Version 11.37 - 8 September 2008
+
+- add descriptions to menu entries (#26106)
+- do not size radio button that have a label (eg: drakauth) thus preventing
+ uneeded horizontal scrollbar to appear
+- drakauth:
+ o new look
+- drakboot:
+ o update /etc/sysconfig/desktop since we read it in order to display
+ previous setting
+- draksplash:
+ o make it fit better in 1024x768
+ o make it working again due to focus issue with two top windows (#43696)
+ o make some pull down menus not editable
+
+Version 11.36 - 5 September 2008
+
+- bootloader-config:
+ o --action migrate-to-uuids: backup conf file prior to migration with suffix
+ .before-migrate-to-uuids
+- libDrakX:
+ o fix handling KDE4 in running_window_manager() and ask_window_manager_to_logout()
+- merge remove-unused-hardware-packages and remove-unselected-locales
+ helpers into a new remove-unused-packages tool (and make it reusable)
+
+Version 11.35 - 4 September 2008
+
+- bootloader-config:
+ o add --action migrate-to-uuids
+- fix sizing some label (workarounding infamous 6 years old gnome bug #101968)
+
+Version 11.33.1 - 2 September 2008
+
+- libDrakX:
+ o handle KDE4 in running_window_manager() and ask_window_manager_to_logout()
+
+Version 11.30 - 1 September 2008
+
+- service_harddrake: adapt kernel modaliases that are not valid
+ anymore in modprobe.conf when booting a new kernel, this should fix
+ migration from e1000 to e1000e and from iwl4965 to iwlagn (#41248)
+- libDrakX:
+ o make all windows are "dialog", so that gurpmi.addmedia during install
+ displays nicely
+ o fix alignment of check buttons
+ o fix size of right aligned labels
+ o fix sizing radio buttons' labels (infamous 6 years old gnome bug
+ #101968)
+ o prevent big combo boxes to cause an horizontall scrollbar to appear by
+ using the "ellipsize" property
+ o no relief on 'advanced' buttons
+
+Version 11.29 - 29 August 2008
+
+- finish-install:
+ o use gurpmi.addmedia when available to configure urpmi media
+- diskdrake: use udevadm settle instead of udevsettle
+
+Version 11.26.1 - 28 August 2008
+
+- fix asterisk in titles
+
+Version 11.26 - 27 August 2008
+
+- fix "probe floppies only once" (#43216)
+- bootloader-config:
+ o call mkinitrd without "-v" to make it silent (#42992)
+- harddrake service:
+ o fix setting locales (#43224)
+- misc GUI improvements
+ o misc changes
+ o properly size some labels (infamous 6 years old gnome bug #101968)
+ o refresh "user management" step
+
+Version 11.22 - 21 August 2008
+
+- probe floppies only once
+- do not bother probing /dev/fd0 and loading floppy device uselessly,
+ it takes time and it is already done by boot process
+ (just check /proc/devices)
+- do not let MCC crashes if an icon is missing (#37651)
+
+Version 11.21 - 21 August 2008
+
+- diskdrake
+ o ensure we initialize only once but at least one, thus fixing crash
+ when embedded or in installer (#43011)
+- localedrake
+ o install proper qtX package for gcin
+
+Version 11.20 - 20 August 2008
+
+- diskdrake
+ o fix sizing partitions bar (#24410)
+ o increase default width of buttons so that they fit in expert mode
+- drakauth:
+ o handle pam_tcb instead of (deprecated) pam_unix (#42471)
+
+Version 11.16 - 19 August 2008
+
+- share new advanced icon with standalone tools
+
+Version 11.14 - 19 August 2008
+
+- authentication: enable network-auth meta-service if auth is not local
+
+Version 11.13 - 18 August 2008
+
+- do_pkgs: do not reload urpmi media at every check for package availability
+- finish-install: set locale at first step when language is selected
+ in gfxmenu (#42299)
+- move hardware packages detection code from installer to drakxtools
+- add helpers to remove unused localization and hardware packages
+ (remove-unselected-locales, remove-unused-hardware-packages)
+
+Version 11.10.2 - 18 August 2008
+
+- really fix another focus bug (#42750)
+
+Version 11.10.1 - 18 August 2008
+
+- fix another focus bug (#42750)
+
+Version 11.10 - 14 August 2008
+
+- diskdrake:
+ o refreshed GUI
+- localedrake:
+ o default to UTF-8 for chinese simplified (#42137)
+
+Version 11.6 - 8 August 2008
+
+- add product type to URL when fetching mirror list
+- enable to share code between draksnapshot, mdkonline & net_applet
+
+Version 11.5 - 6 August 2008
+
+- fix more strange focus bugs
+
+Version 11.4 - 5 August 2008
+
+- fix strange focus bugs
+
+Version 11.3 - 4 August 2008
+
+- drakedm:
+ o adapt to dm.d files being moved to /usr/share (#41879)
+ o do not try to configure an undefined dm
+
+Version 10.47 - 10 July 2008
+
+- fix reading and setting kdmrc (by resolving alternative in chroot)
+
+Version 10.46 - 10 July 2008
+
+- authentication:
+ o add back fix to force the password to be utf8 (#23273)
+ o fix reading md5/shadow options in /etc/pam.d/system-auth
+- finish-install: log in syslog
+
+Version 10.45 - 09 July 2008
+
+- update autologin file path for kdm4
+- default to KDE4 (instead of KDE) if kdm config exists when reading
+ autologin configuration
+- change default authentication to local (instead of ldap)
+
+Version 10.43 - 04 July 2008
+
+- detect KDE4 when configuring autologin
+
+Version 10.39 - 25 June 2008
+
+- bootloader-config:
+ o fix handling xen kernels: it should not replace an existing 'linux'
+ entry (#40865)
+- service_harddrake:
+ o handle nvidia173.ko (new legacy series of the proprietary driver)
+
+Version 10.37 - 18 June 2008
+
+- handle jpeg icons (needed for next rpmdrake)
+- draksound:
+ o do not set snd-ac97-codec's "power_save=1" options on MIPS
+
+Version 10.34 - 12 June 2008
+
+- partitioning wizard:
+ o do not propose to resize "hidden" fat partitions
+ o do not say "the Windows partition" when there can be more than one
+- allow mounting ntfs-3g partitions
+ (also fixes detection of Windows partitions during live installation)
+- service_harddrake:
+ o do not allow fbdev if /proc/fb is empty
+ o fix kbluetooth config path
+ o fix autoconfiguration of harddisks
+- drakupdate_fstab: make sure removable disks are not fs-checked on boot
+ (regression introduced in 10.6.3)
+- handle renamed drivers:
+ o ide-cd is now named ide-cd_mod
+ o generic is now named ide-pci-generic
+- authentication:
+ o add Kerberos Support
+ o add disconnected mode for Ldap, Kerberos, Windows auth
+ o add more options in Ldap configuration: Fetch DN, TLS
+ o remove Active Directory SFU
+ o change Winbind authentification to enable domain model choice (NT4 or AD)
+
+Version 10.33 - 29 May 2008
+
+- drakboot:
+ o only read bootloader configuration when configuring it
+ (usefull in chroots)
+- draksound:
+ o be more robust when managing /etc/alsa/pulse-default.conf
+- drakbug:
+ o automatically report CPU name & kernel version
+ o prefill the platform field
+- list hso driver in network/cellular
+
+Version 10.32 - 13 May 2008
+
+- draksound:
+ o advise to log out if PA is enabled/disabled
+ o disable PA routing when PA is disabled (#40219)
+ o grey PA routing & 5.1 sound if PA is disabled
+ o make sure that switch alsa-plugins-pulseaudio is installed when
+ enabling PA routing (#40533)
+- localedrake:
+ o advise to restart when changing system wide settings too
+- handle new drivers:
+ o pata: pata_sch
+
+Version 10.31 - 24 April 2008
+
+- bootloader-config:
+ o do not detect device.map inconsistency when "/boot" (or "/") is on Linux
+ software raid (/dev/mdX), cf #28309 and #35714
+
+Version 10.30 - 23 April 2008
+
+- bootloader-config:
+ o fix detecting device.map inconsistency when "/boot" and "/" are not on
+ same "drive" (esp. when "/" is LVM and "/boot" is not, #39229)
+- diskdrake:
+ o ensure no "division by zero" runtime error (#34931)
+- drakupdate_fstab:
+ o only add formatted partitions in fstab (or else it will make
+ subsequent boot fail)
+- fix file descriptor leak when detecting network driver
+ (mostly notable in network center and drakroam)
+- list generic module in disk/ide
+
+Version 10.29 - 3 April 2008
+
+- service_harddrake:
+ o fix detecting modules installed in new dkms locations (/dkms and
+ /dkms-binary) instead of /kernel
+- drakclock: write UTC setting in /etc/adjtime (#36522)
+
+Version 10.27 - 3 April 2008
+
+- drakboot:
+ o stop workarounding glibc misconfiguration when listing users
+ (#38116), it is now handled in MDK::Common (see #34279)
+- draksplash:
+ o do not write decimal values in theme config (#38271)
+- finish-install:
+ o configure urpmi media if network is up and no media are configured
+ (#38202)
+
+Version 10.25 - 1 April 2008
+
+- DBus framework improvement
+
+Version 10.24 - 1 April 2008
+
+- drakups:
+ o fix crash while removing an item (#34413)
+- harddrake:
+ o offer again to run drakxtv for TV cards (#39609)
+- diskdrake:
+ o allow relatime on ntfs-3g (#39666)
+- diskdrake --fileshare:
+ o do not ask to install nautilus-filesharing if already installed (#39544)
+
+Version 10.22 - 27 March 2008
+
+- partitioning wizard lirary:
+ o allow "Use free space" if there is an extended
+ partition even if all primary partitions are used (#38804)
+ (*old* bug!)
+- draksplash:
+ o fix reading grub conf (#39346)
+- services backend:
+ o handle services with "-" as default chkconfig level in more places
+- mygtk2:
+ o allow to create buttons with stock icons (for drakguard)
+- finish-install:
+ o really set the superuser password when using simplified user+root
+ dialog (#39218)
+
+Version 10.20 - 25 March 2008
+
+- do not run main_quit if not in a main loop (eg: while loading GUI)
+ but block window deletion instead (#39230)
+- adduserdrake
+ o force the password to be utf8 (#23273)
+- diskdrake --nfs
+ o ensure "nfs-common" is started (#34103)
+
+Version 10.19 - 21 March 2008
+
+- bootloader-config, drakboot:
+ o fix device.map if it is not consistent with the system
+ (eg: it says hd0 in sdb whereas it now is sda) (#39160)
+- diskdrake:
+ o fix setting mount point of a /dev/mdX (#39142)
+ (regression introduced in 10.8)
+- list gspca, ov51x-jpeg and qc-usb-messenger in webcam modules group
+- harddrake:
+ o recommend using insensitive search (#39136)
+ o notify at X11 startup when we switched to free video driver (#39164)
+- drakupdate_fstab:
+ o do not print added/removed mountpoints with --auto (when run from
+ harddrake, like in Mandriva One), but add a --verbose option instead
+
+Version 10.18 - 21 March 2008
+
+- drakfont:
+ o fix importing fonts without chkfontpath (#37604)
+ o stop restarting XFS server
+- diskdrake:
+ o keep existing swap UUID (#38877)
+- partitioning wizard: do not show error message in wizard mode when
+ cancel is clicked (clean wizard window instead)
+- finish-install:
+ o allow to ask both root and user accounts in the same step
+ o replace home path in user config files when renaming a user (#30380)
+
+Version 10.17 - 20 March 2008
+
+- use UUID by default (for diskdrake and draklive-install)
+- finish-install:
+ o write modprobe.conf after configuring network
+ o do not configure network if already up
+ o allow to use a simplified time step
+ (no timezone selection, ntp settings as advanced)
+- move functions to get available space from installer
+ (to be used in draklive-install)
+- localedrake: update OpenOffice/BrOffice alternative according to
+ selected lang (#37820)
+
+Version 10.16.1 - 18 March 2008
+
+- handle position for paned widgets (needed for rpmdrake, #38762)
+
+Version 10.16 - 18 March 2008
+
+- adduserdrake:
+ o display kdm/gdm icon again (was disabled on year ago)
+- do not write aliases for asus_acpi and thinkpad_acpi in
+ modprobe.preload, the modules are now handled by coldplug
+- draksec
+ o do not continue if installing msec crashed or was canceled (#38911)
+- localdrake:
+ o do not make /etc/sysconfig/i18n readable only by root in high
+ security level (#39027)
+- scannerdrake:
+ o use provides instead of package name now that gurpmi handle them
+
+Version 10.15 - 14 March 2008
+
+- fix changing UID on forking
+- scannerdrake: use package name instead of Provides.
+- create Gtk2::Notify::Queue out of Gtk2::NotificationBubble::Queue
+ for libnotify support in net_applet (#37509)
+
+Version 10.12 - 13 March 2008
+
+- fix gurpmi path (#38679)
+- diskdrake:
+ o graphical error message when "No hard drives found" (#38699)
+ (otherwise drakbug will catch it and suggest to report a bug...)
+- draksound:
+ o enable to set 5.1 channels (#38796)
+- scannerdrake: fix undefined variable $in (#36387, #37039)
+
+Version 10.11 - 11 March 2008
+
+- diskdrake:
+ o really fix partition device name for some dmraid (missing "p", cf #38363)
+- draksound (#37826):
+ o add support to enable/disable ALSA to PA routing (#37826)
+ o add support to enable/disable PulseAudio
+ o add support to enable/disable user switching
+ o display trouble shooting when there's no driver too
+ o enable to reset the sound mixer to default values
+- cpufreq: fix gsx-suspmod probe
+- scannerdrake: fix to open usbtable.gz instead of usbtable
+
+Version 10.10 - 6 March 2008
+
+- finish-install:
+ o do not show broken Cancel button in license step (#38195)
+- diskdrake:
+ o fix resizing/formatting ntfs (broken because of ntfs-3g switch in previous
+ release)
+ o fix partition device name for some dmraid (missing "p", cf #38363)
+ o do not timeout after 10 minutes when resizing NTFS partition
+- detect_devices:
+ o provide sysfs device path on Firewire and PCMCIA bus
+ (to be able to fix #33950 in drakx-net)
+
+Version 10.9 - 5 March 2008
+
+- adapt to new kernel-2.6.25's sysfs layout (Eric Pielbug, #38235)
+- diskdrake: use ntfs-3g by default for ntfs partitions
+- draksplash: do not re-install grub, only modify grub's config file
+- select proper padlock module for Via CPU (#38311)
+
+Version 10.7 - 3 March 2008
+
+- bootloader-config:
+ o have a nicer name for "mnb" kernels
+- drakbug:
+ o do not catch exception if $^S is undef
+ (occurs when "eval { require foo }" and foo.pm do "use not_available")
+- use gurpmi when installing packages if possible (#24044)
+
+Version 10.6.25 - 28 February 2008
+
+- harddrake:
+ o do not assign a mount point to partitions of type "Compaq diagnostics"
+- API changes for drakx-net and rescue
+
+Version 10.6.23 - 25 February 2008
+
+- drakboot:
+ o make sure users are not listed twice (#38116)
+- drakfont:
+ o fix crashing when encountering file names with meta characters on
+ windows partitions (#36482)
+- diskdrake:
+ o jfsprogs is now jfsutils
+- drop support for arch now that rpmdrake-4.3 dropped it
+
+Version 10.6.22 - 18 February 2008
+
+- diskdrake:
+ o fix switching from LABEL=xxx to /dev/yyy in fstab (#37914)
+- add support for snd-aw2
+- drakboot --boot:
+ o fix dropping grub "configfile" entries when switching to lilo
+- draksound:
+ o move all driver list & troubleshooting in an advanced expander
+
+Version 10.6.20 - 18 February 2008
+
+- diskdrake:
+ o final fix for resizing's failures due to udev's race
+ (when writing the partition, do not del/add the same partition)
+- harddrake GUI:
+ o install linuxwacom if needed
+- harddrake service:
+ o use acpi-cpufreq for Mobile PIII/Celeron
+ (family 6 model 11, for example Toshiba Portégé 3500)
+ o use speedstep-centrino only for supported models
+ and prefer acpi-cpufreq (patch from Herton, #30208)
+ o use p4-clockmod for some Intel family 6 processors not supporting EST
+
+Version 10.6.18 - 12 February 2008
+
+- handle 'icon-pressed' signal of Gtk2::Sexy::IconEntry
+
+Version 10.6.17 - 11 February 2008
+
+- add support for Gtk2::Sexy::IconEntry (needed for rpmdrake)
+- drakperm:
+ o warning dialogs are confusing since OK/cancel both ends in cancel,
+ let's offer only a cancel button
+
+Version 10.6.15 - 7 February 2008
+
+- harddrake:
+ o do not try to install openoffice64 on x86_64 (#37318)
+
+Version 10.6.14 - 5 February 2008
+
+- bootloader-config:
+ o never use "vmlinuz-desktop" or "initrd-desktop.img", always use "vmlinuz"
+ or "initrd.img" (#35721)
+- drakfont:
+ o fix crashing on file names with meta characters (#36482)
+- enhance the logout dialog (ok/cancel instead of yes/no)
+- short-circuit exit once drakbug was run on crash
+
+Version 10.6.11 - 31 January 2008
+
+- drakbug:
+ o autoselect distro version in bugzilla
+ o explain what is the usefull part of the gdb trace
+ o open help as user
+ o stop translating program name in bugzilla (#35241)
+
+Version 10.6.10 - 28 January 2008
+
+- handle new drivers:
+ o ethernet: cpmac
+ o gigabit: ipg
+ o pata/sata: pata_bf54x, sata_fsl
+ o sound: snd-at73c213
+ o tv cards: cx23885
+ o webcams: tcm825x
+- detect raid partitions based on either type 0xfd or vol_id detecting
+ linux_raid_member (#35684)
+- bootloader-config:
+ o fix handling LVM VGs with "-" in the name (#37267)
+ o do not drop "lock" in chainload entries from grub's menu.lst (#36398)
+- diskdrake --fileshare:
+ o adapt to nfs-utils service rename (nfs-server instead of nfs) (#37069)
+
+Version 10.6.9 - 25 January 2008
+
+- harddrake:
+ o class more sensors as biometric
+- drakbug:
+ o do not display twice "Cannot be run in console mode." message
+- finish-install:
+ o do ask again language (got wrongly disabled in 10.6.8)
+- harddrake service:
+ o backup xorg.conf before falling back to safe driver (#37182)
+
+Version 10.6.8 - 24 January 2008
+
+- bootloader-config, diskdrake:
+ o look for LVM PV on non partitioned disk before looking for DOS
+ partition_table (esp. for lilo which puts the DOS magic)
+- drakbug:
+ o make "Please describe what you were doing when it crashed" more
+ visible and force people to write something in before opening
+ bugzilla
+- mygtk2: make sure users of ::no_ugtk_init (eg: drakbug) do catch
+ exceptions in callbacks
+
+Version 10.6.6 - 22 January 2008
+
+- bootloader-config:
+ o fix root=xxx parameter for "/" on lvm using UUID= in fstab (#36542)
+- adapt to perl 5.10.0
+
+Version 10.6.5 - 14 January 2008
+
+- drakboot:
+ o fix handling root=UUID=xxx when modifying a bootloader entry (#36788)
+
+Version 10.6.4 - 14 January 2008
+
+- localedrake, drakx-finish-install:
+ o fix proposing Belgium when lang is "nl" and locales-fr is not installed
+ (same for Canada with lang "fr" and locales-en not installed) (#36413)
+
+Version 10.6.3 - 9 January 2008, by Thierry Vignaud
+
+- handle new drivers: atl2 (ethernet), snd-virtuoso
+- bootloader-config:
+ o fix regression introduced in 10.5.7: do not create alt_xxx entries when
+ adding a new entry in bootloader
+- harddrake:
+ o allow to set zero values in module options (#26515)
+ o make "Run config tool" available again (#34794)
+ o mark the service as interactive, so that package requests are
+ displayed with parallell init
+ o check that media are not USB keys before auto-configuring them (#34568)
+- drakupdate_fstab:
+ o never set "sync" option, use default fs options from drakx (#35204)
+ o remove --no-flag option, the "kudzu" option has not been written for ages
+- drakbug:
+ o report crash messages in the bug report only when --incident is used
+ (and not when tools explicitely run drakbug with --report)
+
+Version 10.6 - 11 December 2007, by Thierry Vignaud
+
+- handle new drivers:
+ o ethernet: fec_mpc52xx, niu
+ o gigabit: tehuti
+ o pata: pata_cs5536
+ o sata: sata_fsl
+ o wireless: b43, b43legacy, iwlwifi, libertas_cs, p54pci, p54usb
+- localedrake:
+ o adjust Uzbek locale (cf locales-uz change)
+
+Version 10.5.7 - 6 December 2007, by Thierry Vignaud
+
+- handle new drivers: e1000e, snd-oxygen, snd-pcsp
+- bootloader-config:
+ o do not drop entries "failsafe" and "linux-nonfb" when removing a kernel
+- localedrake:
+ o adapt to cooker: scim-tables-skim is now skim-scim-tables
+ o restrict the proposed input-methods for each language
+- bootloader:
+ o when reading existing menu.lst, keep verbatim entries for which the device
+ has no mount-point
+ o handle "alien" grub entries that will be kept verbatim (#23591)
+ o handle "root (hd...)" for menu.lst entries (#23591)
+ (nb: when writing, "root ..." will not be used)
+- diskdrake:
+ o drop "Undo", "Restore partition table", "Save partition table"
+ (preparing to switch to libparted)
+ o fix garbaged error messages when umounting fs
+ o disallow "Use for loopback" when the partition used for loopback is
+ not formatted (#35535)
+ o always display the {info} field of the drive (not only in expert mode)
+
+Version 10.5.3 - 9 November 2007, by Pascal "Pixel" Rigaux
+
+- bootloader-config:
+ o do not create "linux" entries for xen kernels, but "xen" entries instead
+- localedrake:
+ o fix handling variant together with charset (eg: uz.UTF-8@Latn) (#35090)
+- drakbug:
+ o prevent altering tool and the like when catching a bug (#35241)
+
+Version 10.5.2 - 6 November 2007, by Thierry Vignaud
+
+- diskdrake:
+ o add support for ext4
+- drakbug:
+ o keep buggy process around so that we can run gdb on it (if perl segfaulted)
+ o report gdb trace if possible
+- harddrake: detect storage and various controllers before anything else
+ (so that storage devices get detected at first boot on live)
+
+Version 10.5.1 - 31 October 2007, by Thierry Vignaud
+
+- bootloader-config:
+ o bootloader-config must not need network::network from libdrakx-net
+ o if drakx-kbd-mouse-x11 is not installed, simply don't add bootsplash
+ instead of dying
+- fix buttons order under KDE when using compiz (by detecting kde-window-decorator)
+- drakclock/finish-install: disable DPMS and screensaver when setting time,
+ not to blank monitor (#17031)
+
+Version 10.5.0 - 15 October 2007, by Thierry Vignaud
+
+- localedrake:
+ o do propose "Suisse" after selecting french language (#34675)
+- draksec:
+ o fix switching from "no_password" to "_password" (#34490)
+
+Version 10.4.239 - 5 October 2007, by Thierry Vignaud
+
+- finish-install: fix release notes window size
+
+Version 10.4.237 - 5 October 2007, by Olivier "blino" Blin
+
+- fix installed modules detection (#34478)
+- fix version reported by drakfont & harddrake
+- when checking dkms module packages, check that modules are either
+ available in urpmi media, or already installed (fix detection in live)
+- add shadow 'in' around Gtk2::SimpleList widgets
+
+Version 10.4.235 - 4 October 2007, by Thierry Vignaud
+
+- diskdrake --fileshare
+ o install nautilus-filesharing if nautilus is installed (#34262)
+- finish-install: use translations for network step
+
+Version 10.4.234 - 4 October 2007, by Olivier "blino" Blin
+
+- finish-install: use translations for keyboard and 3D steps
+
+Version 10.4.232 - 4 October 2007, by Olivier "blino" Blin
+
+- add helper to get kernel module path (to be used in draklive)
+
+Version 10.4.231 - 3 October 2007, by Nicolas Vigier
+
+- wizards :
+ o don't report a crash when an error prevent the wizard from
+ running (#34371)
+
+Version 10.4.230 - 3 October 2007, by Thierry Vignaud
+
+- drakboot --boot:
+ o if there is a /boot, check /boot instead of "/" to allow grub or not
+
+Version 10.4.226 - 2 October 2007, by Thierry Vignaud
+
+- drakauth:
+ o install lib64sasl2-plug-gssapi on x86_64 (instead of libsasl2-plug-gssapi)
+- draksec
+ o make authentication items be aligned
+- add ath5k module in wireless category
+
+Version 10.4.225 - 1 October 2007, by Thierry Vignaud
+
+- diskdrake:
+ o bugfix 10.4.162: allow "LVM" on RAID (#34359)
+ o improved wrapping of mount option descriptions (#19848)
+
+Version 10.4.222 - 28 September 2007, by Olivier "blino" Blin
+
+- allow interactive::gtk frontends to ask for a directory
+- allow interactive::gtk frontends not to pop wait messages
+
+Version 10.4.221 - 28 September 2007, by Olivier "blino" Blin
+
+- add back ipw3945 module in wireless modules list
+- allow to detect VirtualBox guest systems
+- add acpi-cpufreq support for some Intel CPUs (family 6 model 15)
+ (from Herton Ronaldo Krzesinski, #30208)
+
+Version 10.4.217 - 27 September 2007, by Thierry Vignaud
+
+- localedrake:
+ o allow to choose countries like "Angola" which have no locale (en_AO) in
+ the "best" countries (alas it won't be remembered, will only be used in
+ kde settings for now)
+- finish-install:
+ o display nicer HTML release notes rather than raw text version
+
+Version 10.4.213 - 26 September 2007, by Thierry Vignaud
+
+- drakbug
+ o don't report a non existant crash when run w/o --error
+ o when unable to access X11, just print the backtrace on the console
+- draksec:
+ o add a right delegation tab
+ o display arrows for tabs
+
+Version 10.4.210 - 24 September 2007, by Thierry Vignaud
+
+- diskdrake
+ o fix "Add to LVM"
+- drakclock:
+ o fix race on ugtk2->exit that causes a crash (#33894)
+- drakfont:
+ o handle fontpath.d
+ o size font directory list dialog
+
+Version 10.4.209 - 22 September 2007, by Olivier "blino" Blin
+
+- make formatXiB() handle negative numbers (for rpmdrake)
+- service_harddrake:
+ o auto-configure CD-Rom drives in fstab again (even if it prevents
+ KDE media manager from unmounting them), to be consistent with
+ install which actually configures CD-Rom drives in fstab
+
+Version 10.4.208 - 21 September 2007, by Olivier "blino" Blin
+
+- service_harddrake:
+ o do not auto-configure CD-Rom drives in fstab, it fordbids
+ umounting with hal (install does not configure them in fstab either)
+ o automatically configure harddisks
+- finish-install:
+ o write autologin settings after user creation only
+ (so that home is set and exists, should partly fix GNOME autologin)
+ o config first user to autologin if USER_AUTOLOGIN_FIRST is "yes"
+ o read gdm autologin settings
+- drakupdate_fstab: allow to configure harddisks
+
+Version 10.4.207 - 21 September 2007, by Thierry Vignaud
+
+- drakboot:
+ o create .dmrc with mode 0644 for gdm (#33774)
+- harddrake:
+ o fix listing DVD/CD as them and as unknown (#33366)
+ o stop offering to run drakxtv
+- localedrake:
+ o default input method is now scim-bridge (#32138)
+
+Version 10.4.203 - 19 September 2007, by Thierry Vignaud
+
+- diskdrake:
+ o "Clear All" defaults to LVM on full disk if drive is >4TB
+ o do not allow partitions bigger than 2TB-1 on DOS MBR, nor partitions
+ starting above 2TB-1
+- bootloader-config:
+ o handle /boot/xxx files on linux raid1
+- fix getting UUID on mdmadm (eg: md0) devices
+- getInputDevices(): keep "Bus=..." for drakx-kbd-mouse-x11
+
+Version 10.4.202 - 17 September 2007, by Thierry Vignaud
+
+- localedrake menu entries (#32941):
+ o hide system config
+ o make them more understandable
+
+Version 10.4.200 - 17 September 2007, by Thierry Vignaud
+
+- only run "chksession -l" if needed
+- bootloader-config:
+ o --rebuild-initrds: don't choke on kernel files which have no version in
+ file name (#28772)
+- drakboot:
+ o boot entrie list uses ellipsis rather than scroll bar
+- harddrake2:
+ o display model & vendor for SCSI devices too
+
+Version 10.4.198 - 16 September 2007, by Thierry Vignaud
+
+- fix a crash
+- localedrake:
+ o install scim-bridge-qt4 if KDE4 is installed
+
+Version 10.4.197 - 15 September 2007, by Thierry Vignaud
+
+- diskdrake:
+ o fix typo breaking reading fstab with UUID= entries
+- localedrake:
+ o enable to select 'scim-bridge' as IM
+ o install needed packages for skim
+ o install scim-qtimm for scim default config
+ o remove extra SCIM combinations (simpler)
+
+Version 10.4.195 - 14 September 2007, by Thierry Vignaud
+
+- distinct exceptions from segfaults, thus restoring catching SIGSEGV
+ and preventing looping while segfaulting again
+- fix loading of tifm_sd module (#18237)
+- run_program layer: enable to drop privileges through setuid()
+- drakbug:
+ o run the regular user browser (#33522)
+
+Version 10.4.193 - 13 September 2007, by Thierry Vignaud
+
+- drakbug:
+ o better behaviour when resizing
+ o use a TextView instead of Label so that text is selectable (see #33023)
+ o better formatting
+- draksound:
+ o prevent stupid & useless "driver for your sound card is unlisted"
+ o no more need to:
+ * list OSS/ALSA alternatives if none
+ * sync with list_modules
+
+Version 10.4.192 - 12 September 2007, by Olivier "blino" Blin
+
+- localedrake
+ o drop support for iiimf
+- list jmicron driver in disk/ide
+- library: have "defaults" mount option instead of empty string (for rescue)
+- service_harddrake: drop snd-usb-audio blacklist, now done with a modprobe.d file
+
+Version 10.4.190 - 5 September 2007, by Thierry Vignaud
+
+- display a warning when capslock is enabled and entering a password (#33028)
+
+Version 10.4.188 - 4 September 2007, by Thierry Vignaud
+
+- hardware detection layer:
+ o add support for tape device again (#31073)
+ o enumerate generic SCSI devices again
+- diskdrake
+ o add a comment (a la ubuntu) in fstab when using UUID=
+- harddrake
+ o detect PS2 to USB converters as keyboards
+ o display an identifier for generic SCSI devices
+ o list generic SCSI devices
+
+Version 10.4.184 - 3 September 2007, by Thierry Vignaud
+
+- diskdrake
+ o support for UUID in filesystems (and UUID=... in fstab)
+
+Version 10.4.183 - 31 August 2007, by Pascal "Pixel" Rigaux
+
+- bootloader-config
+ o handle new naming of vmlinuz flavors: vmlinuz-<version>-<flavor>-Xmdv
+ instead of vmlinuz-<version>-Xmdv<flavor>
+ o always use "linux" short name instead of "linux-<flavor>"
+ (since the long name is quite nice nowadays)
+- assume system is a laptop if it contains some "Intel Corporation|Mobile" devices
+ (fix Samsung Q1U detection, #32967)
+- draksound, harddrake service:
+ o enable snd-ac97-codec power_save=1 option if installed on laptop (#32213)
+
+Version 10.4.181 - 29 August 2007, by Thierry Vignaud
+
+- fix plural translating for C locale
+- diskdrake:
+ o fix displaying umount error message (#32273)
+ o write mdadm.conf when it is modified (#32360)
+ (a nicer fix would be to write it when needed, not so soon, but it's harder)
+ o change the legend and the colors per partition
+ o fix action "Type" on a software raid (eg: dm0)
+
+Version 10.4.172 - 21 August 2007, by Olivier "blino" Blin
+
+- ignore wmaster* devices when detecting wireless interfaces
+- misc mygtk2 updates
+
+Version 10.4.170 - 20 August 2007, by Thierry Vignaud
+
+- use '_' in modules names
+
+Version 10.4.169 - 14 August 2007, by Thierry Vignaud
+
+- adduserdrake, finish-install:
+ o create only one user
+ o fix checking user info (#32517)
+- diskdrake:
+ o add support for 'relatime' mount option
+ o kill support for 'nodiratime' mount option
+ o in fstab, have "xxx" instead of "defaults,xxx"
+
+Version 10.4.167 - 11 August 2007, by Thierry Vignaud
+
+- fix plural translations (#32505)
+- 'ibm_acpi' driver was replaced by 'thinkpad_acpi (#31606)
+
+Version 10.4.166 - 11 August 2007, by Thierry Vignaud
+
+- do a normal die if drakbug is not present
+- make Gtk2::MDV::CellRendererPixWithLabel RTL aware (#32450)
+
+Version 10.4.163 - 9 August 2007, by Pascal "Pixel" Rigaux
+
+- for XFdrake: use update-alternatives command instead doing things by hand
+ (this uses --set, new feature of update-alternatives) (#32362)
+- harddrake:
+ o display the PCI domain too
+ o handle nvidia-current.ko (Anssi Hannula)
+
+Version 10.4.162 - 08 August 2007, by Thierry Vignaud
+
+- fix fetching translations from "libDrakX-standalone" domain (#32402)
+- diskdrake:
+ o do not show partition types which have no associated filesystem
+ for LVM LV (#32326)
+
+Version 10.4.161 - 06 August 2007, by Thierry Vignaud
+
+- drakbug:
+ o exceptions with "\n" are considered normal ways to quit and thus
+ do not fire up drakbug (eg: #32292)
+- diskdrake:
+ o restore progress bar when formatting ext3
+
+Version 10.4.160 - 06 August 2007, by Thierry Vignaud
+
+- diskdrake:
+ o add support for "nodiratime" mount option
+ o fix range max value >2TB when creating a partition (useful for LVs >2TB)
+- drakxservices: describe a few more services (#18612)
+
+Version 10.4.159 - 06 August 2007, by Thierry Vignaud
+
+- diskdrake:
+ o allow setting "flush" option (for vfat)
+- drakbug: do not report "wizcancel" exceptions (#32308)
+
+Version 10.4.157 - 03 August 2007, by Thierry Vignaud
+
+- report real version on --help
+- drakbug:
+ o report version of drakbug
+- list iwl3945/iwl4965 modules (and unlist ipw3945)
+- logdrake:
+ o display "save" & "quit" button when run from the control center
+
+Version 10.4.156 - 02 August 2007, by Thierry Vignaud
+
+- localedrake:
+ o adapt configuration of consolefonts for kbd
+- logdrake:
+ o fix crash if /var/log/explanations doesn't exist (#32234)
+
+Version 10.4.153 - 02 August 2007, by Thierry Vignaud
+
+- drakbug:
+ o ask people to report lspcidrake -v output rather than lspci since it's more
+ usefull to us
+ o display the program that actually crashed and the error message
+ o do not fire on exceptions in eval { }
+ o do not loop if drakbug crashes
+ o put full backtrace on bugzilla, not only last call point
+
+Version 10.4.152 - 01 August 2007, by Thierry Vignaud
+
+- drakbug:
+ o add --error option in order to provide a backtrace
+ o fix crashing on unknown programs
+ o fix passing several options
+ o prefill description too and hint the reporter how to provide usefull data
+- report ordinary crash (unhandled exceptions, not seg faults) on bugzilla too
+
+Version 10.4.151 - 01 August 2007, by Thierry Vignaud
+
+- bootloader-config: handle vmdefault and vmdisable lilo.conf options (#26456)
+- diskdrake: drop "Rescue partition table" feature
+ (was based on rescuept which has been dropped in util-linux, but was quite
+ bad compared to testdisk anyway)
+- drakauth: fix bogus string (#10776)
+- drakbug:
+ o basic adaption to new bugzilla (#31995)
+ o display Mandriva Online for mdkapplet in the "select mandriva
+ tool" field
+ o prefill default summary with the name of the actual program which crashed
+- draksec: improve explanations (#6969)
+- drakups: adapt to new nut doc path (blino)
+
+Version 10.4.145 - 9 July 2007, by Pascal "Pixel" Rigaux
+
+- modify usbWacom() for mousedrake
+ (conflicts with drakx-kbd-mouse-x11 < 0.19)
+
+Version 10.4.144 - 05 July 2007, by Thierry Vignaud
+
+- service_harddrake:
+ o do not bother configure old Xorg conf files anymore
+ o log right driver we're switching to from fglrx
+ o factorize code handling switch for both ati & nvidia
+
+Version 10.4.143 - 04 July 2007, by Thierry Vignaud
+
+- centralize common textdomains in a single common place, thus
+ ensuring they'll be binded (#31580)
+- diskdrake:
+ o fix resizing's faillures due to udev's race when writing the partition
+ table (deleting then recreating the nodes leaves a race window...)
+- service_harddrake:
+ o do not enable fglrx libraries when disabling fglrx...
+ o only log "switch xorg driver" & do actual GL config if we do need it
+ o really log when switching from fglrx to another driver
+
+Version 10.4.140 - 27 June 2007, by Thierry Vignaud
+
+- merge "ide" and "all_ide" categories since we now use fully
+ modularized ide drivers
+- bootloader-config:
+ o configure ide-controller in modprobe.conf for upgrading to kernels
+ with modularized ide drivers
+
+Version 10.4.139 - 27 June 2007, by Thierry Vignaud
+
+- add mandrake_release_info() function
+
+Version 10.4.138 - 21 June 2007, by Thierry Vignaud
+
+- add support for snd-cmi8788 driver
+- do not package drakautoinst (#27860)
+- draksound:
+ o prevent "unlisted driver" error for snd-aoa, snd-cs5530,
+ snd-echo3g, snd-usb-caiaq & snd-usb-usx2y drivers
+- harddrake UI:
+ o stop scannerdrake from fooling us about scanners and from leading
+ us to display twice the same device (#31182)
+
+Version 10.4.136 - 12 June 2007, by Thierry Vignaud
+
+- diskdrake
+ o fix 1.9TB displayed as 1TB
+- drakboot -boot
+ o update splash when changing framebuffer resolution (#27470)
+- harddrake UI:
+ o add a class for biometric sensors (fingerprint for now) (#31182)
+
+Version 10.4.135 - 08 June 2007, by Thierry Vignaud
+
+- interactive layer:
+ o enable to override default size with Gtk+ frontend
+- drakfont:
+ o do not misbelieve a font is already installed if substring of
+ another font name
+ o simplify finding windows fonts
+ o finding windows fonts is now really case insensitive
+
+Version 10.4.134 - 06 June 2007, by Thierry Vignaud
+
+- drakfont:
+ o fix crash (#28016)
+ o fix enumerating fonts on old windows (#28016)
+
+Version 10.4.133 - 05 June 2007, by Thierry Vignaud
+
+- bootloader-config:
+ o handle kernel-xen-uptodate (#31154)
+- drakfont: fix crash
+
+Version 10.4.132 - 05 June 2007, by Thierry Vignaud
+
+- fix some UTF8 issue (#31067) (notably drakbug)
+- hw support:
+ o handle snd-cs5530 driver
+- progress bar wait_message: ensure it doesn't go crazy when asked to update
+ with the same fraction (eg #30090)
+- diskdrake:
+ o when formatting ntfs don't zero partition (#30928)
+- drakfont:
+ o do see fuse-mounted or ntfs-3g windows partitions (ffixxx, #28016)
+ o try different cases on windows partitions (based on ffixxx suggestion, #28016)
+- drakhelp:
+ o fix .mozilla dir as root when it doesn't exists (#29775)
+- draksec:
+ o make the help dialog clearer about default values (#24159)
+- harddrake GUI:
+ o fix USB UPS detection logic (whitelist supported hardware)
+- harddrake service:
+ o drop support for kernel-2.4.x
+
+Version 10.4.131 - 18 May 2007, by Thierry Vignaud
+
+- bug fix for rpmdrake: pkgs.pm file was missing
+- diskdrake:
+ o fix resizing's failures due to udev race when writing the
+ partition table
+
+Version 10.4.130 - 16 May 2007, by Thierry Vignaud
+
+- bootloader-config: do create /boot/initrd-xxx.img when there is no
+ bootloader (#30771 comment #21)
+- create udev nodes configuration file in /etc/udev/devices.d/ instead
+ of conf.d (used for modem and mouse)
+- diskdrake:
+ o use "mkfs.ext3" instead of "mkfs.ext2 -J"
+ (to have dir_index & resize_inode features)
+ (cf Frederik Himpe 23 Apr 2007 mail on cooker)
+ o fix ext3 formatting with label and progress bar (#30032)
+- localedrake: don't call grub-gfxmenu when used by simple user
+
+Version 10.4.127 - 30 March 2007, by Olivier "blino" Blin
+
+- don't configure /etc/kde/kdm/kdmrc if it doesn't exist
+ (other kdmrc.rpmnew will be created, many important values will be missing)
+- finish-install: source mandriva-release profile script to get
+ correct gtk theme (Frederic Crozat)
+
+Version 10.4.126 - 29 March 2007, by Olivier "blino" Blin
+
+- use pci_domain when matching sysfs device and computing
+ sysfs device path
+
+Version 10.4.125 - 29 March 2007, by Olivier "blino" Blin
+
+- fix multiple detection of PCI network cards with the same driver (#29688)
+
+Version 10.4.123 - 26 March 2007, by Olivier "blino" Blin
+
+- blacklist ax*, rose*, nr*, bce* and scc* Hamradio devices
+ when detecting network interfaces (#28776)
+- harddrake service: fallback on the right driver for ATI gfx cards
+ when fglrx module is missing
+- introduce shared bootloader functions so that draklive-install and
+ drakboot add correct command line parameters (such as resume=)
+- use grub by default (noticeable in One install)
+
+Version 10.4.121 - 23 March 2007, by Thierry Vignaud
+
+- interactive::curses:
+ o handle multi-line labels, and wrap too long labels (#29060)
+- do not use bold&big for advanced_messages
+ (fixes authentication choice being big & ugly, #28676)
+
+Version 10.4.118 - 22 March 2007, by Thierry Vignaud
+
+- diskdrake:
+ o minimal support for switching from ntfs to ntfs-3g
+ o move ntfs in the list of "important" filesystems
+- enable to set up 32bit media on x86_64
+- fix lang configuration in KDE by writting it in current profile
+
+Version 10.4.117 - 21 March 2007, by Thierry Vignaud
+
+- detect all known TV cards (#29633)
+- harddrake service:
+ o load modules for DVB & TV cards (#29633)
+ o switch ATI cards to free driver if binary driver isn't installed
+- use http://api.mandriva.com/mirrors/$type.$version.$arch instead of simply
+ $version.$arch (useful to differentiate CorpoDesktop4)
+
+Version 10.4.116 - 19 March 2007, by Thierry Vignaud
+
+- handle more drivers (dvb, ethernet, gigabit, ide, pcmcia, sata,
+ sound, tv, usb hosts, wan, webcam, wireless)
+- diskdrake: handle mkntfs
+- localedrake: remove error running grub-gfxmenu when /boot/gfxmenu doesn't exit
+
+Version 10.4.114 - 16 March 2007, by Thierry Vignaud
+
+- do not load anymore floppy module (#23158, #25975, #28911, #29280)
+- fix testing success exit of child processes (mdkapplet)
+- localedrake: set grub gfxmenu language
+
+Version 10.4.113 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- drakboot --boot: allow choosing a non-installed bootloader
+ (ease switching from lilo to grub)
+- use grub-gfxmenu comand to configure /boot/gfxmenu for grub
+
+Version 10.4.112 - 15 March 2007, by Thierry Vignaud
+
+- die on downloading mirror list faillure
+- log using mirror API into explanations
+
+Version 10.4.110 - 15 March 2007, by Thierry Vignaud
+
+- add sizing dialog support for rpmdrake
+- do not buggily use speedstep-centrino on Core2 duo, but use it on
+ P4M (as initially intended?) (blino)
+
+Version 10.4.108 - 13 March 2007, by Thierry Vignaud
+
+- load tifm_sd if needed (#25133)
+- drakbug:
+ o fix finding package for keyboarddrake
+ o fix managing --incident MandrivaUpdate
+ o menudrake was replaced by drakmenustyle
+ o some tools were splited out of drakxtools; enable to lookup the proper package
+
+Version 10.4.105 - 9 March 2007, by Thierry Vignaud
+
+- configure "tifm_7xx1" driven card_reader (#25133)
+- enhance wrapping in some dialogs
+
+Version 10.4.104 - 7 March 2007, by Thierry Vignaud
+
+- do not bother configure old modutils
+- handle SD cards (#24054)
+- harddrake2: list SD card readers in their own category
+
+Version 10.4.102 - 6 March 2007, by Thierry Vignaud
+
+- diskdrake in text mode: when choosing a partition, "Empty space on hdx"
+ instead of "Empty" (#29087)
+- harddrake service:
+ o adapt to new nvidia drivers (#29052)
+ o when switching from nvidia to nv, do setup gl_conf alternative
+- symlinkf_update_alternatives: remove broken files for missing slave files
+ (useful for not having a broken /etc/modprobe.d/nvidia.conf (XFdrake))
diff --git a/perl-install/Newt/.cvsignore b/perl-install/Newt/.cvsignore
deleted file mode 100644
index c296b7faf..000000000
--- a/perl-install/Newt/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-Newt.bs
-Newt.c
-pm_to_blib
-blib
-Makefile
-Makefile_c
diff --git a/perl-install/Newt/Av_CharPtrPtr.c b/perl-install/Newt/Av_CharPtrPtr.c
deleted file mode 100644
index f28fa6315..000000000
--- a/perl-install/Newt/Av_CharPtrPtr.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include "Av_CharPtrPtr.h" /* XS_*_charPtrPtr() */
-#ifdef __cplusplus
-}
-#endif
-
-
-/* Used by the INPUT typemap for char**.
- * Will convert a Perl AV* (containing strings) to a C char**.
- */
-char **
-XS_unpack_charPtrPtr( rv )
-SV *rv;
-{
- AV *av;
- SV **ssv;
- char **s;
- int avlen;
- int x;
-
- if( SvROK( rv ) && (SvTYPE(SvRV(rv)) == SVt_PVAV) )
- av = (AV*)SvRV(rv);
- else {
- warn("XS_unpack_charPtrPtr: rv was not an AV ref");
- return( (char**)NULL );
- }
-
- /* is it empty? */
- avlen = av_len(av);
- if( avlen < 0 ){
- warn("XS_unpack_charPtrPtr: array was empty");
- return( (char**)NULL );
- }
-
- /* av_len+2 == number of strings, plus 1 for an end-of-array sentinel.
- */
- s = (char **)safemalloc( sizeof(char*) * (avlen + 2) );
- if( s == NULL ){
- warn("XS_unpack_charPtrPtr: unable to malloc char**");
- return( (char**)NULL );
- }
- for( x = 0; x <= avlen; ++x ){
- ssv = av_fetch( av, x, 0 );
- if( ssv != NULL ){
- if( SvPOK( *ssv ) ){
- s[x] = (char *)safemalloc( SvCUR(*ssv) + 1 );
- if( s[x] == NULL )
- warn("XS_unpack_charPtrPtr: unable to malloc char*");
- else
- strcpy( s[x], SvPV( *ssv, PL_na ) );
- }
- else
- warn("XS_unpack_charPtrPtr: array elem %d was not a string.", x );
- }
- else
- s[x] = (char*)NULL;
- }
- s[x] = (char*)NULL; /* sentinel */
- return( s );
-}
-
-/* Used by the OUTPUT typemap for char**.
- * Will convert a C char** to a Perl AV*.
- */
-void
-XS_pack_charPtrPtr( st, s )
-SV *st;
-char **s;
-{
- AV *av = newAV();
- SV *sv;
- char **c;
-
- for( c = s; *c != NULL; ++c ){
- sv = newSVpv( *c, 0 );
- av_push( av, sv );
- }
- sv = newSVrv( st, NULL ); /* upgrade stack SV to an RV */
- SvREFCNT_dec( sv ); /* discard */
- SvRV( st ) = (SV*)av; /* make stack RV point at our AV */
-}
-
-
-/* cleanup the temporary char** from XS_unpack_charPtrPtr */
-void
-XS_release_charPtrPtr(s)
-char **s;
-{
- char **c;
- for( c = s; *c != NULL; ++c )
- safefree( *c );
- safefree( s );
-}
-
diff --git a/perl-install/Newt/Av_CharPtrPtr.h b/perl-install/Newt/Av_CharPtrPtr.h
deleted file mode 100644
index 765f1a731..000000000
--- a/perl-install/Newt/Av_CharPtrPtr.h
+++ /dev/null
@@ -1,4 +0,0 @@
-char ** XS_unpack_charPtrPtr _(( SV *rv ));
-void XS_pack_charPtrPtr _(( SV *st, char **s ));
-void XS_release_charPtrPtr _(( char **s ));
-
diff --git a/perl-install/Newt/Makefile b/perl-install/Newt/Makefile
deleted file mode 100644
index 613ca8a1c..000000000
--- a/perl-install/Newt/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-.PHONY: clean
-
-Newt: %: %.xs
- test -e Makefile_c || perl Makefile.PL
- $(MAKE) -f Makefile_c LD_RUN_PATH= || $(MAKE) -f Makefile_c LD_RUN_PATH=
- rm -f ../auto/Newt ; ln -s ../Newt/blib/arch/auto/Newt ../auto
-
-clean:
- test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
- rm -f *~ *.o
diff --git a/perl-install/Newt/Makefile.PL b/perl-install/Newt/Makefile.PL
deleted file mode 100644
index 6378a8f31..000000000
--- a/perl-install/Newt/Makefile.PL
+++ /dev/null
@@ -1,13 +0,0 @@
-use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-WriteMakefile(
- 'NAME' => 'Newt',
- 'OBJECT' => 'Av_CharPtrPtr.o Newt.o',
- 'MAKEFILE' => 'Makefile_c',
- 'OPTIMIZE' => '-Os',
- 'VERSION_FROM' => 'Newt.pm', # finds $VERSION
- 'LIBS' => ['-lnewt -lslang'],
- 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
-);
diff --git a/perl-install/Newt/Newt.pm b/perl-install/Newt/Newt.pm
deleted file mode 100644
index 1a93f02a0..000000000
--- a/perl-install/Newt/Newt.pm
+++ /dev/null
@@ -1,20 +0,0 @@
-package Newt; # $Id$
-
-use strict;
-use vars qw($VERSION @ISA);
-use DynaLoader;
-
-use vars qw($VERSION @ISA);
-@ISA = qw(DynaLoader);
-$VERSION = '0.01';
-Newt->bootstrap($VERSION);
-
-package Newt::Component;
-
-our @ISA = qw(); # help perl_checker
-
-package Newt::Grid;
-
-our @ISA = qw(); # help perl_checker
-
-1;
diff --git a/perl-install/Newt/Newt.xs b/perl-install/Newt/Newt.xs
deleted file mode 100644
index 46da0b5fd..000000000
--- a/perl-install/Newt/Newt.xs
+++ /dev/null
@@ -1,490 +0,0 @@
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include <newt.h>
-
-static void suspend() {
- newtSuspend();
- raise(SIGTSTP);
- newtResume();
-}
-
-static void componentCallback(newtComponent co, void *data) {
- dSP;
- PUSHMARK(SP);
- perl_call_sv((SV *) data, G_DISCARD);
-}
-
-
-typedef newtComponent Newt__Component;
-typedef newtGrid Newt__Grid;
-
-
-MODULE = Newt PACKAGE = Newt PREFIX = newt
-
-void
-DESTROY()
- CODE:
- {
- newtFinished();
- }
-
-int
-newtInit()
-
-int
-newtFinished()
-
-void
-newtCls()
-
-void
-newtSuspend()
-
-void
-newtResume()
-
-int
-newtCenteredWindow(width,height,title)
- int width;
- int height;
- const char * title;
-
-void
-newtPopWindow()
-
-void
-newtRefresh()
-
-void
-newtPushHelpLine(text)
- const char * text;
-
-void
-newtDrawRootText(row,col,text)
- int row;
- int col;
- const char * text;
-
-void
-newtGetScreenSize()
- PPCODE:
-{
- int cols, rows;
- newtGetScreenSize(&cols, &rows);
- PUSHs(sv_2mortal(newSViv(cols)));
- PUSHs(sv_2mortal(newSViv(rows)));
-}
-
-void
-newtSetSuspendCallback()
- CODE:
- {
- newtSetSuspendCallback(suspend, NULL);
- }
-
-
-void
-newtWinMessage(title,buttonText,text)
- char * title;
- char * buttonText;
- char * text;
-
-int
-newtWinChoice(title,button1,button2,text)
- char * title;
- char * button1;
- char * button2;
- char * text;
-
-int
-newtWinTernary(title,button1,button2,button3,message)
- char * title;
- char * button1;
- char * button2;
- char * button3;
- char * message;
-
-MODULE = Newt PACKAGE = Newt::Component PREFIX = newt
-
-void
-addCallback(co, callback)
- Newt::Component co;
- SV *callback;
- CODE:
- newtComponentAddCallback(co, componentCallback, callback);
-
-Newt::Component
-newtCompactButton(text)
- const char * text;
- CODE:
- RETVAL = newtCompactButton(-1, -1, text);
- OUTPUT:
- RETVAL
-
-Newt::Component
-newtButton(text)
- const char * text;
- CODE:
- RETVAL = newtButton(-1, -1, text);
- OUTPUT:
- RETVAL
-
-Newt::Component
-newtCheckbox(text,defValue,seq)
- const char * text;
- char *defValue;
- const char * seq;
- CODE:
- RETVAL = newtCheckbox(-1, -1, text, defValue[0], seq, NULL);
- OUTPUT:
- RETVAL
-
-int
-newtCheckboxGetValue(co)
- Newt::Component co;
-
-void
-newtCheckboxSetValue(co, value)
- Newt::Component co;
- char *value;
- CODE:
- newtCheckboxSetValue(co, value[0]);
-
-Newt::Component
-newtLabel(text)
- const char * text;
-CODE:
- RETVAL = newtLabel(-1, -1, text);
-OUTPUT:
- RETVAL
-
-void
-newtLabelSetText(co,text)
- Newt::Component co;
- const char * text;
-
-Newt::Component
-newtVerticalScrollbar(height,normalColorset,thumbColorset)
- int height;
- int normalColorset;
- int thumbColorset;
-CODE:
- RETVAL = newtVerticalScrollbar(-1, -1, height,normalColorset,thumbColorset);
-OUTPUT:
- RETVAL
-
-void
-newtScrollbarSet(co,where,total)
- Newt::Component co;
- int where;
- int total;
-
-Newt::Component
-newtListbox(height,flags)
- int height;
- int flags;
-CODE:
- RETVAL = newtListbox(-1, -1, height, flags);
-OUTPUT:
- RETVAL
-
-SV *
-newtListboxGetCurrent(co)
- Newt::Component co;
-CODE:
- RETVAL = SvREFCNT_inc(newtListboxGetCurrent(co));
-OUTPUT:
- RETVAL
-
-
-void
-newtListboxSetCurrent(co,indice)
- Newt::Component co;
- int indice;
-
-void
-newtListboxSetWidth(co,width)
- Newt::Component co;
- int width;
-
-int
-newtListboxAddEntry(co,text,data)
- Newt::Component co;
- const char * text;
- SV * data;
-CODE:
- RETVAL = newtListboxAddEntry(co, text, data);
-OUTPUT:
- RETVAL
-
-
-Newt::Component
-newtTree(height,want_scroll)
- int height;
- int want_scroll;
- CODE:
- RETVAL = newtCheckboxTree(-1,-1,height, (want_scroll ? NEWT_FLAG_SCROLL : 0) | NEWT_CHECKBOXTREE_HIDE_BOX);
- OUTPUT:
- RETVAL
-
-int
-newtTreeAdd(co,text,data,parents)
- Newt::Component co;
- const char * text;
- int data;
- SV * parents;
- CODE:
- {
- int l[10];
- int i;
- AV *av = (AV*) SvRV(parents);
- for (i = 0; i <= av_len(av); i++) l[i] = SvIV(*av_fetch(av, i, 0));
- l[i++] = NEWT_ARG_APPEND;
- l[i] = NEWT_ARG_LAST;
- RETVAL = newtCheckboxTreeAddArray(co, text, (void *) data, 0, l);
- }
- OUTPUT:
- RETVAL
-
-void
-newtTreeSetCurrent(co, data)
- Newt::Component co;
- int data;
- CODE:
- newtCheckboxTreeSetCurrent(co, (void *) data);
-
-void
-newtTreeSetWidth(co,width)
- Newt::Component co;
- int width;
- CODE:
- newtCheckboxTreeSetWidth(co, width);
-
-int
-newtTreeGetCurrent(co)
- Newt::Component co;
-CODE:
- RETVAL = (int) newtCheckboxTreeGetCurrent(co);
-OUTPUT:
- RETVAL
-
-
-Newt::Component
-newtTextbox(left,top,width,height,want_scroll)
- int left;
- int top;
- int width;
- int height;
- int want_scroll;
- CODE:
- RETVAL = newtTextbox(left,top,width,height, (want_scroll ? NEWT_FLAG_SCROLL : 0) | NEWT_FLAG_WRAP);
- OUTPUT:
- RETVAL
-
-void
-newtTextboxSetText(co,text)
- Newt::Component co;
- const char * text;
-
-void
-newtTextboxSetHeight(co,height)
- Newt::Component co;
- int height;
-
-int
-newtTextboxGetNumLines(co)
- Newt::Component co;
-
-char *
-newtReflowText(text,width,flexDown,flexUp,actualWidth,actualHeight)
- char * text;
- int width;
- int flexDown;
- int flexUp;
- int * actualWidth;
- int * actualHeight;
-
-Newt::Component
-newtForm(vertBar,help,flags)
- Newt::Component vertBar;
- char * help;
- int flags;
-
-void
-newtFormSetSize(co)
- Newt::Component co;
-
-Newt::Component
-newtFormGetCurrent(co)
- Newt::Component co;
-
-void
-newtFormSetBackground(co,color)
- Newt::Component co;
- int color;
-
-void
-newtFormSetCurrent(co,subco)
- Newt::Component co;
- Newt::Component subco;
-
-void
-newtFormAddComponent(form,co)
- Newt::Component form;
- Newt::Component co;
-
-void
-newtFormAddGrid(form,grid,recurse)
- Newt::Component form;
- Newt::Grid grid;
- int recurse;
- CODE:
- newtGridAddComponentsToForm(grid,form,recurse);
-
-void
-newtFormSetHeight(co,height)
- Newt::Component co;
- int height;
-
-void
-newtFormSetWidth(co,width)
- Newt::Component co;
- int width;
-
-Newt::Component
-newtRunForm(form)
- Newt::Component form;
-
-void
-newtDrawForm(form)
- Newt::Component form;
-
-Newt::Component
-newtEntry(initialValue,width,flag)
- const char * initialValue;
- int width;
- int flag;
- CODE:
- {
- char *result;
- RETVAL = newtEntry(-1, -1, initialValue,width,&result,flag);
- }
- OUTPUT:
- RETVAL
-
-void
-newtEntrySet(co,value,cursorAtEnd)
- Newt::Component co;
- const char * value;
- int cursorAtEnd;
-
-char *
-newtEntryGetValue(co)
- Newt::Component co;
-
-void
-newtFormDestroy(form)
- Newt::Component form;
-
-MODULE = Newt PACKAGE = Newt::Grid PREFIX = newt
-
-Newt::Grid
-newtCreateGrid(cols,rows)
- int cols;
- int rows;
-
-Newt::Grid
-HCloseStacked3(c1, c2, c3)
- Newt::Component c1;
- Newt::Component c2;
- Newt::Component c3;
- CODE:
- {
- RETVAL = newtGridHCloseStacked(NEWT_GRID_COMPONENT, c1, NEWT_GRID_COMPONENT, c2, NEWT_GRID_COMPONENT, c3);
- }
-OUTPUT:
-RETVAL
-
-
-Newt::Grid
-newtGridBasicWindow(text,middle,buttons)
- Newt::Component text;
- Newt::Grid middle;
- Newt::Grid buttons;
-
-
-Newt::Grid
-newtGridSimpleWindow(text,middle,buttons)
- Newt::Component text;
- Newt::Component middle;
- Newt::Grid buttons;
-
-void
-newtGridSetField(grid,col,row,type,val,padLeft,padTop,padRight,padBottom,anchor,flags)
- Newt::Grid grid;
- int col;
- int row;
- enum newtGridElement type;
- void * val;
- int padLeft;
- int padTop;
- int padRight;
- int padBottom;
- int anchor;
- int flags;
-
-
-void
-newtGridFree(grid,recurse)
- Newt::Grid grid;
- int recurse;
-
-void
-newtGridPlace(grid,left,top)
- Newt::Grid grid;
- int left;
- int top;
-
-void
-newtGridGetSize(grid)
- Newt::Grid grid;
- PPCODE:
-{
- int width;
- int height;
- newtGridGetSize(grid, &width, &height);
- PUSHs(sv_2mortal(newSViv(width)));
- PUSHs(sv_2mortal(newSViv(height)));
-}
-
-void
-newtGridWrappedWindow(grid,title)
- Newt::Grid grid;
- char * title;
-
-Newt::Grid
-newtButtonBar(button1, ...)
- char * button1;
- PPCODE:
- {
- static newtComponent p[11];
- int i;
- EXTEND(SP, items + 1);
-#define a(i) (char *)SvPV(ST(i),PL_na)
- PUSHs(sv_setref_pv(sv_newmortal(), "Newt::Grid",
- newtButtonBar(items > 0 ? a( 0) : NULL, items > 0 ? &p[ 0] : NULL,
- items > 1 ? a( 1) : NULL, items > 1 ? &p[ 1] : NULL,
- items > 2 ? a( 2) : NULL, items > 2 ? &p[ 2] : NULL,
- items > 3 ? a( 3) : NULL, items > 3 ? &p[ 3] : NULL,
- items > 4 ? a( 4) : NULL, items > 4 ? &p[ 4] : NULL,
- items > 5 ? a( 5) : NULL, items > 5 ? &p[ 5] : NULL,
- items > 6 ? a( 6) : NULL, items > 6 ? &p[ 6] : NULL,
- items > 7 ? a( 7) : NULL, items > 7 ? &p[ 7] : NULL,
- items > 8 ? a( 8) : NULL, items > 8 ? &p[ 8] : NULL,
- items > 9 ? a( 9) : NULL, items > 9 ? &p[ 9] : NULL,
- items > 10 ? a(10) : NULL, items > 10 ? &p[10] : NULL,
- NULL)));
-#undef a
- for (i = 0; i < items; i++) PUSHs(sv_setref_pv(sv_newmortal(), "Newt::Component", p[i]));
- }
diff --git a/perl-install/Newt/typemap b/perl-install/Newt/typemap
deleted file mode 100644
index 5aaa2f668..000000000
--- a/perl-install/Newt/typemap
+++ /dev/null
@@ -1,25 +0,0 @@
-TYPEMAP
-
-const char * T_PV
-const void * T_PV
-int * T_PV
-void ** T_PACKED
-
-enum newtFlagsSense T_IV
-enum newtGridElement T_IV
-SV ** T_SV
-
-Newt::Component NewtComponent
-Newt::Grid NewtGrid
-
-INPUT
-NewtComponent
- $var = ($type) SvIV((SV*)SvRV($arg))
-NewtGrid
- $var = ($type) SvIV((SV*)SvRV($arg))
-
-OUTPUT
-NewtComponent
- sv_setref_pv($arg, "Newt::Component", (void*) $var);
-NewtGrid
- sv_setref_pv($arg, "Newt::Grid", (void*) $var);
diff --git a/perl-install/PORTING b/perl-install/PORTING
new file mode 100644
index 000000000..68f3d5e9f
--- /dev/null
+++ b/perl-install/PORTING
@@ -0,0 +1,4 @@
+This file list the API changes done in mageia:
+
+The function mandrake_release_info() is now called mageia_release_info().
+The function mandrake_release is now called mageia_release().
diff --git a/perl-install/Xconfig/FILES b/perl-install/Xconfig/FILES
deleted file mode 100644
index deefdedec..000000000
--- a/perl-install/Xconfig/FILES
+++ /dev/null
@@ -1,8 +0,0 @@
-
- xfree3
- / \
-parse - -- xfreeX -- xfree ---- default ------------------ main
- \ / \--- card -------------------/ test
- xfree4 \-- monitor ---------------/ various
- \- screen ---------------/ proprietary
- \ resolution_and_depth-/
diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm
deleted file mode 100644
index 3a5f9cd9b..000000000
--- a/perl-install/Xconfig/card.pm
+++ /dev/null
@@ -1,678 +0,0 @@
-package Xconfig::card; # $Id$
-
-use diagnostics;
-use strict;
-
-use detect_devices;
-use modules;
-use common;
-use log;
-
-
-my $force_xf4 = arch() =~ /ppc|ia64|x86_64/;
-
-
-my %VideoRams = (
- 256 => N_("256 kB"),
- 512 => N_("512 kB"),
- 1024 => N_("1 MB"),
- 2048 => N_("2 MB"),
- 4096 => N_("4 MB"),
- 8192 => N_("8 MB"),
- 16384 => N_("16 MB"),
- 32768 => N_("32 MB"),
- 65536 => N_("64 MB or more"),
-);
-
-our %serversdriver = arch() =~ /^sparc/ ? (
- 'Mach64' => "accel",
- '3DLabs' => "accel",
- 'Sun' => "fbdev",
- 'Sun24' => "fbdev",
- 'SunMono' => "fbdev",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-) : (
- 'SVGA' => "svga",
- 'S3' => "accel",
- 'Mach32' => "accel",
- 'Mach8' => "accel",
- '8514' => "accel",
- 'P9000' => "accel",
- 'AGX' => "accel",
- 'W32' => "accel",
- 'Mach64' => "accel",
- 'I128' => "accel",
- 'S3V' => "accel",
- '3DLabs' => "accel",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-);
-my @allbutfbservers = grep { arch() =~ /^sparc/ || $serversdriver{$_} ne "fbdev" } keys(%serversdriver);
-my @allservers = keys(%serversdriver);
-
-my @xfree4_Drivers = ((arch() =~ /^sparc/ ? qw(sunbw2 suncg14 suncg3 suncg6 sunffb sunleo suntcx) :
- qw(apm ark chips cirrus cyrix glide i128 i740 i810 imstt
- mga neomagic newport nv rendition r128 radeon vesa
- s3 s3virge savage siliconmotion sis tdfx tga trident tseng vmware)),
- qw(ati glint vga fbdev));
-
-
-#- using XF4 if {Driver} && !{prefer_xf3} otherwise using XF3
-#- error if $force_xf4 && !{Driver} || !{Driver} && !{server}
-#- internal error if $force_xf4 && {prefer_xf3} || {prefer_xf3} && !{server}
-
-sub using_xf4 {
- my ($card) = @_;
- $card->{Driver} && !$card->{prefer_xf3};
-}
-
-sub server_binary {
- my ($card) = @_;
- "/usr/X11R6/bin/" .
- (using_xf4($card) ? 'XFree86' :
- $card->{server} =~ /Sun(.*)/ ? "Xsun$1" :
- $card->{server} eq 'Xpmac' ? 'Xpmac' :
- "XF86_$card->{server}");
-}
-
-sub from_raw_X {
- my ($raw_X) = @_;
-
- my $device = $raw_X->get_device or die "no card configured";
-
- my ($xfree3_server) = readlink("$::prefix/etc/X11/X") =~ /XF86_(.*)/;
-
- my $card = {
- use_UTAH_GLX => (any { /glx/ } $raw_X->{xfree3}->get_modules),
- use_DRI_GLX => (any { /dri/ } $raw_X->{xfree4}->get_modules),
- server => $xfree3_server,
- prefer_xf3 => $xfree3_server && !$force_xf4,
- %$device,
- };
- add_to_card__using_Cards($card, $card->{BoardName});
- $card->{prog} = server_binary($card);
- $card;
-}
-
-sub to_raw_X {
- my ($card, $raw_X) = @_;
-
- #- Specific ATI fglrx driver default options
- if ($card->{Driver} eq 'fglrx') {
- # $default_ATI_fglrx_config need to be move in proprietary ?
- $card->{raw_LINES} ||= default_ATI_fglrx_config();
- }
-
- $raw_X->set_devices($card, @{$card->{cards} || []});
-
- $raw_X->{xfree4}->get_ServerLayout->{Xinerama} = { commented => !$card->{Xinerama}, Option => 1 }
- if defined $card->{Xinerama};
-
- $raw_X->{xfree3}->set_load_module('glx-3.so', $card->{use_UTAH_GLX}); #- glx.so may clash with server version 4.
-
- $raw_X->{xfree4}->set_load_module('glx', !$card->{DRI_GLX_SPECIAL}); #- glx for everyone, except proprietary nvidia
- $raw_X->{xfree4}->set_load_module('dri', $card->{use_DRI_GLX} && !$card->{DRI_GLX_SPECIAL});
-
- # This loads the NVIDIA GLX extension module.
- # IT IS IMPORTANT TO KEEP NAME AS FULL PATH TO libglx.so ELSE
- # IT WILL LOAD XFree86 glx module and the server will crash.
- $raw_X->{xfree4}->set_load_module('/usr/X11R6/lib/modules/extensions/libglx.so', $card->{DRI_GLX_SPECIAL});
-
- $raw_X->{xfree4}->remove_Section('DRI');
- $raw_X->{xfree4}->add_Section('DRI', { Mode => { val => '0666' } }) if $card->{use_DRI_GLX};
-
- $raw_X->{xfree4}->remove_load_module('v4l') if $card->{use_DRI_GLX} && $card->{Driver} eq 'r128';
-}
-
-sub default_ATI_fglrx_config { our $default_ATI_fglrx_config }
-
-sub probe() {
-#-for Pixel tests
-#- my @c = { driver => 'Card:Matrox Millennium G400 DualHead', description => 'Matrox|Millennium G400 Dual HeadCard' };
- my @c = grep { $_->{driver} =~ /(Card|Server|Driver):/ } detect_devices::probeall();
-
- my @cards = map {
- my @l = $_->{description} =~ /(.*?)\|(.*)/;
- my $card = {
- description => $_->{description},
- VendorName => $l[0], BoardName => $l[1],
- BusID => "PCI:$_->{pci_bus}:$_->{pci_device}:$_->{pci_function}",
- };
- if ($_->{driver} =~ /Card:(.*)/) { $card->{BoardName} = $1; add_to_card__using_Cards($card, $1) }
- elsif ($_->{driver} =~ /Server:(.*)/) { $card->{server} = $1 }
- elsif ($_->{driver} =~ /Driver:(.*)/) { $card->{Driver} = $1 }
- else { internal_error() }
-
- $_->{VideoRam} = 4096 if $_->{Driver} eq 'i810';
- $_->{Options_xfree4}{UseFBDev} = undef if arch() =~ /ppc/ && $_->{Driver} eq 'r128';
-
- $card;
- } @c;
-
- if (@cards >= 2 && $cards[0]{card_name} eq $cards[1]{card_name} && $cards[0]{card_name} eq 'Intel 830') {
- shift @cards;
- }
- #- take a default on sparc if nothing has been found.
- if (arch() =~ /^sparc/ && !@cards) {
- log::l("Using probe with /proc/fb as nothing has been found!");
- my $s = cat_("/proc/fb");
- @cards = { server => $s =~ /Mach64/ ? "Mach64" : $s =~ /Permedia2/ ? "3DLabs" : "Sun24" };
- }
-
- #- disabling MULTI_HEAD when not available
- foreach (@cards) {
- $_->{MULTI_HEAD} && $_->{card_name} =~ /G[24]00/ or next;
- if ($ENV{MATROX_HAL}) {
- $_->{need_MATROX_HAL} = 1;
- } else {
- delete $_->{MULTI_HEAD};
- }
- }
-
- #- in case of only one cards, remove all BusID reference, this will avoid
- #- need of change of it if the card is moved.
- #- on many PPC machines, card is on-board, BusID is important, leave?
- if (@cards == 1 && !$cards[0]{MULTI_HEAD} && arch() !~ /ppc/) {
- delete $cards[0]{BusID};
- }
-
- @cards;
-}
-
-sub card_config__not_listed {
- my ($in, $card, $options) = @_;
-
- my $vendors_regexp = join '|', map { quotemeta } (
- '3Dlabs',
- 'AOpen', 'ASUS', 'ATI', 'Ark Logic', 'Avance Logic',
- 'Cardex', 'Chaintech', 'Chips & Technologies', 'Cirrus Logic', 'Compaq', 'Creative Labs',
- 'Dell', 'Diamond', 'Digital',
- 'ET', 'Elsa',
- 'Genoa', 'Guillemot', 'Hercules', 'Intel', 'Leadtek',
- 'Matrox', 'Miro', 'NVIDIA', 'NeoMagic', 'Number Nine',
- 'Oak', 'Orchid',
- 'RIVA', 'Rendition Verite',
- 'S3', 'Silicon Motion', 'STB', 'SiS', 'Sun',
- 'Toshiba', 'Trident',
- 'VideoLogic',
- );
- my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
-
- my @xf3 = $options->{allowFB} ? @allservers : @allbutfbservers;
- my @xf4 = grep { $options->{allowFB} || $_ ne 'fbdev' } @xfree4_Drivers;
- my @list = (
- (map { 'Vendor|' . $_ } keys %$cards),
- if_(!$force_xf4, map { 'XFree 3|' . $_ } @xf3),
- (map { 'XFree 4|' . $_ } @xf4),
- );
-
- my $r = exists $cards->{$card->{BoardName}} ? "Vendor|$card->{BoardName}" : 'XFree 4|vesa';
- $in->ask_from_({ title => N("X server"),
- messages => N("Choose an X server"),
- interactive_help_id => 'configureX_card_list',
- },
- [ { val => \$r, separator => '|', list => \@list, sort => 1,
- format => sub { $_[0] =~ /^Vendor\|($vendors_regexp)\s*-?(.*)/ ? "Vendor|$1|$2" :
- $_[0] =~ /^Vendor\|(.*)/ ? "Vendor|Other|$1" : $_[0] } } ]) or return;
-
- log::l("Xconfig::card: $r manually chosen");
-
- $r eq "Vendor|$card->{BoardName}" and return 1; #- it is unchanged, don't modify $card
-
- my ($kind, $s) = $r =~ /(.*?)\|(.*)/;
-
- %$card = ();
- if ($kind eq 'Vendor') {
- add_to_card__using_Cards($card, $s);
- } elsif ($kind eq 'XFree 3') {
- $card->{server} = $s;
- } else {
- $card->{Driver} = $s;
- }
- $card->{manually_chosen} = 1;
- 1;
-}
-
-sub multi_head_choose {
- my ($in, $auto, @cards) = @_;
-
- my @choices = multi_head_choices('', @cards);
-
- my $tc = $choices[0];
- if (!$auto) {
- $tc = $in->ask_from_listf(N("Multi-head configuration"),
- N("Your system supports multiple head configuration.
-What do you want to do?"), sub { $_[0]{text} }, \@choices) or return;
- }
- $tc->{code} or die internal_error();
- return $tc->{code}();
-}
-
-sub configure_auto_install {
- my ($raw_X, $do_pkgs, $old_X, $options) = @_;
-
- {
- my $card = $old_X->{card} || {};
- if ($card->{card_name}) {
- #- try to get info from given card_name
- add_to_card__using_Cards($card, $card->{card_name});
- undef $card->{card_name} if !$card->{server} && !$card->{Driver}; #- bad card_name as we can't find the server
- }
- return if $card->{server} || $card->{Driver};
- }
-
- my @cards = probe();
- my ($choice) = multi_head_choices($old_X->{Xinerama}, @cards) or log::l('no graphic card probed, try providing one using $o->{card}{Driver} or $o->{card}{server} or $o->{card}{card_name}'), return;
- my $card = $choice->{code}();
-
- my ($glx_choice) = xfree_and_glx_choices($card);
- log::l("Using $glx_choice->{text}");
- $glx_choice->{code}();
- set_glx_restrictions($card);
-
- $card->{prog} = install_server($card, $options, $do_pkgs);
- if ($card->{needVideoRam} && !$card->{VideoRam}) {
- $card->{VideoRam} = $options->{VideoRam_probed} || 4096;
- log::l("argh, I need to know VideoRam! Taking " . ($options->{probed_VideoRam} ? "the probed" : "a default") . " value: VideoRam = $card->{VideoRam}");
- }
- to_raw_X($card, $raw_X);
- $card;
-}
-
-sub configure {
- my ($in, $raw_X, $do_pkgs, $auto, $options) = @_;
-
- my @cards = probe();
- @cards or @cards = {};
-
- if (!$cards[0]{server} && !$cards[0]{Driver}) {
- if ($options->{allowFB}) {
- $cards[0]{Driver} = 'fbdev';
- } elsif ($auto) {
- log::l("Xconfig::card: auto failed (unknown card and no allowFB)");
- return 0;
- }
- }
- if (!$auto) {
- card_config__not_listed($in, $cards[0], $options) or return;
- }
-
- my $card = multi_head_choose($in, $auto, @cards) or return;
-
- xfree_and_glx_choose($in, $card, $auto) or return;
-
- $card->{prog} = install_server($card, $options, $do_pkgs);
-
- if ($card->{needVideoRam} && !$card->{VideoRam}) {
- if ($auto) {
- log::l("Xconfig::card: auto failed (needVideoRam)");
- return;
- }
- $card->{VideoRam} = (find { $_ <= $options->{VideoRam_probed} } reverse ikeys %VideoRams) || 4096;
- $in->ask_from('', N("Select the memory size of your graphics card"),
- [ { val => \$card->{VideoRam},
- type => 'list',
- list => [ ikeys %VideoRams ],
- format => sub { translate($VideoRams{$_[0]}) },
- not_edit => !$::expert } ]) or return;
- }
-
- to_raw_X($card, $raw_X);
- $card;
-}
-
-sub install_server {
- my ($card, $options, $do_pkgs) = @_;
-
- my $prog = server_binary($card);
-
- my @packages;
- push @packages, using_xf4($card) ? 'XFree86-server' : "XFree86-$card->{server}" if ! -x "$::prefix$prog";
-
- #- additional packages to install according available card.
- #- add XFree86-libs-DRI here if using DRI (future split of XFree86 TODO)
- if ($card->{use_DRI_GLX}) {
- push @packages, 'Glide_V5' if $card->{card_name} eq 'Voodoo5 (generic)';
- push @packages, 'Glide_V3-DRI' if member($card->{card_name}, 'Voodoo3 (generic)', 'Voodoo Banshee (generic)');
- push @packages, 'XFree86-glide-module' if $card->{card_name} =~ /Voodoo/;
- }
- if ($card->{use_UTAH_GLX}) {
- push @packages, 'Mesa';
- }
- #- 3D acceleration configuration for XFree 4
- #- using NVIDIA driver (TNT, TN2 and GeForce cards only).
- push @packages, @{$options->{allowNVIDIA_rpms}} if $card->{Driver2} eq 'nvidia' && $options->{allowNVIDIA_rpms};
- #- using ATI fglrx driver (Radeon, Fire GL cards only).
- push @packages, @{$options->{allowATI_rpms}} if $card->{Driver2} eq 'fglrx' && $options->{allowATI_rpms};
-
- $do_pkgs->install(@packages) if @packages;
- -x "$::prefix$prog" or die "server $card->{server} is not available (should be in $::prefix$prog)";
-
- #- make sure everything is correct at this point, packages have really been installed
- #- and driver and GLX extension is present.
- if ($card->{Driver2} eq 'nvidia' &&
- -e "$::prefix/usr/X11R6/lib/modules/drivers/nvidia_drv.o" &&
- -e "$::prefix/usr/X11R6/lib/modules/extensions/libglx.so") {
- log::l("Using specific NVIDIA driver and GLX extensions");
- $card->{Driver} = 'nvidia';
- $card->{DRI_GLX_SPECIAL} = 1;
- }
- if ($card->{Driver2} eq 'fglrx' &&
- -e "$::prefix/usr/X11R6/lib/modules/dri/fglrx_dri.so" &&
- -e "$::prefix/usr/X11R6/lib/modules/drivers/fglrx_drv.o") {
- log::l("Using specific ATI fglrx and DRI drivers");
- $card->{Driver} = 'fglrx';
- }
-
- if ($card->{need_MATROX_HAL}) {
- require Xconfig::proprietary;
- Xconfig::proprietary::install_matrox_hal($::prefix);
- }
-
- $prog;
-}
-
-sub xfree_and_glx_choose {
- my ($in, $card, $auto) = @_;
-
- my @choices = xfree_and_glx_choices($card);
-
- my $tc =
- $auto ? $choices[0] :
- $in->ask_from_listf_raw({ title => N("XFree configuration"),
- messages => formatAlaTeX(join("\n\n\n", (grep { $_ } map { $_->{more_messages} } @choices),
- N("Which configuration of XFree do you want to have?"))),
- interactive_help_id => 'configureX_xfree_and_glx',
- },
- sub { $_[0]{text} }, \@choices) or return;
- log::l("Using $tc->{text}");
- $tc->{code}();
- set_glx_restrictions($card);
- 1;
-}
-
-sub multi_head_choices {
- my ($want_Xinerama, @cards) = @_;
- my @choices;
-
- my $has_multi_head = @cards > 1 || @cards && $cards[0]{MULTI_HEAD} > 1;
- my $disable_multi_head = any {
- $_->{Driver} or log::l("found card $_->{description} not supported by XF4, disabling multi-head support");
- !$_->{Driver};
- } @cards;
-
- if ($has_multi_head && !$disable_multi_head) {
- my $configure_multi_head = sub {
-
- #- special case for multi head card using only one BusID.
- @cards = map {
- map_index { { Screen => $::i, %$_ } } ($_) x ($_->{MULTI_HEAD} || 1);
- } @cards;
-
- delete $_->{server} foreach @cards; #- XFree 3 doesn't handle multi head (?)
- my $card = shift @cards; #- assume good default.
- $card->{cards} = \@cards;
- $card->{Xinerama} = $_[0];
- $card;
- };
- my $independent = { text => N("Configure all heads independently"), code => sub { $configure_multi_head->('') } };
- my $xinerama = { text => N("Use Xinerama extension"), code => sub { $configure_multi_head->(1) } };
- push @choices, $want_Xinerama ? ($xinerama, $independent) : ($independent, $xinerama);
- }
-
- foreach my $c (@cards) {
- push @choices, { text => N("Configure only card \"%s\"%s", $c->{description}, $c->{BusID} && " ($c->{BusID})"),
- code => sub { $c } };
- }
- @choices;
-}
-
-#- XFree version available, it would be better to parse available package and get version from it.
-sub xfree4_version() { '4.3' }
-sub xfree3_version() { '3.3.6' }
-
-sub xfree_and_glx_choices {
- my ($card) = @_;
-
- my $xf3 = if_($card->{server} && !$force_xf4,
- { text => N("XFree %s", xfree3_version()), code => sub { $card->{prefer_xf3} = 1 } });
- my $xf4 = if_($card->{Driver},
- { text => N("XFree %s", xfree4_version()), code => sub { $card->{prefer_xf3} = 0 } });
-
- #- no XFree3 with multi-head
- my @choices = grep { $_ } ($card->{cards} ? $xf4 : $card->{prefer_xf3} ? ($xf3, $xf4) : ($xf4, $xf3));
-
- #- no GLX with Xinerama
- return @choices if $card->{Xinerama};
-
- #- try to figure if 3D acceleration is supported
- #- by XFree 3.3 but not XFree 4 then ask user to keep XFree 3.3 ?
- if ($card->{UTAH_GLX} && !$force_xf4) {
- my $e = { text => N("XFree %s with 3D hardware acceleration", xfree3_version()),
- code => sub { $card->{prefer_xf3} = 1; $card->{use_UTAH_GLX} = 1 },
- more_messages => ($card->{Driver} && !$card->{DRI_GLX} ?
-N("Your card can have 3D hardware acceleration support but only with XFree %s.
-Your card is supported by XFree %s which may have a better support in 2D.", xfree3_version(), xfree4_version()) :
-N("Your card can have 3D hardware acceleration support with XFree %s.", xfree3_version())),
- };
- $card->{prefer_xf3} ? unshift(@choices, $e) : push(@choices, $e);
- }
-
- #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration, currenlty
- #- this is with Utah GLX and so, it can provide a way of testing.
- if ($card->{UTAH_GLX_EXPERIMENTAL} && $::expert && !$force_xf4) {
- push @choices, { text => N("XFree %s with EXPERIMENTAL 3D hardware acceleration", xfree3_version()),
- code => sub { $card->{prefer_xf3} = 1; $card->{use_UTAH_GLX} = 1 },
- more_messages => (using_xf4($card) && !$card->{DRI_GLX} ?
-N("Your card can have 3D hardware acceleration support but only with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.
-Your card is supported by XFree %s which may have a better support in 2D.", xfree3_version(), xfree4_version()) :
-N("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", xfree3_version())),
- };
- }
-
- #- ask the expert or any user on second pass user to enable or not hardware acceleration support.
- if ($card->{DRI_GLX}) {
- unshift @choices, { text => N("XFree %s with 3D hardware acceleration", xfree4_version()),
- code => sub { $card->{prefer_xf3} = 0; $card->{use_DRI_GLX} = 1 },
- more_messages => N("Your card can have 3D hardware acceleration support with XFree %s.", xfree4_version()),
- };
- }
-
- #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration.
- if ($card->{DRI_GLX_EXPERIMENTAL} && $::expert) {
- push @choices, { text => N("XFree %s with EXPERIMENTAL 3D hardware acceleration", xfree4_version()),
- code => sub { $card->{prefer_xf3} = 0; $card->{use_DRI_GLX} = 1 },
- more_messages => N("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", xfree4_version()),
- };
- }
-
- if (arch() =~ /ppc/ && $ENV{DISPLAY}) {
- push @choices, { text => N("Xpmac (installation display driver)"), code => sub {
- #- HACK: re-allowing XFree 3
- $force_xf4 = 0;
- $card->{server} = "Xpmac";
- $card->{prefer_xf3} = 1;
- } };
- }
- @choices;
-}
-
-sub set_glx_restrictions {
- my ($card) = @_;
-
- #- hack for ATI Mach64 cards where two options should be used if using Utah-GLX.
- if (member($card->{card_name}, 'ATI Mach64 Utah', 'ATI Rage Mobility')) {
- $card->{Options_xfree3}{no_font_cache} = undef if $card->{use_UTAH_GLX};
- $card->{Options_xfree3}{no_pixmap_cache} = undef if $card->{use_UTAH_GLX};
- }
- #- hack for SiS cards where an option should be used if using Utah-GLX.
- if (member($card->{card_name}, 'SiS 6326', 'SiS 630')) {
- $card->{Options_xfree3}{no_pixmap_cache} = undef if $card->{use_UTAH_GLX};
- }
-
- #- 3D acceleration configuration for XFree 4 using DRI, this is enabled by default
- #- but for some there is a need to specify VideoRam (else it won't run).
- if ($card->{use_DRI_GLX}) {
- $card->{needVideoRam} = 1 if $card->{description} =~ /Matrox.* G[245][05]0/;
- ($card->{needVideoRam}, $card->{VideoRam}) = (1, 16384)
- if member($card->{card_name}, 'Intel 810', 'Intel 815');
-
- #- hack for ATI Rage 128 card using a bttv or peripheral with PCI bus mastering exchange
- #- AND using DRI at the same time.
- if (member($card->{card_name}, 'ATI Rage 128', 'ATI Rage 128 TVout', 'ATI Rage 128 Mobility')) {
- $card->{Options_xfree4}{UseCCEFor2D} = bool2text(modules::probe_category('multimedia/tv'));
- }
- }
-
- #- check for Matrox G200 PCI cards, disable AGP in such cases, causes black screen else.
- if (member($card->{card_name}, 'Matrox Millennium 200', 'Matrox Millennium 200', 'Matrox Mystique') && $card->{description} !~ /AGP/) {
- log::l("disabling AGP mode for Matrox card, as it seems to be a PCI card");
- log::l("this is only used for XFree 3.3.6, see /etc/X11/glx.conf");
- substInFile { s/^\s*#*\s*mga_dma\s*=\s*\d+\s*$/mga_dma = 0\n/ } "$::prefix/etc/X11/glx.conf";
- }
-}
-
-sub add_to_card__using_Cards {
- my ($card, $name) = @_;
- my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
- add2hash($card, $cards->{$name});
- $card->{BoardName} = $card->{card_name};
-
- delete @$card{'server'} if $force_xf4;
-
- delete @$card{'UTAH_GLX', 'UTAH_GLX_EXPERIMENTAL'}
- if $force_xf4 || availableRamMB() > 800; #- no Utah GLX if more than 800 Mb (server, or kernel-enterprise, Utha GLX does not work with latest).
-
- $card;
-}
-
-#- needed for bad cards not restoring cleanly framebuffer, according to which version of XFree are used.
-sub check_bad_card {
- my ($card) = @_;
- my $bad_card = using_xf4($card) ? $card->{BAD_FB_RESTORE} : $card->{BAD_FB_RESTORE_XF3};
- $bad_card ||= $card->{Driver} eq 'i810' || $card->{Driver} eq 'fbdev';
- $bad_card ||= $card->{Driver} eq 's3virge' if $::live;
- $bad_card ||= $card->{Driver} eq 'nvidia' if !$::isStandalone; #- avoid testing during install at any price.
- $bad_card ||= $card->{server} =~ /FBDev|Sun/ if !using_xf4($card);
-
- log::l("the graphics card does not like X in framebuffer") if $bad_card;
-
- !$bad_card;
-}
-
-sub readCardsDB {
- my ($file) = @_;
- my ($card, %cards);
-
- my $F = openFileMaybeCompressed($file);
-
- my ($lineno, $cmd, $val) = 0;
- my $fs = {
- NAME => sub {
- $cards{$card->{card_name}} = $card if $card;
- $card = { card_name => $val };
- },
- SEE => sub {
- my $c = $cards{$val} or die "Error in database, invalid reference $val at line $lineno";
- add2hash($card, $c);
- },
- LINE => sub { $val =~ s/^\s*//; $card->{raw_LINES} .= "$val\n" },
- CHIPSET => sub { $card->{Chipset} = $val },
- SERVER => sub { $card->{server} = $val },
- DRIVER => sub { $card->{Driver} = $val },
- DRIVER2 => sub { $card->{Driver2} = $val },
- NEEDVIDEORAM => sub { $card->{needVideoRam} = 1 },
- DRI_GLX => sub { $card->{DRI_GLX} = 1 if $card->{Driver} },
- UTAH_GLX => sub { $card->{UTAH_GLX} = 1 if $card->{server} },
- DRI_GLX_EXPERIMENTAL => sub { $card->{DRI_GLX_EXPERIMENTAL} = 1 if $card->{Driver} },
- UTAH_GLX_EXPERIMENTAL => sub { $card->{UTAH_GLX_EXPERIMENTAL} = 1 if $card->{server} },
- MULTI_HEAD => sub { $card->{MULTI_HEAD} = $val if $card->{Driver} },
- BAD_FB_RESTORE => sub { $card->{BAD_FB_RESTORE} = 1 },
- BAD_FB_RESTORE_XF3 => sub { $card->{BAD_FB_RESTORE_XF3} = 1 },
- FB_TVOUT => sub { $card->{FB_TVOUT} = 1 },
- UNSUPPORTED => sub { delete $card->{Driver} },
-
- COMMENT => sub {},
- };
-
- local $_;
- while (<$F>) { $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
- /^END/ and do { $cards{$card->{card_name}} = $card if $card; last };
-
- ($cmd, $val) = /(\S+)\s*(.*)/ or next;
-
- my $f = $fs->{$cmd};
-
- $f ? $f->() : log::l("unknown line $lineno ($_)");
- }
- \%cards;
-}
-
-our $default_ATI_fglrx_config = <<'END';
-# === disable PnP Monitor ===
-#Option "NoDDC"
-# === disable/enable XAA/DRI ===
-Option "no_accel" "no"
-Option "no_dri" "no"
-# === FireGL DDX driver module specific settings ===
-# === Screen Management ===
-Option "DesktopSetup" "0x00000000"
-Option "MonitorLayout" "AUTO, AUTO"
-Option "IgnoreEDID" "off"
-Option "HSync2" "unspecified"
-Option "VRefresh2" "unspecified"
-Option "ScreenOverlap" "0"
-# === TV-out Management ===
-Option "NoTV" "yes"
-Option "TVStandard" "NTSC-M"
-Option "TVHSizeAdj" "0"
-Option "TVVSizeAdj" "0"
-Option "TVHPosAdj" "0"
-Option "TVVPosAdj" "0"
-Option "TVHStartAdj" "0"
-Option "TVColorAdj" "0"
-Option "GammaCorrectionI" "0x00000000"
-Option "GammaCorrectionII" "0x00000000"
-# === OpenGL specific profiles/settings ===
-Option "Capabilities" "0x00000000"
-# === Video Overlay for the Xv extension ===
-Option "VideoOverlay" "on"
-# === OpenGL Overlay ===
-# Note: When OpenGL Overlay is enabled, Video Overlay
-# will be disabled automatically
-Option "OpenGLOverlay" "off"
-Option "CenterMode" "off"
-# === QBS Support ===
-Option "Stereo" "off"
-Option "StereoSyncEnable" "1"
-# === Misc Options ===
-Option "UseFastTLS" "0"
-Option "BlockSignalsOnLock" "on"
-Option "UseInternalAGPGART" "no"
-Option "ForceGenericCPU" "no"
-# === FSAA ===
-Option "FSAAScale" "1"
-Option "FSAADisableGamma" "no"
-Option "FSAACustomizeMSPos" "no"
-Option "FSAAMSPosX0" "0.000000"
-Option "FSAAMSPosY0" "0.000000"
-Option "FSAAMSPosX1" "0.000000"
-Option "FSAAMSPosY1" "0.000000"
-Option "FSAAMSPosX2" "0.000000"
-Option "FSAAMSPosY2" "0.000000"
-Option "FSAAMSPosX3" "0.000000"
-Option "FSAAMSPosY3" "0.000000"
-Option "FSAAMSPosX4" "0.000000"
-Option "FSAAMSPosY4" "0.000000"
-Option "FSAAMSPosX5" "0.000000"
-Option "FSAAMSPosY5" "0.000000"
-END
-
-1;
diff --git a/perl-install/Xconfig/default.pm b/perl-install/Xconfig/default.pm
deleted file mode 100644
index e1cd2e1b8..000000000
--- a/perl-install/Xconfig/default.pm
+++ /dev/null
@@ -1,44 +0,0 @@
-package Xconfig::default; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::xfree;
-use keyboard;
-use common;
-use mouse;
-
-
-sub configure {
- my ($keyboard, $mouse) = @_;
-
- $keyboard ||= keyboard::read();
- $mouse ||= do {
- my $mouse = mouse::read();
- add2hash($mouse, mouse::detect()) if !$::noauto;
- $mouse;
- };
-
-
- my $raw_X = Xconfig::xfree->empty_config;
-
- $raw_X->{xfree4}->add_load_module($_) foreach qw(dbe v4l extmod type1 freetype);
-
- config_keyboard($raw_X, $keyboard);
- config_mouse($raw_X, $mouse);
-
- $raw_X;
-}
-
-sub config_mouse {
- my ($raw_X, $mouse) = @_;
- mouse::set_xfree_conf($mouse, $raw_X);
-}
-
-sub config_keyboard {
- my ($raw_X, $keyboard) = @_;
- $raw_X->set_keyboard(keyboard::keyboard2full_xkb($keyboard));
-}
-
-1;
-
diff --git a/perl-install/Xconfig/main.pm b/perl-install/Xconfig/main.pm
deleted file mode 100644
index 3dd95f195..000000000
--- a/perl-install/Xconfig/main.pm
+++ /dev/null
@@ -1,217 +0,0 @@
-package Xconfig::main; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::monitor;
-use Xconfig::card;
-use Xconfig::resolution_and_depth;
-use Xconfig::various;
-use Xconfig::screen;
-use Xconfig::test;
-use common;
-use any;
-
-
-sub configure_monitor {
- my ($in, $raw_X) = @_;
-
- Xconfig::monitor::configure($in, $raw_X) or return;
- $raw_X->write;
- 'config_changed';
-}
-
-sub configure_resolution {
- my ($in, $raw_X) = @_;
-
- my $card = Xconfig::card::from_raw_X($raw_X);
- my $monitor = Xconfig::monitor::from_raw_X($raw_X);
- Xconfig::resolution_and_depth::configure($in, $raw_X, $card, $monitor) or return;
- $raw_X->write;
- 'config_changed';
-}
-
-
-sub configure_everything_auto_install {
- my ($raw_X, $do_pkgs, $old_X, $options) = @_;
- my $X = {};
- $X->{monitor} = Xconfig::monitor::configure_auto_install($raw_X, $old_X) or return;
- $options->{VideoRam_probed} = $X->{monitor}{VideoRam_probed};
- $X->{card} = Xconfig::card::configure_auto_install($raw_X, $do_pkgs, $old_X, $options) or return;
- Xconfig::screen::configure($raw_X, $X->{card}) or return;
- $X->{resolution} = Xconfig::resolution_and_depth::configure_auto_install($raw_X, $X->{card}, $X->{monitor}, $old_X);
-
- &write($raw_X, $X);
-
- Xconfig::various::runlevel(exists $old_X->{xdm} && !$old_X->{xdm} ? 3 : 5);
- 'config_changed';
-}
-
-sub configure_everything {
- my ($in, $raw_X, $do_pkgs, $auto, $options) = @_;
- my $X = {};
- my $ok = 1;
- $ok &&= $X->{monitor} = Xconfig::monitor::configure($in, $raw_X, $auto);
- $options->{VideoRam_probed} = $X->{monitor}{VideoRam_probed};
- $ok &&= $X->{card} = Xconfig::card::configure($in, $raw_X, $do_pkgs, $auto, $options);
- $ok &&= Xconfig::screen::configure($raw_X, $X->{card});
- $ok &&= $X->{resolution} = Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitor}, $auto);
- $ok &&= Xconfig::test::test($in, $raw_X, $X->{card}, '', 'skip_badcard') if !$auto;
-
- if (!$ok) {
- return if $auto;
- ($ok) = configure_chooser_raw($in, $raw_X, $do_pkgs, $options, $X, 1);
- }
- $X->{various} ||= Xconfig::various::various($in, $X->{card}, $options, $auto);
-
- $ok = may_write($in, $raw_X, $X, $ok);
-
- $ok && 'config_changed';
-}
-
-sub configure_chooser_raw {
- my ($in, $raw_X, $do_pkgs, $options, $X, $b_modified) = @_;
-
- my %texts;
-
- my $update_texts = sub {
- $texts{card} = $X->{card} && $X->{card}{BoardName} || N("Custom");
- $texts{monitor} = $X->{monitor} && $X->{monitor}{ModelName} || N("Custom");
- $texts{resolution} = Xconfig::resolution_and_depth::to_string($X->{resolution});
-
- $texts{$_} =~ s/(.{20}).*/$1.../ foreach keys %texts; #- ensure not too long
- };
- $update_texts->();
-
- my $may_set = sub {
- my ($field, $val) = @_;
- if ($val) {
- $X->{$field} = $val;
- $X->{"modified_$field"} = 1;
- $b_modified = 1;
- $update_texts->();
-
- if (member($field, 'card', 'monitor')) {
- Xconfig::screen::configure($raw_X, $X->{card});
- $raw_X->set_resolution($X->{resolution}) if $X->{resolution};
- }
- }
- };
-
- my $ok;
- $in->ask_from_({ interactive_help_id => 'configureX_chooser',
- if_($::isStandalone, ok => N("Quit")) },
- [
- { label => N("Graphic Card"), val => \$texts{card}, clicked => sub {
- $may_set->('card', Xconfig::card::configure($in, $raw_X, $do_pkgs, 0, $options));
- } },
- { label => N("Monitor"), val => \$texts{monitor}, clicked => sub {
- $may_set->('monitor', Xconfig::monitor::configure($in, $raw_X));
- } },
- { label => N("Resolution"), val => \$texts{resolution}, disabled => sub { !$X->{card} || !$X->{monitor} },
- clicked => sub {
- $may_set->('resolution', Xconfig::resolution_and_depth::configure($in, $raw_X, $X->{card}, $X->{monitor}));
- } },
- if_(Xconfig::card::check_bad_card($X->{card}) || $::isStandalone,
- { val => N("Test"), disabled => sub { !$X->{card} || !$X->{monitor} },
- clicked => sub {
- $ok = Xconfig::test::test($in, $raw_X, $X->{card}, 'auto', 0);
- } },
- ),
- { val => N("Options"), clicked => sub {
- Xconfig::various::various($in, $X->{card}, $options);
- $X->{various} = 'done';
- } },
- ]);
- $ok, $b_modified;
-}
-
-sub configure_chooser {
- my ($in, $raw_X, $do_pkgs, $options) = @_;
-
- my $X = {
- card => scalar eval { Xconfig::card::from_raw_X($raw_X) },
- monitor => $raw_X->get_monitors && Xconfig::monitor::from_raw_X($raw_X),
- resolution => scalar eval { $raw_X->get_resolution },
- };
- my ($ok, $modified) = configure_chooser_raw($in, $raw_X, $do_pkgs, $options, $X);
-
- $modified && may_write($in, $raw_X, $X, $ok) or return;
-
- 'config_changed';
-}
-
-sub configure_everything_or_configure_chooser {
- my ($in, $options, $auto, $o_keyboard, $o_mouse) = @_;
- my $raw_X = Xconfig::xfree->read;
- my $default = Xconfig::default::configure($o_keyboard, $o_mouse);
- my $has_conf = @{$raw_X->{xfree3}} || @{$raw_X->{xfree4}};
- $raw_X->{xfree3} = $default->{xfree3} if !@{$raw_X->{xfree3}};
- $raw_X->{xfree4} = $default->{xfree4} if !@{$raw_X->{xfree4}};
-
- return $raw_X if $has_conf && $auto;
-
- if ($has_conf) {
- Xconfig::main::configure_chooser($in, $raw_X, $in->do_pkgs, $options) or return;
- } else {
- Xconfig::main::configure_everything($in, $raw_X, $in->do_pkgs, $auto, $options) or return;
- }
- $raw_X;
-}
-
-
-sub may_write {
- my ($in, $raw_X, $X, $ok) = @_;
-
- $ok ||= $in->ask_yesorno('', N("Keep the changes?
-The current configuration is:
-
-%s", Xconfig::various::info($raw_X, $X->{card})), 1);
-
- &write($raw_X, $X) if $ok;
- $ok;
-}
-
-sub write {
- my ($raw_X, $X) = @_;
- export_to_install_X($X);
- $raw_X->write;
- Xconfig::various::check_XF86Config_symlink();
- symlinkf "../..$X->{card}{prog}", "$::prefix/etc/X11/X" if $X->{card}{server} !~ /Xpmac/;
-}
-
-
-sub export_to_install_X {
- my ($X) = @_;
-
- $::isInstall or return;
-
- $::o->{X}{resolution_wanted} = $X->{resolution}{X};
- $::o->{X}{default_depth} = $X->{resolution}{Depth};
- $::o->{X}{bios_vga_mode} = $X->{resolution}{bios};
- $::o->{X}{monitor} = $X->{monitor} if $X->{monitor}{manually_chosen} && $X->{monitor}{vendor} ne "Plug'n Play";
- $::o->{X}{card} = $X->{monitor} if $X->{card}{manually_chosen};
- $::o->{X}{Xinerama} = 1 if $X->{card}{Xinerama};
-}
-
-
-#- most usefull XFree86-4.0.1 server options. Default values is the first ones.
-our @options_serverflags = (
- 'DontZap' => [ "Off", "On" ],
- 'DontZoom' => [ "Off", "On" ],
- 'DisableVidModeExtension' => [ "Off", "On" ],
- 'AllowNonLocalXvidtune' => [ "Off", "On" ],
- 'DisableModInDev' => [ "Off", "On" ],
- 'AllowNonLocalModInDev' => [ "Off", "On" ],
- 'AllowMouseOpenFail' => [ "False", "True" ],
- 'VTSysReq' => [ "Off", "On" ],
- 'BlankTime' => [ "10", "5", "3", "15", "30" ],
- 'StandByTime' => [ "20", "10", "6", "30", "60" ],
- 'SuspendTime' => [ "30", "15", "9", "45", "90" ],
- 'OffTime' => [ "40", "20", "12", "60", "120" ],
- 'Pixmap' => [ "32", "24" ],
- 'PC98' => [ "auto-detected", "False", "True" ],
- 'NoPM' => [ "False", "True" ],
-);
-
-1;
diff --git a/perl-install/Xconfig/monitor.pm b/perl-install/Xconfig/monitor.pm
deleted file mode 100644
index 27475c0d1..000000000
--- a/perl-install/Xconfig/monitor.pm
+++ /dev/null
@@ -1,207 +0,0 @@
-package Xconfig::monitor; #- $Id$
-
-use diagnostics;
-use strict;
-
-use detect_devices;
-use common;
-use any;
-use log;
-
-
-sub good_default_monitor() {
- arch() =~ /ppc/ ?
- (detect_devices::get_mac_model() =~ /^iBook/ ? 'Apple|iBook 800x600' : 'Apple|iMac/PowerBook 1024x768') :
- (detect_devices::isLaptop() ? 'Generic|Flat Panel 1024x768' : 'Generic|1024x768 @ 70 Hz');
-}
-
-my @VertRefresh_ranges = ("50-70", "50-90", "50-100", "40-150");
-
-my @HorizSync_ranges = (
- "31.5",
- "31.5-35.1",
- "31.5-37.9",
- "31.5-48.5",
- "31.5-57.0",
- "31.5-64.3",
- "31.5-79.0",
- "31.5-82.0",
- "31.5-88.0",
- "31.5-94.0",
-);
-
-
-sub from_raw_X {
- my ($raw_X) = @_;
-
- my $monitor = $raw_X->get_monitor;
- if (!$monitor->{HorizSync}) {
- put_in_hash($monitor, getinfoFromDDC());
- }
- $monitor;
-}
-
-sub configure {
- my ($in, $raw_X, $b_auto) = @_;
-
- my $monitor = from_raw_X($raw_X);
- choose($in, $monitor, $b_auto) or return;
- $raw_X->set_monitors($monitor);
- $monitor;
-}
-
-sub configure_auto_install {
- my ($raw_X, $old_X) = @_;
-
- my $old_monitor = $old_X->{monitor} || {};
- $old_monitor->{VertRefresh} ||= $old_monitor->{vsyncrange};
- $old_monitor->{HorizSync} ||= $old_monitor->{hsyncrange};
-
- my $monitor = from_raw_X($raw_X);
- put_in_hash($monitor, $old_monitor);
-
- my $monitors = monitors();
- configure_automatic($monitor, $monitors) or put_in_hash($monitor, { HorizSync => '31.5-35.1', VertRefresh => '50-61' });
- $raw_X->set_monitors($monitor);
- $monitor;
-}
-
-sub choose {
- my ($in, $monitor, $b_auto) = @_;
-
- my $monitors = monitors();
-
- my $ok = configure_automatic($monitor, $monitors);
- if ($b_auto) {
- log::l("Xconfig::monitor: auto failed") if !$ok;
- return $ok;
- }
-
- my %h_monitors = map {; "$_->{VendorName}|$_->{ModelName}" => $_ } @$monitors;
-
- ask_monitor:
- my $merged_name = do {
- if ($monitor->{VendorName} eq "Plug'n Play") {
- $monitor->{VendorName};
- } else {
- my $merged_name = $monitor->{VendorName} . '|' . $monitor->{ModelName};
-
- if (!exists $h_monitors{$merged_name}) {
- $merged_name = $monitor->{HorizSync} ? 'Custom' : good_default_monitor();
- } else {
- $merged_name;
- }
- }
- };
-
- $in->ask_from_({ title => N("Monitor"),
- messages => N("Choose a monitor"),
- interactive_help_id => 'configureX_monitor'
- },
- [ { val => \$merged_name, separator => '|',
- list => ['Custom', "Plug'n Play", sort keys %h_monitors],
- format => sub { $_[0] eq 'Custom' ? N("Custom") :
- $_[0] eq "Plug'n Play" ? N("Plug'n Play") . " ($monitor->{ModelName})" :
- $_[0] =~ /^Generic\|(.*)/ ? N("Generic") . "|$1" :
- N("Vendor") . "|$_[0]" },
- sort => 0 } ]) or return;
-
- if ($merged_name eq "Plug'n Play") {
- local $::noauto = 0; #- hey, you asked for plug'n play, so i do probe!
- put_in_hash($monitor, getinfoFromDDC());
- if (configure_automatic($monitor, $monitors)) {
- $monitor->{VendorName} = "Plug'n Play";
- } else {
- delete $monitor->{VendorName};
- $in->ask_warn('', N("Plug'n Play probing failed. Please select the correct monitor"));
- goto ask_monitor;
- }
- } elsif ($merged_name eq 'Custom') {
- $in->ask_from('',
-N("The two critical parameters are the vertical refresh rate, which is the rate
-at which the whole screen is refreshed, and most importantly the horizontal
-sync rate, which is the rate at which scanlines are displayed.
-
-It is VERY IMPORTANT that you do not specify a monitor type with a sync range
-that is beyond the capabilities of your monitor: you may damage your monitor.
- If in doubt, choose a conservative setting."),
- [ { val => \$monitor->{HorizSync}, list => \@HorizSync_ranges, label => N("Horizontal refresh rate"), not_edit => 0 },
- { val => \$monitor->{VertRefresh}, list => \@VertRefresh_ranges, label => N("Vertical refresh rate"), not_edit => 0 } ]) or goto &choose;
- delete @$monitor{'VendorName', 'ModelName', 'EISA_ID'};
- } else {
- put_in_hash($monitor, $h_monitors{$merged_name});
- }
- $monitor->{manually_chosen} = 1;
- 1;
-}
-
-sub configure_automatic {
- my ($monitor, $monitors) = @_;
-
- if ($monitor->{EISA_ID}) {
- log::l("EISA_ID: $monitor->{EISA_ID}");
- if (my $mon = find { lc($_->{EISA_ID}) eq $monitor->{EISA_ID} } @$monitors) {
- add2hash($monitor, $mon);
- log::l("EISA_ID corresponds to: $monitor->{ModelName}");
- } elsif (!$monitor->{HorizSync} || !$monitor->{VertRefresh}) {
- log::l("unknown EISA_ID and partial DDC probe, so unknown monitor");
- delete @$monitor{'VendorName', 'ModelName', 'EISA_ID'};
- }
- } else {
- if (my $mon = find { $_->{VendorName} eq $monitor->{VendorName} && $_->{ModelName} eq $monitor->{ModelName} } @$monitors) {
- put_in_hash($monitor, $mon);
- }
- }
-
- return $monitor->{HorizSync} && $monitor->{VertRefresh};
-}
-
-sub getinfoFromDDC() {
- my ($VideoRam, @l) = any::ddcxinfos() or return;
-
- my @Modes;
- local $_;
- while (($_ = shift @l) ne "\n") {
- my ($depth, $x, $y) = split;
- $depth = int(log($depth) / log(2));
-
- push @Modes, [ $x, $y, $depth ];
- }
-
- my ($h, $v, $size, @_modes) = @l;
- {
- VideoRam_probed => to_int($VideoRam),
- HorizSync => first($h =~ /^(\S*)/),
- VertRefresh => first($v =~ /^(\S*)/),
- size => to_float($size),
- if_($size =~ /EISA ID=(\S*)/, EISA_ID => lc($1), VendorName => "Plug'n Play"),
- #- not-used-anymore Modes => \@Modes,
- #- not-used-anymore ModeLines => join('', @m),
- };
-}
-
-sub monitors() {
- readMonitorsDB("$ENV{SHARE_PATH}/ldetect-lst/MonitorsDB");
-}
-sub readMonitorsDB {
- my ($file) = @_;
-
- my @monitors;
- my $F = openFileMaybeCompressed($file);
- local $_;
- my $lineno = 0; while (<$F>) {
- $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
-
- my @fields = qw(VendorName ModelName EISA_ID HorizSync VertRefresh dpms);
- my %l; @l{@fields} = split /\s*;\s*/;
- push @monitors, \%l;
- }
- \@monitors;
-}
-
-
-1;
-
diff --git a/perl-install/Xconfig/parse.pm b/perl-install/Xconfig/parse.pm
deleted file mode 100644
index 36aad26f3..000000000
--- a/perl-install/Xconfig/parse.pm
+++ /dev/null
@@ -1,199 +0,0 @@
-package Xconfig::parse; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-
-
-sub read_XF86Config {
- my ($file) = @_;
- my $raw_X = raw_from_file($file);
- from_raw(@$raw_X);
- $raw_X;
-}
-
-sub write_XF86Config {
- my ($raw_X, $file) = @_;
- my @blocks = map { raw_to_string(before_to_string({ %$_ }, 0)) } @$raw_X;
- @blocks ? output($file, @blocks) : unlink $file;
-}
-
-sub read_XF86Config_from_string {
- my ($s) = @_;
- my $raw_X = raw_from_file('-', [ split "\n", $s ]);
- from_raw(@$raw_X);
- $raw_X;
-}
-
-#-###############################################################################
-#- raw reading/saving
-#-###############################################################################
-sub raw_from_file { #- internal
- my ($file, $o_lines) = @_;
- my $raw_X = [];
-
- my $lines = $o_lines || [ cat_($file) ];
- my $line;
-
- my ($comment, $obj, @objs);
-
- my $attach_comment = sub {
- $obj || @objs or warn "$file:$line: can't attach comment\n";
- if ($comment) {
- $comment =~ s/\n+$/\n/;
- ($obj || $objs[0])->{$_[0] . '_comment'} = $comment;
- $comment = '';
- }
- };
-
- foreach (@$lines) {
- $line++;
- s/^\s*//; s/\s*$//;
-
- if (/^$/) {
- $comment .= "\n" if $comment;
- next;
- } elsif (/^#\W/ || /^#$/) {
- s/^#\s+/# /;
- $comment .= "$_\n";
- next;
- }
-
- if (/^Section\s+"(.*)"/i) {
- die "$file:$line: missing EndSection\n" if @objs;
- my $e = { name => $1, l => [], kind => 'Section' };
- push @$raw_X, $e;
- unshift @objs, $e; $obj = '';
- $attach_comment->('pre');
- } elsif (/^Subsection\s+"(.*)"/i) {
- die "$file:$line: missing EndSubsection\n" if @objs && $objs[0]{kind} eq 'Subsection';
- die "$file:$line: not in Section\n" if !@objs || $objs[0]{kind} ne 'Section';
- my $e = { name => $1, l => [], kind => 'Subsection' };
- push @{$objs[0]{l}}, $e;
- unshift @objs, $e; $obj = '';
- $attach_comment->('pre');
- } elsif (/^EndSection/i) {
- die "$file:$line: not in Section\n" if !@objs || $objs[0]{kind} ne 'Section';
- $attach_comment->('post');
- shift @objs; $obj = '';
- } elsif (/^EndSubsection/i) {
- die "$file:$line: not in Subsection\n" if !@objs || $objs[0]{kind} ne 'Subsection';
- $attach_comment->('post');
- shift @objs; $obj = '';
- } else {
- die "$file:$line: not in Section\n" if !@objs;
-
- my $commented = s/^#//;
-
- my $comment_on_line;
- s/(\s*#.*)/$comment_on_line = $1; ''/e;
-
- if (/^$/) {
- die "$file:$line: weird";
- }
-
- (my $name, my $Option, $_) =
- /^Option\s*"(.*?)"(.*)/ ? ($1, 1, $2) : /^(\S+)(.*)/ ? ($1, 0, $2) : internal_error($_);
- my ($val) = /(\S.*)/;
-
- my %e = (Option => $Option, commented => $commented, comment_on_line => $comment_on_line, pre_comment => $comment);
- $comment = '';
- $obj = { name => $name, val => $val };
- $e{$_} and $obj->{$_} = $e{$_} foreach keys %e;
-
- push @{$objs[0]{l}}, $obj;
- }
- }
- $raw_X;
-}
-
-sub raw_to_string {
- my ($e, $b_want_spacing) = @_;
- my $s = do {
- if ($e->{l}) {
- my $inside = join('', map_index { raw_to_string($_, $::i) } @{$e->{l}});
- $inside =~ s/^/ /mg;
- qq(\n$e->{kind} "$e->{name}"\n) . $inside . "End$e->{kind}";
- } else {
- ($e->{commented} ? '#' : '') .
- ($e->{Option} ? qq(Option "$e->{name}") : $e->{name}) .
- (defined $e->{val} ? ($e->{Option} && $e->{val} !~ /^"/ ? qq( "$e->{val}") : qq( $e->{val})) : '');
- }
- };
- ($e->{pre_comment} ? ($b_want_spacing ? "\n" : '') . $e->{pre_comment} : '') . $s . ($e->{comment_on_line} || '') . "\n" . ($e->{post_comment} || '');
-}
-
-#-###############################################################################
-#- refine the data structure for easier use
-#-###############################################################################
-my %kind_names = (
- Pointer => [ qw(Protocol Device Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ],
- Mouse => [ qw(DeviceName Protocol Device AlwaysCore Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ], # Subsection in XInput
- Keyboard => [ qw(Protocol Driver XkbModel XkbLayout XkbDisable) ],
- Monitor => [ qw(Identifier VendorName ModelName HorizSync VertRefresh) ],
- Device => [ qw(Identifier VendorName BoardName Chipset Driver VideoRam Screen BusID DPMS power_saver) ],
- Display => [ qw(Depth Modes Virtual) ], # Subsection in Device
- Screen => [ qw(Identifier Driver Device Monitor DefaultColorDepth) ],
- InputDevice => [ qw(Identifier Driver Protocol Device Type Mode XkbModel XkbLayout XkbDisable Emulate3Buttons Emulate3Timeout EmulateWheel EmulateWheelButton) ],
- WacomCursor => [ qw(Port) ], #-\
- WacomStylus => [ qw(Port) ], #--> Port must be first
- WacomEraser => [ qw(Port) ], #-/
- ServerLayout => [ qw(Identifier) ],
-);
-my @want_string = qw(Identifier DeviceName VendorName ModelName BoardName Driver Device Chipset Monitor Protocol XkbModel XkbLayout XkbOptions XkbCompat Load BusID);
-
-%kind_names = map_each { lc $::a => [ map { lc } @$::b ] } %kind_names;
-@want_string = map { lc } @want_string;
-
-sub from_raw {
- sub from_raw__rec {
- my ($current, $e) = @_;
- if ($e->{l}) {
- from_raw($e);
- push @{$current->{l}{$e->{name}}}, $e;
- } else {
- if (member(lc $e->{name}, @want_string)) {
- $e->{val} =~ s/^"(.*)"$/$1/ or warn "$e->{name} $e->{val} has no quote\n";
- }
-
- if (member(lc $e->{name}, @{$kind_names{lc $current->{name}} || []})) {
- if ($current->{l}{$e->{name}} && !$current->{l}{$e->{name}}{commented}) {
- warn "skipping conflicting line for $e->{name} in $current->{name}\n" if !$e->{commented};
- } else {
- $current->{l}{$e->{name}} = $e;
- }
- } else {
- push @{$current->{l}{$e->{name}}}, $e;
- }
- }
- delete $e->{name};
- }
-
- foreach my $e (@_) {
- ($e->{l}, my $l) = ({}, $e->{l});
- from_raw__rec($e, $_) foreach @$l;
-
- delete $e->{kind};
- }
-}
-
-sub before_to_string {
- my ($e, $depth) = @_;
-
- if ($e->{l}) {
- $e->{kind} = $depth ? 'Subsection' : 'Section';
-
- my %rated = map_index { $_ => $::i + 1 } @{$kind_names{lc $e->{name}} || []};
- my @sorted = sort { ($rated{lc $a} || 99) <=> ($rated{lc $b} || 99) } keys %{$e->{l}};
- $e->{l} = [ map {
- my $name = $_;
- map {
- before_to_string({ name => $name, %$_ }, $depth+1);
- } deref_array($e->{l}{$name});
- } @sorted ];
- } elsif (member(lc $e->{name}, @want_string)) {
- $e->{val} = qq("$e->{val}");
- }
- $e;
-}
diff --git a/perl-install/Xconfig/proprietary.pm b/perl-install/Xconfig/proprietary.pm
deleted file mode 100644
index ed196deb7..000000000
--- a/perl-install/Xconfig/proprietary.pm
+++ /dev/null
@@ -1,35 +0,0 @@
-package Xconfig::proprietary; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-
-
-sub install_matrox_hal {
- my ($prefix) = @_;
- my $tmpdir = "$prefix/root/tmp";
-
- my $tar = "mgadrivers-2.0.tgz";
- my $dir_in_tar = "mgadrivers";
- my $dest_dir = "$prefix/usr/X11R6/lib/modules/drivers";
-
- #- already installed
- return if -e "$dest_dir/mga_hal_drv.o" || $::testing;
-
- system("wget -O $tmpdir/$tar ftp://ftp.matrox.com/pub/mga/archive/linux/2002/$tar") if !-e "$tmpdir/$tar";
- system("tar xzC $tmpdir -f $tmpdir/$tar");
-
- my $src_dir = "$tmpdir/$dir_in_tar/xfree86/4.2.1/drivers";
- foreach (all($src_dir)) {
- my $src = "$src_dir/$_";
- my $dest = "$dest_dir/$_";
- rename $dest, "$dest.non_hal";
- cp_af($src, $dest_dir);
- }
- rm_rf("$tmpdir/$tar");
- rm_rf("$tmpdir/$dir_in_tar");
-}
-
-1;
-
diff --git a/perl-install/Xconfig/resolution_and_depth.pm b/perl-install/Xconfig/resolution_and_depth.pm
deleted file mode 100644
index 5efac6ae5..000000000
--- a/perl-install/Xconfig/resolution_and_depth.pm
+++ /dev/null
@@ -1,317 +0,0 @@
-package Xconfig::resolution_and_depth; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::card;
-use Xconfig::monitor;
-use common;
-
-
-our %depth2text = (
- 8 => N_("256 colors (8 bits)"),
- 15 => N_("32 thousand colors (15 bits)"),
- 16 => N_("65 thousand colors (16 bits)"),
- 24 => N_("16 million colors (24 bits)"),
- 32 => N_("4 billion colors (32 bits)"),
-);
-our @depths_available = ikeys(%depth2text);
-
-my %min_hsync4x_res = (
- 640 => 31.5,
- 800 => 35.1,
- 1024 => 35.5,
- 1152 => 44.0,
- 1280 => 51.0,
- 1400 => 65.5,
- 1600 => 75.0,
- 1920 => 90.0,
- 2048 => 136.5,
-);
-
-my @bios_vga_modes = (
- { bios => 769, X => 640, Y => 480, Depth => 8 },
- { bios => 771, X => 800, Y => 600, Depth => 8 },
- { bios => 773, X => 1024, Y => 768, Depth => 8 },
- { bios => 775, X => 1280, Y => 1024, Depth => 8 },
- { bios => 784, X => 640, Y => 480, Depth => 15 },
- { bios => 787, X => 800, Y => 600, Depth => 15 },
- { bios => 790, X => 1024, Y => 768, Depth => 15 },
- { bios => 793, X => 1280, Y => 1024, Depth => 15 },
- { bios => 785, X => 640, Y => 480, Depth => 16 },
- { bios => 788, X => 800, Y => 600, Depth => 16 },
- { bios => 791, X => 1024, Y => 768, Depth => 16 },
- { bios => 794, X => 1280, Y => 1024, Depth => 16 },
-);
-
-sub size2default_resolution {
- my ($size) = @_; #- size in inch
-
- if (arch() =~ /ppc/) {
- require detect_devices;
- return "1024x768" if detect_devices::get_mac_model() =~ /^PowerBook|^iMac/;
- }
-
- my %monitorSize2resolution = (
- 13 => "640x480",
- 14 => "800x600",
- 15 => "800x600",
- 16 => "1024x768",
- 17 => "1024x768",
- 18 => "1024x768",
- 19 => "1280x1024",
- 20 => "1280x1024",
- 21 => "1600x1200",
- 22 => "1600x1200",
- );
- $monitorSize2resolution{round($size)} || ($size < 13 ? "640x480" : "1600x1200");
-}
-
-sub to_string {
- my ($resolution) = @_;
- $resolution or return;
-
- $resolution->{X} ? sprintf("%sx%s %dbpp", @$resolution{'X', 'Y', 'Depth'}) : 'frame-buffer';
-}
-
-sub allowed {
- my ($card) = @_;
-
- my ($prefered_depth, @depths, @resolutions, @resolution_and_depth);
-
- my $using_xf4 = Xconfig::card::using_xf4($card);
-
- if ($using_xf4 ? $card->{Driver} eq 'fbdev' : $card->{server} eq 'FBDev') {
- push @resolution_and_depth, grep { $_->{Depth} == 16 } @bios_vga_modes;
- } elsif ($using_xf4 && $card->{Driver} eq 'fglrx') {
- $prefered_depth = 24;
- push @depths, 24;
- } elsif ($using_xf4) {
- if ($card->{use_DRI_GLX}) {
- $prefered_depth = 16;
- push @depths, 16;
- push @depths, 24 if member($card->{Driver}, 'mga', 'tdfx', 'r128', 'radeon');
- }
- } elsif ($card->{use_UTAH_GLX}) {
- $prefered_depth = 16;
- push @depths, 16;
- } else {
- if ($card->{server} eq 'Sun24') { push @depths, 24, 8, 2 }
- elsif ($card->{server} eq 'Sun') { push @depths, 8, 2 }
- elsif ($card->{server} eq 'SunMono') { push @depths, 2 }
- elsif ($card->{server} eq 'VGA16') { push @depths, 8; push @resolutions, '640x480' }
- elsif ($card->{BoardName} =~ /SiS/) { push @depths, 24, 16, 8 }
- elsif ($card->{BoardName} eq 'S3 Trio3D') { push @depths, 24, 16, 8 }
- }
- if (!@resolution_and_depth || @depths || @resolutions) {
- @depths = grep { !($using_xf4 && /32/) } (our @depths_available) if !@depths;
- @resolutions = @Xconfig::xfreeX::resolutions if !@resolutions;
-
- push @resolution_and_depth,
- map {
- my $Depth = $_;
- map { m/(\d+)x(\d+)/ && { X => $1, Y => $2, Depth => $Depth } } @resolutions;
- } @depths;
- }
- $prefered_depth, @resolution_and_depth;
-}
-
-# ($card->{VideoRam} || ($card->{server} eq 'FBDev' ? 2048 : 32768))
-sub filter_using_VideoRam {
- my ($VideoRam, @resolutions) = @_;
- my $mem = 1024 * $VideoRam;
- grep { $_->{X} * $_->{Y} * $_->{Depth}/8 <= $mem } @resolutions;
-
-}
-sub filter_using_HorizSync {
- my ($HorizSync, @resolutions) = @_;
- my $hsync = max(split(/[,-]/, $HorizSync));
- grep { ($min_hsync4x_res{$_->{X}} || 0) <= $hsync } @resolutions;
-}
-
-sub choose {
- my ($in, $default_resolution, @resolutions) = @_;
-
- my $resolution = $default_resolution || {};
- $in->ask_from(N("Resolutions"), "",
- [ {
- val => \$resolution, type => 'list', sort => 0,
- list => [ sort { $a->{X} <=> $b->{X} } @resolutions ],
- format => sub { "$_[0]{X}x$_[0]{Y} $_[0]{Depth}bpp" },
- } ])
- and $resolution;
-}
-
-
-sub choices {
- my ($_raw_X, $resolution_wanted, $card, $monitor) = @_;
- $resolution_wanted ||= {};
-
- my ($prefered_depth, @resolutions) = allowed($card);
-
- @resolutions = filter_using_HorizSync($monitor->{HorizSync}, @resolutions) if $monitor->{HorizSync};
- @resolutions = filter_using_VideoRam($card->{VideoRam}, @resolutions) if $card->{VideoRam};
-
- my $x_res = do {
- my $res = $resolution_wanted->{X} || ($monitor->{ModelName} =~ /^Flat Panel (\d+x\d+)$/ ? $1 : size2default_resolution($monitor->{size} || 14));
- my $x_res = first(split 'x', $res);
- #- take the first available resolution <= the wanted resolution
- max map { if_($_->{X} <= $x_res, $_->{X}) } @resolutions;
- };
-
- my @matching = grep { $_->{X} eq $x_res } @resolutions;
- my @Depths = map { $_->{Depth} } @matching;
-
- my $Depth = $resolution_wanted->{Depth};
- $Depth = $prefered_depth if !$Depth || !member($Depth, @Depths);
- $Depth = max(@Depths) if !$Depth || !member($Depth, @Depths);
-
- #- finding it in @resolutions (well @matching)
- #- (that way, we check it exists, and we get field "bios" for fbdev)
- my @default_resolutions = sort { $b->{Y} <=> $a->{Y} } grep { $_->{Depth} eq $Depth } @matching;
- my $default_resolution = (find { $resolution_wanted->{Y} eq $_->{Y} } @default_resolutions) || $default_resolutions[0];
-
- $default_resolution, @resolutions;
-}
-
-sub configure {
- my ($in, $raw_X, $card, $monitor, $b_auto) = @_;
-
- my ($default_resolution, @resolutions) = choices($raw_X, $raw_X->get_resolution, $card, $monitor);
-
- if ($b_auto) {
- #- use $default_resolution
- if (Xconfig::card::using_xf4($card) && $card->{Driver} eq 'fglrx') {
- $default_resolution = first(find { $default_resolution->{Y} eq $_->{Y} && $_->{Depth} == 24 }
- $default_resolution, @resolutions);
- $default_resolution ||= first(find { $_->{Depth} == 24 } $default_resolution, @resolutions);
- }
- } elsif ($in->isa('interactive::gtk')) {
- $default_resolution = choose_gtk($in, $card, $default_resolution, @resolutions) or return;
- } else {
- $default_resolution = choose($in, $default_resolution, @resolutions) or return;
- }
- $raw_X->set_resolution($default_resolution);
-
- $default_resolution;
-}
-
-sub configure_auto_install {
- my ($raw_X, $card, $monitor, $old_X) = @_;
-
- my $resolution_wanted = { X => $old_X->{resolution_wanted}, Depth => $old_X->{default_depth} };
-
- my ($default_resolution) = choices($raw_X, $resolution_wanted, $card, $monitor);
- $default_resolution or die "you selected an unusable depth";
-
- $raw_X->set_resolution($default_resolution);
-
- $default_resolution;
-}
-
-sub choose_gtk {
- my ($in, $card, $default_resolution, @resolutions) = @_;
-
- my ($chosen_x_res, $chosen_y_res, $chosen_Depth) = @$default_resolution{'X', 'Y', 'Depth'};
- $chosen_x_res ||= 640;
-
- my %x_res2depth; push @{$x_res2depth{$_->{X}}}, $_->{Depth} foreach @resolutions;
- my %depth2x_res; push @{$depth2x_res{$_->{Depth}}}, $_->{X} foreach @resolutions;
-
- require ugtk2;
- ugtk2->import(qw(:create :helpers :wrappers));
- my $W = ugtk2->new(N("Resolution"));
-
- my %monitor_images_x_res = do {
- my @l = qw(640 800 1024 1152 1280 1400 1600 1920 2048);
- my %h = map { $_ => ugtk2::_find_imgfile("monitor-$_.png") } @l;
-
- #- for the other, use the biggest smaller
- foreach my $x_res (uniq map { $_->{X} } @resolutions) {
- my $x_res_ = max(grep { $_ <= $x_res } @l);
- $h{$x_res} ||= $h{$x_res_};
- }
- %h;
- };
-
- my ($depth_combo, $x_res_combo) = (Gtk2::OptionMenu->new, Gtk2::OptionMenu->new);
-
- my $pix_colors = Gtk2::Image->new;
- my $set_chosen_Depth_image = sub {
- $pix_colors->set_from_file(ugtk2::_find_imgfile(
- $chosen_Depth >= 24 ? "colors.png" :
- $chosen_Depth >= 15 ? "colors16.png" : "colors8.png"));
- };
-
- my $set_chosen_Depth = sub {
- $chosen_Depth = $_[0];
- $depth_combo->entry->set_text(translate($depth2text{$chosen_Depth}));
- $set_chosen_Depth_image->();
- };
-
- my $pixmap_mo = Gtk2::Image->new;
- my $set_chosen_x_res = sub {
- $chosen_x_res = $_[0];
- if ($_[1]) {
- $chosen_y_res = $_[1];
- } else {
- #- take one
- my $one = find { $_->{X} eq $chosen_x_res } @resolutions;
- $chosen_y_res = $one->{Y};
- }
- my $image = $monitor_images_x_res{$chosen_x_res} or internal_error("no image for resolution $chosen_x_res");
- $pixmap_mo->set_from_file($image);
- $x_res_combo->entry->set_text($chosen_x_res . "x" . $chosen_y_res);
- };
- $set_chosen_x_res->($chosen_x_res, $chosen_y_res);
-
- my $help_sub = $in->interactive_help_sub_display_id('configureX_resolution');
- gtkadd($W->{window},
- gtkpack_($W->create_box_with_title(N("Choose the resolution and the color depth"),
- if_($card->{BoardName}, "(" . N("Graphics card: %s", $card->{BoardName}) . ")"),
- ),
- 1, gtkpack2(new Gtk2::VBox(0,0),
- gtkpack2__(new Gtk2::VBox(0, 15),
- $pixmap_mo,
- gtkpack2(new Gtk2::HBox(0,0),
- create_packtable({ col_spacings => 5, row_spacings => 5 },
- [ $x_res_combo, new Gtk2::Label("") ],
- [ $depth_combo, gtkadd(gtkset_shadow_type(new Gtk2::Frame, 'etched_out'), $pix_colors) ],
- ),
- ),
- ),
- ),
- 0, gtkadd($W->create_okcancel(N("Ok"), N("Cancel"), '', if_($help_sub, [ N("Help"), $help_sub, 1 ]))),
- ));
- $depth_combo->set_popdown_strings(map { translate($depth2text{$_}) } ikeys %depth2x_res);
- $depth_combo->entry->set_size_request(220, -1);
- $depth_combo->entry->signal_connect(changed => sub {
- my %txt2depth = reverse %depth2text;
- my $s = $depth_combo->entry->get_text;
- $chosen_Depth = $txt2depth{untranslate($s, keys %txt2depth)};
- $set_chosen_Depth_image->();
-
- if (!member($chosen_x_res, @{$depth2x_res{$chosen_Depth}})) {
- $set_chosen_x_res->(max(@{$depth2x_res{$chosen_Depth}}));
- }
- });
- $x_res_combo->set_popdown_strings(uniq map { "$_->{X}x$_->{Y}" } sort { $a->{X} <=> $b->{X} } @resolutions);
- $x_res_combo->entry->signal_connect(changed => sub {
- $set_chosen_x_res->($1, $2) if $x_res_combo->entry->get_text =~ /(\d+)x(\d+)/;
-
- if (!member($chosen_Depth, @{$x_res2depth{$chosen_x_res}})) {
- $set_chosen_Depth->(max(@{$x_res2depth{$chosen_x_res}}));
- }
- });
- $set_chosen_x_res->($chosen_x_res);
- $set_chosen_Depth->($chosen_Depth);
- $W->{ok}->grab_focus;
-
- $W->main or return;
-
- find { $_->{X} == $chosen_x_res &&
- $_->{Y} == $chosen_y_res &&
- $_->{Depth} == $chosen_Depth } @resolutions;
-}
-
-1;
diff --git a/perl-install/Xconfig/screen.pm b/perl-install/Xconfig/screen.pm
deleted file mode 100644
index 761c5defd..000000000
--- a/perl-install/Xconfig/screen.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-package Xconfig::screen; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-
-
-sub configure {
- my ($raw_X, $card) = @_;
-
- my @devices = $raw_X->get_devices;
- my @monitors = $raw_X->get_monitors;
-
- if (@monitors < @devices) {
- $raw_X->set_monitors(@monitors, ({}) x (@devices - @monitors));
- @monitors = $raw_X->get_monitors;
- }
-
- if ($card->{server}) {
- $raw_X->{xfree3}->set_screens({ Device => $devices[0]{Identifier}, Monitor => $monitors[0]{Identifier},
- Driver => $Xconfig::card::serversdriver{$card->{server}} || internal_error("bad XFree3 server $card->{server}"),
- });
- } else {
- @{$raw_X->{xfree3}} = ();
- }
-
- if ($card->{Driver}) {
- my @sections = mapn {
- my ($device, $monitor) = @_;
- { Device => $device->{Identifier}, Monitor => $monitor->{Identifier} }
- } \@devices, \@monitors;
-
- $raw_X->{xfree4}->set_screens(@sections);
- } else {
- @{$raw_X->{xfree4}} = ();
- }
-
- 1;
-}
-
-1;
diff --git a/perl-install/Xconfig/test.pm b/perl-install/Xconfig/test.pm
deleted file mode 100644
index 93ec31e6e..000000000
--- a/perl-install/Xconfig/test.pm
+++ /dev/null
@@ -1,159 +0,0 @@
-package Xconfig::test; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::card;
-use run_program;
-use common;
-use log;
-
-
-my $tmpconfig = "/tmp/Xconfig";
-
-
-sub xtest {
- my ($display) = @_;
- $::isStandalone ?
- system("DISPLAY=$display /usr/X11R6/bin/xtest") == 0 :
- c::Xtest($display);
-}
-
-sub test {
- my ($in, $raw_X, $card, $auto, $skip_badcard) = @_;
-
- my $bad_card = !Xconfig::card::check_bad_card($card);
- return 1 if $skip_badcard && $bad_card;
-
- if ($bad_card || !$auto) {
- $in->ask_yesorno(N("Test of the configuration"),
- N("Do you want to test the configuration?") . ($bad_card ? "\n" . N("Warning: testing this graphic card may freeze your computer") : ''),
- !$bad_card) or return 1;
- }
-
- unlink "$::prefix/tmp/.X9-lock";
-
- #- create a link from the non-prefixed /tmp/.X11-unix/X9 to the prefixed one
- #- that way, you can talk to :9 without doing a chroot
- #- but take care of non X11 install :-)
- if (-d "/tmp/.X11-unix") {
- symlinkf "$::prefix/tmp/.X11-unix/X9", "/tmp/.X11-unix/X9" if $::prefix;
- } else {
- symlinkf "$::prefix/tmp/.X11-unix", "/tmp/.X11-unix" if $::prefix;
- }
-
- #- ensure xfs is running
- fuzzy_pidofs(qr/\bxfs\b/) or do { run_program::rooted($::prefix, "/etc/rc.d/init.d/xfs", $_) foreach 'stop', 'start' };
- fuzzy_pidofs(qr/\bxfs\b/) or die "xfs is not running";
-
- my $f = $::testing ? $tmpconfig : "/etc/X11/XF86Config.test";
- $raw_X->{Xconfig::card::using_xf4($card) ? 'xfree4' : 'xfree3'}->write("$::prefix/$f");
-
- my $f_err = common::secured_file($::prefix . ($ENV{TMPDIR} || "$ENV{HOME}/tmp") . '/.drakx.Xoutput');
-
- my $pid;
- unless ($pid = fork()) {
- system("xauth add :9 . `mcookie`");
- open STDERR, ">$f_err";
- chroot $::prefix if $::prefix;
- exec $card->{prog},
- if_($card->{prog} !~ /Xsun/, "-xf86config", $f),
- ":9" or c::_exit(0);
- }
-
- do { sleep 1 } until xtest(":9") || waitpid($pid, c::WNOHANG());
-
- my $_b = before_leaving { unlink $f_err };
-
- my $warn_error = sub {
- my ($error_msg) = @_;
- $in->ask_warn('', [ N("An error occurred:\n%s\nTry to change some parameters", $error_msg) ]);
- };
-
- if (!xtest(":9")) {
- open(my $F, $f_err);
-
- local $_;
- i: while (<$F>) {
- if (Xconfig::card::using_xf4($card)) {
- if (/^\(EE\)/ && !/Disabling/ || /^Fatal\b/) {
- my @msg = !/error/ && $_;
- local $_;
- while (<$F>) {
- /reporting a problem/ and last;
- $warn_error->(join(@msg, $_));
- return 0;
- }
- }
- } else {
- if (/\b(error|not supported)\b/i) {
- my @msg = !/error/ && $_;
- local $_;
- while (<$F>) {
- /not fatal/ and last i;
- /^$/ and last;
- push @msg, $_;
- }
- $warn_error->(join(@msg));
- return 0;
- }
- }
- }
- }
-
- open(my $F, "|perl 2>/dev/null");
- printf $F q(
- use lib qw(%s);
- BEGIN { $::no_ugtk_init = 1 }
- require lang;
- require ugtk2; #- help perl_checker
- ugtk2->import(qw(:wrappers :helpers)); #- help perl_checker
- use interactive::gtk;
- use run_program;
- use common;
-
- $::prefix = "%s";
- $::isStandalone = 1;
-
- lang::bindtextdomain();
-
- $ENV{DISPLAY} = ":9";
- Gtk2->init;
-
- gtkset_background(200 * 257, 210 * 257, 210 * 257);
- my ($h, $w) = gtkroot()->get_size;
- $ugtk2::force_center = 1;
- $ugtk2::force_focus = 1;
- my $text = Gtk2::Label->new;
- my $time = 12;
- Glib::Timeout->add(1000, sub {
- $text->set(sprintf(translate("%s"), $time));
- $time-- or Gtk2->main_quit;
- 1;
- });
-
- eval { #- eval it so that missing pixmap will not break the test completely
- my $root = gtkroot();
- my $gc = Gtk2::Gdk::GC->new($root);
- my $pixbuf = Gtk2::Gdk::Pixbuf->new_from_file("$::prefix/usr/share/mdk/xfdrake/xfdrake-test-card.png");
- my ($w, $h) = ($pixbuf->get_width, $pixbuf->get_height);
- my $pixmap = Gtk2::Gdk::Pixmap->new($root, $w, $h, $root->get_depth);
- $pixbuf->render_to_drawable($pixmap, $gc, 0, 0, 0, 0, $w, $h, 'none', 0, 0);
- $root->set_back_pixmap($pixmap, 0);
- $root->clear;
- };
-
- my $in = interactive::gtk->new;
- $in->exit($in->ask_yesorno('', [ translate("%s"), $text ], 0) ? 0 : 222);
- ), join(' ', @INC), $::prefix, N_("Leaving in %d seconds"), N_("Is this the correct setting?");
- my $rc = close $F;
- my $err = $?;
-
- $rc || $err == 222 << 8 or $warn_error->('');
-
- unlink "$::prefix/$f", "$::prefix/$f-4";
- unlink "/tmp/.X11-unix/X9" if $::prefix;
- kill 2, $pid;
-
- $rc;
-}
diff --git a/perl-install/Xconfig/various.pm b/perl-install/Xconfig/various.pm
deleted file mode 100644
index 5849a1c17..000000000
--- a/perl-install/Xconfig/various.pm
+++ /dev/null
@@ -1,153 +0,0 @@
-package Xconfig::various; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::card;
-use Xconfig::default;
-use Xconfig::resolution_and_depth;
-use common;
-
-
-sub to_string {
- my ($raw_X) = @_;
-
- $raw_X->is_fbdev ? 'frame-buffer' : Xconfig::resolution_and_depth::to_string($raw_X->get_resolution);
-}
-
-sub info {
- my ($raw_X, $card) = @_;
- my $info;
- my $xf_ver = Xconfig::card::using_xf4($card) ? Xconfig::card::xfree4_version() : Xconfig::card::xfree3_version();
- my $title = $card->{use_DRI_GLX} || $card->{use_UTAH_GLX} ?
- N("XFree %s with 3D hardware acceleration", $xf_ver) : N("XFree %s", $xf_ver);
- my $keyboard = eval { $raw_X->get_keyboard } || {};
- my $monitor = eval { $raw_X->get_monitor } || {};
- my $device = eval { $raw_X->get_device } || {};
- my $mouse = eval { first($raw_X->get_mice) } || {};
-
- $info .= N("Keyboard layout: %s\n", $keyboard->{XkbLayout});
- $info .= N("Mouse type: %s\n", $mouse->{Protocol});
- $info .= N("Mouse device: %s\n", $mouse->{Device}) if $::expert;
- $info .= N("Monitor: %s\n", $monitor->{ModelName});
- $info .= N("Monitor HorizSync: %s\n", $monitor->{HorizSync}) if $::expert;
- $info .= N("Monitor VertRefresh: %s\n", $monitor->{VertRefresh}) if $::expert;
- $info .= N("Graphics card: %s\n", $device->{VendorName} . ' ' . $device->{BoardName});
- $info .= N("Graphics memory: %s kB\n", $device->{VideoRam}) if $device->{VideoRam};
- if (my $resolution = eval { $raw_X->get_resolution }) {
- $info .= N("Color depth: %s\n", translate($Xconfig::resolution_and_depth::depth2text{$resolution->{Depth}}));
- $info .= N("Resolution: %s\n", join('x', @$resolution{'X', 'Y'}));
- }
- $info .= N("XFree86 server: %s\n", $card->{server}) if $card->{server};
- $info .= N("XFree86 driver: %s\n", $device->{Driver}) if $device->{Driver};
- "$title\n\n$info";
-}
-
-sub various {
- my ($in, $card, $options, $b_auto) = @_;
-
- tvout($in, $card, $options) if !$b_auto;
- choose_xdm($in, $b_auto);
- 1;
-}
-
-sub runlevel {
- my ($runlevel) = @_;
- my $f = "$::prefix/etc/inittab";
- -r $f or log::l("missing inittab!!!"), return;
- if ($runlevel) {
- substInFile { s/^id:\d:initdefault:\s*$/id:$runlevel:initdefault:\n/ } $f if !$::testing;
- } else {
- cat_($f) =~ /^id:(\d):initdefault:\s*$/m && $1;
- }
-}
-
-sub choose_xdm {
- my ($in, $b_auto) = @_;
- my $xdm = $::isStandalone ? runlevel() == 5 : 1;
-
- if (!$b_auto || $::isStandalone) {
- $xdm = $in->ask_yesorno_({
- title => N("Graphical interface at startup"),
- messages =>
-N("I can setup your computer to automatically start the graphical interface (XFree) upon booting.
-Would you like XFree to start when you reboot?"),
- interactive_help_id => 'configureXxdm',
- }, $xdm);
- }
- runlevel($xdm ? 5 : 3);
-}
-
-sub tvout {
- my ($in, $card, $options) = @_;
-
- $card->{FB_TVOUT} && Xconfig::card::using_xf4($card) && $options->{allowFB} or return;
-
- $in->ask_yesorno('', N("Your graphic card seems to have a TV-OUT connector.
-It can be configured to work using frame-buffer.
-
-For this you have to plug your graphic card to your TV before booting your computer.
-Then choose the \"TVout\" entry in the bootloader
-
-Do you have this feature?")) or return;
-
- #- rough default value (rationale: http://download.nvidia.com/XFree86_40/1.0-2960/README.txt)
- require timezone;
- my $norm = timezone::read()->{timezone} =~ /America/ ? 'NTSC' : 'PAL';
-
- $norm = $in->ask_from_list('', N("What norm is your TV using?"), [ 'NTSC', 'PAL' ], $norm) or return;
-
- configure_FB_TVOUT({ norm => $norm });
-}
-
-sub configure_FB_TVOUT {
- my ($use_FB_TVOUT) = @_;
-
- my $raw_X = Xconfig::default::configure();
- my $xfree4 = $raw_X->{xfree4};
- return if is_empty_array_ref($xfree4);
-
- $xfree4->set_monitors({ HorizSync => '30-50', VertRefresh => ($use_FB_TVOUT->{norm} eq 'NTSC' ? 60 : 50) });
- first($xfree4->get_monitor_sections)->{ModeLine} = [
- { val => '"640x480" 29.50 640 675 678 944 480 530 535 625', pre_comment => "# PAL\n" },
- { val => '"800x600" 36.00 800 818 820 960 600 653 655 750' },
- { val => '"640x480" 28.195793 640 656 658 784 480 520 525 600', pre_comment => "# NTSC\n" },
- { val => '"800x600" 38.769241 800 812 814 880 600 646 649 735' },
- ];
- $xfree4->set_devices({ Driver => 'fbdev' });
-
- my ($device) = $xfree4->get_devices;
- my ($monitor) = $xfree4->get_monitors;
- $xfree4->set_screens({ Device => $device->{Identifier}, Monitor => $monitor->{Identifier} });
-
- my $Screen = $xfree4->get_default_screen;
- $Screen->{Display} = [ map { { l => { Depth => { val => $_ } } } } 8, 16 ];
-
- $xfree4->write("$::prefix/etc/X11/XF86Config-4.tvout");
-
- check_XF86Config_symlink();
-
- {
- require bootloader;
- require fsedit;
- require detect_devices;
- my ($bootloader, $all_hds) =
- $::isInstall ? ($::o->{bootloader}, $::o->{all_hds}) :
- (bootloader::read(), fsedit::get_hds());
-
- if (my $tvout = bootloader::duplicate_kernel_entry($bootloader, 'TVout')) {
- $tvout->{append} .= " XFree=tvout";
- bootloader::install($bootloader, [ fsedit::get_all_fstab($all_hds) ], $all_hds->{hds});
- }
- }
-}
-
-sub check_XF86Config_symlink() {
- my $f = "$::prefix/etc/X11/XF86Config-4";
- if (!-l $f && -e "$f.tvout") {
- rename $f, "$f.standard";
- symlink "XF86Config-4.standard", $f;
- }
-}
-
-1;
diff --git a/perl-install/Xconfig/xfree.pm b/perl-install/Xconfig/xfree.pm
deleted file mode 100644
index 8df42bd8a..000000000
--- a/perl-install/Xconfig/xfree.pm
+++ /dev/null
@@ -1,111 +0,0 @@
-package Xconfig::xfree; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use Xconfig::parse;
-use Xconfig::xfree3;
-use Xconfig::xfree4;
-use log;
-
-
-sub read {
- my ($class, $o_xfree3_file, $o_xfree4_file) = @_;
- bless { xfree3 => eval { Xconfig::xfree3->read($o_xfree3_file) } || [],
- xfree4 => eval { Xconfig::xfree4->read($o_xfree4_file) } || [] }, $class;
-}
-sub write {
- my ($both, $o_xfree3_file, $o_xfree4_file) = @_;
- $both->{xfree3} ? $both->{xfree3}->write($o_xfree3_file) : unlink($o_xfree3_file);
- $both->{xfree4} ? $both->{xfree4}->write($o_xfree4_file) : unlink($o_xfree4_file);
-}
-
-sub empty_config {
- my ($class) = @_;
- bless { xfree3 => Xconfig::xfree3->empty_config,
- xfree4 => Xconfig::xfree4->empty_config }, $class;
-}
-
-sub get_keyboard { get_both('get_keyboard', @_) }
-sub set_keyboard { set_both('set_keyboard', @_) }
-sub get_mice { get_both('get_mice', @_) }
-sub set_mice { set_both('set_mice', @_) }
-
-sub get_resolution { get_both('get_resolution', @_) }
-sub set_resolution { set_both('set_resolution', @_) }
-
-sub get_device { get_both('get_device', @_) }
-sub get_devices { get_both('get_devices', @_) }
-sub set_devices { set_both('set_devices', @_) }
-
-sub set_wacoms { set_both('set_wacoms', @_) }
-
-sub get_monitor { get_both('get_monitor', @_) }
-sub get_monitors { get_both('get_monitors', @_) }
-sub set_monitors { set_both('set_monitors', @_) }
-
-sub is_fbdev { get_both('is_fbdev', @_) }
-
-#-##############################################################################
-#- helpers
-#-##############################################################################
-sub get_both {
- my ($getter, $both) = @_;
-
- if (is_empty_array_ref($both->{xfree3})) {
- $both->{xfree4}->$getter;
- } elsif (is_empty_array_ref($both->{xfree4})) {
- $both->{xfree3}->$getter;
- } else {
- my @l3 = $both->{xfree3}->$getter;
- my @l4 = $both->{xfree4}->$getter;
- merge_values(\@l3, \@l4);
- }
-}
-sub set_both {
- my ($setter, $both, @l) = @_;
-
- $both->{xfree3}->$setter(@l) if !is_empty_array_ref($both->{xfree3});
- $both->{xfree4}->$setter(@l) if !is_empty_array_ref($both->{xfree4});
-}
-
-sub merge_values {
- my ($l3, $l4) = @_;
-
- sub merge_values__hashes {
- my ($h3, $h4) = @_;
- $h3 || $h4 or return;
- $h3 or return $h4;
- $h4 or return $h3;
-
- my %h = %$h4;
- foreach (keys %$h3) {
- if (exists $h{$_}) {
- if (ref($h{$_}) eq 'HASH' && ref($h3->{$_}) eq 'HASH') {
- #- needed for "Options" of Devices
- $h{$_} = +{ %{$h3->{$_}}, %{$h{$_}} };
- } else {
- my $s4 = join(", ", deref_array($h{$_}));
- my $s3 = join(", ", deref_array($h3->{$_}));
- my $s3_ = join(", ", map { qq("$_") } deref_array($h3->{$_}));
- if ($s4 eq $s3_) {
- #- keeping the non-double-quoted value
- $h{$_} = $h3->{$_};
- } else {
- $s4 eq $s3 or log::l(qq(XFree: conflicting value for $_, "$s4" and "$s3" are different));
- }
- }
- } else {
- $h{$_} = $h3->{$_};
- }
- }
- \%h;
- }
-
- my @r = mapn_(\&merge_values__hashes, $l3, $l4);
-
- @r == 1 ? $r[0] : @r;
-}
-
-1;
diff --git a/perl-install/Xconfig/xfree3.pm b/perl-install/Xconfig/xfree3.pm
deleted file mode 100644
index 2c753f148..000000000
--- a/perl-install/Xconfig/xfree3.pm
+++ /dev/null
@@ -1,281 +0,0 @@
-package Xconfig::xfree3; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use Xconfig::parse;
-use Xconfig::xfreeX;
-
-our @ISA = 'Xconfig::xfreeX';
-
-sub name { 'xfree3' }
-sub config_file { '/etc/X11/XF86Config' }
-
-
-sub get_keyboard_section {
- my ($raw_X) = @_;
- return $raw_X->get_Section('Keyboard') or die "no keyboard section";
-}
-sub new_keyboard_section {
- my ($raw_X) = @_;
- return $raw_X->add_Section('Keyboard', { Protocol => { val => 'Standard' } });
-}
-
-sub get_mouse_sections {
- my ($raw_X) = @_;
- my $main = $raw_X->get_Section('Pointer') or die "no mouse section";
- my $XInput = $raw_X->get_Section('XInput');
- $main, if_($XInput, map { $_->{l} } @{$XInput->{Mouse} || []});
-}
-
-sub new_mouse_sections {
- my ($raw_X, $nb_new) = @_;
-
- $raw_X->remove_Section('Pointer');
- my $XInput = $raw_X->get_Section('XInput');
- delete $XInput->{Mouse} if $XInput;
- $raw_X->remove_Section('XInput') if $nb_new <= 1 && $XInput && !%$XInput;
-
- $nb_new or return;
-
- my $main = $raw_X->add_Section('Pointer', {});
-
- if ($nb_new == 1) {
- $main;
- } else {
- my @l = map { { AlwaysCore => {} } } (2 .. $nb_new);
- $XInput ||= $raw_X->add_Section('XInput', {});
- $XInput->{Mouse} = [ map { { l => $_ } } @l ];
- $main, @l;
- }
-}
-
-sub set_mice {
- my ($raw_X, @mice) = @_;
- @mice = map {
- my %h = %$_;
- put_in_hash(\%h, { Protocol => 'IMPS/2', ZAxisMapping => '4 5' }) if $h{Protocol} eq 'ExplorerPS/2';
- \%h;
- } @mice;
- $raw_X->SUPER::set_mice(@mice);
-}
-
-sub set_wacoms {
- my ($raw_X, @wacoms) = @_;
-
- my %Modes = (Stylus => 'Absolute', Eraser => 'Absolute', Cursor => 'Relative');
-
- my $XInput = $raw_X->get_Section('XInput');
- if ($XInput) {
- delete $XInput->{"Wacom$_"} foreach keys %Modes;
- $raw_X->remove_Section('XInput') if !@wacoms && $XInput && !%$XInput;
- }
- #- only wacom is handled in XFree 3
- my ($wacom) = @wacoms or return;
-
- $XInput ||= $raw_X->add_Section('XInput', {});
- foreach (keys %Modes) {
- $XInput->{"Wacom$_"} = [ { l => { Port => { val => qq("$wacom->{Device}") },
- Mode => { val => $Modes{$_} },
- if_($wacom->{USB}, USB => {}),
- AlwaysCore => {} } } ];
- }
-}
-
-sub depths { 8, 15, 16, 24, 32 }
-
-sub set_resolution {
- my ($raw_X, $resolution, $o_Screen_) = @_;
-
- foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_screens) {
- $Screen ||= $raw_X->get_default_screen or internal_error('no screen');
-
- $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} };
- $Screen->{Display} = [ map {
- my $modes = do {
- if ($raw_X->is_fbdev($Screen)) {
- '"default"';
- } else {
- my @Modes = grep {
- if_(m/(\d+)x(\d+)/,
- $1 <= $resolution->{X} && (!$resolution->{Y} || $2 <= $resolution->{Y}));
- } reverse @Xconfig::xfreeX::resolutions;
- join(" ", map { qq("$_") } @Modes);
- }
- };
- { l => { Depth => { val => $_ }, Modes => { val => $modes } } };
- } $raw_X->depths ];
- }
-}
-
-sub get_device_section_fields {
- qw(VendorName BoardName Chipset VideoRam); #-);
-}
-
-sub default_ModeLine {
- my ($raw_X) = @_;
- $raw_X->SUPER::default_ModeLine . (our $default_ModeLine);
-}
-
-sub new_device_sections {
- my ($raw_X, $nb_new) = @_;
- my @l = $raw_X->SUPER::new_device_sections($nb_new);
- $_->{power_saver} = { Option => 1 } foreach @l;
- @l;
-}
-
-sub is_fbdev {
- my ($raw_X, $o_Screen) = @_;
-
- my $Screen = $o_Screen || $raw_X->get_default_screen or return;
-
- val($Screen->{Server}) eq 'FBDev';
-}
-
-sub set_Option {
- my ($_raw_X, $_category, $_node, @_names) = @_;
-}
-
-
-sub val {
- my ($ref) = @_;
- $ref && $ref->{val};
-}
-
-our $default_ModeLine = <<'END';
- # This is a set of standard mode timings. Modes that are out of monitor spec
- # are automatically deleted by the server (provided the HorizSync and
- # VertRefresh lines are correct), so there's no immediate need to
- # delete mode timings (unless particular mode timings don't work on your
- # monitor). With these modes, the best standard mode that your monitor
- # and video card can support for a given resolution is automatically
- # used.
-
- # 640x400 @ 70 Hz, 31.5 kHz hsync
- ModeLine "640x400" 25.175 640 664 760 800 400 409 411 450
- # 640x480 @ 60 Hz, 31.5 kHz hsync
- ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
- # 800x600 @ 56 Hz, 35.15 kHz hsync
- ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
- # 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync
- ModeLine "1024x768" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace
-
- # 640x400 @ 85 Hz, 37.86 kHz hsync
- ModeLine "640x400" 31.5 640 672 736 832 400 401 404 445 -HSync +VSync
- # 640x480 @ 75 Hz, 37.50 kHz hsync
- ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync
- # 800x600 @ 60 Hz, 37.8 kHz hsync
- ModeLine "800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync
-
- # 640x480 @ 85 Hz, 43.27 kHz hsync
- ModeLine "640x480" 36 640 696 752 832 480 481 484 509 -HSync -VSync
- # 1152x864 @ 89 Hz interlaced, 44 kHz hsync
- ModeLine "1152x864" 65 1152 1168 1384 1480 864 865 875 985 Interlace
-
- # 800x600 @ 72 Hz, 48.0 kHz hsync
- ModeLine "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync
- # 1024x768 @ 60 Hz, 48.4 kHz hsync
- ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
-
- # 640x480 @ 100 Hz, 53.01 kHz hsync
- ModeLine "640x480" 45.8 640 672 768 864 480 488 494 530 -HSync -VSync
- # 1152x864 @ 60 Hz, 53.5 kHz hsync
- ModeLine "1152x864" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync
- # 800x600 @ 85 Hz, 55.84 kHz hsync
- ModeLine "800x600" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync
-
- # 1024x768 @ 70 Hz, 56.5 kHz hsync
- ModeLine "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
- # 1280x1024 @ 87 Hz interlaced, 51 kHz hsync
- ModeLine "1280x1024" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace
-
- # 800x600 @ 100 Hz, 64.02 kHz hsync
- ModeLine "800x600" 69.65 800 864 928 1088 600 604 610 640 -HSync -VSync
- # 1024x768 @ 76 Hz, 62.5 kHz hsync
- ModeLine "1024x768" 85 1024 1032 1152 1360 768 784 787 823
- # 1152x864 @ 70 Hz, 62.4 kHz hsync
- ModeLine "1152x864" 92 1152 1208 1368 1474 864 865 875 895
- # 1280x1024 @ 61 Hz, 64.2 kHz hsync
- ModeLine "1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054
- # 1400x1050 @ 60 Hz, 65.5 kHz
- ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +HSync +VSync
-
- # 1024x768 @ 85 Hz, 70.24 kHz hsync
- ModeLine "1024x768" 98.9 1024 1056 1216 1408 768 782 788 822 -HSync -VSync
- # 1152x864 @ 78 Hz, 70.8 kHz hsync
- ModeLine "1152x864" 110 1152 1240 1324 1552 864 864 876 908
-
- # 1280x1024 @ 70 Hz, 74.59 kHz hsync
- ModeLine "1280x1024" 126.5 1280 1312 1472 1696 1024 1032 1040 1068 -HSync -VSync
- # 1600x1200 @ 60Hz, 75.00 kHz hsync
- ModeLine "1600x1200" 162 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync
- # 1152x864 @ 84 Hz, 76.0 kHz hsync
- ModeLine "1152x864" 135 1152 1464 1592 1776 864 864 876 908
-
- # 1280x1024 @ 75 Hz, 79.98 kHz hsync
- ModeLine "1280x1024" 135 1280 1296 1440 1688 1024 1025 1028 1066 +HSync +VSync
-
- # 1024x768 @ 100Hz, 80.21 kHz hsync
- ModeLine "1024x768" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync
- # 1400x1050 @ 75 Hz, 82.2 kHz hsync
- ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +HSync +VSync
-
- # 1600x1200 @ 70 Hz, 87.50 kHz hsync
- ModeLine "1600x1200" 189 1600 1664 1856 2160 1200 1201 1204 1250 -HSync -VSync
- # 1152x864 @ 100 Hz, 89.62 kHz hsync
- ModeLine "1152x864" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync
- # 1280x1024 @ 85 Hz, 91.15 kHz hsync
- ModeLine "1280x1024" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +VSync
- # 1600x1200 @ 75 Hz, 93.75 kHz hsync
- ModeLine "1600x1200" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync
- # 1600x1200 @ 85 Hz, 105.77 kHz hsync
- ModeLine "1600x1200" 220 1600 1616 1808 2080 1200 1204 1207 1244 +HSync +VSync
- # 1600x1200 @ 85 Hz, 106.3 kHz hsync
- ModeLine "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync
- # 1280x1024 @ 100 Hz, 107.16 kHz hsync
- ModeLine "1280x1024" 181.75 1280 1312 1440 1696 1024 1031 1046 1072 -HSync -VSync
-
- # 1800x1440 @ 64Hz, 96.15 kHz hsync
- ModeLine "1800X1440" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
- # 1800x1440 @ 70Hz, 104.52 kHz hsync
- ModeLine "1800X1440" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
-
- # 1920x1440 @ 60 Hz, 90.0 kHz hsync
- ModeLine "1920x1440" 234.0 1920 2048 2256 2600 1440 1441 1444 1500 -HSync +VSync
- # 1920x1440 @ 75 Hz, 112.5kHz hsync
- ModeLine "1920x1440" 297.0 1920 2064 2288 2640 1440 1441 1444 1500 -HSync +VSync
-
- # 512x384 @ 78 Hz, 31.50 kHz hsync
- ModeLine "512x384" 20.160 512 528 592 640 384 385 388 404 -HSync -VSync
- # 512x384 @ 85 Hz, 34.38 kHz hsync
- ModeLine "512x384" 22 512 528 592 640 384 385 388 404 -HSync -VSync
-
-
- # Low-res Doublescan modes
- # If your chipset does not support doublescan, you get a 'squashed'
- # resolution like 320x400.
-
- # 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
- ModeLine "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
- # 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
- ModeLine "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
- # 320x240 @ 72 Hz, 36.5 kHz hsync
- ModeLine "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
- # 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
- ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan
- # 400x300 @ 60 Hz, 37.8 kHz hsync
- ModeLine "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- # 400x300 @ 72 Hz, 48.0 kHz hsync
- ModeLine "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
- # 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio
- ModeLine "480x300" 21.656 480 496 536 616 300 301 302 312 Doublescan
- # 480x300 @ 60 Hz, 37.8 kHz hsync
- ModeLine "480x300" 23.890 480 496 576 632 300 301 303 314 Doublescan
- # 480x300 @ 63 Hz, 39.6 kHz hsync
- ModeLine "480x300" 25 480 496 576 632 300 301 303 314 Doublescan
- # 480x300 @ 72 Hz, 48.0 kHz hsync
- ModeLine "480x300" 29.952 480 504 584 624 300 319 322 333 Doublescan
-END
-
-1;
diff --git a/perl-install/Xconfig/xfree4.pm b/perl-install/Xconfig/xfree4.pm
deleted file mode 100644
index 5c2d23286..000000000
--- a/perl-install/Xconfig/xfree4.pm
+++ /dev/null
@@ -1,165 +0,0 @@
-package Xconfig::xfree4; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use Xconfig::parse;
-use Xconfig::xfree;
-
-our @ISA = 'Xconfig::xfreeX';
-
-sub name { 'xfree4' }
-sub config_file { '/etc/X11/XF86Config-4' }
-
-
-sub get_keyboard_section {
- my ($raw_X) = @_;
- my ($raw_kbd) = get_InputDevices($raw_X, 'Keyboard') or die "no keyboard section";
- $raw_kbd;
-}
-
-sub new_keyboard_section {
- my ($raw_X) = @_;
- my $raw_kbd = { Identifier => { val => 'Keyboard1' }, Driver => { val => 'Keyboard' } };
- $raw_X->add_Section('InputDevice', $raw_kbd);
-
- my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= [];
- push @$layout, { val => '"Keyboard1" "CoreKeyboard"' };
-
- $raw_kbd;
-}
-
-sub get_mouse_sections {
- my ($raw_X) = @_;
- get_InputDevices($raw_X, 'mouse');
-}
-sub new_mouse_sections {
- my ($raw_X, $nb_new) = @_;
- $raw_X->remove_InputDevices('mouse');
-
- my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= [];
- @$layout = grep { $_->{val} !~ /^"Mouse/ } @$layout;
-
- $nb_new or return;
-
- my @l = map {
- my $h = { Identifier => { val => "Mouse$_" }, Driver => { val => 'mouse' } };
- $raw_X->add_Section('InputDevice', $h);
- } (1 .. $nb_new);
-
- push @$layout, { val => qq("Mouse1" "CorePointer") };
- push @$layout, { val => qq("Mouse$_" "SendCoreEvents") } foreach 2 .. $nb_new;
-
- @l;
-}
-
-sub set_wacoms {
- my ($raw_X, @wacoms) = @_;
- $raw_X->remove_InputDevices('wacom');
-
- my $layout = get_ServerLayout($raw_X)->{InputDevice} ||= [];
- @$layout = grep { $_->{val} !~ /^"(Stylus|Eraser|Cursor)/ } @$layout;
-
- @wacoms or return;
-
- my %Modes = (Stylus => 'Absolute', Eraser => 'Absolute', Cursor => 'Relative');
-
- each_index {
- my $wacom = $_;
- foreach (keys %Modes) {
- my $identifier = $_ . ($::i + 1);
- my $h = { Identifier => { val => $identifier },
- Driver => { val => 'wacom' },
- Type => { val => lc $_, Option => 1 },
- Device => { val => $wacom->{Device}, Option => 1 },
- Mode => { val => $Modes{$_}, Option => 1 },
- if_($wacom->{USB}, USB => { Option => 1 })
- };
- $raw_X->add_Section('InputDevice', $h);
- push @$layout, { val => qq("$identifier" "AlwaysCore") };
- }
- } @wacoms;
-}
-
-sub depths { 8, 15, 16, 24 }
-sub set_resolution {
- my ($raw_X, $resolution, $o_Screen_) = @_;
-
- foreach my $Screen ($o_Screen_ ? $o_Screen_ : $raw_X->get_screens) {
- $Screen ||= $raw_X->get_default_screen or internal_error('no screen');
-
- $Screen->{DefaultColorDepth} = { val => $resolution->{Depth} eq '32' ? 24 : $resolution->{Depth} };
- $Screen->{Display} = [ map {
- { l => { Depth => { val => $_ }, Virtual => { val => join(' ', @$resolution{'X', 'Y'}) } } };
- } $raw_X->depths ];
- }
-}
-
-sub get_device_section_fields {
- qw(VendorName BoardName Driver VideoRam Screen BusID); #-);
-}
-
-sub new_device_sections {
- my ($raw_X, $nb_new) = @_;
- my @l = $raw_X->SUPER::new_device_sections($nb_new);
- $_->{DPMS} = { Option => 1 } foreach @l;
- @l;
-}
-
-sub new_screen_sections {
- my ($raw_X, $nb_new) = @_;
- my @l = $raw_X->SUPER::new_screen_sections($nb_new);
- each_index { $_->{Identifier} = { val => "screen" . ($::i+1) } } @l;
-
- get_ServerLayout($raw_X)->{Screen} = [
- { val => qq("screen1") }, #-)
- map { { val => sprintf('"screen%d" RightOf "screen%d"', $_, $_ - 1) } } (2 .. $nb_new)
- ];
-
- @l;
-}
-
-sub is_fbdev {
- my ($raw_X, $Screen) = @_;
-
- my $Screen_ = $Screen || $raw_X->get_default_screen or return;
-
- my $Device = $raw_X->get_Section_by_Identifier('Device', val($Screen_->{Device})) or internal_error("no device named $Screen_->{Device}");
- val($Device->{Driver}) eq 'fbdev';
-}
-
-sub set_Option {
- my ($_raw_X, $category, $node, @names) = @_;
-
- if (member($category, 'keyboard', 'mouse')) {
- #- everything we export is an Option
- $_->{Option} = 1 foreach map { deref_array($node->{$_}) } @names;
- }
-}
-
-
-#-##############################################################################
-#- helpers
-#-##############################################################################
-sub get_InputDevices {
- my ($raw_X, $Driver) = @_;
- $raw_X->get_Sections('InputDevice', sub { val($_[0]{Driver}) eq $Driver });
-}
-sub remove_InputDevices {
- my ($raw_X, $Driver) = @_;
- $raw_X->remove_Section('InputDevice', sub { val($_[0]{Driver}) ne $Driver });
-}
-
-sub get_ServerLayout {
- my ($raw_X) = @_;
- $raw_X->get_Section('ServerLayout') ||
- $raw_X->add_Section('ServerLayout', { Identifier => { val => 'layout1' } });
-}
-
-sub val {
- my ($ref) = @_;
- $ref && $ref->{val};
-}
-
-1;
diff --git a/perl-install/Xconfig/xfreeX.pm b/perl-install/Xconfig/xfreeX.pm
deleted file mode 100644
index b6223a7fa..000000000
--- a/perl-install/Xconfig/xfreeX.pm
+++ /dev/null
@@ -1,353 +0,0 @@
-package Xconfig::xfreeX; # $Id$
-
-use diagnostics;
-use strict;
-
-use Xconfig::parse;
-use common;
-use log;
-
-
-sub empty_config {
- my ($class) = @_;
- my $raw_X = Xconfig::parse::read_XF86Config_from_string(our $default_header);
- bless $raw_X, $class;
-}
-
-sub read {
- my ($class, $o_file) = @_;
- my $file = $o_file || ($::prefix || '') . (bless {}, $class)->config_file;
- my $raw_X = Xconfig::parse::read_XF86Config($file);
- bless $raw_X, $class;
-}
-sub write {
- my ($raw_X, $o_file) = @_;
- my $file = $o_file || ($::prefix || '') . $raw_X->config_file;
- rename $file, "$file.old";
- Xconfig::parse::write_XF86Config($raw_X, $file);
-}
-
-
-my @monitor_fields = qw(VendorName ModelName HorizSync VertRefresh);
-sub get_monitors {
- my ($raw_X) = @_;
- my @raw_monitors = $raw_X->get_monitor_sections;
- map { raw_export_section($_, [ 'Identifier', @monitor_fields ]) } @raw_monitors;
-}
-sub set_monitors {
- my ($raw_X, @monitors) = @_;
- my @raw_monitors = $raw_X->new_monitor_sections(int @monitors);
- mapn {
- my ($raw_monitor, $monitor) = @_;
- raw_import_section($raw_monitor, $monitor, \@monitor_fields);
- } \@raw_monitors, \@monitors;
-}
-sub get_monitor {
- my ($raw_X) = @_;
- my @l = $raw_X->get_monitors;
- if (!@l) {
- $raw_X->new_monitor_sections(1);
- @l = $raw_X->get_monitors;
- }
- $l[0]
-}
-
-my @keyboard_fields = qw(XkbLayout XkbModel XkbDisable XkbOptions XkbCompat);
-sub get_keyboard {
- my ($raw_X) = @_;
- my $raw_kbd = $raw_X->get_keyboard_section;
- raw_export_section($raw_kbd, \@keyboard_fields);
-}
-sub set_keyboard {
- my ($raw_X, $kbd) = @_;
- my $raw_kbd = eval { $raw_X->get_keyboard_section } || $raw_X->new_keyboard_section;
- raw_import_section($raw_kbd, $kbd);
- $raw_X->set_Option('keyboard', $raw_kbd, keys %$kbd);
-}
-
-#- example: { Protocol => 'IMPS/2', Device => '/dev/psaux', Emulate3Buttons => undef, Emulate3Timeout => 50, ZAxisMapping => [ '4 5', '6 7' ] }
-my @mouse_fields = qw(Protocol Device ZAxisMapping Emulate3Buttons Emulate3Timeout); #-);
-sub get_mice {
- my ($raw_X) = @_;
- my @raw_mice = $raw_X->get_mouse_sections;
- map { raw_export_section($_, \@mouse_fields) } @raw_mice;
-}
-sub set_mice {
- my ($raw_X, @mice) = @_;
- my @raw_mice = $raw_X->new_mouse_sections(int @mice);
- mapn {
- my ($raw_mouse, $mouse) = @_;
- raw_import_section($raw_mouse, $mouse);
- $raw_X->set_Option('mouse', $raw_mouse, keys %$mouse);
- } \@raw_mice, \@mice;
-}
-
-sub get_devices {
- my ($raw_X) = @_;
- my @raw_devices = $raw_X->get_device_sections;
- map {
- my $raw_device = $_;
- my $device = raw_export_section($raw_device, [ 'Identifier', $raw_X->get_device_section_fields ]);
- $device->{Options} = raw_export_section($raw_device, [ grep { (deref_array($raw_device->{$_}))[0]->{Option} } keys %$raw_device ]);
- $device;
- } @raw_devices;
-}
-sub set_devices {
- my ($raw_X, @devices) = @_;
- my @raw_devices = $raw_X->new_device_sections(int @devices);
- mapn {
- my ($raw_device, $device) = @_;
- my %Options = %{$device->{Options} || {}};
- add2hash(\%Options, $device->{'Options_' . $raw_X->name});
- raw_import_section($raw_device, $device, [ $raw_X->get_device_section_fields ]);
- raw_import_section($raw_device, \%Options);
- $_->{Option} = 1 foreach map { deref_array($raw_device->{$_}) } keys %Options;
- $raw_device->{''} = [ { post_comment => $device->{raw_LINES} } ] if $device->{raw_LINES};
- } \@raw_devices, \@devices;
-}
-
-sub get_device {
- my ($raw_X) = @_;
- first(get_devices($raw_X));
-}
-
-sub get_screens {
- my ($raw_X) = @_;
- $raw_X->get_Sections('Screen');
-}
-sub get_default_screen {
- my ($raw_X) = @_;
- my @l = get_screens($raw_X);
- (find { $_->{Identifier} && val($_->{Identifier}) eq 'screen1' ||
- $_->{Driver} && val($_->{Driver}) =~ /svga|accel/ } @l) || $l[0];
-}
-sub set_screens {
- my ($raw_X, @screens) = @_;
- my @raw_screens = $raw_X->new_screen_sections(int @screens);
- mapn {
- my ($raw_screen, $screen) = @_;
- raw_import_section($raw_screen, $screen);
- } \@raw_screens, \@screens;
-}
-
-sub get_modules {
- my ($raw_X) = @_;
- my $raw_Module = $raw_X->get_Section('Module') or return;
- my $Module = raw_export_section($raw_Module, ['Load']);
- @{$Module->{Load} || []};
-}
-sub add_load_module {
- my ($raw_X, $module) = @_;
- my $raw_Module = $raw_X->get_Section('Module') || $raw_X->new_module_section;
-
- my %load_modules_comment = (
- dbe => 'Double-Buffering Extension',
- v4l => 'Video for Linux',
- dri => 'direct rendering',
- glx => '3D layer',
- 'glx-3.so' => '3D layer',
- );
- my $comment = $load_modules_comment{$module};
- push @{$raw_Module->{Load}}, { val => $module,
- comment_on_line => $comment && " # $comment",
- } if !member($module, $raw_X->get_modules);
-}
-sub remove_load_module {
- my ($raw_X, $module) = @_;
- my $raw_Module = $raw_X->get_Section('Module') or return;
- if (my @l = grep { $_->{val} ne $module } @{$raw_Module->{Load}}) {
- $raw_Module->{Load} = \@l;
- } else {
- $raw_X->remove_Section('Module');
- }
-}
-sub set_load_module {
- my ($raw_X, $module, $bool) = @_;
- $bool ? add_load_module($raw_X, $module) : remove_load_module($raw_X, $module);
-}
-
-sub get_resolution {
- my ($raw_X, $o_Screen) = @_;
- my $Screen = $o_Screen || $raw_X->get_default_screen or return {};
-
- my $depth = val($Screen->{DefaultColorDepth});
- my $Display = find { !$depth || val($_->{l}{Depth}) eq $depth } @{$Screen->{Display} || []} or return {};
- $Display->{l}{Virtual} && val($Display->{l}{Virtual}) =~ /(\d+)\s+(\d+)/ or
- val($Display->{l}{Modes}) =~ /(\d+)x(\d+)/ or return {};
- { X => $1, Y => $2, Depth => val($Display->{l}{Depth}) };
-}
-
-#-##############################################################################
-#- common to xfree3 and xfree4
-#-##############################################################################
-sub default_ModeLine { our $default_ModeLine }
-
-
-sub get_device_sections {
- my ($raw_X) = @_;
- $raw_X->get_Sections('Device');
-}
-sub new_device_sections {
- my ($raw_X, $nb_new) = @_;
- $raw_X->remove_Section('Device');
- map { $raw_X->add_Section('Device', { Identifier => { val => "device$_" } }) } (1 .. $nb_new);
-}
-
-sub get_monitor_sections {
- my ($raw_X) = @_;
- $raw_X->get_Sections('Monitor');
-}
-sub new_monitor_sections {
- my ($raw_X, $nb_new) = @_;
- my $ModeLine = ModeLine_from_string(qq(Section "Monitor"\n) . $raw_X->default_ModeLine . qq(EndSection\n));
- $raw_X->remove_Section('Monitor');
- map { $raw_X->add_Section('Monitor', { Identifier => { val => "monitor$_" }, ModeLine => $ModeLine }) } (1 .. $nb_new);
-}
-
-sub new_screen_sections {
- my ($raw_X, $nb_new) = @_;
- $raw_X->remove_Section('Screen');
- map { $raw_X->add_Section('Screen', {}) } (1 .. $nb_new);
-}
-
-sub new_module_section {
- my ($raw_X) = @_;
- return $raw_X->add_Section('Module', {});
-}
-
-
-#-##############################################################################
-#- helpers
-#-##############################################################################
-sub raw_export_section {
- my ($section, $fields) = @_;
-
- my $export_name = sub {
- my ($name) = @_;
- my $h = $section->{$name} or return;
-
- my @l = map { if_(!$_->{commented}, $_->{val}) } deref_array($h) or return;
- $name => (ref($h) eq 'ARRAY' ? \@l : $l[0]);
- };
-
- my %h = map { $export_name->($_) } @$fields;
- \%h;
-}
-
-sub raw_import_section {
- my ($section, $h, $o_fields) = @_;
- foreach ($o_fields ? grep { exists $h->{$_} } @$o_fields : keys %$h) {
- my @l = map { ref($_) eq 'HASH' ? $_ : { val => $_ } } deref_array($h->{$_});
- $section->{$_} = (ref($h->{$_}) eq 'ARRAY' ? \@l : $l[0]);
- }
-}
-
-sub add_Section {
- my ($raw_X, $Section, $h) = @_;
- my @suggested_ordering = qw(Files ServerFlags Module DRI Keyboard Pointer XInput InputDevice Monitor Device Screen ServerLayout);
- my %order = map_index { { lc($_) => $::i } } @suggested_ordering;
- my $e = { name => $Section, l => $h };
- my $added;
- @$raw_X = map {
- if ($order{lc $_->{name}} > $order{lc $Section} && !$added) {
- $added = 1;
- ($e, $_);
- } else { $_ }
- } @$raw_X;
- push @$raw_X, $e if !$added;
- $h;
-}
-sub remove_Section {
- my ($raw_X, $Section, $o_when) = @_;
- @$raw_X = grep { $_->{name} ne $Section || $o_when && $o_when->($_->{l}) } @$raw_X;
- $raw_X;
-}
-sub get_Sections {
- my ($raw_X, $Section, $o_when) = @_;
- map { if_($_->{name} eq $Section && (!$o_when || $o_when->($_->{l})), $_->{l}) } @$raw_X;
-}
-sub get_Section {
- my ($raw_X, $Section, $o_when) = @_;
- my @l = get_Sections($raw_X, $Section, $o_when);
- @l > 1 and log::l("Xconfig: found more than one Section $Section");
- $l[0];
-}
-sub get_Section_by_Identifier {
- my ($raw_X, $Section, $Identifier) = @_;
- my @l = get_Sections($raw_X, $Section, sub { val($_[0]{Identifier}) eq $Identifier });
- @l > 1 and die "more than one Section $Section has Identifier $Identifier";
- $l[0];
-}
-
-sub val {
- my ($ref) = @_;
- $ref && $ref->{val};
-}
-
-sub ModeLine_from_string {
- my ($s) = @_;
- my $raw_X_for_ModeLine = Xconfig::parse::read_XF86Config_from_string($s);
- get_Section($raw_X_for_ModeLine, 'Monitor')->{ModeLine};
-}
-
-
-
-our @resolutions = ('640x480', '800x600', '1024x768', if_(arch() =~ /ppc/, '1152x768'), '1152x864', '1280x960', '1280x1024', '1400x1050', '1600x1200', '1920x1440', '2048x1536');
-
-our $default_header = <<'END';
-# File generated by XFdrake.
-
-# **********************************************************************
-# Refer to the XF86Config man page for details about the format of
-# this file.
-# **********************************************************************
-
-Section "Files"
- # Multiple FontPath entries are allowed (they are concatenated together)
- # By default, Mandrake 6.0 and later now use a font server independent of
- # the X server to render fonts.
- FontPath "unix/:-1"
-EndSection
-
-Section "ServerFlags"
- #DontZap # disable <Crtl><Alt><BS> (server abort)
- #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
- AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work
-EndSection
-END
-
-our $default_ModeLine = arch() =~ /ppc/ ? <<'END_PPC' : <<'END';
- # Apple iMac modes
- ModeLine "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync
- ModeLine "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync
- ModeLine "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync
- # Apple monitors tend to do 832x624
- ModeLine "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync
- # Apple PowerBook G3
- ModeLine "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync
- # Apple TI Powerbook
- ModeLine "1152x768" 78.741 1152 1173 1269 1440 768 769 772 800 +vsync +vsync
- # Pismo Firewire G3
- ModeLine "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
- # iBook2
- ModeLine "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
- # 17" Apple Studio Display
- ModeLine "1024x768" 112.62 1024 1076 1248 1420 768 768 780 808 +hsync +vsync
- # HiRes Apple Studio Display
- ModeLine "1280x1024" 135 1280 1288 1392 1664 1024 1027 1030 1064
- # Another variation
- ModeLine "1280x1024" 134.989 1280 1317 1429 1688 1024 1025 1028 1066 +hsync +vsync
-END_PPC
- # Sony Vaio C1(X,XS,VE,VN)?
- # 1024x480 @ 85.6 Hz, 48 kHz hsync
- ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
-
- # TV fullscreen mode or DVD fullscreen output.
- # 768x576 @ 79 Hz, 50 kHz hsync
- ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
- # 768x576 @ 100 Hz, 61.6 kHz hsync
- ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
-END
-
-1;
-
diff --git a/perl-install/any.pm b/perl-install/any.pm
index 525ced9f5..ab93036dc 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -8,23 +8,19 @@ use strict;
#-######################################################################################
use common;
use detect_devices;
-use partition_table qw(:types);
-use fsedit;
-use fs;
+use partition_table;
+use fs::proc_partitions;
+use fs::type;
use lang;
use run_program;
-use keyboard;
use devices;
use modules;
use log;
+use fs;
use c;
-sub drakx_version() {
- sprintf "DrakX v%s built %s", $::testing ? ('TEST', scalar gmtime()) : (split('/', cat_("$ENV{SHARE_PATH}/VERSION")))[2,3];
-}
-
sub facesdir() {
- "$::prefix/usr/share/mdk/faces/";
+ "$::prefix/usr/share/mga/faces/";
}
sub face2png {
my ($face) = @_;
@@ -42,7 +38,7 @@ sub addKdmIcon {
eval { cp_af(facesdir() . $icon . ".png", $dest) } if $icon;
}
-sub allocUsers {
+sub alloc_user_faces {
my ($users) = @_;
my @m = my @l = facesnames();
foreach (grep { !$_->{icon} || $_->{icon} eq "automagic" } @$users) {
@@ -52,107 +48,254 @@ sub allocUsers {
}
}
-sub addUsers {
- my ($users) = @_;
+sub create_user {
+ my ($u, $authentication) = @_;
+
+ my @existing = stat("$::prefix/home/$u->{name}");
+
+ if (!getpwnam($u->{name})) {
+ my $uid = $u->{uid} || $existing[4];
+ if ($uid && getpwuid($uid)) {
+ undef $uid; #- suggested uid already in use
+ }
+ my $gid = $u->{gid} || $existing[5] || int getgrnam($u->{name});
+ if ($gid) {
+ if (getgrgid($gid)) {
+ undef $gid if getgrgid($gid) ne $u->{name};
+ } else {
+ run_program::rooted($::prefix, 'groupadd', '-g', $gid, $u->{name});
+ }
+ } elsif ($u->{rename_from}) {
+ run_program::rooted($::prefix, 'groupmod', '-n', $u->{name}, $u->{rename_from});
+ }
- allocUsers($users);
- foreach my $u (@$users) {
- run_program::rooted($::prefix, "usermod", "-G", join(",", @{$u->{groups}}), $u->{name}) if !is_empty_array_ref($u->{groups});
- addKdmIcon($u->{name}, delete $u->{auto_icon} || $u->{icon});
+ require authentication;
+ my $symlink_home_from = $u->{rename_from} && (getpwnam($u->{rename_from}))[7];
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ ($u->{rename_from} ? 'usermod' : 'adduser'),
+ '-p', authentication::user_crypted_passwd($u, $authentication),
+ if_($uid, '-u', $uid), if_($gid, '-g', $gid),
+ if_($u->{realname}, '-c', $u->{realname}),
+ if_($u->{home}, '-d', $u->{home}, if_($u->{rename_from}, '-m')),
+ if_($u->{shell}, '-s', $u->{shell}),
+ ($u->{rename_from}
+ ? ('-l', $u->{name}, $u->{rename_from})
+ : $u->{name}));
+ symlink($u->{home}, $symlink_home_from) if $symlink_home_from;
+ eval { run_program::rooted($::prefix, 'systemctl', 'try-restart', 'accounts-daemon.service') };
+ }
+
+ my (undef, undef, $uid, $gid, undef, undef, undef, $home) = getpwnam($u->{name});
+
+ if (@existing && $::isInstall && ($uid != $existing[4] || $gid != $existing[5])) {
+ log::l("chown'ing $home from $existing[4].$existing[5] to $uid.$gid");
+ eval { common::chown_('recursive', $uid, $gid, "$::prefix$home") };
}
}
-sub crypt {
- my ($password, $md5) = @_;
- crypt($password, $md5 ? '$1$' . salt(8) : salt(2));
+sub add_users {
+ my ($users, $authentication) = @_;
+
+ alloc_user_faces($users);
+
+ foreach (@$users) {
+ create_user($_, $authentication);
+ run_program::rooted($::prefix, "usermod", "-G", join(",", @{$_->{groups}}), $_->{name}) if !is_empty_array_ref($_->{groups});
+ addKdmIcon($_->{name}, delete $_->{auto_icon} || $_->{icon});
+ }
}
-sub enableShadow() {
- run_program::rooted($::prefix, "pwconv") or log::l("pwconv failed");
- run_program::rooted($::prefix, "grpconv") or log::l("grpconv failed");
+
+sub install_bootloader_pkgs {
+ my ($do_pkgs, $b) = @_;
+
+ bootloader::ensure_pkg_is_installed($do_pkgs, $b);
+ install_acpi_pkgs($do_pkgs, $b);
}
-sub hdInstallPath() {
- my $tail = first(readlink("/tmp/image") =~ m|^/tmp/hdimage/?(.*)|);
- my $head = first(readlink("/tmp/hdimage") =~ m|$::prefix(.*)|);
- defined $tail && ($head ? "$head/$tail" : "/mnt/hd/$tail");
+sub install_acpi_pkgs {
+ my ($do_pkgs, $b) = @_;
+
+ my $acpi = bootloader::get_append_with_key($b, 'acpi');
+ my $use_acpi = !member($acpi, 'off', 'ht');
+ if ($use_acpi) {
+ $do_pkgs->ensure_files_are_installed([ [ qw(acpi acpi) ], [ qw(acpid acpid) ] ], $::isInstall);
+ }
+ require services;
+ services::set_status($_, $use_acpi, $::isInstall) foreach qw(acpid);
}
-sub kernelVersion() {
- my $kernel = readlink("$::prefix/boot/vmlinuz") || first(all("$::prefix/boot"));
- first($kernel =~ /vmlinuz-(.*)/);
+sub setupBootloaderBeforeStandalone {
+ my ($do_pkgs, $b, $all_hds, $fstab) = @_;
+ require keyboard;
+ my $keyboard = keyboard::read_or_default();
+ my $allow_fb = listlength(cat_("/proc/fb"));
+ my $cmdline = cat_('/proc/cmdline');
+ my $vga_fb = first($cmdline =~ /\bvga=(\S+)/);
+ my $splash = $cmdline =~ /\bsplash\b/;
+ my $quiet = $cmdline =~ /\bquiet\b/;
+ setupBootloaderBefore($do_pkgs, $b, $all_hds, $fstab, $keyboard, $allow_fb, $vga_fb, $splash, $quiet);
}
-sub mkbootdisk {
- my ($in, $bootloader, $fstab) = @_;
+sub setupBootloaderBefore {
+ my ($do_pkgs, $bootloader, $all_hds, $fstab, $keyboard, $allow_fb, $vga_fb, $splash, $quiet) = @_;
+ require bootloader;
- if (arch() =~ /sparc/) {
- #- as probing floppies is a bit more different on sparc, assume always /dev/fd0.
- #- [pixel] uh, but in that case it would be better to change detect_devices::floppies, no?
- $in->ask_okcancel('',
- N("A custom bootdisk provides a way of booting into your Linux system without
-depending on the normal bootloader. This is useful if you don't want to install
-SILO on your system, or another operating system removes SILO, or SILO doesn't
-work with your hardware configuration. A custom bootdisk can also be used with
-the Mandrake rescue image, making it much easier to recover from severe system
-failures.
+ #- auto_install backward compatibility
+ #- one should now use {message_text}
+ if ($bootloader->{message} =~ m!^[^/]!) {
+ $bootloader->{message_text} = delete $bootloader->{message};
+ }
-If you want to create a bootdisk for your system, insert a floppy in the first
-drive and press \"Ok\".")) or return;
+ if (cat_("/proc/cmdline") =~ /mem=nopentium/) {
+ bootloader::set_append_with_key($bootloader, mem => 'nopentium');
+ }
+ if (cat_("/proc/cmdline") =~ /\b(pci)=(\S+)/) {
+ bootloader::set_append_with_key($bootloader, $1, $2);
+ }
+ if (my ($acpi) = cat_("/proc/cmdline") =~ /\bacpi=(\w+)/) {
+ if ($acpi eq 'ht') {
+ #- the user is using the default, which may not be the best
+ my $year = detect_devices::computer_info()->{BIOS_Year};
+ if ($year >= 2002) {
+ log::l("forcing ACPI on recent bios ($year)");
+ $acpi = '';
+ }
+ }
+ bootloader::set_append_with_key($bootloader, acpi => $acpi);
+ }
+ if (cat_("/proc/cmdline") =~ /\bnoapic/) {
+ bootloader::set_append_simple($bootloader, 'noapic');
+ }
+ if (cat_("/proc/cmdline") =~ /\bnoresume/) {
+ bootloader::set_append_simple($bootloader, 'noresume');
+ } elsif (bootloader::get_append_simple($bootloader, 'noresume')) {
} else {
- $in->ask_yesorno('', formatAlaTeX(
- N("A custom bootdisk provides a way of booting into your Linux system without
-depending on the normal bootloader. This is useful if you don't want to install
-LILO (or grub) on your system, or another operating system removes LILO, or LILO doesn't
-work with your hardware configuration. A custom bootdisk can also be used with
-the Mandrake rescue image, making it much easier to recover from severe system
-failures. Would you like to create a bootdisk for your system?
-%s", isThisFs('xfs', fsedit::get_root($fstab)) ? N("
-
-(WARNING! You're using XFS for your root partition,
-creating a bootdisk on a 1.44 Mb floppy will probably fail,
-because XFS needs a very large driver).") : ''))) or return;
- }
-
- my $floppy_dev;
- my @l = detect_devices::floppies_dev() or die \N("Sorry, no floppy drive available");
- my %l = (
- 'fd0' => N("First floppy drive"),
- 'fd1' => N("Second floppy drive"),
- 'Skip' => N("Skip"),
- );
- my $format = sub { $l{$_[0]} || $_[0] };
-
- $in->ask_from_({
- messages => N("Choose the floppy drive you want to use to make the bootdisk"),
- }, [ { val => \$floppy_dev, list => \@l, format => $format } ]
- ) or return;
+ if (my ($biggest_swap) = sort { $b->{size} <=> $a->{size} } grep { isSwap($_) } @$fstab) {
+ my $biggest_swap_dev = fs::wild_device::from_part('', $biggest_swap);
+ bootloader::set_append_with_key($bootloader, resume => $biggest_swap_dev);
+ mkdir_p("$::prefix/etc/dracut.conf.d");
+ output("$::prefix/etc/dracut.conf.d/51-mageia-resume.conf", qq(add_device+=" $biggest_swap_dev "\n));
+ }
+ }
- $in->ask_warn('', N("Insert a floppy in %s", $format->($floppy_dev)));
+ #- set nokmsboot if a conflicting driver is configured.
+ if (-x "$::prefix/sbin/display_driver_helper" && !run_program::rooted($::prefix, "/sbin/display_driver_helper", "--is-kms-allowed")) {
+ bootloader::set_append_simple($bootloader, 'nokmsboot');
+ }
- my $_w = $in->wait_message('', N("Creating bootdisk..."));
+ #- check for valid fb mode to enable a default boot with frame buffer.
+ my $vga = $allow_fb && (!detect_devices::matching_desc__regexp('3D Rage LT') &&
+ !detect_devices::matching_desc__regexp('Rage Mobility [PL]') &&
+ !detect_devices::matching_desc__regexp('i740') &&
+ !detect_devices::matching_desc__regexp('Matrox') &&
+ !detect_devices::matching_desc__regexp('Tseng.*ET6\d00') &&
+ !detect_devices::matching_desc__regexp('SiS.*SG86C2.5') &&
+ !detect_devices::matching_desc__regexp('SiS.*559[78]') &&
+ !detect_devices::matching_desc__regexp('SiS.*300') &&
+ !detect_devices::matching_desc__regexp('SiS.*540') &&
+ !detect_devices::matching_desc__regexp('SiS.*6C?326') &&
+ !detect_devices::matching_desc__regexp('SiS.*6C?236') &&
+ !detect_devices::matching_desc__regexp('Voodoo [35]|Voodoo Banshee') && #- 3d acceleration seems to bug in fb mode
+ !detect_devices::matching_desc__regexp('828[14][05].* CGC') #- i810 & i845 now have FB support during install but we disable it afterwards
+ );
+ my $force_vga = $allow_fb && (detect_devices::matching_desc__regexp('SiS.*630') || #- SiS 630 need frame buffer.
+ detect_devices::matching_desc__regexp('GeForce.*Integrated') #- needed for fbdev driver (hack).
+ );
+
+ #- propose the default fb mode for kernel fb, if bootsplash is installed.
+ my $need_fb = -e "$::prefix/usr/share/bootsplash/scripts/make-boot-splash";
+ bootloader::suggest($bootloader, $all_hds,
+ vga_fb => ($force_vga || $vga && $need_fb) && $vga_fb,
+ splash => $splash,
+ quiet => $quiet);
+
+ if (is_uefi()) {
+ if (my @esp = grep { $_->{mntpoint} eq '/boot/EFI' } @$fstab) {
+ $bootloader->{removable} = $esp[0]{is_removable};
+ }
+ } else {
+ if (my $root_part = fs::get::root($fstab)) {
+ $bootloader->{removable} = $root_part->{is_removable};
+ }
+ }
+ $bootloader->{default_to_no_probe} = 1 if $bootloader->{removable};
- require bootloader;
- bootloader::mkbootdisk(kernelVersion(), $floppy_dev, $bootloader->{perImageAppend});
- 1;
+ $bootloader->{keytable} ||= keyboard::keyboard2kmap($keyboard);
+ log::l("setupBootloaderBefore end");
}
sub setupBootloader {
my ($in, $b, $all_hds, $fstab, $security) = @_;
- my $hds = $all_hds->{hds};
require bootloader;
general:
- setupBootloader__general($in, $b, $all_hds, $fstab, $security) or return 0;
- setupBootloader__boot_bios_drive($in, $b, $hds) or goto general;
+ {
+ local $::Wizard_no_previous = 1 if $::isStandalone;
+ setupBootloader__general($in, $b, $all_hds, $fstab, $security) or return 0;
+ }
+ setupBootloader__boot_bios_drive($in, $b, $all_hds->{hds}) or goto general;
+ {
+ local $::Wizard_finished = 1 if $::isStandalone;
+ if (bootloader::main_method($b->{method}) eq 'grub2') {
+ setupBootloader__grub2($in, $b, $all_hds, $fstab) or goto general;
+ } else {
+ setupBootloader__entries($in, $b, $all_hds, $fstab) or goto general;
+ }
+ }
+ 1;
+}
- setupBootloader__entries($in, $b, $all_hds, $fstab) or goto general;
+sub setupBootloaderUntilInstalled {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+ do {
+ my $before = fs::fstab_to_string($all_hds);
+ setupBootloader($in, $b, $all_hds, $fstab, $security) or $in->exit;
+ if ($before ne fs::fstab_to_string($all_hds)) {
+ #- ovitters: This fstab comparison was needed for optionally
+ #- setting up /tmp using tmpfs. That code was removed. Not removing
+ #- this code as I'm not sure if something still relies on this
+ fs::write_fstab($all_hds);
+ }
+ } while !installBootloader($in, $b, $all_hds);
+}
- #- somewhere should bootloader really installed ?
- $::isStandalone and my $_w = $in->wait_message(N("Please wait"), N("Bootloader installation in progress"));
+sub installBootloader {
+ my ($in, $b, $all_hds) = @_;
+ return if detect_devices::is_xbox();
- eval { run_program::rooted($::prefix, 'lilo', '-u') } if $::isInstall && !$::o->{isUpgrade} && -e "$::prefix/etc/lilo.conf" && glob("$::prefix/boot/boot.*");
+ return 1 if arch() =~ /arm/;
+
+ install_bootloader_pkgs($in->do_pkgs, $b);
- bootloader::install($b, $fstab, $hds);
+ retry:
+ eval {
+ my $_w = $in->wait_message(N("Please wait"), N("Bootloader installation in progress"));
+ bootloader::install($b, $all_hds);
+ };
+
+ if (my $err = $@) {
+ $err =~ /wizcancel/ and return;
+ $err =~ s/^\w+ failed// or die;
+ $err = formatError($err);
+ while ($err =~ s/^Warning:.*//m) {}
+ if (my ($dev) = $err =~ /^Reference:\s+disk\s+"(.*?)".*^Is the above disk an NT boot disk?/ms) {
+ if ($in->ask_yesorno('',
+formatAlaTeX(N("LILO wants to assign a new Volume ID to drive %s. However, changing
+the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows error.
+This caution does not apply to Windows 95 or 98, or to NT data disks.
+
+Assign a new Volume ID?", $dev)))) {
+ $b->{force_lilo_answer} = 'n';
+ } else {
+ $b->{'static-bios-codes'} = 1;
+ }
+ goto retry;
+ } else {
+ $in->ask_warn('', [ N("Installation of bootloader failed. The following error occurred:"), $err ]);
+ return;
+ }
+ }
+ 1;
}
@@ -161,13 +304,10 @@ sub setupBootloader_simple {
my $hds = $all_hds->{hds};
require bootloader;
- my $mixed_kind_of_disks = bootloader::mixed_kind_of_disks($hds);
- #- full expert questions when there is 2 kind of disks
- #- it would need a semi_auto asking on which drive the bios boots...
-
- $mixed_kind_of_disks || $b->{bootUnsafe} || arch() =~ /ppc/ or return 1; #- default is good enough
+ bootloader::ensafe_first_bios_drive($hds)
+ || $b->{bootUnsafe} or return 1; #- default is good enough
- if (!$mixed_kind_of_disks && arch() !~ /ia64/) {
+ if (arch() !~ /ia64/) {
setupBootloader__mbr_or_not($in, $b, $hds, $fstab) or return 0;
} else {
general:
@@ -181,14 +321,18 @@ sub setupBootloader_simple {
sub setupBootloader__boot_bios_drive {
my ($in, $b, $hds) = @_;
- bootloader::mixed_kind_of_disks($hds) &&
- $b->{boot} =~ /\d$/ && #- on a partition
- is_empty_hash_ref($b->{bios}) && #- some bios mapping already there
- arch() !~ /ppc/ or return 1;
+ if (!is_empty_hash_ref($b->{bios})) {
+ #- some bios mapping already there
+ return 1;
+ } elsif (bootloader::mixed_kind_of_disks($hds) && $b->{boot} =~ /\d$/) { #- on a partition
+ # see below
+ } else {
+ return 1;
+ }
- log::l("mixed_kind_of_disks");
+ log::l("_ask_boot_bios_drive");
my $hd = $in->ask_from_listf('', N("You decided to install the bootloader on a partition.
-This implies you already have a bootloader on the hard drive you boot (eg: System Commander).
+This implies you already have a bootloader on the hard disk drive you boot (eg: System Commander).
On which drive are you booting?"), \&partition_table::description, $hds) or return 0;
log::l("mixed_kind_of_disks chosen $hd->{device}");
@@ -196,197 +340,306 @@ On which drive are you booting?"), \&partition_table::description, $hds) or retu
1;
}
+sub _ask_mbr_or_not {
+ my ($in, $default, @l) = @_;
+ $in->ask_from_({ title => N("Bootloader Installation"),
+ interactive_help_id => 'setupBootloaderBeginner',
+ },
+ [
+ { label => N("Where do you want to install the bootloader?"), title => 1 },
+ { val => \$default, list => \@l, format => sub { $_[0][0] }, type => 'list' },
+ ]
+ );
+ $default;
+}
+
sub setupBootloader__mbr_or_not {
my ($in, $b, $hds, $fstab) = @_;
- if (arch() =~ /ppc/) {
- if (defined $partition_table::mac::bootstrap_part) {
- $b->{boot} = $partition_table::mac::bootstrap_part;
- log::l("set bootstrap to $b->{boot}");
- } else {
- die "no bootstrap partition - yaboot.conf creation failed";
- }
- } else {
+ log::l("setupBootloader__mbr_or_not");
+
my $floppy = detect_devices::floppy();
my @l = (
+ bootloader::ensafe_first_bios_drive($hds) ?
+ (map { [ N("First sector (MBR) of drive %s", partition_table::description($_)) => '/dev/' . $_->{device} ] } @$hds)
+ :
[ N("First sector of drive (MBR)") => '/dev/' . $hds->[0]{device} ],
- [ N("First sector of the root partition") => '/dev/' . fsedit::get_root($fstab, 'boot')->{device} ],
+
+ [ N("First sector of the root partition") => '/dev/' . fs::get::root($fstab, 'boot')->{device} ],
if_($floppy,
[ N("On Floppy") => "/dev/$floppy" ],
),
[ N("Skip") => '' ],
);
- my $default = arch() =~ /sparc/ ? ($b->{use_partition} ? $l[1] : $l[0]) :
- find { $_->[1] eq $b->{boot} } @l;
- $in->ask_from_({ title => arch() =~ /sparc/ ? N("SILO Installation") : N("LILO/grub Installation"),
- messages => N("Where do you want to install the bootloader?"),
- interactive_help_id => 'setupBootloaderBeginner',
- },
- [ { val => \$default, list => \@l, format => sub { $_[0][0] }, type => 'list' } ]);
- my $new_boot = $default->[1] or return;
-
- if (arch() =~ /sparc/) {
- $b->{use_partition} = $new_boot eq $l[1][1];
- } else {
- #- remove bios mapping if the user changed the boot device
- delete $b->{bios} if $new_boot ne $b->{boot};
-
- $b->{boot} = $new_boot;
- }
- }
+ my $default = find { $_->[1] eq $b->{boot} } @l;
+ if (!$::isInstall) {
+ $default = _ask_mbr_or_not($in, $default, @l);
+ }
+ my $new_boot = $default->[1];
+
+ #- remove bios mapping if the user changed the boot device
+ delete $b->{bios} if $new_boot && $new_boot ne $b->{boot};
+ $b->{boot} = $new_boot or return;
1;
}
sub setupBootloader__general {
- my ($in, $b, $all_hds, $fstab, $security) = @_;
-
- my @silo_install_lang = (N("First sector of drive (MBR)"), N("First sector of boot partition"));
-
- ($b->{method}, my $method_choices) = bootloader::method_choices($fstab, $b);
- my $profiles = bootloader::has_profiles($b);
- my $prev_force_acpi = my $force_acpi = bootloader::get_append($b, 'acpi') !~ /off|ht/;
- my $prev_force_noapic = my $force_noapic = bootloader::get_append($b, 'noapic');
- my $memsize = bootloader::get_append($b, 'mem');
- my $prev_clean_tmp = my $clean_tmp = any { $_->{mntpoint} eq '/tmp' } @{$all_hds->{special} ||= []};
+ my ($in, $b, $all_hds, $fstab, $_security) = @_;
+
+ return if detect_devices::is_xbox();
+ my @method_choices = bootloader::method_choices($all_hds);
+ my $prev_force_acpi = my $force_acpi = bootloader::get_append_with_key($b, 'acpi') !~ /off|ht/;
+ my $prev_enable_apic = my $enable_apic = !bootloader::get_append_simple($b, 'noapic');
+ my $prev_enable_lapic = my $enable_lapic = !bootloader::get_append_simple($b, 'nolapic');
+ my $prev_enable_smp = my $enable_smp = !bootloader::get_append_simple($b, 'nosmp');
my $prev_boot = $b->{boot};
- my $mkbootdisk;
+ my $prev_method = $b->{method};
$b->{password2} ||= $b->{password} ||= '';
- $b->{vga} ||= 'normal';
- if (arch() !~ /ppc/) {
- $in->ask_from_({ messages => N("Bootloader main options"),
- interactive_help_id => 'setupBootloader',
- }, [
- { label => N("Bootloader to use"), val => \$b->{method}, list => [ keys %$method_choices ], format => sub { $method_choices->{$_[0]} } },
- arch() =~ /sparc/ ? (
- { label => N("Bootloader installation"), val => \$b->{use_partition}, list => [ 0, 1 ], format => sub { $silo_install_lang[$_[0]] } },
- ) : if_(arch() !~ /ia64/,
- { label => N("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (@{$all_hds->{hds}}, grep { !isFat_or_NTFS($_) } @$fstab)), detect_devices::floppies_dev() ], not_edit => !$::expert },
- { label => N("Compact"), val => \$b->{compact}, type => "bool", text => N("compact"), advanced => 1 },
- { label => N("Video mode"), val => \$b->{vga}, list => [ keys %bootloader::vga_modes ], not_edit => !$::expert, format => sub { $bootloader::vga_modes{$_[0]} }, advanced => 1 },
- ),
- { label => N("Delay before booting default image"), val => \$b->{timeout} },
- { label => N("Enable ACPI"), val => \$force_acpi, type => 'bool' },
- { label => N("Force No APIC"), val => \$force_noapic, type => 'bool' },
- if_($security >= 4 || $b->{password} || $b->{restricted},
- { label => N("Password"), val => \$b->{password}, hidden => 1 },
- { label => N("Password (again)"), val => \$b->{password2}, hidden => 1 },
- { label => N("Restrict command line options"), val => \$b->{restricted}, type => "bool", text => N("restrict") },
- ),
- if_(arch() !~ /alpha/ && arch() !~ /ppc/,
- { label => N("Create a bootdisk"), val => \$mkbootdisk, type => 'bool', advanced => 1 },
- ),
- { label => N("Clean /tmp at each boot"), val => \$clean_tmp, type => 'bool', advanced => 1 },
- { label => N("Precise RAM size if needed (found %d MB)", availableRamMB()), val => \$memsize, advanced => 1 },
- if_(detect_devices::isLaptop(),
- { label => N("Enable multiple profiles"), val => \$profiles, type => 'bool', advanced => 1 },
- ),
- ],
- complete => sub {
- !$memsize || $memsize =~ /K$/ || $memsize =~ s/^(\d+)M?$/$1M/i or $in->ask_warn('', N("Give the ram size in MB")), return 1;
- #- $security > 4 && length($b->{password}) < 6 and $in->ask_warn('', N("At this level of security, a password (and a good one) in lilo is requested")), return 1;
- $b->{restricted} && !$b->{password} and $in->ask_warn('', N("Option ``Restrict command line options'' is of no use without a password")), return 1;
- $b->{password} eq $b->{password2} or !$b->{restricted} or $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]), return 1;
- 0;
- }) or return 0;
+ $::Wizard_title = N("Boot Style Configuration");
+ my (@boot_devices, %boot_devices);
+ if (is_uefi()) {
+ @boot_devices = 'ESP';
+ %boot_devices = (ESP => N("EFI System Partition"));
} else {
- $b->{boot} = $partition_table::mac::bootstrap_part;
- $in->ask_from_({ messages => N("Bootloader main options"),
- interactive_help_id => 'setupYabootGeneral',
- }, [
- { label => N("Bootloader to use"), val => \$b->{method}, list => [ keys %$method_choices ], format => sub { $method_choices->{$_[0]} } },
- { label => N("Init Message"), val => \$b->{'init-message'} },
- { label => N("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (grep { isAppleBootstrap($_) } @$fstab)) ], not_edit => !$::expert },
- { label => N("Open Firmware Delay"), val => \$b->{delay} },
- { label => N("Kernel Boot Timeout"), val => \$b->{timeout} },
- { label => N("Enable CD Boot?"), val => \$b->{enablecdboot}, type => "bool" },
- { label => N("Enable OF Boot?"), val => \$b->{enableofboot}, type => "bool" },
- { label => N("Default OS?"), val => \$b->{defaultos}, list => [ 'linux', 'macos', 'macosx', 'darwin' ] },
- ]) or return 0;
+ foreach (bootloader::allowed_boot_parts($b, $all_hds)) {
+ my $dev = "/dev/$_->{device}";
+ push @boot_devices, $dev;
+ my $name = $_->{mntpoint} || $_->{info} || $_->{device_LABEL};
+ unless ($name) {
+ $name = formatXiB($_->{size}*512) . " " if $_->{size};
+ $name .= $_->{fs_type};
+ }
+ $boot_devices{$dev} = $name ? "$dev ($name)" : $dev;
+ }
}
+ $in->ask_from_({ #messages => N("Bootloader main options"),
+ title => N("Bootloader main options"),
+ interactive_help_id => 'setupBootloader',
+ }, [
+ #title => N("Bootloader main options"),
+ { label => N("Bootloader"), title => 1 },
+ { label => N("Bootloader to use"), val => \$b->{method},
+ list => \@method_choices, format => \&bootloader::method2text },
+ { label => N("Boot device"), val => \$b->{boot}, list => \@boot_devices, allow_empty_list => 1,
+ format => sub { $boot_devices{$_[0]} } },
+ { label => N("Main options"), title => 1 },
+ { label => N("Delay before booting default image"), val => \$b->{timeout} },
+ { text => N("Enable ACPI"), val => \$force_acpi, type => 'bool', advanced => 1 },
+ { text => N("Enable SMP"), val => \$enable_smp, type => 'bool', advanced => 1 },
+ { text => N("Enable APIC"), val => \$enable_apic, type => 'bool', advanced => 1,
+ disabled => sub { !$enable_lapic } },
+ { text => N("Enable Local APIC"), val => \$enable_lapic, type => 'bool', advanced => 1 },
+ { label => N("Security"), title => 1 },
+ { label => N("Password"), val => \$b->{password}, hidden => 1,
+ validate => sub {
+ my $ok = $b->{password} eq $b->{password2}
+ or $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]);
+ my $ok2 = !($b->{password} && $b->{method} eq 'grub-graphic')
+ or $in->ask_warn('', N("You cannot use a password with %s",
+ bootloader::method2text($b->{method})));
+ $ok && $ok2;
+ } },
+ { label => N("Password (again)"), val => \$b->{password2}, hidden => 1 },
+ ]) or return 0;
+
#- remove bios mapping if the user changed the boot device
delete $b->{bios} if $b->{boot} ne $prev_boot;
- if ($b->{method} eq 'grub') {
- $in->do_pkgs->ensure_is_installed('grub', "/usr/sbin/grub", 1) or return 0;
+ if ($b->{boot} =~ m!/dev/md\d+$!) {
+ $b->{'raid-extra-boot'} = 'mbr';
+ } else {
+ delete $b->{'raid-extra-boot'} if $b->{'raid-extra-boot'} eq 'mbr';
}
- bootloader::set_profiles($b, $profiles);
- bootloader::set_append($b, "mem", $memsize);
+ bootloader::ensure_pkg_is_installed($in->do_pkgs, $b) or goto &setupBootloader__general;
+
+ bootloader::suggest_message_text($b) if ! -e "$::prefix/boot/message-text"; #- in case we switch from grub to lilo
+
if ($prev_force_acpi != $force_acpi) {
- bootloader::set_append($b, acpi => ($force_acpi ? '' : 'ht'));
+ bootloader::set_append_with_key($b, acpi => ($force_acpi ? '' : 'ht'));
}
- if ($prev_force_noapic != $force_noapic) {
- ($force_noapic ? \&bootloader::set_append : \&bootloader::remove_append_simple)->($b, 'noapic');
+
+ if ($prev_enable_smp != $enable_smp) {
+ ($enable_smp ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'nosmp');
}
- if ($prev_clean_tmp != $clean_tmp) {
- if ($clean_tmp && !fsedit::has_mntpoint('/tmp', $all_hds)) {
- push @{$all_hds->{special}}, { device => 'none', mntpoint => '/tmp', type => 'tmpfs' };
- } else {
- @{$all_hds->{special}} = grep { $_->{mntpoint} eq '/tmp' } @{$all_hds->{special}};
- }
+ if ($prev_enable_apic != $enable_apic) {
+ ($enable_apic ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'noapic');
+ ($enable_apic ? \&bootloader::set_append_simple : \&bootloader::remove_append_simple)->($b, 'apic');
+ }
+ if ($prev_enable_lapic != $enable_lapic) {
+ ($enable_lapic ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'nolapic');
+ ($enable_lapic ? \&bootloader::set_append_simple : \&bootloader::remove_append_simple)->($b, 'lapic');
+ }
+
+ if (bootloader::main_method($prev_method) eq 'lilo' &&
+ bootloader::main_method($b->{method}) eq 'grub') {
+ log::l("switching for lilo to grub, ensure we don't read lilo.conf anymore");
+ renamef("$::prefix/etc/lilo.conf", "$::prefix/etc/lilo.conf.unused");
+ }
+ if ($prev_method eq 'refind' && $b->{method} ne 'refind') {
+ log::l("switching from rEFInd, ensure we don't detect refind as the active boot method");
+ renamef("$::prefix/boot/refind_linux.conf", "$::prefix/boot/refind_linux.conf.unused");
+ }
+ if ($b->{method} eq 'refind') {
+ if (bootloader::main_method($prev_method) eq 'grub2') {
+ #- grub2 doesn't provide any entries we can use, so revert to the defaults
+ %$b = ();
+ setupBootloaderBeforeStandalone($in->do_pkgs, $b, $all_hds, $fstab);
+ $b->{method} = 'refind';
+ $b->{boot} = 'ESP';
+ undef $b->{default};
+ }
+ setupBootloader__refind($in, $b, $fstab);
+ } else {
+ 1;
}
- mkbootdisk($in, $b, $fstab) or return &setupBootloader__general if $mkbootdisk;
+}
+
+sub setupBootloader__refind {
+ my ($in, $b, $fstab) = @_;
+ my $already_in_refind = -e "$::prefix/boot/EFI/EFI/refind/refind.conf";
+ my $already_in_default = -e "$::prefix/boot/EFI/EFI/BOOT/refind.conf";
+ my $already_installed = $already_in_refind || $already_in_default;
+
+ my $update_esp = !$already_installed;
+ my $as_default = $already_in_default || $b->{removable};
+
+ if (!defined $b->{banner_path}) {
+ #- We haven't yet read any existing configuration, either because we are doing a clean
+ #- install or because we are switching from a different bootloader. Try to read it now.
+ #- Even if we are doing a clean install, rEFInd may already be installed in the ESP.
+ bootloader::read_refind_config($b);
+ }
+
+ my $use_nvram = $b->{use_nvram};
+ my $banner_path = $b->{banner_path};
+ my $banner_scale = $b->{banner_scale};
+ my $banner_type = $banner_path eq 'refind_banner.png' ? 'banner'
+ : $banner_path eq 'mageia_theme.png' ? 'theme'
+ : 'custom';
+ $in->ask_from_(
+ {
+ title => N("Bootloader Configuration"),
+ interactive_help_id => 'setupBootloader',
+ },
+ [
+ { label => N("Install Options"), title => 1, },
+ { text => N("Install or update rEFInd in the EFI system partition"),
+ val => \$update_esp, type => 'bool', disabled => sub { !$already_installed } },
+ { text => N("Install in /EFI/BOOT (removable device or workaround for some BIOSs)"),
+ val => \$as_default, type => 'bool', disabled => sub { !$update_esp } },
+ { text => N("Configure rEFInd to store its variables in the EFI NVRAM"),
+ val => \$use_nvram, type => 'bool' },
+ { label => N("Background"), title => 1, },
+ { val => \$banner_type, type => 'combo', list => [ 'banner', 'theme', 'custom' ],
+ format => sub {
+ my ($choice) = @_;
+ +{
+ 'banner' => N("rEFInd banner"),
+ 'theme' => N("Mageia theme"),
+ 'custom' => N("Custom"),
+ }->{$choice};
+ },
+ changed => sub {
+ if ($banner_type eq 'banner') {
+ $banner_path = 'refind_banner.png';
+ $banner_scale = 'noscale';
+ } elsif ($banner_type eq 'theme') {
+ $banner_path = 'mageia_theme.png';
+ $banner_scale = 'fillscreen';
+ }
+ }
+ },
+ { val => \$banner_path, type => 'entry', disabled => sub { $banner_type ne 'custom' } },
+ { val => \$banner_scale, type => 'combo', list => [ 'noscale', 'fillscreen' ],
+ format => sub {
+ my ($choice) = @_;
+ +{
+ 'noscale' => N("No scaling"),
+ 'fillscreen' => N("Scale to fit"),
+ }->{$choice};
+ }
+ },
+ ]
+ ) or return 0;
+
+ if ($update_esp) {
+ $b->{install_mode} = $as_default ? 'as_default' : 'as_refind';
+ } else {
+ $b->{install_mode} = $as_default ? 'no_install' : 'nvram_only';
+ }
+ $b->{use_nvram} = $use_nvram;
+ $b->{banner_path} = $banner_path;
+ $b->{banner_scale} = $banner_scale;
+ if (my @esp = grep { $_->{mntpoint} eq '/boot/EFI' } @$fstab) {
+ $b->{esp_device} = $esp[0]{real_device} || fs::wild_device::from_part('', $esp[0]);
+ }
1;
}
sub setupBootloader__entries {
my ($in, $b, $all_hds, $fstab) = @_;
+ require Xconfig::resolution_and_depth;
+
my $Modify = sub {
+ require network::network; #- to list network profiles
my ($e) = @_;
my $default = my $old_default = $e->{label} eq $b->{default};
+ my $vga = Xconfig::resolution_and_depth::from_bios($e->{vga});
+ my ($append, $netprofile) = bootloader::get_append_netprofile($e);
+
+ my %hd_infos = map { $_->{device} => $_->{info} } fs::get::hds($all_hds);
+ my %root_descr = map {
+ my $info = delete $hd_infos{$_->{rootDevice}};
+ my $dev = "/dev/$_->{device}";
+ my $hint = $info || $_->{info} || $_->{device_LABEL};
+ my $info_ = $hint ? "$dev ($hint)" : $dev;
+ ($dev => $info_, fs::wild_device::from_part('', $_) => $info_);
+ } @$fstab;
my @l;
- if ($e->{type} eq "image") {
+ if ($b->{method} eq 'refind') {
+ @l = (
+ { label => N("Label"), val => \$e->{label} },
+ { label => N("Append"), val => \$append },
+ { label => N("Video mode"), val => \$vga, list => [ '', Xconfig::resolution_and_depth::bios_vga_modes() ],
+ format => \&Xconfig::resolution_and_depth::to_string, advanced => 1 },
+ );
+ } elsif ($e->{type} eq "image") {
@l = (
-{ label => N("Image"), val => \$e->{kernel_or_dev}, list => [ map { s/$::prefix//; $_ } glob_("$::prefix/boot/vmlinuz*") ], not_edit => 0 },
-{ label => N("Root"), val => \$e->{root}, list => [ map { "/dev/$_->{device}" } @$fstab ], not_edit => !$::expert },
-{ label => N("Append"), val => \$e->{append} },
- if_(arch() !~ /ppc|ia64/,
-{ label => N("Video mode"), val => \$e->{vga}, list => [ keys %bootloader::vga_modes ], format => sub { $bootloader::vga_modes{$_[0]} }, not_edit => !$::expert },
-),
-{ label => N("Initrd"), val => \$e->{initrd}, list => [ map { s/$::prefix//; $_ } glob_("$::prefix/boot/initrd*") ], not_edit => 0 },
-{ label => N("Read-write"), val => \$e->{'read-write'}, type => 'bool' }
+{ label => N("Image"), val => \$e->{kernel_or_dev}, list => [ map { "/boot/$_" } bootloader::installed_vmlinuz() ], not_edit => 0 },
+{ label => N("Root"), val => \$e->{root}, list => [ map { fs::wild_device::from_part('', $_) } grep { !isSwap($_) } @$fstab ], format => sub { $root_descr{$_[0]} } },
+{ label => N("Append"), val => \$append },
+ if_($e->{xen},
+{ label => N("Xen append"), val => \$e->{xen_append} }
+ ),
+ if_($b->{password}, { label => N("Requires password to boot"), val => \$e->{lock}, type => "bool" }),
+{ label => N("Video mode"), val => \$vga, list => [ '', Xconfig::resolution_and_depth::bios_vga_modes() ], format => \&Xconfig::resolution_and_depth::to_string, advanced => 1 },
+{ label => N("Initrd"), val => \$e->{initrd}, list => [ map { if_(/^initrd/, "/boot/$_") } all("$::prefix/boot") ], not_edit => 0, advanced => 1 },
+{ label => N("Network profile"), val => \$netprofile, list => [ sort(uniq('', $netprofile, network::network::netprofile_list())) ], advanced => 1 },
);
- @l = @l[0..2] unless $::expert;
} else {
@l = (
-{ label => N("Root"), val => \$e->{kernel_or_dev}, list => [ map { "/dev/$_->{device}" } @$fstab, detect_devices::floppies_dev() ], not_edit => !$::expert },
-if_(arch() !~ /sparc|ppc|ia64/,
-{ label => N("Table"), val => \$e->{table}, list => [ '', map { "/dev/$_->{device}" } @{$all_hds->{hds}} ], not_edit => !$::expert },
-{ label => N("Unsafe"), val => \$e->{unsafe}, type => 'bool' }
-),
+{ label => N("Root"), val => \$e->{kernel_or_dev}, list => [ map { "/dev/$_->{device}" } @$fstab, detect_devices::floppies() ] },
);
- @l = $l[0] unless $::expert;
}
- if (arch() !~ /ppc/) {
+ if ($b->{method} ne 'refind') {
@l = (
{ label => N("Label"), val => \$e->{label} },
@l,
- { label => N("Default"), val => \$default, type => 'bool' },
+ { text => N("Default"), val => \$default, type => 'bool' },
);
- } else {
- unshift @l, { label => N("Label"), val => \$e->{label}, list => ['macos', 'macosx', 'darwin'] };
- if ($e->{type} eq "image") {
- @l = ({ label => N("Label"), val => \$e->{label} },
- $::expert ? @l[1..4] : (@l[1..2], { label => N("Append"), val => \$e->{append} }),
- if_($::expert, { label => N("Initrd-size"), val => \$e->{initrdsize}, list => [ '', '4096', '8192', '16384', '24576' ] }),
- if_($::expert, $l[5]),
- { label => N("NoVideo"), val => \$e->{novideo}, type => 'bool' },
- { label => N("Default"), val => \$default, type => 'bool' }
- );
- }
}
-
$in->ask_from_(
{
- interactive_help_id => arch() =~ /ppc/ ? 'setupYabootAddEntry' : 'setupBootloaderAddEntry',
+ interactive_help_id => 'setupBootloaderAddEntry',
callbacks => {
complete => sub {
$e->{label} or $in->ask_warn('', N("Empty label not allowed")), return 1;
@@ -396,31 +649,42 @@ if_(arch() !~ /sparc|ppc|ia64/,
} } }, \@l) or return;
$b->{default} = $old_default || $default ? $default && $e->{label} : $b->{default};
- bootloader::configure_entry($e); #- hack to make sure initrd file are built.
+ my $new_vga = ref($vga) ? $vga->{bios} : $vga;
+ if ($new_vga ne $e->{vga}) {
+ $e->{vga} = $new_vga;
+ $e->{initrd} and bootloader::add_boot_splash($e->{initrd}, $e->{vga});
+ }
+ bootloader::set_append_netprofile($e, $append, $netprofile);
+ bootloader::configure_entry($b, $e); #- hack to make sure initrd file are built.
1;
};
my $Add = sub {
my @labels = map { $_->{label} } @{$b->{entries}};
my ($e, $prefix);
- if ($in->ask_from_list_('', N("Which type of entry do you want to add?"),
- [ N_("Linux"), arch() =~ /sparc/ ? N_("Other OS (SunOS...)") : arch() =~ /ppc/ ?
- N_("Other OS (MacOS...)") : N_("Other OS (windows...)") ]
- ) eq "Linux") {
+ if ($b->{method} eq 'refind') {
$e = { type => 'image',
- root => '/dev/' . fsedit::get_root($fstab)->{device}, #- assume a good default.
+ kernel_or_dev => '/boot/vmlinuz',
+ root => '/dev/' . fs::get::root($fstab)->{device}, #- assume a good default.
+ };
+ $prefix = "linux";
+ } elsif ($in->ask_from_list_('', N("Which type of entry do you want to add?"),
+ [ N_("Linux"), N_("Other OS (Windows...)") ]
+ ) eq "Linux") {
+ $e = { type => 'image',
+ root => '/dev/' . fs::get::root($fstab)->{device}, #- assume a good default.
};
$prefix = "linux";
} else {
$e = { type => 'other' };
- $prefix = arch() =~ /sparc/ ? "sunos" : arch() =~ /ppc/ ? "macos" : "windows";
+ $prefix = "windows";
}
$e->{label} = $prefix;
for (my $nb = 0; member($e->{label}, @labels); $nb++) {
$e->{label} = "$prefix-$nb";
}
$Modify->($e) or return;
- push @{$b->{entries}}, $e;
+ bootloader::add_entry($b, $e);
$e;
};
@@ -431,17 +695,49 @@ if_(arch() !~ /sparc|ppc|ia64/,
1;
};
+ my $Up = sub {
+ my ($e) = @_;
+ my @entries = @{$b->{entries}};
+ my ($index) = grep { $entries[$_]{label} eq $e->{label} } 0..$#entries;
+ if ($index > 0) {
+ ($b->{entries}[$index - 1], $b->{entries}[$index]) = ($b->{entries}[$index], $b->{entries}[$index - 1]);
+ }
+ 1;
+ };
+
+ my $Down = sub {
+ my ($e) = @_;
+ my @entries = @{$b->{entries}};
+ my ($index) = grep { $entries[$_]{label} eq $e->{label} } 0..$#entries;
+ if ($index < $#entries) {
+ ($b->{entries}[$index + 1], $b->{entries}[$index]) = ($b->{entries}[$index], $b->{entries}[$index + 1]);
+ }
+ 1;
+ };
+
my @prev_entries = @{$b->{entries}};
- if ($in->ask_from__add_modify_remove('',
+
+ #- the rEFInd configuration file just provides alternative kernel command lines
+ #- so we only want to display entries that relate to the default kernel.
+ if ($b->{method} eq 'refind') {
+ @{$b->{entries}} =
+ grep {
+ my $pb = $_->{type} ne 'image' || $_->{kernel_or_dev} ne '/boot/vmlinuz';
+ log::l("dropping bootloader entry $_->{label} because it is not needed by rEFInd") if $pb;
+ !$pb;
+ } @{$b->{entries}};
+ }
+
+ if ($in->ask_from__add_modify_remove(N("Bootloader Configuration"),
N("Here are the entries on your boot menu so far.
You can create additional entries or change the existing ones."), [ {
format => sub {
my ($e) = @_;
ref($e) ?
- "$e->{label} ($e->{kernel_or_dev})" . ($b->{default} eq $e->{label} && " *") :
+ ($b->{default} eq $e->{label} ? " * " : " ") . "$e->{label} ($e->{kernel_or_dev})" :
translate($e);
}, list => $b->{entries},
- } ], Add => $Add, Modify => $Modify, Remove => $Remove)) {
+ } ], Add => $Add, Modify => $Modify, Remove => $Remove, Up => $Up, Down => $Down)) {
1;
} else {
@{$b->{entries}} = @prev_entries;
@@ -449,60 +745,233 @@ You can create additional entries or change the existing ones."), [ {
}
}
-my @etc_pass_fields = qw(name pw uid gid realname home shell);
-sub unpack_passwd {
- my ($l) = @_;
- my %l; @l{@etc_pass_fields} = split ':', chomp_($l);
- \%l;
+sub setupBootloader__grub2 {
+ my ($in, $b, $_all_hds, $_fstab) = @_;
+
+ # update entries (so that we can display their list below):
+ my $error;
+ # grub2-update can take many minutes on some systems (mga#18538)
+ # FIXME: change the message to be more informative
+ my $_w = $in->wait_message(N("Please wait"), N("Please wait"));
+ run_program::rooted($::prefix, 'update-grub2', '2>', \$error) or die "update-grub2 failed: $error";
+ undef $_w;
+
+ # read grub2 auto-generated entries (instead of keeping eg: grub/lilo ones):
+ my $b2 = bootloader::read_grub2();
+
+ # get default parameters:
+ my $append = $b->{perImageAppend} || bootloader::get_grub2_append($b2);
+ my $default = $b2->{default};
+
+ require Xconfig::resolution_and_depth;
+
+ require network::network; #- to list network profiles
+ my $vga = Xconfig::resolution_and_depth::from_bios($b->{default_vga});
+ my $os_prober = $in->do_pkgs->is_installed('os-prober', '/usr/bin/os-prober') && !$b->{default_to_no_probe};
+
+ my $res = $in->ask_from_(
+ {
+ title => N("Bootloader Configuration"),
+ interactive_help_id => 'setupBootloaderAddEntry',
+ },
+ [
+ { label => N("Default"), val => \$default,
+ list => [ map { $_->{label} } @{$b2->{entries}} ] },
+ { label => N("Append"), val => \$append },
+ { label => N("Video mode"), val => \$vga, list => [ '', Xconfig::resolution_and_depth::bios_vga_modes() ],
+ format => \&Xconfig::resolution_and_depth::to_string, advanced => 1 },
+ { text => N("Do not touch ESP or MBR"), val => \$b->{no_esp_or_mbr}, type => 'bool', advanced => 1,
+ validate => sub {
+ $b->{no_esp_or_mbr} and $in->ask_warn(N("Warning"),
+ N("Not installing on ESP or MBR means that the installation is not bootable unless chain loaded from another OS!"));
+ 1;
+ },
+ },
+ { text => N("Probe Foreign OS"), val => \$os_prober, type => 'bool',
+ help => N("Unselect this option to stop grub2 scanning for other operating systems, which will prevent them from being included in the grub2 boot menu. The option may also be unselected after installation, removing the other operating systems from the grub2 boot menu, but reducing the time needed for installing kernel updates"),
+ },
+ if_(is_uefi(),
+ { text => N("Install in /EFI/BOOT (removable device or workaround for some BIOSs)"),
+ val => \$b->{removable}, type => 'bool' },
+ ),
+ ]);
+ if ($res) {
+ $b->{entries} = $b2->{entries};
+ $b->{default} = $default;
+ $b->{default_vga} = ref($vga) ? $vga->{bios} : $vga;
+ $b->{perImageAppend} = $append;
+ if ($os_prober) {
+ $in->do_pkgs->ensure_is_installed('os-prober', '/usr/bin/os-prober');
+ } else {
+ $in->do_pkgs->remove('os-prober');
+ }
+ 1;
+ } else {
+ '';
+ }
+}
+
+sub get_session_file {
+ my ($desktop) = @_;
+ my @dir_wm = qw(xsessions wayland-sessions);
+ my $xsession_file;
+ foreach my $dwm (@dir_wm) {
+ my $xs_file = find {
+ my %xsession = read_gnomekderc($_, 'Desktop Entry');
+ $xsession{Name} =~ s/\s+//g;
+ $xsession{Name} eq ${desktop};
+ } glob("$::prefix/usr/share/$dwm/*.desktop");
+ $xsession_file = $xs_file unless $xsession_file;
+ }
+ $xsession_file =~ s!\.[^.]+$!!;
+ $xsession_file =~ s!.*/!!;
+ $xsession_file ||= $desktop;
+ return $xsession_file;
+}
+
+sub get_session_file_with_extension {
+ return get_session_file(@_) . '.desktop';
}
-sub pack_passwd {
- my ($l) = @_;
- join(':', @$l{@etc_pass_fields}) . "\n";
+
+sub available_dms() {
+ my @l;
+ foreach (glob("$::prefix/usr/share/X11/dm.d/*.conf")) {
+ my %dm = getVarsFromSh($_);
+ push @l, $dm{EXEC} if $dm{EXEC} && -x "$::prefix/$dm{EXEC}";
+ }
+ @l;
}
sub get_autologin() {
my %desktop = getVarsFromSh("$::prefix/etc/sysconfig/desktop");
- my $desktop = $desktop{DESKTOP} || 'KDE';
- my $autologin = do {
- if (($desktop{DISPLAYMANAGER} || $desktop) eq 'GNOME') {
- my %conf = read_gnomekderc("$::prefix/etc/X11/gdm/gdm.conf", 'daemon');
- text2bool($conf{AutomaticLoginEnable}) && $conf{AutomaticLogin};
- } else { # KDM / MdkKDM
- my %conf = read_gnomekderc("$::prefix/usr/share/config/kdm/kdmrc", 'X-:0-Core');
- text2bool($conf{AutoLoginEnable}) && $conf{AutoLoginUser};
- }
- };
- { autologin => $autologin, desktop => $desktop };
+ my $gdm_file = "$::prefix/etc/X11/gdm/custom.conf";
+ my $sddm_file = "$::prefix/etc/sddm.conf";
+ my $lightdm_conffile = "$::prefix/etc/lightdm/lightdm.conf.d/50-mageia-autologin.conf";
+ my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf";
+ my $autologin_file = "$::prefix/etc/sysconfig/autologin";
+ my $desktop = $desktop{DESKTOP} || first(sessions());
+ my %desktop_to_dm = (
+ GNOME => 'gdm',
+ Plasma => 'sddm',
+ Xfce => 'lightdm',
+ LXDE => 'lxdm',
+ );
+ my $dm =
+ basename(readlink("$::prefix/etc/systemd/system/display-manager.service")) =~ s/(.*)\.service/$1/r ||
+ $desktop_to_dm{$desktop} ||
+ basename(first(available_dms()));
+
+ my $autologin_user;
+ if ($dm eq "gdm") {
+ my %conf = read_gnomekderc($gdm_file, 'daemon');
+ $autologin_user = text2bool($conf{AutomaticLoginEnable}) && $conf{AutomaticLogin};
+ } elsif ($dm eq "sddm") {
+ my %conf = read_gnomekderc($sddm_file, 'Autologin');
+ $autologin_user = $conf{User};
+ } elsif ($dm eq "lightdm") {
+ my %conf = read_gnomekderc($lightdm_conffile, 'Seat:*');
+ $autologin_user = text2bool($conf{'#dummy-autologin'}) && $conf{"autologin-user"};
+ } elsif ($dm eq "lxdm") {
+ my %conf = read_gnomekderc($lxdm_conffile, 'base');
+ $autologin_user = $conf{autologin};
+ $autologin_user =~ s/^.//;
+ } else {
+ my %conf = getVarsFromSh($autologin_file);
+ $autologin_user = text2bool($conf{AUTOLOGIN}) && $conf{USER};
+ }
+
+ { user => $autologin_user, desktop => $desktop, dm => $dm };
+}
+
+sub is_standalone_autologin_needed {
+ my ($dm) = @_;
+ return member($dm, qw(slim xdm));
}
sub set_autologin {
- my ($user, $desktop) = @_;
- my $autologin = bool2text($user);
+ my ($do_pkgs, $autologin, $o_auto) = @_;
+ log::l("set_autologin $autologin->{user} $autologin->{desktop}");
+ my $do_autologin = bool2text($autologin->{user});
+
+ $autologin->{dm} ||= 'xdm';
+ $do_pkgs->ensure_is_installed($autologin->{dm}, undef, $o_auto)
+ or return;
+ if ($autologin->{user} && is_standalone_autologin_needed($autologin->{dm})) {
+ $do_pkgs->ensure_is_installed('autologin', '/usr/bin/startx.autologin', $o_auto)
+ or return;
+ }
- #- Configure KDM / MDKKDM
- eval { update_gnomekderc("$::prefix/usr/share/config/kdm/kdmrc", 'X-:0-Core' => (
- AutoLoginEnable => $autologin,
- AutoLoginUser => $user,
- )) };
+ #- Configure SDDM
+ my $sddm_conffile = "$::prefix/etc/sddm.conf";
+ eval { common::update_gnomekderc_no_create($sddm_conffile, 'Autologin' => (
+ Session => get_session_file_with_extension($autologin->{desktop}),
+ User => $autologin->{user},
+ )) } if -e $sddm_conffile;
#- Configure GDM
- eval { update_gnomekderc("$::prefix/etc/X11/gdm/gdm.conf", daemon => (
- AutomaticLoginEnable => $autologin,
- AutomaticLogin => $user,
- )) };
-
- if ($user) {
- my %l = getVarsFromSh("$::prefix/etc/sysconfig/desktop");
- $l{DESKTOP} = $desktop;
- setVarsInSh("$::prefix/etc/sysconfig/desktop", \%l);
- log::l("cat $::prefix/etc/sysconfig/desktop ($desktop):\n", cat_("$::prefix/etc/sysconfig/desktop"));
- }
+ my $gdm_conffile = "$::prefix/etc/X11/gdm/custom.conf";
+ eval { update_gnomekderc($gdm_conffile, daemon => (
+ AutomaticLoginEnable => $do_autologin,
+ AutomaticLogin => $autologin->{user},
+ )) } if -e $gdm_conffile;
+
+ #- Configure LIGHTDM
+ my $lightdm_conffile = "$::prefix/etc/lightdm/lightdm.conf.d/50-mageia-autologin.conf";
+ eval { update_gnomekderc($lightdm_conffile, 'Seat:*' => (
+ '#dummy-autologin' => $do_autologin,
+ 'autologin-user' => $autologin->{user},
+ 'autologin-session' => get_session_file($autologin->{desktop}),
+ )) } if -e $lightdm_conffile;
+
+ #- Configure LXDM
+ my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf";
+ eval { update_gnomekderc($lxdm_conffile, 'base' => (
+ 'autologin' => $autologin->{user} ? '@' . $autologin->{user} : ''
+ ));
+ if ($autologin->{user} && $autologin->{desktop} && !member($autologin->{desktop}, qw(default failsafe))) {
+ update_gnomekderc($lxdm_conffile, $autologin->{user} => (
+ 'user' => $autologin->{user},
+ 'session' => get_session_file($autologin->{desktop}),
+ )) } } if -e $lxdm_conffile;
+
+ #- Configure XDM
my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin";
- if (member($desktop, 'KDE', 'GNOME')) {
- unlink $xdm_autologin_cfg;
- } else {
+ if (is_standalone_autologin_needed($autologin->{dm})) {
setVarsInShMode($xdm_autologin_cfg, 0644,
- { USER => $user, AUTOLOGIN => bool2yesno($user), EXEC => '/usr/X11R6/bin/startx.autologin' });
+ { USER => $autologin->{user}, AUTOLOGIN => bool2yesno($autologin->{user}), EXEC => '/usr/bin/startx.autologin' });
+ } else {
+ unlink $xdm_autologin_cfg;
+ }
+
+ my $sys_conffile = "$::prefix/etc/sysconfig/desktop";
+ my %desktop = getVarsFromSh($sys_conffile);
+ $desktop{DESKTOP} = $autologin->{desktop};
+ $desktop{DISPLAYMANAGER} = $autologin->{dm};
+ setVarsInSh($sys_conffile, \%desktop);
+ symlinkf("/usr/lib/systemd/system/$autologin->{dm}.service", "$::prefix/etc/systemd/system/display-manager.service");
+
+ if ($autologin->{user}) {
+ my $home = (getpwnam($autologin->{user}))[7];
+ set_window_manager($home, $autologin->{desktop});
+ }
+}
+sub set_window_manager {
+ my ($home, $wm) = @_;
+ log::l("set_window_manager $home $wm");
+ my $p_home = "$::prefix$home";
+
+ #- for KDM/GDM
+ my $wm_number = sessions_with_order()->{$wm} || '';
+ update_gnomekderc("$p_home/.dmrc", 'Desktop', Session => "$wm_number$wm");
+ my $user = find { $home eq $_->[7] } list_passwd();
+ chown($user->[2], $user->[3], "$p_home/.dmrc");
+ chmod(0644, "$p_home/.dmrc");
+
+ #- for startx/autologin
+ {
+ my %l = getVarsFromSh("$p_home/.desktop");
+ $l{DESKTOP} = $wm;
+ setVarsInSh("$p_home/.desktop", \%l);
}
}
@@ -516,16 +985,25 @@ sub rotate_log {
}
sub rotate_logs {
my ($prefix) = @_;
- rotate_log("$prefix/root/drakx/$_") foreach qw(ddebug.log install.log);
+ rotate_log("$prefix/root/drakx/$_") foreach qw(stage1.log ddebug.log install.log updates.log);
}
sub writeandclean_ldsoconf {
my ($prefix) = @_;
my $file = "$prefix/etc/ld.so.conf";
my @l = chomp_(cat_($file));
- @l = grep { !m|^(/usr)?/lib(64)?$| } @l; #- no need to have /lib and /usr/lib in ld.so.conf
- push @l, '/usr/X11R6/lib', if_(arch() =~ /x86_64/, '/usr/X11R6/lib64');
- push @l, grep { -d "$::prefix$_" } '/usr/lib/qt3/lib', if_(arch() =~ /x86_64/, '/usr/lib/qt3/lib64'); #- needed for upgrade where package renaming can cause this to disappear
+
+ my @default = ('/lib', '/usr/lib'); #- no need to have /lib and /usr/lib in ld.so.conf
+ my @suggest = ('/usr/lib/qt3/lib'); #- needed for upgrade where package renaming can cause this to disappear
+
+ if (arch() =~ /x86_64/) {
+ @default = map { $_, $_ . '64' } @default;
+ @suggest = map { $_, $_ . '64' } @suggest;
+ }
+ push @l, grep { -d "$::prefix$_" } @suggest;
+ @l = difference2(\@l, \@default);
+
+ log::l("writeandclean_ldsoconf");
output($file, map { "$_\n" } uniq(@l));
}
@@ -536,7 +1014,7 @@ sub shells() {
sub inspect {
my ($part, $o_prefix, $b_rw) = @_;
- isMountableRW($part) or return;
+ isMountableRW($part) || !$b_rw && isOtherAvailableFS($part) or return;
my $dir = $::isInstall ? "/tmp/inspect_tmp_dir" : "/root/.inspect_tmp_dir";
@@ -546,25 +1024,41 @@ sub inspect {
$dir = '';
} else {
mkdir $dir, 0700;
- eval { fs::mount($part->{device}, $dir, type2fs($part), !$b_rw) };
+ eval { fs::mount::mount(fs::wild_device::from_part('', $part), $dir, $part->{fs_type}, !$b_rw) };
$@ and return;
}
my $h = before_leaving {
if (!$part->{isMounted} && $dir) {
- fs::umount($dir);
- unlink($dir)
+ fs::mount::umount($dir);
+ unlink($dir);
}
};
$h->{dir} = $dir;
$h;
}
-sub ask_users {
- my ($in, $users, $security) = @_;
+sub ask_user {
+ my ($in, $users, $security, %options) = @_;
+
+ ask_user_and_root($in, undef, $users, $security, %options);
+}
+
+sub is_xguest_installed() {
+ -e "$::prefix/etc/security/namespace.d/xguest.conf";
+}
+
+sub ask_user_and_root {
+ my ($in, $superuser, $users, $security, %options) = @_;
- my $u if 0; $u ||= {};
+ my $xguest = is_xguest_installed();
+
+ $options{needauser} ||= $security >= 3;
my @icons = facesnames();
+ my @suggested_names = $::isInstall ? do {
+ my @l = grep { !/^\./ && $_ ne 'lost+found' && -d "$::prefix/home/$_" } all("$::prefix/home");
+ grep { ! defined getpwnam($_) } @l;
+ } : ();
my %high_security_groups = (
xgrp => N("access to X programs"),
@@ -574,63 +1068,175 @@ sub ask_users {
ntools => N("access to network tools"),
ctools => N("access to compilation tools"),
);
- while (1) {
- $u->{password2} ||= $u->{password} ||= '';
- $u->{shell} ||= '/bin/bash';
- my $names = @$users ? N("(already added %s)", join(", ", map { $_->{realname} || $_->{name} } @$users)) : '';
-
- my %groups;
- my $verif = sub {
- $u->{password} eq $u->{password2} or $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]), return 1,2;
- $security > 3 && length($u->{password}) < 6 and $in->ask_warn('', N("This password is too simple")), return 1,2;
- $u->{name} or $in->ask_warn('', N("Please give a user name")), return 1,0;
- $u->{name} =~ /^[a-z]+?[a-z0-9_-]*?$/ or $in->ask_warn('', N("The user name must contain only lower cased letters, numbers, `-' and `_'")), return 1,0;
- length($u->{name}) <= 32 or $in->ask_warn('', N("The user name is too long")), return 1,0;
- member($u->{name}, 'root', map { $_->{name} } @$users) and $in->ask_warn('', N("This user name has already been added")), return 1,0;
- return 0;
- };
- my $ret = $in->ask_from_(
- { title => N("Add user"),
- messages => N("Enter a user\n%s", $names),
- interactive_help_id => 'addUser',
- focus_first => 1,
- if_(!$::isInstall, ok => N("Done")),
- cancel => N("Accept user"),
- callbacks => {
- focus_out => sub {
- if ($_[0] eq '0') {
- $u->{name} ||= lc first($u->{realname} =~ /([\w-]+)/);
- }
- },
- complete => sub { $u->{name} ? &$verif : 0 },
- canceled => $verif,
- ok_disabled => sub { $security >= 4 && !@$users },
- } }, [
- { label => N("Real name"), val => \$u->{realname} },
- { label => N("User name"), val => \$u->{name} },
- { label => N("Password"),val => \$u->{password}, hidden => 1 },
- { label => N("Password (again)"), val => \$u->{password2}, hidden => 1 },
- { label => N("Shell"), val => \$u->{shell}, list => [ shells() ], not_edit => !$::expert, advanced => 1 },
- if_($security <= 3 && @icons,
- { label => N("Icon"), val => \ ($u->{icon} ||= 'man'), list => \@icons, icon2f => \&face2png, format => \&translate },
- ),
- if_($security > 3,
- map {
- { label => $_, val => \$groups{$_}, text => $high_security_groups{$_}, type => 'bool' }
- } keys %high_security_groups,
- ),
- ],
- );
- $u->{groups} = [ grep { $groups{$_} } keys %groups ];
-
- push @$users, $u if $u->{name};
- $u = {};
- $ret and return;
+
+ my $u = {};
+ $u->{password2} ||= $u->{password} ||= '';
+ $u->{shell} ||= '/bin/bash';
+ my $names = @$users ? N("(already added %s)", join(", ", map { $_->{realname} || $_->{name} } @$users)) : '';
+
+ my %groups;
+
+ require authentication;
+ my $validate_name = sub {
+ $u->{name} or $in->ask_warn('', N("Please give a user name")), return;
+ $u->{name} =~ /^[a-z]+[a-z0-9_-]*$/ or $in->ask_warn('', N("The user name must start with a lower case letter followed by only lower cased letters, numbers, `-' and `_'")), return;
+ length($u->{name}) <= 32 or $in->ask_warn('', N("The user name is too long")), return;
+ defined getpwnam($u->{name}) || member($u->{name}, map { $_->{name} } @$users) and $in->ask_warn('', N("This user name has already been added")), return;
+ 'ok';
+ };
+ my $validate_uid_gid = sub {
+ my ($field) = @_;
+ my $id = $u->{$field} or return 'ok';
+ my $name = $field eq 'uid' ? N("User ID") : N("Group ID");
+ $id =~ /^\d+$/ or $in->ask_warn('', N("%s must be a number", $name)), return;
+ $id >= 1000 or $in->ask_yesorno('', N("%s should be above 1000. Accept anyway?", $name)) or return;
+ 'ok';
+ };
+ my $ret = $in->ask_from_(
+ { title => N("User management"),
+ interactive_help_id => 'addUser',
+ if_($::isInstall && $superuser, cancel => ''),
+ }, [
+ $superuser ? (
+ if_(0,
+ { text => N("Enable guest account"), val => \$xguest, type => 'bool', advanced => 1 },
+ ),
+ { label => N("Set administrator (root) password"), title => 1 },
+ { label => N("Password"), val => \$superuser->{password}, hidden => 1, alignment => 'right', weakness_check => 1,
+ focus => sub { 1 },
+ validate => sub { authentication::check_given_password($in, $superuser, 2 * $security) } },
+ { label => N("Password (again)"), val => \$superuser->{password2}, hidden => 1, alignment => 'right' },
+ ) : (),
+ { label => N("Enter a user"), title => 1 }, if_($names, { label => $names }),
+ if_($security <= 3 && !$options{noicons} && @icons,
+ { label => N("Icon"), val => \ ($u->{icon} ||= 'default'), list => \@icons, icon2f => \&face2png,
+ alignment => 'right', format => \&translate },
+ ),
+ { label => N("Real name"), val => \$u->{realname}, alignment => 'right', focus_out => sub {
+ $u->{name} ||= lc(Locale::gettext::iconv($u->{realname}, "utf-8", "ascii//TRANSLIT"));
+ $u->{name} =~ s/[^a-zA-Z0-9_-]//g; # drop any character that would break login program
+ },
+ focus => sub { !$superuser },
+ },
+
+ { label => N("Login name"), val => \$u->{name}, list => \@suggested_names, alignment => 'right',
+ not_edit => 0, validate => $validate_name },
+ { label => N("Password"),val => \$u->{password}, hidden => 1, alignment => 'right', weakness_check => 1,
+ validate => sub { authentication::check_given_password($in, $u, $security > 3 ? 6 : 0) } },
+ { label => N("Password (again)"), val => \$u->{password2}, hidden => 1, alignment => 'right' },
+ { label => N("Shell"), val => \$u->{shell}, list => [ shells() ], advanced => 1 },
+ { label => N("User ID"), val => \$u->{uid}, advanced => 1, validate => sub { $validate_uid_gid->('uid') } },
+ { label => N("Group ID"), val => \$u->{gid}, advanced => 1, validate => sub { $validate_uid_gid->('gid') } },
+ if_($security >= 1,
+ { label => N("Extra Groups:"), advanced => 1, title => 1 },
+ map {
+ { label => $_, val => \$groups{$_}, text => $high_security_groups{$_}, type => 'bool', advanced => 1 };
+ } keys %high_security_groups,
+ ),
+ ],
+ );
+
+ if ($xguest && !is_xguest_installed()) {
+ $in->do_pkgs->ensure_is_installed('xguest', '/etc/security/namespace.d/xguest.conf');
+ } elsif (!$xguest && is_xguest_installed()) {
+ $in->do_pkgs->remove('xguest') or return;
}
+
+ $u->{groups} = [ grep { $groups{$_} } keys %groups ];
+
+ push @$users, $u if $u->{name};
+
+ $ret && $u;
}
sub sessions() {
- split(' ', run_program::rooted_get_stdout($::prefix, '/usr/sbin/chksession', '-l'));
+ my @l;
+ my @dir_wm = qw(xsessions wayland-sessions);
+ foreach my $dwm (@dir_wm) {
+ push @l, map { s/.desktop$//; basename($_) } glob("$::prefix/usr/share/$dwm/*.desktop");
+ }
+ @l;
+}
+sub sessions_with_order() {
+ my %h = map { /(.*)=(.*)/ } split(' ', run_program::rooted_get_stdout($::prefix, '/usr/sbin/chksession', '-L'));
+ \%h;
+}
+
+sub urpmi_add_all_media {
+ my ($in, $o_previous_release, $o_mirror_url) = @_;
+
+ $o_mirror_url = undef if $o_mirror_url eq '$MIRRORLIST';
+
+ my $binary = find { whereis_binary($_, $::prefix) } if_(check_for_xserver(), 'gurpmi.addmedia'), 'urpmi.addmedia';
+ if (!$binary) {
+ log::l("urpmi.addmedia not found!");
+ return;
+ }
+
+ #- configure urpmi media if network is up
+ require network::tools;
+ if (!network::tools::has_network_connection()) {
+ log::l("no network connexion!");
+ return;
+ }
+ # First remove all media:
+ run_program::rooted($::prefix, 'urpmi.removemedia', '-a');
+ # Then add online media:
+ my $wait;
+ my @options = $o_mirror_url ? ( '--distrib', $o_mirror_url) : ('--distrib', '--mirrorlist', '$MIRRORLIST');
+ if ($binary eq 'urpmi.addmedia') {
+ $wait = $in->wait_message(N("Please wait"), N("Please wait, adding media..."));
+ } elsif ($in->isa('interactive::gtk')) {
+ push @options, '--silent-success';
+ mygtk3::flush();
+ }
+
+ my $reason = join(',', $o_previous_release ?
+ ('reason=upgrade', 'upgrade_by=drakx', "upgrade_from=$o_previous_release->{version}") :
+ 'reason=install');
+ log::l("URPMI_ADDMEDIA_REASON $reason");
+ local $ENV{URPMI_ADDMEDIA_REASON} = $reason;
+
+ my $log_file = '/root/drakx/updates.log';
+ my $val = run_program::rooted($::prefix, $binary, '>>', $log_file, '2>>', $log_file, @options);
+
+ undef $wait;
+ $val;
+}
+
+sub urpmi_set_downloader {
+ my ($in, $urpm, $downloader) = @_;
+
+ if ($urpm->{global_config}{downloader} ne $downloader) {
+ my $binary = $downloader eq 'aria2' ? 'aria2c' : $downloader;
+ if ($in->do_pkgs->ensure_binary_is_installed($downloader, $binary, 1)) {
+ log::l("Setting urpmi downloader to '$downloader'");
+ $urpm->{global_config}{downloader} = $downloader;
+ urpm::media::write_config($urpm);
+ } else {
+ return;
+ }
+ }
+ 1;
+}
+
+sub format_wm {
+ my ($wm) = @_;
+ return {
+ cinnamon => 'Cinnamon',
+ enlightenment => 'Enlightenment',
+ 'gnome-classic' => 'GNOME Classic',
+ gnome => 'GNOME',
+ i3 => 'I3',
+ 'i3-with-shmlog' => 'I3 with shmlog',
+ lxqt => 'LxQt',
+ mate => 'Mate',
+ openbox => 'OpenBox',
+ 'plasma-mediacenter' => 'Plasma Mediacenter',
+ '01plasma' => 'Plasma',
+ sugar => 'Sugar',
+ xfce => 'Xfce',
+ }->{$wm};
}
sub autologin {
@@ -639,8 +1245,9 @@ sub autologin {
my @wm = sessions();
my @users = map { $_->{name} } @{$o->{users} || []};
- if (member('KDE', @wm) && @users == 1 && $o->{meta_class} eq 'desktop') {
- $o->{desktop} = 'KDE';
+ my $kde_desktop = find { member($_, 'KDE', 'KDE4') } @wm;
+ if ($kde_desktop && @users == 1 && $o->{meta_class} eq 'desktop') {
+ $o->{desktop} = $kde_desktop;
$o->{autologin} = $users[0];
} elsif (@wm > 1 && @users && !$o->{authentication}{NIS} && $o->{security} <= 2) {
my $use_autologin = @users == 1;
@@ -648,9 +1255,9 @@ sub autologin {
$in->ask_from_(
{ title => N("Autologin"),
messages => N("I can set up your computer to automatically log on one user.") },
- [ { label => N("Do you want to use this feature?"), val => \$use_autologin, type => 'bool' },
+ [ { text => N("Use this feature"), val => \$use_autologin, type => 'bool' },
{ label => N("Choose the default user:"), val => \$o->{autologin}, list => \@users, disabled => sub { !$use_autologin } },
- { label => N("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm, disabled => sub { !$use_autologin } } ]
+ { label => N("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm, disabled => sub { !$use_autologin }, format => \&format_wm } ]
);
delete $o->{autologin} if !$use_autologin;
} else {
@@ -658,192 +1265,338 @@ sub autologin {
}
}
-sub selectLanguage {
- my ($in, $lang, $langs_) = @_;
+sub display_release_notes {
+ my ($in, $release_notes) = @_;
+ if (!$in->isa('interactive::gtk')) {
+ $in->ask_from_({ title => N("Release Notes"),
+ messages => $release_notes,
+ }, [ {} ]);
+ return;
+ }
+
+ require Gtk3::WebKit2;
+ Gtk3::WebKit2->import;
+ require ugtk3;
+ ugtk3->import(':all');
+ require mygtk3;
+ mygtk3->import('gtknew');
+ my $view = gtknew('WebKit2_WebView', no_popup_menu => 1);
+ $view->load_html($release_notes, '/');
+
+ my $w = ugtk3->new(N("Release Notes"), transient => $::main_window, modal => 1, pop_it => 1);
+ gtkadd($w->{rwindow},
+ gtkpack_(Gtk3::VBox->new,
+ 1, create_scrolled_window(ugtk3::gtkset_border_width($view, 5),
+ [ 'never', 'automatic' ],
+ ),
+ 0, gtkpack(create_hbox('end'),
+ gtknew('Button', text => N("Close"),
+ clicked => sub { Gtk3->main_quit })
+ ),
+ ),
+ );
+ mygtk3::set_main_window_size($w->{rwindow});
+ $w->{real_window}->grab_focus;
+ $w->{real_window}->show_all;
+ $w->main;
+ return;
+}
- my $common = { messages => N("Please choose a language to use."),
- title => 'language choice',
- interactive_help_id => 'selectLanguage' };
+sub get_release_notes {
+ my ($in) = @_;
+ my $ext = $in->isa('interactive::gtk') ? '.html' : '.txt';
+ my $separator = $in->isa('interactive::gtk') ? "\n\n" : '';
+
+ my $release_notes = join($separator, grep { $_ } map {
+ if ($::isInstall) {
+ my $f = install::any::getFile_($::o->{stage2_phys_medium}, $_);
+ $f && cat__($f);
+ } else {
+ my $file = $_;
+ my $d = find { -e "$_/$file" } glob_("/usr/share/doc/*-release-*");
+ $d && cat_("$d/$file");
+ }
+ } "release-notes$ext", 'release-notes.' . $ext);
+
+ # we do not handle links:
+ $release_notes =~ s!<a href=".*?">(.*?)</a>!$1!g;
+ $release_notes;
+}
+
+sub run_display_release_notes {
+ my ($release_notes) = @_;
+ output('/tmp/release_notes.html', $release_notes);
+ local $ENV{LC_ALL} = $::o->{locale}{lang} || 'C';
+ run_program::raw({ detach => 1 }, '/usr/bin/display_release_notes.pl');
+}
+
+sub acceptLicense {
+ my ($in) = @_;
+ require messages;
+
+ my $release_notes = get_release_notes($in);
+
+ my $r = $::testing ? 'Accept' : 'Refuse';
+
+ $in->ask_from_({ title => N("License agreement"),
+ focus_first => 1,
+ cancel => N("Quit"),
+ messages => formatAlaTeX(messages::main_license()),
+ interactive_help_id => 'acceptLicense',
+ callbacks => { ok_disabled => sub { $r eq 'Refuse' } },
+ },
+
+ [
+ { label => N("Do you accept this license ?"), title => 1, alignment => 'right' },
+ { list => [ N_("Accept"), N_("Refuse") ], val => \$r, type => 'list', alignment => 'right',
+ format => sub { translate($_[0]) } },
+ if_($release_notes,
+ { clicked => sub { run_display_release_notes($release_notes) }, do_not_expand => 1,
+ val => \ (my $_t1 = N("Release Notes")), install_button => 1, no_indent => 1 }
+ ),
+ ])
+ or reboot();
+}
+sub reboot() {
if ($::isInstall) {
- my $langs = $langs_ || {};
- my $using_images = $in->isa('interactive::gtk') && listlength(cat_('/proc/fb'));
+ my $o = $::o;
+ install::media::umount_phys_medium($o->{stage2_phys_medium});
+ install::media::openCdromTray($o->{stage2_phys_medium}{device}) if !detect_devices::is_xbox() && $o->{method} eq 'cdrom';
+ $o->exit;
+ } else {
+ # when refusing license in finish-install:
+ exec("/bin/reboot");
+ }
+}
- #- to create the default value, use the first location for that value :/
- $lang = first(lang::l2location($lang))."|$lang";
+sub selectLanguage_install {
+ my ($in, $locale) = @_;
+
+ my $common = {
+ title => N("Please choose a language to use"),
+ interactive_help_id => 'selectLanguage' };
+
+ my $lang = $locale->{lang};
+ my $langs = $locale->{langs} ||= {};
+ my $using_images = $in->isa('interactive::gtk') && !$::o->{vga16};
- my %name2l = map { lang::l2name($_) => $_ } lang::list_langs();
- my $listval2val = sub { $1 if $_[0] =~ /\|(.*)/ };
+ my %name2l = map { lang::l2name($_) => $_ } lang::list_langs();
+ my $listval2val = sub { $_[0] =~ /\|(.*)/ ? $1 : $_[0] };
+
+ #- since gtk version will use images (function image2f) we need to sort differently
+ my $sort_func = $using_images ? \&lang::l2transliterated : \&lang::l2name;
+ my @langs = sort { $sort_func->($a) cmp $sort_func->($b) } lang::list_langs();
- my @langs = map { my $l = $_; map { [ "$_|$l", $_, $l ] } lang::l2location($l) } lang::list_langs();
- #- since gtk version will use images (function image2f) we need to sort differently
- my $sort_func = $using_images ? \&lang::l2transliterated : \&lang::l2name;
- @langs = map { $_->[0] } sort { $a->[1] cmp $b->[1] || $sort_func->($a->[2]) cmp $sort_func->($b->[2]) } @langs;
+ if (@langs > 15) {
+ my $add_location = sub {
+ my ($l) = @_;
+ map { "$_|$l" } lang::l2location($l);
+ };
+ @langs = map { $add_location->($_) } @langs;
+
+ #- to create the default value, use the first location for that value :/
+ $lang = first($add_location->($lang));
+ }
- add2hash($common, { cancel => '',
- advanced_messages => formatAlaTeX(N("Mandrake Linux can support multiple languages. Select
+ my $non_utf8 = 0;
+ add2hash($common, { cancel => '',
+ focus_first => 1,
+ advanced_messages => formatAlaTeX(N("%s can support multiple languages. Select
the languages you would like to install. They will be available
-when your installation is complete and you restart your system.")),
- callbacks => { advanced => sub { $langs->{$listval2val->($lang)} = 1 } } });
+when your installation is complete and you restart your system.", N("Mageia"))),
+ advanced_label => N("Multiple languages"),
+ advanced_title => N("Select Additional Languages"),
+ });
- $in->ask_from_($common,
- [ { val => \$lang, separator => '|',
- if_($using_images, image2f => sub { $name2l{$_[0]} =~ /^[a-z]/ ? ('', "langs/lang-$name2l{$_[0]}") : $_[0] }),
- format => sub { $1.lang::l2name($2) if $_[0] =~ /(.*\|)(.*)/ },
- list => \@langs, sort => 0 },
- if_($langs_, if_($::isInstall,
- { val => \$in->{locale}{utf8}, type => 'bool', text => N("Use Unicode by default"), advanced => 1 }),
- { val => \$langs->{all}, type => 'bool', text => N("All languages"), advanced => 1 },
- map {
- { val => \$langs->{$_->[0]}, type => 'bool', disabled => sub { $langs->{all} },
- text => $_->[1], advanced => 1,
- image => "langs/lang-$_->[0]",
- }
- } sort { $a->[1] cmp $b->[1] } map { [ $_, $sort_func->($_) ] } lang::list_langs())
- ]) or return;
- $langs->{$listval2val->($lang)} = 1;
- $langs->{$_} or delete $langs->{$_} foreach keys %$langs; #- clean hash
+ $in->ask_from_($common, [
+ { val => \$lang, separator => '|',
+ if_($using_images, image2f => sub { $name2l{$_[0]} =~ /^[a-z]/ && "langs/lang-$name2l{$_[0]}" }),
+ format => sub { $_[0] =~ /(.*\|)(.*)/ ? $1 . lang::l2name($2) : lang::l2name($_[0]) },
+ list => \@langs, sort => !$in->isa('interactive::gtk'),
+ focus_out => sub { $langs->{$listval2val->($lang)} = 1 } },
+ { val => \$non_utf8, type => 'bool', text => N("Old compatibility (non UTF-8) encoding"), advanced => 1 },
+ { val => \$langs->{all}, type => 'bool', text => N("All languages"), advanced => 1 },
+ map {
+ { val => \$langs->{$_->[0]}, type => 'bool', disabled => sub { $langs->{all} },
+ text => $_->[1], advanced => 1,
+ image => "langs/lang-$_->[0]",
+ };
+ } sort { $a->[1] cmp $b->[1] } map { [ $_, $sort_func->($_) ] } lang::list_langs(),
+ ]) or return;
+ $locale->{utf8} = !$non_utf8;
+ %$langs = grep_each { $::b } %$langs; #- clean hash
+ $langs->{$listval2val->($lang)} = 1;
- #- convert to the default locale for asked language
- $listval2val->($lang);
+ #- convert to the default locale for asked language
+ $locale->{lang} = $listval2val->($lang);
+ lang::lang_changed($locale);
+}
- } else {
- my @langs = sort { lang::l2name($a) cmp lang::l2name($b) } lang::list_langs(exclude_non_installed => 1);
- die 'one lang only' if @langs == 1;
- $in->ask_from_($common,
- [ { val => \$lang, type => 'list',
- format => sub { lang::l2name($_[0]) }, list => \@langs } ]) or return;
- $lang;
+sub selectLanguage_standalone {
+ my ($in, $locale) = @_;
+
+ my $old_lang = $locale->{lang};
+ my $common = { messages => N("Please choose a language to use"),
+ title => N("Language choice"),
+ interactive_help_id => 'selectLanguage' };
+
+ my @langs = sort { lang::l2name($a) cmp lang::l2name($b) } lang::list_langs(exclude_non_installed => 1);
+ my $non_utf8 = !$locale->{utf8};
+ $in->ask_from_($common, [
+ { val => \$locale->{lang}, type => 'list',
+ format => sub { lang::l2name($_[0]) }, list => \@langs, allow_empty_list => 1 },
+ { val => \$non_utf8, type => 'bool', text => N("Old compatibility (non UTF-8) encoding"), advanced => 1 },
+ ]);
+ $locale->{utf8} = !$non_utf8;
+ lang::set($locale);
+ c::init_setlocale() if $in->isa('interactive::gtk');
+ lang::lang_changed($locale) if $old_lang ne $locale->{lang};
+}
+
+sub selectLanguage_and_more_standalone {
+ my ($in, $locale) = @_;
+ eval {
+ local $::isWizard = 1;
+ language:
+ # keep around previous settings so that selectLanguage can keep UTF-8 flag:
+ local $::Wizard_no_previous = 1;
+ selectLanguage_standalone($in, $locale);
+ undef $::Wizard_no_previous;
+ selectCountry($in, $locale) or goto language;
+ };
+ if ($@) {
+ if ($@ !~ /wizcancel/) {
+ die;
+ } else {
+ $in->exit(0);
+ }
}
}
sub selectCountry {
- my ($o, $locale) = @_;
+ my ($in, $locale) = @_;
my $country = $locale->{country};
- my @countries = lang::list_countries(exclude_non_installed => !$::isInstall);
- my @best = uniq map { if_((/^\Q$locale->{lang}/ || substr($_, 0, 2) eq substr($locale->{lang}, 0, 2))
- && /.._(..)/, $1) } @lang::locales;
+ my $country2locales = lang::countries_to_locales(exclude_non_installed => !$::isInstall);
+ my @countries = keys %$country2locales;
+ my @best = grep {
+ find {
+ $_->{main} eq lang::locale_to_main_locale($locale->{lang});
+ } @{$country2locales->{$_}};
+ } @countries;
@best == 1 and @best = ();
- my ($other, $ext_country);
- member($country, @best) or ($ext_country, $country) = ($country, $ext_country);
- $o->ask_from_(
+ my $other = !member($country, @best);
+ my $ext_country = $country;
+ $other and @best = ();
+
+ $in->ask_from_(
{ title => N("Country / Region"),
- messages => N("Please choose your country."),
- interactive_help_id => 'selectCountry',
- advanced_messages => N("Here is the full list of available countries"),
- advanced_label => N("More"),
- advanced_state => $ext_country && scalar(@best),
- callbacks => { changed => sub { $other = $_[0] == 1 } },
+ messages => N("Please choose your country"),
+ interactive_help_id => 'selectCountry.html',
+ if_(@best, advanced_messages => N("Here is the full list of available countries")),
+ advanced_label => @best ? N("Other Countries") : N("Advanced"),
},
[ if_(@best, { val => \$country, type => 'list', format => \&lang::c2name,
- list => \@best, sort => 1 }),
+ list => \@best, sort => 1, changed => sub { $other = 0 } }),
{ val => \$ext_country, type => 'list', format => \&lang::c2name,
- list => [ difference2(\@countries, \@best) ], advanced => scalar(@best) }
- ]) or return;
+ list => [ @countries ], advanced => scalar(@best), changed => sub { $other = 1 } },
+ { val => \$locale->{IM}, type => 'combo', label => N("Input method:"),
+ sort => 0, separator => '|',
+ list => [ '', lang::get_ims($locale->{lang}) ],
+ format => sub { $_[0] ? uc($_[0] =~ /(.*)\+(.*)/ ? "$1|$1+$2" : $_[0]) : N("None") },
+ advanced => !$locale->{IM},
+ },
+ ]) or return;
$locale->{country} = $other || !@best ? $ext_country : $country;
}
-sub write_passwd_user {
- my ($u, $isMD5) = @_;
-
- $u->{pw} = $u->{password} ? &crypt($u->{password}, $isMD5) : $u->{pw} || '';
- $u->{shell} ||= '/bin/bash';
-
- substInFile {
- my $l = unpack_passwd($_);
- if ($l->{name} eq $u->{name}) {
- add2hash_($u, $l);
- $_ = pack_passwd($u);
- $u = {};
- }
- if (eof && $u->{name}) {
- $_ .= pack_passwd($u);
- }
- } "$::prefix/etc/passwd";
-}
-
sub set_login_serial_console {
my ($port, $speed) = @_;
- my $line = "s$port:12345:respawn:/sbin/getty ttyS$port DT$speed ansi\n";
+ my $line = "s$port:12345:respawn:/sbin/agetty ttyS$port $speed ansi\n";
substInFile { s/^s$port:.*//; $_ = $line if eof } "$::prefix/etc/inittab";
}
-sub report_bug {
- my ($prefix, @other) = @_;
-
- sub header { "
+sub header { "
********************************************************************************
* $_[0]
********************************************************************************";
- }
+}
+
+sub fdisk() {
+ my @devs = grep { !m!^/dev/(loop|ram)\d+! && !/\d$/ } map { "/dev/$_->{dev}" } fs::proc_partitions::read_raw();
+ `fdisk -l @devs`;
+
+}
+
+sub report_bug {
+ my (@other) = @_;
join '', map { chomp; "$_\n" }
header("lspci"), detect_devices::stringlist(),
+ header("hid_devices"), (map { sprintf("%-16s: %s", $_->{driver} || "unknown", $_->{description}) } c::hid_probe()),
+ header("input devices"), cat_("/proc/bus/input/devices"),
+ header("libinput devices"), `libinput list-devices`,
header("pci_devices"), cat_("/proc/bus/pci/devices"),
- header("dmidecode"), `$ENV{LD_LOADER} dmidecode`,
- header("fdisk"), arch() =~ /ppc/ ? `$ENV{LD_LOADER} pdisk -l` : `$ENV{LD_LOADER} fdisk -l`,
+ header("dmidecode"), arch() =~ /86/ ? `dmidecode` : (),
+ header("fdisk"), fdisk(),
header("scsi"), cat_("/proc/scsi/scsi"),
+ header("/sys/bus/scsi/devices"), -d '/sys/bus/scsi/devices' ? `ls -l /sys/bus/scsi/devices` : (),
header("lsmod"), cat_("/proc/modules"),
header("cmdline"), cat_("/proc/cmdline"),
- header("pcmcia: stab"), cat_("$prefix/var/lib/pcmcia/stab") || cat_("$prefix/var/run/stab"),
- header("usb"), cat_("/proc/bus/usb/devices"),
+ header("pcmcia: stab"), cat_("$::prefix/var/lib/pcmcia/stab") || cat_("$::prefix/var/run/stab"),
+ header("usb"), cat_("/sys/kernel/debug/usb/devices"),
header("partitions"), cat_("/proc/partitions"),
+ header("PVs"), `pvs`,
+ header("VGs"), `vgs`,
+ header("LVs"), `lvs`,
+ header("dmsetup info"), `dmsetup info`,
+ header("dmsetup table"), `dmsetup table`,
+ header("dmsetup ls"), `dmsetup ls`,
header("cpuinfo"), cat_("/proc/cpuinfo"),
- header("syslog"), cat_("/tmp/syslog") || cat_("$prefix/var/log/syslog"),
- header("ddcxinfos"), ddcxinfos(),
- header("stage1.log"), cat_("/tmp/stage1.log") || cat_("$prefix/root/drakx/stage1.log"),
- header("ddebug.log"), cat_("/tmp/ddebug.log") || cat_("$prefix/root/drakx/ddebug.log"),
- header("install.log"), cat_("$prefix/root/drakx/install.log"),
- header("fstab"), cat_("$prefix/etc/fstab"),
- header("modules.conf"), cat_("$prefix/etc/modules.conf"),
- header("lilo.conf"), cat_("$prefix/etc/lilo.conf"),
- header("menu.lst"), cat_("$prefix/boot/grub/menu.lst"),
- header("XF86Config"), cat_("$prefix/etc/X11/XF86Config"),
- header("XF86Config-4"), cat_("$prefix/etc/X11/XF86Config-4"),
- header("/etc/modules"), cat_("$prefix/etc/modules"),
- header("sysconfig/i18n"), cat_("$prefix/etc/sysconfig/i18n"),
+ header("syslog"), cat_("/tmp/syslog") || cat_("$::prefix/var/log/syslog") || `journalctl -q -D $::prefix/var/log/journal -b`,
+ header("Xorg.log"), cat_("/var/log/Xorg.0.log"),
+ header("monitor_full_edid"), monitor_full_edid(),
+ header("stage1.log"), cat_("/tmp/stage1.log") || cat_("$::prefix/root/drakx/stage1.log"),
+ header("ddebug.log"), cat_("/tmp/ddebug.log") || cat_("$::prefix/root/drakx/ddebug.log"),
+ header("install.log"), cat_("$::prefix/root/drakx/install.log"),
+ header("draklive-install.log"), cat_("/tmp/draklive-install.log") || cat_("$::prefix/root/drakx/draklive-install.log"),
+ header("fstab"), cat_("$::prefix/etc/fstab"),
+ header("modprobe.conf"), cat_("$::prefix/etc/modprobe.conf"),
+ header("lilo.conf"), cat_("$::prefix/etc/lilo.conf"),
+ header("grub: menu.lst"), join('', map { s/^(\s*password)\s+(.*)/$1 xxx/; $_ } cat_("$::prefix/boot/grub/menu.lst")),
+ header("grub: install.sh"), cat_("$::prefix/boot/grub/install.sh"),
+ header("grub: device.map"), cat_("$::prefix/boot/grub/device.map"),
+ header("grub2: grub"), cat_("$::prefix/etc/default/grub"),
+ header("grub2: grub.cfg"), join('', map { s/^(\s*password_pbkdf2)\s+grub.pbkdf2.*/$1 xxx/; $_ } cat_("$::prefix/boot/grub2/grub.cfg")),
+ header("grub2: install.sh"), cat_("$::prefix/boot/grub2/install.sh"),
+ header("xorg.conf"), cat_("$::prefix/etc/X11/xorg.conf"),
+ header("urpmi.cfg"), cat_("$::prefix/etc/urpmi/urpmi.cfg"),
+ header("modprobe.preload"), cat_("$::prefix/etc/modprobe.preload"),
+ header("sysconfig/i18n"), cat_("$::prefix/etc/sysconfig/i18n"),
+ header("locale.conf"), cat_("$::prefix/etc/locale.conf"),
+ header("/proc/iomem"), cat_("/proc/iomem"),
+ header("/proc/ioport"), cat_("/proc/ioports"),
map_index { even($::i) ? header($_) : $_ } @other;
}
-sub devfssymlinkf {
- my ($if_struct, $of) = @_;
- my $if = $if_struct->{device};
-
- my $devfs_if = $if_struct->{devfs_device};
- $devfs_if ||= devices::to_devfs($if);
- $devfs_if ||= $if;
-
- #- example: $of is mouse, $if is usbmouse, $devfs_if is input/mouse0
-
- output_p("$::prefix/etc/devfs/conf.d/$of.conf",
-"REGISTER ^$devfs_if\$ CFUNCTION GLOBAL mksymlink $devfs_if $of
-UNREGISTER ^$devfs_if\$ CFUNCTION GLOBAL unlink $of
-");
-
- output_p("$::prefix/etc/devfs/conf.d/$if.conf",
-"REGISTER ^$devfs_if\$ CFUNCTION GLOBAL mksymlink $devfs_if $if
-UNREGISTER ^$devfs_if\$ CFUNCTION GLOBAL unlink $if
-") if $devfs_if ne $if && $if !~ /^hd[a-z]/ && $if !~ /^scd/ && $if !~ /^sd[a-z]/;
+sub fix_broken_alternatives {
+ my ($force_default) = @_;
+ #- fix bad update-alternatives that may occurs after upgrade (and sometimes for install too).
+ -d "$::prefix/etc/alternatives" or return;
- #- when creating a symlink on the system, use devfs name if devfs is mounted
- symlinkf($devfs_if, "$::prefix/dev/$if") if $devfs_if ne $if && detect_devices::dev_is_devfs();
- symlinkf($if, "$::prefix/dev/$of");
-}
-sub devfs_rawdevice {
- my ($if_struct, $of) = @_;
-
- my $devfs_if = $if_struct->{devfs_device};
- $devfs_if ||= devices::to_devfs($if_struct->{device});
- $devfs_if ||= $if_struct->{device};
-
- output_p("$::prefix/etc/devfs/conf.d/$of.conf",
-"REGISTER ^$devfs_if\$ EXECUTE /etc/dynamic/scripts/rawdevice.script add /dev/$devfs_if /dev/$of
-UNREGISTER ^$devfs_if\$ EXECUTE /etc/dynamic/scripts/rawdevice.script del /dev/$of
-");
+ foreach (all("$::prefix/etc/alternatives")) {
+ if ($force_default) {
+ log::l("setting alternative $_");
+ } else {
+ next if run_program::rooted($::prefix, 'test', '-e', "/etc/alternatives/$_");
+ log::l("fixing broken alternative $_");
+ }
+ run_program::rooted($::prefix, 'update-alternatives', '--auto', $_);
+ }
}
@@ -856,45 +1609,59 @@ sub fileshare_config {
my @l = (N_("No sharing"), N_("Allow all users"), N_("Custom"));
my $restrict = exists $conf{RESTRICT} ? text2bool($conf{RESTRICT}) : 1;
- if ($restrict) {
- #- verify we can export in $type
- my %type2file = (nfs => [ '/etc/init.d/nfs', 'nfs-utils' ], smb => [ '/etc/init.d/smb', 'samba' ]);
- my @wanted = $type ? $type : keys %type2file;
- my @have = grep { -e $type2file{$_}[0] } @wanted;
- if (!@have) {
- if (@wanted == 1) {
- $in->ask_okcancel('', N("The package %s needs to be installed. Do you want to install it?", $type2file{$wanted[0]}[1]), 1) or return;
- } else {
- my $wanted = $in->ask_many_from_list('', N("You can export using NFS or Samba. Please select which you'd like to use."),
- { list => \@wanted }) or return;
- @wanted = @$wanted or return;
- }
- $in->do_pkgs->install(map { $type2file{$_}[1] } @wanted);
- @have = grep { -e $type2file{$_}[0] } @wanted;
- }
- if (!@have) {
- $in->ask_warn('', N("Mandatory package %s is missing", $wanted[0]));
- return;
- }
- }
-
my $r = $in->ask_from_list_('fileshare',
N("Would you like to allow users to share some of their directories?
Allowing this will permit users to simply click on \"Share\" in konqueror and nautilus.
\"Custom\" permit a per-user granularity.
"),
- \@l, $l[$restrict ? 0 : 1]) or return;
+ \@l, $l[$restrict ? (getgrnam('fileshare') ? 2 : 0) : 1]) or return;
$restrict = $r ne $l[1];
+ my $custom = $r eq $l[2];
+ if ($r ne $l[0]) {
+ require services;
+ my %types = (
+ nfs => [ 'nfs-utils', 'nfs-server',
+ N("NFS: the traditional Unix file sharing system, with less support on Mac and Windows.")
+ ],
+ smb => [ 'samba', 'smb',
+ N("SMB: a file sharing system used by Windows, Mac OS X and many modern Linux systems.")
+ ],
+ );
+ my %l;
+ if ($type) {
+ %l = ($type => 1);
+ } else {
+ %l = map_each { $::a => services::starts_on_boot($::b->[1]) } %types;
+ $in->ask_from_({ messages => N("You can export using NFS or SMB. Please select which you would like to use."),
+ callbacks => { ok_disabled => sub { !any { $_ } values %l } },
+ },
+ [ map { { text => $types{$_}[2], val => \$l{$_}, type => 'bool' } } keys %l ]) or return;
+ }
+ foreach (keys %types) {
+ my ($pkg, $service, $_descr) = @{$types{$_}};
+ my $file = "/usr/lib/systemd/system/${service}.service";
+ if ($l{$_}) {
+ $in->do_pkgs->ensure_is_installed($pkg, $file) or return;
+ services::start($service);
+ services::start_service_on_boot($service);
+ } elsif (-e $file) {
+ services::stop($service);
+ services::do_not_start_service_on_boot($service);
+ }
+ }
+ if ($in->do_pkgs->is_installed('nautilus')) {
+ $in->do_pkgs->ensure_is_installed('nautilus-filesharing') or return;
+ }
+ }
$conf{RESTRICT} = bool2yesno($restrict);
-
setVarsInSh($file, \%conf);
- if ($r eq $l[2]) {
- # custom
+
+ if ($custom) {
run_program::rooted($::prefix, 'groupadd', '-r', 'fileshare');
if ($in->ask_from_no_check(
{
- -e '/usr/sbin/userdrake' ? (ok => N("Launch userdrake"), cancel => N("Cancel")) : (cancel => ''),
+ -e '/usr/sbin/userdrake' ? (ok => N("Launch userdrake"), cancel => N("Close")) : (cancel => ''),
messages =>
N("The per-user sharing uses the group \"fileshare\".
You can use userdrake to add a user to this group.")
@@ -904,26 +1671,40 @@ You can use userdrake to add a user to this group.")
}
}
-sub ddcxinfos() {
- return if $::noauto;
-
- my @l;
- run_program::raw({ timeout => 20 }, 'ddcxinfos', '>', \@l);
- if ($::isInstall && -e "/tmp/ddcxinfos") {
- my @l_old = cat_("/tmp/ddcxinfos");
- if (@l < @l_old) {
- log::l("new ddcxinfos is worse, keeping the previous one");
- @l = @l_old;
- } elsif (@l > @l_old) {
- log::l("new ddcxinfos is better, dropping the previous one");
+sub monitor_full_edid() {
+ return if $::noauto || $::local_install;
+
+ my ($vbe, $edid);
+ {
+ # prevent warnings in install's logs:
+ local $ENV{LC_ALL} = 'C';
+ # don't use --try-in-console as it can cause a GNOME session to die (mga#28124)
+ # with most DMs the DE is running in vt1, so it does nothing anyway
+ run_program::raw({ timeout => 20 },
+ 'monitor-edid', '>', \$edid, '2>', \$vbe,
+ '-v', '--perl');
+ }
+ if ($::isInstall) {
+ foreach (['edid', \$edid], ['vbe', \$vbe]) {
+ my ($name, $val) = @$_;
+ if (-e "/tmp/$name") {
+ my $old = cat_("/tmp/$name");
+ if (length($$val) < length($old)) {
+ log::l("new $name is worse, keeping the previous one");
+ $$val = $old;
+ } elsif (length($$val) > length($old)) {
+ log::l("new $name is better, dropping the previous one");
+ }
+ }
+ output("/tmp/$name", $$val);
}
}
- output("/tmp/ddcxinfos", @l) if $::isInstall;
- @l;
+ ($edid, $vbe);
}
+# FIXME: is buggy regarding multiple sessions
sub running_window_manager() {
- my @window_managers = qw(kwin gnome-session icewm wmaker afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce blackbox sawfish olvwm);
+ my @window_managers = qw(drakx-matchbox-window-manager ksmserver kwin kwin_x11 kwin_wayland gnome-session icewm wmaker afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce4-session blackbox sawfish olvwm fluxbox compiz lxsession);
foreach (@window_managers) {
my @pids = fuzzy_pidofs(qr/\b$_\b/) or next;
@@ -932,22 +1713,74 @@ sub running_window_manager() {
undef;
}
+sub set_wm_hints_if_needed {
+ my ($o_in) = @_;
+ my $wm = any::running_window_manager();
+ $o_in->{no_Window_Manager} = !$wm if $o_in;
+ $::set_dialog_hint = $wm eq 'drakx-matchbox-window-manager';
+}
+
sub ask_window_manager_to_logout {
my ($wm) = @_;
my %h = (
+ 'ksmserver' => '/usr/lib/qt4/bin/qdbus org.kde.ksmserver /KSMServer logout 1 0 0',
'kwin' => "dcop kdesktop default logout",
'gnome-session' => "gnome-session-save --kill",
'icewm' => "killall -QUIT icewm",
- 'wmaker' => "killall -USR1 wmaker",
+ 'xfce4-session' => "xfce4-session-logout --logout",
+ 'lxsession' => "lxde-logout",
);
my $cmd = $h{$wm} or return;
- $ENV{ICEAUTHORITY} ||= "$ENV{HOME}/.ICEauthority"; #- used by gnome-session
- $cmd = "su $ENV{USER} -c '$cmd'" if $wm eq 'kwin' && $> == 0;
+ if (member($wm, 'ksmserver', 'kwin', 'gnome-session') && $> == 0) {
+ #- we cannot use dcop when we are root
+ if (my $user = $ENV{USERHELPER_UID} && getpwuid($ENV{USERHELPER_UID})) {
+ $cmd = "su $user -c '$cmd'";
+ } else {
+ log::l('missing or unknown $USERHELPER_UID');
+ }
+ }
system($cmd);
1;
}
+sub ask_window_manager_to_logout_then_do {
+ my ($wm, $pid, $action) = @_;
+ if (fork()) {
+ ask_window_manager_to_logout($wm);
+ return;
+ }
+
+ open STDIN, "</dev/zero";
+ open STDOUT, ">/dev/null";
+ open STDERR, ">&STDERR";
+ c::setsid();
+ exec 'perl', '-e', q(
+ my ($wm, $pid, $action) = @ARGV;
+ my $nb;
+ for ($nb = 30; $nb && -e "/proc/$pid"; $nb--) { sleep 1 }
+ system($action) if $nb;
+ ), $wm, $pid, $action;
+}
+
+sub ask_for_X_restart {
+ my ($in) = @_;
+
+ $::isStandalone && $in->isa('interactive::gtk') or return;
+
+ my ($wm, $pid) = running_window_manager();
+
+ if (!$wm) {
+ # no window manager, ctrl-alt-del may not be supported, but we still have to restart X..
+ $in->ask_okcancel('', N("You need to logout and back in again for changes to take effect. Press OK to logout now."), 1) or return;
+ system('killall', 'Xorg');
+ }
+ else {
+ $in->ask_okcancel('', N("You need to log out and back in again for changes to take effect"), 1) or return;
+ ask_window_manager_to_logout_then_do($wm, $pid, 'killall Xorg');
+ }
+}
+
sub alloc_raw_device {
my ($prefix, $device) = @_;
my $used = 0;
@@ -962,27 +1795,6 @@ sub alloc_raw_device {
$raw_dev;
}
-sub config_dvd {
- my ($prefix, $have_devfsd) = @_;
-
- #- can't have both a devfs and a non-devfs config
- #- the /etc/sysconfig/rawdevices solution gives errors with devfs
-
- my @dvds = grep { detect_devices::isDvdDrive($_) } detect_devices::cdroms__faking_ide_scsi() or return;
-
- log::l("configuring DVD: " . join(" ", map { $_->{device} } @dvds));
- #- create /dev/dvd symlink
- each_index {
- devfssymlinkf($_, 'dvd' . ($::i ? $::i + 1 : ''));
- devfs_rawdevice($_, 'rdvd' . ($::i ? $::i + 1 : '')) if $have_devfsd;
- } @dvds;
-
- if (!$have_devfsd) {
- my $raw_dev = alloc_raw_device($prefix, 'dvd');
- symlink($raw_dev, "$prefix/dev/rdvd");
- }
-}
-
sub config_mtools {
my ($prefix) = @_;
my $file = "$prefix/etc/mtools.conf";
@@ -995,101 +1807,219 @@ sub config_mtools {
} $file;
}
+sub configure_timezone {
+ my ($in, $timezone, $ask_gmt, $o_hide_ntp) = @_;
+
+ require timezone;
+ my $selected_timezone = $in->ask_from_treelist(N("Timezone"), N("Which is your timezone?"), '/', [ timezone::getTimeZones() ], $timezone->{timezone}) or return;
+ $timezone->{timezone} = $selected_timezone;
+
+ configure_time_more($in, $timezone, $o_hide_ntp)
+ or goto &configure_timezone if $ask_gmt || to_bool($timezone->{ntp});
-sub authentication_kinds() {
- ('local', 'LDAP', 'NIS', 'winbind');
-}
-sub authentication_kind2description {
- my ($kind) = @_;
- ${{ local => N("Local files"), LDAP => N("LDAP"), NIS => N("NIS"), winbind => N("Windows Domain") }}{$kind};
-}
-sub authentication2authentication_kind {
- my ($authentication) = @_;
- (find { $authentication->{$_} } authentication_kinds()) || 'local';
-}
-
-sub ask_authentification_parameters {
- my ($in, $netc, $authentication, $authentication_kind) = @_;
-
- my $val = $authentication->{$authentication_kind};
-
- if ($authentication_kind eq 'LDAP') {
- $val ||= 'ldap.' . $netc->{DOMAINNAME};
- $netc->{LDAPDOMAIN} ||= join(',', map { "dc=$_" } split /\./, $netc->{DOMAINNAME});
- $in->ask_from('',
- N("Authentication LDAP"),
- [ { label => N("LDAP Base dn"), val => \$netc->{LDAPDOMAIN} },
- { label => N("LDAP Server"), val => \$val },
- ]) or return;
- } elsif ($authentication_kind eq 'NIS') {
- $val ||= 'broadcast';
- $in->ask_from('',
- N("Authentication NIS"),
- [ { label => N("NIS Domain"), val => \ ($netc->{NISDOMAIN} ||= $netc->{DOMAINNAME}) },
- { label => N("NIS Server"), val => \$val, list => ["broadcast"], not_edit => 0 },
- ]) or return;
- } elsif ($authentication_kind eq 'winbind') {
- #- maybe we should browse the network like diskdrake --smb and get the 'doze server names in a list
- #- but networking isn't setup yet necessarily
- $in->ask_warn('', N("For this to work for a W2K PDC, you will probably need to have the admin run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add and reboot the server.\nYou will also need the username/password of a Domain Admin to join the machine to the Windows(TM) domain.\nIf networking is not yet enabled, Drakx will attempt to join the domain after the network setup step.\nShould this setup fail for some reason and domain authentication is not working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) Domain, and Admin Username/Password, after system boot.\nThe command 'wbinfo -t' will test whether your authentication secrets are good."));
- $in->ask_from('',
- N("Authentication Windows Domain"),
- [ { label => N("Windows Domain"), val => \ ($netc->{WINDOMAIN} ||= $netc->{DOMAINNAME}) },
- { label => N("Domain Admin User Name"), val => \$val },
- { label => N("Domain Admin Password"), val => \$authentication->{winpass}, hidden => 1 },
- ]) or return;
- }
- #- keep only one authentication
- delete $authentication->{$_} foreach authentication_kinds();
- $authentication->{$authentication_kind} = $val;
1;
}
-sub set_authentication {
- my ($in, $netc, $authentication, $when_network_is_up) = @_;
- my ($shadow, $ldap, $nis, $winbind, $winpass) = @$authentication{qw(shadow LDAP NIS winbind winpass)};
- enableShadow() if $shadow;
- if ($ldap) {
- $in->do_pkgs->install(qw(chkauth openldap-clients nss_ldap pam_ldap autofs));
- run_program::rooted($::prefix, "/usr/sbin/chkauth", "ldap", "-D", $netc->{LDAPDOMAIN}, "-s", $ldap);
- } elsif ($nis) {
- #$o->pkg_install(qw(chkauth ypbind yp-tools net-tools));
- #run_program::rooted($::prefix, "/usr/sbin/chkauth", "yp", $domain, "-s", $nis);
- $in->do_pkgs->install("ypbind");
- my $domain = $netc->{NISDOMAIN};
- $domain || $nis ne "broadcast" or die \N("Can't use broadcast with no NIS domain");
- my $t = $domain ? "domain $domain" . ($nis ne "broadcast" && " server") : "ypserver";
- substInFile {
- $_ = "#~$_" unless /^#/;
- $_ .= "$t $nis\n" if eof;
- } "$::prefix/etc/yp.conf";
- require network;
- network::write_conf("$::prefix/etc/sysconfig/network", $netc);
-
- $when_network_is_up->(sub {
- run_program::rooted($::prefix, 'nisdomainname', $domain);
- run_program::rooted($::prefix, 'service', 'ypbind', 'restart');
- }) if !$::isInstall; #- TODO: also do it during install since nis can be useful to resolve domain names. Not done because 9.2-RC
- } elsif ($winbind) {
- my $domain = $netc->{WINDOMAIN};
- $domain =~ tr/a-z/A-Z/;
-
- $in->do_pkgs->install(qw(samba-winbind samba-common));
- { #- setup pam
- my $f = "$::prefix/etc/pam.d/system-auth";
- cp_af($f, "$f.orig");
- cp_af("$f-winbind", $f);
- }
- require network::smb;
- network::smb::write_smb_conf($domain);
- run_program::rooted($::prefix, "chkconfig", "--level", "35", "winbind", "on");
- mkdir_p("$::prefix/home/$domain");
-
- #- defer running smbpassword until the network is up
- $when_network_is_up->(sub {
- run_program::rooted($::prefix, "/usr/bin/smbpasswd", "-j", $domain, "-U", $winbind . "%" . $winpass);
- });
+sub configure_time_more {
+ my ($in, $timezone, $o_hide_ntp) = @_;
+
+ my $ntp = to_bool($timezone->{ntp});
+ my $servers = timezone::ntp_servers();
+ $timezone->{ntp} ||= 'pool.ntp.org';
+
+ require POSIX;
+ use POSIX qw(strftime);
+ my $time_format = "%H:%M:%S";
+ my $tz_prefix = timezone::get_timezone_prefix();
+ local $ENV{TZ} = ':' . $tz_prefix . '/' . $timezone->{timezone};
+
+ $in->ask_from_({ interactive_help_id => 'configureTimezoneUTC',
+ title => N("Date, Clock & Time Zone Settings"),
+ }, [
+ { label => N("Date, Clock & Time Zone Settings"), title => 1 },
+ { label => N("What is the best time?") },
+ { val => \$timezone->{UTC},
+ type => 'list', list => [ 0, 1 ], format => sub {
+ $_[0] ?
+ N("%s (hardware clock set to UTC)", POSIX::strftime($time_format, localtime())) :
+ N("%s (hardware clock set to local time)", POSIX::strftime($time_format, gmtime()));
+ } },
+ { label => N("NTP Server"), title => 1, advanced => $o_hide_ntp },
+ { text => N("Automatic time synchronization (using NTP)"), val => \$ntp, type => 'bool',
+ advanced => $o_hide_ntp },
+ { val => \$timezone->{ntp}, disabled => sub { !$ntp }, advanced => $o_hide_ntp,
+ type => "list", separator => '|',
+ list => [ keys %$servers ], format => sub { $servers->{$_[0]} } },
+ ]) or return;
+
+ $timezone->{ntp} = '' if !$ntp;
+
+ 1;
+}
+
+sub disable_x_screensaver() {
+ run_program::run("xset", "s", "off");
+ run_program::run("xset", "-dpms");
+}
+
+sub enable_x_screensaver() {
+ run_program::run("xset", "+dpms");
+ run_program::run("xset", "s", "on");
+ run_program::run("xset", "s", "reset");
+}
+
+=item ask_url($in, $o_url)
+
+Asks URL of the mirror
+
+=cut
+
+sub ask_url {
+ my ($in, $o_url) = @_;
+
+ my $url = $o_url;
+ $in->ask_from_({ messages => N("URL of the mirror?"), focus_first => 1 }, [
+ { val => \$url,
+ validate => sub {
+ if ($url =~ m!^(https?|ftp)://!) {
+ 1;
+ } else {
+ $in->ask_warn('', N("URL must start with ftp:// or http:// or https://"));
+ 0;
+ }
+ } } ]) && $url;
+}
+
+=item ask_mirror($in, $type, $o_url)
+
+Retrieves list of mirrors and offers to pick one
+
+=cut
+
+sub ask_mirror {
+ my ($in, $type, $o_url) = @_;
+
+ require mirror;
+
+ my $mirrors = eval {
+ my $_w = $in->wait_message('', N("Contacting %s web site to get the list of available mirrors...", N("Mageia")));
+ mirror::list($in->{product_id}, $type);
+ };
+ my $err = $@;
+ if (!$mirrors) {
+ $in->ask_warn('', N("Failed contacting %s web site to get the list of available mirrors", N("Mageia")) . "\n$err");
+ return ask_url($in, $o_url);
}
+
+ my $give_url = { country => '-', host => 'URL' };
+
+ my $mirror;
+ if ($o_url) {
+ $mirror = (find { $_->{url} eq $o_url } @$mirrors) || $give_url;
+ } else {
+ #- use current time zone to select best mirror
+ require urpm::mirrors;
+ my $urpm = $in->{packages} || { log => \&log::l };
+ urpm::mirrors::add_proximity_and_sort($urpm, $mirrors);
+ $mirror = @$mirrors[0] || $give_url;
+ }
+ $in->ask_from_({ messages => N("Choose a mirror from which to get the packages"),
+ cancel => N("Cancel"),
+ }, [ { separator => '|',
+ format => \&mirror::mirror2text,
+ list => [ @$mirrors, $give_url ],
+ val => \$mirror,
+ },
+ ]) or return;
+
+ my $url;
+ if ($mirror eq $give_url) {
+ $url = ask_url($in, $o_url) or goto &ask_mirror;
+ } else {
+ $url = $mirror->{url};
+ }
+ $url =~ s!/main/?$!!;
+ log::l("chosen mirror: $url");
+ $url;
+}
+
+=item ask_mirror_and_downloader($in, $options, $o_downloader_only)
+
+Asks whether to automatically select the mirror (using $MIRRORLIST) or use
+one specified by the user. Also asks whether to use the default downloader
+or to use one specified by the user.
+
+Default values are supplied and user-entered values are returned in $options
+which should be a reference to a hash containing the following fields:
+
+=over 4
+
+=item * B<mirror_url>: the currently selected mirror URL ('$MIRRORLIST' for automatic selection)
+
+=item * B<downloader>: the currently selected downloader (undefined when using the default downloader)
+
+=back
+
+If $o_downloader_only is true, the mirror selection choice is not displayed.
+
+=cut
+
+sub ask_mirror_and_downloader {
+ my ($in, $options, $o_downloader_only) = @_;
+
+ my $mirror_url = $options->{mirror_url} || '';
+ my $downloader = $options->{downloader} || 'default';
+
+ my $mirror_choice = $mirror_url eq '$MIRRORLIST' ? 'automatic' : 'specific';
+
+ my $enable_aria2 = $::isInstall || $in->do_pkgs->is_installed('aria2', '/usr/bin/aria2c');
+ my $enable_curl = $::isInstall || $in->do_pkgs->is_installed('curl', '/usr/bin/curl');
+ my $enable_wget = $::isInstall || $in->do_pkgs->is_installed('wget', '/usr/bin/wget');
+
+ $in->ask_from_(
+ {
+ },
+ [
+ if_(!$o_downloader_only,
+ { label => N("Mirror choice"), val => \$mirror_choice,
+ type => 'combo', list => [ 'automatic', 'specific' ],
+ format => sub {
+ my ($choice) = @_;
+ +{
+ 'automatic' => N("Automatic"),
+ 'specific' => N("Specific"),
+ }->{$choice};
+ },
+ },
+ ),
+ { label => N("Downloader"), val => \$downloader,
+ type => 'combo', list => [ 'default', 'aria2', 'curl', 'wget' ],
+ format => sub {
+ my ($choice) = @_;
+ +{
+ 'default' => N("Default"),
+ if_($enable_aria2, 'aria2' => 'aria2'),
+ if_($enable_curl, 'curl' => 'curl'),
+ if_($enable_wget, 'wget' => 'wget'),
+ }->{$choice};
+ },
+ },
+ ]
+ ) or return;
+
+ if ($mirror_choice eq 'automatic') {
+ $mirror_url = '$MIRRORLIST';
+ } elsif ($mirror_url eq '$MIRRORLIST') {
+ $mirror_url = undef;
+ }
+ if ($downloader eq 'default') {
+ $downloader = undef;
+ }
+
+ $options->{mirror_url} = $mirror_url;
+ $options->{downloader} = $downloader;
+
+ 1;
}
1;
diff --git a/perl-install/apps.net_monitor b/perl-install/apps.net_monitor
deleted file mode 100644
index d4dea7f88..000000000
--- a/perl-install/apps.net_monitor
+++ /dev/null
@@ -1,4 +0,0 @@
-USER=root
-PROGRAM=/usr/sbin/net_monitor.real
-SESSION=true
-FALLBACK=false
diff --git a/perl-install/authentication.pm b/perl-install/authentication.pm
new file mode 100644
index 000000000..55491edfb
--- /dev/null
+++ b/perl-install/authentication.pm
@@ -0,0 +1,983 @@
+package authentication;
+
+use common;
+
+my $authentication;
+
+sub kinds {
+ my $no_para = @_ == 0;
+ my ($do_pkgs, $_meta_class) = @_;
+ my $allow_SmartCard = $no_para || $do_pkgs->is_available('castella-pam');
+ (
+ 'LDAP',
+ 'KRB5',
+ 'winbind',
+ 'NIS',
+ if_($allow_SmartCard, 'SmartCard'),
+ 'local',
+ );
+}
+
+sub kind2name {
+ my ($kind) = @_;
+ # Keep the following strings in sync with kind2description ones!!!
+ ${{ local => N("Local file"),
+ LDAP => N("LDAP"),
+ NIS => N("NIS"),
+ SmartCard => N("Smart Card"),
+ winbind => N("Windows Domain"),
+ KRB5 => N("Kerberos 5") }}{$kind};
+}
+
+my %kind2pam_kind = (
+ local => [],
+ SmartCard => ['castella'],
+ LDAP => ['ldap'],
+ NIS => [],
+ KRB5 => ['krb5'],
+ winbind => ['winbind'],
+);
+
+my %kind2nsswitch = (
+ local => [],
+ SmartCard => [],
+ LDAP => ['ldap'],
+ NIS => ['nis'],
+ KRB5 => ['ldap'],
+ winbind => ['winbind'],
+);
+
+my $lib = get_libdir();
+
+my %kind2packages = (
+ local => [],
+ SmartCard => [ 'castella-pam' ],
+ LDAP => [ 'openldap-clients', 'nss-pam-ldapd', 'autofs', 'nss_updatedb' ],
+ KRB5 => [ 'nss-pam-ldapd', 'pam_krb5', "${lib}sasl2-plug-gssapi", 'nss_updatedb' ],
+ NIS => [ 'ypbind', 'autofs' ],
+ winbind => [ 'samba-winbind', 'nss-pam-ldapd', 'pam_krb5', "${lib}sasl2-plug-gssapi" ],
+);
+
+
+sub kind2description_raw {
+ my (@kinds) = @_;
+ my %kind2description = (
+ local => [ N("Local file:"), N("Use local for all authentication and information user tell in local file"), ],
+ LDAP => [ N("LDAP:"), N("Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."), ],
+ NIS => [ N("NIS:"), N("Allows you to run a group of computers in the same Network Information Service domain with a common password and group file."), ],
+ winbind => [ N("Windows Domain:"), N("Winbind allows the system to retrieve information and authenticate users in a Windows domain."), ],
+ KRB5 => [ N("Kerberos 5 :"), N("With Kerberos and LDAP for authentication in Active Directory Server "), ],
+ );
+ join('', map { $_ ? qq($_->[0]\n$_->[1]) : '' } map { $kind2description{$_} } @kinds);
+}
+
+sub kind2description {
+ my (@kinds) = @_;
+ join('', map { $_ ? qq($_\n\n) : '' } map { kind2description_raw($_) } @kinds);
+}
+
+sub to_kind {
+ my ($authentication) = @_;
+ (find { exists $authentication->{$_} } kinds()) || 'local';
+}
+
+sub domain_to_ldap_domain {
+ my ($domain) = @_;
+ join(',', map { "dc=$_" } split /\./, $domain);
+}
+
+sub ask_parameters {
+ my ($in, $net, $authentication, $kind) = @_;
+
+ #- keep only this authentication kind
+ foreach (kinds()) {
+ delete $authentication->{$_} if $_ ne $kind;
+ }
+ # do not enable ccreds unless required
+ undef $authentication->{ccreds};
+
+ if ($kind eq 'LDAP') {
+ $authentication->{LDAPDOMAIN} ||= domain_to_ldap_domain($net->{resolv}{DOMAINNAME});
+ $authentication->{ccreds} = 1;
+
+ # this package must be installed for 'Fetch DN' button to actually work
+ $in->do_pkgs->ensure_are_installed([ 'openldap-clients' ], 1) or return;
+
+ $in->ask_from('', N(" "),
+ [ { label => N("Welcome to the Authentication Wizard"), title => 1 },
+ {},
+ { label => N("You have selected LDAP authentication. Please review the configuration options below "), },
+ {},
+ { label => N("LDAP Server"), val => \$authentication->{LDAP_server} },
+ { label => N("Base dn"), val => \$authentication->{LDAPDOMAIN} },
+ { val => N("Fetch base Dn "), type => 'button' , clicked_may_quit => sub { $authentication->{LDAPDOMAIN} = fetch_dn($authentication->{LDAP_server}); 0 } },
+ {},
+ { text => N("Use encrypt connection with TLS "), val => \$authentication->{cafile}, type => 'bool' },
+ { val => N("Download CA Certificate "), type => 'button' , disabled => sub { !$authentication->{cafile} }, clicked_may_quit => sub { $authentication->{file} = add_cafile(); 0 } },
+
+ { text => N("Use Disconnect mode "), val => \$authentication->{ccreds}, type => 'bool' },
+ { text => N("Use anonymous BIND "), val => \$authentication->{anonymous}, type => 'bool' , advanced => 1 },
+ { text => N(" "), advanced => 1 },
+ { label => N("Bind DN "), val => \$authentication->{LDAP_binddn}, disabled => sub { !$authentication->{anonymous} }, advanced => 1 },
+ { label => N("Bind Password "), val => \$authentication->{LDAP_bindpwd}, disabled => sub { !$authentication->{anonymous} }, advanced => 1 },
+ { text => N(" "), advanced => 1 },
+ { text => N("Advanced path for group "), val => \$authentication->{nssgrp}, type => 'bool' , advanced => 1 },
+ { text => N(" "), advanced => 1 },
+ { label => N("Password base"), val => \$authentication->{nss_pwd}, disabled => sub { !$authentication->{nssgrp} }, advanced => 1 },
+ { label => N("Group base"), val => \$authentication->{nss_grp}, disabled => sub { !$authentication->{nssgrp} }, advanced => 1 },
+ { label => N("Shadow base"), val => \$authentication->{nss_shadow}, disabled => sub { !$authentication->{nssgrp} }, advanced => 1 },
+ { text => N(" "), advanced => 1 },
+ ]) or return;
+ } elsif ($kind eq 'KRB5') {
+
+ $authentication->{AD_domain} ||= $net->{resolv}{DOMAINNAME};
+ $in->do_pkgs->ensure_are_installed([ 'perl-Net-DNS' ], 1) or return;
+ my @srvs = query_srv_names($authentication->{AD_domain}); #FIXME: update this list if the REALM has changed
+ $authentication->{AD_server} ||= $srvs[0] if @srvs;
+ my $AD_user = $authentication->{AD_user} =~ /(.*)\@\Q$authentication->{AD_domain}\E$/ ? $1 : $authentication->{AD_user};
+ $authentication->{ccreds} = 1;
+
+ $in->ask_from('', N(" "),
+ [ { label => N("Welcome to the Authentication Wizard"), title => 1 },
+ {},
+ { label => N("You have selected Kerberos 5 authentication. Please review the configuration options below "), },
+ {},
+ { label => N("Realm "), val => \$authentication->{AD_domain} },
+ {},
+ { label => N("KDCs Servers"), title => 1, val => \$authentication->{AD_server} , list => \@srvs , not_edit => 0, title => 1 },
+ {},
+ { text => N("Use DNS to locate KDC for the realm"), val => \$authentication->{KRB_host_lookup}, type => 'bool' },
+ { text => N("Use DNS to locate realms"), val => \$authentication->{KRB_dns_lookup}, type => 'bool' },
+ { text => N("Use Disconnect mode "), val => \$authentication->{ccreds}, type => 'bool' },
+ ]) or return;
+
+my %level = (
+ 1 => N("Use local file for users information"),
+ 2 => N("Use LDAP for users information"),
+ );
+
+ $in->ask_from('', N(" "),
+ [ { label => N(" "), title => 1 },
+ {},
+ { label => N("You have selected Kerberos 5 for authentication, now you must choose the type of users information "), },
+ {},
+ { label => "" , val => \$authentication->{nsskrb}, type => 'list', list => [ keys %level ], format => sub { $level{$_[0]} } },
+ {},
+ { label => N("LDAP Server"), val => \$authentication->{LDAP_server}, disabled => sub { $authentication->{nsskrb} eq "1" } },
+ { label => N("Base dn"), val => \$authentication->{LDAPDOMAIN} , disabled => sub { $authentication->{nsskrb} eq "1" } },
+ { val => N("Fetch base DN "), type => 'button' , clicked_may_quit => sub { $authentication->{LDAPDOMAIN} = fetch_dn($authentication->{LDAP_server}); 0 }, disabled => sub { $authentication->{nsskrb} eq "1" } },
+ {},
+ { text => N("Use encrypt connection with TLS "), val => \$authentication->{cafile}, type => 'bool',, disabled => sub { $authentication->{nsskrb} eq "1" } },
+ { val => N("Download CA Certificate "), type => 'button' , disabled => sub { !$authentication->{cafile} }, clicked_may_quit => sub { $authentication->{file} = add_cafile(); 0 } },
+ { text => N("Use anonymous BIND "), val => \$authentication->{anonymous}, type => 'bool', disabled => sub { $authentication->{nsskrb} eq "1" } },
+ { label => N("Bind DN "), val => \$authentication->{LDAP_binddn}, disabled => sub { !$authentication->{anonymous} } },
+ { label => N("Bind Password "), val => \$authentication->{LDAP_bindpwd}, disabled => sub { !$authentication->{anonymous} } },
+ {},
+ ]) or return;
+
+ $authentication->{AD_user} = !$AD_user || $authentication->{sub_kind} eq 'anonymous' ? '' :
+ $AD_user =~ /@/ ? $AD_user : "$AD_user\@$authentication->{AD_domain}";
+ $authentication->{AD_password} = '' if !$authentication->{AD_user};
+
+
+ } elsif ($kind eq 'NIS') {
+ $authentication->{NIS_server} ||= 'broadcast';
+ $net->{network}{NISDOMAIN} ||= $net->{resolv}{DOMAINNAME};
+ $in->ask_from('', N(" "),
+ [ { label => N("Welcome to the Authentication Wizard"), title => 1 },
+ {},
+ { label => N("You have selected NIS authentication. Please review the configuration options below "), },
+ {},
+ { label => N("NIS Domain"), val => \$net->{network}{NISDOMAIN} },
+ { label => N("NIS Server"), val => \$authentication->{NIS_server}, list => ["broadcast"], not_edit => 0 },
+ {},
+ ]) or return;
+ } elsif ($kind eq 'winbind') {
+ #- maybe we should browse the network like diskdrake --smb and get the 'doze server names in a list
+ #- but networking is not setup yet necessarily
+ #
+ my @sec_domain = (
+ "Windows Active Directory Domain",
+ "Windows NT4 Domain",
+);
+
+
+ $authentication->{DNS_domain} ||= $net->{resolv}{DOMAINNAME};
+ $authentication->{WINDOMAIN} ||= $net->{resolv}{DOMAINNAME};
+ $in->do_pkgs->ensure_are_installed([ 'samba-client' ], 1) or return;
+ my @domains=list_domains();
+
+ $in->ask_from('', N(" "),
+ [ { label => N("Welcome to the Authentication Wizard"), title => 1 },
+ {},
+ { label => N("You have selected Windows Domain authentication. Please review the configuration options below "), },
+ {},
+ { label => N("Windows Domain"), val => \$authentication->{WINDOMAIN}, list => \@domains, not_edit => 1 },
+ {},
+ { label => N("Domain Model "), val => \$authentication->{model}, list => \@sec_domain , not_edit => 1 },
+ {},
+ { label => N("Active Directory Realm "), val => \$authentication->{AD_domain} , disabled => sub { $authentication->{model} eq "Windows NT4 Domain" } },
+ { label => N("DNS Domain"), val => \$authentication->{DNS_domain} , disabled => sub { $authentication->{model} eq "Windows NT4 Domain" } },
+ { label => N("DC Server"), val => \$authentication->{AD_server} , disabled => sub { $authentication->{model} eq "Windows NT4 Domain" } },
+ {},
+ ]) or return;
+ }
+ $authentication->{$kind} ||= 1;
+ 1;
+}
+sub ask_root_password_and_authentication {
+ my ($in, $net, $superuser, $authentication, $meta_class, $security) = @_;
+
+ my $kind = to_kind($authentication);
+ my @kinds = kinds($in->do_pkgs, $meta_class);
+
+ $in->ask_from_({
+ title => N("Authentication"),
+ messages => N("Set administrator (root) password"),
+ advanced_label => N("Authentication method"),
+ advanced_messages => kind2description(@kinds),
+ interactive_help_id => "setRootPassword",
+ cancel => ($security <= 2 ?
+ #-PO: keep this short or else the buttons will not fit in the window
+ N("No password") : ''),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ check_given_password($in, $superuser, 2 * $security) or return 1,0;
+ return 0;
+ } } }, [
+{ label => N("Password"), val => \$superuser->{password}, hidden => 1 },
+{ label => N("Password (again)"), val => \$superuser->{password2}, hidden => 1 },
+{ label => N("Authentication"), val => \$kind, type => 'list', list => \@kinds, format => \&kind2name, advanced => 1 },
+ ]) or delete $superuser->{password};
+
+ ask_parameters($in, $net, $authentication, $kind) or goto &ask_root_password_and_authentication;
+}
+
+sub check_given_password {
+ my ($in, $u, $min_length) = @_;
+ if ($u->{password} ne $u->{password2}) {
+ $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]);
+ 0;
+ } elsif (length $u->{password} < $min_length) {
+ $in->ask_warn('', N("This password is too short (it must be at least %d characters long)", $min_length));
+ 0;
+ } else {
+ 1;
+ }
+}
+
+sub get() {
+ my $system_auth = cat_("/etc/pam.d/system-auth");
+ my $authentication = {
+ blowfish => to_bool($system_auth =~ /\$2a\$/),
+ md5 => to_bool($system_auth =~ /md5/),
+ sha256 => to_bool($system_auth =~ /sha256/),
+ sha512 => to_bool($system_auth =~ /sha512/),
+ shadow => to_bool($system_auth =~ /shadow/),
+ };
+
+ my @pam_kinds = get_pam_authentication_kinds();
+ if (my $kind = find { intersection(\@pam_kinds, $kind2pam_kind{$_}) } keys %kind2pam_kind) {
+ $authentication->{$kind} = '';
+ } else {
+ #- we can't use pam to detect NIS
+ if (my $yp_conf = read_yp_conf()) {
+ $authentication->{NIS} = 1;
+ map_each { $authentication->{"NIS_$::a"} = $::b } %$yp_conf;
+ }
+ }
+ $authentication;
+}
+
+sub install_needed_packages {
+ my ($do_pkgs, $kind, $ccreds) = @_;
+ if (my $pkgs = $kind2packages{$kind}) {
+ # install ccreds if required
+ $ccreds and push(@$pkgs, 'pam_ccreds');
+ #- automatic during install
+ $do_pkgs->ensure_are_installed($pkgs, $::isInstall) or return;
+ } else {
+ log::l("ERROR: $kind not listed in kind2packages");
+ }
+ 1;
+}
+
+sub set {
+ my ($in, $net, $authentication, $o_when_network_is_up) = @_;
+
+ install_needed_packages($in->do_pkgs, to_kind($authentication), $authentication->{ccreds}) or return;
+ set_raw($net, $authentication, $o_when_network_is_up);
+
+ require services;
+ services::set_status('network-auth', to_kind($authentication) ne 'local', 'dont_apply');
+}
+
+sub set_raw {
+ my ($net, $authentication, $o_when_network_is_up) = @_;
+
+ my $conf_file = "$::prefix/etc/sysconfig/drakauth";
+ my $when_network_is_up = $o_when_network_is_up || sub { my ($f) = @_; $f->() };
+
+ enable_shadow() if $authentication->{shadow};
+
+ my $kind = to_kind($authentication);
+
+ log::l("authentication::set $kind");
+
+ my $pam_modules = $kind2pam_kind{$kind} or log::l("kind2pam_kind does not know $kind");
+ $pam_modules ||= [];
+ set_pam_authentication($pam_modules, $authentication->{ccreds});
+
+ my $nsswitch = $kind2nsswitch{$kind} or log::l("kind2nsswitch does not know $kind");
+ $nsswitch ||= [];
+ set_nsswitch_priority($nsswitch, $authentication->{ccreds});
+
+ if ($kind eq 'local') {
+
+ output($conf_file, <<EOF);
+auth=Local File
+server=none
+realm=none
+EOF
+
+
+
+ } elsif ($kind eq 'SmartCard') {
+ } elsif ($kind eq 'LDAP') {
+
+ configure_nss_ldap($authentication);
+
+ output($conf_file, <<EOF);
+auth=LDAP Directory
+server=$authentication->{LDAP_server}
+realm=$authentication->{LDAPDOMAIN}
+EOF
+
+ if ($authentication->{ccreds}) {
+ run_program::rooted($::prefix, '/usr/sbin/nss_updatedb.cron'); # updates offline cache.
+ }
+
+ } elsif ($kind eq 'KRB5') {
+
+ configure_krb5_for_AD($authentication);
+ configure_nss_ldap($authentication);
+
+ output($conf_file, <<EOF);
+auth=Kerberos 5
+server=$authentication->{AD_server}
+realm=$authentication->{AD_domain}
+EOF
+
+ } elsif ($kind eq 'NIS') {
+ my $domain = $net->{network}{NISDOMAIN};
+ my $NIS_server = $authentication->{NIS_server};
+ $domain || $NIS_server ne "broadcast" or die N("Cannot use broadcast with no NIS domain");
+ my $t = $domain ?
+ ($NIS_server eq 'broadcast' ?
+ "domain $domain broadcast" :
+ "domain $domain server $NIS_server") :
+ "server $NIS_server";
+
+ substInFile {
+ if (/^#/) {
+ $_ = '' if /^#\Q[PREVIOUS]/;
+ } else {
+ $_ = "#[PREVIOUS] $_";
+ }
+ $_ .= "$t\n" if eof;
+ } "$::prefix/etc/yp.conf";
+
+ #- no need to modify system-auth for nis
+
+ $when_network_is_up->(sub {
+ run_program::rooted($::prefix, 'nisdomainname', $domain);
+ run_program::rooted($::prefix, 'service', 'ypbind', 'restart');
+ });
+
+ output($conf_file, <<EOF);
+auth=$kind
+server=$NIS_server
+realm=$domain
+EOF
+
+ } elsif ($kind eq 'winbind') {
+
+ my $domain = uc $authentication->{WINDOMAIN};
+ ($authentication->{winuser}, $authentication->{winpass}) = auth();
+
+ if ($authentication->{model} eq "Windows NT4 Domain") {
+
+ require fs::remote::smb;
+ fs::remote::smb::write_smb_conf($domain);
+ run_program::rooted($::prefix, "chkconfig", "--level", "35", "winbind", "on");
+ mkdir_p("$::prefix/home/$domain");
+ run_program::rooted($::prefix, 'service', 'smb', 'restart');
+ run_program::rooted($::prefix, 'service', 'winbind', 'restart');
+
+ #- defer running smbpassword until the network is up
+
+ $when_network_is_up->(sub {
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ #'net', 'join', $domain, '-U', $authentication->{winuser} . '%' . $authentication->{winpass});
+ 'echo', '"', 'net', 'join', $domain, '-U', $authentication->{winuser} . '%' . $authentication->{winpass}, '"');
+ });
+
+ output($conf_file, <<EOF);
+auth=Windows NT4 Domain
+server= none
+realm=$domain
+EOF
+
+
+
+
+ } else {
+ # FIXME: the DC isn't named ads.domain... try to do reserve lookup?
+ $authentication->{AD_server} ||= 'ads.' . $authentication->{AD_domain};
+ my $domain = uc $authentication->{WINDOMAIN};
+ my $realm = $authentication->{AD_domain};
+ ($authentication->{winuser}, $authentication->{winpass}) = auth();
+ configure_krb5_for_AD($authentication);
+
+ require fs::remote::smb;
+ fs::remote::smb::write_smb_ads_conf($domain,$realm);
+ run_program::rooted($::prefix, "chkconfig", "--level", "35", "winbind", "on");
+ mkdir_p("$::prefix/home/$domain");
+ run_program::rooted($::prefix, 'net', 'time', 'set', '-S', $authentication->{AD_server});
+ run_program::rooted($::prefix, 'service', 'smb', 'restart');
+
+ $when_network_is_up->(sub {
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ 'net', 'ads', 'join', '-U', $authentication->{winuser} . '%' . $authentication->{winpass});
+ run_program::rooted($::prefix, 'service', 'winbind', 'restart');
+ });
+
+ #FIXME: perhaps save the defaults values ?
+ output($conf_file, <<EOF);
+auth=Windows Active Directory Domain
+server= none
+realm=$realm
+EOF
+ } }
+ 1;
+}
+
+
+sub pam_modules() {
+ 'pam_ldap', 'pam_castella', 'pam_winbind', 'pam_krb5', 'pam_mkhomedir', 'pam_ccreds', 'pam_deny' , 'pam_permit';
+}
+sub pam_module_from_path {
+ $_[0] && $_[0] =~ m|(/lib/security/)?(pam_.*)\.so| && $2;
+}
+sub pam_module_to_path {
+ "$_[0].so";
+}
+sub pam_format_line {
+ my ($type, $control, $module, @para) = @_;
+ sprintf("%-11s %-13s %s\n", $type, $control, join(' ', pam_module_to_path($module), @para));
+}
+
+sub get_raw_pam_authentication() {
+ my %before_deny;
+ foreach (cat_("$::prefix/etc/pam.d/system-auth")) {
+ my ($type, $_control, $other) = /(\S+)\s+(\[.*?\]|\S+)\s+(.*)/;
+ my ($module, @para) = split(' ', $other);
+ if ($module = pam_module_from_path($module)) {
+ $before_deny{$type}{$module} = \@para if member($module, pam_modules());
+ }
+ }
+ \%before_deny;
+}
+
+sub get_pam_authentication_kinds() {
+ my $before_deny = get_raw_pam_authentication();
+ map { s/pam_//; $_ } keys %{$before_deny->{auth}};
+}
+
+sub sufficient {
+ my ($ccreds, $module, $type) = @_;
+
+ $ccreds && member($module, 'pam_tcb' , 'pam_winbind') ?
+ 'sufficient' :
+ $ccreds && member($module, 'pam_ldap', 'pam_krb5') && $type eq 'account' ?
+ '[authinfo_unavail=ignore default=done]' :
+ $ccreds && member($module, 'pam_ldap', 'pam_krb5') && $type eq 'password' ?
+ 'sufficient' :
+ $ccreds && member($module, 'pam_ldap', 'pam_krb5') ?
+ '[authinfo_unavail=ignore user_unknown=ignore success=1 default=2]' :
+ 'sufficient';
+}
+
+sub pam_sufficient_line {
+ my ($ccreds, $type, $module, @para) = @_;
+ my $control = sufficient($ccreds, $module, $type);
+ if ($module eq 'pam_winbind') {
+ push @para, 'cached_login';
+ }
+ pam_format_line($type, $control, $module, @para);
+}
+
+
+
+
+
+
+sub set_pam_authentication {
+ my ($authentication_kinds, $o_ccreds) = @_;
+
+ my %special = (
+ auth => [ difference2($authentication_kinds,, [ 'mount' ]) ],
+ account => [ difference2($authentication_kinds, [ 'castella', 'mount', 'ccreds' ]) ],
+ password => [ intersection($authentication_kinds, [ 'ldap', 'krb5', 'ccreds' ]) ],
+ );
+ my %before_first = (
+ auth => member('mount', @$authentication_kinds) ? pam_format_line('auth', 'required', 'pam_mount') : '',
+ session =>
+ intersection($authentication_kinds, [ 'winbind', 'krb5', 'ldap' ])
+ ? pam_format_line('session', 'optional', 'pam_mkhomedir', 'skel=/etc/skel/', 'umask=0022') :
+ member('castella', @$authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_castella') : '',
+ );
+ my %after_deny = (
+ session =>
+ member('krb5', @$authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_krb5') :
+ member('mount', @$authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_mount') : '',
+ );
+
+ substInFile {
+ my ($type, $control, $other) = /(\S+)\s+(\[.*?\]|\S+)\s+(.*)/;
+ my ($module, @para) = split(' ', $other);
+ if ($module = pam_module_from_path($module)) {
+ if (member($module, pam_modules())) {
+ #- first removing previous config
+ $_ = '';
+ }
+ if ($module eq 'pam_tcb' && $special{$type}) {
+ my @para_for_last =
+ member($type, 'auth', 'account') ? qw(use_first_pass) : @{[]};
+ @para = difference2(\@para, \@para_for_last);
+
+ my ($before_noask, $ask) = partition { $_ eq 'castella' } @{$special{$type}};
+
+ if (!@$ask) {
+ @para_for_last = grep { $_ ne 'use_first_pass' } @para_for_last;
+ }
+
+ my @l = ((map { [ "pam_$_" ] } @$before_noask),
+ [ 'pam_tcb', @para ],
+ (map { [ "pam_$_" ] } @$ask),
+ );
+ push @{$l[-1]}, @para_for_last;
+
+ $_ = join('', map { pam_sufficient_line($o_ccreds, $type, @$_) } @l);
+
+ if ($control eq 'required') {
+ #- ensure a pam_deny line is there. it will be added below
+ ($module, @para) = ('pam_deny');
+ }
+
+ if ($type eq 'auth' && $o_ccreds) {
+ $_ .= pam_format_line('auth', '[default=done]', 'pam_ccreds', 'action=validate use_first_pass');
+ $_ .= pam_format_line('auth', '[default=done]', 'pam_ccreds', 'action=store');
+ $_ .= pam_format_line('auth', '[default=bad]', 'pam_ccreds', 'action=update');
+ }
+ }
+
+
+ if (member($module, 'pam_deny', 'pam_permit')) {
+ $_ .= pam_format_line($type, $control,
+ $type eq 'account' && $o_ccreds ? 'pam_permit' : 'pam_deny');
+ }
+ if (my $s = delete $before_first{$type}) {
+ $_ = $s . $_;
+ }
+ if ($control eq 'required' && member($module, 'pam_deny', 'pam_permit', 'pam_tcb')) {
+ if (my $s = delete $after_deny{$type}) {
+ $_ .= $s;
+ }
+ }
+ }
+ } "$::prefix/etc/pam.d/system-auth";
+}
+
+sub set_nsswitch_priority {
+ my ($kinds, $connected) = @_;
+ my @known = qw(nis ldap winbind compat);
+ substInFile {
+ if (my ($database, $l) = /^(\s*(?:passwd|shadow|group|automount):\s*)(.*)/) {
+ my @l = difference2([ split(' ', $l) ], \@known);
+ $_ = $database . join(' ', uniq('files', @$kinds, @l)) . "\n";
+ }
+ if (/^\s*(?:passwd|group):/) {
+ my $option = '[NOTFOUND=return] db';
+ if ($connected) {
+ s/$/ $option/ if !/\Q$option/;
+ } else {
+ s/\s*\Q$option//;
+ }
+}
+
+ } "$::prefix/etc/nsswitch.conf";
+}
+
+sub read_yp_conf() {
+ my $yp_conf = cat_("$::prefix/etc/yp.conf");
+
+ if ($yp_conf =~ /^domain\s+(\S+)\s+(\S+)\s*(.*)/m) {
+ { domain => $1, server => $2 eq 'broadcast' ? 'broadcast' : $3 };
+ } elsif ($yp_conf =~ /^server\s+(.*)/m) {
+ { server => $1 };
+ } else {
+ undef;
+ }
+}
+
+my $special_ldap_cmds = join('|', 'nss_map_attribute', 'nss_map_objectclass');
+sub _after_read_ldap_line {
+ my ($s) = @_;
+ $s =~ s/\b($special_ldap_cmds)\s*/$1 . '_'/e;
+ $s;
+}
+sub _pre_write_ldap_line {
+ my ($s) = @_;
+ $s =~ s/\b($special_ldap_cmds)_/$1 . ' '/e;
+ $s;
+}
+
+sub read_ldap_conf() {
+ my %conf = map {
+ s/^\s*#.*//;
+ if_(_after_read_ldap_line($_) =~ /(\S+)\s+(.*)/, $1 => $2);
+ } cat_("$::prefix/etc/nslcd.conf");
+ \%conf;
+}
+
+sub update_ldap_conf {
+ my (%conf) = @_;
+
+ substInFile {
+ my ($cmd) = _after_read_ldap_line($_) =~ /^\s*#?\s*(\w+)\s/;
+ if ($cmd && exists $conf{$cmd}) {
+ my $val = $conf{$cmd};
+ $conf{$cmd} = '';
+ $_ = $val ? _pre_write_ldap_line("$cmd $val\n") : /^\s*#/ ? $_ : "#$_";
+ }
+ if (eof) {
+ foreach my $cmd (keys %conf) {
+ my $val = $conf{$cmd} or next;
+ $_ .= _pre_write_ldap_line("$cmd $val\n");
+ }
+ }
+ } "$::prefix/etc/nslcd.conf";
+}
+
+sub configure_krb5_for_AD {
+ my ($authentication) = @_;
+
+ my $uc_domain = uc $authentication->{AD_domain};
+ my $krb5_conf_file = "$::prefix/etc/krb5.conf";
+
+ krb5_conf_update($krb5_conf_file,
+ libdefaults => (
+ default_realm => $uc_domain,
+ dns_lookup_realm => $authentication->{KRB_dns_lookup} ? 'true' : 'false',
+ dns_lookup_kdc => $authentication->{KRB_host_lookup} ? 'true' : 'false',
+ default_tgs_enctypes => undef,
+ default_tkt_enctypes => undef,
+ permitted_enctypes => undef,
+ ));
+
+ my @sections = (
+ realms => <<EOF,
+ $uc_domain = {
+ kdc = $authentication->{AD_server}:88
+ admin_server = $authentication->{AD_server}:749
+ default_domain = $authentication->{AD_domain}
+ }
+EOF
+ domain_realm => <<EOF,
+ .$authentication->{AD_domain} = $uc_domain
+ $authentication->{AD_domain} = $uc_domain
+EOF
+ kdc => <<'EOF',
+ profile = /etc/kerberos/krb5kdc/kdc.conf
+EOF
+ pam => <<'EOF',
+ debug = false
+ ticket_lifetime = 36000
+ renew_lifetime = 36000
+ forwardable = true
+ krb4_convert = false
+EOF
+ login => <<'EOF',
+ krb4_convert = false
+ krb4_get_tickets = false
+EOF
+ );
+ foreach (group_by2(@sections)) {
+ my ($section, $txt) = @$_;
+ krb5_conf_overwrite_category($krb5_conf_file, $section => $authentication->{AD_server} ? $txt : '');
+ }
+}
+
+sub krb5_conf_overwrite_category {
+ my ($file, $category, $new_val) = @_;
+
+ my $done;
+ substInFile {
+ if (my $i = /^\s*\[\Q$category\E\]/i ... /^\[/) {
+ if ($new_val) {
+ if ($i == 1) {
+ $_ .= $new_val;
+ $done = 1;
+ } elsif ($i =~ /E/) {
+ $_ = "\n$_";
+ } else {
+ $_ = '';
+ }
+ } else {
+ $_ = '' if $i !~ /E/;
+ }
+ }
+ #- if category has not been found above.
+ if (eof && $new_val && !$done) {
+ $_ .= "\n[$category]\n$new_val";
+ }
+ } $file;
+}
+
+#- same as update_gnomekderc(), but allow spaces around "="
+sub krb5_conf_update {
+ my ($file, $category, %subst_) = @_;
+
+ my %subst = map { lc($_) => [ $_, $subst_{$_} ] } keys %subst_;
+
+ my $s;
+ foreach (MDK::Common::File::cat_($file), "[NOCATEGORY]\n") {
+ if (my $i = /^\s*\[\Q$category\E\]/i ... /^\[/) {
+ if ($i =~ /E/) { #- for last line of category
+ chomp $s; $s .= "\n";
+ $s .= " $_->[0] = $_->[1]\n" foreach grep { defined($_->[1]) } values %subst;
+ %subst = ();
+ } elsif (/^\s*([^=]*?)\s*=/) {
+ if (my $e = delete $subst{lc($1)}) {
+ $_ = defined($e->[1]) ? " $1 = $e->[1]\n" : '';
+ }
+ }
+ }
+ $s .= $_ if !/^\Q[NOCATEGORY]/;
+ }
+
+ #- if category has not been found above.
+ if (keys %subst) {
+ chomp $s;
+ $s .= "\n[$category]\n";
+ $s .= " $_->[0] = $_->[1]\n" foreach grep { defined($_->[1]) } values %subst;
+ }
+
+ MDK::Common::File::output($file, $s);
+
+}
+
+sub query_srv_names {
+ my ($domain) = @_;
+
+ eval { require Net::DNS; 1 } or return;
+ my $res = Net::DNS::Resolver->new;
+ my $query = $res->query("_ldap._tcp.$domain", 'srv') or return;
+ map { $_->target } $query->answer;
+}
+
+sub enable_shadow() {
+ run_program::rooted($::prefix, "pwconv") or log::l("pwconv failed");
+ run_program::rooted($::prefix, "grpconv") or log::l("grpconv failed");
+}
+
+sub salt {
+ my ($nb) = @_;
+ require devices;
+ open(my $F, "/dev/urandom") or die "missing urandom";
+ my $s; read $F, $s, $nb;
+ $s = pack("b8" x $nb, unpack "b6" x $nb, $s);
+ $s =~ tr|\0-\x3f|0-9a-zA-Z./|;
+ $s;
+}
+
+sub user_crypted_passwd {
+ my ($u, $authentication) = @_;
+ if ($u->{password}) {
+ require utf8;
+ utf8::encode($u->{password}); #- we don't want perl to do "smart" things in crypt()
+
+ # Default to sha512
+ $authentication = { sha512 => 1 } unless $authentication;
+
+ my $salt;
+ if ($authentication->{blowfish}) {
+ $salt = '$2a$08$' . salt(60);
+ } elsif ($authentication->{md5}) {
+ $salt = '$1$' . salt(8);
+ } elsif ($authentication->{sha256}) {
+ $salt = '$5$' . salt(32);
+ } elsif ($authentication->{sha512}) {
+ $salt = '$6$' . salt(64);
+ } else {
+ $salt = salt(2);
+ }
+
+ crypt($u->{password}, $salt);
+ } else {
+ $u->{pw} || '';
+ }
+}
+
+sub set_root_passwd {
+ my ($superuser, $authentication) = @_;
+ $superuser->{name} = 'root';
+ write_passwd_user($superuser, $authentication);
+ delete $superuser->{name};
+}
+
+sub write_passwd_user {
+ my ($u, $authentication) = @_;
+
+ $u->{pw} = user_crypted_passwd($u, $authentication);
+ $u->{shell} ||= '/bin/bash';
+
+ substInFile {
+ my $l = unpack_passwd($_);
+ if ($l->{name} eq $u->{name}) {
+ add2hash_($u, $l);
+ $_ = pack_passwd($u);
+ $u = {};
+ }
+ if (eof && $u->{name}) {
+ $_ .= pack_passwd($u);
+ }
+ } "$::prefix/etc/passwd";
+}
+
+my @etc_pass_fields = qw(name pw uid gid realname home shell);
+sub unpack_passwd {
+ my ($l) = @_;
+ my %l; @l{@etc_pass_fields} = split ':', chomp_($l);
+ \%l;
+}
+sub pack_passwd {
+ my ($l) = @_;
+ join(':', @$l{@etc_pass_fields}) . "\n";
+}
+
+sub add_cafile() {
+ my $in = interactive->vnew;
+ $in->ask_filename({ title => N("Select file") }) or return;
+}
+
+sub auth() {
+ my $in = interactive->vnew;
+ $in->ask_from('', N(" "), [
+ { label => N("Domain Windows for authentication : ") . $authentication->{WINDOMAIN} },
+ {},
+ { label => N("Domain Admin User Name"), val => \$authentication->{winuser} },
+ { label => N("Domain Admin Password"), val => \$authentication->{winpass}, hidden => 1 },
+ ]);
+ return $authentication->{winuser}, $authentication->{winpass};
+}
+
+require fs::remote::smb;
+sub list_domains() {
+ my $smb = fs::remote::smb->new;
+ my %domains;
+ foreach my $server ($smb->find_servers) {
+ $domains{$server->{group}} = 1;
+ }
+ return sort keys %domains;
+}
+sub get_server_for_domain {
+ my $smb = fs::remote::smb->new;
+ foreach my $server ($smb->find_servers) {
+ return $server->{name} if $server->{group} == $_[0];
+ }
+}
+
+sub fetch_dn {
+ my ($srv) = @_;
+ my $s = run_program::rooted_get_stdout($::prefix, 'ldapsearch', '-x', '-h', $srv, '-b', '', '-s', 'base', '+');
+ $authentication->{LDAPDOMAIN} = first($s =~ /namingContexts: (.+)/);
+ return $authentication->{LDAPDOMAIN};
+}
+
+sub configure_nss_ldap {
+ my ($authentication) = @_;
+ update_ldap_conf(
+ uri => $authentication->{cafile} eq '1' ? "ldaps://" . $authentication->{LDAP_server} . "/" : "ldap://" . $authentication->{LDAP_server} . "/",
+ base => $authentication->{LDAPDOMAIN},
+ );
+
+ if ($authentication->{nssgrp} eq '1') {
+
+ update_ldap_conf(
+ 'base shadow' => $authentication->{nss_shadow},
+ 'base passwd' => $authentication->{nss_pwd},
+ 'base group' => $authentication->{nss_grp},
+ scope => "sub",
+ );
+ } else {
+
+ update_ldap_conf(
+ 'base shadow' => $authentication->{LDAPDOMAIN},
+ 'base passwd' => $authentication->{LDAPDOMAIN},
+ 'base group' => $authentication->{LDAPDOMAIN},
+ scope => "sub",
+ );
+ }
+ if ($authentication->{anonymous} eq '1') {
+ update_ldap_conf(
+ binddn => $authentication->{LDAP_binddn},
+ bindpw => $authentication->{LDAP_bindpwd},
+ );
+ }
+
+ if ($authentication->{cafile} eq '1') {
+ update_ldap_conf(
+ ssl => "on",
+ tls_reqcert => "allow",
+ tls_cacertfile => $authentication->{file},
+ );
+ }
+ }
+
+ sub compute_password_weakness {
+
+ my ($password) = @_;
+ my $score = 0;
+ my $len = length($password);
+
+ return 0 if $len == 0;
+
+ $score = $len < 5 ? 3 :
+ $len > 4 && $len < 8 ? 6 :
+ $len > 7 && $len < 16 ? 12 : 18;
+
+ $score += 1 if $password =~ /[a-z]/;
+ $score += 5 if $password =~ /[A-Z]/;
+ $score += 5 if $password =~ /\d+/;
+ $score += 5 if $password =~ /(.*[0-9].*[0-9].*[0-9])/;
+ $score += 5 if $password =~ /.[!@#$%^&*?_~,]/;
+ $score += 5 if $password =~ /(.*[!@#$%^&*?_~,].*[!@#$%^&*?_~,])/;
+ $score += 2 if $password =~ /([a-z].*[A-Z])|([A-Z].*[a-z])/;
+ $score += 2 if $password =~ /([a-zA-Z])/ && $password =~ /([0-9])/;
+ $score += 2 if $password =~ /([a-z].*[A-Z])|([A-Z].*[a-z])/;
+ $score += 2 if $password =~ /([a-zA-Z0-9].*[!@#$%^&*?_~])|([!@#$%^&*?_~,].*[a-zA-Z0-9])/;
+
+ my $level = $score < 11 ? 1 :
+ $score > 10 && $score < 20 ? 2 :
+ $score > 19 && $score < 30 ? 3 :
+ $score > 29 && $score < 40 ? 4 : 5;
+
+ return $level;
+ }
+1;
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index d790bf480..d1d757c3d 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -1,48 +1,172 @@
-package bootloader; # $Id$
+package bootloader;
use diagnostics;
use strict;
-use vars qw(%vga_modes);
#-######################################################################################
#- misc imports
#-######################################################################################
use common;
-use partition_table qw(:types);
+use fs::type;
+use fs::get;
+use fs::loopback;
+use fs::proc_partitions;
use log;
use any;
-use fsedit;
use devices;
-use loopback;
use detect_devices;
use partition_table::raw;
use run_program;
use modules;
+=head1 SYNOPSYS
-our %vga_modes = (
-'ask' => "Ask at boot",
-'normal' => "Normal",
-'0x0f01' => "80x50",
-'0x0f02' => "80x43",
-'0x0f03' => "80x28",
-'0x0f05' => "80x30",
-'0x0f06' => "80x34",
-'0x0f07' => "80x60",
-'0x0122' => "100x30",
- 785 => "640x480 in 16 bits (FrameBuffer only)",
- 788 => "800x600 in 16 bits (FrameBuffer only)",
- 791 => "1024x768 in 16 bits (FrameBuffer only)",
- 794 => "1280x1024 in 16 bits (FrameBuffer only)",
-);
-
-#-#####################################################################################
-#- Functions
-#-#####################################################################################
+B<bootloader> enables to configure various boot loaders (LILO, GRUB Legacy, GRUB2, ...)
+
+Example of usage:
+
+ $all_hds = fsedit::get_hds();
+ fs::get_raw_hds('', $all_hds);
+ fs::get_info_from_fstab($all_hds);
+ $fstab = [ fs::get::fstab($all_hds) ];
+ $bootloader = bootloader::read($all_hds);
+ (...)
+ bootloader::action($bootloader, 'write', $all_hds);
+
+A particular bootloader is handled in separate typical functions that can be called by action() by /sbin/bootloader-config:
+
+
+=head1 VFS aka how to support a bootloader
+
+Most of the code is generic.
+
+A particular bootloader implementation/support is done through a couple functions:
+
+=over 4
+
+=item * read_FOOBAR()
+
+read the config file(s) of the FOOBAR bootloader, returning a $bootloader object
+
+=item * install_FOOBAR($bootloader, $all_hds)
+
+usually call write_FOOBAR() & install_raw_FOOBAR() if existing, aka:
+
+=over 4
+
+=item * updating config files
+
+=item * then reinstalling the bootloader
+
+=back
+
+=item * install_raw_FOOBAR()
+
+Optionnal: Low level installation of the stage1 of the bootloader, usually embedding it in MBR or on ESP, ... (eg: running lilo or /boot/grub*/install.sh)
+
+=item * write_FOOBAR($bootloader, $all_hds)
+
+update the config files, ie when a kernel was installed or removed.
+when_config_changed_FOOBAR() is called right after in case something is needed when config is done (eg: lilo needs to be reinstalled)
+
+=item * when_config_changed_FOOBAR()
+
+Run needed action when config has changed or when initrds were regenerated, ...
+Usually nothing for intelligent bootloaders such as grub-legacy or grub2.
+But eg: lilo needs to rewrite its stage1 (thus it needs to rerun lilo).
+
+=back
+
+=head1 Functions
+
+=over
+
+=cut
+
+my $vmlinuz_regexp = 'vmlinu[xz]|win4lin|uImage';
+my $decompose_vmlinuz_name = qr/((?:$vmlinuz_regexp).*?)-(\d+\.\d+.*)/;
+my $liblinux_path = '/usr/lib/linux';
+
+sub expand_vmlinuz_symlink {
+ my ($vmlinuz) = @_;
+ my $f = $::prefix . ($vmlinuz =~ m!^/! ? $vmlinuz : "/boot/$vmlinuz");
+ -l $f ? readlink($f) : $vmlinuz;
+}
+
+sub installed_vmlinuz_raw() { grep { /^($vmlinuz_regexp)/ } all("$::prefix/boot") }
+sub installed_vmlinuz() { grep { ! -l "$::prefix/boot/$_" } installed_vmlinuz_raw() }
+sub vmlinuz2version {
+ my ($vmlinuz) = @_;
+ expand_vmlinuz_symlink($vmlinuz) =~ /$decompose_vmlinuz_name/ && $2;
+}
+sub vmlinuz2kernel_str {
+ my ($vmlinuz) = @_;
+ my ($basename, $version) = expand_vmlinuz_symlink($vmlinuz) =~ /$decompose_vmlinuz_name/ or return;
+ {
+ basename => $basename,
+ version => $version,
+ $version =~ /([\d.]*)-(\D.*)-((\d+|0\.rc\d+.*)\.mga.*)$/ ? #- eg: 3.0.0-1.mga2
+ (ext => $2, version_no_ext => "$1-$3") :
+ $version =~ /(.*mga)-?(.*)/ ? #- (old) eg: 2.6.17-13mdventerprise
+ (ext => $2, version_no_ext => $1) : (version_no_ext => $version),
+ };
+}
+
+sub kernel_str2short_name {
+ my ($kernel) = @_;
+ $kernel->{basename};
+}
+
+sub basename2initrd_basename {
+ my ($basename) = @_;
+ $basename =~ s!(vmlinu[zx]|uImage)-?!!; #- here we do not use $vmlinuz_regexp since we explicitly want to keep all that is not "vmlinuz"
+ 'initrd' . ($basename ? "-$basename" : '');
+}
+sub kernel_str2vmlinuz_long {
+ my ($kernel) = @_;
+ $kernel->{basename} . '-' . $kernel->{version};
+}
+sub kernel_str2initrd_long {
+ my ($kernel) = @_;
+ basename2initrd_basename(kernel_str2short_name($kernel)) . '-' . $kernel->{version} . '.img';
+}
+sub kernel_str2liblinux_long {
+ my ($kernel) = @_;
+ $liblinux_path . '-' . $kernel->{version};
+}
+sub kernel_str2vmlinuz_short {
+ my ($kernel) = @_;
+ if ($kernel->{use_long_name}) {
+ kernel_str2vmlinuz_long($kernel);
+ } else {
+ kernel_str2short_name($kernel);
+ }
+}
+sub kernel_str2initrd_short {
+ my ($kernel) = @_;
+ if ($kernel->{use_long_name}) {
+ kernel_str2initrd_long($kernel);
+ } else {
+ basename2initrd_basename(kernel_str2short_name($kernel)) . '.img';
+ }
+}
+sub kernel_str2liblinux_short() {
+ $liblinux_path;
+}
+
+sub kernel_str2label {
+ my ($kernel, $o_use_long_name) = @_;
+ if ($o_use_long_name || $kernel->{use_long_name}) {
+ _sanitize_ver($kernel);
+ } else {
+ my $short_name = kernel_str2short_name($kernel);
+ $kernel->{ext} =~ /^xen/ ? 'xen' : ($short_name eq 'vmlinuz' ? 'linux' : $short_name);
+ }
+}
sub get {
- my ($kernel, $bootloader) = @_;
- $_->{kernel_or_dev} && $_->{kernel_or_dev} eq $kernel and return $_ foreach @{$bootloader->{entries}};
+ my ($vmlinuz, $bootloader) = @_;
+ $_->{kernel_or_dev} && $_->{kernel_or_dev} eq $vmlinuz and return $_ foreach @{$bootloader->{entries}};
undef;
}
sub get_label {
@@ -51,156 +175,673 @@ sub get_label {
undef;
}
-sub mkinitrd {
- my ($kernelVersion, $initrdImage) = @_;
+=item mkinitrd($kernel_version, $bootloader, $entry, $initrd)
- $::testing || -e "$::prefix/$initrdImage" and return 1;
+Regenerates kernel's initrd.
- my $loop_boot = loopback::prepare_boot();
+=cut
+
+sub mkinitrd {
+ my ($kernel_version, $bootloader, $entry, $initrd) = @_;
+
+ my $dir = dirname($initrd);
+ if ($::testing) {
+ log::l("Skipping initrd generation: testing mode");
+ return $initrd;
+ } elsif (-e "$::prefix/$initrd") {
+ log::l("Skipping initrd generation: already exists");
+ return $initrd;
+ } elsif ($initrd =~ /\(hd/) {
+ log::l("Skipping initrd generation: unrecognized partition");
+ return $initrd;
+ } elsif (!-d "$::prefix/$dir") {
+ log::l("Skipping initrd generation: dir doesn't exist (probably !mounted foreign part)");
+ return $initrd;
+ }
+
+ # for /boot on dos partitions when installing on loopback file on dos partition
+ my $loop_boot = fs::loopback::prepare_boot();
modules::load('loop');
- if (!run_program::rooted($::prefix, "mkinitrd", "-v", "-f", $initrdImage, "--ifneeded", $kernelVersion)) {
- unlink("$::prefix/$initrdImage");
- die "mkinitrd failed";
+ my @options = (
+ if_($::isInstall, "-v"), "-f", $initrd, $kernel_version,
+ if_($entry->{initrd_options}, split(' ', $entry->{initrd_options})),
+ );
+
+ my $err;
+ if (!run_program::rooted($::prefix, 'mkinitrd', '2>', \$err, @options)) {
+ unlink("$::prefix/$initrd");
+ log::explanations("mkinitrd failed:\n(mkinitrd @options)\nError: <$err>");
+ die "mkinitrd failed:\n(mkinitrd @options)\nError: $err";
+ }
+ add_boot_splash($initrd, $entry->{vga} || $bootloader->{vga});
+
+ fs::loopback::save_boot($loop_boot);
+
+ -e "$::prefix/$initrd" && $initrd;
+}
+
+=item rebuild_initrd($kernel_version, $bootloader, $entry, $initrd)
+
+Saves the old initrd then regenerate it.
+If it fails, restore the old initrd.
+
+=cut
+
+sub rebuild_initrd {
+ my ($kernel_version, $bootloader, $entry, $initrd) = @_;
+
+ my $old = $::prefix . $entry->{initrd} . '.old';
+ unlink $old;
+ rename "$::prefix$initrd", $old;
+ if (!mkinitrd($kernel_version, $bootloader, $entry, $initrd)) {
+ log::l("rebuilding initrd failed, putting back the old one");
+ rename $old, "$::prefix$initrd";
}
- loopback::save_boot($loop_boot);
+}
- -e "$::prefix/$initrdImage";
+sub remove_boot_splash {
+ my ($initrd) = @_;
+ run_program::rooted($::prefix, '/usr/share/bootsplash/scripts/remove-boot-splash', $initrd);
}
+sub add_boot_splash {
+ my ($initrd, $vga) = @_;
+
+ $vga or return;
+
+ eval { require Xconfig::resolution_and_depth } or return;
+ if (my $res = Xconfig::resolution_and_depth::from_bios($vga)) {
+ run_program::rooted($::prefix, '/usr/share/bootsplash/scripts/make-boot-splash', $initrd, $res->{X});
+ } else {
+ log::l("unknown vga bios mode $vga");
+ }
+}
+sub update_splash {
+ my ($bootloader) = @_;
+
+ my %real_initrd_entries;
+ foreach (@{$bootloader->{entries}}) {
+ if ($_->{initrd} && $_->{vga}) {
+ my $initrd = expand_symlinks($_->{initrd});
+ $real_initrd_entries{$initrd} = $_;
+ }
+ }
+ foreach (values %real_initrd_entries) {
+ log::l("add boot splash to $_->{initrd}\n");
+ add_boot_splash($_->{initrd}, $_->{vga} || $bootloader->{vga});
+ }
+}
+
+=item read($all_hds)
+
+Reads bootloader config by calling the proper read_XYZ function.
+
+=cut
+
+sub read {
+ my ($all_hds) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ foreach my $main_method (main_method_choices()) {
+ my $f = $bootloader::{"read_$main_method"} or die "unknown bootloader method $main_method (read)";
+ my $bootloader = $f->($fstab);
+
+ cleanup_entries($bootloader) if $main_method ne 'refind';
+
+ # handle raid-extra-boot (lilo)
+ my @devs = $bootloader->{boot};
+ if ($bootloader->{'raid-extra-boot'} =~ /mbr/ &&
+ (my $md = fs::get::device2part($bootloader->{boot}, $all_hds->{raids}))) {
+ @devs = map { $_->{rootDevice} } @{$md->{disks}};
+ } elsif ($bootloader->{'raid-extra-boot'} =~ m!/dev/!) {
+ @devs = split(',', $bootloader->{'raid-extra-boot'});
+ }
+
+ #- if $bootloader->{boot} is undefined, @devs contains a single undef element
+ my ($type) = map {
+ if (is_uefi()) {
+ if (-e "$::prefix/boot/refind_linux.conf") {
+ 'refind';
+ } elsif (-f "$::prefix/boot/EFI/EFI/mageia/grub" . uefi_type() . ".efi" ||
+ $main_method eq 'grub2' && $bootloader->{removable} && -f "$::prefix/boot/EFI/EFI/BOOT/BOOT" . uc(uefi_type()) . ".EFI") {
+ 'grub2';
+ } else {
+ ()
+ }
+ } elsif (m!/fd\d+$!) {
+ warn "not checking the method on floppy, assuming $main_method is right\n";
+ $main_method;
+ } elsif (member($main_method, qw(cromwell uboot))) {
+ #- not checking, there's only one bootloader anyway :)
+ $main_method;
+ } elsif (my $type = partition_table::raw::typeOfMBR($_)) {
+ warn "typeOfMBR $type on $_ for method $main_method\n" if $ENV{DEBUG};
+ $type;
+ } else { () }
+ } @devs;
+
+ if ($type eq $main_method) {
+ return $bootloader if read_($bootloader);
+ }
+ }
+}
+
+sub read_ {
+ my ($bootloader) = @_;
+ my @prefered_entries = map { get_label($_, $bootloader) } $bootloader->{default}, 'linux';
+
+ if (my $default = find { $_ && $_->{type} eq 'image' } (@prefered_entries, @{$bootloader->{entries}})) {
+ $bootloader->{default_options} = $default;
+ $bootloader->{perImageAppend} ||= $default->{append};
+ log::l("perImageAppend is now $bootloader->{perImageAppend}");
+ $bootloader->{default_vga} ||= $default->{vga};
+ log::l("default_vga is now $bootloader->{default_vga}");
+ } else {
+ $bootloader->{default_options} = {};
+ }
+ return $bootloader;
+}
+
+
+=item is_grub2_already_crypted($password)
+
+Returns whether grub2 password is already encrypted or not
+
+=cut
+
+sub is_grub2_already_crypted {
+ my ($password) = @_;
+ $password =~ /grub.pbkdf2.sha512/;
+}
+
+=item read_grub2 ($o_fstab)
+
+Read back GRUB2 config
+
+=cut
+
+sub read_grub2() {
+ my %bootloader = read_grub2_install_sh() if -e get_grub2_install_sh();
+ return if is_empty_hash_ref(\%bootloader) & !-s "$::prefix/boot/grub2/grub.cfg";
+ my %h = getVarsFromSh("$::prefix/etc/default/grub");
+ $bootloader{timeout} = $h{GRUB_TIMEOUT};
+ # keep suggested perImageAppend and default_vga on first run (during installer) or when migrating from grub-legacy or lilo:
+ my ($vga, $other) = partition { /^vga=/ } split(' ', $h{GRUB_CMDLINE_LINUX_DEFAULT});
+ $bootloader{perImageAppend} ||= join(' ', @$other) if @$other;
+ $bootloader{default_vga} ||= $vga->[0] =~ /vga=(.*)/ && $1 if @$vga;
+ $bootloader{entries} = [];
+ my $entry;
+ my $f = "$::prefix/boot/grub2/grub.cfg";
+ my @menus;
+ foreach (cat_utf8($f)) {
+ next if /^#/;
+ if (/menuentry\s+['"]([^']+)["']/) {
+ $entry = { label => $1, real_label => join('>', @menus, $1) };
+ } elsif (/linux(?:16)?\s+([^-]\S+)\s+(.*)?/ || /module\s+(\S+vmlinu\S+)\s+(.*)?/) {
+ $entry->{type} = 'image';
+ @$entry{qw(kernel_or_dev append)} = ($1, $2);
+ my ($vga, $other) = partition { /^vga=/ } split(' ', $entry->{append});
+ if (@$vga) {
+ $entry->{vga} = $vga->[0] =~ /vga=(.*)/ && $1;
+ $entry->{append} = join(' ', @$other);
+ }
+ } elsif (/initrd(?:16)?\s+(\S+)/ || /module\s+(\S+initrd\S+)\s+(.*)?/) {
+ $entry->{initrd} = $1;
+ } elsif (/submenu\s+['"]([^']+)["']/) {
+ push @menus, $1;
+ } elsif (/^\s*}/) {
+ if ($entry) {
+ push @{$bootloader{entries}}, $entry;
+ undef $entry;
+ } else {
+ pop @menus;
+ }
+ }
+ }
-sub mkbootdisk {
- my ($kernelVersion, $dev, $append) = @_;
+ # get default entry:
+ foreach (run_program::rooted_get_stdout($::prefix, qw(grub2-editenv list))) {
+ $bootloader{default} = $1 if /saved_entry=(.*)/;
+ $bootloader{default} =~ s/.*>//; # strip full menu entry path
+ }
+
+ # Get password prior to run update-grub2:
+ $bootloader{password} = { getVarsFromSh(get_grub2_users()) }->{GRUB2_PASSWORD};
- modules::load(if_(arch() =~ /sparc/, 'romfs'), 'loop', 'vfat');
- my @l = if_($append, '--appendargs', $append);
- run_program::rooted_or_die($::prefix, 'mkbootdisk', '--noprompt', @l, '--device', "/dev/$dev", $kernelVersion);
+ $bootloader{method} = cat_($f) =~ /set theme=.*maggy/ ? 'grub2-graphic' : 'grub2';
+ \%bootloader;
}
-sub read() {
- my $file = sprintf("/etc/%s.conf", arch() =~ /sparc/ ? 'silo' : arch() =~ /ppc/ ? 'yaboot' : 'lilo');
- my $bootloader = $file =~ /lilo/ && detect_bootloader() =~ /GRUB/ ? read_grub() : read_lilo($file);
- if (my $default = find { $_ && $_->{append} } get_label($bootloader->{default}, $bootloader), @{$bootloader->{entries}}) {
- $bootloader->{perImageAppend} ||= $default->{append};
+sub read_grub2_install_sh() {
+ my $s = cat_(get_grub2_install_sh());
+ my %h;
+ if ($s =~ m!(/dev/\S+)!m) {
+ $h{boot} = $1;
+ }
+ $h{no_esp_or_mbr} = $s =~ m!--grub-setup=/bin/true!;
+ $h{removable} = $s =~ m!--removable!;
+ %h;
+}
+
+=item read_grub($fstab)
+
+Reads back Grub Legacy config.
+
+=cut
+
+sub read_grub {
+ my ($fstab) = @_;
+
+ my $grub2dev = read_grub_device_map();
+ my $boot_root = read_grub_install_sh();
+ _may_fix_grub2dev($fstab, $grub2dev, $boot_root->{boot_part});
+
+ my $bootloader = read_grub_menu_lst($fstab, $grub2dev) or return;
+
+ if ($boot_root->{boot}) {
+ $bootloader->{boot} = grub2dev($boot_root->{boot}, $grub2dev);
}
+
$bootloader;
}
-sub read_grub() {
+
+=item _may_fix_grub2dev($fstab, $grub2dev, $boot_part)
+
+Adapts device.map (aka $grub2dev) when for example hda is now sda.
+nb:
+
+=over 4
+
+=item * $boot_part comes from C</boot/grub/install.sh> C<root (hd...)> line
+
+=item * $grub2dev is C</boot/grub/device.map>
+
+=back
+
+=cut
+
+sub _may_fix_grub2dev {
+ my ($fstab, $grub2dev, $boot_part) = @_;
+
+ $boot_part or log::l("install.sh does not contain 'root (hd...)' line, no way to magically adapt device.map"), return;
+
+ my $real_boot_part = fs::get::root_($fstab, 'boot') or
+ log::l("argh... the fstab given is useless, it doesn't contain '/'"), return;
+
+ my $real_boot_dev = $real_boot_part->{rootDevice} or return; # if /boot is on Linux RAID 1, hope things are all right...
+
+ if (my $prev_boot_part = fs::get::device2part(grub2dev($boot_part, $grub2dev), $fstab)) { # the boot_device as far as grub config files say
+ $real_boot_part == $prev_boot_part and return;
+ }
+
+ log::l("WARNING: we have detected that device.map is inconsistent with the system");
+
+ my ($hd_grub, undef, undef) = parse_grub_file($boot_part); # extract hdX
+ if (my $prev_hd_grub = find { $grub2dev->{$_} eq $real_boot_dev } keys %$grub2dev) {
+ $grub2dev->{$prev_hd_grub} = $grub2dev->{$hd_grub};
+ log::l("swapping result: $hd_grub/$real_boot_dev and $prev_hd_grub/$grub2dev->{$hd_grub}");
+ } else {
+ log::l("argh... can't swap, setting $hd_grub to $real_boot_dev anyway");
+ }
+ $grub2dev->{$hd_grub} = $real_boot_dev;
+}
+
+=item read_grub_install_sh() {
+
+Reads "config" from /boot/grub/install.sh (mainly used partitions)
+
+=cut
+
+sub read_grub_install_sh() {
+ my $s = cat_("$::prefix/boot/grub/install.sh");
+ my %h;
+
+ #- matches either:
+ #- setup (hd0)
+ #- install (hd0,0)/boot/grub/stage1 d (hd0) (hd0,0)/boot/grub/stage2 p (hd0,0)/boot/grub/menu.lst
+ if ($s =~ /^(?:setup.*|install\s.*\sd)\s+(\(.*?\))/m) {
+ $h{boot} = $1;
+ }
+ if ($s =~ /^root\s+(\(.*?\))/m) {
+ $h{boot_part} = $1;
+ }
+ \%h;
+}
+
+sub _parse_grub_menu_lst() {
my $global = 1;
my ($e, %b);
- foreach (cat_("$::prefix/boot/grub/menu.lst")) {
- next if /^\s*#/ || /^\s*$/;
+
+ my $menu_lst_file = "$::prefix/boot/grub/menu.lst";
+ -e $menu_lst_file or return;
+
+ foreach (MDK::Common::File::cat_utf8($menu_lst_file)) {
+ my $verbatim = $_;
chomp;
- my ($keyword, $v) = /^\s*(\S+)\s*(.*?)\s*$/ or do {
- print STDERR "unknown line in /boot/grub/menu.lst: \"", chomp_($_), "\"\n";
- next;
- };
+ s/^\s*//; s/\s*$//;
+ next if /^#/ || /^$/;
+ my ($keyword, $v) = split('[ \t=]+', $_, 2) or
+ warn qq(unknown line in /boot/grub/menu.lst: "$_"\n), next;
+
+ if ($keyword eq 'root') {
+ #- rename to avoid name conflict
+ $keyword = 'grub_root';
+ }
+
if ($keyword eq 'title') {
push @{$b{entries}}, $e = { label => $v };
$global = 0;
} elsif ($global) {
- $b{$keyword} = $v eq '' ? 1 : ungrubify($v);
+ $b{$keyword} = $v;
} else {
- $e->{root} = $1 if $v =~ s/root=([^\s]*)\s*//;
if ($keyword eq 'kernel') {
- ($e->{kernel_or_dev}, $e->{append}) = split /\s+/, ungrubify($v), 2;
$e->{type} = 'image';
- } elsif ($keyword eq 'root') {
+ $e->{kernel} = $v;
+ } elsif ($keyword eq 'chainloader') {
$e->{type} = 'other';
- if ($v =~ /,/) {
- $e->{table} = grub2dev($v, 1);
- } else {
- $e->{unsafe} = 1;
- }
- $e->{kernel_or_dev} = grub2dev($v);
$e->{append} = "";
- } elsif ($keyword eq 'initrd') {
- $e->{$keyword} = ungrubify($v);
- } else {
- }
+ } elsif ($keyword eq 'configfile') {
+ $e->{type} = 'grub_configfile';
+ $e->{configfile} = $v;
+ } elsif ($keyword eq 'map') {
+ $e->{mapdrive}{$2} = $1 if $v =~ m/\((.*)\) \((.*)\)/;
+ } elsif ($keyword eq 'module') {
+ push @{$e->{modules}}, $v;
+ } else {
+ $e->{$keyword} = $v eq '' ? 1 : $v;
+ }
}
+ $e and $e->{verbatim} .= $verbatim;
}
- # Generating /etc/lilo.conf require having a boot device:
- foreach (cat_("$::prefix/boot/grub/install.sh")) {
- $b{boot} = grub2dev($1) if /\s+d\s+(\(.*?\))/;
+
+ %b;
+}
+
+
+=item is_already_crypted($password)
+
+Returns whether grub password is already encrypted or not
+
+=cut
+
+sub is_already_crypted {
+ my ($password) = @_;
+ $password =~ /^--md5 (.*)/;
+}
+
+=item read_grub_menu_lst($fstab, $grub2dev)
+
+Read config from /boot/grub/menu.lst
+
+=cut
+
+sub read_grub_menu_lst {
+ my ($fstab, $grub2dev) = @_;
+
+ my %b = _parse_grub_menu_lst();
+
+ foreach my $keyword (grep { $_ ne 'entries' } keys %b) {
+ $b{$keyword} = $b{$keyword} eq '' ? 1 : grub2file($b{$keyword}, $grub2dev, $fstab, \%b);
}
#- sanitize
- foreach (@{$b{entries}}) {
- my ($vga, $other) = partition { /^vga=/ } split(' ', $_->{append});
- if ($vga) {
- $_->{vga} = $vga->[0] =~ /vga=(.*)/ && $1;
- $_->{append} = join(' ', @$other);
+ foreach my $e (@{$b{entries}}) {
+ if (member($e->{type}, 'other', 'grub_configfile')) {
+ eval { $e->{kernel_or_dev} = grub2dev($e->{rootnoverify} || $e->{grub_root}, $grub2dev) };
+ $e->{keep_verbatim} = 1 unless $e->{kernel_or_dev};
+ } elsif ($e->{initrd}) {
+ my $initrd;
+ eval { $initrd = grub2file($e->{initrd}, $grub2dev, $fstab, $e) };
+ if ($initrd) {
+ $e->{initrd} = $initrd;
+ } else {
+ $e->{keep_verbatim} = 1;
+ }
+ }
+
+ if ($e->{kernel} =~ /xen/ && @{$e->{modules} || []} == 2 && $e->{modules}[1] =~ /initrd/) {
+ (my $xen, $e->{xen_append}) = split(' ', $e->{kernel}, 2);
+ ($e->{kernel}, my $initrd) = @{delete $e->{modules}};
+ $e->{xen} = grub2file($xen, $grub2dev, $fstab, $e);
+ $e->{initrd} = grub2file($initrd, $grub2dev, $fstab, $e);
+ }
+ if (my $v = delete $e->{kernel}) {
+ (my $kernel, $e->{append}) = split(' ', $v, 2);
+ $e->{append} = join(' ', grep { !/^BOOT_IMAGE=/ } split(' ', $e->{append}));
+ $e->{root} = $1 if $e->{append} =~ s/root=(\S*)\s*//;
+ eval { $e->{kernel_or_dev} = grub2file($kernel, $grub2dev, $fstab, $e) };
+ $e->{keep_verbatim} = 1 if !$e->{kernel_or_dev} || dirname($e->{kernel_or_dev}) ne '/boot';
+ }
+ my ($vga, $other) = partition { /^vga=/ } split(' ', $e->{append});
+ if (@$vga) {
+ $e->{vga} = $vga->[0] =~ /vga=(.*)/ && $1;
+ $e->{append} = join(' ', @$other);
}
}
$b{nowarn} = 1;
- $b{default} = $b{entries}[$b{default}]{label};
+ # handle broken installkernel -r:
+ if (@{$b{entries}}) {
+ $b{default} = min($b{default}, scalar(@{$b{entries}}) - 1);
+ $b{default} = $b{entries}[$b{default}]{label};
+ }
+ $b{method} = $b{gfxmenu} ? 'grub-graphic' : 'grub-menu';
\%b;
}
-sub read_lilo {
- my ($file) = @_;
+sub _parse_extlinux_conf() {
my $global = 1;
- my ($e, $v);
+ my ($e, %b);
+
+ my $f = "$::prefix/boot/extlinux/extlinux.conf";
+ -e $f or return;
+
+ foreach (cat_utf8($f)) {
+ chomp;
+ s/^\s*//; s/\s*$//;
+ next if /^#/ || /^$/;
+ my ($keyword, $v) = split('[ \t=]+', $_, 2) or
+ warn qq(unknown line in $f: "$_"\n), next;
+
+ $keyword = lc($keyword);
+
+ if ($keyword eq 'label') {
+ push @{$b{entries}}, $e = { label => $v };
+ $global = 0;
+ } elsif ($global) {
+ $b{$keyword} = $v;
+ } else {
+ if ($keyword eq 'kernel') {
+ $e->{type} = 'image';
+ $e->{kernel_or_dev} = $v;
+ } else {
+ $e->{$keyword} = $v;
+ }
+ }
+ }
+
+ %b;
+}
+
+sub read_uboot() {
+ my %b = _parse_extlinux_conf();
+
+ $b{method} = 'uboot';
+ $b{timeout} //= 30;
+
+ my $is_raspberry = cat_("/proc/device-tree/model") =~ /^Raspberry Pi/;
+ if ($is_raspberry) {
+ $b{perImageAppend} //= "8250.nr_uarts=1 console=ttyS0,115200 console=tty1 elevator=deadline cma=256M\@512M";
+ }
+
+ $b{perImageAppend} //= $b{entries}[0]{append};
+
+ \%b;
+}
+
+=item read_refind ($fstab)
+
+Read back rEFInd config + C</boot/refind_linux.conf>
+
+=cut
+
+sub read_refind() {
+ my %bootloader = (entries => []);
+ foreach (cat_utf8("$::prefix/boot/refind_linux.conf")) {
+ next if /^#/;
+ my ($label, $append) = /"(.*)"\s*"(.*)"/;
+ my $root = $1 if $append =~ s/root=(\S*)\s*//;
+ my $vga = $1 if $append =~ s/vga=(\S*)\s*//;
+ if ($label && $root) {
+ push @{$bootloader{entries}}, {
+ type => 'image',
+ kernel_or_dev => '/boot/vmlinuz',
+ label => $label,
+ root => $root,
+ append => $append,
+ vga => $vga
+ };
+ }
+ }
+ $bootloader{method} = 'refind';
+ read_refind_config(\%bootloader);
+ \%bootloader;
+}
+
+sub read_refind_config {
+ my ($bootloader) = @_;
+
+ #- These are the rEFInd default values.
+ $bootloader->{use_nvram} = 1;
+ $bootloader->{banner_path} = '';
+ $bootloader->{banner_scale} = 'noscale';
+
+ if (-r "$::prefix/boot/EFI/EFI/refind/refind.conf") {
+ read_refind_conf($bootloader, "$::prefix/boot/EFI/EFI/refind/refind.conf");
+ } elsif (-r "$::prefix/boot/EFI/EFI/BOOT/refind.conf") {
+ read_refind_conf($bootloader, "$::prefix/boot/EFI/EFI/BOOT/refind.conf");
+ } else {
+ #- This is the preferred value if rEFInd is not yet installed,
+ $bootloader->{banner_path} = 'refind_banner.png';
+ }
+}
+
+sub read_refind_conf {
+ my ($bootloader, $config_file) = @_;
+ foreach (cat_utf8($config_file)) {
+ if ($_ =~ /^\s*use_nvram\s+(false|off|0)/) {
+ $bootloader->{use_nvram} = 0;
+ } elsif ($_ =~ /^\s*banner\s+(\S*)/) {
+ $bootloader->{banner_path} = $1;
+ } elsif ($_ =~ /^\s*banner_scale\s+(\S*)/) {
+ $bootloader->{banner_scale} = $1;
+ }
+ }
+}
+
+# FIXME: actually read back previous conf
+sub read_cromwell() {
+ +{ method => 'cromwell' };
+}
+
+
+sub read_lilo() {
+ my $bootloader = read_lilo_like("/etc/lilo.conf", sub { $_[0] });
+
+ delete $bootloader->{timeout} unless $bootloader->{prompt};
+ $bootloader->{timeout} = $bootloader->{timeout} / 10 if $bootloader->{timeout};
+
+ my $submethod = member($bootloader->{install}, 'text', 'menu') ? $bootloader->{install} : 'menu';
+ $bootloader->{method} = "lilo-$submethod";
+
+ $bootloader;
+}
+sub read_lilo_like {
+ my ($file, $filter_file) = @_;
+
+ my $global = 1;
+ my ($e);
my %b;
- foreach (cat_("$::prefix$file")) {
- next if /^\s*#/ || /^\s*$/;
- ($_, $v) = /^\s*([^=\s]+)\s*(?:=\s*(.*?))?\s*$/ or log::l("unknown line in $file: $_"), next;
-
- if (/^(image|other)$/) {
- if (arch() =~ /ppc/) {
- $v =~ s/hd:\d+,//g;
- }
- push @{$b{entries}}, $e = { type => $_, kernel_or_dev => $v };
+ -e "$::prefix$file" or return;
+ foreach my $line (cat_("$::prefix$file")) {
+ next if $line =~ /^\s*#/ || $line =~ /^\s*$/;
+ my ($cmd, $v) = $line =~ /^\s*([^=\s]+)\s*(?:=\s*(.*?))?\s*$/ or log::l("unknown line in $file: $line"), next;
+
+ if ($cmd =~ /^(?:image|other|macos|macosx|bsd|darwin)$/) {
+ $v = $filter_file->($v);
+ push @{$b{entries}}, $e = { type => $cmd, kernel_or_dev => $v };
$global = 0;
} elsif ($global) {
- if ($_ eq 'disk' && $v =~ /(\S+)\s+bios\s*=\s*(\S+)/) {
+ if ($cmd eq 'disk' && $v =~ /(\S+)\s+bios\s*=\s*(\S+)/) {
$b{bios}{$1} = $2;
- } elsif ($_ eq 'bios') {
+ } elsif ($cmd eq 'bios') {
$b{bios}{$b{disk}} = $v;
- } elsif ($_ eq 'init-message') {
+ } elsif ($cmd eq 'init-message') {
$v =~ s/\\n//g;
$v =~ s/"//g;
$b{'init-message'} = $v;
} else {
- $b{$_} = $v eq '' ? 1 : $v;
+ $b{$cmd} = $v eq '' ? 1 : $v;
}
} else {
- if ((/map-drive/ .. /to/) && /to/) {
+ if (($cmd eq 'map-drive' .. $cmd eq 'to') && $cmd eq 'to') {
$e->{mapdrive}{$e->{'map-drive'}} = $v;
} else {
- if (arch() =~ /ppc/) {
- $v =~ s/hd:\d+,//g;
- $v =~ s/"//g;
+ if ($cmd eq 'initrd') {
+ $v = $filter_file->($v);
}
- $e->{$_} = $v || 1 if !member($_, 'read-only');
+ $e->{$cmd} = $v || 1;
}
}
}
- if (arch() !~ /ppc/) {
- delete $b{timeout} unless $b{prompt};
- sub remove_quotes_and_spaces {
- local ($_) = @_;
- s/^\s*//; s/\s*$//;
- s/^"(.*?)"$/$1/;
- $_;
+
+ sub remove_quotes_and_spaces {
+ local ($_) = @_;
+ s/^\s*//; s/\s*$//;
+ s/^"(.*?)"$/$1/;
+ s/\\"/"/g;
+ s/^\s*//; s/\s*$//; #- do it again for append=" foo"
+ $_;
+ }
+
+ foreach ('append', 'root', 'default', 'raid-extra-boot') {
+ $b{$_} = remove_quotes_and_spaces($b{$_}) if $b{$_};
+ }
+ foreach my $entry (@{$b{entries}}) {
+ foreach ('append', 'root', 'label') {
+ $entry->{$_} = remove_quotes_and_spaces($entry->{$_}) if $entry->{$_};
+ }
+ if ($entry->{kernel_or_dev} =~ /\bmbootpack\b/) {
+ $entry->{initrd} = $entry->{kernel_or_dev};
+ $entry->{initrd} =~ s/\bmbootpack/initrd/;
+ $entry->{kernel_or_dev} =~ s/\bmbootpack/vmlinuz/;
+ $entry->{kernel_or_dev} =~ s/.img$//;
+ #- assume only xen is configured with mbootpack
+ $entry->{xen} = '/boot/xen.gz';
+ $entry->{root} = $1 if $entry->{append} =~ s/root=(\S*)\s*//;
+ ($entry->{xen_append}, $entry->{append}) = split '\s*--\s*', $entry->{append}, 2;
}
- $_->{append} = remove_quotes_and_spaces($_->{append}) foreach \%b, @{$b{entries}};
- $_->{label} = remove_quotes_and_spaces($_->{label}) foreach @{$b{entries}};
- $b{default} = remove_quotes_and_spaces($b{default}) if $b{default};
- $b{timeout} = $b{timeout} / 10 if $b{timeout};
- delete $b{message};
}
- #- cleanup duplicate labels (in case file is corrupted)
- my %seen;
- @{$b{entries}} = grep { !$seen{$_->{label}}++ } @{$b{entries}};
+ # cleanup duplicate labels (in case file is corrupted)
+ @{$b{entries}} = uniq_ { $_->{label} } @{$b{entries}};
\%b;
}
+sub cleanup_entries {
+ my ($bootloader) = @_;
+
+ #- cleanup bad entries (in case file is corrupted)
+ @{$bootloader->{entries}} =
+ grep {
+ my $pb = $_->{type} eq 'image' && !$_->{keep_verbatim} && ! -e "$::prefix$_->{kernel_or_dev}";
+ log::l("dropping bootloader entry $_->{label} since $_->{kernel_or_dev} doesn't exist") if $pb;
+ !$pb;
+ } @{$bootloader->{entries}};
+}
+
sub suggest_onmbr {
my ($hd) = @_;
@@ -209,7 +850,7 @@ sub suggest_onmbr {
if (my $type = partition_table::raw::typeOfMBR($hd->{device})) {
if (member($type, qw(dos dummy empty))) {
$unsafe = 0;
- } elsif (!member($type, qw(lilo grub))) {
+ } elsif (!member($type, qw(lilo grub grub2))) {
$onmbr = 0;
}
log::l("bootloader::suggest_onmbr: type $type, onmbr $onmbr, unsafe $unsafe");
@@ -217,21 +858,54 @@ sub suggest_onmbr {
($onmbr, $unsafe);
}
-sub mixed_kind_of_disks {
- my ($hds) = @_;
- (find { $_->{device} =~ /^sd/ } @$hds) && (find { $_->{device} =~ /^hd/ } @$hds) ||
- (find { $_->{device} =~ /^hd[e-z]/ } @$hds) && (find { $_->{device} =~ /^hd[a-d]/ } @$hds);
+=item allowed_boot_disks($bootloader, $all_hds)
+
+Returns list of disks where we can install the bootloader when not in UEFI mode
+(accounting for misssing BIOS boot partitions on GPT disks)
+in UEFI mode, grub2 automatically look for the ESP).
+
+=cut
+
+sub allowed_boot_disks {
+ my ($all_hds) = @_;
+ # GPT disks w/o a BIOS boot partition do not have free space for grub2 to embed:
+ grep { $_->{pt_table_type} ne 'gpt' ||
+ any { isBIOS_GRUB($_) } map { partition_table::get_normal_parts($_) } $_;
+ } @{$all_hds->{hds}};
+}
+
+=item allowed_boot_parts($bootloader, $all_hds)
+
+Returns list of places where we can install the bootloader when not in UEFI mode
+(in UEFI mode, grub2 automatically look for the ESP).
+
+=cut
+
+sub allowed_boot_parts {
+ my ($bootloader, $all_hds) = @_;
+ (
+ allowed_boot_disks($all_hds), # MBR
+
+ if_($bootloader->{method} =~ /lilo/,
+ grep { $_->{level} eq '1' } @{$all_hds->{raids}}
+ ),
+ (if_(main_method($bootloader->{method}) ne 'grub2',
+ grep { !isFat_or_NTFS($_) } fs::get::fstab($all_hds)), # filesystems except those who do not leave space for our bootloaders
+ ),
+ detect_devices::floppies(),
+ );
}
sub same_entries {
my ($a, $b) = @_;
foreach (uniq(keys %$a, keys %$b)) {
- if ($_ eq 'label') {
+ if (member($_, 'label', 'append', 'mapdrive', 'readonly', 'makeactive', 'verbatim')) {
+ next;
+ } elsif ($_ eq 'grub_root' && (!$a->{$_} || !$b->{$_})) {
+ #- grub_root is mostly internal stuff. if it misses, it's ok
next;
- } elsif ($_ eq 'append') {
- next if join(' ', sort split(' ', $a->{$_})) eq join(' ', sort split(' ', $b->{$_}))
} else {
next if $a->{$_} eq $b->{$_};
@@ -239,7 +913,7 @@ sub same_entries {
next if $inode_a && $inode_b && $inode_a == $inode_b;
}
- log::l("entries $a->{label} don't have same $_: $a->{$_} ne $b->{$_}");
+ log::l("entries $a->{label} do not have same $_: $a->{$_} ne $b->{$_}");
return;
}
1;
@@ -249,7 +923,8 @@ sub add_entry {
my ($bootloader, $v) = @_;
my $to_add = $v;
- foreach my $label ($v->{label}, map { 'old' . $_ . '_' . $v->{label} } ('', 2..10)) {
+ my $label = $v->{label};
+ for (my $i = 0; $i < 100;) {
my $conflicting = get_label($label, $bootloader);
$to_add->{label} = $label;
@@ -257,6 +932,9 @@ sub add_entry {
if ($conflicting) {
#- replacing $conflicting with $to_add
@{$bootloader->{entries}} = map { $_ == $conflicting ? $to_add : $_ } @{$bootloader->{entries}};
+
+ #- we will keep $conflicting, but not with same symlinks if used by the entry to add
+ expand_entry_symlinks($bootloader, $conflicting);
} else {
#- we have found an unused label
push @{$bootloader->{entries}}, $to_add;
@@ -267,50 +945,177 @@ sub add_entry {
return $v;
}
$to_add = $conflicting;
+
+ if ($to_add->{label} eq 'linux') {
+ $label = kernel_str2label(vmlinuz2kernel_str($to_add->{kernel_or_dev}), 'use_long_name');
+ } else {
+ $label =~ s/^alt\d*_//;
+ $label = 'alt' . ($i++ ? $i : '') . "_$label";
+ }
}
die 'add_entry';
}
-sub add_kernel {
- my ($bootloader, $version, $ext, $root, $v) = @_;
+sub expand_entry_symlinks {
+ my ($bootloader, $entry) = @_;
+
+ foreach my $kind ('kernel_or_dev', 'initrd') {
+ my $old_long_name = $bootloader->{old_long_names} && $bootloader->{old_long_names}{$entry->{$kind}} or next;
- #- new versions of yaboot don't handle symlinks
- my $ppcext = $ext;
- if (arch() =~ /ppc/) {
- $ext = "-$version";
+ #- replace all the {$kind} using this symlink to the real file
+ log::l("replacing $entry->{$kind} with $old_long_name for bootloader label $entry->{label}");
+ $entry->{$kind} = $old_long_name;
}
+}
- log::l("adding vmlinuz$ext as vmlinuz-$version");
- -e "$::prefix/boot/vmlinuz-$version" or log::l("unable to find kernel image $::prefix/boot/vmlinuz-$version"), return;
- my $image = "/boot/vmlinuz" . ($ext ne "-$version" &&
- symlinkf("vmlinuz-$version", "$::prefix/boot/vmlinuz$ext") ? $ext : "-$version");
+sub _do_the_symlink {
+ my ($bootloader, $link, $long_name) = @_;
- my $initrd = "/boot/initrd-$version.img";
- mkinitrd($version, $initrd) or undef $initrd;
- if ($initrd && $ext ne "-$version") {
- $initrd = "/boot/initrd$ext.img";
- symlinkf("initrd-$version.img", "$::prefix$initrd") or cp_af("$::prefix/boot/initrd-$version.img", "$::prefix$initrd");
+ my $existing_link = readlink("$::prefix$link");
+ if ($existing_link && $existing_link eq $long_name) {
+ #- nothing to do :)
+ return;
+ }
+
+ if ($existing_link) {
+ #- the symlink is going to change!
+ #- replace all the {$kind} using this symlink to the real file
+ my $old_long_name = $existing_link =~ m!^/! ? $existing_link : "/boot/$existing_link";
+ if (-e "$::prefix$old_long_name") {
+ $bootloader->{old_long_names}{$link} = $old_long_name;
+ } else {
+ log::l("ERROR: $link points to $old_long_name which does not exist");
+ }
+ } elsif (-e "$::prefix$link") {
+ log::l("ERROR: $link is not a symbolic link");
}
- my $label = $ext =~ /-(default)/ ? $1 : $ext =~ /\d\./ && sanitize_ver("linux-$version") || "linux$ext";
+ #- changing the symlink
+ symlinkf($long_name, "$::prefix$link")
+ or cp_af("$::prefix/boot/$long_name", "$::prefix$link");
+}
- #- more yaboot concessions - PPC
- if (arch() =~ /ppc/) {
- $label = $ppcext =~ /-(default)/ ? $1 : "linux$ppcext";
+# for lilo & xen
+sub get_mbootpack_filename {
+ my ($entry) = @_;
+ my $mbootpack_file = $entry->{initrd};
+ $mbootpack_file =~ s/\binitrd/mbootpack/;
+ $entry->{xen} && $mbootpack_file;
+}
+
+# for lilo & xen
+sub build_mbootpack {
+ my ($entry) = @_;
+
+ my $mbootpack = '/usr/bin/mbootpack';
+ -f $::prefix . $entry->{kernel_or_dev} && -f $::prefix . $entry->{initrd} or return;
+
+ my $mbootpack_file = get_mbootpack_filename($entry);
+ -f ($::prefix . $mbootpack_file) and return 1;
+
+ my $error;
+ my $xen_kernel = '/tmp/xen_kernel';
+ my $xen_vmlinux = '/tmp/xen_vmlinux';
+ my $_b = before_leaving { unlink $::prefix . $_ foreach $xen_kernel, $xen_vmlinux };
+ run_program::rooted($::prefix, '/bin/gzip', '>', $xen_kernel, '2>', \$error, '-dc', $entry->{xen})
+ or die "unable to uncompress xen kernel";
+ run_program::rooted($::prefix, '/bin/gzip', '>', $xen_vmlinux, '2>', \$error, '-dc', $entry->{kernel_or_dev})
+ or die "unable to uncompress xen vmlinuz";
+
+ run_program::rooted($::prefix, $mbootpack,
+ "2>", \$error,
+ '-o', $mbootpack_file,
+ '-m', $xen_vmlinux,
+ '-m', $entry->{initrd},
+ $xen_kernel)
+ or die "mbootpack failed: $error";
+
+ 1;
+}
+
+sub add_kernel {
+ my ($bootloader, $kernel_str, $v, $b_nolink, $b_no_initrd) = @_;
+
+ #- eg: for /boot/vmlinuz-2.6.17-13mdvxen0 (pkg kernel-xen0-xxx)
+ #- or /boot/vmlinuz-2.6.18-xen (pkg kernel-xen-uptodate)
+ if ($kernel_str->{version} =~ /xen/ && -f '/boot/xen.gz') {
+ $v->{xen} = '/boot/xen.gz';
}
add2hash($v,
{
type => 'image',
- root => "/dev/$root",
- label => $label,
- kernel_or_dev => $image,
- initrd => $initrd,
- append => $bootloader->{perImageAppend},
+ label => kernel_str2label($kernel_str),
});
+
+ #- normalize append and handle special options
+ {
+ my ($simple, $dict) = unpack_append("$bootloader->{perImageAppend} $v->{append}");
+ if ($v->{label} eq 'failsafe') {
+ #- perImageAppend contains resume=/dev/xxx which we don't want
+ @$dict = grep { $_->[0] ne 'resume' } @$dict;
+ }
+ $v->{append} = pack_append($simple, $dict);
+ }
+
+ $b_nolink ||= $kernel_str->{use_long_name};
+
+ #- do not link /boot/vmlinuz to xen
+ $b_nolink ||= $v->{xen};
+
+ my $vmlinuz_long = kernel_str2vmlinuz_long($kernel_str);
+ my $initrd_long = kernel_str2initrd_long($kernel_str);
+ $v->{kernel_or_dev} = "/boot/$vmlinuz_long";
+ -e "$::prefix$v->{kernel_or_dev}" or log::l("unable to find kernel image $::prefix$v->{kernel_or_dev}"), return;
+ log::l("adding $v->{kernel_or_dev}");
+
+ if (!$b_no_initrd) {
+ $v->{initrd} = mkinitrd($kernel_str->{version}, $bootloader, $v, "/boot/$initrd_long");
+ }
+
+ my $liblinux_long = kernel_str2liblinux_long($kernel_str);
+ if (-d "$::prefix$liblinux_long") {
+ $v->{liblinux} = $v->{fdtdir} = $liblinux_long;
+ }
+
+ if (!$b_nolink) {
+ $v->{kernel_or_dev} = '/boot/' . kernel_str2vmlinuz_short($kernel_str);
+ _do_the_symlink($bootloader, $v->{kernel_or_dev}, $vmlinuz_long);
+
+ if ($v->{initrd}) {
+ $v->{initrd} = '/boot/' . kernel_str2initrd_short($kernel_str);
+ _do_the_symlink($bootloader, $v->{initrd}, $initrd_long);
+ }
+
+ if ($v->{liblinux}) {
+ $v->{liblinux} = kernel_str2liblinux_short();
+ _do_the_symlink($bootloader, $v->{liblinux}, basename($liblinux_long));
+ }
+ }
+
add_entry($bootloader, $v);
}
+=item rebuild_initrds($bootloader)
+
+Rebuilds all initrds
+
+=cut
+
+sub rebuild_initrds {
+ my ($bootloader) = @_;
+
+ my %done;
+ foreach my $v (grep { $_->{initrd} } @{$bootloader->{entries}}) {
+ my $kernel_str = vmlinuz2kernel_str($v->{kernel_or_dev}) or next;
+ my $initrd_long = '/boot/' . kernel_str2initrd_long($kernel_str);
+ next if $done{$initrd_long}++;
+
+ rebuild_initrd($kernel_str->{version}, $bootloader, $v, $initrd_long);
+ }
+}
+
+# unused (?)
sub duplicate_kernel_entry {
my ($bootloader, $new_label) = @_;
@@ -320,42 +1125,52 @@ sub duplicate_kernel_entry {
add_entry($bootloader, $entry);
}
+my $uniq_dict_appends = join('|', qw(acpi pci resume PROFILE XFree));
+
sub unpack_append {
my ($s) = @_;
- my @l = split(' ', $s);
+ my @l = "$s " =~ /((?:[^"\s]+|".*?")*)\s+/g;
[ grep { !/=/ } @l ], [ map { if_(/(.*?)=(.*)/, [$1, $2]) } @l ];
}
sub pack_append {
my ($simple, $dict) = @_;
- join(' ', @$simple, map { "$_->[0]=$_->[1]" } @$dict);
-}
-
-sub append__mem_is_memsize { $_[0] =~ /^\d+[kM]?$/i }
-sub get_append {
- my ($b, $key) = @_;
- my ($simple, $dict) = unpack_append($b->{perImageAppend});
- if (member($key, @$simple)) {
- return 1;
- }
- my @l = map { $_->[1] } grep { $_->[0] eq $key } @$dict;
+ #- normalize
+ $simple = [ reverse(uniq(reverse @$simple)) ];
+ $dict = [ reverse(uniq_ {
+ my ($k, $v) = @$_;
+ $k =~ /^($uniq_dict_appends)$/ ? $k : "$k=$v";
+ } reverse @$dict) ];
- #- suppose we want the memsize
- @l = grep { append__mem_is_memsize($_) } @l if $key eq 'mem';
-
- log::l("more than one $key in $b->{perImageAppend}") if @l > 1;
- $l[0];
+ join(' ', @$simple, map { "$_->[0]=$_->[1]" } @$dict);
}
+
sub modify_append {
my ($b, $f) = @_;
- foreach (\$b->{perImageAppend}, map { \$_->{append} } grep { $_->{type} eq 'image' } @{$b->{entries}}) {
+ my @l = grep { $_->{type} eq 'image' && !$_->{keep_verbatim} && !($::isStandalone && $_->{label} eq 'failsafe') } @{$b->{entries}};
+
+ foreach (\$b->{perImageAppend}, map { \$_->{append} } @l) {
my ($simple, $dict) = unpack_append($$_);
$f->($simple, $dict);
$$_ = pack_append($simple, $dict);
log::l("modify_append: $$_");
}
}
+
+sub get_append_simple {
+ my ($b, $key) = @_;
+ my ($simple, $_dict) = unpack_append($b->{perImageAppend});
+ member($key, @$simple);
+}
+sub get_append_with_key {
+ my ($b, $key) = @_;
+ my ($_simple, $dict) = unpack_append($b->{perImageAppend});
+ my @l = map { $_->[1] } grep { $_->[0] eq $key } @$dict;
+
+ log::l("more than one $key in $b->{perImageAppend}") if @l > 1;
+ $l[0];
+}
sub remove_append_simple {
my ($b, $key) = @_;
modify_append($b, sub {
@@ -363,345 +1178,383 @@ sub remove_append_simple {
@$simple = grep { $_ ne $key } @$simple;
});
}
-sub set_append {
- my $has_val = @_ > 2;
+sub set_append_with_key {
my ($b, $key, $val) = @_;
modify_append($b, sub {
- my ($simple, $dict) = @_;
- if ($has_val) {
- @$dict = grep { $_->[0] ne $key || $key eq 'mem' && append__mem_is_memsize($_->[1]) != append__mem_is_memsize($val) } @$dict;
- push @$dict, [ $key, $val ] if $val;
+ my ($_simple, $dict) = @_;
+
+ if ($val eq '') {
+ @$dict = grep { $_->[0] ne $key } @$dict;
} else {
- @$simple = grep { $_ ne $key } @$simple;
- push @$simple, $key;
+ push @$dict, [ $key, $val ];
}
});
}
-sub may_append {
+sub set_append_simple {
+ my ($b, $key) = @_;
+
+ modify_append($b, sub {
+ my ($simple, $_dict) = @_;
+ @$simple = uniq(@$simple, $key);
+ });
+}
+sub may_append_with_key {
my ($b, $key, $val) = @_;
- set_append($b, $key, $val) if !get_append($b, $key);
+ set_append_with_key($b, $key, $val) if !get_append_with_key($b, $key);
}
+sub get_append_netprofile {
+ my ($e) = @_;
+ my ($simple, $dict) = unpack_append($e->{append});
+ my ($p, $dict_) = partition { $_->[0] eq 'PROFILE' } @$dict;
+ pack_append($simple, $dict_), $p->[0][1];
+}
+sub set_append_netprofile {
+ my ($e, $append, $profile) = @_;
+ my ($simple, $dict) = unpack_append($append);
+ push @$dict, [ 'PROFILE', $profile ] if $profile;
+ $e->{append} = pack_append($simple, $dict);
+}
+
+=item configure_entry($bootloader, $entry)
+
+Used when a bootloader $entry has been modified (eg: $entry->{vga})
+
+=cut
+
sub configure_entry {
- my ($entry) = @_;
- if ($entry->{type} eq 'image') {
- my $specific_version;
- $entry->{kernel_or_dev} =~ /vmlinu.-(.*)/ and $specific_version = $1;
- readlink("$::prefix/$entry->{kernel_or_dev}") =~ /vmlinu.-(.*)/ and $specific_version = $1;
-
- if ($specific_version) {
- $entry->{initrd} or $entry->{initrd} = "/boot/initrd-$specific_version.img";
- mkinitrd($specific_version, $entry->{initrd}) or undef $entry->{initrd};
- }
+ my ($bootloader, $entry) = @_;
+ $entry->{type} eq 'image' or return;
+
+ if (my $kernel_str = vmlinuz2kernel_str($entry->{kernel_or_dev})) {
+ $entry->{initrd} =
+ mkinitrd($kernel_str->{version}, $bootloader, $entry,
+ $entry->{initrd} || '/boot/' . kernel_str2initrd_short($kernel_str));
}
- $entry;
}
-sub dev2prompath { #- SPARC only
- my ($dev) = @_;
- my ($wd, $num) = $dev =~ /^(.*\D)(\d*)$/;
- require c;
- $dev = c::disk2PromPath($wd) and $dev = $dev =~ /^sd\(/ ? "$dev$num" : "$dev;$num";
- $dev;
+sub get_kernels_and_labels_before_kernel_remove {
+ my ($to_remove_kernel) = @_;
+ my @kernels = grep { $_ ne $to_remove_kernel } installed_vmlinuz();
+ map { kernel_str2label($_) => $_ } get_kernel_labels(\@kernels);
}
sub get_kernels_and_labels() {
- my $dir = "$::prefix/boot";
- my @l = grep { /^vmlinuz-/ } all($dir);
- my @kernels = grep { ! -l "$dir/$_" } @l;
+ get_kernel_labels([ installed_vmlinuz() ]);
+}
- my @preferred = ('', 'secure', 'enterprise', 'smp');
- my %weights = map_index { $_ => $::i } @preferred;
+sub get_kernel_labels {
+ my ($kernels) = @_;
- require pkgs;
- @kernels =
- sort { c::rpmvercmp($b->[1], $a->[1]) || $weights{$a->[2]} <=> $weights{$b->[2]} }
- grep { -d "$::prefix/lib/modules/$_->[0]" }
- map {
- if (my ($version, $ext) = /vmlinuz-((?:[\-.\d]*(?:mdk)?)*)(.*)/) {
- [ "$version$ext", $version, $ext ];
- } else {
- log::l("non recognised kernel name $_");
- ();
- }
- } @kernels;
-
- my %majors;
- foreach (@kernels) {
- push @{$majors{$1}}, $_ if $_->[1] =~ /^(2\.\d+)/
- }
- while (my ($major, $l) = each %majors) {
- $l->[0][1] = $major if @$l == 1;
- }
+ my @kernels_str =
+ sort { common::cmp_kernel_versions($b->{version_no_ext}, $a->{version_no_ext}) }
+ grep { -d "$::prefix/lib/modules/$_->{version}" }
+ map { vmlinuz2kernel_str($_) } @$kernels;
my %labels;
- foreach (@kernels) {
- my ($complete_version, $version, $ext) = @$_;
- my $label = '';
- if (exists $labels{$label}) {
- $label = "-$ext";
- if (!$ext || $labels{$label}) {
- $label = "-$version$ext";
- }
+ foreach (@kernels_str) {
+ if ($labels{$_->{ext}}) {
+ $_->{use_long_name} = 1;
+ } else {
+ $labels{$_->{ext}} = 1;
}
- $labels{$label} = $complete_version;
- }
- %labels;
-}
-
-# sanitize_ver: long function when it could be shorter but we are sure
-# to catch everything and can be readable if we want to
-# add new scheme name.
-# DUPLICATED from /usr/share/loader/common.pm
-my $mdksub = "smp|enterprise|secure|linus|mosix|BOOT|custom";
-
-sub sanitize_ver {
- my $string = shift;
- my $return;
- my ($ehad, $chtaim, $chaloch, $arba, $hamesh, $chech); #where that names come from ;)
-
- if ($string =~ m|([^-]+)-([^-]+)(-([^-]+))?(-([^-]*))?|) {
- $ehad = $1; $chtaim = $2; $chaloch = $3; $arba = $4; $hamesh = $5; $chech = $6;
- }
-
- if ($chtaim =~ m|mdk| && $chech =~ m|mdk(${mdksub})|) { #new mdk with mdksub
- my $s = $1;
- $return = "$1$2$3-$4$s" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)\.(\d+)mdk|;
- } elsif ($chaloch =~ m|mdk| && $chtaim =~ /pre\d+/
- && $arba =~ m|(\d+)mdk(${mdksub})?|) { #new mdk with mdksub
- my $r = $1;
- my $s = $2 ? $2 : "";
- $return = "$1$2$3-p$4$r$s" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)pre(\d+)|;
- } elsif ($chtaim =~ m|mdk$|) { #new mdk
- $return = "$1$2$3-$4" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)\.(\d+)mdk$|;
- } elsif ($chaloch =~ m|(\d+)mdk(${mdksub})$|) { #old mdk with mdksub
- my $s = "$1$2";
- $return = "$1$2$3-$s" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)|;
- } elsif ($chaloch =~ m|(\d+)mdk$|) { #old mdk
- my $s = $1;
- $return = "$1$2$3-$s" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)|;
- } elsif (!defined($chaloch)) { #linus/marcelo vanilla
- $return = "$1$2$3" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)$|;
- } else { #a pre ac vanilla or whatever with EXTRAVERSION
- $return = "$1$2$3${chaloch}" if $chtaim =~ m|^(\d+)\.(\d+)\.(\d+)$|;
- }
- $return =~ s|\.||g; $return =~ s|mdk||; $return =~ s|secure|sec|; $return =~ s|enterprise|ent|;
- return $return;
+ }
+
+ $kernels_str[0]{ext} = '';
+
+ @kernels_str;
}
-sub suggest {
- my ($bootloader, $hds, $fstab, %options) = @_;
- my $root_part = fsedit::get_root($fstab);
- my $root = isLoopback($root_part) ? "loop7" : $root_part->{device};
- my $boot = fsedit::get_root($fstab, 'boot')->{device};
- my $partition = first($boot =~ /\D*(\d*)/);
- #- PPC xfs module requires enlarged initrd
- my $xfsroot = isThisFs("xfs", $root_part);
-
- require c; c::initSilo() if arch() =~ /sparc/;
-
- my ($onmbr, $unsafe) = $bootloader->{crushMbr} ? (1, 0) : suggest_onmbr($hds->[0]);
- add2hash_($bootloader, arch() =~ /sparc/ ?
- {
- entries => [],
- timeout => 10,
- use_partition => 0, #- we should almost always have a whole disk partition.
- root => "/dev/$root",
- partition => $partition || 1,
- boot => $root eq $boot && "/boot", #- this helps for getting default partition for silo.
- } : arch() =~ /ppc/ ?
- {
- defaultos => "linux",
- entries => [],
- 'init-message' => "Welcome to Mandrake Linux!",
- delay => 30, #- OpenFirmware delay
- timeout => 50,
- enableofboot => 1,
- enablecdboot => 1,
- useboot => $boot,
- xfsroot => $xfsroot,
- } :
- {
- bootUnsafe => $unsafe,
- entries => [],
- timeout => $onmbr && 10,
- nowarn => 1,
- if_(arch() !~ /ia64/,
- boot => "/dev/" . ($onmbr ? $hds->[0]{device} : fsedit::get_root($fstab, 'boot')->{device}),
- map => "/boot/map",
- ),
- });
+sub short_ext {
+ my ($kernel_str) = @_;
+
+ my $short_ext = {
+ 'xen0' => 'xen',
+ }->{$kernel_str->{ext}};
+
+ $short_ext || $kernel_str->{ext};
+}
+
+sub _sanitize_ver {
+ my ($kernel_str) = @_;
+
+ my $name = $kernel_str->{basename};
+ $name = '' if $name eq 'vmlinuz';
+
+ my $v = $kernel_str->{version_no_ext};
+
+ $v =~ s!(md[kv]|mnb)$!!;
+ $v =~ s!-0\.(pre|rc)(\d+)\.!$1$2-!;
+
+ my $return = join(' ', grep { $_ } $name, short_ext($kernel_str), $v);
+
+ $return;
+}
+
+=item suggest_message_text($bootloader)
+
+Provides a description text for Lilo
+
+=cut
+
+sub suggest_message_text {
+ my ($bootloader) = @_;
- if (!$bootloader->{message} || $bootloader->{message} eq "1") {
+ if (!$bootloader->{message} && !$bootloader->{message_text}) {
my $msg_en =
#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-N_("Welcome to %s the operating system chooser!
+N_("Welcome to the operating system chooser!
Choose an operating system from the list above or
-wait %d seconds for default boot.
+wait for default boot.
");
my $msg = translate($msg_en);
- #- use the english version if more than 20% of 8bits chars
- $msg = $msg_en if int(grep { $_ & 0x80 } unpack "c*", $msg) / length($msg) > 0.2;
- $bootloader->{message} = sprintf $msg, arch() =~ /sparc/ ? "SILO" : "LILO", $bootloader->{timeout};
+ #- use the English version if more than 40% of 8bits chars
+ #- else, use the translation but force a conversion to ascii
+ #- to be sure there won't be undisplayable characters
+ if (int(grep { $_ & 0x80 } unpack "c*", $msg) / length($msg) > 0.4) {
+ $msg = $msg_en;
+ } else {
+ $msg = Locale::gettext::iconv($msg, "utf-8", "ascii//TRANSLIT");
+ }
+ $bootloader->{message_text} = $msg;
}
+}
+
+sub suggest {
+ my ($bootloader, $all_hds, %options) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my $root_part = fs::get::root($fstab);
+ my $root = isLoopback($root_part) ? '/dev/loop7' : fs::wild_device::from_part('', $root_part);
+ my $boot = fs::get::root($fstab, 'boot')->{device};
+ my $mbr;
+
+ # If installing onto an USB drive, put the MBR there, else on the first non removable drive
+ if ($root_part->{is_removable}) {
+ $mbr = fs::get::part2hd($root_part, $all_hds);
+ } else {
+ $mbr = find { !$_->{is_removable} } allowed_boot_disks($all_hds);
+ }
+
+ my ($onmbr, $unsafe) = $bootloader->{crushMbr} ? (1, 0) : suggest_onmbr($mbr);
+ add2hash_($bootloader,
+ {
+ bootUnsafe => $unsafe,
+ entries => [],
+ timeout => $onmbr && 10,
+ nowarn => 1,
+ boot => "/dev/" . ($onmbr ? $mbr->{device} : $boot),
+ map => "/boot/map",
+ compact => 1,
+ 'large-memory' => 1,
+ color => 'black/cyan yellow/cyan',
+ 'menu-scheme' => 'wb:bw:wb:bw'
+ });
+
+ suggest_message_text($bootloader);
add2hash_($bootloader, { memsize => $1 }) if cat_("/proc/cmdline") =~ /\bmem=(\d+[KkMm]?)(?:\s.*)?$/;
if (my ($s, $port, $speed) = cat_("/proc/cmdline") =~ /console=(ttyS(\d),(\d+)\S*)/) {
log::l("serial console $s $port $speed");
- set_append($bootloader, 'console' => $s);
+ set_append_with_key($bootloader, console => $s);
any::set_login_serial_console($port, $speed);
}
- #- add a restore entry if installation is done from disk, in order to allow redoing it.
- if (my $hd_install_path = any::hdInstallPath()) {
- my ($cmdline, $vga);
- if ($::restore && -e "/tmp/image/boot/vmlinuz" && -e "/tmp/image/boot/all.rdz" &&
- ($cmdline = cat_("/tmp/image/boot/grub/menu.lst") =~ m|kernel \S+/boot/vmlinuz (.*)$|m)) {
- #- cmdline should'n have any reference to vga=...
- $cmdline =~ s/vga=(\S+)//g and $vga = $1;
- log::l("copying kernel and stage1 install to $::prefix/boot/restore");
- eval { mkdir "$::prefix/boot/restore";
- cp_af("/tmp/image/boot/vmlinuz", "$::prefix/boot/restore/vmlinuz");
- cp_af("/tmp/image/boot/all.rdz", "$::prefix/boot/restore/all.rdz") };
- unless ($@) {
- log::l("adding a restore bootloader entry on $hd_install_path (remapped to $::prefix/boot/restore)");
- add_entry($bootloader, {
- type => 'image',
- label => 'restore',
- kernel_or_dev => "/boot/restore/vmlinuz",
- initrd => "/boot/restore/all.rdz",
- append => "$cmdline recovery", #- the restore entry is a recovery entry
- if_($vga, vga => $vga),
- });
- }
- } else {
- log::l("no restore bootloader need to be used on $hd_install_path");
- }
- }
+ my @kernels = get_kernels_and_labels() or die "no kernel installed";
+ log::l("found kernels: ", join(', ', map { $_->{version} } @kernels));
+
+ my %old_kernels = map { vmlinuz2version($_->{kernel_or_dev}) => 1 } @{$bootloader->{entries}};
+ @kernels = grep { !$old_kernels{$_->{version}} } @kernels;
- my %labels = get_kernels_and_labels();
- $labels{''} or die "no kernel installed";
+ #- remove existing failsafe and linux-nonfb, do not care if the previous one was modified by the user?
+ #- but only if we are going to add new ones.
+ @{$bootloader->{entries}} = grep { !member($_->{label}, qw(failsafe linux-nonfb)) } @{$bootloader->{entries}}
+ if @kernels;
- while (my ($ext, $version) = each %labels) {
- my $entry = add_kernel($bootloader, $version, $ext, $root,
+ foreach my $kernel (@kernels) {
+ my $e = add_kernel($bootloader, $kernel,
{
- if_($options{vga_fb} && $ext eq '', vga => $options{vga_fb}), #- using framebuffer
+ root => $root,
+ if_($options{vga_fb}, vga => $options{vga_fb}), #- using framebuffer
+ if_($options{vga_fb} && $options{splash}, append => "splash noiswmd audit=0"),
+ if_($options{quiet}, append => "splash quiet noiswmd audit=0"),
});
- $entry->{append} .= " splash=silent" if $options{vga_fb} && $options{quiet};
- if ($options{vga_fb} && $ext eq '') {
- add_kernel($bootloader, $version, $ext, $root, { label => 'linux-nonfb' });
+ if ($options{vga_fb} && $e->{label} eq 'linux') {
+ add_kernel($bootloader, $kernel, { root => $root, label => 'linux-nonfb' });
}
}
- #- remove existing libsafe, don't care if the previous one was modified by the user?
- @{$bootloader->{entries}} = grep { $_->{label} ne 'failsafe' } @{$bootloader->{entries}};
-
- my $failsafe = add_kernel($bootloader, $labels{''}, '', $root, { label => 'failsafe' });
- $failsafe->{append} =~ s/devfs=mount/devfs=nomount/;
- $failsafe->{append} .= " failsafe";
-
- if (arch() =~ /sparc/) {
- #- search for SunOS, it could be a really better approach to take into account
- #- partition type for mounting point.
- my $sunos = 0;
- foreach (@$hds) {
- foreach (@{$_->{primary}{normal}}) {
- my $path = $_->{device} =~ m|^/| && $_->{device} !~ m|^/dev/| ? $_->{device} : dev2prompath($_->{device});
- add_entry($bootloader,
- {
- type => 'other',
- kernel_or_dev => $path,
- label => "sunos" . ($sunos++ ? $sunos : ''),
- }) if $path && isSunOS($_) && type2name($_->{type}) =~ /root/i;
- }
- }
- } elsif (arch() =~ /ppc/) {
- #- if we identified a MacOS partition earlier - add it
- if (defined $partition_table::mac::macos_part) {
+ add_kernel($bootloader, $kernels[0],
+ { root => $root, label => 'failsafe', append => 'failsafe noiswmd audit=0' })
+ if @kernels;
+
+ #- search for dos (or windows) boot partition. Do not look in extended partitions!
+ my @windows_boot_parts =
+ grep { $_->{active}
+ && isFat_or_NTFS($_) && member(fs::type::fs_type_from_magic($_), qw(vfat ntfs ntfs-3g))
+ && !$_->{is_removable}
+ && !isRecovery($_);
+ }
+ map { @{$_->{primary}{normal}} } @{$all_hds->{hds}};
+ each_index {
add_entry($bootloader,
{
- label => "macos",
- kernel_or_dev => $partition_table::mac::macos_part
+ type => 'other',
+ kernel_or_dev => "/dev/$_->{device}",
+ label => 'windows' . ($::i || ''),
+ table => "/dev/$_->{rootDevice}",
+ makeactive => 1,
});
- }
- } elsif (arch() !~ /ia64/) {
- #- search for dos (or windows) boot partition. Don't look in extended partitions!
- my %nbs;
- foreach (@$hds) {
- foreach (@{$_->{primary}{normal}}) {
- isFat_or_NTFS($_) or next;
- my $from_magic = { type => fsedit::typeOfPart($_->{device}) };
- isFat_or_NTFS($from_magic) or next;
- my $label = 'windows';
- add_entry($bootloader,
- {
- type => 'other',
- kernel_or_dev => "/dev/$_->{device}",
- label => $label . ($nbs{$label}++ ? $nbs{$label} : ''),
- $_->{device} =~ /[1-4]$/ ? (
- table => "/dev/$_->{rootDevice}"
- ) : (
- unsafe => 1
- ),
- })
- }
- }
+ } @windows_boot_parts;
+
+ my @preferred = map { "linux-$_" } 'server';
+ if (my $preferred = find { get_label($_, $bootloader) } @preferred) {
+ $bootloader->{default} ||= $preferred;
}
- foreach ('secure', 'enterprise', 'smp') {
- if (get_label("linux-$_", $bootloader)) {
- $bootloader->{default} ||= "linux-$_";
- last;
+ $bootloader->{default} ||= "linux";
+ $bootloader->{method} ||= first(method_choices($all_hds, 1), # best installed
+ method_choices($all_hds, 0)); # or best if no valid one is installed
+
+ $bootloader->{perImageAppend} = $bootloader->{entries}[0]{append};
+ $bootloader->{default_vga} = $options{vga_fb};
+
+ if (main_method($bootloader->{method}) eq 'grub') {
+ my %processed_entries = {};
+ foreach my $c (find_other_distros_grub_conf($fstab)) {
+ my %h = (
+ type => 'grub_configfile',
+ label => $c->{name},
+ kernel_or_dev => "/dev/$c->{bootpart}{device}",
+ configfile => $c->{grub_conf},
+ );
+ if ($c->{root}) {
+ my $key = "$c->{name} - $c->{linux} - $c->{initrd}";
+ next if $processed_entries{$key};
+ $processed_entries{$key} = 1;
+ add_entry($bootloader, {
+ %h,
+ linux => $c->{linux},
+ initrd => $c->{initrd},
+ root => $c->{root},
+ });
+ } else {
+ add_entry($bootloader, \%h);
+ }
}
}
- $bootloader->{default} ||= "linux";
- $bootloader->{method} ||= first(method_choices($fstab, $bootloader));
}
-sub detect_bootloader() {
- chomp_(run_program::rooted_get_stdout($::prefix, 'detectloader'));
+sub detect_main_method {
+ my ($all_hds) = @_;
+ my $bootloader = &read($all_hds);
+ $bootloader && main_method($bootloader->{method});
}
-sub method_choices {
- my ($fstab, $bootloader) = @_;
- my %choices = (
- if_(arch() =~ /sparc/,
- 'silo' => N("SILO"),
- ), if_(arch() !~ /sparc|ppc/ && !isLoopback(fsedit::get_root($fstab)),
- if_(!detect_devices::matching_desc('ProSavageDDR'), 'lilo-graphic' => N("LILO with graphical menu")),
- 'lilo-menu' => N("LILO with text menu"),
- ), if_(arch() !~ /sparc|ppc/ && !isRAID(fsedit::get_root($fstab)),
- 'grub' => N("Grub"),
- ), if_(arch() =~ /ppc/,
- 'yaboot' => N("Yaboot"),
- ),
+sub main_method {
+ my ($method) = @_;
+ $method =~ /(\w+)/ && $1;
+}
+
+sub config_files() {
+ my %files = (
+ lilo => '/etc/lilo.conf',
+ grub => '/boot/grub/menu.lst',
+ grub_install => '/boot/grub/install.sh',
+ uboot => '/boot/extlinux/extlinux.conf',
);
- my $prefered;
- $prefered ||= 'grub' if $::isStandalone && detect_bootloader() =~ /GRUB/;
- $prefered ||= 'lilo-' . (member($bootloader->{install}, 'text', 'menu', 'graphic') ? $bootloader->{install} : 'graphic');
- my $default = exists $choices{$prefered} ? $prefered : first(keys %choices);
+
+ map_each {
+ my $content = cat_("$::prefix/$::b");
+ { main_method => main_method($::a), name => $::a, file => $::b, content => $content };
+ } %files;
+}
- $default, \%choices;
+sub method2text {
+ my ($method) = @_;
+ +{
+ 'lilo-menu' => N("LILO with text menu"),
+ 'grub2-graphic' => N("GRUB2 with graphical menu"),
+ 'grub2' => N("GRUB2 with text menu"),
+ 'grub-graphic' => N("GRUB with graphical menu"),
+ 'grub-menu' => N("GRUB with text menu"),
+ 'refind' => N("rEFInd with graphical menu"),
+ 'uboot' => N("U-Boot/Extlinux with text menu"),
+ }->{$method};
}
-sub suggest_floppy {
- my ($bootloader) = @_;
- my $floppy = detect_devices::floppy() or return;
- $floppy eq 'fd0' or log::l("suggest_floppy: not adding $floppy"), return;
+=item method_choices_raw($b_prefix_mounted)
+
+Returns list of bootloaders.
+
+method_choices_raw(1) will return the list of installed boot loaders.
+
+method_choices_raw(0) will return the list of all boot loaders supported by drakboot.
+
+Returns: ("grub2", "grub2-graphic")
+
+=cut
+
+sub method_choices_raw {
+ my ($b_prefix_mounted) = @_;
+ detect_devices::is_xbox() ? 'cromwell' :
+ arch() =~ /arm/ ? 'uboot' :
+ if_(!$b_prefix_mounted || whereis_binary('grub2-reboot', $::prefix),
+ 'grub2-graphic', 'grub2'),
+ if_(uefi_type() eq kernel_uefi_type() && (!$b_prefix_mounted || whereis_binary('refind-install', $::prefix)), 'refind'),
+ # only grub2 & rEFInd work on UEFI:
+ # lilo & grub-legacy do not suppport new ext4/xfs format and are unmainted so only allow them on upgrade:
+ if_(!is_uefi() && !($::isInstall && !$::o->{isUpgrade} || $::isLiveInstall), (
+ if_(!$b_prefix_mounted || whereis_binary('grub', $::prefix) && -f "$::prefix/boot/grub/install.sh",
+ 'grub-graphic', 'grub-menu'),
+ if_(!$b_prefix_mounted || whereis_binary('lilo', $::prefix) && -f "$::prefix/etc/lilo.conf",
+ 'lilo-menu'),
+ ));
+}
+
+=item method_choices($all_hds, $b_prefix_mounted)
+
+Returns list of supported bootloaders according to what is detected.
+
+Like method_choices_raw(), the $b_prefix_mounted parameter enables to return the list of either installed supported methods or the list of all supported boot loaders.
- add_entry($bootloader,
- {
- type => 'other',
- kernel_or_dev => '/dev/fd0',
- label => 'floppy',
- unsafe => 1
- });
+=cut
+
+sub method_choices {
+ my ($all_hds, $b_prefix_mounted) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my $root_part = fs::get::root($fstab);
+ my $boot_part = fs::get::root($fstab, 'boot');
+ my $have_dmraid = find { fs::type::is_dmraid($_) } @{$all_hds->{hds}};
+
+ grep {
+ !(/lilo/ && (isLoopback($root_part) || $have_dmraid)) # LILO doesn't work fake raid
+ && (/grub2/ || $boot_part->{fs_type} ne 'btrfs') # Only grub2 works on btrfs
+ && !(/grub2?-graphic/ && cat_("/proc/cmdline") =~ /console=ttyS/); # No Gfx mode on console
+ } method_choices_raw($b_prefix_mounted);
}
+=item main_method_choices($b_prefix_mounted)
+
+Returns list of supported bootloaders, not distinging text/gfx mode.
+
+Like method_choices_raw(), the $b_prefix_mounted parameter enables to return the list of either installed supported methods or the list of all supported boot loaders.
+
+=cut
+
+sub main_method_choices {
+ my ($b_prefix_mounted) = @_;
+ uniq(map { main_method($_) } method_choices_raw($b_prefix_mounted));
+}
+sub configured_main_methods() {
+ my @bad_main_methods = map { if_(!$_->{content}, $_->{main_method}) } config_files();
+ difference2([ main_method_choices(1) ], \@bad_main_methods);
+}
+
+# for lilo
sub keytable {
my ($f) = @_;
$f or return;
@@ -714,504 +1567,1288 @@ sub keytable {
-r "$::prefix/$f" && $f;
}
-sub has_profiles { my ($b) = @_; to_bool(get_label("office", $b)) }
-sub set_profiles {
- my ($b, $want_profiles) = @_;
-
- my $office = get_label("office", $b);
- if ($want_profiles xor $office) {
- my $e = get_label("linux", $b);
- if ($want_profiles) {
- push @{$b->{entries}}, { %$e, label => "office", append => "$e->{append} prof=Office" };
- $e->{append} .= " prof=Home";
- } else {
- # remove profiles
- $e->{append} =~ s/\s*prof=\w+//;
- @{$b->{entries}} = grep { $_ != $office } @{$b->{entries}};
- }
- }
-
+sub check_enough_space() {
+ my $e = "$::prefix/boot/.enough_space";
+ output $e, 1; -s $e or die N("not enough room in /boot");
+ unlink $e;
}
-sub get_of_dev {
- my ($unix_dev) = @_;
- my $of_dev;
- run_program::rooted_or_die($::prefix, "/usr/sbin/ofpath", ">", \$of_dev, $unix_dev);
- chomp($of_dev);
- log::l("OF Device: $of_dev");
- $of_dev;
+sub install_uboot {
+ my ($bootloader, $all_hds) = @_;
+ write_uboot($bootloader, $all_hds);
+ when_config_changed_uboot($bootloader);
}
-sub install_yaboot {
- my ($bootloader, $_fstab, $_hds) = @_;
- $bootloader->{prompt} = $bootloader->{timeout};
+sub _write_extlinux_conf {
+ my ($bootloader, $_all_hds) = @_;
- if ($bootloader->{message}) {
- eval { output("$::prefix/boot/message", $bootloader->{message}) }
- or $bootloader->{message} = 0;
+ if (!get_label($bootloader->{default}, $bootloader)) {
+ log::l("default bootloader entry $bootloader->{default} is invalid, choosing another one");
+ $bootloader->{default} = $bootloader->{entries}[0]{label};
}
- {
- local $\ = "\n";
- my $f = "$::prefix/etc/yaboot.conf";
- local *F;
- open F, ">$f" or die "cannot create yaboot config file: $f";
- log::l("writing yaboot config to $f");
-
- print F "#yaboot.conf - generated by DrakX";
- print F "init-message=\"\\n$bootloader->{'init-message'}\\n\"" if $bootloader->{'init-message'};
-
- if ($bootloader->{boot}) {
- print F "boot=$bootloader->{boot}";
- my $of_dev = get_of_dev($bootloader->{boot});
- print F "ofboot=$of_dev";
- } else {
- die "no bootstrap partition defined."
- }
-
- $bootloader->{$_} and print F "$_=$bootloader->{$_}" foreach qw(delay timeout);
- print F "install=/usr/lib/yaboot/yaboot";
- print F "magicboot=/usr/lib/yaboot/ofboot";
- $bootloader->{$_} and print F $_ foreach qw(enablecdboot enableofboot);
- $bootloader->{$_} and print F "$_=$bootloader->{$_}" foreach qw(defaultos default);
- #- print F "nonvram";
- my $boot = "/dev/" . $bootloader->{useboot} if $bootloader->{useboot};
-
- foreach (@{$bootloader->{entries}}) {
- if ($_->{type} eq "image") {
- my $of_dev = '';
- if ($boot !~ /$_->{root}/ && $boot) {
- $of_dev = get_of_dev($boot);
- print F "$_->{type}=$of_dev," . substr($_->{kernel_or_dev}, 5);
- } else {
- $of_dev = get_of_dev($_->{root});
- print F "$_->{type}=$of_dev,$_->{kernel_or_dev}";
- }
- print F "\tlabel=", make_label_lilo_compatible($_->{label});
- print F "\troot=$_->{root}";
- if ($boot !~ /$_->{root}/ && $boot) {
- print F "\tinitrd=$of_dev," . substr($_->{initrd}, 5) if $_->{initrd};
- } else {
- print F "\tinitrd=$of_dev,$_->{initrd}" if $_->{initrd};
- }
- #- xfs module on PPC requires larger initrd - say 6MB?
- print F "\tinitrd-size=6144" if $bootloader->{xfsroot};
- print F "\tappend=\" $_->{append}\"" if $_->{append};
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- } else {
- my $of_dev = get_of_dev($_->{kernel_or_dev});
- print F "$_->{label}=$of_dev";
- }
- }
+ my @conf;
+ push @conf, "# File generated by DrakX/drakboot";
+ push @conf, "default " . $bootloader->{default} if $bootloader->{default};
+ push @conf, "timeout " . $bootloader->{timeout} if $bootloader->{timeout};
+ # needed to show boot menu and enable timeout
+ push @conf, "menu title Boot Menu" if $bootloader->{timeout};
+
+ foreach my $entry (@{$bootloader->{entries}}) {
+ push @conf, "\nlabel $entry->{label}";
+ push @conf, " kernel $entry->{kernel_or_dev}";
+ push @conf, " initrd $entry->{initrd}" if $entry->{initrd};
+ push @conf, " fdtdir $entry->{fdtdir}" if $entry->{fdtdir};
+
+ my @append;
+ push @append, "root=" . $entry->{root} if $entry->{root};
+ push @append, $entry->{append} if $entry->{append};
+ push @conf, " append " . join(' ', @append) if @append;
}
- log::l("Installing boot loader...");
- my $f = "$::prefix/tmp/of_boot_dev";
- my $of_dev = get_of_dev($bootloader->{boot});
- output($f, "$of_dev\n");
- $::testing and return;
- if (defined $install_steps_interactive::new_bootstrap) {
- run_program::run("hformat", $bootloader->{boot}) or die "hformat failed";
- }
- my $error;
- run_program::rooted($::prefix, "/usr/sbin/ybin", "2>", \$error) or die "ybin failed: $error";
+
+ my $f = "$::prefix/boot/extlinux/extlinux.conf";
+ log::l("writing extlinux config to $f");
+ renamef($f, $f . '.old');
+ output_with_perm($f, 0600, map { "$_\n" } @conf);
}
-sub install_silo {
- my ($silo, $fstab) = @_;
- my $boot = fsedit::get_root($fstab, 'boot')->{device};
- my ($wd, $_num) = $boot =~ /^(.*\D)(\d*)$/;
+sub write_uboot {
+ my ($bootloader, $all_hds) = @_;
+ _write_extlinux_conf($bootloader, $all_hds);
+}
- #- setup boot promvars for.
- require c;
- if ($boot =~ /^md/) {
- #- get all mbr devices according to /boot are listed,
- #- then join all zero based partition translated to prom with ';'.
- #- keep bootdev with the first of above.
- log::l("/boot is present on raid partition which is not currently supported for promvars");
- } else {
- if (!$silo->{use_partition}) {
- foreach (@$fstab) {
- if (!$_->{start} && $_->{device} =~ /$wd/) {
- $boot = $_->{device};
- log::l("found a zero based partition in $wd as $boot");
- last;
- }
- }
- }
- $silo->{bootalias} = c::disk2PromPath($boot);
- $silo->{bootdev} = $silo->{bootalias};
- log::l("preparing promvars for device=$boot");
- }
- c::hasAliases() or log::l("clearing promvars alias as non supported"), $silo->{bootalias} = '';
+sub when_config_changed_uboot {
+ my ($_bootloader) = @_;
+ #- do not do anything
+}
- if ($silo->{message}) {
- eval { output("$::prefix/boot/message", $silo->{message}) } or $silo->{message} = 0;
- }
- {
- local $\ = "\n";
- my $f = "$::prefix/boot/silo.conf"; #- always write the silo.conf file in /boot ...
- symlinkf "../boot/silo.conf", "$::prefix/etc/silo.conf"; #- ... and make a symlink from /etc.
- local *F;
- open F, ">$f" or die "cannot create silo config file: $f";
- log::l("writing silo config to $f");
-
- $silo->{$_} and print F "$_=$silo->{$_}" foreach qw(partition root default append);
- $silo->{$_} and print F $_ foreach qw(restricted);
- print F "password=", $silo->{password} if $silo->{restricted} && $silo->{password}; #- also done by msec
- print F "timeout=", round(10 * $silo->{timeout}) if $silo->{timeout};
- print F "message=$silo->{boot}/message" if $silo->{message};
-
- foreach (@{$silo->{entries}}) { #-my ($v, $e) = each %{$silo->{entries}}) {
- my $type = "$_->{type}=$_->{kernel_or_dev}"; $type =~ s|/boot|$silo->{boot}|;
- print F $type;
- print F "\tlabel=$_->{label}";
-
- if ($_->{type} eq "image") {
- my $initrd = $_->{initrd}; $initrd =~ s|/boot|$silo->{boot}|;
- print F "\tpartition=$_->{partition}" if $_->{partition};
- print F "\troot=$_->{root}" if $_->{root};
- print F "\tinitrd=$initrd" if $_->{initrd};
- print F "\tappend=\"$1\"" if $_->{append} =~ /^\s*"?(.*?)"?\s*$/;
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- }
- }
- }
- log::l("Installing boot loader...");
- if (!$::testing) {
- my $error;
- run_program::rooted($::prefix, "silo", \$error, if_($silo->{use_partition}, "-t")) or
- run_program::rooted($::prefix, "silo", "-p", "2", if_($silo->{use_partition}, "-t")) or
- die "silo failed: $error";
+sub install_cromwell {
+ my ($_bootloader, $_all_hds) = @_;
+ log::l("XBox/Cromwell - nothing to install...");
+}
+sub write_cromwell {
+ my ($_bootloader, $_all_hds) = @_;
+ log::l("XBox/Cromwell - nothing to write...");
+}
+sub when_config_changed_cromwell {
+ my ($_bootloader) = @_;
+ #- do not do anything
+}
- #- try writing in the prom.
- log::l("setting promvars alias=$silo->{bootalias} bootdev=$silo->{bootdev}");
- require c;
- c::setPromVars($silo->{bootalias}, $silo->{bootdev});
- }
+sub simplify_label {
+ my ($label) = @_;
+
+ length($label) < 31 or $label =~ s/\.//g;
+
+ $label = substr($label, 0, 31); #- lilo does not handle more than 31 char long labels
+ $label =~ s/ /_/g; #- lilo does not support blank character in image names, labels or aliases
+ $label;
}
sub make_label_lilo_compatible {
- my ($label) = @_;
- $label = substr($label, 0, 15); #- lilo doesn't handle more than 15 char long labels
- $label =~ s/ /_/g; #- lilo does not support blank character in image names, labels or aliases
- qq("$label");
+ my ($label) = @_;
+ '"' . simplify_label($label) . '"';
}
-sub write_lilo_conf {
- my ($bootloader, $fstab, $hds) = @_;
- $bootloader->{prompt} = $bootloader->{timeout};
+sub write_lilo {
+ my ($bootloader, $all_hds, $o_backup_extension) = @_;
+ $bootloader->{prompt} ||= $bootloader->{timeout};
my $file2fullname = sub {
my ($file) = @_;
if (arch() =~ /ia64/) {
- (my $part, $file) = fsedit::file2part($fstab, $file);
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ (my $part, $file) = fs::get::file2part($fstab, $file);
my %hds = map_index { $_ => "hd$::i" } map { $_->{device} }
- sort { isFat($b) <=> isFat($a) || $a->{device} cmp $b->{device} } fsedit::get_fstab(@$hds);
+ sort {
+ my ($a_is_fat, $b_is_fat) = ($a->{fs_type} eq 'vfat', $b->{fs_type} eq 'vfat');
+ $a_is_fat <=> $b_is_fat || $a->{device} cmp $b->{device};
+ } @$fstab;
$hds{$part->{device}} . ":" . $file;
} else {
- $file
+ $file;
}
};
- my %bios2dev = map_index { $::i => $_ } dev2bios($hds, $bootloader->{first_hd_device} || $bootloader->{boot});
- my %dev2bios = reverse %bios2dev;
+ my $quotes = sub {
+ my ($s) = @_;
+ $s =~ s/"/\\"/g;
+ qq("$s");
+ };
- if (is_empty_hash_ref($bootloader->{bios} ||= {})) {
- my $dev = $hds->[0]{device};
- if ($dev2bios{$dev}) {
- log::l("Since we're booting on $bios2dev{0}, make it bios=0x80, whereas $dev is now " . (0x80 + $dev2bios{$dev}));
- $bootloader->{bios}{"/dev/$bios2dev{0}"} = '0x80';
- $bootloader->{bios}{"/dev/$dev"} = sprintf("0x%x", 0x80 + $dev2bios{$dev});
- }
- foreach (0 .. 3) {
- my ($letter) = $bios2dev{$_} =~ /hd([^ac])/; #- at least hda and hdc are handled correctly :-/
- next if $bootloader->{bios}{"/dev/$bios2dev{$_}"} || !$letter;
- next if
- $_ > 0 #- always print if first disk is hdb, hdd, hde...
- && $bios2dev{$_ - 1} eq "hd" . chr(ord($letter) - 1);
- #- no need to help lilo with hdb (resp. hdd, hdf...)
- log::l("Helping lilo: $bios2dev{$_} must be " . (0x80 + $_));
- $bootloader->{bios}{"/dev/$bios2dev{$_}"} = sprintf("0x%x", 0x80 + $_);
- }
- }
+ my $quotes_if_needed = sub {
+ my ($s) = @_;
+ $s =~ /["=\s]/ ? $quotes->($s) : $s;
+ };
+
- {
- local $\ = "\n";
- my $f = arch() =~ /ia64/ ? "$::prefix/boot/efi/elilo.conf" : "$::prefix/etc/lilo.conf";
+ my @sorted_hds = sort_hds_according_to_bios($bootloader, $all_hds);
- local *F;
- open F, ">$f" or die "cannot create lilo config file: $f";
- log::l("writing lilo config to $f");
+ if (is_empty_hash_ref($bootloader->{bios} ||= {}) && $all_hds->{hds}[0] != $sorted_hds[0]) {
+ log::l("Since we're booting on $sorted_hds[0]{device}, make it bios=0x80");
+ $bootloader->{bios} = { "/dev/$sorted_hds[0]{device}" => '0x80' };
+ }
- chmod 0600, $f if $bootloader->{password};
+ my @conf;
- #- normalize: RESTRICTED is only valid if PASSWORD is set
- delete $bootloader->{restricted} if !$bootloader->{password};
+ #- normalize: RESTRICTED and MANDATORY are only valid if PASSWORD is set
+ if ($bootloader->{password}) {
+ # lilo defaults to mandatory, use restricted by default to have
+ # the same behaviour as with grub
+ $bootloader->{restricted} = 1;
+ } else {
+ delete $bootloader->{mandatory} if !$bootloader->{password};
+ delete $bootloader->{restricted} if !$bootloader->{password};
+ }
+ foreach my $entry (@{$bootloader->{entries}}) {
+ delete $entry->{mandatory} if !$entry->{password} && !$bootloader->{password};
+ delete $entry->{restricted} if !$entry->{password} && !$bootloader->{password};
+ }
+ if (get_append_with_key($bootloader, 'console') =~ /ttyS(.*)/) {
+ $bootloader->{serial} ||= $1;
+ }
- local $bootloader->{default} = make_label_lilo_compatible($bootloader->{default});
- $bootloader->{$_} and print F "$_=$bootloader->{$_}" foreach qw(boot map install vga default keytable);
- $bootloader->{$_} and print F $_ foreach qw(linear geometric compact prompt nowarn restricted);
- print F "append=\"$bootloader->{append}\"" if $bootloader->{append};
- print F "password=", $bootloader->{password} if $bootloader->{password}; #- also done by msec
- print F "timeout=", round(10 * $bootloader->{timeout}) if $bootloader->{timeout};
- print F "serial=", $1 if get_append($bootloader, 'console') =~ /ttyS(.*)/;
+ if (!get_label($bootloader->{default}, $bootloader)) {
+ log::l("default bootloader entry $bootloader->{default} is invalid, choosing another one");
+ $bootloader->{default} = $bootloader->{entries}[0]{label};
+ }
+ push @conf, "# File generated by DrakX/drakboot";
+ push @conf, "# WARNING: do not forget to run lilo after modifying this file\n";
+ push @conf, "default=" . make_label_lilo_compatible($bootloader->{default}) if $bootloader->{default};
+ push @conf, map { $_ . '=' . $quotes_if_needed->($bootloader->{$_}) } grep { $bootloader->{$_} } qw(boot root map install serial vga keytable raid-extra-boot menu-scheme vmdefault);
+ push @conf, grep { $bootloader->{$_} } qw(linear geometric compact prompt mandatory nowarn restricted static-bios-codes large-memory);
+ push @conf, "append=" . $quotes->($bootloader->{append}) if $bootloader->{append};
+ push @conf, "password=" . $bootloader->{password} if $bootloader->{password}; #- also done by msec
+ push @conf, "timeout=" . round(10 * $bootloader->{timeout}) if $bootloader->{timeout};
+
+ push @conf, "message=$bootloader->{message}" if $bootloader->{message};
- print F "message=/boot/message" if arch() !~ /ia64/;
- print F "menu-scheme=wb:bw:wb:bw" if arch() !~ /ia64/;
+ push @conf, "ignore-table" if any { $_->{unsafe} && $_->{table} } @{$bootloader->{entries}};
- print F "ignore-table" if any { $_->{unsafe} && $_->{table} } @{$bootloader->{entries}};
+ push @conf, map_each { "disk=$::a bios=$::b" } %{$bootloader->{bios}};
- while (my ($dev, $bios) = each %{$bootloader->{bios}}) {
- print F "disk=$dev bios=$bios";
+ foreach my $entry (@{$bootloader->{entries}}) {
+ my $mbootpack_file = get_mbootpack_filename($entry);
+ if ($mbootpack_file && !build_mbootpack($entry)) {
+ warn "mbootpack is required for xen but unavailable, skipping\n";
+ next;
+ }
+ if ($entry->{type} eq 'grub_configfile') {
+ next;
}
- foreach (@{$bootloader->{entries}}) {
- print F "$_->{type}=", $file2fullname->($_->{kernel_or_dev});
- print F "\tlabel=", make_label_lilo_compatible($_->{label});
-
- if ($_->{type} eq "image") {
- print F "\troot=$_->{root}" if $_->{root};
- print F "\tinitrd=", $file2fullname->($_->{initrd}) if $_->{initrd};
- print F "\tappend=\"$_->{append}\"" if $_->{append};
- print F "\tvga=$_->{vga}" if $_->{vga};
- print F "\tread-write" if $_->{'read-write'};
- print F "\tread-only" if !$_->{'read-write'};
- } else {
- print F "\ttable=$_->{table}" if $_->{table};
- print F "\tunsafe" if $_->{unsafe} && !$_->{table};
+ push @conf, "$entry->{type}=" . $file2fullname->($mbootpack_file || $entry->{kernel_or_dev});
+ my @entry_conf;
+ push @entry_conf, "label=" . make_label_lilo_compatible($entry->{label}) if $entry->{label};
+
+ if ($entry->{type} eq "image") {
+ push @entry_conf, 'root=' . $quotes_if_needed->($entry->{root}) if $entry->{root} && !$entry->{xen};
+ push @entry_conf, "initrd=" . $file2fullname->($entry->{initrd}) if $entry->{initrd} && !$mbootpack_file;
+ my $append = join(' ', if_($entry->{xen_append}, $entry->{xen_append}),
+ if_($entry->{xen}, '--', 'root=' . $entry->{root}),
+ if_($entry->{append}, $entry->{append}));
+ push @entry_conf, "append=" . $quotes->($append) if $append;
+ push @entry_conf, "vga=$entry->{vga}" if $entry->{vga};
+ push @entry_conf, grep { $entry->{$_} } qw(read-write read-only optional);
+ push @entry_conf, "mandatory" if $entry->{lock};
+ } else {
+ delete $entry->{unsafe} if $entry->{table}; #- we can't have both
+ push @entry_conf, map { "$_=$entry->{$_}" } grep { $entry->{$_} } qw(table boot-as);
+ push @entry_conf, grep { $entry->{$_} } qw(unsafe master-boot);
- if (my ($dev) = $_->{table} =~ m|/dev/(.*)|) {
- if ($dev2bios{$dev}) {
- #- boot off the nth drive, so reverse the BIOS maps
- my $nb = sprintf("0x%x", 0x80 + $dev2bios{$dev});
- $_->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
- }
- }
- while (my ($from, $to) = each %{$_->{mapdrive} || {}}) {
- print F "\tmap-drive=$from";
- print F "\t to=$to";
+ if ($entry->{table}) {
+ #- hum, things like table=c: are needed for some os2 cases,
+ #- in that case $hd below is undef
+ my $hd = fs::get::device2part($entry->{table}, $all_hds->{hds});
+ if ($hd && $hd != $sorted_hds[0]) {
+ #- boot off the nth drive, so reverse the BIOS maps
+ my $nb = sprintf("0x%x", 0x80 + (find_index { $hd == $_ } @sorted_hds));
+ $entry->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
}
}
+ if ($entry->{mapdrive}) {
+ push @entry_conf, map_each { "map-drive=$::a", " to=$::b" } %{$entry->{mapdrive}};
+ }
}
+ push @entry_conf, "password=$entry->{password}" if $entry->{password};
+ push @entry_conf, grep { $entry->{$_} } qw(mandatory vmwarn vmdisable);
+
+ push @conf, map { "\t$_" } @entry_conf;
}
+ my $f = arch() =~ /ia64/ ? "$::prefix/boot/efi/elilo.conf" : "$::prefix/etc/lilo.conf";
+
+ log::l("writing lilo config to $f");
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ output_with_perm($f, $bootloader->{password} ? 0600 : 0644, map { "$_\n" } @conf);
}
sub install_lilo {
- my ($bootloader, $fstab, $hds, $method) = @_;
+ my ($bootloader, $all_hds) = @_;
- if (my ($install) = $method =~ /lilo-(text|menu)/) {
+ if (my ($install) = $bootloader->{method} =~ /lilo-(text|menu)/) {
$bootloader->{install} = $install;
} else {
delete $bootloader->{install};
}
- output("$::prefix/boot/message-text", $bootloader->{message}) if $bootloader->{message};
- symlinkf "message-" . ($method ne 'lilo-graphic' ? 'text' : 'graphic'), "$::prefix/boot/message";
+ if ($bootloader->{message_text}) {
+ output("$::prefix/boot/message-text", $bootloader->{message_text});
+ }
+ my $message = "message-text";
+ if (-r "$::prefix/boot/$message") {
+ symlinkf $message, "$::prefix/boot/message";
+ $bootloader->{message} = '/boot/message';
+ }
- write_lilo_conf($bootloader, $fstab, $hds);
+ #- ensure message does not contain the old graphic format
+ if ($bootloader->{message} && -s "$::prefix$bootloader->{message}" > 65_000) {
+ output("$::prefix$bootloader->{message}", '');
+ }
- if (!$::testing && arch() !~ /ia64/ && $bootloader->{method} =~ /lilo/) {
- log::l("Installing boot loader...");
- my $error;
- run_program::rooted($::prefix, "lilo", "2>", \$error) or die "lilo failed: $error";
+ write_lilo($bootloader, $all_hds);
+
+ when_config_changed_lilo($bootloader);
+
+ configure_kdm_BootManager('Lilo');
+}
+
+sub install_raw_lilo {
+ my ($o_force_answer) = @_;
+
+ my $error;
+ my $answer = $o_force_answer || '';
+ run_program::rooted($::prefix, "echo $answer | lilo", '2>', \$error) or die "lilo failed: $error";
+}
+
+sub when_config_changed_lilo {
+ my ($bootloader) = @_;
+ if (!$::testing && $bootloader->{method} =~ /lilo/) {
+ log::l("Installing boot loader on $bootloader->{boot}...");
+ install_raw_lilo($bootloader->{force_lilo_answer});
}
}
-sub dev2bios {
- my ($hds, $where) = @_;
- $where =~ s|/dev/||;
- my @dev = map { $_->{device} } @$hds;
- member($where, @dev) or ($where) = @dev; #- if not on mbr,
+#- NB: ide is lower than scsi, this is important for sort_hds_according_to_bios()
+sub hd2bios_kind {
+ my ($hd) = @_;
+ lc(join('_', $hd->{bus}, $hd->{host}));
+}
- s/h(d[e-g])/x$1/ foreach $where, @dev; #- emulates ultra66 as xd_
+sub ensafe_first_bios_drive {
+ my ($hds) = @_;
+ mixed_kind_of_disks($hds) || @$hds > 1 && _not_first_bios_drive($hds->[0]);
+}
+sub mixed_kind_of_disks {
+ my ($hds) = @_;
+ (uniq_ { hd2bios_kind($_) } @$hds) > 1;
+}
+sub _not_first_bios_drive {
+ my ($hd) = @_;
+ my $bios = $hd && $hd->{bios_from_edd};
+ $bios && $bios ne '80';
+}
- my $start = substr($where, 0, 2);
+sub sort_hds_according_to_bios {
+ my ($bootloader, $all_hds) = @_;
+ my $boot_hd = fs::get::device2part($bootloader->{first_hd_device} || $bootloader->{boot}, $all_hds->{hds}); #- $boot_hd is undefined when installing on floppy
+ my $boot_kind = $boot_hd && hd2bios_kind($boot_hd);
my $translate = sub {
- my ($dev) = @_;
- $dev eq $where ? "aaa" : #- if exact match, value it first
- $dev =~ /^$start(.*)/ ? "ad$1" : #- if same class (ide/scsi/ultra66), value it before other classes
- $dev;
+ my ($hd) = @_;
+ my $kind = hd2bios_kind($hd);
+ $boot_hd ? ($hd == $boot_hd ? 0 : $kind eq $boot_kind ? 1 : 2) . "_$kind" : $kind;
};
- @dev = map { $_->[0] }
- sort { $a->[1] cmp $b->[1] }
- map { [ $_, $translate->($_) ] } @dev;
+ sort { $translate->($a) cmp $translate->($b) } @{$all_hds->{hds}};
+}
+
+sub device_string2grub {
+ my ($dev, $legacy_floppies, $sorted_hds) = @_;
+ if (my $device = fs::get::device2part($dev, [ @$sorted_hds, fs::get::hds_fstab(@$sorted_hds) ])) {
+ device2grub($device, $sorted_hds);
+ } elsif (my $floppy = fs::get::device2part($dev, $legacy_floppies)) {
+ my $bios = find_index { $floppy eq $_ } @$legacy_floppies;
+ "(fd$bios)";
+ } else {
+ internal_error("unknown device $dev");
+ }
+}
+sub device2grub {
+ my ($device, $sorted_hds) = @_;
- s/x(d.)/h$1/ foreach @dev; #- switch back;
+ if (isRAID($device) && $device->{level} == 1) {
+ #- we can take any disk
+ $device = $device->{disks}[0];
+ }
+ my ($hd, $part_nb) =
+ $device->{rootDevice} ?
+ (fs::get::device2part($device->{rootDevice}, $sorted_hds), $device->{device} =~ /(\d+)$/) :
+ $device;
+ my $bios = eval { find_index { $hd eq $_ } @$sorted_hds };
+ if (defined $bios) {
+ my $part_string = defined $part_nb ? ',' . ($part_nb - 1) : '';
+ "(hd$bios$part_string)";
+ } else {
+ undef;
+ }
+}
- @dev;
+sub read_grub_device_map() {
+ my %grub2dev = map { m!\((.*)\)\s+/dev/(.*)$! } cat_("$::prefix/boot/grub/device.map");
+ \%grub2dev;
+}
+sub write_grub_device_map {
+ my ($legacy_floppies, $sorted_hds) = @_;
+ my $f = "$::prefix/boot/grub/device.map";
+ renamef($f, "$f.old");
+ output($f,
+ (map_index { "(fd$::i) /dev/$_->{device}\n" } @$legacy_floppies),
+ (map_index { "(hd$::i) /dev/$_->{device}\n" } @$sorted_hds));
}
-sub dev2grub {
- my ($dev, $dev2bios) = @_;
- $dev =~ m|^(/dev/)?(...)(.*)$| or die "dev2grub (bad device $dev), caller is " . join(":", caller());
- my $grub = $dev2bios->{$2} or die "dev2grub ($2)";
- "($grub" . ($3 && "," . ($3 - 1)) . ")";
+=item parse_grub_file($grub_file)
+
+Parses things like C<(hd0,4)/boot/vmlinuz>
+
+Returns: ("hd0", 4, "boot/vmlinuz")
+
+=cut
+
+sub parse_grub_file {
+ my ($grub_file) = @_;
+ my ($grub_dev, $rel_file) = $grub_file =~ m!\((.*?)\)/?(.*)! or return;
+ my ($hd, $part) = split(',', $grub_dev);
+ ($hd, $part, $rel_file);
+}
+
+=item grub2dev_and_file($grub_file, $grub2dev, $o_block_device)
+
+Takes things like C<(hd0,4)/boot/vmlinuz>
+
+Returns: ("/dev/sda5", "boot/vmlinuz")
+
+=cut
+
+sub grub2dev_and_file {
+ my ($grub_file, $grub2dev, $o_block_device) = @_;
+ my ($hd, $part, $rel_file) = parse_grub_file($grub_file) or return;
+ $grub2dev->{$hd} or internal_error("$hd has no mapping in device.map (when translating $grub_file)");
+ $part = $o_block_device ? '' : defined $part && $part + 1; #- grub wants "(hdX,Y)" where lilo just want "hdY+1"
+ my $device = '/dev/' . ($part eq '' ? $grub2dev->{$hd} : devices::prefix_for_dev($grub2dev->{$hd}) . $part);
+ $device, $rel_file;
}
+=item grub2devd($grub_file, $grub2dev, $o_block_device)
+
+Takes things like C<(hd0,4)/boot/vmlinuz>
+
+Returns: "/dev/sda5"
+
+=cut
+
sub grub2dev {
- my ($device, $o_block_device) = @_;
- my ($dev, $part) = ($1 . ")", $2) if $device =~ s/(\([^,]*?)(?:,(.*))?\)//;
- undef $part if $o_block_device;
- $part++ if defined $part; # grub wants "(hdX,Y)" where lilo just want "hdY+1"
- $dev =~ s/,[^)]*//;
- my $new_dev = +{ map { chomp; s/()//g; split(/\s+/, $_, 2) } cat_("$::prefix/boot/grub/device.map") }->{$dev} . $part;
- wantarray() ? ($device, $new_dev) : $new_dev;
-}
-
-# replace dummy "(hdX,Y)" in "(hdX,Y)/boot/vmlinuz..." by appropriate path if needed
-sub ungrubify {
- my ($device) = @_;
- my $dev;
- ($device, $dev) = grub2dev($device);
- my %mnt_pts = ("/dev/" . devices::from_devfs(readlink('/dev/root')) => "/", map { (split)[0..1] } cat_("/proc/mounts"));
- (my $v = join($mnt_pts{$dev} || $dev, $device)) =~ s!//!/!g;
- $v;
-}
-
-sub write_grub_config {
- my ($bootloader, $fstab, $hds) = @_;
- my %dev2bios = (
- (map_index { $_ => "fd$::i" } detect_devices::floppies_dev()),
- (map_index { $_ => "hd$::i" } dev2bios($hds, $bootloader->{first_hd_device} || $bootloader->{boot})),
- );
+ my ($grub_file, $grub2dev, $o_block_device) = @_;
+ first(grub2dev_and_file($grub_file, $grub2dev, $o_block_device));
+}
- {
- my %bios2dev = reverse %dev2bios;
- output "$::prefix/boot/grub/device.map",
- join '', map { "($_) /dev/$bios2dev{$_}\n" } sort keys %bios2dev;
- }
- my $bootIsReiser = isThisFs("reiserfs", fsedit::get_root($fstab, 'boot'));
- my $file2grub = sub {
- my ($part, $file) = fsedit::file2part($fstab, $_[0], 'keep_simple_symlinks');
- dev2grub($part->{device}, \%dev2bios) . $file;
+=item grub2file($grub_file, $grub2dev, $fstab, $o_entry)
+
+Replaces
+
+=over 4
+
+=item * C</vmlinuz> with C</boot/vmlinuz> when "root" or "rootnoverify" is set for the entry
+
+=item * C<(hdX,Y)> in C<(hdX,Y)/boot/vmlinuz...> by appropriate path if possible/needed
+
+=back
+
+=cut
+
+sub grub2file {
+ my ($grub_file, $grub2dev, $fstab, $o_entry) = @_;
+
+ if ($grub_file =~ m!^/!) {
+ my $root = $o_entry && ($o_entry->{rootnoverify} || $o_entry->{grub_root});
+ $root and $grub_file = "$root$grub_file";
+ }
+
+ if (my ($device, $rel_file) = grub2dev_and_file($grub_file, $grub2dev)) {
+ my $part = fs::get::device2part($device, $fstab);
+ if (my $mntpoint = $part && $part->{mntpoint}) {
+ ($mntpoint eq '/' ? '' : $mntpoint) . '/' . $rel_file;
+ } else {
+ log::l("ERROR: unknown device $device (computed from $grub_file)");
+ $grub_file;
+ }
+ } else {
+ $grub_file;
+ }
+}
+
+sub boot_copies_dir() { '/boot/copied' }
+sub create_copy_in_boot {
+ my ($file) = @_;
+
+ my $s = $file;
+ $s =~ s!/!_!g;
+ my $file2 = boot_copies_dir() . "/$s";
+
+ log::l("$file is not available at boot time, creating a copy ($file2)");
+ mkdir_p(boot_copies_dir());
+ output("$file2.link", $file . "\n");
+ update_copy_in_boot("$file2.link");
+
+ $file2;
+}
+sub update_copy_in_boot {
+ my ($link) = @_;
+ my $orig = chomp_(cat_("$::prefix$link"));
+ (my $dest = $link) =~ s/\.link$// or internal_error("update_copy_in_boot: $link");
+ if (-e "$::prefix$orig") {
+ log::l("updating $dest from $orig");
+ cp_af("$::prefix$orig", "$::prefix$dest");
+ } else {
+ log::l("removing $dest since $orig does not exist anymore");
+ unlink "$::prefix$link", "$::prefix$orig";
+ }
+}
+
+sub crypt_grub_password {
+ my ($password) = @_;
+ require IPC::Open2;
+ local $ENV{LC_ALL} = 'C';
+ my ($his_out, $his_in);
+ my $cmd = ($::prefix ? "chroot $::prefix " : "") . "/sbin/grub-md5-crypt";
+
+ my $pid = IPC::Open2::open2($his_out, $his_in, $cmd);
+
+ my ($line, $res);
+ while (sysread($his_out, $line, 100)) {
+ if ($line =~ /Password/i) {
+ syswrite($his_in, "$password\n");
+ } else {
+ $res = $line;
+ }
+ }
+ waitpid($pid, 0);
+ my $status = $? >> 8;
+ die "failed to encrypt password (status=$status)" if $status != 0;
+ chomp_($res);
+}
+
+sub get_grub2_first_entry {
+ my ($bootloader) = @_;
+ # set default parameters:
+ my ($entry) = grep { $_->{kernel_or_dev} =~ /vmlin/ } @{$bootloader->{entries}};
+ $entry;
+}
+
+sub get_grub2_append {
+ my ($bootloader) = @_;
+ # get default parameters from first entry:
+ my ($entry) = get_grub2_first_entry($bootloader);
+ my $append = $entry->{append};
+ if (my $vga = $entry->{vga} || $bootloader->{vga}) {
+ $append .= " vga=$vga";
+ }
+ $append =~ s/root=\S+//g;
+ $append =~ s/\bro\b//g;
+ $append =~ s/\s+/ /g;
+ $append;
+}
+
+sub crypt_grub2_password {
+ my ($password) = @_;
+ require IPC::Open2;
+ local $ENV{LC_ALL} = 'C';
+ my ($his_out, $his_in);
+ my $pid = IPC::Open2::open2($his_out, $his_in, "$::prefix/bin/grub2-mkpasswd-pbkdf2");
+
+ my ($line, $res);
+ while (sysread($his_out, $line, 100)) {
+ if ($line =~ /enter.*password:/i) {
+ syswrite($his_in, "$password\n");
+ } else {
+ chomp($line);
+ $res .= $line if $line;
+ }
+ }
+ $res =~ s/^PBKDF2 hash of your password is //;
+ waitpid($pid, 0);
+ my $status = $? >> 8;
+ die "failed to encrypt password (status=$status)" if $status != 0;
+ chomp_($res);
+}
+
+sub write_grub2_sysconfig {
+ my ($bootloader, $_all_hds, $o_backup_extension) = @_;
+
+ # Set password prior to run update-grub2:
+ my $pw_f = get_grub2_users();
+ if ($bootloader->{password}) {
+ if (!is_grub2_already_crypted($bootloader->{password})) {
+ $bootloader->{password} = crypt_grub2_password($bootloader->{password});
+ }
+ output_with_perm($pw_f, 0600, "GRUB2_PASSWORD=$bootloader->{password}");
+ } else {
+ unlink($pw_f);
+ }
+
+ my $f = "$::prefix/etc/default/grub";
+ my %conf = getVarsFromSh($f);
+
+ my $append = $bootloader->{perImageAppend} || get_grub2_append($bootloader);
+ my $vga = $bootloader->{default_vga};
+ $append .= " vga=$vga" if $append !~ /vga=/ && $vga && $vga ne "normal";
+
+ $conf{GRUB_CMDLINE_LINUX_DEFAULT} = $append;
+ $conf{GRUB_GFXPAYLOAD_LINUX} = 'auto' if is_uefi();
+ $conf{GRUB_DISABLE_RECOVERY} = 'false'; # for 'failsafe' entry
+ $conf{GRUB_DEFAULT} //= 'saved'; # for default entry but do not overwrite user choice
+ $conf{GRUB_SAVEDEFAULT} //= 'true'; # for default entry but do not overwrite user choice
+ # special case so that setVarsInSh() doesn't emit the line when timeout is 0
+ $conf{GRUB_TIMEOUT} = $bootloader->{timeout} eq 0 ? "0 " : $bootloader->{timeout};
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ setVarsInSh($f, \%conf);
+}
+
+sub write_grub2_default_entry {
+ my ($bootloader, $_all_hds, $o_backup_extension) = @_;
+
+ my $default = $bootloader->{default};
+ # menu entry must be identified by its full path. eg: "submenu1>submenu2>title":
+ if (my $def = find { $_->{label} eq $bootloader->{default} } @{$bootloader->{entries}}) {
+ $default = $def->{real_label} if $def->{real_label};
+ }
+
+ # set default entry:
+ eval {
+ my $f2 = "$::prefix/boot/grub2/grubenv";
+ cp_af($f2, $f2 . ($o_backup_extension || '.old'));
+ my $error;
+ run_program::rooted($::prefix, 'grub2-set-default', '2>', \$error, $default) or die "grub2-set-default failed: $error";
};
- {
- local $\ = "\n";
- my $f = "$::prefix/boot/grub/menu.lst";
- local *F;
- open F, ">$f" or die "cannot create grub config file: $f";
- log::l("writing grub config to $f");
+ if (my $err = $@) {
+ log::l("error while running grub2-set-default: $err");
+ }
+}
- $bootloader->{$_} and print F "$_ $bootloader->{$_}" foreach qw(timeout);
+sub write_grub2 {
+ my ($bootloader, $o_all_hds, $o_backup_extension) = @_;
+ my $error;
+
+ write_grub2_sysconfig($bootloader, $o_all_hds, $o_backup_extension);
+
+ my $f1 = "$::prefix/boot/grub2/grub.cfg";
+ #- we won't just rename as grub2-mkconfig (more likely os-prober) may fail:
+ cp_af($f1, $f1 . '.old') if -e $f1;
+ #- don't use the update-grub2 script here, it hangs when run by service_harddrake
+ #- during boot because it causes systemd to try to start a user session
+ run_program::rooted($::prefix, 'grub2-mkconfig', '2>', \$error, '-o', '/boot/grub2/grub.cfg') or die "grub2-mkconfig failed: $error";
+ log::l("grub2-mkconfig logs: $error");
- print F "color black/cyan yellow/cyan";
- print F "i18n ", $file2grub->("/boot/grub/messages");
- print F "keytable ", $file2grub->($bootloader->{keytable}) if $bootloader->{keytable};
- print F "serial --unit=$1 --speed=$2\nterminal --timeout=" . ($bootloader->{timeout} || 0) . " console serial" if get_append($bootloader, 'console') =~ /ttyS(\d),(\d+)/;
+ write_grub2_default_entry($bootloader, $o_all_hds, $o_backup_extension);
+ check_enough_space();
+}
+
+sub get_grub2_users() {
+ "$::prefix/boot/grub2/user.cfg";
+}
- #- since we use notail in reiserfs, altconfigfile is broken :-(
- unless ($bootIsReiser) {
- print F "altconfigfile ", $file2grub->(my $once = "/boot/grub/menu.once");
- output "$::prefix$once", " " x 100;
+sub get_grub2_install_sh() {
+ "$::prefix/boot/grub2/install.sh";
+}
+
+sub write_grub2_install_sh {
+ my ($bootloader, $o_backup_extension) = @_;
+ my $f = get_grub2_install_sh();
+ my $boot = $bootloader->{boot};
+ my @options;
+ if (is_uefi()) {
+ if ($bootloader->{no_esp_or_mbr}) {
+ push @options, qw(--bootloader-id=tmp --no-nvram);
+ } elsif ($bootloader->{removable}) {
+ push @options, '--removable';
}
+ } else {
+ @options = $bootloader->{no_esp_or_mbr} ? ('--grub-setup=/bin/true', $boot) : $boot;
+ }
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ output_with_perm($f, 0755, join(' ', 'grub2-install', @options));
+}
- each_index {
- print F "default $::i" if $_->{label} eq $bootloader->{default};
- } @{$bootloader->{entries}};
+sub write_grub {
+ my ($bootloader, $all_hds, $o_backup_extension) = @_;
+
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my @legacy_floppies = detect_devices::floppies();
+ my @sorted_hds = sort_hds_according_to_bios($bootloader, $all_hds);
+ write_grub_device_map(\@legacy_floppies, \@sorted_hds);
+
+ my $file2grub; $file2grub = sub {
+ my ($file) = @_;
+ if ($file =~ m!^\(.*\)/!) {
+ $file; #- it's already in grub format
+ } else {
+ my ($part, $rel_file) = fs::get::file2part($fstab, $file, 'keep_simple_symlinks');
+ if (my $grub = device2grub($part, \@sorted_hds)) {
+ $grub . $rel_file;
+ } elsif (!begins_with($file, '/boot/')) {
+ log::l("$file is on device $part->{device} which is not available at boot time. Copying it");
+ $file2grub->(create_copy_in_boot($file));
+ } else {
+ log::l("ERROR: $file is on device $part->{device} which is not available at boot time. Defaulting to a dumb value");
+ "(hd0,0)$file";
+ }
+ }
+ };
+
+ if (get_append_with_key($bootloader, 'console') =~ /ttyS(\d),(\d+)/) {
+ $bootloader->{serial} ||= "--unit=$1 --speed=$2";
+ $bootloader->{terminal} ||= "--timeout=" . ($bootloader->{timeout} || 0) . " console serial";
+ } elsif ($bootloader->{method} eq 'grub-graphic') {
+ my $bin = '/usr/sbin/grub-gfxmenu';
+ if ($bootloader->{gfxmenu} eq '' && -x "$::prefix$bin") {
+ my $locale = $::o->{locale} || do { require lang; lang::read() };
+ run_program::rooted($::prefix, $bin, '--lang', $locale->{lang}, '--update-gfxmenu');
+ $bootloader->{gfxmenu} ||= '/boot/gfxmenu';
+ }
+ #- not handled anymore
+ delete $bootloader->{$_} foreach qw(splashimage viewport shade);
+ } else {
+ delete $bootloader->{gfxmenu};
+ }
+
+ my $format = sub { map { "$_ $bootloader->{$_}" } @_ };
- foreach (@{$bootloader->{entries}}) {
- print F "\ntitle $_->{label}";
-
- if ($_->{type} eq "image") {
- my $vga = $_->{vga} || $bootloader->{vga};
- printf F "kernel %s root=%s %s%s%s\n",
- $file2grub->($_->{kernel_or_dev}),
- $_->{root} =~ /loop7/ ? "707" : $_->{root}, #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
- $_->{append},
- $_->{'read-write'} && " rw",
- $vga && $vga ne "normal" && " vga=$vga";
- print F "initrd ", $file2grub->($_->{initrd}) if $_->{initrd};
+ {
+ my @conf;
+
+ if ($bootloader->{password}) {
+ if (!is_already_crypted($bootloader->{password})) {
+ my $encrypted = crypt_grub_password($bootloader->{password});
+ $bootloader->{password} = "--md5 $encrypted";
+ }
+ }
+
+ push @conf, $format->(grep { defined $bootloader->{$_} } qw(timeout));
+ push @conf, $format->(grep { $bootloader->{$_} } qw(color password serial shade terminal viewport background foreground));
+
+ push @conf, map { $_ . ' ' . $file2grub->($bootloader->{$_}) } grep { $bootloader->{$_} } qw(gfxmenu);
+
+ eval {
+ push @conf, "default " . (find_index { $_->{label} eq $bootloader->{default} } @{$bootloader->{entries}});
+ };
+
+ foreach my $entry (@{$bootloader->{entries}}) {
+ my $title = "\ntitle $entry->{label}";
+
+ if ($entry->{keep_verbatim}) {
+ push @conf, '', $entry->{verbatim};
+ } elsif ($entry->{type} eq "image") {
+ push @conf, $title;
+ push @conf, grep { $entry->{$_} } 'lock';
+ push @conf, join(' ', 'kernel', $file2grub->($entry->{xen}), $entry->{xen_append}) if $entry->{xen};
+
+ my $vga = $entry->{vga} || $bootloader->{vga};
+ push @conf, join(' ', $entry->{xen} ? 'module' : 'kernel',
+ $file2grub->($entry->{kernel_or_dev}),
+ $entry->{xen} ? () : 'BOOT_IMAGE=' . simplify_label($entry->{label}),
+ if_($entry->{root}, $entry->{root} =~ /loop7/ ? "root=707" : "root=$entry->{root}"), #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
+ $entry->{append},
+ if_($entry->{'read-write'}, 'rw'),
+ if_($vga && $vga ne "normal", "vga=$vga"));
+ push @conf, "module " . $_ foreach @{$entry->{modules} || []};
+ if ($entry->{initrd}) {
+ # split partition from initrd path and place
+ # it to a separate 'root' entry.
+ # Grub2's mkconfig takes initrd entry 'as is',
+ # but grub2 fails to load smth like '(hd0,1)/boot/initrd' taken from grub-legacy
+ my $initrd_path = $file2grub->($entry->{initrd});
+ if ($initrd_path =~ /^(\([^\)]+\))/) {
+ push @conf, "root $1";
+ $initrd_path =~ s/^(\([^\)]+\))//;
+ }
+ push @conf, join(' ', $entry->{xen} ? 'module' : 'initrd', $initrd_path);
+ }
} else {
- print F "root ", dev2grub($_->{kernel_or_dev}, \%dev2bios);
+ my $dev = eval { device_string2grub($entry->{kernel_or_dev}, \@legacy_floppies, \@sorted_hds) };
+ if (!$dev) {
+ log::l("dropping bad entry $entry->{label} for unknown device $entry->{kernel_or_dev}");
+ next;
+ }
+ push @conf, $title;
+ push @conf, grep { $entry->{$_} } 'lock';
+ if ($entry->{type} ne 'grub_configfile' || $entry->{configfile} !~ /grub\.cfg/ || !$entry->{root}) {
+ push @conf, join(' ', $entry->{rootnoverify} ? 'rootnoverify' : 'root', $dev);
+ }
- if (my ($dev) = $_->{table} =~ m|/dev/(.*)|) {
- if ($dev2bios{$dev} =~ /hd([1-9])/) {
- #- boot off the nth drive, so reverse the BIOS maps
- my $nb = sprintf("0x%x", 0x80 + $1);
- $_->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
+ if ($entry->{table}) {
+ if (my $hd = fs::get::device2part($entry->{table}, \@sorted_hds)) {
+ if (my $bios = find_index { $hd eq $_ } @sorted_hds) {
+ #- boot off the nth drive, so reverse the BIOS maps
+ my $nb = sprintf("0x%x", 0x80 + $bios);
+ $entry->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
+ }
}
}
- if ($_->{mapdrive}) {
- map_each { print F "map ($::b) ($::a)" } %{$_->{mapdrive}};
- print F "makeactive";
+ if ($entry->{mapdrive}) {
+ push @conf, map_each { "map ($::b) ($::a)" } %{$entry->{mapdrive}};
+ }
+ push @conf, "makeactive" if $entry->{makeactive};
+ # grub.cfg is grub2 config, can't use it as configfile for grub-legacy
+ if ($entry->{type} eq 'grub_configfile' && $entry->{configfile} !~ /grub\.cfg/) {
+ push @conf, "configfile $entry->{configfile}";
+ } elsif ($entry->{linux}) {
+ push @conf, "root $entry->{root}", "kernel $entry->{linux}";
+ push @conf, "initrd $entry->{initrd}" if $entry->{initrd};
+ } else {
+ push @conf, "chainloader +1";
}
- print F "chainloader +1";
}
}
+ my $f = "$::prefix/boot/grub/menu.lst";
+ log::l("writing grub config to $f");
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ output_with_perm($f, 0600, map { "$_\n" } @conf);
}
- my $dev = dev2grub($bootloader->{boot}, \%dev2bios);
- my ($s1, $s2, $m) = map { $file2grub->("/boot/grub/$_") } qw(stage1 stage2 menu.lst);
- my $f = "/boot/grub/install.sh";
- output "$::prefix$f",
+ {
+ my $f = "$::prefix/boot/grub/install.sh";
+ my $boot_dev = device_string2grub($bootloader->{boot}, \@legacy_floppies, \@sorted_hds);
+ my $files_dev = device2grub(fs::get::root_($fstab, 'boot'), \@sorted_hds);
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ output_with_perm($f, 0755,
"grub --device-map=/boot/grub/device.map --batch <<EOF
-install $s1 d $dev $s2 p $m
+root $files_dev
+setup --stage2=/boot/grub/stage2 $boot_dev
quit
EOF
-";
+");
+ }
- output "$::prefix/boot/grub/messages", map { substr(translate($_) . "\n", 0, 78) } ( #- ensure the translated messages are not too big the hard way
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-N_("Welcome to GRUB the operating system chooser!"),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-N_("Use the %c and %c keys for selecting which entry is highlighted."),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-N_("Press enter to boot the selected OS, 'e' to edit the"),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-N_("commands before booting, or 'c' for a command-line."),
-#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
-#-PO: and keep them smaller than 79 chars long
-N_("The highlighted entry will be booted automatically in %d seconds."),
-);
-
- my $e = "$::prefix/boot/.enough_space";
- output $e, 1; -s $e or die \N("not enough room in /boot");
- unlink $e;
- $f;
+ check_enough_space();
+}
+
+sub configure_kdm_BootManager {
+ my ($name) = @_;
+ eval { common::update_gnomekderc_no_create("$::prefix/etc/kde/kdm/kdmrc", 'Shutdown' => (
+ BootManager => $name
+ )) };
+}
+
+sub sync_partition_data_to_disk {
+ my ($part) = @_;
+
+ common::sync();
+
+ if ($part->{fs_type} eq 'xfs') {
+ run_program::rooted($::prefix, 'xfs_freeze', '-f', $part->{mntpoint});
+ run_program::rooted($::prefix, 'xfs_freeze', '-u', $part->{mntpoint});
+ }
+}
+
+sub _dev_to_MBR_backup {
+ my ($dev) = @_;
+ $dev =~ s!/dev/!!;
+ $dev =~ s!/!_!g;
+ "$::prefix/boot/boot.backup.$dev";
+}
+
+sub save_previous_MBR_bootloader {
+ my ($dev) = @_;
+ my $t;
+ open(my $F, $dev);
+ CORE::read($F, $t, 0x1b8); #- up to disk magic
+ output(_dev_to_MBR_backup($dev), $t);
+}
+
+sub restore_previous_MBR_bootloader {
+ my ($dev) = @_;
+ log::l("restoring previous bootloader on $dev");
+ output($dev, scalar cat_(_dev_to_MBR_backup($dev)));
+}
+
+sub install_grub2 {
+ my ($bootloader, $all_hds) = @_;
+ write_grub2($bootloader, $all_hds);
+ write_grub2_install_sh($bootloader, '.old');
+ install_raw_grub2();
+}
+
+sub install_raw_grub2() {
+ my $error;
+ my $f = '/boot/grub2/install.sh';
+ my ($right_dir, $bad_dir) = ("$::prefix/boot/EFI/EFI/", "$::prefix/boot/EFI/efi/");
+ if (-e $bad_dir && ! -e $right_dir) {
+ renamef($bad_dir, $right_dir);
+ }
+ if (!run_program::rooted($::prefix, "sh", "2>", \$error, $f)) {
+ log::explanations("grub2-install failed:\n(" . cat_($f) . ")\nError: <$error>");
+ die "grub2-install failed: $error";
+ }
}
sub install_grub {
- my ($bootloader, $fstab, $hds) = @_;
+ my ($bootloader, $all_hds) = @_;
- my $f = write_grub_config($bootloader, $fstab, $hds);
+ write_grub($bootloader, $all_hds);
if (!$::testing) {
- log::l("Installing boot loader...");
- symlink "$::prefix/boot", "/boot";
- my $error;
- run_program::run("sh", $f, "2>", \$error) or die "grub failed: $error";
- unlink "/boot";
+ if ($bootloader->{previous_boot} && $bootloader->{previous_boot} eq $bootloader->{boot}) {
+ # nothing to do (already installed in {boot})
+ } else {
+ if ($bootloader->{previous_boot}) {
+ restore_previous_MBR_bootloader(delete $bootloader->{previous_boot});
+ }
+ if (fs::get::device2part($bootloader->{boot}, [ fs::get::hds($all_hds) ])) {
+ save_previous_MBR_bootloader($bootloader->{boot});
+ $bootloader->{previous_boot} = $bootloader->{boot};
+ }
+ }
+
+ my @files = grep { /(stage1|stage2|_stage1_5)$/ } glob("$::prefix/lib/grub/*/*");
+ cp_af(@files, "$::prefix/boot/grub");
+ sync_partition_data_to_disk(fs::get::root([ fs::get::fstab($all_hds) ], 'boot'));
+ install_raw_grub();
}
+
+ configure_kdm_BootManager('Grub');
+}
+sub install_raw_grub() {
+ log::l("Installing boot loader...");
+ my $error;
+ run_program::rooted($::prefix, "sh", "2>", \$error, '/boot/grub/install.sh') or die "grub failed: $error";
}
-sub lnx4win_file {
- my $bootloader = shift;
- map { local $_ = $_; s,/,\\,g; "$bootloader->{boot_drive}:\\lnx4win$_" } @_;
+sub when_config_changed_grub2 {
+ my ($_bootloader) = @_;
+ #- do not do anything
}
+sub when_config_changed_grub {
+ my ($_bootloader) = @_;
+ #- do not do anything
+
+ update_copy_in_boot($_) foreach glob($::prefix . boot_copies_dir() . '/*.link');
+}
+
+sub write_refind {
+ my ($bootloader, $_all_hds, $o_backup_extension) = @_;
+
+ my @config;
+
+ foreach my $entry (@{$bootloader->{entries}}) {
+ if ($entry->{type} eq 'image' && $entry->{kernel_or_dev} eq '/boot/vmlinuz') {
+ my $vga = $entry->{vga} || $bootloader->{vga};
+ my $boot_params = join(' ',
+ "root=$entry->{root}",
+ $entry->{append},
+ if_($entry->{'read-write'}, 'rw'),
+ if_($vga && $vga ne "normal", "vga=$vga")
+ );
+ push @config, '"' . $entry->{label} . '" "' . $boot_params . '"';
+ }
+ }
+ if (@config) {
+ my $f = "$::prefix/boot/refind_linux.conf";
+ log::l("writing rEFInd config to $f");
+ renamef($f, $f . ($o_backup_extension || '.old'));
+ output_with_perm($f, 0600, map { "$_\n" } @config);
+ check_enough_space();
+ } else {
+ log::l("config has no entries - rEFInd config file not written");
+ }
+
+ my $default_kernel = readlink("$::prefix/boot/vmlinuz");
+ if ($default_kernel) {
+ if ($bootloader->{use_nvram}) {
+ write_refind_previous_boot_var($default_kernel);
+ } else {
+ write_refind_previous_boot_file($default_kernel, "$::prefix/boot/EFI/EFI/refind");
+ write_refind_previous_boot_file($default_kernel, "$::prefix/boot/EFI/EFI/BOOT");
+ }
+ }
+}
+
+sub write_refind_previous_boot_var {
+ my ($kernel) = @_;
+ my ($efivars, $already_mounted) = mount_efivars();
+ my $previous_boot = "$efivars/PreviousBoot-36d08fa7-cf0b-42f5-8f14-68df73ed3740";
+ run_program::run('chattr', '-i', $previous_boot) if -e $previous_boot;
+ if (open(my $efivar, '>:raw', $previous_boot)) {
+ require Encode;
+ log::l("writing rEFInd PreviousBoot variable");
+ print $efivar "\x07\x00\x00\x00";
+ print $efivar Encode::encode('UTF16-LE', $kernel);
+ print $efivar "\x00\x00";
+ close($efivar);
+ } else {
+ log::l("failed to write rEFInd PreviousBoot variable: $@ ($!)");
+ }
+ run_program::run('umount', $efivars) if !$already_mounted;
+}
+
+sub write_refind_previous_boot_file {
+ my ($kernel, $base_path) = @_;
+ return if ! -e "$base_path/refind.conf" || ! mkdir_p("$base_path/vars");
+ if (open(my $f, '>:raw', "$base_path/vars/PreviousBoot")) {
+ require Encode;
+ log::l("writing rEFInd $base_path/vars/PreviousBoot file");
+ print $f Encode::encode('UTF16-LE', "Boot boot\\$kernel");
+ print $f "\x00\x00";
+ close($f);
+ } else {
+ log::l("failed to write rEFInd $base_path/vars/PreviousBoot file");
+ }
+}
+
+sub install_refind {
+ my ($bootloader, $all_hds) = @_;
+
+ if ($bootloader->{install_mode} ne 'no_install') {
+ my (@options, $error);
+ if ($bootloader->{install_mode} eq 'as_default') {
+ $bootloader->{esp_device} or die "ESP device is unknown";
+ push @options, '--usedefault';
+ push @options, $bootloader->{esp_device};
+ #- refind_install uses lower case file names. If a default bootloader was previously
+ #- created with an upper case file name, Linux won't overwrite it.
+ my $default_fn = "$::prefix/boot/EFI/EFI/BOOT/BOOT" . uc(uefi_type()) . ".EFI";
+ unlink($default_fn) if -e $default_fn;
+ } elsif ($bootloader->{install_mode} eq 'nvram_only') {
+ push @options, '--nvramonly';
+ }
+ run_program::rooted($::prefix, '/sbin/refind-install', '2>', \$error, @options)
+ or die "refind-install failed: $error";
+ }
+
+ #- This file is not used by rEFInd itself. It just defines the paths to the image
+ #- files used for the standard banner choices.
+ my %h = getVarsFromSh("$::prefix/etc/sysconfig/refind");
+
+ my $banner_source;
+ if ($bootloader->{banner_path} eq 'refind_banner.png') {
+ $banner_source = "$::prefix" . $h{REFIND_BANNER};
+ } elsif ($bootloader->{banner_path} eq 'mageia_theme.png') {
+ $banner_source = "$::prefix" . $h{MAGEIA_THEME};
+ }
+ if (defined $banner_source && ! (-f $banner_source && -r $banner_source)) {
+ log::l("$banner_source does not exist or is not readable");
+ $bootloader->{banner_path} = '';
+ $bootloader->{banner_scale} = 'noscale';
+ undef $banner_source;
+ }
+
+ #- Try both possible locations for the main config file.
+ modify_refind_config($bootloader, $banner_source, "$::prefix/boot/EFI/EFI/refind");
+ modify_refind_config($bootloader, $banner_source, "$::prefix/boot/EFI/EFI/BOOT");
+
+ write_refind($bootloader, $all_hds);
+}
+
+sub modify_refind_config {
+ my ($bootloader, $banner_source, $esp_dir) = @_;
+
+ my $config_file = "$esp_dir/refind.conf";
+ return if ! -f $config_file || ! -w $config_file;
+
+ my $use_nvram = $bootloader->{use_nvram} ? 'true' : 'false';
+
+ my $banner_path = $bootloader->{banner_path};
+ cp_f($banner_source, "$esp_dir/$banner_path") if (defined $banner_source);
+
+ my $banner_scale = $bootloader->{banner_scale};
+
+ my @config;
+
+ my %done;
+ foreach (cat_utf8($config_file)) {
+ if ($_ =~ /^#?use_nvram\s/) {
+ if (! $done{use_nvram}) {
+ push @config, "use_nvram $use_nvram\n" ;
+ $done{use_nvram} = 1;
+ }
+ } elsif ($_ =~ /^#?banner\s/) {
+ if (! $done{banner_path}) {
+ if ($banner_path eq '') {
+ push @config, "#banner my_banner.png\n";
+ } else {
+ push @config, "banner $banner_path\n";
+ }
+ $done{banner_path} = 1;
+ }
+ } elsif ($_ =~ /^#?banner_scale\s/) {
+ if (! $done{banner_scale}) {
+ push @config, "banner_scale $banner_scale\n";
+ $done{banner_scale} = 1;
+ }
+ } else {
+ push @config, $_;
+ }
+ }
+
+ if (@config) {
+ log::l("writing rEFInd config to $config_file");
+ renamef($config_file, $config_file . '.old');
+ output_with_perm($config_file, 0600, @config);
+ } else {
+ log::l("config has no entries - rEFInd config file not written");
+ }
+}
+
+sub when_config_changed_refind {
+ my ($_bootloader) = @_;
+ #- do not do anything
+}
+
+=item action($bootloader, $action, @para)
+
+Calls the C<$action> function with @para parameters:
+
+ $actions->($bootloader, @para)
+
+If needed, the function name will be resolved to call a boot loader specific function (eg: for LILO/GRUB/...)
+
+This Swiss army knife function is heavily used by eg /sbin/bootloader-config
+
+=cut
+
+sub action {
+ my ($bootloader, $action, @para) = @_;
+
+ my $main_method = main_method($bootloader->{method});
+ my $f = $bootloader::{$action . '_' . $main_method} or die "unknown bootloader method $bootloader->{method} ($action)";
+ $f->($bootloader, @para);
+}
+
+=item install($bootloader, $all_hds)
+
+Writes back the boot loader config. Calls the proper write_XYZ() function.
+
+=cut
+
sub install {
- my ($bootloader, $fstab, $hds) = @_;
+ my ($bootloader, $all_hds) = @_;
+
+ my ($efivars, $already_mounted) = mount_efivars() if is_uefi();
+
+ $bootloader->{keytable} = keytable($bootloader->{keytable}) if $bootloader->{method} eq 'lilo';
+ action($bootloader, 'install', $all_hds);
+
+ run_program::run('umount', $efivars) if is_uefi() && !$already_mounted;
+}
- if (my $p = find { $bootloader->{boot} eq "/dev/$_->{device}" } @$fstab) {
- die \N("You can't install the bootloader on a %s partition\n", partition_table::type2fs($p))
- if isThisFs('xfs', $p);
+sub get_grub2_pkg() {
+ my ($prefix, $pkg);
+ if (is_uefi()) {
+ my %convert = (ia32 => 'i386', aa64 => 'arm64', x64 => 'x86_64');
+ my %pkgs = (ia32 => 'x86-32', aa64 => 'aarch-64', x64 => 'x86-64');
+ $prefix = $convert{uefi_type()} . "-efi";
+ $pkg = "grub2-efi(" . $pkgs{uefi_type()} . ")";
+ } else {
+ $prefix = 'i386-pc';
+ $pkg = 'grub2';
}
- $bootloader->{keytable} = keytable($bootloader->{keytable});
+ ($prefix, $pkg);
+}
- my @methods = $bootloader->{method} eq 'grub' ? ('lilo-graphic', 'grub') : $bootloader->{method};
- my @rcs = map {
- my ($main_method) = /(\w+)/;
- my $f = $bootloader::{"install_$main_method"} or die "unknown bootloader method $_";
- eval { $f->($bootloader, $fstab, $hds, $_) };
- $@;
- } @methods;
-
- die $rcs[0] if every { $_ } @rcs;
+sub ensure_pkg_is_installed {
+ my ($do_pkgs, $bootloader) = @_;
+
+ my %suppl = (
+ # method => [ 'pkg_name', 'file_to_test' ],
+ 'grub-graphic' => [ qw(mageia-gfxboot-theme /usr/share/gfxboot/themes/Mageia/boot/message) ],
+ 'grub2-graphic' => [ qw(grub2-mageia-theme /boot/grub2/themes/maggy/theme.txt) ],
+ );
+ my $main_method = main_method($bootloader->{method});
+ if ($main_method eq 'grub2') {
+ my ($prefix, $pkg) = get_grub2_pkg();
+ $do_pkgs->ensure_is_installed($pkg, "/usr/lib/grub/$prefix/ext2.mod", 1) or return 0;
+ } elsif ($main_method eq 'refind') {
+ $do_pkgs->ensure_is_installed('refind', '/sbin/refind-install', 1) or return 0;
+ } elsif (member($main_method, qw(grub grub2 lilo))) {
+ $do_pkgs->ensure_binary_is_installed($main_method, $main_method, 1) or return 0;
+ }
+ # Install gfx theme if needed:
+ if (my $pkg = $suppl{$bootloader->{method}}) {
+ $do_pkgs->ensure_is_installed(@$pkg, 1) or return 0;
+ }
+ 1;
+}
+
+sub parse_grub2_config {
+ my ($l, $grubcfg, $part) = @_;
+
+ my ($linux, $menuentry, $root, $root_dev, $initrd);
+
+ foreach (cat_($grubcfg)) {
+ chomp;
+ if (/^menuentry\s+['"]([^']+)["']/) {
+ if ($menuentry && $root) {
+ my $parttype = partition_table::raw::typeOfMBR($root_dev);
+ if ((!$parttype || $parttype eq "empty") && $linux) {
+ push @$l, { menuentry => $menuentry, bootpart => $part, root => $root, linux => $linux, initrd => $initrd, grub_conf => $grubcfg };
+ }
+ }
+ $menuentry = $1;
+ $root = $linux = undef;
+ } elsif (/set root='(\([^\)]+\))'/) {
+ $root = $1;
+
+ if ($root =~ /\(([^,]+),msdos(\d+)\)/) {
+ my $dev_title = "/" . $1;
+ my $part_num = $2;
+ my $dec_part_num = $part_num-1;
+ $dev_title =~ s!hd!dev/sd!;
+ $dev_title =~ tr/0123456789/abcdefghi/;
+
+ $root_dev = $part_num ? $dev_title . $part_num : $dev_title;
+ $root =~ s/msdos$part_num/$dec_part_num/;
+ }
+ } elsif (/^\s+linux\s+(.+)/) {
+ $linux = $1;
+ } elsif (/^\s+initrd\s+(.+)/) {
+ $initrd = $1;
+ }
+ }
}
+=item find_other_distros_grub_conf($fstab)
+
+Returns a list of other distros' grub.conf
+
+=cut
+
+sub find_other_distros_grub_conf {
+ my ($fstab) = @_;
+
+ my @unknown_true_fs =
+ grep { isTrueLocalFS($_) &&
+ (!$_->{mntpoint} || !member($_->{mntpoint}, '/home', fs::type::directories_needed_to_boot()));
+ } @$fstab;
+
+ log::l("looking for configured grub on partitions " . join(' ', map { $_->{device} } @unknown_true_fs));
+
+ my @l;
+ foreach my $part (@unknown_true_fs) {
+ my $handle = any::inspect($part, $::prefix) or next;
+
+ foreach my $bootdir ('', '/boot') {
+ my $f = find { -e "$handle->{dir}$bootdir/$_" } 'grub.conf', 'grub/menu.lst' or next;
+ push @l, { bootpart => $part, bootdir => $bootdir, grub_conf => "$bootdir/$f" };
+ }
+ foreach my $bootdir ('', '/boot', '/boot/grub', '/boot/grub2') {
+ my $f = find { -e "$handle->{dir}$bootdir/$_" } 'grub.cfg' or next;
+ my $parttype = partition_table::raw::typeOfMBR($part->{device});
+ if (!$parttype || $parttype eq "empty") {
+ parse_grub2_config(\@l, "$handle->{dir}/$bootdir/$f", $part);
+ } else {
+ push @l, { bootpart => $part, bootdir => $bootdir, grub_conf => "$bootdir/$f" };
+ }
+ }
+ if (my $f = common::release_file($handle->{dir})) {
+ my $h = common::parse_release_file($handle->{dir}, $f, $part);
+ $h->{name} = $h->{release};
+ push @l, $h;
+ } elsif ($handle && -e "$handle->{dir}/etc/issue") {
+ my ($s, $dropped) = cat_("$handle->{dir}/etc/issue") =~ /^([^\\\n]*)(.*)/;
+ log::l("found /etc/issue: $s (removed: $dropped)");
+ push @l, { name => $s, part => $part };
+ }
+ }
+ my $root;
+ my $set_root = sub {
+ my ($v) = @_;
+ $root and log::l("don't know what to do with $root->{name} ($root->{part}{device})");
+ $root = $v;
+ };
+ my @found;
+ while (my $e = shift @l) {
+ if ($e->{name}) {
+ $set_root->($e);
+ } else {
+ if (@l && $l[0]{name}) {
+ $set_root->(shift @l);
+ }
+
+ my $ok;
+ if ($root && $root->{part} == $e->{bootpart} && $e->{bootdir}) {
+ # easy case: /boot is not a separate partition
+ $ok = 1;
+ } elsif ($root && $root->{part} != $e->{bootpart} && !$e->{bootdir}) {
+ log::l("associating '/' $root->{part}{device} with '/boot' $e->{bootpart}{device}");
+ $ok = 1;
+ }
+ if ($ok) {
+ add2hash($e, $root);
+ undef $root;
+ } elsif ($root) {
+ log::l("weird case for grub conf in $e->{bootpart}{device}, keeping '/' from $root->{part}{device}");
+ } else {
+ log::l("could not recognise the distribution for $e->{grub_conf} in $e->{bootpart}{device}");
+ }
+ $e->{name} ||= "Linux $e->{bootpart}{device}";
+ push @found, $e;
+ }
+ }
+ $set_root->(undef);
+
+ @found;
+}
+
+sub update_for_renumbered_partitions {
+ my ($in, $renumbering, $all_hds) = @_;
+
+ my @configs = grep { $_->{content} } config_files();
+ $_->{new} = $_->{orig} = $_->{content} foreach @configs;
+
+ my @sorted_hds; {
+ my $grub2dev = read_grub_device_map();
+ map_each {
+ $sorted_hds[$1] = fs::get::device2part($::b, $all_hds->{hds}) if $::a =~ /hd(\d+)/;
+ } %$grub2dev;
+ }
+
+ #- NB: we make the changes with an added string inside so that hda5 is only renamed once to hda6
+
+ foreach (@$renumbering) {
+ my ($old, $new) = @$_;
+ log::l("renaming $old -> $new");
+ (my $lnew = $new) =~ s/(\d+)$/__DRAKX_DONE__$1/;
+ $_->{new} =~ s/\b$old/$lnew/g foreach @configs;
+
+ any { $_->{name} eq 'grub' } @configs or next;
+
+ my ($old_grub, $new_grub) = map { device_string2grub($_, [], \@sorted_hds) } $old, $new;
+ log::l("renaming $old_grub -> $new_grub");
+ (my $lnew_grub = $new_grub) =~ s/\)$/__DRAKX_DONE__)/;
+ $_->{new} =~ s/\Q$old_grub/$lnew_grub/g foreach @configs;
+ }
+
+ $_->{new} =~ s/__DRAKX_DONE__//g foreach @configs;
+
+ my @changed_configs = grep { $_->{orig} ne $_->{new} } @configs or return 1; # no need to update
+
+ $in->ask_okcancel('', N("Your bootloader configuration must be updated because partition has been renumbered")) or return;
+
+ foreach (@changed_configs) {
+ renamef("$::prefix/$_->{file}", "$::prefix/$_->{file}.old");
+ output("$::prefix/$_->{file}", $_->{new});
+ }
+
+ my $main_method = detect_main_method($all_hds);
+ my @needed = map {
+ $_ eq 'grub' ? 'grub_install' : $_;
+ } $main_method ? $main_method : ('lilo', 'grub');
+
+ if (intersection(\@needed, [ map { $_->{name} } @changed_configs ])) {
+ $in->ask_warn('', N("The bootloader cannot be installed correctly. You have to boot rescue and choose \"%s\"",
+ N("Re-install Boot Loader")));
+ }
+ 1;
+}
+
+=back
+
+=cut
+
1;
diff --git a/perl-install/c.pm b/perl-install/c.pm
index ee44fa426..8312c0d79 100644
--- a/perl-install/c.pm
+++ b/perl-install/c.pm
@@ -1,4 +1,4 @@
-package c; # $Id$
+package c;
use vars qw($AUTOLOAD);
@@ -7,13 +7,42 @@ use MDK::Common;
sub AUTOLOAD() {
$AUTOLOAD =~ /::(.*)/ or return;
- my @l = eval { &{$c::stuff::{$1}} };
+ my $fct = $1;
+ my @l = eval { &{$c::stuff::{$fct}} };
if (my $err = $@) {
$err =~ /Undefined subroutine &main::/ ?
- die("can't find function $AUTOLOAD\n" . backtrace()) :
- die($err);
+ die("cannot find function $AUTOLOAD\n" . backtrace()) :
+ die("$fct: " . $err);
}
wantarray() ? @l : $l[0];
}
1;
+
+
+=head1 SYNOPSYS
+
+The C module is glue code between the Perl & the C worlds that enable drakx to:
+
+=over
+
+=item *
+
+access various C libraries, mainly libldetect
+
+=item *
+
+bind some C functions (eg: syslog(), ...)
+
+=item *
+
+implement in C some helper functions
+
+=back
+
+It is autogenerated from perl-install/c/stuff.xs.pl.
+One needs to run "perl Makefile.PL"
+
+It's used quite a lot by L<detect_devices>.
+
+=cut
diff --git a/perl-install/c/.cvsignore b/perl-install/c/.cvsignore
deleted file mode 100644
index 665b57e54..000000000
--- a/perl-install/c/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-Makefile
-Makefile_c
-stuff.c
-stuff.bs
-pm_to_blib
-Makefile_c.old
-blib
-stuff.xs
-pcmcia_probe.c
diff --git a/perl-install/c/Makefile b/perl-install/c/Makefile
index eba1a3cb0..0d09a8919 100644
--- a/perl-install/c/Makefile
+++ b/perl-install/c/Makefile
@@ -1,12 +1,9 @@
.PHONY: clean
-C_RPM = 1
-C_DRAKX = 1
-MYENV = C_RPM=$(C_RPM) C_DRAKX=$(C_DRAKX)
-MAKEIT = $(MYENV) $(MAKE) -f Makefile_c LD_RUN_PATH=
+MAKEIT = $(MAKE) -f Makefile_c LD_RUN_PATH=
stuff: %: %.xs
- test -e Makefile_c || $(MYENV) perl Makefile.PL
+ test -e Makefile_c || perl Makefile.PL
$(MAKEIT) || $(MAKEIT)
rm -f ../auto/c ; ln -s ../c/blib/arch/auto ../auto/c
@@ -16,5 +13,5 @@ clean:
stuff.xs: %: %.pl
rm -f $@
- C_RPM=$(C_RPM) C_DRAKX=$(C_DRAKX) perl $< > $@
+ perl $< > $@
chmod a-w $@
diff --git a/perl-install/c/Makefile.PL b/perl-install/c/Makefile.PL
index 7bf7ce128..f776d27f2 100644..100755
--- a/perl-install/c/Makefile.PL
+++ b/perl-install/c/Makefile.PL
@@ -6,21 +6,16 @@ use Config;
my $lib = arch() =~ /x86_64/ ? 'lib64' : 'lib';
-my $libs = '-lldetect -lext2fs';
-$libs .= " -L/usr/X11R6/$lib -lX11 -lXext -lXxf86misc" if $ENV{C_DRAKX};
-$libs .= ' -lrpm -lrpmdb -lrpmio -lpopt -lz' if $ENV{C_RPM};
+my $libs = '-lldetect -lparted';
-my $pcmcia_dir = $ENV{C_DRAKX} && $Config{archname} =~ /i.86/ ? '../../mdk-stage1/pcmcia_' : '';
-
-symlink "$pcmcia_dir/probe.c", "probe.c" if $pcmcia_dir;
+my $pcmcia_probe_o = "/usr/$lib/drakx-installer-binaries/pcmcia_probe.o";
WriteMakefile(
'NAME' => 'stuff',
- 'OPTIMIZE' => '-Os',
+ 'OPTIMIZE' => '-Os -Wall',
'MAKEFILE' => 'Makefile_c',
- 'OBJECT' => "stuff.o smp.o sbus.o silo.o smp-dmi.o" . ($pcmcia_dir && " probe.o"),
+ 'OBJECT' => "stuff.o " . (-e $pcmcia_probe_o && " $pcmcia_probe_o"),
'VERSION_FROM' => 'stuff.pm', # finds $VERSION
'LIBS' => [$libs], # e.g., '-lm'
'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
- 'INC' => "-I/usr/include/rpm " . ($pcmcia_dir && " -I$pcmcia_dir -I$pcmcia_dir/.."),
);
diff --git a/perl-install/c/README b/perl-install/c/README
deleted file mode 100644
index b5ad1224f..000000000
--- a/perl-install/c/README
+++ /dev/null
@@ -1,3 +0,0 @@
-md5.c, md5_crypt.c and md5.h are taken from pam (dir modules/pam_pwdb)
-
-smp.c is taken from RedHat's install
diff --git a/perl-install/c/sbus.c b/perl-install/c/sbus.c
deleted file mode 100644
index 85d44fa79..000000000
--- a/perl-install/c/sbus.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* This file is inspired from source code of kudzu from Red Hat, Inc.
- * It has been modified to keep only "what is needed" in C, the prom_walk
- * has been rewritten in perl for convenience :-)
- *
- * Copyright notice from original version.
- * sbus.c: Probe for Sun SBUS and UPA framebuffers using OpenPROM,
- * SBUS SCSI and Ethernet cards and SBUS or EBUS audio chips.
- *
- * Copyright (C) 1998, 1999 Jakub Jelinek (jj@ultra.linux.cz)
- * (C) 1999 Red Hat, Inc.
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- */
-
-#ifdef __sparc__
-
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <asm/openpromio.h>
-
-static char *promdev = "/dev/openprom";
-static int promfd = -1;
-static int prom_current_node;
-#define MAX_PROP 128
-#define MAX_VAL (4096-128-4)
-static char buf[4096];
-#define DECL_OP(size) struct openpromio *op = (struct openpromio *)buf; op->oprom_size = (size)
-
-int prom_open()
-{
- int prom_root_node;
-
- if (promfd == -1) {
- promfd = open(promdev, O_RDONLY);
- if (promfd == -1)
- return 0;
- }
- prom_root_node = prom_getsibling(0);
- if (!prom_root_node) {
- close(promfd);
- promfd = -1;
- return 0;
- }
- return prom_root_node;
-}
-
-void prom_close()
-{
- if (promfd != -1) {
- close(promfd);
- promfd = -1;
- }
-}
-
-int prom_getsibling(int node)
-{
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMNEXT, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-int prom_getchild(int node)
-{
- DECL_OP(sizeof(int));
-
- if (!node || node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMCHILD, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-char *prom_getopt(char *var, int *lenp)
-{
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- if (ioctl (promfd, OPROMGETOPT, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-void prom_setopt(char *var, char *value) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- strcpy (op->oprom_array + strlen (var) + 1, value);
- ioctl (promfd, OPROMSETOPT, op);
-}
-
-char *prom_getproperty(char *prop, int *lenp)
-{
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, prop);
- if (ioctl (promfd, OPROMGETPROP, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-int prom_getbool(char *prop)
-{
- DECL_OP(0);
-
- *(int *)op->oprom_array = 0;
- for (;;) {
- op->oprom_size = MAX_PROP;
- if (ioctl(promfd, OPROMNXTPROP, op) < 0)
- return 0;
- if (!op->oprom_size)
- return 0;
- if (!strcmp (op->oprom_array, prop))
- return 1;
- }
-}
-
-int prom_pci2node(int bus, int devfn) {
- DECL_OP(2*sizeof(int));
-
- ((int *)op->oprom_array)[0] = bus;
- ((int *)op->oprom_array)[1] = devfn;
- if (ioctl (promfd, OPROMPCI2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-#else
-int prom_open() { return 0; }
-void prom_close() {}
-int prom_getsibling(int node) { return 0; }
-int prom_getchild(int node) { return 0; }
-char *prom_getopt(char *var, int *lenp) { return 0; /* NULL */ }
-void prom_setopt(char *var, char *value) {}
-char *prom_getproperty(char *prop, int *lenp) { return 0; /* NULL */ }
-int prom_getbool(char *prop) { return 0; }
-int prom_pci2node(int bus, int devfn) { return 0; }
-#endif /* __sparc__ */
diff --git a/perl-install/c/silo.c b/perl-install/c/silo.c
deleted file mode 100644
index 2fd621f4e..000000000
--- a/perl-install/c/silo.c
+++ /dev/null
@@ -1,817 +0,0 @@
-/* silo.c: Conversions between SCSI and IDE disk names
- * and OpenPROM fully qualified paths.
- *
- * Modified for DrakX light integration.
- * Copyright (C) 1999, 2000 Jakub Jelinek <jakub@redhat.com>
- *
- * This software may be freely redistributed under the terms of the GNU
- * public license.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifdef __sparc__
-
-#define _GNU_SOURCE
-#include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <asm/openpromio.h>
-#include <ctype.h>
-#include <dirent.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-
-#ifndef OPROMSETCUR
-#define OPROMSETCUR 0x20004FF0
-#define OPROMPCI2NODE 0x20004FF1
-#define OPROMPATH2NODE 0x20004FF2
-#endif
-
-static int hasaliases;
-static char *promdev = "/dev/openprom";
-static int promfd;
-static char sd_targets[10] = "31204567";
-static int p1275 = 0;
-static int prom_root_node, prom_current_node;
-static int promvers;
-static void (*prom_walk_callback)(int node);
-static char prom_path[1024];
-#define MAX_PROP 128
-#define MAX_VAL (4096-128-4)
-static char buf[4096];
-static char regstr[40];
-#define DECL_OP(size) struct openpromio *op = (struct openpromio *)buf; op->oprom_size = (size)
-
-static int
-prom_setcur(int node) {
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMSETCUR, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_getsibling(int node) {
- DECL_OP(sizeof(int));
-
- if (node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMNEXT, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_getchild(int node) {
- DECL_OP(sizeof(int));
-
- if (!node || node == -1) return 0;
- *(int *)op->oprom_array = node;
- if (ioctl (promfd, OPROMCHILD, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static char *
-prom_getproperty(char *prop, int *lenp) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, prop);
- if (ioctl (promfd, OPROMGETPROP, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-static char *
-prom_getopt(char *var, int *lenp) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- if (ioctl (promfd, OPROMGETOPT, op) < 0)
- return 0;
- if (lenp) *lenp = op->oprom_size;
- return op->oprom_array;
-}
-
-static void
-prom_setopt(char *var, char *value) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, var);
- strcpy (op->oprom_array + strlen (var) + 1, value);
- ioctl (promfd, OPROMSETOPT, op);
-}
-
-static int
-prom_getbool(char *prop) {
- DECL_OP(0);
-
- *(int *)op->oprom_array = 0;
- for (;;) {
- op->oprom_size = MAX_PROP;
- if (ioctl(promfd, OPROMNXTPROP, op) < 0)
- return 0;
- if (!op->oprom_size)
- return 0;
- if (!strcmp (op->oprom_array, prop))
- return 1;
- }
-}
-
-static int
-prom_pci2node(int bus, int devfn) {
- DECL_OP(2*sizeof(int));
-
- ((int *)op->oprom_array)[0] = bus;
- ((int *)op->oprom_array)[1] = devfn;
- if (ioctl (promfd, OPROMPCI2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-static int
-prom_path2node(char *path) {
- DECL_OP(MAX_VAL);
-
- strcpy (op->oprom_array, path);
- if (ioctl (promfd, OPROMPATH2NODE, op) < 0)
- return 0;
- prom_current_node = *(int *)op->oprom_array;
- return *(int *)op->oprom_array;
-}
-
-#define PW_TYPE_SBUS 1
-#define PW_TYPE_PCI 2
-#define PW_TYPE_EBUS 3
-
-static void
-prom_walk(char *path, int parent, int node, int type) {
- int nextnode;
- int len, ntype = type;
- char *prop;
-
- prop = prom_getproperty("name", &len);
- if (prop && len > 0) {
- if ((!strcmp(prop, "sbus") || !strcmp(prop, "sbi")) && !type)
- ntype = PW_TYPE_SBUS;
- else if (!strcmp(prop, "ebus") && type == PW_TYPE_PCI)
- ntype = PW_TYPE_EBUS;
- else if (!strcmp(prop, "pci") && !type)
- ntype = PW_TYPE_PCI;
- }
- *path = '/';
- strcpy (path + 1, prop);
- prop = prom_getproperty("reg", &len);
- if (prop && len >= 4) {
- unsigned int *reg = (unsigned int *)prop;
- int cnt = 0;
- if (!p1275 || (type == PW_TYPE_SBUS))
- sprintf (regstr, "@%x,%x", reg[0], reg[1]);
- else if (type == PW_TYPE_PCI) {
- if ((reg[0] >> 8) & 7)
- sprintf (regstr, "@%x,%x", (reg[0] >> 11) & 0x1f, (reg[0] >> 8) & 7);
- else
- sprintf (regstr, "@%x", (reg[0] >> 11) & 0x1f);
- } else if (len == 4)
- sprintf (regstr, "@%x", reg[0]);
- else {
- unsigned int regs[2];
-
- /* Things get more complicated on UPA. If upa-portid exists,
- then address is @upa-portid,second-int-in-reg, otherwise
- it is @first-int-in-reg/16,second-int-in-reg (well, probably
- upa-portid always exists, but just to be safe). */
- memcpy (regs, reg, sizeof(regs));
- prop = prom_getproperty("upa-portid", &len);
- if (prop && len == 4) {
- reg = (unsigned int *)prop;
- sprintf (regstr, "@%x,%x", reg[0], regs[1]);
- } else
- sprintf (regstr, "@%x,%x", regs[0] >> 4, regs[1]);
- }
- for (nextnode = prom_getchild(parent); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && !strcmp (path + 1, prop))
- cnt++;
- }
- if (cnt > 1)
- strcat (path, regstr);
- }
-
- prom_walk_callback(node);
-
- nextnode = prom_getchild(node);
- if (nextnode)
- prom_walk(strchr (path, 0), node, nextnode, ntype);
- nextnode = prom_getsibling(node);
- if (nextnode)
- prom_walk(path, parent, nextnode, type);
-}
-
-static int
-prom_init(int mode) {
- struct utsname u;
-
- promfd = open(promdev, mode);
- if (promfd == -1)
- return -1;
- prom_root_node = prom_getsibling(0);
- if (!prom_root_node)
- return -1;
-
- if (!uname (&u) && !strcmp (u.machine, "sparc64"))
- p1275 = 1;
- return 0;
-}
-
-#define SDSK_TYPE_IDE 1
-#define SDSK_TYPE_SD 2
-#define SDSK_TYPE_PLN 3
-#define SDSK_TYPE_FC 4
-
-static struct sdsk_disk {
- unsigned int prom_node;
- unsigned int type, host, hi, mid, lo;
- unsigned char *prom_name;
-} *hd = NULL, *sd = NULL;
-static int hdlen, sdlen;
-
-static void
-scan_walk_callback(int node) {
- int nextnode;
- char *prop;
- int len, disk;
- static int v0ctrl = 0;
-
- for (disk = 0; disk < hdlen + sdlen; disk++) {
- if (hd[disk].prom_node == node) {
- switch (hd[disk].type) {
- case SDSK_TYPE_IDE:
- for (nextnode = prom_getchild(node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && (!strcmp (prop, "ata") || !strcmp (prop, "disk")))
- break;
- }
- if (!nextnode)
- continue;
- if (prop[0] == 'a')
- sprintf (prop, "/ata@%x,0/cmdk@%x,0", hd[disk].hi, hd[disk].lo);
- else
- sprintf (prop, "/disk@%x,0", hd[disk].hi * 2 + hd[disk].lo);
- break;
- case SDSK_TYPE_SD:
- for (nextnode = prom_getchild(node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("compatible", &len);
- if (prop && len > 0 && !strcmp (prop, "sd"))
- break;
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && (!strcmp (prop, "sd") || !strcmp (prop, "disk")))
- break;
- }
- if (!nextnode || hd[disk].hi)
- continue;
- if (promvers) {
- char name[1024];
- prop = prom_getproperty("name", &len);
- if (prop && len > 0)
- strcpy (name, prop);
- else
- strcpy (name, "sd");
- if (!prop)
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/%s@%x,%x", name, hd[disk].mid, hd[disk].lo);
- } else {
- int i;
- for (i = 0; sd_targets[i]; i++)
- if (sd_targets[i] == '0' + hd[disk].mid)
- break;
- if (!sd_targets[i])
- i = hd[disk].mid;
- sprintf (prop, "sd(%d,%d,", v0ctrl, i);
- }
- break;
- case SDSK_TYPE_PLN:
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/SUNW,pln@%x,%x/SUNW,ssd@%x,%x",
- hd[disk].lo & 0xf0000000, hd[disk].lo & 0xffffff,
- hd[disk].hi, hd[disk].mid);
- break;
- case SDSK_TYPE_FC:
- prop = ((struct openpromio *)buf)->oprom_array;
- sprintf (prop, "/sf@0,0/ssd@w%08x%08x,%x", hd[disk].hi, hd[disk].mid, hd[disk].lo);
- break;
- default:
- continue;
- }
- hd[disk].prom_name = malloc (strlen (prom_path) + strlen(prop) + 3);
- if (!hd[disk].prom_name)
- continue;
- if (promvers)
- strcpy (hd[disk].prom_name, prom_path);
- else
- hd[disk].prom_name[0] = '\0';
- strcat (hd[disk].prom_name, prop);
- }
- }
- v0ctrl++;
-}
-
-static int
-scan_ide(void) {
- DIR * dir;
- char path[80];
- char buffer[512];
- int fd, i, disk;
- struct dirent * ent;
- int pci_bus, pci_devfn;
-
- if (access("/proc/ide", R_OK)) return 0;
-
- if (!(dir = opendir("/proc/ide"))) {
- return 1;
- }
-
- while ((ent = readdir(dir))) {
- if (ent->d_name[0] == 'h' && ent->d_name[1] == 'd' &&
- ent->d_name[2] >= 'a' && ent->d_name[2] <= 'z' &&
- ent->d_name[3] == '\0') {
- disk = ent->d_name[2] - 'a';
- if (disk >= hdlen) {
- hd = (struct sdsk_disk *)realloc(hd, ((disk&~3)+4)*sizeof(struct sdsk_disk));
- memset (hd + hdlen, 0, ((disk&~3)+4-hdlen)*sizeof(struct sdsk_disk));
- hdlen = (disk&~3)+4;
- }
- for (i = (disk & ~3); i <= (disk | 3); i++) {
- if (hd[i].type)
- break;
- }
- if (i > (disk | 3)) {
- sprintf(path, "/proc/ide/%s", ent->d_name);
- if (readlink(path, buffer, 512) < 5)
- continue;
- if (strncmp(buffer, "ide", 3) ||
- !isdigit(buffer[3]) ||
- buffer[4] != '/')
- continue;
- buffer[4] = 0;
- sprintf(path, "/proc/ide/%s/config", buffer);
- if ((fd = open(path, O_RDONLY)) < 0)
- continue;
- i = read(fd, buffer, 50);
- close(fd);
- if (i < 50) continue;
- if (sscanf (buffer, "pci bus %x device %x ",
- &pci_bus, &pci_devfn) != 2)
- continue;
- hd[disk].prom_node = prom_pci2node (pci_bus, pci_devfn);
- } else
- hd[disk].prom_node = hd[i].prom_node;
- hd[disk].type = SDSK_TYPE_IDE;
- hd[disk].hi = (disk & 2) >> 1;
- hd[disk].lo = (disk & 1);
- }
- }
-
- closedir(dir);
-
- return 0;
-}
-
-static int
-scan_scsi(void) {
- FILE *f;
- DIR * dir, *dirhba;
- struct dirent * ent, *enthba;
- struct stat st;
- char * p, * q;
- char buf[512];
- char path[128];
- int disk = 0;
- int host, channel, id, lun;
- int prom_node, pci_bus, pci_devfn;
-
- if (access("/proc/scsi/scsi", R_OK)) {
- return 0;
- }
-
- f = fopen("/proc/scsi/scsi", "r");
- if (f == NULL) return 1;
-
- if (fgets(buf, sizeof(buf), f) == NULL) {
- fclose(f);
- return 1;
- }
- if (!strcmp(buf, "Attached devices: none\n")) {
- fclose(f);
- return 0;
- }
-
- while (fgets(buf, sizeof(buf), f) != NULL) {
- if (sscanf(buf, "Host: scsi%d Channel: %d Id: %d Lun: %d\n",
- &host, &channel, &id, &lun) != 4)
- break;
- if (fgets(buf, sizeof(buf), f) == NULL)
- break;
- if (strncmp(buf, " Vendor:", 9))
- break;
- if (fgets(buf, sizeof(buf), f) == NULL)
- break;
- if (strncmp(buf, " Type: ", 10))
- break;
- if (!strncmp(buf+10, "Direct-Access", 13)) {
- if (disk >= sdlen) {
- hd = (struct sdsk_disk *)
- realloc(hd, (hdlen+(disk&~3)+4)*sizeof(struct sdsk_disk));
- sd = hd + hdlen;
- memset (sd + sdlen, 0,
- ((disk&~3)+4-sdlen)*sizeof(struct sdsk_disk));
- sdlen = (disk&~3)+4;
- }
- sd[disk].type = SDSK_TYPE_SD;
- sd[disk].host = host;
- sd[disk].hi = channel;
- sd[disk].mid = id;
- sd[disk].lo = lun;
- disk++;
- }
- }
- fclose (f);
-
- if (!(dir = opendir("/proc/scsi"))) {
- if (!hdlen && hd) {
- free(hd);
- hd = NULL;
- }
- sd = NULL;
- sdlen = 0;
- return 1;
- }
-
- while ((ent = readdir(dir))) {
- if (!strcmp (ent->d_name, "scsi") || ent->d_name[0] == '.')
- continue;
- sprintf (path, "/proc/scsi/%s", ent->d_name);
- if (stat (path, &st) < 0 || !S_ISDIR (st.st_mode))
- continue;
- if (!(dirhba = opendir(path)))
- continue;
-
- while ((enthba = readdir(dirhba))) {
- if (enthba->d_name[0] == '.')
- continue;
- host = atoi(enthba->d_name);
- sprintf (path, "/proc/scsi/%s/%s", ent->d_name, enthba->d_name);
- f = fopen (path, "r");
- if (f == NULL) continue;
-
- if (!strcmp (ent->d_name, "esp") ||
- !strcmp (ent->d_name, "qlogicpti") ||
- !strcmp (ent->d_name, "fcal"))
- p = "PROM node";
- else if (!strcmp (ent->d_name, "pluto"))
- p = "serial ";
- else
- p = "PCI bus";
- while (fgets (buf, sizeof(buf), f) != NULL) {
- q = strstr (buf, p);
- if (q == NULL) continue;
- prom_node = 0;
- switch (p[1]) {
- case 'R':
- if (sscanf (q, "PROM node %x", &prom_node) == 1)
- q = NULL;
- break;
- case 'e':
- if (sscanf (q, "serial 000000%x %*dx%*d on soc%*d port %x PROM node %x",
- &id, &lun, &prom_node) == 3 &&
- lun >= 10 && lun <= 11) {
- q = NULL;
- }
- break;
- case 'C':
- if (sscanf (q, "PCI bus %x device %x", &pci_bus, &pci_devfn) == 2) {
- q = NULL;
- prom_node = prom_pci2node (pci_bus, pci_devfn);
- }
- break;
- }
- if (q == NULL) {
- for (disk = 0; disk < sdlen; disk++)
- if (sd[disk].host == host && sd[disk].type) {
- sd[disk].prom_node = prom_node;
- if (p[1] == 'e') {
- sd[disk].type = SDSK_TYPE_PLN;
- sd[disk].lo = (lun << 28) | id;
- } else if (!strcmp (ent->d_name, "fcal"))
- sd[disk].type = SDSK_TYPE_FC;
- }
- }
- }
- if (!strcmp (ent->d_name, "fcal")) {
- while (fgets (buf, sizeof(buf), f) != NULL) {
- unsigned long long ll;
- if (sscanf (buf, " [AL-PA: %*x, Id: %d, Port WWN: %Lx, Node WWN: ", &id, &ll) == 2) {
- for (disk = 0; disk < sdlen; disk++)
- if (sd[disk].host == host && sd[disk].mid == id) {
- sd[disk].hi = ll >> 32;
- sd[disk].mid = ll;
- }
- }
- }
- }
- fclose(f);
- }
- closedir(dirhba);
- }
- closedir(dir);
- return 0;
-}
-
-static int get_prom_ver(void)
-{
- FILE *f = fopen ("/proc/cpuinfo","r");
- int ver = 0;
- char buffer[1024];
- char *p;
-
- if (f) {
- while (fgets (buffer, 1024, f)) {
- if (!strncmp (buffer, "promlib", 7)) {
- p = strstr (buffer, "Version ");
- if (p) {
- p += 8;
- if (*p == '0' || (*p >= '2' && *p <= '3')) {
- ver = *p - '0';
- }
- }
- break;
- }
- }
- fclose(f);
- }
- if (!ver) {
- int len;
- p = prom_getopt("sd-targets", &len);
- if (p && len > 0 && len <= 8)
- strcpy(sd_targets, p);
- }
- return ver;
-}
-
-static void check_aliases(void) {
- int nextnode, len;
- char *prop;
- hasaliases = 0;
- for (nextnode = prom_getchild(prom_root_node); nextnode; nextnode = prom_getsibling(nextnode)) {
- prop = prom_getproperty("name", &len);
- if (prop && len > 0 && !strcmp (prop, "aliases"))
- hasaliases = 1;
- }
-}
-
-char *prom_root_name = NULL;
-
-static void get_root_name(void) {
- int len;
- char *prop;
-
- prom_getsibling(0);
- prop = prom_getproperty("name", &len);
- if (prop && len > 0)
- prom_root_name = strdup(prop);
-}
-
-int init_sbusdisk(void) {
- if (prom_init(O_RDONLY))
- return -1;
- promvers = get_prom_ver();
- check_aliases();
- get_root_name();
- scan_ide();
- scan_scsi();
- prom_walk_callback = scan_walk_callback;
- prom_walk(prom_path, prom_root_node, prom_getchild (prom_root_node), 0);
- close(promfd);
- return 0;
-}
-
-void set_prom_vars(char *linuxAlias, char *bootDevice) {
- int len;
- int aliasDone = 0;
- if (prom_init(O_RDWR))
- return;
- if (linuxAlias && hasaliases) {
- char *use_nvramrc;
- char nvramrc[2048];
- char *p, *q, *r, *s;
- int enabled = -1;
- int count;
-
- use_nvramrc = prom_getopt ("use-nvramrc?", &len);
- if (len > 0) {
- if (!strcasecmp (use_nvramrc, "false"))
- enabled = 0;
- else if (!strcasecmp (use_nvramrc, "true"))
- enabled = 1;
- }
- if (enabled != -1) {
- p = prom_getopt ("nvramrc", &len);
- if (p) {
- memcpy (nvramrc, p, len);
- nvramrc [len] = 0;
- q = nvramrc;
- for (;;) {
- /* If there is already `devalias linux /some/ugly/prom/path'
- make sure we fully understand that and remove it. */
- if (!strncmp (q, "devalias", 8) && (q[8] == ' ' || q[8] == '\t')) {
- for (r = q + 9; *r == ' ' || *r == '\t'; r++);
- if (!strncmp (r, "linux", 5)) {
- for (s = r + 5; *s && *s != ' ' && *s != '\t'; s++);
- if (!*s) break;
- if (s == r + 5 ||
- (r[5] == '#' && r[6] >= '0' && r[6] <= '9' &&
- (s == r + 7 ||
- (r[7] >= '0' && r[7] <= '9' && s == r + 8)))) {
- for (r = s + 1; *r == ' ' || *r == '\t'; r++);
- for (; *r && *r != ' ' && *r != '\t' && *r != '\n'; r++);
- for (; *r == ' ' || *r == '\t'; r++);
- if (*r == '\n') {
- r++;
- memmove (q, r, strlen(r) + 1);
- continue;
- }
- }
- }
- }
- q = strchr (q, '\n');
- if (!q) break;
- q++;
- }
- len = strlen (nvramrc);
- if (len && nvramrc [len-1] != '\n')
- nvramrc [len++] = '\n';
- p = nvramrc + len;
- p = stpcpy (p, "devalias linux ");
- r = linuxAlias;
- q = strchr (r, ';');
- count = 1;
- while (q) {
- memcpy (p, r, q - r);
- p += q - r;
- sprintf (p, "\ndevalias linux#%d ", count++);
- p = strchr (p, 0);
- r = q + 1;
- q = strchr (r, ';');
- }
- p = stpcpy (p, r);
- *p++ = '\n';
- *p = 0;
- prom_setopt ("nvramrc", nvramrc);
- if (!enabled)
- prom_setopt ("use-nvramrc?", "true");
- aliasDone = 1;
- }
- }
- }
- if (bootDevice) {
- char *p;
- if (aliasDone)
- bootDevice = "linux";
- p = prom_getopt ("boot-device", &len);
- if (p) {
- prom_setopt ("boot-device", bootDevice);
- prom_setopt ("boot-file", "");
- } else {
- p = prom_getopt ("boot-from", &len);
- if (p)
- prom_setopt ("boot-from", bootDevice);
- }
- }
- close(promfd);
-}
-
-#ifdef STANDALONE_SILO
-
-int main(void) {
- int i;
-
- init_sbusdisk();
- set_prom_vars ("/sbus@1f,0/espdma/esp/sd@1,0:c;/sbus@1f,0/espdma/esp/sd@1,0:g;/sbus@1f,0/espdma/esp/sd@1,0:h", "linux");
- printf ("prom root name `%s'\n", prom_root_name);
- for (i = 0; i < hdlen; i++) {
- if (hd[i].type)
- printf ("hd%c %x %d %d %d\n", i + 'a', hd[i].prom_node,
- hd[i].hi, hd[i].mid, hd[i].lo);
- if (hd[i].prom_name) printf ("%s\n", hd[i].prom_name);
- }
- for (i = 0; i < sdlen; i++) {
- if (sd[i].type) {
- if (i < 26)
- printf ("sd%c %x %d %d %d\n", i + 'a', sd[i].prom_node,
- sd[i].hi, sd[i].mid, sd[i].lo);
- else
- printf ("sd%c%c %x %d %d %d\n", (i / 26) + 'a' - 1, (i % 26) + 'a', sd[i].prom_node,
- sd[i].hi, sd[i].mid, sd[i].lo);
- }
- if (sd[i].prom_name) printf ("%s\n", sd[i].prom_name);
- }
- exit(0);
-}
-
-#else
-
-void
-initSilo ()
-{
- return init_sbusdisk();
-}
-
-char *
-disk2PromPath (unsigned char *disk)
-{
- static unsigned char prompath[1024];
- int diskno = -1, part;
-
- if (disk[0] == 'h' && disk[1] == 'd' && disk[2] >= 'a' && disk[2] <= 'z') {
- diskno = disk[2] - 'a';
- disk += 3;
- } else if (disk[0] == 's' && disk[1] == 'd' && disk[2] >= 'a' && disk[2] <= 'z') {
- if (disk[3] >= 'a' && disk[3] <= 'z') {
- diskno = (disk[2] - 'a' + 1) * 26 + (disk[3] - 'a');
- disk += 4;
- } else {
- diskno = disk[2] - 'a';
- disk += 3;
- }
- if (diskno >= 128)
- diskno = -1;
- else
- diskno += hdlen;
- }
- if (diskno == -1)
- part = -1;
- else if (!disk[0])
- part = 3;
- else {
- part = atoi (disk);
- if (part <= 0 || part > 8) part = -1;
- }
- if (diskno < 0 || part == -1 ||
- diskno >= hdlen + sdlen || !hd[diskno].prom_name) {
- return NULL;
- }
- if (!promvers)
- sprintf (prompath, "%s%d)", hd[diskno].prom_name, part ? part - 1 : 2);
- else {
- if (part)
- sprintf (prompath, "%s:%c", hd[diskno].prom_name, part + 'a' - 1);
- else
- strcpy (prompath, hd[diskno].prom_name);
- }
- return prompath;
-}
-
-int
-hasAliases (void)
-{
- return hasaliases;
-}
-
-char *
-promRootName (void)
-{
- return prom_root_name ? prom_root_name : "";
-}
-
-void
-setPromVars (char *linuxAlias, char *bootDevice)
-{
- if (linuxAlias && !*linuxAlias) linuxAlias = NULL;
- if (bootDevice && !*bootDevice) bootDevice = NULL;
- set_prom_vars (linuxAlias, bootDevice);
-}
-
-#endif
-
-#else
-void initSilo() {}
-char *disk2PromPath(unsigned char *disk) { return 0; /* NULL */ }
-int hasAliases(void) { return 0; }
-char *promRootName(void) { return 0; /* NULL */ }
-void setPromVars(char *linuxAlias, char *bootDevice) {}
-#endif /* __sparc__ */
diff --git a/perl-install/c/smp-dmi.c b/perl-install/c/smp-dmi.c
deleted file mode 100644
index 672bc2c35..000000000
--- a/perl-install/c/smp-dmi.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * CPU detetion based on DMI decode rev 1.2
- *
- * (C) 2003 Nicolas Planel <nplanel@mandrakesoft.com>
- *
- * Licensed under the GNU Public license. If you want to use it in with
- * another license just ask.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-
-static void
-dump_raw_data(void *data, unsigned int length)
-{
- unsigned char buffer1[80], buffer2[80], *b1, *b2, c;
- unsigned char *p = data;
- unsigned long column=0;
- unsigned int length_printed = 0;
- const unsigned char maxcolumn = 16;
- while (length_printed < length) {
- b1 = buffer1;
- b2 = buffer2;
- for (column = 0;
- column < maxcolumn && length_printed < length;
- column ++) {
- b1 += sprintf(b1, "%02x ",(unsigned int) *p);
- if (*p < 32 || *p > 126) c = '.';
- else c = *p;
- b2 += sprintf(b2, "%c", c);
- p++;
- length_printed++;
- }
- /* pad out the line */
- for (; column < maxcolumn; column++)
- {
- b1 += sprintf(b1, " ");
- b2 += sprintf(b2, " ");
- }
-
- printf("%s\t%s\n", buffer1, buffer2);
- }
-}
-
-
-
-struct dmi_header
-{
- u8 type;
- u8 length;
- u16 handle;
-};
-
-static char *dmi_string(struct dmi_header *dm, u8 s)
-{
- u8 *bp=(u8 *)dm;
- if (!s) return "";
-
- bp+=dm->length;
- while(s>1)
- {
- bp+=strlen(bp);
- bp++;
- s--;
- }
- return bp;
-}
-
-static char *dmi_processor_type(u8 code)
-{
- static char *processor_type[]={
- "",
- "Other",
- "Unknown",
- "Central Processor",
- "Math Processor",
- "DSP Processor",
- "Video Processor"
- };
-
- if(code == 0xFF)
- return "Other";
-
- if (code > 0xA1)
- return "";
- return processor_type[code];
-}
-
-static char *dmi_processor_family(u8 code)
-{
- static char *processor_family[]={
- "",
- "Other",
- "Unknown",
- "8086",
- "80286",
- "Intel386 processor",
- "Intel486 processor",
- "8087",
- "80287",
- "80387",
- "80487",
- "Pentium processor Family",
- "Pentium Pro processor",
- "Pentium II processor",
- "Pentium processor with MMX technology",
- "Celeron processor",
- "Pentium II Xeon processor",
- "Pentium III processor",
- "M1 Family",
- "M1","M1","M1","M1","M1","M1", /* 13h - 18h */
- "K5 Family",
- "K5","K5","K5","K5","K5","K5", /* 1Ah - 1Fh */
- "Power PC Family",
- "Power PC 601",
- "Power PC 603",
- "Power PC 603+",
- "Power PC 604",
- };
-
- if(code == 0xFF)
- return "Other";
-
- if (code > 0x24)
- return "";
- return processor_family[code];
-}
-
-static int dmi_table(int fd, u32 base, int len, int num)
-{
- char *buf=malloc(len);
- struct dmi_header *dm;
- u8 *data;
- int i=0;
- int processor=0;
-
- if(lseek(fd, (long)base, 0)==-1)
- {
- perror("dmi: lseek");
- return;
- }
- if(read(fd, buf, len)!=len)
- {
- perror("dmi: read");
- return;
- }
- data = buf;
- while(i<num)
- {
- u32 u;
- u32 u2;
- dm=(struct dmi_header *)data;
-
- if((dm->type == 4) && /*"Central Processor"*/(data[5] == 3)) {
- if(/*Processor Manufacturer*/data[7] != 0)
- processor++;
- }
-
- data+=dm->length;
- while(*data || data[1])
- data++;
- data+=2;
- i++;
- }
- free(buf);
- return processor;
-}
-
-int intelDetectSMP(void) {
- unsigned char buf[20];
- int fd=open("/dev/mem", O_RDONLY);
- long fp=0xE0000L;
- int processor=0;
- if(fd==-1)
- {
- perror("/dev/mem");
- exit(1);
- }
- if(lseek(fd,fp,0)==-1)
- {
- perror("seek");
- exit(1);
- }
-
-
- fp -= 16;
-
- while( fp < 0xFFFFF)
- {
- fp+=16;
- if(read(fd, buf, 16)!=16)
- perror("read");
-
- if(memcmp(buf, "_DMI_", 5)==0)
- {
- u16 num=buf[13]<<8|buf[12];
- u16 len=buf[7]<<8|buf[6];
- u32 base=buf[11]<<24|buf[10]<<16|buf[9]<<8|buf[8];
-
- processor=dmi_table(fd, base,len, num);
- break;
- }
- }
- close(fd);
- return (processor > 1);
-}
diff --git a/perl-install/c/smp-test.c b/perl-install/c/smp-test.c
deleted file mode 100644
index f644449b8..000000000
--- a/perl-install/c/smp-test.c
+++ /dev/null
@@ -1,6 +0,0 @@
-main() {
- if (detectSMP())
- printf("has smp\n");
- else
- printf("no smp\n");
-}
diff --git a/perl-install/c/smp.c b/perl-install/c/smp.c
deleted file mode 100644
index 2438418bb..000000000
--- a/perl-install/c/smp.c
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
-[_Anarchy_(alan@lightning.swansea.uk.linux.org)] you should do one check
- though - if the board seems to be SMP and the CPU in /proc/cpuinfo is non
- intel dont install an SMP kernel - thats a dual pentium board with a cyrix
- or similar single cpu in it
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <string.h>
-#include <errno.h>
-
-#ifdef __alpha__
-int alphaDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "cpus detected\t\t: ", 17)) {
- if (strtoul (buff + 17, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __alpha__ */
-
-#ifdef __sparc__
-int sparcDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "ncpus probed\t: ", 15)) {
- if (strtoul (buff + 15, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __sparc__ */
-
-/* just a placeholder for now - don't have an SMP machine
- need something in place to build - s.benedict */
-
-#ifdef __powerpc__
-int ppcDetectSMP(void)
-{
- int issmp = 0;
- FILE *f;
-
- f = fopen("/proc/cpuinfo", "r");
- if (f) {
- char buff[1024];
-
- while (fgets (buff, 1024, f) != NULL) {
- if (!strncmp (buff, "ncpus active\t: ", 15)) {
- if (strtoul (buff + 15, NULL, 0) > 1)
- issmp = 1;
- break;
- }
- }
- fclose(f);
- } else
- return -1;
-
- return issmp;
-}
-#endif /* __powerpc__ */
-
-#if defined(__i386__) || defined(__x86_64__)
-/*
- * Copyright (c) 1996, by Steve Passe
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the developer may NOT be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id$
- */
-
-/*
- * mptable.c
- */
-
-#define VMAJOR 2
-#define VMINOR 0
-#define VDELTA 12
-
-/*
- * this will cause the raw mp table to be dumped to /tmp/mpdump
- *
-#define RAW_DUMP
- */
-
-#define MP_SIG 0x5f504d5f /* _MP_ */
-#define EXTENDED_PROCESSING_READY
-#define OEM_PROCESSING_READY_NOT
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-#define LINUX 1
-#if LINUX
-typedef unsigned int vm_offset_t;
-#else
-#include <machine/types.h>
-#endif
-
-/* EBDA is @ 40:0e in real-mode terms */
-#define EBDA_POINTER 0x040e /* location of EBDA pointer */
-
-/* CMOS 'top of mem' is @ 40:13 in real-mode terms */
-#define TOPOFMEM_POINTER 0x0413 /* BIOS: base memory size */
-
-#define DEFAULT_TOPOFMEM 0xa0000
-
-#define BIOS_BASE 0xf0000
-#define BIOS_BASE2 0xe0000
-#define BIOS_SIZE 0x10000
-#define ONE_KBYTE 1024
-
-#define GROPE_AREA1 0x80000
-#define GROPE_AREA2 0x90000
-#define GROPE_SIZE 0x10000
-
-/* MP Floating Pointer Structure */
-typedef struct MPFPS {
- char signature[ 4 ];
- void* pap;
- u_char length;
- u_char spec_rev;
- u_char checksum;
- u_char mpfb1;
- u_char mpfb2;
- u_char mpfb3;
- u_char mpfb4;
- u_char mpfb5;
-} mpfps_t;
-
-/* MP Configuration Table Header */
-typedef struct MPCTH {
- char signature[ 4 ];
- u_short base_table_length;
- u_char spec_rev;
- u_char checksum;
- u_char oem_id[ 8 ];
- u_char product_id[ 12 ];
- void* oem_table_pointer;
- u_short oem_table_size;
- u_short entry_count;
- void* apic_address;
- u_short extended_table_length;
- u_char extended_table_checksum;
- u_char reserved;
-} mpcth_t;
-
-typedef struct PROCENTRY {
- u_char type;
- u_char apicID;
- u_char apicVersion;
- u_char cpuFlags;
- u_long cpuSignature;
- u_long featureFlags;
- u_long reserved1;
- u_long reserved2;
-} ProcEntry;
-
-#define PROCENTRY_FLAG_EN 0x01
-
-static void seekEntry( vm_offset_t addr );
-static void apic_probe( vm_offset_t* paddr, int* where );
-static void readEntry( void* entry, int size );
-
-/* global data */
-static int pfd; /* physical /dev/mem fd */
-static int verbose = 0;
-static int grope = 0;
-
-static int
-readType()
-{
- u_char type;
-
- if ( read( pfd, &type, sizeof( u_char ) ) != sizeof( u_char ) ) {
- perror( "type read" );
- fprintf( stderr, "\npfd: %d", pfd );
- fflush( stderr );
- exit( 1 );
- }
-
- if ( lseek( pfd, -1, SEEK_CUR ) < 0 ) {
- perror( "type seek" );
- exit( 1 );
- }
-
- return (int)type;
-}
-
-extern int intelDetectSMP(void);
-
-// old detection
-static int intelDetectSMP_mptable(void)
-{
- vm_offset_t paddr;
- int where;
- mpfps_t mpfps;
- int rc = 0;
- int ncpus = 0;
-
- /* open physical memory for access to MP structures */
- if ( (pfd = open( "/dev/mem", O_RDONLY )) < 0 ) {
- return 0;
- }
-
- /* probe for MP structures */
- apic_probe( &paddr, &where );
- if ( where <= 0 )
- return 0;
-
- seekEntry( paddr );
- readEntry( &mpfps, sizeof( mpfps_t ) );
-
- if (mpfps.mpfb1)
- /* old style */
- rc = 1;
- else {
- /* go to the config table */
- mpcth_t cth;
- int count, i;
-
- paddr = (vm_offset_t) mpfps.pap;
- seekEntry( paddr );
- readEntry( &cth, sizeof( cth ) );
- /* if we don't have any entries, the kernel sure
- won't be able to set up mp. Needs at least one entry
- for smp kernel */
- if (cth.entry_count <= 1) {
- close (pfd);
- return 0;
- }
- count = cth.entry_count;
- for (i = 0; i < count; i++) {
- if ( readType() == 0 ) {
- ProcEntry entry;
- readEntry( &entry, sizeof( entry ) );
- if (entry.cpuFlags & PROCENTRY_FLAG_EN)
- ncpus++;
- }
- }
- if (ncpus > 1)
- rc = 1;
- }
-
- close (pfd);
- return rc;
-}
-
-/*
- * set PHYSICAL address of MP floating pointer structure
- */
-#define NEXT(X) ((X) += 4)
-static void
-apic_probe( vm_offset_t* paddr, int* where )
-{
- /*
- * c rewrite of apic_probe() by Jack F. Vogel
- */
-
- int x;
- u_short segment;
- vm_offset_t target;
- u_int buffer[ BIOS_SIZE / sizeof( int ) ];
-
- if ( verbose )
- printf( "\n" );
-
- /* search Extended Bios Data Area, if present */
- if ( verbose )
- printf( " looking for EBDA pointer @ 0x%04x, ", EBDA_POINTER );
- seekEntry( (vm_offset_t)EBDA_POINTER );
- readEntry( &segment, 2 );
- if ( segment ) { /* search EBDA */
- target = (vm_offset_t)segment << 4;
- if ( verbose )
- printf( "found, searching EBDA @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 1;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
- }
- else {
- if ( verbose )
- printf( "NOT found\n" );
- }
-
- /* read CMOS for real top of mem */
- seekEntry( (vm_offset_t)TOPOFMEM_POINTER );
- readEntry( &segment, 2 );
- --segment; /* less ONE_KBYTE */
- target = segment * 1024;
- if ( verbose )
- printf( " searching CMOS 'top of mem' @ 0x%08x (%dK)\n",
- target, segment );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 2;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
-
- /* we don't necessarily believe CMOS, check base of the last 1K of 640K */
- if ( target != (DEFAULT_TOPOFMEM - 1024)) {
- target = (DEFAULT_TOPOFMEM - 1024);
- if ( verbose )
- printf( " searching default 'top of mem' @ 0x%08x (%dK)\n",
- target, (target / 1024) );
- seekEntry( target );
- readEntry( buffer, ONE_KBYTE );
-
- for ( x = 0; x < ONE_KBYTE / sizeof ( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 3;
- *paddr = (x * sizeof( unsigned int )) + target;
- return;
- }
- }
- }
-
- /* search the BIOS */
- if ( verbose )
- printf( " searching BIOS @ 0x%08x\n", BIOS_BASE );
- seekEntry( BIOS_BASE );
- readEntry( buffer, BIOS_SIZE );
-
- for ( x = 0; x < BIOS_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 4;
- *paddr = (x * sizeof( unsigned int )) + BIOS_BASE;
- return;
- }
- }
-
- /* search the extended BIOS */
- if ( verbose )
- printf( " searching extended BIOS @ 0x%08x\n", BIOS_BASE2 );
- seekEntry( BIOS_BASE2 );
- readEntry( buffer, BIOS_SIZE );
-
- for ( x = 0; x < BIOS_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 5;
- *paddr = (x * sizeof( unsigned int )) + BIOS_BASE2;
- return;
- }
- }
-
- if ( grope ) {
- /* search additional memory */
- target = GROPE_AREA1;
- if ( verbose )
- printf( " groping memory @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, GROPE_SIZE );
-
- for ( x = 0; x < GROPE_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 6;
- *paddr = (x * sizeof( unsigned int )) + GROPE_AREA1;
- return;
- }
- }
-
- target = GROPE_AREA2;
- if ( verbose )
- printf( " groping memory @ 0x%08x\n", target );
- seekEntry( target );
- readEntry( buffer, GROPE_SIZE );
-
- for ( x = 0; x < GROPE_SIZE / sizeof( unsigned int ); NEXT(x) ) {
- if ( buffer[ x ] == MP_SIG ) {
- *where = 7;
- *paddr = (x * sizeof( unsigned int )) + GROPE_AREA2;
- return;
- }
- }
- }
-
- *where = 0;
- *paddr = (vm_offset_t)0;
-}
-
-
-/*
- *
- */
-static void
-seekEntry( vm_offset_t addr )
-{
- if ( lseek( pfd, (off_t)addr, SEEK_SET ) < 0 ) {
- return;
- perror( "/dev/mem seek" );
- exit( 1 );
- }
-}
-
-
-/*
- *
- */
-static void
-readEntry( void* entry, int size )
-{
- if ( read( pfd, entry, size ) != size ) {
- return;
- perror( "readEntry" );
- exit( 1 );
- }
-}
-
-
-#endif /* __i386__ */
-
-int detectSMP(void)
-{
- static int isSMP = -1;
-
- if (isSMP != -1)
- return isSMP;
-
-#ifdef __i386__
- return isSMP = intelDetectSMP() || intelDetectSMP_mptable();
-#elif __sparc__
- return isSMP = sparcDetectSMP();
-#elif __alpha__
- return isSMP = alphaDetectSMP();
-#elif __powerpc__
- return isSMP = ppcDetectSMP();
-#elif __ia64__
- /* TODO: Update to check against /proc/pal/cpuX */
- return isSMP = 1;
-#elif __x86_64__
- return isSMP = intelDetectSMP() || intelDetectSMP_mptable();
-#else
- #error unknown architecture
-#endif
-}
-
-#if TEST
-int main() {
- if (detectSMP())
- printf("has smp\n");
- else
- printf("no smp\n");
-}
-#endif
diff --git a/perl-install/c/smp.h b/perl-install/c/smp.h
deleted file mode 100644
index 3255cc489..000000000
--- a/perl-install/c/smp.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef SMP_H
-#define SMP_H
-
-int detectSMP(void);
-
-#endif /* SMP_H */
diff --git a/perl-install/c/stuff.pm b/perl-install/c/stuff.pm
index 405f896cd..72b5b0bd3 100644
--- a/perl-install/c/stuff.pm
+++ b/perl-install/c/stuff.pm
@@ -1,4 +1,4 @@
-package c::stuff; # $Id$
+package c::stuff;
use strict;
use vars qw($VERSION @ISA);
@@ -11,7 +11,4 @@ $VERSION = '0.01';
c::stuff->bootstrap($VERSION);
-sub from_utf8 { iconv($_[0], "utf-8", standard_charset()) }
-sub to_utf8 { iconv($_[0], standard_charset(), "utf-8") }
-
1;
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl
index fb9f86074..1a148b497 100644..100755
--- a/perl-install/c/stuff.xs.pl
+++ b/perl-install/c/stuff.xs.pl
@@ -5,11 +5,9 @@ print '
#include "perl.h"
#include "XSUB.h"
-/* workaround for glibc and kernel header files not in sync */
-#define dev_t dev_t
-
#include <ctype.h>
#include <stdlib.h>
+#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
#include <fcntl.h>
@@ -22,6 +20,9 @@ print '
#include <sys/stat.h>
#include <sys/utsname.h>
#include <sys/mount.h>
+#undef __USE_MISC
+#include <linux/if.h>
+#include <linux/wireless.h>
#include <linux/keyboard.h>
#include <linux/kd.h>
#include <linux/hdreg.h>
@@ -30,168 +31,144 @@ print '
#include <linux/cdrom.h>
#include <linux/loop.h>
#include <linux/blkpg.h>
+#include <linux/iso_fs.h>
#include <net/if.h>
#include <net/route.h>
+#include <netinet/in.h>
+#include <linux/sockios.h>
+#include <linux/ethtool.h>
+#include <linux/input.h>
+#include <execinfo.h>
-/* for is_ext3 */
-#include <ext2fs/ext2_fs.h>
-#include <ext2fs/ext2fs.h>
+// for UPS on USB:
+# define HID_MAX_USAGES 1024
+#include <linux/hiddev.h>
#include <libldetect.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/xf86misc.h>
-#include <langinfo.h>
#include <string.h>
-#include <iconv.h>
-
-#include <libintl.h>
-#include <term.h>
-#undef max_colors
#define SECTORSIZE 512
-char *prom_getopt();
-void prom_setopt();
-char *prom_getproperty();
-char *disk2PromPath();
-char *promRootName();
-
+#include <parted/parted.h>
';
-$ENV{C_DRAKX} && $Config{archname} =~ /i.86/ and print '
+$Config{archname} =~ /i.86/ and print '
char *pcmcia_probe(void);
';
-$ENV{C_RPM} and print '
-#undef Fflush
-#undef Mkdir
-#undef Stat
-#include <rpm/rpmlib.h>
-#include <rpm/rpmio.h>
+print '
-void rpmError_callback_empty(void) {}
+/* log_message and log_perror are used in stage1 pcmcia probe */
+void log_message(const char * s, ...) {
+ va_list args;
+ va_list args_copy;
+ FILE * logtty = fopen("/dev/tty3", "w");
+ if (!logtty)
+ return;
+ fprintf(logtty, "* ");
+ va_start(args, s);
+ vfprintf(logtty, s, args);
+ fprintf(logtty, "\n");
+ fclose(logtty);
+ va_end(args);
+
+ logtty = fopen("/tmp/ddebug.log", "a");
+ if (!logtty)
+ return;
+ fprintf(logtty, "* ");
+ va_copy(args_copy, args);
+ va_start(args_copy, s);
+ vfprintf(logtty, s, args_copy);
+ fprintf(logtty, "\n");
+ fclose(logtty);
+ va_end(args_copy);
+}
+void log_perror(const char *msg) {
+ log_message("%s: %s", msg, strerror(errno));
+}
-int rpmError_callback_data;
-void rpmError_callback(void) {
- if (rpmErrorCode() != RPMERR_UNLINK && rpmErrorCode() != RPMERR_RMDIR) {
- write(rpmError_callback_data, rpmErrorString(), strlen(rpmErrorString()));
- }
+HV* common_pciusb_hash_init(struct pciusb_entry *e) {
+ HV *rh = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(rh, "vendor", 6, newSViv(e->vendor), 0);
+ hv_store(rh, "subvendor", 9, newSViv(e->subvendor), 0);
+ hv_store(rh, "id", 2, newSViv(e->device), 0);
+ hv_store(rh, "subid", 5, newSViv(e->subdevice), 0);
+ hv_store(rh, "driver", 6, newSVpv(e->module ? e->module : "unknown", 0), 0);
+ hv_store(rh, "description", 11, newSVpv(e->text, 0), 0);
+ hv_store(rh, "pci_bus", 7, newSViv(e->pci_bus), 0);
+ hv_store(rh, "pci_device", 10, newSViv(e->pci_device), 0);
+ return rh;
}
';
-$ENV{C_DRAKX} and print '
-
-void initIMPS2() {
- unsigned char imps2_s1[] = { 243, 200, 243, 100, 243, 80, };
- unsigned char imps2_s2[] = { 246, 230, 244, 243, 100, 232, 3, };
-
- int fd = open("/dev/mouse", O_WRONLY);
- if (fd < 0) return;
+print '
- write (fd, imps2_s1, sizeof (imps2_s1));
- usleep (30000);
- write (fd, imps2_s2, sizeof (imps2_s2));
- usleep (30000);
- tcflush (fd, TCIFLUSH);
- tcdrain(fd);
+int length_of_space_padded(char *str, int len) {
+ while (len >= 0 && str[len-1] == \' \')
+ --len;
+ return len;
}
-void log_message(const char * s, ...) {}
-
-';
-
-print '
+PedPartitionFlag string_to_pedpartflag(char*type) {
+ PedPartitionFlag flag = 0;
+ if (!strcmp(type, "ESP")) {
+ flag = PED_PARTITION_ESP;
+ } else if (!strcmp(type, "BIOS_GRUB")) {
+ flag = PED_PARTITION_BIOS_GRUB;
+ } else if (!strcmp(type, "LVM")) {
+ flag = PED_PARTITION_LVM;
+ } else if (!strcmp(type, "RAID")) {
+ flag = PED_PARTITION_RAID;
+ } else {
+ printf("set_partition_flag: unknown type: %s\n", type);
+ }
+ return flag;
+}
-SV * iconv_(char* s, char* from_charset, char* to_charset) {
- iconv_t cd = iconv_open(to_charset, from_charset);
- char* retval = s;
- if (cd != (iconv_t) (-1)) {
- size_t s_len = strlen(retval);
- /* the maximum expansion when converting happens when converting
- tscii to utf-8; each tscii char can become up to 4 unicode chars
- and each one of those unicode chars can be 3 bytes long */
- char *buf = alloca(4 * 3 * s_len);
- {
- char *ptr = buf;
- size_t ptr_len = 4 * 3 * s_len;
- if ((iconv(cd, &s, &s_len, &ptr, &ptr_len)) != (size_t) (-1)) {
- *ptr = 0;
- retval = buf;
- }
- }
- iconv_close(cd);
- }
- return newSVpv(retval, 0);
+int is_recovery_partition(PedPartition*part) {
+ /* FIXME: not sure everything is covered ... */
+ return ped_partition_get_flag(part, PED_PARTITION_HPSERVICE) // HP-UX service partition
+ || ped_partition_get_flag(part, PED_PARTITION_MSFT_RESERVED) // Microsoft Reserved Partition -> LDM metadata, ...
+ || ped_partition_get_flag(part, PED_PARTITION_DIAG) // ==> PARTITION_MSFT_RECOVERY (Windows Recovery Environment)
+ || ped_partition_get_flag(part, PED_PARTITION_APPLE_TV_RECOVERY)
+ || ped_partition_get_flag(part, PED_PARTITION_HIDDEN);
}
MODULE = c::stuff PACKAGE = c::stuff
';
-$ENV{C_DRAKX} && $Config{archname} =~ /i.86/ and print '
+$Config{archname} =~ /i.86/ and print '
char *
pcmcia_probe()
';
-$ENV{C_DRAKX} and print '
-
+print '
int
-Xtest(display)
- char *display
+del_partition(hd, part_number)
+ int hd
+ int part_number
CODE:
- int pid;
- if ((pid = fork()) == 0) {
- Display *d = XOpenDisplay(display);
- if (d) {
- XSetCloseDownMode(d, RetainPermanent);
- XCloseDisplay(d);
- }
- _exit(d != NULL);
+ {
+ struct blkpg_partition p = { 0, 0, part_number, "", "" };
+ struct blkpg_ioctl_arg s = { BLKPG_DEL_PARTITION, 0, sizeof(struct blkpg_partition), (void *) &p };
+ RETVAL = ioctl(hd, BLKPG, &s) == 0;
}
- waitpid(pid, &RETVAL, 0);
OUTPUT:
RETVAL
-void
-setMouseLive(display, type, emulate3buttons)
- char *display
- int type
- int emulate3buttons
- CODE:
- {
- XF86MiscMouseSettings mseinfo;
- Display *d = XOpenDisplay(display);
- if (d) {
- if (XF86MiscGetMouseSettings(d, &mseinfo) == True) {
- mseinfo.type = type;
- mseinfo.flags |= MF_REOPEN;
- mseinfo.emulate3buttons = emulate3buttons;
- XF86MiscSetMouseSettings(d, &mseinfo);
- XFlush(d);
- if (type == MTYPE_IMPS2) initIMPS2();
- }
- }
- }
-';
-
-print '
-char *
-dgettext(domainname, msgid)
- char * domainname
- char * msgid
-
int
-add_partition(hd, start_sector, size_sector, part_number)
+add_partition(hd, part_number, start_sector, size_sector)
int hd
+ int part_number
unsigned long start_sector
unsigned long size_sector
- int part_number
CODE:
{
- long long start = start_sector * 512;
- long long size = size_sector * 512;
+ long long start = (long long) start_sector * 512;
+ long long size = (long long) size_sector * 512;
struct blkpg_partition p = { start, size, part_number, "", "" };
struct blkpg_ioctl_arg s = { BLKPG_ADD_PARTITION, 0, sizeof(struct blkpg_partition), (void *) &p };
RETVAL = ioctl(hd, BLKPG, &s) == 0;
@@ -212,51 +189,21 @@ is_secure_file(filename)
OUTPUT:
RETVAL
-int
-is_ext3(device_name)
- char * device_name
- CODE:
- {
- ext2_filsys fs;
- int retval = ext2fs_open (device_name, 0, 0, 0, unix_io_manager, &fs);
- if (retval) {
- RETVAL = 0;
- } else {
- RETVAL = fs->super->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL;
- ext2fs_close(fs);
- }
- }
- OUTPUT:
- RETVAL
-
void
-setlocale()
+init_setlocale()
CODE:
setlocale(LC_ALL, "");
setlocale(LC_NUMERIC, "C"); /* otherwise eval "1.5" returns 1 in fr_FR for example */
char *
-bindtextdomain(domainname, dirname)
- char * domainname
- char * dirname
-
-char *
-bind_textdomain_codeset(domainname, codeset)
- char * domainname
- char * codeset
-
-int
-KTYP(x)
- int x
- CODE:
- RETVAL = KTYP(x);
- OUTPUT:
- RETVAL
+setlocale(category, locale = NULL)
+ int category
+ char * locale
int
lseek_sector(fd, sector, offset)
int fd
- long sector
+ unsigned long sector
long offset
CODE:
RETVAL = lseek64(fd, (off64_t) sector * SECTORSIZE + offset, SEEK_SET) >= 0;
@@ -297,32 +244,15 @@ floppy_info(name)
OUTPUT:
RETVAL
-unsigned int
+NV
total_sectors(fd)
int fd
CODE:
{
- long s;
- RETVAL = ioctl(fd, BLKGETSIZE, &s) == 0 ? s : 0;
- }
- OUTPUT:
- RETVAL
-
-void
-unlimit_core()
- CODE:
- {
- struct rlimit rlim = { RLIM_INFINITY, RLIM_INFINITY };
- setrlimit(RLIMIT_CORE, &rlim);
- }
-
-int
-getlimit_core()
- CODE:
- {
- struct rlimit rlim;
- getrlimit(RLIMIT_CORE, &rlim);
- RETVAL = rlim.rlim_cur;
+ unsigned long long ll;
+ unsigned long l;
+ RETVAL = ioctl(fd, BLKGETSIZE64, &ll) == 0 ? ll / 512 :
+ ioctl(fd, BLKGETSIZE, &l) == 0 ? l : 0;
}
OUTPUT:
RETVAL
@@ -341,7 +271,7 @@ syslog(priority, mesg)
int priority
char *mesg
CODE:
- syslog(priority, mesg);
+ syslog(priority, "%s", mesg);
void
setsid()
@@ -349,24 +279,48 @@ setsid()
void
_exit(status)
int status
-
-int
-detectSMP()
+
+void
+usleep(microseconds)
+ unsigned long microseconds
+
+
+char*
+get_pci_description(int vendor_id,int device_id)
+
+void
+hid_probe()
+ PPCODE:
+ struct hid_entries entries = hid_probe();
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ struct hid_entry *e = &entries.entries[i];
+ HV *rh = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(rh, "description", 11, newSVpv(e->text, 0), 0);
+ hv_store(rh, "driver", 6, newSVpv(e->module, 0), 0);
+ PUSHs(newRV((SV *)rh));
+ }
+ hid_entries_free(&entries);
void
pci_probe()
PPCODE:
struct pciusb_entries entries = pci_probe();
- char buf[2048];
int i;
EXTEND(SP, entries.nb);
for (i = 0; i < entries.nb; i++) {
struct pciusb_entry *e = &entries.entries[i];
- snprintf(buf, sizeof(buf), "%04x\t%04x\t%04x\t%04x\t%d\t%d\t%d\t%s\t%s\t%s",
- e->vendor, e->device, e->subvendor, e->subdevice, e->pci_bus, e->pci_device, e->pci_function,
- pci_class2text(e->class_), e->module ? e->module : "unknown", e->text);
- PUSHs(sv_2mortal(newSVpv(buf, 0)));
+ HV * rh = common_pciusb_hash_init(e);
+ hv_store(rh, "pci_domain", 10, newSViv(e->pci_domain), 0);
+ hv_store(rh, "pci_function", 12, newSViv(e->pci_function), 0);
+ hv_store(rh, "pci_revision", 12, newSViv(e->pci_revision), 0);
+ hv_store(rh, "is_pciexpress", 13, newSViv(e->is_pciexpress), 0);
+ hv_store(rh, "nice_media_type", 15, newSVpv(e->class, 0), 0);
+ hv_store(rh, "media_type", 10, newSVpv(pci_class2text(e->class_id), 0), 0);
+ PUSHs(newRV((SV *)rh));
}
pciusb_free(&entries);
@@ -380,30 +334,138 @@ usb_probe()
EXTEND(SP, entries.nb);
for (i = 0; i < entries.nb; i++) {
struct pciusb_entry *e = &entries.entries[i];
- snprintf(buf, sizeof(buf), "%04x\t%04x\t%s\t%s\t%s\t%d\t%d",
- e->vendor, e->device, usb_class2text(e->class_), e->module ? e->module : "unknown", e->text, e->pci_bus, e->pci_device);
- PUSHs(sv_2mortal(newSVpv(buf, 0)));
+ struct usb_class_text class_text = usb_class2text(e->class_id);
+ snprintf(buf, sizeof(buf), "%s|%s|%s", class_text.usb_class_text, class_text.usb_sub_text, class_text.usb_prot_text);
+ HV * rh = common_pciusb_hash_init(e);
+ hv_store(rh, "usb_port", 8, newSViv(e->usb_port), 0);
+ hv_store(rh, "media_type", 10, newSVpv(buf, 0), 0);
+ PUSHs(newRV((SV *)rh));
}
pciusb_free(&entries);
+void
+dmi_probe()
+ PPCODE:
+ //dmidecode_file = "/usr/share/ldetect-lst/dmidecode.Laptop.Dell-Latitude-C810";
+ //dmidecode_file = "../../soft/ldetect-lst/test/dmidecode.Laptop.Sony-Vaio-GRX316MP";
+
+ struct dmi_entries entries = dmi_probe();
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ HV * rh = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(rh, "driver", 6, newSVpv(entries.entries[i].module, 0), 0);
+ hv_store(rh, "description", 11, newSVpv(entries.entries[i].constraints, 0), 0);
+ PUSHs(newRV((SV *)rh));
+ }
+ dmi_entries_free(entries);
+
+
unsigned int
getpagesize()
+
+char*
+get_usb_ups_name(int fd)
+ CODE:
+ /* from nut/drivers/hidups.c::upsdrv_initups() : */
+ char name[256];
+ ioctl(fd, HIDIOCGNAME(sizeof(name)), name);
+ RETVAL=name;
+ ioctl(fd, HIDIOCINITREPORT, 0);
+ OUTPUT:
+ RETVAL
+
+
int
-hasNetDevice(device)
+res_init()
+
+int
+isNetDeviceWirelessAware(device)
char * device
CODE:
- struct ifreq req;
+ struct iwreq ifr;
+
int s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1) { RETVAL = 0; return; }
- strcpy(req.ifr_name, device);
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, device, IFNAMSIZ);
+ RETVAL = ioctl(s, SIOCGIWNAME, &ifr) != -1;
+ close(s);
+ OUTPUT:
+ RETVAL
- RETVAL = ioctl(s, SIOCGIFFLAGS, &req) == 0;
+
+void
+get_netdevices()
+ PPCODE:
+ struct ifconf ifc;
+ struct ifreq *ifr;
+ int i;
+ int numreqs = 10;
+
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ ifc.ifc_buf = NULL;
+ for (;;) {
+ ifc.ifc_len = sizeof(struct ifreq) * numreqs;
+ ifc.ifc_buf = realloc(ifc.ifc_buf, ifc.ifc_len);
+
+ if (ioctl(s, SIOCGIFCONF, &ifc) < 0) {
+ perror("SIOCGIFCONF");
+ close(s);
+ return;
+ }
+ if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
+ /* assume it overflowed and try again */
+ numreqs += 10;
+ continue;
+ }
+ break;
+ }
+ if (ifc.ifc_len) {
+ ifr = ifc.ifc_req;
+ EXTEND(sp, ifc.ifc_len);
+ for (i=0; i < ifc.ifc_len; i+= sizeof(struct ifreq)) {
+ PUSHs(sv_2mortal(newSVpv(ifr->ifr_name, 0)));
+ ifr++;
+ }
+ }
+
+ close(s);
+
+
+char*
+getNetDriver(char* device)
+ ALIAS:
+ getHwIDs = 1
+ CODE:
+ struct ifreq ifr;
+ struct ethtool_drvinfo drvinfo;
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, device, IFNAMSIZ);
+
+ drvinfo.cmd = ETHTOOL_GDRVINFO;
+ ifr.ifr_data = (caddr_t) &drvinfo;
+
+ if (ioctl(s, SIOCETHTOOL, &ifr) != -1) {
+ switch (ix) {
+ case 0:
+ RETVAL = strdup(drvinfo.driver);
+ break;
+ case 1:
+ RETVAL = strdup(drvinfo.bus_info);
+ break;
+ }
+ } else { perror("SIOCETHTOOL"); RETVAL = strdup(""); }
close(s);
OUTPUT:
RETVAL
+
int
addDefaultRoute(gateway)
char *gateway
@@ -431,6 +493,90 @@ addDefaultRoute(gateway)
OUTPUT:
RETVAL
+
+char*
+get_hw_address(const char* ifname)
+ CODE:
+ int s;
+ struct ifreq ifr;
+ unsigned char *a;
+ char *res;
+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
+ if (s < 0) {
+ perror("socket");
+ RETVAL = NULL;
+ return;
+ }
+ strncpy((char*) &ifr.ifr_name, ifname, IFNAMSIZ);
+ if (ioctl(s, SIOCGIFHWADDR, &ifr) < 0) {
+ perror("ioctl(SIOCGIFHWADDR)");
+ RETVAL = NULL;
+ return;
+ }
+ a = (unsigned char*)ifr.ifr_hwaddr.sa_data;
+ asprintf(&res, "%02x:%02x:%02x:%02x:%02x:%02x", a[0],a[1],a[2],a[3],a[4],a[5]);
+ RETVAL= res;
+ OUTPUT:
+ RETVAL
+
+
+void
+strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
+ char * fmt
+ int sec
+ int min
+ int hour
+ int mday
+ int mon
+ int year
+ int wday
+ int yday
+ int isdst
+ CODE:
+ {
+ char *buf = my_strftime(fmt, sec, min, hour, mday, mon, year, wday, yday, isdst);
+ if (buf) {
+ ST(0) = sv_2mortal(newSVpv(buf, 0));
+ Safefree(buf);
+ }
+ }
+
+#define BITS_PER_LONG (sizeof(long) * 8)
+#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
+#define OFF(x) ((x)%BITS_PER_LONG)
+#define BIT(x) (1UL<<OFF(x))
+#define LONG(x) ((x)/BITS_PER_LONG)
+#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1)
+
+void
+EVIocGBitKey (char *file)
+ PPCODE:
+ int fd;
+ int i;
+ long bitmask[NBITS(KEY_MAX)];
+
+ fd = open (file, O_RDONLY);
+ if (fd < 0) {
+ warn("Cannot open %s: %s\n", file, strerror(errno));
+ return;
+ }
+
+ if (ioctl (fd, EVIOCGBIT(EV_KEY, sizeof (bitmask)), bitmask) < 0) {
+ perror ("ioctl EVIOCGBIT failed");
+ close (fd);
+ return;
+ }
+
+ close (fd);
+ for (i = NBITS(KEY_MAX) - 1; i > 0; i--)
+ if (bitmask[i])
+ break;
+
+ for (; i >= 0; i--) {
+ EXTEND(sp, 1);
+ PUSHs(sv_2mortal(newSViv(bitmask[i])));
+ }
+
char *
kernel_version()
CODE:
@@ -439,160 +585,250 @@ kernel_version()
OUTPUT:
RETVAL
-int
-prom_open()
+void
+set_tagged_utf8(s)
+ SV *s
+ CODE:
+ SvUTF8_on(s);
void
-prom_close()
+get_iso_volume_ids(int fd)
+ INIT:
+ struct iso_primary_descriptor voldesc;
+ PPCODE:
+ lseek(fd, 16 * ISOFS_BLOCK_SIZE, SEEK_SET);
+ if (read(fd, &voldesc, sizeof(struct iso_primary_descriptor)) == sizeof(struct iso_primary_descriptor)) {
+ if (voldesc.type[0] == ISO_VD_PRIMARY && !strncmp(voldesc.id, ISO_STANDARD_ID, sizeof(voldesc.id))) {
+ size_t vol_id_len = length_of_space_padded(voldesc.volume_id, sizeof(voldesc.volume_id));
+ size_t app_id_len = length_of_space_padded(voldesc.application_id, sizeof(voldesc.application_id));
+ XPUSHs(vol_id_len != -1 ? sv_2mortal(newSVpv(voldesc.volume_id, vol_id_len)) : newSVpvs(""));
+ XPUSHs(app_id_len != -1 ? sv_2mortal(newSVpv(voldesc.application_id, app_id_len)) : newSVpvs(""));
+ }
+ }
-int
-prom_getsibling(node)
- int node
+';
-int
-prom_getchild(node)
- int node
+print '
-void
-prom_getopt(key)
- char *key
- PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getopt(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, 0)));
+TYPEMAP: <<HERE
+PedDisk* T_PTROBJ
+HERE
+
+
+
+int
+set_partition_flag(PedDisk *disk, int part_number, char * type)
+ CODE:
+ RETVAL = 0;
+ PedPartition* part = ped_disk_get_partition(disk, part_number);
+ if (!part) {
+ printf("set_partition_flag: failed to find partition\n");
} else {
- PUSHs(&PL_sv_undef);
+ PedPartitionFlag flag = string_to_pedpartflag(type);
+ if (flag) {
+ RETVAL = ped_partition_set_flag(part, flag, 1);
+ }
}
+ OUTPUT:
+ RETVAL
-void
-prom_setopt(key, value)
- char *key
- char *value
-void
-prom_getproperty(key)
- char *key
- PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getproperty(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, lenp)));
- } else {
- PUSHs(&PL_sv_undef);
+const char *
+get_disk_type(char * device_path)
+ CODE:
+ PedDevice *dev = ped_device_get(device_path);
+ RETVAL = NULL;
+ if(dev) {
+ PedDiskType* type = ped_disk_probe(dev);
+ if(type) {
+ RETVAL = type->name;
+ }
}
+ OUTPUT:
+ RETVAL
void
-prom_getstring(key)
- char *key
+get_disk_partitions(char * device_path)
PPCODE:
- int lenp = 0;
- char *value = NULL;
- value = prom_getproperty(key, &lenp);
- EXTEND(sp, 1);
- if (value != NULL) {
- PUSHs(sv_2mortal(newSVpv(value, 0)));
- } else {
- PUSHs(&PL_sv_undef);
+ PedDevice *dev = ped_device_get(device_path);
+ if(dev) {
+ PedDisk* disk = ped_disk_new(dev);
+ PedPartition *part = NULL, *first_part = NULL;
+ int count = 1;
+ if(!disk)
+ return;
+ first_part = part = ped_disk_next_partition(disk, NULL);
+ while(part) {
+ part = ped_disk_next_partition(disk, part);
+ count++;
+ }
+ EXTEND(SP, count);
+ part = first_part;
+ while(part) {
+ if(part->num == -1) {
+ part = ped_disk_next_partition(disk, part);
+ continue;
+ }
+ char *path = ped_partition_get_path(part);
+ char *flag = "";
+ if (ped_partition_get_flag(part, PED_PARTITION_ESP)) {
+ flag = "ESP";
+ } else if (ped_partition_get_flag(part, PED_PARTITION_BIOS_GRUB)) {
+ flag = "BIOS_GRUB";
+ } else if (ped_partition_get_flag(part, PED_PARTITION_LVM)) {
+ flag = "LVM";
+ } else if (ped_partition_get_flag(part, PED_PARTITION_RAID)) {
+ flag = "RAID";
+ } else if (is_recovery_partition(part)) {
+ flag = "RECOVERY";
+ }
+ HV * rh = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(rh, "part_number", 11, newSViv(part->num), 0);
+ hv_store(rh, "real_device", 11, newSVpv(path, 0), 0);
+ hv_store(rh, "start", 5, newSViv(part->geom.start), 0);
+ hv_store(rh, "size", 4, newSViv(part->geom.length), 0);
+ hv_store(rh, "pt_type", 7, newSViv(0xba), 0);
+ hv_store(rh, "flag", 4, newSVpv(flag, 0), 0);
+ free(path);
+ if(part->fs_type)
+ hv_store(rh, "fs_type", 7, newSVpv(part->fs_type->name, 0), 0);
+ PUSHs(newRV((SV *)rh));
+ part = ped_disk_next_partition(disk, part);
+ }
+ ped_disk_destroy(disk);
}
-int
-prom_getbool(key)
- char *key
-
-void
-initSilo()
-
-char *
-disk2PromPath(disk)
- unsigned char *disk
+PedDisk*
+disk_open(char * device_path, const char * type_name = NULL)
+ CODE:
+ PedDevice *dev = ped_device_get(device_path);
+ RETVAL = NULL;
+ if(dev) {
+ if(type_name) {
+ PedDiskType* type = ped_disk_type_get(type_name);
+ if(type) {
+ RETVAL = ped_disk_new_fresh(dev, type);
+ }
+ } else {
+ RETVAL = ped_disk_new(dev);
+ }
+ }
+ OUTPUT:
+ RETVAL
int
-hasAliases()
-
-char *
-promRootName()
+disk_delete_all(PedDisk* disk)
+ CODE:
+ RETVAL = 0;
+ if (ped_disk_delete_all(disk)) {
+ RETVAL = 1;
+ }
+ OUTPUT:
+ RETVAL
-void
-setPromVars(linuxAlias, bootDevice)
- char *linuxAlias
- char *bootDevice
-
-SV *
-iconv(s, from_charset, to_charset)
- char *s
- char *from_charset
- char *to_charset
+int
+disk_del_partition(PedDisk* disk, int part_number)
CODE:
- RETVAL = iconv_(s, from_charset, to_charset);
+ RETVAL = 0;
+ PedPartition* part = ped_disk_get_partition(disk, part_number);
+ if(!part) {
+ printf("disk_del_partition: failed to find partition\n");
+ } else {
+ RETVAL = ped_disk_delete_partition(disk, part);
+ }
OUTPUT:
RETVAL
int
-is_tagged_utf8(s)
- SV *s
- CODE:
- RETVAL = SvUTF8(s);
- OUTPUT:
- RETVAL
+disk_add_partition(PedDisk* disk, double start, double length, const char * fs_type)
+ CODE:
+ RETVAL=0;
+ PedGeometry* geom = ped_geometry_new(disk->dev, (long long)start, (long long)length);
+ PedPartition* part = ped_partition_new (disk, PED_PARTITION_NORMAL, ped_file_system_type_get(fs_type), (long long)start, (long long)start+length-1);
+ PedConstraint* constraint = ped_constraint_new_from_max(geom);
+ if(!part) {
+ printf("ped_partition_new failed\n");
+ } else {
+ RETVAL = ped_disk_add_partition (disk, part, constraint);
+ }
+ ped_geometry_destroy(geom);
+ ped_constraint_destroy(constraint);
+ OUTPUT:
+ RETVAL
-void
-set_tagged_utf8(s)
- SV *s
- CODE:
- SvUTF8_on(s);
+int
+disk_commit(PedDisk *disk)
+ CODE:
+ RETVAL = 0;
+ /* As done in ped_disk_commit(), open the device here, so that the underlying
+ file descriptor is not closed between the call to ped_disk_commit_to_dev()
+ and the call to ped_disk_commit_to_os(). This avoids unwanted udev events. */
+ if (ped_device_open(disk->dev)) {
+ if (ped_disk_commit_to_dev(disk)) {
+ RETVAL = 1;
+ if (ped_disk_commit_to_os(disk)) {
+ RETVAL = 2;
+ }
+ }
+ ped_device_close(disk->dev);
+ }
+ ped_disk_destroy(disk);
+ OUTPUT:
+ RETVAL
-void
-upgrade_utf8(s)
- SV *s
- CODE:
- sv_utf8_upgrade(s);
+int
+tell_kernel_to_reread_partition_table(char * device_path)
+ CODE:
+ PedDevice *dev = ped_device_get(device_path);
+ RETVAL=0;
+ if(dev) {
+ PedDisk* disk = ped_disk_new(dev);
+ if (disk) {
+ if (ped_disk_commit_to_os (disk))
+ RETVAL=1;
+ ped_disk_destroy(disk);
+ }
+ }
+ OUTPUT:
+ RETVAL
-void
-unset_tagged_utf8(s)
- SV *s
- CODE:
- SvUTF8_off(s);
+#define BACKTRACE_DEPTH 20
+
-char *
-standard_charset()
+char*
+C_backtrace()
CODE:
- RETVAL = nl_langinfo(CODESET);
+ static char buf[1024];
+ int nAddresses, i;
+ unsigned long idx = 0;
+ void * addresses[BACKTRACE_DEPTH];
+ char ** symbols = NULL;
+ nAddresses = backtrace(addresses, BACKTRACE_DEPTH);
+ symbols = backtrace_symbols(addresses, nAddresses);
+ if (symbols == NULL) {
+ idx += sprintf(buf+idx, "ERROR: Retrieving symbols failed.\n");
+ } else {
+ /* dump stack trace */
+ for (i = 0; i < nAddresses; ++i)
+ idx += sprintf(buf+idx, "%d: %s\n", i, symbols[i]);
+ }
+ RETVAL = strdup(buf);
OUTPUT:
RETVAL
-';
-$ENV{C_RPM} and print '
-char *
-rpmErrorString()
-
-void
-rpmSetVeryVerbose()
- CODE:
- rpmSetVerbosity(RPMMESS_DEBUG);
-void
-rpmErrorSetCallback(fd)
- int fd
- CODE:
- rpmError_callback_data = fd;
- rpmErrorSetCallback(rpmError_callback);
-int
-rpmvercmp(char *a, char *b);
';
@macros = (
- [ qw(int S_IFCHR S_IFBLK S_IFIFO KDSKBENT KT_SPEC NR_KEYS MAX_NR_KEYMAPS BLKRRPART TIOCSCTTY
- HDIO_GETGEO BLKGETSIZE LOOP_GET_STATUS
- MS_MGC_VAL MS_RDONLY O_NONBLOCK F_SETFL F_GETFL O_CREAT SECTORSIZE WNOHANG
- VT_ACTIVATE VT_WAITACTIVE VT_GETSTATE CDROM_LOCKDOOR CDROMEJECT CDROM_DRIVE_STATUS CDS_DISC_OK
+ [ qw(int S_IFCHR S_IFBLK S_IFIFO S_IFMT KDSKBENT K_NOSUCHMAP NR_KEYS MAX_NR_KEYMAPS BLKRRPART TIOCSCTTY
+ HDIO_GETGEO LOOP_GET_STATUS
+ MS_MGC_VAL O_WRONLY O_RDWR O_CREAT O_NONBLOCK F_SETFL F_GETFL WNOHANG
+ VT_ACTIVATE VT_WAITACTIVE VT_GETSTATE
+ CDROMEJECT CDROMCLOSETRAY CDROM_LOCKDOOR
LOG_WARNING LOG_INFO LOG_LOCAL1
+ LC_COLLATE
) ],
);
@@ -615,3 +851,7 @@ END
}
}
+print '
+
+PROTOTYPES: DISABLE
+';
diff --git a/perl-install/class_discard.pm b/perl-install/class_discard.pm
deleted file mode 100644
index 7ecd1375b..000000000
--- a/perl-install/class_discard.pm
+++ /dev/null
@@ -1,11 +0,0 @@
-package class_discard; # $Id$
-
-use log;
-
-sub new { bless {}, "class_discard" }
-
-sub AUTOLOAD {
- log::l("class_discard: $AUTOLOAD called at ", caller);
-}
-
-1;
diff --git a/perl-install/commands b/perl-install/commands
deleted file mode 100755
index adbf7f594..000000000
--- a/perl-install/commands
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install .);
-use common;
-use commands;
-
-my $progname = basename($0);
-
-eval {
- # hack as some functions are defined by perl... so chmod -> chmod_
- &{$commands::{$progname} || $commands::{$progname . "_"} || \&err}(@ARGV), exit 0;
-};
-die formatError($@) . "\n";
-
-sub err { die "$0: unknown program (unimplemented)\n" }
diff --git a/perl-install/commands.pm b/perl-install/commands.pm
deleted file mode 100644
index bf61ac05d..000000000
--- a/perl-install/commands.pm
+++ /dev/null
@@ -1,517 +0,0 @@
-package commands; # $Id$
-
-#-########################################################################
-#- This file implement many common shell commands:
-#- true, false, cat, which, dirname, basename, rmdir, lsmod, grep, tr,
-#- mount, umount, mkdir, mknod, ln, rm, chmod, chown, swapon,
-#- swapoff, ls, cp, ps, dd, head, tail, strings, hexdump, more, insmod,
-#- modprobe, route, df, kill, lspci, lssbus, dmesg, sort, du,
-#-########################################################################
-
-use diagnostics;
-use strict;
-use vars qw($printable_chars *ROUTE *DF *PS);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use MDK::Common::System;
-use common;
-
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-my $BUFFER_SIZE = 1024;
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub getopts {
- my $o = shift;
- my @r = map { '' } (@_ = split //, $_[0]);
- while (1) {
- local $_ = $o->[0];
- $_ && /^-/ or return @r;
- for (my $i = 0; $i < @_; $i++) { /$_[$i]/ and $r[$i] = $_[$i] }
- shift @$o;
- }
- @r;
-}
-
-sub true() { exit 0 }
-sub false() { exit 1 }
-sub cat { @ARGV = @_; print while <> }
-sub dirname_ { print dirname(@_), "\n" }
-sub basename_ { print basename(@_), "\n" }
-sub rmdir_ { foreach (@_) { rmdir $_ or die "rmdir: can't remove $_\n" } }
-sub lsmod() { print "Module Size Used by\n"; cat("/proc/modules") }
-sub which {
- ARG: foreach (@_) { foreach my $c (split /:/, $ENV{PATH}) { -x "$c/$_" and print("$c/$_\n"), next ARG } }
-}
-
-sub grep_ {
- my ($h, $v, $i) = getopts(\@_, qw(hvi));
- @_ == 0 || $h and die "usage: grep <regexp> [files...]\n";
- my $r = shift;
- $r = qr/$r/i if $i;
- @ARGV = @_; (/$r/ xor $v) and print while <>;
-}
-
-sub tr_ {
- my ($s, $c, $d) = getopts(\@_, qw(s c d));
- @_ >= 1 + (!$d || $s) or die "usage: tr [-c] [-s [-d]] <set1> <set2> [files...]\n or tr [-c] -d <set1> [files...]\n";
- my $set1 = shift;
- my $set2; !$d || $s and $set2 = shift;
- @ARGV = @_;
- eval "(tr/$set1/$set2/$s$d$c, print) while <>";
-}
-
-sub mount {
- @_ or return cat("/proc/mounts");
- my ($t, $r) = getopts(\@_, qw(tr));
- my $fs = $t && shift;
-
- @_ == 2 or die "usage: mount [-r] [-t <fs>] <device> <dir>\n",
- " (use -r for readonly)\n",
- " (if /dev/ is left off the device name, a temporary node will be created)\n";
-
- my ($dev, $where) = @_;
- $fs ||= $where =~ /:/ ? "nfs" :
- $dev =~ /fd/ ? "vfat" : "ext2";
-
- require fs;
- require modules;
- modules::load_dependencies("/modules/modules.dep");
- fs::mount($dev, $where, $fs, $r);
-}
-
-sub umount {
- @_ == 1 or die "umount expects a single argument\n";
-
- require fs;
- fs::umount($_[0]);
-}
-
-sub mkdir_ {
- my ($_rec) = getopts(\@_, qw(p));
- mkdir_p($_) foreach @_;
-}
-
-
-sub mknod {
- if (@_ == 1) {
- require devices;
- eval { devices::make($_[0]) }; $@ and die "mknod: failed to create $_[0]\n";
- } elsif (@_ == 4) {
- require c;
- my $mode = ${{ "b" => c::S_IFBLK(), "c" => c::S_IFCHR() }}{$_[1]} or die "unknown node type $_[1]\n";
- syscall_('mknod', my $_a = $_[0], $mode | 0600, makedev($_[2], $_[3])) or die "mknod failed: $!\n";
- } else { die "usage: mknod <path> [b|c] <major> <minor> or mknod <path>\n" }
-}
-
-sub ln {
- my ($force, $soft) = getopts(\@_, qw(fs));
- @_ >= 1 or die "usage: ln [-s] [-f] <source> [<dest>]\n";
-
- my ($source, $dest) = @_;
- $dest ||= basename($source);
-
- $force and unlink $dest;
-
- ($soft ? symlink($source, $dest) : link($source, $dest)) or die "ln failed: $!\n";
-}
-
-sub rm {
- my ($rec, undef) = getopts(\@_, qw(rf));
-
- my $rm; $rm = sub {
- foreach (@_) {
- if (!-l $_ && -d $_) {
- $rec or die "$_ is a directory\n";
- &$rm(glob_($_));
- rmdir $_ or die "can't remove directory $_: $!\n";
- } else { unlink $_ or die "rm of $_ failed: $!\n" }
- }
- };
- &$rm(@_);
-}
-
-sub chmod_ {
- @_ >= 2 or die "usage: chmod <mode> <files>\n";
-
- my $mode = shift;
- $mode =~ /^[0-7]+$/ or die "illegal mode $mode\n";
-
- foreach (@_) { chmod oct($mode), $_ or die "chmod failed $_: $!\n" }
-}
-
-sub chown_ {
- my ($rec, undef) = getopts(\@_, qw(r));
- local $_ = shift or die "usage: chown [-r] name[.group] <files>\n";
-
- my ($name, $group) = (split('\.'), $_);
-
- my ($uid, $gid) = (getpwnam($name) || $name, getgrnam($group) || $group);
-
- my $chown; $chown = sub {
- foreach (@_) {
- chown $uid, $gid, $_ or die "chown of file $_ failed: $!\n";
- -d $_ && $rec and &$chown(glob_($_));
- }
- };
- &$chown(@_);
-}
-
-sub swapon {
- @_ == 1 or die "swapon <file>\n";
- require swap;
- swap::swapon($_[0]);
-}
-sub swapoff {
- @_ == 1 or die "swapoff <file>\n";
- require swap;
- swap::swapoff($_[0]);
-}
-
-sub uncpio {
- @_ and die "uncpio reads from stdin\n";
-
-# cpioInstallArchive(gzdopen(0, "r"), NULL, 0, NULL, NULL, &fail);
-}
-
-
-sub rights {
- my $r = '-' x 9;
- my @rights = (qw(x w r x w r x w r), ['t', 0], ['s', 3], ['s', 6]);
- for (my $i = 0; $i < @rights; $i++) {
- if (vec(pack("S", $_[0]), $i, 1)) {
- my ($val, $place) = $i >= 9 ? @{$rights[$i]} : ($rights[$i], $i);
- my $old = \substr($r, 8 - $place, 1);
- $$old = $$old eq '-' && $i >= 9 ? uc $val : $val;
- }
- }
- my @types = split //, "_pc_d_b_-_l_s";
- $types[($_[0] >> 12) & 0xf] . $r;
-}
-
-sub displaySize {
- my $m = $_[0] >> 12;
- $m == 4 || $m == 8 || $m == 10;
-}
-
-sub ls {
- my ($l, $h) = getopts(\@_, qw(lh));
- $h and die "usage: ls [-l] <files...>\n";
-
- @_ or @_ = '.';
- @_ == 1 && -d $_[0] and @_ = glob_($_[0]);
- foreach (sort @_) {
- if ($l) {
- my @s = lstat or warn("can't stat file $_\n"), next;
- formline(
-"@<<<<<<<<< @<<<<<<< @<<<<<<< @>>>>>>>> @>>>>>>>>>>>>>>> @*\n",
- rights($s[2]), getpwuid $s[4] || $s[4], getgrgid $s[5] || $s[5],
- displaySize($s[2]) ? $s[7] : join(", ", unmakedev($s[6])),
- scalar localtime $s[9], -l $_ ? "$_ -> " . readlink $_ : $_);
- print $^A; $^A = '';
- } else { print "$_\n" }
- }
-}
-sub cp {
- @_ >= 2 or die "usage: cp <sources> <dest>\n(this cp does -Rfl by default)\n";
- cp_af(@_);
-}
-
-sub ps {
- @_ and die "usage: ps\n";
- my ($pid, $rss, $cpu, $cmd);
- my ($uptime) = split ' ', first(cat_("/proc/uptime"));
- my $hertz = 100;
-
- require c;
- my $page = c::getpagesize() / 1024;
-
- open PS, ">&STDOUT"; #- PS must be not be localised otherwise the "format PS" fails
- format PS_TOP =
- PID RSS %CPU CMD
-.
- format PS =
-@>>>> @>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-$pid, $rss, $cpu, $cmd
-.
- foreach (sort { $a <=> $b } grep { /\d+/ } all('/proc')) {
- $pid = $_;
- my @l = split(' ', cat_("/proc/$pid/stat"));
- $cpu = sprintf "%2.1f", max(0, min(99, ($l[13] + $l[14]) * 100 / $hertz / ($uptime - $l[21] / $hertz)));
- $rss = (split ' ', cat_("/proc/$pid/stat"))[23] * $page;
- (($cmd) = cat_("/proc/$pid/cmdline")) =~ s/\0/ /g;
- $cmd ||= (split ' ', (cat_("/proc/$pid/stat"))[0])[1];
- write PS;
- }
-}
-
-
-sub dd {
- my $u = "usage: dd [-h] [-p] [if=<file>] [of=<file>] [bs=<number>] [count=<number>]\n";
- my ($help, $percent) = getopts(\@_, qw(hp));
- die $u if $help;
- my %h = (if => *STDIN, of => *STDOUT, bs => 512, count => undef);
- foreach (@_) {
- /(.*?)=(.*)/ && exists $h{$1} or die $u;
- $h{$1} = $2;
- }
- local (*IF, *OF); my ($tmp, $nb, $read);
- ref($h{if}) eq 'GLOB' ? (*IF = $h{if}) : sysopen(IF, $h{if}, 0) || die "error: can't open file $h{if}\n";
- ref($h{of}) eq 'GLOB' ? (*OF = $h{of}) : sysopen(OF, $h{of}, 0x41) || die "error: can't open file $h{of}\n";
-
- $h{bs} = removeXiBSuffix($h{bs});
-
- for ($nb = 0; !$h{count} || $nb < $h{count}; $nb++) {
- printf "\r%02.1d%%", 100 * $nb / $h{count} if $h{count} && $percent;
- $read = sysread(IF, $tmp, $h{bs}) or ($h{count} ? die "error: can't read block $nb\n" : last);
- syswrite(OF, $tmp) or die "error: can't write block $nb\n";
- $read < $h{bs} and $read = 1, last;
- }
- print STDERR "\r$nb+$read records in\n";
- print STDERR "$nb+$read records out\n";
-}
-
-sub head_tail {
- my ($h, $n) = getopts(\@_, qw(hn));
- $h || @_ < to_bool($n) and die "usage: $0 [-h] [-n lines] [<file>]\n";
- $n = $n ? shift : 10;
- my $fh; @_ ? open($fh, $_[0]) || die "error: can't open file $_[0]\n" : ($fh = *STDIN);
-
- if ($0 eq 'head') {
- local $_;
- while (<$fh>) { $n-- or return; print }
- } else {
- @_ = ();
- local $_;
- while (<$fh>) { push @_, $_; @_ > $n and shift }
- print @_;
- }
-}
-sub head { $0 = 'head'; &head_tail }
-sub tail { $0 = 'tail'; &head_tail }
-
-sub strings {
- my ($h, $o, $n) = getopts(\@_, qw(hon));
- $h and die "usage: strings [-o] [-n min-length] [<files>]\n";
- $n = $n ? shift : 4;
- $/ = "\0"; @ARGV = @_; my $l = 0;
- local $_;
- while (<>) {
- while (/[$printable_chars]{$n,}/og) {
- printf "%07d ", ($l + length $') if $o;
- print "$&\n";
- }
- $l += length;
- } continue { $l = 0 if eof }
-}
-
-sub hexdump {
- my $i = 0; $/ = \16; @ARGV = @_;
- local $_;
- while (<>) {
- printf "%08lX ", $i; $i += 16;
- print join(" ", (map { sprintf "%02X", $_ } unpack("C*", $_)),
- (s/[^$printable_chars]/./og, $_)[1]), "\n";
- }
-}
-
-sub more {
- @ARGV = @_;
- require devices;
- my $tty = devices::make('tty');
- my $n = 0;
- open(my $IN, $tty) or die "can't open $tty\n";
- local $_;
- while (<>) {
- if (++$n == 25) {
- my $v = <$IN>;
- $v =~ /^q/ and exit 0;
- $n = 0;
- }
- print
- }
-}
-
-sub insmod {
- my ($h) = getopts(\@_, qw(h));
- $h || @_ == 0 and die "usage: insmod <module> [options]\n";
- my $f = local $_ = shift;
-
- require run_program;
-
- #- try to install the module if it exist else extract it from archive.
- #- needed for cardmgr.
- unless (-r $f) {
- $_ = $1 if m!.*/([^/]*)\.o!;
- unless (-r ($f = "/lib/modules/$_.o")) {
- $f = "/tmp/$_.o";
- my $cz = "/lib/modules" . (arch() eq 'sparc64' && "64") . ".cz";
- -e $cz or $cz .= '-'.c::kernel_version();
- if (-e $cz) {
- eval {
- require packdrake;
- my $packer = new packdrake($cz, quiet => 1);
- $packer->extract_archive("/tmp", "$_.o");
- };
- } elsif (-e "/lib/modules.cpio.bz2") {
- run_program::run("cd /tmp ; $ENV{LD_LOADER} bzip2 -cd /lib/modules.cpio.bz2 | $ENV{LD_LOADER} cpio -i $_.o");
- } else {
- die "unable to find an archive for modules";
- }
- }
- }
- -r $f or die "can't find module $_";
- run_program::run(["/usr/bin/insmod_", "insmod"], "-f", $f, @_) or die("insmod $_ failed");
- unlink $f;
-}
-
-sub modprobe {
- my ($h) = getopts(\@_, qw(h));
- $h || @_ == 0 and die "usage: modprobe <module> [options]\n";
- my $name = shift;
- require modules;
- modules::load_dependencies("/modules/modules.dep");
- modules::load([ $name, @_ ]);
-}
-
-sub route {
- @_ == 0 or die "usage: route\nsorry, no modification handled\n";
- my ($titles, @l) = cat_("/proc/net/route");
- my @titles = split ' ', $titles;
- my %l;
- open ROUTE, ">&STDOUT"; #- ROUTE must be not be localised otherwise the "format ROUTE" fails
- format ROUTE_TOP =
-Destination Gateway Mask Iface
-.
- format ROUTE =
-@<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<
-$l{Destination}, $l{Gateway}, $l{Mask}, $l{Iface}
-.
- foreach (@l) {
- /^\s*$/ and next;
- @l{@titles} = split;
- $_ = join ".", reverse map { hex $_ } unpack "a2a2a2a2", $_ foreach @l{qw(Destination Gateway Mask)};
- $l{Destination} = 'default' if $l{Destination} eq "0.0.0.0";
- $l{Gateway} = '*' if $l{Gateway} eq "0.0.0.0";
- write ROUTE;
- }
-}
-
-sub df {
- my ($h) = getopts(\@_, qw(h));
- my ($dev, $size, $free, $used, $use, $mntpoint);
- open DF, ">&STDOUT"; #- DF must be not be localised otherwise the "format DF" fails
- format DF_TOP =
-Filesystem Size Used Avail Use Mounted on
-.
- format DF =
-@<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>>> @>>>>>% @<<<<<<<<<<<<<<<<<<<<<<<<<
-$dev, $size, $used, $free, $use, $mntpoint
-.
- my %h;
- foreach (cat_("/proc/mounts"), cat_("/etc/mtab")) {
- ($dev, $mntpoint) = split;
- $h{$dev} = $mntpoint;
- }
- foreach (sort keys %h) {
- $dev = $_;
- ($size, $free) = MDK::Common::System::df($mntpoint = $h{$dev});
- $size or next;
-
- $use = int(100 * ($size - $free) / $size);
- $used = $size - $free;
- if ($h) {
- $used = int($used / 1024 . "M");
- $size = int($size / 1024 . "M");
- $free = int($free / 1024 . "M");
- }
- write DF if $size;
- }
-}
-
-sub kill {
- my $signal = 15;
- @_ or die "usage: kill [-<signal>] pids\n";
- $signal = (shift, $1)[1] if $_[0] =~ /^-(.*)/;
- kill $signal, @_ or die "kill failed: $!\n";
-}
-
-sub lspci() {
- require detect_devices;
- print join "\n", detect_devices::stringlist(), '';
-}
-*lssbus = \&lspci;
-
-sub dmesg() { print cat_("/tmp/syslog") }
-
-sub sort {
- my ($n, $h) = getopts(\@_, qw(nh));
- $h and die "usage: sort [-n] [<file>]\n";
- my $fh; @_ ? open($fh, $_[0]) || die "error: can't open file $_[0]\n" : ($fh = *STDIN);
- if ($n) {
- print(sort { $a <=> $b } <$fh>);
- } else {
- print(sort <$fh>);
- }
-}
-
-sub du {
- my ($s, $h) = getopts(\@_, qw(sh));
- $h || !$s and die "usage: du -s [<directories>]\n";
-
- my $f; $f = sub {
- my ($e) = @_;
- my $s = (lstat($e))[12];
- $s += sum(map { &$f($_) } glob_("$e/*")) if !-l $e && -d $e;
- $s;
- };
- print &$f($_) >> 1, "\t$_\n" foreach @_ ? @_ : glob_("*");
-}
-
-sub install_cpio($$;@) {
- my ($dir, $name, @more) = @_;
-
- return "$dir/$name" if -e "$dir/$name";
-
- my $cpio = "$dir.cpio.bz2";
- -e $cpio or return;
-
- eval { rm("-r", $dir) };
- mkdir $dir, 0755;
- require run_program;
-
- my $more = join " ", map { $_ && "$_ $_/*" } @more;
- run_program::run("cd $dir ; $ENV{LD_LOADER} bzip2 -cd $cpio | $ENV{LD_LOADER} cpio -id $name $name/* $more");
-
- "$dir/$name";
-}
-
-sub bug {
- my ($h) = getopts(\@_, "h");
- $h and die "usage: bug\nput file report.bug on fat formatted floppy\n";
-
- require detect_devices;
- mount devices::make(detect_devices::floppy()), "/fd0";
-
- require install_any;
- output("/fd0/report.bug", install_any::report_bug("/mnt")); #- no other way :-(
- umount "/fd0";
- common::sync();
-}
-
-sub loadkeys {
- my ($h) = getopts(\@_, "h");
- $h || @_ != 1 and die "usage: loadkeys <keyboard>\n";
-
- require keyboard;
- keyboard::setup({ KEYBOARD => $_[0] });
-}
-
-sub sync() { common::sync() }
-
-1;
diff --git a/perl-install/common.pm b/perl-install/common.pm
index a28c3727c..508e6b31f 100644
--- a/perl-install/common.pm
+++ b/perl-install/common.pm
@@ -1,19 +1,25 @@
-package common; # $Id$
+package common;
use MDK::Common;
-use MDK::Common::System;
use diagnostics;
use strict;
+BEGIN { eval { require Locale::gettext } } #- allow common.pm to be used in drakxtools-backend without perl-Locale-gettext
+
+use log;
use run_program;
-use vars qw(@ISA @EXPORT $SECTORSIZE);
-@ISA = qw(Exporter);
-# no need to export ``_''
-@EXPORT = qw($SECTORSIZE N N_ translate untranslate formatXiB removeXiBSuffix formatTime setVirtual makedev unmakedev salt set_permissions files_exist set_alternative mandrake_release require_root_capability check_for_xserver);
+use Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw($SECTORSIZE N P N_ check_for_xserver files_exist formatTime MB formatXiB get_libdir get_parent_uid is_running is_uefi kernel_uefi_type makedev mageia_release mageia_release_info mount_efivars removeXiBSuffix require_root_capability setVirtual set_alternative set_l10n_sort set_permissions to_utf8 translate uefi_type unmakedev);
# perl_checker: RE-EXPORT-ALL
push @EXPORT, @MDK::Common::EXPORT;
+=head1 SYNOPSYS
+
+B<common> re-export L<MDK::Common> and offers a couple widely used functions.
+
+=cut
$::prefix ||= ""; # no warning
@@ -22,74 +28,155 @@ $::prefix ||= ""; # no warning
#-#####################################################################################
our $SECTORSIZE = 512;
-#-#####################################################################################
-#- Functions
-#-#####################################################################################
+=head1 Functions
+=head2 Translating
-sub sprintf_fixutf8 {
- my $need_upgrade;
- $need_upgrade |= to_bool(c::is_tagged_utf8($_)) + 1 foreach @_;
- if ($need_upgrade == 3) { c::upgrade_utf8($_) foreach @_ };
- sprintf shift, @_;
-}
+=over
+
+=item N($format, ...)
+
+translate a message by calling gettext(). eg:
+
+ N("Summary")
+ N("File %s is on %s", "/etc/passwd", "/dev/sda2")
+
+It must B<not> be used called before L<ugtk3> is initialized, otherwise the gettext is not forced to UTF-8.
+
+=cut
sub N {
- $::one_message_has_been_translated ||= join(':', (caller(0))[1,2]); #- see ugtk2.pm
- my $s = shift @_; my $t = translate($s);
- sprintf_fixutf8 $t, @_;
+ my ($s, @para) = @_;
+ sprintf(translate($s), @para);
}
+
+=item N_($format, @param)
+
+Similar to C<N()>, but message is not actually translated.
+It tags the message as translatable so that it will end in the
+translation catalogs.
+
+In order for the message to be translated, C<translate()> must be called
+before using the message.
+
+=cut
+
sub N_ { $_[0] }
+=item P($s_singular, $s_plural, $nb, @extra_para)
-sub salt {
- my ($nb) = @_;
- require devices;
- open(my $F, devices::make("random")) or die "missing random";
- my $s; read $F, $s, $nb;
- $s = pack("b8" x $nb, unpack "b6" x $nb, $s);
- $s =~ tr|\0-\x3f|0-9a-zA-Z./|;
- $s;
-}
+Similar to C<N()>, but two messages are provided: one for the singular case, one for the
+plural case. At runtime, a number is provided in order to choose the message to use.
+eg:
-sub makedev { ($_[0] << 8) | $_[1] }
-sub unmakedev { $_[0] >> 8, $_[0] & 0xff }
+ P("%d package", "%d packages", $nb, $nb)
+
+=cut
+
+sub P {
+ my ($s_singular, $s_plural, $nb, @para) = @_;
+ sprintf(translate($s_singular, $s_plural, $nb), @para);
+}
sub translate_real {
- my ($s) = @_;
+ my ($s, $o_plural, $o_nb) = @_;
$s or return '';
- foreach ('libDrakX', @::textdomains) {
- my $s2 = c::dgettext($_, $s);
- return $s2 if $s ne $s2;
+ my $s2;
+ foreach (@::textdomains, 'libDrakX') {
+ if ($o_plural) {
+ $s2 = Locale::gettext::dngettext($_, $s, $o_plural, $o_nb);
+ } else {
+ $s2 = Locale::gettext::dgettext($_, $s);
+ }
+ # when utf8 pragma is in use, Locale::gettext() returns an utf8 string not tagged as such:
+ c::set_tagged_utf8($s2) if !utf8::is_utf8($s2) && utf8::is_utf8($s);
+ return $s2 if !member($s2, $s, $o_plural);
}
+ # didn't lookup anything or locale is "C":
+ $s2;
+}
+
+=item remove_translate_context($string)
+
+Remove an ala-KDE context message. eg:
+
+ "_: this is verb\nOpen"
+ "_: Keep these entry short\nNetworking"
+
+=cut
+
+sub remove_translate_context {
+ my ($s) = @_;
+ #- translation with context, kde-like
+ $s =~ s/^_:.*(?:\n)?//g;
$s;
}
+=item translate($string)
+
+Translate the message according to the current locale.
+The string is B<not> tagged as translatable and will B<not> end in
+translations catalogs.
+
+perl_checker only extracts strings tagged by C<N()>, C<N_()> or C<P()>.
+
+=cut
+
sub translate {
my $s = translate_real(@_);
- $::need_utf8_i18n and c::set_tagged_utf8($s);
+ $::one_message_has_been_translated ||= join(':', (caller(1))[1,2]); #- see mygtk3.pm
+ remove_translate_context($s);
+}
- #- translation with context, kde-like
- $s =~ s/^_:.*\n//;
- $s;
+=back
+
+=head2 Conversion
+
+=over
+
+=item from_utf8($s)
+
+Convert an UTF-8 string into current locale's encoding.
+
+=cut
+
+sub from_utf8 {
+ my ($s) = @_;
+ Locale::gettext::iconv($s, "utf-8", undef); #- undef = locale charmap = nl_langinfo(CODESET)
}
+=item to_utf8($s)
+
+The reverse of C<from_utf8()>: convert a string from current locale's encoding to UTF-8.
+Also make sure the string is properly tagged as UTF-8 as concerning Perl
-sub untranslate {
- my $s = shift || return;
- foreach (@_) { translate($_) eq $s and return $_ }
- die "untranslate failed";
+=cut
+
+sub to_utf8 {
+ my ($s) = @_;
+ my $str = Locale::gettext::iconv($s, undef, "utf-8"); #- undef = locale charmap = nl_langinfo(CODESET)
+ c::set_tagged_utf8($str);
+ $str;
}
-BEGIN { undef *availableRamMB }
-sub availableRamMB() {
- my $s = MDK::Common::System::availableRamMB();
- #- HACK HACK: if i810 and memsize
- require detect_devices;
- return $s - 1 if $s == 128 && any { $_->{driver} eq 'Card:Intel 810' } detect_devices::probeall();
- $s;
+=item set_l10n_sort()
+
+This is needed because text printed by L<Gtk3> will always be encoded
+in UTF-8;
+we first check if LC_ALL is defined, because if it is, changing
+only LC_COLLATE will have no effect.
+
+=cut
+
+sub set_l10n_sort() {
+ my $collation_locale = $ENV{LC_ALL};
+ if (!$collation_locale) {
+ $collation_locale = c::setlocale(c::LC_COLLATE());
+ $collation_locale =~ /UTF-8/ or c::setlocale(c::LC_COLLATE(), "$collation_locale.UTF-8");
+ }
}
+
sub setVirtual {
my ($vt_number) = @_;
my $vt = '';
@@ -100,6 +187,52 @@ sub setVirtual {
unpack "S", $vt;
}
+sub nonblock {
+ my ($F) = @_;
+ fcntl($F, c::F_SETFL(), fcntl($F, c::F_GETFL(), 0) | c::O_NONBLOCK()) or die "cannot fcntl F_SETFL: $!";
+}
+
+=item makedev($major, $minor)
+
+Given major and minor device IDs, makedev() combines these to return a device ID
+(eg for mknod())
+
+=cut
+
+sub makedev { ($_[0] << 8) | $_[1] }
+
+=item unmakedev($device_id)
+
+The reverse of C<makedev()>: given a device ID, it will return both major and minor device IDs.
+
+=cut
+
+sub unmakedev { $_[0] >> 8, $_[0] & 0xff }
+
+=item MB($suffixed_number)
+
+return a size in sector
+ie C<MB(1)> is 2048 sectors, which is 1MB
+
+eg:
+
+ MB("10") => 20480
+
+=cut
+
+sub MB {
+ my ($nb_MB) = @_;
+ $nb_MB * 2048;
+}
+
+=item removeXiBSuffix($string)
+
+Remove the XiB suffix and return the number. eg:
+
+ "10k" => 10240
+ "2M" => 2097152
+
+=cut
sub removeXiBSuffix {
local $_ = shift;
@@ -110,29 +243,49 @@ sub removeXiBSuffix {
/(\d+)\s*TB?$/i and return $1 * 1024 * 1024 * 1024 * 1024;
$_;
}
+
+=item formatXiB($number [, $base])
+
+The reverse of C<removeXiBSuffix()>, returns a nicely human size. eg:
+
+ 2097152 => "2MB"
+
+The optional parameter enables to provide the unit size (default is one).
+eg for a 2000 512 sized sectors:
+
+ formatXiB(2000, 512)
+
+=cut
+
sub formatXiB {
my ($newnb, $o_newbase) = @_;
my $newbase = $o_newbase || 1;
+ my $sign = $newnb < 0 ? -1 : 1;
+ $newnb = abs(int($newnb));
my ($nb, $base);
my $decr = sub {
($nb, $base) = ($newnb, $newbase);
$base >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024);
};
- foreach ('', N("KB"), N("MB"), N("GB")) {
+ my $suffix;
+ foreach (N("B"), N("KB"), N("MB"), N("GB"), N("TB")) {
$decr->();
if ($newnb < 1 && $newnb * $newbase < 1) {
- my $v = $nb * $base;
- my $s = $v < 10 && int(10 * $v - 10 * int($v));
- return int($v) . ($s ? ".$s" : '') . $_;
+ $suffix = $_;
+ last;
}
}
- int($newnb * $newbase) . N("TB");
+ my $v = $nb * $base;
+ my $s = $v < 10 && int(10 * $v - 10 * int($v));
+ int($v * $sign) . ($s ? "." . abs($s) : '') . ($suffix || N("TB"));
}
sub formatTime {
my ($s, $m, $h) = gmtime($_[0]);
if ($h) {
- sprintf "%02d:%02d", $h, $m;
+ sprintf
+ #-PO: here, "2:30" is remaining installation time (eg: "2:30" == 2 hour & 30 minutes)
+ N("%02d:%02d", $h, $m);
} elsif ($m > 1) {
N("%d minutes", $m);
} elsif ($m == 1) {
@@ -142,7 +295,20 @@ sub formatTime {
}
}
-sub usingRamdisk() { any { /ram3/ } cat_("/proc/mounts") }
+sub expand_symlinks_with_absolute_symlinks_in_prefix {
+ my ($prefix, $link) = @_;
+
+ my ($first, @l) = split '/', $link;
+ $first eq '' or die "expand_symlinks: $link is relative\n";
+ my ($f, $l);
+ foreach (@l) {
+ $f .= "/$_";
+ while ($l = readlink "$prefix$f") {
+ $f = $l =~ m!^/! ? $l : MDK::Common::File::concat_symlink($f, "../$l");
+ }
+ }
+ "$prefix$f";
+}
sub expand_symlinks_but_simple {
my ($f) = @_;
@@ -152,46 +318,62 @@ sub expand_symlinks_but_simple {
# put back the last simple symlink
$f2 =~ s|\Q$link\E$|basename($f)|e;
}
- $f2
+ $f2;
}
sub sync { &MDK::Common::System::sync }
-# Group the list by n. Returns a reference of lists of length n
-sub group_n_lm {
- my $n = shift;
- my @l;
- push @l, [ splice(@_, 0, $n) ] while @_;
- @l
+BEGIN { undef *formatError }
+sub formatError {
+ my ($err) = @_;
+ ref($err) eq 'SCALAR' and $err = $$err;
+ log::l("error: $err");
+ &MDK::Common::String::formatError($err);
}
-sub screenshot_dir__and_move() {
- my ($dir1, $dir2) = ("$::prefix/root", '/tmp/stage2');
- if (-e $dir1) {
- if (-e "$dir2/DrakX-screenshots") {
- cp_af("$dir2/DrakX-screenshots", $dir1);
- rm_rf("$dir2/DrakX-screenshots");
+=item group_by($f, @list)
+
+Group the elements of @list in array references according to the $f comparison function.
+
+=cut
+
+sub group_by(&@) {
+ my $f = shift;
+ @_ or return;
+ my $e = shift;
+ my @l = my $last_l = [$e];
+ foreach (@_) {
+ if ($f->($e, $_)) {
+ push @$last_l, $_;
+ } else {
+ push @l, $last_l = [$_];
+ $e = $_;
}
- $dir1;
- } else {
- $dir2;
}
+ @l;
}
-sub take_screenshot() {
- my $dir = screenshot_dir__and_move() . '/DrakX-screenshots';
- my $warn;
- if (!-e $dir) {
- mkdir $dir or $::o->ask_warn('', N("Can't make screenshots before partitioning")), return;
- $warn = 1;
- }
- my $nb = 1;
- $nb++ while -e "$dir/$nb.png";
- system("fb2png /dev/fb0 $dir/$nb.png 0");
+=item group_n_lm($n, @list)
+
+Group the list by n. Returns a reference of lists of length n
- $::o->ask_warn('', N("Screenshots will be available after install in %s", "/root/DrakX-screenshots")) if $warn;
+See also C<group_by2(LIST)> from L<MDK::Common::DataStructure>
+
+=cut
+
+sub group_n_lm {
+ my $n = shift;
+ my @l;
+ push @l, [ splice(@_, 0, $n) ] while @_;
+ @l;
}
+=item join_lines(@strings)
+
+Concatenate adjacent strings if laters begin with spaces.
+
+=cut
+
sub join_lines {
my @l;
my $s;
@@ -207,68 +389,408 @@ sub join_lines {
}
+sub read_alternative {
+ my ($name) = @_;
+ my $alt = readlink("$::prefix/etc/alternatives/$name");
+ $alt && $::prefix . $alt;
+}
+
sub set_alternative {
my ($command, $executable) = @_;
- #- check the existance of $executable as an alternative for $command
+ #- check the existence of $executable as an alternative for $command
#- (is this needed???)
run_program::rooted_get_stdout($::prefix, 'update-alternatives', '--display', $command) =~ /^\Q$executable /m or return;
- #- this doesn't handle relative symlink, but neither does update-alternatives ;p
+ #- this does not handle relative symlink, but neither does update-alternatives ;p
symlinkf $executable, "$::prefix/etc/alternatives/$command";
}
sub files_exist { and_(map { -f "$::prefix$_" } @_) }
+sub open_file {
+ my ($file) = @_;
+ my $F;
+ open($F, $file) ? $F : do { log::l("Cannot open $file: $!"); undef };
+}
+
+=item secured_file($f)
+
+A wrapper around c::is_secure_file().
+
+Callers should probably just use C<mkstemp()> in /tmp.
+
+=cut
+
+# FIXME: callers should just use mkstemp in /tmp instead of relying on $TMPDIR || $ENV{HOME}/tmp
+# or we should just move the choice of directory from callers to here:
+# my $tmpdir = find { -d $_ } $ENV{TMPDIR}, "$ENV{HOME}/tmp", "$::prefix/tmp";
sub secured_file {
my ($f) = @_;
- c::is_secure_file($f) or die "can't ensure a safe $f";
+ my $d = dirname($f);
+ if (! -d $d) {
+ mkdir_p($d);
+ if ($d =~ /^$ENV{HOME}/) {
+ my ($user) = grep { $_->[7] eq $ENV{HOME} } list_passwd();
+ chown($user->[2], $user->[3], $d);
+ }
+ }
+ c::is_secure_file($f) or die "cannot ensure a safe $f";
$f;
}
+sub unwind_protect {
+ my ($to_do, $cleanup) = @_;
+ my @l = eval { $to_do->() };
+ my $err = $@;
+ $cleanup->();
+ $err and die $err;
+ wantarray() ? @l : $l[0];
+}
+
+sub with_private_tmp_file {
+ my ($file, $content, $f) = @_;
+
+ my $prev_umask = umask 077;
+
+ unwind_protect(sub {
+ MDK::Common::File::secured_output($file, $content);
+ $f->($file);
+ }, sub {
+ umask $prev_umask;
+ unlink $file;
+ });
+}
+
+sub chown_ {
+ my ($b_recursive, $name, $group, @files) = @_;
+
+ my ($uid, $gid) = (getpwnam($name) || $name, getgrnam($group) || $group);
+
+ require POSIX;
+ my $chown; $chown = sub {
+ foreach (@_) {
+ POSIX::lchown($uid, $gid, $_) or die "chown of file $_ failed: $!\n";
+ ! -l $_ && -d $_ && $b_recursive and &$chown(glob_($_));
+ }
+ };
+ $chown->(@files);
+}
+
+
sub set_permissions {
my ($file, $perms, $o_owner, $o_group) = @_;
# We only need to set the permissions during installation to be able to
- # print test pages. After installation the devfsd daemon does the business
- # automatically.
+ # print test pages. After installation udev does the business automatically.
return 1 unless $::isInstall;
- if ($o_owner && $o_group) {
- run_program::rooted($::prefix, "/bin/chown", "$o_owner.$o_group", $file)
- or die "Could not start chown!";
- } elsif ($o_owner) {
- run_program::rooted($::prefix, "/bin/chown", $o_owner, $file)
- or die "Could not start chown!";
- } elsif ($o_group) {
- run_program::rooted($::prefix, "/bin/chgrp", $o_group, $file)
- or die "Could not start chgrp!";
+ if ($o_owner || $o_group) {
+ $o_owner ||= (lstat($file))[4];
+ $o_group ||= (lstat($file))[5];
+ chown_(0, $o_owner, $o_group, $file);
}
- run_program::rooted($::prefix, "/bin/chmod", $perms, $file)
- or die "Could not start chmod!";
+ chmod(oct($perms), $file) or die "chmod of file $file failed: $!\n";
+}
+
+sub is_running {
+ my ($name, $o_user) = @_;
+ my $user = $o_user || $ENV{USER};
+ foreach (`ps -o '%P %p %c' -u $user`) {
+ my ($ppid, $pid, $n) = /^\s*(\d+)\s+(\d+)\s+(.*)/;
+ return $pid if $ppid != 1 && $pid != $$ && $n eq $name;
+ }
+}
+
+=back
+
+=head2 Release files
+
+=over
+
+=item parse_release_file($prefix, $f, $part)
+
+Parses the $f release file in $prefix from the $part device.
+
+Returns a hash containing C<release>, C<version>, C<release_file>, C<part> & C<arch> fields.
+
+=cut
+
+sub parse_release_file {
+ my ($prefix, $f, $part) = @_;
+ chomp(my $s = cat_("$prefix$f"));
+ my $version = $s =~ s/\s+release\s+(\S+)// && $1;
+ my $arch = $s =~ s/\s+for\s+(\S+)// && $1;
+ log::l("find_root_parts found $part->{device}: $s for $arch" . ($f !~ m!/etc/! ? " in special release file $f" : ''));
+ { release => $s, version => $version,
+ release_file => $f, part => $part, 'arch' => $arch };
+}
+
+=item release_file($o_dir)
+
+Returns the release file name.
+
+=cut
+
+sub release_file {
+ my ($o_dir) = @_;
+ my @names = ('mageia-release', 'mandriva-release', 'mandrakelinux-release', 'mandrake-release', 'conectiva-release', 'release', 'redhat-release', 'fedora-release', 'SuSE-release');
+ find { -r "$o_dir$_" } (
+ (map { "/root/drakx/$_.upgrading" } @names),
+ (map { "/etc/$_" } @names),
+ );
+}
+
+=item mageia_release_info()
+
+Parses C</etc/product.id> and returns a hash.
+
+=cut
+
+sub mageia_release_info() {
+ parse_LDAP_namespace_structure(cat_('/etc/product.id'));
}
-sub mandrake_release() {
- chomp_(cat_("/etc/mandrake-release"))
+sub parse_LDAP_namespace_structure {
+ my ($s) = @_;
+ my %h = map { if_(/(.*?)=(.*)/, $1 => $2) } split(',', $s);
+ \%h;
}
+=item mageia_release($o_dir)
+
+returns the content of Mageia release file from given directory (optional).
+
+=cut
+
+sub mageia_release {
+ my ($o_dir) = @_;
+ my $f = release_file($o_dir);
+ $f && chomp_(cat_("$o_dir$f"));
+}
+
+=back
+
+=head2 Misc
+
+=over
+
+
+=item get_parent_uid()
+
+Returns UID of the parent process.
+
+=cut
+
+sub get_parent_uid() {
+ cat_('/proc/' . getppid() . '/status') =~ /Uid:\s*(\d+)/ ? $1 : undef;
+}
+
+=item require_root_capability()
+
+Ensure we are running as root.
+
+=cut
+
sub require_root_capability() {
- return unless $>; # we're already root
- if (check_for_xserver()) {
- if (fuzzy_pidofs(qr/\bkwin\b/) > 0) {
- exec("kdesu", "-c", "$0 @ARGV") or die N("kdesu missing");
- }
- }
- exec { 'consolehelper' } $0, @ARGV or die N("consolehelper missing");
+ return if $::testing || !$>; # we're already root
- # still not root ?
- die "you must be root to run this program" if $>;
+ die "you must be root to run this program";
}
+=item check_for_xserver()
+
+Test if we have access to X11.
+This eg enables interactive to use the proper backend (either text mode or
+GUI)
+
+=cut
+
sub check_for_xserver() {
if (!defined $::xtest) {
- $::xtest = $ENV{DISPLAY} && system('/usr/X11R6/bin/xtest') == 0;
+ $::xtest = 0;
+ eval {
+ require Gtk3;
+ Gtk3->import;
+ $::xtest = Gtk3::init_check();
+ } if $ENV{DISPLAY};
}
return $::xtest;
}
+=item unpack_with_refs($format, $s)
+
+special unpack:
+
+=over 4
+
+=item * returning an array refs for each element like C<s10>
+
+=item * handling things like C<s10*> at the end of the format
+
+=back
+
+=cut
+
+sub unpack_with_refs {
+ my ($format, $s) = @_;
+ my $initial_format = $format;
+ my @r;
+ while ($format =~ s/\s*(\w(\d*))(\*?)\s*//) {
+ my ($sub_format, $nb, $many) = ($1, $2, $3);
+ $many && $format and internal_error("bad * in the middle of format in $initial_format");
+
+ my $done = $many && !length($s);
+ while (!$done) {
+ my @l = unpack("$sub_format a*", $s);
+ $s = pop @l;
+ push @r, $nb ? \@l : @l;
+ $done = !$many || !length($s);
+ }
+ }
+ @r;
+}
+
+=item md5file(@files)
+
+Returns the MD5 signatures of @files in list context or signature of the first one in scalar context.
+
+=cut
+
+#- used in userdrake and mdkonline
+sub md5file {
+ require Digest::MD5;
+ my @md5 = map {
+ my $sum;
+ if (open(my $FILE, $_)) {
+ binmode($FILE);
+ $sum = Digest::MD5->new->addfile($FILE)->hexdigest;
+ close($FILE);
+ }
+ $sum;
+ } @_;
+ return wantarray() ? @md5 : $md5[0];
+}
+
+sub load_modules_from_base {
+ my ($base) = @_;
+ $base =~ s|::|/|g;
+ my $base_file = $base . ".pm";
+ require $base_file;
+ my ($inc_path) = substr($INC{$base_file}, 0, -length($base_file));
+ my @files = map { substr($_, length($inc_path)) } glob_($inc_path . $base . '/*.pm');
+ require $_ foreach @files;
+ #- return the matching modules list
+ map { local $_ = $_; s|/|::|g; s|\.pm$||g; $_ } @files;
+}
+
+sub get_alternatives {
+ my ($name) = @_;
+
+ my $dir = $::prefix . '/var/lib/rpm/alternatives';
+ my ($state, $main_link, @l) = chomp_(cat_("$dir/$name")) or return;
+ my @slaves;
+ while (@l && $l[0] ne '') {
+ my ($name, $link) = splice(@l, 0, 2);
+ push @slaves, { name => $name, link => $link };
+ }
+ shift @l; #- empty line
+ my @alternatives;
+ while (@l && $l[0] ne '') {
+ my ($file, $weight, @slave_files) = splice(@l, 0, 2 + @slaves);
+
+ push @alternatives, { file => $file, weight => $weight, slave_files => \@slave_files };
+ }
+ { name => $name, link => $main_link, state => $state, slaves => \@slaves, alternatives => \@alternatives };
+}
+
+sub symlinkf_update_alternatives {
+ my ($name, $wanted_file) = @_;
+ run_program::rooted($::prefix, 'update-alternatives', '--set', $name, $wanted_file);
+}
+
+sub update_gnomekderc_no_create {
+ my ($file, $category, %subst_) = @_;
+ if (-e $file) {
+ update_gnomekderc($file, $category, %subst_);
+ }
+}
+
+sub get_libdir() {
+ arch() =~ /x86_64/ ? "lib64" : "lib";
+}
+
+=item is_uefi()
+
+Checks if we are on an uefi system
+
+=cut
+
+sub is_uefi() { -e "/sys/firmware/efi" }
+
+=item kernel_uefi_type()
+
+Returns the short name of the UEFI machine type supported by the kernel stub loader
+
+=cut
+
+sub kernel_uefi_type() {
+ my $arch = arch();
+ if ($arch eq 'aarch64') {
+ return 'aa64';
+ }
+ $arch =~ /i.86/ ? 'ia32' : 'x64';
+}
+
+=item uefi_type()
+
+Returns the UEFI machine type short name
+
+=cut
+
+sub uefi_type() {
+ if (arch() eq 'aarch64') {
+ return 'aa64';
+ }
+ if (-e '/sys/firmware/efi/fw_platform_size') {
+ cat_('/sys/firmware/efi/fw_platform_size') =~ /32/ ? 'ia32' : 'x64';
+ } else {
+ 'none';
+ }
+}
+
+=item mount_efivars()
+
+Ensures the efivarfs pseudo-filesystem is mounted in the default location
+and returns the mount point and whether it was already mounted.
+
+=cut
+
+sub mount_efivars {
+ my $mount_point = "$::prefix/sys/firmware/efi/efivars";
+ my $already_mounted = cat_("$::prefix/proc/mounts") =~ /\s$mount_point\s/;
+ run_program::run('mount', '-t', 'efivarfs', 'none', $mount_point) if !$already_mounted;
+ ($mount_point, $already_mounted);
+}
+
+=item cmp_kernel_versions($va, $vb)
+
+Compare two kernel versions
+
+=cut
+
+sub cmp_kernel_versions {
+ my ($va, $vb) = @_;
+ my $rel_a = $va =~ s/-(.*)$// && $1;
+ my $rel_b = $vb =~ s/-(.*)$// && $1;
+ ($va, $vb) = map { [ split /[.-]/ ] } $va, $vb;
+ my $r = 0;
+ mapn_ {
+ $r ||= $_[0] <=> $_[1];
+ } $va, $vb;
+ $r || $rel_a <=> $rel_b || $rel_a cmp $rel_b;
+}
+
+=back
+
+=cut
1;
diff --git a/perl-install/cpufreq.pm b/perl-install/cpufreq.pm
new file mode 100644
index 000000000..bbcf56700
--- /dev/null
+++ b/perl-install/cpufreq.pm
@@ -0,0 +1,170 @@
+package cpufreq;
+
+use common;
+use detect_devices;
+
+my %vendor_ids = (
+ GenuineIntel => "Intel",
+ AuthenticAMD => "AMD",
+ CyrixInstead => "Cyrix",
+ "Geode by NSC" => "NSC",
+ TransmetaCPU => "Transmeta",
+ GenuineTMx86 => "Transmeta",
+ CentaurHauls => "Centaur",
+);
+
+sub get_vendor {
+ my ($cpu) = @_;
+ $vendor_ids{$cpu->{vendor_id}};
+}
+
+sub has_flag {
+ my ($cpu, $flag) = @_;
+ $cpu->{flags} =~ /\b$flag\b/;
+}
+
+my @cpus;
+sub get_cpus() {
+ @cpus ? @cpus : @cpus = detect_devices::getCPUs();
+}
+
+my @pci;
+sub pci_probe() {
+ @pci ? @pci : @pci = detect_devices::pci_probe();
+}
+
+sub find_pci_device {
+ my (@devices) = @_;
+ any { my $dev = $_; any { $_->{vendor} == $dev->[0] && $_->{id} == $dev->[1] } pci_probe() } @devices;
+}
+
+sub probe_acpi_cpufreq() {
+ any {
+ get_vendor($_) eq "Intel" &&
+ $_->{'cpu family'} == 6 &&
+ (
+ has_flag($_, 'est') ||
+ $_->{model} == 11
+ );
+ } get_cpus();
+}
+
+# see cpuid.c (from cpuid package) for a list of family/models
+sub probe_centrino() {
+ any {
+ get_vendor($_) eq "Intel" &&
+ has_flag($_, 'est') && (
+ ($_->{'cpu family'} == 6 && $_->{model} == 9 && $_->{stepping} == 5 &&
+ $_->{'model name'} =~ /^Intel\(R\) Pentium\(R\) M processor ( 900|1[0-7]00)MHz$/) ||
+ ($_->{'cpu family'} == 6 && $_->{model} == 13 && member($_->{stepping}, 1, 2, 6)) ||
+ ($_->{'cpu family'} == 15 && $_->{model} == 3 && $_->{stepping} == 4) ||
+ ($_->{'cpu family'} == 15 && $_->{model} == 4 && $_->{stepping} == 1)
+ );
+ } get_cpus();
+}
+
+sub probe_ich() { find_pci_device([ 0x8086, 0x244c ], [ 0x8086, 0x24cc ], [ 0x8086, 0x248c ]) }
+
+sub probe_smi() { find_pci_device([ 0x8086, 0x7190 ]) }
+
+sub probe_nforce2() { find_pci_device([ 0x10de, 0x01e0 ]) }
+
+sub probe_gsx() {
+ (any { member(get_vendor($_), "Cyrix", "NSC") } get_cpus()) &&
+ find_pci_device([ 0x1078, 0x0100 ], [ 0x1078, 0x0002 ], [ 0x1078, 0x0000 ]);
+}
+
+sub probe_p4() {
+ any {
+ get_vendor($_) eq "Intel" && (
+ $_->{'cpu family'} == 15 ||
+ ($_->{'cpu family'} == 6 && !has_flag($_, 'est') && member($_->{model}, 9, 13, 14, 15))
+ );
+ } get_cpus();
+}
+
+sub probe_powernow_k6() {
+ any {
+ get_vendor($_) eq "AMD" &&
+ $_->{'cpu family'} == 5 &&
+ member($_->{model}, 12, 13);
+ } get_cpus();
+}
+
+sub probe_powernow_k7() {
+ any {
+ get_vendor($_) eq "AMD" &&
+ $_->{'cpu family'} == 6;
+ } get_cpus();
+}
+
+sub probe_powernow_k8() {
+ any {
+ get_vendor($_) eq "AMD" && (
+ ($_->{'cpu family'} == 15 && ($_->{'power management'} =~ /\bfid\b/ || has_flag($_, 'fid'))) # frequency ID control)
+ ||
+ $_->{'cpu family'} == 16 && ($_->{'power management'} =~ /\bhwpstate\b/) # support for Athlon/Phenom II processors (#58477))
+ );
+ } get_cpus();
+}
+
+sub probe_longhaul() {
+ any {
+ get_vendor($_) eq "Centaur" &&
+ $_->{'cpu family'} == 6 &&
+ member($_->{model}, 6, 7, 8, 9);
+ } get_cpus();
+}
+
+sub probe_e_powersaver() {
+ any {
+ get_vendor($_) eq "Centaur" &&
+ has_flag($_, 'est') &&
+ $_->{'cpu family'} == 6 &&
+ member($_->{model}, 10, 13);
+ } get_cpus();
+}
+
+sub probe_longrun() {
+ any {
+ get_vendor($_) eq "Transmeta" &&
+ has_flag($_, 'longrun');
+ } get_cpus();
+}
+
+my @modules = (
+ # probe centrino first, it will get detected on ICH chipset and
+ # speedstep-ich doesn't work with it
+ [ "speedstep-centrino", \&probe_centrino ],
+ [ "acpi-cpufreq", \&probe_acpi_cpufreq ],
+ # try to find cpufreq compliant northbridge
+ [ "speedstep-ich", \&probe_ich ],
+ [ "speedstep-smi", \&probe_smi ],
+ [ "cpufreq-nforce2", \&probe_nforce2 ],
+ [ "gsx-suspmod", \&probe_gsx ],
+ # try to find a cpufreq compliant processor
+ [ "p4-clockmod", \&probe_p4 ],
+ [ "powernow-k6", \&probe_powernow_k6 ],
+ [ "powernow-k7", \&probe_powernow_k7 ],
+ [ "powernow-k8", \&probe_powernow_k8 ],
+ [ "longhaul", \&probe_longhaul ],
+ [ "e_powersaver", \&probe_e_powersaver ],
+ [ "longrun", \&probe_longrun ],
+);
+
+sub find_driver() {
+ my $m = find { $_->[1]->() } @modules;
+ $m && $m->[0];
+}
+
+my @governor_modules = map { "cpufreq_$_" } qw(powersave conservative ondemand);
+
+sub get_modules() {
+ my $module;
+ if ($module = find_driver()) {
+ return if_($module, $module), @governor_modules;
+ }
+ ();
+}
+
+1;
diff --git a/perl-install/crypto.pm b/perl-install/crypto.pm
deleted file mode 100644
index 8fa979678..000000000
--- a/perl-install/crypto.pm
+++ /dev/null
@@ -1,165 +0,0 @@
-package crypto; # $Id$
-
-use diagnostics;
-use strict;
-
-use vars qw(%url2land %land2tzs %static_mirrors %mirrors);
-
-use MDK::Common::System;
-use common;
-use log;
-use ftp;
-
-%url2land = (
- fr => N("France"),
- cr => N("Costa Rica"),
- be => N("Belgium"),
- cz => N("Czech Republic"),
- de => N("Germany"),
- gr => N("Greece"),
- no => N("Norway"),
- se => N("Sweden"),
- nl => N("Netherlands"),
- it => N("Italy"),
- at => N("Austria"),
- );
-
-%land2tzs = (
- N("France") => [ 'Europe/Paris', 'Europe/Brussels', 'Europe/Berlin' ],
- N("Belgium") => [ 'Europe/Brussels', 'Europe/Paris', 'Europe/Berlin' ],
- N("Czech Republic") => [ 'Europe/Prague', 'Europe/Berlin' ],
- N("Germany") => [ 'Europe/Berlin', 'Europe/Prague' ],
- N("Greece") => [ 'Europe/Athens', 'Europe/Prague' ],
- N("Norway") => [ 'Europe/Oslo', 'Europe/Stockholm' ],
- N("Sweden") => [ 'Europe/Stockholm', 'Europe/Oslo' ],
- N("United States") => [ 'America/New_York', 'Canada/Atlantic', 'Asia/Tokyo', 'Australia/Sydney', 'Europe/Paris' ],
- N("Netherlands") => [ 'Europe/Amsterdam', 'Europe/Brussels', 'Europe/Berlin' ],
- N("Italy") => [ 'Europe/Rome', 'Europe/Brussels', 'Europe/Paris' ],
- N("Austria") => [ 'Europe/Vienna', 'Europe/Brussels', 'Europe/Berlin' ],
- );
-
-%static_mirrors = (
-# "ackbar" => [ "Ackbar", "/updates", "a", "a" ],
- );
-
-%mirrors = ();
-
-sub mirror2text { $mirrors{$_[0]} && $mirrors{$_[0]}[0] . '|' . $_[0] }
-sub mirrors() {
- unless (keys %mirrors) {
- #- contact the following URL to retrieve list of mirror.
- #- http://www.linux-mandrake.com/mirrorsfull.list
- require http;
- my $f = http::getFile("http://www.linux-mandrake.com/mirrorsfull.list");
-
- local $SIG{ALRM} = sub { die "timeout" };
- alarm 60;
- foreach (<$f>) {
- my ($arch, $url, $dir) = m|updates([^:]*):ftp://([^/]*)(/\S*)| or next;
- MDK::Common::System::compat_arch($arch) or
- log::l("ignoring updates from $url because of incompatible arch: $arch"), next;
- my $land = N("United States");
- foreach (keys %url2land) {
- my $qu = quotemeta $_;
- $url =~ /\.$qu(?:\..*)?$/ and $land = $url2land{$_};
- }
- $mirrors{$url} = [ $land, $dir ];
- }
- http::getFile('/XXX'); #- close connection.
- alarm 0;
-
- #- now add static mirror (in case of something wrong happened above).
- add2hash(\%mirrors, \%static_mirrors);
- }
- keys %mirrors;
-}
-
-sub bestMirror {
- my ($string) = @_;
- my %mirror2value;
-
- foreach my $url (mirrors()) {
- my $value = 0;
- my $cvalue = mirrors();
-
- $mirror2value{$url} ||= 1 + $cvalue;
- foreach (@{$land2tzs{$mirrors{$url}[0]} || []}) {
- $_ eq $string and $mirror2value{$url} > $value and $mirror2value{$url} = $value;
- (split '/')[0] eq (split '/', $string)[0] and $mirror2value{$url} > $cvalue and $mirror2value{$url} = $cvalue;
- ++$value;
- }
- }
- my $min_value = min(values %mirror2value);
-
- my @possible = (grep { $mirror2value{$_} == $min_value } keys %mirror2value) x 2; #- increase probability
- push @possible, grep { $mirror2value{$_} == 1 + $min_value } keys %mirror2value;
-
- $possible[rand @possible];
-}
-
-#- hack to retrieve Mandrake Linux version...
-sub version() {
- require pkgs;
- my $pkg = pkgs::packageByName($::o->{packages}, 'mandrake-release');
- $pkg && $pkg->version || '9.1'; #- safe but dangerous ;-)
-}
-
-sub dir { $mirrors{$_[0]}[1] . ($::corporate && '/corporate' || '') . '/' . version() }
-sub ftp($) { ftp::new($_[0], dir($_[0])) }
-
-sub getFile {
- my ($file, $o_host) = @_;
- my $host = $o_host || $crypto::host;
- my $dir = dir($host) . ($file =~ /\.rpm$/ && "/RPMS");
- log::l("getting crypto file $file on directory $dir with login $mirrors{$host}[2]");
- my ($ftp, $retr) = ftp::new($host, $dir,
- if_($mirrors{$host}[2], $mirrors{$host}[2]),
- if_($mirrors{$host}[3], $mirrors{$host}[3])
- );
- $$retr->close if $$retr;
- $$retr = $ftp->retr($file) or ftp::rewindGetFile();
- $$retr ||= $ftp->retr($file);
-}
-
-sub getPackages {
- my ($prefix, $packages, $mirror) = @_;
-
- $crypto::host = $mirror;
-
- #- check first if there is something to get...
- my $fhdlist = getFile("base/hdlist.cz", $mirror);
- unless ($fhdlist) {
- log::l("no updates available, bailing out");
- return;
- }
-
- #- extract hdlist of crypto, then depslist.
- require pkgs;
- my $update_medium = pkgs::psUsingHdlist($prefix, 'ftp', $packages, "hdlist-updates.cz", "1u", "RPMS",
- "Updates for Mandrake Linux " . version(), 1, $fhdlist);
- if ($update_medium) {
- log::l("read updates hdlist");
- #- keep in mind where is the URL prefix used according to mirror (for install_any::install_urpmi).
- $update_medium->{prefix} = "ftp://$mirror" . dir($mirror);
- #- (re-)enable the medium to allow install of package,
- #- make it an update medium (for install_any::install_urpmi).
- $update_medium->{selected} = 1;
- $update_medium->{update} = 1;
-
- #- search for packages to update.
- $packages->{rpmdb} ||= pkgs::rpmDbOpen($prefix);
- pkgs::selectPackagesToUpgrade($packages, $prefix, $update_medium);
- }
- return $update_medium;
-}
-
-sub get {
- my ($mirror, $dir, @files) = @_;
- foreach (@files) {
- log::l("crypto: downloading $_");
- ftp($mirror)->get($_, "$dir/$_")
- }
- int @files;
-}
-
-1;
diff --git a/perl-install/dbus_object.pm b/perl-install/dbus_object.pm
new file mode 100644
index 000000000..5c59de7e0
--- /dev/null
+++ b/perl-install/dbus_object.pm
@@ -0,0 +1,72 @@
+package dbus_object;
+
+sub system_bus {
+ my %params = @_;
+ #- use nomainloop => 1 to disable Net::DBus::Reactor main loop
+ require Net::DBus;
+ Net::DBus->system(%params);
+}
+
+sub new {
+ my ($type, $bus, $service, $path, $interface) = @_;
+ my $o = {
+ bus => $bus,
+ service => $service,
+ path => $path,
+ interface => $interface,
+ };
+ attach_object($o);
+ bless $o, $type;
+}
+
+sub attach_object {
+ my ($o) = @_;
+ my $service = $o->{bus}->get_service($o->{service});
+ $o->{object} = $service->get_object($o->{path}, $o->{interface});
+}
+
+sub call_method {
+ my ($o, $method, @args) = @_;
+ $o->{object}->$method(@args);
+}
+
+sub safe_call_method {
+ my ($o, $method, @args) = @_;
+ my @ret;
+ eval {
+ @ret = $o->call_method($method, @args);
+ };
+ if ($@) {
+ print STDERR "($method) exception: $@\n";
+ $o->{bus}{connection}->dispatch;
+ return;
+ }
+ @ret;
+}
+
+sub set_gtk3_watch {
+ my ($o) = @_;
+ set_gtk3_watch_helper($o->{bus});
+}
+
+sub set_gtk3_watch_helper {
+ my ($bus) = @_;
+ $bus->{connection}->set_watch_callbacks(sub {
+ my ($con, $watch) = @_;
+ my $flags = $watch->get_flags;
+ require Net::DBus::Binding::Watch;
+ require Gtk3::Helper;
+ if ($flags & &Net::DBus::Binding::Watch::READABLE) {
+ Gtk3::Helper->add_watch($watch->get_fileno, 'in', sub {
+ $watch->handle(&Net::DBus::Binding::Watch::READABLE);
+ $con->dispatch;
+ 1;
+ });
+ }
+ #- do nothing for WRITABLE watch, we dispatch when needed
+ }, undef, undef); #- do nothing when watch is disabled or toggled yet
+
+ $bus->{connection}->dispatch;
+}
+
+1;
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm
index d718c0071..48dadadbb 100644
--- a/perl-install/detect_devices.pm
+++ b/perl-install/detect_devices.pm
@@ -1,4 +1,4 @@
-package detect_devices; # $Id$
+package detect_devices;
use diagnostics;
use strict;
@@ -8,22 +8,63 @@ use vars qw($pcitable_addons $usbtable_addons);
#- misc imports
#-######################################################################################
use log;
+use MDK::Common; # help perl_checker
use common;
use devices;
use run_program;
+use modules;
use c;
+use feature 'state';
+
+
+=head1 SYNOPSYS
+
+The B<detect_devices> modules offers a high level API for detecting devices.*
+It mostly relies on the L<c> modules for gluing libldetect back into the Perl world, and thus
+being able to enumerate DMI/HID/PCI/USB devices.
+
+Other devices are mostly detected through C</proc> & C</sys>.
+
+Then the L<list_modules> enables to map modules into categories such as:
+
+=over 4
+
+=item * C<network/ethernet,>
+
+=item * C<network/wireless,>
+
+=item * C<network/wifi,>
+
+=item * C<disk/sata,>
+
+=item * C<disk/scsi,>
+
+=item * ...
+
+=back
+
+This enables to detect a category by mapping drivers to categories.
+
+=head1 Listing block devices
+
+=cut
#-#####################################################################################
#- Globals
#-#####################################################################################
-my @netdevices = map { my $l = $_; map { "$l$_" } (0..3) } qw(eth tr fddi plip);
my %serialprobe;
#-######################################################################################
#- Functions
#-######################################################################################
-sub dev_is_devfs() { -e "/dev/.devfsd" } #- no $::prefix, returns false during install and that's nice :)
+=over
+
+=item get()
+
+Returns a list of all block devices (IDE, SCSI, SATA, virtual, RAID, ...)
+
+=cut
sub get() {
#- Detect the default BIOS boot harddrive is kind of tricky. We may have IDE,
@@ -33,70 +74,51 @@ sub get() {
#- 2. The first SCSI device if SCSI exists. Or
#- 3. The first RAID device if RAID exists.
- getIDE(), getSCSI(), getDAC960(), getCompaqSmartArray(), getATARAID();
+ getIDE(), getSCSI(), getMmcBlk(), getNVMe(), getXenBlk(), getVirtIO(), getDAC960(), getCompaqSmartArray();
}
-sub hds() { grep { $_->{media_type} eq 'hd' && !isRemovableDrive($_) } get() }
+sub hds() { grep { may_be_a_hd($_) } get() }
sub tapes() { grep { $_->{media_type} eq 'tape' } get() }
sub cdroms() { grep { $_->{media_type} eq 'cdrom' } get() }
sub burners() { grep { isBurner($_) } cdroms() }
sub dvdroms() { grep { isDvdDrive($_) } cdroms() }
sub raw_zips() { grep { member($_->{media_type}, 'fd', 'hd') && isZipDrive($_) } get() }
-#-sub jazzs { grep { member($_->{media_type}, 'fd', 'hd') && isJazzDrive($_) } get() }
sub ls120s() { grep { member($_->{media_type}, 'fd', 'hd') && isLS120Drive($_) } get() }
sub zips() {
map {
$_->{device} .= 4;
- $_->{devfs_device} = $_->{devfs_prefix} . '/part4';
$_;
} raw_zips();
}
-sub cdroms__faking_ide_scsi() { grep { $_->{media_type} eq 'cdrom' } cdroms_and_zips__faking_ide_scsi() }
-sub cdroms_and_zips__faking_ide_scsi() {
- my @l = grep { $_->{media_type} eq 'cdrom' || member($_->{media_type}, 'fd', 'hd') && isZipDrive($_) } get();
-
- if (my @l_need_fake = grep { !$::isStandalone && $_->{bus} eq 'ide' && !($_->{media_type} eq 'cdrom' && !isBurner($_)) } @l) {
- require modules;
- modules::add_probeall('scsi_hostadapter', 'ide-scsi');
-
- my $nb_cdrom = 1 + max(-1, map { $_->{device} =~ /scd(\d+)/ } @l);
- my $nb_zip = 1 + max(-1, map { if_($_->{device} =~ /sd(\w+)/, ord($1) - ord('a')) } getSCSI());
- my $scsi_hostadapters = modules::get_probeall('scsi_hostadapter');
- my $devfs_host = find_index { $_ eq 'ide-scsi' } @$scsi_hostadapters;
- my $devfs_id = 0;
-
- foreach my $e (@l_need_fake) {
- $e->{devfs_prefix} = sprintf('scsi/host%d/bus0/target%d/lun0', $devfs_host, $devfs_id++);
- my $faked;
- if ($e->{media_type} eq 'cdrom') {
- $faked = "scd" . $nb_cdrom++;
- log::l("IDEBurner: $e->{device} => $faked and $e->{devfs_prefix}");
- } else {
- $faked = "sd" . chr(ord('a') + $nb_zip++);
- log::l("IDE Zip: $e->{device} => $faked and $e->{devfs_prefix}");
- }
- $e->{device} = $faked;
- }
- get_devfs_devices(@l_need_fake);
- }
- foreach (@l) {
- $_->{device} .= 4 if $_->{media_type} ne 'cdrom';
- $_->{devfs_device} = $_->{devfs_prefix} . '/' . ($_->{media_type} eq 'cdrom' ? 'cd' : 'part4');
- }
- @l;
-}
-
-sub floppies() {
+sub floppies {
+ my ($o_not_detect_legacy_floppies) = @_;
require modules;
- eval { modules::load("floppy") };
- my @fds = $@ ? () : map {
- my $info = (!dev_is_devfs() || -e "/dev/fd$_") && c::floppy_info(devices::make("fd$_"));
- if_($info && $info ne '(null)', { device => "fd$_", devfs_device => "floppy/$_", media_type => 'fd', info => $info })
- } qw(0 1);
-
- my @ide = ls120s() and eval { modules::load("ide-floppy") };
+ state @fds;
+ state $legacy_already_detected;
+
+ $o_not_detect_legacy_floppies = 1 if arch() =~ /arm/;
+
+ if (!$o_not_detect_legacy_floppies && !$legacy_already_detected) {
+ $legacy_already_detected = 1;
+ if ($::isInstall) {
+ eval { modules::load("floppy") };
+ system(qw(udevadm settle)) if !$@;
+ }
+ #- do not bother probing /dev/fd0 and loading floppy device uselessly,
+ #- it takes time and it is already done by boot process (if not in install):
+ #- /dev/fd0 is created by start_udev (/etc/udev/devices.d/default.nodes)
+ #- then hal probes /dev/fd0 and triggers floppy module loading through kernel's kmod
+ if (any { (split)[1] eq 'fd' } cat_("/proc/devices")) {
+ @fds = map {
+ my $info = c::floppy_info("/dev/fd$_");
+ if_($info && $info ne '(null)', { device => "fd$_", media_type => 'fd', info => $info });
+ } qw(0 1);
+ }
+ }
+
+ my @ide = ls120s() and eval { modules::load("ide_floppy") };
- eval { modules::load("usb-storage") } if usbStorage();
+ eval { modules::load("usb_storage") } if $::isInstall && usbStorage();
my @scsi = grep { $_->{media_type} eq 'fd' } getSCSI();
@ide, @scsi, @fds;
}
@@ -105,7 +127,7 @@ sub floppy() { first(floppies_dev()) }
#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
sub removables() {
- floppies(), cdroms_and_zips__faking_ide_scsi();
+ floppies(), cdroms(), zips();
}
sub get_sys_cdrom_info {
@@ -118,7 +140,6 @@ sub get_sys_cdrom_info {
@l = split(' ', $l) if $l;
if ($t eq 'drive name') {
@drives_order = map {
- s/^sr/scd/;
my $dev = $_;
find { $_->{device} eq $dev } @drives;
} @l;
@@ -138,52 +159,27 @@ sub get_sys_cdrom_info {
}
}
-sub get_usb_storage_info {
+sub complete_usb_storage_info {
my (@l) = @_;
- my %usbs = map {
- my $s = cat_(glob_("$_/*"));
- my ($host) = $s =~ /^\s*Host scsi(\d+):/m; #-#
- my ($vendor_name) = $s =~ /^\s*Vendor: (.*)/m;
- my ($vendor, $id) = $s =~ /^\s*GUID: (....)(....)/m;
- if_(defined $host, $host => { vendor_name => $vendor_name, usb_vendor => hex $vendor, usb_id => hex $id });
- } glob_('/proc/scsi/usb-storage-*') or return;
-
- #- only the entries matching the following conditions can be usb-storage devices
- @l = grep { $_->{channel} == 0 && $_->{id} == 0 && $_->{lun} == 0 } @l;
- my %l; push @{$l{$_->{host}}}, $_ foreach @l;
-
- my @informed;
- foreach my $host (keys %usbs) {
- my @choices = @{$l{$host} || []} or log::l("weird, host$host from /proc/scsi/usb-storage-*/* is not in /proc/scsi/scsi"), next;
- if (@choices > 1) {
- @choices = grep { $_->{info} =~ /^\Q$usbs{$host}{vendor_name}/ } @choices;
- @choices or log::l("weird, can't find the good entry host$host from /proc/scsi/usb-storage-*/* in /proc/scsi/scsi"), next;
- @choices == 1 or log::l("argh, can't determine the good entry host$host from /proc/scsi/usb-storage-*/* in /proc/scsi/scsi"), next
- }
- add2hash($choices[0], $usbs{$host});
- push @informed, $choices[0];
- }
- @informed or return;
+ my @usb = grep { exists $_->{usb_vendor} } @l;
foreach my $usb (usb_probe()) {
- if (my $e = find { $_->{usb_vendor} == $usb->{vendor} && $_->{usb_id} == $usb->{id} } @informed) {
- $e->{"usb_$_"} = $usb->{$_} foreach keys %$usb;
+ if (my $e = find { !$_->{found} && $_->{usb_vendor} == $usb->{vendor} && $_->{usb_id} == $usb->{id} } @usb) {
+ my $host = get_sysfs_usbpath_for_block($e->{device});
+ if ($host) {
+ my $file = "/sys/block/$host/../serial";
+ $e->{info} = chomp_(cat_($file)) if -e $file;
+ $e->{usb_description} = join('|',
+ chomp_(cat_("/sys/block/$host/../manufacturer")),
+ chomp_(cat_("/sys/block/$host/../product")));
+ }
+ local $e->{found} = 1;
+ $e->{"usb_$_"} ||= $usb->{$_} foreach keys %$usb;
}
}
}
-sub get_devfs_devices {
- my (@l) = @_;
-
- my %h = (cdrom => 'cd', hd => 'disc');
-
- foreach (@l) {
- my $t = $h{$_->{media_type}} or next;
- $_->{devfs_device} = $_->{devfs_prefix} . '/' . $t;
- }
-}
-
sub isBurner {
my ($e) = @_;
$e->{capacity} =~ /burner/ and return 1;
@@ -201,66 +197,137 @@ sub isDvdDrive {
$f && c::isDvdDrive(fileno($f));
}
sub isZipDrive { $_[0]{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
-sub isJazzDrive { $_[0]{info} =~ /\bJAZZ?\b/i } #- accept "iomega jaz 1GB"
sub isLS120Drive { $_[0]{info} =~ /LS-?120|144MB/ }
-sub isRemovableUsb { $_[0]{usb_media_type} && index($_[0]{usb_media_type}, 'Mass Storage|') == 0 && usb2removable($_[0]) }
+sub isKeyUsb { begins_with($_[0]{usb_media_type} || '', 'Mass Storage') && $_[0]{media_type} eq 'hd' }
sub isFloppyUsb { $_[0]{usb_driver} && $_[0]{usb_driver} eq 'Removable:floppy' }
-sub isRemovableDrive {
+sub may_be_a_hd {
my ($e) = @_;
- isZipDrive($e) || isLS120Drive($e) || $e->{media_type} && $e->{media_type} eq 'fd' || isRemovableUsb($e) || $e->{usb_media_type} && index($e->{usb_media_type}, 'Mass Storage|Floppy (UFI)') == 0;
+ $e->{media_type} eq 'hd' && !(
+ isZipDrive($e)
+ || isLS120Drive($e)
+ || begins_with($e->{usb_media_type} || '', 'Mass Storage|Floppy (UFI)')
+ );
+}
+
+sub get_sysfs_field_from_link {
+ my ($device, $field) = @_;
+ my $l = readlink("$device/$field");
+ $l =~ s!.*/!!;
+ $l;
+}
+
+sub get_sysfs_usbpath_for_block {
+ my ($device) = @_;
+ my $host = readlink("/sys/block/$device");
+ $host =~ s!/host.*!!;
+ $host;
+}
+
+sub get_scsi_driver {
+ my (@l) = @_;
+ # find driver of host controller from sysfs:
+ foreach (@l) {
+ next if $_->{driver};
+ my $host = get_sysfs_usbpath_for_block($_->{device});
+ require list_modules;
+ $_->{driver} = list_modules::filename2modname(get_sysfs_field_from_link("/sys/block/$host", 'driver'));
+ }
}
+=item getSCSI()
+
+Returns a list of all SCSI device.
+
+=cut
+
sub getSCSI() {
- my $err = sub { log::l("ERROR: unexpected line in /proc/scsi/scsi: $_[0]") };
-
- my ($first, @l) = common::join_lines(cat_("/proc/scsi/scsi")) or return;
- $first =~ /^Attached devices:/ or $err->($first);
-
- @l = map_index {
- my ($host, $channel, $id, $lun) = m/^Host: scsi(\d+) Channel: (\d+) Id: (\d+) Lun: (\d+)/ or $err->($_);
- my ($vendor, $model) = /^\s*Vendor:\s*(.*?)\s+Model:\s*(.*?)\s+Rev:/m or $err->($_);
- my ($type) = /^\s*Type:\s*(.*)/m or $err->($_);
- { info => "$vendor $model", host => $host, channel => $channel, id => $id, lun => $lun,
- device => "sg$::i", devfs_prefix => sprintf('scsi/host%d/bus%d/target%d/lun%d', $host, $channel, $id, $lun),
- raw_type => $type, bus => 'SCSI' };
- } @l;
-
- get_usb_storage_info(@l);
-
- each_index {
- my $dev = "sd" . chr($::i + ord('a'));
- put_in_hash $_, { device => $dev, media_type => isFloppyUsb($_) ? 'fd' : 'hd' };
- } grep { $_->{raw_type} =~ /Direct-Access|Optical Device/ } @l;
-
- each_index {
- put_in_hash $_, { device => "st$::i", media_type => 'tape' };
- } grep { $_->{raw_type} =~ /Sequential-Access/ } @l;
-
- each_index {
- put_in_hash $_, { device => "scd$::i", media_type => 'cdrom' };
- } grep { $_->{raw_type} =~ /CD-ROM|WORM/ } @l;
-
- # Old hp scanners report themselves as "Processor"s
- # (see linux/include/scsi/scsi.h and sans-find-scanner.1)
- each_index {
- put_in_hash $_, { media_type => 'scanner' };
- } grep { $_->{raw_type} =~ /Scanner/ || $_->{raw_type} =~ /Processor / } @l;
-
- get_devfs_devices(@l);
+ my $dev_dir = '/sys/bus/scsi/devices';
+
+ my @scsi_types = (
+ "Direct-Access",
+ "Sequential-Access",
+ "Printer",
+ "Processor",
+ "WORM",
+ "CD-ROM",
+ "Scanner",
+ "Optical Device",
+ "Medium Changer",
+ "Communications",
+ );
+
+ my @l;
+ foreach (all($dev_dir)) {
+ my ($host, $channel, $id, $lun) = split ':';
+ defined $lun or next;
+
+ my $dir = "$dev_dir/$_";
+
+ # handle both old and new kernels:
+ my $node = find { -e $_ } "$dir/block", top(glob_("$dir/block*")), "$dir/tape", top(glob_("$dir/scsi_generic*"));
+ my ($device) = readlink($node) =~ m!/(?:scsi_(?:generic|tape)|block)/(.*)!;
+ if (!$device) {
+ ($device) = top(glob_("$node/*")) =~ m!/(?:scsi_(?:generic|tape)|block)/(.*)!;
+ }
+ warn("cannot get info for device ($_)"), next if !$device;
+
+ my $usb_dir = readlink($dir) =~ m!/usb! && "$dir/../../../..";
+ my $get_usb = sub { chomp_(cat_("$usb_dir/$_[0]")) };
+
+ my $get = sub {
+ my $s = cat_("$dir/$_[0]");
+ $s =~ s/\s+$//;
+ $s;
+ };
+
+ # Old HP scanners report themselves as "Processor"s
+ # (see linux/include/scsi/scsi.h and sans-find-scanner.1)
+ my $raw_type = $scsi_types[$get->('type')];
+
+ my $media_type = ${{ st => 'tape', sr => 'cdrom', sd => 'hd', sg => 'generic' }}{substr($device, 0, 2)} ||
+ $raw_type =~ /Scanner|Processor/ && 'scanner';
+
+ my ($vendor, $model) = ($get->('vendor'), $get->('model'));
+ my ($v, $m) = _get_hd_vendor($model);
+ if ($v && $m) {
+ ($vendor, $model) = ($v, $m);
+ }
+ push @l, { info => $vendor . ' ' . $model, host => $host, channel => $channel, id => $id, lun => $lun,
+ description => join('|', $vendor, $model),
+ bus => 'SCSI', media_type => $media_type, device => $device,
+ $usb_dir ? (
+ usb_vendor => hex($get_usb->('idVendor')), usb_id => hex($get_usb->('idProduct')),
+ ) : (),
+ };
+ }
+
+ @l = sort { $a->{host} <=> $b->{host} || $a->{channel} <=> $b->{channel} || $a->{id} <=> $b->{id} || $a->{lun} <=> $b->{lun} } @l;
+
+ complete_usb_storage_info(@l);
+
+ foreach (@l) {
+ $_->{media_type} = 'fd' if $_->{media_type} eq 'hd' && isFloppyUsb($_);
+ }
+
get_sys_cdrom_info(@l);
+ get_scsi_driver(@l);
@l;
}
-my %eide_hds = (
+
+my %hd_vendors = (
"ASUS" => "Asus",
+ "ATA Maxtor" => "Maxtor",
"CD-ROM CDU" => "Sony",
"CD-ROM Drive/F5D" => "ASUSTeK",
"Compaq" => "Compaq",
"CONNER" => "Conner Peripherals",
"IBM" => "IBM",
+ "INTEL" => "Intel",
"FUJITSU" => "Fujitsu",
"HITACHI" => "Hitachi",
"Lite-On" => "Lite-On Technology Corp.",
+ "LITE-ON" => "Lite-On Technology Corp.",
"LTN" => "Lite-On Technology Corp.",
"IOMEGA" => "Iomega",
"MAXTOR" => "Maxtor",
@@ -277,6 +344,21 @@ my %eide_hds = (
"WDC" => "Western Digital Corp.",
);
+# return ($vendor, $model)
+sub _get_hd_vendor {
+ my ($info) = @_;
+ foreach my $name (keys %hd_vendors) {
+ next if !$name;
+ return ($hd_vendors{$name}, $2) if $info =~ /^$name(-|\s)*(.*)/;
+ }
+ return ("Hitachi", $info) if $info =~ /^HD[ST][0-9]/;
+}
+
+=item getIDE()
+
+Returns a list of all IDE device.
+
+=cut
sub getIDE() {
my @idi;
@@ -286,47 +368,61 @@ sub getIDE() {
#- Great. 2.2 kernel, things are much easier and less error prone.
foreach my $d (sort @{[glob_('/proc/ide/hd*')]}) {
- cat_("$d/driver") =~ /ide-scsi/ and next; #- already appears in /proc/scsi/scsi
my $t = chomp_(cat_("$d/media"));
my $type = ${{ disk => 'hd', cdrom => 'cdrom', tape => 'tape', floppy => 'fd' }}{$t} or next;
my $info = chomp_(cat_("$d/model")) || "(none)";
my $num = ord(($d =~ /(.)$/)[0]) - ord 'a';
- my ($vendor, $model) = map {
- if_($info =~ /^$_(-|\s)*(.*)/, $eide_hds{$_}, $2);
- } keys %eide_hds;
+ my ($vendor, $model) = _get_hd_vendor($info);
- my ($channel, $id) = ($num / 2, $num % 2);
- my $devfs_prefix = sprintf('ide/host0/bus%d/target%d/lun0', $channel, $id);
+ my $host = $num;
+ ($host, my $id) = divide($host, 2);
+ ($host, my $channel) = divide($host, 2);
push @idi, { media_type => $type, device => basename($d),
- devfs_prefix => $devfs_prefix,
- info => $info, channel => $channel, id => $id, bus => 'ide',
+ info => $info, host => $host, channel => $channel, id => $id, bus => 'ide',
if_($vendor, Vendor => $vendor), if_($model, Model => $model) };
}
- get_devfs_devices(@idi);
get_sys_cdrom_info(@idi);
@idi;
}
+sub block_devices() {
+ -d '/sys/block'
+ ? map { s|!|/|; $_ } all('/sys/block')
+ : map { $_->{dev} } do { require fs::proc_partitions; fs::proc_partitions::read_raw() };
+}
+
+=item getCompaqSmartArray()
+
+Returns a list of all CCISS devices (Compaq Smart Array).
+
+=cut
+
sub getCompaqSmartArray() {
my (@idi, $f);
foreach ('array/ida', 'cpqarray/ida', 'cciss/cciss') {
- my $prefix = "/proc/driver/$_"; #- kernel 2.4 places it here
- $prefix = "/proc/$_" if !-e "${prefix}0"; #- kernel 2.2
-
+ my $prefix = "/proc/driver/$_";
my ($name) = m|/(.*)|;
for (my $i = 0; -r ($f = "${prefix}$i"); $i++) {
- foreach (cat_($f)) {
- if (my ($device) = m|^\s*($name/.*?):|) {
- push @idi, { device => $device, prefix => $device . 'p', info => "Compaq RAID logical disk",
- media_type => 'hd', bus => 'ida' };
- }
+ my @raw_devices = cat_($f) =~ m|^\s*($name/.*?):|gm;
+
+ #- this is ugly and buggy. keeping it for 2007.0
+ #- on a cciss, cciss/cciss0 didn't contain c0d0, but cciss/cciss1 did contain c0d1
+ #- the line below adds both c0d0 and c0d1 for cciss0, and so some duplicates
+ @raw_devices or @raw_devices = grep { m!^$name/! } block_devices();
+
+ foreach my $raw_device (@raw_devices) {
+ my $device = -d "/dev/$raw_device" ? "$raw_device/disc" : $raw_device;
+ push @idi, { device => $device, prefix => $raw_device . 'p',
+ info => "Compaq RAID logical disk",
+ media_type => 'hd', bus => $name };
}
}
}
- @idi;
+ #- workaround the buggy code above. this should be safe though
+ uniq_ { $_->{device} } @idi;
}
sub getDAC960() {
@@ -336,30 +432,60 @@ sub getDAC960() {
#- /dev/rd/c0d0: RAID-7, Online, 17928192 blocks, Write Thru0123456790123456789012
foreach (syslog()) {
my ($device, $info) = m|/dev/(rd/.*?): (.*?),| or next;
- $idi{$device} = { info => $info, media_type => 'hd', device => $device, prefix => $device . 'p', bus => 'dac960' };
+ $idi{$device} = { info => $info, media_type => 'hd', device => $device, bus => 'dac960' };
}
values %idi;
}
-sub getATARAID() {
- my %l;
- foreach (syslog()) {
- my ($device) = m|^\s*(ataraid/d\d+):| or next;
- $l{$device} = { info => 'ATARAID block device', media_type => 'hd', device => $device, prefix => $device . 'p', bus => 'ataraid' };
- log::l("ATARAID: $device");
+=item getXenBlk()
+
+Returns a list of all Xen block devices (C</dev/xvd*>).
+
+=cut
+
+sub getXenBlk() {
+ -d '/sys/bus/xen/devices' or return;
+ map {
+ s/block://;
+ { device => basename($_), info => "Xen block device", media_type => 'hd', bus => 'xen' };
+ } glob("/sys/block/xvd*");
+}
+
+=item getVirtIO()
+
+Returns a list of all VirtIO block devices (/dev/C<vd*>).
+
+=cut
+
+sub getVirtIO() {
+ -d '/sys/bus/virtio/devices' or return;
+ map {
+ { device => basename($_), info => "VirtIO block device", media_type => 'hd', bus => 'virtio' };
}
- values %l;
+ glob("/sys/bus/virtio/devices/*/block/*");
}
+sub getMmcBlk() {
+ -d '/sys/bus/mmc/devices' or return;
+ map {
+ { device => basename($_), info => "MMC block device", media_type => 'hd', bus => 'mmc' };
+ }
+ glob("/sys/bus/mmc/devices/*/block/*");
+}
-# cpu_name : arch() =~ /^alpha/ ? "cpu " :
-# arch() =~ /^ppc/ ? "processor" : "vendor_id"
+sub getNVMe() {
+ -d '/sys/class/nvme' or return;
+ map {
+ { device => basename($_), info => "NVMe block device", media_type => 'hd', bus => 'pci_express' };
+ }
+ glob("/sys/block/nvme*");
+}
+
+=item getCPUs()
-# cpu_model : arch() =~ /^alpha/ ? "cpu model" :
-# arch() =~ /^ppc/ ? "cpu " : "model name"
+Returns a list of all CPUs.
-# cpu_freq = arch() =~ /^alpha/ ? "cycle frequency [Hz]" :
-# arch() =~ /^ppc/ ? "clock" : "cpu MHz"
+=cut
sub getCPUs() {
my (@cpus, $cpu);
@@ -369,61 +495,472 @@ sub getCPUs() {
$cpu = {};
}
$cpu->{$1} = $2 if /^([^\t]+).*:\s(.*)$/;
+ $cpu->{processor}++ if $1 eq "processor";
}
push @cpus, $cpu;
@cpus;
}
+sub ix86_cpu_frequency() {
+ cat_('/proc/cpuinfo') =~ /cpu MHz\s*:\s*(\d+)/ && $1;
+}
+
+=item probe_category($category)
+
+Returns a list of devices which drivers are in the asked category. eg:
+
+ my @eth_cards = probe_category('network/ethernet');
+
+=cut
+
+sub probe_category {
+ my ($category) = @_;
+
+ require list_modules;
+ my @modules = list_modules::category2modules($category);
+
+ grep {
+ if ($category eq 'network/isdn') {
+ my $b = $_->{driver} =~ /ISDN:([^,]*),?([^,]*)(?:,firmware=(.*))?/;
+ if ($b) {
+ $_->{driver} = $1;
+ $_->{type} = $2;
+ $_->{type} =~ s/type=//;
+ $_->{firmware} = $3;
+ $_->{driver} eq "hisax" and $_->{options} .= " id=HiSax";
+ }
+ $b;
+ } else {
+ member($_->{driver}, @modules);
+ }
+ } probeall();
+}
+
sub getSoundDevices() {
- (arch() =~ /ppc/ ? \&modules::load_category : \&modules::probe_category)->('multimedia/sound');
+ probe_category('multimedia/sound');
}
-sub isTVcard { $_[0]{driver} =~ /bttv|saa7134/ }
+sub isTVcardConfigurable { member($_[0]{driver}, qw(bttv cx88 saa7134)) }
+
+sub getTVcards() { probe_category('multimedia/tv') }
+
+sub getInputDevices() {
+ state @input_devices;
+ return @input_devices if @input_devices;
+ my (@devices, $device);
+ my $event;
+ foreach (cat_('/proc/bus/input/devices')) {
+ if (/^I:/) {
+ $device = {};
+ $device->{vendor} = /Vendor=(\w+)/ && $1;
+ $device->{id} = /Product=(\w+)/ && $1;
+ $device->{bustype} = /Bus=(\w+)/ && $1;
+ } elsif (/N: Name="(.*)"/) {
+ my $descr = $1;
+ $device->{description} = "|$descr";
+
+ #- I: Bus=0011 Vendor=0002 Product=0008 Version=7321
+ #- N: Name="AlpsPS/2 ALPS GlidePoint"
+ #- P: Phys=isa0060/serio1/input0
+ #- H: Handlers=mouse1 event2 ts1
+ #- B: EV=f
+ #- B: KEY=420 0 70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_TOOL_FINGER BTN_TOUCH
+ #- or B: KEY=420 0 670000 0 0 0 0 0 0 0 0 #=> same with BTN_BACK
+ #- B: REL=3 #=> X Y
+ #- B: ABS=1000003 #=> X Y PRESSURE
+
+ #- I: Bus=0011 Vendor=0002 Product=0008 Version=2222
+ #- N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
+ #- P: Phys=isa0060/serio1/input0
+ #- S: Sysfs=/class/input/input2
+ #- H: Handlers=mouse1 ts1 event2
+ #- B: EV=f
+ #- B: KEY=420 0 70000 0 0 0 0 0 0 0 0
+ #- B: REL=3
+ #- B: ABS=1000003
+
+ #- I: Bus=0011 Vendor=0002 Product=0007 Version=0000
+ #- N: Name="SynPS/2 Synaptics TouchPad"
+ #- P: Phys=isa0060/serio1/input0
+ #- S: Sysfs=/class/input/input1
+ #- H: Handlers=mouse0 event1 ts0
+ #- B: EV=b
+ #- B: KEY=6420 0 70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_TOOL_FINGER BTN_TOUCH BTN_TOOL_DOUBLETAP BTN_TOOL_TRIPLETAP
+ #- or B: KEY=6420 0 670000 0 0 0 0 0 0 0 0 #=> same with BTN_BACK
+ #- or B: KEY=420 30000 670000 0 0 0 0 0 0 0 0 #=> same without BTN_TOOL_TRIPLETAP but with BTN_B
+ #- B: ABS=11000003 #=> X Y PRESSURE TOOL_WIDTH
+
+ #- I: Bus=0003 Vendor=056a Product=0065 Version=0108
+ #- N: Name="Wacom Bamboo"
+ #- B: KEY=1c63 0 70033 0 0 0 0 0 0 0 0 #=> BTN_0 BTN_1 BTN_4 BTN_5 BTN_LEFT BTN_RIGHT BTN_MIDDLE TOOL_PEN TOOL_RUBBER TOOL_BRUSH TOOL_FINGER TOOL_MOUSE TOUCH STYLUS STYLUS2
+ #- B: ABS=100 3000103 #=> X Y WHEEL PRESSURE DISTANCE MISC
+
+ #- I: Bus=0003 Vendor=056a Product=0011 Version=0201
+ #- N: Name="Wacom Graphire2 4x5"
+ #- B: KEY=1c43 0 70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE TOOL_PEN TOOL_RUBBER TOOL_FINGER TOOL_MOUSE TOUCH STYLUS STYLUS2
+ #- B: ABS=100 3000003 #=> X Y PRESSURE DISTANCE MISC
+
+ #I: Bus=0003 Vendor=049f Product=0024 Version=0001
+ #N: Name="Compaq Compaq Numeric Keypad"
+ #P: Phys=usb-0000:00:03.2-2/input0
+ #S: Sysfs=/class/input/input7
+ #H: Handlers=kbd event3
+ #B: EV=120003
+ #B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe
+ #B: LED=1f
+
+ $device->{Synaptics} = $descr eq 'SynPS/2 Synaptics TouchPad';
+ $device->{ALPS} = $descr =~ m!^AlpsPS/2 ALPS!;
+ $device->{Elantech} = $descr eq 'ETPS/2 Elantech Touchpad';
+ $device->{Numpad} = $descr =~ /Numeric Keypad/;
+
+ } elsif (/H: Handlers=(.*)/) {
+ my @l = split(' ', $1);
+ $device->{driver} = $l[0]; #- keep it for compatibility
+ $device->{Handlers} = +{ map { (/^(.*?)\d*$/ ? $1 : $_, $_) } split(' ', $1) };
+ $event = $device->{Handlers}{event};
+ } elsif (/S: Sysfs=(.+)/) {
+ $device->{sysfs_path} = $1;
+ } elsif (/P: Phys=(.*)/) {
+ $device->{location} = $1;
+ $device->{bus} = 'isa' if $device->{location} =~ /^isa/;
+ $device->{bus} = 'usb' if $device->{location} =~ /^usb/i;
+ } elsif (/B: REL=(.* )?(.*)/) {
+ #- REL=3 #=> X Y
+ #- REL=103 #=> X Y WHEEL
+ #- REL=143 #=> X Y HWHEEL WHEEL
+ #- REL=1c3 #=> X Y HWHEEL DIAL WHEEL
+ my $REL = hex($2);
+ $device->{HWHEEL} = 1 if $REL & (1 << 6);
+ $device->{WHEEL} = 1 if $REL & (1 << 8); #- not reliable ("Mitsumi Apple USB Mouse" says REL=103 and KEY=1f0000 ...)
+
+ } elsif (/B: KEY=(\S+)/) {
+ #- some KEY explained:
+ #- (but note that BTN_MIDDLE can be reported even if missing)
+ #- (and "Mitsumi Apple USB Mouse" reports 1f0000)
+ #- KEY=30000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT
+ #- KEY=70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE
+ #- KEY=1f0000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_SIDE BTN_EXTRA
+ if (!$> && ! -f "/dev/input/$event") {
+ devices::make("/dev/input/$event");
+ }
+ if (-r "/dev/input/$event") {
+ my @KEYS = c::EVIocGBitKey("/dev/input/$event");
+ $device->{SIDE} = 1 if $KEYS[0] & (1 << 0x13);
+ } else {
+ my $KEY = hex($1);
+ $device->{SIDE} = 1 if $KEY & (1 << 0x13);
+ }
-sub getTVcards() {
- grep { isTVcard($_) } detect_devices::probeall();
+ } elsif (/^\s*$/) {
+ push @devices, $device if $device;
+ undef $device;
+ }
+ }
+ @input_devices = @devices;
}
+sub getInputDevices_and_usb() {
+ my @l = getInputDevices();
+
+ foreach my $usb (usb_probe()) {
+ if (my $e = find { hex($_->{vendor}) == $usb->{vendor} && hex($_->{id}) == $usb->{id} } @l) {
+ $e->{usb} = $usb;
+ }
+ }
+
+ @l;
+}
+
+sub serialPorts() { map { "ttyS$_" } 0..7 }
+sub serialPort2text {
+ $_[0] =~ /ttyS(\d+)/ ? "$_[0] / COM" . ($1 + 1) : $_[0];
+}
+
+=back
+
+=head1 Network
+
+=over
+
+=cut
+
sub getSerialModem {
- my ($modem, $o_mouse) = @_;
+ my ($_modules_conf, $o_mouse) = @_;
my $mouse = $o_mouse || {};
$mouse->{device} = readlink "/dev/mouse";
- my $serdev = arch() =~ /ppc/ ? "macserial" : "serial";
+ my $serdev = "serial";
+
eval { modules::load($serdev) };
+ my @modems;
+
probeSerialDevices();
- foreach ('modem', map { "ttyS$_" } (0..7)) {
- next if $mouse->{device} =~ /$_/;
- next unless -e "/dev/$_";
- hasModem("/dev/$_") and $modem->{device} = $_, last;
+ foreach my $port (serialPorts()) {
+ next if $mouse->{device} =~ /$port/;
+ my $device = "/dev/$port";
+ next if !-e $device || !hasModem($device);
+ $serialprobe{$device}{device} = $device;
+ push @modems, $serialprobe{$device};
}
-
- #- add an alias for macserial on PPC
- modules::add_alias('serial', $serdev) if arch() =~ /ppc/ && $modem->{device};
my @devs = pcmcia_probe();
- foreach (@devs) { $_->{type} =~ /serial/ and $modem->{device} = $_->{device} }
- $modem;
+ foreach my $modem (@modems) {
+ foreach (@devs) { $_->{device} and $modem->{device} = $_->{device} }
+ }
+ @modems;
}
-sub getModem() {
- my @pci_modems = grep { $_->{driver} =~ /www.linmodems.org/ } probeall();
- getSerialModem({}), @pci_modems;
+=item getModem()
+
+Return list of modems (serial, WinModems)
+=cut
+
+our $detect_serial_modem = 1;
+sub getModem {
+ my ($modules_conf) = @_;
+ ($detect_serial_modem ? getSerialModem($modules_conf, {}) : ()), get_winmodems();
}
-sub getSpeedtouch() {
- grep { $_->{description} eq 'Alcatel|USB ADSL Modem (Speed Touch)' } probeall();
+sub get_winmodems() {
+ matching_driver__regexp('www\.linmodems\.org'),
+ matching_driver(list_modules::category2modules('network/modem'),
+ list_modules::category2modules('network/slmodem'));
}
-sub getSagem() {
- grep { $_->{description} eq 'Analog Devices Inc.|USB ADSL modem' } probeall();
+
+sub getBewan() {
+ matching_desc__regexp('Bewan Systems\|.*ADSL|BEWAN ADSL USB|\[Unicorn\]');
+}
+
+# generate from the following from eci driver sources:
+# perl -e 'while (<>) { print qq("$1$2",\n"$3$4",\n) if /\b([a-z\d]*)\s*([a-z\d]*)\s*([a-z\d]*)\s*([a-z\d]*)$/ }' <modems.db|sort|uniq
+sub getECI() {
+ my @ids = (
+ "05090801",
+ "05472131",
+ "06590915",
+ "071dac81",
+ "08ea00c9",
+ "09150001",
+ "09150002",
+ "091500ca",
+ "091500e7",
+ "09150101",
+ "09150102",
+ "09150204",
+ "09150206",
+ "09150802",
+ "09150916",
+ "09158000",
+ "09158001",
+ "0915ac82",
+ "0baf00e6",
+ "0e600100",
+ "0e600101",
+ "0fe88000",
+ "16900203",
+ "16900205",
+ );
+ grep { member(sprintf("%04x%04x%04x%04x", $_->{vendor}, $_->{id}, $_->{subvendor}, $_->{subid}), @ids) } usb_probe();
}
-sub getNet() {
- grep { !(($::isStandalone || $::live) && /plip/) && c::hasNetDevice($_) } @netdevices;
+=item get_xdsl_usb_devices()
+
+Return list of xDSL devices.
+
+=cut
+
+sub get_xdsl_usb_devices() {
+ my @bewan = detect_devices::getBewan();
+ $_->{driver} = $_->{bus} eq 'USB' ? 'unicorn_usb_atm' : 'unicorn_pci_atm' foreach @bewan;
+ my @eci = detect_devices::getECI();
+ $_->{driver} = 'eciusb' foreach @eci;
+ my @usb = detect_devices::probe_category('network/usb_dsl');
+ $_->{description} = "USB ADSL modem (eagle chipset)" foreach
+ grep { $_->{driver} eq 'ueagle_atm' && $_->{description} eq '(null)' } @usb;
+ @usb, @bewan, @eci;
+}
+
+=item is_lan_interface($device)
+
+Is it a LAN interface (blacklist some interfaces (PPP, ...)?
+
+=cut
+
+sub is_lan_interface {
+ #- we want LAN like interfaces here (eg: ath|br|eth|fddi|plip|ra|tr|usb|wlan).
+ #- there's also bnep%d for bluetooth, bcp%d...
+ #- we do this by blacklisting the following interfaces:
+ #- hso%d are created by drivers/net/usb/hso.c
+ #- ippp|isdn|plip|ppp (initscripts suggest that isdn%d can be created but kernel sources claim not)
+ #- ippp%d are created by drivers/isdn/i4l/isdn_ppp.c
+ #- plip%d are created by drivers/net/plip.c
+ #- ppp%d are created by drivers/net/ppp_generic.c
+ #- pan%d are created by bnep
+ is_useful_interface($_[0]) &&
+ $_[0] !~ /^(?:hso|ippp|isdn|plip|ppp|pan)/;
+}
+
+=item is_useful_interface($device)
+
+Is it a usefull interface (blacklist some interfaces (loopback, sit, wifi, ...)?
+
+=cut
+
+sub is_useful_interface {
+ #- sit0 which is *always* created by net/ipv6/sit.c, thus is always created since net.agent loads ipv6 module
+ #- wifi%d are created by 3rdparty/hostap/hostap_hw.c (pseudo statistics devices, #14523)
+ #- wmaster%d are created by net/mac80211/ieee80211.c ("master" 802.11 device)
+ #- ax*, rose*, nr*, bce* and scc* are Hamradio devices (#28776)
+ $_[0] !~ /^(?:lo|sit0|wifi|wmaster|ax|rose|nr|bce|scc)/;
+}
+
+=item is_wireless_interface($device)
+
+Is it a WiFi interface?
+
+=cut
+
+sub is_wireless_interface {
+ my ($interface) = @_;
+ #- some wireless drivers don't always support the SIOCGIWNAME ioctl
+ #- ralink devices need to be up to support it
+ #- wlan-ng (prism2_*) need some special tweaks to support it
+ #- use sysfs as fallback to detect wireless interfaces,
+ #- i.e interfaces for which get_wireless_stats() is available
+ c::isNetDeviceWirelessAware($interface)
+ || -e "/sys/class/net/$interface/wireless"
+ || -e "/sys/class/net/$interface/phy80211";
}
-#sub getISDN() {
-# mapgrep(sub {member (($_[0] =~ /\s*(\w*):/), @netdevices), $1 }, split(/\n/, cat_("/proc/net/dev")));
-#}
+=item get_all_net_devices()
+
+Returns list of all network devices
+
+=cut
+
+sub get_all_net_devices() {
+ #- we need both detection schemes since:
+ #- get_netdevices() use the SIOCGIFCONF ioctl that does not list interfaces that are down
+ #- /proc/net/dev does not list VLAN and IP aliased interfaces
+ uniq(
+ (map { if_(/^\s*([A-Za-z0-9:\.]*):/, $1) } cat_("/proc/net/dev")),
+ c::get_netdevices(),
+ );
+}
+
+=item get_lan_interfaces()
+
+Returns list of all LAN devices
+
+=cut
+
+sub get_lan_interfaces() { grep { is_lan_interface($_) } get_all_net_devices() }
+
+=item get_net_interfaces()
+
+Returns list of all useful network devices
+
+=cut
+
+sub get_net_interfaces() { grep { is_useful_interface($_) } get_all_net_devices() }
+
+=item get_wireless_interface()
+
+Returns list of all Wireless devices
+
+=cut
+
+sub get_wireless_interface() { find { is_wireless_interface($_) } get_lan_interfaces() }
+
+=item is_bridge_interface($interface)
+
+Is it a bridge?
+
+=cut
+
+sub is_bridge_interface {
+ my ($interface) = @_;
+ -f "/sys/class/net/$interface/bridge/bridge_id";
+}
+
+=back
+
+=head1 Enumerating devices
+
+=over
+
+=cut
+
+sub get_ids_from_sysfs_device {
+ my ($dev_path) = @_;
+ my $dev_cat = sub { chomp_(cat_("$dev_path/$_[0]")) };
+ my $usb_root = -f "$dev_path/bInterfaceNumber" && "../" || -f "$dev_path/idVendor" && "";
+ my $is_pcmcia = -f "$dev_path/card_id";
+ my $sysfs_ids;
+ my $bus = get_sysfs_field_from_link($dev_path, "subsystem");
+ #- FIXME: use $bus
+ if ($is_pcmcia) {
+ $sysfs_ids = { modalias => $dev_cat->('modalias') };
+ } else {
+ $sysfs_ids = $bus eq 'ieee1394' ?
+ {
+ version => "../vendor_id",
+ specifier_id => "specifier_id",
+ specifier_version => "version",
+ } :
+ defined $usb_root ?
+ { id => $usb_root . 'idProduct', vendor => $usb_root . 'idVendor' } :
+ { id => "device", subid => "subsystem_device", vendor => "vendor", subvendor => "subsystem_vendor" };
+ $_ = hex($dev_cat->($_)) foreach values %$sysfs_ids;
+ if ($bus eq 'pci') {
+ my $device = basename(readlink $dev_path);
+ my @ids = $device =~ /^(.{4}):(.{2}):(.{2})\.(.+)$/;
+ @$sysfs_ids{qw(pci_domain pci_bus pci_device pci_function)} = map { hex($_) } @ids if @ids;
+ }
+ }
+ $sysfs_ids;
+}
+
+sub device_matches_sysfs_ids {
+ my ($device, $sysfs_ids) = @_;
+ every { defined $device->{$_} && member($device->{$_}, $sysfs_ids->{$_}, 0xffff) } keys %$sysfs_ids;
+}
+
+sub device_matches_sysfs_device {
+ my ($device, $dev_path) = @_;
+ device_matches_sysfs_ids($device, get_ids_from_sysfs_device($dev_path));
+}
+
+sub getUPS() {
+ # MGE serial PnP devices:
+ (map {
+ $_->{port} = $_->{DEVICE};
+ $_->{bus} = "Serial";
+ $_->{driver} = "mge-utalk" if $_->{MODEL} =~ /0001/;
+ $_->{driver} = "mge-shut" if $_->{MODEL} =~ /0002/;
+ $_->{media_type} = 'UPS';
+ $_->{description} = "MGE UPS SYSTEMS|UPS - Uninterruptible Power Supply" if $_->{MODEL} =~ /000[12]/;
+ $_;
+ } grep { $_->{DESCRIPTION} =~ /MGE UPS/ } values %serialprobe),
+ # USB UPSs;
+ (map { ($_->{name} = $_->{description}) =~ s/.*\|//; $_ }
+ map {
+ if ($_->{description} =~ /Back-UPS/ && $_->{driver} eq 'usbhid') {
+ #- FIXME: should not be hardcoded, use $_->{sysfs_device} . */usb:(hiddev\d+)
+ #- the device should also be assigned to the ups user
+ $_->{port} = "/dev/hiddev0";
+ $_->{driver} = 'hidups';
+ $_;
+ } elsif ($_->{description} =~ /^MGE UPS Systems\|/ && $_->{driver} =~ /ups$/) {
+ $_->{port} = "auto";
+ $_->{media_type} = 'UPS';
+ $_->{driver} = 'newhidups';
+ $_;
+ } else {
+ ();
+ }
+ } usb_probe());
+}
$pcitable_addons = <<'EOF';
# add here lines conforming the pcitable format (0xXXXX\t0xXXXX\t"\w+"\t".*")
@@ -452,11 +989,11 @@ sub add_addons {
my ($addons, @l) = @_;
foreach (split "\n", $addons) {
- /^\s/ and die "bad detect_devices::probeall_addons line \"$_\"";
+ /^\s/ and die qq(bad detect_devices::probeall_addons line "$_");
s/^#.*//;
s/"(.*?)"/$1/g;
next if /^$/;
- my ($vendor, $id, $driver, $description) = split("\t", $_, 4) or die "bad detect_devices::probeall_addons line \"$_\"";
+ my ($vendor, $id, $driver, $description) = split("\t", $_, 4) or die qq(bad detect_devices::probeall_addons line "$_");
foreach (@l) {
$_->{vendor} == hex $vendor && $_->{id} == hex $id or next;
put_in_hash($_, { driver => $driver, description => $description });
@@ -465,30 +1002,87 @@ sub add_addons {
@l;
}
-sub pci_probe() {
+sub get_pci_sysfs_path {
+ my ($l) = @_;
+ sprintf('%04x:%02x:%02x.%d', $l->{pci_domain}, $l->{pci_bus}, $l->{pci_device}, $l->{pci_function});
+}
+
+
+my (@pci, @usb);
+
+sub pci_probe__real() {
add_addons($pcitable_addons, map {
- my %l;
- @l{qw(vendor id subvendor subid pci_bus pci_device pci_function media_type driver description)} = split "\t";
- $l{$_} = hex $l{$_} foreach qw(vendor id subvendor subid);
- $l{bus} = 'PCI';
- \%l
+ my $l = $_;
+ $l->{bus} = 'PCI';
+ $l->{sysfs_device} = '/sys/bus/pci/devices/' . get_pci_sysfs_path($l);
+ $l;
} c::pci_probe());
}
-sub usb_probe() {
- -e "/proc/bus/usb/devices" or return;
+=item pci_probe()
+
+Cache the result of C<c::pci_probe()> and return the list of items in the PCI devices.
+
+=cut
+
+sub pci_probe() {
+ state $done;
+ if (!$done) {
+ @pci = pci_probe__real() if !@pci;
+ foreach (@pci) {
+ $_->{nice_bus} = $_->{is_pciexpress} ? "PCI Express" : "PCI";
+ }
+ }
+ @pci;
+}
+
+sub usb_probe__real() {
+ -e "/sys/kernel/debug/usb/devices" or return;
add_addons($usbtable_addons, map {
- my %l;
- @l{qw(vendor id media_type driver description pci_bus pci_device)} = split "\t";
- $l{$_} = hex $l{$_} foreach qw(vendor id);
- $l{bus} = 'USB';
- \%l
+ my $l = $_;
+ $l->{media_type} = join('|', grep { $_ ne '(null)' } split('\|', $l->{media_type}));
+ $l->{sysfs_device} = "/sys/bus/usb/devices/$l->{pci_bus}-" . ($l->{usb_port} + 1);
+ $l->{bus} = 'USB';
+ $l;
} c::usb_probe());
}
+=item usb_probe()
+
+Cache the result of C<c::usb_probe()> and return the list of items in the USB devices.
+
+=cut
+
+sub usb_probe() {
+ if ($::isStandalone && @usb) {
+ @usb;
+ } else {
+ @usb = usb_probe__real();
+ }
+}
+
+=item firewire_probe()
+
+Return list of Firewire controllers
+
+=cut
+
sub firewire_probe() {
- my ($e, @l);
+ my $dev_dir = '/sys/bus/ieee1394/devices';
+ my @l = map {
+ my $dir = "$dev_dir/$_";
+ my $get = sub { chomp_(cat_($_[0])) };
+ {
+ version => hex($get->("$dir/../vendor_id")),
+ specifier_id => hex($get->("$dir/specifier_id")),
+ specifier_version => hex($get->("$dir/version")),
+ bus => 'Firewire',
+ sysfs_device => $dir,
+ };
+ } grep { -f "$dev_dir/$_/specifier_id" } all($dev_dir);
+
+ my $e;
foreach (cat_('/proc/bus/ieee1394/devices')) {
if (m!Vendor/Model ID: (.*) \[(\w+)\] / (.*) \[(\w+)\]!) {
push @l, $e = {
@@ -502,113 +1096,551 @@ sub firewire_probe() {
$e->{specifier_version} = hex $1;
}
}
+
foreach (@l) {
- if ($e->{specifier_id} == 0x00609e && $e->{specifier_version} == 0x010483) {
+ if ($_->{specifier_id} == 0x00609e && $_->{specifier_version} == 0x010483) {
add2hash($_, { driver => 'sbp2', description => "Generic Firewire Storage Controller" });
+ } elsif ($_->{specifier_id} == 0x00005e && $_->{specifier_version} == 0x000001) {
+ add2hash($_, { driver => 'eth1394', description => "IEEE 1394 IPv4 Driver (IPv4-over-1394 as per RFC 2734)" });
}
}
@l;
}
+=item pcmcia_controller_probe()
+
+Return list of PCMCIA controllers
+
+=cut
+
+sub pcmcia_controller_probe() {
+ my ($controller) = probe_category('bus/pcmcia');
+ if (!$controller && !$::testing && !$::noauto && arch() =~ /i.86/) {
+ my $driver = c::pcmcia_probe();
+ $controller = { driver => $driver, description => "PCMCIA controller ($driver)" } if $driver;
+ }
+ $controller;
+}
+
+=item pcmcia_probe()
+
+Return list of PCMCIA devices (eg: Ethernet PCMCIA cards, ...)
+
+=cut
+
sub pcmcia_probe() {
- -e '/var/run/stab' || -e '/var/lib/pcmcia/stab' or return ();
+ require modalias;
+ require modules;
+ my $dev_dir = '/sys/bus/pcmcia/devices';
+ map {
+ my $dir = "$dev_dir/$_";
+ my $get = sub { chomp_(cat_("$dir/$_[0]")) };
+ my $class_dev = first(glob_("$dir/tty/tty*"));
+ my $device = $class_dev && basename($class_dev);
+ my $modalias = $get->('modalias');
+ my $driver = get_sysfs_field_from_link($dir, 'driver');
+ #- fallback on modalias result
+ #- but only if the module isn't loaded yet (else, it would already be binded)
+ #- this prevents from guessing the wrong driver for multi-function devices
+ my $module = $modalias && first(modalias::get_modules($modalias));
+ $driver ||= !member($module, modules::loaded_modules()) && $module;
+ {
+ description => join(' ', grep { $_ } map { $get->("prod_id$_") } 1 .. 4),
+ driver => $driver,
+ if_($modalias, modalias => $modalias),
+ if_($device, device => $device),
+ bus => 'PCMCIA',
+ sysfs_device => $dir,
+ };
+ } all($dev_dir);
+}
- my (@devs, $desc);
- foreach (cat_('/var/run/stab'), cat_('/var/lib/pcmcia/stab')) {
- if (/^Socket\s+\d+:\s+(.*)/) {
- $desc = $1;
- } else {
- my (undef, $type, $module, undef, $device) = split;
- push @devs, { description => $desc, driver => $module, type => $type, device => $device };
- }
+=item dmi_probe()
+
+Cache the result of c::dmi_probe() (aka C<dmidecode>) and return the list of items in the DMI table
+
+=cut
+
+sub dmi_probe() {
+ state $dmi_probe;
+ return if arch() !~ /86/;
+ $dmi_probe ||= $> ? [] : [ c::dmi_probe() ];
+ @$dmi_probe;
+}
+
+=item acpi_probe()
+
+Return list of devices that are only discoverable via ACPI
+
+=cut
+
+my %acpi_device_info = (
+ "80860F28" => { vendor => 0x8086, id => 0x0f28, description => 'Intel Corporation|Bay Trail SST Audio DSP',
+ nice_media_type => 'Audio device', driver => 'snd_sof_acpi_intel_byt' },
+ "808622A8" => { vendor => 0x8086, id => 0x22a8, description => 'Intel Corporation|Cherry Trail SST Audio DSP',
+ nice_media_type => 'Audio device', driver => 'snd_sof_acpi_intel_byt' },
+ "INT3438" => { vendor => 0x8086, id => 0x3438, description => 'Intel Corporation|Broadwell SST Audio DSP',
+ nice_media_type => 'Audio device', driver => 'snd_sof_acpi_intel_bdw' }
+);
+
+sub acpi_probe() {
+ my $dev_dir = '/sys/bus/acpi/devices';
+ my @l;
+ foreach (glob("$dev_dir/*")) {
+ my $dev_name = basename($_);
+ my ($prefix, $suffix) = split(':', $dev_name);
+ my $e = $acpi_device_info{$prefix};
+ if ($e) {
+ add2hash($e, { bus => 'ACPI', sysfs_device => "$dev_dir/$dev_name" });
+ push @l, $e;
+ }
}
- @devs;
+ @l;
}
+=item probeall()
+
+Returns a list of all PCI/USB/Firewire/PCMCIA/DMI/HID devices.
+It's usually called through a higher level filtering function.
+
+=cut
+
# pcmcia_probe provides field "device", used in network.pm
-# => probeall with $probe_type is unsafe
sub probeall() {
return if $::noauto;
- require sbus_probing::main;
- pci_probe(), usb_probe(), firewire_probe(), pcmcia_probe(), sbus_probing::main::probe();
+ pci_probe(), usb_probe(), firewire_probe(), pcmcia_probe(), dmi_probe(), acpi_probe(), getInputDevices_and_usb();
+}
+sub probeall_update_cache() {
+ return if $::noauto;
+ @pci = pci_probe__real(), @usb = usb_probe__real(), firewire_probe(), pcmcia_probe(), dmi_probe();
}
-sub matching_desc {
+sub matching_desc__regexp {
my ($regexp) = @_;
grep { $_->{description} =~ /$regexp/i } probeall();
}
-sub stringlist() {
+sub matching_driver__regexp {
+ my ($regexp) = @_;
+ grep { $_->{driver} =~ /$regexp/i } probeall();
+}
+
+sub matching_driver {
+ my (@list) = @_;
+ grep { member($_->{driver}, @list) } probeall();
+}
+sub probe_name {
+ my ($name) = @_;
+ map { $_->{driver} =~ /^$name:(.*)/ } probeall();
+}
+sub probe_unique_name {
+ my ($name) = @_;
+ my @l = uniq(probe_name($name));
+ if (@l > 1) {
+ log::l("oops, more than one $name from probe: ", join(' ', @l));
+ }
+ $l[0];
+}
+
+sub stringlist {
+ my ($b_verbose) = @_;
map {
+ my $ids = $b_verbose || $_->{description} eq '(null)' ? sprintf("vendor:%04x device:%04x", $_->{vendor}, $_->{id}) : '';
+ my $subids = $_->{subid} && $_->{subid} != 0xffff ? sprintf("subv:%04x subd:%04x", $_->{subvendor}, $_->{subid}) : '';
sprintf("%-16s: %s%s%s",
$_->{driver} || 'unknown',
- $_->{description} eq '(null)' ? sprintf("Vendor=0x%04x Device=0x%04x", $_->{vendor}, $_->{id}) : $_->{description},
+ $_->{description},
$_->{media_type} ? sprintf(" [%s]", $_->{media_type}) : '',
- $_->{subid} && $_->{subid} != 0xffff ? sprintf(" SubVendor=0x%04x SubDevice=0x%04x", $_->{subvendor}, $_->{subid}) : '',
- )
+ $ids || $subids ? " ($ids" . ($ids && $subids && " ") . "$subids)" : '',
+ );
} probeall();
}
sub tryOpen($) {
my $F;
- sysopen $F, devices::make($_[0]), c::O_NONBLOCK() and $F;
+ sysopen($F, devices::make($_[0]), c::O_NONBLOCK()) && $F;
}
sub tryWrite($) {
my $F;
- sysopen $F, devices::make($_[0]), 1 | c::O_NONBLOCK() and $F;
+ sysopen($F, devices::make($_[0]), 1 | c::O_NONBLOCK()) && $F;
}
+my @dmesg;
sub syslog() {
- -r "/tmp/syslog" and return map { /<\d+>(.*)/ } cat_("/tmp/syslog");
- my $LD_LOADER = $ENV{LD_LOADER} || "";
- `$LD_LOADER /bin/dmesg`;
+ if (-r "/tmp/syslog") {
+ map { /<\d+>(.*)/ } cat_("/tmp/syslog");
+ } else {
+ @dmesg = `/bin/dmesg` if !@dmesg;
+ @dmesg;
+ }
}
sub get_mac_model() {
- my $mac_model = cat_("/proc/device-tree/model") || die "Can't open /proc/device-tree/model";
+ my $mac_model = cat_("/proc/device-tree/model") || die "Cannot open /proc/device-tree/model";
log::l("Mac model: $mac_model");
$mac_model;
}
sub get_mac_generation() {
- my $generation = cat_("/proc/cpuinfo") || die "Can't open /proc/cpuinfo";
- my @genarray = split(/\n/, $generation);
- my $count = 0;
- while ($count <= @genarray) {
- if ($genarray[$count] =~ /pmac-generation/) {
- @genarray = split(/:/, $genarray[$count]);
- return $genarray[1];
- }
- $count++;
- }
- return "Unknown Generation";
+ cat_('/proc/cpuinfo') =~ /^pmac-generation\s*:\s*(.*)/m ? $1 : "Unknown Generation";
}
sub hasSMP() {
return if $::testing;
- c::detectSMP() || any { /\bProcessors: (\d+)/ && $1 > 1 } syslog();
+ (any { /NR_CPUS limit of 1 reached/ } syslog()) ||
+ (any { /^processor\s*:\s*(\d+)/ && $1 > 0 } cat_('/proc/cpuinfo')) ||
+ any { /\bProcessor #(\d+)\s+(\S*)/ && $1 > 0 && $2 ne 'invalid' } syslog();
}
-sub hasPCMCIA() { $::o->{pcmcia} } #- because /proc/pcmcia seems not to be present on 2.4 at least (or use /var/run/stab)
+sub hasPCMCIA() { $::o->{pcmcia} }
+
+my (@dmis, $dmidecode_already_runned);
+
+=item dmidecode()
+
+Return list of DMI categories from DMI table
+
+=cut
+# we return a list b/c several DMIs have the same name:
+sub dmidecode() {
+ return @dmis if $dmidecode_already_runned;
+
+ return if $>;
+ my ($_ver, @l) = arch() =~ /86/ ? run_program::get_stdout('dmidecode') : ();
+
+ #- drop header
+ shift @l while @l && $l[0] ne "\n";
+
+ foreach (@l) {
+ next if /TRUNCATED/;
+ if (/^\t(.*)/) {
+ $dmis[-1]{string} .= "$1\n";
+ $dmis[-1]{$1} = $2 if /^\t(.*): (.*)$/;
+ } elsif (my ($s) = /^(.*)/) {
+ next if $s =~ /^$/ || $s =~ /\bDMI type \d+/;
+ $s =~ s/ Information$//;
+ push @dmis, { name => $s };
+ }
+ }
+ $dmidecode_already_runned = 1;
+ @dmis;
+}
+
+=item dmi_detect_memory($category)
+
+Return only one category from DMI table
+
+=cut
+
+sub dmidecode_category {
+ my ($cat) = @_;
+ my @l = grep { $_->{name} eq $cat } dmidecode();
+ wantarray() ? @l : $l[0] || {};
+}
+
+=item dmi_detect_memory()
+
+Return RAM size in MB according to DMI table
+
+=cut
+
+sub dmi_detect_memory() {
+ my @l1 = map { $_->{'Enabled Size'} =~ /(\d+) MB/ && $1 } dmidecode_category('Memory Module');
+ my @l2 = map { $_->{'Form Factor'} =~ /^(SIMM|SIP|DIP|DIMM|FB-DIMM|RIMM|SODIMM|SRIMM)$/ &&
+ ($_->{Size} =~ /(\d+) MB/ && $1 || $_->{Size} =~ /(\d+) kB/ && $1 * 1024);
+ } dmidecode_category('Memory Device');
+ max(sum(@l1), sum(@l2));
+}
+
+=back
+
+=head1 Test helpers
+
+=over
+
+=item computer_info()
+
+Analyse "Chassis" & "Bios" in dmidecode output and return a hash of flags/values (isLaptop, isServer, BIOS_Year)
+
+=cut
+
+sub computer_info() {
+ my $Chassis = dmidecode_category('Chassis')->{Type} =~ /(\S+)/ && $1;
+
+ my $date = dmidecode_category('BIOS')->{'Release Date'} || '';
+ my $BIOS_Year = $date =~ m!(\d{4})! && $1 ||
+ $date =~ m!\d\d/\d\d/(\d\d)! && "20$1";
+
+ +{
+ isLaptop => member($Chassis, 'Portable', 'Laptop', 'Notebook', 'Hand Held', 'Sub Notebook', 'Docking Station'),
+ isServer => member($Chassis, 'Pizza Box', 'Main Server Chassis', 'Rack Mount Chassis', 'Blade'),
+ if_($BIOS_Year, BIOS_Year => $BIOS_Year),
+ };
+}
+
+=item isLaptop()
+
+try to detect a laptop. We assume the following is an indication of a laptop:
+
+=over 4
+
+=item *
+
+pcmcia service
+
+=item *
+
+C<computer_info()> (really C<dmidecode>) telling us it's a laptop
+
+=item *
+
+ACPI lid button
+
+=item *
+
+a regexp to match graphics card apparently only used for such systems.
+
+=item *
+
+Mobility CPU
+
+=item *
+
+having Type as Laptop in some device
+
+=item *
+
+Intel ipw2100/2200/3945 Wireless
+
+=back
+
+=cut
-#- try to detect a laptop, we assume pcmcia service is an indication of a laptop or
-#- the following regexp to match graphics card apparently only used for such systems.
sub isLaptop() {
- hasPCMCIA() || (matching_desc('C&T.*655[45]\d') || matching_desc('C&T.*68554') ||
- matching_desc('Neomagic.*Magic(Media|Graph)') ||
- matching_desc('ViRGE.MX') || matching_desc('S3.*Savage.*[IM]X') ||
- matching_desc('ATI.*(Mobility|LT)'))
- || cat_('/proc/cpuinfo') =~ /\bmobile\b/i;
+ computer_info()->{isLaptop}
+ || glob_("/sys/bus/acpi/devices/PNP0C0D:*") #- ACPI lid button
+ || (matching_desc__regexp('C&T.*655[45]\d') || matching_desc__regexp('C&T.*68554') ||
+ matching_desc__regexp('Neomagic.*Magic(Media|Graph)') ||
+ matching_desc__regexp('ViRGE.MX') || matching_desc__regexp('S3.*Savage.*[IM]X') ||
+ matching_desc__regexp('Intel Corporation\|Mobile') ||
+ matching_desc__regexp('\bATI\b.*(Mobility|\bLT\b)'))
+ || (any { $_->{'model name'} =~ /\b(mobile|C7-M)\b/i } getCPUs())
+ || probe_unique_name("Type") eq 'laptop'
+ #- ipw2100/2200/3945 are Mini-PCI (Express) adapters
+ || (any { member($_->{driver}, qw(ipw2100 ipw2200 ipw3945)) } pci_probe());
+}
+
+=item isServer()
+
+Is it a server?
+
+=cut
+
+sub isServer() {
+ computer_info()->{isServer}
+ || (any { $_->{Type} =~ /ECC/ } dmidecode_category('Memory Module'))
+ || dmidecode_category('System Information')->{Manufacturer} =~ /Supermicro/i
+ || dmidecode_category('System Information')->{'Product Name'} =~ /NetServer|Proliant|PowerEdge|eServer|IBM System x|ThinkServer/i
+ || matching_desc__regexp('LSI Logic.*SCSI')
+ || matching_desc__regexp('MegaRAID')
+ || matching_desc__regexp('NetServer')
+ || (any { $_->{'model name'} =~ /(Xeon|Opteron)/i } getCPUs());
+}
+
+sub BIGMEM() {
+ arch() !~ /x86_64/ && $> == 0 && dmi_detect_memory() > 4 * 1024;
+}
+
+sub is_arm_openrd_client() {
+ to_bool(cat_('/proc/cpuinfo') =~ /OpenRD Client/);
+}
+
+sub is_arm_versatile() {
+ to_bool(cat_('/proc/cpuinfo') =~ /ARM-Versatile/);
+}
+
+sub is_arm_efikamix() {
+ to_bool(cat_('/proc/cpuinfo') =~ /Efika MX/);
+}
+
+sub is_xbox() {
+ any { $_->{vendor} == 0x10de && $_->{id} == 0x02a5 } pci_probe();
+}
+
+=item virt_technology()
+
+Returns the virtualization technology (eg: kvm, oracle, ...)
+
+=cut
+
+sub virt_technology() {
+ state $tech;
+ $tech ||= chomp_(run_program::get_stdout('systemd-detect-virt'));
+}
+
+=item is_hyperv()
+
+Are we running under Hyper-V hypervisor?
+
+=cut
+
+sub is_hyperv() {
+ virt_technology() eq 'microsoft';
+}
+
+=item is_qemu()
+
+Are we running under Qemu hypervisor?
+
+=cut
+
+sub is_qemu() {
+ member(virt_technology(), qw(kvm qemu));
}
-sub usbMice() { grep { $_->{media_type} =~ /\|Mouse/ && $_->{driver} !~ /Tablet:wacom/ ||
- $_->{driver} =~ /Mouse:USB/ } usb_probe() }
-sub usbWacom() { grep { $_->{driver} =~ /Tablet:wacom/ } usb_probe() }
+=item is_virtualbox()
+
+Are we running under VirtualBox hypervisor?
+
+=cut
+
+sub is_virtualbox() {
+ virt_technology() eq 'oracle';
+}
+
+=item is_vmware()
+
+Are we running under VMware hypervisor?
+
+=cut
+
+sub is_vmware() {
+ virt_technology() eq 'vmware';
+}
+
+=item is_netbook_nettop()
+
+Is it a NetBook?
+
+=cut
+
+sub is_netbook_nettop() {
+ my @cpus = getCPUs();
+ (any { $_->{'model name'} =~ /(\bIntel\(R\) Atom\(TM\)\B)/i } @cpus) ||
+ (any { $_->{'model name'} =~ /(\bIntel\(R\) Celeron\(R\) M processor\b|\bVIA C7-M Processor\b|\bGeode\(TM\)\B)/i && $_->{'cpu MHz'} < 1500 } @cpus);
+}
+
+=item has_low_resources()
+
+Is it a low resource machine?
+
+=cut
+
+sub has_low_resources() {
+ availableRamMB() < 100 || arch() =~ /i.86/ && ix86_cpu_frequency() < 350;
+}
+
+=item need_light_desktop()
+
+Does it need a light desktop (netbook or low resources machine)?
+
+=cut
+
+sub need_light_desktop() {
+ has_low_resources() || is_netbook_nettop();
+}
+
+=item has_cpu_flag($flag)
+
+Does CPU has this flag
+
+=cut
+
+sub has_cpu_flag {
+ my ($flag) = @_;
+ cat_('/proc/cpuinfo') =~ /^flags.*\b$flag\b/m;
+}
+
+=item sub matching_types()
+
+Returns a hash of flags (laptop, hyperv, touchpad, 64bit, wireless, ...)
+
+=cut
+
+sub matching_types() {
+ +{
+ '64bit' => to_bool(arch() =~ /64/),
+ hyperv => is_hyperv(),
+ laptop => isLaptop(),
+ numpad => hasNumpad(),
+ touchpad => hasTouchpad(),
+ qemu => is_qemu(),
+ virtualbox => is_virtualbox(),
+ vmware => is_vmware(),
+ wireless => to_bool(get_wireless_interface() || probe_category('network/wireless')),
+ };
+}
+
+=item sub hasCPUMicrocode()
+
+Does CPU need microcode updates?
+
+=cut
+
+sub hasCPUMicrocode() {
+ state $hasCPUMicrocode;
+ if (!defined $hasCPUMicrocode) {
+ $hasCPUMicrocode = to_bool(find { 'microcode' } modules::loaded_modules());
+ }
+ return $hasCPUMicrocode;
+}
+
+=item sub hasCPUFreq()
+
+Does CPU support cpufreq?
+
+=cut
+
+sub hasCPUFreq() {
+ require cpufreq;
+ to_bool(cpufreq::get_modules())
+ || cat_('/proc/cpuinfo') =~ /AuthenticAMD/ && arch() =~ /x86_64/
+ || cat_('/proc/cpuinfo') =~ /model name.*Intel\(R\) Core\(TM\)2 CPU/;
+}
+
+=item sub hasWacom()
+
+is there a Wacom tablet?
+
+=cut
+
+sub hasWacom() { find { $_->{vendor} == 0x056a || $_->{driver} =~ /wacom/ } usb_probe() }
+
+=item sub hasTouchpad()
+
+is there a touchpad?
+
+=cut
+
+sub hasTouchpad() { any { $_->{Synaptics} || $_->{ALPS} || $_->{Elantech} } getInputDevices() }
+
+=item sub hasNumpad()
+
+is there a numeric pad?
+
+=cut
+
+sub hasNumpad() { any { $_->{Numpad} } getInputDevices() }
+
+sub usbWacom() { grep { $_->{vendor} eq '056a' } getInputDevices() }
sub usbKeyboards() { grep { $_->{media_type} =~ /\|Keyboard/ } usb_probe() }
sub usbStorage() { grep { $_->{media_type} =~ /Mass Storage\|/ } usb_probe() }
+sub has_mesh() { find { /mesh/ } all_files_rec("/proc/device-tree") }
+sub has_53c94() { find { /53c94/ } all_files_rec("/proc/device-tree") }
sub usbKeyboard2country_code {
my ($usb_kbd) = @_;
my ($F, $tmp);
+ # FIXME: usbfs is dead! we should poke somewhere in /sys/ !!!!
sysopen($F, sprintf("/proc/bus/usb/%03d/%03d", $usb_kbd->{pci_bus}, $usb_kbd->{pci_device}), 0) and
sysseek $F, 0x28, 0 and
sysread $F, $tmp, 1 and
@@ -616,6 +1648,9 @@ sub usbKeyboard2country_code {
}
sub probeSerialDevices() {
+ require list_modules;
+ require modules;
+ modules::append_to_modules_loaded_at_startup_for_all_kernels(modules::load_category($::o->{modules_conf}, 'various/serial'));
foreach (0..3) {
#- make sure the device are created before probing,
devices::make("/dev/ttyS$_");
@@ -633,9 +1668,14 @@ sub probeSerialDevices() {
print STDERR "Please wait while probing serial ports...\n";
#- start probing all serial ports... really faster than before ...
#- ... but still take some time :-)
- my %current; foreach (run_program::get_stdout('serial_probe')) {
- $serialprobe{$current{DEVICE}} = { %current } and %current = () if /^\s*$/ && $current{DEVICE};
- $current{$1} = $2 if /^([^=]+)=(.*?)\s*$/;
+ my %current;
+ foreach (run_program::get_stdout('serial_probe')) {
+ if (/^\s*$/) {
+ $serialprobe{$current{DEVICE}} = { %current } if $current{DEVICE};
+ %current = ();
+ } elsif (/^([^=]+)=(.*?)\s*$/) {
+ $current{$1} = $2;
+ }
}
foreach (values %serialprobe) {
@@ -648,54 +1688,29 @@ sub probeSerialDevices() {
sub probeSerial($) { $serialprobe{$_[0]} }
sub hasModem($) {
- $serialprobe{$_[0]} and $serialprobe{$_[0]}{CLASS} eq 'MODEM' and $serialprobe{$_[0]}{DESCRIPTION};
+ $serialprobe{$_[0]} && $serialprobe{$_[0]}{CLASS} eq 'MODEM' && $serialprobe{$_[0]}{DESCRIPTION};
}
sub hasMousePS2 {
my $t; sysread(tryOpen($_[0]) || return, $t, 256) != 1 || $t ne "\xFE";
}
-sub raidAutoStartIoctl() {
- sysopen(my $F, devices::make("md0"), 2) or return;
- ioctl $F, 2324, 0;
-}
-
-sub raidAutoStartRaidtab {
- my (@parts) = @_;
- $::isInstall or return;
- require raid;
- #- faking a raidtab, it seems to be working :-)))
- #- (choosing any inactive md)
- raid::inactivate_all();
- my $detect_one = sub {
- my ($device) = @_;
- my $free_md = devices::make(find { !raid::is_active($_) } map { "md$_" } 0 .. raid::max_nb());
- output("/tmp/raidtab", "raiddev $free_md\n device " . devices::make($device) . "\n");
- log::l("raidAutoStartRaidtab: trying $device");
- run_program::run('raidstart', '-c', "/tmp/raidtab", $free_md);
- };
- $detect_one->($_->{device}) foreach @parts;
-
- #- try again to detect RAID 10
- $detect_one->($_) foreach raid::active_mds();
-
- unlink "/tmp/raidtab";
+sub probeall_unavailable_modules() {
+ map {
+ my $driver = $_->{driver};
+ $driver !~ /:/ &&
+ !member($driver, 'hub', 'unknown', 'amd64_agp') &&
+ !modules::module_is_available($driver) ?
+ $driver :
+ @{[]};
+ } probeall();
}
-sub raidAutoStart {
- my (@parts) = @_;
-
- log::l("raidAutoStart");
- eval { modules::load('md') };
- my %personalities = ('1' => 'linear', '2' => 'raid0', '3' => 'raid1', '4' => 'raid5');
- raidAutoStartIoctl() or raidAutoStartRaidtab(@parts);
- foreach (1..2) { #- try twice for RAID 10
- my @needed_perso = map {
- if_(/^kmod: failed.*md-personality-(.)/ ||
- /^md: personality (.) is not loaded/, $personalities{$1}) } syslog() or last;
- eval { modules::load(@needed_perso) };
- raidAutoStartIoctl() or raidAutoStartRaidtab(@parts);
- }
+sub probeall_dkms_modules() {
+ my @unavailable_modules = probeall_unavailable_modules() or return;
+ require modalias;
+ my $dkms_modules = modalias::parse_file_modules($::prefix . "/usr/share/ldetect-lst/dkms-modules.alias");
+ intersection([ keys(%$dkms_modules) ], \@unavailable_modules);
}
sub usb_description2removable {
@@ -724,19 +1739,31 @@ sub suggest_mount_point {
my ($e) = @_;
my $name = $e->{media_type};
- if (member($name, 'hd', 'fd')) {
+ if (member($e->{media_type}, 'hd', 'fd')) {
if (exists $e->{usb_driver}) {
- return usb2removable($e) || 'removable';
- }
- if (isZipDrive($e)) {
+ $name = usb2removable($e) || 'removable';
+ } elsif (isZipDrive($e)) {
$name = 'zip';
- } elsif ($name eq 'fd') {
+ } elsif ($e->{media_type} eq 'fd') {
$name = 'floppy';
} else {
- log::l("set_removable_mntpoints: don't know what to with hd $e->{device}");
+ log::l("suggest_mount_point: do not know what to with hd $e->{device}");
}
}
$name;
}
+=back
+
+=head1 SEE ALSO
+
+See L<hardware_detection> for the overall view.
+
+=cut
+
1;
+
+#- Local Variables:
+#- mode:cperl
+#- tab-width:8
+#- End:
diff --git a/perl-install/devices.pm b/perl-install/devices.pm
index b2b44aec7..7ac79dcce 100644
--- a/perl-install/devices.pm
+++ b/perl-install/devices.pm
@@ -1,4 +1,4 @@
-package devices; # $Id$
+package devices;
use diagnostics;
use strict;
@@ -8,37 +8,12 @@ use run_program;
use log;
use c;
-sub size {
- my ($dev) = @_;
- sysopen(my $F, $dev, 0) or log::l("open $dev: $!"), return 0;
-
- my $valid_offset = sub { sysseek($F, $_[0], 0) && sysread($F, my $_a, 1) };
-
- #- first try getting the size nicely
- if (my $size = c::total_sectors(fileno $F)) {
- return $size * $common::SECTORSIZE;
- }
-
- #- sad it didn't work, well searching the size using the dichotomy algorithm!
- my $low = 0;
- my ($high, $mid);
-
- #- first find n where 2^n < size <= 2^n+1
- for ($high = 1; $high > 0 && $valid_offset->($high); $high *= 2) { $low = $high }
-
- while ($low < $high - 1) {
- $mid = int(($low + $high) / 2);
- $valid_offset->($mid) ? $low : $high = $mid;
- }
- $low + 1;
-}
-
sub del_loop {
my ($dev) = @_;
run_program::run("losetup", "-d", $dev);
}
sub find_free_loop() {
- foreach (0..7) {
+ foreach (0..255) {
my $dev = make("loop$_");
sysopen(my $F, $dev, 2) or next;
!ioctl($F, c::LOOP_GET_STATUS(), my $_tmp) && $! == 6 or next; #- 6 == ENXIO
@@ -48,20 +23,40 @@ sub find_free_loop() {
}
sub set_loop {
my ($file, $o_encrypt_key, $o_encryption) = @_;
+ require modules;
+ eval { modules::load('loop') };
my $dev = find_free_loop();
if ($o_encrypt_key && $o_encryption) {
+ eval { modules::load('cryptoloop', list_modules::category2modules('various/crypto')) };
my $cmd = "losetup -p 0 -e $o_encryption $dev $file";
log::l("calling $cmd");
open(my $F, "|$cmd");
print $F $o_encrypt_key;
close $F or die "losetup failed";
} else {
- run_program::run("losetup", $dev, $file) or return;
+ run_program::run("losetup", $dev, $file)
+ || run_program::run("losetup", "-r", $dev, $file) or return;
}
$dev;
}
+sub find_compressed_image {
+ my ($name) = @_;
+ foreach (0..255) {
+ my $dev = make("loop$_");
+ my ($file) = `losetup $dev 2>/dev/null` =~ m!\((.*?)\)! or return;
+ $file =~ s!^/sysroot/!/!;
+ basename($file) eq $name and return $dev, $file;
+ }
+ undef;
+}
+
+sub init_device_mapper() {
+ require modules;
+ eval { modules::load('dm-mod') };
+}
+
sub entry {
my ($type, $major, $minor);
local ($_) = @_;
@@ -69,25 +64,6 @@ sub entry {
if (/^0x([\da-f]{3,4})$/i) {
$type = c::S_IFBLK();
($major, $minor) = unmakedev(hex $1);
- } elsif (/^sd(.)(\d{0,2})/) {
- $type = c::S_IFBLK();
- $major = 8;
- $minor = 16 * (ord($1) - ord('a')) + ($2 || 0);
- } elsif (/^hd(.)(\d{0,2})/) {
- $type = c::S_IFBLK();
- ($major, $minor) =
- @{ ${{'a' => [3, 0], 'b' => [3, 64],
- 'c' => [22,0], 'd' => [22,64],
- 'e' => [33,0], 'f' => [33,64],
- 'g' => [34,0], 'h' => [34,64],
- 'i' => [56,0], 'j' => [56,64],
- 'k' => [57,0], 'l' => [57,64],
- 'm' => [88,0], 'n' => [88,64],
- 'o' => [89,0], 'p' => [89,64],
- 'q' => [90,0], 'r' => [90,64],
- 's' => [91,0], 't' => [91,64],
- }}{$1} or die "unknown device $_" };
- $minor += $2 || 0;
} elsif (/^ram(.*)/) {
$type = c::S_IFBLK();
$major = 1;
@@ -102,53 +78,57 @@ sub entry {
$type = c::S_IFBLK();
$major = ($1 eq 'ida' ? 72 : 104) + $2;
$minor = 16 * $3 + ($4 || 0);
- } elsif (m,(ataraid)/d(\d+)(?:p(\d+))?,) {
- # ATA raid "ataraid/d0{p1}"
- $type = c::S_IFBLK();
- $major = 114;
- $minor = 16 * $1 + ($2 || 0);
- } elsif (/(.*?)(\d+)$/) {
- ($type, $major, $minor) =
- @{ ${{"fd" => [ c::S_IFBLK(), 2, 0 ],
- "hidbp-mse-" => [ c::S_IFCHR(), 10, 32 ],
- "lp" => [ c::S_IFCHR(), 6, 0 ],
- "usb/lp" => [ c::S_IFCHR(), 180, 0 ],
- "input/event" => [ c::S_IFCHR(), 13, 64 ],
- "loop" => [ c::S_IFBLK(), 7, 0 ],
- "md" => [ c::S_IFBLK(), 9, 0 ],
- "nst" => [ c::S_IFCHR(), 9, 128 ],
- "scd" => [ c::S_IFBLK(), 11, 0 ],
- "ttyS" => [ c::S_IFCHR(), 4, 64 ],
- "ubd/" => [ c::S_IFBLK(), 98, 0 ],
- }}{$1} };
- $minor += $2;
+ } elsif (my ($prefix, $nb) = /(.*?)(\d+)$/) {
+ my $f = ${{
+ "md" => sub { c::S_IFBLK(), 9, 0 },
+ "ubd/" => sub { c::S_IFBLK(), 98, 0 },
+ }}{$prefix};
+ if ($f) {
+ ($type, $major, $minor) = $f->();
+ $minor += $nb;
+ }
}
unless ($type) {
($type, $major, $minor) =
- @{ ${{"aztcd" => [ c::S_IFBLK(), 29, 0 ],
- "bpcd" => [ c::S_IFBLK(), 41, 0 ],
- "cdu31a" => [ c::S_IFBLK(), 15, 0 ],
- "cdu535" => [ c::S_IFBLK(), 24, 0 ],
- "cm206cd" => [ c::S_IFBLK(), 32, 0 ],
- "gscd" => [ c::S_IFBLK(), 16, 0 ],
- "mcd" => [ c::S_IFBLK(), 23, 0 ],
- "mcdx" => [ c::S_IFBLK(), 20, 0 ],
- "mem" => [ c::S_IFCHR(), 1, 1 ],
- "optcd" => [ c::S_IFBLK(), 17, 0 ],
- "kbd" => [ c::S_IFCHR(), 11, 0 ],
- "psaux" => [ c::S_IFCHR(), 10, 1 ],
+ @{ ${{
"atibm" => [ c::S_IFCHR(), 10, 3 ],
- "random" => [ c::S_IFCHR(), 1, 8 ],
- "sbpcd" => [ c::S_IFBLK(), 25, 0 ],
- "sjcd" => [ c::S_IFBLK(), 18, 0 ],
- "tty" => [ c::S_IFCHR(), 5, 0 ],
- "usbmouse" => [ c::S_IFCHR(), 13, 63 ], #- aka /dev/input/mice
- "adbmouse" => [ c::S_IFCHR(), 10, 10 ], #- PPC
- "vcsa" => [ c::S_IFCHR(), 7, 128 ],
- "zero" => [ c::S_IFCHR(), 1, 5 ],
- "null" => [ c::S_IFCHR(), 1, 3 ],
- }}{$_} or die "unknown device $_ (caller is " . join(":", caller()) . ")" };
+ }}{$_} || [] };
+ }
+ # Lookup non listed devices in /sys
+ unless ($type) {
+ my $sysdev;
+ if (m!input/(.*)! && -e "/sys/class/input/$1/dev") {
+ $sysdev = "/sys/class/input/$1/dev";
+ $type = c::S_IFCHR();
+ } elsif (-e "/sys/block/$_/dev") {
+ $sysdev = "/sys/block/$_/dev";
+ $type = c::S_IFBLK();
+ } elsif (/^(.+)(\d+)$/ && -e "/sys/block/$1/$_/dev") {
+ $sysdev = "/sys/block/$1/$_/dev";
+ $type = c::S_IFBLK();
+ }
+ ($major, $minor) = split(':', chomp_(cat_($sysdev)));
+ }
+ # Lookup partitions in /proc/partitions in case /sys was not available
+ unless ($type) {
+ if (-e "/proc/partitions") {
+ if (cat_("/proc/partitions") =~ /^\s*(\d+)\s+(\d+)\s+\d+\s+$_$/m) {
+ ($major, $minor) = ($1, $2);
+ $type = c::S_IFBLK();
+ }
+ }
}
+ # Try to access directly the device
+ # Now device mapper devices are links and do not appear in /proc or /sys
+ unless ($type) {
+ if (-e "/dev/$_") {
+ my (undef, undef, $mode, undef, undef, undef, $rdev, undef) = stat("/dev/$_");
+ ($major, $minor) = unmakedev($rdev);
+ $type = $mode & c::S_IFMT();
+ }
+ }
+
+ $type or internal_error("unknown device $_");
($type, $major, $minor);
}
@@ -156,83 +136,58 @@ sub entry {
sub make($) {
local $_ = my $file = $_[0];
- if (m,^(.*/(?:dev|tmp))/(.*),) {
+ if (m!^(.*/dev)/(.*)!) {
$_ = $2;
} else {
- $file =~ m|^/| && -e $file or $file = "/tmp/$_";
$file =~ m|^/| && -e $file or $file = "/dev/$_";
}
-e $file and return $file; #- assume nobody takes fun at creating files named as device
- my ($type, $major, $minor) = eval { entry($_) };
- $@ and die "unknown device $_ (caller is " . join(":", caller()) . ")";
-
- if ($file =~ m|/dev/| && -e '/dev/.devfsd') {
- #- argh, creating devices is no good with devfs...
- #- return the file even if the device file doesn't exist
- #- the caller will fail or not, better compatibility than raising an exception here
- return $file;
- }
+ my ($type, $major, $minor) = entry($_);
#- make a directory for this inode if needed.
mkdir_p(dirname($file));
- syscall_('mknod', $file, $type | 0600, makedev($major, $minor)) or die "mknod failed (dev $_): $!";
+ syscall_('mknod', $file, $type | 0600, makedev($major, $minor)) or do {
+ die "mknod failed (dev $_): $!" if ! -e $file; # we may have raced with udev
+ };
$file;
}
+sub simple_partition_scan {
+ my ($part) = @_;
+ $part->{device} =~ /((?:[hsv]|xv)d[a-z]|mmcblk|(nvme\d+n)\d+p)(\d+)$/;
+}
+sub part_number {
+ my ($part) = @_;
+ (simple_partition_scan($part))[1];
+}
+sub part_prefix {
+ my ($part) = @_;
+ (simple_partition_scan($part))[0];
+}
-#- only isomorphic entries are allowed,
-#- i.e. entries which can go devfs -> normal and normal -> devfs
-my %to_devfs = (
- psaux => 'misc/psaux',
- usbmouse => 'input/mice',
-);
-my %to_devfs_prefix = (
- ttyS => 'tts/',
-);
-
-sub to_devfs {
+sub prefix_for_dev {
my ($dev) = @_;
- if (my $r = $to_devfs{$dev}) {
- return $r;
- } elsif ($dev =~ /(.*?)(\d+)$/) {
- my $r = $to_devfs_prefix{$1};
- return "$r$2" if $r;
- }
- readlink("/dev/" . $dev);
+ $dev . ($dev =~ /\d$/ ? 'p' : '');
}
-sub read_proc_partitions_raw() {
- my (undef, undef, @all) = cat_("/proc/partitions");
- grep {
- $_->{size} != 1 && # skip main extended partition
- $_->{size} != 0x3fffffff # skip cdroms (otherwise stops cd-audios)
- } map {
- my %l;
- @l{qw(major minor size dev)} = split;
- \%l;
- } @all;
+sub should_prefer_UUID {
+ my ($dev) = @_;
+ $dev =~ /^((?:[hsv]|xv)d|mmcblk|nvme)/;
}
-sub from_devfs {
- my ($dev) = @_;
- my %from_devfs = reverse %to_devfs;
- if (my $r = $from_devfs{$dev}) {
- return $r;
- } elsif ($dev =~ /(.*?)(\d+)$/) {
- my %from_devfs_prefix = reverse %to_devfs_prefix;
- my $r = $from_devfs_prefix{$1};
- return "$r$2" if $r;
- }
- $dev = "/dev/" . $dev;
- if (-e $dev) {
- my ($major, $minor) = unmakedev((stat($dev))[6]);
- my $r = find { $_->{major} == $major && $_->{minor} == $minor } read_proc_partitions_raw();
- $r and return $r->{dev};
- }
- undef;
+sub symlink_now_and_register {
+ my ($if_struct, $of) = @_;
+ my $if = $if_struct->{device};
+
+ #- add a static udev device node, we can't do it with a udev rule,
+ #- eg, ttySL0 is a symlink created by a daemon
+ symlinkf($if, "$::prefix/usr/lib/udev/devices/$of");
+
+ symlinkf($if, "/dev/$of");
}
+
1;
diff --git a/perl-install/diskdrake/dav.pm b/perl-install/diskdrake/dav.pm
index 1f1008de1..9036596b3 100644
--- a/perl-install/diskdrake/dav.pm
+++ b/perl-install/diskdrake/dav.pm
@@ -1,17 +1,15 @@
-package diskdrake::dav; # $Id$
+package diskdrake::dav;
use diagnostics;
use strict;
use diskdrake::interactive;
use common;
-use fsedit;
-use fs;
sub main {
my ($in, $all_hds) = @_;
my $davs = $all_hds->{davs};
- $in->do_pkgs->ensure_is_installed('davfs', '/sbin/mount.davfs') or return;
+ $in->do_pkgs->ensure_binary_is_installed('davfs2', 'mount.davfs2') or return;
my $quit;
do {
@@ -25,7 +23,7 @@ points, select \"New\".")) },
my $dav = $_;
{ label => $dav->{device}, val => $dav->{mntpoint}, clicked_may_quit => sub { config($in, $dav, $all_hds); 1 } } } @$davs),
{ val => N("New"), clicked_may_quit => sub { create($in, $all_hds); 1 } },
- { val => N("Quit"), icon => "exit", clicked_may_quit => sub { $quit = 1 } },
+ { val => N("Quit"), clicked_may_quit => sub { $quit = 1 } },
]);
} until $quit;
@@ -35,10 +33,11 @@ points, select \"New\".")) },
sub create {
my ($in, $all_hds) = @_;
- my $dav = { type => 'davfs' };
+ my $dav = { fs_type => 'davfs2', mntpoint => 'none' };
ask_server($in, $dav, $all_hds) or return;
push @{$all_hds->{davs}}, $dav;
config($in, $dav, $all_hds);
+ return;
}
sub config {
@@ -47,11 +46,12 @@ sub config {
my $dav = { %$dav_ }; #- working on a local copy so that "Cancel" works
my $action;
- while ($action ne 'Done') {
+ my $exit;
+ while (!$exit && $action ne 'Done') {
my %actions = my @actions = actions($dav);
$action = $in->ask_from_list_('', format_dav_info($dav),
[ map { $_->[0] } group_by2 @actions ], 'Done') or return;
- $actions{$action}->($in, $dav, $all_hds);
+ $exit = $actions{$action}->($in, $dav, $all_hds);
}
%$dav_ = %$dav; #- applying
}
@@ -65,6 +65,7 @@ sub actions {
N_("Server") => \&ask_server,
N_("Mount point") => \&mount_point,
N_("Options") => \&options,
+ N_("Remove") => \&remove,
N_("Done") => sub {},
);
}
@@ -97,11 +98,23 @@ sub ask_server {
sub options {
my ($in, $dav, $all_hds) = @_;
diskdrake::interactive::Options($in, {}, $dav, $all_hds);
+ return;
}
+
+sub remove {
+ my ($in, $dav, $all_hds) = @_;
+ if ($in->ask_yesorno(N("Warning"), N("Are you sure you want to delete this mount point?"))) {
+ @{$all_hds->{davs}} = grep { $_->{mntpoint} ne $dav->{mntpoint} } @{$all_hds->{davs}};
+ return 1;
+ }
+ return;
+}
+
sub mount_point {
my ($in, $dav, $all_hds) = @_;
my $proposition = $dav->{device} =~ /(\w+)/ ? "/mnt/$1" : "/mnt/dav";
diskdrake::interactive::Mount_point_raw_hd($in, $dav, $all_hds, $proposition);
+ return;
}
sub format_dav_info {
diff --git a/perl-install/diskdrake/diskdrake.html b/perl-install/diskdrake/diskdrake.html
deleted file mode 100644
index 7e85c3cde..000000000
--- a/perl-install/diskdrake/diskdrake.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
- <head>
- <title>DiskDrake</title>
- </head>
- <body bgcolor="#ffffff">
-
-<center>
-<table width=80% border=0 cellpadding=10 cellspacing=10>
-<tr>
-<td bgcolor=#ffffff>
-
- <p>
- <img src="images/diskdrake1-def.jpg" alt="diskdrake logo" width=400 height=100>
- <p>
-
- <H2>I- What's it?</H2>
-
- The purpose of the DiskDrake project is to make easier the hard disk
- partitionning. It is graphical, simple and powerful. The license is
- the GPL (General Public License).
- <BR>
- Different skill levels will be available (newbie, advanced user, expert).
- <BR>
- It's written entirely in Perl and Perl/Gtk. It uses resize_fat which is
- a perl rewrite of the work of Andrew Clausen (libresize).
- <P>
- DiskDrake is a project from MandrakeSoft, the company behind the popular
- <a href="http://www.linux-mandrake.com">Linux-Mandrake</a>
- operating-system.
- <P>
- A <A href="http://www.eatel.net/~john/diskdrake/faq.html">FAQ</A> is in construction.
-
- <H2>II - What's available now</H2>
-
- DiskDrake should be usable now...
-
- it can:
- <UL>
- <LI> create partitions
- <LI> delete partitions
- <LI> change type of partition
- <LI> format partitions
- <LI> assign a mount point (<IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(21/07/99)</SMALL> propose a list
- of classic mount points and verify the mount point is valid)
- <LI> mount partitions
- <LI> resize fat partitions
- <LI> resize partitions (when not caring loosing its data)
- <LI> clear partition table
- <LI> auto allocation (usefull for install)
- <LI> write fstab
- </UL>
-
-with nice contextual menu (shortcuts available, but dangerous as all actions are
-available, whereas with the contextual menu these actions are hidden. This will
-change)
-
- <P><IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(25/07/99)</SMALL>
- A new Expert button appear now. It toggles between
- expert and normal mode. Some changes in information displayed:
- <UL>
- <LI> when you click (or focus) the drive tab (eg: hda), you get
- information about your drive: size, geometry
- (cylinders/sectors/heads number), type (eg: IBM DDRS-39130D), and bus/id.
- In normal mode you have only the size.
- <LI> the windows drive letter (eg: C: D: ...)
- <LI> the `start sector' information from normal mode, it still appears in
- expert mode
- <LI> the start&end cylinder of each partition is now displayed in expert
- mode
- <LI> the type is displayed numerically in expert mode
- </UL>
-
- <P><IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(25/07/99)</SMALL>
- The mount point in the `Create' window and `Change type' window is now a
- combo box. It lets you choose between classical mount points (/ /usr /var
- ...) but with already allocated mount points removed.
-
- <H2>III - Actual developpment</H2>
-
- We need people!!!
-
- <UL>
- <LI><B>Tests</B> and remove bugs (no known yet :)
- <LI>integrate ext2resize (which has been release in version 1.0.0 <IMG
- SRC="/images/updated.gif" ALT="updated"><SMALL>(26/07/99)</SMALL>)
- <LI>add possibility to move partition without loosing data (by copying all
- data) <IMG SRC="/images/updated.gif" ALT="updated">
- <LI>Improve the look
- <LI>Add a text-only version
- <LI>Help text, tutorial...
- <LI>Internationalization
- <LI>Add some features...
- <LI>Packaging (rpm, deb, slp...)
- </UL>
-
- <H2>IV- ScreenShot</H2>
-
- Warning: features was the main focus, so don't be too hard :)
-
- <P>
- <CENTER><IMG SRC="1.gif"></IMG></CENTER>
- <CENTER>DiskDrake main interface</CENTER>
-
- <BR>
- <CENTER><IMG SRC="3.gif"></IMG></CENTER>
- <CENTER>create dialog box</CENTER>
-
- <H2>V - Contacts</H2>
-
- A Mailing List has been created to allow developpers to discuss about DiskDrake.<BR>
-
- <P>
- Send a mail to: <A HREF="mailto:sympa@linux-mandrake.com">sympa@linux-mandrake.com</A>
-
- <BR>Put in the subject: subscribe diskdrake
- <BR>When you're subscribed, send your messages to: <A HREF="mailto:diskdrake@linux-mandrake.com">diskdrake@linux-mandrake.com</A>
-
- <P>Otherwise you can contact directly the <A HREF="mailto:pixel@linux-mandrake.com">project leader</A>.
-
- <H2>VI - Download</H2>
-
- Warning: You must have <a href="http://www.perl.com/CPAN/modules/by-module/Gtk/Gtk-Perl-0.5121.tar.gz">Gtk-Perl</a>.
- You can get the rpm from the <a href="http://linux-mandrake.com/cooker/">Cooker</a> distribution.
-
- <P>You also need perl version 5.00503 or better
-
- <P> Here you can find the plain tgz or a rpm:
- <a href="ftp://ftp.phys.ttu.edu/pub/mandrake-devel/contrib/others/diskdrake/">diskdrake</a> (Other mirrors in <a href="http://linux-mandrake.com/cooker/">Cooker</a>)
-
-</td>
-</tr>
-</table>
-<p>
-<a href="/en/fpowerpack.php3"><img src="/images/mandrake6.0-loop.gif" width=468 height=60 alt="Mandrake 6.0 PowerPack"></a>
-</center>
- </body>
- <address><a href="mailto:pixel@linux-mandrake.com"></a></address>
-</html>
diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm
index 5342b939b..ed3955ea7 100644
--- a/perl-install/diskdrake/hd_gtk.pm
+++ b/perl-install/diskdrake/hd_gtk.pm
@@ -1,38 +1,34 @@
-package diskdrake::hd_gtk; # $Id$
+package diskdrake::hd_gtk;
use diagnostics;
use strict;
use common;
-use ugtk2 qw(:helpers :wrappers :create);
-use partition_table qw(:types);
-use partition_table::raw;
+use mygtk3 qw(gtknew);
+use ugtk3 qw(:helpers :wrappers :create);
+use partition_table;
+use fs::type;
use detect_devices;
use diskdrake::interactive;
use run_program;
-use loopback;
use devices;
-use raid;
-use any;
use log;
use fsedit;
-use fs;
+use feature qw(state);
-my ($width, $height, $minwidth) = (400, 50, 5);
+my ($width, $height, $minwidth) = (400, 50, 16);
my ($all_hds, $in, $do_force_reload, $current_kind, $current_entry, $update_all);
my ($w, @notebook, $done_button);
-=begin
-
=head1 SYNOPSYS
-struct {
+ struct {
string name # which is displayed in tab of the notebook
bool no_auto # wether the kind can disappear after creation
- string type # one of { 'hd', 'raid', 'lvm', 'loopback', 'removable', 'nfs', 'smb' }
- hd | hd_lvm | part_raid[] | part_loopback[] | raw_hd[] val
-
+ string type # one of { 'hd', 'raid', 'lvm', 'loopback', 'removable', 'nfs', 'smb', 'dmcrypt' }
+ hd | hd_lvm | part_raid[] | part_dmcrypt[] | part_loopback[] | raw_hd[] val
+
#
widget main_box
widget display_box
@@ -40,49 +36,71 @@ struct {
widget info_box
} current_kind
-part current_entry
+ part current_entry
-notebook current_kind[]
+ notebook current_kind[]
=cut
+sub load_theme() {
+ my $css = "/usr/share/libDrakX/diskdrake.css";
+ -r $css or $css = dirname(__FILE__) . "/../diskdrake.css";
+ -r $css or $css = dirname(__FILE__) . "/../share/diskdrake.css";
+ my $pl = Gtk3::CssProvider->new;
+ $pl->load_from_path($css);
+ Gtk3::StyleContext::add_provider_for_screen(Gtk3::Gdk::Screen::get_default(), $pl, Gtk3::STYLE_PROVIDER_PRIORITY_APPLICATION);
+}
+
sub main {
- ($in, $all_hds, my $nowizard, $do_force_reload, my $interactive_help) = @_;
+ ($in, $all_hds, $do_force_reload) = @_;
@notebook = ();
local $in->{grab} = 1;
- $w = ugtk2->new('DiskDrake');
- $::main_window = $w->{rwindow} if !$::isEmbedded && !$::isInstall;
- my $rc = "/usr/share/libDrakX/diskdrake.rc";
- -r $rc or $rc = dirname(__FILE__) . "/../diskdrake.rc";
- -r $rc or $rc = dirname(__FILE__) . "/../share/diskdrake.rc";
- Gtk2::Rc->parse($rc);
+ $w = ugtk3->new(N("Partitioning"));
+ mygtk3::register_main_window($w->{real_window}) if !$::isEmbedded && !$::isInstall;
+
+ load_theme();
+ $w->{window}->signal_connect('style-updated' => \&load_theme);
# TODO
# is_empty_array_ref($all_hds->{raids}) or raid::stopAll;
# updateLoopback();
gtkadd($w->{window},
- gtkpack_(Gtk2::VBox->new(0,7),
- 0, filesystems_button_box(),
- 1, (my $notebook_widget = Gtk2::Notebook->new),
- 0, (my $per_kind_action_box = Gtk2::HBox->new(0,0)),
- 0, (my $general_action_box = Gtk2::HBox->new(0,0)),
+ gtkpack_(Gtk3::VBox->new(0,7),
+ 0, gtknew(($::isInstall ? ('Title1', 'label') : ('Label_Left', 'text'))
+ => N("Click on a partition, choose a filesystem type then choose an action"),
+ # workaround infamous 6 years old gnome bug #101968:
+ width => mygtk3::get_label_width()
+ ),
+ 1, (my $notebook_widget = Gtk3::Notebook->new),
+ 0, (my $per_kind_action_box = gtknew('HButtonBox', layout => 'edge')),
+ 0, Gtk3::HSeparator->new,
+ 0, (my $general_action_box = gtknew('HBox', spacing => 5)),
),
);
- my $lock;
+ my ($lock, $initializing) = (undef, 1);
$update_all = sub {
+ my ($o_refresh_gui) = @_;
+ state $not_first;
+ return if $initializing && $not_first;
+ $not_first = 1;
$lock and return;
$lock = 1;
- partition_table::assign_device_numbers($_) foreach fsedit::all_hds($all_hds);
+ partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
create_automatic_notebooks($notebook_widget);
- general_action_box($general_action_box, $nowizard, $interactive_help);
+ general_action_box($general_action_box);
per_kind_action_box($per_kind_action_box, $current_kind);
current_kind_changed($in, $current_kind);
current_entry_changed($current_kind, $current_entry);
$lock = 0;
+ if ($o_refresh_gui) {
+ my $new_page = $o_refresh_gui > 1 ? $notebook_widget->get_current_page : 0;
+ $notebook_widget->set_current_page(-1);
+ $notebook_widget->set_current_page($new_page);
+ }
};
create_automatic_notebooks($notebook_widget);
@@ -91,13 +109,32 @@ sub main {
$current_entry = '';
$update_all->();
});
+ # ensure partitions bar is properly sized on first display:
+ $notebook_widget->signal_connect(realize => $update_all);
$w->sync;
+ # add a bogus tab so that gtk+ displayed everything when there's only one disk:
+ $notebook_widget->prepend_page(Gtk3::Label->new, Gtk3::Label->new);
+ $notebook_widget->set_current_page(0);
+ # there's always at least one child (at least a button for create a new part on empty discs):
+ my @children = $current_kind->{display_box} ? $current_kind->{display_box}->get_children : ();
+ # workaround for $notebook_widget being realized too early:
+ if (!@children ||!$done_button) {
+ $notebook_widget->set_current_page(-1);
+ $notebook_widget->set_current_page(0);
+ undef $initializing;
+ $update_all->(2);
+ }
+ undef $initializing;
+ # remove bogus tab we added just to be sure gtk+ displayed everything:
+ $notebook_widget->remove_page(0);
+ # restore position when there's several disks:
+ $notebook_widget->set_current_page(0);
$done_button->grab_focus;
- $in->ask_okcancel(N("Read carefully!"), N("Please make a backup of your data first"), 1) or return
- if $::isStandalone;
- $in->ask_warn('',
-N("If you plan to use aboot, be carefull to leave a free space (2048 sectors is enough)
-at the beginning of the disk")) if arch() eq 'alpha' && !$::isEmbedded;
+ if (!$::testing) {
+ $in->ask_from_list_(N("Read carefully"), N("Please make a backup of your data first"),
+ [ N_("Exit"), N_("Continue") ], N_("Continue")) eq N_("Continue") or return
+ if $::isStandalone;
+ }
$w->main;
}
@@ -110,20 +147,33 @@ sub try {
sub try_ {
my ($name, $f, @args) = @_;
- fsedit::undo_prepare($all_hds) if $name ne 'Undo';
-
+ my $dm_active_before = ($current_entry && $current_entry->{dm_active} && $current_entry->{dm_name});
my $v = eval { $f->($in, @args, $all_hds) };
if (my $err = $@) {
+ warn $err, "\n", backtrace() if $in->isa('interactive::gtk');
$in->ask_warn(N("Error"), formatError($err));
}
+ my $refresh = 0;
if ($v eq 'force_reload') {
$all_hds = $do_force_reload->();
+ $refresh = 1;
+ }
+
+ if (!diskdrake::interactive::is_part_existing($current_entry, $all_hds)) {
+ $current_entry = '';
+ } elsif (!$dm_active_before && $current_entry->{dm_active} && $current_entry->{dm_name}) {
+ if (my $mapped_part = fs::get::device2part("mapper/$current_entry->{dm_name}", $all_hds->{dmcrypts})) {
+ $current_entry = $mapped_part;
+ $refresh = 2;
+ }
}
+ $update_all->($refresh);
- $current_entry = '' if !diskdrake::interactive::is_part_existing($current_entry, $all_hds);
- $update_all->();
+ Gtk3->main_quit if $v && member($name, 'Done');
+}
- Gtk2->main_quit if $v && member($name, 'Done', 'Wizard');
+sub get_action_box_size() {
+ $::isStandalone ? 200 : 150, $::isEmbedded ? 150 : 180;
}
################################################################################
@@ -133,46 +183,64 @@ sub add_kind2notebook {
my ($notebook_widget, $kind) = @_;
die if $kind->{main_box};
- $kind->{display_box} = gtkset_size_request(Gtk2::HBox->new(0,0), $width, $height);
- $kind->{action_box} = gtkset_size_request(Gtk2::VBox->new(0,0), $::isStandalone ? 165 : 150, $::isEmbedded ? 150 : 180);
- $kind->{info_box} = Gtk2::VBox->new(0,0);
- $kind->{main_box} =
- gtkpack_(Gtk2::VBox->new(0,7),
- 0, $kind->{display_box},
- 1, gtkpack_(Gtk2::HBox->new(0,7),
- 0, $kind->{action_box},
- 1, $kind->{info_box}));
- ugtk2::add2notebook($notebook_widget, $kind->{name}, $kind->{main_box});
+ $kind->{display_box} = gtkset_size_request(Gtk3::HBox->new(0,0), $width, $height);
+ $kind->{action_box} = gtkset_size_request(Gtk3::VBox->new, get_action_box_size());
+ $kind->{info_box} = Gtk3::VBox->new(0,0);
+ my $box =
+ gtkpack_(Gtk3::VBox->new(0,7),
+ 0, create_scrolled_window($kind->{display_box}, [ 'automatic', 'never' ]),
+ 0, filesystems_button_box(),
+ 1, $kind->{info_box});
+ $kind->{main_box} = gtknew('HBox', spacing => 5, children => [
+ 1, $box,
+ 0, $kind->{action_box},
+ ]);
+ ugtk3::add2notebook($notebook_widget, $kind->{name}, $kind->{main_box});
push @notebook, $kind;
$kind;
}
+sub interactive_help() {
+ if ($::isInstall) {
+ $in->display_help({ interactive_help_id => 'diskdrake' });
+ } else {
+ require run_program;
+ run_program::raw({ detach => 1 }, 'drakhelp', '--id', 'diskdrake');
+ }
+}
+
sub general_action_box {
- my ($box, $nowizard, $interactive_help) = @_;
+ my ($box) = @_;
$_->destroy foreach $box->get_children;
- gtkadd($box, gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => $interactive_help)) if $interactive_help;
+ my $box_start = gtknew('HButtonBox', layout => 'start', children_tight => [
+ gtknew('Install_Button', text => N("Help"), clicked => \&interactive_help)
+ ]);
- my @actions = (if_($::isInstall && !$nowizard, N_("Wizard")),
+ my @actions = (
diskdrake::interactive::general_possible_actions($in, $all_hds),
N_("Done"));
+ my $box_end = gtknew('HButtonBox', layout => 'end', spacing => 5);
foreach my $s (@actions) {
- my $button = Gtk2::Button->new(translate($s));
+ my $button = Gtk3::Button->new(translate($s));
$done_button = $button if $s eq 'Done';
- gtkadd($box, gtksignal_connect($button, clicked => sub { try($s) }));
+ gtkadd($box_end, gtksignal_connect($button, clicked => sub { try($s) }));
}
+ gtkadd($box, $box_start, $box_end);
}
sub per_kind_action_box {
my ($box, $kind) = @_;
$_->destroy foreach $box->get_children;
- $kind->{type} =~ /hd|lvm/ or return;
-
- foreach my $s (diskdrake::interactive::hd_possible_actions($in, kind2hd($kind), $all_hds)) {
+ my @actions = (if_($kind->{type} =~ /hd|lvm/, diskdrake::interactive::hd_possible_actions_base($in)),
+ diskdrake::interactive::hd_possible_actions_extra($in));
+ foreach my $s (@actions) {
gtkadd($box,
- gtksignal_connect(Gtk2::Button->new(translate($s)),
+ gtksignal_connect(Gtk3::Button->new(translate($s)),
clicked => sub { try($s, kind2hd($kind)) }));
}
+ # make sure a big translations window to resize (as by default all buttons have the same size):
+ $box->set_child_non_homogeneous($_, Glib::TRUE), "\n" foreach $box->get_children;
}
sub per_entry_action_box {
my ($box, $kind, $entry) = @_;
@@ -181,19 +249,18 @@ sub per_entry_action_box {
if ($entry) {
my @buttons = map {
my $s = $_;
- my $w = Gtk2::Button->new(translate($s));
+ my $w = Gtk3::Button->new(translate($s));
$w->signal_connect(clicked => sub { try($s, kind2hd($kind), $entry) });
$w;
} diskdrake::interactive::part_possible_actions($in, kind2hd($kind), $entry, $all_hds);
- gtkadd($box, gtkadd(Gtk2::Frame->new(N("Choose action")),
- create_scrolled_window(gtkpack__(Gtk2::VBox->new(0,0), @buttons)))) if @buttons;
+ gtkadd($box, create_scrolled_window(gtkpack__(Gtk3::VBox->new, @buttons), undef, 'none')) if @buttons;
} else {
my $txt = !$::isStandalone && fsedit::is_one_big_fat_or_NT($all_hds->{hds}) ?
-N("You have one big MicroSoft Windows partition.
+N("You have one big Microsoft Windows partition.
I suggest you first resize that partition
(click on it, then click on \"Resize\")") : N("Please click on a partition");
- gtkpack($box, gtktext_insert(Gtk2::TextView->new, $txt));
+ gtkpack($box, gtktext_insert(Gtk3::TextView->new, $txt));
}
}
@@ -206,20 +273,18 @@ sub per_entry_info_box {
} elsif ($kind->{type} =~ /hd|lvm/) {
$info = diskdrake::interactive::format_hd_info($kind->{val});
}
- gtkpack($box, gtkadd(Gtk2::Frame->new(N("Details")), gtkset_justify(Gtk2::Label->new($info), 'left')));
+ gtkpack($box, gtkadd(gtkcreate_frame(N("Details")),
+ gtknew('HBox', border_width => 5, children_loose => [
+ gtkset_alignment(gtkset_justify(gtknew('Label', selectable => 1, text => $info), 'left'), 0, 0) ])));
}
sub current_kind_changed {
my ($_in, $kind) = @_;
+ return if !$kind->{display_box};
$_->destroy foreach $kind->{display_box}->get_children;
-
- my $v = $kind->{val};
- my @parts =
- $kind->{type} eq 'raid' ? grep { $_ } @$v :
- $kind->{type} eq 'loopback' ? @$v : fsedit::get_fstab_and_holes($v);
- my $totalsectors =
- $kind->{type} =~ /raid|loopback/ ? sum(map { $_->{size} } @parts) : $v->{totalsectors};
+ my @parts = kind2parts($kind);
+ my $totalsectors = kind2sectors($kind, @parts);
create_buttons4partitions($kind, $totalsectors, @parts);
}
@@ -245,38 +310,70 @@ sub create_automatic_notebooks {
};
$may_add->(hd2kind($_)) foreach @{$all_hds->{hds}};
$may_add->(lvm2kind($_)) foreach @{$all_hds->{lvms}};
- $may_add->(raid2kind()) if any { $_ } @{$all_hds->{raids}};
+ $may_add->(raid2kind()) if @{$all_hds->{raids}};
$may_add->(loopback2kind()) if @{$all_hds->{loopbacks}};
- @notebook = grep_index {
- my $b = $_->{marked} or $notebook_widget->remove_page($::i);
- $b;
+ my $i = 0;
+ @notebook = grep {
+ if ($_->{marked}) {
+ $i++;
+ 1;
+ } else {
+ $notebook_widget->remove_page($i);
+ 0;
+ }
} @notebook;
- @notebook or die \N("No hard drives found");
+ @notebook or $in->ask_warn(N("Error"), N("No hard disk drives found")), $in->exit(1);
}
################################################################################
# parts: helpers
################################################################################
sub create_buttons4partitions {
- my ($kind, $totalsectors, @parts) = @_;
+ my ($kind, $totalsectors, @all_parts) = @_;
+
+ if ($w->{window}->get_window) {
+ my $windowwidth = $w->{window}->get_allocated_width;
+ $windowwidth = $::real_windowwidth if $windowwidth <= 1;
+ $width = $windowwidth - first(get_action_box_size()) - 25;
+ }
- $width = max($width, 0.9 * second($w->{window}->window->get_size)) if $w->{window}->window;
+ my @parts = grep { $_->{size} > MB(2) || !isEmpty($_) } @all_parts;
my $ratio = $totalsectors ? ($width - @parts * $minwidth) / $totalsectors : 1;
- while (1) {
+ my $i = 1;
+ while ($i < 30) {
+ $i++;
my $totalwidth = sum(map { $_->{size} * $ratio + $minwidth } @parts);
$totalwidth <= $width and last;
$ratio /= $totalwidth / $width * 1.1;
}
+ my $current_button;
+ my $set_current_button = sub {
+ my ($w) = @_;
+ $current_button->set_active(0) if $current_button;
+ ($current_button = $w)->set_active(1);
+ };
+
foreach my $entry (@parts) {
- my $w = Gtk2::Button->new_with_label($entry->{mntpoint} || '') or die '';
- $w->signal_connect(focus_in_event => sub { current_entry_changed($kind, $entry); $w->grab_focus }); #- grab_focus is needed because gtk2 is buggy. Forcing an expose event would be enough
- $w->signal_connect(button_press_event => sub { current_entry_changed($kind, $entry); $w->grab_focus }); #- grab_focus is needed because gtk2 is buggy. The creation of widgets causes the lost of the focus
+ if (isRawLUKS($entry) && $entry->{dm_active}) {
+ my $p = find { $entry->{dm_name} eq $_->{dmcrypt_name} } @{$all_hds->{dmcrypts}};
+ $entry = $p if $p;
+ }
+ my $info = $entry->{mntpoint} || $entry->{device_LABEL} || '';
+ $info .= "\n" . ($entry->{size} ? formatXiB($entry->{size}, 512) : N("Unknown")) if $info;
+ my $w = ($info ? Gtk3::ToggleButton->new_with_label($info) : Gtk3::ToggleButton->new) or internal_error('new_with_label');
+ $info and $w->get_child->set_ellipsize('end');
+ $w->set_tooltip_text($info);
+ $w->signal_connect(clicked => sub {
+ $current_button != $w or return;
+ current_entry_changed($kind, $entry);
+ $set_current_button->($w);
+ });
$w->signal_connect(key_press_event => sub {
my (undef, $event) = @_;
- member('control-mask', @{$event->state}) or return;
+ member('control-mask', @{$event->state}) && $w == $current_button or return;
my $c = chr $event->keyval;
foreach my $s (diskdrake::interactive::part_possible_actions($in, kind2hd($kind), $entry, $all_hds)) {
@@ -292,10 +389,19 @@ sub create_buttons4partitions {
last;
}
});
- $w->set_name("PART_" . type2name($entry->{type}));
+ if (isLUKS($entry) || isRawLUKS($entry)) {
+ $w->set_image(gtknew("Image", file => "security-strong"));
+ }
+ my @colorized_fs_types = qw(ext3 ext4 xfs swap vfat ntfs ntfs-3g exfat);
+ $w->set_name("PART_" . (isEmpty($entry) ? 'empty' :
+ $entry->{fs_type} && member($entry->{fs_type}, @colorized_fs_types) ? $entry->{fs_type} :
+ 'other'));
$w->set_size_request($entry->{size} * $ratio + $minwidth, 0);
- gtkpack__($kind->{display_box}, $w);
- $w->grab_focus if $current_entry && fsedit::is_same_part($current_entry, $entry);
+ gtkpack($kind->{display_box}, $w);
+ if ($current_entry && fsedit::are_same_partitions($current_entry, $entry)) {
+ $set_current_button->($w);
+ $w->grab_focus;
+ }
}
}
@@ -304,7 +410,7 @@ sub create_buttons4partitions {
# disks: helpers
################################################################################
sub current_hd() {
- $current_kind->{type} eq 'hd' or die 'current_hd called but $current_kind is not an hd';
+ $current_kind->{type} =~ /hd|lvm/ or die 'current_hd called but $current_kind is not an hd (' . $current_kind->{type} . ')';
$current_kind->{val};
}
sub current_part() {
@@ -314,7 +420,7 @@ sub current_part() {
sub kind2hd {
my ($kind) = @_;
- $kind->{type} =~ /hd|lvm/ ? $kind->{val} : {}
+ $kind->{type} =~ /hd|lvm/ ? $kind->{val} : bless({}, 'partition_table::raw');
}
sub hd2kind {
@@ -323,40 +429,63 @@ sub hd2kind {
}
sub filesystems_button_box() {
- my @types = (N_("Ext2"), N_("Journalised FS"), N_("Swap"), arch() =~ /sparc/ ? N_("SunOS") : arch() eq "ppc" ? N_("HFS") : N_("Windows"),
+ my @types = (N_("Ext4"), N_("XFS"), N_("Swap"), N_("Windows"),
N_("Other"), N_("Empty"));
- my %name2type = (Ext2 => 0x83, 'Journalised FS' => 0x483, Swap => 0x82, Other => 1, "Windows" => 0xb, HFS => 0x402);
-
- gtkpack(Gtk2::HBox->new(0,0),
- N("Filesystem types:"),
- map { my $w = Gtk2::Button->new(translate($_));
- my $t = $name2type{$_};
- $w->signal_connect(clicked => sub { try_('', \&createOrChangeType, $t, current_hd(), current_part()) });
- $w->can_focus(0);
- $w->set_name($_);
+ my %name2fs_type = (Ext3 => 'ext3', Ext4 => 'ext4', 'XFS' => 'xfs', Swap => 'swap', Other => 'other', "Windows" => 'vfat', HFS => 'hfs');
+
+ gtkpack(Gtk3::HBox->new,
+ map {
+ my $t = $name2fs_type{$_};
+ my $w = gtknew('Button', text => translate($_), widget_name => 'PART_' . ($t || 'empty'),
+ tip => N("Filesystem types:"),
+ clicked => sub { try_('', \&createOrChangeType, $t, current_hd(), current_part()) });
+ $w->set_can_focus(0);
$w;
} @types);
}
sub createOrChangeType {
- my ($in, $type, $hd, $part, $all_hds) = @_;
+ my ($in, $fs_type, $hd, $part, $all_hds) = @_;
- $part ||= !fsedit::get_fstab($hd) &&
- { type => 0, start => 1, size => $hd->{totalsectors} - 1 };
+ $part ||= !fs::get::hds_fstab($hd) &&
+ { pt_type => 0, start => 1, size => $hd->{totalsectors} - 1 };
$part or return;
- if ($type == 1) {
- $in->ask_warn('', N("Use ``%s'' instead", $part->{type} ? N("Type") : N("Create")));
- } elsif (!$type) {
- $in->ask_warn('', N("Use ``%s'' instead", N("Delete"))) if $part->{type};
- } elsif ($part->{type}) {
- return if $type == $part->{type};
- $in->ask_warn('', isBusy($part) ? N("Use ``Unmount'' first") : N("Use ``%s'' instead", N("Type")));
- } else {
- $part->{type} = $type;
+ if ($fs_type eq 'other') {
+ if (isEmpty($part)) {
+ try('Create', $hd, $part);
+ } else {
+ try('Type', $hd, $part);
+ }
+ } elsif (!$fs_type) {
+ if (isEmpty($part)) {
+ $in->ask_warn(N("Warning"), N("This partition is already empty"));
+ } else {
+ try('Delete', $hd, $part);
+ }
+ } elsif (isEmpty($part)) {
+ fs::type::set_fs_type($part, $fs_type);
diskdrake::interactive::Create($in, $hd, $part, $all_hds);
+ } else {
+ return if $fs_type eq $part->{fs_type};
+ $in->ask_warn('', isBusy($part) ? N("Use ``Unmount'' first") : N("Use ``%s'' instead (in expert mode)", N("Type")));
}
}
+sub kind2parts {
+ my ($kind) = @_;
+ my $v = $kind->{val};
+ my @parts =
+ $kind->{type} eq 'raid' ? grep { $_ } @$v :
+ $kind->{type} eq 'loopback' ? @$v : fs::get::hds_fstab_and_holes($v);
+ @parts;
+}
+
+sub kind2sectors {
+ my ($kind, @parts) = @_;
+ my $v = $kind->{val};
+ $kind->{type} =~ /raid|loopback/ ? sum(map { $_->{size} } @parts) : $v->{totalsectors};
+}
+
################################################################################
# lvms: helpers
################################################################################
@@ -372,6 +501,11 @@ sub raid2kind() {
{ type => 'raid', name => 'raid', val => $all_hds->{raids} };
}
+sub raid2real_kind {
+ my ($raid) = @_;
+ { type => 'raid', name => 'raid', val => $raid };
+}
+
################################################################################
# loopbacks: helpers
################################################################################
diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm
index 68cfeaee8..59e79782c 100644
--- a/perl-install/diskdrake/interactive.pm
+++ b/perl-install/diskdrake/interactive.pm
@@ -1,32 +1,47 @@
-package diskdrake::interactive; # $Id$
+package diskdrake::interactive;
use diagnostics;
use strict;
+use utf8;
+use lib qw(/usr/lib/libDrakX); # for perl_checker
+use MDK::Common; # for perl_checker
use common;
-use partition_table qw(:types);
+use fs::type;
+use fs::loopback;
+use fs::format;
+use fs::mount_options;
+use fs;
+use partition_table;
use partition_table::raw;
use detect_devices;
use run_program;
-use loopback;
use devices;
use fsedit;
use raid;
use any;
use log;
-use fs;
-
-
-=begin
=head1 SYNOPSYS
-struct part {
+ struct part {
int active # one of { 0 | 0x80 } x86 only, primary only
int start # in sectors
int size # in sectors
- int type # 0x82, 0x83, 0x6 ...
+ int pt_type # 0x82, 0x83, 0x6 ...
+ string fs_type # 'ext2', 'nfs', ...
+ string type_name # 'Linux RAID', 'Linux Logical Volume Manager', ...
+
+ int part_number # 1 for hda1...
string device # 'hda5', 'sdc1' ...
+ string device_LABEL # volume label. LABEL=xxx or /dev/disk/by-label/xxx can be used in fstab instead of the device
+ string device_UUID # volume UUID. UUID=xxx or /dev/disk/by-uuid/xxx can be used in fstab instead of the device
+ bool prefer_device_LABEL # should the {device_LABEL} or the {device} be used in fstab
+ bool prefer_device_UUID # should the {device_UUID} or the {device} be used in fstab
+ bool prefer_device # should the {device} be used in fstab
+ bool faked_device # false if {device} is a real device, true for nfs/smb/dav/none devices. If the field does not exist, we do not know
+ bool device_LABEL_changed # true if device_LABEL is different from the one on the disk
+
string rootDevice # 'sda', 'hdc' ... (can also be a VG_name)
string real_mntpoint # directly on real /, '/tmp/hdimage' ...
string mntpoint # '/', '/usr' ...
@@ -34,128 +49,145 @@ struct part {
string device_windobe # 'C', 'D' ...
string encrypt_key # [0-9A-Za-z./]{20,}
string comment # comment to have in fstab
-
+ string volume_label #
+
+ bool is_removable # is the partition on a removable drive
bool isMounted
-
+
bool isFormatted
- bool notFormatted
+ bool notFormatted
# isFormatted means the device is formatted
# !isFormatted && notFormatted means the device is not formatted
- # !isFormatted && !notFormatted means we don't know which state we're in
-
- int raid # for partitions of type isRawRAID and which isPartOfRAID, the raid device number
+ # !isFormatted && !notFormatted means we do not know which state we're in
+
+ string raid # for partitions of type isRawRAID and which isPartOfRAID, the raid device
string lvm # partition used as a PV for the VG with {lvm} as VG_name #-#
loopback loopback[] # loopback living on this partition
-
+
+ string dmcrypt_key
+ string dm_name
+ bool dm_active
+
# internal
- string real_device # '/dev/loop0', '/dev/loop1' ...
-
+ string real_device # '/dev/loop0', '/dev/loop1' ... (used for encrypted loopback)
+
# internal CHS (Cylinder/Head/Sector)
- int start_cyl, start_head, start_sec, end_cyl, end_head, end_sec,
+ int start_cyl, start_head, start_sec, end_cyl, end_head, end_sec,
}
-struct part_allocate inherits part {
+ struct part_allocate inherits part {
int maxsize # in sectors (alike "size")
- int ratio #
+ int min_hd_size # in sectors (do not allocate if the drive is smaller than the given size)
+ int ratio #
string hd # 'hda', 'hdc'
string parts # for creating raid partitions. eg: 'foo bar' where 'foo' and 'bar' are mntpoint
}
-struct part_raid inherits part {
- string chunk-size # usually '64k'
+ struct part_raid inherits part {
+ string chunk-size # in KiB, usually '64'
string level # one of { 0, 1, 4, 5, 'linear' }
-
+ string UUID
+
part disks[]
-
+
# invalid: active, start, rootDevice, device_windobe?, CHS
}
-struct part_loopback inherits part {
+ struct part_dmcrypt inherits part {
+ string dmcrypt_name
+
+ # rootDevice is special here: it is the device hosting the dm
+}
+
+ struct part_loopback inherits part {
string loopback_file # absolute file name which is relative to the partition
part loopback_device # where the loopback file live
-
+
# device is special here: it is the absolute filename of the loopback file.
-
+
# invalid: active, start, rootDevice, device_windobe, CHS
}
-struct part_lvm inherits part {
+ struct part_lvm inherits part {
# invalid: active, start, device_windobe, CHS
string lv_name
}
-struct partition_table_elem {
+ struct partition_table_elem {
part normal[] #
part extended # the main/next extended
part raw[4] # primary partitions
}
-struct geom {
- int heads
+ struct geom {
+ int heads
int sectors
int cylinders
int totalcylinders # for SUN, forget it
int start # always 0, forget it
}
-struct hd {
+ struct hd {
int totalsectors # size in sectors
string device # 'hda', 'sdc' ...
string device_alias # 'cdrom', 'floppy' ...
string media_type # one of { 'hd', 'cdrom', 'fd', 'tape' }
string capacity # contain of the strings of { 'burner', 'DVD' }
string info # name of the hd, eg: 'QUANTUM ATLAS IV 9 WLS'
-
+
bool readonly # is it allowed to modify the partition table
bool getting_rid_of_readonly_allowed # is it forbidden to write because the partition table is badly handled, or is it because we MUST not change the partition table
- bool isDirty # does it need to be written to the disk
- bool needKernelReread # must we tell the kernel to reread the partition table
- bool hasBeenDirty # for undo
+ bool isDirty # does it need to be written to the disk
+ list will_tell_kernel # list of actions to tell to the kernel so that it knows the new partition table
bool rebootNeeded # happens when a kernel reread failed
- bool partitionsRenumbered # happens when you
+ list partitionsRenumbered # happens when you
# - remove an extended partition which is not the last one
# - add an extended partition which is the first extended partition
+ list allPartitionsRenumbered # used to update bootloader configuration
int bus, id
-
+
+ bool is_removable # is it a removable drive
+
partition_table_elem primary
partition_table_elem extended[]
-
+
geom geom
-
+
# internal
string prefix # for some RAID arrays device=>c0d0 and prefix=>c0d0p
string file # '/dev/hda' ...
}
-struct hd_lvm inherits hd {
+ struct hd_lvm inherits hd {
int PE_size # block size (granularity, similar to cylinder size on x86)
string VG_name # VG name
-
+
part_lvm disks[]
-
+
# invalid: bus, id, extended, geom
}
-struct raw_hd inherits hd {
- string type # 0x82, 0x83, 'nfs', ...
+ struct raw_hd inherits hd {
+ string fs_type # 'ext2', 'nfs', ...
string mntpoint # '/', '/usr' ...
string options # 'defaults', 'noauto'
-
- # invalid: isDirty, needKernelReread, hasBeenDirty, rebootNeeded, primary, extended
+
+ # invalid: isDirty, will_tell_kernel, rebootNeeded, primary, extended
}
-struct all_hds {
+ struct all_hds {
hd hds[]
hd_lvm lvms[]
- part_raid raids[] # indexed by number: raids[$n]{device} is "md$n"
+ part_raid raids[]
+ part_dmcrypt dmcrypts[]
part_loopback loopbacks[]
raw_hd raw_hds[]
raw_hd nfss[]
raw_hd smbs[]
raw_hd davs[]
raw_hd special[]
-
+
# internal: if fstab_to_string($all_hds) eq current_fstab then no need to save
string current_fstab
}
@@ -165,7 +197,7 @@ struct all_hds {
sub main {
- my ($in, $all_hds, $_nowizard, $do_force_reload, $_interactive_help) = @_;
+ my ($in, $all_hds, $do_force_reload) = @_;
if ($in->isa('interactive::gtk')) {
require diskdrake::hd_gtk;
@@ -173,54 +205,54 @@ sub main {
}
my ($current_part, $current_hd);
-
+
while (1) {
my $choose_txt = $current_part ? N_("Choose another partition") : N_("Choose a partition");
- my $parts_and_holes = [ fsedit::get_all_fstab_and_holes($all_hds) ];
+ my $parts_and_holes = [ fs::get::fstab_and_holes($all_hds) ];
my $choose_part = sub {
- $current_part = $in->ask_from_listf('diskdrake', translate($choose_txt),
+ $current_part = $in->ask_from_listf('diskdrake', translate($choose_txt),
sub {
- my $hd = fsedit::part2hd($_[0] || return, $all_hds);
+ my $hd = fs::get::part2hd($_[0] || return, $all_hds);
format_part_info_short($hd, $_[0]);
}, $parts_and_holes, $current_part) || return;
- $current_hd = fsedit::part2hd($current_part, $all_hds);
+ $current_hd = fs::get::part2hd($current_part, $all_hds);
};
$choose_part->() if !$current_part;
return if !$current_part;
my %actions = my @actions = (
- if_($current_part,
+ if_($current_part,
(map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $current_part, $all_hds) } } part_possible_actions($in, $current_hd, $current_part, $all_hds)),
'____________________________' => sub {},
),
if_(@$parts_and_holes > 1, $choose_txt => $choose_part),
if_($current_hd,
(map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $all_hds) } } hd_possible_actions_interactive($in, $current_hd, $all_hds)),
- ),
+ ),
(map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $all_hds) } } general_possible_actions($in, $all_hds)),
);
my ($actions) = list2kv(@actions);
my $a;
if ($current_part) {
$in->ask_from_({
- cancel => N("Exit"),
+ cancel => N("Exit"),
title => 'diskdrake',
messages => format_part_info($current_hd, $current_part),
},
[ { val => \$a, list => $actions, format => \&translate, type => 'list', sort => 0, gtk => { use_boxradio => 0 } } ]) or last;
my $v = eval { $actions{$a}() };
if (my $err = $@) {
- $in->ask_warn(N("Error"), formatError($err));
+ $in->ask_warn(N("Error"), formatError($err));
}
if ($v eq 'force_reload') {
$all_hds = $do_force_reload->();
}
- $current_hd = $current_part = '' if !is_part_existing($current_part, $all_hds);
+ $current_hd = $current_part = '' if !is_part_existing($current_part, $all_hds);
} else {
$choose_part->();
}
- partition_table::assign_device_numbers($_) foreach fsedit::all_hds($all_hds);
+ partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
}
return if eval { Done($in, $all_hds) };
if (my $err = $@) {
@@ -237,18 +269,7 @@ sub main {
################################################################################
sub general_possible_actions {
my ($_in, $_all_hds) = @_;
- N_("Undo"), ($::expert ? N_("Toggle to normal mode") : N_("Toggle to expert mode"));
-}
-
-
-sub Undo {
- my ($_in, $all_hds) = @_;
- fsedit::undo($all_hds);
-}
-
-sub Wizard {
- $::o->{wizard} = 1;
- goto &Done;
+ if_($::isInstall, N_("More"));
}
sub Done {
@@ -256,20 +277,34 @@ sub Done {
eval { raid::verify($all_hds->{raids}) };
if (my $err = $@) {
$::expert or die;
- $in->ask_okcancel('', [ formatError($err), N("Continue anyway?") ]) or return;
+ $in->ask_okcancel(N("Confirmation"), [ formatError($err), N("Continue anyway?") ]) or return;
}
foreach (@{$all_hds->{hds}}) {
- if (!write_partitions($in, $_)) {
+ if (!write_partitions($in, $_, 'skip_check_rebootNeeded')) {
return if !$::isStandalone;
$in->ask_yesorno(N("Quit without saving"), N("Quit without writing the partition table?"), 1) or return;
}
}
+ foreach (@{$all_hds->{raids}}) {
+ raid::make($all_hds->{raids}, $_);
+ }
if (!$::isInstall) {
my $new = fs::fstab_to_string($all_hds);
- if ($new ne $all_hds->{current_fstab} && $in->ask_yesorno('', N("Do you want to save /etc/fstab modifications"), 1)) {
+ if ($new ne $all_hds->{current_fstab} && $in->ask_yesorno(N("Confirmation"), N("Do you want to save the /etc/fstab modifications?"), 1)) {
$all_hds->{current_fstab} = $new;
fs::write_fstab($all_hds);
}
+ update_bootloader_for_renumbered_partitions($in, $all_hds);
+
+ if (any { $_->{rebootNeeded} } @{$all_hds->{hds}}) {
+ $in->ask_warn(N("Partitioning"), N("You need to reboot for the partition table modifications to take effect"));
+ tell_wm_and_reboot();
+ }
+ }
+ if (my $part = find { $_->{mntpoint} && !maybeFormatted($_) } fs::get::fstab($all_hds)) {
+ $in->ask_okcancel(N("Warning"), N("You should format partition %s.
+Otherwise no entry for mount point %s will be written in fstab.
+Quit anyway?", $part->{device}, $part->{mntpoint})) or return if $::isStandalone;
}
1;
}
@@ -277,225 +312,245 @@ sub Done {
################################################################################
# per-hd actions
################################################################################
-sub hd_possible_actions {
- my ($_in, $hd, $_all_hds) = @_;
- (
- if_(!$hd->{readonly} || $hd->{getting_rid_of_readonly_allowed}, N_("Clear all")),
+sub hd_possible_actions_base {
+ my ($hd) = @_;
+ (
+ if_(!$hd->{readonly} || $hd->{getting_rid_of_readonly_allowed}, N_("Clear all")),
if_(!$hd->{readonly} && $::isInstall, N_("Auto allocate")),
- N_("More"),
);
}
+
+sub hd_possible_actions_extra {
+ my ($_hd) = @_;
+ $::expert ? N_("Normal mode") : N_("Expert mode");
+}
+
+
+sub hd_possible_actions {
+ my ($_in, $hd, $_all_hds) = @_;
+ hd_possible_actions_base($hd);
+ hd_possible_actions_extra($hd);
+}
+
sub hd_possible_actions_interactive {
my ($_in, $_hd, $_all_hds) = @_;
- &hd_possible_actions, N_("Hard drive information");
+ &hd_possible_actions, N_("Hard disk drive information");
}
sub Clear_all {
my ($in, $hd, $all_hds) = @_;
-
+ return if detect_devices::is_xbox(); #- do not let them wipe the OS
my @parts = partition_table::get_normal_parts($hd);
foreach (@parts) {
RemoveFromLVM($in, $hd, $_, $all_hds) if isPartOfLVM($_);
RemoveFromRAID($in, $hd, $_, $all_hds) if isPartOfRAID($_);
+ RemoveFromDm($in, $hd, $_, $all_hds) if $_->{dm_active};
}
if (isLVM($hd)) {
- lvm::lv_delete($hd, $_) foreach @parts
+ lvm::lv_delete($hd, $_) foreach @parts;
} else {
$hd->{readonly} = 0; #- give a way out of readonly-ness. only allowed when getting_rid_of_readonly_allowed
- $hd->{getting_rid_of_readonly_allowed} = 0;
- partition_table::raw::zero_MBR_and_dirty($hd);
+ $hd->{getting_rid_of_readonly_allowed} = 0; #- we don't need this flag anymore
+ fsedit::partition_table_clear_and_initialize($all_hds->{lvms}, $hd, $in);
}
+ fsedit::init_mntpnt_suggestions($all_hds, $hd, 1);
}
sub Auto_allocate {
my ($in, $hd, $all_hds) = @_;
- my $suggestions = partitions_suggestions($in) or return;
+ my $suggestions = partitions_suggestions($in, $all_hds, $hd) or return;
my %all_hds_ = %$all_hds;
- $all_hds_{hds} = [ sort { $a == $hd ? -1 : 1 } @{$all_hds->{hds}} ];
+ $all_hds_{hds} = [ sort { $a == $hd ? -1 : 1 } fs::get::hds($all_hds) ];
- eval { fsedit::auto_allocate(\%all_hds_, $suggestions) };
+ eval { fsedit::auto_allocate(\%all_hds_, $suggestions, $hd) };
if ($@) {
$@ =~ /partition table already full/ or die;
- $in->ask_warn("", [
+ $in->ask_warn("", [
N("All primary partitions are used"),
- N("I can't add any more partition"),
+ N("I cannot add any more partitions"),
N("To have more partitions, please delete one to be able to create an extended partition"),
]);
}
}
sub More {
- my ($in, $hd) = @_;
+ my ($in, $_hd) = @_;
my $r;
- $in->ask_from('', '',
+ $in->ask_from(N("More"), '',
[
- { val => N("Save partition table"), clicked_may_quit => sub { SaveInFile($in, $hd); 1 } },
- { val => N("Restore partition table"), clicked_may_quit => sub { ReadFromFile($in, $hd); 1 } },
- { val => N("Rescue partition table"), clicked_may_quit => sub { Rescuept($in, $hd); 1 } },
- if_($::isInstall,
- { val => N("Reload partition table"), clicked_may_quit => sub { $r = 'force_reload'; 1 } }),
- if_($::isInstall,
- { text => N("Removable media automounting"), val => \$::o->{useSupermount}, type => 'bool' },
- ),
+ { val => N("Reload partition table"), clicked_may_quit => sub { $r = 'force_reload'; 1 } },
],
) && $r;
}
-sub ReadFromFile {
- my ($in, $hd) = @_;
-
- my $file = $::isStandalone ? $in->ask_file(N("Select file")) : devices::make("fd0") or return;
-
- eval {
- catch_cdie { partition_table::load($hd, $file) }
- sub {
- $@ =~ /bad totalsectors/ or return;
- $in->ask_yesorno('',
-N("The backup partition table has not the same size
-Still continue?"), 0);
- };
- };
- if (my $err = $@) {
- $in->ask_warn(N("Error"), formatError($err));
- }
-}
-
-sub SaveInFile {
- my ($in, $hd) = @_;
-
- my $file = $::isStandalone ?
- $in->ask_file(N("Select file")) :
- $in->ask_okcancel(N("Warning"),
-N("Insert a floppy in drive
-All data on this floppy will be lost"), 1) && devices::make(detect_devices::floppy()) or return;
-
- eval { partition_table::save($hd, $file) };
- if (my $err = $@) {
- $in->ask_warn(N("Error"), formatError($err));
- }
-}
-
-sub Rescuept {
- my ($in, $hd) = @_;
- my $_w = $in->wait_message('', N("Trying to rescue partition table"));
- fsedit::rescuept($hd);
-}
-
sub Hd_info {
my ($in, $hd) = @_;
- $in->ask_warn('', [ N("Detailed information"), format_hd_info($hd) ]);
+ $in->ask_warn(N("Warning"), [ N("Detailed information"), format_hd_info($hd) ]);
}
################################################################################
# per-part actions
################################################################################
+sub is_LVM_resizable {
+ my ($part) = @_;
+ member($part->{fs_type}, qw(btrfs ext3 ext4 nilfs2 reiserfs xfs));
+}
sub part_possible_actions {
- my ($_in, $hd, $part, $_all_hds) = @_;
+ my ($_in, $hd, $part, $all_hds) = @_;
$part or return;
my %actions = my @l = (
- N_("Mount point") => '($part->{real_mntpoint} && common::usingRamdisk()) || (!isBusy && !isSwap && !isNonMountable)',
- N_("Type") => '!isBusy && $::expert && (!readonly || ($part->{type} & 0xff) == 0x83)',
- N_("Options") => '$::expert',
- N_("Resize") => '!isBusy && !readonly && !isSpecial || isLVM($hd) && isMounted && isThisFs("xfs", $part)',
- N_("Move") => '!isBusy && !readonly && !isSpecial && $::expert && 0', # disable for the moment
- N_("Format") => '!isBusy && !readonly && ($::expert || $::isStandalone)',
+ N_("View") => '!isSwap && !isNonMountable && maybeFormatted',
+ N_("Mount point") => '$part->{real_mntpoint} || (!isBusy && !isSwap && !isNonMountable)',
+ N_("Type") => '!isBusy && $::expert && (!readonly || $part->{pt_type} == 0x83)',
+ N_("Options") => '!isSwap($part) && !isNonMountable && $::expert',
+ N_("Label") => '!isNonMountable && $::expert && fs::format::canEditLabel($part)',
+ N_("Resize") => '!isBusy && !readonly && !isSpecial || isLVM($hd) && is_LVM_resizable',
+ N_("Format") => '!isBusy && isFormatable && (!readonly && ($::expert || $::isStandalone) || fs::type::isRawLUKS($part))',
N_("Mount") => '!isBusy && (hasMntpoint || isSwap) && maybeFormatted && ($::expert || $::isStandalone)',
N_("Add to RAID") => '!isBusy && isRawRAID && (!isSpecial || isRAID)',
N_("Add to LVM") => '!isBusy && isRawLVM',
+ N_("Use") => '!isBusy && fs::type::isRawLUKS($part) && !$part->{notFormatted}',
N_("Unmount") => '!$part->{real_mntpoint} && isMounted',
N_("Delete") => '!isBusy && !readonly',
N_("Remove from RAID") => 'isPartOfRAID',
N_("Remove from LVM") => 'isPartOfLVM',
- N_("Modify RAID") => 'isPartOfRAID && !isMounted($all_hds->{raids}[$part->{raid}])',
- N_("Use for loopback") => '!$part->{real_mntpoint} && isMountableRW && !isSpecial && hasMntpoint && $::expert',
+ N_("Remove from dm") => '$part->{dm_active}',
+ N_("Modify RAID") => 'canModifyRAID',
+ N_("Use for loopback") => '!$part->{real_mntpoint} && isMountableRW && !isSpecial && hasMntpoint && maybeFormatted && $::expert',
);
my ($actions_names) = list2kv(@l);
+ my $_all_hds = $all_hds; #- help perl_checker know the $all_hds *is* used in the macro below
my %macros = (
readonly => '$hd->{readonly}',
hasMntpoint => '$part->{mntpoint}',
- isPrimary => 'isPrimary($part, $hd)',
+ canModifyRAID => 'isPartOfRAID($part) && !isMounted(fs::get::device2part($part->{raid}, $all_hds->{raids}))',
);
- if ($part->{type} == 0) {
+ if (isEmpty($part)) {
if_(!$hd->{readonly}, N_("Create"));
+ } elsif ($part->{pt_type} == 0xbf && detect_devices::is_xbox()) {
+ #- XBox OS partitions, do not allow anything
+ return;
} else {
- grep {
+ grep {
my $cond = $actions{$_};
while (my ($k, $v) = each %macros) {
$cond =~ s/$k/qq(($v))/e;
}
$cond =~ s/(^|[^:\$]) \b ([a-z]\w{3,}) \b ($|[\s&\)])/$1 . $2 . '($part)' . $3/exg;
- eval $cond;
+ my $res = eval $cond;
+ if (my $err = $@) {
+ warn "ERROR: Bogus condition for '$actions{$_}': $err\n";
+ }
+ $res;
} @$actions_names;
}
}
+sub View {
+ my ($in, $_hd, $part, $_all_hds) = @_;
+ my $handle = any::inspect($part, $::prefix);
+ if ($handle) {
+ $in->ask_directory({ 'directory' => $handle->{dir} });
+ } else {
+ $in->ask_warn(N("Error"), N("Failed to mount partition"));
+ }
+}
+
+#- in case someone use diskdrake only to create partitions,
+#- ie without assigning a mount point,
+#- do not suggest mount points anymore
+my $do_suggest_mount_point = $::isInstall;
+
sub Create {
my ($in, $hd, $part, $all_hds) = @_;
my ($def_start, $def_size, $max) = ($part->{start}, $part->{size}, $part->{start} + $part->{size});
$part->{maxsize} = $part->{size}; $part->{size} = 0;
- if (!fsedit::suggest_part($part, $all_hds)) {
+ if (fsedit::suggest_part($part, $all_hds)) {
+ $part->{mntpoint} = '' if !$do_suggest_mount_point;
+ } else {
$part->{size} = $part->{maxsize};
- $part->{type} ||= 0x483;
+ fs::type::suggest_fs_type($part, defaultFS());
+ }
+ if (isLVM($hd)) {
+ lvm::suggest_lv_name($hd, $part);
}
#- update adjustment for start and size, take into account the minimum partition size
#- including one less sector for start due to a capacity to increase the adjustement by
#- one.
my ($primaryOrExtended, $migrate_files);
- my $type = type2name($part->{type});
- my $mb_size = $part->{size} >> 11;
+ my $type_name = fs::type::part2type_name($part);
+ my $mb_size = to_Mb($part->{size});
my $has_startsector = ($::expert || arch() !~ /i.86/) && !isLVM($hd);
+ my $use_dmcrypt;
+ my $requested_type;
$in->ask_from(N("Create a new partition"), '',
[
+ { label => N("Create a new partition"), title => 1 },
if_($has_startsector,
- { label => N("Start sector: "), val => \$part->{start}, min => $def_start, max => ($max - min_partition_size($hd)), type => 'range' },
+ { label => N("Start sector: "), val => \$part->{start}, min => $def_start, max => ($max - min_partition_size($hd)),
+ type => 'range', SpinButton => $::expert, changed => sub { $mb_size = min($mb_size, to_Mb($max - $part->{start})) } },
),
- { label => N("Size in MB: "), val => \$mb_size, min => min_partition_size($hd) >> 11, max => $def_size >> 11, type => 'range' },
- { label => N("Filesystem type: "), val => \$type, list => [ partition_table::important_types() ], sort => 0 },
+ { label => N("Size in MB: "), val => \$mb_size, min => to_Mb(min_partition_size($hd)), max => to_Mb($def_size),
+ type => 'range', SpinButton => $::expert, changed => sub { $part->{start} = min($part->{start}, $max - $mb_size * 2048) } },
+ { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert, $hd) ],
+ sort => 0, if_($::expert, gtk => { wrap_width => 2 }, do_not_ellipsize => 1) },
{ label => N("Mount point: "), val => \$part->{mntpoint}, list => [ fsedit::suggestions_mntpoint($all_hds), '' ],
- disabled => sub { my $p = { type => name2type($type) }; isSwap($p) || isNonMountable($p) }, type => 'combo', not_edit => 0,
+ if_(isLVM($hd), changed => sub {
+ undef $part->{lv_name};
+ lvm::suggest_lv_name($hd, $part);
+ }), type => 'combo', not_edit => 0,
+ disabled => sub { my $p = fs::type::type_name2subpart($type_name); isSwap($p) || isNonMountable($p) }, type => 'combo', not_edit => 0,
},
if_($::expert && $hd->hasExtended,
{ label => N("Preference: "), val => \$primaryOrExtended, list => [ '', "Extended", "Primary", if_($::expert, "Extended_0x85") ] },
),
- if_($::expert && isLVM($hd),
+ if_(isLVM($hd),
{ label => N("Logical volume name "), val => \$part->{lv_name}, list => [ qw(root swap usr home var), '' ], sort => 0, not_edit => 0 },
),
- ], changed => sub {
- if ($part->{start} + ($mb_size << 11) > $max) {
- if ($_[0] == 0) {
- # Start sector changed => restricting Size
- $mb_size = ($max - $part->{start}) >> 11;
- } else {
- # Size changed => restricting Start sector
- $part->{start} = $max - ($mb_size << 11);
- }
- }
- }, complete => sub {
+ { label => N("Encrypt partition"), type => 'bool', val => \$use_dmcrypt, disabled => sub { $part->{mntpoint} eq "/boot" } },
+ { label => N("Encryption key "), val => \$part->{dmcrypt_key}, disabled => sub { !$use_dmcrypt }, hidden => 1, weakness_check => 1 },
+ { label => N("Encryption key (again)"), val => \$part->{dmcrypt_key2}, disabled => sub { !$use_dmcrypt }, hidden => 1 },
+ ], complete => sub {
$part->{size} = from_Mb($mb_size, min_partition_size($hd), $max - $part->{start}); #- need this to be able to get back the approximation of using MB
- $part->{type} = name2type($type);
+ $do_suggest_mount_point = 0 if !$part->{mntpoint};
+ put_in_hash($part, fs::type::type_name2subpart($type_name));
$part->{mntpoint} = '' if isNonMountable($part);
$part->{mntpoint} = 'swap' if isSwap($part);
- fs::set_default_options($part);
+ fs::mount_options::set_default($part, ignore_is_removable => 1);
+
+ # if user asked to encrypt the partition, use dm-crypt and create requested fs inside
+ if ($use_dmcrypt) {
+ my $err;
+ $err = N("The encryption keys do not match") unless $part->{dmcrypt_key} eq $part->{dmcrypt_key2};
+ $err = N("Missing encryption key") unless $part->{dmcrypt_key};
+ if ($err) {
+ $in->ask_warn(N("Error"), $err);
+ return 1;
+ }
+ $requested_type = $type_name;
+ $type_name = 'Encrypted';
+ }
+ put_in_hash($part, fs::type::type_name2subpart($type_name));
check($in, $hd, $part, $all_hds) or return 1;
$migrate_files = need_migration($in, $part->{mntpoint}) or return 1;
-
+
my $seen;
- eval {
+ eval {
catch_cdie { fsedit::add($hd, $part, $all_hds, { force => 1, primaryOrExtended => $primaryOrExtended }) }
sub { $seen = 1; $in->ask_okcancel('', formatError($@)) };
};
if (my $err = $@) {
if ($err =~ /raw_add/ && $hd->hasExtended && !$hd->{primary}{extended}) {
- $in->ask_warn(N("Error"), N("You can't create a new partition
+ $in->ask_warn(N("Error"), N("You cannot create a new partition
(since you reached the maximal number of primary partitions).
First remove a primary partition and create an extended partition."));
return 0;
@@ -508,24 +563,46 @@ First remove a primary partition and create an extended partition."));
},
) or return;
+ if ($use_dmcrypt) {
+ write_partitions($in, $hd) or return;
+ # Initialize it and format it
+ dmcrypt_format($in, $hd, $part, $all_hds);
+ my $p = find { $part->{dm_name} eq $_->{dmcrypt_name} } @{$all_hds->{dmcrypts}};
+ my $p2 = fs::type::type_name2subpart($requested_type);
+ $p->{fs_type} = $p2->{fs_type};
+ $p->{type_name} = $requested_type;
+ $p->{mntpoint} = $part->{mntpoint};
+ $part->{mntpoint} = '';
+ if ($::isStandalone) {
+ fs::format::check_package_is_installed_format($in->do_pkgs, $p->{fs_type}) or log::l("Missing package");
+ }
+ _format_raw($in, $p, $all_hds, isRawLVM($p));
+ }
+
warn_if_renumbered($in, $hd);
if ($migrate_files eq 'migrate') {
+ # FIXME check encrypt case
format_($in, $hd, $part, $all_hds) or return;
migrate_files($in, $hd, $part);
- fs::mount_part($part);
+ fs::mount::part($part);
}
}
sub Delete {
my ($in, $hd, $part, $all_hds) = @_;
+ if (fs::type::isLUKS($part)) {
+ my $p = find { $_->{dm_name} eq $part->{dmcrypt_name} } partition_table::get_normal_parts($hd);
+ RemoveFromDm($in, $hd, $p, $all_hds);
+ $part = $p;
+ }
if (isRAID($part)) {
raid::delete($all_hds->{raids}, $part);
} elsif (isLVM($hd)) {
lvm::lv_delete($hd, $part);
} elsif (isLoopback($part)) {
my $f = "$part->{loopback_device}{mntpoint}$part->{loopback_file}";
- if (-e $f && $in->ask_yesorno('', N("Remove the loopback file?"))) {
+ if (-e $f && $in->ask_yesorno(N("Warning"), N("Remove the loopback file?"))) {
unlink $f;
}
my $l = $part->{loopback_device}{loopback};
@@ -533,9 +610,6 @@ sub Delete {
delete $part->{loopback_device}{loopback} if @$l == 0;
fsedit::recompute_loopbacks($all_hds);
} else {
- if (arch() =~ /ppc/) {
- undef $partition_table::mac::bootstrap_part if isAppleBootstrap($part) && ($part->{device} = $partition_table::mac::bootstrap_part);
- }
partition_table::remove($hd, $part);
warn_if_renumbered($in, $hd);
}
@@ -544,44 +618,87 @@ sub Delete {
sub Type {
my ($in, $hd, $part) = @_;
- my $warn = sub { ask_alldatawillbelost($in, $part, N_("After changing type of partition %s, all data on this partition will be lost")) };
+ my $warned;
+ my $warn = sub {
+ $warned = 1;
+ if (maybeFormatted($part)) {
+ ask_alldatawillbelost($in, $part, N_("After changing type of partition %s, all data on this partition will be lost"));
+ } else {
+ 1;
+ }
+ };
- #- for ext2, warn after choosing as ext2->ext3 can be achieved without loosing any data :)
- isExt2($part) or $warn->() or return;
+ #- for ext2/ext3, warn after choosing as ext2->ext3 and ext*->ext4 can be achieved without loosing any data :)
+ member($part->{fs_type}, qw(ext2 ext3)) || $part->{fs_type} =~ /ntfs/ or $warn->() or return;
- my @types = partition_table::important_types();
+ my @types = fs::type::type_names($::expert, $hd);
- #- when readonly, Type() is allowed only when changing between various { 0x83, 0x183, ... }
- @types = grep { (name2type($_) & 0xff) == 0x83 } @types if $hd->{readonly};
+ #- when readonly, Type() is allowed only when changing {fs_type} but not {pt_type}
+ #- eg: switching between ext2, ext3, ext4, reiserfs...
+ @types = grep { fs::type::type_name2pt_type($_) == $part->{pt_type} } @types if $hd->{readonly};
- my $type_name = type2name($part->{type});
- $in->ask_from_({ title => N("Change partition type"),
- messages => N("Which filesystem do you want?"),
- focus_first => 1,
- },
- [ { label => N("Type"), val => \$type_name, list => \@types, sort => 0, not_edit => !$::expert } ]) or return;
+ my $type_name = fs::type::part2type_name($part);
+ $in->ask_from_({ title => N("Change partition type") },
+ [
+ { label => N("Which filesystem do you want?"), title => 1 },
+ { label => N("Type"), val => \$type_name, type => 'list', list => \@types, sort => 1, do_not_ellipsize => 1,
+ focus => sub { 1 }, not_edit => 1, gtk => { wrap_width => 2 } } ]) or return;
- my $type = $type_name && name2type($type_name);
+ my $type = $type_name && fs::type::type_name2subpart($type_name);
- if (isExt2($part) && isThisFs('ext3', { type => $type })) {
- my $_w = $in->wait_message('', N("Switching from ext2 to ext3"));
+ if ($part->{fs_type} eq 'ext2' && $type->{fs_type} eq 'ext3') {
+ my $_w = $in->wait_message(N("Please wait"), N("Switching from %s to %s", 'ext2', $type->{fs_type}));
if (run_program::run("tune2fs", "-j", devices::make($part->{device}))) {
- $part->{type} = $type;
- $part->{isFormatted} = 1; #- assume that if tune2fs works, partition is formatted
+ put_in_hash($part, $type);
+ set_isFormatted($part, 1); #- assume that if tune2fs works, partition is formatted
- #- disable the fsck (don't do it together with -j in case -j fails?)
- fs::disable_forced_fsck($part->{device});
+ #- disable the fsck (do not do it together with -j in case -j fails?)
+ fs::format::disable_forced_fsck($part->{device});
return;
}
+ } elsif (member($part->{fs_type}, qw(ext2 ext3)) && $type->{fs_type} eq 'ext4') {
+ # FIXME enable some nice flags
+ put_in_hash($part, $type);
+ return;
+ } elsif ($type->{fs_type} =~ /ntfs/ && $part->{fs_type} =~ /ntfs/) {
+ if ($type->{fs_type} eq 'ntfs-3g') {
+ local $::prefix = ''; # For draklive-install
+ $in->do_pkgs->ensure_binary_is_installed('ntfs-3g', 'mount.ntfs-3g') or return;
+ }
+ put_in_hash($part, $type);
+ return;
}
#- either we switch to non-ext3 or switching losslessly to ext3 failed
- !isExt2($part) or $warn->() or return;
+ $warned or $warn->() or return;
if (defined $type) {
check_type($in, $type, $hd, $part) and fsedit::change_type($type, $hd, $part);
}
}
+sub Label {
+ my ($in, $hd, $part) = @_;
+ my $new_label = $part->{device_LABEL} || "";
+
+ write_partitions($in, $hd) or return;
+
+ $in->ask_from(N("Set volume label"),
+ maybeFormatted($part) ?
+ N("Beware, this will be written to disk as soon as you validate!")
+ : N("Beware, this will be written to disk only after formatting!"),
+ [
+ { label => N("Which volume label?"), title => 1 },
+ { label => N("Label:"), val => \$new_label } ]) or return;
+
+ fs::format::check_package_is_installed_label($in->do_pkgs, $part->{fs_type}) or return;
+ $part->{prefer_device_LABEL} = to_bool($part->{device_LABEL}) && !isLVM($part);
+ return if $new_label eq $part->{device_LABEL};
+ $part->{device_LABEL} = $new_label;
+ $part->{device_LABEL_changed} = 1;
+ fs::format::clean_label($part);
+ fs::format::write_label($part);
+}
+
sub Mount_point {
my ($in, $hd, $part, $all_hds) = @_;
@@ -589,25 +706,27 @@ sub Mount_point {
my $mntpoint = $part->{mntpoint} || do {
my $part_ = { %$part };
if (fsedit::suggest_part($part_, $all_hds)) {
- fsedit::has_mntpoint('/', $all_hds) || $part_->{mntpoint} eq '/boot' ? $part_->{mntpoint} : '/';
+ fs::get::has_mntpoint('/', $all_hds) || $part_->{mntpoint} eq '/boot' ? $part_->{mntpoint} : '/';
} else { '' }
};
- $in->ask_from_({ messages =>
- isLoopback($part) ? N("Where do you want to mount the loopback file %s?", $part->{loopback_file}) :
- N("Where do you want to mount device %s?", $part->{device}),
- focus_first => 1,
+ my $msg = isLoopback($part) ? N("Where do you want to mount the loopback file %s?", $part->{loopback_file}) :
+ N("Where do you want to mount device %s?", $part->{device});
+ $in->ask_from_({
callbacks => {
complete => sub {
- !isPartOfLoopback($part) || $mntpoint or $in->ask_warn('',
-N("Can't unset mount point as this partition is used for loop back.
+ !isPartOfLoopback($part) || $mntpoint or $in->ask_warn(N("Error"),
+N("Cannot unset mount point as this partition is used for loop back.
Remove the loopback first")), return 1;
- $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $hd, $part, $all_hds) or return 1;
+ $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
$migrate_files = need_migration($in, $mntpoint) or return 1;
0;
} },
},
- [ { label => N("Mount point"), val => \$mntpoint,
- list => [ uniq(if_($mntpoint, $mntpoint), fsedit::suggestions_mntpoint($all_hds), '') ],
+ [
+ { label => $msg, title => 1 },
+ { label => N("Mount point"), val => \$mntpoint,
+ list => [ uniq(if_($mntpoint, $mntpoint), fsedit::suggestions_mntpoint($all_hds), '') ],
+ focus => sub { 1 },
not_edit => 0 } ],
) or return;
$part->{mntpoint} = $mntpoint;
@@ -615,7 +734,7 @@ Remove the loopback first")), return 1;
if ($migrate_files eq 'migrate') {
format_($in, $hd, $part, $all_hds) or return;
migrate_files($in, $hd, $part);
- fs::mount_part($part);
+ fs::mount::part($part);
}
}
sub Mount_point_raw_hd {
@@ -623,29 +742,57 @@ sub Mount_point_raw_hd {
my $mntpoint = $part->{mntpoint} || shift @propositions;
$in->ask_from(
+ N("Mount point"),
'',
- N("Where do you want to mount %s?", $part->{device}),
- [ { label => N("Mount point"), val => \$mntpoint,
- list => [ if_($mntpoint, $mntpoint), '', @propositions ],
+ [
+ { label => N("Where do you want to mount %s?", $part->{device}), title => 1 },
+ { label => N("Mount point"), val => \$mntpoint,
+ list => [ if_($mntpoint, $mntpoint), '', @propositions ],
not_edit => 0 } ],
complete => sub {
- $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, {}, $part, $all_hds) or return 1;
+ $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
0;
}
) or return;
$part->{mntpoint} = $mntpoint;
}
+#- side-effects: mounts the fs
+sub _get_dir_for_online_resize {
+ my ($part) = @_;
+ my $dir = "/tmp/tmp_resize_" . $part->{fs_type} . ".$$";
+ if ($part->{isMounted}) {
+ $dir = ($::prefix || '') . $part->{mntpoint};
+ } else {
+ mkdir_p($dir);
+ fs::mount::mount(devices::make($part->{device}), $dir, $part->{fs_type});
+ }
+ return $dir;
+}
+
+sub _set_min_size_from_avail_space {
+ my ($part, $min) = @_;
+ if (defined(my $free = fs::df($part))) {
+ $$min = max($$min, $part->{size} - $free);
+ }
+}
+
sub Resize {
my ($in, $hd, $part) = @_;
- my (%nice_resize, $block_count, $free_block, $block_size);
- my ($min, $max) = (min_partition_size($hd), partition_table::next_start($hd, $part) - $part->{start});
+ my (%nice_resize, $online_resize);
+ my $low_part = $part;
+
+ if (isLUKS($part)) {
+ $low_part = find { $_->{dm_name} eq $part->{dmcrypt_name} } partition_table::get_normal_parts($hd);
+ }
+
+ my ($min, $max) = (min_partition_size($hd), max_partition_resize($hd, $low_part));
if (maybeFormatted($part)) {
# here we may have a non-formatted or a formatted partition
# -> doing as if it was formatted
- if (isFat($part)) {
+ if ($part->{fs_type} eq 'vfat') {
write_partitions($in, $hd) or return;
#- try to resize without losing data
my $_w = $in->wait_message(N("Resizing"), N("Computing FAT filesystem bounds"));
@@ -653,51 +800,68 @@ sub Resize {
require resize_fat::main;
$nice_resize{fat} = resize_fat::main->new($part->{device}, devices::make($part->{device}));
$min = max($min, $nice_resize{fat}->min_size);
- $max = min($max, $nice_resize{fat}->max_size);
- } elsif (isExt2($part) || isThisFs('ext3', $part)) {
+ $max = min($max, $nice_resize{fat}->max_size);
+ } elsif (member($part->{fs_type}, qw(ext2 ext3 ext4))) {
write_partitions($in, $hd) or return;
- my $dev = devices::make($part->{device});
- my $r = run_program::get_stdout('dumpe2fs', $dev);
- $r =~ /Block count:\s*(\d+)/ and $block_count = $1;
- $r =~ /Free blocks:\s*(\d+)/ and $free_block = $1;
- $r =~ /Block size:\s*(\d+)/ and $block_size = $1;
- log::l("dumpe2fs $nice_resize{ext2} gives: Block_count=$block_count, Free_blocks=$free_block, Block_size=$block_size");
- if ($block_count && $free_block && $block_size) {
- $min = max($min, ($block_count - $free_block) * ($block_size / 512));
- $nice_resize{ext2} = $dev;
+ require diskdrake::resize_ext2;
+ if ($nice_resize{ext2} = diskdrake::resize_ext2->new($part->{device}, devices::make($part->{device}))) {
+ $min = max($min, $nice_resize{ext2}->min_size);
+ } else {
+ delete $nice_resize{ext2};
}
- } elsif (isThisFs('ntfs', $part)) {
+ } elsif ($part->{fs_type} eq 'f2fs') {
+ $min = $part->{size}; #- ensure the user can only increase
+ $nice_resize{f2fs} = 1;
+ } elsif ($part->{fs_type} =~ /ntfs/) {
write_partitions($in, $hd) or return;
require diskdrake::resize_ntfs;
+ diskdrake::resize_ntfs::check_prog($in) or return;
$nice_resize{ntfs} = diskdrake::resize_ntfs->new($part->{device}, devices::make($part->{device}));
$min = $nice_resize{ntfs}->min_size or delete $nice_resize{ntfs};
- } elsif (isThisFs("reiserfs", $part)) {
+ } elsif ($part->{fs_type} eq 'reiserfs') {
write_partitions($in, $hd) or return;
- if (defined(my $free = fs::df($part))) {
- $nice_resize{reiserfs} = 1;
- $min = max($min, $part->{size} - $free);
+ $nice_resize{reiserfs} = 1;
+ if ($part->{isMounted}) {
+ $min = $part->{size}; #- ensure the user can only increase
+ } else {
+ _set_min_size_from_avail_space($part, \$min);
}
- } elsif (isThisFs('xfs', $part) && isLVM($hd) && $::isStandalone && isMounted($part)) {
+ } elsif ($part->{fs_type} eq 'xfs') {
$min = $part->{size}; #- ensure the user can only increase
- $nice_resize{xfs} = 1;
+ $online_resize = $part->{fs_type};
+ } elsif (member($part->{fs_type}, qw(btrfs nilfs2))) {
+ $online_resize = $part->{fs_type};
+ }
+
+ # Btrf, nilfs2 && XFS only support online resizing
+ # (Ext3/4 too but we can resize it offline so we don't care - though growing online is interesting)
+ if ($online_resize) {
+ write_partitions($in, $hd) or return;
+ $nice_resize{$online_resize} = 1;
+ _set_min_size_from_avail_space($part, \$min);
}
+
#- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
#- this save at least a cylinder (less than 8Mb).
$min += partition_table::raw::cylinder_size($hd);
- $min >= $max and return $in->ask_warn('', N("This partition is not resizeable"));
+ $min >= $max and return $in->ask_warn(N("Warning"), N("This partition is not resizeable"));
#- for these, we have tools to resize partition table
#- without losing data (or at least we hope so :-)
if (%nice_resize) {
- ask_alldatamaybelost($in, $part, N_("All data on this partition should be backed-up")) or return;
+ ask_alldatamaybelost($in, $part, N_("All data on this partition should be backed up")) or return;
} else {
ask_alldatawillbelost($in, $part, N_("After resizing partition %s, all data on this partition will be lost")) or return;
}
}
- my $mb_size = $part->{size} >> 11;
- $in->ask_from(N("Resize"), N("Choose the new size"), [
- { label => N("New size in MB: "), val => \$mb_size, min => $min >> 11, max => $max >> 11, type => 'range' },
+ my $mb_size = to_Mb($part->{size});
+ my ($gmin, $gmax) = (to_Mb($min), to_Mb($max));
+ $in->ask_from(N("Resize"), '', [
+ { label => N("Choose the new size"), title => 1 },
+ { label => N("New size in MB: "), val => \$mb_size, min => $gmin, max => $gmax, type => 'range', SpinButton => $::expert },
+ { label => N("Minimum size: %s MB", $gmin) },
+ { label => N("Maximum size: %s MB", $gmax) },
]) or return;
@@ -705,9 +869,8 @@ sub Resize {
$part->{size} == $size and return;
my $oldsize = $part->{size};
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
- $part->{size} = $size;
- $hd->adjustEnd($part);
+ $low_part->{size} = $part->{size} = $size;
+ $hd->adjustEnd($low_part);
undef $@;
my $_b = before_leaving { $@ and $part->{size} = $oldsize };
@@ -716,164 +879,251 @@ sub Resize {
my ($write_partitions) = @_;
if (isLVM($hd)) {
- lvm::lv_resize($part, $oldsize);
+ lvm::lv_resize($low_part, $oldsize);
} else {
- partition_table::adjust_local_extended($hd, $part);
+ if ($write_partitions && isLUKS($part)) {
+ run_program::run('cryptsetup', 'luksClose', $part->{dmcrypt_name}) or die("Failed to resize partition, maybe it is mounted");
+ }
+ partition_table::will_tell_kernel($hd, resize => $low_part);
+ partition_table::adjust_local_extended($hd, $low_part);
partition_table::adjust_main_extended($hd);
- write_partitions($in, $hd) or return if $write_partitions && %nice_resize;
+ write_partitions($in, $hd) or return if $write_partitions && (%nice_resize || isLUKS($part));
+ if ($write_partitions && isLUKS($part)) {
+ require fs::dmcrypt;
+ fs::dmcrypt::open_part([], $low_part);
+ }
}
1;
};
$adjust->(1) or return if $size > $oldsize;
- my $wait = $in->wait_message(N("Resizing"), '');
+ my $wait = $in->wait_message(N("Please wait"), N("Resizing"));
if ($nice_resize{fat}) {
local *log::l = sub { $wait->set(join(' ', @_)) };
$nice_resize{fat}->resize($part->{size});
} elsif ($nice_resize{ext2}) {
- my $s = int($part->{size} / ($block_size / 512));
- log::l("resize2fs $nice_resize{ext2} to size $s in block of $block_size bytes");
- run_program::run("resize2fs", "-pf", $nice_resize{ext2}, $s);
+ $nice_resize{ext2}->resize($part->{size});
} elsif ($nice_resize{ntfs}) {
log::l("ntfs resize to $part->{size} sectors");
$nice_resize{ntfs}->resize($part->{size});
$wait = undef;
- $in->ask_warn('', N("To ensure data integrity after resizing the partition(s),
-filesystem checks will be run on your next boot into Windows(TM)"));
+ $in->ask_warn(N("Warning"), N("To ensure data integrity after resizing the partition(s),
+filesystem checks will be run on your next boot into Microsoft Windows®"));
} elsif ($nice_resize{reiserfs}) {
log::l("reiser resize to $part->{size} sectors");
- run_program::run('resize_reiserfs', '-f', '-q', '-s' . int($part->{size}/2) . 'K', devices::make($part->{device}));
- } elsif ($nice_resize{xfs}) {
- #- happens only with mounted LVM, see above
- run_program::run("xfs_growfs", $part->{mntpoint});
+ run_program::run_or_die('resize_reiserfs', '-f', '-q', '-s' . int($part->{size}/2) . 'K', devices::make($part->{device}));
+ } elsif ($online_resize) {
+ my $dir = _get_dir_for_online_resize($part);
+ my @cmd;
+ if ($nice_resize{btrfs}) {
+ # FIXME: only works for a FS on a single device. Multi-device FS would need to specify the device to enlarge
+ @cmd = (qw(btrfs filesystem resize), $part->{size}*512, $dir);
+ } elsif ($nice_resize{nilfs2}) {
+ @cmd = ('nilfs-resize', devices::make($part->{device}), $part->{size}*512);
+ } elsif ($nice_resize{xfs}) {
+ @cmd = ("xfs_growfs", $dir);
+ } else {
+ die("I don't know how to proceed");
+ }
+ if (!run_program::run(@cmd)) {
+ $nice_resize{$part->{fs_type}} = undef;
+ }
+ # umount after online resize if it was mounted on demand:
+ if (!$part->{isMounted}) {
+ fs::mount::umount($dir);
+ unlink($dir);
+ }
+ } elsif ($nice_resize{f2fs}) {
+ run_program::run_or_die("resize.f2fs", devices::make($part->{device}));
}
if (%nice_resize) {
- $part->{isFormatted} = 1;
+ set_isFormatted($part, 1);
} else {
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
- partition_table::verifyParts($hd);
- $part->{mntpoint} = '' if isNonMountable($part); #- mainly for ntfs, which we can't format
+ set_isFormatted($part, 0);
+ partition_table::verifyParts($hd) if !isLVM($hd);
+ $part->{mntpoint} = '' if isNonMountable($part); #- mainly for ntfs, which we cannot format
}
$adjust->(0) if $size < $oldsize;
}
-sub Move {
- my ($in, $hd, $part, $all_hds) = @_;
- my $hd2 = $in->ask_from_listf(N("Move"),
- N("Which disk do you want to move it to?"), \&partition_table::description, @{$all_hds->{hds}}) or return;
- my $start2 = $in->ask_from_entry(N("Sector"),
- N("Which sector do you want to move it to?"));
- defined $start2 or return;
- my $_w = $in->wait_message(N("Moving"), N("Moving partition..."));
- fsedit::move($hd, $part, $hd2, $start2);
-}
sub Format {
my ($in, $hd, $part, $all_hds) = @_;
format_($in, $hd, $part, $all_hds);
}
sub Mount {
my ($in, $hd, $part) = @_;
+
+ ensure_we_have_encrypt_key_if_needed($in, $part) or return;
write_partitions($in, $hd) or return;
+
my $w;
- fs::mount_part($part, $::prefix, 0, sub {
+ fs::mount::part($part, 0, sub {
my ($msg) = @_;
- $w ||= $in->wait_message('', $msg);
+ $w ||= $in->wait_message(N("Please wait"), $msg);
$w->set($msg);
});
}
+
+sub dmcrypt_open {
+ my ($in, $_hd, $part, $all_hds) = @_;
+ $part->{dm_name} ||= do {
+ my $s = $part->{device};
+ $s =~ s/\W/_/g;
+ "crypt_$s";
+ };
+
+ if (!$part->{dmcrypt_key}) {
+ $in->ask_from_({
+ title => N("Filesystem encryption key"),
+ messages => N("Enter your filesystem encryption key"),
+ }, [ { label => N("Encryption key"), val => \$part->{dmcrypt_key},
+ hidden => 1, focus => sub { 1 } } ]) or return;
+ }
+
+ eval { require fs::dmcrypt; fs::dmcrypt::open_part($all_hds->{dmcrypts}, $part) };
+ if ($@) {
+ delete $part->{dmcrypt_key};
+ die(($? >> 8) == 255 ? N("Invalid key") : $@);
+ }
+ detect_lvms_on_dmcrypt($all_hds);
+}
+
+# Detect LVMs on top of dmcrypt
+sub detect_lvms_on_dmcrypt {
+ my ($all_hds) = @_,
+ require File::Temp;
+ require fs::dmcrypt;
+ my (undef, $tmp_file) = File::Temp::mkstemp('/tmp/crypttab.XXXXXXX');
+ fs::dmcrypt::save_crypttab_($all_hds, $tmp_file);
+ require lvm;
+ lvm::detect_during_install();
+ $all_hds->{lvms} = [ fsedit::lvms($all_hds) ];
+ fs::dmcrypt::read_crypttab_($all_hds, $tmp_file);
+ rm_rf($tmp_file);
+}
+
sub Add2RAID {
my ($in, $_hd, $part, $all_hds) = @_;
my $raids = $all_hds->{raids};
- local $_ = @$raids == () ? "new" :
- $in->ask_from_list_('', N("Choose an existing RAID to add to"),
- [ (grep { $_ } map_index { $_ && "md$::i" } @$raids), N_("new") ]) or return;
+ my $md_part = $in->ask_from_listf(N("Add to RAID"), N("Choose an existing RAID to add to"),
+ sub { ref($_[0]) ? $_[0]{device} : $_[0] },
+ [ @$raids, N_("new") ]) or return;
- if (/new/) {
- my $nb1 = raid::new($raids, $part);
- defined modifyRAID($in, $raids, $nb1) or return raid::delete($raids, $nb1);
+ if (ref($md_part)) {
+ raid::add($md_part, $part);
+ raid::write_conf($raids) if $::isStandalone;
} else {
- raid::add($raids, $part, $_);
+ raid::check_prog($in) or return;
+ my $md_part = raid::new($raids, disks => [ $part ]);
+ modifyRAID($in, $raids, $md_part) or return raid::delete($raids, $md_part);
}
- raid::update(@$raids);
}
sub Add2LVM {
my ($in, $hd, $part, $all_hds) = @_;
my $lvms = $all_hds->{lvms};
+ my @lvm_names = map { $_->{VG_name} } @$lvms;
write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;
- my $lvm = $in->ask_from_listf_('', N("Choose an existing LVM to add to"),
+ my $lvm = $in->ask_from_listf_(N("Add to LVM"), N("Choose an existing LVM to add to"),
sub { ref($_[0]) ? $_[0]{VG_name} : $_[0] },
[ @$lvms, N_("new") ]) or return;
require lvm;
if (!ref $lvm) {
# create new lvm
- my $name = $in->ask_from_entry('', N("LVM name?")) or return;
+ my $n; my $str = "vg-mga";
+ while (member("$str$n", @lvm_names)) {
+ $n++;
+ }
+
+ my $name = "$str$n";
+ $in->ask_from_({ title => N("LVM name"),
+ messages => N("Enter a name for the new LVM volume group"),
+ focus_first => 1,
+ ok_disabled => sub { !$name },
+ validate => sub {
+ member($name, @lvm_names) or return 1;
+ $in->ask_warn(N("Error"), N("\"%s\" already exists", $name));
+ return 0;
+ } },
+ [ { label => N("LVM name"), val => \$name } ]) or return;
+
$lvm = new lvm($name);
push @$lvms, $lvm;
}
+ my $_w = $in->wait_message(N("Please wait"), N("Setting up LVM"));
raid::make($all_hds->{raids}, $part) if isRAID($part);
- $part->{lvm} = $lvm->{VG_name};
- push @{$lvm->{disks}}, $part;
- delete $part->{mntpoint};
-
- lvm::check($in) if $::isStandalone;
- lvm::vg_add($part);
- lvm::update_size($lvm);
+ lvm::check($in->do_pkgs) if $::isStandalone;
+ lvm::add_to_VG($part, $lvm);
}
sub Unmount {
my ($_in, $_hd, $part) = @_;
- fs::umount_part($part);
+ fs::mount::umount_part($part);
}
-sub RemoveFromRAID {
+sub RemoveFromRAID {
my ($_in, $_hd, $part, $all_hds) = @_;
raid::removeDisk($all_hds->{raids}, $part);
}
-sub RemoveFromLVM {
+sub RemoveFromDm {
my ($_in, $_hd, $part, $all_hds) = @_;
- my $lvms = $all_hds->{lvms};
+ require fs::dmcrypt;
+ fs::dmcrypt::close_part($all_hds->{dmcrypts}, $part);
+}
+sub RemoveFromLVM {
+ my ($in, $_hd, $part, $all_hds) = @_;
isPartOfLVM($part) or die;
- (my $lvm, $lvms) = partition { $_->{VG_name} eq $part->{lvm} } @$lvms;
- lvm::vg_destroy($lvm->[0]);
+ my ($lvm, $other_lvms) = partition { $_->{VG_name} eq $part->{lvm} } @{$all_hds->{lvms}};
+ if (@{$lvm->[0]{disks}} > 1) {
+ my ($used, $_total) = lvm::pv_physical_extents($part);
+ if ($used) {
+ $in->ask_yesorno(N("Warning"), N("Physical volume %s is still in use.
+Do you want to move used physical extents on this volume to other volumes?", $part->{device})) or return;
+ my $_w = $in->wait_message(N("Please wait"), N("Moving physical extents"));
+ lvm::pv_move($part);
+ }
+ lvm::vg_reduce($lvm->[0], $part);
+ } else {
+ lvm::vg_destroy($lvm->[0]);
+ $all_hds->{lvms} = $other_lvms;
+ }
}
-sub ModifyRAID {
+sub ModifyRAID {
my ($in, $_hd, $part, $all_hds) = @_;
- modifyRAID($in, $all_hds->{raids}, $part->{raid});
+ modifyRAID($in, $all_hds->{raids}, fs::get::device2part($part->{raid}, $all_hds->{raids}));
}
sub Loopback {
my ($in, $hd, $real_part, $all_hds) = @_;
write_partitions($in, $hd) or return;
- my $handle = any::inspect($real_part) or $in->ask_warn('', N("This partition can't be used for loopback")), return;
+ my $handle = any::inspect($real_part) or $in->ask_warn(N("Error"), N("This partition cannot be used for loopback")), return;
- my ($min, $max) = (1, loopback::getFree($handle->{dir}, $real_part));
- $max = min($max, 1 << (31 - 9)) if isFat($real_part); #- FAT doesn't handle file size bigger than 2GB
+ my ($min, $max) = (1, fs::loopback::getFree($handle->{dir}, $real_part));
+ $max = min($max, 1 << (31 - 9)) if $real_part->{fs_type} eq 'vfat'; #- FAT does not handle file size bigger than 2GB
my $part = { maxsize => $max, size => 0, loopback_device => $real_part, notFormatted => 1 };
if (!fsedit::suggest_part($part, $all_hds)) {
$part->{size} = $part->{maxsize};
- $part->{type} ||= 0x483;
+ fs::type::suggest_fs_type($part, defaultFS());
}
- delete $part->{mntpoint}; # we don't want the suggested mntpoint
+ delete $part->{mntpoint}; # we do not want the suggested mntpoint
- my $type = type2name($part->{type});
- my $mb_size = $part->{size} >> 11;
+ my $type_name = fs::type::part2type_name($part);
+ my $mb_size = to_Mb($part->{size});
$in->ask_from(N("Loopback"), '', [
{ label => N("Loopback file name: "), val => \$part->{loopback_file} },
- { label => N("Size in MB: "), val => \$mb_size, min => $min >> 11, max => $max >> 11, type => 'range' },
- { label => N("Filesystem type: "), val => \$type, list => [ partition_table::important_types() ], not_edit => !$::expert, sort => 0 },
+ { label => N("Size in MB: "), val => \$mb_size, min => to_Mb($min), max => to_Mb($max), type => 'range', SpinButton => $::expert },
+ { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert, $hd) ], not_edit => !$::expert, sort => 0 },
],
complete => sub {
- $part->{loopback_file} or $in->ask_warn('', N("Give a file name")), return 1, 0;
+ $part->{loopback_file} or $in->ask_warn(N("Give a file name"), N("Give a file name")), return 1, 0;
$part->{loopback_file} =~ s|^([^/])|/$1|;
- if (my $size = loopback::verifFile($handle->{dir}, $part->{loopback_file}, $real_part)) {
- $size == -1 and $in->ask_warn('', N("File is already used by another loopback, choose another one")), return 1, 0;
- $in->ask_yesorno('', N("File already exists. Use it?")) or return 1, 0;
+ if (my $size = fs::loopback::verifFile($handle->{dir}, $part->{loopback_file}, $real_part)) {
+ $size == -1 and $in->ask_warn(N("Warning"), N("File is already used by another loopback, choose another one")), return 1, 0;
+ $in->ask_yesorno(N("Warning"), N("File already exists. Use it?")) or return 1, 0;
delete $part->{notFormatted};
$part->{size} = divide($size, 512);
} else {
@@ -881,75 +1131,69 @@ sub Loopback {
}
0;
}) or return;
- $part->{type} = name2type($type);
+ put_in_hash($part, fs::type::type_name2subpart($type_name));
push @{$real_part->{loopback}}, $part;
fsedit::recompute_loopbacks($all_hds);
}
sub Options {
- my ($in, $hd, $part, $all_hds) = @_;
+ my ($in, $_hd, $part, $_all_hds) = @_;
- my @simple_options = qw(user noauto supermount username= password=);
+ my @simple_options = qw(users noauto username= password=);
+
+ my (undef, $user_implies) = fs::mount_options::list();
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ my %help = fs::mount_options::help();
+
+ my %callbacks = (
+ # we don't want both user and users
+ user => sub { $options->{users} = 0; $options->{$_} = $options->{user} foreach @$user_implies },
+ users => sub { $options->{user} = 0; $options->{$_} = $options->{users} foreach @$user_implies },
+ # we don't want both relatime and noatime
+ relatime => sub { $options->{noatime} = 0 },
+ noatime => sub { $options->{relatime} = 0 },
+ );
- my (undef, $user_implies) = fs::mount_options();
- my ($options, $unknown) = fs::mount_options_unpack($part);
- my %help = fs::mount_options_help();
- my $prev_user = $options->{user};
$in->ask_from(N("Mount options"),
'',
- [
- (map {
- { label => $_, text => scalar warp_text(formatAlaTeX($help{$_})), val => \$options->{$_}, hidden => scalar(/password/),
- advanced => !$part->{rootDevice} && !member($_, @simple_options), if_(!/=$/, type => 'bool'), }
+ [
+ { label => N("Mount options"), title => 1 },
+ (map {
+ { label => $_, text => scalar warp_text(formatAlaTeX($help{$_}), 60), val => \$options->{$_}, hidden => scalar(/password/),
+ advanced => !$part->{rootDevice} && !member($_, @simple_options), if_(!/=$/, type => 'bool'),
+ if_($callbacks{$_}, changed => $callbacks{$_}),
+ };
} keys %$options),
{ label => N("Various"), val => \$unknown, advanced => 1 },
],
- changed => sub {
- if ($prev_user != $options->{user}) {
- $prev_user = $options->{user};
- $options->{$_} = $options->{user} foreach @$user_implies;
+ complete => sub {
+ if (($options->{usrquota} || $options->{grpquota}) && !$::isInstall) {
+ $in->do_pkgs->ensure_binary_is_installed('quota', 'quotacheck');
}
- if ($options->{encrypted}) {
- # modify $part->{options} for the check
- local $part->{options};
- fs::mount_options_pack($part, $options, $unknown);
- if (!check($in, $hd, $part, $all_hds)) {
- $options->{encrypted} = 0;
- } elsif (!$part->{encrypt_key} && !isSwap($part)) {
- if (my $encrypt_key = choose_encrypt_key($in)) {
- $options->{'encryption='} = 'AES128';
- $part->{encrypt_key} = $encrypt_key;
- } else {
- $options->{encrypted} = 0;
- }
- }
- } else {
- delete $options->{'encryption='};
- delete $part->{encrypt_key};
- }
- },
- ) or return;
+ }) or return;
- fs::mount_options_pack($part, $options, $unknown);
+ fs::mount_options::pack($part, $options, $unknown);
1;
}
-{
- no strict;
- *{'Toggle to normal mode'} = sub() { $::expert = 0 };
- *{'Toggle to expert mode'} = sub() { $::expert = 1 };
+{
+ no strict;
+ *{'Normal mode'} = sub() { $::expert = 0 };
+ *{'Expert mode'} = sub() { $::expert = 1 };
*{'Clear all'} = \&Clear_all;
*{'Auto allocate'} = \&Auto_allocate;
*{'Mount point'} = \&Mount_point;
*{'Modify RAID'} = \&ModifyRAID;
*{'Add to RAID'} = \&Add2RAID;
- *{'Remove from RAID'} = \&RemoveFromRAID;
+ *{'Remove from RAID'} = \&RemoveFromRAID;
+ *{Use} = \&dmcrypt_open;
+ *{'Remove from dm'} = \&RemoveFromDm;
*{'Add to LVM'} = \&Add2LVM;
- *{'Remove from LVM'} = \&RemoveFromLVM;
+ *{'Remove from LVM'} = \&RemoveFromLVM;
*{'Use for loopback'} = \&Loopback;
- *{'Hard drive information'} = \&Hd_info;
+ *{'Hard disk drive information'} = \&Hd_info;
}
@@ -959,21 +1203,23 @@ sub Options {
sub is_part_existing {
my ($part, $all_hds) = @_;
- $part && any { fsedit::is_same_part($part, $_) } fsedit::get_all_fstab_and_holes($all_hds);
+ $part && any { fsedit::are_same_partitions($part, $_) } fs::get::fstab_and_holes($all_hds);
}
sub modifyRAID {
- my ($in, $raids, $nb) = @_;
- my $md = "md$nb";
- $in->ask_from('', '',
+ my ($in, $raids, $md_part) = @_;
+ my $new_device = $md_part->{device};
+ $in->ask_from(N("Options"), '',
[
-{ label => N("device"), val => \$md, list => [ map { "md$_" } grep { $nb == $_ || !$raids->[$_] } 0..8 ] },
-{ label => N("level"), val => \$raids->[$nb]{level}, list => [ qw(0 1 4 5 linear) ] },
-{ label => N("chunk size"), val => \$raids->[$nb]{'chunk-size'} },
+{ label => N("device"), val => \$new_device, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 },
+{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 6 10 linear) ] },
+{ label => N("chunk size in KiB"), val => \$md_part->{'chunk-size'} },
],
) or return;
- raid::updateSize($raids->[$nb]); # changing the raid level changes the size available
- raid::changeNb($raids, $nb, first($md =~ /(\d+)/));
+ raid::change_device($md_part, $new_device);
+ raid::updateSize($md_part); # changing the raid level changes the size available
+ raid::write_conf($raids) if $::isStandalone;
+ 1;
}
@@ -984,7 +1230,7 @@ sub ask_alldatamaybelost {
#- here we may have a non-formatted or a formatted partition
#- -> doing as if it was formatted
- $in->ask_okcancel(N("Read carefully!"),
+ $in->ask_okcancel(N("Read carefully"),
[ N("Be careful: this operation is dangerous."), sprintf(translate($msg), $part->{device}) ], 1);
}
sub ask_alldatawillbelost {
@@ -994,83 +1240,112 @@ sub ask_alldatawillbelost {
#- here we may have a non-formatted or a formatted partition
#- -> doing as if it was formatted
- $in->ask_okcancel(N("Read carefully!"), sprintf(translate($msg), $part->{device}), 1);
+ $in->ask_okcancel(N("Read carefully"), sprintf(translate($msg), $part->{device}), 1);
}
sub partitions_suggestions {
- my ($in) = @_;
- my $t = $::expert ?
- $in->ask_from_list_('', N("What type of partitioning?"), [ keys %fsedit::suggestions ]) :
+ my ($in, $all_hds, $hd) = @_;
+ fsedit::init_mntpnt_suggestions($all_hds, $hd);
+ my $t = $::expert ?
+ $in->ask_from_list_(N("Partitioning Type"), N("What type of partitioning?"), [ keys %fsedit::suggestions ]) :
'simple';
$fsedit::suggestions{$t};
}
sub check_type {
my ($in, $type, $hd, $part) = @_;
- eval { fsedit::check_type($type, $hd, $part) };
+ eval { fs::type::check($type->{fs_type}, $hd, $part) };
if (my $err = $@) {
- $in->ask_warn('', formatError($err));
+ $in->ask_warn(N("Error"), formatError($err));
return;
}
- if ($::isStandalone) {
- if (my $pkg = fsedit::package_needed_for_partition_type({ type => $type })) {
- my $fs = type2fs({ type => $type });
- if (!-x "/sbin/mkfs.$fs") {
- $in->ask_yesorno('', N("The package %s is needed. Install it?", $pkg), 1) or return;
- $in->do_pkgs->install($pkg);
- }
- -x "/sbin/mkfs.$fs" or $in->ask_warn('', "Mandatory package $pkg is missing"), return;
- }
+ if ($::isStandalone && $type->{fs_type} && fs::format::known_type($type)) {
+ fs::format::check_package_is_installed_format($in->do_pkgs, $type->{fs_type}) or return;
}
1;
}
sub check_mntpoint {
- my ($in, $mntpoint, $hd, $part, $all_hds) = @_;
+ my ($in, $mntpoint, $part, $all_hds) = @_;
my $seen;
- eval {
- catch_cdie { fsedit::check_mntpoint($mntpoint, $hd, $part, $all_hds) }
- sub { $seen = 1; $in->ask_okcancel('', formatError($@)) };
+ eval {
+ catch_cdie { fsedit::check_mntpoint($mntpoint, $part, $all_hds) }
+ sub { $seen = 1; $in->ask_okcancel(N("Error"), formatError($@)) };
};
if (my $err = $@) {
- $in->ask_warn('', formatError($err)) if !$seen;
+ $in->ask_warn(N("Error"), formatError($err)) if !$seen;
return;
}
1;
}
sub check {
my ($in, $hd, $part, $all_hds) = @_;
- check_type($in, $part->{type}, $hd, $part) &&
- check_mntpoint($in, $part->{mntpoint}, $hd, $part, $all_hds);
+ check_type($in, $part, $hd, $part) &&
+ check_mntpoint($in, $part->{mntpoint}, $part, $all_hds);
+}
+
+sub check_rebootNeeded {
+ my ($_in, $hd) = @_;
+ $hd->{rebootNeeded} and die N("You'll need to reboot before the modification can take effect");
}
sub write_partitions {
- my ($in, $hd) = @_;
+ my ($in, $hd, $b_skip_check_rebootNeeded) = @_;
+ check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
$hd->{isDirty} or return 1;
isLVM($hd) and return 1;
- $in->ask_okcancel(N("Read carefully!"), N("Partition table of drive %s is going to be written to disk!", $hd->{device}), 1) or return;
- if (!$::testing) {
- partition_table::write($hd);
+ $in->ask_okcancel(N("Read carefully"), N("Partition table of drive %s is going to be written to disk", $hd->{device}), 1) or return;
+ partition_table::write($hd) if !$::testing;
+ check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
+ # fix resizing's failures due to udev's race when writing the partition table
+ run_program::run('udevadm', 'settle');
+ 1;
+}
+
+sub ensure_we_have_encrypt_key_if_needed {
+ my ($in, $part) = @_;
+
+ if (fs::type::isRawLUKS($part)) {
+ $part->{dmcrypt_key} ||= choose_encrypt_key($in, {}, 'skip_encrypt_algo') or return;
}
- $hd->{rebootNeeded} and die \N("You'll need to reboot before the modification can take place");
1;
}
-sub unmount {
- my ($_hd, $part) = @_;
- fs::umount_part($part);
+sub dmcrypt_format {
+ my ($in, $_hd, $part, $_all_hds) = @_;
+ my $_wait = $in->wait_message(N("Please wait"), N("Formatting partition %s", $part->{device}));
+ require fs::dmcrypt;
+ fs::dmcrypt::format_part($part);
+ # we open it now:
+ &dmcrypt_open;
}
+
sub format_ {
my ($in, $hd, $part, $all_hds) = @_;
+
+ ensure_we_have_encrypt_key_if_needed($in, $part) or return;
write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;
+
ask_alldatawillbelost($in, $part, N_("After formatting partition %s, all data on this partition will be lost")) or return;
+
+ if (fs::type::isRawLUKS($part)) {
+ return &dmcrypt_format;
+ }
+ if ($::isStandalone) {
+ fs::format::check_package_is_installed_format($in->do_pkgs, $part->{fs_type}) or return;
+ }
+ _format_raw($in, $part, $all_hds);
+}
+
+sub _format_raw {
+ my ($in, $part, $all_hds, $o_skip) = @_;
+ if ($::expert && isBlockCheckable($part)) {
+ $part->{toFormatCheck} = $in->ask_yesorno(N("Confirmation"), N("Check for bad blocks?"));
+ }
$part->{isFormatted} = 0; #- force format;
- my $w;
- fs::format_part($all_hds->{raids}, $part, $::prefix, sub {
- my ($msg) = @_;
- $w ||= $in->wait_message('', $msg);
- $w->set($msg);
- });
+ # Wait for the newly created device to appear before formatting it
+ my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
+ fs::format::part($all_hds, $part, $wait_message) if !$o_skip;
1;
}
@@ -1081,26 +1356,30 @@ sub need_migration {
if (@l && $::isStandalone) {
my $choice;
my @choices = (N_("Move files to the new partition"), N_("Hide files"));
- $in->ask_from('', N("Directory %s already contains data\n(%s)", $mntpoint, formatList(5, @l)),
- [ { val => \$choice, list => \@choices, type => 'list' } ]) or return;
+ $in->ask_from(N("Warning"), N("Directory %s already contains data
+(%s)
+
+You can either choose to move the files into the partition that will be mounted there or leave them where they are (which results in hiding them by the contents of the mounted partition)",
+ $mntpoint, formatList(5, @l)),
+ [ { val => \$choice, list => \@choices, type => 'list', format => sub { translate($_[0]) } } ]) or return;
$choice eq $choices[0] ? 'migrate' : 'hide';
} else {
'hide';
- }
+ }
}
sub migrate_files {
my ($in, $_hd, $part) = @_;
- my $wait = $in->wait_message('', N("Moving files to the new partition"));
+ my $wait = $in->wait_message(N("Please wait"), N("Moving files to the new partition"));
my $handle = any::inspect($part, '', 'rw');
my @l = glob_("$part->{mntpoint}/*");
foreach (@l) {
- $wait->set(N("Copying %s", $_));
+ $wait->set(N("Copying %s", $_));
system("cp", "-a", $_, $handle->{dir}) == 0 or die "copying failed";
}
foreach (@l) {
- $wait->set(N("Removing %s", $_));
+ $wait->set(N("Removing %s", $_));
system("rm", "-rf", $_) == 0 or die "removing files failed";
}
}
@@ -1110,8 +1389,12 @@ sub warn_if_renumbered {
my $l = delete $hd->{partitionsRenumbered};
return if is_empty_array_ref($l);
- my @l = map { N("partition %s is now known as %s", @$_) } @$l;
- $in->ask_warn('', join("\n", 'Partitions have been renumbered: ', @l));
+ push @{$hd->{allPartitionsRenumbered}}, @$l;
+
+ my @l = map {
+ my ($old, $new) = @$_;
+ N("partition %s is now known as %s", $old, $new) } @$l;
+ $in->ask_warn(N("Warning"), join("\n", N("Partitions have been renumbered: "), @l));
}
#- unit of $mb is mega bytes, min and max are in sectors, this
@@ -1120,11 +1403,16 @@ sub warn_if_renumbered {
#- modified to take into account a true bounding with min and max.
sub from_Mb {
my ($mb, $min, $max) = @_;
- $mb <= $min >> 11 and return $min;
- $mb >= $max >> 11 and return $max;
+ $mb <= to_Mb($min) and return $min;
+ $mb >= to_Mb($max) and return $max;
$mb * 2048;
}
+sub to_Mb {
+ my ($size_sector) = @_;
+ to_int($size_sector / 2048);
+}
+
sub format_part_info {
my ($hd, $part) = @_;
@@ -1132,38 +1420,45 @@ sub format_part_info {
$info .= N("Mount point: ") . "$part->{mntpoint}\n" if $part->{mntpoint};
$info .= N("Device: ") . "$part->{device}\n" if $part->{device} && !isLoopback($part);
+ $info .= N("Volume label: ") . "$part->{device_LABEL}\n" if $part->{device_LABEL};
+ $info .= N("UUID: ") . "$part->{device_UUID}\n" if $::expert && $part->{device_UUID};
$info .= N("DOS drive letter: %s (just a guess)\n", $part->{device_windobe}) if $part->{device_windobe};
- if (arch() eq "ppc") {
- my $new_value = $part->{pType};
- $new_value =~ s/[^A-Za-z0-9_]//g;
- $info .= N("Type: ") . $new_value . ($::expert ? sprintf " (0x%x)", $part->{type} : '') . "\n";
- if (defined $part->{pName}) {
- $new_value = $part->{pName};
- $new_value =~ s/[^A-Za-z0-9_]//g;
- $info .= N("Name: ") . $new_value . "\n";
- }
- } elsif ($part->{type}) {
- my $type = substr(type2name($part->{type}), 0, 40); # limit the length
- $info .= N("Type: ") . $type . ($::expert ? sprintf " (0x%x)", $part->{type} : '') . "\n";
- } else {
+ if (isEmpty($part)) {
$info .= N("Empty") . "\n";
+ } else {
+ $info .= N("Type: ") . (fs::type::part2type_name($part) || $part->{fs_type}) . ($::expert ? sprintf " (0x%x)", $part->{pt_type} : '') . "\n";
+ }
+ $info .= N("Start: sector %s\n", $part->{start}) if $::expert && !isSpecial($part) && !isLVM($hd);
+ if ($hd->{totalsectors}) {
+ $info .= N("Size: %s (%s%% of disk)", formatXiB($part->{size}, 512), int 100 * $part->{size} / $hd->{totalsectors});
+ } else {
+ $info .= N("Size: %s", formatXiB($part->{size}, 512));
}
- $info .= N("Start: sector %s\n", $part->{start}) if $::expert && !isSpecial($part);
- $info .= N("Size: %s", formatXiB($part->{size}, 512));
- $info .= sprintf " (%s%%)", int 100 * $part->{size} / $hd->{totalsectors} if $hd->{totalsectors};
$info .= N(", %s sectors", $part->{size}) if $::expert;
$info .= "\n";
- $info .= N("Cylinder %d to %d\n", $part->{start} / $hd->cylinder_size, ($part->{start} + $part->{size} - 1) / $hd->cylinder_size) if ($::expert || !$part->{type}) && !isSpecial($part);
+ $info .= N("Cylinder %d to %d\n", $part->{start} / $hd->cylinder_size, ($part->{start} + $part->{size} - 1) / $hd->cylinder_size) if ($::expert || isEmpty($part)) && !isSpecial($part) && !isLVM($hd) && $hd->cylinder_size;
+ $info .= N("Number of logical extents: %d\n", $part->{size} / $hd->cylinder_size) if $::expert && isLVM($hd);
$info .= N("Formatted\n") if $part->{isFormatted};
$info .= N("Not formatted\n") if !$part->{isFormatted} && $part->{notFormatted};
$info .= N("Mounted\n") if $part->{isMounted};
- $info .= N("RAID md%s\n", $part->{raid}) if isPartOfRAID($part);
- $info .= sprintf "LVM %s\n", $part->{lvm} if isPartOfLVM($part);
+ $info .= N("RAID %s\n", $part->{raid}) if isPartOfRAID($part);
+ if (fs::type::isRawLUKS($part) || fs::type::isLUKS($part)) {
+ $info .= N("Encrypted") . "\n";
+ if (fs::type::isRawLUKS($part)) {
+ $info .= ($part->{dm_active} && $part->{dm_name} ? N(" (mapped on %s)", $part->{dm_name}) :
+ $part->{dm_name} ? N(" (to map on %s)", $part->{dm_name}) :
+ N(" (inactive)")) . "\n";
+ }
+ }
+ if (isPartOfLVM($part)) {
+ $info .= sprintf "LVM %s\n", $part->{lvm};
+ $info .= sprintf "Used physical extents %d / %d\n", lvm::pv_physical_extents($part);
+ }
$info .= N("Loopback file(s):\n %s\n", join(", ", map { $_->{loopback_file} } @{$part->{loopback}})) if isPartOfLoopback($part);
$info .= N("Partition booted by default\n (for MS-DOS boot, not for lilo)\n") if $part->{active} && $::expert;
if (isRAID($part)) {
$info .= N("Level %s\n", $part->{level});
- $info .= N("Chunk size %s\n", $part->{'chunk-size'});
+ $info .= N("Chunk size %d KiB\n", $part->{'chunk-size'});
$info .= N("RAID-disks %s\n", join ", ", map { $_->{device} } @{$part->{disks}});
} elsif (isLoopback($part)) {
$info .= N("Loopback file name: %s", $part->{loopback_file});
@@ -1179,11 +1474,10 @@ sub format_part_info {
$info;
}
-sub format_part_info_short {
+sub format_part_info_short {
my ($hd, $part) = @_;
- $part->{type} ?
- partition_table::description($part) :
- format_part_info($hd, $part);
+ isEmpty($part) ? N("Free space on %s (%s)", $hd->{device}, formatXiB($part->{size}, 512))
+ : partition_table::description($part);
}
sub format_hd_info {
@@ -1193,11 +1487,14 @@ sub format_hd_info {
$info .= N("Device: ") . "$hd->{device}\n";
$info .= N("Read-only") . "\n" if $hd->{readonly};
$info .= N("Size: %s\n", formatXiB($hd->{totalsectors}, 512)) if $hd->{totalsectors};
- $info .= N("Geometry: %s cylinders, %s heads, %s sectors\n", @{$hd->{geom}}{qw(cylinders heads sectors)}) if $::expert && $hd->{geom};
- $info .= N("Info: ") . ($hd->{info} || $hd->{media_type}) . "\n" if $::expert && ($hd->{info} || $hd->{media_type});
+ $info .= N("Geometry: %s cylinders, %s heads, %s sectors\n", $hd->{geom}{cylinders}, $hd->{geom}{heads}, $hd->{geom}{sectors}) if $::expert && $hd->{geom};
+ $info .= N("Name: ") . $hd->{info} . "\n" if $hd->{info};
+ $info .= N("Medium type: ") . $hd->{media_type} . "\n" if $hd->{media_type} && $::expert;
$info .= N("LVM-disks %s\n", join ", ", map { $_->{device} } @{$hd->{disks}}) if isLVM($hd) && $hd->{disks};
$info .= N("Partition table type: %s\n", $1) if $::expert && ref($hd) =~ /_([^_]+)$/;
$info .= N("on channel %d id %d\n", $hd->{channel}, $hd->{id}) if $::expert && exists $hd->{channel};
+ # restrict the length of the lines
+ $info =~ s/(.{60}).*/$1.../mg;
$info;
}
@@ -1207,9 +1504,8 @@ sub format_raw_hd_info {
my $info = '';
$info .= N("Mount point: ") . "$raw_hd->{mntpoint}\n" if $raw_hd->{mntpoint};
$info .= format_hd_info($raw_hd);
- if ($raw_hd->{type}) {
- my $type = substr(type2name($raw_hd->{type}), 0, 40); # limit the length
- $info .= N("Type: ") . $type . "\n";
+ if (!isEmpty($raw_hd)) {
+ $info .= N("Type: ") . (fs::type::part2type_name($raw_hd) || $raw_hd->{fs_type}) . "\n";
}
if (my $s = $raw_hd->{options}) {
$s =~ s/password=([^\s,]*)/'password=' . ('x' x length($1))/e;
@@ -1223,22 +1519,57 @@ sub format_raw_hd_info {
#- logical partition.
sub min_partition_size { $_[0]->cylinder_size + 2*$_[0]{geom}{sectors} }
+sub max_partition_resize {
+ my ($hd, $part) = @_;
+ if (isLVM($hd)) {
+ $part->{size} + fs::get::vg_free_space($hd);
+ } else {
+ partition_table::next_start($hd, $part) - $part->{start};
+ }
+}
sub choose_encrypt_key {
- my ($in) = @_;
+ my ($in, $options, $skip_encrypt_algo) = @_;
my ($encrypt_key, $encrypt_key2);
+ my @algorithms = map { "AES$_" } 128, 196, 256, 512, 1024, 2048;
+ my $encrypt_algo = $options->{'encryption='} || "AES128";
+
$in->ask_from_(
{
- title => N("Filesystem encryption key"),
+ title => N("Filesystem encryption key"),
messages => N("Choose your filesystem encryption key"),
- callbacks => {
+ callbacks => {
complete => sub {
- length $encrypt_key < 20 and $in->ask_warn('', N("This encryption key is too simple (must be at least %d characters long)", 20)), return 1,0;
- $encrypt_key eq $encrypt_key2 or $in->ask_warn('', [ N("The encryption keys do not match"), N("Please try again") ]), return 1,1;
- return 0
+ length $encrypt_key < 6 and $in->ask_warn(N("Warning"), N("This encryption key is too simple (must be at least %d characters long)", 6)), return 1,0;
+ $encrypt_key eq $encrypt_key2 or $in->ask_warn(N("Error"), [ N("The encryption keys do not match"), N("Please try again") ]), return 1,1;
+ return 0;
} } }, [
-{ label => N("Encryption key"), val => \$encrypt_key, hidden => 1 },
+{ label => N("Encryption key"), val => \$encrypt_key, hidden => 1, focus => sub { 1 } },
{ label => N("Encryption key (again)"), val => \$encrypt_key2, hidden => 1 },
- ]) && $encrypt_key;
+if_(!$skip_encrypt_algo,
+{ label => N("Encryption algorithm"), type => 'list', val => \$encrypt_algo, list => \@algorithms },
+),
+ ]) or return;
+
+ $skip_encrypt_algo ? $encrypt_key : ($encrypt_key, $encrypt_algo);
+}
+
+
+sub tell_wm_and_reboot() {
+ my ($wm, $pid) = any::running_window_manager();
+
+ if (!$wm) {
+ system('reboot');
+ } else {
+ any::ask_window_manager_to_logout_then_do($wm, $pid, 'reboot');
+ }
+}
+
+sub update_bootloader_for_renumbered_partitions {
+ my ($in, $all_hds) = @_;
+ my @renumbering = map { @{$_->{allPartitionsRenumbered} || []} } @{$all_hds->{hds}} or return;
+
+ require bootloader;
+ bootloader::update_for_renumbered_partitions($in, \@renumbering, $all_hds);
}
diff --git a/perl-install/diskdrake/removable.pm b/perl-install/diskdrake/removable.pm
index 6862225c5..f3b73ed4b 100644
--- a/perl-install/diskdrake/removable.pm
+++ b/perl-install/diskdrake/removable.pm
@@ -1,10 +1,9 @@
-package diskdrake::removable; # $Id$
+package diskdrake::removable;
use diagnostics;
use strict;
use diskdrake::interactive;
use common;
-use fsedit;
use fs;
sub main {
@@ -38,16 +37,16 @@ sub options {
}
sub mount_point {
my ($in, $raw_hd, $all_hds) = @_;
- diskdrake::interactive::Mount_point_raw_hd($in, $raw_hd, $all_hds, "/mnt/$raw_hd->{device}");
+ diskdrake::interactive::Mount_point_raw_hd($in, $raw_hd, $all_hds, "/media/$raw_hd->{device}");
}
sub type {
my ($in, $raw_hd) = @_;
- my @fs = ('auto', fs::auto_fs());
- my $type = $raw_hd->{type};
+ my @fs = ('auto', fs::type::guessed_by_mount());
+ my $fs_type = $raw_hd->{fs_type};
$in->ask_from(N("Change type"),
N("Which filesystem do you want?"),
- [ { label => N("Type"), val => \$type, list => [@fs], not_edit => !$::expert } ]) or return;
- $raw_hd->{type} = $type;
+ [ { label => N("Type"), val => \$fs_type, list => [@fs] } ]) or return;
+ $raw_hd->{fs_type} = $fs_type;
}
1;
diff --git a/perl-install/diskdrake/resize_ext2.pm b/perl-install/diskdrake/resize_ext2.pm
new file mode 100644
index 000000000..a09cdb542
--- /dev/null
+++ b/perl-install/diskdrake/resize_ext2.pm
@@ -0,0 +1,37 @@
+package diskdrake::resize_ext2;
+
+use diagnostics;
+use strict;
+
+use run_program;
+use common;
+
+
+sub new {
+ my ($type, $_device, $dev) = @_;
+
+ my $o = bless { dev => $dev }, $type;
+
+ my $r = run_program::get_stdout('dumpe2fs', $dev);
+ $o->{block_count} = $r =~ /^Block count:\s*(\d+)/m && $1;
+ $o->{free_block} = $r =~ /^Free blocks:\s*(\d+)/m && $1;
+ $o->{block_size} = $r =~ /^Block size:\s*(\d+)/m && $1;
+ log::l("dumpe2fs $dev gives: Block_count=$o->{block_count}, Free_blocks=$o->{free_block}, Block_size=$o->{block_size}");
+
+ $o->{block_size} && $o;
+}
+
+sub min_size {
+ my ($o) = @_;
+ ($o->{block_count} - $o->{free_block}) * ($o->{block_size} / 512);
+}
+
+sub resize {
+ my ($o, $size) = @_;
+
+ my $s = int($size / ($o->{block_size} / 512));
+ log::l("resize2fs $o->{dev} to size $s in block of $o->{block_size} bytes");
+ run_program::raw({ timeout => 60 * 60 }, "resize2fs", "-pf", $o->{dev}, $s) or die "resize2fs failed";
+}
+
+1;
diff --git a/perl-install/diskdrake/resize_ntfs.pm b/perl-install/diskdrake/resize_ntfs.pm
index 6ffe146f9..db591e968 100644
--- a/perl-install/diskdrake/resize_ntfs.pm
+++ b/perl-install/diskdrake/resize_ntfs.pm
@@ -5,18 +5,24 @@ use strict;
use run_program;
use common;
-
+# perl_checker: require interactive
sub new {
my ($type, $_device, $dev) = @_;
bless { dev => $dev }, $type;
}
+sub check_prog {
+ my ($in) = @_; # perl_checker: $in = interactive->new
+ #- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mageia One)
+ $::isInstall || whereis_binary('ntfsresize') || $in->do_pkgs->ensure_binary_is_installed('ntfs-3g', 'ntfsresize');
+}
+
sub min_size {
my ($o) = @_;
my $r;
run_program::run('ntfsresize', '>', \$r, '-f', '-i', $o->{dev}) or die "ntfsresize failed:\n$r\n";
- $r =~ /minimal size: (\d+) KiB/ && $1 * 2
+ $r =~ /You might resize at (\d+) bytes or / && $1 / 512;
}
sub resize {
@@ -24,7 +30,7 @@ sub resize {
my @l = ('-ff', '-s' . int($size / 2) . 'ki', $o->{dev});
my $r;
run_program::run('ntfsresize', '>', \$r, '-n', @l) or die "ntfsresize failed: $r\n";
- run_program::run('ntfsresize', '>', \$r, @l) or die "ntfsresize failed: $r\n";
+ run_program::raw({ timeout => 'never' }, 'ntfsresize', '>', \$r, @l) or die "ntfsresize failed: $r\n";
}
1;
diff --git a/perl-install/diskdrake/smbnfs_gtk.pm b/perl-install/diskdrake/smbnfs_gtk.pm
index 39a81ee73..b2417ce83 100644
--- a/perl-install/diskdrake/smbnfs_gtk.pm
+++ b/perl-install/diskdrake/smbnfs_gtk.pm
@@ -1,16 +1,16 @@
-package diskdrake::smbnfs_gtk; # $Id$
+package diskdrake::smbnfs_gtk;
use diagnostics;
use strict;
-use any;
-use fs;
+use fs::get;
use diskdrake::interactive;
use common;
use interactive;
-use network::smb;
-use network::nfs;
-use ugtk2 qw(:helpers :wrappers :create);
+use fs::remote::smb;
+use fs::remote::nfs;
+use mygtk3 qw(gtknew gtkset);
+use ugtk3 qw(:helpers :wrappers :create);
my ($all_hds, $in, $tree_model, $current_entry, $current_leaf, %icons);
@@ -19,7 +19,7 @@ sub main {
my ($kind) = $type eq 'smb' ? smb2kind() : nfs2kind();
$kind->check($in) or return;
- my $w = ugtk2->new('DiskDrake');
+ my $w = ugtk3->new(N("Partitioning"));
add_smbnfs($w->{window}, $kind);
$w->{rwindow}->set_default_size(400, 300) if $w->{rwindow}->can('set_default_size');
@@ -42,12 +42,12 @@ sub try_ {
$in->ask_warn(N("Error"), formatError($err));
}
update($kind);
- Gtk2->main_quit if member($name, 'Cancel', 'Done');
+ Gtk3->main_quit if member($name, 'Cancel', 'Done');
}
sub raw_hd_options {
my ($in, $raw_hd) = @_;
- diskdrake::interactive::Options($in, {}, $raw_hd, fsedit::empty_all_hds());
+ diskdrake::interactive::Options($in, {}, $raw_hd, fs::get::empty_all_hds());
}
sub raw_hd_mount_point {
my ($in, $raw_hd) = @_;
@@ -60,7 +60,7 @@ sub per_entry_info_box {
my ($box, $kind, $entry) = @_;
my $info = $entry ? diskdrake::interactive::format_raw_hd_info($entry) : '';
$kind->{per_entry_info_box}->destroy if $kind->{per_entry_info_box};
- gtkpack($box, $kind->{per_entry_info_box} = gtkadd(Gtk2::Frame->new(N("Details")), gtkset_justify(Gtk2::Label->new($info), 'left')));
+ gtkpack($box, $kind->{per_entry_info_box} = gtknew('Frame', text => N("Details"), child => gtknew('Label', text => $info, justify => 'left')));
}
sub per_entry_action_box {
@@ -71,7 +71,7 @@ sub per_entry_action_box {
push @buttons, map {
my $s = $_;
- gtksignal_connect(Gtk2::Button->new(translate($s)), clicked => sub { try($kind, $s, {}, $entry) });
+ gtknew('Button', text => translate($s), clicked => sub { try($kind, $s, {}, $entry) });
} (if_($entry->{isMounted}, N_("Unmount")),
if_($entry->{mntpoint} && !$entry->{isMounted}, N_("Mount"))) if $entry;
@@ -82,11 +82,12 @@ sub per_entry_action_box {
N_("Done") => \&done,
);
push @buttons, map {
- my ($txt, $f) = @$_;
- gtksignal_connect(Gtk2::Button->new(translate($txt)), clicked => sub { try_($kind, $txt, $f, $entry) });
+ my ($txt, $f) = @$_;
+ $f ? gtknew('Button', text => translate($txt), clicked => sub { try_($kind, $txt, $f, $entry) })
+ : gtknew('Label', text => "");
} group_by2(@l);
-
- gtkadd($box, gtkpack(Gtk2::HBox->new(0,0), @buttons));
+
+ gtkadd($box, gtknew('HBox', children_loose => \@buttons));
}
sub done {
@@ -126,27 +127,28 @@ sub import_tree {
my ($kind, $info_box) = @_;
my (%servers_displayed, %wservers, %wexports);
- $tree_model = Gtk2::TreeStore->new("Gtk2::Gdk::Pixbuf", "Glib::String");
- my $tree = Gtk2::TreeView->new_with_model($tree_model);
+ $tree_model = Gtk3::TreeStore->new("Gtk3::Gdk::Pixbuf", "Glib::String");
+ my $tree = Gtk3::TreeView->new_with_model($tree_model);
$tree->get_selection->set_mode('browse');
- my $col = Gtk2::TreeViewColumn->new;
- $col->pack_start(my $pixrender = Gtk2::CellRendererPixbuf->new, 0);
+ my $col = Gtk3::TreeViewColumn->new;
+ $col->pack_start(my $pixrender = Gtk3::CellRendererPixbuf->new, 0);
$col->add_attribute($pixrender, 'pixbuf', 0);
- $col->pack_start(my $texrender = Gtk2::CellRendererText->new, 1);
+ $col->pack_start(my $texrender = Gtk3::CellRendererText->new, 1);
$col->add_attribute($texrender, 'text', 1);
$tree->append_column($col);
$tree->set_headers_visible(0);
foreach ('default', 'server', 'has_mntpoint', 'mounted') {
- $icons{$_} = gtkcreate_pixbuf("smbnfs_$_");
+ $icons{$_} = gtknew('Pixbuf', file => "smbnfs_$_");
}
my $add_server = sub {
my ($server) = @_;
+ my $identifier = $server->{ip} || $server->{name};
my $name = $server->{name} || $server->{ip};
- $servers_displayed{$name} ||= do {
+ $servers_displayed{$identifier} ||= do {
my $w = $tree_model->append_set(undef, [ 0 => $icons{server}, 1 => $name ]);
$wservers{$tree_model->get_path_str($w)} = $server;
$w;
@@ -159,14 +161,14 @@ sub import_tree {
return @l if !$@;
if ($server->{username}) {
- $in->ask_warn('', N("Can't login using username %s (bad password?)", $server->{username}));
- network::smb::remove_bad_credentials($server);
+ $in->ask_warn('', N("Cannot login using username %s (bad password?)", $server->{username}));
+ fs::remote::smb::remove_bad_credentials($server);
} else {
- if (my @l = network::smb::authentifications_available($server)) {
+ if (my @l = fs::remote::smb::authentications_available($server)) {
my $user = $in->ask_from_list_(N("Domain Authentication Required"),
N("Which username"), [ @l, N_("Another one") ]) or return;
if ($user ne 'Another one') {
- network::smb::read_credentials($server, $user);
+ fs::remote::smb::read_credentials($server, $user);
goto $find_exports;
}
}
@@ -192,7 +194,7 @@ sub import_tree {
my $path = $tree_model->get_path($node);
$tree->expand_row($path, 0);
- foreach ($find_exports->($wservers{$tree_model->get_path_str($node)} || return)) { #- can't die here since insert_node provoque a tree_select_row before the %wservers is filled
+ foreach ($find_exports->($wservers{$tree_model->get_path_str($node)} || return)) { #- cannot die here since insert_node provoque a tree_select_row before the %wservers is filled
my $s = $kind->to_string($_);
my $w = $tree_model->append_set($node, [ 0 => export_icon(find_fstab_entry($kind, $_)),
1 => $s ]);
@@ -201,12 +203,12 @@ sub import_tree {
};
{
- my $search = Gtk2::Button->new(N("Search servers"));
+ my $search = gtknew('Button', text => N("Search servers"));
gtkpack__($info_box,
gtksignal_connect($search,
clicked => sub {
$add_server->($_) foreach sort { $a->{name} cmp $b->{name} } $kind->find_servers;
- $search->set_label(N("Search new servers"));
+ gtkset($search, text => N("Search for new servers"));
}));
}
@@ -224,10 +226,10 @@ sub import_tree {
$current_entry = find_fstab_entry($kind, $wexports{$tree_model->get_path_str($curr)} || die(''), 'add');
} else {
if (!$tree_model->iter_has_child($curr)) {
- gtkset_mousecursor_wait($tree->window);
- ugtk2::flush();
+ gtkset_mousecursor_wait($tree->get_window);
+ ugtk3::flush();
$add_exports->($curr);
- gtkset_mousecursor_normal($tree->window);
+ gtkset_mousecursor_normal($tree->get_window);
}
$current_entry = undef;
}
@@ -240,16 +242,16 @@ sub add_smbnfs {
my ($widget, $kind) = @_;
die if $kind->{main_box};
- $kind->{info_box} = Gtk2::VBox->new(0,0);
- $kind->{display_box} = create_scrolled_window(import_tree($kind, $kind->{info_box}));
- $kind->{action_box} = Gtk2::HBox->new(0,0);
+ $kind->{info_box} = gtknew('VBox');
+ $kind->{display_box} = gtknew('ScrolledWindow', child => import_tree($kind, $kind->{info_box}));
+ $kind->{action_box} = gtknew('HBox');
$kind->{main_box} =
- gtkpack_(Gtk2::VBox->new(0,7),
- 1, gtkpack(Gtk2::HBox->new(0,7),
- gtkset_size_request($kind->{display_box}, 200, 0),
- $kind->{info_box}),
+ gtknew('VBox', spacing => 7, children => [
+ 1, gtknew('HBox', spacing => 7, children_loose => [
+ gtkset($kind->{display_box}, width => 200),
+ $kind->{info_box} ]),
0, $kind->{action_box},
- );
+ ]);
$widget->add($kind->{main_box});
$current_entry = undef;
@@ -258,11 +260,11 @@ sub add_smbnfs {
}
sub nfs2kind() {
- network::nfs->new({ type => 'nfs', name => 'NFS', val => $all_hds->{nfss}, no_auto => 1 });
+ fs::remote::nfs->new({ type => 'nfs', name => 'NFS', val => $all_hds->{nfss}, no_auto => 1 });
}
sub smb2kind() {
- network::smb->new({ type => 'smb', name => 'Samba', val => $all_hds->{smbs}, no_auto => 1 });
+ fs::remote::smb->new({ type => 'smb', name => 'Samba', val => $all_hds->{smbs}, no_auto => 1 });
}
diff --git a/perl-install/do_pkgs.pm b/perl-install/do_pkgs.pm
new file mode 100644
index 000000000..ba9283000
--- /dev/null
+++ b/perl-install/do_pkgs.pm
@@ -0,0 +1,404 @@
+package do_pkgs;
+
+=head1 SYNOPSYS
+
+B<do_pkgs> enables to install packages (through urpmi) from our tools.
+It works both during installer and in standalone tools by using dedicate sub packages (B<do_pkgs_standalone> and B<do_pkgs_during_install>), both relying onrelying on do_pkgs_common.
+
+
+=head1 Functions
+
+=over
+
+=cut
+
+=item do_pkgs($in)
+
+Returns a new B<do_pkgs> object from a L<interactive> object.
+
+=cut
+
+sub do_pkgs {
+ my ($in) = @_;
+ ($::isInstall ? 'do_pkgs_during_install' : 'do_pkgs_standalone')->new($in);
+}
+
+################################################################################
+package do_pkgs_common;
+use common;
+
+=item ensure_is_installed($do, $pkg, $o_file, $b_auto)
+
+Makes sure that the $pkg package is installed.
+If $o_file is provided, the already installed check is I<way> faster.
+If $b_auto is set, (g)urpmi will not ask any questions.
+
+=cut
+
+sub ensure_is_installed {
+ my ($do, $pkg, $o_file, $b_auto) = @_;
+
+ if ($do->is_installed($pkg, $o_file)) {
+ return 1;
+ }
+
+ $do->in->ask_okcancel(N("Warning"), N("The package %s needs to be installed. Do you want to install it?", $pkg), 1)
+ or return if !$b_auto && $do->in;
+
+ if (!$do->install($pkg)) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $pkg)) if $do->in;
+ return;
+ }
+
+ if ($o_file && ! -e "$::prefix$o_file") {
+ $do->in->ask_warn(N("Error"), N("Mandatory package %s is missing", $pkg)) if $do->in;
+ return;
+ }
+ 1;
+}
+
+=item ensure_are_installed($do, $pkgs, $b_auto)
+
+Makes sure that the packages listed in $pkgs array ref are installed.
+If $b_auto is set, (g)urpmi will not ask any questions.
+
+It's quite costly, so it's better to use the B<ensure_files_are_installed> instead.
+
+=cut
+
+sub ensure_are_installed {
+ my ($do, $pkgs, $b_auto) = @_;
+
+ my @not_installed = difference2($pkgs, [ $do->are_installed(@$pkgs) ]) or return 1;
+
+ $do->in->ask_okcancel(N("Warning"), N("The following packages need to be installed:\n") . join(', ', @not_installed), 1)
+ or return if !$b_auto && $do->in;
+
+ if (!$do->install(@not_installed)) {
+ if ($do->in) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $not_installed[0]));
+ } else {
+ log::l("Could not install packages: " . join(' ', @not_installed));
+ }
+ return;
+ }
+ 1;
+}
+
+=item ensure_binary_is_installed($do, $pkg, $binary, $b_auto)
+
+Makes sure that the $pkg package is installed.
+$binary is looked for in $PATH. If not found, the package is installed.
+If $b_auto is set, (g)urpmi will not ask any questions.
+
+=cut
+
+sub ensure_binary_is_installed {
+ my ($do, $pkg, $binary, $b_auto) = @_;
+
+ if (!whereis_binary($binary, $::prefix)) {
+ $do->in->ask_okcancel(N("Warning"), N("The package %s needs to be installed. Do you want to install it?", $pkg), 1)
+ or return if !$b_auto && $do->in;
+ if (!$do->install($pkg)) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $pkg)) if $do->in;
+ return;
+ }
+ }
+ if (!whereis_binary($binary, $::prefix)) {
+ $do->in->ask_warn(N("Error"), N("Mandatory package %s is missing", $pkg)) if $do->in;
+ return;
+ }
+ 1;
+}
+
+sub _find_file {
+ my ($file) = @_;
+ if ($file =~ m!/!) {
+ -e "$::prefix$file";
+ } else {
+ # assume it's a binary to search in $PATH:
+ whereis_binary($file, $::prefix);
+ }
+}
+
+=item ensure_files_are_installed($do, $pkgs, $b_auto)
+
+Takes a list of [ "package", "file" ] and installs package if file is not there.
+If $b_auto is set, (g)urpmi will not ask any questions.
+
+=cut
+
+sub ensure_files_are_installed {
+ my ($do, $pkgs, $b_auto) = @_;
+
+ my @not_installed = map { my ($package, $file) = @$_; if_(!_find_file($file), $package) } @$pkgs;
+ return 1 if !@not_installed;
+
+ $do->in->ask_okcancel(N("Warning"), N("The following packages need to be installed:\n") . join(', ', @not_installed), 1)
+ or return if !$b_auto && $do->in;
+
+ if (!$do->install(@not_installed)) {
+ if ($do->in) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $not_installed[0]));
+ } else {
+ log::l("Could not install packages: " . join(' ', @not_installed));
+ }
+ return;
+ }
+ 1;
+}
+
+=item ensure_is_installed_if_available($do, $pkg, $file) = @_;
+
+Install $pkg if $file is not present and if $pkg is actually known to urpmi.
+
+=cut
+
+sub ensure_is_installed_if_available {
+ my ($do, $pkg, $file) = @_;
+ if (-e "$::prefix$file" || $::testing) {
+ 1;
+ } else {
+ $do->what_provides($pkg) && $do->install($pkg);
+ }
+}
+
+=item is_available($do, $name)
+
+=item are_available($do, @names)
+
+Returns name(s) of package(s) that are available (aka known to urpmi).
+This is somewhat costly (needs to parse urpmi synthesis...)
+
+=cut
+
+sub is_available {
+ my ($do, $name) = @_;
+ $do->are_available($name);
+}
+
+=item is_installed($do, $name)
+
+=item are_installed($do, @names)
+
+Returns name(s) of package(s) that are already installed on the system.
+This is less costly (needs to query RPM DB)
+
+=cut
+
+sub is_installed {
+ my ($do, $name, $o_file) = @_;
+ $o_file ? -e "$::prefix$o_file" : $do->are_installed($name);
+}
+
+=item check_kernel_module_packages($do, $base_name)
+
+Takes something like C<ati-kernel> and returns:
+
+=over 4
+
+=item * the various C<ati-kernel-3.Y.XX-ZZmga> available for the installed kernels
+
+=item * C<dkms-ati> if available
+
+=back
+
+=cut
+
+sub check_kernel_module_packages {
+ my ($do, $base_name) = @_;
+
+ require bootloader;
+ my @test_rpms = (
+ 'dkms-' . $base_name,
+ map { $base_name . '-kernel-' . bootloader::vmlinuz2version($_) } bootloader::installed_vmlinuz()
+ );
+ my @rpms = $do->are_available(@test_rpms);
+ @rpms = $do->are_installed(@test_rpms) if !@rpms;
+ @rpms or return;
+
+ log::l("those kernel module packages can be installed: " . join(' ', @rpms));
+
+ \@rpms;
+}
+
+################################################################################
+package do_pkgs_during_install;
+use run_program;
+use common;
+
+our @ISA = qw(do_pkgs_common);
+
+=item new($type, $in)
+
+Returns a C<do_pkg> object.
+
+=cut
+
+sub new {
+ my ($type, $in) = @_;
+
+ $in->isa('interactive') or undef $in;
+
+ require install::pkgs;
+ bless { in => $in, o => $::o }, $type;
+}
+
+sub in {
+ my ($do) = @_;
+ $do->{in};
+}
+
+sub install {
+ my ($do, @l) = @_;
+ log::l("do_pkgs_during_install::install");
+ if ($::testing) {
+ log::l("i would install packages " . join(' ', @l));
+ 1;
+ } else {
+ $do->{o}->pkg_install(@l);
+ 1; #- HACK, need better fix in install::steps::pkg_install()
+ }
+}
+
+sub what_provides {
+ my ($do, $name) = @_;
+ map { $_->name } install::pkgs::packagesProviding($do->{o}{packages}, $name);
+}
+
+sub are_available {
+ my ($do, @pkgs) = @_;
+ grep { install::pkgs::packageByName($do->{o}{packages}, $_) } @pkgs;
+}
+
+sub are_installed {
+ my ($do, @l) = @_;
+ grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ $p && $p->flag_available;
+ } @l;
+}
+
+sub remove {
+ my ($do, @l) = @_;
+
+ @l = grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ install::pkgs::unselectPackage($do->{o}{packages}, $p) if $p;
+ $p;
+ } @l;
+ run_program::rooted($::prefix, 'rpm', '-e', @l);
+}
+
+sub remove_nodeps {
+ my ($do, @l) = @_;
+
+ @l = grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ if ($p) {
+ $p->set_flag_requested(0);
+ $p->set_flag_required(0);
+ }
+ $p;
+ } @l;
+ run_program::rooted($::prefix, 'rpm', '-e', '--nodeps', @l);
+}
+
+################################################################################
+package do_pkgs_standalone;
+use run_program;
+use common;
+use log;
+use feature qw(state);
+
+our @ISA = qw(do_pkgs_common);
+
+sub new {
+ my ($type, $o_in) = @_;
+ bless { in => $o_in }, $type;
+}
+
+sub in {
+ my ($do) = @_;
+ $do->{in};
+}
+
+sub install {
+ my ($do, @l) = @_;
+
+ return 1 if listlength(are_installed($do, @l)) == @l;
+
+ if ($::testing) {
+ log::l("i would install packages " . join(' ', @l));
+ return 1;
+ }
+
+ my @wrapper = $::isLiveInstall && $::prefix ? ('chroot', $::prefix) : ();
+ my @options = ('--allow-medium-change', '--auto', '--no-verify-rpm', '--expect-install', @l);
+ my $ret;
+ if (check_for_xserver() && -x '/usr/bin/gurpmi') {
+ $ret = system(@wrapper, 'gurpmi', @options) == 0;
+ } else {
+ my $_wait = $do->in && $do->in->wait_message(N("Please wait"), N("Installing packages..."));
+ $do->in->suspend if $do->in;
+ log::explanations("installing packages @l");
+ $ret = system(@wrapper, 'urpmi', @options) == 0;
+ $do->in->resume if $do->in;
+ }
+ $ret;
+}
+
+sub are_available {
+ my ($_do, @pkgs) = @_;
+ my %pkgs = map { $_ => 1 } @pkgs;
+
+ require urpm::media;
+ state $urpm;
+ eval {
+ if (!$urpm) {
+ $urpm = urpm->new;
+ $urpm->{log} = \&log::l;
+ urpm::media::configure($urpm,
+ nocheck_access => 1,
+ no_skiplist => 1,
+ no_second_pass => 1);
+ }
+ map { $_->name } grep { $pkgs{$_->name} } @{$urpm->{depslist} || []};
+ };
+}
+
+sub what_provides {
+ my ($_do, $name) = @_;
+ split('\|', chomp_(run_program::get_stdout('urpmq', $name)));
+}
+
+sub are_installed {
+ my ($_do, @l) = @_;
+ @l or return;
+
+ my @l2;
+ my $query_all = (any { /\*/ } @l) ? 'a' : '';
+ my $rooted = $::isLiveInstall && $::prefix ? { root => $::prefix } : {};
+ run_program::raw($rooted, '/bin/rpm', '>', \@l2, '-q' . $query_all, '--qf', "%{name}\n", @l); #- do not care about the return value
+ $query_all ? chomp_(@l2) : intersection(\@l, [ chomp_(@l2) ]); #- cannot return directly @l2 since it contains things like "package xxx is not installed"
+}
+
+sub remove {
+ my ($do, @l) = @_;
+ my $_wait = $do->in && $do->in->wait_message(N("Please wait"), N("Removing packages..."));
+ $do->in->suspend if $do->in;
+ log::explanations("removing packages @l");
+ my @wrapper = $::isLiveInstall && $::prefix ? ('chroot', $::prefix) : ();
+ my $ret = system(@wrapper, 'rpm', '-e', @l) == 0;
+ $do->in->resume if $do->in;
+ $ret;
+}
+
+sub remove_nodeps {
+ my ($do, @l) = @_;
+ remove($do, '--nodeps', @l) == 0;
+}
+
+=back
+
+=cut
diff --git a/perl-install/drakbug.pm b/perl-install/drakbug.pm
new file mode 100644
index 000000000..ded09d5d2
--- /dev/null
+++ b/perl-install/drakbug.pm
@@ -0,0 +1,45 @@
+package drakbug;
+
+use c;
+use strict;
+use common qw(backtrace if_);
+
+
+sub bug_handler {
+ my ($error, $is_signal) = @_;
+
+ # exceptions in eval are OK:
+ return if $error && $^S ne '0' && !$is_signal;
+
+ # exceptions with "\n" are normal ways to quit:
+ if (!$is_signal && eval { $error eq MDK::Common::String::formatError($error) }) {
+ warn $error;
+ exit(255);
+ }
+
+ # we want the full backtrace:
+ if ($is_signal) {
+ my $ctrace = c::C_backtrace();
+ $ctrace =~ s/0:.*(\d+:[^:]*Perl_sighandler)/$1/sig;
+ $error .= "\nGlibc's trace:\n$ctrace\n";
+ }
+ $error .= "Perl's trace:\n" . common::backtrace() if $error;
+
+ my $progname = $0;
+
+ # do not loop if drakbug crashes and do not complain about wizcancel:
+ if ($progname =~ /drakbug/ || $error =~ /wizcancel/ || !-x '/usr/bin/drakbug') {
+ warn $error;
+ exit(1);
+ }
+ $progname =~ s|.*/||;
+ exec('drakbug', if_($error, '--error', $error), '--incident', $progname);
+ c::_exit(1);
+}
+
+if (!$ENV{DISABLE_DRAKBUG}) {
+ $SIG{SEGV} = sub { bug_handler(@_, 1) };
+ $SIG{__DIE__} = \&bug_handler;
+}
+
+1;
diff --git a/perl-install/drakxtools.spec b/perl-install/drakxtools.spec
deleted file mode 100644
index 51ade7ab2..000000000
--- a/perl-install/drakxtools.spec
+++ /dev/null
@@ -1,2849 +0,0 @@
-Summary: The drakxtools (XFdrake, diskdrake, keyboarddrake, mousedrake...)
-Name: drakxtools
-Version: 9.2
-Release: 16mdk
-Url: http://www.mandrakelinux.com/en/drakx.php3
-Source0: %name-%version.tar.bz2
-License: GPL
-Group: System/Configuration/Other
-Requires: %{name}-newt = %version-%release, perl-Gtk2 >= 0.95-6mdk, /usr/X11R6/bin/xtest, font-tools, usermode >= 1.63-5mdk, perl-MDK-Common >= 1.1.2-2mdk, gurpmi
-Requires: foomatic-db-engine
-Conflicts: drakconf < 9.1-14mdk
-Conflicts: rpmdrake < 2.1-29mdk
-Conflicts: mandrake_doc-drakxtools-en < 9.2, mandrake_doc-drakxtools-es < 9.2, mandrake_doc-drakxtools-fr < 9.2
-BuildRequires: gettext, gtk+2-devel, ldetect-devel >= 0.4.9-3mdk, ncurses-devel, newt-devel, perl-devel >= 1:5.8.0-20mdk, libext2fs-devel, perl-MDK-Common-devel >= 1.1.3-1mdk
-BuildRoot: %_tmppath/%name-buildroot
-Provides: draksec
-Obsoletes: draksec
-%define _requires_exceptions perl(Net::FTP)\\|perl(Time::localtime)
-
-%package newt
-Summary: The drakxtools (XFdrake, diskdrake, keyboarddrake, mousedrake...)
-Group: System/Configuration/Other
-Requires: perl-base >= 1:5.8.0-20mdk, urpmi >= 4.4-23mdk, modutils >= 2.3.11, ldetect-lst >= 0.1.7-3mdk, usermode-consoleonly >= 1.44-4mdk, msec >= 0.38-5mdk
-Requires: netprofile
-Obsoletes: diskdrake kbdconfig mouseconfig printtool setuptool drakfloppy
-Provides: diskdrake, kbdconfig mouseconfig printtool setuptool, drakfloppy = %version-%release
-Provides: perl(Newt::Newt)
-Provides: perl(network::isdn_consts)
-%define _requires_exceptions perl(interactive::gtk)\\|perl(ugtk2)
-
-%package http
-Summary: The drakxtools via http
-Group: System/Configuration/Other
-Requires: %{name}-newt = %version-%release, perl-Net_SSLeay >= 1.22-1mdk, perl-Authen-PAM >= 0.14-1mdk, perl-CGI >= 2.91-1mdk
-PreReq: rpm-helper
-
-%package -n harddrake
-Summary: Main Hardware Configuration/Information Tool
-Group: System/Configuration/Hardware
-Requires: %{name}-newt = %version-%release
-Obsoletes: kudzu, kudzu-devel, libdetect0, libdetect0-devel, libdetect-lst, libdetect-lst-devel, detect, detect-lst
-Provides: kudzu, kudzu-devel, libdetect0, libdetect0-devel, libdetect-lst, libdetect-lst-devel, detect, detect-lst
-Prereq: rpm-helper
-
-%package -n harddrake-ui
-Summary: Main Hardware Configuration/Information Tool
-Group: System/Configuration/Hardware
-Requires: %name = %version-%release
-
-%description
-Contains many Mandrake applications simplifying users and
-administrators life on a Mandrake Linux machine. Nearly all of
-them work both under XFree (graphical environment) and in console
-(text environment), allowing easy distant work.
-
-adduserdrake: help you adding a user
-
-ddcxinfos: get infos from the graphic card and print XF86Config
-modlines
-
-diskdrake: DiskDrake makes hard disk partitioning easier. It is
-graphical, simple and powerful. Different skill levels are available
-(newbie, advanced user, expert). It's written entirely in Perl and
-Perl/Gtk. It uses resize_fat which is a perl rewrite of the work of
-Andrew Clausen (libresize).
-
-drakauth: configure authentification (LDAP/NIS/...)
-
-drakautoinst: help you configure an automatic installation replay
-
-drakbackup: backup and restore your system
-
-drakboot: configures your boot configuration (Lilo/GRUB,
-Bootsplash, X, autologin)
-
-drakbug: interactive bug report tool
-
-drakbug_report: help find bugs in DrakX
-
-drakconnect: LAN/Internet connection configuration. It handles
-ethernet, ISDN, DSL, cable, modem.
-
-drakfloppy: boot disk creator
-
-drakfont: import fonts in the system
-
-drakgw: internet connection sharing
-
-drakproxy: proxies configuration
-
-draksec: security options managment / msec frontend
-
-draksound: sound card configuration
-
-draksplash: bootsplash themes creation
-
-drakTermServ: mandrake terminal server configurator
-
-drakxservices: SysV service and dameaons configurator
-
-drakxtv: auto configure tv card for xawtv grabber
-
-keyboarddrake: configure your keyboard (both console and X)
-
-liveupdate: live update software
-
-logdrake: show extracted information from the system logs
-
-lsnetdrake: display available nfs and smb shares
-
-lspcidrake: display your pci information, *and* the corresponding
-kernel module
-
-localedrake: language configurator, available both for root
-(system wide) and users (user only)
-
-mousedrake: autodetect and configure your mouse
-
-printerdrake: detect and configure your printer
-
-scannerdrake: scanner configurator
-
-drakfirewall: simple firewall configurator
-
-XFdrake: menu-driven program which walks you through setting up
-your X server; it autodetects both monitor and video card if
-possible
-
-
-%description newt
-See package %name
-
-%description http
-This add the capability to be runned behind a web server to the drakx tools.
-See package %name
-
-
-%description -n harddrake
-The harddrake service is a hardware probing tool run at system boot
-time to determine what hardware has been added or removed from the
-system.
-It then offer to run needed config tool to update the OS
-configuration.
-
-
-%description -n harddrake-ui
-This is the main configuration tool for hardware that calls all the
-other configuration tools.
-It offers a nice GUI that show the hardware configuration splitted by
-hardware classes.
-
-
-%prep
-%setup -q
-
-%build
-%make CFLAGS="$RPM_OPT_FLAGS" rpcinfo-flushed
-%make ddcprobe serial_probe
-%make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-%make PREFIX=$RPM_BUILD_ROOT install
-mkdir -p $RPM_BUILD_ROOT/{%_initrddir,%_sysconfdir/{X11/xinit.d,sysconfig/harddrake2}}
-touch $RPM_BUILD_ROOT/etc/sysconfig/harddrake2/previous_hw
-
-mkdir -p $RPM_BUILD_ROOT%_sysconfdir/{pam.d,security/console.apps}
-cp pam.net_monitor $RPM_BUILD_ROOT%_sysconfdir/pam.d/net_monitor
-cp apps.net_monitor $RPM_BUILD_ROOT%_sysconfdir/security/console.apps/net_monitor
-
-dirs1="usr/lib/libDrakX usr/share/libDrakX"
-(cd $RPM_BUILD_ROOT ; find $dirs1 usr/bin usr/sbin ! -type d -printf "/%%p\n")|egrep -v 'bin/.*harddrake' > %{name}.list
-(cd $RPM_BUILD_ROOT ; find $dirs1 -type d -printf "%%%%dir /%%p\n") >> %{name}.list
-
-perl -ni -e '/drakbackup|drakfont|gtk|icons|logdrake|net_monitor|pixmaps|printer|XFdrake/ ? print STDERR $_ : print' %{name}.list 2> %{name}-gtk.list
-perl -ni -e '/http/ ? print STDERR $_ : print' %{name}.list 2> %{name}-http.list
-
-#mdk menu entry
-mkdir -p $RPM_BUILD_ROOT/%_menudir
-
-cat > $RPM_BUILD_ROOT%_menudir/drakxtools-newt <<EOF
-?package(drakxtools-newt):\
- needs="X11"\
- section="Configuration/Other"\
- title="LocaleDrake"\
- longtitle="Language configurator"\
- command="/usr/bin/localedrake"\
-
-EOF
-
-cat > $RPM_BUILD_ROOT%_menudir/harddrake-ui <<EOF
-?package(harddrake-ui):\
- needs="X11"\
- section="Configuration/Hardware"\
- title="HardDrake"\
- longtitle="Hardware Central Configuration/information tool"\
- command="/usr/sbin/harddrake2"\
- icon="harddrake.png"
-EOF
-
-cat > $RPM_BUILD_ROOT%_datadir/harddrake/convert <<EOF
-#!/usr/bin/perl
-use Storable;
-
-my \$last_boot_config = "/etc/sysconfig/harddrake2/previous_hw";
-
-my \$config = do \$last_boot_config;
-store \$config, \$last_boot_config;
-EOF
-
-cat > $RPM_BUILD_ROOT%_sysconfdir/X11/xinit.d/harddrake2 <<EOF
-#!/bin/sh
-exec /usr/share/harddrake/service_harddrake X11
-EOF
-
-cat > $RPM_BUILD_ROOT%_datadir/harddrake/confirm <<EOF
-#!/usr/bin/perl
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-
-my \$in = interactive->vnew;
-my \$res = \$in->ask_okcancel(\$ARGV[0], \$ARGV[1], 1);
-\$in->exit(\$res);
-EOF
-
-chmod +x $RPM_BUILD_ROOT{%_datadir/harddrake/*,%_sysconfdir/X11/xinit.d/harddrake2}
-# temporary fix until we reenable this feature
-rm -f $RPM_BUILD_ROOT%_sysconfdir/X11/xinit.d/harddrake2
-
-%find_lang libDrakX
-cat libDrakX.lang >> %name.list
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-[[ ! -e %_sbindir/kbdconfig ]] && %__ln_s -f keyboarddrake %_sbindir/kbdconfig
-[[ ! -e %_sbindir/mouseconfig ]] && %__ln_s -f mousedrake %_sbindir/mouseconfig
-[[ ! -e %_bindir/printtool ]] && %__ln_s -f ../sbin/printerdrake %_bindir/printtool
-:
-
-%postun
-for i in %_sbindir/kbdconfig %_sbindir/mouseconfig %_bindir/printtool;do
- [[ -L $i ]] && %__rm -f $i
-done
-
-%post http
-%_post_service drakxtools_http
-
-%preun http
-%_preun_service drakxtools_http
-
-%post newt
-%update_menus
-
-%postun newt
-%clean_menus
-
-%post -n harddrake-ui
-%update_menus
-
-%postun -n harddrake-ui
-%clean_menus
-
-%post -n harddrake
-%_post_service harddrake
-
-%preun -n harddrake
-%_preun_service harddrake
-
-%postun -n harddrake
-file /etc/sysconfig/harddrake2/previous_hw | fgrep -q perl && %_datadir/harddrake/convert || :
-
-%files newt -f %name.list
-%defattr(-,root,root)
-%config(noreplace) /etc/security/fileshare.conf
-%_menudir/drakxtools-newt
-%doc diskdrake/diskdrake.html
-%attr(4755,root,root) %_sbindir/fileshareset
-
-%files -f %{name}-gtk.list
-%defattr(-,root,root)
-%config(noreplace) %_sysconfdir/pam.d/net_monitor
-%config(noreplace) %_sysconfdir/security/console.apps/net_monitor
-/usr/X11R6/bin/*
-
-%files -n harddrake
-%defattr(-,root,root)
-%config(noreplace) %_initrddir/harddrake
-%dir /etc/sysconfig/harddrake2/
-%config(noreplace) /etc/sysconfig/harddrake2/previous_hw
-%dir %_datadir/harddrake/
-%_datadir/harddrake/*
-#%_sysconfdir/X11/xinit.d/harddrake2
-
-%files -n harddrake-ui
-%defattr(-,root,root)
-%dir /etc/sysconfig/harddrake2/
-%_sbindir/harddrake2
-%_datadir/pixmaps/harddrake2
-%_menudir/harddrake-ui
-%_iconsdir/large/harddrake.png
-%_iconsdir/mini/harddrake.png
-%_iconsdir/harddrake.png
-
-
-%files http -f %{name}-http.list
-%defattr(-,root,root)
-%dir %_sysconfdir/drakxtools_http
-%config(noreplace) %_sysconfdir/pam.d/miniserv
-%config(noreplace) %_sysconfdir/init.d/drakxtools_http
-%config(noreplace) %_sysconfdir/drakxtools_http/conf
-%config(noreplace) %_sysconfdir/drakxtools_http/authorised_progs
-%config(noreplace) %_sysconfdir/logrotate.d/drakxtools-http
-
-%changelog
-* Fri Sep 19 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-16mdk
-- drakconnect: fix #5825 (hostname set as ARRAY(0x...))
-
-* Thu Sep 18 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-15mdk
-- drakboot: (pixel)
- o fix switching from grub to lilo
- o fix drakboot crashing once bootloader has been altered in text
- mode
-- printerdrake: further fix cups configuration (till)
-- update translations
-
-* Wed Sep 17 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-14mdk
-- printerdrake: fix cups configuration regarding commented out rules
-
-* Wed Sep 17 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-13mdk
-- diskdrake: (pixel)
- o fix writting wrong types in fstab
- o fix handling of mount points with underscoresb (#5728)
- o do not check current partition for already used mount point
-- drakauth : fix NIS managment (#5668) (pixel)
-- drakhelp: load online drakbug help (daouda)
-- draksound: (#5403)
- o make sure to use OptionMenu instead of Combo boxes
- o move help into a tooltip
-- upate translations
-
-* Tue Sep 16 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-12mdk
-- diskdrake: (pixel)
- o fix growing ext2/ext3 partitions
- o handle beos partitions with filesystem befs (#5523)
-- drakbackup:
- o use hd as default daemon media (stew)
- o fix translation issues (Arpad Biro)
- o fix user cron misbehavior (Keld Jørn Simonsen)
-- drakTermServ:
- o fix translation issues (Arpad Biro)
- o fix help text format (stew)
-- drakboot: when "Back" is pressed, restore the list of entries in
- bootloader (#5680) (pixel)
-- drakbug: add support for bug submission about stable releases into
- anthill (stew)
-- drakconnect: (poulpy)
- o fix adsl support regarding ppoe.conf (#5674)
- o fix speedtouch (#5056)
-- draksound:
- o do not overwrite current driver if it's a viable driver for the
- current sound card (#5488)
- o show the current driver too (being preselected) so that users do
- not get confused
-- drakupdate_fstab: fix supermount handling (pixel)
-- fix hidden or cutted buttons (#1919, #2364, #2705, #3667, ...)
-- fix expert mode resulting in advanced setting being displayed by
- default but label still being "advanced" instead of "basic" (#4353)
-- harddrake service: switch to verbose mode when using bootsplash
- (warly)
-- localedrake: fix chinese input (#4408)
-- printerdrake: (till)
- o fix LIDIL devices management
- o really handle PSC 1xxx and OfficeJet 4xxx
- o added support for user-mode-only HPOJ devices (HP PSC 1xxx and
- OfficeJet 4xxx) (#5641)
-- standalone tools: speedup startup by invoking "rpm -qa" only once (fpons)
-- XFdrake:
- o use 24bit for fglrx in automatic mode (fpons)
- o prevent lost Xauth access (pixel)
- o fix logout from gnome (pixel)
- o fix not translated test page (pixel)
-
-* Thu Sep 11 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-11mdk
-- drakboot: misc fixes (pixel, fpons)
-- drakconnect:
- o do not set hostname if there's a dynamic interface
- o fix firmware loading (poulpy)
- o fix profiles with spaces in name (#5586)
-- drakfont: fix faillure to install fonts (#5571)
-- drakfirewall: make it work with dialup connexion (#4424) (florin)
-- drakgw: fix canceling info steps (florin)
-- harddrake2:
- o fix freeze while configuring modules (infamous #4136)
- o warn about no module parameters instead of not showing the dialog
-- localedrake: configure kdmrc too (pixel)
-- logdrake: always display the log domain names in the same order
-- printerdrake: help making printerdrake icon bar be shorter (#5282)
-- update wizard banners (davod beidebs)
-- XFdrake: handle ati drivers (nplanel, fpons)
-
-* Tue Sep 9 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-10mdk
-- disdrake: fix userdrake not runnable (#5447) (pixel)
-- drakboot:
- o fix too small kernels window width (#5040)
- o fix too big main window
-- drakconnect:
- o when no profile is set, use default one (poulpy)
- o add support for sagem dhcp (francois)
-- drakperm: do not complain about saving on view change
-- drakxtv: install xawtv if needed (#5130)
-- logdrake: fix infinite entries (#5448)
-- printerdrake: fix options saving (#5423) (till)
-
-* Mon Sep 8 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-9mdk
-- drakfont: fix not being able to select directories (#4964)
-- drakconnect:
- o fix profiles managment (poulpy & tv)
- o fix firmware loading (#5307, poulpy)
-- fix net_monitor not working as root
-- printerdrake:
- o use new help scheme (daouda)
- o reread database when switching between normal and expert mode
- (till)
-- scannerdrake: complain if saned could not be installed
-- XFdrake: use OptionMenu's rather than Combo's (more consistent gui
- and better behavior when embedded)
-
-* Sun Sep 7 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-8mdk
-- localedrake: configuration fixes (gc)
-- drakgw: fix #2120 & #2405 (florin)
-- drakconnect: (poulpy)
- o workaround messed up ppp0 configration
- o fix profiles
-
-* Thu Sep 4 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-7mdk
-- diskdrake: fix #5204 (pixel)
-- drakbackup: fix untranslatable strings, ... (stew)
-- drakconnect:
- o fix #5242: loop on winmodem connection if no windomem but winmodem
- is selected
- o offer to select modem device
-- fix buildrequires for 64bits ports
-- fix lsnetdrake on AMD64 (gwenole)
-
-* Sun Aug 31 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-6mdk
- - drakboot: default parameters are those of the default target (pixel)
- - drakedm: in non expert mode, only display the list of *installed* display
- managers
- - drakfloppy, drakconnect: fix more dialogs height
- - fix requires
-
-* Thu Aug 28 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-5mdk
-- drakhelp: add support for contextual help (daouda)
-- explanations are back (pixel)
-- fix autologin for xdm (pixel)
-- drakconnect:
- o fix dialogs height
- o fix #4372 (poulpy)
- o profiles are back
-- printerdrake: new GUI (till)
-
-* Wed Aug 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-4mdk
-- drakconnect:
- o non wizard gui
- * fix hostname setting
- * set hostname at the same time we apply dns changes (on apply
- button press)
- o both wizard and non wizard modes: (poulpy)
- * fix #4363
- * fix speedtouch firmware file name
-- drakxtv: resync with kernel's bttv
-- printerdrake: misc fixes (till)
-
-* Tue Aug 26 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-3mdk
-- drakconnect (non wizard gui):
- o add --skip-wizard option to get into non wizard mode
- o hide profile in "internet config" dialog if profiles are disabled
- o "Configure hostname..." button: offer to configure DNS too
- o only allow to run one wizard at once
- o reload the configuration once the wizard exited
- o prevent one to do concurrent config changes from the gui while the
- wizard is run
- o only write conf & install packages on exit if something really has
- been altered so that we do not write the config twice if the
- "apply" button was already pressed
-
-* Tue Aug 26 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-2mdk
-- diskdrake: (pixel)
- o fix WebDAV configuration embedding (#4703)
- o use fs=ext2:vfat or fs=udf:iso9600 for supermount-ng
-- printerdrake: misc fixes (till)
-- service_harddrake: prevent depmod to be runned everytime
-- XFdrake: more fixes for multilayout keyboards
-
-* Mon Aug 25 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-1mdk
-- drakfloppy: make it CJK aware
-- drakTermServ: add /etc/modules for local hardware config (stew)
-- fix #4579: drakconnect not working on console (poulpy)
-- printerdrake: misc fixes (till)
-
-* Sat Aug 23 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.35mdk
-- drakperm:
- o add new rules at top
- o always display editable rules before non editable ones
- o disable up button when selected rule is the first one
- o disable down button when selected rule is the latest one or when
- next rule is non editable
- o fix moving up/down rules
- o fix no saving if we've sort rules
-
-* Sat Aug 23 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.34mdk
-- disdrake: explain why ntfs resizing had failled (pixel)
-- drakbackup: (stew)
- o fix crash on file select of "Other" finish custom cron
- configuration
- o normal users can now do cron backups
-- drakconnect:
- o fix no detection in expert mode
- o better firmware load from floppy managment (poulpy)
- o fix pppoa use for speedtouch USB (poulpy)
-- drakfirewall: add samba in services list
-- drakperm: make security level menu be more understandable & usuable
-- draksec: translate default value in help tooltips too
-- fix CJK wrapping in more places (#3670 and the like)
-- make interactive button order be the same as gtk dialogs one and our
- dialogs but only in standalone mode
-- misc fixes from pixel
-
-* Thu Aug 21 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.33mdk
-- fix CJK wrapping in interactive tools (#4642)
-- remove ugly border around standalone tools
-- wizards: increase height to prevent some hidden or cutted buttons
-- diskdrake: fix small unallocated area at the end of the drive
- (pixel)
-- drakconnect: (poulpy)
- o allow user to copy firmware from a floppy
- o fix another back step
- o fix wrong url
-- drakxtv: only offer to configure xawtv if bttv was configured
-- XFdrake: fix #3976 (francois)
-- update keyboards list & translations (pablo)
-
-* Tue Aug 19 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.32mdk
-- pci hardware discovery: do full-probe by default
-- show advanced options by default if --expert was passed or if expect
- checkbox was checked (#4353)
-- drakconnect: fix internet reconnection (poulpy)
-
-* Tue Aug 19 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.31mdk
-- drakbackup: user definable crontab entry (stew)
-
-- drakconnect:
- o fix up/down interface detection (poulpy)
- o fix some more previous buttons in drakconnect wizard mode
- o fix crash on interface enabling/disabling
- o fix lan changes (#4088)
-
-- drakfloppy:
- o fix long-standing broken mkbootdisk call bug
- o sort modules and directories in treeview
- o save the options & modules list on exit and them restore it on
- load
- o try to be more user friendly:
- * if no error, display a success message, then exit
- * on error, instead of displaying the raw exit code that has no
- meaning for the end user, display in red the log message of
- mkbootdisk
- * remove insane expert button and so called expert frame
-
-- drakpxe: match new pxe dhcp.conf configuration file (francois)
-
-- harddrake2:
- o display the right fields description when no device is selected
- o make dialogs be modals and transcient
-
-- diskdrake: (pixel)
- o fix lvm managment(#4239)
- o fix underscores being underlines (#4678)
- o fix interaction with mcc
-
-- fix misc issues with shadow passwords and package managment
- (francois/pixel)
-* Sun Aug 17 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.2-0.30mdk
-
-- drakconnect mcc:
- - allow hostname change
- - dhcp to static fixes
-
-* Tue Aug 12 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.2-0.29mdk
-- drakconnect: fix message (#4564)
-- drakbackup: (stew)
- o fix #4381
- o search for files to restore
- o fix looping in catalog restore
- o gui enhancements (fabrice facorat)
- o deal with users that are deleted from the system (#4541)
-- drakxtools depends on gurpmi
-- lot of misc bug fixes
-
-* Thu Aug 7 2003 Pixel <pixel@mandrakesoft.com> 9.2-0.28mdk
-- drakxservices: xinetd services have a special treatment
-- localedrake: fix the "zh_TW with country China" case
-- no more stock icons
-
-* Mon Aug 4 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.2-0.27mdk
-- ugtk2.pm:
- - revert "use checkboxes instead of icons"
- - fix not possible to select with mouse anymore (rpmdrake etc)
-
-* Mon Aug 4 2003 Pixel <pixel@mandrakesoft.com> 9.2-0.26mdk
-- various fixes
-- clean tarball with no Makefile_c (thanks to Christiaan Welvaart)
-
-* Sat Aug 2 2003 Pixel <pixel@mandrakesoft.com> 9.2-0.25mdk
-- drakauth first appearance
-- diskdrake --nfs and --smb:
- o instead of removing the "Search servers" button when the search is over,
- keep it to allow searching for new servers
- (the label is changed from "Search servers" to "Search new servers") (bug #4297)
-- XFdrake
- o use something like """Virtual 1280 960""" instead of """Modes "1280x960" "1024x768" "800x600" "640x480""""
- o fix test dialog box
-- drakbackup (various changes)
-- drakboot
- o allow to choose /dev/fd0 for the boot device
-
-* Thu Jul 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.24mdk
-- drakbug:
- o use option menus instead of combos
- o use std button layout
-- drakconnect:
- o double click on ethernet interface list lines run lan config
- dialog
- o remove nonsense expert button
-- drakperm: fix crash on adding new permission
-- harddrake: fix #4258
-- mousedrake: use std button layout
-- ugtk2:
- o add infrastucture for rpmlint toggle (semi-selected state mis-functionnal)
- o restore mouse selection
-
-* Thu Jul 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.23mdk
-- drakperm:
- o main window:
- * "ok" button should exit after having saved the preferences
- * localize levels in option menu
- o preferences dialog :
- * fix preferences saving on exit
- * fix tips
-- draksec:
- o restore help for msec checks
- o enhanced help in tooltips
-
-* Thu Jul 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.22mdk
-- drakautoinst, drakper, draksound, and many other tools: use option
- menus instead of combo boxes when the user is selecting from a fixed
- set of options
-- drakboot: hide non working splash stuff
-- drakperm:
- o sanitize gui (upcased labels, understandable labels, ...)
- o settings dialog:
- * localize all fields
- * add tips for all check boxes
- * use std button layout
- * use stock icons
- o rules toolbar: use stock icons
-- net_monitor: fix crash on profile change due to netconnect api
- change
-
-* Wed Jul 23 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.21mdk
-- drakbackup: misc fixes (stew)
-- drakboot: directly configure gdm & kdm
-- drakconnect: fix #4050
-- drakfont: fix #1679 & #3673
-- drakgw:
- o fix not being able to step backward
- o fix canceling resulting in broken dhcp config
- o make --testing option being usefull
-- drakhelp: fix no help for de/it/ru locales (daouda)
-
-* Tue Jul 22 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.20mdk
-- drakconnect: fix "lan config" dialog where fields were not filled
-- draksec: vertically align OptionMenus
-
-* Mon Jul 21 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.19mdk
-- diskdrake, drakconnect: add an help button in standalone mode
-- draksec
- o describe all security levels
- o make it clear that security admin is not a security level
- o colorize security levels names
- o do not offer to set syadmin when reports are disabled
- o fix infamous "when embedded draksec can be enlarged but never shrink back"
- o make 1st tab title somewhat clearer
-- harddrake2: workaround buggy gtk+-2.x that do not enable wrapping textviews when
- realized
-- renew drakconnect wizard gui (2/x):
- o make previous button always be availlable when configuring lan
- o keep user changes when going back to main connection types menu
- o do not loop if one refuse to save changes, just skip the save step
- o fix final success message
- o really translate type connection to be translated
- o try to get more space on screen
- o dhcp host name cannot be set if one want to get it from dhcp server
-
-* Sat Jul 19 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.18mdk
-- draksec:
- o sort functions & checks when writing configuration
- o really fix config load
-
-* Fri Jul 18 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.17mdk
-- draksec:
- o fix preferences loading & saving
- o sort again functions & checks
-
-* Thu Jul 17 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.16mdk
-- do not exit the whole application when one destroy a dialog
-- drop gtk+1 requires
-- renew drakconnect gui (1/x):
- o embedded mode:
- * remove ugly icon
- * fix internet gateway buttons layout
- * smaller dialogs
- * correctly align fields in "lan configuration" dialog
- * run wizard in background (no more main window freeze until
- wizard exit)
- o wizard mode:
- * proxy configuration step: do not go back two steps back on
- "previous" click, but only one back
- * properly use checkboxes (do not put extra labels before when
- checkbox's label is empty)
-- wizard mode:
- o stock items in wizards for previous/next
- o do not force permanent center of wizard windows, which is not
- user-friendly
- o always use s/TextView/Label/
-
-* Tue Jul 15 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.15mdk
-- drakbackup, drakperm: fix button layout
-- drakboot, drakfloppy: use option menus rather than non editable
- combo
-- drakboot:
- o grey theme config instead of hiding it
- o describe user and desktop lists
-- drakfloppy: grey remove button if no module to remove in modules
- list
-- draksec: wrap labels
-- fix interactive apps on X11 (eg diskdrake)
-- fix error and warning dialogs
-- logdrake: ensure we got a valied email in "email alert"
-- printerdrake: make printerdrake runable
-- xfdrake: make it use stock items too
-
-* Mon Jul 14 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.14mdk
-- drakboot: fix /etc/lilo.conf generation when reading grub config by setting
- valid "boot=" parameter
-- drakconnect, drakfloppy: make checkboxes out of ugly "expert <-> normal modes"
- buttons (saner gui)
-- drakconnect:
- o kill duplicated code, share it with drakfloppy and others
- o renew GUI:
- * make sub windows be modal, centered on parent and trancient dialogs
- instead of toplevel windows
- * fix "Internet connection configuration" dialog
- * fix layout of main window:
- + pack together expert mode toggle and wizard button
- + merge wizard label and button
-- drakfloppy:
- o fix warning on menu building
- o fix module browsing after gtk2-perl-xs switch
- o support new 2.5.x kernels' kbuild
- o fix old brown paper bug (mdk8.2/9.0 :-() not passing extra selected modules
- to mkinitrd
- o fix unable to pick a module again after having removed it from selection
- o renew GUI:
- * window with enabled expert options is too big when embedded: let's move
- expert options into a sub dialog
- * use stock dialogs
-- draksec:
- o translate msec options' default values
- o display descriptions rather than raw function names
-- drakTermserv: fix entry filling
-- logdrake: fix crash when called from net_monitor
-- net_monitor: switch from gtk+-1.2.x to gtk+-2.2.x (fix #3998 btw)
-- sanitize guis, especially button layouts:
- o use std layout (ButtonBoxes) for buttons everywhere
- o use stock items everywhere
- o let interactive apps using stock items on x11 and old drak translated items
- in other backends
- o pack buttons always in the same order and places
- o use OptionMenu instead of Combo Boxes when the user is selecting from a
- fixed set of options
-
-* Thu Jul 10 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.13mdk
-- drakfloppy: one cannot edit output buffer
-- drakperm: fix crash when moving lines around sorted columns
-- draksec: more stock icons
-- logdrake: fixes
-
-* Thu Jul 10 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.12mdk
-- drakboot, drakfont: use stock button
-- drakconnect, drakfloppy: grey widgest instead of hiding them when
- not in expert mode
-- drakconnect, draksec: fix crash
-- drakbackup: misc fixes (stew)
-
-* Wed Jul 9 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.11mdk
-- more work on new perl binding for gtk+-2, especially for drakbug and
- rpmdrake
-
-* Wed Jul 9 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.10mdk
-- switch from gtk2-perl to gtk2-perl-xs
-- a few more stock items
-
-* Sun Jul 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.9mdk
-- increase gui coherency of drakxtools vs other gtk+ apps: use stock icons
-- drakbackup: (stew)
- o show units for hard-drive allocation
- o add "View Configuration" 1st screen.
- o honor user defined limits for backup disk consumption
- o log last backup and to enable view last backup log
- o fix gui crash on restore. (Keld Jorn Simonsen/Cooker list)
-- drakconnect, drakfloppy, drakperm: let columns be sortable
-- drakconnect (isdn): virtual interface ippp0 is started at boot
- (dam's)
-- harddrake2: colorize help
-- keyboard managment: added various new keyboard layouts (pablo)
-
-* Tue Jul 1 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.8mdk
-- drakbackup: try to better fit gui when embedded (fix #4111) (stew)
-- drakTermServ: enable local client hardware configuration (stew)
-- harddrake2: let gui behave better when embedded
-- ugtk2: locales setting fix for rpmdrake (gc)
-
-* Tue Jun 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.7mdk
-- drakboot: more work on grub conf reread
-- drakedm: fix crash on service restart
-- drakfont: fix crash when trying to remove empty font list (#1944)
-
-* Tue Jun 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.6mdk
-- autoinstall: (pixel)
- o fix regarding LVMs
- o support encrypted partitions
-- draconnect: misc fixes (poulpy)
-- drakboot: reread grub config file if grub is the current boot loader
- (#3965)
-- diskdrake: fix for nfs mount points (pixel)
-- drakgw: reread current network conf (florin) (#468)
-- i18n fixes (#3647 and co)
-- mousedrake: add mouse test in non-embedded mode (#2049) (gc)
-
-* Tue May 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.5mdk
-- keyboardrake: resync with XFree86-4.3 (pablo)
-
-* Tue May 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.4mdk
-- drakconnect: fix #3628 (ensure 644 perms on /etc/resolv.conf)
-
-* Wed May 21 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.3mdk
-- drakbackup: fixes regarding file names in differntial mode (stew)
-- drakboot, drakconnect, harddrake2, printerdrake: misc cleaning
-- drakconnect:
- o workaround #3341 (display "Bad ip" instead of a blank field if we
- failled to parse the ip)
- o fix #853 (check ip) (poulpy)
-- printerdrake: fix #1342 (english rephrasing)
-- requires: fix #3485
-
-* Tue May 20 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.2mdk
-- printerdrake: misc bug fixes
-- drakconnect: fix #763, #2336 (ethX aliases on network card changes)
- (poulpy)
-
-* Tue May 20 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.2-0.1mdk
-- drakconnect: fix #2530 (extraneous vindow on wizard error) (poulpy)
-- drakedm: fix #1743 (offer to restart the dm service)
-- drakfont: fix #3960 (divide by zero execption)
-- draksec: fix #3616 (draksec discarding changes)
-- my_gtk: fix #3952 (non working drakcronat)
-
-* Fri May 16 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-38mdk
-- drakboot:
- o do not install both lilo and grub when grub is choosen
- o further fix #2826: replace spaces by underscores in labels
- o further fix #3560: update main bootloader label after the
- bootloader switch
- o raise a wait message window so that the user can figure out what
- occurs (lilo installation being quite long)
-- harddrake: localize drive capabilites (aka burning, dvd managment, ...)
-- drakconnect: fix #852: add a step to warn user before writing
- settings (poulpy)
-
-* Thu May 15 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-37mdk
-- drakfont: fix #1352 (do not add font directory with dummy messages)
-- harddrake2: fix #3487 (invalid charset in help windows)
-- drakconnect: fix "isdn modem choice step is skipped" bug (poulpy)
-
-* Mon May 12 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-36mdk
-- drakboot:
- o do not loop on console (part of #3560) (pixel)
- o do not log localized messages
- o if the bootsplash is missing, just go back to main config window
-
-* Wed Apr 30 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-35mdk
-- draksec: fix #3618 (let one pick any security level)
-- harddrake service: display all removed devices
-
-* Tue Apr 29 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-34mdk
-- drakedm: fix #3701 (return back to the display managers menu if one
- cancel the installation of the required packages)
-- drakfont: empty the font queue when step back (poulpy)
-
-* Thu Apr 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-33mdk
-- fix provides
-
-* Wed Apr 23 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-32mdk
-- translation snapshot
-
-* Mon Apr 7 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-31mdk
-- harddrake gui: fix menu entry description
-- drakbtoot: fix #2826 (aka crash when one enter space in lilo label)
-- ugtk2: fix #3633
-- drakconnect:
- o fix #1675: swap the text and button widgets
- o typo fix (dam's)
-- new perl_checker compliance (pixel)
-- xfdrake: better keyboard managment (pixel)
-- update translations (pablo)
-- build fix for 64bits arch (gwenole)
-
-* Fri Apr 4 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-30mdk
-- fix drakfloppy crash on boot floppy creation
-- ugtk2.pm: fix slight pb with gtktext_insert (#3633) (gc)
-
-* Fri Mar 28 2003 Pixel <pixel@mandrakesoft.com> 9.1-29mdk
-- use ServerFlags DontVTSwitch for i845, i865 and i85x
-
-* Mon Mar 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-28mdk
-- drakconnect: add support for ltpmodem
-
-* Fri Mar 21 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-27mdk
-- harddrake service: increase default timeout from 5 to 25 seconds
-
-* Sun Mar 16 2003 Warly <warly@mandrakesoft.com> 9.1-26mdk
-- do a correct cvs up of all gi before (me sux)
-
-* Sat Mar 15 2003 Warly <warly@mandrakesoft.com> 9.1-25mdk
-- fix drakperm fatal error in editable mode
-
-* Fri Mar 14 2003 Pixel <pixel@mandrakesoft.com> 9.1-24mdk
-- fix XFdrake handling NVidia proprietary drivers
-
-* Thu Mar 13 2003 Till Kamppeter <till@mandrakesoft.com> 9.1-23mdk
-- printerdrake: Fixed bug #417: '$' character in printer URI was not
- correctly handled.
-- Desktop group simplification (francois).
-- Translation updates (pablo, fabian).
-
-* Thu Mar 13 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-22mdk
-- drakboot/drakx: fix #3161 (ensure right permissions on
- /etc/sysconfig/autologin for bad root umask case)
-- enable smooth sound configuration update from mdk9.0 (new unified
- via sound driver) and from mdk8.x
-- scannerdrake detection fixes (till)
-- drakTermServ: Fix IP pool range (stew)
-
-* Wed Mar 12 2003 Pixel <pixel@mandrakesoft.com> 9.1-21mdk
-- diskdrake: have a default mount point for newly added removables
-- drakupdate_fstab: allow --del to remove fd0 & fd1
-
-* Wed Mar 12 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-20mdk
-- drakedm: install dm if needed
-- harddrake service: handle multiple remvable devices in the same hw
- class (eg: 2+ cd burners or 2+ dvd drives or 2 floppies, ...)
-- drakgw: really use the chosen net_connect interface (florin)
-- drakbackup: gtk2 port fixes (stew)
-- drakboot: fix #3048 (pixel)
-
-* Tue Mar 11 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-19mdk
-- ugtk2: fix still seldom happening #1445 (clicking two times too
- fast) (gc)
-- drakxservices: fix embedding and packing in standalone mode (tv)
-- localedrake: add menu entry (fix #1461) (tv)
-- draksec: fix wait messages displaying (label was not displayed) in
- both standalone and embedded modes (tv)
-- printerdrake fixes (till)
-- translation updates
-
-* Fri Mar 7 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.1-18mdk
-- ugtk2.pm: fix rpmdrake dumping core when multiple searchs in some
- sorting modes (#2899)
-- network/adsl.pm: one small logical fix (fpons)
-
-* Thu Mar 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-17mdk
-- draksplash:
- o fix #1766
- o do not crash when browsing (#1947)
- o do not crash on color selection
-- avoid virtual ethX to be reconfigured by drakconnect (francois)
-
-* Thu Mar 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-16mdk
-- draksound: fix #1929
-- moved code of XFdrake NVIDIA support to generic in standalone. (francois)
-
-* Thu Mar 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-15mdk
-- fix infamous #2672
-- let draksec fit in 800x600
-- harddrake: fix detection of mod_quickcam's webcams
-- scannerdrake: do not detect mod_quickcam's webcams as scanners
-- logdrake:
- o do not update the text buffer when filling it
- o show the wait message also when searching while embedded (else the
- user will be confused and will wonder why logdrake is freezed
-- fix drakwizard ("next" button being packed too far) (pixel)
-
-* Wed Mar 5 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.1-14mdk
-- localedrake: fix behaviour when only one lang is available (clicking
- on "cancel" on the country selection didn't cancel it)
-- drakconnect: fixes in isdn configuration (flepied)
-- drakperm (tv):
- o fix #1776
- o fix small memory leak (tree iterators)
- o restore edit dialog on doble click
-- logdrake: restore "pre gtk+-2 port" search behavior (tv)
- o empty log buffer on search startup
- o freeze buffer while searching
- o scroll down the log buffer on filling
-- localedrake: don't categorize langs, for better looking (since
- most people will have very few of them) (gc)
-- fixed wizard mode not taken into account for drakconnect in
- drakconf. (francois)
-- fixed expert mode in drakconnect for dhcp for cleaning
- variables. (francois)
-- fixed not to use invalid ethX. (francois)
-
-* Mon Mar 3 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-13mdk
-- drakboot: fix #2091, #2480
-
-* Mon Mar 3 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-12mdk
-- drakperm: fix rules saving
-- printerdrake: various fixes (till)
-
-* Fri Feb 28 2003 Guillaume Cottenceau <gc@mandrakesoft.com> 9.1-11mdk
-- drakconnect is no more supporting profiles. (francois)
-- drakconnect support for sagem Fast 800 used by free.fr (francois)
-- drakconnect support for ltmodem. (francois)
-
-* Thu Feb 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-10mdk
-- harddrake service:
- o offer to configure cdrom/dvd/burners/floppies/
- and the like mount points
- o configure firewire controllers
-- diskdrake fixes (pixel)
-- drakconnect fixes (francois)
-
-* Thu Feb 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-9mdk
-- drakconnect:
- o fix lan configuration window filling
- o fix net configuration window sizing
-- drakperm: make it fit better in both embedded and non embedded modes
-- drakgw: fix embedding
-- logdrake: fix scrolling for embedded explanations
-- mousedrake: fix embedding (gc)
-
-* Thu Feb 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-8mdk
-- drakfloppy gtk+2 port
-- drakboot:
- o cleanups
- o disable autologin settings when autologin is disabled
- o make embedded app look better
-- harddrake2:
- o fix #1858 (usb adsl speed touch modem misdetection)
- o provides "options" and "help" pull down menu when embedded
- o detect firewire controllers
-- drakedm: strip empty lines
-- lot of network fixes (francois)
-- drakbackup gtk+2 port fixes: #1753, #1754, #1933, #2159 (stew)
-
-* Tue Feb 25 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-7mdk
-- drakfloppy:
- o fix #1761
- o only list physically present floppies
-- harddrake gui:
- o better support for zip devices
- o removable devices cleanups
- o display dvd/burning capacities
-- harddrake service:
- o do not flash the screen if nothing has to be configured
- o removable devices cleanups
-- fix #1802 (pixel)
-
-* Mon Feb 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-6mdk
-- fix logdrake's mail alerts (services alert, don't crash)
-- drakperm: fix #1771, non editable combo1
-- drakfloppy: fix #1760
-- drakxservices: fix #502
-
-* Mon Feb 24 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-5mdk
-- clean up tools embeddeding in the mcc
- o make it hard to freeze the mcc
- o make tools loo better when embedded (no embedded wait messages,
- ...)
-- harddrake2:
- o add "/dev" to devfs paths
- o do not offer to configure module when there's no module or when
- driver is an url or a graphic server
- o fix embedding
-
-* Fri Feb 21 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-4mdk
-- drakconnect fixes
-
-* Thu Feb 20 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-3mdk
-- drakboot: fix #1922
-- drakgw, drakboot: remove gtk+ warnings
-- harddrake2: fix latest l10n bugs
-- disdkrake fixes (pixel)
-- drakconnect: dhcp fix (poulpy)
-- printerdrake fix (pixel)
-
-* Thu Feb 20 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-2mdk
-- logdrake: fix #1829
-- translation updates
-- scannerdrake:fix embedding
-- drakxtv: workaround a drakx bug which don't always add bttv to
- /etc/modules (fix #)
-- printerdrake:
- o fix embedding
- o hide the icon when embedded to get more space
- o various improvements (till)
-- drakfont: fc-cache enhancement (pablo)
-- drakTermServ: fix #1774, #1775 (stew)
-- newt bindind: better trees managment on console (pixel)
-- diskdrake fixes (pixel)
-- xfdrake: log failure sources (pixel)
-
-* Tue Feb 18 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-1mdk
-- fix "nothing to edit" in drakperm (#1769)
-- fix draksec help
-- drakedm: fix badly generated config file by 3rd party progs
-- i18n fixes (pablo, gc)
-- scannerdrake updates (till)
-- diskdrake fixes: raid, ... (pixel)
-- printerdrake fixes (till)
-- drakconnect fix (poulpy)
-
-* Mon Feb 17 2003 Till Kamppeter <till@mandrakesoft.com> 9.1-0.34mdk
-- Fixed automatic print queue generation for HP DeskJet 990C.
-
-* Mon Feb 17 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.33mdk
-- fix wizard mode (pixel)
-
-* Mon Feb 17 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.32mdk
-- harddrake: fix #1718
-- translation snapshot
-
-* Sun Feb 16 2003 Till Kamppeter <till@mandrakesoft.com> 9.1-0.31mdk
-- Various fixes/improvements on printerdrake:
- o Restructured function "main()"
- o Auto-generation of print queues during installation
- o Support for unknown printers in auto-detection and auto-generation of
- print queues
- o Fixed display of printer help pages
- o Fixed determination of default printer
-
-* Fri Feb 14 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.30mdk
-- drakperm fixes
-- drakfont fixes
-
-* Thu Feb 13 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.29mdk
-- fix gc breakage
-
-* Thu Feb 13 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.28mdk
-- vastly improved scannerdrake (till):
- o fixed scsi/usb/parrallel scanners detection
- o new known scanners
- o support scanners with multiple ports
- o better configuration files
- o fix "SnapScan" <-> "snapscan" bug
- o fix "HP scanners had no manufacturer field"
-- drakxservices fixes (pixel)
-
-* Wed Feb 12 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.27mdk
-- fix embedded drakconnect:
- o no crash on expert "configure" buttons
- o better behaviour when buttons are hidden/showx
-- harddrake/draksound: card list update
-- pixel:
- o diskdrake:
- * discrimate hpfs and ntfs
- * more precise message when formatting / fsck'ing / mounting
- partitions
- * hide passwords for smb mount points
- o XFdrake: fix #707
-- drakperm: first gtk+2 port fixes, still more to come (pouly & me)
-- fix drakbug help (daouda)
-- drakconnect fixes (frederic lepied)
-- updated translations (pablo)
-
-* Fri Feb 7 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.26mdk
-- drakconnect : dhcp & zeroconf fixes
-- drakfont : full Gtk2
-
-* Thu Feb 6 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.25mdk
-- drakconnect fixes
-
-* Thu Feb 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.24mdk
-- fix drakfloppy
-- diskdrake: s/fat/windows/ because of ntfs
-- poulpy:
- o drakfont updates
- o drakconnect fixes
-- translation updates (pablo & co)
-- add drakedm to choose display manager
-- drakhelp: install help on demand (deush)
-- harddrake2: fix for rtl languages
-
-* Wed Feb 5 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.23mdk
-- draksec cleanups
-- fix harddrake2 embedding in mcc
-- update translations (pablo)
-
-* Tue Feb 4 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.22mdk
-- add support for adiusbadsl 1.0.2 (fponsinet)
-- faster draksec shutdown
-
-* Mon Feb 3 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.21mdk
-- draksec:
- o gui look nicer
- o add help for check cron
- o fix "first notebook page do not show up"
- o do not be listed in drakxtools-http
- o faster startup
-- sanitize draxktools-http service script
-- diskdrake: ntfs resizing bug fixes (pixel)
-
-* Fri Jan 31 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.20mdk
-- drakconnect: add more zeroconf support
-
-* Thu Jan 30 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.19mdk
-- printerdrake: fixes for new foomatic
-- requires a recent enought perl-GTK2
-- harddrake2:
- o fix misdetection of nvnet part of nvforce2 chips
- o move nforce system controllers in bridge class (which is renamed
- "bridges and system controllers")
- o mark class names as being translatable
-- logdrake works again in both embedded and non embedded cases
-- translation updates, add Tajiki (pablo)
-- interactive: add support for trees on console (pixel)
-- diskdrake: ntfs resizing support (pixel) (acked by ntfsresize author)
-
-* Wed Jan 29 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.18mdk
-- fix locales managment for non interactive tools (aka pure gtk+ tools)
-- harddrake2:
- o restore cd/dvd burners detection
- o fix doble detection of pci modems
- o don't display vendor & description when we don't have them for ata disks
- o fix ghost modem detection
- o logdrake is embeddable again
-
-* Tue Jan 28 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.17mdk
-- drakfont updates (poulpy):
- o fix progress bar,
- o about box,
- o ugly border when embedded.
-- printerdrake: various fixes for local printer (till)
-- small fix in drakgw (florin)
-
-* Mon Jan 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.16mdk
-- fix wait messages (gc)
-- vietnamese translation update
-
-* Mon Jan 27 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.15mdk
-- diskdrake:
- o make sub window be modal
- o fix text mode (pixel)
-- drakconnect:
- o don't log actions not done
- o fix modem detection (poulpy)
- o cleanups (poulpy, pixel)
-- draksound: remove last source of "unlisted driver" because of hand
- edited /etc/modules.conf
-- drakxtv: add test mode
-- fix encoding conversions for non latin1 (gc)
-- harddrake2:
- o use new help system
- o make sub window be modal
- o configure sound slots on bootstrapping
-- logdrake:
- o don't display "wait while parsing" window when embedded in mcc
- o log all drakx tools (not only the first one)
-- mousedrake: cleanups (pixel, gc)
-- printerdrake: updates for new foomatic (till)
-- requires old perl-gtk for drakfloppy and net_monitor which works
- again
-- translation updates (pablo)
-- xfdrake: various fixes (pixel)
-
-* Fri Jan 24 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.14mdk
-- drakconnect :
- o get back serial modem detection
-
-* Thu Jan 23 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.13mdk
-- fix standalone apps error on --help
-- many enhancements to draksound:
- o no more unlisted message
- o "how to debug sound problem" window
- o offer to pick any driver if no detected sound card (for eg isa
- card owners) or if no alternative driver
- o handle proprietary drivers
- o fix unchrooted chkconfig call
-- draksec: display help in tooltips
-- drakconnect :
- o cleaning (poulpy, me)
- o zeroconf support (poulpy)
-- big interactive cleanup for drakx and focus handling (pixel)
-- boot floppy fixes (pixel)
-- diskdrake: don't display twice the same mount point (pixel)
-- keyboardrake:
- o cleanups (pixel)
- o update supported keyboard layouts ... (pablo)
-- xfdrake: (pixel)
- o cleanups
- o don't use anymore qiv to render background while testing X config
-- add drakpxe (francois)
-- printerdrake:
- o updates (till)
- o fix chrooted services (me)
-- translation updates (many people)
-- mousedrake: fix scrolling test (gc)
-- ugtk2: fix some (small) memory leaks (gc)
-- ppc updates (stew)
-- english sentences proofreading (pablo, stew)
-- fix gtk+-2 port of mousedrake (me),
-
-* Fri Jan 17 2003 Damien Chaumette <dchaumette@mandrakesoft.com> 9.1-0.12mdk
-- drakconnect :
- o little dhcp behavior rework
- o fix /etc/hosts localdomain
-
-* Thu Jan 16 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.11mdk
-- snapshot
-
-* Thu Jan 09 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.10mdk
-- draksound : fix and update driver list
-- printerdrake: fix staroffice/ooffice configuration (till)
-
-* Tue Jan 07 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.9mdk
-- fix wizards
-
-* Tue Jan 7 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.8mdk
-- update french translation
-- harddrake: treat usb hubs as usb controllers
-- logdrake: set it non editable
-- printerdrake:
- o simplify gimp-print configuration
- o let it work
-- various cleanups (pixel)
-- standalone tools: first help system bits (deush)
-
-* Mon Jan 6 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.7mdk
-- printerdrake fixes
-
-* Thu Jan 2 2003 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.6mdk
-- embedding fixes
-- wizard fixes
-- fix permissions setting
-- internals cleanups
-- drakconnect & printerdrake fixes
-- gtk+-2 fixes
-- faster xfdrake startup
-- translations update
-- fix redefinition warnings
-
-* Mon Dec 30 2002 Stefan van der Eijk <stefan@eijk.nu> 9.1-0.5mdk
-- BuildRequires: perl-MDK-Common-devel
-
-* Thu Dec 19 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.4mdk
-- gtk+2 snapshot
-
-* Wed Dec 04 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.3mdk
-- snapshot for mcc
-
-* Mon Nov 18 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.2mdk
-- more printerdrake redesign
-- more perl_checker fixes
-- standalone : provide a common cli options/help manager
-- logdrake : use my_gtk to transparently handle embedding and ease future gtk2 port
-- kill dead code
-
-* Fri Nov 15 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 9.1-0.1mdk
-- bump version
-- add missing printer/ directory
-- typo fix in drakxtv
-
-* Thu Nov 14 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.12-1mdk
-- printerdrake cleanups
-- various perl lifting
-- harddrake:
- o display floppy driver type as well as mouse type & network printer port
- o fix vendor/model spliting for eide disks when there's neither
- space nor separator
- o v4l card lists : resync with latest bttv & saa7134 drivers
-
-* Mon Nov 11 2002 Pixel <pixel@mandrakesoft.com> 1.1.11-3mdk
-- bug fix (most drakxtools)
-
-* Sun Nov 10 2002 Pixel <pixel@mandrakesoft.com> 1.1.11-2mdk
-- bug fix (printerdrake, netconnect)
-
-* Thu Nov 7 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.11-1mdk
-- harddrake:
- o only display "selected" fields, skip other (aka only display
- fields we described)
- o print name and value of skipped fields on console
- o only display help topics related to currently displayed fields in
- right "information" frame
- o if no device selected, display a message explaining the help dialog
- o don't display modem when there're none
- o describe most cpu fields
- o simplify the coloring logic
-
-- detect_devices :
- o getModem() : simplify
- o getCPUs() : fix cpu fields parsing
-
-* Wed Nov 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.10-4mdk
-- s/_(/N(/
-
-* Tue Nov 05 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.10-3mdk
-- rebuild for newt
-
-* Mon Nov 4 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.10-2mdk
-- snapshot
-
-* Wed Oct 16 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.10-1mdk
-- harddrake :
- o try to discriminate webcams from video cards
- o fix not displayed unknow devices
-- detection engin :
- o update eide vendors list
- o detect cpus
- o adsl work (damien)
-- drakbug:
- o make ui faster
- o fix displayed result when the package isn't installed
-- drakTermServ : fixes (stew)
-- smb updates (stew)
-- fix broken danish translations (wrong unicode encoding) (pablo)
-- update other translations by the way (pablo)
-
-* Fri Sep 20 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-53mdk
-- remove useless warnings from harddrake
-
-* Fri Sep 20 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-52mdk
-- fix draksec
-
-* Fri Sep 20 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-51mdk
-- printerdrake: various fixes (till)
-- drabug:
- o fix spurious '1' file creation
- o don't print error messages when a program isn't found
-
-* Tue Sep 17 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-50mdk
-- draksec:
- o add ignore option to pull-down list
- o remove not anymore used libsafe option
- o save items
- o reread already set item
-
-* Tue Sep 17 2002 Warly <warly@mandrakesoft.com> 1.1.9-49mdk
-- printerdrake fix for webfetch
-
-* Mon Sep 16 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-48mdk
-- fix die wizcancel in non wizard mode (dams sucks?)
-
-* Sat Sep 14 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-47mdk
-- fix printerdrake network scanning for printers/print servers hangs
- on with firewalled machines (till)
-- fix printerdrake curl dependancy break urpmi (till)
-- obsoletes drakfloppy (daouda)
-
-* Thu Sep 12 2002 Damien Chaumette <dchaumette@mandrakesoft.com> 1.1.9-46mdk
-- fix broken net_monitor
-
-* Thu Sep 12 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-45mdk
-- try to fix drakgw & drakfirewall thx to pixel and florin
-- fix drakfloppy and logdrake (tv)
-
-* Wed Sep 11 2002 Damien Chaumette <dchaumette@mandrakesoft.com> 1.1.9-44mdk
-- drakconnect :
- o fix RTC, ISDN detection
- o fix pcmcia cards detection / module list
- o check DNS and Gateway IPs
-
-* Mon Sep 9 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-43mdk
-- move back draksec to drakxtools
-- harddrake:
- o don't pollute sbin namespace with one shot scripts
- o add run wrapper script for harddrake service
- o disable ?dm part
-- draksound:
- o really display default driver
- o wait message while switching
-- update translations
-
-* Sat Sep 7 2002 Daouda LO <daouda@mandrakesoft.com> 1.1.9-42mdk
-- cvs up before packaging (fix messy drakboot conf).
-
-* Fri Sep 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-41mdk
-- fix harddrake service, run non essential checks after dm start
-
-* Fri Sep 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-40mdk
-- harddrake:
- o fix usb mouse detection
- o list --test in -h|--help
- o enhanced draksound :
- * blacklist cs46xx and cs4281 drivers : we won't unload these
- drivers since they're know to oopses the kernel but just warn
- the user
- * chroot aware - can be used in drakx
- * workaround alsaconf's aliases
- * add an help button that describe ALSA and OSS
- * display current driver, its type (OSS or ALSA), and the default
- driver for the card
- * if there's no (usb|pci) sound card, print a note about sndconfig
- for isa pnp cards
-
-* Fri Sep 06 2002 David BAUDENS <baudens@mandrakesoft.com> 1.1.9-39mdk
-- Re-add old obsolete Aurora's images needed by drakboot (this is stupid)
-
-* Fri Sep 06 2002 David BAUDENS <baudens@mandrakesoft.com> 1.1.9-38mdk
-- Update mdk_logo.png
-- Update drakbackup icons
-
-* Fri Sep 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-37mdk
-- drakperm, drakbackup: fix embedded mode
-
-* Fri Sep 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-36mdk
-- gtkicons_labels_widget() :
- o add support for mcc' big icon animation
- o cleanups
- o simplify notebook redrawing vs flick/icon_aligment
-
-* Thu Sep 5 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-35mdk
-- Update banners (David Baudens)
-- my_gtk snapshot for rpmdrake (gc)
-
-* Wed Sep 4 2002 Stew Benedict <sbenedict@mandrakesoft.com> 1.1.9-34mdk
-- add perl-Expect requires for drakbackup (now enabled)
-
-* Wed Sep 4 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-33mdk
-- harddrake: fix scrolling tree
-
-* Wed Sep 4 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-32mdk
-- embbed drakbackup
-
-* Wed Sep 4 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-31mdk
-- snapshot for gtktext_insert with color/font capabilities (rpmdrake)
-
-* Tue Sep 3 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-30mdk
-- ugtk:
- o better fix for glib warning that don't make drakx feel mad
- o make icons more transparent when selected in mcc
-
-* Mon Sep 2 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-29mdk
-- harddrake:
- o use new icons
- o add menu icon
-- mcc: ensure all binaries're there
-- ugtk: remove all glib warnings
-
-* Mon Sep 2 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-28mdk
-- tinyfirewall is now drakfirewall (daouda)
-
-* Fri Aug 30 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-27mdk
-- ugtk: add alpha blendering support for mcc's icons through pixbufs
- o readd gdkpixbuf support
- o ensure imlib is used by default to load files, not gdk-pixbuf
- o compose_with_back(): load a png icon into a pixbuf and call
- compose_pixbufs with background pixbuf
- o compose_pixbufs(): render transparent icon onto background into a
- new pixbuf
- o merge gtkcreate_png_pixbuf() from gdk-pixbuf-0-branch : load an
- icon into a pixbuf
- gdk-pixbuf-0-branch also uses it to simplify a lot of code
- o gtkicons_labels_widget() :
- * add a new background pixbuf parameter that'll be composited with icons
- * render icons with alpha blender in right area
- * kill imlib_counter
- * kill imlib usage for
- * kill dead code (was dead since i fixed mcc memory leaks)
-- fix init-script-without-chkconfig-{post,preun}
-
-* Thu Aug 29 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-26mdk
-- harddrake:
- o quit button really work in embedded mode
- o move so called eide raid controllers from unknown to ata
- controllers
-- logdrake: add a scrollbar when embedded in mcc
-
-* Thu Aug 29 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-25mdk
-- snapshot (drakupdate_fstab --auto feature (pixel), logdrake don't
- display too much information in explanations to save space for what's
- useful)
-
-* Thu Aug 29 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-24mdk
-- snapshot for display_info availability in ask_browse for rpmdrake
-
-* Thu Aug 29 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-23mdk
-- drakupdate_fstab first appearance
-
-* Wed Aug 28 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-22mdk
-- harddrake: don't display the menu bar in embedded mode, but a "quit"
- button
-
-* Tue Aug 27 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-21mdk
-- drakconnect fixes (damien)
-
-* Fri Aug 23 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-20mdk
-- draksound: display right message ("no alternative") when no
- alternative rather than "no known module"
-- fixes for multiple NIC boxes (florin)
-
-* Fri Aug 23 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-19mdk
-- draksound: use right sound slot
-
-* Fri Aug 23 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-18mdk
-- ugtk: fix most mcc memory leaks (pending ones seems related to perl-gtk)
-- tinyfirewall: misc fixes (pixel)
-
-* Fri Aug 23 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-17mdk
-- snapshot (including new tinyfirewall)
-
-* Thu Aug 22 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-16mdk
-- snapshot (for rpmdrake)
-
-* Wed Aug 21 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-15mdk
-- add draksound
-- mousedrake: default usbmouse link to input/mice rather than
- input/mouse0, thus giving support for multiple mouse, wacom tables,
- ...
-
-* Wed Aug 21 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-14mdk
-- fix dangling waiting watch mousecursor (well, please test!)
-- adding draksplash (nathan)
-
-* Mon Aug 19 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-13mdk
-- snapshot (including better XFdrake)
-
-* Wed Aug 14 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-12mdk
-- snapshot (fix diskdrake making a hell of fstab)
-
-* Tue Aug 13 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-11mdk
-- snapshot (including "diskdrake --dav")
-
-* Mon Aug 12 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-10mdk
-- snapshot (various bug fixes including no-floppy-box-segfault)
-
-* Fri Aug 9 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-9mdk
-- harddrake:
- o module configuration window:
- * read current options
- * don't display ranges, we cannot really know when a range
- is needed and so display them in wrong cases
- * read & parse modules.conf only when configuring the
- module, not on each click in the tree
- * don't display ranges, we cannot really know when a range
- is needed and so display them in wrong cases (kill code,
- enable us to simplify modparm::parameters after
-
-* Fri Aug 9 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-8mdk
-- snapshot
-
-* Tue Aug 6 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-7mdk
-- harddrake, scannerdrake: add scsi scanner detection support
-- harddrake: detect external modems
-
-* Tue Aug 6 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-6mdk
-- rebuild for perl thread-multi
-
-* Mon Aug 5 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-5mdk
-- snapshot for rpmdrake
-
-* Fri Aug 2 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-4mdk
-- have interactive::gtk::exit in my_gtk so that my_gtk apps can call
- it and then fix the problem of clock mouse cursor on exit
-
-* Thu Aug 1 2002 Pixel <pixel@mandrakesoft.com> 1.1.9-3mdk
-- keyboarddrake now handles choosing toggle key (XkbOptions)
-
-* Thu Aug 1 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.9-2mdk
-- remove obsoleted drakconf
-- various fixes
-- [ugtk::gtkcreate_png] suppress all gtk warnings
-- updated vietnamese translation (pablo)
-- [interactive::gtk] fix many warnings when {icon} is not given (pixel)
-
-* Thu Aug 1 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.9-1mdk
-- integrate patches in my_gtk and ugtk for new rpmdrake:
- - [ugtk] add "gtkentry" so that we can create an entry and set
- initial value in one call
- - [my_gtk::main] don't set the events, to fix keyboard focus
- problem in entries when embedded
- - [my_gtk::_create_window] add $::noBorder, to not have a frame
- in the main window, so that it's possible to end up with
- windows with no border
- - [my_gtk] add ask_dir which is a ask_file with only the dir list
- - [my_gtk] add ask_browse_tree_info to the export tags, and:
- - add support for parents with no leaves, so that then we can
- partially build the trees (for speedup)
- - add "delete_all" and "delete_category" callbacks
- - use Gtk::CList::clear when removing all the nodes, much
- speedup
-- Titi, harddrake :
- o workaround for the busy mouse cursor set by
- gtkset_mousecursor_wait() in my_gtk::destroy
- o remove debugging prints
- o cleanups
- - drakx: various cleanups
-
-* Thu Aug 1 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-16mdk
-- my_gtk:
- o splitup it into my_gtk and ugtk as done by dams
- o resync with dams
- o increase the icon blinkage from 50ms to 100ms
-- harddrake:
- o use new embedded managment
-
-* Thu Aug 1 2002 Pixel <pixel@mandrakesoft.com> 1.1.8-15mdk
-- harddrake (titi):
- o add embedded mode for drakconf
- o print less gtk warnings
- o module configuration window
-- fix mousedrake
-- fix XFdrake in embedded
-- enhance XFdrake
-- don't require detect-lst (titi)
-- printerdrake work in progress (till)
-
-* Wed Jul 31 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-14mdk
-- harddrake:
- o fix pcmcia network card detection (unknown => ethernet)
- o fix scsi detection :
- * fix SCSI controllers detection (unknown => scsi controllers)
- * fix misdetection of scsi devices as scsi host adapter
- * fix double scsi devices detection (both unknown and real
- category)
-- updated translations
-- fix mousedrake (pixel)
-- drakbug, drakbackup: spell/i18n fixes (pixel, me)
-- xfdrake: fixes (pixel)
-- new draksex (stew)
-- diskdrake: (pixel)
- o fix LVM on RAID
- o explain the pb when maximal number of primary partitions is reached
-
-* Mon Jul 29 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-13mdk
-- harddrake:
- o service: fix config file conversion
- o harddrake::ui :
- * s/channel/Channel/
- * bus_id is for usb devices too
- * remove obsolete fields info and name
- * add nbuttons, device, old_device descriptions
-- updated XFdrake (gtk resolution chooser work, i810 fixes, ...) (pixel)
-- remove "Requires: groff" (nobody know why it's there) (Pixel)
-- updated translations (nl/id/vi)
-- standalone/logdrake: (deush)
- o don't display services that are not installed
- o word wrap string correctly
- o cleanup
-- bootloader.pm: (pixel)
- o let the bootloader::mkinitrd error be seen by the GUI
- o fix dying when mkinitrd doesn't create an initrd
-- interactive.pm: error messages fixes (pixel)
-- diskdrake: add 0x35 partition table id meaning JFS (under OS/2)
- (thank to Mika Laitio)
-- printerdrake: first step of automatic HP multi-function device
- configuration with HPOJ 0.9. (till)
-- drakTermServ (stew)
- o Check for/install terminal-server and friends.
- o More intelligent error message when mkisofs fails.
- o Cleanup code for use strict.
- o Fix crash when no backup dhcpd.conf.
-- drakbackup: (stew)
- o Numerous GUI crash fixes, oddities.
- o Install needed packages.
- o Fix email, daemon modes.
- o Add rsync, webdav, cd, tape capabilities.
- o Consolidate net method setup screens.
- o Add CD device capability query.
-
-* Thu Jul 25 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-12mdk
-- simplify harddrake service:
- o we don't need to set media_type, we don't use it
- o mouse and mass storage media use the same key, let merge their
- code path
- o merge timeout and cancel cases
-
-- harddrake::data : only do one probeall here (there's still many in
- detect_devices, probing caching should go there)
-
-- harddrake:ui :
- o add a fields data structure:
- * put together field translation and field description
- * this enable to get rid of %reverse_fields usage & creation
- * this ensure all field names & translations are marked
- translatables for gettext
- * move $wait declaration around its usage and explicit its
- destruction
- * remove usb debugging message needed to trace the null
- description bug i fixed in ldetect
- * simplify the device fields rendering "because of" the
- above
- * simplify the help window creation/display/destruction
- (only one statement left)
- o explicitely call interactive->exit
- o remove all "no signal to disconnect" gtk+ warnings
-
-
-* Thu Jul 25 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-11mdk
-- rebuild against new libldetect (fix (null) descriptions)
-- new XFdrake (pixel)
-- harddrake:
- o devfs names
- o scanner support;
- * don't account scanners as unknown devices
- * split scannerdrake:val into vendor and description
- * don't display bogus "val:%HASH"
-- updated translations (fr, pl)
-- tools can be runned on console again
-
-* Tue Jul 23 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-10mdk
-- harddrake :
- o remove - between vendor and model for ibm eide disks
- o network devices are configurable again now
-- draksec : typo fix (deush)
-
-* Tue Jul 23 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-9mdk
-- harddrake :
- o don't show "cancel" button in about and help windows
- o service: convert config file from plain perl to Storable binary
- file (faster startup)
-- general reorganization cleanup:
- o move interactive_* into interactive::*
- o move partition_table_* into partition_table::*
-- XFdrake: more cleanups (pixel)
-
-* Sun Jul 21 2002 Pixel <pixel@mandrakesoft.com> 1.1.8-8mdk
-- new snapshot (beware of XFdrake)
-
-* Thu Jul 18 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-7mdk
-- remove last draknet reference in harddrake::ui
-- disable diagnostics and strict mode
-
-* Thu Jul 18 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-6mdk
-- able to restart WindowMaker if needed
-- draknet is dead; vival el drakconnect
-- devices managment:
- o no need to write /etc/sysconfig/harddrake2/previous_hw in
- %%post since harddrake2 service doesn't configure anything if
- previous config was empty
- o fix usb mac mouse detection
- o move scsi/ata controllers, burners, dvd, ... from
- unknown/others into their own"non configurable" sections
- o fix problems with usb-interface
-- XFdrake: big cleanup
-- general cleanups
-- translation updates
-
-* Thu Jul 11 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-5mdk
-- drakx :
- o code enhancement: increase coherency around the whole drakx
- code regarding devices
- o decrease the debug verbosity
-- harddrake2 :
- o i18n:
- * move $version out of translatable strings
- o ui:
- * increase default main window size
- * put back the hw tree root
- * eide devices: split info between vendor and model strings
-- spec :
- o fix parrallel build
- o list and describe all gui tools from drakxtools
-
-* Wed Jul 10 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-4mdk
-- fix perl depandancy
-
-* Tue Jul 09 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-3mdk
-- harddrake2:
- o no need to 'use strict' in "binary" => remove warnings
- o fix boot freeze on hw change: initscript was running us with
- stdout redirected to /dev/null; just use a small sh wrapper to
- fix it
- o harddrake::bttv: only log in standalone mode
- o display channel of eide devices
-
-- spec:
- o reorder entries in description
- o list all entries in first line of description
- o fix post: add start argument
-
-* Mon Jul 08 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-2mdk
-- spec :
- o enhance descriptions
- o various spec clean
- o harddrake :
- * obsoletes/provides libdetect-lst, libdetect-lst-devel, detect,
- detect-lst, kudzu-devel
- * split package between harddrake and harddrake-ui to minimize
- the harddrake service dependancies
- * add missing /etc/sysconfig/harddrake2
-- harddrake2 :
- o cache detect_devices::probeall(1) so that hw probe is run once
- o hw configuration :
- * eide devices: split up info field into vendor and model fields
- o ui:
- * enhanced help
- * mice:
- - s/nbuttons/Number of buttons/
- - delete qw(MOUSETYPE XMOUSETYPE unsafe)
- * complete help
- * center the main window
- * remove drakx decorations
- * don't display "run config tool" button if no configurator
- availlable
- o logic:
- * skip configuration on firt run
- * don't restart harddrake on install
- * skip hw classes without configurator (which'll have a
- configurator after porting updfstab)
- o service :
- * only do the job at startup
- * add "please wait" message
- * really don't cry when no previous config
-
-* Mon Jul 08 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.8-1mdk
-- snapshot
-- new entries:
- o harddrake2 : new hardware detection && configuration tool
- o drakbugreport: bug reporting tool a la Kde (not working!)
- o drakTermServ : configuration tool for diskless stations.
-- updated programs :
- o drakxtv: if runned by root, offer to configure bttv for most tv cards
- o disdrake:
- * enhanced raid & lvm support,
- * check if programs (ie jfsprogs) are installed
- * cleanups
- o Xconfigurator: bug fix
-- general : better supermout support, use new libldetect, various bug fixes
-
-* Tue Jun 18 2002 Frederic Lepied <flepied@mandrakesoft.com> 1.1.7-99mdk
-- added new draksec from Christian and a new way to build the packages (make rpm)
-
-* Mon Apr 15 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.7-98mdk
-- snapshot
-- add drakxtv description
-- drakxtv : now auto guess the country and the freq table
-
-* Fri Mar 15 2002 dam's <damien@mandrakesoft.com> 1.1.7-97mdk
-- snapshot. final release 1
-
-* Tue Mar 12 2002 dam's <damien@mandrakesoft.com> 1.1.7-96mdk
-- added onboot options foreach network cards
-- resolv.conf and domain name bug fixed
-
-* Tue Mar 12 2002 dam's <damien@mandrakesoft.com> 1.1.7-95mdk
-- included drakproxy
-- corrected various timeout (net_monitor, internet connection tests)
-- snapshot
-
-* Mon Mar 11 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-94mdk
-- various
-
-* Fri Mar 8 2002 dam's <damien@mandrakesoft.com> 1.1.7-93mdk
-- drakfont GUI corrected
-- new drakproxy
-
-* Fri Mar 08 2002 François Pons <fpons@mandrakesoft.com> 1.1.7-92mdk
-- fixes for NVIDIA drivers support in XFdrake.
-
-* Thu Mar 7 2002 dam's <damien@mandrakesoft.com> 1.1.7-91mdk
-- lot of bugfixes
-- (dams)
- * standalone/net_monitor: make gc happy
- * modparm.pm, share/po/fr.po: corrected
- * standalone/draknet: corrected network/internet restart when already
- connected
- * standalone/drakfont: corrected bad system command
- * standalone/drakautoinst: corrected HASH and ARRAY label
-- (gc)
- * standalone/drakgw:
- - call net_monitor to disable internet connection before
- network-restart
- - user return value when status'ing the
- initscripts rather than grepping their text output
-- (pixel)
- * standalone/fileshareset (nfs_exports::update_server): ensure portmap
- is running
-
-* Wed Mar 6 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-90mdk
-- corrected font in wizard (dams)
-- localedrake: (pixel)
- * fix dummy entries in .i18n for chineese
- * take sysconfig/i18n into account when no .i18n
- * when called by kcontrol with --apply, don't modify kde config files,
- kcontrol takes care of it more nicely
-- diskdrake: translate actions in text mode (pixel)
-- drakxtv fixed (titi)
-
-* Sun Mar 3 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-89mdk
-- (gtkicons_labels_widget): pass the widget instead of directly passing the font
- (for drakconf)
-
-* Sun Mar 3 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-88mdk
-- (gtkicons_labels_widget): pass the style instead of directly passing the font
- (for drakconf)
-
-* Fri Mar 1 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-87mdk
-- new snapshot (including a modified localedrake)
-
-* Thu Feb 28 2002 dam's <damien@mandrakesoft.com> 1.1.7-86mdk
-- corrected modinfo path. isa modules options should now work.
-
-* Thu Feb 28 2002 dam's <damien@mandrakesoft.com> 1.1.7-85mdk
-- corrected spec so that net_monitor.real get included too.
-
-* Thu Feb 28 2002 dam's <damien@mandrakesoft.com> 1.1.7-84mdk
-- snapshot
-
-* Wed Feb 27 2002 dam's <damien@mandrakesoft.com> 1.1.7-83mdk
-- snapshot
-
-* Tue Feb 26 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-82mdk
-- move XFdrake to drakxtools from drakxtools-newt
-(otherwise it doesn't work, since it needs perl-GTK & xtest)
-
-* Tue Feb 26 2002 dam's <damien@mandrakesoft.com> 1.1.7-81mdk
-- added groff require
-
-* Tue Feb 26 2002 dam's <damien@mandrakesoft.com> 1.1.7-80mdk
-- isa card modules correction. Should work in post install
-- drakfont correction
-
-* Sat Feb 23 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-79mdk
-- require latest perl-MDK-Common
-- corrected icon paths (thanks to garrick)
-- don't create devices when /dev is devfs mounted (thanks to Andrej Borsenkow)
-
-* Fri Feb 22 2002 dam's <damien@mandrakesoft.com> 1.1.7-78mdk
-- corrected icon paths
-
-* Thu Feb 21 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-77mdk
-- now we can live without kdesu ; and drakxtools-newt only requires
- usermode-consoleonly
-
-* Tue Feb 19 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-76mdk
-- fix diskdrake --nfs & --smb
-
-* Tue Feb 19 2002 dam's <damien@mandrakesoft.com> 1.1.7-75mdk
-- required specific version of perl MDK Common
-
-* Tue Feb 19 2002 dam's <damien@mandrakesoft.com> 1.1.7-74mdk
-- various things not described by the last packager
-- new png/wpm search policy in my_gtk
-
-* Mon Feb 18 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-73mdk
-- snapshot
-
-* Sat Feb 16 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-72mdk
-- localedrake now handles KDE
-- diskdrake now handles XFS on LVM live resizing (growing only)
-
-* Fri Feb 15 2002 dam's <damien@mandrakesoft.com> 1.1.7-71mdk
-- snapshot
-
-* Thu Feb 14 2002 dam's <damien@mandrakesoft.com> 1.1.7-70mdk
-- snapshot
-
-* Mon Feb 11 2002 dam's <damien@mandrakesoft.com> 1.1.7-69mdk
-- fixed bad stuff.so in drakxtools
-
-* Fri Feb 8 2002 dam's <damien@mandrakesoft.com> 1.1.7-68mdk
-- new gfx
-- various fix
-- major printerdrake updates
-
-* Thu Feb 07 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.7-67mdk
-- add drakxtv
-
-* Thu Feb 7 2002 dam's <damien@mandrakesoft.com> 1.1.7-66mdk
-- new package, various wizard, mygtk, disdrake improvment.
-
-* Wed Feb 6 2002 dam's <damien@mandrakesoft.com> 1.1.7-65mdk
-- logdrake updates
-- wizard fix
-
-* Tue Jan 29 2002 dam's <damien@mandrakesoft.com> 1.1.7-64mdk
-- last mygtk, drakbackup...
-- disdrake fixed
-- snapshot
-
-* Sun Jan 27 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-63mdk
-- cleanup drakxtools-newt (move all gtk stuff to drakxtools)
-- reworked and split diskdrake
-- add logdrake
-
-* Fri Jan 25 2002 dam's <damien@mandrakesoft.com> 1.1.7-62mdk
-- bug corrections, improvements
-- new advertising engine
-- new gtkicons_labels_widget
-
-* Tue Jan 22 2002 dam's <damien@mandrakesoft.com> 1.1.7-61mdk
-- new gtkicons_labels_widget for new mcc.
-
-* Fri Jan 18 2002 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-60mdk
-- first support for 'Explanations'
-
-* Fri Jan 18 2002 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-59mdk
-- Drakbackup without unstable options for qa.
-- DrakFont update warning message (qa).
-
-* Wed Jan 16 2002 Pixel <pixel@mandrakesoft.com> 1.1.7-58mdk
-- ensure lsnetdrake is included
-
-* Tue Jan 15 2002 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-57mdk
-- Drakbackup daemon, backend mode (-show-conf -daemon -debug -help -version) and report mail corrections.
-- DrakFont gi and progress bar problems.
-
-* Tue Jan 14 2002 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-56mdk
-- New drakbackup version, ftp backup work, new pixmaps.
-- DrakFont with new pixmaps.
-
-* Mon Jan 14 2002 Stefan van der Eijk <stefan@eijk.nu> 1.1.7-55mdk
-- BuildRequires
-
-* Fri Jan 11 2002 dam's <damien@mandrakesoft.com> 1.1.7-54mdk
-- snapshot
-
-* Wed Jan 9 2002 dam's <damien@mandrakesoft.com> 1.1.7-53mdk
-- snapshot
-- new code in my_gtk
-
-* Tue Jan 8 2002 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-52mdk
-- New drakbackup version, incremental backup and restore should work.
-
-* Sat Dec 22 2001 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-51mdk
-- fix conflicts in drakbackup cvs version.
-
-* Sat Dec 22 2001 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-50mdk
-- new drakbackup version.
-
-* Mon Dec 10 2001 Sebastien Dupont <sdupont@mandrakesoft.com> 1.1.7-49mdk
-- fix drakfont path problem.
-- new version of drakbakup
-
-* Wed Dec 5 2001 dam's <damien@mandrakesoft.com> 1.1.7-48mdk
-- corrected syntax error
-
-* Tue Dec 4 2001 dam's <damien@mandrakesoft.com> 1.1.7-47mdk
-- avoid network test freeze
-- added drackbackup
-- snapshot
-
-* Fri Nov 30 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-46mdk
-- add diskdrake --fileshare
-
-* Thu Nov 29 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-45mdk
-- new diskdrake including fileshareset/filesharelist stuff
-
-* Mon Nov 26 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-44mdk
-- use the CVS, not my devel (instable) version
-
-* Fri Nov 23 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-43mdk
-- any.pm fixed
-
-* Mon Nov 19 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.7-42mdk
-- scannerdrake update to add dynamic support
-
-* Mon Nov 12 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.7-41mdk
-- scannerdrake update with new fat ScannerDB
-
-* Mon Nov 5 2001 dam's <damien@mandrakesoft.com> 1.1.7-40mdk
-- corrected typo in drakautoinst
-
-* Fri Nov 2 2001 dam's <damien@mandrakesoft.com> 1.1.7-39mdk
-- release
-
-* Fri Oct 26 2001 dam's <damien@mandrakesoft.com> 1.1.7-38mdk
-- drakautoinst & drakfont updated
-
-* Thu Oct 25 2001 dam's <damien@mandrakesoft.com> 1.1.7-37mdk
-- big improvement on drakautoinst
-- draknet : connection script updated
-
-* Thu Oct 18 2001 dam's <damien@mandrakesoft.com> 1.1.7-36mdk
-- draknet/net_monitor corrected
-- corrected bad stuff.so
-
-* Tue Oct 16 2001 dam's <damien@mandrakesoft.com> 1.1.7-35mdk
-- make rplint happier
-
-* Wed Oct 10 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.7-34mdk
-- snapshot with scanner stuff
-
-* Mon Sep 24 2001 dam's <damien@mandrakesoft.com> 1.1.7-33mdk
-- snapshot
-
-* Mon Sep 24 2001 dam's <damien@mandrakesoft.com> 1.1.7-32mdk
-- Last translations.
-
-* Mon Sep 24 2001 dam's <damien@mandrakesoft.com> 1.1.7-31mdk
-- snapshot. draknet bugfix.
-
-* Sun Sep 23 2001 dam's <damien@mandrakesoft.com> 1.1.7-30mdk
-- snapshot. Included last printer and draknet corrections.
-
-* Fri Sep 21 2001 dam's <damien@mandrakesoft.com> 1.1.7-29mdk
-- typo in adsl.pm, Xconfigurator fix.
-
-* Thu Sep 20 2001 dam's <damien@mandrakesoft.com> 1.1.7-28mdk
-- snapshot. draknet works now.
-
-* Wed Sep 19 2001 dam's <damien@mandrakesoft.com> 1.1.7-27mdk
-- snapshot
-
-* Mon Sep 17 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-26mdk
-- snapshot
-
-* Mon Sep 17 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-25mdk
-- snapshot
-
-* Sat Sep 15 2001 dam's <damien@mandrakesoft.com> 1.1.7-24mdk
-- snapshot with printer, draknet & install fixes
-
-* Fri Sep 14 2001 François Pons <fpons@mandrakesoft.com> 1.1.7-23mdk
-- snapshot with latest XFdrake fixes.
-
-* Fri Sep 14 2001 dam's <damien@mandrakesoft.com> 1.1.7-22mdk
-- snapshot
-
-* Thu Sep 13 2001 François Pons <fpons@mandrakesoft.com> 1.1.7-21mdk
-- fix Xinerama for Matrox cards (restore XFree86 4.1.0 without DRI).
-- removed Modeline 1024x768 in 97.6 Hz which troubles XF4 a lot.
-
-* Thu Sep 13 2001 François Pons <fpons@mandrakesoft.com> 1.1.7-20mdk
-- snapshot with XFdrake fixes (G550 support, no DRI with Xinerama,
- no XFree86 3.3.6 proposed wiht dual head).
-
-* Wed Sep 12 2001 dam's <damien@mandrakesoft.com> 1.1.7-19mdk
-- snapshot
-
-* Wed Sep 12 2001 dam's <damien@mandrakesoft.com> 1.1.7-18mdk
-- snapshot.
-
-* Mon Sep 10 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-17mdk
-- remove dependency on "perl" since pixel added Data::Dumper in perl-base
-
-* Mon Sep 10 2001 dam's <damien@mandrakesoft.com> 1.1.7-16mdk
-- new snapshot, bug corrections.
-
-* Thu Sep 6 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-15mdk
-- drakgw should be working now
-
-* Tue Sep 04 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.7-14mdk
-- snaphsot, better interaction with mcc (diskdrake printerdrake).
-
-* Tue Sep 4 2001 dam's <damien@mandrakesoft.com> 1.1.7-13mdk
-- snapshot.
-
-* Thu Aug 30 2001 dam's <damien@mandrakesoft.com> 1.1.7-12mdk
-- snapshot. locales corected, nicer wizards.
-
-* Thu Aug 30 2001 François Pons <fpons@mandrakesoft.com> 1.1.7-11mdk
-- new snapshot, mousedrake fixes again.
-
-* Wed Aug 29 2001 François Pons <fpons@mandrakesoft.com> 1.1.7-10mdk
-- new snapshot, mousedrake fixes.
-
-* Fri Aug 24 2001 dam's <damien@mandrakesoft.com> 1.1.7-9mdk
-- snapshot for 8.1 beta2.
-
-* Fri Aug 24 2001 dam's <damien@mandrakesoft.com> 1.1.7-8mdk
-- bugfix.
-- new snapshot. mousedrake experimental.
-
-* Thu Aug 23 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.7-7mdk
-- fix drakboot bug
-- macros to fix some rpmlint warnings
-
-* Wed Aug 22 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-6mdk
-- put a require on "perl" which is needed for Data::Dumper in drakautoinst
-
-* Wed Aug 22 2001 dam's <damien@mandrakesoft.com> 1.1.7-5mdk
-- snapshot. draknet improvments, bug fixes.
-
-* Mon Aug 20 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-4mdk
-- new fstab munching code
-
-* Sat Aug 18 2001 Pixel <pixel@mandrakesoft.com> 1.1.7-3mdk
-- new diskdrake (with interactive version => newt)
-- drakxtools-http fix
-
-* Tue Aug 14 2001 dam's <damien@mandrakesoft.com> 1.1.7-2mdk
-- added doc (it's a shame...)
-
-* Tue Aug 14 2001 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.7-1mdk
-- add drakautoinst
-
-* Mon Aug 13 2001 dam's <damien@mandrakesoft.com> 1.1.6-3mdk
-- snapshot
-
-* Tue Aug 7 2001 dam's <damien@mandrakesoft.com> 1.1.6-2mdk
-- added draknet_splash pixmap
-
-* Tue Aug 7 2001 Pixel <pixel@mandrakesoft.com> 1.1.6-1mdk
-- add drakxtools_http
-
-* Fri Aug 3 2001 dam's <damien@mandrakesoft.com> 1.1.5-106mdk
-- added network/*.pm
-
-* Tue Jul 31 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-105mdk
-- add require perl-MDK-Common
-- fix for cp -rf (fuck FreeBSD (c))
-
-* Tue Jul 31 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-104mdk
-- fix my error: %%files with 2 times "-f <file>" doesn't work :-(
-
-* Mon Jul 30 2001 dam's <damien@mandrakesoft.com> 1.1.5-103mdk
-- updated with cooker install.
-- added require on XFree86-75dpi-fonts
-- merged with pixel specfile to handle mo.
-
-* Mon May 7 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-102mdk
-- updated bootloader.pm according to new lilo package (lilo-{menu,graphic,text})
-
-* Wed Apr 25 2001 François Pons <fpons@mandrakesoft.com> 1.1.5-101mdk
-- updated with oem update for DrakX.
-- minor bug correction on printerdrake.
-- added minor features to XFdrake.
-
-* Wed Apr 18 2001 dam's <damien@mandrakesoft.com> 1.1.5-100mdk
-- added require on usermode.
-- added source 2 and 3.
-- snapshot. netconnect corrections. final package
-
-* Tue Apr 17 2001 dam's <damien@mandrakesoft.com> 1.1.5-99mdk
-- snapshot. mousedrake corrected. RC6
-
-* Tue Apr 17 2001 dam's <damien@mandrakesoft.com> 1.1.5-98mdk
-- snapshot. autologin corrected. RC5
-
-* Tue Apr 17 2001 dam's <damien@mandrakesoft.com> 1.1.5-97mdk
-- snapshot. RC4
-
-* Tue Apr 17 2001 dam's <damien@mandrakesoft.com> 1.1.5-96mdk
-- snapshot. RC3
-
-* Mon Apr 16 2001 dam's <damien@mandrakesoft.com> 1.1.5-95mdk
-- snapshot. RC2
-
-* Mon Apr 16 2001 dam's <damien@mandrakesoft.com> 1.1.5-94mdk
-- snapshot. RC
-
-* Mon Apr 16 2001 dam's <damien@mandrakesoft.com> 1.1.5-93mdk
-- draknet and tinyfirewall fixes
-
-* Sun Apr 15 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-92mdk
-- bootlook fix & layout
-
-* Fri Apr 13 2001 dam's <damien@mandrakesoft.com> 1.1.5-91mdk
-- snapshot
-
-* Fri Apr 13 2001 dam's <damien@mandrakesoft.com> 1.1.5-90mdk
-- snapshot
-
-* Thu Apr 12 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-89mdk
-- snapshot
-
-* Thu Apr 12 2001 dam's <damien@mandrakesoft.com> 1.1.5-88mdk
-- snapshot. pcmcia network corrected
-
-* Thu Apr 12 2001 dam's <damien@mandrakesoft.com> 1.1.5-87mdk
-- snapshot. Better network configuration
-
-* Thu Apr 12 2001 dam's <damien@mandrakesoft.com> 1.1.5-86mdk
-- snapshot.
-
-* Wed Apr 11 2001 François Pons <fpons@mandrakesoft.com> 1.1.5-85mdk
-- really fix printerdrake and snap.
-
-* Wed Apr 11 2001 François Pons <fpons@mandrakesoft.com> 1.1.5-84mdk
-- fix printerdrake and snap.
-
-* Tue Apr 10 2001 dam's <damien@mandrakesoft.com> 1.1.5-83mdk
-- bug correction.
-
-* Mon Apr 9 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-82mdk
-- snap as always
-
-* Mon Apr 9 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-81mdk
-- snaphshot again and again
-
-* Mon Apr 9 2001 dam's <damien@mandrakesoft.com> 1.1.5-80mdk
-- snapshot. bug fix
-
-* Sun Apr 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-79mdk
-- snapshot. bug fix.
-
-* Sun Apr 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-78mdk
-- added require on XFree86-100dpi-fonts
-- various debugging
-- new tinyfirewall
-
-* Sun Apr 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-77mdk
-- snapshot
-- net_monitor added.
-
-* Fri Apr 6 2001 dam's <damien@mandrakesoft.com> 1.1.5-76mdk
-- corrected compilation error.
-
-* Fri Apr 6 2001 yves <yduret@mandrakesoft.com> 1.1.5-75mdk
-- snapshot : drakgw updated, boot config fix
-
-* Thu Apr 5 2001 dam's <damien@mandrakesoft.com> 1.1.5-74mdk
-- snapshot.
-
-* Mon Apr 2 2001 dam's <damien@mandrakesoft.com> 1.1.5-73mdk
-- snapshot.
-
-* Mon Apr 2 2001 dam's <damien@mandrakesoft.com> 1.1.5-72mdk
-- snapshot, typo fixs.
-
-* Fri Mar 30 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-71mdk
-- snapshot & fixes
-
-* Fri Mar 30 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-70mdk
-- snapshot : boot coonfig updated
-
-* Thu Mar 29 2001 dam's <damien@mandrakesoft.com> 1.1.5-69mdk
-- snapshot
-
-* Thu Mar 29 2001 dam's <damien@mandrakesoft.com> 1.1.5-68mdk
-- snapshot.
-
-* Thu Mar 29 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-67mdk
-- new snapshot (XFdrake should be working)
-
-* Wed Mar 28 2001 dam's <damien@mandrakesoft.com> 1.1.5-66mdk
-- corrected tinyfirewall last step
-
-* Wed Mar 28 2001 François Pons <fpons@mandrakesoft.com> 1.1.5-65mdk
-- fixed wrong generation of second mouse support
-
-* Wed Mar 28 2001 François Pons <fpons@mandrakesoft.com> 1.1.5-64mdk
-- fixed multi-mouse support for XF3
-- fixed XFdrake (read old config file before so probe overwrite)
-
-* Wed Mar 28 2001 dam's <damien@mandrakesoft.com> 1.1.5-63mdk
-- added draksec embedded mode
-- corrected tinyfirewall for 2.4 kernels
-- corrected bad translations in draknet
-
-* Tue Mar 27 2001 dam's <damien@mandrakesoft.com> 1.1.5-62mdk
-- idem.
-
-* Sat Mar 24 2001 dam's <damien@mandrakesoft.com> 1.1.5-61mdk
-- corrected tinyfirewall
-
-* Fri Mar 23 2001 dam's <damien@mandrakesoft.com> 1.1.5-60mdk
-- snapshot
-- corrected require.
-
-* Fri Mar 23 2001 dam's <damien@mandrakesoft.com> 1.1.5-59mdk
-- added ldetect in require.
-- tinyfirewall included.
-
-* Thu Mar 22 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-58mdk
-- updated drakboot, new snapshot
-
-* Thu Mar 22 2001 dam's <damien@mandrakesoft.com> 1.1.5-57mdk
-- draknet without mail conf, new snapshot.
-
-* Thu Mar 22 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-56mdk
-- new version that will work with perl-base (at least XFdrake)
-
-* Thu Mar 22 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-55mdk
-- require perl-base not perl, it should be enough
-
-* Thu Mar 22 2001 dam's <damien@mandrakesoft.com> 1.1.5-54mdk
-- first release with tinyfirewall. Not stable.
-- corrected gmon pb, I suck.
-
-* Tue Mar 20 2001 dam's <damien@mandrakesoft.com> 1.1.5-53mdk
-- corrected bad links.
-
-* Tue Mar 20 2001 dam's <damien@mandrakesoft.com> 1.1.5-52mdk
-- no crash anymore.
-
-* Tue Mar 20 2001 dam's <damien@mandrakesoft.com> 1.1.5-51mdk
-- updated draknet. new snapshot.
-
-* Wed Mar 14 2001 dam's <damien@mandrakesoft.com> 1.1.5-50mdk
-- some minor label improvements.
-
-* Tue Mar 13 2001 Yves Duret <yduret@mandrakesoft.com> 1.1.5-49mdk
-- updated bootlook
-- macros
-
-* Mon Mar 12 2001 dam's <damien@mandrakesoft.com> 1.1.5-48mdk
-- correted wizard pixmaps name
-
-* Mon Mar 12 2001 dam's <damien@mandrakesoft.com> 1.1.5-47mdk
-- new and shinny drakxservices
-
-* Tue Mar 6 2001 dam's <damien@mandrakesoft.com> 1.1.5-46mdk
-- XFdrake works + other improvements
-
-* Thu Mar 1 2001 dam's <damien@mandrakesoft.com> 1.1.5-45mdk
-- updated embedded mode.
-
-* Wed Feb 28 2001 dam's <damien@mandrakesoft.com> 1.1.5-44mdk
-- XFdrake : new look.
-- draknet : some corrections.
-- install : some improvements
-
-* Mon Feb 26 2001 dam's <damien@mandrakesoft.com> 1.1.5-43mdk
-- corrected draknet, and some other stuff
-
-* Mon Feb 26 2001 dam's <damien@mandrakesoft.com> 1.1.5-42mdk
-- new draknet, with wizard and profiles.
-- drakboot short-circuited.
-- new pixmaps policy.
-
-* Fri Feb 23 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-41mdk
-- require perl-GTK-GdkImlib, fix XFdrake and draknet with no perl-GTK
-
-* Fri Feb 23 2001 Pixel <pixel@mandrakesoft.com> 1.1.5-40mdk
-- split in drakxtools and drakxtools-newt
-
-* Thu Feb 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-39mdk
-- install() and SHAR_PATH bug fixed in standalone.pm
-
-* Thu Feb 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-38mdk
-- bug fix.
-
-* Thu Feb 8 2001 dam's <damien@mandrakesoft.com> 1.1.5-37mdk
-- bug correction inclusion.
-
-* Wed Feb 7 2001 dam's <damien@mandrakesoft.com> 1.1.5-36mdk
-- snapshot. Included embedded mode (for control-center), and wizard mode.
-
-* Mon Dec 18 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-35mdk
-- new version (lspcidrake not here anymore, requires ldetect-lst => don't
-include pcitable/... anymore)
-
-
-* Tue Nov 14 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-34mdk
-- snapshot
-- get rid of the rpmlib dependency
-
-* Sat Oct 21 2000 dam's <damien@mandrakesoft.com> 1.1.5-33mdk
-- RC1_fixed tagged cvs version.
-- Video cards handling enhanced
-- isa isdn-cards and non detected isdn pci-cards spported.
-
-* Thu Oct 19 2000 dam's <damien@mandrakesoft.com> 1.1.5-32mdk
-- snapshot.
-
-* Mon Oct 9 2000 dam's <damien@mandrakesoft.com> 1.1.5-31mdk
-- snapshot.
-
-* Fri Oct 6 2000 dam's <damien@mandrakesoft.com> 1.1.5-30mdk
-- snapshot.
-
-* Fri Oct 6 2000 dam's <damien@mandrakesoft.com> 1.1.5-29.1mdk
-- snapshot. not fully stable.
-
-* Thu Oct 5 2000 dam's <damien@mandrakesoft.com> 1.1.5-29mdk
-- snapshot.
-
-* Thu Oct 05 2000 François Pons <fpons@mandrakesoft.com> 1.1.5-28mdk
-- snapshot.
-
-* Tue Oct 03 2000 François Pons <fpons@mandrakesoft.com> 1.1.5-27mdk
-- snapshot.
-
-* Sun Oct 1 2000 dam's <damien@mandrakesoft.com> 1.1.5-26mdk
-- snapshot.
-
-* Sat Sep 30 2000 dam's <damien@mandrakesoft.com> 1.1.5-25mdk
-- snapshot.
-
-* Sat Sep 30 2000 dam's <damien@mandrakesoft.com> 1.1.5-24mdk
-- snapshot. draknet frozen.
-
-* Fri Sep 29 2000 dam's <damien@mandrakesoft.com> 1.1.5-23mdk
-- snapshot.
-
-* Thu Sep 28 2000 dam's <damien@mandrakesoft.com> 1.1.5-22mdk
-- modified spec.
-- snapshot
-- liveupdate
-
-* Wed Sep 27 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-21mdk
-- snapshot
-
-* Tue Sep 26 2000 dam's <damien@mandrakesoft.com> 1.1.5-20mdk
-- snapshot
-
-* Mon Sep 25 2000 dam's <damien@mandrakesoft.com> 1.1.5-19mdk
-- snapshot.
-
-* Fri Sep 22 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.5-18mdk
-- new snapshot
-- remove BuildRequires kudzu-devel, I suck bigtime..
-
-* Thu Sep 21 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.5-17mdk
-- new snapshot
-- BuildRequires kudzu-devel since ddcprobe/ddcxinfos.c uses /usr/include/vbe.h
-
-* Wed Sep 20 2000 dam's <damien@mandrakesoft.com> 1.1.5-16mdk
-- cvs snapshot. See changelog file
-
-* Wed Sep 20 2000 dam's <damien@mandrakesoft.com> 1.1.5-15mdk
-- cvs snapshot. See changelog file
-
-* Fri Sep 15 2000 dam's <damien@mandrakesoft.com> 1.1.5-14mdk
-- cvs snapshot.
-- draknet : better dsl configuration.
-
-* Thu Sep 14 2000 dam's <damien@mandrakesoft.com> 1.1.5-13mdk
-- cvs snapshot.
-- draknet : wizard mode. isdn_db.txt moved to /usr/share. No makedev.sh any more
-
-* Mon Sep 11 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-12mdk
-- add handling for gnome and kde2 in Xdrakres
-
-* Thu Sep 7 2000 dam's <damien@mandrakesoft.com> 1.1.5-11mdk
-- corrected draknet launch error.
-
-* Thu Sep 7 2000 dam's <damien@mandrakesoft.com> 1.1.5-10mdk
-- ISDN connection should work. test it!
-
-* Tue Sep 5 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-9mdk
-- setAutologin fixed in XFdrake
-
-* Tue Sep 5 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-8mdk
-- adduserdrake fixed
-
-* Sat Sep 2 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-7mdk
-- fix some typos in standalone/keyboarddrake
-- add require perl
-
-* Sat Sep 2 2000 Pixel <pixel@mandrakesoft.com> 1.1.5-6mdk
-- add %%lang tags
-
-* Tue Aug 29 2000 dam's <damien@mandrakesoft.com> 1.1.5-5mdk
-- draknet : isa cards better recognized.
-
-* Mon Aug 28 2000 dam's <damien@mandrakesoft.com> 1.1.5-4mdk
-- corrected draknet. Please test it!
-
-* Sun Aug 27 2000 dam's <damien@mandrakesoft.com> 1.1.5-3mdk
-- Added draknet in standalone
-
-* Fri Aug 18 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.5-2mdk
-- add requires to modutils >= 2.3.11 because drakgw is reading
- /etc/modules.conf which has been introduced in 2.3.11
-
-* Fri Aug 18 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 1.1.5-1mdk
-- added `drakgw' in standalone (Internet Connection Sharing tool)
-
-* Fri Aug 11 2000 Pixel <pixel@mandrakesoft.com> 1.1.4-3mdk
-- new snapshot
-
-* Thu Aug 10 2000 Pixel <pixel@mandrakesoft.com> 1.1.4-2mdk
-- add noreplace for diskdrake.rc
-
-* Thu Aug 10 2000 Pixel <pixel@mandrakesoft.com> 1.1.4-1mdk
-- new snapshot
-
-* Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 1.1.3-2mdk
-- automatically added BuildRequires
-
-* Fri Jul 21 2000 Pixel <pixel@mandrakesoft.com> 1.1.3-1mdk
-- new version, BM
-
-* Wed Jul 05 2000 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.2-2mdk
-- build against new libbz2
-
-* Mon Jun 26 2000 Pixel <pixel@mandrakesoft.com> 1.1.2-1mdk
-- new version
-
-* Tue Jun 13 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-13mdk
-- hopefully fix XFdrake and DDR nvidia cards (silly xfree that is)
-
-* Mon Jun 5 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-12mdk
-- fix sbus missing
-
-* Sat Jun 3 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-10mdk
-- fix draksec calling init.sh instead of msec
-
-* Thu May 25 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 1.1.1-9mdk
-- Don't display x86 stuff on drakboot when we are on others arch.
-
-* Thu May 25 2000 François Pons <fpons@mandrakesoft.com> 1.1.1-8mdk
-- update with first version for sparc and sparc64.
-- fix for printer configuration for SAMBA and NCP (security issue).
-
-* Tue May 9 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-7mdk
-- many small fixes (bis)
-
-* Tue May 2 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-6mdk
-- many small fixes
-
-* Wed Apr 26 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-5mdk
-- new version (fix in adduserdrake, enhance interactive_newt)
-
-* Wed Apr 19 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-4mdk
-- llseek works, not lseek64 :( (need more testing)
-
-* Wed Apr 19 2000 François Pons <fpons@mandrakesoft.com> 1.1.1-3mdk
-- updated with CVS of DrakX.
-
-* Fri Mar 31 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-2mdk
-- obsoletes setuptool, link setuptool to drakxconf
-
-* Fri Mar 31 2000 Pixel <pixel@mandrakesoft.com> 1.1.1-1mdk
-- new version (added drakboot for lilo/grub, XFdrake -xf4 for XFree4)
-
-* Sat Mar 25 2000 Pixel <pixel@mandrakesoft.com> 1.1-1mdk
-- new group
-- new version
-
-* Wed Jan 12 2000 François PONS <fpons@mandrakesoft.com>
-- complete update with DrakX, small fixe on printerdrake again.
-
-* Wed Jan 12 2000 François PONS <fpons@mandrakesoft.com>
-- corrected missing generic postscript and text driver for
- printderdrake.
-
-* Wed Jan 12 2000 François PONS <fpons@mandrakesoft.com>
-- corrected bad resolution setting in printerdrake.
-
-* Wed Jan 12 2000 François PONS <fpons@mandrakesoft.com>
-- fixed print on STDOUT in printerdrake.
-- corrected printerdrake against not available drivers in gs.
-
-* Mon Jan 10 2000 Pixel <pixel@mandrakesoft.com>
-- new version (bis)
-- printerdrake install rhs-printfilters via urpmi if needed
-
-* Fri Jan 07 2000 François PONS <fpons@mandrakesoft.com>
-- updated XFdrake and PrinterDrake.
-
-* Fri Jan 7 2000 Pixel <pixel@mandrakesoft.com>
-- fixed a bug causing no i18n for rpmdrake
-- add require urpmi
-
-* Thu Jan 6 2000 Pixel <pixel@mandrakesoft.com>
-- fix an error case in XFdrake
-
-* Tue Jan 4 2000 Pixel <pixel@mandrakesoft.com>
-- adduserdrake accept user names on command line
-- minor fixes
-
-* Fri Dec 31 1999 Pixel <pixel@mandrakesoft.com>
-- 32mdk
-
-* Wed Dec 29 1999 Pixel <pixel@mandrakesoft.com>
-- make rpmlint happier
-- minor fixes
-
-* Mon Dec 27 1999 Pixel <pixel@mandrakesoft.com>
-- better XFdrake and minor fixes
-
-* Fri Dec 24 1999 Pixel <pixel@mandrakesoft.com>
-- new version (better adduserdrake and more)
-- add /usr/bin/* (for lspcidrake)
-
-* Wed Dec 22 1999 Pixel <pixel@mandrakesoft.com>
-- do not try display :0 if DISPLAY is unset
-
-* Mon Dec 20 1999 Pixel <pixel@mandrakesoft.com>
-- fixed a bug in drakxservices
-- XFdrake now install XFree86 and XFree86-75dpi-fonts if needed
-- XFdrake now calls /etc/rc.d/init.d/xfs start if needed
-- minor fix
-
-* Sat Dec 18 1999 Pixel <pixel@mandrakesoft.com>
-- added kpackage's icons for rpmdrake
-
-* Thu Dec 16 1999 Pixel <pixel@mandrakesoft.com>
-- bzip2 .po's
-- mount /proc in XFdrake to avoid freeze when called by kudzu
-- added Xdrakres
-
-* Thu Dec 16 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-- Remove the netdrake ghost.
-
-* Thu Dec 16 1999 Pixel <pixel@mandrakesoft.com>
-- fix draksec
-- many changes in libDrakX
-
-* Sat Dec 11 1999 Pixel <pixel@mandrakesoft.com>
-- adduserdrake added and some more
-
-* Thu Dec 9 1999 Pixel <pixel@linux-mandrake.com>
-- added drakxconf, drakxservices
-- handle non root via kdesu if X
-- warning go to syslog
-
-* Wed Dec 8 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
-- Add %post and %postun to link redhat tools to our tools.
-- Obsoletes: Xconfigurator mouseconfig kbdconfig printtool
-- A lots of changes/fix.
-
-* Thu Dec 2 1999 Pixel <pixel@linux-mandrake.com>
-- keyboarddrake added, and many changes
-- fixed typos
-
-* Fri Nov 26 1999 Pixel <pixel@linux-mandrake.com>
-- new version (printerdrake) (did i say lspcidrake was there too?)
-
-* Wed Nov 24 1999 Pixel <pixel@linux-mandrake.com>
-- new version
-- fixed *.o bundled in the %source
-
-* Sun Nov 21 1999 Pixel <pixel@mandrakesoft.com>
-- removed %config for diskdrake.rc (should i?)
-- removed xtest from the requires
-- added %config for diskdrake.rc (should i?)
-- strip .so and ddcxinfos (nice rpmlint :)
-
-* Sat Nov 20 1999 Pixel <pixel@mandrakesoft.com>
-- added MonitorsDB to %files (silly me:-!)
-
-* Thu Nov 18 1999 Pixel <pixel@mandrakesoft.com>
-- precised the required version for perl-GTK
-
-* Thu Nov 18 1999 Pixel <pixel@mandrakesoft.com>
-- First version
-
-
-# end of file
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index e75e855db..76cce10e7 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -1,29 +1,36 @@
-package fs; # $Id$
+package fs;
use diagnostics;
use strict;
-use MDK::Common::System;
-use MDK::Common::Various;
use common;
use log;
use devices;
-use partition_table qw(:types);
+use fs::type;
+use fs::get;
+use fs::format;
+use fs::mount_options;
+use fs::loopback;
+use fs::mount;
use run_program;
-use swap;
use detect_devices;
use modules;
use fsedit;
-use loopback;
sub read_fstab {
my ($prefix, $file, @reading_options) = @_;
+ if (member('keep_default', @reading_options)) {
+ push @reading_options, 'freq_passno', 'keep_device_LABEL', 'keep_device_UUID';
+ }
+
my %comments;
my $comment;
my @l = grep {
- if (/^\s*#/) {
+ if (/^Filename\s*Type\s*Size/) {
+ 0; #- when reading /proc/swaps
+ } elsif (/^\s*#/) {
$comment .= chomp_($_) . "\n";
0;
} else {
@@ -37,70 +44,50 @@ sub read_fstab {
$comments{$l[-1]} = $comment if $comment;
map {
- my ($dev, $mntpoint, $type, $options, $freq, $passno) = split;
+ my ($dev, $mntpoint, $fs_type, $options, $freq, $passno) = split;
my $comment = $comments{$_};
$options = 'defaults' if $options eq 'rw'; # clean-up for mtab read
- $type = fs2type($type);
- if ($type eq 'supermount') {
- # normalize this bloody supermount
- $options = join(",", 'supermount', grep {
- if (/fs=(.*)/) {
- $type = $1;
- 0;
- } elsif (/dev=(.*)/) {
- $dev = $1;
- 0;
- } elsif ($_ eq '--') {
- 0;
- } else {
- 1;
- }
- } split(',', $options));
- } elsif ($type eq 'smb') {
- # prefering type "smbfs" over "smb"
- $type = 'smbfs';
+ s/\\040/ /g foreach $mntpoint, $dev, $options;
+
+ if ($fs_type eq 'ext4') {
+ $options = join(",", grep { !/extents/ } split(',', $options)) || 'defaults';
}
- $mntpoint =~ s/\\040/ /g;
- $dev =~ s/\\040/ /g;
my $h = {
- device => $dev, mntpoint => $mntpoint, type => $type,
+ mntpoint => $mntpoint, fs_type => $fs_type,
options => $options, comment => $comment,
if_(member('keep_freq_passno', @reading_options), freq => $freq, passno => $passno),
};
- if ($dev =~ /^LABEL=/) {
- if (my $e = find { $_->{mntpoint} eq $mntpoint } read_fstab('', '/proc/mounts')) {
- $h->{device_LABEL} = $dev;
- $dev = $h->{device} = $e->{device};
- }
- }
- if ($dev =~ m,^/(tmp|dev)/,) {
- ($h->{major}, $h->{minor}) = unmakedev((stat "$prefix$dev")[6]);
-
- my $symlink = readlink("$prefix$dev");
- $dev =~ s,^/(tmp|dev)/,,;
+ put_in_hash($h, fs::wild_device::to_subpart($dev));
- if ($symlink =~ m|^[^/]+$|) {
- $h->{device_alias} = $dev;
- $h->{device} = $symlink;
- } else {
- $h->{device} = $dev;
- }
+ if ($h->{device_LABEL} && !$h->{device_alias} && member('keep_device_LABEL', @reading_options)) {
+ $h->{prefer_device_LABEL} = 1;
+ } elsif ($h->{device_UUID} && !$h->{device_alias} && member('keep_device_UUID', @reading_options)) {
+ $h->{prefer_device_UUID} = 1;
+ } else {
+ $h->{prefer_device} = 1;
}
if ($h->{options} =~ /credentials=/ && !member('verbatim_credentials', @reading_options)) {
- require network::smb;
+ require fs::remote::smb;
#- remove credentials=file with username=foo,password=bar,domain=zoo
#- the other way is done in fstab_to_string
- my ($options, $unknown) = mount_options_unpack($h);
+ my ($options, $unknown) = fs::mount_options::unpack($h);
my $file = delete $options->{'credentials='};
- my $credentials = network::smb::read_credentials_raw($file);
+ my $credentials = fs::remote::smb::read_credentials_raw($file);
if ($credentials->{username}) {
$options->{"$_="} = $credentials->{$_} foreach qw(username password domain);
- mount_options_pack($h, $options, $unknown);
+ fs::mount_options::pack($h, $options, $unknown);
+ }
+ } elsif ($h->{fs_type} eq 'davfs2' && !member('verbatim_credentials', @reading_options)) {
+ require fs::remote::davfs;
+ if (my $credentials = fs::remote::davfs::read_credentials($h->{mntpoint})) {
+ my ($options, $unknown) = fs::mount_options::unpack($h);
+ $options->{"$_="} = $credentials->{$_} foreach qw(username password);
+ fs::mount_options::pack($h, $options, $unknown);
}
}
@@ -112,22 +99,25 @@ sub merge_fstabs {
my ($loose, $fstab, @l) = @_;
foreach my $p (@$fstab) {
- my ($l1, $l2) = partition { fsedit::is_same_hd($_, $p) } @l;
+ my ($l1, $l2) = partition { fs::get::is_same_hd($_, $p) } @l;
my ($p2) = @$l1 or next;
@l = @$l2;
$p->{mntpoint} = $p2->{mntpoint} if delete $p->{unsafeMntpoint};
- $p->{type} = $p2->{type} if $p2->{type} && !$loose;
- $p->{options} = $p2->{options} if $p2->{options} && !$loose;
- #- important to get isMounted property else DrakX may try to mount already mounted partitions :-(
- add2hash($p, $p2);
- $p->{device_alias} ||= $p2->{device_alias} || $p2->{device} if $p->{device} ne $p2->{device} && $p2->{device} !~ m|/|;
+ if (!$loose) {
+ $p->{fs_type} = $p2->{fs_type} if $p2->{fs_type};
+ $p->{options} = $p2->{options} if $p2->{options};
+ add2hash_($p, $p2);
+ } else {
+ $p->{isMounted} ||= $p2->{isMounted};
+ $p->{real_mntpoint} ||= $p2->{real_mntpoint};
+ }
+ $p->{device_alias} ||= $p2->{device_alias} if $p->{device} ne $p2->{device} && $p2->{device} !~ m|/|;
- $p->{type} && $p2->{type} && $p->{type} ne $p2->{type} && type2fs($p) ne type2fs($p2) &&
- $p->{type} ne 'auto' && $p2->{type} ne 'auto' and
- log::l("err, fstab and partition table do not agree for $p->{device} type: " .
- (type2fs($p) || type2name($p->{type})) . " vs ", (type2fs($p2) || type2name($p2->{type})));
+ $p->{fs_type} && $p2->{fs_type} && $p->{fs_type} ne $p2->{fs_type}
+ && $p->{fs_type} ne 'auto' && $p2->{fs_type} ne 'auto' and
+ log::l("err, fstab and partition table do not agree for $p->{device} type: $p->{fs_type} vs $p2->{fs_type}");
}
@l;
}
@@ -135,46 +125,47 @@ sub merge_fstabs {
sub add2all_hds {
my ($all_hds, @l) = @_;
- @l = merge_fstabs('', [ fsedit::get_really_all_fstab($all_hds) ], @l);
+ @l = merge_fstabs('', [ fs::get::really_all_fstab($all_hds) ], @l);
foreach (@l) {
my $s =
- isThisFs('nfs', $_) ? 'nfss' :
- isThisFs('smbfs', $_) ? 'smbs' :
- isThisFs('davfs', $_) ? 'davs' :
- isTrueFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' :
+ $_->{fs_type} eq 'nfs' ? 'nfss' :
+ $_->{fs_type} eq 'cifs' ? 'smbs' :
+ $_->{fs_type} eq 'davfs2' ? 'davs' :
+ isTrueLocalFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' :
'special';
push @{$all_hds->{$s}}, $_ if $s;
}
}
sub get_major_minor {
- eval {
- my (undef, $major, $minor) = devices::entry($_->{device});
- ($_->{major}, $_->{minor}) = ($major, $minor);
- } foreach @_;
+ my ($fstab) = @_;
+ foreach (@$fstab) {
+ eval {
+ my (undef, $major, $minor) = devices::entry($_->{device});
+ ($_->{major}, $_->{minor}) = ($major, $minor);
+ };
+ }
}
sub merge_info_from_mtab {
my ($fstab) = @_;
my @l1 = map { my $l = $_;
- my %l = (type => fs2type('swap'));
- $l{$_} = $l->{$_} foreach qw(device major minor);
- \%l;
+ my $h = fs::type::fs_type2subpart('swap');
+ $h->{$_} = $l->{$_} foreach qw(device major minor);
+ $h;
} read_fstab('', '/proc/swaps');
my @l2 = map { read_fstab('', $_) } '/etc/mtab', '/proc/mounts';
foreach (@l1, @l2) {
log::l("found mounted partition on $_->{device} with $_->{mntpoint}");
- if ($::isInstall && $_->{mntpoint} eq '/tmp/hdimage') {
- log::l("found hdimage on $_->{device}");
+ if ($::isInstall && $_->{mntpoint} =~ m!^/tmp/\w*image$!) {
$_->{real_mntpoint} = delete $_->{mntpoint};
- $_->{mntpoint} = common::usingRamdisk() && "/mnt/hd"; #- remap for hd install.
}
- $_->{isMounted} = $_->{isFormatted} = 1;
- delete $_->{options};
+ $_->{isMounted} = 1;
+ set_isFormatted($_, 1);
}
merge_fstabs('loose', $fstab, @l1, @l2);
}
@@ -185,44 +176,50 @@ sub merge_info_from_fstab {
my @l = grep {
if ($uniq) {
- my $part = fsedit::mntpoint2part($_->{mntpoint}, $fstab);
- !$part || fsedit::is_same_hd($part, $_); #- keep it only if it is the mountpoint AND the same device
+ my $part = fs::get::mntpoint2part($_->{mntpoint}, $fstab);
+ !$part || fs::get::is_same_hd($part, $_); #- keep it only if it is the mount point AND the same device
} else {
1;
}
- } read_fstab($prefix, "/etc/fstab", 'keep_freq_passno');
+ } read_fstab($prefix, '/etc/fstab', 'keep_default');
merge_fstabs($loose, $fstab, @l);
}
-# - when using "$loose", it does not merge in type&options from the fstab
sub get_info_from_fstab {
- my ($all_hds, $prefix) = @_;
- my @l = read_fstab($prefix, "/etc/fstab", 'keep_freq_passno');
- add2all_hds($all_hds, @l)
+ my ($all_hds) = @_;
+ my @l = read_fstab($::prefix, '/etc/fstab', 'keep_default');
+ add2all_hds($all_hds, @l);
}
sub prepare_write_fstab {
- my ($fstab, $o_prefix, $b_keep_smb_credentials) = @_;
+ my ($fstab, $o_prefix, $b_keep_credentials) = @_;
$o_prefix ||= '';
my %new;
- my @smb_credentials;
+ my (@smb_credentials, @davfs_credentials);
my @l = map {
my $device =
isLoopback($_) ?
($_->{mntpoint} eq '/' ? "/initrd/loopfs" : $_->{loopback_device}{mntpoint}) . $_->{loopback_file} :
- part2device($o_prefix, $_->{device}, $_->{type});
+ fs::wild_device::from_part($o_prefix, $_);
+
+ my $comment = $_->{comment};
+ $comment = '' if $comment =~ m!^Entry for /dev/.* :!;
+ $comment ||= "# Entry for /dev/$_->{device} :\n" if $device =~ /^(UUID|LABEL)=/;
my $real_mntpoint = $_->{mntpoint} || ${{ '/tmp/hdimage' => '/mnt/hd' }}{$_->{real_mntpoint}};
- mkdir_p("$o_prefix$real_mntpoint") if $real_mntpoint =~ m|^/|;
- my $mntpoint = loopback::carryRootLoopback($_) ? '/initrd/loopfs' : $real_mntpoint;
+ if (!member('bind', split(',', $_->{options}))) {
+ mkdir_p("$o_prefix$real_mntpoint") if $real_mntpoint =~ m|^/|;
+ }
+ my $mntpoint = fs::type::carry_root_loopback($_) ? '/initrd/loopfs' : $real_mntpoint;
+ my $needed_to_boot = member($_->{mntpoint}, fs::type::directories_needed_to_boot());
my ($freq, $passno) =
exists $_->{freq} ?
($_->{freq}, $_->{passno}) :
- isTrueFS($_) && $_->{options} !~ /encryption=/ ?
- (1, $_->{mntpoint} eq '/' ? 1 : loopback::carryRootLoopback($_) ? 0 : 2) :
+ isTrueLocalFS($_) && !$_->{dmcrypt_name} && $_->{options} !~ /encryption=/ && (!$_->{is_removable} || $needed_to_boot) ?
+ (1, $_->{mntpoint} eq '/' ? 1 : fs::type::carry_root_loopback($_) ? 0 : 2) :
(0, 0);
if (($device eq 'none' || !$new{$device}) && ($mntpoint eq 'swap' || !$new{$mntpoint})) {
@@ -230,291 +227,75 @@ sub prepare_write_fstab {
$new{$device} = 1;
$new{$mntpoint} = 1;
- my $options = $_->{options};
+ my $options = $_->{options} || 'defaults';
+ if (($_->{is_removable} || member($_->{fs_type}, qw(ntfs ntfs-3g))) && !$needed_to_boot && $_->{options} !~ /nofail/) {
+ $options .= ',nofail';
+ }
- if (isThisFs('smbfs', $_) && $options =~ /password=/ && !$b_keep_smb_credentials) {
- require network::smb;
- if (my ($opts, $smb_credentials) = network::smb::fstab_entry_to_credentials($_)) {
+ if ($_->{fs_type} eq 'cifs' && $options =~ /password=/ && !$b_keep_credentials) {
+ require fs::remote::smb;
+ if (my ($opts, $smb_credentials) = fs::remote::smb::fstab_entry_to_credentials($_)) {
$options = $opts;
push @smb_credentials, $smb_credentials;
}
+ } elsif ($_->{fs_type} eq 'davfs2' && !$b_keep_credentials) {
+ require fs::remote::davfs;
+ if (my ($opts, $davfs_credentials) = fs::remote::davfs::fstab_entry_to_credentials($_)) {
+ $options = $opts || 'defaults';
+ push @davfs_credentials, $davfs_credentials;
+ }
}
- my $type = type2fs($_, 'auto');
+ my $fs_type = $_->{fs_type} || 'auto';
+
+ s/ /\\040/g foreach $mntpoint, $device, $options;
- my $dev =
- $_->{device_LABEL} ? $_->{device_LABEL} :
- $_->{device_alias} ? "/dev/$_->{device_alias}" : $device;
+ my $file_dep = $options =~ /\b(loop|bind)\b/ ? $device : '';
- $mntpoint =~ s/ /\\040/g;
- $dev =~ s/ /\\040/g;
+ [ $file_dep, $mntpoint, $comment . join(' ', $device, $mntpoint, $fs_type, $options, $freq, $passno) . "\n" ];
+ } else {
+ ();
+ }
+ } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{fs_type} && ($_->{isFormatted} || !$_->{notFormatted}) } @$fstab;
+
+ sub sort_it {
+ my (@l) = @_;
- # handle bloody supermount special case
- if ($options =~ /supermount/) {
- my @l = grep { $_ ne 'supermount' } split(',', $options);
- my @l1 = grep { member($_, 'ro', 'exec') } @l;
- my @l2 = difference2(\@l, \@l1);
- $options = join(",", "dev=$dev", "fs=$type", @l1, if_(@l2, '--', @l2));
- ($dev, $type) = ('none', 'supermount');
+ if (my $file_based = find { $_->[0] } @l) {
+ my ($before, $other) = partition { $file_based->[0] =~ /^\Q$_->[1]/ } @l;
+ $file_based->[0] = ''; #- all dependencies are now in before
+ if (@$other && @$before) {
+ sort_it(@$before), sort_it(@$other);
} else {
- #- if we were using supermount, the type could be something like ext2:vfat
- #- but this can't be done without supermount, so switching to "auto"
- $type = 'auto' if $type =~ /:/;
+ sort_it(@l);
}
-
- [ $mntpoint, $_->{comment} . join(' ', $dev, $mntpoint, $type, $options || 'defaults', $freq, $passno) . "\n" ];
} else {
- ()
- }
- } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{type} } @$fstab;
+ sort { $a->[1] cmp $b->[1] } @l;
+ }
+ }
+ @l = sort_it(@l);
- join('', map { $_->[1] } sort { $a->[0] cmp $b->[0] } @l), \@smb_credentials;
+ join('', map { $_->[2] } @l), \@smb_credentials, \@davfs_credentials;
}
sub fstab_to_string {
my ($all_hds, $o_prefix) = @_;
- my $fstab = [ fsedit::get_really_all_fstab($all_hds), @{$all_hds->{special}} ];
- my ($s, undef) = prepare_write_fstab($fstab, $o_prefix, 'keep_smb_credentials');
+ my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
+ my ($s, undef) = prepare_write_fstab($fstab, $o_prefix, 'keep_credentials');
$s;
}
sub write_fstab {
my ($all_hds, $o_prefix) = @_;
log::l("writing $o_prefix/etc/fstab");
- my $fstab = [ fsedit::get_really_all_fstab($all_hds), @{$all_hds->{special}} ];
- my ($s, $smb_credentials) = prepare_write_fstab($fstab, $o_prefix, '');
+ my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
+ my ($s, $smb_credentials, $davfs_credentials) = prepare_write_fstab($fstab, $o_prefix, '');
+ renamef("$o_prefix/etc/fstab", "$o_prefix/etc/fstab.old");
output("$o_prefix/etc/fstab", $s);
- network::smb::save_credentials($_) foreach @$smb_credentials;
-}
-
-sub part2device {
- my ($prefix, $dev, $type) = @_;
- $dev eq 'none' || member($type, qw(nfs smbfs davfs)) ?
- $dev :
- do {
- my $dir = $dev =~ m!^(/|LABEL=)! ? '' : '/dev/';
- eval { devices::make("$prefix$dir$dev") };
- "$dir$dev";
- };
-}
-
-sub auto_fs() {
- grep { chop; $_ && !/nodev/ } cat_("/etc/filesystems");
-}
-
-sub mount_options() {
- my %non_defaults = (
- sync => 'async', noatime => 'atime', noauto => 'auto', ro => 'rw',
- user => 'nouser', nodev => 'dev', noexec => 'exec', nosuid => 'suid',
- );
- my @user_implies = qw(noexec nodev nosuid);
- \%non_defaults, \@user_implies;
-}
-
-sub mount_options_unpack {
- my ($part) = @_;
- my $packed_options = $part->{options};
-
- my ($non_defaults, $user_implies) = mount_options();
-
- my @auto_fs = auto_fs();
- my %per_fs = (
- iso9660 => [ qw(unhide) ],
- vfat => [ qw(umask=0) ],
- ntfs => [ qw(umask=0) ],
- nfs => [ qw(rsize=8192 wsize=8192) ],
- smbfs => [ qw(username= password=) ],
- davfs => [ qw(username= password= uid= gid=) ],
- reiserfs => [ 'notail' ],
- );
- push @{$per_fs{$_}}, 'usrquota', 'grpquota' foreach 'ext2', 'ext3', 'xfs';
-
- while (my ($fs, $l) = each %per_fs) {
- isThisFs($fs, $part) || $part->{type} eq 'auto' && member($fs, @auto_fs) or next;
- $non_defaults->{$_} = 1 foreach @$l;
- }
-
- $non_defaults->{encrypted} = 1 if !$part->{isFormatted} || isSwap($part);
-
- $non_defaults->{supermount} = 1 if $part->{type} =~ /:/ || member(type2fs($part), 'auto', @auto_fs);
-
- my $defaults = { reverse %$non_defaults };
- my %options = map { $_ => '' } keys %$non_defaults;
- my @unknown;
- foreach (split(",", $packed_options)) {
- if ($_ eq 'user') {
- $options{$_} = 1 foreach 'user', @$user_implies;
- } elsif (exists $non_defaults->{$_}) {
- $options{$_} = 1;
- } elsif ($defaults->{$_}) {
- $options{$defaults->{$_}} = 0;
- } elsif (/(.*?=)(.*)/) {
- $options{$1} = $2;
- } else {
- push @unknown, $_;
- }
- }
- # merge those, for cleaner help
- $options{'rsize=8192,wsize=8192'} = delete $options{'rsize=8192'} && delete $options{'wsize=8192'}
- if exists $options{'rsize=8192'};
-
- my $unknown = join(",", @unknown);
- \%options, $unknown;
-}
-
-sub mount_options_pack_ {
- my ($_part, $options, $unknown) = @_;
-
- my ($non_defaults, $user_implies) = mount_options();
- my @l;
-
- if (delete $options->{user}) {
- push @l, 'user';
- foreach (@$user_implies) {
- if (!delete $options->{$_}) {
- # overriding
- $options->{$non_defaults->{$_}} = 1;
- }
- }
- }
- push @l, map_each { if_($::b, $::a =~ /=$/ ? "$::a$::b" : $::a) } %$options;
- push @l, $unknown;
-
- join(",", uniq(grep { $_ } @l));
-}
-sub mount_options_pack {
- my ($part, $options, $unknown) = @_;
- $part->{options} = mount_options_pack_($part, $options, $unknown);
- noreturn();
-}
-
-# update me on each util-linux new release:
-sub mount_options_help() {
- (
-
- 'grpquota' => '',
-
- 'noatime' => N("Do not update inode access times on this file system
-(e.g, for faster access on the news spool to speed up news servers)."),
-
- 'noauto' => N("Can only be mounted explicitly (i.e.,
-the -a option will not cause the file system to be mounted)."),
-
- 'nodev' => N("Do not interpret character or block special devices on the file system."),
-
- 'noexec' => N("Do not allow execution of any binaries on the mounted
-file system. This option might be useful for a server that has file systems
-containing binaries for architectures other than its own."),
-
- 'nosuid' => N("Do not allow set-user-identifier or set-group-identifier
-bits to take effect. (This seems safe, but is in fact rather unsafe if you
-have suidperl(1) installed.)"),
-
- 'ro' => N("Mount the file system read-only."),
-
- 'sync' => N("All I/O to the file system should be done synchronously."),
-
- 'supermount' => '',
-
- 'user' => N("Allow an ordinary user to mount the file system. The
-name of the mounting user is written to mtab so that he can unmount the file
-system again. This option implies the options noexec, nosuid, and nodev
-(unless overridden by subsequent options, as in the option line
-user,exec,dev,suid )."),
-
- 'usrquota' => '',
-
- 'umask=0' => N("Give write access to ordinary users"),
-
- );
-}
-
-sub set_default_options {
- my ($part, %opts) = @_;
- #- opts are: is_removable useSupermount security iocharset codepage
-
- my ($options, $unknown) = mount_options_unpack($part);
-
- if ($opts{is_removable}) {
- $options->{supermount} = $opts{useSupermount};
- $part->{type} = !$options->{supermount} ? 'auto' :
- $part->{media_type} eq 'cdrom' ? 'udf:iso9660' : 'ext2:vfat';
- }
-
- if ($part->{media_type} eq 'cdrom') {
- $options->{ro} = 1;
- }
-
- if ($part->{media_type} eq 'fd') {
- # slow device so don't loose time, write now!
- $options->{sync} = 1;
- }
-
- if (isTrueFS($part)) {
- #- noatime on laptops (do not wake up the hd)
- #- Do not update inode access times on this
- #- file system (e.g, for faster access on the
- #- news spool to speed up news servers).
- $options->{noatime} = detect_devices::isLaptop();
- }
- if (isThisFs('nfs', $part)) {
- put_in_hash($options, {
- nosuid => 1, 'rsize=8192,wsize=8192' => 1, soft => 1,
- });
- }
- if (isThisFs('smbfs', $part)) {
- add2hash($options, { 'username=' => '%' }) if !$options->{'credentials='};
- }
- if (isFat($part) || member('vfat', split(':', $part->{type})) || isThisFs('auto', $part)) {
-
- put_in_hash($options, {
- user => 1, noexec => 0,
- }) if $opts{is_removable};
-
- put_in_hash($options, {
- 'umask=0' => $opts{security} < 3, 'iocharset=' => $opts{iocharset}, 'codepage=' => $opts{codepage},
- });
- }
- if (isThisFs('ntfs', $part)) {
- put_in_hash($options, { ro => 1, 'umask=0' => $opts{security} < 3, 'iocharset=' => $opts{iocharset} });
- }
- if (member('iso9660', split(':', $part->{type})) || isThisFs('auto', $part)) {
- put_in_hash($options, { user => 1, noexec => 0, 'iocharset=' => $opts{iocharset} });
- }
- if (isThisFs('reiserfs', $part)) {
- $options->{notail} = 1;
- } else {
- $options->{notail} = 0;
- }
- if (isLoopback($part) && !isSwap($part)) { #- no need for loop option for swap files
- $options->{loop} = 1;
- }
-
- # rationalize: no need for user
- if ($options->{autofs} || $options->{supermount}) {
- $options->{user} = 0;
- }
-
- # have noauto when we have user
- $options->{noauto} = 1 if $options->{user};
-
- if ($options->{user}) {
- # ensure security (user_implies - noexec as noexec is not a security matter)
- $options->{$_} = 1 foreach 'nodev', 'nosuid';
- }
-
- mount_options_pack($part, $options, $unknown);
-}
-
-sub set_all_default_options {
- my ($all_hds, %opts) = @_;
- #- opts are: useSupermount security iocharset codepage
-
- my @removables = @{$all_hds->{raw_hds}};
-
- foreach my $part (fsedit::get_really_all_fstab($all_hds)) {
- set_default_options($part, %opts, is_removable => member($part, @removables));
- }
+ require fs::remote::davfs;
+ fs::remote::smb::save_credentials($_) foreach @$smb_credentials;
+ fs::remote::davfs::save_credentials($davfs_credentials);
+ fs::dmcrypt::save_crypttab($all_hds) if @{$all_hds->{dmcrypts}};
}
sub set_removable_mntpoints {
@@ -523,331 +304,32 @@ sub set_removable_mntpoints {
my %names;
foreach (@{$all_hds->{raw_hds}}) {
my $name = detect_devices::suggest_mount_point($_) or next;
+ member($name, qw(zip cdrom)) and next;
my $s = ++$names{$name};
- $_->{mntpoint} ||= "/mnt/$name" . ($s == 1 ? '' : $s);
+ $_->{mntpoint} ||= "/media/$name" . ($s == 1 ? '' : $s);
}
}
sub get_raw_hds {
my ($prefix, $all_hds) = @_;
- $all_hds->{raw_hds} = [ detect_devices::removables() ];
- get_major_minor(@{$all_hds->{raw_hds}});
+ push @{$all_hds->{raw_hds}}, detect_devices::removables();
+ $_->{is_removable} = 1 foreach @{$all_hds->{raw_hds}};
- my @fstab = read_fstab($prefix, "/etc/fstab", 'keep_freq_passno');
- $all_hds->{nfss} = [ grep { isThisFs('nfs', $_) } @fstab ];
- $all_hds->{smbs} = [ grep { isThisFs('smbfs', $_) } @fstab ];
- $all_hds->{davs} = [ grep { isThisFs('davfs', $_) } @fstab ];
+ get_major_minor($all_hds->{raw_hds});
+
+ my @fstab = read_fstab($prefix, '/etc/fstab', 'keep_default');
+ $all_hds->{nfss} = [ grep { $_->{fs_type} eq 'nfs' } @fstab ];
+ $all_hds->{smbs} = [ grep { $_->{fs_type} eq 'cifs' } @fstab ];
+ $all_hds->{davs} = [ grep { $_->{fs_type} eq 'davfs2' } @fstab ];
$all_hds->{special} = [
- (grep { isThisFs('tmpfs', $_) } @fstab),
- { device => 'none', mntpoint => '/proc', type => 'proc' },
- { device => 'none', mntpoint => '/dev/pts', type => 'devpts', options => 'mode=0620' },
+ (grep { $_->{fs_type} eq 'tmpfs' } @fstab),
+ { device => 'none', mntpoint => '/proc', fs_type => 'proc' },
];
}
################################################################################
-# formatting functions
-################################################################################
-sub disable_forced_fsck {
- my ($dev) = @_;
- run_program::run("tune2fs", "-c0", "-i0", devices::make($dev));
-}
-
-sub format_ext2($@) {
- #- mke2fs -b (1024|2048|4096) -c -i(1024 > 262144) -N (1 > 100000000) -m (0-100%) -L volume-label
- #- tune2fs
- my ($dev, @options) = @_;
- $dev =~ m,(rd|ida|cciss)/, and push @options, qw(-b 4096 -R stride=16); #- For RAID only.
- push @options, qw(-b 1024 -O none) if arch() =~ /alpha/;
- run_program::raw({ timeout => 60 * 60 }, 'mke2fs', '-F', @options, devices::make($dev)) or die \N("%s formatting of %s failed", (any { $_ eq '-j' } @options) ? "ext3" : "ext2", $dev);
-}
-sub format_ext3 {
- my ($dev, @options) = @_;
- format_ext2($dev, "-j", @options);
- disable_forced_fsck($dev);
-}
-sub format_reiserfs {
- my ($dev, @options) = @_;
- #TODO add -h tea
- run_program::raw({ timeout => 60 * 60 }, "mkreiserfs", "-ff", @options, devices::make($dev)) or die \N("%s formatting of %s failed", "reiserfs", $dev);
-}
-sub format_xfs {
- my ($dev, @options) = @_;
- run_program::raw({ timeout => 60 * 60 }, "mkfs.xfs", "-f", "-q", @options, devices::make($dev)) or die \N("%s formatting of %s failed", "xfs", $dev);
-}
-sub format_jfs {
- my ($dev, @options) = @_;
- run_program::raw({ timeout => 60 * 60 }, "mkfs.jfs", "-f", @options, devices::make($dev)) or die \N("%s formatting of %s failed", "jfs", $dev);
-}
-sub format_dos {
- my ($dev, @options) = @_;
- run_program::raw({ timeout => 60 * 60 }, "mkdosfs", @options, devices::make($dev)) or die \N("%s formatting of %s failed", "dos", $dev);
-}
-sub format_hfs {
- my ($dev, @options) = @_;
- run_program::raw({ timeout => 60 * 60 }, "hformat", @options, devices::make($dev)) or die \N("%s formatting of %s failed", "HFS", $dev);
-}
-sub real_format_part {
- my ($part) = @_;
-
- $part->{isFormatted} and return;
-
- my $dev = $part->{real_device} || $part->{device};
-
- my @options = if_($part->{toFormatCheck}, "-c");
- log::l("formatting device $dev (type ", type2name($part->{type}), ")");
-
- if (isExt2($part)) {
- push @options, "-F" if isLoopback($part);
- push @options, "-m", "0" if $part->{mntpoint} =~ m|^/home|;
- format_ext2($dev, @options);
- } elsif (isThisFs("ext3", $part)) {
- push @options, "-m", "0" if $part->{mntpoint} =~ m|^/home|;
- format_ext3($dev, @options);
- } elsif (isThisFs("reiserfs", $part)) {
- format_reiserfs($dev, @options, if_(c::kernel_version() =~ /^\Q2.2/, "-v", "1"));
- } elsif (isThisFs("xfs", $part)) {
- format_xfs($dev, @options);
- } elsif (isThisFs("jfs", $part)) {
- format_jfs($dev, @options);
- } elsif (isDos($part)) {
- format_dos($dev, @options);
- } elsif (isWin($part) || isEfi($part)) {
- format_dos($dev, @options, '-F', 32);
- } elsif (isThisFs('hfs', $part)) {
- format_hfs($dev, @options, '-l', "Untitled");
- } elsif (isAppleBootstrap($part)) {
- format_hfs($dev, @options, '-l', "bootstrap");
- } elsif (isSwap($part)) {
- my $check_blocks = any { /^-c$/ } @options;
- swap::make($dev, $check_blocks);
- } else {
- die \N("I don't know how to format %s in type %s", $part->{device}, type2name($part->{type}));
- }
- $part->{isFormatted} = 1;
-}
-sub format_part {
- my ($raids, $part, $prefix, $wait_message) = @_;
- if (isRAID($part)) {
- $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
- require raid;
- raid::format_part($raids, $part);
- } elsif (isLoopback($part)) {
- $wait_message->(N("Creating and formatting file %s", $part->{loopback_file})) if $wait_message;
- loopback::format_part($part, $prefix);
- } else {
- $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
- real_format_part($part);
- }
-}
-
-################################################################################
-# mounting functions
-################################################################################
-sub set_loop {
- my ($part) = @_;
- if (!$part->{real_device}) {
- eval { modules::load('loop') };
- $part->{real_device} = devices::set_loop(devices::make($part->{device}), $part->{encrypt_key}, $part->{options} =~ /encryption=(\w+)/);
- }
-}
-
-sub formatMount_part {
- my ($part, $raids, $fstab, $prefix, $wait_message) = @_;
-
- if (isLoopback($part)) {
- formatMount_part($part->{loopback_device}, $raids, $fstab, $prefix, $wait_message);
- }
- if (my $p = up_mount_point($part->{mntpoint}, $fstab)) {
- formatMount_part($p, $raids, $fstab, $prefix, $wait_message) unless loopback::carryRootLoopback($part);
- }
- if ($part->{encrypt_key}) {
- set_loop($part);
- }
- if ($part->{toFormat}) {
- format_part($raids, $part, $prefix, $wait_message);
- }
- mount_part($part, $prefix, 0, $wait_message);
-}
-
-sub formatMount_all {
- my ($raids, $fstab, $prefix, $o_wait_message) = @_;
- formatMount_part($_, $raids, $fstab, $prefix, $o_wait_message)
- foreach sort { isLoopback($a) ? 1 : isSwap($a) ? -1 : 0 } grep { $_->{mntpoint} } @$fstab;
-
- #- ensure the link is there
- loopback::carryRootCreateSymlink($_, $prefix) foreach @$fstab;
-
- #- for fun :)
- #- that way, when install exits via ctrl-c, it gives hand to partition
- eval {
- local $SIG{__DIE__} = 'ignore';
- my ($_type, $major, $minor) = devices::entry(fsedit::get_root($fstab)->{device});
- output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
- };
-}
-
-sub mount {
- my ($dev, $where, $fs, $b_rdonly, $o_options, $o_wait_message) = @_;
- log::l("mounting $dev on $where as type $fs, options $o_options");
-
- -d $where or mkdir_p($where);
-
- $dev = part2device('', $dev, $fs);
-
- my @fs_modules = qw(vfat hfs romfs ufs reiserfs xfs jfs ext3);
-
- if (member($fs, 'smb', 'smbfs', 'nfs', 'davfs', 'ntfs') && $::isStandalone) {
- $o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
- system('mount', '-t', $fs, $dev, $where, if_($o_options, '-o', $o_options)) == 0 or die \N("mounting partition %s in directory %s failed", $dev, $where);
- return; #- do not update mtab, already done by mount(8)
- } elsif (member($fs, 'ext2', 'proc', 'usbdevfs', 'iso9660', @fs_modules)) {
- $where =~ s|/$||;
-
- my $flag = c::MS_MGC_VAL();
- $flag |= c::MS_RDONLY() if $b_rdonly;
- my $mount_opt = "";
-
- if ($fs eq 'vfat') {
- $mount_opt = 'check=relaxed';
- } elsif ($fs eq 'reiserfs') {
- #- could be better if we knew if there is a /boot or not
- #- without knowing it, / is forced to be mounted with notail
- # if $where =~ m|/(boot)?$|;
- $mount_opt = 'notail'; #- notail in any case
- } elsif ($fs eq 'jfs' && !$b_rdonly) {
- $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
- #- needed if the system is dirty otherwise mounting read-write simply fails
- run_program::raw({ timeout => 60 * 60 }, "fsck.jfs", $dev) or do {
- my $err = $?;
- die "fsck.jfs failed" if $err & 0xfc00;
- };
- } elsif ($fs eq 'ext2' || $fs eq 'ext3' && $::isInstall && !$::o->{isUpgrade}) {
- if (!$b_rdonly) {
- $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
- foreach ('-a', '-y') {
- run_program::raw({ timeout => 60 * 60 }, "fsck.ext2", $_, $dev);
- my $err = $?;
- if ($err & 0x0100) {
- log::l("fsck corrected partition $dev");
- }
- if ($err & 0xfeff) {
- my $txt = sprintf("fsck failed on %s with exit code %d or signal %d", $dev, $err >> 8, $err & 255);
- $_ eq '-y' ? die($txt) : cdie($txt);
- } else {
- last;
- }
- }
- }
- # really mount as ext2 during install for speed up
- $fs = 'ext2';
- }
- if (member($fs, @fs_modules)) {
- eval { modules::load($fs) };
- } elsif ($fs eq 'iso9660') {
- eval { modules::load('isofs') };
- }
- log::l("calling mount($dev, $where, $fs, $flag, $mount_opt)");
- $o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
- syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die \(N("mounting partition %s in directory %s failed", $dev, $where) . " ($!)");
- } else {
- log::l("skipping mounting $fs partition");
- return;
- }
- eval { #- fail silently, /etc must be read-only
- append_to_file("/etc/mtab", "$dev $where $fs defaults 0 0\n");
- };
-}
-
-#- takes the mount point to umount (can also be the device)
-sub umount {
- my ($mntpoint) = @_;
- $mntpoint =~ s|/$||;
- log::l("calling umount($mntpoint)");
-
- syscall_('umount2', $mntpoint, 0) or do {
- kill 15, fuzzy_pidofs('^fam\b');
- syscall_('umount2', $mntpoint, 0) or die \N("error unmounting %s: %s", $mntpoint, $!);
- };
-
- substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- don't care about error, if we can't read, we won't manage to write... (and mess mtab)
-}
-
-sub mount_part {
- my ($part, $o_prefix, $b_rdonly, $o_wait_message) = @_;
-
- #- root carrier's link can't be mounted
- loopback::carryRootCreateSymlink($part, $o_prefix);
-
- log::l("isMounted=$part->{isMounted}, real_mntpoint=$part->{real_mntpoint}, mntpoint=$part->{mntpoint}");
- if ($part->{isMounted} && $part->{real_mntpoint} && $part->{mntpoint}) {
- log::l("remounting partition on $o_prefix$part->{mntpoint} instead of $part->{real_mntpoint}");
- if ($::isInstall) { #- ensure partition will not be busy.
- require install_any;
- install_any::getFile('XXX');
- }
- eval {
- umount($part->{real_mntpoint});
- rmdir $part->{real_mntpoint};
- symlinkf "$o_prefix$part->{mntpoint}", $part->{real_mntpoint};
- delete $part->{real_mntpoint};
- $part->{isMounted} = 0;
- };
- }
-
- return if $part->{isMounted};
-
- unless ($::testing) {
- if (isSwap($part)) {
- $o_wait_message->(N("Enabling swap partition %s", $part->{device})) if $o_wait_message;
- swap::swapon($part->{device});
- } else {
- $part->{mntpoint} or die "missing mount point for partition $part->{device}";
-
- my $mntpoint = ($o_prefix || '') . $part->{mntpoint};
- if (isLoopback($part) || $part->{encrypt_key}) {
- set_loop($part);
- } elsif (loopback::carryRootLoopback($part)) {
- $mntpoint = "/initrd/loopfs";
- }
- my $dev = $part->{real_device} || $part->{device};
- mount($dev, $mntpoint, type2fs($part), $b_rdonly, $part->{options}, $o_wait_message);
- rmdir "$mntpoint/lost+found";
- }
- }
- $part->{isMounted} = $part->{isFormatted} = 1; #- assume that if mount works, partition is formatted
-}
-
-sub umount_part {
- my ($part, $o_prefix) = @_;
-
- $part->{isMounted} || $part->{real_mntpoint} or return;
-
- unless ($::testing) {
- if (isSwap($part)) {
- swap::swapoff($part->{device});
- } elsif (loopback::carryRootLoopback($part)) {
- umount("/initrd/loopfs");
- } else {
- umount(($o_prefix || '') . $part->{mntpoint} || devices::make($part->{device}));
- devices::del_loop(delete $part->{real_device}) if $part->{real_device};
- }
- }
- $part->{isMounted} = 0;
-}
-
-sub umount_all($;$) {
- my ($fstab, $prefix) = @_;
-
- log::l("unmounting all filesystems");
-
- foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} } @$fstab) {
- $_->{mntpoint} and umount_part($_, $prefix);
- }
-}
-
-################################################################################
# various functions
################################################################################
sub df {
@@ -859,13 +341,12 @@ sub df {
if ($part->{isMounted}) {
$dir = ($o_prefix || '') . $part->{mntpoint};
} elsif ($part->{notFormatted} && !$part->{isFormatted}) {
- return; #- won't even try!
+ return; #- will not even try!
} else {
mkdir_p($dir);
- eval { mount($part->{device}, $dir, type2fs($part), 'readonly') };
+ eval { fs::mount::mount(devices::make($part->{device}), $dir, $part->{fs_type}, 'readonly') };
if ($@) {
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
+ set_isFormatted($part, 0);
unlink $dir;
return;
}
@@ -873,21 +354,12 @@ sub df {
my (undef, $free) = MDK::Common::System::df($dir);
if (!$part->{isMounted}) {
- umount($dir);
- unlink($dir)
+ fs::mount::umount($dir);
+ unlink($dir);
}
$part->{free} = 2 * $free if defined $free;
$part->{free};
}
-sub up_mount_point {
- my ($mntpoint, $fstab) = @_;
- while (1) {
- $mntpoint = dirname($mntpoint);
- $mntpoint ne "." or return;
- $_->{mntpoint} eq $mntpoint and return $_ foreach @$fstab;
- }
-}
-
1;
diff --git a/perl-install/fs/any.pm b/perl-install/fs/any.pm
new file mode 100644
index 000000000..ce4de2ca3
--- /dev/null
+++ b/perl-install/fs/any.pm
@@ -0,0 +1,176 @@
+package fs::any;
+
+use diagnostics;
+use strict;
+
+use c;
+use common;
+use fsedit;
+use fs::get;
+use fs::mount_point;
+use fs::type;
+use run_program;
+
+sub get_hds {
+ my ($all_hds, $fstab, $manual_fstab, $partitioning_flags, $skip_mtab, $o_in) = @_;
+
+ my $probed_all_hds = fsedit::get_hds($partitioning_flags, $o_in);
+ my $hds = $probed_all_hds->{hds};
+
+ if (is_empty_array_ref($hds)) { #- no way
+ die N("An error occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem");
+ }
+
+ #- try to figure out if the same number of hds is available, use them if ok.
+ @{$all_hds->{hds} || []} == @$hds and return 1;
+
+ fs::get_raw_hds('', $probed_all_hds);
+ fs::add2all_hds($probed_all_hds, @$manual_fstab);
+
+ %$all_hds = %$probed_all_hds;
+ @$fstab = fs::get::really_all_fstab($all_hds);
+
+ if (!$skip_mtab) {
+ #- do not mount the windows partition
+ fs::merge_info_from_mtab($fstab);
+ fs::mount_point::suggest_mount_points_always($fstab);
+ }
+
+ 1;
+}
+
+sub write_hds {
+ my ($all_hds, $fstab, $set_mount_defaults, $on_reboot_needed, $opts) = @_;
+ if (!$::testing) {
+ my $hds = $all_hds->{hds};
+ partition_table::write($_) foreach @$hds;
+ $_->{rebootNeeded} and $on_reboot_needed->() foreach @$hds;
+ }
+
+ fs::set_removable_mntpoints($all_hds);
+ fs::mount_options::set_all_default($all_hds, %$opts, lang::fs_options($opts->{locale}))
+ if $set_mount_defaults;
+
+ @$fstab = fs::get::fstab($all_hds);
+}
+
+sub set_cdrom_symlink {
+ my ($raw_hds) = @_;
+
+ foreach (grep { $_->{media_type} eq 'cdrom' } @$raw_hds) {
+ next if $_->{device_alias};
+ my $alias = basename($_->{mntpoint}) or next;
+ log::l("using alias $alias for $_->{device}");
+ $_->{device_alias} = $alias;
+ symlink($_->{device}, "/dev/$alias");
+ }
+}
+
+sub check_hds_boot_and_root {
+ my ($all_hds, $fstab, $isUpgrade, $o_match_all_hardware) = @_;
+ fs::get::root_($fstab) or die "Oops, no root partition";
+
+ return if $o_match_all_hardware || $::local_install;
+
+ if (is_uefi()) {
+ if (!fs::get::has_mntpoint("/boot/EFI", $all_hds)) {
+ die N("You must have a ESP FAT32 partition mounted in /boot/EFI");
+ }
+ } else {
+ # if we are doing an upgrade, the user may still be using a legacy bootloader
+ return if $isUpgrade;
+ if (is_boot_bios_part_needed($all_hds)) {
+ die N("You must have a BIOS boot partition for non-UEFI GPT-partitioned disks. Please create one before continuing.");
+ }
+ }
+}
+
+sub create_minimal_files() {
+ mkdir "$::prefix/$_", 0755 foreach
+ qw(dev etc etc/profile.d etc/rpm etc/sysconfig etc/sysconfig/console
+ etc/sysconfig/network-scripts etc/sysconfig/console/consolefonts
+ etc/sysconfig/console/consoletrans
+ home mnt run tmp var var/tmp var/lib var/lib/rpm var/lib/urpmi);
+ mkdir "$::prefix/$_", 0700 foreach qw(root root/tmp root/drakx);
+}
+
+sub prepare_minimal_root() {
+
+ create_minimal_files();
+
+ # ensure we've all needed devices, for bootloader install and mkinitrd:
+ run_program::run('mount', '--bind', '/dev', "$::prefix/dev");
+ run_program::run('mount', '--bind', '/run', "$::prefix/run");
+ eval { fs::mount::mount('none', "$::prefix/proc", 'proc') };
+ eval { fs::mount::mount('none', "$::prefix/sys", 'sysfs') };
+ eval { fs::mount::sys_kernel_debug($::prefix) };
+}
+
+sub getNeededMinSpace {
+ my ($n) = @_;
+
+ #- make sure of this place to be available for installation, this could help a lot.
+ #- currently doing a very small install use 36Mb of postinstall-rpm, but installing
+ #- these packages may eat up to 90Mb (of course not all the server may be installed!).
+ #- 65mb may be a good choice to avoid almost all problem of insuficient space left...
+ my $minAvailableSize = 65 * sqr(1024);
+
+ max(0.1 * $n, $minAvailableSize);
+}
+
+sub getAvailableSpace {
+ my ($fstab, $o_skip_mounted, $o_skip_min_space) = @_;
+
+ my $n = !$::testing && !$o_skip_mounted && getAvailableSpace_mounted($::prefix) ||
+ getAvailableSpace_raw($fstab) * 512 / 1.07;
+ $o_skip_min_space ? $n : $n - getNeededMinSpace($n);
+}
+
+sub getAvailableSpace_mounted {
+ my ($prefix) = @_;
+ my $dir = -d "$prefix/usr" ? "$prefix/usr" : $prefix;
+ my (undef, $free) = MDK::Common::System::df($dir) or return;
+ log::l("getAvailableSpace_mounted $free KB");
+ $free * 1024 || 1;
+}
+sub getAvailableSpace_raw {
+ my ($fstab) = @_;
+
+ do { $_->{mntpoint} eq '/usr' and return $_->{size} } foreach @$fstab;
+ do { $_->{mntpoint} eq '/' and return $_->{size} } foreach @$fstab;
+
+ if ($::testing) {
+ my $nb = 450;
+ log::l("taking ${nb}MB for testing");
+ return MB($nb);
+ }
+ die "missing root partition";
+}
+
+=head3 is_boot_bios_part_needed($all_hds)
+
+Returns whether a Boot BIOS Partition is needed
+
+Returns true if all of the following are true:
+ - legacy boot (not UEFI)
+ - all disks are (or will be) GPT
+ - no disks have a BIOS boot partition
+
+=cut
+
+sub is_boot_bios_part_needed {
+ my ($all_hds) = @_;
+ # never needed for UEFI boot
+ return if is_uefi();
+ # do we already have one?
+ my @parts = map { partition_table::get_normal_parts($_) } fs::get::hds($all_hds);
+ return if any { isBIOS_GRUB($_) } @parts;
+ # do we have any non-GPT disks?
+ foreach my $hd (@{$all_hds->{hds}}) {
+ my $type = $hd->{pt_table_type} || partition_table::default_type($hd);
+ return if $type ne 'gpt';
+ }
+ 1;
+}
+
+1;
diff --git a/perl-install/fs/dmcrypt.pm b/perl-install/fs/dmcrypt.pm
new file mode 100644
index 000000000..a78a495d1
--- /dev/null
+++ b/perl-install/fs/dmcrypt.pm
@@ -0,0 +1,216 @@
+package fs::dmcrypt;
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use fs::type;
+use fs::get;
+use run_program;
+
+=head1 SYNOPSYS
+
+Manage encrypted file systems using cryptsetup
+
+=head1 Functions
+
+=over
+
+=cut
+
+sub _crypttab() { "$::prefix/etc/crypttab" }
+
+=item init()
+
+Load kernel modules and init device mapper.
+
+=cut
+
+sub init() {
+ whereis_binary('cryptsetup') or die "cryptsetup not installed";
+
+ eval { modules::load('dm-crypt', list_modules::category2modules('various/crypto')) };
+ devices::init_device_mapper();
+ 1;
+}
+my $initialized;
+sub _ensure_initialized() {
+ $initialized++ or init();
+}
+
+sub read_crypttab_ {
+ my ($all_hds, $crypttab) = @_;
+
+ -e $crypttab or return;
+
+ my @raw_parts = grep { fs::type::isRawLUKS($_) } fs::get::really_all_fstab($all_hds);
+
+ foreach (cat_($crypttab)) {
+ next if /^#/;
+ my ($dm_name, $dev) = split;
+
+ my $raw_part = fs::get::device2part($dev, \@raw_parts)
+ or log::l("crypttab: unknown device $dev for $dm_name"), next;
+
+ $raw_part->{dm_name} = $dm_name;
+ _get_existing_one_with_state($raw_part);
+ }
+}
+
+=item read_crypttab($all_hds)
+
+Read /etc/crypttab
+
+=cut
+
+sub read_crypttab {
+ my ($all_hds) = @_;
+ read_crypttab_($all_hds, _crypttab());
+}
+
+sub save_crypttab_ {
+ my ($all_hds, $crypttab) = @_;
+
+ my @raw_parts = grep { $_->{dm_name} } fs::get::really_all_fstab($all_hds) or return;
+
+ my %names = map { $_->{dm_name} => fs::wild_device::from_part('', $_) } @raw_parts;
+
+ substInFile {
+ my ($name, $_dev) = split;
+ if (my $new_dev = delete $names{$name}) {
+ $_ = "$name $new_dev\n";
+ }
+ if (eof) {
+ $_ .= join('', map { "$_ $names{$_}\n" } sort keys %names);
+ }
+ } $crypttab;
+}
+
+=item save_crypttab($all_hds)
+
+Save /etc/crypttab
+
+=cut
+
+sub save_crypttab {
+ my ($all_hds) = @_;
+ save_crypttab_($all_hds, _crypttab());
+}
+
+sub format_part {
+ my ($part) = @_;
+
+ my $tmp_key_file = "/tmp/.dmcrypt_key-$$";
+ common::with_private_tmp_file($tmp_key_file, $part->{dmcrypt_key}, sub {
+ _run_or_die('--cipher=aes-xts-benbi', '--key-size=512', 'luksFormat', '--batch-mode', devices::make($part->{device}), $_[0]);
+ });
+ fs::format::after_formatting($part);
+}
+
+sub open_part {
+ my ($dmcrypts, $part) = @_;
+
+ my $tmp_key_file = "/tmp/.dmcrypt_key-$$";
+ common::with_private_tmp_file($tmp_key_file, $part->{dmcrypt_key}, sub {
+ _run_or_die('luksOpen', devices::make($part->{device}),
+ $part->{dm_name}, '--key-file', $_[0]);
+ });
+ run_program::run('udevadm', 'settle');
+
+ push @$dmcrypts, _get_existing_one_with_state($part);
+}
+
+
+sub _get_existing_one_with_state {
+ my ($part) = @_;
+ my $active_dmcrypt = _parse_dmsetup_table($part->{dm_name},
+ run_program::get_stdout('dmsetup', 'table', $part->{dm_name}));
+ _get_existing_one([$part], $active_dmcrypt);
+}
+
+sub close_part {
+ my ($dmcrypts, $part) = @_;
+ my $dm_part = fs::get::device2part("mapper/$part->{dm_name}", $dmcrypts);
+ _run_or_die('luksClose', devices::make($dm_part->{device}));
+ $part->{dm_active} = 0;
+ @$dmcrypts = grep { $_ != $dm_part } @$dmcrypts;
+ # remove partition from /etc/crypttab when deleted (mga#25891)
+ substInFile {
+ my ($name, $_dev) = split;
+ undef $_ if $name eq $part->{dm_name};
+ } _crypttab();
+}
+
+sub _run_or_die {
+ my ($command, @para) = @_;
+
+ _ensure_initialized();
+
+ run_program::run_or_die('cryptsetup', $command, @para);
+}
+
+sub get_existing {
+ my $fstab = \@_;
+ map { _get_existing_one($fstab, $_) } active_dmcrypts();
+}
+
+sub _get_existing_one {
+ my ($fstab, $active_dmcrypt) = @_;
+
+ my $p = fs::wild_device::to_subpart("/dev/mapper/$active_dmcrypt->{name}");
+
+ my $part = { device => "mapper/$active_dmcrypt->{name}", size => $active_dmcrypt->{size},
+ options => 'noatime', dmcrypt_name => $active_dmcrypt->{name},
+ major => $p->{major}, minor => $p->{minor} };
+
+ if (my $raw_part = find { fs::get::is_same_hd($active_dmcrypt, $_) } @$fstab) {
+ $part->{rootDevice} = $raw_part->{device};
+ $raw_part->{dm_name} = $active_dmcrypt->{name};
+ $raw_part->{dm_active} = 1;
+ } else {
+ log::l("could not find the device $active_dmcrypt->{major}:$active_dmcrypt->{minor} for $part->{device}");
+ }
+
+ if (my $type = fs::type::type_subpart_from_magic($part)) {
+ put_in_hash($part, $type);
+ }
+ fs::type::set_isFormatted($part, to_bool($part->{fs_type}));
+
+ unless (fs::type::cannotBeMountable($part)) {
+ $part->{fs_type} or fs::type::set_fs_type($part, defaultFS());
+ }
+
+ log::l("dmcrypt: found $part->{device} type $part->{fs_type} with rootDevice $part->{rootDevice}");
+
+ $part;
+}
+
+sub active_dmcrypts() {
+ grep { $_->{type} eq 'crypt' } active_dm();
+}
+
+sub _parse_dmsetup_table {
+ my ($name, $s) = @_;
+
+ my @l = split(' ', $s);
+ my ($major, $minor) = split(':', $l[6]);
+ { name => $name, size => $l[1], type => $l[2], major => $major, minor => $minor };
+}
+
+sub active_dm() {
+ run_program::run('udevadm', 'settle');
+
+ map {
+ my $name = s/(.*?):\s*// && $1;
+ _parse_dmsetup_table($name, $_);
+ } run_program::get_stdout('dmsetup', 'table');
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/fs/dmraid.pm b/perl-install/fs/dmraid.pm
new file mode 100644
index 000000000..7a279abc7
--- /dev/null
+++ b/perl-install/fs/dmraid.pm
@@ -0,0 +1,311 @@
+package fs::dmraid;
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use modules;
+use devices;
+use fs::type;
+use fs::wild_device;
+use run_program;
+
+
+=head1 SYNOPSYS
+
+Manage fake RAIDs using dmraid
+
+=head1 Functions
+
+=over
+
+=item init()
+
+Load kernel modules, init device mapper then scan for fake RAIDs.
+
+=cut
+
+sub init() {
+ whereis_binary('dmraid') or die "dmraid not installed";
+
+ eval { modules::load('dm-mirror', 'dm-zero') };
+ devices::init_device_mapper();
+ if ($::isInstall) {
+ foreach my $name (call_dmraid('-s', '-c', '-i')) {
+ chomp($name);
+ log::l("got: $name");
+ call_dmraid('-ay', '-i', '--rm_partitions', '-p', $name);
+ run_program::run('/sbin/kpartx', '-u', '-a', '/dev/mapper/' . $name);
+ }
+ }
+ 1;
+}
+
+=item call_dmraid($option, @args)
+
+Runs dmraid with $option & @args.
+It is overloaded when debugging, see the end of this file.
+
+=cut
+
+sub call_dmraid {
+ my ($option, @args) = @_;
+ run_program::get_stdout('dmraid', $option, @args);
+}
+
+=item check($in)
+
+Ensures dmraid is installed. If yes, calls init().
+
+=cut
+
+sub check {
+ my ($in) = @_;
+
+ $in->do_pkgs->ensure_binary_is_installed('dmraid', 'dmraid') or return;
+ init();
+ 1;
+}
+
+=item _raid_devices_raw()
+
+Get the real VG names, needed for ddf1, and safer than begins_with for raid10
+
+=cut
+
+sub _raid_devices_raw() {
+ log::l("_raid_devices_raw");
+ my %vgs;
+ my %pv2vg = map {
+ chomp();
+ log::l("got: $_");
+ my %l; @l{qw(name size stride level status subsets devs spares)} = split(':');
+ $vgs{$l{name}} = 1 if defined $l{spares};
+ if (/freeing device "(.*)", path "(.*)"/ && defined $vgs{$1}) {
+ log::l("$2 => $1");
+ $2 => $1;
+ }
+ } call_dmraid(qw(-d -s -c -c));
+
+ map {
+ chomp;
+ log::l("got: $_");
+ my %l; @l{qw(pv format vg level status size)} = split(':');
+ if (defined $l{size} && defined $l{vg} && defined $pv2vg{$l{pv}} && !defined $vgs{$l{vg}}) {
+ log::l("using $pv2vg{$l{pv}} instead of $l{vg}");
+ $l{vg} = $pv2vg{$l{pv}};
+ }
+ if_(defined $l{size}, \%l);
+ } call_dmraid(qw(-r -c -c));
+}
+
+sub _raid_devices() {
+ my @l = _raid_devices_raw();
+ my %vg2pv; push @{$vg2pv{$_->{vg}}}, delete $_->{pv} foreach @l;
+ my %vg2status; push @{$vg2status{$_->{vg}}}, delete $_->{status} foreach @l;
+ map {
+ delete $_->{size}; #- now irrelevant
+ $_->{disks} = $vg2pv{$_->{vg}};
+ $_->{status} = (every { $_ eq 'ok' } @{$vg2status{$_->{vg}}}) ? 'ok' : join(' ', @{$vg2status{$_->{vg}}});
+ $_;
+ } uniq_ { $_->{vg} } @l;
+}
+
+sub _sets_raw() {
+ map {
+ chomp;
+ log::l("got: $_");
+ my %l; @l{qw(name size stride level status subsets devs spares)} = split(':');
+ if_(defined $l{spares}, \%l);
+ } call_dmraid('-s', '-c', '-c');
+}
+
+sub _sets() {
+ my @sets = _sets_raw();
+ my @raid_devices = _raid_devices();
+ foreach (@sets) {
+ my $name = $_->{name};
+ my @l = grep { begins_with($name, $_->{vg}) } @raid_devices;
+ log::l("ERROR: multiple match for set $name: " . join(' ', map { $_->{vg} } @l)) if @l > 1;
+
+ @l = grep { begins_with($_->{vg}, $name) } @raid_devices if !@l;
+
+ if (@l) {
+ foreach my $raid (@l) {
+ push @{$_->{disks}}, @{$raid->{disks}};
+ add2hash($_, $raid);
+ $_->{status} = $raid->{status} if $_->{status} eq 'ok' && $::isInstall;
+ }
+ } else {
+ log::l("ERROR: no matching raid devices for set $name");
+ }
+ }
+ @sets;
+}
+
+=item vgs()
+
+Returns the list of VGs corresponding to dmraid
+
+=cut
+
+sub vgs() {
+ map {
+ my $dev = "mapper/$_->{name}";
+ my $vg = fs::wild_device::to_subpart("/dev/$dev");
+ add2hash($vg, { media_type => 'hd', bus => "dmraid_$_->{format}", disks => $_->{disks} });
+
+ #- device should exist, created by dmraid(8) using libdevmapper
+ #- if it doesn't, we suppose it's not in use
+ if (-e "/dev/$dev") {
+ $vg;
+ } else {
+ log::l("ignoring $dev as /dev/$dev doesn't exist");
+ ();
+ }
+
+ } grep {
+ if ($_->{status} eq 'ok') {
+ 1;
+ } else {
+ call_dmraid('-an', $_->{vg}) if $::isInstall; #- for things like bad_sil below, deactivating half activated dmraid
+ 0;
+ }
+ } _sets();
+}
+
+=item migrate_device_names ($vg)
+
+Handles migration from /dev/mapper/xxx1 to /dev/mapper/xxxp1, as used by initrd/nash.
+dmraid has been patched to follow xxxp1 device names.
+So until the box has rebooted on new initrd/dmraid, we must cope with /dev/mapper/xxx1 device names
+(cf mdk#44182)
+
+=cut
+
+sub migrate_device_names {
+ my ($vg) = @_;
+
+ my $dev_name = basename($vg->{device});
+ foreach (all('/dev/mapper')) {
+ my ($nb) = /^\Q$dev_name\E(\d+)$/ or next;
+ my $new = $dev_name . 'p' . $nb;
+ if (! -e "/dev/mapper/$new") {
+ log::l("migrating to $new, creating a compat symlink $_");
+ rename "/dev/mapper/$_", "/dev/mapper/$new";
+ symlink $new, "/dev/mapper/$_";
+ }
+ }
+}
+
+=back
+
+=head1 Debugging
+
+If $ENV{DRAKX_DEBUG_DMRAID} is set, debugging dmraid is done.
+The C<call_dmraid()> function is overloaded and will spit out warnings.
+=cut
+
+if ($ENV{DRAKX_DEBUG_DMRAID}) {
+ eval(<<'EOF');
+ my %debug_data = (
+
+ isw => {
+
+ # dmraid -s ####################
+ # *** Group superset isw_ffafgbdhi
+ # --> Active Subset
+ # name : isw_ffafgbdhi_toto
+ # size : 234441216
+ # stride : 256
+ # type : mirror
+ # status : ok
+ # subsets: 0
+ # devs : 2
+ # spares : 0
+
+ '-s' => "isw_ffafgbdhi_toto:234441216:256:mirror:ok:0:2:0\n",
+
+ # dmraid -r ####################
+ #/dev/sda: isw, "isw_ffafgbdhi", GROUP, ok, 488397166 sectors, data@ 0
+ #/dev/sdb: isw, "isw_ffafgbdhi", GROUP, ok, 234441646 sectors, data@ 0
+
+ '-r' => "/dev/sda:isw:isw_ffafgbdhi:GROUP:ok:488397166:0\n" .
+ "/dev/sdb:isw:isw_ffafgbdhi:GROUP:ok:234441646:0\n",
+ },
+
+ pdc => {
+ # dmraid -s ####################
+ # *** Active Set
+ # name : pdc_bcefbiigfg
+ # size : 80043200
+ # stride : 128
+ # type : mirror
+ # status : ok
+ # subsets: 0
+ # devs : 2
+ # spares : 0
+
+ '-s' => "pdc_bcefbiigfg:80043200:128:mirror:ok:0:2:0\n",
+
+ # dmraid -r ####################
+ # /dev/sda: pdc, "pdc_bcefbiigfg", mirror, ok, 80043200 sectors, data@ 0
+ # /dev/sdb: pdc, "pdc_bcefbiigfg", mirror, ok, 80043200 sectors, data@ 0
+
+ '-r' => "/dev/sda:pdc:pdc_bcefbiigfg:mirror:ok:80043200:0\n" .
+ "/dev/sdb:pdc:pdc_bcefbiigfg:mirror:ok:80043200:0\n",
+ },
+
+ bad_sil => {
+ '-s' => "sil_aeacdidecbcb:234439600:0:mirror:ok:0:1:0\n",
+ # ERROR: sil: only 3/4 metadata areas found on /dev/sdb, electing...
+
+ '-r' => "/dev/sdb:sil:sil_aeacdidecbcb:mirror:broken:234439600:0\n",
+ # ERROR: sil: only 3/4 metadata areas found on /dev/sdb, electing...
+ },
+
+ weird_nvidia => {
+ '-s' => <<'EO',
+/dev/sda: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sdb: "sil" and "nvidia" formats discovered (using nvidia)!
+nvidia_bcjdbjfa:586114702:128:mirror:ok:0:2:0
+EO
+ '-r' => <<'EO',
+/dev/sda: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sdb: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sda:nvidia:nvidia_bcjdbjfa:mirror:ok:586114702:0
+/dev/sdb:nvidia:nvidia_bcjdbjfa:mirror:ok:586114702:0
+EO
+ # ERROR: multiple match for set nvidia_bcjdbjfa: nvidia_bcjdbjfa
+ },
+
+ nvidia_with_subsets => {
+ '-s' => <<'EO',
+nvidia_bfcciffh:625163520:128:raid10:ok:2:4:0
+EO
+ '-r' => <<'EO',
+/dev/sda:nvidia:nvidia_bfcciffh-0:stripe:ok:312581806:0
+/dev/sdb:nvidia:nvidia_bfcciffh-0:stripe:ok:312581806:0
+/dev/sdc:nvidia:nvidia_bfcciffh-1:stripe:ok:312581806:0
+/dev/sdd:nvidia:nvidia_bfcciffh-1:stripe:ok:312581806:0
+EO
+ # ERROR: multiple match for set nvidia_bcjdbjfa: nvidia_bcjdbjfa
+ },
+ );
+
+ *call_dmraid = sub {
+ my ($option, @args) = @_;
+ if (my $s = $debug_data{$ENV{DRAKX_DEBUG_DMRAID}}{$option}) {
+ split("\n", $s);
+ } else {
+ warn "dmraid $option @args\n";
+ }
+ };
+EOF
+ $@ and die;
+}
+
+1;
diff --git a/perl-install/fs/format.pm b/perl-install/fs/format.pm
new file mode 100644
index 000000000..1fa90c29e
--- /dev/null
+++ b/perl-install/fs/format.pm
@@ -0,0 +1,435 @@
+package fs::format;
+
+use diagnostics;
+use strict;
+use String::ShellQuote;
+
+use run_program;
+use common;
+use fs::type;
+use fs::loopback;
+use log;
+
+=head1 SYNOPSYS
+
+B<fs::format> enables to format filesystems.
+
+=head1 Variables
+
+=over
+
+=item %cmds
+
+Commands to format filesystem:
+
+For each filesystem, list: [ package_name, command_to_use, options_to_use ]
+
+=cut
+
+my %cmds = (
+ ext2 => [ 'e2fsprogs', 'mkfs.ext2', '-F' ],
+ ext3 => [ 'e2fsprogs', 'mkfs.ext3', '-F' ],
+ ext4 => [ 'e2fsprogs', 'mkfs.ext4', '-F' ],
+ f2fs => [ 'f2fs-tools', 'mkfs.f2fs', '-f' ],
+ reiserfs => [ 'reiserfsprogs', 'mkfs.reiserfs', '-ff' ],
+ xfs => [ 'xfsprogs', 'mkfs.xfs', '-f', '-q' ],
+ jfs => [ 'jfsutils', 'mkfs.jfs', '-f' ],
+ hfs => [ 'hfsutils', 'hformat' ],
+ dos => [ 'dosfstools', 'mkfs.fat' ],
+ vfat => [ 'dosfstools', 'mkfs.fat', '-F', '32' ],
+ exfat => [ 'exfatprogs', 'mkfs.exfat' ],
+ swap => [ 'util-linux', 'mkswap' ],
+ ntfs => [ 'ntfs-3g', 'mkfs.ntfs', '--fast' ],
+ 'ntfs-3g' => [ 'ntfs-3g', 'mkfs.ntfs', '--fast' ],
+ btrfs => [ 'btrfs-progs', 'mkfs.btrfs', '-f' ],
+ nilfs2 => [ 'nilfs-utils', 'mkfs.nilfs2', '-f' ],
+);
+
+
+=item %LABELs
+
+mkfs option to use in order to set the label + label specs.
+
+For each filesystem, list: [ option, max_length, handled_by_mount ]
+
+=cut
+
+my %LABELs = (
+ ext2 => [ '-L', 16, 1 ],
+ ext3 => [ '-L', 16, 1 ],
+ ext4 => [ '-L', 16, 1 ],
+ exfat => [ '-L', 16, 1 ],
+ f2fs => [ '-l', 16, 1 ],
+ reiserfs => [ '-l', 16, 1 ],
+ xfs => [ '-L', 12, 1 ],
+ jfs => [ '-L', 16, 1 ],
+ hfs => [ '-l', 27, 0 ],
+ dos => [ '-n', 11, 0 ],
+ vfat => [ '-n', 11, 0 ],
+ swap => [ '-L', 15, 1 ],
+ ntfs => [ '-L', 128, 0 ],
+ 'ntfs-3g' => [ '-L', 128, 0 ],
+ btrfs => [ '-L', 256, 1 ],
+ nilfs2 => [ '-L', 16, 1 ],
+);
+
+=item %edit_LABEL
+
+Commands to set the file system label.
+
+For each filesystem, list: [ package, command, option ]
+
+If option is defined, run <command> <option> <label> <device>
+
+If no option, run <command> <device> <label>
+
+=cut
+
+my %edit_LABEL = ( #
+ ext2 => [ 'e2fsprogs', 'tune2fs', '-L' ],
+ ext3 => [ 'e2fsprogs', 'tune2fs', '-L' ],
+ ext4 => [ 'e2fsprogs', 'tune2fs', '-L' ],
+ reiserfs => [ 'reiserfsprogs', 'reiserfstune', '-l' ],
+ xfs => [ 'xfsprogs', 'xfs_admin', '-L' ],
+ jfs => [ 'jfsutils', 'jfs_tune', '-L' ],
+# hfs
+ dos => [ 'mtools', 'mlabel', '-i' ],
+ exfat => [ 'exfatprogs', 'tune.exfat', '-L' ],
+ vfat => [ 'mtools', 'mlabel', '-i' ],
+ swap => [ 'util-linux', 'swaplabel', '-L' ],
+ ntfs => [ 'ntfs-3g', 'ntfslabel' ],
+ 'ntfs-3g' => [ 'ntfs-3g', 'ntfslabel' ],
+ btrfs => [ 'btrfs-progs', 'btrfs', 'filesystem', 'label' ],
+ nilfs2 => [ 'nilfs-utils', 'nilfs-tune', '-L' ],
+);
+
+=item %preserve_UUID
+
+For each filesystem, list: [ option, max_length, handled_by_mount ]
+
+Those are used in order to preserve UUID on fs where we couldn't enforce it while formatting.
+
+=cut
+
+my %preserve_UUID = ( # package, command
+ jfs => [ 'jfsutils', 'jfs_tune', ],
+ xfs => [ 'xfsprogs', 'xfs_admin' ],
+ nilfs2 => [ 'nilfs-utils', 'nilfs-tune' ],
+);
+
+
+=back
+
+=head1 Functions
+
+=over
+
+=item package_needed_for_partition_type($part)
+
+Return the package needed for that partition's type.
+
+=cut
+
+sub package_needed_for_partition_type {
+ my ($part) = @_;
+ my $l = $cmds{$part->{fs_type}} or return;
+ $l->[0];
+}
+
+sub known_type {
+ my ($part) = @_;
+ to_bool($cmds{$part->{fs_type}});
+}
+
+sub check_package_is_installed_format {
+ my ($do_pkgs, $fs_type) = @_;
+
+ my ($pkg, $binary) = @{$cmds{$fs_type} || return};
+ whereis_binary($binary) || $do_pkgs->ensure_binary_is_installed($pkg, $binary); #- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mageia One)
+}
+
+sub check_package_is_installed_label {
+ my ($do_pkgs, $fs_type) = @_;
+
+ my ($pkg, $binary) = @{$edit_LABEL{$fs_type} || return};
+ whereis_binary($binary) || $do_pkgs->ensure_binary_is_installed($pkg, $binary); #- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mageia One)
+}
+
+sub canEditLabel {
+ my ($part) = @_;
+ to_bool($edit_LABEL{$part->{fs_type}});
+}
+
+=item part($all_hds, $part, $wait_message)
+
+Frontend to part_raw()
+
+=cut
+
+sub part {
+ my ($all_hds, $part, $wait_message) = @_;
+ if (isRAID($part)) {
+ $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
+ require raid;
+ raid::format_part($all_hds->{raids}, $part);
+ } elsif (isLoopback($part)) {
+ $wait_message->(N("Creating and formatting file %s", $part->{loopback_file})) if $wait_message;
+ fs::loopback::format_part($part);
+ } else {
+ $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
+ part_raw($part, $wait_message);
+ }
+ undef $part->{toFormat};
+}
+
+=item write_label($part)
+
+Set the label on the filesystem hold in $part.
+
+=cut
+
+sub write_label {
+ my ($part) = @_;
+
+ $part->{device_LABEL_changed} or return;
+ maybeFormatted($part) or return;
+
+ if ($part->{encrypt_key}) {
+ fs::mount::set_loop($part);
+ }
+
+ my $dev = $part->{real_device} || $part->{device};
+ my ($_pkg, $cmd, @first_options) = @{$edit_LABEL{$part->{fs_type}} || die N("I do not know how to set label on %s with type %s", $part->{device}, $part->{fs_type})};
+ my @args;
+ if ($cmd eq 'mlabel') {
+ @args = ($cmd, @first_options, devices::make($dev), '::' . $part->{device_LABEL});
+ } elsif ($cmd eq 'btrfs') {
+ # btrfs needs reverse ordering
+ @args = ($cmd, @first_options, devices::make($dev), $part->{device_LABEL});
+ } elsif (defined $first_options[0]) {
+ @args = ($cmd, @first_options, $part->{device_LABEL}, devices::make($dev));
+ } else {
+ @args = ($cmd, devices::make($dev), $part->{device_LABEL});
+ }
+ run_program::raw({ timeout => 'never' }, @args) or die N("setting label on %s failed, is it formatted?", $dev);
+ delete $part->{device_LABEL_changed};
+}
+
+sub write_btrfs_uuid {
+ my ($UUID, $dev) = @_;
+ $dev = devices::make($dev);
+ my $status = system("echo y|btrfstune -U $UUID $dev") == 0;
+ die "failed to set UUID to '$UUID' on $dev (status=$status)" if !$status;
+}
+
+=item sub option_to_preserve_UUID_while_formating($part, $fs_type)
+
+Return the options needed to preserve UUID while formating
+
+=cut
+
+sub option_to_preserve_UUID_while_formating {
+ my ($part, $fs_type) = @_;
+ if (member($fs_type, qw(swap ext2 ext3 ext4))) {
+ return '-U', $part->{device_UUID} if $part->{device_UUID};
+ } elsif ($fs_type eq 'reiserfs') {
+ return '-u', $part->{device_UUID} if $part->{device_UUID};
+ }
+ return ();
+}
+
+=item part_raw($part, $wait_message)
+
+Actually format the $part partition disk. $wait_message is only used when formating ext3/4.
+If not set, ext[3-4] will be formated without any progression bar, like other fses...
+
+=cut
+
+sub part_raw {
+ my ($part, $wait_message) = @_;
+
+ $part->{isFormatted} and return;
+
+ if ($part->{encrypt_key}) {
+ fs::mount::set_loop($part);
+ }
+
+ my $dev = $part->{real_device} || $part->{device};
+
+ my @options = if_($part->{toFormatCheck}, "-c");
+ log::l("formatting device $dev (type $part->{fs_type})");
+
+ my $fs_type = $part->{fs_type};
+
+ if (member($fs_type, qw(ext2 ext3 ext4))) {
+ push @options, "-m", "0" if $part->{mntpoint} =~ m|^/home|;
+ } elsif (isDos($part)) {
+ $fs_type = 'dos';
+ } elsif ($fs_type eq 'hfs') {
+ push @options, '-l', "Untitled";
+ } elsif (isAppleBootstrap($part)) {
+ push @options, '-l', 'bootstrap';
+ }
+
+ push @options, option_to_preserve_UUID_while_formating($part, $fs_type);
+
+ if ($part->{device_LABEL}) {
+ push @options, @{$LABELs{$fs_type}}[0], $part->{device_LABEL};
+ }
+
+ my ($_pkg, $cmd, @first_options) = @{$cmds{$fs_type} || die N("I do not know how to format %s in type %s", $part->{device}, $part->{fs_type})};
+
+ my @args = ($cmd, @first_options, @options, devices::make($dev));
+
+ if ($cmd =~ /^mkfs.ext[34]$/ && $wait_message) {
+ mkfs_ext3($wait_message, @args) or die N("%s formatting of %s failed", $fs_type, $dev);
+ } else {
+ run_program::raw({ timeout => 'never' }, @args) or die N("%s formatting of %s failed", $fs_type, $dev);
+ }
+
+ delete $part->{device_LABEL_changed};
+
+ preserve_UUID_after_format($dev, $part, $fs_type);
+
+ if (member($fs_type, qw(ext3 ext4))) {
+ disable_forced_fsck($dev);
+ }
+
+ after_formatting($part);
+}
+
+=item preserve_UUID_after_format($dev, $part, $fs_type)
+
+Preserve UUID on fs where we couldn't enforce it while formatting
+
+=cut
+
+sub preserve_UUID_after_format {
+ my ($dev, $part, $fs_type) = @_;
+ if (my $uuid_cmd = $preserve_UUID{$fs_type}) {
+ my (undef, $cmd) = @$uuid_cmd;
+ run_program::raw({}, $cmd, '-U', $part->{device_UUID}, devices::make($dev)) if $cmd;
+ } elsif ($fs_type eq 'btrfs' && $part->{device_UUID}) {
+ write_btrfs_uuid($part->{device_UUID}, $dev);
+ }
+}
+
+=item after_formatting($part)
+
+Misc post formating tags (rereading UUID & setting state)
+
+=cut
+
+sub after_formatting {
+ my ($part) = @_;
+
+ my $p = fs::type::type_subpart_from_magic($part);
+ $part->{device_UUID} = $p && $p->{device_UUID};
+
+ set_isFormatted($part, 1);
+}
+
+=item mkfs_ext3($wait_message, @args)
+
+Display a progression bar whike formating ext3/4
+
+=cut
+
+sub mkfs_ext3 {
+ my ($wait_message, @args) = @_;
+
+ my $cmd = shell_quote_best_effort(@args);
+ log::l("running: $cmd");
+ open(my $F, "$cmd |");
+
+ local $/ = "\b";
+ local $_;
+ while (<$F>) {
+ #- even if it still takes some time when format is over, we don't want the progress bar to stay at 85%
+ $wait_message->('', $1, $2) if m!^\s*(\d+)/(\d+)\b!;
+ }
+ return close($F);
+}
+
+=item disable_forced_fsck($dev)
+
+Disable automatic fsck on extX (infinite number of mounts & duration between 2 fsck runs)
+
+=cut
+
+sub disable_forced_fsck {
+ my ($dev) = @_;
+ run_program::run("tune2fs", "-c0", "-i0", devices::make($dev));
+}
+
+sub clean_label {
+ my ($part) = @_;
+ if ($part->{device_LABEL}) {
+ my $fs_type = $part->{fs_type};
+ if ($LABELs{$fs_type}) {
+ my ($_option, $length, $handled_by_mount) = @{$LABELs{$fs_type}};
+ if (length $part->{device_LABEL} > $length) {
+ my $short = substr($part->{device_LABEL}, 0, $length);
+ log::l("shortening LABEL $part->{device_LABEL} to $short");
+ $part->{device_LABEL} = $short;
+ }
+ delete $part->{prefer_device_LABEL}
+ if !$handled_by_mount || $part->{mntpoint} eq '/' && !member($fs_type, qw(ext2 ext3 ext4));
+ } else {
+ log::l("dropping LABEL=$part->{device_LABEL} since we don't know how to set labels for fs_type $fs_type");
+ delete $part->{device_LABEL};
+ delete $part->{prefer_device_LABEL};
+ delete $part->{device_LABEL_changed};
+ }
+ }
+}
+
+sub formatMount_part {
+ my ($part, $all_hds, $fstab, $wait_message) = @_;
+
+ if (isLoopback($part)) {
+ formatMount_part($part->{loopback_device}, $all_hds, $fstab, $wait_message);
+ }
+ if (my $p = fs::get::up_mount_point($part->{mntpoint}, $fstab)) {
+ formatMount_part($p, $all_hds, $fstab, $wait_message) if !fs::type::carry_root_loopback($part);
+ }
+
+ clean_label($part);
+
+ if ($part->{toFormat}) {
+ fs::format::part($all_hds, $part, $wait_message);
+ } else {
+ fs::format::write_label($part);
+ }
+
+ #- setting user_xattr on /home (or "/" if no /home)
+ if (!$part->{isMounted} && member($part->{fs_type}, qw(ext2 ext3 ext4))
+ && ($part->{mntpoint} eq '/home' ||
+ !fs::get::has_mntpoint('/home', $all_hds) && $part->{mntpoint} eq '/')) {
+ run_program::run('tune2fs', '-o', 'user_xattr', devices::make($part->{real_device} || $part->{device}));
+ }
+
+ fs::mount::part($part, 0, $wait_message);
+}
+
+sub formatMount_all {
+ my ($all_hds, $fstab, $wait_message) = @_;
+ formatMount_part($_, $all_hds, $fstab, $wait_message)
+ foreach sort { isLoopback($a) ? 1 : isSwap($a) ? -1 : 0 } grep { $_->{mntpoint} } @$fstab;
+
+ #- ensure the link is there
+ fs::loopback::carryRootCreateSymlink($_) foreach @$fstab;
+
+ #- for fun :)
+ #- that way, when install exits via ctrl-c, it gives hand to partition
+ eval {
+ my ($_type, $major, $minor) = devices::entry(fs::get::root($fstab)->{device});
+ output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
+ };
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/fs/get.pm b/perl-install/fs/get.pm
new file mode 100644
index 000000000..00c807738
--- /dev/null
+++ b/perl-install/fs/get.pm
@@ -0,0 +1,188 @@
+package fs::get;
+
+use diagnostics;
+use strict;
+
+use partition_table;
+use fs::type;
+use fs::loopback;
+use fs::wild_device;
+use fs;
+use common;
+use log;
+
+
+=head1 SYNOPSYS
+
+B<fs::get>
+
+=head1 Functions
+
+=over
+
+=cut
+
+sub empty_all_hds() {
+ { hds => [], lvms => [], raids => [], dmcrypts => [], loopbacks => [], raw_hds => [], nfss => [], smbs => [], davs => [], special => [] };
+}
+sub fstab {
+ my ($all_hds) = @_;
+ my @parts = map { partition_table::get_normal_parts($_) } hds($all_hds);
+ @parts, @{$all_hds->{raids}}, @{$all_hds->{dmcrypts}}, @{$all_hds->{loopbacks}};
+}
+sub really_all_fstab {
+ my ($all_hds) = @_;
+ my @l = fstab($all_hds);
+ @l, (grep { !$_->{is_removable} } @{$all_hds->{raw_hds}}), @{$all_hds->{nfss}}, @{$all_hds->{smbs}}, @{$all_hds->{davs}};
+}
+
+sub fstab_and_holes {
+ my ($all_hds, $b_non_readonly) = @_;
+ my @hds = grep { !($b_non_readonly && $_->{readonly}) } hds($all_hds);
+ hds_fstab_and_holes(@hds), @{$all_hds->{raids}}, @{$all_hds->{dmcrypts}}, @{$all_hds->{loopbacks}};
+}
+
+sub holes {
+ my ($all_hds, $b_non_readonly) = @_;
+ grep { isEmpty($_) } fstab_and_holes($all_hds, $b_non_readonly);
+}
+sub hds_holes {
+ grep { isEmpty($_) } hds_fstab_and_holes(@_);
+}
+sub free_space {
+ my ($all_hds) = @_;
+ sum map { $_->{size} } holes($all_hds);
+}
+sub hds_free_space {
+ sum map { $_->{size} } hds_holes(@_);
+}
+
+sub hds {
+ my ($all_hds) = @_;
+ (@{$all_hds->{hds}}, @{$all_hds->{lvms}});
+}
+
+=item hds_fstab(@hds)
+
+Get all normal partition.
+
+=cut
+
+sub hds_fstab {
+ map { partition_table::get_normal_parts($_) } @_;
+}
+
+sub vg_free_space {
+ my ($hd) = @_;
+ my @parts = partition_table::get_normal_parts($hd);
+ $hd->{totalsectors} - sum map { $_->{size} } @parts;
+}
+
+sub hds_fstab_and_holes {
+ map {
+ if (isLVM($_)) {
+ my @parts = partition_table::get_normal_parts($_);
+ my $free = vg_free_space($_);
+ my $free_part = { start => 0, size => $free, pt_type => 0, rootDevice => $_->{VG_name} };
+ @parts, if_($free >= $_->cylinder_size, $free_part);
+ } else {
+ partition_table::get_normal_parts_and_holes($_);
+ }
+ } @_;
+}
+
+
+sub device2part {
+ my ($dev, $fstab) = @_;
+ my $subpart = fs::wild_device::to_subpart($dev);
+ my $part = find { is_same_hd($subpart, $_) } @$fstab;
+ log::l("fs::get::device2part: unknown device <<$dev>>") if !$part;
+ $part;
+}
+
+sub part2hd {
+ my ($part, $all_hds) = @_;
+ my $hd = find { $part->{rootDevice} eq ($_->{device} || $_->{VG_name}) } hds($all_hds);
+ $hd;
+}
+
+sub file2part {
+ my ($fstab, $file, $b_keep_simple_symlinks) = @_;
+ my $part;
+
+ $file = $b_keep_simple_symlinks ? common::expand_symlinks_but_simple("$::prefix$file") : expand_symlinks("$::prefix$file");
+ unless ($file =~ s/^$::prefix//) {
+ my $part = find { fs::type::carry_root_loopback($_) } @$fstab or die;
+ log::l("found $part->{mntpoint}");
+ $file =~ s|/initrd/loopfs|$part->{mntpoint}|;
+ }
+ foreach (@$fstab) {
+ my $m = $_->{mntpoint};
+ $part = $_ if
+ $file =~ /^\Q$m/ &&
+ (!$part || length $part->{mntpoint} < length $m);
+ }
+ $part or die "file2part: not found $file";
+ $file =~ s|$part->{mntpoint}/?|/|;
+ ($part, $file);
+}
+
+sub mntpoint2part {
+ my ($mntpoint, $fstab) = @_;
+ find { $mntpoint eq $_->{mntpoint} } @$fstab;
+}
+sub has_mntpoint {
+ my ($mntpoint, $all_hds) = @_;
+ mntpoint2part($mntpoint, [ really_all_fstab($all_hds) ]);
+}
+
+sub root_from_mounted() {
+ foreach (`df -P`) {
+ next if m!^[^/]!; # ignore tootfs
+ my ($fs, undef, undef, undef, undef, $mntpnt) = split(/\s+/);
+ return $fs if $mntpnt eq '/';
+ }
+}
+
+sub root_ {
+ my ($fstab, $o_boot) = @_;
+ $o_boot && mntpoint2part("/boot", $fstab) || mntpoint2part("/", $fstab);
+}
+sub root { &root_ || {} }
+
+sub up_mount_point {
+ my ($mntpoint, $fstab) = @_;
+ while (1) {
+ $mntpoint = dirname($mntpoint);
+ $mntpoint ne "." or return;
+ $_->{mntpoint} eq $mntpoint and return $_ foreach @$fstab;
+ }
+}
+
+sub is_same_hd {
+ my ($hd1, $hd2) = @_;
+ if ($hd1->{major} && $hd2->{major}) {
+ $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor};
+ } elsif (my ($s1) = $hd1->{device} =~ m|https?://(.+?)/*$|) {
+ my ($s2) = $hd2->{device} =~ m|https?://(.+?)/*$|;
+ $s1 eq $s2;
+ } else {
+ $hd1->{device_LABEL} && $hd2->{device_LABEL} && $hd1->{device_LABEL} eq $hd2->{device_LABEL}
+ || $hd1->{device_UUID} && $hd2->{device_UUID} && $hd1->{device_UUID} eq $hd2->{device_UUID}
+ || $hd1->{device} && $hd2->{device} && $hd1->{device} eq $hd2->{device}
+ || $hd1->{device} && $hd2->{device_alias} && $hd1->{device} eq $hd2->{device_alias}
+ || $hd1->{device_alias} && $hd2->{device} && $hd1->{device_alias} eq $hd2->{device}
+ || $hd1->{device_alias} && $hd2->{device_alias} && $hd1->{device_alias} eq $hd2->{device_alias};
+ }
+}
+
+sub mntpoint_prefixed {
+ my ($part) = @_;
+ $::prefix . $part->{mntpoint};
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/fs/loopback.pm b/perl-install/fs/loopback.pm
new file mode 100644
index 000000000..8d0c729ec
--- /dev/null
+++ b/perl-install/fs/loopback.pm
@@ -0,0 +1,119 @@
+package fs::loopback;
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use fs::type;
+use fs;
+use log;
+
+
+sub check_circular_mounts {
+ my ($part, $all_hds) = @_;
+
+ my $fstab = [ fs::get::fstab($all_hds), $part ]; # no pb if $part is already in $all_hds
+
+ my $base_mntpoint = $part->{mntpoint};
+ my $check; $check = sub {
+ my ($part, @seen) = @_;
+ push @seen, $part->{mntpoint} || return;
+ @seen > 1 && $part->{mntpoint} eq $base_mntpoint and die N("Circular mounts %s\n", join(", ", @seen));
+ if (my $part = fs::get::up_mount_point($part->{mntpoint}, $fstab)) {
+ #- '/' carrier is a special case, it will be mounted first
+ $check->($part, @seen) if !fs::type::carry_root_loopback($part);
+ }
+ if (isLoopback($part)) {
+ $check->($part->{loopback_device}, @seen);
+ }
+ };
+ $check->($part) if !($base_mntpoint eq '/' && isLoopback($part)); #- '/' is a special case, no loop check
+}
+
+sub carryRootCreateSymlink {
+ my ($part) = @_;
+
+ fs::type::carry_root_loopback($part) or return;
+
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+ unless (-e $mntpoint) {
+ eval { mkdir_p(dirname($mntpoint)) };
+ #- do non-relative link for install, should be changed to relative link before rebooting
+ symlink "/initrd/loopfs", $mntpoint;
+
+ mkdir_p("/initrd/loopfs/lnx4win/boot");
+ symlink "/initrd/loopfs/lnx4win/boot", "$::prefix/boot";
+ }
+ #- indicate kernel to keep initrd
+ mkdir_p("$::prefix/initrd");
+}
+
+
+sub format_part {
+ my ($part) = @_;
+ fs::mount::part($part->{loopback_device});
+ create($part);
+ fs::format::part_raw($part, undef);
+}
+
+sub create {
+ my ($part) = @_;
+ my $f = $part->{device} = fs::get::mntpoint_prefixed($part->{loopback_device}) . $part->{loopback_file};
+ return if -e $f;
+
+ eval { mkdir_p(dirname($f)) };
+
+ log::l("creating loopback file $f ($part->{size} sectors)");
+
+ my $block_size = 128;
+ my $s = "\0" x (512 * $block_size);
+ sysopen(my $F, $f, 2 | c::O_CREAT()) or die "failed to create loopback file";
+ for (my $i = 0; $i < $part->{size}; $i += $block_size) {
+ syswrite $F, $s or die "failed to create loopback file";
+ }
+}
+
+sub getFree {
+ my ($dir, $part) = @_;
+ my $freespace = $dir ?
+ 2 * (MDK::Common::System::df($dir))[1] : #- df in KiB
+ $part->{size};
+
+ $freespace - sum map { $_->{size} } @{$part->{loopback} || []};
+}
+
+#- returns the size of the loopback file if it already exists
+#- returns -1 is the loopback file cannot be used
+sub verifFile {
+ my ($dir, $file, $part) = @_;
+ -e "$dir$file" and return -s "$dir$file";
+
+ $_->{loopback_file} eq $file and return -1 foreach @{$part->{loopback} || []};
+
+ undef;
+}
+
+sub prepare_boot() {
+ my $r = readlink "$::prefix/boot";
+ unlink "$::prefix/boot";
+ mkdir_p("$::prefix/boot");
+ [$r, $::prefix];
+}
+
+sub save_boot {
+ my ($loop_boot, $prefix) = @{$_[0]};
+
+ $loop_boot or return;
+
+ my @files = glob_("$prefix/boot/*");
+ cp_af(@files, $loop_boot) if @files;
+ rm_rf("$prefix/boot");
+ symlink $loop_boot, "$prefix/boot";
+}
+
+
+1;
+
diff --git a/perl-install/fs/mount.pm b/perl-install/fs/mount.pm
new file mode 100644
index 000000000..6afaa9260
--- /dev/null
+++ b/perl-install/fs/mount.pm
@@ -0,0 +1,235 @@
+package fs::mount;
+
+use diagnostics;
+use strict;
+
+use run_program;
+use common;
+use fs::type;
+use log;
+
+
+sub set_loop {
+ my ($part) = @_;
+ $part->{device} ||= fs::get::mntpoint_prefixed($part->{loopback_device}) . $part->{loopback_file};
+ $part->{real_device} ||= devices::set_loop(devices::make($part->{device}), $part->{encrypt_key}, $part->{options} =~ /encryption=(\w+)/);
+}
+
+sub swapon {
+ my ($dev) = @_;
+ log::l("swapon called with $dev");
+ syscall_('swapon', devices::make($dev), 0) or die "swapon($dev) failed: $!";
+}
+
+sub swapoff {
+ my ($dev) = @_;
+ syscall_('swapoff', devices::make($dev)) or die "swapoff($dev) failed: $!";
+}
+
+sub mount {
+ my ($dev, $where, $fs, $b_rdonly, $o_options, $o_wait_message) = @_;
+ log::l("mounting $dev on $where as type $fs, options $o_options");
+
+ mkdir_p($where);
+
+ $fs or log::l("not mounting $dev partition"), return;
+
+ {
+ my @fs_modules = qw(btrfs ext3 ext4 f2fs hfs jfs nilfs2 nfs ntfs romfs reiserfs ufs xfs vfat);
+ my @types = (qw(ext2 proc sysfs iso9660 devpts auto ntfs-3g), @fs_modules);
+
+ push @types, 'smb', 'cifs', 'davfs2' if !$::isInstall;
+
+ if (!member($fs, @types)) {
+ log::l("skipping mounting $dev partition ($fs)");
+ return;
+ }
+ if ($::isInstall) {
+ if (member($fs, @fs_modules)) {
+ eval { modules::load($fs) };
+ } elsif ($fs eq 'iso9660') {
+ eval { modules::load('isofs') };
+ }
+ }
+ }
+
+ $where =~ s|/$||;
+
+ my @mount_opt = split(',', $o_options || '');
+
+ if ($::isInstall) {
+ #- those options need nls_XXX modules, and we don't this at install
+ @mount_opt = grep { $_ ne 'utf8' && !/^iocharset=/ } @mount_opt;
+ }
+
+ if ($fs eq 'vfat') {
+ @mount_opt = 'check=relaxed';
+ } elsif ($fs eq 'ntfs') {
+ @mount_opt = () if $::isInstall; # esp. drop nls=xxx option so that we don't need kernel module nls_xxx
+ } elsif ($fs eq 'nfs') {
+ push @mount_opt, 'nolock', 'soft', 'intr' if $::isInstall;
+ } elsif ($fs eq 'jfs' && !$b_rdonly) {
+ fsck_jfs($dev, $o_wait_message);
+ } elsif ($fs eq 'ext2' && !$b_rdonly) {
+ fsck_ext2($dev, $o_wait_message);
+ } elsif ($fs eq 'davfs2') {
+ require fs::remote::davfs;
+ # We have to store credentials in davfs2 secret file before mounting
+ fs::remote::davfs::mountpoint_credentials_save($where, \@mount_opt);
+ # username and password options should be handled by /etc/davfs2/secrets file
+ @mount_opt = grep { !/^(username|password)=/ } @mount_opt;
+ }
+
+ push @mount_opt, 'ro' if $b_rdonly;
+
+ $o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
+ modules::load("fuse") if $::isInstall && $fs eq 'ntfs-3g' && ! -e '/dev/fuse';
+ run_program::run('mount', '-t', $fs, $dev, $where, if_(@mount_opt, '-o', join(',', @mount_opt))) or die N("mounting partition %s in directory %s failed", $dev, $where);
+}
+
+sub fsck_ext2 {
+ my ($dev, $o_wait_message) = @_;
+ $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
+ foreach ('-a', '-y') {
+ run_program::raw({ timeout => 60 * 60 }, "fsck.ext2", $_, $dev);
+ my $err = $?;
+ if ($err & 0x0100) {
+ log::l("fsck corrected partition $dev");
+ }
+ if ($err & 0xfeff) {
+ my $txt = sprintf("fsck failed on %s with exit code %d or signal %d", $dev, $err >> 8, $err & 255);
+ $_ eq '-y' ? die($txt) : cdie($txt);
+ } else {
+ last;
+ }
+ }
+}
+sub fsck_jfs {
+ my ($dev, $o_wait_message) = @_;
+ $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
+ #- needed if the system is dirty otherwise mounting read-write simply fails
+ run_program::raw({ timeout => 60 * 60 }, "fsck.jfs", $dev) or do {
+ my $err = $?;
+ die "fsck.jfs failed" if $err & 0xfc00;
+ };
+}
+
+#- takes the mount point to umount (can also be the device)
+sub umount {
+ my ($mntpoint) = @_;
+ $mntpoint =~ s|/$||;
+ log::l("calling umount($mntpoint)");
+
+ run_program::run('umount', $mntpoint) or do {
+ kill 15, fuzzy_pidofs('^fam\b');
+ my $err;
+ run_program::run('umount', '2>', \$err, $mntpoint) or die N("error unmounting %s: %s", $mntpoint, common::to_utf8($err));
+ };
+
+ substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- do not care about error, if we cannot read, we will not manage to write... (and mess mtab)
+}
+
+sub part {
+ my ($part, $b_rdonly, $o_wait_message) = @_;
+
+ log::l("mount_part: " . join(' ', map { "$_=$part->{$_}" } 'device', 'mntpoint', 'isMounted', 'real_mntpoint', 'device_UUID'));
+
+ return if $part->{isMounted} && !($part->{real_mntpoint} && $part->{mntpoint});
+
+ unless ($::testing) {
+ if (isSwap($part)) {
+ $o_wait_message->(N("Enabling swap partition %s", $part->{device})) if $o_wait_message;
+ swapon($part->{device});
+ } elsif ($part->{real_mntpoint}) {
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+
+ mkdir_p($mntpoint);
+ run_program::run_or_die('mount', '--move', $part->{real_mntpoint}, $mntpoint);
+
+ rmdir $part->{real_mntpoint};
+ symlinkf $mntpoint, $part->{real_mntpoint};
+ delete $part->{real_mntpoint};
+
+ my $dev = $part->{real_device} || fs::wild_device::from_part('', $part);
+ run_program::run_or_die('mount', $dev, $mntpoint, '-o', join(',', 'remount', $b_rdonly ? 'ro' : 'rw'));
+ } else {
+ $part->{mntpoint} or die "missing mount point for partition $part->{device}";
+
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+ my $options = $part->{options};
+ if ($part->{encrypt_key}) {
+ set_loop($part);
+ $options = join(',', grep { !/^(encryption=|encrypted$|loop$)/ } split(',', $options)); #- we take care of this, don't let it mount see it
+ } elsif (isLoopback($part)) {
+ $options = join(',', uniq('loop', split(',', $options))); #- ensure the loop options is used
+ } elsif ($part->{options} =~ /encrypted/) {
+ log::l("skip mounting $part->{device} since we do not have the encrypt_key");
+ return;
+ } elsif (fs::type::carry_root_loopback($part)) {
+ $mntpoint = "/initrd/loopfs";
+ }
+ my $dev = $part->{real_device} || fs::wild_device::from_part('', $part);
+ my $fs_type = $part->{fs_type};
+ if ($fs_type eq 'auto' && $part->{media_type} eq 'cdrom' && $::isInstall) {
+ $fs_type = 'iso9660';
+ } elsif ($fs_type eq 'ntfs-3g' && $::isInstall) {
+ $fs_type = 'ntfs';
+ }
+ mount($dev, $mntpoint, $fs_type, $b_rdonly, $options, $o_wait_message);
+
+ if ($options =~ /usrquota|grpquota/ && member($part->{fs_type}, qw(ext3 ext4))) {
+ if (! find { -e "$mntpoint/$_" } qw(aquota.user aquota.group quota.user quota.group)) {
+ #- quotacheck will create aquota.user and/or aquota.group,
+ #- needed for quotas on ext3/ext4.
+ run_program::run('quotacheck', $mntpoint);
+ }
+ }
+ if (isLoopback($part) && $::isInstall) {
+ #- since /etc/mtab is symlinked to /proc/mounts, umount will
+ #- not be able to know it needs to do losetup -d
+ #- TODO: drop this and have a real /etc/mtab
+ $part->{real_device} = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+\Q$mntpoint\E\s! && $1;
+ log::l("XXX $part->{real_device}");
+ }
+ }
+ }
+ $part->{isMounted} = 1;
+ set_isFormatted($part, 1); #- assume that if mount works, partition is formatted
+}
+
+sub umount_part {
+ my ($part) = @_;
+
+ $part->{isMounted} or return;
+
+ unless ($::testing) {
+ if (isSwap($part)) {
+ swapoff($part->{device});
+ } elsif (fs::type::carry_root_loopback($part)) {
+ umount("/initrd/loopfs");
+ } else {
+ umount($part->{real_mntpoint} || fs::get::mntpoint_prefixed($part) || devices::make($part->{device}));
+ devices::del_loop(delete $part->{real_device}) if $part->{real_device};
+ }
+ }
+ $part->{isMounted} = 0;
+}
+
+sub umount_all {
+ my ($fstab) = @_;
+
+ log::l("unmounting all filesystems");
+
+ foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} }
+ grep { $_->{mntpoint} && !$_->{real_mntpoint} || isSwap($_) } @$fstab) {
+ umount_part($_);
+ }
+}
+
+sub sys_kernel_debug {
+ my ($prefix) = @_;
+
+ mount('none', "$prefix/sys/kernel/debug/usb", 'debugfs');
+}
+
+1;
diff --git a/perl-install/fs/mount_options.pm b/perl-install/fs/mount_options.pm
new file mode 100644
index 000000000..0b63f7260
--- /dev/null
+++ b/perl-install/fs/mount_options.pm
@@ -0,0 +1,276 @@
+package fs::mount_options;
+
+use diagnostics;
+use strict;
+
+use common;
+use fs::type;
+use fs::get;
+use log;
+
+sub list() {
+ my %non_defaults = (
+ sync => 'async', noatime => 'atime', noauto => 'auto', ro => 'rw',
+ user => 'nouser', nodev => 'dev', noexec => 'exec', nosuid => 'suid',
+ user_xattr => 'nouser_xattr',
+ );
+ my @user_implies = qw(noexec nodev nosuid);
+ \%non_defaults, \@user_implies;
+}
+
+sub unpack {
+ my ($part) = @_;
+ my $packed_options = $part->{options};
+
+ my ($non_defaults, $user_implies) = list();
+
+ my @auto_fs = fs::type::guessed_by_mount();
+ my %per_fs = (
+ iso9660 => [ qw(unhide) ],
+ vfat => [ qw(flush umask=0 umask=0022) ],
+ ntfs => [ qw(umask=0 umask=0022) ],
+ nfs => [ qw(rsize=8192 wsize=8192) ],
+ cifs => [ qw(username= password=) ],
+ davfs2 => [ qw(username= password= uid= gid=) ],
+ reiserfs => [ 'notail' ],
+ );
+ push @{$per_fs{$_}}, 'usrquota', 'grpquota' foreach 'ext2', 'ext3', 'ext4', 'xfs';
+ push @{$per_fs{$_}}, 'acl' foreach 'ext2', 'ext3', 'ext4', 'reiserfs';
+
+ while (my ($fs, $l) = each %per_fs) {
+ member($part->{fs_type}, $fs, 'auto') && member($fs, @auto_fs) or next;
+ $non_defaults->{$_} = 1 foreach @$l;
+ }
+
+ $non_defaults->{relatime} = 1 if isTrueLocalFS($part) || $part->{fs_type} eq 'ntfs-3g';
+
+ my $defaults = { reverse %$non_defaults };
+ my %options = map { $_ => '' } keys %$non_defaults;
+ my @unknown;
+ foreach (split(",", $packed_options)) {
+ if ($_ eq 'defaults') {
+ #- skip
+ } elsif (member($_, 'user', 'users')) {
+ $options{$_} = 1 foreach $_, @$user_implies;
+ } elsif (exists $non_defaults->{$_}) {
+ $options{$_} = 1;
+ } elsif ($defaults->{$_}) {
+ $options{$defaults->{$_}} = 0;
+ } elsif (/(.*?=)(.*)/) {
+ $options{$1} = $2;
+ } else {
+ push @unknown, $_;
+ }
+ }
+ # merge those, for cleaner help
+ $options{'rsize=8192,wsize=8192'} = delete $options{'rsize=8192'} && delete $options{'wsize=8192'}
+ if exists $options{'rsize=8192'};
+
+ my $unknown = join(",", @unknown);
+ \%options, $unknown;
+}
+
+sub pack_ {
+ my ($_part, $options, $unknown) = @_;
+
+ my ($non_defaults, $user_implies) = list();
+ my @l;
+
+ my @umasks = map {
+ if (/^umask=/) {
+ my $v = delete $options->{$_};
+ /^umask=(.+)/ ? if_($v, $1) : $v;
+ } else { () }
+ } keys %$options;
+ if (@umasks) {
+ push @l, 'umask=' . min(@umasks);
+ }
+
+ if (my $user = find { delete $options->{$_} } 'users', 'user') {
+ push @l, $user;
+ delete $options->{user};
+ foreach (@$user_implies) {
+ if (!delete $options->{$_}) {
+ # overriding
+ $options->{$non_defaults->{$_}} = 1;
+ }
+ }
+ }
+ push @l, map_each { if_($::b, $::a =~ /=$/ ? "$::a$::b" : $::a) } %$options;
+ push @l, $unknown;
+
+ join(",", uniq(grep { $_ } @l));
+}
+sub pack {
+ my ($part, $options, $unknown) = @_;
+ $unknown =~ s/ /,/g;
+ $part->{options} = pack_($part, $options, $unknown) || 'defaults';
+ noreturn();
+}
+
+# update me on each util-linux new release:
+sub help() {
+ (
+ 'acl' => N("Enable POSIX Access Control Lists"),
+
+ 'flush' => N("Flush write cache on file close"),
+
+ 'grpquota' => N("Enable group disk quota accounting and optionally enforce limits"),
+
+ 'noatime' => N("Do not update inode access times on this filesystem
+(e.g, for faster access on the news spool to speed up news servers)."),
+
+ 'relatime' => N("Update inode access times on this filesystem in a more efficient way
+(e.g, for faster access on the news spool to speed up news servers)."),
+
+ 'noauto' => N("Can only be mounted explicitly (i.e.,
+the -a option will not cause the filesystem to be mounted)."),
+
+ 'nodev' => N("Do not interpret character or block special devices on the filesystem."),
+
+ 'noexec' => N("Do not allow execution of any binaries on the mounted
+filesystem. This option might be useful for a server that has filesystems
+containing binaries for architectures other than its own."),
+
+ 'nosuid' => N("Do not allow set-user-identifier or set-group-identifier
+bits to take effect. (This seems safe, but is in fact rather unsafe if you
+have suidperl(1) installed.)"),
+
+ 'ro' => N("Mount the filesystem read-only."),
+
+ 'sync' => N("All I/O to the filesystem should be done synchronously."),
+
+ 'users' => N("Allow every user to mount and umount the filesystem."),
+
+ 'user' => N("Allow an ordinary user to mount the filesystem."),
+
+ 'usrquota' => N("Enable user disk quota accounting, and optionally enforce limits"),
+
+ 'user_xattr' => N("Support \"user.\" extended attributes"),
+
+ 'umask=0' => N("Give write access to ordinary users"),
+
+ 'umask=0022' => N("Give read-only access to ordinary users"),
+ );
+}
+
+
+sub rationalize {
+ my ($part) = @_;
+
+ my ($options, $unknown) = &unpack($part);
+
+ if ($part->{fs_type} ne 'reiserfs') {
+ $options->{notail} = 0;
+ }
+ if (!fs::type::can_be_one_of_those_fs_types($part, 'vfat', 'cifs', 'iso9660', 'udf')) {
+ delete $options->{'codepage='};
+ }
+ if (member($part->{mntpoint}, fs::type::directories_needed_to_boot())) {
+ foreach (qw(users user noauto)) {
+ if ($options->{$_}) {
+ $options->{$_} = 0;
+ $options->{$_} = 0 foreach qw(nodev noexec nosuid);
+ }
+ }
+ }
+
+ &pack($part, $options, $unknown);
+}
+
+sub set_default {
+ my ($part, %opts) = @_;
+ #- opts are: security iocharset codepage ignore_is_removable
+
+ my ($options, $unknown) = &unpack($part);
+
+ if (!$opts{ignore_is_removable} && $part->{is_removable}
+ && !member($part->{mntpoint}, fs::type::directories_needed_to_boot())
+ && (!$part->{fs_type} || $part->{fs_type} eq 'auto' || $part->{fs_type} =~ /:/)) {
+ $part->{fs_type} = 'auto';
+ $options->{flush} = 1 if $part->{media_type} ne 'cdrom';
+ }
+
+ if ($part->{media_type} eq 'cdrom') {
+ $options->{ro} = 1;
+ }
+
+ if ($part->{media_type} eq 'fd') {
+ # slow device so do not loose time, write now!
+ $options->{flush} = 1;
+ }
+
+ if (isTrueLocalFS($part)) {
+ #- noatime on laptops (do not wake up the hd)
+ #- otherwise relatime (wake up the hd less often / better performances)
+ #- Do not update inode access times on this
+ #- filesystem (e.g, for faster access on the
+ #- news spool to speed up news servers).
+ $options->{relatime} = $options->{noatime} = 0;
+ $options->{ detect_devices::isLaptop() ? 'noatime' : 'relatime' } = 1 if !$opts{force_atime};
+ }
+ if ($part->{fs_type} eq 'nfs') {
+ put_in_hash($options, {
+ nosuid => 1, 'rsize=8192,wsize=8192' => 1, soft => 1,
+ });
+ }
+ if ($part->{fs_type} eq 'cifs') {
+ add2hash($options, { 'username=' => '%' }) if !$options->{'credentials='};
+ }
+ if (fs::type::can_be_this_fs_type($part, 'vfat')) {
+
+ put_in_hash($options, {
+ users => 1, noexec => 0,
+ }) if $part->{is_removable};
+
+ put_in_hash($options, {
+ 'umask=0' => $opts{security} <= 1 && !isESP($part),
+ 'iocharset=' => $opts{iocharset}, 'codepage=' => $opts{codepage},
+ });
+ }
+ if ($part->{fs_type} eq 'ntfs') {
+ put_in_hash($options, { ro => 1, 'nls=' => $opts{iocharset},
+ 'umask=0' => $opts{security} < 1, 'umask=0022' => $opts{security} < 2,
+ });
+ }
+ if (fs::type::can_be_this_fs_type($part, 'iso9660')) {
+ put_in_hash($options, { users => 1, noexec => 0, 'iocharset=' => $opts{iocharset} });
+ }
+ if ($part->{fs_type} eq 'reiserfs') {
+ $options->{notail} = 1;
+ $options->{user_xattr} = 1;
+ }
+ if (member($part->{fs_type}, qw(ext2 ext3 ext4))) {
+ $options->{acl} = 1;
+ }
+ if (isLoopback($part) && !isSwap($part)) { #- no need for loop option for swap files
+ $options->{loop} = 1;
+ }
+
+ # rationalize: no need for user
+ if ($options->{autofs}) {
+ $options->{users} = $options->{user} = 0;
+ }
+
+ if ($options->{user} || $options->{users}) {
+ # have noauto when we have user
+ $options->{noauto} = 1;
+ # ensure security (user_implies - noexec as noexec is not a security matter)
+ $options->{$_} = 1 foreach 'nodev', 'nosuid';
+ }
+
+ &pack($part, $options, $unknown);
+
+ rationalize($part);
+}
+
+sub set_all_default {
+ my ($all_hds, %opts) = @_;
+ #- opts are: security iocharset codepage
+
+ foreach my $part (fs::get::really_all_fstab($all_hds)) {
+ set_default($part, %opts);
+ }
+}
+
+1;
diff --git a/perl-install/fs/mount_point.pm b/perl-install/fs/mount_point.pm
new file mode 100644
index 000000000..56f2405e9
--- /dev/null
+++ b/perl-install/fs/mount_point.pm
@@ -0,0 +1,136 @@
+package fs::mount_point;
+
+use diagnostics;
+use strict;
+
+use common;
+use any;
+use fs::type;
+
+sub guess_mount_point {
+ my ($part, $prefix, $user) = @_;
+
+ my %l = (
+ '/' => 'etc/fstab',
+ '/boot' => 'vmlinuz',
+ '/boot' => 'vmlinux',
+ '/boot' => 'uImage',
+ '/tmp' => '.X11-unix',
+ '/usr' => 'src',
+ '/var' => 'spool',
+ );
+
+ my $handle = any::inspect($part, $prefix) or return;
+ my $d = $handle->{dir};
+ my $mnt = find { -e "$d/$l{$_}" } keys %l;
+ $mnt ||= (stat("$d/.bashrc"))[4] ? '/root' : '/home/user' . ++$$user if -e "$d/.bashrc";
+ $mnt ||= (any { -d $_ && (stat($_))[4] >= 1000 && -e "$_/.bashrc" } glob_($d)) ? '/home' : '';
+ # Keep uid 500 here for guesswork, but base it on .bash_history to increase
+ # changes it's a real user.
+ $mnt ||= (any { -d $_ && (stat($_))[4] >= 500 && -e "$_/.bash_history" } glob_($d)) ? '/home' : '';
+ ($mnt, $handle);
+}
+
+sub suggest_mount_points {
+ my ($fstab, $prefix, $uniq) = @_;
+
+ my $user;
+ foreach my $part (grep { isTrueFS($_) } @$fstab) {
+ $part->{mntpoint} && !$part->{unsafeMntpoint} and next; #- if already found via an fstab
+
+ my ($mnt, $handle) = guess_mount_point($part, $prefix, \$user) or next;
+
+ next if $uniq && fs::get::mntpoint2part($mnt, $fstab);
+ $part->{mntpoint} = $mnt; delete $part->{unsafeMntpoint};
+
+ #- try to find other mount points via fstab
+ fs::merge_info_from_fstab($fstab, $handle->{dir}, $uniq, 'loose') if $mnt eq '/';
+ }
+ # reuse existing ESP under UEFI:
+ my @ESP = if_(is_uefi(), grep { isESP($_) } @$fstab);
+ if (@ESP) {
+ $ESP[0]{mntpoint} = '/boot/EFI';
+ delete $ESP[0]{unsafeMntpoint};
+ }
+ $_->{mntpoint} and log::l("suggest_mount_points: $_->{device} -> $_->{mntpoint}") foreach @$fstab;
+}
+
+sub suggest_mount_points_always {
+ my ($fstab) = @_;
+
+ my @ESP = if_(is_uefi(), grep { isESP($_) && maybeFormatted($_) && !$_->{is_removable} } @$fstab);
+ if (@ESP) {
+ $ESP[0]{mntpoint} = "/boot/EFI";
+ }
+ my @win = grep { isnormal_Fat_or_NTFS($_) && !$_->{isMounted} && maybeFormatted($_) && !$_->{is_removable} } @$fstab;
+ log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
+ if (@win == 1) {
+ $win[0]{mntpoint} = "/media/windows";
+ } else {
+ my %w; foreach (@win) {
+ my $v = $w{$_->{device_windobe}}++;
+ $_->{mntpoint} = $_->{unsafeMntpoint} = "/media/win_" . lc($_->{device_windobe}) . ($v ? $v+1 : ''); #- lc cuz of StartOffice(!) cf dadou
+ }
+ }
+}
+
+sub validate_mount_points {
+ my ($fstab) = @_;
+
+ #- TODO: set the mntpoints
+
+ my %m; foreach (@$fstab) {
+ my $m = $_->{mntpoint};
+
+ $m && $m =~ m!^/! or next; #- there may be a lot of swaps or "none"
+
+ $m{$m} and die N("Duplicate mount point %s", $m);
+ $m{$m} = 1;
+
+ #- in case the type does not correspond, force it to default fs (ext4 currently)
+ fs::type::set_fs_type($_, defaultFS()) if !isTrueFS($_) && !isOtherAvailableFS($_);
+ }
+ 1;
+}
+
+sub ask_mount_points {
+ my ($in, $fstab, $all_hds) = @_;
+
+ my @fstab = grep { isTrueFS($_) } @$fstab;
+ @fstab = grep { isSwap($_) } @$fstab if @fstab == 0;
+ @fstab = @$fstab if @fstab == 0;
+ die N("No partition available") if @fstab == 0;
+
+ {
+ my $_w = $in->wait_message('', N("Scanning partitions to find mount points"));
+ suggest_mount_points($fstab, $::prefix, 'uniq');
+ log::l("default mntpoint $_->{mntpoint} $_->{device}") foreach @fstab;
+ }
+ if (@fstab == 1) {
+ $fstab[0]{mntpoint} = '/';
+ } else {
+ $in->ask_from_({ messages => N("Choose the mount points"),
+ title => N("Partitioning"),
+ interactive_help_id => 'ask_mntpoint_s',
+ callbacks => {
+ complete => sub {
+ require diskdrake::interactive;
+ eval { 1, find_index {
+ !diskdrake::interactive::check_mntpoint($in, $_->{mntpoint}, $_, $all_hds);
+ } @fstab };
+ },
+ },
+ },
+ [ map {
+ {
+ label => partition_table::description($_),
+ val => \$_->{mntpoint},
+ not_edit => 0,
+ list => [ '', fsedit::suggestions_mntpoint(fs::get::empty_all_hds()) ],
+ };
+ } @fstab ]) or return;
+ }
+ validate_mount_points($fstab);
+}
+
+1;
diff --git a/perl-install/fs/partitioning.pm b/perl-install/fs/partitioning.pm
new file mode 100644
index 000000000..18fa7e114
--- /dev/null
+++ b/perl-install/fs/partitioning.pm
@@ -0,0 +1,83 @@
+package fs::partitioning;
+
+use diagnostics;
+use strict;
+
+use common;
+use fs::format;
+use fs::get;
+use fs::type;
+
+sub guess_partitions_to_format {
+ my ($fstab) = @_;
+ my $root_part = fs::get::root($fstab);
+ foreach (@$fstab) {
+ $_->{mntpoint} = "swap" if isSwap($_) && ($_->{rootDevice} eq $root_part->{rootDevice} || !$_->{is_removable} && !$root_part->{is_removable});
+ $_->{mntpoint} or next;
+
+ add2hash_($_, { toFormat => $_->{notFormatted} }) if $_->{fs_type}; #- eg: do not set toFormat for isRawRAID (0xfd)
+ $_->{toFormatUnsure} ||= member($_->{mntpoint}, '/', '/usr');
+
+ if (!$_->{toFormat}) {
+ my $fs_type = fs::type::fs_type_from_magic($_);
+ if (!$fs_type || $fs_type ne $_->{fs_type}) {
+ log::l("setting toFormatUnsure for $_->{device} because <$_->{fs_type}> ne <$fs_type>");
+ $_->{toFormatUnsure} = 1;
+ }
+ }
+ }
+}
+
+sub choose_partitions_to_format {
+ my ($in, $fstab) = @_;
+
+ guess_partitions_to_format($fstab);
+
+ my @l = grep { !$_->{isMounted} && $_->{mntpoint} && !isSwap($_) &&
+ (!isFat_or_NTFS($_) || $_->{notFormatted}) &&
+ (!isOtherAvailableFS($_) || $_->{toFormat});
+ } @$fstab;
+ $_->{toFormat} = 1 foreach grep { isSwap($_) } @$fstab;
+
+ return if @l == 0 || every { $_->{toFormat} } @l;
+
+ #- keep it temporary until the guy has accepted
+ $_->{toFormatTmp} = $_->{toFormat} || $_->{toFormatUnsure} foreach @l;
+
+ $in->ask_from_(
+ { messages => N("Choose the partitions you want to format"),
+ interactive_help_id => 'formatPartitions',
+ advanced_messages => N("Check for bad blocks?"),
+ },
+ [ map {
+ my $e = $_;
+ ({
+ text => partition_table::description($e), type => 'bool',
+ val => \$e->{toFormatTmp}
+ }, if_(!isLoopback($_) && isBlockCheckable($_), {
+ text => partition_table::description($e), type => 'bool', advanced => 1,
+ disabled => sub { !$e->{toFormatTmp} },
+ val => \$e->{toFormatCheck}
+ })) } @l ]
+ ) or die 'already displayed';
+ #- ok now we can really set toFormat
+ foreach (@l) {
+ $_->{toFormat} = delete $_->{toFormatTmp};
+ set_isFormatted($_, 0);
+ }
+}
+
+sub format_mount_partitions {
+ my ($in, $all_hds, $fstab) = @_;
+ my ($w, $wait_message) = $in->wait_message_with_progress_bar;
+ catch_cdie {
+ fs::format::formatMount_all($all_hds, $fstab, $wait_message);
+ } sub {
+ $@ =~ /fsck failed on (\S+)/ or return;
+ $in->ask_yesorno('', N("Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)", $1), 1);
+ };
+ undef $w; #- help perl (otherwise wait_message stays forever in curses)
+ die N("Not enough swap space to fulfill installation, please add some") if availableMemory() < 40 * 1024;
+}
+
+1;
diff --git a/perl-install/fs/partitioning_wizard.pm b/perl-install/fs/partitioning_wizard.pm
new file mode 100644
index 000000000..6e77f3eff
--- /dev/null
+++ b/perl-install/fs/partitioning_wizard.pm
@@ -0,0 +1,655 @@
+package fs::partitioning_wizard;
+
+use diagnostics;
+use strict;
+use utf8;
+
+use common;
+use devices;
+use fsedit;
+use fs::type;
+use fs::mount_point;
+use partition_table;
+use partition_table::raw;
+use partition_table::dos;
+use POSIX qw(ceil);
+
+
+=head1 SYNOPSYS
+
+B<fs::partitioning_wizard> implements the partitioning wizard.
+
+=head1 Functions
+
+=over
+
+=item from_Mb($mb, $min, $max)
+
+This function is used to convert back to sectors count the size of
+a partition ($mb) given from the interface (on Resize or Create).
+modified to take into account a true bounding with min and max.
+Unit of $mb is mega bytes, min and max are in sectors.
+
+=cut
+
+sub from_Mb {
+ emy ($mb, $min, $max) = @_;
+ $mb <= to_Mb($min) and return $min;
+ $mb >= to_Mb($max) and return $max;
+ MB($mb);
+}
+sub to_Mb {
+ my ($size_sector) = @_;
+ to_int($size_sector / 2048);
+}
+
+sub partition_with_diskdrake {
+ my ($in, $all_hds, $fstab, $manual_fstab, $_partitions, $partitioning_flags, $skip_mtab) = @_;
+ my $ok;
+
+ # The classic installer sets $skip_mtab to either undef or 1. The live
+ # installer sets it to 'skip_mtab'. If $skip_mtab is not set, this has
+ # already been done by fs::any::get_hds.
+ if ($skip_mtab eq 'skip_mtab') {
+ fs::mount_point::suggest_mount_points_always($fstab);
+ }
+
+ do {
+ $ok = 1;
+ my $do_force_reload = sub {
+ require File::Temp;
+ require fs::dmcrypt;
+ my (undef, $tmp_file) = File::Temp::mkstemp('/tmp/crypttab.XXXXXXX');
+ fs::dmcrypt::save_crypttab_($all_hds, $tmp_file);
+ my $new_hds = fs::get::empty_all_hds();
+ fs::any::get_hds($new_hds, $fstab, $manual_fstab, $partitioning_flags, $skip_mtab, $in);
+ %$all_hds = %$new_hds;
+ fs::dmcrypt::read_crypttab_($all_hds, $tmp_file);
+ rm_rf($tmp_file);
+ $all_hds;
+ };
+ require diskdrake::interactive;
+ {
+ local $::expert = 0;
+ diskdrake::interactive::main($in, $all_hds, $do_force_reload);
+ }
+ my @fstab = fs::get::fstab($all_hds);
+
+ unless (fs::get::root_(\@fstab)) {
+ $ok = 0;
+ $in->ask_okcancel(N("Partitioning"), N("You must have a root partition.
+To accomplish this, create a partition (or click on an existing one).
+Then choose action ``Mount point'' and set it to `/'"), 1) or return;
+ }
+
+ if (!any { isSwap($_) } @fstab) {
+ $ok &&= $in->ask_okcancel('', N("You do not have a swap partition.\n\nContinue anyway?"));
+ }
+ if (is_uefi()) {
+ my $part = fs::get::has_mntpoint("/boot/EFI", $all_hds);
+ if (!$part || !isESP($part)) {
+ $in->ask_warn('', N("You must have a ESP FAT32 partition mounted in /boot/EFI"));
+ $ok = '';
+ }
+ } else {
+ if (fs::any::is_boot_bios_part_needed($all_hds)) {
+ $in->ask_warn('', N("You must have a BIOS boot partition for non-UEFI GPT-partitioned disks. Please create one before continuing."));
+ $ok = '';
+ }
+ }
+ } until $ok;
+ 1;
+}
+
+sub partitionWizardSolutions {
+ my ($in, $all_hds, $all_fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab, $o_target) = @_;
+ my $hds = $all_hds->{hds};
+ my $fstab;
+ my $full_fstab = [ fs::get::fstab($all_hds) ];
+ if ($o_target) {
+ $hds = [ $o_target ];
+ $fstab = [ grep { $_->{rootDevice} eq $o_target->{device} } fs::get::fstab($all_hds) ];
+ } else {
+ $fstab = $full_fstab;
+ }
+
+ my @wizlog;
+ my (%solutions);
+
+ my $min_linux = MB(600);
+ my $min_swap = MB(50);
+ my $min_freewin = MB(100);
+ fsedit::init_mntpnt_suggestions($all_hds, $o_target);
+
+ # each solution is a [ score, text, function ], where the function retunrs true if succeeded
+
+ my @hds_rw = grep { !$_->{readonly} } @$hds;
+ my @hds_can_add = grep { $_->{type} ne 'hd' || $_->can_add } @hds_rw;
+ if (fs::get::hds_free_space(@hds_can_add) > $min_linux) {
+ $solutions{free_space} = [ 30, N("Use free space"), sub { fsedit::auto_allocate($all_hds, $partitions, $o_target); 1 } ];
+ } else {
+ push @wizlog, N("Not enough free space to allocate new partitions") . ": " .
+ (@hds_can_add ?
+ fs::get::hds_free_space(@hds_can_add) . " < $min_linux" :
+ "no harddrive on which partitions can be added");
+ }
+
+ if (my @truefs = grep { isTrueLocalFS($_) } @$fstab) {
+ #- value twice the ext2 partitions
+ $solutions{existing_part} = [ 20 + @truefs + @$fstab, N("Use existing partitions"), sub { fs::mount_point::ask_mount_points($in, $full_fstab, $all_hds) } ];
+ } else {
+ push @wizlog, N("There is no existing partition to use");
+ }
+
+ if (my @ok_for_resize_fat = grep { isnormal_Fat_or_NTFS($_) && !fs::get::part2hd($_, $all_hds)->{readonly}
+ && $_->{size} > $min_linux + $min_swap + $min_freewin } @$fstab) {
+ @ok_for_resize_fat = map {
+ my $part = $_;
+ my $hd = fs::get::part2hd($part, $all_hds);
+ my $resize_fat = eval {
+ my $pkg = $part->{fs_type} eq 'vfat' ? do {
+ require resize_fat::main;
+ 'resize_fat::main';
+ } : do {
+ require diskdrake::resize_ntfs;
+ 'diskdrake::resize_ntfs';
+ };
+ $pkg->new($part->{device}, devices::make($part->{device}));
+ };
+ if ($@) {
+ log::l("The FAT resizer is unable to handle $part->{device} partition%s", formatError($@));
+ undef $part;
+ }
+ if ($part) {
+ my $min_win = eval {
+ my $_w = $in->wait_message(N("Resizing"), N("Computing the size of the Microsoft Windows® partition"));
+ $resize_fat->min_size + $min_freewin;
+ };
+ if ($@) {
+ log::l("The FAT resizer is unable to get minimal size for $part->{device} partition %s", formatError($@));
+ undef $part;
+ } else {
+ my $min_linux_all = $min_linux + $min_swap;
+ #- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
+ #- this save at least a cylinder (less than 8Mb).
+ $min_win += partition_table::raw::cylinder_size($hd);
+
+ if ($part->{size} <= $min_linux_all + $min_win) {
+# die N("Your Microsoft Windows® partition is too fragmented. Please reboot your computer under Microsoft Windows®, run the ``defrag'' utility, then restart the %s installation.", N("Mageia"));
+ undef $part;
+ } else {
+ $part->{resize_fat} = $resize_fat;
+ $part->{min_win} = $min_win;
+ $part->{min_linux} = $min_linux_all;
+ #- try to keep at least 1GB free for Windows
+ #- try to use from 20GB to 20% free space for Linux
+ my $suggested_size = max(
+ $part->{min_win} + 1 * MB(1024),
+ min(
+ $part->{size} - int(0.2 * ($part->{size} - $part->{min_win})),
+ $part->{size} - 20 * MB(1024),
+ ),
+ );
+ $part->{req_size} = max(min($suggested_size, $part->{size} - $part->{min_linux}), $part->{min_win});
+ }
+ }
+ }
+ $part || ();
+ } @ok_for_resize_fat;
+ if (@ok_for_resize_fat) {
+ $solutions{resize_fat} =
+ [ 20 - @ok_for_resize_fat, N("Use the free space on a Microsoft Windows® partition"),
+ sub {
+ my $part;
+ if (!$in->isa('interactive::gtk')) {
+ $part = $in->ask_from_listf_raw({ messages => N("Which partition do you want to resize?"),
+ interactive_help_id => 'resizeFATChoose',
+ }, \&partition_table::description, \@ok_for_resize_fat) or return;
+ $part->{size} > $part->{min_linux} + $part->{min_win} or die N("Your Microsoft Windows® partition is too fragmented. Please reboot your computer under Microsoft Windows®, run the ``defrag'' utility, then restart the %s installation.", N("Mageia"));
+ } else {
+ my @selected = grep {
+ $_->{selected_for_resize} &&
+ $o_target->{device} eq $_->{rootDevice}; # Not needed but let's be safe
+ } @ok_for_resize_fat;
+ my $nb_parts = @selected;
+ die N("Failed to find the partition to resize (%d choices)", $nb_parts) unless $nb_parts == 1;
+ $part = $selected[0];
+ }
+ my $resize_fat = $part->{resize_fat};
+ my $hd = fs::get::part2hd($part, $all_hds);
+ $in->ask_okcancel('', formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("WARNING!
+
+
+Your Microsoft Windows® partition will be now resized.
+
+
+Be careful: this operation is dangerous. If you have not already done so, you first need to exit the installation, run \"chkdsk c:\" from a Command Prompt under Microsoft Windows® (beware, running graphical program \"scandisk\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), optionally run defrag, then restart the installation. You should also backup your data.
+
+
+When sure, press %s.", N("Next")))) or return;
+
+ my $oldsize = $part->{size};
+ if (!$in->isa('interactive::gtk')) {
+ my $mb_size = to_Mb($part->{req_size});
+ my $max_win = $part->{size} - $part->{min_linux};
+ $in->ask_from(N("Partitionning"), N("Which size do you want to keep for Microsoft Windows® on partition %s?", partition_table::description($part)), [
+ { label => N("Size"), val => \$mb_size, min => to_Mb($part->{min_win}), max => to_Mb($max_win), type => 'range' },
+ ]) or return;
+ $part->{req_size} = from_Mb($mb_size, $part->{min_win}, $part->{max_win});
+ }
+ $part->{size} = $part->{req_size};
+
+ $hd->adjustEnd($part);
+
+ eval {
+ my $_w = $in->wait_message(N("Resizing"), N("Resizing Microsoft Windows® partition"));
+ $resize_fat->resize($part->{size});
+ };
+ if (my $err = $@) {
+ $part->{size} = $oldsize;
+ die N("FAT resizing failed: %s", formatError($err));
+ }
+
+ $in->ask_warn('', N("To ensure data integrity after resizing the partition(s),
+filesystem checks will be run on your next boot into Microsoft Windows®")) if $part->{fs_type} ne 'vfat';
+
+ set_isFormatted($part, 1);
+ partition_table::will_tell_kernel($hd, resize => $part); #- down-sizing, write_partitions is not needed
+ partition_table::adjust_local_extended($hd, $part);
+ partition_table::adjust_main_extended($hd);
+
+ fsedit::auto_allocate($all_hds, $partitions, $hd);
+ 1;
+ }, \@ok_for_resize_fat ];
+ }
+ } else {
+ push @wizlog, N("There is no FAT partition to resize (or not enough space left)");
+ }
+
+ if (@$fstab && @hds_rw) {
+ $solutions{wipe_drive} =
+ [ 10, fsedit::is_one_big_fat_or_NT($hds) ? N("Remove Microsoft Windows®") : N("Erase and use entire disk"),
+ sub {
+ my $hd;
+ if (!$in->isa('interactive::gtk')) {
+ $hd = $in->ask_from_listf_raw({ messages => N("You have more than one hard disk drive, which one do you want the installer to use?"),
+ title => N("Partitioning"),
+ interactive_help_id => 'takeOverHdChoose',
+ },
+ \&partition_table::description, \@hds_rw) or return;
+ } else {
+ $hd = $o_target;
+ }
+ $in->ask_okcancel_({ messages => N("ALL existing partitions and their data will be lost on drive %s", partition_table::description($hd)),
+ title => N("Partitioning"),
+ interactive_help_id => 'takeOverHdConfirm' }) or return;
+ fsedit::partition_table_clear_and_initialize($all_hds->{lvms}, $hd, $in);
+ # FIXME: reread all_hds:
+ # re add suggestions if needed (as we might just have erased eg Boot BIOS partition):
+ fsedit::init_mntpnt_suggestions($all_hds, $hd, 1);
+ fsedit::auto_allocate($all_hds, $partitions, $hd);
+ 1;
+ } ];
+ }
+
+ if (@hds_rw || find { $_->isa('partition_table::lvm') } @$hds) {
+ $solutions{diskdrake} = [ 0, N("Custom disk partitioning"), sub {
+ partition_with_diskdrake($in, $all_hds, $all_fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab);
+ } ];
+ }
+
+ $solutions{fdisk} =
+ [ -10, N("Use fdisk"), sub {
+ $in->enter_console;
+ foreach (@$hds) {
+ print "\n" x 10, N("You can now partition %s.
+When you are done, do not forget to save using `w'", partition_table::description($_));
+ print "\n\n";
+ my $pid = 0;
+ $pid = fork() or exec "fdisk", devices::make($_->{device});
+ waitpid($pid, 0);
+ }
+ $in->leave_console;
+ 0;
+ } ] if $partitioning_flags->{fdisk};
+
+ log::l("partitioning wizard log:\n", (map { ">>wizlog>>$_\n" } @wizlog));
+ %solutions;
+}
+
+sub warn_reboot_needed {
+ my ($in) = @_;
+ $in->ask_warn(N("Partitioning"), N("You need to reboot for the partition table modifications to take effect"));
+}
+
+sub create_display_box {
+ my ($kind, $resize, $fill_empty, $button) = @_;
+
+ # Hide empty space < 2MB, wehave such holes due to alignment
+ my @parts = grep { $_->{size} > MB(2) || !isEmpty($_) } diskdrake::hd_gtk::kind2parts($kind);
+
+ my $totalsectors = diskdrake::hd_gtk::kind2sectors($kind, @parts);
+
+ my $width = 520;
+ my $minwidth = 40;
+
+ my $display_box = ugtk3::gtkset_size_request(Gtk3::HBox->new(0,0), -1, 26);
+ $display_box->set_spacing(1);
+
+ my $sep_count = @parts - 1;
+ #- ratio used to compute initial partition pixel width (each partition should be > min_width)
+ #- though, the pixel/sectors ratio cannot be the same for all the partitions
+ my $initial_ratio = $totalsectors ? ($width - @parts * $minwidth - $sep_count) / $totalsectors : 1;
+
+ my $vbox = Gtk3::VBox->new;
+
+ my $desc;
+
+ if ($resize) {
+ my %resizable_parts;
+ foreach my $entry (@$resize) {
+ # selected_for_resize may have been set on another disk, clear it
+ $entry->{selected_for_resize} = 0;
+ $resizable_parts{$entry->{device}} = $entry;
+ }
+ # find resizable parts on this disk
+ my @choices = grep { $resizable_parts{$_->{device}} } @parts;
+ my @sorted_resize = sort {
+ $a->{size} - $a->{req_size} <=> $b->{size} - $b->{req_size};
+ } @choices;
+ $sorted_resize[-1]{selected_for_resize} = 1;
+ }
+
+ foreach my $entry (@parts) {
+ my $part_info = Gtk3::Label->new($entry->{device_LABEL});
+ my @colorized_fs_types = qw(ext2 ext3 ext4 xfs swap vfat ntfs ntfs-3g);
+ my $part_widget = Gtk3::EventBox->new;
+ $entry->{width} = int($entry->{size} * $initial_ratio) + $minwidth;
+ if ($resize && $entry->{selected_for_resize}) {
+ my $ratio;
+ my $update_ratio = sub { $ratio = $entry->{width} / $entry->{size} };
+ $update_ratio->();
+
+ $part_widget->set_name("PART_vfat");
+ $part_info->set_size_request(ceil($ratio * $entry->{min_win}), 0);
+
+ my $mdv_widget = gtkadd(gtkset_name(Gtk3::EventBox->new, "PART_new"),
+ gtkset_size_request(gtknew("Image", file => "small-logo"),
+ $ratio * MB(600), 0));
+
+ my $hpane = Gtk3::HPaned->new;
+ $hpane->pack1($part_widget, 1, 0);
+ $hpane->pack2($mdv_widget, 1, 0);
+ $hpane->set_position(ceil($ratio * $entry->{req_size}));
+ ugtk3::gtkset_size_request($hpane, $entry->{width}, 0);
+ ugtk3::gtkpack__($display_box, $hpane);
+
+ my $add_part_size_info = sub {
+ my ($name, $label) = @_;
+ ugtk3::gtkpack__($desc,
+ gtkadd(gtkset_name(Gtk3::EventBox->new, $name),
+ Gtk3::Label->new(" " x 4)),
+ gtkset_size_request(gtkset_alignment($label, 0, 0.5),
+ 150, 20));
+ };
+ $desc = Gtk3::HBox->new(0,0);
+
+ my $win_size_label = Gtk3::Label->new;
+ $add_part_size_info->("PART_vfat", $win_size_label);
+
+ my $mdv_size_label = Gtk3::Label->new;
+ $add_part_size_info->("PART_new", $mdv_size_label);
+
+ my $update_size_labels = sub {
+ $win_size_label->set_label(" Windows (" . formatXiB($entry->{req_size}, 512) . ")");
+ $mdv_size_label->set_label(" Mageia (" . formatXiB($entry->{size} - $entry->{req_size}, 512) . ")");
+ 0;
+ };
+ my $update_req_size = sub {
+ $entry->{req_size} = int($hpane->get_position / $ratio);
+ $update_size_labels->();
+ };
+ my $button_activate = sub {
+ $button->activate;
+ 0;
+ };
+ $hpane->signal_connect('size-allocate' => sub {
+ my (undef, $alloc) = @_;
+ $entry->{width} = $alloc->{width};
+ $update_ratio->();
+ 0;
+ });
+ $update_size_labels->();
+ $hpane->signal_connect('motion-notify-event' => $update_req_size);
+ $hpane->signal_connect('move-handle' => $update_req_size);
+ $hpane->signal_connect('button-press-event' => $button_activate);
+ $vbox->signal_connect('button-press-event' => $button_activate);
+ $button->signal_connect('focus-in-event' => sub {
+ $hpane->grab_focus;
+ 0;
+ });
+ } else {
+ if ($fill_empty && isEmpty($entry)) {
+ $part_info = gtknew("Image", file => "small-logo");
+ $part_widget->set_name("PART_new");
+ } else {
+ $part_widget->set_name("PART_" . (isEmpty($entry) ? 'empty' :
+ $entry->{fs_type} && member($entry->{fs_type}, @colorized_fs_types) ? $entry->{fs_type} :
+ 'other'));
+ }
+ $part_widget->set_size_request($entry->{width}, 0);
+ ugtk3::gtkpack($display_box, $part_widget);
+ }
+ $part_widget->add($part_info);
+ }
+ unless ($resize || $fill_empty) {
+ my @types = (N_("Ext2/3/4"), N_("XFS"), N_("Swap"), N_("Windows"),
+ N_("Other"), N_("Empty"));
+ my %name2fs_type = ('Ext2/3/4' => 'ext3', 'XFS' => 'xfs', Swap => 'swap', Other => 'other', "Windows" => 'vfat', HFS => 'hfs');
+ $desc = ugtk3::gtkpack(Gtk3::HBox->new,
+ map {
+ my $t = $name2fs_type{$_};
+ my $ev = Gtk3::EventBox->new;
+ my $w = Gtk3::Label->new(translate($_));
+ $ev->add($w);
+ $ev->set_name('PART_' . ($t || 'empty'));
+ $ev;
+ } @types);
+ }
+
+ $vbox->add($display_box);
+ $vbox->add($desc) if $desc;
+
+ $vbox;
+}
+
+sub display_choices {
+ my ($o, $contentbox, $mainw, %solutions) = @_;
+ my @solutions = sort { $solutions{$b}[0] <=> $solutions{$a}[0] } keys %solutions;
+ my @sol = grep { $solutions{$_}[0] >= 0 } @solutions;
+
+ log::l('' . "solutions found: " . join(', ', map { $solutions{$_}[1] } @sol) .
+ " (all solutions found: " . join(', ', map { $solutions{$_}[1] } @solutions) . ")");
+
+ @solutions = @sol if @sol > 1;
+ log::l("solutions: ", int @solutions);
+ @solutions or $o->ask_warn(N("Partitioning"), N("I cannot find any room for installing")), die 'already displayed';
+
+ log::l('HERE: ', join(',', map { $solutions{$_}[1] } @solutions));
+
+ $contentbox->foreach(sub { $contentbox->remove($_[0]) });
+
+ $mainw->{kind}{display_box} ||= create_display_box($mainw->{kind});
+ ugtk3::gtkpack2__($contentbox, $mainw->{kind}{display_box});
+ ugtk3::gtkpack__($contentbox, gtknew('Label',
+ text => N("The DrakX Partitioning wizard found the following solutions:"),
+ alignment => [0, 0]));
+
+ my $choicesbox = gtknew('VBox');
+ my $oldbutton;
+ my $sep;
+ foreach my $s (@solutions) {
+ my $item;
+ my $vbox = gtknew('VBox');
+ my $button = gtknew('RadioButton', child => $vbox);
+ if ($s eq 'free_space') {
+ $item = create_display_box($mainw->{kind}, undef, 1);
+ } elsif ($s eq 'resize_fat') {
+ $item = create_display_box($mainw->{kind}, $solutions{$s}[3], undef, $button);
+ } elsif ($s eq 'existing_part') {
+ } elsif ($s eq 'wipe_drive') {
+ $item = Gtk3::EventBox->new;
+ my $b2 = gtknew("Image", file => "small-logo");
+ $item->add($b2);
+ $item->set_size_request(520,26);
+ $item->set_name("PART_new");
+ } elsif ($s eq 'diskdrake') {
+ } else {
+ log::l($s);
+ next;
+ }
+ ugtk3::gtkpack($vbox,
+ gtknew('Label',
+ text => $solutions{$s}[1],
+ alignment => [0, 0]));
+ ugtk3::gtkpack($vbox, $item) if defined($item);
+ $button->join_group($oldbutton) if $oldbutton;
+ $oldbutton = $button;
+ $button->signal_connect('toggled', sub { $mainw->{sol} = $solutions{$s} if $_[0]->get_active });
+ ugtk3::gtkpack2__($choicesbox, $button);
+ $sep = gtknew('HSeparator');
+ ugtk3::gtkpack2__($choicesbox, $sep);
+ }
+ $choicesbox->remove($sep);
+ ugtk3::gtkadd($contentbox, $choicesbox);
+ $mainw->{sol} = $solutions{@solutions[0]};
+}
+
+sub main {
+ my ($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab, $b_nodiskdrake) = @_;
+
+ my $sol;
+
+ if ($o->isa('interactive::gtk')) {
+ require mygtk3;
+ mygtk3->import(qw(gtknew));
+ require ugtk3;
+ ugtk3->import(qw(:wrappers));
+
+ my $mainw = ugtk3->new(N("Partitioning"), %$o, if__($::main_window, transient => $::main_window));
+ $mainw->{box_allow_grow} = 1;
+
+ mygtk3::set_main_window_size($mainw->{rwindow});
+
+ require diskdrake::hd_gtk;
+ diskdrake::hd_gtk::load_theme();
+
+ my $mainbox = Gtk3::VBox->new;
+
+ my @kinds = map { diskdrake::hd_gtk::hd2kind($_) } sort { $a->{is_removable} <=> $b->{is_removable} } @{ $all_hds->{hds} };
+ #push @kinds, diskdrake::hd_gtk::raid2real_kind($_) foreach @{$all_hds->{raids}};
+ push @kinds, map { diskdrake::hd_gtk::lvm2kind($_) } @{$all_hds->{lvms}};
+
+ my $hdchoice = Gtk3::HBox->new;
+
+ my $hdchoicelabel = Gtk3::Label->new(N("Here is the content of your disk drive "));
+
+ my $combobox = Gtk3::ComboBoxText->new;
+ foreach (@kinds) {
+ my $info = $_->{val}{info} || $_->{val}{device};
+ $info =~ s|^(?:.*/)?(.{24}).*|$1|;
+ $info .= " (" . formatXiB($_->{val}{totalsectors}, 512) . ")" if $_->{val}{totalsectors};
+ $combobox->append_text($info);
+ }
+ $combobox->set_active(0);
+
+ ugtk3::gtkpack2__($hdchoice, $hdchoicelabel);
+ $hdchoice->add($combobox);
+
+ ugtk3::gtkpack2__($mainbox, $hdchoice);
+
+ my $contentbox = Gtk3::VBox->new(0, 12);
+
+ my $scroll = Gtk3::ScrolledWindow->new;
+ $scroll->set_policy('automatic', 'automatic'),
+ my $vp = Gtk3::Viewport->new;
+ $vp->set_shadow_type('none');
+ $vp->add($contentbox);
+ $scroll->add($vp);
+ $mainbox->add($scroll);
+
+ my $kind = $kinds[$combobox->get_active];
+ my %solutions = partitionWizardSolutions($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab, diskdrake::hd_gtk::kind2hd($kind));
+ delete $solutions{diskdrake} if $b_nodiskdrake;
+ $mainw->{kind} = $kind;
+ display_choices($o, $contentbox, $mainw, %solutions);
+
+ $combobox->signal_connect("changed", sub {
+ my $curr = $kinds[$combobox->get_active];
+ return if !$curr;
+ $mainw->{kind} = $curr;
+ my %solutions = partitionWizardSolutions($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab, diskdrake::hd_gtk::kind2hd($mainw->{kind}));
+ delete $solutions{diskdrake} if $b_nodiskdrake;
+ display_choices($o, $contentbox, $mainw, %solutions);
+ $mainw->{window}->show_all;
+ });
+
+ my @more_buttons = (
+ if_($::isInstall,
+ [ gtknew('Install_Button',
+ text => N("Help"),
+ clicked => sub { interactive::gtk::display_help($o, {interactive_help_id => 'doPartitionDisks' }) }),
+ undef, 1 ]),
+ );
+ my $buttons_pack = $mainw->create_okcancel(N("Next"), undef, '', @more_buttons);
+ $mainbox->pack_end($buttons_pack, 0, 0, 0);
+ ugtk3::gtkadd($mainw->{window}, $mainbox);
+ $mainw->{window}->show_all;
+
+ $mainw->main;
+
+ $sol=$mainw->{sol};
+ } else {
+ my %solutions = partitionWizardSolutions($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab);
+
+ delete $solutions{diskdrake} if $b_nodiskdrake;
+
+ my @solutions = sort { $b->[0] <=> $a->[0] } values %solutions;
+
+ my @sol = grep { $_->[0] >= 0 } @solutions;
+ log::l('' . "solutions found: " . join(', ', map { $_->[1] } @sol) .
+ " (all solutions found: " . join(', ', map { $_->[1] } @solutions) . ")");
+ @solutions = @sol if @sol > 1;
+ log::l("solutions: ", int @solutions);
+ @solutions or $o->ask_warn(N("Partitioning"), N("I cannot find any room for installing")), die 'already displayed';
+ log::l('HERE: ', join(',', map { $_->[1] } @solutions));
+ $o->ask_from_({
+ title => N("Partitioning"),
+ interactive_help_id => 'doPartitionDisks',
+ },
+ [
+ { label => N("The DrakX Partitioning wizard found the following solutions:"), title => $::isInstall },
+ { val => \$sol, list => \@solutions, format => sub { $_[0][1] }, type => 'list' },
+ ]);
+ }
+ log::l("partitionWizard calling solution $sol->[1]");
+ my $ok = eval { $sol->[2]->() };
+ if (my $err = $@) {
+ if ($err =~ /wizcancel/) {
+ $_->destroy foreach $::WizardTable->get_children;
+ } else {
+ log::l("Partitioning failed: $err");
+ $o->ask_warn('', N("Partitioning failed: %s", formatError($err)));
+ }
+ }
+ $ok or goto &main;
+ 1;
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/fs/proc_partitions.pm b/perl-install/fs/proc_partitions.pm
new file mode 100644
index 000000000..ea714ca5b
--- /dev/null
+++ b/perl-install/fs/proc_partitions.pm
@@ -0,0 +1,82 @@
+package fs::proc_partitions;
+
+use common;
+
+
+sub read_raw() {
+ my (undef, undef, @all) = cat_("/proc/partitions");
+ grep {
+ $_->{size} != 1 && # skip main extended partition
+ $_->{size} != 0x3fffffff && # skip cdroms (otherwise stops cd-audios)
+ $_->{dev} !~ /mmcblk\d+[^p]/; # only keep partitions like mmcblk0p0
+ # not mmcblk0rpmb or mmcblk0boot0 as they
+ # are not in the partition table and
+ # things will break (mga#15759)
+ } map {
+ my %l;
+ @l{qw(major minor size dev)} = split;
+ \%l;
+ } @all;
+}
+
+sub read {
+ my ($hds, $o_ignore_fstype) = @_;
+
+ my @all = read_raw();
+ my ($parts, $_disks) = partition { $_->{dev} =~ /\d$/ && $_->{dev} !~ /^(sr|scd)/ } @all;
+
+ fs::get_major_minor($hds);
+
+ my $prev_part;
+ foreach my $part (@$parts) {
+ my $dev = $part->{dev};
+ if (my $hd = find { $part->{dev} =~ /^\Q$_->{device}\E./ } @$hds) {
+ put_in_hash($part, partition_table::hd2minimal_part($hd));
+ }
+
+ undef $prev_part if $prev_part && ($prev_part->{rootDevice} || '') ne ($part->{rootDevice} || '');
+
+ $part->{device} = $dev;
+ $part->{size} *= 2; # from KB to sectors
+ $part->{start} = $prev_part ? $prev_part->{start} + $prev_part->{size} : 0;
+ require fs::type;
+ put_in_hash($part, fs::type::type_subpart_from_magic($part)) if !$o_ignore_fstype;
+ $prev_part = $part;
+ delete $part->{dev}; # cleanup
+ }
+ @$parts;
+}
+
+sub compare {
+ my ($hd) = @_;
+
+ eval { $hd->isa('partition_table::lvm') } and return;
+
+
+ my @l1 = partition_table::get_normal_parts($hd);
+ my @l2 = grep { $_->{rootDevice} eq $hd->{device} } &read([$hd], 1);
+
+ #- /proc/partitions includes partition with type "empty" and a non-null size
+ #- so add them for comparison
+ my ($len1, $len2) = (int(@l1) + $hd->{primary}{nb_special_empty}, int(@l2));
+
+ if ($len1 != $len2) {
+ if (find { $_->{pt_type} == 0xbf } @l1) {
+ log::l("not using /proc/partitions because of the presence of solaris extended partition"); #- cf #33866
+ } else {
+ die sprintf(
+ "/proc/partitions does not agree with drakx %d != %d for %s:\n%s\n", $len1, $len2, $hd->{device},
+ "/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @l2));
+ }
+ }
+ $len2;
+}
+
+sub use_ {
+ my ($hd) = @_;
+
+ require partition_table::readonly;
+ partition_table::readonly->initialize($hd, [ grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]) ]);
+}
+
+1;
diff --git a/perl-install/fs/remote.pm b/perl-install/fs/remote.pm
new file mode 100644
index 000000000..ea5944a25
--- /dev/null
+++ b/perl-install/fs/remote.pm
@@ -0,0 +1,45 @@
+package fs::remote;
+
+use strict;
+use diagnostics;
+
+use fs::mount_options;
+
+
+sub new {
+ my ($class, $o_v) = @_;
+ bless($o_v || {}, $class);
+}
+
+sub server_to_string {
+ my ($_class, $server) = @_;
+ $server->{name} || $server->{ip};
+}
+sub comment_to_string {
+ my ($_class, $comment) = @_;
+ $comment;
+}
+sub to_dev {
+ my ($class, $e) = @_;
+ $class->to_dev_raw($class->server_to_string($e->{server}), $e->{name} || $e->{ip});
+}
+sub to_string {
+ my ($class, $e) = @_;
+ my $comment = $class->comment_to_string($e->{comment});
+ ($e->{name} || $e->{ip}) . ($comment ? " ($comment)" : '');
+}
+
+sub to_fullstring {
+ my ($class, $e) = @_;
+ my $comment = $class->comment_to_string($e->{comment});
+ $class->to_dev($e) . ($comment ? " ($comment)" : '');
+}
+sub to_fstab_entry_raw {
+ my ($class, $e, $fs_type) = @_;
+ my $fs_entry = { device => $class->to_dev($e), fs_type => $fs_type };
+ fs::mount_options::set_default($fs_entry);
+ $fs_entry;
+}
+
+1;
+
diff --git a/perl-install/fs/remote/davfs.pm b/perl-install/fs/remote/davfs.pm
new file mode 100644
index 000000000..890530cb9
--- /dev/null
+++ b/perl-install/fs/remote/davfs.pm
@@ -0,0 +1,99 @@
+package fs::remote::davfs;
+
+use strict;
+use diagnostics;
+
+use common;
+use fs::mount_options;
+
+sub secrets_file() { "$::prefix/etc/davfs2/secrets" }
+
+sub fstab_entry_to_credentials {
+ my ($part) = @_;
+
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ my %h = map { $_ => delete $options->{"$_="} } qw(username password);
+ foreach (qw(username password)) {
+ $h{$_} ||= 'nobody';
+ }
+ $h{mntpoint} = $part->{mntpoint} or return;
+ fs::mount_options::pack_($part, $options, $unknown), \%h;
+}
+
+sub save_credentials {
+ my ($credentials) = @_;
+ @$credentials or return;
+
+ output_with_perm(secrets_file(), 0600,
+ map { to_double_quoted($_->{mntpoint}, $_->{username}, $_->{password}) . "\n" } @$credentials);
+}
+
+sub mountpoint_credentials_save {
+ my ($mntpoint, $mount_opt) = @_;
+ my @entries = read_credentials_raw();
+ my $entry = find { $mntpoint eq $_->{mntpoint} } @entries;
+ die "mountpoint not found" if !$entry;
+ my %h;
+ foreach (@$mount_opt) {
+ my @var = split(/=/);
+ $h{$var[0]} = $var[1];
+ }
+ foreach my $key (qw(username password)) {
+ $entry->{$key} = $h{$key};
+ }
+ save_credentials(\@entries);
+}
+
+
+sub read_credentials_raw() {
+ from_double_quoted(cat_(secrets_file()));
+}
+
+sub read_credentials {
+ my ($mntpoint) = @_;
+ find { $mntpoint eq $_->{mntpoint} } read_credentials_raw();
+}
+
+# Comments are indicated by a '#' character and the rest of the line
+# is ignored. Empty lines are ignored too.
+#
+# Each line consists of two or three items separated by spaces or tabs.
+# If an item contains one of the characters space, tab, #, \ or ", this
+# character must be escaped by a preceding \. Alternatively, the item
+# may be enclosed in double quotes.
+
+sub from_double_quoted {
+ my ($file) = @_;
+ my @l;
+ my @lines = split("\n",$file);
+ foreach (@lines) {
+ my ($mnt, $user, $pass, $comment);
+ if (/^\s*(#.*)?$/) {
+ $comment = $1;
+ } else {
+ if (/^(?:"((?:\\.|[^"])*)"|((?:\\.|[^"\s#])+))\s+(?:"((?:\\.|[^"])*)"|((?:\\.|[^"\s#])+))(?:\s+(?:"((?:\\.|[^"])*)"|((?:\\.|[^"\s#])+)))?(?:\s*|\s*(#.*))?$/) {
+ $mnt = "$1$2";
+ $mnt =~ s/\\(.)/$1/g;
+ $user = "$3$4";
+ $user =~ s/\\(.)/$1/g;
+ $pass = "$5$6";
+ $pass =~ s/\\(.)/$1/g;
+ $comment=$7;
+ } else {
+ die "bad entry $_";
+ }
+ }
+ push @l, { 'mntpoint' => $mnt, 'username' => $user, 'password' => $pass, 'comment' => $comment };
+ }
+ @l;
+}
+
+sub to_double_quoted {
+ my (@l) = @_;
+ join(' ', map {
+ s/(["\\])/\\$1/g;
+ /\s/ ? qq("$_") : $_;
+ } @l);
+}
+
+1;
diff --git a/perl-install/fs/remote/nfs.pm b/perl-install/fs/remote/nfs.pm
new file mode 100644
index 000000000..f7a98cb69
--- /dev/null
+++ b/perl-install/fs/remote/nfs.pm
@@ -0,0 +1,74 @@
+package fs::remote::nfs;
+
+use strict;
+use diagnostics;
+
+use common;
+use fs::remote;
+use network::tools;
+use log;
+
+our @ISA = 'fs::remote';
+
+sub to_fstab_entry {
+ my ($class, $e) = @_;
+ $class->to_fstab_entry_raw($e, 'nfs');
+}
+sub comment_to_string {
+ my ($_class, $comment) = @_;
+ member($comment, qw(* 0.0.0.0/0.0.0.0 (everyone))) ? '' : $comment;
+}
+sub from_dev {
+ my ($_class, $dev) = @_;
+ $dev =~ m|(.*?):(.*)|;
+}
+sub to_dev_raw {
+ my ($_class, $server, $name) = @_;
+ $server . ':' . $name;
+}
+
+sub check {
+ my ($_class, $in) = @_;
+ $in->do_pkgs->ensure_files_are_installed([ [ qw(nfs-utils showmount) ] , [ qw(nmap nmap) ] ]);
+ require services;
+ services::start_not_running_service('rpcbind');
+ services::start('nfs-common'); #- TODO: once nfs-common is fixed, it could use start_not_running_service()
+ 1;
+}
+
+sub find_servers {
+ my @hosts;
+ my %servers;
+ my @routes = cat_("/proc/net/route");
+ @routes = reverse(@routes) if common::cmp_kernel_versions(c::kernel_version(), "2.6.39") >= 0;
+ foreach (@routes) {
+ if (/^(\S+)\s+([0-9A-F]+)\s+([0-9A-F]+)\s+[0-9A-F]+\s+\d+\s+\d+\s+(\d+)\s+([0-9A-F]+)/) {
+ my $net = network::tools::host_hex_to_dotted($2);
+ my $gateway = $3;
+ # get the netmask in binary and remove leading zeros
+ my $mask = unpack('B*', pack('h*', $5));
+ $mask =~ s/^0*//;
+ push @hosts, $net . "/" . length($mask) if $gateway eq '00000000' && $net ne '169.254.0.0';
+ }
+ }
+ # runs the nmap command on the local subnet
+ my $cmd = "/usr/bin/nmap -p 111 --open --system-dns -oG - " . (join ' ',@hosts);
+ open my $FH, "$cmd |" or die "Could not perform nmap scan - $!";
+ foreach (<$FH>) {
+ my ($ip, $name) = /^H\S+\s(\S+)\s+\((\S*)\).+Port/ or next;
+ $servers{$ip} ||= { ip => $ip, name => $name || $ip };
+ }
+ close $FH;
+ values %servers;
+}
+
+sub find_exports {
+ my ($_class, $server) = @_;
+
+ my @l;
+ run_program::raw({ timeout => 1 }, "showmount", '>', \@l, "--no-headers", "-e", $server->{ip} || $server->{name});
+
+ map { if_(/(\S+(\s*\S+)*)\s+(\S+)/, { name => $1, comment => $3, server => $server }) } @l;
+}
+
+1;
diff --git a/perl-install/fs/remote/smb.pm b/perl-install/fs/remote/smb.pm
new file mode 100644
index 000000000..d440fc174
--- /dev/null
+++ b/perl-install/fs/remote/smb.pm
@@ -0,0 +1,218 @@
+package fs::remote::smb;
+
+use strict;
+use diagnostics;
+
+use common;
+use fs::mount_options;
+use fs::remote;
+
+
+our @ISA = 'fs::remote';
+
+sub to_fstab_entry {
+ my ($class, $e) = @_;
+ my $part = $class->to_fstab_entry_raw($e, 'cifs');
+ if ($e->{server}{username}) {
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ $options->{"$_="} = $e->{server}{$_} foreach qw(username password domain);
+ fs::mount_options::pack($part, $options, $unknown);
+ }
+ $part;
+}
+sub from_dev {
+ my ($_class, $dev) = @_;
+ $dev =~ m|//(.*?)/(.*)|;
+}
+sub to_dev_raw {
+ my ($_class, $server, $name) = @_;
+ '//' . $server . '/' . $name;
+}
+
+sub check {
+ my ($_class, $in) = @_;
+ $in->do_pkgs->ensure_binary_is_installed('samba-client', 'nmblookup');
+}
+
+sub smbclient {
+ my ($server) = @_;
+ my $name = $server->{name} || $server->{ip};
+ my $ip = $server->{ip} ? "-I $server->{ip}" : '';
+ my $group = $server->{group} ? qq( -W "$server->{group}") : '';
+
+ my $U = $server->{username} ? sprintf("%s/%s%%%s", @$server{'domain', 'username', 'password'}) : '%';
+ my %h;
+ foreach (`smbclient -g -U "$U" -L "$name" $ip$group 2>/dev/null`) {
+ if (my ($type, $v1, $v2) = /(.*)\|(.*)\|(.*)/) {
+ push @{$h{$type}}, [ $v1, $v2 ];
+ } elsif (/^Error returning browse list/) {
+ push @{$h{Error}}, $_;
+ }
+ }
+ \%h;
+}
+
+sub find_servers {
+ my (undef, @l) = `nmblookup "*"; nmblookup -M -- -`;
+ s/\s.*\n// foreach @l;
+ require network::network;
+ my @servers = grep { network::network::is_ip($_) } @l;
+ return unless @servers;
+ my %servers;
+ $servers{$_}{ip} = $_ foreach @servers;
+ my ($ip, $browse);
+ foreach (`nmblookup -A @servers`) {
+ my $nb = /^Looking up status of (\S+)/ .. /^$/ or next;
+ if ($nb == 1) {
+ $ip = $1;
+ } elsif (/<00>/) {
+ $servers{$ip}{/<GROUP>/ ? 'group' : 'name'} ||= lc first(/(\S+)/);
+ } elsif (/__MSBROWSE__/) {
+ $browse ||= $servers{$ip};
+ }
+ }
+ if ($browse) {
+ my %l;
+ my $workgroups = smbclient($browse)->{Workgroup} || [];
+ foreach (@$workgroups) {
+ my ($group, $name) = map { lc($_) } @$_;
+
+ # already done
+ next if any { $group eq $_->{group} } values %servers;
+
+ $l{$name} = $group;
+ }
+ if (my @l = keys %l) {
+ foreach (`nmblookup @l`) {
+ $servers{$1} = { name => $2, group => $l{$2} } if /(\S+)\s+([^<]+)<00>/;
+ }
+ }
+ }
+ values %servers;
+}
+
+sub find_exports {
+ my ($_class, $server) = @_;
+ my @l;
+
+ my $browse = smbclient($server);
+ if (my $err = find { /NT_STATUS_/ } @{$browse->{Error} || []}) {
+ die $err;
+ }
+ foreach (@{$browse->{Disk} || []}) {
+ my ($name, $comment) = @$_;
+ push @l, { name => $name, type => 'Disk', comment => $comment, server => $server }
+ if $name !~ /\$$/ && $name !~ /netlogon|NETLOGON|SYSVOL/;
+ }
+ @l;
+}
+
+sub authentications_available {
+ my ($server) = @_;
+ map { if_(/^auth.\Q$server->{name}.\E(.*)/, $1) } all("/etc/samba");
+}
+
+sub to_credentials {
+ my ($server_name, $username) = @_;
+ $username or die 'to_credentials';
+ "/etc/samba/auth.$server_name.$username";
+}
+
+sub fstab_entry_to_credentials {
+ my ($part) = @_;
+
+ my ($server_name) = fs::remote::smb->from_dev($part->{device}) or return;
+
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ $options->{'username='} && $options->{'password='} or return;
+ my %h = map { $_ => delete $options->{"$_="} } qw(username password);
+ $h{file} = $options->{'credentials='} = to_credentials($server_name, $h{username});
+ fs::mount_options::pack_($part, $options, $unknown), \%h;
+}
+
+sub remove_bad_credentials {
+ my ($server) = @_;
+ unlink to_credentials($server->{name}, $server->{username});
+}
+
+sub save_credentials {
+ my ($credentials) = @_;
+ my $file = $credentials->{file};
+ output_with_perm("$::prefix$file", 0640, map { "$_=$credentials->{$_}\n" } qw(username password));
+}
+
+
+sub read_credentials_raw {
+ my ($file) = @_;
+ my %h = map { /(.*?)\s*=\s*(.*)/ } cat_("$::prefix$file");
+ \%h;
+}
+
+sub read_credentials {
+ my ($server, $username) = @_;
+ put_in_hash($server, read_credentials_raw(to_credentials($server->{name}, $username)));
+}
+
+
+sub write_smb_conf {
+ my ($domain) = @_;
+
+ #- was going to just have a canned config in samba-winbind
+ #- and replace the domain, but sylvestre/buchan did not bless it yet
+
+ my $f = "$::prefix/etc/samba/smb.conf";
+ rename $f, "$f.orig";
+ output($f, "
+[global]
+ workgroup = $domain
+ server string = Samba Server %v
+ security = domain
+ encrypt passwords = Yes
+ password server = *
+ log file = /var/log/samba/log.%m
+ max log size = 50
+ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
+ unix charset = ISO8859-15
+ os level = 18
+ local master = No
+ dns proxy = No
+ idmap uid = 10000-20000
+ idmap gid = 10000-20000
+ winbind separator = +
+ template homedir = /home/%D/%U
+ template shell = /bin/bash
+ winbind use default domain = yes
+");
+}
+
+sub write_smb_ads_conf {
+ my ($domain, $realm) = @_;
+
+ #- was going to just have a canned config in samba-winbind
+ #- and replace the domain, but sylvestre/buchan did not bless it yet
+
+ my $f = "$::prefix/etc/samba/smb.conf";
+ rename $f, "$f.orig";
+ output($f, "
+[global]
+ workgroup = $domain
+ realm = $realm
+ server string = Samba Member %v
+ security = ads
+ encrypt passwords = Yes
+ password server = *
+ log file = /var/log/samba/log.%m
+ max log size = 50
+ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
+ os level = 18
+ local master = No
+ dns proxy = No
+ winbind uid = 10000-20000
+ winbind gid = 10000-20000
+ winbind separator = +
+ template homedir = /home/%D/%U
+ template shell = /bin/bash
+ winbind use default domain = yes
+");
+}
+1;
diff --git a/perl-install/fs/type.pm b/perl-install/fs/type.pm
new file mode 100644
index 000000000..141d5b5e2
--- /dev/null
+++ b/perl-install/fs/type.pm
@@ -0,0 +1,456 @@
+package fs::type;
+
+use diagnostics;
+use strict;
+
+use common;
+use devices;
+
+=head1 SYNOPSYS
+
+B<fs::type> enables to perform various tests on filesystem types.
+
+=head1 Functions
+
+=over
+
+=cut
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(
+ isBlockCheckable isEmpty isExtended isFormatable isTrueLocalFS isTrueFS isDos isSwap isOtherAvailableFS isRawLVM isRawRAID isRawLUKS isRAID isLVM isLUKS isMountableRW isNonMountable isPartOfLVM isPartOfRAID isPartOfLoopback isLoopback isMounted isBusy isSpecial isApple isAppleBootstrap isBIOS_GRUB isESP isFat_or_NTFS isnormal_Fat_or_NTFS isRecovery
+ maybeFormatted set_isFormatted defaultFS
+);
+
+
+my (%type_name2pt_type, %type_name2fs_type, %fs_type2pt_type, %pt_type2fs_type, %type_names);
+
+{
+ my @list_types = (
+ important => [
+ 0x82 => 'swap', 'Linux swap',
+ 0x83 => 'ext2', 'Linux native',
+ 0x83 => 'ext3', 'Journalised FS: ext3',
+ 0x83 => 'ext4', 'Journalised FS: ext4',
+ 0x83 => 'btrfs', 'Journalised FS: Btrfs',
+(is_uefi() ?
+ (0xef => 'vfat', 'EFI System Partition') :
+ ('BIOS_GRUB' => 'BIOS_GRUB', 'BIOS boot or Empty partition')
+),
+if_(arch() =~ /i.86|x86_64/,
+ 0x83 => 'xfs', 'Journalised FS: XFS',
+ 0x83 => 'jfs', 'Journalised FS: JFS',
+ 0x0b => 'vfat', 'FAT32',
+ 0x07 => 'ntfs-3g', 'NTFS-3G',
+ 0x07 => 'ntfs', 'NTFS',
+ 0x07 => 'ntfs3', 'NTFS3',
+ 0x07 => 'exfat', 'exFAT',
+),
+ ],
+
+ non_fs_type => [
+ 0x83 => '', 'Encrypted',
+ 0x8e => '', 'Linux Logical Volume Manager',
+ 0xfd => '', 'Linux RAID',
+ ],
+
+ special => [
+ 0x0 => '', 'Empty',
+ 0x05 => '', 'Extended',
+ 0x0f => '', 'W95 Extended (LBA)',
+ 0x85 => '', 'Linux extended',
+ ],
+
+ other => [
+ if_(arch() =~ /^i.86|x86_64/,
+ 0x01 => 'vfat', 'FAT12',
+ 0x02 => '', 'XENIX root',
+ 0x03 => '', 'XENIX usr',
+ 0x04 => 'vfat', 'FAT16 <32M',
+ 0x06 => 'vfat', 'FAT16',
+ 0x07 => 'hpfs', 'HPFS',
+ 0x08 => '', 'AIX',
+),
+ 0x09 => '', 'AIX bootable',
+ 0x0a => '', 'OS/2 Boot Manager',
+ 0x0c => 'vfat', 'W95 FAT32 (LBA)',
+ 0x0e => 'vfat', 'W95 FAT16 (LBA)',
+ 0x10 => '', 'OPUS',
+ 0x11 => '', 'Hidden FAT12',
+ 0x12 => '', 'Compaq diagnostics',
+ 0x14 => '', 'Hidden FAT16 <32M',
+ 0x16 => '', 'Hidden FAT16',
+ 0x17 => 'ntfs', 'Hidden HPFS/NTFS',
+ 0x18 => '', 'AST SmartSleep',
+ 0x1b => 'vfat', 'Hidden W95 FAT32', # \
+ 0x1c => 'vfat', 'Hidden W95 FAT32 (LBA)', # > don't change label, it's used to know if it's not a boot partition in bootloader.pm
+ 0x1e => 'vfat', 'Hidden W95 FAT16 (LBA)', # /
+ 0x24 => '', 'NEC DOS',
+ 0x39 => '', 'Plan 9',
+ 0x3c => '', 'PartitionMagic recovery',
+ 0x40 => '', 'Venix 80286',
+ 0x41 => '', 'PPC PReP Boot',
+ 0x42 => '', 'SFS',
+ 0x4d => '', 'QNX4.x',
+ 0x4e => '', 'QNX4.x 2nd part',
+ 0x4f => '', 'QNX4.x 3rd part',
+ 0x50 => '', 'OnTrack DM',
+ 0x51 => '', 'OnTrack DM6 Aux1',
+ 0x52 => '', 'CP/M',
+ 0x53 => '', 'OnTrack DM6 Aux3',
+ 0x54 => '', 'OnTrackDM6',
+ 0x55 => '', 'EZ-Drive',
+ 0x56 => '', 'Golden Bow',
+ 0x5c => '', 'Priam Edisk',
+ 0x61 => '', 'SpeedStor',
+ 0x63 => '', 'GNU HURD or SysV',
+ 0x64 => '', 'Novell Netware 286',
+ 0x65 => '', 'Novell Netware 386',
+ 0x70 => '', 'DiskSecure Multi-Boot',
+ 0x75 => '', 'PC/IX',
+ 0x80 => '', 'Old Minix',
+ 0x81 => '', 'Minix / old Linux',
+ 0x83 => 'f2fs', 'Journalised FS: F2FS',
+ 0x83 => 'reiserfs', 'Journalised FS: ReiserFS',
+ 0x83 => 'nilfs2', 'Journalised FS: NILFS2',
+ 0x84 => '', 'OS/2 hidden C: drive',
+ 0x86 => '', 'NTFS volume set (0x86)',
+ 0x87 => '', 'NTFS volume set (0x87)',
+ 0x93 => '', 'Amoeba',
+ 0x94 => '', 'Amoeba BBT',
+ 0x9f => '', 'BSD/OS',
+ 0xa0 => '', 'IBM Thinkpad hibernation',
+ 0xa5 => '', 'FreeBSD',
+ 0xa6 => '', 'OpenBSD',
+ 0xa7 => '', 'NeXTSTEP',
+ 0xa8 => '', 'Darwin UFS',
+ 0xa9 => '', 'NetBSD',
+ 0xab => '', 'Darwin boot',
+ 0xb7 => '', 'BSDI fs',
+ 0xb8 => '', 'BSDI swap',
+ 0xbb => '', 'Boot Wizard hidden',
+ 0xbe => '', 'Solaris boot',
+ 0xbf => '', 'Microsoft XBox OS Partitions',
+ 0xc1 => '', 'DRDOS/sec (FAT-12)',
+ 0xc4 => '', 'DRDOS/sec (FAT-16 < 32M)',
+ 0xc6 => '', 'DRDOS/sec (FAT-16)',
+ 0xc7 => '', 'Syrinx',
+ 0xda => '', 'Non-FS data',
+ 0xdb => '', 'CP/M / CTOS / ...',
+ 0xde => '', 'Dell Utility',
+ 0xdf => '', 'BootIt',
+ 0xe1 => '', 'SpeedStor (FAT-12)',
+ 0xe3 => '', 'DOS R/O',
+ 0xe4 => '', 'SpeedStor (FAT-16)',
+ 0xeb => 'befs', 'BeOS fs',
+ 0xee => '', 'EFI GPT',
+ 0xf0 => '', 'Linux/PA-RISC boot',
+ 0xf4 => '', 'SpeedStor (large part.)',
+ 0xf2 => '', 'DOS secondary',
+ 0xfe => '', 'LANstep',
+ 0xff => '', 'BBT',
+ ],
+ );
+
+ foreach (group_by2(@list_types)) {
+ my ($name, $l) = @$_;
+ for (my $i = 0; defined $l->[$i]; $i += 3) {
+ my $pt_type = $l->[$i];
+ my $fs_type = $l->[$i + 1];
+ my $type_name = $l->[$i + 2];
+ !exists $type_name2fs_type{$type_name} or internal_error("'$type_name' is not unique");
+ $type_name2fs_type{$type_name} = $fs_type;
+ $type_name2pt_type{$type_name} = $pt_type;
+
+ $fs_type2pt_type{$fs_type} ||= $pt_type;
+ $pt_type2fs_type{$pt_type} ||= $fs_type;
+ push @{$type_names{$name}}, $type_name;
+ }
+ }
+}
+
+
+sub type_names {
+ my ($expert, $o_hd) = @_;
+ my @l = @{$type_names{important}};
+ push @l, grep { $_ ne 'Encrypted' } @{$type_names{non_fs_type}};
+ push @l, sort @{$type_names{other}} if $expert;
+ # not show partition types which have no associated filesystem for LVM LV:
+ if ($o_hd && isLVM($o_hd)) {
+ @l = grep { $type_name2fs_type{$_} } @l;
+ @l = uniq_ { $type_name2fs_type{$_} } @l;
+ (@l, @{$type_names{non_fs_type}});
+ } else {
+ @l;
+ }
+}
+
+sub type_name2subpart {
+ my ($name) = @_;
+ exists $type_name2fs_type{$name} &&
+ { type_name => $name,
+ fs_type => $type_name2fs_type{$name}, pt_type => $type_name2pt_type{$name} };
+}
+
+sub part2type_name {
+ my ($part) = @_;
+ my @names = keys %type_name2fs_type;
+
+ my $pt_type = defined $part->{pt_type} ? $part->{pt_type} : $part->{fs_type} && $fs_type2pt_type{$part->{fs_type}};
+ if (defined $pt_type) {
+ @names = grep { $pt_type eq $type_name2pt_type{$_} } @names;
+ }
+ if (my $fs_type = $part->{fs_type} || $part->{pt_type} && $pt_type2fs_type{$part->{pt_type}}) {
+ @names = grep { $fs_type eq $type_name2fs_type{$_} } @names;
+ }
+ if (@names > 1) {
+ log::l("ERROR: (part2type_name) multiple match for $part->{pt_type} $part->{fs_type}");
+ }
+ first(@names);
+}
+sub type_name2pt_type {
+ local ($_) = @_;
+ /0x(.*)/ ? hex $1 : $type_name2pt_type{$_} || $_;
+}
+
+
+sub pt_type2subpart {
+ my ($pt_type) = @_;
+ my $fs_type = $pt_type2fs_type{$pt_type};
+ { pt_type => $pt_type, if_($fs_type, fs_type => $fs_type) };
+}
+sub fs_type2subpart {
+ my ($fs_type) = @_;
+ my $pt_type = $fs_type2pt_type{$fs_type};
+ { fs_type => $fs_type, if_($pt_type, pt_type => $pt_type) };
+}
+sub set_fs_type {
+ my ($part, $fs_type) = @_;
+ put_in_hash($part, fs_type2subpart($fs_type));
+}
+sub set_pt_type {
+ my ($part, $pt_type) = @_;
+ put_in_hash($part, pt_type2subpart($pt_type));
+}
+sub suggest_fs_type {
+ my ($part, $fs_type) = @_;
+ set_fs_type($part, $fs_type) if !$part->{pt_type} && !$part->{fs_type};
+}
+sub set_type_subpart {
+ my ($part, $subpart) = @_;
+ if (exists $subpart->{pt_type} && exists $subpart->{fs_type}) {
+ $part->{fs_type} = $subpart->{fs_type};
+ $part->{pt_type} = $subpart->{pt_type};
+ } elsif (exists $subpart->{pt_type}) {
+ set_pt_type($part, $subpart->{pt_type});
+ } elsif (exists $subpart->{fs_type}) {
+ set_fs_type($part, $subpart->{fs_type});
+ } else {
+ log::l("ERROR: (set_type_subpart) subpart has no type");
+ }
+}
+
+sub fs_type_from_magic {
+ my ($part) = @_;
+ if (exists $part->{fs_type_from_magic}) {
+ $part->{fs_type_from_magic};
+ } else {
+ my $type = type_subpart_from_magic($part);
+ $type && $type->{fs_type};
+ }
+}
+
+sub call_blkid {
+ my ($part) = @_;
+
+ # IMPORTANT: Always use the -p argument with blkid. See r7324 commit msg
+ my %h = map {
+ if_(/(.*?)=(.*)/, $1 => $2);
+ } run_program::get_stdout_raw({ timeout => 30 }, 'blkid', '2>', '/dev/null', '-o', 'udev', '-p', devices::make($part->{device}));
+
+ \%h;
+}
+
+sub type_subpart_from_magic {
+ my ($part) = @_;
+ my $ids = call_blkid($part);
+
+ my $p;
+ if ($ids->{ID_FS_USAGE} eq 'raid') {
+ my $name = {
+ linux_raid_member => "Linux RAID",
+ LVM1_member => 'Linux Logical Volume Manager',
+ LVM2_member => 'Linux Logical Volume Manager',
+ }->{$ids->{ID_FS_TYPE}};
+
+ $p = type_name2subpart($name) if $name;
+ } elsif ($ids->{ID_FS_USAGE} eq 'crypto') {
+ $p = type_name2subpart('Encrypted');
+ } elsif (my $fs_type = $ids->{ID_FS_TYPE}) {
+ $fs_type = 'ntfs-3g' if $fs_type eq 'ntfs';
+ $p = fs_type2subpart($fs_type) or log::l("unknown filesystem $fs_type returned by blkid");
+ }
+
+ if ($p) {
+ $p->{fs_type} = '' if $part->{pt_type} eq 'BIOS_GRUB' && $p->{fs_type} ne 'iso9660';
+ $part->{fs_type_from_magic} = $p->{fs_type};
+ $p->{device_LABEL} = $ids->{ID_FS_LABEL} if $ids->{ID_FS_LABEL};
+ $p->{device_UUID} = $ids->{ID_FS_UUID} if $ids->{ID_FS_UUID};
+ log::l("blkid gave: $p->{fs_type} $p->{device_UUID} $p->{device_LABEL}");
+ }
+ $p;
+}
+
+# helpers
+sub defaultFS() { 'ext4' }
+sub true_local_fs_types() { qw(btrfs ext3 ext2 ext4 f2fs reiserfs xfs jfs) }
+
+sub isEmpty { !$_[0]{fs_type} && !$_[0]{pt_type} }
+sub isBIOS_GRUB { $_[0]{pt_type} eq 'BIOS_GRUB' }
+sub isESP { $_[0]{pt_type} == 0xef && member($_[0]{fs_type}, qw(fat32 vfat)) }
+sub isExtended { $_[0]{pt_type} == 5 || $_[0]{pt_type} == 0xf || $_[0]{pt_type} == 0x85 }
+sub isBlockCheckable { !member($_[0]{fs_type}, qw(btrfs hfs ntfs ntfs-3g reiserfs xfs)) }
+sub isRawLVM { $_[0]{pt_type} == 0x8e || $_[0]{type_name} eq 'Linux Logical Volume Manager' }
+sub isRawRAID { $_[0]{pt_type} == 0xfd || $_[0]{type_name} eq 'Linux RAID' }
+sub isRawLUKS { $_[0]{type_name} eq 'Encrypted' }
+sub isSwap { $_[0]{fs_type} eq 'swap' }
+sub isDos { ${{ 1 => 1, 4 => 1, 6 => 1 }}{$_[0]{pt_type}} }
+sub isFat_or_NTFS { member($_[0]{fs_type}, qw(vfat ntfs ntfs3 ntfs-3g)) }
+sub isnormal_Fat_or_NTFS { grep { isFat_or_NTFS($_) && !isESP($_) && !isRecovery($_) } @_ }
+sub isApple { $_[0]{pt_type} == 0x401 && defined $_[0]{isDriver} }
+sub isAppleBootstrap { $_[0]{pt_type} == 0x401 && defined $_[0]{isBoot} }
+sub isRecovery {
+ isFat_or_NTFS($_[0]) && ($_[0]{type_name} =~ /^Hidden/ ||
+ $_[0]{pt_type} == 0x12 || # "Compaq diagnostics"
+ member($_[0]{device_LABEL} ,
+ # Extracted from /usr/lib/udev/rules.d/80-udisks2.rules
+ # Hopefuly we'll ask to udev/udisk2 someday
+ # generated by grep Recovery /usr/lib/udev/rules.d/80-udisks2.rules :
+ qw(Recovery RECOVERY Lenovo_Recovery HP_RECOVERY Recovery_Partition DellUtility DellRestore IBM_SERVICE SERVICEV001 SERVICEV002 SYSTEM_RESERVED System_Reserved WINRE_DRV DIAGS IntelRST),
+ # gathered over the years (Hald, mga#1371, mga#15999):
+ qw(PQSERVICE Packard_Bell Push_Button_Reset SYSTEM_DRV))
+ );
+}
+
+=item isTrueLocalFS($part)
+
+Like isTrueFS(), to make a distinction between ext3/reiserfs/... and NFS
+ => allow /home on NFS
+
+=cut
+
+sub isTrueFS { isTrueLocalFS($_[0]) || $_[0]{fs_type} eq 'nfs' }
+
+=item isTrueFS($part)
+
+Is is a general purpose file system with the right Unix properties
+
+=cut
+
+sub isTrueLocalFS { member($_[0]{fs_type}, true_local_fs_types()) }
+
+=item isOtherAvailableFS($part)
+
+Is it another OS that linux can access its filesystem
+
+=cut
+
+sub isOtherAvailableFS { isESP($_[0]) || isFat_or_NTFS($_[0]) || member($_[0]{fs_type}, 'ufs', 'hfs', 'iso9660', 'nilfs2', 'exfat') }
+sub isMountableRW { (isTrueFS($_[0]) || isOtherAvailableFS($_[0])) && $_[0]{fs_type} ne 'ntfs' }
+sub cannotBeMountable {
+ my ($part) = @_;
+ isRawRAID($part) || isRawLUKS($part) || isRawLVM($part) || isBIOS_GRUB($part);
+}
+
+=item isFormatable($part)
+
+Is not a special sg that cannot be mounted/formatted (parts of RAID/LVM, BIOS_GRUB). Basically the reverse of cannotBeMountable().
+
+=cut
+
+sub isFormatable {
+ my ($part) = @_;
+ !cannotBeMountable($part);
+}
+
+sub isNonMountable {
+ my ($part) = @_;
+ cannotBeMountable($part) || $part->{fs_type} eq 'ntfs' && !$part->{isFormatted} && $part->{notFormatted};
+}
+
+sub isPartOfLVM { defined $_[0]{lvm} }
+sub isPartOfRAID { defined $_[0]{raid} }
+sub isPartOfLoopback { defined $_[0]{loopback} }
+sub isRAID { $_[0]{device} =~ /^md/ && defined $_[0]{level} }
+sub isUBD { $_[0]{device} =~ /^ubd/ } #- should be always true during an $::uml_install
+sub isLVM { $_[0]{VG_name} || $_[0]{lv_name} }
+sub isLUKS { defined $_[0]{dmcrypt_name} }
+sub isLoopback { defined $_[0]{loopback_file} }
+sub isMounted { $_[0]{isMounted} }
+sub isBusy { isMounted($_[0]) || isPartOfRAID($_[0]) || isPartOfLVM($_[0]) || $_[0]{dm_active} || isPartOfLoopback($_[0]) }
+sub isSpecial { isRAID($_[0]) || isLVM($_[0]) || isLoopback($_[0]) || isUBD($_[0]) }
+
+=item is_dmraid($hd)
+
+Check that a disk (not a partition) is in a fake/soft RAID
+
+=cut
+
+sub is_dmraid { $_[0]{bus} =~ /^dmraid_/ }
+
+sub can_be_this_fs_type {
+ my ($part, $fs_type) = @_;
+ can_be_one_of_those_fs_types($part, $fs_type);
+}
+sub can_be_one_of_those_fs_types {
+ my ($part, @fs_types) = @_;
+ $part->{fs_type} or return;
+ $part->{fs_type} eq 'auto' || listlength(intersection(\@fs_types, [ split(':', $part->{fs_type}) ]));
+}
+
+sub maybeFormatted {
+ my ($part) = @_;
+ $part->{isFormatted} || !$part->{notFormatted} && (!$part->{bad_fs_type_magic} || $part->{options} =~ /encrypted/);
+}
+sub set_isFormatted {
+ my ($part, $val) = @_;
+ $part->{isFormatted} = $val;
+ $part->{notFormatted} = !$val;
+ delete $part->{bad_fs_type_magic};
+ delete $part->{fs_type_from_magic};
+}
+
+=item check($fs_type, $_hd, $part)
+
+Called before before modifying $part->{fs_type}
+
+=cut
+
+sub check {
+ my ($fs_type, $_hd, $part) = @_;
+ $fs_type eq "jfs" && $part->{size} < MB(16) and die N("You cannot use JFS for partitions smaller than 16MB");
+ $fs_type eq "reiserfs" && $part->{size} < MB(32) and die N("You cannot use ReiserFS for partitions smaller than 32MB");
+ $fs_type eq "btrfs" && $part->{size} < MB(256) and die N("You cannot use btrfs for partitions smaller than 256MB");
+}
+
+sub guessed_by_mount() {
+ grep { $_ && !/nodev/ } chomp_(cat_('/etc/filesystems'));
+}
+
+sub directories_needed_to_boot_not_ESP() {
+ qw(/ /usr /var /boot /tmp);
+}
+sub directories_needed_to_boot() {
+ directories_needed_to_boot_not_ESP(), '/boot/EFI';
+}
+
+sub carry_root_loopback {
+ my ($part) = @_;
+ any { $_->{mntpoint} eq '/' } @{$part->{loopback} || []};
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/fs/wild_device.pm b/perl-install/fs/wild_device.pm
new file mode 100644
index 000000000..ff5a32253
--- /dev/null
+++ b/perl-install/fs/wild_device.pm
@@ -0,0 +1,115 @@
+package fs::wild_device;
+
+use diagnostics;
+use strict;
+use devices;
+use common;
+
+
+sub analyze {
+ my ($dev) = @_;
+
+ if ($dev =~ m!^/u?dev/(.*)!) {
+ 'dev', $dev;
+ } elsif ($dev !~ m!^/! && (-e "/dev/$dev" || -e "/dev/$dev")) {
+ 'dev', "/dev/$dev";
+ } elsif ($dev =~ /^LABEL=(.*)/) {
+ 'label', $1;
+ } elsif ($dev =~ /^UUID=(.*)/) {
+ 'uuid', $1;
+ } elsif (member($dev, qw(none rootfs))) {
+ 'virtual';
+ } elsif ($dev =~ m!^(\S+):/(\w|$)!) {
+ 'nfs';
+ } elsif ($dev =~ m!^//\w!) {
+ 'smb';
+ } elsif ($dev =~ m!^https?://!) {
+ 'dav';
+ }
+}
+
+sub to_subpart {
+ my ($dev) = @_;
+
+ my $part = { device => $dev, faked_device => 1 }; #- default
+
+ if (my ($kind, $val) = analyze($dev)) {
+ if ($kind eq 'label') {
+ $part->{device_LABEL} = $val;
+ } elsif ($kind eq 'uuid') {
+ $part->{device_UUID} = $val;
+ } elsif ($kind eq 'dev') {
+ my %part = (faked_device => 0);
+ if (my $rdev = (stat "$dev")[6]) {
+ ($part{major}, $part{minor}) = unmakedev($rdev);
+ }
+
+ my $symlink = $dev !~ m!mapper/! ? readlink("$dev") : undef;
+ $dev =~ s!/u?dev/!!;
+
+ if ($symlink && $symlink !~ m!^/!) {
+ my $keep = 1;
+ if ($symlink =~ m!/! || $dev =~ m!/!) {
+ $symlink = MDK::Common::File::concat_symlink("/dev/" . dirname($dev), $symlink);
+ $symlink =~ s!^/dev/!! or $keep = 0;
+ }
+ if ($keep) {
+ $part{device_LABEL} = $1 if $dev =~ m!^disk/by-label/(.*)!;
+ $part{device_UUID} = $1 if $dev =~ m!^disk/by-uuid/(.*)!;
+ $part{device_alias} = $dev;
+ $dev = $symlink;
+ }
+ }
+ if (my $part_number = devices::part_number(\%part)) {
+ $part{part_number} = $part_number;
+ }
+ $part{device} = $dev;
+ return \%part;
+ }
+ } else {
+ if ($dev =~ m!^/! && -f "$dev") {
+ #- it must be a loopback file or directory to bind
+ } else {
+ log::l("part_from_wild_device_name: unknown device $dev");
+ }
+ }
+ $part;
+}
+
+sub _prefer_device_UUID {
+ my ($part) = @_;
+ $part->{prefer_device_UUID} ||
+ !$::no_uuid_by_default && devices::should_prefer_UUID($part->{device});
+}
+
+sub from_part {
+ my ($prefix, $part) = @_;
+
+ if ($part->{prefer_device_LABEL}) {
+ 'LABEL=' . $part->{device_LABEL};
+ } elsif ($part->{device_alias}) {
+ "/dev/$part->{device_alias}";
+ } elsif (!$part->{prefer_device} && $part->{device_UUID} && _prefer_device_UUID($part)) {
+ 'UUID=' . $part->{device_UUID};
+ } else {
+ my $faked_device = exists $part->{faked_device} ?
+ $part->{faked_device} :
+ do {
+ #- in case $part has been created without using fs::wild_device::to_subpart()
+ my ($kind) = analyze($part->{device});
+ $kind ? $kind ne 'dev' : $part->{device} =~ m!^/!;
+ };
+ if ($faked_device) {
+ $part->{device};
+ } elsif ($part->{device} =~ m!^/dev/!) {
+ log::l("ERROR: i have a full device $part->{device}, this should not happen. use fs::wild_device::to_subpart() instead of creating bad part data-structures!");
+ $part->{device};
+ } else {
+ my $dev = "/dev/$part->{device}";
+ eval { devices::make("$prefix$dev") };
+ $dev;
+ }
+ }
+}
+
+1;
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
index 2ed4b53a3..d209b0196 100644
--- a/perl-install/fsedit.pm
+++ b/perl-install/fsedit.pm
@@ -1,160 +1,133 @@
-package fsedit; # $Id$
+package fsedit;
use diagnostics;
use strict;
use vars qw(%suggestions);
+use feature 'state';
#-######################################################################################
#- misc imports
#-######################################################################################
use common;
-use partition_table qw(:types);
+use partition_table;
use partition_table::raw;
+use fs::get;
+use fs::type;
+use fs::loopback;
+use fs::proc_partitions;
use detect_devices;
-use fsedit;
use devices;
-use loopback;
use log;
use fs;
+# min_hd_size: only suggest this partition if the hd size is bigger than that
%suggestions = (
N_("simple") => [
- { mntpoint => "/", size => 300 << 11, type =>0x483, ratio => 5, maxsize => 6000 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 500 << 11 },
- { mntpoint => "/home", size => 300 << 11, type =>0x483, ratio => 3 },
+ { mntpoint => "/", size => MB(300), fs_type => defaultFS(), ratio => 6, maxsize => MB(51500) },
+ { mntpoint => "swap", size => MB(256), fs_type => 'swap', ratio => 1, maxsize => MB(4096) },
+ { mntpoint => "/home", size => MB(300), fs_type => defaultFS(), ratio => 12, min_hd_size => MB(51200) },
], N_("with /usr") => [
- { mntpoint => "/", size => 250 << 11, type =>0x483, ratio => 1, maxsize => 2000 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 500 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type =>0x483, ratio => 4, maxsize => 4000 << 11 },
- { mntpoint => "/home", size => 100 << 11, type =>0x483, ratio => 3 },
+ { mntpoint => "/", size => MB(250), fs_type => defaultFS(), ratio => 1, maxsize => MB(8000) },
+ { mntpoint => "swap", size => MB(64), fs_type => 'swap', ratio => 1, maxsize => MB(4000) },
+ { mntpoint => "/usr", size => MB(300), fs_type => defaultFS(), ratio => 4, maxsize => MB(8000) },
+ { mntpoint => "/home", size => MB(100), fs_type => defaultFS(), ratio => 3, min_hd_size => MB(10000) },
], N_("server") => [
- { mntpoint => "/", size => 150 << 11, type =>0x483, ratio => 1, maxsize => 800 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 2, maxsize => 800 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type =>0x483, ratio => 4, maxsize => 4000 << 11 },
- { mntpoint => "/var", size => 200 << 11, type =>0x483, ratio => 3 },
- { mntpoint => "/home", size => 150 << 11, type =>0x483, ratio => 3 },
- { mntpoint => "/tmp", size => 150 << 11, type =>0x483, ratio => 2, maxsize => 1000 << 11 },
+ { mntpoint => "/", size => MB(150), fs_type => defaultFS(), ratio => 1, maxsize => MB(8000) },
+ { mntpoint => "swap", size => MB(64), fs_type => 'swap', ratio => 2, maxsize => MB(4000) },
+ { mntpoint => "/usr", size => MB(300), fs_type => defaultFS(), ratio => 4, maxsize => MB(8000) },
+ { mntpoint => "/var", size => MB(200), fs_type => defaultFS(), ratio => 3 },
+ { mntpoint => "/home", size => MB(150), fs_type => defaultFS(), ratio => 3, min_hd_size => MB(10000) },
+ { mntpoint => "/tmp", size => MB(150), fs_type => defaultFS(), ratio => 2, maxsize => MB(4000) },
],
);
-foreach (values %suggestions) {
- if (arch() =~ /ia64/) {
- @$_ = ({ mntpoint => "/boot/efi", size => 50 << 11, type => 0xef, ratio => 1, maxsize => 150 << 11 }, @$_);
+my %bck_suggestions = %suggestions;
+
+sub init_mntpnt_suggestions {
+ my ($all_hds, $o_target, $o_force) = @_;
+
+ my $device = $o_target ? $o_target->{device} : 'all';
+ state $last_device;
+ return if $device eq $last_device && !$o_force;
+ $last_device = $device;
+
+ #- If installing on a removable device, assume that the user wants that device to be self-bootable.
+ my $is_removable = $o_target && $o_target->{is_removable};
+ my @fstab = $is_removable ? partition_table::get_normal_parts($o_target) : fs::get::fstab($all_hds);
+
+ my $mntpoint;
+ # only suggests /boot/EFI if there's not already one:
+ require fs::any;
+ if (is_uefi()) {
+ if (!any { isESP($_) } @fstab) {
+ $mntpoint = { mntpoint => "/boot/EFI", size => MB(100), pt_type => 0xef, ratio => 1, maxsize => MB(300) };
+ }
+ }
+ foreach (keys %suggestions) {
+ $suggestions{$_} = [ if_($mntpoint, $mntpoint), @{$bck_suggestions{$_}} ];
}
}
my @suggestions_mntpoints = (
- "/var/ftp", "/var/www", "/boot",
- arch() =~ /sparc/ ? "/mnt/sunos" : arch() =~ /ppc/ ? "/mnt/macos" : "/mnt/windows",
- #- RedHat also has /usr/local and /opt
-);
-
-my @partitions_signatures = (
- [ 0x8e, 0, "HM\1\0" ],
- [ 0x83, 0x438, "\x53\xEF" ],
- [ 0x183, 0x10034, "ReIsErFs" ],
- [ 0x183, 0x10034, "ReIsEr2Fs" ],
- [ 0x283, 0, 'XFSB', 0x200, 'XAGF', 0x400, 'XAGI' ],
- [ 0x383, 0x8000, 'JFS1' ],
- [ 0x82, 4086, "SWAP-SPACE" ],
- [ 0x82, 4086, "SWAPSPACE2" ],
- [ 0x107, 0x1FE, "\x55\xAA", 0x3, "NTFS" ],
- [ 0xc, 0x1FE, "\x55\xAA", 0x52, "FAT32" ],
-if_(arch() !~ /^sparc/,
- [ 0x6, 0x1FE, "\x55\xAA", 0x36, "FAT" ],
-),
+ "/var/ftp", "/var/www", "/boot", '/usr/local', '/opt',
+ "/mnt/windows",
);
-sub typeOfPart {
- my $dev = devices::make($_[0]);
- my $t = typeFromMagic($dev, @partitions_signatures);
- if ($t == 0x83) {
- #- there is no magic to differentiate ext3 and ext2. Using libext2fs
- #- to check if it has a journal
- $t = 0x483 if c::is_ext3($dev);
- }
- $t;
-}
-
#-######################################################################################
#- Functions
#-######################################################################################
-sub empty_all_hds() {
- { hds => [], lvms => [], raids => [], loopbacks => [], raw_hds => [], nfss => [], smbs => [], davs => [], special => [] };
-}
sub recompute_loopbacks {
my ($all_hds) = @_;
- my @fstab = get_all_fstab($all_hds);
+ my @fstab = fs::get::fstab($all_hds);
@{$all_hds->{loopbacks}} = map { isPartOfLoopback($_) ? @{$_->{loopback}} : () } @fstab;
}
sub raids {
- my ($hds) = @_;
-
- my @parts = get_fstab(@$hds);
- {
- my @l = grep { isRawRAID($_) } @parts or return [];
- detect_devices::raidAutoStart(@l);
- }
-
- fs::get_major_minor(@parts);
+ my ($hds, $raw_hds) = @_;
- my @raids;
- my @mdstat = cat_("/proc/mdstat");
- for (my $i = 0; $i < @mdstat; $i++) {
+ my @parts = fs::get::hds_fstab(@$hds);
- my ($nb, $level, $mdparts) =
- #- line format is:
- #- md%d : {in}?active{ (read-only)}? {linear|raid1|raid4|raid5}{ DEVNAME[%d]{(F)}?}*
- $mdstat[$i] =~ /^md(\d+).* ([^ \[\]]+) (\S+\[\d+\].*)/ or next;
+ my @l = grep { isRawRAID($_) } ( @parts, @$raw_hds ) or return [];
- $level =~ s/raid//; #- { linear | raid0 | raid1 | raid5 } -> { linear | 0 | 1 | 5 }
+ log::l("looking for raids in " . join(' ', map { $_->{device} } @l));
+
+ require raid;
+ raid::detect_during_install(@l) if $::isInstall;
+ raid::get_existing(@l);
+}
- my $chunks = $mdstat[$i+1] =~ /(\S+) chunks/ ? $1 : "64k";
+sub dmcrypts {
+ my ($all_hds) = @_;
- my @raw_mdparts = map { /([^\[]+)/ } split ' ', $mdparts;
+ my @parts = fs::get::fstab($all_hds);
- my $type = typeOfPart("md$nb");
- log::l("RAID: found md$nb (raid $level) chunks $chunks ", if_($type, "type $type "), "with parts ", join(", ", @raw_mdparts));
- $raids[$nb] = { 'chunk-size' => $chunks, type => $type || 0x83, raw_mdparts => \@raw_mdparts,
- device => "md$nb", notFormatted => !$type, level => $level };
- }
+ my @l = grep { fs::type::isRawLUKS($_) } @parts or return;
- my %devname2part = map { $_->{dev} => { %$_, device => $_->{dev} } } devices::read_proc_partitions_raw();
- each_index {
- my $raw_mdparts = delete $_->{raw_mdparts};
- my @mdparts =
- map {
- my $mdpart = $devname2part{$_} || { device => $_ };
- if (my $part = find { is_same_hd($mdpart, $_) } @parts, @raids) {
- $part->{raid} = $::i;
- $part->{type} = 0xfd;
- delete $part->{mntpoint};
- $part;
- } else {
- #- forget it when not found? that way it won't break much... beurk.
- ();
- }
- } @$raw_mdparts;
-
- $_->{disks} = \@mdparts;
- } @raids;
+ log::l("using dm-crypt from " . join(' ', map { $_->{device} } @l));
+
+ require fs::dmcrypt;
+ fs::dmcrypt::read_crypttab($all_hds);
- require raid;
- raid::update(@raids);
- \@raids;
+ fs::dmcrypt::get_existing(@l);
}
sub lvms {
my ($all_hds) = @_;
- my @pvs = grep { isRawLVM($_) } get_all_fstab($all_hds) or return;
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return;
+ scan_pvs(@pvs);
+}
+
+sub scan_pvs {
+ my (@pvs) = @_;
- #- otherwise vgscan won't find them
+ log::l("looking for vgs in " . join(' ', map { $_->{device} } @pvs));
+
+ #- otherwise vgscan will not find them
devices::make($_->{device}) foreach @pvs;
require lvm;
my @lvms;
foreach (@pvs) {
- my $name = lvm::get_vg($_) or next;
+ my $name = lvm::pv_to_vg($_) or next;
my $lvm = find { $_->{VG_name} eq $name } @lvms;
if (!$lvm) {
$lvm = new lvm($name);
@@ -168,262 +141,242 @@ sub lvms {
@lvms;
}
-sub hds {
- my ($flags, $o_ask_before_blanking) = @_;
- $flags ||= {};
+sub handle_dmraid {
+ my ($drives, $o_in) = @_;
+
+ @$drives > 1 or return;
+
+ devices::make($_->{device}) foreach @$drives;
+
+ require fs::dmraid;
+ eval { fs::dmraid::init() } or log::l("dmraid::init failed"), return;
+
+ my @vgs = fs::dmraid::vgs();
+ log::l(sprintf('dmraid: ' . join(' ', map { "$_->{device} [" . join(' ', @{$_->{disks}}) . "]" } @vgs)));
+
+ if ($o_in && @vgs && $::isInstall) {
+ @vgs = grep {
+ $o_in->ask_yesorno('', N("BIOS software RAID detected on disks %s. Activate it?", join(' ', @{$_->{disks}})), 1);
+ } @vgs or do {
+ fs::dmraid::call_dmraid('-an');
+ return;
+ };
+ }
+ if (!$::isInstall) {
+ fs::dmraid::migrate_device_names($_) foreach @vgs;
+ }
+ log::l("using dmraid on " . join(' ', map { $_->{device} } @vgs));
+
+ my @used_hds = map {
+ my $part = fs::get::device2part($_, $drives) or log::l("handle_dmraid: can't find $_ in known drives");
+ if_($part, $part);
+ } map { @{$_->{disks}} } @vgs;
+
+ @$drives = difference2($drives, \@used_hds);
+
+ push @$drives, @vgs;
+}
+
+sub get_hds {
+ my ($o_flags, $o_in) = @_;
+ my $flags = $o_flags || {};
$flags->{readonly} && ($flags->{clearall} || $flags->{clear}) and die "conflicting flags readonly and clear/clearall";
my @drives = detect_devices::hds();
- my (@hds);
+ #- replace drives used in dmraid by the merged name
+ handle_dmraid(\@drives, $o_in) if !$flags->{nodmraid};
+
foreach my $hd (@drives) {
$hd->{file} = devices::make($hd->{device});
- $hd->{prefix} ||= $hd->{device};
+ }
+
+ @drives = partition_table::raw::get_geometries(@drives);
+
+ my (@hds, @raw_hds);
+ foreach my $hd (@drives) {
$hd->{readonly} = $flags->{readonly};
- my $h = partition_table::raw::get_geometry($hd->{file}) or log::l("An error occurred while getting the geometry of block device $hd->{file}: $!"), next;
- add2hash_($hd, $h);
+ #- We only create RAID components in disk partitions, but users may have used
+ #- mdadm directly to create them on raw disk devices. Detect that now, before
+ #- looking for a partition table (which is likely to fail badly - mga#26707).
+ if (my $type = fs::type::type_subpart_from_magic($hd)) {
+ if (isRawRAID($type)) {
+ #- Add the necessary information to the raw device to allow the RAID
+ #- array to be properly characterised in diskdrake.
+ put_in_hash($hd, $type);
+ $hd->{size} = $hd->{totalsectors};
+ push @raw_hds, $hd;
+ next;
+ }
+ }
- eval { partition_table::raw::test_for_bad_drives($hd) };
+ eval { partition_table::raw::test_for_bad_drives($hd) if !$flags->{no_bad_drives} };
if (my $err = $@) {
+ log::l("test_for_bad_drives returned $err");
if ($err =~ /write error:/) {
+ log::l("setting $hd->{device} readonly");
$hd->{readonly} = 1;
+ } elsif ($err =~ /read error:/) {
+ next;
} else {
- cdie $err if $err !~ /read error:/;
+ $o_in and $o_in->ask_warn('', $err);
next;
}
}
if ($flags->{clearall} || member($hd->{device}, @{$flags->{clear} || []})) {
- partition_table::raw::zero_MBR_and_dirty($hd);
+ my $lvms = []; #- temporary one, will be re-created later in get_hds()
+ partition_table_clear_and_initialize($lvms, $hd, $o_in);
} else {
- eval {
- partition_table::read($hd);
- compare_with_proc_partitions($hd) if $::isInstall;
+ my $handle_die_and_cdie = sub {
+ if (my $type = fs::type::type_subpart_from_magic($hd)) {
+ #- non partitioned drive?
+ if (exists $hd->{usb_description} && $type->{fs_type}) {
+ #- USB keys
+ put_in_hash($hd, $type);
+ push @raw_hds, $hd;
+ $hd = '';
+ 1;
+ } else {
+ 0;
+ }
+ } elsif ($hd->{readonly}) {
+ log::l("using /proc/partitions since diskdrake failed :(");
+ fs::proc_partitions::use_($hd);
+ 1;
+ } else {
+ 0;
+ }
+ };
+ my $handled;
+ eval {
+ catch_cdie {
+ partition_table::read($hd);
+ if (listlength(partition_table::get_normal_parts($hd)) == 0) {
+ $handled = 1 if $handle_die_and_cdie->();
+ } elsif ($::isInstall) {
+ if (fs::type::is_dmraid($hd)) {
+ if (my $p = find { ! -e "/dev/$_->{device}" } partition_table::get_normal_parts($hd)) {
+ #- dmraid should have created the device, so it means we don't agree
+ die sprintf(q(bad dmraid (missing partition %s), you may try rebooting install with option "nodmraid"), $p->{device});
+ }
+ } else {
+ fs::proc_partitions::compare($hd) if !detect_devices::is_xbox();
+ }
+ }
+ } sub {
+ my $err = $@;
+ if ($handle_die_and_cdie->()) {
+ $handled = 1;
+ 0; #- do not continue, transform cdie into die
+ } else {
+ !$o_in || $o_in->ask_okcancel('', formatError($err));
+ }
+ };
};
if (my $err = $@) {
- if ($hd->{readonly}) {
- use_proc_partitions($hd);
- } elsif ($o_ask_before_blanking && $o_ask_before_blanking->($hd->{device}, $err)) {
+ if ($handled) {
+ #- already handled in cdie handler above
+ } elsif ($handle_die_and_cdie->()) {
+ } elsif ($o_in && $o_in->ask_yesorno(N("Error"),
+N("I cannot read the partition table of device %s, it's too corrupted for me :(
+I can try to go on, erasing over bad partitions (ALL DATA will be lost!).
+The other solution is to not allow DrakX to modify the partition table.
+(the error is %s)
+
+Do you agree to lose all the partitions?
+", $hd->{device}, formatError($err)))) {
partition_table::raw::zero_MBR($hd);
} else {
#- using it readonly
- use_proc_partitions($hd);
+ log::l("using /proc/partitions since diskdrake failed :(");
+ fs::proc_partitions::use_($hd);
}
}
+ $hd or next;
+
member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_)
foreach partition_table::get_normal_parts($hd);
}
- # special case for Various type
- $_->{type} = typeOfPart($_->{device}) || 0x100 foreach grep { $_->{type} == 0x100 } partition_table::get_normal_parts($hd);
+ my @parts = partition_table::get_normal_parts($hd);
+
+ # fix installer failures due to udev's race when run too early:
+ run_program::run('udevadm', 'settle');
+
+ # checking the magic of the filesystem, do not rely on pt_type
+ foreach (@parts) {
+ if (my $type = fs::type::type_subpart_from_magic($_)) {
+ $type->{pt_type} = $_->{pt_type}; #- keep {pt_type}
+ put_in_hash($_, $type);
+ } else {
+ $_->{bad_fs_type_magic} = 1;
+ }
+ }
- #- special case for type overloading (eg: reiserfs is 0x183)
- foreach (grep { isExt2($_) || $_->{type} == 0x7 } partition_table::get_normal_parts($hd)) {
- my $type = typeOfPart($_->{device});
- $_->{type} = $type if ($type & 0xff) == $_->{type} || $type && $hd->isa('partition_table::gpt');
+ if ($hd->{usb_media_type}) {
+ $hd->{is_removable} = 1;
+ $_->{is_removable} = 1 foreach @parts;
}
+
push @hds, $hd;
}
#- detect raids before LVM allowing LVM on raid
- my $raids = raids(\@hds);
- my $all_hds = { %{ empty_all_hds() }, hds => \@hds, lvms => [], raids => $raids };
+ my $raids = raids(\@hds, \@raw_hds);
+ my $all_hds = { %{ fs::get::empty_all_hds() }, hds => \@hds, raw_hds => \@raw_hds, lvms => [], raids => $raids };
$all_hds->{lvms} = [ lvms($all_hds) ];
- fs::get_major_minor(get_all_fstab($all_hds));
-
- $all_hds;
-}
-
-sub get_hds {
- #- $in is optional
- my ($flags, $in) = @_;
-
- if ($in) {
- catch_cdie { hds($flags, sub {
- my ($dev, $err) = @_;
- $in->ask_yesorno(N("Error"),
-N("I can't read the partition table of device %s, it's too corrupted for me :(
-I can try to go on, erasing over bad partitions (ALL DATA will be lost!).
-The other solution is to not allow DrakX to modify the partition table.
-(the error is %s)
-
-Do you agree to lose all the partitions?
-", $dev, formatError($err)));
- }) } sub { $in->ask_okcancel('', formatError($@)) };
- } else {
- catch_cdie { hds($flags) } sub { 1 }
- }
-}
+ fs::get_major_minor([ fs::get::fstab($all_hds) ]);
-sub read_proc_partitions {
- my ($hds) = @_;
-
- my @all = devices::read_proc_partitions_raw();
- my @parts = grep { $_->{dev} =~ /\d$/ } @all;
- my @disks = grep { $_->{dev} !~ /\d$/ } @all;
-
- my $devfs_like = any { $_->{dev} =~ m|/disc$| } @disks;
-
- my %devfs2normal = map {
- my (undef, $major, $minor) = devices::entry($_->{device});
- my $disk = find { $_->{major} == $major && $_->{minor} == $minor } @disks;
- $disk->{dev} => $_->{device};
- } @$hds;
-
- my $prev_part;
- foreach my $part (@parts) {
- my $dev;
- if ($devfs_like) {
- $dev = -e "/dev/$part->{dev}" ? $part->{dev} : sprintf("0x%x%02x", $part->{major}, $part->{minor});
- $part->{rootDevice} = $devfs2normal{dirname($part->{dev}) . '/disc'};
- } else {
- $dev = $part->{dev};
- foreach my $hd (@$hds) {
- $part->{rootDevice} = $hd->{device} if $part->{dev} =~ /^$hd->{device}./;
- }
- }
- $part->{device} = $dev;
- $part->{size} *= 2; # from KB to sectors
- $part->{type} = typeOfPart($dev);
- $part->{start} = $prev_part ? $prev_part->{start} + $prev_part->{size} : 0;
- $prev_part = $part;
- delete $part->{dev}; # cleanup
- }
- @parts;
-}
+ # must be done after getting major/minor
+ $all_hds->{dmcrypts} = [ dmcrypts($all_hds) ];
+ # allow lvm on dmcrypt
+ $all_hds->{lvms} = [ lvms($all_hds) ];
-sub all_hds {
- my ($all_hds) = @_;
- (@{$all_hds->{hds}}, @{$all_hds->{lvms}});
-}
-sub part2hd {
- my ($part, $all_hds) = @_;
- my $hd = find { $part->{rootDevice} eq ($_->{device} || $_->{VG_name}) } all_hds($all_hds);
- $hd;
-}
+ $_->{faked_device} = 0 foreach fs::get::fstab($all_hds);
-sub is_same_hd {
- my ($hd1, $hd2) = @_;
- if ($hd1->{major} && $hd2->{major}) {
- $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor};
- } elsif (my ($s1) = $hd1->{device} =~ m|https?://(.+?)/*$|) {
- my ($s2) = $hd2->{device} =~ m|https?://(.+?)/*$|;
- $s1 eq $s2;
- } else {
- $hd1->{device} eq $hd2->{device};
- }
+ $all_hds;
}
-sub is_same_part {
+#- are_same_partitions() do not look at the device name since things may have changed
+sub are_same_partitions {
my ($part1, $part2) = @_;
- foreach ('start', 'size', 'type', 'rootDevice') {
- $part1->{$_} eq $part2->{$_} or return;
+ foreach ('start', 'size', 'pt_type', 'fs_type', 'rootDevice') {
+ $part1->{$_} eq $part2->{$_} or return 0;
}
1;
}
-#- get all normal partition including special ones as found on sparc.
-sub get_fstab {
- map { partition_table::get_normal_parts($_) } @_;
-}
-
-#- get normal partition that should be visible for working on.
-sub get_visible_fstab {
- grep { $_ && !partition_table::isWholedisk($_) && !partition_table::isHiddenMacPart($_) }
- map { partition_table::get_normal_parts($_) } @_;
-}
-
-sub get_fstab_and_holes {
- map {
- if (isLVM($_)) {
- my @parts = partition_table::get_normal_parts($_);
- my $free = $_->{totalsectors} - sum map { $_->{size} } @parts;
- my $free_part = { start => 0, size => $free, type => 0, rootDevice => $_->{VG_name} };
- @parts, if_($free >= $_->cylinder_size, $free_part);
- } else {
- partition_table::get_normal_parts_and_holes($_);
- }
- } @_;
-}
-sub get_holes {
- grep { $_->{type} == 0 } get_fstab_and_holes(@_);
-}
-
-sub get_all_fstab {
- my ($all_hds) = @_;
- my @parts = map { partition_table::get_normal_parts($_) } all_hds($all_hds);
- my @raids = grep { $_ } @{$all_hds->{raids}};
- @parts, @raids, @{$all_hds->{loopbacks}};
-}
-sub get_really_all_fstab {
- my ($all_hds) = @_;
- my @parts = map { partition_table::get_normal_parts($_) } all_hds($all_hds);
- my @raids = grep { $_ } @{$all_hds->{raids}};
- @parts, @raids, @{$all_hds->{loopbacks}}, @{$all_hds->{raw_hds}}, @{$all_hds->{nfss}}, @{$all_hds->{smbs}}, @{$all_hds->{davs}};
-}
-sub get_all_fstab_and_holes {
- my ($all_hds) = @_;
- my @raids = grep { $_ } @{$all_hds->{raids}};
- get_fstab_and_holes(all_hds($all_hds)), @raids, @{$all_hds->{loopbacks}};
-}
-sub get_all_holes {
- my ($all_hds) = @_;
- grep { $_->{type} == 0 } get_all_fstab_and_holes($all_hds);
-}
-
-sub all_free_space {
- my ($all_hds) = @_;
- sum map { $_->{size} } get_all_holes($all_hds);
-}
-sub free_space {
- sum map { $_->{size} } get_holes(@_);
-}
-
sub is_one_big_fat_or_NT {
my ($hds) = @_;
- @$hds == 1 or return;
+ @$hds == 1 or return 0;
- my @l = get_fstab(@$hds);
- @l == 1 && isFat_or_NTFS($l[0]) && free_space(@$hds) < 10 << 11;
-}
-
-sub file2part {
- my ($fstab, $file, $b_keep_simple_symlinks) = @_;
- my $part;
-
- $file = $b_keep_simple_symlinks ? common::expand_symlinks_but_simple("$::prefix$file") : expand_symlinks("$::prefix$file");
- unless ($file =~ s/^$::prefix//) {
- my $part = find { loopback::carryRootLoopback($_) } @$fstab or die;
- log::l("found $part->{mntpoint}");
- $file =~ s|/initrd/loopfs|$part->{mntpoint}|;
- }
- foreach (@$fstab) {
- my $m = $_->{mntpoint};
- $part = $_ if
- $file =~ /^\Q$m/ &&
- (!$part || length $part->{mntpoint} < length $m);
- }
- $part or die "file2part: not found $file";
- $file =~ s|$part->{mntpoint}/?|/|;
- ($part, $file);
+ my @l = fs::get::hds_fstab(@$hds);
+ @l == 1 && isFat_or_NTFS($l[0]) && fs::get::hds_free_space(@$hds) < MB(10);
}
sub computeSize {
- my ($part, $best, $all_hds, $suggestions) = @_;
+ my ($part, $best, $all_hds, $suggestions, $o_target) = @_;
my $max = $part->{maxsize} || $part->{size};
return min($max, $best->{size}) unless $best->{ratio};
- my $free_space = all_free_space($all_hds);
- my @l = my @L = grep {
- if ($free_space >= $_->{size}) {
- $free_space -= $_->{size};
+ my %free_space;
+ $free_space{$_->{rootDevice}} += $_->{size} foreach fs::get::holes($all_hds);
+
+ my @l = my @L = grep {
+ my @possible = $_->{hd} ? $_->{hd} : keys %free_space;
+ my $size = $_->{size};
+ if (my $dev = find { $free_space{$_} >= $size } @possible) {
+ $free_space{$dev} -= $size;
1;
} else { 0 } } @$suggestions;
+ my $free_space = $o_target && $free_space{$o_target->{device}} || $best->{hd} && $free_space{$best->{hd}} || sum(values %free_space);
+
my $cylinder_size_maxsize_adjusted;
my $tot_ratios = 0;
while (1) {
@@ -439,7 +392,7 @@ sub computeSize {
return min($max, $best->{maxsize}) if $best->{mntpoint} eq $_->{mntpoint};
$free_space -= $_->{maxsize} - $_->{size};
if (!$cylinder_size_maxsize_adjusted++) {
- eval { $free_space += part2hd($part, $all_hds)->cylinder_size - 1 };
+ eval { $free_space += fs::get::part2hd($part, $all_hds)->cylinder_size - 1 };
}
0;
} else {
@@ -449,103 +402,95 @@ sub computeSize {
}
my $size = int min($max, $best->{size} + $free_space * ($tot_ratios && $best->{ratio} / $tot_ratios));
#- verify other entry can fill the hole
- (any { $_->{size} < $max - $size } @L) ? $size : $max;
+ (any { $_->{size} <= $max - $size } @L) ? $size : $max;
}
sub suggest_part {
- my ($part, $all_hds, $o_suggestions) = @_;
+ my ($part, $all_hds, $o_suggestions, $o_target) = @_;
my $suggestions = $o_suggestions || $suggestions{server} || $suggestions{simple};
- my $has_swap = any { isSwap($_) } get_all_fstab($all_hds);
+ #- suggestions now use {fs_type}, but still keep compatibility
+ foreach (@$suggestions) {
+ fs::type::set_pt_type($_, $_->{pt_type}) if !exists $_->{fs_type};
+ }
+
+ my $hd = fs::get::part2hd($part, $all_hds);
+ my $hd_size = $hd && $hd->{totalsectors}; # nb: no $hd if $part is /dev/mdX
+ my @fstab = $hd->{is_removable} ? partition_table::get_normal_parts($hd) : fs::get::fstab($all_hds);
+ my $has_swap = any { isSwap($_) } @fstab;
my @local_suggestions =
- grep { !has_mntpoint($_->{mntpoint}, $all_hds) || isSwap($_) && !$has_swap }
+ grep { $::auto_install || !$_->{mntpoint} && !$_->{VG_name} || !fs::get::has_mntpoint($_->{mntpoint}, $all_hds) || isSwap($_) && !$has_swap }
+ grep { !$_->{min_hd_size} || !$hd_size || $_->{min_hd_size} <= $hd_size }
grep { !$_->{hd} || $_->{hd} eq $part->{rootDevice} }
@$suggestions;
+ #- this allows specifying the size using a relative size.
+ #- one should rather use {ratio} instead
+ foreach (@local_suggestions) {
+ if ($_->{percent_size} && $_->{percent_size} =~ /(.+?)%?$/) {
+ $_->{size} = $1 / 100 * $hd_size;
+ log::l("in suggestion, setting size=$_->{size} for percent_size=$_->{percent_size}");
+ }
+ }
+
my ($best) =
grep { !$_->{maxsize} || $part->{size} <= $_->{maxsize} }
grep { $_->{size} <= ($part->{maxsize} || $part->{size}) }
- grep { !$part->{type} || $part->{type} == $_->{type} || isTrueFS($part) && isTrueFS($_) }
+ grep { !$part->{fs_type} || $part->{fs_type} eq $_->{fs_type} || isTrueFS($part) && isTrueFS($_) }
@local_suggestions;
- defined $best or return; #- sorry no suggestion :(
+ defined $best or return 0; #- sorry no suggestion :(
$part->{mntpoint} = $best->{mntpoint};
- $part->{type} = $best->{type} if !(isTrueFS($best) && isTrueFS($part));
- $part->{size} = computeSize($part, $best, $all_hds, \@local_suggestions);
- foreach ('options', 'lv_name', 'encrypt_key') {
+ fs::type::set_type_subpart($part, $best) if !isTrueFS($best) || !isTrueFS($part);
+ $part->{size} = computeSize($part, $best, $all_hds, \@local_suggestions, $o_target);
+ foreach ('options', 'lv_name', 'encrypt_key', 'primaryOrExtended',
+ 'device_LABEL', 'prefer_device_LABEL', 'device_UUID', 'prefer_device_UUID', 'prefer_device') {
$part->{$_} = $best->{$_} if $best->{$_};
}
- 1;
+ $best;
}
sub suggestions_mntpoint {
my ($all_hds) = @_;
- sort grep { !/swap/ && !has_mntpoint($_, $all_hds) }
+ sort grep { !/swap/ && !fs::get::has_mntpoint($_, $all_hds) }
(@suggestions_mntpoints, map { $_->{mntpoint} } @{$suggestions{server} || $suggestions{simple}});
}
-sub mntpoint2part {
- my ($mntpoint, $fstab) = @_;
- find { $mntpoint eq $_->{mntpoint} } @$fstab;
-}
-sub has_mntpoint {
- my ($mntpoint, $all_hds) = @_;
- mntpoint2part($mntpoint, [ get_really_all_fstab($all_hds) ]);
-}
-sub get_root_ {
- my ($fstab, $o_boot) = @_;
- $o_boot && mntpoint2part("/boot", $fstab) || mntpoint2part("/", $fstab);
-}
-sub get_root { &get_root_ || {} }
-
-#- do this before modifying $part->{type}
-sub check_type {
- my ($type, $_hd, $part) = @_;
- isThisFs("jfs", { type => $type }) && $part->{size} < 16 << 11 and die \N("You can't use JFS for partitions smaller than 16MB");
- isThisFs("reiserfs", { type => $type }) && $part->{size} < 32 << 11 and die \N("You can't use ReiserFS for partitions smaller than 32MB");
-}
-
-sub package_needed_for_partition_type {
- my ($part) = @_;
- my %l = (
- reiserfs => 'reiserfsprogs',
- xfs => 'xfsprogs',
- jfs => 'jfsprogs',
- );
- $l{type2fs($part)};
-}
-
#- you can do this before modifying $part->{mntpoint}
#- so $part->{mntpoint} should not be used here, use $mntpoint instead
sub check_mntpoint {
- my ($mntpoint, $hd, $part, $all_hds) = @_;
+ my ($mntpoint, $part, $all_hds) = @_;
- $mntpoint eq '' || isSwap($part) || isNonMountable($part) and return;
- $mntpoint =~ m|^/| or die \N("Mount points must begin with a leading /");
- $mntpoint =~ m|[\x7f-\xff]| and cdie \N("Mount points should contain only alphanumerical characters");
- mntpoint2part($mntpoint, [ grep { $_ ne $part } get_really_all_fstab($all_hds) ]) and die \N("There is already a partition with mount point %s\n", $mntpoint);
+ $mntpoint eq '' || isSwap($part) || isNonMountable($part) and return 0;
+ $mntpoint =~ m|^/| or die N("Mount points must begin with a leading /");
+ $mntpoint =~ m|[\x7f-\xff]| and cdie N("Mount points should contain only alphanumerical characters");
+ fs::get::mntpoint2part($mntpoint, [ grep { $_ ne $part } fs::get::really_all_fstab($all_hds) ]) and die N("There is already a partition with mount point %s\n", $mntpoint);
- cdie \N("You've selected a software RAID partition as root (/).
+ if ($mntpoint eq "/" && (isLUKS($part) || isRawLUKS($part)) && !fs::get::has_mntpoint("/boot", $all_hds)) {
+ cdie N("You've selected an encrypted partition as root (/).
No bootloader is able to handle this without a /boot partition.
-Please be sure to add a /boot partition") if $mntpoint eq "/" && isRAID($part) && !has_mntpoint("/boot", $all_hds);
- die \N("You can't use a LVM Logical Volume for mount point %s", $mntpoint)
- if $mntpoint eq '/boot' && isLVM($hd);
- cdie \N("You may not be able to install lilo (since lilo doesn't handle a LV on multiple PVs)")
- if arch() =~ /i.86/ && member($mntpoint, '/', '/boot') && isLVM($hd) && @{$hd->{disks} || []} > 1;
+Please be sure to add a separate /boot partition");
+ }
- cdie \N("This directory should remain within the root filesystem")
+ if ($mntpoint eq "/boot" && (isLUKS($part) || isRawLUKS($part))) {
+ die N("You cannot use an encrypted filesystem for mount point %s", "/boot");
+ }
+
+ cdie N("This directory should remain within the root filesystem")
if member($mntpoint, qw(/root));
- die \N("This directory should remain within the root filesystem")
- if member($mntpoint, qw(/bin /dev /etc /lib /sbin /mnt));
- die \N("You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n")
- if !isTrueFS($part) && member($mntpoint, qw(/ /home /tmp /usr /var));
- die \N("You can't use an encrypted file system for mount point %s", $mntpoint)
+ die N("This directory should remain within the root filesystem")
+ if member($mntpoint, qw(/bin /dev /etc /lib /sbin /mnt /media));
+ die N("You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount point\n")
+ if !isTrueLocalFS($part) && $mntpoint eq '/';
+ die N("You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount point\n") . $mntpoint
+ if !isTrueFS($part) && member($mntpoint, '/home', fs::type::directories_needed_to_boot_not_ESP());
+ die N("You cannot use an encrypted filesystem for mount point %s", $mntpoint)
if $part->{options} =~ /encrypted/ && member($mntpoint, qw(/ /usr /var /boot));
local $part->{mntpoint} = $mntpoint;
- loopback::check_circular_mounts($hd, $part, $all_hds);
+ fs::loopback::check_circular_mounts($part, $all_hds);
}
sub add {
@@ -553,7 +498,7 @@ sub add {
isSwap($part) ?
($part->{mntpoint} = 'swap') :
- $options->{force} || check_mntpoint($part->{mntpoint}, $hd, $part, $all_hds);
+ $options->{force} || check_mntpoint($part->{mntpoint}, $part, $all_hds);
delete $part->{maxsize};
@@ -562,30 +507,42 @@ sub add {
} else {
partition_table::add($hd, $part, $options->{primaryOrExtended});
}
+ fs::get_major_minor([ $part ]);
}
sub allocatePartitions {
- my ($all_hds, $to_add) = @_;
+ my ($all_hds, $to_add, $o_hd) = @_;
- foreach my $part_ (get_all_holes($all_hds)) {
+ my @to_add = @$to_add;
+
+ foreach my $part_ (fs::get::holes($all_hds, 'non_readonly')) {
my ($start, $size, $dev) = @$part_{"start", "size", "rootDevice"};
- my $part;
- while (suggest_part($part = { start => $start, size => 0, maxsize => $size, rootDevice => $dev },
- $all_hds, $to_add)) {
- my $hd = part2hd($part, $all_hds);
- add($hd, $part, $all_hds, {});
+ next if $o_hd && (($o_hd->{device} || $o_hd->{VG_name}) ne $dev);
+ my ($part, $suggested);
+ while ($suggested = suggest_part($part = { start => $start, size => 0, maxsize => $size, rootDevice => $dev },
+ $all_hds, \@to_add, $o_hd)) {
+ my $hd = fs::get::part2hd($part, $all_hds);
+ add($hd, $part, $all_hds, { primaryOrExtended => $part->{primaryOrExtended} });
$size -= $part->{size} + $part->{start} - $start;
$start = $part->{start} + $part->{size};
+ @to_add = grep { $_ != $suggested } @to_add;
}
}
}
sub auto_allocate {
- my ($all_hds, $o_suggestions) = @_;
- my $before = listlength(get_all_fstab($all_hds));
+ my ($all_hds, $o_suggestions, $o_target) = @_;
+ my $before = listlength(fs::get::fstab($all_hds));
+
+ #- Make sure we don't finish with more than one /boot/EFI mount point
+ if (is_uefi()) {
+ delete $_->{mntpoint} foreach grep { $_->{mntpoint} eq '/boot/EFI' } fs::get::fstab($all_hds);
+ }
+
+ auto_allocate_bios_boot_parts($all_hds, $o_target) if !is_uefi();
my $suggestions = $o_suggestions || $suggestions{simple};
- allocatePartitions($all_hds, $suggestions);
+ allocatePartitions($all_hds, $suggestions, $o_target);
if ($o_suggestions) {
auto_allocate_raids($all_hds, $suggestions);
@@ -599,44 +556,68 @@ sub auto_allocate {
partition_table::assign_device_numbers($_) foreach @{$all_hds->{hds}};
- if ($before == listlength(get_all_fstab($all_hds))) {
+ if ($before == listlength(fs::get::fstab($all_hds))) {
# find out why auto_allocate failed
- if (any { !has_mntpoint($_->{mntpoint}, $all_hds) } @$suggestions) {
- die \N("Not enough free space for auto-allocating");
+ if (any { !fs::get::has_mntpoint($_->{mntpoint}, $all_hds) } @$suggestions) {
+ die N("Not enough free space for auto-allocating");
} else {
- die \N("Nothing to do");
+ die N("Nothing to do");
}
}
+
+ #- Don't suggest mount points on other drives when installing on a removable disk
+ return if $o_target && $o_target->{is_removable};
+
+ my @fstab = fs::get::fstab($all_hds);
+ fs::mount_point::suggest_mount_points_always(\@fstab);
+}
+
+sub auto_allocate_bios_boot_parts {
+ my ($all_hds, $o_hd) = @_;
+ foreach my $hd (@{$all_hds->{hds}}) {
+ # skip if not the selected device
+ next if $o_hd && ($o_hd->{device} ne $hd->{device});
+ # skip non-GPT disks
+ next if ($hd->{pt_table_type} || partition_table::default_type($hd)) ne 'gpt';
+ # check if a BIOS boot partition already exists
+ my @parts = map { partition_table::get_normal_parts($_) } $hd;
+ next if any { isBIOS_GRUB($_) } @parts;
+ # try to allocate a BIOS boot partition
+ my $suggest = { mntpoint => "", size => MB(1), pt_type => 'BIOS_GRUB', ratio => 1, maxsize => MB(2) };
+ allocatePartitions($all_hds, [ $suggest ], $hd);
+ }
}
sub auto_allocate_raids {
my ($all_hds, $suggestions) = @_;
- my @raids = grep { isRawRAID($_) } get_all_fstab($all_hds) or return;
+ my @raids = grep { isRawRAID($_) } fs::get::fstab($all_hds) or return;
require raid;
my @mds = grep { $_->{hd} =~ /md/ } @$suggestions;
foreach my $md (@mds) {
my @raids_ = grep { !$md->{parts} || $md->{parts} =~ /\Q$_->{mntpoint}/ } @raids;
@raids = difference2(\@raids, \@raids_);
- my $nb = raid::new($all_hds->{raids}, @raids_);
- my $part = $all_hds->{raids}[$nb];
my %h = %$md;
- delete @h{'hd', 'parts'};
- put_in_hash($part, \%h); # mntpoint, level, chunk-size, type
+ delete @h{'hd', 'parts'}; # keeping mntpoint, level, chunk-size, fs_type/pt_type
+ $h{disks} = \@raids_;
+
+ my $part = raid::new($all_hds->{raids}, %h);
+
raid::updateSize($part);
+ push @raids, $part; #- we can build raid over raid
}
}
sub auto_allocate_vgs {
my ($all_hds, $suggestions) = @_;
- my @pvs = grep { isRawLVM($_) } get_all_fstab($all_hds) or return;
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return 0;
- my @vgs = grep { $_->{VG_name} } @$suggestions or return;
+ my @vgs = grep { $_->{VG_name} } @$suggestions or return 0;
- partition_table::write(@{$all_hds->{hds}});
+ partition_table::write($_) foreach @{$all_hds->{hds}};
require lvm;
@@ -659,151 +640,38 @@ sub auto_allocate_vgs {
1;
}
-sub undo_prepare {
- my ($all_hds) = @_;
- require Data::Dumper;
- $Data::Dumper::Purity = 1;
- foreach (@{$all_hds->{hds}}) {
- my @h = @$_{@partition_table::fields2save};
- push @{$_->{undo}}, Data::Dumper->Dump([\@h], ['$h']);
- }
-}
-sub undo {
- my ($all_hds) = @_;
- foreach (@{$all_hds->{hds}}) {
- my $h; eval pop @{$_->{undo}} || next;
- @$_{@partition_table::fields2save} = @$h;
-
- $_->{isDirty} = $_->{needKernelReread} = 1 if $_->{hasBeenDirty};
- }
-
-}
-
-sub move {
- my ($hd, $part, $hd2, $sector2) = @_;
-
- die 'TODO'; # doesn't work for the moment
- my $part1 = { %$part };
- my $part2 = { %$part };
- $part2->{start} = $sector2;
- $part2->{size} += $hd2->cylinder_size - 1;
- partition_table::remove($hd, $part);
- {
- local ($part2->{notFormatted}, $part2->{isFormatted}); #- do not allow partition::add to change this
- partition_table::add($hd2, $part2);
- }
-
- return if $part2->{notFormatted} && !$part2->{isFormatted} || $::testing;
-
- local (*F, *G);
- sysopen F, $hd->{file}, 0 or die '';
- sysopen G, $hd2->{file}, 2 or die \N("Error opening %s for writing: %s", $hd2->{file}, $!);
-
- my $base = $part1->{start};
- my $base2 = $part2->{start};
- my $step = 10;
- if ($hd eq $hd2) {
- $base == $base2 and return;
- $step = min($step, abs($base2 - $base));
-
- if ($base < $base2) {
- $base += $part1->{size} - $step;
- $base2 += $part1->{size} - $step;
- $step = -$step;
- }
- }
-
- my $f = sub {
- $base < 0 and $base2 += -$base, $base = 0;
- $base2 < 0 and $base += -$base2, $base2 = 0;
- c::lseek_sector(fileno(F), $base, 0) or die "seeking to sector $base failed on drive $hd->{device}";
- c::lseek_sector(fileno(G), $base2, 0) or die "seeking to sector $base2 failed on drive $hd2->{device}";
-
- my $buf;
- sysread F, $buf, $SECTORSIZE * abs($_[0]) or die '';
- syswrite G, $buf;
- };
-
- for (my $i = 0; $i < $part1->{size} / abs($step); $i++, $base += $step, $base2 += $step) {
- print "$base $base2\n";
- &$f($step);
- }
- if (my $v = ($part1->{size} % abs($step)) * sign($step)) {
- $base += $v;
- $base2 += $v;
- &$f($v);
- }
-}
-
sub change_type {
my ($type, $hd, $part) = @_;
- $type != $part->{type} or return;
- check_type($type, $hd, $part);
+ $type->{pt_type} != $part->{pt_type} || $type->{fs_type} ne $part->{fs_type} or return;
+ fs::type::check($type->{fs_type}, $hd, $part);
+ delete $part->{device_UUID};
$hd->{isDirty} = 1;
$part->{mntpoint} = '' if isSwap($part) && $part->{mntpoint} eq "swap";
- $part->{mntpoint} = '' if isRawLVM({ type => $type }) || isRawRAID({ type => $type });
- $part->{type} = $type;
- $part->{notFormatted} = 1;
- $part->{isFormatted} = 0;
-}
-
-sub rescuept($) {
- my ($hd) = @_;
- my ($ext, @hd);
-
- my $dev = devices::make($hd->{device});
- open(my $F, "rescuept $dev|");
- local $_;
- while (<$F>) {
- my ($st, $si, $id) = /start=\s*(\d+),\s*size=\s*(\d+),\s*Id=\s*(\d+)/ or next;
- my $part = { start => $st, size => $si, type => hex($id) };
- if (isExtended($part)) {
- $ext = $part;
- } else {
- push @hd, $part;
- }
- }
- close $F or die "rescuept failed";
-
- partition_table::raw::zero_MBR($hd);
- foreach (@hd) {
- my $b = partition_table::verifyInside($_, $ext);
- if ($b) {
- $_->{start}--;
- $_->{size}++;
- }
- local $_->{notFormatted};
-
- partition_table::add($hd, $_, ($b ? 'Extended' : 'Primary'), 1);
- }
+ $part->{mntpoint} = '' if fs::type::cannotBeMountable($part);
+ set_isFormatted($part, 0);
+ fs::type::set_type_subpart($part, $type);
+ fs::mount_options::rationalize($part);
+ 1;
}
-sub compare_with_proc_partitions {
- my ($hd) = @_;
+=item partition_table_clear_and_initialize($lvms, $hd, $o_in, $o_type, $b_warn) = @_;
- my @l1 = partition_table::get_normal_parts($hd);
- my @l2 = grep { $_->{rootDevice} eq $hd->{device} } read_proc_partitions([$hd]);
+wrapper around partition_table::initialize() but which also create a singleton VG
+automatically (so that it's easier for the user)
- #- /proc/partitions includes partition with type "empty" and a non-null size
- #- so add them for comparison
- my ($len1, $len2) = (int(@l1) + $hd->{primary}{nb_special_empty}, int(@l2));
+=cut
- if ($len1 != $len2 && arch() ne 'ppc') {
- die sprintf(
- "/proc/partitions doesn't agree with drakx %d != %d:\n%s\n", $len1, $len2,
- "/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @l2));
+sub partition_table_clear_and_initialize {
+ my ($lvms, $hd, $o_in, $o_type, $b_warn) = @_;
+ partition_table::initialize($hd, $o_type);
+ if ($hd->isa('partition_table::lvm')) {
+ if ($b_warn && $o_in) {
+ $o_in->ask_okcancel_('', N("ALL existing partitions and their data will be lost on drive %s", partition_table::description($hd))) or return;
+ }
+ require lvm;
+ lvm::check($o_in ? $o_in->do_pkgs : do_pkgs_standalone->new) if $::isStandalone;
+ lvm::create_singleton_vg($lvms, fs::get::hds_fstab($hd));
}
- $len2;
-}
-
-sub use_proc_partitions {
- my ($hd) = @_;
-
- log::l("using /proc/partitions since diskdrake failed :(");
- partition_table::raw::zero_MBR($hd);
- $hd->{readonly} = 1;
- $hd->{getting_rid_of_readonly_allowed} = 1;
- $hd->{primary} = { normal => [ grep { $_->{rootDevice} eq $hd->{device} } read_proc_partitions([$hd]) ] };
}
1;
diff --git a/perl-install/ftp.pm b/perl-install/ftp.pm
deleted file mode 100644
index c971898a1..000000000
--- a/perl-install/ftp.pm
+++ /dev/null
@@ -1,86 +0,0 @@
-package ftp; # $Id$
-
-use Net::FTP;
-
-use network;
-use log;
-
-my %hosts;
-
-1;
-
-sub fromEnv() {
- #- now URLPREFIX is generated from what is given by mdk-stage1 which is only this 4 variables.
- $ENV{URLPREFIX} = "ftp://" . ($ENV{LOGIN} && ($ENV{LOGIN} . ($ENV{PASSWORD} && ":$ENV{PASSWORD}") . '@')) .
- "$ENV{HOST}/$ENV{PREFIX}";
- @ENV{qw(HOST PREFIX LOGIN PASSWORD)};
-}
-
-sub new {
- my ($host, $prefix, $o_login, $o_password) = @_;
- my @l = do { if ($hosts{"$host$prefix"}) {
- @{$hosts{"$host$prefix"}};
- } else {
- my %options = (Passive => 1, Timeout => 60, Port => 21);
- $options{Firewall} = $ENV{PROXY} if $ENV{PROXY};
- $options{Port} = $ENV{PROXYPORT} if $ENV{PROXYPORT};
- unless ($o_login) {
- $o_login = 'anonymous';
- $o_password = '-drakx@';
- }
-
- my $ftp;
- foreach (1..10) {
- $ftp = Net::FTP->new(network::resolv($host), %options) or die;
- $ftp && $ftp->login($o_login, $o_password) and last;
-
- log::l("ftp login failed, sleeping before trying again");
- sleep 5 * $_;
- }
- $ftp or die "unable to open ftp connection to $host";
- $ftp->binary;
- $ftp->cwd($prefix);
-
- my @l = ($ftp, \ (my $_retr));
- $hosts{"$host$prefix"} = \@l;
- @l;
- } };
- wantarray() ? @l : $l[0];
-}
-
-sub getFile {
- my ($f, @para) = @_;
- $f eq 'XXX' and rewindGetFile(), return; #- special case to force closing connection.
- foreach (1..3) {
- my ($ftp, $retr) = new(@para ? @para : fromEnv());
- eval { $$retr->close if $$retr };
- $@ and rewindGetFile(); #- in case Timeout got us on "->close"
- $$retr = $ftp->retr($f) and return $$retr;
- $ftp->code == 550 and log::l("FTP: 550 file unavailable"), return;
- rewindGetFile();
- log::l("ftp get failed, sleeping before trying again");
- sleep 1;
- }
-}
-
-#-sub closeFiles() {
-#- #- close any existing connections
-#- foreach (values %hosts) {
-#- my $retr = $_->[1] if ref $_;
-#- $$retr->close if $$retr;
-#- undef $$retr;
-#- }
-#-}
-
-sub rewindGetFile() {
- #- close any existing connection.
- foreach (values %hosts) {
- my ($ftp, $retr) = @{$_ || []};
- #- don't let Timeout kill us!
- eval { $$retr->close } if $$retr;
- eval { $ftp->close } if $ftp;
- }
-
- #- make sure to reconnect to server.
- %hosts = ();
-}
diff --git a/perl-install/g_auto_install b/perl-install/g_auto_install
deleted file mode 100755
index dd7655ee5..000000000
--- a/perl-install/g_auto_install
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-#- avoid polluting environment with specific locales.
-delete $ENV{$_} foreach qw(LC_MONETARY LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME LC_COLLATE LANGUAGE LANG RPM_INSTALL_LANG);
-
-if ($ENV{DISPLAY}) {
- system "xset", "+fp", "$dir/usr/X11R6/lib/X11/fonts/";
- system "xset", "fp", "rehash";
-}
-
-#- perl version of the install, we use directly the version we found,
-#- this means there SHOULD BE no module compiled for an older version of perl
-#- which will be used by DrakX.
-my ($version, $arch) = (glob "$dir/usr/lib/perl5/*/*/CORE/libperl.so")[0] =~ m|$dir/usr/lib/perl5/([^/]*)/([^/]*)/CORE/libperl.so|;
-
-#- keep it mind the ELF loader to use.
-$ENV{LD_LOADER} = "$dir/lib/ld-linux.so.2";
-
-$ENV{LOCPATH}="$dir/usr/share/locale";
-$ENV{GCONV_PATH}="$dir/usr/lib/gconv";
-$ENV{PERL5LIB} = join ":", map { "$dir/usr/lib/perl5/$_" } ("$version/$arch",
- "$version",
- "site_perl/$version/$arch",
- "site_perl/$version",
- "site_perl");
-$ENV{LD_LIBRARY_PATH} = "$dir/usr/bin:$dir/bin:$dir/sbin:$dir/usr/sbin:$dir/usr/X11R6/bin:$dir/lib:$dir/usr/lib:$dir/usr/lib/perl5/$version/$arch/CORE";
-$ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}";
-$ENV{SHARE_PATH} = "$dir/usr/share";
-$ENV{RPMRC_FILE} = "$dir/usr/lib/rpm/rpmrc";
-$ENV{GTK_DATA_PREFIX} = "$dir/usr";
-$ENV{GTK_EXE_PREFIX} = "$dir/usr";
-$ENV{GDK_IMLIB_PATH} = "$dir/usr/lib";
-
-system $ENV{LD_LOADER}, "../perl", "./install2", "--g_auto_install", @ARGV;
-
-#- at this point, unwind above else they will not run correctly (wrong ld-linux.so.2)
-delete $ENV{GTK_EXE_PREFIX};
-delete $ENV{RPMRC_FILE};
-delete $ENV{LOCPATH};
-delete $ENV{SHARE_PATH};
-delete $ENV{PATH};
-delete $ENV{LD_LIBRARY_PATH};
-delete $ENV{PERL5LIB};
-delete $ENV{LD_LOADER};
-
-if ($ENV{DISPLAY}) {
- system "xset", "-fp", "$dir/usr/X11R6/lib/X11/fonts/";
- system "xset", "fp", "rehash";
-}
diff --git a/perl-install/handle_configs.pm b/perl-install/handle_configs.pm
index 7d6e5c6e9..97011f1f6 100644
--- a/perl-install/handle_configs.pm
+++ b/perl-install/handle_configs.pm
@@ -1,6 +1,5 @@
package handle_configs;
-# $Id$
use diagnostics;
use strict;
diff --git a/perl-install/harddrake/TODO b/perl-install/harddrake/TODO
deleted file mode 100644
index 6280d3c56..000000000
--- a/perl-install/harddrake/TODO
+++ /dev/null
@@ -1,171 +0,0 @@
--*- outline -*-
-
-* drakxtools
-** drakxtools* need XF-{75,100}fonts that requires XFree86
-
-* Harddrake TODO:
-** ui
-*** mdk9.2: put data into a third hidden column rather in %data
-*** more usb mice infos
-*** enable the user to force a module (isa, isapnp, ...)
-*** print "(not loaded)" if module isn't loaded
-*** add bus_position to make unique id in ui (check it does not confuse hw service)
-*** cdrom (must be done by diskdrake):
-**** ide-scsi / ide-cd switch (humm, the future (aka 2.6.x kernel) is ide-cd only)
-*** use fbgtk+2 when booting on fbcon for smoother GUI => interactive::fbgtk
-*** help:
-**** print fields in black and their description in blue as for information fields
-*** check there's at least one config option before showing the "condigure module" button
-*** s/module/driver/ ?
-** fixes
-*** configure at boot-time (hw hooks shared by both harddrake & drakx ?):
- all /etc/modules aliases
-**** usb-interfaces (or rewrite usb service in perl for speed)
-**** switch nvidia/nv in /etc/X11/XF86Config
- if [[ -e /lib/modules/`uname -r`/kernel/drivers/video/NVdriver ]]; then
- perl -pi -e 's!Driver "nv.*"!Driver "nvidia"!g;s!#HARDDRAKE (Load.*glx)!\1!g' /etc/X11/XF86Config-4
- else
- perl -pi -e 's!Driver "nv.*"!Driver "nv"!g;s!(Load.*glx)!#HARDDRAKE \1!g' /etc/X11/XF86Config-4
- fi
-*** non needed stuff to run X must be posponed after X11 startup
-**** eg: scanner/audio/printer/floppy/cdrom/tape/tv/webcam/joystick/ ...
-*** pci freeze
-** packaging : separate version for harddrake & drakxtool
-** configurators
-*** new cd burner: offer to install cdrecord and one of its gui frontends
-*** new dvd driver : offer to install xine||mplayer
-*** draksound :
-**** add a dialog so that the user choose its wavetable.
-**** list all availables drivers, defaulting to first alternative, prepending old one with '*'
-**** add 'ALSA/OSS': tag to modules list
-** detect engine:
-*** detect isapnp devices
-*** set more field for fscking 0x0000:0x0000 usb controllers
-
-** move all drakx tools into just a small one-liner that uses real <tool>.pm
- so that harddrake and mcc reduces their memory usage pattern and
- be faster (the next fast step will be to use perl6/parrot)
-
- drawback : this would level down quite a lot the global mcc/harddrake robustness
-
-** check there're enough parameters in module config
-** for to send a message for unknown hardware to install@mandrakesoft.com
-
- Subject: [UNKNOW HARDWARE] or a new other ml
- -> do you konw how to configure it under linux ?
- -> description
-
-
-* ####################################################################
-* ####################################################################
-
-* / no hope / useless :
-** enable a string to be passed as detector; in that case, do ourself the =~
-** alter detect_devices in order to only probe one time
-** detect *ALL* mouses if more than one (mousedrake?)
-
-** deeper data structure in Mandrake 9.2 ?
-
- "Mass storage" => (Floppy,
- Disk,
- Cdrom,
- Tape)
-
- "Network" => (Ethernetcard,
- Modem,
- Isdn)
- "Multimedia" => (Videocard,
- Tvcard,
- Soundcard,
- Webcam)
- "System" => (Bridge,
- Cpu,
- Memory)
-
-
- "Publishing" => (Printer,
- Scanner)
-
- "Pointing" => (Mouse,
- Joystick)
-
- "Buses" => (Ideinterface,
- Scsiinterface,
- Usbinterface,
- );
-
- "Unknown/Others",
-
-* ####################################################################
-
-* Suggestions
-** various
-Subject: Re: [Cooker] Optional ALSA Support for SB Live!
-From: Fabrice FACORAT <f.faber@netcourrier.com>
-To: cooker@linux-mandrake.com
-In-Reply-To: <m2ofhvtpaq.fsf@vador.mandrakesoft.com>
-References: <20020311051222.47DC087CA5@yavin.mandrax.org>
- <m2ofhvtpaq.fsf@vador.mandrakesoft.com>
-Date: 11 Mar 2002 11:12:31 +0100
-Message-Id: <1015841551.3895.31.camel@bastard.localdomain>
-
-Le lun 11/03/2002 à 10:41, Thierry Vignaud a écrit :
-
-> > In Mandrake 8.1 rerunning Harddrake post-setup would switch over
-> > to ALSA (which supports MIDI synth), however in 8.2 the only way to
-> > get ALSA support is to manually edit the modules.conf file. This
-> > would be disasterous for someone who isn't familar with
-> > modules.conf, but had been instructed on the mandrake-expert/newbie
-> > lists (as many had been) to simply rerun Harddrake on the sound card
-> > to get ALSA (and hence MIDI synth support).
->
-> give me the result of lspcidrake -f -v so that i switch your card
-> from oss to alsa.
-
-no please.
-just one month ago you switch SBLive from Alsa to OSS ( cause drakX
-set it as OSS and harddrake as Alsa ).
-There were also a discussion concerning the fact that Alsa doesn't
-support emu-tools and so all available options.
-Last but not least, several peoples report pbs with Alsa ( is sound is
-too high you have disturbances ). So someone is going to ask you for
-OSS as it want to use some features os SBLive, etc ...
-
-To my mind the best way for this ( but too late for 8.2 ) will be to
-have a tool called soundrake. Thanks to this tools, you choose at the
-beginning if you want to use OSS or alsa and then try to correctly
-configure your sound card. This tool should be able to work in
-embended mo in harddrake or harddrake2 ( infos concerning this so long
-awaiting harddrake 2 ? ).
-
-In order to make this tool be a perfect tool, it should be able to
-advice user concerning the advantage and the disadvantage of each
-driver ( indeed alsa sometimes is better than OSS as it support full
-duplex and wave mixing on more sound cards ).
-It's also disturbing is harddrake set alsa by default and XrakX set
-OSS by default as sometimes by lanching harddrake ( just to see what
-happen ) you lose ( or seems to lose ) your sound card ( mute mixer )
-
-For example :
-+ launch harddrake
-+ use autodetection : yes/no
-+ if auto detects enable, it detects a SBLive.
-+ explanations text concerning the fact that :
- if I use OSS I will be able to use sounds effects, live drive and
-others things ( AC-3 passthrough ) thanks to the emu10k1-tools packages
-( available on CD sets and installable via Software Manager )
- if I use Alsa, I won't be able to use emu10k1-tools but at the
-contrary I will be able to use midi software as alsa module support midi
-+ ask user which one he wants to use : OSS / Alsa ?
-+ set the sound card drivers and modules.conf according to user wishes
-+ <mode= dream> if I select OSS, installed emu10k1-tools and provide a
-GUI to configure them </mode = dream>
-+ <mode= dream> if I select Alsa unmute at least PCM and Vol or display
-a warning saying that by default Alsa mute everything ( configure alsa
-service so that it save mixer settings )
-+ test the sound ( mandrake sound theme )
-+ do you hear something ?
-+ yes -> your sound card have been properly set.
-+ if no -> try the others drivers set or send lspcidrake -v to
-somebody@somewhere.org to check for support for your sound card
-+ Do you ahave another sound card ?
diff --git a/perl-install/harddrake/autoconf.pm b/perl-install/harddrake/autoconf.pm
new file mode 100644
index 000000000..fba5078cd
--- /dev/null
+++ b/perl-install/harddrake/autoconf.pm
@@ -0,0 +1,155 @@
+package harddrake::autoconf;
+
+use common;
+
+sub xconf {
+ my ($modules_conf, $o, $o_skip_fb_setup, $o_resolution_wanted) = @_;
+
+ log::l('automatic XFree configuration');
+
+ require Xconfig::default;
+ require do_pkgs;
+ my $do_pkgs = do_pkgs_standalone->new;
+ $o->{raw_X} = Xconfig::default::configure($do_pkgs);
+
+ my $old_x = { if_($o_resolution_wanted, resolution_wanted => $o_resolution_wanted) };
+
+ require Xconfig::main;
+ Xconfig::main::configure_everything_auto_install($o->{raw_X}, $do_pkgs, $old_x, { allowFB => listlength(cat_("/proc/fb")), skip_fb_setup => $o_skip_fb_setup });
+
+ #- always disable compositing desktop effects when configuring a new video card
+ require Xconfig::glx;
+ Xconfig::glx::write({});
+
+ modules::load_category($modules_conf, 'various/agpgart');
+}
+
+sub setup_ethernet_device {
+ my ($in, $device) = @_;
+
+ require network::connection;
+ require network::connection::ethernet;
+ require network::connection::wireless;
+ my @connection_types = qw(network::connection::ethernet network::connection::wireless);
+ my @all_connections = map { $_->get_connections(automatic_only => 1) } @connection_types;
+ my $interface = network::connection::ethernet::device_to_interface($device)
+ or return;
+ my $connection = find { $_->get_interface eq $interface } @all_connections
+ or return;
+
+ require network::connection_manager;
+ my $net = {};
+ network::network::read_net_conf($net);
+ my $cmanager = network::connection_manager->new($in, $net);
+ $cmanager->set_connection($connection);
+
+ # this will installed required packages
+ $cmanager->setup_connection;
+}
+
+sub network_conf {
+ my ($modules_conf, $in, $added) = @_;
+ $modules_conf->remove_alias_regexp('^(wlan|eth)[0-9]*$');
+ modules::load_category($modules_conf, 'network/main|gigabit|usb|wireless|firewire|pcmcia');
+
+ setup_ethernet_device($in, $_) foreach @{$added || {}};
+
+ require network::connection::ethernet;
+ network::connection::ethernet::configure_eth_aliases($modules_conf);
+ require network::rfswitch;
+ network::rfswitch::configure();
+ require network::shorewall;
+ network::shorewall::update_interfaces_list();
+ $modules_conf->write;
+}
+
+sub mouse_conf {
+ my ($modules_conf) = @_;
+ require do_pkgs;
+ require mouse;
+ mouse::write_conf(do_pkgs_standalone->new, $modules_conf, my $mouse = mouse::detect($modules_conf), 1);
+ mouse::load_modules($mouse);
+}
+
+sub pcmcia {
+ my ($pcic) = @_;
+ require modules;
+ modules::set_preload_modules("pcmcia", if_($pcic, $pcic));
+}
+
+sub bluetooth {
+ my ($enable) = @_;
+ # do not disable bluetooth service if adapter disappears
+ # (for example if disabled by Fn keys)
+ # systemd will automatically disable the service if needed
+ return if !$enable;
+
+#- FIXME: make sure these packages are installed when needed
+# if ($enable) {
+# require do_pkgs;
+# my $do_pkgs = do_pkgs_standalone->new;
+# $do_pkgs->ensure_is_installed("bluez-utils", "/usr/bin/rfcomm");
+# }
+ require services;
+ services::set_status("bluetooth", $enable);
+ my $kbluetoothd_cfg = '/etc/kde/kbluetoothrc';
+ update_gnomekderc($kbluetoothd_cfg,
+ 'General',
+ 'AutoStart' => bool2text($enable)) if -f $kbluetoothd_cfg;
+}
+
+sub laptop {
+ my ($on_laptop) = @_;
+#- FIXME: make sure these packages are installed when needed
+# require do_pkgs;
+# my $do_pkgs = do_pkgs_standalone->new;
+# if ($on_laptop) {
+# $do_pkgs->ensure_is_installed("cpufreq", "/etc/rc.d/init.d/cpufreq");
+# $do_pkgs->ensure_is_installed("apmd", "/usr/bin/apm");
+# $do_pkgs->ensure_is_installed("hotkeys", "/usr/bin/hotkeys");
+# $do_pkgs->ensure_is_installed("laptop-mode-tools", "/usr/sbin/laptop_mode");
+# } else {
+# $do_pkgs->ensure_is_installed("numlock", "/etc/rc.d/init.d/numlock");
+# }
+ require services;
+ services::set_status("apmd", -e "/proc/apm");
+ services::set_status("laptop-mode", $on_laptop);
+ services::set_status("numlock", !$on_laptop);
+}
+
+sub cpufreq() {
+ require cpufreq;
+ modules::set_preload_modules("cpufreq", cpufreq::get_modules());
+}
+
+sub floppy() {
+ require detect_devices;
+ modules::set_preload_modules("floppy", if_(detect_devices::floppy(), "floppy"));
+}
+
+sub fix_aliases {
+ my ($modules_conf) = @_;
+ require modalias;
+ my %new_aliases;
+ #- first pass: find module targets whose modalias is not valid anymore
+ foreach my $module ($modules_conf->modules) {
+ if (my $aliased_to = $modules_conf->get_alias($module)) {
+ my @valid_modaliases = modalias::get_modules($module, 'skip_config') or next;
+ my ($found, $others) = partition { $_ eq $aliased_to } @valid_modaliases;
+ $new_aliases{$aliased_to} = @{$others || []} == 1 && $others->[0] if is_empty_array_ref($found);
+ }
+ }
+ #- second pass: adapt module targets that are not valid anymore
+ foreach my $module ($modules_conf->modules) {
+ if (my $aliased_to = $modules_conf->get_alias($module)) {
+ if (my $new = exists $new_aliases{$aliased_to} && $new_aliases{$aliased_to}) {
+ $modules_conf->set_alias($module, $new);
+ } else {
+ $modules_conf->remove_alias($module);
+ }
+ }
+ }
+ $modules_conf->write;
+}
+
+1;
diff --git a/perl-install/harddrake/check_snd.pl b/perl-install/harddrake/check_snd.pl
index dfa007b80..4721bed40 100755
--- a/perl-install/harddrake/check_snd.pl
+++ b/perl-install/harddrake/check_snd.pl
@@ -10,7 +10,7 @@ use list_modules;
my @listed_modules = @{$list_modules::l{multimedia}{sound}};
my @drivers = (keys %harddrake::sound::oss2alsa, keys %harddrake::sound::alsa2oss);
-my @alternatives = uniq map { @{$_} } values %harddrake::sound::oss2alsa, values %harddrake::sound::alsa2oss;
+my @alternatives = uniq map { @$_ } values %harddrake::sound::oss2alsa, values %harddrake::sound::alsa2oss;
# check harddrake::sound's data structures're coherent
print "unknown alternative drivers : [", join(', ', difference2(\@alternatives, \@drivers)), "]\n";
diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm
index b77f637d8..8d4d4de21 100644
--- a/perl-install/harddrake/data.pm
+++ b/perl-install/harddrake/data.pm
@@ -3,22 +3,40 @@ package harddrake::data;
use strict;
use detect_devices;
use common;
+use modules;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(version tree);
-our ($version, $sbindir, $bindir) = ("9.1.1", "/usr/sbin", "/usr/bin");
+our ($version, $sbindir, $bindir) = ("10", "/usr/sbin", "/usr/bin");
-my @devices = detect_devices::probeall();
+my @devices = (detect_devices::probeall(), detect_devices::getSCSI());
+
+foreach my $dev (@devices) {
+ # normalize device IDs for devices that came from mouse.pm:
+ next if !defined $dev->{Synaptics};
+ foreach my $field (qw(vendor id subvendor subid)) {
+ next if !defined $dev->{$field};
+ $dev->{$field} = hex($dev->{$field});
+ }
+}
# Update me each time you handle one more devices class (aka configurator)
sub unknown() {
- grep { $_->{media_type} !~ /BRIDGE|class\|Mouse|DISPLAY|Hub|MEMORY_RAM|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|NETWORK|Printer|SERIAL_(USB|SMBUS)|STORAGE_(IDE|OTHER|SCSI)|tape/
- && $_->{driver} !~ /^(ohci1394|scanner|usbvision|mod_quickcam)$|Mouse:USB|class\|Mouse|Removable:zip|www.linmodems.org|nvnet/
+ grep { $_->{media_type} !~ /BRIDGE|class\|Mouse|DISPLAY|Hub|MEMORY_RAM|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|NETWORK|Printer|SERIAL_(USB|SMBUS)|STORAGE_(IDE|OTHER|RAID|SCSI)|SYSTEM_(OTHER|SDHCI)|tape|UPS/
+ && !member($_->{driver}, qw(cpia_usb cyber2000fb forcedeth ibmcam megaraid mod_quickcam nvnet ohci1394 ov511 ov518_decomp scanner ultracam usbvideo usbvision))
+ && $_->{driver} !~ /^ISDN|Mouse:USB|Removable:zip|class\|Mouse|sata|www.linmodems.org|kbd|mouse|sysrq|usbhid/
&& $_->{type} ne 'network'
- && $_->{description} !~ /Alcatel|ADSL Modem/
+ && $_->{description} !~ /Alcatel|ADSL Modem/;
} @devices;
}
+my @alrd_dected;
+sub f {
+ my @devs = grep { !member(pciusb_id($_), @alrd_dected) } grep { $_ } @_;
+ push @alrd_dected, map { pciusb_id($_) } @devs;
+ @devs;
+}
+
# tree format ("CLASS_ID", "type", "type_icon", configurator, detect_sub)
# NEVER, NEVER alter CLASS_ID or you'll see harddrake2 service detect changes
@@ -26,72 +44,535 @@ sub unknown() {
# FIXME: add translated items
-sub is_removable { $_[0] =~ /FLOPPY|ZIP|DVDROM|CDROM|BURNER/ }
+sub is_removable { member($_[0], qw(FLOPPY ZIP DVDROM CDROM BURNER)) }
+sub is_auto_configurable_media { !detect_devices::isKeyUsb($_[0]) }
sub set_removable_configurator {
my ($class, $device) = @_;
- return "/usr/sbin/diskdrake --removable=$device->{device}" if is_removable($class);
-}
-
-sub set_removable_remover {
- my ($class, $device) = @_;
- return "/usr/sbin/drakupdate_fstab --no-flag --del $device->{device}" if is_removable($class);
-}
+ is_removable($class) ? "/usr/sbin/diskdrake --removable=$device->{device}" : undef;
+ }
+my $modules_conf = modules::any_conf->read;
# Format is (HW class ID, l18n class name, icon, config tool , is_to_be_detected_on_boot)
our @tree =
(
- [ "FLOPPY", , N("Floppy"), "floppy.png", "", \&detect_devices::floppies, 1 ],
- [ "ZIP", , N("Zip"), "floppy.png", "", \&detect_devices::zips, 1 ],
- [ "HARDDISK", , N("Disk"), "harddisk.png", "$sbindir/diskdrake", \&detect_devices::hds, 1 ],
- [ "CDROM", , N("CDROM"), "cd.png", "", sub { grep { !(detect_devices::isBurner($_) || detect_devices::isDvdDrive($_)) } &detect_devices::cdroms }, 1 ],
- [ "BURNER", , N("CD/DVD burners"), "cd.png", "", \&detect_devices::burners, 1 ],
- [ "DVDROM", , N("DVD-ROM"), "cd.png", "", sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms() }, 1 ],
- [ "TAPE", , N("Tape"), "tape.png", "", \&detect_devices::tapes, 0 ],
- [ "VIDEO", , N("Videocard"), "video.png", "$sbindir/XFdrake", sub { grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ /DISPLAY_VGA/ } @devices }, 1 ],
- [ "TV", , N("Tvcard"), "tv.png", "/usr/bin/XawTV", sub { grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO/ && $_->{bus} eq 'PCI' || $_->{driver} eq 'usbvision' } @devices }, 0 ],
- [ "MULTIMEDIA_OTHER", , N("Other MultiMedia devices"), "multimedia.png", "", sub { grep { $_->{media_type} =~ /MULTIMEDIA_OTHER/ } @devices }, 0 ],
- [ "AUDIO", , N("Soundcard"), "sound.png", "$sbindir/draksound", sub { grep { $_->{media_type} =~ /MULTIMEDIA_AUDIO/ } @devices }, 0 ],
- [ "WEBCAM", , N("Webcam"), "webcam.png", "", sub { grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO/ && $_->{bus} ne 'PCI' || $_->{driver} eq 'mod_quickcam' } @devices }, 0 ],
- [ "CPU", , N("Processors"), "cpu.png", "", sub { detect_devices::getCPUs() }, 0 ],
- [ "ETHERNET", , N("Ethernetcard"), "hw_network.png", "$sbindir/drakconnect", sub {
- #- generic NIC detection for USB seems broken (class, subclass,
- #- protocol report are not accurate) so I'll need to verify against
- #- known drivers :-(
- require list_modules;
- my @usbnet = (list_modules::category2modules('network/usb'), "nvnet"); # rought hack for nforce2's nvet
-
- grep { $_->{media_type} && $_->{media_type} =~ /^NETWORK/ || member($_->{driver}, @usbnet) || $_->{type} && $_->{type} eq 'network' } @devices }, 1 ],
- [ "MODEM", , N("Modem"), "modem.png", "", sub { detect_devices::getSpeedtouch(), detect_devices::getSagem(), detect_devices::getModem() }, 0 ],
- [ "BRIDGE", , N("Bridges and system controllers"), "memory.png", "", sub { grep { $_->{media_type} =~ /BRIDGE|MEMORY_RAM/ && $_->{driver} ne 'nvnet' } @devices }, 0 ],
- [ "UNKNOWN", , N("Unknown/Others"), "unknown.png", "", \&unknown, 0 ],
-
- [ "PRINTER", , N("Printer"), "hw_printer.png", "$sbindir/printerdrake", sub {
- require printer::detect; printer::detect::detect() }, 0 ],
- [ "SCANNER", , N("Scanner"), "scanner.png", "$sbindir/scannerdrake", sub {
- require scanner; scanner::detect() }, 0 ],
- [ "MOUSE", , N("Mouse"), "hw_mouse.png", "$sbindir/mousedrake", sub {
- require mouse;
- require modules;
- modules::mergein_conf('/etc/modules.conf') if -r '/etc/modules.conf';
- &mouse::detect() }, 1 ],
- [ "JOYSTICK", , N("Joystick"), "joystick.png", "", sub {}, 0 ],
-
- [ "ATA_STORAGE", , N("(E)IDE/ATA controllers"), "ide_hd.png", "", sub { grep { $_->{media_type} =~ /STORAGE_(IDE|OTHER)/ } @devices }, 0 ],
- [ "FIREWIRE_CONTROLLER", , N("Firewire controllers"), "usb.png", "", sub { grep { $_->{driver} =~ /ohci1394/ } @devices }, 1 ],
- [ "SCSI_CONTROLLER", , N("SCSI controllers"), "scsi.png", "", sub { grep { $_->{media_type} =~ /STORAGE_SCSI/ } @devices }, 0 ],
- [ "USB_CONTROLLER", , N("USB controllers"), "usb.png", "", sub { grep { $_->{media_type} =~ /SERIAL_USB|Hub/ } @devices }, 0 ],
- [ "SMB_CONTROLLER", , N("SMBus controllers"), "usb.png", "", sub { grep { $_->{media_type} =~ /SERIAL_SMBUS/ } @devices }, 0 ],
- );
+ {
+ class => "SATA_STORAGE",
+ string => N("SATA controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{driver} !~ /^pata/ } detect_devices::probe_category('disk/sata')),
+ f(grep { $_->{description} =~ /AHCI/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "RAID_STORAGE",
+ string => N("RAID controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/hardware_raid')),
+ f(grep { $_->{media_type} =~ /STORAGE_RAID/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ATA_STORAGE",
+ string => N("(E)IDE/ATA controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/ide')),
+ f(grep { $_->{driver} =~ /^pata/ && $_->{media_type} =~ /IDE|STORAGE_SATA/ } @devices),
+ f(grep { $_->{media_type} =~ /STORAGE_(IDE|OTHER)/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "CARD_READER",
+ string => N("Card readers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/card_reader')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "FIREWIRE_CONTROLLER",
+ string => N("Firewire controllers"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{driver} =~ /firewire_ohci|ohci1394/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "PCMCIA_CONTROLLER",
+ string => N("PCMCIA controllers"),
+ icon => "hw-pcmcia.png",
+ configurator => "",
+ detector => sub { f(detect_devices::pcmcia_controller_probe()) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "SCSI_CONTROLLER",
+ string => N("SCSI controllers"),
+ icon => "scsi.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/scsi'), grep { $_->{media_type} =~ /STORAGE_SCSI/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "USB_CONTROLLER",
+ string => N("USB controllers"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} eq 'SERIAL_USB' } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "USB_HUB",
+ string => N("USB ports"),
+ icon => "hw-usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /Hub/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "SMB_CONTROLLER",
+ string => N("SMBus controllers"),
+ icon => "hw-smbus.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /SERIAL_SMBUS/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "BRIDGE",
+ string => N("Bridges and system controllers"),
+ icon => "memory.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /BRIDGE|MEMORY_RAM|SYSTEM_(OTHER|SDHCI)|MEMORY_OTHER|SYSTEM_PIC|COMMUNICATION_OTHER/
+ || $_->{description} =~ /Parallel Port Adapter/;
+ } @devices) },
+ checked_on_boot => 0,
+ },
+
+
+ {
+ class => "FLOPPY",
+ string => N("Floppy"),
+ icon => "floppy.png",
+ configurator => "",
+ detector => \&detect_devices::floppies,
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "ZIP",
+ string => N("Zip"),
+ icon => "floppy.png",
+ configurator => "",
+ detector => sub {
+ my ($options) = @_;
+ if ($options->{PARALLEL_ZIP_DETECTION}) {
+ modules::load_parallel_zip($modules_conf) and $modules_conf->write;
+ }
+ detect_devices::zips();
+ },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "HARDDISK",
+ string => N("Hard Disk"),
+ icon => "harddisk.png",
+ configurator => "$sbindir/diskdrake",
+ detector => sub { f(detect_devices::hds()) },
+ checked_on_boot => 0,
+ automatic => 1,
+ },
+
+ {
+ class => "USB_STORAGE",
+ string => N("USB Mass Storage Devices"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { member($_->{driver}, qw(usb_storage ub Removable:memory_card)) } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "CDROM",
+ string => N("CDROM"),
+ icon => "cd.png",
+ configurator => "",
+ detector => sub { f(grep { !(detect_devices::isBurner($_) || detect_devices::isDvdDrive($_)) } &detect_devices::cdroms) },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "BURNER",
+ string => N("CD/DVD burners"),
+ icon => "cd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::burners()) },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "DVDROM",
+ string => N("DVD-ROM"),
+ icon => "cd.png",
+ configurator => "",
+ detector => sub { f(grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms()) },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "TAPE",
+ string => N("Tape"),
+ icon => "tape.png",
+ configurator => "",
+ detector => \&detect_devices::tapes,
+ checked_on_boot => 0,
+ },
+
+ # AGP devices must be detected prior to video cards because some DRM drivers doesn't like be loaded
+ # after agpgart thus order in /etc/modprobe.preload is important (modules.pm should enforce such sorting):
+ {
+ class => "AGP",
+ string => N("AGP controllers"),
+ icon => "memory.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('various/agpgart')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "VIDEO",
+ string => N("Videocard"),
+ icon => "video.png",
+ configurator => "$sbindir/XFdrake",
+ detector => sub { f(grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ /DISPLAY_VGA/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "DVB",
+ string => N("DVB card"),
+ icon => "tv.png",
+ detector => sub { f(detect_devices::probe_category('multimedia/dvb')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "TV",
+ string => N("Tvcard"),
+ icon => "tv.png",
+ configurator => "/usr/sbin/drakxtv",
+ detector => sub { f(detect_devices::probe_category('multimedia/tv')),
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO/ && $_->{bus} eq 'PCI' } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "MULTIMEDIA_OTHER",
+ string => N("Other MultiMedia devices"),
+ icon => "multimedia.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /MULTIMEDIA_OTHER/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "AUDIO",
+ string => N("Soundcard"),
+ icon => "sound.png",
+ configurator => "$sbindir/draksound",
+ detector => sub {
+ require list_modules;
+ my @modules = list_modules::category2modules('multimedia/sound');
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_AUDIO|PROCESSOR_CO/ || member($_->{driver}, @modules)
+ || $_->{description} =~ /^\|?HDA |PC Speaker/ } @devices);
+ },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "WEBCAM",
+ string => N("Webcam"),
+ icon => "webcam.png",
+ configurator => "",
+ detector => sub {
+ require list_modules;
+ my @modules = (list_modules::category2modules('multimedia/webcam'), 'Removable:camera');
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO|Video\|Video Control|Imaging|Camera/ && $_->{bus} ne 'PCI'
+ || member($_->{driver}, @modules) || $_->{driver} =~ /^gpsca/ } @devices);
+ },
+ # managed by hotplug:
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "CPU",
+ string => N("Processors"),
+ icon => "cpu.png",
+ configurator => "",
+ detector => sub { detect_devices::getCPUs() },
+ # maybe should we install schedutils?
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ISDN",
+ string => N("ISDN adapters"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { require network::connection::isdn; my $isdn = network::connection::isdn::detect_backend($modules_conf); if_(@$isdn, f(@$isdn)) },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+
+ {
+ class => "USB_AUDIO",
+ string => N("USB sound devices"),
+ icon => "sound.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/usb_sound')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "RADIO",
+ string => N("Radio cards"),
+ icon => "tv.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/radio')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "ATM",
+ string => N("ATM network cards"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('network/atm')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "WAN",
+ string => N("WAN network cards"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('network/wan')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "BLUETOOTH",
+ string => N("Bluetooth devices"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('bus/bluetooth')), f(grep { $_->{description} =~ /Bluetooth Dongle/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ETHERNET",
+ string => N("Ethernetcard"),
+ icon => "hw_network.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub {
+ require list_modules;
+ my @net_modules = list_modules::category2modules(list_modules::ethernet_categories());
+ f(grep {
+ $_->{media_type} && $_->{media_type} =~ /^NETWORK/
+ || $_->{type} && $_->{type} eq 'network'
+ || member($_->{driver}, @net_modules)
+ || $_->{description} =~ /WLAN/;
+ } @devices);
+ },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "MODEM",
+ string => N("Modem"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { f(detect_devices::getModem($modules_conf)), f(grep { $_->{description} =~ /SoftModem/ } @devices) },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "ADSL",
+ string => N("ADSL adapters"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { f(detect_devices::get_xdsl_usb_devices()),
+ f(grep { $_->{description} =~ /Cohiba 3887 rev0/ } @devices);
+ },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MEMORY",
+ string => N("Memory"),
+ icon => "hw-memory.png",
+ configurator => "",
+ detector => sub { grep { member($_->{name}, 'Cache', 'Memory Module') || $_->{name} eq 'Memory Device' && $_->{Size} ne 'No Module Installed' } detect_devices::dmidecode() },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "PRINTER",
+ string => N("Printer"),
+ icon => "hw_printer.png",
+ configurator => "$sbindir/printerdrake",
+ detector => sub {},
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+
+
+ {
+ class => "GAMEPORT",
+ string =>
+ #-PO: these are joysticks controllers:
+ N("Game port controllers"),
+ icon => "joystick.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/gameport')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "JOYSTICK",
+ string => N("Joystick"),
+ icon => "joystick.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('input/joystick')), f(grep { $_->{description} =~ /Joystick/i } @devices) },
+ checked_on_boot => 0,
+ },
+
+
+ {
+ class => "KEYBOARD",
+ string => N("Keyboard"),
+ icon => "hw-keyboard.png",
+ configurator => "$sbindir/keyboarddrake",
+ detector => sub {
+ f(grep { $_->{description} =~ /Keyboard/i || $_->{media_type} =~ /Keyboard/i ||
+ # USB devices are filtered out since we already catch them through probeall():
+ $_->{bus} ne 'usb' && $_->{driver} =~ /^event|kbd|^usbhid/ && $_->{description} !~ /PC Speaker/;
+ } @devices);
+ },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MISC_INPUT",
+ string => N("Tablet and touchscreen"),
+ icon => "hw_mouse.png",
+ detector => sub { f(detect_devices::probe_category('input/tablet'), detect_devices::probe_category('input/touchscreen')) },
+ configurator => "$sbindir/mousedrake",
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MOUSE",
+ string => N("Mouse"),
+ icon => "hw_mouse.png",
+ configurator => "$sbindir/mousedrake",
+ detector => sub {
+ f(grep { $_->{driver} =~ /^Mouse:|^Tablet:|^mouse/ || $_->{media_type} =~ /class\|Mouse/ ||
+ # USB devices are filtered out since we already catch them through probeall():
+ $_->{bus} ne 'usb' && $_->{Handlers}{mouse};
+ } @devices);
+ },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "BIOMETRIC",
+ string => N("Biometry"),
+ icon => "ups.png",
+ detector => sub { f(grep { $_->{description} =~ /fingerprint|biometric/i } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "UPS",
+ string => N("UPS"),
+ icon => "ups.png",
+ configurator => "$sbindir/drakups",
+ detector => sub { f(detect_devices::getUPS()) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "SCANNER",
+ string => N("Scanner"),
+ icon => "scanner.png",
+ configurator => "$sbindir/scannerdrake",
+ detector => sub {
+ require scanner; f(map { $_->{val}{drakx_device} } f(scanner::detect()));
+ },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "UNKNOWN",
+ string => N("Unknown/Others"),
+ icon => "unknown.png",
+ configurator => "",
+ detector => sub { f(unknown()) },
+ checked_on_boot => 0,
+ },
+
+ );
+
+sub pciusb_id {
+ my ($dev) = @_;
+ my %alt = (
+ bus => 'usb_bus',
+ description => 'usb_description',
+ id => 'usb_id',
+ pci_bus => 'usb_pci_bus',
+ pci_device => 'usb_pci_device',
+ vendor => 'usb_vendor',
+ );
+ my @fields = ('bus', if_($dev->{bus} =~ /pci/, qw(pci_bus pci_device)), qw(vendor id subvendor subid),
+ if_($dev->{bus} !~ /usb/i, 'description'));
+ join(':', map { uc($dev->{$alt{$_}} || $dev->{$_}) } @fields);
+}
sub custom_id {
my ($device, $str) = @_;
+ return if !ref($device);
defined($device->{device}) ? $device->{device} :
(defined($device->{processor}) ?
N("cpu # ") . $device->{processor} . ": " . $device->{'model name'} :
- (defined($device->{description}) ? $device->{description} : $str));
+ $device->{"Socket Designation"} ?
+ "$device->{name} (" . $device->{"Socket Designation"} . ")" :
+ $device->{name} || $device->{description} || $device->{Vendor} || $str);
}
1;
diff --git a/perl-install/harddrake/sound.pm b/perl-install/harddrake/sound.pm
index d340b15d2..cdf24c219 100644
--- a/perl-install/harddrake/sound.pm
+++ b/perl-install/harddrake/sound.pm
@@ -1,307 +1,667 @@
package harddrake::sound;
-# lists filled with Danny Tholen help, enhanced by Thierry Vignaud
-#
-# No ALSA for OSS's
-# o tv cards: btaudio,
-# o isa cards: msnd_pinnacle, pas2,
-# o pci cards: ad1889, sam9407
-# No OSS for ALSA's
-# o pci cards: snd-als4000, snd-es968, snd-hdsp
-# o isa cards: snd-azt2320, snd-cs4231, snd-cs4236,
-# snd-dt0197h, snd-korg1212, snd-rme32
# TODO:
-# o ensure sound isn't user (either dsp/midi/sequencer/mixer)
+# o ensure sound is not user (either dsp/midi/sequencer/mixer)
# o fix sound/alsa services
use strict;
use common;
-use interactive;
use run_program;
use modules;
use list_modules;
use detect_devices;
use log;
-my $has_nvaudio = -x '/lib/modules/' . c::kernel_version() . '/';
-
-our %alsa2oss =
- (
- "snd-ad1816a" => [ "ad1816" ], # isa
- "snd-ad1848" => [ "ad1848", "pss" ], # isa
- "snd-ali5451" => [ "trident" ],
- "snd-als100" => [ "sb" ], # isa
- "snd-als4000" => [ "unknown" ],
- "snd-azt2320" => [ "unknown" ], # isa
- "snd-azt3328" => [ "unknown" ], # isa
- "snd-cmi8330" => [ "sb" ], # isa
- "snd-cmipci" => [ "cmpci" ],
- "snd-cs4231" => [ "unknown" ], # isa
- "snd-cs4232" => [ "cs4232" ], # isa
- "snd-cs4236" => [ "ad1848" ], # isa
- "snd-cs4281" => [ "cs4281" ],
- "snd-cs46xx" => [ "cs46xx" ],
- "snd-dt0197h" => [ "unknown" ], # isa
- "snd-emu10k1" => [ "audigy", "emu10k1" ],
- "snd-ens1370" => [ "es1370" ],
- "snd-ens1371" => [ "es1371" ],
- "snd-es1688" => [ "sb" ], # isa
- "snd-es18xx" => [ "sb" ], # isa
- "snd-es1938" => [ "esssolo1" ],
- "snd-es1968" => [ "maestro" ], # isa
- "snd-es968" => [ "sb" ],
- "snd-fm801" => [ "forte" ],
- "snd-gusclassic" => [ "gus" ], # isa
- "snd-gusextreme" => [ "gus" ], # isa
- "snd-gusmax" => [ "gus" ], # isa
- "snd-hdsp" => [ "unknown" ],
- "snd-ice1712" => [ "unknown" ], # isa
- "snd-ice1724" => [ "unknown" ], # isa
- "snd-intel8x0" => [ "ali5455", "i810_audio", "nvaudio" ],
- "snd-interwave" => [ "gus" ], # isa
- "snd-korg1212" => [ "unknown" ], # isa
- "snd-maestro3" => [ "maestro3" ],
- "snd-mpu401" => [ "mpu401" ],
- "snd-nm256" => [ "nm256_audio" ],
- "snd-opl3sa2" => [ "opl3", "opl3sa", "opl3sa2" ], # isa
- "snd-opti93x" => [ "mad16" ],
- "snd-rme32" => [ "unknown" ], # isa
- "snd-rme96" => [ "rme96xx" ], # pci
- "snd-rme9652" => [ "rme96xx" ], # pci
- "snd-sb16" => ["sscape", "sb"],
- "snd-sb8" => [ "sb" ],
- "snd-sbawe" => [ "awe_wave" ],
- "snd-sgalaxy" => [ "sgalaxy" ], # isa
- "snd-sonicvibes" => [ "sonicvibes" ],
- "snd-trident" => [ "trident" ],
- "snd-usb-audio" => [ "audio" ], # usb
- "snd-via82xx" => [ "via82cxxx_audio" ],
- "snd-wavefront" => [ "wavefront" ], # isa
- "snd-ymfpci" => [ "ymfpci" ]
- );
-
-
-our %oss2alsa =
- (
- "ad1816" => [ "snd-ad1816a" ],
- "ad1848" => [ "snd-ad1848", "snd-cs4236" ],
- "ad1889" => [ "unknown" ],
- "ali5455" => [ "snd-intel8x0" ],
- "audigy" => [ "snd-emu10k1" ],
- "audio" => [ "snd-usb-audio" ], # usb
- "awe_wave" => [ "snd-sbawe" ],
- "btaudio" => [ "unknown" ],
- "cmpci" => [ "snd-cmipci" ],
- "cs4232" => [ "snd-cs4232" ],
- "cs4281" => [ "snd-cs4281" ],
- "cs46xx" => [ "snd-cs46xx" ],
- "emu10k1" => [ "snd-emu10k1" ],
- "es1370" => [ "snd-ens1370" ],
- "es1371" => [ "snd-ens1371" ],
- "esssolo1" => [ "snd-es1938" ],
- "forte" => [ "snd-fm801" ],
- "gus" => ["snd-interwave", "snd-gusclassic", "snd-gusmax", "snd-gusextreme"],
- "i810_audio" => [ "snd-intel8x0" ],
- "ice1712" => [ "snd-ice1712" ],
- "mad16" => [ "snd-opti93x" ],
- "maestro" => [ "snd-es1968" ],
- "maestro3" => [ "snd-maestro3" ],
- "mpu401" => [ "snd-mpu401" ],
- "msnd_pinnacle" => [ "unknown" ],
- "nm256_audio" => [ "snd-nm256" ],
- "nvaudio" => [ "snd-intel8x0" ],
- "opl3" => [ "snd-opl3sa2" ],
- "opl3sa" => [ "snd-opl3sa2" ],
- "opl3sa2" => [ "snd-opl3sa2" ],
- "pas2" => [ "unknown" ],
- "pss" => [ "snd-ad1848" ],
- "rme96xx" => [ "snd-rme96", "snd-rme9652" ],
- "sam9407" => [ "unknown" ],
- "sb" => [ "snd-als100", "snd-cmi8330", "snd-es1688", "snd-es18xx", "snd-es968", "snd-sb8", "snd-sb16" ],
- "sgalaxy" => [ "snd-sgalaxy" ],
- "sonicvibes" => [ "snd-sonicvibes" ],
- "sscape" => [ "snd-sb16" ],
- "trident" => [ "snd-ali5451", "snd-trident" ],
- "via82cxxx_audio" => [ "snd-via82xx" ],
- "wavefront" => [ "snd-wavefront" ],
- "ymfpci" => [ "snd-ymfpci" ]
- );
-
-my @blacklist = qw(cs46xx cs4281);
-my $blacklisted = 0;
-
-sub rooted { run_program::rooted($::prefix, @_) }
-
-sub unload { modules::unload(@_) if $::isStandalone || $blacklisted }
-
-sub load { modules::load(@_) if $::isStandalone || $blacklisted }
-
-sub get_alternative {
- my ($driver) = @_;
- $alsa2oss{$driver} || $oss2alsa{$driver};
+sub is_pulseaudio_enabled {
+ my ($in) = @_;
+ my $soundprofile = common::read_alternative('soundprofile');
+ return $in->do_pkgs->is_installed('task-pulseaudio') && $soundprofile =~ /pulse$/;
}
-sub do_switch {
- my ($in, $old_driver, $new_driver, $index) = @_;
- return if $old_driver eq $new_driver;
- my $_wait = $in->wait_message(N("Please wait"), N("Please Wait... Applying the configuration"));
- log::explanations("removing old $old_driver\n");
- rooted("service sound stop") unless $blacklisted;
- rooted("service alsa stop") if $old_driver =~ /^snd-/ && !$blacklisted;
- unload($old_driver); # run_program("/sbin/modprobe -r $driver"); # just in case ...
- modules::remove_module($old_driver); # completed by the next add_alias()
- modules::add_alias("sound-slot-$index", $new_driver);
- modules::write_conf();
- if ($new_driver =~ /^snd-/) { # new driver is an alsa one
- rooted("service alsa start") unless $blacklisted;
- rooted("/sbin/chkconfig --add alsa");
- load($new_driver); # service alsa is buggy
- } else { rooted("/sbin/chkconfig --del alsa") }
- log::explanations("loading new $new_driver\n");
- rooted("/sbin/chkconfig --add sound"); # just in case ...
- rooted("service sound start") unless $blacklisted;
+sub set_pulseaudio {
+ my ($val) = @_;
+
+ my $alterative = '/etc/sound/profiles/' . ($val ? 'pulse' : 'alsa');
+ return if ! -d $alterative;
+
+ common::symlinkf_update_alternatives('soundprofile', $alterative);
+
+ # (cg) This config file will eventually be dropped, but it is still needed for now
+ # as several packages/patches depend on it.
+ my $config_file = "$::prefix/etc/sysconfig/pulseaudio";
+ $val = 'PULSE_SERVER_TYPE=' . ($val ? 'personal' : 'none') . "\n";
+ my $done;
+ substInFile {
+ if (/^PULSE_SERVER_TYPE=/) {
+ $_ = $val;
+ $done = 1;
+ }
+ } $config_file;
+ append_to_file($config_file, $val) if !$done;
}
-sub switch {
- my ($in, $device) = @_;
- my $driver = $device->{current_driver} || $device->{driver};
- foreach (@blacklist) { $blacklisted = 1 if $driver eq $_ }
- my $alternative = get_alternative($driver);
- if ($alternative) {
- my $new_driver = $driver;
- push @$alternative, $driver;
- my %des = modules::category2modules_and_description('multimedia/sound');
+my $pa_startup_scriptfile = "$::prefix/etc/pulse/default.pa";
- if ($new_driver eq 'unknown') {
- $in->ask_from(N("No alternative driver"),
- N("There's no known OSS/ALSA alternative driver for your sound card (%s) which currently uses \"%s\"",
- $device->{description}, $driver),
- [
- &get_any_driver_entry($in, $driver, $device),
- ]
- );
- } elsif ($in->ask_from_({ title => N("Sound configuration"),
- messages =>
- N("Here you can select an alternative driver (either OSS or ALSA) for your sound card (%s).",
- $device->{description}) .
- N("\n\nYour card currently use the %s\"%s\" driver (default driver for your card is \"%s\")", ($driver =~ /^snd-/ ? "ALSA " : "OSS "), $driver, $device->{driver}),
- interactive_help => sub {
- N("OSS (Open Sound System) was the first sound API. It's an OS independent sound API (it's available on most UNIX(tm) systems) but it's a very basic and limited API.
-What's more, OSS drivers all reinvent the wheel.
-
-ALSA (Advanced Linux Sound Architecture) is a modularized architecture which
-supports quite a large range of ISA, USB and PCI cards.\n
-It also provides a much higher API than OSS.\n
-To use alsa, one can either use:
-- the old compatibility OSS api
-- the new ALSA api that provides many enhanced features but requires using the ALSA library.
-");
- },
- },
- [
- {
- label => N("Driver:"), val => \$new_driver, list => $alternative, default => $new_driver, sort =>1,
- help => join("\n\n", map { "\"$_\": " . $des{$_} } @$alternative),
- allow_empty_list => 1,
- },
- {
- val => N("Trouble shooting"), disabled => sub {},
- clicked => sub { &trouble($in) }
- },
- &get_any_driver_entry($in, $driver, $device),
- ]))
- {
- return if $new_driver eq $driver;
- log::explanations("switching audio driver from '$driver' to '$new_driver'\n");
- $in->ask_warn(N("Warning"), N("The old \"%s\" driver is blacklisted.\n
-It has been reported to oops the kernel on unloading.\n
-The new \"%s\" driver'll only be used on next bootstrap.", $driver, $new_driver)) if $blacklisted;
- do_switch($in, $driver, $new_driver, $device->{sound_slot_index});
- $device->{current_driver} = $new_driver;
+sub is_pulseaudio_glitchfree_enabled() {
+ return -f $pa_startup_scriptfile &&
+ cat_($pa_startup_scriptfile) !~ /^load-module\s+module-(udev|hal)-detect\s+tsched=0/m;
+}
+
+sub set_pulseaudio_glitchfree {
+ my ($val) = @_;
+
+ return if ! -f $pa_startup_scriptfile;
+
+ substInFile {
+ if ($val) {
+ s/^(load-module\s+module-(udev|hal)-detect)\s+tsched=0/$1/;
+ } else {
+ s/^(load-module\s+module-(udev|hal)-detect).*/$1 tsched=0/;
}
- } elsif ($driver =~ /^Bad:/) {
- $driver =~ s/^Bad://;
- $in->ask_warn(N("No open source driver"),
- N("There's no free driver for your sound card (%s), but there's a proprietary driver at \"%s\".",
- $device->{description}, $driver));
- } elsif ($driver eq "unknown") {
- $in->ask_from(N("No known driver"),
- N("There's no known driver for your sound card (%s)",
- $device->{description}),
- [ &get_any_driver_entry($in, $driver, $device) ]);
- } else {
- $in->ask_warn(N("Unknown driver"),
- N("Error: The \"%s\" driver for your sound card is unlisted"),
- $driver);
+ } $pa_startup_scriptfile;
+}
+
+sub is_pipewire_wireplumber_enabled {
+ my ($in) = @_;
+ return $in->do_pkgs->is_installed('pipewire') && $in->do_pkgs->is_installed('wireplumber');
+}
+
+sub is_pipewire_media_session_enabled {
+ my ($in) = @_;
+ return $in->do_pkgs->is_installed('pipewire') && $in->do_pkgs->is_installed('pipewire-media-session');
+}
+
+sub rooted {
+ run_program::rooted($::prefix, @_);
+}
+
+sub unload { modules::unload(@_) if $::isStandalone }
+
+sub load {
+ my ($modules_conf, $name) = @_;
+ modules::load_and_configure($modules_conf, $name) if $::isStandalone;
+}
+
+sub _pidof {
+ my ($name) = @_;
+ rooted('/usr/bin/pidof', $name);
+}
+
+# return the pid of a running command
+sub _pidof_pid {
+ my ($name) = @_;
+ my ($pid) = chomp_(run_program::rooted_get_stdout($::prefix, '/usr/bin/pidof', $name));
+
+ return $pid;
+}
+
+# return the username of a running command
+sub _user_pid {
+ my ($name) = @_;
+ my ($pid) = _pidof_pid($name);
+ my $user;
+
+ if ($pid) {
+ ($user) = chomp_(run_program::rooted_get_stdout($::prefix, '/usr/bin/ps', '-o', 'uname=', '-p', $pid));
}
- end:
+
+ return $user;
}
-sub config {
- switch(@_);
+# stop pulseaudio for the running user
+sub stop_pulseaudio {
+ my ($pulseaudio_user) = _user_pid('/usr/bin/pulseaudio');
+
+ if ($pulseaudio_user) {
+ if (-x $::prefix . '/usr/bin/pulseaudio') {
+ rooted('/usr/bin/su', '-l', $pulseaudio_user, '-c', '/usr/bin/pulseaudio --kill');
+ }
+ }
+
+ # try stopping again (in case the /usr/bin/pulseaudio process is still running, but the executable no longer available)
+ my ($pulseaudio_user) = _user_pid('/usr/bin/pulseaudio');
+ if ($pulseaudio_user) {
+ my ($pulseaudio_pid) = _pidof_pid('/usr/bin/pulseaudio');
+ if ($pulseaudio_pid) {
+ rooted('/usr/bin/su', '-l', $pulseaudio_user, '-c', '/usr/bin/kill -TERM ' . $pulseaudio_pid);
+ }
+ }
+ return $pulseaudio_user;
}
+# stop pipewire services for the running user
+sub stop_pipewire {
+ my ($pipewire_user) = _user_pid('/usr/bin/pipewire');
-sub trouble {
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'stop', 'pipewire-pulse.service', 'pipewire-pulse.socket', 'pipewire.service', 'pipewire.socket');
+ }
+
+ return $pipewire_user;
+}
+
+# start pulseaudio for the specified user
+sub start_pulseaudio {
+ my ($pulseaudio_user) = @_;
+
+ if ($pulseaudio_user) {
+ rooted('/usr/bin/su', '-l', $pulseaudio_user, '-c', '/usr/bin/pulseaudio --start');
+ }
+}
+
+# start pipewire services for the specified user
+sub start_pipewire {
+ my ($pipewire_user) = @_;
+
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'start', 'pipewire.socket', 'pipewire.service', 'pipewire-pulse.socket', 'pipewire-pulse.service');
+ }
+}
+
+# stop wireplumber services for the running user
+sub stop_wireplumber {
+ my ($pipewire_user) = _user_pid('/usr/bin/wireplumber');
+
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'stop', 'wireplumber.service');
+ }
+
+ return $pipewire_user;
+}
+
+# start wireplumber
+sub start_wireplumber {
+ my ($pipewire_user) = @_;
+
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'start', 'wireplumber.service');
+ }
+}
+
+# stop pipewire-media-session services for the running user
+sub stop_pipewire_media_session {
+ my ($pipewire_user) = _user_pid('/usr/bin/pipewire-media-session');
+
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'stop', 'pipewire-media-session.service');
+ }
+
+ return $pipewire_user;
+}
+
+# start pipewire-media-session services for the specified user
+sub start_pipewire_media_session {
+ my ($pipewire_user) = @_;
+
+ if ($pipewire_user) {
+ rooted('/usr/bin/systemctl', '--machine=' . $pipewire_user . '@.host', '--user', 'start', 'pipewire-media-session.service');
+ }
+}
+
+sub configure_pipewire_wireplumber {
my ($in) = @_;
- $in->ask_warn(N("Sound trouble shooting"),
- formatAlaTeX(N("The classic bug sound tester is to run the following commands:
+ my ($pipewire_wp_user);
+
+ # preserve pulseaudio user
+ my ($pulseaudio_user) = _user_pid('/usr/bin/pulseaudio');
+
+ # stop pipewire and pipewire-media-session services (if any) before removing any packages
+ # and preserve pipewire-media-session user
+ $pipewire_wp_user = stop_pipewire_media_session();
+ stop_pipewire();
+
+ my $plasma_installed = $in->do_pkgs->is_installed('plasma-desktop');
+ my @pkgs = (
+ 'task-pipewire',
+ 'wireplumber',
+ );
+ if (!$in->do_pkgs->is_installed('pavucontrol-qt')) {
+ if ($plasma_installed) {
+ push(@pkgs, 'pavucontrol-qt');
+ }
+ else {
+ push(@pkgs, 'pavucontrol');
+ }
+ }
-- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses
-by default
+ my $required_installed = $in->do_pkgs->ensure_are_installed(
+ \@pkgs
+ );
-- \"grep sound-slot /etc/modules.conf\" will tell you what driver it
-currently uses
+ if (!$required_installed)
+ {
+ $in->ask_warn(N("Couldn't install the required packages"),
+ N("Please check the repositories are correctly configured")
+ );
+ return;
+ }
-- \"/sbin/lsmod\" will enable you to check if its module (driver) is
-loaded or not
+ set_pulseaudio(0);
-- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will
-tell you if sound and alsa services're configured to be run on
-initlevel 3
+ # first of all disabling what has to be disabled to avoid conflicts
+ if ($in->do_pkgs->is_installed('pipewire-media-session')) {
+ rooted('/usr/bin/systemctl', '--global', 'disable', 'pipewire-media-session.service');
+ }
-- \"aumix -q\" will tell you if the sound volume is muted or not
+ if ($in->do_pkgs->is_installed('pipewire')) {
+ foreach ('pipewire.socket', 'pipewire.service') {
+ rooted('/usr/bin/systemctl', '--global', 'enable', $_);
+ }
+ }
-- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.
-")));
+ if ($in->do_pkgs->is_installed('pipewire-pulseaudio')) {
+ foreach ('pipewire-pulse.socket', 'pipewire-pulse.service') {
+ rooted('/usr/bin/systemctl', '--global', 'enable', $_);
+ }
+ }
+
+ if ($in->do_pkgs->is_installed('wireplumber')) {
+ rooted('/usr/bin/systemctl', '--global', 'enable', 'wireplumber.service');
+ }
+
+
+ # stop pulseaudio process if still floating after the switch
+ stop_pulseaudio();
+
+ if ($pulseaudio_user) {
+ # restart pipewire and wireplumber with the same user as initial pulseaudio
+ start_pipewire($pulseaudio_user);
+ start_wireplumber($pulseaudio_user);
+ }
+ else {
+ if ($pipewire_wp_user) {
+ # restart pipewire and wireplumber with the same user as pipewire-media-session
+ start_pipewire($pipewire_wp_user);
+ start_wireplumber($pipewire_wp_user);
+ }
+ }
+
+ #Plasma tricks
+ if ($plasma_installed) {
+ $in->do_pkgs->ensure_is_installed('kpipewire');
+ }
}
-sub get_any_driver_entry {
- my ($in, $driver, $device) = @_;
- return () if $::isInstall;
- +{
- val => N("Let me pick any driver"), disabled => sub {},
- clicked => sub {
- my $old_driver = $driver;
- if ($in->ask_from(N("Choosing an arbitrary driver"),
- formatAlaTeX(N("If you really think that you know which driver is the right one for your card
-you can pick one in the above list.
-
-The current driver for your \"%s\" sound card is \"%s\" ", $device->{description}, $driver)),
- [
- { label => N("Driver:"), val => \$driver, list => [ category2modules("multimedia/sound") ], type => 'combo', default => $driver, sort =>1, separator => '|' },
- ]
- )) {
- do_switch($in, $old_driver, $driver, $device->{sound_slot_index});
- goto end;
+sub configure_pipewire_media_session {
+ my ($in) = @_;
+ my ($pipewire_ms_user);
+
+ # preserve pulseaudio user
+ my ($pulseaudio_user) = _user_pid('/usr/bin/pulseaudio');
+
+ # stop pipewire and wireplumber services (if any) before removing any package
+ # and preserve wireplumber user
+ $pipewire_ms_user = stop_wireplumber();
+ stop_pipewire();
+
+
+ my $plasma_installed = $in->do_pkgs->is_installed('plasma-desktop');
+ my @pkgs = (
+ 'task-pipewire',
+ 'pipewire-media-session',
+ );
+ if (!$in->do_pkgs->is_installed('pavucontrol-qt')) {
+ if ($plasma_installed) {
+ push(@pkgs, 'pavucontrol-qt');
+ }
+ else {
+ push(@pkgs, 'pavucontrol');
+ }
+ }
+
+ my $required_installed = $in->do_pkgs->ensure_are_installed(
+ \@pkgs
+ );
+
+ if (!$required_installed)
+ {
+ $in->ask_warn(N("Couldn't install the required packages"),
+ N("Please check the repositories are correctly configured")
+ );
+ return;
+ }
+
+ set_pulseaudio(0);
+
+ # first of all disabling what has to be disabled to avoid conflicts
+ if ($in->do_pkgs->is_installed('wireplumber')) {
+ rooted('/usr/bin/systemctl', '--global', 'disable', 'wireplumber.service');
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire')) {
+ foreach ('pipewire.socket', 'pipewire.service') {
+ rooted('/usr/bin/systemctl', '--global', 'enable', $_);
+ }
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire-pulseaudio')) {
+ foreach ('pipewire-pulse.socket', 'pipewire-pulse.service') {
+ rooted('/usr/bin/systemctl', '--global', 'enable', $_);
+ }
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire-media-session')) {
+ rooted('/usr/bin/systemctl', '--global', 'enable', 'pipewire-media-session.service');
+ }
+
+ # stop pulseaudio process if still floating after the switch
+ stop_pulseaudio();
+
+ if ($pulseaudio_user) {
+ # restart pipewire and wireplumber with the same user as initial pulseaudio
+ start_pipewire($pulseaudio_user);
+ start_pipewire_media_session($pulseaudio_user);
+ }
+ else {
+ if ($pipewire_ms_user) {
+ # restart pipewire and wireplumber with the same user as pipewire-media-session
+ start_pipewire($pipewire_ms_user);
+ start_pipewire_media_session($pipewire_ms_user);
+ }
+ }
+
+ #Plasma tricks
+ if ($plasma_installed) {
+ $in->do_pkgs->ensure_is_installed('kpipewire');
+ }
+}
+
+sub disable_all_pipewire {
+ my ($in) = @_;
+
+ if ($in->do_pkgs->is_installed('wireplumber')) {
+ rooted('/usr/bin/systemctl', '--global', 'disable', 'wireplumber.service');
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire-media-session')) {
+ rooted('/usr/bin/systemctl', '--global', 'disable', 'pipewire-media-session.service');
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire-pulseaudio')) {
+ foreach ('pipewire-pulse.socket', 'pipewire-pulse.service') {
+ rooted('/usr/bin/systemctl', '--global', 'disable', $_);
+ }
+ }
+
+ if ($in->do_pkgs->is_installed('pipewire')) {
+ foreach ('pipewire.socket', 'pipewire.service') {
+ rooted('/usr/bin/systemctl', '--global', 'disable', $_);
+ }
+ }
+}
+
+sub configure_pulseaudio {
+ my ($in) = @_;
+
+ # preserve pipewire running user
+ my ($pipewire_user) = _user_pid('/usr/bin/pipewire');
+
+ # stop pipewire, wireplumber and pipewire-media-session services (if any) before removing any packages
+ my ($wireplumber_user) = stop_wireplumber();
+ my ($pipewire_media_session_user) = stop_pipewire_media_session();
+ my ($pipewire_user_preserve) = stop_pipewire();
+
+ # now packages
+ $in->do_pkgs->remove('pipewire-alsa');
+
+ my $plasma_installed = $in->do_pkgs->is_installed('plasma-desktop');
+ my @pkgs = 'task-pulseaudio';
+ if (!$in->do_pkgs->is_installed('pavucontrol-qt')) {
+ if ($plasma_installed) {
+ push(@pkgs, 'pavucontrol-qt');
+ }
+ else {
+ push(@pkgs, 'pavucontrol');
+ }
+ }
+
+ my $required_installed = $in->do_pkgs->ensure_are_installed(
+ \@pkgs
+ );
+
+ if (!$required_installed)
+ {
+ $in->ask_warn(N("Couldn't install the required packages"),
+ N("Please check the repositories are correctly configured")
+ );
+
+ # restore previous pipewire (if any) processes if something goes wrong with pulseaudio installation
+ if ($pipewire_user_preserve) {
+ start_pipewire($pipewire_user_preserve);
+ }
+
+ if ($wireplumber_user) {
+ start_wireplumber($wireplumber_user);
+ }
+
+ if ($pipewire_media_session_user) {
+ start_pipewire_media_session($pipewire_media_session_user);
+ }
+
+ return;
+ }
+
+
+ # disable all the pipewire stuff before managing packages
+ disable_all_pipewire($in);
+
+ # start pulseaudio with same pipewire preserved user
+ if ($pipewire_user) {
+ start_pulseaudio($pipewire_user);
+ }
+}
+
+sub config {
+ my ($in, $modules_conf, $device) = @_;
+ my $driver = $device->{current_driver} || $device->{driver};
+
+ my @alternative = $driver ne $device->{driver} ? $device->{driver} : ();
+ if ($driver eq "unknown") {
+ $in->ask_warn(N("No known driver"),
+ N("There's no known driver for your sound card (%s)",
+ $device->{description}));
+ } else {
+ push @alternative, $driver;
+ my %des = modules::category2modules_and_description('multimedia/sound');
+
+ my $is_pulseaudio_enabled_val = is_pulseaudio_enabled($in);
+ my $is_pulseaudio_glitchfree_enabled_val = is_pulseaudio_glitchfree_enabled();
+
+ my $audiosystem = 'None';
+ if ($is_pulseaudio_enabled_val && $is_pulseaudio_glitchfree_enabled_val) {
+ $audiosystem = 'PulseAudioGF';
+ } elsif ($is_pulseaudio_enabled_val) {
+ $audiosystem = 'PulseAudio';
+ } elsif (is_pipewire_wireplumber_enabled($in) || _pidof('/usr/bin/wireplumber')) {
+ $audiosystem = 'PipeWireWP';
+ } elsif (is_pipewire_media_session_enabled($in) || _pidof('/usr/bin/pipewire-media-session')) {
+ $audiosystem = 'PipeWireMS';
+ }
+
+ my $write_config = sub {
+ if ($audiosystem eq 'None') {
+ #### ALSA alone
+ disable_all_pipewire($in);
+ set_pulseaudio(0);
+ set_pulseaudio_glitchfree(0);
+ # TODO check if adding autospawn = no to /etc/pulse/client.conf is needed
+ } elsif ($audiosystem eq 'PulseAudio') {
+ #### PulseAudio
+ configure_pulseaudio($in);
+ set_pulseaudio(1);
+ set_pulseaudio_glitchfree(0);
+ my $lib = get_libdir();
+ $in->do_pkgs->ensure_is_installed($lib . 'alsa-plugins-pulseaudio',
+ '/usr/' . $lib . '/alsa-lib/libasound_module_pcm_pulse.so');
+ } elsif ($audiosystem eq 'PulseAudioGF') {
+ #### PulseAudio with Glitch-Free mode
+ configure_pulseaudio($in);
+ set_pulseaudio(1);
+ set_pulseaudio_glitchfree(1);
+ my $lib = get_libdir();
+ $in->do_pkgs->ensure_is_installed($lib . 'alsa-plugins-pulseaudio',
+ '/usr/' . $lib . '/alsa-lib/libasound_module_pcm_pulse.so');
+ } elsif ($audiosystem eq 'PipeWireWP') {
+ #### PipeWire with WirePlumber
+ configure_pipewire_wireplumber($in);
+ } elsif ($audiosystem eq 'PipeWireMS') {
+ #### PipeWire with PipeWire Media Session
+ configure_pipewire_media_session($in);
+ } else {
+ #### Unmanaged value
+ #TODO Error here
}
+
+ $in->ask_warn('', N("You need to reboot for changes to take effect")) if $::isStandalone;
+
+ };
+
+ my $warn_both = ($in->do_pkgs->is_installed('pipewire') && $in->do_pkgs->is_installed('pulseaudio') && (-e $::prefix . '/etc/systemd/user/sockets.target.wants/pipewire.socket' || -e $::prefix . '/etc/systemd/user/sockets.target.wants/pipewire.service')) ?
+ N("Warning: both pulseaudio and pipewire are installed and can conflict each other. Please fix your config by applying a choice") :
+ "";
+
+ my $is_pipewire_available = $in->do_pkgs->is_available('task-pipewire');
+ my $warn_pipewire_unavailable = !$is_pipewire_available ?
+ N("Warning: task-pipewire is not available in any media sources, so only pulseaudio could be set up. Please fix your repo configuration.") :
+ "";
+
+ my @service_list = (
+ 'None',
+ 'PulseAudio',
+ 'PulseAudioGF',
+ );
+ if ($is_pipewire_available) {
+ push @service_list, 'PipeWireWP';
+ push @service_list, 'PipeWireMS';
+ }
+ my @common = (
+ {
+ label => N("Select the sound server"),
+ title => 1,
+ },
+ {
+ val => \$audiosystem,
+ list => \@service_list,
+ format => sub {
+ my ($choice) = @_;
+ +{
+ 'None' => N("None"),
+ 'PulseAudio' => N("PulseAudio"),
+ 'PulseAudioGF' => N("PulseAudio with Glitch-Free mode"),
+ 'PipeWireWP' => N("PipeWire with WirePlumber"),
+ 'PipeWireMS' => N("PipeWire with PipeWire Media Session"),
+ }->{$choice};
+ },
+ type => 'list',
+ },
+ {
+ advanced => 1,
+ val => N("Reset sound mixer to default values"),
+ clicked => sub { run_program::run('reset_sound') }
+ },
+ {
+ val => N("Troubleshooting"), disabled => sub {},
+ clicked => sub { &trouble($in) }
+ },
+ );
+
+ my @messages = ("<b><i>" . $device->{description} . "</i></b>",
+ N("Your card uses the <b>\"%s\"</b> driver\n", $driver));
+
+ if ($warn_both) {
+ push @messages, ("<b>" . $warn_both . "</b>");
+ }
+ if (!$is_pipewire_available) {
+ push @messages, "<b>" . $warn_pipewire_unavailable . "</b>";
+ }
+ if ($driver eq 'unknown') {
+ if ($in->ask_from_({
+ title => N("No alternative driver"),
+ messages => N("There's no known OSS/ALSA alternative driver for your sound card (%s) which currently uses \"%s\"",
+ $device->{description}, $driver),
+ },
+ \@common,
+ )) {
+ $write_config->();
+ }
+ } elsif ($in->ask_from_({ title => N("Sound configuration"),
+ interactive_help_id => 'soundConfig',
+ messages => \@messages
+ },
+ \@common,
+ ))
+ {
+ $write_config->();
}
}
}
+sub trouble {
+ my ($in) = @_;
+ $in->ask_warn(N("Sound troubleshooting"),
+ formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("Below are some basic tips to help debug audio problems, but for accurate and up-to-date tips and tricks, please see:
+
+https://wiki.mageia.org/en/Support:DebuggingSoundProblems
+
+
+
+- General Recommendation: Enable PulseAudio. If you have opted to not to use PulseAudio, we would strongly advise you enable it. For the vast majority of desktop use cases, PulseAudio is the recommended and best supported option.
+
+
+
+- \"kmix\" (KDE), \"gnome-control-center sound\" (GNOME) and \"pavucontrol\" (generic) will launch graphical applications to allow you to view your sound devices and adjust volume levels
+
+
+- \"ps aux | grep pulseaudio\" will check that PulseAudio is running.
+
+
+- \"pactl stat\" will check that you can connect to the PulseAudio daemon correctly.
+
+
+- \"pactl list sink-inputs\" will tell you which programs are currently playing sound via PulseAudio.
+
+
+- \"systemctl status osspd.service\" will tell you the current state of the OSS Proxy Daemon. This is used to enable sound from legacy applications which use the OSS sound API. You should install the \"ossp\" package if you need this functionality.
+
+
+- \"pacmd ls\" will give you a LOT of debug information about the current state of your audio.
+
+
+- \"lspcidrake -v | grep -i audio\" will tell you which low-level driver your card uses by default.
+
+
+- \"/usr/sbin/lsmod | grep snd\" will enable you to check which sound related kernel modules (drivers) are loaded.
+
+
+- \"alsamixer -c 0\" will give you a text-based mixer to the low level ALSA mixer controls for first sound card
+
+
+- \"/usr/sbin/fuser -v /dev/snd/pcm* /dev/dsp\" will tell which programs are currently using the sound card directly (normally this should only show PulseAudio)
+")));
+}
+
+sub configure_one_sound_slot {
+ my ($modules_conf, $index, $driver) = @_;
+ $modules_conf->set_sound_slot("sound-slot-$index", $driver);
+ $modules_conf->set_options($driver, "xbox=1") if $driver eq "snd_intel8x0" && detect_devices::is_xbox();
+ $modules_conf->set_options('snd-ac97-codec', "power_save=1") if $driver =~ /^snd/ && detect_devices::isLaptop();
+}
-sub configure_sound_slots() {
+sub configure_sound_slots {
+ my ($modules_conf) = @_;
my $altered = 0;
each_index {
- my $default_driver = modules::get_alias("sound-slot-$::i");
- if (!member($default_driver, @{get_alternative($_->{driver})}, $_->{driver})) {
+ my $default_driver = $modules_conf->get_alias("sound-slot-$::i");
+ if (!member($default_driver, $_->{driver})) {
$altered ||= $default_driver;
- modules::add_alias("sound-slot-$::i", $_->{driver});
+ configure_one_sound_slot($modules_conf, $::i, $_->{driver});
}
} detect_devices::getSoundDevices();
- modules::write_conf() if $altered && $::isStandalone;
+ $modules_conf->write if $altered && $::isStandalone;
}
diff --git a/perl-install/harddrake/v4l.pm b/perl-install/harddrake/v4l.pm
index c5465d6c5..bd7c649bb 100644
--- a/perl-install/harddrake/v4l.pm
+++ b/perl-install/harddrake/v4l.pm
@@ -2,11 +2,9 @@ package harddrake::v4l;
use strict;
-use interactive;
+use common;
use detect_devices;
-use lang;
use log;
-use common;
use modules;
# please update me on bttv update :
@@ -47,9 +45,9 @@ my %tuners_lst =
28 => "LG|PAL_BG+FM (TPI8PSB01D)",
29 => "LG|PAL_BG (TPI8PSB11D)",
30 => "Temic|PAL* auto + FM (4009 FN5)",
- 31 => "SHARP|NTSC_JP (2U5JF5540)",
+ 31 => "SHARP NTSC_JP (2U5JF5540)",
32 => "Samsung|PAL TCPM9091PD27",
- 33 => "MT2032|universal",
+ 33 => "MT20xx universal",
34 => "Temic|PAL_BG (4106 FH5)",
35 => "Temic|PAL_DK/SECAM_L (4012 FY5)",
36 => "Temic|NTSC (4136 FY5)",
@@ -58,39 +56,71 @@ my %tuners_lst =
39 => "LG|NTSC (newer TAPC series)",
40 => "HITACHI V7-J180AT",
41 => "Philips|PAL_MK (FI1216 MK)",
+ 42 => "Philips|1236D ATSC/NTSC daul in",
+ 43 => "Philips|NTSC MK3 (FM1236MK3 or FM1236/F)",
+ 44 => "Philips|4 in 1 (ATI TV Wonder Pro/Conexant)",
+ 45 => "Microtune|4049 FM5",
+ 46 => "Panasonic VP27s/ENGE4324D",
+ 47 => "LG|NTSC (TAPE series)",
+ 48 => "Tena|TNF 8831 BGFF",
+ 49 => "Microtune|4042 FI5 ATSC/NTSC dual in",
+ 50 => "TCL 2002N",
+ 51 => "Philips|PAL/SECAM_D (FM 1256 I-H3)",
+ 52 => "Thomson|DDT 7610 (ATSC/NTSC)",
+ 53 => "Philips|FQ1286",
+ 54 => "tda8290+75",
+ 55 => "LG|PAL (TAPE series)",
+ 56 => "Philips|PAL/SECAM multi (FQ1216AME MK4)",
+ 57 => "Philips|FQ1236A MK4",
+ 58 => "Ymec|TVision|TVF-8531MF",
+ 59 => "Ymec|TVision|TVF-5533MF",
+ 60 => "Thomson|DDT 7611 (ATSC/NTSC)",
+ 61 => "Tena|TNF9533-D/IF/TNF9533-B/DF",
+ 62 => "Philips|TEA5767HN FM Radio",
+ 63 => "Philips|FMD1216ME MK3 Hybrid Tuner",
+ 64 => "LG|TDVS-H062F/TUA6034",
+ 65 => "Ymec|TVF66T5-B/DFF",
+ 66 => "LG|NTSC (TALN mini series)",
+ 67 => "Philips|TD1316 Hybrid Tuner",
+ 68 => "Philips|TUV1236D ATSC/NTSC dual in",
+ 69 => "Tena|TNF 5335 MF",
+ 70 => "Samsung|TCPN 2121P30A",
+ 71 => "Xceive xc3028",
+
+
);
# Tweaked from Cardlist
my $cards_lst = {
'bttv' => {
- N("Auto-detect") => -1,
+ $default => -1,
N("Unknown|Generic") => 0,
"M|Miro|PCTV" => 1,
"H|Hauppauge|bt848" => 2,
"S|STB|Hauppauge 878" => 3,
"I|Intel|Create and Share PCI (bttv type 4)" => 4,
"I|Intel|Smart Video Recorder III (bttv type 4)" => 4,
- "D|Diamond|DTV2000" => 5,
+ "D|Diamond DTV2000" => 5,
"A|AVerMedia|TVPhone" => 6,
- "M|MATRIX-Vision|MV-Delta" => 7,
+ "M|MATRIX Vision|MV-Delta" => 7,
"L|Lifeview|FlyVideo II (Bt848) LR26" => 8,
"G|Guillemot|MAXI TV Video PCI2 LR26" => 27,
- "G|Genius/Kye|Video Wonder Pro II (848 or 878)" => 8,
- "I|IMS/IXmicro|TurboTV" => 9,
+ "G|Genius/Kye Video Wonder Pro II (848 or 878)" => 8,
+ "I|IMS/IXmicro TurboTV" => 9,
"H|Hauppauge|bt878" => 10,
"M|Miro|PCTV pro" => 11,
"A|ADS Technologies|Channel Surfer TV (bt848)" => 12,
"A|AVerMedia|TVCapture 98" => 13,
"A|Aimslab|Video Highway Xtreme (VHX)" => 14,
- "Z|Zoltrix|TV-Max" => 15,
+ "Zoltrix|TV-Max" => 15,
"P|Prolink|Pixelview PlayTV (bt878)" => 16,
"L|Leadtek|WinView 601" => 17,
"A|AVEC|Intercapture" => 18,
"L|Lifeview|FlyKit LR38 Bt848 (capture only)" => 19,
"L|Lifeview|FlyVideo II EZ" => 19,
- "C|CEI|Raffles Card" => 20,
+ "C|CEI Raffles Card" => 20,
"L|Lifeview|FlyVideo 98" => 21,
- "L|Lucky Star|Image World ConferenceTV LR50" => 21,
+ "L|Lucky Star Image World ConferenceTV LR50" => 21,
"A|Askey|CPH050" => 22,
"P|Phoebe Micro|Tv Master + FM" => 22,
"M|Modular|Technology MM205 PCTV (bt878)" => 23,
@@ -100,13 +130,13 @@ my $cards_lst = {
N("Unknown|CPH05X (bt878) [many vendors]") => 24,
N("Unknown|CPH06X (bt878) [many vendors]") => 24,
"T|Terratec|Terra TV+ Version 1.0 (Bt848)" => 25,
- "Vobis|TV-Boostar" => 25,
+ "V|Vobis TV-Boostar" => 25,
"T|Terratec|TV-Boostar" => 25,
"H|Hauppauge|WinCam newer (bt878)" => 26,
"L|Lifeview|FlyVideo 98" => 27,
"G|Guillemot|MAXI TV Video PCI2 LR50" => 27,
"T|Terratec|TerraTV+" => 28,
- "I|Imagenation|PXC200" => 29,
+ "I|Imagenation PXC200" => 29,
"L|Lifeview|FlyVideo 98 LR50" => 30,
"Formac|iProTV" => 31,
"Formac|iProTV I (bt848)" => 31,
@@ -116,7 +146,7 @@ my $cards_lst = {
"L|Leadtek|WinFast TV 2000" => 34,
"L|Leadtek|WinFast VC 100" => 35,
"L|Lifeview|FlyVideo 98 LR50" => 35,
- "C|Chronos|Video Shuttle II" => 35,
+ "C|Chronos Video Shuttle II" => 35,
"L|Lifeview|FlyVideo 98FM LR50" => 36,
"T|Typhoon|TView TV/FM Tuner" => 36,
"P|Prolink|PixelView PlayTV pro" => 37,
@@ -126,19 +156,19 @@ my $cards_lst = {
"S|STB|STB2 TV PCI FM, P/N 6000704" => 40,
"A|AVerMedia|TVPhone 98" => 41,
"P|ProVideo|PV951" => 42,
- "L|Little|OnAir TV" => 43,
- "S|Sigma|TVII-FM" => 44,
- "M|MATRIX-Vision|MV-Delta 2" => 45,
- "Z|Zoltrix|Genie TV/FM" => 46,
+ "L|Little OnAir TV" => 43,
+ "S|Sigma TVII-FM" => 44,
+ "M|MATRIX Vision|MV-Delta 2" => 45,
+ "Zoltrix|Genie TV/FM" => 46,
"T|Terratec|TV/Radio+" => 47,
"A|Askey|CPH03x" => 48,
- "D|Dynalink|Magic TView" => 48,
+ "D|Dynalink Magic TView" => 48,
"I|IODATA|GV-BCTV3/PCI" => 49,
"P|Prolink|PixelView PlayTV PAK" => 50,
"L|Lenco|MXTV-9578 CP" => 50,
"P|Prolink|PV-BT878P+4E" => 50,
"L|Lenco|MXTV-9578CP (Bt878)" => 50,
- "E|Eagle|Wireless Capricorn2 (bt878A)" => 51,
+ "E|Eagle Wireless Capricorn2 (bt878A)" => 51,
"P|Pinnacle|PCTV Studio Pro" => 52,
"T|Typhoon|KNC1 TV Station RDS" => 53,
"T|Typhoon|TV Tuner RDS (black package)" => 53,
@@ -159,7 +189,7 @@ my $cards_lst = {
"A|Askey|CPH061" => 62,
"Bestbuy|Easy TV (bt878)" => 62,
"L|Lifetec|LT9306" => 62,
- "M|Medion|MD9306" => 62,
+ "M|Medion MD9306" => 62,
"A|ATI|TV-Wonder" => 63,
"A|ATI|TV-Wonder VE" => 64,
"L|Lifeview|FlyVideo 2000S LR90" => 65,
@@ -173,96 +203,288 @@ my $cards_lst = {
# "G|Genius/Kye|Video Wonder/Genius Internet Video Kit" => 71,
"P|Prolink|Pixelview PV-BT878P+ (Rev.9B) (PlayTV Pro rev.9B FM+NICAM)" => 72,
"T|Typhoon|TV Tuner Pal BG (blue package)" => 72,
- "S|Sensoray|311" => 73,
+ "S|Sensoray 311" => 73,
"RemoteVision|MX (RV605)" => 74,
"P|Powercolor|MTV878" => 75,
"P|Powercolor|MTV878R" => 75,
"P|Powercolor|MTV878F" => 75,
- "C|Canopus|WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)" => 76,
+ "C|Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)" => 76,
"G|GrandTec|Multi Capture Card (Bt878)" => 77,
- "Jetway|TV/Capture JW-TV878-FBK" => 78,
- "Kworld|KW-TV878RF" => 78,
- "D|DSP Design|TCVIDEO" => 79,
+ "Jetway TV/Capture JW-TV878-FBK" => 78,
+ "K|Kworld KW-TV878RF" => 78,
+ "D|DSP Design TCVIDEO" => 79,
"H|Hauppauge|WinTV PVR" => 80,
"G|GV-BCTV5/PCI" => 81,
- "O|Osprey|100/150 (878)" => 82,
- "O|Osprey|100/150 (848)" => 83,
- "O|Osprey|101 (848)" => 84,
- "O|Osprey|101/151" => 85,
- "O|Osprey|101/151 w/ svid" => 86,
- "O|Osprey|200/201/250/251" => 87,
- "O|Osprey|200/250" => 88,
- "O|Osprey|210/220" => 89,
- "O|Osprey|500" => 90,
- "O|Osprey|540" => 91,
- "O|Osprey|2000" => 92,
- "I|IDS|Eagle" => 93,
+ "Osprey|100/150 (878)" => 82,
+ "Osprey|100/150 (848)" => 83,
+ "Osprey|101 (848)" => 84,
+ "Osprey|101/151" => 85,
+ "Osprey|101/151 w/ svid" => 86,
+ "Osprey|200/201/250/251" => 87,
+ "Osprey|200/250" => 88,
+ "Osprey|210/220" => 89,
+ "Osprey|500" => 90,
+ "Osprey|540" => 91,
+ "Osprey|2000" => 92,
+ "I|IDS Eagle" => 93,
"P|Pinnacle|PCTV Sat" => 94,
"Formac|ProTV II (bt878)" => 95,
"M|MachTV" => 96,
"E|Euresys|Picolo" => 97,
"P|ProVideo|PV150" => 98,
"A|AD-TVK503" => 99,
- "H|Hercules|Smart TV Stereo" => 100,
- "P|Pace|TV & Radio Card" => 101,
- "I|IVC-200" => 102,
- "G|Grand X-Guard / Trust 814PCI" => 103,
- "Nebula Electronics DigiTV" => 104,
+ "H|Hercules Smart TV Stereo" => 100,
+ "P|Pace TV & Radio Card" => 101,
+ "I|IVC|200" => 102,
+ "G|GrandTec|Grand X-Guard / Trust 814PCI" => 103,
+ "N|Nebula Electronics DigiTV" => 104,
"P|ProVideo|PV143" => 105,
"P|PHYTEC|VD-009-X1 MiniDIN (bt878)" => 106,
"P|PHYTEC|VD-009-X1 Combi (bt878)" => 107,
"P|PHYTEC|VD-009 MiniDIN (bt878)" => 108,
"P|PHYTEC|VD-009 Combi (bt878)" => 109,
+ "I|IVC|100" => 110,
+ "I|IVC|120G" => 111,
+ "P|pcHDTV HD-2000 TV" => 112,
+ "T|Twinhan DST + clones" => 113,
+ "L|Leadtek|Winfast VC100" => 114,
+ "T|Teppro TEV-560/InterVision IV-560" => 115,
+ "S|SIMUS GVC1100" => 116,
+ "N|NGS NGSTV+" => 117,
+ "L|LMLBT4" => 118,
+ "T|Tekram M205 PRO" => 119,
+ "C|Conceptronic|CONTVFMi" => 120,
+ "E|Euresys|Picolo Tetra" => 121,
+ "S|Spirit TV Tuner" => 122,
+ "A|AverMedia|AVerTV DVB-T 771" => 123,
+ "A|AverMedia|AverTV DVB-T 761" => 124,
+ "M|MATRIX Vision|Sigma-SQ" => 125,
+ "M|MATRIX Vision|Sigma-SLC" => 126,
+ "A|APAC Viewcomp 878(AMAX)" => 127,
+ "D|DViCO|FusionHDTV DVB-T Lite" => 128,
+ "V|V-Gear MyVCD" => 129,
+ "S|Super TV Tuner" => 130,
+ "T|Tibet Systems 'Progress DVR' CS16" => 131,
+ "K|Kodicom|4400R (master)" => 132,
+ "K|Kodicom|4400R (slave)" => 133,
+ "A|Adlink|RTV24" => 134,
+ "D|DViCO|FusionHDTV 5 Lite" => 135,
+ "A|Acorp|Y878F" => 136,
+ "C|Conceptronic|CTVFMi v2" => 137,
+ "P|Prolink|Pixelview PV-BT878P+ (Rev.2E)" => 138,
+ "P|Prolink|PixelView PlayTV MPEG2 PV-M4900" => 139,
+ "Osprey|440" => 140,
+ "A|Asound|Skyeye PCTV" => 141,
+ "S|Sabrent TV-FM (bttv version)" => 142,
+ "H|Hauppauge|ImpactVCB (bt878)" => 143,
+ "M|MagicTV" => 144,
+
+ },
+
+ 'cx88' => {
+ N("Unknown|Generic") => 0,
+ "Hauppauge|WinTV 34xxx models" => 1,
+ "GDI Black Gold" => 2,
+ "PixelView|???" => 3,
+ "ATI|TV Wonder Pro" => 4,
+ "Leadtek|Winfast 2000XP Expert" => 5,
+ "AVerTV|Studio 303 (M126) " => 6,
+ 'MSI|TV-@nywhere Master' => 7,
+ "Leadtek|Winfast DV2000" => 8,
+ "Leadtek|PVR 2000" => 9,
+ "IODATA|GV-VCP3/PCI" => 10,
+ "Prolink PlayTV PVR" => 11,
+ "ASUS PVR-416" => 12,
+ 'MSI|TV-@nywhere' => 13,
+ "VStream|XPert DVB-T" => 14,
+ "KWorld|XPert DVB-T" => 14,
+ "DViCO|FusionHDTV DVB-T1" => 15,
+ "KWorld|LTV883RF" => 16,
+ "DViCO|FusionHDTV 3 Gold" => 17,
+ "Hauppauge|Nova-T DVB-T" => 18,
+ "Conexant DVB-T reference design" => 19,
+ "Provideo PV259" => 20,
+ "DViCO|FusionHDTV DVB-T Plus" => 21,
+ "digitalnow|DNTV Live! DVB-T" => 22,
+ "pcHDTV HD3000 HDTV" => 23,
+ "Hauppauge|WinTV 28xxx (Roslyn) models" => 24,
+ "Digital-Logic MICROSPACE Entertainment Center (MEC)" => 25,
+ "IODATA|GV/BCTV7E" => 26,
+ "PixelView|PlayTV Ultra Pro (Stereo)" => 27,
+ "DViCO|FusionHDTV 3 Gold-T" => 28,
+ "ADS Tech Instant TV DVB-T PCI" => 29,
+ "TerraTec Cinergy 1400 DVB-T" => 30,
+ "DViCO|FusionHDTV 5 Gold" => 31,
+ "AverMedia UltraTV Media Center PCI 550" => 32,
+ "KWorld|V-Stream Xpert DVD" => 33,
+ "ATI|HDTV Wonder" => 34,
+ "WinFast DTV1000-T" => 35,
+ "AVerTV|303 (M126)" => 36,
+ "Hauppauge|Nova-S-Plus DVB-S" => 37,
+ "Hauppauge|Nova-SE2 DVB-S" => 38,
+ "KWorld|VB-S 100" => 39,
+ "Hauppauge|WinTV-HVR1100 DVB-T/Hybrid" => 40,
+ "Hauppauge|WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802]" => 41,
+ "digitalnow|DNTV Live! DVB-T Pro" => 42,
+ "VStream|XPert DVB-T with cx22702" => 43,
+ "KWorld|XPert DVB-T with cx22702" => 43,
+ "DViCO|FusionHDTV DVB-T Dual Digital" => 44,
+ "KWorld|HardwareMpegTV XPert" => 45,
},
+
'saa7134' => {
N("Unknown|Generic") => 0,
- "Proteus|Pro [philips reference design]" => 1,
+ "Proteus Pro [philips reference design]" => 1,
"LifeView|FlyVIDEO3000" => 2,
"LifeView|FlyVIDEO2000" => 3,
"EMPRESS" => 4,
"SKNet|Monster TV" => 5,
"Tevion|MD 9717" => 6,
"KNC|One TV-Station RDS" => 7,
+ "Typhoon|TV Tuner RDS" => 7,
"Terratec|Cinergy 400 TV" => 8,
"Medion|5044" => 9,
- "Kworld/KuroutoShikou SAA7130-TVPCI" => 10,
- "Terratec Cinergy 600 TV" => 11,
+ "Kworld|SAA7130-TVPCI" => 10,
+ "KuroutoShikou SAA7130-TVPCI" => 10,
+ "Terratec|Cinergy 600 TV" => 11,
+ "Medion|7134" => 12,
+ "Typhoon|TV+Radio 90031" => 13,
+ "ELSA|EX-VISION 300TV" => 14,
+ "ELSA|EX-VISION 500TV" => 15,
+ "ASUS|TV-FM 7134" => 16,
+ "AOPEN VA1000 POWER" => 17,
+ "BMK|MPEX No Tuner" => 18,
+ "Compro|VideoMate TV" => 19,
+ "Matrox CronosPlus" => 20,
+ "10MOONS PCI TV CAPTURE CARD" => 21,
+ "Medion|2819" => 22,
+ "AverMedia|M156" => 22,
+ "BMK|MPEX Tuner" => 23,
+ "KNC|One TV-Station DVR" => 24,
+ "ASUS|TV-FM 7133" => 25,
+ "Pinnacle|PCTV Stereo (saa7134)" => 26,
+ "Manli|MuchTV M-TV002/Behold TV 403 FM" => 27,
+ "Manli|MuchTV M-TV001/Behold TV 401" => 28,
+ "Nagase Sangyo TransGear 3000TV" => 29,
+ "Elitegroup|ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)" => 30,
+ "Elitegroup|ECS TVP3XP FM1236 Tuner Card (NTSC,FM)" => 31,
+ "AVACS SmartTV" => 32,
+ "AverMedia|DVD EZMaker" => 33,
+ "Noval Prime TV 7133" => 34,
+ "AverMedia|AverTV Studio 305" => 35,
+ "UPMOST PURPLE TV" => 36,
+ "Items MuchTV Plus / IT-005" => 37,
+ "Terratec|Cinergy 200 TV" => 38,
+ "LifeView|FlyTV Platinum Mini" => 39,
+ "Compro|VideoMate TV PVR/FM" => 40,
+ "Compro|VideoMate TV Gold+" => 41,
+ "Sabrent SBT-TVFM (saa7130)" => 42,
+ "Zolid Xpert TV7134" => 43,
+ "Empire PCI TV-Radio LE" => 44,
+ "AverMedia|AVerTV Studio 307" => 45,
+ "AverMedia|Cardbus TV/Radio" => 46,
+ "Terratec|Cinergy 400 mobile" => 47,
+ "Terratec|Cinergy 600 TV MK3" => 48,
+ "Compro|VideoMate Gold+ Pal" => 49,
+ "Pinnacle|PCTV 300i DVB-T + PAL" => 50,
+ "ProVideo PV952" => 51,
+ "AverMedia|AverTV/305" => 52,
+ "ASUS|TV-FM 7135" => 53,
+ "LifeView|FlyTV Platinum FM" => 54,
+ "LifeView|FlyDVB-T DUO" => 55,
+ "AverMedia|AVerTV 307" => 56,
+ "AverMedia|AVerTV GO 007 FM" => 57,
+ "ADS Tech Instant TV (saa7135)" => 58,
+ "Kworld|V-Stream Xpert TV PVR7134" => 59,
+ "Tevion|V-Stream Xpert TV PVR7134" => 59,
+ "Typhoon|DVB-T Duo Digital/Analog Cardbus" => 60,
+ "Philips|TOUGH DVB-T reference design" => 61,
+ "Compro|VideoMate TV Gold+II" => 62,
+ "Kworld|Xpert TV PVR7134" => 63,
+ "FlyTV mini Asus Digimatrix" => 64,
+ "Kworld|V-Stream Studio TV Terminator" => 65,
+ "Yuan TUN-900 (saa7135)" => 66,
+ "Beholder BeholdTV 409 FM" => 67,
+ "GoTView 7135 PCI" => 68,
+ "Philips|EUROPA V3 reference design" => 69,
+ "Compro|Videomate DVB-T300" => 70,
+ "Compro|Videomate DVB-T200" => 71,
+ "RTD|Embedded Technologies VFG7350" => 72,
+ "RTD|Embedded Technologies VFG7330" => 73,
+ "LifeView|FlyTV Platinum Mini2" => 74,
+ "AverMedia|AVerTVHD MCE A180" => 75,
+ "SKNet|MonsterTV Mobile" => 76,
+ "Pinnacle|PCTV 40i/50i/110i (saa7133)" => 77,
+ "ASUSTeK P7131 Dual" => 78,
+ "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)" => 79,
+ "ASUS|Digimatrix TV" => 80,
+ "Philips|Tiger reference design" => 81,
+ 'MSI TV@Anywhere plus' => 82,
+ "Terratec|Cinergy 250 PCI TV" => 83,
+ "LifeView|FlyDVB Trio" => 84,
+ "AverTV DVB-T 777" => 85,
+ "LifeView|FlyDVB-T" => 86,
+ "ADS Instant TV Duo Cardbus PTV331" => 87,
+ "Tevion|DVB-T 220RF" => 88,
+ "ELSA|EX-VISION 700TV" => 89,
+ "Kworld|ATSC110" => 90,
+
}
};
my %pll_lst =
(
-1 => N("Default"),
- 0 => "don't use pll",
+ 0 => "do not use pll",
1 => "28 Mhz Crystal (X)",
2 => "35 Mhz Crystal"
);
sub config {
- my ($in, $driver) = @_;
+ my ($in, $modules_conf, $driver) = @_;
+
+ my $min_gbuffers = 2;
+ my $max_gbuffers = 32;
+
my %conf = (gbuffers => 4, card => $default, tuner => -1, radio => 0, pll => -1);
+
+ return if !$cards_lst->{$driver};
+ my %cards_list = %{$cards_lst->{$driver}};
+ my %rvs_cards_list = reverse %cards_list;
+
+ # get the existing options (if there are any)
+ my $current = $modules_conf->get_options($driver);
+
+ foreach (split(/\s+/,$current)) {
+ $conf{$1} = $2 if /^(gbuffers|tuner|radio|pll)=(.+)/;
+ $conf{$1} = $rvs_cards_list{$2} if /^(card)=(.+)/;
+ }
+
+ #Sanity checks on defaults
+ $conf{gbuffers} = max($min_gbuffers, $conf{gbuffers});
+ $conf{gbuffers} = min($max_gbuffers, $conf{gbuffers});
+ $conf{card} = $default if !defined $cards_list{$conf{card}};
+ $conf{tuner} = -1 if !defined $tuners_lst{$conf{tuner}};
+ if ($driver eq 'bttv') {
+ $conf{pll} = -1 if !defined $pll_lst{$conf{tuner}};
+ $conf{radio} = 0 if $conf{radio} !~ /(0|1)/;
+ }
+
+
if ($in->ask_from("BTTV configuration", N("For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-detect the rights parameters.
-If your card is misdetected, you can force the right tuner and card types here. Just select your tv card parameters if needed."),
+If your card is misdetected, you can force the right tuner and card types here. Just select your TV card parameters if needed."),
[
- { label => N("Card model:"), val => \$conf{card}, list => [keys %{$cards_lst->{$driver}}], type => 'combo', default => -1, sort =>1, separator => '|' },
+ { label => N("Card model:"), val => \$conf{card}, list => [ keys %cards_list ], default => -1, sort =>1, separator => '|' },
{ label => N("Tuner type:"), val => \$conf{tuner}, list => [keys %tuners_lst], format => sub { $tuners_lst{$_[0]} }, sort => 1, separator => '|' },
- { label => N("Number of capture buffers:"), val => \$conf{gbuffers}, min => 2, max => 32, sort => 1, default => 0, type => 'range', advanced => 1, help => N("number of capture buffers for mmap'ed capture") },
- if_($driver eq 'bttv',
- { label => N("PLL setting:"), val => \$conf{pll}, list => [keys %pll_lst], format => sub { $pll_lst{$_[0]} }, sort => 1, default => 0, advanced =>1 },
- { label => N("Radio support:"), val => \$conf{radio}, type => "bool", text => N("enable radio support") }),
]
))
{
- $conf{card} = $cards_lst->{$driver}{$conf{card}};
-
- my $options =
- 'radio=' . ($conf{radio} ? 1 : 0) . ' ' .
- join(' ', map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers));
- if ($options) {
- log::l("[harddrake::bttv] $options");
-# log::explanations("modified file /etc/modules.conf ($options)") if $::isStandalone;
- modules::set_options("bttv", $options);
+ $conf{card} = $cards_list{$conf{card}};
+ if (my $options = join(' ', if_($driver eq 'bttv', 'radio=' . ($conf{radio} ? 1 : 0)), map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers))) {
+ log::l(qq([harddrake::v4l] set "$options" options for $driver));
+# log::explanations("modified file /etc/modprobe.conf ($options)") if $::isStandalone;
+ $modules_conf->set_options($driver, $options);
}
return 1;
}
diff --git a/perl-install/help.pm b/perl-install/help.pm
deleted file mode 100644
index 46c2bbde4..000000000
--- a/perl-install/help.pm
+++ /dev/null
@@ -1,966 +0,0 @@
-package help;
-use common;
-
-1;
-
-# IMPORTANT: Don't edit this File - It is automatically generated
-# from the manuals !!!
-# Write a mail to <documentation@mandrakesoft.com> if
-# you want it changed.
-sub acceptLicense() {
- N("Before continuing, you should carefully read the terms of the license. It
-covers the entire Mandrake Linux distribution. If you do agree with all the
-terms in it, check the \"%s\" box. If not, simply turn off your computer.", N("Accept"));
-}
-sub addUser() {
- N("GNU/Linux is a multi-user system, meaning each user may have their own
-preferences, their own files and so on. You can read the ``Starter Guide''
-to learn more about multi-user systems. But unlike \"root\", who is the
-system administrator, the users you add at this point will not be
-authorized to change anything except their own files and their own
-configurations, protecting the system from unintentional or malicious
-changes that impact on the system as a whole. You will have to create at
-least one regular user for yourself -- this is the account which you should
-use for routine, day-to-day use. Although it is very easy to log in as
-\"root\" to do anything and everything, it may also be very dangerous! A
-very simple mistake could mean that your system will not work any more. If
-you make a serious mistake as a regular user, the worst that will happen is
-that you will lose some information, but not affect the entire system.
-
-The first field asks you for a real name. Of course, this is not mandatory
--- you can actually enter whatever you like. DrakX will use the first word
-you typed in this field and copy it to the \"%s\" field, which is the name
-this user will enter to log onto the system. If you like, you may override
-the default and change the username. The next step is to enter a password.
-From a security point of view, a non-privileged (regular) user password is
-not as crucial as the \"root\" password, but that is no reason to neglect
-it by making it blank or too simple: after all, your files could be the
-ones at risk.
-
-Once you click on \"%s\", you can add other users. Add a user for each one
-of your friends: your father or your sister, for example. Click \"%s\" when
-you have finished adding users.
-
-Clicking the \"%s\" button allows you to change the default \"shell\" for
-that user (bash by default).
-
-When you have finished adding users, you will be asked to choose a user
-that can automatically log into the system when the computer boots up. If
-you are interested in that feature (and do not care much about local
-security), choose the desired user and window manager, then click \"%s\".
-If you are not interested in this feature, uncheck the \"%s\" box.", N("User name"), N("Accept user"), N("Next ->"), N("Advanced"), N("Next ->"), N("Do you want to use this feature?"));
-}
-sub ask_mntpoint_s() {
- N("Listed here are the existing Linux partitions detected on your hard drive.
-You can keep the choices made by the wizard, since they are good for most
-common installations. If you make any changes, you must at least define a
-root partition (\"/\"). Do not choose too small a partition or you will not
-be able to install enough software. If you want to store your data on a
-separate partition, you will also need to create a \"/home\" partition
-(only possible if you have more than one Linux partition available).
-
-Each partition is listed as follows: \"Name\", \"Capacity\".
-
-\"Name\" is structured: \"hard drive type\", \"hard drive number\",
-\"partition number\" (for example, \"hda1\").
-
-\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and
-\"sd\" if it is a SCSI hard drive.
-
-\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE
-hard drives:
-
- * \"a\" means \"master hard drive on the primary IDE controller\";
-
- * \"b\" means \"slave hard drive on the primary IDE controller\";
-
- * \"c\" means \"master hard drive on the secondary IDE controller\";
-
- * \"d\" means \"slave hard drive on the secondary IDE controller\".
-
-With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
-\"second lowest SCSI ID\", etc.");
-}
-sub chooseCd() {
- N("The Mandrake Linux installation is distributed on several CD-ROMs. DrakX
-knows if a selected package is located on another CD-ROM so it will eject
-the current CD and ask you to insert the correct CD as required.");
-}
-sub choosePackages() {
- N("It is now time to specify which programs you wish to install on your
-system. There are thousands of packages available for Mandrake Linux, and
-to make it simpler to manage the packages have been placed into groups of
-similar applications.
-
-Packages are sorted into groups corresponding to a particular use of your
-machine. Mandrake Linux has four predefined installations available. You
-can think of these installation classes as containers for various packages.
-You can mix and match applications from the various groups, so a
-``Workstation'' installation can still have applications from the
-``Development'' group installed.
-
- * \"%s\": if you plan to use your machine as a workstation, select one or
-more of the applications that are in the workstation group.
-
- * \"%s\": if plan on using your machine for programming, choose the
-appropriate packages from that group.
-
- * \"%s\": if your machine is intended to be a server, select which of the
-more common services you wish to install on your machine.
-
- * \"%s\": this is where you will choose your preferred graphical
-environment. At least one must be selected if you want to have a graphical
-interface available.
-
-Moving the mouse cursor over a group name will display a short explanatory
-text about that group. If you unselect all groups when performing a regular
-installation (as opposed to an upgrade), a dialog will pop up proposing
-different options for a minimal installation:
-
- * \"%s\": install the minimum number of packages possible to have a
-working graphical desktop.
-
- * \"%s\": installs the base system plus basic utilities and their
-documentation. This installation is suitable for setting up a server.
-
- * \"%s\": will install the absolute minimum number of packages necessary
-to get a working Linux system. With this installation you will only have a
-command line interface. The total size of this installation is about 65
-megabytes.
-
-You can check the \"%s\" box, which is useful if you are familiar with the
-packages being offered or if you want to have total control over what will
-be installed.
-
-If you started the installation in \"%s\" mode, you can unselect all groups
-to avoid installing any new package. This is useful for repairing or
-updating an existing system.", N("Workstation"), N("Development"), N("Server"), N("Graphical Environment"), N("With X"), N("With basic documentation"), N("Truly minimal install"), N("Individual package selection"), N("Upgrade"));
-}
-sub choosePackagesTree() {
- N("If you told the installer that you wanted to individually select packages,
-it will present a tree containing all packages classified by groups and
-subgroups. While browsing the tree, you can select entire groups,
-subgroups, or individual packages.
-
-Whenever you select a package on the tree, a description appears on the
-right to let you know the purpose of the package.
-
-!! If a server package has been selected, either because you specifically
-chose the individual package or because it was part of a group of packages,
-you will be asked to confirm that you really want those servers to be
-installed. By default Mandrake Linux will automatically start any installed
-services at boot time. Even if they are safe and have no known issues at
-the time the distribution was shipped, it is entirely possible that that
-security holes were discovered after this version of Mandrake Linux was
-finalized. If you do not know what a particular service is supposed to do
-or why it is being installed, then click \"%s\". Clicking \"%s\" will
-install the listed services and they will be started automatically by
-default during boot. !!
-
-The \"%s\" option is used to disable the warning dialog which appears
-whenever the installer automatically selects a package to resolve a
-dependency issue. Some packages have relationships between each other such
-that installation of a package requires that some other program is also
-rerquired to be installed. The installer can determine which packages are
-required to satisfy a dependency to successfully complete the installation.
-
-The tiny floppy disk icon at the bottom of the list allows you to load a
-package list created during a previous installation. This is useful if you
-have a number of machines that you wish to configure identically. Clicking
-on this icon will ask you to insert a floppy disk previously created at the
-end of another installation. See the second tip of last step on how to
-create such a floppy.", N("No"), N("Yes"), N("Automatic dependencies"));
-}
-sub configureNetwork() {
- N("You will now set up your Internet/network connection. If you wish to
-connect your computer to the Internet or to a local network, click \"%s\".
-Mandrake Linux will attempt to autodetect network devices and modems. If
-this detection fails, uncheck the \"%s\" box. You may also choose not to
-configure the network, or to do it later, in which case clicking the \"%s\"
-button will take you to the next step.
-
-When configuring your network, the available connections options are:
-traditional modem, ISDN modem, ADSL connection, cable modem, and finally a
-simple LAN connection (Ethernet).
-
-We will not detail each configuration option - just make sure that you have
-all the parameters, such as IP address, default gateway, DNS servers, etc.
-from your Internet Service Provider or system administrator.
-
-You can consult the ``Starter Guide'' chapter about Internet connections
-for details about the configuration, or simply wait until your system is
-installed and use the program described there to configure your connection.", N("Next ->"), N("Use auto detection"), N("Cancel"));
-}
-sub configurePrinter() {
- N("\"%s\": clicking on the \"%s\" button will open the printer configuration
-wizard. Consult the corresponding chapter of the ``Starter Guide'' for more
-information on how to setup a new printer. The interface presented there is
-similar to the one used during installation.", N("Printer"), N("Configure"));
-}
-sub configureServices() {
- N("This dialog is used to choose which services you wish to start at boot
-time.
-
-DrakX will list all the services available on the current installation.
-Review each one carefully and uncheck those which are not needed at boot
-time.
-
-A short explanatory text will be displayed about a service when it is
-selected. However, if you are not sure whether a service is useful or not,
-it is safer to leave the default behavior.
-
-!! At this stage, be very careful if you intend to use your machine as a
-server: you will probably not want to start any services that you do not
-need. Please remember that several services can be dangerous if they are
-enabled on a server. In general, select only the services you really need.
-!!");
-}
-sub configureTimezoneGMT() {
- N("GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to
-local time according to the time zone you selected. If the clock on your
-motherboard is set to local time, you may deactivate this by unselecting
-\"%s\", which will let GNU/Linux know that the system clock and the
-hardware clock are in the same timezone. This is useful when the machine
-also hosts another operating system like Windows.
-
-The \"%s\" option will automatically regulate the clock by connecting to a
-remote time server on the Internet. For this feature to work, you must have
-a working Internet connection. It is best to choose a time server located
-near you. This option actually installs a time server that can used by
-other machines on your local network as well.", N("Hardware clock set to GMT"), N("Automatic time synchronization"));
-}
-sub configureX_card_list() {
- N("Graphic Card
-
- The installer will normally automatically detect and configure the
-graphic card installed on your machine. If it is not the case, you can
-choose from this list the card you actually have installed.
-
- In the case that different servers are available for your card, with or
-without 3D acceleration, you are then asked to choose the server that best
-suits your needs.");
-}
-sub configureX_chooser() {
- N("X (for X Window System) is the heart of the GNU/Linux graphical interface
-on which all the graphical environments (KDE, GNOME, AfterStep,
-WindowMaker, etc.) bundled with Mandrake Linux rely upon.
-
-You will be presented with a list of different parameters to change to get
-an optimal graphical display: Graphic Card
-
- The installer will normally automatically detect and configure the
-graphic card installed on your machine. If it is not the case, you can
-choose from this list the card you actually have installed.
-
- In the case that different servers are available for your card, with or
-without 3D acceleration, you are then asked to choose the server that best
-suits your needs.
-
-
-
-Monitor
-
- The installer will normally automatically detect and configure the
-monitor connected to your machine. If it is incorrect, you can choose from
-this list the monitor you actually have connected to your computer.
-
-
-
-Resolution
-
- Here you can choose the resolutions and color depths available for your
-hardware. Choose the one that best suits your needs (you will be able to
-change that after installation though). A sample of the chosen
-configuration is shown in the monitor.
-
-
-
-Test
-
- the system will try to open a graphical screen at the desired
-resolution. If you can see the message during the test and answer \"%s\",
-then DrakX will proceed to the next step. If you cannot see the message, it
-means that some part of the autodetected configuration was incorrect and
-the test will automatically end after 12 seconds, bringing you back to the
-menu. Change settings until you get a correct graphical display.
-
-
-
-Options
-
- Here you can choose whether you want to have your machine automatically
-switch to a graphical interface at boot. Obviously, you want to check
-\"%s\" if your machine is to act as a server, or if you were not successful
-in getting the display configured.", N("Yes"), N("No"));
-}
-sub configureX_monitor() {
- N("Monitor
-
- The installer will normally automatically detect and configure the
-monitor connected to your machine. If it is incorrect, you can choose from
-this list the monitor you actually have connected to your computer.");
-}
-sub configureX_resolution() {
- N("Resolution
-
- Here you can choose the resolutions and color depths available for your
-hardware. Choose the one that best suits your needs (you will be able to
-change that after installation though). A sample of the chosen
-configuration is shown in the monitor.");
-}
-sub configureX_xfree_and_glx() {
- N("In the case that different servers are available for your card, with or
-without 3D acceleration, you are then asked to choose the server that best
-suits your needs.");
-}
-sub configureXxdm() {
- N("Options
-
- Here you can choose whether you want to have your machine automatically
-switch to a graphical interface at boot. Obviously, you want to check
-\"%s\" if your machine is to act as a server, or if you were not successful
-in getting the display configured.", N("No"));
-}
-sub doPartitionDisks() {
- N("At this point, you need to decide where you want to install the Mandrake
-Linux operating system on your hard drive. If your hard drive is empty or
-if an existing operating system is using all the available space you will
-have to partition the drive. Basically, partitioning a hard drive consists
-of logically dividing it to create the space needed to install your new
-Mandrake Linux system.
-
-Because the process of partitioning a hard drive is usually irreversible
-and can lead to lost data if there is an existing operating system already
-installed on the drive, partitioning can be intimidating and stressful if
-you are an inexperienced user. Fortunately, DrakX includes a wizard which
-simplifies this process. Before continuing with this step, read through the
-rest of this section and above all, take your time.
-
-Depending on your hard drive configuration, several options are available:
-
- * \"%s\": this option will perform an automatic partitioning of your blank
-drive(s). If you use this option there will be no further prompts.
-
- * \"%s\": the wizard has detected one or more existing Linux partitions on
-your hard drive. If you want to use them, choose this option. You will then
-be asked to choose the mount points associated with each of the partitions.
-The legacy mount points are selected by default, and for the most part it's
-a good idea to keep them.
-
- * \"%s\": if Microsoft Windows is installed on your hard drive and takes
-all the space available on it, you will have to create free space for
-Linux. To do so, you can delete your Microsoft Windows partition and data
-(see ``Erase entire disk'' solution) or resize your Microsoft Windows FAT
-partition. Resizing can be performed without the loss of any data, provided
-you have previously defragmented the Windows partition and that it uses the
-FAT format. Backing up your data is strongly recommended.. Using this
-option is recommended if you want to use both Mandrake Linux and Microsoft
-Windows on the same computer.
-
- Before choosing this option, please understand that after this
-procedure, the size of your Microsoft Windows partition will be smaller
-then when you started. You will have less free space under Microsoft
-Windows to store your data or to install new software.
-
- * \"%s\": if you want to delete all data and all partitions present on
-your hard drive and replace them with your new Mandrake Linux system,
-choose this option. Be careful, because you will not be able to undo your
-choice after you confirm.
-
- !! If you choose this option, all data on your disk will be deleted. !!
-
- * \"%s\": this will simply erase everything on the drive and begin fresh,
-partitioning everything from scratch. All data on your disk will be lost.
-
- !! If you choose this option, all data on your disk will be lost. !!
-
- * \"%s\": choose this option if you want to manually partition your hard
-drive. Be careful -- it is a powerful but dangerous choice and you can very
-easily lose all your data. That's why this option is really only
-recommended if you have done something like this before and have some
-experience. For more instructions on how to use the DiskDrake utility,
-refer to the ``Managing Your Partitions '' section in the ``Starter
-Guide''.", N("Use free space"), N("Use existing partition"), N("Use the free space on the Windows partition"), N("Erase entire disk"), N("Remove Windows"), N("Custom disk partitioning"));
-}
-sub exitInstall() {
- N("There you are. Installation is now complete and your GNU/Linux system is
-ready to use. Just click \"%s\" to reboot the system. The first thing you
-should see after your computer has finished doing its hardware tests is the
-bootloader menu, giving you the choice of which operating system to start.
-
-The \"%s\" button shows two more buttons to:
-
- * \"%s\": to create an installation floppy disk that will automatically
-perform a whole installation without the help of an operator, similar to
-the installation you just configured.
-
- Note that two different options are available after clicking the button:
-
- * \"%s\". This is a partially automated installation. The partitioning
-step is the only interactive procedure.
-
- * \"%s\". Fully automated installation: the hard disk is completely
-rewritten, all data is lost.
-
- This feature is very handy when installing a number of similar machines.
-See the Auto install section on our web site for more information.
-
- * \"%s\"(*): saves a list of the packages selected in this installation.
-To use this selection with another installation, insert the floppy and
-start the installation. At the prompt, press the [F1] key and type >>linux
-defcfg=\"floppy\" <<.
-
-(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type
-\"mformat a:\")", N("Reboot"), N("Advanced"), N("generate auto-install floppy"), N("Replay"), N("Automated"), N("Save packages selection"));
-}
-sub formatPartitions() {
- N("Any partitions that have been newly defined must be formatted for use
-(formatting means creating a file system).
-
-At this time, you may wish to reformat some already existing partitions to
-erase any data they contain. If you wish to do that, please select those
-partitions as well.
-
-Please note that it is not necessary to reformat all pre-existing
-partitions. You must reformat the partitions containing the operating
-system (such as \"/\", \"/usr\" or \"/var\") but you do not have to
-reformat partitions containing data that you wish to keep (typically
-\"/home\").
-
-Please be careful when selecting partitions. After formatting, all data on
-the selected partitions will be deleted and you will not be able to recover
-it.
-
-Click on \"%s\" when you are ready to format partitions.
-
-Click on \"%s\" if you want to choose another partition for your new
-Mandrake Linux operating system installation.
-
-Click on \"%s\" if you wish to select partitions that will be checked for
-bad blocks on the disk.", N("Next ->"), N("<- Previous"), N("Advanced"));
-}
-sub installUpdates() {
- N("At the time you are installing Mandrake Linux, it is likely that some
-packages have been updated since the initial release. Bugs may have been
-fixed, security issues resolved. To allow you to benefit from these
-updates, you are now able to download them from the Internet. Check \"%s\"
-if you have a working Internet connection, or \"%s\" if you prefer to
-install updated packages later.
-
-Choosing \"%s\" will display a list of places from which updates can be
-retrieved. You should choose one nearer to you. A package-selection tree
-will appear: review the selection, and press \"%s\" to retrieve and install
-the selected package(s), or \"%s\" to abort.", N("Yes"), N("No"), N("Yes"), N("Install"), N("Cancel"));
-}
-sub miscellaneous() {
- N("At this point, DrakX will allow you to choose the security level desired
-for the machine. As a rule of thumb, the security level should be set
-higher if the machine will contain crucial data, or if it will be a machine
-directly exposed to the Internet. The trade-off of a higher security level
-is generally obtained at the expense of ease of use.
-
-If you do not know what to choose, stay with the default option.");
-}
-sub partition_with_diskdrake() {
- N("At this point, you need to choose which partition(s) will be used for the
-installation of your Mandrake Linux system. If partitions have already been
-defined, either from a previous installation of GNU/Linux or by another
-partitioning tool, you can use existing partitions. Otherwise, hard drive
-partitions must be defined.
-
-To create partitions, you must first select a hard drive. You can select
-the disk for partitioning by clicking on ``hda'' for the first IDE drive,
-``hdb'' for the second, ``sda'' for the first SCSI drive and so on.
-
-To partition the selected hard drive, you can use these options:
-
- * \"%s\": this option deletes all partitions on the selected hard drive
-
- * \"%s\": this option enables you to automatically create ext3 and swap
-partitions in the free space of your hard drive
-
-\"%s\": gives access to additional features:
-
- * \"%s\": saves the partition table to a floppy. Useful for later
-partition-table recovery if necessary. It is strongly recommended that you
-perform this step.
-
- * \"%s\": allows you to restore a previously saved partition table from a
-floppy disk.
-
- * \"%s\": if your partition table is damaged, you can try to recover it
-using this option. Please be careful and remember that it doesn't always
-work.
-
- * \"%s\": discards all changes and reloads the partition table that was
-originally on the hard drive.
-
- * \"%s\": unchecking this option will force users to manually mount and
-unmount removable media such as floppies and CD-ROMs.
-
- * \"%s\": use this option if you wish to use a wizard to partition your
-hard drive. This is recommended if you do not have a good understanding of
-partitioning.
-
- * \"%s\": use this option to cancel your changes.
-
- * \"%s\": allows additional actions on partitions (type, options, format)
-and gives more information about the hard drive.
-
- * \"%s\": when you are finished partitioning your hard drive, this will
-save your changes back to disk.
-
-When defining the size of a partition, you can finely set the partition
-size by using the Arrow keys of your keyboard.
-
-Note: you can reach any option using the keyboard. Navigate through the
-partitions using [Tab] and the [Up/Down] arrows.
-
-When a partition is selected, you can use:
-
- * Ctrl-c to create a new partition (when an empty partition is selected)
-
- * Ctrl-d to delete a partition
-
- * Ctrl-m to set the mount point
-
-To get information about the different file system types available, please
-read the ext2FS chapter from the ``Reference Manual''.
-
-If you are installing on a PPC machine, you will want to create a small HFS
-``bootstrap'' partition of at least 1MB which will be used by the yaboot
-bootloader. If you opt to make the partition a bit larger, say 50MB, you
-may find it a useful place to store a spare kernel and ramdisk images for
-emergency boot situations.", N("Clear all"), N("Auto allocate"), N("More"), N("Save partition table"), N("Restore partition table"), N("Rescue partition table"), N("Reload partition table"), N("Removable media automounting"), N("Wizard"), N("Undo"), N("Toggle between normal/expert mode"), N("Done"));
-}
-sub resizeFATChoose() {
- N("More than one Microsoft partition has been detected on your hard drive.
-Please choose which one you want to resize in order to install your new
-Mandrake Linux operating system.
-
-Each partition is listed as follows: \"Linux name\", \"Windows name\"
-\"Capacity\".
-
-\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",
-\"partition number\" (for example, \"hda1\").
-
-\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and
-\"sd\" if it is a SCSI hard drive.
-
-\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE
-hard drives:
-
- * \"a\" means \"master hard drive on the primary IDE controller\";
-
- * \"b\" means \"slave hard drive on the primary IDE controller\";
-
- * \"c\" means \"master hard drive on the secondary IDE controller\";
-
- * \"d\" means \"slave hard drive on the secondary IDE controller\".
-
-With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
-\"second lowest SCSI ID\", etc.
-
-\"Windows name\" is the letter of your hard drive under Windows (the first
-disk or partition is called \"C:\").");
-}
-sub selectCountry() {
- N("\"%s\": check the current country selection. If you are not in this
-country, click on the \"%s\" button and choose another one. If your country
-is not in the first list shown, click the \"%s\" button to get the complete
-country list.", N("Country / Region"), N("Configure"), N("More"));
-}
-sub selectInstallClass() {
- N("This step is activated only if an old GNU/Linux partition has been found on
-your machine.
-
-DrakX now needs to know if you want to perform a new install or an upgrade
-of an existing Mandrake Linux system:
-
- * \"%s\": For the most part, this completely wipes out the old system. If
-you wish to change how your hard drives are partitioned, or change the file
-system, you should use this option. However, depending on your partitioning
-scheme, you can prevent some of your existing data from being over-written.
-
- * \"%s\": this installation class allows you to update the packages
-currently installed on your Mandrake Linux system. Your current
-partitioning scheme and user data is not altered. Most of other
-configuration steps remain available, similar to a standard installation.
-
-Using the ``Upgrade'' option should work fine on Mandrake Linux systems
-running version \"8.1\" or later. Performing an Upgrade on versions prior
-to Mandrake Linux version \"8.1\" is not recommended.", N("Install"), N("Upgrade"));
-}
-sub selectKeyboard() {
- N("Depending on the default language you chose in Section , DrakX will
-automatically select a particular type of keyboard configuration. However,
-you may not have a keyboard that corresponds exactly to your language: for
-example, if you are an English speaking Swiss person, you may have a Swiss
-keyboard. Or if you speak English but are located in Quebec, you may find
-yourself in the same situation where your native language and keyboard do
-not match. In either case, this installation step will allow you to select
-an appropriate keyboard from a list.
-
-Click on the \"%s\" button to be presented with the complete list of
-supported keyboards.
-
-If you choose a keyboard layout based on a non-Latin alphabet, the next
-dialog will allow you to choose the key binding that will switch the
-keyboard between the Latin and non-Latin layouts.", N("More"));
-}
-sub selectLanguage() {
- N("Your choice of preferred language will affect the language of the
-documentation, the installer and the system in general. Select first the
-region you are located in, and then the language you speak.
-
-Clicking on the \"%s\" button will allow you to select other languages to
-be installed on your workstation, thereby installing the language-specific
-files for system documentation and applications. For example, if you will
-host users from Spain on your machine, select English as the default
-language in the tree view and \"%s\" in the Advanced section.
-
-Note that you're not limited to choosing a single additional language. You
-may choose several ones, or even install them all by selecting the \"%s\"
-box. Selecting support for a language means translations, fonts, spell
-checkers, etc. for that language will be installed. Additionally, the
-\"%s\" checkbox allows you to force the system to use unicode (UTF-8). Note
-however that this is an experimental feature. If you select different
-languages requiring different encoding the unicode support will be
-installed anyway.
-
-To switch between the various languages installed on the system, you can
-launch the \"/usr/sbin/localedrake\" command as \"root\" to change the
-language used by the entire system. Running the command as a regular user
-will only change the language settings for that particular user.", N("Advanced"), N("Espanol"), N("All languages"), N("Use Unicode by default"));
-}
-sub selectMouse() {
- N("Usually, DrakX has no problems detecting the number of buttons on your
-mouse. If it does, it assumes you have a two-button mouse and will
-configure it for third-button emulation. The third-button mouse button of a
-two-button mouse can be ``pressed'' by simultaneously clicking the left and
-right mouse buttons. DrakX will automatically know whether your mouse uses
-a PS/2, serial or USB interface.
-
-If for some reason you wish to specify a different type of mouse, select it
-from the list provided.
-
-If you choose a mouse other than the default, a test screen will be
-displayed. Use the buttons and wheel to verify that the settings are
-correct and that the mouse is working correctly. If the mouse is not
-working well, press the space bar or [Return] key to cancel the test and to
-go back to the list of choices.
-
-Wheel mice are occasionally not detected automatically, so you will need to
-select your mouse from a list. Be sure to select the one corresponding to
-the port that your mouse is attached to. After selecting a mouse and
-pressing the \"%s\" button, a mouse image is displayed on-screen. Scroll
-the mouse wheel to ensure that it is activated correctly. Once you see the
-on-screen scroll wheel moving as you scroll your mouse wheel, test the
-buttons and check that the mouse pointer moves on-screen as you move your
-mouse.", N("Next ->"));
-}
-sub selectSerialPort() {
- N("Please select the correct port. For example, the \"COM1\" port under
-Windows is named \"ttyS0\" under GNU/Linux.");
-}
-sub setRootPassword() {
- N("This is the most crucial decision point for the security of your GNU/Linux
-system: you have to enter the \"root\" password. \"Root\" is the system
-administrator and is the only user authorized to make updates, add users,
-change the overall system configuration, and so on. In short, \"root\" can
-do everything! That is why you must choose a password that is difficult to
-guess - DrakX will tell you if the password that you chose too easy. As you
-can see, you are not forced to enter a password, but we strongly advise you
-against this. GNU/Linux is just as prone to operator error as any other
-operating system. Since \"root\" can overcome all limitations and
-unintentionally erase all data on partitions by carelessly accessing the
-partitions themselves, it is important that it be difficult to become
-\"root\".
-
-The password should be a mixture of alphanumeric characters and at least 8
-characters long. Never write down the \"root\" password -- it makes it far
-too easy to compromise a system.
-
-One caveat -- do not make the password too long or complicated because you
-must be able to remember it!
-
-The password will not be displayed on screen as you type it in. To reduce
-the chance of a blind typing error you will need to enter the password
-twice. If you do happen to make the same typing error twice, this
-``incorrect'' password will be the one you will have use the first time you
-connect.
-
-If you wish access to this computer to be controlled by an authentication
-server, click the \"%s\" button.
-
-If your network uses either LDAP, NIS, or PDC Windows Domain authentication
-services, select the appropriate one for \"%s\". If you do not know which
-one to use, you should ask your network administrator.
-
-If you happen to have problems with remembering passwords, if your computer
-will never be connected to the internet or that you absolutely trust
-everybody who uses your computer, you can choose to have \"%s\".", N("Advanced"), N("authentication"), N("No password"));
-}
-sub setupBootloader() {
- N("This dialog allows you to fine tune your bootloader:
-
- * \"%s\": there are three choices for your bootloader:
-
- * \"%s\": if you prefer grub (text menu).
-
- * \"%s\": if you prefer LILO with its text menu interface.
-
- * \"%s\": if you prefer LILO with its graphical interface.
-
- * \"%s\": in most cases, you will not change the default (\"%s\"), but if
-you prefer, the bootloader can be installed on the second hard drive
-(\"%s\"), or even on a floppy disk (\"%s\");
-
- * \"%s\": after a boot or a reboot of the computer, this is the delay
-given to the user at the console to select a boot entry other than the
-default.
-
-!! Beware that if you choose not to install a bootloader (by selecting
-\"%s\"), you must ensure that you have a way to boot your Mandrake Linux
-system! Be sure you know what you are doing before changing any of the
-options. !!
-
-Clicking the \"%s\" button in this dialog will offer advanced options which
-are normally reserved for the expert user.", N("Bootloader to use"), N("GRUB"), N("LILO with text menu"), N("LILO with graphical menu"), N("Boot device"), N("/dev/hda"), N("/dev/hdb"), N("/dev/fd0"), N("Delay before booting the default image"), N("Skip"), N("Advanced"));
-}
-sub setupBootloaderAddEntry() {
- N("After you have configured the general bootloader parameters, the list of
-boot options that will be available at boot time will be displayed.
-
-If there are other operating systems installed on your machine they will
-automatically be added to the boot menu. You can fine-tune the existing
-options by clicking \"%s\" to create a new entry; selecting an entry and
-clicking \"%s\" or \"%s\" to modify or remove it. \"%s\" validates your
-changes.
-
-You may also not want to give access to these other operating systems to
-anyone who goes to the console and reboots the machine. You can delete the
-corresponding entries for the operating systems to remove them from the
-bootloader menu, but you will need a boot disk in order to boot those other
-operating systems!", N("Add"), N("Modify"), N("Remove"), N("OK"));
-}
-sub setupBootloaderBeginner() {
- N("LILO and grub are GNU/Linux bootloaders. Normally, this stage is totally
-automated. DrakX will analyze the disk boot sector and act according to
-what it finds there:
-
- * if a Windows boot sector is found, it will replace it with a grub/LILO
-boot sector. This way you will be able to load either GNU/Linux or another
-OS.
-
- * if a grub or LILO boot sector is found, it will replace it with a new
-one.
-
-If it cannot make a determination, DrakX will ask you where to place the
-bootloader.");
-}
-sub setupDefaultSpooler() {
- N("Now, it's time to select a printing system for your computer. Other OSs may
-offer you one, but Mandrake Linux offers two. Each of the printing system
-is best suited to particular types of configuration.
-
- * \"%s\" -- which is an acronym for ``print, don't queue'', is the choice
-if you have a direct connection to your printer, you want to be able to
-panic out of printer jams, and you do not have networked printers. (\"%s\"
-will handle only very simple network cases and is somewhat slow when used
-with networks.) It's recommended that you use \"pdq\" if this is your first
-experience with GNU/Linux.
-
- * \"%s\" - `` Common Unix Printing System'', is an excellent choice for
-printing to your local printer or to one halfway around the planet. It is
-simple to configure and can act as a server or a client for the ancient
-\"lpd \" printing system, so it compatible with older operating systems
-which may still need print services. While quite powerful, the basic setup
-is almost as easy as \"pdq\". If you need to emulate a \"lpd\" server, make
-sure you turn on the \"cups-lpd \" daemon. \"%s\" includes graphical
-front-ends for printing or choosing printer options and for managing the
-printer.
-
-If you make a choice now, and later find that you don't like your printing
-system you may change it by running PrinterDrake from the Mandrake Control
-Center and clicking the expert button.", N("pdq"), N("pdq"), N("CUPS"), N("CUPS"));
-}
-sub setupSCSI() {
- N("DrakX will first detect any IDE devices present in your computer. It will
-also scan for one or more PCI SCSI cards on your system. If a SCSI card is
-found, DrakX will automatically install the appropriate driver.
-
-Because hardware detection is not foolproof, DrakX may fail in detecting
-your hard drives. If so, you'll have to specify your hardware by hand.
-
-If you had to manually specify your PCI SCSI adapter, DrakX will ask if you
-want to configure options for it. You should allow DrakX to probe the
-hardware for the card-specific options which are needed to initialize the
-adapter. Most of the time, DrakX will get through this step without any
-issues.
-
-If DrakX is not able to probe for the options to automatically determine
-which parameters need to be passed to the hardware, you'll need to manually
-configure the driver.");
-}
-sub setupYabootAddEntry() {
- N("You can add additional entries in yaboot for other operating systems,
-alternate kernels, or for an emergency boot image.
-
-For other OSs, the entry consists only of a label and the \"root\"
-partition.
-
-For Linux, there are a few possible options:
-
- * Label: this is the name you will have to type at the yaboot prompt to
-select this boot option.
-
- * Image: this is the name of the kernel to boot. Typically, vmlinux or a
-variation of vmlinux with an extension.
-
- * Root: the \"root\" device or ``/'' for your Linux installation.
-
- * Append: on Apple hardware, the kernel append option is often used to
-assist in initializing video hardware, or to enable keyboard mouse button
-emulation for the missing 2nd and 3rd mouse buttons on a stock Apple mouse.
-The following are some examples:
-
- video=aty128fb:vmode:17,cmode:32,mclk:71 adb_buttons=103,111
-hda=autotune
-
- video=atyfb:vmode:12,cmode:24 adb_buttons=103,111
-
- * Initrd: this option can be used either to load initial modules before
-the boot device is available, or to load a ramdisk image for an emergency
-boot situation.
-
- * Initrd-size: the default ramdisk size is generally 4096 Kbytes. If you
-need to allocate a large ramdisk, this option can be used to specify a
-ramdisk larger than the default.
-
- * Read-write: normally the \"root\" partition is initially mounted as
-read-only, to allow a file system check before the system becomes ``live''.
-You can override the default with this option.
-
- * NoVideo: should the Apple video hardware prove to be exceptionally
-problematic, you can select this option to boot in ``novideo'' mode, with
-native frame buffer support.
-
- * Default: selects this entry as being the default Linux selection,
-selectable by pressing ENTER at the yaboot prompt. This entry will also be
-highlighted with a ``*'' if you press [Tab] to see the boot selections.");
-}
-sub setupYabootGeneral() {
- N("Yaboot is a bootloader for NewWorld Macintosh hardware and can be used to
-boot GNU/Linux, MacOS or MacOSX. Normally, MacOS and MacOSX are correctly
-detected and installed in the bootloader menu. If this is not the case, you
-can add an entry by hand in this screen. Be careful to choose the correct
-parameters.
-
-Yaboot's main options are:
-
- * Init Message: a simple text message displayed before the boot prompt.
-
- * Boot Device: indicates where you want to place the information required
-to boot to GNU/Linux. Generally, you set up a bootstrap partition earlier
-to hold this information.
-
- * Open Firmware Delay: unlike LILO, there are two delays available with
-yaboot. The first delay is measured in seconds and at this point, you can
-choose between CD, OF boot, MacOS or Linux;
-
- * Kernel Boot Timeout: this timeout is similar to the LILO boot delay.
-After selecting Linux, you will have this delay in 0.1 second increments
-before your default kernel description is selected;
-
- * Enable CD Boot?: checking this option allows you to choose ``C'' for CD
-at the first boot prompt.
-
- * Enable OF Boot?: checking this option allows you to choose ``N'' for
-Open Firmware at the first boot prompt.
-
- * Default OS: you can select which OS will boot by default when the Open
-Firmware Delay expires.");
-}
-sub sound_config() {
- N("\"%s\": if a sound card is detected on your system, it is displayed here.
-If you notice the sound card displayed is not the one that is actually
-present on your system, you can click on the button and choose another
-driver.", N("Sound card"));
-}
-sub summary() {
- N("As a review, DrakX will present a summary of information it has about your
-system. Depending on your installed hardware, you may have some or all of
-the following entries. Each entry is made up of the configuration item to
-be configured, followed by a quick summary of the current configuration.
-Click on the corresponding \"%s\" button to change that.
-
- * \"%s\": check the current keyboard map configuration and change that if
-necessary.
-
- * \"%s\": check the current country selection. If you are not in this
-country, click on the \"%s\" button and choose another one. If your country
-is not in the first list shown, click the \"%s\" button to get the complete
-country list.
-
- * \"%s\": By default, DrakX deduces your time zone based on the country
-you have chosen. You can click on the \"%s\" button here if this is not
-correct.
-
- * \"%s\": check the current mouse configuration and click on the button to
-change it if necessary.
-
- * \"%s\": clicking on the \"%s\" button will open the printer
-configuration wizard. Consult the corresponding chapter of the ``Starter
-Guide'' for more information on how to setup a new printer. The interface
-presented there is similar to the one used during installation.
-
- * \"%s\": if a sound card is detected on your system, it is displayed
-here. If you notice the sound card displayed is not the one that is
-actually present on your system, you can click on the button and choose
-another driver.
-
- * \"%s\": by default, DrakX configures your graphical interface in
-\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on
-\"%s\" to reconfigure your graphical interface.
-
- * \"%s\": if a TV card is detected on your system, it is displayed here.
-If you have a TV card and it is not detected, click on \"%s\" to try to
-configure it manually.
-
- * \"%s\": if an ISDN card is detected on your system, it will be displayed
-here. You can click on \"%s\" to change the parameters associated with the
-card.
-
- * \"%s\": If you want to configure your Internet or local network access
-now.
-
- * \"%s\": this entry allows you to redefine the security level as set in a
-previous step ().
-
- * \"%s\": if you plan to connect your machine to the Internet, it's a good
-idea to protect yourself from intrusions by setting up a firewall. Consult
-the corresponding section of the ``Starter Guide'' for details about
-firewall settings.
-
- * \"%s\": if you wish to change your bootloader configuration, click that
-button. This should be reserved to advanced users.
-
- * \"%s\": here you'll be able to fine control which services will be run
-on your machine. If you plan to use this machine as a server it's a good
-idea to review this setup.", N("Configure"), N("Keyboard"), N("Country / Region"), N("Configure"), N("More"), N("Timezone"), N("Configure"), N("Mouse"), N("Printer"), N("Configure"), N("Sound card"), N("Graphical Interface"), N("Configure"), N("TV card"), N("Configure"), N("ISDN card"), N("Configure"), N("Network"), N("Security Level"), N("Firewall"), N("Bootloader"), N("Services"));
-}
-sub takeOverHdChoose() {
- N("Choose the hard drive you want to erase in order to install your new
-Mandrake Linux partition. Be careful, all data present on this partition
-will be lost and will not be recoverable!");
-}
-sub takeOverHdConfirm() {
- N("Click on \"%s\" if you want to delete all data and partitions present on
-this hard drive. Be careful, after clicking on \"%s\", you will not be able
-to recover any data and partitions present on this hard drive, including
-any Windows data.
-
-Click on \"%s\" to stop this operation without losing any data and
-partitions present on this hard drive.", N("Next ->"), N("Next ->"), N("<- Previous"));
-}
diff --git a/perl-install/http.pm b/perl-install/http.pm
deleted file mode 100644
index 4e19eed8b..000000000
--- a/perl-install/http.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-package http; # $Id$
-
-use IO::Socket;
-use network;
-
-
-my $sock;
-
-sub getFile {
- local ($^W) = 0;
-
- my ($url) = @_;
- $sock->close if $sock;
- $url =~ m|/XXX$| and return; #- force closing connection.
-
- my ($host, $port, $path) = $url =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,;
- $host = network::resolv($host);
-
- $sock = IO::Socket::INET->new(PeerAddr => $host,
- PeerPort => $port || 80,
- Proto => 'tcp',
- Timeout => 60) or die "can't connect $@";
- $sock->autoflush;
- print $sock join("\015\012" =>
- "GET $path HTTP/1.0",
- "Host: $host" . ($port && ":$port"),
- "User-Agent: DrakX/vivelinuxabaszindozs",
- "", "");
-
- #- skip until empty line
- my ($now, $last, $buf, $tmp) = 0;
- my $read = sub { sysread($sock, $buf, 1) or die ''; $tmp .= $buf };
- do {
- $last = $now;
- &$read; &$read if $buf =~ /\015/;
- $now = $buf =~ /\012/;
- } until $now && $last;
-
- $tmp =~ /^.*\b200\b/ ? $sock : undef;
-}
-
-1;
diff --git a/perl-install/install/Makefile b/perl-install/install/Makefile
new file mode 100644
index 000000000..69b46e7be
--- /dev/null
+++ b/perl-install/install/Makefile
@@ -0,0 +1,116 @@
+include ../../Makefile.config
+include ../Makefile.config
+
+PRODUCT=drakx-installer-stage2
+
+ROOTDEST = /export
+STAGE2_DEST = $(ROOTDEST)/install/stage2
+DEST = $(STAGE2_DEST)/live
+
+REP4PMS = /usr/lib/libDrakX
+DESTREP4PMS = $(DEST)$(REP4PMS)
+
+all: xs
+
+clean xs:
+ make -C .. $@
+
+dist: tar
+
+tar:
+ rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ mkdir -p $(PRODUCT)-$(VERSION)/perl-install/install/share/
+ (cd ../..; git archive HEAD kernel perl-install tools Makefile.config) | tar xC $(PRODUCT)-$(VERSION)
+ rm -fr $(PRODUCT)-$(VERSION)/perl-install/standalone/po
+ svn export svn://svn.mageia.org/svn/packages/cauldron/meta-task/current/SOURCES $(PRODUCT)-$(VERSION)/perl-install/install/share/meta-task
+ tar cfa $(PRODUCT)-$(VERSION).tar.xz $(PRODUCT)-$(VERSION)
+ rm -rf $(PRODUCT)-$(VERSION)
+ $(info $(PRODUCT)-$(VERSION).tar.xz is ready)
+
+tag:
+ git tag -a $(VERSION) -m "$(VERSION)"
+
+install:
+ $(MAKE) full_stage2
+ echo $(VERSION) > $(STAGE2_DEST)/VERSION
+
+install_pms:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+
+# commands implemented in perl:
+ for i in `perl -ne 's/sub (\w+?)_?(\(\))? \{.*/$$1/ and print' commands.pm` sync; do if [ ! -x $(DEST)/usr/bin/$$i ]; then ln -sf commands $(DEST)/usr/bin/$$i; fi; done
+
+# install & clean perl modules:
+ install -d $(DESTREP4PMS)
+ cd .. ; for i in $(PMS); do \
+ dest=$(DESTREP4PMS)/`dirname $$i`; \
+ install -d $$dest; \
+ perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=(back|begin|head|item|over|pod)/ .. /^=cut/) || /use (diagnostics|strict|vars|warnings)/' $$i > $(DESTREP4PMS)/$$i; \
+ done
+
+ chmod a+x $(DESTREP4PMS)/install/install2
+ chmod a+x $(DESTREP4PMS)/install/commands
+
+get_needed_files: xs
+# generate installer system:
+ mkdir -p $(DEST)/{usr/,}{,s}bin
+ mkdir -p $(DEST)/etc
+ for dir in /lib /lib64; do [[ -d $$dir ]] && mkdir -p $(DEST){,/usr}$$dir; done || :
+ /usr/lib/dracut/modules.d/30convertfs/convertfs.sh $(DEST)
+ REP4PMS=$(REP4PMS) ../../tools/install-xml-file-list share/list.xml $(DEST)
+ chmod u-s -R $(DEST) # for mount/umount
+ share/generate-xlocales $(DEST)
+
+ ../../tools/simplify-drakx-modules $(DEST)/usr/*/*/*/utf8_heavy.pl
+
+ perl -I.. -Mlang -e 'symlink "UTF-8", "$(DEST)/usr/share/locale/$$_" foreach lang::list_langs()'
+
+# various needed soft links (eg for ndiswrapper):
+ perl -ane 'symlink "$$F[1]", "$(DEST)$$F[0]"' share/aliases
+# default shell:
+ifeq (ia64,$(ARCH))
+ ln -sf bash $(DEST)/bin/sh
+else
+ ln -sf ash $(DEST)/bin/sh
+endif
+
+# X11 font caches:
+ mkfontdir $(DEST)/usr/share/fonts
+ fc-cache -f $(DEST)/usr/share/fonts
+
+# drakx translations:
+ $(MAKE) -C ../share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+ $(MAKE) -C help/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+ $(MAKE) -C share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+# POFILES to disable for installation:
+# be,fur: too few messages translated;
+# ta: font problem
+ rm -rf $(DEST)/usr/share/locale_special/{be,fur,ta}
+
+full_stage2:
+ $(MAKE) stage2
+ @if [ "$${DEBUG_INSTALL+xxx}" ]; then make dont_run_directly_stage2; else : ; fi
+ $(MAKE) compress
+
+compress:
+ ../../tools/mdkinst_stage2_tool --clean --compress $(STAGE2_DEST)
+
+stage2:
+ rm -rf $(DEST)
+ mkdir -p $(DEST)/usr
+ $(MAKE) get_needed_files
+ $(MAKE) install_pms
+
+dont_run_directly_stage2:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+ install -m 755 share/runinstall2.sh share/gdb-inst $(DEST)/usr/bin/
+ [ -n $$DEBUG_INSTALL_LANG ] && perl -pi -e '$$_ = "loadkeys '$$DEBUG_INSTALL_LANG'\n$$_" if / sh/' $(DEST)/usr/bin/runinstall2.sh
+ ln -sf runinstall2.sh $(DEST)/usr/bin/runinstall2
+
+trace_stage2:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+ f=`perldoc -l Devel::Trace`; install -m 644 -D $$f $(DEST)$$f
+ perl -pi -e 's|(#!/usr/bin/perl).*|$$1 -d:Trace|' $(DEST)/usr/bin/runinstall2
+
+# [pixel] after make install_pms:
+# sudo sh -c 'CLEAN=1 perl ../../tools/drakx-in-chroot /export /tmp/rr --useless_thing_accepted --kickstart install/auto_inst.cfg.local.pl'
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
new file mode 100644
index 000000000..9a6552f2a
--- /dev/null
+++ b/perl-install/install/NEWS
@@ -0,0 +1,4999 @@
+- use task-plasma-minimal instead of task-plasma5-minimal
+- use mutter with X11 backend
+- Create /etc while creating installer system
+- Adapt to latest gdk-pixbuf changes and use glycin to load images
+- fix bugs in any::sessions() (mga#33738)
+
+Version 18.69 - 07 June 2025
+- Updated translations
+- bytes_heavy.pl was merged into bytes.pm
+- Agafari-16 console font support was dropped from kbd
+- fix glob for svg pixbuf loader
+- Don't use mdadm --chunk option when creating level 1 RAID (mga#33767)
+- Detect legacy (non-PCI) Intel SST audio DSP devices (mga#33145)
+- install rpm's /usr/lib/rpm/sysusers.sh to stage2 image by default
+- Drop i586 bits
+
+Version 18.68 - 28 April 2024
+- Adapt to rpm-4.19.1
+- Fix debug build
+- Updated translations
+
+Version 18.67 - 5 January 2024
+
+- Fix grub2-efi package name on aarch64 (mga#32686)
+- Updated translations
+
+Version 18.66 - 19 August 2023
+
+- Revert change of default DHCP client to dhcpcd (mga#30938)
+
+Version 18.65 - 11 July 2023
+
+- add ntfs3 to isFat_or_NTFS()
+- sync list of modules needing firmware with kernel-desktop-6.4.2-2.mga9
+- Sync list_modules with kernel 6.4
+
+Version 18.64 - 24 June 2023
+
+- Change default DHCP client to dhcpcd (mga#30938)
+- Updated translations
+
+Version 18.63 - 6 June 2023
+
+- rescue: mount efivars in chroot on UEFI systems (mga#31844)
+- Updated translations
+- Fix total_memory() by using sysinfo()
+- Add nvidia-newfeature.ko to nvidia modules supported list
+- drakclock: set to checked if ntpd is started.
+
+Version 18.62 - 28 April 2023
+
+- Update file list for changes in Adwaita icon locations
+
+Version 18.61 - 28 April 2023
+
+- Include ModemManager and NetworkManager in Networking services category
+- Updated translations
+
+Version 18.60 - 17 April 2023
+
+- New artwork for Mageia 9
+
+Version 18.59 - 14 April 2023
+
+- Don't force pavucontrol when there is already pavucontrol-qt in plasma-desktop enviroment
+- Updated translations
+
+Version 18.58 - 8 April 2023
+
+- Modify draksound GUI to add support for switching to pipewire
+
+Version 18.57 - 29 March 2023
+
+- Use OK/Cancel as button names when asking whether to retry
+ after failing to add on-line media
+- Recognize new kernel 6.0 drivers
+- Updated translations
+
+Version 18.56 - 9 February 2023
+
+- Recognize new kernel 5.19 drivers
+- Recognize new kernel 6.0 drivers
+- Recognize new kernel 6.1 drivers
+
+Version 18.54 - 6 January 2023
+
+- Apply workaround to fix display of release notes (mga#31294)
+
+Version 18.53 - 29 December 2022
+
+- Add openssl config file needed when running cryptsetup (mga#31315)
+- updated translations
+
+Version 18.52 - 3 December 2022
+
+- support https URLs for online media
+- allow user to specify the downloader used for online supplementary media
+- allow user to specify a specific mirror and downloader when applying updates
+ at the end of installation
+- updated translations
+
+Version 18.51 - 29 October 2022
+
+- Include rpm & rpmdb to allow database to be converted to sqlite (mga#31024)
+- Adapt to WebKit2 4.1
+- bootloader: ensure efivars are mounted before installing a UEFI bootloader (mga#31008)
+
+Version 18.50 - 17 September 2022
+
+- bootloader: don't remove existing failsafe/nonfb entries on upgrade
+ if we aren't replacing them with new ones
+- bootloader: add options to change the rEFInd background (mga#28073)
+- Update the list of drivers that need a nonfree firmware against kernel-5.18
+
+Version 18.49 - 8 June 2022
+
+- Adapt to perl 5.28
+- package installation:
+ o retry downloading packages in case of error (mga#28539)
+- Recognize new kernel 5.17 drivers
+- Recognize new kernel 5.18 drivers
+
+Version 18.48 - 17 January 2022
+
+- Enable to alter default downloader (mga#28539)
+ eg: " downloader=wget"
+
+Version 18.47 - 30 October 2021
+
+- Adapt to xserver-21.1
+- Debug mode:
+ o Adapt to the fact that gdb-11.1 uses guile-3
+ o Adapt to gdb-11.1 (missing scm files)
+ o Add a wrapper to easily debug Xorg
+
+Version 18.46 - 6 June 2021
+
+- Adjust to x11-data-xkbdata-2.32
+- Adapt to gdk_pixbuf 2.42.6
+
+Version 18.45 - 21 february 2021
+
+- Fix step-categories color to make it visible in the installer (mga#28375)
+- Adjust logo colours on left background
+- translation updates
+
+Version 18.44 - 14 February 2021
+
+- Set left background to release and improve colours
+
+Version 18.43 - 31 January 2021
+
+- updated translations
+- bootloader: don't remove os-prober before user makes choice (mga#28223)
+
+Version 18.42 - 26 January 2021
+
+- updated translations
+- prefer using UUID for mmcblk and nvme devices (mga#28111)
+
+Version 18.41 - 11 January 2021
+
+- Artwork for Mageia 8
+- Left background set to rc1
+
+Version 18.40 - 11 January 2021
+
+- updated translations
+- fix handling of TYPE"64bit" flags when reading rpmsrate
+ o ensure 32-bit packages are not pre-selected on 64-bit systems
+
+Version 18.39 - 04 January 2021
+
+- Update translations
+- disable timeout when installing updates (mga#27981)
+ o this can take a long time when there are many updates
+
+Version 18.38 - 29 December 2020
+
+- bootloader:
+ o fix false detection of GRUB2 when installed in ESP but not in /boot,
+ which caused boot method to default to non-graphical GRUB2 (mga#27816)
+ o add option to configure rEFInd to not use EFI NVRAM (mga#27838)
+- partitioning:
+ o erase iso9660 signature when clearing hybrid ISO disk (mga#27864)
+ o restrict line length when displaying base device info
+ to prevent window extending off screen (mga#27882)
+- support https in media URL (mga#27776)
+
+Version 18.37 - 5 December 2020
+
+- recognize more rtw88_*
+- recognize new kernel 5.10 drivers
+- sync list for modules needing firmware with kernel 5.9
+
+Version 18.35 - 20 November 2020
+
+- partitioning:
+ o do not mount ESP with umask=0 under UEFI (mga#27415)
+ o fix "partition table is too corrupt for me" error when a mdadm RAID array
+ has been created outside Mageia tools using raw devices (mga#26707)
+ o include tools for exfat
+
+Version 18.34 - 14 September 2020
+
+- services:
+ o include systemd sockets and timers
+- bootloader:
+ o keep timeout value when it's 0 (mga#27158)
+- recognize new kernel 5.9 drivers
+
+Version 18.33 - 19 August 2020
+
+- recognize new kernel 5.5 - 5.8 drivers
+- support loading auto_install file from https url
+- report.bug:
+ o log data about LVM
+ o log data about dmsetup
+
+Version 18.31 - 18 June 2020
+
+- restore flat list option for individual package selection
+- add option to install GRUB2 bootloader in \EFI\BOOT (mga#24282)
+- improved behaviour when installing on a removable device (mga#26761)
+ o only use swap partitions on that device
+ o default to installing bootloader on that device
+ (in \EFI\BOOT for UEFI bootloaders)
+ o default to not including other OSs in GRUB2 boot menu
+- fix free space calculation when auto-allocating partitions
+
+Version 18.30 - 9 June 2020
+
+- don't show hardware in summary screen when match_all_hardware flag is set
+
+Version 18.29 - 6 June 2020
+
+- partitioning: exclude ISO installer medium from available disks (mga#26714)
+
+Version 18.28 - 29 May 2020
+
+- bootloader: don't die in write_grub2 if grub.cfg doesn't exist (mga#26676)
+- translation updates
+
+Version 18.27.1 - 8 May 2020
+
+- bootloader:
+ fix typo x86 -> x64 for matching 64bit grub2-efi(x86-64)
+
+Version 18.27 - 1 May 2020
+
+- bootloader config:
+ o do not try to enable non existing acpi service
+ o rename /boot/efi as /boot/EFI if needed (mga#22395)
+- partitioning:
+ o it's now possible to set labels on exfat
+- select only once needed fs tools
+
+Version 18.26 - 20 March 2020
+
+- bootloader config: copy instead of renaming grub.cfg (mga#25542)
+- install dmsetup when encrypting "/" (thus workarounding unbootable minimal
+ system as dracut's crypt module depends on it)
+- partitioning:
+ o add minimal support for exFAT
+
+Version 18.25 - 18 March 2020
+
+- adjust debug build to current python
+- partitioning:
+ o enable to inspect NILFS2 formated partitions
+ o enable to install on F2FS formated partitions
+ o enable to resize NILFS2
+ o enable to resize XFS during install
+ o fix online resizing not always umounting fs after resizing
+- recognize new kernel 5.5 drivers
+
+Version 18.24 - 15 March 2020
+
+- fix tracking of installed packages (mga#26284)
+- include plugin for supporting Windows 10 NTFS "Compact OS"
+- drakx-in-chroot:
+ o skip disk ESP & BIOS boot partition checks
+- partitioning:
+ o make reformating nilfs2 fses to work
+- sync list for modules needing firmware with kernel 5.5
+- write ISO label and date to installer log
+
+Version 18.23 - 25 January 2020
+
+- adapt to libinput-1.15.0
+- recognize new kernel 5.3 drivers
+
+Version 18.22 - 13 September 2019
+
+- adapt to libinput 1.4
+- adjust to new rpm-mageia-setup
+- new Gtk3 needs GdkPixdata-2.0
+
+Version 18.21 - 23 June 2019
+
+- update left-background for Mageia 7 final
+
+Version 18.20 - 18 June 2019
+
+- translation updates
+- update list for modules needing firmware
+- recognize 8821ce (mga#24605)
+
+Version 18.19 - 27 May 2019
+
+- preselect Core 32bit media on 32-bit EFI platforms
+- include all of /usr/lib/udev/hwdb.d (mga#20327)
+
+Version 18.18 - 20 May 2019
+
+- translation updates
+
+Version 18.16 - 11 May 2019
+
+- Mageia 7 Artwork
+- add AMD PCIe MP2 I2C detection
+
+Version 18.15 - 3 May 2019
+
+- recognize new kernel 5.1 drivers
+
+Version 18.14 - 26 April 2019
+
+- include libinput model quirks rules (mga#20327)
+
+Version 18.13 - 21 April 2019
+
+- partitioning: speed up partition table read and write (mga#15752)
+- preserve existing locale settings on upgrade (mga#24671)
+- store country code in /etc/locale.conf (mga#24671)
+- don't automatically change time zone on upgrade (mga#24670)
+- partitioning: fix resize of encrypted partitions (mga#22032)
+- translation updates
+
+Version 18.12 - 16 March 2019
+
+- don't preselect Nonfree 32bit media (mga#23927)
+- fix paths to Adwaita icons (changed in adwaita-icon-theme)
+
+Version 18.11 - 16 March 2019
+
+- recognize new kernel 5.0 drivers
+- fix screen layout when the framebuffer is > 1024x768 (mga#23904)
+- translation updates
+
+Version 18.10 - 3 Feb 2019
+
+- skip setupSCSI step when run with --local_install (mga#24278)
+- don't install nonfree graphics drivers when not wanted (mga#24172)
+- don't select default bootloader when building Live ISOs
+- improve exitInstall message (mga#24046)
+- translation updates
+
+Version 18.9 - 17 Dec 2018
+
+- avoid resetting keyboard layout at end of formatting step (mga#23877)
+- bootloader:
+ o only prefer rEFInd if it is installed in the root fs (mga#23944)
+ o support 32-bit UEFI with 64-bit O/S
+- translation updates
+
+Version 18.8.1 - 1 Dec 2018
+
+- desktop kernels are now PAE, for PTI security fixes to work properly,
+ so if cpu is not supporting it, install the desktop586 kernel
+- dont select server kernel anymore on 32bit x86 with RAM > 3.8GB
+
+Version 18.8 - 28 Nov 2018
+
+- only install radeon-firmware if needed (mga#23911)
+- sync list of drivers needing a firmware with kernel 4.19
+
+Version 18.7 - 27 Nov 2018
+
+- bootloader: display "ESP" in summary under UEFI
+- check DM really is installed, not just present in /usr/share/X11.dm.d
+- packages selection:
+ o open-vm-tools is handled through rpmsrate
+
+Version 18.6 - 21 Nov 2018
+
+- fix DM preference when none is selected (don't default to XDM)
+- fix some DE name/capitalisation inconsistencies (mga#23634 + others)
+- remove version from Enlightenment DE name strings (mga#19341)
+
+Version 18.5 - 19 Nov 2018
+
+- bootloader: ignore GPT disk w/o BIOS boot part (mga#23844) in automatic mode
+- recognize new kernel 4.1[89] drivers
+
+Version 18.4 - 4 Nov 2018
+
+- adapt set_autologin for display-manager service, not prefdm (mga#22593)
+- drakx-in-chroot:
+ o allow monitor-edid to be suppressed in post-install scriptlets
+- translation updates
+
+Version 18.3 - 15 Oct 2018
+
+- drakboot: add support for the rEFInd boot manager (mga#15153)
+- include Encode::Unicode module (needed by bootloader::write_refind)
+
+Version 18.1 - 14 September 2018
+
+- drakx-in-chroot:
+ o do not run monitor-edid with drakx-in-chroot (timeout)
+- fix regression due to rpm-4.14.2 where drakx report pkgs failing to install
+ (mga#23531)
+
+Version 18.0 - 25 August 2018
+
+- mdadm raid:
+ o raid10 can be created with just 2 disks as a high-performance raid1
+ o raid10: use layout f2 with 2 disks for performance
+ o raid6 can be used with 3 disks and up
+- remove current media before adding online media for updates (mga#19742)
+- bootloader: include the "Mageia" entry in the gub2 Default choices (mga#23393)
+- include mode modules for Encode (mga#23481)
+
+Version 17.99 - 9 August 2018
+
+- adapt to libinput 1.12 RC1
+- adapt to perl 5.28
+- recognize smartpqi driver (mga#23305)
+
+Version 17.98 - 22 June 2018
+
+- recognize new kernel 4.1[5-7] drivers
+
+Version 17.97 - 5 June 2018
+
+- libinput-list-devices is no more
+
+Version 17.96 - 13 March 2018
+
+- support ChooseMedia in auto-install interactiveSteps
+- fix spurious error messages when installing network driver packages
+- translation updates
+
+Version 17.95 - 10 February 2018
+
+- include sensors in udev's HWDB
+- debug mode:
+ o include rpm & urpmi tools
+- recognize more new kernel-4.14 drivers
+
+Version 17.94 - 9 February 2018
+
+- add input rules from new systemd (mga#21886)
+- debug mode:
+ o adjust for python-3.6
+ o include chroot & partprobe too
+- fix including libinput tool
+- fix local install on systems without usb
+
+Version 17.93 - 19 January 2018
+
+- sync with kernel 4.14
+- include more input HWDB entries
+- diskdrake:
+ o ensure device major/minor numbers are reread after writing the
+ partition table (mga#22032)
+ o ensure soft links in /dev/disk/by-uuid are updated so that valid
+ UUIDs are embedded in the initrd (mga#22059)
+
+Version 17.92 - 4 January 2018
+
+- fix perl escaping causing commands to not get linked
+- fix some error handling in mdkinst_stage2_tool
+
+Version 17.91 - 4 October 2017
+
+- do not include libnss3 anymore as rpm now uses OpenSSL
+- do not include some hwdb files from uneeded pkgs
+
+Version 17.90 - 18 September 2017
+
+- bootloader:
+ o better read back config
+ o fix undefined labels when eg: Xen is installed (mga#19014)
+ crash with "undefined value for mandatory argument 'text''
+
+Version 17.89 - 7 September 2017
+
+- include part of udev's hwdb (mga#20327)
+- adapt to perl-5.26
+- adapt to URPM-5.14 (using perl native ints)
+
+Version 17.88 - 7 July 2017
+
+- translation updates
+
+Version 17.87 - 25 June 2017
+
+- left background image for Mageia 6 final
+
+Version 17.86 - 23 June 2017
+
+- increase the default window size of the installer to 1024x768 (mga#20624)
+
+Version 17.85 - 22 June 2017
+
+- don't overwrite custom grub2 settings when upgrading (mga#20596)
+- recognize 8812au (mga#21043)
+
+Version 17.84 - 5 June 2017
+
+- translation updates
+
+Version 17.83 - 4 June 2017
+
+- log output of libinput-list-devices in report.bug (mga#20327)
+- translation updates
+
+Version 17.82 - 6 May 2017
+
+- add "please wait" message when running update-grub2
+
+Version 17.81 - 5 May 2017
+
+- fix missing "Configure Supplemental Installation Media" screen (mga#20484)
+
+Version 17.80 - 3 May 2017
+
+- updated DE selection and advertising artwork for Mageia 6
+
+Version 17.79 - 26 April 2017
+
+- updated translation snapshot
+
+Version 17.78 - 4 April 2017
+
+- new left background for Mageia 6 rc
+
+Version 17.77 - 4 April 2017
+
+- partitioning:
+ o don't require a BIOS boot partition when performing an upgrade (mga#20338)
+ o make partitioning more robust with "Use entire disk" option (mga#20619):
+ * add safety net for informing the kernel after writing a DOS partition
+ table.
+ * speed up proc_partitions::compare() and avoid unwanted udev events.
+ o force reinitialisation of partition suggestions after wiping disk
+ (mga#20621)
+- various fixes to do_pkgs during Live installs (mga#20620):
+ o fix do_pkgs_standalone::are_installed() for Live install
+ o fix do_pkgs_standalone::remove() for Live install
+ o fix fast path for do_pkgs::ensure_is_installed()
+
+Version 17.76 - 24 March 2017
+
+- installer options handling:
+ o ignore case for options line in previous releases
+ o fix default value for 'compssListLevel' (mga#20551)
+ (both being post mga5 regression)
+
+Version 17.75 - 17 March 2017
+
+- partitioning:
+ o fix too big window due to too big translations (mga#20360)
+ o allow a BIOS boot partition to be located on any disk (mga#20161)
+ o ensure kernel is informed when a MBR partition table is cleared
+ o clearing GPT partitions:
+ * delay thus fix clearing GPT partitions (mga#20264)
+ ("failed to del partition #1 on /dev/...")
+ * don't send separate events to the kernel about removing/adding GPT partitions,
+ just tell it to reread the whole newly cleared & allocated partition table
+ o tell the kernel all actions at once on GPT partitions instead of telling it
+ separatly about removing partitions A, B & C, then adding partition E, F &G
+
+Version 17.74 - 9 March 2017
+
+- update translations (e17 -> e21)
+
+Version 17.73 - 8 March 2017
+
+- debug mode:
+ o add example how to include debuginfo
+ o make it work with gdb-7.12
+ o preset keyboard if DEBUG_INSTALL_LANG is set during build
+- list input & HID devices in report.bug (mga#20327)
+- recognize new kernel-4.8 drivers
+
+Version 17.72 - 25 February 2017
+
+- partitioning:
+ o allow a BIOS boot partition to be located on any disk (mga#20161)
+ o fix auto-allocation of BIOS boot partitions (mga#20161, mga#19888)
+ o don't suggest mountpoint for ESP when doing a legacy boot install (mga#20164)
+ o fix bugs in sync'ing the kernel's partition table cache (mga#20074)
+ o detect and handle DOS "Empty" partition types (mga#20074)
+- sync nonfree firmware list with kernel-4.9
+- use SHA-512 instead of blowfish as the default password encryption (mga#20342)
+
+Version 17.71 - 18 January 2017
+
+- partitioning_wizard:
+ o fix bug in detecting whether a BIOS boot partition is required (mga#19935)
+- fix inserting extended partition in the middle
+
+Version 17.70 - 17 January 2017
+
+- new left background for Mageia 6
+
+Version 17.69 - 12 January 2017
+
+- bootloader:
+ o disable audit logging as it floods the logs
+- partitioning:
+ o fix exception when clearing all partitions on !UEFI (mga#20083)
+- recognize new kernel-4.9 drivers
+
+Version 17.68 - 14 December 2016
+
+- fix progress bar on i586 (mga#19930)
+
+Version 17.67 - 13 December 2016
+
+- fix a crash introduced in 17.66
+
+Version 17.66 - 13 December 2016
+
+- fix more i586 problems with int64 (mga#19933, mga#19930)
+
+Version 17.65 - 12 December 2016
+
+- bootloader configuration:
+ o describe what skipping os-prober does (mga#18538)
+ o show generic help too when using grub2
+- fix i586 installation broken by int64 (mga#19895)
+
+Version 17.64 - 11 December 2016
+
+- more int64 init (mga#19895)
+
+Version 17.63 - 9 December 2016
+
+- force use of int64 for installed package size on i586 (mga#19895)
+
+Version 17.62 - 1 December 2016
+
+- left background for Mageia 6 sta2
+- add grub2-editenv in list.xml
+
+Version 17.61 - 26 November 2016
+
+- screenshots:
+ o use scrot instead of fb2png as the later doesn't work with vesa (mga#19810)
+
+Version 17.60 - 15 November 2016
+
+- partitioning:
+ o fix being unable to format a newly part (mga#19172)
+ o offer to format unmounted parts that have a defined mount point
+
+Version 17.58 - 24 October 2016
+
+- bootloader configuration:
+ o make kernel server default if installed
+ (we were only checking for long dead flavors such as enterprise, ...)
+- fix build with latest URPM aka include perl-Math-Int64 (mga#19640)
+
+Version 17.57 - 21 September 2016
+
+- use new CSS syntax for font (mga#19430)
+
+Version 17.56 - 19 September 2016
+
+- detect ovirt too (mga#19308)
+- fix gtk+3.22 regression (mga#19406)
+- sync nonfree firmware list with kernel-4.7
+
+Version 17.55 - 13 August 2016
+
+- New left background for Mageia 6 RC
+
+Version 17.54 - 13 August 2016
+
+- autologin/desktop configuration (shared code):
+ o add support for LXDM (mga#17616)
+ o add support for SDDM (mga#17913)
+
+Version 17.53 - 31 July 2016
+
+- bootloader configuration:
+ o fix .old backup for grub2's grub.cfg
+- partitioning:
+ o first usable sector is LBA34 for GPT
+ o respect used scheme when clearing a disk
+ (ie do not switch from gpt to dos scheme on small disk)
+
+Version 17.52 - 17 July 2016
+
+- do not preinstall mageia-gfxboot-theme
+- bootloader configuration:
+ o fix not being able to edit default grub2 cmdline (mga#18952)
+
+Version 17.51 - 12 July 2016
+
+- fix starting spice-vdagentd
+- partitioning:
+ o auto_inst: fix clearing an already filled GPT disk
+ o don't offer to format RAID or BIOS boot partition
+ o make clear a BIOS boot partition cannot have a mount point
+ o make error about BIOS boot partition more explicit about
+ its purpose and that it must be created (mga#18923)
+
+Version 17.50 - 8 July 2016
+
+- include pvs/vgs/lvs symlinks
+- partitioning:
+ o display a wait message when adding a PV to VG
+- libvirt integration:
+ o start spice-vdagent{d,} (Qemu guest agent)
+
+Version 17.49 - 6 July 2016
+
+- autoinst:
+ e enable to set several swap partitions (mga#9874)
+ o enable to select media (mga#12299)
+- partitioning:
+ o GPT: prevent geometry issue on last partition (mga#18666, mga#17796)
+ o restrict fdisk -l output to useful disks
+- recognize new kernel-4.7 drivers
+- try to get patch from ext[2-4] removable media instead of just ext2
+
+Version 17.48 - 4 July 2016
+
+- bootloader configuration:
+ o allow installing grub2 on XFS /
+ o make clear grub2 is installed on ESP under UEFI
+ o make sure we only offer lilo/grub choice on upgrades only
+- partitioning:
+ o do not offer to check for bad blocks on btrfs (mga#12393)
+ o do not warn about no bootloader can boot LVM as grub2 can (mga#9426)
+ o do not warn about no bootloader can boot RAID[^1] as grub2 can (mga#11324)
+ o enable bad blocks checking on JFS
+- summary:
+ o add help link for sound (mga#11824)
+
+Version 17.47 - 30 June 2016
+
+- partitioning:
+ o fix being able to create vfat on UEFI (mga#15698)
+- recognize some missing wireless drivers (mga#16768)
+- users:
+ o offer again to add user to admin group (mga#17720)
+
+Version 17.46 - 24 June 2016
+
+- library:
+ o enable compssUsers.pl to pick the right lsb-core-lib(64) flavor
+
+Version 17.45 - 24 June 2016
+
+- partitioning:
+ o keep UUID when formatting btrfs (mga#18673)
+
+Version 17.44 - 24 June 2016
+
+- bootloader configuration:
+ o add a "Do not touch ESP or MBR" option (mga#18770)
+ o do not offer to pick the disk where to install grub2 on UEFI
+ o filter GPT disks w/o a BIOS boot part (mga#18770)
+ o warn if grub2 is not installed on MBR/ESP
+- logs:
+ o fix found kernel names
+ o log if were running under UEFI
+- partitioning:
+ o fix preserving UUID when formatting jfs/nilfs/xfs
+- package selection:
+ o display a wait dialog when choosing custom choice (mga#11041)
+- summary:
+ o sort service categories, putting "Other" at end (mga#6286)
+
+Version 17.43 - 22 June 2016
+
+- summary:
+ o fix not listing some services (mga#17288)
+ o fix updating firewall status after configuration (mga#17288)
+
+Version 17.42 - 22 June 2016
+
+- bootloader configuration:
+ o add support for crypted grub2 passwords (mga#15930)
+ o grub2: do not overwite ESP if not installing on it (mga#15583)
+ o grub2: fix setting default entry when in a submenu (mga#18560)
+
+Version 17.41 - 20 June 2016
+
+- bootloader:
+ o fix the grub2 post-install check (mga#18739)
+
+Version 17.40 - 20 June 2016
+
+- bootloader:
+ o ensure we've the right grub2 flavor (mga#18739)
+- no more include vmmouse driver
+
+Version 17.39 - 18 June 2016
+
+- partitioning:
+ o fix ESP tagging in some cases
+- services:
+ o update service category lists
+
+Version 17.38 - 16 June 2016
+
+- partitioning:
+ o fix offering to create a GRUB_BIOS partition in custom mode (mga#18656)
+ o fix inverted test when checking need for a GRUB_BIOS partition (mga#18704)
+
+Version 17.37 - 12 June 2016
+
+- partitioning:
+ o try harder to guess if we need a GRUB_BIOS partition (mga#18656)
+- rename desktop image KDE -> Plasma (mga#18687)
+
+Version 17.36.1 - 11 June 2016
+
+- fix selecting Plasma (mga#18687)
+
+Version 17.36 - 11 June 2016
+
+- do not override bootloader on upgrade (mga#18638)
+- fix running with nss 3.24
+- debug build:
+ o gdb needs python3 instead of python2 (and guile as well)
+ o fix loadkeys in debug mode on tty1
+ o include cfdisk too
+- partitioning:
+ o add a GRUB_BIOS partition if needed (mga#18656)
+ o MBR limit really is 2TiB, not 4, so use GPT for disks > 2TiB
+
+Version 17.35.1 - 7 June 2016
+
+- fix selecting grub2 on !UEFI
+
+Version 17.35 - 7 June 2016
+
+- fix selecting grub2-efi on UEFI (mga#18646)
+
+Version 17.34.1 - 6 June 2016
+
+- fix displaying release notes with WebKit2
+
+Version 17.34 - 6 June 2016
+
+- bootloader:
+ o enable to (un)install os-prober (mga#16010, mga#18538)
+ o fix reading back last grub2 entry
+ o only overwrite GRUB_CMDLINE_LINUX_DEFAULT on first install (mga#18112)
+ o only overwrite install.sh when actually installing boot loader (mga#17455)
+ o set GRUB_DEFAULT + GRUB_SAVEDEFAULT (mga#9627, mga#16059)
+ o stop offering grub legacy & lilo on new installs (mga#18583)
+
+Version 17.33 - 27 May 2016
+
+- adjust to latest gdb
+- list all drivers needing a proprietary driver
+- only use vesa on x86
+
+Version 17.32 - 17 May 2016
+
+- remove KDE occurrence after revert of the previous commit
+
+Version 17.31 - 9 May 2016
+
+- replace last KDE occurence with Plasma
+- left background for sta1
+- list all drivers needing a proprietary driver
+- install the right IM packages on Plasma when using fcitx
+
+Version 17.30 - 7 May 2016
+
+- install nonfree firmware for amdgpu, i915, nouveau
+- CSD:
+ o make corners round like gtk+/Adwaita does
+ o nicer decoration
+
+Version 17.29 - 4 May 2016
+
+- install the right IM packages on Plasma
+- make CSD support available to forked processes (mga#18332)
+
+Version 17.28 - 26 April 2016
+
+- adapt to new brltty
+- drop support for MIPS
+- fix detecting running under Qemu
+- fix installing packages when having a numeric pad
+- recognize new kernel-4.6 drivers
+
+Version 17.27 - 23 April 2016
+
+- add 'qemu' flag for rpmsrate
+- exclude 2 Xorg libraries on ARM
+
+Version 17.26.1 - 8 April 2016
+
+- just ignore kernel options
+- drakx-in-chroot:
+ o enable to control strace behaviour
+
+Version 17.26 - 3 April 2016
+
+- add minimal CSD support (mga#17702)
+
+Version 17.25 - 1 April 2016
+
+- partitioning:
+ o fix detecting nvme devices as block devices
+ o fix displaying partitions when there's only one disk
+ (and the resulting crash: mga#18076)
+
+Version 17.24 - 23 March 2016
+
+- fix build on ia32
+- add 'virtualbox' & 'vmware' flags for rpmsrate
+- use systemd-detect-virt for detecting virtualization technology
+
+Version 17.23 - 22 March 2016
+
+- do not include twice webkit2gtk library
+- prevent usrmove files to remain
+- remove swrast (too big just to fix a gtk+ warning...)
+
+Version 17.21 - 21 March 2016
+
+- load evdev (thus fixing a crash)
+- load psmouse (it is now modular)
+- use WebKit2 instead of WebKit1 for displaying help content (mga#15031)
+
+Version 17.20 - 18 March 2016
+
+- prevent slow boot on first boot (mga#16684)
+- partitioning:
+ o fix partitions not initially displayed (mga#17564)
+
+Version 17.19 - 24 February 2016
+
+- detect nvme devices as block devices (mga#17743)
+- detect partitions on nvme devices (mga#17743)
+
+Version 17.18.1 - 10 February 2016
+
+- bootloader:
+ o add support for grub2-text too (mga#9431)
+- partitioning:
+ o check ESP has the right fs type (mga#16246)
+ o check that ESP mount point actually is an ESP
+
+Version 17.17 - 29 January 2016
+
+- fix hidden cursor (mga#17470)
+
+Version 17.16 - 21 January 2016
+
+- Add ARM support in perl-install
+- options:
+ o silent a warning bout BOOT_IMAGE option
+- partitioning:
+ o fix crash (mga#17484)
+
+Version 17.14 - 11 January 2016
+
+- do not warn about kernel options when parsing drakx options
+- include libinput udev helpers (mga#17470)
+
+Version 17.13 - 9 January 2016
+
+- regressions from 17.11:
+ o fix ignoring options from isolinux
+ o fix parsing stage1's automatic option (mga#17441)
+- silent a perl-5.22 warning
+
+Version 17.12 - 2 January 2016
+
+- bootloader:
+ o log found kernels (mga#16128)
+ o skip swap in the list of partitions (mga#15767)
+- partitioning:
+ o auto fill LV name from mntpnt (mga#5407)
+ o suggest "lv_foo" instead of just "foo" for LVname
+- summary:
+ o drop support for ISApnp sound cards
+- fix a message (mga#15414)
+- misc cleanups
+
+Version 17.11 - 1 January 2016
+
+- make report.bug.xz more reproducible
+- misc cleanups
+- drakx-in-chroot:
+ o use GetOpt::Long for options
+ (thus allowing eg "--flang fr" instead of just "--flang=fr")
+
+Version 17.10 - 24 December 2015
+
+- use mutter instead of matchbox (fix black screen)
+
+Version 17.9 - 24 December 2015
+
+- include 60-evdev.rules instead of no more existing 60-keyboard.rules
+- silent gtk+ warnings about swrast driver
+
+Version 17.8 - 22 December 2015
+
+- recognize new kernel-4.3 drivers
+
+Version 17.7.1 - 17 December 2015
+
+- include one more file for new X.org wrapper (mga#17348)
+
+Version 17.7 - 17 December 2015
+
+- adapt to new X.org wrapper (mga#17348)
+
+Version 17.6 - 12 December 2015
+
+- drakx-in-chroot:
+ o fix running with xserver-1.18
+
+Version 17.5 - 8 december 2015
+
+- more substitution for task-plasma5
+- use sddm instead of kdm
+
+Version 17.4 - 6 December 2015
+
+- use task-plasma5-minimal instead of task-kde4-minimal
+
+Version 17.3 - 4 December 2015
+
+- recognize new kernel-4.3 drivers
+
+Version 17.2 - 26 November 2015
+
+- left background for Mageia 6 dev1
+
+Version 17.1 - 27 August 2015
+
+- recognize new kernel-4.1 drivers
+
+Version 17.0 - 24 June 2015
+
+- adapt to pango 1.37.x
+- adapt to perl-5.22
+- switch from evdev+synaptics to libinput driver
+
+Version 16.105 - 15 June 2015
+
+- really fix urpmi media when installing from USB (mga#5690)
+
+Version 16.104 - 13 June 2015
+
+- diskdrake:
+ o prevent errors when telling kernel to reread partition table
+
+Version 16.103 - 4 June 2015
+
+- partitioning wizard:
+ o only use current disk when auto partitioning, wiping disk,
+ using free space (mga#16055)
+
+Version 16.102 - 29 May 2015
+
+- diskdrake:
+ o ignore special 'Packard_Bell' and 'Push_Button_Reset' partitions (mga#15999)
+ o run udevadm settle after actions that trigger device reload (mga#15999)
+
+Version 16.101 - 25 May 2015
+
+- do not die if network cannot be started for updates (mga#8819),
+ just log the faillure and offer to either retry or abort
+- do not offer to add a CD-ROM as supplement media (mga#13671)
+- fix urpmi media when installing from USB (mga#5690)
+- locale setting
+ o fix reading back IM config (mga#15761)
+- partitioning:
+ o set pt_type according to fs_type before flag cases (mga#16029)
+
+Version 16.100 - 20 May 2015
+
+- add online media at installation end (mga#8819)
+
+Version 16.99 - 20 May 2015
+
+- bootloader:
+ o do not detect grub2 on UEFI when there's no bootloader
+ o fix default grub2 kernel parameters (mga#15984)
+- partitioning:
+ o display cosmetics when reading back GPT partitions
+ o fix mnt point for FAT partitions on GTP (mga#15987)
+ o set the proper GUID for FAT partitions on GPT
+- don't try to install non existant scim-googlepinyin (mga#6681)
+
+Version 16.97 - 18 May 2015
+
+(just to be sure draklive-install fix for mga15257 doesn't break anything)
+
+Version 16.96 - 17 May 2015
+
+- partitioning:
+ o fix regression refusing FAT for ESP (mga#15962)
+
+Version 16.95 - 14 May 2015
+
+- better dialog title (mga#9648)
+- partitioning:
+ o fix a crash after "insufficient space" error (mga#15919)
+
+Version 16.93 - 9 May 2015
+
+- bootloader:
+ o do use vga value for grub2
+ o fix setting default grub2 entry
+
+Version 16.92 - 9 May 2015
+
+- bootloader:
+ o add a dedicate step for grub2 (mga#9627)
+ o always log update-grub2 output (mga#15857)
+ o backup grub2 files before configuring
+- log grub2 install.sh in report.bug like for grub (mga#15857)
+- networking:
+ o recognize r8723bs (mga#15874)
+- partitioning:
+ o do not set noauto for /boot/EFI (mga#15627)
+
+Version 16.91 - 3 May 2015
+
+- final left-background
+
+Version 16.90 - 28 April 2015
+
+- localedrake:
+ o write input methods to /etc/locale.conf (mga#15464)
+- run vgchange before updating the list of LVMs, not after, and even if not
+ in install (should help with mga#7578).
+
+Version 16.89 - 25 April 2015
+
+- Ignore special partitions on mmc (mga#15759)
+
+Version 16.87 - 21 April 2015
+
+- partitioning:
+ o improve the display box (mga#15728)
+
+Version 16.86 - 20 April 2015
+
+- bootloader:
+ o dont override 'splash' and/or 'quiet' when adding 'noiswmd' (mga#15666)
+- partitioning:
+ o use the windows partition with the most available space on current
+ disk, not the last one across all disks (mga#15589)
+ o suggest up to 20GB/20% of the windows partition (whichever is larger),
+ previously 6GB/10% (mga#15589)
+ o hide empty space < 2MB, we have such holes due to alignment (mga#15733)
+- speed up reading of flags from GPT partition table (mga#15621).
+
+Version 16.84 - 14 April 2015
+
+- bootloader config:
+ o do not pass useless parameters to grub2 under UEFI (mga#15692)
+ o fix kernel booting in blind mode (mga#15291)
+
+Version 16.83 - 13 April 2015
+
+- enable firmware raids with dmraid/kpartx like we do on
+ live medias and on fully installed systems
+
+Version 16.82 - 13 April 2015
+
+- partitioning:
+ o detect Lenovo recovery & 'SYSTEM_DRV' as such (mga#1371)
+ o do add a ESP if it was removed by "Clear All"
+ o ignore ESP for "use free space on MS"
+- bootloader config:
+ o default to GRUB_DISABLE_RECOVERY=falss for 'failsafe' entry (mga#15675)
+
+Version 16.81 - 12 April 2015
+
+- add kpartx for dmraid activation
+- fix upgrade when package's in several media (mga#15350)
+ (need URPM-5.06 too)
+- support loading patches from NTFS USB keys
+- partitioning:
+ o don't guess a drive letter for ESP partitions
+
+Version 16.80 - 9 April 2015
+
+- bootloader config:
+ o check there's still some place on /boot with grub2 too
+ o generate core.img for UEFI
+ o fix detecting grub2 on UEFI
+ o write /boot/grub2/install.sh like for grub instead of drakboot.conf
+- log grub2 config in report.bug like for grub/lilo
+- partitionning:
+ o don't guess a drive letter for recovery partitions (mga15636)
+
+Version 16.79 - 7 April 2015
+
+- bootloader config:
+ o keep vga= parameter when switching to grub2 (mga#9888)
+
+Version 16.78 - 7 April 2015
+
+- bootloader:
+ o fix installing grub2 on MBR (mga#15640)
+ (regression introduced in 16.76)
+
+Version 16.77 - 7 April 2015
+
+- bootloader:
+ o add 'noiswmd' to kernel command line to manage isw_ bios
+ fakeraids with dmraid for now (instead of mdadm) (mga#11289, mga#14330)
+ o allow btrfs for / without separate /boot with grub2 (mga#15374)
+- partitioning wizard:
+ o do not offer to select RAID as it result in a crash (mga#5800)
+
+Version 16.76 - 3 April 2015
+
+- bootloader config:
+ o log grub2-install failures (mga#15439)
+- partitionning:
+ o log fdisk -l output before/after partitionning
+ o really try to detect recovery partitions on GPT
+
+Version 16.75 - 30 March 2015
+
+- partitionning:
+ o better fix for fail to read too corrupted partition table
+ o fix getting ESP with "use free space":
+ make sure to not override /boot/EFI mount point with /media/win_X
+ o make sure to check for existing ESP on all disks
+ o relax checks for ESP
+ o try to detect recovery partitions on GPT
+
+Version 16.74 - 27 March 2015
+
+- GPT partitionning:
+ o fix retrieving ntfs partitions as ntfs-3g instead of ntfs
+ o really fix retrieving swap partition type
+
+Version 16.73 - 27 March 2015
+
+- GPT partitionning:
+ o fix creating RAID devices (mga#15400)
+ (regression from 16.33)
+ o fix "I cannot read the partition table of device XXX, it is too corrupted"
+ o fix retrieving LVM/RAID/swap partition type
+ o fix retrieving ntfs partitions as ntfs-3g instead of ntfs
+ o fix tagging lvm/raid as "linux filesystem"
+ o fix tagging ntfs-3g as "linux filesystem"
+ o fix tagging swap as "linux filesystem"
+- tell users to ignore Gtk3 warnings
+
+Version 16.72 - 26 March 2015
+
+- fix a crash in auto install (mga#15573)
+
+Version 16.71 - 25 March 2015
+
+- bump max_nb() to 131 to cover mdadm managed imsm and ddf1 bios
+ fakeraids (containers defaults to >= 127 and partitions <=126)
+- partitionning:
+ o fix retrieving ESP partition type on GPT (mga#15366)
+ o log which GPT partition we fail to add/del
+ o set proper GUID to ESP partitions with GPT layout
+- pre-install grub2-efi on UEFI
+
+Version 16.69 - 20 March 2015
+
+- efi partitioning fixes from tv
+- diskdrake & package install gtk fixes from Martin Whitaker
+
+Version 16.68 - 17 March 2015
+
+- fix mis-detecting some mobile broadband modems (mga#12492)
+- add 'deploops' option for debugging (mga#15350)
+- log mkinitrd faillures (mga#9201)
+
+Version 16.67 - 5 March 2015
+
+- auto_install:
+ o ignore firmwares within draklive
+ o log step errors
+- drakx-in-chroot:
+ o unbreak draklive
+
+Version 16.66 - 5 March 2015
+
+- diskdrake:
+ o add "nofail" option to "foreign" mountpoints to avoid unwanted recovery mode (#10179)
+
+Version 16.65 - 27 February 2015
+
+- Mageia 5 RC
+- include udev rule for Synaptics
+
+Version 16.64 - 27 February 2015
+
+- partitioning:
+ o add missing button icons (mga#15264)
+
+Version 16.63 - 27 February 2015
+
+- partitioning:
+ o fix too wide buttons (mga#12422, mga#13471, mga#14839, mga#15379)
+
+Version 16.62 - 19 February 2015
+
+- partitioning (mga#12422, mga#11988, mga#14839, mga#15272, mga#15264):
+ o use an horizontal scrolling bar when needed
+ o use a vertical scrolling bar when needed (mga#15272)
+ o workaround too wide togglebuttons with empty label with gtk+3 and/or Adwaita
+
+Version 16.61 - 18 February 2015
+
+- ensure we install radeon-firmware too if needed (mga#15203)
+
+Version 16.60 - 18 February 2015
+
+- ensure we install kernel-firmware-nonfree if needed (mga#15203)
+
+Version 16.59 - 18 February 2015
+
+- bug:
+ o display a nicer message when no removable medium is found (mga#14435)
+
+Version 16.57 - 11 February 2015
+
+- fix taking screenshots on UEFI 24bit bpp framebuffer (mga#13684)
+
+Version 16.55 - 9 February 2015
+
+- drakclock: Ensure that /etc/localtime is a symlink (mga#14888)
+- users: Make sure to restart accounts-daemon after adding users (mga#15113)
+- finish-install: Ensure i18n settings are loaded
+- Create a symlink instead a hard copy to localtime see issue #14888
+- i18n: Write the desired console font to /etc/vconsole.conf
+- i18n: Use the x-distro /etc/locale.conf file instead of /etc/sysconfig/i18n
+- drakedm: Don't run ancient dm init script (which no longer exists)
+- Update traslations
+
+Version 16.54 - 6 February 2015
+
+- fix left background size
+
+Version 16.53 - 6 February 2015
+
+- switch from oxygen-gtk to Adwaita theme
+ o remove oxygen-gtk
+ o add missing icons (mga#13673, mga#14355, mga#14840, mga#14844)
+ o add libpixbufloader-svg.so for Adwaita svg icons
+ o add gtk.css
+
+Version 16.52 - 5 February 2015
+
+- default to GPT on disks larger than 4TB, not LVM
+- fix GPT initialization on empty disk
+- fix failure to delete partitions after switching to GPT
+- fix stage2 loading graphical installer in efi mode
+
+Version 16.51 - 3 February 2015
+
+- Mageia 5 beta 3
+- recognize new kernel-3.19 drivers
+
+Version 16.50 - 9 January 2015
+
+- initial uefi support
+
+Version 16.49 - 31 December 2014
+
+- translation updates
+- refer to MageiaWelcome instead of to something we do not have (mga#10901)
+- drakx-in-chroot:
+ o pre-create /dev/null & co before mounting devtmpfs
+- recognize new kernel-3.18 drivers (mga#14799)
+
+Version 16.48 - 16 December 2014
+
+- Mageia 5 artwork integration (with beta2 mention on left-background)
+- do not load hyper-v modules (already done by udev in stage1)
+
+Version 16.47 - 5 December 2014
+
+- do not crash loading stage2 in Virtual PC (mga#14117)
+- bootloader config:
+ o do not crash if fstab contains a bind mount on a file (mga#14657)
+
+Version 16.45 - 26 October 2014
+
+- drakx-in-chroot:
+ o pre-create /dev/null & co again (for draklive)
+- fix selecting of uneeded locales (mga#3723)
+
+Version 16.44 - 23 October 2014
+
+- drakx-in-chroot:
+ o document --stage2-update in --help
+ o mount /dev -o ro
+ o try harder to umount everything when sg went havroc
+
+Version 16.43 - 20 October 2014
+
+- drakx-in-chroot:
+ o adapt to the fact that stage2 expects a /dev fully populated by udev
+- package installation:
+ o adapt to URPM-5
+ o rename "no_suggests" option as "no_recommends"
+
+Version 16.42 - 18 September 2014
+
+- only allow GRUB2 when booting on btrfs
+
+Version 16.41 - 31 August 2014
+
+- adapt to latest systemd
+- allow /boot on btrfs
+- recognize new kernel-3.17 drivers
+
+Version 16.40 - 22 August 2014
+
+- adwaita-gtk3-theme no longer provides a settings.ini file
+- log X.org server logs when it fails to start up (mga#13471, ...)
+- recognize hyper-v paravirtual network driver
+
+Version 16.39 - 17 August 2014
+
+- recognize new kernel-3.16 drivers
+
+Version 16.38 - 22 July 2014
+
+- Mageia 5 alpha 2 left background
+
+Version 16.37 - 3 July 2014
+
+- fix /etc/fstab writing (mga#13114, also reported by Joseph Wang)
+- partitioning:
+ o improve fs sorting in combo box (mga#13640)
+
+Version 16.36 - 1 July 2014
+
+- hide /boot/efi check for now (mga#13638)
+
+Version 16.35 - 29 June 2014
+
+- Mageia 5 alpha 1 left background
+- let udev handle floppies
+
+Version 16.33 - 18 June 2014
+
+- stop creating some /dev entries that are managed by udev
+
+Version 16.32 - 15 June 2014
+
+- include platform driver autoload udev rules
+- recognize new kernel-3.15 drivers
+
+Version 16.31.1 - 6 June 2014
+
+- include udev rule for VMmouse
+
+Version 16.31 - 6 June 2014
+
+- xorg config:
+ o rely on evdev/udev for input devices
+ o Wacom tablets should work better
+ (we now load the wacom driver again)
+ o Synaptics touchpads should now work during install (mga#11524)
+
+Version 16.30 - 4 June 2014
+
+- adapt to perl-5.20
+- add some POD documentation
+- do not unavailable kernel-xbox
+- drop (broken) support for Alpha, PPC, Sparc & IA64
+- locale setting
+ o stop configuring HAL
+ o update locales list
+
+Version 16.29 - 3 May 2014
+
+- gnome-icon-theme is now adwaita-icon-theme
+
+Version 16.28 - 28 April 2014
+
+- recognize new kernel-3.14 drivers
+
+Version 16.27 - 18 February 2014
+
+- fix crash when choosing a RTL language (mga#12793)
+- Ensure uid/gid extraction works when adding users via summary page
+ (fixes chown'ing user to root when adding existing user on upgrade mga#12375)
+
+Version 16.26.6 - 23 January 2014
+
+- fix hidden icon in individual package selection (mga#12397)
+
+Version 16.26.5 - 22 January 2014
+
+- release notes dialog:
+ o fix untranslated button
+
+Version 16.26.4 - 22 January 2014
+
+- debug image:
+ o add a warning about QWERTY keyboard
+- help dialogs:
+ o do warn on first screenshot (mga#11176)
+ o fix lost help screenshots (mga#11176)
+
+Version 16.26.3 - 21 January 2014
+
+- help dialogs:
+ o do not warn if a screenshot already has been taked (mga#11176)
+
+Version 16.26.2 - 20 January 2014
+
+- left background for final release of Mageia 4
+
+Version 16.26.1 - 20 January 2014
+
+- partitioning:
+ o increase back minimum partition width for Oxygen (mga#11977)
+
+Version 16.26 - 20 January 2014
+
+- fix detecting if basesystem is installed (mga#10722)
+ thus fixing "basesystem package not selected"
+- partitioning:
+ o fix sizing partition widgets
+ o fix not moving window (mga#11790, mga#11988, mga#11977)
+ o revert minimum partition width to its pre-gtk3 value
+ o show labels on partition buttons
+
+Version 16.25 - 19 January 2014
+
+- add Mageia 4 desktop images
+
+Version 16.24 - 18 January 2014
+
+- help dialogs:
+ o make screenshots work (mga#11176)
+ o fix untranslated button & title (mga#9828)
+
+Version 16.23 - 16 January 2014
+
+- partitioning:
+ o do not show labels on partition buttons (mga#11988)
+
+Version 16.22 - 15 January 2014
+
+- partitioning:
+ o fix "No GSettings schemas are installed on the system" error when
+ inspecting partitions (mga#12279)
+- services:
+ o use --no-block with chkconfig and systemctl enable to prevent systemd reload
+ and potential crash (especially during first/live boot)
+
+Version 16.21 - 13 January 2014
+
+- partitioning:
+ o do not propose check bad blocks for btrfs (Manuel Hiebel, mga#10116)
+ o increase minimum partition width for Oxygen (mga#11977)
+ (if not enough, we will disable labels on partitions buttons again)
+- revert back to matchbox instead of mutter as it doesn't fix
+ diskdrake issues (mga#11977)
+ (thus fixing missing window decorations (mga#12218))
+
+Version 16.20 - 6 January 2014
+
+- Mageia 4 artwork
+
+Version 16.19 - 4 January 2014
+
+- Mageia 4 RC left background
+
+Version 16.17 - 20 December 2013
+
+- media step:
+ o hint that nonfree is needed if a CPU needs a microcode
+- install:
+ o fix pausing installing while displaying release notes
+- drakx-in-chroot:
+ o advise to install xephyr if missing
+- use mutter instead of matchbox in order to try to workaround
+ diskdrake issues (mga#11790, mga#11988, ...)
+ as a side effect, stage2 shrinks by 3Mb...
+
+Version 16.14 - 10 December 2013
+
+- Mageia 4 beta 2 left background
+
+Version 16.13 - 10 December 2013
+
+- fix crash when selecting an input method (mga#11939)
+
+Version 16.10 - 6 December 2013
+
+- package group selection:
+ o make bottom buttons always available
+ (by puting the scrolling window only around the package group check boxes)
+
+Version 16.9 - 6 December 2013
+
+- fix retrieving network info from stage2 after dracut migration (mga#11504)
+
+Version 16.7 - 5 December 2013
+
+- partitioning:
+ o fix a crash when creating partitions (mga#11876)
+
+Version 16.6 - 4 December 2013
+
+- fix blue background behind left panel text (mga#11866)
+
+Version 16.5 - 3 December 2013
+
+- partitioning:
+ o detect eMMc block devices (Luc Menut, mga#11812)
+ o fix a crash in partitioning wizard (mga#11820)
+ o show labels on partition buttons again but ellipsized (mga#11858)
+
+Version 16.4 - 2 December 2013
+
+- fix partitioning wizard moving the main window to left (mga#11790)
+- fix titles not being blue anymore
+
+Version 16.2 - 29 November 2013
+
+- no more run urpmi.update when adding media
+ (uneeded with urpmi-7.27+)
+
+Version 16.1 - 28 November 2013
+
+- fix a warning: include dialog-warning-symbolic
+- fix left panel text being black instead of white (mga#11792)
+- fix calling "child1_shrink" via package "Gtk3::HPaned" (mga#11797)
+- fix using old toolbar API that is no more available (mga#11791)
+- wrap too big labels in summary dialog (mga#11793)
+
+Version 16.0 - 23 November 2013
+
+- switch from Gtk+-2 to Gtk+-3:
+ o Banners: most themes work OK but Oxygen-gtk3...
+ o diskdrake: most themes work OK but Oxygen-gtk3...
+- detect_devices:
+ fix ids to be numeric
+- drakx-in-chroot:
+ o add --depth in order to force 16bit colors mode
+
+Version 15.73.1 - 19 November 2013
+
+- debug image:
+ o include enough python in order to generate a stack trace from within stage2
+ o fix passing arguments from drakx-in-chroot
+- do not compile/include xhost+ anymore (unused for years)
+- log why updates were not applied
+
+Version 15.73 - 12 November 2013
+
+- polkit: fix wrappers to properly escape arguments when calling the binary
+
+Version 15.72.2 - 11 November 2013
+
+- properly escape $$UID
+- use $$UID instead of $$(id -u)
+
+Version 15.72.1 - 9 November 2013
+
+- fix typo in last Makefile change
+
+Version 15.72 - 9 November 2013
+
+- use /usr/libexec/drakrpm-addmedia directly in stage2 (colin, #11319)
+- debug image:
+ o add missing python modules for latest gdb
+ o fix building with latest gdb
+
+Version 15.71 - 8 November 2013
+
+- do not use automatically gdm for xfce
+- do not include anymore packdrake module
+
+Version 15.70 - 3 November 2013
+
+- Mageia 4 beta 1 left background
+
+Version 15.69 - 29 October 2013
+
+- adapt to a dracut based stage1
+
+Version 15.68.1 - 14 October 2013
+
+- adapt to latest mdadm
+
+Version 15.68 - 14 October 2013
+
+- drop /etc/termcap as it's no longer part of our build
+- make urpmi install check more reliable (polkit related path change mga#11125)
+- recognize new kernel-3.12 drivers
+
+Version 15.67 - 10 October 2013
+
+- log when user reject applying updates (mga#11319)
+- recognize new kernel-3.11 drivers
+
+Version 15.66 - 3 October 2013
+
+- include another network interface name udev rule (mga#10947)
+- diskdrake:
+ o enable to format already formated btrfs partitions (mga#11256)
+
+Version 15.65 - 28 September 2013
+
+- mageia 4 alpha 3 left background
+- fix detecting some soft RAID (mga#11139 and the like)
+
+Version 15.64 - 4 September 2013
+
+- rebuild
+
+Version 15.63 - 4 September 2013
+
+- revert multi selection for desktops
+
+Version 15.62 - 3 September 2013
+
+- Mageia 4 alpha 2 left background
+- updated translations for desktop install
+- add Independently install Desktop environments
+- install open-vm-tools on VMware hypervisor
+
+Version 15.61 - 8 August 2013
+
+- include network interface name udev rule (mga#10947)
+
+Version 15.60 - 4 August 2013
+
+- Mageia 4 alpha 1 left background
+
+Version 15.59 - 4 August 2013
+
+- add missing re.so for utf8_heavy.pl (mga#10893)
+- detect wifi cards managed by ssb driver (mga#9378)
+
+Version 15.58 - 19 July 2013
+
+- fix a lang pixmap (mga#10795)
+
+Version 15.57 - 16 July 2013
+
+- adapt to latest btrfs utils for resizing
+
+Version 15.56 - 16 July 2013
+
+- bootloader:
+ o fix displaying need to install acpi* packages when they're already installed
+ o read/save choosen default entry
+- detect wifi cards managed by bcma driver (mga#9378)
+- detect new kernel-3.10 drivers
+
+Version 15.54 - 17 May 2013
+
+- do not enable legacy sysvinit scripts that no longer exist (mga#10084)
+- do not enable to pick xguest (mga#9750)
+- fix offering to install shorewall & shorewall-ipv6 when already installed
+- media step:
+ o hint that nonfree is needed if a driver needs a nonfree firmware
+ o preselect nonfree if needed
+
+Version 15.52 - 15 May 2013
+
+- fix displaying release notes while installing (mga#10087)
+
+Version 15.51 - 13 May 2013
+
+- drop support for fetching release-notes.ARCH.html
+- enable Nonfree/Tainted repositories when adding update media if a
+ package having a matching name is installed (similar to #8379)
+- detect_devices: check for phy80211 sysfs directory as well to detect
+ wireless devices
+
+Version 15.49 - 2 May 2013
+
+- fix displaying ads (mga#9939)
+
+Version 15.48 - 1 May 2013
+
+- include mount options in auto_inst.pl
+- install 'basesystem-minimal' instead of 'basesystem' prior to add extra media
+ thus fixing "basesystem package not selected" (mga#9611)
+- make xdm installation automatic in auto_inst mode (mga#9875)
+
+Version 15.47 - 30 April 2013
+
+- include more partition fields in auto_inst.pl (mga#9784)
+- skip comments in /etc/crypttab (Colin, mga#9905)
+- services:
+ o list 'shorewall-ipv6' along 'shorewall'
+
+Version 15.45 - 27 april 2013
+
+- fix doble logging of 'filesystem' installation (mga#7758)
+- install shorewall-ipv6 along shorewall (mga#9401)
+- bootloader:
+ o try harder to get a label for other OSes (mga#9849,9681)
+- partitioning:
+ o only allow 'acl' option for extX & reiserfs (mga#9884)
+
+Version 15.44 - 23 april 2013
+
+- partitioning:
+ o fix a crash when reloading partition table (mga#9838)
+ o fix a crash when trying to create a encrypted LVM partition (mga#9837)
+
+Version 15.43 - 22 april 2013
+
+- prepare final release: left background
+
+Version 15.42 - 21 April 2013
+
+- partitioning (mga#5661):
+ o ensure LVMs on top of dmcrypt are activated after unlocking
+ o fix UI redraw issue after unlocking dmcrypt partition
+
+Version 15.41 - 21 April 2013
+
+- add support for new help
+- updated translations
+
+Version 15.40 - 19 April 2013
+
+- authentication:
+ o 'nss-pam-ldapd' obsoletes 'pam_ldap' (mga#9769)
+- partitioning (mga#5661):
+ o fix losing crypt key when detecting LVMs on top of dmcrypt
+ o fix losing crypt key when re-reading partition tables
+
+Version 15.39 - 15 April 2013
+
+- bump min size for spliting /home fs (Eugeni, mga#3189):
+ o from 8 to 12Gb if simple partitioning
+ o from 7 to 10Gb if /usr is split or for servers
+
+Version 15.38 - 14 April 2013
+
+- Mageia 3 RC banner
+
+Version 15.37 - 9 April 2013
+
+- library:
+ o fix detecting some USB devices due to not reporting their class (mga#9674)
+- partitioning:
+ o allow to choose btrfs in normal mode (mga#65)
+
+Version 15.36 - 6 April 2013
+
+- bind mount /run in chroot, thus fixing dracut runs (Dave Hodgins, mga#9213)
+- bootloader:
+ o fix other Mga OS names in menu (mga#8710)
+
+Version 15.35 - 5 April 2013
+
+- bootloader:
+ o assume grub2.cfg is UTF-8 encoded
+ o read back more conf from grub2
+ o set entries type when reading back grub2 conf, thus fixing
+ switching back to grub-legacy (mga#9563)
+- fix finding translated help (mga#9619)
+
+Version 15.34 - 4 April 2013
+
+- force loading NSS modules (mga#9326)
+- log ignored dmraid devices (might help mga#9467)
+- drakx-in-chroot:
+ o always copy /etc/resolv.conf again
+
+Version 15.33 - 4 April 2013
+
+- drakx-in-chroot:
+ o do not copy /etc/resolv.conf in chroot if not using either remote
+ display or remote repository (thus fixing goup lookups, mga#9326)
+
+Version 15.32 - 31 March 2013
+
+- fix detecting Xen hard disks (mga#9546)
+
+Version 15.31 - 25 March 2013
+
+- recognize more webcam & bluetooth devices (might help mga#5841)
+
+Version 15.30 - 25 March 2013
+
+- Mageia 3 new design
+
+Version 15.29 - 22 March 2013
+
+- Mageia 3 beta 4 background
+
+Version 15.28 - 21 March 2013
+
+- do not disable module autoloading (mga#9428)
+- bootloader-config:
+ o do not build initrd if no bootloader is detected and
+ --no-initd argument is supplied
+- authentication:
+ o install nss-pam-ldapd instead of nss_ldap (mga#9375)
+- partitioning:
+ o actually preserve UUID when formatting (mga#9428)
+
+Version 15.27 - 12 March 2013
+
+- bootloader:
+ o install grub2-efi instead of grub2 if using UEFI (mga#8886)
+- fix permissions of help displayer (mga#9340)
+- fix dialogs popup with drakx-in-chroot
+
+Version 15.26 - 5 March 2013
+
+- include display_installer_help
+- show all errors at once at end of installation
+
+Version 15.25 - 5 March 2013
+
+- fork displaying help, thus workarounding a webkit segfault (mga#9124)
+- prevent displaying twice release notes
+
+Version 15.24.1 - 2 March 2013
+
+- rebuild with updated list_modules
+
+Version 15.24 - 28 February 2013
+
+- bootloader:
+ o allow installing grub2 on a partition (mga#8742)
+ o try harder not to have duplicate stuff on grub2 cmd line
+- do not put entry for CD/DVD in /etc/fstab (mga#7657)
+
+Version 15.23 - 27 February 2013
+
+- bootloader:
+ o fix detecting grub2 if there's a remaining grub-legacy signature
+ o read more of grub2 config
+ o read & save timeout value (mga#8850)
+ o set default parameters in grub2 config (mga#9177)
+- do not attempt to use gurpmi.addmedia or gurpmi if in text mode
+
+Version 15.22 - 26 February 2013
+
+- Mageia 3 beta 3 left background
+
+Version 15.21 - 26 February 2013
+
+- summary:
+ o prevent installing grub2 somewhere else than MBR
+ o read & write /boot/grub2/drakboot.conf
+ o suggests MBR by default for grub2 too (Manuel Hiebel, #8851)
+- always bypass blkid cache (the cache only includes a subset of the data we need)
+
+Version 15.20 - 21 January 2013
+
+- use modprobe instead of insmod (mga#8676)
+
+Version 15.19 - 14 January 2013
+
+- Mageia 3 beta 2 left background
+
+Version 15.18 - 5 January 2013
+
+- include more utils for raid (mga#8484)
+
+Version 15.17 - 28 December 2012
+
+- do not bypass blkid cache
+- include kmod's modprobe
+- drakx-in-chroot:
+ o export blkid cache
+
+Version 15.16 - 28 December 2012
+
+- adapt to new help layout (mga#5634)
+
+Version 15.15 - 24 December 2012
+
+- drakx-in-chroot:
+ o add --strace option, enabling to pinpoint missing modules
+- include missing module for upcasing UTF-8 characters (mga#8475)
+- media step:
+ o prevent selecting an update medium without its parent medium
+
+Version 15.14 - 17 December 2012
+
+- ugtk2: use new exceptions management
+- fix installing grub2 from live session (blino)
+
+Version 15.13 - 15 December 2012
+
+- fix checking grub2 installation (mga#8390)
+
+Version 15.12 - 14 December 2012
+
+- "enhance" fake grub2 conf reading (mga#8366)
+- time steps in logs
+- media step:
+ o fix dialogs title
+ o show which media are disabled when offering to pick supplementary ones
+
+Version 15.11 - 13 December 2012
+
+- install grub2 if needed
+- media choice step:
+ o display tooltips describing media
+
+Version 15.10 - 11 December 2012
+
+- revert rosa crap that breaks generating initrd (mga#8357)
+
+Version 15.9 - 11 December 2012
+
+- fix network set up for adding network media if not up by stage1
+ (aka DVD/CD case, mga#8282)
+- partitioning:
+ o if a partition has been manually formated, don't offer to format
+ it again (mga#7822)
+
+Version 15.8 - 11 December 2012
+
+- fix installing basesystem prior to adding a supplementary network
+ medium
+
+Version 15.7 - 10 December 2012
+
+- media choice step:
+ o blacklist unwanted media instead of whitelisting wanted ones
+ (fix dual cd where media names are not the regular ones)
+ o no media is a critical error
+- updates step:
+ o add all media instead of only update ones (mga#7959)
+
+Version 15.6 - 10 December 2012
+
+- language choise:
+ o change title of of "Multiple languages" dialog box from "Please Choose A
+ Language To Use" to "Select Additional Languages" (mga#7648)
+- set font familly & size system wide, thus fixing font size in gurpmi
+ & release notes (mga#67)
+
+Version 15.5 - 10 December 2012
+
+- recognize new drivers:
+ o input: hid-sensor-hub
+ o PHY: at803x
+
+Version 15.4 - 9 December 2012
+
+- put grub-legacy before grub2
+
+Version 15.2 - 7 December 2012
+
+- add fake gru2 conf reading
+- skip media screen in auto install
+
+Version 15.1 - 7 December 2012
+
+- add basic support for grub2 (mga#416)
+ (based on rosa work but fixed and completed)
+
+Version 15.0 - 6 December 2012
+
+- enable to skip keyboard step with keyboard option
+- enable to enable other media
+ (such as 'nonfree', 'tainted' which are disabled by default)
+
+Version 14.52 - 4 December 2012
+
+- Mageia 3 beta 1 left background
+- fix missing command links (mga#8289)
+- fix initializing urpm object (mga#8160)
+- fix offering "selecting individual packages" when pressing "previous" after
+ selecting package groups
+
+Version 14.51 - 16 November 2012
+
+- retrieve package descriptions from XML meta-data instead of from huge hdlists
+ (fix not displaying packages description in network installs) (mga#549)
+- fix a crash when pressing "previous" after selecting package groups
+
+Version 14.50.1 - 15 November 2012
+
+- include Parse::EDID for monitor-parse-edid (mga#8076)
+
+Version 14.50 - 6 November 2012
+
+- prevent a horizontal scrollbar to appear in some dialogs (mga#7374)
+
+Version 14.49 - 3 November 2012
+
+- Mageia 3 alpha 3 banner
+- prefer real binaries over the lightweight perl wrappers
+- convert filesystem for usrmove during upgrades
+- show a 'please wait' dialog while processing usrmove
+
+Version 14.48 - 22 October 2012
+
+- fix detecting if udev is already running
+- include FIRMWARE packages from Cards+ in detected graphical drivers,
+ to install radeon-firmware during install (#6438, #7641)
+- properly generate stage2 with a usrmove-esque fs layout
+
+Version 14.47 - 12 October 2012
+
+- offer resizing NTFS again (broken by ntfsprogs -> ntfs-3g switch)
+
+Version 14.46.3 - 5 October 2012
+
+- load 'microcode' asynchronously, preventing big wait when not supported
+ (mga#7671)
+
+Version 14.46.2 - 3 October 2012
+
+- adapt to latest dash-static
+- fix comment in license text
+
+Version 14.46.1 - 2 October 2012
+
+- fix build with latest pango
+
+Version 14.46 - 27 September 2012
+
+- left background for Mageia 3 alpha 2
+
+Version 14.45 - 20 September 2012
+
+- load fuse module automatically when trying to mount NTFS-3G (mga#5685)
+
+Version 14.44.1 - 16 September 2012
+
+- add spacing between license paragraphs
+
+Version 14.44 - 14 September 2012
+
+- adapt to xserver 1.13
+- advertize new doc license & licenser (mga#7347)
+- install cpupower instead of cpufreq
+- package group selection:
+ o remove "select all" button (not as usefull as "unselect all" & it
+ takes too much place when translated)
+
+Version 14.43 - 4 September 2012
+
+- compress report with xz instead of gzip
+- fix crash when clicking previous in minimal install step (mga#7345)
+- include swaplabel (mga#7334)
+
+Version 14.42 - 4 September 2012
+
+- load 'aesni_intel' crypto module for newer Intel CPUs (mga#7333)
+- recognize new drivers:
+ o input: hid-aureal synaptics_usb
+ o wifi: qmi_wwan, mwifiex_usb
+
+Version 14.41 - 3 September 2012
+
+- include back Ia Ora files for matchbox (mga#6451)
+
+Version 14.40 - 3 September 2012
+
+- prevent going further if some transactions failed (mga#7016)
+- summary: fix displayed network type (mga#4959)
+
+Version 14.39 - 3 September 2012
+
+- rely on stage1 for mounting /dev
+
+Version 14.38 - 2 September 2012
+
+- Mageia 3 alpha 1 banner
+
+Version 14.37 - 1 September 2012
+
+- Fix prefix checking in foreign partition check (mkinitrd)
+- More logging on why initrd generation is skipped
+
+Version 14.36 - 30 August 2012
+
+- adapt to urpmi-7.5
+
+Version 14.35 - 30 August 2012
+
+- adapt to usbfs death
+
+Version 14.34 - 30 August 2012
+
+- adapt to perl-5.16.1
+- services:
+ o fix checking systemd presence after systemd merge of subpackages
+
+Version 14.32 - 28 July 2012
+
+- package group selection:
+ o add a scrollbar
+ (due to Oxygen theme eating more space than Ia Ora one)
+ o add "select all" & "unselect all" buttons
+- stop fixing the raid udev rule now that it has been fixed
+
+Version 14.31 - 24 July 2012
+
+- adapt to latest GDB
+- adapt to latest systemd/udevd
+- adapt to /usr move
+- nfs install: install nfs-utils instead of nfs-utils-clients
+ (#6570, merged back in nfs-utils)
+
+Version 14.30 - 23 June 2012
+
+- show all errors at once when setting media
+- fix settings 'suggests' properly according to 'no_suggests'
+ (aka default to suggests enabled)
+ regression intoduced in 14.23
+
+Version 14.29 - 17 June 2012
+
+- adapt to perl-URPM >= 4.2
+
+Version 14.28 - 11 June 2012
+
+- fix upgrade with rpm-4.10.0
+- really fix build with brltty-4.3
+
+Version 14.27 - 7 June 2012
+
+- debug mode:
+ o do not start udev twice
+ o just start the installer if one quits the shell
+ o spawn a shell like in regular mode
+- fix build with brltty-4.3
+
+Version 14.26 - 5 June 2012
+
+- fix detecting if Xorg started successfully
+
+Version 14.25 - 4 June 2012
+
+- fix fallbacking on curses install aka abort gtk install startup if X
+ failed to start
+- switch from Ia Ora to Oxygen Gtk theme
+- use proper design from original author
+
+Version 14.24 - 31 May 2012
+
+- adapt to latest xkb
+- fix build with perl-5.16.0
+
+Version 14.23.1 - 29 May 2012
+
+- include newly needed module
+
+Version 14.23 - 28 May 2012
+
+- do not create /dev/ entries created by udev
+- kill last remanents of kernel-2.4.x support
+- package group selection:
+ o remember minimal install values when clicking "previous"
+- packages installation:
+ o add support for 'justdb' option
+ o enable to go fast with 'tune-rpm'...
+- partitioning:
+ o first attempt at supporting XenBlk discs
+ o reduce blkid timeout to 30 seconds (mga#5979)
+- refactoring
+
+Version 14.22 - 15 May 2012
+
+- final banner
+- fix detecting if adding update media succeeded
+- authentication:
+ o don't update UsePAM option in sshd configuration
+
+Version 14.21 - 11 May 2012
+
+- export res_init function to perl lib
+
+Version 14.20.1 - 10 May 2012
+
+- drakx-in-chroot: unmount /dev in chroot
+
+Version 14.20 - 6 May 2012
+
+- bind mount /dev inside chroot rather than copy nodes (mga#5730)
+
+Version 14.19 - 3 May 2012
+
+- fix displaying urpmi fatal errors (mga#5725)
+
+Version 14.18 - 2 May 2012
+
+- add missing libfuse.so.2 for mount.ntfs-3g (#5685)
+
+Version 14.17 - 30 April 2012
+
+- fix noarch handling/search on 64bit as they're in 32 and 64 bit
+ media and in some cases it may return the not-installed rpm while the other is.
+- autoinstall:
+ o fix rebooting on autoinstall by using a "wider" regexp (otherwise udevd was
+ not found by fuzzy_pidofs) and gives some time to udevd process to disappear.
+ o don't try to unmount /dev as it's still used by other processes
+ o allow to set urpm curl options in order to be able to make curl quiet
+ when running an autoinstall in text mode. This can be set throught
+ the new option "curl_options" in the auto_inst file.
+ o use quiet mode by default when downloading VERSION and auto_inst file
+- partitioning:
+ o drop support for reiser4 (mga#5680)
+
+Version 14.16 - 29 April 2012
+
+- add btrfsck
+- partitioning:
+ o forbid having /boot as btrfs (mga#5627)
+
+Version 14.15 - 27 april 2012
+
+- partitioning:
+ o fix partitions not being shown after clicking on "Reload partition table"
+ (mga#3260)
+ o run udevadm in installer too
+ (might fix unnecessary reboot (mga#4439))
+
+Version 14.14 - 26 april 2012
+
+- Mageia 2 RC banner
+
+Version 14.13 - 25 April 2012
+
+- include needed symlinks for ndiswrapper (mdv#44416)
+
+Version 14.12 - 25 April 2012
+
+- update desktops images
+
+Version 14.11 - 25 April 2012
+
+- fix offering desktop choice (DVD has task-kde4-minimal instead of task-kde4)
+ (mga#5574)
+- partitioning:
+ o do not set fs_type to ext4 for raw LVM/RAID/LUKS
+ o detect LVM on top on Encrypted partitions (mga#5330)
+- services:
+ o systemd support (mga#3253, mga#3740, mga#4910, mga#5122)
+- partitioning wizard:
+ o fix removing several notebook pages
+ o reuse code from hd_gtk, fixes display of "Use free space" solution
+
+Version 14.10 - 23 April 2012
+
+- do not offer to upgrade mdv 201[1-9] (mga#5004)
+- do not try to update KDE3 to KDE4 anymore
+- individual package selection:
+ o fix a crash
+ o honor "no suggests" option (mga#3467)
+
+Version 14.9 - 23 April 2012
+
+- include missing perl modules (mga#5528)
+
+Version 14.8 - 20 April 2012
+
+- partitioning wizard:
+ o do not crash on selecting a RAID device
+ o fix displaying empty info about RAID devices
+ o fix listing RAID devices
+
+Version 14.7 - 19 April 2012
+
+- fix a crash when package state is empty (mga#5487)
+- fix not offering to upgrade RAID installs (mga#4902)
+ (udev was enabling RAIDs early but leaved them in inactive mode
+ due to not yet loaded personality modules)
+- when selecting where ro install bootloader, display mountpoint if
+ available, and size+fs_type if we have nothing (mga#5460)
+
+Version 14.6 - 18 April 2012
+
+- individual package selection:
+ o fix "invisible" lock icon (mga#5424)
+ o show again package descriptions (mga#549)
+- package installation:
+ o fix assuming "no" to continue on bad signatures once "do not ask
+ again" has been checked in
+ o offer to not ask again about missing packages
+ o unselect already suggested packages when performing a minimal
+ install if "no suggests" option was chosen (mga#5209)
+
+Version 14.5 - 12 April 2012
+
+- fix color for menu categories
+- add missing udev programs needed for persistant storage rules.
+
+Version 14.4 - 12 April 2012
+
+- fix quiet option for bootloader
+- install btrfs-progs if needed (mga#5274)
+- make sure ranges are always within limits in text mode (mga#646)
+- allow generation of host-only initrd during install
+- include persistant storage udev rules needed to see new uuids during install
+
+Version 14.3 - 7 April 2012
+
+- Mageia 2 beta 3 banner
+- diskdrake:
+ o fix partition numbering on GPT (mga#3091)
+
+Version 14.2 - 5 April 2012
+
+- add boot splash to initrd only once
+- log install settings (mga#3467 & mga#5209)
+- do not set security level to its own value on upgrade (mga#5147)
+- do not crash if msec isn't installed
+- do not offer to select the security level in summary if msec is not installed
+- text installer:
+ o include "screen" terminfo (mga#4894)
+
+Version 14.1 - 23 March 2012
+
+- better "bootloader" message (mga#484)
+- fix displaying "Mageia" in some messages
+
+Version 14.0 - 13 March 2012
+
+- disk install: handle bogus ISOs when looking for install image (mga#4919)
+- step column: hide so called "bootlader" step since we do _not_ actually
+ install bootloader at this stage but later in summary (mga#484)
+- make "Preparing bootloader" less intimidating (mga#484)
+
+Version 13.95 - 13 March 2012
+
+- recognize more HID drivers (mga#4905)
+
+Version 13.94 - 13 March 2012
+
+- actually use new installer help
+
+Version 13.93 - 12 March 2012
+
+- recognize c67x00, imx21-hcd, fhci, isp1362-hcd, oxu210hp-hcd & renesas-usbhs
+ USB host drivers (mga#4905)
+- use lxdm for LXDE
+
+Version 13.92 - 11 March 2012
+
+- explain why acpi, acpid & mageia-gfxboot-theme packages are selected
+- install more packages earlier (shorewall & mandi), preventing useless
+ installing steps later at summary stage
+- partitioning:
+ o fix error on removing LVs
+ o fix resizing LVs (mga#4666)
+
+Version 13.91.1 - 08 March 2012
+
+- add a wrapper for running GDB in installer a simpler way
+
+Version 13.91 - 08 March 2012
+
+- Mageia 2 beta 2 banner
+- summary:
+ o list mandi with iptables* & shorewall in services
+ o list dm, mdadm, messagebus, microcode_ctl, netconsole & partmon services in system
+ o list network, network-auth, network-up & resolvconf into new 'networking' category
+- debug build:
+ o don't run directly stage2
+ o include busybox
+ o include needed python files for GDB
+ o start udev since we fork a shell prior to running stage2
+
+Version 13.90 - 06 March 2012
+
+- fix crashing if we failed to initialize Curses
+- fix double segfault when text installer fails to init
+- fix stopping udev
+- set geometry for text installer
+
+Version 13.89 - 02 March 2012
+
+- fix RAID udev rule
+
+Version 13.88 - 02 March 2012
+
+- install mdadm for fake RAID too (mga#4750)
+
+Version 13.87 - 01 March 2012
+
+- include more udev rules for RAID (mga#4750)
+
+Version 13.86 - 01 March 2012
+
+- include libdmraid-events-isw.so for dmraid (mga#4750)
+- tty stty are needed for text mode installer (mga#2038)
+
+Version 13.85 - 26 February 2012
+
+- load 'xts' module for crypted fses (Dave Hodgins, mga#3749)
+
+Version 13.84 - 24 February 2012
+
+- recognize more HID drivers (mga#4129)
+
+Version 13.83 - 19 February 2012
+
+- log more stuff regarding packages installation (mga#4565)
+
+Version 13.82 - 14 February 2012
+
+- Mageia 2 beta 1 banner
+
+Version 13.81 - 13 February 2012
+
+- diskdrake:
+ o use better cipher for encrypted fses (mga#3092)
+
+Version 13.80 - 26 January 2012
+
+- kill old gtk+ warnings that confuse people
+- include back urpmi translations
+- do not display errors when loading a driver that is already loaded (mga#1146)
+
+Version 13.78 - 24 January 2012
+
+- log packages selected b/c of HW, fs, install method, ...
+- summary:
+ o list shorewall with iptables* in services
+- diskdrake:
+ o better default name for new VG (vg-mga, vg-mga1, ...
+ instead of vg-0, vg-1, ...)
+
+Version 13.77 - 23 January 2012
+
+- diskdrake:
+ o allow using nilfs2 during install
+ o enable to set label on btrfs & nilfs fses as well as on swap
+ o preserve UUID when reformatting a nilfs fs
+- do not install shorewall & mandi if firefwall is not configured
+
+Version 13.76 - 20 January 2012
+
+- add support for XZ modules
+- faster & safer waiting for end of USB modules
+- include gtk20 translations (caps lock & the like)
+- diskdrake:
+ o enable to set LV names when not in expert mode
+ o report back error from lvm2
+ o suggest better LV names based on the mount point rather than numbers
+
+Version 13.75.1 - 19 January 2012
+
+- fix mounting /dev/pts & /dev/shm
+- include DM/MD udev rules so that install on LVM works again
+- drakx-in-chroot:
+ o add support for --gdb
+
+Version 13.75 - 29 December 2011
+
+- stop udev at end of install
+- Mageia 2 Alpha 3 banner
+
+Version 13.74.1 - 29 December 2011
+
+- rebuild with updated list_modules.pm for kernel-3.2.0-0.rc7.2.mga2
+
+Version 13.74 - 24 December 2011
+
+- use udev
+- call udevadm in installer too
+- do not hardcode systemd default through kernel command line, it
+ should be easily overridable by just picking the proper init package
+- include xfs_freeze (needed for setup grub on XFS, mga#1536)
+- interactive::curses: default to 80x25 (fixes serial)
+
+Version 13.73 - 11 December 2011
+
+- Mageia 2 Alpha 2 banner
+
+Version 13.69 - 14 November 2011
+
+- fix testing network (missing Net::Ping)
+
+Version 13.68 - 10 November 2011
+
+- Mageia 2 Alpha 1 banner
+
+Version 13.67 - 07 November 2011
+
+- Add initial systemd support
+
+Version 13.66 - 20 October 2011
+
+- fix missing "Mageia" instances
+- include png loader from gdk_pixbuf2.0_0-loaders-png15
+
+Version 13.65 - 19 September 2011
+
+- only favor packages with mga extension, we don't have packages with mdv or
+ mnb in release tag
+- always favor packages with 'mga' extension when upgrading anything else
+ than Mageia
+- install perl-Hal-Cdroms for urpmi when needed
+- default to systemd (through "init=/bin/systemd")
+- offer not to ask again about bad signatures
+
+Version 13.64 - 08 September 2011
+
+- install more packages earlier (acpi{,d}, dhcp client, firewall & bootloader
+ stuff), preventing useless installing steps later at summary stage & also
+ fixing "program not found: grub-gfxmenu" error message while installing
+- only retrieve release notes once during installation
+- util-linux-ng was renamed util-linux (fix installation error)
+
+Version 13.63 - 07 September 2011
+
+- better microcode_ctl management
+- fix cpufreq detection corrupting other types
+- install cpufreq on more cases
+
+Version 13.62 - 22 August 2011
+
+- always align partitions to start at megabyte boundaries to avoid
+ performance issues with drives with 4k physical sectors (mga#1215)
+- add support to detect if CPU microcode is upgradable in order to
+ install microcode_ctl
+
+Version 13.61.1 - 05 August 2011
+
+- do not crash if there's no mirror cache to erase
+- "Multi languages" => "Multiple languages" (mga#1011)
+
+Version 13.61 - 01 August 2011
+
+- clear the mirror cache before upgrading (#1557)
+- fix bootloader entries names
+- fix build with perl-5.14.x
+- detect (at least some (eg: Compaq USB numpad) (#1099)
+- detect machines needing cpufreq
+- spaces are not allowed between options in /etc/fstab (#2271)
+
+Version 13.58 - 27 May 2011
+
+- fix default level being 'standard' when /etc/security/msec/security.conf
+ doesn't containt BASE_LEVEL
+ (broken since msec config file format was gratuitously changed)
+
+Version 13.57 - 25 May 2011
+
+- update translations
+- update design for final release
+
+Version 13.56 - 24 May 2011
+
+- forbid selecting kernel-server if not having PAE since PAE support is
+ mandatory for kernel-server (#1414)
+
+Version 13.54 - 19 May 2011
+
+- advertize LibreOffice instead of OpenOffice.org (mga#1323)
+- fix build with brltty-4.2-1.mga1
+- fix reading security level with new msec (mga#332)
+
+Version 13.53 - 16 May 2011
+
+- left background for RC
+
+Version 13.52 - 14 May 2011
+
+- disable encryption option for /boot
+- match partitions when one of them as device_alias to the device of the other one
+
+Version 13.50 - 06 May 2011
+
+- use proper locales-XX packages for Albanian (#1036)
+
+Version 13.49 - 25 May 2011
+- add nokmsboot boot option also if the bootloader is installed after setting
+ up a conflicting display driver (e.g. draklive-install)
+- embed more of unicore, fixes \d on strings collected from Gtk2 (#39)
+- add sdhci-pci to card-reader list
+- add xhci-hcd (usb3 support)
+
+Version 13.47
+- update modules list needed for md raid456 and dm-raid 4/5/6 target
+
+Version 13.46
+
+- new design for beta1
+- update temporary piece of design
+
+Version 13.45
+
+- fix incorrect meta-task directory, it should be an svn:externals
+- switch from scim to ibus
+
+Version 13.44
+
+- clean installer design for Mageia
+
+Version 13.43
+
+- handle new drivers:
+ o ethernet: cx82310_eth
+ o 10g ethernet: bna, pch_gbe, stmmac
+ o modem: ft1000
+ o usb storage: keucr, uas
+ o wifi: ath6kl, bcm_wimax, brcm80211, carl9170, r8712u
+
+Version 13.42
+
+- alpha1 banner
+
+Version 13.41
+
+- correct licence management and remove Google one
+
+Version 13.40
+
+- new version for Mageia
+- fix building with new libX11
+- fix building with xserver-1.9
+- include missing perl modules (#60720)
+
+Version 13.39 - 5 August 2010
+
+- adapt to gtk and gdk change in 2.22
+- adapt to perl-5.12
+
+Version 13.38 - 2 July 2010
+
+- create symlink for /etc/pki to have it usable in stage2
+
+Version 13.37 - 2 July 2010
+
+- accept https URL in install::http
+- include ca-bundle.crt
+
+Version 13.36 - 30 June 2010
+
+- final banner
+
+Version 13.35 - 22 June 2010
+
+- user management: focus on first entry in dialog, root password if
+ superuser is asked, user real name otherwise (#54910)
+- auto_install: when distrib media contains selected_names list, apply
+ it only to the concerned media, and not to previously added media
+
+Version 13.33 - 4 June 2010
+
+- lookup major:minor of devices outside $::prefix
+- display lock icon for not enabled dmcrypt too
+- disable dmcrypt before deleting partition, evin if inside lvm/raid
+- don't crash when starting stage2 with an RTL locale
+- fix loading of btrfs module
+
+Version 13.32 - 2 June 2010
+
+- copy all devices to target
+
+Version 13.31 - 28 May 2010
+
+- update banner to RC2
+- don't lose mountpoint if suggested partition was swap (#59510)
+
+Version 13.30 - 26 May 2010
+
+- final banner
+
+Version 13.29 - 24 June 2010
+
+- fix detection of /var partition
+- force raid metadata to be 0.90 if /boot is on raid 1
+- fix raid 0 to be handled as raid
+
+Version 13.27 - 18 May 2010
+
+- always set resume= when a swap is available, regardless of its size (#34681)
+- update banner
+
+Version 13.26 - 17 May 2010
+
+- enable acl by default on ext2/3/4 fs
+- enable user_xattr on home for ext2 too
+- allow setting acl option in diskdrake
+- default to defaultFS in LVM, not ext2
+- don't ask to reboot after resize if not needed
+- do not ask to reboot after resizing LUKS if not mounted
+- workaround mapper/* being symlinks in dmraid support
+
+Version 13.24 - 9 May 2010
+
+- include btrfs and crc32c modules in install (#59068)
+- include /etc/netconfig (needed by mount.nfs)
+- diskdrake:
+ o fix the crypto mountpoint checks for the create case
+ o fix resize of active encrypted volumes
+
+Version 13.22 - 29 April 2010
+
+- diskdrake:
+ o correctly set mountpoint on included partition, not encrypted one
+ o refuse to have /boot encrypted
+ o enable gtk-button-images to have the lock displayed during install
+
+Version 13.21 - 27 April 2010
+
+- diskdrake:
+ o allow resizing empty FAT (#58770)
+ o offer encryption in a more visible way when creating a partition
+ o remove cryptoloop from diskdrake interface and transparently use dm-crypt
+ o support having dm-crypt partition with non default FS
+ o do not display dm-crypt partitions in separate tab, display included
+ partition directly in-place
+ o do not warn about data loss when changing type of unformatted partition
+ o display lock icon on encrypted partitions
+ o fix loading of dmcrypt info now that /dev/mapper/* are symlinks
+ o fix creating encrypted LVM
+- install plymouth if / is encrypted, to ask for password
+- beta2 banner
+
+Version 13.19 - 14 April 2010
+
+- detect "Rack Mount" Chassis as server
+- diskdrake:
+ o use device label even if it was not changed (#47456)
+ o allow creating and resizing btrfs
+
+Version 13.18 - 2 April 2010
+
+- compute dependencies on full list of packages from rpmsrate levels instead
+ of doing it individually. This avoids getting kdm in GNOME install.
+
+Version 13.17 - 31 March 2010
+
+- services management:
+ o translate more service descriptions (#46640)
+- detect "Rack Mount" Chassis as server
+- use device label even if it was not changed (#47456)
+
+Version 13.16 - 19 March 2010
+
+- bootloader:
+ o do not apply bootloader settings before giving user the option to change
+ them (#57471)
+
+Version 13.15 - 17 March 2010
+
+- summary:
+ o enhanced services status message (#58194)
+
+Version 13.14 - 3 March 2010
+
+- devices:
+ o handle creation of mmcblk devices (useful on Efika MX)
+- alpha3
+
+Version 13.13 - 28 February 2010
+
+- handle new SCSI driver: mpt2sas (#57833)
+- detect_devices:
+ o fix merging PCI devices info from sysfs which resulted in
+ ill-informed devices matching (#57711)
+
+Version 13.11 - 10 February 2010
+
+- add support for asturian (#56990)
+- partitioning wizard:
+ o display lvm/dmraid name in combo box
+ o allow reusing existing partitions in lvm
+ o fix a crash on empty disk
+ o fix using empty dmraid
+- drakboot:
+ o fix crypted password detection
+ o fix invocation of grub-md5-crypt from within installer (#57461)
+
+Version 13.10 - 4 February 2010
+
+- handle new drivers:
+ o ATA: pata_atp867x, pata_piccolo, pata_rdc
+ o DVB: dvb-usb-ec168, dvb-usb-friio, earth-pt1
+ o ISDN: avmfritz, mISDNinfineon, netjet, speedfax, w6692
+ o network: vmxnet3
+ o radio: radio-miropcm20, radio-usb-si470x
+ o RAID: 3w-sas, hpsa, pmcraid
+ o SCSI: be2iscsi, bfa, pm8001, vmw_pvscsi
+ o TV: cx25821, saa7164
+ o wifi: r8187se, r8192_pci, r8192u_usb, rt2800pci, vt6655_stage, vt6656_stage
+- bootloader configuration:
+ o add support for crypted grub passwords
+ o always display security settings
+ o allow timeout to be '0'
+ o default to always crypt grub passwords
+ o ensure /boot/grub/menu.lst permissions are 0600 since it can
+ contains a password
+- partitioning wizard:
+ o offer to install on dmraid (instead of crashing if no other disk)
+ o offer to install on existing lvm
+
+Version 13.8 - 3 February 2010
+
+- fixed logo
+
+Version 13.7 - 2 February 2010
+
+- alpha2 logo
+
+Version 13.6 - 1 February 2010
+
+- do not ask for bootloader location (still available in summary)
+- try to get better initial estimation of install time
+- fix bootloader entry name for rc kernels
+- remove mnb from bootloader entry name like we do for mdv
+- support ddf1 dmraid
+
+Version 13.4 - 7 January 2010
+
+- alpha1 logo
+- detect_devices:
+ o fix detecting pcmcia serial devices
+
+Version 13.3 - 21 December 2009
+
+- mount points: reset unknown partitions types to default
+ fs (ext4) instead of hardcoded ext3
+- diskdrake: show Ext4 instead of Ext3 in the gtk filesystems button box
+- include /usr/share/X11/xkb/rules/base.lst (do we need xorg.* ?)
+
+Version 13.2 - 14 December 2009
+
+- fix creating devices
+ (really "fix handling hdX/sdX devices (#53107)")
+
+Version 13.1 - 10 December 2009
+
+- fix crash introduced by 'do not stay chdired in /mnt/var/cache/urpmi'
+- locale setting
+ o drop support for configuring KDE3
+ o fix configuring ibus (#56130, #56311)
+ o install 'ibus-qt4' if configuring ibus under KDE4 (#56311)
+- partitioning wizard:
+ o fix setting volume label instead of MBR's one for FAT fses (#52853)
+
+Version 13.0 - 1 December 2009
+
+- do not offer to upgrade/install in restore mode
+- fix detecting hidden partitions as recovery
+- allow to convert ext2/3 to ext4 but do not enable flags
+- fix using stdin and stdout in builtin dd command
+- devices detection:
+ o fix reading USB details (#55690)
+ o fix SCSI driver module name
+- partitioning wizard:
+ o unmount swap too when unmounting all partitions
+ o do not suggest Windows mountpoint for mounted partitions
+ (breaks install if the Win partition is the installer media)
+ o suggest non-removable disks first
+- do not stay chdired in /mnt/var/cache/urpmi when download fails
+ (workaround urpmi bug)
+- bootloader:
+ o do not add removable drives as "Windows" entry in bootloader
+- fix adding additional media with type media_cfg (for auto_install)
+
+Version 12.77 - 30 October 2009
+
+- fallback on most generic kernel if the suitable one is not available
+ (only kernel-desktop586-latest is available on Dual ISO for i586)
+
+Version 12.76 - 30 October 2009
+
+- test existence of /usr/share/bootsplash/scripts/make-boot-splash
+ file instead of install status of bootsplash package to enable vga
+ in bootloader
+ (package check is not working during upgrade on x86_64)
+
+Version 12.75 - 30 October 2009
+
+- bootloader suggestion fixes (to fix removal of vga= option when
+ updating with the installer):
+ o make sure we use long name when adding second kernel with same
+ extension than preferred one
+ o do not add again kernels that are already in bootloader config file
+ o add vga= option for kernels that are not the preferred one as well
+ o remove previous linux-nonfb entries (like done for failsafe),
+ not to add them twice or more
+
+Version 12.74.1 - 29 October 2009
+
+- disable X11 support for dpms
+
+Version 12.74 - 28 October 2009
+
+- partitioning wizard (Windows resize):
+ o fix partition size computing (fixing pixel/sectors ratio)
+ o improve default resizing suggestion:
+ * try to keep at least 1GB free for Windows
+ * try to use from 6GB to 10% free space for Linux
+ o use same windows partition size suggestion for gtk and text installs
+ o really ensure keeping free space for Linux partition
+ o really ensure keeping free space for Windows partition
+
+Version 12.73 - 28 October 2009
+
+- final banner for 2010
+
+Version 12.72 - 27 October 2009
+
+- fix ftp URL parsing when using user + pass (#49898)
+
+Version 12.71 - 23 October 2009
+
+- minimal install: install packages with higher rpmsrate level only
+ (level 5, and not level 4 + 5) when suggests are disabled
+ (it was only done for truly minimal install before)
+- cpufreq: load e_powersaver for VIA C7 (#41377)
+
+Version 12.70 - 22 October 2009
+
+- curses backend: do not crash when resuming interface
+- minimal install: install packages with higher rpmsrate level only
+ (level 5, and not level 4 + 5)
+
+Version 12.69 - 21 October 2009
+
+- user management:
+ o enable to install/deinstall xguest
+
+Version 12.68 - 19 October 2009
+
+- fix raid initialisation during install (#54706)
+- fix raid detection during install (#54706)
+- allow to set preferred packages list in auto_install
+ (comma-separated list in $o->{preferred_packages})
+- partitioning wizard:
+ o use mandriva logo on blue background for mandriva partition
+ o fix option selection when using keyboard
+
+Version 12.67 - 18 October 2009
+
+- partitioning wizard:
+ o use a different color for newly created partition
+ o add legend for the colors
+ o display mount point if known
+ o display ext2 like ext3/4
+ o allow setting new windows size with keyboard (#54691)
+ o use available space
+
+Version 12.66 - 15 October 2009
+
+- mount windows partitions under /media instead of /mnt (#53392)
+- partitioning wizard:
+ o initialize correctly labels for windows resizing
+ o fix labels for windows resizing when getting back to the screen
+ o offer to resize last big enough windows partition instead
+ of the first one, until user can chose
+
+Version 12.65 - 14 October 2009
+
+- do not call obsolete Xconfig::default::config_keyboard function (#54541)
+- improve button layout while installing
+- partitioning wizard:
+ o allow using existing partition on all disks (#54478)
+ o reduce drawings height
+ o fix windows resize width
+- make sure suggests are disabled in truly minimal install
+- do not attempt to configure autologin if CAT_X is not selected
+- use UTF-8 for zh_TW (#53976)
+- enable using newly created raid devices (#54295)
+
+Version 12.64 - 12 October 2009
+
+- partitioning wizard:
+ o put back "previous" button on actions (#54475)
+ o fix typo in message
+ o fix testing interactive::gtk in standalone mode
+ o fix displaying help
+
+Version 12.63 - 9 October 2009
+
+- bootloader configuration:
+ o fix displaying arrows
+
+Version 12.62 - 9 October 2009
+
+- autologin/desktop configuration (shared code):
+ o fix guessing dm name from lookupdm
+ o abort configuration if dm install fails
+
+Version 12.61 - 8 October 2009
+
+- partitioning_wizard:
+ o do not fail when a windows partition is corrupted
+ o add separator between solutions
+ o give more space between header and solutions
+ o prevent cursor to go under needed size because of rounding
+ o chose windows resizing when clicking on the resize handle (not perfect)
+ o improve resizing captions layout
+- autologin/desktop configuration (shared code):
+ o fix /etc/X11/lookupdm usage during install (for default dm selection)
+ o use gdm for xfce4 and LXDE
+
+Version 12.60.1 - 7 October 2009
+
+- use FileHandle before XML::Parser, else XML::Parser breaks if
+ File::Sync is used...
+- include File::Sync in install
+
+Version 12.60 - 7 October 2009
+
+- RC2 banner
+
+Version 12.59 - 07 October 2009
+
+- do not set mountpoints for rescue partitions (#53504)
+- switch to ext4 by default
+
+Version 12.58 - 05 October 2009
+
+- better describe what usernames we allow (#44783)
+- rewrite partitioning wizard to look better in gtk (not perfect yet)
+
+Version 12.54 - 23 September 2009
+
+- autologin/desktop configuration (shared code):
+ o when detecting default desktop, use first session
+ (instead of using hacks with dm config files)
+ o guess display manager from /etc/sysconfig/desktop,
+ or default session, or /etc/X11/lookupdm
+ o read autologin settings from /etc/sysconfig/autologin as fallback
+ o read kdm config file only if kdm is to be used
+ o always ensure dm is installed before configuring autologin/desktop
+ o test display manager instead of desktop when configuring autologin
+ o always write /etc/sysconfig/desktop
+ o write DISPLAYMANAGER in /etc/sysconfig/desktop too
+ o only write dm conf files if they exist before
+- autologin/desktop configuration (installer specific):
+ o allow to specify display manager in $o->{dm}
+ o use shared code to read autologin settings (and thus get default dm)
+
+Version 12.53 - 22 September 2009
+
+- include usb.ids
+- don't consider lvm named md* as raid (#53767)
+- allow resizing ext4
+
+Version 12.52 - 15 September 2009
+
+- RC1 logo
+- allow to set preferred kernel extension in $o->{kernel_extension}
+
+Version 12.49 - 8 September 2009
+
+- mygtk2:
+ o created 'WeaknessCheckEntry' widget
+- adduserdrake:
+ o added tooltip text to weakness icon
+ o now use 'WeaknessCheckEntry' widget
+
+Version 12.48 - 7 September 2009
+
+- mygtk2:
+ o HScale widget: added digits and ref_value options
+ o HScale widget: fix for value option
+- adduserdrake:
+ o use icons to display password weakness
+- added security-{low,medium,strong}.png pixmaps used for
+ password weakness display
+- authentication:
+ o reduced password weakness check level
+- allow minimal install without suggests (#45665)
+- install the right kernel-XXX-devel-latest flavor instead of
+ hardcoding 'kernel-desktop-devel-latest'
+- fix existing raid detection during install (#53159)
+- enable to see release notes while installing packages (#34576)
+
+Version 12.47 - 1 September 2009
+
+- use https to grab mirrorlist from api.mandriva.com
+- fix stage2 image files for perl 5.10.1 (#53266)
+
+Version 12.46 - 28 August 2009
+
+- handle new drivers:
+ o DVB: dvb-usb-ce6230
+ o sound: snd-indigodjx, snd-indigoiox, snd-lx6464es
+ o wireless: ar9170usb, mwl8k, r8192s_usb, rt2800usb, rt3070sta
+- adduserdrake
+ o added weakness check for root password
+- drakboot
+ o fix crash bug #52997
+- detect_devices:
+ o fix VirtIO devices support
+
+Version 12.45 - 18 August 2009
+
+- added the ability to add up/down buttons in add_modify_remove list
+ of interactive
+- drakboot :
+ o user is now able to re-order bootloader entries
+- 2010.1 logo
+- adduserdrake
+ o now use password weakness display
+- added password weakness display feature in interactive
+- handle new drivers:
+ o sound: snd_ctxfi
+- set virtio/xen block modules in a section actually offered
+
+Version 12.44 - 13 August 2009
+
+- fix parsing dmidecode output (broken since we use dmidecode-2.10,
+ aka since November 24 2008)
+- prevent urpmi messages from garbaging text installer (#50776)
+- locales
+ o add "English (South Africa)" (#51057)
+ o fix sorting South Africa languages (#51055)
+ o fix displayed names of some South Africa languages (#51055)
+
+Version 12.43 - 10 August 2009
+
+- do not write /etc/fstab in local_install mode
+- fix two crashes on handling devices
+
+Version 12.42 - 7 Aug 2009
+
+- use gtk instead of X to focus window and revert workaround
+
+Version 12.41 - 7 Aug 2009
+
+- do not crash when trying to create a partition on a device with
+ no cylinder_size
+- workaround gtk crashes by running in sync mode
+
+Version 12.39 - 12 Jun 2009
+
+- use Hal list of recovery partitions (#51532)
+- use blkid instead of vol_id which we no longer ship
+- properly handle hidden variables
+
+Version 12.36 - 29 May 2009
+
+- ide-disk module is now named ide-gd_mod
+- add new 'touchpad' TYPE to rpmsrate
+- add support for ElanTech touchpads (found on EEEPCs)
+- don't ignore FB-DIMM memory
+
+Version 12.35 - 24 April 2009
+
+- remove unused parameter in installPackages
+ (fix passing interactive setting)
+
+Version 12.34 - 24 April 2009
+
+- do not set urpmi in automatic mode for gtk installs
+ (was set correctly for plain interactive installs only)
+
+Version 12.33 - 23 April 2009
+
+- fix not offering to upgrade 32 bit installations
+ (regression introduced in 12.22 on 2009-03-31)
+- handle virtio block devices
+
+Version 12.32 - 23 April 2009
+
+- fix cdrom path in urpmi.cfg for dual arch ISOs
+- advanced partitioning step:
+ o fix displaying help at install time
+
+Version 12.31 - 22 April 2009
+
+- fix final banner
+- handle partition starting after 1To
+- package installation:
+ o use --force like older installer
+- set mouse driver as 'vmmouse' for vmware (#49654)
+- update XFCE preview
+
+Version 12.30 - 21 April 2009
+
+- final banner
+- add a basic testsuite (ensuring it compiles) in order to prevent
+ future crashes like #50009
+- do not offer to stop the install when kde3 is installed since kde3
+ to kde4 upgrade is now done
+- fix checking for kde3 (which is now in /opt)
+- diskdrake:
+ o display a progress bar while formatting an ext4 partition
+ o do not run udevadm in install mode
+ o render ext4 partition as red like ext3 ones
+
+Version 12.29 - 21 April 2009
+
+- do not log perl warnings about missing/not-yet-installed locales
+ while installing and while probing EDID
+- updated translations
+
+Version 12.28.1 - 16 April 2009
+
+- diskdrake:
+ o fix crash
+- windows boot partition is the active one (#49483)
+
+Version 12.28 - 15 April 2009
+
+- include mount.ntfs-3g in install
+- display an error when mount fails during View action
+- do not crash when encountering bad signatures in automatic install
+
+Version 12.27 - 14 April 2009
+
+- handle firmware loading in stage2 too
+
+Version 12.26.2 - 08 April 2009
+
+- media management:
+ o be more compatible with older http code for error management
+ o fix crashing when using urpmi early to download stuff for network installs
+
+Version 12.26.1 - 08 April 2009
+
+- media management:
+ o handle supplementary NFS & CDROM media with arched directory (aka 'i586/')
+
+Version 12.26 - 08 April 2009
+
+- include vmmouse driver (#49654)
+- media management:
+ o just use curl instead of using our own http stack to retrieve
+ files from network (thus fixing #48887)
+ o fix mount point for NFS & disk media for both main & suppl media
+ o tell urpmi to read synthesis before adding supplementary network
+ media in order to be able to install the 'basesystem' package
+- log where we segfaulted
+
+Version 12.25.1 - 07 April 2009
+
+- fix mount point for CD-ROM media (#49613)
+
+Version 12.25 - 06 April 2009
+
+- media management:
+ o fix path of NFS media after installation
+ o use urpmi in order to add supplementary media
+- put distro version after release because release contains "Mandriva Linux"
+
+Version 12.24.1 - 05 April 2009
+
+- ensure login is lowercase when transliterating from real name
+ (#49573)
+
+Version 12.24 - 03 April 2009
+
+- handle new drivers:
+ o gigabit: be2net, slicoss
+ o wireless: agnx, arusb_lnx
+ o dvb: dvb-usb-dtv5100
+- include draksnapshot translations (for restore option)
+- theming:
+ o include all Ia Ora themes
+ o drop metacity images
+
+Version 12.23 - 02 April 2009
+
+- RC2 banner
+- fix crypto module names when arch is not i586 (#46814)
+
+Version 12.22 - 31 March 2009
+
+- don't list installed distros with other archs as upgrading between
+ archs is not supported
+- display the version of the distro in the install/upgrade screen (#44602)
+- log (g|)urpmi.addmedia and (g|)urpmi output into
+ /root/drakx/updates.log (#47107)
+- make button name match text when inserting a CD ("cancel" rather
+ than "previous")
+- rotate /root/drakx/install1.log too
+- tell urpmi to stop transactions when clicking on "cancel" (needs
+ urpmi >= 6.25)
+
+Version 12.21 - 30 March 2009
+
+- fix writing urpmi.cfg as cdrom:// for NFS (#49316)
+- in order to guess the login name, just transliterate the real name into
+ ascii rather than truncate it on first non ascii character (#47322)
+
+Version 12.20 - 30 March 2009
+
+- media management:
+ o always trust stage1 (fix ISO on NFS installation as well as NFS
+ installation from cooker/ instead of eg cooker/i586 (#48874)
+ o fix not ejecting DVD at end of installation (#48779)
+- diskdrake:
+ o always display label in partition info
+ o display label of partitions in the graphical view when no mountpoint
+ is set
+ o update list of filesystems not handling bad blocks checking
+
+Version 12.19 - 26 March 2009
+
+- adjust partition size suggestion
+ o increase / size to 12GB (instead of 8)
+ o create separate /home starting at 13GB drives (instead of 7)
+- fix support for disk installation
+- include & use urpmi translations
+- when setting update media, make gurpmi.addmedia auto close instead
+ of waiting for user pressing "close" button on "media added with
+ success" dialogs
+
+Version 12.18 - 24 March 2009
+
+- log packages' scripts output (perl-URPM/urpmi aren't fixed regarding
+ script fd leak but older installer was leaking one fd per
+ transaction too)
+
+Version 12.17.3 - 23 March 2009
+
+- fix empty tree at "Individual package selection" step (#48672)
+
+Version 12.17.2 - 23 March 2009
+
+- fix buid due to to broken Estonian translation
+- unbreak installer due to new X.org server using alternatives
+- diskdrake:
+ o allow LVM in non expert mode
+ o allow Encrypted partition inside LVM
+
+Version 12.16 - 18 March 2009
+
+- fix doble clicking on 'accept' on license screen
+
+Version 12.15 - 17 March 2009
+
+- fix support for iso-on-disk installation (#48661)
+ (regression introduced when installer switched to urpmi)
+- drakx-in-chroot:
+ o enable to emulate iso-on-disk installation
+
+Version 12.14 - 11 March 2009
+
+- fix displaying help (same webkit regression that affected mcc (#47840))
+- include virtio modules (#45518)
+
+Version 12.13 - 10 March 2009
+
+- fix selecting packages on cdroms
+- don't crash when creating a partition in LVM with the partition type
+ buttons (#38078)
+
+Version 12.12 - 9 March 2009
+
+- use new urpmi API in order to fix detecting whether installing
+ packages succedded or not
+
+Version 12.11 - 9 March 2009
+
+- fix accessing CD-ROM based media on x86_64
+
+Version 12.10 - 9 March 2009
+
+- fix CD-ROM based media path for post-installation usage (for 32bit)
+
+Version 12.9 - 9 March 2009
+
+- adjust media path for 32 bit DVD/CD installations
+- package installation:
+ o ask for retry
+ o log bogus signatures
+ o log failed transactions summary
+
+Version 12.8 - 6 March 2009
+
+- RC1 banner
+
+Version 12.7 - 6 March 2009
+
+- fix setting urpmi media for CDROM installation whose tree differ
+ from other types of installation
+
+Version 12.6 - 6 March 2009
+
+- make sure to popup errors
+
+Version 12.5 - 5 March 2009
+
+- handle new drivers
+ o dvb: dm1105, dvb-usb-af9015, dvb-usb-cinergyT2, firedtv
+ o ethernet: smsc9420
+ o gigabit: atl1c
+ o pata: cs5536, it8172, it821x
+ o ISDN: hfcpci, hfcmulti, hfcsusb, solos-pci
+ o USB controllers: hwa-hc, whci-hcd
+ o wireless: ath9k, i2400m-usb
+
+Version 12.4 - 5 March 2009
+
+- check package signatures like urpmi does (new feature)
+- log extra debugging messages if passing the 'debug_urpmi' option
+
+Version 12.3 - 4 March 2009
+
+- honor 'selected_names' for auto_install
+- make sure we don't try to reslect already selected packages
+
+Version 12.2 - 4 March 2009
+
+- only warn if a transaction failed (no more a fata error for auto
+ installs)
+- prevent urpmi from leaking a log file descriptor per transaction
+- really set urpmi in automatic mode for non-interactive installs
+ (and not vice-versa)
+- use package summary translations once 'mdv-rpm-summary' is installed
+
+Version 12.1 - 3 March 2009
+
+- set urpmi in automatic mode for non-interactive installs
+- media management & package installation:
+ o do not try to install again already installed packages
+ o fix progress bar
+
+Version 12.0 - 3 March 2009
+
+- media management & package installation:
+ o drop support for parsing the "media_info/hdlists" file
+ o do not download and use hdlists anymore ; only use smaller synthesis files
+ o make install uses urpmi code to set up media & install packages
+ * FTP/HTTP/cdroms tested OK
+ * temporary issues:
+ + /etc/urpmi.cfg may look strange (eg: after CD-ROM installation)
+ + isos-on-disk installations are broken
+ + media deselection is not offered
+ + package browsing doesn't work
+ + progress bar has issues
+ + signature checking are not performed
+
+Version 11.89 - 17 February 2009
+
+- enable having /boot as ext4
+- don't set extents option for ext4
+
+Version 11.88.1 - 16 February 2009
+
+- correctly handle new msec-based settings during installation (#47822)
+- fix crash
+
+Version 11.88 - 16 February 2009
+
+- don't crash on invalid partition table
+- fix paths for installer (#47871)
+- limit partition type list to 2 colmuns instead of 4
+- don't offer to format LVM
+
+Version 11.86 - 12 February 2009
+
+- upload a fully updated version
+
+Version 11.85 - 12 February 2009
+
+- fix a crash when boot device is not removable
+
+Version 11.84 - 12 February 2009
+
+- handle newer module-init-tools which can put relative path in modules.dep
+- when installing to a removable device, put boot sector there, else
+ put it into first non removable drive (#47106)
+- fix preserving UUID when formatting ext* and swap, and handle more FS (#39913)
+- load cbc module for encrypted loop
+
+Version 11.83 - 6 February 2009
+
+- update banner for Beta 1
+- set scim-thai as default IM for Thai
+
+Version 11.82 - 5 February 2009
+
+- include /usr/share/mime/mime.cache in stage2
+ (gdk-pixbuf does not guess anymore image format from file extension,
+ which makes it check MIME cache now)
+
+Version 11.81 - 3 February 2009
+
+- allow browsing partitions content to easily select the ones to destroy
+- do not warn about "servers which open ports on outside by default"
+ (the list of servers is not maintained, and the policy for those servers has changed)
+- use a file selector in text mode too
+- include mke2fs.conf from e2fsprogs-1.41.3-3mdb
+- media management:
+ o better layout for DVD/CD copy & media selection
+
+Version 11.80.1 - 21 January 2008
+
+- include perl-Pango
+
+Version 11.80 - 21 January 2008
+
+- use "ComboBoxEntry" gtk2 widget instead of "Combo" (which is deprecated),
+ this also workarounds gtk2 bug with "hidden" Entry + "Combo"
+
+Version 11.79 - 16 January 2008
+
+- disable resizing ext4 since resize2fs is known to be broken regarding extents
+
+Version 11.78 - 15 January 2008
+
+- alpha2 logo
+
+Version 11.77 - 15 January 2008
+
+- do not install kernel-server on x86_64 when there's more than 4Gb of
+ RAM (#44709) ; use better heuristics
+- propose ext4 filesystem during install now that it is stable
+- include tools to edit partition labels
+
+Version 11.76 - 18 December 2008
+
+- partitioning:
+ o use sysfs in order to discover major/minor for SCSI like devices
+ since they're dynamic with kernel-2.6.28+
+- adapt to cooker: librpm4.6 uses libnss3 which needs its modules
+
+Version 11.75 - 17 December 2008
+
+- force to use static input devices again
+ (since the default in xorg has changed)
+- handle new driver:
+ o network: sxg, w35und
+- partitioning:
+ o kernel-2.6.28+ supports more than 15 partitions on SATA & SCSI devices
+
+Version 11.74 - 16 December 2008
+
+- fix build with latest X.org
+
+Version 11.72 - 9 December 2008
+
+- do allow to upgrade Mandrakelinux (regression introduced in 10.14)
+- handle new driver:
+ o network: et131x, smsc95xx
+- fix detecting SMP (was broken we relied on install kernel being non-smp) (#44825)
+- fix reading compssUsers.pl if rpmsrate is forced (for example with drakx-in-chroot)
+
+Version 11.69 - 11 October 2008
+
+- really fix setting lilo when needed (#39878)
+- handle new driver:
+ o ide: tx4939ide
+- drakx-in-chroot:
+ o do not start an X server if using --text
+- text mode installer:
+ o display a separator before step name
+ o properly handle big text in list such as security level
+ descriptions (#43561)
+- continue installing if an advertising image is corrupted (#37674)
+- warn that "preparing bootloader" can take some time (eg: under vbox) (#43036)
+
+Version 11.68 - 3 October 2008
+
+- final logo
+
+Version 11.67 - 2 October 2008
+
+- when upgrading a kde3 box, force installation of task-kde4
+- adjust some help IDs
+- log activation of light desktop mode
+- gtk and interactive install:
+ o find default desktop choice according to compssUsers.pl
+ (useful for netbook/nettop systems)
+ o preselect proper default desktop choice
+
+Version 11.66.1 - 2 October 2008
+
+- fix typo in rpmsrate level setting
+
+Version 11.66 - 2 October 2008
+
+- detect_devices: allow detection of low resources systems (extracted
+ from compssUsers.pl) and netbooks/nettops
+- use a minimum rpmsrate level of 5 when netbook/nettop/low_resources
+ systems are detected
+- set LIGHT rpmsrate flag for netbook/nettop/low_resources systems
+
+Version 11.65 - 2 October 2008
+
+- add help button to desktop selection & minimal installation steps
+- keep soft links in HTML help directory
+- handle anchors in HTML help IDs
+
+Version 11.64 - 1 October 2008
+
+- when upgrading a kde3 box and task-kde3 is not on the CDs, propose to reboot
+ and upgrade through Mandriva update applet
+- add help button for media selection step
+- ensure proper centering of popped windows
+- fix/adjust some help pages (#42986)
+- fix dithering regression (introduced on 2008-09-29)
+- install apmd if /proc/apm exists
+ (rpmsrate does not list apmd anymore, and apm is a kernel builtin)
+- use HTML help for RPM group selection
+- when mounting cdrom fails, retry a few times since mount will now fail
+ instead of waiting for the drive to recognise the CD (cf #43230)
+
+Version 11.58 - 29 September 2008
+
+- ask_deselect_media__copy_on_disk:
+ o do not select all media by default (eg: debug media)
+ (nb: this dialog occurs when user chooses "Go back to media and packages
+ selection" on pkg install error)
+ o replace scrolled window around everything
+ with a scrolled window around the list of checkboxes
+- adapt to fonts-ttf-gurmukhi => fonts-ttf-lohit switch
+- add spacing between radio buttons for readability (#44332)
+- better positionning of sidepanel's selection bar
+- render background of sidepanel with dithering (looks better on 16bit
+ displays)
+
+Version 11.56 - 26 September 2008
+
+- dmraid devices: use isw_xxxxp1 instead of isw_xxxx1 (see #42542, #44182)
+- disable contextual menu on release notes
+
+Version 11.55 - 26 September 2008
+
+- never add usb-storage to scsi_hostadapter
+ (never needed, and when wrongly added, it slows the boot)
+- ensure DPMS screensaver is not triggered during install
+ (it interacts badly with matchbox/compositing) (#44021)
+- generate /root/drakx/package_list.pl at end of install
+ (since we don't propose "Save packages selection" at end of install)
+- generate /var/lib/rpm/installed-through-deps.list
+ (to initialize urpmi orphans)
+- drakx-in-chroot: do not require running kernel to be installed,
+ generate empty modules.dep and modules.alias files instead
+ (useful when running drakx-in-chroot from a chroot)
+
+Version 11.53.2 - 25 September 2008
+
+- actually use better rendering for background gradient
+
+Version 11.53 - 25 September 2008
+
+- better rendering for background gradient
+
+Version 11.52.2 - 24 September 2008
+
+- clean_rpmdb_shared_regions before and after calling gurpmi.addmedia/gurpmi2
+ in chroot
+
+Version 11.52 - 23 September 2008
+
+- auto-configure floppies (in /etc/modprobe.preload.d/floppy)
+- allow setting compssListLevel from command line
+- install cpufreq (defaulting to ondemand governor) instead of
+ powernowd (#43769)
+
+Version 11.50.3 - 22 September 2008
+
+- fix/workaround crash when setting banner background
+ (Can't call method "get_width" on an undefined value)
+
+Version 11.50.2 - 22 September 2008
+
+- RC2 logo
+
+Version 11.50.1 - 22 September 2008
+
+- fix 1024x768 background
+
+Version 11.50 - 22 September 2008
+
+- handle new driver:
+ o ethernet: enic, qlge
+- i18n:
+ o add support for ibus
+- new sidepanel style
+- restore support for right alignement for simple widgets
+ (regression introduced in 11.46 - 17 September 2008)
+
+Version 11.48 - 18 September 2008
+
+- add a special license for google programs (only for "Powerpack" product)
+- install "cryptsetup" when needed
+
+Version 11.47.1 - 17 September 2008
+
+- bug fix: add mandatory new modules for dm-crypt
+
+Version 11.47 - 17 September 2008
+
+- handle new driver:
+ o ethernet: jme
+- partitioning step
+ o handle partitions encrypted with cryptsetup
+ o fix file system type drop down list showing most types as "..." in
+ "Change partition type" dialog in expert mode due to ellipsizing
+- list btusb instead of hci_usb in bus/bluetooth (renamed in 2.6.27)
+
+Version 11.46 - 17 September 2008
+
+- libdrakX:
+ o better layout for right aligned widgets
+- license: put focus back on Refuse button by default
+
+Version 11.45 - 16 September 2008
+
+- allow to prefer kernel-server on x86_64 too
+- enable relative links in HTML help
+- enhanced 'desktop' & 'package selection' steps
+- switch from perl-Gtk2-Html2 to perl-Gtk2-WebKit in order to display release
+ notes & help
+- use HTML help for package selection, services & summary step
+
+Version 11.43 - 16 September 2008
+
+- enhanced 'desktop' & 'package selection' steps
+- fix berber language image's transparency
+- fix displaying current security level in GUI
+ (regression introduced on 2008-08-29)
+- increase default window height b/c of package selection step
+- refresh partitioning step
+- size most labels (workaround infamous 6 years old gnome bug #101968)
+ (eg: in advanced language selection)
+- update icons for packages/services selection
+
+Version 11.42 - 12 September 2008
+
+- increase default window height
+- stop claim selecting LSB group will install 2.4.x kernel (#39220)
+- desktop step
+ o move progress bar on its own line
+ o add a separator between buttons & progress bar
+ o pack together time label & value
+
+Version 11.41 - 11 September 2008
+
+- bump titles' size by 1 (eg: from 12 to 13 for default font settings)
+- do not render "Advanced" & "Help" buttons as blue
+- fix default spacing between GUI elements
+- fix parsing error messages ar markups
+- "Help" dialogs:
+ o add a separator before "Close" button
+ o fix displaying "Help" Button for HTML help (#42986)
+ o put "Close" button of help at right end
+- small improvements in many steps (desktop, ...)
+- services (thanks to spuk):
+ o list ip6tables in "Internet" category
+ o list nfs-common and nfs-server in "File sharing" category
+ o list rpcbind in "System" category
+
+Version 11.40 - 10 September 2008
+
+- libdrakX:
+ o fix position of cancel button in popups
+ o make advanced popup display the same title as their parents
+ o make all popup titles be upcase
+- drakboot
+ o fix nolapic/lapic logic due to altered kernel settings
+- fix input devices detection in rpmsrate (broken for 3 years, #43721)
+
+Version 11.39 - 9 September 2008
+
+- do not use UUID for software raid, only for hdx and sdx
+- keep current UUID when formatting ext2/ext3 (was already done for swap),
+ so that fstab on other distros continue to work (#39913)
+ (requires e2fsprogs-1.41.1-2mnb2)
+- drop the ability to set mem=xxx in bootloader configuration
+
+Version 11.38 - 8 September 2008
+
+- do not size radio button that have a label thus preventing uneeded horizontal
+ scrollbars to appear
+- partitioning step
+ o fix file system type drop down list showing most types as "..." in expert
+ mode due to ellipsizing (#43611)
+ o fix too large partition bar (#43073)
+ o improved GUI
+
+Version 11.34 - 2 September 2008
+
+- fix buggy blocking wait_message occuring in diskdrake
+ (using a more powerful strategy to ensure such blocking wait_message won't
+ bother us anymore) (#43527)
+- fix sizing some label (workarounding infamous 6 years old gnome bug #101968)
+- increase help popup size when browsing services or packages
+
+Version 11.33.1 - 2 September 2008
+
+- make "ask_warn" dialogs be centered
+
+Version 11.33 - 2 September 2008
+
+- further improve layout of media selection step
+- "media selection" step: fix position of button (#29367)
+- refresh "Summary" step
+
+Version 11.32 - 2 September 2008
+
+- fix buggy blocking wait_message occuring in summary (#42062)
+- fix layout of media selection step (#29367)
+
+Version 11.31.2 - 2 September 2008
+
+- adjust sizing in order to prevent horizontal scrollbar to appear
+- do not size right aligned radio buttons
+
+Version 11.31 - 2 September 2008
+
+- fix "INTERNAL ERROR: ask_from_normalize" at end of installation
+
+Version 11.30 - 1 September 2008
+
+- keep in $o->{previous_release} the info about upgraded /etc/release,
+ and pass "reason" and version to urpmi.addmedia
+- 2009.0 RC 1 logo
+- hack /tmp/.X11-unix to allow accessing X in chroot
+- if network access, configure urpmi with --mirrorlist --distrib,
+ and install updates. This replaces the previous "Install Updates" step.
+- fix alignment of check buttons
+- fix size of right aligned labels
+- fix sizing radio buttons' labels (infamous 6 years old gnome bug #101968)
+- further improvements to the "bootloader", "desktop" & "partitioning" steps
+- prevent big combo boxes to cause an horizontall scrollbar to appear by
+ using the "ellipsize" property
+- remove "Generate auto install floppy" & "Save packages selection"
+ options at end of installation
+- update package managment icons
+- use pcmcia-socket-startup from /lib/udev for latest pcmciautils
+
+Version 11.29 - 29 August 2008
+
+- do not try starting graphical installer on early i810 (which is is
+ not supported), thus prevent waiting several minutes needlessly
+- refresh "Individual package selection" step
+- refresh "Security" step
+
+Version 11.28 - 28 August 2008
+
+- fix buggy blocking wait_message occuring in summary (#42062)
+- diskdrake: use udevadm settle instead of udevsettle
+- refresh "Package Group Selection" step
+
+Version 11.27 - 28 August 2008
+
+- configure vga=785 (640x480) when vga=788 (800x600) fails during install
+ (useful on 800x480 netbooks)
+- text mode:
+ o fix displaying release notes (#43263)
+
+Version 11.26.1 - 28 August 2008
+
+- fix asterisk in titles
+
+Version 11.26 - 27 August 2008
+
+- better layout in 640x480 (#43231)
+- fix "probe floppies only once" (#43216)
+- misc GUI improvements
+ o misc changes
+ o properly size some labels (infamous 6 years old gnome bug #101968)
+ o refresh "user management" step
+ o render some titles as blue
+ o set some wait messages' titles
+
+Version 11.25 - 25 August 2008
+
+- left sidepanel:
+ o align category titles like step ones
+
+Version 11.24 - 25 August 2008
+
+- handle blowfish password encryption and use it by default (#42426)
+- allow to install bootloader on md0 (#42999)
+ (regression introduced on 2004-08-05)
+- minor GUI tweaks
+
+Version 11.23 - 22 August 2008
+
+- pop wait_messages and ensure same window is used for next wait_messages
+ (to ensure the background is not greyed,ungreyed,greyed,...)
+- improved license step
+- install lilo when needed (#39878)
+- render some message titles as blue
+
+Version 11.21 - 21 August 2008
+
+- ensure we don't default on the first keyboard layout when upgrading french
+ box in english lang (#41103)
+- do not set $HOME while installing packages (#18088)
+- install proper qtX package for gcin
+- partitioning step
+ o ensure we initialize only once but at least one, thus fixing crash
+ when embedded or in installer (#43011)
+
+Version 11.20 - 20 August 2008
+
+- do not uselessly install kernel-server on x86_64 if more than 3.8Gb
+ are availlable
+- diskdrake
+ o fix sizing partitions bar (#24410)
+
+Version 11.19 - 20 August 2008
+
+- usbkbd is dead, using usbhid instead
+- allow passing suppl=0 to disable "additional installation media" question
+- drakx-in-chroot:
+ o fix using remote repositories
+- set title for advanced dialogs
+- small GUI improvements
+
+Version 11.18 - 19 August 2008
+
+- center sub dialogs
+- prevent flickering of big windows by:
+ o ignoring bogus size-allocate events
+ o properly computing window position
+- stop reducing help & release notes dialogs' size
+
+Version 11.17 - 19 August 2008
+
+- drakx-in-chroot:
+ o enable to choose resolution of Xvfb
+ o enable to use a package repository different from installer one
+- use new style popup button for 'help' & 'release notes' buttons
+
+Version 11.15 - 19 August 2008
+
+- fix crash with advanced widgets
+- fix crashing on some buttons
+- fix bogus popup of 'desktop choice' dialog
+- authentication: enable network-auth meta-service if auth is not local
+
+Version 11.13 - 18 August 2008
+
+- move hardware packages detection code from installer to drakxtools
+
+Version 11.12 - 18 August 2008
+
+- align titles to the left
+- display a separator below titles
+- justify big texts
+- popup advanced settings in dialogs
+- refresh:
+ o language step
+ o license step
+
+Version 11.11 - 18 August 2008
+
+- 2009.0 beta 2 logo
+- l10n:
+ o fix selecting locales-XX for locales that specify scripting (#42663)
+ o update list of locales
+ o update list of KDE languages for KDE4
+
+Version 11.9.1 - 13 August 2008
+
+- fix left panel in 1024x768
+
+Version 11.9 - 13 August 2008
+
+- new title style
+- partition wizard:
+ o refreshed GUI
+
+Version 11.8.1 - 13 August 2008
+
+- really add deskop images
+
+Version 11.8 - 12 August 2008
+
+- default to UTF-8 for chinese simplified (#42137)
+- new desktop choice screen
+
+Version 11.7 - 11 August 2008
+
+- handle new drivers:
+ o ethernet: r6040
+ o gigabit: atl1e, bnx2x, sfc
+ o PATA: pata_ninja32, pata_ns87415
+ o SCSI: mvsas
+ o USB host controller: isp1760
+ o WAN: lapbether
+ o wireless: rndis_wlan, rtl8180
+- add product type to URL when fetching mirror list
+
+Version 11.3 - 4 August 2008
+
+- fix spacing around buttons
+
+Version 11.2 - 31 July 2008
+
+- include extmod Xorg module (for SHAPE extension)
+
+Version 11.1 - 31 July 2008
+
+- do not require matchbox gconf schema (not provided by drakx-installer-matchbox)
+
+Version 11.0 - 30 July 2008
+
+- first steps toward new installer style
+
+Version 10.48 - 28 July 2008
+
+- 2009.0 beta 1 logo
+- drakx-in-chroot: prefer Xephyr over Xnest since Xnest lacks many
+ extensions needed by matchbox-window-manager
+
+Version 10.47 - 10 July 2008
+
+- load disk/scsi before disk/ide since libata is now the default
+ (to prevent modules::load_category from loading ide-generic too early)
+- fix reading and setting kdmrc (by resolving alternative in chroot)
+
+Version 10.46 - 10 July 2008
+
+- authentication:
+ o add back fix to force the password to be utf8 (#23273)
+ o fix reading md5/shadow options in /etc/pam.d/system-auth
+
+Version 10.45 - 9 July 2008
+
+- update autologin file path for kdm4
+- default to KDE4 (instead of KDE) if kdm config exists when reading
+ autologin configuration
+- change default authentication to local (instead of ldap)
+
+Version 10.44 - 8 July 2008
+
+- 2009.0 alpha 2 logo
+
+Version 10.43 - 4 July 2008
+
+- detect KDE4 when configuring autologin
+
+Version 10.42 - 26 June 2008
+
+- fix reading rpm macros from /etc/macros.d/ (esp. %_filetriggers_dir)
+
+Version 10.41 - 26 June 2008
+
+- 2009.0 alpha 1 logo
+
+Version 10.40 - 25 June 2008
+
+- add support for dm-raid4-5 (tmb)
+- add back desktop choice window (by checking task-kde4 instead of task-kde)
+
+Version 10.38 - 20 June 2008
+
+- force back 75dpi to get back previous font sizes
+- adapt to cooker file changes
+- do not let authentication module (used for ask_user_and_root) mess window size
+
+Version 10.36 - 12 June 2008
+
+- fix authentication configuration
+
+Version 10.35 - 12 June 2008
+
+- adapt to xserver/SecurityPolicy being in /usr
+
+Version 10.34 - 12 June 2008
+
+- partitioning wizard:
+ o do not propose to resize "hidden" fat partitions
+ o do not say "the Windows partition" when there can be more than one
+- use UUID for resume= kernel parameter
+- handle new drivers:
+ o pata: pata_sch
+- handle renamed drivers:
+ o ide-cd is now named ide-cd_mod
+ o generic is now named ide-pci-generic
+- kernel-laptop is no more
+- authentication:
+ o add Kerberos Support
+ o add disconnected mode for Ldap, Kerberos, Windows auth
+ o add more options in Ldap configuration: Fetch DN, TLS
+ o remove Active Directory SFU
+ o change Winbind authentification to enable domain model choice (NT4 or AD)
+
+Version 10.30 - 23 April 2008
+
+- /sbin/usb_id is needed by mouse.pm to generate /dev/input/by-id/xxx (#39868)
+ (and not /LIB/udev/usb_id since drakx-kbd-mouse-x11 0.42)
+- list generic module in disk/ide
+
+Version 10.29 - 3 April 2008
+
+- time: write UTC setting in /etc/adjtime (#36522)
+
+Version 10.28 - 3 April 2008
+
+- fix computed install size in group selection (#39303)
+ (it didn't take suggests into account)
+
+Version 10.27 - 3 April 2008
+
+- 2008.1 logo (the good one)
+- enable to restore the system through rsnapshot if giving "restore"
+ on cmdline
+- fix broken help because of s/pt_BR/pt_br/ change in file names (#36774)
+
+Version 10.26 - 2 April 2008
+
+- 2008.1 logo
+- fix crash when detecting network connection with supplementary media
+
+Version 10.23 - 31 March 2008
+
+- ensure umount on loopback-mounted-file doesn't leak /dev/loop
+ (otherwise it breaks install from isos on disk) (#36992)
+- warn the user and propose to install/quit-install before upgrading from a
+ partition where "/" is ext3 with block-size 1KB to avoid kernel bug (#37583)
+- detect as laptop systems with ACPI lid button
+ (i.e. if /sys/bus/acpi/devices/PNP0C0D:* exists)
+- fix computing time according to timezone in local/UTC dialog
+ (by using zoneinfo files from the installed prefix)
+
+Version 10.21 - 25 March 2008
+
+- partitioning wizard: allow "Use free space" if there is an extended
+ partition even if all primary partitions are used (#38804)
+ (*old* bug!)
+- fix errors while setting PA preferences (#39270)
+- use umask=0 by default on vfat (#39315)
+- root/user password:
+ o force the password to be utf8 (#23273)
+
+Version 10.19 - 21 March 2008
+
+- diskdrake:
+ o fix setting mount point of a /dev/mdX (#39142)
+ (regression introduced in 10.8)
+- when skipping bootloader installation, correctly say "None" in summary
+ (#39101)
+- correctly set country when given lang=xxx on /proc/cmdline
+ (regression introduced in 10.16) (#39104)
+
+Version 10.18 - 21 March 2008
+
+- when reformatting swap, keep existing UUID (#38877)
+- ask which drive to install bootloader if we don't really know which is first
+ bios drive (cf #38829)
+- fix reading alternatives in install
+- add Xorg.0.log to report.bug.gz (to help diagnose why X failed)
+
+Version 10.17 - 20 March 2008
+
+- do not unconfigure timezone if timezone screen is canceled (#33565)
+- update OpenOffice/BrOffice alternative according to selected lang (#37820)
+
+Version 10.16 - 18 March 2008
+
+- adduserdrake:
+ o display kdm/gdm icon again (was disabled on year ago)
+- do not write aliases for asus_acpi and thinkpad_acpi in
+ modprobe.preload, the modules are now handled by coldplug
+- fix setting default lang (which is given by gfxboot)
+
+Version 10.15 - 14 March 2008
+
+- 2008.1 RC2 logo
+
+Version 10.14 - 14 March 2008
+
+- adapt to cooker:
+ o brltty libraries are now correctly in /lib64 on x86_64
+- mount ntfs-3g as ntfs during install
+ (fixes adding "windows" entry in bootloader)
+- really fix partition device name for some dmraid (missing "p", cf #38363)
+- cpufreq: fix gsx-suspmod probe
+- do not propose to upgrade non-mandriva and non-conectiva distros (#38408)
+
+Version 10.10 - 6 March 2008
+
+- fix resizing/formatting ntfs, and create "Windows" entry in bootloader
+ (broken because of ntfs-3g switch in previous release)
+- install kernel586 on Transmeta Crusoe TM5800 (#37866)
+- do not load i810fb, rely on vesa xorg drive instead (it may help #37772)
+- restore correct configuration of nfs/hd media in urpmi.cfg
+ (regression introduced in 10.8)
+- fix partition device name for some dmraid (missing "p", cf #38363)
+- do not timeout after 10 minutes when resizing NTFS partition
+
+Version 10.8 - 4 March 2008
+
+- adapt code to upgrade from redhat for mdv extensions (& for Manbo
+ Core by the way)
+- auto allocate: do not create /home if drive is smaller than 7GB
+- do not propose to deselect media if none can be deselected
+- no more /media/cdrom in fstab by default (#35055)
+ (not needed anymore by urpmi)
+- use cdrom:// instead of removable:// in urpmi.cfg (urpmi 5.7)
+- use and install ntfs-3g by default for ntfs partitions (#37823)
+
+Version 10.6.25 - 28 February 2008
+
+- API changes for draklive-install
+
+Version 10.6.24 - 28 February 2008
+
+- do not assign a mount point to partitions of type "Compaq diagnostics"
+- 2008.1 RC1 logo
+
+Version 10.6.23 - 25 February 2008
+
+- adapt to cooker:
+ o jfsprogs is now jfsutils
+- change background color
+
+Version 10.6.21 - 19 February 2008
+
+- adapt to cooker rpm macros new locations
+
+Version 10.6.20 - 18 February 2008
+
+- do not create alt_windows unless needed
+ (regression introduced on 2007-11-26) (#37722)
+- install linuxwacom if needed
+- load disk/ide before disk/scsi, or else sata_sis may be loaded for a
+ SATA controller and trigger pata_sis loading before sis5513 is loaded,
+ which would defeat an eventual alias to sis5513 for a PATA controller
+- cpufreq:
+ o use acpi-cpufreq for Mobile PIII/Celeron
+ (family 6 model 11, for example Toshiba Portégé 3500)
+ o use speedstep-centrino only for supported models
+ and prefer acpi-cpufreq (patch from Herton, #30208)
+ o use p4-clockmod for some Intel family 6 processors not supporting EST
+
+Version 10.6.19 - 12 February 2008
+
+- do not propose "KDE, GNOME or Custom" profiles if the partition is small
+ (< 2.5GB) otherwise the installer will not be able to install the full profile
+- auto partitioning: ensure the "/" is bigger on small drives
+
+Version 10.6.18 - 12 February 2008
+
+- adapt to modules being in /lib/modules/`uname -r`
+
+Version 10.6.16 - 11 February 2008
+
+- Xorg needs xkb/rules/base, otherwise it can go crazy (#35912)
+- add mkntfs (#37462)
+- detect systems with C7-M processor as laptop (like Belinea s.book)
+
+Version 10.6.13 - 5 February 2008
+
+- add "vesa" X driver to use when framebuffer fails
+ (useful for boxes which work with vga=785 which is not the default, in that
+ case "vesa" should work)
+
+Version 10.6.12 - 28 January 2008
+
+- 2008.1 beta2 logo
+- set $::isInstall soon enough for fs::type data-structure creation:
+ fixes reiser4 appearing in diskdrake during install (#36999)
+- add grub entries to allow booting other installed distros
+ (using grub "configfile") (see #16604)
+
+Version 10.6.10 - 28 January 2008
+
+- handle new drivers:
+ o ethernet: cpmac
+ o gigabit: ipg
+ o pata/sata: pata_bf54x, sata_fsl
+ o sound: snd-at73c213
+ o tv cards: cx23885
+ o webcams: tcm825x
+- fix detecting existing LVMs (#31228)
+ (regression introduced in 10.4.204 (?))
+- fix ensuring X is launched on tty7 (cf #37087)
+- fix handling LVM VGs with "-" in the name (#37267)
+- call X with -nolisten tcp to avoid "security" issues (#18320)
+ (nb: this implies "xhost+" helper prog is not useful anymore)
+- do not propose ext4dev filesystem during install (#37157)
+
+Version 10.6.8 - 24 January 2008
+
+- 2008.1 beta1 logo
+- look for LVM PV on non partitioned disk before looking for DOS
+ partition_table (esp. for lilo which puts the DOS magic)
+
+Version 10.6.7 - 22 January 2008
+
+- add xkb/symbols/inet (which is now needed by default for pc105)
+- adapt to perl 5.10.0
+- create /dev/cdrom symlink for installer (#36703)
+- do not put "windows" entry in bootloader for partitions where Windows is not
+ present (#8086)
+
+Version 10.6.5 - 14 January 2008
+
+- do not sort languages in "choose language" step in graphical mode, since the
+ sort is done on the non-translated strings (eg: we display "Espanol" but we
+ sort on Spanish )
+
+Version 10.6.3 - 9 January 2008, by Pascal "Pixel" Rigaux
+
+- 2008.1 alpha2 logo
+- adapt to cooker:
+ o DejaVuSans-Bold*.ttf instead of DejaVuSansBold*.ttf (again!)
+ o /usr/lib/gconv/KOI8-K.so is no more, take KOI8-*.so
+ o no more /etc/rpm/platform (for rpm 4.4.2.2)
+- install SMP packages when "match_all_hardware" option is set
+
+Version 10.6.1 - 12 December 2007, by Pascal "Pixel" Rigaux
+
+- ensure failing to build mdkinst.sqfs is a fatal error
+- drakx-in-chroot:
+ o just like stage1, handle <root of distrib> ending with current arch() so
+ that we can access main32 on x86_64
+- do not rebuild rpmdb if it is ok
+ (will workaround #32547) (need perl-URPM 3.01)
+- adapt to perl-URPM 3.00 API to parse pubkey files
+- adjust Uzbek locale (cf locales-uz change)
+- sort languages in "choose language" step in text mode
+- diskdrake:
+ o drop "Undo", "Restore partition table", "Save partition table"
+ (preparing to switch to libparted)
+- don't check /proc/partitions for a partition_table::lvm
+ (ie PV on non partitioned drive)
+
+Version 10.5.6 - 30 November 2007, by Pascal "Pixel" Rigaux
+
+- restrict the proposed input-methods for each language
+- /dev/<vg> may not exist if LVs have not been created, it must not be an error (#31478)
+- use xkb instead of xmodmap
+- save bootloader on MBR when calling grub/install.sh, and restore it before
+ calling it again (#35255) (ie implement "lilo -u" for grub)
+- ensure /etc/sysconfig/console/default.kmap is generated with installed
+ keymaps, not installer simplified (?) .bkmap (#35376)
+- fix wrongly detecting some devices as laptop specific (#35759)
+- add /etc/mke2fs.conf symlink so that mke2fs can use it (cf #27377)
+
+Version 10.5.5 - 14 November 2007, by Pascal "Pixel" Rigaux
+
+- adapt to cooker:
+ o kbd_drv.so instead of keyboard_drv.so
+ o DejaVuSansBold*.ttf instead of DejaVuSans-Bold*.ttf
+
+Version 10.5.4 - 13 November 2007, by Pascal "Pixel" Rigaux
+
+- use UUID by default (in fstab, bootloader)
+- localedrake:
+ o fix handling variant together with charset (eg: uz.UTF-8@Latn) (#35090)
+- partitioning wizard: ensure existing_part and resize_fat are proposed before
+ wipe_drive
+- in case of ftp/http media, we select basesystem before doing
+ bestKernelPackage so we must ensure the choice callback selects the good
+ kernel (reported by Thomas Spuhler on cooker mailing list)
+- do propose "Suisse" after selecting french language (#34675)
+- use time() to know when to timeout (when launching installer X server)
+ since the loop may be slower than 1 second (xf86misc::main::Xtest takes time
+ on a failing X server on i810). Also print a message telling user to wait
+ after 8 seconds.
+
+Version 10.4.238 - 5 October 2007, by Pascal "Pixel" Rigaux
+
+- do not use pseudo Protocol "vboxmouse" during install, use "IMPS/2" instead
+
+Version 10.4.236 - 4 October 2007, by Pascal "Pixel" Rigaux
+
+- fix copying of ../../i586/media/main medium
+ (for dual_arch CDs sharing the i586 medium)
+- fix configuring kdeglobals (was broken because of /etc/kderc using
+ udpate-alternatives which use absolute symlinks)
+
+Version 10.4.233 - 4 October 2007, by Pascal "Pixel" Rigaux
+
+- use /dev/cdrom in fstab, but do not write corresponding udev rule
+ (the rules will be generated at boot time otherwise it won't catch the
+ hdX/srX switch)
+
+Version 10.4.232 - 4 October 2007, by Olivier "blino" Blin
+
+- add helper to get kernel module path (to be used in draklive)
+
+Version 10.4.228 - 3 October 2007, by Pascal "Pixel" Rigaux
+
+- use /dev/cdrom in fstab, and write corresponding udev rule
+ (the rules were generated at boot time but here we ensure consistent naming)
+- 2008 logo
+- bootloader:
+ o if there is a /boot, check /boot instead of "/" to allow grub or not
+
+Version 10.4.227 - 2 October 2007, by Thierry Vignaud
+
+- diskdrake:
+ o improved wrapping of mount option descriptions (#19848)
+- add ath5k module in wireless category
+
+Version 10.4.224 - 1 October 2007, by Pascal "Pixel" Rigaux
+
+- don't keep noarch pkgs symlinked (to ../../../i586/media/main/xxx.rpm)
+ when copying packages on disk
+
+Version 10.4.223 - 1 October 2007, by Pascal "Pixel" Rigaux
+
+- diskdrake:
+ o bugfix 10.4.162: allow "LVM" on RAID (#34359)
+- add acpi-cpufreq support for some Intel CPUs (family 6 model 15)
+ (from Herton Ronaldo Krzesinski, #30208)
+
+Version 10.4.220 - 28 September 2007, by Pascal "Pixel" Rigaux
+
+- log_sizes: cleanup __db* files
+- ensure the rpmdb is closed
+
+Version 10.4.218 - 28 September 2007, by Pascal "Pixel" Rigaux
+
+- add /etc/rpm/macros.cdb
+
+Version 10.4.217 - 27 September 2007, by Thierry Vignaud
+
+- help:
+ o do not segfault on #foobar like anchors
+ o try translated links first (#33679)
+
+Version 10.4.216 - 27 September 2007, by Pascal "Pixel" Rigaux
+
+- allow to choose countries like "Angola" which have no locale (en_AO) in the
+ "best" countries (alas it won't be remembered, will only be used in kde
+ settings for now)
+
+Version 10.4.215 - 26 September 2007, by Thierry Vignaud
+
+- display nicer HTML release notes rather than raw text version
+- fix using iso CD2 on disk (#33022):
+ o remove " from medium name when reading media.cfg
+ o handle "Volume id" ending with -CD[123] instead of -Disc[123]
+- handle @::auto_steps in patch-oem.pl
+
+Version 10.4.214 - 26 September 2007, by Thierry Vignaud
+
+- do not ask desktop choice in upgrade (#34025)
+- fix displaying help in custom partition (#33994)
+
+Version 10.4.212 - 24 September 2007, by Thierry Vignaud
+
+- don't crash install when mounting CD fails (#33421)
+- don't ask for desktop and go directly to choose groups if kde and gnome are
+ not available on media (useful for mini iso)
+- add mount.nfs binary (since mount doesn't handle nfs fs anymore)
+
+Version 10.4.211 - 24 September 2007, by Pascal "Pixel" Rigaux
+
+- on upgrade, don't add resume=xxx if noresume is there (#33953)
+- diskdrake
+ o fix "Add to LVM"
+- do not display any message when user screenshot when chrooted during install
+ of pkgs (#33752)
+- don't add resume=xxx to bootloader configuration if there is noresume (#33953)
+- ignore /proc/partitions when "solaris" extended partition is present (#33866)
+- translate the pkg summary when mdv-rpm-summary info is available
+ (for the "Details" mode when installing packages)
+- ensure mdv-rpm-summary is installed first (if selected)
+
+Version 10.4.207 - 21 September 2007, by Thierry Vignaud
+
+- localization:
+ o default input method is now scim-bridge (#32138)
+
+Version 10.4.206 - 20 September 2007, by Thierry Vignaud
+
+- fix some banner icons (#33802)
+
+Version 10.4.205 - 20 September 2007, by Olivier "blino" Blin
+
+- stop configuring TV cards in summary since kernel do a better job now
+- fix passing module options when module name contains a '-' character
+- add dkms-modules.alias and ldetect-lst-modules.alias files in stage2
+
+Version 10.4.204 - 19 September 2007, by Pascal "Pixel" Rigaux
+
+- individual package selection: make the package "Info" non editable
+- diskdrake:
+ o "Clear All" defaults to LVM on full disk if drive is >4TB
+ o do not allow partitions bigger than 2TB-1 on DOS MBR, nor partitions
+ starting above 2TB-1
+- restore banner on pop up messages (#33753)
+- handle /boot/xxx files on linux raid1
+- when basesystem can't be selected, display the reason
+- also load dm-zero for dmraid
+- add RC2 banner
+
+Version 10.4.201 - 17 September 2007, by Pascal "Pixel" Rigaux
+
+- fix loading dependencies of kernel module "xxx-yyy" (instead of "xxx_yyy")
+ (eg: dm-mirror)
+- report_bug: hide grub password (#33634)
+- fix blocking wait_message (when they pop) (#33676, #33670)
+- advertising: restore support for $title in .pl files (wrongly dropped in 10.4.195)
+- localization:
+ o fix installing packages according to desktop
+- boot loader config:
+ o boot entrie list uses ellipsis rather than scroll bar
+
+Version 10.4.199 - 17 September 2007, by Olivier "blino" Blin
+
+- fix loading of tifm_sd module
+
+Version 10.4.198 - 16 September 2007, by Thierry Vignaud
+
+- fix a crash
+- localization:
+ o install scim-bridge-qt4 if KDE4 is installed
+
+Version 10.4.197 - 15 September 2007, by Thierry Vignaud
+
+- localization:
+ o enable to select 'scim-bridge' as IM
+ o install needed packages for skim
+ o install scim-qtimm for scim default config
+ o remove extra SCIM combinations (simpler)
+
+Version 10.4.196 - 14 September 2007, by Olivier "blino" Blin
+
+- fix typo breaking reading fstab with UUID= entries
+- don't set $o->{security} until accepted (#33567)
+- packageCallbackChoices: use prefered packages given by perl-URPM 2.00
+
+Version 10.4.195 - 14 September 2007, by Olivier "blino" Blin
+
+- fix loading of tifm_sd module (#18237)
+
+Version 10.4.194 - 13 September 2007, by Thierry Vignaud
+
+- do not allow to upgrade i586->x86_64 or x86_64->i586 (#33370)
+- do not configure "windows" bootloader entries for "hidden" partitions
+- fix unwrapped label (#33243)
+- fix grub hanging if /boot on xfs (#33267)
+- use user_xattr by default on reiserfs (#15068)
+- for wait_message, display a banner and move "Please Wait" in the banner
+
+Version 10.4.191 - 5 September 2007, by Thierry Vignaud
+
+- "choose desktop" step:
+ o put images along labels in RadioButtons (HIG)
+- summary screen:
+ o add spacing around separators
+ o fix not displaying the security group
+- drop support for iiimf
+- update bootloader & updates banner icons
+
+Version 10.4.190 - 5 September 2007, by Thierry Vignaud
+
+- display a warning when capslock is enabled and entering a password (#33028)
+- fix insmoding raid0 (#33172)
+
+Version 10.4.189 - 4 September 2007, by Thierry Vignaud
+
+- summary screen:
+ o add spacing between elements
+ o add an horizontal bar between elements
+
+Version 10.4.188 - 4 September 2007, by Thierry Vignaud
+
+- hardware detection layer:
+ o add support for tape device again (#31073)
+ o enumerate generic SCSI devices again
+- enumerate generic SCSI devices again
+
+Version 10.4.187 - 4 September 2007, by Pascal "Pixel" Rigaux
+
+- bugfix: add desktop-Custom.png to tarball
+- add global variable settable via "use_uuid" on kernel cmdline
+
+Version 10.4.185 - 4 September 2007, by Pascal "Pixel" Rigaux
+
+- fix gnome choice in "choose desktop" step (#33101)
+
+Version 10.4.184 - 3 September 2007, by Thierry Vignaud
+
+- support for UUID (including UUID=xxx in fstab)
+- do not set relatime option for mounting nfs
+- nicely adjust mtime of fontconfig cache files
+- steps window: do not underline categories (Installation, Configuration)
+- nicer "choose desktop" step with icons
+
+Version 10.4.183 - 31 August 2007, by Pascal "Pixel" Rigaux
+
+- add new step "choose desktop", before or hiding "choose groups"
+- bootloader-config
+ o handle new naming of vmlinuz flavors: vmlinuz-<version>-<flavor>-Xmdv
+ instead of vmlinuz-<version>-Xmdv<flavor>
+ o always use "linux" short name instead of "linux-<flavor>"
+ (since the long name is quite nice nowadays)
+
+Version 10.4.182 - 30 August 2007, by Thierry Vignaud
+
+- enable snd-ac97-codec power_save=1 option if installed on laptop (#32213)
+- set specific icons for summary steps (#32923)
+- assume system is a laptop if it contains some "Intel Corporation|Mobile" devices
+ (fix Samsung Q1U detection, #32967)
+
+Version 10.4.181 - 29 August 2007, by Thierry Vignaud
+
+- fix translating steps titles
+- ugtk2: use given title if available instead of default step title (#32923)
+
+Version 10.4.180 - 27 August 2007, by Thierry Vignaud
+
+- bug command: fix choosing the usb-key/floppy drive
+ (ie adapting interactive::stdio to new interactive callbacks)
+- add /usr/share/ldetect-lst/fallback-modules.alias for
+ drakx-in-chroot on old kernels
+- fallback to kernel-desktop
+- fix summary in text mode (#32858)
+- fix loading linux software raid (mdadm) kernel modules
+ (after rename raid5&raid6 -> raid456)
+- diskdrake
+ o fix action "Type" on a software raid (eg: dm0)
+ o fix coloring "Other" partitions (#32845)
+- update banner for RC1
+
+Version 10.4.179 - 24 August 2007, by Thierry Vignaud
+
+- install kernel-desktop-devel-latest instead of
+ kernel-source-stripped-latest on upgrade
+
+Version 10.4.178 - 24 August 2007, by Thierry Vignaud
+
+- adapt to new kernel flavors
+
+Version 10.4.177 - 24 August 2007, by Pascal "Pixel" Rigaux
+
+- fix typo in banner name (otherwise internal_error)
+
+Version 10.4.176 - 24 August 2007, by Olivier "blino" Blin
+
+- fix resolving category from module (mainly fix usbhid loading)
+
+Version 10.4.175 - 23 August 2007, by Pascal "Pixel" Rigaux
+
+- fix typo making selectKeyboard step not called
+- diskdrake:
+ o change the legend and the colors per partition
+- drop /etc/sysconfig/usb configuration (not used anymore in initscripts)
+- update banner for beta2
+
+Version 10.4.174 - 21 August 2007, by Olivier "blino" Blin
+
+- set default per step banner title & icon for all steps
+- fallback on module name if the filename can't be found
+ (in the rare case the caller uses '-' in the module name)
+- use '_' in module names when explicitely loading them (cosmetics only)
+- kill old usb-storage code, mkinitrd now loads it when necessary
+
+Version 10.4.173 - 21 August 2007, by Olivier "blino" Blin
+
+- convert module names to module filenames
+
+Version 10.4.172 - 21 August 2007, by Olivier "blino" Blin
+
+- ignore wmaster* devices when detecting wireless interfaces
+
+Version 10.4.171 - 20 August 2007, by Olivier "blino" Blin
+
+- really use '_' in modules names
+
+Version 10.4.170 - 20 August 2007, by Olivier "blino" Blin
+
+- use '_' in modules names
+
+Version 10.4.169 - 14 August 2007, by Thierry Vignaud
+
+- use better default title & icon for banners
+- diskdrake:
+ o add support for 'relatime' mount option
+ o default all machines to 'relatime' mount option
+ (except laptops which use the stronger noatime)
+ o kill support for 'nodiratime' mount option
+
+Version 10.4.168 - 13 August 2007, by Pascal "Pixel" Rigaux
+
+- merge root password step and create user step
+- fix checking user creation info (#32517)
+- allow to create only one user per default, but add an entry in summary to
+ create more users
+- authentication method is not configurable anymore for now.
+ should we add it to summary?
+- 'ibm_acpi' driver was replaced by 'thinkpad_acpi (#31606)
+- internal
+ o use urpm::select::get_preferred to choose preferred packages
+ (need urpmi library >= 4.10.1)
+ o computeGroupSize: do direct requires before choices
+ (eg for epiphany: require libmozilla-firefox2.0.0.6 before choosing
+ package providing libmozjs.so)
+
+Version 10.4.165 - 10 August 2007, by Thierry Vignaud
+
+- fix detecting sound cards
+
+Version 10.4.164 - 9 August 2007, by Pascal "Pixel" Rigaux
+
+- cache PCI probe results
+- use Xconfig::proprietary::pkgs_for_Driver2 from drakx-kbd-mouse-X11 0.21
+
+Version 10.4.162 - 8 August 2007, by Thierry Vignaud
+
+- drakboot:
+ o allow choosing another bootloader method when a package cannot be
+ installed (occurs on 2008.0 beta1 where mandriva-gfxboot-theme is missing)
+- diskdrake:
+ o do not show partition types which have no associated filesystem
+ for LVM LV (#32326)
+- allow using diskdrake even if there is only a lvm PV on full disk available
+- fix range max value >2TB when creating a partition (useful for LVs >2TB)
+- kill security level step (only reachable from summary now)
+- restore progress bar when formatting ext3
+- summary screen:
+ o warn if the security level will prevent accessing windows partitions
+ o reorder steps according to specs
+ o render titles in bold
+
+Version 10.4.158 - 3 August 2007, by Pascal "Pixel" Rigaux
+
+- configure removable writable media to use "flush" option instead of "sync" (#23042)
+
+Version 10.4.155 - 2 August 2007, by Pascal "Pixel" Rigaux
+
+- use kbd (setfont) instead of console-tools (consolechars)
+- drop supermount support
+- diskdrake: drop "Rescue partition table" feature
+ (was based on rescuept which has been dropped in util-linux, but was quite
+ bad compared to testdisk anyway)
+
+Version 10.4.150 - 24 July 2007, by Olivier "blino" Blin
+- update banner for 2008 beta 1 (from Anne)
+
+Version 10.4.149 - 17 July 2007, by Olivier "blino" Blin
+- fix build of wireless binding with latest kernel headers
+
+Version 10.4.148 - 17 July 2007, by Olivier "blino" Blin
+
+- add ide-disk module in disk/raw
+- load ide-disk module when loading disk/ide category
+
+Version 10.4.147 - 12 July 2007, by Pascal "Pixel" Rigaux
+
+- allow using sqlite for rpmdb when using option rpm_dbapi=4
+- add /LIB/udev/usb_id which is needed by mouse.pm to generate /dev/input/by-id/xxx
+
+Version 10.4.142 - 2 July 2007, by Pascal "Pixel" Rigaux
+
+- brown paper bag fix (stage1 can't create symlink /etc/rpm/platform)
+
+Version 10.4.141 - 29 June 2007, by Pascal "Pixel" Rigaux
+
+- bundle /etc/rpm/platform for rpm 4.4.8
+- use modularized ide drivers and configure ide-controller in modprobe.conf
+- auto_install:
+ o allow "automatic=met:http,ser:server,dir:/pub/dir
+ kickstart=/pub/auto_inst.cfg" to get http://server/pub/auto_inst.cfg (#31474)
+ o ensure /etc/resolv.conf is configured in /mnt for network installs
+- add /etc/mke2fs.conf in order to format ext3fs with 4k blocks (#27377)
+- diskdrake
+ o fix 1.9TB displayed as 1TB
+- do not ask for updates at end of installation when updates are already
+ available (network installs) (#30344)
+- do not try to configure dvd devices since /dev is wiped out at
+ reboot
+- fix detecting usb drives (#13395)
+ (need a perl-MDK-Common 1.2.5)
+- hw support:
+ o handle snd-cs5530 driver
+- install fonts-ttf-dejavu & fonts-ttf-liberation by default
+- allow umounting cdrom during a transaction
+- really allow having name with "/" in media.cfg
+- use "mkfs.ext3" instead of "mkfs.ext2 -J"
+ (to have dir_index & resize_inode features)
+ (cf Frederik Himpe 23 Apr 2007 mail on cooker)
+
+Version 10.4.129 - 4 April 2007, by Pascal "Pixel" Rigaux
+
+- move advertising out of drakx-installer-stage2 into drakx-installer-advertising
+
+Version 10.4.128 - 3 April 2007, by Pascal "Pixel" Rigaux
+
+- don't configure /etc/kde/kdm/kdmrc if it doesn't exist
+ (other kdmrc.rpmnew will be created, many important values will be missing)
+- fix ext3 formatting with label and progress bar (#30032)
+- fix taking screenshot
+- prefering libkdebase4-kmenuedit over libkdebase46-kmenuedit to ensure
+ kdebase-kmenuedit is chosen instead of kdebase4-kmenuedit
+
+Version 10.4.126 - 29 March 2007, by Olivier "blino" Blin
+
+- use pci_domain when matching sysfs device and computing
+ sysfs device path
+
+Version 10.4.124 - 29 March 2007, by Olivier "blino" Blin
+
+- correctly mark "update" media in urpmi.cfg
+- fix multiple detection of PCI network cards with the same driver (#29688)
+- rename o->{build_live_system} as more generic o->{match_all_hardware} name
+- automatically install network drivers when matching all hardware
+
+Version 10.4.122 - 29 March 2007, by Thierry Vignaud
+
+- final banner image
+- fix installing kernel-source-stripped
+- include mmc_block for card readers
+
+Version 10.4.120 - 23 March 2007, by Pascal "Pixel" Rigaux
+
+- allow having name with "/" in media.cfg
+- interactive::curses:
+ o handle multi-line labels, and wrap too long labels (#29060)
+- do not use bold&big for advanced_messages
+ (fixes authentication choice being big & ugly, #28676)
+
+Version 10.4.119 - 22 March 2007, by Pascal "Pixel" Rigaux
+
+- use concat_symlink to get rid of ../../ in urpmi.cfg on x86_64 for main32 medium
+- don't complain about missing pata drivers
+- do not install nspluginwrapper on ia32 (#29808)
+- use http://api.mandriva.com/mirrors/$type.$version.$arch instead of simply
+ $version.$arch (useful to differentiate CorpoDesktop4)
+- fix ati/nvidia drivers installation on One
+
+Version 10.4.116 - 19 March 2007, by Thierry Vignaud
+
+- do not fallback on english HTML help but on on old translated help
+- handle more drivers (dvb, ethernet, gigabit, ide, pcmcia, sata,
+ sound, tv, usb hosts, wan, webcam, wireless)
+- 2007 RC logo
+- diskdrake: handle mkntfs
+
+Version 10.4.115 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- use kernel-*latest to select the kernel,
+ and also kernel-source-stripped-latest when dkms is installed on upgrade
+- add some nice code selecting the various kernel-source-stripped (or
+ kernel-.*-devel) corresponding to the chosen kernels
+- allow having rpmsrate on CD0 overriding rpmsrate on CD1
+ (bugged introduced in rev 37253)
+- when using 2 media_cfg in auto_inst,
+ allow specifying which rpmsrate will be used
+- for locales with fallback (eg: br:fr), try main language before
+ english
+
+Version 10.4.114 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- use grub-gfxmenu command to configure /boot/gfxmenu for grub
+
+Version 10.4.111 - 15 March 2007, by Olivier "blino" Blin
+
+- correctly translate Driver2 to package name (fix ati packages installation on One)
+
+Version 10.4.109 - 15 March 2007, by Thierry Vignaud
+
+- display HTML help if availlable
+- load tifm_sd if needed (#25133)
+
+Version 10.4.107 - 13 March 2007, by Pascal "Pixel" Rigaux
+
+- prefer kde3 packages over kde4 packages
+
+Version 10.4.106 - 12 March 2007, by Pascal "Pixel" Rigaux
+
+- move the lib64 symlink in share/symlinks (to fix drakx-in-chroot),
+ this will leave a harmless dangling symlink in most cases though
+- configure "tifm_7xx1" driven card_reader (#25133)
+- do not bother configure old modutils
+- fix PCI descriptions returned from pci_probe()
+- enhance wrapping in wizards
+
+Version 10.4.103 - 6 March 2007, by Pascal "Pixel" Rigaux
+
+- add icons needed by xorg configuration (#29069)
+
+Version 10.4.98 - 22 February 2007, by Thierry Vignaud
+
+- do not install athcool on ia32, it freeze at least some nforce2 machines
+- fix regexp for kernel-2.6.17.10mdv for autoinstall install & liveCD building
+- include fsck.jfs on x86_64 too (#28821)
+- update kernel/list_modules.pm
+
+Version 10.4.96 - 16 February 2007, by Pascal "Pixel" Rigaux
+
+- handle vga=0x3.. instead of vga=7..
+- prefer free-kde-config (otherwise one-kde-config is chosen)
+- use system-wide raghu.ttf (pablo)
+- fix rights on files
+- fix automatic selection of proprietary video kernel packages (blino)
+- modify custom.conf instead of gdm.conf (blino)
+
+10.4.93
+- really fix command bug
diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm
new file mode 100644
index 000000000..4ea2ce45d
--- /dev/null
+++ b/perl-install/install/any.pm
@@ -0,0 +1,1690 @@
+package install::any;
+
+use strict;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(addToBeDone);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use feature 'state';
+use common;
+use run_program;
+use fs::type;
+use fs::format;
+use fs::any;
+use partition_table;
+use devices;
+use modules;
+use detect_devices;
+use install::media 'getFile_';
+use lang;
+use any;
+use log;
+
+=head1 SYNOPSYS
+
+Misc installer specific functions
+
+=head1 Functions
+
+=over
+
+=cut
+
+our @advertising_images;
+
+=item drakx_version($o)
+
+Returns DrakX version as stored in C<install/stage2/VERSION> file
+
+=cut
+
+sub drakx_version {
+ my ($o) = @_;
+
+ my $version = cat__(getFile_($o->{stage2_phys_medium}, "install/stage2/VERSION"));
+ sprintf "DrakX v%s", chomp_($version);
+}
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+sub dont_run_directly_stage2() {
+ readlink("/usr/bin/runinstall2") eq "runinstall2.sh";
+}
+
+=item is_network_install($o)
+
+Is it a network install?
+
+=cut
+
+sub is_network_install {
+ my ($o) = @_;
+ member($o->{method}, qw(ftp http nfs));
+}
+
+=item spawnShell()
+
+Starts a shell on tty2
+
+=cut
+
+sub spawnShell() {
+ return if $::local_install || $::testing;
+
+ my $shellpid_file = '/var/run/drakx_shell.pid';
+ return if -e $shellpid_file && -d '/proc/' . chomp_(cat_($shellpid_file));
+
+ if (my $shellpid = fork()) {
+ output($shellpid_file, $shellpid);
+ return;
+ }
+
+ #- why not :pp
+ $ENV{DISPLAY} ||= ":0" if $::o->{interactive} eq "gtk";
+
+ local *F;
+ sysopen F, "/dev/tty2", 2 or log::l("cannot open /dev/tty2 -- no shell will be provided: $!"), goto cant_spawn;
+
+ open STDIN, "<&F" or goto cant_spawn;
+ open STDOUT, ">&F" or goto cant_spawn;
+ open STDERR, ">&F" or goto cant_spawn;
+ close F;
+
+ print drakx_version($::o), "\n";
+
+ c::setsid();
+
+ ioctl(STDIN, c::TIOCSCTTY(), 0) or warn "could not set new controlling tty: $!";
+
+ my @args; -e '/etc/bashrc' and @args = qw(--rcfile /etc/bashrc);
+ foreach (qw(/bin/bash /usr/bin/busybox /bin/sh)) {
+ -x $_ or next;
+ my $program_name = /busybox/ ? "/bin/sh" : $_; #- since perl_checker is too dumb
+ exec { $_ } $program_name, @args or log::l("exec of $_ failed: $!");
+ }
+
+ log::l("cannot open any shell");
+cant_spawn:
+ c::_exit(1);
+}
+
+=item getAvailableSpace($o)
+
+Returns available space
+
+=cut
+
+sub getAvailableSpace {
+ my ($o) = @_;
+ fs::any::getAvailableSpace($o->{fstab});
+}
+
+sub preConfigureTimezone {
+ my ($o) = @_;
+ require timezone;
+
+ #- cannot be done in install cuz' timeconfig %post creates funny things
+ add2hash($o->{timezone}, timezone::read()) if $o->{isUpgrade};
+
+ $o->{timezone}{timezone} ||= timezone::bestTimezone($o->{locale}{country});
+
+ my $utc = every { !isFat_or_NTFS($_) } @{$o->{fstab}};
+ my $ntp = timezone::ntp_server();
+ add2hash_($o->{timezone}, { UTC => $utc, ntp => $ntp });
+
+ #- Make the timezone available to urpm::mirrors.
+ write_installer_timezone($o->{timezone});
+}
+
+=item write_installer_timezone($timezone)
+
+Writes a minimal version of $timezone to /etc/sysconfig/clock for use by urpm::mirrors
+
+=cut
+
+sub write_installer_timezone {
+ my ($timezone) = @_;
+ mkdir_p('/etc/sysconfig/');
+ setVarsInSh('/etc/sysconfig/clock', { ZONE => $timezone->{timezone} });
+}
+
+=item ask_suppl_media_method($o)
+
+Enables to add supplementary media
+
+=cut
+
+sub ask_suppl_media_method {
+ my ($o) = @_;
+ our $suppl_already_asked;
+
+ my $msg = $suppl_already_asked
+ ? N("Do you have further supplementary media?")
+ : formatAlaTeX(
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("The following media have been found and will be used during install: %s.
+
+
+Do you have a supplementary installation medium to configure?",
+ "\n\n\n" . join(",\n\n", map { "- $_->{name}" . ($_->{ignore} ? " (disabled)" : '') } install::media::allMediums($o->{packages}))));
+
+ my %l = my @l = (
+ '' => N("None"),
+ 'http' => N("Network (HTTP)"),
+ 'ftp' => N("Network (FTP)"),
+ 'nfs' => N("Network (NFS)"),
+ );
+
+ $o->ask_from_({ messages => $msg,
+ interactive_help_id => 'add_supplemental_media',
+ },
+ [ {
+ val => \my $suppl,
+ list => [ map { $_->[0] } group_by2(@l) ],
+ type => 'list',
+ format => sub { $l{$_[0]} },
+ } ],
+ );
+
+ $suppl_already_asked = 1;
+ $suppl;
+}
+
+=item prep_net_suppl_media($o)
+
+If the supplementary media is networked, but not the main one, network
+support must be installed and network started.
+
+=cut
+
+sub prep_net_suppl_media {
+ my ($o) = @_;
+
+ require network::tools;
+ return if our $net_suppl_media_configured && network::tools::has_network_connection();
+ $net_suppl_media_configured = 1;
+
+ # needed so that one can install basesystem-minimal before adding suppl network media:
+ install::media::update_media($o->{packages});
+ require urpm::media;
+ urpm::media::configure($o->{packages});
+
+ #- install basesystem-minimal now
+ $o->do_pkgs->ensure_is_installed('basesystem-minimal', undef, 1);
+
+ # in case of no network install:
+ $o->{net} ||= {};
+ require network::netconnect;
+ network::netconnect::real_main($o->{net}, $o, $o->{modules_conf});
+ require install::interactive;
+ install::interactive::upNetwork($o);
+ sleep(3);
+}
+
+sub ask_suppl_media_url {
+ my ($o, $method, $o_url) = @_;
+
+ if (member($method, qw(ftp http))) {
+ preConfigureTimezone($o);
+ any::ask_mirror_and_downloader($o, $o->{options}, 'downloader_only');
+ $o->{packages}{options}{downloader} = $o->{options}{downloader};
+ any::ask_mirror($o, 'distrib', $o_url);
+ } elsif ($method eq 'nfs') {
+ my ($host, $dir) = $o_url ? $o_url =~ m!nfs://(.*?)(/.*)! : ();
+ $o->ask_from_(
+ { title => N("NFS setup"),
+ messages => N("Please enter the hostname and directory of your NFS media"),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ $host or $o->ask_warn('', N("Hostname missing")), return 1, 0;
+ $dir eq '' || begins_with($dir, '/') or $o->ask_warn('', N("Directory must begin with \"/\"")), return 1, 1;
+ 0;
+ },
+ } },
+ [ { label => N("Hostname of the NFS mount ?"), val => \$host },
+ { label => N("Directory"), val => \$dir } ],
+ ) or return;
+ $dir =~ s!/+$!!;
+ $dir ||= '/';
+ "nfs://$host$dir";
+ } else { internal_error("bad method $method") }
+}
+
+
+=item selectSupplMedia($o)
+
+Offers to add a supplementary media. If yes, ask which mirror to use, ...
+
+=cut
+
+sub selectSupplMedia {
+ my ($o) = @_;
+ my $url;
+
+ ask_method:
+ my $method = ask_suppl_media_method($o) or return;
+
+ #- configure network if needed
+ if (!scalar keys %{$o->{net}{ifcfg}} && $method !~ /^(?:disk)/ && !$::local_install) {
+ prep_net_suppl_media($o);
+ }
+
+ ask_url:
+ $url = ask_suppl_media_url($o, $method, $url) or goto ask_method;
+
+ my $phys_medium = install::media::url2mounted_phys_medium($o, $url, undef, N("Supplementary")) or $o->ask_warn('', formatError($@)), goto ask_url;
+ $phys_medium->{is_suppl} = 1;
+ $phys_medium->{unknown_CD} = 1;
+
+ my $arch = $o->{product_id}{arch};
+ my $field = $phys_medium->{device} ? 'rel_path' : 'url';
+ my $val = $phys_medium->{$field};
+ my $val0 = $val =~ m!^(.*?)(/media)?/?$! && "$1/media";
+ my $val2 = $val =~ m!^(.*?)(/\Q$arch\E)?(/media)?/?$! && "$1/$arch/media";
+
+ foreach (uniq($val0, $val, $val2)) {
+ log::l("trying with $field set to $_");
+ $phys_medium->{$field} = $_;
+
+ #- first, try to find a media.cfg file
+ eval { install::media::get_media_cfg($o, $phys_medium, $o->{packages}, undef, 'force_rpmsrate') };
+ if (!$@) {
+ delete $phys_medium->{unknown_CD}; #- we have a known CD now
+ return 1;
+ }
+ }
+ #- restore it
+ $phys_medium->{$field} = $val;
+
+ #- try using media_info/hdlist.cz
+ my $medium_id = int(@{$o->{packages}{media}});
+ eval { install::media::get_standalone_medium($o, $phys_medium, $o->{packages}, { name => "Supplementary media $medium_id" }) };
+ if (!$@) {
+ log::l("read suppl hdlist (via $method)");
+ delete $phys_medium->{unknown_CD}; #- we have a known CD now
+ return 1;
+ }
+
+ install::media::umount_phys_medium($phys_medium);
+ install::media::remove_from_fstab($o->{all_hds}, $phys_medium);
+ $o->ask_warn('', N("Can't find a package list file on this mirror. Make sure the location is correct."));
+ goto ask_url;
+}
+
+=item load_rate_files($o)
+
+Loads the package rates file (C<rpmsrate>) as well as the C<compssUsers.pl>
+file which contains the package groups GUI.
+
+Both files came from the C<meta-task> package.
+
+=cut
+
+sub load_rate_files {
+ my ($o) = @_;
+ #- must be done after getProvides
+
+ require pkgs;
+ pkgs::read_rpmsrate($o->{packages}, $o->{rpmsrate_flags_chosen}, '/tmp/rpmsrate', $o->{match_all_hardware});
+
+ ($o->{compssUsers}, $o->{gtk_display_compssUsers}) = install::pkgs::readCompssUsers('/tmp/compssUsers.pl');
+
+ defined $o->{compssUsers} or die "Can't read compssUsers.pl file, aborting installation\n";
+}
+
+sub _core_medium() { N("Core Release") }
+
+sub _tainted_medium() { N("Tainted Release") }
+
+sub _nonfree_medium() { N("Nonfree Release") }
+
+# FIXME: move me in ../any.pm or in harddrake::*, might be needed by rpmdrake/harddrake:
+sub is_firmware_needed_ {
+ my ($o) = @_;
+ require list_firmwares;
+ my @l = map { $_->{driver} } detect_devices::probeall();
+ my @need = intersection(\@l, \@list_firmwares::modules_with_nonfree_firmware);
+ log::l("the following driver(s) need nonfree firmware(s): " . join(', ', @need)) if @need;
+
+ require pkgs;
+ my @xpkgs = pkgs::detect_graphical_drivers($o->do_pkgs, undef, 'firmware-only');
+ log::l("the following nonfree firmware(s) are needed for X.org: " . join(', ', @xpkgs)) if @xpkgs;
+
+ my $need_microcode = detect_devices::hasCPUMicrocode();
+ log::l("nonfree firmware is needed for the CPU (microcode)") if $need_microcode;
+
+ if_(@need, 'kernel-firmware-nonfree'), @xpkgs, if_($need_microcode, 'microcode');
+}
+
+=item is_firmware_needed($o)
+
+Is a firmware needed by some HW?
+
+=cut
+
+sub is_firmware_needed {
+ my ($o) = @_;
+ state $res;
+ $res = is_firmware_needed_($o) if !defined $res;
+ $res;
+}
+
+sub msg_if_firmware_needed {
+ my ($o) = @_;
+ return if !is_firmware_needed($o);
+ join("\n",
+ # FIXME: actually can be proprietary drivers (same medium eventually):
+ N("Some hardware on your machine needs some non free firmwares in order for the free software drivers to work."),
+ N("You should enable \"%s\"", _nonfree_medium()),
+ );
+}
+
+=item enable_nonfree_media($medium)
+
+Enable a disabled Nonfree medium.
+
+=cut
+
+sub enable_nonfree_media {
+ my ($medium) = @_;
+ return if $medium->{name} !~ /Nonfree/ || $medium->{name} =~ /32bit/ || !$medium->{ignore};
+ log::l("preselecting $medium->{name}");
+ $medium->{temp_enabled} = 1;
+}
+
+=item enable_core_32bit_media($medium)
+
+Enable a disabled Core 32bit medium.
+
+=cut
+
+sub enable_core_32bit_media {
+ my ($medium) = @_;
+ return if $medium->{name} !~ /Core/ || $medium->{name} !~ /32bit/ || !$medium->{ignore};
+ log::l("preselecting $medium->{name}");
+ $medium->{temp_enabled} = 1;
+}
+
+=item media_screen($o)
+
+Lists available media with their status (enabled/disabled).
+Suggests to enable Nonfree media if needed.
+
+=cut
+
+sub media_screen {
+ my ($o) = @_;
+
+ my $urpm = $o->{packages};
+ # FIXME:
+ # - nice info
+ # - ignore already failed media (such as 32bit media on NFS)
+ # - detect if non-free/tainted were selected previously / are now needed
+ # rpm -qa |grep tainted/non-free
+ # - use red color in that case (gtk+ version? interactive::gtk version?)
+ # - present media as trees (eg 3 main branches (core/nonfree/tainted and sub medium below (release/updates/...)
+ # - enable to add media from the media screen
+ # - introduce 'mandatory' keyword for guessing media that can *not* be disabled
+ my %descriptions = (
+ 'Core Release' => N("\"%s\" contains the various pieces of the systems and its applications", _core_medium()),
+ 'Nonfree Release' => N("\"%s\" contains non free software.\n", _nonfree_medium()) . " " .
+ N("It also contains firmwares needed for certain devices to operate (eg: some ATI/AMD graphic cards, some network cards, some RAID cards, ...)"),
+ 'Tainted Release' => N("\"%s\" contains software that can not be distributed in every country due to software patents.", _tainted_medium()) . " " .
+ N("It also contains software from \"%s\" rebuild with additional capabilities.", _core_medium()),
+ );
+
+ my $nonfree_is_needed = is_firmware_needed($o);
+
+ $o->ask_from_({ messages => join("\n",
+ N("Here you can enable more media if you want."),
+ msg_if_firmware_needed($o)
+ ),
+ interactive_help_id => 'media_selection',
+ focus_first => sub { 1 } }, [
+ map {
+ my $medium = $_;
+ $medium->{temp_enabled} = !$medium->{ignore};
+ my $name = $medium->{name};
+ my ($distribconf, $medium_path) = @{$_->{mediacfg}};
+ my @media_types = split(':', $distribconf->getvalue($medium_path, 'media_type'));
+ my $parent = $distribconf->getvalue($distribconf->getvalue($medium_path, 'updates_for'), 'name');
+ my $non_regular_medium = intersection(\@media_types, [ qw(backports debug source testing) ]);
+ enable_nonfree_media($medium) if $nonfree_is_needed && !$non_regular_medium;
+ enable_core_32bit_media($medium) if arch() eq 'x86_64' && uefi_type() eq 'ia32' && !$non_regular_medium;
+ $non_regular_medium ? () :
+ +{
+ val => \$medium->{temp_enabled}, type => 'bool', text => $name,
+ help => $medium->{update} ? N("This medium provides package updates for medium \"%s\"", $parent) : $descriptions{$name},
+ # 'Core Release' cannot be unselected:
+ disabled => sub {
+ state $parent_media = $parent && urpm::media::name2medium($urpm, $parent);
+ $name =~ /^(?:Core|Main) Release$/ || $parent_media ? !$parent_media->{temp_enabled} : 0;
+ },
+ };
+ } @{$urpm->{media}},
+ ]);
+}
+
+sub enable_choosen_media {
+ my ($o) = @_;
+ my $urpm = $o->{packages};
+
+ # is there some media to enable?
+ my $todo;
+ foreach my $medium (@{$urpm->{media}}) {
+ if ($medium->{temp_enabled} == $medium->{ignore}) {
+ $medium->{ignore} = !$medium->{temp_enabled};
+ if (!$medium->{ignore}) {
+ delete $medium->{ignore};
+ log::l("Medium '$medium->{name}' needs to be updated to be usable");
+ urpm::media::select_media($urpm, $medium->{name});
+ $todo = 1;
+ }
+ }
+ delete $medium->{temp_enabled};
+ }
+ return if !$todo;
+ urpm::media::update_media($urpm, allow_failures => 1, nolock => 1, noclean => 1,
+ callback => \&urpm::download::sync_logger
+ );
+}
+
+=item setPackages($o)
+
+=over 4
+
+=item * Initialize urpmi
+
+=item * Retrieves media.cfg
+
+=item * Offers to add supplementary media (according to the install method)
+
+=item * Offers to enable some disabled media
+
+=item * Ensure we have a kernel and basesystem
+
+=item * Flags package rates
+
+=item * Select default packages according to the computer
+
+=back
+
+=cut
+
+sub setPackages {
+ my ($o) = @_;
+
+ my $urpm;
+ require install::pkgs;
+ {
+ #- clean shared regions very early
+ # (update_media will open rpmdb for listing existing pubkeys,
+ # which may fail when rpm version mistmatches between drakx & chrooted env)
+ install::pkgs::clean_rpmdb_shared_regions();
+ $urpm = $o->{packages} = install::pkgs::empty_packages($o->{keep_unrequested_dependencies});
+
+ my $media = $o->{media} || [ { type => 'media_cfg', url => 'drakx://media' } ];
+ my ($suppl_method, $copy_rpms_on_disk);
+
+ {
+ install::pkgs::start_pushing_error();
+ ($suppl_method, $copy_rpms_on_disk) = install::media::get_media($o, $media, $urpm);
+
+ if ($suppl_method) {
+ 1 while $o->selectSupplMedia;
+ }
+ install::media::update_media($urpm);
+ install::pkgs::popup_errors();
+ }
+
+ install::pkgs::start_pushing_error();
+
+ # in auto-install mode, we enforce selected media, else we respect media.cfg's default:
+ if ($::auto_install && !is_empty_array_ref($o->{enabled_media})) {
+ # respect enabled/disabled media selection:
+ foreach my $medium (@{$urpm->{media}}) {
+ $medium->{temp_enabled} = member($medium->{name}, @{$o->{enabled_media}});
+ }
+ }
+ media_screen($o) if !$::auto_install || member('chooseMedia', @{$::o->{interactiveSteps}});
+ enable_choosen_media($o);
+ my @choosen_media = map { $_->{name} } grep { !$_->{ignore} } @{$urpm->{media}};
+ log::l("choosen media: ", join(', ', @choosen_media));
+ die "no choosen media" if !@choosen_media;
+
+ # actually read synthesis now we have all the ones we want:
+ require urpm::media;
+ urpm::media::configure($urpm);
+
+ install::pkgs::popup_errors();
+
+ install::media::adjust_paths_in_urpmi_cfg($urpm);
+ log::l('urpmi completely set up');
+
+ #- open rpm db according to right mode needed
+ $urpm->{rpmdb} ||= install::pkgs::rpmDbOpen('rebuild_if_needed');
+
+ {
+ my $_wait = $o->wait_message('', N("Looking at packages already installed..."));
+ install::pkgs::selectPackagesAlreadyInstalled($urpm);
+ }
+
+ remove_package_for_upgrade($o);
+
+ mark_skipped_packages($o);
+
+ #- always try to select basic kernel (else on upgrade, kernel will never be updated provided a kernel is already
+ #- installed and provides what is necessary).
+ my $kernel_pkg = install::pkgs::bestKernelPackage($urpm, $o->{match_all_hardware});
+ install::pkgs::selectPackage($urpm, $kernel_pkg, 1);
+ if ($o->{isUpgrade} && $urpm->{sizes}{dkms} && $kernel_pkg =~ /(.*)-latest/) {
+ my $devel_kernel_pkg = "$1-devel-latest";
+ log::l("selecting $devel_kernel_pkg (since dkms was installed)");
+ install::pkgs::select_by_package_names($urpm, [ $devel_kernel_pkg ], 1);
+ }
+
+ install::pkgs::select_by_package_names_or_die($urpm, default_bootloader(), 1) if !$o->{isUpgrade} && !$o->{match_all_hardware};
+ install::pkgs::select_by_package_names_or_die($urpm, ['basesystem'], 1);
+
+ my $rpmsrate_flags_was_chosen = $o->{rpmsrate_flags_chosen};
+
+ put_in_hash($o->{rpmsrate_flags_chosen} ||= {}, rpmsrate_always_flags($o)); #- must be done before pkgs::read_rpmsrate()
+ load_rate_files($o);
+
+ install::media::copy_rpms_on_disk($o) if $copy_rpms_on_disk;
+
+ set_rpmsrate_default_category_flags($o, $rpmsrate_flags_was_chosen);
+
+ push @{$o->{default_packages}}, default_packages($o);
+ select_default_packages($o);
+ }
+
+ if ($o->{isUpgrade}) {
+ my $_w = $o->wait_message('', N("Finding packages to upgrade..."));
+ install::pkgs::selectPackagesToUpgrade($urpm);
+ }
+}
+
+=item remove_package_for_upgrade($o)
+
+Removes packages that must be uninstalled prior to upgrade
+
+=cut
+
+sub remove_package_for_upgrade {
+ my ($o) = @_;
+ my $extension = $o->{upgrade_by_removing_pkgs_matching};
+
+ return if !$extension;
+
+ my $time = time();
+ my ($_w, $wait_message) = $o->wait_message_with_progress_bar;
+ $wait_message->(N("Removing packages prior to upgrade..."));
+ my ($current, $total);
+ my $callback = sub {
+ my (undef, $type, $_id, $subtype, $amount) = @_;
+ if ($type eq 'user') {
+ ($current, $total) = (0, $amount);
+ } elsif ($type eq 'uninst' && $subtype eq 'stop') {
+ $wait_message->('', $current++, $total);
+ }
+ };
+ push @{$o->{default_packages}}, install::pkgs::upgrade_by_removing_pkgs($o->{packages}, $callback, $extension, $o->{isUpgrade});
+ log::l("Removing packages took: ", formatTimeRaw(time() - $time));
+}
+
+=item count_files($dir)
+
+Returns the number of files in $dir
+
+=cut
+
+sub count_files {
+ my ($dir) = @_;
+ -d $dir or return 0;
+ opendir my $dh, $dir or return 0;
+ my @list = grep { !/^\.\.?$/ } readdir $dh;
+ closedir $dh;
+ my $c = 0;
+ foreach my $n (@list) {
+ my $p = "$dir/$n";
+ if (-d $p) { $c += count_files($p) } else { ++$c }
+ }
+ $c;
+}
+
+sub cp_with_progress {
+ my $wait_message = shift;
+ my $_current = shift;
+ my $total = shift;
+ my $dest = pop @_;
+ cp_with_progress_({ keep_special => 1 }, $wait_message, $total, \@_, $dest);
+}
+sub cp_with_progress_ {
+ my ($options, $wait_message, $total, $list, $dest) = @_;
+ @$list or return;
+ @$list == 1 || -d $dest or die "cp: copying multiple files, but last argument ($dest) is not a directory\n";
+
+ -d $dest or $dest = dirname($dest);
+ _cp_with_progress($options, $wait_message, 0, $total, $list, $dest);
+}
+sub _cp_with_progress {
+ my ($options, $wait_message, $current, $total, $list, $dest) = @_;
+
+ foreach my $src (@$list) {
+ my $dest = $dest;
+ -d $dest and $dest .= '/' . basename($src);
+
+ unlink $dest;
+
+ if (-l $src && $options->{keep_special}) {
+ unless (symlink(readlink($src) || die("readlink failed: $!"), $dest)) {
+ warn "symlink: can't create symlink $dest: $!\n";
+ }
+ } elsif (-d $src) {
+ -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n";
+ _cp_with_progress($options, $wait_message, $current, $total, [ glob_($src) ], $dest);
+ } else {
+ open(my $F, $src) or die "can't open $src for reading: $!\n";
+ open(my $G, ">", $dest) or die "can't cp to file $dest: $!\n";
+ local $/ = \4096;
+ local $_; while (<$F>) { print $G $_ }
+ chmod((stat($src))[2], $dest);
+ $wait_message->('', ++$current, $total);
+ }
+ }
+ 1;
+}
+
+sub set_rpmsrate_default_category_flags {
+ my ($o, $rpmsrate_flags_was_chosen) = @_;
+
+ #- if no cleaning needed, populate by default, clean is used for second or more call to this function.
+ if ($::auto_install && ($o->{rpmsrate_flags_chosen} || {})->{CAT_ALL}) {
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = 1 foreach map { @{$_->{flags}} } @{$o->{compssUsers}};
+ }
+ if (!$rpmsrate_flags_was_chosen && !$o->{isUpgrade}) {
+ #- use default selection seen in compssUsers directly.
+ $_->{selected} = $_->{default_selected} foreach @{$o->{compssUsers}};
+ set_rpmsrate_category_flags($o, $o->{compssUsers});
+ }
+}
+
+sub set_rpmsrate_category_flags {
+ my ($o, $compssUsers) = @_;
+
+ $o->{rpmsrate_flags_chosen}{$_} = 0 foreach grep { /^CAT_/ } keys %{$o->{rpmsrate_flags_chosen}};
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = 1 foreach map { @{$_->{flags}} } grep { $_->{selected} } @$compssUsers;
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 1;
+ $o->{rpmsrate_flags_chosen}{CAT_MINIMAL_DOCS} = 1;
+}
+
+
+sub rpmsrate_always_flags {
+ my ($o) = @_;
+
+ my $rpmsrate_flags_chosen = {};
+ $rpmsrate_flags_chosen->{qq(META_CLASS"$o->{meta_class}")} = 1;
+ $rpmsrate_flags_chosen->{uc($_)} = 1 foreach grep { $o->{match_all_hardware} || detect_devices::probe_category("multimedia/$_") } modules::sub_categories('multimedia');
+ $rpmsrate_flags_chosen->{uc($_)} = 1 foreach detect_devices::probe_name('Flag');
+ $rpmsrate_flags_chosen->{UTF8} = $o->{locale}{utf8};
+ $rpmsrate_flags_chosen->{BURNER} = 1 if $o->{match_all_hardware} || detect_devices::burners();
+ $rpmsrate_flags_chosen->{DVD} = 1 if $o->{match_all_hardware} || detect_devices::dvdroms();
+ $rpmsrate_flags_chosen->{USB} = 1 if $o->{match_all_hardware} || $o->{modules_conf}->get_probeall("usb-interface");
+ $rpmsrate_flags_chosen->{PCMCIA} = 1 if $o->{match_all_hardware} || detect_devices::hasPCMCIA();
+ $rpmsrate_flags_chosen->{HIGH_SECURITY} = 1 if $o->{security} > 1;
+ $rpmsrate_flags_chosen->{BIGMEM} = 1 if detect_devices::BIGMEM();
+ $rpmsrate_flags_chosen->{SMP} = 1 if $o->{match_all_hardware} || detect_devices::hasSMP();
+ if (!$o->{match_all_hardware} && !defined $o->{compssListLevel} && detect_devices::need_light_desktop()) {
+ log::l("activation light desktop mode (for low resources systems or netbook/nettops)");
+ $rpmsrate_flags_chosen->{LIGHT} = 1;
+ }
+ # FIXME: to be updated!!!
+ $rpmsrate_flags_chosen->{'3D'} = 1 if
+ $o->{match_all_hardware} ||
+ detect_devices::matching_desc__regexp('Matrox.* G[245][05]0') ||
+ detect_devices::matching_desc__regexp('Rage X[CL]') ||
+ detect_devices::matching_desc__regexp('3D Rage (?:LT|Pro)') ||
+ detect_devices::matching_desc__regexp('Voodoo [35]') ||
+ detect_devices::matching_desc__regexp('Voodoo Banshee') ||
+ detect_devices::matching_desc__regexp('8281[05].* CGC') ||
+ detect_devices::matching_desc__regexp('Rage 128') ||
+ detect_devices::matching_desc__regexp('Radeon ') || #- all Radeon card are now 3D with 4.3.0
+ detect_devices::matching_desc__regexp('[nN]Vidia.*T[nN]T2') || #- TNT2 cards
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*NV[56]') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*Vanta') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*[gG]e[fF]orce') || #- GeForce cards
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*NV1[15]') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*Quadro');
+
+ foreach (lang::langsLANGUAGE($o->{locale}{langs})) {
+ $rpmsrate_flags_chosen->{qq(LOCALES"$_")} = 1;
+ }
+ $rpmsrate_flags_chosen->{'CHARSET"' . lang::l2charset($o->{locale}{lang}) . '"'} = 1;
+
+ $rpmsrate_flags_chosen;
+}
+
+sub default_bootloader() {
+ require bootloader;
+ my (undef, $p) = bootloader::get_grub2_pkg();
+ if (is_uefi()) {
+ log::l("defaulting to grub2-efi");
+ } else {
+ log::l("defaulting to grub2");
+ }
+ [ $p ];
+}
+
+=item default_packages($o)
+
+Selects default packages to install according to configuration (FS, HW, ...)
+
+=cut
+
+sub default_packages {
+ my ($o) = @_;
+ my @l;
+
+ sub add_n_log {
+ my ($reason, @packages) = @_;
+ if (@packages) {
+ log::l("selecting " . join(',', @packages) . " because of $reason");
+ push @l, @packages;
+ }
+ }
+
+ add_n_log("/proc/cmdline=~/brltty=/", "brltty") if cat_("/proc/cmdline") =~ /brltty=/;
+ add_n_log("method==nfs", "nfs-utils") if $o->{method} eq "nfs";
+ add_n_log("have RAID", "mdadm") if !is_empty_array_ref($o->{all_hds}{raids});
+ add_n_log("have LVM", "lvm2") if !is_empty_array_ref($o->{all_hds}{lvms});
+ add_n_log("have crypted DM", qw(cryptsetup dmsetup)) if !is_empty_array_ref($o->{all_hds}{dmcrypts});
+ add_n_log("some disks are fake RAID", qw(mdadm dmraid)) if any { fs::type::is_dmraid($_) } @{$o->{all_hds}{hds}};
+ add_n_log("CPU needs microcode", "microcode_ctl") if detect_devices::hasCPUMicrocode();
+ add_n_log("either CPU or GFX needs firmware", is_firmware_needed($o)) if is_firmware_needed($o);
+ add_n_log("CPU needs cpupower", 'cpupower') if detect_devices::hasCPUFreq();
+ add_n_log("APM support needed", 'apmd') if -e "/proc/apm";
+ add_n_log("needed by hardware", detect_devices::probe_name('Pkg'));
+ my @ltmp = map { $_->{BOOTPROTO} eq 'dhcp' ? $_->{DHCP_CLIENT} || 'dhcp-client' : () } values %{$o->{net}{ifcfg}};
+ add_n_log("needed by networking", @ltmp) if @ltmp;
+ # will get auto selected at summary stage for bootloader:
+ add_n_log("needed later at summary stage", qw(acpi acpid));
+ # will get auto selected at summary stage for firewall:
+ add_n_log("needed for firewall/security", qw(shorewall shorewall-ipv6 mandi-ifw));
+ # only needed for CDs/DVDs installations:
+ add_n_log("method='cdrom'", 'perl-Hal-Cdroms') if $o->{method} eq 'cdrom';
+
+ my $dmi_BIOS = detect_devices::dmidecode_category('BIOS');
+ my $dmi_Base_Board = detect_devices::dmidecode_category('Base Board');
+ if ($dmi_BIOS->{Vendor} eq 'COMPAL' && $dmi_BIOS->{Characteristics} =~ /Function key-initiated network boot is supported/
+ || $dmi_Base_Board->{Manufacturer} =~ /^ACER/ && $dmi_Base_Board->{'Product Name'} =~ /TravelMate 610/) {
+ #- FIXME : append correct options (wireless, ...)
+ modules::append_to_modules_loaded_at_startup_for_all_kernels('acerhk');
+ }
+
+ add_n_log("some fs is mounted with quota options", 'quota') if any { $_->{options} =~ /usrquota|grpquota/ } @{$o->{fstab}};
+ @ltmp = uniq(grep { $_ } map { fs::format::package_needed_for_partition_type($_) } @{$o->{fstab}});
+ add_n_log("needed by some fs", @ltmp) if @ltmp;
+
+ # handle locales with specified scripting:
+ my @languages = map { s/\@.*//; $_ } lang::langsLANGUAGE($o->{locale}{langs});
+ my @locale_pkgs = map { URPM::packages_providing($o->{packages}, 'locales-' . $_) } @languages;
+ unshift @l, uniq(map { $_->name } @locale_pkgs);
+
+ uniq(@l);
+}
+
+sub mark_skipped_packages {
+ my ($o) = @_;
+ install::pkgs::skip_packages($o->{packages}, $o->{skipped_packages}) if $o->{skipped_packages};
+}
+
+sub select_default_packages {
+ my ($o) = @_;
+ install::pkgs::select_by_package_names($o->{packages}, $o->{default_packages});
+}
+
+sub unselectMostPackages {
+ my ($o) = @_;
+ install::pkgs::unselectAllPackages($o->{packages});
+ select_default_packages($o);
+}
+
+sub warnAboutRemovedPackages {
+ my ($o, $packages) = @_;
+ my @removedPackages = keys %{$packages->{state}{ask_remove} || {}} or return;
+ if (!$o->ask_yesorno('',
+formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("The following packages will be removed to allow upgrading your system: %s
+
+
+Do you really want to remove these packages?
+", join(", ", @removedPackages))), 1)) {
+ $packages->{state}{ask_remove} = {};
+ }
+}
+
+sub addToBeDone(&$) {
+ my ($f, $step) = @_;
+
+ return &$f() if $::o->{steps}{$step}{done};
+
+ push @{$::o->{steps}{$step}{toBeDone}}, $f;
+}
+
+sub set_authentication {
+ my ($o) = @_;
+
+ my $when_network_is_up = sub {
+ my ($f) = @_;
+ #- defer running xxx - no network yet
+ addToBeDone {
+ require install::steps;
+ install::steps::upNetwork($o, 'pppAvoided');
+ $f->();
+ } 'configureNetwork';
+ };
+ require authentication;
+ authentication::set($o, $o->{net}, $o->{authentication} ||= {}, $when_network_is_up);
+}
+
+#-###############################################################################
+#- kde stuff
+#-###############################################################################
+sub kdemove_desktop_file {
+ my ($prefix) = @_;
+ my @toMove = qw(doc.kdelnk news.kdelnk updates.kdelnk home.kdelnk printer.kdelnk floppy.kdelnk cdrom.kdelnk FLOPPY.kdelnk CDROM.kdelnk);
+
+ #- remove any existing save in Trash of each user and
+ #- move appropriate file there after an upgrade.
+ foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) {
+ renamef("$dir/$_", "$dir/Trash/$_")
+ foreach grep { -e "$dir/$_" } @toMove, grep { /\.rpmorig$/ } all($dir);
+ }
+}
+
+sub log_system_info {
+ my ($o) = @_;
+ log::l("second stage install running (", drakx_version($o), ")");
+ log::l(sprintf("Virtualization=%s", detect_devices::virt_technology() || "none"));
+ log::l(sprintf("Is UEFI=%s", bool2yesno(is_uefi())));
+}
+
+
+#-###############################################################################
+#- auto_install stuff
+#-###############################################################################
+sub auto_inst_file() { "$::prefix/root/drakx/auto_inst.cfg.pl" }
+
+sub report_bug() {
+ any::report_bug('auto_inst' => g_auto_install('', 1));
+}
+
+sub g_auto_install {
+ my ($b_replay, $b_respect_privacy) = @_;
+ my $o = {};
+
+ require install::pkgs;
+ $o->{default_packages} = [ sort @{ install::pkgs::selected_leaves($::o->{packages}) } ];
+
+ my @fields = qw(fs_type hd level mntpoint options parts size VG_name);
+ $o->{partitions} = [ map {
+ my %l; @l{@fields} = @$_{@fields}; \%l;
+ } grep {
+ $_->{mntpoint} && fs::format::known_type($_);
+ } @{$::o->{fstab}} ];
+
+ exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(locale authentication mouse net timezone superuser keyboard users partitioning isUpgrade manualFstab nomouseprobe crypto security security_user autoExitInstall X services postInstall postInstallNonRooted); #- TODO modules bootloader
+
+ local $o->{partitioning}{auto_allocate} = !$b_replay;
+ $o->{autoExitInstall} = !$b_replay;
+ $o->{interactiveSteps} = [ 'doPartitionDisks', 'formatPartitions' ] if $b_replay;
+
+ #- deep copy because we're modifying it below
+ $o->{users} = $b_respect_privacy ? [] : [ @{$o->{users} || []} ];
+
+ # remember selected media:
+ local $o->{enabled_media} = [ map { $_->{name} } grep { !$_->{ignore} } @{$::o->{packages}{media}} ];
+
+ my @user_info_to_remove = (
+ if_($b_respect_privacy, qw(realname pw)),
+ qw(oldu oldg password password2),
+ );
+ $_ = { %{$_ || {}} }, delete @$_{@user_info_to_remove} foreach $o->{superuser}, @{$o->{users} || []};
+
+ if ($b_respect_privacy && $o->{net}) {
+ if (my $type = $o->{net}{type}) {
+ my @net_type_to_remove = qw(passwd login phone_in phone_out);
+ $_ = { %{$_ || {}} }, delete @$_{@net_type_to_remove} foreach $o->{net}{$type};
+ }
+ }
+ my $warn_privacy = $b_respect_privacy ? "!! This file has been simplified to respect privacy when reporting problems.
+# You should use /root/drakx/auto_inst.cfg.pl instead !!\n#" : '';
+
+ require Data::Dumper;
+ my $str = join('',
+"#!/usr/bin/perl -cw
+# $warn_privacy
+# You should check the syntax of this file before using it in an auto-install.
+# You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
+# (note the '#!/usr/bin/perl -cw' on the first line).
+", Data::Dumper->Dump([$o], ['$o']));
+ $str =~ s/ {8}/\t/g; #- replace all 8 space char by only one tabulation, this reduces file size so much :-)
+ $str;
+}
+
+sub getAndSaveAutoInstallFloppies {
+ my ($o, $replay) = @_;
+ my $name = ($replay ? 'replay' : 'auto') . '_install';
+ my $dest_dir = "$::prefix/root/drakx";
+
+ eval { modules::load('loop') };
+
+ my $mountdir = "$::prefix/root/aif-mount"; -d $mountdir or mkdir $mountdir, 0755;
+ my $param = 'kickstart=floppy ' . generate_automatic_stage1_params($o);
+
+ my $img = install::media::getAndSaveInstallFloppies($o, $dest_dir, $name) or return;
+
+ {
+ my $dev = devices::set_loop($img) or log::l("couldn't set loopback device"), return;
+ find { eval { fs::mount::mount($dev, $mountdir, $_, 0); 1 } } qw(ext2 vfat ntfs-3g) or return;
+
+ if (-e "$mountdir/menu.lst") {
+ # hd_grub boot disk is different than others
+ substInFile {
+ s/^(\s*timeout.*)/timeout 1/;
+ s/\bautomatic=method:disk/$param/;
+ } "$mountdir/menu.lst";
+ } elsif (-e "$mountdir/syslinux.cfg") {
+ #- make room first
+ unlink "$mountdir/help.msg", "$mountdir/boot.msg";
+
+ substInFile {
+ s/timeout.*/$replay ? 'timeout 1' : ''/e;
+ s/^(\s*append)/$1 $param/;
+ } "$mountdir/syslinux.cfg";
+
+ output "$mountdir/boot.msg", $replay ? '' : "\n0c" .
+"!! If you press enter, an auto-install is going to start.
+ All data on this computer is going to be lost,
+ including any Windows partitions !!
+" . "07\n";
+ }
+
+ {
+ local $o->{partitioning}{clearall} = !$replay;
+ eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)) };
+ $@ and log::l("Warning: <", formatError($@), ">");
+ }
+
+ fs::mount::umount($mountdir);
+ devices::del_loop($dev);
+ }
+ rmdir $mountdir;
+ $img;
+}
+
+
+sub g_default_packages {
+ my ($o) = @_;
+
+ my ($_h, $file) = media_browser($o, 'save', 'package_list.pl') or return;
+ output($file, selected_leaves_pl($o));
+}
+
+sub selected_leaves_pl {
+ my ($o) = @_;
+
+ require Data::Dumper;
+ my $str = Data::Dumper->Dump([ { default_packages => install::pkgs::selected_leaves($o->{packages}) } ], ['$o']);
+ $str =~ s/ {8}/\t/g;
+
+ "# You should always check the syntax with 'perl -cw auto_inst.cfg.pl'\n" .
+ "# before testing. To use it, boot with ``linux defcfg=floppy''\n" .
+ $str;
+}
+
+sub loadO {
+ my ($O, $f) = @_; $f ||= auto_inst_file();
+ if ($f =~ /^(floppy|patch)$/) {
+ my $f = $f eq "floppy" ? 'auto_inst.cfg' : "patch";
+ my $o;
+ foreach (removable_media__early_in_install()) {
+ my $dev = devices::make($_->{device});
+ foreach my $fs (qw(ext4 vfat ntfs-3g)) {
+ eval { fs::mount::mount($dev, '/mnt', $fs, 'readonly'); 1 } or next;
+ if (my $abs_f = find { -e $_ } "/mnt/$f", "/mnt/$f.pl") {
+ $o = loadO_($O, $abs_f);
+ }
+ fs::mount::umount("/mnt");
+ goto found if $o;
+ }
+ }
+ die "Could not find $f";
+ found:
+ modules::unload(qw(vfat fat));
+ $o;
+ } else {
+ loadO_($O, $f);
+ }
+}
+
+sub loadO_ {
+ my ($O, $f) = @_;
+
+ my $o;
+ {
+ my $fh;
+ if (ref $f) {
+ $fh = $f;
+ } else {
+ -e "$f.pl" and $f .= ".pl" unless -e $f;
+
+ $fh = -e $f ? common::open_file($f) : getFile_($O->{stage2_phys_medium}, $f) || die N("Error reading file %s", $f);
+ }
+ my $s = cat__($fh);
+ close $fh;
+ {
+ no strict;
+ eval $s;
+ $@ and die;
+ }
+ $O and add2hash_($o ||= {}, $O);
+ }
+ $O and bless $o, ref $O;
+
+ handle_old_auto_install_format($o);
+
+ $o;
+}
+
+sub handle_old_auto_install_format {
+ my ($o) = @_;
+
+ #- handle backward compatibility for things that changed
+ foreach (@{$o->{partitions} || []}, @{$o->{manualFstab} || []}) {
+ if (my $type = delete $_->{type}) {
+ if ($type =~ /^(0x)?(\d*)$/) {
+ fs::type::set_pt_type($_, $type);
+ } else {
+ fs::type::set_fs_type($_, $type);
+ }
+ }
+ }
+ #- {rpmsrate_flags_chosen} was called {compssUsersChoice}
+ if (my $rpmsrate_flags_chosen = delete $o->{compssUsersChoice}) {
+ $o->{rpmsrate_flags_chosen} = $rpmsrate_flags_chosen;
+ }
+ #- compssUsers flags are now named CAT_XXX
+ if ($o->{rpmsrate_flags_chosen} &&
+ ! any { /^CAT_/ } keys %{$o->{rpmsrate_flags_chosen}}) {
+ #- we don't really know if this is needed for compatibility, but it won't hurt :)
+ foreach (keys %{$o->{rpmsrate_flags_chosen}}) {
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = $o->{rpmsrate_flags_chosen}{$_};
+ }
+ #- it used to be always selected
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 1;
+ }
+ if ($o->{updates} && $o->{updates}{mirror}) {
+ $o->{updates}{url} = delete $o->{updates}{mirror};
+ }
+
+ #- backward compatibility for network fields
+ exists $o->{intf} and $o->{net}{ifcfg} = delete $o->{intf};
+ exists $o->{netcnx}{type} and $o->{net}{type} = delete $o->{netcnx}{type};
+ exists $o->{netc}{NET_INTERFACE} and $o->{net}{net_interface} = delete $o->{netc}{NET_INTERFACE};
+ my %netc_translation = (
+ resolv => [ qw(dnsServer dnsServer2 dnsServer3 DOMAINNAME DOMAINNAME2 DOMAINNAME3) ],
+ network => [ qw(NETWORKING FORWARD_IPV4 NETWORKING_IPV6 HOSTNAME GATEWAY GATEWAYDEV NISDOMAIN) ],
+ auth => [ qw(LDAPDOMAIN WINDOMAIN) ],
+ );
+ foreach my $dest (keys %netc_translation) {
+ exists $o->{netc}{$_} and $o->{net}{$dest}{$_} = delete $o->{netc}{$_} foreach @{$netc_translation{$dest}};
+ }
+ delete @$o{qw(netc netcnx)};
+
+ $o;
+}
+
+sub generate_automatic_stage1_params {
+ my ($o) = @_;
+
+ my $method = $o->{method};
+ my @ks;
+
+ if ($o->{method} eq 'http') {
+ $ENV{URLPREFIX} =~ m!(http|ftp)://([^/:]+)(.*)! or die;
+ $method = $1; #- in stage1, FTP via HTTP proxy is available through FTP config, not HTTP
+ @ks = (server => $2, directory => $3);
+ } elsif ($o->{method} eq 'ftp') {
+ require install::ftp;
+ my @l = install::ftp::parse_ftp_url($ENV{URLPREFIX});
+ @ks = (server => $l[0], directory => $l[1], user => $l[2], pass => $l[3]);
+ } elsif ($o->{method} eq 'nfs') {
+ cat_("/proc/mounts") =~ m|(\S+):(\S+)\s+/tmp/media| or internal_error("cannot find nfsimage");
+ @ks = (server => $1, directory => $2);
+ }
+ @ks = (method => $method, @ks);
+
+ if (is_network_install($o)) {
+ if ($ENV{PROXY}) {
+ push @ks, proxy_host => $ENV{PROXY}, proxy_port => $ENV{PROXYPORT};
+ }
+ my $intf = first(values %{$o->{net}{ifcfg}});
+ push @ks, interface => $intf->{DEVICE};
+ if ($intf->{BOOTPROTO} eq 'dhcp') {
+ push @ks, network => 'dhcp';
+ } else {
+ push @ks, network => 'static', ip => $intf->{IPADDR}, netmask => $intf->{NETMASK}, gateway => $o->{net}{network}{GATEWAY};
+ require network::network;
+ if (my @dnss = network::network::dnsServers($o->{net})) {
+ push @ks, dns => $dnss[0];
+ }
+ }
+ }
+
+ #- sync it with ../mdk-stage1/automatic.c
+ my %aliases = (method => 'met', network => 'netw', interface => 'int', gateway => 'gat', netmask => 'netm',
+ adsluser => 'adslu', adslpass => 'adslp', hostname => 'hos', domain => 'dom', server => 'ser',
+ directory => 'dir', user => 'use', pass => 'pas', disk => 'dis', partition => 'par');
+
+ 'automatic=' . join(',', map { ($aliases{$_->[0]} || $_->[0]) . ':' . $_->[1] } group_by2(@ks));
+}
+
+sub find_root_parts {
+ my ($fstab, $prefix) = @_;
+
+ grep { $_->{release} =~ /\b(mandrake|mandrakelinux|mandriva|conectiva|mageia)\b/i }
+ _find_root_parts($fstab, $prefix);
+}
+
+sub _find_root_parts {
+ my ($fstab, $prefix) = @_;
+
+ if ($::local_install) {
+ my $f = common::release_file('/mnt') or return;
+ return common::parse_release_file('/mnt', $f, {});
+ }
+
+ map {
+ my $handle = any::inspect($_, $prefix);
+ if (my $f = $handle && common::release_file($handle->{dir})) {
+ common::parse_release_file($handle->{dir}, $f, $_);
+ } else { () }
+ } grep { isTrueLocalFS($_) } @$fstab;
+}
+
+sub migrate_device_names {
+ my ($all_hds, $from_fstab, $new_root, $root_from_fstab, $o_in) = @_;
+
+ log::l("warning: fstab says root partition is $root_from_fstab->{device}, whereas we were reading fstab from $new_root->{device}");
+ my ($old_prefix, $old_part_number) = devices::simple_partition_scan($root_from_fstab);
+ my ($new_prefix, $new_part_number) = devices::simple_partition_scan($new_root);
+
+ if ($old_part_number != $new_part_number) {
+ log::l("argh, $root_from_fstab->{device} and $old_part_number->{device} are not the same partition number");
+ return;
+ }
+
+ log::l("replacing $old_prefix with $new_prefix");
+
+ my %h;
+ foreach (@$from_fstab) {
+ if ($_->{device} =~ s!^\Q$old_prefix!$new_prefix!) {
+ #- this is simple to handle, nothing more to do
+ } elsif ($_->{part_number}) {
+ my $device_prefix = devices::part_prefix($_);
+ push @{$h{$device_prefix}}, $_;
+ } else {
+ #- hopefully this does not need anything special
+ }
+ }
+ my @from_fstab_per_hds = values %h or return;
+
+
+ my @current_hds = grep { $new_root->{rootDevice} ne $_->{device} } fs::get::hds($all_hds);
+
+ found_one:
+ @from_fstab_per_hds or return;
+
+ foreach my $from_fstab_per_hd (@from_fstab_per_hds) {
+ my ($matching, $other) = partition {
+ my $hd = $_;
+ every {
+ my $wanted = $_;
+ my $part = find { $_->{part_number} eq $wanted->{part_number} } partition_table::get_normal_parts($hd);
+ $part && $part->{fs_type} && fs::type::can_be_this_fs_type($wanted, $part->{fs_type});
+ } @$from_fstab_per_hd;
+ } @current_hds;
+ @$matching == 1 or next;
+
+ my ($hd) = @$matching;
+ @current_hds = @$other;
+ @from_fstab_per_hds = grep { $_ != $from_fstab_per_hd } @from_fstab_per_hds;
+
+ log::l("$hd->{device} nicely corresponds to " . join(' ', map { $_->{device} } @$from_fstab_per_hd));
+ foreach (@$from_fstab_per_hd) {
+ partition_table::compute_device_name($_, $hd);
+ }
+ goto found_one;
+ }
+
+ #- we cannot find one and only one matching hd
+ my @from_fstab_not_handled = map { @$_ } @from_fstab_per_hds;
+ log::l("we still do not know what to do with: " . join(' ', map { $_->{device} } @from_fstab_not_handled));
+
+
+ if (!$o_in) {
+ log::l("well, ignoring them!");
+ return;
+ }
+
+ my $propositions_valid = every {
+ my $wanted = $_;
+ my @parts = grep { $_->{part_number} eq $wanted->{part_number}
+ && $_->{fs_type} && fs::type::can_be_this_fs_type($wanted, $_->{fs_type}) } fs::get::hds_fstab(@current_hds);
+ $wanted->{propositions} = \@parts;
+ @parts > 0;
+ } @from_fstab_not_handled;
+
+ $o_in->ask_from('',
+ N("The following disk(s) were renamed:"),
+ [ map {
+ { label => N("%s (previously named as %s)", $_->{mntpoint}, $_->{device}),
+ val => \$_->{device}, format => sub { $_[0] && $_->{device} },
+ list => [ '',
+ $propositions_valid ? @{$_->{propositions}} :
+ fs::get::hds_fstab(@current_hds) ] };
+ } @from_fstab_not_handled ]);
+}
+
+sub use_root_part {
+ my ($all_hds, $part, $o_in) = @_;
+ return if $::local_install;
+
+ my $migrate_device_names;
+ {
+ my $handle = any::inspect($part, $::prefix) or internal_error();
+
+ my @from_fstab = fs::read_fstab($handle->{dir}, '/etc/fstab', 'keep_default');
+
+ my $root_from_fstab = fs::get::root_(\@from_fstab);
+ if (!fs::get::is_same_hd($root_from_fstab, $part)) {
+ $migrate_device_names = 1;
+ log::l("from_fstab contained: $_->{device} $_->{mntpoint}") foreach @from_fstab;
+ migrate_device_names($all_hds, \@from_fstab, $part, $root_from_fstab, $o_in);
+ log::l("from_fstab now contains: $_->{device} $_->{mntpoint}") foreach @from_fstab;
+ }
+ fs::add2all_hds($all_hds, @from_fstab);
+ log::l("fstab is now: $_->{device} $_->{mntpoint}") foreach fs::get::fstab($all_hds);
+ }
+ isSwap($_) and $_->{mntpoint} = 'swap' foreach fs::get::really_all_fstab($all_hds); #- use all available swap.
+ $migrate_device_names;
+}
+
+sub getHds {
+ my ($o, $o_in) = @_;
+ fs::any::get_hds($o->{all_hds} ||= {}, $o->{fstab} ||= [],
+ $o->{manualFstab}, $o->{partitioning}, $::local_install, $o_in);
+}
+
+sub removable_media__early_in_install() {
+ eval { modules::load('usb_storage', 'sd_mod') } if detect_devices::usbStorage();
+ my $all_hds = fsedit::get_hds({});
+ fs::get_raw_hds('', $all_hds);
+
+ my @l1 = grep { detect_devices::isKeyUsb($_) } @{$all_hds->{hds}};
+ my @l2 = grep { $_->{media_type} eq 'fd' || detect_devices::isKeyUsb($_) } @{$all_hds->{raw_hds}};
+ (fs::get::hds_fstab(@l1), @l2);
+}
+
+my %media_browser;
+sub media_browser {
+ my ($in, $save, $o_suggested_name) = @_;
+
+ my %media_type2text = (
+ fd => N("Floppy"),
+ hd => N("Hard Disk"),
+ cdrom => N("CDROM"),
+ );
+ my @network_protocols = (if_(!$save, N_("HTTP")), if_(0, N_("FTP")), N_("NFS"));
+
+ my $to_text = sub {
+ my ($hd) = @_;
+ ($media_type2text{$hd->{media_type}} || $hd->{media_type}) . ': ' . partition_table::description($hd);
+ };
+
+ ask_media:
+ my $all_hds = fsedit::get_hds({}, $in);
+ fs::get_raw_hds('', $all_hds);
+
+ my @raw_hds = grep { !$save || $_->{media_type} ne 'cdrom' } @{$all_hds->{raw_hds}};
+ my @dev_and_text = group_by2(
+ (map { $_ => $to_text->($_) } @raw_hds),
+ (map {
+ my $hd = $to_text->($_);
+ map { $_ => join('\1', $hd, partition_table::description($_)) } grep { isTrueFS($_) || isOtherAvailableFS($_) } fs::get::hds_fstab($_);
+ } fs::get::hds($all_hds)),
+ if_(is_network_install($::o) || install::steps::hasNetwork($::o),
+ map { $_ => join('\1', N("Network"), translate($_)) } @network_protocols),
+ );
+
+ $in->ask_from_({
+ messages => N("Please choose a media"),
+ }, [
+ { val => \$media_browser{dev}, separator => '\1', list => [ map { $_->[1] } @dev_and_text ] },
+ ]) or return;
+
+ my $dev = (find { $_->[1] eq $media_browser{dev} } @dev_and_text)->[0];
+
+ my $browse = sub {
+ my ($dir) = @_;
+
+ browse:
+ my $file = $in->ask_filename({ save => $save,
+ directory => $dir,
+ if_($o_suggested_name, file => "$dir/$o_suggested_name"),
+ }) or return;
+ if (-e $file && $save) {
+ $in->ask_yesorno('', N("File already exists. Overwrite it?")) or goto browse;
+ }
+ if ($save) {
+ if (!open(my $_fh, ">>$file")) {
+ $in->ask_warn('', N("Permission denied"));
+ goto browse;
+ }
+ $file;
+ } else {
+ common::open_file($file) || goto browse;
+ }
+ };
+ my $inspect_and_browse = sub {
+ my ($dev) = @_;
+
+ if (my $h = any::inspect($dev, $::prefix, $save)) {
+ if (my $file = $browse->($h->{dir})) {
+ return $h, $file;
+ }
+ undef $h; #- help perl
+ } else {
+ $in->ask_warn(N("Error"), formatError($@));
+ }
+ ();
+ };
+
+ if (member($dev, @network_protocols)) {
+ require install::interactive;
+ install::interactive::upNetwork($::o);
+
+ if ($dev eq 'HTTP') {
+ require install::http;
+ $media_browser{url} ||= 'http://';
+
+ while (1) {
+ $in->ask_from('', 'URL', [
+ { val => \$media_browser{url} }
+ ]) or last;
+
+ if ($dev eq 'HTTP') {
+ my $fh = install::http::getFile($media_browser{url});
+ $fh and return '', $fh;
+ }
+ }
+ } elsif ($dev eq 'NFS') {
+ while (1) {
+ $in->ask_from('', 'NFS', [
+ { val => \$media_browser{nfs} }
+ ]) or last;
+
+ my ($kind) = fs::wild_device::analyze($media_browser{nfs});
+ if ($kind ne 'nfs') {
+ $in->ask_warn('', N("Bad NFS name"));
+ next;
+ }
+
+ my $nfs = fs::wild_device::to_subpart($media_browser{nfs});
+ $nfs->{fs_type} = 'nfs';
+
+ if (my ($h, $file) = $inspect_and_browse->($nfs)) {
+ return $h, $file;
+ }
+ }
+ } else {
+ $in->ask_warn('', 'todo');
+ goto ask_media;
+ }
+ } else {
+ if (!$dev->{fs_type} || $dev->{fs_type} eq 'auto' || $dev->{fs_type} =~ /:/) {
+ if (my $p = fs::type::type_subpart_from_magic($dev)) {
+ add2hash($p, $dev);
+ $dev = $p;
+ } else {
+ $in->ask_warn(N("Error"), N("Bad media %s", partition_table::description($dev)));
+ goto ask_media;
+ }
+ }
+
+ if (my ($h, $file) = $inspect_and_browse->($dev)) {
+ return $h, $file;
+ }
+
+ goto ask_media;
+ }
+}
+
+sub X_options_from_o {
+ my ($o) = @_;
+ {
+ freedriver => $o->{freedriver},
+ allowFB => $o->{allowFB},
+ ignore_bad_conf => $o->{isUpgrade} =~ /redhat|conectiva/,
+ };
+}
+
+sub screenshot_dir__and_move() {
+ my ($dir0, $dir1, $dir2) = ('/root', "$::prefix/root", '/tmp');
+ if (-e $dir0 && ! -e '/root/non-chrooted-marker.DrakX') {
+ ($dir0, 'nowarn'); #- it occurs during pkgs install when we are chrooted
+ } elsif (-e $dir1) {
+ my $path = "$dir2/DrakX-screenshots";
+ if (-e $path) {
+ cp_af($path, $dir1);
+ rm_rf($path);
+ }
+ $dir1;
+ } else {
+ $dir2;
+ }
+}
+
+my $warned;
+sub take_screenshot {
+ my ($in) = @_;
+ my ($base_dir, $nowarn) = screenshot_dir__and_move();
+ my $dir = "$base_dir/DrakX-screenshots";
+ if (!-e $dir) {
+ mkdir $dir or $in->ask_warn('', N("Cannot make screenshots before partitioning")), return;
+ }
+ my $nb = 1;
+ $nb++ while -e "$dir/$nb.png";
+ run_program::run('scrot', "$dir/$nb.png");
+
+ # help doesn't remember warning has been shown (one shot processes):
+ $warned ||= -e "$dir/2.png";
+
+ if (!$warned && !$nowarn) {
+ $warned = 1;
+ $in->ask_warn('', N("Screenshots will be available after install in %s", "/root/DrakX-screenshots"));
+ }
+}
+
+sub copy_advertising {
+ my ($o) = @_;
+
+ return if $::rootwidth < 800;
+
+ my $f;
+ my $source_dir = "install/extra/advertising";
+ foreach ("." . $o->{locale}{lang}, "." . substr($o->{locale}{lang},0,2), '') {
+ $f = getFile_($o->{stage2_phys_medium}, "$source_dir$_/list") or next;
+ $source_dir = "$source_dir$_";
+ }
+ if (my @files = <$f>) {
+ my $dir = "$::prefix/tmp/drakx-images";
+ mkdir $dir;
+ unlink glob_("$dir/*");
+ foreach (@files) {
+ chomp;
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "$source_dir/$_", "$dir/$_");
+ (my $pl = $_) =~ s/\.png/.pl/;
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "$source_dir/$pl", "$dir/$pl");
+ }
+ @advertising_images = map { "$dir/$_" } @files;
+ }
+}
+
+sub remove_advertising() {
+ eval { rm_rf("$::prefix/tmp/drakx-images") };
+ @advertising_images = ();
+}
+
+sub disable_user_view() {
+ substInFile { s/^Browser=.*/Browser=0/ } "$::prefix/etc/X11/gdm/custom.conf";
+ #TODO: Needed for sddm ?
+}
+
+sub set_security {
+ my ($o) = @_;
+ require security::various;
+ return if !-x "$::prefix/usr/sbin/msec";
+ security::level::set($o->{security});
+ security::various::config_security_user($::prefix, $o->{security_user});
+}
+
+sub write_fstab {
+ my ($o) = @_;
+ return if $::local_install || $o->{isUpgrade} && $o->{isUpgrade} !~ /redhat|conectiva/ && !$o->{migrate_device_names};
+ fs::write_fstab($o->{all_hds}, $::prefix);
+}
+
+=item adjust_files_mtime_to_timezone() {
+
+Fixes mtime of a couple important files according to timezone in order to:
+
+=over 4
+
+=item * to ensure linuxconf does not cry against those files being in the future
+
+=item * to ensure fc-cache works correctly on fonts installed after reboot
+
+=back
+
+=cut
+
+sub adjust_files_mtime_to_timezone() {
+ my $timezone_shift = run_program::rooted_get_stdout($::prefix, 'date', '+%z');
+ my ($h, $m) = $timezone_shift =~ /\+(..)(..)/ or return;
+ my $now = time() - ($h * 60 + $m * 60) * 60;
+
+ my @files = (
+ (map { "$::prefix/$_" } '/etc/modules.conf', '/etc/crontab', '/etc/sysconfig/mouse', '/etc/sysconfig/network', '/etc/X11/fs/config'),
+ glob_("$::prefix/var/cache/fontconfig/*"),
+ );
+ log::l("adjust_files_mtime_to_timezone: setting time back $h:$m for files " . join(' ', @files));
+ foreach (@files) {
+ utime $now, $now, $_;
+ }
+}
+
+
+sub move_compressed_image_to_disk {
+ my ($o) = @_;
+
+ our $compressed_image_on_disk;
+ return if $compressed_image_on_disk || $::local_install;
+
+ my $name = 'mdkinst.sqfs';
+ my ($loop, $current_image) = devices::find_compressed_image($name) or return;
+ my $compressed_image_size = (-s $current_image) / 1024; #- put in KiB
+
+ my $dir;
+ if (availableRamMB() > 400) {
+ $dir = '/tmp'; #- on tmpfs
+ } else {
+ my $tmp = fs::get::mntpoint2part('/tmp', $o->{fstab});
+ if ($tmp && fs::df($tmp, $::prefix) / 2 > $compressed_image_size * 1.2) { #- we want at least 20% free afterwards
+ $dir = "$::prefix/tmp";
+ } else {
+ my $root = fs::get::mntpoint2part('/', $o->{fstab});
+ my $root_free_MB = fs::df($root, $::prefix) / 2 / 1024;
+ my $wanted_size_MB = $o->{isUpgrade} || fs::get::mntpoint2part('/usr', $o->{fstab}) ? 150 : 300;
+ log::l("compressed image: root free $root_free_MB MB, wanted at least $wanted_size_MB MB");
+ if ($root_free_MB > $wanted_size_MB) {
+ $dir = $tmp ? $::prefix : "$::prefix/tmp";
+ } else {
+ $dir = '/tmp'; #- on tmpfs
+ if (availableRamMB() < 200) {
+ log::l("ERROR: not much ram (" . availableRamMB() . " MB), we're going in the wall!");
+ }
+ }
+ }
+ }
+ $compressed_image_on_disk = "$dir/$name";
+
+ if ($current_image ne $compressed_image_on_disk) {
+ log::l("move_compressed_image_to_disk: copying $current_image to $compressed_image_on_disk");
+ cp_af($current_image, $compressed_image_on_disk);
+ run_program::run('losetup', '-r', $loop, $compressed_image_on_disk);
+ unlink $current_image if $current_image eq "/tmp/$name";
+ }
+}
+
+sub deploy_server_notify {
+ my ($o) = @_;
+ my $fallback_intf = "eth0";
+ my $fallback_port = 3710;
+
+ my ($server, $port) = $o->{deploy_server} =~ /^(.*?)(?::(\d+))?$/;
+ if ($server) {
+ require network::tools;
+ require IO::Socket;
+ $port ||= $fallback_port;
+ my $intf = network::tools::get_current_gateway_interface() || $fallback_intf;
+ my $mac = c::get_hw_address($intf);
+ my $sock = IO::Socket::INET->new(PeerAddr => $server, PeerPort => $port, Proto => 'tcp');
+ if ($sock) {
+ print $sock "$mac\n";
+ close($sock);
+ log::l(qq(successfully notified deploy server $server on port $port));
+ } else {
+ log::l(qq(unable to contact deploy server $server on port $port));
+ }
+ } else {
+ log::l(qq(unable to parse deploy server in string $o->{deploy_server}));
+ }
+}
+
+#-###############################################################################
+#- pcmcia various
+#-###############################################################################
+sub configure_pcmcia {
+ my ($o) = @_;
+ my $controller = detect_devices::pcmcia_controller_probe();
+ $o->{pcmcia} ||= $controller && $controller->{driver} or return;
+ log::l("configuring PCMCIA controller ($o->{pcmcia})");
+ symlink "/tmp/stage2/$_", $_ foreach "/etc/pcmcia";
+ eval { modules::load($o->{pcmcia}, 'pcmcia') };
+ run_program::run("/lib/udev/pcmcia-socket-startup");
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/install/commands b/perl-install/install/commands
new file mode 100755
index 000000000..7a5fc908c
--- /dev/null
+++ b/perl-install/install/commands
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use diagnostics;
+use strict;
+
+use lib qw(/usr/lib/libDrakX .);
+use common;
+use install::commands;
+
+$::isInstall = 1;
+$::prefix = '/mnt';
+my $progname = basename($0);
+
+eval {
+ # hack as some functions are defined by perl... so chmod -> chmod_
+ &{$install::commands::{$progname} || $install::commands::{$progname . "_"} || \&err}(@ARGV), exit 0;
+};
+die formatError($@) . "\n";
+
+sub err() { die "$0: unknown program (unimplemented)\n" }
diff --git a/perl-install/install/commands.pm b/perl-install/install/commands.pm
new file mode 100644
index 000000000..79f49b980
--- /dev/null
+++ b/perl-install/install/commands.pm
@@ -0,0 +1,432 @@
+package install::commands;
+
+#-########################################################################
+#- This file implement many common shell commands:
+#- true, false, cat, which, dirname, basename, rmdir, grep, tr,
+#- mount, mkdir, mknod, ln, rm, chmod, chown, swapon,
+#- swapoff, ls, cp, ps, dd, head, tail, strings, hexdump, more,
+#- route, df, kill, lspci, lssbus, dmesg, sort, du,
+#-########################################################################
+
+use diagnostics;
+use strict;
+use vars qw($printable_chars *ROUTE *DF *PS);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+sub getopts {
+ my $o = shift;
+ my @r = map { '' } (@_ = split //, $_[0]);
+ while (1) {
+ local $_ = $o->[0];
+ $_ && /^-/ or return @r;
+ for (my $i = 0; $i < @_; $i++) { /$_[$i]/ and $r[$i] = $_[$i] }
+ shift @$o;
+ }
+ @r;
+}
+
+sub true() { exit 0 }
+sub false() { exit 1 }
+sub cat { @ARGV = @_; print while <> }
+sub dirname_ { print dirname(@_), "\n" }
+sub basename_ { print basename(@_), "\n" }
+sub rmdir_ { foreach (@_) { rmdir $_ or die "rmdir: cannot remove $_\n" } }
+sub which {
+ ARG: foreach (@_) { foreach my $c (split /:/, $ENV{PATH}) { -x "$c/$_" and print("$c/$_\n"), next ARG } }
+}
+
+sub grep_ {
+ my ($h, $v, $i) = getopts(\@_, qw(hvi));
+ @_ == 0 || $h and die "usage: grep <regexp> [files...]\n";
+ my $r = shift;
+ $r = qr/$r/i if $i;
+ @ARGV = @_; (/$r/ xor $v) and print while <>;
+}
+
+sub tr_ {
+ my ($s, $c, $d) = getopts(\@_, qw(s c d));
+ @_ >= 1 + (!$d || $s) or die "usage: tr [-c] [-s [-d]] <set1> <set2> [files...]\n or tr [-c] -d <set1> [files...]\n";
+ my $set1 = shift;
+ my $set2; !$d || $s and $set2 = shift;
+ @ARGV = @_;
+ eval "(tr/$set1/$set2/$s$d$c, print) while <>";
+}
+
+sub mkdir_ {
+ my ($_rec) = getopts(\@_, qw(p));
+ mkdir_p($_) foreach @_;
+}
+
+
+sub mknod {
+ if (@_ == 1) {
+ require devices;
+ eval { devices::make($_[0]) }; $@ and die "mknod: failed to create $_[0]\n";
+ } elsif (@_ == 4) {
+ require c;
+ my $mode = ${{ "b" => c::S_IFBLK(), "c" => c::S_IFCHR() }}{$_[1]} or die "unknown node type $_[1]\n";
+ syscall_('mknod', my $_a = $_[0], $mode | 0600, makedev($_[2], $_[3])) or die "mknod failed: $!\n";
+ } else { die "usage: mknod <path> [b|c] <major> <minor> or mknod <path>\n" }
+}
+
+sub ln {
+ my ($force, $soft) = getopts(\@_, qw(fs));
+ @_ >= 1 or die "usage: ln [-s] [-f] <source> [<dest>]\n";
+
+ my ($source, $dest) = @_;
+ $dest ||= basename($source);
+
+ $force and unlink $dest;
+
+ ($soft ? symlink($source, $dest) : link($source, $dest)) or die "ln failed: $!\n";
+}
+
+sub rm {
+ my ($rec, undef) = getopts(\@_, qw(rf));
+
+ my $rm; $rm = sub {
+ foreach (@_) {
+ if (!-l $_ && -d $_) {
+ $rec or die "$_ is a directory\n";
+ &$rm(glob_($_));
+ rmdir $_ or die "cannot remove directory $_: $!\n";
+ } else { unlink $_ or die "rm of $_ failed: $!\n" }
+ }
+ };
+ &$rm(@_);
+}
+
+sub chmod_ {
+ @_ >= 2 or die "usage: chmod <mode> <files>\n";
+
+ my $mode = shift;
+ $mode =~ /^[0-7]+$/ or die "illegal mode $mode\n";
+
+ foreach (@_) { chmod oct($mode), $_ or die "chmod failed $_: $!\n" }
+}
+
+sub chown_ {
+ my ($rec, undef) = getopts(\@_, qw(r));
+ local $_ = shift or die "usage: chown [-r] name[.group] <files>\n";
+
+ my ($name, $group) = (split('\.'), $_);
+
+ common::chown_($rec, $name, $group, @_);
+}
+
+sub swapon {
+ @_ == 1 or die "swapon <file>\n";
+ require fs::mount;
+ fs::mount::swapon($_[0]);
+}
+sub swapoff {
+ @_ == 1 or die "swapoff <file>\n";
+ require fs::mount;
+ fs::mount::swapoff($_[0]);
+}
+
+sub rights {
+ my $r = '-' x 9;
+ my @rights = (qw(x w r x w r x w r), ['t', 0], ['s', 3], ['s', 6]);
+ for (my $i = 0; $i < @rights; $i++) {
+ if (vec(pack("S", $_[0]), $i, 1)) {
+ my ($val, $place) = $i >= 9 ? @{$rights[$i]} : ($rights[$i], $i);
+ my $old = \substr($r, 8 - $place, 1);
+ $$old = $$old eq '-' && $i >= 9 ? uc $val : $val;
+ }
+ }
+ my @types = split //, "_pc_d_b_-_l_s";
+ $types[($_[0] >> 12) & 0xf] . $r;
+}
+
+sub displaySize {
+ my $m = $_[0] >> 12;
+ $m == 4 || $m == 8 || $m == 10;
+}
+
+sub ls {
+ my ($l, $h) = getopts(\@_, qw(lh));
+ $h and die "usage: ls [-l] <files...>\n";
+
+ @_ or @_ = '.';
+ @_ == 1 && -d $_[0] and @_ = glob_($_[0]);
+ foreach (sort @_) {
+ if ($l) {
+ my @s = lstat or warn("cannot stat file $_\n"), next;
+ formline(
+"@<<<<<<<<< @<<<<<<< @<<<<<<< @>>>>>>>> @>>>>>>>>>>>>>>> @*\n",
+ rights($s[2]), getpwuid $s[4] || $s[4], getgrgid $s[5] || $s[5],
+ displaySize($s[2]) ? $s[7] : join(", ", unmakedev($s[6])),
+ scalar localtime $s[9], -l $_ ? "$_ -> " . readlink $_ : $_);
+ print $^A; $^A = '';
+ } else { print "$_\n" }
+ }
+}
+sub cp {
+ @_ >= 2 or die "usage: cp <sources> <dest>\n(this cp does -Rfl by default)\n";
+ cp_af(@_);
+}
+
+sub ps {
+ @_ and die "usage: ps\n";
+ my ($pid, $rss, $cpu, $cmd);
+ my ($uptime) = split ' ', first(cat_("/proc/uptime"));
+ my $hertz = 100;
+
+ require c;
+ my $page = c::getpagesize() / 1024;
+
+ open PS, ">&STDOUT"; #- PS must be not be localised otherwise the "format PS" fails
+ format PS_TOP =
+ PID RSS %CPU CMD
+.
+ format PS =
+@>>>> @>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$pid, $rss, $cpu, $cmd
+.
+ foreach (sort { $a <=> $b } grep { /\d+/ } all('/proc')) {
+ $pid = $_;
+ my @l = split(' ', cat_("/proc/$pid/stat"));
+ $cpu = sprintf "%2.1f", max(0, min(99, ($l[13] + $l[14]) * 100 / $hertz / ($uptime - $l[21] / $hertz)));
+ $rss = (split ' ', cat_("/proc/$pid/stat"))[23] * $page;
+ ($cmd = cat_("/proc/$pid/cmdline")) =~ s/\0/ /g;
+ $cmd ||= (split ' ', (cat_("/proc/$pid/stat"))[0])[1];
+ write PS;
+ }
+}
+
+
+sub dd {
+ my $u = "usage: dd [-h] [-p] [if=<file>] [of=<file>] [bs=<number>] [count=<number>]\n";
+ my ($help, $percent) = getopts(\@_, qw(hp));
+ die $u if $help;
+ my %h = (if => \*STDIN, of => \*STDOUT, bs => 512, count => undef);
+ foreach (@_) {
+ /(.*?)=(.*)/ && exists $h{$1} or die $u;
+ $h{$1} = $2;
+ }
+ local (*IF, *OF); my ($tmp, $nb, $read);
+ ref($h{if}) eq 'GLOB' ? (*IF = $h{if}) : sysopen(IF, $h{if}, 0) || die "error: cannot open file $h{if}\n";
+ ref($h{of}) eq 'GLOB' ? (*OF = $h{of}) : sysopen(OF, $h{of}, c::O_CREAT()|c::O_WRONLY()) || die "error: cannot open file $h{of}\n";
+
+ $h{bs} = removeXiBSuffix($h{bs});
+
+ for ($nb = 0; !$h{count} || $nb < $h{count}; $nb++) {
+ printf "\r%02.1d%%", 100 * $nb / $h{count} if $h{count} && $percent;
+ $read = sysread(IF, $tmp, $h{bs}) or ($h{count} ? die "error: cannot read block $nb\n" : last);
+ syswrite(OF, $tmp) or die "error: cannot write block $nb\n";
+ $read < $h{bs} and $read = 1, last;
+ }
+ print STDERR "\r$nb+$read records in\n";
+ print STDERR "$nb+$read records out\n";
+}
+
+sub head_tail {
+ my ($h, $n) = getopts(\@_, qw(hn));
+ $h || @_ < to_bool($n) and die "usage: $0 [-h] [-n lines] [<file>]\n";
+ $n = $n ? shift : 10;
+ my $fh = @_ ? common::open_file($_[0]) || die "error: cannot open file $_[0]\n" : *STDIN;
+
+ if ($0 eq 'head') {
+ local $_;
+ while (<$fh>) { $n-- or return; print }
+ } else {
+ @_ = ();
+ local $_;
+ while (<$fh>) { push @_, $_; @_ > $n and shift }
+ print @_;
+ }
+}
+sub head { $0 = 'head'; &head_tail }
+sub tail { $0 = 'tail'; &head_tail }
+
+sub strings {
+ my ($h, $o, $n) = getopts(\@_, qw(hon));
+ $h and die "usage: strings [-o] [-n min-length] [<files>]\n";
+ $n = $n ? shift : 4;
+ $/ = "\0"; @ARGV = @_; my $l = 0;
+ local $_;
+ while (<>) {
+ while (/[$printable_chars]{$n,}/og) {
+ printf "%07d ", ($l + length $') if $o;
+ print "$&\n";
+ }
+ $l += length;
+ } continue { $l = 0 if eof }
+}
+
+sub hexdump {
+ my $i = 0; $/ = \16; @ARGV = @_;
+ local $_;
+ while (<>) {
+ printf "%08lX ", $i; $i += 16;
+ print join(" ", (map { sprintf "%02X", $_ } unpack("C*", $_)),
+ (s/[^$printable_chars]/./og, $_)[1]), "\n";
+ }
+}
+
+sub more {
+ @ARGV = @_;
+ require devices;
+ my $tty = '/dev/tty';
+ my $n = 0;
+ open(my $IN, $tty) or die "cannot open $tty\n";
+ local $_;
+ while (<>) {
+ if (++$n == 25) {
+ my $v = <$IN>;
+ $v =~ /^q/ and exit 0;
+ $n = 0;
+ }
+ print;
+ }
+}
+
+sub route {
+ @_ == 0 or die "usage: route\nsorry, no modification handled\n";
+ my ($titles, @l) = cat_("/proc/net/route");
+ my @titles = split ' ', $titles;
+ my %l;
+ open ROUTE, ">&STDOUT"; #- ROUTE must be not be localised otherwise the "format ROUTE" fails
+ format ROUTE_TOP =
+Destination Gateway Mask Iface
+.
+ format ROUTE =
+@<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<
+$l{Destination}, $l{Gateway}, $l{Mask}, $l{Iface}
+.
+ foreach (@l) {
+ /^\s*$/ and next;
+ @l{@titles} = split;
+ $_ = join ".", reverse map { hex $_ } unpack "a2a2a2a2", $_ foreach @l{qw(Destination Gateway Mask)};
+ $l{Destination} = 'default' if $l{Destination} eq "0.0.0.0";
+ $l{Gateway} = '*' if $l{Gateway} eq "0.0.0.0";
+ write ROUTE;
+ }
+}
+
+sub df {
+ my ($h) = getopts(\@_, qw(h));
+ my ($dev, $size, $free, $used, $use, $mntpoint);
+ open DF, ">&STDOUT"; #- DF must be not be localised otherwise the "format DF" fails
+ format DF_TOP =
+Filesystem Size Used Avail Use Mounted on
+.
+ format DF =
+@<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>>> @>>>>>% @<<<<<<<<<<<<<<<<<<<<<<<<<
+$dev, $size, $used, $free, $use, $mntpoint
+.
+ my %h;
+ foreach (cat_("/proc/mounts"), cat_("/etc/mtab")) {
+ ($dev, $mntpoint) = split;
+ $h{$dev} = $mntpoint;
+ }
+ foreach (sort keys %h) {
+ $dev = $_;
+ ($size, $free) = MDK::Common::System::df($mntpoint = $h{$dev});
+ $size or next;
+
+ $use = int(100 * ($size - $free) / $size);
+ $used = $size - $free;
+ if ($h) {
+ $used = int($used / 1024 . "M");
+ $size = int($size / 1024 . "M");
+ $free = int($free / 1024 . "M");
+ }
+ write DF if $size;
+ }
+}
+
+sub kill {
+ my $signal = 15;
+ @_ or die "usage: kill [-<signal>] pids\n";
+ $signal = (shift, $1)[1] if $_[0] =~ /^-(.*)/;
+ kill $signal, @_ or die "kill failed: $!\n";
+}
+
+sub lssbus { &lspci }
+sub lspci { &lspcidrake }
+sub lspcidrake {
+ require detect_devices;
+ print join "\n", detect_devices::stringlist($_[0] eq '-v'), '';
+}
+
+sub dmesg() { print cat_("/tmp/syslog") }
+
+sub sort {
+ my ($n, $h) = getopts(\@_, qw(nh));
+ $h and die "usage: sort [-n] [<file>]\n";
+ my $fh = @_ ? common::open_file($_[0]) || die "error: cannot open file $_[0]\n" : *STDIN;
+ if ($n) {
+ print(sort { $a <=> $b } <$fh>);
+ } else {
+ print(sort <$fh>);
+ }
+}
+
+sub du {
+ my ($s, $h) = getopts(\@_, qw(sh));
+ $h || !$s and die "usage: du -s [<directories>]\n";
+
+ my $f; $f = sub {
+ my ($e) = @_;
+ my $s = (lstat($e))[12];
+ $s += sum(map { &$f($_) } glob_("$e/*")) if !-l _ && -d _;
+ $s;
+ };
+ print &$f($_) >> 1, "\t$_\n" foreach @_ ? @_ : glob_("*");
+}
+
+sub bug {
+ my ($h) = getopts(\@_, "h");
+ my ($o_part_device) = @_;
+ $h and die "usage: bug [device]\nput file report.bug on a floppy or usb key\n";
+
+ require any;
+ require modules;
+ list_modules::load_default_moddeps();
+
+ my $part;
+ if ($o_part_device) {
+ $part = { device => $o_part_device };
+ } else {
+ require interactive::stdio;
+ my $in = interactive::stdio->new;
+
+ require install::any;
+ my @devs = install::any::removable_media__early_in_install();
+ @devs or die "You need to plug a removable medium (USB key, floppy, ...)\n";
+
+ $part = $in->ask_from_listf('', "Which device?", \&partition_table::description,
+ \@devs) or return;
+ }
+
+ warn "putting file report.bug on $part->{device}\n";
+ my $fs_type = fs::type::fs_type_from_magic($part) or die "unknown fs type\n";
+
+ fs::mount::mount(devices::make($part->{device}), '/fd', $fs_type);
+
+ require install::any;
+ output('/fd/report.bug', install::any::report_bug());
+ fs::mount::umount('/fd');
+ common::sync();
+}
+
+sub loadkeys {
+ my ($h) = getopts(\@_, "h");
+ $h || @_ != 1 and die "usage: loadkeys <keyboard>\n";
+
+ require keyboard;
+ keyboard::setup_install({ KEYBOARD => $_[0] });
+}
+
+sub sync() { common::sync() }
+
+1;
diff --git a/perl-install/install/ftp.pm b/perl-install/install/ftp.pm
new file mode 100644
index 000000000..c69cdab25
--- /dev/null
+++ b/perl-install/install/ftp.pm
@@ -0,0 +1,100 @@
+package install::ftp;
+
+use Net::FTP;
+
+use network::network;
+use log;
+
+my %hosts;
+
+1;
+
+sub parse_ftp_url {
+ my ($url) = @_;
+ $url =~ m!^ftp://(?:(.*?)(?::(.*?))?\@)?([^/]+)/(.*)! &&
+ ($3, $4, $1, $2);
+}
+
+sub _new {
+ my ($url) = @_;
+ my ($host, $prefix, $login, $password) = parse_ftp_url($url);
+
+ if ($hosts{"$host$prefix"}) {
+ return @{$hosts{"$host$prefix"}};
+ }
+
+ my %options = (Passive => 1, Timeout => 60, Port => 21);
+ $options{Firewall} = $ENV{PROXY} if $ENV{PROXY};
+ $options{Port} = $ENV{PROXYPORT} if $ENV{PROXYPORT};
+ unless ($login) {
+ $login = 'anonymous';
+ $password = '-drakx@';
+ }
+
+ my $ftp;
+ foreach (1..10) {
+ $ftp = Net::FTP->new(network::network::resolv($host), %options) or die "Can't resolve hostname '$host'\n";
+ $ftp && $ftp->login($login, $password) and last;
+
+ log::l("ftp login failed, sleeping before trying again");
+ sleep 5 * $_;
+ }
+ $ftp or die "unable to open ftp connection to $host\n";
+ $ftp->binary;
+ $ftp->cwd($prefix);
+
+ my @l = ($ftp, \ (my $_retr));
+ $hosts{"$host$prefix"} = \@l;
+ @l;
+}
+
+sub getFile {
+ my ($f, $url) = @_;
+ my ($_size, $fh) = get_file_and_size($f, $url) or return;
+ $fh;
+}
+sub get_file_and_size {
+ my ($f, $url) = @_;
+
+ foreach (1..3) {
+ my ($ftp, $retr) = _new($url);
+ eval { $$retr->close if $$retr };
+ if ($@) {
+ log::l("FTP: closing previous retr failed ($@)");
+ _rewindGetFile(); #- in case Timeout got us on "->close"
+ redo;
+ }
+
+ my $size = $ftp->size($f);
+ $$retr = $ftp->retr($f) and return $size, $$retr;
+
+ my $error = $ftp->code;
+ $error == 550 and log::l("FTP: 550 file unavailable"), return;
+
+ _rewindGetFile();
+ log::l("ftp get failed, sleeping before trying again (error:$error)");
+ sleep 1;
+ }
+}
+
+#-sub closeFiles() {
+#- #- close any existing connections
+#- foreach (values %hosts) {
+#- my $retr = $_->[1] if ref $_;
+#- $$retr->close if $$retr;
+#- undef $$retr;
+#- }
+#-}
+
+sub _rewindGetFile() {
+ #- close any existing connection.
+ foreach (values %hosts) {
+ my ($ftp, $retr) = @{$_ || []};
+ #- do not let Timeout kill us!
+ eval { $$retr->close } if $$retr;
+ eval { $ftp->close } if $ftp;
+ }
+
+ #- make sure to reconnect to server.
+ %hosts = ();
+}
diff --git a/perl-install/install/gtk.pm b/perl-install/install/gtk.pm
new file mode 100644
index 000000000..f878e42d9
--- /dev/null
+++ b/perl-install/install/gtk.pm
@@ -0,0 +1,312 @@
+package install::gtk;
+
+use diagnostics;
+use strict;
+
+use ugtk3;
+use mygtk3;
+use common;
+use lang;
+use devices;
+use detect_devices;
+
+#-#####################################################################################
+#-INTERN CONSTANT
+#-#####################################################################################
+
+# FIXME: either drop 'doc' option or convert this to CSS!
+#- if we're running for the doc team, we want screenshots with
+#- a good B&W contrast: we'll override values of our theme
+my $theme_overriding_for_doc = q(style "galaxy-default"
+{
+ base[SELECTED] = "#E0E0FF"
+ base[ACTIVE] = "#E0E0FF"
+ base[PRELIGHT] = "#E0E0FF"
+ bg[SELECTED] = "#E0E0FF"
+ bg[ACTIVE] = "#E0E0FF"
+ bg[PRELIGHT] = "#E0E0FF"
+ text[ACTIVE] = "#000000"
+ text[PRELIGHT] = "#000000"
+ text[SELECTED] = "#000000"
+ fg[SELECTED] = "#000000"
+}
+
+style "white-on-blue"
+{
+ base[NORMAL] = { 0.93, 0.93, 0.93 }
+ bg[NORMAL] = { 0.93, 0.93, 0.93 }
+
+ text[NORMAL] = "#000000"
+ fg[NORMAL] = "#000000"
+}
+
+style "background"
+{
+ bg[NORMAL] = { 0.93, 0.93, 0.93 }
+}
+
+style "background-logo"
+{
+ bg[NORMAL] = { 0.70, 0.70, 0.70 }
+}
+widget "*logo*" style "background-logo"
+
+);
+
+#------------------------------------------------------------------------------
+sub load_css {
+ my ($o, $name) = @_;
+
+ my $f = $name;
+ -r $name or $f = find { -r $_ } map { "$_/themes-$name.css" } ("share", $ENV{SHARE_PATH}, dirname(__FILE__) . '/..');
+ if ($f) {
+ my $pl = Gtk3::CssProvider->new;
+ $pl->load_from_data($o->{doc} ? $theme_overriding_for_doc : scalar cat_($f));
+ Gtk3::StyleContext::add_provider_for_screen(Gtk3::Gdk::Screen::get_default(), $pl, Gtk3::STYLE_PROVIDER_PRIORITY_APPLICATION);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub load_font {
+ my ($o) = @_;
+
+ if (defined($::WizardWindow) && lang::text_direction_rtl()) {
+ Gtk3::Widget::set_default_direction('rtl');
+ my ($x, $y) = $::WizardWindow->get_position;
+ my ($width) = $::WizardWindow->get_size;
+ $::WizardWindow->move($::rootwidth - $width - $x, $y);
+ }
+
+ my $font = lang::l2pango_font($o->{locale}{lang});
+ my $s = qq(gtk-font-name = $font);
+ my $pl = Gtk3::CssProvider->new;
+ $pl->load_from_data(sprintf("GtkWindow { %s }", lang::l2css_font($o->{locale}{lang})));
+ Gtk3::StyleContext::add_provider_for_screen(Gtk3::Gdk::Screen::get_default(), $pl, Gtk3::STYLE_PROVIDER_PRIORITY_APPLICATION);
+ # FIXME: this should be done in /mnt too for forked app such as gurpmi{,.addmedia} (mga#67):
+ output("/.config/gtk-3.0/settings.ini", qq([Settings]
+$s
+));
+}
+
+#------------------------------------------------------------------------------
+sub default_theme {
+ my ($o) = @_;
+ $o->{simple_themes} || $o->{vga16} ? 'blue' : 'galaxy';
+}
+
+my $root_window;
+
+sub install_theme {
+ my ($o) = @_;
+
+ load_css($o, $o->{theme} ||= default_theme($o));
+ load_font($o);
+
+ my $win = gtknew('Window', widget_name => 'background', title => 'root window');
+ $win->set_type_hint('desktop'); # for matchbox window manager
+ $win->realize;
+ $root_window = $win;
+}
+
+sub create_step_box {
+ gtknew('HBox', spacing => 0, children => [
+ @_,
+ 0, gtknew('Alignment', width => 24),
+ ]);
+}
+
+#------------------------------------------------------------------------------
+my %steps;
+sub create_steps_window {
+ my ($o) = @_;
+
+ $o->{steps_window} and $o->{steps_window}->destroy;
+
+ $steps{$_} ||= gtknew('Pixbuf', file => "steps_$_") foreach qw(on off done);
+
+ my $category = sub {
+ create_step_box(
+ 1, gtknew('Label_Right', text_markup => '<b>' . uc($_[0]) . '</b>', widget_name => 'Step-categories'),
+ );
+ };
+
+ my @l = (
+ $category->(N("Installation"))
+ );
+ foreach (grep { !eval $o->{steps}{$_}{hidden} } @{$o->{orderedSteps}}) {
+ if ($_ eq 'setRootPassword_addUser') {
+ push @l, '', $category->(N("Configuration"));
+ }
+ my $img = gtknew('Image', file => 'steps_off.png');
+ $steps{steps}{$_}{img} = $img;
+ push @l, create_step_box(
+ 1, $steps{steps}{$_}{text} = gtknew('Label_Right', text => translate($o->{steps}{$_}{text})),
+ 0, gtknew('Alignment', width => 6),
+ 0, $img,
+ );
+ }
+
+ my $offset = 10;
+ $o->{steps_widget} =
+ gtknew('MDV_Notebook', widget_name => 'Steps', children => [
+ # 145 is the vertical offset in order to be below the actual logo:
+ [ gtknew('VBox', spacing => 6, width => ($::stepswidth - $offset), children_tight => \@l), 0, 145 ]
+ ]);
+
+ $root_window->add(
+ $o->{steps_window} =
+ gtknew('HBox',
+ children =>
+ [
+ if_($::stepswidth != 0, 0, $o->{steps_widget}),
+ 1, gtknew('Label', width => -1, height => -1),
+ ],
+ )
+ );
+
+ $root_window->set_position('GTK_WIN_POS_CENTER_ALWAYS');
+ $root_window->show_all;
+}
+
+sub update_steps_position {
+ my ($o) = @_;
+ return if !$steps{steps};
+ my $last_step;
+ foreach (@{$o->{orderedSteps}}) {
+ exists $steps{steps}{$_} or next;
+ if ($o->{steps}{$_}{entered} && !$o->{steps}{$_}{done}) {
+ # we need to flush the X queue since else we got a temporary Y position of -1 when switching locales:
+ mygtk3::flush(); #- for auto_installs which never go through the Gtk3 main loop
+ $o->{steps_widget}->move_selection($steps{steps}{$_}{text});
+
+ if ($last_step) {
+ $steps{steps}{$last_step}{img}->set_from_pixbuf($steps{done});
+ }
+ return;
+ }
+ $last_step = $_;
+ }
+ mygtk3::flush(); #- for auto_installs which never go through the Gtk3 main loop
+}
+
+#------------------------------------------------------------------------------
+sub init_gtk {
+ my ($o) = @_;
+
+ symlink("/tmp/stage2/etc/$_", "/etc/$_") foreach qw(gtk-3.0 pango fonts);
+
+ # Custom _global_ CSS:
+ mkdir_p("/.config/gtk-3.0"); # TODO/FIXME: set ENV{HOME} ?
+ # FIXME: this should be done in /mnt too for forked app such as gurpmi{,.addmedia} (mga#67):
+ symlinkf('/usr/lib/libDrakX/gtk.css', '/.config/gtk-3.0/gtk.css');
+
+ if ($o->{vga16}) {
+ #- inactivate antialias in VGA16 because it makes fonts look worse
+ output('/tmp/fonts.conf',
+q(<fontconfig>
+<include>/etc/fonts/fonts.conf</include>
+<match target="font"><edit name="antialias"><bool>false</bool></edit></match>
+</fontconfig>
+));
+ $ENV{FONTCONFIG_FILE} = '/tmp/fonts.conf';
+ }
+
+ Gtk3->init;
+ c::init_setlocale();
+}
+
+#------------------------------------------------------------------------------
+sub init_sizes {
+ my ($o) = @_;
+ ($::rootwidth, $::rootheight) = (Gtk3::Gdk::Screen::width, Gtk3::Gdk::Screen::height);
+ $::stepswidth = $::rootwidth <= 640 ? 0 : 196;
+ ($o->{windowwidth}, $o->{windowheight}) = ($::rootwidth - $::stepswidth, $::rootheight);
+ # Adapt the window size to available screen width and height.
+ $::real_windowwidth = $::rootwidth > 800 ? 800 : 576;
+ $::real_windowheight = $::rootheight > 600 ? 633 : 465;
+}
+
+sub handle_unsafe_mouse {
+ my ($o, $window) = @_;
+
+ $o->{mouse}{unsafe} or return;
+
+ $window->add_events('pointer-motion-mask');
+ my $signal; $signal = $window->signal_connect(motion_notify_event => sub {
+ delete $o->{mouse}{unsafe};
+ log::l("unsetting unsafe mouse");
+ $window->signal_handler_disconnect($signal);
+ });
+}
+
+sub special_shortcuts {
+ my (undef, $event) = @_;
+ my $d = ${{ Gtk3::Gdk::KEY_F2 => 'screenshot', Gtk3::Gdk::KEY_Home => 'restart' }}{$event->keyval};
+ if ($d eq 'screenshot') {
+ # FIXME: should handle the fact it doesn't work when chrooted by urpmi during transaction:
+ install::any::take_screenshot($::o);
+ } elsif ($d eq 'restart' && member('control-mask', @{$event->state}) && member('mod1-mask', @{$event->state})) {
+ log::l("restarting install");
+ ugtk3->exit(0x35);
+ }
+ 0;
+}
+
+#------------------------------------------------------------------------------
+sub createXconf {
+ my ($file, $Driver) = @_;
+
+ #- remove "error opening security policy file" warning
+ symlink("/tmp/stage2/etc/X11", "/etc/X11");
+
+ return if !$Driver;
+
+ # grub2-efi init framebuffer in 1024x768, we must stay in sync or loading fails
+ my $resolution = $Driver eq 'fbdev' ? is_uefi() ? '"1024x768"' : '"default"' : '"800x600" "640x480"';
+ # efi framebuffer wants 24 bit
+ my $depth = is_uefi() ? '24' : '16';
+ output($file, qq(Section "ServerFlags"
+EndSection
+
+Section "Module"
+ Disable "glx"
+EndSection
+
+Section "Files"
+ FontPath "/usr/share/fonts:unscaled"
+EndSection
+
+Section "Monitor"
+ Identifier "monitor"
+ HorizSync 31.5-35.5
+ VertRefresh 50-70
+EndSection
+
+Section "Device"
+ Identifier "device"
+ Driver "$Driver"
+EndSection
+
+Section "Screen"
+ Identifier "screen"
+ Device "device"
+ Monitor "monitor"
+ DefaultColorDepth $depth
+ Subsection "Display"
+ Depth $depth
+ Modes $resolution
+ EndSubsection
+EndSection
+
+Section "ServerLayout"
+ Option "BlankTime" "0"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+ Identifier "layout"
+ Screen "screen"
+EndSection
+));
+}
+
+1;
diff --git a/perl-install/install/help/Makefile b/perl-install/install/help/Makefile
new file mode 100644
index 000000000..54fee2180
--- /dev/null
+++ b/perl-install/install/help/Makefile
@@ -0,0 +1,9 @@
+help:
+ @if [ ! -d doc ]; then \
+ echo "Checking out doc stuff now ..."; \
+ cvs -d :ext:svn.mageia.org:/cauldron co doc/manualB/{entities,manuals,modules}; \
+ else \
+ echo "Updating doc stuff now ..."; \
+ cd doc ; cvs update manualB/{entities,manuals,modules}; \
+ fi
+ ./help_xml2pm.pl
diff --git a/perl-install/install/help/help.pm b/perl-install/install/help/help.pm
new file mode 100644
index 000000000..e2e5e8f06
--- /dev/null
+++ b/perl-install/install/help/help.pm
@@ -0,0 +1,820 @@
+package install::help::help;
+use common;
+use utf8;
+
+push @::textdomains, 'DrakX-help';
+
+1;
+
+# IMPORTANT: Do not edit this File - It is automatically generated
+# from the manuals !!!
+# Write a mail to <contact@mageia.org> if
+# you want it changed.
+sub acceptLicense() {
+ N("Before continuing, you should carefully read the terms of the license. It
+covers the entire Mageia distribution. If you agree with all the
+terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"
+button will reboot your computer.", N("Accept"), N("Quit"));
+}
+sub setRootPassword_addUser() {
+ N("GNU/Linux is a multi-user system which means each user can have his or her
+own preferences, own files and so on. But unlike \"root\", who is the
+system administrator, the users you add at this point will not be authorized
+to change anything except their own files and their own configurations,
+protecting the system from unintentional or malicious changes which could
+impact on the system as a whole. You'll have to create at least one regular
+user for yourself -- this is the account which you should use for routine,
+day-to-day usage. Although it's very easy to log in as \"root\" to do
+anything and everything, it may also be very dangerous! A very simple
+mistake could mean that your system will not work any more. If you make a
+serious mistake as a regular user, the worst that can happen is that you'll
+lose some information, but you will not affect the entire system.
+
+The first field asks you for a real name. Of course, this is not mandatory
+-- you can actually enter whatever you like. DrakX will use the first word
+you type in this field and copy it to the \"%s\" one, which is the name
+this user will enter to log onto the system. If you like, you may override
+the default and change the user name. The next step is to enter a password.
+From a security point of view, a non-privileged (regular) user password is
+not as crucial as the \"root\" password, but that's no reason to neglect it
+by making it blank or too simple: after all, your files could be the ones
+at risk.
+
+Once you click on \"%s\", you can add other users. Add a user for each one
+of your friends, your father, your sister, etc. Click \"%s\" when you're
+finished adding users.
+
+Clicking the \"%s\" button allows you to change the default \"shell\" for
+that user (bash by default).
+
+When you're finished adding users, you'll be asked to choose a user who
+will be automatically logged into the system when the computer boots up. If
+you're interested in that feature (and do not care much about local
+security), choose the desired user and window manager, then click on
+\"%s\". If you're not interested in this feature, uncheck the \"%s\" box.", N("User name"), N("Accept user"), N("Next"), N("Advanced"), N("Next"), N("Do you want to use this feature?"));
+}
+sub ask_mntpoint_s() {
+ N("Listed here are the existing Linux partitions detected on your hard disk drive.
+You can keep the choices made by the wizard, since they are good for most
+common installations. If you make any changes, you must at least define a
+root partition (\"/\"). Do not choose too small a partition or you will not
+be able to install enough software. If you want to store your data on a
+separate partition, you will also need to create a \"/home\" partition
+(only possible if you have more than one Linux partition available).
+
+Each partition is listed as follows: \"Name\", \"Capacity\".
+
+\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",
+\"partition number\" (for example, \"hda1\").
+
+\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and
+\"sd\" if it is a SCSI hard disk drive.
+
+\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE
+hard disk drives:
+
+ * \"a\" means \"master hard disk drive on the primary IDE controller\";
+
+ * \"b\" means \"slave hard disk drive on the primary IDE controller\";
+
+ * \"c\" means \"master hard disk drive on the secondary IDE controller\";
+
+ * \"d\" means \"slave hard disk drive on the secondary IDE controller\".
+
+With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
+\"second lowest SCSI ID\", etc.");
+}
+sub chooseCd() {
+ N("The Mageia installation is distributed on several CD-ROMs. If a
+selected package is located on another CD-ROM, DrakX will eject the current
+CD and ask you to insert the required one. If you do not have the requested
+CD at hand, just click on \"%s\", the corresponding packages will not be
+installed.", N("Mageia"), N("Cancel"));
+}
+sub choosePackages() {
+ N("It's now time to specify which programs you wish to install on your system.
+There are thousands of packages available for Mageia, and to make it
+simpler to manage, they have been placed into groups of similar
+applications.
+
+Mageia sorts package groups in four categories. You can mix and
+match applications from the various categories, so a ``Workstation''
+installation can still have applications from the ``Server'' category
+installed.
+
+ * \"%s\": if you plan to use your machine as a workstation, select one or
+more of the groups in the workstation category.
+
+ * \"%s\": if you plan on using your machine for programming, select the
+appropriate groups from that category. The special \"LSB\" group will
+configure your system so that it complies as much as possible with the
+Linux Standard Base specifications.
+
+ Selecting the \"LSB\" group will ensure 100%%-LSB compliance
+of the system. However, if you do not select the \"LSB\" group you will
+still have a system which is nearly 100%% LSB-compliant.
+
+ * \"%s\": if your machine is intended to be a server, select which of the
+more common services you wish to install on your machine.
+
+ * \"%s\": this is where you will choose your preferred graphical
+environment. At least one must be selected if you want to have a graphical
+interface available.
+
+Moving the mouse cursor over a group name will display a short explanatory
+text about that group.
+
+You can check the \"%s\" box, which is useful if you're familiar with the
+packages being offered or if you want to have total control over what will
+be installed.
+
+If you start the installation in \"%s\" mode, you can deselect all groups
+and prevent the installation of any new packages. This is useful for
+repairing or updating an existing system.
+
+If you deselect all groups when performing a regular installation (as
+opposed to an upgrade), a dialog will pop up suggesting different options
+for a minimal installation:
+
+ * \"%s\": install the minimum number of packages possible to have a
+working graphical desktop.
+
+ * \"%s\": installs the base system plus basic utilities and their
+documentation. This installation is suitable for setting up a server.
+
+ * \"%s\": will install the absolute minimum number of packages necessary
+to get a working Linux system. With this installation you will only have a
+command-line interface. The total size of this installation is about 65
+megabytes.", N("Workstation"), N("Development"), N("Server"), N("Graphical Environment"), N("Individual package selection"), N("Upgrade"), N("With X"), N("With basic documentation"), N("Truly minimal install"));
+}
+sub choosePackagesTree() {
+ N("If you choose to install packages individually, the installer will present
+a tree containing all packages classified by groups and subgroups. While
+browsing the tree, you can select entire groups, subgroups, or individual
+packages.
+
+Whenever you select a package on the tree, a description will appear on the
+right to let you know the purpose of that package.
+
+!! If a server package has been selected, either because you specifically
+chose the individual package or because it was part of a group of packages,
+you'll be asked to confirm that you really want those servers to be
+installed. By default Mageia will automatically start any installed
+services at boot time. Even if they are safe and have no known issues at
+the time the distribution was shipped, it is entirely possible that
+security holes were discovered after this version of Mageia was
+finalized. If you do not know what a particular service is supposed to do or
+why it's being installed, then click \"%s\". Clicking \"%s\" will install
+the listed services and they will be started automatically at boot time. !!
+
+The \"%s\" option is used to disable the warning dialog which appears
+whenever the installer automatically selects a package to resolve a
+dependency issue. Some packages depend on others and the installation of
+one particular package may require the installation of another package. The
+installer can determine which packages are required to satisfy a dependency
+to successfully complete the installation.
+
+The tiny floppy disk icon at the bottom of the list allows you to load a
+package list created during a previous installation. This is useful if you
+have a number of machines that you wish to configure identically. Clicking
+on this icon will ask you to insert the floppy disk created at the end of
+another installation. See the second tip of the last step on how to create
+such a floppy.", N("No"), N("Yes"), N("Automatic dependencies"));
+}
+sub configureServices() {
+ N("This dialog is used to select which services you wish to start at boot
+time.
+
+DrakX will list all services available on the current installation. Review
+each one of them carefully and uncheck those which are not needed at boot
+time.
+
+A short explanatory text will be displayed about a service when it is
+selected. However, if you're not sure whether a service is useful or not,
+it is safer to leave the default behavior.
+
+!! At this stage, be very careful if you intend to use your machine as a
+server: you probably do not want to start any services which you do not need.
+Please remember that some services can be dangerous if they're enabled on a
+server. In general, select only those services you really need. !!");
+}
+sub configureTimezoneGMT() {
+ N("GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to
+local time according to the time zone you selected. If the clock on your
+motherboard is set to local time, you may deactivate this by unselecting
+\"%s\", which will let GNU/Linux know that the system clock and the
+hardware clock are in the same time zone. This is useful when the machine
+also hosts another operating system.
+
+The \"%s\" option will automatically regulate the system clock by
+connecting to a remote time server on the Internet. For this feature to
+work, you must have a working Internet connection. We recommend that you
+choose a time server located near you. This option actually installs a time
+server which can be used by other machines on your local network as well.", N("Hardware clock set to GMT"), N("Automatic time synchronization"));
+}
+sub configureX_card_list() {
+ N("Graphic Card
+
+ The installer will normally automatically detect and configure the
+graphic card installed on your machine. If this is not correct, you can
+choose from this list the card you actually have installed.
+
+ In the situation where different servers are available for your card,
+with or without 3D acceleration, you're asked to choose the server which
+best suits your needs.");
+}
+sub configureX_chooser() {
+ N("X (for X Window System) is the heart of the GNU/Linux graphical interface
+on which all the graphical environments (KDE, GNOME, AfterStep,
+WindowMaker, etc.) bundled with Mageia rely upon.
+
+You'll see a list of different parameters to change to get an optimal
+graphical display.
+
+Graphic Card
+
+ The installer will normally automatically detect and configure the
+graphic card installed on your machine. If this is not correct, you can
+choose from this list the card you actually have installed.
+
+ In the situation where different servers are available for your card,
+with or without 3D acceleration, you're asked to choose the server which
+best suits your needs.
+
+
+
+Monitor
+
+ Normally the installer will automatically detect and configure the
+monitor connected to your machine. If it is not correct, you can choose
+from this list the monitor which is connected to your computer.
+
+
+
+Resolution
+
+ Here you can choose the resolutions and color depths available for your
+graphics hardware. Choose the one which best suits your needs (you will be
+able to make changes after the installation). A sample of the chosen
+configuration is shown in the monitor picture.
+
+
+
+Test
+
+ Depending on your hardware, this entry might not appear.
+
+ The system will try to open a graphical screen at the desired
+resolution. If you see the test message during the test and answer \"%s\",
+then DrakX will proceed to the next step. If you do not see it, then it
+means that some part of the auto-detected configuration was incorrect and
+the test will automatically end after 12 seconds and return you to the
+menu. Change settings until you get a correct graphical display.
+
+
+
+Options
+
+ This steps allows you to choose whether you want your machine to
+automatically switch to a graphical interface at boot. Obviously, you may
+want to check \"%s\" if your machine is to act as a server, or if you were
+not successful in getting the display configured.", N("Yes"), N("No"));
+}
+sub configureX_monitor() {
+ N("Monitor
+
+ Normally the installer will automatically detect and configure the
+monitor connected to your machine. If it is not correct, you can choose
+from this list the monitor which is connected to your computer.");
+}
+sub configureX_resolution() {
+ N("Resolution
+
+ Here you can choose the resolutions and color depths available for your
+graphics hardware. Choose the one which best suits your needs (you will be
+able to make changes after the installation). A sample of the chosen
+configuration is shown in the monitor picture.");
+}
+sub configureX_xfree_and_glx() {
+ N("In the situation where different servers are available for your card, with
+or without 3D acceleration, you're asked to choose the server which best
+suits your needs.");
+}
+sub configureXxdm() {
+ N("Options
+
+ This steps allows you to choose whether you want your machine to
+automatically switch to a graphical interface at boot. Obviously, you may
+want to check \"%s\" if your machine is to act as a server, or if you were
+not successful in getting the display configured.", N("No"));
+}
+sub doPartitionDisks() {
+ N("You now need to decide where you want to install the Mageia
+operating system on your hard disk drive. If your hard disk drive is empty or if an
+existing operating system is using all the available space you will have to
+partition the drive. Basically, partitioning a hard disk drive means to
+logically divide it to create the space needed to install your new
+Mageia system.
+
+Because the process of partitioning a hard disk drive is usually irreversible
+and can lead to data losses, partitioning can be intimidating and stressful
+for the inexperienced user. Fortunately, DrakX includes a wizard which
+simplifies this process. Before continuing with this step, read through the
+rest of this section and above all, take your time.
+
+Depending on the configuration of your hard disk drive, several options are
+available:
+
+ * \"%s\". This option will perform an automatic partitioning of your blank
+drive(s). If you use this option there will be no further prompts.
+
+ * \"%s\". The wizard has detected one or more existing Linux partitions on
+your hard disk drive. If you want to use them, choose this option. You will then
+be asked to choose the mount points associated with each of the partitions.
+The legacy mount points are selected by default, and for the most part it's
+a good idea to keep them.
+
+ * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes
+all the space available on it, you will have to create free space for
+GNU/Linux. To do so, you can delete your Microsoft Windows partition and
+data (see ``Erase entire disk'' solution) or resize your Microsoft Windows
+FAT or NTFS partition. Resizing can be performed without the loss of any
+data, provided you've previously defragmented the Windows partition.
+Backing up your data is strongly recommended. Using this option is
+recommended if you want to use both Mageia and Microsoft Windows on
+the same computer.
+
+ Before choosing this option, please understand that after this
+procedure, the size of your Microsoft Windows partition will be smaller
+than when you started. You'll have less free space under Microsoft Windows
+to store your data or to install new software.
+
+ * \"%s\". If you want to delete all data and all partitions present on
+your hard disk drive and replace them with your new Mageia system, choose
+this option. Be careful, because you will not be able to undo this operation
+after you confirm.
+
+ !! If you choose this option, all data on your disk will be deleted. !!
+
+ * \"%s\". This option appears when the hard disk drive is entirely taken by
+Microsoft Windows. Choosing this option will simply erase everything on the
+drive and begin fresh, partitioning everything from scratch.
+
+ !! If you choose this option, all data on your disk will be lost. !!
+
+ * \"%s\". Choose this option if you want to manually partition your hard
+drive. Be careful -- it is a powerful but dangerous choice and you can very
+easily lose all your data. That's why this option is really only
+recommended if you have done something like this before and have some
+experience. For more instructions on how to use the DiskDrake utility,
+refer to the ``Managing Your Partitions'' section in the ``Starter Guide''.",
+N("Mageia"), N("Use free space"), N("Use existing partition"), N("Use the free space on the Microsoft Windows® partition"), N("Erase entire disk"), N("Remove Microsoft Windows®"), N("Custom disk partitioning"));
+}
+sub exitInstall() {
+ N("There you are. Installation is now complete and your GNU/Linux system is
+ready to be used. Just click on \"%s\" to reboot the system. Do not forget
+to remove the installation media (CD-ROM or floppy). The first thing you
+should see after your computer has finished doing its hardware tests is the
+boot-loader menu, giving you the choice of which operating system to start.
+
+The \"%s\" button shows two more buttons to:
+
+ * \"%s\": enables you to create an installation floppy disk which will
+automatically perform a whole installation without the help of an operator,
+similar to the installation you've just configured.
+
+ Note that two different options are available after clicking on that
+button:
+
+ * \"%s\". This is a partially automated installation. The partitioning
+step is the only interactive procedure.
+
+ * \"%s\". Fully automated installation: the hard disk is completely
+rewritten, all data is lost.
+
+ This feature is very handy when installing on a number of similar
+machines. See the Auto install section on our web site for more
+information.
+
+ * \"%s\"(*): saves a list of the packages selected in this installation.
+To use this selection with another installation, insert the floppy and
+start the installation. At the prompt, press the [F1] key, type >>linux
+defcfg=\"floppy\"<< and press the [Enter] key.
+
+(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type
+\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat
+/dev/fd0\".", N("Reboot"), N("Advanced"), N("Generate auto-install floppy"), N("Replay"), N("Automated"), N("Save packages selection"));
+}
+sub formatPartitions() {
+ N("If you chose to reuse some legacy GNU/Linux partitions, you may wish to
+reformat some of them and erase any data they contain. To do so, please
+select those partitions as well.
+
+Please note that it's not necessary to reformat all pre-existing
+partitions. You must reformat the partitions containing the operating
+system (such as \"/\", \"/usr\" or \"/var\") but you do not have to reformat
+partitions containing data that you wish to keep (typically \"/home\").
+
+Please be careful when selecting partitions. After the formatting is
+completed, all data on the selected partitions will be deleted and you
+will not be able to recover it.
+
+Click on \"%s\" when you're ready to format the partitions.
+
+Click on \"%s\" if you want to choose another partition for your new
+Mageia operating system installation.
+
+Click on \"%s\" if you wish to select partitions which will be checked for
+bad blocks on the disk.", N("Next"), N("Previous"), N("Advanced"));
+}
+sub installUpdates() {
+ N("By the time you install Mageia, it's likely that some packages will
+have been updated since the initial release. Bugs may have been fixed,
+security issues resolved. To allow you to benefit from these updates,
+you're now able to download them from the Internet. Check \"%s\" if you
+have a working Internet connection, or \"%s\" if you prefer to install
+updated packages later.
+
+Choosing \"%s\" will display a list of web locations from which updates can
+be retrieved. You should choose one near to you. A package-selection tree
+will appear: review the selection, and press \"%s\" to retrieve and install
+the selected package(s), or \"%s\" to abort.", N("Mageia"), N("Yes"), N("No"), N("Yes"), N("Install"), N("Cancel"));
+}
+sub miscellaneous() {
+ N("At this point, DrakX will allow you to choose the security level you desire
+for your machine. As a rule of thumb, the security level should be set
+higher if the machine is to contain crucial data, or if it's to be directly
+exposed to the Internet. The trade-off that a higher security level is
+generally obtained at the expense of ease of use.
+
+If you do not know what to choose, keep the default option. You'll be able
+to change it later with the draksec tool, which is part of Mageia
+Control Center.
+
+Fill the \"%s\" field with the e-mail address of the person responsible for
+security. Security messages will be sent to that address.", N("Security Administrator"));
+}
+sub partition_with_diskdrake() {
+ N("At this point, you need to choose which partition(s) will be used for the
+installation of your Mageia system. If partitions have already been
+defined, either from a previous installation of GNU/Linux or by another
+partitioning tool, you can use existing partitions. Otherwise, hard disk drive
+partitions must be defined.
+
+To create partitions, you must first select a hard disk drive. You can select
+the disk for partitioning by clicking on ``hda'' for the first IDE drive,
+``hdb'' for the second, ``sda'' for the first SCSI drive and so on.
+
+To partition the selected hard disk drive, you can use these options:
+
+ * \"%s\": this option deletes all partitions on the selected hard disk drive
+
+ * \"%s\": this option enables you to automatically create ext4 and swap
+partitions in the free space of your hard disk drive
+
+\"%s\": gives access to additional features:
+
+ * \"%s\": saves the partition table to a floppy. Useful for later
+partition-table recovery if necessary. It is strongly recommended that you
+perform this step.
+
+ * \"%s\": allows you to restore a previously saved partition table from a
+floppy disk.
+
+ * \"%s\": if your partition table is damaged, you can try to recover it
+using this option. Please be careful and remember that it does not always
+work.
+
+ * \"%s\": discards all changes and reloads the partition table that was
+originally on the hard disk drive.
+
+ * \"%s\": un-checking this option will force users to manually mount and
+unmount removable media such as floppies and CD-ROMs.
+
+ * \"%s\": use this option if you wish to use a wizard to partition your
+hard disk drive. This is recommended if you do not have a good understanding of
+partitioning.
+
+ * \"%s\": use this option to cancel your changes.
+
+ * \"%s\": allows additional actions on partitions (type, options, format)
+and gives more information about the hard disk drive.
+
+ * \"%s\": when you are finished partitioning your hard disk drive, this will
+save your changes back to disk.
+
+When defining the size of a partition, you can finely set the partition
+size by using the Arrow keys of your keyboard.
+
+Note: you can reach any option using the keyboard. Navigate through the
+partitions using [Tab] and the [Up/Down] arrows.
+
+When a partition is selected, you can use:
+
+ * Ctrl-c to create a new partition (when an empty partition is selected)
+
+ * Ctrl-d to delete a partition
+
+ * Ctrl-m to set the mount point
+
+To get information about the different filesystem types available, please
+read the ext2FS chapter from the ``Reference Manual''.
+", N("Clear all"), N("Auto allocate"), N("More"), N("Save partition table"), N("Restore partition table"), N("Rescue partition table"), N("Reload partition table"), N("Removable media auto-mounting"), N("Wizard"), N("Undo"), N("Toggle between normal/expert mode"), N("Done"));
+}
+sub resizeFATChoose() {
+ N("More than one Microsoft partition has been detected on your hard disk drive.
+Please choose the one which you want to resize in order to install your new
+Mageia operating system.
+
+Each partition is listed as follows: \"Linux name\", \"Windows name\"
+\"Capacity\".
+
+\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",
+\"partition number\" (for example, \"hda1\").
+
+\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and
+\"sd\" if it is a SCSI hard disk drive.
+
+\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE
+hard disk drives:
+
+ * \"a\" means \"master hard disk drive on the primary IDE controller\";
+
+ * \"b\" means \"slave hard disk drive on the primary IDE controller\";
+
+ * \"c\" means \"master hard disk drive on the secondary IDE controller\";
+
+ * \"d\" means \"slave hard disk drive on the secondary IDE controller\".
+
+With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
+\"second lowest SCSI ID\", etc.
+
+\"Windows name\" is the letter of your hard disk drive under Windows (the first
+disk or partition is called \"C:\").");
+}
+sub selectCountry() {
+ N("\"%s\": check the current country selection. If you're not in this country,
+click on the \"%s\" button and choose another. If your country is not in the
+list shown, click on the \"%s\" button to get the complete country list.", N("Country / Region"), N("Configure"), N("More"));
+}
+sub selectInstallClass() {
+ N("This step is activated only if an existing GNU/Linux partition has been
+found on your machine.
+
+DrakX now needs to know if you want to perform a new installation or an
+upgrade of an existing Mageia system:
+
+ * \"%s\". For the most part, this completely wipes out the old system.
+However, depending on your partitioning scheme, you can prevent some of
+your existing data (notably \"home\" directories) from being over-written.
+If you wish to change how your hard disk drives are partitioned, or to change
+the filesystem, you should use this option.
+
+ * \"%s\". This installation class allows you to update the packages
+currently installed on your Mageia system. Your current partitioning
+scheme and user data will not be altered. Most of the other configuration
+steps remain available and are similar to a standard installation.
+
+Using the ``Upgrade'' option should work fine on Mageia systems
+running version \"8.1\" or later. Performing an upgrade on versions prior
+to Mageia version \"8.1\" is not recommended.", N("Install"), N("Upgrade"));
+}
+sub selectKeyboard() {
+ N("Depending on the language you chose (), DrakX will automatically select a
+particular type of keyboard configuration. Check that the selection suits
+you or choose another keyboard layout.
+
+Also, you may not have a keyboard which corresponds exactly to your
+language: for example, if you are an English-speaking Swiss native, you may
+have a Swiss keyboard. Or if you speak English and are located in Quebec,
+you may find yourself in the same situation where your native language and
+country-set keyboard do not match. In either case, this installation step
+will allow you to select an appropriate keyboard from a list.
+
+Click on the \"%s\" button to be shown a list of supported keyboards.
+
+If you choose a keyboard layout based on a non-Latin alphabet, the next
+dialog will allow you to choose the key binding which will switch the
+keyboard between the Latin and non-Latin layouts.", N("More"));
+}
+sub selectLanguage() {
+ N("The first step is to choose your preferred language.
+
+Your choice of preferred language will affect the installer, the
+documentation, and the system in general. First select the region you're
+located in, then the language you speak.
+
+Clicking on the \"%s\" button will allow you to select other languages to
+be installed on your workstation, thereby installing the language-specific
+files for system documentation and applications. For example, if Spanish
+users are to use your machine, select English as the default language in
+the tree view and \"%s\" in the Advanced section.
+
+About UTF-8 (unicode) support: Unicode is a new character encoding meant to
+cover all existing languages. However full support for it in GNU/Linux is
+still under development. For that reason, Mageia's use of UTF-8 will
+depend on the user's choices:
+
+ * If you choose a language with a strong legacy encoding (latin1
+languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most
+iso-8859-2 languages), the legacy encoding will be used by default;
+
+ * Other languages will use unicode by default;
+
+ * If two or more languages are required, and those languages are not using
+the same encoding, then unicode will be used for the whole system;
+
+ * Finally, unicode can also be forced for use throughout the system at a
+user's request by selecting the \"%s\" option independently of which
+languages were been chosen.
+
+Note that you're not limited to choosing a single additional language. You
+may choose several, or even install them all by selecting the \"%s\" box.
+Selecting support for a language means translations, fonts, spell checkers,
+etc. will also be installed for that language.
+
+To switch between the various languages installed on your system, you can
+launch the \"localedrake\" command as \"root\" to change the language used
+by the entire system. Running the command as a regular user will only
+change the language settings for that particular user.", N("Advanced"), N("Espanol"), N("Use Unicode by default"), N("All languages"));
+}
+sub selectMouse() {
+ N("Usually, DrakX has no problems detecting the number of buttons on your
+mouse. If it does, it assumes you have a two-button mouse and will
+configure it for third-button emulation. The third-button mouse button of a
+two-button mouse can be obtained by simultaneously clicking the left and
+right mouse buttons. DrakX will automatically know whether your mouse uses
+a PS/2, serial or USB interface.
+
+If you have a 3-button mouse without a wheel, you can choose a \"%s\"
+mouse. DrakX will then configure your mouse so that you can simulate the
+wheel with it: to do so, press the middle button and move your mouse
+pointer up and down.
+
+If for some reason you wish to specify a different type of mouse, select it
+from the list provided.
+
+You can select the \"%s\" entry to chose a ``generic'' mouse type which
+will work with nearly all mice.
+
+If you choose a mouse other than the default one, a test screen will be
+displayed. Use the buttons and wheel to verify that the settings are
+correct and that the mouse is working correctly. If the mouse is not
+working well, press the space bar or [Return] key to cancel the test and
+you will be returned to the mouse list.
+
+Occasionally wheel mice are not detected automatically, so you will need to
+select your mouse from a list. Be sure to select the one corresponding to
+the port that your mouse is attached to. After selecting a mouse and
+pressing the \"%s\" button, a mouse image will be displayed on-screen.
+Scroll the mouse wheel to ensure that it is activating correctly. As you
+scroll your mouse wheel, you will see the on-screen scroll wheel moving.
+Test the buttons and check that the mouse pointer moves on-screen as you
+move your mouse about.", N("with Wheel emulation"), N("Universal | Any PS/2 & USB mice"), N("Next"));
+}
+sub selectSerialPort() {
+ N("Please select the correct port. For example, the \"COM1\" port under
+Windows is named \"ttyS0\" under GNU/Linux.");
+}
+sub setupBootloaderBeginner() {
+ N("A boot loader is a little program which is started by the computer at boot
+time. It's responsible for starting up the whole system. Normally, the boot
+loader installation is totally automated. DrakX will analyze the disk boot
+sector and act according to what it finds there:
+
+ * if a Windows boot sector is found, it will replace it with a GRUB/LILO
+boot sector. This way you'll be able to load either GNU/Linux or any other
+OS installed on your machine.
+
+ * if a GRUB or LILO boot sector is found, it'll replace it with a new one.
+
+If DrakX cannot determine where to place the boot sector, it'll ask you
+where it should place it. Generally, the \"%s\" is the safest place.
+Choosing \"%s\" will not install any boot loader. Use this option only if you
+know what you're doing.", N("First sector of drive (MBR)"), N("Skip"));
+}
+sub setupDefaultSpooler() {
+ N("Now, it's time to select a printing system for your computer. Other
+operating systems may offer you one, but Mageia offers two. Each of
+the printing systems is best suited to particular types of configuration.
+
+ * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice
+if you have a direct connection to your printer, you want to be able to
+panic out of printer jams, and you do not have networked printers. (\"%s\"
+will handle only very simple network cases and is somewhat slow when used
+within networks.) It's recommended that you use \"pdq\" if this is your
+first experience with GNU/Linux.
+
+ * \"%s\" stands for `` Common Unix Printing System'' and is an excellent
+choice for printing to your local printer or to one halfway around the
+planet. It's simple to configure and can act as a server or a client for
+the ancient \"lpd\" printing system, so it's compatible with older
+operating systems which may still need print services. While quite
+powerful, the basic setup is almost as easy as \"pdq\". If you need to
+emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.
+\"%s\" includes graphical front-ends for printing or choosing printer
+options and for managing the printer.
+
+If you make a choice now, and later find that you do not like your printing
+system you may change it by running PrinterDrake from the Mageia
+Control Center and clicking on the \"%s\" button.", N("pdq"), N("pdq"), N("CUPS"), N("CUPS"), N("Expert"));
+}
+sub setupSCSI() {
+ N("DrakX will first detect any IDE devices present in your computer. It will
+also scan for one or more PCI SCSI cards on your system. If a SCSI card is
+found, DrakX will automatically install the appropriate driver.
+
+Because hardware detection is not foolproof, DrakX may fail in detecting
+your hard disk drives. If so, you'll have to specify your hardware by hand.
+
+If you had to manually specify your PCI SCSI adapter, DrakX will ask if you
+want to configure options for it. You should allow DrakX to probe the
+hardware for the card-specific options which are needed to initialize the
+adapter. Most of the time, DrakX will get through this step without any
+issues.
+
+If DrakX is not able to probe for the options to automatically determine
+which parameters need to be passed to the hardware, you'll need to manually
+configure the driver.");
+}
+sub sound_config() {
+ N("\"%s\": if a sound card is detected on your system, it'll be displayed
+here. If you notice the sound card is not the one actually present on your
+system, you can click on the button and choose a different driver.", N("Sound card"));
+}
+sub summary() {
+ N("As a review, DrakX will present a summary of information it has gathered
+about your system. Depending on the hardware installed on your machine, you
+may have some or all of the following entries. Each entry is made up of the
+hardware item to be configured, followed by a quick summary of the current
+configuration. Click on the corresponding \"%s\" button to make the change.
+
+ * \"%s\": check the current keyboard map configuration and change it if
+necessary.
+
+ * \"%s\": check the current country selection. If you're not in this
+country, click on the \"%s\" button and choose another. If your country
+is not in the list shown, click on the \"%s\" button to get the complete
+country list.
+
+ * \"%s\": by default, DrakX deduces your time zone based on the country
+you have chosen. You can click on the \"%s\" button here if this is not
+correct.
+
+ * \"%s\": verify the current mouse configuration and click on the button
+to change it if necessary.
+
+ * \"%s\": if a sound card is detected on your system, it'll be displayed
+here. If you notice the sound card is not the one actually present on your
+system, you can click on the button and choose a different driver.
+
+ * \"%s\": if you have a TV card, this is where information about its
+configuration will be displayed. If you have a TV card and it is not
+detected, click on \"%s\" to try to configure it manually.
+
+ * \"%s\": you can click on \"%s\" to change the parameters associated with
+the card if you feel the configuration is wrong.
+
+ * \"%s\": by default, DrakX configures your graphical interface in
+\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on
+\"%s\" to reconfigure your graphical interface.
+
+ * \"%s\": if you wish to configure your Internet or local network access,
+you can do so now. Refer to the printed documentation or use the
+Mageia Control Center after the installation has finished to benefit
+from full in-line help.
+
+ * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine
+you're installing on is to be located behind a proxy server.
+
+ * \"%s\": this entry allows you to redefine the security level as set in a
+previous step ().
+
+ * \"%s\": if you plan to connect your machine to the Internet, it's a good
+idea to protect yourself from intrusions by setting up a firewall. Consult
+the corresponding section of the ``Starter Guide'' for details about
+firewall settings.
+
+ * \"%s\": if you wish to change your bootloader configuration, click this
+button. This should be reserved to advanced users. Refer to the printed
+documentation or the in-line help about bootloader configuration in the
+Mageia Control Center.
+
+ * \"%s\": through this entry you can fine tune which services will be run
+on your machine. If you plan to use this machine as a server it's a good
+idea to review this setup.", N("Configure"), N("Keyboard"), N("Country / Region"), N("Configure"), N("More"), N("Timezone"), N("Configure"), N("Mouse"), N("Sound card"), N("TV card"), N("Configure"), N("ISDN card"), N("Configure"), N("Graphical Interface"), N("Configure"), N("Network"), N("Proxies"), N("Security Level"), N("Firewall"), N("Bootloader"), N("Services"));
+}
+sub takeOverHdChoose() {
+ N("Choose the hard disk drive you want to erase in order to install your new
+Mageia partition. Be careful, all data on this drive will be lost
+and will not be recoverable!");
+}
+sub takeOverHdConfirm() {
+ N("Click on \"%s\" if you want to delete all data and partitions present on
+this hard disk drive. Be careful, after clicking on \"%s\", you will not be able
+to recover any data and partitions present on this hard disk drive, including
+any Windows data.
+
+Click on \"%s\" to quit this operation without losing data and partitions
+present on this hard disk drive.", N("Next ->"), N("Next ->"), N("<- Previous"));
+}
diff --git a/perl-install/install/help/help_xml2pm.pl b/perl-install/install/help/help_xml2pm.pl
new file mode 100755
index 000000000..e0402fd6c
--- /dev/null
+++ b/perl-install/install/help/help_xml2pm.pl
@@ -0,0 +1,326 @@
+#!/usr/bin/perl -w
+
+use XML::Parser;
+use MDK::Common;
+use utf8;
+
+my $dir = "doc/manualB/modules";
+my $xsltproc = "/usr/bin/xsltproc";
+
+if ( ! -x "$xsltproc" ){
+ print "You need to have \"$xsltproc\" - ";
+ print "so type \"urpmi libxslt-proc\" please.\n";
+ exit 1;
+}
+
+my %helps = map {
+ my $lang = $_;
+ my @l = grep { !/drakx-MNF-chapter/ } map { /(drakx-.*).xml$/ } all("$dir/$lang");
+ if (@l < 20) { () } else {
+ my $template_file = "$dir/$lang/drakx.xml";
+ my $file = "$dir/$lang/drakx_full.xml";
+ output($template_file, template($lang, @l));
+ system("$xsltproc id.xsl $template_file > $file") == 0 or die "$xsltproc id.xsl $template_file failed\n";
+
+ warn "parsing $file\n";
+ my $p = new XML::Parser(Style => 'Tree');
+ my $tree = $p->parsefile($file);
+
+ $lang => rewrite2(rewrite1(@$tree), $lang);
+ }
+} all($dir);
+
+my $base = delete $helps{en} || die;
+save_help($base);
+
+foreach my $lang (keys %helps) {
+ (my $rlang = $lang) =~ s/_(.*)/_\U$1/;
+ print "Now transforming: $lang\n";
+ open(my $F, ">:encoding(utf8)", "po/$rlang.po");
+ print $F <<EOF;
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\\n"
+
+EOF
+ foreach my $id (keys %{$helps{$lang}}) {
+# warn "Writing id=$id in lang=$lang\n";
+ $base->{$id} or warn "$lang:$id doesn't exist in english\n", next;
+ print $F qq(# DO NOT BOTHER TO MODIFY HERE, SEE:\n# svn.mageia.org:/cauldron/$dir/$lang/drakx-chapter.xml\n);
+ print_in_PO($F, $base->{$id}[0], $helps{$lang}{$id}[0]);
+ }
+}
+unlink(".memdump");
+
+sub print_in_PO {
+ my ($F, $msgid, $msgstr) = @_;
+
+ print $F qq(msgid ""\n");
+ print $F join(qq(\\n"\n"), split "\n", $msgid);
+ print $F qq("\nmsgstr ""\n");
+ print $F join(qq(\\n"\n"), split "\n", $msgstr);
+ print $F qq("\n\n);
+}
+
+sub save_help {
+ my ($help, $inside_strings) = @_;
+
+ open(my $F, ">:encoding(utf8)", "help.pm");
+ print $F <<'EOF';
+package install::help::help;
+use common;
+use utf8;
+
+push @::textdomains, 'DrakX-help';
+
+1;
+
+# IMPORTANT: Do not edit this File - It is automatically generated
+# from the manuals !!!
+# Write a mail to <documentation@mandriva.com> if
+# you want it changed.
+EOF
+ foreach (sort keys %$help) {
+ my ($main, @inside) = map { qq("$_") } @{$help->{$_}};
+ my $s = join(', ', $main, map { qq(N($_)) } @inside);
+ print STDERR "Writing id=$_\n";
+ print $F <<EOF;
+sub $_() {
+ N($s);
+}
+EOF
+ my @nb = $main =~ /\%s/g; @nb == @inside or die "help.pm error: bad \%s in sub $_\n";
+ }
+}
+
+# i don't like the default tree format given by XML::Parser,
+# rewrite it in my own tree format
+sub rewrite1 {
+ my ($tag, $tree) = @_;
+ my ($attr, @nodes) = @$tree;
+ my @l;
+ while (@nodes) {
+ my ($tag, $tree) = splice(@nodes, 0, 2);
+ if ($tag eq '0') {
+ foreach ($tree) {
+ s/\s+/ /gs;
+ s/"/\\"/g;
+ s/\x{ad}//g;
+ s/\x{2013}/-/g;
+ }
+ push @l, $tree
+ } elsif ($tag eq 'screen') {
+ $tree->[1] eq '0' or die "screen tag contains non CDATA\n";
+ push @l, $tree->[2];
+ } else {
+ push @l, rewrite1($tag, $tree);
+ }
+ }
+ { attr => $attr, tag => lc $tag, children => \@l };
+}
+
+# return the list of nodes named $tag
+sub find_tag {
+ my ($tag, $tree) = @_;
+ if (!ref($tree)) {
+ ();
+ } elsif ($tree->{tag} eq $tag) {
+ $tree;
+ } else {
+ map { find_tag($tag, $_) } @{$tree->{children}};
+ }
+}
+
+my $help;
+sub rewrite2 {
+ my ($tree, $lang) = @_;
+ our $i18ned_open_text_quote = $ {{
+ fr => "« ",
+ de => "„",
+ es => "\\\"",
+ it => "\\\"",
+ zh_cn => "“"
+ }}{$lang};
+ our $i18ned_close_text_quote = $ {{
+ fr => " »",
+ de => "“",
+ es => "\\\"",
+ it => "\\\"",
+ zh_cn => "â€"
+ }}{$lang};
+ our $i18ned_open_label_quote = $ {{ fr => "« ", de => "„", zh_cn => "“"}}{$lang};
+ our $i18ned_close_label_quote = $ {{ fr => " »", de => "“", zh_cn => "â€"}}{$lang};
+ our $i18ned_open_command_quote = $ {{ fr => "« ", de => "„", zh_cn => "“"}}{$lang};
+ our $i18ned_close_command_quote = $ {{ fr => " »", de => "“", zh_cn => "â€"}}{$lang};
+ our $i18ned_open_input_quote = $ {{ fr => "« ", de => "»", zh_cn => "“"}}{$lang};
+ our $i18ned_close_input_quote = $ {{ fr => " »", de => "«", zh_cn => "â€"}}{$lang};
+ our $i18ned_open_key_quote = $ {{ de => "["}}{$lang};
+ our $i18ned_close_key_quote = $ {{ de => "]"}}{$lang};
+ # rewrite2_ fills in $help
+ $help = {};
+ rewrite2_($tree);
+ $help;
+}
+
+sub rewrite2_ {
+ my ($tree, @parents) = @_;
+ ref($tree) or return $tree;
+ !$tree->{attr}{condition} || $tree->{attr}{condition} !~ /no-inline-help/ or return '';
+
+ my ($id) = $tree->{attr}{id} ? $tree->{attr}{id} =~ /drakxid-([^-]+)$/ : ();
+
+ my @inside_strings;
+ my $text = do {
+ my @l = map {
+ my ($s, @l) = rewrite2_($_, $tree, @parents);
+ push @inside_strings, @l;
+ $s;
+ } @{$tree->{children}};
+ my $text = "";
+ foreach (@l) {
+ s/^ // if $text =~ /\s$/;
+ $text =~ s/ $// if /^\s/;
+ $text =~ s/\n+$// if /^\n/;
+ $text .= $_;
+ }
+ $text;
+ };
+
+ if ($id) {
+ my $t = $text;
+ $t =~ s/^\s+//;
+
+ my @footnotes = map {
+ my ($s, @l) = rewrite2_({ %$_, tag => 'para' });
+ push @inside_strings, @l;
+ $s =~ s/^\s+//;
+ "(*) $s";
+ } find_tag('footnote', $tree);
+ $help->{$id} = [ aerate($t . join('', @footnotes)), @inside_strings ];
+ return '';
+ }
+
+ my $text_ = do {
+ if (0) {
+ } elsif (member($tree->{tag}, 'formalpara', 'para', 'itemizedlist', 'orderedlist')) {
+ $text =~ s/^\s(?!\s)//;
+ $text =~ s/^( ?\n)+//;
+ $text =~ s/\s+$//;
+ qq(\n$text\n);
+ } elsif (member($tree->{tag}, 'quote', 'citetitle', 'foreignphrase')) {
+ $text =~ s/^\Q$i18ned_open_label_quote\E(.*)\Q$i18ned_close_label_quote\E$/$1/ if $i18ned_open_label_quote;
+ ($i18ned_open_text_quote || "``") . $text . ($i18ned_close_text_quote || "''");
+ } elsif (member($tree->{tag}, 'literal', 'filename')) {
+ ($i18ned_open_label_quote || "\\\"") . $text . ($i18ned_close_label_quote || "\\\"");
+ } elsif (member($tree->{tag}, 'guilabel', 'guibutton', 'guimenu')) {
+ $text =~ s/\s+$//;
+ push @inside_strings, $text;
+ ($i18ned_open_label_quote || "\\\"") . "%s" . ($i18ned_close_label_quote || "\\\"");
+ } elsif ($tree->{tag} eq 'command') {
+ ($i18ned_open_command_quote || "\\\"") . $text . ($i18ned_close_command_quote || "\\\"");
+ } elsif ($tree->{tag} eq 'userinput') {
+ ($i18ned_open_input_quote || ">>") . $text . ($i18ned_close_input_quote || "<<");
+ } elsif ($tree->{tag} eq 'keycap') {
+ ($i18ned_open_key_quote || "[") . $text . ($i18ned_close_key_quote || "]");
+ } elsif (member($tree->{tag}, 'keysym')) {
+ qq($text);
+ } elsif (member($tree->{tag}, 'footnote')) {
+ '(*)'
+ } elsif ($tree->{tag} eq 'warning') {
+ $text =~ s/^(\s+)/$1!! /;
+ $text =~ s/(\s+)$/ !!$1/;
+ $text;
+ } elsif ($tree->{tag} eq 'listitem') {
+ my $cnt = (any { $_->{tag} eq 'variablelist' } @parents) ? 1 : 0;
+ $text =~ s/^\s+//;
+ $text =~ s/^/' ' . ($cnt++ ? ' ' : '* ')/emg;
+ "\n$text\n";
+ } elsif (member($tree->{tag},
+ 'acronym', 'application', 'emphasis',
+ 'keycombo', 'note', 'sect1', 'sect2', 'sect3',
+ 'superscript', 'systemitem', 'option',
+ 'tip', 'ulink', 'xref', 'varlistentry', 'variablelist', 'term',
+ 'phrase', 'hardware', 'procedure', 'step', 'bridgehead',
+ )) {
+ # ignored tags
+ $text;
+ } elsif (member($tree->{tag},
+ qw(title article primary secondary indexterm revnumber
+ date authorinitials revision revhistory revremark chapterinfo
+ imagedata imageobject mediaobject figure
+ abstract book chapter)
+ )) {
+ # dropped tags
+ @inside_strings = ();
+ '';
+ } elsif ($tree->{tag} eq 'screen') {
+ qq(\n$text\n);
+ } else {
+ warn "unknown tag $tree->{tag}\n";
+ }
+ };
+ $text_, @inside_strings;
+}
+
+sub aerate {
+ my ($s) = @_;
+ #- the warp_text column is adjusted so that xgettext do not wrap text around
+ #- which cause msgmerge to add a lot of fuzzy
+ my $s2 = join("\n\n", map { join("\n", warp_text($_, 75)) } split "\n", $s);
+ $s2;
+}
+
+sub template {
+ my ($lang, @l) = @_;
+ my $entities = join("\n", map { qq(<!ENTITY $_ SYSTEM '$_.xml'>) } @l);
+ my $body = join("\n", map { '&' . $_ . ';' } @l);
+
+ <<EOF;
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+"/usr/share/sgml/docbook/xml-dtd-4.1.2/docbookx.dtd"[
+
+$entities
+
+<!ENTITY % params.ent SYSTEM "../../manuals/Starter/$lang/params.ent">
+%params.ent;
+<!ENTITY % strings.ent SYSTEM "../../manuals/Starter/$lang/strings.ent">
+%strings.ent;
+
+<!ENTITY step-only-for-expert "">
+
+<!ENTITY % acronym-list SYSTEM "../../entities/$lang/acronym_list.ent" >
+%acronym-list;
+<!ENTITY % button-list SYSTEM "../../entities/$lang/button_list.ent" >
+%button-list;
+<!ENTITY % companies SYSTEM "../../entities/$lang/companies.ent" >
+%companies;
+<!ENTITY % menu-list SYSTEM "../../entities/$lang/menu_list.ent" >
+%menu-list;
+<!ENTITY % tech SYSTEM "../../entities/$lang/tech.ent" >
+%tech;
+<!ENTITY % titles SYSTEM "../../entities/$lang/titles.ent" >
+%titles;
+<!ENTITY % typo SYSTEM "../../entities/$lang/typo.ent" >
+%typo;
+<!ENTITY % common SYSTEM "../../entities/common.ent" >
+%common;
+<!ENTITY % common-acronyms SYSTEM "../../entities/common_acronyms.ent" >
+%common-acronyms;
+<!ENTITY % prog-list SYSTEM "../../entities/prog_list.ent" >
+%prog-list;
+
+<!ENTITY lang '$lang'>
+
+]>
+
+<book>
+ <title>DrakX Documentation</title>
+
+$body
+
+</book>
+EOF
+
+}
diff --git a/perl-install/share/po/id.xsl b/perl-install/install/help/id.xsl
index 4897a204f..4897a204f 100644
--- a/perl-install/share/po/id.xsl
+++ b/perl-install/install/help/id.xsl
diff --git a/perl-install/install/help/po/.gitignore b/perl-install/install/help/po/.gitignore
new file mode 100644
index 000000000..cd1f2c943
--- /dev/null
+++ b/perl-install/install/help/po/.gitignore
@@ -0,0 +1 @@
+*.mo
diff --git a/perl-install/install/help/po/.tx/config b/perl-install/install/help/po/.tx/config
new file mode 100644
index 000000000..1e41c0d04
--- /dev/null
+++ b/perl-install/install/help/po/.tx/config
@@ -0,0 +1,8 @@
+[main]
+host = https://www.transifex.com
+
+[o:MageiaLinux:p:mageia:r:drakx_help]
+file_filter = <lang>.po
+source_file = DrakX-help.pot
+source_lang = en
+type = PO
diff --git a/perl-install/install/help/po/DrakX-help.pot b/perl-install/install/help/po/DrakX-help.pot
new file mode 100644
index 000000000..48524b132
--- /dev/null
+++ b/perl-install/install/help/po/DrakX-help.pot
@@ -0,0 +1,1117 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr ""
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr ""
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr ""
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr ""
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr ""
diff --git a/perl-install/install/help/po/Makefile b/perl-install/install/help/po/Makefile
new file mode 100644
index 000000000..457a7cbae
--- /dev/null
+++ b/perl-install/install/help/po/Makefile
@@ -0,0 +1,35 @@
+NAME = DrakX-help
+LOCALEDIR = ${prefix}/share/locale
+PL_FILES = ../help.pm
+
+MAIN_PO_FILES = ../../../share/po/libDrakX.pot ../../share/po/DrakX.pot
+
+POFILES = $(wildcard *.po)
+MOFILES = $(POFILES:%.po=%.mo)
+LANGS = $(POFILES:%.po=%)
+
+default: $(MOFILES)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+merge: $(NAME).pot
+ for n in $(POFILES); do \
+ echo "Merging $$n"; \
+ msgmerge $$n $(NAME).pot > "$$n"t ; \
+ mv -f "$$n"t $$n ; \
+ done
+
+$(NAME).pot: $(PL_FILES)
+ perl_checker -q --generate-pot .$@ $(PL_FILES)
+ xgettext $(MAIN_PO_FILES:%=-x %) -o $@ .$@
+ rm -f .$@
+
+install: $(MOFILES)
+ for l in $(LANGS); do \
+ install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ done
+
+clean:
+ @rm -rf *.mo $(POFILES:%=%t)
diff --git a/perl-install/install/help/po/af.po b/perl-install/install/help/po/af.po
new file mode 100644
index 000000000..66b9f7757
--- /dev/null
+++ b/perl-install/install/help/po/af.po
@@ -0,0 +1,1932 @@
+# translation of DrakX-af21-09.po to Afrikaans
+# translation of DrakX-af.po to Afrikaans
+# KTranslator Generated File
+# KTranslator Generated File
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Schalk W. Cronjé <schalkc@ntaba.co.za>, 2000.
+# Dirk van der Walt <mandrake@webmail.co.za>, 2003.
+# Dirk van der Walt <dirkvanderwalt@webmail.co.za>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-af\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\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"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Voordat u voortgaan, lees asb die lisensieterme noukeurig deur. Dit dek\n"
+"die hele Mageia distribusie. Indien u saamstem met al die\n"
+"voorwaardes daarin, merk die \"%s\" boksie. Indien nie, kan u op die\n"
+"\"%s\" knoppie druk om teherlaai."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux is 'n multigebruikerstelsel, dit beteken dat elke gebruiker sy\n"
+"eie voorkeure kan stel, met sy eie lêers ens. U kan meer hieroor in die\n"
+"\"Starter Guide\" lees. Andersins as 'root' (die supergebruiker) kan\n"
+"gebruikers wat u hier byvoeg niks behalwe hul eie lêers en eie\n"
+"konfigurasie verander nie. U moet ten minste een gewone gebruiker vir uself\n"
+"skep.\n"
+"Hierdie gebruker is die een waaronder u moet inteken vir normale gebruik\n"
+"van die rekenaar. Alhoewel dit baie gemaklik is om as 'root' in te teken "
+"vir\n"
+"daaglikse werk, is dit baie gevaarlik. 'n Eenvoudige fout kan moontlik u\n"
+"stelsel\n"
+"breek. 'n Fout wat as gewone gebruiker gemaak word, sal net daardie\n"
+"gebruiker\n"
+"beïnvloed en nie hele stelsel nie.\n"
+"\n"
+"Eers moet u, u eie naam intik. Dit is nie verpligtend nie, want u kan\n"
+"eintlik\n"
+"enigiets intik, as u wil. DrakX sal dan die eerste woord wat u ingetik het,\n"
+"in die\n"
+"\"%s\" veld plaas. U kan hier verander indien u wil. Dit is die\n"
+"gebruikernaam waarmee\n"
+"die gebruiker op die rekenaar sal aanteken. U moet dan ook 'n wagwoord\n"
+"voorsien.\n"
+"'n Gewone gebruiker se wagwoord is nie so krities soos dié van die\n"
+"supergebruiker\n"
+"(uit 'n sekuriteitsoogpunt) nie, maar daar is geen\n"
+"rede om agterlosig met u data te wees nie.\n"
+"\n"
+"\n"
+"Indien u op \"%s\" kliek sal die gebruiker geskep word en kan u nog\n"
+"gebruikers byvoeg.\n"
+"U kan vir al u vriende gebruikername skep, sommer een vir pa en ma ook. \n"
+"Sodra u klaar is, kliek op \"%s\".\n"
+"Kliek op die \"%s\" knoppie indien u die verstek-instruksiedop vir die\n"
+"gebruiker\n"
+"wil verander.\n"
+"Dit is bash by verstek.\n"
+"\n"
+"Sodra u klaar is met die skep van gebruikers, sal u gevra word om 'n\n"
+"gebruiker\n"
+"te kies wie outomaties sal inteken sodra Linux klaar selfgelaai het. Indien\n"
+"u hierdie funksie wil gebruik (en plaaslike sekuriteit tans nie vreeslik\n"
+"belangrik is nie), kies asseblief die verlangde gebruiker en venstermaker,\n"
+"klik dan op \"%s\".\n"
+"Indien u NIE hierdie funksie wil gebruik nie, sorg dat \"%s\" NIE gemerk is\n"
+"nie. "
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Wil u hierdie funksie gebruik?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hier is 'n lys van die bestaande Linux partisies wat opgespoor is.\n"
+"U kan die assistent se keuses behou, hulle is gewoonlik geskik vir die\n"
+"meeste installasies. Sou u wil verander, moet u ten minste 'n wortel-\n"
+"partisie (\"/\") voorsien. Dit moet nie te klein wees nie, anders kan ons \n"
+"nie genog sagteware installeer nie. Indien u die data op 'n aparte \n"
+"partisie wil stoor, moet u ook 'n \"/home\"-partisie skep.\n"
+"(waarvoor u meer as een Linux partisie nodig het).\n"
+"\n"
+"Elke partisie word as volg gelys: \"Naam\", \"Kapasiteit\".\n"
+"\n"
+"\"Naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
+"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
+"\n"
+"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
+"\"sd\" wees\n"
+"\n"
+"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" \n"
+"of \"sd\".\n"
+"Met IDE hardeskywe:\n"
+"\n"
+" * \"a\" beteken \"meester-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"b\" beteken \"slaaf-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"c\" beteken \"meester-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+" * \"e\" beteken \"slaaf-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
+"dan die volgende ID verteenwoordig ens."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Die Mageia installasie is versprei oor 'n aantal CD-ROMs.DrakX\n"
+"weet wanneer 'n gekose pakket op 'n ander CD-ROM is. DrakX sal in so\n"
+"geval die huidige CD uitskop en aandui watter een benodig word."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nou moet u spesifiseer watter programme u op die rekenaar wil\n"
+"installeer. Daar is duisende pakkette beskikbaar vir Mageia, en\n"
+"om alles meer eenvoudig te maak, is die pakkette gegroepeer onder\n"
+"groepe van selfde tipe programme.\n"
+"\n"
+"Die groepe is so saamgestel dat dit saamval met die tipe gebruik van u\n"
+"rekenaar. Mageia het vier vooraf gespesifseerde installasies\n"
+"beskikbaar. Dink aan hierdie tipes as houers met verskillende pakkette.\n"
+"U kan wel uit die verskillende houers, verskillende pakkette kies.\n"
+"Dus kan u \"Werkstasie\" ook programme uit die \"Ontwikkeling\"\n"
+"bevat.\n"
+"( Amper soos die \"pick 'n mix\" by 'n Clicks of 'n winkel van u keuse! )\n"
+"\n"
+" * \"%s\": indien u die rekenaar as 'n werkstasie wil gebruik, kies een of\n"
+"meer hieruit.\n"
+"\n"
+" * \"%s\": indien u ontwikkelling op die masjien wil doen, kan u hier\n"
+"kies en keur.\n"
+"\n"
+" * \"%s\": mense wat 'n bediener wil opstel, hier is vir julle keuses.\n"
+"\n"
+" * \"%s\": Grafiese-omgewings. Indien u 'n grafiese omgewing wil\n"
+"gebruik, moet u ten minste een hier kies.\n"
+"\n"
+"Beweeg u muis stadig oor elke groep om meer inligting daaroor te bekom.\n"
+"Indien u NIKS kies nie gedurende 'n normale installasie, sal 'n venster\n"
+"opspring met verskillende keuses vir hierdie minimale installasie:\n"
+"\n"
+" * \"%s\": installeer die minimale programme vir 'n werkende grafiese\n"
+"werksomgewing.\n"
+"\n"
+" * \"%s\": installeer 'n basiese stelsel met basiese nutsporgramme en hul\n"
+"dokumentasie. Dit is geskik om 'n bediener op te stel.\n"
+"\n"
+" * \"%s\": sal 'n absolute minimale installasie doen, sodat u bloot 'n\n"
+"werkende Linux rekenaar het. Die grootte sal so 65 megagrepe wees.\n"
+"\n"
+"U kan die \"%s\" blokkie merk, dit is handig indien u vertroud is met al\n"
+"die beskikbare pakette, en u meer beheer verlang.\n"
+"\n"
+"Indien u die installasie in \"%s\"-modus begin het, kan u NIKS kies nie\n"
+"om te verhoed dat nuwe pakette installeer. Baie handig wanneer u 'n\n"
+"bestaande stelsel opdateeer, of herstel."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opgradeer"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Met basiese dokumentasie"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Werklike minimale installasie"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Inidein u gespesifiseer het dat u individuele pakkette wil kies,\n"
+"sal daar 'n boom-struktuur aan u vertoon word met al die pakkette\n"
+"wat opgedeel is in groepe en sub-groepe. Soos u die deur hulle rits\n"
+"kan u hele groepe of sub-groepe kies, of self individuele pakkette.\n"
+"\n"
+"Sodra u 'n pakket kies, sal daar 'n beskrywing aan die regterkant verskyn\n"
+"wat aandui waarvoor die pakket gebruik word.\n"
+"\n"
+"Indien u 'n diensprogram kies, of dit nou deel is van 'n groepe pakkette of\n"
+"'n enkel een, sal u gevra word om die installasie daarvan te bevestig.\n"
+"Mageia sal by verstek alle bediener-programme afskop nadat u die\n"
+"rekenaar aangeskakel het. Hierdie bediener-programme is verpak sonder\n"
+"enige probleme bekend. Dit kon intussen verander het, nadat sekuriteits-"
+"gate\n"
+"gevind is. Indien u nie weet wat 'n diens veronderstel is om te doen nie, "
+"of\n"
+"waarom dit geïnstalleer word nie, klik op \"%s\". Deur op \"%s\" te klik "
+"sal\n"
+"die bediener-program geïnstalleer word en afskop sodra die Linux laai!!\n"
+"\n"
+"Die \"%s\"-opsie VERSPER die waarskuwings-dialoog wat verskyn\n"
+"sodra die installeerder ander pakkette moet kies a.g.v. afhanklikhede\n"
+"Afhanklikhede werk as volg: Sommige pakkette moet ander programme\n"
+"installeer om korrek te funksioneer, maar hierdie programme maak soms deel\n"
+"uit van 'n ander pakket, dus sal die installeer-program daardie pakkette\n"
+"ook installeer.\n"
+"\n"
+"Die klein disket-ikoon aan die lys se onderkant laat u toe om 'n lys van\n"
+"pakkette van 'n vorige installeasie te laai. Dit is handig indien u 'n\n"
+"aantal masjiene identies wil konfigureer. As u hierop klik, sal u gevra\n"
+"word om die disket te voorsien wat aan die einde van 'n vorige\n"
+"installasie geskep is. Raadpleeg die tweede wenk van die laaste stap\n"
+"oor hoe mens so disket skep."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Outomatiese-afhanklikhede"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"U kan nou dienste kies wat by herlaaityd moet afskop.\n"
+"\n"
+"Wanneer u die muis oor 'n item beweeg, sal 'n klein ballon opspring\n"
+"wat die rol van die diens verduidelik.\n"
+"\n"
+"Wees versigtig met hierdie stap. Indien u beplan om dié rekenaar as 'n\n"
+"bediener te gebruik wil u nie dienste afskop wat u nie gaan gebruik nie."
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux gebruik die GMT (Greenwich Mean Time) as verwysing en verstel\n"
+"dan die tyd volgens u tydsone. Dit beteken dat, in Suid-Afrika,\n"
+"die tyd op die moederbord sowat twee ure \"uit\" sal wees,\n"
+"indien u Johannesburg as tydsone kies. U kan GNU/Linux forseer om\n"
+"die moederbord en plaaslike tyd dieselfde te hou deur NIE die \"%s\" te\n"
+"merk NIE. Gebruik dit so wanneer die rekenaar\n"
+"ander bedryfstelsels ook kan laai, byvoorbeeld Windows.\n"
+"\n"
+"Die \"%s\"-opsie sal outomaties die klok reguleer deur gebruik te maak van\n"
+"'n eksterne tyd-bediener op die Internet. U sal natuurlik 'n werkende\n"
+"Internetkonneksie daarvoor benodig. Kies 'n bediener naby u. Hierdie opsie\n"
+"laat u toe om hierdie rekenaar self as 'n tyd-bediener te gebruik."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Outotydsinkronisasie"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafiesekaart\n"
+"\n"
+" Die installeer-program sal in meeste gevalle u grafiesekaart outomaties\n"
+"opspoor. Indien daar probleme is, kan u self van hierdie lys die kaart\n"
+"kies.\n"
+"\n"
+" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
+"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
+"behoefdes die beste sal bevredig."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (staan vir X Window Stelsel -let geen 's') is die hart van die GNU/Linux \n"
+"se grafiese-koppelvlak. Bo-op X, laai grafiese omgewings. ( dit sluit\n"
+"KDE, GNOME, AfterStep, WindowMaker ens. in)\n"
+"\n"
+"Hier is 'n lys van verstellings wat u kan verander om die beste resultate\n"
+"te verkry: Grafiesekaart\n"
+"\n"
+"Die program sal gewoonlik die regte grafiesekaart optel en opstel.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies.\n"
+"\n"
+" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
+"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
+"behoefdes die beste sal bevredig.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Die program sal gewoonlik u monitor korrek kies.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies.\n"
+"\n"
+"\n"
+"\n"
+"Resolusie\n"
+"\n"
+" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
+"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel\n"
+"hierdie keuse weer kan verander na die installasie). 'n voorbeeld\n"
+"van die gekose konfigurasie word vertoon op die skerm.\n"
+"\n"
+"\n"
+"\n"
+"Toets\n"
+"\n"
+" Afhangende van u hardeware, sal die inskrywing moontlik weg wees.\n"
+"\n"
+" ons gaan 'n grafiese skerm probeer opstel met die verstellings\n"
+"wat u gemaak het. Indien u die boodskap daarop kan sien en \"%s\"\n"
+"antwoord, sal DrakX na die volgende stap gaan. Indien u nie die boodskap\n"
+"kan sien nie, dui dit aan dat iets nie reg opgestel is nie. Die toets sal "
+"dan\n"
+"na 12 sekondes eindig, en terugval na die kieslys toe. Verander dan u\n"
+"keuses vir nog 'n probeerslag.\n"
+"\n"
+"\n"
+"\n"
+"Opsies\n"
+"\n"
+" Hier kan u spesifiseer indien u rekenaar die grafiese-koppelvlak moet\n"
+"begin tydens selflaai. U kan \"%s\" merk indien u 'die rekenaar as bediener\n"
+"gaan gebruik, of indien u nie X met sukses kon opstel nie"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Die program sal gewoonlik u monitor korrek kies.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusie\n"
+"\n"
+" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
+"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel hierdie\n"
+"keuse weer kan verander na die installasie). 'n voorbeeld van die gekose\n"
+"konfigurasie word vertoon op die skerm."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Indien daar verskillende tipe bedieners vir u kaart beskikbaar is, met of\n"
+"sonder 3D-versnelling, sal u gevra word om die een te kies wat u die beste\n"
+"sal pas."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opsies\n"
+"\n"
+" hier kan u kies of u die rekenaar wil laat eindig in 'n grafiese "
+"koppelvlak\n"
+"na dit aangeskakel is. U sal natuurlik \"%s\" kies indien die rekenaar as\n"
+"'n bediener gebruik gaan word, of u nie die skerm reg kon opstel nie."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Op hierdie tydstip moet u besluit waar op die hardeskyf u Mageia\n"
+"wil installeer. Indien u 'n leë hardeskyf het, of indien 'n bestaande\n"
+"bedryfstelsel al die beskikbare spasie gebruik, sal u partisies moet\n"
+"skep. Om 'n partisie te skep veroorsaak dat u die hardeskyf logies\n"
+"verdeel, om spasie te skep vir u nuwe Mageia bedryfstelsel.\n"
+"\n"
+"Indien u 'n onervare gebruiker is, kan die skep van partisies vreemd en\n"
+"intimiderend wees.\n"
+"Die skep van partisies is gewoonlik onomkeerbaar en kan dataverlies\n"
+"meebring indien daar reeds 'n bestaande bedryfstelsel op die hardeskyf is.\n"
+"Gelukkig sluit DrakX 'n assisstent in wat die proses vergemaklik.\n"
+"Voor u verder gaan, lees die volgende deel deeglik deur, en wees rustig!\n"
+"(Moet nie stres kap nie! - Chill Dude!)\n"
+"\n"
+"Afhangende van hoe u hardeskyf gekonfigureer is, is daar 'n aantal opsies\n"
+"beskikbaar:\n"
+"\n"
+" * \"%s\": hierdie opsie sal die partisies op u leë hardeskyf outomaties\n"
+"opstel.\n"
+"Indien u die een kies, is dit al inset wat u hoef te lewer.\n"
+"\n"
+" * \"%s\": die assistent het een of meer bestaande Linux-partisies op die\n"
+"hardeskyf gekry. Indien u wil gebruik maak van hulle, kies hierdie opsie.\n"
+"Daar is verstek hegpunte, wat u kan verander, indien u wil, maar ons stel\n"
+"voor u hou daarby.\n"
+"\n"
+" * \" %s\": indien u Microsoft Windows op u hardeskyf geïnstalleer het, en\n"
+"dit neem al die spasie in beslag, moet ons eers 'n plekkie vir Linux skep. U "
+"kan die Microsoft Windows partisie met al die data uitwis\n"
+"(verwys na 'Erase entie disk' oplossing)\n"
+"of u kan die Microsoft Windows FAT of NTFS partisie verklein. Dit kan "
+"geskied\n"
+"sonner verlies van data, mits u die partisie gedefragmenteer het.Ons beveel "
+"ten sterkste aan dat u 'n rugsteun maak van u data. Hierdie is\n"
+"die beste metode indien u beide Mageia en Microsoft Windows op die\n"
+"rekenaar wil gebruik.\n"
+"\n"
+"Neem tog kennis dat dit die beskikbare oop spasie in Microsoft Windows sal\n"
+"verminder, aangesien ons plek moet maak vir Linux op die hardeskyf.\n"
+"\n"
+" * \"%s\": Indien u alle data op alle partisies op u hardeskyf wil uitwis,\n"
+"en dit dan vervang met Mageia, kan u hierdie opsie kies.\n"
+"Wees versigtig die opsie is onomkeerbaar!\n"
+"\n"
+" !! Net weer waarsku: alle data op die skyf sal vernietig word. !! \n"
+" * \"%s\" hierdie opsie gaan doodeenvoudig alles uitwis en van vooraf\n"
+"die hardeskyf partisies skep. Alle data sal verlore gaan.\n"
+"\n"
+" !! Net weer waarsku: alle data up die skyf sal vernietig word. !! \n"
+" * \"%s\": kies hierdie opsie indien u self die partisies wil opstel. Wees\n"
+"uiters versigtig -- dit is 'n gevaarlike keuse en u kan maklik al u data "
+"verloor. Hierdieopsie word aanbeveel vir persone wat ondervinding\n"
+"het en vertroud is met Linux .\n"
+"U kan verder oplees oor hoe om te werk te gaan in die \"Managing Your\n"
+"Partitions deel van die \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gebruik bestaande partisies"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Wis hele skyf"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Fluit-fluit my storie is uit! Die installasie het tot 'n einde gekom en u\n"
+"GNU/Linux reknaar is gereed vir gebruik. Klik bloot op \"%s\" om\n"
+"te herlaai.Onthou tog om die installasie-media (CDROM of Disket)\n"
+"te verwyder. Die eerste skerm wat u sal sien, na die rekenaar sy\n"
+"hardeware-toetse uitgevoer het, is die herlaaistelsel se kieslys.\n"
+"Daar kan u die bedryfstelsel kies wat moet laai.\n"
+"\n"
+"Die \"%s\" knoppie sal nog twee knoppies laat verskyn:\n"
+"\n"
+" * \"%s\": om 'n installasie-disket te skep wat die hele installasie\n"
+"aotomaties sal doen, sonner die hulp van 'n persoon.\n"
+"Dit sal soortgelyk aan hierdie een wees.\n"
+"\n"
+" Let daarop dat twee verskillende opsies daarna beskikbaar sal wees:\n"
+"\n"
+" * \"%s\" Gedeeltelik outomaties. Die skep van partisies benodig 'n\n"
+"persoon om te spesifiseer.\n"
+"\n"
+" * \"%s\" Volkome outomaties. Die hardeskyf word totaal gewis, alle\n"
+"data word verloor.\n"
+"\n"
+" Hierdie is handig wanneer u 'n paar van dieselfde masjiene moet\n"
+"installeer.\n"
+"Besoek gerus ons webwerf vir meer inligting hieroor.\n"
+"\n"
+" * \"%s\": stoor 'n lys van die gekose pakette in hierdie installasie.\n"
+"Om hierdie keuses met 'n volgende installasie te gebruik, plaas disket\n"
+"in aandrywer en begin die installasie. Kies [F1] en tik '>> linux\n"
+"defcfg=\"floppy\" <<' in."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Skep outo-installasieskyf"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Enige nuwe partisies moet eers geformatteer word voor dit bruikbaar is.\n"
+"(formatteer beteken dan ons 'n lêerstelsel daarop skep).\n"
+"\n"
+"U kan ook nou kies om bestaande partisies te formatteer om so al die\n"
+"data daarop uit te vee. Kies asseblief dan nou daardie partisies ook.\n"
+"\n"
+"Let tog daarop dat die NIE nodig is om al die vooraf-bestaande partisies\n"
+"weer te formatteer NIE. U moet wel partisies wat die bedryfstelsel bevat\n"
+"formatteer. ( byvoorbeeld \"/\",\"/usr\" of \"/var\") maar partisies met\n"
+"data wat u graag wil hou ( bv \"/home\") moet nie geformatteer word\n"
+"nie.\n"
+"\n"
+"Wees daarom versigtig wanneer u die partisies kies. Na dit geformatteer\n"
+"is, sal ALLE data daarop vernietig wees.\n"
+"\n"
+"Klik op \"%s\" sodra u gereed is om te formatteer.\n"
+"\n"
+"Klik op \"%s\" indien u 'n ander partisie vir die installasie van u nuwe\n"
+"Madrake Linux bedryfstelsel wil kies\n"
+"\n"
+"Klik op \"%s\" indien u partisies wil kies wat dan ondersoek en\n"
+"getoets moet word."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Teen die tyd wat u Mageia installeer, is dit hoogs waarskynlik\n"
+"dat van die pakkette intussen opgedateer is. Foute kom reggestel wees,\n"
+"of sekuriteits probleme is dalk opgelos. Om voordeel hieruit te put, kan\n"
+"u hulle nou van die Internet aflaai. Merk \"%s\" indien u 'n werkende\n"
+"Internetkonneksie het, of \"%s\" sou u dit eers later wil doen\n"
+"\n"
+"Deur \"%s\" te kies, kan u 'n lys plekke sien waarvanaf hierdie\n"
+" pakkette gelaai kan word. Kies 'n geskikte een. 'n Boom-struktuur\n"
+" met die nuwwe pakkette in sal verskyn. As u gelukkig is met almal,kan u\n"
+" \"%s\" klik om hulle af te laai en te installeer, of \"%s\" om te ontsnap."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Op hierdie tydstip laat DrakX u toe om die sekuriteitsvlak vir die\n"
+"rekenaar te kies. 'n Algemene reel is dat die sekuriteit hoër behoort\n"
+"te wees indien die masjien belangrike inligting bevat, of direk aan\n"
+"die Internet gekoppel is. Hierdie hoër sekuriteit kom met die koste dat\n"
+"dit algemene gebruik op die rekenaar moeiliker maak.\n"
+"\n"
+"Indien u onseker is oor wat om te kies, bly by die verstek opsie. U\n"
+"kan altyd later die vlak verander deur draksec in die Mageia Control\n"
+"Center te grbruik.\n"
+"\n"
+"Die \"%s\" veld kan boodskappe stuur na 'n gekose persoon wat\n"
+"verantwoordelik is vir die sekuriteit. Hy/sy sal dan gereelde boodskappe\n"
+"ontvang rakende die stand van die sekuriteit."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sekuriteits-admin:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Nou moet u asseblief besluit watter partisie(s) u gaan gebruik vir die\n"
+"installasie van u Mageia rekenaar.Indien die partisies reeds\n"
+"geskep is gedurende 'n vorige GNU/Linux installasie of deur 'n ander\n"
+"partisie-program, kan u hulle gebruik.Indien nie, moet u eerstens\n"
+"partisies skep.\n"
+"\n"
+"Die skep van 'n partisie behels dat u 'n hardeskyf kies.U kan klik op\n"
+"\"hda\" om die eerste IDE hardeskyf te kies, \"hdb\" is die tweede ens.\n"
+"\"sda\" is die eerste SCSI skyf.\n"
+"\n"
+"Hier is die opsies wanneer u partisies skep op die gekose hardeskyf:\n"
+"\n"
+" * \"%s\": hierdie opsie wis alle partisies op die gekose skyf uit.\n"
+"\n"
+" * \"%s\": hierdie opsie sal outomaties 'ext4' en 'swap' partisies in die\n"
+"vrye spasie op die hardeskyf skep.\n"
+"\n"
+"\"%s\": gee u toegang tot verdere keuses:\n"
+"\n"
+" * \"%s\": stoor die partisielys op 'n disket. Handig indien u later die\n"
+"partisielys wil herstel.Ons beveel hierdie stap aan.\n"
+"\n"
+" * \"%s\": stel u in staat om 'n vorige gestoorde partisielys van 'n\n"
+"disket af te herstel.\n"
+"\n"
+" * \"%s\": indien u partisielys beskadig is, kan u poog om dit te\n"
+" herstel met hierdie opsie. Wees asseblief versigtig, en onthou\n"
+"dat dit nie altyd werk nie.\n"
+"\n"
+" * \"%s\": ignoreer al die veranderinge en herlaai die partisielys wat\n"
+"oorspronklik op die hardeskyf was.\n"
+"\n"
+" * \"%s\": deur hierdie opsie NIE te merk NIE, sal u gebruikers verplig\n"
+"om verwyderbere media soos diskette en CD-ROMs self te heg en\n"
+"te ontheg.\n"
+"\n"
+" * \"%s\": gebruik die opsie indien u 'n assistent verlang wat sal help\n"
+" met die skep van partisies. Word aanbeveel indien u nie vertroud met\n"
+"die skep van partisies is nie\n"
+"\n"
+" * \"%s\": kanselleer al u veranderinge.\n"
+"\n"
+" * \"%s\": laat ekstra aksies toe op die partisies (tipe, opsies, formaat)\n"
+"en gee ook eksta inligting omtrent die hardeskyf.\n"
+"\n"
+" * \"%s\": sodra u klaar is, sal sal dit u veranderinge stoor\n"
+"\n"
+"Wanneer u die grootte spesifiseer, kan u die fyner verstellings spesifiseer\n"
+"deur u sleutelbord se Pyltjie sleutels te gebruik.\n"
+"\n"
+"Aandag: U kan enige opsie bereik deur die sleutelbort te gebruik. Gebruik\n"
+"bloot die [Tab] sleutel en die [Op/Af] pyltjies. om 'n partisie te kies\n"
+"\n"
+"Wanneer 'n partisie gekies is, kan u die volgende doen:\n"
+"\n"
+" * Ctrl-c om 'n nuwe partisie te skep (mits 'n leë partisie gekies is)\n"
+"\n"
+" * Ctrl-d om 'n partisie uit te wis\n"
+"\n"
+" * Ctrl-m om 'n hegpunt te spesifiseer\n"
+"\n"
+"Om inligting rakende die verskillende beskikbare lêerstelsels te bekom, "
+"lees\n"
+"asseblief die ext2FS hoofstuk in die \"Reference Manual\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Outoheg van verwyderbare media"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skakel tussen normale/kenner modus"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Ons het meer as een Microsoft-partisie op u hardeskyf gevind.\n"
+"Kies dan nou die een wie se grootte u wil verander, om plek te maak\n"
+"vir u nuwe Mageia bedryfstelsel.\n"
+"\n"
+"Elke partisie is as volg gelys: \"Linux-naam\", \"Windows-naam\"\n"
+"\"Kapasiteit\".\n"
+"\n"
+"\"Linux-naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
+"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
+"\n"
+"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
+"\"sd\" wees\n"
+"\n"
+"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" of\n"
+"\"sd\".\n"
+"Met IDE hardeskywe:\n"
+"\n"
+" * \"a\" beteken \"meester-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"b\" beteken \"slaaf-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"c\" beteken \"meester-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+" * \"d\" beteken \"slaaf-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
+"dan die volgende ID verteenwoordig ens.\n"
+"\n"
+"\"Windows-naam\" is die letter van u hardeskyf onder Windoes ( die eerste\n"
+"skyf of partisie word \"C:\" genoem.)"
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ondersoek die huidige landskeuse. Indien u nie in daardie land\n"
+"is nie, klik op die \"%s\"-knoppie en kies die regte een. Indien u land\n"
+"nie in daardie lys teenwoordig is nie, kies die \"%s\"-knoppie vir 'n\n"
+"volledige lys."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Hierdie stap word slegs gedoen indien ou GNU/Linux partisies op die\n"
+"rekenaar gevind is.\n"
+"\n"
+"DrakX moet nou weet of u 'n nuwe installasie of 'n opgradering van 'n\n"
+"bestaande Mageia wil doen:\n"
+"\n"
+" * \"%s\": Hierdie deel word grootliks gebruik vir 'n hele nuwe "
+"installasie.\n"
+"Indien u aan die hardeskywe se partisies of die lêerstelsel wil verander,\n"
+"moet u hierdie opsie kies. Maar u kan ook hierdie een kies indien u sekere\n"
+"van u partisies se data wil behou.\n"
+"\n"
+" * \"%s\": hierdie tipe installasie laat u toe om pakkette op te dateer\n"
+"wat deel uitmaak van u huidige Mageia installasie. Die partisies\n"
+"en gebruiker se data bly onveranderd. Ander stappe is baie dieselfde as\n"
+"'n normale installasie.\n"
+"\n"
+"Die gebruik van die 'Opdateer' opsie behoort reg te werk vir al die\n"
+"weergawes vanaf \"8.1\" en opwaarts. Ons raai u af on dit op weergawes\n"
+"ouer as \"8.1\" te probeer."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhangende van die verstek taal wat u kies, sal DrakX outomaties 'n\n"
+"betrokke steutelbord-konfigurasie kies. U mag moontlik 'n sleutelbord\n"
+"besit wat nie 100-persent ooreenstem met u taal nie: byvoorbeeld as u 'n\n"
+"Ingelse Sweed is, sal u dalk 'n sweedse sleutelbord besit. Hier is nog\n"
+"een: gestel jy is 'n Afrikaner wat werk in Quebec, u sal dalk met 'n ander\n"
+"tipe sleutelbord moet klaarkom as wat u gewoond is. Wel, hier kan u die\n"
+"gepaste sleutelbord uit 'n lys kies.\n"
+"\n"
+"Klik op die \"%s\"-knoppie vir 'n lys van al die ondersteunde sleutelborde\n"
+"\n"
+"Indien u 'n nie-Latynse sleutelbord kies, sal die volgende dialoog u\n"
+"toelaat om sleutel-bindings tussen Latynse en nie-Latynse uitlegte\n"
+"te kies."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Die taal wat u hier kies sal die dokumentasie se taal, die installeer\n"
+"program, en rekenaar oor die algemeen, beïnvloed. Kies eerstens\n"
+"die area waar u woon, en daarna die taal wat u praat.\n"
+"( Jammer, geen inskrywing vir die wat 'nonsens' wou kies nie! )\n"
+"\n"
+"Deur op die \"%s\"-knoppie te klik, kan u ander tale by kies.\n"
+"Dit sal dan dokumentasie en programme toelaat in daardie ekstra tale.\n"
+"Sou daar byvoorbeeld Spaanse gebruikers op die masjien inteken, kies\n"
+"Afrikaans(of Engels) as die verstek taal en \"%s\" in die Gevorderde\n"
+"seksie.\n"
+"\n"
+"Deur 'n sekere taal te kies, sal vertalings, lettertipes,\n"
+"spelkykers ens vir die betrokke taal geïnstalleer word.\n"
+"\n"
+"Boonop kan die \"%s\" merkblokkie u toelaat om die gebruik van 'unicode\n"
+"(UTF-8)' af te dwing. Let daarop dat dit eksperimenteel is. Indien u "
+"verskillende tale met verskillende koderings kies, sal\n"
+"'nicode'-ondersteuning geïnstalleer word.\n"
+"\n"
+"Let tog daarop dat u nie verbind is tot slegs een ekstra taal nie. U kan 'n\n"
+"paar van hulle kies, as u nou regtig wild wil raak, installeer almal deur\n"
+"die \"%s\" blokkie te merk!\n"
+"Om tussen verskillende tale te skakel, gebruik \"/usr/bin/localedrake\"\n"
+"Wanneer die supergebruiker (root) dit doen sal dit die taal vir almal\n"
+"verander, en wanneer 'n gewone gebruiker dit doen , sal dit net vir\n"
+"daardie gebruiker verander."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX het gewoonlik geen probleme met die speur van die aantal muisknoppies\n"
+"nie. Indien wel, sal dit aanneem dat die muis twee knoppies het, en sal dan\n"
+"3-knop emulasie konfigureer. Die 3de knoppie kan \"gedruk\" word deur beide\n"
+"knoppies gelyktydig te klik. DrakX sal vanself weet watter tipe muis u het,\n"
+"of dit nou 'n PS/2, sierie of USB muis mag wees.\n"
+"\n"
+"Indien u muis 3 knoppies het, maar nie 'n wielletjie nie, kan u \"%s\" kies\n"
+"DrakX sal dan u muis so opstel dat die wielletjie gesimuleer word. Druk\n"
+"die middel knoppie en beweeg die muis op en af - maklik!\n"
+"\n"
+"Indien u moontlik 'n ander tipe muis wil spesifiseer, kies dit vanaf die\n"
+" voorsiende lys.\n"
+"\n"
+"Indien u gekose muis verskil van die verstek muis, sal 'n toetsskerm\n"
+"vertoon word. Gebruik die knoppies en wielletjie om seker te maak\n"
+"alles werk korrek.\n"
+"Indien u probleme ondervind, druk die spasiebalk of [ Enter ] sleutel om\n"
+"die toets te kansselleer en weer te kies.\n"
+"\n"
+"Wielmuise word soms verkeerdelik geïdentifiseer, dan moet u self u\n"
+"muis vanaf die lys kies.\n"
+"Maak tog seker u kies die regte poort waaraan die muis\n"
+"gekoppel is. Na u die muis gekies, en \"%s\" geklik het, sal 'n beeld van\n"
+" 'n muis verskyn.\n"
+"Rol die wielletjie om te bevestig dat dit korrek funksioneer. Sodra u\n"
+"die beeld van die muis se wielletjie sien reageer, kan u ook die knoppies\n"
+"en beweging van u muis toets."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "met wielletjie-emulasie"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Enige PS/2 & USB muis"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Kies asb. die korrekte poort. Onthou dat COM1 onder MS Windows \n"
+"ttyS0 onder GNU/Linux is."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO en grup is herlaaistelsels vir GNU/Linux. Hierdie stap is normaalweg\n"
+"geheel en al outomaties. DrakX sal u hardeskyf se selflaai-sektor nagaan\n"
+"en dienooreenkomstig handel met wat dit vind:\n"
+"\n"
+" * indien 'n Windows selflaai-sektor teenwoordig is, sal dit met 'n grub/\n"
+"LILO een vervang word. Dit sal u toelaat om te kan kies watter\n"
+"bedryfstelsel om te laai sodra u die masjien aanskakel.\n"
+"\n"
+" * indien 'n grub of LILO selflaai-sektor teenwoordig is, sal dit vervang\n"
+"word.\n"
+"\n"
+"Indien DrakX nie self kan besluit nie, sal u gevra word om 'n ligging vir\n"
+"die herlaaistelsel te voorsien. Gewoonlik is die veiligste plek \"%s\". Deur "
+"\"%s\" te kies, sal DrakX geen herlaaistelsel installeer nie."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Dit is nou tyd om u drukkerstelsel te kies. Ander bedryfstelsels sal\n"
+"seker net een aan u bied, maar Mageia gee twee. Elk van hulle\n"
+"is beter as die ander in sekere gevalle.\n"
+"\n"
+" * \"%s\" -- wat vir \"print, do not queue\" staan. Kies dit indien u\n"
+"'n direkte konneksie na die drukker het, en u blitsig wil inmeng sodra\n"
+"daar probleme is, ook indien u nie netwerk-drukkers het nie. (\"%s\"\n"
+"hanteer net eenvoudige netwerk-toegang en is effe stadig deur die netwerk)\n"
+"Ons beveel aan dat u \"pdq\" gebruik indien u nog groen is met GNU/Linux.\n"
+"\n"
+" * \"%s\" - 'Common Unix Printing System', is 'n uitstekende keuse om na\n"
+"u plaaslike drukker, of na een in myle vanaf u, te druk. Eenvoudig om\n"
+"op te stel, kan kliënt of bediener rolle vertolk vir die lpd-fossiel. Dit\n"
+" beteken dat ons omsien na ons veterane! Dit is baie kragtig, maar 'n\n"
+"elementêre opstel is byna so maklik soos \"pdq\". Indien u 'n lpd-\n"
+"bediener wil nastreef, maak seker dat u die \"cups-lpd\"-daemoon\n"
+"loop. \"%s\" sluit grafiese programme in om vanaf te druk of om\n"
+"opsies te keis en drukkers te bestuur.\n"
+"\n"
+"Sou u die keuse nou, later wil verander, gaan gerus na 'PrinterDrake'\n"
+"in die 'Mageia Control Center' en klik op die \"Kenner\" knoppie."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ervare"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sal eerstens vir IDE toestelle op die rekenaar soek.\n"
+"Daarna sal dit probeer om vir PCI SCSI-kaarte te kry.\n"
+"Indien DrakX 'n SCSI-kaart bespeur en weet watter drywer\n"
+"om te gebruik sal dit outomaties installeer word.\n"
+"\n"
+"Omrede hierdie proses nie altyd alles opspoor nie, sal u dalk self u\n"
+"hardeware moet spesifiseer.\n"
+"\n"
+"Indien u self 'n drywer moes spesifiseer, sal DrakX u ook vra vir enige\n"
+"spesifieke opsies.\n"
+"U kan egter DrakX toelaat om self die hardeware te ondervra. Dit werk\n"
+"gewoonlik die beste.\n"
+"\n"
+"Lees die installasie inligting hoe om hierdie tipe inligting m.b.v. die\n"
+"Windows-bedryfstelsel te bekom.\n"
+"U kan dit ook vanaf die internet onttrek indien u sulke toegang het."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\" die bespeurde klankkaart op u rekenaar sal hier vertoon word.\n"
+"Indien die aangeduide klankkaart verskil van die werklike een op u\n"
+"rekenaar,\n"
+"kan u op die knoppie klik, om 'n ander drywer te kies."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sal u 'n oorsig bied van u rekenaar se inligting. Afhangende van die\n"
+"sagteware wat u geïnstalleer het, sal u sommige of al die volgende\n"
+"afdelings hê. Elke inskrywing bestaan uit die item wat gekonfigureer\n"
+"moet word, asook 'n kernopsomming oor die huidige stand.\n"
+"Klik op die ooreenkomstige \"%s\"-knoppie om dit te verander.\n"
+"\n"
+" * \"%s\": bekyk die huidige sleutelbord-uitleg en verander indien nodig.\n"
+"\n"
+" * \"%s\": bekyk die huidige keuse van u land. Indien u nie in hierdie land\n"
+"woon nie, klik op die \"%s\"-knoppie om 'n ander te kies. Sou dit nie in\n"
+"die lys wees nie, klik op die \"%s\"-knoppie vir 'n volledige lys.\n"
+"\n"
+" *\"%s\": By verstek word u tydsone aangepas, afhangende van die land\n"
+"wat u kies. Klik op die \"%s\"-knoppie indien dit verkeerd is.\n"
+"\n"
+" * \"%s\": ondersoek die huidige muiskonfigurasie en klik op die knoppie\n"
+"on dit te verander.\n"
+"\n"
+" * \"%s\": deur op die \"%s\"-knoppie te klik, sal u die drukker-assistent\n"
+"loods. Raadpleeg die ooreenkomstige hoofstuk in die \"Starter Guide\"\n"
+"vir meer inligting daaroor.\n"
+"\n"
+" * \"%s\": sou ons 'n klankkaart opspoor op die rekenaar, sal dit hier\n"
+"vertoon word. Indien u verskil van ons keuse, klik op die knoppie om\n"
+"'n ander drywer te kies.\n"
+"\n"
+" * \"%s\": DrakX stel u skerm op met 'n resolusie van \"800x600\"\n"
+" of \"1024x768\" by verstek. Indien u wil verander, kan u \"%s\"\n"
+"kies om dit te herkonfigureer.\n"
+"\n"
+" * \"%s\": indien 'n TV-kaart opgespoor is, sal dit hier vertoon. Inidien\n"
+"nie, en u het wel een, klik op \"%s\" om dit self op te stel.\n"
+"\n"
+" * \"%s\": indien 'n ISDN-kaart opgespoor is, sal dit hier vertoon. Klik\n"
+"op \"%s\" om verstellings daarop aan te bring\n"
+"\n"
+" * \"%s\": Indien u die netwerk en Internet toegang nou wil opstel\n"
+"\n"
+" * \"%s\": hier kan u die sekuriteitsvlak verander wat in 'n vorige stap \n"
+"opgestel is.\n"
+"\n"
+" * \"%s\": Indien die masjien toegang tot die Internet sal hê, kan u gerus\n"
+"u rekenaar beskem teen die hansworse daar buite, deur 'n vuurmuur op te\n"
+"stel. Lees gerus meer daaroor op in die \"Starter Guide\"\n"
+"\n"
+" * \"%s\": indien u die herlaaistelsel se konfigurasie wil verander. Word\n"
+"meer vir slimkoppe aanbeveel.\n"
+"\n"
+" * \"%s\": hier kan u fyner verstellings maak op die dienste wat sal afskop\n"
+"Ondersoek dit gerus indien u die rekenaar as bediener gaan gebruik."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN-kaart"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiese koppelvlak"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Kies die hardeskyf wat u wil wis, om u nuwe Mageia\n"
+"te kan installeer. Wees tog versigtig, alle huidige data op daardie\n"
+"partisie sal vernietig word!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klik op \"%s\" sou u al die data an al die partisies wat tans op hierdie\n"
+"hardeskyf is wil uitwis. Wees versigtig! Na u \"%s\" geklik het, sal u nie\n"
+"weer enige van die data of partisies kan red nie, dit sluit data op\n"
+"Windows-partisies in.\n"
+"\n"
+"Klik op \"%s\" indien u hierdie aksie wil staak, sonder om data te verloor."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Volgende ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Vorige"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": deur op die \"%s\" knoppie te klik, sal u toegang tot die "
+#~ "'printer\n"
+#~ "configuration wizard' kry. Gaan gerus die ooreenstemde hoofstuk in die\n"
+#~ "\"Starter Guide\" na vir meer inligting. Dit stem baie ooreen met die een."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Hierdie is die belangrikste oomblik vir u GNU/Linux-rekenaar se "
+#~ "sekuriteit:\n"
+#~ "u moet 'n wagwoord voorsien vir \"root\". \"Root\" is die supergebruiker "
+#~ "wat\n"
+#~ "dinge doen soos om die sagteware op te dateer, gebruikers by te voeg,\n"
+#~ "en die konfigurasie te verander. \"Root\" kan alles doen! Hieroor moet\n"
+#~ "u 'n deeglike wagwoord vir \"root\" kies - (DrakX sal jou tune as die "
+#~ "wag-\n"
+#~ "woord nie op spec is nie.) U kan wel die wagwoord uitlaat, maar dit word\n"
+#~ "te sterkste afgeraai. GNU/Linux is net so vatbaar vir foute soos enige\n"
+#~ "ander bedryfstelsel. Aangesien \"root\" geen perke het nie, kan hy/sy\n"
+#~ "maklik skade aanrig as die persoon roekeloos handel. Dit moet dus\n"
+#~ "moeilik wees vir 'n persoon om \"root\" te word.\n"
+#~ "\n"
+#~ "Die wagwoord behoort 'n mengsel van letters en syfers te wees en ten "
+#~ "minste\n"
+#~ "8 karakters lank te wees. Moet dit nie neerskryf nie, dit veroorsaak 'n\n"
+#~ "swak skakel\n"
+#~ "\n"
+#~ "Moet dit ook nie te vreemd maak nie, u moet dit tog kan onthou!\n"
+#~ "\n"
+#~ "Indien u gebruik maak van 'n eksterne bediener wat die toegang beheer,\n"
+#~ "klik op die \"%s\"-knoppie.\n"
+#~ "\n"
+#~ "Indien u netwerk gebruik maak van LDAP, NIS of 'n Windows PDC, moet\n"
+#~ "u die gepaste diens vir \"%s\" kies. Vra u administrateur indien u nie "
+#~ "weet\n"
+#~ "watter een om te kies nie.\n"
+#~ "\n"
+#~ "Indien u probleme ondervind om wagwoorde te onthou, en die rekenaar is\n"
+#~ "ver van die Internet af, en u vertrou almal wat die masjien gebruik, kan "
+#~ "u\n"
+#~ "kies om \"%s\" te gebruik. -once & heavy!-"
+
+#~ msgid "authentication"
+#~ msgstr "magtiging"
diff --git a/perl-install/install/help/po/am.po b/perl-install/install/help/po/am.po
new file mode 100644
index 000000000..4d4d94e65
--- /dev/null
+++ b/perl-install/install/help/po/am.po
@@ -0,0 +1,1135 @@
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/am.php3
+# Copyright (C) 2004 Mandriva SA
+# Alemayehu Gemeda <alemayehu@gmx.at>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-06-01 03:36+0100\n"
+"Last-Translator: Alemayehu <alemayehu@gmx.at>\n"
+"Language-Team: Amharic <am-translate@geez.org>\n"
+"Language: am\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ይህንን áˆáŠ”á‰³ መጠቀሠይáˆáˆáŒ‹áˆ‰?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "ከመሰረታዊ ማስረጃ ጋር"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "በእá‹áŠá‰µ አáŠáˆµá‰°áŠ› ተከላ"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ራስ-ገዛዊ ራስን መቻáˆ"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "ቀን እና ሰዓት"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "የáŠá‰ áˆ¨á‹áŠ• ክá‹á‹­ ተጠቀáˆ"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ዲስኩን እንዳለ á‹°áˆáˆµáˆµ"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "የደህንáŠá‰µ ተቆጣጣሪ"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ስá“ኒሽ"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "አኃዞች (ከክáተት ጋር)"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "የመሸáˆáŠ› ዘዴ"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "የISDN ካርድ"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "የISDN ካርድ"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ንድá‹á‹Š እይታ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "የሚቀጥለዠ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- የቀድሞá‹"
diff --git a/perl-install/install/help/po/ar.po b/perl-install/install/help/po/ar.po
new file mode 100644
index 000000000..308fda099
--- /dev/null
+++ b/perl-install/install/help/po/ar.po
@@ -0,0 +1,2005 @@
+# translation of DrakX.po to Arabic
+# Amr Fathy <amr10@menanet.net>, 2001.
+# Mohammed Gamal <f2c2001@yahoo.com>, 2002.
+# Youcef Rabah Rahal <rahal@arabeyes.org>, 2004.
+# Ossama M. Khayat <okhayat@yahoo.com>, 2004, 2005.
+# Munzir Taha <munzir@kacst.edu.sa>, 2004.
+# Abdulaziz Al-Arfaj <alarfaj@arabeyes.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-03-03 01:06+0300\n"
+"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
+"Language-Team: Arabic <support@arabeyes.org>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : "
+"3\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"قبل المتابعة، عليك قراءة بنود الترخيص جيداً.. إنها\n"
+"تغطي كل توزيعة ماندريبا لينكس. إذا كنت تواÙÙ‚ على كل البنود\n"
+"الموجودة Ùيها، قم بالتأشير على مربّع \"%s\". إن لم يكن كذلك، ÙØ¨Ø§Ù„ضّغط على زرّ "
+"\"%s\"\n"
+"سيتم إعادة تشغيل جهازك."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"نظام جنو/لينكس هو نظام متعدد المستخدمين، مما يعني أن كل مستخدم\n"
+"له ØªÙØ¶ÙŠÙ„اته الخاصة Ùˆ Ù…Ù„ÙØ§ØªÙ‡ الخاصة Ùˆ ما إلى ذلك. لكن على غرار المستخدم \"root"
+"\"ØŒ والذي هو مدير النظام، ÙØ¥Ù† المستخدمين الذين ØªÙØ¶ÙŠÙهم حتى هذه النقطة لن "
+"يكونوا Ù…ÙØ®ÙˆÙ‘لين\n"
+"بتغيير أي شيء عدا ملÙّاتهم الخاصّة وإعداداتهم،\n"
+"لحماية النظام من أيّ تغييرات مشبوهة أو غير مقصودة والتي\n"
+"قد تكون ذات تأثير على النّظام بشكل كامل. سيتعيّن عليك إنشاء مستخدم واحد على "
+"الأقل Ù„Ù†ÙØ³Ùƒ -- والذي هو حساب عليك استخدامه للعمل الروتيني اليومي.\n"
+"مع أنّه من السهل تسجيل الدخول كـ\"root\" لعمل\n"
+"أي شيء وكل شيء، إلا أنّه قد يكون أيضاً خطراً جداً. الخطأ البسيط جداً\n"
+"قد يعني أنّ نظامك لن يعمل بعد ذلك. إن قمت بخطأ جسيم\n"
+"كمستخدم عادي، ÙØ¥Ù†Ù‘ أسوأ ما قد يحدث أنّك ستÙقد\n"
+"بعض المعلومات، ولكن لن ØªÙØ¤Ø«Ù‘ر على النظام ككلّ.\n"
+"\n"
+"\n"
+"الحقل الأول سيسألك عن اسمك الحقيقي. بالطبع هذا الحقل\n"
+"ليس اجبارياً -- يمكنك إدخال أي شئ تريد. DrakX سيستخدم الكلمة\n"
+"الأولى التي قمت بإدخالها ÙÙŠ هذا الحقل وينقلها إلى حقل \"%s\"ØŒ الذي\n"
+"هو الاسم الذي سيدخله المستخدم للدخول على النظام. إن أحببت، يمكنك تخطّي\n"
+"Ø§Ù„Ù…ÙØ¯Ø®Ù„ Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ ÙˆØªØºÙŠÙ‘Ø± اسم المستخدم. الخطوة التالية هي إدخال كلمة المرور.\n"
+"من وجهة نظر أمنية، ÙØ¥Ù† كلمة مرور المستخدم العادي بدون صلاحيات\n"
+"ليست بأهمّيّة كلمة مرور المستخدم \"الجذر\"، لكن ليس هذا سبب للتغاضي\n"
+"عنها أو جعلها ÙØ§Ø±ØºØ© أو جعلها سهلة جداً: على كلّ حال، Ù…Ù„ÙØ§ØªÙƒ قد تكون هي\n"
+"التي ÙÙŠ خطر.\n"
+"\n"
+"بمجرد ضغطك على زر \"%s\"ØŒ يمكنك Ø¥Ø¶Ø§ÙØ© مستخدمين أخر. أض٠اسم مستخدم\n"
+"لكل صديق من أصدقائك أو لأبيك أو لأختك،مثلاً. اضغط \"%s\" عندما\n"
+"تنتهي من Ø¥Ø¶Ø§ÙØ© المستخدمين.\n"
+"\n"
+"ضغط زرّ \"%s\" يسمح لك بتغيير \"Ø§Ù„ØµÙ‘ÙŽØ¯ÙØ©\"\n"
+"لذلك المستخدم (bash هو Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ).\n"
+"\n"
+"عندما تنتهي من Ø¥Ø¶Ø§ÙØ© المستخدمين، سيتم سؤالك عما إذا كنت تريد اختيار مستخدم\n"
+"يتم الدخول بواسطته إلى النظام تلقائياً عند بدء التشغيل.\n"
+"إذا كنت مهتماً بهذه الميزة (و لم تكن مهتماً كثيراً بالأمن المحلّي)،\n"
+"اختر المستخدم المطلوب Ùˆ مدير Ø§Ù„Ù†ÙˆØ§ÙØ° ثم اضغط \"%s\".\n"
+"إن لم تكن مهتماً بهذه الميزة، قم بإزالة التأشير من مربّع الاختيار \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "هل تريد استخدام هذه الميزة؟"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ÙÙŠ الأعلى ستجد تجزيئات لينكس الموجودة والتي عثر عليها على القرص الصلب الخاص "
+"بك.\n"
+"يمكنك أن ØªÙØ¨Ù‚ÙŠ اختيارات المرشد، وهي جيدة لأغلب أنواع التثبيت.\n"
+"إذا قمت بعمل أي تغييرات Ùيجب عليك أن تعر٠التجزيء الجذر (\"/\"). لا تختر\n"
+"تجزيئات صغيرة جدا Ùˆ إلا لن تستطيع تثبيت برامج كاÙية. إذا كنت تريد تخزين "
+"البيانات\n"
+"على تجزيء مستقل ÙØ³ØªØ­ØªØ§Ø¬ إلى عمل تجزيء لـ\"/home\"\n"
+"(ممكن Ùقط إذا كان لديك أكثر من تجزيء للينكس).\n"
+"\n"
+"كل تجزيء Ù…ÙØ¹Ø·Ù‰ بالشكل التالي: \"الإسم\"ØŒ \"السعة\".\n"
+"\n"
+"\"الإسم\" مركب بالسكل التالي: \"نوع القرص الصلب\"، \"رقم القرص الصلب\"،\n"
+"\"رقم التجزيء\" (مثلا، \"hda1\").\n"
+"\n"
+"\"رقم القرص الصلب\" دائما هو حر٠بعد \"hd\" أو \"sd\". بالنسبة للأقراص "
+"الصلبة\n"
+"من نوع IDE ÙØ¥Ù†:\n"
+" * \"a\" تعني \"القرص الصلب الأساسي على متحكم IDE الأساسي\"،\n"
+"\n"
+" * \"b\" تعني \"القرص الصلب الثانوي على متحكم IDE الأساسي\"،\n"
+"\n"
+" * \"c\" تعني \"القرص الصلب الأساسي على متحكم IDE الثانوي\"،\n"
+"\n"
+" * \"d\" تعني \"القرص الصلب الثانوي على متحكم IDE الثانوي\"،\n"
+"\n"
+"أما بالنسبة لأقراص سكزي SCSI ÙØ§Ù„حر٠\"a\" يعني \"أقل معر٠SCSI\"ØŒ Ùˆ الحر٠\"b"
+"\"\n"
+"يعني \"ثاني أقل معر٠SCSI\"، الخ."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"تثبيت ماندريبا لينكس موزّع على العديد من الأقراص.\n"
+"إن كانت حزمة ما ÙÙŠ قرص آخر، سيقوم DrakX بإخراج القرص\n"
+"الحالي و سيطلب منك أن تدخل القرص المطلوب. إن لم يكن القرص المطلوب لديك،\n"
+"Ùقط اضغط على \"%s\"ØŒ ولن يتمّ تثبيت تلك الحزم.."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"حان الوقت الآن لتحديد أيّ البرامج تريد تثبيتها على نظامك.\n"
+"هناك الآلا٠من الحزم المتوÙّرة لماندريبا لينكس، Ùˆ\n"
+"لكي نجعلها أسهل إدارة Ùقد وضعت الحزم ÙÙŠ مجموعات من\n"
+"التّطبيقات المتشابهة.\n"
+"\n"
+"يصن٠ماندريبا لينكس الحزم ÙÙŠ أصنا٠أربعة. يمكنك \n"
+"خلط ومطابقة التّطبيقات من الأصنا٠المتعدّدة، بحيث\n"
+"يحتوي تثبيت \"محطّة عمل\" على تطبيقات من ÙØ¦Ø© خادم.\"\n"
+"\n"
+" * \"%s\": إن كنت تنوي استخدام جهازك كمحطّة عمل، اختر واحد أو\n"
+"أكثر من المجموعات التي ÙÙŠ ÙØ¦Ø© محطّة العمل.\n"
+"\n"
+" * \"%s\": إن كنت تنوي استخدام جهازك للبرمجة، اختر\n"
+"المجموعات المناسبة من تلك Ø§Ù„ÙØ¦Ø©. مجموعة \"LSB\" المميزة سوÙ\n"
+"تهيئ نظامك بحيث يتواÙÙ‚ قدر الإمكان مع توصيات قاعدة لينكس القياسية.\n"
+"\n"
+" اختيار مجموعة \"LSB\" سو٠يثبت أيضاً تسلسل النواة \"2.4\"،\n"
+"بدلاً من \"2.6\" Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠÙ‘Ø©. هذا للتأكيد على التواÙÙ‚ الكامل للنظام مع LSB.\n"
+"على كل حال، إن لم تختر مجموعة \"LSB\" ÙØ³ÙˆÙ\n"
+"لا يزال يكون لديك نظام متواÙÙ‚ 100%% تقريباً مع LSB.\n"
+"\n"
+" * \"%s\": إن كان جهازك سيستخدم كخادم، اختر أيّاً من\n"
+"الخدمات الأكثر شيوعاً ترغب ÙÙŠ تثبيتها على جهازك.\n"
+"\n"
+" * \"%s\": هذا هو المكان الذّي تحدّد Ùيه بيئتك الرّسوميّة Ø§Ù„Ù…ÙØ¶Ù‘لة.\n"
+"يجب على الأقلّ اختيار واحدة إن كنت تريد أن يكون لديك\n"
+"واجهة رسوميّة متوÙّرة.\n"
+"\n"
+"تحريك مؤشّر الماوس عبر اسم مجموعة سيظهر نصّ شرح٠مختصرÙ\n"
+"عن تلك المجموعة.\n"
+"\n"
+"يمكنك اختيار مربّع \"%s\"ØŒ والذي هو Ù…Ùيد إن كنت معتاداً على\n"
+"الحزم المÙÙˆÙّرة أو إن كنت متحكماً تماماً\n"
+"بما سيتم تثبيته.\n"
+"\n"
+"إن بدأت التثبيت بالوضع \"%s\"، يمكنك إزالة اختيار كل المجموعات ومنع تثبيت أي "
+"حزم جديدة. هذا Ù…Ùيد\n"
+"لإصلاح أو تحديث نظام موجود.\n"
+"\n"
+"إن قمت بإلغاء تحديد كلّ المجموعات عند القيام بتثبيت عاديّ\n"
+"(كما هو الحال ÙÙŠ التّحديث)ØŒ سينبثق حوار يقترح\n"
+"خيارات متعدّدة للتثبيت الأدنى:\n"
+"\n"
+" * \"%s\": تثبيت أقلّ عدد من الحزم الممكنة لتحصل\n"
+"على سطح مكتب رسوميّ عامل.\n"
+"\n"
+" * \"%s\": بتثبيت النّظام الأساسي Ø¨Ø§Ù„Ø¥Ø¶Ø§ÙØ© إلى الأدوات البسيطة وتوابعها\n"
+"من المواثقة. هذا التثبيت مناسب لإعداد خادم.\n"
+"\n"
+" * \"%s\": سو٠يثبت أقلّ عدد ممكن من الحزم الضّروريّة\n"
+"للحصول على نظام لينكس عامل. بهذا التّثبيت ستحصل Ùقط على\n"
+"واجهة سطر الأوامر. الحجم الكلّي لهذا التّثبيت هو حوالي 65\n"
+"ميجابايت."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ترقية"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "مع وثائق المساعدة الأساسية"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "تثبيت مصغّر جداً"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"إن أخبرت برنامج التثبيت أنك تريد اخيار الحزم ÙØ±Ø¯ÙŠÙ‘اً،\n"
+"ÙØ³ÙˆÙ يقدّم لك شجرة تحتوي كلّ الحزم Ù…ØµÙ†Ù‘ÙØ©Ù‹ بحسب المجموعات Ùˆ\n"
+"المجموعات Ø§Ù„ÙØ±Ø¹ÙŠÙ‘Ø©. خلال استعراض الشّجرة، يمكنك تحديد مجموعات بالكامل،\n"
+"مجموعات ÙØ±Ø¹ÙŠÙ‘ة، أو حزم Ù…ÙØ±Ø¯Ø©.\n"
+"\n"
+"حينما تحدّد حزمة من الشّجرة، يظهر وصÙÙŒ على\n"
+"اليمين يعلمك بالغرض من الحزمة.\n"
+"\n"
+"!! إن تمّ اختيار حزمة خادم، إمّا بسبب أنّك حدّدتها\n"
+"قصداً أو بسبب أنّها كانت جزءً من مجموعة حزم،\n"
+"سو٠تسأل التّأكيد على أنّك حقّاً تريد تلك الخادمات أن تكون\n"
+"مثبتة. بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠ Ø³ÙŠÙ‚ÙˆÙ… ماندريبا لينكس بتشغيل أي خدمات مثبّتة تلقائيّاً\n"
+"عند بدء التّشغيل. حتى إن كانت آمنة وليس لها أيّ مسائل Ù…Ø¹Ø±ÙˆÙØ© حين\n"
+"وقت شحن التّوزيعة، ÙØ¥Ù†Ù‘Ù‡ من الممكن جدّاً أن\n"
+"تكون الثّغرات الأمنيّة Ø§ÙƒØªØ´ÙØª بعد أن تمّ الانتهاء من هذه النّسخة من ماندريبا "
+"لينكس.\n"
+"إن لم تكن تعر٠ما ÙŠÙØªØ±Ø¶ من خدمة معيّنة\n"
+"عمله أو لم سيتمّ تثبيتها، ÙØ§Ø¶ØºØ· على\"%s\". الضّغط على \"%s\"سوÙ\n"
+"يثبت الخدمات Ø§Ù„Ù…ÙØ³Ø±Ø¯Ø© وسو٠يتمّ تشغيلها تلقائيّاً\n"
+"بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠ Ø®Ù„Ø§Ù„ الإقلاع.!!\n"
+"\n"
+"يستخدم الخيار \"%s\" لتعطيل حوار التّحذير الذي يظهر\n"
+"حينما يحدّد برنامج التثبيت حزمة ليحلّ\n"
+"مسألة اعتماد. بعض الحزم بينها علاقات بحيث\n"
+"يكون تثبيت أحدها يتطلّب تثبيت برامج أخرى أيضاً.\n"
+"يستطيع برنامج التثبيت تحديد الحاجة إلى أي من هذه الحزم\n"
+"لإرضاء الاعتماد لإكمال التّثبيت ينجاح.\n"
+"\n"
+"تسمح لك الأيقونة الصّغيرة للقرص المرن ÙÙŠ أسÙÙ„ اللائحة بتحميل\n"
+"لائحة الحزم المÙنشأة خلال تثبيت سابق. يكون هذا Ù†Ø§ÙØ¹Ø§Ù‹ إن كان\n"
+"لديك عدد من الأجهزة التي تودّ تهيئتها بشكل مشابه. الضّغط\n"
+"على هذه الأيقونة سيسألك إدخال قرص مرن أنشئ ÙÙŠ\n"
+"نهاية تثبيت آخر. انظر التّلميح الثّاني من الخطوة الأخيرة عن كيÙيّة\n"
+"إنشاء قرص مرن كهذا."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ù…ÙØ¹ØªÙ…دات آلية"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"يستخدم هذا الحوار لاختيار الخدمات التي تودّ تشغيلها عند بدء التشغيل.\n"
+"\n"
+"سيقوم DrakX بعرض قائمة بكل الخدمات Ø§Ù„Ù…ØªÙˆÙØ±Ø© ÙÙŠ هذا التثبيت.\n"
+"راجع كل خدمة بتمعن و قم بإزالة التأشير من تلك الخدمات التي لا تحتاجها\n"
+"بشكل دائم عند الإقلاع.\n"
+"\n"
+"سيتم عرض شرح قصير حول الخدمة عند\n"
+"اختيارها. عموماً، إن لم تكن متأكد ما إذا كانت الخدمة Ù…Ùيدة أم لا،\n"
+"Ùمن Ø§Ù„Ø£ÙØ¶Ù„ ترك الخيار Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ.\n"
+"\n"
+"!! ÙÙŠ هذه المرحلة كن حذرا٠إذا كنت تريد استخدام ماكينتك\n"
+"كخادم: ربما لن تريد بدء أي خدمات لا تحتاجها.\n"
+"ÙØ¶Ù„اً تذكر أن العديد من الخدمات قد تكون خطرة إذا كانت\n"
+"متاحة على الخادم. بشكل عام اختر Ùقط الخدمات التي تحتاجها Ø¨Ø§Ù„ÙØ¹Ù„ !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"يقوم جنو/لينكس بإدارة الوقت بحسب توقيت غرينتش ثم يترجمه إلى\n"
+"التوقيت المحلي بحسب المنطقة الزّمنية التي اخترتها. إذا كانت الساعة\n"
+"التي ÙÙŠ اللّوحة الرئيسية مضبوطة على التوقيت المحلي، يمكنك تعطيل ذلك\n"
+"عن طريق إزالة اختيار \"%s\" و التي ستجعل\n"
+"جنو/لينكس يعلم أن ساعة النظام وساعة الجهاز ÙÙŠ Ù†ÙØ³ المنطقة الزّمنيّة. هذا Ù…Ùيد "
+"عندما يستضي٠الجهاز\n"
+"أيضاً نظام تشغيل آخر.\n"
+"\n"
+"الخيار \"%s\" سيقوم آلياً بضبط الساعة عن طريق الإتصال\n"
+"بخادم وقت بعيد على الإنترنت. كي تعمل هذه الميزة، يجب أن تكون لديك\n"
+"وصلة انترنت عاملة. من Ø§Ù„Ø£ÙØ¶Ù„ اختيار خادم الوقت\n"
+"الأقرب إليك. ÙÙŠ الحقيقة ÙŠÙØ«Ø¨Øª هذا الخيار خادم وقت يمكن استخدامه\n"
+"من قبل الأجهزة الأخرى على الشبكة المحلية أيضاً."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "تزامن وقت آلي"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"بطاقة الرسوم\n"
+"\n"
+" برنامج التثبيت يقوم باكتشا٠وتهيئة\n"
+"البطاقة الموجودة على نظامك بشكل آلي. إن لم يحدث ذلك، يمكنك\n"
+"اختيار البطاقة Ø§Ù„Ù…ÙØªØ«Ø¨ÙŠØªØ© لديك Ø¨Ø§Ù„ÙØ¹Ù„ من القائمة.\n"
+"\n"
+" ÙÙŠ حال كانت هناك خادمات رسومية Ù…Ø®ØªÙ„ÙØ© لبطاقتك،\n"
+"مع أو بدون تعزيز للرسوم ثلاثية الأبعاد، Ø³ØªÙØ³Ø£Ù„ اختيار الخادم الذي\n"
+"يناسب احتياجاتك أكثر."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Ø›X (إشارةً إلى نظام Ù†ÙˆØ§ÙØ° X) هو قلب الواجهة الرّسوميّة لجنو/لينكس\n"
+"الذي تعتمد عليه كل البيئات الرّسوميّة (كيدي، جينوم، AfterStep،\n"
+"WindowMaker، وغيرها) المضمّنة مع ماندريبا لينكس.\n"
+"\n"
+"سو٠تقدّم لك لائحة من معامÙÙ„Ø§ØªÙ Ù…Ø®ØªÙ„ÙØ© يمكنك تغييرها للحصول\n"
+"على العرض الرّسوميّ الأمثل.\n"
+"\n"
+"بطاقة الرسوم\n"
+"\n"
+" عادةً سيقوم المثبت بالاستكشا٠والتّهيئة الآليّة\n"
+"للبطاقة الرّسوميّة المثبّثة على جهازك. إن لم يكن ذلك الحال، Ùيمكنك\n"
+"اختيار البطاقة الموجودة لديك Ø¨Ø§Ù„ÙØ¹Ù„ من هذه القائمة.\n"
+"\n"
+" ÙÙŠ حال توÙّرت عدّة خادمات٠لبطاقتك،\n"
+"مع أو بدون التعزيز الثّلاثي الأبعاد، سو٠يطلب منك أن تحدّد الخادم\n"
+"الأكثر ملائمة لحاجاتك.\n"
+"\n"
+"\n"
+"\n"
+"الشّاشة\n"
+"\n"
+" عادةً سيقوم Ø§Ù„Ù…ÙØªØ«Ø¨ÙŠØª بالاستكشا٠والتهيئة الآليّة\n"
+"للشّاشة Ø§Ù„Ù…ÙØªÙ‘صلة بجهازك. إن لم تكن صحيحة، Ùيمكنك\n"
+"اختيار الشّاشة المتّصلة بجهازك Ø¨Ø§Ù„ÙØ¹Ù„ من هذه القائمة.\n"
+"\n"
+"\n"
+"\n"
+"الاستبانة\n"
+"\n"
+" يمكنك هنا اختيار الاستبانة وعمق الألوان المتوÙّرين\n"
+"لعتادك الرّسومي. اختر الأكثر مناسبةً لحاجاتك (سو٠تكون قادراً على\n"
+"تغيير ذلك بعد التّثبيت على كل حال). تظهر عيّنة من التهيئة\n"
+"المحدّدة ÙÙŠ صورة الشّاشة.\n"
+"\n"
+"\n"
+"\n"
+"اختبار\n"
+"\n"
+" قد لا يظهر هذا Ø§Ù„Ù…ÙØ¯Ø®Ù„ بحسب عتادك.\n"
+"\n"
+" سو٠يحاول النّظام ÙØªØ­ شاشة رسوميّة بالاستبانة المرغوبة.\n"
+"إذا رأيت رسالة الاختبار خلال الاختبار وأجبت بـ\"%s\"،\n"
+"ÙØ³ÙˆÙ يتقدّم DrakX إلى الخطوة التّالية. إن لم تستطع رؤية الرّسالة، Ùهذا\n"
+"يعني أن جزءً ما من التّهيئة Ø§Ù„Ù…ÙƒØªØ´ÙØ© آلياً كان غير صحيح\n"
+"وسينتهي الاختبار تلقائيّاً بعد 12 ثانية، معيداً إيّاك إلى\n"
+"القائمة. غيّر الإعدادات حتّى تحصل على عرض رسوميّ صحيح.\n"
+"\n"
+"\n"
+"\n"
+"خيارات\n"
+"\n"
+" يمكنك هنا اختيار ما إذا كنت تريد جهازك أن يبدّل تلقائيّاً\n"
+"إلى الواجهة الرّسوميّة عند الإقلاع. طبعاً Ø³ØªÙØ¶Ù‘Ù„\n"
+"أن تختار \"%s\" إن كان جهازك سيعمل كخادم، أو إن كنت لم تنجح ÙÙŠ\n"
+"تهيئة العرض."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"الشاشة\n"
+"\n"
+" يمكن لبرنامج التثبيت اكتشا٠و تهيئة الشاشة المتصلة بماكينتك\n"
+"آلياً. ان لم يحدث ذلك، يمكنك اختيار الشاشة التي لديك\n"
+"من القائمة."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"الاستبانة\n"
+"\n"
+" يمكنك اختيار الاستبانة وعمق الألوان ÙÙŠ الحدود Ø§Ù„Ù…ØªÙˆÙØ±Ø© للعتاد.\n"
+"اختر تلك التي تناسب احتياجاتك (لا تزال\n"
+"تستطيع تغيير تلك الخيارات بعد التثبيت). يتم عرض عينة\n"
+"من التهيئة المختارة ÙÙŠ صورة الشاشة."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"ÙÙŠ حال كانت هناك خادمات Ù…Ø®ØªÙ„ÙØ© للبطاقة الخاصة بك، مع أو\n"
+"دون تعزيز للرسوم ثلاثية الأبعاد، Ø³ØªÙØ³Ø£Ù„ اختيار الخادم الذي\n"
+"يناسب احتياجاتك."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"الخيارات\n"
+"\n"
+" تخولك هذه الخطوة اختيار ما إذا كنت تريد بدء الواجهة الرسومية\n"
+"عند بدء النظام تلقائيّاً. بوضوح،\n"
+"ستختار \"%s\" إذا كانت ماكينتك ستستخدم كجهاز\n"
+"خادم، أو إذا لم تنجح ÙÙŠ تهيئة العرض\n"
+"بشكل صحيح."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"عند هذه النقطة، عليك أن تقرر أين تريد تثبيت نظام\n"
+"التشغيل ماندريبا لينكس على القرص الصلب الخاص بك. إذا كان القرص الصلب\n"
+"ÙØ§Ø±ØºØ§Ù‹ أو أن نظام تشغيل آخر يستخدم كل المساحة Ø§Ù„Ù…ØªÙˆÙØ±Ø© ÙØ³ÙˆÙ\n"
+"تحتاج إلى تجزئة القرص الصلب. بشكل عام، تجزئة القرص الصلب\n"
+"تعني تقسيم القرص الصلب منطقياً لإنشاء المساحة المطلوبة لتثبيت\n"
+"نظام ماندريبا لينكس الجديد الخاص بك.\n"
+"\n"
+"عملية تقسيم القرص الصلب لا يمكن التّراجع عنها عادةًَ\n"
+"كما أنها قد تتسبب ÙÙŠ خسارة للبيانات إن وجد هناك نظام تشغيل\n"
+"آخر مثبت على هذا القرص الصلب، لذا ÙØ¥Ù†Ù‘ تجزئة القرص قد تكون عمليّةً صعبةً ومرهقة\n"
+"إن لم تكن مستخدماً Ù…Ø­ØªØ±ÙØ§Ù‹. من حسن الحظ، يوÙّر DrakX معالجاً يسهل العملية.\n"
+"قبل متابعة هذه الخطوة، اقرأ بقية هذا القسم و قبل كل شئ، خذ وقتك.\n"
+"\n"
+"اعتماداً على إعدادات القرص الصلب، ØªØªÙˆÙØ± العديد من الخيارات:\n"
+"\n"
+" * \"%s\": هذا الخيار سيقوم بعملية تجزئة آلية\n"
+"للأقراص الصلبة Ø§Ù„ÙØ§Ø±ØºØ©. إذا استخدمت هذا الخيار، لن تكون هناك إشعارات أخرى.\n"
+"\n"
+" * \"%s\": يكون المرشد قد اكتش٠تجزيء أو أكثر من\n"
+"تجزيئات لينكس على القرص الصلب. إذا كنت تريد استخدامها، اختر هذا\n"
+"الخيار. سيتم بعد ذلك سؤالك عن أماكن التركيب المرتبطة بكل\n"
+"تجزيء. يتم اختيار أماكن التركيب المعتادة Ø§ÙØªØ±Ø§Ø¶ÙŠØ§Ù‹ØŒ\n"
+"ولأغلب المستخدمين ÙØ¥Ù†Ù‡Ø§ Ùكرة جيدة تركها كما هي.\n"
+"\n"
+" * \"%s\" : إذا كان Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز مثبتاً على القرص الصلب Ùˆ يحتل كل "
+"المساحة \n"
+"التي عليه، ستحتاج إلى إنشاء مساحة ÙØ§Ø±ØºØ© لبيانات جنو/لينكس. لعمل ذلك يمكنك "
+"حذÙ\n"
+"تجزيء Ùˆ بيانات Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز (انظر حلّ ``إزالة القرص بأكمله'')\n"
+"أو قم بتغيير حجم تجزيء Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز FAT. يمكن تصغير الحجم\n"
+"دون أي خسارة للبيانات، إن كنت قمت بإزالة تجزّئات التجزيء الخاص بويندوز.\n"
+"ÙŠÙØ¶Ù‘Ù„ بشدّة نسخ بياناتك احتياطياً.. استخدام هذا الخيار\n"
+"منصوح به إذا كنت تريد استخدام كل من ماندريبا لينكس Ùˆ Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز\n"
+"على Ù†ÙØ³ الحاسب.\n"
+"\n"
+" قبل اختيارك لهذا الخيار، عليك أن تعلم أنه بعد هذا\n"
+"الإجراء، ستتقلص مساحة تجزيء Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز عن ما قبل\n"
+"ستكون لديك مساحة ÙØ§Ø±ØºØ© أقل على Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز\n"
+"لتخزين بياناتك أو تثبيت برامج جديدة.\n"
+"\n"
+" * \"%s\": إذا كنت تريد حذ٠كل البيانات و كل التجزيئات\n"
+"الموجودة على القرص الصلب و استبدالها بنظام ماندريبا لينكس الجديد\n"
+"الخاص بك، اختر هذا الخيار. كن حذراً، لأنك لن تتمكن من التراجع\n"
+"بعد أن تقوم بالتأكيد.\n"
+"\n"
+" !! إن اخترت هذا الخيار، سيتم حذ٠كل البيانات الموجودة على القرص. !!\n"
+"\n"
+"Ø› * \"%s\". هذا الخيار يظهر ÙÙŠ حال كان القرص محتلاً بأكمله\n"
+"من قبل Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª ويندوز. سيقوم هذا الخيار ببساطة بمحو كل شيء على القرص Ùˆ\n"
+"بدء التثبيت من Ø§Ù„ØµÙØ±ØŒ مجزّأً كلّ شيء من لاشيء.\n"
+"\n"
+" !! إن اخترت هذا الخيار، ستخسر كلّ البيانات على القرص الخاص بك. !!\n"
+"\n"
+" * \"%s\": اختر هذا الخيار إذا كنت تريد\n"
+"تقسيم القرص الصلب بشكل يدوي. كن حذراً -- هذا الخيار قوي\n"
+"لكنه خطير Ùˆ من الممكن أن تÙقد بياناتك بسهولة. لهذا ÙØ¥Ù†\n"
+"هذا الخيار Ù…ÙØ¶Ù‘Ù„ Ùقط إذا كنت قد قمت بشئ مماثل من قبل \n"
+"و لديك بعض الخبرة. لمزيد من التعليمات حول استخدام أداة DiskDrake\n"
+"راجع قسم ``إدارة التجزيئات'' ÙÙŠ\n"
+"``دليل المبتدئ''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "استخدام التجزيء الموجود"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "مسح كل القرص"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"ها أنت ذا. التثبيت قد اكتمل الآن ونظام جنو/لينكس الخاصّ بك\n"
+"جاهز للاستخدام. Ùقط اضغط \"%s\" لإعادة تشغيل نظامك. لا تنْسَ أن\n"
+"تزيل وسط التّثبيت (قرص مدمج أو مرن). أوّل شيء يجب أن\n"
+"تراه بعد أن ينتهي حاسبك من ÙØ­Øµ عتاده هو\n"
+"قائمة محمّل الإقلاع، والتي تعطيك الخيار لأيّ نظام تشغيل تريد بدءه.\n"
+"\n"
+"زرّ \"%s\" يظهر زرّين إضاÙيّين كي:\n"
+"\n"
+" * \"%s\": تنشئ قرص تثبيت مرن يساعدك آليّاً\n"
+"بالقيام بالتّثبيت بأكمله دون مساعدة Ø§Ù„Ù…ÙØ´ØºÙ‘Ù„ØŒ كما هو\n"
+"التّثبيت الذي قمت بتهيئته للتّوّ.\n"
+"\n"
+" لاحظ أن خيارين مختلÙين متوÙّرين بعد الضّغط على الزّر:\n"
+"\n"
+" * \"%s\". هذا تثبيت آليّ جزئيّاً. خطوة التّجزئة\n"
+"هي الإجراء الوحيد Ø§Ù„ØªÙ‘ÙØ§Ø¹Ù„يّ.\n"
+"\n"
+" \"%s\". التّثبيت الآليّ بالكامل: ÙŠÙØ¹Ø§Ø¯ كتابة القرص الصّلب\n"
+"بالكامل، وتÙقد كلّ البيانات.\n"
+"\n"
+" هذه الميزة Ù…Ùيدة جدّاً عند تثبيت عدد من الماكينات المتشابهة.\n"
+"راجع قسم التّثبيت الآلي على موقعنا لمزيد من المعلومات.\n"
+"\n"
+" * \"%s\": ÙŠØ­ÙØ¸ لائحة بالحزم Ø§Ù„Ù…ÙØ®ØªØ§Ø±Ø© ÙÙŠ هذا التّثبيت. كي\n"
+"تستخدم هذا الاختيار مع تثبيت آخر، أدخل القرص المرن وابدأ\n"
+"التّثبيت. على الملقن، اضغط Ù…ÙØªØ§Ø­ [F1] واكتب\n"
+">> linux defcfg=\"floppy\" << ثمّ اضغط Ù…ÙØªØ§Ø­ الإدخال.\n"
+"\n"
+"(*) ستحتاج إلى قرص مرن منسّق بنسق FAT. لإنشاءه على GNU/Linux، أدخل\n"
+"\"mformat a:\"، أو \"fdformat /dev/fd0\" تتبعها \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "إنشاء قرص تثبيت آلي"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"إن اخترت إعادة استخدام بعض تجزيئات جنو/لينكس القديمة، قد ترغب\n"
+"بإعادة تنسيق بعضها ومسح أية بيانات تحتويها. لعمل ذلك، الرجاء،\n"
+"اختيار تلك التجزيئات أيضاً.\n"
+"\n"
+"الرجاء ملاحظة أنّه ليس من الضّروري إعادة تنسيق كل التّجزيئات الموجودة مسبقاً.\n"
+"يجب عليك إعادة تنسيق التجزيئات التي تحتوي نظام\n"
+"التشغيل (مثل \"/\", \"/usr\" or \"/var\"( ولكن ليس عليك\n"
+"إعادة تنسيق التجزيئات التي تحتوي بيانات تودّ Ø§Ù„Ø§Ø­ØªÙØ§Ø¸ بها (عادة\n"
+"\"/home\").\n"
+"\n"
+"رجاء كن على حذر عند اختيار التّجزيئات. بعد إعادة التّنسيق، كلّ البيانات التي\n"
+"على التّجزيئات المحدّدة Ø³ÙˆÙ ØªÙØ­Ø°Ù ولن تكون قادراً على\n"
+"استعادتها.\n"
+"\n"
+"اضغط على \"%s\" عندما تكون جاهزاً لتنسيق التّجزيئات.\n"
+"\n"
+"اضغط على \"%s\" إن كنت تريد اختيار تجزيء آخر من أجل\n"
+"تثبيت نظام التّشغيل ماندريبا لينكس الخاصّ بك.\n"
+"\n"
+"اضغط على \"%s\" إن كنت ترغب باختيار تجزيئات سيتمّ ØªÙØ­Ù‘صها من أجل\n"
+"الكتل السّيئة على القرص."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"ÙÙŠ الوقت الذي تقوم Ùيه بتثبيت ماندريبا لينكس، قد يكون تم تحديث\n"
+"بعض الحزم منذ الإصدار الأول. قد يكون تم إصلاح بعض العيوب\n"
+"أو حل المشاكل الأمنية. لكي تستÙيد من هذه التحديثات، يمكنك\n"
+"الآن تنزيل هذه التحديثات عبر الإنترنت. اختر\n"
+"\"%s\" إذا كانت لديك وصلة انترنت عاملة، أو \"%s\" إذا كنت ØªÙØ¶Ù„\n"
+"تثبيت هذه التحديثات لاحقاً.\n"
+"\n"
+"اختيار \"%s\" يعرض قائمة بالأماكن التي يمكن منها الحصول\n"
+"على التحديثات. اختر المكان الأقرب إليك. سيتم عرض قائمة شجريّة بالحزم:\n"
+"راجع اختياراتك، ثم اضغط \"%s\" لجلْب و تثبيت\n"
+"الحزم المختارة، أو \"%s\" لإلغاء التّحديث."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"عند هذه النقطة، سيسمح لك DrakX باختيار المستوى الأمني الذي ترغب به\n"
+"لهذا الجهاز. بديهياً، يجب تعيين مستوى أمني\n"
+"عال٠إذا كان الجهاز يحتوي على معلومات هامة، أو إذا كان الجهاز\n"
+"Ø³ÙŠÙØ³ØªØ®Ø¯Ù… للإتصال بالإنترنت. إنّ استخدام مستوى أمن عال٠يأتي\n"
+"عادة على حساب سهولة الإستخدام.\n"
+"\n"
+"إن لم تكن تعر٠ماذا تختار، أبق الاختيار Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ. سو٠تكون\n"
+"قادراً على تغيير مستوى الأمن لاحقاً باستخدام الأداة draksec من\n"
+"لوحة تحكّم ماندريبا .\n"
+"\n"
+"ÙŠÙØ¹Ù’لم الحقل \"%s\" نظام Ø§Ù„Ù…ÙØ³ØªØ®Ø¯Ù… على هذا الجهاز الذي\n"
+"سيكون مسؤولاً عن الأمن. رسائل الأمن Ø³ØªÙØ±Ø³Ù„ إلى ذلك\n"
+"العنوان."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "مدير الأمن"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"عند هذه النقطة، تحتاج لاختيار أي التجزيئات ستستخدم\n"
+"لتثبيت نظام ماندريبا لينكس. إن كانت التجزيئات Ø¨Ø§Ù„ÙØ¹Ù„\n"
+"Ù…ÙØ¹Ø±Ù‘ÙØ©ØŒ إمّا من تثبيت سابق لجنو/لينكس أو بواسطة\n"
+"أداة أخرى، يمكن أن تستخدم التجزيئات الحاليّة . وإلا، يجب أن ØªÙØ¹ÙŽØ±Ù‘ÙŽÙ\n"
+"تجزيئات القرص الصّلب.\n"
+"\n"
+"لإنشاء التجزيئات، يجب أوّلاً يجب أن تختار قرص صلب. يمكن أن تختار\n"
+"قرص للتّجزئة بالضّغط على ''hda'' لقرص IDE الأوّل،\n"
+"\"hdb\" للثّاني، \"sda\" لقرص SCSI الأوّل وهكذا.\n"
+"\n"
+"لتقوم بتجزئة القرص الصّلب المحدّد، يمكنك استخدام هذه الخيارات:\n"
+"\n"
+" * \"%s\": هذا الخيار يحذ٠كل التجزيئات على القرص الصّلب المحدّد\n"
+"\n"
+" * \"%s\": هذا الخيار يمكّنك من إنشاء تجزيئات ext4 والذّاكرة البديلة آليّاً\n"
+"ÙÙŠ المساحة الشّاغرة لقرصك الصّلب\n"
+"\n"
+" * %s: يعطي حقّ الوصول إلى مزايا إضاÙيّة:\n"
+"\n"
+" * \"%s\": ÙŠØ­ÙØ¸ جدول التجزئة إلى قرص مرن. Ù…Ùيد لاسترجاع لاحق\n"
+"لجدول التجزئة إن كان ضروريّاً. من Ø§Ù„Ù…ÙØ³ØªØ­Ø³Ù† جداً\n"
+"أن تقوم بهذه الخطوة.\n"
+"\n"
+" * %s: يسمح لك باستعادة جدول تجزئة محÙوظ مسبقاً من\n"
+"قرص مرن.\n"
+"\n"
+" * \" %s\": إن كان جدول التّجزئة معطوباً، يمكنك محاولة استعادته\n"
+"باستخدام هذا الخيار. رجاءً كن على حذر وتذكّر أنّه لا\n"
+"يعمل دائماً.\n"
+"\n"
+" * \"%s\": يتجاهل كلّ التّغييرات ويعيد تحميل جدول التّجزئة الذي كان\n"
+"أصلاً على القرص الصّلب.\n"
+"\n"
+" * \"%s\": إزالة اختيار هذا الخيار سيجبر المستخدمين على القيام يدويّاً بتجهيز "
+"Ùˆ\n"
+"Ùكّ الوسائط القابلة للإزالة كالأقراص المرنة والمدمجة.\n"
+"\n"
+" * \"%s\": استخدم هذا الخيار إن رغبت ÙÙŠ استخدام المرشد لتجزئة\n"
+"قرصك الصّلب. هذا مستحسن إن لم يكن لديك Ùهم جيّد\n"
+"للتّجزئة.\n"
+"\n"
+" * \"%s\": استخدم هذا الخيار لإلغاء تغييراتك.\n"
+"\n"
+" * \"%s\": يوÙّر أعمالاً إضاÙيّة على التجزيئات )النّوع، الخيارات، التّنسيق(\n"
+"ويعطيك المزيد من المعلومات حول القرص الصّلب.\n"
+"\n"
+" * \"%s\": عندما تنتهي من تجزئة قرصك الصّلب، سو٠يقوم هذا\n"
+"Ø¨Ø­ÙØ¸ تغييرات إلى القرص.\n"
+"\n"
+"عند تحديد الحجم لتجزيء ما، يمكنك تحديد حجم التّجزيء بدقّة\n"
+"باستخدام Ù…ÙØ§ØªÙŠØ­ الأسهم للوحة Ù…ÙØ§ØªÙŠØ­Ùƒ.\n"
+"\n"
+"ملاحظة: يمكنك الوصول إلى أيّ خيار باستخدام لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­. تنقّل بين\n"
+"التجزيئات باستخدام [TAB] وأسهم أعلى/أسÙÙ„.\n"
+"\n"
+"عندما ØªÙØ­Ø¯Ù‘د تجزيءً، يمكنك استخدام:\n"
+"\n"
+" * Ctrl-c لإنشاء تجزيء جديد )عندما يكون تجزيء ÙØ§Ø±Øº Ù…ÙØ­Ø¯Ù‘د(.\n"
+"\n"
+" * Ctrl-d لحذ٠تجزيء\n"
+"\n"
+" * Ctrl-m لتحدّد مكان التركيب.\n"
+"\n"
+"لتحصل على معلومات حول أنواع أنظمة الملÙّات Ø§Ù„Ù…Ø®ØªÙ„ÙØ© المتوÙّرة، رجاءً\n"
+"اقرا Ùَصْل ext2FS من ``الدّليل المرجعي``.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "التركيب الآلي للوسائط القابلة للإزالة"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "التغيير إلى الوضع العادي/وضع الخبير"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"تمّ اكتشا٠أكثر من تجزيء Ù…ÙŠÙƒØ±ÙˆØ³ÙˆÙØª على قرصك الصّلب.\n"
+"رجاء اختيار القرص الذي تريد تغيير حجمه كي تتثبيت\n"
+"نظام تشغيل ماندريبا لينكس الجديد.\n"
+"\n"
+"كل تجزيء Ù…ÙØ³Ø±Ø¯ كما يلي: \"اسم لينكس\"ØŒ \"اسم ويندوز\"\n"
+"\"Ø§Ù„ÙƒØ«Ø§ÙØ©\".\n"
+"\n"
+"\"اسم لينكس\" مركّب: \"نوع القرص الصلب\"، \"رقم القرص الصلب\"،\n"
+"\"رقم التّجزيء\" (مثلاً، \"hda1\").\n"
+"\n"
+"\"نوع القرص الصلب\" هو \"hd\" إن كان القرص من نوع IDE و\n"
+"\"sd\" إن كان من نوع SCSI.\n"
+"\n"
+"\"رقم القرص الصّلب\" هو دائماً حر٠بعد \"hd\" أو \"sd\". لأقراص IDE الصّلبة:\n"
+"\n"
+" * \"a\" يعني \"القرص الصّلب الرّئيسي على Ù…ÙØªØ­ÙƒÙ‘Ù… IDE الأوّلي\"Ø›\n"
+"\n"
+" * \"b\" يعني \"القرص الصّلب الثّانوي على Ù…ÙØªØ­ÙƒÙ‘Ù… IDE الأوّلي\"Ø›\n"
+"\n"
+" * \"c\" يعني \"القرص الصّلب الرّئيسي على Ù…ÙØªØ­ÙƒÙ‘Ù… IDE الثّانوي\"Ø›\n"
+"\n"
+" * \"d\" يعني \"القرص الصّلب الثّانوي على Ù…ÙØªØ­ÙƒÙ‘Ù… IDE الثّانوي\"Ø›\n"
+"\n"
+"بالنّسبة لأقراص SCSI الصّلبة، \"a\" يعني \"أقلّ رقم تعري٠SCSI\"، و\"b\" يعني\n"
+"\"ثاني أقلّ رقم تعري٠SCSI\"، إلخ.\n"
+"\n"
+"\"اسم ويندوز\" هو الحر٠الخاص بقرصك الصّلب ضمن ويندوز (القرص الأوّل\n"
+"أو التجزيء المسمّى \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": تأكد من اختيار البلد الحالي. إذا لم تكن ÙÙŠ هذا\n"
+"البلد، اضغط على زر \"%s\" و اختر بلداً آخر. إذا لم تكن\n"
+"بلدك ÙÙŠ القائمة اضغط زر \"%s\" لإظهار قائمة كاملة\n"
+"بالبلدان."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"يتم تنشيط هذه الخطوة Ùقط إذا Ø¹ÙØ«Ø± على تجزيء جنو/لينكس موجود\n"
+"على ماكينتك.\n"
+"\n"
+"يحتاج DrakX الآن إلى Ù…Ø¹Ø±ÙØ© ما إذا كنت تريد القيام بتثبيت جديد أو ترقية\n"
+"نظام ماندريبا لينكس الموجود لديك مسبقاً:\n"
+"\n"
+" * \"%s\": ÙÙŠ الأغلب، يقوم هذا بإزالة النظام القديم.\n"
+"على أيّ، بناءً على طريقة تجزئتك، يمكنك منع الكتابة على بعض\n"
+"من بياناتك الموجودة مسبقاً (بالطبع الأدلة \"المنزلية\").\n"
+"إن كنت تريد تغيير طريقة تجزئة القرص الصلب، أو تريد تغيير نظام\n"
+"الملÙّات، عليك باستخدام هذا الخيار.\n"
+"\n"
+" * \"%s\": صن٠التثبيت هذا يسمح لك بتحديث الحزم\n"
+"المثبّتة حاليّاً على نظام ماندريبا لينكس الخاص بك. لن يتم تغيير\n"
+"بياناتك أو تقسيمات القرص الصلب. أغلب\n"
+"خطوات التهيئة الأخرى لا تزال متوÙّرة، مثل التثبيت الاعتيادي.\n"
+"\n"
+"استخدام خيار ``الترقية'' يجب أن يعمل بشكل جيد على أنظمة ماندريبا لينكس\n"
+"التي تعمل على إصدار \"8.1\" أو ما بعده. لا ينصح بالترقية\n"
+"من إصدرات ماندريبا لينكس قبل \"8.1\"."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"اعتماداً على اللغة التي اخترتها ()، سيقوم DrakX آليّاً\n"
+"باختيار تهيئة لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­. تحقّق من أنّ\n"
+"الاختيار يناسبك أو اختر توزيعة لوحة Ù…ÙØ§ØªÙŠØ­ أخرى.\n"
+"\n"
+"أيضاً، قد لا تكون لديك لوحة Ù…ÙØ§ØªÙŠØ­ تواÙÙ‚ لغتك تماماً:\n"
+"مثلاً ربما تكون سويسريّاً متكلماً للغة الإنجليزية، قد تكون لديك\n"
+"لوحة Ù…ÙØ§ØªÙŠØ­ سويسرية. أو إذا كنت تتكلم الإنجليزية لكنك موجود ÙÙŠ كيبك،\n"
+"ربما تجد Ù†ÙØ³Ùƒ ÙÙŠ Ù†ÙØ³ الموق٠حيث لا تتطابق لغتك الأم\n"
+"مع لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­. ÙÙŠ الحالتين، ستسمح لك خطوة التثبيت\n"
+"باختيار لوحة Ù…ÙØ§ØªÙŠØ­ مناسبة من القائمة.\n"
+"\n"
+"اضغط زر \"%s\" لعرض قائمة بكل\n"
+"لوحات Ø§Ù„Ù…ÙØ§ØªÙŠØ­ المدعومة.\n"
+"\n"
+"إذا اخترت لوحة Ù…ÙØ§ØªÙŠØ­ لحرو٠غير لاتينية، ÙØ³ÙŠØ³Ù…Ø­ لك\n"
+"الحوار التالي باختيار اختصارات لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­ التي\n"
+"ستبدل وضع لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­ بين الحرو٠اللاتينية والغير لاتينية."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"الخطوة الأولى هي اختيار اللغة Ø§Ù„Ù…ÙØ¶Ù„Ø©.\n"
+"\n"
+"اختيارك للغة Ø§Ù„Ù…ÙØ¶Ù„Ø© سيؤثر على برنامج التثبيت،\n"
+"والنظام بشكل عام. أولاً، اختر المنطقة التي\n"
+"تقع Ùيها، ثم اللغة التي تتحدثها.\n"
+"\n"
+"ضغط زر \"%s\" سيسمح لك باختيار لغات\n"
+"أخرى ليتم تثبيتها على محطة عملك، ومن ثم\n"
+"تثبيت Ø§Ù„Ù…Ù„ÙØ§Øª الخاصة باللغات لوثائق المساعدة والتطبيقات. مثلاً\n"
+"إذا كنت ستستضي٠مستخدمين من أسبانيا على ماكينتك، اختر الإنجليزية\n"
+"كلغة Ø§ÙØªØ±Ø§Ø¶ÙŠØ© ÙÙŠ العرض الشجري Ùˆ\"%s\" ÙÙŠ القسم المتقدم.\n"
+"\n"
+"حول دعم UTF-8 (يونيكود): يونيكود هي طريقة تشÙير محار٠جديدة غرضها\n"
+"تغطية كلّ اللّغات الموجودة. مع ذلك ÙØ¥Ù† دعمها الكامل ÙÙŠ جنو/لينكس ما\n"
+"زال قيد التّطوير. لذلك السّبب، سيستخدمها ماندريبا لينكس أو لا يستخدمها\n"
+"بناءً على خيارات المستخدم:\n"
+"\n"
+" * إن اخترت لغة ذات تراث قويّ (اللّغات\n"
+"لاتيني1، والروسيّة، واليابانيّة، والصينيّة، والكوريّة، والتايلنديّة، واليونانيّة، "
+"والتّركيّة،\n"
+"ومعظم لغات iso-8859-2(ØŒ ÙØ³ÙŠØ³ØªØ®Ø¯Ù… التّشÙير التّراثيّ بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠØ›\n"
+"\n"
+" * اللّغات الأخرى ستستخدم يونيكود بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠÙ‘Ø›\n"
+"\n"
+"إن كان هناك حاجة للغتين أو أكثر، وتلك اللّغات لا تستخدم\n"
+"Ù†ÙØ³ التّشÙير، ÙØ³ÙŠØ³ØªØ®Ø¯Ù… يونيكود للنّظام بأكمله؛\n"
+"\n"
+" * أخيراً، ÙŠÙمكن إجبار استخدام يونيكود للنظام بطلب المستخدم بواسطة\n"
+"اختيار الخيار \"%s\" بشكل Ù…Ù†ÙØµÙ„ والذي\n"
+"اختيرت لغته.\n"
+"\n"
+"لاحظ أنّك غير محدود باختيار لغة إضاÙيّة واحدة.\n"
+"يمكنك اختيار عدّة لغات، أو حتّى تثبيتها كلّها باختيار مربّع \"%s\".\n"
+"اختيار دعم لغة يعني أن التّرجمات، والخطوط، ومدقّقات\n"
+"الإملاء، إلخ. لتلك اللّغة سو٠تكون مثبتة أيضاً.\n"
+"\n"
+"للتبديل بين اللغات Ø§Ù„Ù…Ø®ØªÙ„ÙØ© المثبتة على نظامك، يمكن\n"
+"تشغيل الأمر \"/usr/sbin/localedrake\" كمستخدم \"root\" لتغيير\n"
+"اللّغة المستخدمة من قبل النّظام بأكمله. تشغيل الأمر كمستخدم عاديّ\n"
+"سو٠يغيّر Ùقط إعدادت اللّغة الخاصّة بذلك المستخدم بذاته."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "الأسبانية"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"عادة، لا يواجه DrakX مشاكل ÙÙŠ استكشا٠عدد الأزرار ÙÙŠ\n"
+"الماوس الخاصّة بك. إذا حدث ذلك، ÙŠÙØªØ±Ø¶ أن لديك ماوس ذات زرّين وسوÙ\n"
+"يقوم بتهيأتها لمحاكاة الزرّ الثالث. الزرّ الثالث للماوس ذات\n"
+"الزرّين يمكن الحصول على تأثيره بالضّغط على الزرّين الأيسر\n"
+"والأيمن Ø¨Ù†ÙØ³ الوقت. سو٠يعر٠DrakX تلقائيّاً ما إذا كانت الماوس الخاصّة بك "
+"تستخدم\n"
+"واجهة PS/2، أو متوالية أو USB.\n"
+"\n"
+"ÙÙŠ حال كان لديك ماوس ذات ثلاثة أزرار دون عجل، يمكنك اختيار الماوس\n"
+"التي تظهر بإسم \"%s\". سيقوم DrakX بعدها بتهيأت الماوس الخاصّة بك حتّى تستطيع\n"
+"Ù…ÙØ­Ø§ÙƒØ§Ø© العجل بها: لتقوم بذلك، اضغط الزرّ الأوسط وحرّك\n"
+"الماوس للأعلى وللأسÙÙ„.\n"
+"\n"
+"إن رغبت لسبب ما اختيار نوع ماوس آخر، اخترها\n"
+"من اللائحة المÙقدَّمة.\n"
+"\n"
+"يمكنك تحديد Ø§Ù„Ù…ÙØ¯Ø®Ù„ \"%s\" لاختيار نوع ماوس ``شامل'' والذي\n"
+"سو٠يعمل تقريباً مع كل الأنواع.\n"
+"\n"
+"إن اخترت ماوس غير Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠÙ‘ة، سو٠تظهر شاشة\n"
+"اختباريّة. استخدم الأزرار والعجل للتأكّد من أن الإعدادات\n"
+"صحيحة وأنّ الماوس تعمل بشكل صحيح. إن لم تكن الماوس\n"
+"تعمل بشكل جيّد، اضغط Ù…ÙØªØ§Ø­ Ø§Ù„Ù…Ø³Ø§ÙØ© أو [الإرجاع] لإلغاء الاختبار Ùˆ\n"
+"العودة إلى لائحة الخيارات.\n"
+"\n"
+"كثيراً ما يتعذر استكشا٠أجهزة الماوس ذات العجلات تلقائيّاً، لذا ستحتاج\n"
+"لاختيار الماوس من القائمة. تأكّد من اختيار التي تطابق\n"
+"Ø§Ù„Ù…Ù†ÙØ° الذي تتّصل به الماوس الخاصّة بك. بعد اختيار الماوس Ùˆ\n"
+"الضّغط على الزّرّ \"%s\"، تظهر صورة الماوس على الشّاشة. أدرْ\n"
+"عجل الماوس للتّأكّد من أنّه Ù…Ùنشّط بشكل صحيح. أثناء تحريك\n"
+"عجل الماوس، ستراه كذلك يتحرك على الشاشة.\n"
+"قم باختبار الأزرار وتحقق من أن المؤشر يتحرك على الشاشة\n"
+"بينما تقوم بتحريكه حولها."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "بمحاكاة العجلة"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "عالمي | أيّ ماوس PS/2 و USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"الرجاء اختيار Ø§Ù„Ù…Ù†ÙØ° الصحيح. مثلاً Ù„Ù…Ù†ÙØ° \"COM1\" ÙÙŠ\n"
+"ويندوز اسمه \"ttys0\" ÙÙŠ لينكس."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"محمّل الإقلاع هو برنامج بسيط يشغلّه حاسبك وقت الإقلاع.\n"
+"وهو المسؤول عن بدء تشغيل النظام بأكمله. عادة، يكون\n"
+"تثبيت محمّل الإقلاع آلياً بالكامل. سيقوم DrakX بتحليل قطاع التركيب الخاص "
+"بالقرص\n"
+"ويتصر٠بحسب ما يجد هناك:\n"
+"\n"
+" * إن عثر على قطاع تحميل ويندوز، ÙØ³ÙŠÙ‚وم باستبداله بقطاع تحميل LILO/GRUB.\n"
+"بهذه الطريقة ستستطيع تحميل جنو/لينكس أو أيّ\n"
+"نظام تشغيل آخر على ماكينتك.\n"
+"\n"
+" * إذا تم العثور على قطاع تحميل LILO أو GRUB، سيتم استبداله بقطاع جديد.\n"
+"\n"
+"إن لم يستطع DrakX أن يقرر مكان وضع قطاع الإقلاع، ÙØ³ÙŠØ³Ø£Ù„Ùƒ\n"
+"عن المكان الأكثر أماناً لوضعه Ùيه. عامة، \"%s\" هو الأكثر أماناً.\n"
+"اختيار \"%s\" لن يقوم بتثبيت أيّ محمّل إقلاع. اسخدم هذا الخيار Ùقط\n"
+"إن كنت تعر٠ماذا ØªÙØ¹Ù„."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"الآن، حان وقت اختيار نظام الطباعة لحاسبك. قد توÙّر أنظمة التشغيل الأخرى\n"
+"نظام طباعة واحد، لكن ماندريبا لينكس ÙŠÙˆÙØ± لك نظامين. كل نظام مناسب\n"
+"لنوع معين من التهيئة.\n"
+"\n"
+" * \"%s\" -- وهو اختصار لـ``اطبع Ùˆ لا تصÙÙ‘''ØŒ هو الخيار الأمثل\n"
+"إذا كانت لديك وصلة مباشرة بالطابعة، و تريد أن تكون قادراً على\n"
+"ØªÙØ§Ø¯ÙŠ Ø£ÙŠ ارتباك ÙÙŠ الطابعة، وليس لديك طابعات شبكيّة.(يقوم \"%s\"\n"
+"بالتعامل مع حالات الشبكة البسيطة ويعيبه البطء عند الاستخدام\n"
+"مع الشبكات). من Ø§Ù„Ø£ÙØ¶Ù„ أن تستخدم \"pdq\" إذا.\n"
+"كانت هذه تجربتك الأولى مع جنو/لينكس.\n"
+"\n"
+" * \"%s\" - ``نظام طباعة يونكس الشّائع CUPS''، هو الخيار الأمثل\n"
+"للطباعة على طابعتك المحلية أو حتى على طابعة ÙÙŠ النص٠الآخر من الكوكب. إنه\n"
+"سهل الإعداد و يمكن أن يتصر٠كخادم أو كعميل لأنظمة طباعة \"lpd\"\n"
+"القديمة، لذا ÙØ¥Ù†Ù‡ متواÙÙ‚ مع أنظمة التشغيل القديمة\n"
+"التي لا تزال تحتاج إلى خدمات الطباعة. بينما التهيئة سهلة\n"
+"و قوية مثل \"pdq\". إذا كنت تحتاج إلى محاكاة خادم \"lpd\"، تأكّد\n"
+"من تشغيل Ø¹ÙØ±ÙŠØª \"cups-lpd\".\n"
+"يحتوي \"%s\" على واجهات\n"
+"رسوميّة للطّباعة أو لتحديد خيارات الطّابعة\n"
+"ولإدارة الطابعة.\n"
+"\n"
+"إذا قررت اختيارك الآن، ثم لم يعجبك نظام الطباعة\n"
+"Ùيما بعد، يمكنك تغييره عن طريق تشغيل PrinterDrake من مركز تحكم ماندريبا "
+"لينكس\n"
+"و الضغط على زرّ \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "وضعية الخبير"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"سيقوم DrakX أولاً بالتحقق من أي أجهزة IDE مرتبطة بالحاسب. سيقوم\n"
+"أيضا بالتحقق من وجود بطاقات PCI SCSI على نظامك. إذا تم ايجاد\n"
+"بطاقة SCSIØŒ سيقوم DrakX تلقائياً بتثبيت Ø§Ù„Ù…ÙØ´ØºÙ‘Ù„ المناسب.\n"
+"\n"
+"لأن التحقق الآلي من العتاد غير خالي من الأخطاء، قد يتعذر\n"
+"على DrakX التحقق من أقراصك الصلبة. لذا سيكون عليك تحديد عتادك يدوياً.\n"
+"\n"
+"إذا اضطررت إلى تحديد موائم PCI SCSI يدوياً، سيسألك DrakX عمّا إذا\n"
+"كنت تريد تهيئة الخيارات الخاصة به. يجب أن تسمح لـ DrakX بأن\n"
+"يقوم بالتحقق الآلي من العتاد لكي يحدد الخيارات الخاصة بالبطاقة\n"
+"Ùˆ التي يحتاج اليها لتشغيل الموائم. ÙÙŠ أغلب الأحيان، سيتخطى DrakX\n"
+"هذه الخطوة بدون أي مشاكل.\n"
+"\n"
+"إذا تعذر على DrakX التحقق من الخيارات آلياً ستحتاج\n"
+"إلى تهيئة Ø§Ù„Ù…ÙØ´ØºÙ‘Ù„ يدوياً."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": إذا تم اكتشا٠بطاقة صوت على نظامك، سيتم عرضها\n"
+"هنا. إذا لاحظت أن بطاقة الصوت المعروضة هنا ليست تلك الموجودة\n"
+"ÙØ¹Ù„اً على نظامك، يمكنك الضغط على الزر Ùˆ اختيار مشغل\n"
+"آخر."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"ÙƒÙ…ÙØ±Ø§Ø¬Ø¹Ø©ØŒ سيقدّم DrakX تلخيص المعلومات التي استجمعها حول\n"
+"نظامك. بناءً على عتادك المثبت، قد يكون لديك بعض أو كلّ\n"
+"Ø§Ù„Ù…ÙØ¯Ø®Ù„ات التّالية. كل Ù…ÙØ¯Ø®Ù„ مكوّن من عنصر التهيئة المطلوب\n"
+"تهيئته، متبوعاً بملخّص سريع من التّهيئة الحاليّة.\n"
+"اضغط على الزّر المراÙÙ‚ \"%s\" لتغييّر ذلك.\n"
+"\n"
+"* \"%s\": تحقّق من تهيئة خريطة لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­ الحاليّة وغيّرها إن كان\n"
+"ضروريّاً.\n"
+"\n"
+" * \"%s\": تحقّق من اختيار الدّولة الحالي. إن لم تكن ÙÙŠ هذه\n"
+"الدّولة، اضغط على زرّ \"%s\" واختر دولة أخرى. إن لم تكن دولتك\n"
+"ÙÙŠ القائمة المعروضة الأولى، اضغط على الزّر \"%s\" لتحصل على لائحة\n"
+"الدّول الكاملة.\n"
+"\n"
+" * \"%s\": بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠØŒ يخÙّض DrakX توقيتك الزّمني بناءً على الدّولة\n"
+"التي اخترتها. يمكنك الضّغط على الزّر \"%s\" هنا إن لم يكن ذلك\n"
+"صحيحاً.\n"
+"\n"
+" * \"%s\": تحقّق من تهيئة الماوس الحاليّة واضغط على الزّر كي\n"
+"تغيّرها إن كان ضروريّاً.\n"
+"\n"
+" * \"%s\": الضّغط على الزّر \"%s\" Ø³ÙŠÙØªØ­\n"
+"معالج تهيئة الطّابعة. راجع Ø§Ù„ÙØµÙ„ المتعلّق من ``دليل\n"
+"المبتدئ'' للمزيد من المعلومات حول كيÙيّة تهيئة طابعة جديدة. الواجهة\n"
+"المعروضة هناك مشابهة للتي هي مستخدمة خلال التّثبيت.\n"
+"\n"
+" * \"%s\": إن اكتش٠بطاقة صوت ÙÙŠ نظامك، Ø³ÙˆÙ ØªÙØ¹Ø±Ø¶\n"
+"هنا. إن لاحظت أنّ بطاقة الصّوت المعروضة ليست هي التّي\n"
+"ÙØ¹Ù„يّاً موجودة ÙÙŠ نظامك، يمكنك الضّغط على الزّر واختيار\n"
+"مشغّل آخر.\n"
+"\n"
+" * \"%s\": إن كانت لديك بطاقة ØªÙ„ÙØ²ÙŠÙˆÙ† على نظامك، يتمّ عرضها\n"
+"هنا وإن كانت لديك ولم تÙÙƒØªØ´ÙØŒ\n"
+"اضغط على \"%s\" تحاول تهيئتها يدوياً.\n"
+"\n"
+" * \"%s\": يمكنك الضغط على \"%s\" كي ØªÙØºÙŠÙ‘ر Ø§Ù„Ù…ÙØ¹Ø·ÙŠØ§Øª المرتبطة\n"
+"مع البطاقة إن شعرت بخطأ ما ÙÙŠ التهيئة.\n"
+"\n"
+" * \"%s\": بشكل Ø§ÙØªØ±Ø§Ø¶ÙŠØŒ يهيّء DrakX واجهتك الرّسوميّة\n"
+"بدقّة \"800×600\" أو \"1024×768\". إن لم يناسبك ذلك، اضغط على\n"
+"\"%s\" كي تهيّء واجهتك الرّسوميّة.\n"
+"\n"
+"\n"
+" * \"%s\": إن رغبت بتهيئة الوصول إلى الإنترنت والشّبكة المحل، Ùيمكنك عمل ذلك "
+"الآن. راجع الكتيّبات المطبوعة أو\n"
+"استخدم مركز تحكّم ماندريبا لينكس بعض الانتهاء من التثبيت كي تستÙيد\n"
+"من المساعدة Ø§Ù„Ù…ÙØ¯Ø±Ø¬Ø© بالكامل.\n"
+"\n"
+" * \"%s\": يمكنك من تهيئة عناوين بروكسي HTTP و FTP إن كانت الماكينة التي\n"
+"تقوم بالتثبيت عليها واقعة خل٠خادم بروكسي.\n"
+"\n"
+" * \"%s\": هذا Ø§Ù„Ù…ÙØ¯Ø®Ù„ يمكنّك من إعادة تعري٠مستوى الأمن كما هو محدّد ÙÙŠ\n"
+"الخطوة السّابقة ().\n"
+"\n"
+" * \"%s\": إن كنت تنوي وصل ماكينتك إلى الإنترنت، ÙØ¥Ù†Ù‘ها Ù„Ùكرة جيّدة\n"
+"أن تحمي Ù†ÙØ³Ùƒ من التّدخّلات الخارجيّة بإعداد جدار ناريّ. راجع\n"
+"Ø§Ù„ÙØµÙ„ المتعلّق من ``دليل المبتدئ'' Ù„ØªÙØ§ØµÙ„\n"
+"إعدادات الجدار النّاري.\n"
+"\n"
+" * \"%s\": إن رغبت بتغيير تهيئة محمّل الإقلاع، اضغط ذلك\n"
+"الزّر. يجب أن ÙŠÙØ­ØªÙظ بهذا للمستخدمين Ø§Ù„Ù…ÙØªÙ‚دّم راجع الكتيبات المطبوعة أو "
+"المساعدة المضمنة حول تهيئة محمل الإقلاع من خلال\n"
+"مركز تحكم ماندريبا لينكس.\n"
+"\n"
+" * \"%s\": سيمكنك هذا من ضبط التّحكّم بالخدمات التي سو٠تشغّل\n"
+"على ماكينتك. إن نويت استخدام هذه الماكنية كخادم ÙØ¥Ù†Ù‘ها Ù„Ùكرة جيّدة\n"
+"أن ØªÙØ±Ø§Ø¬Ø¹ هذه الخطوة."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "بطاقة ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "بطاقة ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "الواجهة الرسومية"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"اختر القرص الصلب الذي تريد محوه لتثبيت تجزيء\n"
+"ماندريبا لينكس الجديدة. خذ حذرك، كل البيانات الموجود عليه ستضيع\n"
+"و لن يمكن استعادتها!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"اضغط \"%s\" إن كنت تريد حذ٠كل التجزيئات الموجودة على القرص\n"
+"الصلب. خذ حذرك، بعد ضغطك لزر \"%s\" لن تتمكن من استعادة\n"
+"أي بيانات أو تجزئات كانت موجودة على هذا القرص الصلب، بما ÙÙŠ ذلك\n"
+"أي بيانات ويندوز.\n"
+"\n"
+"اضغط \"%s\" لإيقا٠هذه العملية دون خسارة أي بيانات أو تجزيئات\n"
+"موجودة على القرص الصلب."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "التالي ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- السابق "
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": الضغط على \"%s\" Ø³ÙŠÙØªØ­ معالج تهيئة\n"
+#~ "الطابعة. اقرأ Ø§Ù„ÙØµÙ„ المختص ÙÙŠ ``دليل المبتدئ''\n"
+#~ "لمزيد من المعلومات عن كيÙية تهيئة طابعة جديدة. الواجهة\n"
+#~ "المقدمة ÙÙŠ دليلنا\n"
+#~ "هي مماثلة لتلك المستخدمة أثناء التثبيت."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "هذه هي أهم خطوة تتخذها لأمن نظام جنو/لينكس الخاصّ بك:\n"
+#~ "عليك إدخال كلمة مرور المستخدم \"root\". \"Root\" هو\n"
+#~ "مدير النظام والمستخدم الوحيد المخوّل بتحديث النظام، ÙˆØ¥Ø¶Ø§ÙØ© المستخدمين،\n"
+#~ "وتغيير تهيئة النظام بشكل عام، الخ. باختصار يمكن للمستخدم \"root\" أن "
+#~ "ÙŠÙØ¹Ù„\n"
+#~ "كل شئ! لذا عليك اختيار كلمة مرور صعبة\n"
+#~ "التّخمين: سيخبرك DrakX إذا كانت كلمة المرور التي تستخدمها سهلة. كما\n"
+#~ "ترى، لست مجبراً على إدخال كلمة مرور، لكننا ننصح بشدة ألا ØªÙØ¹Ù„ هذا. جنو/"
+#~ "لينكس Ù…ÙØ¹Ø±Ù‘ص لأخطاء Ø§Ù„Ù…ÙØ´ØºÙ‘Ù„ كأيّ\n"
+#~ "نظام تشغيل آخر. وحيث أن \"الجذر\" يمكنه تعدي كل الحدود\n"
+#~ "و قد يحذ٠كل البيانات عن غير قصد بالوصول إلى التجزيئات بلا مبالاة\n"
+#~ "ÙØ¥Ù†Ù‘Ù‡ من المهمّ أن يكون من الصّعب أن تصبح المستخدم\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "يجب أن تكون كلمة المرور خليطاً من الحرو٠والأرقام كما يجب أن تحتوي\n"
+#~ "على 8 حرو٠على الأقل. لا تكتب كلمة مرور \"الجذر\" على ورق -- هذا يسهّل\n"
+#~ "اختراق النظام إذا رأى أحد كلمة المرور.\n"
+#~ "\n"
+#~ "نصيحة أخرى -- لا تجعل كلمة المرور طويلة جداً أو معقّدة لأنك يجب أن تكون\n"
+#~ "قادراً على تذكرها!\n"
+#~ "\n"
+#~ "لن يتم عرض كلمة المرور على الشاشة عند كتابتها. لتقليل ÙØ±ØµØ© حدوث\n"
+#~ "خطأ أثناء الكتابة، ستحتاج إلى إدخال كلمة المرور مرتين.\n"
+#~ "إذا أخطأت ÙÙŠ الكتابة ÙÙŠ المرتين، ÙØ³ÙŠØ¬Ø¨ استخدام كلمة\n"
+#~ "المرور \"الخاطئة\" ÙÙŠ المرة الأولى التي ستحاول Ùيها الاتصال كمستخدم \"جذر"
+#~ "\".\n"
+#~ "\n"
+#~ "إذا أردت أن يكون الوصول إلى هذا الحاسب يتحكّم به\n"
+#~ "خادم مواثقة، اضغط \"%s\".\n"
+#~ "\n"
+#~ "إذا كانت شبكتك تستخدم LDAP، أوNIS، أو خدمات PDC مواثقة نطاق ويندوز، اختر "
+#~ "الخيار المناسب لـ\"%s\". إن لم تعر٠أيّها تريد\n"
+#~ "استخدامه، اسأل مدير الشبكة لديك.\n"
+#~ "\n"
+#~ "إذا كانت لديك مشكلة ÙÙŠ تذكر كلمات المرور، يمكنك اختيار\n"
+#~ "\"%s\" إذا لم يكن الحاسب الخاص بك متصلاً بالإنترنت،\n"
+#~ "أو أنك تثق ÙÙŠ جميع من يستخدمون حاسبك."
+
+#~ msgid "authentication"
+#~ msgstr "المواثقة"
diff --git a/perl-install/install/help/po/ast.po b/perl-install/install/help/po/ast.po
new file mode 100644
index 000000000..4478b0e7a
--- /dev/null
+++ b/perl-install/install/help/po/ast.po
@@ -0,0 +1,1138 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Language-Team: Asturian (https://app.transifex.com/MageiaLinux/teams/9361/"
+"ast/)\n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr ""
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr ""
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr ""
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr ""
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr ""
diff --git a/perl-install/install/help/po/az.po b/perl-install/install/help/po/az.po
new file mode 100644
index 000000000..48844f4d9
--- /dev/null
+++ b/perl-install/install/help/po/az.po
@@ -0,0 +1,2017 @@
+# translation of DrakX-az.po to Azerbaijani
+# translation of DrakX-az.po to Azerbaijani Turkish
+# DrakX-az.po faylının Azərbaycan dilinə tərcüməsi
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Vasif Ismailoglu MD<azerb_linux@hotmail.com> , 2000-2001
+# MÉ™tin Æmirov <metin@karegen.com>, 2001-2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-az\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-03-31 14:21+0200\n"
+"Last-Translator: MÉ™tin Æmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Davam etmədən əvvəl, diqqətlə lisenziyanın qaydalarını oxumalısınız. O,\n"
+"bütün Mageia distribusiyasını É™hatÉ™ edir. ÆgÉ™r lisenziyadakı bütün\n"
+"qaydalarla razısınızsa, qutusunu \"%s\" iÅŸarÉ™lÉ™yin. ÆgÉ™r razı deyilsÉ™niz, "
+"sadəcə olaraq kompüterinizi bağlayın."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linuks çox istifadəçili əməliyyat sistemidir, bu da o deməkdir ki\n"
+"hər istifadəçinin öz xüsusi seçimləri, faylları və s. ola bilər. Ancaq \n"
+"sistem idarəçisi olan \"ali istifadəçi\" xaricindəki indi əlavə edəcəyiniz\n"
+"istifadəçilər öz faylları və qurğuları xaricində sistemin heç bir təhlükəli\n"
+"yeri ilə iş görə bilməz və beləcə də sistem istənməyən pozulmalara qarşı\n"
+"qorunmuÅŸ olacaq. Æn az bir dÉ™nÉ™ sıravi istifadəçi yaradmalısınız vÉ™ bu "
+"hesabı\n"
+"gündəlik işləriniz üçün istifadə etməlisiniz. Ali İstifadəçi olaraq giriş "
+"etmək də\n"
+"olduqca asanddır ancaq bu eyni zamanda çox təhlükəlidir. Çox kiçik bir xəta "
+"ilÉ™\n"
+"sistemi qeyri-fəal vəziyyətə gətirə bilərsiniz. Ancaq sıravi istifadəçi "
+"olaraq xəta\n"
+"ediləndə ancaq bəzi mə'lumatları itirəcək, sisteminiz yenə də sağlam \n"
+"qalacaqdır.\n"
+"\n"
+"Birinci sahÉ™ sizdÉ™n adı soruÅŸacaq. ÆlbÉ™ttÉ™ ki bunu yazmaq mÉ™cburi deyil. \n"
+"Oraya istədiyiniz kəlmələri yaza bilərsiniz. DrakX buraya yazdığınız "
+"kəlmələrin\n"
+"ilk kəlməsini alıb \"%s\" sahəsinə köçürəcək, bu istifadəçinin sistemə "
+"girmək\n"
+"üçün işlədəcəyi istifadəçi adı olacaq. İstəsəniz bunu da dəyişdirə "
+"bilərsiniz.\n"
+"Sonrakı addım şifrə girməkdir. Təhlükəsizlik nəzər nöqtəsindən şifrəsi "
+"olmayan\n"
+"sıravi istifadəçi ali istifadəçi qədər səlahiyyətli ola bilməz ancaq yenə də "
+"sizÉ™\n"
+"hər bir istifadəçiyə tapılması asand olmayan bir şifrə tə'yin etmənizi \n"
+"məsləhət görürük\n"
+"\n"
+"\"%s\" basdıqdan sonra başqa istifadəçiləri də əlavə edə bilərsiniz. Hər "
+"dostunuz\n"
+"üçün bir istifadəçi əlavə edin, misal üçün atanız, qardaşınız kimi. "
+"İstifadəçiləri əlavə \n"
+"etməyi bitirəndə \"%s\" düyməsinə basın.\n"
+"\n"
+"\"%s\" düyməsi istifadəçinin işlədəcəyi qabığı dəyişdirmək üçündür. \n"
+"(əsas olan bash qabığıdır).\n"
+"\n"
+"İstifadəçiləri əlavə edib bitirəndə sizə kompüteriniz açılanda hansı "
+"istifadəçinin\n"
+"avtomatik olaraq sistemÉ™ daxil etmÉ™k istÉ™diyiniz sualı verilÉ™cÉ™kdir. ÆgÉ™r "
+"bu\n"
+"xüsusiyyət xoşunuza gəlirsə və təhlükəsizlik haqqında elə də "
+"maraqlanmırsınızsal\n"
+"istədiyiniz istifadəçini və pəncərə idarəçisini seçib \"%s\" düyməsinə "
+"basın.\n"
+"ÆgÉ™r bu xassÉ™ sizi maraqlandırmırsa \"%s\" qutusunun seçimini silin."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu xüsusiyyəti istifadə etmək istəyirsiniz?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Burada sürücünüzdə tapılan Linuks bölmələri sıralanıb.\n"
+"Sehirbazın məsləhətlərinə qulaq asın, onlar çox vaxt işə yarayır.\n"
+"ÆgÉ™r hÉ™r hansı bir dÉ™yiÅŸiklik etsÉ™niz É™n azından kök bölmÉ™sini (\"/\") "
+"müəyyən\n"
+"etməlisiniz. Çox kiçik bölmə seçməyin, yoxsa kifayət qədər proqram "
+"tə'minatı\n"
+"qura bilmÉ™yÉ™cÉ™ksiniz. ÆgÉ™r mÉ™'lumatlarınızı baÅŸqa bölmÉ™dÉ™ tutmaq "
+"istəyirsinizsə,\n"
+"o zaman bir də \"/home\" bölməsi yaratmalısınız (yalnız birdən çox Linuks\n"
+"bölməniz var isə mümkündür).\n"
+"\n"
+"Hər bölmə bu cür sıralanıb; \"Ad\",\"Həcm\".\n"
+"\n"
+"\"Ad\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
+"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
+"\n"
+"\"Sabit disk növü\" diskiniz İDE sürücüsü isə \"hd\"dir, SCSİ sürücüsü isə\n"
+"\"sd\"dir.\n"
+"\n"
+"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. İDE \n"
+"sürücülər üçün:\n"
+"\n"
+"* \"a\" mə'nası \"birinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"b\" mə'nası \"birinci İDE idarəçisində qul (slave) sürücü\",\n"
+"\n"
+"* \"c\" mə'nası \"ikinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"d\" mə'nası \"ikinci İDE idarəçisində qul (slave) sürücü\".\n"
+"\n"
+"\n"
+"SCSİ sürücülərində, \"a\"nın mə'nası \"ən düşük SCSİ ID\",\n"
+"\"b\"nin mə'nası \"ikinci ən düşük SCSİ ID\"dir, vs..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia qurulumu müxtəlif CD-lər üstündə gəlir. DrakX\n"
+"seçili paketlərin hansı CD'də olduğunu bilir ona görə də lazım olanda\n"
+"hazırkı CD-ni çıxardıb sizdən lazım olan CD-ni daxil etməyi istəyəcək.\n"
+"ÆgÉ™r É™linizin altında istÉ™nÉ™n CD yoxdursa \"%s\" düymÉ™sinÉ™ basın vÉ™ istÉ™nÉ™n\n"
+"paketlər qurulmayacaqdır."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"İndi sisteminizə qurmaq istədiyiniz proqramları müəyyən etmə vaxtıdır.\n"
+"Mageia daxilində minlərcə proqram mövcuddur və idarələrinin\n"
+"asan olması üçün onlar bənzər paketlər qruplarına ayrılıblar.\n"
+"\n"
+"Paketlər sisteminizin xüsusui istifadə sahəsinə görə qruplanıb.\n"
+"Mageiada dörd əvvəldən müəyyən edilmiş qurulum növü mövcuddur.\n"
+"Yalnız siz bu qrupları yenə də qarışdıra bilərsiniz və istədiyiniz əlavə.\n"
+"proqramları seçə bilərsiniz. Misal üçün ''İş Stansiyası'' qurulumu\n"
+"``İnkişaf'' qurulumundakı proqramları daxil edə bilər.\n"
+"\n"
+" * \"%s\": əgər sisteminiz iş stansiyası olaraq istifadə ediləcəksə, bu\n"
+"qrupda yer alan bir ya da daha çox proqramı seçin.\n"
+"\n"
+" * \"%s\": əgər sisteminizi proqramlaşdırma və inkişaf üçün işlədəcəksəniz,\n"
+"bu qrupdakı proqramları seçə bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər sisteminiz verici olacaqsa, sisteminizə hansı xidmətləri\n"
+"qurmaq istədiyinizi buradan seçin.\n"
+"\n"
+" * \"%s\": qrafiki istifadəçi mühidini burada seçəcÉ™ksiniz. ÆgÉ™r "
+"sisteminizdÉ™\n"
+"qrafiki mühit işlətmək istəyirsinizsə ən az birisi seçilməlidir.\n"
+"\n"
+"Siçanın oxu qrup adının üstünə gələndə o qrup haqqında qısa izahat\n"
+"göstÉ™rilÉ™cÉ™k. ÆgÉ™r sistemi qurarkÉ™n bu qruplardan heç birini seçmÉ™sÉ™niz\n"
+"minimal qurulum üçün fərqli seçimləri təqdim edən bir pəncərə\n"
+"göstəriləcək:\n"
+"\n"
+" * \"%s\": minimal ədəddə paket qur, işləyən qrafiki ara üzə malik\n"
+"olma mümkündür.\n"
+"\n"
+" * \"%s\": sistem bazası və əsas tə'minatlar və sənədləri qurulacaq.\n"
+"Bu qurulum növü verici quraşdırmaq üçün uyğundur.\n"
+"\n"
+" * \"%s\": işləyən Linuks sistemi üçün lazım olan ən minimal paketlər\n"
+"qurulacaq. Bu qurulum ilə yalnız əmr sətirinə malik olacaqsınız.\n"
+"Qurulumun ümumi böyüklüyü təqribən 65 meqabayt olacaq.\n"
+"\n"
+"Təklif edilən paketləri tanıyırsınızsa ya da qurulan hər paket üstündə\n"
+"tam idarə sahibi olmaq istəyirsinizsə\"%s\" qutusunu işarələyə bilərsiniz\n"
+"\n"
+"ÆgÉ™r qurulumu \"%s\" modunda baÅŸlatmışsınızsa, yeni paketlÉ™rin\n"
+"qurulmasının qabağını almaq üçün bütün qrupların seçimini silə\n"
+"bilərsiniz. Bu əsasən sistem tə'mir edilirkən ya da yenilənirkən\n"
+"sərfəlidir."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Yeniləmə"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Æsas sÉ™nÉ™dlÉ™rlÉ™ birlikdÉ™"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Həqiqətən minimal qurulum"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"ÆgÉ™r qurulum proqramına paketlÉ™ri ayrı ayrı seçmÉ™k istÉ™diyinizi dedinizsÉ™,\n"
+"o, qrup və alt qruplara ayrılmış paketləri ağac şəklində sizə göstərəcək.\n"
+"Bu ağacda gəzərkən, bütün qrupu, alt qrupu ya da paketləri ayrı ayrı seçə "
+"biləcəksiniz\n"
+"\n"
+"Hər paket seçişinizdə sağ tərəfdə bu paket ilə əlaqəli və onun nə işə\n"
+"yaradığını göstərən mə'lumat yer alacaq.\n"
+"\n"
+"!! ÆgÉ™r paketin ya da paketin daxil oduÄŸu alt qrupun seçilmÉ™si ilÉ™ bir "
+"verici\n"
+"seçilsə, sizə bu vericini həqiqətən də qurmaq istədiyinizi soruşan və "
+"sizdən\n"
+"tÉ™sdiq istÉ™yÉ™n pÉ™ncÉ™rÉ™ göstÉ™rilÉ™cÉ™k. Æsas olaraq Mageia bütün qurulu\n"
+"olan xidmətləri açılışda fəal edir. Distribusiyanın çıxdığı vaxt onların "
+"bilinən heç bir\n"
+"xətası ya da təhlükəli yanı olmasa da, mümkündür ki, müəyyən vaxt sonra\n"
+"tÉ™hlükÉ™sizlik nöqtÉ™lÉ™ri aÅŸkar edilÉ™ bilÉ™r. ÆgÉ™r seçilÉ™n xidmÉ™tin nÉ™ etdiyini "
+"və nəyə\n"
+"yaradığını bilmirsinizsə, \"%s\" düyməsinə basın. \"%s\" düyməsini seçsəniz "
+"isÉ™\n"
+"xidmət sisteminizə qurulacaq və sisteminizin açılışında fəal hala "
+"gətiriləcək.\n"
+"Qeyd: Xidmətlərin açılışda fəal olub olmamasını qurulum bitdikdən sonra da\n"
+"Mageia İdarə Mərkəzindən quraşdıra bilərsiniz!!\n"
+"\n"
+"\"%s\" seçimi, bir proqramı seçdiyiniz zaman qurulum proqramının o proqram "
+"ilÉ™\n"
+"əlaqəli diqər paket ya da asıllılıqların avtomatik seçməsi üçündür.\n"
+"Bə'zi paketlər bir birindən aslıdır və birinin qurulması digərinin də "
+"qurulmasını\n"
+"məcbur qılır. Bu paketləri qurulum proqramı müvəffəqiyyətlə taparaq "
+"sisteminizÉ™\n"
+"quracaq.\n"
+"\n"
+"Siyahının altındakı kiçik disket rəsmi isə daha əvvəlki qurulumda (əgər "
+"yaratmışsınızsa)\n"
+"yaradılan paket siyahısı faylını yükləmək üçündür. Bu, birdən çox kompüterə "
+"eyni\n"
+"paket ya da proqramları qurmaq istədiyiniz zaman çox əlverişlidir. Düyməyə\n"
+"basdıqdan sonra sizdən disketi daxil etməniz xahiş ediləcək.\n"
+"Belə bir disketi necə yaradılacağını bilmək istəyirsinizsə son qurulum "
+"addımının \n"
+"ikinci yardım abzasına baxa bilərsiniz."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Avtomatik asıllılıqlar"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Bu dialoq, açılışda avtomatik olaraq başlamasını istədiyiniz xidmətləri \n"
+"seçmək üçündür.\n"
+"\n"
+"DrakX hazırkı qurulumda mövcud olan bütün xidmətləri siyahıda göstərəcək.\n"
+"Hər birini diqqətlə nəzərdən keçirin və açılış vaxtı ehtiyac hiss "
+"etmədiyiniz\n"
+"xidmətlərin qabağındakı seçimi silin.\n"
+"\n"
+" Siçan xidmətin üzərinə gələndə o xidmətin vəzifəsini başa salan mətn\n"
+"göstəriləcək. Yalnız, əgər xidmətin faydalı olub olmamasından əmin "
+"deyilsəniz\n"
+"ən yaxşısı onu olduğu kimi saxlamaq olacaq.\n"
+"\n"
+"!! ÆgÉ™r kompüteriniz verici olaraq istifadÉ™ edilÉ™cÉ™ksÉ™, bu addıma diqqÉ™t\n"
+"ayırmalısınız: istəmədiyiniz xidmətləri başlanğıcda başlatmaq "
+"istəməyəcəksiniz.\n"
+"Diqqətinizdə saxlayın ki, bə'zi xidmətlər fəal isə, bu verici üstündə "
+"təhlükəli ola bilər.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linuks vaxtı GMT (Greenwich Mean Time) ilə idarə edir və onu yerli\n"
+"vaxtı seçdiyiniz vaxt zolağına baÄŸlı olaraq seçir. ÆgÉ™r ana kartınızın "
+"saatı\n"
+"yerli saata quraşdırılıbsa, bunu, \"%s\"i seçərək qeyri-fəallaşdıra "
+"bilərsiniz,\n"
+"Bu, Linuksa sistem vaxtı ilə avadanlıq vaxtının eyni vaxt zolağında "
+"olduÄŸunu\n"
+"bildirəcək. Bu, sistemdə Windows kimi digər əməliyyat sistemi mövcuddursa\n"
+"faydalıdır.\n"
+"\n"
+"\"%s\" seçimi isə, saatınızı internetdəki uzaq zaman vericisinə bağlanaraq\n"
+"düzəldəcək. Bu xüsusiyyətin işləməsi üçün, internet bağlantınız olmalıdır.\n"
+"Sizə ən yaxın olan vericini seçmək məsləhət edilir.\n"
+"Bu seçim əslində yerli şəbəkənizdəki başqa kompüterlərin də istifadə edə\n"
+"biləcəyi zaman vericisini qurur."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Avtomatik zaman sinxronlaşdırılması"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Səs Kartı\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan səs kartını əsasən avtomatik "
+"olaraq\n"
+"aÅŸkar edÉ™cÉ™kvÉ™ quraÅŸdıracaq. ÆgÉ™r sÉ™hv tapılsa hÉ™qiqÉ™tÉ™n sisteminizÉ™ baÄŸlı "
+"olan\n"
+"səs kartını siyahıdan seçə bilərsiniz. \n"
+" ÆgÉ™r kartınız üçün hÉ™m 3D dÉ™stÉ™yi olan hÉ™m dÉ™ olmayan vericilÉ™r "
+"mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Pəncərə Sistemi) GNU/Linuks qrafiki ara üzünün qəlbidir.\n"
+"Mageiala bərabər gələn qrafiki mühitlərin hamısı (KDE, \n"
+"GNOME, AfterStep, WindowMaker, vs.) buna bağlıdır.\n"
+"\n"
+"Optimal görünüşü almaq üçün sizə dəyişdiriləcək fərqli parametrlər\n"
+"təqdim ediləcək.\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan qrafika kartını əsasən avtomatik "
+"olaraq\n"
+"aÅŸkar edÉ™cÉ™k vÉ™ quraÅŸdıracaq. ÆgÉ™r sÉ™hv tapılsa hÉ™qiqÉ™tÉ™n sisteminizÉ™ baÄŸlı "
+"olan\n"
+"səs kartını siyahıdan seçə bilərsiniz.\n"
+" ÆgÉ™r kartınız üçün hÉ™m 3D dÉ™stÉ™yi olan hÉ™m dÉ™ olmayan vericilÉ™r "
+"mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş "
+"ediləcək.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
+"aÅŸkar edÉ™cÉ™k vÉ™ quraÅŸdıracaq. ÆgÉ™r sÉ™hv tapılsa hÉ™qiqÉ™tÉ™n sisteminizÉ™ baÄŸlı "
+"olan\n"
+"monitoru siyahıdan seçə bilərsiniz.\n"
+"\n"
+"\n"
+"Həlledilirlik\n"
+"\n"
+" Burada avadanlığınız üçün mümkün olan həlledilirlik və rəng "
+"dərinliklərini\n"
+"seçə bilərsiniz. Ehtiyaclarınıza ən gözəl cavab verəni seçin. (Bunları "
+"qurulum\n"
+"tamamlandıqdan sonra da dəyişdirə biləcəksiniz). Seçilən qurğuların bir\n"
+"nümunəsi monitorda göstərilir.\n"
+"\n"
+"\n"
+"\n"
+"Sınaq\n"
+"\n"
+" Sistem, seçilən həlledilirlikdə qrafiki ekranı açmağa cəhd edəcək.\n"
+"ÆgÉ™r sınaq sırasında ismarışı görüb \"%s\" düymÉ™sinÉ™ bassanız, DrakX\n"
+"növbÉ™ti mÉ™rhÉ™lÉ™yÉ™ keçəcÉ™k. ÆgÉ™r ismarışı görÉ™ bilmirsinizsÉ™, bu avtomatik\n"
+"aşkar edilən quraşdırmanın bir hissəsi səhvdir və sınaq 12 saniyə sonra\n"
+"sonlanaraq sizi menyuya geri götürəcək.\n"
+"Düzgün qrafiki görünüş alana qədər qurğuları dəyişdirin.\n"
+"\n"
+"\n"
+"\n"
+"Seçimlər\n"
+"\n"
+" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
+"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
+"qurğularını\n"
+"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
+"istəyəcəksiniz."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
+"aÅŸkar edÉ™cÉ™k. ÆgÉ™r sÉ™hv tapılsa hÉ™qiqÉ™tÉ™n sisteminizÉ™ baÄŸlı olan monitoru\n"
+"siyahıdan seçə bilərsiniz."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Həlledilirlik\n"
+"\n"
+" Burada, avadanlığınız üçün mövcud olan həlledilirlik və rəng "
+"dərinliklərini\n"
+"seçə bilərsiniz. Ehtiyacınıza ən yaxşı cavab verəni seçin (qurulumdan sonra\n"
+"bunu dəyişdirə biləcəksiniz). Seçilən qurğunun bir nümunəsi\n"
+"monitorda göstərilir."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"ÆgÉ™r kartınız üçün hÉ™m 3D dÉ™stÉ™yi olan hÉ™m dÉ™ olmayan vericilÉ™r mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Seçimlər\n"
+"\n"
+" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
+"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
+"qurğularını\n"
+"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
+"istəyəcəksiniz."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Bu nöqtədə Mageiai sabit diskinizdə haraya quracağınıza\n"
+"qÉ™rar verÉ™cÉ™ksiniz. ÆgÉ™r diskiniz boÅŸ isÉ™ vÉ™ ya bir baÅŸqa sistem\n"
+"bütün yeri doldurmuş isə, o zaman diskinizdə Mageia üçün\n"
+"yer açmalısınız. Bölmələndirmə əsasən diskinizdə Mageiau\n"
+"qurmaqməntiqi sürücülər yaratmaqdan ibarətdir.\n"
+"\n"
+"Ümumiyyətlə bölmələndirmənin təsiri geri dönülməzdir və mə'lumat\n"
+"itirilməsinə səbəb ola bilər. Ona görə də əgər sisteminizdə başqa bir\n"
+"əməliyyat sistemi quruludursa və siz Linuksla yeni tanışırsınızsa bu iş\n"
+"çox gərgin və yorucudur. Ancaq DrakX sabit diski çox rahat bölmələndirməniz\n"
+"üçün çox sadə bir sehirbaz daxil edir. Başlamadan əvvəl xahiş edirik, "
+"buradakı\n"
+"mə'lumatları oxuyun, və bu iş üçün bir az vaxt ayırın.\n"
+"\n"
+"Sabit diskinizin qurğularına nəzarən birdən çox seçim mövcud ola bilər:\n"
+"\n"
+" * \"%s\": bu seçim boş sürücülərinizi avtomatik olaraq bölmələndirəcək\n"
+"Bu seçənəyi seçsəniz sizə heç bir sual verilməyəcək.\n"
+"\n"
+" * \"%s\": sehirbaz sabit diskinizdə bir ya da daha çox mövcud Linuks \n"
+"bölməsi aşkar edib. Onları istifadə etmək istəyirsinizsə bu seçənəyi "
+"işlədin.\n"
+"Daha sonra hər bölmə ilə əlaqələndirilmiş bağlama nöqtəsi seçəcəksiniz.\n"
+"ÆvvÉ™ldÉ™n qalan baÄŸlama nöqtÉ™lÉ™ri É™sas olaraq seçilidir vÉ™ onları elÉ™cÉ™ dÉ™\n"
+"saxlamaq gözəl fikirdir.\n"
+"\n"
+" * \"%s\": sabit diskinizdə Microsoft Windows quruludur və üstündəki bütün\n"
+" sahəni əhatə edir, bu vəziyyətdə siz Linuks üçün boş yer ayırmalısınız.\n"
+"Bunu etmək üçün Microsoft Windows bölməsini və mə'lumatlarını silə "
+"bilərsiniz.\n"
+"(baxın ``Bütün diski sil'' həlli) ya da Microsoft Windows FAT ya da NTFS "
+"bölmənizin\n"
+" böyüklüyünü dəyişdirə bilərsiniz. Ölçüləndirmə qaydalara riayət edilərsə "
+"heç bir mə'lumat\n"
+"itirilməsinə yol açmaz. Qaydalar isə əvvəlcədən Windows bölməniz üstündə "
+"'Scandisk' vÉ™\n"
+"'Defraq' əmrlərinin icra edilməsinir. Eyni zamanda mə'lumatlarınızın ehtiyat "
+"nüsxəsini almayı\n"
+"da qətiyyən unutmayın. Kompüteriniz üstündə həm Mageia həm də Microsoft\n"
+"Windows ÆS'lÉ™rini iÅŸlÉ™tmÉ™k istÉ™yirsinizsÉ™ bu seçənÉ™yi seçin. Unutmayın ki "
+"Microsoft\n"
+"Windows bölmənizin böyüklüyünü Windows altında da bəzi (PartitionMagic) "
+"proqramlar\n"
+"vasitəsi ilə dəyişdirə bilərsiniz.\n"
+"\n"
+" Bu seçənəyi seçmədən əvvəl nəzərə alın ki bu əməliyyatdan sonra Microsoft "
+"Windows\n"
+"bölməniz əvvəlkindən daha kiçik olacaq.\n"
+"\n"
+" * \"%s\": əgər sisteminizdəki bütün mövcud bölmələri silmək və yerinə\n"
+"Mageia sistemini qurmaq istəyirsinizsə bu seçənəyi seçin.\n"
+"Diqqətli olun, ona görə ki seçiminizi təsdiqlədikdən sonra geri ala "
+"bilməyəcəksiniz.\n"
+"\n"
+" !! ÆgÉ™r bu seçənÉ™yi seçsÉ™niz, diskinizdÉ™ki bütün mÉ™'lumat "
+"silinəcəkdir. !!\n"
+"\n"
+" * \"%s\": bu sabit disk üstündəki hər şeyi siləcək və sıfırdan təzə bir "
+"bölmələmə,\n"
+"həyata keçirəcəkdir. Diskinizdəki bütün mə'lumat silinəcəkdir.\n"
+"\n"
+" !! ÆgÉ™r bu seçənÉ™yi seçsÉ™niz, diskinizdÉ™ki bütün mÉ™'lumat "
+"silinəcəkdir. !!\n"
+"\n"
+" * \"%s\": diskinizi əllə bölmələmək istəyirsinizsə bu seçənəyi seçin. \n"
+"Diqqətli olun -- bu çox qüvvətli ancaq təhlükəli seçimdir. Ona görə də bu \n"
+"seçimi ancaq daha əvvəl buna oxşar bir şey etmişsinizsə və bu sahədə\n"
+"bilikləriniz mövcuddursa seçin. Yaxşısı budur ki bu əməliyyat sırasında\n"
+"yanınızda daha əvvəl bunu etmiş dostunuz da olsun. DiskDrake vasitəsinin\n"
+"istifadəsi haqqında mə'lumatı ``Starter Guide'' kitabçasının ``Managing \n"
+"Your Partitions '' qismində tapa bilərsiniz."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Mövcud bölməni işlət"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Bütün diski sil"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Təbrik edirik! Qurulum başa çattı və GNU/Linuks sisteminiz indi\n"
+"istifadəyə hazırdır. Sadəcə olaraq sisteminizi yenidən başlatmaq üçün\n"
+"\"%s\" düyməsinə basın. Kompüteriniz başlarkən avadanlıq yoxlamasından\n"
+"sonra görəcəyiniz açılış yükləyici menyusunda sizə başlatmaq\n"
+"istədiyiniz əməliyyat sistemlərinin siyahısı göstəriləcək.\n"
+"\n"
+"\"%s\" düyməsi seçimə bağlı olaraq aşağıdakı iki seçimi göstərir:\n"
+"\n"
+" * \"%s\": indi etdiyiniz quruluma bənzər və operatora (kompüterin\n"
+"yanında oturana) ehtiyaca qalmadan qurulumu etmək üçün avtomatik\n"
+"qurulum disketi yaratma imkanı verir.\n"
+"\n"
+" Düyməni basdıqdan sonra iki fərqli seçim görəcəksiniz:\n"
+"\n"
+" * \"%s\". Qismən avtomatikləşdirilmiş qurulum. Yalnız disk bölmələmə\n"
+"addımı interaktiv olacaq və sizin istəklərinizə qulaq asacaq.\n"
+"\n"
+" * \"%s\". Tamamilə avtomatikləşdirilmiş qurulum: sabit disk tamamilə\n"
+"yenidən yazılacaq, bütün mə'lumat yox olacaq.\n"
+"\n"
+" Bu xassə, əsasən birdən çox eyni sistemin qurulmasında çox əlverişlidir.\n"
+"Daha çox mə'lumat üçün saytımızın Auto install qisminə baxın.\n"
+"\n"
+" * \"%s\"(*): bu, qurulum sırasında seçilən paketlərin siyahısını disketə\n"
+"qeyd edər. Bu disketi başqa qurulum ilə işlətmək üçün, disketi daxil edin "
+"vÉ™\n"
+"quruluma başlayın. Promptda, [F1] düyməsinə basın və >>linux\n"
+"defcfg=\"floppy\" << yazın.\n"
+"\n"
+"(*) Bunun üçün FAT ilə şəkilləndirilmiş disketə ehtiyacınız olacaq. (GNU/"
+"Linuks\n"
+"altında bunu yaratmaq üçün \"mformat a:\" əmrini verin)"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Avtomatik qurulum disketi hazırla"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Yeni yaradılan bütün bölmələr şəkilləndirilməlidir\n"
+"(şəkilləndirmək, fayl sistemini yaratmaq deməkdir - format).\n"
+"\n"
+"Bu arada var olan hazır bölmələri də üstündəkiləri silmək üçün yenidən\n"
+"şəkilləndirmək istəyə bilərsiniz.\n"
+"Bunu istəyirsinizsə xahiş edirik, bu bölmələri də seçin.\n"
+"\n"
+"Ağlınızda tutun ki var olan bütün bölmələri şəkilləndirmək\n"
+"mÉ™cburi deyil. ÆmÉ™liyyat sistÉ™mini É™mÉ™lÉ™ gÉ™tirÉ™n bölmÉ™lÉ™ri\n"
+"(yəni \"/\", \"usr\" və ya \"var\"ı yenidən şəkilləndirmək üçün\n"
+"seçə bilərsiniz. Mə'lumatlar olan \"home\"u isə toxunmadan\n"
+"saxlaya bilərsiniz).\n"
+"\n"
+"Bölmələri seçərkən diqqətli olun. Şəkilləndirdiyiniz bölmələrdəki\n"
+"mə'lumatlar itiriləcək və geri gəlməyəcək.\n"
+"\n"
+"Bölmələri şəkilləndirməyə hazır olanda \"%s\" düyməsini basın.\n"
+"\n"
+"Yeni Mageia sisteminizi qurmaq üçün başqa bölmə seçmək\n"
+"istəyirsinizsə \"%s\" düyməsinə basın.\n"
+"\n"
+"Üstündəki xəsərli blokların yoxlanmasını istədiyiniz bölmələri seçmək\n"
+"üçün \"%s\" düyməsinə basın."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mageiau qurduğunuz vaxtda çox güman ki bə'zi paketlər \n"
+"ilk çıxışlarından sonra yenilənmiş ola bilər. Bunlarla bir çox xəta "
+"düzəldilmiş\n"
+"ya da təhlükəsizlik qüvvətləndirilmiş ola bilər. Bu yeniləmələrdən istifadə\n"
+"etmək üçün indi siz İnternetdən endirmə əməliyyatına başlaya bilərsiniz.\n"
+"ÆgÉ™r fÉ™al internet baÄŸlantınız varsa \"%s\", yoxsa, yenilÉ™nmiÅŸ paketlÉ™ri\n"
+"daha sonra qurmaq üçün \"%s\" düyməsinə basın.\n"
+"\n"
+"\"%s\" seçilərsə, yeniləmələrin endirilə biləcəyi yerlərin siyahı "
+"göstəriləcək.\n"
+"Sizə ən yaxın olanı seçməlisiniz. Paket seçim ağacı göstəriləcək, bu bölümü\n"
+"gözdən keçirin və paketləri endirib qurmaq üçün \"%s\" düyməsinə basın.\n"
+"Ləğv etmək üçün isə \"%s\" düyməsindən istifadə edə bilərsiniz."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Bu nöqtədə, DrakX sizə sisteminiz üçün təhlükəsizlik səvissəyini seçmə\n"
+"imkanını təqdim edəcək. Qayda olaraq, əgər kompüter vacib mə'lumat daxil\n"
+"edir ya da internetə birbaşa açıq sistem olacaqsa təhlükəsizlik səviyyəsi\n"
+"yüksək seçilməlidir. Bunun gətirdiyi əlverişsiz şərait isə sistemin "
+"istifadəsinin\n"
+"daha çətin olmasıdır.\n"
+"\n"
+"ÆgÉ™r nÉ™ seçəcÉ™yinizi bilmirsinizsÉ™, seçili qurÄŸuları olduÄŸu kimi saxlayın."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Təhlükəsizlik İdarəçisi"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Bu nöqtÉ™dÉ™ siz Mageia yüklÉ™nÉ™cÉ™k bölmÉ™(lÉ™r)i seçmÉ™lisiniz. ÆgÉ™r\n"
+"bölmələr əvvəldən mövcuddursa (sistemdə əvvəllər qurulu olan GNU/Linuks \n"
+"bölmələri və ya başqa bölmələndirmə vasitələri ilə hazırladığınız "
+"bölmələr),\n"
+"onları istifadə edə bilərsiniz, əks halda onları müəyyən etməlisiniz.\n"
+"\n"
+"Bölmələri yaratmaq üçün əvvəlcə diski seçməlisiniz. Diski seçmək üçün \n"
+"birinci İDE sürücüsü üçün ``hda''nı, ikincisi üçün ``hdb''ni, birinci SCSİ \n"
+"sürücüsü üçün isə ``sda'' v.s. üstünə tıqlamalısınız.\n"
+"\n"
+"Seçdiyiniz sürücünü bölmələndirmək üçün aşağıdakı seçimləri etməyə "
+"qadirsiniz:\n"
+"\n"
+" * \"%s\": Bu seçim seçili sabit disk üstündəki bütün bölmələri silər\n"
+"\n"
+" * \"%s\": Bu seçim sizə avtomatik olaraq sabit diskinizin boş sahəsində\n"
+"ext4 və dəyiş-toqquş sahəsi yaratma imkanı verəcək\n"
+"\n"
+"\"%s\": ÆlavÉ™ xüsusiyyÉ™tlÉ™rÉ™ yetiÅŸmÉ™ imkanı verir\n"
+"\n"
+" * \"%s\": Bölmə cədvəlini disketə qeyd edər. Bu disket daha sonra əmələ "
+"gələ\n"
+"biləcək disk bölmə cədvəli xətalarını bərpa etmək üçün işlədilir. Bu addımı "
+"həyata keçirməyi\n"
+"sizə şiddətlə məsləhət edirik.\n"
+"\n"
+" * \"%s\": Daha əvvəl disketə qeyd edilən bölmə cədvəlini bərpa etmək "
+"(yenidən\n"
+"yükləmək) üçün bu seçimi işlədin.\n"
+"\n"
+" * \"%s\": ÆgÉ™r bölmÉ™ cÉ™dvÉ™liniz pozulubsa, onu bu seçimlÉ™ düzÉ™ldÉ™\n"
+"bilərsiniz. Diqqətli olun və unutmayın ki bu həmişə işləməyə bilər.\n"
+"\n"
+" * \"%s\": Bütün dəyişiklikləri silərək sabit diskin əvvəlki bölmə "
+"cədvəlini\n"
+"geri yükləyəcək.\n"
+"\n"
+" * \"%s\": Bu seçimin işarəsini silərsəniz, istifadəçilər CD-ROM'lar və "
+"disketlər\n"
+"kimi çıxardıla bilən mediyaları əl ilə bağlamaq (mount) məcburiyyətində "
+"qalacaq.\n"
+"\n"
+" * \"%s\": ÆgÉ™r diskinizi bölmÉ™lÉ™mÉ™k üçün bir sehirbaza ehtiyac hiss "
+"edirsinizsÉ™,\n"
+"bu seçimi seçin. Bu yol, bölmələmədən yaxşı başı çıxmayanlar üçündür.\n"
+"\n"
+" * \"%s\": Dəyişikliklərinizi rədd etmək üçün bu seçimi işlədin.\n"
+"\n"
+" * \"%s\": Sabit disk haqqında ətraflı mə'lumat verir və onun üstündə əlavə\n"
+"əməliyyatlar (növ, seçimlər, şəkilləndirmə) icra etmə icazəsi verir.\n"
+"\n"
+" * \"%s\": Sabit diskinizi bölmələyib bitirdiyiniz vaxt bu seçim "
+"dəyişiklikləri\n"
+"sabit diskinizə qeyd edəcək.\n"
+"\n"
+"Bölmənin böyüklüyünü müəyyən edərkən klaviaturadakı istiqamət düymələri\n"
+"ilə seçiminizi sazlaya bilərsiniz.\n"
+"\n"
+"Qeyd: bütün seçimlərə klaviatura ilə yetişə bilərsiniz. Bölmələr arasında "
+"[Tab]\n"
+"və [Yuxarı/Aşağı] düymələri ilə hərəkət edə bilərsiniz.\n"
+"\n"
+"Bir bölmə seçili ikən bu qısa yolları istifadə edə bilərsiniz:\n"
+"\n"
+" * Ctrl-c -> yeni bölmə yaratmaq üçün (əgər boş bölmə seçilidirsə)\n"
+"\n"
+" * Ctrl-d -> bölməni silmək üçün\n"
+"\n"
+" * Ctrl-m -> bağlama nöqtəsi seçmək üçün\n"
+"\n"
+"Fərqli fayl sistem növləri haqqında daha ətraflı mə'lumat üçün, xahiş "
+"edirik,\n"
+"``Reference Manual'' kitabının ext2FS bölümünü oxuyun.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Sökülə bilən avadanlıqların avtomatik bağlanması"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normal modla mütəxəssis modu arasında keç"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sürücünüzdə bir və ya daha çox Microsoft bölməsi tapıldı.\n"
+"Xahiş edirik, Mageiai qurmaq üçün onlardan hansını\n"
+"yenidən ölçüləndirmək istədiyinizi seçin.\n"
+"\n"
+"Hər bölmə bu cür sıralanıb; \"Linuks adı\",\"Windows adı\"\n"
+"\"Həcm\".\n"
+"\n"
+"\"Linuks adı\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
+"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
+"\n"
+"\"Sabit disk növü\" diskiniz İDE sürücüsü isə \"hd\"dir, SCSİ sürücüsü isə\n"
+"\"sd\"dir.\n"
+"\n"
+"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. İDE \n"
+"sürücülər üçün:\n"
+"\n"
+"* \"a\" mə'nası \"birinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"b\" mə'nası \"birinci İDE idarəçisində qul (slave) sürücü\",\n"
+"\n"
+"* \"c\" mə'nası \"ikinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"d\" mə'nası \"ikinci İDE idarəçisində qul (slave) sürücü\".\n"
+"\n"
+"\n"
+"SCSİ sürücülərində, \"a\"nın mə'nası \"ən düşük SCSİ ID\",\n"
+"\"b\"nin mə'nası \"ikinci ən düşük SCSİ ID\"dir, vs...\n"
+"\n"
+"\"Windows adı\" sabit diskinizin Windows altındakı adıdır (birinci\n"
+"disk ya da bölmənin adı \"C:\"dir, vs...)."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": hazırkı ölkÉ™ seçimini yoxlayın. ÆgÉ™r bu ölkÉ™dÉ™ deyilsÉ™niz \"%s\"\n"
+"düymÉ™sinÉ™ basaraq baÅŸqasını seçin. ÆgÉ™r ölkÉ™niz göstÉ™rilÉ™n ilk siyahıda\n"
+"deyilsə, tam ölkə siyahısını görmək üçün \"%s\" düyməsinə basın."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Bu addım, yalnız sisteminizdə daha əvvəldən qurulu olan GNU/Linuks bölməsi\n"
+"tapılanda fəal olur.\n"
+"\n"
+"DrakX indi mövcud Mageia sisteminizi yeniləmək mi, yoxsa yenidən\n"
+"qurmaq mı istədiyinizi bilməlidir.\n"
+"\n"
+" * \"%s\": Bu seçim köhnÉ™ sistemi tamamilÉ™ silÉ™cÉ™k. ÆgÉ™r sabit "
+"disklərinizin\n"
+"bölmələndirilməsini dəyişdirmək ya da fayl sistemini dəyişdirmək "
+"istəyirsinizsə\n"
+"bu seçimi seçin. Yalnız, bölmələndirmə sxeminizdən aslı olaraq bə'zi mövcud\n"
+"mə'lumatlarınızın üstündən yazılmasının qabağını ala bilərsiniz.\n"
+"\n"
+" * \"%s\": Hazırkı Mageia sisteminizdə qurulu olan paketləri yeniləmə\n"
+"imkanı verir. Qurulum hazırkı bölmələmə sxemi və istifadəçi mə'lumat və "
+"sənədlərinə\n"
+"dəyməyəcək və dəyişdirməyəcək. Digər qurulum addımlarının çoxu isə standart\n"
+"qurulumdakının eynisi olacaq. Bu seçimi \"8.1\" versiyasından əvvəlki "
+"Mageialarda\n"
+"tədbiq etmək uyğun görülmür."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Bölümdə seçdiyiniz dilə bağlı olaraq, DrakX uyğun gələn klaviatura növü\n"
+"quraşdırmasını seçəcək. Yalnız, dilinizə tam uyğun olmayan klaviatura "
+"yiyəsi\n"
+"də ola bilərsiniz: misal üçün Azərbaycanda yaşayan Rus dilli şəxs isəniz\n"
+"klaviaturanızı Rus dilində istifadə etmək istəyəcəksiniz, ya da Rusiyada "
+"yaÅŸayan\n"
+"Azərbaycanlı isəniz klaviaturanızı Rus dilində yox Azərbaycan dilində "
+"istifadÉ™\n"
+"etmək istəyə bilərsiniz. İki vəziyyətdə də istədiyiniz klaviaturlarını "
+"siyahıdan seçə\n"
+"bilərsiniz.\n"
+"\n"
+"Dəstəklənən klaviaturaların tam siyahısını görmək üçün \"%s\" \n"
+"düyməsinə basın\n"
+"\n"
+"ÆgÉ™r Latın É™lifbası É™sasında olmayan klaviatura düzülüşü seçsÉ™niz, növbÉ™ti\n"
+"dialoq sizə Latın və Latın olmayan düzülüşlər arasında keçiş üçün\n"
+"qısa yol seçmə imkanı verəcək."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Seçdiyiniz dil, sənədlər , qurulum və ümumi sistemə tə'sir edəcəkdir.\n"
+"İlk olaraq qaldığınız yerin coğrafi bölgəsini seçin, daha sonra\n"
+"istifadə etdiyiniz dili seçin.\n"
+"\"%s\" düyməsi əlavə dilləri seçmə imkanı verəcəkdir. Bu imkan\n"
+"fərqli bir dili də eyni zamanda istifadə etmə imkanı verəcək. Bu qurğunu\n"
+"\"%s\" ətraflı menyusundan həyata keçirə bilərsiniz.\n"
+"Qeyd: ÆlavÉ™ dil seçmÉ™kdÉ™ bir dil ilÉ™ mÉ™hdud deyilsiniz. \"%s\" "
+"qutusundanistədiyiniz qədər dil seçə bilərsiniz. \n"
+"Bir dil seçimi bərabərində tərcümələr, yazı növləri və\n"
+"imla yoxlayıcıları kimi bə'zi üstünlükləri gətirəcəkdir.\n"
+"Ayrıca \"%s\" qutusundan sistemi UTF-8 (yunikod) kodlamasını işlətmək\n"
+"üçün zorlaya bilərsiniz.\n"
+"Qurduğunuz dillər arasında keçiş etmək üçün ali istifadəçi səlahiyyətləri\n"
+"ilə konsolda \"/usr/sbin/localedrake\" əmrini verə bilər ya da menyunuzdan\n"
+" \"localedrake\"'i seçərək dəyişdirə bilərsiniz. Bu, bütün sisteminya da\n"
+"yalnız bir istifadəçinin bütün dil qurğularını dəyişdirmə imkanı verir.\n"
+"ÆgÉ™r bunları sıravi istifadəçi olaraq hÉ™yata keçirsÉ™niz yalnız öz xüsusi\n"
+"dil qurğularınızı dəyişdirəcəksiniz."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "İspanca"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"AdÉ™tÉ™n DrakX siçanınızdakı düymÉ™ É™dÉ™dini tapmaqda É™ziyyÉ™t çəkmÉ™yÉ™cÉ™k. ÆgÉ™r\n"
+"müvəffəqiyyətsiz olsa, siçanınızı iki düyməli qəbul edəcək və üçüncü düymə \n"
+"emulyasiyasını fəallaşdıracaq. İki düyməli siçanda üçüncü düyməyə "
+"``basmaq''\n"
+"üçün sağ və sol düyməyə bərabər basmalısınız. DrakX, siçanınızın PS/2 ya da "
+"USB bağlantısından hansını işlətdiyini özü tapacaq.\n"
+"\n"
+"ÆgÉ™r fÉ™rqli bir siçan növü seçmÉ™k istÉ™sÉ™niz verilÉ™n siyahıdan seçmÉ™niz\n"
+"kifayətdir.\n"
+"\n"
+"ÆgÉ™r É™sas siçan xaricindÉ™ baÅŸqa bir siçan seçmÉ™k istÉ™sÉ™niz bir sınaq ekranı\n"
+"göstəriləcək. Sİçanın qurğularının düz olduğundn əmin olmaq üçün\n"
+"düymÉ™lÉ™ri vÉ™ çarxı sınayın. ÆgÉ™r siçan düzgün iÅŸlÉ™mirsÉ™ boÅŸluq ya da\n"
+"[Return] düyməsinə basıb seçim siyahısına geri dönə bilərsiniz.\n"
+"\n"
+"Çərxli siçanlar adətən avtomatik aşkar edilə bilmir, bu səbəblə\n"
+"siçanınızı siyahıdan seçməniz lazım ola bilər. Siçanızın taxılı olduğu "
+"qapını\n"
+"və siçanınızı seçəndən sonra \"%s\" düyməsinə basın, ekranda bir siçan\n"
+"rəsmi göstəriləcək. Çərxin düzgün işlədiyini yoxlamaq üçün onu döndərin.\n"
+"Ekrandakı siçan çərxinin döndüyünü görəndən sonra siçanın düymələrini \n"
+"oxun ekrandakı hərəkətini yoxlayın."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Çərx emulyasiyalı"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Hər hansı bir PS/2 və USB siçan"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Xahiş edirik, doğru qapını seçin. Məsələn, Windows'dakı COM1\n"
+"GNU/Linuks'da ttyS0'dır."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO və grub ikisi də GNU/Linuks açılış yükləyiciləridir. Normalda bu "
+"mərhələ\n"
+"tamamilə avtomatikdir. DrakX diskin kök sektorunu yoxlayacaq və orada "
+"tapacağı\n"
+"mə'lumatlara görə açağıdakı addımları tətbiq edəcək:\n"
+"\n"
+" * əgər Windows açılış sektoru aşkar edilərsə, DrakX onu grub/LILO açılış "
+"sektoru\n"
+"ilə dəyişdirəcək. Beləliklə, siz həm GNU/Linuksu həm də digər əməliyyat "
+"sisteminizi\n"
+"(Windows ya da MacOS) aça biləcəksiniz.\n"
+"\n"
+" * əgər grub ya da LILO açılış sektoru aşkar edilərsə, o, yenisiylə əvəz "
+"ediləcək.\n"
+"\n"
+"ÆgÉ™r müəyyÉ™n edib qÉ™rara gÉ™lÉ™ bilmÉ™zsÉ™, DrakX açılış yüklÉ™yicisini hara "
+"yazmaq\n"
+"istədiyinizi sizə soruşacaq."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"İndi kompüteriniz üçün çap sistemini seçmÉ™ vaxtı gÉ™ldi. DigÉ™r ÆS'lÉ™ri sizÉ™ "
+"bir\n"
+"dənəsini təqdim edə bilərlər, yalnız Mageia ikisini təqdim edir.\n"
+"Hər çap sistemi xüsusi quraşdırma növləri üçün uyğundur.\n"
+"\n"
+" * \"%s\" -- bu seçim``çap et, növbəyə alma'' mə'nasına gəlir.\n"
+"ÆgÉ™r kompüterinizÉ™ baÄŸlı olan çapçı varsa, çap yığılmalarından qurtulmaq\n"
+"istəyirsinizsə və şəbəkə çapçılarınız yoxdursa, bunu seçin. (\"%s\"\n"
+"yalnız çox sadə şəbəkə hallarını idarə edə bilər və şəbəkələrlə işlədiləndə\n"
+"biraz yavaÅŸ qalır. ÆgÉ™r bu GNU/Linuks ilÉ™ ilk tanışmanızdırsa, sizÉ™ \"pdq\"\n"
+"işlətməyi məsləhət edirik.\n"
+"\n"
+" * \"%s\" - `` Ümumi Unix Çap Sistemi'', isə həm öz kompüterinizə\n"
+"bağlı olan həm də bu dünyadakı istənən yerə qurulan çapçıdan istifadə\n"
+"etmək üçün ideal vasitədir və quraşdırılması çox asandır.\n"
+"Æsas quraÅŸdırma \"pdq\" qÉ™dÉ™r asandır. ÆgÉ™r bir \"lpd\" vericisini\n"
+"emulyasiya etmək istəyirsinizsə, \"cups-lpd \" demonunu başlatdığınıza\n"
+"əmin oun. .\"%s\" eyni zamanda çapçının quraşdırılması və idarəsi və çap\n"
+"üçün qrafiki ara üzlərə də sahibdir. \n"
+"ÆgÉ™r indi birisini seçib sonra çap sistemini bÉ™yÉ™nmÉ™zsÉ™niz, onu Mandriva "
+"Linux\n"
+"İdarə Mərkəzindəki PrinterDrake bölməsindəki mütəxəssis düyməsi vasitəsiylə\n"
+"dəyişdirə bilərsiniz."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Usta"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX əvvəlcə kompüterinizdə mövcud olan bütün İDE adapterleri \n"
+"axtarmağa cəhd edəcək. Eyni zamanda sisteminizdəki PCİ SCSİ kartları\n"
+"da axtarılacaq. ÆgÉ™r SCSİ kart tapılsa sürücüsü avtomatik qurulacaq\n"
+"\n"
+"Bəzən DrakX sabit disklərinizi müvəffəqiyyətlə aşkar etməyə bilər.\n"
+"Bu vəziyyətdə avadanlığınızı əllə müəyyən etməli olacaqsınız.\n"
+"\n"
+"ÆgÉ™r PCİ SCSİ adapterini É™llÉ™ müəyyÉ™n etsÉ™niz DrakX sizdÉ™n onun qurÄŸularını\n"
+"sazlamak istədiyinizi soruşacaq, sizə sisteminizdə SCSİ\n"
+"adapteri olub olmadığı soruşulacaq. İmkan verin ki, DrakX sərbəstcə özü\n"
+"xüsusiyyətləri tapsın. Çox vaxt DrakX bu addımdan müvəffəqiyyətlə\n"
+"və xətasız çıxacaq.\n"
+"ÆgÉ™r DrakX avadanlığa avtomatik olaraq hansı parametrlÉ™rin yollanacağını\n"
+"tapmaq üçün seçimləri qurğulaya bilməzsə sürücünü əllə siz quraşdırmaq\n"
+"məcburiyyətində qalacaqsınız."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": əgər sisteminizdə səs kartı tapılıbsa burada göstəriləcək.\n"
+"ÆgÉ™r burada göstÉ™rilÉ™n sÉ™s kartının sisteminizdÉ™kindÉ™n fÉ™rqli olduÄŸu\n"
+"nəzərinizə çatsa, düyməyə basıb başqa bir sürücü seçə bilərsiniz."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"İcmal olaraq, DrakX sisteminiz haqqında malik olduğu mə'lumatı göstərəcək.\n"
+"Qurulu avadanlığınıza bağlı olaraq, aşağıdakı girişlərin hamısını ya da bir "
+"neçəsi\n"
+"icmalda yer ala bilər. Hər giriş, quraşdırılan üzvdən və hazırkı qurğusunun "
+"qısa\n"
+"izahatından ibarətdir.\n"
+"Qurğunu dəyişdirmək üçün uyğun olan \"%s\" düyməsinə basın.\n"
+"\n"
+" * \"%s\": hazırkı klaviatura düzülüşünü göstərir. Lazımdırsa, bunu "
+"dəyişdirin.\n"
+"\n"
+" * \"%s\": hazırkı ölkÉ™ seçimini göstÉ™rir. ÆgÉ™r bu ölkÉ™dÉ™ deyilsÉ™niz,\"%s\"\n"
+"düyməsinə basaraq başqasını seçin. Ölkəniz siyahıda yer almırsa ölkələrin\n"
+"tam siyahısını görmək üçün \"%s\" düyməsinə basın.\n"
+"\n"
+" * \"%s\": əsasən, DrakX vaxt zolağınızı yaşadığınız ölkəyə görə müəyyən\n"
+"edir. Yalnız seçim düzgün deyilsə, \"%s\" düyməsinə basaraq onu dəyişdirə\n"
+"bilərsiniz.\n"
+"\n"
+" * \"%s\": hazırkı siçan qurğularını yoxlayın və lazımdırsa düyməyə basın.\n"
+"\n"
+" * \"%s\": \"%s\" düyməsinə basaraq çapçı quraşdırma sehirbazını işə sala\n"
+"bilÉ™rsiniz. Ætraflı mÉ™'lumat üçün ''BaÅŸlanğıc BÉ™lÉ™dçisi'' kitabçasının "
+"uyÄŸun\n"
+"bölümünə baxın.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə səs kartı tapılıbsa, burada göstəriləcək.\n"
+"ÆgÉ™r buradakı sÉ™s kartının sisteminizdÉ™ olandan fÉ™rqli olduÄŸu nÉ™zÉ™rinizÉ™\n"
+"çatarsa, düyməyə basaraq başqa sürücü seçə bilərsiniz.\n"
+"\n"
+" * \"%s\": əsasən, DrakX qrafiki ara üzünüzü \"800x600\" ya da \"1024x768\"\n"
+"həlledirliyində quraşdırır. Bu sizə uyğun deyilsə, \"%s\" düyməsinin köməyi "
+"ilÉ™\n"
+"qrafiki ara üzünüzü yenidən quraşdıra bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə televiziya kartı tapılıbsa, burada "
+"göstəriləcək.\n"
+"ÆgÉ™r televiziya kartınız var olub aÅŸkar edilmÉ™yibsÉ™, \"%s\" düymÉ™sinÉ™\n"
+"basaraq onu əllə quraşdırmağı sınayın.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə ISDN kartı aşkar edilibsə, burada "
+"göstəriləcək.\n"
+"Kart ilə əlaqəli parametrləri dəyişdirmək üçün \"%s\" düyməsinə basa "
+"bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər İnternet ya da şəbəkənizi indi quraşdırmaq istəyirsinizsə.\n"
+"\n"
+" * \"%s\": bu, əvvəlki addımda seçilən təhlükəsizlik səviyyəsini dəyişdirmə "
+"imkanı\n"
+"verir.\n"
+"\n"
+" * \"%s\": əgər İnternetə bağlanmağı fikirləşirsinizsə, sisteminizi qorumaq "
+"üçün\n"
+"atəş divarı quraÅŸdırmaq yaxşı fikirdir. Ætraflı mÉ™'lumat üçün ''BaÅŸlanğıc "
+"Bələdçisi''\n"
+"kitabçasının uyğun bölümünə baxın.\n"
+"\n"
+" * \"%s\": əgər açılış yükləyicisi qurğularınızı dəyişdirmək istəyirsinizsə, "
+"bu düyməyə\n"
+"basın. Bu, əsasən mütəxəssis istifadəçilər üçündür.\n"
+"\n"
+" * \"%s\": burada, sistemdə hansı xidmətlərin işləyəcəyini sazlaya "
+"bilərsiniz.\n"
+"ÆgÉ™r sisteminizi verici olaraq iÅŸlÉ™tÉ™cÉ™ksÉ™niz, bu qurÄŸuları gözdÉ™n keçirin."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN kartı"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartı"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Qrafiki Ara Üz"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Yeni Mageia'izi qurmaq üçün silmək istədiyiniz sürücünü seçin.\n"
+"Diqqətli olun, sürücüdəki bütün mə'lumatlar silinəcək\n"
+"və geri gəlməyəcək!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Sürücüdəki bütün mə'lumatları və bölmələri silmək üçün\n"
+"\"%s\" düyməsinə basın. Diqqətli olun,\"%s\" düyməsinə basdıqdan sonra\n"
+"Windows mə'lumatları də daxil olmaq üzərə bütün bölmə mə'lumatı geri\n"
+"dönməyəcək şəkildə silinəcək.\n"
+"\n"
+"Bölmədəki mə'lumatları qorumaq üçün və əməliyyatı ləğv etmək üçün \"%s\" "
+"düyməsinə basın."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sonrakı ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ÆvvÉ™lki"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": \"%s\" düyməsinə basmaq çapçı quraşdırma sehirbazını başladacaq."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Bu, GNU/Linuks sisteminizin təhlükəsizliyi üçün ən əsas mərhələdir.\n"
+#~ "\"Ali istifadəçi (root)\" şifərsini daxil edəcəksiniz. \"Ali istifadəçi\" "
+#~ "sistemin\n"
+#~ "idarəçisidir və yalnız o yeniləmələri, istifadəçiləri əlavə edib/silməyi\n"
+#~ "sistemin bütün qurğularını dəyişdirə bilər. Qısaca, \"ali istifadəçi\" "
+#~ "hər\n"
+#~ "şeyi edə bilər! Buna görə də tapılması çətin olan bir şifrə "
+#~ "seçməlisiniz.\n"
+#~ "DrakX seçdiyiniz şifrənin asan olub olmadığını sizə bildirəcək. "
+#~ "Görüdüyünüz\n"
+#~ "kimi, şifrə müəyyən etməkdə məcbur deyilsiniz, yalnız bunu sizə şiddətlə\n"
+#~ "məsləhət etmirik. GNU/Linuks da diqər əməliyyat sistemləri kimi "
+#~ "istifadəçinin\n"
+#~ "xətasından çox tə'sir ala bilər. \"Ali istifadəçi\" bütün həddləri "
+#~ "keçərək\n"
+#~ "bütün bölmələrdəki bütün mə'lumatları silə bilər. Ona görə də ali "
+#~ "istifadəçi\n"
+#~ "olma imkanını olduqca çətinləşdirməlisiniz.\n"
+#~ "\n"
+#~ "Şifrəniz ədəd və hərflərin qarışığı olmalıdır və 8 hərfdən qısa "
+#~ "olmamalıdır.\n"
+#~ "Şifrəni heçvaxt başqa bir yerə qeyd etməyin.\n"
+#~ "\n"
+#~ "Yalnız şifrəni çox uzun ya da çətin də seçməyin ona görə ki onu "
+#~ "əzbərləmək\n"
+#~ "məcburiyyətindəsiniz!\n"
+#~ "\n"
+#~ "Şifrənizi yazarkən ekranda göstərilməyəcək. Xəta riskini azaltmaq üçün\n"
+#~ "şifrəni iki dəfə daxil edəcəksiniz. Burada diqqətli olun və eyni xətanı\n"
+#~ "iki dəfə etməyin.\n"
+#~ "\n"
+#~ "ÆgÉ™r bu kompüterÉ™ yetiÅŸmÉ™nin sÉ™lahiyyÉ™t vericisi tÉ™rÉ™findÉ™n idarÉ™ "
+#~ "edilməsini\n"
+#~ "istəyirsinizsə, \"%s\" düyməsinə basın.\n"
+#~ "\n"
+#~ "ÆgÉ™r ÅŸÉ™bÉ™kÉ™niz LDAP, NIS, ya da PDC Windows Domain authentication\n"
+#~ "xidmətlərindən birisini işlədirsə, \"%s\" üçün uyğun gələnini seçin. "
+#~ "ÆgÉ™r\n"
+#~ "hansını işlədəcəyinizi bilmirsinizsə, şəbəkə idarəçinizdən soruşun.\n"
+#~ "\n"
+#~ "ÆgÉ™r ÅŸifrÉ™lÉ™ri yadda saxlamaqda çətinlik çəkirsinizsÉ™, internetÉ™ heç\n"
+#~ "vaxt bağlanmayacaqsanızsa ya da kompüterini işlədən hamıya e'tibar\n"
+#~ "edirsinizsə \"%s\" seçimini seçə bilərsiniz."
+
+#~ msgid "authentication"
+#~ msgstr "səlahiyyətləndirmə"
diff --git a/perl-install/install/help/po/be.po b/perl-install/install/help/po/be.po
new file mode 100644
index 000000000..265ccde90
--- /dev/null
+++ b/perl-install/install/help/po/be.po
@@ -0,0 +1,1139 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1999 Mandriva.
+# Alexander Bokovoy <ab@avilink.net>, 2000
+# Maryia Davidouskaia <maryia@scientist.com>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2000-09-24 12:30 +0100\n"
+"Last-Translator: Alexander Bokovoy <ab@avilink.net>\n"
+"Language-Team: be\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ð’Ñ‹ жадаеце выкарыÑтоўваць aboot?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, fuzzy, c-format
+msgid "Upgrade"
+msgstr "Ðркады"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "ÐўтÑнтыфікацыÑ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Ðўтаматычнае вызначÑнне"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Ðўтаматычнае вызначÑнне"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "ВыкарыÑтоўваць Ñ–Ñнуючы раздзел"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Сцёрці Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð½Ð° ÑžÑім дыÑку"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "СтварÑнне дыÑкеты Ð´Ð»Ñ ÑžÑталÑваннÑ"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "СіÑÑ‚Ñмнае адмініÑтраваньне"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Звычайны Ñ€Ñжым"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, fuzzy, c-format
+msgid "Espanol"
+msgstr "ЭÑперанто:"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "/Графік"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Ð£Ð½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ ISDN карта"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Ð£Ð½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ ISDN карта"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "ЗапуÑк X пры Ñтарце ÑÑ–ÑÑ‚Ñмы"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далей ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- прылада"
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "ÐўтÑнтыфікацыÑ"
diff --git a/perl-install/install/help/po/bg.po b/perl-install/install/help/po/bg.po
new file mode 100644
index 000000000..ed19a7912
--- /dev/null
+++ b/perl-install/install/help/po/bg.po
@@ -0,0 +1,1654 @@
+# translation of DrakX-bg.po to Bulgarian
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000.
+# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003.
+# Boyan Ivanov <boyan17@bulgaria.com>, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-bg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-09-15 13:27+0200\n"
+"Last-Translator: Boyan Ivanov <boyan17@bulgaria.com>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Преди да продължите, трÑбва внимателно да прочетете уÑловиÑта на лиценза. "
+"Той\n"
+"покрива цÑлата Mageia диÑтрибуциÑ, и, ако Ñте ÑъглаÑни Ñ Ð²Ñички уÑловиÑ\n"
+"в него, Ñложете отметка на \"%s\".Ðко не Ñте ÑъглаÑни,проÑто Ñпрете "
+"компютъра Ñи."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux е многопотребителÑка ÑиÑтема, коÑто означава, че вÑеки потребител "
+"може\n"
+"да има Ñвои предпочитаниÑ, файлове и Ñ‚.н.. можете да прочетете РъководÑтвото "
+"на\n"
+"ПотребителÑ, за да научите повече.\n"
+"За разлика от Root, който е админиÑтраторът, потребителите, които ще "
+"добавите тук\n"
+"нÑма да могат да променÑÑ‚ нищо оÑвен ÑобÑтвените Ñи файлове и техните "
+"наÑтройки.\n"
+"Ще трÑбва да Ñъздадете поне един обикновен потребител за Ñебе Ñи.\n"
+"С този акаунт ще трÑбва да влизате за рутинна дейноÑÑ‚. Въпреки това "
+"практиката\n"
+"да влизате като root ежедневно, може да бъде много опаÑна ! И най-малката "
+"грешка\n"
+"може да означава, че ÑиÑтемата ви нÑма да работи повече. Ðко направите нÑÐºÐ¾Ñ "
+"Ñериозна\n"
+"грешка като потребител, това може Ñа да доведе до загуба на чаÑÑ‚ от "
+"информациÑта,\n"
+"но не и на цÑлата ÑиÑтема.\n"
+"\n"
+"Първо, трÑбва да Ñи въведете името. Това не е задължително, разбира Ñе, "
+"вÑъщноÑÑ‚\n"
+"можете да въведете каквото и да е. DrakX Ñлед това ще избере първата "
+"въведена\n"
+"в кутийката дума и ще го изкара като потребителÑко име. Това е името, Ñ "
+"което\n"
+"вÑъщноÑÑ‚ определениÑÑ‚ потребител ще влиза в ÑиÑтемата. Можете да го "
+"промените.\n"
+"ТрÑбва да въведете и парола тук. Паролата на непревилегирован (обикновен) "
+"потребител\n"
+"не е толкова фатална като тази на Root от гледна точка на ÑигурноÑтта, но "
+"вÑе\n"
+"пак нÑма причина да Ñ Ð¿Ð¾Ð´Ñ†ÐµÐ½Ñвате, тъй като риÑкувате файловете Ñи.\n"
+"\n"
+"След като цъкнете на \"Приеми потребител\", можете да добавите колкото Ñи "
+"иÑкате.\n"
+"Добавете по един потребител за вÑеки от приÑтелите Ñи: баща Ñи, ÑеÑтра Ñи, "
+"например.\n"
+"Когато Ñте добавили вÑички потребители, които иÑкате, цъкнете Готово.\n"
+"\n"
+"Цъкнете на бутона \"Ðапредничав\", за да промените обвивката по подразбиране "
+"на\n"
+"Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ (bash по подразбиране)."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ИÑкате ли да използвате тази оÑобеноÑÑ‚?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"По-горе Ñа изброени заÑечените Linux дÑлове ÑъщеÑтвуващи\n"
+"на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк. Можете да запазите избора направен от магьоÑника, те Ñа\n"
+"добри за обща употреба. Ðко ги промените, трÑбва да поне да определите\n"
+"root дÑл (\"/\"). Ðе избирайте прекалено малки дÑлове, защото нÑма да "
+"можете\n"
+"да инÑталирате доÑтатъчно Ñофтуер. Ðко иÑкате да ÑъхранÑвате данните Ñи на\n"
+"отделен дÑл, трÑбва да изберете \"/home\" (възможно е Ñамо, ако имате "
+"повече\n"
+"от един Linux дÑл).\n"
+"\n"
+"\n"
+"За информациÑ, вÑеки дÑл е показан, както Ñледва: \"Име\", \"Капацитет\".\n"
+"\n"
+"\n"
+"\"Името\" Ñе кодира както Ñледва: \"тип на диÑка\", \"номер на диÑка\",\n"
+"\"номер на дÑл\" (например, \"hda1\").\n"
+"\n"
+"\n"
+"\"Типът на диÑка\" може да е \"hd\", ако е IDE твърд диÑк, или \"sd\", ако "
+"е\n"
+"SCSI твърд диÑк.\n"
+"\n"
+"\n"
+"\"Ðомерът на диÑка\" винаги е буквата Ñлед \"hd\" или \"sd\". При IDE "
+"диÑкове:\n"
+"\n"
+" * \"a\" означава \"master диÑк на Ð¿ÑŠÑ€Ð²Ð¸Ñ IDE контролер\",\n"
+" * \"b\" означава \"slave диÑк на Ð¿ÑŠÑ€Ð²Ð¸Ñ IDE контролер\",\n"
+" * \"c\" означава \"master диÑк на Ð²Ñ‚Ð¾Ñ€Ð¸Ñ IDE контролер\",\n"
+" * \"d\" означава \"slave диÑк на Ð²Ñ‚Ð¾Ñ€Ð¸Ñ IDE контролер\".\n"
+"\n"
+"\n"
+"При SCSI уÑтройÑтва, \"a\" означава \"първи твърд диÑк\", \"b\" означава "
+"\"втори твърд диÑк\" и Ñ‚.н.."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ИнÑталациÑта на Mageia е разположена на нÑколко CDROM-а. DrakX\n"
+"знае дали избран пакет не Ñе намира на друг CDROM,така че ще извади "
+"текущото\n"
+"CD и ще ви оÑтави да вкарате това, от което има нужда."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сега е моментът да определите кои програми иÑкате да бъдат инÑталирани на\n"
+"ÑиÑтемата ви. Ð’ Mageia диÑтрибуциÑта има хилÑди пакети, но не е\n"
+"задължително да ги знаете наизуÑÑ‚.\n"
+"\n"
+"Ðко извършвате Ñтандартна инÑÑ‚Ð»Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ CDROM, първо ще бъдете попитани кои\n"
+"CD-та имате (в ЕкÑпертен режим). Проверете заглавиÑта на CD-тата и поÑочете\n"
+"кутийките ÑъответÑтващи на CD-тата, Ñ ÐºÐ¾Ð¸Ñ‚Ð¾ разполагате. Цъкнете \"OK\",\n"
+"когато Ñте готови да продължите.\n"
+"\n"
+"Пакетите Ñа подредени в групи ÑъответÑтващи на практичеÑката употреба на\n"
+"машината ви. Групите, Ñами по Ñебе Ñи, Ñа подредени в четири Ñекции:\n"
+"\n"
+" * \"Работна ÑтанциÑ\": ако ÑмÑтате да използвате машината Ñи като работна "
+"ÑтанциÑ,\n"
+"изберете една или повече Ñъответните групи.\n"
+"\n"
+" * \"Разработка\": ако машината ви ще бъде използване за програмиране, "
+"изберете\n"
+"желаната(ите) група(и).\n"
+"\n"
+" * \"Сървър\": накраÑ, ако машината ви ще бъде използвана за Ñървър, ще\n"
+"можете да изберете кои от най-чеÑто използваните уÑлуги иÑкате да имате\n"
+"инÑталирани на машината.\n"
+"\n"
+" * \"Графична Ñреда\": тук можете да изберете предпочитаната графична "
+"Ñреда.\n"
+"Поне една трÑбва да бъде избрана, ако иÑкате да имате графична Ñреда !\n"
+"\n"
+"ПремеÑтвайки курÑора на мишната над името на групата, ще видите кратък\n"
+"обÑÑненителен текÑÑ‚ за неÑ.\n"
+"\n"
+"Можете да цъкнете кутийката \"Индивидуален избор на пакети\", коÑто е "
+"полезна,\n"
+"ако Ñте запознати Ñ Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ‚Ðµ, които ще ви бъдат предложени или ако иÑкате "
+"да\n"
+"имате пълен контрол над това, което да бъде инÑталирано.\n"
+"\n"
+"Ðко Ñте започнали инÑталациÑта в режим на \"ОбновÑване\", можете да "
+"изключите\n"
+"вÑички групи, за да избегнете инÑталирането на нови пакети. Това е полезно\n"
+"при поправка или обновÑване на ÑъщеÑтвуващата ÑиÑтема."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ОбновÑване"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "С базова документациÑ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ÐаиÑтина минимална инÑталациÑ"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"ÐакраÑ, в завиÑимоÑÑ‚ от избора ви дали да избирате пакети един по един, ще\n"
+"ви бъде предÑтавено дърво Ñъдържащо вÑички пакети подредени по групи и\n"
+"подргрупи. Докато обхождате дървото, можете да изберете цели групи, "
+"подгрупи\n"
+"или отделни пакети.\n"
+"\n"
+"Когато поÑочите пакет от дървото, ще Ñе поÑви опиÑание вдÑÑно. Когато\n"
+"изборът е приключен, цъкнете бутона \"ИнÑталирай\", който ще пуÑне процеÑа\n"
+"на инÑталациÑ. Ð’ завиÑимоÑÑ‚ от ÑкороÑтта на хардуера ви и Ð±Ñ€Ð¾Ñ Ð½Ð° пакетите,\n"
+"които иÑкате да бъдат инÑталирани, процеÑÑŠÑ‚ може да отнеме извеÑтно време.\n"
+"Очакваното време за приключване на процеÑа, че бъде показано на екрата, за\n"
+"да ви помогне да прецените дали имате доÑтатъчно време да Ñе наÑладите на\n"
+"чаша кафе.\n"
+"\n"
+"!! Ðко е избран Ñървърен пакет, било то умишлено или защото е чаÑÑ‚ от цÑла\n"
+"група, ще бъдете помолени за потвърждение, че наиÑтина иÑкате този Ñървър\n"
+"да бъде инÑталиран. Ð’ Mageia, вÑички Ñървъри тръгват по подразбиране\n"
+"при зареждане.Даже ако Ñа Ñигурни и нÑмат извеÑтни проблеми, когато\n"
+"диÑтрибуциÑта Ñе разпроÑтранÑва, може да Ñе Ñлучи така, че да Ñе поÑвÑÑ‚\n"
+"дупки в ÑигурноÑтта, Ñлед като верÑиÑта на Mageia е завършена. Ðко\n"
+"не знаете за какво Ñлужи определена уÑлуга или защо е инÑталирана, цъкнете\n"
+"\"Ðе\". С цъкане на \"Да\" ще инÑталирате изброени уÑлуги и те ще бъдат\n"
+"Ñтартирани автоматично по подразбиране. !!\n"
+"\n"
+"ОпциÑта \"Ðвтоматични завиÑимоÑти\" изключва предупредителните диалози,\n"
+"когато инÑталаторът авоматично реши избере пакет. Това Ñе Ñлучва, защото\n"
+"е решил, че Ñе нуждае да задоволи завиÑимоÑÑ‚ Ñ Ð´Ñ€ÑƒÐ³ пакет, за да приключи\n"
+"уÑпешно инÑталациÑта.\n"
+"\n"
+"Малката иконка на диÑкетка в дъното на ÑпиÑъка позволÑва да заредите ÑпиÑък\n"
+"Ñ Ð¿Ð°ÐºÐµÑ‚Ð¸ от предишна инÑталациÑ. Ðко цъкнете на тази иконка, ще бъдете\n"
+"помолени да вкарате диÑкета Ñъздадена преди това в ÐºÑ€Ð°Ñ Ð½Ð° друга "
+"инÑталациÑ.\n"
+"Вижте втората подÑказка по време на поÑледната Ñтъпка, за това как да\n"
+"Ñъздадете такава диÑкета."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Сега можете да изберете кои уÑлуги да Ñе пуÑкат при Ñтартиране.\n"
+"\n"
+"Тук Ñа предÑтавени вÑички уÑлуги, доÑтъпни Ñ Ð½Ð°ÑтоÑщата инÑталациÑ.\n"
+"Прегледайте ги внимателно и изключете тези, които не ви трÑбват винаги при "
+"Ñтартиране.\n"
+"\n"
+"Можете да видите кратък обÑÑнителен текÑÑ‚ за уÑлугата, като поÑтавите курора "
+"на мишката Ñи\n"
+"над името на уÑлугата. Ðко не Ñте Ñигурни, дали уÑлугата е полезна или не, "
+"по-добре\n"
+"е да оÑтавите избора по подразбиране.\n"
+"\n"
+"Внимавайте Ñ Ñ‚Ð°Ð·Ð¸ Ñтъпка, ако ÑмÑтате да използвате машината Ñи като "
+"Ñървър:\n"
+"Ñигурно не бихте иÑкали да пуÑкате уÑлуги, от които не Ñе нуждаете. МолÑ,\n"
+"запомнете, че нÑкои уÑлуги могат да бъдат опаÑни, ако Ñа включени на "
+"Ñървъра.\n"
+"По принцип, избирайте Ñамо уÑлугите, от които наиÑтина Ñе нуждаете.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Ðвтоматична ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° времето"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"ÐакраÑ, ще бъдете попитани дали иÑкате да виждате Ð³Ñ€Ð°Ñ„Ð¸Ñ‡Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ñ€Ð¸\n"
+"зареждане. Отбележете, че този Ð²ÑŠÐ¿Ñ€Ð¾Ñ Ñ‰Ðµ ви бъде зададен даже ако изберете,\n"
+"да не теÑтвате наÑтройката. Очевидно, бихте отговорили Ñ \"Ðе\", ако "
+"машината\n"
+"ще работи като Ñървър или ако нÑма уÑпешно наÑтроен диÑплей."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ð’ този момент трÑбва изберете къде на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ñи диÑка да инÑталирате "
+"вашата\n"
+"Mageia операционна ÑиÑтема. Ðко твърдиÑÑ‚ ви диÑк е празен или друга\n"
+"операционна ÑиÑтема използва цÑлото проÑтранÑтво, ще трÑбва да го "
+"разделите.\n"
+"Казано проÑтичко, разделÑнето на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð´Ð¸Ñк Ñе ÑÑŠÑтои в логичеÑко "
+"разделÑне\n"
+"цел да Ñе Ñъздаде мÑÑто за инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° новата Mageia ÑиÑтема.\n"
+"\n"
+"Тъй като процеÑÑŠÑ‚ на разделÑне обикновено е необратим, разделÑнето може да\n"
+"изглежда плашещ и ÑтрÑÑкащ, ако Ñте неопитен потребител. Слава Богу, има\n"
+"магьоÑник, който опроÑÑ‚Ñва този процеÑ. Преди да започнете, конÑултирайте "
+"Ñе\n"
+"Ñ Ñ€ÑŠÐºÐ¾Ð²Ð¾Ð´Ñтвото и не бързайте.\n"
+"\n"
+"Ðко пуÑкате инÑталациÑта в ЕкÑпертен режим, ще бъдете въведени в DiskDrake,\n"
+"разделÑÑ‰Ð¸Ñ Ð¸Ð½Ñтрумент на Mageia, който ви позволÑва да донаÑтроите\n"
+"дÑловете Ñи. Вижте главата DiskDrake от ръководÑтвото. От инÑталационниÑ\n"
+"Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ да използвате магьоÑниците, като натиÑнете бутона\n"
+"\"МагьоÑник\" на диалога.\n"
+"\n"
+"Ðко дÑловете Ñа вече определени, дали от предишна инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ от друг\n"
+"иÑтрумент за разделÑне, проÑто изберете на кой да инÑталирате Linux\n"
+"ÑиÑтемата.\n"
+"\n"
+"Ðко дÑловете не Ñа определени, ще трÑбва да Ñъздадете такива използвайки\n"
+"магьоÑника. Ð’ завиÑимоÑÑ‚ от наÑтройката на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð´Ð¸Ñк, Ñа възможни "
+"нÑколко\n"
+"опции:\n"
+"\n"
+" * \"%s\" тази Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñто ще доведе до автоматично поделÑне на празното "
+"проÑтранÑтво на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк. ÐÑма да бъдете питани за това.\n"
+"\n"
+" * \"%s\": магьоÑникът е заÑÑкъл един или повече\n"
+"ÑъщеÑтвуващи Linux дÑлове на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк. Ðко иÑкате да ги използвате,\n"
+"изберете тази опциÑ.\n"
+"\n"
+" * \"%s\": ако имате инÑталиран\n"
+"Microsoft Windows на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ñи диÑк и той заема цÑлото доÑтъпно\n"
+"проÑтранÑтво на него, трÑбва да оÑвободите мÑÑто за Linux данни. За да\n"
+"направитетова, можете да изтриете Microsoft Windows дÑла и данните (вижте\n"
+"решениÑта \"Изтрий Ñ†ÐµÐ»Ð¸Ñ Ð´Ð¸Ñк\" или \"Екпертен режим\") или да промените\n"
+"големината на Microsoft Windows дÑла. ПромÑната на големината може да бъде\n"
+"извършена без загуба на данни. Това решение Ñе препоръчва, ако иÑкате\n"
+"едновременно Mageia и Microsoft Windows на един и Ñъщи компютър.\n"
+"\n"
+" Преди да изберете тази опциÑ, молÑ, разберете, че Ñлед тази процедура,\n"
+"големината на Microsoft Windows дÑла ще бъде по-малка, отколкото преди "
+"това.\n"
+"Ще имате по-малко мÑÑто под Microsoft Windows за ÑъхранÑване на данни или "
+"за\n"
+"инÑталира на нов Ñофтуер.\n"
+"\n"
+" * \"%s\": ако иÑкате да изтриете вÑички данни и дÑлове, които\n"
+"ÑъщеÑтвуват на Ð²Ð°ÑˆÐ¸Ñ Ñ‚Ð²ÑŠÑ€Ð´ диÑк и да ги замените Ñ Ð½Ð¾Ð²Ð°Ñ‚Ð° Mageia\n"
+"ÑиÑтема, изберете тази опциÑ. Бъдете внимателни Ñ Ñ‚Ð¾Ð²Ð° решениÑ, защото нÑма\n"
+"да можете да върнете обратно избора Ñи, Ñлед като потвърдите.\n"
+"\n"
+" !! Ðко изберете тази опциÑ, вÑички данни на диÑка ви ще бъдат "
+"загубени !!\n"
+"\n"
+" * \"%s\": Това проÑто ще изтрие вÑичко на диÑка и ще започне на\n"
+"чиÑто, разделÑне от раз. Ð’ÑÑкакви данни на диÑка ви ще бъдат загубени.\n"
+"\n"
+" !! Ðко изберете тази опциÑ, вÑички данни на диÑка ви ще бъдат "
+"загубени !!\n"
+"\n"
+" * \"%s\": изберете тази опциÑ, ако иÑкате ръчно да разделите\n"
+"Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ñи диÑк. Бъдете внимателни - това е мощен, но опаÑен избор. Можете\n"
+"много леÑно да загубите вÑички данни. Така че не избирайте това, ако не\n"
+"знаете какво правите."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Изпозване на ÑъщеÑтвуващ дÑл"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Изтрий Ñ†ÐµÐ»Ð¸Ñ Ð´Ð¸Ñк"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ртака ! ИнÑталациÑта е завършена и GNU/Linux ÑиÑтемата ви е готова за\n"
+"употреба. ПроÑто цъкнете \"OK\", за да реÑтартирате ÑиÑтемата. Можете да\n"
+"Ñтартирате GNU/Linux или Windows, което предпочитате (ако имате две "
+"ÑиÑтеми),\n"
+"веднага Ñлед като компютърът Ñтартира отново.\n"
+"\n"
+"Бутона \"Ðапредничав\" (Ñамо в \"ЕкÑпертен\") показва още два бутона за:\n"
+"\n"
+" * \"генериране на диÑкета за автоматична инÑталациÑ\": за да Ñъздадете\n"
+"инÑталационна диÑкета, коÑто Ñлед това автоматично да изчършва цÑлата\n"
+"инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð±ÐµÐ· помощта на оператор, приличаща на инÑталациÑта, коÑто току-"
+"що\n"
+"Ñте извършили.\n"
+"\n"
+" Отбележете, че две различни опции Ñа доÑтъни, чрез цъкане на бутона:\n"
+"\n"
+" * \"Преиграй\". Това е чаÑтично автоматизирана инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ‚Ð¾ Ñтъпките\n"
+"по разделÑне на дÑлове оÑтават интерактивни.\n"
+"\n"
+" * \"Ðвтоматична\". Ðапълно автоматична инÑталациÑ: твърдиÑÑ‚ диÑк Ñе\n"
+"презапиÑва напълно, вÑÑкакви данни Ñе загубват.\n"
+"\n"
+" Тази оÑобеноÑÑ‚ е много удобна, когато инÑталирате голÑм брой подобно\n"
+"машини. Вижте ÑекциÑта за автоматична инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° Ð½Ð°ÑˆÐ¸Ñ web-Ñайт.\n"
+"\n"
+" * \"Запази избора на пакети\"(*): запазва избора на пакети, така както "
+"е\n"
+"направен преди. Когато правите друга инÑталациÑ, вкарайте диÑкетата в\n"
+"уÑтройÑтвото и пуÑнете инÑталациÑта да върви чрез Ð¿Ð¾Ð¼Ð¾Ñ‰Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½, като\n"
+"натиÑнете клавиша [F1] и като напишете >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) ТрÑбва ви FAT-форматирана диÑкета (за да Ñъздадете таква под GNU/Linux,\n"
+"напишете \"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "ÐŸÐ¾Ð´Ð³Ð¾Ñ‚Ð²Ñ Ð´Ð¸Ñкета за автоматична инÑталациÑ"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ð’Ñички новодефинирани дÑлове трÑбва да бъдат форматирани, за да Ñе "
+"използват\n"
+"(форматиране означава Ñъздаване на файлова ÑиÑтема).\n"
+"\n"
+"Ð’ този момента може би иÑкате да преформатирате нÑкои ÑъщеÑтвуващи дÑлове, "
+"за\n"
+"да изтриете вÑÑкакви данни, които Ñъдържат. Ðко иÑкате да го направите, "
+"молÑ\n"
+"изберете Ñ‚ÑÑ….\n"
+"\n"
+"МолÑ, отбележете, че не е необходимо да преформатирате вÑички дÑлове\n"
+"ÑъщеÑтвуващи отпреди. ТрÑбва да преформатирате дÑловете Ñъдържащи\n"
+"операционната ÑиÑтема (като \"/\", \"/usr\" или \"/var\"), но това не е\n"
+"задължително за дÑлове Ñъдържащи данни, които иÑкате да запазите "
+"(обикновено\n"
+"\"/home\").\n"
+"\n"
+"МолÑ, бъдете внимателни, когато избирате дÑловете. След форматиране вÑички\n"
+"данни на поÑочените дÑлове ще бъдат изтрити и нÑма да можете да ги\n"
+"възÑтановите.\n"
+"\n"
+"Цъкнете \"OK\", когато Ñте готови да форматирате далове.\n"
+"\n"
+"Цъкнете \"Отказ\", ако иÑкате да изберете други дÑлове за инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° "
+"новата\n"
+"Ñи Mageia операционна ÑиÑтема.\n"
+"\n"
+"Цъкнете \"Ðапредничав\", ако иÑкате да изберете дÑлове, които да бъдат\n"
+"проверени за лоши блокове от диÑка."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ð’ този момент, трÑбва да изберете нивото на ÑигурноÑÑ‚, което иÑкате за\n"
+"машината. По правило, колкото повече машината ви е доÑтъпна и колкото "
+"повече\n"
+"данни Ñе ÑъхранÑват на неÑ, толкова по-виÑоко трÑбва да е нивото на "
+"ÑигурноÑÑ‚.\n"
+"Въпреки това, виÑоката ÑигурноÑÑ‚ е за Ñметка на лекотата на работа.\n"
+"Обърнете Ñе към главата MSEC на Reference Manual, за да получите повече "
+"информациÑ\n"
+"за значението на тези нива.\n"
+"\n"
+"Ðко не знаете както да изберете, изберете опциÑта по подразбиране."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "ÐдминиÑтратор по защита:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Ð’ този момент трÑбва да изберете кой дÑлове да бъдат използвани за "
+"инÑталациÑ\n"
+"на вашата Mageia ÑиÑтема. Ðко дÑловете вече Ñа определени, дали от\n"
+"предишна инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° GNU/Linux или от друг инÑтрумент за разделÑне, "
+"можете\n"
+"да използвате ÑъщеÑтвуващите далове. Ð’ противен Ñлучай трÑбва да определите\n"
+"дÑлове от Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð´Ð¸Ñк.\n"
+"\n"
+"За да Ñъздадете дÑлове, трÑбва първо да изберете твърд диÑк. Можете да\n"
+"изберете диÑк за разделÑне, като цъкнете на \"hda\" за първо IDE "
+"уÑтройÑтво,\n"
+"\"hdb\" за второто, \"sda\" за първо SCSI уÑтройÑтво и Ñ‚.н..\n"
+"\n"
+"За да разделите Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ñ‚Ð²ÑŠÑ€ диÑк, можете да използвате ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¸:\n"
+"\n"
+" * \"ИзчиÑти вÑичко\": тази Ð¾Ð¿Ñ†Ð¸Ñ Ð¸Ð·Ñ‚Ñ€Ð¸Ð²Ð° вÑички дÑлове на Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ð´Ð¸Ñк.\n"
+"\n"
+" * \"Ðвтоматично Ñъздаване\": тази Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñва автоматично да Ñъзадете\n"
+"Ext2 и swap дÑлове в Ñвободното проÑтранÑтво на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк.\n"
+"\n"
+" * \"СпаÑи таблицата Ñ Ð´Ñлове\": ако таблицата Ñ Ð´Ñлове е повредена, можете\n"
+"да Ñе опитате да Ñ Ð²ÑŠÐ·Ñтановите Ñ Ñ‚Ð°Ð·Ð¸ опциÑ. МолÑ, бъдете внимателни и\n"
+"помнете, че може да не Ñтане.\n"
+"\n"
+" * \"Върни\": използвайте тази опциÑ, за да отмените промените.\n"
+"\n"
+" * \"Презареди\": можете да използвате тази опциÑ, ако иÑкате да върнете\n"
+"вÑички промени и да заредите първоначалната таблица Ñ Ð´Ñлове.\n"
+"\n"
+" * \"МагьоÑник\": използвайте тази опциÑ, ако иÑкате да използвате "
+"магьоÑник,\n"
+"да раздели Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк. Това Ñе препоръчва, ако нÑмате доÑтатъчно "
+"познаниÑ\n"
+"за разделÑнето.\n"
+"\n"
+" * \"ВъзÑтанови от диÑкета\": тази Ð¾Ð¿Ñ†Ð¸Ñ Ñ‰Ðµ ви позволи да възÑтановите "
+"запазена\n"
+"преди това на диÑкета таблица Ñ Ð´Ñлове.\n"
+"\n"
+" * \"Запази на диÑкета\": запазва таблицата Ñ Ð´Ñлове на диÑкета. Полезно е "
+"при\n"
+"евентуално възÑтановÑване на таблицата при необходимоÑÑ‚. Силно Ñе "
+"препоръчва\n"
+"да направите това.\n"
+"\n"
+" * \"Готово\": когато Ñте Ñвършили Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñнето на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ñи диÑк, това "
+"ще\n"
+"запише промените върху диÑка.\n"
+"\n"
+"Забележета: можете да доÑтигнете вÑÑка Ð¾Ð¿Ñ†Ð¸Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹ÐºÐ¸ клавиатурата.\n"
+"Минавайте през дÑловете използвайки [Tab} и Ñтрелките нагоре/надолу.\n"
+"\n"
+"Когато е избран дÑл, можете да използвате:\n"
+"\n"
+" * Ctrl-c, за да Ñъздадете нов дÑл (ако е избран празен дÑл);\n"
+"\n"
+" * Ctrl-d, за да изтриете дÑл;\n"
+"\n"
+" * Ctrl-m, за да уÑтановите точка на монтиране.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ðвтоматично монтиране на ÑменÑем ноÑител"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Премини в нормален/екÑпертен режим"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Беше заÑечен повече от един Microsoft Windows дÑл\n"
+"на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑка. Изберете този, чиÑто дължина иÑкате да промените, за "
+"да\n"
+"инÑталирате Mageia операционна ÑиÑтема.\n"
+"\n"
+"\n"
+"За информациÑ, вÑеки дÑл е изброен както Ñледва: \"Linux име\", \"Windows име"
+"\", \"Капацитет\".\n"
+"\n"
+"\"Linux името\" Ñе кодира както Ñледва: \"тип на диÑка\", \"номер на диÑка"
+"\",\n"
+"\"номер на дÑл\" (например, \"hda1\").\n"
+"\n"
+"\n"
+"\"Типът на диÑка\" може да е \"hd\", ако е IDE твърд диÑк, или \"sd\", ако "
+"е\n"
+"SCSI твърд диÑк.\n"
+"\n"
+"\n"
+"\"Ðомерът на диÑка\" винаги е буквата Ñлед \"hd\" или \"sd\". При IDE "
+"диÑкове:\n"
+"\n"
+" * \"a\" означава \"master диÑк на Ð¿ÑŠÑ€Ð²Ð¸Ñ IDE контролер\",\n"
+" * \"b\" означава \"slave диÑк на Ð¿ÑŠÑ€Ð²Ð¸Ñ IDE контролер\",\n"
+" * \"c\" означава \"master диÑк на Ð²Ñ‚Ð¾Ñ€Ð¸Ñ IDE контролер\",\n"
+" * \"d\" означава \"slave диÑк на Ð²Ñ‚Ð¾Ñ€Ð¸Ñ IDE контролер\".\n"
+"\n"
+"\n"
+"При SCSI уÑтройÑтва, \"a\" означава \"първи твърд диÑк\", \"b\" означава "
+"\"втори твърд диÑк\" и Ñ‚.н..\n"
+"\n"
+"\"Windows името\" е буквата на Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð²Ð¸ диÑк под Windows (първиÑÑ‚ диÑк "
+"или\n"
+"дÑл Ñе нарича \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Обикновено, DrakX би трÑбвало да избере правилната за Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð° (в "
+"завиÑимоÑÑ‚\n"
+"от езика, който Ñте избрали) и нÑма да Ñе наложи да видите тази Ñтъпка. "
+"Обаче може да\n"
+"нÑмате клавиатура ÑъответÑтваща точно на Ð²Ð°ÑˆÐ¸Ñ ÐµÐ·Ð¸Ðº: например, ако Ñте "
+"англоговорÑщ швед,\n"
+"може би ще иÑкате клавиатурата ви да бъде шведÑка. Или ако говорите "
+"английÑки, но Ñте\n"
+"в Квебек, може би ще Ñте в Ñъщата ÑитуациÑ. И в двата ÑлучаÑ, ще трÑбва да "
+"Ñе върнете\n"
+"към тази инÑталационна Ñтъпка и да изберете правилната клавиатура от "
+"ÑпиÑъка.\n"
+"\n"
+"Ð’Ñичко, което трÑбва да направите, е да поÑочите предпочитаната клавиатурна "
+"наредба\n"
+"от ÑпиÑъка, който ще Ñе поÑви пред ваÑ.\n"
+"\n"
+"Ðко имате клавиатура от език различен от този използван по подразбиране, "
+"цъкнете\n"
+"на бутона \"Ðапредничав\". Ще ви бъде предоÑтавен пълен ÑпиÑък Ñ "
+"поддържаните клавиатури."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"МолÑ, цъкнете на Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð¸Ñ ÐµÐ·Ð¸Ðº на инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð¸ ÑиÑтемна употреба.\n"
+"\n"
+"Цъкането на бутона \"Ðапредничав\" ще ви позволи да изберете други езици\n"
+"да бъдат инÑталирани на работната ви ÑтанциÑ. Избирането на други езици\n"
+"ще инÑталира файлове Ñпецивични за езиците за ÑиÑтемна Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¸\n"
+"приложениÑ. Ðапример, ако имате потребители от Ð˜Ð·Ð¿Ð°Ð½Ð¸Ñ Ð½Ð° машината Ñи,\n"
+"изберете английÑки като главен език в дървовидната форма и в ÑекциÑ\n"
+"\"Ðапредничав\" цъкнете на Ñивата звезда ÑъответÑтваща на\n"
+"\"ИÑпанÑки|ИÑпаниÑ\".\n"
+"Отбележете, че могат да бъдат инÑталирани нÑколко езика. Веднъж избран\n"
+"нÑкакъв локал, цъкнете бутона \"OK\", за да продължите."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"По подразбиране, DrakX предполага че имате двубутонна мишка и ще включи\n"
+"Ñимулиране на три бутона. DrakX автоматично разбира дали е PS/2, Ñерийна "
+"или\n"
+"USB мишка.\n"
+"\n"
+"Ðко иÑкате да определите друг тип на мишката, изберете подходÑщ от ÑпиÑъка,\n"
+"който ще ви бъде предÑтавен.\n"
+"\n"
+"Ðко изберете мишка различна от тази по подразбиране, ще ви бъде предоÑтавен\n"
+"екран за проба. Използвайте бутоните и колелцето, за да проверите, че\n"
+"наÑтройката е дора. Ðко мишката не работи, както трÑбва, натиÑнете интервал\n"
+"или СЕ ВЪРÐЕТЕ към \"Отказ\" и изберете пак."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 бутона Ñ ÐµÐ¼ÑƒÐ»Ð°Ñ†Ð¸Ñ Ð½Ð° колелце"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"МолÑ, изберете Ð²ÐµÑ€Ð½Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚. Ðапример, портът COM1 под Windows под GNU/Linux\n"
+"Ñе нарича ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Дойде времето да изберете ÑиÑтема за печат за Ð²Ð°ÑˆÐ¸Ñ ÐºÐ¾Ð¼Ð¿ÑŽÑ‚ÑŠÑ€.Другите\n"
+"операционни ÑиÑтеми може да ви предлагат една,но ние ви предлагаме две.\n"
+"Ð’ÑÑка от Ñ‚ÑÑ… е пригодена за даден тип конфигурациÑ.\n"
+"\n"
+" * \"%s\"-- е акроним на \"print,do not queue\"(\"пачатай,не чакай\"),е "
+"идеалниÑÑ‚\n"
+"избор,ако имате директна връзка Ñ Ð¿Ñ€Ð¸Ð½Ñ‚ÐµÑ€Ð°,иÑкате да го контролирате,или\n"
+"нÑмате мрежови принтери.(\"%s\" може да работи Ñамо в много проÑти\n"
+"Ñитуации и е нÑкак бавен,когато Ñе ползва в мрежа.) Препоръчително е да \n"
+"изполвате \"pdq\" ако нÑмате опит Ñ GNU/Linux. \n"
+" * \"%s\" - `` Common Unix Printing System``(обичайна ÑиÑтема за печат за "
+"Unix)\n"
+"е отличен избор,за печат както на ÑобÑÑ‚Ð²ÐµÐ½Ð¸Ñ Ð²Ð¸ принтер,така и на друг,на\n"
+"половин ÑвÑÑ‚ разÑтоÑние.Ð¢Ñ Ðµ леÑна за конфигуриране и може работи като\n"
+"клиент или Ñървър на архаичната\"lpd \",което Ñ Ð¿Ñ€Ð°Ð²Ð¸ напълно ÑъвмеÑтима\n"
+"Ñ Ð¿Ð¾-Ñтари операционни ÑиÑтеми,които може вÑе още да Ñе нуждаÑÑ‚ от тази\n"
+"уÑлуга.Въпреки че е доÑта мощна,оÑновната инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ðµ почти толкова \n"
+"леÑна,колкото и тази на \"pdq\".Ðко иÑкате да емулирате \"lpd\" Ñървър,\n"
+"уверете Ñе,че \"cups-lpd\" демона е пуÑнат.\"%s\" включва графични \n"
+"интерфейÑи за пречат и избор на опции за принтера,както и за\n"
+"конфигурирането му.\n"
+"\n"
+"Ðко Ñега направите избор,а по-къÑно разберете,че не хареÑвате ÑиÑтемата\n"
+"Ñи за печат,можете да Ñ Ñмените като пуÑнете PrinterDrake от Мандрива "
+"Ð»Ð¸Ð½ÑƒÐºÑ \n"
+"ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð¸Ñ Ñ†ÐµÐ½Ñ‚ÑŠÑ€ и цъкнете на \"екÑперт\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Трудно"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\"ако Ð½Ð°Ð¼ÐµÑ€Ñ Ð·Ð²ÑƒÐºÐ¾Ð²Ð° карта,ще видите Ñъобщение за това.\n"
+"Ðко забележите,че намерената звукова карта не Ð¾Ñ‚Ð³Ð¾Ð²Ð°Ñ€Ñ Ð½Ð° иÑтината,\n"
+"можете да цъкнете на бутона и да изберете друг драйвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN карта"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN карта"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графичен интерфейÑ"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изберете Ñ‚Ð²ÑŠÑ€Ð´Ð¸Ñ Ð´Ð¸Ñк, който иÑкате да изтриете, за да\n"
+"инÑталирам Ð½Ð¾Ð²Ð¸Ñ Ð²Ð¸ Mageia дÑл. Внимание, вÑички данни на него ще бъдат "
+"загубени\n"
+"и нÑма да могат да Ñе възÑтановÑÑ‚."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Цъкнете на \"%s\", ако иÑкате да изтриете вÑички данни и\n"
+"дÑлове ÑъщеÑтвуващи на този твърд диÑк. Внимание, Ñлед цъкане на \"%s\", "
+"нÑма да можете да възÑтановите каквито и да било данни и дÑлове ÑъщеÑтвуващи "
+"на този твърд диÑк,\n"
+"включително каквито и да е Windows данни.\n"
+"\n"
+"Цъкнете \"%s\", за да отмените тази Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð±ÐµÐ· загуба да данните и\n"
+"дÑловете ÑъщеÑтвуващи на този твърд диÑк."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следващ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Предишен"
+
+#~ msgid "authentication"
+#~ msgstr "идентификациÑ"
diff --git a/perl-install/install/help/po/bn.po b/perl-install/install/help/po/bn.po
new file mode 100644
index 000000000..3aa3fd073
--- /dev/null
+++ b/perl-install/install/help/po/bn.po
@@ -0,0 +1,1575 @@
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Omi Azad <omi@altruists.org>, 2004.
+# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004.
+# Progga <progga@BengaLinux.Org>, 2004.
+# Jamil Ahmed <jamil@BengaLinux.Org>, 2004, 2005.
+# Samia <mailsamia2001@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-03-19 23:18+0600\n"
+"Last-Translator: Samia <mailsamia2001@yahoo.com>\n"
+"Language-Team: Bangla <mdk-translation@bengalinux.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"চালিয়ে যাওয়ার আগে, লাইসেনà§à¦¸à§‡à¦° শরà§à¦¤à¦—à§à¦²à§‹ আপনার সাবধানতার পড়া উচিত। à¦à¦Ÿà¦¾ সমà§à¦ªà§‚রà§à¦£\n"
+"মà§à¦¯à¦¾à¦¨à§à¦¡à§à¦°à¦¿à¦¬ লিনাকà§à¦¸ ডিসà§à¦Ÿà§à¦°à¦¿à¦¬à¦¿à¦‰à¦¶à¦¨ পূরà§à¦£ করে। যদি আপনি à¦à¦–ানকার সব শরà§à¦¤à§‡à¦° সাথে à¦à¦•মত \n"
+"থাকেন, \"%s\" বাকà§à¦¸à¦Ÿà¦¿ চেকà§â€Œ করà§à¦¨à¥¤ যদি না হয়, তাহলে \"%s\" বাটনে কà§à¦²à¦¿à¦• \n"
+"করলে আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° রিবà§à¦Ÿ হবে।"
+
+# সাম:
+# \"shell\" = ?
+# bash
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux à¦à¦•টি বহà§â€Œ-বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী সিসà§à¦Ÿà§‡à¦® যেখানে পà§à¦°à¦¤à¦¿à¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী নিজসà§à¦¬ পছনà§à¦¦ ও\n"
+"ফাইলসমূহ আলাদাভাবে রকà§à¦·à¦£à¦¾à¦¬à§‡à¦•à§à¦·à¦£ করতে পারে। কিনà§à¦¤ à¦à¦¸à¦¬ সংযোজিত বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীরা,\n"
+"\"root\"‌ (যে কিনা সিসà§à¦Ÿà§‡à¦® অà§à¦¯à¦¾à¦¡à¦®à¦¿à¦¨à¦¿à¦¸à§à¦Ÿà§à¦°à§‡à¦Ÿà¦°) à¦à¦° মত, তাদের নিজসà§à¦¬ ফাইল ও "
+"কনফিগারেশন\n"
+"ছাড়া অনà§à¦¯ কিছৠবদলাতে অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়। à¦à¦Ÿà¦¿ সিসà§à¦Ÿà§‡à¦®à¦•ে অনিচà§à¦›à¦¾à¦•ৃত বা অসà§à¦¬à¦¾à¦­à¦¾à¦¬à¦¿à¦• পরিবরà§à¦¤à¦¨ "
+"থেকে রকà§à¦·à¦¾ করে,\n"
+"যা কিনা সমà§à¦ªà§‚রà§à¦£ সিসà§à¦Ÿà§‡à¦®à§‡à¦° কà§à¦·à¦¤à¦¿ করতে পারে। আপনাকে নিজের জনà§à¦¯ অনà§à¦¤à¦¤ à¦à¦•টি সাধারণ "
+"বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী\n"
+" তৈরী করতে হবে -- যে অà§à¦¯à¦¾à¦•াউনà§à¦Ÿà¦Ÿà¦¿ আপনি নিয়মিত কাজের জনà§à¦¯ বà§à¦¯à¦¬à¦¹à¦¾à¦° করবেন। যদিও "
+"\"root\"\n"
+" হিসেবে লগ ইন করে সব কাজই করা সমà§à¦­à¦¬, à¦à¦Ÿà¦¿ বিপদজনকও বটে! à¦à¦•টি ছোটখাটো ভà§à¦²à§‡à¦° "
+"কারণে\n"
+" আপনার সমà§à¦ªà§‚রà§à¦£ সিসà§à¦Ÿà§‡à¦® অচল হয়ে যেতে পারে। à¦à¦•জন সাধারণ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী খà§à¦¬ বড় ভà§à¦² "
+"করলেও হয়ত\n"
+" কিছৠতথà§à¦¯ হারাতে পারে তবে সমà§à¦ªà§‚রà§à¦£ সিসà§à¦Ÿà§‡à¦®à§‡à¦° কà§à¦·à¦¤à¦¿ করতে পারে না।\n"
+"\n"
+"পà§à¦°à¦¥à¦® কà§à¦·à§‡à¦¤à§à¦°à¦Ÿà¦¿à¦¤à§‡ à¦à¦•টি আসল নাম দিন। তবে à¦à¦Ÿà¦¿ অতà§à¦¯à¦¾à¦¬à¦¶à§à¦¯à¦•ীয় নয় -- আপনি অনà§à¦¯ কিছà§à¦“ "
+"লিখতে\n"
+"পারেন। DrakX, à¦à¦° পà§à¦°à¦¥à¦® শবà§à¦¦à¦Ÿà¦¿ নিয়ে \"%s\" ঠকপি করবে, যা দিয়ে কিনা à¦à¦‡ "
+"বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী\n"
+"সিসà§à¦Ÿà§‡à¦®à§‡ লগ ইন করবে। পà§à¦°à§Ÿà§‹à¦œà¦¨ হলে আপনি ডিফলà§à¦Ÿ নামটি বদল করতে পারেন। à¦à¦°à¦ªà¦° আপনাকে\n"
+"à¦à¦•টি পাসওয়ারà§à¦¡ দিতে হবে। নিরাপতà§à¦¤à¦¾à¦° দৃষà§à¦Ÿà¦¿à¦•োণ থেকে সাধারণ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর পাসওয়ারà§à¦¡, "
+"\"root\" à¦à¦°\n"
+"পাসওয়ারà§à¦¡à§‡à¦° মত জরà§à¦°à§€ নয় তবে à¦à¦Ÿà¦¿à¦•ে খালি রাখা বা সহজ পাসওয়ারà§à¦¡ দেয়া উচিত নয়, কারণ "
+"à¦à¦¤à§‡\n"
+"আপনার ফাইলসমূহ অরকà§à¦·à¦¿à¦¤ থেকে যায়।\n"
+"\n"
+"\"%s\" তে কà§à¦²à¦¿à¦• করার পর আপনি আরও বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী তৈরী করতে পারেন। আপনার পরিবারের\n"
+"সদসà§à¦¯ ও বনà§à¦§à§à¦¦à§‡à¦° জনà§à¦¯ আলাদা আলাদা à¦à¦•াউনà§à¦Ÿ তৈরী করà§à¦¨à¥¤ শেষ হলে \"%s\" কà§à¦²à¦¿à¦• করà§à¦¨à¥¤\n"
+"\n"
+"\"%s\" বাটনে কà§à¦²à¦¿à¦• করে আপনি à¦à¦•জন বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ডিফলà§à¦Ÿ \"শেল\" বদল করতে পারেন\n"
+"(ডিফলà§à¦Ÿ মান bash)।\n"
+"\n"
+"সব বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী তৈরীর পর আপনাকে à¦à¦•টি বেছে নিতে হবে যা কিনা কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° বà§à¦Ÿ করার "
+"পর\n"
+"সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ লগইন হবে। আপনি যদি à¦à¦‡ ফিচারে আগà§à¦°à¦¹à§€ হন(à¦à¦¬à¦‚ সà§à¦¥à¦¾à¦¨à§€à§Ÿ নিরাপতà§à¦¤à¦¾ নিয়ে "
+"বিচলিত\n"
+"না হন), তবে পছনà§à¦¦à¦¨à§à¦¯à¦¾à§Ÿà§€ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী ও উইনà§à¦¡à§‹ মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦° নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨ à¦à¦¬à¦‚ \"%s\" "
+"টিতে কà§à¦²à¦¿à¦•\n"
+"করà§à¦¨à¥¤ অনà§à¦¯à¦¥à¦¾à§Ÿ \"%s\" চেকবকà§à¦¸à¦Ÿà¦¿ আনচেক করà§à¦¨à¥¤"
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "à¦à¦‡ সà§à¦¬à¦¿à¦§à¦¾à¦Ÿà¦¿ কি আপনি বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান?"
+
+# সাম:
+# secondary = সহকারী?
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"আপনার হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡ বরà§à¦¤à¦®à¦¾à¦¨à§‡ নিমà§à¦¨à¦²à¦¿à¦–িত লিনাকà§à¦¸ পারà§à¦Ÿà¦¿à¦¶à¦¨à¦—à§à¦²à§‹ বিদà§à¦¯à¦®à¦¾à¦¨à¥¤\n"
+"আপনি উইজারà§à¦¡ করà§à¦¤à§ƒà¦• বাছাইকৃত সেটিংসমূহ রাখতে পারেন কারণ বেশীরভাগ\n"
+"সাধারণ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° কà§à¦·à§‡à¦¤à§à¦°à§‡ à¦à¦Ÿà¦¿à¦‡ যথেষà§à¦Ÿà¥¤ যদি পরিবরà§à¦¤à¦¨ করতে চান, আপনাকে অনà§à¦¤à¦¤ à¦à¦•টি\n"
+"রà§à¦Ÿ পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে হবে (\"/\")। পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° সাইজ খà§à¦¬ ছোট না হওয়া জরà§à¦°à§€, কারন\n"
+"অনà§à¦¯à¦¥à¦¾ আপনি যথেষà§à¦Ÿ সফà§à¦Ÿà¦“à§Ÿà§à¦¯à¦¾à¦° ইনসà§à¦Ÿà¦² করতে পারবেন না। আপনার তথà§à¦¯à¦¸à¦®à§‚হ আলাদা\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡ রাখতে চাইলে, আপনাকে আরও à¦à¦•টি \"/home\" পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে হবে\n"
+"(যা কিনা à¦à¦•াধিক লিনাকà§à¦¸ পারà§à¦Ÿà¦¿à¦¶à¦¨ থাকলেই সমà§à¦­à¦¬)।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à¦—à§à¦²à§‹ তালিকায় à¦à¦­à¦¾à¦¬à§‡ দেখানো হয়েছে: \"নাম\", \"ধারণকà§à¦·à¦®à¦¤à¦¾\".\n"
+"\n"
+"\"নাম\" à¦à¦° কাঠামো হচà§à¦›à§‡: \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° ধরন\", \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ নামà§à¦¬à¦¾à¦°\",\n"
+"\"পারà§à¦Ÿà¦¿à¦¶à¦¨ নামà§à¦¬à¦¾à¦°\" (যেমন, \"hda1\").\n"
+"\n"
+"যদি আপনার হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à¦Ÿà¦¿ IDE হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ হলে \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° ধরন\" হবে \"hd\", "
+"আর\n"
+" SCSI হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ হলে হবে \"sd\"।\n"
+"\n"
+"\"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ নামà§à¦¬à¦¾à¦°\", হচà§à¦›à§‡ \"hd\" বা \"sd\" à¦à¦° পরের à¦à¦•টি অকà§à¦·à¦°à¥¤ IDE হারà§à¦¡ "
+"ডà§à¦°à¦¾à¦‡à¦­à§‡à¦°\n"
+"জনà§à¦¯:\n"
+"\n"
+" * \"a\" অরà§à¦¥ \"পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ মাসà§à¦Ÿà¦¾à¦° হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"b\" অরà§à¦¥ \"পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ সà§à¦²à§‡à¦­ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"c\" অরà§à¦¥ \"সহকারী IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ মাসà§à¦Ÿà¦¾à¦° হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"d\" অরà§à¦¥ \"সহকারী IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ সà§à¦²à§‡à¦­ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\".\n"
+"\n"
+"SCSI হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° জনà§à¦¯, \"a\" অরà§à¦¥ \"সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ SCSI ID\", \"b\" অরà§à¦¥\n"
+"\"দà§à¦¬à¦¿à¦¤à§€à§Ÿ সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ SCSI ID\", ইতà§à¦¯à¦¾à¦¦à¦¿à¥¤"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"মà§à¦¯à¦¾à¦¨à§à¦¡à§à¦°à¦¿à¦¬ লিনাকà§à¦¸ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ কয়েকটি সিডি'তে ভাগ করা থাকে। যদি à¦à¦•টি চিহà§à¦¨à¦¿à¦¤ "
+"পà§à¦¯à¦¾à¦•েজ\n"
+"অনà§à¦¯ সিডি'তে থেকে থাকে, তাহলে DrakX বরà§à¦¤à¦®à¦¾à¦¨ সিডি'টি বের করে দেয় à¦à¦¬à¦‚ "
+"পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿà¦Ÿà¦¿\n"
+"পà§à¦°à¦¬à§‡à¦¶ করাতে জিজà§à¦žà§‡à¦¸ করে। যদি à¦à¦°à¦•ম অনà§à¦°à§‹à¦§ না আসে, তাহলে \"%s\" তে কà§à¦²à¦¿à¦• করà§à¦¨,\n"
+"যথাযথ পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ ইনসà§à¦Ÿà¦² হবে না।"
+
+# সাম:
+# documentation = ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"à¦à¦–ন আপনাকে নিরà§à¦¬à¦¾à¦šà¦¨ করতে হবে আপনি কোন কোন পà§à¦°à§‹à¦—à§à¦°à¦¾à¦® সিসà§à¦Ÿà§‡à¦®à§‡ ইনসà§à¦Ÿà¦² করতে চান।\n"
+"Mageia à¦à¦° জনà§à¦¯ কয়েক হাজার পà§à¦¯à¦¾à¦•েজ রয়েছে, à¦à¦¬à¦‚ বà§à¦¯à¦¾à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦¨à¦¾à¦° সà§à¦¬à¦¿à¦§à¦¾à¦°à§à¦¥à§‡ সেগà§à¦²à§‹à¦•ে\n"
+"অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশনের ধরন অনà§à¦¯à¦¾à§Ÿà§€ ভাগ করা হয়েছে।\n"
+"\n"
+"Mageia সব পà§à¦¯à¦¾à¦•েজগà§à¦°à§à¦ªà¦¸à¦®à§‚হ চারটি শà§à¦°à§‡à¦£à§€à¦¤à§‡ ভাগ করে। আপনি বিভিনà§à¦¨ শà§à¦°à§‡à¦£à§€à¦°\n"
+"অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশনমিলিয়ে ও মিশিয়ে ইনসà§à¦Ÿà¦² করতে পারেন, যেমন à¦à¦•টি ``Workstation''\n"
+"ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡ আপনি ''Server'' শà§à¦°à§‡à¦£à§€ থেকে অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েশন ইনসà§à¦Ÿà¦²\n"
+"করতে পারেন।\n"
+"\n"
+" * \"%s\": আপনি যদি আপনার মেশিনটি ওয়ারà§à¦•সà§à¦Ÿà§‡à¦¶à¦¨ হিসেবে বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান, "
+"Workstation''\n"
+"শà§à¦°à§‡à¦£à§€ থেকে à¦à¦• বা à¦à¦•াধিক গà§à¦°à§à¦ª নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤\n"
+"\n"
+" * \"%s\": আপনি যদি আপনার মেশিনটি পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦¿à¦‚à¦à¦° জনà§à¦¯ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান, সে "
+"অনà§à¦¯à¦¾à§Ÿà§€\n"
+"গà§à¦°à§à¦ª নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤ \"LSB\" নামের বিশেষ গà§à¦°à§à¦ªà¦Ÿà¦¿ আপনার সিসà§à¦Ÿà§‡à¦®à¦•ে à¦à¦®à¦¨à¦­à¦¾à¦¬à§‡\n"
+"কনফিগার করবে যাতে তা Linux Standard Base সà§à¦ªà§‡à¦¸à¦¿à¦«à¦¿à¦•েশনের সাথে যতদূর\n"
+"সমà§à¦­à¦¬ সামঞà§à¦œà¦¸à§à¦¯ বজায় রাখে।\n"
+"\n"
+"\"LSB\" গà§à¦°à§à¦ªà¦Ÿà¦¿ নিরà§à¦¬à¦¾à¦šà¦¨ করলে, ডিফলà§à¦Ÿ \"2.6\" কারà§à¦¨à§‡à¦² সিরিজের বদলে\n"
+"\"2.4\" সিরিজটি ইনসà§à¦Ÿà¦² হবে। à¦à¦Ÿà¦¿ করা হয় সিসà§à¦Ÿà§‡à¦®à¦•ে 100%%-LSB সামঞà§à¦œà¦¸à§à¦¯à¦ªà§‚রà§à¦£\n"
+"করার জনà§à¦¯à¥¤ তবে, আপনি \"LSB\" গà§à¦°à§à¦ªà¦Ÿà¦¿ নিরà§à¦¬à¦¾à¦šà¦¨ না করলেও আপনার সিসà§à¦Ÿà§‡à¦® পà§à¦°à¦¾à§Ÿ\n"
+"100%%-LSB সামঞà§à¦œà¦¸à§à¦¯à¦ªà§‚রà§à¦£ হবে।\n"
+"\n"
+"* \"%s\": আপনার মেশিনটি যদি সারà§à¦­à¦¾à¦° হিসেবে বà§à¦¯à¦¬à¦¹à§ƒà¦¤ হয়, আপনার মেশিনে কোন সাধারন\n"
+" সারà§à¦­à¦¿à¦¸à¦¸à¦®à§‚হ ইনসà§à¦Ÿà¦² করতে চান তা নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤\n"
+"\n"
+" * \"%s\": à¦à¦–ানে আপনার পছনà§à¦¦ অনà§à¦¯à¦¾à§Ÿà§€ গà§à¦°à¦¾à¦«à¦¿à¦•à§à¦¯à¦¾à¦² পà§à¦°à¦¤à¦¿à¦¬à§‡à¦¶ নিরà§à¦¬à¦¾à¦šà¦¨\n"
+"করà§à¦¨à¥¤ আপনি যদি গà§à¦°à¦¾à¦«à¦¿à¦•à§à¦¯à¦¾à¦² ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান, অনà§à¦¤à¦¤ à¦à¦•টি অবশà§à¦¯à¦‡\n"
+"নিরà§à¦¬à¦¾à¦šà¦¨ করতে হবে।\n"
+"\n"
+"কোন গà§à¦°à§à¦ª নামের উপর মাউস কারà§à¦¸à¦¾à¦° রাখলে ঠগà§à¦°à§à¦ª সমà§à¦ªà¦°à§à¦•ে টীকা পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ হবে।\n"
+"\n"
+"আপনি \"%s\" বকà§à¦¸à¦Ÿà¦¿ চেক করতে পারেন, যা কিনা পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ যদি আপনি পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹\n"
+"সমà§à¦ªà¦°à§à¦•ে পরিচিত হন বা কোন কোন পà§à¦¯à¦¾à¦•েজ ইনসà§à¦Ÿà¦² হবে তা সমà§à¦ªà§‚রà§à¦£à¦­à¦¾à¦¬à§‡ নিয়নà§à¦¤à§à¦°à¦¨\n"
+"করতে চান।\n"
+"\n"
+"\"%s\" মোডে ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ শà§à¦°à§ করলে, আপনি সব গà§à¦°à§à¦ª ডিসিলেকà§à¦Ÿ করে নতà§à¦¨ পà§à¦¯à¦¾à¦•েজ\n"
+"ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ বাতিল করতে পারেন। à¦à¦Ÿà¦¿ à¦à¦•টি বিদà§à¦¯à¦®à¦¾à¦¨ সিসà§à¦Ÿà§‡à¦® মেরামত ও আপডেট\n"
+"করার জনà§à¦¯ পà§à¦°à¦¯à§‹à¦œà§à¦¯à¥¤\n"
+"\n"
+"আপনি যদি à¦à¦•টি সাধারণ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° কà§à¦·à§‡à¦¤à§à¦°à§‡ (আপগà§à¦°à§‡à¦¡ নয়), সব গà§à¦°à§à¦ª\n"
+"ডিসিলেকà§à¦Ÿ করে থাকেন, তবে à¦à¦•টি পপআপ ডায়ালগে সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° কিছà§\n"
+"অপশন পরামরà§à¦¶ করা হবে:\n"
+"\n"
+"* \"%s\": à¦à¦•টি সকà§à¦°à¦¿à§Ÿ গà§à¦°à¦¾à¦«à¦¿à¦•à§à¦¯à¦¾à¦² ডেসà§à¦•টপের জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ পà§à¦¯à¦¾à¦•েজ ইনসà§à¦Ÿà¦² "
+"কর।\n"
+"\n"
+"* \"%s\": মূল সিসà§à¦Ÿà§‡à¦®, পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• ইউটিলিটিসমূহ ও তাদের ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨ ইনসà§à¦Ÿà¦² করে। à¦à¦‡ "
+"ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à¦Ÿà¦¿ সারà§à¦­à¦¾à¦° সেটআপ করার জনà§à¦¯ উপযà§à¦•à§à¦¤à¥¤\n"
+"\n"
+"* \"%s\": à¦à¦•টি সকà§à¦°à¦¿à§Ÿ Linux সিসà§à¦Ÿà§‡à¦®à§‡à¦° জনà§à¦¯ জরà§à¦°à§€ সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ সংখà§à¦¯à¦• পà§à¦¯à¦¾à¦•েজ ইনসà§à¦Ÿà¦² করে। "
+"à¦\n"
+" ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡ আপনি শà§à¦§à§ à¦à¦•টি কমানà§à¦¡ লাইন ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸ পাবেন। ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡ মোট সাইজ পà§à¦°à¦¾à§Ÿ "
+"৬৫\n"
+" মেগাবাইট।"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "আপগà§à¦°à§‡à¦¡"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "সাধারণ ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "à¦à¦•à§à¦•েবারেই সলà§à¦ª ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "সয়ংকà§à¦°à¦¿à§Ÿ নিরà§à¦­à¦°à¦¤à¦¾"
+
+# সাম
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"à¦à¦‡ ডায়ালগটি আপনি বà§à¦Ÿ করার সময় কি কি সারà§à¦­à¦¿à¦¸ শà§à¦°à§ করতে চান তা নিরà§à¦¬à¦¾à¦šà¦¨ করার জনà§à¦¯à¥¤\n"
+"\n"
+"DrakX বরà§à¦¤à¦®à¦¾à¦¨ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡ বিদà§à¦¯à¦®à¦¾à¦¨ সব সারà§à¦­à¦¿à¦¸ দেখাবে। পà§à¦°à¦¤à¦¿à¦Ÿà¦¿ সারà§à¦­à¦¿à¦¸ ভালভাবে দেখà§à¦¨ "
+"à¦à¦¬à¦‚\n"
+"বà§à¦Ÿà§‡à¦° সময় যেগà§à¦²à§‹ পà§à¦°à§Ÿà§‹à¦œà¦¨ না হয়, সেগà§à¦²à§‹ আনচেক করà§à¦¨à¥¤\n"
+"\n"
+"à¦à¦•টি সারà§à¦­à¦¿à¦¸ নিরà§à¦¬à¦¾à¦šà¦¨ করলে, সারà§à¦­à¦¿à¦¸à¦Ÿà¦¿ সমà§à¦ªà¦°à§à¦•ে সংকà§à¦·à¦¿à¦ªà§à¦¤ তথà§à¦¯ পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤ হবে। আপনি যদি "
+"কোন সারà§à¦­à¦¿à¦¸à§‡à¦°\n"
+"আবশà§à¦¯à¦•তা সমà§à¦ªà¦°à§à¦•ে নিশà§à¦šà¦¿à¦¤ না হন তবে ডিফলà§à¦Ÿ মানে রেখে দেয়াই নিরাপদ।\n"
+"\n"
+"!! আপনি আপনার মেশিন সারà§à¦­à¦¾à¦° হিসেবে বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চাইলে খà§à¦¬ সাবধান থাকবেন: আপনি "
+"অবশà§à¦¯à¦‡\n"
+"কোন অবাঞà§à¦›à¦¨à§€à§Ÿ সারà§à¦­à¦¿à¦¸ চালৠকরতে চান না কারন কিছৠসারà§à¦­à¦¿à¦¸ সারà§à¦­à¦¾à¦°à§‡ সকà§à¦°à¦¿à§Ÿ করাটা "
+"বিপদজনক।\n"
+"à¦à¦• কথায়, শà§à¦§à§ সেসব সারà§à¦­à¦¿à¦¸à¦‡ চালৠকরà§à¦¨ যেসব আপনার পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤ !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "সয়ংকà§à¦°à¦¿à§Ÿ সময় মেলানো"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"গà§à¦°à¦¾à¦«à¦¿à¦• কারà§à¦¡\n"
+"\n"
+" সাধারণত ইনসà§à¦Ÿà¦²à¦¾à¦° আপনার মেশিনে ইনসà§à¦Ÿà¦²à¦•ৃত গà§à¦°à¦¾à¦«à¦¿à¦• কারà§à¦¡ সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ সনà§à¦§à¦¾à¦¨ করবে\n"
+"à¦à¦¬à¦‚ কনà§â€Œà¦«à¦¿à¦—ার করবে। যদি à¦à¦Ÿà¦¿ সঠিক না হয়, তাহলে আপনি à¦à¦‡ তালিকা থেকে যেই কারà§à¦¡\n"
+"আপনি ইনসà§à¦Ÿà¦² করেছেন সেটা বেছে নিতে পারবেন।\n"
+"\n"
+" à¦à¦‡ অবসà§à¦¥à¦¾à¦¤à§‡ যেখানে আপনার কারà§à¦¡à§‡à¦° জনà§à¦¯ বিভিনà§à¦¨ সারà§à¦­à¦¾à¦° পাওয়া যায়, 3D \n"
+"acceleration সহ অথবা ছাড়া, আপনার পà§à¦°à§Ÿà§‹à¦œà¦¨ অনà§à¦¯à¦¾à§Ÿà§€ সেরা সারà§à¦­à¦¾à¦° বেছে নিতে\n"
+"আপনাকে জিজà§à¦žà§‡à¦¸ করা হবে।"
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"মনিটর\n"
+"\n"
+" সাধারণত ইনসà§à¦Ÿà¦²à¦¾à¦° আপনার মেশিনে সংযà§à¦•à§à¦¤ মনিটর সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ সনà§à¦§à¦¾à¦¨ করবে\n"
+"à¦à¦¬à¦‚ কনà§â€Œà¦«à¦¿à¦—ার করবে। যদি à¦à¦Ÿà¦¿ সঠিক না হয়, তাহলে আপনি à¦à¦‡ তালিকা থেকে যেই মনিটর\n"
+"আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡ সংযà§à¦•à§à¦¤ করেছেন সেটা বেছে নিতে পারবেন।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"রেজà§à¦¯à§à¦²à§à¦¶à¦¨\n"
+"\n"
+" à¦à¦–ানে আপনার গà§à¦°à¦¾à¦«à¦¿à¦•à§â€Œà¦¸ হারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦°à§‡à¦° রেজà§à¦¯à§à¦²à§à¦¶à¦¨ à¦à¦¬à¦‚ রংয়ের গভীরতা বেছে নিতে \n"
+"পারেন। আপনার পà§à¦°à§Ÿà§‹à¦œà¦¨à§‡à¦° সাথে যেটি সবচেয়ে ভাল হয় তার যেকোন à¦à¦•টি বেছে নিন\n"
+"(ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° পর আপনি তা পরিবরà§à¦¤à¦¨ করতে সমরà§à¦¥ হবেন)। বেছে নেয়া কনà§â€Œà¦«à¦¿à¦—ারেশনের\n"
+"নমà§à¦¨à¦¾ মনিটরের ছবিতে দেখানো হচà§à¦›à§‡à¥¤"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"à¦à¦‡ অবসà§à¦¥à¦¾à¦¤à§‡ যেখানে আপনার কারà§à¦¡à§‡à¦° জনà§à¦¯ বিভিনà§à¦¨ সারà§à¦­à¦¾à¦° পাওয়া যায়, 3D \n"
+"acceleration সহ অথবা ছাড়া, আপনার পà§à¦°à§Ÿà§‹à¦œà¦¨ অনà§à¦¯à¦¾à§Ÿà§€ সেরা সারà§à¦­à¦¾à¦° বেছে নিতে\n"
+"আপনাকে জিজà§à¦žà§‡à¦¸ করা হবে।"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"অপশন\n"
+"\n"
+" à¦à¦‡ ধাপগà§à¦²à§‹ বà§à¦Ÿ করার সময় সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ আপনি যেখানে আপনার মেশিনের গà§à¦°à¦¾à¦«à¦¿à¦•াল\n"
+"ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸ বাছাই করার অনà§à¦®à¦¤à¦¿ পাবেন। সà§à¦¸à§à¦ªà¦·à§à¦Ÿà¦­à¦¾à¦¬à§‡à¦‡, যদি আপনার মেশিনকে à¦à¦•টি সারà§à¦­à¦¾à¦° "
+"হিসেবে\n"
+"বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান, তাহলে আপনি \"%s\" দিয়ে পরীকà§à¦·à¦¾ করে নিতে পারেন, অথবা যদি "
+"আপনি\n"
+"সফলভাবে ডিসপà§à¦²à§‡ কনà§â€Œà¦«à¦¿à¦—ার করতে না পারেন।"
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "উপসà§à¦¥à¦¿à¦¤ পারà§à¦Ÿà¦¿à¦¶à¦¨ বà§à¦¯à¦¬à¦¹à¦¾à¦° করো"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "সমà§à¦ªà§‚রà§à¦£ ডিসà§à¦• মà§à¦›à§‡ ফেলো"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "সয়ংকà§à¦°à¦¿à§Ÿ-ইনসà§à¦Ÿà¦² ফà§à¦²à¦ªà¦¿ তৈরী করো"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+# সাম
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"আপনি যদি পà§à¦°à¦¾à¦¨à§‹ GNU/Linux পারà§à¦Ÿà¦¿à¦¶à¦¨ আবার বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে চান, আপনি হয়ত কোন পারà§à¦Ÿà¦¿à¦¶à¦¨ "
+"নতà§à¦¨ করে ফরমà§à¦¯à¦¾à¦Ÿ করে পà§à¦°à¦¾à¦¨à§‹ তথà§à¦¯ মà§à¦›à§‡ ফেলতে চাইবেন। à¦à¦Ÿà¦¿ করতে হলে, ঠপারà§à¦Ÿà¦¿à¦¶à¦¨à¦—à§à¦²à§‹à¦“ "
+"নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤\n"
+"\n"
+"মনে রাখবেন, সব পারà§à¦Ÿà¦¿à¦¶à¦¨ ফরমà§à¦¯à¦¾à¦Ÿ করা জরà§à¦°à§€ নয়। যে পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡ অপারেটিং সিসà§à¦Ÿà§‡à¦® থাকবে "
+"(যেমন \"/\", \"/usr\" বা \"/var\") সেটি অবশà§à¦¯à¦‡ ফরমà§à¦¯à¦¾à¦Ÿ করতে হবে কিনà§à¦¤à§ যেসব "
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° তথà§à¦¯ আপনি সংরকà§à¦·à¦¨ করতে চান (সাধারনত \"/home\") সেগà§à¦²à§‹ ফরমà§à¦¯à¦¾à¦Ÿ করা "
+"অতà§à¦¯à¦¾à¦¬à¦¶à§à¦¯à¦•ীয় নয়।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨ নিরà§à¦¬à¦¾à¦šà¦¨ করতে সাবধানতা অবলমà§à¦¬à¦¨ করবেন। ফরমà§à¦¯à¦¾à¦Ÿ করলে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° "
+"সব তথà§à¦¯ মà§à¦›à§‡ যাবে à¦à¦¬à¦‚ তা আর ফিরে পাওয়া যাবে না।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨ ফরমà§à¦¯à¦¾à¦Ÿ শà§à¦°à§ করতে \"%s\" চাপà§à¦¨à¥¤\n"
+"\n"
+"আপনার নতà§à¦¨ Mageia অপারেটিং সিসà§à¦Ÿà§‡à¦® ইনসà§à¦Ÿà§‡à¦¶à¦¨à§‡à¦° জনà§à¦¯ আপনি যদি অনà§à¦¯ à¦à¦•টি পারà§à¦Ÿà¦¿à¦¶à¦¨ "
+"নিরà§à¦¬à¦¾à¦šà¦¨ করতে, তবে \"%s\" কà§à¦²à¦¿à¦• করà§à¦¨à¥¤\n"
+"\n"
+"যদি আপনি পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° জনà§à¦¯ ডিসà§à¦•ের খারাপ বà§à¦²à¦• সনাকà§à¦¤ করাতে চান তাহলে \"%s\" কà§à¦²à¦¿à¦• "
+"করà§à¦¨à¥¤"
+
+# সাম
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"আপনি যখন Mageia ইনসà§à¦Ÿà¦² করবেন, সমà§à¦­à¦¬à¦¤ পà§à¦°à¦¥à¦® রিলিজ থেকে কিছà§\n"
+"পà§à¦¯à¦¾à¦•েজ আপডেট হয়ে গেছে। কোন সাধারন বা নিরাপতà§à¦¤à¦¾ তà§à¦°à§à¦Ÿà¦¿ সমাধান করা হয়েছে।\n"
+"আপনাকে à¦à¦‡ সà§à¦¬à¦¿à¦§à¦¾à¦—à§à¦²à¦¿ দেয়ার লকà§à¦·à§à¦¯à§‡ à¦à¦‡ আপডেটগà§à¦²à§‹ ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ থেকে ডাউনলোড\n"
+"করার সà§à¦¯à§‹à¦— দেয়া হয়েছে। যদি আপনার সকà§à¦°à¦¿à§Ÿ ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ সংযোগ থাকে, \"%s\" চেক\n"
+"করà§à¦¨, আর \"%s\" চেক করà§à¦¨ যদি আপাতত ইনসà§à¦Ÿà¦² করতে না চান।\n"
+"\n"
+"\"%s\" বাছাই করলে আপাকে কিছৠওয়েব লোকেশনের তালিকা দেয়া হবে যেখান থেকে\n"
+"আপডেট পাওয়া যাবে। আপনি আপনার কাছের à¦à¦•টি লোকেশন পছনà§à¦¦ করà§à¦¨à¥¤ à¦à¦°à¦ªà¦°\n"
+"à¦à¦•টি পà§à¦¯à¦¾à¦•েজ নিরà§à¦¬à¦¾à¦šà¦¨ করার জনà§à¦¯ à¦à¦•টি টà§à¦°à§€ দেখানো হবে। পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ দেখà§à¦¨ à¦à¦¬à¦‚\n"
+"ডাউনলোড করে ইনসà§à¦Ÿà¦² করতে \"%s\" বাটন চাপà§à¦¨à¥¤ অথবা \"%s\" কà§à¦²à¦¿à¦• করে বের হয়ে আসà§à¦¨à¥¤"
+
+# সাম
+# নিরাপতà§à¦¤à¦¾ সà§à¦¤à¦°
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"à¦à¦‡ সময়ে DrakX আপনার মেশিনের জনà§à¦¯ আপনার ইচà§à¦›à¦¾à¦¨à§à¦¯à¦¾à§Ÿà§€ নিরাপতà§à¦¤à¦¾ সà§à¦¤à¦°\n"
+"বেছে নেয়ার সà§à¦¯à§‹à¦— দেবে। সাধারন নিয়ম অনà§à¦¯à¦¾à§Ÿà§€, যদি à¦à¦•টি মেশিনে জরà§à¦°à§€\n"
+"তথà§à¦¯ থাকে বা মেশিনটি ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿà§‡ সংযà§à¦•à§à¦¤ থাকে তবে নিরাপতà§à¦¤à¦¾ বাড়িয়ে দেয়া\n"
+"হয়। নিরাপতà§à¦¤à¦¾ যত বেশী, বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° সà§à¦¬à¦¾à¦šà§à¦›à¦¨à§à¦¦à§à¦¯ তত কমে যায়।\n"
+"\n"
+"আপনি যদি নিশà§à¦šà¦¿à¦¤ না হন কোন অপশনটি রাখবেন তবে ডিফলà§à¦Ÿ অপশনটিই রাখà§à¦¨à¥¤\n"
+"পরবরà§à¦¤à§€à¦¤à§‡ আপনি à¦à¦Ÿà¦¿ draksec টà§à¦² (যেটি Mageia নিয়নà§à¦¤à§à¦°à¦¨ কেনà§à¦¦à§à¦°à§‡à¦° à¦à¦•টি অংশ)\n"
+"দিয়ে পরিবরà§à¦¤à¦¨ করতে পারবেন।\n"
+"\n"
+"\"%s\" কà§à¦·à§‡à¦¤à§à¦°à¦Ÿà¦¿à¦¤à§‡ যিনি নিরাপতà§à¦¤à¦¾à¦° দায়িতà§à¦¬à§‡ নিয়োজিত তার ই-মেইল অà§à¦¯à¦¾à¦¡à§à¦°à§‡à¦¸ দিন।\n"
+"নিরাপতà§à¦¤à¦¾ বিষয়ক বারà§à¦¤à¦¾à¦—à§à¦²à§‹ à¦à¦‡ অà§à¦¯à¦¾à¦¡à§à¦°à§‡à¦¸à§‡ পাঠানো হবে। "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "সিকিউরিটি à¦à§à¦¯à¦¡à¦®à¦¿à¦¨à¦¿à¦¸à§à¦Ÿà§à¦°à§‡à¦Ÿà¦°"
+
+# সাম
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"à¦à¦‡ সময়ে আপনাকে Mageia যে পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡ ইনসà§à¦Ÿà¦² হবে তা নিরà§à¦¬à¦¾à¦šà¦¨\n"
+"করতে হবে। যদি আগে থেকেই পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী থাকে, (GNU/Linux à¦à¦° পà§à¦°à§à¦¬à§‡à¦°\n"
+"কোন ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° কারনে বা অনà§à¦¯ কোন পারà§à¦Ÿà¦¿à¦¶à¦¨ টà§à¦² দিয়ে তৈরী করা) আপনি\n"
+"সেগà§à¦²à§‹ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে পারেন। অনà§à¦¯à¦¥à¦¾à§Ÿ হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­ পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে হবে।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে পà§à¦°à¦¥à¦®à§‡ à¦à¦•টি হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­ নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤ পà§à¦°à¦¥à¦® পারà§à¦Ÿà¦¿à¦¶à¦¨\n"
+"নিরà§à¦¬à¦¾à¦šà¦¨à§‡à¦° জনà§à¦¯ \"hda\", দà§à¦¬à¦¿à¦¤à§€à§Ÿ পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° জনà§à¦¯ \"hdb\", পà§à¦°à¦¥à¦® SCSI ডà§à¦°à¦¾à¦‡à¦­à§‡à¦°\n"
+"জনà§à¦¯ \"sda\" ইতà§à¦¯à¦¾à¦¦à¦¿ কà§à¦²à¦¿à¦• করà§à¦¨à¥¤\n"
+"\n"
+"নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ডà§à¦°à¦¾à¦‡à¦­à¦Ÿà¦¿ পারà§à¦Ÿà¦¿à¦¶à¦¨ করতে নিমà§à¦¨à¦²à¦¿à¦–িত অপশনসমূহ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨:\n"
+"\n"
+" * \"%s\": à¦à¦‡ অপশনটি নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° সব পারà§à¦Ÿà¦¿à¦¶à¦¨ মà§à¦›à§‡ দিবে\n"
+"\n"
+" * \"%s\": à¦à¦‡ অপশনটি আপনার হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­à§‡à¦° খালি অংশে সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ ext4 à¦à¦¬à¦‚\n"
+"swap পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে দিবে।\n"
+"\n"
+"\"%s\": আরও ফিচার বà§à¦¯à¦¬à¦¹à¦¾à¦° করার সà§à¦¯à§‹à¦— দেয়:\n"
+"\n"
+" * \"%s\": পারà§à¦Ÿà¦¿à¦¶à¦¨ টেবিলটি ফà§à¦²à¦ªà¦¿à¦¤à§‡ সংরকà§à¦·à¦¨ করে যা কিনা পরবরà§à¦¤à§€à¦¤à§‡ পারà§à¦Ÿà¦¿à¦¶à¦¨\n"
+"টেবিল উদà§à¦§à¦¾à¦° করতে কাজে লাগে। à¦à¦Ÿà¦¿ খà§à¦¬à¦‡ গà§à¦°à§à¦¤à§à¦¬à¦ªà§à¦°à§à¦£ à¦à¦•টি ধাপ যেটি আপনার\n"
+"করা উচিত।\n"
+"\n"
+" * \"%s\": ফà§à¦²à¦ªà¦¿ ডিসà§à¦•ে সংরকà§à¦·à¦¿à¦¤ পারà§à¦Ÿà¦¿à¦¶à¦¨ টেবিল à¦à¦¨à§‡ তা পà§à¦°à§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾à§Ÿ ফিরিয়ে নেয়।\n"
+"\n"
+" * \"%s\": আপনার পারà§à¦Ÿà¦¿à¦¶à¦¨ টেবিল নষà§à¦Ÿ হলে আপনি à¦à¦‡ অপশনটি দিয়ে তা মেরামত\n"
+"করার চেষà§à¦Ÿà¦¾ করতে পারেন। অনà§à¦—à§à¦°à¦¹ করে সাবধানতা অবলমà§à¦¬à¦¨ করবেন à¦à¦¬à¦‚ মনে রাখবেন\n"
+"à¦à¦‡ পà§à¦°à¦•à§à¦°à¦¿à§Ÿà¦¾ সবসময় সফল নাও হতে পারে।\n"
+"\n"
+" * \"%s\": সব পরিবরà§à¦¤à¦¨ বাতিল করে দিয়ে হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­à§‡à¦° পà§à¦°à§à¦¬à§‡à¦° মূল পারà§à¦Ÿà¦¿à¦¶à¦¨ টেবিল লোড "
+"করে।\n"
+"\n"
+" * \"%s\": à¦à¦‡ অপশনটি অনিরà§à¦¬à¦¾à¦šà¦¿à¦¤ করলে, বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীদের রিমà§à¦­à§‡à¦¬à¦² মাধà§à¦¯à¦® যেমন\n"
+"ফà§à¦²à¦ªà¦¿ à¦à¦¬à¦‚ CD-ROM নিজে নিজে মাউনà§à¦Ÿ/আনমাউনà§à¦Ÿ করার পà§à¦°à¦¾à§Ÿà§‹à¦œà¦¨ পরবে।\n"
+"\n"
+" * \"%s\": à¦à¦‡ অপশনটি বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨ যদি হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­ পারà§à¦Ÿà¦¿à¦¶à¦¨ আপনি উইজারà§à¦¡à§‡à¦°\n"
+"মাধà§à¦¯à¦®à§‡ করতে চান। পারà§à¦Ÿà¦¿à¦¶à¦¨ সমà§à¦¬à¦¨à§à¦§à§‡ ভাল ধারনা না থাকলে à¦à¦‡ অপশনটি পরামরà§à¦¶à¦¨à§€à§Ÿà¥¤\n"
+"\n"
+" * \"%s\": à¦à¦‡ অপশনটি বà§à¦¯à¦¬à¦¹à¦¾à¦° করে পরিবরà§à¦¤à¦¨à¦—à§à¦²à§‹ বাতিল করà§à¦¨à¥¤\n"
+"\n"
+" * \"%s\": আপনার পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡ আরও কিছৠকাজ (ধরন, অপশন ফরমà§à¦¯à¦¾à¦Ÿ) করার অপশন\n"
+"দেয় ও হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­ সমà§à¦ªà¦°à§à¦•ে আরও তথà§à¦¯ দেয়।\n"
+"\n"
+" * \"%s\": পারà§à¦Ÿà¦¿à¦¶à¦¨ করা শেষ হলে à¦à¦‡ অপশন আপনার সেটিংগà§à¦²à§‹ ডিসà§à¦•ে সংরকà§à¦·à¦£ করবে।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° সাইজ ঠিক করতে আপনি কীবোরà§à¦¡à§‡à¦° তীর চিহà§à¦¨à¦¿à¦¤ কীগà§à¦²à§‹ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে পারেন।\n"
+"\n"
+"দà§à¦°à¦·à§à¦Ÿà¦¬à§à¦¯: আপনি যেকোন অপশন কীবোরà§à¦¡ দিয়ে নিরà§à¦¬à¦¾à¦šà¦¨ করতে পারেন। পারà§à¦Ÿà¦¿à¦¶à¦¨ নিরà§à¦¬à¦¾à¦šà¦¨\n"
+"করতে [Tab] à¦à¦¬à¦‚ [Up/Down] তীর চিহà§à¦¨à¦—à§à¦²à§‹ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¥¤\n"
+"\n"
+"যখন à¦à¦•টি পারà§à¦Ÿà¦¿à¦¶à¦¨ নিরà§à¦¬à¦¾à¦šà¦¨ অবসà§à¦¥à¦¾à§Ÿ আছে, আপনি নিমà§à¦¨à¦²à¦¿à¦–িত কীগà§à¦²à§‹ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে "
+"পারেন:\n"
+"\n"
+" * Ctrl-c নতà§à¦¨ পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করার জনà§à¦¯ (যখন à¦à¦•টি খালি পারà§à¦Ÿà¦¿à¦¶à¦¨ নিরà§à¦¬à¦¾à¦šà¦¨ করা "
+"হয়েছে)\n"
+"\n"
+" * Ctrl-d à¦à¦•টি পারà§à¦Ÿà¦¿à¦¶à¦¨ মà§à¦›à§‡ দিতে\n"
+"\n"
+" * Ctrl-m মাউনà§à¦Ÿ পয়েনà§à¦Ÿ সেট করতে\n"
+"\n"
+"বিদà§à¦¯à¦®à¦¾à¦¨ ফাইল সিসà§à¦Ÿà§‡à¦®à§‡à¦° ধরন সমà§à¦ªà¦°à§à¦•ে জানতে হলে \"Reference Manual\" à¦à¦°\n"
+"ext2FS অধà§à¦¯à¦¾à§Ÿà¦Ÿà¦¿ পড়à§à¦¨à¥¤\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "রিমà§à¦­à¦¯à§‹à¦—à§à¦¯ মিডিয়া সয়ংকà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ মাউনà§à¦Ÿ করা হচà§à¦›à§‡"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "সাধারণ/দকà§à¦· মোডের মধà§à¦¯à§‡ পরিবরà§à¦¤à¦¨"
+
+# সাম:
+# secondary = সহকারী?
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"আপনার হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡ বরà§à¦¤à¦®à¦¾à¦¨à§‡ নিমà§à¦¨à¦²à¦¿à¦–িত লিনাকà§à¦¸ পারà§à¦Ÿà¦¿à¦¶à¦¨à¦—à§à¦²à§‹ বিদà§à¦¯à¦®à¦¾à¦¨à¥¤\n"
+"আপনি উইজারà§à¦¡ করà§à¦¤à§ƒà¦• বাছাইকৃত সেটিংসমূহ রাখতে পারেন কারণ বেশীরভাগ\n"
+"সাধারণ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° কà§à¦·à§‡à¦¤à§à¦°à§‡ à¦à¦Ÿà¦¿à¦‡ যথেষà§à¦Ÿà¥¤ যদি পরিবরà§à¦¤à¦¨ করতে চান, আপনাকে অনà§à¦¤à¦¤ à¦à¦•টি\n"
+"রà§à¦Ÿ পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে হবে (\"/\")। পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° সাইজ খà§à¦¬ ছোট না হওয়া জরà§à¦°à§€, কারন\n"
+"অনà§à¦¯à¦¥à¦¾ আপনি যথেষà§à¦Ÿ সফà§à¦Ÿà¦“à§Ÿà§à¦¯à¦¾à¦° ইনসà§à¦Ÿà¦² করতে পারবেন না। আপনার তথà§à¦¯à¦¸à¦®à§‚হ আলাদা\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡ রাখতে চাইলে, আপনাকে আরও à¦à¦•টি \"/home\" পারà§à¦Ÿà¦¿à¦¶à¦¨ তৈরী করতে হবে\n"
+"(যা কিনা à¦à¦•াধিক লিনাকà§à¦¸ পারà§à¦Ÿà¦¿à¦¶à¦¨ থাকলেই সমà§à¦­à¦¬)।\n"
+"\n"
+"পারà§à¦Ÿà¦¿à¦¶à¦¨à¦—à§à¦²à§‹ তালিকায় à¦à¦­à¦¾à¦¬à§‡ দেখানো হয়েছে: \"নাম\", \"ধারণকà§à¦·à¦®à¦¤à¦¾\".\n"
+"\n"
+"\"নাম\" à¦à¦° কাঠামো হচà§à¦›à§‡: \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° ধরন\", \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ নামà§à¦¬à¦¾à¦°\",\n"
+"\"পারà§à¦Ÿà¦¿à¦¶à¦¨ নামà§à¦¬à¦¾à¦°\" (যেমন, \"hda1\").\n"
+"\n"
+"যদি আপনার হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à¦Ÿà¦¿ IDE হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ হলে \"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° ধরন\" হবে \"hd\", "
+"আর\n"
+" SCSI হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ হলে হবে \"sd\"।\n"
+"\n"
+"\"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ নামà§à¦¬à¦¾à¦°\", হচà§à¦›à§‡ \"hd\" বা \"sd\" à¦à¦° পরের à¦à¦•টি অকà§à¦·à¦°à¥¤ IDE হারà§à¦¡ "
+"ডà§à¦°à¦¾à¦‡à¦­à§‡à¦°\n"
+"জনà§à¦¯:\n"
+"\n"
+" * \"a\" অরà§à¦¥ \"পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ মাসà§à¦Ÿà¦¾à¦° হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"b\" অরà§à¦¥ \"পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ সà§à¦²à§‡à¦­ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"c\" অরà§à¦¥ \"সহকারী IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ মাসà§à¦Ÿà¦¾à¦° হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\";\n"
+"\n"
+" * \"d\" অরà§à¦¥ \"সহকারী IDE কনটà§à¦°à§‹à¦²à¦¾à¦°à§‡ সà§à¦²à§‡à¦­ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­\".\n"
+"\n"
+"SCSI হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° জনà§à¦¯, \"a\" অরà§à¦¥ \"সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ SCSI ID\", \"b\" অরà§à¦¥\n"
+"\"দà§à¦¬à¦¿à¦¤à§€à§Ÿ সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ SCSI ID\", ইতà§à¦¯à¦¾à¦¦à¦¿à¥¤"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": বরà§à¦¤à¦®à¦¾à¦¨ দেশ নিরà§à¦¬à¦¾à¦šà¦¨ পরীকà§à¦·à¦¾ করà§à¦¨à¥¤ আপনি যদি à¦à¦‡ দেশের জনà§à¦¯ না হন,\n"
+"তাহলে \"%s\" বাটনে কà§à¦²à¦¿à¦• করà§à¦¨ à¦à¦¬à¦‚ অনà§à¦¯ à¦à¦•টি বেছে নিন। যদি আপনার দেশ\n"
+"উলà§à¦²à§‡à¦–িত তালিকায় না থাকে, তাহলে \"%s\" বাটনে কà§à¦²à¦¿à¦• করে সমà§à¦ªà§‚রà§à¦£ দেশের তালিকায় "
+"পেয়ে যান।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+# সাম
+# ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"আপনার ভাষা নিরà§à¦¬à¦¾à¦šà¦¨à§‡à¦° উপর ভিতà§à¦¤à¦¿ করে, DrakX সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ à¦à¦•টি কীবোরà§à¦¡\n"
+"কনফিগারেশন বেছে নেবে। à¦à¦‡ নিরà§à¦šà¦¨à¦Ÿà¦¿ বাঞà§à¦›à¦¨à§€à§Ÿ কিনা দেখে নিন বা অনà§à¦¯ à¦à¦•টি\n"
+"লেআউট পছনà§à¦¦ করà§à¦¨à¥¤\n"
+"\n"
+"আপনার ভাষার সাথে সমà§à¦ªà§‚রà§à¦¨ মিলিয়ে কীবোরà§à¦¡ আপনি নাও পেতে পারেন:\n"
+"যেমন যদি আপনি ইংরেজী ভাষাভাষী à¦à¦•জন সà§à¦‡à¦¸ নাগরিক হন, আপনি সà§à¦‡à¦¸ কীবোরà§à¦¡\n"
+"বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে পারেন। কিনà§à¦¤à§ আপনি যদি ইংরেজী ভাষী হয়ে Quebec ঠবসবাস\n"
+"করেন আপনার পরিসà§à¦¥à¦¿à¦¤à¦¿ à¦à¦®à¦¨ হতে পারে যেখানে country-set কীবোরà§à¦¡ à¦à¦¬à¦‚\n"
+"নিজসà§à¦¬ ভাষা à¦à¦•ই নয়। যেকোন কà§à¦·à§‡à¦¤à§à¦°à§‡à¦‡ আপনি আপনি à¦à¦•টি তালিকা থেকে সঠিক\n"
+"কীবোরà§à¦¡à¦Ÿà¦¿ বেছে নিতে পারেন।\n"
+"\n"
+"সমরà§à¦¥à¦¿à¦¤ কীবোরà§à¦¡à§‡à¦° তালিকা দেখতে \"%s\" বাটনে কà§à¦²à¦¿à¦• করà§à¦¨à¥¤\n"
+"\n"
+"যদি আপনি নন‌-লà§à¦¯à¦¾à¦Ÿà¦¿à¦¨ বরà§à¦£à¦®à¦¾à¦²à¦¾à¦° কীবোরà§à¦¡à§‡ লেআউট বাছাই করেন, পরবরà§à¦¤à§€ ডায়ালগটি\n"
+"আপনাকে লà§à¦¯à¦¾à¦Ÿà¦¿à¦¨ ও নন‌-লà§à¦¯à¦¾à¦Ÿà¦¿à¦¨ কীবোরà§à¦¡à§‡à¦° মধà§à¦¯à§‡ সà§à¦‡à¦š করার জনà§à¦¯ à¦à¦•টি কী বাইনà§à¦¡à¦¿à¦‚\n"
+"বাছাই করতে হবে।"
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "সà§à¦ªà§‡à¦¨à§€à§Ÿ"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "চাকার বৈশিষà§à¦  অনà§à¦¹à¦•রণ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | যে কোন PS/2 à¦à¦¬à¦‚ ইউà¦à¦¸à¦¬à¦¿ মাউস"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"সঠিক পোরà§à¦Ÿà¦Ÿà¦¿ নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤ যেমন, উইনà§à¦¡à§‹à¦œà§‡à¦° \"COM1\" পোরà§à¦Ÿà¦Ÿà¦¿ GNU/Linux-à¦\n"
+"\"ttyS0\" নামে পরিচিত।"
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+# সাম
+# emulate = à¦à¦®à§à¦²à§‡à¦Ÿ?
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"à¦à¦–ন সময় আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡à¦° জনà§à¦¯ à¦à¦•টি পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¿à¦‚ সিসà§à¦Ÿà§‡à¦® নিরà§à¦¬à¦¾à¦šà¦¨ করার। অনানà§à¦¯\n"
+"অপারেটিং সিসà§à¦Ÿà§‡à¦® আপনাকে à¦à¦•টি অপশন দিতে পারে কিনà§à¦¤à§ Mageia দেবে দà§à¦Ÿà¦¿à¥¤\n"
+"পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¿à¦‚ সিসà§à¦Ÿà§‡à¦®à¦—à§à¦²à§‹ বিভিনà§à¦¨ কনফিগারেশনের জনà§à¦¯ পà§à¦°à¦¯à§‹à¦œà§à¦¯à¥¤\n"
+"\n"
+" * \"%s\" -- অরà§à¦¥ হচà§à¦›à§‡ \"পà§à¦°à¦¿à¦¨à§à¦Ÿ করো, সারিতে রাখবেনা\". à¦à¦Ÿà¦¿ নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨ যদি "
+"আপনার কোন\n"
+"পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦°à§‡à¦° সাথে সরাসরি সংযোগ থাকে, আপনি পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° জà§à¦¯à¦¾à¦® থেকে জরà§à¦°à§€à¦­à¦¾à¦¬à§‡ বের হয়ে "
+"যেতে\n"
+"চান à¦à¦¬à¦‚ যদি আপনার নেটওয়ারà§à¦• পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° না থাকে।(\"%s\" শà§à¦§à§à¦®à¦¾à¦¤à§à¦° খà§à¦¬à¦‡ সাধারন "
+"নেটওয়ারà§à¦•\n"
+"সামলাতে পারে à¦à¦¬à¦‚ কিছà§à¦Ÿà¦¾ ধীর হয়)। à¦à¦Ÿà¦¿ আপনার GNU/Linux à¦à¦° পà§à¦°à¦¥à¦® অভিজà§à¦žà¦¤à¦¾ হলে\n"
+"আপনার \"pdq\" বà§à¦¯à¦¬à¦¹à¦¾à¦° করাটাই শà§à¦°à§‡à§Ÿà¥¤\n"
+"\n"
+" * \"%s\" অরà§à¦¥ \"সাধারন Unix পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¿à¦‚ সিসà§à¦Ÿà§‡à¦®\" à¦à¦¬à¦‚ à¦à¦Ÿà¦¿ আপনার সà§à¦¥à¦¾à¦¨à§€à§Ÿ পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° "
+"হোক\n"
+"বা পৃথিবীর অনà§à¦¯ পà§à¦°à¦¾à¦¨à§à¦¤à§‡ অবসà§à¦¥à¦¿à¦¤ কোন পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦°à¦‡ হোক যেকোন কà§à¦·à§‡à¦¤à§à¦°à§‡à¦‡ à¦à¦•টি উতà§â€à¦•ৃষà§à¦Ÿ "
+"সিসà§à¦Ÿà§‡à¦®à¥¤\n"
+"à¦à¦Ÿà¦¿ কনফিগার করতে সহজ à¦à¦¬à¦‚ পà§à¦°à§‹à¦¨à§‹ \"lpd\" পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¿à¦‚ সিসà§à¦Ÿà§‡à¦®à§‡à¦° জনà§à¦¯ সারà§à¦­à¦¾à¦° বা "
+"কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ\n"
+"হিসেবে কাজ করতে পারে। অতà¦à¦¬ à¦à¦Ÿà¦¿ পà§à¦°à¦¾à¦¨à§‹ অপারেটিং সিসà§à¦Ÿà§‡à¦® যেগà§à¦²à§‹à¦° সারà§à¦­à¦¿à¦¸ পà§à¦°à§Ÿà§‹à¦œà¦¨\n"
+"তাদের সাথেও সামঞà§à¦œà¦¸à§à¦¯à¦ªà§‚রà§à¦£à¥¤ যদিও খà§à¦¬ শকà§à¦¤à¦¿à¦¶à¦¾à¦²à§€, মূল সেটআপটি পà§à¦°à¦¾à§Ÿ \"pdq\" à¦à¦° মত "
+"সহজ।\n"
+"আপনি যদি \"lpd\" সারà§à¦­à¦¾à¦° à¦à¦®à§à¦²à§‡à¦Ÿ করতে চান, তবে \"cups-lpd\" daemon টি চালৠকরতে\n"
+"ভà§à¦²à¦¬à§‡à¦¨ না। \"%s\" à¦à¦° পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° অপশন বাছাই করা ও পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦¨à¦¾à¦° জনà§à¦¯ à¦à¦•টি "
+"গà§à¦°à¦¾à¦«à¦¿à¦•à§à¦¯à¦¾à¦²\n"
+"ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸ রয়েছে।\n"
+"\n"
+"আপনার বাছাইকৃত পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¿à¦‚ সিসà§à¦Ÿà§‡à¦®à¦Ÿà¦¿ যদি আপনার পরে পছনà§à¦¦ না হয়,\n"
+"তবে আপনি Mageia নিয়নà§à¦¤à§à¦°à¦¨ কেনà§à¦¦à§à¦° থেকে PrinterDrake চালিয়ে ও \"%s\" বাটন কà§à¦²à¦¿à¦•\n"
+"করে তা বদল করতে পারেন।"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "দকà§à¦·"
+
+# সাম
+# check উচিত spelling, zwj didn't work for me...
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX পà§à¦°à¦¥à¦®à§‡ আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡ বিদà§à¦¯à¦®à¦¾à¦¨ IDE ডিভাইস সনাকà§à¦¤ করবে। à¦à¦Ÿà¦¿ আপনার\n"
+"সিসà§à¦Ÿà§‡à¦®à§‡ à¦à¦• বা à¦à¦•াধিক PCI SCSI কারà§à¦¡à§‡à¦° জনà§à¦¯à§‡à¦“ সà§à¦•à§à¦¯à¦¾à¦¨ করবে। যদি SCSI কারà§à¦¡ পাওয়া\n"
+"যায়, DrakX নিজে নিজেই সঠিক ডà§à¦°à¦¾à¦‡à¦­à¦¾à¦°à¦Ÿà¦¿ ইনসà§à¦Ÿà¦² করবে।\n"
+"\n"
+"যেহেতৠহারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦° সনাকà§à¦¤à¦•রন কোন অবà§à¦¯à¦¾à¦°à§à¦¥ পকà§à¦°à¦¿à§Ÿà¦¾ নয়, DrakX আপনার হারà§à¦¡à¦¡à§à¦°à¦¾à¦‡à¦­ সনাকà§à¦¤\n"
+"নাও করতে পারে। ঠকà§à¦·à§‡à¦¤à§à¦°à§‡ আপনাকে হারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦°à¦Ÿà¦¿ নিজ হাতে নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করে দিতে হবে।\n"
+"\n"
+"PCI SCSI adapter নিজ হাতে নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করে দিতে হলে, DrakX আপনাকে জিজà§à¦žà¦¾à¦¸à¦¾ করবে\n"
+"আপনি অপশন কনফিগার করতে চান কিনা। আপনার DrakX কে হারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦°à¦Ÿà¦¿à¦° নিরà§à¦¦à¦¿à¦·à§à¦Ÿ কারà§à¦¡à§‡à¦°\n"
+"অপশনের জনà§à¦¯ পà§à¦°à§‹à¦¬ করতে দেয়া উচিতà§â€ যা কিনা adapter ইনিশিয়ালাইজ করতে পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤\n"
+"বেশীরভাগ কà§à¦·à§‡à¦¤à§à¦°à§‡ DrakX à¦à¦‡ কাজটি কোন à¦à¦¾à¦®à§‡à¦²à¦¾ ছাড়াই সমà§à¦ªà¦¨à§à¦¨ করবে।\n"
+"\n"
+"DrakX যদি পà§à¦°à§‹à¦¬ করে হারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦°à§‡ পাঠানোর জনà§à¦¯ পà§à¦¯à¦¾à¦°à¦¾à¦®à¦¿à¦Ÿà¦¾à¦°à¦—à§à¦²à§‹ নিরà§à¦§à¦¾à¦°à¦¨ করতে না "
+"পারে\n"
+"তাহলে আপনাকে তা নিজে হাতে কনফিগারেশন করতে হবে।\n"
+" "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": যদি আপনার সিসà§à¦Ÿà§‡à¦®à§‡ à¦à¦•টি সাউনà§à¦¡ কারà§à¦¡ পাওযা যায়, সেটা à¦à¦–ানে দেখানো হবে।\n"
+"যদি আপনি জানান যে আসলে à¦à¦‡ সাউনà§à¦¡ কারà§à¦¡à¦Ÿà¦¿ আপনার সিসà§à¦Ÿà§‡à¦®à§‡ উপসà§à¦¥à¦¿à¦¤ নেই, তাহলে আপনি\n"
+"বাটনে কà§à¦²à¦¿à¦• করà§à¦¨ à¦à¦¬à¦‚ অনà§à¦¯ à¦à¦•টি ডà§à¦°à¦¾à¦‡à¦­à¦¾à¦° বেছে নিন।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN কারà§à¦¡"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN কারà§à¦¡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "গà§à¦°à¦¾à¦«à¦¿à¦•াল ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ বেছে নিন যেটি আপনি আপনার নতà§à¦¨ মà§à¦¯à¦¾à¦¨à§à¦¡à§à¦°à¦¿à¦¬ লিনাকà§à¦¸ পারà§à¦Ÿà¦¿à¦¶à¦¨ ইনসà§à¦Ÿà¦² করার "
+"জনà§à¦¯\n"
+"মà§à¦›à§‡ ফেলতে চান। সাবধান, à¦à¦‡ ডà§à¦°à¦¾à¦‡à¦­à§‡ থাকা সকল ডাটা হারিয়ে যাবে à¦à¦¬à¦‚ আর কখনই\n"
+"পাওয়া যাবে না!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"যদি à¦à¦‡ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡ থাকা সব ডাটা à¦à¦¬à¦‚ পারà§à¦Ÿà¦¿à¦¶à¦¨ মà§à¦›à§‡ ফেলতে চান তাহলে আপনি\n"
+"\"%s\"তে কà§à¦²à¦¿à¦• করà§à¦¨à¥¤ সাবধান, \"%s\"তে কà§à¦²à¦¿à¦• করার পর, উইনà§à¦¡à§‹à¦œ ডাটাসহ,\n"
+"আপনি à¦à¦‡ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡ থাকা কোন ডাটা à¦à¦¬à¦‚ পারà§à¦Ÿà¦¿à¦¶à¦¨ ফিরে\n"
+"পাবেন না।\n"
+"\n"
+"à¦à¦‡ অপারেশনের মাধà§à¦¯à¦®à§‡ হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­à§‡à¦° উপসà§à¦¥à¦¿à¦¤ ডাটা à¦à¦¬à¦‚ পারà§à¦Ÿà¦¿à¦¶à¦¨ হারাতে না চাইলে \"%s"
+"\"তে কà§à¦²à¦¿à¦• করà§à¦¨à¥¤"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "পরবরà§à¦¤à§€ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- পূরà§à¦¬à¦¬à¦°à§à¦¤à§€"
+
+# sam
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": \"%s\" বাটনে কà§à¦²à¦¿à¦• করলে পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° কনফিগারেশন উইজারà§à¦¡ খà§à¦²à¦¬à§‡à¥¤\n"
+#~ "পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° কনফিগারেশন সমà§à¦¬à¦¨à§à¦§à§‡ আরো জানতে, \"সà§à¦Ÿà¦¾à¦°à§à¦Ÿà¦¾à¦° গাইড\" à¦à¦° যথাযথ\n"
+#~ "অধà§à¦¯à¦¾à§Ÿà§‡à¦° পরামরà§à¦¶ নিন। আমাদের সহায়িকাতে দেখানো ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸à¦Ÿà¦¿, ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡\n"
+#~ "বà§à¦¯à¦¬à¦¹à§ƒà¦¤ ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸à§‡à¦° অনà§à¦°à§à¦ªà¥¤ "
+
+#~ msgid "authentication"
+#~ msgstr "অনà§à¦®à§‹à¦¦à¦¨"
diff --git a/perl-install/install/help/po/br.po b/perl-install/install/help/po/br.po
new file mode 100644
index 000000000..62a4b0104
--- /dev/null
+++ b/perl-install/install/help/po/br.po
@@ -0,0 +1,1125 @@
+# DrakX e Brezhoneg.
+# Copyright (C) 1999-2005 Mandriva
+# Thierry Vignaud <thierry.vignaud.com>, 1999-2005
+# Jañ-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>, 1999-2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 10.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-04-06 19:37+0200\n"
+"Last-Translator: Thierry Vignaud <thierry.vignaud.com>\n"
+"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1;plural=0\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Mennout a rit implijout an arc'hwel-mañ ?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Bremanaat"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Gant teuliadur bihan"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Staliadur bihan gwir"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Bremañ e c'hellit diuz pe servijoù a vennit e vije lañset pa loc'her.\n"
+"Pa zeu ho logodenn war un draez, ul lagadenn skoazell a zeuio war wel hag\n"
+"a zisplego pal ar servij-se.\n"
+"\n"
+"Bezit aketuz-kenañ el lankad-mañ ma vennit implijout ho ardivink evel ur\n"
+"servijer : mennout a rit emichañs chom hep loc'hañ kement servij n'ho peus "
+"ket\n"
+"c'hoant."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Impliji parzhadur o vezañ"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Chetañ an holl planedenn"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Krouiñ ur bladennig staliañ emgefreek"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Melestradur an surentez"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Emvarc'hañ ar skoroù lem/laka"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Tremen er mod boas/mailh"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spagnoleg"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gant kendarvanerezh ar rodell"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Hollvedel | Ul logodenn bennak (PS/2 pe USB)"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Dibabit ar porzh a zere mar plij. Da skouer, porzh « COM1 » dindan MS\n"
+"Windows a vez anvet « ttyS0 » gant Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Mod mailh"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Kartenn ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Kartenn ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Ketal Kevregañ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "A heul ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Diaraog"
+
+#~ msgid "authentication"
+#~ msgstr "dilesadur"
diff --git a/perl-install/install/help/po/bs.po b/perl-install/install/help/po/bs.po
new file mode 100644
index 000000000..9e40d9b94
--- /dev/null
+++ b/perl-install/install/help/po/bs.po
@@ -0,0 +1,2039 @@
+# translation of bs.po to Bosanski
+# translation of DrakX-bs.po to Bosanski
+# Copyright (C) 2001, 2003, 2004, 2005. Free Software Foundation, Inc.
+# Amila Akagić <bono@lugbih.org>, 06. 2001.
+# Vedran Ljubovic <vljubovic@smartnet.ba>, 2002, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-02-26 11:13+0100\n"
+"Last-Translator: Vedran Ljubovic <vljubovic@smartnet.ba>\n"
+"Language-Team: Bosanski <lokal@lugbih.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\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"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prije nego Å¡to nastavimo, trebate pažljivo proÄitati uvjete licence. Ona\n"
+"pokriva cijelu Mageia distribuciju. Ako se slažete sa svim\n"
+"uvjetima u njoj, izaberite opciju \"%s\". Ako ne, klikom na \"%s\" ćete\n"
+"restartovati vaÅ¡ raÄunar."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je viÅ¡ekorisniÄki sistem, Å¡to znaÄi da svaki korisnik može imati\n"
+"vlastite preference, vlastite datoteke i tako dalje. Možete proÄitati "
+"''PoÄetniÄki\n"
+"vodiÄ'' da biste saznali viÅ¡e o viÅ¡ekorisniÄkim sistemima. Ali za razliku "
+"od\n"
+"\"root\"-a, koji je administrator sistema, korisnicima koje dodate u ovom "
+"trenutku\n"
+"neće biti dozvoljeno da promijene ništa osim vlastitih datoteka i vlastite\n"
+"konfiguracije, Äime je sistem zaÅ¡tićen od nenamjernih ili zlonamjernih "
+"izmjena\n"
+"koje mogu uticati na cijeli sistem. Moraćete kreirati najmanje jednog "
+"korisnika\n"
+"za vas same -- ovo je raÄun koji trebate koristiti za rutinsku, svakodnevnu\n"
+"upotrebu. Iako je vrlo lako prijaviti se kao \"root\" da biste radili sve i "
+"svašta,\n"
+"to takoÄ‘e može biti i vrlo opasno! Jedna greÅ¡ka može znaÄiti da vaÅ¡ sistem\n"
+"viÅ¡e ne radi. Ako napravite ozbiljnu pogreÅ¡ku kao obiÄan korisnik, najgore\n"
+"Å¡to se može desiti jeste da izgubite neke informacije, ali ne i da utiÄete "
+"na\n"
+"cijeli sistem.\n"
+"\n"
+"U prvom polju unosite vaše pravo ime i prezime. Naravno, ovo nije obavezno\n"
+"-- u stvari možete ovdje unijeti šta god hoćete. DrakX će koristiti prvu "
+"rijeÄ\n"
+"koju unesete i kopirati je u polje \"%s\", što je ime koje će ovaj\n"
+"korisnik unositi da bi ušao na sistem. Ako želite, možete promijeniti\n"
+"ponuÄ‘enu vrijednost. Idući korak je da unesete Å¡ifru. Sa sigurnosne taÄke\n"
+"glediÅ¡ta, Å¡ifra neprivilegovanog (obiÄnog) korisnika nije tako važna kao "
+"\"root\"\n"
+"šifra, ali to nije razlog da je zanemarite tako što ćete je ostaviti praznom "
+"ili\n"
+"prejednostavnom: na kraju krajeva, vaÅ¡e liÄne datoteke je ono Å¡to je u\n"
+"riziku.\n"
+"\n"
+"Jednom kada kliknete na \"%s\", možete ih dodati još.\n"
+"Dodajte po jednog korisnika za svakog od vaših prijatelja: na primjer za\n"
+"vašeg oca ili sestru. Kliknite na \"%s\" kada završite dodavanje korisnika.\n"
+"\n"
+"Klikanjem na dugme \"%s\" možete promijeniti osnovni \"shell\" za tog\n"
+"korisnika (ponuđen je bash).\n"
+"\n"
+"Kada završite dodavanje svih korisnika, bićete upitani da odaberete\n"
+"korisnika koji se može automatski prijaviti prilikom pokretanja sistema.\n"
+"Ako ste zainteresovani za ovu mogućnost (i ne brinete previše o lokalnoj\n"
+"sigurnosti), izaberite željenog korisnika i window manager, zatim kliknite\n"
+"na \"%s\". Ako niste zainteresovani za to, iskljuÄite opciju\n"
+"\"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite koristiti ovu mogućnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Ovdje su navedene Linux particije koje već postoje na vašem hard disku.\n"
+"Možete zadržati izbore koje je napravio Äarobnjak, poÅ¡to su oni dobri za\n"
+"uobiÄajene instalacije. Ako napravite neke izmjene, morate, ako niÅ¡ta\n"
+"drugo, definisati root particiju (\"/\"). Nemojte izabrati premalu "
+"particiju\n"
+"ili nećete moći instalirati dovoljno softvera. Ako želite držati vaše "
+"podatke\n"
+"na zasebnoj particiji, trebate takođe napraviti \"/home\" particiju (što je\n"
+"moguće samo ako imate više od jedne Linux particije na raspolaganju).\n"
+"\n"
+"Svaka particija je navedena ovako: \"Ime\", \"Kapacitet\".\n"
+"\n"
+"\"Ime\" se sastoji od: \"vrsta hard diska\", \"broj hard diska\", \"broj\n"
+"particije\" (na primjer, \"hda1\").\n"
+"\n"
+"\n"
+"\"Vrsta hard diska\" je \"hd\" ako je vaš hard disk IDE, a \"sd\" ako je\n"
+"u pitanju SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo nakon \"hd\" ili \"sd\". Kod IDE hard\n"
+"diskova:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+"Kod SCSI hard diskova, \"a\" je \"disk sa najnižim SCSI IDom\", \"b\"\n"
+"je \"drugi najniži SCSI ID\", itd."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalacija se prostire na nekoliko CDova. Ako je neki\n"
+"paket smješten na drugom CDu, DrakX će izbaciti trenutni CD i zamoliti vas\n"
+"da ubacite neki drugi po potrebi. Ako nemate potreban CD pri ruci,\n"
+"samo kliknite na \"%s\", odgovarajući paketi neće biti instalirani."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada je vrijeme da izaberete koje programe želite instalirati na vaš\n"
+"sistem. Za Mageia su dostupne hiljade paketa, pa da bi\n"
+"njihovo upravljanje bilo lakÅ¡e, organizovani su u grupe sliÄne\n"
+"primjene.\n"
+"\n"
+"Paketi su sortirani u grupe ovisno o tipiÄnoj namjeni vaÅ¡eg raÄunara.\n"
+"U Mageiau date su Äetiri predefinisane kategorije. Možete\n"
+"miješati i poklapati programe iz raznih grupa, pa tako instalacija ``Radna\n"
+"stanica'' može sadržavati programe iz grupe ``Programiranje''.\n"
+"\n"
+" * \"%s\": ako planirate da koristite vaÅ¡ raÄunar kao radnu stanicu, "
+"izaberite\n"
+"jednu ili više grupa koje se nalaze u ovoj kategoriji.\n"
+"\n"
+" * \"%s\": ako planirate koristiti vaÅ¡ raÄunar za programiranje, izaberite\n"
+"odgovarajuće grupe iz te kategorije. Posebna \"LSB\" grupa će podesiti\n"
+"vaš sistem tako da on bude sukladan specifikaciji Linux Standard Base\n"
+"koliko god je to moguće.\n"
+"\n"
+" Izborom \"LSB\" grupe također ćete koristiti kernel serije \"2.4\",\n"
+"umjesto uobiÄajenog \"2.6\". Ovo je kako bi se osigurala 100%%\n"
+"sukladnost sistema sa LSBom. Ipak, Äak i ako niste izabrali opciju\n"
+"\"LSB\" imaćete sistem koji je skoro 100%% sukladan sa LSBom.\n"
+"\n"
+" * \"%s\": ako je vaÅ¡ raÄunar zamiÅ¡ljen kao server, izaberite koje od\n"
+"uobiÄajenih servisa želite instalirati na vaÅ¡ raÄunar.\n"
+"\n"
+" * \"%s\": ovdje možete izabrati vaÅ¡u preferiranu grafiÄku okolinu. Barem\n"
+"jedna od njih mora biti izabrana ako želite da imate grafiÄki interfejs.\n"
+"\n"
+"Držanjem kursora miša iznad imena grupe će nakratko prikazati kratko\n"
+"objašnjenje o pojedinoj grupi.\n"
+"\n"
+"Možete aktivirati opciju \"%s\", koja je zgodna ako se upoznati sa "
+"ponuđenim\n"
+"paketima ili ako želite imati potpunu kontrolu nad onim što će se "
+"instalirati.\n"
+"\n"
+"Ako ste zapoÄeli instalaciju u \"%s\" režimu, možete iskljuÄiti sve grupe\n"
+"kako biste izbjegli instalaciju bilo kojeg novog paketa. Ovo je pogodno za\n"
+"popravljanje ili unaprjeđenje postojećeg sistema.\n"
+"\n"
+"Ako iskljuÄite sve grupe prilikom obavljanja obiÄne instalacije (a ne\n"
+"upgrade), iskoÄiće dijalog koji vam nudi razne opcije za minimalnu "
+"instalaciju:\n"
+"\n"
+" * \"%s\": instalira minimalan mogući broj paketa potrebnih da imate\n"
+"funkcionalan grafiÄki desktop.\n"
+"\n"
+" * \"%s\": instalira bazni sistem plus osnovne alate i njihovu\n"
+"dokumentaciju.\n"
+" Ova instalacija je prikladna za podešavanje servera.\n"
+"\n"
+" * \"%s\": ovo će instalirati apsolutni minimum paketa potrebnih da imate\n"
+"funkcionalan Linux sitsem. Sa ovom instalacijom imaćete samo komandnu\n"
+"liniju. Ukupna veliÄina ove instalacije je oko 65 megabajta."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Unaprijedi"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Stvarno minimalna instalacija"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ako ste naveli da želite individualno izabrati pakete, biće vam prikazano\n"
+"stablo koje sadrži sve pakete klasifikovane po grupama i podgrupama.\n"
+"Pregledajući stablo, možete izabrati Äitave grupe, podgrupe ili\n"
+"individualne pakete.\n"
+"\n"
+"Kad god izaberete paket na stablu, desno od njega se pojavljuje opis koji\n"
+"vam objašnjava svrhu paketa.\n"
+"\n"
+"!! Ako izaberete neki serverski paket, zato Å¡to ste specifiÄno izabrali taj\n"
+"paket ili zato što je on dio grupe paketa, bićete zamoljeni da potvrdite da\n"
+"zaista želite da taj server bude instaliran. Mageia obiÄno\n"
+"automatski pokreće sve instalirane servise prilikom pokretanja sistema.\n"
+"ÄŒak i ako su sigurni i nemaju poznatih problema u trenutku pakovanja\n"
+"distribucije, sasvim je moguće da su neke sigurnosne rupe otkrivene\n"
+"nakon što je dovršena ova verzija Mageiaa. Ako niste sigurni\n"
+"Äemu taÄno služi taj paket ili zaÅ¡to ga treba instalirati, kliknite na \"%s"
+"\".\n"
+"Klikom na \"%s\" instalirate navedene servise i oni će biti automatski\n"
+"pokrenuti tokom pokretanja sistema. !!\n"
+"\n"
+"Opcija \"%s\" se koristi da bi se iskljuÄio dijalog upozorenja\n"
+"koji se pojavljuje svaki put kada instalacioni program automatski izabere\n"
+"neki paket kako bi razriješio neku zavisnost. Pojedini paketi imaju\n"
+"zavisnost jedan od drugog u smislu da instalacija jednog paketa traži\n"
+"da bude instaliran i drugi. Instalacioni program može odrediti koji paketi\n"
+"su potrebni da bi se zadovoljila zavisnost i uspješno završila instalacija.\n"
+"\n"
+"Mala ikona sa disketom na dnu liste vam omogućuje da uÄitate listu paketa\n"
+"koja je napravljena tokom neke ranije instalacije. Ovo je korisno ako "
+"želite\n"
+"da imate nekoliko raÄunara koji su identiÄno podeÅ¡eni. Nakon klika na ovu\n"
+"ikonu bićete zamoljeni da u disketnu jedinicu stavite disketu napravljenu\n"
+"tokom ranije instalacije. Pogledajte drugi savjet na zadnjem koraku da "
+"biste\n"
+"saznali kako se pravi ova disketa."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatske ovisnosti"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ovim dijalogom možete izabrati koje servise želite pokretati prilikom "
+"boota.\n"
+"\n"
+"Ovdje su predstavljeni svi servisi koji su dostupni u trenutnoj\n"
+"instalaciji. Pregledajte ih pažljivo i iskljuÄite sve one koji nisu\n"
+"potrebni prilikom boota.\n"
+"\n"
+"Kada izaberete servis dobićete kratki tekst koji objašnjava taj servis.\n"
+"Ipak, ako niste sigurni da li je servis koristan ili ne, sigurnije je da ne\n"
+"mijenjate predloženi izbor.\n"
+"\n"
+"!! Budite vrlo pažljivi sa ovim korakom ako namjeravate koristiti vaš\n"
+"raÄunar kao server: vjerovatno ne želite da pokrenete neke servise koji\n"
+"vam ne trebaju. Molim vas da zapamtite da pojedini servisi mogu biti\n"
+"opasni ako su aktivni na serveru. Općenito, izaberite samo one servise\n"
+"koji vam stvarno trebaju. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux koristi vrijeme u GMT (Greenwich Mean Time) obliku i prevodi ga\n"
+"u lokalno vrijeme u skladu sa vremenskom zonom koju ste izabrali. Ako je\n"
+"sat na vaÅ¡oj matiÄnoj ploÄi podeÅ¡en na lokalno vrijeme, možete iskljuÄiti "
+"ovu\n"
+"opciju iskljuÄujući \"%s\", Å¡to će saopÅ¡titi GNU/Linuxu da su sistemski sat\n"
+"i hardverski sat u istoj vremenskoj zoni. Ovo je korisno kada se na "
+"raÄunaru\n"
+"takođe nalazi i drugi operativni sistem kao što je Windows.\n"
+"\n"
+"Opcija \"%s\" će automatski regulisati sat spajajući se na udaljeni time "
+"server\n"
+"na Internetu. Kako bi ova mogućnost radila, morate imati ispravnu Internet\n"
+"konekciju. Najbolje je izabrati time server negdje u vašoj blizini. Ova "
+"opcija\n"
+"će ustvari instalirati time server koji mogu koristiti i drugi raÄunari u "
+"vašoj\n"
+"lokalnoj mreži."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska sinhronizacija vremena"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"GrafiÄka kartica\n"
+"\n"
+" Instalacija obiÄno automatski prepoznaje i podeÅ¡ava grafiÄku karticu\n"
+"koja je instalirana na raÄunar. Ako se ovo nije desilo, možete izabrati\n"
+"sa liste karticu koja je ugraÄ‘ena u vaÅ¡ raÄunar.\n"
+"\n"
+" U sluÄaju da postoji viÅ¡e dostupnih servera za vaÅ¡u karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (skraćeno od X Window System) je srce GNU/Linux grafiÄkog interfejsa\n"
+"o kojem ovise sve grafiÄke okoline (KDE, GNOME, AfterStep,\n"
+"WindowMaker itd.) ukljuÄene u Mageia.\n"
+"\n"
+"Biće vam predstavljena lista razliÄitih parametara koje možete promijeniti\n"
+"da biste dobili optimalan grafiÄki prikaz.\n"
+"\n"
+"GrafiÄka kartica\n"
+"\n"
+" Instalacija obiÄno automatski prepoznaje i podeÅ¡ava grafiÄku karticu\n"
+"koja je instalirana na raÄunar. Ako se ovo nije desilo, možete izabrati\n"
+"sa liste karticu koja je ugraÄ‘ena u vaÅ¡ raÄunar.\n"
+"\n"
+" U sluÄaju da postoji viÅ¡e dostupnih servera za vaÅ¡u karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Instalacioni program obiÄno može prepoznati i podesiti monitor koji\n"
+"je povezan na vaÅ¡ raÄunar. Ako se ovo ne desi, možete odabrati neki\n"
+"monitor sa ove liste.\n"
+"\n"
+"\n"
+"\n"
+"Rezolucija\n"
+"\n"
+" Ovdje možete izabrati rezoluciju i broj boja među vrijednostima koje su\n"
+"moguće na vašem hardveru. Izaberite one vrijednosti koje vam najbolje\n"
+"odgovaraju (moći ćete ih promijeniti nakon instalacije). Primjer izabrane\n"
+"konfiguracije je prikazan na slici monitora.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Ovisno o vašem hardveru, ova opcija možda neće biti dostupna.\n"
+"\n"
+" Sistem će pokuÅ¡ati prikazati grafiÄki ekran na željenoj rezoluciji.\n"
+"Ako možete vidjeti poruku tokom testa i odgovorite sa \"%s\", DrakX\n"
+"će produžiti na idući korak. Ako ne možete vidjeti poruku, to znaÄi\n"
+"da je neki dio automatski prepoznate konfiguracije bio pogrešan.\n"
+"Test će automatski zavrÅ¡iti nakon 12 sekundi, Äime ćete biti vraćeni na\n"
+"meni. Mijenjajte postavke dok ne dobijete ispravan grafiÄki prikaz.\n"
+"\n"
+"\n"
+"\n"
+"Opcije\n"
+"\n"
+" Ovdje možete izabrati da li želite da vaÅ¡ raÄunar automatski preÄ‘e na\n"
+"grafiÄki interfejs nakon ukljuÄivanja. OÄito, trebate odgovoriti \"%s\" ako\n"
+"će vaÅ¡ raÄunar imati ulogu servera ili ako imate problema sa\n"
+"podešavanjem ekrana."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Instalacioni program obiÄno može prepoznati i podesiti monitor koji\n"
+"je povezan na vaÅ¡ raÄunar. Ako se ovo ne desi, možete odabrati sa ove\n"
+"liste monitor koji je ustvari povezan na vaÅ¡ raÄunar."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rezolucija\n"
+"\n"
+" Ovdje možete izabrati rezoluciju i broj boja među vrijednostima koje su\n"
+"moguće na vašem hardveru. Izaberite one vrijednosti koje vam najbolje\n"
+"odgovaraju (moći ćete ih promijeniti nakon instalacije). Primjer izabrane\n"
+"konfiguracije je prikazan na slici monitora."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"U sluÄaju da postoji viÅ¡e dostupnih servera za vaÅ¡u karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcije\n"
+"\n"
+" Ovdje možete izabrati da li želite da vaÅ¡ raÄunar automatski preÄ‘e na\n"
+"grafiÄki interfejs nakon ukljuÄivanja. OÄito, trebate odgovoriti \"%s\" ako\n"
+"će vaÅ¡ raÄunar imati ulogu servera ili ako imate problema sa\n"
+"podešavanjem ekrana."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Na ovom mjestu trebate izabrati gdje želite instalirati Mageia\n"
+"operativni sistem na vašem hard disku. Ako je disk prazan ili ako postojeći\n"
+"operativni sistem koristi sav prostor na njemu, potrebno je da ga\n"
+"particionirate. U biti, particioniranje hard diska predstavlja logiÄko\n"
+"organiziranje kako bi se stvorio prostor za instaliranje vašeg novog\n"
+"Mageia sistema.\n"
+"\n"
+"PoÅ¡to su efekti particioniranja obiÄno nepovratni, i mogu voditi do gubitka\n"
+"podataka na eventualnom postojećem operativnom sistemu, particioniranje\n"
+"može biti zastrašujuće i stresno ako ste neiskusan korisnik. Srećom, "
+"postoji\n"
+"Äarobnjak koji pojednostavljuje taj proces. Prije zapoÄinjanja, molim\n"
+"proÄitajte pažljivo ovaj tekst i, prije svega, nemojte žuriti.\n"
+"\n"
+"Ovisno o konfiguraciji vašeg hard diska, može biti dostupno nekoliko\n"
+"mogućnosti:\n"
+"\n"
+" * \"%s\": Ova opcija vodi na automatsko particioniranje vašeg praznog\n"
+"diska (diskova). Ako izaberete ovu opciju, neće biti postavljana\n"
+"nikakva daljnja pitanja.\n"
+"\n"
+" * \"%s\": Čarobnjak je detektovao jednu ili više postojećih\n"
+"Linux particija na vašem hard disku. Ako ih želite zadržati, izaberite ovu\n"
+"opciju. U tom sluÄaju, bićete upitani da izaberete taÄke montiranja koje\n"
+"odgovaraju svakoj od ovih particija. Automatski će biti predložene ranije\n"
+"taÄke montiranja, i najÄešće je pametno zadržati ih.\n"
+"\n"
+" * \"%s\": Ako je na vašem hard\n"
+"disku instaliran Microsoft Windows koji je zauzeo sav slobodan prostor,\n"
+"moraćete napraviti neÅ¡to slobodnog prostora za GNU/Linux. To možete uÄiniti\n"
+"brišući vašu Microsoft Windows particiju zajedno sa podacima (vidi opciju\n"
+"``ObriÅ¡i Äitav disk'' ispod) ili možete promijeniti veliÄinu vaÅ¡e Microsoft\n"
+"Windows FAT ili NTFS particije. Promjena veliÄine se može izvrÅ¡iti bez "
+"gubitka\n"
+"podataka, pod uslovom da prethodno defragmentirate Windows particiju\n"
+"i da ona koristi FAT format. Backupovanje vaših podataka je strogo\n"
+"preporuÄeno. Ova mogućnost je preporuÄena ako namjeravate koristiti i\n"
+"Mageia i Microsoft Windows na istom raÄunaru.\n"
+"\n"
+" Prije izbora ove opcije, molim da imate na umu da će, nakon ove\n"
+"procedure, veliÄina vaÅ¡e Microsoft Windows particije biti manja nego\n"
+"trenutno. To znaÄi da će Microsoft Windows prijavljivati da imate manje\n"
+"prostora za smještaj podataka ili instaliranje novog softwarea.\n"
+"\n"
+" * \"%s\": Ako želite da obrišete sve podatke i sve particije koje su\n"
+"prisutne na vašem hard disku i umjesto njih postavite vaš novi Mandriva\n"
+"Linux sistem, možete izabrati ovu opciju. Budite oprezni sa ovom\n"
+"mogućnošću, jer nećete moći poništiti vaš izbor nakon potvrde.\n"
+"\n"
+" !! Ako izaberete ovu opciju, svi podaci na vašem disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"%s\": Ova opcija se javlja kada je Äitav disk zauzet Microsoft\n"
+"Windowsom. Ovo će jednostavno pobrisati sve na disku i poÄeti od\n"
+"poÄetka, particionirajući ga.\n"
+"\n"
+" !! Ako izaberete ovu opciju, svi podaci na vašem disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"%s\": Ako želite da ruÄno particionirate vaÅ¡ hard disk,\n"
+"izaberite ovu opciju. Budite oprezni -- to je moćan, ali i opasan izbor. "
+"Vrlo\n"
+"lako možete izgubiti sve vaÅ¡e podatke. Zato ovu opciju ne preporuÄujemo,\n"
+"osim ako ste nešto ovakvo već radili i imate nekog iskustva. Više uputstava\n"
+"za koriÅ¡tenje DiskDrake alata možete naći u ``VodiÄu za poÄetnike'', "
+"odjeljak\n"
+"``Upravljanje vašim particijama''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeću particiju"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "PobriÅ¡i Äitav disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"To je to. Instalacija je sada završena i vaš GNU/Linux sistem je spreman\n"
+"za upotrebu. Samo kliknite na \"%s\" da restartujete sistem. Ne zaboravite\n"
+"da izvadite instalacioni medij (CD-ROM ili disketu). Prva stvar\n"
+"koju ćete ugledati nakon Å¡to raÄunar zavrÅ¡i hardverske provjere je meni\n"
+"bootloadera, koji vam nudi izbor operativnog sistema koji želite pokrenuti.\n"
+"\n"
+"Dugme \"%s\" će vam ponuditi još dva dugmeta za:\n"
+"\n"
+" * \"%s\": da biste napravili instalacionu\n"
+"disketu koja će automatski izvršiti cijelu instalaciju bez intervencije\n"
+"operatora, sliÄnu instalaciji koju ste upravo konfigurisali.\n"
+"\n"
+" Obratite pažnju na dvije razliÄite opcije koje su dostupne nakon\n"
+"klikanja na ovo dugme:\n"
+"\n"
+" * \"%s\". Ovo je djelomiÄno automatizirana instalacija. Korak\n"
+"particioniranja je jedini interaktivni dio.\n"
+"\n"
+" * \"%s\". Potpuno automatska instalacija: hard disk je\n"
+"potpuno prepisan, svi podaci su izgubljeni.\n"
+"\n"
+" Ova mogućnost je vrlo prikladna kada instalirate nekoliko sliÄnih\n"
+"raÄunara. Pogledajte odjeljak Automatska instalacija na naÅ¡oj web stranici\n"
+"za više informacija.\n"
+"\n"
+" * \"%s\": snima listu paketa koje ste izabrali u ovoj\n"
+"instalaciji. Da biste upotrijebili ovaj izbor sa drugom instalacijom,\n"
+"ubacite disketu i zapoÄnite instalaciju. Na upitu, pritisnite tipku [F1]\n"
+"i ukucajte >>linux defcfg=\"floppy\" <<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Napravi auto-instalacijsku disketu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ako želite koristiti neke stare GNU/Linux particije, možda ćete poželjeti\n"
+"da reformatirate neke od njih kako biste pobrisali podatke koje sadrže.\n"
+"Ako želite to uÄiniti, molim takoÄ‘e izaberite i te particije.\n"
+"\n"
+"Molim obratite pažnju da nije neophodno formatirati sve postojeće\n"
+"particije. Morate reformatirati particije koje sadrže operativni sistem\n"
+"(kao što su \"/\", \"/usr\" ili \"var\") ali ne morate reformatirati "
+"particije\n"
+"koje sadrže podatke koje želite zadržati (tipiÄno /home).\n"
+"\n"
+"Molim da pažljivo izaberete particije. Nakon formatiranja, svi podaci na\n"
+"odabranim particijama će biti pobrisani i nećete biti u mogućnosti da ih\n"
+"povratite.\n"
+"\n"
+"Kliknite na \"%s\" kada budete spremni za formatiranje particija.\n"
+"\n"
+"Kliknite na \"%s\" ako želite da izaberete druge particije za instalaciju\n"
+"vašeg novog Mageia operativnog sistema.\n"
+"\n"
+"Kliknite na \"%s\" da izaberete particije koje želite provjeriti radi\n"
+"loših blokova."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Kada završite instalaciju Mageiaa, moguće je da su neki paketi\n"
+"ažurirani od zadnjeg izdanja. Moguće je da su ispravljeni bugovi ili\n"
+"rješena neka sigurnosna pitanja. Ako želite iskoristiti ova unaprjeđenja,\n"
+"možete ih sada dobaviti sa Interneta. Izaberite \"%s\" ako imate ispravnu\n"
+"Internet vezu, ili \"%s\" ako ćete radije instalirati ažurirane pakete\n"
+"kasnije.\n"
+"\n"
+"Ako izaberete \"%s\" dobićete listu web lokacija sa kojih se mogu skinuti\n"
+"novi paketi. Izaberite ono najbliže vama. Pojaviće se stablo za izbor\n"
+"paketa: pregledajte izabrano i pritisnite \"%s\" da dobavite i\n"
+"instalirate izabrane pakete, ili \"%s\" za prekid."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Na ovom mjestu, DrakX vam omogućuje da izaberete sigurnosni nivo\n"
+"koji želite imati na ovom raÄunaru. Kao pravilo, sigurnosni nivo treba biti\n"
+"tim viÅ¡i Å¡to su važniji podaci na raÄunaru, a pogotovo ako će raÄunar biti\n"
+"direktno izložen Internetu. Većim nivoom sigurnosti obiÄno gubite na\n"
+"jednostavnosti korištenja.\n"
+"\n"
+"Ako ne znate šta izabrati, zadržite ponuđenu opciju. Možete promijeniti\n"
+"nivo sigurnosti naknadno koristeći program draksec iz Mageia\n"
+"Kontrolnog centra.\n"
+"\n"
+"Polje \"%s\" obavještava sistem o korisniku koji će biti odgovoran za\n"
+"sigurnost. Njemu će biti upućena sigurnosna obavještenja."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sigurnosni administrator"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Sada trebate izabrati koje particije želite koristiti za instalaciju vašeg\n"
+"Mageia sistema. Ako su particije već definisane, iz prijašnje\n"
+"GNU/Linux instalacije ili nekim drugim alatom za particioniranje, možete\n"
+"koristiti postojeće particije. U suprotnom, sada morate definisati\n"
+"particije vašeg hard diska.\n"
+"\n"
+"Da biste napravili particije, najprije morate izabrati hard disk. Možete\n"
+"izabrati disk za particioniranje klikom na ''hda'' za prvi IDE disk, "
+"''hdb''\n"
+"za drugi, ''sda'' za prvi SCSI disk i sliÄno.\n"
+"\n"
+"Pri particioniranju hard diska, možete koristiti sljedeće opcije:\n"
+"\n"
+" * \"%s\": ova opcija briše sve particije na izabranom hard disku\n"
+"\n"
+" * \"%s\": ova opcija vam omogućuje da automatski napravite ext4\n"
+"i swap particije u slobodnom prostoru vašeg hard diska\n"
+"\n"
+"\"%s\" omogućuje pristup dodatnim mogućnostima:\n"
+"\n"
+" * \"%s\": snima tabelu particija na disketu. Ovo je korisno za\n"
+"kasnije vraćanje tabele particija, ako je potrebno. Strogo je preporuÄeno\n"
+"da izvršite ovaj korak.\n"
+"\n"
+" * \"%s\": omogućuje vam da vratite ranije snimljenu tabelu\n"
+"particija sa diskete.\n"
+"\n"
+" * \"%s\": ako je vaša tabela particija oštećena, možete je pokušati\n"
+"obnoviti koristeći ovu opciju. Molim budite pažljivi i zapamtite da\n"
+"ova opcija ne uspijeva svaki put.\n"
+"\n"
+" * \"%s\": poniÅ¡tava sve promjene i ponovo uÄitava originalnu tabelu\n"
+"particija sa hard diska.\n"
+"\n"
+" * \"%s\": iskljuÄivanjem ove opcije ćete prisiliti korisnike da ruÄno\n"
+"montiraju i demontiraju izmjenjive medije kao što su diskete i\n"
+"CD-ROMovi.\n"
+"\n"
+" * \"%s\": koristite ovu opciju ako želite koristiti Äarobnjak za\n"
+"particioniranje vaÅ¡eg hard diska. Ovo je preporuÄeno ako nemate\n"
+"izraženo razumijevanje particioniranja.\n"
+"\n"
+" * \"%s\": koristite ovu opciju da poništite vaše izmjene.\n"
+"\n"
+" * \"%s\": omogućuje dodatne akcije na particijama (tip, opcije,\n"
+"formatiranje) i daje više informacija o hard disku.\n"
+"\n"
+" * \"%s\": kada završite particioniranje diska, ovo će zapisati\n"
+"vaše izmjene na disk.\n"
+"\n"
+"Prilikom definisanja veliÄine particije, možete fino podeÅ¡avati veliÄinu\n"
+"particije koristeći dugmad sa strjelicama na vašoj tastaturi.\n"
+"\n"
+"Napomena: svaku opciju možete postići tastaturom. Između particija\n"
+"se krećete koristeći dugme [Tab] i strjelice [Gore/Dolje].\n"
+"\n"
+"Kada izaberete particiju, možete koristiti:\n"
+"\n"
+" * Ctrl-C da napravite novu particiju (ako ste izabrali prazan prostor)\n"
+"\n"
+" * Ctrl-D da obrišete particiju\n"
+"\n"
+" * Ctrl-M da podesite taÄku montiranja\n"
+"\n"
+"Da biste dobili informacije o raznim tipovima datoteÄnog sistema koji\n"
+"su dostupni, proÄitajte poglavlje o ext2FS iz ''Referentnog priruÄnika''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatsko montiranje izmjenjivog medija"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "PrekidaÄ normalnog/ekspertnog moda"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na vašem hard disku ustanovljeno je više od jedne Microsoft particije.\n"
+"Molim izaberite onu koju želite smanjiti kako biste instalirali vaš\n"
+"Mageia operativni sistem.\n"
+"\n"
+"Svaka particija je navedena ovako: \"Linux ime\", \"Windows ime\",\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux ime\" se sastoji od: \"vrste hard diska\", \"broja hard diska\",\n"
+"\"broja particije\" (na primjer, \"hda1\").\n"
+"\n"
+"\"Vrsta hard diska\" je \"hd\" ako je vaš hard disk IDE, a \"sd\" ako je\n"
+"u pitanju SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo nakon \"hd\" ili \"sd\". Kod IDE hard\n"
+"diskova:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+"Kod SCSI hard diskova, \"a\" je \"disk sa najnižim SCSI IDom\", \"b\"\n"
+"je \"drugi najniži SCSI ID\", itd.\n"
+"\n"
+"\"Windows ime\" je slovo kojim je vaÅ¡ hard disk oznaÄen pod Windowsom\n"
+"(prva particija prvog diska se zove \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": provjerite trenutni izbor države. Ako se ne nalazite ovdje,\n"
+"kliknite na dugme \"%s\" i izaberite neku drugu državu. Ako se vaša\n"
+"zemlja ne nalazi na listi, kliknite na dugme \"%s\" kako biste dobili\n"
+"listu svih država."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ovaj korak se aktivira samo ako je na vaÅ¡em raÄunaru pronaÄ‘ena postojeća\n"
+"GNU/Linux particija.\n"
+"\n"
+"DrakX sada treba znati da li želite izvršiti novu instalaciju ili\n"
+"nadogradnju postojećeg Mageia sistema:\n"
+"\n"
+" * \"%s\". NajÄešće ovo će u potpunosti obrisati stari sistem. Ipak,\n"
+"ovisno o vaÅ¡oj Å¡emi particioniranja, možete sprijeÄiti da neki od vaÅ¡ih\n"
+"postojećih podataka (prije svega \"home\" direktoriji) budu prepisani.\n"
+"Ako želite promijeniti particioniranje starog hard diska ili promijeniti\n"
+"datoteÄni sistem, trebate koristiti ovu opciju.\n"
+"\n"
+" * \"%s\". Ova vrsta instalacije vam omogućuje da ažurirate pakete\n"
+"koji su trenutno instalirani na vašem Mageia sistemu. Vaša trenutna\n"
+"Å¡ema particioniranja i korisniÄki podaci neće biti izmijenjeni. Većina\n"
+"ostalih koraka konfiguracije ostaju kao Å¡to jesu, sliÄno obiÄnoj "
+"instalaciji.\n"
+"\n"
+"Opcija ''Nadogradi'' bi trebala raditi ispravno na Mageia sistemima\n"
+"koji koriste verziju \"8.1\" ili kasniju. Obavljanje nadogradnje na ranijim\n"
+"verzijama Mageiaa, prije verzije \"8.1\", nije preporuÄeno."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Ovisno o jeziku koji izaberete (), DrakX će\n"
+"automatski izabrati određeni tip tastature. Provjerite da li vam izabrano\n"
+"odgovara ili odaberite neki drugi raspored tastature.\n"
+"\n"
+"Ipak, možda nemate tastaturu koja taÄno odgovara vaÅ¡em jeziku: npr.\n"
+"ako ste Švajcarac koji govori engleski, možda imate švajcarsku tastaturu.\n"
+"Ili ako govorite engleski ali se nalazite u Kvibeku, možda ćete se naći u\n"
+"situaciji gdje se vaÅ¡ jezik i tastatura ne poklapaju. U svakom sluÄaju, "
+"ovaj\n"
+"korak instalacije vam omogućava da izaberete odgovarajuću tastaturu sa "
+"liste.\n"
+"\n"
+"Kliknite na dugme \"%s\" kako bi vam bila predstavljena potpuna lista\n"
+"podržanih tastatura.\n"
+"\n"
+"Ako izaberete raspored tipaka koji je baziran na ne-latiniÄnoj abecedi,\n"
+"sljedeći dijalog će vam ponuditi da izaberete tipke pomoću kojih možete\n"
+"prebaciti tastaturu izmeÄ‘u latiniÄnog i ne-latiniÄnog rasporeda."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvi korak je da izaberete preferirani jezik.\n"
+"\n"
+"Vaš izbor preferiranog jezika će se odraziti na jezik dokumentacije,\n"
+"instalacione procedure i generalno sistema. Najprije izaberite oblast u\n"
+"kojoj se nalazite, a zatim jezik kojim govorite.\n"
+"\n"
+"Klikanjem na dugme \"%s\" možete izabrati druge jezike koje\n"
+"želite instalirati na vašu radnu stanicu, time instalirajući sistemsku\n"
+"dokumentaciju i programe za svaki od izabranih jezika. Na primjer, ako\n"
+"će vaÅ¡ raÄunar koristiti osobe iz Å¡panije, izaberite Engleski kao osnovni\n"
+"jezik na listi, a \"%s\" u oblasti Više opcija.\n"
+"\n"
+"O UTF-8 (Unicode) podrÅ¡ci. Unicode je novi naÄin kodiranja znakova Äiji\n"
+"je cilj da obuhvati sve postojeće jezike. Ipak puna podrška za njega pod\n"
+"GNU/Linuxom je još uvijek u razvoju. Iz tog razloga, Mageia će ga\n"
+"koristiti ovisno o drugim izborima korisnika:\n"
+"\n"
+" * Ako izaberete jezike sa raširenim starim kodiranjem (latin1 jezici, "
+"ruski,\n"
+"japanski, kineski, korejanski, tajlandski, grÄki, turski, većina iso-8859-2\n"
+"jezika), biće korišteno staro kodiranje;\n"
+"\n"
+" * Za ostale jezike podrazumijeva se Unicode;\n"
+"\n"
+" * Ako je potrebno dva ili više jezika koji ne koriste isto kodiranje, "
+"Unicode\n"
+"će se koristiti za Äitav sistem;\n"
+"\n"
+" * KonaÄno, Unicode može biti nametnut sistemu ako korisnik to odluÄi\n"
+"izborom opcije \"%s\" bez obzira na izabrane jezike.\n"
+"n\n"
+"Obratite pažnju da niste ograniÄeni na samo jedan dodatni jezik. Možete\n"
+"ih izabrati nekoliko ili Äak ih instalirati sve klikom na polje \"%s\".\n"
+"VaÅ¡ izbor podrÅ¡ke za neki jezik oznaÄava da će biti instaliran prijevod,\n"
+"fontovi, pravila za provjeru pravopisa itd. za taj jezik.n\n"
+"\n"
+"Da biste izabrali između raznih jezika instaliranih na vašem sistemu, "
+"možete\n"
+"pokrenuti kao \"root\" naredbu \"localedrake\", Äime mijenjate\n"
+"jezik koji koristi Äitav sistem. IzvrÅ¡avanjem te naredbe kao obiÄan\n"
+"korisnik mijenjate jeziÄke postavke samo za tog konkretnog korisnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"ObiÄno DrakX nema problema da odredi broj dugmadi na vaÅ¡em miÅ¡u.\n"
+"Ako ima, pretpostaviće da imate miš sa dva dugmeta i podesiće simulaciju\n"
+"trećeg dugmeta. Treće dugme se može postići na mišu sa dva dugmeta\n"
+"istovremenim klikom na lijevo i desno dugme miša. DrakX će automatski\n"
+"znati da li miš koristi PS/2, serijski ili USB interfejs.\n"
+"\n"
+"Ako imate miÅ¡ sa tri dugmeta bez toÄkića, možete izabrati tip miÅ¡a pod\n"
+"imenom \"%s\". DrakX će zatim konfigurisati vašeg miša tako da može\n"
+"simulirati rad toÄkića trećim dugmetom. Da biste ovo postigli, držite\n"
+"srednje dugme miša i pomjerajte ga gore-dolje.\n"
+"\n"
+"Ako iz nekog razloga želite navesti drugaÄiji tip miÅ¡a, izaberite ga sa\n"
+"ponuđene liste.\n"
+"\n"
+"Možete izabrati stavku \"%s\" da izaberete ``opšti'' tip miša koji bi\n"
+"trebao raditi sa skoro svim miševima.\n"
+"Ako izaberete miÅ¡ razliÄit od ponuÄ‘enog, biće prikazan testni ekran.\n"
+"Koristite miÅ¡ i toÄkić da potvrdite da su postavke taÄne i da miÅ¡ radi\n"
+"ispravno. Ako miš ne radi kako treba, pritisnite razmaknicu ili tipku Enter\n"
+"da prekinete test i vratite se na listu izbora.\n"
+"\n"
+"MiÅ¡evi sa toÄkićem Äesto nisu prepoznati automatski, stoga trebate izabrati\n"
+"miš na listi. Pazite da izaberete odgovarajući port na koji je vaš miš\n"
+"prikljuÄen. Nakon izbora miÅ¡a i pritiska na dugme \"%s\", na ekranu će\n"
+"biti prikazana slika miÅ¡a. Pomjerajte toÄkić miÅ¡a kako biste provjerili da "
+"li\n"
+"ispravno funkcioniÅ¡e. Kada vidite da se toÄkić na ekranu pomjera onako\n"
+"kako vi vrtite stvarni toÄkić, provjerite dugmad i provjerite da li se "
+"pokazivaÄ\n"
+"na ekranu pomjera onako kako vi pomjerate miš."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "sa simulacijom toÄkića"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzalni | Bilo koji PS/2 ili USB miš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim izaberite ispravan port. Na primjer, \"COM1\" port pod Windows\n"
+"operativnim sistemom, pod GNU/Linuxom se zove \"ttyS0\" ."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"\"Boot loader\" je mali program koji se pokreće prilikom paljenja raÄunara.\n"
+"On je odgovoran za izbor i pokretanje operativnog sistema. Faza izbora boot\n"
+"loadera je obiÄno automatizovana. DrakX će analizirati boot sektor diska i\n"
+"postupati u skladu s onim što zatekne tamo:\n"
+"\n"
+" * ako pronađe Windows boot sektor, biće zamijenjen sa GRUB/LILO boot\n"
+"sektorom. Na ovaj naÄin bićete u mogućnosti da uÄitate ili GNU/Linux ili\n"
+"neki drugi OS koji je instaliran na vaÅ¡em raÄunaru.\n"
+"\n"
+" * ako pronađe GRUB ili LILO boot sektor, zamijeniće ga novim.\n"
+"\n"
+"Ako ne može donijeti odluku, DrakX će vas pitati gdje da postavi\n"
+"bootloader. Generalno, \"%s\" je najsigurnije mjesto. Birajući \"%s\"\n"
+"izbjeći ćete instalaciju bootloadera. Koristite ovu opciju samo ako znate\n"
+"šta radite."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sada je vrijeme da izaberete sistem Å¡tampe za vaÅ¡ raÄunar. Drugi\n"
+"operativni sistemi vam možda nude jedan, ali Mageia nudi\n"
+"dva. Svaki od ovih sistema je najbolji za određenu vrstu konfiguracije.\n"
+"\n"
+"* \"%s\" -- skraćeno za ``štampaj i nemoj stavljati u red'' (print, do not\n"
+"queue) je najbolji izbor ako imate direktnu vezu na Å¡tampaÄ, želite izlaz\n"
+"za paniku u sluÄajevima zaglavljivanja papira i nemate mrežne Å¡tampaÄe.\n"
+"(\"%s\" može rijeÅ¡iti samo vrlo jednostavne mrežne sluÄajeve i pomalo je\n"
+"spor kada se koristi sa mrežama.) PreporuÄujemo da koristite \"pdq\" ako\n"
+"je ovo vaše prvo iskustvo sa GNU/Linuxom.\n"
+"\n"
+"* \"%s\" znaÄi ``Common UNIX Printing System'' (uobiÄajeni UNIX sistem "
+"štampe)\n"
+"je odliÄan izbor za Å¡tampanje na Å¡tampaÄ koji se nalazi lokalno ili s druge\n"
+"strane planete. Vrlo ga je jednostavno podesiti i može služiti kao server "
+"ili\n"
+"klijent za prastari \"lpd\" sistem štampe, tako da je kompatibilan sa "
+"starijim\n"
+"operativnim sistemima kojima možda još trebaju usluge štampanja. Mada je\n"
+"vrlo moćan, osnovno podešavanje je skoro jednako lagano kao za \"pdq\".\n"
+"Ako želite simulirati \"lpd\" server, provjerite da li ste pokrenuli \"cups-"
+"lpd\"\n"
+"servis. \"%s\" ukljuÄuje grafiÄke alate za Å¡tampanje ili izbor opcija "
+"Å¡tampaÄa,\n"
+"te za upravljanje Å¡tampaÄem.\n"
+"\n"
+"Ako sada napravite izbor, pa kasnije zakljuÄite da vam se ne sviÄ‘a izabrani\n"
+"sistem štampe, možete ga promijeniti pokretanjem PrinterDrake iz\n"
+"Mageia Kontrolnog centra i klikanjem na dugme \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX će najprije potražiti sve IDE ureÄ‘aje prisutne na vaÅ¡em raÄunaru.\n"
+"Također će pretražiti sistem za jednu ili više PCI SCSI kartica. Ako\n"
+"SCSI kartica bude pronađena, DrakX će automatski instalirati odgovarajući\n"
+"drajver.\n"
+"\n"
+"Budući da pronalaženje hardware-a nikad nije savršeno, DrakX možda neće\n"
+"pronaći vaÅ¡e hard diskove. Ako se to desi, moraćete ih navesti ruÄno.\n"
+"\n"
+"Ako je potrebno da ruÄno odaberete PCI SCSI adapter, DrakX će vas pitati\n"
+"da li želite navesti neke opcije za njega. Trebate dopustiti DrakXu da\n"
+"ispita hardware za neke opcije specifiÄne za tu karticu. ObiÄno DrakX "
+"prolazi\n"
+"kroz ovaj korak bez problema.\n"
+"\n"
+"Ako DrakX ne može ispitati opcije koje trebaju biti proslijeđene, moraćete\n"
+"ruÄno navesti opcije za drajver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ako je na vaÅ¡em sistemu otkrivena zvuÄna kartica, ona će\n"
+"biti prikazana ovdje. Ako primijetite da prikazana zvuÄna kartica nije ona\n"
+"koja je ustvari dio vašeg sistema, možete kliknuti na dugme i odabrati neki\n"
+"drugi drajver."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX će vam pružiti sažetak raznih informacija koje su prikupljene\n"
+"o vašem sistemu. Ovisno o instaliranom hardveru, vjerovatno imate\n"
+"neke ili sve od navedenih stavki. PojedinaÄna stavka se sastoji od\n"
+"onoga Å¡to je potrebno podesiti, nakon Äega slijedi kraći sažetak trenutne\n"
+"konfiguracije. Da biste ovo izmijenili, kliknite na odgovarajuće dugme \"%s"
+"\".\n"
+"\n"
+"* \"%s\": provjerite trenutnu mapu tastature i izmijenite je ako je\n"
+" potrebno.\n"
+"\n"
+"* \"%s\": provjerite trenutno izabranu državu. Ako se nalazite negdje\n"
+"drugo, kliknite na dugme \"%s\" i izaberite neku drugu. Ako se vaša\n"
+"zemlja ne nalazi na prikazanoj listi, kliknite na dugme \"%s\" da biste\n"
+"dobili cjelokupnu listu zemalja.\n"
+"\n"
+"* \"%s\": DrakX automatski određuje vašu vremensku zonu\n"
+"na osnovu države koju ste izabrali. Možete kliknuti na dugme \"%s\"\n"
+"ako ovo nije ispravno.\n"
+"\n"
+"* \"%s\": provjerite trenutnu konfiguraciju miša i klinite na dugme da je\n"
+"promijenite ako je to potrebno.\"\n"
+"\n"
+"* \"%s\": klikanjem na dugme \"%s\" otvoriće se Äarobnjak za\n"
+"podeÅ¡avanje Å¡tampaÄa. Pogledajte odgovarajuće poglavlje ''VodiÄa za\n"
+"poÄetnike'' za viÅ¡e informacija o podeÅ¡avanju novog Å¡tampaÄa. Interfejs\n"
+"koji je prikazan u naÅ¡em priruÄniku je sliÄan onom koji će biti koriÅ¡ten "
+"tokom instalacije.\n"
+"\n"
+"* \"%s\": ako je na vaÅ¡em sistemu otkrivena zvuÄna kartica, ona će\n"
+"biti prikazana ovdje. Ako primjetite da prikazana zvuÄna kartica nije ona\n"
+"koja je ustvari dio vašeg sistema, možete kliknuti na dugme i odabrati neki\n"
+"drugi drajver.\n"
+"\n"
+"* \"%s\": ako je na vašem sistemu prepoznata TV kartica, biće\n"
+"prikazana ovdje. Ako imate TV karticu koja nije prepoznata, kliknite na\n"
+"dugme \"%s\" kako biste pokuÅ¡ali podesiti je ruÄno.\n"
+"\n"
+" * \"%s\": možete kliknuti na \"%s\" da promijenite parametre pridružene\n"
+"kartici ako mislite da je konfiguracija neispravna.\n"
+"\n"
+"* \"%s\": DrakX će podesiti vaÅ¡ grafiÄki interfejs za rad na\n"
+"rezoluciji \"800x600\" ili \"1024x768\". Ako vam to ne odgovara, kliknite\n"
+"na dugme \"%s\" kako biste drugaÄije podesili vaÅ¡ interfejs.\n"
+"\n"
+"* \"%s\": ako želite, možete podesiti vaš Internet pristup ili pristup\n"
+"lokalnoj mreži. Pogledajte štampanu dokumentaciju ili koristite\n"
+"Mageia Kontrolni centar nakon što je završena instalacija\n"
+"kako biste koristili ugrađenu pomoć. \n"
+" * \"%s\": omogućuje vam da podesite adrese HTTP i FTP proxyja ako\n"
+"se raÄunar na koji instalirate nalazi iza proxy servera.\n"
+"\n"
+"* \"%s\": ovdje možete promijeniti nivo sigurnosti sistema koji\n"
+"je podešen u prethodnom koraku ().\n"
+"\n"
+"* \"%s\": ako planirate povezati vaÅ¡ raÄunar na Internet, pametno je\n"
+"zaštititi ga od upada postavljanjem firewalla. Pogledajte odgovarajuće\n"
+"poglavlje ''VodiÄa za poÄetnike'' za detalje o podeÅ¡avanju firewalla.\n"
+"\n"
+"* \"%s\": ako želite promijeniti postavke bootloadera, kliknite na to\n"
+"dugme. Ovo bi trebalo biti rezervisano za napredne korisnike. Pogledajte\n"
+"Å¡tampanu dokumentaciju ili pomoć za bootloader konfiguraciju ukljuÄenu\n"
+"u Mageia Kontrolni centar.\n"
+"\n"
+"* \"%s\": ovdje možete fino podešavati koji servisi će biti pokrenuti\n"
+"na vaÅ¡em raÄunaru. Ako planirate koristiti ovaj raÄunar kao server,\n"
+"dobra je ideja još jednom pregledati ove postavke."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "GrafiÄki interfejs"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk koji želite obrisati kako biste instalirali vašu novu\n"
+"Mageia particiju. Budite pažljivi, svi podaci koji se nalaze na\n"
+"njemu će biti izgubljeni i neće se moći vratiti!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Kliknite na \"%s\" ako želite obrisati sve podatke i particije koje\n"
+"su prisutne na ovom hard disku. Budite oprezni, jer nakon klikanja na\n"
+"\"%s\" nećete moći vratiti podatke i particije koji se trenutno nalaze\n"
+"na ovom hard disku, ukljuÄujući i sve Windows podatke.\n"
+"\n"
+"Kliknite na \"%s\" da prekinete ovu operaciju bez gubitka\n"
+"podataka i particija na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Dalje ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nazad"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": klikanjem na dugme \"%s\" otvorićete Äarobnjak za\n"
+#~ "podeÅ¡avanje Å¡tampaÄa. Konsultujte odgovarajuće poglavlje ``VodiÄa za\n"
+#~ "poÄetnike'' za viÅ¡e informacija o tome kako podesiti novi Å¡tampaÄ.\n"
+#~ "Interfejs koji je tamo prikazan je vrlo sliÄan onom koji se koristi\n"
+#~ "prilikom instalacije."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ovo je najvažnija odluka za sigurnost vašeg GNU/Linux sistema: trebate\n"
+#~ "unijeti \"root\" šifru, \"Root\" je sistemski administrator i jedini\n"
+#~ "korisnik kojem je dozvoljeno da updatuje sistem, dodaje druge korisnike,\n"
+#~ "mijenja konfiguraciju sistema itd. Ukratko, \"root\" može raditi sve! "
+#~ "Stoga\n"
+#~ "trebate izabrati šifru koju je teško pogoditi - DrakX će vam reći da li "
+#~ "je šifra\n"
+#~ "koju ste odabrali prejednostavna. Kao što možete vidjeti, niste "
+#~ "prisiljeni da\n"
+#~ "unesete šifru, ali vam savjetujemo da to uradite. GNU/Linux je podložan\n"
+#~ "operatorskim greškama kao i bilo koji drugi operativni sistem. Pošto\n"
+#~ "\"root\" može prevazići sva ograniÄenja i nenamjerno pobrisati sve "
+#~ "podatke\n"
+#~ "na particijama neoprezno im pristupajući, važno je da je teško postati "
+#~ "\"root\".\n"
+#~ "\n"
+#~ "Å ifra treba biti kombinacija alfanumeriÄkih znakova i biti barem 8 "
+#~ "znakova\n"
+#~ "duga. Nikad ne zapisujte \"root\" šifru -- time vaš sistem postaje "
+#~ "lagano\n"
+#~ "kompromitovati.\n"
+#~ "\n"
+#~ "Jedan izuzetak: ne dozvolite da šifra bude preduga ili prekomplikovana\n"
+#~ "pošto ćete je morati zapamtiti!\n"
+#~ "\n"
+#~ "Šifra neće biti prikazana na ekranu dok je unosite. Da bismo smanjili\n"
+#~ "mogućnost greške zbog kucanja naslijepo, moraćete unijeti šifru dva "
+#~ "puta.\n"
+#~ "Ako nekim sluÄajem ponovite istu greÅ¡ku dva puta, ovu ''neispravnu'' "
+#~ "šifru\n"
+#~ "trebate koristiti prilikom prve prijave kao \"root\".\n"
+#~ "\n"
+#~ "Ako želite da pristup ovom raÄunaru bude kontroliran pomoću servera za\n"
+#~ "provjeru identiteta (authentication), kliknite na dugme \"%s\".\n"
+#~ "\n"
+#~ "Ako vaša mreža koristi LDAP, NIS ili PDC Windows domen servise za\n"
+#~ "provjeru identiteta, izaberite odgovarajući kao \"%s\". Ako ne znate "
+#~ "koji\n"
+#~ "koristiti, pitajte vašeg mrežnog administratora.\n"
+#~ "\n"
+#~ "Ako imate problema sa pamćenjem Å¡ifara, ako vaÅ¡ raÄunar neće biti spojen\n"
+#~ "na Internet i ako apsolutno vjerujete svakome ko mu ima fiziÄki pristup,\n"
+#~ "možete izabrati opciju \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "provjera autentiÄnosti"
diff --git a/perl-install/install/help/po/ca.po b/perl-install/install/help/po/ca.po
new file mode 100644
index 000000000..ed1b8b6be
--- /dev/null
+++ b/perl-install/install/help/po/ca.po
@@ -0,0 +1,1932 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# Davidmp <medipas@gmail.com>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Davidmp <medipas@gmail.com>, 2024\n"
+"Language-Team: Catalan (https://app.transifex.com/MageiaLinux/teams/9361/"
+"ca/)\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Abans de continuar, llegiu atentament les clàusules de la llicència. "
+"Cobreix\n"
+"tota la distribució de Mageia. Si esteu d'acord en tots els termes de la\n"
+"llicència, feu clic al quadre %s; si no, si premeu el botó %s\n"
+"es reiniciarà l'ordinador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"El GNU/Linux és un sistema multiusuari; això vol dir que cada usuari pot\n"
+"tenir les pròpies preferències, els propis fitxers, etc. Podeu llegir-ne\n"
+"la Guia d'iniciació\n"
+"per aprendre més coses sobre els sistemes\n"
+"multiusuari. Però, a diferència de root (arrel), que és l'administrador del "
+"sistema,\n"
+"als usuaris que afegiu aquí no se'ls permetrà modificar res tret dels "
+"propis\n"
+"fitxers i configuracions, i així el sistema es protegeix de canvis, "
+"intencionats o no, \n"
+"que tenen efecte sobre tot el sistema . Cal que us creeu, com a mínim, un "
+"usuari\n"
+"normal, i és aquest compte el que heu d'usar per a l'ús quotidià. Tot i que\n"
+"és molt fàcil entrar com a arrel per a tot, també pot ser molt perillós: la "
+"més\n"
+"petita errada podria significar que el sistema deixés de funcionar. Si "
+"cometeu\n"
+"una errada greu com a usuari normal el pitjor que pot passar és que perdeu\n"
+"algunes dades, però sense que això afecti tot el sistema.\n"
+"\n"
+"Primer, heu d'introduir el nom real. Per descomptat, això no és obligatori,\n"
+"ja que podeu introduir-hi el que vulgueu. El DrakX agafarà la primera "
+"paraula\n"
+"que heu introduït en aquest camp i la copiarà al camp %s, que serà el\n"
+"nom que usarà aquest usuari per entrar al sistema (ho podeu canviar si\n"
+"voleu). Després cal que introduïu una contrasenya. Des del punt de vista de\n"
+"la seguretat, una contrasenya d'un usuari no privilegiat (habitual) no és "
+"tan\n"
+"important com la d'arrel des del punt de vista de la seguretat, però no hi\n"
+"ha cap raó per menystenir-la deixant-la en blanc o fent-la massa senzilla: "
+"al\n"
+"cap i a la fi, els vostres fitxers poden estar en risc.\n"
+"\n"
+"Un cop hàgiu fet clic a %s podreu afegir-hi altres usuaris. Afegiu-ne un\n"
+"per a cada persona que hagi de fer servir l'ordinador. Feu clic a %s quan "
+"hàgiu\n"
+"acabat.\n"
+"\n"
+"Feu clic al botó %s per canviar l'intèrpret d'ordres (shell) per defecte\n"
+"(bash) de l'usuari seleccionat. \n"
+"\n"
+"Quan hàgiu acabat d'afegir-hi usuaris, se us proposarà decidir quin usuari\n"
+"entrarà automàticament al sistema en arrencar l'ordinador. Si us\n"
+"interessa aquesta característica (i no us importa gaire la seguretat "
+"local), \n"
+"trieu l'usuari i el gestor de finestres desitjat i feu clic a %s.\n"
+"Si no hi esteu interessats, desactiveu el quadre %s."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Nom d'usuari"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Accepta l'usuari"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voleu usar aquesta funció?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aquestes són les particions de Linux existents que s'han detectat al disc "
+"dur.\n"
+"Podeu conservar les decisions preses per l'auxiliar, atès que són les "
+"adequades\n"
+"per a les instal·lacions més habituals. Si hi feu algun canvi, com a mínim "
+"heu\n"
+"de definir una partició d'arrel (/). No trieu una partició massa petita "
+"perquè\n"
+"no podríeu instal·lar-hi prou programari. Si voleu emmagatzemar les dades en "
+"una\n"
+"altra partició, us caldrà crear una partició /home (això només serà "
+"possible\n"
+"si hi ha més d'una partició de Linux disponible).\n"
+"\n"
+"Cada partició està identificada d'aquesta manera: nom, capacitat.\n"
+"\n"
+"El nom es compon del tipus d'unitat de disc, el número d'unitat de disc i\n"
+"el número de la partició (per exemple, hda1).\n"
+"\n"
+"El tipus d'unitat de disc és hd si la unitat de disc és IDE i sd si és "
+"SCSI.\n"
+"\n"
+"El número de la unitat de disc és sempre una lletra després d'hd o sd.\n"
+"Per a unitats de disc IDE:\n"
+"\n"
+" * \"a\" significa 'unitat de disc mestra al controlador IDE primari',\n"
+"\n"
+" * \"b\" significa 'unitat de disc esclava al controlador IDE primari',\n"
+"\n"
+" * \"c\" significa 'unitat de disc mestra al controlador IDE secundari',\n"
+"\n"
+" * \"d\" significa 'unitat de disc esclava al controlador IDE secundari'.\n"
+"\n"
+"Amb unitats de disc SCSI, una a significa 'ID SCSI més baixa',\n"
+"una b significa 'segona ID SCSI més baixa', etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La instal·lació del Mageia està repartida en diversos CD-ROM. Si\n"
+"un dels paquets triats és en un altre CD-ROM, el DrakX expulsarà el CD\n"
+"actual i us demanarà que n'inseriu un altre. Si no teniu el CD necessari a\n"
+"mà, premeu %s i els paquets corresponents no s'instal·laran."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Ha arribat el moment d'indicar els programes que voleu instal·lar en el\n"
+"sistema. Mageia té milers de paquets, i per a facilitar-ne la\n"
+"gestió s'han distribuït en grups d'aplicacions similars.\n"
+"\n"
+"Mageia agrupa els paquets en quatre categories. Podeu mesclar i fer\n"
+"coincidir aplicacions de grups diversos, de manera que una instal·lació\n"
+"d'«Estació de treball» pot perfectament tenir instal·lades aplicacions\n"
+"de la categoria «Servidor» \n"
+"\n"
+" * \"%s\": si voleu utilitzar l'ordinador com a estació de treball,\n"
+"seleccioneu un o més grups de la categoria estació de treball.\n"
+"\n"
+" * \"%s\": si penseu utilitzar la vostra màquina per a programar, escolliu\n"
+"els grups adients d'aquesta categoria. El grup especial «LSB»\n"
+"configurarà el vostre sistema per tal que compleixi tant com sigui\n"
+"possible les especificacions Linux Standard Base.\n"
+"\n"
+" Si seleccioneu el grup «LSB» s'assegura que els sistema\n"
+"compleix al 100%% amb LSB. Si no seleccioneu el grup «LSB»\n"
+"encara tindreu un sistema que compleix la LSB gairebé al 100%%.\n"
+"\n"
+" * \"%s\": si l'ordinador s'ha d'utilitzar com a servidor, seleccioneu\n"
+"quins dels serveis més habituals voleu instal·lar\n"
+"\n"
+" * \"%s\": aquí és on escollireu quin és el vostre entorn gràfic\n"
+"preferit. Heu de seleccionar-ne un com a mínim si voleu tenir una\n"
+"interfície gràfica.\n"
+"\n"
+"Si moveu el cursor per sobre d'un nom de grup veureu una breu explicació\n"
+"d'aquest grup.\n"
+"\n"
+"Podeu marcar la casella «%s», que és útil si esteu familiaritzats amb els\n"
+"diversos paquets o si voleu tenir un control total sobre allò que "
+"s'instal·larà.\n"
+"\n"
+"Si comenceu la instal·lació en el mode «%s», podeu desseleccionar \n"
+"tots els grups si voleu evitar que s'instal·li cap paquet nou. Això és\n"
+"útil per reparar o actualitzar un sistema existent.\n"
+"\n"
+"Si desseleccioneu tots els grups quan estigueu fent una\n"
+"instal·lació normal (i no una actualització), se us presentarà un diàleg \n"
+"proposant-vos diferents opcions per a una instal·lació mínima:\n"
+"\n"
+" * «%s»: instal·la els mínims paquets necessaris per a tenir un\n"
+"entorn gràfic funcional\n"
+"\n"
+" * «%s»: instal·la el sistema base i les utilitats bàsiques amb la seva\n"
+"documentació. Aquesta instal·lació és adequada per a configurar un "
+"servidor;\n"
+"\n"
+" * «%s»: instal·la el nombre mínim de paquets necessari per a aconseguir un\n"
+"sistema Linux operatiu, només amb una interfície de línia d'ordres. Aquesta\n"
+"instal·lació ocupa uns 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualitza"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Amb la documentació bàsica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instal·lació realment mínima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Si heu dit a l'instal·lador que volíeu seleccionar els paquets "
+"individualment\n"
+"se us presentarà un arbre amb tots els paquets classificats per grups i\n"
+"subgrups. Mentre navegueu per l'arbre, podeu seleccionar grups complets,\n"
+"subgrups o paquets individuals.\n"
+"\n"
+"Cada cop que seleccioneu un paquet de l'arbre, apareixerà una descripció a \n"
+"la dreta que us informarà de la finalitat del paquet.\n"
+"\n"
+"Atenció! Si heu seleccionat un paquet de servidor, intencionadament o "
+"perquè\n"
+"formava part d'un grup, se us demanarà que confirmeu si realment voleu\n"
+"instal·lar aquests servidors. Per defecte, Mageia iniciarà \n"
+"automàticament qualsevol servidor durant l'arrencada. Tot i que\n"
+"siguin segurs i no tinguin cap problema conegut quan es publica la\n"
+"distribució, és totalment possible que es descobreixin forats de seguretat\n"
+"després que aquesta versió de Mageia quedi acabada.\n"
+"Si no sabeu què se suposa que fa un servei particular, o per què s'està\n"
+"instal·lant, feu clic a %s. Per defecte, si feu clic a %s els serveis\n"
+"llistats s'instal·laran i s'iniciaran automàticament durant l'arrencada.\n"
+"\n"
+"L'opció %s s'usa per inhabilitar el diàleg d'advertència que\n"
+"apareix quan l'instal·lador selecciona automàticament un paquet per "
+"resoldre\n"
+"dependències. Alguns paquets estan relacionats els uns amb els\n"
+"altres, de manera que la instal·lació d'un paquet fa que calgui instal·lar\n"
+"també algun altre programa. L'instal·lador pot determinar quins paquets "
+"calen\n"
+"per satisfer una dependència i completar la instal·lació satisfactòriament.\n"
+"\n"
+"La icona diminuta d'un disquet al peu de la llista us permet carregar una\n"
+"llista de paquets creada en una instal·lació anterior. Això és útil si "
+"teniu\n"
+"un cert nombre d'ordinadors que voleu configurar de manera idèntica. Si feu\n"
+"clic en aquesta icona se us demanarà que inseriu un disquet creat "
+"anteriorment\n"
+"al final d'una altra instal·lació. Vegeu el segon suggeriment de l'últim "
+"pas\n"
+"per a saber com crear aquest disquet."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependències automàtiques"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"En aquest diàleg escollireu els serveis que voleu que s'iniciïn durant "
+"l'arrencada.\n"
+"\n"
+"El DrakX farà una llista de tots els serveis disponibles a la instal·lació "
+"actual.\n"
+"Reviseu-los amb cura i desmarqueu els que no siguin necessaris durant "
+"l'arrencada.\n"
+"\n"
+"Podeu obtenir una explicació breu sobre un servei si el seleccioneu. Si no\n"
+"teniu clara la utilitat d'un servei, el més segur és deixar el comportament\n"
+"per defecte.\n"
+"\n"
+"Atenció! Aneu especialment amb cura en aquest pas si penseu usar l'ordinador "
+"com\n"
+"a servidor: segurament no voldreu iniciar serveis que no necessiteu.\n"
+"Recordeu que hi ha diversos serveis que poden ser perillosos si s'habiliten\n"
+"en un servidor. En general, seleccioneu només els serveis que realment "
+"necessiteu."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"El GNU / Linux gestiona l'hora en GMT (Greenwich Mean Time) i el tradueix a\n"
+"l'hora local d'acord amb la zona horària seleccionada. Si el rellotge de la\n"
+"placa base indica l'hora local, podeu desactivar-ho desmarcant %s, i\n"
+"això informarà al GNU / Linux que el rellotge del sistema i el rellotge del\n"
+"maquinari són a la mateixa zona horària. Això és convenient quan la màquina\n"
+"també té instal·lat un altre sistema operatiu.\n"
+"\n"
+"L'opció %s regularà automàticament l'hora connectant-se a un servidor\n"
+"horari remot d'Internet. Per tal que funcioni aquesta funció us caldrà "
+"tenir\n"
+"connexió a Internet. És millor triar un servidor que estigui ubicat a prop.\n"
+"De fet, aquesta opció instal·la un servidor d'hora que altres màquines\n"
+"de la vostra xarxa local també podran usar."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Rellotge de maquinari establert a GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronització automàtica de la hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Targeta gràfica\n"
+"\n"
+" Normalment, l'instal·lador detectarà automàticament i configurarà la\n"
+"targeta gràfica que tingueu instal·lada a l'ordinador. Si no fos així, la\n"
+"podeu seleccionar en aquesta llista.\n"
+"\n"
+" Cas que hi hagi diferents servidors per a la targeta, amb o sense\n"
+"acceleració 3D, se us demanarà que trieu el servidor que us sigui\n"
+"més convenient."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (el sistema X Window) és el cor de la interfície gràfica de GNU / Linux\n"
+"de què depenen tots els entorns gràfics (KDE, GNOME, AfterStep, \n"
+"WindowMaker, etc.) que venen amb Mageia.\n"
+"\n"
+"Veureu una relació de diferents paràmetres que podeu canviar per aconseguir\n"
+"una visualització gràfica òptima.\n"
+"\n"
+"Targeta gràfica\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament la\n"
+"targeta gràfica instal·lada a l'ordinador. Si no fos així, podeu triar a\n"
+"la llista la targeta que realment tingueu instal·lada.\n"
+"\n"
+" En cas que hi hagi diferents servidors disponibles per a la vostra\n"
+"targeta, amb acceleració 3D o sense, se us demanarà que trieu el que\n"
+"més us convingui.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament el\n"
+"monitor que teniu connectat a l'ordinador. Si no és correcte, podreu triar\n"
+"d'aquesta llista el monitor que realment teniu connectat a l'ordinador.\n"
+"\n"
+"\n"
+"\n"
+"Resolució\n"
+"\n"
+" Aquí podeu triar les resolucions i profunditats de color disponibles per\n"
+"al maquinari. Trieu la que us vagi més bé (tot i que podreu\n"
+"canviar-la després de la instal·lació). Al monitor veureu una mostra de la\n"
+"configuració triada.\n"
+"\n"
+"\n"
+"\n"
+"Prova\n"
+"\n"
+" Segons el maquinari aquesta entrada pot no aparèixer.\n"
+"\n"
+" El sistema intentarà obrir una pantalla gràfica amb la resolució\n"
+"desitjada. Si podeu veure el missatge durant la prova i responeu %s,\n"
+"el DrakX passarà al pas següent. Si no el podeu veure, vol dir que la\n"
+"configuració detectada automàticament no era del tot correcta i la prova\n"
+"acabarà automàticament al cap de 12 segons, i us tornarà al menú.\n"
+"Canvieu els paràmetres fins que obtingueu una visulització correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opcions\n"
+"\n"
+" Aquí podeu decidir si voleu que l'ordinador canviï automàticament a una\n"
+"interfície gràfica en arrencar. Òbviament, voldreu activar %s si\n"
+"l'ordinador ha d'actuar com a servidor, o si no heu aconseguit\n"
+"configurar la pantalla."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament el\n"
+"monitor que teniu connectat a l'ordinador. Si no és correcte, podreu triar\n"
+"d'aquesta llista el monitor que realment teniu connectat a l'ordinador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolució\n"
+"\n"
+" Aquí podeu triar les resolucions i profunditats de color disponibles per\n"
+"al maquinari. Trieu la que us vagi més bé (tot i que podreu\n"
+"canviar-la després de la instal·lació). Al monitor veureu una mostra de la\n"
+"configuració triada."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"En cas que hi hagi diferents servidors disponibles per a la vostra\n"
+"targeta, amb o sense acceleració 3D, se us demanarà que trieu\n"
+"el servidor que més us convingui."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcions\n"
+"\n"
+" Aquí podeu decidir si voleu que l'ordinador canviï automàticament a una\n"
+"interfície gràfica en arrencar. Òbviament, activareu %s si l'ordinador\n"
+"ha de ser un servidor, o si no heu pogut configurar la pantalla."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ara és quan heu de decidir en quin lloc del vostre disc dur voleu\n"
+"instal·lar el sistema operatiu Mageia. Si el disc és buit,\n"
+"o si un sistema operatiu existent n'usa tot l'espai disponible,\n"
+"us caldrà particionar-lo. Bàsicament, particionar un disc dur\n"
+"consisteix a dividir-lo de manera lògica per crear espai on\n"
+"instal·lar el nou sistema.\n"
+"\n"
+"Atès que els efectes d'aquest procés solen ser irreversibles i poden\n"
+"implicar pèrdua de dades si ja teniu un sistema operatiu instal·lat,\n"
+"fer particions us pot espantar si sou un usuari sense experiència.\n"
+"Per sort, el DrakX inclou un auxiliar que simplifica aquest procés.\n"
+"Abans de continuar, però, llegiu la resta d'aquesta secció i,\n"
+"sobre tot, preneu-vos el temps que calgui.\n"
+"\n"
+"Segons la configuració del disc dur, hi ha diverses opcions\n"
+"possibles:\n"
+"\n"
+" * %s: aquesta opció particionarà automàticament les unitats buides.\n"
+"Amb aquesta opció no se us farà cap pregunta més.\n"
+"\n"
+" * %s: l'auxiliar ha detectat una o més particions de Linux al\n"
+"disc dur. Si voleu usar-les, trieu aquesta opció. Se us demanarà\n"
+"que trieu els punts de muntatge associats a cadascuna de les particions.\n"
+"Els punts de muntatge existents se seleccionen per defecte, i en la\n"
+"majoria dels casos és bona idea conservar-los.\n"
+"\n"
+" * %s: si teniu el Microsoft Windows instal·lat al disc dur i n'ocupa\n"
+"tot l'espai disponible, caldrà crear espai lliure per a GNU / Linux. Per\n"
+"fer-ho, podeu suprimir la partició i les dades del Windows\n"
+"(consulteu la solució Esborrar completament el disc) o canviar\n"
+"la mida de la partició FAT o NTFS de Windows. Aquest canvi de mida\n"
+"es pot dur a terme sense cap pèrdua de dades, sempre que la\n"
+"partició de Windows hagi estat desfragmentada prèviament.\n"
+"És molt recomanable fer una còpia de seguretat de les dades.\n"
+"Aquesta opció és la més recomanable si voleu usar tant\n"
+"Mageia com Microsoft Windows al mateix ordinador.\n"
+"\n"
+" Abans de decidir-vos per aquesta opció, penseu que en acabar la partició\n"
+"de Microsoft Windows serà més petita que abans. Tindreu menys espai\n"
+"lliure a Microsoft Windows per emmagatzemar-hi dades o instal·lar-hi més "
+"programari.\n"
+"\n"
+" *%s: si voleu suprimir totes les dades i particions que teniu al disc\n"
+"dur i substituir-les pel sistema Mageia, podeu triar aquesta\n"
+"opció. Aneu amb compte, però, perquè, un cop la confirmeu, no podreu\n"
+"fer-vos enrere.\n"
+"\n"
+" Atenció! Si trieu aquesta opció, totes les dades del disc s'esborraran.\n"
+"\n"
+" *%s: aquesta opció apareix quan el disc dur està completament ocupat\n"
+"pel Microsoft Windows. Triar aquest opció esborrarà tot el contingut del "
+"disc i\n"
+"començarà de nou i es faran les particions des de zero.\n"
+" Atenció! Si trieu aquesta opció, totes les dades del disc s'esborraran.\n"
+"\n"
+" * %s: si voleu fer les particions del disc dur manualment, podeu triar "
+"aquesta\n"
+"opció. Aneu amb compte: és una opció molt potent però també perillosa, ja\n"
+"que podeu perdre'n fàcilment totes les dades. Per tant, aquesta opció només "
+"és\n"
+"recomanable si heu fet abans alguna cosa similar i teniu una mica\n"
+"d'experiència. Trobareu més instruccions sobre la utilitat DiskDrake a la\n"
+"secció Gestió de les particions de la Guia d'iniciació."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usa les particions existents"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usa l'espai lliure a la partició Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Esborra tot el disc"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja ho teniu. S'ha completat la instal·lació i el sistema GNU / Linux\n"
+"està preparat per funcionar. Simplement premeu %s per reiniciar el\n"
+"sistema. No oblideu treure la font d'instal·lació (CD-ROM o disquet).\n"
+"La primera cosa que veureu, després que l'ordinador hagi acabat les\n"
+"comprovacions de maquinari, és el menú del carregador d'arrencada, que us\n"
+"deixa triar el sistema operatiu amb què voleu iniciar.\n"
+"\n"
+"El botó %s mostra dos botons més:\n"
+"\n"
+" * %s: per crear un disquet d'instal·lació que farà\n"
+"automàticament una instal·lació completa sense l'ajuda d'un operador,\n"
+"semblant a la instal·lació que acabeu de configurar.\n"
+"\n"
+" Tingueu en compte que hi ha dues opcions diferents després de fer clic al "
+"botó:\n"
+"\n"
+" * %s: aquesta és una instal·lació parcialment automatitzada; el pas\n"
+"de fer les particions és l'únic procediment interactiu.\n"
+"\n"
+" * %s: instal·lació completament automatitzada: el disc dur es\n"
+"reescriu completament i totes les dades es perden.\n"
+"\n"
+" Aquesta característica és força útil quan es fa una instal·lació en un\n"
+"cert nombre d'ordinadors similars. En trobareu més informació a la secció\n"
+"d'instal·lació automàtica del nostre lloc web.\n"
+"\n"
+" * %s: desa una llista dels paquets seleccionats en aquesta\n"
+"instal·lació. Per usar aquesta selecció en una altra instal·lació,\n"
+"inseriu el disquet i inicieu la instal·lació. A l'indicador, premeu la\n"
+"tecla F1, i escriviu >>linux defcfg=\"floppy\"<< i premeu la tecla de "
+"retorn.\n"
+"\n"
+"(*) Cal un disquet formatat amb FAT. Per crear-ne un a GNU / Linux, \n"
+"escriviu \"mformat a:\" o \"fdformat /dev/fd0\" seguit de\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Genera un disquet per a instal·lació automàtica"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Repeteix"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatitzat"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Desa la selecció de paquets"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si heu triat la reutilització d'algunes de les particions de GNU / Linux,\n"
+"potser voleu reformatar-ne algunes i esborrar les dades que contenen.\n"
+"Per a fer-ho, seleccioneu també aquestes particions.\n"
+"\n"
+"Tingueu en compte que no cal tornar a formatar totes les particions que ja\n"
+"existien; heu de tornar a formatar les particions que continguin el sistema\n"
+"operatiu (com ara /, /usr o /var), però no les que contenen\n"
+"dades que voleu conservar (habitualment /home).\n"
+"\n"
+"Aneu amb compte a l'hora de seleccionar les particions; després de la "
+"formatació,\n"
+"totes les dades s'hauran suprimit i no en podreu recuperar cap.\n"
+"\n"
+"Feu clic a %s quan estigueu a punt per formatar les particions.\n"
+"\n"
+"Feu clic a %s si voleu seleccionar una altra partició per instal·lar\n"
+"el nou sistema Mageia.\n"
+"\n"
+"Feu clic a %s si voleu seleccionar particions on cercar-hi blocs defectuosos."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"En el moment d'instal·lar Mageia, és probable que alguns paquets\n"
+"hagin estat actualitzats des de la data de llançament. Alguns errors poden\n"
+"haver estat resolts, i alguns problemes de seguretat poden estar ja "
+"corregits.\n"
+"Per beneficiar-vos d'aquestes actualitzacions, les podeu baixar d'Internet.\n"
+"Marqueu %s si teniu una connexió a Internet operativa, o bé %s si\n"
+"preferiu instal·lar-les més tard.\n"
+"\n"
+"Si trieu %s apareixerà una llista de llocs des d'on podeu baixar les\n"
+"actualitzacions. Trieu la ubicació més propera. Aleshores, apareixerà\n"
+"un arbre de selecció de paquets: comproveu la selecció i premeu %s per\n"
+"baixar i instal·lar els paquets seleccionats, o bé %s per sortir-ne."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ara és el moment de triar el nivell de seguretat desitjat per a la màquina.\n"
+"Com a norma general, el nivell de seguretat ha de ser més alt si la màquina\n"
+"conté dades importants, o si està connectada directament a Internet.\n"
+"Tanmateix, un nivell alt de seguretat sovint comporta una disminució de la\n"
+"facilitat d'ús.\n"
+"\n"
+"Si no sabeu quin triar, deixeu l'opció per defecte.. Podreu canviar\n"
+"el nivell de seguretat més tard amb l'eina draksec del\n"
+"Centre de Control Mageia.\n"
+"\n"
+"Ompliu el camp %s amb l'adreça electrònica de la persona responsable\n"
+"de la seguretat. Els missatges de seguretat s'enviaran a aquesta adreça."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de seguretat"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Ara és quan heu de decidir quines particions voleu usar per\n"
+"instal·lar el sistema Mageia. Si ja s'han definit les particions\n"
+"en una instal·lació anterior de GNU / Linux o mitjançant una altra eina de\n"
+"partiment, podeu usar les particions existents. En cas contrari,\n"
+"cal definir particions al disc dur.\n"
+"\n"
+"Per crear particions, primer heu de seleccionar un disc dur. Podeu\n"
+"seleccionar el disc que s'ha de particionar fent clic a hda per a la\n"
+"primera unitat IDE, hdb per a la segona, sda per a la primera unitat\n"
+"SCSI, etc.\n"
+"\n"
+"Per particionar el disc dur seleccionat, podeu usar aquestes opcions:\n"
+"\n"
+" * %s: aquesta opció suprimeix totes les particions que hi ha al\n"
+"disc dur seleccionat.\n"
+"\n"
+" * %s: aquesta opció us permet crear automàticament les particions\n"
+"ext4 i d'intercanvi en l'espai lliure del disc dur.\n"
+"\n"
+"*%s: dóna accés a funcions addicionals:\n"
+"\n"
+" * %s: desa la taula de particions en un disquet. És útil per a una\n"
+"recuperació posterior de la taula de particions si fos necessari. És molt\n"
+"recomanable que feu aquesta operació.\n"
+"\n"
+" * %s: permet restaurar d'un disquet una taula de particions que hi\n"
+"hagueu desat prèviament.\n"
+"\n"
+" * %s: si la taula de particions està malmesa, podeu provar de\n"
+"recuperar-la usant aquesta opció. Aneu amb compte i recordeu que no\n"
+"sempre funciona.\n"
+"\n"
+" * %s: descarta tots els canvis fets i torna a carregar la taula\n"
+"de particions original.\n"
+"\n"
+" * %s: si desseleccioneu aquesta opció fareu que els usuaris hagin\n"
+"de muntar i desmuntar manualment les unitats de suports extraïbles, com ara\n"
+"els disquets i els CD-ROM.\n"
+"\n"
+" * %s: useu aquesta opció si voleu un auxiliar per\n"
+"particionar el disc dur. Es recomana que l'useu si no teniu\n"
+"coneixements sòlids sobre particions.\n"
+"\n"
+" * %s: useu aquesta opció per cancel·lar els canvis.\n"
+"\n"
+" * %s: permet accions addicionals en les particions (tipus,\n"
+"opcions, format) i dóna més informació sobre el disc dur.\n"
+"\n"
+" * %s: quan hàgiu acabat de partir el disc dur, aquesta opció\n"
+"desarà els canvis al disc.\n"
+"\n"
+"En definir la mida d'una partició, podeu acabar d'afinar-la mitjançant\n"
+"les tecles de fletxes del teclat.\n"
+" \n"
+"Nota: podeu accedir a qualsevol opció mitjançant el teclat. Moveu-vos per\n"
+"les particions amb les tecles Tab i Fletxa amunt / Fletxa avall.\n"
+"\n"
+"Quan seleccioneu una partició, podeu usar el següent:\n"
+"\n"
+" * Ctrl+c per crear una partició nova (quan se n'ha seleccionat una de "
+"buida).\n"
+"\n"
+" * Ctrl+d per suprimir una partició.\n"
+"\n"
+" * Ctrl+m per definir el punt de muntatge.\n"
+"\n"
+"Per a més informació sobre els diversos sistemes de fitxers disponibles,\n"
+"llegiu el capítol sobre ext2FS del Manual de Referència.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Desa la taula de particions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Recupera la taula de particions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Rescata la taula de particions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Muntatge automàtic dels dispositius extraïbles"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Auxiliar"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Desfés"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Commuta entre els modes normal i expert"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"S'ha detectat més d'una partició de Microsoft a la unitat de disc.\n"
+"Si us plau, trieu quina voleu canviar de mida per instal·lar-hi el nou\n"
+"sistema operatiu Mageia.\n"
+"\n"
+"Cada partició està identificada d'aquesta manera: nom de Linux,\n"
+"nom de Windows, capacitat.\n"
+"\n"
+"El Nom Linux es compon del tipus d'unitat de disc dur,\n"
+"el número d'unitat de disc dur i el número de la partició\n"
+"(per exemple: hda1).\n"
+"\n"
+"El tipus d'unitat de disc dur és hd si la unitat de disc dur és\n"
+"IDE i sd si és SCSI.\n"
+"\n"
+"El número de la unitat de disc dur és sempre una lletra després d'hd o\n"
+"bé sd. Amb unitats de disc IDE:\n"
+"\n"
+" * «a» significa 'unitat de disc mestra al controlador IDE primari',\n"
+"\n"
+" * «b» significa 'unitat de disc esclava al controlador IDE primari',\n"
+"\n"
+" * «c» significa 'unitat de disc mestra al controlador IDE secundari',\n"
+"\n"
+" * «d» significa 'unitat de disc esclava al controlador IDE secundari'.\n"
+"\n"
+"Amb les unitats de disc SCSI, una a significa 'ID SCSI més baixa',\n"
+"una b significa 'segona ID SCSI més baixa', etc.\n"
+"\n"
+"El nom de Windows és la lletra de la vostra unitat de disc a Windows (el\n"
+"primer disc o partició s'anomena C:)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"%s: comproveu que la selecció del país és correcta. Si no sou en\n"
+"aquest país, feu clic al botó %s i seleccioneu-ne un altre.\n"
+"Si el país no és a la primera llista, feu clic al botó %s per\n"
+"obtenir una llista de països completa."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Aquest pas només s'activa si s'ha trobat una partició GNU / Linux existent\n"
+"a l'ordinador.\n"
+"\n"
+"El DrakX necessita saber si voleu fer una instal·lació nova o bé\n"
+"una actualització d'un sistema Mageia existent:\n"
+"\n"
+" * %s: aquesta opció destrueix gairebé del tot el sistema existent. Si\n"
+"voleu canviar les particions dels discs durs, o el sistema de fitxers,\n"
+"heu d'usar aquesta opció. No obstant això, i depenent de l'esquema de\n"
+"particions que tingueu, podeu evitar que part de les dades existents\n"
+"(per exemple els directoris home) se sobreescriguin.\n"
+"\n"
+" * %s: aquest tipus d'instal·lació us permet actualitzar els paquets\n"
+"que ja estan instal·lats al sistema Mageia. L'esquema de\n"
+"particions actual i les dades d'usuari no queden afectades. La\n"
+"majoria de les altres fases de configuració queden disponibles, de\n"
+"manera similar a una instal·lació estàndard.\n"
+"\n"
+"L'opció Actualitza hauria de funcionar correctament en sistemes Mandriva\n"
+"Linux amb la versió 8.1 o posteriors. No es recomana fer una\n"
+"actualització en versions de Mandriva anteriors a la 8.1."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"El DrakX seleccionarà automàticament la configuració de teclat correcta\n"
+"segons la llengua que hàgiu triat. Comproveu que la selecció\n"
+"us vagi bé o trieu una altra configuració de teclat.\n"
+"\n"
+"Tanmateix, pot ser que tingueu un teclat que no correspongui exactament\n"
+"amb la llengua: per exemple, si sou un suís que parla anglès, potser teniu\n"
+"un teclat suís. O, si parleu anglès però viviu al Quebec, us podeu trobar\n"
+"en la mateixa situació i el teclat no coincidirà amb la llengua. En tots "
+"dos\n"
+"casos, aquesta fase de la instal·lació us permetrà triar un teclat\n"
+"adequat d'una llista.\n"
+"\n"
+"Feu clic al botó %s per veure la llista completa de teclats disponibles.\n"
+"\n"
+"Si trieu una disposició de teclat basada en un alfabet no llatí, el diàleg\n"
+"següent us permetrà triar la tecla que servirà per canviar entre les\n"
+"configuracions llatina i no llatina."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"El primer pas consisteix a triar la llengua preferida.\n"
+"\n"
+"La llengua que trieu afectarà la llengua de la documentació,\n"
+"l'instal·lador i tot el sistema en general. Seleccioneu primer la\n"
+"regió on us trobeu i després la llengua que parleu.\n"
+"\n"
+"Si feu clic al botó %s podreu seleccionar altres llengües que vulgueu\n"
+"instal·lar a l'estació de treball. S'instal·laran els fitxers de llengua\n"
+"específics de la documentació i de les aplicacions. Per exemple,\n"
+"si heu de tenir usuaris espanyols a l'ordinador, podeu triar l'anglès com a\n"
+"llengua per defecte a la vista d'arbre i %s a la secció Avançat.\n"
+"\n"
+"Quant al suport UTF-8 (unicode): Unicode és una codificació nova de\n"
+"caràcters que cobreix totes les llengües existents. El suport complet a\n"
+"GNU / Linux encara està en desenvolupament. Per aquesta raó, Mageia\n"
+"l'usarà o no depenent de les opcions que esculli l'usuari:\n"
+"\n"
+" * Si trieu una llengua amb una codificació existent forta (llengües\n"
+"llatines, rus, japonès, xinès, coreà, thai, grec, turc, la majoria de les\n"
+"llengües iso-8859-2), la codificació existent s'usarà per defecte.\n"
+"\n"
+" * La resta de llengües usaran unicode per defecte.\n"
+"\n"
+" * Si s'instal·len dues o més llengües i no usen la mateixa\n"
+"codificació, llavors s'usarà unicode per a tot el sistema.\n"
+"\n"
+" * Finalment, es pot forçar l'ús d'unicode si es tria la opció %s\n"
+"independentment de les llengües triades.\n"
+"\n"
+"Noteu que no esteu limitats a escollir només una llengua addicional. Podeu\n"
+"triar-ne diverses, i fins i tot instal·lar-les totes activant la casella\n"
+"%s. Si habiliteu una llengua n'esteu instal·lant les\n"
+"traduccions, els tipus de lletra, els verificadors ortogràfics, etc.\n"
+"\n"
+"Per passar d'una llengua a una altra, podeu executar com a arrel\n"
+"l'ordre /usr/sbin/localedrake per canviar la llengua de tot el sistema.\n"
+"Si l'executeu com a usuari normal, només es canviarà la d'aquest\n"
+"usuari concret."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanyol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Usa unicode per defecte"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"El DrakX generalment detecta el nombre de botons que té el ratolí.\n"
+"Si no pot, assumeix que teniu un ratolí de dos botons i el configurarà per\n"
+"emular el tercer botó. Es pot prémer el tercer botó d'un ratolí de dos\n"
+"botons fent clic simultàniament als botons dret i esquerre. El DrakX\n"
+"detectarà automàticament si el ratolí usa la interfície PS/2, sèrie o USB.\n"
+"\n"
+"En cas que tingueu un ratolí de 3 botons sense rodeta, podeu escollir\n"
+"%s. El DrakX configurarà el ratolí per tal de simular la rodeta,\n"
+"per fer-ho premeu el botó central i moveu el ratolí a dalt i a baix.\n"
+"\n"
+"Si per alguna raó voleu especificar un altre tipus de ratolí,\n"
+"seleccioneu-lo a la llista.\n"
+"\n"
+"Podeu seleccionar l'entrada %s per a triar un ratolí de tipus\n"
+"genèric, que funcionarà amb gairebé qualsevol ratolí.\n"
+"\n"
+"Si trieu un ratolí diferent del ratolí per defecte, es mostrarà una\n"
+"pantalla de prova. Useu els botons i la roda per verificar que la\n"
+"configuració és correcta i que el ratolí funciona bé. Si el ratolí no\n"
+"funciona bé, premeu la barra d'espai o la tecla de retorn per cancel·lar la\n"
+"prova i tornar a la llista.\n"
+"\n"
+"De vegades, la roda del ratolí no es detecta automàticament. En aquest cas,\n"
+"haureu de seleccionar-lo a la llista. Assegureu-vos de triar el que\n"
+"correspon al port on està connectat el ratolí. Després de seleccionar un\n"
+"ratolí i prémer el botó %s, a la pantalla apareixerà un ratolí. Moveu la\n"
+"roda del ratolí per assegurar-vos que s'ha activat correctament, i "
+"comproveu\n"
+"que es mou també a la pantalla; després comproveu els botons i que el "
+"cursor\n"
+"de la pantalla es mou quan moveu el ratolí."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "amb emulació de rodeta"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualsevol ratolí PS/2 o USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Si us plau, seleccioneu el port correcte. Per exemple, el port COM1 a\n"
+"Windows s'anomena ttyS0 a GNU / Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un carregador d'arrencada és un petit programa que l'ordinador executa\n"
+"durant l'arrencada. És l'encarregat d'iniciar tot el sistema. Normalment, \n"
+"la instal·lació del carregador d'arrencada es fa de manera \n"
+"totalment automàtica. El DrakX analitzarà el sector d'arrencada del disc \n"
+"i actuarà conforme al que hi trobi:\n"
+"\n"
+" * si troba un sector d'arrencada de Windows, el reemplaçarà amb un sector\n"
+"d'arrencada de GRUB/LILO. D'aquesta manera podreu carregar GNU / Linux\n"
+"o bé un altre SO.\n"
+"\n"
+" * si troba un sector d'arrencada GRUB o LILO, el reemplaçarà amb un de "
+"nou.\n"
+"\n"
+"Si no pot prendre una decisió, el DrakX us preguntarà on ha de col·locar el\n"
+"carregador d'arrencada. Normalment, %s és el lloc més segur. Si escolliu\n"
+"%s no s'instal·larà cap carregador d'arrencada. Trieu-ho només si\n"
+"sabeu què feu."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ara cal seleccionar el sistema d'impressió de l'ordinador. Altres\n"
+"sistemes operatius us en poden oferir un, però el Mageia n'ofereix\n"
+"dos. Cada sistema d'impressió és el més convenient per a un tipus de\n"
+"configuració determinat.\n"
+"\n"
+" * %s, acrònim de «print, do not queue» (imprimeix, no facis cua), és\n"
+"la millor opció si teniu una connexió directa amb la impressora i voleu\n"
+"evitar els embussos a l'hora d'imprimir, i no teniu impressores de xarxa.\n"
+"(%s només gestionarà xarxes molt senzilles i és una mica lenta quan\n"
+"s'usa en xarxa.) Escolliu pdq si és la vostra primera incursió\n"
+"a GNU / Linux.\n"
+"\n"
+" * %s, «Common Unix Printing System» (sistema d'impressió comú\n"
+"d'Unix), és una elecció excel·lent tant si voleu imprimir a la\n"
+"impressora local com a l'altra punta del món. És senzilla de configurar i\n"
+"pot actuar com a servidor o client per a l'antic sistema d'impressió lpd\n"
+"i, per tant, és compatible amb sistemes operatius antics que encara\n"
+"necessitin serveis d'impressió. És força potent, però la configuració "
+"bàsica\n"
+"és gairebé tan senzilla com la de pdq. Si necessiteu emular un servidor\n"
+"lpd, heu d'habilitar el dimoni cups-lpd. %s inclou interfícies\n"
+"gràfiques per a la impressió o per a triar les opcions d'impressió\n"
+"i per a gestionar la impressora.\n"
+"\n"
+"Si ara feu una tria, i després veieu que el sistema d'impressió no us\n"
+"agrada, podeu canviar-lo executant el PrinterDrake des del Centre de "
+"Control\n"
+"de Mageia i fent clic al botó %s."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Primer, el DrakX detectarà qualsevol dispositiu IDE a l'ordinador. També\n"
+"cercarà una o més targetes SCSI PCI. Si troba una targeta SCSI, el DrakX\n"
+"instal·larà automàticament el controlador adequat.\n"
+"\n"
+"Com que la detecció de maquinari no és infal·lible, pot ser que el DrakX no "
+"trobi\n"
+"els discos durs; si és així, caldrà que indiqueu el maquinari manualment.\n"
+"\n"
+"Si heu de seleccionar l'adaptador SCSI PCI manualment, el DrakX us "
+"preguntarà si\n"
+"voleu configurar-ne les opcions. Convé que deixeu que el DrakX comprovi\n"
+"el maquinari per saber les opcions específiques de la targeta que calen per "
+"inicialitzar\n"
+"l'adaptador. La majoria de vegades, el DrakX farà aquest pas sense "
+"problemes.\n"
+"\n"
+"Si el DrakX no pot comprovar les opcions per determinar automàticament els "
+"paràmetres\n"
+"que s'han de passar al maquinari, us caldrà configurar el controlador "
+"manualment."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"%s: si es detecta una targeta de so al sistema, es mostra aquí.\n"
+"Si veieu que la targeta de so que es mostra no és la que realment teniu al\n"
+"sistema, podeu fer clic al botó i seleccionar un altre controlador."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Com a revisió, el DrakX presentarà un resum de la informació que\n"
+"té sobre el vostre sistema. Segons el maquinari instal·lat, podeu\n"
+"tenir algunes o totes les entrades següents. Cada entrada consta\n"
+"de l'element de configuració que cal configurar, seguit d'un breu\n"
+"resum de la configuració actual.\n"
+"Feu clic al botó %s corresponent per canviar-ho.\n"
+"\n"
+" * %s: comproveu la configuració actual del mapa de teclat i\n"
+"canvieu-la si és necessari.\n"
+"\n"
+" * %s: comproveu la selecció actual de país. Si no sou a aquest\n"
+"país, feu clic al botó %s i escolliu-ne un altre. Si el vostre\n"
+"país no és a la primera llista que es mostra, feu clic al botó %s\n"
+"per obtenir una llista de països completa.\n"
+"\n"
+" * %s: per defecte, el DrakX dedueix la zona horària en\n"
+"funció del país que hàgiu triat. Aquí podeu fer clic al botó %s\n"
+"si no és correcta.\n"
+"\n"
+" * %s: comproveu la configuració actual del ratolí i feu clic al\n"
+"botó per canviar-la si fos necessari.\n"
+"\n"
+" * %s: si es detecta una targeta de so al sistema, es\n"
+"mostra aquí. Si veieu que que no és la que realment teniu al sistema,\n"
+"podeu fer clic al botó per triar un altre controlador.\n"
+"\n"
+" * %s: si es detecta una targeta de TV al sistema, es mostra\n"
+"aquí. Si en teniu una però no és detectada, feu clic a %s per\n"
+"intentar configurar-la manualment.\n"
+"\n"
+" * %s: feu clic al botó %s per a canviar els paràmetres associats\n"
+"amb la targeta si penseu que la configuració no és correcta.\n"
+"\n"
+" * %s: per defecte, el DrakX configura la vostra interfície\n"
+"gràfica a una resolució de 800x600 o bé 1024x768. Si no us\n"
+"va bé, feu clic a %s per reconfigurar la interfície gràfica.\n"
+"\n"
+" * %s: si voleu configurar ara l'accés a Internet o a la xarxa local.\n"
+"Adreceu-vos a la documentació impresa o feu servir el Centre de Control\n"
+"de Mageia un cop acabada la instal·lació per a gaudir de l'ajuda en\n"
+"línia completa.\n"
+"\n"
+" * %s: permet la configuració de les adreces dels servidors intermediaris\n"
+"HTTP i FTP si la màquina que esteu configurant és darrere d'un servidor\n"
+"intermediari.\n"
+"\n"
+" * %s: aquesta opció us permet redefinir el nivell de seguretat definit\n"
+"en un pas anterior ().\n"
+"\n"
+" * %s: si teniu previst connectar-vos a Internet, és bona idea\n"
+"protegir-vos d'intrusions instal·lant un tallafoc. Consulteu-ne\n"
+"els detalls a la secció corresponent de la Guia d'iniciació.\n"
+"\n"
+" * %s: si voleu canviar la configuració del carregador d'arrencada,\n"
+"feu clic en aquest botó. Es recomana que això només ho facin els usuaris\n"
+"avançats. Adreceu-vos a la documentació impresa o bé l'ajuda en línia\n"
+"sobre la configuració del carregador d'arrencada del Centre de Control\n"
+"de Mageia.\n"
+"\n"
+" * %s: aquí podreu acabar d'ajustar els serveis que s'executaran\n"
+"a l'ordinador. Si teniu previst usar aquesta màquina com\n"
+"a servidor, és aconsellable que reviseu aquesta configuració."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "Targeta de TV"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Targeta XDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfície gràfica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Trieu el disc dur que voleu buidar per instal·lar-hi la nova partició\n"
+"Mageia. Aneu amb compte, totes les dades actuals es perdran i no\n"
+"es podran recuperar!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Feu clic a %s si voleu suprimir totes les dades i particions\n"
+"que hi ha en aquest disc dur. Aneu amb compte perquè, un cop\n"
+"hàgiu fet clic a %s, no podreu recuperar cap dada ni partició\n"
+"del disc, incloses les dades de Windows.\n"
+"\n"
+"Feu clic a %s per aturar aquesta operació sense perdre cap dada\n"
+"ni partició d'aquest disc."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Següent ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
diff --git a/perl-install/install/help/po/cs.po b/perl-install/install/help/po/cs.po
new file mode 100644
index 000000000..60d039484
--- /dev/null
+++ b/perl-install/install/help/po/cs.po
@@ -0,0 +1,2043 @@
+# Translation of cs.po to Czech
+# Translation of DrakX-cs.po to Czech
+# Copyright (C) 1999,2003, 2004, 2005 Free Software Foundation, Inc.
+# Radek Vybiral <Radek.Vybiral@vsb.cz>, 2000, 2001-2003.
+# Michal Bukovjan <bukm@centrum.cz>, 2002-2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-09-19 00:26+0200\n"
+"Last-Translator: Michal Bukovjan <bukm@centrum.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: KBabel 1.10.2\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"PÅ™edtím, než budete pokraÄovat, pÅ™eÄtÄ›te si pozornÄ› licenÄní podmínky. Ty\n"
+"se vztahují k celé distribuci Mageia a pokud s nimi souhlasíte,\n"
+"klepnÄ›te na tlaÄítko \"%s\". Pokud ne, klepnÄ›te na tlaÄítko \"%s \" a "
+"poÄítaÄ bude restartován."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je víceuživatelský systém, což znamená, že každý uživatel může\n"
+"mít své vlastní nastavení, soubory atd. Více se doÄtete v příruÄce \"ZaÄínáme"
+"\".\n"
+"Na rozdíl od uživatele root, který je správcem poÄítaÄe, uživatelé, kteří "
+"jsou\n"
+"zde vytvořeni, nemají oprávnění měnit nic kromě svých vlastních souborů a\n"
+"nastavení. DoporuÄuje se vytvoÅ™it úÄet pro minimálnÄ› jednoho běžného "
+"uživatele.\n"
+"Tento úÄet se používá na vÅ¡echny běžné úkoly. AÄkoliv je velmi praktické\n"
+"pÅ™ihlaÅ¡ovat se každý den jako uživatel root, je to také velmi nebezpeÄné!\n"
+"Jedna malá chyba může způsobit, že celý operaÄní systém již nebude funkÄní.\n"
+"Pokud uděláte chybu jako normální uživatel, můžete přijít pouze o své "
+"informace,\n"
+"ale nepoškodí se celý systém.\n"
+"\n"
+"Jako první zadejte vaÅ¡e skuteÄné jméno. To není samozÅ™ejmÄ› povinné - můžete\n"
+"zadat co chcete. Aplikace DrakX použije první slovo jako uživatelské jméno,\n"
+"pod kterým se bude uživatel hlásit do systému, a pÅ™edvyplní jej do políÄka\n"
+"\"%s\". To je možné následně změnit.\n"
+"Dále se zadává heslo pro uživatele. Volba hesla pro normální uživatele sice "
+"není\n"
+"z hlediska bezpeÄnosti tak kritická jako v případÄ› správce, ale i tak se "
+"doporuÄuje\n"
+"ji nepodceňovat; koneckonců, jde o zabezpeÄení souborů tohoto uživatele.\n"
+"\n"
+"Pokud klepnete na \"%s\", můžete přidávat uživatelů, kolik\n"
+"potÅ™ebujete, napÅ™. své přátele, úÄet pro otce Äi sestru. Pokud máte vÅ¡echny\n"
+"uživatele vytvoÅ™eny, klepnÄ›te na tlaÄítko \"%s\". \n"
+"\n"
+"Klepnutím na tlaÄítko \"%s\" můžete pro nový úÄet zmÄ›nit shell, který\n"
+"bude uživatel používat (výchozí je bash).\n"
+"\n"
+"Až dokonÄíte pÅ™idávání uživatelů, budete dotázáni na to, jaký uživatel má "
+"být\n"
+"zvolen pro automatické přihlášení do systému po jeho spuštění. Pokud chcete\n"
+"tuto možnost využít (a neobáváte se o bezpeÄnost), vyberte požadovaného\n"
+"uživatele a správce oken a klepněte na \"%s\".\n"
+"Pokud tuto možnost nechcete využít, odÅ¡krtnÄ›te políÄko \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Chcete použít tuto vlastnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Zde je vypsán seznam již existujících detekovaných oddílů na pevném disku.\n"
+"Můžete ponechat volby detekované průvodcem, protože ve většině případů\n"
+"vyhovují. Pokud chcete provést nějaké změny, musíte definovat aspoň "
+"kořenový\n"
+"oddíl (\"/\"). Velikost oddílů zvolte dostateÄnou, jinak nebude možné "
+"nainstalovat\n"
+"dostateÄné množství programů. Pokud chcete ukládat data na zvláštní oddíl,\n"
+"vytvořte také oddíl \"/home\".\n"
+"\n"
+"Každý oddíl vypsaný níže má: \"Název\", \"Velikost\".\n"
+"\n"
+"\"Název\" je složen následovnÄ›: \"typ pevného disku\", \"Äíslo disku\",\n"
+"\"Äíslo oddílu\". (například \"hda1\").\n"
+"\n"
+"Pokud máte IDE disky, pak je \"typ pevného disku\" \"hd\", pokud máte SCSI,\n"
+"oznaÄení bude \"sd\".\n"
+"\n"
+"\"Číslo disku\" je vždy písmeno za \"hd\" nebo \"sd\". Pro IDE disky je to "
+"takto:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárním IDE Å™adiÄi\".\n"
+"\n"
+"Pro SCSI disky platí, že \"a\" je \"nejmenší SCSI ID\", \"b\" je \"druhé\n"
+"nejmenší SCSI ID\" atd."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Distribuce Mageia je složena z nÄ›kolika CD. InstalaÄní program ví,\n"
+"na kterém disku je umístÄ›n jaký balíÄek a v případÄ› potÅ™eby vysune CD a "
+"vyžádá\n"
+"si výměnu CD za požadované. Pokud nemáte požadované CD po ruce, klikněte\n"
+"na \"%s\" a odpovídající balíÄky nebudou nainstalovány."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"V této chvíli je možné vybrat, které programy chcete nainstalovat na váš "
+"systém.\n"
+"Mageia obsahuje tisíce balíÄků s programy a pro snadnÄ›jší orientaci\n"
+"byly rozděleny do skupin, které sdružují podobné aplikace.\n"
+"\n"
+"BalíÄky jsou rozdÄ›leny do skupin, které odpovídají tomu, jak je nejÄastÄ›ji\n"
+"poÄítaÄ používán. Skupiny samotné jsou umístÄ›ny do ÄtyÅ™ sekcí. VýbÄ›r "
+"aplikací\n"
+"z těchto sekcí lze různě kombinovat, takže můžete mít celou instalovánu "
+"sekci\n"
+"\"Pracovní stanice\" a k ní nějaké aplikace ze sekce \"Server\".\n"
+"\n"
+" * \"%s\": pokud plánujete používat poÄítaÄ pÅ™evážnÄ› na\n"
+"běžnou práci, vyberte si balíÄky ze skupin kategorie pracovní stanice.\n"
+"\n"
+" * \"%s\": pokud budete na poÄítaÄi programovat, můžete si z této\n"
+"sekce vybrat další skupiny. Zvláštní skupina \"LSB\" nastaví váš systém "
+"tak,\n"
+"aby co nejvíce odpovídal specifikaci Linux Standard Base.\n"
+"\n"
+" Výběr skupiny \"LSB\" rovněž nainstaluje jádro řady \"2.4\" místo "
+"výchozího\n"
+"jádra řady \"2.6\", pro zajištění plné kompatibility se specifikací LSB. I "
+"když ale\n"
+"skupinu LSB nevyberete, bude systém téměř úplně specifikaci odpovídat.\n"
+"\n"
+" * \"%s\": pokud bude poÄítaÄ provozován jako server, máte možnost\n"
+"vybrat si ty nejběžnější služby, které chcete nainstalovat.\n"
+"\n"
+" * \"%s\": pokud preferujete grafické prostředí, zde je\n"
+"nabídka několika prostředí, ze které si musíte vybrat nejméně jedno,\n"
+"aby bylo možné grafické prostředí nainstalovat.\n"
+"\n"
+"Pokud přejedete myší nad skupinou, objeví se krátký text, který vysvětluje,\n"
+"co je obsahem dané skupiny.\n"
+"\n"
+"Pokud zatrhnete volbu \"%s\", zobrazí se seznam všech\n"
+"balíÄků, které je možno nainstalovat. To je to užiteÄné v případÄ›, že "
+"chcete\n"
+"mít absolutní kontrolu nad tím, co se bude instalovat.\n"
+"\n"
+"Pokud jste spustili instalaci v režimu \"%s\", můžete zrušit výběr\n"
+"daných skupin, Äímž zabráníte instalaci nových balíÄků. To je užiteÄné\n"
+"pro případ opravy nebo aktualizace existujícího systému.\n"
+"\n"
+"Pokud nevyberete při běžné instalaci žádnou skupinu (na rozdíl od\n"
+"aktualizace), zobrazí se otázka na instalaci několika typů minimální\n"
+"instalace:\n"
+"\n"
+" * \"%s\" Provede instalaci minima balíÄků s podporou grafického prostÅ™edí.\n"
+"\n"
+" * \"%s\" Nainstaluje systém se základními programy a jejich dokumentací. \n"
+"Tento typ je vhodný pro instalaci serveru.\n"
+"\n"
+" * \"%s\" Nainstaluje se opravdu nezbytné minimum, aby bylo\n"
+"možné provozovat Linux z příkazové řádky. Instalace zabere asi\n"
+"65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualizovat"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Obsahuje základní dokumentaci"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Opravdu minimální instalace"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"V závislosti na tom, zda jste zvolili individuální výbÄ›r balíÄků, se "
+"nabídne\n"
+"stromová struktura obsahující vÅ¡echny balíÄky organizované do skupin\n"
+"a podskupin. PÅ™i procházení stromu můžete vybrat jednotlivé balíÄky, "
+"podskupiny\n"
+"nebo celé skupiny.\n"
+"\n"
+"Pokud vyberete ze stromu balíÄek, objeví se v pravé Äásti jeho popis.\n"
+"\n"
+"!! Pokud se nachází mezi vybranými balíÄky serverové programy, aÅ¥ už "
+"vybrané\n"
+"zámÄ›rnÄ› nebo jako souÄást skupiny, zobrazí se dotaz na to,\n"
+"zda opravdu chcete tyto servery nainstalovat. V distribuci Mageia\n"
+"jsou tyto servery spuštěny při startu systému. I když v době vydání "
+"distribuce\n"
+"nejsou známy žádné bezpeÄnostní problémy, mohou se vyskytnout pozdÄ›ji.\n"
+"Pokud nevíte, k Äemu jsou urÄeny nÄ›které serverové služby, klepnÄ›te na \"%s"
+"\".\n"
+"Klepnutím na \"%s\" se dané služby nainstalují a automaticky spustí při "
+"startu !!\n"
+"\n"
+"Volba \"%s\" vypne varovné hlášení, které se objeví\n"
+"vždy, když vyberete balíÄek, který má další závislosti a instalaÄní program\n"
+"musí vybrat další potÅ™ebné balíÄky, aby instalace mohla probÄ›hnout úspěšnÄ›.\n"
+"\n"
+"Malá ikonka diskety dole umožňuje nahrát již pÅ™edem vybraný seznam balíÄků.\n"
+"To je užiteÄné, pokud máte nÄ›kolik poÄítaÄe a chcete na nich shodnou "
+"instalaci.\n"
+"Po klepnutí na ikonu budete dotázáni na vložení diskety, která byla "
+"vytvořena na\n"
+"konci jiné instalace. Ve druhém tipu při posledním kroku najdete návod, jak "
+"si\n"
+"tuto disketu vytvořit. "
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ošetří automaticky závislosti"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Nyní si zvolte, které služby mají být spuÅ¡tÄ›ny pÅ™i startu poÄítaÄe.\n"
+"\n"
+"Je zde seznam všech služeb, které jsou aktuálně nainstalovány.\n"
+"Prohlédněte si seznam pozorně a zrušte ty, které nepotřebujete při startu\n"
+"poÄítaÄe spouÅ¡tÄ›t.\n"
+"\n"
+"Pokud přejedete myší nad některou položkou, objeví se malá nápověda\n"
+"s popisem, co daná služba dÄ›lá. Pokud pÅ™esnÄ› nevíte, zda je služba užiteÄná\n"
+"nebo ne, je lepší ji nechat ve výchozím stavu.\n"
+"\n"
+"!! Rozvažte, co za služby spustit, zvláštÄ› pokud budete poÄítaÄ provozovat\n"
+"jako server: nepotÅ™ebujete vÅ¡echny služby. Pamatujte, že Äím více služeb\n"
+"je spuÅ¡tÄ›no, tím je vÄ›tší nebezpeÄí nežádoucího proniknutí do poÄítaÄe.\n"
+"Takže povolte opravdu jen ty služby, které nezbytně potřebujete !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux spravuje Äas podle GMT (Greenwich Mean Time) a pÅ™evádí ho na\n"
+"Äas podle přísluÅ¡né vybrané Äasové zóny. Pokud je Äas na vaší mateÅ™ské "
+"desce\n"
+"nastaven jako lokální, je možné toto zruÅ¡it odznaÄením volby \"%s\" a pak "
+"budou\n"
+"systémové hodiny stejné jako hardwarové a ve stejné Äasové zónÄ›.\n"
+"To je užiteÄné tehdy, když je na poÄítaÄi jiný operaÄní systém.\n"
+"\n"
+"Volba \"%s\" provádí automatické nastavení hodin pomocí připojení k "
+"Äasovému\n"
+"serveru na Internetu. Vyberte si v seznamu ten server, který je vám "
+"nejblíž.\n"
+"Je samozÅ™ejmé, že pro správnou funkci musíte mít funkÄní pÅ™ipojení\n"
+"k Internetu. Na poÄítaÄ se také nainstaluje Äasový server, který mohou\n"
+"volitelnÄ› používat jiné poÄítaÄe ve vaší lokální síti."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatická synchronizace Äasu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafická karta\n"
+"\n"
+" InstalaÄní program je schopen automaticky detekovat a nastavit grafickou\n"
+"kartu instalovanou v poÄítaÄi. Pokud se to nepodaří, máte možnost si ze\n"
+"seznamu vybrat přísluÅ¡nou grafickou kartu ruÄnÄ›.\n"
+"\n"
+" V případÄ›, že pro vaÅ¡i kartu je možné použít více různých serverů, buÄ\n"
+"s 3D akcelerací nebo bez, je pouze na vás, který server si vyberete jako\n"
+"nejvíce vyhovující vašim potřebám."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window System) je srdcem grafického rozhraní pro GNU/Linux, které\n"
+"využívají dodávané grafické prostředí (KDE, GNOME, AfterStep, WindowMaker) "
+"se systémem Mageia.\n"
+"\n"
+"Nyní bude zobrazen seznam různých parametrů, které je možné změnit pro\n"
+"dosažení optimálního grafického zobrazení\n"
+"\n"
+"Grafická karta\n"
+"\n"
+" InstalaÄní program je schopen automaticky detekovat a nastavit grafickou\n"
+"kartu instalovanou v poÄítaÄi. Pokud se to nepodaří, máte možnost si ze\n"
+"seznamu vybrat přísluÅ¡nou grafickou kartu ruÄnÄ›.\n"
+"\n"
+" V případě, že pro vaši kartu je možné použít více různých serverů, s 3D\n"
+"akcelerací nebo bez, je pouze na vás, který server si vyberete jako nejvíce\n"
+"vyhovující vašim potřebám.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" InstalaÄní program dokáže vÄ›tÅ¡inou automaticky detekovat a správnÄ› \n"
+"nastavit monitor pÅ™ipojený k vaÅ¡emu poÄítaÄi. Pokud se to nezdaří, lze se\n"
+"seznamu vybrat monitor, který máte.\n"
+"\n"
+"\n"
+"\n"
+"Rozlišení\n"
+"\n"
+" Zde si můžete vybrat rozlišení a barevnou hloubku, které vaše karta \n"
+"podporuje. Vyberte si to co vám nejvíce vyhovuje (výběr lze po instalaci\n"
+"samozřejmě změnit). Na monitoru bude zobrazen příklad nastavení.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Systém se pokusí otestovat grafickou obrazovku v požadovaném rozlišení.\n"
+"Pokud bÄ›hem testu uvidíte zprávy a odpovíte na ni \"%s\", instalaÄní "
+"program\n"
+"bude pokraÄovat dalším krokem. Pokud zprávu neuvidíte, znamená to, že "
+"některá\n"
+"Äást automatické detekce neprobÄ›hla v pořádku a test automaticky za 12 "
+"vteřin\n"
+"skonÄí s tím, že se provede návrat k základní nabídce. NáslednÄ› je možné "
+"opět\n"
+"provést změny až do té doby, než bude zobrazeno správné rozlišení.\n"
+"\n"
+"\n"
+"\n"
+"Volby\n"
+"\n"
+" Zde si můžete vybrat, zda chcete provést automatický start grafického\n"
+"prostÅ™edí po spuÅ¡tÄ›ní systému. Je samozÅ™ejmé, že pokud bude poÄítaÄ\n"
+"provozován jako server nebo pokud se nepodařilo nastavit grafickou kartu,\n"
+"je nutné odpovědět \"%s\"."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" InstalaÄní program dokáže vÄ›tÅ¡inou automaticky detekovat a správnÄ› \n"
+"nastavit monitor pÅ™ipojený k vaÅ¡emu poÄítaÄi. Pokud se to nezdaří, lze si\n"
+"ze seznamu vybrat monitor, který máte."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozlišení\n"
+"\n"
+" Zde si můžete vybrat rozlišení a barevnou hloubku, které vaše karta \n"
+"podporuje. Vyberte si to, co vám nejvíce vyhovuje (výběr lze po instalaci\n"
+"samozřejmě změnit). Na monitoru bude zobrazen příklad nastavení."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"V případě, že je pro vaši kartu možno použít více různých serverů s 3D\n"
+"akcelerací nebo bez, záleží na vašem výběru, který vám nejvíce vyhovuje."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Volby\n"
+"\n"
+" Tento krok vám umožňuje nastavit automatické spouštění grafického "
+"prostředí\n"
+"pÅ™i startu. Je zÅ™ejmé, že odpovíte \"%s\" v případÄ›, že poÄítaÄ bude "
+"pracovat\n"
+"jako server nebo v případě, že se nepodařilo správně nastavit grafickou "
+"kartu."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"V tomto bodě si musíte rozhodnout, na které diskové oddíly budete\n"
+"instalovat nový operaÄní systém Mageia. Pokud je disk prázdný\n"
+"nebo existující operaÄní systém používá celý disk, je nutné ho rozdÄ›lit.\n"
+"RozdÄ›lení disku spoÄívá ve vytvoÅ™ení volného prostoru pro instalaci\n"
+"systému Mageia.\n"
+"\n"
+"Protože rozdÄ›lení disku je nenávratná operace, je to velmi nebezpeÄná\n"
+"akce pro ty uživatele, kteří nemají žádné zkušenosti.\n"
+"Pro tyto uživatele je dobrý průvodce, který zjednoduší daný proces.\n"
+"JeÅ¡tÄ› pÅ™ed zapoÄetím rozdÄ›lování disku si proÄtÄ›te zbytek této sekce a "
+"hlavnÄ›\n"
+"nespěchejte.\n"
+"\n"
+"Na základě vaší stávající konfigurace nabídne průvodce několik řešení:\n"
+"\n"
+" * \"%s\": takto se jednoduše automaticky disk(y) rozdělí\n"
+"a již se o nic nemusíte starat.\n"
+"\n"
+" * \"%s\": průvodce detekoval jeden nebo více existujících\n"
+"Linuxových oddílů a ty nabídne pro instalaci. Budete muset definovat ke "
+"každému\n"
+"oddílu přípojný bod. Původní přípojné body jsou předvyplněny a obvykle by\n"
+"jste je měli ponechat.\n"
+"\n"
+" * \"%s\": pokud máte na disku nainstalovány Microsoft Windows a tyto\n"
+"zabírají celý disk, je možné tento prostor zmenšit a použít ho pro "
+"instalaci.\n"
+"Oddíl a data lze také vymazat (viz volba \"Smazat celý disk\") nebo\n"
+"zmÄ›nit velikost FAT Äi NTFS oddílu s Microsoft Windows. ZmÄ›na velikosti\n"
+"oddílu je provedena beze ztráty dat a je možná, pokud jste předtím tento "
+"oddíl ve\n"
+"Windows defragmentovali. Je doporuÄeno zazálohovat vaÅ¡e data. Tento postup\n"
+"je doporuÄený, pokud chcete na disku provozovat souÄasnÄ› systém\n"
+"Mageia i Microsoft Windows.\n"
+"\n"
+" Před výběrem této volby si prosím uvědomte, že velikost oddílu s "
+"Microsoft\n"
+"Windows bude menší než je nyní. To znamená, že budete mít méně místa pro\n"
+"uložení dat nebo instalaci programů do Microsoft Windows.\n"
+"\n"
+" * \"%s\": pokud chcete smazat veškerá data a všechny oddíly na disku\n"
+"a použít je pro instalaci systému Mageia, vyberte toto řešení.\n"
+"Zde postupujte opatrně, po výběru již není možné vzít tuto volbu zpět.\n"
+"\n"
+" !! Pokud zvolíte tuto možnost, všechna data na disku budou ztracena.!!\n"
+"\n"
+" * \"%s\": Tato volba se objeví, pokud celý disk zabírá operaÄní systém\n"
+"Microsoft Windows. Tato volba jednoduše smaže vše na disku a znovu disk\n"
+"rozdělí.\n"
+"\n"
+" !! Pokud vyberete tuto volbu, veškerá data budou ztracena. !!\n"
+"\n"
+" * \"%s\": pokud chcete disk rozdÄ›lit ruÄnÄ›. PÅ™ed touto volbou buÄte "
+"opatrní,\n"
+"je sice mocná, ale nebezpeÄná. Velmi jednoduÅ¡e zde můžete pÅ™ijít o svá "
+"data.\n"
+"NedoporuÄuje se tÄ›m, kteří pÅ™esnÄ› nevÄ›dí, co dÄ›lají. Chcete-li se dozvÄ›dÄ›t\n"
+"více o nástroji DiskDrake, který se v tomto případě používá, prostudujte "
+"sekci\n"
+"\"Správa vaÅ¡ich oddílů\" v příruÄce \"ZaÄínáme\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Použije existující oddíl"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Smazat celý disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nyní je instalace ukonÄena a operaÄní systém GNU/Linux je pÅ™ipraven k "
+"použití.\n"
+"Klepněte na \"%s\" a systém bude restartován. Nezapomeňte vyjmout "
+"instalaÄní\n"
+"médium (CD-ROM nebo disketu). První vÄ›cí, kterou uvidíte po skonÄení\n"
+"hardwarových testů po zapnutí poÄítaÄe, bude zavadÄ›Ä s menu, kde si můžete\n"
+"vybrat, který operaÄní systém chcete spustit.\n"
+"\n"
+"TlaÄítko \"%s\" zobrazí další dvÄ› tlaÄítka:\n"
+"\n"
+" * \"%s\": vytvoří disketu, se kterou\n"
+"lze celou instalaci opakovat bez zásahu operátora se stejnými volbami,\n"
+"které byly zvoleny při instalaci.\n"
+"\n"
+" Po klepnutí na toto tlaÄítko se zobrazí další dvÄ› volby:\n"
+"\n"
+" * : \"%s\": je to ÄásteÄnÄ› automatická instalace, kdy se potvrzuje\n"
+"krok při rozdělování disků (a pouze tento krok).\n"
+"\n"
+" * : \"%s\": plně automatická instalace, data na pevném disku\n"
+"budou zrušena a disk přepsán.\n"
+"\n"
+" Tato volba je velmi užiteÄná, když potÅ™ebujete nainstalovat vÄ›tší poÄet\n"
+"stejných poÄítaÄů. Více o této možnosti je na naÅ¡ich WWW stránkách.\n"
+"\n"
+" * \"%s\"(*): uloží výbÄ›r balíÄků, který byl zvolen pÅ™i\n"
+"instalaci. Pokud budete instalovat další poÄítaÄ, vložte disketu do "
+"mechaniky\n"
+"a spusťte instalaci, stiskněte [F1] a napište na příkazový řádek \n"
+">> linux defcfg=\"floppy\" << a stiskněte klávesu Enter.\n"
+"\n"
+"(*) Budete potřebovat disketu naformátovanou systémem souborů FAT.\n"
+"Chcete-li si takovou disketu vytvořit v systému GNU/Linux, napište příkaz\n"
+"\"mformat a:\" nebo \"fdformat /dev/fd0\" a poté \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Vytvoří disketu pro automatickou instalaci"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Každý nově vytvořený diskový oddíl musí být před použitím zformátován\n"
+"(formátováním se myslí vytvoření souborového systému).\n"
+"\n"
+"Nyní lze formátovat již existující diskové oddíly pro vymazání\n"
+"všech dat, která obsahují. Pokud to chcete provést, vyberte diskové oddíly\n"
+"pro přeformátování.\n"
+"\n"
+"Není ale nutné přeformátovat všechny již existující diskové oddíly.\n"
+"Je nutné pÅ™eformátovat oddíly, které obsahují operaÄní systém (jako je \"/"
+"\",\n"
+"\"/usr\" nebo \"/var\") ale není nutné přeformátovat oddíly, které obsahují\n"
+"data, která chcete zachovat (typicky \"/home\").\n"
+"\n"
+"PÅ™i výbÄ›ru diskových oddílů, které se budou formátovat buÄte opatrní, "
+"všechna\n"
+"data na formátovaných oddílech budou ztracena a nelze je již obnovit.\n"
+"\n"
+"Pokud je vše připraveno pro formátování, klepněte na \"%s\".\n"
+"\n"
+"Pokud chcete vybrat jiné oddíly pro instalaci systému Mageia,\n"
+"klepněte na \"%s\" \n"
+"\n"
+"Klepnutím na \"%s\" můžete vybrat, které oddíly budou otestovány\n"
+"na vadné bloky."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Pokaždé, když instalujete distribuci Mageia, je možné, že některé\n"
+"balíÄky byly od vydání distribuce aktualizovány. Mohly to být opravy chyb\n"
+"Äi Å™eÅ¡ení možných bezpeÄnostních problémů. Pokud chcete využít právÄ›\n"
+"této nabídky, je možné tyto balíÄky nyní stáhnout z Internetu. Zvolte \"%s"
+"\"\n"
+"pokud máte funkÄní pÅ™ipojení na Internet nebo \"%s\", pokud budete\n"
+"instalovat aktualizace později.\n"
+"\n"
+"Po zvolení \"%s\" se zobrazí seznam míst, odkud mohou být aktualizace "
+"získány.\n"
+"Vyberte si nejbližší místo. NáslednÄ› se objeví stromový seznam balíÄků,\n"
+"který je možno jeÅ¡tÄ› upravit a stisknutím tlaÄítka \"%s\" se provede "
+"stažení\n"
+"a instalace vybraných balíÄků. Akci můžete pÅ™eruÅ¡it klepnutím na \"%s\"."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nyní si vyberte úroveň zabezpeÄení vaÅ¡eho poÄítaÄe Je zÅ™ejmé, že Äím více\n"
+"je poÄítaÄ využíván a Äím cennÄ›jší data obsahuje, tím je potÅ™eba zvolit "
+"vyšší\n"
+"úroveň, stejně tak pokud je přímo vystaven na síti Internet. Na druhou "
+"stranu,\n"
+"vyšší úroveň znesnadňuje některé obvyklé postupy.\n"
+"\n"
+"Pokud nevíte co vybrat, ponechte výchozí nastavení. Úroveň zabezpeÄení\n"
+"lze později změnit pomocí nástroje draksec z Ovládacího centra Mandriva.\n"
+"\n"
+"V políÄku \"%s\" je jméno uživatele, který bude odpovÄ›dný za zabezpeÄení\n"
+"poÄítaÄe. VÅ¡echny bezpeÄnostní zprávy systému budou odeslány na tuto adresu."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Správce zabezpeÄení"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"V této chvíli je potÅ™eba urÄit, který(é) oddíl(y) budou použity pro "
+"instalaci\n"
+"systému Mageia. Pokud byly oddíly již jednou definovány, buÄ\n"
+"z předchozí instalace GNU/Linux nebo jiným programem na rozdělení disku,\n"
+"je možné použít právě tyto oddíly. Jinak musí být oddíly nově definovány.\n"
+"\n"
+"Pro vytvoření oddílu musíte nejdříve vybrat pevný disk. Klepněte na \n"
+"\"hda\", což je první IDE disk, nebo na \"hdb\", což je druhý disk,\n"
+"případně na \"sda\", což je první SCSI disk.\n"
+"\n"
+"Pro rozdělení vybraného disku můžete použít tyto volby:\n"
+"\n"
+" * \"%s\": tato volba smaže všechny oddíly na vybraném disku.\n"
+"\n"
+" * \"%s\": dojde k automatickému vytvoření oddílu pro Ext2 a swap ve volném\n"
+"prostoru disku.\n"
+"\n"
+" * \"%s\": nabídne další možnosti:\n"
+"\n"
+" * \"%s\": uloží tabulku oddílů na disketu. To je\n"
+"vhodné pro případ poškození tabulky, kdy ji lze z této zálohy obnovit.\n"
+"DoporuÄujeme využít tuto možnost.\n"
+"\n"
+" * \"%s\": obnoví tabulku oddílů, která byla již dříve\n"
+"uložena na disketu.\n"
+"\n"
+" * \"%s\": pokud je tabulka poškozena, můžete se\n"
+"pokusit ji opravit. BuÄte ale opatrní a pamatujte na to, že se to nemusí "
+"vždy\n"
+"podařit.\n"
+"\n"
+" * \"%s\": zruší všechny změny a nahraje původní\n"
+"tabulku oddílů.\n"
+"\n"
+" \"%s\": odznaÄení této volby\n"
+"způsobí, že při připojování a odpojování vyjímatelných médií jako jsou CD-"
+"ROM\n"
+"disky a floppy disky je nutné použít ruÄnÄ› příkaz mount.\n"
+"\n"
+" * \"%s\": pokud nemáte dobré znalosti o rozdělování disků, použijte\n"
+"tuto volbu, kdy se spustí průvodce. DoporuÄujeme, pokud nemáte dobré "
+"znalosti\n"
+"o vytváření oddílů na disku.\n"
+"\n"
+" * \"%s\": zruší všechny provedené změny.\n"
+"\n"
+" * \"%s\": dovoluje další akce s oddíly\n"
+"(typ oddílu, volby, formátování) a zobrazí další informace.\n"
+"\n"
+" * \"%s\": pokud máte disk rozdělen, uloží se změny na disk.\n"
+"\n"
+"Pokud definujete velikost oddílu, můžete pÅ™esnÄ›ji jejich velikost urÄit "
+"pomocí\n"
+"kurzorových šipek na klávesnici.\n"
+"\n"
+"Poznámka: každou volbu je možné zadat také z klávesnice. Mezi oddíly se\n"
+"můžete pohybovat pomocí kláves [Tab] a [Šipka nahoru/šipka dolů].\n"
+"\n"
+"Pokud je vybrán oddíl, lze použít tyto volby:\n"
+"\n"
+" * Ctrl-c pro vytvoření nového oddílu (pokud je vybrán prázdný oddíl);\n"
+"\n"
+" * Ctrl-d pro smazání oddílu;\n"
+"\n"
+" * Ctrl-m pro zadání bodu připojení.\n"
+"\n"
+"Více informací o jednotlivých druzích souborových systémů naleznete\n"
+"v kapitole o ext2fs v \"ReferenÄní příruÄce\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatické připojování pro vyjímatelná média"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Přepne mezi normální/expertním režimem"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"InstalaÄní program nalezl na disku více než jeden oddíl s Microsoft "
+"Windows.\n"
+"Prosím vyberte si jeden z nich, který je potřeba pro novu instalaci systému\n"
+"Mageia zmenšit.\n"
+"\n"
+"Každý oddíl je zobrazen následovně: \"Pojmenování v Linuxu\",\n"
+"\"Název ve Windows\", \"Velikost\".\n"
+"\n"
+"\"Pojmenování v Linuxu\" je složeno následovně: \"typ pevného disku\",\n"
+"\"Äíslo disku\", \"Äíslo oddílu\". (například \"hda1\").\n"
+"\n"
+"Pokud máte IDE disky, pak je \"typ pevného disku\" \"hd\", pokud máte SCSI,\n"
+"oznaÄení bude \"sd\".\n"
+"\n"
+"\"Číslo disku\" je vždy písmeno za \"hd\" nebo \"sd\". Pro IDE disky je "
+"takto:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárním IDE Å™adiÄi\",\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárním IDE Å™adiÄi\".\n"
+"\n"
+"Pro SCSI disky platí, že \"a\" je \"nejmenší SCSI ID\", \"b\" je \"druhé\n"
+"nejmenší SCSI ID\" atd.\n"
+"\n"
+"\"Název ve Windows\" je písmeno, které je použito ve Windows\n"
+"(první oddíl nebo disk má písmeno \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": zkontrolujte aktuální výběr země. Pokud nejste v dané zemi, "
+"klepněte\n"
+"na tlaÄítko \"%s\" a vyberte si jinou. Pokud vaÅ¡e zemÄ› není na prvním "
+"seznamu,\n"
+"klepnÄ›te na tlaÄítko \"%s\" a získáte kompletní seznam zemí."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Tento krok se objeví pouze tehdy, pokud je na vaÅ¡em poÄítaÄi nalezen starší\n"
+"oddíl GNU/Linuxu.\n"
+"\n"
+"InstalaÄní program potÅ™ebuje vÄ›dÄ›t, zda má provést instalaci nebo pouze\n"
+"aktualizaci existujícího systému Mageia.\n"
+"\n"
+" * \"%s\": Nejběžnější volba, provede kompletní výmaz starého systému.\n"
+"V závislosti na rozvržení oddílů vašeho starého systému je však možné\n"
+"zachovat obsah některých oddílů (např. adresáře \"/home\") a uchránit je "
+"před přepsáním. Pokud si přejete změnit rozmístění oddílů, změnit\n"
+"souborový systém, použijte tuto volbu.\n"
+"\n"
+" * \"%s\": tato volba provede aktualizaci balíÄků instalovaných na vaÅ¡em\n"
+"systému Mageia. Aktuální rozmístění diskových oddílů a uživatelská\n"
+"data zůstanou zachována. Bude ale provedena vÄ›tÅ¡ina konfiguraÄních kroků,\n"
+"stejně jako při instalaci.\n"
+"\n"
+"Použití volby \"Aktualizace\" bude fungovat bez problémů na stávající "
+"verzi \n"
+"\"8.1\" a novější. Aktualizace na verzích starších než \"8.1\" není "
+"doporuÄována."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"NormálnÄ› zvolí instalaÄní program správnou klávesnici na základÄ› zvoleného\n"
+"jazyka, takže v tomto kroku není potřeba nic měnit. Zkontrolujte jeho volbu "
+"a případně\n"
+"ji změňte.\n"
+"\n"
+"Může se stát, že nemáte klávesnici, která odpovídá vašemu jazyku: například\n"
+"pokud jste anglicky hovořící Švýcar, stejně chcete mít švýcarskou "
+"klávesnici.\n"
+"Nebo pokud mluvíte anglicky, ale žijete v Quebecu, je to stejný případ. V "
+"obou\n"
+"případech se můžete vrátit na tento instalaÄní krok a vybrat si "
+"odpovídající\n"
+"klávesnici ze seznamu.\n"
+"\n"
+"Pokud máte klávesnici pro jiný jazyk, klepnÄ›te na tlaÄítko \"%s\"\n"
+"a zobrazí se kompletní seznam všech podporovaných rozložení klávesnic.\n"
+"\n"
+"Pokud vyberete rozložení klávesnice založené na abecedě jiné než latince,\n"
+"budete v dalším dialogu vyzváni k výběru klávesové zkratky, která bude "
+"přepínat\n"
+"rozložení klávesnice mezi latinkou a vámi zvoleným rozložením."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvním krokem je výběr preferovaného jazyka.\n"
+"\n"
+"VýbÄ›r preferovaného jazyka ovlivňuje dokumentaci, jazyk instalaÄního "
+"programu\n"
+"a všech programů obecně. V prvním kroku si vyberete region kde žijete\n"
+"a potom jazyk kterým mluvíte.\n"
+"\n"
+"TlaÄítko \"%s\" umožňuje zvolit další jazyky, které budou také\n"
+"nainstalovány a můžete je použít v systému. Výběrem dalších jazyků "
+"nainstalujete\n"
+"soubory s aplikacemi a dokumentací specifické pro tyto jazyky. Pokud "
+"například\n"
+"na poÄítaÄi pracují obÄas lidé ze Å panÄ›lska, vyberte angliÄtinu jako hlavní\n"
+"jazyka pod tlaÄítkem rozšířené zatrhnÄ›te volbu \"%s\".\n"
+"\n"
+"Podpora UTF-8 (unicode): Unicode je nové kódování znaků, které obsahuje\n"
+"všechny známé jazyky. Plná podpora v GNU/Linuxu je stále ve vývoji.\n"
+"Z toho důvodu bude nebo nebude v systému použita podle volby uživatele:\n"
+"\n"
+" * Pokud vyberete jazyk s jasně daným kódováním (latin1, Ruština, "
+"Japonština\n"
+"ČínÅ¡tina, KorejÅ¡tina, ThajÅ¡tina, ŘeÄtina, TureÄtina, vÄ›tÅ¡ina jazyků "
+"používajících kódování\n"
+"iso-8859-2), bude implicitně použito minulostí staré kódování;\n"
+"\n"
+" * Ostatní jazyky používají implicitně Unicode.\n"
+" * Pokud potřebujete dva nebo více jazyků a tyto jazyky nepoužívají stejné\n"
+"kódování, bude pro celý systém použito kódování Unicode;\n"
+"\n"
+" * Pokud uživatel vybere volbu \"%s\", bude použito kódování Unicode "
+"nezávisle\n"
+"na výběru jazyků pro celý systém.\n"
+"\n"
+"Při výběru jazyka nejste omezeni pouze na jediný další. Můžete si jich "
+"vybrat\n"
+"více nebo dokonce nainstalovat všechny vybráním volby \"%s\".\n"
+"Podpora jazyka zahrnuje instalaci lokalizací programů, písem, kontroly\n"
+"pravopisu, atd. \n"
+"\n"
+"Změnu různých jazyků instalovaných v systému lze provést pomocí příkazu\n"
+"\"localedrake\" spuštěného jako uživatel \"root\". Spuštění pod\n"
+"běžným uživatelem způsobí změnu nastavení pouze pro daného uživatele."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Španělské"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Aplikace DrakX obvykle zjistí poÄet tlaÄítek na vaší myÅ¡i. Pokud ne, "
+"předpokládá,\n"
+"že máte dvoutlaÄítkovou myÅ¡ a nastaví emulaci pro tÅ™etí tlaÄítko myÅ¡i.\n"
+"Emulace tÅ™etího tlaÄítka se provádí souÄasným stiskem levého i pravého\n"
+"tlaÄítka. Aplikace také umí rozpoznat, zda se jedná o myÅ¡ PS/2, USB\n"
+"nebo sériovou.\n"
+"\n"
+"Pokud máte třítlaÄítkovou myÅ¡ bez koleÄka, můžete si vybrat typ myÅ¡i \"%s"
+"\".\n"
+"InstalaÄní program potom nastaví emulaci tak, že se posun koleÄkem simuluje\n"
+"stisknutím prostÅ™edního tlaÄítka a posunováním myší nahoru a dolů.\n"
+"\n"
+"Pokud chcete zadat jiný typ myši, vyberte odpovídající typ se seznamu.\n"
+"\n"
+"Můžete rovněž vybrat položku \"%s\", kterou zvolíte \"obecný\" typ myši,\n"
+"který by měl pracovat správně s téměř každou myší.\n"
+"\n"
+"Pokud vyberete jinou myš než ta, která byla detekována, zobrazí se "
+"testovací\n"
+"obrazovka. Zde otestujte jak tlaÄítka tak i koleÄko a ověřte, zda je "
+"nastavení\n"
+"správné. Pokud myš nepracuje správně, stiskněte mezerník nebo klávesu Enter\n"
+"a vyberte jiný typ myši.\n"
+"\n"
+"MyÅ¡i s koleÄkem nejsou v nÄ›kterých případech automaticky rozpoznány. Budete\n"
+"je muset vybrat ze seznamu. Ujistěte se, že vyberete myš s odpovídajícím "
+"typem\n"
+"portu, ke kterému je pÅ™ipojená. Poté, co stisknete tlaÄítko \"%s\", \n"
+"zobrazí se obrázek s myší. Posunujte koleÄkem, aby se správnÄ› aktivovalo; "
+"koleÄko\n"
+"na obrazovce by se mÄ›lo pohybovat. Poté ověřte tlaÄítka a zda-li se myÅ¡ "
+"pohybuje\n"
+"na obrazovce správně."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "s emulací koleÄka"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzální | Libovolná PS/2 & USB myš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vyberte prosím správný port. Například \"COM1\" pod MS Windows má\n"
+"v Linuxu název \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"ZavadÄ›Ä je malý program, který se spustí ihned po startu poÄítaÄe a je\n"
+"zodpovÄ›dný za zavedení operaÄního systému. Tato Äást je obvykle plnÄ›\n"
+"automatická. InstalaÄní program analyzuje zavádÄ›cí sektor disku a zachová\n"
+"se podle toho, co zde nalezne:\n"
+"\n"
+" * pokud nalezne zaváděcí sektor Windows, přepíše ho sektorem pro LILO/GRUB\n"
+"tak, aby bylo možné spouÅ¡tÄ›t jak systém Windows tak i Linux Äi jiný OS "
+"instalovaný\n"
+"na vaÅ¡em poÄítaÄi;\n"
+"\n"
+" * pokud nalezne zaváděcí sektor pro LILO nebo GRUB, tak jej přepíše novým.\n"
+"\n"
+"Pokud instalaÄní program nedokáže rozhodnout, zeptá se na to, kam má "
+"zavadÄ›Ä\n"
+"umístit. ObecnÄ› je nejbezpeÄnÄ›jší místo \"%s\". Zvolením \"%s\" se "
+"neprovede\n"
+"instalace žádného zavadÄ›Äe. Použijte to pouze tehdy, pokud víte, co dÄ›láte."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Zde si můžete vybrat tiskový systém, který budete používat. Jiné OS "
+"nabízejí\n"
+"jeden, Mageia nabízí dva. Každý z nich je vhodnější pro různé typy\n"
+"konfigurací.\n"
+"\n"
+" * \"%s\" - což znamená 'print, do not queue' a je vhodný tehdy, pokud máte\n"
+"přímo připojenou lokální tiskárnu, chcete rychle řešit zaseklý papír a "
+"nemáte\n"
+"žádné síťové tiskárny. \"%s\" zvládá pouze několik možností a tisk na něj ze "
+"sítě\n"
+"je velmi pomalý. Pokud s GNU/Linuxem teprve zaÄínáte, pak je \"pdq\"\n"
+"doporuÄený tiskový systém pro vás.\n"
+"\n"
+" * \"%s\"'Common Unix Printing System' je vynikající v tisku na lokální\n"
+"tiskárny stejně jako při tisku na tiskárnu na druhé straně planety. "
+"Nastavení\n"
+"je jednoduché a může fungovat jako klient i server pro klienty z \"lpd\"\n"
+"systému, takže je kompatibilní se staršími systémy. Je možné nastavit\n"
+"spoustu voleb, ale základní nastavení je velmi jednoduché, téměř jako u \"pdq"
+"\".\n"
+"Pokud potÅ™ebujete emulovat \"lpd\" server, staÄí spustit démona \"cups-lpd"
+"\".\n"
+"\"%s\" má také grafické prostředí pro tisk a nastavení tiskárny.\n"
+"\n"
+"Pokud nyní provedete volbu a později budete chtít tiskový systém změnit,\n"
+"můžete to provést pomocí nástroje PrinterDrake z ovládacího centra Mandriva "
+"tak,\n"
+"že klepnete na tlaÄítko \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Aplikace DrakX se nejdříve pokusí najít vÅ¡echny pevné disky v poÄítaÄi.\n"
+"Také se pokusí nalézt jeden nebo více PCI SCSI adaptérů. Pokud nějaký "
+"najde,\n"
+"automaticky nainstaluje správný ovladaÄ.\n"
+"\n"
+"Protože automatická detekce hardware nemusí vždy nalézt všechny typy "
+"hardware,\n"
+"budete v dialogu dotázáni, zda vůbec máte nějaký SCSI adaptér. \n"
+"\n"
+"Pokud si budete muset vybrat ovladaÄ ruÄnÄ›, aplikace DrakX se zeptá,\n"
+"zda pro něj chcete zadat nějaké volby Měli byste povolit aplikaci DrakX,\n"
+"ať se pokusí zjistit, které volby jsou pro danou kartu potřeba. Většinou to\n"
+"funguje dobře.\n"
+"\n"
+"Pokud to nebude fungovat, budete muset zadat další informace pro ovladaÄ "
+"ruÄnÄ›."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": pokud je detekována v poÄítaÄi zvuková karta, je zde\n"
+"zobrazena. Pokud ale vidíte, že zobrazená karta není přesně tak, kterou\n"
+"máte v poÄítaÄi, můžete klepnutím na tlaÄítko vybrat jinou kartu a ovladaÄ."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Zde jsou shromáždÄ›ny různé informace, které se vztahují k tomuto poÄítaÄi.\n"
+"V závislosti na tom, zda je Äi není přítomen daný hardware, můžete nebo\n"
+"nemusíte některé z těchto položek vidět. Každý záznam má krátký souhrn\n"
+"s aktuální konfigurací. Klepnutím na odpovídající tlaÄítko \"%s\" jej "
+"můžete\n"
+"změnit.\n"
+"\n"
+" * \"%s\": zkontrolujte nastavení rozložení kláves, pokud je to nutné, \n"
+"klepnutím na tlaÄítko lze zmÄ›nit rozložení kláves, .\n"
+"\n"
+" * \"%s\": zkontrolujte výběr země. Pokud výběr nesouhlasí, klepnutím na\n"
+"tlaÄítko \"%s\" můžete vybrat jinou zemi. Pokud vaÅ¡e zemÄ› není na prvním\n"
+"seznamu, můžete si klepnutím na tlaÄítko \"%s\" zobrazit kompletní seznam.\n"
+"\n"
+" * \"%s\": instalaÄní program se pokusí odhadnout Äasové pásmo na\n"
+"základě vámi vybraného jazyka. Pokud není odhadnuto správně, můžete jej\n"
+"pomocí tlaÄítka \"%s\" zmÄ›nit.\n"
+"\n"
+" * \"%s\": zkontrolujte vaši myš. Pokud je to nutné, lze ji také změnit.\n"
+"\n"
+" * \"%s\": Klepnutím na tlaÄítko \"%s\" se spustí průvodce\n"
+"nastavením tiskárny. V odpovídající kapitole v \"Uživatelské příruÄce\" se\n"
+"dozvíte více o tom, jak tiskárnu nastavit. Rozhraní, které je v ní popsané, "
+"je\n"
+"podobné rozhraní použitému při této instalaci.\n"
+"\n"
+" * \"%s\": pokud byla při instalaci detekována zvuková karta, je\n"
+"zde zobrazena. Pokud uvedený ovladaÄ není správný, lze provést výbÄ›r "
+"správného.\n"
+"\n"
+" * \"%s\": pokud byla detekována televizní karta, je zde zobrazena.\n"
+"Pokud karta nebyla automaticky detekována, klepnutím na tlaÄítko \"%s\"\n"
+"můžete provést ruÄní nastavení.\n"
+"\n"
+" * \"%s\": pokud byla detekována ISDN karta, je zde zobrazena.\n"
+"Klepnutím na tlaÄítko \"%s\" můžete mÄ›nit parametry pro tuto kartu.\n"
+"\n"
+" * \"%s\": instalaÄní program jako výchozí rozliÅ¡ení zvolí\n"
+"rozlišení \"800×600\" nebo \"1024×768\". Pokud vám to nevyhovuje, je možné\n"
+"to pomocí tlaÄítka \"%s\" zmÄ›nit.\n"
+"\n"
+" * \"%s\": pokud chcete nyní nastavit připojení k Internetu nebo k lokální\n"
+"síti, klepnutím na tlaÄítko se spustí průvodce. Plnou dokumentaci naleznete\n"
+"v tiÅ¡tÄ›né příruÄce, případnÄ› můžete po instalaci využít ovládací centrum\n"
+"Mageia, kde rovněž naleznete kompletní nápovědu.\n"
+"\n"
+" * \"%s\": umožňuje nastavit adresu HTTP a FTP proxy, což je užiteÄné,\n"
+"pokud se poÄítaÄ nachází za firewallem.\n"
+"\n"
+" * \"%s\": tato položka dovoluje pÅ™edefinovat úroveň zabezpeÄení, která "
+"byla\n"
+"nastavena v předchozím kroku\n"
+"\n"
+" * \"%s\": pokud budete poÄítaÄ pÅ™ipojovat do Internetu, je doporuÄeno "
+"spustit\n"
+"ochranu před napadením aktivací firewallu. Více o nastavení firewallu se\n"
+"doÄtete v odpovídající kapitole příruÄky \"ZaÄínáme\".\n"
+"\n"
+" * \"%s\": pokud chcete zmÄ›nit nastavení zavadÄ›Äe, můžete to provést\n"
+"klepnutím na toto tlaÄítko. ZmÄ›ny by mÄ›ly provádÄ›t pouze zkuÅ¡ení uživatelé.\n"
+"Více informací lze nalézt v tištěné dokumentaci nebo online nápověde\n"
+"v ovládacím centru Mageia.\n"
+"\n"
+" * \"%s\": zde si můžete konkrétnÄ› urÄit, které služby budou na vaÅ¡em "
+"poÄítaÄi\n"
+"spuÅ¡tÄ›ny. Pokud bude tento poÄítaÄ používán jako server, je vhodné provést\n"
+"kontrolu toho, co je nastaveno."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN karta"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafické rozhraní"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vyberte disk, který chcete smazat pro instalaci oddílu Mageia.\n"
+"Pamatujte na to, že všechna data budou ztracena a nelze je již obnovit!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klepněte na \"%s\", pokud chcete smazat všechna data a oddíly na tomto\n"
+"pevném disku. BuÄte opatrní, po odklepnutí tlaÄítka \"%s\" nelze obnovit "
+"žádná dřívější data ani oddíly a to i pro Windows.\n"
+"\n"
+"Klepnutím na \"%s\" zrušíte tuto operaci bez ztráty dat a oddílů na disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Další ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Předchozí"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": klepnutím na \"%s\" se otevře průvodce nastavením tiskárny.\n"
+#~ "Jak nastavit tiskárnu se také dozvíte z odpovídající kapitoly z příruÄky\n"
+#~ "\"ZaÄínáme\". Rozhraní je podobné tomu, které vidíte pÅ™i instalaci."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Následující rozhodnutí je jedním z těch, které ovlivňují celkovou "
+#~ "bezpeÄnost\n"
+#~ "systému GNU/Linux, tj. volba hesla pro uživatele \"Root\". Root je "
+#~ "správcem\n"
+#~ "systému, je jediný odpovědný za provádění aktualizací, přidávání "
+#~ "uživatelů a také\n"
+#~ "za celkové nastavení systému. Zkráceně: \"root\" může úplně všechno!\n"
+#~ "To je také důvodem, proÄ se heslo volí takové, aby se nedalo lehce "
+#~ "uhodnout\n"
+#~ "a instalaÄní program DrakX zkontroluje, zda není příliÅ¡ jednoduché. Jak "
+#~ "vidíte,\n"
+#~ "je možné heslo nezadat, ale toto velmi důraznÄ› nedoporuÄujeme, a to z "
+#~ "jednoho\n"
+#~ "důvodu. Nemyslete si, že pokud spustíte systém GNU/Linux, že je vše "
+#~ "bezpeÄné a že se nemůže nic stát.. Vzhledem k tomu, že na uživatele \"root"
+#~ "\" se nevztahují\n"
+#~ "běžná omezení, může nenávratně poškodit celý systém, smazat data z "
+#~ "jiných\n"
+#~ "oddílů na disku a operaÄních systémů, vymazat potÅ™ebné soubory nebo celé\n"
+#~ "oddíly, atd. Proto je důležité, aby nebylo jednoduché se tímto uživatelem "
+#~ "stát.\n"
+#~ "\n"
+#~ "Zvolené heslo by se mÄ›lo skládat ze znaků a Äíslic a mÄ›lo by být dlouhé\n"
+#~ "minimálně 8 znaků. Také není dobré si ho kamkoliv poznamenávat - po\n"
+#~ "nalezení vaší poznámky může být velmi jednoduché se do vašeho systému\n"
+#~ "dostat.\n"
+#~ "\n"
+#~ "Nevolte však heslo příliš dlouhé nebo komplikované, bude nutné si jej "
+#~ "bez\n"
+#~ "větších potíží zapamatovat.\n"
+#~ "\n"
+#~ "Při zadávání nebude heslo na obrazovce zobrazeno. Proto se heslo zadává\n"
+#~ "dvakrát pro ověření, zda nedošlo k překlepu při prvním pokusu. Tak je "
+#~ "možné\n"
+#~ "heslo opravit a zadat dvakrát stejné. Pokud se vám přesto podaří zadat "
+#~ "stejný\n"
+#~ "překlep dvakrát, budete muset toto heslo s překlepem použít při prvním\n"
+#~ "přihlášení.\n"
+#~ "\n"
+#~ "Jestliže chcete použít ověřovací server, klepnÄ›te na tlaÄítko \"%s\".\n"
+#~ "\n"
+#~ "Pokud se ve vaší síti používá pro ověřování uživatelů protokol LDAP, NIS\n"
+#~ "nebo ověřovací doména Windows PDC, vyberte odpovídající protokol pro \"%s"
+#~ "\".\n"
+#~ "Pokud o tom nic nevíte, zeptejte se správce vaší sítě.\n"
+#~ "\n"
+#~ "Pokud máte problémy se zapamatováním si hesel nebo pokud není poÄítaÄ\n"
+#~ "pÅ™ipojen do žádné spravované sítÄ› a věříte vÅ¡em, kteří mají k poÄítaÄi "
+#~ "přístup,\n"
+#~ "můžete vybrat volbu \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "ověření"
diff --git a/perl-install/install/help/po/cy.po b/perl-install/install/help/po/cy.po
new file mode 100644
index 000000000..64e34acb4
--- /dev/null
+++ b/perl-install/install/help/po/cy.po
@@ -0,0 +1,2000 @@
+# translation of DrakX-cy.po to Cymraeg
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Rhoslyn Prys <rhoslyn.prys@ntlworld.com>, 2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Mandriva DrakX.cy\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-03-08 19:38-0000\n"
+"Last-Translator: Rhoslyn Prys <post@meddal.com>\n"
+"Language-Team: Cymraeg <post@meddal.com>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Welsh\n"
+"X-Poedit-Country: UNITED KINGDOM\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"Plural-Forms: nplurals=2; plural=(n == 2) ? 1 : 0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Cyn parhau dylech ddarllen amodau'r drwydded yn ofalus. Mae'n ymwneud\n"
+"â holl ddosbarthiad Mageia. Os ydych yn cytuno â'r holl amodau,\n"
+"cliciwch flwch \"%s\". Os nad, bydd clicio ar y botwm \"%s\" yn\n"
+"ail gychwyn eich cyfrifiadur."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"Mae GNU/Linux yn system aml-ddefnyddiwr, ac mae hyn yn golygu bod pob\n"
+"defnyddiwr yn gallu cael ei ddewisiadau ei hun, ei ffeiliau ei hun ac yn y "
+"blaen.\n"
+"Gallwch ddarllen yr \"Starter Guide\" i ddysgu mwy. Ond yn annhebyg i "
+"\"gwraidd\",\n"
+"sef y gweinyddwr, ni fydd modd i'r defnyddiwr fyddwch yn eu creu yma'n "
+"gallu\n"
+"newid dim ond eu ffeiliau a'u ffurfweddiad ei hun gan amddiffyn y system "
+"rhag\n"
+"newidiadau anfwriadol neu faleisus fydd yn effeithio'r system gyfan. Bydd "
+"rhaid\n"
+"i chi greu un defnyddiwr cyffredin ar gyfer chi eich hun. Dyma'r cyfrif "
+"ddylech\n"
+"fewngofnodi iddo ar gyfer defnydd bob dydd. Er ei fod yn ymarferol iawn i "
+"fewngofnodi fel\n"
+"\"root\" gall fod yn beryglus iawn!. Gall y camgymeriad lleiaf olygu nad yw "
+"eich\n"
+"system yn gweithio ragor. Os wnewch chi gamgymeriad mawr fel defnyddiwr\n"
+"cyffredin, byddwch ond yn colli rhywfaint o wybodaeth, ac nid y system "
+"gyfan.\n"
+"\n"
+"Yn gyntaf rhowch eich enw go iawn. Does dim rhaid, wrth gwrs - mae modd\n"
+"i chi rhoi beth bynnag hoffech chi. Bydd DraX yn cymryd yr enw cyntaf a'i "
+"roi yn\n"
+"yr \"%s\" Dyma'r enw bydd y defnyddiwr hwn yn ei ddefnyddio i\n"
+"fewngofnodi i'r system. Mae modd ei newid. Yna rhowch gyfrinair. Nid yw\n"
+"cyfrinair defnyddiwr cyffredin mor bwysig ag un \"gwraidd\" o safbwynt "
+"diogelwch\n"
+"ond nid yw hynny'n rheswm i'w esgeuluso - wedi'r cyfan mae eich ffeiliau "
+"mewn\n"
+"perygl\n"
+"\n"
+"Os wnewch chi glicio \"%s\", bydd modd ychwanegu faint\n"
+"fynnoch. Ychwanegwch ddefnyddiwr ar gyfer pob un o'ch ffrindiau: eich tad\n"
+"neu eich chwaer, e.e. Ar ôl ychwanegu'r holl ddefnyddwyr, cliciwch \"%s\".\n"
+"\n"
+"Bydd clicio'r botwm \"%s\" yn caniatáu i chi newid y \"cragen\" "
+"rhagosodedig\n"
+"ar gyfer y defnyddiwr hwnnw (bash yw'r rhagosodedig).\n"
+"\n"
+"Pan fyddwch wedi cwblhau ychwanegu defnyddwyr, bydd gofyn i chi ddewis\n"
+"defnyddiwr sy'n gallu mewngofnodi'n awtomatig mewngofnodi i'r system pan\n"
+"fydd y cyfrifiadur yn cychwyn.Os oes gennych ddiddordeb yn y nodwedd hon\n"
+"a dim gwahaniaeth am ddiogelwch, dewiswch y defnyddiwr a rheolwr ffenestr\n"
+"a chlicio \"%s\". Os nad dad-diciwch blwch \"%s\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ydych chi eisiau defnyddio'r nodwedd?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Dyma'r rhaniadau Linux sydd wedi canfod ar eich disg caled.\n"
+"Gallwch gadw'r dewisiadau sydd wedi eu gwneud gan y dewin, maen nhw'n iawn\n"
+"ar gyfer y rhan fwyaf o osodiadau. Os ydych am wneud newidiadau, rhaid i chi "
+"o leiaf\n"
+"ddiffinio rhaniad gwraidd (\"/\"). Peidiwch ddewis rhaniad sy'n rhy fach neu "
+"fidicon"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mae gosodiad Mageia i'w gael ar nifer o CD-ROMau. Mae DrakX\n"
+"yn gwybod os yw pecyn penodol wedi ei leoli ar CD-ROM arall a bydd yn bwrw\n"
+"allan y CD cyfredol a gofyn am y llall. Os nad yw'r CD angenrheidiol "
+"gennych\n"
+"wrth law, cliciwch \"%s\", ac ni fydd y pecynnau hynny'n cael eu gosod."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Mae'n amser penderfynu pa raglenni rydych am eu gosod ar eich\n"
+"system. Mae yna filoedd o becynnau ar gael ar gyfer Mageia, ond\n"
+"i'w gwneud hi'n haws eu rheoli maent wedi cael eu gosod mewn grwpiau\n"
+"o raglenni tebyg.\n"
+"\n"
+"Mae Mageia wedi trefnu'r grwpiau pecynnau i bedwar categori. Mae\n"
+"modd dewis a dethol rhaglenni o'r categorïau gwahanol, fel bo \"Man Gwaith"
+"\"\n"
+"yn medru cael rhaglenni o'r categori \"Gweinydd\".\n"
+"\n"
+" * \"%s\": os ydych yn bwriadu defnyddio eich peiriant fel man\n"
+"gwaith yna dewiswch un o'r grwpiau cyfatebol.\n"
+"\n"
+" * \"%s\": os yw'r peiriant yn cael ei ddefnyddio i raglennu, dewiswch\n"
+" y grwpiau perthnasol. Bydd y grŵp arbennig \"LSB\" yn ffurfweddu\n"
+"eich system fel ei fos yn cyd-fynd gymaint ag y bo modd gyda manyleb\n"
+"Linux Standard Base.\n"
+"\n"
+" Bydd dewis grŵp \"LSB\" hefyd yn gosod cnewyllyn cyfres \"2.4\",\n"
+"yn lle'r \"2.6\" rhagosodedig. Mae hyn i sicrhau cydymffurfiad llawn\n"
+"y system gyda LSB. Er hynny, os nad ydych yn dewis grŵp \"LSB\"\n"
+"bydd eich system yn cydymffurfio bron yn 100%% gyda LSB.\n"
+"\n"
+" * \"%s\": os yw'n fwriad defnyddio eich peiriant fel gweinydd dewiswch\n"
+" y gwasanaethau cyffredin rydych am eu gosod ar eich peiriant.\n"
+"\n"
+" * \"%s\": dyma'r lle i ddewis eich amgylchedd graffigol.\n"
+"Rhaid dewis o leiaf un er mwyn cael man gwaith graffigol!\n"
+"\n"
+"Bydd symud cyrchwr y llygoden dros enw grŵp yn amlygu esboniad byr am y\n"
+"grŵp hwnnw.\n"
+"\n"
+"Ticiwch flwch \"%s\", sy'n ddefnyddiol os ydych yn gyfarwydd â'r\n"
+"pecynnau sydd ar gael neu os ydych am gael rheolaeth lwyr dros\n"
+"beth fydd yn cael ei osod.\n"
+"\n"
+"Os fyddwch yn cychwyn y gosod ym modd \"%s\" gallwch ddad-ddewis\n"
+"pob grŵp ac atal gosod unrhyw becynnau newydd. Mae hyn yn ddefnyddiol\n"
+"ar gyfer trwsio neu ddiweddaru system bresennol.\n"
+"\n"
+"Os ydych wedi dad-ddewis pob grŵp wrth wneud gosodiad\n"
+"arferol ac nid uwchraddiad), bydd dialog yn ymddangos a chynnig\n"
+"dewisiadau amrywiol ar gyfer y gosodiad lleiaf\n"
+"\n"
+" * \"%s\" Gosod y nifer lleiaf o becynnau i gael bwrdd gwaith graffigol\n"
+"i weithio.\n"
+"\n"
+" * \"%s\" Gosod y system sylfaenol yn ogystal â gwasanaethau elfennol\n"
+"a'u dogfennau. Mae'r gosodiad hwn yn addas ar gyfer gosod gweinydd.\n"
+"\n"
+" * \"%s\" Gosod y lleiafswm posibl o becynnau i greu system Linux \n"
+"llinell orchymyn weithredol. Cyfanswm maint y gosodiad fydd tua 65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uwchraddio"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Gyda dogfennaeth elfennol"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Gosodiad lleiaf posibl"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Os ydych wedi dewis gosod pecynnau'n unigol unigol, bydd y gosodwr\n"
+"yn cyflwyno coeden sy'n cynnwys yr holl becynnau wedi eu dosbarthu yn ôl\n"
+"grwp ac isgrwp. Wrth bori'r goeden, gallwch ddewis grwp cyfan, isgrwp \n"
+"neu becyn unigol.\n"
+"\n"
+"Pryd bynnag fyddwch wedi dewis pecyn ar y goeden, bydd disgrifiad yn\n"
+"ymddangos ar y dde. \n"
+"\n"
+"!! Os oes pecyn gweinydd wedi ei ddewis, yn fwriadol neu am ei fod yn rhan\n"
+"o grwp cyfan, bydd angen i chi gadarnhau eich bod eisiau i'r gweinyddion\n"
+"gael eu gosod. Ym Mageia mae unrhyw weinydd sydd wedi ei\n"
+"osod yn cael ei gychwyn fel rhagosodiad wrth gychwyn. Hyd yn oed os ydynt\n"
+"yn ddiogel a doedd dim materion pryder pan gafodd y dosbarthiad ei ryddhau,\n"
+"mae'n bosibl i fylchau diogelwch gael eu darganfod wedi i'r fersiwn hwn o\n"
+"Mageia gael ei gwblhau. Os nad ydych yn gwybod beth mae\n"
+"gwasanaeth arbennig i fod i'w wneud na pham mae wedi ei osod, yna\n"
+"cliciwch\"%s\". Bydd clicio \"%s\" yn gosod y gwasanaethau hynny a\n"
+"byddant yncael eu cychwyn yn awtomatig drwy ragosodiad!!\n"
+"\n"
+"Mae'r dewis \"%s\"yn analluogi'r deialog rhybudd sy'nymddangos bob\n"
+" tro fydd y gosodwr yn dewis pecyn yn awtomatig. Mae hyn yn digwydd\n"
+"am ei fod wedi penderfynu ei fod angen bodlon dibyniad gyda phecyn arall\n"
+"er mwyn cwblhau'r gosodiad yn llwyddiannus\n"
+"\n"
+"Mae'r eicon disg medal bychan ar waelod y rhestr yn caniatáu llwytho'r\n"
+"rhestr pecynnau dewiswyd yn ystod gosodiad blaenorol. Bydd clicio\n"
+"ar yr eicon hwn yn gofyn i chi osod yn y peiriant disg meddal grëwyd ar\n"
+"ddiwedd gosodiad arall. Gwelwch yr ail neges o'r cam diwethaf ar sut i\n"
+"greu disg meddal o'r fath."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dibyniaethau awtomatig"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dewiswch pa wasanaethau rydych am eu cael wrth gychwyn eich cyfrifiadur.\n"
+"\n"
+"Bydd DrakX yn rhestri'r holl wasanaethau sydd ar gael gyda'r gosodiad "
+"cyfredol.\n"
+"Darllenwch y rhestr yn ofalus a dad-diciwch y rhai nad oes eu hangen bob "
+"tro\n"
+"wrth gychwyn.\n"
+"\n"
+"Mae modd cael esboniad byr am wasanaeth wrth eu dewis. Ond, os nad ydych\n"
+"yn siwr a yw'r gwasanaeth o werth neu beidio, mae'n well cadw at y drefn\n"
+"rhagosodedig\n"
+"\n"
+"!!Byddwch yn ofalus iawn os ydych am ddefnyddio eich peiriant fel gweinydd:\n"
+"mwy na thebyg na fyddwch eisiau cychwyn unrhyw wasanaethau nad oes eu\n"
+"hangen. Cofiwch fod cael nifer o wasanaethau wedi eu galluogi ar y "
+"gweinydd,\n"
+"fod yn beryglus. Yn gyffredinol, dim ond dewis y gwasanaethau mae'n rhaid eu "
+"cael !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Mae GNU/Linux yn rheoli amser drwy GMT (Greenwich Mean Time)\n"
+"a'i drosi i amser lleol yn ôl y parth amser rydych wedi ei ddewis.\n"
+"Mae'n bosib dad-ddewis hyn drwy ddad-ddewis \"%s\" fel bod y cloc\n"
+"caledwedd yr un a chloc y system yr un peth. Mae hyn yn ddefnyddiol\n"
+"pan fo'r peiriant yn westai i system arall.\n"
+"\n"
+"Bydd y dewis \"%s\" yn rheoli'r cloc yn awtomatig drwy gysylltu \n"
+"â gweinydd amser ar y Rhyngrwyd. Yn y rhestr sy'n cael ei gynnig \n"
+"dewiswch yr agosaf atoch. Rhaid i'ch cyswllt â'r we fod yn gweithio\n"
+"i hyn ddigwydd. Bydd yn gosod ar eich peiriant wasanaethwr amser fydd\n"
+"o ddewis yn medru cael ei ddefnyddio gan beiriannau eraill ar eich "
+"rhwydwaith."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Cydweddi amser awtomatig"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Cerdyn Graffeg\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y cerdyn graffig sydd ar eich cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich cerdyn o'r rhestr.\n"
+"\n"
+" Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (sef X Window System) yw calon rhyngwyneb graffigol GNU/Linux a'r\n"
+"hyn mae'r holl amgylcheddau graffigol (KDE, Gnome, AterStep,\n"
+"WindowMaker, etc) sy'n dod gyda Mageia yn dibynnu arno.\n"
+"\n"
+"Byddwch yn derbyn rhestr o baramedrau gwahanol i'w newid i gael\n"
+"y dangosiad graffigol gorau:\n"
+"\n"
+" Cerdyn Graffeg\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y cerdyn graffeg sydd ar eich cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich cerdyn.\n"
+"\n"
+" Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer.\n"
+"\n"
+"\n"
+"Dangosydd\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y dangosydd sy'n gysylltiedig â'ch cyfrifiadur. Os nad yw hyn yn gywir,\n"
+"mae'n dangos eich dangosydd.\n"
+"\n"
+"\n"
+"\n"
+"Cydraniad\n"
+"\n"
+" Cewch ddewis yma gydraniad a dyfnder lliw rhwng y rhai sydd ar gael\n"
+"ar gyfer eich caledwedd. Dewiswch yr un sydd orau ar eich cyfer (bydd\n"
+"modd newid hynny wedi'r gosod) Mae enghraifft o ffurfweddiad i'w weld\n"
+"ar y dangosydd.\n"
+"\n"
+"\n"
+"\n"
+"Prawf\n"
+"\n"
+" Bydd y system yn ceisio agor sgrin graffigol yn unol â'r cydraniad "
+"dewisol.\n"
+"Os ydych yn gweld y neges yn ystod y prawf ac ateb \"%s\", yna bydd\n"
+"DrakX yn symud ymlaen i'r cam nesaf. Os nad ydych yn gweld y neges nesaf\n"
+"mae'n golygu fod rhan o'r drefn awtoganfod yn anghywir a bydd y prawf\n"
+"yn dod i ben ar ôl 12 eiliad, gan ddod a chi nôl i'r ddewislen. Newidiwch y\n"
+"gosodiadau nes i chi gael y sgrin i edrych yn iawn.\n"
+"\n"
+"\n"
+"\n"
+"Dewisiadau\n"
+"\n"
+" Yma cewch ddewis p'un ai i drefnu i'ch cyfrifiadur newid yn awtomatig i\n"
+"rhyngwyneb graffigol wrth gychwyn. Yn amlwg byddwch angen ticio \"%s\"\n"
+"os yw eich peiriant i weithredu fel gweinydd, neu os na fuoch yn\n"
+"llwyddiannus yn ffurfweddu'r dangosydd."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Dangosydd\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y dangosydd sy'n gysylltiedig â'ch cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich dangosydd o'r rhestr."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Cydraniad\n"
+"\n"
+" Cewch ddewis yma gydraniad a dyfnder lliw rhwng y rhai sydd ar gael\n"
+"ar gyfer eich caledwedd. Dewiswch yr un sydd orau ar eich cyfer (bydd\n"
+"modd newid hynny wedi'r gosod) Mae enghraifft o ffurfweddiad i'w weld\n"
+"ar y dangosydd."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Dewisiadau\n"
+"\n"
+" Yma gallwch ddewis os ydych am i'ch cyfrifiadur droi i ryngwyneb graffig\n"
+"wrth gychwyn y cyfrifiadur. Yn amlwg, byddwch am ateb \"%s\" os yw\n"
+"eich peiriant i weithredu fel gweinydd, neu os nad oeddech yn\n"
+"llwyddiannus yn cael eich dangosydd i ffurfweddu'n gywir."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Mae angen i chi nawr ddewis lle ar eich disg caled i osod eich system\n"
+"weithredu Mageia. Os yw eich disg caled yn wag neu os oes\n"
+"yna system weithredol eisoes yn cymryd yr holl le sydd ar gael, bydd\n"
+"angen i chi greu rhaniadau arno. Yn y bôn, mae rhannu disg caled yn\n"
+"golygu ei rhannu'n rhesymegol i greu lle i osod eich system Mandriva\n"
+"Linux newydd.\n"
+"\n"
+"Gan fo effaith y broses rannu'n ddidroi nôl, gan arwain at golli data os\n"
+"oes system weithredol eisoes ar y gyrrwr, gall creu rhaniadau fod yn\n"
+"broses anodd a straenus os ydych yn ddefnyddiwr dibrofiad. Yn ffodus,\n"
+"mae gan DrakX ddewin sy'n symleiddio'r broses. Cyn cychwyn, \n"
+"darllenwch y llawlyfr a chymerwch bwyll.\n"
+"\n"
+"Yn ddibynnol ar ffurfweddiad eich disg caled, mae dewisiadau ar gael:\n"
+"\n"
+" * \"%s\": mae'r dewis hwn yn arwain at greu rhaniadau awtomatig\n"
+"o'ch disg(iau) caled gwag. Bydd dim cwestiynau eraill os byddwch\n"
+"yn defnyddio'r dewis hwn.\n"
+"\n"
+" * \"%s\": mae'r dewin wedi canfod un neu fwy o raniadau Linux\n"
+"cyfredol ar eich disg caled. Os ydych am eu defnyddio, dewiswch y\n"
+"dewis hwn. Bydd gofyn i chi ddewis pwyntiau gosod yn gysylltiedig\n"
+"â phob rhaniad. Mae'r pwyntiau gosod gosodedig wedi eu dewis,\n"
+"ac ar y cyfan mae'n syniad da cadw atynt.\n"
+"\n"
+" * \"%s\": os yw Microsoft Windows ar eich disg caled ac yn cymryd\n"
+"y lle i gyd, bydd rhaid i chi greu lle ar gyfer data Linux. I wneud hynny\n"
+"gallwch ddileu eich rhaniad a data Microsoft Windows (Gw. atebion\n"
+"\"Dileu'r ddisg gyfan \") neu ail-lunio maint rhaniad FAT Microsoft "
+"Windows.\n"
+"Mae modd ail lunio maint y rhaniad heb golli data cyn belled eich bod wedi\n"
+"dad-ddarnio rhaniad Windows ac mae'n defnyddio fformat Windows.\n"
+"Argymhellir cadw data wrth gefn hefyd. Argymhellir gwneud hyn os ydych\n"
+"am ddefnyddio Mageia a Microsoft Windows ar yr un cyfrifiadur.\n"
+"\n"
+" Cyn gwneud y dewis hwn, cofiwch y bydd maint eich rhaniad Microsoft\n"
+"Windows yn llai nag yw ar hyn o bryd ar ol dilyn y drefn yma. Bydd gennych\n"
+"llai o le yn Microsoft Windows i gadw data neu i osod meddalwedd newydd\n"
+"\n"
+" * \"%s\" os ydych am ddileu'r holl ddata a rhaniadau presennol ar\n"
+"eich disg caled a'u cyfnewid am system Mageia, yna dewiswch\n"
+"hwn. Byddwch yn ofalus wrth wneud hyn gan na fydd modd troi nôl\n"
+"ar ôl cadarnhau.\n"
+"\n"
+" !! Os ydych yn dewis hwn, byddwch yn colli'r holl ddata ar eich disg. !!\n"
+"\n"
+" * \"%s\": Bydd y dewis yma'n ymddangos pam mae'r ddisg gyfan wedi\n"
+"ei chymryd gan Microsoft Windows. Bydd hwn yn dileu popeth o'r disg\n"
+"caled a chychwyn popeth o'r newydd, gan greu rhaniadau newydd.\n"
+"\n"
+" !! Os ydych yn dewis hwn, byddwch yn colli'r holl ddata ar eich disg. !!\n"
+"\n"
+" * \"%s\": dewiswch hwn os ydych am rannu'r disg caled gyda llaw.\n"
+"Byddwch ofalus - mae'n ddewis pwerus a pheryglus. Mae modd i chi \n"
+"golli'ch holl ddata. Peidiwch dewis hwn oni bai eich bod yn gwybod beth\n"
+"ydych yn ei wneud.. Am ragor o wybodaeth ar sut i ddefnyddio DiskDrake,\n"
+"darllenwch adran \"Managing your Partitions\" yn y \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Defnyddiwch y rhaniadau presennol"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Dileu'r ddisg gyfan"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Dyna ni, mae'r gosodiad wedi ei gwblhau ac mae eich system GNU/Linux\n"
+"yn barod i'w ddefnyddio. Cliciwch \"%s\" i ailgychwyn y cyfrifiadur. "
+"Peidiwch\n"
+"anghofio tynnu'r cyfrwng gosod (CD-ROM neu feddal). Y peth cyntaf i chi\n"
+"weld ar ôl i'ch cyfrifiadur gwblhau ei brofion caledwedd yw'r ddewislen\n"
+"llwytho, sy'n rhoi dewis o ba system i'w chychwyn.\n"
+"\n"
+"Mae'r botwm \"%s\" yn dangos dau fotwm arall:\n"
+"\n"
+" *\"%s\": i greu disg meddal gosod fydd yn creu yn awtomatig osodiad\n"
+"cyflawn heb gymorth gweithredwr, yn debyg i'r gosodiad sydd\n"
+"newydd ei ffurfweddu.\n"
+"\n"
+"Sylwer bod dau ddewis gwahanol i'w gael wedi clicio'r botwm:\n"
+"\n"
+" *\"%s\". Gosodiad rhannol awtomatig gan fod mai'r cam o greu\n"
+"rhaniad yw'r unig ran ryngweithiol o'r broses.\n"
+"\n"
+" *\"%s\".Gosodiad cwbl awtomatig: mae'r disg caled wedi ei\n"
+"ailysgrifennu'n llwyr, a'r holl ddata wedi ei golli.\n"
+"\n"
+"Mae hwn yn nodwedd ddefnyddiol iawn wrth osod ar nifer fawr o\n"
+"beiriannau tebyg. Gw. yr adran Auto install ar ein safle gwe.\n"
+"\n"
+"*\"%s\":(*): mae hwn yn cadw'r dewis o becynnau wnaed cynt.\n"
+"Wrth wneud gosodiad arall, rhowch ddisg meddal yn y gyrrwr a rhedeg\n"
+"y gosodiad gan fynd i'r sgrin cymorth drwy wasgu'r fysell [F1], \n"
+"a theipio >>linux defcfg=\"floppy\"<< a phwyso bysell [Enter].\n"
+"\n"
+"(*) Bydd angen disg meddal wedi ei fformatio fel FAT (i greu un yn\n"
+"GNU/Linux, teipiwch \"mformat a:\" neu \"fdformat /dev/fd0\" wedi\n"
+"ei ddilyn gan \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Creu disg meddal awto gosod"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Efallai y byddwch eisiau ailfformatio rhai rhaniadau presennol i ddileu "
+"data\n"
+"sydd arnynt. Os ydych am wneud hynny, dewiswch y rhaniadau hynny hefyd.\n"
+"\n"
+"Sylwch nad oes angen ailfformatio'r holl raniadau sy'n bodoli eisoes. "
+"Rhaid \n"
+"ailfformatio'r rhaniadau sy'n cynnwys y system weithredu [megis \"/\",\"usr"
+"\"\n"
+"neu \"/var\") ond nid oes rhaid i chi ail fformatio rhaniadau sy'n cynnwys\n"
+"data rydych am ei gadw (e.e. \"/home\").\n"
+"\n"
+"Byddwch ofalus wrth ddewis rhaniadau. Ar ôl fformatio bydd yr holl ddata ar\n"
+"y rhaniadau'n cael eu dileu ac ni fydd modd ei adfer.\n"
+"\n"
+"Cliciwch \"%s\" pan ydych yn barod i fformatio rhaniadau.\n"
+"\n"
+"Cliciwch \"%s\" os ydych am ddewis rhaniad arall ar gyfer eich gosodiad\n"
+"Mageia newydd\n"
+"\n"
+"Cliciwch \"%s\" os ydych am ddewis rhaniadau i'w gwirio am flociau\n"
+"gwallus ar y ddisg."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Erbyn i chi osod Mageia, mae'n debygol y bydd rhai \n"
+"pecynnau wedi eu diweddaru ers y rhyddhad cychwynnol. Bydd rhai \n"
+"gwallau wedi eu cywiro a materion diogelwch wedi eu datrys. I ganiatáu\n"
+"i chi fanteisio ar hyn mae cynnig i chi eu llwytho i lawr o'r rhyngrwyd.\n"
+"Dewiswch \"%s\" os oes gennych gyswllt gweithredol â'r rhyngrwyd,\n"
+"neu \"%s\"\"os ydych am osod pecynnau mwy diweddar rhywbryd eto.\n"
+"\n"
+"Bydd dewis \"%s\" yn dangos rhestr o leoedd o le mae modd derbyn\n"
+"diweddariadau. Dewiswch yr un agosaf atoch. Yna, bydd coeden dewis\n"
+"pecynnau yn ymddangos: Wedi i chi benderfynu ar eich dewis, cliciwch\n"
+"\"%s\" i estyn a gosod y pecynnau hynny neu \"%s\" i beidio."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Yma mae DrakX yn caniatáu i chi ddewis lefel diogelwch y peiriant. Fel\n"
+"rheol, y mwyaf agored yw'r peiriant, y mwyaf pwysig yw'r data'r uchaf\n"
+"ddylai'r lefel diogelwch fod neu fod gan y peiriant gysylltiad uniongyrchol\n"
+"gyda'r rhyngrwyd. Er hynny, mae diogelwch yn dod ar draul\n"
+"hwylustod. \n"
+"\n"
+"Os nad ydych yn siŵr beth i'w ddewis, dewiswch y rhagosodedig. Byddwch\n"
+"yn gallu newid y lefel diogelwch yn ddiweddarach gyda draksec o\n"
+"Ganolfan Rheoli Mandriva.\n"
+"\n"
+"Mae maes \"%s\" yn gallu dweud wrth y system o'r defnyddiwr sydd â\n"
+"chyfrifoldeb am ddiogelwch. Bydd negeseuon diogelwch yn cael eu hanfon\n"
+"at y cyfeiriad hwnnw. "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Cyfrinair Gweinyddwr"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Yn awr mae angen i chi ddewis pa raniadau i'w defnyddio ar gyfer gosodiad\n"
+"eich system Mageia. Os oes rhaniadau wedi eu diffinio eisoes, un\n"
+"ai drwy osodiad blaenorol o GNU/Linux neu gan offeryn rhannu arall, mae\n"
+"modd i chi ddefnyddio'r rhaniadau presennol. Os nad, rhaid i' rhaniadau'r\n"
+"ddisg caled gael eu diffinio.\n"
+"\n"
+"I greu rhaniadau, rhaid yn gyntaf ddewis disg caled. Mae modd dewis disg\n"
+"i'w rannu drwy glicio ar \"hda\" ar gyfer y ddisg IDE cyntaf., \"hdb\" ar\n"
+"gyfer yr ail, \"sda\" ar gyfer y ddisg SCSI cyntaf, ac yn y blaen.\n"
+"\n"
+"I greu'r rhaniad, mae modd defnyddio'r dewisiadau hyn:\n"
+"\n"
+" *\"%s\": mae'r dewis hwn yn dileu pob rhaniad ar ddisg.\n"
+"\n"
+" *\"%s\": mae'r dewis hwn yn caniatáu i chi greu'n awtomatig\n"
+"Ext2 a rhaniadau cyfnewid mewn lle gwag ar eich disg.\n"
+"\n"
+" *\"%s\": yn rhoi mynediad i ragor o nodweddion:\n"
+"\n"
+" *\"%s\": mae hwn yn cadw'r tabl rhaniad i ddisg\n"
+"meddal. Mae hyn yn ddefnyddiol ar gyfer adfer tabl rhaniad, os fydd angen\n"
+"\n"
+" \"%s\": mae hyn yn caniatáu adfer tabl rhaniad blaenorol\n"
+"o ddisg meddal.\n"
+"\n"
+" \"%s\": os yw eich tabl rhaniad wedi ei ddifrodi, mae modd\n"
+"ceisio ei adfer drwy'r dewis yma. Byddwch ofalus a chofiwch fod modd iddo\n"
+"fethu.\n"
+"\n"
+" \"%s\": mae hwn yn dileu pob newid ac yn ail lwytho'r\n"
+"tabl rhaniad gwreiddiol.\n"
+"\n"
+" *\"%s\": dad-diciwch y dewis hwn i osod a dad osod\n"
+"gyda llaw, cyfryngau symudol megis disgiau meddal ac CD-ROMau\n"
+"\n"
+" *\"%s\": defnyddiwch y dewis hwn os ydych am ddefnyddio'r dewin i rannu\n"
+"eich disg caled. Dyma'sydd orau os nad oes gennych wybodaeth sylweddol ar\n"
+"rhannu\n"
+"\n"
+" *\"%s\": defnyddiwch y dewis hwn i ddileu eich newidiadau\n"
+"\n"
+" *\"%s\": mae hwn yn caniatáu gweithredoedd\n"
+"pellach ar raniadau. (Math, dewisiadau, fformat) ac mae'n cynnig mwy o\n"
+" wybodaeth.\n"
+"\n"
+" *\"%s\":pan fyddwch wedi gorffen rhannu eich disg, bydd hwn yn cadw\n"
+" eich newidiadau yn ôl i'r ddisg\n"
+"\n"
+"Sylwer: mae modd cyrraedd y dewisiadau drwy'r bysellfwrdd. Symudwch drwy'r\n"
+" rhaniadau gan ddefnyddio [Tab] a'r saethau [I Fyny/I Lawr].\n"
+"\n"
+"Pan fydd rhaniad wedi ei ddewis, gallwch ddefnyddio:\n"
+"\n"
+" *Ctrl-c i greu rhaniad newydd (pan fo rhaniad gwag yn cael ei ddewis);\n"
+"\n"
+" *Ctrl-d i ddileu rhaniad;\n"
+"\n"
+" *Ctrl-m i greu pwynt gosod;\n"
+"\n"
+"I dderbyn gwybodaeth am yr amrywiol systemau ffeil sydd ar gael, darllenwch "
+"y\n"
+" pennawd ar ext2fs yn y ``Reference Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Awto gosod cyfrwng symudol"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Amnewid rhwng modd arferol/arbenigol"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mae mwy nag un rhaniad Microsoft wedi ei ganfod ar eich disg caled.\n"
+"Dewiswch ba un rydych am newid ei faint er mwyn gosod eich\n"
+"system weithredu Mageia newydd\n"
+"\n"
+"Mae pob rhaniad wedi ei restri fel hyn: \"Enw Linux\", \"Enw Windows\",\n"
+"\"Maint\".\n"
+"\n"
+"Mae \"Enw Linux\" wedi ei strwythuro fel hyn: \"math o ddisg caled\", \n"
+"\"rhif y disg caled\", \"rhif y rhaniad\" (e.e., \"hda1\").\n"
+"\n"
+"\"hd\" yw'r \"Math o ddisg caled\" os mai disg caled IDE sydd gennych\n"
+"a \"sd\" yw disg caled SCSI.\n"
+"\n"
+"Llythyren wedi'r \"hd\" neu \"sd\" yw'r \"Rhif disg caled\" bob tro.\n"
+"Gyda disgiau caled IDE:\n"
+"\n"
+" * mae \"a\" yn golygu \"prif ddisg caled ar y rheolydd IDE cyntaf\",\n"
+"\n"
+" * mae \"b\" yn golygu \"ddisg caled gwas ar y rheolydd IDE cyntaf\",\n"
+"\n"
+" * mae \"c\" yn golygu \"prif ddisg caled ar yr ail reolydd IDE\",\n"
+"\n"
+" * mae \"d\" yn golygu \"ddisg caled gwas ar yr ail reolydd IDE\",\n"
+"\n"
+"Gyda disgiau caled SCSI mae \"a\" yn golygu'r \"enw SCSI isaf\", ac mae\n"
+" \"b\" yn golygu'r \"ail enw SCSI isaf\", ag ati.\n"
+"\n"
+"Mae \"Enw Windows\" yn cyfeirio at y llythyren y disg caled o dan\n"
+" Windows (\"C:\" yw'r ddisg neu raniad cyntaf)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":gwiriwch y dewis gwlad. Os nad ydych yn y wlad hon cliciwch y\n"
+"botwm \"%s\"a dewis un arall. Os nad yw eich gwlad ar y rhestr gyntaf,\n"
+"cliciwch \"%s\" i edrych ar y rhestr gyflawn."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Mae'r cam hwn yn cael ei weithredu os oes hen raniad GNU/Linux wedi\n"
+"ei ganfod ar y cyfrifiadur.\n"
+"\n"
+"Bydd DrakX angen gwybod a ydych am osod o'r newydd neu uwchraddio\n"
+"system Mageia presennol.\n"
+"\n"
+" *\"%s\" Ar y cyfan, mae hwn yn tynnu'r hen system gyfan oddi ar eich\n"
+"cyfrifiadur. Er hynny, yn ddibynnol ar eich trefn rhannu, mae modd atal\n"
+"peth o'ch data (yn arbennig, cyfeiriaduron \"home\" ) rhag cael ei "
+"ysgrifennu drosto. Os ydych am newid rhaniadau eich disgiau caled, neu newid "
+"y\n"
+"system ffeil, dylech ddewis hwn.\n"
+"\n"
+" *\"%s\": Mae'r dosbarth gosod hwn yn caniatáu i chi ddiweddaru'r\n"
+"pecynnau sydd wedi eu gosod ar eich system Mageia. Bydd eich\n"
+"rhaniadau presenol a'ch data personol yn cael eu cadw. Bydd y rhan fwyaf\n"
+"o'r camau ffurfweddu ar gael fel gyda'r gosod arferol.\n"
+"\n"
+"Dylai defnyddio \"Diweddaru\" weithio'n iawn ar systemau Mageia\n"
+"sy'n rhedeg systemau \"8.1\" neu'n ddiweddarach. Nid yw uwchraddio\n"
+"fersiynau cyn Mageia \"8.1\" yn cael ei gymeradwyo."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Fel arfer mae DrakX yn dewis y bysellfwrdd cywir ar eich cyfer ( gan "
+"ddibynnu pa\n"
+" iaith rydych wedi ei ddewis(). Gwiriwch fod y dewis yn addas neu dewiswch "
+"gynllun\n"
+"bysellfwrdd arall.\n"
+"\n"
+"Efallai nad oes gennych fysellfwrdd sy'n cyfateb yn union i'ch iaith: e.e., "
+"os ydych\n"
+"yn Americanwr sy'n siarad Cymraeg, efallai eich bod am gadw eich "
+"bysellfwrdd\n"
+"Americanaidd. Neu os ydych yn siarad Cymraeg ac yn byw yn Hong Kong mae'r\n"
+" un sefyllfa'n codi. Yn y ddwy achos bydd angen i chi fynd yn ôl i'r cam yma "
+"yn y\n"
+" gosodiad a dewis y bysellfwrdd perthnasol o'r rhestr.\n"
+"\n"
+"Cliciwch ar fotwm \"%s\" i dderbyn y rhestr o fysellfyrddau sy'n cael eu "
+"cynnal.\n"
+" \n"
+"Os fyddwch yn dewis cynllun bysellfwrdd wedi ei seilio ar wyddor an-"
+"Lladinaidd, \n"
+"bydd y deialog nesaf yn caniatáu i chi ddewis rwymiad allwedd fydd yn newid "
+"y\n"
+"bysellfwrdd rhwng cynlluniau Lladin ac an-Lladin."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Y cam cyntaf yw dewis eich hoff iaith.\n"
+"\n"
+"Bydd eich dewis iaith yn effeithio ar iaith y gosodwr, y ddogfennaeth\n"
+" a'r system yn gyffredinol. Dewiswch yr ardal lle rydych ac yna eich iaith.\n"
+"\n"
+"Bydd clicio ar y botwm \"%s\" yn caniatáu i chi ddewis ieithoedd eraill\n"
+"i'w gosod ar eich peiriant gwaith. Bydd dewis ieithoedd eraill yn gosod\n"
+"ffeiliau penodol sy'n cynnwys dogfennaeth a rhaglenni yn yr ieithoedd\n"
+"hynny. Er enghraifft, os ydych yn westeiwr ar gyfer defnyddwyr o Sbaen,\n"
+"dewiswch Gymraeg fel y rhagosodedig yng ngolwg coeden ac yn yr Uwch\n"
+"adran cliciwch \"%s\". \n"
+"\n"
+"Ynghylch cefnogaeth UTF-8 (unicode): Amgodiad nod newydd yw Unicode\n"
+"sydd i gynnwys pob iaith. Er hynny, mae cefnogaeth i bob iaith o fewn\n"
+"GNU/Linux yn dal yn cael ei ddatblygu Oherwydd hynn mae defnydd\n"
+"Mageia o UTF-8 yn ddibynnol ar ddewis y defnyddiwr:\n"
+"\n"
+" * Os ydych yn dewis iaith gyda hen amgodiad cryf (ieithoedd lladin1\n"
+"Rwsieg, Siapanëeg, Tsieinëeg, Corëeg, Thai, Groeg, Twrceg, y rhan\n"
+" fwyaf o ieithoedd iso-8859-2) bydd yr hen amgodiad yn cael ei ddefnyddio;\n"
+"\n"
+" * Bydd ieithoedd eraill yn defnyddio unicode drwy ragosodiad;\n"
+"\n"
+" * Os oes angen dwy neu fwy o ieithoedd, ac nid yw'r ddwy iaith yn "
+"defnyddio'r\n"
+"un amgodiad, yna bydd unicode yn cael ei ddefnyddio drwy'r holl system\n"
+"\n"
+" * Yn olaf, mae modd gorfodi'r defnydd o unicode drwy'r system gyfan ar\n"
+"gais y defnyddiwr drwy ddewis \"%s\" yn annibynnol o ba iaith sydd wedi cêl "
+"ei ddewis.\n"
+"\n"
+"Sylwer bod modd gosod mwy nag un iaith. Mae modd i chi ddewis mwy\n"
+"nag un, neu hyd yn oed eu gosod i gyd, drwy ddewis y blwch \"%s\".\n"
+"Mae dewis cefnogaeth i bob iaith yn golygu gosod cyfieithiadau, ffontiau, \n"
+"gwiryddion sillafu, ag ati, ar gyfer yr iaith honno.\n"
+"\n"
+"I newid rhwng yr ieithoedd amrywiol sydd ar y system gallwch gychwyn\n"
+"y gorchymyn \"/usr/sbin/localedrake\" fel \"root\" i newid yr iaith\n"
+"sy'n cael ei ddefnyddio gan y system gyfan. Bydd rhedeg y gorchymyn fel\n"
+"defnyddiwr cyffredin yn gweithio dim ond ar gyfer yr unigolyn hwnnw."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Sbaeneg"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Fel rheol does gan DrakX ddim problem yn canfod y nifer o fotymau ar eich\n"
+"llygoden. Os yw, bydd yn cymryd for gennych lygoden dau fotwm a bydd yn\n"
+"ffurfweddu efelychiad trydydd botwm. Mae modd pwyso trydydd botwm\n"
+"llygoden dau fotwm ar unwaith gan glicio'r botymau chwith a de. Bydd DrakX\n"
+"yn gwybod yn awtomatig p'un ai yw'r llygoden yn defnyddio rhyngwyneb PS/2\n"
+"cyfresol neu USB.\n"
+"\n"
+"Lle mae gennych lygoden 3 botwm heb olwyn, cewch ddewis y llygoden sy'n\n"
+"dweud \"%s\". Bydd DrakX yn ffurfweddu eich llygoden fel bod modd "
+"efelychu'r\n"
+"olwyn gydag ef: i wneud hynny pwyswch y botwm canol a symud eich llygoden "
+"nôl a blaen.\n"
+"\n"
+"Os am ryw reswm yr hoffech nodi llygoden o fath gwahanol, dewiswch un\n"
+"o'r rhestr amgaeëdig.\n"
+"\n"
+"Gallwch ddewis \"%s\" i ddewis math llygoden ``generic'' sy'n gweithio gyda\n"
+"bron bob llygoden.\n"
+"\n"
+"Os fyddwch yn dewis llygoden wahanol i'r rhagosodedig gyd sgrin\n"
+"profi'n cael ei ddangos. Defnyddiwch y botymau a'r olwyn i wirio fod\n"
+"y gosodiadau'n gywir a bod y llygoden yn gweithio'n iawn. Os nad yw'r\n"
+"llygoden yn gweithio'n dda, pwyswch y bar bylchu neu fysell [Return] i\n"
+"i ddiddymu'r prawf ac i fynd nôl i'r rhestr dewis.\n"
+"\n"
+"Ar brydiau nid yw llygod olwyn yn cael eu canfod yn awtomatig, felly bydd\n"
+"angen dewis eich llygoden o'r rhestr. Gwnewch yn siŵr eich bod yn dewis\n"
+"y porth sy'n cyfateb i le mae eich llygoden. Ar ôl dewis llygoden a "
+"phwyso'r\n"
+"botwm \"%s\" , bydd delwedd llygoden yn cael ei dangos ar y sgrin. Trowch\n"
+"olwyn y llygoden i sicrhau ei fod yn gweithio'n iawn. Unwaith i chi weld yr\n"
+"olwyn ar y sgrin yn symud wrth i chi droi'r olwyn. profwch y botymau a "
+"gwirio fod\n"
+"pwyntydd y llygoden yn symud ar y sgrin wrth i chi symud y llygoden."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gydag efelychiad Olwyn"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Cyffredinol | Unrhyw lygoden PS/2 ac USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Dewiswch y porth cywir. Mae porth \"COM1\" o dan MS Windows yn cael ei alw "
+"yn\n"
+"\"ttyS0\" yn GNU/Linux, e.e."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Rhaglen fechan yw'r cychwynnwr sy'n cael ei gychwyn gan y cyfrifiadur.\n"
+"Mae'n gyfrifol am gychwyn y system i gyd. Fel rheol mae'r rhan yma'n\n"
+"digwydd yn awtomatig. Bydd DrakX yn dadansoddi'r adran cychwyn\n"
+"disg a gweithredu yn â'r yr hyn mae'n ei ganfod yno.\n"
+"\n"
+" *os yw'n canfod adran cychwyn Windows, bydd yn ei amnewid gyda\n"
+"adran cychwyn GRUB/LILO. O ganlyniad bydd modd i chi gychwyn un\n"
+"ai GNU/Linux neu system arall.\n"
+"\n"
+" *os fydd adran gychwyn GRUB neu LILO'n cael ei ganfod bydd yn ei\n"
+"amnewid gydag un mwy diweddar.\n"
+"\n"
+"Os nad yw'n medru penderfynu, bydd DrakX yn gofyn i chi lle i osod\n"
+"y cychwynnydd. Yn gyffredinol, \"%s\" yw'r man mwyaf diogel. Ni fydd\n"
+" dewis \"%s\" yn gosod cychwynnydd. Dim ond ar gyfer y gwybodus."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Yma byddwn yn dewis system argraffu i'ch cyfrifiadur ei ddefnyddio. Efallai\n"
+"bod systemau eraill yn cynnig un i chi, ond mae Mandriva yn cynnig dwy.\n"
+"Mae 'r systemau'n addas gar gyfer ffurfweddiad arbennig.\n"
+"\n"
+" *\"%s\" - sy'n golygu \"print, do not queue\", yw'r dewis os oes gennych\n"
+"gysylltiad uniongyrchol â'ch argraffydd a'ch bod eisiau medru tynnu allan o "
+"waith\n"
+"argraffu pan fo'r papur wedi mynd yn sownd ac nad oes gennych argraffyddion\n"
+"wedi eu cysylltu drwy rwydwaith. (Dim ond rhwydweithiau syml mae \"%s\" yn "
+"ei\n"
+"drin ac mae'n araf ar rwydweithiau). Dewiswch \"pdq\" os mai dyma yw eich\n"
+"tro cyntaf yn GNU/Linux.\n"
+"\n"
+" *\"%s\" - \"Common Unix Printing System\". Mae hwn yn dda ar gyfer\n"
+"argraffu i argraffyddion lleol a hanner ffordd rownd y byd. Mae'n symlach, "
+"yn\n"
+"gallu gweithredu fel gwasanaethwr neu gleient ar gyfer yr hen system \"lpd"
+"\"\n"
+"ac felly mae'n cydweddi â'r systemau sydd wedi mynd o'i flaen. Mae'n gallu\n"
+"gwneud nifer o driciau, ond mae bron mor syml i'w osod \"pdq\". Os ydych\n"
+"amgen hwn i efelychu gwasanaethwr \"lpd\", yna rhaid cychwyn aemon\n"
+"\"cups-lpd\". Mae gan \"%s\" wyneb graffigol ar gyfer argraffu dewis\n"
+"argraffydd neu reoli'r argraffu.\n"
+"\n"
+"\n"
+"Os ydych yn dewis yn awr ac yn ddiweddarach yn penderfynu eich bod\n"
+"am newid eich system argraffu gallwch ei newid drwy gyfrwng PrinterDrake\n"
+"yng Nghanolfan Rheoli Mandriva a chlicio'r botwm %s."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Arbenigwr"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Bydd DrakX yn canfod unrhyw ddyfais IDE sydd ar eich cyfrifiadur. Bydd yn\n"
+"chwilio am un neu fwy o gardiau SCSI PCI ar eich system. Os oes Cerdyn\n"
+"SCSI'n cael ei ganfod bydd DrakX yn awtomatig yn gosod y gyrrwr priodol.\n"
+"\n"
+"Oherwydd nad yw canfod caledwedd bob tro'n canfod darn o galedwedd,\n"
+"gall DrakX fethu canfod eich disgiau caled. Os felly, bydd rhaid i chi "
+"bennu\n"
+"eich caledwedd â llaw.\n"
+"\n"
+"Os ydych wedi pennu eich addaswr PCI SCS gyda llaw, bydd DrakX yn\n"
+"gofyn i chi ydych am bennu dewisiadau ar ei gyfer. Dylech adael i DrakX "
+"ofyn\n"
+"i'r cerdyn am ddewisiadau penodol i'r cerdyn mae angen i'r caledwedd eu\n"
+"cychwyn. Mae hyn fel rheol yn gweithio'n dda\n"
+"\n"
+"Os nad yw DrakX yn gallu holi am y dewisiadau sydd eu hangen, bydd rhaid i\n"
+" chi ffurfweddu'r gyrrwr gyda llaw. "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": os yw cerdyn sain yn cael ei ganfod ar eich cyfrifiadur, bydd \n"
+"yn cael ei ddangos yma. Os ydych yn sylwi nad y cerdyn sain sydd ar eich\n"
+"cyfrifiadur sy'n cael ei ddangos, yna cliciwch ar y botwm a dewis\n"
+"gyrrwr arall."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"I grynhoi, bydd DrakX yn cyflwyno crynodeb o'r wybodaeth amrywiol\n"
+"sydd ganddo am eich system. Yn ddibynnol ar eich caledwedd, mae'n bosib\n"
+"bod gennych rywfaint o'r nodweddion canlynol. Mae pob cofnod yn cynnwys\n"
+"eitem ffurfweddadwy, a chrynodeb o'r ffurfweddiad presennol. Cliciwch ar y\n"
+"botwm \"%s\" perthnasol i'w newid.\n"
+"\n"
+" *\"%s\": gwirio ffurfweddiad map y bysellfwrdd a'i newid os oes angen.\n"
+"\n"
+" *\"%s\": gwirio'r dewis gwlad. Os nad ydych yn y wlad hon, cliciwch y "
+"botwm\n"
+"\"%s\" a dewis un arall. Os nad yw eich gwlad ar y rhestr gyntaf i'w\n"
+"dangos, cliciwch y botwm \"%s\" am y rhestr gyflawn o wledydd.\n"
+"\n"
+"\n"
+" *\"%s\": Mae DrakX yn dyfalu eich parth amser yn ôl y wlad rydych\n"
+"wedi ei dewis. Mae modd clicio ar y botwm \"%s\" i'w gywiro.\n"
+"\n"
+" *\"%s\": gwirio ffurfweddiad y llygoden bresennol a chlicio ar y botwm\n"
+"i'w newid os oes angen.\n"
+"\n"
+" \"%s\": bydd clicio ar y botwm \"%s\" yn agor y dewin\n"
+"ffurfweddu argraffydd. Darllenwch y pennawd yn y \"Starter Guide\" ar\n"
+"sut i osod argraffydd newydd. Mae'r rhyngwyneb yn debyg i'r un ar gyfer\n"
+"ei osod yn y man cyntaf.\n"
+"\n"
+" *\"%s\": os oes cerdyn sain wedi ei ganfod ar eich system bydd\n"
+"yn cael ei ddangos yma. Os ydych yn sylwi nad y cerdyn sain sy'n cael ei\n"
+"ddangos yw'r un sydd ar eich system, yna cliciwch y botwm a dewis\n"
+"gyrrwr arall.\n"
+"\n"
+" * \"%s\": os oes cerdyn teledu wedi ei ganfod ar eich system\n"
+"bydd yn cael ei ddangos yma. Os oes gennych gerdyn ac nid yw wedi cael\n"
+"ei ganfod, cliciwch \"%s\" i geisio ei ffurfweddu â llaw.\n"
+"\n"
+" * \"%s\": cliciwch ar \"%s\" i newid paramedrau cysylltiedig â'r cerdyn\n"
+"os yw'r ffurfweddiad yn anghywir.\n"
+"\n"
+" *\"%s\": fel rheol bydd DrakX yn gosod eich rhyngwyneb\n"
+"i gydraniad \"800x600\" neu \"1024x768\". Os nad yw hyn yn addas ar\n"
+"eich cyfer cliciwch y botwm \"%s\" i'w newid.\n"
+" \n"
+" * \"%s\": os ydych am ffurfweddu eich mynediad i'r Rhyngrwyd neu\n"
+"eich rhwydwaith lleol, mae modd gwneud hynny. Darllenwch y deunydd\n"
+"ysgrifenedig neu ddefnyddio Canolfan Reoli Mageia wedi i'r gosod\n"
+"orffen i fanteisio ar gymorth ar-lein llawn.\n"
+"\n"
+" * \"%s\": os ydych am ffurfweddu cyfeiriadau dirprwyol HTTP ac FTP os\n"
+"yw'r peiriant rydych yn ei osod i fod tu nôl i weinydd dirprwyol.\n"
+"\n"
+" * \"%s\": mae modd ail ddiffinio'r lefel diogelwch a osodwyd yn\n"
+"flaenorol ().\n"
+"\n"
+" *\"%s\": mae'n syniad da gosod mur cadarn i'ch amddiffyn rhag\n"
+"ymyriadau os ydych yn bwriadu cysylltu eich cyfrifiadur â'r Rhyngrwyd.\n"
+"Darllenwch y bennod berthnasol yn y \"Starter Guide\" am fanylion\n"
+"gosodiadau mur cadarn.\n"
+"\n"
+" * \"%s\": os hoffech newid ffurfweddiad eich cychwynnwr\n"
+"cliciwch y botwm yma. Ar gyfer defnyddwyr profiadol. Darllenwch y\n"
+"deunydd ysgrifenedig neu'r cymorth ar-lein am ffurfweddiad\n"
+"cychwynwyr yng Nghanolfan Rheoli Mageia.\n"
+"\n"
+" *\"%s\": yma bydd modd i chi wneud man newidiadau i'r\n"
+"gwasanaethau sy'n cael eu rhedeg ar eich cyfrifiadur. Os ydych yn\n"
+" bwriadu defnyddio'r cyfrifiadur fel gwasanaethwr mae'n syniad da\n"
+"darllen y gosodiadau'n fanwl."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Cerdyn ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Cerdyn ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Rhyngwyneb Graffigol"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Dewiswch y ddisg galed rydych am ei ddileu er mwy n gosod eich rhaniad\n"
+"Mageia newydd. Byddwch ofalus, bydd yr holl ddata sydd arno'n\n"
+"cael ei ddileu ac ni fydd modd ei adfer!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Cliciwch \"%s\" os ydych am ddileu'r holl ddata a rhaniadau sy'n bresennol\n"
+"ar y disg. Byddwch ofalus, wedi i chi glicio \"%s\" ni fydd modd i chi\n"
+"adfer unrhyw ddata na rhaniadau presennol ar y disg caled, gan gynnwys\n"
+"data Windows.\n"
+"\n"
+"Cliciwch \"%s\" i atal y weithred hon heb golli unrhyw ddata\n"
+"a rhaniadau sy'n bresennol ar y ddisg galed."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Nesaf ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Blaenorol"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": mae clicio ar y botwm\"%s\" yn agor dewin ffurfweddu argraffydd.\n"
+#~ "Darllenwch y pennawd penodol yn y 'Starter Guide' am ragor o \n"
+#~ "wybodaeth ar sut i osod argraffydd newydd. Mae'r rhyngwyneb yn y "
+#~ "llawlyfr\n"
+#~ "yn debyg i'r un welwyd wrth osod y system."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Mae hwn yn fan pwysig ynghylch diogelwch eich system GNU/Linux; rhaid\n"
+#~ "rhoi cyfrinair \"root\".\"Root\" yw gweinyddwr y system a'r unig un sydd "
+#~ "â'r hawl\n"
+#~ "i wneud diweddariadau, ychwanegu defnyddwyr, newid ffurfweddiad "
+#~ "cyffredinol\n"
+#~ "y system, ac yn y blaen. Yn fyr mae \"root\" yn medru gwneud popeth! "
+#~ "Dyna\n"
+#~ "pam mae'n rhaid dewis cyfrinair sy'n anodd ei ddyfalu - bydd DrakX yn "
+#~ "dweud\n"
+#~ "wrthych os yw'n rhy hawdd. Fel y gwelwch, mae modd peidio gorfod cynnig\n"
+#~ "cyfrinair, ond rydym yn argymell yn erbyn hyn, hyd yn oed am un rheswm:\n"
+#~ "peidiwch â meddwl bod eich systemau gweithredu eraill yn ddiogel rhag\n"
+#~ "camgymeriadau, gan eich bod wedi cychwyn o GNU/Linux. Gan fod \"root\" "
+#~ "yn\n"
+#~ "medru goresgyn unrhyw gyfyngiadau a dileu data'n anfwriadol ar bob "
+#~ "rhaniad,\n"
+#~ "drwy fynd at y rhaniadau'n ddi-hid, yna mae'n bwysig ei gwneud hi'n anodd "
+#~ "bod\n"
+#~ "yn \"root\".\n"
+#~ "\n"
+#~ "Dylai'r cyfrinair fod yn gyfuniad o rifau a llythrennau ac o leiaf 8 nod "
+#~ "o hyd.\n"
+#~ "Peidiwch ysgrifennu cyfrinair \"root\" ar bapur - bydd yn ei gwneud hi'n "
+#~ "rhy\n"
+#~ "hawdd gwanhau'r system.\n"
+#~ "\n"
+#~ "Er hynny, peidiwch â gwneud y cyfrinair yn rhy hir neu gymhleth am fod "
+#~ "rhaid i\n"
+#~ "chi fedri ei gofio heb ormod o drafferth.\n"
+#~ "\n"
+#~ "Ni fydd y cyfrinair yn cael ei ddangos ar y sgrin wrth i chi ei deipio. "
+#~ "Felly bydd\n"
+#~ " rhaid i chi deipio'r cyfrinair ddwywaith i leihau'r siawns o deipio "
+#~ "gwall. Os ydych\n"
+#~ "yn digwydd gwneud yr un gwall teipio ddwywaith, bydd rhaid defnyddio'r "
+#~ "cyfrinair\n"
+#~ "\"anghywir\" i gychwyn y tro cyntaf fel \"root\".\n"
+#~ "\n"
+#~ "Os hoffech i fynediad i'r cyfrifiadur gael ei reoli gan wasanaethwr "
+#~ "dilysu, cliciwch\n"
+#~ "y botwm \"%s\".\n"
+#~ "Os yw eich rhwydwaith yn defnyddio protocol gwasanaethau dilysu LDAP, "
+#~ "NIS\n"
+#~ "neu PDC Windows Domain, dewiswch un addas fel \"%s\",\n"
+#~ "Os nad ydych yn gwybod, gofynnwch i'ch gweinyddwr rhwydwaith\n"
+#~ "\n"
+#~ "Os ydych yn cael anawsterau atgoffa cyfrineiriau, gallwch ddewis\n"
+#~ "\"%s\", os na fydd eich cyfrifiadur yn cael cyswllt â'r we ac rydych\n"
+#~ "yn ymddiried yn y defnyddiwr."
+
+#~ msgid "authentication"
+#~ msgstr "dilysu"
diff --git a/perl-install/install/help/po/da.po b/perl-install/install/help/po/da.po
new file mode 100644
index 000000000..6126805cb
--- /dev/null
+++ b/perl-install/install/help/po/da.po
@@ -0,0 +1,1992 @@
+# translation of da.po to
+# translation of da1.po to Danish
+# translation of da.po to Danish
+# translation of DrakX-da.po to Danish
+# Copyright (C) 2000,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Troels Liebe Bentsen <tlb@iname.com> 2000.
+# Keld Simonsen <keld@dkuug.dk>, 2000-2003, 2004, 2005.
+# Keld Simonsen <keld@rap.dk>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: da\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-03-05 18:46+0100\n"
+"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
+"Language-Team: <da@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Før du går videre bør du læse betingelserne i licensen omhyggeligt. Den "
+"omfatter hele Mageia distributionen. Hvis du er enig i alle betingelserne i "
+"den, så klik på '%s'-boksen. Hvis ikke, så vil klikning på \"%s\"-knappen "
+"genstarte din maskine."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er et flerbrugersystem, det vil sige at hver bruger kan have sine "
+"egne præferencer, sine egne filer og så videre. Du kan læse "
+"startvejledningen for at lære mere om flerbrugersystemer.\n"
+"Men i modsætning til 'root', som er systemadministratoren, vil brugerne som "
+"du tilføjer her ikke have lov til at ændre nogetsomhelst, undtagen deres "
+"egne filer og deres egne opsætninger, hvilket beskytter systemet mod "
+"utilsigtede eller ondartede ændringer som påvirker hele systemet. Du skal "
+"oprette i det mindste én almindelig bruger til dig selv - dette er den konto "
+"som du bør bruge til almindelig dagligt brug. Selvom det er meget nemt at "
+"logge ind som root for at gøre alt, kan det også være meget farligt!\n"
+"En meget simpel fejltagelse kan betyde at dit system ikke virker mere. Hvis "
+"du laver en alvorlig fejltagelse som almindelig bruger, vil det værste der "
+"kan ske at du vil tabe nogen information, men det vil ikke påvirke hele "
+"systemet.\n"
+"\n"
+"Det første felt spørger efter dit rigtige navn. Dette er naturligvis ikke "
+"krævet -du kan faktisk skrive hvad du lyster. DrakX vil bruge det første ord "
+"du indtastede i feltet og kopiere det til '%s'-feltet, hvilket er navnet, "
+"som denne bruger skal indtaste for at logge ind på systemet. Hvis du ønsker "
+"det kan du tilsidesætte det forvalgte og ændre brugernavnet. Det næste trin "
+"er at indtaste en adgangskode. Fra et sikkerhedsmæssigt synspunkt er "
+"adgangskoden for en ikke-priviligeret (normal) bruger er ikke så afgørende "
+"som 'Root'-adgangskoden, men det er ingen grund til at negligere det "
+"alligevel, ved at lade det være blankt eller at gøre det for nemt - når det "
+"kommer til stykket er det dine egne filer, der er i fare.\n"
+"\n"
+"Når du har klikket på '%s', kan du tilføje andre brugere. Tilføj en bruger "
+"for hver af dine venner, din far eller din søster. Når du har tilføjet alle "
+"de brugere du ønsker, klik da på '%s'.\n"
+"\n"
+"Klik på '%s'-knappen lader dig ændre standard-'skál' for denne bruger\n"
+"(bash er standard). \n"
+"\n"
+"Når du er færdig med at tilføje brugere, vil du blive spurgt om at vælge en "
+"bruger som automatisk kan logge ind på systemet når maskinen startes op. "
+"Hvis du er interesseret i denne facilitet (og ikke kærer dig synderligt om "
+"lokal sikkerhed), så vælg den ønskede bruger og vindueshåndtering og klik "
+"'%s'. Hvis du ikke er interesseret i denne facilitet, så afmarkér boksen med "
+"'%s'."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønsker du at bruge denne facilitet?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er listet de eksisterende Linux-partitioner genkendt på din disk. Du kan "
+"beholde valgene gjort af vejlederen, de er velegnede til almindelig brug. "
+"Hvis du ændrer disse valg skal du i det mindste definere en rod-partition "
+"'/'. Lad være med at vælge en for lille partition, ellers vil du ikke kunne "
+"installere nok programmel. Hvis du ønsker at lagre data på en separat "
+"partition, skal du også vælge en '/home' (kun muligt hvis du har mere end én "
+"Linux-partition). \n"
+"Hver partition er listet som følger: 'Navn', 'Kapacitet'.\n"
+"\n"
+"'Navn' er kodet som følger: 'drevtype', 'drevnummer', "
+"'partitionsnummer' (for eksempel '/hda1').\n"
+"\n"
+"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er et "
+"SCSI drev.\n"
+"\n"
+"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev:\n"
+"\n"
+" * 'a' betyder 'hoved-drev på den primære IDE controller',\n"
+"\n"
+" * 'b' betyder 'slave-drev på den primære IDE controller',\n"
+"\n"
+" * 'c' betyder 'hoved-drev på den sækundære IDE controller',\n"
+"\n"
+" * 'd' betyder 'slave-drev på den sækundære IDE controller'.\n"
+"\n"
+"For SCSI drev betyder 'a' det 'første drev', 'b' betyder det 'andet drev', "
+"osv."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia installationen bliver distribueret på flere cdrom-er. Hvis en valgt "
+"pakke ligger på en anden cdrom, vil DrakX udskyde den nuværende cd og bede "
+"dig om at isætte den forespurgte cd. Hvis du ikke har den forespurgte cd ved "
+"hånden, så klik bare på '%s' - de tilsvarende pakker vil da ikke blive "
+"installerede."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det er nu tid til at angive hvilke pakker du vil installere på dit system. "
+"Der er tusindvis af pakker til dit Mageia system, og for at gøre det nemmere "
+"at håndtere dem er pakkerne blevet placeret i grupper af lignende "
+"programmer.\n"
+"\n"
+"Mageia opdeler pakkegrupper i fire kategorier. Du kan vælge og vrage "
+"programmer fra de forskellige grupper, så en installation af "
+"'Arbejdsstation' kan også have programmer fra 'Udvikling'-kategorien "
+"installeret.\n"
+"\n"
+" * '%s': Hvis din maskine skal bruges som en arbejdsstation, vælg da en "
+"eller flere af programmerne der er i arbejdsstationskategorien.\n"
+"\n"
+" * '%s': hvis du vil bruge maskinen til programmering, vælg da de relevante "
+"pakker fra denne kategori. Den særlige 'LSB'-gruppe vil konfigurere dit "
+"system så det er så meget som muligt i overensstemmelse med Linux Standards "
+"Base specifikationerne.\n"
+"\n"
+" Valg af 'LSB'-gruppen vil også installere kerne '2.4'-serien, i stedet "
+"for den normale '2.6'-kerne. Dette for at sikre 100%% LSB overensstemmelse "
+"for systemet. Hvis du ikke vælger -LSB--gruppen vil du dog stadig have et "
+"system der er næsten 100%% LSB-overensstemmende.\n"
+"\n"
+" * '%s': hvis det er planen at maskinen skal være en server, så vælg de mere "
+"almindelige tjenester, som du ønsker at installere på maskinen.\n"
+"\n"
+" * '%s': her skal du vælge foretrukne grafiske miljø. Vælg mindst ét, hvis "
+"du ønsker at have en grafisk grænseflade tilgængelig.\n"
+"\n"
+"Ved flytning af musen over et gruppenavn vises en kort forklarende tekst om "
+"denne gruppe.\n"
+"\n"
+"Du kan afkrydse '%s'-boksen, hvilket er nyttigt hvis du er bekendt med de "
+"pakker der tilbydes, eller hvis du ønsker at have helt styr på hvad der skal "
+"installeres.\n"
+"\n"
+"Hvis du starter installationen i '%s'-tilstand, kan du fravælge alle grupper "
+"og forhindre installationen af enhver ny pakke. Dette er nyttigt ved "
+"reparation eller opdatering af et ekisterende system.\n"
+" \n"
+"Hvis du fravælger alle grupper ved udførelse af en almindelig installation "
+"(i modsætning til en opgradering), vil en dialog komme frem som foreslår "
+"dig forskellige former for minimal installation: \n"
+"\n"
+" * '%s' installerer de færrest mulige antal pakker for at få en fungerende "
+"grafisk arbejdsstation.\n"
+"\n"
+" * '%s' installerer det basale system plus basale nytteprogrammer og "
+"tilhørende dokumentation. Denne installation er passende til at sætte en "
+"server op.\n"
+"\n"
+" * '%s' vil installere det absolut mindst mulige antal pakker nødvendigt for "
+"at få et virkende Linux-system. Med denne installation fås kun en "
+"grænseflade med kommandolinjer. Den totale størrelse af denne installation "
+"er omkring 65 megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opgradér"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med basal dokumentation"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Virkeligt minimale installation"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Hvis du vælger at installere pakker individuelt, vil installeringen vise et "
+"træ med alle pakker opdelt i grupper og undergrupper. Under gennembladring "
+"af træet kan du udvælge hele grupper, undergrupper eller individuelle "
+"pakker.\n"
+"\n"
+"Hver gang du udvælger en pakke i træet vil en beskrivelse fremkomme til "
+"højre for at lade dig vide formålet med denne pakke. \n"
+"\n"
+"!! NÃ¥r en server-pakke er blevet valgt, enten fordi du specielt valgte den "
+"individuelle pakke, eller fordi den var en del af en gruppe af pakker, vil "
+"du blive spurgt om at bekræfte at du virkelig ønsker at installere disse "
+"servere. Som standard under Mageia bliver installerede servere startet op "
+"ved opstart af maskinen. Selvom de er sikre og ikke har nogen kendte "
+"problemer på udgivelsestidspunktet for distributionen, er det absolut muligt "
+"at sikkerhedshuller blev opdaget efter at denne version af Mandriva Linux "
+"blev færdiggjort. Hvis du ikke véd hvad en bestemt tjeneste vil gøre eller "
+"hvorfor den skal installeres, så klik '%s' her. Et klik med '%s' her vil "
+"installere de nævnte servere og de vil blive startet automatisk under "
+"opstarten!!\n"
+"\n"
+"'%s'-valget deaktiverer advarselsdialogen, som vises hver gang "
+"installeringsprogrammet automatisk vælger en pakke for at løse et "
+"afhængighedsproblem. Nogen pakker afhænger af andre oginstallation af en "
+"bestemt pakke kan kræve installationen af andre pakker. "
+"Installationsprogrammet kan beregne hvilke pakker der er krævet for at "
+"tilfredsstille en afhængighed for at kunne færdiggøre en installation "
+"problemfrit.\n"
+"\n"
+"Den klejne disketteikon i bunden af listen muliggør indlæsning af en "
+"pakkeliste oprettet ved en tidligere installation. Dette er nyttigt hvis du "
+"har et antal maskiner som du ønsker at konfigurere på samme måde. Klik på "
+"denne ikon vil bede dig om at indsætte disketten lavet i slutningen på en "
+"anden installation. Se råd nr to i det sidste trin for hvordan en sådan "
+"diskette kan laves."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiske afhængigheder"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denne dialog bruges til at vælge hvilke tjenester du ønsker skal startes ved "
+"opstart af maskinen.\n"
+"\n"
+"DrakX vil præsentere alle tjenester, som er med i den aktuelle installation. "
+"Gennemse hver enkelt af dem omhyggeligt og vælg dem fra som ikke er "
+"nødvendige på opstartstidspunktet.\n"
+"\n"
+"En kort forklarende tekst om en tjeneste bliver vist når den vælges. Hvis du "
+"ikke er sikker på om en tjeneste er nyttig eller ej, er det dog sikrere at "
+"bruge den foreslåede opførsel.\n"
+"\n"
+"Vær specielt varsom på dette trin hvis du planlægger at bruge maskinen som "
+"server: du vil formentlig ønske ikke at starte nogensomhelst tjeneste op som "
+"du ikke har brug for. Husk at nogen tjenester kan være farlige hvis de er "
+"aktiveret på en server. Vælg som hovedregel kun de tjenester som du virkelig "
+"behøver."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux håndterer tiden i GMT (Greenwich Mean Time) og oversætter den til "
+"lokal tid ifølge den tidszone du har valgt. Hvis uret på bundkortet er sat "
+"til lokal tid, kan du deaktivere dette ved at fravælge '%s', hvilket vil "
+"lade GNU/Linux vide at systemuret og maskinens ur er i samme tidszone. Dette "
+"er nyttigt når maskinen også bruges til andre operativsystemer.\n"
+"\n"
+"Muligheden '%s' vil automatisk tilpasse systemuret ved at forbinde til en "
+"ekstern tidsserver på internettet. For at denne facilitet kan virke, skal du "
+"have en fungerende internetforbindelse. Vi anbefaler at du vælger en "
+"tidsserver med en placering nær ved dig. Denne mulighed installerer faktisk "
+"en tidsserver som også kan bruges af andre maskiner på dit lokalnetværk."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde og konfigurere "
+"grafikkortet installeret på din maskine. Hvis dette ikke er tilfældet, kan "
+"du fra denne liste vælge det kort du faktisk har installeret.\n"
+" I tilfælde af at forskellige drivere er tilgængelige til dit kort, med "
+"eller uden 3D-accelleration, bliver du spurgt om at vælge den server der "
+"bedst opfylder dine behov."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (for X Window System) er hjertet af GNU/Linux' grafiske grænseflade som "
+"alle de grafiske miljøer (KDE, GNOME, AfterStep, WindowMaker, mv.) der "
+"kommer sammen med Mageia afhænger af.\n"
+"\n"
+"Du vil se en liste med forskellige parametre der kan ændres for at få den "
+"bedst mulige grafiske fremvisning:\n"
+"\n"
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde ud af at konfigurere "
+"grafikkortet installeret på din maskine. Hvis dette ikke er rigtigt kan du "
+"fra denne liste vælge det kort du faktisk har installeret.\n"
+"\n"
+" I tilfælde af at forskellige drivere er tilgængelige til dit kort, med "
+"eller uden 3D-accelleration, bliver du spurgt om at vælge den server der "
+"bedst opfylder dine behov.\n"
+"\n"
+"\n"
+"Skærm\n"
+"\n"
+" Normalt vil Installationsprogrammet automatisk finde ud af at konfigurere "
+"skærmen tilsluttet din maskine. Hvis dette ikke er rigtigt, kan du fra denne "
+"liste vælge den skærm som er tilsluttet din maskine.\n"
+"\n"
+"\n"
+"\n"
+"Opløsning\n"
+"\n"
+" Her kan du vælge de opløsninger og farvedybder som er tilstede for dit "
+"grafikudstyr. Vælg dem som bedst opfylder dine behov (du vil kunne ændre "
+"dette efter installationen). En prøve på den valgte konfiguration vil blive "
+"vist på skærmen.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Afhængigt af dit udstyr vil denne indgang muligvis ikke vises.\n"
+"\n"
+" Systemet vil prøve at åbne en grafisk skærm i den ønskede opløsning. Hvis "
+"du ser testbeskeden under afprøvningen og svarer '%s', så vil DrakX gå "
+"videre til næste trin. Hvis du ikke ser beskeden, så betyder det at en del "
+"af den automatisk fundne konfiguration var forkert og testen vil automatisk "
+"slutte efter 12 sekunder, og bringe dig tilbage til menuen. Ændr "
+"indstillingerne til du får en korrekt grafisk fremvisning.\n"
+"\n"
+"\n"
+"\n"
+"Valgmuligheder\n"
+"\n"
+" Dette trin lader dig vælge om du ønsker at din maskine automatisk skal "
+"skifte til en grafisk grænseflade ved opstart. Selvfølgelig vil du ønske at "
+"svare '%s', hvis din maskine skal bruges som server, eller hvis ikke "
+"lykkedes dig at få skærmen konfigureret. "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skærm\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde ud af at konfigurere "
+"skærmen tilsluttet din maskine. Hvis dette ikke er den rigtige, kan du i "
+"denne liste vælge den skærm du faktisk har tilsluttet din maskine."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Opløsning\n"
+"\n"
+" Hér kan du vælge opløsninger og farvedybder ud af de tilgængelige "
+"muligheder for dit udstyr. Vælg dem som bedst opfylder dine behov (du vil "
+"dog kunne ændre dette efter installationen). Et eksempel på den valgte "
+"konfiguration vil blive vist på skærmen."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"I tilfælde af at forskellige servere er tilgængelige for dit kort, med eller "
+"uden 3D-accelleration, bliver du spurgt om at vælge den server der bedst "
+"opfylder dine behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Til sidst valgmulighederne\n"
+"\n"
+"Dette trin lader dig vælge om du ønsker automatisk at skifte til en grafisk "
+"grænseflade ved opstart. Selvfølgelig vil du ønske at svare '%s', hvis din "
+"maskine skal bruges som server, eller hvis ikke lykkedes dig at få skærmen "
+"konfigureret."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nu skal du vælge hvor på din harddisk du vil installere dit Mageia-"
+"operativsystem. Hvis disken er tom eller et eksisterende operativsystem "
+"bruger alt pladsen på den, bliver du nødt til at partitionere drevet. "
+"Partitionering vil sige at diskdrevet opdeles i logiske dele for at lave den "
+"plads der behøves til at installere dit nye Mageia-system.\n"
+"\n"
+"Da partitioneringen af en disk normalt ikke kan fortrydes og kan føre til "
+"tab af data, kan det godt være frustrerende og stressende for uøvede "
+"brugere. Heldigvis har DrakX en vejleder som forenkler denne proces. Før du "
+"fortsætter med dette trin kan du gennemlæse resten af dette afsnit, og ikke "
+"mindst tage dig den tid du behøver.\n"
+"\n"
+"Afhængig af dit diskdrevs konfiguration er flere muligheder tilstede:\n"
+"\n"
+" * '%s': Denne mulighed vil udføre en automatisk opdeling af dine tomme "
+"diskdrev. Hvis du bruger denne mulighed vil du ikke blive spurgt om mere.\n"
+"\n"
+" * '%s': Vejlederen har fundet en eller flere eksisterende Linux-partitioner "
+"på dit diskdrev. Hvis du vil bruge dem, så vælg denne mulighed. Du vil så "
+"blive spurgt om monteringspunkter tilknyttet hver af partitionerne. De gamle "
+"monteringspunkter er forvalgt og i de fleste tilfælde er det en god idé at "
+"beholde dem.\n"
+"\n"
+" * '%s': Hvis Microsoft Windows er installeret på din disk og bruger al "
+"pladsen, bliver du nødt til at lave fri plads til GNU/Linux. For at gøre "
+"dette kan du slette dine Microsoft Windows partitioner og data (se "
+"muligheden \"Slet hele disken\") eller ændre størrelsen på din Microsoft "
+"Windows-FAT- eller NTFS-partition. Størrelsesændringen kan fortages uden tab "
+"af data, hvis du i forvejen har defragmenteret Windows-partitionen. Det "
+"anbefales på det kraftigste at du laver en sikkerhedskopi først. Denne "
+"mulighed anbefales hvis du vil bruge både Mageia og Microsoft Windows på "
+"samme maskine.\n"
+"\n"
+" Før du vælger denne løsning, bør du forstå at størrelsen på din Microsoft "
+"Windows partition vil blive mindre end da du startede. Du vil have mindre "
+"fri plads under Microsoft Windows til at gemme dine data eller installere "
+"nyt programmel.\n"
+"\n"
+" * '%s': Hvis du vil slette alle data på alle partitioner på denne disk og "
+"erstatte dem med dit nye Mageia-system, kan du vælge denne mulighed. Vær "
+"forsigtig, for du vil ikke være i stand til at fortryde denne handling efter "
+"at du har sagt ja.\n"
+"\n"
+" !! Hvis du bruger denne mulighed vil alle eksisterende data på din disk "
+"gå tabt. !!\n"
+"\n"
+" * '%s': Denne mulighed kommer til syne når diskdrevet er fuldstændigt "
+"optaget af Microsoft Windows. Valg af denne mulighed vil simpelthen slette "
+"alt på disken og begynde fra en frisk, og partitionere det hele fra ny.\n"
+"\n"
+" !! Hvis du bruger denne mulighed vil alle eksisterende data på din disk "
+"gå tabt. !!\n"
+"\n"
+" * '%s': Vælg denne mulighed hvis du vil partitionere disken i hånden. Vær "
+"forsigtig - det er en stærk , men også farlig mulighed. og du kan meget nemt "
+"komme til at slette alle dine data. Derfor er denne mulighed kun anbefalet "
+"hvis du har lavet noget lignende før og har nogen erfaring. For flere "
+"instruktioner om brugen af DiskDrake-programmet kan du se i afsnittet "
+"'Administrér dine partitioner' i 'Startervejledningen'."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Brug eksisterende partition"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slet hele disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Værsgo'. Installationen en nu færdig og dit GNU/Linux-system er nu klar til "
+"brug. Klik blot på '%s' for at genstarte systemet. Glem ikke at fjerne "
+"installationsmediet (cdrom eller diskette). Den første ting, som du burde "
+"se, efter din maskine har lavet sine test af maskinel, er opstartsmenuen, "
+"som lader dig vælge det operativsystem der skal startes.\n"
+"\n"
+"'%s'-knappen viser to ekstra knapper for:\n"
+"\n"
+" * '%s': at oprette en installerings-diskette, som automatisk vil udføre en "
+"hel installation uden hjælp fra en operatør, magen til den installation du "
+"lige har konfigureret.\n"
+"\n"
+" Bemærk at to forskellige muligheder er tilstede efter klik på denne "
+"knap:\n"
+"\n"
+" * '%s': Dette er en delvist automatiseret installering. "
+"Partitioneringstrinnet er den eneste interaktive procedure.\n"
+"\n"
+" * '%s': Fuldautomatisk installering: harddisken bliver fuldstændig "
+"genoverskrevet, alle data forsvinder.\n"
+"\n"
+" Denne facilitet er meget nyttig ved installering af et antal lignende "
+"maskiner. Se afsnittet om autoinstallering på vores websted for yderligere "
+"oplysninger.\n"
+"\n"
+" * '%s'(*): gemmer en liste med de pakker der er valgt under denne "
+"installation. For at bruge dette pakkevalg i en anden installation kan "
+"disketten indsættes i drevet og installeringen kan startes. Brug [F1]-tasten "
+"på opstartsskærmen og indtast >>linux defcfg=\"floppy\"<< og trykke på "
+"[Enter]-tasten.\n"
+". \n"
+"(*) Du har brug for en FAT-formatteret diskette. For at lave en under GNU/"
+"Linux skal du taste\n"
+"\"mformat a:\", eller \"fdformat /dev/fd0\" fulgt af \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lav autoinstallations-diskette"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Hvis du vælger at genbruge nogle gamle GNU/Linux-partitioner, kan duønske at "
+"omformatere nogle af dem og slette de data som de indeholder. For at gøre "
+"dette skal du også vælge disse partitioner.\n"
+"\n"
+"Bemærk at det ikke er nødvendigt at omformatere alle allerede eksisterende "
+"partitioner. Det er nødvendigt at omformatere de partitioner, der indeholder "
+"operativsystemet (såsom '/', '/usr' og '/var', men du er ikke nødt til at "
+"omformatere partitioner som du ønsker at beholde (typisk /home).\n"
+"\n"
+"Vær forsigtig med valg af partitioner; efter formatering vil alle data være "
+"slettede på de valgte partitioner, og du vil ikke kunne redde nogetsomhelst "
+"af det.\n"
+"\n"
+"Klik på '%s' når du er klar til at formatere partitionerne.\n"
+"\n"
+"Klik på '%s' hvis du ønsker at vælge andre partitioner til at installere dit "
+"nye Mageia operativsystem.\n"
+"\n"
+"Klik på '%s' for at vælge partitioner som du ønsker at tjekke for dårlige "
+"blokke."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"PÃ¥ det tidspunkt hvor du installerer Mageia er det sandsynligt at nogen af "
+"pakkerne er blevet opdaterede siden den oprindelige udgivelse. Fejl er måske "
+"blevet rettet, og sikkerhedsproblemer måske løst. Det er nu muligt for dig "
+"at hente disse ned fra internettet for at disse opdateringer kan komme dig "
+"til gode. Vælg '%s' hvis du har en fungerende internet- forbindelse eller "
+"'%s' hvis du foretrækker at installere opdaterede pakker senere.\n"
+"\n"
+"Valg af '%s' viser en liste af netsteder hvorfra opdateringer kan hentes. Du "
+"bør vælge en der er nær ved dig. Så vil et træ med pakkevalg blive vist: "
+"gennemse valget og tryk '%s' for at modtage og installere de valgte pakker "
+"eller '%s' for at afbryde."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nu vil DrakX give dig mulighed for at vælge det sikkerhedsniveau du ønsker "
+"for maskinen. Hovedreglen er at sikkerhedsniveauet bør sættes højere, hvis "
+"maskinen skal indeholde vigtige data, eller hvis den skal være direkte "
+"offentligt på Internettet. Men et højere sikkerhedsniveau vindes normalt på "
+"bekostning af letheden af anvendelsen.\n"
+"\n"
+"Hvis du ikke véd hvad du skal vælge, så behold den foreslåede mulighed. Du "
+"vil kunne ændre det senere med værktøjet draksec som er en del af Mandriva "
+"Linux Kontrolcentret.\n"
+"\n"
+"Udfyld '%s'-feltet med epost-adressen på den person, som er ansvarlig for "
+"sikkerhed. Sikkerhedsmeddelelser vil blive sendt til denne adresse."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sikkerhedsadministrator"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Nu skal du vælge hvilke partitioner som skal bruges til installering af dit "
+"Mageia system. Hvis partitionerne allerede er blevet defineret, enten fra en "
+"tidligere installation af GNU/Linux eller med et andet "
+"partitioneringsværktøj, kan du bruge de eksisterende partitioner. Ellers "
+"skal disk-partitionerne defineres først.\n"
+"\n"
+"For at lave partitioner skal du først vælge et diskdrev. Du kan vælge "
+"diskdrevet der skal partitioneres ved at trykke på \"hda\" for det første "
+"IDE drev, \"hdb\" for det andet eller \"sda\" for det første SCSI-drev og så "
+"videre.\n"
+"\n"
+"For at partitionere det valgte diskdrev kan du bruge disse muligheder:\n"
+"\n"
+" * '%s': Dette valg sletter alle partitioner på det valgte diskdrev.\n"
+"\n"
+" * '%s': dette valg tillader dig automatisk at lave Ext3 og swappartitioner "
+"på den fri plads på dit drev.\n"
+"\n"
+"'%s': giver adgang til flere faciliteter:\n"
+"\n"
+" * '%s': Gemmer din partitionstabel på en diskette. Nyttigt ved senere "
+"redning af partitionstabellen, om nødvendigt. Det anbefales meget at du "
+"bruger dette trin.\n"
+"\n"
+" * '%s': lader dig genskabe en tidligere gemt partitionstabel fra diskette.\n"
+"\n"
+" * '%s': hvis din partitionstabel er beskadiget, kan du prøve at redde den "
+"med denne mulighed. Vær forsigtig og husk at det ikke altid virker.\n"
+"\n"
+" * '%s': forkaster alle ændringer og genindlæser partitionstabellen som "
+"oprindeligt lå på diskdrevet\n"
+"\n"
+" * '%s': fravalg af denne mulighed vil tvinge brugere til at manuelt montere "
+"og afmontere medier såsom disketter og cdrommer\n"
+"\n"
+" * '%s': Hvis du ønsker at bruge vejlederen til at partitionere dit "
+"diskdrev, kan du bruge denne mulighed. Dette anbefales, hvis du ikke har den "
+"store forståelse om partitionering\n"
+"\n"
+" * '%s': Du kan bruge denne mulighed for at annullere dine ændringer\n"
+"\n"
+" * '%s': giver mulighed for yderligere handlinger på partitioner (type, "
+"valgmuligheder, format) og giver mere information om diskdrevet\n"
+"\n"
+" * '%s': når du er færdig med partitionering af din disk, vil dette skrive "
+"ændringerne tilbage på disken.\n"
+"\n"
+"Ved definering af en partitionsstørrelse kan du finjustere denne ved at "
+"bruge piletasterne på tastaturet.\n"
+"\n"
+"Bemærk: du kan nå enhver valgmulighed ved brug af tastaturet: navigér gennem "
+"partitionerne med Tab og op- og ned-pilene.\n"
+"\n"
+"NÃ¥r en partition er valgt kan du bruge:\n"
+"\n"
+" * Ctrl-c for at lave en ny partition (NÃ¥r en tom partition er valgt)\n"
+"\n"
+" * Ctrl-d for at slette en partition\n"
+"\n"
+" * Ctrl-m for at sætte et monteringssti\n"
+"\n"
+"For at få information om de forskellige tilgængelige filsystemstyper kan du "
+"læse kapitlet ext2fs i 'Referencemanualen'.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontering af flytbare medier"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skift mellem normal og ekspert-tilstand"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mere end én Microsoft Windows partition er blevet genkendt på dit diskdrev. "
+"Vælg den som du ønsker at ændre størrelse på for at kunne installere dit nye "
+"Mageia operativsystem.\n"
+"\n"
+"Hver partition er listet som følger: 'Linux navn', 'Windows navn', "
+"'Kapacitet'.\n"
+"\n"
+"'Linux navn' er kodet som følger: 'drevtype', 'drevnummer', "
+"'partitionsnummer' (for eksempel '/hda1').\n"
+"\n"
+"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er et "
+"SCSI drev.\n"
+"\n"
+"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev "
+"gælder:\n"
+"\n"
+" * 'a' betyder 'hoved-drev på den primære IDE controller',\n"
+"\n"
+" * 'b' betyder 'slave-drev på den primære IDE controller',\n"
+"\n"
+" * 'c' betyder 'hoved-drev på den sækundære IDE controller',\n"
+"\n"
+" * 'd' betyder 'slave-drev på den sækundære IDE controller'.\n"
+"\n"
+"For SCSI drev betyder 'a' det 'laveste SCSI-nummer', 'b' betyder det "
+"'næstlaveste SCSI-nummer', osv.\n"
+"\n"
+"'Windows navn' er det bogstav som dit drev har under Windows (den første\n"
+"disk eller partition kaldes 'C:')."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"'%s': Tjek det aktuelle valg af land. Hvis du ikke er i dette land, så klik "
+"på '%s'-knappen og vælg et andet. Hvis dit land ikke er på den første liste "
+"der vistes, så klik på '%s'-knappen for at få den komplette liste over lande."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Dette trin bliver kun aktiveret hvis der bliver fundet en eksisterende\n"
+"GNU/Linux partition på din maskine.\n"
+"\n"
+"DrakX skal nu vide om du vil udføre en ny installation eller en opgradering\n"
+"af et eksisterende Mageia-system.\n"
+"\n"
+" * \"%s\": Dette vil stort sét slette hele det gamle system. Dog kan du "
+"afhængigt af din partitionsopsætning forhindre at nogen af dine ekisterende "
+"data (især kataloger i '/home') fra at blive overskrevet. Hvis du ønsker at "
+"ændre hvordan dine diskdrev er partitioneret, eller ændre på filsystemet, "
+"bør du bruge denne mulighed.\n"
+"\n"
+" * \"%s\": Denne installationsklasse lader dig opgradere pakkene som er "
+"installeret på dit nuværende Mageia-system. Din nuværende "
+"partitionsopsætning og brugerdata bliver ikke berørt. De fleste andre "
+"konfigurationstrin forbliver tilgængelige, i lighed med en "
+"standardinstallation.\n"
+"\n"
+"\"Opgradér\"-valget bør fungere fint på Mageia-systemer som kører version "
+"'8.1' eller nyere. Udførelse af Opgradér på versioner tidligere end Mageia "
+"'8.1' er ikke anbefalet."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhængigt af det sprog du har valgt vil DrakX automatisk vælge en bestemt "
+"type tastaturopsætning. Tjek at valget er passende, eller vælg en anden "
+"tastaturudlægning.\n"
+"Men du har måske ikke et tastatur som svarer nøjagtigt til dit sprog: for "
+"eksempel hvis du er en engelsktalende svejtser, vil du måske have et "
+"svejtsisk tastatur. Eller hvis du taler engelsk og bor i Québec, er du måske "
+"i samme situation, hvor dit modersmål og tastaturet for landet ikke passer "
+"sammen. I begge tilfælde giver dette installationstrin mulighed for at vælge "
+"et passende tastatur fra listen.\n"
+"\n"
+"Klik på '%s'-tasten for at få víst en liste af understøttede tastaturer.\n"
+"\n"
+"Hvis du vælger en tastaturudlægning baseret på et ikke-latinsk alfabet, vil "
+"den næste dialog give dig mulighed for at vælge den tastekombination, der "
+"vil skifte mellem den latinske og den ikke-latinske udlægning."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Det første trin er at vælge dit foretrukne sprog.\n"
+"\n"
+"Dit valg af foretrukkent sprog vil påvirke sproget for installeringen, "
+"dokumentationen og systemet generelt. Vælg den verdensdel du befinder dig i, "
+"og så det sprog, du taler.\n"
+"\n"
+"Hvis du klikker på '%s'-knappen kan du vælge andre sprog, der installeres "
+"på maskinen, og derved installeres de sprogspecifikke filer for "
+"systemdokumentation og programmer. Hvis spanske brugere skal bruge din "
+"maskine, vælg da dansk som standardsproget i træ-visningen, og '%s' i den "
+"avancerede afdeling.\n"
+"\n"
+"Om UTF-8 (ISO 10646)-understøttelse. ISO 10646 er en ny tegnkodning som er "
+"beregnet til at dække alle eksiterende sprog. Dog er fuld understøttelse for "
+"dette i GNU/Linux stadig under udvikling. Af denne årsag vil Mageia' brug af "
+"UTF-8 afhænge af brugerens valg:\n"
+"\n"
+" * Hvis du vælger et sprog som har en lang tradition for tegnkodning (latin1 "
+"sprog, russisk, japansk, kinesisk, koreansk, thai, græsk, tyrkisk, de fleste "
+"iso-8859-2 sprog) vil den traditionelle tegnkodning blive brugt som "
+"standard;\n"
+"\n"
+" * Andre sprog vil bruge ISO 10646 som standard;\n"
+"\n"
+" * Hvis to eller flere sprog er krævet, og disse sprog ikke bruger samme "
+"kodning, så vil ISO 10646 blive brugt for hele systemet;\n"
+"\n"
+" * Endeligt kan ISO 10646 blive gennemtvunget for brugeren på hele systemet "
+"på foranledning af brugeren ved at vælge muligheden '%s' uafhængigt af "
+"hvilket sprog der er valgt.\n"
+"\n"
+"Bemærk at du ikke er begrænset til at vælge et enkelt yderligere sprog. Du "
+"kan vælge flere sprog, eller endog installere dem alle ved at markere '%s'-"
+"boksen. Valg af understøttelse for et sprog betyder at oversættelser, "
+"skrifttyper, stavekontrol mv for dette sprog bliver installeret. \n"
+"For at skifte mellem de forskellige sprog installeret på systemet kan du "
+"starte programmet '/usr/sbin/localedrake' som 'root' for at ændre det sprog "
+"der bruges af hele systemet. Kørsel af dette program som almindelig bruger "
+"vil kun ændre sprogindstillingerne for denne bruger."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalt har DrakX ingen problemer med at finde ud af hvor mange knapper du "
+"har på din mus. Den antager at du har en to-knapsmus og vil lave en "
+"opsætning hvor den tredje knap emuleres. Den tredje knap for en to-knaps mus "
+"kan fås ved at trykke på den venstre og højre museknap samtidigt. DrakX vil "
+"automatisk vide om din mus bruger et PS/2, et serielt eller et USB-"
+"grænsesnit.\n"
+"\n"
+"Hvis du har en 3-knaps mus uden hjul, kan du vælge '%s'-musen. DrakX vil så "
+"konfigurere din mus så du kan simulere hjulet med den: for at gøre dette "
+"skal du trykke på midterknappen og flyttte op og ned på musen.\n"
+"\n"
+"Hvis du ønsker en anden type mus, vælg da den rigtige type mus fra den viste "
+"liste.\n"
+"\n"
+"Du kan vælge '%s'-indgangen for at få en 'generisk' musetype som vil virke "
+"med næsten alle mus.\n"
+"\n"
+"Hvis du vælger en mus forskellig fra den forvalgte, vil der blive vist en "
+"afprøvningsskærm. Brug knapperne og hjulet for at efterprøve om indstillerne "
+"er korrekte, og at musen virker korrekt. Hvis musen ikke virker godt, tryk "
+"da på mellemrumstangenten eller vognretur for at annullere testen, og du vil "
+"vende tilbage til listen med mus.\n"
+"\n"
+"Til tider findes mus med hjul ikke automatisk, så du vil behøve at vælge din "
+"mus fra en liste. Forsikr dig om at du vælger den der passer til porten som "
+"din mus er tilsluttet. Efter valg af en mus og trykning på '%s'-knappen vil "
+"et billede blive vist med en mus på skærmen. Rul med musehjulet for at "
+"forsikre dig om at det er aktiveret korrekt. NÃ¥r du ruller med dit musehjul "
+"vil du se musehjulet på skærmen bevæger sig. Afprøv knapperne og tjek at "
+"musemarkøren flytter sig når du flytter rundt på musen."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjul-emulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universel | Alle PS/2 & USB mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vælg den rigtige port. For eksempel er navnet for COM1-porten under MS "
+"Windows 'ttyS0' under GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"En opstartsindlæser er et lille program som startes af maskinen på "
+"opstartstidspunktet. Det er ansvarligt for at starte hele systemet op. "
+"Normalt er dette trin helt automatisk. DrakX vil analysere opstartssektoren "
+"på disken og handle ud fra det som findes der.\n"
+"\n"
+" * Hvis en opstartssektor for Windows bliver fundet, vil den erstatte denne "
+"med en GRUB- eller LILO-opstartsektor. På denne måde kan du indlæse enten "
+"GNU/Linux eller ethvert andet operativsystem installeret på din maskine.\n"
+"\n"
+" * Hvis en opstartsektor for grub eller LILO bliver fundet, vil den blive "
+"erstattet med en ny.\n"
+"\n"
+"Hvis det ikke er mulig at afgøre dette automatisk, vil DrakX spørge dig hvor "
+"opstartsindlæseren skal installeres. Generelt er '%s' det sikreste sted. "
+"Valg af '%s' vil ikke installere nogen opstartsindlæser. Brug kun dette hvis "
+"du véd hvad du gør."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nu er det tid til at vælge et udskrivningssystem for din maskine. Andre "
+"styresystemer tilbyder måske ét, men Mandriva tilbyder to. Printersystemerne "
+"er hver især bedst til en bestemt konfigurationstype.\n"
+"\n"
+" * '%s' - som betyder 'print, do not queue' (udskriv, kø ej), er valget, "
+"hvis du har en direkte forbindelse til din printer, og du ønsker at kunne "
+"klare printproblemer med det samme, og du ikke har nogen printere via "
+"netværk. ('%s' vil kun behandle meget simple netværkstilfælde, og er lidt "
+"sløvt på netværk.) Det anbefales at du bruger 'pdq' hvis dette er din første "
+"erfaring med GNU/Linux.\n"
+"\n"
+" * '%s' - står for 'Common Unix Printing System' (Fælles printersystem for "
+"Unix) er fremragende til at udskrive på din lokale printer, og også på den, "
+"der står på den anden side af jordkloden. Det er nemt at konfigurere, og kan "
+"virke som en server eller klient for det bedagede 'lpd'-printsystem, så det "
+"er kompatibelt med ældre styresystemer, som stadig kan have brug for "
+"udskriftstjenester. Det er ganske stærkt, men den basale opsætning er næsten "
+"lige så nem som for 'pdq'. Hvis du har brug for at dette efterligner en "
+"'lpd'-server, skal du aktivere 'cups-lpd'-dæmonen. '%s' har grafiske "
+"grænseflader for udskrivning og valg af printermuligheder, og for "
+"administration af printeren.\n"
+"\n"
+"Hvis du laver et valg nu og senere finder ud af at du ikke kan lide dit "
+"udskriftssystem, kan du ændre det ved at køre PrinterDrake fra Mandriva "
+"Linuxs Kontrolcenter, og klikke på '%s'-knappen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX vil først finde alle IDE-enheder der er tilstede på din maskine. Den "
+"vil også lede efter en eller flere PCI SCSI-kort på dit system. Hvis et SCSI-"
+"kort finDES, vil DrakX automatisk installere en driver til det.\n"
+"\n"
+"Da maskineleftersøgningen ikke er idiotsikker, kan DrakX fejle i at finde "
+"dine diskdrev. I så fald må du angive dit maskinel manuelt.\n"
+"\n"
+"Hvis du måtte angive dit PCI SCSI-kort manuelt, vil DrakX spørge om du vil "
+"specificere nogle indstillingsmuligheder for den. Du bør lade DrakX spørge "
+"udstyret om opsætning af kortspecifikke indstillinger, som er nødvendige for "
+"at initialisere kortet. De fleste gange vil DrakX finde ud af dette uden "
+"problemer.\n"
+"\n"
+"Hvis DrakX ikke kan få oplysninger om indstillinger ud af udstyret, som skal "
+"bruges til opsætningen, skal du angive opsætningsinformation til driveren. "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"'%s': Hvis et lydkort er blevet fundet på dit system, vil det blive vist "
+"her. Hvis du bemærker at lydkortet ikke er det som faktisk er til stede på "
+"systemet, kan du klikke på knappen og vælge en anden driver."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Som en opsummering vil DrakX give dig en oversigt over information som den "
+"har indsamlet om dit system. Afhængig af det maskinel der er installeret på "
+"din maskine kan du have et eller flere af de følgende punkter. Hvert punkt "
+"består af den maskinelle enhed der skal konfigureres fulgt af en kort "
+"opsummering af den nuværende konfiguration. Klik på den tilsvarende \"%s\"-"
+"knap for at ændre på opsætningen.\n"
+"\n"
+" * \"%s\": Tjek at din tastaturopsætning er korrekt og ændr om nødvendigt.\n"
+"\n"
+" * \"%s\": Tjek det nuværende valg af land. Hvis du ikke er i dette land, så "
+"klik på \"%s\"-knappen og vælg et andet land. Hvis dit land ikke er i "
+"listen, så klik på \"%s\"-knappen for at få en fuldstændig liste over "
+"lande.\n"
+"\n"
+" ' \"%s\": Som standard bestemmer DrakX din tidszone ud fra hvilket land du "
+"har valgt. Du kan klikke på \"%s\" her, hvis dette ikke er korrekt.\n"
+"\n"
+" * \"%s\" :Tjek den nuværende museopsætning og klik på knappen for at ændre "
+"om nødvendigt.\n"
+"\n"
+" * \"%s\": Ved at klikke på \"%s\"-knappen åbnes printeropsætnings-\n"
+"hjælperen. Konsultér det tilhørende kapitel i begynderguiden for mere\n"
+"information om hvordan en printer kan sættes op. Grænsefladen som er vist\n"
+"i vores manual er magen til den som benyttes under installationen.\n"
+"\n"
+" * '%s': Hvis et lydkort er blevet fundet på dit system, vil det blive vist "
+"hér. Hvis du bemærker at lydkortet ikke er det som faktisk er til stede på "
+"systemet, kan du klikke på knappen og vælge en anden driver.\n"
+"\n"
+" * \"%s\": Hvis du har et TV-kort, så er det her at information om dets "
+"konfiguration bliver vist. Hvis du har et TV-kort som ikke er fundet, så "
+"klik på \"%s\" for at sætte det op manuelt.\n"
+"\n"
+" * \"%s\": Du kan klikke på \"%s\" for at ændre på parameterne til kortet, "
+"hvis du synes at konfigurationen er forkert.\n"
+"\n"
+" * \"%s\": Som standard vil DrakX opsætte din grafiske grænseflade i "
+"opløsningen 800x600 eller 1024x768. Hvis dette ikke passer dig, så klik på "
+"'%s'-knappen for at ændre på opsætningen.\n"
+"\n"
+" * \"%s\": Hvis du ønsker at konfigurere din adgang til internet eller "
+"lokalnet, kan du gøre dette nu. Kig i den trykte dokumentation eller brug "
+"Mageia Kontrolcenter efter installationen er afsluttet for at drage nytte af "
+"den fulde indbyggede vejledning. \n"
+"\n"
+" * \"%s\": lader dig konfigurere HTTP- og FTP-proxyadresser, hvis maskinen, "
+"du installerer på, skal placeres bag en proxyserver.\n"
+"\n"
+" * \"%s\": Du kan her ændre på sikkerhedsniveauet som defineret i et "
+"tidligere trin.\n"
+"\n"
+" * \"%s\": Hvis du skal koble din maskine direkte til internet, er det en "
+"god idé at beskytte sig mod indtrængning med en brandmur. Kig i det "
+"tilsvarende afsnit i Begyndervejledningen for detaljer om opsætning af "
+"brandmur.\n"
+"\n"
+" * \"%s\": Hvis du vil ændre på konfigurationen for opstartsindlæseren, så "
+"klik på denne knap. Dette bør forbeholdes avancerede brugere. Kig i den "
+"trykte dokumentation eller i den indbyggede hjælp om konfiguration af "
+"opstartsindlæser i Mageia Kontrolcenter.\n"
+"\n"
+" * \"%s\": her kan du fininstille hvilke tjenester som skal startes på din "
+"maskine. Hvis du skal bruge maskinen som server er det en god idé at "
+"gennemse denne opsætning."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grænseflade"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vælg det diskdrev som du vil slette for at installere din nye Mageia "
+"partition. Vær forsigtig, alle data som er på denne partition vil gå tabt og "
+"vil ikke kunne genskabes!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klik på '%s' hvis du ønsker at slette alle data og partitioner der ligger på "
+"dette diskdrev. Vær omhyggelig, efter klik på '%s' vil du ikke være i stand "
+"til at redde nogen data eller partitioner, der ligger på dette diskdrev, "
+"inklusive alle Windows data.\n"
+"Klik på '%s' for at stoppe denne handling uden at tabe nogen data og "
+"partitioner der er tilstede på dette diskdrev."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Næste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Forrige"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "'%s': Et klik på '%s'-knappen vil åbne vejlederen for "
+#~ "printerkonfigurering. Kig i det tilhørende kapitel i 'Startvejledningen' "
+#~ "for mere information om hvordan man opsætter en ny printer. Grænsefladen\n"
+#~ "præsenteret i vores manual ligner den som bruges på "
+#~ "installationstidspunktet."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Dette er den vanskeligste beslutning omkring sikkerheden af dit GNU/"
+#~ "Linux- system: Du skal indtaste din 'root'-adgangskode. 'Root' er "
+#~ "systemadministratoren og er den eneste bruger, der har lov til at lave "
+#~ "opdateringer, tilføje brugere, ændre i den overordnede "
+#~ "systemkonfiguration og så videre. Kort sagt, 'root' kan gøre alt! Derfor "
+#~ "skal du vælge en adgangskode der er svær at gætte - DrakX vil fortælle "
+#~ "dig hvis adgangskoden du valgte er for simpel. Som du kan se er du ikke "
+#~ "tvunget til at indtaste en adgangskode, men vi advarer på det kraftigste "
+#~ "mod dette. GNU/Linux er lige så udsat for behandlingsfejl som ethvert "
+#~ "andet operativsystem. Da 'root' kan overvinde alle forhindringer og "
+#~ "uforvarende slette alle data på partitioner ved sorgløst at behandle "
+#~ "partitionerne selv, er det vigtigt at det er vanskeligt at blive 'root'.\n"
+#~ "\n"
+#~ "Adgangskoden bør være en blanding af bogstaver og tal og mindst 8 tegn "
+#~ "langt. Skriv aldrig en adgangskode ned for 'root' - det gør det alt for "
+#~ "nemt at bryde ind i dit system.\n"
+#~ "\n"
+#~ "Gør dog ikke adgangskoden for lang eller for kompliceret da du skal være "
+#~ "i stand til at huske den uden for stort besvær!\n"
+#~ "\n"
+#~ "Adgangskoden vil ikke blive vist på skærmen når du indtaster den. Du skal "
+#~ "derfor indtaste adgangskoden to gange, for at begrænse risikoen for "
+#~ "tastefejl. Hvis du kommer til at lave den samme tastefejl to gange, skal "
+#~ "du bruge denne 'ukorrekte' adgangskode den første gang du prøver at koble "
+#~ "op som 'root'.\n"
+#~ "\n"
+#~ "Hvis du ønsker at en autentificerings-server skal styre adgangen til din "
+#~ "maskine, så klik på '%s'-knappen.\n"
+#~ "\n"
+#~ "Hvis dit netværk bruger LDAP, NIS eller PDC Windows domæne-"
+#~ "autentificeringstjenester, vælg da den rigtige som '%s'. Hvis du ikke véd "
+#~ "hvilken der skal bruges, så bør du spørge din systemadministrator.\n"
+#~ "\n"
+#~ "Hvis du har problemer med at huske adgangskoder, så kan du vælge '%s' "
+#~ "hvis din maskine ikke vil være forbundet til Internettet, og du stoler på "
+#~ "alle som kan få adgang til maskinen. "
+
+#~ msgid "authentication"
+#~ msgstr "autentifikation"
diff --git a/perl-install/install/help/po/de.po b/perl-install/install/help/po/de.po
new file mode 100644
index 000000000..cccce7edf
--- /dev/null
+++ b/perl-install/install/help/po/de.po
@@ -0,0 +1,1704 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# psyca, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: psyca, 2024\n"
+"Language-Team: German (https://app.transifex.com/MageiaLinux/teams/9361/"
+"de/)\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Lesen Sie bitte aufmerksam die Lizenz, bevor Sie fortfahren. Sie umfasst\n"
+"die gesamte Mageia Distribution. Sollten Sie in allen Punkten\n"
+"zustimmen, betätigen Sie bitte die Schaltfläche „%s“. Wenn nicht wird ein\n"
+"Betätigen der Schaltfläche „%s“ ihren Computer neu starten."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux ist ein Mehrbenutzer-System, das bedeutet konkret jedes\n"
+"Benutzerkennzeichen hat eigene Präferenzen (Grafische Umgebung,\n"
+"Programmeinstellungen, etc.), sowie ein eigenes Heim-Verzeichnis, in dem\n"
+"diese Einstellungen gespeichert werden. Falls Sie mehr wissen wollen,\n"
+"können Sie im „Starter Handbuch“ nachsehen. Sie können mehrere normale\n"
+"Benutzerkonten einrichten, im Gegensatz zum „privilegierten“ Kennzeichen:\n"
+"»root«, das einmalig ist. Im Gegensatz zu »root« können diese normalen\n"
+"Benutzer jedoch nur ihre eigenen Dateien und Konfigurationen verändern. Sie\n"
+"können sogar mehrere Benutzerkennzeichen pro Person einrichten, denen Sie\n"
+"Zugang zu Ihrem GNU/Linux-System gewähren wollen. Erstellen Sie sich ein\n"
+"eigenes Benutzerkennzeichen, auch wenn Sie der einzige Anwender sind, der\n"
+"diesen Rechner nutzt. Sie sollten nicht ständig mit dem privilegierten\n"
+"Kennzeichen arbeiten! Das ist ein hohes Sicherheitsrisiko! Wenn Sie einen\n"
+"schweren Fehler als einfacher Benutzer machen, dann können Sie maximal\n"
+"Daten verlieren, jedoch nicht Ihr gesamtes System unbrauchbar machen.\n"
+"\n"
+"Zuerst geben Sie bitte einen normalen Namen an. Das muss nicht\n"
+"notwendigerweise Ihr richtiger Name sein. „DrakX“ wird das erste Wort, das\n"
+"Sie eingegeben haben, in das Feld „%s“ eintragen. Dies ist der Name, den\n"
+"Sie zum Anmelden für dieses Kennzeichen benötigen. Natürlich können Sie ihn\n"
+"hier nach Belieben verändern. Dann geben Sie Ihrem Konto ein Passwort. Für\n"
+"ein Benutzerkennzeichen ist dieses zwar nicht von so herausragender\n"
+"Bedeutung wie das für »root«, doch Sie sollten trotzdem etwas Sorgfalt\n"
+"walten lassen. Immerhin sind es Ihre Daten ...\n"
+"\n"
+"Klicken Sie auf „%s“, um das Kennzeichen zu erstellen. Anschließend können\n"
+"Sie direkt weitere Benutzer hinzufügen. Wenn Sie alle Kennzeichen erstellt\n"
+"haben, klicken Sie auf „%s“.\n"
+"\n"
+"Durch Anwahl der Schaltfläche „%s“ haben Sie auch die Möglichkeit, die\n"
+"Standard-Shell dieses Benutzers ändern (normalerweise ist dies die „Bash“).\n"
+"\n"
+"Wenn Sie alle Kennzeichen erstellt haben, die Sie nutzen wollen, wird Ihnen\n"
+"die Möglichkeit eröffnet, ein Kennzeichen automatisch beim\n"
+"Betriebssystemstart angemeldet zu bekommen. Falls Sie sich für diese\n"
+"Funktionalität entscheiden (und wenig Wert auf Sicherheit legen) wählen Sie\n"
+"einfach die gewünschte Arbeitsumgebung und das Kennzeichen aus. Bestätigen\n"
+"Sie Ihre Auswahl durch betätigen der Schaltfläche „%s“. Andernfalls löschen\n"
+"Sie einfach die Markierung des Punktes „%s“."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Benutzername"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Benutzer akzeptieren"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Möchten Sie diese Möglichkeit nutzen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Sie erhalten die Liste, der auf Ihren Festplatten gefundenen GNU/Linux\n"
+"Partitionen. Sie können die Auswahl des Assistenten beibehalten - sie\n"
+"sollte normalerweise Ihren Bedürfnissen entsprechen. Falls Sie es vorziehen\n"
+"die Einhängpunkte selbst zu definieren, denken Sie bitte daran, dass Sie\n"
+"zumindest eine Verzeichnisbaumwurzel („/“) benötigen. Wählen Sie die\n"
+"Partitionen nicht zu klein, da Sie sonst nicht genügend Programme\n"
+"installieren können. Wenn Sie Ihre persönlichen Daten auf einer eigenen\n"
+"Partition halten wollen, legen Sie sich eine Partition namens „/home“ an.\n"
+"\n"
+"Die Partitionen werden folgendermaßen aufgelistet: „Name“, „Kapazität“.\n"
+"\n"
+"„Name“ hat folgende Struktur: „Festplattentyp“, „Festplattennummer“,\n"
+"„Partitionsnummer“ (etwa „hda1“).\n"
+"\n"
+"„Festplattentyp“ ist „hd“, falls Ihre Platte eine IDE/ATAPI-Platte ist, und\n"
+"„sd“, wenn es sich um eine SCSI-Platte handelt.\n"
+"\n"
+"„Festplattennummer“ ist immer der Buchstabe hinter dem Festplattentyp. Bei\n"
+"IDE-Platten bedeutet:\n"
+"\n"
+" * „a“ bedeutet „Master-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „b“ bedeutet „Slave-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „c“ bedeutet „Master-Platte am sekundären IDE-Controller“;\n"
+"\n"
+" * „d“ bedeutet „Slave-Platte am sekundären IDE-Controller“;\n"
+"\n"
+"Bei SCSI-Platten steht „a“ für „niedrigste SCSI-ID“, „b“ für\n"
+"„zweitniedrigste SCSI-ID“, etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Die Mageia-Distribution wird auf mehreren CD-ROMs ausgeliefert. Wenn\n"
+"ein ausgewähltes Paket sich auf einer anderen CD-ROM befindet, wird DrakX\n"
+"die aktuelle CD-ROM auswerfen und nach einer anderen fragen. Wenn Sie diese\n"
+"nicht zur Hand haben sollten, betätigen Sie die Schaltfläche „%s“, die "
+"entsprechenden\n"
+"Pakete werden dann nicht installiert."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nun ist es Zeit sich zu entscheiden, welche Programme Sie auf Ihrem Rechner "
+"installieren wollen.\n"
+"Es gibt tausende von Paketen für Mageia, und um die Verwaltung zu "
+"vereinfachen sind diese, zusammen mit ähnlichen Anwendungen, in Kategorien "
+"sortiert.\n"
+"\n"
+"Die Pakete sind in vier Kategorien eingeteilt. Sie\n"
+"können Pakete aus verschiedenen Kategorien nach Belieben mischen, sodass\n"
+"beispielsweise eine „Workstation“-Installation auch Bestandteile einer\n"
+"„Server“-Installation aufweisen kann.\n"
+"\n"
+" * „%s“: Falls Ihr Rechner als Arbeitsplatzrechner verwendet werden soll,\n"
+"markieren Sie eine oder mehrere Gruppen dieser Kategorie.\n"
+"\n"
+" * „%s“: Falls Sie mit Ihrem Rechner programmieren wollen, sollten Sie\n"
+"diese Gruppe markieren. Die spezielle Gruppe „LSB“ wird Ihr System\n"
+"möglichst eng an den Vorgaben der Linux Standard Base ausrichten.\n"
+"\n"
+" Die Auswahl der „LSB“-Gruppe bewirkt auch, eine 100%%ige\n"
+"Einhaltung der-LSB-Bedingungen des Systems zu garantieren. Allerdings "
+"erhalten Sie auch\n"
+"ohne die Auswahl der „LSB“-Gruppe ein nahezu 100%%ig LSB-konformes System.\n"
+"\n"
+" * „%s“: Wenn Ihre Maschine ein Server werden soll, können Sie hier die\n"
+"wichtigsten Dienste auswählen, die auf Ihren Rechner installiert werden\n"
+"sollen.\n"
+"\n"
+" * „%s“: Wählen Sie hier Ihre bevorzugte grafische Arbeitsoberfläche. Wenn\n"
+"Sie eine grafische Oberfläche verwenden wollen, so müssen Sie hier\n"
+"zumindest eine Gruppe auswählen.\n"
+"\n"
+"Wenn Sie die Maus über eine Gruppe bewegen, erhalten Sie einen kurzen\n"
+"erklärenden Text über die Gruppe.\n"
+"\n"
+"Sie können auch die „%s“ markieren. Das macht Sinn, wenn Sie die Pakete\n"
+"genau kennen oder wenn Sie volle Kontrolle darüber haben wollen, was\n"
+"installiert werden soll.\n"
+"\n"
+"Haben Sie die Installation als „%s“ gestartet, können Sie die Markierungen\n"
+"aller Gruppen entfernen, um die Installation neuer Pakete zu vermeiden.\n"
+"Hierdurch werden nur bereits installierte Pakete aktualisiert oder\n"
+"repariert.\n"
+"\n"
+"Wenn Sie bei einer normalen Installation (im Gegensatz zu einem Upgrade) "
+"alle Gruppen de-markieren\n"
+"erscheint ein Dialog, der Ihnen verschiedene Optionen für eine\n"
+"Minimal-Installation anbietet:\n"
+"\n"
+" * „%s“ Installiert eine minimale Anzahl an Paketen um mindestens eine "
+"funktionale grafische Oberfläche zu erhalten;\n"
+"\n"
+" * „%s“ Installiert das Basissystem zuzüglich grundlegender Werkzeuge\n"
+"inklusive deren Dokumentation. Dies ist die sinnvollste Wahl für eine\n"
+"Serverinstallation.\n"
+"\n"
+" * „%s“ Installiert das absolute Minimum an Paketen die nötig sind um ein "
+"funktionierendes Linux System zu erhalten. Mit dieser Installation erhalten "
+"Sie nur eine Kommandozeile. Die gesamte Größe dieser Installation beträgt um "
+"die 65 Megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualisierung"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Mit minimaler Dokumentation (Empfohlen)"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Minimal-Installation"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Falls Sie sich für die einzelne Paketauswahl entschieden haben erhalten Sie "
+"eine\n"
+"Baumliste aller Pakete, nach Gruppen und Untergruppen klassifiziert. Beim\n"
+"Durchstöbern des Baums können Sie Gruppen, Untergruppen oder einzelne "
+"Pakete\n"
+"auswählen.\n"
+"\n"
+"Wenn Sie ein Paket auswählen, erscheint rechts eine kurze Beschreibung, "
+"damit Sie den Zweck des Pakets in Erfahrung bringen können.\n"
+"\n"
+"!! Wenn ein Server-Paket angewählt wurde, entweder\n"
+"absichtlich oder als Paket einer ganzen Gruppe, \n"
+"werden Sie gefragt, ob Sie dieses wirklich installiert haben wollen.\n"
+"Unter Mageia werden installierte Dienste automatisch beim\n"
+"Betriebssystemstart gestartet. Selbst wenn zum Zeitpunkt, als die\n"
+"Distribution zusammengestellt wurde, keine Sicherheitslücken oder Fehler in\n"
+"diesen Paketen bekannt waren, ist natürlich nicht auszuschließen, dass\n"
+"später solche Fehler gefunden werden. Sollten Sie also nicht wissen, wovon\n"
+"hier die Rede ist, wählen Sie sicherheitshalber lieber „%s“. Falls Sie mit\n"
+"„%s“ antworten, werden die aufgelisteten Dienste installiert und stehen "
+"Ihnen\n"
+"nach der Installation standardmäßig zur Verfügung. !!\n"
+"\n"
+"Die Option „%s“ unterdrückt die Warnungen, die erscheinen, wenn das\n"
+"Installationsprogramm Pakete automatisch markiert, um Paketabhängigkeiten\n"
+"aufzulösen, wenn Sie ein Paket auswählen. Einige Pakete hängen von der\n"
+"Existenz anderer Pakete ab und die Installation eines Pakets mag die\n"
+"Installation eines anderen voraussetzen. Das Installationsprogramm ist in "
+"der\n"
+"Lage, diese Abhängigkeiten zu erkennen um die Installation vollständig "
+"durchzuführen.\n"
+"\n"
+"Das kleine Diskettensymbol am unteren Rand der Liste ermöglicht es Ihnen,\n"
+"die während einer vorangegangenen Installation gespeicherte Paketauswahl\n"
+"erneut zu verwenden. Dies ist nützlich, wenn Sie eine eine größere Anzahl "
+"an\n"
+"Systemen zu installieren haben, welche identisch eingerichtet werden "
+"sollen.\n"
+"Durch Betätigen der Schaltfläche öffnen Sie einen\n"
+"Dialog, der Sie auffordert, die Diskette einzulegen, die die Auswahl der\n"
+"früheren Installation enthält. Um zu erfahren, wie Sie diese Diskette\n"
+"erstellen, lesen Sie bitte den zweiten Tipp des vorangegangenen\n"
+"Installationsschrittes."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatische Abhängigkeiten"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Als nächstes können Sie die Dienste auswählen, die während des\n"
+"Betriebssystemstarts aktiviert werden sollen.\n"
+"\n"
+"DrakX listet hier alle Dienste, die nach der aktuellen Installation zum\n"
+"BS-Start zur Verfügung stehen, angezeigt. Lesen Sie diese Liste sorgfältig\n"
+"durch und markieren Sie nur die Dienste, die Sie immer ab dem BS-Start zur\n"
+"Verfügung haben wollen.\n"
+"\n"
+"Wenn Sie einen Dienst anwählen, erhalten Sie eine kurze Erklärung dazu.\n"
+"Wenn Sie nicht sicher sind, ob ein Dienst bzw. Server sinnvoll ist oder\n"
+"nicht, verändern Sie am Besten die voreingestellten Markierungen nicht.\n"
+"\n"
+"!! Sollten Sie Ihren Rechner als Server verwenden wollen, so müssen Sie an\n"
+"dieser Stelle besonders vorsichtig sein: wählen Sie alle Dienste ab, die\n"
+"Sie nicht benötigen. Denken Sie daran, dass etliche Dienste eine\n"
+"potentielle Einbruchstelle in das System von außen darstellen, wenn diese\n"
+"im Serverbetrieb laufen. Also, nur die Dienste einschalten, die Sie\n"
+"wirklich brauchen! !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux arbeitet mit GMT (Greenwich Mean Time) und übersetzt diese anhand\n"
+"der Zeitzone in Ihre lokale Zeit. Falls die Uhr Ihres Computers auf die\n"
+"lokale Zeit eingestellt ist, sollten Sie die Option „%s“ deaktivieren.\n"
+"Dadurch wird GNU/Linux mitgeteilt, dass sich die Systemzeit und die\n"
+"Hardware-Uhr in der gleichen Zeitzone befinden. Dieses Verfahren ist\n"
+"notwendig, wenn Sie auf Ihrem Computer noch ein weiteres Betriebssystem per\n"
+"Dual-Boot betreiben.\n"
+"\n"
+"Die Verwendung der Option „%s“ reguliert Ihre Uhr, indem sie Verbindung mit\n"
+"einem Zeitserver im Internet aufnimmt. Wählen Sie aus der Liste einen\n"
+"Server in Ihrer Nähe. Damit die funktioniert benötigen Sie eine ständige\n"
+"Internetverbindung. Mit dieser Option installieren Sie einen Time-Server,\n"
+"der von weiteren Maschinen Ihres lokalen Netzwerks genutzt werden kann."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Die Hardware-Uhr ist auf GMZ gestellt"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatische Zeit-Synchronisation (durch NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkarte\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihre Grafikkarte und richtet sie\n"
+"entsprechend ein. Sollten dabei Probleme auftreten, können Sie in der hier\n"
+"aufgeführten Liste Ihr Modell auswählen.\n"
+"\n"
+" Falls für Ihre Karte verschiedene Server zur Verfügung stehen, etwa mit\n"
+"und ohne 3D-Beschleunigung, werden Sie gebeten, den zu wählen, der Ihren\n"
+"Bedürfnissen am besten entspricht."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihren Monitor. Sollten dabei\n"
+"Probleme auftreten, können Sie in der hier aufgeführten Liste Ihr Modell\n"
+"auswählen."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Auflösung\n"
+"\n"
+" Sie können hier Auflösung und Farbtiefe für Ihre Hardware wählen.\n"
+"Entscheiden Sie sich, welche Variante Ihren Wünschen am ehesten entspricht\n"
+"(Sie können diese Angaben natürlich nach der Installation noch ändern). Sie\n"
+"können sich einen Eindruck anhand des abgebildeten Monitors bilden."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Falls für Ihre Karte verschiedene Server zur Verfügung stehen, etwa mit und\n"
+"ohne 3D-Beschleunigung, werden Sie gebeten, den zu wählen, der Ihren\n"
+"Bedürfnissen am besten entspricht."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Optionen\n"
+"\n"
+" Sie können direkt bei Betriebssystemstart die grafische Umgebung\n"
+"aktivieren. Durch Betätigen der Schaltfläche „%s“ wird in eine reine\n"
+"Textumgebung gestartet. Das ist sinnvoll für Server oder wenn Sie bei dem\n"
+"Versuch die grafische Umgebung zu konfigurieren erfolglos waren."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Verwende existierende Partition(en)"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Den freien Platz auf der Microsoft-Windows®-Partition nutzen"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Komplette Platte löschen"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nun ist es soweit, die Installation ist abgeschlossen und Ihr neues\n"
+"Betriebssystem sollte einsatzbereit sein. Klicken Sie nur noch auf „%s“ und\n"
+"das System wird neu gestartet. Vergessen Sie nicht, vorher das\n"
+"Installationsmedium (CD oder Diskette) zu entfernen. Das erste, was Sie bei\n"
+"dem Neustart nach dem Hardwaretest Ihres Computers sehen, ist das\n"
+"Auswahlmenü Ihres Bootloaders, aus dem Sie das zu startende Betriebssystems\n"
+"auswählen können.\n"
+"\n"
+"Die Schaltfläche „%s“ liefert zwei weitere Schaltflächen:\n"
+"\n"
+" * „%s“: Hiermit können Sie eine Installationsdiskette erstellen, mit deren\n"
+"Hilfe Sie eine identische automatische Installation ohne Interaktion eines\n"
+"Administrators durchzuführen können.\n"
+"\n"
+" Es gibt zwei verschiedene Alternativen, nachdem Sie diese Schaltfläche\n"
+"aktiviert haben:\n"
+"\n"
+" * „%s“: Diese Installation ist nur teilweise automatisch, da der\n"
+"Partitionierungsschritt (aber nur dieser!) immer noch interaktiv vonstatten\n"
+"geht.\n"
+"\n"
+" * „%s“: Vollautomatische Installation: Die Festplatte wird vollständig\n"
+"reorganisiert. Alle darauf vorhandenen Daten gehen verloren!\n"
+"\n"
+" Diese Funktion ist besonders nützlich, wenn man eine Menge von\n"
+"identischer Rechner einrichten will. Weitere Informationen erhalten Sie\n"
+"auch auf der Seite Auto install\n"
+"\n"
+" * „%s“:(*) Sie speichern damit die Paketauswahl, die Sie vorher getroffen\n"
+"haben. Wenn Sie später eine erneute Installation vornehmen wollen, legen\n"
+"Sie einfach die Diskette ins Laufwerk und starten Sie die Installation\n"
+"mittels [F1] an der ersten Eingabeaufforderung. Geben Sie dann »linux\n"
+"defcfg=\"floppy\"« ein.\n"
+"\n"
+"(*) Sie benötigen eine FAT formatierte Diskette (Mittels „mformat a:“ oder\n"
+"„fdformat /dev/fd0“, gefolgt von „mkfs.vfat /dev/fd0“ können Sie unter\n"
+"GNU/Linux eine solche erstellen)."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Erstellen einer Autoinstallations-Diskette"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Erneut durchführen"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatisch"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Paketauswahl speichern"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Wenn Sie auswählen bereits existierende GNU/Linux Partitionen zu verwenden,\n"
+"möchten Sie diese möglicherweise neu formatieren, um die darauf "
+"vorhandenen \n"
+"Daten zu löschen. Markieren Sie diese Partitionen einfach ebenfalls in der "
+"Liste.\n"
+"\n"
+"Es sei angemerkt, dass nicht alle Partitionen neu formatiert werden müssen.\n"
+"Sie sollten normalerweise nur die Partitionen neu formatieren, die\n"
+"Systemdateien, jedoch keine Privatdaten enthalten (etwa „/“, „/usr“ oder\n"
+"„/var“). Partitionen wie etwa „/home“ müssen Sie normalerweise nicht neu\n"
+"formatieren.\n"
+"\n"
+"Seien Sie sorgfältig bei der Auswahl der Partitionen. Nach dem Formatieren\n"
+"sind alle zuvor darauf existierenden Daten unwiederbringlich verloren.\n"
+"\n"
+"Betätigen Sie die Schaltfläche „%s“, um mit dem Formatieren der \n"
+"Partitionen zu beginnen.\n"
+"\n"
+"Betätigen Sie „%s“, wenn Sie eine andere Partition für Ihr neues\n"
+"Mageia Betriebssystem vorgesehen haben.\n"
+"\n"
+"Betätigen Sie „%s“, falls Sie Partitionen auswählen möchten, um diese auf \n"
+"defekte Blöcke zu untersuchen."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Es ist sehr wahrscheinlich, dass zum Zeitpunkt Ihrer Mageia\n"
+"Installation bereits einige Pakete aktualisiert wurden, etwa weil Fehler "
+"beseitigt \n"
+"oder Sicherheitslücken behoben wurden.\n"
+"Um von diesen aktualisierten Paketen Gebrauch zu machen, \n"
+"wird Ihnen nun angeboten, diese aus dem Internet nachzuladen. \n"
+"Betätigen Sie die Schaltfläche „%s“, wenn Sie einen\n"
+"Internetzugang haben, andernfalls betätigen Sie die Schaltfläche „%s“ falls "
+"Sie\n"
+"diese später installieren möchten.\n"
+"\n"
+"Betätigen der Schaltfläche „%s“ zeigt Ihnen eine Liste von Servern, von\n"
+"denen Sie die Aktualisierungen herunterladen können. Wählen Sie einen in\n"
+"Ihrer Nähe. Sie erhalten dann einen Paketauswahldialog: Kontrollieren Sie\n"
+"die Auswahl und bestätigen Sie diese durch Betätigen von „%s“. Die Pakete\n"
+"werden nun angefordert und installiert. Sollten Sie das nicht wünschen,\n"
+"betätigen Sie die Schaltfläche „%s“."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nun ist es an der Zeit, mittels DrakX die gewünschte Sicherheitsebene für\n"
+"Ihr System festzulegen. Als Faustregel sollte hier dienen: Je kritischer die "
+"auf ihr gesicherten Daten sind oder wenn diese direkt mit dem Internet "
+"verbunden ist, desto höher sollte die Sicherheitsebene sein. Andererseits "
+"geht die\n"
+"gewonnene Sicherheit zulasten der Benutzerfreundlichkeit und Einfachheit.\n"
+"\n"
+"Sollten Sie sich an dieser Stelle nicht sicher sein, so behalten Sie die\n"
+"Standardeinstellung bei. Sie können die Ebene später noch mittels draksec\n"
+"im Mageia Kontrollzentrum anpassen.\n"
+"\n"
+"Das Feld „%s“ dient dazu, dem System mitzuteilen, wer für die Sicherheit\n"
+"dieses Rechners verantwortlich ist. An die dort angegebene E-Mail Adresse "
+"werden sicherheitsrelevante Informationen versandt."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sicherheitsadministrator:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Partitionstabelle speichern"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Partitionstabelle wiederherstellen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Partitionstabelle retten"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Wechselmedien automatisch einhängen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Assistent"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Rückgängig machen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "In den Normal-Modus wechseln"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Es wurde mehr als eine Windows-Partition auf Ihrem Laufwerk gefunden.\n"
+"Wählen Sie bitte, welche Sie verkleinern wollen, um Platz für Ihr neues "
+"Mageia Betriebssystem zu schaffen.\n"
+"\n"
+"Die Partitionen werden folgendermaßen aufgelistet: „Linux-Name“,\n"
+"„Windows-Name“, „Kapazität“.\n"
+"\n"
+"„Linux-Name“ hat folgende Struktur: „Festplattentyp“, „Festplattennummer“,\n"
+"„Partitionsnummer“ (etwa „hda1“).\n"
+"\n"
+"„Festplattentyp“ ist „hd“, falls Ihre Platte eine IDE-Platte ist, und\n"
+"„sd“, wenn es sich um eine SCSI-Platte handelt.\n"
+"\n"
+"„Festplattennummer“ ist immer der Buchstabe hinter dem Festplattentyp. Bei\n"
+"IDE-Platten bedeutet:\n"
+"\n"
+" * „a“ ist „Master-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „b“ ist „Slave-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „c“ ist „Master-Platte am sekundären IDE-Controller“;\n"
+"\n"
+" * „d“ ist „Slave-Platte am sekundären IDE-Controller“;\n"
+"\n"
+"Bei SCSI-Platten steht „a“ für die „niedrigste SCSI-ID“, „b“ für\n"
+"die „zweitniedrigste SCSI-ID“, etc.\n"
+"\n"
+"„Windows-Name“ ist der Buchstabe, den die Partition unter\n"
+"Windows erhalten würde (das erste Laufwerk oder die erste Partition heißt "
+"„C:“)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"„%s“: Kontrollieren Sie, ob die Auswahl des Staates, in dem Sie sich\n"
+"befinden korrekt ist. Falls nicht, betätigen Sie bitte die Schaltfläche\n"
+"„%s“ und wählen Sie den richtigen. Ist Ihr Staat nicht in der Liste, können\n"
+"Sie über die Schaltfläche „%s“ eine vollständigere Liste erzwingen."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Dieser Schritt wird nur aufgerufen, wenn mindestens eine GNU/Linux\n"
+"Partition auf Ihren Festplatten gefunden wird.\n"
+"\n"
+"DrakX fragt Sie nun nach der gewünschten Installationsart. Sie haben die\n"
+"Wahl zwischen einer kompletten Neuinstallation oder der Aktualisierung einer "
+"bereits vorhandenen Mageia-Version :\n"
+"\n"
+" * „%s“: Entfernt vollständig ältere Versionen, die noch\n"
+"installiert sind. Abhängig vom Partitionsschema Ihres Laufwerks können Sie "
+"das Überschreiben einiger Ihrer bestehenden Dateien (vor allem der \"home\" "
+"Verzeichnisse) verhindern. Diese Installationsart ist gut, wenn Sie die\n"
+"Partitionseinteilung auf Ihrer Festplatte sowieso ändern oder das benutzte\n"
+"Dateisystem austauschen wollen.\n"
+"\n"
+" * „%s“: Mit dieser Variante können Sie eine existierende Mageia\n"
+"Version aktualisieren. Die Partitionstabellen sowie die persönlichen\n"
+"Verzeichnisse der Anwender bleiben erhalten. Alle anderen\n"
+"Installationsschritte werden wie bei einer Installation ausgeführt.\n"
+"\n"
+"Aktualisierungen von Mageia „8.1“ oder neueren Systemen sollten\n"
+"problemlos funktionieren. Ältere Versionen von Mageia sollten Sie\n"
+"nicht zu aktualisieren versuchen."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Entsprechend der ausgewählten Sprache ()versucht DrakX das für Sie passende\n"
+"Tastaturlayout aus.\n"
+"\n"
+"Möglicherweise haben Sie jedoch eine Tastatur, die nicht dieser Einstellung\n"
+"entspricht: wenn Sie beispielsweise in der Schweiz eine deutsche Tastatur\n"
+"verwenden wollen oder wenn Sie in Québec (dem französischsprachigen Teil\n"
+"Kanadas) eine französischsprachige Tastatur besitzen. Wählen Sie einfach\n"
+"ein passendes Layout aus der Liste.\n"
+"\n"
+"Sollten Sie eine andere als die zur gewählten Sprache gehörende Tastatur\n"
+"verwenden wollen, wählen Sie die Schaltfläche „%s“. Sie erhalten dann eine\n"
+"Liste aller unterstützten Tastaturen.\n"
+"\n"
+"Sollten Sie sich für ein Tastaturlayout einer nicht lateinischen Sprache\n"
+"entschieden haben, werden Sie im nächsten Schritt gefragt, mit welcher\n"
+"Tastenkombination Sie zwischen dem von Ihnen gewählten und dem lateinischen\n"
+"Layout umschalten wollen."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Als ersten Schritt wählen Sie bitte die gewünschte Sprache.\n"
+"\n"
+"Diese Auswahl betrifft die Sprache des Installationsvorgangs, der "
+"Dokumentetion und das gesamte System. Wählen Sie zuerst die Region, in der "
+"Sie sich befinden,\n"
+"anschließend die Sprache, die Sie sprechen.\n"
+"\n"
+"Durch Betätigen der Schaltfläche „%s“ erhalten Sie die Möglichkeit, weitere "
+"Sprachen auszuwählen, welche auf Ihrem System für die Dokumentationen und "
+"Anwendungen installiert werden sollen. Wollen Sie etwa Spaniern "
+"muttersprachlichen Zugang zu Ihrem System\n"
+"erlauben, wählen Sie Deutsch als Hauptsprache in der Liste und im\n"
+"Fortgeschrittenen-Bereich „%s“.\n"
+"\n"
+"Zur UTF-8 (Unicode) Unterstützung: Unicode ist ein Zeichenkodierung, die\n"
+"die existierenden Kodierungen ablösen soll und die Zeichen aller\n"
+"existierender Sprachen beinhalten. Komplette Unterstützung in GNU/Linux ist\n"
+"leider immer noch nicht gegeben. Daher verwendet Mageia diese\n"
+"Kodierung nur auf Wunsch des Anwenders:\n"
+"\n"
+" * Falls Sie eine Sprache nutzen, die eine gut unterstützte Kodierung\n"
+"verwendet (Sprachen mit lateinischen Zeichen - latin1, Russisch, Japanisch, "
+"Chinesisch, Koreanisch, Thailändisch, Griechisch, Türkisch, die meisten "
+"ISO-8859-2 Sprachen), wird standardmäßig die\n"
+"klassische Kodierung beibehalten;\n"
+"\n"
+" * Alle anderen Sprachen verwenden standardmäßig Unicode;\n"
+"\n"
+" * Falls Sie zwei oder mehr Sprachen verwenden wollen, die unterschiedliche\n"
+"klassische Kodierungen verwenden, wird ebenfalls Unicode für das gesamte "
+"System verwendet;\n"
+"\n"
+" * Schlussendlich kann Unicode vom Anwender auch für Sprachen mit\n"
+"klassischer Kodierung festgelegt werden, indem er den Punkt „%s“ markiert.\n"
+"\n"
+"Beachten Sie, dass Sie nicht auf eine weitere Sprache begrenzt sind. Sie "
+"können so viele zusätzliche Sprachen auswählen, wie Sie wollen oder sogar "
+"alle Sprachen indem Sie die Schaltfläche „%s“\n"
+"verwenden. Das Auswählen einer Sprache beeinflusst die installierten\n"
+"Übersetzungen der Programme, Schriften, Rechtschreibkorrekturen, etc.\n"
+"\n"
+"Um die Spracheinstellungen des ganzen Systems zwischen verschiedenen\n"
+"Sprachen umzuschalten, starten Sie einfach „localedrake“ unter dem\n"
+"privilegierten Kennzeichen „root“. Wollen Sie die Einstellungen nur für "
+"einen Zugang ändern starten Sie denselben Befehl mit eben diesem\n"
+"Kennzeichen."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanisch"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Standardmäßig Unicode benutzen"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX versucht normalerweise die Anzahl der Tasten Ihrer Maus zu erkennen.\n"
+"Sollte das nicht möglich sein, so behandelt es Ihre Maus als\n"
+"Zwei-Tasten-Maus und emuliert die mittlere Taste. Die mittlere Taste kann\n"
+"dann durch gleichzeitiges Drücken der rechten und Linken Taste simuliert\n"
+"werden. Üblicherweise erkennt DrakX korrekt, ob es sich um eine serielle,\n"
+"eine PS/2- oder um eine USB-Maus handelt.\n"
+"\n"
+"Falls Sie eine 3-Button-Maus ohne Rad haben können Sie eine Maus „%s“\n"
+"auswählen. DrakX wird dann Ihre Maus so einrichten, dass Sie das Rad in der\n"
+"folgenden Weise simulieren können: Sie drücken die mittlere Maustaste und\n"
+"bewegen Ihren Mauszeiger auf und ab.\n"
+"\n"
+"Sollte dies nicht Ihren Vorstellungen entsprechen: Wählen Sie einfach Ihren\n"
+"Maustyp aus der Liste, die Ihnen angezeigt wird.\n"
+"\n"
+"Einen generischen Maustyp, der mit fast allen Maustypen funktioniert,\n"
+"können Sie über „%s“ einstellen.\n"
+"\n"
+"Sollten Sie einen anderen als den vorgeschlagenen Maustyp gewählt haben, so\n"
+"wird Ihnen ein Testfenster angezeigt. Verwenden Sie die Knöpfe und\n"
+"gegebenenfalls das Mausrad, um sicherzustellen, dass die festgelegten\n"
+"Einstellungen funktionieren. Falls nicht, drücken Sie die Leertaste oder\n"
+"die Eingabetaste, um zurück zum Auswahlmenü zu gelangen und suchen Sie\n"
+"einen anderen Treiber aus.\n"
+"\n"
+"Es kommt vor, dass Mäuse mit Rädern nicht korrekt erkannt werden. Wählen\n"
+"Sie in diesem Fall die richtige Maus aus der vorgegebenen Liste. Stellen\n"
+"Sie sicher, dass Sie auch den Anschluss richtig angegeben haben. Nach\n"
+"betätigen der Schaltfläche „%s“, wird Ihnen ein Bild der gewählten Maus\n"
+"gezeigt. Bewegen Sie Räder und Tasten, um sicherzustellen, dass die Maus\n"
+"richtig erkannt wurde."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "mit Mausrad Emulation"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Alle PS/2 & USB-Mäuse"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Wählen Sie bitte den richtigen Anschluss. So ist etwa der unter Windows\n"
+"„COM1“ genannte Anschluss in GNU/Linux unter „ttyS0“ erreichbar."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ein Betriebssystemstarter ist ein kleines Programm, das vom Computer\n"
+"während des Startvorganges aufgerufen wird. Es ist für den Start des\n"
+"gesamten Systems verantwortlich. Im Normalfall läuft die Installation des\n"
+"Betriebssystemstarters vollkommen automatisch ab. DrakX analysiert den\n"
+"Bootsektor und ergreift dann die passenden Maßnahmen:\n"
+"\n"
+" * Findet DrakX einen Windows-Bootsektor, ersetzt es ihn durch einen GRUB-\n"
+"oder LILO-Bootsektor. Sie erhalten dadurch die Möglichkeit, beim\n"
+"Systemstart zwischen Windows (bzw. anderen Betriebssystemen, sofern\n"
+"vorhanden) und GNU/Linux auszuwählen;\n"
+"\n"
+" * Findet DrakX einen Linux-Bootsektor vor, ersetzt es ihn durch einen\n"
+"neuen;\n"
+"\n"
+"Falls DrakX nicht weiß, wo der Betriebssystemstarter installiert werden\n"
+"soll, wird es Sie um Ihre Meinung bitten. Normalerweise sollte die\n"
+"Installation auf dem „%s“ erfolgen. Durch Auswahl von „%s“ wird überhaupt\n"
+"kein Starter installiert. Verwenden Sie diese Möglichkeit nur, wenn Sie\n"
+"genau wissen was Sie tun."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Hier können Sie das Drucksystem für Ihren Rechner wählen. Andere\n"
+"Betriebssysteme bieten Ihnen nur eines, bei Mageia können Sie\n"
+"zwischen zwei verschiedenen wählen. Jedes dieser Systeme ist für eine\n"
+"bestimmte Konfiguration des Systems am besten geeignet.\n"
+"\n"
+" * „%s“ -- Es steht für „print, do not queue“ (engl. für „Drucken ohne\n"
+"Warteschlange“). Falls Sie einen Drucker haben, der direkt an Ihrem Rechner\n"
+"hängt und Sie keine Netzwerkdrucker verwenden wollen, ist dies das\n"
+"Drucksystem Ihrer Wahl. „%s“ kann zwar auch mit Netzwerkdruckern umgehen, "
+"ist\n"
+"dabei aber extrem langsam. Wählen Sie „pdq“, wenn Sie ein GNU/Linux Neuling\n"
+"sind.\n"
+"\n"
+" * „%s“ - Mit dem „Common Unix Printing System“ (engl. für „Allgemeines\n"
+"Unix-Drucksystem“) können Sie ebensogut auf Ihrem direkt angeschlossenen\n"
+"Drucker drucken, wie auf einem Drucker, der an einem Server auf der anderen\n"
+"Seite der Welt hängt. Es ist einfach zu bedienen und kann sowohl als Server\n"
+"als auch als Klient für das alte „lpd“-Drucksystem verwendet werden - Es\n"
+"ist somit rückwärtskompatibel zu älteren Betriebssystemen welche "
+"möglicherweise Druckerdienste benötigen. Es ist sehr mächtig, in seiner\n"
+"Grundeinstellung verhält es sich jedoch genau wie „pdq“. Wenn Sie einen\n"
+"„lpd“ Server benötigen, müssen Sie einfach nur den „cups-lpd“ Dämon\n"
+"starten. „%s“ bietet grafische Konfigurations- und Druckmenüs.\n"
+"\n"
+"Sie können diese Wahl später immer wieder ändern, indem Sie PrinterDrake\n"
+"aus dem Mageia Kontrollzentrum starten und dort die Schaltfläche „%s“\n"
+"betätigen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expertenmodus"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX versucht nun alle IDE Festplatten Ihres Systems zu finden. Unter\n"
+"Anderem sucht DrakX auch nach PCI-SCSI-Karten, die es kennt, um sie\n"
+"automatisch mit dem richtigen Treiber einzubinden.\n"
+"\n"
+"Falls DrakX nicht weiß, welcher Treiber funktioniert, werden Sie gebeten,\n"
+"DrakX zu helfen.\n"
+"\n"
+"Sollten Sie die PCI-SCSI-Karte selbst angegeben haben, wird DrakX Sie\n"
+"fragen, ob Sie weitere Parameter angeben wollen. Sie sollten DrakX\n"
+"erlauben, die kartenspezifischen Informationen selbst zu finden. In den\n"
+"meisten Fällen wird DrakX diesen Schritt ohne Ihre Hilfe bewerkstelligen.\n"
+"\n"
+"Falls DrakX nicht in der Lage ist, die Parameter selbst zu finden, die dem\n"
+"Modul zu übergeben sind, müssen Sie diese angeben.\n"
+"\n"
+"Sie können die benötigten Informationen etwa unter Windows (sofern das auf\n"
+"Ihren Rechner installiert ist) finden, aus den Handbüchern, die sie mit dem\n"
+"Adapter erhalten haben oder von den Web-Seiten des Hardware-Anbieters\n"
+"(sofern Sie einen WWW-Zugang haben)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"„%s“: Falls eine Soundkarte in Ihrem Rechner gefunden wurde, wird sie hier\n"
+"angezeigt. Sollte die von DrakX getroffene Auswahl nicht korrekt sein,\n"
+"betätigen Sie einfach die Schaltfläche, um sie zu korrigieren."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-Karte"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-Karte"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafikumgebung"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Bitte wählen Sie die Festplatte, die Sie löschen wollen, um Ihr neues\n"
+"Mageia zu installieren. Bedenken Sie dabei, dass alle Daten auf\n"
+"dieser Platte nach diesem Schritt unwiederbringlich verloren sind!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Betätigen Sie die Schaltfläche „%s“, wenn Sie alle Partitionen und die\n"
+"darauf befindlichen Daten löschen wollen. Bedenken Sie, dass Sie nach\n"
+"betätigen der Schaltfläche „%s“ auch an die möglicherweise noch vorhandenen\n"
+"Windows-Daten nicht mehr gelangen werden!\n"
+"\n"
+"Wählen Sie „%s“, um die Aktion ohne Datenverlust abzubrechen."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Weiter ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Zurück"
diff --git a/perl-install/install/help/po/el.po b/perl-install/install/help/po/el.po
new file mode 100644
index 000000000..7e352e7a6
--- /dev/null
+++ b/perl-install/install/help/po/el.po
@@ -0,0 +1,2123 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# Dimitrios Glentadakis <dglent@free.fr>, 2025
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Dimitrios Glentadakis <dglent@free.fr>, 2025\n"
+"Language-Team: Greek (https://app.transifex.com/MageiaLinux/teams/9361/el/)\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"ΠÏιν συνεχίσετε θα Ï€Ïέπει να διαβάσετε Ï€Ïοσεκτικά τους ÏŒÏους της άδειας "
+"χÏήσης.\n"
+"ΚαλÏπτουν ολόκληÏη την διανομή Mageia. Αν συμφωνείτε, επιλέξτε το πλαίσιο "
+"\"%s\" , \n"
+"διαφοÏετικά, πιέζοντας το κουμπί \"%s\" θα γίνει επανεκκίνηση του υπολογιστή."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux είναι ένα σÏστημα πολλαπλών χÏηστών, που σημαίνει ότι κάθε "
+"χÏήστης\n"
+"μποÏεί να έχει τις δικές του Ï€Ïοτιμήσεις, τα δικά του αÏχεία κλπ. Όμως, εν "
+"αντιθέσει με\n"
+"τον χÏήστη \"root\", ο οποίος είναι ο διαχειÏιστής του συστήματος, οι "
+"χÏήστες που Ï€Ïοσθέτετε\n"
+"εδώ, δεν θα είναι εξουσιοδοτημένοι να αλλάξουν οτιδήποτε εκτός από τα δικά "
+"τους αÏχεία\n"
+"και διαμοÏφώσεις, Ï€ÏοστατεÏοντας έτσι το σÏστημα από ακοÏσιες ή κακόβουλες "
+"αλλαγές\n"
+"που θα μποÏοÏσαν να επηÏεάσουν ολόκληÏο το σÏστημα. Θα Ï€Ïέπει να "
+"δημιουÏγήσετε\n"
+"τουλάχιστον έναν τυπικό χÏήστη για τον εαυτό σας -- αυτός είναι ο "
+"λογαÏιασμός που θα Ï€Ïέπει\n"
+"να χÏησιμοποιείτε για καθημεÏινή χÏήση. Αν και είναι Ï€Î¿Î»Ï ÎµÏκολο να "
+"συνδεθείτε ως \"root\"\n"
+"και να κάνετε τα πάντα, μποÏεί επίσης να είναι και Ï€Î¿Î»Ï ÎµÏ€Î¹ÎºÎ¯Î½Î´Ï…Î½Î¿! Ένα Ï€Î¿Î»Ï "
+"απλό λάθος\n"
+"θα μποÏοÏσε να θέσει και εκτός λειτουÏγίας το σÏστημά σας. Αν κάνετε ένα "
+"σοβαÏÏŒ λάθος ως\n"
+"τυπικός χÏήστης, το χειÏότεÏο που μποÏεί να συμβεί είναι να χάσετε μεÏικές "
+"πληÏοφοÏίες,\n"
+"αλλά δεν θα επηÏεάσετε ολόκληÏο το σÏστημα.\n"
+"\n"
+"Στο Ï€Ïώτο πεδίο σας ζητείται το Ï€Ïαγματικό σας όνομα. Φυσικά, αυτό δεν είναι "
+"υποχÏεωτικό\n"
+"-- μποÏείτε να εισάγετε το όνομα που επιθυμείτε. Το DrakX θα χÏησιμοποιήσει "
+"την Ï€Ïώτη λέξη\n"
+"που πληκτÏολογείτε σε αυτό το πεδίο και θα την αντιγÏάψει στο πεδίο \"%s\", "
+"το οποίο είναι το όνομα\n"
+"που θα χÏησιμοποιεί αυτός ο χÏήστης για να συνδεθεί στο σÏστημα. Εάν θέλετε, "
+"μποÏείτε να παÏακάμψετε\n"
+"την Ï€Ïοεπιλογή αυτή και να αλλάξετε το όνομα χÏήστη. Το επόμενο βήμα αφοÏά "
+"τον κωδικό Ï€Ïόσβασης.\n"
+"Από άποψη ασφάλειας, ο κωδικός Ï€Ïόσβασης ενός μη Ï€ÏονομιοÏχου (τυπικοÏ) "
+"χÏήστη δεν είναι τόσο κÏίσιμος\n"
+"όσο ο κωδικός Ï€Ïόσβασης του διαχειÏιστή \"root\", αλλά αυτό δεν είναι λόγος "
+"να τον παÏαμελήσετε, αφήνοντάς τον\n"
+"κενό ή Ï€Î¿Î»Ï Î±Ï€Î»ÏŒ γιατί μποÏεί να θέσετε σε κίνδυνο τα αÏχεία του "
+"συγκεκÏιμένου χÏήστη.\n"
+"\n"
+"Με κλικ στο κουμπί \"%s\", μποÏείτε να Ï€Ïοσθέσετε άλλους χÏήστες. ΠÏοσθέστε "
+"έναν χÏήστη\n"
+"για κάθε έναν πχ από τους φίλους σας, τον πατέÏα σας, την αδεÏφή σας κλπ. "
+"Κάντε κλικ\n"
+"στο \"%s\" όταν τελειώσετε την Ï€Ïοσθήκη χÏηστών.\n"
+"\n"
+"Κάνοντας κλικ στο κουμπί \"%s\", μποÏείτε να αλλάξετε το Ï€Ïοεπιλεγμένο "
+"\"κέλυφος\" για τον χÏήστη\n"
+"(το Ï€ÏοκαθοÏισμένο κέλυφος είναι το bash).\n"
+"\n"
+"Όταν τελειώσετε με την Ï€Ïοσθήκη χÏηστών, θα σας ζητηθεί να επιλέξετε έναν "
+"χÏήστη\n"
+"που θα συνδέεται αυτόματα στο σÏστημα κατά την εκκίνηση του υπολογιστή.\n"
+"Εάν σας ενδιαφέÏει αυτή η δυνατότητα (και δεν ανησυχείτε ιδιαίτεÏα για την "
+"τοπική ασφάλεια),\n"
+"επιλέξτε τον επιθυμητό χÏήστη και τον διαχειÏιστή παÏαθÏÏων και στη "
+"συνέχεια, κάντε κλικ στο \"%s\".\n"
+"Εάν δεν σας ενδιαφέÏει αυτή η δυνατότητα, αποεπιλέξτε το πλαίσιο \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Όνομα χÏήστη"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Αποδοχή χÏήστη"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Θέλετε να χÏησιμοποιήσετε αυτήν την λειτουÏγία;"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ΠαÏατίθενται εδώ οι υπάÏχουσες κατατμήσεις Linux που ανιχνεÏθηκαν στον "
+"σκληÏÏŒ σας δίσκο.\n"
+"ΜποÏείτε να διατηÏήσετε τις επιλογές που έκανε ο οδηγός, καθώς είναι "
+"κατάλληλες για τις\n"
+"πεÏισσότεÏες τυπικές εγκαταστάσεις. Εάν κάνετε αλλαγές, Ï€Ïέπει τουλάχιστον "
+"να οÏίσετε\n"
+"μια κατάτμηση root (\"/\"). Μην επιλέξετε μια Ï€Î¿Î»Ï Î¼Î¹ÎºÏή κατάτμηση, διότι "
+"δεν θα μποÏέσετε\n"
+"να εγκαταστήσετε αÏκετές εφαÏμογές. Εάν θέλετε να αποθηκεÏσετε τα δεδομένα "
+"σας\n"
+"σε ξεχωÏιστή κατάτμηση, θα χÏειαστεί επίσης να δημιουÏγήσετε μια κατάτμηση "
+"\"/home\"\n"
+"(εφικτό μόνον εάν έχετε πεÏισσότεÏες από μία κατατμήσεις Linux διαθέσιμες).\n"
+"\n"
+"Κάθε κατάτμηση παÏατίθεται ως εξής: \"Όνομα\", \"ΧωÏητικότητα\".\n"
+"\n"
+"Το \"Όνομα\" έχει τη δομή: \"Ï„Ïπος σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…\", \"αÏιθμός σκληÏÎ¿Ï "
+"δίσκου\",\n"
+"\"αÏιθμός κατάτμησης\" (για παÏάδειγμα, \"hda1\").\n"
+"\n"
+"Ο \"ΤÏπος του σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…\" είναι \"hd\" εάν ο σκληÏός σας δίσκος είναι "
+"IDE και\n"
+"\"sd\" εάν είναι SCSI.\n"
+"\n"
+"Ο \"ΑÏιθμός σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…\" είναι πάντα ένα γÏάμμα μετά το \"hd\" ή το "
+"\"sd\".\n"
+"Για τους IDE σκληÏοÏÏ‚ δίσκους:\n"
+"\n"
+" * \"a\" σημαίνει \"κÏÏιος σκληÏός δίσκος στον κÏÏιο ελεγκτή IDE\".\n"
+"\n"
+" * \"b\" σημαίνει \"δευτεÏεÏων σκληÏός δίσκος στον κÏÏιο ελεγκτή IDE\".\n"
+"\n"
+" * \"c\" σημαίνει \"κÏÏιος σκληÏός δίσκος στον δευτεÏεÏοντα ελεγκτή IDE\".\n"
+"\n"
+" * \"d\" σημαίνει \"δευτεÏεÏων σκληÏός δίσκος στον δευτεÏεÏοντα ελεγκτή "
+"IDE\".\n"
+"\n"
+"Για τους σκληÏοÏÏ‚ δίσκους SCSI, το \"a\" σημαίνει \"χαμηλότεÏο SCSI ID\", το "
+"\"b\"\n"
+"σημαίνει \"δεÏτεÏο χαμηλότεÏο SCSI ID\", κλπ."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Η εγκατάσταση της Mageia διανέμεται σε πεÏισσότεÏα CD-ROM.\n"
+"Εάν ένα επιλεγμένο πακέτο βÏίσκεται σε άλλο CD-ROM, το DrakX θα εξαγάγει\n"
+"το Ï„Ïέχον CD και θα σας ζητήσει να εισαγάγετε το απαιτοÏμενο. Εάν δεν το "
+"έχετε\n"
+"στη διάθεσή σας, απλώς κάντε κλικ στο \"%s\"· τα πακέτα που αντιστοιχοÏν δεν "
+"θα εγκατασταθοÏν."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"ΤώÏα θα Ï€Ïέπει να Ï€ÏοσδιοÏίσετε ποια Ï€ÏογÏάμματα θέλετε να εγκαταστήσετε\n"
+"στο σÏστημά σας. ΥπάÏχουν χιλιάδες διαθέσιμα πακέτα για τη Mageia,\n"
+"τα οποία είναι κατηγοÏιοποιημένα σε ομάδες εφαÏμογών για να διευκολυνθεί η "
+"διαχείÏισή τους.\n"
+"\n"
+"Η Mageia ταξινομεί τις ομάδες πακέτων σε τέσσεÏις κατηγοÏίες. ΜποÏείτε να "
+"συνδυάσετε\n"
+"και να ταιÏιάξετε εφαÏμογές Î¼ÎµÏ„Î±Î¾Ï Ï„Ï‰Î½ κατηγοÏιών οÏτως ώστε μια εγκατάσταση "
+"Â«Î£Ï„Î±Î¸Î¼Î¿Ï Î•Ïγασίας»\n"
+"να μποÏεί να πεÏιλαμβάνει εφαÏμογές από την κατηγοÏία «Διακομιστής».\n"
+"\n"
+" * \"%s\": αν σκοπεÏετε να χÏησιμοποιήσετε το μηχάνημά σας ως σταθμό "
+"εÏγασίας, επιλέξτε\n"
+"μία ή πεÏισσότεÏες ομάδες από την κατηγοÏία ÏƒÏ„Î±Î¸Î¼Î¿Ï ÎµÏγασίας.\n"
+"\n"
+"* \"%s\": αν σκοπεÏετε να χÏησιμοποιήσετε το μηχάνημά σας για "
+"Ï€ÏογÏαμματισμό, επιλέξτε\n"
+"τις κατάλληλες ομάδες από αυτήν την κατηγοÏία. Η ειδική ομάδα \"LSB\" θα "
+"Ïυθμίσει\n"
+"το σÏστημά σας κατά Ï„Ïόπο ώστε να συμμοÏφώνεται όσο το δυνατόν πεÏισσότεÏο\n"
+"με τις Ï€ÏοδιαγÏαφές του Linux Standard Base.\n"
+"\n"
+" Η επιλογή της ομάδας \"LSB\" θα διασφαλίσει 100%% συμμόÏφωση του "
+"συστήματος με το LSB.\n"
+"Ωστόσο, ακόμα και αν δεν επιλέξετε την ομάδα \"LSB\", θα έχετε εξίσου ένα "
+"σÏστημα που είναι\n"
+"σχεδόν 100%% συμμοÏφωμένο με το LSB.\n"
+"* \"%s\": αν το μηχάνημά σας Ï€ÏοοÏίζεται για διακομιστή, επιλέξτε ποιες από "
+"τις\n"
+"πιο κοινές υπηÏεσίες θέλετε να εγκαταστήσετε στο μηχάνημά σας.\n"
+"\n"
+"* \"%s\": εδώ θα επιλέξετε το Ï€Ïοτιμώμενο γÏαφικό πεÏιβάλλον σας.\n"
+"ΠÏέπει να επιλέξετε τουλάχιστον ένα εάν θέλετε να έχετε διαθέσιμη γÏαφική "
+"διεπαφή.\n"
+"\n"
+"Μετακινώντας τον δÏομέα του Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï Ï€Î¬Î½Ï‰ από το όνομα μιας ομάδας,\n"
+"θα εμφανιστεί ένα σÏντομο επεξηγηματικό κείμενο για την ομάδα αυτή.\n"
+"\n"
+"ΜποÏείτε να επιλέξετε το πλαίσιο \"%s\", το οποίο είναι χÏήσιμο αν είστε "
+"εξοικειωμένοι\n"
+"με τα Ï€ÏοσφεÏόμενα πακέτα ή αν θέλετε να έχετε πλήÏη έλεγχο για το τι θα "
+"εγκατασταθεί.\n"
+"\n"
+"Αν ξεκινήσετε την εγκατάσταση σε λειτουÏγία \"%s\", μποÏείτε να "
+"αποεπιλέξετε\n"
+"όλες τις ομάδες και να αποτÏέψετε την εγκατάσταση νέων πακέτων.\n"
+"Αυτό είναι χÏήσιμο για την επιδιόÏθωση ή την ενημέÏωση μιας υπάÏχουσας "
+"εγκατάστασης.\n"
+"\n"
+"Αν αποεπιλέξετε όλες τις ομάδες κατά την Ï€Ïαγματοποίηση μιας τυπικής "
+"εγκατάστασης\n"
+"(αντί αυτήν της αναβάθμισης), θα εμφανιστεί ένα παÏάθυÏο διαλόγου "
+"Ï€Ïοτείνοντας\n"
+"διάφοÏες επιλογές για μια ελάχιστη εγκατάσταση:\n"
+"\n"
+"* \"%s\": εγκαθιστά τον ελάχιστο αÏιθμό πακέτων που είναι απαÏαίτητα για να "
+"έχετε ένα\n"
+"λειτουÏγικό γÏαφικό πεÏιβάλλον.\n"
+"\n"
+"* \"%s\": εγκαθιστά το βασικό σÏστημα μαζί με βασικά εÏγαλεία και την "
+"τεκμηÏίωσή τους.\n"
+"Αυτή η εγκατάσταση είναι κατάλληλη για τη ÏÏθμιση ενός διακομιστή.\n"
+"\n"
+"* \"%s\": θα εγκαταστήσει τον απόλυτα ελάχιστο αÏιθμό πακέτων που "
+"απαιτοÏνται\n"
+"για να έχετε ένα λειτουÏγικό σÏστημα Linux. Με Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… Ï„Ïπου την "
+"εγκατάσταση θα έχετε\n"
+"μόνο μια διεπαφή γÏαμμής εντολών. Το συνολικό μέγεθος αυτής της "
+"εγκατάστασης\n"
+"είναι πεÏίπου 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Αναβάθμιση"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Με την βασική τεκμηÏίωση"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ΠÏαγματικά ελάχιστη εγκατάσταση"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Αν επιλέξετε να εγκαταστήσετε πακέτα μεμονωμένα, ο εγκαταστάτης θα σας\n"
+"παÏουσιάσει ένα δέντÏο που πεÏιέχει όλα τα πακέτα ταξινομημένα κατά ομάδες\n"
+"και υποομάδες. Κατά την πεÏιήγησή σας στο δέντÏο, μποÏείτε να επιλέξετε "
+"ολόκληÏες\n"
+"ομάδες, υποομάδες ή μεμονωμένα πακέτα.\n"
+"\n"
+"Κάθε φοÏά που επιλέγετε ένα πακέτο στο δέντÏο, θα εμφανίζεται μια πεÏιγÏαφή "
+"στα δεξιά\n"
+"για να σας ενημεÏώνει σχετικά με το συγκεκÏιμένο πακέτο.\n"
+"\n"
+"!! Αν έχει επιλεγεί κάποιο πακέτο εξυπηÏετητή, είτε επειδή το επιλέξατε "
+"εσείς είτε επειδή\n"
+"ήταν μέÏος μιας ομάδας πακέτων, θα σας ζητηθεί να επιβεβαιώσετε την "
+"εγκατάσταση\n"
+"αυτών των εξυπηÏετητών. Εξ οÏισμοÏ, η Mageia θα ξεκινήσει αυτόματα "
+"οποιαδήποτε\n"
+"εγκατεστημένη υπηÏεσία κατά την εκκίνηση του συστήματος. Ακόμα και αν είναι "
+"ασφαλείς\n"
+"και δεν υπάÏχουν γνωστοποιημένα Ï€Ïοβλήματα κατά την κυκλοφοÏία της "
+"διανομής,\n"
+"είναι πιθανό να ανακαλÏφθηκαν Ï€Ïοβλήματα ασφαλείας μετά την ολοκλήÏωση "
+"αυτής\n"
+"της έκδοσης της Mageia. Αν δεν γνωÏίζετε τι ακÏιβώς κάνει μια συγκεκÏιμένη "
+"υπηÏεσία\n"
+"και γιατί εγκαθίσταται, τότε κάντε κλικ στο \"%s\". Κάνοντας κλικ στο \"%s\" "
+"θα εγκαταστήσετε\n"
+"τις υπηÏεσίες στο κατάστιχο και αυτές θα ξεκινήσουν αυτόματα κατά την "
+"εκκίνηση του συστήματος. !!\n"
+"\n"
+"Η επιλογή \"%s\" χÏησιμοποιείται για να απενεÏγοποιηθεί το Ï€Ïοειδοποιητικό "
+"μήνυμα που εμφανίζεται\n"
+"κάθε φοÏά που ο εγκαταστάτης επιλέγει αυτόματα ένα πακέτο για την επίλυση "
+"μιας εξάÏτησης.\n"
+"ΟÏισμένα πακέτα εξαÏτώνται από άλλα και η εγκατάσταση ενός συγκεκÏιμένου "
+"πακέτου μποÏεί\n"
+"να απαιτεί την εγκατάσταση κάποιου άλλου πακέτου. Ο εγκαταστάτης μποÏεί να "
+"Ï€ÏοσδιοÏίσει\n"
+"ποια πακέτα απαιτοÏνται για να καλÏψουν μια εξάÏτηση και να ολοκληÏώσει "
+"επιτυχώς την εγκατάσταση.\n"
+"\n"
+"Το μικÏÏŒ εικονίδιο δισκέτας στη βάση του κατάστιχου σας επιτÏέπει να "
+"φοÏτώσετε ένα κατάστιχο πακέτων\n"
+"που δημιουÏγήθηκε σε μια Ï€ÏοηγοÏμενη εγκατάσταση. Αυτό είναι χÏήσιμο αν "
+"έχετε αÏκετοÏÏ‚ υπολογιστές\n"
+"που θέλετε να διαμοÏφώσετε με τον ίδιο Ï„Ïόπο. Κάνοντας κλικ σε αυτό το "
+"εικονίδιο, θα σας ζητηθεί\n"
+"να εισαγάγετε την δισκέτα που δημιουÏγήθηκε στο τέλος μιας άλλης "
+"εγκατάστασης.\n"
+"Δείτε τη δεÏτεÏη συμβουλή του τελευταίου βήματος για το πώς να δημιουÏγήσετε "
+"μια τέτοια δισκέτα."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Αυτόματες εξαÏτήσεις"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Αυτός ο διάλογος χÏησιμοποιείται για να επιλέξετε τις υπηÏεσίες θέλετε\n"
+"να ξεκινοÏν κατά την εκκίνηση.\n"
+"\n"
+"Το DrakX θα εμφανίσει όλες τις διαθέσιμες υπηÏεσίες στην Ï„Ïέχουσα "
+"εγκατάσταση.\n"
+"Εξετάστε Ï€Ïοσεκτικά καθεμία από αυτές και αποεπιλέξτε όσες δεν χÏειάζονται "
+"κατά την εκκίνηση.\n"
+"\n"
+"Όταν επιλέγετε μια υπηÏεσία, θα εμφανίζεται ένα σÏντομο επεξηγηματικό "
+"κείμενο. Ωστόσο,\n"
+"αν δεν είστε σίγουÏος-η αν μια υπηÏεσία είναι χÏήσιμη ή όχι, είναι πιο "
+"ασφαλές να το αφήσετε ως έχει.\n"
+"\n"
+"!! Σε αυτό το στάδιο, να είστε Ï€Î¿Î»Ï Ï€Ïοσεκτικός-η αν σκοπεÏετε να "
+"χÏησιμοποιήσετε τον υπολογιστή\n"
+"σας ως διακομιστή: λογικά δεν θέλετε να ξεκινοÏν υπηÏεσίες που δεν "
+"χÏειάζεστε.\n"
+"Îα θυμάστε ότι οÏισμένες υπηÏεσίες μποÏεί να είναι επικίνδυνες αν είναι "
+"ενεÏγοποιημένες\n"
+"σε έναν διακομιστή. Γενικά, επιλέξτε μόνο τις υπηÏεσίες που Ï€Ïαγματικά "
+"χÏειάζεστε. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Το GNU/Linux διαχειÏίζεται τον χÏόνο σε GMT (Greenwich Mean Time) και τον\n"
+"μεταφÏάζει σε τοπική ÏŽÏα σÏμφωνα με τη ζώνη ÏŽÏας που έχετε επιλέξει.\n"
+"Αν η ÏŽÏα στη μητÏική σας κάÏτα είναι Ïυθμισμένη στην τοπική ÏŽÏα,\n"
+"μποÏείτε να απενεÏγοποιήσετε αυτήν την επιλογή αποεπιλέγοντας το \"%s\",\n"
+"το οποίο θα ενημεÏώσει το GNU/Linux ότι η ÏŽÏα του συστήματος και της "
+"μητÏικής κάÏτας\n"
+"είναι στην ίδια ζώνη ÏŽÏας. Αυτό είναι χÏήσιμο επίσης όταν πεÏισσότεÏα "
+"λειτουÏγικά\n"
+"συστήματα είναι εγκατεστημένα στο μηχάνημα.\n"
+"\n"
+"Η επιλογή \"%s\" θα Ïυθμίσει αυτόματα την ÏŽÏα του συστήματος μέσω ενός "
+"απομακÏυσμένου\n"
+"διακομιστή ÏŽÏας στο διαδίκτυο. Αυτό απαιτεί μια διαδικτυακή σÏνδεση.\n"
+"Συνιστάται η επιλογή ενός διακομιστή ÏŽÏας που βÏίσκεται κοντά σας.\n"
+"Αυτή η επιλογή εγκαθιστά στην Ï€Ïαγματικότητα έναν διακομιστή ÏŽÏας, ο οποίος "
+"μποÏεί\n"
+"να χÏησιμοποιηθεί και από άλλες μηχανές στο τοπικό σας δίκτυο."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Το Ïολόι του Ï…Î»Î¹ÎºÎ¿Ï ÎµÎ¯Î½Î±Î¹ Ïυθμισμένο σε ÏŽÏα GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Αυτόματος συγχÏονισμός της ÏŽÏας"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"ΚάÏτα γÏαφικών\n"
+"\n"
+"Ο εγκαταστάτης θα εντοπίσει και θα Ïυθμίσει αυτόματα την κάÏτα γÏαφικών\n"
+"που είναι εγκατεστημένη στο μηχάνημά σας. Σε πεÏίπτωση που η επιλογή\n"
+"δεν είναι σωστή, μποÏείτε να επιλέξετε από αυτό το κατάστιχο την κάÏτα σας.\n"
+"\n"
+"Σε πεÏίπτωση που διατίθενται διαφοÏετικοί διακομιστές για την κάÏτα σας,\n"
+"με ή χωÏίς επιτάχυνση 3D, θα σας ζητηθεί να επιλέξετε τον διακομιστή\n"
+"που ταιÏιάζει καλÏτεÏα στις ανάγκες σας."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Το X (X Window System) είναι η καÏδιά του γÏÎ±Ï†Î¹ÎºÎ¿Ï Ï€ÎµÏιβάλλοντος\n"
+"του GNU/Linux, στην οποία βασίζονται όλα τα γÏαφικά πεÏιβάλλοντα\n"
+"(KDE, GNOME, AfterStep, WindowMaker, κ.λπ.) που πεÏιλαμβάνονται στη Mageia.\n"
+"\n"
+"Θα δείτε ένα κατάστιχο με διάφοÏες παÏαμέτÏους ώστε να επιτÏχετε\n"
+"την βέλτιστη γÏαφική απεικόνιση.\n"
+"\n"
+"ΚάÏτα γÏαφικών\n"
+"\n"
+" Ο εγκαταστάτης συνήθως ανιχνεÏει και Ïυθμίζει αυτόματα την κάÏτα "
+"γÏαφικών\n"
+"που είναι εγκατεστημένη στον υπολογιστή σας. Αν η ανίχνευση δεν είναι "
+"σωστή,\n"
+"μποÏείτε να επιλέξετε την σωστή κάÏτα από το κατάστιχο.\n"
+"\n"
+" Στην πεÏίπτωση που υπάÏχουν διαφοÏετικοί διαθέσιμοι εξυπηÏετητές για την "
+"κάÏτα σας,\n"
+"με ή χωÏίς επιτάχυνση 3D, θα σας ζητηθεί να επιλέξετε αυτόν που θεωÏείτε τον "
+"πιο κατάλληλο.\n"
+"\n"
+"\n"
+"\n"
+"Οθόνη\n"
+"\n"
+" Κανονικά, ο εγκαταστάτης θα ανιχνεÏσει και θα Ïυθμίσει αυτόματα την "
+"οθόνη.\n"
+"Αν η ανίχνευση δεν είναι σωστή, μποÏείτε να επιλέξετε την σωστή οθόνη από το "
+"κατάστιχο.\n"
+"\n"
+"\n"
+"\n"
+"Ανάλυση \n"
+" Εδώ μποÏείτε να επιλέξετε τις διαθέσιμες αναλÏσεις και βάθη χÏώματος για\n"
+"το γÏαφικό σας υλικό. Επιλέξτε αυτήν που ταιÏιάζει καλÏτεÏα στις ανάγκες "
+"σας\n"
+"(μποÏείτε να την αλλάξετε και μετά την εγκατάσταση). Μια Ï€Ïοεπισκόπηση\n"
+"της επιλεγμένης διαμόÏφωσης εμφανίζεται στην εικόνα της οθόνης.\n"
+"\n"
+"\n"
+"\n"
+"Δοκιμή \n"
+" Ανάλογα με το υλικό σας, αυτή η επιλογή μποÏεί να μην εμφανιστεί.\n"
+"\n"
+" Το σÏστημα θα Ï€Ïοσπαθήσει να ανοίξει μια γÏαφική οθόνη στη ζητοÏμενη "
+"ανάλυση.\n"
+"Αν δείτε το δοκιμαστικό μήνυμα κατά τη διάÏκεια της δοκιμής και απαντήσετε "
+"\"%s\",\n"
+"τότε το DrakX θα Ï€ÏοχωÏήσει στο επόμενο βήμα. Αν δεν το δείτε, αυτό "
+"σημαίνει\n"
+"ότι κάποιο μέÏος της αυτόματης διαμόÏφωσης ήταν λανθασμένο και η δοκιμή\n"
+"θα τεÏματιστεί αυτόματα μετά από 12 δευτεÏόλεπτα, επιστÏέφοντάς σας στο "
+"μενοÏ.\n"
+"Αλλάξτε τις Ïυθμίσεις μέχÏι να επιτÏχετε την σωστή γÏαφική απεικόνιση.\n"
+"\n"
+"\n"
+"\n"
+"Επιλογές\n"
+"\n"
+" Σε αυτό το στάδιο, μποÏείτε να επιλέξετε αν θέλετε το σÏστημά σας να\n"
+"μεταβαίνει αυτόματα σε γÏαφικό πεÏιβάλλον κατά την εκκίνηση.\n"
+"ΠÏοφανώς, μποÏεί να θέλετε να επιλέξετε \"%s\" αν ο υπολογιστής σας\n"
+"Ï€ÏοοÏίζεται να λειτουÏγήσει ως διακομιστής ή αν δεν καταφέÏατε\n"
+"να Ïυθμίσετε σωστά την οθόνη."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Οθόνη\n"
+"\n"
+" Κανονικά, ο εγκαταστάτης θα εντοπίσει και θα Ïυθμίσει αυτόματα\n"
+"την οθόνη που είναι συνδεδεμένη στο μηχάνημά σας. Αν δεν κάνει την\n"
+"σωστή επιλογή, μποÏείτε να επιλέξετε από αυτό το κατάστιχο την\n"
+"οθόνη που είναι συνδεδεμένη στον υπολογιστή σας."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ανάλυση\n"
+"\n"
+" Εδώ μποÏείτε να επιλέξετε τις διαθέσιμες αναλÏσεις και τα βάθη χÏώματος\n"
+"για το γÏαφικό σας υλικό. Επιλέξτε αυτό που ταιÏιάζει καλÏτεÏα στις ανάγκες "
+"σας\n"
+"(θα μποÏείτε να κάνετε αλλαγές μετά την εγκατάσταση).\n"
+"Ένα δείγμα της επιλεγμένης διαμόÏφωσης εμφανίζεται στην εικόνα της οθόνης."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Στην πεÏίπτωση που υπάÏχουν διαθέσιμοι διαφοÏετικοί διακομιστές\n"
+"για την κάÏτα σας, με ή χωÏίς επιτάχυνση 3D, θα σας ζητηθεί να επιλέξετε\n"
+"τον διακομιστή που εξυπηÏετεί καλÏτεÏα τις ανάγκες σας."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Επιλογές\n"
+"\n"
+" Σε αυτό το στάδιο, μποÏείτε να επιλέξετε αν θέλετε το σÏστημά σας να\n"
+"μεταβαίνει αυτόματα σε γÏαφικό πεÏιβάλλον κατά την εκκίνηση.\n"
+"ΠÏοφανώς, μποÏεί να θέλετε να επιλέξετε \"%s\" αν ο υπολογιστής σας\n"
+"Ï€ÏοοÏίζεται να λειτουÏγήσει ως διακομιστής ή αν δεν καταφέÏατε\n"
+"να Ïυθμίσετε σωστά την οθόνη."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"ΤώÏα Ï€Ïέπει να αποφασίσετε Ï€Î¿Ï Î¸Î­Î»ÎµÏ„Îµ να εγκαταστήσετε το λειτουÏγικό\n"
+"σÏστημα Mageia στον σκληÏÏŒ σας δίσκο. Αν ο σκληÏός σας δίσκος είναι κενός\n"
+"ή αν ένα υπάÏχον λειτουÏγικό σÏστημα χÏησιμοποιεί όλον τον διαθέσιμο χώÏο,\n"
+"θα χÏειαστεί να τον διαμεÏίσετε. Βασικά, η κατάτμηση ενός σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï… "
+"σημαίνει\n"
+"την λογική διαίÏεσή του για την δημιουÏγία του απαÏαίτητου χώÏου για την "
+"εγκατάσταση\n"
+"του νέου σας συστήματος Mageia.\n"
+"\n"
+"Επειδή η διαδικασία της κατάτμησης ενός σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï… είναι συνήθως μη "
+"αναστÏέψιμη\n"
+"και μποÏεί να οδηγήσει σε απώλεια δεδομένων, μποÏεί να φανεί Ï„Ïομακτική και "
+"αγχωτική\n"
+"για έναν άπειÏο χÏήστη. Ευτυχώς, το DrakX πεÏιλαμβάνει έναν οδηγό που "
+"απλοποιεί\n"
+"αυτήν την διαδικασία. ΠÏιν Ï€ÏοχωÏήσετε σε αυτό το βήμα, διαβάστε Ï€Ïοσεκτικά\n"
+"την υπόλοιπη ενότητα και, πάνω απ’ όλα, πάÏτε τον χÏόνο σας.\n"
+"\n"
+"Ανάλογα με τη διαμόÏφωση του σκληÏÎ¿Ï ÏƒÎ±Ï‚ δίσκου, υπάÏχουν διάφοÏες "
+"διαθέσιμες επιλογές:\n"
+"\n"
+" *.\"%s\". Αυτή η επιλογή θα εκτελέσει αυτόματη κατάτμηση των κενών σας "
+"δίσκων.\n"
+"Αν επιλέξετε αυτήν την επιλογή, δεν θα εμφανιστοÏν πεÏαιτέÏω Ï€ÏοτÏοπές.\n"
+"\n"
+" *.\"%s\". Ο οδηγός έχει εντοπίσει μία ή πεÏισσότεÏες υπάÏχουσες κατατμήσεις "
+"Linux\n"
+"στον σκληÏÏŒ σας δίσκο. Αν θέλετε να τις χÏησιμοποιήσετε, επιλέξτε αυτήν την "
+"επιλογή.\n"
+"Στη συνέχεια, θα σας ζητηθεί να επιλέξετε τα σημεία Ï€ÏοσάÏτησης που "
+"σχετίζονται\n"
+"με κάθε κατάτμηση. Τα κληÏονομημένα σημεία Ï€ÏοσάÏτησης είναι ήδη επιλεγμένα\n"
+"και ως επί το πλείστον είναι καλή ιδέα να τα διατηÏήσετε.\n"
+"\n"
+" *.\"%s\". Αν τα Microsoft Windows είναι εγκατεστημένα στον σκληÏÏŒ σας "
+"δίσκο\n"
+"και καταλαμβάνουν όλον τον διαθέσιμο χώÏο, θα χÏειαστεί να δημιουÏγήσετε\n"
+"ελεÏθεÏο χώÏο για το GNU/Linux. Για να το κάνετε αυτό, μποÏείτε είτε να "
+"διαγÏάψετε\n"
+"την κατάτμηση των Microsoft Windows και όλα τα δεδομένα της\n"
+"(δείτε την επιλογή ``ΔιαγÏαφή ολόκληÏου του δίσκου\") είτε να αλλάξετε το "
+"μέγεθος\n"
+"της κατάτμησης FAT ή NTFS των Windows. Η αλλαγή μεγέθους μποÏεί να γίνει\n"
+"χωÏίς απώλεια δεδομένων, εφόσον έχετε Ï€Ïοηγουμένως εκτελέσει ανασυγκÏότηση\n"
+"του δίσκου στα Windows. Συνιστάται να δημιουÏγήσετε αντίγÏαφα ασφαλείας\n"
+"των δεδομένων σας Ï€Ïιν Ï€ÏοχωÏήσετε. Αυτή η επιλογή Ï€Ïοτείνεται αν θέλετε\n"
+"να χÏησιμοποιείτε και την Mageia και τα Windows στον ίδιο υπολογιστή.\n"
+"\n"
+" ΠÏιν επιλέξετε αυτήν την επιλογή, κατανοήστε ότι μετά την διαδικασία "
+"αυτή,\n"
+"το μέγεθος της κατάτμησης των Windows θα είναι μικÏότεÏο, οπότε θα έχετε\n"
+"λιγότεÏο ελεÏθεÏο χώÏο για αποθήκευση δεδομένων ή εγκατάσταση νέου "
+"λογισμικοÏ.\n"
+"\n"
+" * \"%s\". Αν θέλετε να διαγÏάψετε όλα τα δεδομένα και όλες τις κατατμήσεις\n"
+"που υπάÏχουν στον σκληÏÏŒ σας δίσκο και να τον αντικαταστήσετε πλήÏως με το "
+"νέο σας\n"
+"σÏστημα Mageia, επιλέξτε αυτήν την επιλογή. ΠÏοσέξτε διότι δεν θα μποÏείτε "
+"να αναιÏέσετε\n"
+"αυτήν την διαδικασία μόλις την επιβεβαιώσετε.\n"
+"\n"
+" !! Αν επιλέξετε αυτήν την επιλογή, όλα τα δεδομένα στον δίσκο σας θα "
+"διαγÏαφοÏν.!!\n"
+"\n"
+" * \"%s\". Αυτή η επιλογή εμφανίζεται όταν ο σκληÏός σας δίσκος "
+"καταλαμβάνεται\n"
+"εξ ολοκλήÏου από τα Microsoft Windows. Αν την επιλέξετε, όλα τα δεδομένα\n"
+"στον δίσκο θα διαγÏαφοÏν και η διαδικασία εγκατάστασης θα ξεκινήσει από την "
+"αÏχή\n"
+"με νέα κατάτμηση.\n"
+"\n"
+" !! Αν επιλέξετε αυτήν την επιλογή, όλα τα δεδομένα στον δίσκο σας θα "
+"χαθοÏν. !!\n"
+"\n"
+" * \"%s\". Επιλέξτε αυτήν την επιλογή αν θέλετε να διαμεÏίσετε χειÏοκίνητα "
+"τον σκληÏÏŒ σας δίσκο.\n"
+"ΠÏοσοχή, αυτή είναι μια ισχυÏή αλλά επικίνδυνη επιλογή και μποÏεί Ï€Î¿Î»Ï "
+"εÏκολα\n"
+"να οδηγήσει σε οÏιστική απώλεια όλων των δεδομένων σας.\n"
+"Συνιστάται μόνο αν έχετε Ï€ÏοηγοÏμενη εμπειÏία με διαμεÏίσεις δίσκων.\n"
+"Για πεÏισσότεÏες οδηγίες σχετικά με τη χÏήση του εÏγαλείου DiskDrake,\n"
+"ανατÏέξτε στην ενότητα ``ΔιαχείÏιση των κατατμήσεών σας\" στον ``Οδηγό "
+"Εκκίνησης\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ΧÏήση μιας υπάÏχουσας κατάτμησης"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "ΧÏήση του ελεÏθεÏου χώÏου στην κατάτμηση Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ΔιαγÏαφή ολόκληÏου του δίσκου"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Η εγκατάσταση ολοκληÏώθηκε και το σÏστημά σας GNU/Linux είναι\n"
+"έτοιμο Ï€Ïος χÏήση. Απλώς κάντε κλικ στο \"%s\" για να επανεκκινήσετε το "
+"σÏστημα.\n"
+"Μην ξεχάσετε να αφαιÏέσετε το μέσο εγκατάστασης (CD-ROM ή δισκέτα).\n"
+"Το Ï€Ïώτο Ï€Ïάγμα που θα δείτε Î±Ï†Î¿Ï Î¿ υπολογιστής σας ολοκληÏώσει τις δοκιμές "
+"υλικοÏ\n"
+"είναι το Î¼ÎµÎ½Î¿Ï ÎµÎºÎºÎ¯Î½Î·ÏƒÎ·Ï‚, το οποίο σας δίνει την επιλογή του λειτουÏÎ³Î¹ÎºÎ¿Ï "
+"συστήματος που θέλετε να εκκινήσετε.\n"
+"\n"
+"Το κουμπί \"%s\" εμφανίζει δÏο ακόμα κουμπιά για να:\n"
+"\n"
+" * \"%s\": σας επιτÏέπει να δημιουÏγήσετε μια δισκέτα εγκατάστασης η οποία "
+"θα\n"
+"εκτελέσει αυτόματα μια ολόκληÏη εγκατάσταση χωÏίς τη βοήθεια ενός χειÏιστή,\n"
+"παÏομοίως με την εγκατάσταση που μόλις διαμοÏφώσατε.\n"
+"\n"
+" Σημειώστε ότι υπάÏχουν δÏο διαφοÏετικές επιλογές Î±Ï†Î¿Ï ÎºÎ¬Î½ÎµÏ„Îµ κλικ σε "
+"αυτό\n"
+"το κουμπί:\n"
+"\n"
+" * \"%s\". Αυτή είναι μια ημι-αυτοματοποιημένη εγκατάσταση. Το βήμα της "
+"κατάτμησης\n"
+"είναι η μόνη διαδÏαστική διαδικασία.\n"
+"\n"
+" * \"%s\". ΠλήÏως αυτοματοποιημένη εγκατάσταση: ο σκληÏός δίσκος "
+"ξαναγÏάφεται εντελώς,\n"
+"όλα τα δεδομένα χάνονται.\n"
+"\n"
+" Αυτή η δυνατότητα είναι Ï€Î¿Î»Ï Ï‡Ïήσιμη όταν εγκαθιστάτε σε πολλές "
+"παÏόμοιες\n"
+"μηχανές. Δείτε την ενότητα Auto install στην ιστοσελίδα μας για "
+"πεÏισσότεÏες\n"
+"πληÏοφοÏίες.\n"
+"\n"
+" * \"%s\"(*): αποθηκεÏει μια λίστα από τα πακέτα που επιλέχθηκαν σε αυτήν "
+"την εγκατάσταση.\n"
+"Για να χÏησιμοποιήσετε αυτήν την επιλογή με άλλη εγκατάσταση, εισαγάγετε τη "
+"δισκέτα και\n"
+"ξεκινήστε την εγκατάσταση. Στην Ï€ÏοτÏοπή, πατήστε το πλήκτÏο [F1], "
+"πληκτÏολογήστε >>linux\n"
+"defcfg=\"floppy\"<< και πατήστε το πλήκτÏο [Enter].\n"
+"\n"
+"(*) ΧÏειάζεστε μια δισκέτα διαμοÏφωμένη σε FAT. Για να δημιουÏγήσετε μία σε "
+"GNU/Linux,\n"
+"πληκτÏολογήστε \"mformat a:\", ή \"fdformat /dev/fd0\" ακολουθοÏμενο από "
+"\"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "ΔημιουÏγία δισκέτας αυτόματης εγκατάστασης"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Επανάληψη"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Αυτοματοποιημένος"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Αποθήκευση της επιλογής των πακέτων"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Αν επιλέξατε να επαναχÏησιμοποιήσετε κάποιες παλιές κατατμήσεις GNU/Linux, "
+"ίσως θέλετε να\n"
+"τις επαναμοÏφοποιήσετε και να διαγÏάψετε τα δεδομένα που πεÏιέχουν. Για να "
+"το κάνετε, παÏακαλώ\n"
+"επιλέξτε και αυτές τις κατατμήσεις.\n"
+"\n"
+"Σημειώστε ότι δεν είναι απαÏαίτητο να επαναμοÏφοποιήσετε όλες τις "
+"Ï€ÏοϋπάÏχουσες\n"
+"κατατμήσεις. ΠÏέπει να επαναμοÏφοποιήσετε τις κατατμήσεις που πεÏιέχουν το "
+"λειτουÏγικό\n"
+"σÏστημα (όπως \"/\", \"/usr\" ή \"/var\"), αλλά δεν χÏειάζεται να "
+"επαναμοÏφοποιήσετε\n"
+"κατατμήσεις που πεÏιέχουν δεδομένα που θέλετε να διατηÏήσετε (συνήθως \"/"
+"home\").\n"
+"\n"
+"ΠαÏακαλώ να είστε Ï€Ïοσεκτικοί κατά την επιλογή των κατατμήσεων. Μετά την "
+"ολοκλήÏωση της μοÏφοποίησης,\n"
+"όλα τα δεδομένα στις επιλεγμένες κατατμήσεις θα διαγÏαφοÏν και δεν θα "
+"μποÏείτε να τα ανακτήσετε.\n"
+"\n"
+"Κάντε κλικ στο \"%s\" όταν είστε έτοιμοι να μοÏφοποιήσετε τις κατατμήσεις.\n"
+"\n"
+"Κάντε κλικ στο \"%s\" αν θέλετε να επιλέξετε άλλη κατάτμηση για την "
+"εγκατάσταση του νέου\n"
+"λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚ Mageia.\n"
+"\n"
+"Κάντε κλικ στο \"%s\" αν επιθυμείτε να επιλέξετε κατατμήσεις οι οποίες θα "
+"ελεγχθοÏν για\n"
+"κατεστÏαμμένα μπλοκ στον δίσκο."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"ΜέχÏι τη στιγμή που θα εγκαταστήσετε τη Mageia, είναι πιθανό\n"
+"να έχουν γίνει κάποιες ενημεÏώσεις σε πακέτα από την αÏχική έκδοση.\n"
+"ΜποÏεί να έχουν διοÏθωθεί σφάλματα και να έχουν επιλυθεί ζητήματα\n"
+"ασφαλείας. Για να μποÏέσετε να επωφεληθείτε από αυτές τις ενημεÏώσεις,\n"
+"μποÏείτε να τις λάβετε από το διαδίκτυο. Επιλέξτε \"%s\" αν έχετε μια "
+"λειτουÏγική\n"
+"σÏνδεση στο διαδίκτυο, ή \"%s\" αν Ï€Ïοτιμάτε να εγκαταστήσετε τα ενημεÏωμένα "
+"πακέτα αÏγότεÏα.\n"
+"\n"
+"Η επιλογή \"%s\" θα εμφανίσει μια λίστα με τοποθεσίες Î¹ÏƒÏ„Î¿Ï Î±Ï€ÏŒ τις οποίες "
+"μποÏοÏν\n"
+"να ληφθοÏν ενημεÏώσεις. Θα Ï€Ïέπει να επιλέξετε μία που να είναι κοντά σας.\n"
+"Θα εμφανιστεί ένα δέντÏο επιλογής πακέτων: εξετάστε την επιλογή και πατήστε "
+"\"%s\"\n"
+"για να λάβετε και να εγκαταστήσετε το επιλεγμένο πακέτο(α), ή \"%s\" για να "
+"το ακυÏώσετε."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Σε αυτό το σημείο, το DrakX θα σας επιτÏέψει να επιλέξετε το επίπεδο "
+"ασφαλείας\n"
+"που επιθυμείτε για το μηχάνημά σας. Ως γενικός κανόνας, το επίπεδο "
+"ασφαλείας\n"
+"θα Ï€Ïέπει να είναι υψηλότεÏο εάν το μηχάνημα Ï€Ïόκειται να πεÏιέχει κÏίσιμα "
+"δεδομένα\n"
+"ή να εκτίθεται απευθείας στο Διαδίκτυο. Ένα υψηλότεÏο επίπεδο ασφαλείας "
+"επιτυγχάνεται\n"
+"γενικά σε βάÏος της ευκολίας χÏήσης.\n"
+"\n"
+"Εάν δεν ξέÏετε τι να επιλέξετε, κÏατήστε την Ï€Ïοεπιλεγμένη επιλογή.\n"
+"Θα μποÏείτε να την αλλάξετε αÏγότεÏα με το εÏγαλείο draksec,\n"
+"που είναι μέÏος του ΚέντÏου Ελέγχου Mageia.\n"
+"\n"
+"ΣυμπληÏώστε το πεδίο «%s» με τη διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου\n"
+"του υπεÏθυνου για την ασφάλεια. Τα μηνÏματα ασφαλείας θα αποστέλλονται\n"
+"σε αυτήν τη διεÏθυνση."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ΔιαχειÏιστής ασφαλείας"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Σε αυτό το σημείο, Ï€Ïέπει να επιλέξετε ποιες κατατμήσεις θα χÏησιμοποιηθοÏν\n"
+"για την εγκατάσταση του συστήματος Mageia. Εάν έχουν ήδη οÏιστεί οι "
+"κατατμήσεις,\n"
+"είτε από Ï€ÏοηγοÏμενη εγκατάσταση του GNU/Linux είτε από κάποιο άλλο εÏγαλείο "
+"κατάτμησης,\n"
+"μποÏείτε να χÏησιμοποιήσετε τις υπάÏχουσες κατατμήσεις.\n"
+"ΔιαφοÏετικά, Ï€Ïέπει να οÏίσετε τις κατατμήσεις του σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï….\n"
+"\n"
+"Για την δημιουÏγία των κατατμήσεων, Ï€Ïέπει Ï€Ïώτα να επιλέξετε έναν σκληÏÏŒ "
+"δίσκο.\n"
+"ΜποÏείτε να επιλέξετε τον δίσκο για κατάτμηση κάνοντας κλικ στο ``hda'' για "
+"τον Ï€Ïώτο IDE δίσκο,\n"
+"στο ``hdb'' για τον δεÏτεÏο, ``sda'' για τον Ï€Ïώτο SCSI δίσκο κ.ο.κ.\n"
+"\n"
+"Για την κατάτμηση του επιλεγμένου σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…, μποÏείτε να "
+"χÏησιμοποιήσετε τις εξής επιλογές:\n"
+"\n"
+" * \"%s\": αυτή η επιλογή διαγÏάφει όλες τις κατατμήσεις στον επιλεγμένο "
+"σκληÏÏŒ δίσκο.\n"
+"\n"
+" * \"%s\": αυτή η επιλογή σας επιτÏέπει να δημιουÏγήσετε αυτόματα "
+"κατατμήσεις ext4 και swap\n"
+"στον ελεÏθεÏο χώÏο του σκληÏÎ¿Ï ÏƒÎ±Ï‚ δίσκου.\n"
+"\n"
+"\"%s\": παÏέχει Ï€Ïόσβαση σε επιπλέον λειτουÏγίες:\n"
+"\n"
+" * \"%s\": αποθηκεÏει τον πίνακα κατατμήσεων σε μια δισκέτα. ΧÏήσιμο για "
+"μελλοντική επαναφοÏά\n"
+"του πίνακα κατατμήσεων εάν χÏειαστεί. Συνιστάται ανεπιφÏλακτα να εκτελέσετε "
+"αυτό το βήμα.\n"
+"\n"
+" * \"%s\": επιτÏέπει την επαναφοÏά ενός Ï€Ïοηγουμένως αποθηκευμένου πίνακα "
+"κατατμήσεων από μια δισκέτα.\n"
+"\n"
+" * \"%s\": εάν ο πίνακας κατατμήσεων είναι κατεστÏαμμένος, μποÏείτε να "
+"Ï€Ïοσπαθήσετε να τον ανακτήσετε\n"
+"χÏησιμοποιώντας αυτήν την επιλογή. ΠαÏακαλώ να είστε Ï€Ïοσεκτικοί, καθώς δεν "
+"λειτουÏγεί πάντα.\n"
+"\n"
+" * \"%s\": ακυÏώνει όλες τις αλλαγές και επαναφοÏτώνει τον αÏχικό πίνακα "
+"κατατμήσεων του σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï….\n"
+"\n"
+" * \"%s\": αποεπιλέγοντας αυτήν την επιλογή, οι χÏήστες θα Ï€Ïέπει να "
+"Ï€ÏοσαÏτοÏν\n"
+"και να αποπÏοσαÏτοÏν χειÏοκίνητα τα αφαιÏοÏμενα μέσα, όπως δισκέτες και CD-"
+"ROM.\n"
+"\n"
+" * \"%s\": χÏησιμοποιήστε αυτήν την επιλογή εάν θέλετε να χÏησιμοποιήσετε "
+"έναν οδηγό\n"
+"για την κατάτμηση του σκληÏÎ¿Ï ÏƒÎ±Ï‚ δίσκου. Συνιστάται εάν δεν έχετε καλή "
+"κατανόηση\n"
+"της λειτουÏγίας κατάτμησης.\n"
+"\n"
+" * \"%s\": χÏησιμοποιήστε αυτήν την επιλογή για να ακυÏώσετε τις αλλαγές "
+"σας.\n"
+"\n"
+" * \"%s\": επιτÏέπει επιπλέον ενέÏγειες στις κατατμήσεις (Ï„Ïπος, επιλογές, "
+"μοÏφοποίηση)\n"
+"και παÏέχει πεÏισσότεÏες πληÏοφοÏίες για τον σκληÏÏŒ δίσκο.\n"
+"\n"
+" * \"%s\": όταν ολοκληÏώσετε την κατάτμηση του σκληÏÎ¿Ï ÏƒÎ±Ï‚ δίσκου, αυτή η "
+"επιλογή\n"
+"θα αποθηκεÏσει τις αλλαγές σας στον δίσκο.\n"
+"\n"
+"Κατά τον οÏισμό του μεγέθους μιας κατάτμησης, μποÏείτε να καθοÏίσετε\n"
+"με ακÏίβεια το μέγεθός της χÏησιμοποιώντας τα πλήκτÏα βέλους του "
+"πληκτÏολογίου σας.\n"
+"\n"
+"Σημείωση: μποÏείτε να επιλέξετε οποιαδήποτε επιλογή χÏησιμοποιώντας το "
+"πληκτÏολόγιο.\n"
+"ΠεÏιηγηθείτε στις κατατμήσεις χÏησιμοποιώντας το [Tab] και τα βέλη [Πάνω/"
+"Κάτω].\n"
+"\n"
+"Όταν μια κατάτμηση είναι επιλεγμένη, μποÏείτε να χÏησιμοποιήσετε:\n"
+"\n"
+" * Ctrl-c για να δημιουÏγήσετε μια νέα κατάτμηση (όταν έχει επιλεγεί μια "
+"κενή κατάτμηση).\n"
+"\n"
+" * Ctrl-d για να διαγÏάψετε μια κατάτμηση.\n"
+"\n"
+" * Ctrl-m για να οÏίσετε το σημείο Ï€ÏοσάÏτησης.\n"
+"\n"
+"Για να λάβετε πληÏοφοÏίες σχετικά με τους διαθέσιμους Ï„Ïπους συστημάτων "
+"αÏχείων,\n"
+"παÏακαλώ διαβάστε το κεφάλαιο ext2FS από το ``ΕγχειÏίδιο ΑναφοÏάς''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Αποθήκευση του πίνακα κατάτμησης"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "ΕπαναφοÏά του πίνακα κατάτμησης"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Διάσωση του πίνακα της κατάτμησης"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Αυτόματη Ï€ÏοσάÏτηση του αφαιÏουμένου μέσου"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Οδηγός"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "ΑναίÏεση"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Εναλλαγή Î¼ÎµÏ„Î±Î¾Ï Ï„Ï…Ï€Î¹ÎºÎ®Ï‚/Ï€ÏοχωÏημένης λειτουÏγίας"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Έχουν εντοπιστεί πεÏισσότεÏες από μία κατατμήσεις Microsoft στον σκληÏÏŒ σας "
+"δίσκο.\n"
+"ΠαÏακαλώ επιλέξτε την κατάτμηση που θέλετε να αλλάξετε μέγεθος για να "
+"εγκαταστήσετε\n"
+"το νέο σας λειτουÏγικό σÏστημα Mageia.\n"
+"\n"
+"Κάθε κατάτμηση παÏατίθεται ως εξής: \"Όνομα Linux\", \"Όνομα Windows\", "
+"\"ΧωÏητικότητα\".\n"
+"\n"
+"\"Δομή του \"Ονόματος Linux\": \"ΤÏπος σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…\", \"ΑÏιθμός σκληÏÎ¿Ï "
+"δίσκου\", \"ΑÏιθμός κατάτμησης\" (Ï€.χ., hda1).\n"
+"\n"
+"Ο \"ΤÏπος σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…\" είναι \"hd\" αν είναι IDE σκληÏός δίσκος και "
+"\"sd\" αν είναι SCSI σκληÏός δίσκος.\n"
+"\n"
+"\"ΑÏιθμός σκληÏÎ¿Ï Î´Î¯ÏƒÎºÎ¿Ï…: ΠÏόκειται πάντα για ένα γÏάμμα μετά το hd ή το "
+"sd.\n"
+"\n"
+"Για IDE σκληÏοÏÏ‚ δίσκους:\n"
+" - \"a\" κÏÏιος δίσκος στον Ï€ÏωτεÏοντα IDE ελεγκτή.\n"
+" - \"b\" βοηθητικός δίσκος στον Ï€ÏωτεÏοντα IDE ελεγκτή.\n"
+" - \"c\" κÏÏιος δίσκος στον δευτεÏεÏοντα IDE ελεγκτή.\n"
+" - \"d\" βοηθητικός δίσκος στον δευτεÏεÏοντα IDE ελεγκτή.\n"
+"\n"
+"Για SCSI σκληÏοÏÏ‚ δίσκους:\n"
+" -\"a\" ο δίσκος με το χαμηλότεÏο SCSI ID.\n"
+" - \"b\" ο δίσκος με το δεÏτεÏο χαμηλότεÏο SCSI ID, κ.ο.κ.\n"
+"\n"
+"- Όνομα Windows:\n"
+" Είναι το γÏάμμα που αντιστοιχεί στον σκληÏÏŒ δίσκο στα Windows (ο Ï€Ïώτος "
+"δίσκος ή η Ï€Ïώτη κατάτμηση ονομάζεται \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: ελέγξτε την Ï„Ïέχουσα επιλογή χώÏας. Αν δεν βÏίσκεστε σε αυτήν τη χώÏα,"
+"κάντε κλικ στο κουμπί «%s» και επιλέξτε άλλη. Αν η χώÏα σας δεν υπάÏχει "
+"στοκατάστιχο, κάντε κλικ στο κουμπί «%s» για να δείτε το πλήÏες κατάστιχο "
+"χωÏών."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Αυτό το βήμα ενεÏγοποιείται μόνο αν έχει εντοπιστεί υπάÏχουσα κατάτμηση\n"
+"GNU/Linux στον υπολογιστή σας.\n"
+"\n"
+"Το DrakX χÏειάζεται τώÏα να γνωÏίζει αν επιθυμείτε να Ï€Ïαγματοποιήσετε μια\n"
+"νέα εγκατάσταση ή μια αναβάθμιση ενός υπάÏχοντος συστήματος Mageia:\n"
+"\n"
+" * \"%s\". Στις πεÏισσότεÏες πεÏιπτώσεις, αυτή η επιλογή διαγÏάφει πλήÏως το "
+"παλιό σÏστημα.\n"
+"Ωστόσο, ανάλογα με το υπάÏχον σχήμα κατάτμησης, μποÏείτε να αποτÏέψετε τη "
+"διαγÏαφή\n"
+"οÏισμένων δεδομένων σας (ιδίως των Ï€Ïοσωπικών καταλόγων home).\n"
+"Αν επιθυμείτε να αλλάξετε τον Ï„Ïόπο κατάτμησης των σκληÏών σας δίσκων ή να "
+"Ï„Ïοποποιήσετε\n"
+"το σÏστημα αÏχείων, θα Ï€Ïέπει να επιλέξετε αυτήν την επιλογή.\n"
+"\n"
+" * \"%s\". Αυτή η κλάση εγκατάστασης σας επιτÏέπει να ενημεÏώσετε τα πακέτα\n"
+"που είναι ήδη εγκατεστημένα στο Mageia σÏστημά σας.\n"
+"Το υπάÏχον σχήμα κατάτμησης και τα Ï€Ïοσωπικά δεδομένα σας δεν θα "
+"Ï„ÏοποποιηθοÏν.\n"
+"Τα πεÏισσότεÏα από τα υπόλοιπα βήματα ÏÏθμισης παÏαμένουν διαθέσιμα\n"
+"και είναι παÏόμοια με αυτά μιας κανονικής εγκατάστασης.\n"
+"\n"
+"Η χÏήση της επιλογής \"Αναβάθμιση\" συνιστάται μόνο για συστήματα Mageia "
+"έκδοσης 8.1 ή νεότεÏης.Η αναβάθμιση από παλαιότεÏες εκδόσεις του Mageia δεν "
+"συνιστάται."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Ανάλογα με τη γλώσσα που επιλέξατε (), το DrakX θα επιλέξει αυτόματα\n"
+"έναν συγκεκÏιμένο Ï„Ïπο ÏÏθμισης πληκτÏολογίου.\n"
+"Ελέγξτε αν η επιλογή σας εξυπηÏετεί ή επιλέξτε μια διαφοÏετική διάταξη "
+"πληκτÏολογίου.\n"
+"\n"
+"Επίσης, μποÏεί να μην έχετε πληκτÏολόγιο που να αντιστοιχεί ακÏιβώς στη "
+"γλώσσα σας\n"
+"για παÏάδειγμα, αν είστε Ελβετός που μιλάει αγγλικά, μποÏεί να έχετε "
+"ελβετικό πληκτÏολόγιο.\n"
+"Ή αν μιλάτε αγγλικά και βÏίσκεστε στο Κεμπέκ, μποÏεί να βÏεθείτε σε παÏόμοια "
+"κατάσταση,\n"
+"όπου η μητÏική σας γλώσσα και η χώÏα στην οποία αντιστοιχεί το πληκτÏολόγιό "
+"σας δεν ταιÏιάζουν.\n"
+"Σε κάθε πεÏίπτωση, αυτό το βήμα της εγκατάστασης σάς επιτÏέπει να επιλέξετε "
+"κατάλληλο\n"
+"πληκτÏολόγιο από μια λίστα.\n"
+"\n"
+"Κάντε κλικ στο κουμπί «%s» για να εμφανιστεί η λίστα με τα υποστηÏιζόμενα "
+"πληκτÏολόγια.\n"
+"\n"
+"Αν επιλέξετε διάταξη πληκτÏολογίου που βασίζεται σε μη λατινικό αλφάβητο,\n"
+"το επόμενο παÏάθυÏο διαλόγου θα σας επιτÏέψει να οÏίσετε το πλήκτÏο που\n"
+"θα αλλάζει τη διάταξη Î¼ÎµÏ„Î±Î¾Ï Î»Î±Ï„Î¹Î½Î¹ÎºÎ®Ï‚ και μη λατινικής."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Το Ï€Ïώτο βήμα είναι να επιλέξετε τη γλώσσα της Ï€Ïοτίμησής σας.\n"
+"\n"
+"Η επιλογή γλώσσας επηÏεάζει τον εγκαταστάτη, την τεκμηÏίωση και\n"
+"γενικά ολόκληÏο το σÏστημα. ΠÏώτα επιλέξτε την πεÏιοχή στην οποία\n"
+"βÏίσκεστε και στη συνέχεια τη γλώσσα που μιλάτε.\n"
+"\n"
+"Κάνοντας κλικ στο κουμπί «%s», μποÏείτε να επιλέξετε και άλλες γλώσσες\n"
+"για εγκατάσταση στον σταθμό εÏγασίας σας, ώστε να εγκατασταθοÏν τα "
+"αντίστοιχα\n"
+"αÏχεία για την τεκμηÏίωση του συστήματος και τις εφαÏμογές.\n"
+"Για παÏάδειγμα, αν το σÏστημά σας Ï€Ïόκειται να χÏησιμοποιηθεί και από\n"
+"ισπανόφωνους χÏήστες, επιλέξτε τα αγγλικά ως Ï€Ïοεπιλεγμένη γλώσσα\n"
+"από την Ï€Ïοβολή δέντÏου και το «%s» στην ενότητα για Ï€ÏοχωÏημένους.\n"
+"\n"
+"Σχετικά με την υποστήÏιξη UTF-8 (Unicode):\n"
+"Το Unicode είναι μια νέα κωδικοποίηση χαÏακτήÏων που αποσκοπεί στην κάλυψη\n"
+"όλων των γλωσσών. Ωστόσο, η πλήÏης υποστήÏιξή του στο GNU/Linux εξακολουθεί\n"
+"να βÏίσκεται υπό ανάπτυξη. Για τον λόγο αυτό, η χÏήση του UTF-8 στο Mageia\n"
+"εξαÏτάται από τις επιλογές του χÏήστη:\n"
+"\n"
+" * Αν επιλέξετε μια γλώσσα με ισχυÏή υποστήÏιξη παλαιότεÏης κωδικοποίησης\n"
+"(όπως οι λατινικές γλώσσες με latin1, τα Ïωσικά, ιαπωνικά, κινεζικά, "
+"κοÏεατικά,\n"
+"ταϊλανδέζικα, ελληνικά, τουÏκικά, οι πεÏισσότεÏες γλώσσες του iso-8859-2),\n"
+"θα χÏησιμοποιηθεί αυτή η παλαιότεÏη κωδικοποίηση από Ï€Ïοεπιλογή.\n"
+"\n"
+" * Άλλες γλώσσες θα χÏησιμοποιοÏν το Unicode από Ï€Ïοεπιλογή.\n"
+"\n"
+" * Αν απαιτοÏνται δÏο ή πεÏισσότεÏες γλώσσες και αυτές δεν χÏησιμοποιοÏν\n"
+"την ίδια κωδικοποίηση, τότε θα χÏησιμοποιηθεί το Unicode για ολόκληÏο το "
+"σÏστημα.\n"
+"\n"
+" * Τέλος, μποÏείτε να επιβάλετε τη χÏήση του Unicode σε όλο το σÏστημα "
+"επιλέγοντας\n"
+"την επιλογή «%s», ανεξαÏτήτως των γλωσσών που έχουν επιλεγεί.\n"
+"\n"
+"Σημειώστε ότι δεν πεÏιοÏίζεστε στην επιλογή μιας μόνο επιπλέον γλώσσας.\n"
+"ΜποÏείτε να επιλέξετε πεÏισσότεÏες ή ακόμα και να τις εγκαταστήσετε όλες,\n"
+"ενεÏγοποιώντας το πεδίο «%s».\n"
+"Η υποστήÏιξη για μια γλώσσα πεÏιλαμβάνει μεταφÏάσεις, γÏαμματοσειÏές,\n"
+"οÏθογÏαφικοÏÏ‚ ελέγχους κ.λπ.\n"
+"\n"
+"Για να αλλάξετε τη γλώσσα του συστήματος Î¼ÎµÏ„Î±Î¾Ï Ï„Ï‰Î½ γλωσσών που έχουν "
+"εγκατασταθεί,\n"
+"μποÏείτε να εκτελέσετε την εντολή localedrake ως root.\n"
+"Αυτό θα αλλάξει τη γλώσσα σε ολόκληÏο το σÏστημα. Εκτελώντας την εντολή ως\n"
+"απλός χÏήστης, η αλλαγή θα ισχÏει μόνο για τον συγκεκÏιμένο λογαÏιασμό."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Ισπανικά"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "ΧÏήση του Unicode ως Ï€Ïοεπιλογή"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Συνήθως, το DrakX δεν αντιμετωπίζει Ï€Ïόβλημα στον εντοπισμό του αÏιθμοÏ\n"
+"των κουμπιών του Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï ÏƒÎ±Ï‚. Αν δεν τα καταφέÏει, θα υποθέσει ότι "
+"διαθέτετε\n"
+"ποντίκι δÏο κουμπιών και θα το Ïυθμίσει για εξομοίωση Ï„Ïίτου κουμπιοÏ.\n"
+"Το Ï„Ïίτο κουμπί σε ένα ποντίκι δÏο κουμπιών μποÏεί να Ï€Ïοσομοιωθεί πατώντας\n"
+"ταυτόχÏονα το αÏιστεÏÏŒ και το δεξί κουμπί. Το DrakX θα αναγνωÏίσει αυτόματα\n"
+"αν το ποντίκι σας χÏησιμοποιεί διεπαφή PS/2, σειÏιακή ή USB.\n"
+"\n"
+"Αν έχετε ποντίκι με 3 κουμπιά χωÏίς Ï„Ïοχό κÏλισης, μποÏείτε να επιλέξετε\n"
+"ένα ποντίκι Ï„Ïπου «%s». Το DrakX θα το Ïυθμίσει έτσι ώστε να μποÏείτε να\n"
+"Ï€Ïοσομοιώσετε τον Ï„Ïοχό κÏλισης: για να το κάνετε αυτό, πατήστε το μεσαίο "
+"κουμπί\n"
+"και μετακινήστε τον δείκτη του Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï Ï€Î¬Î½Ï‰ και κάτω.\n"
+"\n"
+"Αν για οποιονδήποτε λόγο επιθυμείτε να καθοÏίσετε διαφοÏετικό Ï„Ïπο "
+"ποντικιοÏ,\n"
+"επιλέξτε τον από την παÏεχόμενη λίστα.\n"
+"\n"
+"ΜποÏείτε να επιλέξετε την καταχώÏιση «%s» για να χÏησιμοποιήσετε έναν\n"
+"«γενικό» Ï„Ïπο ποντικιοÏ, ο οποίος λειτουÏγεί με σχεδόν όλα τα ποντίκια.\n"
+"\n"
+"Αν επιλέξετε ποντίκι διαφοÏετικό από το Ï€Ïοεπιλεγμένο, θα εμφανιστεί οθόνη "
+"δοκιμής.\n"
+"ΧÏησιμοποιήστε τα κουμπιά και τον Ï„Ïοχό για να ελέγξετε ότι οι Ïυθμίσεις "
+"είναι σωστές\n"
+"και ότι το ποντίκι λειτουÏγεί κανονικά. Αν το ποντίκι δεν λειτουÏγεί σωστά,\n"
+"πατήστε το πλήκτÏο διαστήματος ή το πλήκτÏο [Enter] για να ακυÏώσετε\n"
+"τη δοκιμή και θα επιστÏέψετε στη λίστα ποντικιών.\n"
+"\n"
+"ΟÏισμένες φοÏές τα ποντίκια με Ï„Ïοχό δεν εντοπίζονται αυτόματα, οπότε θα "
+"χÏειαστεί\n"
+"να επιλέξετε το ποντίκι σας από τη λίστα. Βεβαιωθείτε ότι επιλέγετε αυτό "
+"που\n"
+"αντιστοιχεί στη θÏÏα στην οποία είναι συνδεδεμένο το ποντίκι σας.\n"
+"Î‘Ï†Î¿Ï ÎµÏ€Î¹Î»Î­Î¾ÎµÏ„Îµ ένα ποντίκι και πατήσετε το κουμπί «%s», θα εμφανιστεί\n"
+"μια εικόνα Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï ÏƒÏ„Î·Î½ οθόνη. Κυλήστε τον Ï„Ïοχό για να βεβαιωθείτε\n"
+"ότι ανταποκÏίνεται σωστά. Καθώς γυÏίζετε τον Ï„Ïοχό, θα βλέπετε και τον\n"
+"Ï„Ïοχό στην οθόνη να κινείται. Δοκιμάστε και τα κουμπιά και ελέγξτε ότι\n"
+"ο δείκτης κινείται στην οθόνη όταν μετακινείτε το ποντίκι."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "με Ï€Ïοσομοίωση Ï„ÏοχοÏ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Γενικό | Οποιοδήποτε PS/2 & USB ποντίκι"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"ΠαÏακαλώ επιλέξτε την κατάλληλη θÏÏα. Για παÏάδειγμα,\n"
+"η \"COM1\" στα Windows ονομάζεται \"ttyS0\" στο GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ένας φοÏτωτής εκκίνησης (boot loader) είναι ένα μικÏÏŒ Ï€ÏόγÏαμμα που "
+"εκτελείται\n"
+"από τον υπολογιστή κατά την εκκίνηση. Είναι υπεÏθυνος για την εκκίνηση\n"
+"ολόκληÏου του συστήματος. Συνήθως, η εγκατάσταση του φοÏτωτή εκκίνησης\n"
+"γίνεται εντελώς αυτόματα. Το DrakX θα αναλÏσει τον τομέα εκκίνησης του "
+"δίσκου\n"
+"και θα ενεÏγήσει ανάλογα με το τι θα εντοπίσει εκεί:\n"
+"\n"
+" * Αν εντοπιστεί τομέας εκκίνησης των Windows, θα αντικατασταθεί με έναν "
+"τομέα εκκίνησης\n"
+"GRUB ή LILO. Με αυτόν τον Ï„Ïόπο, θα μποÏείτε να εκκινήσετε είτε το GNU/"
+"Linux\n"
+"είτε οποιοδήποτε άλλο λειτουÏγικό σÏστημα είναι εγκατεστημένο στον "
+"υπολογιστή σας.\n"
+"\n"
+" * Αν εντοπιστεί τομέας εκκίνησης GRUB ή LILO, θα αντικατασταθεί με έναν "
+"νέο.\n"
+"\n"
+"Αν το DrakX δεν μποÏεί να Ï€ÏοσδιοÏίσει Ï€Î¿Ï Î½Î± εγκαταστήσει τον τομέα "
+"εκκίνησης,\n"
+"θα σας Ïωτήσει Ï€Î¿Ï Î¸Î­Î»ÎµÏ„Îµ να τον τοποθετήσει. Γενικά, η επιλογή «%s» είναι η "
+"ασφαλέστεÏη.\n"
+"Η επιλογή «%s» δεν εγκαθιστά κανέναν φοÏτωτή εκκίνησης.\n"
+"Επιλέξτε την μόνο αν γνωÏίζετε τι κάνετε."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"ΤώÏα είναι η στιγμή να επιλέξετε ένα σÏστημα εκτÏπωσης για τον υπολογιστή "
+"σας.\n"
+"Άλλα λειτουÏγικά συστήματα ενδέχεται να σας Ï€ÏοσφέÏουν ένα μόνο,\n"
+"αλλά το Mageia Ï€ÏοσφέÏει δÏο. Κάθε ένα από τα συστήματα εκτÏπωσης\n"
+"είναι καλÏτεÏα Ï€ÏοσαÏμοσμένο σε συγκεκÏιμένα είδη Ïυθμίσεων.\n"
+"\n"
+" * «%s» -- που είναι ακÏωνÏμιο του «print, do not queue» (εκτÏπωση χωÏίς "
+"ουÏά),\n"
+"είναι η κατάλληλη επιλογή αν έχετε άμεση σÏνδεση με τον εκτυπωτή σας,\n"
+"θέλετε να μποÏείτε να διακόπτετε την εκτÏπωση σε πεÏίπτωση εμπλοκής χαÏτιοÏ\n"
+"και δεν έχετε εκτυπωτές στο δίκτυο.\n"
+" * Το «%s» μποÏεί να χειÏιστεί μόνο Ï€Î¿Î»Ï Î±Ï€Î»Î­Ï‚ πεÏιπτώσεις δικτÏωσης\n"
+"και είναι σχετικά αÏγό όταν χÏησιμοποιείται μέσω δικτÏου.\n"
+"Συνιστάται να χÏησιμοποιήσετε το pdq αν αυτή είναι η Ï€Ïώτη σας εμπειÏία με "
+"το GNU/Linux.\n"
+"\n"
+" * «%s» σημαίνει Common Unix Printing System και είναι εξαιÏετική επιλογή\n"
+"είτε εκτυπώνετε σε τοπικό εκτυπωτή είτε σε κάποιον στην άλλη άκÏη του "
+"κόσμου.\n"
+"Είναι εÏκολο στη ÏÏθμιση και μποÏεί να λειτουÏγήσει ως διακομιστής ή "
+"πελάτης\n"
+"για το παλαιότεÏο σÏστημα εκτÏπωσης lpd, οπότε είναι συμβατό με παλαιότεÏα\n"
+"λειτουÏγικά συστήματα που ίσως εξακολουθοÏν να χÏειάζονται υπηÏεσίες "
+"εκτÏπωσης.\n"
+"Αν και αÏκετά ισχυÏÏŒ, η βασική ÏÏθμιση είναι σχεδόν τόσο εÏκολη όσο και με "
+"το pdq.\n"
+"Αν χÏειάζεται να Ï€Ïοσομοιώσετε διακομιστή Ï„Ïπου lpd, φÏοντίστε να "
+"ενεÏγοποιήσετε\n"
+"τον δαίμονα cups-lpd. Το «%s» πεÏιλαμβάνει γÏαφικές διεπαφές για εκτÏπωση,\n"
+"επιλογή Ïυθμίσεων εκτυπωτή και διαχείÏιση εκτυπωτών.\n"
+"\n"
+"Αν κάνετε τώÏα μια επιλογή και αÏγότεÏα διαπιστώσετε ότι δεν σας ικανοποιεί "
+"το σÏστημα\n"
+"εκτÏπωσης που χÏησιμοποιείτε, μποÏείτε να το αλλάξετε εκτελώντας το "
+"PrinterDrake\n"
+"από το ΚέντÏο Ελέγχου του Mageia και κάνοντας κλικ στο κουμπί «%s»."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ειδήμονας"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Το DrakX θα εντοπίσει Ï€Ïώτα οποιεσδήποτε συσκευές IDE υπάÏχουν\n"
+"τον υπολογιστή σας. Θα σαÏώσει επίσης για μία ή πεÏισσότεÏες κάÏτες\n"
+"PCI SCSI στο σÏστημά σας. Αν εντοπιστεί κάÏτα SCSI, το DrakX θα\n"
+"εγκαταστήσει αυτόματα τον κατάλληλο οδηγό.\n"
+"\n"
+"Επειδή ο εντοπισμός Ï…Î»Î¹ÎºÎ¿Ï Î´ÎµÎ½ είναι πάντοτε αλάνθαστος, είναι πιθανό το "
+"DrakX\n"
+"να αποτÏχει να εντοπίσει τους σκληÏοÏÏ‚ σας δίσκους. Σε αυτή την πεÏίπτωση,\n"
+"θα χÏειαστεί να καθοÏίσετε το υλικό σας με το χέÏι.\n"
+"\n"
+"Αν χÏειάστηκε να οÏίσετε χειÏοκίνητα τον PCI SCSI Ï€ÏοσαÏμογέα σας,\n"
+"το DrakX θα σας Ïωτήσει αν θέλετε να Ïυθμίσετε επιλογές για αυτόν.\n"
+"Συνιστάται να επιτÏέψετε στο DrakX να ελέγξει το υλικό για τις επιλογές που\n"
+"απαιτοÏνται για την αÏχικοποίηση της κάÏτας. Τις πεÏισσότεÏες φοÏές,\n"
+"το DrakX θα ολοκληÏώσει αυτό το βήμα χωÏίς Ï€Ïοβλήματα.\n"
+"\n"
+"Αν το DrakX δεν μποÏέσει να εντοπίσει αυτόματα τις απαÏαίτητες παÏαμέτÏους\n"
+"για το υλικό, θα χÏειαστεί να Ïυθμίσετε τον οδηγό χειÏοκίνητα."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: αν εντοπιστεί κάÏτα ήχου στο σÏστημά σας, θα εμφανιστεί εδώ.\n"
+"Αν παÏατηÏήσετε ότι η κάÏτα ήχου που εμφανίζεται δεν είναι αυτή που\n"
+"υπάÏχει Ï€Ïαγματικά στο σÏστημα, μποÏείτε να κάνετε κλικ στο κουμπί\n"
+"και να επιλέξετε διαφοÏετικό οδηγό."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Ως ανασκόπηση, το DrakX θα σας παÏουσιάσει μια σÏνοψη των πληÏοφοÏιών\n"
+"που έχει συγκεντÏώσει σχετικά με το σÏστημά σας. Ανάλογα με το υλικό που "
+"είναι\n"
+"εγκατεστημένο στον υπολογιστή σας, ενδέχεται να δείτε μεÏικές ή όλες από "
+"τις\n"
+"παÏακάτω καταχωÏίσεις. Κάθε καταχώÏιση αποτελείται από το στοιχείο υλικοÏ\n"
+"που Ï€Ïέπει να Ïυθμιστεί και μια σÏντομη πεÏίληψη της Ï„Ïέχουσας ÏÏθμισης.\n"
+"Κάντε κλικ στο αντίστοιχο κουμπί «%s» για να κάνετε αλλαγές.\n"
+"\n"
+" * «%s»: ελέγξτε την Ï„Ïέχουσα ÏÏθμιση του πληκτÏολογίου και αλλάξτε την αν "
+"χÏειάζεται.\n"
+"\n"
+" * «%s»: ελέγξτε την Ï„Ïέχουσα επιλογή χώÏας. Αν δεν βÏίσκεστε σε αυτή τη "
+"χώÏα,\n"
+"κάντε κλικ στο κουμπί «%s» και επιλέξτε άλλη. Αν η χώÏα σας δεν εμφανίζεται "
+"στη λίστα,\n"
+"κάντε κλικ στο κουμπί «%s» για να δείτε την πλήÏη λίστα χωÏών.\n"
+"\n"
+" * «%s»: από Ï€Ïοεπιλογή, το DrakX Ï€ÏοσδιοÏίζει τη ζώνη ÏŽÏας με βάση τη χώÏα "
+"που επιλέξατε.\n"
+"ΜποÏείτε να κάνετε κλικ στο κουμπί «%s» αν αυτό δεν είναι σωστό.\n"
+"\n"
+" * «%s»: ελέγξτε την Ï„Ïέχουσα ÏÏθμιση του Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï ÎºÎ±Î¹ κάντε αλλαγές αν "
+"χÏειάζεται.\n"
+"\n"
+" * «%s»: αν εντοπιστεί κάÏτα ήχου στο σÏστημά σας, θα εμφανιστεί εδώ.\n"
+"Αν παÏατηÏήσετε ότι δεν είναι η σωστή, μποÏείτε να κάνετε κλικ στο κουμπί "
+"και να επιλέξετε διαφοÏετικό οδηγό.\n"
+"\n"
+" * «%s»: αν έχετε κάÏτα τηλεόÏασης, οι πληÏοφοÏίες ÏÏθμισής της θα "
+"εμφανιστοÏν εδώ.\n"
+"Αν δεν εντοπιστεί, κάντε κλικ στο «%s» για να Ï€Ïοσπαθήσετε να την Ïυθμίσετε "
+"χειÏοκίνητα.\n"
+"\n"
+" * «%s»: μποÏείτε να κάνετε κλικ στο «%s» για να αλλάξετε τις παÏαμέτÏους "
+"της κάÏτας,\n"
+"αν θεωÏείτε ότι η ÏÏθμιση είναι λανθασμένη.\n"
+"\n"
+" * «%s»: από Ï€Ïοεπιλογή, το DrakX Ïυθμίζει το γÏαφικό πεÏιβάλλον σε ανάλυση "
+"«800x600»\n"
+"ή «1024x768». Αν αυτό δεν σας εξυπηÏετεί, κάντε κλικ στο «%s» για να "
+"επαναÏυθμίσετε τη γÏαφική διεπαφή.\n"
+"\n"
+" * «%s»: αν επιθυμείτε να Ïυθμίσετε τη σÏνδεση στο διαδίκτυο ή σε τοπικό "
+"δίκτυο, μποÏείτε να το κάνετε τώÏα.\n"
+"Συμβουλευτείτε την έντυπη τεκμηÏίωση ή χÏησιμοποιήστε το ΚέντÏο Ελέγχου του "
+"Mageia μετά\n"
+"την εγκατάσταση για αναλυτική βοήθεια.\n"
+"\n"
+" * «%s»: σας επιτÏέπει να Ïυθμίσετε τις διευθÏνσεις διαμεσολαβητή (proxy) "
+"για HTTP και FTP,\n"
+"αν ο υπολογιστής σας βÏίσκεται πίσω από διακομιστή μεσολάβησης.\n"
+"\n"
+" * «%s»: αυτή η καταχώÏιση σας επιτÏέπει να επανακαθοÏίσετε το επίπεδο "
+"ασφαλείας,\n"
+"όπως είχε οÏιστεί σε Ï€ÏοηγοÏμενο βήμα ().\n"
+"\n"
+" * «%s»: αν σκοπεÏετε να συνδέσετε τον υπολογιστή σας στο διαδίκτυο,\n"
+"είναι καλή ιδέα να Ï€Ïοστατευτείτε από εισβολές Ïυθμίζοντας τείχος Ï€Ïοστασίας "
+"(firewall).\n"
+"Δείτε τη σχετική ενότητα του Â«ÎŸÎ´Î·Î³Î¿Ï ÎžÎµÎºÎ¹Î½Î®Î¼Î±Ï„Î¿Ï‚Â» για λεπτομέÏειες σχετικά\n"
+"με τη ÏÏθμιση του τείχους Ï€Ïοστασίας.\n"
+"\n"
+" * «%s»: αν επιθυμείτε να αλλάξετε τις Ïυθμίσεις του φοÏτωτή εκκίνησης "
+"(bootloader),\n"
+"κάντε κλικ σε αυτό το κουμπί. Αυτή η ενέÏγεια Ï€Ïοτείνεται μόνο για "
+"Ï€ÏοχωÏημένους χÏήστες.\n"
+"Συμβουλευτείτε την έντυπη τεκμηÏίωση ή τη σχετική ενσωματωμένη βοήθεια στο "
+"ΚέντÏο Ελέγχου του Mageia.\n"
+"\n"
+" * «%s»: από αυτή την καταχώÏιση μποÏείτε να Ïυθμίσετε λεπτομεÏÏŽÏ‚ ποιες "
+"υπηÏεσίες\n"
+"θα εκτελοÏνται στον υπολογιστή σας. Αν σκοπεÏετε να χÏησιμοποιήσετε αυτό το "
+"σÏστημα\n"
+"ως διακομιστή, είναι καλό να ελέγξετε Ï€Ïοσεκτικά αυτές τις Ïυθμίσεις."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "ΚάÏτα τηλεόÏασης"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ΚάÏτα ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ΓÏαφικό πεÏιβάλλον"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Επιλέξτε τον σκληÏÏŒ δίσκο που θέλετε να διαγÏάψετε για να εγκαταστήσετε\n"
+"τη νέα κατάτμηση Mageia. ΠÏοσέξτε, όλα τα δεδομένα σε αυτόν τον δίσκο\n"
+"θα χαθοÏν και δεν θα είναι ανακτήσιμα!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Κάντε κλικ στο «%s» αν θέλετε να διαγÏάψετε όλα τα δεδομένα και τις "
+"κατατμήσεις\n"
+"που υπάÏχουν σε αυτόν τον σκληÏÏŒ δίσκο. ΠÏοσοχή: μετά το πάτημα του «%s»,\n"
+"δεν θα μποÏείτε να ανακτήσετε κανένα από τα δεδομένα και τις κατατμήσεις "
+"που\n"
+"βÏίσκονταν σε αυτόν τον δίσκο, συμπεÏιλαμβανομένων των δεδομένων των "
+"Windows.\n"
+"\n"
+"Κάντε κλικ στο «%s» για να ακυÏώσετε αυτή τη διαδικασία χωÏίς να χαθοÏν\n"
+"δεδομένα και κατατμήσεις από αυτόν τον σκληÏÏŒ δίσκο."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Επόμενο ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ΠÏοηγοÏμενο"
diff --git a/perl-install/install/help/po/eo.po b/perl-install/install/help/po/eo.po
new file mode 100644
index 000000000..24b9180c0
--- /dev/null
+++ b/perl-install/install/help/po/eo.po
@@ -0,0 +1,2088 @@
+# translation of DrakX-help-eo.po to
+# Esperanto drakbootdisk
+# Copyright (C) 2000, 2001 Mandriva
+#
+# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000.
+# Vilhelmo Lutermano <vlutermano@free.fr>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-eo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2007-03-14 18:27+0100\n"
+"Last-Translator: Vilhelmo Lutermano <vlutermano@free.fr>\n"
+"Language-Team: <eo@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"AntaÅ­ ol daÅ­rigi, legu zorge la patent-regulojn. Ili kovras la tutan\n"
+"eldonaĵon de Mandriva Linukso. Se vi konsentas kun ĉiuj reguloj, kiujn\n"
+"la teksto enhavas, alklaku la keston \"%s\". Se ne, alklakante la butonon "
+"\"%s\"\n"
+"restartigos vian komputilon."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux estas multuzula sistemo, kio signifas, ke ĉiu uzulo povas havi "
+"siajn\n"
+"proprajn preferojn, proprajn dosierojn kaj tiel plu. Sed malsame al \"root"
+"\", kiu\n"
+"estas la sistem-mastrumanto, la uzuloj kiujn vi aldonas ĉe tiu ĉi punkto, ne "
+"rajtos\n"
+"ÅanÄi ion ajn krom siajn proprajn dosierojn kaj siajn proprajn "
+"konfiguraĵojn,\n"
+"per tio la sistemo estas protektita kontraÅ­ senintencaj aÅ­ malicaj ÅanÄoj\n"
+"kiuj povas tuÅi la tutan sistemon. Vi devas krei almenaÅ­ unu unu regulan\n"
+"uzulon por vi mem -- tiu estas la konto kiun vi normale uzu por\n"
+"ĉiutaga uzado. Kvankam estas tre facile ensaluti kiel \"root\" por fari\n"
+"ĉion kaj ĉion, tio povas ankaÅ­ esti tre danÄera! Tutsimpla eraro\n"
+"povas signifi ke via sistemo tute ne plu funkcios. Se vi faras seriozan\n"
+"eraron kiel regula uzulo, la plej malbona afero kiu povas okazi estas ke vi\n"
+"perdas iajn informojn, sed vi ne detruas la tutan sistemon.\n"
+"\n"
+"La unua kampo demandas vin pri reala nomo. Kompreneble, tio ne estas "
+"oficiala\n"
+"-- vi povas enigi kion ajn vi Åatas. DrakX uzos la unuan vorton kiun vi "
+"entajpas\n"
+"en tiun kampon kaj kopios Äin al la \"%s\", kiu estas la nomo\n"
+"kiun tiu uzulo enigos por ensaluti en la sistemon. Se vi deziras, vi povas "
+"surskribi\n"
+"la defaÅ­ltan kaj ÅanÄi la uzulnomon. La venonta paÅo estas enigi pasvorton.\n"
+"El sekureca vidpunkto, neprivilegiita (regula) uzul-pasvorto ne\n"
+"estas tiom grava kiel la \"root\"-pasvorto, sed tio ne estas kialo por "
+"neglekti Äin\n"
+"lasante Äin malplena aÅ­ fari Äin tro simpla: ĉiukaze viaj dosieroj povas "
+"esti\n"
+"elmetitaj al risko.\n"
+"\n"
+"Se vi alklakas \"%s\", vi povas aldoni kromajn uzulojn. Aldonu uzulon por\n"
+"ĉiu de viaj amikoj, via patro, via fratino, ktp. Alklaku \"%s\" kiam\n"
+"vi finis la aldonon de uzuloj.\n"
+"\n"
+"Alklaki la butonon \"%s\" ebligas al vi ÅanÄi la defaÅ­ltan \"terminalon\" "
+"por\n"
+"tiu uzulo (bash estas defaÅ­lta).\n"
+"\n"
+"Kiam vi finis la aldonon de uzuloj, vi estos petata elekti uzulon kiu estos\n"
+"aÅ­tomate ensalutata en la sistemon kiam la komputilo startas. Se\n"
+"vi interesiÄas pri tiu ebleco (kaj ne multe zorgas pri loka sekureco),\n"
+"tiam elektu la deziratan uzulon kaj fenestro-mastrumilon, poste alklaku\n"
+"\"%s\". Se vi ne intereseiÄas pri tiu ebleco, malalklaku la \"%s\"-keston."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ĉu vi deziras uzi tiun funkcion?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Ĉi tie estas listigitaj la ekzistantaj linuksaj subdiskoj detektitaj sur via "
+"fiksdisko.\n"
+"Vi povas konservi la elektojn faritajn de la sorĉilo, ĉar ili taŭgas por la "
+"plej multaj\n"
+"normalaj instaloj. Se vi faras iajn ÅanÄojn, vi devas almenaÅ­ difini "
+"subdiskon por\n"
+"root (\"/\"). Ne elektu subdiskon tro malgranda aÅ­ vi ne povos instali "
+"sufiĉe da programoj.\n"
+"Se vi deziras stoki viajnviajn datenojn enapartan subdiskon,\n"
+"vi devas ankaÅ­ krei subdiskon \"/home\" (nur ebla se vi povas havi pli ol "
+"unu linuksan subdiskon).\n"
+"\n"
+"Ĉiu subdisko estas listigita jene: \"Nomo\", \"Kapacito\".\n"
+"\n"
+"\"Nomo\" estas strukturita: \"fiksdiska tipo\", \"fiksdiska numero\",\n"
+"\"subdisko-numero\" (ekzemple, \"hda1\".\n"
+"\n"
+"\"Fiksdiska tipo\" estas \"hd\" se via fiksdisko estas IDE-fiksdisko, kaj\n"
+"\"sd\" se Äi estas SCSI-fiksdisko.\n"
+"\n"
+"\"Fiksdisk-numero\" estas ĉiam litero post \"hd\" aŭ \"sd\". Por IDE-\n"
+"fiksdiskoj:\n"
+"\n"
+" * \"a\" signifas \"ĉefa fiksdisko sur la primara IDE-kontrolilo\";\n"
+"\n"
+" * \"c\" signifas \"ĉefa fiksdisko sur la sekundara IDE-kontrolilo\";\n"
+"\n"
+" * \"d\" signifas \"malĉefa fiksdisko sur la sekundara IDE-kontrolilo.\n"
+"\n"
+"Kun SCSI-fiksdiskoj, \"a\" signifas \"plej malalta SCSI-ID\", \"b\" "
+"signifas\n"
+"\"dua plej malalta SCSI-ID\", ktp."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La instalado de Mageia estas eldonita sur pluraj KD-ROM-oj. Se elektita\n"
+"pakaĵo troviÄas sur alia KD-ROM-o, DrakX elĵetos la aktualan KD kaj petos "
+"vin enigi\n"
+"la postulatan. Se vi ne havas la postulatan kompaktdiskon ĉemane,\n"
+"alklaku \"%s\", la koncernaj pakaĵoj ne estos\n"
+"instalitaj."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Venis la tempo por difini kiujn programojn vi deziras instali en via "
+"sistemo.\n"
+"Estas miloj da pakaĵoj haveblaj por Mandriva Linukso, kaj por faciligi\n"
+"mastrumi ilin, ili estas metitaj en grupoj de similaj\n"
+"aplikaĵoj.\n"
+"\n"
+"Mandriva Linukso ordigas pakaĵo-grupojn en kvar kategoriojn. Vi povas miksi\n"
+"aplikaĵojn el la diversaj kategorioj, do instalaĵo de ''laborejo''\n"
+"povas tamen havi instalitajn aplikaĵojn\n"
+"el la kategorio ''servilo''.\n"
+"\n"
+" * \"%s\": se vi planas uzi vian maÅinon kiel laborejon, selektu unu aÅ­\n"
+"plurajn el la grupoj en la kategorio ''laborejo''.\n"
+"\n"
+" * \"%s\": se vi planas uzi vian maÅinon por programado, selektu la\n"
+"taÅ­gan grupon el tiu kategorio. La speciala grupo \"LSB\" [por: Linux "
+"Standard Base]\n"
+"konfiguros vian sistemon tiel ke Äi kongruas kiom eble plej kun la\n"
+"agordoj de Linux Standard Base.\n"
+"\n"
+" Selekto de la grupo \"LSB\" instalos ankaÅ­ la seriojn de la kerno "
+"\"2.4\",\n"
+"anstataÅ­ la defaÅ­ltan \"2.6\". Tio estas por certigi centelcentan LSB-"
+"kongruecon\n"
+"de la sistemo. Tamen, se vi ne selektas la grupon \"LSB\", vi ja\n"
+"havos sistemon kiu estas proksimume centelcente LSB-kongrua.\n"
+"\n"
+" * \"%s\": se via maÅino estu servilo, selektu kiun\n"
+"el la pli kutimaj servoj vi deziras instali en via maÅino.\n"
+"\n"
+" * \"%s\": tie vi elektas vian preferatan grafikan\n"
+"medion. AlmenaÅ­ unu devas esti selektita se vi deziras havi grafikan\n"
+"interfacon.\n"
+"\n"
+"Movi la muso-montrilon super grupnomo montros mallongan klarigan\n"
+"tekston pri tiu grupo.\n"
+"\n"
+"Vi povas elekti la keston \"%s\", kiu estas utila se vi estas familiara kun "
+"la\n"
+"disponeblaj pakaĵoj aŭ se vi deziras havi kompletan kontrolon super\n"
+"tio kio estas instalota.\n"
+"\n"
+"Se vi startigas la instaladon per la maniero \"%s\", vi povas malselekti "
+"ĉiujn grupojn\n"
+"kaj preventi la instaladon de iaj ajn novaj pakaĵoj. Tio estas utila por\n"
+"ripari aÅ­ Äisdatigi ekzistantan sistemon.\n"
+"\n"
+"Se vi malselektas ĉiujn grupojn kiam vi faras regulan instaladon (do\n"
+"malsaman al Äisdatigo), montriÄas dialogo kiu proponas diversajn opciojn\n"
+"por minimuma instalo:\n"
+"\n"
+" * \"%s\": instalas la minimuman nombron da eblaj pakaĵoj por havi\n"
+"funkciantan grafikan tabulon.\n"
+"\n"
+" * \"%s\": instalas la bazan sistemon plus bazajn utilaĵojn kaj ilian\n"
+"dokumentaĵon. Tiu instalo taŭgas por agordi servilon.\n"
+"\n"
+" * \"%s\": instalos la absolute minimuman nombron da necesaj pakaĵoj\n"
+"por akiri funkciantan Linuksan sistemon. Per tiu instalaĵo vi havos nur\n"
+"komandolinian interfacon. La totala grandeco de tiu instalo estas proksimume "
+"65\n"
+"megabajtoj."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Äœisdatigo"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Kun baza dokumentaĵo"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Vere minimuma instalado"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se vi elektas instali individue pakaĵojn, la instalilo prezentos arbon kiu\n"
+"enhavas ĉiujn pakaĵojn klasitajn laŭ grupoj kaj subgrupoj. Krozante tra\n"
+"tiu arbo, vi povas elekti tutajn grupojn, subgrupojn aÅ­ individuajn\n"
+"pakaĵojn.\n"
+"\n"
+"Kiam ajn vi elektas pakaĵon el la arbo, aperos priskribo dekstre kiu "
+"informas vin\n"
+"pri la utilo de tiu pakaĵo. \n"
+"\n"
+"!! Se servila pakaĵo estas elektita, ĉu ĉar vi speciale elektis la "
+"individuan pakaĵon\n"
+"aÅ­ ĉar Äi estis parto de grupo da pakaĵoj,\n"
+"vi estos petata konfirmi ke vi vere deziras ke la serviloj estu\n"
+"instalitaj. Defaŭlte, Mageia aŭtomate startigos ĉiajn instalitajn\n"
+"servojn ĉe startotempo. Eĉ se ili estas sekuraj kaj ne havas iajn konatajn "
+"problemojn\n"
+"kiam la eldonaĵo estis sendita, tute eblas ke sekureco-truoj estis "
+"malkovritaj\n"
+"post kiam tiu ĉi versio de Mageia estis finita. Se vi ne scias kiun\n"
+"apartan servon Äi donas aÅ­ kial Äi estas instalata, tiam alklaku \"%s\".\n"
+"Alklakante \"%s\" instalos la listigitajn servojn, kiaj ili estos\n"
+"aŭtomate startigataj ĉe la starto de la sistemo.!!\n"
+"\n"
+"La opcio \"%s\" estas uzata por elÅalti la averto-dialogon kiu aperas\n"
+"kiam ajn la instalilo aŭtomate selektas pakaĵon por solvi\n"
+"dependec-demandon. Kelkaj pakaĵoj dependas de aliaj kaj la instalado de\n"
+"unu aparta pakaĵo povas necesigi la instaladon de aliaj pakaĵoj. La\n"
+"instalili povas eltrovi kiuj pakaĵoj estas necesaj por kontentigi "
+"dependecon\n"
+"por sukcese kompletigi la instaladon.\n"
+"\n"
+"La eta disket-ikono ĉe la fino de la listo permesas al vi ÅarÄi \n"
+"pakaĵo-liston kreitan dum antaŭa instalado. Tio estas helpa se vi\n"
+"havas certan nombron da maÅinoj kiujn vi deziras konfiguri idente. Se vi "
+"alklakas\n"
+"tiun ikonon, vi estos petata enigi la disketon kreitan fine de alia "
+"instalado.\n"
+"Vidu la duan konsilon de la lasta paÅo pri kiel krei tian\n"
+"disketon."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "AÅ­tomataj dependecoj"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tiu ĉi dialogo uzeblas por elekti kiujn servojn vi deziras startigi kiam vi "
+"startigas\n"
+"vian komputilon.\n"
+"\n"
+"DrakX listigos ĉiujn servojn atingeblajn en la nuna instalaĵo.\n"
+"Kontrolu ĉiujn zorge kaj malelektu tiujn kiuj ne estas ĉiam bezonataj\n"
+"dum la starto.\n"
+"\n"
+"Mallonga klariga teksto montriÄos pri servo, kiam Äi estas selektita.\n"
+"Tamen, se vi ne estas certa ĉu servo estas utila aŭ ne,\n"
+"estas pli sekure lasi la defaÅ­ltan sintenon.\n"
+"\n"
+"!!Ege zorgu ĉe ĉi tiu paÅo se vi intencas uzi vian komputilon kiel "
+"servilon:\n"
+"ne startu servojn kiujn vi ne bezonas. Memoru ke certaj servoj povas esti\n"
+"danÄeraj se ili estas enÅaltitaj en servilo. Äœenerale,\n"
+"elektu nur tiujn servojn kiujn vi vere bezonas.!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux mastrumas la tempon en GMT (Grinviĉa meza tempo) kaj tradukas Äin "
+"al\n"
+"la loka tempo laÅ­ la horzono kiun vi elektis. Se la horloÄo en via\n"
+"ĉefkarto estas metita al loka tempo, prefere elÅaltu tion per malselekto de\n"
+"\"%s\", kio sciigos al GNU/Linux ke la sistemhorloÄo kaj la aparathorloÄo\n"
+"estas en la sama horzono. Tio estas utila kiam la maÅino\n"
+"gastigas ankaÅ­ alian mastrumsistemon.\n"
+"\n"
+"La opcio \"%s\" aÅ­tomate reguligas la sistemhorloÄon per\n"
+"konekto al fora temposervilo en Interreto. Por ebligi tiun opcion funkcii,\n"
+"vi devas disponi pri funkcianta interret-konekto. Ni rekomendas ke vi\n"
+"elektu temposervilon lokitan proksime de vi. Tiu opcio instalas "
+"temposervilon\n"
+"kiu estas ankaÅ­ uzebla de aliaj maÅinoj en via loka reto."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "AÅ­tomata hor-sinkronizado"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafika karto\n"
+"\n"
+" La instalilo normale detektas kaj konfiguras aÅ­tomate la\n"
+"grafikan karton instalitan en via maÅino. Se tio ne Äustas, vi povas\n"
+"elekti el tiu ĉi listo la karton kiu estas akutale instalita.\n"
+"\n"
+" En la situacio kiam diversaj serviloj haveblas por via karto,\n"
+"kun aÅ­ sen 3D-akcelo, vi estas petata elekti la servilon kiu\n"
+"plej bone taÅ­gas por viaj bezonoj."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (por X-fenestra sistemo) estas la koro de la GNU/Linuksa grafika "
+"interfaco\n"
+"sur kiu funkcias ĉiuj grafikaj medioj (KDE, GNOME, AfterStep,\n"
+"WindowMaker, ktp) kiuj venas kun Mageia.\n"
+"\n"
+"Vi vidos liston de diversaj parametroj ÅanÄeblaj por akiri plej bonan\n"
+"grafikan vidigon.\n"
+"\n"
+"Grafika karto\n"
+"\n"
+" La instalilo normale aÅ­tomate detektas kaj konfiguras la\n"
+"grafikan karton instalitan en via maÅino. Se tio ne Äustas, vi povas\n"
+"elekti el tiu ĉi listo la karton kiu troviÄas en via komputilo.\n"
+"\n"
+" Se diversaj serviloj haveblas por via karto,\n"
+"kun aÅ­ sen 3D-akcelo, vi estas petata elekti la servilon kiu\n"
+"plej bone taÅ­gas por viaj bezonoj.\n"
+"\n"
+"\n"
+"\n"
+"Monitoro\n"
+"\n"
+" Normale la instalilo aÅ­tomate detektas kaj konfiguras la\n"
+"monitoron konektitan kun via maÅino. Se tio ne Äustas, vi povas elekti\n"
+"el tiu ĉi listo la monitoron kiu estas konektita kun via komputilo.\n"
+"\n"
+"\n"
+"\n"
+"Distingivo\n"
+"\n"
+" Ĉi tie vi povas elekti la distingivojn kaj kolorprofundojn haveblajn por "
+"via\n"
+"grafika aparato. Elektu iun kiu plej bone taÅ­gas por viaj bezonoj (vi povas\n"
+"fari ÅanÄojn post la instalo). Ekzemplo de la elektita\n"
+"konfiguraĵo estas montrata en la ekranbildo.\n"
+"\n"
+"\n"
+"\n"
+"Testo\n"
+"\n"
+" Depende de via aparato, tio eble ne aperas.\n"
+"\n"
+" La sistemo provos malfermi grafikan ekranon per la dezirata\n"
+"distingivo. Se vi vidas la testmesaÄon dum la testo kaj respondas \"%s\",\n"
+"tiam DrakX aliros al la sekvonta paÅo. Se vi ne vidas Äin, tio signifas\n"
+"ke ia parto de la memdetektita konfiguraĵo estis malÄusta kaj\n"
+"la testo aÅ­tomate finiÄos post 12 sekundoj kaj revenigas vin al la\n"
+"menuo. ÅœanÄu la agordojn Äis kiam vi atingas Äustan grafikan vidigon.\n"
+"\n"
+"\n"
+"\n"
+"Opcioj\n"
+"\n"
+" Tiu ĉi paÅoj ebligas vin elekti ĉu vi deziras ke via maÅino\n"
+"aÅ­tomate enÅaltu grafikan interfacon ĉe starto. Okaze vi eble deziras\n"
+"elekti \"%s\" se via maÅino devas funkcii kiel servilo, aÅ­ se vi ne\n"
+"sukcesis konfiguri la vidigilon."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Ekrano (monitoro)\n"
+"\n"
+" Normale la instalilo aÅ­tomate detektas kaj konfiguras la\n"
+"ekranon konektitan kun via maÅino. Se tio ne Äustas, vi povas elekti\n"
+"el tiu ĉi listo la ekranon kiu estas konektita kun via komputilo"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Distingivo\n"
+"\n"
+" Ĉi tie vi povas elekti la distingivon kaj kolorprofundojn haveblajn por "
+"via\n"
+"grafika aparato. Elektu tiun kiu plej bone taÅ­gas por viaj bezonoj (vi "
+"povos\n"
+"fari ÅanÄojn post la instalo). Ekzemplo de la elektita\n"
+"konfigurado estas montrata en la ekranbildo."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"En la situacio kiam diversaj serviloj haveblas por via karto, kun\n"
+"aÅ­ sen 3D-akcelo, vi estas petata elekti la servilon kiu plej bone\n"
+"taÅ­gas por viaj bezonoj."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcioj\n"
+"\n"
+" Tiu paÅo ebligas al vi elekti ĉu vi deziras ke via maÅino aÅ­tomate\n"
+"enÅaltas grafikan interfacon kiam Äi startas. Vi eble\n"
+"deziras elekti \"%s\" se via maÅino devas funkcii kiel servilo, aÅ­ se vi ne\n"
+"sukcesis konfiguri la grafikan interfacon."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nun vi devas decidi kie vi volas instali la Mandriva Linuksan\n"
+"mastrumsistemon sur via fiksdisko. Se via fiksdisko estas malplena aÅ­ se\n"
+"ekzistanta mastrumsistemo uzas la tutan haveblan spacon, vi devos\n"
+"subdiskigi la diskon. Esence, subdiskigi diskon signifas\n"
+"dividi Äin logike por krei la necesan spacon por instali vian novan\n"
+"Mandriva Linuksan sistemon.\n"
+"\n"
+"Ĉar la subdiskigo de fiksdisko estas normale neinversigebla\n"
+"kaj povas perdigi datenojn, subdiskado povas esti timiga kaj stresiga\n"
+"por sensperta uzulo. BonÅance, DrakX enkludas sorĉilon kiu\n"
+"simpligas tiun proceson. AntaÅ­ ol daÅ­rigi ĉe tiu paÅo, tralegu la\n"
+"reston de tiu ĉi sekcio kaj, antaÅ­ ĉio, agu sen urÄo. \n"
+"\n"
+"Depende de la konfigurado de via fiksdisko, pluraj opcioj\n"
+"disponeblas:\n"
+"\n"
+" * \"%s\". Tiu opcio faros aÅ­tomatan subdiskigon de via malplena(j)\n"
+"disko(j). Se vi elektas tiun opcion, ne okazos pluaj invitoj.\n"
+"\n"
+" * \"%s\". La sorĉilo detektis unu aŭ plurajn ekzistantajn Linuksajn "
+"subdiskojn sur\n"
+"via fiksdisko. Se vi deziras uzi ilin, elektu tiun ĉi opcion. Tiam vi\n"
+"estos petata elekti la surmetingojn por ĉiu subdisko.\n"
+"La necesaj surmetingoj estas selektitaj defaÅ­lte, kaj plej ofte estas\n"
+"bona ideo konservi ilin.\n"
+"\n"
+" * \"%s\". Se Vindozo (mikrosofta) estas instalita sur via fiksdisko kaj "
+"okupas\n"
+"la tutan haveblan spacon sur Äi, vi devos krei liberan spacon por\n"
+"GNU/Linukso. Por tion fari, vi povas forviÅi vian Mikrosoft-Vindozan "
+"subdiskon kaj\n"
+"datenojn (vidu solvon ''ForviÅi tutan diskon'') aÅ­ regrandecigi vian "
+"Mikrosoft-Vindozan\n"
+"FAT- aÅ­ NTFS-subdiskon. Regrandecigi eblas sen perdi ian\n"
+"datenon, kondiĉe ke vi antaŭe malfragmentigis la vindozan subdiskon.\n"
+"Sekurkopii viajn datenojn estas forte konsilata. Uzi tiun opcion estas\n"
+"rekomendata se vi deziras uzi ambaÅ­, Mandrivan Linukson kaj Mikrosoftan "
+"Vindozon sur\n"
+"la sama komputilo.\n"
+"\n"
+" AntaÅ­ ol elekti tiu opcion, bonvole komprenu ke post tiu\n"
+"procedo la amplekso de via Mikrosoft-Vindoza subdisko estos pli malgranda\n"
+"ol kiam vi komencis. Vi havos malpli da libera spaco sub Vindozo\n"
+"por stoki viajn datenojn aÅ­ por instali novajn programojn.\n"
+"\n"
+" * \"%s\". Se vi deziras forviÅi ĉiujn datenojn kaj ĉiujn subdiskojn "
+"troviÄantajn sur\n"
+"via fiksdisko kaj anstataÅ­igi ilin per via nova Mandriva Linuksa sistemo, "
+"elektu\n"
+"tiun ĉi opcion. Estu zorgema, ĉar vi ne kapablos malfari tiun operacion\n"
+"post kiam vi konfirmis.\n"
+"\n"
+" !! Se vi elektas tiun opcion, ĉiuj datenoj sur via disko estos "
+"detruitaj. !!\n"
+"\n"
+" * \"%s\". Tiu opcio aperas kiam la fiksdisko estas komplete okupata de\n"
+"Mikrosoft-Vindozo. Elekti tiun opcion simple forviÅos ĉion kio troviÄas sur "
+"la\n"
+"disko kaj komencos novan subdiskadon.\n"
+"\n"
+" !! Se vi elektas tiun opcion, ĉiuj datenoj sur via disko perdiÄos. !!\n"
+"\n"
+" * \"%s\". Elektu tiun opcion se vi deziras permane subdiskigi vian "
+"fiksdiskon.\n"
+"Estu zorgema -- tio estas potenca, sed danÄera elekto, kaj vi povas\n"
+"tre facile perdi ĉiujn viajn datenojn. Pro tio, tiu opcio estas vere nur\n"
+"rekomendata, se vi jam faris ion similan antaÅ­e kaj havas ian sperton.\n"
+"Por havi pli da instrukcioj pri kiel uzi la DiskDrake,\n"
+"konsultu la sekcion ''Mastrumi viajn subdiskojn'' en la ''Start-Gvidilo''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Uzu ekzistantan subdiskon"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ForviÅu la tutan diskon"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Jen vi fine. La instalado estas nun kompleta kaj via GNU/Linuksa sistemo "
+"estas\n"
+"preta por uzado. Nur alklaku \"%s\" por restartigi la sistemon. Ne forgesu\n"
+"elpreni la instal-rimedon (KD-ROM-on aÅ­ disketon). La unua afero kiun vi\n"
+"devus vidi post kiam via komputilo finis sian testadon de aparataro, estas "
+"la\n"
+"startigila menuo, kiu donas al vi la elekton kiun mastruman sistemon vi "
+"volas startigi.\n"
+"\n"
+"La butono \"%s\" montras du kromajn butonojn por\n"
+"\n"
+" * \"%s\": ebligas al vi krei instal-disketon kiu aÅ­tomate faros\n"
+"kompletan instaladon sen helpo de mastrumanto,\n"
+"simile al la instalo kiun vi ĵus faris.\n"
+"\n"
+" Notu ke du diversaj opcioj haveblas post alklako\n"
+"de tiu butono:\n"
+"\n"
+" * \"%s\". Tiu estas parte aÅ­tomata instalado. La subdiskiga\n"
+"paÅo estas la nura interaktiva proceduro.\n"
+"\n"
+" * \"%s\". Komplete aÅ­tomata instalo: la fiksdisko estas komplete\n"
+"reksribata, ĉiuj datenoj perdiÄas.\n"
+"\n"
+" Tiu ebleco estas tre lerta por instalado sur certa nombro da similaj\n"
+"maÅinoj. Vidu la sekcion Meminstalo (Auto install) en nia retejo por pli\n"
+"da informo.\n"
+"\n"
+" * \"%s\"(*): konservas liston da pakaĵoj selektitaj en tiu instalo.\n"
+"Por uzi tiun selekton kun alia instalado, enigu la disketon kaj\n"
+"startigu la instaladon. Ĉe la invito, premu la [F1]-klavon, tajpu >>linux\n"
+"defcfg=\"floppy\"<< kaj premu la [Enigo]-klavon.\n"
+"\n"
+"(*) Vi bezonas disketon formatitan kun FAT. Por krei iun sub GNU/Linux, "
+"tajpu\n"
+"\"mformat a:\", aÅ­ \"fdformat /dev/fd0\" sekvata de \"mkfs.vfat\"\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Kreu meminstalan disketon"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se vi elektas reuzi kelkajn tradiciajn GNU/Linux-subdiskojn, vi povas "
+"deziri\n"
+"reformati kelkajn de ili kaj estingi datenojn kiujn ili enhavas. Por tion "
+"fari, bonvolu\n"
+"selekti tiujn subdiskojn.\n"
+"\n"
+"Bonvolu noti ke ne necesas reformati ĉiujn antaŭ-ekzistantajn\n"
+"subdiskojn. Vi devas reformati la subdiskojn kiuj enhavas la mastrum-"
+"sistemon\n"
+"(kiel \"/\", \"/usr\" aÅ­ \"/var\"), sed vi ne bezonas reformati\n"
+"subdiskojn kun datenoj kiujn vi deziras konservi (normale \"/home\").\n"
+"\n"
+"Bonvulu esti zorgema kiam vi selektas subdiskojn. Post kiam la reformatado\n"
+"finiÄis, ĉiuj datenoj de la selektita subdikso estos detruitaj kaj vi\n"
+"ne kapablos reakiri ilin.\n"
+"\n"
+"Alklaku \"%s\" kiam vi pretas formati la subdiskojn.\n"
+"\n"
+"Alklaku \"%s\" se vi deziras elekti alian subdiskon por instali vian nova\n"
+"Mageia-mastrum-sistemon.\n"
+"\n"
+"Alkalku \"%s\" se vi deziras selekti subdiskojn kiuj estu kontrolataj por "
+"malbonaj blokoj sur la disko."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Kiam vi instalas Mandrivan Linus, povas esti ke kelkaj pakaĵoj estas\n"
+"Äisdatigitaj post la komenca eldono. Cimoj povas esti riparitaj,\n"
+"sekurec-problemoj solvitaj. Por ebligi vin profiti tiujn Äisdatigojn,\n"
+"vi nun kapablas deÅuti ilin el Interreto. Elektu \"%s\" se vi\n"
+"havas funkciantan interret-konekton, aÅ­ \"%s\" se vi preferas instali\n"
+"Äisdatigitajn pakaĵojn pli poste.\n"
+"\n"
+"Elekti \"%s\" montros liston da ttt-lokoj de kiuj akireblas Äisdatigoj.\n"
+"Elektu prefere iun proksiman de vi. Aperos pakaĵ-selekta arbo:\n"
+"kontrolu la selekton, kaj premu \"%s\" por akiri kaj instali\n"
+"la selektitajn pakaĵo(j)n, aŭ \"%s\" por ĉesigi."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ĉe tiu punkto, DrakX ebligos vin elekti la sekurec-nivelon kiun vi deziras\n"
+"por via maÅino. Äœenerale, la sekurec-nivelo estu metita pli alta\n"
+"se la maÅino devas enhavi gravegajn datenojn, aÅ­ se Äi estos rekte elmetita\n"
+"al Interreto. Äœenerale, pli alta sekureco-nivelo akireblas koste de facila "
+"uzado. \n"
+"\n"
+"Se vi ne scias kion elekti, konservu la defaÅ­ltan opcion. Vi povos ÅanÄi\n"
+"Äin poste per la draksec-ilo, kiu estas parto de la Mandriva-Linus-\n"
+"Regejo.\n"
+"\n"
+"Plenigu la kampon \"%s\" per la retadreso de la respondeculo pri\n"
+"sekureco. Sekurec-mesaÄoj estos sendotaj al tiu adreso."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sekurec-mastrumanto"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Nun vi devas elekti kiuj subdisko(j) estu uzata(j) por instalado\n"
+"de via Mandriva-Linuksa sistemo. Se jam estas difinitaj subdiskoj,\n"
+"ĉu de antaŭa instalo de GNU/Linukso aŭ de alia\n"
+"subdiskilo, vi povas uzi ekzistantajn subdiskojn. Alie, fiksdiskaj\n"
+"subdiskoj estas difinotaj.\n"
+"\n"
+"Por krei subdiskojn, vi devas unue elekti fiksdiskon. Vi povas elekti\n"
+"la subdiskigota disko per alklako al ''hda'' por la unua IDE-disko,\n"
+"''hdb'' por la dua, ''sda'' por la unua SCSI-disko kaj tiel plu.\n"
+"\n"
+"Por subdiskigi la selektitan fiksdiskon, vi povas uzi jenajn opciojn:\n"
+"\n"
+" * \"%s\": tiu opcio forviÅas ĉiujn subdiskojn sur la selektita fiksdisko.\n"
+"\n"
+" * \"%s\": Tiu opcio ebligas vin krei aÅ­tomate subdiskojn de ext4 kaj swap\n"
+"en la libera spaco de via fiksdisko\n"
+"\n"
+"\"%s\": donas aliron al kromaj eblecoj:\n"
+"\n"
+"-* \"%s\": sekurkopias la subdisk-tabelon al disketo. Utila por posta\n"
+"rehavo de la subdisk-tabelo se necesas. Estas forte konsilate ke vi\n"
+"faru tiun paÅon.\n"
+"\n"
+" * \"%s\": ebligas vin restarigi antaÅ­e sekurkopiitan subdisk-tabelon el\n"
+"disketo.\n"
+"\n"
+" * \"%s\": se via subdisk-tabelo estas damaÄita, vi povas provi rehavi Äin\n"
+"uzante tiun opcion. Bonvolu esti zorgema kaj memoru ke tio ne ĉiam\n"
+"funkcias.\n"
+"\n"
+" * \"%s\": forigas ĉiujn ÅanÄojn kaj reÅargas la subdisk-tabelon kiu estis\n"
+"origine sur la fiksdisko.\n"
+"\n"
+" * \"%s\": malelekti tiun opcioj devigas uzulojn permane surmeti kaj\n"
+"demeti demeteblajn aparatojn kiel disketojn kaj KD-ROM-ojn.\n"
+"\n"
+"* \"%s\": uzu tiun opcion se vi deziras uzi sorĉilon por subdiskigi vian\n"
+"fiksdiskon. Tio estas rekomendita se vi ne havas bonan komprenon pri\n"
+"subdiskigo.\n"
+"\n"
+" * \"%s\": uzu tiun opcion por malfari viajn ÅanÄojn.\n"
+"\n"
+" * \"%s\": ebligas kromajn agojn pri subdiskoj (speco, opcioj, formato)\n"
+"kaj donas pliajn informojn pri la fiksdisko. \n"
+"\n"
+" * \"%s\": kiam vi finis subdiskigi vian fiksdiskon, tio\n"
+"konservos viajn ÅanÄojn sur la disko.\n"
+"\n"
+"Kiam vi difinas la grandecon de subdisko, vi povas fajne agordi la "
+"grandecon\n"
+"de la subdisko uzante la sago-klavojn sur via klavaro.\n"
+"\n"
+"Notu: vi povas atingi ĉiun opcion uzante la klavaron. Krozu tra la\n"
+"subdiskoj uzante [Tab] kaj la sagojn [Supren/Malsupren].\n"
+"\n"
+"Kiam subdisko estas selektita, vi povas uzi:\n"
+"\n"
+" * Ctrl-c por krei novan subdiskon (se estas selektita malplena subdisko)\n"
+"\n"
+" * Ctrl-d por forviÅi subdiskon\n"
+"\n"
+" * Ctrl-m por meti la surmetingon\n"
+"\n"
+"Por akiri informojn pri la diversaj haveblaj dosier-sistem-tipoj, bonvolu\n"
+"legi la ĉapitron ext2FS en la ''Referenca Manlibro''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Aŭtomata kroĉado de demeteblaj aparatoj"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "ÅœanÄu inter normala/fakula reÄimo"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Pli ol unu Microsoft-subdisko estas detektitaj sur via fiksdisko.\n"
+"Bonvolu elekti tiun kiun vi deziras regrandecigi por instali vian novan\n"
+"Mandriva-Linux-mastrumsistemon.\n"
+"\n"
+"Ĉiu subdisko estas listigita jene: \"Linux nomo\", \"Vindoza nomo\"\n"
+"\"Kapacito\".\n"
+"\n"
+"\"Linux nomo\" estas strukturita: \"tipo de fiksdisko\", \"numero de "
+"fiksdisko\",\n"
+"\"subdisk-numero\" (ekzemple, \"hda1\").\n"
+"\n"
+"\"Tipo de fiksdisko\" estas \"hd\" se via fiksdisko estas IDE-fiksdisko kaj\n"
+"\"sd\" se Äi estas SCSI-fiksdisko.\n"
+"\n"
+"\"Numero de fiksdisko\" estas ĉiam litero post \"hd\" aŭ \"sd\". Ĉe IDE-\n"
+"fiksdiskoj:\n"
+"\n"
+" * \"a\" signifas \"ĉefa fiksdisko sur la primara IDE-kontrolilo\";\n"
+"\n"
+" * \"b\" signifas \"malĉefa fiksdisko sur la primara IDE-kontrolilo\";\n"
+"\n"
+" * \"c\" signifas \"ĉefa fiksdisko sur la sekundara IDE-kontrolilo\";\n"
+"\n"
+" * \"d\" signifas \"malĉefa fiksdisko sur la sekundara IDE-kontrolilo\".\n"
+"\n"
+"Ĉe SCSI-fiksdiskoj, \"a\" signifas \"plej malalta SCSI-ID\", \"b\" signifas\n"
+"\"dua plej malalta SCSI-ID\", ktp.\n"
+"\n"
+"\"Vindoza nomo\" estas la litero de via fiksdisko sub Vindozo (la unua\n"
+"disko aÅ­ subdisko estas nomata \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": kontrolu la aktualan land-elekton. Se vi ne troviÄas en tiu lando,\n"
+"alklaku la butonon \"%s\" kaj elektu alian. Se via lando ne estas en\n"
+"la videbla listo, alklaku la butonon \"%s\" por havigi la kompletan liston."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Tiu ĉi paÅo estas aktiva nur se ekzistanta GNU/Linuksa subdisko estas "
+"trovita\n"
+"en via maÅino.\n"
+"\n"
+"DrakX bezonas nun scii ĉu vi deziras fari novan instaladon aŭ\n"
+"Äisdatigon de ekzistanta Mandriva-Linuks-sistemo:\n"
+"\n"
+" * \"%s\". Plejparte, tio komplete forviÅas la malnovan sistemon.\n"
+"Tamen, depende de via subdiska skemo, vi povas eviti ke kelkaj el viaj\n"
+"ekzistantaj datenoj (nome \"home\"-dosierujoj) estu surskribotaj.\n"
+"Se vi deziras ÅanÄi kiel via fiksdiskoj estas subdiskigitaj,\n"
+"aÅ­ ÅanÄi la dosiersistemon, vi prefere uzu tiun ĉi opcion.\n"
+"\n"
+" * \"%s\". Tiu instal-klaso ebligas al vi Äisdatigi la pakaĵojn kiuj estas\n"
+"aktuale instalitaj en via Mandriva-Linuksa sistemo. Viaj nunaj subdisk-"
+"sistemo\n"
+"kaj uzul-datenoj ne estos tuÅataj. La plej multaj aliaj konfiguraj\n"
+"paÅoj restas atingeblaj kaj similas al normala instalado.\n"
+"\n"
+"Uzado de la opcio ''Äœisdatigo'' devus bone funkcii sur Mandriva-Linuksaj "
+"sistemoj\n"
+"kun la versioj \"8.1\" aÅ­ postaj. Ne estas konsilinde fari Äisdatigojn\n"
+"sur Mandriva-Linuksaj versioj antaÅ­aj al \"8.1\"."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Depende de la lingvo kiun vi elektas (), DrakX aÅ­tomate selektas\n"
+"apartan specon de klavar-konfigurado. Konstatu ke la selekto taÅ­gas\n"
+"por vi aÅ­ elektu alian klavar-aranÄon.\n"
+"\n"
+"Eble vi ankaÅ­ ne havas klavaron kiu respondas precize al via\n"
+"lingvo: ekzemple, se vi estas angle parolanta sviso naskiÄinta en Svisio, vi "
+"eble\n"
+"havas svisan klavaron. AÅ­ se vi parolas la anglan kaj loÄas en Kebekio,\n"
+"vi povas troviÄi en la sama situacio kie via denaska lingvo kaj\n"
+"klavaro laÅ­ landa agordo ne kongruas. Ĉiukaze, tiu instal-paÅo\n"
+"ebligas vin selekti taÅ­gan klavaron el la listo.\n"
+"\n"
+"Alklaku la butonon \"%s\" por vidi liston de subtenataj klavaroj.\n"
+"\n"
+"Se vi elektas klavar-aranÄon bazitan sur nelatina alfabeto, la sekva\n"
+"dialogo ebligos vin elekti la klavkombinon kiu Åaltos la\n"
+"klavaron inter la latina kaj la nelatinaj arangoj."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"La unua paÅo estas elekti vian preferatan lingvon.\n"
+"\n"
+"Via elekto de la preferata lingvo efikas por la instalilo, la\n"
+"dokumentado, kaj la sistemon Äenerale. Unue selektu la regionon en kiu vi "
+"troviÄas,\n"
+"poste la lingvon kiun vi parolas.\n"
+"\n"
+"Alklaki la butonon \"%s\" ebligos al vi selekti aliajn lingvojn kiujn vi "
+"deziras\n"
+"instali en vian laborstacion, per tio instaliÄas la lingvospecifaj dosieroj\n"
+"por sistem-dokumentaĵoj kaj aplikaĵoj. Ekzemple, se hispanaj uzuloj uzos "
+"vian maÅinon,\n"
+"selektu Anglan kiel defaÅ­ltan lingvon [se via lingvo estas la angla] en\n"
+"la arbeca vido kaj \"%s\" en la progresinta sekcio. \n"
+"\n"
+"Pri subteno de UTF-8 (unikodo): Unikodo estas nova tipar-kodigo destinita "
+"por\n"
+"kovri ĉiujn ekzistantajn lingvojn. Tamen, plena subteno por Äi en GNU/Linux "
+"estas\n"
+"daÅ­re sub evoluigo. Pro tio, la uzo de UTF-8 fare de Mageia\n"
+"dependos de la elektoj kiujn faras la uzulo:\n"
+"\n"
+" * Se vi elektas lingvon kun forte tradiciaj kodaĵoj (lingvoj de latin1,\n"
+"rusa, japana, ĉina, korea, taja, greka, turka, la plej multaj lingvoj de\n"
+"iso-8859-2), la tradicia kodaĵo estos uzata defaŭlte;\n"
+"\n"
+" * Aliaj lingvoj uzos unikodon defaÅ­lte;\n"
+"\n"
+" * Se du aÅ­ pli da lingvoj estas necesaj, kaj se tiuj lingvoj ne uzas la\n"
+"saman kodaĵon, tiam unikodo estos uzata por la tuta sistemo;\n"
+"\n"
+" * Fine, oni povas ankaÅ­ trudi unikodon por la tuta sistemo laÅ­ decido de "
+"uzulo\n"
+"per selekto de la opcio \"%s\" sendepende de kiuj lingvoj\n"
+"estas elektitaj.\n"
+"\n"
+"Notu ke vi ne estas limigita por elekti unu solan kroman lingvon. Vi\n"
+"povas elekti plurajn, aŭ eĉ instali ĉiujn per selekto de la kesto \"%s\".\n"
+"Selektante la subtenon por lingvo signifas ke tradukoj, litertiparoj, "
+"ortografi-kontroliloj,\n"
+"ktp. estos ankaÅ­ instalitaj por tiu lingvo.\n"
+"\n"
+"Por Åalti inter la diversaj instalitaj lingvoj sur via sistemo, vi povas\n"
+"lanĉi la komandon \"localedrake\" kiel \"root\" por ÅanÄi la uzatan lingvon\n"
+"en la tuta sistemo. Se vi faras tiun komandon kiel regula uzulo tio ÅanÄos\n"
+"nur la lingvon por tiu aparta uzulo."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Hispana"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normale, DrakX ne havas problemojn por detekti la nombron da butono sur via\n"
+"muso. Se tamen Äi havas, Äi supozas ke vi havs dubutonan muson kaj "
+"konfiguras\n"
+"Äin por imitado de la tria butono. La tria butono de tributona muso "
+"akireblas\n"
+"per samtempa klako per la maldekstra kaj\n"
+"la dekstra musbutonoj. DrakX aŭtomate scias ĉu via muso uzas\n"
+"interfacon PS/2, serian aÅ­ USB.\n"
+"\n"
+"Se vi havas 3-butonan muson sen rado, vi povas elekti muson \"%s\".\n"
+"DrakX tiam konfiguros vian muson tiel ke vi povas imiti la radon per Äi: por "
+"tion fari, premu la mezan butonon kaj movu vian\n"
+"musmontrilon supren kaj malsupren.\n"
+"\n"
+"Se pro iu kialo vi deziras difini alian specon de muso, selektu Äin\n"
+"el la listo.\n"
+"\n"
+"Vi povas selekti la \"%s\" por elekti ''generan''musotipon kiu\n"
+"funkcios kun preskaŭ ĉiuj musoj.\n"
+"\n"
+"Se vi elektas alian muson ol la defaÅ­ltan, aperos test-ekrano. Uzu\n"
+"la butonojn kaj radon por kontroli ĉu la agordoj estas\n"
+"Äustaj kaj ĉu la muso funkcias Äuste. Se la muso ne funkcias\n"
+"bone, premu la spaco-klavon aÅ­ [Enigo]-klavon por malvalidigi la teston kaj\n"
+"vi retroviÄos en la muso-listo.\n"
+"\n"
+"Okazas ke radomusoj ne estas aÅ­tomate detektataj, do vi bezonas\n"
+"selekti vian muson el listo. CertiÄu ke vi selektas tiun kiu respondas\n"
+"al la pordo al kiu via muso estas ligita. Post selekto de muso kaj\n"
+"primi la butonon \"%s\", muso-bildo estas montrata sur la ekrano.\n"
+"Rulu la musradon por certiÄi ke Äi agas Äuste. Kima vi\n"
+"rulas vian musradon, vi vidos moviÄi la surekranan radon.\n"
+"Testu la butonojn kaj kontrolu ĉu la musmontrilo moviÄas same kiel vi\n"
+"movas la muson."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "kun rado-imito"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universala | Ia ajn PS/2 & USB musoj"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Bonvolu elekti la Äustan pordon. Ekzemple, la \"COM1\"-a\n"
+"pordo sub MS Vindozo estas nomata \"ttyS0\" sub GNU/Linukso."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Startigilo estas programeto startigata de la komputilo ĉe startado.\n"
+"Äœi respondecas pri la startado de la tuta sistemo. Normale la instalado de "
+"la startigilo\n"
+"okazas tute aÅ­tomate. DrakX analizas la sektoron de la disko-starto\n"
+"kaj agas laÅ­ tio kion Äi trovas tie:\n"
+"\n"
+" * se Äi trovas vindozan startsektoron, Äi anstataÅ­igos tiun per "
+"startsektoro de GRUB/LILO.\n"
+"Tiel vi povos Åargi aÅ­ GNU/Linukson aÅ­ alian mastrumsistemon\n"
+"instalitan sur via maÅino.\n"
+"\n"
+" * se Äi trovas GRUB- aÅ­ LILO-startsektoron, Äi anstataÅ­igos tiun per nova.\n"
+"\n"
+"Se DrakX ne povas determini, kiel meti la startsektoron, Äi demandos vin "
+"kien Äi metu Äin.\n"
+"Äœenerale, la \"%s\" estas la plej sekura loko.\n"
+"Elekti \"%s\" instalas nenian startigilon. Uzu tiun opcion nur se vi\n"
+"scias kion vi faras."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nun estas tempo por elekti pressistemon por via komputilo. Aliaj "
+"mastrumsistemoj\n"
+"proponas al vi unu, sed Mandriva Linukso proponas du. Ĉiu el la "
+"pressistemoj\n"
+"plej taÅ­gas por aparta tipo de konfigurado.\n"
+"\n"
+" * \"%s\" -- kio estas akronimo por \"print, do not queue\" (presu, ne "
+"vicigu), elektindas\n"
+"se vi havas rektan konekton kun via presilo, vi Åatus eskapi el problemoj "
+"kun\n"
+"aliaj presiloj, kaj vi ne havas retajn presilojn. (\"%s\"\n"
+"pritraktos nur tre simplajn retajn kazojn kaj estas iom malrapida se\n"
+"uzata en retoj.) Konsilindas uzi \"pdq\" se tio ĉi estas via\n"
+"unua sperto kun GNU/Linukso.\n"
+"\n"
+" * \"%s\" nomiÄas ''Common Unix Printing System'' kaj estas bonega elekto "
+"por\n"
+"presigi vian lokan presilon aÅ­ iun ie tra la planedo. Äœi estas\n"
+"facile konfigurebla kaj povas agi kiel servilo aÅ­ kiel kliento por la "
+"antaÅ­a\n"
+"\"lpd \"-pressistemo, kaj estas kongrua kun pli malnovaj mastrum-sistemoj\n"
+"kiuj eble ankoraÅ­ bezonas presservojn. Kvankam tre potenca, la baza "
+"konfigurado\n"
+"estas preskaÅ­ same simpla kiel \"pdq\". Se vi bezonas imiti \"lpd\"-"
+"servilon,\n"
+"certiÄu ke vi aktivigis la \"cups-lpd\"-demonon. \"%s\" enhavas grafikajn\n"
+"'front-ends' por presi aÅ­ por elekti presil-opciojn kaj por mastrumi\n"
+"la presilon.\n"
+"\n"
+"Se vi faras vian elekton nun, kaj poste trovas ke vi ne Åatas vian "
+"pressistemon,\n"
+"vi povas ÅanÄi Äin rulante PrinterDrake ekde la Mandriva Regejo kaj\n"
+"alklaki la butonon \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Spertulo"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX unue detektos iujn IDE-aparatojn en via komputilo. Äœi ankaÅ­\n"
+"serĉas unu aŭ plurajn PCI-SCSI-kartojn en via sistemo. Se SCSI-karto\n"
+"estas trovita, DrakX aÅ­tomate instalos la taÅ­gan pelilon.\n"
+"\n"
+"Ĉar detektado de aparataro ne estas absolute senerara, DrakX povas\n"
+"malsukcesi detektante viajn fiksdiskojn. Se tiel, vi devos mem mane "
+"entajpivian aparataron.\n"
+"\n"
+"Se vi devis mane entajpi vian PCI-SCSI-adaptilon, DrakX demandos ĉu vi\n"
+"deziras konfiguri opciojn por Äi. Prefere permesu al DrakX provi la "
+"aparatojn\n"
+"por la kartospecifaj opcioj kiuj estas bezonataj por inici la adaptilon. "
+"Plej ofte,\n"
+"DrakX trairos tiun paÅon sen ajna problemo.\n"
+"\n"
+"Se DrakX ne kapablas provi kiujn parametrojn la opcioj aÅ­tomate devas doni "
+"al la\n"
+"aparatoj, vi devos mane konfiguri\n"
+"la pelilon."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se sonkarto estas detektita en via sistemo, Äi estos ĉi tie "
+"montrata.\n"
+"Se vi rimarkas ke la sonkarto ne estas tiu aktuale en via sistemo,\n"
+"vi povas alklaki la butonon kaj elekti alian pelilon."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Por kontroli, DrakX prezentos resumon de la informoj kolektitaj\n"
+"pri via sistemo. Depende de la aparataro instalita en via maÅino, vi\n"
+"havas ĉiujn aŭ kelkajn de ĉiuj viaj enigoj. Ĉiu enigo montras la\n"
+"konfigurotan aparaton, sekvatan de mallonga resumo de la aktuala\n"
+"konfiguraĵo. Alklaku la respondan butonon \"%s\" por fari la ÅanÄon.\n"
+"\n"
+" * \"%s\": kontrolu la aktualan konfiguraĵon de la klavar-mapo kaj ÅanÄu "
+"Äin se\n"
+"necese.\n"
+"\n"
+" * \"%s\": kontrolu la aktualan selektond e lando. Se vi ne estas en tiu\n"
+"lando, alklaku la butonon \"%s\" kaj elektu alian. Se via lando\n"
+"ne troviÄas en la montrata listo, alklaku la butonon \"%s\" por havi la "
+"kompletan\n"
+"landoliston.\n"
+"\n"
+" * \"%s\": DefaÅ­lte DrakX deduktas vian horzonon bazintan sur la lando\n"
+"kiun vi elektis. Vi povas alklaki tiun ĉi butonon \"%s\" se tio ne estas\n"
+"Äusta.\n"
+"\n"
+" * \"%s\": kontrolu la aktualan konfiguraĵon de la muso kaj alklaku la "
+"butonon\n"
+"por ÅanÄi Äin se necese.\n"
+"\n"
+" * \"%s\": alklako al la butono \"%s\" malfermos la sorĉilon por\n"
+"konfigurado de la presilo. Konsultu la respondan ĉapitron de la ''Start-"
+"Gvidilo''\n"
+"por pliaj informoj pri kiel agordi novan presilon. La interfaco\n"
+"prezentita en nia manlibro similas al tiu uzata dum la instalado.\n"
+"\n"
+" * \"%s\": se sonkarto estas detektita en via sistemo, Äi estos montrata\n"
+"ĉi tie. Se vi rimarkas ke la sonkarto ne estas tiu kiu aktuale troviÄas en "
+"via\n"
+"sistemo, vi povas alklaki la butonon kaj elekti alian pelilon.\n"
+"\n"
+" * \"%s\": se vi havas TV-karton, tiam la informoj pri Äia konfigurado\n"
+"estas montrataj ĉi tie. Se via havas TV-karton kaj se Äi ne estas\n"
+"detektita, alklaku sur \"%s\" por provi konfiguri Äin permane.\n"
+"\n"
+" * \"%s\": vi povas alklaki \"%s\" por ÅanÄi la parametrojn pri la\n"
+"karto se vi sentas ke la konfiguraĵo estas malÄusta.\n"
+"\n"
+" * \"%s\": DefaÅ­lte, DrakX konfiguras vian grafikan interfacon en\n"
+"distingivo de \"800x600\" aÅ­ \"1024x768\". Se tio ne taÅ­gas por vi, alklaku\n"
+"\"%s\" por rekonfiguri vian grafikan interfacon.\n"
+"\n"
+" * \"%s\": se vi deziras konfiguri vian aliron al Interreto aÅ­ al loka "
+"reto,\n"
+"vi povas tion fari nun. Konsultu la presitan dokumentaĵon aŭ uzu la\n"
+"Mandriva-Linuksan Regejon post fino de la instalado por profiti\n"
+"komplentan konektitan helpon.\n"
+"\n"
+" * \"%s\": ebligas vin konfiguri HTTP- kaj FTP-prokurajn adresojn se la "
+"maÅino,\n"
+"sur kiu vi instalas, estos lokita malantaÅ­ prokuran servilon.\n"
+"\n"
+" * \"%s\": tiu punkto ebligas vin redifini la sekurec-nivelon metitan en\n"
+"antaÅ­a paÅo ().\n"
+"\n"
+" * \"%s\": se vi planas konekti vian maÅinon al Interreto, tiam estas bona\n"
+"ideo protekti vin kontraÅ­ entrudiÄoj per agordi fajroÅirmilon. Konsultu\n"
+"la respondan sekcion de la ''Start-Gvidilo'' por detaloj pri\n"
+"agordado de fajroÅirmilo.\n"
+"\n"
+" * \"%s\": se vi deziras ÅanÄi la konfiguraĵon de via startigilo, alklaku "
+"tiun\n"
+"butonon. Tio estu prefere por progresintaj uzuloj. Konsultu la presitan\n"
+"dokumentaĵon aŭ la html-helpon pri konfigurado de startigilo en la\n"
+"Mandriva-Linuksa Regejo.\n"
+"\n"
+" * \"%s\": per tiu punkto vi povas detaligi kiuj servoj ruliÄu\n"
+"sur via maÅino. Se vi planas uzi tiun ĉi maÅinon kiel servilon, tiam estus "
+"bone\n"
+"revizii tiun ĉi agordon."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN-karto"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-karto"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafika interfaco"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Elektu la fiksdiskon kiun vi deziras forviÅi por instali vian novan\n"
+"Mandriva-Linuksan subdiskon. Estu zorgema, ĉar ĉiuj datenoj en tiu disko "
+"perdiÄos\n"
+"kaj ne rehaveblos!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Alklaku \"%s\" se vi deziras forviÅi ĉiujn datenojn kaj subdiskojn kiuj "
+"troviÄas sur\n"
+"via fiksdisko. Estu zorgema, ĉar post alklaki sur \"%s\", vi ne kapablos\n"
+"rehavi iajn ajn datenojn kaj subdiskojn kiuj troviÄas sur tiu ĉi fiksdisko,\n"
+"inkluzive de ĉia ajn vindozaj datenoj.\n"
+"\n"
+"Alklaku \"%s\" por forlasi tiun operacion sen perdi datenojn kaj subdiskojn\n"
+"kiuj troviÄas sur tiu ĉi fiksdisko."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sekvanta ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- AntaÅ­a"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": klaki sur la butonon \"%s\" malfermos la sorĉilon de la presila\n"
+#~ "konfigurado. Konsultu la tiurilatan ĉapitron de la ''Start-Gvidilo'' por "
+#~ "pli da\n"
+#~ "informoj pri kiel agordi novan presilon. La interfaco prezentita en nia\n"
+#~ "manlibro similas al tiu uzata dum instalado."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Tiu ĉi estas la plej grava decido-punkto por la sekureco de via GNU/"
+#~ "Linuksa sistemo: vi devas enigi la pasvorton por \"root\". \"Root\" estas "
+#~ "la sistem-mastrumanto\n"
+#~ "estas la sola uzulo kun la permeso fari Äisdatigojn, aldoni uzulojn,\n"
+#~ "ÅanÄi la tutan sistem-konfiguraĵon, kaj tiel plu. Mallonge, \"root\" "
+#~ "povas\n"
+#~ "fari ĉion! Pro tio vi devas elekti pasvorton kiu estu malfacile "
+#~ "divinebla:\n"
+#~ "DrakX diros al vi ĉu la pasvorto de vi elektita estas tro simpla. Kiel vi "
+#~ "povas vidi,\n"
+#~ "vi ne estas devigata enigi pasvorton, sed ni forte malkonsilas tion.\n"
+#~ "GNU/Linukso estas elmetita al eraroj de mastrumanto kiel ĉia alia\n"
+#~ "mastrum-sistemo. Ĉar \"root\" povas superi ĉiuj limojn kaj\n"
+#~ "senintence forviÅi ĉiujn datenojn sur subdiskoj per senzorga aliro al\n"
+#~ "la subdiskoj mem, estas grave ke estu malfacile\n"
+#~ "fariÄi \"root\".\n"
+#~ "\n"
+#~ "La pasvorto estu prefere miksaĵo el alfanumeraj signoj kaj almenaŭ 8\n"
+#~ "signojn longa. Nenima skribu la pasvorton de \"root\" -- tio multe tro\n"
+#~ "faciligus damaÄi vian sistemon.\n"
+#~ "\n"
+#~ "Konsileto: ne faru la pasvorton tro longa aŭ tro komplika, ĉar vi\n"
+#~ "devas esti kapabla memori Äin!\n"
+#~ "\n"
+#~ "La pasvorto ne aperos sur la ekrano kiam vi entajpas Äin. Por redukti la\n"
+#~ "eblecon de blinda tajperaro, vi devas enigi la pasvorton dufoje. Se\n"
+#~ "vi hazarde faras la saman tajperaron dufoje, vi devos uzi tiun\n"
+#~ "''malÄustan'' pasvorton por la unua fojo kiam vi provas konektiÄi kiel "
+#~ "\"root\".\n"
+#~ "\n"
+#~ "Se vi deziras ke legitimado-servilo kontrolu la aliron al via komputilo,\n"
+#~ "alklaku la butonon \"%s\".\n"
+#~ "\n"
+#~ "Se via reto uzas LDAP, NIS aÅ­ PDC-Windows Domain legitimadajn servojn,\n"
+#~ "selektu la taÅ­gan por \"%s\". Se vi ne scias, kiun\n"
+#~ "uzi, vi devus demandi vian ret-mastrumanton.\n"
+#~ "\n"
+#~ "Se vi hazarde havas problemon por memori pasvortojn, aÅ­ se via\n"
+#~ "komputilo estos neniam konektata al Interreto kaj se vi absolute fidas\n"
+#~ "ĉiun kiu uzas vian komputilon, vi povas elekti \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "legitimado"
diff --git a/perl-install/install/help/po/es.po b/perl-install/install/help/po/es.po
new file mode 100644
index 000000000..d1ac36b90
--- /dev/null
+++ b/perl-install/install/help/po/es.po
@@ -0,0 +1,2140 @@
+# traducción de DrakX-es.po to Español
+# spanish translation of DrakX
+# Copyright (C) 2000, 2001,2002 Mandriva S.A.
+# Fabian Mandelbaum <fabman@mandriva.com>, 2000, 2001, 2002,2003, 2004.
+# Fabian Mandelbaum <fmandelbaum@hotmail.com>, 2003, 2004.
+# Pablo Saratxaga <pablo@mandriva.com>, 2004.
+# Jaime Crespo <505201@unizar.es>, 2004, 2005.
+# José Manuel Pérez <jmprodu@hotmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-es\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-04-24 11:46+0200\n"
+"Last-Translator: José Manuel Pérez <jmprodu@hotmail.com>\n"
+"Language-Team: Español <es@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, debería leer cuidadosamente los términos de la\n"
+"licencia. La misma cubre a toda la distribución Mageia. Si está de\n"
+"acuerdo con todos los términos en la misma, haga clic en el botón \"%s\".\n"
+"Si no, haga clic en el botón \"%s\" lo que reiniciará su computadora."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux es un sistema multiusuario, y esto significa que cada usuario\n"
+"puede tener sus preferencias propias, sus archivos propios, y así\n"
+"sucesivamente. Puede leer la \"Guía de Comienzo\" para aprender más. Pero,\n"
+"a diferencia de \"root\", que es el administrador del sistema, los usuarios\n"
+"que agregue en este punto no estarán autorizados a cambiar nada excepto su\n"
+"configuración y sus archivos propios, protegiendo al sistema contra cambios\n"
+"no intencionales o maliciosos que pueden impactar al sistema como un todo.\n"
+"Tendrá que crear al menos un usuario no privilegiado para Usted mismo - esa\n"
+"cuenta es la que debería utilizar para el uso rutinario diario. Aunque es\n"
+"muy práctico ingresar como \"root\" para hacer cualquier cosa y de todo,\n"
+"¡también puede ser muy peligroso! Un error podría significar que su sistema\n"
+"deje de funcionar. Si comete un error serio como usuario no privilegiado,\n"
+"sólo puede llegar a perder algo de información, pero no afectar a todo el\n"
+"sistema.\n"
+"\n"
+"El primer campo le pide un nombre real. Por supuesto, esto no es\n"
+"obligatorio - en realidad, puede ingresar lo que desee. DrakX usará la\n"
+"primer palabra que ingresó y la copiará al campo \"%s\", que es el nombre\n"
+"que este usuario en particular usará para ingresar al sistema. Si lo desea,\n"
+"puede omitir lo predeterminado y cambiar el nombre de usuario. El próximo\n"
+"paso es ingresar una contraseña. La contraseña de un usuario no\n"
+"privilegiado (regular) no es tan crucial como la de \"root\" desde el punto\n"
+"de vista de la seguridad, pero esto no es razón alguna para obviarla o\n"
+"hacerla muy simple: después de todo, son sus archivos los que podrían estar\n"
+"en peligro.\n"
+"\n"
+"Una vez que hace clic sobre \"%s\", puede agregar otros usuarios. Agregue\n"
+"un usuario para cada uno de sus amigos: por ejemplo su padre o su hermana.\n"
+"Haga clic sobre \"%s\" cuando haya terminado de agregar todos los usuarios\n"
+"que desee.\n"
+"\n"
+"Hacer clic sobre el botón \"%s\" le permite cambiar el \"shell\"\n"
+"predeterminado para ese usuario (bash, por defecto)\n"
+"\n"
+"Cuando haya finalizado de añadir todos los usuarios se le propone elegir un\n"
+"usuario para conectarse automáticamente en el sistema cuando arranca la\n"
+"computadora. Si está interesado en esta característica (y no le importa\n"
+"mucho la seguridad local), elija el usuario y administrador de ventanas\n"
+"deseado. Si no está interesado en esta característica, quite la marca de la\n"
+"casilla \"%s\". Haga clic sobre \"%s\" una vez que seleccionó su\n"
+"preferencia."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "¿Desea usar esta característica?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aquí se listan las particiones Linux existentes que se detectaron en su\n"
+"disco rígido. Puede mantener las elecciones hechas por el asistente, ya que\n"
+"las mismas son buenas para las instalaciones más comunes. Si hace cambios,\n"
+"al menos debe definir una partición raíz (\"/\"). No elija una partición\n"
+"muy pequeña o no podrá instalar software suficiente. Si desea almacenar sus\n"
+"datos en una partición separada, también puede necesitar crear una\n"
+"partición para \"/home\" (sólo es posible si tiene más de una partición\n"
+"Linux disponible)\n"
+"\n"
+"Cada partición se lista como sigue: \"Nombre\", \"Capacidad\".\n"
+"\n"
+"\"Nombre\" está estructurado: \"tipo de disco rígido\", \"número de disco\n"
+"rígido\", \"número de partición\" (por ejemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco rígido\" es \"hd\" si su disco es un disco IDE y \"sd\" si\n"
+"el mismo es un disco SCSI.\n"
+"\n"
+"\"Número de disco rígido\" siempre es una letra que sigue a \"hd\" o a\n"
+"\"sd\". Para los discos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido maestro en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"b\" significa \"disco rígido esclavo en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"c\" significa \"disco rígido maestro en la controladora IDE\n"
+"secundaria\",\n"
+"\n"
+" * \"d\" significa \"disco rígido esclavo en la controladora IDE\n"
+"secundaria\".\n"
+"\n"
+"Para los discos SCSI, una \"a\" significa \"SCSI ID menor\", una \"b\"\n"
+"significa \"segunda SCSI ID menor\", etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La instalación de Mageia se distribuye en varios CD-ROM. Si un\n"
+"paquete seleccionado se encuentra en otro CD-ROM, DrakX expulsará el CD\n"
+"corriente y le pedirá que inserte el necesario. Si no tiene el CD necesario\n"
+"a mano, simplemente haga clic sobre \"%s\", no se instalarán los paquetes\n"
+"correspondientes."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Ahora es el momento de especificar los programas que desea instalar en su\n"
+"sistema. Hay miles de paquetes disponibles para Mageia, y para hacer\n"
+"más simple el manejo de los paquetes, los mismos se han puesto en grupos de\n"
+"aplicaciones similares.\n"
+"\n"
+"Mageia clasifica los grupos de paquetes en cuatro categorías. Puede\n"
+"mezclar y hacer coincidir aplicaciones de varias categorías, por lo que una\n"
+"instalación de \"Estación de trabajo\" puede tener instaladas aplicaciones\n"
+"de la categoría \"Desarrollo\".\n"
+"\n"
+" * \"%s\": si planifica utilizar su máquina como una estación de trabajo,\n"
+"seleccione una o más aplicaciones de la categoría estación de trabajo.\n"
+"\n"
+" * \"%s\": si planifica utilizar su máquina para programar, elija los\n"
+"grupos apropiados de esa categoría. El grupo especial \"LSB\" configurará\n"
+"su sistema de forma tal que cumpla tanto como sea posible con las\n"
+"especificaciones Linux Standard Base.\n"
+"\n"
+" Si selecciona el grupo \"LSB\" también se instalará la serie del núcleo\n"
+"\"2.4\", en vez de la serie predeterminada \"2.6\". Esto es para asegurar\n"
+"una compatibilidad 100%% con LSB del sistema. Sin embargo, si no selecciona\n"
+"el grupo \"LSB\" todavía obtendrá un sistema que es casi 100%% compatible\n"
+"con LSB.\n"
+"\n"
+" * \"%s\": si pretende usar la máquina como un servidor, seleccione cuáles\n"
+"de los servicios más comunes desea instalar en su máquina.\n"
+"\n"
+" * \"%s\": aquí es donde seleccionará su entorno gráfico preferido. Si\n"
+"desea tener una estación de trabajo gráfica, debe seleccionar al menos uno.\n"
+"\n"
+"Si mueve el cursor del ratón sobre el nombre de un grupo se mostrará un\n"
+"pequeño texto explicativo acerca de ese grupo.\n"
+"\n"
+"Puede marcar la casilla \"%s\" que es útil si está familiarizado con los\n"
+"paquetes que se ofrecen, o si desea tener un control total sobre lo que se\n"
+"instalará.\n"
+"\n"
+"Si inició la instalación en el modo \"%s\", puede deseleccionar todos los\n"
+"grupos para evitar la instalación de cualquier paquete nuevo. Esto es útil\n"
+"para reparar o actualizar un sistema existente.\n"
+"\n"
+"Si deselecciona todos los grupos cuando está realizando una instalación\n"
+"regular (es decir, no una actualización), aparecerá un diálogo que sugiere\n"
+"opciones diferentes para una instalación mínima:\n"
+"\n"
+" * \"%s\": instala la menor cantidad de paquetes posible para tener un\n"
+"escritorio gráfico que funcione.\n"
+"\n"
+" * \"%s\": instala el sistema base más algunos utilitarios básicos y la\n"
+"documentación de los mismos. Esta instalación es adecuada para configurar\n"
+"un servidor.\n"
+"\n"
+" * \"%s\": instalará el mínimo necesario estricto para obtener un sistema\n"
+"Linux que funciona. Con esta instalación sólo tendrá una interfaz de línea\n"
+"de comandos. Esta instalación ocupa alrededor de 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualización"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con documentación básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalación realmente mínima"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Si eligió instalar los paquetes de manera individual, el instalador\n"
+"presentará un árbol que contiene todos los paquetes clasificados por grupos\n"
+"y subgrupos. Mientras navega por el árbol puede seleccionar grupos enteros,\n"
+"subgrupos, o paquetes individuales.\n"
+"\n"
+"Tan pronto como selecciona un paquete en el árbol, aparece una descripción\n"
+"del mismo sobre la derecha que le permite conocer el propósito del paquete.\n"
+"\n"
+"Es muy probable que la gran mayoría de las descripciones de los paquetes\n"
+"estén en inglés.\n"
+"\n"
+"!! Si ha sido seleccionado un paquete de servidor, ya sea porque Usted\n"
+"seleccionó específicamente el paquete individual o porque el mismo era\n"
+"parte de un grupo de paquetes, se le pedirá que confirme que realmente\n"
+"desea que se instalen esos servidores. De manera predeterminada,\n"
+"Mageia iniciará automáticamente todos los servicios instalados al\n"
+"momento del arranque. Aunque estos son seguros y no tienen problemas\n"
+"conocidos al momento en que se publicó la distribución, es muy posible que\n"
+"se descubran vulnerabilidades en la seguridad luego que se terminó con esta\n"
+"versión de Mageia. Si no sabe que es lo que se supone que hace un\n"
+"servicio o la razón por la cual se está instalando, entonces haga clic\n"
+"sobre \"%s\". Si hace clic sobre \"%s\" se instalarán todos los servicios\n"
+"listados y los mismos se iniciarán automáticamente al momento del arranque.\n"
+"!!\n"
+"\n"
+"La opción \"%s\" se usa para deshabilitar el diálogo de advertencia que\n"
+"aparece cada vez que el instalador selecciona automáticamente un paquete\n"
+"para resolver un problema de dependencias. Algunos paquetes dependen de\n"
+"otros y la instalación de un paquete en particular puede requerir la\n"
+"instalación de otro paquete. El instalador puede determinar qué paquetes se\n"
+"necesitan para satisfacer una dependencia para poder completar la\n"
+"instalación de manera satisfactoria.\n"
+"\n"
+"El pequeño icono del disquete en la parte inferior de la lista le permite\n"
+"cargar la lista de paquetes elegida durante una instalación previa. Esto es\n"
+"útil si Usted tiene una cantidad de máquinas que desea configurar de manera\n"
+"idéntica. Al hacer clic sobre este icono se le pedirá que inserte un\n"
+"disquete creado al final de otra instalación. Vea el segundo consejo del\n"
+"último paso para información sobre como crear dicho disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependencias automáticas"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo se usa para elegir cuáles servicios Usted desea que se inicien\n"
+"durante el arranque.\n"
+"\n"
+"DrakX listará todos los servicios disponibles en la instalación corriente.\n"
+"Revíselos con cuidado y quite la marca de aquellos que no son necesarios al\n"
+"arrancar.\n"
+"\n"
+"Cuando se selecciona un servicio obtendrá un pequeño texto explicativo\n"
+"acerca del mismo. Sin embargo, si no está seguro si un servicio es útil o\n"
+"no, es más seguro dejar el comportamiento predeterminado.\n"
+"\n"
+"!! Tenga mucho cuidado en esta etapa si pretende usar su máquina como un\n"
+"servidor: probablemente no desea iniciar servicios que no necesita. Por\n"
+"favor recuerde que algunos servicios pueden ser peligrosos si están\n"
+"habilitados en un servidor. En general, seleccione sólo aquellos servicios\n"
+"que realmente necesita. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux administra la hora en GMT (\"Greenwich Mean Time\", Hora del\n"
+"Meridiano de Greenwich) y la traduce a la hora local de acuerdo al huso\n"
+"horario que Usted seleccionó. Sin embargo, es posible desactivar esto\n"
+"quitando la marca de la casilla \"%s\", lo que hará que GNU/Linux sepa que\n"
+"el reloj del sistema y el reloj de hardware están en el mismo huso horario.\n"
+"Esto es útil cuando la máquina también alberga otro sistema operativo.\n"
+"\n"
+"La opción \"%s\" regulará automáticamente el reloj del sistema conectándose\n"
+"a un servidor remoto de la hora en la Internet. Para que esta\n"
+"característica funcione, debe tener una conexión con la Internet\n"
+"funcionando. Le recomendamos que elija un servidor de la hora ubicado cerca\n"
+"de Usted. En realidad, esta opción instala un servidor de la hora que\n"
+"también puede ser utilizado por otras máquinas en su red local."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronización automática de la hora"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Tarjeta gráfica\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente la\n"
+"tarjeta de vídeo instalada en su máquina. Si este no es el caso, en esta\n"
+"lista puede elegir la tarjeta que realmente tiene instalada.\n"
+"\n"
+" En caso de que estén disponibles diferentes servidores para su tarjeta,\n"
+"con o sin aceleración de 3D, entonces se le va a proponer elegir el\n"
+"servidor que mejor satisface sus necesidades."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (por \"X Window System\") es el corazón de la interfaz gráfica de\n"
+"GNU/Linux en el que se apoyan todos los entornos gráficos (KDE, GNOME,\n"
+"AfterStep, WindowMaker, etc.) que se incluyen con Mageia.\n"
+"\n"
+"Se le presentará la lista de parámetros diferentes a cambiar para obtener\n"
+"una presentación gráfica óptima.\n"
+"\n"
+"Tarjeta gráfica\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente la\n"
+"tarjeta de vídeo instalada en su máquina. Si este no es el caso, en esta\n"
+"lista puede elegir la tarjeta que realmente tiene instalada.\n"
+"\n"
+" En caso de que estén disponibles diferentes servidores para su tarjeta,\n"
+"con o sin aceleración de 3D, entonces se le va a proponer elegir el\n"
+"servidor que mejor satisface sus necesidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente el\n"
+"monitor conectado a su máquina. Si es incorrecto, en esta lista puede\n"
+"elegir el monitor que realmente posee.\n"
+"\n"
+"\n"
+"\n"
+"Resolución\n"
+"\n"
+" Aquí puede elegir las resoluciones y profundidades de color disponibles\n"
+"para su hardware de gráficos. Seleccione la que mejor se ajuste a sus\n"
+"necesidades (podrá hacer cambios luego de la instalación). En la imagen del\n"
+"monitor se muestra un ejemplo de la configuración elegida.\n"
+"\n"
+"\n"
+"\n"
+"Probar\n"
+"\n"
+" Esta entrada puede no aparecer, dependiendo de su hardware.\n"
+"\n"
+" El sistema intentará abrir una pantalla gráfica con la resolución\n"
+"deseada. Si ve el mensaje durante la prueba, y responde \"%s\", entonces\n"
+"DrakX continuará con el paso siguiente. Si no puede ver el mensaje,\n"
+"entonces significa que alguna parte de la configuración detectada\n"
+"automáticamente era incorrecta y la prueba terminará automáticamente luego\n"
+"de unos segundos, restaurando el menú. Cambie los ajustes hasta obtener una\n"
+"pantalla gráfica correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opciones\n"
+"\n"
+" Este paso le permite elegir si desea que su máquina cambie\n"
+"automáticamente a la interfaz gráfica al arrancar. Obviamente, querrá\n"
+"marcar \"%s\" si su sistema actuará como servidor, o si no tuvo éxito en la\n"
+"configuración de su pantalla."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente el\n"
+"monitor conectado a su máquina. Si es incorrecto, en esta lista puede\n"
+"elegir el monitor que realmente posee."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolución\n"
+"\n"
+" Aquí puede elegir las resoluciones y profundidades de color disponibles\n"
+"para su hardware de gráficos. Seleccione la que mejor se ajuste a sus\n"
+"necesidades (podrá hacer cambios luego de la instalación). En la imagen del\n"
+"monitor se muestra un ejemplo de la configuración elegida."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"En caso de que estén disponibles diferentes servidores para su tarjeta, con\n"
+"o sin aceleración de 3D, entonces se le va a proponer elegir el servidor\n"
+"que mejor satisface sus necesidades."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opciones\n"
+"\n"
+" Este paso le permite elegir si desea que su máquina cambie\n"
+"automáticamente a la interfaz gráfica al arrancar. Obviamente, querrá\n"
+"marcar \"%s\" si su sistema actuará como servidor, o si no tuvo éxito en la\n"
+"configuración de su pantalla."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ahora necesita elegir el lugar de su disco rígido donde se instalará su\n"
+"sistema operativo Mageia. Si su disco rígido está vacío o si un\n"
+"sistema operativo existente está utilizando todo el espacio disponible,\n"
+"necesitará particionar el disco. Básicamente, particionar un disco rígido\n"
+"consiste en dividirlo lógicamente para crear espacio para instalar su\n"
+"sistema Mageia nuevo.\n"
+"\n"
+"Debido a que el proceso de particionado de un disco rígido por lo general\n"
+"es irreversible y puede llevar a pérdida de datos, el particionado puede\n"
+"ser intimidante y estresante si Usted es un usuario inexperto. Por fortuna,\n"
+"DrakX incluye un asistente que simplifica este proceso. Antes de continuar\n"
+"con este paso, por favor lea el resto de esta sección y, por sobre todo,\n"
+"tómese su tiempo.\n"
+"\n"
+"Dependiendo de la configuración de su disco rígido, están disponibles\n"
+"varias opciones:\n"
+"\n"
+" * \"%s\". Esta opción simplemente llevará a un particionado automático de\n"
+"su(s) disco(s) vacío(s). Si elige esta opción, no se le pedirán más\n"
+"detalles ni se le formularán más preguntas.\n"
+"\n"
+" * \"%s\". El asistente ha detectado una o más particiones Linux existentes\n"
+"en su disco rígido. Si desea utilizarlas, elija esta opción. Entonces se le\n"
+"pedirá que elija los puntos de montaje asociados a cada una de las\n"
+"particiones. Los puntos de montaje legados se seleccionan de manera\n"
+"predeterminada, y por lo general es buena idea mantenerlos.\n"
+"\n"
+" * \"%s\". Si Microsoft Windows está instalado en su disco rígido y ocupa\n"
+"todo el espacio disponible en el mismo, Usted tendrá que liberar espacio\n"
+"para Linux. Para hacerlo, puede borrar su partición y datos Microsoft\n"
+"Windows (vea la solución \"Borrar el disco entero\") o cambiar el tamaño de\n"
+"su partición Microsoft Windows FAT o NTFS. El cambio de tamaño se puede\n"
+"realizar sin la pérdida de datos, siempre y cuando Usted haya\n"
+"desfragmentado con anterioridad la partición Windows. Es altamente\n"
+"recomendable hacer una copia de respaldo de sus datos. Se recomienda usar\n"
+"esta solución si desea utilizar tanto Mageia como Microsoft Windows\n"
+"en la misma computadora.\n"
+"\n"
+" Antes de elegir esta opción, por favor comprenda que después de este\n"
+"procedimiento el tamaño de su partición Microsoft Windows será más pequeño\n"
+"que cuando comenzó. Tendrá menos espacio bajo Microsoft Windows para\n"
+"almacenar sus datos o instalar software nuevo.\n"
+"\n"
+" * \"%s\". Si desea borrar todos los datos y todas las particiones\n"
+"presentes en su disco rígido y reemplazarlos con su nuevo sistema\n"
+"Mageia, seleccione esta opción. Tenga cuidado con esta solución ya\n"
+"que no podrá revertir su elección después de confirmarla.\n"
+"\n"
+" !! Si elige esta opción, se perderán todos los datos en su disco. !!\n"
+"\n"
+" * \"%s\". Esta opción aparece cuando todo el disco está tomado por\n"
+"Microsoft Windows. Al elegir esta opción simplemente se borrará todo el\n"
+"disco y se comenzará desde cero, particionando todo de nuevo.\n"
+"\n"
+" !! Si elige esta opción, se perderán todos los datos en su disco. !!\n"
+"\n"
+" * \"%s\": elija esta opción si desea particionar manualmente su disco\n"
+"rígido. Tenga cuidado - esta es una elección potente pero peligrosa y puede\n"
+"perder todos sus datos con facilidad. Esa es la razón por la cual esta\n"
+"opción realmente sólo se recomienda si ha hecho algo como esto antes y\n"
+"tiene algo de experiencia. Para más instrucciones acerca de la utilización\n"
+"del utilitario DiskDrake, consulte la sección \"Administrar sus\n"
+"particiones\" de la \"Guía de Comienzo\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar la partición existente"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borrar el disco entero"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ya está. Ahora la instalación está completa y su sistema GNU/Linux está\n"
+"listo para ser utilizado. Simplemente haga clic sobre \"%s\" para volver a\n"
+"arrancar el sistema. Lo primero que debería ver tan pronto como su máquina\n"
+"haya finalizado sus pruebas de hardware, es el menú del cargador de\n"
+"arranque dándole la opción de elegir que sistema operativo arrancar.\n"
+"\n"
+"El botón \"%s\" le muestra dos botones más:\n"
+"\n"
+" * \"%s\": le permite crear un disquete de instalación que realizará una\n"
+"instalación completa automáticamente, sin la asistencia de un operador,\n"
+"similar a la instalación que ha configurado recién.\n"
+"\n"
+" Note que hay dos opciones diferentes disponibles después de hacer clic\n"
+"sobre ese botón:\n"
+"\n"
+" * \"%s\". Esta es una instalación parcialmente automatizada. La etapa\n"
+"de particionado es el único procedimiento interactivo.\n"
+"\n"
+" * \"%s\". Instalación completamente automatizada: el disco rígido se\n"
+"sobreescribe por completo, y se pierden todos los datos.\n"
+"\n"
+" Esta característica es muy útil cuando se instala una cantidad grande de\n"
+"máquinas similares. Consulte la sección Auto install (en inglés) en nuestro\n"
+"sitio web para más información.\n"
+"\n"
+" * \"%s\"(*): guarda una lista de los paquetes seleccionados en esta\n"
+"instalación. Para usar esta selección con otra instalación, inserte el\n"
+"disquete en la disquetera y comience la instalación. En el prompt, presione\n"
+"la tecla [F1], y a continuación ingrese >>linux defcfg=\"floppy\"<< y\n"
+"presione la tecla [Intro].\n"
+"\n"
+"(*) Necesita un disquete formateado con FAT. Para crear uno bajo GNU/Linux\n"
+"teclee \"mformat a:\", o \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generar un disquete de instalación automática"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si desea volver a utilizar algunas particiones GNU/Linux legadas, puede\n"
+"desear volver a formatear algunas de ellas y borrar cualquier dato que\n"
+"pudieran contener. Para hacerlo, por favor seleccione también dichas\n"
+"particiones.\n"
+"\n"
+"Por favor note que no es necesario volver a formatear todas las particiones\n"
+"preexistentes. Debe volver a formatear las particiones que contienen el\n"
+"sistema operativo (tales como \"/\", \"/usr\" o \"/var\") pero no tiene que\n"
+"volver a formatear particiones que contienen datos que desea preservar\n"
+"(típicamente \"/home\")\n"
+"\n"
+"Por favor, tenga sumo cuidado cuando selecciona las particiones. Después de\n"
+"formatear se borrarán todos los datos en las particiones seleccionadas y no\n"
+"podrá recuperarlos en absoluto.\n"
+"\n"
+"Haga clic sobre \"%s\" cuando esté listo para formatear las particiones.\n"
+"\n"
+"Haga clic sobre \"%s\" si desea elegir otra partición para la instalación\n"
+"de su sistema operativo Mageia nuevo.\n"
+"\n"
+"Haga clic sobre \"%s\" si desea seleccionar las particiones del disco en\n"
+"las que se buscarán bloques defectuosos."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Es probable que cuando instale Mageia algunos paquetes se hayan\n"
+"actualizado desde la publicación inicial. Se pueden haber corregido errores\n"
+"y solucionado problemas de seguridad. Para permitir que Usted se beneficie\n"
+"de estas actualizaciones, ahora las puede descargar desde la Internet.\n"
+"Marque \"%s\" si tiene funcionando una conexión con la Internet, o \"%s\"\n"
+"si prefiere instalar los paquetes actualizados más tarde.\n"
+"\n"
+"Al elegir \"%s\" se mostrará una lista de lugares desde los que se pueden\n"
+"obtener las actualizaciones. Debería elegir el más cercano a Usted.\n"
+"Aparecerá un árbol de selección de paquetes: revise la selección y presione\n"
+"\"%s\" para obtener e instalar los paquetes seleccionados, o \"%s\" para\n"
+"abortar."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"En este punto, DrakX le permitirá elegir el nivel de seguridad que desea\n"
+"para su máquina. Como regla general, el nivel de seguridad debería ser\n"
+"mayor si la máquina va a contener datos cruciales, o si estará expuesta\n"
+"directamente a la Internet. No obstante, un nivel de seguridad más alto\n"
+"generalmente se obtiene a expensas de la facilidad de uso.\n"
+"\n"
+"Si no sabe cual elegir, mantenga la opción predeterminada. Podrá cambiarla\n"
+"más adelante con la herramienta draksec, que es parte del Centro de Control\n"
+"de Mageia.\n"
+"\n"
+"Complete el campo \"%s\" con la dirección de correo electrónico de la\n"
+"persona responsable de la seguridad. Los mensajes relativos a la seguridad\n"
+"se enviarán a esa dirección."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de seguridad"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Ahora necesita elegir qué particiones se utilizarán para la instalación de\n"
+"su sistema Mageia. Si ya se han definido particiones, ya sea por\n"
+"una instalación previa de GNU/Linux o con otra herramienta de particionado,\n"
+"puede utilizarlas. De lo contrario, se deben definir particiones en el\n"
+"disco rígido.\n"
+"\n"
+"Para crear particiones, primero debe seleccionar un disco rígido. Puede\n"
+"seleccionar el disco a particionar haciendo clic sobre \"hda\" para el\n"
+"primer disco IDE, \"hdb\" para el segundo, \"sda\" para el primer disco\n"
+"SCSI y así sucesivamente.\n"
+"\n"
+"Para particionar el disco rígido seleccionado, puede utilizar estas\n"
+"opciones:\n"
+"\n"
+" * \"%s\": esta opción borra todas las particiones sobre el disco\n"
+"seleccionado.\n"
+"\n"
+" * \"%s\": esta opción le permite crear particiones ext4 y swap\n"
+"automáticamente en el espacio libre de su disco rígido.\n"
+"\n"
+"\"%s\": le da acceso a características adicionales:\n"
+"\n"
+" * \"%s\": guarda la tabla de particiones en un disquete. Útil para\n"
+"recuperar la tabla de particiones más adelante en caso que sea necesario.\n"
+"Es altamente recomendable realizar este paso.\n"
+"\n"
+" * \"%s\": esta opción le permitirá restaurar una tabla de particiones\n"
+"guardada previamente en un disquete.\n"
+"\n"
+" * \"%s\": si su tabla de particiones está dañada puede intentar\n"
+"recuperarla utilizando esta opción. Por favor, tenga cuidado y recuerde que\n"
+"puede fallar.\n"
+"\n"
+" * \"%s\": descarta todos los cambios y carga la tabla de particiones que\n"
+"estaba originalmente en el disco rígido.\n"
+"\n"
+" * \"%s\": si desmarca esta opción los usuarios estarán forzados a montar y\n"
+"desmontar manualmente los soportes removibles como los disquetes y los\n"
+"CD-ROM.\n"
+"\n"
+" * \"%s\": use esta opción si desea utilizar un asistente para particionar\n"
+"su disco rígido. Se recomienda esto si no tiene un buen conocimiento del\n"
+"particionado.\n"
+"\n"
+" * \"%s\": use esta opción para deshacer sus cambios.\n"
+"\n"
+" * \"%s\": permite realizar acciones adicionales sobre las particiones\n"
+"(tipo, opciones, formatear) y brinda más información acerca del disco\n"
+"rígido.\n"
+"\n"
+" * \"%s\": cuando ha terminado de particionar su disco rígido, esto\n"
+"guardará sus cambios en el disco.\n"
+"\n"
+"Cuando se define el tamaño de una partición, puede realizar un ajuste fino\n"
+"del tamaño utilizando las teclas de las flechas de su teclado.\n"
+"\n"
+"Nota: todas las opciones son accesibles por medio del teclado. Navegue a\n"
+"través de las particiones usando [Tab] y las flechas [Arriba/Abajo].\n"
+"\n"
+"Cuando se selecciona una partición, puede utilizar:\n"
+"\n"
+" * [Ctrl] [C] para crear una partición nueva (cuando está seleccionada una\n"
+"partición vacía);\n"
+"\n"
+" * [Ctrl] [D] para borrar una partición;\n"
+"\n"
+" * [Ctrl] [M] para configurar el punto de montaje.\n"
+"\n"
+"Para obtener información sobre los distintos tipos de sistemas de archivos\n"
+"disponibles, por favor lea el capítulo acerca de ext2FS del \"Manual de\n"
+"Referencia\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montaje automático de soportes extraíbles"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Cambiar entre el modo normal/experto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Se ha detectado más de una partición Microsoft Windows en su disco rígido.\n"
+"Por favor, elija aquella a la cual desea cambiar el tamaño para poder\n"
+"instalar su sistema operativo Mageia nuevo.\n"
+"\n"
+"Cada partición se lista como sigue: \"Nombre Linux\", \"Nombre Windows\",\n"
+"\"Capacidad\".\n"
+"\n"
+"\"Nombre Linux\" está estructurado: \"tipo de disco rígido\", \"número de\n"
+"disco rígido\", \"número de partición\" (por ejemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco rígido\" es \"hd\" si su disco es un disco IDE y \"sd\" si\n"
+"el mismo es un disco SCSI.\n"
+"\n"
+"\"Número de disco rígido\" siempre es una letra que sigue a \"hd\" o a\n"
+"\"sd\". Para los discos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido maestro en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"b\" significa \"disco rígido esclavo en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"c\" significa \"disco rígido maestro en la controladora IDE\n"
+"secundaria\",\n"
+"\n"
+" * \"d\" significa \"disco rígido esclavo en la controladora IDE\n"
+"secundaria\".\n"
+"\n"
+"Para los discos SCSI, una \"a\" significa \"SCSI ID menor\", una \"b\"\n"
+"significa \"segunda SCSI ID menor\", etc.\n"
+"\n"
+"\"Nombre Windows\" es la letra de su unidad de disco bajo Windows (el\n"
+"primer disco o partición se denomina \"C:\")."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique la selección actual del país. Si Usted no se encuentra en\n"
+"este país haga clic sobre el botón \"%s\" y seleccione otro. Si su país no\n"
+"se muestra en la primer lista que se muestra, haga clic sobre el botón\n"
+"\"%s\" para obtener la lista completa de países."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Este paso se activa sólo si se encontró una partición GNU/Linux existente\n"
+"en su máquina.\n"
+"\n"
+"DrakX ahora necesita saber si desea realizar una instalación nueva o una\n"
+"actualización de un sistema Mageia existente:\n"
+"\n"
+" * \"%s\". En gran parte, esta opción borrará por completo el sistema\n"
+"anterior. Sin embargo, dependiendo de su esquema de particiones, puede\n"
+"evitar que se sobre-escriban algunos datos existentes (notablemente los\n"
+"directorios de \"home\"). Si desea cambiar la forma en la que se\n"
+"particionan sus discos, debería usar esta opción.\n"
+"\n"
+" * \"%s\": Esta clase de instalación le permite actualizar los paquetes que\n"
+"en este momento están instalados en su sistema Mageia. No se alteran\n"
+"las particiones corrientes de sus discos ni los datos de los usuarios. La\n"
+"mayoría de los otros pasos de configuración permanecen disponibles y son\n"
+"similares a una instalación estándar.\n"
+"\n"
+"El uso de la opción \"Actualizar\" debería funcionar sin problemas para los\n"
+"sistemas Mageia que corren la versión \"8.1\" o una posterior. No se\n"
+"recomienda realizar una actualización sobre versiones anteriores a\n"
+"Mageia versión \"8.1\"."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependiendo del idioma que eligió (ver ), DrakX seleccionará\n"
+"automáticamente un tipo particular de configuración del teclado. Verifique\n"
+"que la selección le satisface o elija otra distribución de teclado.\n"
+"\n"
+"También, puede ser que Usted no tenga un teclado que se corresponde\n"
+"exactamente con su idioma: por ejemplo, si Usted es un argentino que habla\n"
+"inglés, puede ser que tenga un teclado latino americano. O si habla\n"
+"castellano pero está en Inglaterra puede estar en la misma situación en la\n"
+"cual su idioma nativo y su teclado no coinciden. En cualquier caso, este\n"
+"paso de instalación le permitirá elegir un teclado apropiado de una lista.\n"
+"\n"
+"Haga clic sobre el botón \"%s\" para que se le presente la lista completa\n"
+"de los teclados soportados.\n"
+"\n"
+"Si eligió una distribución de teclado basada en un alfabeto no latino, el\n"
+"próximo diálogo le permitirá elegir la combinación de teclas que cambiará\n"
+"la distribución del teclado entre la latina y la no latina."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"El primer paso es elegir el idioma que prefiere.\n"
+"\n"
+"Su elección de idioma preferido afectará al idioma del instalador, de la\n"
+"documentación, y del sistema en general. Seleccione primero la región en la\n"
+"que se encuentra, y luego el idioma que habla.\n"
+"\n"
+"Al hacer clic sobre el botón \"%s\" (Avanzada) podrá seleccionar otros\n"
+"idiomas para instalar en su sistema, instalando así los archivos\n"
+"específicos para esos idiomas para la documentación y las aplicaciones. Por\n"
+"ejemplo, si albergará a gente de Francia en su máquina, seleccione Español\n"
+"como idioma principal en la vista de árbol y \"%s\" en la sección avanzada.\n"
+"\n"
+"Acerca del soporte UTF-8 (Unicode): Unicode es una codificación nueva de\n"
+"caracteres que pretende cubrir todos los idiomas existentes. Sin embargo,\n"
+"el soporte completo para Unicode bajo GNU/Linux todavía está en desarrollo.\n"
+"Por esta razón, Mageia lo usará o no dependiendo de las elecciones\n"
+"del usuario:\n"
+"\n"
+" * Si elige un idioma con codificación legada fuerte (idiomas latin1, ruso,\n"
+"japonés, chino, coreano, thai, griego, turco, la mayoría de los idiomas\n"
+"ISO-8859-2), de manera predeterminada se usará la codificación legada.\n"
+"\n"
+" * Otros idiomas utilizarán Unicode de manera predeterminada.\n"
+"\n"
+" * Si se necesitan dos o más idiomas, y dichos idiomas no utilizan la misma\n"
+"codificación, entonces el sistema completo utilizará Unicode.\n"
+"\n"
+" * Finalmente, también se puede forzar el uso de Unicode para todo el\n"
+"sistema a pedido del usuario seleccionando la opción \"%s\" sin importar\n"
+"qué idiomas han sido seleccionados.\n"
+"\n"
+"Note que no está limitado a elegir un único idioma adicional. Puede elegir\n"
+"varios, o incluso instalarlos a todos marcando la casilla \"%s\".\n"
+"Seleccionar el soporte para un idioma significa que se instalarán las\n"
+"traducciones, tipografías, correctores ortográficos, etc. para dicho\n"
+"idioma.\n"
+"\n"
+"Puede ejecutar el comando \"localedrake\" como \"root\" para cambiar el\n"
+"idioma de todo el sistema de uno a otro. Ejecutar el comando como usuario\n"
+"no privilegiado sólo cambiará la configuración de idioma para ese usuario\n"
+"en particular."
+
+# este es el idioma de ejemplo en la ayuda de la seleccion de idiomas;
+# en la traduccion de la ayuda se usa el frances como idioma extra de ejemplo
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Français"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Por lo general, DrakX no tiene problemas en detectar la cantidad de botones\n"
+"de su ratón. Si no es así, asume que Usted tiene un ratón de dos botones y\n"
+"lo configurará para que emule el tercero. El tercer botón del ratón en un\n"
+"ratón de dos botones se puede \"obtener\" haciendo clic simultáneamente\n"
+"sobre el botón izquierdo y el derecho. DrakX sabrá automáticamente si su\n"
+"ratón utiliza una interfaz PS/2, serie o USB.\n"
+"\n"
+"En caso que tenga un ratón de 3 botones sin rueda, puede elegir un ratón\n"
+"\"%s\". Entonces, DrakX configurará su ratón de forma tal que pueda simular\n"
+"la rueda con el mismo: para hacerlo, presione el botón del medio y, sin\n"
+"soltarlo, mueva el puntero de su ratón arriba y abajo.\n"
+"\n"
+"Si, por alguna razón, desea especificar un tipo de ratón diferente,\n"
+"selecciónelo de la lista que se proporciona.\n"
+"\n"
+"Puede seleccionar la entrada \"%s\" para elegir un tipo de ratón\n"
+"\"genérico\" que funcionará con casi todos los ratones.\n"
+"\n"
+"Si elige un ratón distinto al predeterminado, se mostrará una pantalla de\n"
+"prueba. Use los botones y la rueda para verificar que los ajustes son\n"
+"correctos y que el ratón está funcionando correctamente. Si el ratón no\n"
+"está funcionando bien, presione la [barra espaciadora] o la tecla [Intro]\n"
+"para cancelar la prueba y volverá a la lista de opciones.\n"
+"\n"
+"Ocasionalmente, los ratones con rueda no se detectan automáticamente, por\n"
+"lo que deberá seleccionar su ratón de una lista. Debe asegurarse de\n"
+"seleccionar el correspondiente al puerto en el cual está conectado su\n"
+"ratón. Después de seleccionar un ratón y presionar el botón \"%s\", se\n"
+"mostrará la imagen de un ratón en la pantalla. Mueva la rueda de su ratón\n"
+"para asegurarse que está activa correctamente. A medida que mueva la rueda,\n"
+"verá que se mueve la rueda en la pantalla. Pruebe los botones y verifique\n"
+"que el puntero del ratón se mueve en la pantalla a medida que mueve su\n"
+"ratón."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Con emulación de rueda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Cualquier ratón PS/2 y USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Por favor, seleccione el puerto correcto. Por ejemplo, el puerto \"COM1\"\n"
+"bajo Windows se denomina \"ttyS0\" bajo GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un cargador de arranque es un pequeño programa que la computadora inicia al\n"
+"momento del arranque. Es el responsable de arrancar todo el sistema.\n"
+"Normalmente la instalación del cargador de arranque está completamente\n"
+"automatizada. DrakX analizará el sector de arranque del disco y actuará en\n"
+"función de lo que encuentre allí:\n"
+"\n"
+" * Si encuentra un sector de arranque de Windows, lo reemplazará con un\n"
+"sector de arranque de GRUB/LILO de forma tal que Usted pueda cargar\n"
+"GNU/Linux o cualquier otro sistema operativo instalado en su máquina.\n"
+"\n"
+" * Si encuentra un sector de arranque de GRUB o LILO, lo reemplazará con\n"
+"uno nuevo.\n"
+"\n"
+"Si no puede realizar una determinación, DrakX le preguntará dónde colocar\n"
+"el cargador de arranque. Generalmente, el \"%s\" es el lugar más seguro. Si\n"
+"no va a instalar cargador de arranque alguno seleccione \"%s\". Úselo\n"
+"solamente si sabe lo que está haciendo."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ahora es el momento de seleccionar un sistema de impresión para su\n"
+"computadora. Otros sistemas operativos pueden ofrecerle uno, pero\n"
+"Mageia le ofrece dos. Cada uno de los sistemas de impresión es más\n"
+"adecuado para tipos de configuración particulares.\n"
+"\n"
+" * \"%s\" - \"print, do not queue\" (imprimir sin poner en cola) es la\n"
+"elección si Usted tiene una conexión directa a su impresora y desea evitar\n"
+"el pánico de los papeles trabados, y no tiene impresora en red alguna\n"
+"(\"%s\" manejará sólo casos de red muy simples y es algo lento cuando se\n"
+"utiliza con las redes) Se recomienda utilizar \"pdq\" si esta es su primer\n"
+"experiencia con GNU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\"punta (Sistema de Impresión\n"
+"Común de Unix) es una elección excelente para imprimir en su impresora\n"
+"local o en una que se encuentre al otro lado del planeta. Es simple de\n"
+"configurar y puede actuar como servidor o cliente para el sistema de\n"
+"impresión antiguo \"lpd\", por lo que es compatible con sistemas operativos\n"
+"más antiguos que todavía pueden necesitar servicios de impresión. Si bien\n"
+"es bastante potente, la configuración básica es tan simple como la de\n"
+"\"pdq\". Si necesita que emule a un servidor \"lpd\", debe activar el\n"
+"demonio \"cups-lpd\". \"%s\" incluye interfaces gráficas para imprimir o\n"
+"elegir las opciones de la impresora y para administrar la impresora.\n"
+"\n"
+"Si hace una elección ahora y más tarde encuentra que a Usted no le gusta su\n"
+"sistema de impresión, puede cambiarlo ejecutando PrinterDrake desde el\n"
+"Centro de Control de Mageia y haciendo clic sobre el botón \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Experto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX primero detectará cualquier dispositivo IDE presente en su\n"
+"computadora. También buscará una o más tarjetas SCSI PCI en su sistema. Si\n"
+"se encuentra una tarjeta SCSI, DrakX instalará automáticamente el\n"
+"controlador apropiado.\n"
+"\n"
+"Debido a que la detección de hardware no es a prueba de errores, DrakX\n"
+"puede no detectar sus discos rígidos. De ser así, Usted tendrá que\n"
+"especificar su hardware manualmente.\n"
+"\n"
+"Si tuviese que especificar su adaptador SCSI PCI manualmente, DrakX le\n"
+"preguntará si desea configurar opciones para el mismo. Debería permitir a\n"
+"DrakX sondear el hardware en busca de las opciones específicas de la\n"
+"tarjeta que son necesarias para inicializar el adaptador. La mayoría de las\n"
+"veces, DrakX saldrá adelante en este paso sin problema alguno.\n"
+"\n"
+"Si DrakX no puede sondear las opciones para determinar automáticamente qué\n"
+"parámetros debe pasar al hardware, Usted deberá configurar manualmente el\n"
+"controlador."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": si se detecta una tarjeta de sonido en su sistema, la misma se\n"
+"mostrará aquí. Si nota que la tarjeta de sonido no es la que está realmente\n"
+"presente en su sistema, puede hacer clic sobre el botón y elegir un\n"
+"controlador diferente."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"A manera de revisión, DrakX presentará un resumen de las distintas\n"
+"informaciones que recopiló acerca de su sistema. Dependiendo del hardware\n"
+"instalado en su máquina, puede tener algunas o todas las entradas\n"
+"siguientes. Cada entrada está compuesta del elemento a configurar, seguido\n"
+"de un pequeño resumen de la configuración actual. Haga clic sobre el botón\n"
+"\"%s\" correspondiente para hacer los cambios.\n"
+"\n"
+" * \"%s\": verifique la configuración de la disposición actual del teclado\n"
+"y cámbiela si es necesario.\n"
+"\n"
+" * \"%s\": verifique la selección actual del país. Si Usted no se encuentra\n"
+"en este país haga clic sobre el botón \"%s\" y seleccione otro. Si su país\n"
+"no se muestra en la primer lista que se muestra, haga clic sobre el botón\n"
+"\"%s\" para obtener la lista completa de países.\n"
+"\n"
+" * \"%s\": De manera predeterminada DrakX deduce su huso horario basándose\n"
+"en el país que ha elegido. Puede hacer clic sobre el botón \"%s\" si esto\n"
+"no es correcto.\n"
+"\n"
+" * \"%s\": verifique la configuración del ratón y haga clic sobre el botón\n"
+"para cambiarla, si es necesario.\n"
+"\n"
+" * \"%s\": al hacer clic sobre el botón \"%s\" se abrirá el asistente de\n"
+"configuración de la impresora. Consulte el capítulo correspondiente de la\n"
+"\"Guía de Comienzo\" para más información sobre cómo configurar una\n"
+"impresora nueva. La interfaz presentada allí es similar a la utilizada\n"
+"durante la instalación.\n"
+"\n"
+" * \"%s\": si se detecta una tarjeta de sonido en su sistema, la misma se\n"
+"mostrará aquí. Si nota que la tarjeta de sonido no es la que está realmente\n"
+"presente en su sistema, puede hacer clic sobre el botón y elegir un\n"
+"controlador diferente.\n"
+"\n"
+" * \"%s\": si se detecta una tarjeta de TV en su sistema, la misma se\n"
+"muestra aquí. Si tiene una tarjeta de TV y la misma no se detecta, haga\n"
+"clic sobre \"%s\" para intentar configurarla a mano.\n"
+"\n"
+" * \"%s\": Puede hacer clic sobre \"%s\" para cambiar los parámetros\n"
+"asociados a la tarjeta si cree que no son los correctos.\n"
+"\n"
+" * \"%s\": de manera predeterminada DrakX configura su interfaz gráfica en\n"
+"\"800x600\" o \"1024x768\" de resolución. Si eso no le satisface, haga clic\n"
+"sobre \"%s\" para cambiar la configuración su interfaz gráfica.\n"
+"\n"
+" * \"%s\": si desea configurar ahora el acceso a la Internet o a su red\n"
+"local, puede hacerlo ahora. Consulte la documentación impresa o utilice el\n"
+"Centro de Control de Mageia luego que finalizó la instalación para\n"
+"aprovechar la ayuda en línea completa.\n"
+"\n"
+" * \"%s\": permite configurar las direcciones de los proxy HTTP y FTP si la\n"
+"máquina sobre la que está instalando estará ubicada detrás de un servidor\n"
+"proxy.\n"
+"\n"
+" * \"%s\": esta entrada le ofrece volver a definir el nivel de seguridad\n"
+"como se ajustó en un paso previo (ver ).\n"
+"\n"
+" * \"%s\": si planifica conectar su máquina a la Internet, es una buena\n"
+"idea protegerse de las intrusiones configurando un cortafuegos. Consulte la\n"
+"sección correspondiente de la \"Guía de Comienzo\" para detalles acerca de\n"
+"los ajustes del cortafuegos.\n"
+"\n"
+" * \"%s\": si desea cambiar la configuración de su cargador de arranque,\n"
+"haga clic sobre este botón. Esto debería estar reservado para los usuarios\n"
+"avanzados. Consulte la documentación impresa o la ayuda en línea acerca de\n"
+"la configuración del cargador de arranque en el Centro de Control de\n"
+"Mageia.\n"
+"\n"
+" * \"%s\": por medio de esta entrada podrá tener un control fino sobre qué\n"
+"servicios correrán en su máquina. Si planifica utilizar esta máquina como\n"
+"servidor es una buena idea revisar estos ajustes."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Tarjeta RDSI"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Tarjeta RDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaz gráfica"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Elija la unidad de disco que desea borrar para instalar su partición\n"
+"Mageia nueva. Tenga cuidado, ¡se perderán todos los datos presentes\n"
+"en dicha unidad de disco y no se podrán recuperar!."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Haga clic sobre \"%s\" si desea borrar todos los datos y particiones\n"
+"presentes en esta unidad de disco. Tenga cuidado, luego de hacer clic sobre\n"
+"\"%s\", no podrá recuperar los datos y las particiones presentes en esta\n"
+"unidad de disco, incluyendo los datos de Windows.\n"
+"\n"
+"Haga clic sobre \"%s\" para detener esta operación sin perder los datos ni\n"
+"las particiones presentes en esta unidad de disco rígido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Siguiente ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": al hacer clic sobre el botón \"%s\" se abrirá el asistente de\n"
+#~ "configuración de la impresora. Consulte el capítulo correspondiente de "
+#~ "la\n"
+#~ "\"Guía de Comienzo\" para más información sobre cómo configurar una\n"
+#~ "impresora nueva. La interfaz presentada allí es similar a la utilizada\n"
+#~ "durante la instalación."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Este es el punto de decisión más crucial para la seguridad de su sistema\n"
+#~ "GNU/Linux: tendrá que ingresar la contraseña de \"root\". El usuario\n"
+#~ "\"root\" es el administrador del sistema y es el único autorizado a "
+#~ "hacer\n"
+#~ "actualizaciones, agregar usuarios, cambiar la configuración general del\n"
+#~ "sistema, etc. Resumiendo, ¡\"root\" puede hacer de todo! Es por esto que\n"
+#~ "deberá elegir una contraseña que sea difícil de adivinar - DrakX le dirá "
+#~ "si\n"
+#~ "la que eligió es demasiado fácil. Como puede ver, no es forzoso ingresar\n"
+#~ "una contraseña, pero le recomendamos encarecidamente que ingrese una.\n"
+#~ "GNU/Linux es tan propenso a errores del operador como cualquier otro\n"
+#~ "sistema operativo. Es importante que sea difícil convertirse en \"root\"\n"
+#~ "debido a que \"root\" puede sobrepasar todas las limitaciones y borrar, "
+#~ "sin\n"
+#~ "intención, todos los datos que se encuentran en las particiones "
+#~ "accediendo\n"
+#~ "a las mismas sin el cuidado suficiente.\n"
+#~ "\n"
+#~ "La contraseña debería ser una mezcla de caracteres alfanuméricos y tener "
+#~ "al\n"
+#~ "menos una longitud de 8 caracteres. Nunca escriba la contraseña de \"root"
+#~ "\"\n"
+#~ "- por ejemplo, en un papel - eso hace que sea muy fácil comprometer su\n"
+#~ "sistema.\n"
+#~ "\n"
+#~ "Sin embargo, no debería hacer la contraseña muy larga o complicada "
+#~ "¡debido\n"
+#~ "a que Usted debe poder recordarla!\n"
+#~ "\n"
+#~ "La contraseña no se mostrará en la pantalla a medida que Usted la "
+#~ "teclee.\n"
+#~ "Deberá teclear la contraseña dos veces para reducir la posibilidad de un\n"
+#~ "error de tecleo a ciegas. Si ocurre que Usted comete dos veces el mismo\n"
+#~ "error de tecleo, tendrá que utilizar esta contraseña \"incorrecta\" la\n"
+#~ "primera vez que intente conectarse como \"root\".\n"
+#~ "\n"
+#~ "Si desea utilizar un servidor de autenticación para controlar el acceso "
+#~ "a\n"
+#~ "su computadora, haga clic sobre el botón \"%s\".\n"
+#~ "\n"
+#~ "Si su red usa los protocolos LDAP, NIS, o servicios de autenticación de "
+#~ "PDC\n"
+#~ "Dominio de Windows, seleccione el apropiado como método de %s.\n"
+#~ "Si no sabe cual utilizar, debería preguntar al administrador de su red.\n"
+#~ "\n"
+#~ "Si ocurre que tiene problemas para recordar contraseñas, o si su\n"
+#~ "computadora nunca estará conectada a la Internet y Usted confía\n"
+#~ "absolutamente en cualquier persona que tenga acceso a la misma, puede\n"
+#~ "elegir el botón \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "autenticación"
diff --git a/perl-install/install/help/po/et.po b/perl-install/install/help/po/et.po
new file mode 100644
index 000000000..5346876da
--- /dev/null
+++ b/perl-install/install/help/po/et.po
@@ -0,0 +1,2020 @@
+# Translation of DrakX.po to Estonian.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Riho Kurg <rx@linux.ee>, 1999-2003.
+# Marek Laane <bald@starman.ee>, 2002-2006,2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-et\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2009-03-23 16:08+0100\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Enne jätkamist lugege hoolikalt läbi litsentsileping. See kehtib kogu\n"
+"Mageiai distributsiooni kohta. Kui Te kõigi selle tingimustega\n"
+"nõus olete, märkige ära kast \"%s\". Kui Teile aga miski ei meeldi, siis\n"
+"klõps nupule \"%s\" sooritab arvuti taaskäivitamise."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux on mitmekasutajasüsteem, mis tähendab, et igal kasutajal\n"
+"võivad olla oma eelistused, failid jne. Kuid erinevalt administraatorist\n"
+"pole kasutajal õigust muuta midagi muud kui vaid omaenda faile ja "
+"seadistusi.\n"
+"Te peaksite looma ka endale vähemalt ühe tavakasutaja konto, millele sisse\n"
+"logida igapäevategevuseks. Kuigi võib olla vägagi praktiline logida iga "
+"päev\n"
+"sisse administraatorina, võib see olla ka väga ohtlik! Vähimgi viga võib "
+"sel\n"
+"puhul tähendada, et süsteem lakkab töötamast. Kui teete tõsise vea "
+"tavakasutajana,\n"
+"võite kaotada ainult mõningat infot, kuid süsteem jääb töökorda.\n"
+"\n"
+"Kõigepealt tuleks sisestada oma tegelik nimi. See ei ole mõistagi "
+"kohustuslik - tegelikult võite sisestada, mida soovite. DrakX võtab esimese "
+"sisestatud sõna\n"
+"ning kopeerib selle väljale \"%s\". See on siis nimi, mille all konkreetne "
+"kasutaja\n"
+"saab ennast süsteemi sisse logida. Soovi korral võite DrakX'i pakutut ka\n"
+"muuta. Seejärel tuleb sisestada parool. Privileegideta (tavalise) kasutaja\n"
+"parool ei ole turvalisuse mõttes nii oluline kui administraatori oma,\n"
+"kuid pole põhjust sellest ka naljanumbrit teha:\n"
+"lõppeks on ju mängus Teie failid.\n"
+"\n"
+"Kui klõpsate nupule \"%s\", võite lisada veel nii palju kasutajaid, kui "
+"vaja.\n"
+"Lisage üks kasutaja iga inimese kohta, kes Teie arvutit kasutab. Kui olete "
+"kõik\n"
+"soovitud sisestanud, klõpsake nupule \"%s\".\n"
+"\n"
+"Klõps nupule \"%s\" võimaldab muuta kasutajale määratavat shelli\n"
+"(vaikimisi on see bash).\n"
+"\n"
+"Kui olete kasutajate lisamise lõpetanud, palutakse Teil valida kasutaja, kel "
+"on\n"
+"õigus logida süsteemi automaatselt, kui arvuti käivitub. Kui see võimalus\n"
+"Teile huvi pakub (ja kohalik turvalisus muret ei valmista), valige "
+"meelepärane\n"
+"kasutaja ning aknahaldur ja klõpsake nupule \"%s\". Kui Te sellest aga "
+"huvitatud ei ole,\n"
+"eemaldage märge kastist \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Kasutajanimi"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Kasutaja kinnitamine"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Kas soovite seda lubada?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Ülal on toodud kõik Teie kõvakettal olemasolevad Linuxi partitsioonid.\n"
+"Vaikimisi on need enamasti üsna mõistlikud. Kui teete nendes muutusi,\n"
+"pidage meeles, et kindlasti vajate juurpartitsiooni (\"/\"). Liiga väikeste\n"
+"partitsioonide puhul võib tekkida raskusi piisava hulga tarkvara "
+"paigaldamisel.\n"
+"Kasutajate jaoks on sageli mõistlik luua eraldi \"/home\" partitsioon.\n"
+"(Seda mõistagi juhul, kui saate kasutada rohkem kui üht Linuxi "
+"partitsiooni.)\n"
+"\n"
+"Iga partitsiooni juures on toodud abiinfona \"Nimi\" ja \"Mahutavus\".\n"
+"\n"
+"\"Nimi\" koosneb kõvakettatüübist, selle numbrist ja partitsiooni\n"
+"numbrist (näiteks \"hda1\").\n"
+"\n"
+"Kõvaketta tüüp on \"hd\", kui on tegemist IDE kettaga, ning \"sd\", kui on\n"
+"tegemist SCSI kettaga.\n"
+"\n"
+"Kõvaketta number on alati täht \"hd\" või \"sd\" järel. IDE ketastel:\n"
+"\n"
+" * \"a\" - esmase IDE kontrolleri ülem,\n"
+"\n"
+" * \"b\" - esmase IDE kontrolleri allutatu,\n"
+"\n"
+" * \"c\" - teisese IDE kontrolleri ülem,\n"
+"\n"
+" * \"d\" - teisese IDE kontrolleri allutatu.\n"
+"\n"
+"SCSI ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageiai paigalduspaketid on jagatud mitme CD vahel.\n"
+"DrakX suudab ära tunda, kui valitud pakett asub muul CD-l,\n"
+"ning väljastab siis seesoleva CD ja palub sisestada selle,\n"
+"mida parajasti vaja läheb.\n"
+"Kui Teil ei ole nõutavat CD-d käepärast, klõpsake nupul \"%s\"\n"
+"ning vastavat tarkvara ei paigaldata."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nüüd on aeg valida rakendused, mida soovite oma süsteemi paigaldada.\n"
+"Mageia pakub tuhandeid pakette ja mõistagi ei eelda keegi,\n"
+"et Te neid kõiki juba ette tunneksite.\n"
+"\n"
+"Paketid on rühmitatud gruppidesse vastavalt nende kasutusalale.\n"
+"Grupid ise on jagatud nelja sektsiooni, mida võib valida mistahes "
+"kombinatsioonis:\n"
+"\n"
+" * \"%s\": kui kavatsete kasutada arvutit tööjaamana,\n"
+"valige siit sektsioonist üks või enam grupp.\n"
+"\n"
+" * \"%s\": kui kavatsete kasutada arvutit programmeerimiseks, valige\n"
+"soovitud grupid siit. Spetsiaalne grupp \"LSB\" seadistab Teie süsteemi "
+"nii,\n"
+"et see vastab võimalikult hästi Linux Standard Base'i standardile.\n"
+"\n"
+" Grupi \"LSB\" valimine tagab Teie süsteemi 100-protsendilise\n"
+"ühilduvuse LSB standardiga. Kui Te aga jätate grupi \"LSB\" valimata,\n"
+"saate ikkagi süsteemi, mis vastab peaaegu täielikult LSB standardile.\n"
+"\n"
+" * \"%s\": kui arvuti peab täitma serveri ülesandeid, saate siit valida,\n"
+"milliseid levinumaid teenuseid oma süsteemi paigaldada.\n"
+"\n"
+" * \"%s\": lõpuks saate siit valida ka meelepärase graafilise töökeskkonna.\n"
+" Kui soovite kasutada graafilist töökeskkonda, tuleb Teil siit valida "
+"vähemalt üks variant.\n"
+"\n"
+"Hiire liigutamine grupi nimele toob nähtavale selle lühikirjelduse.\n"
+"\n"
+"Märkida võib ka kasti \"%s\", mis on eriti mõttekas siis, kui tunnete\n"
+"pakette, mida Teile pakutakse, või kui soovite täielikku kontrolli selle\n"
+"üle, mida Teie süsteemi paigaldatakse.\n"
+"\n"
+"Kui käivitasite paigaldamise režiimis \"%s\", võite jätta kõik grupid "
+"valimata,\n"
+"mis takistab uute pakettide paigaldamist.\n"
+"Seda tasub tarvitada näiteks olemasoleva süsteemi parandamisel või "
+"värskendamisel.\n"
+"\n"
+"Kui olete tavapärast paigaldamist tehes kõik grupid valimata jätnud\n"
+"(seega talitanud vastupidi uuendamise mõttele), ilmub dialoog,\n"
+"mis pakub mitmesuguseid võimalusi minimaalseks paigalduseks.\n"
+"\n"
+" * \"%s\": paigaldatakse minimaalselt graafiliseks töölauaks vajalikud "
+"paketid.\n"
+"\n"
+" * \"%s\": paigaldatakse baassüsteem ning põhilised utiliidid ja nende "
+"dokumentatsioon.\n"
+"See peaks sobima näiteks serverile.\n"
+"\n"
+" * \"%s\": paigaldatakse minimaalne hulk pakette,\n"
+"mida on vaja Linuxi töötamiseks (vaid käsurealt).\n"
+"See võtab ruumi umbes 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uuendus"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Baasdokumentatsiooniga"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Tõeliselt minimaalne paigaldus"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Sõltuvalt sellest, kas valisite individuaalse pakettide valiku või mitte,\n"
+"näidatakse Teile gruppidesse ja alamgruppidesse rühmitatult kõiki pakette\n"
+"sisaldavat puud. Seda mööda liikudes võite valida või etteantud valiku\n"
+"tühistada tervete gruppide, alamgruppide või üksikute pakettide kaupa.\n"
+"\n"
+"Kui valite puus mõne paketi, ilmub paremal selle kirjeldus,\n"
+"mis annab teada, milline on paketi ülesanne.\n"
+"\n"
+"NB! Kui tahtlikult või seetõttu, et asi kuulus gruppi,\n"
+"on valitud mõni serveripakett, palutakse Teilt kinnitust,\n"
+"et Te ikka tõesti soovite neid servereid paigaldada.\n"
+"Mageia käivitab kõik paigaldatud serverid vaikimisi alglaadimise ajal.\n"
+"Isegi kui nad olid turvalised ja teadaolevalt probleemivabad ajal,\n"
+"mis valmis distributsioon, võib kergesti juhtuda,\n"
+"et pärast Mageiai praeguse versiooni valmimist leiti neist turvaauke.\n"
+"Kui Te ei tea, mida konkreetne teenus pakub või miks see üldse "
+"paigaldatakse,\n"
+"klõpsake nupul \"%s\", sest klõps nupul \"%s\" paigaldab loetletud serverid\n"
+"ning nad käivituvad alglaadimise ajal automaatselt.\n"
+"\n"
+"Lisavõimalus \"%s\" lihtsalt keelab hoiatava dialoogi,\n"
+"mis ilmub alati, kui paigaldaja valib automaatselt mõne paketi.\n"
+"See juhtub siis, kui leitakse, et paigaldamise edukaks lõpetamiseks\n"
+"on vajalik paigaldada veel mõni muu pakett.\n"
+"\n"
+"Väike disketiikoon nimekirja all võimaldab avada\n"
+"eelmise paigaldamise ajal valitud pakettide nimekirja.\n"
+"Sellel klõpsamise järel palutakse Teil sisestada diskett,\n"
+"mille lõite eelmise paigaldamise lõpul.\n"
+"Vaadake ka eelmise sammu teist nõuannet selle kohta, kuidas sellist disketti "
+"luua."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automaatsõltuvused"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Nüüd saate valida, millised teenused peaks käivitama alglaadimisel.\n"
+"\n"
+"Siin on üles loetud kõik teenused, mis on saadaval antud paigalduse puhul.\n"
+"Uurige neid hoolega ja jätke valimata kõik, mida ei ole alglaadimise ajal\n"
+"tingimata vajalik käivitada.\n"
+"\n"
+"Konkreetset teenust valides näete selle kohta lühikest seletavat teksti.\n"
+"Kui Te ei ole aga kindel, kas teenus on kasulik või mitte, on mõistlik\n"
+"jätta kehtima vaikevalik (olgu see siis lubav või mitte).\n"
+"\n"
+"NB! Kui kavatsete oma süsteemi kasutada serverina, olge eriti "
+"tähelepanelik:\n"
+"tõenäoliselt ei soovi Te käivitada mittevajalikke teenuseid. Pidage meeles,\n"
+"et mõned teenused võivad serveris kasutatuna olla isegi ohtlikud. Üldiselt\n"
+"tasub valida ainult neid teenuseid, mida Teil tõesti vaja läheb."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux kasutab GMT (Greenwichi) aega ning teisendab selle\n"
+"kohalikuks ajaks vastavalt Teie valitud ajavööndile. Seda võib siiski\n"
+"ka välja lülitada, kui jätta märkimata \"%s\". Sellisel juhul kajastab\n"
+"arvutikell sama aega, mis süsteemi kell. See võib olla kasulik, kui\n"
+"masinas on veel mõni operatsioonisüsteem, näiteks Windows.\n"
+"\n"
+"Võimalus \"%s\" võimaldab kellaaega reguleerida,\n"
+"ühendudes Internetis mõne ajaserveriga. Pakutavas nimekirjas valige mõni\n"
+"lähemal asuv server. Mõistagi peab selle võimaluse kasutamiseks olema ka\n"
+"Internetiühendus. Tegelikult paigaldab see Teie arvutisse ajaserveri,\n"
+"mida saab kasutada isegi teiste kohtvõrgus olevate masinate aja\n"
+"täpsustamiseks."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Riistvaraline kell kasutab GMT aega"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Aja automaatne sünkroniseerimine"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Videokaart\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt masinasse\n"
+"paigaldatud videokaardi. Kui see ei õnnestu, saate nimekirjast valida\n"
+"kaardi, mis tegelikult on masinass paigaldatud.\n"
+"\n"
+" Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (ehk X Window System) kujutab endast GNU/Linuxi graafilise "
+"kasutajaliidese\n"
+"tuuma ja südant, millele toetuvad kõik Mageiaiga kaasas käivad\n"
+"graafilised töökeskkonnad (KDE, GNOME, AfterStep, WindowMaker jne).\n"
+"\n"
+"Siin näidatakse Teile tervet nimekirja parameetreid, mida saab muuta,\n"
+"et graafiline kasutajaliides oleks just Teile meelepärane:\n"
+"\n"
+"Videokaart\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt masinasse\n"
+"paigaldatud videokaardi. Kui see ei õnnestu, saate nimekirjast valida\n"
+"kaardi, mis tegelikult on masinas paigaldatud.\n"
+"\n"
+" Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt Teie masinaga\n"
+"ühendatud monitori. Kui see ei peaks siiski õnnestuma, saate siin toodud\n"
+"nimekirjast valida monitori, mis Teil tegelikult on.\n"
+"\n"
+"\n"
+"\n"
+"Ekraanilahutus\n"
+"\n"
+" Siin saate valida Teie riistvaraga sobiva ekraanilahutuse ja "
+"värvisügavuse.\n"
+"Kui Te paigaldamise järel leiate, et siin valitu siiski ei kõlba, saate "
+"seda\n"
+"hiljem muuta. Valitud seadistust näidatakse monitoril.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Sõltuvalt Teie riistvarast ei pruugi seda näha olla.\n"
+"\n"
+" süsteem püüab avada graafilist akent soovitud ekraanilahutusega. Kui "
+"näete\n"
+"testi ajal sõnumit ja vastate \"%s\", suundub DrakX järgmise sammu juurde.\n"
+"Kui Te sõnumit ei näe, tähendab see, et miski automaatselt tuvastatud\n"
+"seadistuses oli mäda ja test lõpeb automaatselt 12 sekundi pärast, tuues\n"
+"Teid menüüsse tagasi. Seal saate muuta seadistusi, kuni Teil õnnestub\n"
+"leida see, mis tagab korrektse ja meelepärase graaafilise kasutajaliidese.\n"
+"\n"
+"\n"
+"\n"
+"Eelistused\n"
+"\n"
+" Siin saab määrata, kas soovite, et masin käivitaks alglaadimise ajal\n"
+"automaatselt graafilise kasutajaliidese. Ilmselt on Teie vastus \"%s\",\n"
+"kui soovite, et masin toimiks serverina, või kui Teid ei kippunud\n"
+"seadistamise ajal edu saatma."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt Teie masinaga\n"
+"ühendatud monitori. Kui see ei peaks siiski õnnestuma, saate siin toodud\n"
+"nimekirjast valida monitori, mis Teil tegelikult on."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ekraanilahutus\n"
+"\n"
+" Siin saate valida Teie riistvaraga sobiva ekraanilahutuse ja "
+"värvisügavuse.\n"
+"Kui Te paigaldamise järel leiate, et siin valitu siiski ei kõlba, saate "
+"seda\n"
+"hiljem muuta. Valitud seadistust näidatakse monitoril."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Eelistused\n"
+"\n"
+" Siin saab valida, kas soovite kasutada graafilist töökeskkonda\n"
+"kohe alglaadimisel. Pange tähele, et seda päritakse ka siis, kui Te ei "
+"proovinudki\n"
+"seadistusi testida. On üsna ilmne, et vastus kõlab \"%s\", kui masina "
+"ülesanne\n"
+"on tegutseda serverina või kui Teid ei kippunud seadistamise ajal edu saatma."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Olete jõudnud punkti, kus peate otsustama, kuhu täpselt Mageia\n"
+"oma kõvakettal paigaldada. Kui kõvaketas on tühi või mõni muu\n"
+"operatsioonisüsteem seda täielikult kasutab, on vaja see osadeks jagada\n"
+"ehk partitsioneerida.\n"
+"Partitsioneerimine on tegevus, mille käigus tekitatakse kettale loogilised\n"
+"piirkonnad Teie uue Mageiai süsteemi paigaldamiseks.\n"
+"\n"
+"Kuna kõvaketta jagamine on pöördumatu protsess, siis peab kogemusteta\n"
+"kasutaja olema iseäranis ettevaatlik! Selle tegevuse lihtsustamiseks ja\n"
+"vigade vähendamiseks on Teie jaoks loodudki käesolev nõustaja. Siiski,\n"
+"palun varuge natuke ettevalmistusaega.\n"
+"\n"
+"Sõltuvalt kõvaketta omadustest on ketta jagamiseks ehk partitsioneerimiseks\n"
+"mitmeid võimalusi.\n"
+"\n"
+" * \"%s\": see jagab lihtsalt Teie tühja(d) kõvaketta(d).\n"
+"Mingeid edasisi küsimusi ei esitata.\n"
+"\n"
+" * \"%s\": nõustaja leidis kõvakettalt vähemalt\n"
+"ühe Linuxi partitsiooni. Kui soovite seda/neid kasutada, valige see "
+"võimalus.\n"
+"Seejärel palutakse valida iga partitsiooniga seotud haakepunktid. Vaikimisi\n"
+"valitakse need juba ette ära ja üldiselt oleks mõistlik neid mitte muuta.\n"
+"\n"
+" * \"%s\": kui kõvakettale on paigaldatud\n"
+"Microsoft Windows ja see haarab enda alla kogu kõvaketta, tuleb Teil "
+"tekitada\n"
+"vaba ruum GNU/Linuxi andmetele. Selleks võib hävitada Microsoft Windowsi\n"
+"partitsiooni koos andmetega (vaata võimalusi \"Puhasta kogu ketas\" või\n"
+"\"Ekspertrežiim\") või selle suurust muuta. Viimast on võimalik sooritada "
+"ilma\n"
+"andmeid kaotamata, seda küll eeldusel, et olete varem Windowsi partitsiooni\n"
+"defragmenteerinud. Siiski ei tule kindlasti kahjuks ka andmetest varukoopia\n"
+"valmistamine... See lahendus on soovitatav, kui tahate kasutada ühes "
+"arvutis\n"
+"nii Mageiait kui Microsoft Windowsit.\n"
+"\n"
+" Enne selle valiku kasuks otsustamist pidage silmas, et kirjeldatud "
+"protseduuri\n"
+"järel on Teie Microsoft Windowsi partitsioon senisest väiksem, mis tähendab, "
+"et\n"
+"sellel on ka vähem ruumi andmete salvestamiseks või uue tarkvara "
+"paigaldamiseks.\n"
+"\n"
+" * \"%s\": kui soovite kustutada kõik andmed ja partitsioonid, mis\n"
+"kõvakettal parajasti on, ning asendada need uue Mageiai süsteemiga, on\n"
+"see õige valik. Aga tasub olla ettevaatlik, sest pärast selle valiku "
+"langetamist\n"
+"tagasiteed enam ei ole...\n"
+"\n"
+" NB! Kui valite selle võimaluse, kaotate kõik kõvakettal olevad "
+"andmed. !!\n"
+"\n"
+" * \"%s\": see puhastab kõvaketta senistest andmetest ja\n"
+"käivitab uue paigaldusprotsessi, luues kõik partitsioonid uuesti. Kaovad ka\n"
+"kõik kettal olnud andmed.\n"
+"\n"
+" NB! Kui valite selle võimaluse, kaotate kõik kõvakettal olevad "
+"andmed. !!\n"
+"\n"
+" * \"%s\": valige see, kui soovite ise kontrollida kõvaketta jagamist.\n"
+"Kuid olge ettevaatlik - see on küll võimas, aga ohte sisaldav\n"
+"valik, mille puhul võib kergesti kaotada olemasolevad andmed. Seepärast ei\n"
+"peaks seda valima, kui Te pole endas päris kindel. Täpsemalt saab teada,\n"
+"kuidas kasutada DiskDrake'i võimalusi, \"Põhiteadmiste käsiraamatu"
+"\" (\"Starter\n"
+"Guide\") alapeatükist \"Partitsioonide haldamine\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Olemasolevate partitsioonide kasutamine"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Vaba ruumi kasutamine Microsoft Windows® partitsioonil"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Kogu ketta tühjendamine"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja nüüd ongi paigaldamine selja taga ning Teie GNU/Linuxi süsteem valmis "
+"tööks.\n"
+"Selleks tuleb vaid klõpsata \"%s\" ning arvuti teeb taaskäivituse. Ärge\n"
+"unustage eemaldamast paigaldus-andmekandjat (CD või diskett). Seejärel\n"
+"võite valida, kas käivitada GNU/Linux või Windows (kui Teie arvutis on mitu\n"
+"süsteemi).\n"
+"\n"
+"Nupp \"%s\" pakub veel kaks võimalust:\n"
+"\n"
+" * \"%s\": loob paigaldusdisketi, mis sooritab kogu\n"
+"paigaldamise ilma kasutajata, paigaldamine ise on samasugune nagu äsja\n"
+"seljataha jäänu.\n"
+"\n"
+" Selle valiku korral ilmub veel kaks erinevat võimalust:\n"
+"\n"
+" * \"%s\". See on osaliselt automaatne, sest kõvaketta jagamisel\n"
+"(aga ka ainult seal) on võimalik sekkuda.\n"
+"\n"
+" * \"%s\". Täisautomaatne paigaldus: kõvaketas kirjutatakse täielikult\n"
+"uuesti, kõik varasemad andmed kustutatakse.\n"
+"\n"
+" See võimalus võib olla kasulik, kui paigaldamine on kavas ette võtta "
+"paljudel\n"
+"ühesugustel masinatel. Lähemalt vaadake meie veebileheküljel\n"
+"automaatpaigalduse sektsiooni.\n"
+"\n"
+" * \"%s\"(*): salvestab paigaldamise käigus valitud pakettide\n"
+"nimekirja. Kui nüüd võtate ette uue paigalduse, asetage diskett seadmesse "
+"ning\n"
+"käivitage paigaldamine klahvile [F1] vajutades abiekraani vahendusel, andes "
+"käsu\n"
+">>linux defcfg=\"floppy\"<< ja vajutades seejärel klahvi [Enter].\n"
+"\n"
+"(*) Teil läheb vaja FAT-vorminduses disketti. Sellise loomiseks GNU/Linuxi\n"
+"keskkonnas andke käsureal korraldus \"mformat a:\" või \"fdformat /dev/"
+"fd0\"\n"
+"ning seejärel \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Loo kiirpaigaldusdiskett"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Kordamine"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automaatne"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Paketivaliku salvestamine"
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Kõik värskelt loodud partitsioonid tuleb enne kasutamist vormindada\n"
+"ehk sinna tuleb luua failisüsteemid.\n"
+"\n"
+"Samuti võib vormindada varem olemas olnud partitsioonid, kui soovite\n"
+"seal leiduvad andmed ära kustutada.\n"
+"\n"
+"Pange tähele, et alati ei ole kõigi vanade partitsioonide vormindamine\n"
+"vajalik. Kindlasti tuleb vormindada partitsioonid, kus varem asus \"/\", \"/"
+"usr\"\n"
+"või \"/var\", aga kasutajate faile sisaldav \"/home\" võiks jääda alles.\n"
+"\n"
+"Olge partitsioonide valikul hoolas. Pärast vormindamist on kõik valitud\n"
+"partitsioonidel asunud andmed kustutatud ning neid ei ole võimalik "
+"taastada.\n"
+"\n"
+"Klõpsake \"%s\", kui olete vormindamiseks valmis.\n"
+"\n"
+"Klõpsake \"%s\", kui soovite valida oma uue Mageiai süsteemi\n"
+"paigaldamiseks mõne muu partitsiooni.\n"
+"\n"
+"Klõpsake \"%s\", kui soovite valida partitsioone, millel kontrollitaks\n"
+"vigaste plokkide olemasolu."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"On tõenäoline, et praegu, kui Te paigaldate Mageiait, on mõned\n"
+"paketid jõudnud pärast väljalaset juba uuenduskuuri üle elada. Mõnes on ära\n"
+"parandatud paar väiksemat viga, mõnes turvaprobleemid. Et võiksite neist\n"
+"uuendustest tulu lõigata, on Teil nüüd võimalik need Internetist alla "
+"laadida.\n"
+"Klõpsake \"%s\", kui Teie internetiühendus töötab, või \"%s\", kui "
+"eelistate\n"
+"pakette uuendada millalgi hiljem.\n"
+"\n"
+"Kui valite \"%s\", näidatakse Teile nimekirja kohtadega, kust uuendusi "
+"tõmmata\n"
+"saab. Valige endale lähim paik. Seejärel ilmub paketivaliku puu. Vaadake "
+"see\n"
+"üle ning klõpsake nupule \"%s\", kui soovite valitud paketi(d) alla laadida "
+"ja\n"
+"paigaldada, või \"%s\", kui Te ei soovi seda teha."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nüüd on aeg valida masinale sobiv turvatase. Rusikareeglina peaks\n"
+"turvatase olema seda kõrgem, mida ligipääsule avatum arvuti on ja mida "
+"rohkem\n"
+"leidub selles olulise tähtsusega andmeid. Samas muudab kõrgem turvatase\n"
+"enamasti kasutamise mõnevõrra keerukamaks.\n"
+"\n"
+"Kui Te ei tea, mida valida, jätke kehtima vaikimisi pakutud valik. Hiljem\n"
+"saate turvataset muuta Mageiai juhtimiskeskuses abivahendiga Draksec.\n"
+"\n"
+"Väli \"%s\" on mõeldud süsteemi turvalisuse eest vastutava kasutaja\n"
+"teavitamiseks. Turvalisusega seotud teated saadetakse sellele aadressile."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Turvahaldur"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Nüüd peate valima partitsiooni(d), kuhu soovite Mageiai paigaldada.\n"
+"Kui need on juba olemas kas GNU/Linuxi varasema paigalduse või mõne muu\n"
+"kettajagamisvahendi tegevuse tulemusena, võite kasutada olemasolevaid\n"
+"partitsioone. Vastasel juhul tuleb need luua.\n"
+"\n"
+"Partitsioon on loogiliselt eraldatud kõvaketta piirkond, mille suurust\n"
+"ei ole võimalik hiljem, töötavas süsteemis enam muuta. Samuti hävivad\n"
+"partitsiooni kustutamisel kõik selles leiduvad andmed.\n"
+"\n"
+"Kõvaketta jagamise lihtsustamiseks on loodud nõustaja, mille soovitused\n"
+"on harilikult mõistlikud.\n"
+"\n"
+"Partitsioonide loomiseks valige esmalt kõvaketas. \"hda\" tähendab siin "
+"esimest\n"
+"IDE-ketast, \"hdb\" teist IDE-ketast, \"sda\" esimest SCSI-ketast ja nii "
+"edasi.\n"
+"\n"
+"Valitud ketta jagamiseks on järgmised võimalused:\n"
+"\n"
+" * \"%s\": kustutatakse kõik olemasolevad partitsioonid\n"
+"sellel kettal.\n"
+"\n"
+" * \"%s\": sel juhul tekitatakse Linuxile vajalikud\n"
+"partitsioonid kõvaketta vabale osale automaatselt.\n"
+"\n"
+"\"%s\" pakub mõned lisavõimalused:\n"
+" * \"%s\": salvestab partitsioonitabeli disketile.\n"
+"Sellest on kasu hilisemal partitsioonitabeli taastamisel, kui seda vaja\n"
+"peaks olema. Igal juhul on äärmiselt soovitav see samm ette võtta.\n"
+"\n"
+" * \"%s\": võimaldab taastada disketilt varem\n"
+"salvestatud partitsioonitabeli.\n"
+"\n"
+" * \"%s\": kui partitsioonitabel on vigastatud, võib\n"
+"proovida seda parandada. Palun ärge selle peale siiski liiga palju lootke.\n"
+"\n"
+" * \"%s\": kui soovite tühistada kõik enda tehtud muutused ja alustada algse "
+"partitsioonitabeliga.\n"
+"\n"
+" * \"%s\": selle võimaluse\n"
+"tühistamine sunnib kasutajaid käsitsi haakima ja lahutama eemaldatavaid\n"
+"andmekandjaid, st diskette ja CD-sid.\n"
+"\n"
+" * \"%s\": kui soovite uue partitsioonitabeli loomisel samm-sammulist\n"
+"juhatust. See on soovitatav, kui Te ei ole varem midagi sellist teinud.\n"
+"\n"
+" * \"%s\": selle võimalusega saab tühistada kõik tehtud muudatused.\n"
+"\n"
+" * \"%s\": võimaldab partitsioonidega ette\n"
+"võtta lisaoperatsioone (tüüp, võtmed, vorming) ning pakub rohkem infot.\n"
+"\n"
+" * \"%s\": kui olete kõvaketta jagamise lõpetanud, saate sellele nupule\n"
+"klõpsates tehtud muudatused salvestada.\n"
+"\n"
+"Partitsiooni suurust määrates saate seda täpselt paika panna klaviatuuril\n"
+"asuvaid nooleklahve kasutades.\n"
+"\n"
+"Märkus: igale võimalusele pääseb ligi ka klaviatuuri abil. Partitsioonidel\n"
+"saab liikuda klahvidega [Tab] ning üles-alla nooleklahvidega.\n"
+"\n"
+"Partitsiooni valimisel saab ette võtta järgmisi toiminguid:\n"
+"\n"
+" * Ctrl+C uue partitsiooni loomine (kui valitud on tühi partitsioon).\n"
+"\n"
+" * Ctrl+D partitsiooni kustutamine.\n"
+"\n"
+" * Ctrl+M haakepunkti määramine.\n"
+"\n"
+"Lähemat infot erinevate failisüsteemitüüpide kohta leiab \"Süvateadmiste\n"
+"käsiraamatu\" (\"Reference Manual\") peatükist \"Linuxi failisüsteem\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Partitsioonitabeli salvestamine"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Partitsioonitabeli taastamine"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Partitsioonitabeli päästmine"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Eemaldatava andmekandja automaatne haakimine"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Nõustaja"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Tagasi"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Tava- ja ekspertrežiimi lülitamine"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Teie arvuti kõvakettal on rohkem kui üks Microsoft Windowsi partitsioon.\n"
+"Palun valige välja see, mille suurust soovite Mageiai jaoks muuta.\n"
+"\n"
+"Teie abistamiseks on igal partitsioonil näidatud \"Nimi Linuxis\", \"Nimi "
+"Windowsis\" ja \"Mahutavus\".\n"
+"\n"
+"\"Nimi Linuxis\" koosneb kõvakettatüübist, selle numbrist ja partitsiooni\n"
+"numbrist (näiteks \"hda1\").\n"
+"\n"
+"Kõvaketta tüüp on \"hd\", kui on tegemist IDE-kettaga, ja \"sd\", kui on\n"
+"tegemist SCSI-kettaga.\n"
+"\n"
+"Kõvaketta number on alati täht \"hd\" või \"sd\" järel. IDE-ketastel:\n"
+"\n"
+" * \"a\" - esmase IDE kontrolleri ülem,\n"
+"\n"
+" * \"b\" - esmase IDE kontrolleri allutatu,\n"
+"\n"
+" * \"c\" - teisese IDE kontrolleri ülem,\n"
+"\n"
+" * \"d\" - teisese IDE kontrolleri allutatu.\n"
+"\n"
+"SCSI-ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi.\n"
+"\n"
+"\n"
+"\"Nimi Windowsis\" on täht, millega Microsoft Windows vastavat seadet\n"
+"tähistab (esimene ketas või partitsioon kannab nime \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": võimaldab kontrollida praegust riigi valikut. Kui see ei ole riik,\n"
+"kus Te viibite, klõpsake nupule \"%s\" ja valige mõni muu riik. Kui\n"
+"Teie riiki ei ole ilmuvas nimekirjas, klõpsake nupule \"%s\", mis avab\n"
+"riikide täisnimekirja."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Seda sammu on vaja ainult siis, kui masinas leiti varasem\n"
+"GNU/Linuxi partitsioon.\n"
+"\n"
+"DrakX soovib nüüd teada, kas tahate paigaldada uue süsteemi või uuendada\n"
+"olemasolevat Mageiai süsteemi:\n"
+"\n"
+" * \"%s\": üldiselt pühib see vana süsteemi täielikult minema. Kui\n"
+"soovite muuta praeguseid partitsioone või failisüsteemi, siis võiks seda "
+"võimalust\n"
+"kasutada. Sõltuvalt kettajagamise viisist on võimalik ka mõningaid andmeid\n"
+"ülekirjutamise eest päästa.\n"
+"\n"
+" * \"%s\": see paigaldamisviis võimaldab uuendada praegu olemasolevasse\n"
+"Mageiai süsteemi paigaldatud pakette. Kettajagamisskeemi ega kasutajate\n"
+"andmeid ei muudeta. Enamik seadistussamme on kasutatavad sarnaselt "
+"tavapärasele\n"
+"paigaldamisele.\n"
+"\n"
+"Võimalus \"Uuendus\" peaks toimima edukalt Mageiai süsteemides\n"
+"alates versioonist 8.1. Uuenduse proovimist varasemate versioonide peal\n"
+"me siiski ei soovita."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tavaliselt valib DrakX klaviatuuri Teie eest juba ära (sõltuvalt valitud\n"
+"keelest). Kuid see võib tekitada olukorra, kus Teil ikkagi pole just see\n"
+"klaviatuur, mida soovite: kui olete näiteks eesti keelt kõnelev\n"
+"hispaanlane, võite siiski soovida hispaania asetusega klaviatuuri. Teine "
+"kohe\n"
+"pähe tulev juhtum on läti keele kõneleja Eestis. Mõlemal juhul on\n"
+"mõtet naasta paigaldamise selle sammu juurde ja valida nimekirjast vajalik\n"
+"klaviatuur.\n"
+"\n"
+"Klõpsake nupul \"%s\", mis näitab kõiki toetatud klaviatuure.\n"
+"\n"
+"Kui valite mitte-ladina tähestikuga klaviatuuri, palutakse Teil järgmises\n"
+"dialoogis valida klahv või klahvikombinatsioon, mis vahetab ladina ja\n"
+"mitte-ladina asetusega klaviatuuri."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Esimene samm on vajaliku keele valik. Siin saate valida keele,\n"
+"mida kasutada paigaldamisel ja hilisemas töös. Valige esmalt riik,\n"
+"kus asute, ning seejärel vajalik keel.\n"
+"\n"
+"Klõpsates nupul \"%s\", võite valida muid keeli, mida Teie tööjaamale\n"
+"paigaldada. Teiste keelte valikul paigaldatakse vastava keele rakenduste\n"
+"ja dokumentatsiooni failid. Kui Teie masinaga töötab näiteks kasutajaid\n"
+"Hispaaniast, valige puuvaates põhikeeleks eesti keel ning sektsioonis\n"
+"\"Muud\" märkige ära \"%s\".\n"
+"\n"
+"Mõni sõna UTF-8 (unicode) toetuse kohta. Unicode on uus kodeering, mis\n"
+"peaks hõlmama kõiki keeli. Selle täielik toetus ei ole GNU/Linuxis\n"
+"siiski veel täielikult teostatud. Seetõttu lähtub Mageia selle\n"
+"kasutamisel või mittekasutamisel järgmistest asjaoludest:\n"
+"\n"
+" * Kui valite keele, mis üldreeglina kasutab muud kodeeringut (latin1 \n"
+"keeled, vene, jaapani, hiina, korea, tai, kreeka, türgi keel, enamik\n"
+"ISO-8859-2 keeli), kasutatakse vaikimisi vastavat kodeeringut;\n"
+"\n"
+" * Muude keelte puhul võetakse vaikimisi kasutusele Unicode;\n"
+"\n"
+" * Kui valite mitu keelt, mis ei kasuta ühesugust kodeeringut,\n"
+"tarvitatakse vaikimisi Unicode'i;\n"
+" * Ja lõpuks: kui kasutaja seda soovib, võimaldab valik \"%s\"\n"
+"sõltumata valitud keelest kasutada kogu süsteemis Unicode'i.\n"
+"\n"
+"Te võite igal juhul valida soovi korral ka mitu keelt, märkides ära\n"
+"kasti \"%s\" Täiendavate keelte valimine tähendab, et süsteemi\n"
+"paigaldatakse ka neile keeltele vajalikud fondid, õigekirja\n"
+"kontrollijad, rakenduste ja dokumentatsiooni tõlked jms.\n"
+"\n"
+"Ühelt keelelt teisele lülitumiseks võite administraatorina anda käsu\n"
+"\"/usr/sbin/localedrake\", mis võimaldab muuta kogu süsteemi keelt,\n"
+"või tavakasutajana muuta ainult enda kohta käivat keeleseadistust."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Hispaania"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Vaikimisi Unicode kasutamine"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Tavaliselt tuvastab DrakX hõlpsasti, mitme nupuga hiirt Te kasutate. Kui\n"
+"see välja ei tule, eeldatakse, et Teil on kahe nupuga hiir, ning "
+"kasutatakse\n"
+"kolmanda nupu emuleerimist. Kahenupulisel hiirel saab kolmandat nuppu\n"
+"\"klõpsata\" üheaegselt vasakut ja paremat nuppu alla vajutades. DrakX "
+"tuvastab\n"
+"automaatselt, kas tegemist on PS/2, jadapordi või USB-hiirega.\n"
+"\n"
+"Kui Teil on kolme nupuga, aga ilma rattata hiir, võite valida tüübiks\n"
+"\"%s\". DrakX seadistab seejärel hiire nii, et saate matkida hiireratast.\n"
+"Selleks klõpsake keskmist nuppu ja liigutage hiirt üles või alla.\n"
+"\n"
+"Kui soovite muuta hiiretüüpi, valige pakutud nimekirjast sobiv tüüp.\n"
+"\n"
+"Te võite alati valida võimaluse \"%s\", mis peaks toimima peaaegu igasuguse\n"
+"hiire korral.\n"
+"Kui valite mõne muu hiiretüübi kui vaikimisi määratu, palutakse Teil seda\n"
+"testida. Kasutage nuppe ja ratast kontrollimaks, et valik oli õige. Kui\n"
+"hiir ei käitu korralikult, vajutage tühikuklahvi või klahvi [Return], mis "
+"viib\n"
+"Teid tagasi dialoogi ja lubab uuesti valida.\n"
+"\n"
+"Vahel ei õnnestu rattaga hiirt automaatselt tuvastada. Siis tuleb see "
+"nimekirjast\n"
+"käsitsi valida. Kontrollige, et valite õigesse porti ühendatud hiiretüübi. "
+"Kui\n"
+"klõpsate nupule \"%s\", näidatakse hiire kujutist. Siis tuleb Teil "
+"liigutada\n"
+"hiireratast, et see korrektselt aktiveerida. Seejärel testige, kas kõik "
+"nupud\n"
+"ja liigutused toimivad korralikult."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Ratta emuleerimisega"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universaalne | Suvaline PS/2 ja USB hiir"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Palun valige õige port. Näiteks MS Windowsi \"COM1\" kannab\n"
+"GNU/Linuxis nime \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Alglaadur on väike programm, mille arvuti käivitab alglaadimise ajal.\n"
+"Tavaliselt tuvastatakse see täiesti automaatselt.\n"
+"DrakX uurib ketta alglaadimissektorit ja talitab vastavalt sellele,\n"
+"mida ta sealt leiab:\n"
+"\n"
+" * kui leitakse Windowsi alglaadimissektor, asendatatakse see grub/LiLo\n"
+"alglaadimissektoriga. Nii võite laadida kas GNU/Linuxi või mõne muu OS-i.\n"
+"\n"
+" * kui leitakse grub-i või LiLo alglaadimissektor, asendatakse see uuega.\n"
+"\n"
+"Kui DrakX ei suuda asjast aru saada, küsitakse Teie käest, kuhu alglaadur\n"
+"paigutada. Üldiselt on \"%s\" kindlaim valik. Kui valida \"%s\", ei\n"
+"paigaldata alglaadurit üldse. Aga seda kasutage küll ainult siis, kui\n"
+"VÄGA TÄPSELT teate, mida teete!"
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Siin saate valida oma arvuti trükkimissüsteemi. Teised "
+"operatsioonisüsteemid\n"
+"võivad Teile pakkuda vaid üht süsteemi, kuid Mageiai puhul saate\n"
+"valida tervelt kahe seast.\n"
+"\n"
+" * \"%s\" - mis tähendab \"trüki kohe\" (\"print, do not queue\") - tuleks "
+"valida siis,\n"
+"kui Teil on printeriga otseühendus, Te ei soovi näha mingeid järjekordi ja "
+"Teil\n"
+"ei ole võrgus asuvaid printereid. Võrkude puhul on \"%s\" mõnevõrra aeglane "
+"ja\n"
+"tal võib esineda tegutsemisraskusi. Kui see on Teie esimene retk GNU/Linuxi\n"
+"maailma, valige \"pdq\".\n"
+"\n"
+" * \"%s\" - \"tavaline UNIXi trükkimissüsteem\" (\"Common Unix Printing\n"
+"System\") - on hiilgav valik trükkimiseks Teie kohalikus printeris või ka "
+"mõnel teisel pool maakera asuvas\n"
+"printeris. See on lihtne süsteem, mis võib olla nii kliendiks kui serveriks "
+"iidsele\n"
+"trükkimissüsteemile \"lpd\". See on ka ühilduv varasemate süsteemidega.\n"
+"suudab teha palju asju, kuid põhitegutsemine on sama lihtne kui \"pdq\" "
+"puhul.\n"
+"Kui Teil on vajadus emuleerida \"lpd\"-serverit, tuleb sisse lülitada\n"
+"\"cups-lpd\"-deemon. \"%s\" pakub ka mitut graafilist kasutajaliidest\n"
+"trükkimiseks või printeri seadistamiseks.\n"
+"\n"
+"Kui leiate hiljem, et siinkohal langetatud valik polnud vahest kõige parem,\n"
+"siis saate seda muuta Mageiai juhtimiskeskuses PrinterDrake abil,\n"
+"klõpsates seal nupule \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspertrežiim"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Esmalt otsib DrakX üles kõik Teie arvuti IDE-seadmed, püüdes samal ajal\n"
+"tuvastada ka PCI siini SCSI-liideseid. Kui viimaseid leitakse ja vastav(ad)\n"
+"draiver(id) on teada, siis laetakse ja paigaldatakse kõik vajalik "
+"automaatselt.\n"
+"\n"
+"Riistvara tuvastamine ei pruugi alati siiski õnnestuda ja kui see nii "
+"peaks \n"
+"minema, palub DrakX Teil teatada, kas masinas on mõni PCI SCSI-liides.\n"
+"\n"
+"Kui peate oma adapteri käsitsi määrama, küsib DrakX, kas soovite määrata\n"
+"ka selle parameetrid. Siin oleks mõtet lasta tegutseda DrakX'il, mis "
+"proovib\n"
+"järele liidese spetsiifilised omadused, mida see initsialiseerimiseks "
+"vajab.\n"
+"Tavaliselt õnnestub see edukalt.\n"
+"\n"
+"Kui automaatne parameetrite otsimine ei tööta, tuleb liides käsitsi "
+"seadistada.\n"
+"Selleks tutvuge palun lähemalt oma SCSI liidese dokumentatsiooniga\n"
+"või küsige abi riistvara müüjalt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": kui süsteemis leiti helikaart, näidatakse seda siin.\n"
+"Kui märkate, et näidatav helikaart ei ole mitte see, mis süsteemis\n"
+"Teie teada tegelikult on, klõpsake nuppu ja valige uus draiver."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Siin näidatakse mitmeid Teie süsteemi puudutavaid parameetreid. Sõltuvalt\n"
+"riistvarast võite siin näha kõiki või osa järgmistest kirjetest. Iga kirje\n"
+"juures on ära toodud elemendid, mida on võimalik seadistada, ning Teie "
+"masinas\n"
+"praegu kehtiv seadistus. Selle muutmiseks klõpsake nupule \"%s\".\n"
+"\n"
+" * \"%s\": võimaldab kontrollida klaviatuuritabeli seadistusi\n"
+"ja neid vajaduse korral muuta.\n"
+"\n"
+" * \"%s\": võimaldab kontrollida asukohariigi valikut. Kui Te ei asu\n"
+"vaikimisi määratud riigis, klõpsake nupule \"%s\" ja valige uus\n"
+"riik. Kui Teie riiki ei ole ilmuvas nimekirjas, klõpsake nupule\n"
+"\"%s\", mis avab riikide täisnimekirja.\n"
+"\n"
+" * \"%s\": DrakX tuletab ajavööndi valitud riigi põhjal. Kui see ei peaks\n"
+"Teile sobima, klõpsake nupule \"%s\".\n"
+"\n"
+" * \"%s\": võimaldab kontrollida hiire seadistusi ja neid vajadusel muuta.\n"
+"\n"
+" * \"%s\": kui süsteemis leiti helikaart, näidatakse seda.\n"
+"Kui märkate, et siintoodud helikaart pole see, mis tegelikult on\n"
+"süsteemi paigaldatud, klõpsake nupule ja valige sobiv draiver.\n"
+"\n"
+" * \"%s\": kui süsteemis leiti TV-kaart, näidatakse seda.\n"
+"Kui Teil on TV-kaart, aga seda ei leitud, klõpsake nupule \"%s\"\n"
+"ning püüdke see käsitsi määrata.\n"
+"\n"
+" * \"%s\": nupule \"%s\" klõpsates saab muuta kaardiga seotud\n"
+"parameetreid, kui arvate, et need pole korrektsed.\n"
+"\n"
+" * \"%s\": vaikimisi määrab DrakX Teie graafilise liidese\n"
+"ekraanilahutuseks \"800x600\" või \"1024x768\". Kui see Teile ei sobi,\n"
+"klõpsake nupule \"%s\" ja valige mõni muu võimalus.\n"
+"\n"
+" * \"%s\": Kui soovite kohe seadistada juurdepääsu Internetti või\n"
+"kohtvõrku, saate seda teha nupule klõpsates. Täpsemalt kõnelevad\n"
+"võrgu seadistustest distributsiooniga kaasas olevad trükised või\n"
+"Mageiai juhtimiskeskuse abimaterjalid.\n"
+" * \"%s\": siin saab määrata HTTP ja FTP puhverserveri aadressid,\n"
+"kui Teie masin asub puhverserveri taga.\n"
+"\n"
+" * \"%s\": see võimaldab muuta eelmisel sammul paika pandud turvataset.\n"
+"\n"
+" * \"%s\": kui kavatsete oma süsteemi Internetti ühendada, kuluks\n"
+"ära enda kaitsmine rünnakute eest tulemüüriga. Vaadake\n"
+"üksikasju, kuidas tulemüüri seadistada, \"Põhiteadmiste käsiraamatu\" "
+"vastavast peatükist.\n"
+"\n"
+" * \"%s\": kui soovite muuta alglaaduri seadistusi, klõpsake\n"
+"sellele nupule. See on mõeldud siiski vaid kogenud kasutajatele.\n"
+"Täpsemat infot leiab käsiraamatust või Mageiai juhtimiskeskusest.\n"
+"\n"
+" * \"%s\": saate täpselt kontrollida, millised teenused Teie\n"
+"süsteemis töötavad. Kui kavatsete kasutada oma masinat serverina, kuluks\n"
+"ära seadistused üle vaadata."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-kaart"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graafiline kasutajaliides"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Valige kõvaketas, mida soovite puhastada oma uue Mageiai\n"
+"paigaldamiseks. Ettevaatust, kõik sellel leiduvad andmed hävitatakse\n"
+"ja neid ei saa enam taastada."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Valige \"%s\", kui soovite kustutada kõik sellel kettal asuvad\n"
+"partitsioonid. Ettevaatust, pärast \"%s\" klõpsamist ei ole enam\n"
+"võimalik sellelt kettalt andmeid taastada.\n"
+"\n"
+"Loobumiseks valige \"%s\", mis katkestab tegevuse ilma andmeid\n"
+"ja käesoleval kõvakettal olevaid partitsioone kustutamata."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Järgmine ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Eelmine"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": klõps nupul \"%s\" avab printeri seadistamise nõustaja.\n"
+#~ "Uurige lähemalt \"Põhiteadmiste käsiraamatu\" (\"Starter Guide\")\n"
+#~ "vastavast peatükist, kuidas uut printerit häälestada.\n"
+#~ "Siin näidatav sarnaneb sellele, mida võisite näha paigaldamise ajal."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Nüüd on kätte jõudnud kõige olulisem hetk Teie arvuti turvalisuse "
+#~ "tagamisel:\n"
+#~ "Teil tuleb määrata administraatori (\"root\") parool. Administraator "
+#~ "haldab kogu\n"
+#~ "süsteemi ja ainult temal on õigus seda uuendada, kasutajaid lisada, "
+#~ "muuta\n"
+#~ "kogu süsteemi seadistusi ja nii edasi. Ehk teisisõnu - administraator "
+#~ "võib teha\n"
+#~ "kõike! Seepärast tuleks parool valida selline, mida oleks raske ära "
+#~ "arvata.\n"
+#~ "DrakX ütleb Teile, kui parool tundub olevat liiga lihtne. Te võite "
+#~ "muidugi jätta\n"
+#~ "ka parooli sisestamata, aga me soovitame väga tungivalt seda siiski "
+#~ "teha.\n"
+#~ "Nagu iga muu operatsioonisüsteem, ei ole ka GNU/Linuxi süsteem "
+#~ "täielikult\n"
+#~ "kaitstud vigade eest. Kuna administraator võib kõiki piiranguid muuta "
+#~ "ning\n"
+#~ "vahel tahtmatultki kustutada oma hooletu tegevusega kõik andmed mingilt\n"
+#~ "partitsioonilt, on päris oluline, et administraatoriks saamine ei oleks\n"
+#~ "eriti lihtne.\n"
+#~ "\n"
+#~ "Parool võib koosneda nii tähtedest kui numbritest ja peab olema vähemalt\n"
+#~ "8 (kaheksa) märki pikk. Ärge pange kunagi administraatori parooli kirja - "
+#~ "see\n"
+#~ "võib muuta ligipääsu Teie süsteemile võõrastele liiga hõlpsaks.\n"
+#~ "\n"
+#~ "Väike soovitus - ärge siiski parooli liiga keeruliseks või pikaks ajage,\n"
+#~ "sest lõppeks peaksite seda ju suutma ka meelde jätta!\n"
+#~ "\n"
+#~ "Kui Te parooli sisestate, seda ekraanil ei näidata. Juhuslike näpuvigade\n"
+#~ "vältimiseks peate selle sisestama kaks korda järjest. Siiski, kui teete\n"
+#~ "mõlemal korral ühesuguse vea, on just see \"vigane\" parool, mida Teilt "
+#~ "oodatakse\n"
+#~ "administraatorina sisselogimisel.\n"
+#~ "\n"
+#~ "Kui soovite, et ligipääsu käesolevale arvutile kontrolliks mõni\n"
+#~ "autentimisserver, klõpsake nupul \"%s\".\n"
+#~ "\n"
+#~ "Kui Teie võrgus on kasutusel LDAP, NIS või PDC Windowsi domeeni "
+#~ "autentimise\n"
+#~ "teenused, valige neist sobilik \"%s\". Kui Te aga ei juhtu teadma,\n"
+#~ "mida teha, pöörduge oma võrgu administraatori poole.\n"
+#~ "\n"
+#~ "Kui Teil on probleeme parooli meelespidamisega, Teie arvuti ei ole\n"
+#~ "ühendatud ühtegi administreeritavasse võrku või Te usaldate täielikult\n"
+#~ "kõiki, kes Teie arvutit kasutavad, on mõttekas valida \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "autentimisviis"
diff --git a/perl-install/install/help/po/eu.po b/perl-install/install/help/po/eu.po
new file mode 100644
index 000000000..e2b20246e
--- /dev/null
+++ b/perl-install/install/help/po/eu.po
@@ -0,0 +1,1970 @@
+# translation of eu.po to EUSKARA
+# translation of DrakX-eu.po to EUSKARA
+# translation of DrakX-eu.po to basque
+# EUSKARA: Mageia translation.
+# Copyright (C) 2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Iñigo Salvador Azurmendi <xalba@euskalnet.net>, 2001-2002,2003,2004, 2005.
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-eu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2014-10-05 15:08+0100\n"
+"Last-Translator: Egoitz Rodriguez Obieta <egoitzro@gmail.com>\n"
+"Language-Team: EUSKARA <itzulpena@euskalgnu.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.7\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Aurrera jarraitu aurretik lizentziaren baldintzak arretaz irakurri.\n"
+"Mageia banaketa osoa hartzen du. Baldintza guztiekin ados\n"
+"bazaude, hautatu \"%s\" laukia. Onartzen ez badituzu, \"%s\" botoian klik\n"
+"egin eta ordenagailua berrabiaraziko da."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux erabiltzaile anitzeko sistema da, eta beraz erabiltzaile\n"
+"bakoitzak bere hobespenak, bere fitxategiak eta abar eduki ditzake. \n"
+"``Hasiberrien gida'' irakur dezakezu, erabiltzaile anitzeko sistemei buruz"
+"\"gehiago ikasteko. Baina \"root\"ak, hau da, \n"
+"sistema-administratzaileak ez bezala, hemen gehitzen dituzun \n"
+"erabiltzaileek ezingo dute ezer aldatu, beren fitxategiak eta beren \n"
+"konfigurazioa izan ezik, eta, hortaz, sistema babestuta egongo da \n"
+"sistema osoan eragina duten nahigabeko aldaketetatik edo intentzio \n"
+"txarrez egindakoetatik. \n"
+"Gutxienez, erabiltzaile arrunt bat sortu behar duzu zuretzat - hori da \n"
+"eguneroko lanetarako erabili behar duzuna. Oso erraza den arren saioa beti \n"
+"\"root\" gisa hastea, kontuan izan oso arriskutsua izan daitekeela! \n"
+"Hutsegiterik txikienak sistema funtzionatu ezinda utz dezake. Erabiltzaile \n"
+"arrunt gisa akats larriren bat egiten baduzu, gerta litekeen okerrena \n"
+"informazioa galtzea da, baina ez du eraginik izango sistema osoan\n"
+"\n"
+"Lehen eremuan benetako izena eskatuko zaizu. Jakina, hori ez da \n"
+"nahitaezkoa -nahi duzun izena idatz dezakezu. DrakX-k eremu honetan \n"
+"idatzitako lehen hitza gordeko du, eta \"%s\" eremuan kopiatuko du.\n"
+"Horixe izango da erabiltzaile honek sisteman saioa hasteko idatziko duena. \n"
+"Nahi izanez gero, lehenetsia gainidatz dezakezu, eta erabiltzaile-izena \n"
+"aldatu. Hurrengo urratsa pasahitza idaztea da.\n"
+"Segurtasunaren ikuspegitik, pribilegio gabeko erabiltzaile (arrunt) baten\n"
+"pasahitza ez da \"root\"arena bezain garrantzizkoa; baina, hala ere, ez da\n"
+"axolagabeki jokatu behar, hutsik utziz edo pasahitz errazegia erabiliz: \n"
+"azken batean, zure fitxategiak arriskuan egon litezke.\n"
+"\n"
+"\"%s\"(e)n klik egindakoan, beste erabiltzaile batzuk gehitu ditzakezu. \n"
+"Gehitu erabiltzaile bat zure lagun bakoitzarentzat: zure aitarentzat edo \n"
+"arrebarentzat, adibidez. Erabiltzaileak gehitutakoan, hautatu \"%s\".\n"
+"\n"
+"\"%s\" botoian klik eginez, \"shell\" lehenetsia aldatu ahal izango diozu\n"
+"erabiltzaile horri (bash lehenespenez).\n"
+"\n"
+"Erabiltzaileak gehitzen amaitutakoan, ordenagailua abiaraztean automatikoki\n"
+"saioa has dezakeen erabiltzailea aukeratzeko eskatuko zaizu. Eginbide\n"
+"hori interesatzen bazaizu (ez du eragin handirik segurtasun lokalean),\n"
+"hautatu erabiltzailea eta leiho-kudeatzailea, eta egin klik \"%s\"(e)n. \n"
+"Eginbidea interesatzen ez bazaizu, garbitu \"%s\" laukia."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Erabiltzaile izena"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Erabiltzailea onartu"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Eginbide hau erabili nahi duzu?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hemen dituzu zure disko zurrunean detektatutako Linux partizioak.\n"
+"Morroiak egindako aukerak manten ditzakezu, egokiak baitira instalazio\n"
+"ohikoenetarako. Aldaketarik egiten baduzu, gutxienez erroko partizio bat\n"
+"definitu behar duzu (\"/\"). Ez aukeratu partizio txikiegirik edo ezin \n"
+"izango duzu nahikoa software instalatu. Datuak beste partizio batean \n"
+"gorde nahi badituzu, \"/home\"rako partizio bat ere sortu beharko duzu\n"
+"(Linux partizio bat baino gehiago baduzu soilik da posible).\n"
+"\n"
+"Partizio bakoitza honela azaltzen da: \"Izena\", \"Edukiera\".\n"
+"\n"
+"\"Izena\" honela osatzen da: \"disko zurrun mota\", \"disko \n"
+"zurrun zenbakia\", \"partizio-zenbakia\" (adibidez, \"hda1\").\n"
+"\n"
+"\"Disko zurrun mota\" \"hd\" izaten da, disko zurruna IDE motakoa\n"
+"bada, eta \"sd\", SCSI motakoa bada.\n"
+"\n"
+"\"Disko zurrun zenbakia\" beti letra bat izaten da \"hd\" edo\n"
+"\"sd\"ren ondoren. \n"
+"IDE disko zurrunetan:\n"
+"\n"
+" * \"a\"k esan nahi du \"IDE kontroladore primarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"b\"k esan nahi du \"IDE kontroladore primarioko mendeko disko\n"
+"zurruna\";\n"
+"\n"
+" * \"c\"k esan nahi du \"IDE kontroladore sekundarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"d\"k esan nahi du \"IDE kontroladore sekundarioko mendeko disko\n"
+"zurruna\".\n"
+"\n"
+"SCSI disko zurrunetan, \"a\"k esan nahi du\"SCSI ID baxuena\", \"b\"k\n"
+"\"bigarren SCSI ID baxuena\", etab."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalazioa zenbait CD-ROMetan banatuta dago. \n"
+"Hautatutako pakete bat beste CD-ROM batean badago, DrakX-k du\n"
+"uneko CDa egotziko eta behar den CDa sartzeko eskatuko dizu.\n"
+"Eskatzen zaizun CDa ez badaukazu eskura, sakatu \"%s\",\n"
+"dagozkion paketeak ez dira instalatuko."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sisteman zein programa instalatu nahi dituzun zehazteko garaia da.\n"
+"Mageia-erako milaka pakete dituzu erabilgarri, eta kudeaketa\n"
+"errazteko, antzeko aplikazioen multzotan kokatu dira.\n"
+"\n"
+"Mageia-ek pakete multzoak lau kategoriatan antolatzen ditu.\n"
+"Kategoria anitzetako aplikazioak nahastu eta bateratu ditzakezu, honela\n"
+"\"Lanpostua\" instalazio batek \"Zerbitzari\" kategoriako aplikazioak\n"
+"instalatuta izan ditzake.\n"
+"\n"
+" * \"%s\": makina lanpostu gisa erabiltzeko asmoa baduzu,\n"
+"hautatu 'lanpostua' kategoriako taldeetako bat edo gehiago.\n"
+"\n"
+" * \"%s\": zure makina programazioan erabiltzeko asmoa baduzu, hautatu\n"
+"kategoria horretako talde egokiak. \"LSB\" talde bereziak zure sistema\n"
+"Linux eStandar Base-ren zehaztapenekin ahalik bateragarrien izan\n"
+"dadin konfiguratuko du.\n"
+"\n"
+" \"LSB\" taldea hautatzeak \"2.4\" nukleoaren seriea ere instalatuko da,\n"
+"\"2.6\" lehenetsiaren ordez. Hau sistemaren %%100 LSB bateragarritasuna\n"
+"ziurtatzeko egiten da. Hala ere, \"LSB\" taldea aukeratzen ez baduzu ere\n"
+"LSB-rekin ia %%100 bateragarria den sistema izango duzu.\n"
+"\n"
+" * \"%s\": zure makina zerbitzaria izatea nahi baduzu, aukeratu\n"
+"zerbitzu ohikoenetatik zeintzu instalatu nahi dituzun zure makinan.\n"
+"\n"
+" * \"%s\": hemen aukeratuko duzu nahien duzun ingurune grafikoa.\n"
+"Bat behintzat hautatu behar duzu, interfaze grafikoa erabili nahi\n"
+"baduzu behintzat.\n"
+"\n"
+"Saguaren kurtsorea talde izen baten gainetik pasatuta, talde\n"
+"horri buruzko azalpen labur bat bistaratuko da.\n"
+"\n"
+"\"%s\" laukia markatu dezakezu, erabilgarria da eskainitako paketeak\n"
+"ezagun badituzu edo instalatuko denaren gaineko erabateko kontrola \n"
+"nahi baduzu.\n"
+"\n"
+"Instalazioa \"%s\" moduan hasten baduzu, talde guztiak desautatu\n"
+"ditzakezu eta edozein pakete berriren instalazioa eragozteko. Hau\n"
+"erabilgarria da exisitzen den sistema bat konpondu edo eguneratzeko.\n"
+"\n"
+"Instalazio arrunt bat (hau da, eguneraketa ez dena) egiterakoan talde\n"
+"guztiak desautatzen badituzu, elkarrizketa bat aterako zaizu instalazio\n"
+"minimo bat egiteko aukera desberdinak aholkatuz:\n"
+"\n"
+" * \"%s\": Instalatu ahalik eta pakete kopuru txikiena dabilen idaztegi "
+"grafiko bat izateko.\n"
+"\n"
+" * \"%s\": oinarrizko sistema gehi oinarrizko utilitateak eta heuren\n"
+"dokumentazioa instalatzen ditu. Egokia da zerbitzari bat ezartzeko.\n"
+"\n"
+" * \"%s\": Linux sistema batekin lan egin ahal izateko behar den pakete\n"
+"kopuru txikiena instalatzen du. Instalazio honekin, komando-lerroko \n"
+"interfazea bakarrik izango duzu. Instalazio honen neurri osoa 65\n"
+"megabyte ingurukoa da."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Bertsio-berritzea"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Oinarrizko dokumentazioarekin"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalazio minimo-minimoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Paketeak banaka instalatzea hautatzen baduzu, instalatzaileak pakete\n"
+"guztiak talde eta azpitaldetan klasifikatuta dituen zuhaitz bat aurkeztuko "
+"du.\n"
+"Zuhaitza arakatzerakoan, talde osoak, azpitaldeak edo banako paketeak\n"
+"hauta ditzakezu.\n"
+"\n"
+"Pakete bat hautatzen duzun bakoitzean, azalpen bat agertuko\n"
+"da eskuinean, paketearen helburua jakinarazteko.\n"
+"\n"
+"Zerbitzari pakete bat hautatu bada, pakete hori zehazki hautatu duzulako\n"
+"edo pakete-talde bateko zati zelako, zerbitzari horiek instalatu nahi "
+"dituzula\n"
+" berresteko eskatuko zaizu. Lehenespenez Mageia-ek instalatutako\n"
+"edozein zerbitzu abioan automatikoki abiaraziko du. Nahiz eta seguruak\n"
+" diren eta arazo ezagunik ez duten banaketa kaleratzeko garaian, guztiz\n"
+" posible da Mageia bertsio hau amaitu eta gero segurtasun zuloak\n"
+" aurkitu izana. Ez badakizu zerbitzu zehatz batek zer egiten duen edo "
+"zergatik\n"
+" instalatu den, klikatu \"%s\". \"%s \" klikatzeak zerrendatutako "
+"zerbitzuak\n"
+" instalatuko ditu eta abiapen garaian automatikoki hasiko dira!!\n"
+"\n"
+"\"%s\" aukera menpekotasun arazoak konpontzeko xedez instalatzaileak\n"
+" automatikoki pakete bat hautatzen duenean agertzen den abisua ezgaitzeko\n"
+" erabiltzen da. Pakete batzuk beste batzurekiko menpekotasuna izaten dute,\n"
+" eta zenbait pakete instalatu ahal izateko beste pakete batzuk instalatuta\n"
+" eduki behar izaten dira. Instalatzaileak zehatz dezake instalazioa behar\n"
+"bezala burutu dadin, menpekotasun bat asetzeko, zein pakete behar diren.\n"
+"\n"
+"Zerrendaren azpian agertzen den diskete ikonoak aukera ematen du\n"
+"aurreko instalazio batean sortutako pakete-zerrenda bat zamatzeko. Oso\n"
+"erabilgarria da hainbat makina berdin konfiguratu nahi badituzu. Ikono\n"
+"honetan klik egiten baduzu, beste instalazio baten amaieran sortutako\n"
+" disketea sartzeko eskatuko dizu. Ikus diskete hori sortzeko azken "
+"urratseko\n"
+"bigarren iradokizuna."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Mendekotasun automatikoak"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Elkarrizketa hau abio garaian zein zerbitzu hastea nahi duzun aukeratzeko\n"
+" erabiltzen da.\n"
+"\n"
+"DrakX-ek uneko instalazioan erabilgarri dauden zerbitzu guztiak zerrendatuko "
+"ditu. Aztertu haietako bakoitza arretaz eta ezautatu abio garaian behar ez\n"
+" direnak.\n"
+"\n"
+"Zerbitzu bat hautatzean, azalpen-testu labur bat bistaratuko da.\n"
+"Hala ere, ez bazaude ziur zerbitzu bat erabiltzea komeni den ala ez,\n"
+"seguruagoa da jokabide lehenetsia uztea.\n"
+"\n"
+"Etapa honetan, oso kontuz ibili zure makina zerbitzari gisa erabiltzeko\n"
+"asmoa baduzu: seguru asko ez duzu nahi izango behar ez duzun zerbitzurik \n"
+"abiaraztea. Gogoan izan zerbitzu batzuk arriskutsuak izan daitezkeela \n"
+"zerbitzari batean gaitzen badira. Oro har, benetan behar dituzun zerbitzuak\n"
+"soilik hautatu!!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux-ek GMT (Greenwich Mean Time) ordua erabiltzen du eta tokian\n"
+"tokiko ordura aldatzen du, hautatutako ordu-gunearen arabera. Zure plaka\n"
+"nagusiko ordua bertako orduan ezarrita badago, hau desaktibatu dezakezu\n"
+"\"%s \" aukera ezautatuz, GNU/Linux-i sistemaren ordua eta hardwarearena\n"
+" ordu-gune berean daudela jakinaraziko diolarik. Hau erabilgarria da\n"
+"makinak beste sistema eragile bati ere ostatu ematen badio.\n"
+"\n"
+"\"%s\" aukerak automatikoki doituko du sistemaren ordularia, Interneteko\n"
+" urruneko ordu zerbitzari batekin konektatuz. Ezaugarri hau erabili ahal\n"
+" izateko, Interneteko konexioa behar duzu. Zugandik hurbil dagoen ordu\n"
+" zerbitzaria aukeratzea gomendatzen dizugu. Aukera honek ordu zerbitzari\n"
+" bat instalatzen du zure bertako sareko beste makinek ere erabili dezaketena."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Hardware-erlojua GMT-an jarri "
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Ordu-sinkronizazio automatikoa"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Txartel grafikoa\n"
+"\n"
+" Instalatzaileak normalean automatikoki detektatzen eta konfiguratzen\n"
+"du makinan instalatutako txartel grafikoa. Ez badu automatikoki detektatzen\n"
+"zerrendan hauta dezakezu zure txartel grafikoa.\n"
+"\n"
+" Zure txartelarentzat zerbitzari bat baino gehiago badaude erabilgarri, \n"
+"3D azeleraziodunak nahiz gabeak, zure beharren arabera ondoen datorkizuna\n"
+"aukeratu beharko duzu."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window sistema) GNU/Linux-en interfaze grafikoaren bihotza da,\n"
+" Mageia-ekin bildutako ingurune grafiko guztiek (KDE, Gnome,\n"
+"Afterstep, WindowMaker...) erabiltzen dutena.\n"
+"\n"
+"Bistaratze grafiko optimoa lortzeko aldatu daitekeen parametro zerrenda\n"
+"bat ikusiko duzu.\n"
+"\n"
+"Txartel Grafikoa\n"
+"\n"
+" Instalatzaileak normalean automatikoki detektatu eta konfiguratuko\n"
+"du makinan instalatutako txartel grafikoa. Hau zuzena ez bada, zerrendatik\n"
+"hauta dezakezu instalatuta daukazun txartela.\n"
+"\n"
+" Zure txartelarentzat zerbitzari desberdinak erabilgarri badaude, 3D\n"
+"azelerazioarekin edo gabe, zure beharretara ondoen egokitzen den\n"
+"zerbitzaria hautatzeko eskatuko zaizu.\n"
+"\n"
+"\n"
+"\n"
+"Monitorea\n"
+"\n"
+" Normalean instalatzaileak automatikoki detektatu eta konfiguratuko\n"
+"du makinara lotutako monitorea. Hau zuzena ez bada, zerrendatik\n"
+"hauta dezakezu lotuta daukazun monitorea.\n"
+"\n"
+"\n"
+"\n"
+"Bereizmena\n"
+"\n"
+" Hemen, zure grafikoen hardwarearentzako erabilgarri dauden bereizmen\n"
+"eta kolore sakonerak hautatu ditzakezu. Aukeratu zure beharretara hobe\n"
+"egokitzen dena (instalazio ondoren aldaketak egiteko aukera izango duzu).\n"
+"Hautatutako konfigurazioa erakusten da monitorearen irudian.\n"
+"\n"
+"\n"
+"\n"
+"Proba\n"
+"\n"
+" Zure hardwarearen arabera, baliteke sarrera hau ez agertzea.\n"
+"\n"
+" Sistema nahi duzun bereizmeneko pantaila grafiko bat irekitzen saiatuko\n"
+"da. Proba mezua ikusi eta \"%s\" erantzuten baduzu, DrakX hurrengo \n"
+"urratsera jarraituko du. Ikusten ez baduzu , horrek esan nahi du\n"
+"automatikoki detektatutako konfigurazioaren zatiren bat gaizki zegoela\n"
+"eta proba automatikoki amaituko da 12 segundo igarotakoan, eta menura\n"
+" itzuliko da. Aldatu ezarpenak bistaratze grafiko zuzena lortu arte.\n"
+"\n"
+"\n"
+"\n"
+"Aukerak\n"
+"\n"
+" Urrats hauek zure makina abiaraztean automatikoki interfaze grafikora\n"
+" aldatzea nahi duzun aukeratzeko bidea emango dizute. Jakina, \"%s\"\n"
+"aukeratu nahiko duzu makinak zerbitzari moduan lanegingo badu, edo\n"
+"bistaratzea konfiguratzea lortu ez baduzu."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitorea\n"
+"\n"
+" Normalean instalatzaileak automatikoki detektatzen eta konfiguratzen\n"
+"du makinari konektatutako monitorea. Egokia ez bada, zerrendan\n"
+"aukera dezakezu ordenagailuan konektatuta daukazun monitorea."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Bereizmena\n"
+"\n"
+" Bereizmena eta kolore-sakonera hauta ditzakezu, zure hardwarearentzat\n"
+"erabilgarri daudenen artean. Aukeratu zure beharren arabera ondoen \n"
+"datorkizuna (edonola ere, instalazioaren ondoren aldatu ahal izango duzu). \n"
+"Aukeratutako konfigurazioaren adibide bat erakutsiko zaizu monitorean."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Zure txartelarentzako zerbitzari ugari dauden kasurako, 3D azeleraziodunak \n"
+"nahiz gabeak, zure beharretara hobe egokitzen dena aukera dezazun "
+"galdegiten\n"
+"zaizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Aukerak\n"
+"\n"
+" Makina abiaraztean automatikoki interfaze grafikora aldatu dadin nahi\n"
+"duzun hautatzeko aukera ematen dizu. Jakina, \"%s\" erantzun nahi \n"
+"izango duzu zure ordenagailuak zerbitzari gisa jokatu behar badu, edo \n"
+"bistaratzea konfiguratzea lortzen ez baduzu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Hona iritsita, Mageia sistema eragilea disko zurrunean non\n"
+"instalatu aukeratu behar duzu. Zure disko zurruna hutsik badago edo\n"
+"lehendik dagoen sistema eragile batek leku erabilgarri guztia betetzen\n"
+"badu, diska zatikatu beharko duzu. Disko zurruna zatikatzea, funtsean, \n"
+"diskoa logikoki zatitzea da, Mageia sistema berria instalatzeko\n"
+"behar den lekua sortzeko.\n"
+"\n"
+"Disko zurruna zatikatzeko prozesua normalean itzulbiderik gabea denez\n"
+"eta datuen galera eragin dezakeenez, zatikatzeak beldurra eta estresa "
+"eragin\n"
+" dezake esperientzia gabeko erabiltzaileengan. Zorionez, DrakX-ek prozesu\n"
+" hau errazten duen morroi bat dauka. Urrats honekin jarraitu aurretik, "
+"irakurri\n"
+" atal honetako gainerako zatia eta guztiaren gainetik hartu behar adina "
+"denbora.\n"
+"\n"
+"Disko zurrunaren konfigurazioaren arabera, hainbat aukera izango dituzu:\n"
+"\n"
+" * \"%s\": Aukera honek zatikaketa automatia gauzatuko du hutsik dagoen\n"
+" unitatean. Aukera hau erabiltzen baduzu, ez zaizu beste galderarik egingo \n"
+"\n"
+" * \"%s\": Morroiak Linux partizio bat edo gehiago detektatu ditu zure "
+"disko\n"
+" zurrunean. Erabili nahi badituzu, hautatu aukera hau. Partizio bakoitzari\n"
+" dagokion muntatze-puntua aukeratzeko eskatuko zaizu. Oinordetzan\n"
+" hartutako muntatze-puntuak hautatzen dira lehenespenez, eta gehienetan\n"
+" ona izaten da haiek mantentzea.\n"
+"\n"
+" * \"%s\": Microsoft Windows disko zurrunean instalatuta badago eta\n"
+"bertako leku erabilgarri guztia hartzen badu, lekua askatu beharko duzu\n"
+" GNU/Linux-entzat. Horretarako, Microsoft Windows-en partizioa eta datuak\n"
+" ezaba ditzakezu (ikus ``Ezabatu disko osoa'' aukera) edo Windows-en FAT\n"
+" edo NTFS partizioei neurria aldatu. Neurri aldaketa datu galerarik gabe\n"
+"gauzatu daiteke baldin eta aurretik Windows partizioa desfragmentatu\n"
+" baduzu. Oso gomendagarria da datuen babeskopiak egitea. Aukera hau\n"
+" erabiltzea gomendatzen da Mageia eta Microsoft Windows, biak,\n"
+" konputagailu berean erabili nahi badituzu.\n"
+"\n"
+" Aukera hau hautatu aurretik, ulertu ezazu prozedura honen ondoren,\n"
+" Microsoft Windows partizioaren neurria hasi aurretik baino txikiagoa\n"
+"izango dela. Leku aske gutxiago izango duzu Microsoft Windows-en\n"
+"zure datuak gorde edo software berria instalatzeko.\n"
+"\n"
+" * \"%s\": Disko zurrunean dauden datu eta partizio guztiak ezabatu eta \n"
+"Mageia sistema berriarekin ordeztu nahi badituzu, hautatu aukera\n"
+" hau. Kontuz, berretsi ondoren ezingo baituzu eragiketa desegin.\n"
+"\n"
+" !! Aukera hau hautatzen baduzu, diskoko datu guztiak ezabatuko dira. !!\n"
+"\n"
+" * \"%s\": Aukera hau diko osoa Microsoft Windows-ek hartzen duenean\n"
+" agertzen da. Aukera hau hautatzeak unitatean dagoen guztia ezabatuko du\n"
+" eta berriro hasiko da hutsetik partizioak sortzen.\n"
+"\n"
+" !! Aukera hau hautatzen baduzu, diskoko datu guztiak galduko dituzu. !!\n"
+"\n"
+" * \"%s\": Hautatu aukera hau, disko zurruna eskuz zatikatu nahi baduzu.\n"
+"Kontuz ibili -- aukera ahaltsu bezain arriskutsua da, eta oso erraz gal\n"
+" ditzakezu datu guztiak. Horregatik, aurretik horrelako gauzak egin "
+"dituztenei\n"
+" eta esperientzia dutenei bakarrik gomendatzen zaie aukera hau. DiskDrake\n"
+" erabiltzeko jarraibide gehiago nahi izanez gero, irakurri ``Hasiberrien\n"
+" gida''ko ``Partizioen kudeaketa''atala."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Erabili lehendik dagoen partizioa"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Microsoften Windows-eko ® partizioko espazio librea erabili ezazu"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borratu disko osoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Hortxe duzu. Instalazioa osatu da eta zure GNU/Linux sistema erabiltzeko\n"
+" prest duzu. Sakatu \"%s\" sistema berrabiarazteko. Ez ahaztu instalazio\n"
+" euskarria ateratzeaz (CD-ROMa edo disketea). Konputagailuak bere\n"
+" hardware probak amaitutakoan ikusi beharko zenuken lehen gauza\n"
+" abio-zamatzailearen menua da, zein sistema eragile abiarazi hautatzeko\n"
+"aukera emanez.\n"
+"\n"
+"\"%s\" Botoiak bi botoi gehiago erakusten ditu:\n"
+"\n"
+" * \"%s\": Instalazio-diskete bat sortzeko aukera ematen dizu, "
+"automatikoki,\n"
+" operadore baten laguntzarik gabe instalazio oso bat egingo duena, oraintxe\n"
+" konfiguratu duzun instalazioaren antzera.\n"
+"\n"
+" Kontuan izan beste bi aukera daudela erabilgarri botoian klik egin "
+"ostean:\n"
+"\n"
+" * \"%s\". Hau instalazio erdi-automatikoa da. Zatikaketa urratsa da\n"
+" prozedura interaktibo bakarra.\n"
+"\n"
+" * \"%s\". Instalazio guztiz automatikoa: disko zurruna erabat "
+"berridatziko\n"
+" da, eta datu guztiak galduko dira.\n"
+"\n"
+" Eginbide hau oso praktikoa da antzeko ordenagailu asko instalatzen\n"
+"direnerako. Ikus auto-instalazioaren atala gure web gunean informazio "
+"gehiago nahi izanez gero.\n"
+"\n"
+" * \"%s\"(*): Instalazio honetan hautatutako paketeen zerrenda gordetzen\n"
+" du. Hautapen hau beste instalazio batean erabiltzeko, sartu disketea eta\n"
+" abiatu instalazioa. Gonbitan, sakatu [F1] tekla eta idatzi >>linux\n"
+"defcfg=\"floppy\" << eta sakatu [Sartu] tekla.\n"
+"\n"
+"(*) FAT-ekin eratutako diskete bat behar duzu. GNU/Linux-en bat sortzeko\n"
+"idatzi \"mformat a:\", edo \"fdformat /dev/fd0\" eta ondoren \"mkfs vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sortu auto-instalazioko disketea"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Errepikatu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatizatuta"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Pakete-hautaketa gorde ezazu"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Oinordetzan hartutako zenbait GNU/Linux partizio berrerabiltzea hautatzen\n"
+"baduzu, haietako batzuk berreratu eta bertako datuak ezabatu nahi izan\n"
+"dezakezu. Hori egiteko, mesedez partizio horiek ere aukeratu.\n"
+"\n"
+"Kontuan izan ez dela beharrezkoa lehendik dauden partizio guztiak\n"
+" berreratzea. Sistema eragilea gordetzen duten partizioak berreratu behar\n"
+" dituzu (\"/\", \"/usr\" edo \"/var\") baino ez mantendu nahi dituzun "
+"datuak\n"
+" gordetzen dituzten partizioak (normalean \"/home\").\n"
+"\n"
+"Kontuz ibili partizioak aukeratzerakoan. Eraketa amaitu ondoren,\n"
+" aukeratutako partizioetako datu guztiak ezabatu egingo dira eta ezin\n"
+"izango dituzu berreskuratu.\n"
+"\n"
+"Klikatu \"%s\" partizioak eratzeko prest zaudenean.\n"
+"\n"
+"Klikatu \"%s\" Mageia sistema eragile berria instalatzeko beste partizio\n"
+" bat aukeratu nahi baduzu.\n"
+"\n"
+"Klikatu \"%s\" diskoan hondatutako blokeak aurkitzeko egiaztatuko diren\n"
+" partizioak aukeratu nahi badituzu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mageia instalatzen duzunerako, litekeena da pakete batzuk\n"
+"hasierako argitalpenetik aldatu izana. Baliteke akatsak zuzendu eta \n"
+"segurtasun arazoak konpondu izatea. Eguneratzeez baliatu ahal izan\n"
+"zaitezen, orain, Internetetik jaitsi ditzakezu. Markatu \"%s\" dabilen "
+"Internet\n"
+"lotura badaukazu, edo \"%s\" pakete eguneratuak geroago instalatu nahi\n"
+" badituzu.\n"
+"\n"
+"\"%s\" hautatzen baduzu, eguneratzeak eskaintzen dituzten lekuen zerrenda \n"
+"azalduko zaizu. Zugandik gertu dagoen bat aukeratu behar zenuke. Pakete\n"
+" hautatzeko zuhaitza agertuko da: berrikusi hautapena, eta hautatu \"%s\" \n"
+"aukeratutako paketeak hartu eta instalatzeko, edo \"%s\" galerazteko."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Puntu honetan, DrakX-ek zure makinarentzako nahi duzun segurtasun maila\n"
+" hautatzeko aukera emango dizu. Arau nagusi bezala, segurtasun maila\n"
+"handiagoa ezarri behar da makinak ezinbesteko datuak gorde behar baditu,\n"
+"edo zuzenean Interneten agerian badago. Segurtasun maila handiagoa\n"
+"ezartzean, normalean erabilera erraztasuna galtzen da.\n"
+"\n"
+"Zer aukeratu ez badakizu, hautatu aukera lehenetsia. Gero aldatu \n"
+"ahal izango duzu draksec tresnarekin, Mageia Aginte Gunearen\n"
+"zati bat.\n"
+"\n"
+"Bete \"%s\" eremua segurtasun arduradunaren postaE helbidearekin.\n"
+"Segurtasun-mezuak helbide horretara bidaliko dira."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Segurtasun-administratzailea"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Orain, Mageia sistema instalatzeko zein partizio erabiliko\n"
+"d(ir)en aukeratu behar duzu. Partizioak jadanik definituta badaude,\n"
+"(GNU/Linux-en aurreko instalazio batek edo beste partizio-tresna batek\n"
+"definituta), lehendik dauden partizioak erabil ditzakezu. Bestela, disko \n"
+"zurruneko partizioak definitu behar dituzu.\n"
+"\n"
+"Partizioak sortzeko, aurrena disko zurrun bat hautatu behar duzu. "
+"Partizioa \n"
+"egiteko diskoa hautatzeko sakatu ``hda'' lehen IDE unitaterako,\n"
+"``hdb'' bigarrenerako, ``sda'' lehen SCSI unitaterako, eta abar.\n"
+"\n"
+"Hautatutako disko zurrunaren partizioa egiteko, aukera hauek\n"
+"erabil ditzakezu:\n"
+"\n"
+" * \"%s\": aukera honek hautatutako disko zurruneko partizio guztiak \n"
+"ezabatzen ditu\n"
+"\n"
+" * \"%s\": aukera honekin automatikoki sor ditzakezu ext4 eta\n"
+"swap partizioak disko zurruneko leku librean\n"
+"\n"
+"\"%s\": eginbide gehiagotarako aukera ematen du:\n"
+"\n"
+" * \"%s\": partizio-taula diskete batean gordetzen du. \n"
+"Baliagarria da geroago partizio-taula berreskuratzeko, behar izanez gero. \n"
+"Oso gomendagarria da urrats hau egitea.\n"
+"\n"
+" * \"%s\": lehen gordetako partizio-taula disketetik berreskuratzeko erabil\n"
+"daiteke.\n"
+"\n"
+" * \"%s\": partizio-taula hondatuta badago, \n"
+"berreskuratzen saia zaitezke aukera honen bidez. Kontuz ibili eta gogoan \n"
+"izan huts egin dezakeela.\n"
+"\n"
+" * \"%s\": aldaketa guztiak desegiten ditu\n"
+"eta hasierako partizio-taula kargatzen du.\n"
+"\n"
+" * \"%s\": aukera hau desgaitzen baduzu, \n"
+"euskarri aldagarriak (disketeak, CD-ROMak eta horrelakoak) eskuz muntatu \n"
+"eta desmuntatzera behartuko dituzu erabiltzaileak.\n"
+"\n"
+" * \"%s\": erabili aukera hau disko zurruneko partizioa egiteko morroia\n"
+"erabili nahi baduzu. Partizioak egiten ongi ez badakizu, morroia erabiltzea\n"
+"gomendatzen dizugu.\n"
+"\n"
+" * \"%s\": aukera hau aldaketak bertan behera uzteko erabil dezakezu.\n"
+"\n"
+" * \"%s\": partizioekin gauza gehiago egiteko aukera ematen \n"
+"du (mota, aukerak, formatua) eta disko zurrunari buruzko informazio \n"
+"gehiago ematen du.\n"
+"\n"
+" * \"%s\": disko zurrunaren partizioak egiten amaitutakoan, diskoari\n"
+"egindako aldaketak gordeko ditu.\n"
+"\n"
+"Partizio baten tamaina definitzean, doitasunez zehatz dezakezu\n"
+"tamaina, teklatuko gezi-teklak erabiliz.\n"
+"\n"
+"Oharra: edozein aukera eskura dezakezu teklatuaren bidez. Partizio batetik \n"
+"bestera joateko, [Tab] eta [Gora/Behera] geziak erabil ditzakezu.\n"
+"\n"
+"Partizio bat hautatuta dagoenean, aukera hauek dituzu:\n"
+"\n"
+" * Ktrl-c beste partizio bat sortzeko (partizio huts bat hautatuta\n"
+"dagoenean)\n"
+"\n"
+" * Ktrl-d partizio bat ezabatzeko\n"
+"\n"
+" * Ktrl-m muntatze-puntua ezartzeko\n"
+"\n"
+"Erabil daitezkeen fitxategi-sistema desberdinei buruzko informazioa\n"
+"lortzeko, irakurri ``Erreferentzia Eskuliburuko'' ext2FS kapitulua.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Partizio taula gorde"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Partizio taula berritu"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Partizio taula berrezkuratu"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Euskarri aldagarriak automuntatzea"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Morroia"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Desegin"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Aldatu modu normalera/aditu modura"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Microsoft partizio bat baino gehiago aurkitu dira zure disko zurrunean.\n"
+"Hautatu zeinen tamaina aldatu nahi duzun, Mageia sistema\n"
+"berria instalatu ahal izateko.\n"
+"\n"
+"Partizioak honela azaltzen dira: \"Linux izena\", \"Windows izena\"\n"
+"\"Edukiera\".\n"
+"\n"
+"\"Linux izena\" honela osatzen da: \"disko zurrun mota\", \"disko \n"
+"zurrun zenbakia\", \"partizio-zenbakia\" (adibidez, \"hda1\").\n"
+"\n"
+"\"Disko zurrun mota\" \"hd\" izaten da, disko zurruna IDE motakoa\n"
+"bada, eta \"sd\", SCSI motakoa bada.\n"
+"\n"
+"\"Disko zurrunaren zenbakia\" beti letra bat izaten da \"hd\" edo\n"
+"\"sd\"ren ondoren. IDE\n"
+"disko zurrunetan:\n"
+"\n"
+" * \"a\"k esan nahi du \"IDE kontroladore primarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"b\"k esan nahi du \"IDE kontroladore primarioko mendeko disko\n"
+"zurruna\";\n"
+"\n"
+" * \"c\"k esan nahi du \"IDE kontroladore sekundarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"d\"k esan nahi du \"IDE kontroladore sekundarioko mendeko disko\n"
+"zurruna\".\n"
+"\n"
+"SCSI disko zurrunetan, \"a\"k esan nahi du\"SCSI ID baxuena\", \"b\"k\n"
+"\"bigarren SCSI ID baxuena\", etab.\n"
+"\n"
+"\"Windows izena\" Windows-en dagoen disko zurrunaren letra da\n"
+"(lehen diskoak edo partizioak \"C:\" du izena)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": egiaztatu hautatuta dagoen estatua. Estatu horretan ez bazaude,\n"
+"egin klik \"%s\" botoian eta hautatu beste bat. Zure estatua ez badago\n"
+"aurkeztutako zerrendan, klikatu \"%s\" botoia, estatuen zerrenda osoa "
+"jasotzeko."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Zure makinan GNU/Linux partizio zahar bat aurkitzen bada bakarrik\n"
+"aktibatzen da urrats hau.\n"
+"\n"
+"DrakX-k orain jakin behar du instalazio berri bat egin behar duzun edo\n"
+"lehendik dagoen Mageia sistema baten bertsioa berritu nahi duzun:\n"
+"\n"
+" * \"%s\": Zatirik handienean, sistema zaharra guztiz ezabatzen du. \n"
+"Disko zurruneko partizio-banaketa aldatu nahi baduzu, edo fitxategi-sistema\n"
+"aldatu, erabili aukera hau. Nolanahi ere, zure partizio-eskemaren arabera,\n"
+"lehendik dauden datu batzuk gainidaztea saihestu dezakezu.\n"
+"\n"
+" * \"%s\" instalazio-mota honek unean Mageia sisteman \n"
+"instalatuta dituzun paketeak eguneratzeko aukera ematen du. Uneko \n"
+"partizio-eskema eta erabiltzaile-datuak ez dira aldatzen. Bestelako \n"
+"konfigurazio-urrats gehienak erabilgarri mantentzen dira, instalazio\n"
+"estandarretan bezalatsu.\n"
+"\n"
+"``Bertsio-berritu'' aukerak ondo funtzionatu behar luke Mageia\n"
+"sistemaren \"8.1\" bertsioetan edo berriagoetan. Mageia-en \"8.1\" \n"
+"baino bertsio zaharragoetan ez da gomendatzen Bertsio-berritzea."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Hautatzen duzun hizkuntzaren arabera (), DrakX-k automatikoki hautatuko du\n"
+" teklatu konfigurazio jakin bat. Egiaztatu hautapenak asetzen zaituen edo\n"
+" hautatu beste teklatu diseinu bat.\n"
+"\n"
+"Baliteke zure hizkuntzarekin guztiz bat ez datorren teklatu bat erabiltzea:\n"
+"adibidez, ingelesez mintzatzen den suitzarra bazara, teklatu suitzarra izan\n"
+" dezakezu. Edo Quebec-en bizi eta ingelesez mintzo bazara, baliteke zure\n"
+" jatorrizko hizkuntza eta teklatuaren diseinua bat ez etortzea. Nolanahi "
+"ere,\n"
+" instalazio urrats honek zerrenda batetik teklatu egokia aukeratzen "
+"lagunduko\n"
+" dizu.\n"
+"Klikatu \"%s\" botoia aukeran dauden teklatu guztien zerrenda ikusteko.\n"
+"\n"
+"Latindarra ez den alfabetoan oinarritutako teklatua hautatzen baduzu,\n"
+"hurrengo elkarrizketak diseinu latindar eta ez-latindarraren artean "
+"aldatzeko \n"
+"laster-teklak konfiguratzeko aukera emango dizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Lehenengo urratsa zure hizkuntza hobetsia aukeratzea da.\n"
+"\n"
+"Egiten duzun hizkuntza hobetsiaren aukerak instalatzaileari,\n"
+" dokumentazioari, eta orokorrean sistemari eragingo die. Lehendabizi\n"
+"hautatu zure eskualdea, ondoren hitzegiten duzun hizkuntza.\n"
+"\n"
+"\"%s\" botoian klik eginez, lan-estazioan instalatu beharreko beste "
+"hizkuntza batzuk hautatu ahal izango dituzu, eta horrela, sistemaren "
+"dokumentazio eta aplikazioentzako hizkuntzaren fitxategi zehatzak\n"
+"instalatuko dira. Adibidez, zure makina Espainiako erabiltzaileek\n"
+"erabili behar badute, hautatu Euskara hizkuntza lehenetsi gisa zuhaitz\n"
+"ikuspegian eta \"%s\" Aurreratua atalean.\n"
+"\n"
+"UTF-8 (unicode) euskarriari buruz: Unicode karaktere kodeketa berri bat da,\n"
+"existitzen diren hizkuntza guztiak hartu nahi dituena. Hala ere, "
+"berarentzako\n"
+"erabateko euskarria oraindik garatzen ari da GNU/Linux-en, Mageia-en\n"
+"UTF-8 erabilera erabiltzailearen hautaketen araberakoa da:\n"
+"\n"
+" * Jatorrizko kodeketa ahaltsua duen hizkuntza bat aukeratzen baduzu \n"
+"(latin1 hizkuntzak, errusiera, japoniera, txinera, koreera, thailandiera,\n"
+"grekoa, turkiera, iso-8859-2 hizkuntza gehienak), jatorrizko kodeketa hori\n"
+"erabiliko da lehenespen gisa;\n"
+"\n"
+" * Beste hizkuntzek unicode erabiliko dute lehenespen gisa;\n"
+"\n"
+" * Bi hizkuntza edo gehiago behar badira, eta hizkuntza horiek kodeketa\n"
+"bera erabiltzen ez badute, unicode erabiliko da sistema osorako;\n"
+"\n"
+" * Azkenik, erabiltzaileak hala eskatuta, sistema unicode erabiltzera\n"
+"behartu daiteke, \"%s\" aukera hautatuz, hautatu diren hizkuntzak \n"
+"edozein direla ere.\n"
+"\n"
+"Gogoan izan hizkuntza gehigarri bat baino gehiago hauta dezakezula. \n"
+"Hainbat hizkuntza hauta ditzakezu, edo zerrendako guztiak, \"%s\"\n"
+"koadroa hautatuz. Hizkuntza baten euskarria hautatzean, hizkuntza horren\n"
+"itzulpenak, letra-tipoak, zuzentzaile ortografikoak, etab ere instalatuko "
+"dira.\n"
+"\n"
+"Zure sisteman instalatutako hizkuntzen artean aldatzeko, \"localdrake\"\n"
+" komandoa dei dezakezu \"root\" gisa zure sistema osoak erabiltzen duen\n"
+"hizkuntza aldatzeko. Erabiltzaile arrunt gisa exekutatzen baduzu, soilik\n"
+" erabiltzaile horren hizkuntza-ezarpenak aldatuko dira."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Gaztelania"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Modu lehenetsian Erabili Unikodea"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalean, DrakX-k ez du arazorik izaten saguaren botoi kopurua\n"
+" detektatzean. Izango balu, bi botoidun sagua duzula suposatuko du, eta \n"
+"hirugarren botoia emula dezan konfiguratuko du. Bi botoidun sagu batean\n"
+"hirugarren botoia sakatzeko, ezker eta eskuin botoiak aldi berean sakatu\n"
+"behar dira. DrakX-k automatikoki atzemango du saguak PS/2, serie edo\n"
+"USB interfazea erabiltzen duen.\n"
+"\n"
+"Gurpilik gabeko hiru botoidun sagua baduzu, \"%s\" sagua aukeratu\n"
+" dezakezu. DrakX-k sagua konfiguratuko du, gurpila edukiko balu\n"
+"bezala erabil dezazun: horretarako, sakatu erdiko botoia eta mugitu\n"
+" saguaren gezia gora eta behera.\n"
+"\n"
+"Beste sagu-mota bat zehaztu nahi baduzu, hauta ezazu eskainitako\n"
+"zerrendan.\n"
+"\n"
+"\"%s\" sarrera hautatu dezakezu ia edozein sagurekin ibiliko den sagu\n"
+" mota``generiko'' bat aukeratzeko.\n"
+"\n"
+"Lehenetsia ez beste sagu bat hautatzen baduzu, probarako pantaila\n"
+"bat bistaratuko da. Erabili botoiak eta gurpila ezarpenak egokiak direla \n"
+"eta sagua ondo dabilela egiaztatzeko. Sagua behar bezala ez badabil,\n"
+"sakatu zuriune-barra edo [Itzuli] tekla, proba bertan behera uzteko eta\n"
+" aukeren zerrendara itzultzeko zara.\n"
+"\n"
+"Batzuetan sagu gurpildunak ez dira automatikoki detektatzen, beraz\n"
+"sagua zerrendatik hautatu beharko duzu. Ziurtatu zure sagua lotuta\n"
+"dagoen atakari dagokiona hautatu duzula. Sagua hautatu eta \n"
+"\"%s\" botoia sakatu ondoren, sagu-irudi bat agertuko da pantailan. \n"
+"Biratu zure saguaren gurpila, pantailako sagu gurpila higitzen ikusiko\n"
+"duzu. Probatu botoiak eta egiaztatu saguaren gezia pantailan mugitzen\n"
+" dela zuk sagua mugitzen duzunean."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gurpil-emulazioarekin"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Unibertsala | Edozein PS/2 eta USB sagu"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Hautatu ataka egokia. Adibidez, Windows-eko \"COM1\" atakak\n"
+"\"ttyS0\" izena du GNU/Linux-en."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Abio zamatzailea konputagailuak abio garaian martxan jartzen duen\n"
+"programa txiki bat da.Sistema osoa martxan jartzearen arduraduna da.\n"
+"Normalean abio zamatzailearen instalazioa erabat automatikoa da.\n"
+"DrakX-k diskoaren abio sektorea analizatu eta han aurkitzen duenaren arabera "
+"jokatuko du:\n"
+" * Windows-en abio sektorea aurkitzen badu, GRUB/LILO abio sektore batekin\n"
+"ordeztuko du. Horrela, GNU/Linux edo makinan instalatutako beste edozein SE\n"
+"zamatzeko gai izango zara.\n"
+"\n"
+" * GRUB edo LILO abio sektore bat aurkitzen bada, berri batekin ordeztuko "
+"du.\n"
+"\n"
+"Berak erabaki ezin badu, DrakX-k zuri galdetuko dizu abioko zamatzailea non\n"
+"kokatu. Normalean, \"%s\" da lekurik seguruena. \"%s\" hautatuz ez da abio\n"
+"zamatzailerik instalatuko. Erabili aukera hau soilik zer egiten ari zaren "
+"badakizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Inprimatzeko sistema bat hautatzeko unea da orain.Eeste sistema eragile \n"
+"batzuk bakarra eskainiko dizute, baina Mageia-ek bi eskaintzen ditu.\n"
+"Inprimaketa sistema bakoitza egokiago da konfigurazio mota batzuetarako.\n"
+"\n"
+" * \"%s\" -- ``print, do not queue'' esapidearen akronimoa da, eta aukera\n"
+"hori hautatu behar duzu inprimagailuarekin zuzeneko konexioa baduzu, \n"
+"inprimagailu-buxadurak askatu nahi badituzu, eta sareko inprimagailurik\n"
+"ez baduzu. (\"%s\" sareko kasu oso sinpleak bakarrik maneiatzen ditu eta \n"
+"zertxobait mantsoa da sareekin erabiltzen denean.) GNU/Linux-ekin duzun \n"
+"lehen esperientzia bada, \"pdq\" erabiltzea gomendatzen dizugu.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', aukera egokia da zure\n"
+"bertako inprimagailuan edo mundu erdira dagoenean inprimatzeko.\n"
+"Konfiguratzen erraza da eta \"lpd \" inprimatze-sistema zaharraren\n"
+"zerbitzari edo bezero gisa joka dezake, beraz, inprimatze-zerbitzuak behar "
+"dituzten sistema eragile zaharragoekin bateragarria da. Berez ahaltsua\n"
+" bada ere, oinarrizko konfigurazioa ia \"pdq\"-rena bezain erraza da.\n"
+"\"lpd\" zerbitzari bat emulatu behar baduzu, egiaztatu \"cups-lpd \"\n"
+"deabrua aktibatu duzula. \"%s\"ek inprimatzeko, inprimagailuaren aukerak "
+"hautatzeko eta inprimagailua kudeatzeko interfaze grafikoak ditu.\n"
+"\n"
+"Hautapena orain egiten baduzu, eta beranduago ohartzen bazara zure\n"
+" inprimaketa sistema ez zaizula guztoko Mageia Aginte Guneko\n"
+" PrintDrake exekutatuz eta \"%s\" botoian klik eginez alda zenezake."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Aditu"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX-k zure ordenagailuko IDE gailu guztiak detektatuko ditu orain. Zure \n"
+"sisteman PCI SCSI txartelik dagoen ere begiratuko du. SCSI txartela\n"
+"aurkitzen badu, DrakX-k automatikoki instalatuko du kontrolatzaile egokia.\n"
+"\n"
+"Hardwarearen detekzioa erabat segurua ez denez, DrakX-k huts egin lezake \n"
+"hardwarea detektatzean. Horrela bada, hardwarea eskuz zehaztu beharko duzu.\n"
+"\n"
+"PCI SCSI moldagailua eskuz zehaztu behar baduzu, aukerak eskuz\n"
+"konfiguratu nahi dituzun galdetuko dizu DrakX-k. Moldagailua hasieratzeko \n"
+"behar dituen aukera zehatzak bila ditzan, hardwarea aztertzen utzi beharko \n"
+"zenioke DrakX-ri. Gehienetan, DrakX-k ez du arazorik izango prozesu hori \n"
+"burutzeko.\n"
+"\n"
+"DrakX-k ezin baditu egiaztatu hardwareari pasatu behar zaizkion "
+"parametroak \n"
+"zein diren automatikoki erabakitzeko aukerak, eskuz konfiguratu beharko \n"
+"duzu kontrolatzailea."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": zure sisteman soinu-txartel bat detektatu ezkero, hemen bistaratuko\n"
+"da. Bistaratutako soinu-txartela zure sisteman dagoena ez dela Ikusten "
+"baduzu,\n"
+"botoian klik egin eta beste gidari bat hauta dezakezu."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Errepaso gisa, DrakX-ek zure sistemari buruz bildu duen informazioaren\n"
+" laburpena erakutsiko du. Zure makinan instalatutako hardwarearen\n"
+" arabera, ondorengo sarrera hauetako batzuk edo guztiak izan ditzakezu.\n"
+" Sarrera honela osatzen da: konfiguratu beharreko elementua, eta ondoan, "
+"uneko konfigurazioaren laburpen laburra. Klikatu dagokion \"%s\" botoia\n"
+"aldaketa egiteko.\n"
+"\n"
+" * \"%s\": egiaztatu uneko teklatu maparen konfigurazioa eta aldatu\n"
+"behar izan ezkero.\n"
+"\n"
+" * \"%s\": egiaztatu uneko herrialdea. Herrialde horretan ez bazaude\n"
+"egin klik \"%s\" botoian, eta hautatu beste bat. Zure herrialdea "
+"erakutsitako\n"
+"zerrendan falta bada, klikatu \"%s\" botoia herrialdeen zerrenda osoa\n"
+"jasotzeko.\n"
+"\n"
+" * \"%s\": Lehenespenez, DrakX-ek hautatutako herrialdearen arabera\n"
+" ondorioztatzen du ordu gunea. \"%s\" botoia klikatu dezakezu zuzena.\n"
+"ez bada.\n"
+"\n"
+" * \"%s\": egiaztatu uneko sagu konfigurazioa eta klikatu botoia aldatzea\n"
+"beharrezka bada.\n"
+"\n"
+" * \"%s\": zure sisteman soinu txartel bat detektatzen bada, hemen\n"
+" bistaratuko da. Bistaratutako soinu-txartela zure sisteman instalatuta "
+"dagoena ez dela Ikusten baduzu, botoian klikatu eta beste gidari bat\n"
+"hauta dezakezu.\n"
+"\n"
+" * \"%s\": telebista txartel bat badaukazu, hemen erakutsiko da bere\n"
+"konfigurazioari buruzko informazioa. Telebista txartela izan eta ez badu \n"
+"detektatzen, klikatu \"%s\"n, eskuz konfiguratzen saiatzeko.\n"
+"\n"
+" * \"%s\": \"%s\" klikatu dezakezu txartelarekin zerikusia duten "
+"parametroak\n"
+"aldatzeko konfigurazioa okerra dela uste baduzu.\n"
+"\n"
+" * \"%s\": lehenespenez, DrakX-ek \"800x600\" edo \"1024x768\" \n"
+"bereizmenarekin konfiguratzen du interfaze grafikoa. Zuretzako ez bada\n"
+"egokia, klikatu \"%s\" zure interfaze grafikoa birkonfiguratzeko.\n"
+"\n"
+" * \"%s\": zure Internet edo bertako sare sarrera konfiguratu nahi baduzu,\n"
+"orain egin dezakezu. Jo inprimatutako dokumentaziora edo erabili\n"
+"Mandriva Aginte Gunea instalazioa amaitutakoan lerroko laguntza\n"
+"osatuaz baliatzeko.\n"
+"\n"
+" * \"%s\": HTTP eta FTP proxy helbideak konfiguratzeko aukera eskaintzen\n"
+"du instalatzen ari zaren makina proxy zerbitzari baten atzean badago.\n"
+"\n"
+" * \"%s\": sarrera honek aurreko urratsean () egin bezala segurtasun maila\n"
+" berdefinitzen uzten dizu.\n"
+"\n"
+" * \"%s\": zure makina Internetera konektatzeko asmoa baduzu,\n"
+"ideia ona da zure burua suhesi bat ezarriz babestea. Kontsultatu\n"
+"``Hasiberrien Gida''n suhesi ezarpenari dagokion atala.\n"
+"\n"
+" * \"%s\": abio zamatzailearen konfigurazioa aldatu nahi baduzu, klikatu\n"
+"botoi hontan. Erabiltzaile aurreratuek bakarrik erabili behar lukete. Jo\n"
+"inprimatutako dokumentaziora edo Mageia Aginte Guneko\n"
+" abio-zamatzailearen konfigurazioari buruzko lerroko laguntzara.\n"
+"\n"
+" * \"%s\": sarrera honen bitartez zehatz doitu dezakezu zure makinan\n"
+"zein zerbitzu exekutatuko diren. Makina hau zerbitzari moduan erabiltzeko\n"
+"asmoa badaukazu ona litzateke ezarpen hau errepasatzea."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TB txartela"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN txartela"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaze grafikoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Hautatu Mageia partizio berria instalatu ahal izateko ezabatu nahi\n"
+"duzun disko zurruna. Kontuz ibili, unitate horretako datu guztiak galdu\n"
+"egingo dira eta ezin izango dira berreskuratu!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Sakatu \"%s\" disko zurrun honetako datu eta partizio guztiak \n"
+"ezabatu nahi badituzu. Kontuz ibili, \"%s\" sakatu ondoren \n"
+"ezin izango duzu disko zurrun honetako daturik eta partiziorik "
+"berreskuratu,\n"
+"Windows-eko datuak barne.\n"
+"\n"
+"Sakatu \"%s\" disko zurrun honetako daturik eta partiziorik\n"
+"galdu gabe eragiketa hau bertan behera uzteko."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Hurrengoa ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Aurrekoa"
diff --git a/perl-install/install/help/po/fa.po b/perl-install/install/help/po/fa.po
new file mode 100644
index 000000000..220fd90a2
--- /dev/null
+++ b/perl-install/install/help/po/fa.po
@@ -0,0 +1,2028 @@
+# translation of DrakX-fa.po to Persian
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Abbas Izad <abbasizad@hotmail.com>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fa\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-02-26 06:31+0100\n"
+"Last-Translator: Abbas Izad <abbasizad@hotmail.com>\n"
+"Language-Team: Persian\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"قبل از ادامه، شما باید شروط مجوز را با دقت بخوانید. آن تمام انتشار\n"
+"لینوکس ماندریبا را پوشش می‌دهد. اگر با همه‌ی شروط آن مواÙقت\n"
+"می‌کنید، جعبه‌ی \"%s\" را علامت بزنید. اگر نه، کلیک بر دکمه‌ی \"%s\"\n"
+"رایانه‌اتان آغازگری مجدد خواهد شد."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"لینوکس/گنو یک سیستم چند کاربرانه است، بدین معنی که هر کاربر ترجیحات و\n"
+"پرونده‌های خود را دارا می‌باشد. شما می‌توانید ``راهنمای مبتدی'' را برای آموختن\n"
+"بیشتر درباره‌ی سیستم‌های چند کاربرانه مطالعه کنید. ولی برخلا٠\"مدیر\"، که "
+"مدیر\n"
+"سیستم می‌باشد، کاربرانی را Ú©Ù‡ شما در این مرحله اضاÙÙ‡ می‌کنید اجازه تغییر چیزی\n"
+"جز پرونده‌ها Ùˆ پیکربندی‌های خود را ندارند. این برای Ø­ÙØ§Ø¸Øª سیستم از تغییرات غیر "
+"مترقبه\n"
+" یا خطرناکی است که تمام سیستم را تحت تاثیر قرار می‌دهد. شما باید حداقل یک "
+"کاربر\n"
+"معمولی برای خود ایجاد کنید -- این حسابی است Ú©Ù‡ شما برای Ø§Ø³ØªÙØ§Ø¯Ù‡ روزانه‌ی خود\n"
+"باید از آن Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.هرچند این خیلی آسان است Ú©Ù‡ مانند \"root\" وارد "
+"سیستم\n"
+"شده و هر کاری را بدون محدودیت انجام داد، ولی ممکن است این خیلی خطرناک باشد!\n"
+"یک اشتباه کوچک می‌تواند باعث شود که سیستم‌تان دیگر کار نکند. اگر شما مثل یک\n"
+"کاربر ساده اشتباه جدی را مرتکب شوید، بدترین چیزی Ú©Ù‡ می‌تواند Ø§ØªÙØ§Ù‚ Ø¨ÛŒØ§ÙØªØ¯ از\n"
+"دست دادن مقداری اطلاعات خواهد شد ولی تاثیری بر تمام سیستم نخواهد گذاشت.\n"
+"\n"
+"اولین منطقه نام حقیقی شما را می‌پرسد. البته این اجباری نیست -- شما می‌توانید\n"
+"در واقع هر چه می‌خواهید وارد کنید. برنامه‌ی نصب DrakX اولین واژه را که در این\n"
+"منطقه وارد کرده‌اید به منطقه \"%s\" کپی می‌کند که این نام کاربری ورود به\n"
+"سیستم خواهد شد. اگر بخواهید می‌توانید Ù¾ÛŒØ´â€ŒÙØ±Ø¶ را نادیده Ú¯Ø±ÙØªÙ‡ Ùˆ نام کاربر را "
+"تغییر\n"
+"دهید. گام بعدی وارد کردن گذرواژه‌ای است. از نظر امنیتی یک گذرواژه‌ی (عادی) "
+"بدون\n"
+"امتیاز مانند گذرواژه‌ی \"مدیر\" دارای حساسیت نمی‌باشد، اما آن دلیلی برای عدم "
+"Ø§Ø³ØªÙØ§Ø¯Ù‡\n"
+"از آن و خالی گذاشتن آن یا تعیین گذرواژه‌ی بسیار ساده‌ای نیست. بلاخره این "
+"پرونده‌های\n"
+"شما هستند که در معرض خطر هستند.\n"
+"\n"
+"وقتی Ú©Ù‡ شما بر روی \"%s\" کلیک کنید، می‌توانید کاربرهای دیگری نیز اضاÙÙ‡ "
+"کنید.\n"
+"Ø§ÙØ²ÙˆØ¯Ù† یک کاربر برای هر یک از دوستان، پدرتان یا برادرتان برای مثال.\n"
+"وقتی Ø§ÙØ²ÙˆØ¯Ù† کاربران را تمام کردید بر روی \"%s\" کلیک کنید.\n"
+"\n"
+"با کلیک کردن بر دکمه‌ی \"%s\" به شما اجازه‌ی تغییر \"پوسته\"Ù¾ÛŒØ´â€ŒÙØ±Ø¶ برای\n"
+"آن کاربر (Ù¾ÛŒØ´â€ŒÙØ±Ø¶ bash) داده خواهد شد.\n"
+"\n"
+"وقتی شما Ø§ÙØ²ÙˆØ¯Ù† کاربران را تمام کردید از شما برای انتخاب کاربری Ú©Ù‡ بتواند\n"
+"هنگام آغازگری رایانه بطور خودکار وارد سیستم شود سؤال خواهد شد. اگر این مورد\n"
+"برای شما جالب بوده (و امنیت محلی اهمیت چندانی برای شما ندارد) ، کاربر دلخواه "
+"Ùˆ\n"
+"محیط گراÙیک را انتخاب نموده سپس بر روی \"%s\" کلیک کنید. اگر شما علاقه‌ای\n"
+" به این مورد ندارید جعبه \"%s\" را غیر ÙØ¹Ø§Ù„ کنید."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "آیا می‌خواهید از این قابلیت Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید؟"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"قسمت‌بندی‌های لینوکس شناسائی شده‌ی موجود بر دیسک شما در اینجا Ùهرست شده‌اند.\n"
+"شما می‌توانید انتخاب‌های انجام شده توسط جادوگر را نگهداشته چرا که آنها برای\n"
+"بیشتر نصب‌های عادی مناسب می‌باشند. اگر شما هر تغییری انجام دهید باید حداقل\n"
+"یک قسمت‌بندی ریشه (\"/\") را تعیین کنید. قسمت‌بندی خیلی کوچک انتخاب نکنید\n"
+"وگرنه نخواهید توانست Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± کاÙÛŒ نصب کنید. اگر می‌خواهید داده‌های خود را بر\n"
+"یک قسمت‌بندی جداگانه ذخیره کنید، مجبور خواهید بود که یک قسمت‌بندی \"/home\"\n"
+"را ایجاد کنید (Ùقط در صورتی Ú©Ù‡ شما بیش از یک قسمت‌بندی لینوکس داشته باشید).\n"
+"هر قسمت‌بندی بطریق بدنبال آمده Ùهرست شده است: \"نام\", \"ظرÙیت\".\n"
+"ساختار \"نام\" : \"نوع دستگاه دیسک\", \"شماره‌ی دستگاه دیسک\",\n"
+"\"شماره‌ی قسمت‌بندی\" (برای مثال، \"hda1\").\n"
+"\n"
+"\"نوع دستگاه دیسک\" اگر دستگاه دیسک یک IDE باشد \"hd\" است و\n"
+"اگر آن یک دستگاه دیسک SCSI باشد \"sd\" می‌باشد.\n"
+"\n"
+"\"شماره‌ی دستگاه دیسک\" همیشه یک Ø­Ø±Ù Ø§Ù„ÙØ¨Ø§ بعد از \"hd\" یا \"sd\" می‌باشد.\n"
+"برای دستگاه‌های سخت:\n"
+"\n"
+" * \"a\" بمعنی \"دستگاه سخت ارشد بر کنترل کننده‌ی اول IDE\";\n"
+"\n"
+" * \"b\" بمعنی \"دستگاه سخت زیردست بر کنترل کننده‌ی اول IDE\";\n"
+"\n"
+" * \"c\" بمعنی \"دستگاه سخت ارشد بر کنترل کننده‌ی دوم IDE\";\n"
+"\n"
+" * \"d\" بمعنی \"دستگاه سخت زیردست بر کنترل کننده‌ی دوم IDE\".\n"
+"\n"
+"در دستگاه‌های سخت SCSI یک \"a\" بمعنی \"کمترین شناسه‌ی SCSI\", یک \"b\" بمعنی\n"
+"\"دومین کمترین شناسه SCSI\"، و غیره."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"نصب لینوکس ماندریبا در چند سی‌دی پخش شده است. اگر بسته انتخاب شده بر روی\n"
+"سی‌دی دیگری قرار دارد DrakX سی‌دی کنونی را بیرون زده و از شما میخواهد که\n"
+"سی‌دی خواسته شده را داخل کنید. اگر آن سی‌دی مورد تقاضا را ندارید Ùقط بر روی "
+"\"%s\"\n"
+"کلیک کنید و بسته‌های مربوطه نصب نخواهند شد."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"اکنون وقت آن رسیده است که برنامه هایی را که میخواهید بر روی سیستمتان نصب "
+"کنید مشخص نمایید.\n"
+"هزاران بسته برای لینوکس ماندریبا در دسترس بوده* و برای آسانتر کزدن مدیریت "
+"آن، آنها در\n"
+"گروه‌هایی با برنامه های شبیه بهم قرار داده شده‌اند.\n"
+"\n"
+"لینوکس ماندریبا گروههای بسته را در چهار رده مرتب کرده است. شما میتوانید "
+"برنامه ها را از\n"
+"رده های گوناگون ترکیب و مطابقت دهید، بطوریکه یک نصب پایگاه کاری میتواند "
+"برنامه هایی از\n"
+"رده کارگزار را نصب کرده باشد.\n"
+"\n"
+" * \"%s\": اگر خیال دارید از رایانه خود مانند یک پایگاه کاری Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید، "
+"یک یا چند گروه\n"
+"را از رده پایگاه کاری انتخاب کنید.\n"
+"\n"
+" * \"%s\": اگر خیال دارید از رایانه خود برای برنامه نویسی Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید، "
+"گروههای مناسب را\n"
+"از آن رده انتخاب کنید. گروه مخصوص \"LSB\" سیستمتان را طوری پیکربندی\n"
+"خواهد کرد تا هر چه بیشتر با مقررات پایه استاندارد لینوکس مطابقت داشته باشد.\n"
+"\n"
+" انتخاب گروه \"LSB\" همچنین سریال هسته \"2.4\" را نیز بجای پیش ÙØ±Ø¶ "
+"\"2.6\" \n"
+"نصب خواهد کرد. این برای اطمینان ۱۰۰٪٪-مطابقت سیستم است. هر چند، اگر گروه\n"
+"\"LSB\" را انتخاب نکنید سیستمی خواهید داشت که تقریبا ۱۰۰٪٪ LSB-تطبیق دارد.\n"
+"\n"
+" * \"%s\": اگر رایانه تان قرار است کارگزار بشود، سرویسهای معمول را که خیال "
+"دارید بر\n"
+"روی رایانه تان نصب کنید انتخاب نمائید.\n"
+"\n"
+" * \"%s\": این جائی است Ú©Ù‡ محیط گراÙیکی ترجیحی خود را انتخاب میکنید.\n"
+"اگر میخواهید واسط گراÙیکی داشته باشید حداقل یکی را باید انتخاب کنید.\n"
+"\n"
+"حرکت مکان نمای موشی بر روی نام گروهی متن توضیحی کوتاهی را درباره آن گروه\n"
+"نشان خواهد داد.\n"
+"\n"
+"شما میتوانید جعبه \"%s\" را تیک کنید، Ú©Ù‡ خیلی Ù…Ùید است اگر با بسته های ارائه "
+"شده آشنائید\n"
+"یا اگر میخواهید بر آنچه نصب میگردد کاملا کنترل داشته باشید.\n"
+"\n"
+"اگر نصب را در حالت \"%s\" شروع کنید، میتوانید همه گروهها را نگزینید و از "
+"نصب\n"
+"هر بسته جدید جلوگیری کنید. این برای تعمیر Ùˆ بروزسازی یک سیستم موجود Ù…Ùید "
+"است.\n"
+"\n"
+"اگر همه گروهها را هنگام یک نصب عادی (برخلا٠یک بروزسازی) نگزیده اید،\n"
+"Ú¯ÙØªÚ¯ÙˆØ¦ÛŒ ظاهر شده Ú©Ù‡ گزینه های گوناگونی را برای یک حداقل نصب پیشنهاد میکند:\n"
+"\n"
+" * \"%s\": حداقل تعداد بسته ممکن را برای داشتن یک رومیزی گراÙیکی کارآرا نصب "
+"میکند.\n"
+"\n"
+" * \"%s\": سیستم پایه بعلاوه وسایل اولیه و نوشتارهای آنها را نصب میکند. این "
+"نصب برای \n"
+"برپاسازی یک کارگزار مناسب است.\n"
+"\n"
+" * \"%s\": حداقل تعداد ممکن بسته های ضروری برای یک سیستم لینوکس کارآرا نصب\n"
+"خواهد گردید. با این نصب شما Ùقط واسط خط-ÙØ±Ù…ان خواهید داشت.\n"
+"اندازه کل این نصب حدود ۶۵ مگابایت است."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ارتقاء"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "با نوشتار پایه"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "کوچکترین نصب واقعی"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"اگر شما به نصب‌گر Ú¯ÙØªÙ‡â€ŒØ§ÛŒØ¯ Ú©Ù‡ می‌خواهید بسته‌ها را دانه‌ای انتخاب کنید،\n"
+"آن درختی را شامل تمام بسته‌های دسته‌بندی شده بوسیله‌ی گروه‌ها و زیرگروه‌ها\n"
+"عرضه می‌کند. هنگام مرور بر درخت، می‌توانید همه‌ی گروه‌ها، زیرگروه‌ها،\n"
+"یا بسته‌های دانه‌ای را انتخاب کنید.\n"
+"\n"
+"هروقت شما بسته‌ای را در این درخت انتخاب می‌کنید، یک توضیح در قسمت\n"
+"راست ظاهر شده Ú©Ù‡ به شما هد٠بسته را معرÙÛŒ می‌کند.\n"
+"\n"
+"!! اگر یک بسته کارگزار انتخاب شده باشد، یا اینکه شما مخصوصا بسته‌ی دانه‌ای\n"
+"را انتخاب کردید یا برای اینکه آن قسمتی از یک گروه از بسته‌ها باشد، از شما \n"
+"برای تایید آنکه واقعا می‌خواهید آنها را نصب کنید سؤال خواهد شد.\n"
+"Ù¾ÛŒØ´â€ŒÙØ±Ø¶ لینوکس ماندریبا هر سرویس نصب شده را در زمان آغازگری \n"
+"بطور خودکار اجرا می‌کند. هرچند آنها امن بوده و هیچ اشکالی در زمان انتشار \n"
+"ندارند، احتمال دارد که سوراخ‌های امنیتی بعد از تکمیل این نسخه لینوکس \n"
+"مان‌درایک کش٠شوند. اگر شما نمی‌دانید که یک سرویس بخصوص قرار \n"
+"است چکار کند یا چرا نصب شده است، پس \"%s\" را کلیک کنید. با کلیک \n"
+"بر \"%s\"سرویس‌های Ùهرست شده نصب خواهند شد Ùˆ آنها بوسیله Ù¾ÛŒØ´â€ŒÙØ±Ø¶ \n"
+"بطور خودکار هنگام آغازگری شروع می‌شوند. !! \n"
+"\n"
+"گزینه‌ی \"%s\" برای ØºÛŒØ±ÙØ¹Ø§Ù„ کردن Ú¯ÙØªÚ¯ÙˆÛŒ هشدارهایی Ú©Ù‡ هر وقت برنامه‌ی\n"
+" نصب بسته‌ای را برای حل یک مشکل وابستگی بطور خودکار انتخاب می‌کند \n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ می‌شود. بعضی از بسته‌ها با هم روابطی دارند بطوری Ú©Ù‡ نصب یک \n"
+"بسته مستلزم نصب آن بسته‌ی دیگر می‌باشد. برنامه نصب می‌تواند تعیین کند \n"
+"Ú©Ù‡ کدام بسته برای ارضای یک وابستگی لازم است تا نصب را با موÙقیت تکمیل\n"
+"نماید.\n"
+"\n"
+"شمایل ریز دیسکچه در پایین Ùهرست به شما اجازه می‌دهد Ú©Ù‡ یک\n"
+"Ùهرست ایجاد شده هنگام نصب قبلی را بارگذاری کنید. این روش اگر\n"
+"بخواهید تعدادی رایانه را یکسان پیکربندی کنید Ù…Ùید است. کلیک بر این شمایل\n"
+"از شما می‌خواهد که آن دیسکچه را که در پایان نصب قبلی ایجاد کرده‌اید\n"
+"وارد کنید. به راهنمایی دوم آخرین مرحله برای چگونگی ایجاد چنین دیسکچه‌ای\n"
+"نگاهی بیاندازید."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "وابستگی‌های خودکار"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"این Ú¯ÙØªÚ¯Ùˆ برای انتخاب سرویس‌هایی است Ú©Ù‡ می‌خواهید هنگام آغازگری راه‌اندازی\n"
+"شوند Ø§Ø³ØªÙØ§Ø¯Ù‡ می‌شود. \n"
+"\n"
+"برنامه‌ی DrakX همه‌ی سرویس‌های موجود را در نصب کنونی Ùهرست خواهد کرد.\n"
+"هر یک را بدقت ملاحظه کرده و آنهایی را که در زمان آغازگری لازم ندارید انتخاب "
+"نکنید.\n"
+"\n"
+"اگر یک سرویس انتخاب شود یک توضیح کوتاه درباره آن نشان داده خواهد شد. \n"
+"اگر شما مطمئن نیستید Ú©Ù‡ آیا سرویسی Ù…Ùید است یا نه، بهتر است Ù¾ÛŒØ´â€ŒÙØ±Ø¶ \n"
+"را به حال خود بگذارید. \n"
+"\n"
+"!! در این مرحله خیلی دقت کنید، اگر قصد دارید از رایانه خود مانند کارگزاری\n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید: احتمالا نمی‌خواهید هیچ سرویسی را Ú©Ù‡ لازم ندارید راه‌اندازی "
+"کنید.\n"
+"Ù„Ø·ÙØ§Ù‹ بخاطر داشته باشید Ú©Ù‡ چندین سرویس در صورتی Ú©Ù‡ بر یک کارگزار بکار\n"
+" Ø¨ÛŒØ§ÙØªÙ†Ø¯ می‌توانند خطرناک باشند. بطور عمومی، Ùقط سرویس‌هایی را انتخاب \n"
+"کنید که واقعاً لازم دارید.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"گنو/لینوکس زمان را بر اساس GMT (Greenwich Mean Time) اداره کرده\n"
+"و آن را به زمان محلی طبق منطقه‌ی زمانی که شما انتخاب کرده‌اید برمی‌گرداند.\n"
+"اگر ساعت روی کارت ‌الکترونیکی مادر بر اساس زمان محلی گذاشته شده باشد،\n"
+"می‌توانید این را از طریق انتخاب نکردن \"%s\" ØºÛŒØ±ÙØ¹Ø§Ù„ کنید، Ú©Ù‡ به گنو/لینوکس\n"
+"اجازه می‌دهد Ú©Ù‡ بداند Ú©Ù‡ ساعت سیستم شما Ùˆ ساعت Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± در یک منطقه‌زمانی\n"
+"قرار دارند. دانستن این وقتی که ماشین شما سیستم عامل دیگری نظیر ویندوز را "
+"میزبان\n"
+"باشد Ù…Ùید می‌باشد. \n"
+"\n"
+"گزینه‌ی \"%s\" ساعت را از طریق اتصال به کارگزار از راه دور زمان بر اینترنت\n"
+"میزان می‌کند. برای کار کردن این قابلیت باید یک اتصال اینترنت ÙØ¹Ø§Ù„ داشته\n"
+"باشید. بهتر است یک کارگزار زمان نزدیک به خود را انتخاب کنید. این گزینه "
+"Ø§ØªÙØ§Ù‚اً\n"
+"کارگزار زمانی را نصب می‌کند که می‌تواند بوسیله‌ی ماشین های دیگر بر روی\n"
+"شبکه‌اتان گردد."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "هم‌گاه‌سازی خودکار زمان"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"کارت گراÙیک\n"
+"\n"
+" برنامه نصب‌گر معمولا کارت گراÙیک نصب شده بر ماشین شما را بطور خودکار\n"
+"شناسایی و پیکربندی می‌کند. اگر چنین نشده، می‌توانید کارتی را که خود نصب "
+"کرده‌اید\n"
+"از این لیست انتخاب کنید.\n"
+"\n"
+" در صورتی که کارگزارهای مختل٠برای کارت شما در دسترس می‌باشند، با یا بدون\n"
+"شتاب دهنده‌ی ۳بعدی، از شما برای انتخاب کارگزاری که برای شما مناسب‌تر می‌باشد \n"
+"سؤال خواهد شد."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (برای سیستم پنجره X ) قلب واسط تصویری لینوکس/گنو می‌باشد که تمام محیط‌های \n"
+"تصویری (KDE, GNOME, AfterStep, WindowMaker وغیره) بسته بندی شده با \n"
+"لینوکس مان‌درایک بر روی آن تکیه دارند.\n"
+"\n"
+"یک لیست ار اجزای گوناگون برای تغییر و تهیه بهترین نمایش تصویری به شما عرضه\n"
+"خواهد شد:\n"
+"\n"
+" کارت گراÙیک\n"
+"\n"
+" نصب کننده معمولاً بطور خودکار کارت گراÙیک بر روی ماشین شما را شناسایی\n"
+"و تنظیم خواهد کرد. اگر چنین نشد، می‌توانید کارت خود را از این لیست انتخاب "
+"کنید.\n"
+"\n"
+" در صورتی که کارگزارهای گوناگونی برای کارت شما وجود دارند، با یا بدون\n"
+"شتاب‌دهنده‌ی ۳ بعدی، از شما برای انتخاب کارگزاری که بهتر جوابگوی احتیاجات \n"
+"شما می‌باشد سوال خواهد شد.\n"
+"\n"
+"\n"
+"\n"
+"نمایشگر\n"
+"\n"
+" نصب کننده معمولاً بطور خودکار نمایشگر وصل شده به ماشین شما را شناسایی\n"
+"و تنظیم خواهد کرد. اگر چنین نشد، می‌توانید نمایشگر خود را از این لیست انتخاب "
+"نمایید.\n"
+"\n"
+"\n"
+"\n"
+"وضوح\n"
+"\n"
+" در اینجا می‌توانید وضوح Ùˆ عمق‌های رنگ موجود برای Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± خود را انتخاب\n"
+"نمایید. آن را که بهترین جوابگوی احتیاجات شما می‌باشد را انتخاب کنید (شما "
+"قادر\n"
+"خواهید بود که آن را بعد از نصب تغییر دهید). یک نمونه از تنظیمات انتخاب شده "
+"در\n"
+"نمایشگر نشان داده خواهد شد.\n"
+"\n"
+"\n"
+"\n"
+"آزمایش\n"
+"\n"
+" سیستم تلاش خواهد کرد تا یک ØµÙØ­Ù‡ تصویری را با وضوح مورد خواست باز کند.\n"
+"اگر شما بتوانید پیغام هنگام آزمایش را مشاهده نمایید و جواب \"%s\"را بدهید،\n"
+"پس DrakX به مرحله‌ی بعدی ادامه خواهد داد. اگر شما نتوانیدپیغام را ببینید، "
+"بدین\n"
+"معنی است که بعضی از قسمت‌های تنظیمات شناسایی خودکار صحیح نبوده و آزمایش\n"
+"بعد از Û±Û² ثانیه بطور خودکار تمام شده، شما را به Ùهرست برمیگرداند. تنظیمات "
+"را\n"
+"تا وقتی که نمایش تصویری درست را بدست نیاورده‌اید تغییر دهید.\n"
+"\n"
+"\n"
+"\n"
+"گزینه‌ها\n"
+"\n"
+" در اینجا میتوانید تعویض خودکار به واسط تصویری را در آغازگری انتخاب "
+"نمایید.\n"
+"روشن است که اگر ماشین شما قرار است کارگزار شود، یا اگر شما در تنظیم "
+"نمایشگر \n"
+"موÙÙ‚ نبوده‌اید بخواهید \"%s\" را علامت بزنید."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"نمایشگر\n"
+"\n"
+" برنامه‌ی نصب‌گر معمولاً بطور خودکار نمایشگر وصل شده به رایانه‌ی شما را \n"
+"شناسائی و پیکربندی خواهد کرد. اگر درست نبود، می‌توانید نمایشگری را\n"
+"که به رایانه‌ی خود وصل کرده‌اید از این لیست انتخاب کنید."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"تÙکیک‌پذیری\n"
+"\n"
+" در اینجا می‌توانید تÙکیک‌پذیری Ùˆ عمق رنگ در دسترس را برای Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø±ØªØ§Ù†\n"
+"را انتخاب کنید. آن را که برای شما بهتر است انتخاب کنید (بعد از نصب می‌توانید\n"
+"آن را تغییر دهید). نمونه‌ای از پیکربندی انتخاب شده در نمایشگر نشان داده می‌شود."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"در صورتی که کارگزارهای گوناگونی برای کارت‌تان در دسترس هستند، با\n"
+"یا بدون شتاب دهنده ۳ بعدی ، از شما برای انتخاب مناسبترین کارگزار\n"
+" سؤال خواهد شد."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"گزینه‌ها\n"
+"\n"
+" در اینجا می‌توانید انتخاب کنید که آیا می‌خواهید رایانه شما بطور خودکار به\n"
+"یک واسط گراÙیکی در آغازگری عوض شود. روشن است Ú©Ù‡ شما بخواهید \"%s\" \n"
+"را علامت زده اگر ماشین شما مانند یک کارگزار باید عمل کند، یا اگر شما در\n"
+"پیکربندی نمایشگر خود موÙÙ‚ نبوده‌اید."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"در این مرحله، باید تصمیم بگیرید که در کجای دیسک خود می‌خواهید سیستم عامل\n"
+"لینوکس ماندریبا را نصب کنید. اگر دیسک شما خالی یا اگر سیستم عامل موجودی\n"
+"همه‌ی ÙØ¶Ø§ÛŒ در دسترس دیسک را در اختیار دارد مجبور خواهید بود دیسک خود را\n"
+"قسمت‌بندی کنید. اساسا، قسمت‌بندی دیسکی شامل قسمت کردن منطقی آن برای\n"
+"ایجاد ÙØ¶Ø§ÛŒ لازم برای نصب سیستم لینوکس ماندریبا جدیدتان می‌باشد.\n"
+"\n"
+"بخاطر غیر قابل برگشت بودن پروسه‌ی قسمت‌بندی Ùˆ اینکه می‌تواند به از دست Ø±ÙØªÙ†\n"
+"داده‌ها منتهی شود، مخصوصا اگر سیستم عاملی از قبل وجود داشته و بر روی دیسک\n"
+"نصب شده باشد، اگر شما کاربری بی‌تجربه هستید قسمت‌بندی می‌تواند عصبی\n"
+"کننده و هیجان آور باشد. خوشبختانه، DrakX جادوگر راهنمایی را برای آسان کردن\n"
+"این پروسه ضمیمه دارد. قبل از ادامه به این مرحله بقیه این بخش را بخوانید و \n"
+"بیش از هر Ú†Ù‡ وقت کاÙÛŒ را بخود بدهید.\n"
+"\n"
+"بستگی به پیکربندی دیسک‌تان، چندین گزینه در دسترس است:\n"
+"\n"
+" * \"%s\": این گزینه قسمت‌بندی خودکار دستگاه دیسک خالی شما را انجام می‌دهد.\n"
+"اگر از این گزینه Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید دیگر از شما سؤال دیگری نخواهد شد.\n"
+" \n"
+" * \"%s\": جادوگر یک یا چند قسمت‌بندی موجود لینوکس را بر روی دیسک شما\n"
+"شناسایی کرده است. اگر می‌خواهید از آنها Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید این گزینه را انتخاب "
+"کنید.\n"
+"از شما سپس پرسیده خواهد شد که نقاط سوارسازی مربوط به هر قسمت‌بندی را\n"
+"انتخاب کنید. نقاط سوارسازی صحیح بوسیله‌ی Ù¾ÛŒØ´â€ŒÙØ±Ø¶ انتخاب خواهند شد، در بیشتر \n"
+"موارد نظر خوبی است که آنها را نگه دارید.\n"
+"\n"
+" * \"%s\": اگر ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª بر دیسک شما نصب شده است Ùˆ همه ÙØ¶Ø§ÛŒ موجود\n"
+"بر آن را در اختیار دارد، شما می‌بایست ÙØ¶Ø§ÛŒ آزاد برای لینوکس را ایجاد کنید\n"
+"برای انجام این کار، شما می‌توانید قسمت‌بندی Ùˆ داده‌های ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª\n"
+" را حذ٠کرده (راه حل ''پاک کردن تمام دیسک'' را ببینید) یا قسمت‌بندی FAT \n"
+"ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª را تغییر اندازه دهید. تغییر اندازه می‌تواند بدون از دست\n"
+"دادن هیچ داده‌ای به این شرط که شما از قبل قسمت‌بندی ویندوز را نظم داده\n"
+"یا defragmented بشود Ùˆ اینکه آن از قالب FAT Ø§Ø³ØªÙØ§Ø¯Ù‡ کند. ذخیره‌ی داده‌های\n"
+"شما بشدت Ø³ÙØ§Ø±Ø´ می‌شود. Ø§Ø³ØªÙØ§Ø¯Ù‡ از این گزینه اگر می‌خواهید هم لینوکس\n"
+"Ùˆ هم ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª را بر روی یک رایانه داشته باشید Ø³ÙØ§Ø±Ø´ می‌شود.\n"
+"\n"
+" قبل از انتخاب این گزینه، Ù„Ø·ÙØ§ توجه کنید Ú©Ù‡ بعد از این پروسه اندازه‌ی\n"
+"قسمت‌بندی ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª شما کوچکتر از وقتی Ú©Ù‡ شروع کرده‌اید خواهد\n"
+"شد شما ÙØ¶Ø§ÛŒ آزاد کمتری زیر ویندوز Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª برای ذخیره‌ی داده‌ها‌ی خود یا\n"
+"نصب Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± جدید خواهید داشت.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید تمام داده‌ها و قسمت‌بندی‌های موجود بر روی دیسک\n"
+"را حذ٠و آنها را با سیستم لینوکس ماندریبا جدید خود جایگزین کنید، این \n"
+"گزینه را انتخاب کنید. دقت کنید، شما قادر نخواهید بود انتخاب خود را \n"
+"بعد از تأیید پس بگیرید.\n"
+"\n"
+" !! اگر این گزینه را انتخاب کنید، همه‌ی داده‌های بر روی دیسک شما حذ٠خواهند "
+"شد. !! \n"
+"\n"
+" * \"%s\": این همه چیز را از دیسک پاک کرده و از نو شروع به قسمت‌بندی هر \n"
+"چیز از پایه می‌کند. هر داده‌ای بر روی دیسک شما از دست خواهد Ø±ÙØª. \n"
+"\n"
+" !! اگر شما این گزینه را انتخاب کنید، همه داده‌های بر دیسک شما از دست خواهد "
+"Ø±ÙØª. !! \n"
+"\n"
+" * \"%s\": این گزینه را اگر خودتان می‌خواهید دیسک را قسمت‌بندی کنید انتخاب\n"
+" نمایید. دقت کنید -- این گزینه‌ی باقدرت ولی خطرناکی است و شما می‌توانید \n"
+"بسادگی تمام داده‌های خود را از دست بدهید. برای همین این گزینه واقعا Ùقط \n"
+"اگر شما چنین کاری را قبلا انجام داده‌اید Ùˆ تجربه دارید Ø³ÙØ§Ø±Ø´ می‌شود. برای \n"
+"راهنمایی چگونگی Ø§Ø³ØªÙØ§Ø¯Ù‡ از وسیله‌ی DiskDrake به قسمت``مدیریت\n"
+"قسمت‌بندی‌های خود'' در ``راهنمای مبتدی'' مراجعه کنید."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ از قسمت‌بندی‌های موجود"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "تمام دیسک پاک شود"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ø¨ÙØ±Ù…ائید. نصب اکنون تکمیل شده است Ùˆ سیستم گنو/لینوکس آماده‌ی Ø§Ø³ØªÙØ§Ø¯Ù‡ است.\n"
+"Ùقط بر \"%s\" کلیک کرده تا سیستم آغازگری مجدد شود. ÙØ±Ø§Ù…وش نکنید Ú©Ù‡ رسانه‌ی\n"
+"نصب (سی‌دی-رم یا دیسکچه) را بردارید.اولین چیزی که شما بعد از اینکه\n"
+"رایانه‌اتان Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± خود را آزمایش می‌کند Ùهرست بارگذار آغازگری است،\n"
+"که به شما اجازه‌ی انتخاب راه‌اندازی یکی از سیستم‌های عامل را می‌دهد.\n"
+"\n"
+"دکمه‌ی \"%s\" دو دکمه‌ی دیگر را نشان داده برای: \n"
+" * \"%s\": ایجاد یک دیسکچه نصب که تمام نصب را بطور خودکار بدون کمک \n"
+"کسی، شبیه به نصبی که شما اکنون پیکربندی کردید را انجام می‌دهد. \n"
+"\n"
+" توجه کنید که بعد از کلیک بر این دکمه دو گزینه در دسترس هستند:\n"
+"\n"
+" * \"%s\". این نصب نسبتاً خودکاراست. گام قسمت‌بندی تنها \n"
+"مرحله‌ی Ú¯ÙØªÚ¯ÙˆÛŒÛŒ است.\n"
+"\n"
+" * \"%s\". نصب کاملاً خودکار: دیسک سخت کاملاً بازنویسی شده،\n"
+"تمام داده‌ها از دست خواهند Ø±ÙØª.\n"
+"\n"
+" این قابلیت وقتی چندین ماشین قرار است شبیه به هم نصب شوند Ù…Ùید است.\n"
+"قسمت نصب خودکار را در پایگاه اینترنت ما برای اطلاعات بیشتر ملاحظه کنید.\n"
+"\n"
+" * \"%s\"(*): یک لیست از بسته‌های انتخاب شده در این نصب را ذخیره می‌کند.\n"
+"برای Ø§Ø³ØªÙØ§Ø¯Ù‡ از این انتخاب با نصب دیگر، دیسکچه را داخل کرده Ùˆ نصب\n"
+"را شروع کنید. در اعلان, کلید [F1] را ÙØ´Ø§Ø± داده Ùˆ بنویسید >>\n"
+"linux defcfg=\"floppy\" << Ùˆ کلید ورود را ÙØ´Ø§Ø± دهید.\n"
+"\n"
+"(*) شما به دیسکچه‌ای با قالب FAT نیاز دارید. برای ساختن آن در گنو/لینوکس، \n"
+"\"mformat a:\"، یا \"fdformat/dev/fd0\" و بدنبالش \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "تولید دیسکچه‌ی نصب-خودکار"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"اگر تصمیم Ú¯Ø±ÙØªÛŒØ¯ تا از بعضی از قسمت‌بندیهای گنو/لینوکس Ø§Ø³ØªÙØ§Ø¯Ù‡ مجدد کنید، "
+"میبایست\n"
+"بعضی از آنها را قسمت‌بندی مجدد کرده و هر داده روی آنها پاک شود. برای انجام "
+"اینکار\n"
+"Ù„Ø·ÙØ§ آن قسمت‌بندیها را نیز انتخاب کنید\n"
+"\n"
+"Ù„Ø·ÙØ§Ù‹ توجه کنید Ú©Ù‡ ضروری نیست Ú©Ù‡ تمام قسمت‌بندی‌های موجود قالب‌بندی مجدد\n"
+"شوند. شما باید قسمت‌بندیهای حاوی سیستم عامل (مانند \"/\", \"/usr\" یا \"/var"
+"\")\n"
+"را قالب‌بندی مجدد کرده اما شما مجبور به قالب‌بندی مجدد قسمت‌بندی‌های حاوی\n"
+"داده‌هایی که می‌خواهید نگهدارید نیستید (معمولاً \"/home\").\n"
+"\n"
+"Ù„Ø·ÙØ§Ù‹ هنگام انتخاب قسمت‌بندی‌ها دقت کنید. بعد از قالب‌بندی تمام داده‌های\n"
+"بر قسمت‌بندی‌های انتخاب شده حذ٠خواهند شد و قادر به تعمیر آنها نخواهید بود\n"
+"\n"
+"وقتی برای قالب‌بندی قسمت‌بندی‌ها آماده شدید بر \"%s\" کلیک کنید.\n"
+"\n"
+"اگر می‌خواهید قسمت‌بندی دیگری برای نصب سیستم عامل لینوکس ماندریبا\n"
+"جدید خود انتخاب کنید بر %s کلیک نمایید.\n"
+"\n"
+"اگر می‌خواهید قسمت‌بندی‌هایی که باید برای بلوک‌های بد بر دیسک کنترل شوند\n"
+"را انتخاب کنید بر %s کلیک کنید."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"در زمانی که در حال نصب لینوکس ماندریبا هستید، به احتمال زیاد بعضی \n"
+"از بسته‌ها از زمان شروع پخش بروزسازی شده‌اند. اشکالات ممکن است تعمیر \n"
+"شده Ùˆ مسایل امنیتی Ø±ÙØ¹ شده باشند. برای Ø§Ø³ØªÙØ§Ø¯Ù‡ از Ùواید این بروزسازی‌ها،\n"
+"اکنون میتوانید آنها را از اینترنت بارگیری نمایید. \"%s\" را اگر شما یک "
+"ارتباط\n"
+"کارآرای اینترنت دارید علامت زده، یا \"%s\" را اگر ترجیح می‌دهید بسته‌ها را\n"
+"بعداً بروزسازی کنید.\n"
+"\n"
+"انتخاب \"%s\" لیستی از مکان‌هایی Ú©Ù‡ آن بروزسازی‌ها می‌توانند Ø¯Ø±ÛŒØ§ÙØª شوند\n"
+"را نشان خواهد داد. شما باید مکانی که به شما نزدیکتر است را انتخاب کنید.\n"
+"درخت مجموعه-بسته ظاهر خواهد شد: مجموعه را مرور کرده، و \"%s\" را برای\n"
+"Ø¯Ø±ÛŒØ§ÙØª Ùˆ نصب بسته‌های انتخاب شده، یا \"%s\" را برای ترک ÙØ´Ø§Ø± دهید."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"در این نقطه، DrakX به شما اجازه‌ی انتخاب سطح امنیتی مورد نظر را برای ماشین\n"
+"می‌دهد. روش معمول این است که اگر ماشین حاوی داده‌های مهم خواهد شد، یا اگر\n"
+"آن ماشینی خواهد بود که مستقیماً در معرض اینترنت قرار می‌گیرد سطح امنیتی باید\n"
+"بالاتر گذاشته شود. ضرر این معامله در داشتن سطح بالاتر امنیتی عموماً در "
+"پرداخت\n"
+"آسانی Ø§Ø³ØªÙØ§Ø¯Ù‡ بدست آورده می‌شود.\n"
+"\n"
+"اگر نمی‌دانید کدام را باید انتخاب کنید، گزینه‌ی Ù¾ÛŒØ´â€ŒÙØ±Ø¶ را Ù†Ú¯Ù‡ دارید.\n"
+" بعداً می‌توانید با ابزار draksec از مرکز کنترل ماندریبا سطح امنیتی را تغییر "
+"دهید.\n"
+"\n"
+"منطقه‌ی \"%s\"میتواند سیستم را از وجود کاربری که مسئول امنیت بر این رایانه\n"
+"خواهد گردید مطلع سازد. پیغام‌های امنیتی به آن نشانی ÙØ±Ø³ØªØ§Ø¯Ù‡ خواهد شد."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "مدیر امنیت"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"در این نقطه، شما مجبور به انتخاب قسمت‌بندی(های) که برای نصب سیستم لینوکس \n"
+"ماندریبا Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهد شد هستید.اگر قسمت‌بندی‌هایی Ú©Ù‡ یا از یک نصب قبلی \n"
+"گنو/لینوکس یا بوسیله ابزار قسمت‌بندی دیگر وجود دارند، می‌توانید از آنها \n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید. در غیر این صورت، قسمت‌بندی‌ها باید ایجاد شوند. \n"
+"\n"
+"برای ایجاد قسمت‌بندی‌ها، شما باید اول یک دستگاه دیسک را انتخاب کنید. \n"
+"شما می‌توانید آن دیسک را بوسیله‌ی کلیک بر ``hda'' برای اولین دستگاه IDE \n"
+" و ``hdb'' برای دومین، ``sda'' برای اولین دستگاه SCSI و غیره برای\n"
+"قسمت‌بندی انتخاب کنید.\n"
+"\n"
+"برای قسمت‌بندی دستگاه دیسک انتخاب شده، می‌توانید از این گزینه‌ها Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید:\n"
+"\n"
+" * \"%s\": این گزینه تمام قسمت‌بندی‌های روی دیسک انتخاب شده را حذ٠می‌کند\n"
+"\n"
+" * \"%s\": این گزینه بر روی ÙØ¶Ø§ÛŒ آزاد دیسک شما بطور خودکار قسمت‌بندی‌های\n"
+"ext4 Ùˆ Ø­Ø§ÙØ¸Ù‡ مبادله را ایجاد می‌کند\n"
+"\n"
+"\"%s\": دسترسی به قابلیت‌های دیگر را ÙØ±Ø§Ù‡Ù… می‌سازد\n"
+"\n"
+" * \"%s\": جدول قسمت‌بندی را بر دیسکچه ذخیره می‌کند.در صورت لزوم \n"
+"بعدا می‌توان آن را بازنشانی کرد. انجام این گام بشدت Ø³ÙØ§Ø±Ø´ می‌شود.\n"
+"\n"
+" * \"%s\": به شما اجازه‌ی باز‌نشانی جدول قسمت‌بندی ذخیره شده را از دیسکچه "
+"می‌دهد.\n"
+"\n"
+" * \"%s\": اگر جدول قسمت‌بندی شما خراب شده باشد با این گزینه می‌توانید\n"
+"آن را بازنشانی کنید. Ù„Ø·ÙØ§ دقت کنید Ùˆ بخاطر داشته باشید Ú©Ù‡ این همیشه درست\n"
+"کار نمی‌کند.\n"
+"\n"
+" * \"%s\": تمام تغییرات باطل شده و جدول قسمت‌بندی اصلی بر دستگاه دیسک\n"
+"بارگذاری مجدد می‌شود.\n"
+"\n"
+" * \"%s\": ØºÛŒØ±ÙØ¹Ø§Ù„ کردن این گزینه کاربران را مجبور می‌کند Ú©Ù‡ رسانه‌های قابل\n"
+"حمل از قبیل دیسکچه و سی‌دی را دستی سوار یا پیاده کنند.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید از یک جادوگر برای قسمت‌بندی دیسک خود Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید از\n"
+"این گزینه Ø§Ø³ØªÙØ§Ø¯Ù‡ نمایید. این گزینه اگر شما تجربه‌ی قبلی از قسمت‌بندی\n"
+"کردن دیسک ندارید پیشنهاد می‌شود.\n"
+"\n"
+" * \"%s\": برای لغو تغییرات خود از این گزینه Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+"\n"
+" * \"%s\": عملیات بیشتری را بر قسمت‌بندی‌ها اجازه داده (نوع، گزینه‌ها، "
+"قالب‌بندی)\n"
+"و اطلاعات بیشتری را درباره دستگاه دیسک می‌دهد.\n"
+"\n"
+" * \"%s\": وقتی شما قسمت‌بندی دستگاه دیسک خود را به اتمام رساندید،\n"
+"این تغییرات شما را بر دیسک ذخیره می‌سازد.\n"
+"\n"
+"وقتی اندازه‌ی یک قسمت‌بندی را تعیین می‌کنید، می‌توانید بخوبی از کلیدهای جهت‌دار\n"
+"ØµÙØ­Ù‡â€ŒÚ©Ù„ید خود Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+"\n"
+"توجه: می‌توانید به هر گزینه توسط ØµÙØ­Ù‡â€ŒÚ©Ù„ید دسترسی پیدا کنید. در طول\n"
+"قسمت‌بندی با Ø§Ø³ØªÙØ§Ø¯Ù‡ از جهت‌های [پرش] Ùˆ [بالا/پایین] مرور کنید.\n"
+"\n"
+"وقتی یک قسمت‌بندی انتخاب شده باشد، می‌توانید از:\n"
+"\n"
+" * Ctrl-c برای ایجاد یک قسمت‌بندی جدید (وقتی یک قسمت‌بندی خالی انتخاب\n"
+"شده باشد)\n"
+"\n"
+" * Ctrl-d برای حذ٠یک قسمت‌بندی \n"
+"\n"
+" * Ctrl-m برای تعیین نقطه‌ی سوارسازی\n"
+"\n"
+"برای Ø¯Ø±ÛŒØ§ÙØª اطلاعات درباره انواع سیستم پرونده موجود، Ù„Ø·ÙØ§Ù‹ ÙØµÙ„ ext2FS \n"
+"را از ` دستورالعمل مرجع'' بخوانید.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "سوارسازی-خودکار رسانه‌ی قابل انتقال"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "تعویض بین حالت عادی/کارشناسی"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"بیش از یک قسمت‌بندی Ù…Ø§ÛŒÚ©Ø±ÙˆØ³Ø§ÙØª بر دیسک شما شناسایی شده است. \n"
+"Ù„Ø·ÙØ§ آن قسمت‌بندی را Ú©Ù‡ برای نصب سیستم عامل لینوکس ماندریبا می‌خواهید \n"
+"تغییر اندازه دهید انتخاب کنید.\n"
+"\n"
+"هر قسمت‌بندی Ùهرست شده بدنبال می‌آید: \"نام لینوکس\", \"نام ویندوز\" \n"
+"\"ظرÙیت\".\n"
+"\n"
+"\"نام لینوکس\" دارای ساختار: \"نوع دستگاه دیسک\", \"شماره دستگاه دیسک\",\n"
+"\"شماره قسمت‌بندی\" (برای مثال, \"hda1\").\n"
+"\n"
+"\"نوع دستگاه دیسک\" اگر دستگاه دیسک شما یک دستگاه دیسک IDE باشد \"hd\" است "
+"Ùˆ\n"
+"\"sd\" اگر آن یک دستگاه دیسک SCSI باشد.\n"
+"\n"
+"\"شماره دستگاه دیسک\" همیشه یک Ø­Ø±Ù Ø§Ù„ÙØ¨Ø§ بعد از \"hd\" یا \"sd\"می‌باشد.\n"
+"با دستگاه‌های دیسک IDE:\n"
+"\n"
+" * \"a\" بمعنی \"دیسک ارشد بر کنترل کننده‌ی اول IDE \";\n"
+"\n"
+" * \"b\" بمعنی \"دیسک زیردست بر کنترل کننده‌ی اول IDE \";\n"
+"\n"
+" * \"c\" بمعنی \"دیسک ارشد بر کنترل کننده‌ی دوم IDE \";\n"
+"\n"
+" * \"d\" بمعنی \"دیسک زیردست بر کنترل کننده‌ی دوم IDE \".\n"
+"\n"
+"با دستگاه‌های دیسک SCSI, یک \"a\" بمعنی \"پایین‌ترین SCSI ID\", یک \"b\"\n"
+"بمعنی \"پایین‌ترین SCSI ID دومی\", و غیره.\n"
+"\n"
+"\"نام ویندوز\" Ø­Ø±Ù Ø§Ù„ÙØ¨Ø§ÛŒ دستگاه دیسک شما در ویندوز می‌باشد (اولین\n"
+"دیسک یا قسمت‌بندی \"C:\" نامیده می‌شود)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": انتخاب کشور کنونی را بررسی کنید. اگر شما در این کشور زندگی نمی‌کنید،\n"
+"بر دکمه‌ی \"%s\" کلیک کرده و یکی دیگر را انتخاب کنید. اگر کشور شما\n"
+"در لیست نشان داده شده وجود ندارد، دکمه‌ی \"%s\" را برای Ø¯Ø±ÛŒØ§ÙØª لیست\n"
+"کامل کشورها کلیک کنید."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"این گام Ùقط در صورتی Ú©Ù‡ یک قسمت‌بندی قدیمی لینوکس/گنو بر ماشین شما پیدا شود\n"
+"ÙØ¹Ø§Ù„ می‌گردد. \n"
+"\n"
+"DrakX اکنون احتیاج دارد بداند که آیا شما می‌خواهید یک نصب جدید یا یک ارتقا\n"
+"سیستم لینوکس ماندریبا موجود را انجام دهید:\n"
+"\n"
+" * \"%s\": در مجموع این سیستم قدیمی را کاملاً پاک می‌کند اگر می‌خواهید روش\n"
+"قسمت‌بندی دستگاه‌های دیسک خود را تغییر دهید، یا سیستم پرونده را تغییر دهید، \n"
+"بایستی از این گزینه Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید. هرچند، بستگی به طرح قسمت‌بندی‌تان،\n"
+"می‌توانید از بر-نگارش بعضی از داده‌های موجودتان جلوگیری کنید.\n"
+"\n"
+" * \"%s\": این رده‌ی نصب به شما اجازه می‌دهد تا بسته‌های نصب شده‌ی کنونی\n"
+"لینوکس ماندریبا را بروزسازی کنید. طرح قسمت‌بندی کنونی‌تان و داده‌های کاربر دست\n"
+"نخواهند خورد و بیشتر گام‌های پیکربندی در دسترس باقی خواهند بود،\n"
+"شبیه به یک نصب استاندارد.\n"
+"\n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ از گزینه‌ی ``ارتقاء'' بایستی برای سیستم‌های لینوکس ماندریبا نسخه‌ی\n"
+"\"8.1\"یا بعدی کارآرایی خوبی داشته باشد. اجرای ارتقاء بر نسخ پیشتر از "
+"لینوکس\n"
+"ماندریبا Û¸Ù¬Û± Ø³ÙØ§Ø±Ø´ نمی‌شود."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"بنابر زبان Ù¾ÛŒØ´â€ŒÙØ±Ø¶ÛŒ Ú©Ù‡ در این قسمت انتخاب کرده‌اید، DrakX نوع بخصوصی\n"
+"از پیکربندی ØµÙØ­Ù‡â€ŒÚ©Ù„ید را بطور خودکار انتخاب می‌کند. اگر Ú†Ù‡ ممکن است شما\n"
+"ØµÙØ­Ù‡â€ŒÚ©Ù„یدی را Ú©Ù‡ دقیقاً مطابق زبان شما باشد نداشته باشید: برای مثال، اگر شما\n"
+"یک شخص انگلیسی زبان سوئیسی باشید، ممکن است یک ØµÙØ­Ù‡â€ŒÚ©Ù„ید سوئیسی\n"
+"داشته باشید. یا اگر شما انگلیسی صحبت کرده ولی در کوبک کانادا زندگی می‌کنید،\n"
+"ممکن است خود را در شرایطی بیابید Ú©Ù‡ زبان بومی شما Ùˆ ØµÙØ­Ù‡â€ŒÚ©Ù„ید مطابقت\n"
+"نداشته باشند. در هر دو صورت، این مرحله‌ی نصب به شما اجازه‌ی انتخاب\n"
+"ØµÙØ­Ù‡â€ŒÚ©Ù„ید مناسب را از یک لیست می‌دهد.\n"
+"\n"
+"برای عرضه‌ی لیست کامل ØµÙØ­Ù‡â€ŒÚ©Ù„ید‌های حمایت شده بر دکمه‌ی \"%s\" کلیک کنید.\n"
+"\n"
+"اگر شما ØµÙØ­Ù‡â€ŒÚ©Ù„یدی را بر اساس یک Ø§Ù„ÙØ¨Ø§ÛŒ غیر لاتین انتخاب کنید، Ú¯ÙØªÚ¯ÙˆÛŒ \n"
+"بعدی به شما اجازه‌ی ترکیب کلیدی را Ú©Ù‡ بتوانید بین طرح‌های ØµÙØ­Ù‡â€ŒÚ©Ù„ید لاتین\n"
+"و غیر لاتین تعویض کنید خواهد داد."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"انتخاب زبان ترجیحی شما زبان نوشتجات، نصب‌گر و سیستم‌تان را در مجموع مورد\n"
+"تأثیر قرار خواهد داد. در ابتدا منطقه‌ای را که در آن قرار دارید و سپس زبانی را "
+"Ú©Ù‡\n"
+"صحبت می‌کنید انتخاب نمایید.\n"
+"\n"
+"کلیک بر دکمه‌ی \"%s\" به شما اجازه می‌دهد تا زبان‌های دیگری را بر ایستگاه\n"
+"کارتان انتخاب کرده، و بدین طریق پرونده‌های مخصوص-زبان را برای سیستم\n"
+"نوشتجات و برنامه‌ها نصب کنید. برای نمونه، اگر شما کاربرانی از اسپانیا را بر\n"
+"رایانه‌اتان میزبان هستید، انگلیسی را مانند زمان Ù¾ÛŒØ´â€ŒÙØ±Ø¶ در درخت‌نما انتخاب\n"
+"کرده Ùˆ \"%s\" را در قسمت Ù¾ÛŒØ´Ø±ÙØªÙ‡ انتخاب کنید.\n"
+"\n"
+"درباره‌ی پشتیبانی از UTF-8 (یونی‌کد): یونی‌کد کدگذاری نویسه‌ی جدیدی\n"
+"برای پوشش دادن همه‌ی زبان‌های موجود است. هرچند پشتیبانی کامل برای\n"
+"آن در لینوکس/گنو هنوز تحت تولید است. بدین دلیل، لینوکس ماندریبا از آن\n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهد کرد یا بدلیل عدم وابستگی به گزینش‌های کاربر:\n"
+"\n"
+" * اگر زبانی را با کدگذاری سنتی قوی (زبان‌های لاتین۱، روسی، ژاپنی،\n"
+"چینی، کره‌ای، تایلندی، یونانی، ترکی، بیشتر زبان‌های iso-8859-2) انتخاب\n"
+"کنید، کدگذاری سنتی بوسیله‌ی Ù¾ÛŒØ´â€ŒÙØ±Ø¶ Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهد گردید:\n"
+"\n"
+" * بقیه‌ی زبان‌ها در Ù¾ÛŒØ´â€ŒÙØ±Ø¶ از یونی‌کد Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهند کرد:\n"
+"\n"
+" * اگر دو یا زبان‌های بیشتری مورد نیاز است، و آن زبان‌ها از کدگذاری\n"
+"یکسان Ø§Ø³ØªÙØ§Ø¯Ù‡ نمی‌کنند، پس یونی‌کد برای تمام سیستم Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهد شد.\n"
+"\n"
+" * در پایان، یونی‌کد می‌تواند برای سیستم با درخواست کاربر بوسیله‌ی\n"
+"انتخاب گزینه‌ی \"%s\" بدون وابستگی به زبان‌(های) گزیده شده اجبار گردد.\n"
+"\n"
+"توجه کنید Ú©Ù‡ شما به انتخاب زبان اضاÙه‌ی تکی محدود نیستید. شما می‌توانید\n"
+"چندین زبان، حتی تمام آنها را بوسیله‌ی انتخاب جعبه‌ی \"%s\" انتخاب کنید.\n"
+"انتخاب کردن پشتیبانی برای زبانی بمعنی ترجمه‌ها، قلم‌ها، غلط‌یاب‌ها\n"
+"وغیره برای آن زبان که نصب خواهد شد می‌باشد.\n"
+"\n"
+"برای تعویض بین زبان‌های گوناگون نصب شده بر سیستم، می‌توانید\n"
+"ÙØ±Ù…ان \"/usr/sbin/localedrake\" را مانند \"root\" برای تغییر زبان Ø§Ø³ØªÙØ§Ø¯Ù‡\n"
+"شده بوسیله‌ی تمام سیستم اجرا کنید. اجرای این ÙØ±Ù…ان مانند یک کاربر عادی\n"
+"تنظیم زبان را تنها برای آن کاربر عوض خواهد نمود."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "اسپانول"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX معمولا مشکلی برای شناسایی تعداد دکمه های موشی شما ندارد.\n"
+"اگر اشکالی پیش آمد ÙØ±Ø¶ بر داشتن دو دکمه Ùˆ پیکربندی آن برای شبیه سازی دکمه "
+"سوم\n"
+"گذارده خواهد شد. دکمه سوم موشی دو-دکمه ای توسط کلیک همزمان دکمه های راست و "
+"Ú†Ù¾\n"
+"بدست خواهد آمد. DrakX بطور خودکار خواهد دانست که آیا موشی شما از واسط USB\n"
+"یا PS/2 یا سریال Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند.\n"
+"\n"
+"اگر شما موشی سه-دکمه ای بدون چرخ دارید، میتوانید موشی \"%s\" را انتخاب "
+"کنید.\n"
+"DrakX موشی شما را بطوری پیکربندی خواهد کرد تا بتوانید چرخ آن را شبیه سازی "
+"کنید:\n"
+"برای اینکار دکمه وسطی را ÙØ´Ø§Ø± داده Ùˆ اشاره گر موشی خود را به بالا Ùˆ پایین "
+"حرکت دهید.\n"
+"\n"
+"اگر بدلایلی میخواهید نوع دیگر از موشی را مشخص کنید، آن را از لیست عرضه شده\n"
+"انتخاب کنید.\n"
+"\n"
+"شما میتوانید ورودی \"%s\" را برای گزینش نوع موشی همگانی که تقریبا با همه "
+"موشیها\n"
+"کار خواهد کرد انتخاب کنید.\n"
+"\n"
+"اگر موشی غیر از پیش ÙØ±Ø¶ انتخاب کرده اید، ØµÙØ­Ù‡ آزمایشی نمایش داده خواهد شد.\n"
+"از دکمه ها Ùˆ چرخ برای امتحان درستی تنظیمات Ø§Ø³ØªÙØ§Ø¯Ù‡ کرده Ùˆ اینکه موشی بدرستی\n"
+"کار میکند. اگر موشی خوب کار نمیکند، دکمه ÙØ§ØµÙ„Ù‡ یا ورودی را ÙØ´Ø§Ø± دهید تا "
+"آزمایش\n"
+"لغو گردیده و شما به لیست موشی باز خواهید گشت.\n"
+"\n"
+"بعضی وقتها چرخ موشی بطور خودکار شناسایی نمیشوند، و شما نیاز خواهید داشت\n"
+"موشی خود را از یک لیست انتخاب کنید. مطمئن شوید که آن را که به درگاه موشی "
+"شما\n"
+"وصل شده انتخاب میکنید. بعد از انتخاب موشی Ùˆ ÙØ´Ø±Ø¯Ù† دکمه \"%s\"ØŒ تصویر موشی\n"
+"بر ØµÙØ­Ù‡ ظاهر خواهد گردید. چرخ موشی را بچرخانید تا مطمئن شوید Ú©Ù‡ آن بدرستی\n"
+"ÙØ¹Ø§Ù„ شده است. همانطور Ú©Ù‡ چرخ موشی را میچرخانید، حرکت چرخ را بر روی ØµÙØ­Ù‡\n"
+"مشاهده خواهد کرد. دکمه ها را امتحان کرده و کنترل کنید که حرکت مکان نمای موشی "
+"بر\n"
+"روی ØµÙØ­Ù‡ بهمان نحو است Ú©Ù‡ شما آن را حرکت میدهید. "
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "با شبیه‌سازی چرخ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "جهانی | هر موشی PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Ù„Ø·ÙØ§Ù‹ درگاه درست را انتخاب کنید، برای مثال، درگاه \"COM1\" در ویندوز \n"
+"بنام \"ttyS0\" در لینوکس خوانده می‌شود."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO و GRUB بارگذارهای لینوکس/گنو هستند. معمولا این مرحله کاملا \n"
+"خودکار است. DrakX بندهای آغازگری دیسک را بررسی کرده و بر اساس\n"
+"آنچه در آنجا پیدا می‌کند عمل خواهد کرد:\n"
+"\n"
+" * اگر بند آغازگری ویندوز ÛŒØ§ÙØª شود، آن را بوسیله یک بند آغازگر\n"
+"GRUB/LILO جایگزین می‌کند. بدین ترتیب شما قادر خواهید بود یا\n"
+"لینوکس/گنو یا سیستم عامل دیگری را آغازگری کنید.\n"
+"\n"
+" * اگر یک بند آغازگری GRUB یا LILO ÛŒØ§ÙØª شود، آن را با یکی دیگر جایگزین\n"
+"می‌کند.\n"
+"\n"
+"اگر نتواند چیزی پیدا کند، DrakX مکانی را برای گذاشتن بارگذار آغازگر سؤال\n"
+"خواهد کرد. معمولاً، \"%s\" مطمئن‌ترین مکان است. گزینش \"%s\" هیچ\n"
+"بارگذار آغازگر را نصب نخواهد کرد. Ùقط اگر می‌دانید چکار می‌کنید از آن\n"
+"Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"اکنون زمان آن رسیده است که سیستم چاپ را بر روی رایانه خود انتخاب کنید. "
+"سیستمهای\n"
+"عامل دیگر ممکن است یکی را ارائه دهند، ولی لینوکس ماندریبا دو تا را ارائه "
+"میدهد.\n"
+"هر یک از سیستمهای چاپ برای انواع مشخصی از پیکربندی مناسب هستند.\n"
+"\n"
+" * \"%s\" -- که سرنام برای ``print, do not queue'' است، گزینه ای است اگر "
+"شما\n"
+" اتصال مستقیم به چاپگرتان داشته Ùˆ میخواهید بتوانید از تراÙیک چاپگر بیرون "
+"بکشانید،\n"
+"Ùˆ شما چاپگران شبکه ندارید. (\"%s\" Ùقط موارد خیلی ساده شبکه را اداره خواهد "
+"کرد و قدری\n"
+"هنگام Ø§Ø³ØªÙØ§Ø¯Ù‡ در شبکه آهسته است.) اگر این اولین تجربه شما با گنو/لینوکس است "
+"Ø³ÙØ§Ø±Ø´ میشود\n"
+"Ú©Ù‡ از \"pdq\" Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+"\n"
+" * \"%s\" سرنام برای `` Common Unix Printing System'' است و گزینه\n"
+"عالی است برای چاپ به چاپگر محلیتان یا به انطر٠دنیا. پیکربندی آن آسان است و "
+"میتواند\n"
+"مانند یک کارگزار یا یک کارگیر برای سیستم چاپ قدیمی \"lpd\" عمل کند، پس "
+"بنابرین\n"
+"آن با سیستمهای عامل قدیمی که هنوز نیاز سرویسهای چاپ دارند همخوانی دارد. با "
+"وجود\n"
+"قدرتمندی، برپاسازی پایه بسادگی \"pdq\" است. اگر نیاز به شبیه سازی یک\n"
+"کارگزار \"lpd\" دارید، مطمئن شوید که شبح \"cups-lpd\" را روشن کرده اید.\n"
+"\"%s\" دارای ظاهر گراÙیکی برای چاپ یا انتخاب گزینه های چاپگر \n"
+"و برای مدیریت چاپگر میباشد.\n"
+"\n"
+"اگر شما اکنون انتخاب کنید، و بعدا از سیستم چاپ خود راضی نبودید میتوانید آن "
+"را با اجرای\n"
+"برنامه PrinterDrake از مرکز کنترل لینوکس ماندریبا و کلیک بر دکمه \"%s\" آن\n"
+"را تغییر دهید."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "کارشناس"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"برنامه‌ی درایک‌ایکس در ابتدا هر دستگاه موجود IDE را در رایانه‌اتان شناسائی "
+"خواهد\n"
+"کرد. آن همچنین برای ÛŒØ§ÙØªÙ† یک یا چند کارت IDE /SCSI بر سیستم شما پویش\n"
+"خواهد کرد.اگر یک کارت SCSI ÛŒØ§ÙØª شود، درایک‌ایکس بطور خودکار راه‌انداز مناسب\n"
+"را نصب خواهد کرد.\n"
+"\n"
+"برای اینکه شناسائی Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± کامل نمی‌باشد، درایک‌ایکس ممکن است در شناسائی\n"
+"Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± شما شکست بخورد. اگر چنین شود مجبور خواهید شد Ú©Ù‡ Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø±\n"
+"خود را دستی مشخص کنید.\n"
+"\n"
+"اگر مجبور شدید کارت PCI SCSI خود را دستی مشخص کنید، درایک‌ایکس از شما برای \n"
+"پیکربندی گزینه‌های آن سؤال خواهد کرد. شما باید به درایک‌ایکس اجازه دهید که\n"
+"Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± را برای گزینه‌های بخصوص-کارت Ú©Ù‡ برای تطبیق کارت لازمند جستجو\n"
+"کند. در بیشتر مواقع درایک‌ایکس بدون هیچ مشکلی این مرحله را طی می‌کند.\n"
+"\n"
+"اگر درایک‌ایکس نتواند Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± را برای گزینه‌ها را به منظور ÛŒØ§ÙØªÙ† پارامترهایی "
+"Ú©Ù‡\n"
+"لازمند به Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø± داده شوند وارسی کند، باید راه‌انداز را دستی پیکربندی کنید."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": اگر یک کارت صوت در سیستم شما شناسائی شده است در اینجا نشان داده \n"
+"میشود. اگر کارت نشان داده شده آن نیست که در سیستم شما وجود دارد، \n"
+"میتوانید بر دکمه کلیک کرده و راه‌انداز دیگری را انتخاب کنید."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"مانند پیش‌نمایش، DrakX خلاصه از اطلاعات خود را درباره سیستمتان\n"
+"عرضه می‌دارد. بستگی به Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ÛŒ نصب شده، می‌توانید بعضی یا همه‌ی\n"
+"ورودی‌های بدنبال آمده را دارا باشید. هر ورودی از عنصری که باید پیکربندی\n"
+"شود و یک خلاصه‌ی کوتاه از پیکربندی کنونی بدنبال آمده آن ساخته شده است.\n"
+" بر دکمه‌ی مربوطه‌ی \"%s\" برای تغییر آن کلیک کنید.\n"
+"\n"
+" * \"%s\":پیکربندی نقشه ØµÙØ­Ù‡â€ŒÚ©Ù„ید کنونی را کنترل کرده Ùˆ آن را اگر لازم است\n"
+"تغییر دهید.\n"
+"\n"
+" * \"%s\": انتخاب کشور کنونی را کنترل کنید. اگر شما در این کشور نیستید،\n"
+"بر دکمه‌ی \"%s\" کلیک کرده و یکی دیگر را انتخاب کنید. اگر کشور شما در اولین\n"
+"لیست نشان داده شده نیست، بر دکمه‌ی \"%s\" برای Ø¯Ø±ÛŒØ§ÙØª لیست کامل\n"
+" کشورها کلیک کنید.\n"
+"\n"
+" * \"%s\": بوسیله Ù¾ÛŒØ´â€ŒÙØ±Ø¶ØŒ DrakX منطقه زمانی‌تان را بر اساس کشوری Ú©Ù‡\n"
+"انتخاب کرده‌اید استنتاج می‌کند. می‌توانید بر دکمه‌ی \"%s\" اگر این درست\n"
+"نیست کلیک کنید.\n"
+"\n"
+" * \"%s\": پیکربندی موشی کنونی را بررسی کرده و اگر لازم است آن را با کلیک\n"
+"بر دکمه تغییر دهید.\n"
+"\n"
+" * \"%s\": کلیک کردن بر دکمه‌ی \"%s\" جادوگر پیکربندی چاپگر را باز خواهد کرد\n"
+"به ÙØµÙ„ مربوط ``راهنمای شروع'' برای اطلاعات بیشتر در چگونه یک چاپگر جدید را\n"
+"برپاسازی کنیم مراجعه کنید. ظاهر عرضه شده در آنجا شبیه به آن است که در طول\n"
+"نصب Ø§Ø³ØªÙØ§Ø¯Ù‡ شده است.\n"
+"\n"
+" * \"%s\": اگر کارت صوتی بر سیستم‌تان شناسایی شده است، در اینجا نمایش\n"
+"داده می‌شود. اگر متوجه شدید که کارت صوتی نشان داده شده آن نیست که واقعاً \n"
+"بر سیستمتان وجود دارد میتوانید بر آن دکمه برای انتخاب راه‌انداز دیگری کلیک "
+"کنید.\n"
+"\n"
+" * \"%s\": اگر شما کارت تلویزیونی دارید، این جایی است که اطلاعات درباره "
+"پیکربندیش\n"
+"نشان داده خواهد شد. اگر شما کارت تلویزیونی داشته ولی شناسایی نگردیده،\n"
+"برای تلاش به پیکربندی کردن دستی آن بر روی \"%s\" کلیک کنید.\n"
+"\n"
+" * \"%s\": شما میتوانید بر روی \"%s\" برای تغییر پارامترهای مربوط به کارت "
+"کلیک\n"
+"کنید، البته اگر احساس میکنید که پیکربندی اشتباه است.\n"
+"\n"
+" * \"%s\": بوسیله Ù¾ÛŒØ´â€ŒÙØ±Ø¶, DrakX تÙکیک‌پذیری واسط تصویری شما را\n"
+"\"800x600\" یا \"1024x768\" پیکربندی می‌کند. اگر آن برای شما مناسب نیست، \n"
+"برای پیکربندی مجدد واسط تصویری خود بر \"%s\" کلیک کنید.\n"
+"\n"
+" * \"%s\": اگر میخواهید دستیابی به اینترنت یا به شبکه محلیتان را اکنون "
+"پیکربندی کنید\n"
+"میتوانید اینکار را اکنون انجام دهید. به نوشتارهای چاپی مراجعه کرده یا از\n"
+"مرکز کنترل لینوکس ماندریبا بعد از اتمام نصب برای بهره بردن از راهنمای\n"
+"کامل Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+"\n"
+" * \"%s\": به شما اجازه میدهد تا نشانیهای پراکسی FTP و HTTP را اگر رایانه\n"
+"نصب شما در پشت یک کارگزار پراکسی قرار خواهد Ú¯Ø±ÙØª پیکربندی کنید.\n"
+"\n"
+" * \"%s\": این ورودی به شما اجازه‌ی تعری٠مجدد سطح امنیت را که در مرحله‌ی\n"
+"پیشین تعیین شده میدهد.\n"
+"\n"
+" * \"%s\": اگر طرحی برای اتصال ماشین خود به اینترنت دارید, Ùکر خوبی است\n"
+"Ú©Ù‡ رایانه خود را از رسوخ دیگران بوسیله برپاسازی دیوارآتش Ø­ÙØ§Ø¸Øª کنید. به ÙØµÙ„\n"
+"مربوط ``راهنمای مبتدی'' برای تشریحات درباره تنطیمات دیوارآتش مراجعه کنید.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید پیکربندی بارگذار آغازگر را تغییر دهید, آن دکمه را\n"
+"کلیک کنید این بایستی برای کاربران Ù¾ÛŒØ´Ø±ÙØªÙ‡ رزرو شود. به نوشتارهای چاپی\n"
+" مراجعه کرده یا از مرکز کنترل لینوکس ماندریبا بعد از اتمام نصب برای \n"
+"بهره بردن از راهنمای کامل Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+"\n"
+" * \"%s\": در اینجا قادر خواهید بود سرویس‌هایی را که بر ماشین شما اجرا\n"
+"خواهند شد را میزان کنید. اگر می‌خواهید از این ماشین مانند یک\n"
+"کارگزار Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید Ùکر خوبی است Ú©Ù‡ این برپاسازی را مرور کنید."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "کارت ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "کارت ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "واسط گراÙیکی"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"دستگاه دیسکی را که می‌خواهید برای نصب قسمت‌بندی جدید لینوکس ماندریبا\n"
+"پاک کنید انتخاب نمایید. دقت کنید چون تمام داده‌های موجود بر آن از دست خواهند\n"
+"Ø±ÙØª Ùˆ دیگر نمی‌توان آنها را بازیابی نمود!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"اگر می‌خواهید تمام داده‌ها و قسمت‌بندی‌های موجود بر این دیسک را حذ٠کنید \n"
+"بر \"%s\" کلیک نمایید. دقت کنید که بعد از کلیک بر \"%s\"، دیگر نمی‌توانید\n"
+"هیچ داده Ùˆ قسمت‌بندی موجود بر این دیسک، به اضاÙه‌ی هر داده‌ی ویندوز را\n"
+"بازیابی کنید.\n"
+"\n"
+"برای توق٠این عملیات بدون از دست دادن هیچ داده‌ای و قسمت‌بندی موجود بر\n"
+"این دیسک بر \"%s\" کلیک کنید."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "بعدی ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- پیشین"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": با کلیک بر دکمه‌ی \"%s\" جادوگر پیکربندی چاپگر باز خواهد شد\n"
+#~ "به ÙØµÙ„ مربوط در ``Starter Guide'' برای اطلاعات بیشتر برای نصب یک چاپگر\n"
+#~ "جدید مراجعه کنید. ظاهر عرضه شده در آنجا شبیه به آن است که در هنگام\n"
+#~ "نصب Ø§Ø³ØªÙØ§Ø¯Ù‡ می‌گردد."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "این مهمترین نقطه‌ی تصمیم گیری برای امنیت سیستم لینوکس/گنوی شما است.\n"
+#~ "شما باید گذرواژه‌ی \"root\" را وارد کنید. \"Root\" مدیر سیستم است و تنها\n"
+#~ "کاربری است Ú©Ù‡ می‌تواند بروزسازی کرده، کاربران را اضاÙÙ‡ کند، پیکربندی "
+#~ "همگانی\n"
+#~ "سیستم را تغییر دهد، و همچنین بقیه کارهای از این قبیل را. بطور خلاصه، "
+#~ "\"root\"\n"
+#~ "هر کاری را می‌تواند انجام دهد! برای همین شما باید گذرواژه‌ای را انتخاب کنید "
+#~ "Ú©Ù‡\n"
+#~ " حدس زدنش سخت باشد - DrakX اگر گذرواژه خیلی ساده باشد به شما تذکر داده\n"
+#~ "خواهد شد. همانطور که مشاهده می‌کنید، شما مجبور به وارد کردن یک گذرواژه "
+#~ "نیستید،\n"
+#~ "ولی ما بشدت برعکس این را به شما نصیحت می‌کنیم. لینوکس/گنو مانند هر سیستم\n"
+#~ "عامل دیگری برای خطاهای کارکنان مستعد است. چون \"root\" هیچ محدودیت "
+#~ "اجرایی\n"
+#~ "ندارد و بطور غیر عمدی تمام دادهها بر قسمت بندیها را بوسیله دستیابی بی "
+#~ "توجه به\n"
+#~ "قسمت بندیهای خود پاک کند، این امر مهمی است که بسختی بتوان \"root\" شد.\n"
+#~ "\n"
+#~ "گذرواژه بایستی ترکیبی از نویسه‌های Ø§Ù„ÙØ¨Ø§ Ùˆ حداقل دارای Û¸ نویسه باشد. هرگز\n"
+#~ "گذرواژه \"root\" یادداشت نشود-- آن به آسانی سیستم را تسلیم میکند.\n"
+#~ "\n"
+#~ "یک نصیحت -- گذرواژه را طولانی یا پیچیده نسازید برای اینکه باید بتوانید\n"
+#~ "آنرا بخاطر بسپارید!\n"
+#~ "\n"
+#~ "گذرواژه هنگام نگارش آن Ø¨Ø±ØµÙØ­Ù‡ نشان داده نخواهد شد. برای Ú©Ù… کردن احتمال\n"
+#~ "خطای نگارش کورکورانه لازم است Ú©Ù‡ گذرواژه را دوبار وارد کنید. اگر Ø§ØªÙØ§Ù‚ÛŒ\n"
+#~ "هر دوبار همان خطای نگارشی را انجام دهید، این گذرواژه‌ی نادرست همانی\n"
+#~ "می‌شود Ú©Ù‡ باید بار اول از آن Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید.\n"
+#~ "\n"
+#~ "اگر می‌خواهید دستیابی به این رایانه از طریق یک کارگزار تأیید هویت کنترل "
+#~ "شود،\n"
+#~ "دکمه‌ی \"%s\" را کلیک کنید.\n"
+#~ "\n"
+#~ "اگر شبکه‌اتان نه از LDAP ،NIS، یا سرویس‌های تأیید هویت دامنه‌ی ویندوز PDC\n"
+#~ "Ø§Ø³ØªÙØ§Ø¯Ù‡ می‌کند، سرویس مناسبی را برای \"%s\" انتخاب کنید. اگر نمی‌دانید از\n"
+#~ "کدام باید Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید، باید این را از مدیر سیستم شبکه‌اتان سؤال کنید.\n"
+#~ "\n"
+#~ "اگر شما در بخاطر سپردن گذرواژه مشکل دارید، اگر رایانه شما هرگز به "
+#~ "اینترنت\n"
+#~ "وصل نخواهد شد یا شما مطلقاً به همه‌ی کسانی Ú©Ù‡ از رایانه‌تان Ø§Ø³ØªÙØ§Ø¯Ù‡\n"
+#~ "می‌کنند اطمینان دارید، می‌توانید داشتن \"%s\" را انتخاب کنید."
+
+#~ msgid "authentication"
+#~ msgstr "تأیید هویت"
diff --git a/perl-install/install/help/po/fi.po b/perl-install/install/help/po/fi.po
new file mode 100644
index 000000000..8f2f5d961
--- /dev/null
+++ b/perl-install/install/help/po/fi.po
@@ -0,0 +1,1391 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2024\n"
+"Language-Team: Finnish (https://app.transifex.com/MageiaLinux/teams/9361/"
+"fi/)\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux on monen käyttäjän järjestelmä ja tämä tarkoittaa että jokainen\n"
+"käyttäjä voi pitää omat asetukset, omat tiedostot jne. Voit lukea ``Starter\n"
+"Guide'':a saadaksesi tästä lisätietoa. Mutta toisin kuin \"root\"-käyttäjä,\n"
+"joka on järjestelmän ylläpitäjä, käyttäjät, joita lisäät tässä, eivät pysty\n"
+"muuttamaan mitään muuta paitsi omia tiedostojaan ja asetuksiaan. Tällä\n"
+"tavalla suojataan järjestelmää erehdyksiltä tai tahallisilta muutoksilta,\n"
+"jotka vaikuttavat järjestelmään. Sinun pitää luoda ainakin yksi tavallinen\n"
+"käyttäjä itsellesi. Se on tili jota sinun kannattaa käyttää jokapäiväisessä\n"
+"työssäsi. Vaikkakin on kätevämpää kirjautua sisään \"root\"-tunnuksella,\n"
+"se on myös paljon vaarallisempaa! Pienikin virhe voi merkitä sitä ettei\n"
+"järjestelmäsi toimi enää. Jos teet vakavan virheen tavallisena käyttäjänä,\n"
+"voit mahdollisesti menettää jotain tietoja, mutta et koko järjestelmää.\n"
+"\n"
+"Ensin sinun pitää antaa oikea nimesi. Tämä ei ole pakollista -- voithan\n"
+"kirjoittaa mitä tahansa. DrakX kopioi ensimmäisen kirjoittamasi sanan\n"
+"kenttään \"%s\". Tämä on se nimi jolla kyseinen käyttäjä kirjautuu\n"
+"järjestelmään. Voit muuttaa sitä halutessasi. Sinun pitää myös syöttää\n"
+"salasana. Tavallisen käyttäjän salasana ei ole niin kriittinen kuin "
+"\"root\"\n"
+"-käyttäjän turvallisuusnäkökulmasta, mutta tämä ei ole syy tietoturvan\n"
+"laiminlyömiseen: Onhan kysymys tiedostojesi turvasta.\n"
+"\n"
+"Kun painat \"%s\", voit lisätä muita käyttäjiä. Lisää käyttäjä jokaiselle\n"
+"henkilölle, jonka on tarkoitus käyttää tätä tietokonetta. Kun olet lisännyt\n"
+"kaikki haluamasi käyttäjät, valitse \"%s\".\n"
+"\n"
+"Jos painat \"%s\" painiketta voit muuttaa oletus-\"komentotulkin\" "
+"kyseiselle\n"
+"käyttäjälle (vakiona bash).\n"
+"\n"
+"Kun olet lisännyt kaikki käyttäjät, sinua pyydetään valitsemaan käyttäjä,\n"
+"joka voi kirjautua automaattisesti järjestelmään koneen käynnistyessä. Jos\n"
+"olet kiinnostunut tästä ominaisuudesta (etkä paljon piittaa paikallisesta\n"
+"tietoturvasta), valitse haluttu käyttäjä ja ikkunointijärjestelmä ja paina\n"
+"\"%s\". Jos et ole kiinnostunut tästä ominaisuudesta,\n"
+"poista valinta \"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Haluatko käyttää tätä ominaisuutta?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Tässä on listaus olemassa olevista tunnistetuista Linux-osioista\n"
+"kiintolevylläsi. Voit säilyttää velhon tekemät valinnat, koska ne ovat\n"
+"hyviä useimmille yleisimmille asennuksille. Jos teet muutoksia, sinun\n"
+"pitää ainakin luoda juuri-osio (\"/\"). Älä valitse liian pientä osiota tai\n"
+"et voi asentaa riittävästi ohjelmia. Jos haluat tallentaa tietojasi "
+"erilliselle\n"
+"osiolle, sinun täytyy luoda myös \"/home\"-osio (mahdollista vain jos\n"
+"sinulla on enemmän kuin yksi Linux-osio käytettävissä).\n"
+"\n"
+"Jokainen osio on listattu seuraavasti: \"Nimi\", \"Koko\".\n"
+"\n"
+"\"Nimi\" rakenne on seuraava: \"kiintolevytyyppi\". \"kiintolevynumero\", \n"
+"\"osionumero\" (esim. \"hda1\").\n"
+"\n"
+"\"kiintolevytyyppi\" on \"hd\" jos kiintolevysi on IDE-tyyppinen, ja \"sd\" "
+"jos\n"
+"se on SCSI-tyyppinen.\n"
+"\n"
+"\"kiintolevynumero\" on aina kirjain \"hd\":n tai \"sd\":n perässä.\n"
+"IDE-kiintolevyille: \n"
+"\n"
+" * \"a\" tarkoittaa \"isäntälevy ensisijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"b\" tarkoittaa \"orjalevy ensisijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"c\" tarkoittaa \"isäntälevy toissijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"d\" tarkoittaa \"orjalevy toissijaisella IDE-ohjaimella\";\n"
+"\n"
+"SCSI kiintolevyillä \"a\" tarkoittaa \"pienin SCSI ID\", \"b\" tarkoittaa\n"
+"\"toiseksi pienin SCSI ID\", jne..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Päivitä"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Perusdokumentaation kanssa"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Todella minimaalinen asennus"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automaattiset riippuvuudet"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Voit nyt valita mitkä palvelut haluat käynnistää konetta käynnistettäessä.\n"
+"\n"
+"DrakX listaa kaikki palvelut, jotka löytyvät nykyisestä asennuksesta.\n"
+"Käy lista läpi huolellisesti ja poista kaikki ne palvelut, joita ei tarvita\n"
+"jokaisella käynnistyskerralla.\n"
+"\n"
+"Saat kustakin palvelusta lyhyen kuvaustekstin valitsemalla sen. Jos et\n"
+"kuitenkaan ole varma palvelun hyödyllisyydestä, on yleensä varmempaa\n"
+"jättää se oletusarvoiseksi.\n"
+"\n"
+"!! Tässä vaiheessa sinun pitää olla erityisen huolellinen, jos aiot käyttää\n"
+"konettasi palvelimena: et varmaankaan halua käynnistää niitä palveluita,\n"
+"joita et tarvitse. Muista myös, että jotkin palvelut voivat olla\n"
+"vaarallisia, jos ne ovat aktivoituja palvelimessa. Yleensä kannattaa valita\n"
+"vain ne palvelut, joita todella tarvitaan !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux määrittää ajan GMT (Greenwich Mean Time) -tilassa ja muuntaa\n"
+"siitä paikalliseen aikaan valitsemasi aikavyöhykkeen mukaisesti. Voit myös\n"
+"muuttaa tämän käytännön poistamalla valinnan \"%s\"\n"
+"jolloin laitteistokello on sama kuin järjestelmäkello. Tämä on hyödyllistä\n"
+"jos koneessa on toinen käyttöjärjestelmä, esimerkiksi Windows.\n"
+"\n"
+"Optio \"%s\" säätää järjestelmäsi kellon\n"
+"automaattisesti oikeaan aikaan yhdistämällä johonkin Internetin "
+"aikapalvelimeen.\n"
+"Valitse listasta palvelin joka on lähelläsi tai kirjoita sen osoite suoraan "
+"kenttään.\n"
+"Sinulla pitää tietysti olla toimiva Internet-yhteys jotta tämä ominaisuus "
+"toimisi.\n"
+"Tämä myös asentaa aikapalvelimen koneeseesi jota muut paikallisverkkosi\n"
+"koneet voivat käyttää."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automaattinen kellon synkronointi"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Näytönohjain\n"
+"\n"
+" Asennusohjelma yleensä tunnistaa ja asettaa koneeseesi asennetun\n"
+"näytönohjaimen. Mikäli tämä ei onnistunut, voit itse valita oikean mallin\n"
+"listasta omistamasi kortin mukaisesti.\n"
+"\n"
+" Mikäli eri palvelimia on käytettävissä kortillesi, 3D tuella vai ilman,\n"
+"sinua pyydetään valitsemaan palvelin joka vastaa tarpeitasi."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Näyttö\n"
+"\n"
+" Asennusohjelma yleensä tunnistaa ja asettaa koneeseesi liitetyn\n"
+"näytön automaattisesti. Jos tämä ei toimi, voit itse valita näyttösi\n"
+"listauksesta."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Näyttötila\n"
+"\n"
+" Tässä voit valita näyttötilan ja värisyvyyden jota laitteistosi tukee.\n"
+"Valitse se joka parhaiten vastaa tarpeitasi (voit tietysti vaihtaa sitä\n"
+"asennuksen jälkeenkin). Malli valitusta asetuksesta näytetään näytössä."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Mikäli tarjolla on eri palvelimia ohjaimellesi, 3D tuella tai ilman,\n"
+"sinua pyydetään valitsemaan palvelin joka parhaiten vastaa tarpeitasi."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Optiot\n"
+"\n"
+" Täällä voit valita haluatko koneesi käynnistyvän suoraan graafiseen\n"
+"käyttöliittymään. Huomaa, että kysymys esitetään vaikka et olisi\n"
+"testannut asetuksia. Haluat varmaankin vastata \"%s\", jos koneesi\n"
+"on tarkoitettu palvelimeksi tai jos näytön asetus epäonnistui."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Käytä olemassa olevia osioita"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Tyhjennä koko levy"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ole hyvä. Asennus on valmis ja GNU/Linux -järjestelmäsi on valmis\n"
+"käytettäväksi. Paina \"%s\" käynnistääksesi järjestelmän\n"
+"uudelleen. Ensimmäinen asia mitä näet sen jälkeen kun tietokoneesi\n"
+"on suorittanut laitteistotestit, on käynnistysvalikko josta voit valita\n"
+"minkä käyttöjärjestelmän haluat käynnistää.\n"
+"\n"
+"\"%s\" painike näyttää kaksi lisäpainiketta:\n"
+"\n"
+" * \"%s\": luodaksesi levykkeen, joka suorittaa\n"
+"koko asennuksen ilman käyttäjän ohjausta, samoilla asetuksilla ja\n"
+"valinnoilla kuin nykyinen asennus.\n"
+"\n"
+" Huomaa, että tämä valinta näyttää kaksi vaihtoehtoa sinulle:\n"
+"\n"
+" * \"%s\": Tämä on osittain automaattinen asennus, voit päättää\n"
+"ainoastaan levyn osioinnista;\n"
+"\n"
+" * \"%s\": Täysautomaattinen asennus: koko kiintolevy\n"
+"kirjoitetaan uudestaan ja kaikki vanhat tiedot poistetaan.\n"
+"\n"
+" Tämä toiminto helpottaa työtä, kun asennus on tehtävä monille\n"
+"samanlaisille koneille. Katso meidän webbisivustoa, aiheella\n"
+"automaattiasennus (Auto Install).\n"
+"\n"
+" * \"%s\"(*): tallentaa listan valituista paketeista\n"
+"levykkeelle. Sitten kun teet toisen asennuksen, aseta levyke asemaan,\n"
+"siirry apusivulle painamalla [F1] painiketta, ja kirjoita komentoriville\n"
+" linux defcfg=\"floppy\" ja paina 'enter'.\n"
+"\n"
+"(*) Tarvitset FAT-formatoidun levykkeen. Luodaksesi levykkeen\n"
+"Linuxissa kirjoita \"mformat a:\" tai \"fdformat /dev/fd0\" ja \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Luo automaattinen asennuslevyke"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tietoturvan ylläpitäjä:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Vaihdettavan median automaattinen liittäminen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Vaihda vakio-/asiantuntijatilan välillä"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": tarkista maa-asetukset. Jos et ole maassa, joka on valittu,\n"
+"paina \"%s\" painiketta ja valitse joku muu. Jos maasi ei ole\n"
+"listassa, paina \"%s\" painiketta jolloin näet listan kaikista maista."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tavallisesti DrakX valitsee sinulle oikean näppäimistön sen mukaan, minkä\n"
+"kielen olet valinnut. Kuitenkaan sinulla ei välttämättä ole näppäimistöä, "
+"joka\n"
+"vastaa suoraan kieltäsi. Jos olet esimerkiksi englanninkielinen "
+"sveitsiläinen,\n"
+"voit silti haluta sveitsiläisen näppäimistön. Tai jos puhut englantia, mutta "
+"asut\n"
+"Quebecissä, sinulla voi olla samanlainen tilanne, missä kieli ja "
+"näppäimistö\n"
+"eivät vastaa toisiaan. Molemmissa tapauksissa tämä asennusvaihe antaa\n"
+"sinulle mahdollisuuden valita sopivan näppäimistön listasta.\n"
+"\n"
+"Valitse \"%s\" saadaksesi täydellisen listan tuetuista\n"
+"näppäimistöistä.\n"
+"\n"
+"Jos valitset näppäimistön joka ei perustu latinalaiseen kirjaimistoon, "
+"sinulta\n"
+"kysytään näppäinyhdistelmää joka vaihtaa latinalaisen ja ei-latinalaisen\n"
+"järjestyksen välillä."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "espanja"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX yleensä tunnistaa hiiren painikkeiden määrän. Jos tunnistus\n"
+"epäonnistuu DrakX olettaa, että sinulla on kaksipainikkeinen hiiri\n"
+"ja liittää siihen kolmannen painikkeen emulaatiolla. Kolmatta painiketta\n"
+"kaksipainikkeisessa hiiressä voidaan käyttää painamalla molempia\n"
+"painikkeita samanaikaisesti. DrakX tietää myös automaattisesti, onko\n"
+"sinulla PS/2-, sarja- vai USB-hiiri.\n"
+"\n"
+"Mikäli sinulla on kolmipainikkeinen hiiri ilman rullaa, voit valita hiiren\n"
+"tyypiksi \"%s\". DrakX lisää tällöin rullaemulaation, joka toimii\n"
+"painamalla keskimmäistä painiketta ja liikuttamalla hiirtä.\n"
+"\n"
+"Jos haluat asettaa eri tyyppisen hiiren, valitse sopiva tyyppi oheisesta\n"
+"listasta.\n"
+"\n"
+"Voit valita \"%s\" jolla valitset ``yleisen'' hiirimallin joka toimii lähes\n"
+"kaikki hirten kanssa.\n"
+"\n"
+"Jos valitset muun kuin oletushiiren, saat eteesi hiiren testiruudun.\n"
+"Kokeile hiiren näppäimiä ja rullaa varmistaaksesi, että asetukset ovat\n"
+"oikein. Jos hiiri ei toimi kunnolla, paina välilyöntiä tai [enter]\n"
+"peruuttaaksesi, minkä jälkeen voit valita uudelleen.\n"
+"\n"
+"Joskus rullahiirtä ei tunnisteta oikein. Sinun pitää valita oikea malli\n"
+"listasta. Varmista, että valitset mallin joka vastaa porttia johon\n"
+"hiiresi on liitetty. Kun olet painanut \"%s\", hiiren kuva tulee esille.\n"
+"Sitten sinun PITÄÄ pyörittää rullaa, jotta se aktivoituisi oikein.\n"
+"Varmista sitten kaikkien painikkeiden toiminta sekä hiiren liikkuminen."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Rullaemulaatiolla"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Yleinen | Mikä tahansa PS/2- ja USB-hiiri"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Valitse oikea portti. Esimerkiksi \"COM1\" portti Windowsissa\n"
+"on nimetty \"ttyS0\":ksi GNU/Linuxissa."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Käynnistyslataaja on pieni ohjelma joka käynnistyy tietokoneen\n"
+"käynnistyksen yhteydessä. Sen tarkoitus on käynnistää koko järjestelmää.\n"
+"Yleensä tämä askel on automaattinen, eli DrakX analysoi käynnistys-\n"
+"sektorin ja toimii sen mukaan mitä sieltä löytyy:\n"
+"\n"
+" * jos Windows käynnistyssektori löytyy, sen tilalle asennetaan GRUB/LILO\n"
+"käynnistyssektori. Tällä tavalla voit käynnistää GNU/Linuxin tai jonkin\n"
+"muun käyttöjärjestelmän.\n"
+"\n"
+" * jos käynnistyssektorilta löytyy GRUB tai LILO, se päivitetään uudempaan\n"
+"versioon.\n"
+"\n"
+"Jos DrakX ei osaa tehdä päätöstä, se kysyy sinulta mihin haluat asentaa\n"
+"käynnistyslataajan. Yleensä paras paikka on \"%s\". Valitsemalla \"%s\"\n"
+"käynnistyslataajaa ei asenneta. Tee tämä vain mikäli tiedät mitä teet."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Asiantuntija"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Aluksi DrakX tunnistaa kaikki IDE-laitteet, jotka on kytketty "
+"järjestelmääsi.\n"
+"Samalla myös tutkitaan löytyykö järjestelmästä PCI SCSI -ohjaimia. Jos\n"
+"SCSI-ohjain löytyy, asentaa DrakX tarvittavat ajurit.\n"
+"\n"
+"Koska laitteiston tunnistaminen ei ole idiootinvarma, DrakX voi\n"
+"epäonnistua. Siinä tapauksessa joudut määrittämään laitteistosi\n"
+"itse.\n"
+"\n"
+"Jos sinun pitää määrittää PCI SCSI -ohjaintasi, DrakX kysyy sinulta\n"
+"haluatko määrittää ohjaimen asetuksia. Ehdotamme että sallit DrakX:n\n"
+"tunnistaa tarvittavat asetukset laitteiston alustamiseen. Yleensä DrakX\n"
+"suorittaa tämän toiminnon ongelmitta.\n"
+"\n"
+"Jos DrakX ei pystykään tunnistamaan tarvittavia asetuksia joilla ohjain\n"
+"pitää alustaa, joudut itse syöttämään ne ajurille."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jos äänikortti on tunnistettu järjestelmässäsi, se\n"
+"näytetään täällä. Jos huomaat että näytetty äänikortti ei vastaa sitä\n"
+"joka on asennettu koneeseesi, voit painaa tätä painiketta ja valita toisen\n"
+"ajurin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kortti"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graafinen käyttöliittymä"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Valitse \"%s\" jos haluat tuhota kaiken tällä kiintolevyllä olevan\n"
+"tiedon sekä osiot. Ole varovainen, sillä valittuasi \"%s\"\n"
+"et voi enää palauttaa mitään tällä kiintolevyllä olleita tietoja ja "
+"osioita,\n"
+"mukaanlukien kaikki Windows-tiedostot.\n"
+"\n"
+"Valitse \"%s\" keskeyttääksesi tämän toiminnon ilman että\n"
+"menetät mitään kiintolevyllä ollutta tietoa ja osioita."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Seuraava ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Edellinen"
diff --git a/perl-install/install/help/po/fr.po b/perl-install/install/help/po/fr.po
new file mode 100644
index 000000000..b6db93b4a
--- /dev/null
+++ b/perl-install/install/help/po/fr.po
@@ -0,0 +1,2035 @@
+# translation of DrakX-fr.po to Français
+# Translation file of Mageia graphic install
+# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Mandriva
+#
+# Veuillez ne pas mettre à jour ce fichier à moins d'être
+# certain tant de vos traductions que de votre grammaire et
+# de votre orthographe. Ces dernières sont trop souvent
+# approximatives. Elles nécessitent alors des relectures et
+# des corrections qui n'ont d'autre conséquence que de faire
+# perdre du temps à tout le monde (à vous si votre travail est
+# imparfait et aux relecteurs qui doivent rechercher puis corriger
+# vos éventuelles fautes).
+#
+# VEUILLEZ RESPECTER LA TYPOGRAPHIE FRANÇAISE !
+# Les majuscules doivent être accentuées si besoin est. Respectez
+# les espaces nécessaires pour la ponctuation (espace après la virgule et
+# le point, espace insécables avant les points d'interrogation,
+# d'exclamation, les deux-points et le point virgule, espace aussi après
+# le point virgule).
+# N'enlevez pas l'espace qui suit un signe de ponctuation en fin de
+# phrase; vous devez respecter la version originale. Dans ce type de
+# cas, il est extrèmement probable que le programme va afficher
+# quelque chose d'autre à la fin. En enlevant l'espace, vous allez
+# accoller deux mots.
+#
+# ESPACES INSÉCABLES
+# Vous devez utiliser un espace insécable (c'est un espace qui ne peut
+# pas servir de rupture à la ligne) avant le point d'exclamation, le
+# point d'interrogation, le deux-points, le point virgules, et pour les
+# "quantités", entre le nombre et l'unité abbrégée (par exemple "10 g").
+# L'espace normal en ISO et UTF8 est le caractere 0x20 tandis que l'espace
+# insécable est le caractère 0xA0. Sous Emacs en utilisant le po mode
+# livré avec gettext >= 0.10.40-4mdk vous pouvez voir celui-ci avec un
+# fond de couleur spécial. Sous Vi celui-ci est normalement affiché
+# précédé du caractère pipe "|". Pour le taper sous la plupart des
+# éditeurs, vous pouvez utiliser la touche "Compose" puis en tapant
+# deux espaces. Si vous n'avez pas de touche compose, vous pouvez
+# donner cette fonction à la touche "Windows" droite de votre clavier
+# avec la commande suivante :
+# xmodmap -e 'keycode 116 = Multi_key'
+#
+# Les guillemets françaises sont « et » et non ". La guillemet ouvrante
+# « est suivie d'un espace insécable et la guillemet fermante » est
+# précédée du même type d'espace. Pour le taper, vous pouvez utiliser
+# la combinaison Compose < <, et Compose > > (ou alt-z et alt-x).
+#
+# Enfin, traduisez INTELLIGEMMENT et non mot à mot. Certaines traductions
+# n'ont aucun sens en français.
+#
+# MOTS À ÉVITER
+# - application. Ce terme n'étant pas compris par le grand public, il est
+# préférable de le remplacer par le mot "programme".
+#
+# Nous vous remercions de votre compréhension.
+#
+#
+#
+# Stéphane Teletchéa, 2005.
+# David BAUDENS <baudens@mandriva.com>, 1999-2004.
+# David ODIN <odin@mandriva.com>, 2000.
+# Pablo Saratxaga <pablo@mandriva.com>, 2001, 2005.
+# KAtiOS <katios@nolabel.net>, 2001.
+# Guillaume Cottenceau <gc@mandriva.com>, 2001-2002.
+# Thierry Vignaud <thierry.vignaud.com>, 2001-2004.
+# Christophe Combelles <ccomb@free.fr>, 2002,2003.
+# Adrien REZER <monsieurdidi@free.fr>, 2003.
+# RICHARD Nicolas <richardnicolas22@yahoo.fr>, 2004.
+# Lecureuil Nicolas <n1c0l4s.l3@wanadoo.fr>, 2004.
+# Teletchéa <steletch@free.fr>, 2004, 2005.
+# Christophe Berthelé <cpjc@free.fr>, 2005, 2006, 2008.
+# Didier Hérisson <didier.herisson@angstrom.uu.se>, 2005.
+# Nicolas Lécureuil <neoclust@mandriva.org>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2013-04-25 17:02+0100\n"
+"Last-Translator: Yann Ciret <mageia@zamiz.net>\n"
+"Language-Team: French <i18n-fr@ml.mageia.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.5\n"
+"Plural-Forms: nplurals=2;plural=(n>1);\n"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Avant d'aller plus loin, il est fortement recommandé de lire attentivement\n"
+"les termes et conditions d'utilisation de la licence. Celle-ci régit\n"
+"l'ensemble de la distribution Mageia. Si vous en acceptez tous les\n"
+"termes, cochez la case « %s », sinon, cliquez sur le bouton « %s » pour\n"
+"redémarrer votre ordinateur."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux est un système multi-utilisateurs, ce qui signifie généralement\n"
+"que chaque utilisateur peut avoir des préférences différentes, ses propres\n"
+"fichiers, etc. Contrairement à « root » qui a tous les droits, les\n"
+"utilisateurs que vous ajouterez ici n'auront que des permissions pour agir\n"
+"sur leurs propres fichiers exclusivement. L'utilisateur / administrateur\n"
+"devrait également se créer un compte « normal ». C'est à travers cet\n"
+"utilisateur que celui-ci devrait se connecter pour accomplir ses tâches\n"
+"quotidiennes. Car, bien qu'il soit pratique d'avoir tous les accès, cette\n"
+"situation peut également engendrer des situations désastreuses si un\n"
+"fichier est détruit par inadvertance. Un utilisateur normal n'ayant pas\n"
+"accès aux fichiers sensibles, ne peut causer de dommages majeurs.\n"
+"\n"
+"Il faut d'abord entrer le vrai nom de la personne. Évidemment, vous pouvez\n"
+"y inscrire n'importe quoi. DrakX prendra le premier mot inséré et le\n"
+"transposera comme « %s ». C'est le nom qui sera utilisé pour se connecter\n"
+"au système. Vous pouvez le modifier. Il faut maintenant entrer un mot de\n"
+"passe. Celui-ci n'est pas aussi crucial que le mot de passe de « root »,\n"
+"mais ce n'est pas une raison pour rentrer 123456. Après tout, ceci mettrait\n"
+"vos fichiers en péril.\n"
+"\n"
+"Après avoir cliqué sur « %s », il vous sera possible d'ajouter d'autres\n"
+"utilisateurs. Créez un utilisateur différent pour chaque personne devant\n"
+"utiliser votre ordinateur. Une fois chaque utilisateur défini, cliquez sur\n"
+"« %s ».\n"
+"\n"
+"En cliquant sur « %s », vous pourrez sélectionner un « shell » différent\n"
+"pour cet utilisateur (bash est assigné par défaut).\n"
+"\n"
+"Lorsque vous avez fini d'installer tous les utilisateurs, il vous est\n"
+"proposé de choisir un utilisateur qui sera automatiquement connecté lors du\n"
+"démarrage de l'ordinateur. Si cela vous intéresse (et que la sécurité\n"
+"locale ne soit pas trop un problème), choisissez l'utilisateur et le\n"
+"gestionnaire de fenêtres, puis cliquez sur « %s ». Si cela ne vous\n"
+"intéresse pas, décochez la case « %s »."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Nom d'utilisateur"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Accepter l'utilisateur"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voulez-vous utiliser cette fonctionnalité ?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"La liste présentée plus haut identifie les partitions GNU/Linux détectées\n"
+"sur votre système. Vous pouvez accepter les choix proposés par l'assistant,\n"
+"qui s'avèrent bons dans la grande majorité des cas. Si vous faites un\n"
+"changement, vous devez au moins avoir une partition racine root (« / »).\n"
+"Prenez garde de vous réserver suffisamment d'espace pour installer toutes\n"
+"les applications qui vous intéressent. Si vous souhaitez stocker les "
+"données\n"
+"des utilisateurs sur une partition spécifique, vous devrez également créer\n"
+"une partition « /home ». Cependant, ceci ne sera possible que si vous\n"
+"disposez de plus d'une partition GNU/Linux disponible.\n"
+"\n"
+"Chaque partition est listée comme suit : « Nom », « Capacité ».\n"
+"\n"
+"Le « Nom » est structuré ainsi : « type de disque dur », « numéro du disque\n"
+"dur », « numéro de partition ». Par exemple, « hda1 ».\n"
+"\n"
+"Le « type de disque dur » correspond à hd si votre disque est IDE. Pour un\n"
+"disque SCSI, vous lirez « sd ».\n"
+"\n"
+"Le « numéro du disque » est toujours listé après le « hd » ou « sd ». Pour "
+"les\n"
+"disques durs IDE :\n"
+"\n"
+" * « a » signifie « disque primaire maître sur le premier contrôleur IDE »;\n"
+"\n"
+" * « b » signifie le « disque primaire esclave sur le premier contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « c » indique le « disque primaire maître sur le second contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « d » signifie le « disque primaire esclave sur le second contrôleur\n"
+"IDE »;\n"
+"\n"
+"Avec les disques SCSI, le « a » indique le plus petit SCSI ID, et « b » le\n"
+"« deuxième plus petit ID », etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Les paquetages requis à l'installation de Mageia sont distribués sur\n"
+"plusieurs CD-ROM. Si un paquetage requis se trouve sur un autre CD-ROM,\n"
+"DrakX éjectera celui présent dans le lecteur et vous demandera d'insérer le\n"
+"CD-ROM approprié. Si vous ne possédez pas le CD demandé, cliquez tout\n"
+"simplement sur « %s », et les paquetages correspondants ne seront pas\n"
+"installés."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"C'est maintenant le moment de choisir les paquetages qui seront installés\n"
+"sur votre système. Sachez que Mageia contient plusieurs milliers de\n"
+"paquetages à installer, et ces paquetages ont été rangés par groupes chacun\n"
+"correspondant à un usage particulier de l'ordinateur.\n"
+"\n"
+"Mageia range ces groupes en quatre catégories. Vous pouvez mélanger\n"
+"des groupes de plusieurs catégories de sorte qu'« une station de travail »\n"
+"peut toujours proposer des applications pour la catégorie « Serveur ».\n"
+"\n"
+" * « %s » : si vous comptez utiliser votre machine ainsi, sélectionner un\n"
+"ou plusieurs groupes y correspondant.\n"
+"\n"
+" * « %s » : si votre système doit être utilisé pour la programmation,\n"
+"choisissez les groupes désirés. Le groupe spécial « LSB » configurera votre\n"
+"système de manière à ce qu'il corresponde le plus possible\n"
+"aux spécifications Linux Standard Base.\n"
+"\n"
+" Si vous choisissez le groupe « LSB », cela assurera une compatibilité\n"
+"LSB maximale. Cependant, si vous ne sélectionnez pas ce groupe « LSB »\n"
+"vous aurez quand même un système presque entièrement compatible LSB.\n"
+"\n"
+" * « %s » : si votre système doit fonctionner en tant que serveur,\n"
+"vous pourrez sélectionner les services que vous voulez installer.\n"
+"\n"
+" * « %s » : ce groupe vous permettra de déterminer quel environnement\n"
+"graphique vous voulez avoir sur votre système. Évidemment, il vous en faut\n"
+"au moins un pour utiliser votre station en mode graphique.\n"
+"\n"
+"En plaçant votre souris au-dessus d'un nom de groupe, vous verrez\n"
+"apparaître une courte description de ce groupe.\n"
+"\n"
+"Vous pouvez cocher l'option « %s ». Cette option est à utiliser si vous\n"
+"connaissez exactement le paquetage désiré ou si vous voulez avoir le\n"
+"contrôle total de votre installation.\n"
+"\n"
+"Si vous avez démarré l'installation en mode « %s », vous pouvez\n"
+"« désélectionner » tous les groupes afin d'éviter l'installation de\n"
+"nouveaux programmes. Cette option est très utile pour restaurer un système\n"
+"défectueux ou le mettre à jour.\n"
+"\n"
+"Si vous désélectionnez tous les groupes lors d'une installation standard\n"
+"(en opposition à une mise à jour), une boîte de dialogue apparaîtra et vous\n"
+"proposera différentes options pour une installation minimale :\n"
+"\n"
+" * « %s » : installe le moins de paquetages possible pour avoir un\n"
+"environnement de travail graphique ;\n"
+"\n"
+" * « %s » : installe le système de base plus certains utilitaires de base\n"
+"et leur documentation. Cette installation est utilisable comme base pour\n"
+"monter un serveur ;\n"
+"\n"
+" * « %s » : installera le strict minimum nécessaire pour obtenir un système\n"
+"GNU/Linux fonctionnel, en ligne de commande. Cette installation prend à peu\n"
+"près 65 Mo."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Mise à jour"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Avec la documentation de base"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installation réellement minimale"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Si vous avez choisi de sélectionner individuellement les paquetages\n"
+"à installer, DrakX vous présentera un arbre contenant tous les paquetages,\n"
+"classés par groupes et sous-groupes. En navigant à travers l'arbre, vous\n"
+"pouvez sélectionner des groupes, des sous-groupes ou des paquetages\n"
+"individuels.\n"
+"\n"
+"Dès que vous sélectionnez un paquetage dans l'arbre, une description\n"
+"apparaît à droite.\n"
+"\n"
+"!! Si un paquetage serveur a été sélectionné, vous devrez confirmer que\n"
+"vous voulez vraiment que celui-ci soit installé. Sous Mageia , par\n"
+"défaut, tous les services installés sont lancés au démarrage. Malgré tous\n"
+"les efforts investis pour vous livrer une distribution Linux sécurisée, il\n"
+"est possible que certaines failles de sécurité affectent les serveurs\n"
+"installés au-delà de la date de publication. Si vous ne savez pas\n"
+"précisément à quoi sert un service en particulier ou pourquoi il est\n"
+"installé, cliquez sur « %s ». En cliquant sur « %s », les services listés\n"
+"seront installés et rendus disponible au démarrage. !!\n"
+"\n"
+"L'option « %s » désactive les avertissements qui apparaissent à chaque fois\n"
+"que l'installeur sélectionne un nouveau paquetage. Parfois, pour qu'un\n"
+"paquetage soit fonctionnel, il faut en installer un autre dont il est\n"
+"dépendant. DrakX détermine ces dépendances entre paquetages pour une\n"
+"installation complète.\n"
+"\n"
+"La petite icône de disquette qui apparaît au bas de la liste permet de\n"
+"récupérer une liste de paquetages sélectionnés durant une autre\n"
+"installation. En cliquant dessus, on vous demandera d'insérer la disquette\n"
+"créée lors d'une installation précédente. Voir la deuxième astuce de la\n"
+"dernière étape afin de savoir comment créer une telle disquette."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dépendances automatiques"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Vous pouvez maintenant choisir les services disponibles au démarrage de\n"
+"votre système.\n"
+"\n"
+"Ici sont présentés tous les services disponibles avec l'installation en\n"
+"place. Faites une bonne vérification et enlevez tout ce qui n'est pas\n"
+"absolument nécessaire au démarrage du système.\n"
+"\n"
+"Vous pouvez obtenir une courte explication des services en les\n"
+"sélectionnant spécifiquement. Cela dit, si vous n'êtes pas sûr de\n"
+"l'application d'un service, conservez les paramètres par défaut.\n"
+"\n"
+"!! À cette étape, soyez particulièrement attentif dans le cas d'un système\n"
+"destiné à agir comme serveur. Dans ce cas, vous voudrez probablement\n"
+"permettre exclusivement les services nécessaires. Souvenez-vous que\n"
+"certains services peuvent s'avérer dangereux s'il sont activés sur un\n"
+"serveur. En général, n'installez que les services dont vous avez absolument\n"
+"besoin. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manipule l'heure au format GMT (« Greenwich Mean Time ») et la\n"
+"convertit en temps local selon le fuseau horaire choisi. Il est néanmoins\n"
+"possible de désactiver cela en désélectionnant « %s » de façon à ce que\n"
+"GNU/Linux sache que l'horloge matérielle est la même que celle du système.\n"
+"Cela est particulièrement utile si la machine accueille un autre système\n"
+"d'exploitation.\n"
+"\n"
+"La « %s » permet de régler l'heure automatiquement en se connectant à un\n"
+"serveur de temps sur Internet. Dans la liste qui est alors présentée,\n"
+"choisissez un serveur géographiquement proche de vous. Vous devez bien\n"
+"entendu avoir une connexion Internet pour que cela fonctionne. Cela\n"
+"installera en fait sur votre machine un serveur de temps local qui pourra,\n"
+"en option, être lui-même utilisé par d'autres machines de votre réseau\n"
+"local."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Horloge matérielle réglée sur GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Synchronisation automatique de l'horloge"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Carte graphique\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement la\n"
+"carte graphique présente sur votre machine. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste la carte que vous utilisez effectivement.\n"
+"\n"
+" Dans le cas où différents serveurs seraient disponibles pour votre\n"
+"carte, avec ou sans accélération 3D, il vous est alors proposé de choisir\n"
+"le serveur qui vous conviendra le mieux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (pour le système X Window) est le coeur de votre interface graphique sous\n"
+"GNU/Linux. Tous les environnements graphiques (KDE, GNOME, WindowMaker\n"
+"etc.) présents sur Mageia dépendent de X.\n"
+"\n"
+"Il vous sera présenté une liste de divers paramètres à changer pour obtenir\n"
+"un affichage optimal :\n"
+"\n"
+"Carte graphique\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement la\n"
+"carte graphique présente sur votre machine. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste la carte que vous utilisez effectivement.\n"
+"\n"
+" Dans le cas où différents serveurs seraient disponibles pour votre\n"
+"carte, avec ou sans accélération 3D, il vous est alors proposé de choisir\n"
+"le serveur qui vous conviendra le mieux.\n"
+"\n"
+"\n"
+"\n"
+"Moniteur\n"
+"\n"
+" Normalement le programme d'installation détecte et configure\n"
+"automatiquement les moniteurs connectés à votre machine. Si ce\n"
+"n'est pas le cas, vous pouvez choisir dans cette liste le moniteur que\n"
+"vous utilisez effectivement.\n"
+"\n"
+"\n"
+"\n"
+"Résolution\n"
+"\n"
+" Vous pouvez choisir ici la résolution et nombre de couleurs parmi celles\n"
+"disponibles pour votre matériel. Choisissez la configuration optimale pour\n"
+"votre utilisation (vous pourrez néanmoins modifier cela après\n"
+"l'installation). Un exemple de la configuration choisie apparaît dans\n"
+"le dessin du moniteur.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Selon votre matériel cette option peut ne pas apparaître.\n"
+"\n"
+" le système va ici essayer d'ouvrir un écran graphique à la résolution\n"
+"choisie. Si vous pouvez voir le message pendant le test, et répondez\n"
+"« %s », alors DrakX passera à l'étape suivante. Si vous ne pouvez pas voir\n"
+"de message, cela signifie que vos paramètres sont incompatibles, et le test\n"
+"se terminera automatiquement après 12 secondes et vous ramènera au\n"
+"menu. Changez la configuration jusqu'à obtenir un affichage correct lors\n"
+"du test.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" Vous pourrez choisir ici de démarrer l'interface graphique au\n"
+"lancement de la machine. Il est préférable de choisir « %s » si vous êtes\n"
+"en train d'installer un serveur, ou si vous n'avez pas réussi à configurer\n"
+"l'écran correctement."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Moniteur\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement les\n"
+"moniteurs connectés à votre unité centrale. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste le moniteur que vous utilisez\n"
+"effectivement."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Résolution\n"
+"\n"
+" Vous pouvez choisir ici la résolution et nombre de couleurs parmi celles\n"
+"disponibles pour votre matériel. Choisissez la configuration optimale pour\n"
+"votre utilisation (vous pourrez néanmoins modifier cela après\n"
+"l'installation). Un échantillon de la configuration choisie apparaît dans\n"
+"le dessin du moniteur."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Dans le cas où différents serveurs seraient disponibles pour votre carte,\n"
+"avec ou sans accélération 3D, il vous est alors proposé de choisir le\n"
+"serveur qui vous conviendra le mieux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Options\n"
+"\n"
+" Vous pourrez également choisir ici de démarrer l'interface graphique au\n"
+"lancement de la machine. Il est préférable de choisir « %s » si vous êtes\n"
+"en train d'installer un serveur, ou si vous n'avez pas réussi à configurer\n"
+"l'écran correctement."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Cette étape vous permet de déterminer précisément l'emplacement de votre\n"
+"installation de Mageia. Si votre disque est vide ou utilisé par un\n"
+"autre système d'exploitation, vous devrez repartitionner votre disque.\n"
+"Partitionner un disque désigne l'opération consistant à le diviser\n"
+"logiquement afin de créer un espace pour votre installation.\n"
+"\n"
+"Comme les effets du partitionnement sont généralement irréversibles, \n"
+"le partitionnement est généralement intimidant et stressant pour un\n"
+"utilisateur inexpérimenté. Heureusement, un assistant a été prévu à cet\n"
+"effet. Avant de commencer, lisez le reste de ce document et surtout, \n"
+"prenez votre temps.\n"
+"\n"
+"Selon la configuration de votre disque, plusieurs options sont "
+"disponibles :\n"
+"\n"
+"\n"
+" * « %s » : cette option tentera de partitionner automatiquement l'espace\n"
+"inutilisé sur votre disque. Il n'y aura pas d'autre question.\n"
+"\n"
+" * « %s » : l'assistant a détecté une ou plusieurs partitions Linux\n"
+"existantes sur votre disque. Si vous voulez les utiliser, choisissez cette\n"
+"option. Il vous sera alors demandé de choisir les points de montage\n"
+"associés à chacune des partitions. Les anciens points de montage sont\n"
+"sélectionnés par défaut, et vous devriez généralement les garder.\n"
+"\n"
+" * « %s » : si Microsoft Windows est installé sur votre disque et en prend\n"
+"toute la place, vous devez faire de la place pour votre installation\n"
+"GNU/Linux. Pour ce faire, vous pouvez tout effacer (voir « effacer tout le\n"
+"disque ») ou vous pouvez redimensionner la partition Windows FAT ou NTFS.\n"
+"Le redimensionnement peut être effectué sans pertes de données, à condition\n"
+"que vous ayez préalablement défragmenté la partition Windows. Une\n"
+"sauvegarde de vos données ne fera pas de mal non plus. Cette solution est\n"
+"recommandée pour faire cohabiter Mageia et Microsoft Windows sur le\n"
+"même ordinateur.\n"
+"\n"
+" Avant de choisir cette option, il faut comprendre qu'après cette\n"
+"procédure l'espace disponible pour Windows sera réduit. Vous aurez moins\n"
+"d'espace pour installer des logiciels ou sauvegarder de l'information avec\n"
+"Windows.\n"
+"\n"
+" * « %s » : si vous voulez effacer toutes les données et les applications\n"
+"installées sur votre système et les remplacer par votre nouveau système\n"
+"Mageia, choisissez cette option. Soyez prudent, car ce choix est\n"
+"irréversible et permanent une fois confirmé. Il vous sera impossible de\n"
+"retrouver vos données effacées.\n"
+"\n"
+" !! En choisissant cette option, l'ensemble du contenu de votre disque\n"
+"sera détruit. !!\n"
+"\n"
+" * « %s » : ce choix apparaît lorsque l'intégralité du disque dur est "
+"occupé\n"
+"par Microsoft Windows. Choisir cette option effacera tout simplement ce que\n"
+"contient le disque et recommencera à zéro. Toutes les données et les\n"
+"programmes présents sur le disque seront effacés.\n"
+"\n"
+" !! En choisissant cette option, l'ensemble de votre disque sera effacé\n"
+"et les données perdues. !!\n"
+"\n"
+" * « %s » : permet de partitionner manuellement votre disque. Soyez\n"
+"prudent, car bien que plus puissante, cette option est dangereuse. Vous\n"
+"pouvez facilement perdre l'ensemble du contenu d'un disque. Donc, ne\n"
+"choisissez pas cette option si vous ne savez pas exactement ce que vous\n"
+"devez faire. Pour en savoir plus sur DiskDrake, référez-vous à « Gérer ses\n"
+"partitions » du « Guide de démarrage »."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Utiliser une partition existante"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Utiliser l'espace libre de la partition Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Effacer tout le disque"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Votre installation de Mageia est maintenant terminée et votre\n"
+"système est prêt à être utilisé. Cliquez sur « %s » pour le redémarrer.\n"
+"N'oubliez pas de retirer la source d'installation(CD-ROM ou disquette).\n"
+"La première chose que vous verrez alors, après que l'ordinateur ait \n"
+"fait ses propres tests matériels, est le menu de démarrage permettant\n"
+"de choisir quel système lancer parmi ceux présents sur votre machine.\n"
+"\n"
+"Le bouton « %s » permet deux autres options :\n"
+"\n"
+" * « %s » : Pour créer une disquette d'installation qui permettra de\n"
+"reproduire l'installation que vous venez de réaliser sans l'aide d'un\n"
+"administrateur.\n"
+"\n"
+" Notez que les deux options suivantes apparaissent après avoir cliqué sur\n"
+"le bouton :\n"
+"\n"
+" * « %s ». C'est une installation partiellement automatique où il est\n"
+"possible de personnaliser le partitionnement du disque (exclusivement).\n"
+"\n"
+" * « %s ». Complètement automatique, cette installation reformate le\n"
+"disque au complet.\n"
+"\n"
+" Cette fonctionnalité est pratique pour l'installation de multiples\n"
+"systèmes. Voir la section Auto install de notre site Internet.\n"
+"\n"
+" * « %s » (*) sauvegarde la sélection des paquetages installés. Puis,\n"
+"lorsque vous ferez une autre installation, insérez la disquette dans le\n"
+"lecteur et accédez au menu d'aide en tapant [F1], entrez la commande\n"
+"suivante : « linux defcfg=\"floppy\" »et appuyez sur la touche [Entrée].\n"
+"\n"
+"(*) Vous avez besoin d'une disquette formatée avec FAT (pour la créer sous\n"
+"Linux, tapez « mformat a: » ou « fdformat /dev/fd0 » suivi de « mkfs.vfat\n"
+"/dev/fd0 »)"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Créer une disquette d'installation automatique"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Refaire"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatisé"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Sauvegarder la sélection des paquetages"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si vous choisissez de réutiliser des partitions GNU/Linux existantes, vous\n"
+"pouvez en reformater quelques unes et effacer les données présentes. Vous\n"
+"devrez alors les sélectionner.\n"
+"\n"
+"Sachez qu'il n'est pas nécessaire de reformater toutes les partitions\n"
+"existantes. Vous devez formater les partitions contenant le système\n"
+"d'exploitation (comme « / », « /usr » ou « /var », mais il n'est pas\n"
+"nécessaire de formater les partitions de données, notamment « /home »...\n"
+"\n"
+"Soyez prudent. Une fois que les partitions sélectionnées seront\n"
+"reformatées, il sera impossible de récupérer les données.\n"
+"\n"
+"Cliquez sur « %s » lorsque vous êtes prêt à formater les partitions.\n"
+"\n"
+"Cliquez sur « %s » pour choisir une autre partition où installer votre\n"
+"nouveau système d'exploitation Mageia.\n"
+"\n"
+"Cliquez sur « %s » si vous désirez sélectionner des partitions pour une\n"
+"vérification des secteurs défectueux (« Bad Blocks »)."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Au moment où vous installez Mageia, il est possible que certains\n"
+"paquetages aient été mis à jour depuis la sortie du produit. Des bogues ont\n"
+"pu être corrigés, et des problèmes de sécurité résolus. Pour vous permettre\n"
+"de bénéficier de ces mises à jour, il vous est maintenant proposé de les\n"
+"télécharger depuis Internet. Choisissez « %s » si vous avez une connexion\n"
+"Internet, ou « %s » si vous préférez installer les mises à jour plus tard.\n"
+"\n"
+"En choisissant « %s », la liste des sites depuis lesquels les mises à jour\n"
+"peuvent être téléchargées est affichée. Choisissez le site le plus proche\n"
+"de chez vous. Puis un arbre de choix des paquetages apparaît : vérifiez la\n"
+"sélection, puis cliquez sur « %s » pour télécharger et installer les mises\n"
+"à jour sélectionnées, ou « %s » pour abandonner."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"À cette étape, DrakX vous permettra de déterminer le niveau de sécurité\n"
+"requis par votre système. Il se détermine en fonction de l'exposition du\n"
+"système à d'autres utilisateurs (s'il est connecté directement sur\n"
+"Internet, par exemple) et selon le niveau de sensibilité de l'information\n"
+"contenue dans le système. Sachez toutefois que plus la sécurité d'un\n"
+"système est élevée, plus il est complexe à utiliser.\n"
+"\n"
+"Si vous ne savez pas quel niveau choisir, gardez la sélection par défaut.\n"
+"Vous pourrez le modifier ultérieurement avec l'outil draksec, qui se trouve\n"
+"dans le Centre de Contrôle Mageia.\n"
+"\n"
+"Remplissez le champ « %s » avec l'adresse électronique de l'utilisateur qui\n"
+"sera responsable de la sécurité. Les messages de sécurité lui seront\n"
+"adressés."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrateur sécurité"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"À cette étape, vous devez sélectionner quelle partition sera utilisée pour\n"
+"votre système Mageia. Si votre disque est déjà partitionné, soit par\n"
+"une autre installation GNU/Linux ou par un autre outil de partitionnement,\n"
+"vous pourrez utiliser les partitions existantes. Sinon, elles devront être "
+"créées.\n"
+"\n"
+"Pour créer une partition, vous devez d'abord sélectionner le disque à\n"
+"utiliser. Vous pouvez le sélectionner en cliquant sur « hda » pour le\n"
+"premier disque IDE, « hdb », pour le second, « sda » pour le premier disque\n"
+"SCSI, et ainsi de suite.\n"
+"\n"
+"Pour partitionner le disque dur sélectionné, vous pouvez utiliser les\n"
+"options suivantes :\n"
+"\n"
+" * « %s » : cette option effacera toutes les partitions sur le disque\n"
+"sélectionné ;\n"
+"\n"
+" * « %s » : cette option permet de créer des partitions ext4 et\n"
+"« swap » dans l'espace libre sur votre disque ;\n"
+"\n"
+"« %s » : permet d'accéder à des fonctionnalités supplémentaires :\n"
+"\n"
+" * « %s » : sauvegarde la table de partition sur un disque amovible. Cette\n"
+"option s'avère particulièrement pratique pour réparer des partitions\n"
+"endommagées. Il est fortement recommandé de procéder ainsi ;\n"
+"\n"
+" * « %s » : permet de restaurer une table de partition sauvegardée au\n"
+"préalable sur une disquette.\n"
+"\n"
+" * « %s » : si votre table de partition est endommagée, vous pouvez essayer\n"
+"de la récupérer avec ces options. Soyez prudent et sachez que cela ne\n"
+"fonctionne pas à coup sûr.\n"
+"\n"
+" * « %s » : annule les changements et charge la table de partition "
+"initiale ;\n"
+"\n"
+" * « %s » : en cochant cette case, les CD-ROM et disquettes (et autres\n"
+"supports amovibles) seront chargés automatiquement.\n"
+"\n"
+" * « %s » : utilisez cette option si vous souhaitez utiliser un assistant\n"
+"pour partitionner votre disque. Cette option est particulièrement\n"
+"recommandée si vous faites vos premiers pas avec les partitions.\n"
+"\n"
+" * « %s » : utilisez cette option pour annuler vos changements ;\n"
+"\n"
+" * « %s » : permet des actions supplémentaires sur les partitions (type,\n"
+"options, format) et donne plus d'informationssur le disque ;\n"
+"\n"
+" * « %s » : une fois le partitionnement terminé, ce bouton vous permettra "
+"de\n"
+"sauvegarder vos changements sur le disque.\n"
+"\n"
+"Lorsque vous définissez la taille d'une partition, vous pouvez choisir\n"
+"précisément la taille de celle-ci en utilisant les Flèches de votre\n"
+"clavier.\n"
+"\n"
+"Note : vous pouvez atteindre toutes les options en utilisant le clavier.\n"
+"Naviguer avec les flèches [haut/bas] et [Tab].\n"
+"\n"
+"Une fois la partition sélectionnée, vous pouvez utiliser :\n"
+"\n"
+" * Ctrl-c pour créer un nouvelle partition (lorsqu'une partition vide est\n"
+"sélectionnée ;\n"
+"\n"
+" * Ctrl-d pour effacer une partition ;\n"
+"\n"
+" * Ctrl-m pour définir le « point de montage »\n"
+"\n"
+"Pour obtenir plus d'informations sur les systèmes de fichiers, veuillez "
+"lire\n"
+"le chapitre sur le système de fichier ext2FS dans le « Manuel de\n"
+"Référence ».\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Sauvegarder la table des partitions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaurer la table des partitions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Dépanner la table des partitions"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Auto-montage des périphériques amovibles"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Assistant"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Défaire"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Basculer entre les modes expert et normal"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Plus d'une partition Windows a été détectée sur votre disque dur. Veuillez\n"
+"choisir celle que vous voulez redimensionner pour votre nouvelle "
+"installation\n"
+"de Mageia.\n"
+"\n"
+"Chaque partition est identifiée comme suit : « Nom Linux », « Nom "
+"Windows »,\n"
+"« Capacité ».\n"
+"\n"
+"Le « Nom Linux » est structuré ainsi : « type de disque dur », « numéro du\n"
+"disque dur », « numéro de partition ». Par exemple, « hda1 ».\n"
+"\n"
+"Le « Type de disque dur » correspond à « hd » si votre disque est IDE. Pour "
+"un\n"
+"disque SCSI, vous aurez « sd ».\n"
+"\n"
+"Le numéro du disque est toujours listé après le « hd » ou « sd ». Pour les\n"
+"disques IDE :\n"
+"\n"
+" * « a » signifie « disque maître sur le premier contrôleur IDE »;\n"
+"\n"
+" * « b » signifie « disque esclave sur le premier contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « c » indique « disque maître sur le second contrôleur IDE »;\n"
+"\n"
+" * « d » signifie « disque esclave sur le second contrôleur IDE »;\n"
+"\n"
+"Avec les disques SCSI, le « a » indique le plus petit ID SCSI, et ainsi de\n"
+"suite.\n"
+"\n"
+"Le « Nom Windows » est la lettre assignée à votre disque sous\n"
+"Windows (le premier disque ou partition est appelé « C: »)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"« %s » : vérifiez la sélection du pays. Si vous ne vous trouvez pas dans ce\n"
+"pays, cliquez sur le bouton « %s » et choisissez le bon. Si votre pays ne\n"
+"se trouve pas dans la première liste, cliquez sur « %s » pour avoir la\n"
+"liste complète."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Cette étape ne s'affichera que si une partition GNU/Linux a été détectée\n"
+"sur votre disque dur.\n"
+"\n"
+"DrakX doit maintenant savoir si vous désirez lancer une « Installation » ou "
+"une\n"
+"« Mise à jour » d'un système Mageia déjà installé :\n"
+"\n"
+" * « %s » : remplace l'ancien système. Cependant, selon votre table de\n"
+"partition, vous pourrez éviter l'effacement de vos données existantes\n"
+"(notamment les répertoires « home »). Si vous souhaitez changer le\n"
+"partitionnement de vos disques durs, ou changer votre système de fichiers,\n"
+"vous devriez utiliser cette option.\n"
+"\n"
+" * « %s » : cette classe d'installation vous permet de mettre à jour\n"
+"seulement les paquetages qui composent votre système Mageia. Elle\n"
+"conserve les partitions existantes, ainsi que la configuration des\n"
+"utilisateurs. La plupart des autres étapes d'une installation classique\n"
+"sont accessibles.\n"
+"\n"
+"La mise à jour devrait fonctionner correctement pour les systèmes\n"
+"Mageia à partir de la version « 2 »."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Selon la langue principale que vous avez choisie précédemment (), DrakX\n"
+"sélectionnera le clavier approprié. Vérifiez que cela correspond\n"
+"effectivement à votre configuration de clavier ou choisissez une autre\n"
+"configuration dans la liste.\n"
+"\n"
+"Cela dit, il est possible que vous ayez un clavier ne correspondant pas\n"
+"exactement à votre langue d'utilisation. Par exemple, si vous habitez le\n"
+"Québec et parlez le français et l'anglais, vous pouvez vous trouver dans la\n"
+"situation où votre langue et votre configuration de clavier ne sont pas les\n"
+"mêmes. Dans ces cas, cette étape vous permet de sélectionner un autre\n"
+"clavier à partir de la liste.\n"
+"\n"
+"Cliquez sur « %s » pour voir toutes les options proposées.\n"
+"\n"
+"Si vous choisissez un clavier basé sur un alphabet non-latin, il vous sera\n"
+"demandé de choisir la combinaison de touches permettant d'alterner entre\n"
+"ceux-ci au prochain écran."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"La première étape consiste à choisir votre langue.\n"
+"\n"
+"Le choix de la langue sera appliqué au programme d'installation, à la\n"
+"documentation et au système en général. Commencez par choisir la région où\n"
+"vous vous situez, puis la langue que vous parlez.\n"
+"\n"
+"En cliquant sur « %s », le programme vous proposera également des langues\n"
+"complémentaires pouvant être installées sur votre poste de travail. En\n"
+"choisissant des langues supplémentaires, le programme vous installera toute\n"
+"la documentation et les applications nécessaires à l'utilisation de ces\n"
+"langues. Par exemple, si vous prévoyez d'accueillir des utilisateurs\n"
+"espagnols sur votre machine, choisissez le français comme langue principale\n"
+"dans l'arborescence, et « %s », dans la section avancée.\n"
+"\n"
+"À propos de l'encodage UTF-8 (unicode) : Unicode est un nouveau système\n"
+"d'encodage des caractères censé couvrir toutes les langues existantes.\n"
+"Cependant son intégration dans GNU/Linux est encore imparfaite. Pour cette\n"
+"raison, Mageia l'utilisera ou non selon les critères suivants :\n"
+"\n"
+" * Si vous choisissez une langue avec un encodage ayant une longue histoire\n"
+"(langues associées à « latin1 », Russe, Japonais, Chinois, Coréen, Thaï,\n"
+"Grec, Turc, et la plupart des langues « iso-8859-2 »), l'encodage\n"
+"historique sera utilisé ;\n"
+"\n"
+" * Les autres langues entraîneront l'utilisation d'unicode par défaut ;\n"
+"\n"
+" * Si vous demandez l'installation de plus d'une langue, et que ces langues\n"
+"n'utilisent pas le même encodage, alors unicode sera utilisé pour tout le\n"
+"système ;\n"
+"\n"
+" * Enfin, unicode peut aussi être utilisé quelque soit votre configuration\n"
+"des langues à utiliser, en sélectionnant l'option « %s ».\n"
+"\n"
+"Remarquez que vous n'êtes pas limité à une langue supplémentaire. Vous\n"
+"pouvez en choisir plusieurs, ou même les installer toutes en choisissant\n"
+"« %s ». Choisir le support pour une langue signifie ajouter les\n"
+"traductions, les polices, correcteurs orthographiques, etc.\n"
+"\n"
+"Pour passer d'une langue à l'autre, vous pouvez lancer l'utilitaire\n"
+"« /usr/sbin/localedrake » en tant que « root » pour changer la langue\n"
+"utilisée dans tout le système ; connectez-vous en simple utilisateur pour\n"
+"changer la langue uniquement pour cet utilisateur."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espagnol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Utiliser Unicode par défaut"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX détecte généralement le nombre de boutons de votre souris. Sinon, il\n"
+"prend pour acquis que vous avez une souris à deux boutons et configurera\n"
+"l'émulation du troisième bouton. Le troisième bouton correspond aux clics\n"
+"simultanés du bouton gauche et du bouton droit de la souris. De plus, DrakX\n"
+"saura automatiquement si vous avez une souris PS/2, série ou USB.\n"
+"\n"
+"Si vous avez une souris à trois boutons sans molette, vous pouvez choisir\n"
+"une souris « %s ». DrakX configurera alors la souris de manière à simuler\n"
+"une molette : pour ce faire, cliquez sur le bouton du milieu et faites\n"
+"bouger votre souris de haut en bas.\n"
+"\n"
+"Si vous désirez installer une souris différente, veuillez la sélectionner à\n"
+"partir de la liste qui vous est proposée.\n"
+"\n"
+"Vous pouvez sélectionner une souris « %s » qu'elle soit PS/2 ou USB pour\n"
+"choisir un type de souris générique qui fonctionne avec presque tout.\n"
+"\n"
+"Si vous sélectionnez une souris différente de celle choisie par défaut,\n"
+"DrakX vous présentera un écran de test. Utilisez les boutons et la molette\n"
+"pour vous assurer que tout fonctionne correctement. Si votre souris ne\n"
+"fonctionne pas normalement, appuyez sur la barre d'espace ou la touche\n"
+"[Entrée] pour annuler le test et retourner à la liste de choix de la\n"
+"souris.\n"
+"\n"
+"Parfois, les souris à molette ne sont pas détectées automatiquement, vous\n"
+"devrez alors sélectionner manuellement une souris dans la liste. Assurez\n"
+"vous de choisir celle qui correspond au bon port de connexion. Après avoir\n"
+"sélectionné la souris et pressé le bouton « %s », une image de souris\n"
+"apparaît. Vous devez alors faire tourner la molette afin de l'activer\n"
+"correctement. Après activation, vous verrez la molette de l'écran bouger.\n"
+"Testez alors que tous les mouvements et boutons fonctionnent correctement."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "avec émulation de la molette"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universelle | N'importe quelle souris PS/2 ou USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Sélectionnez le bon port. Par exemple : l'équivalent du port « COM1 » sur\n"
+"Windows, se nomme « ttyS0 » sous GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un programme d'amorce est un petit programme qui est lancé par la machine\n"
+"au démarrage. Il est en charge du démarrage du sytème. Normalement,\n"
+"l'installation d'un programme d'amorce est complètement automatique. DrakX\n"
+"analyse le secteur de démarrage (« master boot record ») et agit en\n"
+"fonction de ce qu'il peut y lire :\n"
+"\n"
+" * si un secteur de démarrage Windows est détecté, il sera remplacé par\n"
+"GRUB/LILO. Donc, vous serez capable de démarrer GNU/Linux ou tout autre\n"
+"système d'exploitation installé sur votre machine.\n"
+"\n"
+" * si GRUB ou LILO est détecté, il sera remplacé par la nouvelle version;\n"
+"\n"
+"En cas de doute, DrakX affiche différentes options. En général, le « %s »\n"
+"est l'endroit le plus sûr. Si vous choisissez « %s », aucun chargeur de\n"
+"démarrage ne sera installé. À vos risques et périls."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Maintenant, il faut choisir un système d'impression pour votre ordinateur.\n"
+"D'autres systèmes d'exploitation en offrent un, mais Mageia en propose\n"
+"deux. Chaque système d'impression convient mieux à un type différent\n"
+"de configuration.\n"
+"\n"
+" * « %s » - qui veut dire « print, do not queue », (ou, impression sans\n"
+"passer par la file d'attente) est un bon choix si votre imprimante est\n"
+"branchée directement sur votre poste, que vous voulez pouvoir arrêter\n"
+"l'impression directement en cas de problème et que vous n'avez pas\n"
+"d'imprimante réseau. « %s » prendra en charge des configurations simples\n"
+"en réseau, mais les performances sont plutôt mauvaises dans ces cas.\n"
+"Choisissez « pdq » si vous débutez sous GNU/Linux.\n"
+"\n"
+" * « %s » - « Common Unix Printing System », est fabuleux autant pour une\n"
+"imprimante locale que pour imprimer à l'autre bout du monde. C'est simple\n"
+"à configurer et il peut agir comme un serveur ou un client avec l'ancien\n"
+"système d'impression « lpd ». De ce fait il est compatible avec les anciens\n"
+" systèmes d'exploitations qui nécessitent encore un service d'impression. "
+"Il\n"
+"s'agit d'un outil très puissant et les configurations de base sont aussi "
+"simples\n"
+"que « pdq ». Pour émuler un serveur « lpd », lancez le démon (« daemon »)\n"
+"« cups-lpq ». « %s » offre une interface graphique simple pour imprimer,\n"
+"choisir les options d'impression et administrer les imprimantes.\n"
+"\n"
+"Si vous choisissez votre système d'impression maintenant et que par la "
+"suite\n"
+"vous n'en êtes pas content, vous pourrez le changer ultérieurement en\n"
+"lançant PrinterDrake depuis le Centre de contrôle Mageia en cliquant sur le\n"
+"bouton « %s »."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX détecte maintenant tous les périphériques IDE présents sur votre\n"
+"système. DrakX recherchera aussi les périphériques SCSI. Enfin, selon les\n"
+"composantes détectées, DrakX installera tous les pilotes nécessaires à son\n"
+"fonctionnement.\n"
+"\n"
+"Compte tenu de la vaste gamme de périphériques disponibles sur le marché,\n"
+"dans certains cas la détection de matériel ne fonctionnera pas. Si c'est le\n"
+"cas, vous devrez alors configurer votre matériel à la main.\n"
+"\n"
+"Si vous devez configurer votre carte SCSI manuellement, DrakX vous\n"
+"demandera si vous souhaitez spécifier à la main les options du\n"
+"périphérique. Laissez en fait DrakX chercher automatiquement les options\n"
+"nécessaires à la configuration de votre carte, cela fonctionne\n"
+"généralement.\n"
+"\n"
+"Il peut arriver que DrakX soit incapable de vérifier les options\n"
+"nécessaires. Dans ce cas, vous devrez les déterminer manuellement."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"« %s » : si une carte son a été détectée, elle apparaîtra ici. Si vous\n"
+"remarquez que la carte configurée n'est pas celle qui se trouve\n"
+"effectivement sur votre système, vous pouvez cliquer sur le bouton pour\n"
+"choisir un pilote différent ."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Voici les informations recueillies par DrakX sur la configuration actuelle.\n"
+"Selon le matériel installé, certaines entrées seront présentes et d'autres\n"
+"pas. Chaque paramètre est constitué du nom du matériel installé, suivi d'un\n"
+"court résumé de la configuration actuelle. Cliquez sur le bouton « %s »\n"
+"correspondant pour effectuer un changement.\n"
+"\n"
+" * « %s » : vérifiez la configuration choisie pour le clavier.\n"
+"\n"
+" * « %s » : vérifiez la sélection du pays. Si vous ne vous trouvez pas dans\n"
+"ce pays, cliquez sur le bouton « %s » et choisissez le bon. Si votre pays\n"
+"ne se trouve pas dans la première liste, cliquez sur « %s » pour avoir la\n"
+"liste complète.\n"
+"\n"
+" * « %s » : par défaut, DrakX configure le fuseau horaire selon le pays\n"
+"dans lequel vous vous trouvez. Cliquez sur le bouton « %s » si ce n'est pas\n"
+"le bon.\n"
+"\n"
+" * « %s » : pour vérifier la configuration actuelle de la souris. Cliquez\n"
+"sur le bouton pour modifier les options.\n"
+"\n"
+" * « %s » : si une carte son a été détectée, elle apparaîtra ici. Si vous\n"
+"remarquez que la carte configurée n'est pas celle qui se trouve\n"
+"effectivement sur votre système, vous pouvez cliquer sur le bouton pour\n"
+"choisir un pilote différent .\n"
+"\n"
+" * « %s » : si une carte d'entrée/sortie vidéo (carte TV) a été détectée,\n"
+"elle apparaîtra ici. Si vous avez une carte TV et qu'elle n'a pas été\n"
+"détectée, cliquez sur « %s » pour la configurer à la main.\n"
+"\n"
+" * « %s » : si une carte RNIS (ISDN) est détectée, elle apparaîtra ici.\n"
+"Vous pouvez cliquer sur le bouton « %s » pour en modifier les paramètres\n"
+"si vous estimez que la configuration actuelle est inexacte.\n"
+"\n"
+" * « %s » : par défaut, DrakX configure votre interface graphique avec une\n"
+"résolution de « 800x600 » ou « 1024x768 ». Si cela ne vous convient pas,\n"
+"cliquez sur « %s » pour changer la configuration de votre interface\n"
+"graphique.\n"
+"\n"
+" * « %s » : si vous souhaitez configurer votre accès Internet ou réseau\n"
+"local dès maintenant. Lisez la documentation fournie ou exécutez\n"
+"le Centre de Contrôle Mageia après l'installation pour avoir droit à une\n"
+"aide complète en ligne.\n"
+"\n"
+" * « %s » : permet de configurer les adresses proxy HTTP et FTP si la\n"
+"machine que vous installez se trouve derrière un serveur mandataire.\n"
+"\n"
+" * « %s » : il vous est ici proposé de redéfinir votre niveau de sécurité\n"
+"tel que défini dans une étape précédente ().\n"
+"\n"
+" * « %s » : si vous avez l'intention de connecter votre ordinateur à\n"
+"Internet, c'est une bonne idée de le protéger des intrusions grâce à un\n"
+"pare-feu. Consultez la section correspondante du « Guide de démarrage »\n"
+"pour plus de renseignements.\n"
+"\n"
+" * « %s » : si vous souhaitez changer la configuration par défaut de votre\n"
+"chargeur de démarrage. À réserver aux utilisateurs expérimentés. Lisez la\n"
+"documentation fournie ou l'aide en ligne sur la configuration de chargeur\n"
+"de démarrage présente dans le Centre de Contrôle Mageia.\n"
+"\n"
+" * « %s » : vous pourrez ici contrôler finement les services disponibles\n"
+"sur votre machine. Si vous envisagez de monter un serveur, c'est une bonne\n"
+"idée de vérifier cette configuration."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "Carte TV"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Carte RNIS"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface graphique"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Choisissez le disque dur à effacer pour installer votre nouvelle partition\n"
+"Mageia. Soyez prudent, toute les informations stockées sur le disque\n"
+"seront détruites."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Cliquez sur « %s » si vous voulez vraiment effacer toute l'information et\n"
+"les partitions. Soyez prudent, après avoir cliqué sur « %s », vous ne\n"
+"pourrez plus récupérer les données ou les partitions, y compris les données\n"
+"Windows.\n"
+"\n"
+"Cliquez sur « %s » pour renoncer à cette opération sans perdre de données."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Suivant ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Précédent"
diff --git a/perl-install/install/help/po/fur.po b/perl-install/install/help/po/fur.po
new file mode 100644
index 000000000..86dfc776d
--- /dev/null
+++ b/perl-install/install/help/po/fur.po
@@ -0,0 +1,1137 @@
+# translation of DrakX.po to furlan
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Andrea Gracco <graccoandrea@tin.it>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-06-28 17:41+0200\n"
+"Last-Translator: Andrea Gracco <graccoandrea@tin.it>\n"
+"Language-Team: furlan <gft@freelists.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vuelistu doprâ cheste fature?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr ""
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr ""
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Eseguìs"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Prossim ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Precedent"
diff --git a/perl-install/install/help/po/ga.po b/perl-install/install/help/po/ga.po
new file mode 100644
index 000000000..d2e402780
--- /dev/null
+++ b/perl-install/install/help/po/ga.po
@@ -0,0 +1,1137 @@
+#
+# Alastair McKinstry <mckinstry@computer.org>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-09-12 18:04+0200\n"
+"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
+"Language-Team: Irish <ga@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "An mian leat an gné seo a úsáid?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uasghrádú"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Le doiciméadú bunúsach"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Eirigh as Feistiú"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Cumraigh ADSL"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Ag iarraidh an clár-ranna a tarrtháil"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Glan diosca ina iomlán"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Cruthaigh flapach bootáil"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Riarthóir Slándála"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spáinnis"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Luchóg MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Saineolaí"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Carta ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Carta ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Comhéadan Grafach"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Teacs ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- feist"
+
+#~ msgid "authentication"
+#~ msgstr "deimniú"
diff --git a/perl-install/install/help/po/gl.po b/perl-install/install/help/po/gl.po
new file mode 100644
index 000000000..7354ed534
--- /dev/null
+++ b/perl-install/install/help/po/gl.po
@@ -0,0 +1,2043 @@
+# translation of DrakX-help-gl.po to
+# translation of DrakX-help-gl.po to Galician
+# Jesús Bravo Ãlvarez (mdk) <jba@pobox.com>, 2001.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2004, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-gl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-07-08 20:57+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: <gl@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"X-Poedit-Language: Gallegan\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, debe ler atentamente os termos da licenza. Esta\n"
+"licenza cobre toda a distribución Mageia. Se está de acordo\n"
+"con tódolos termos que contén, marque o cadro \"%s\". Se non o está,\n"
+"prema no botón \"%s\" e reiniciarase o seu ordenador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é un sistema multiusuario o que significa que cada usuario pode\n"
+"ter as súas propias preferencias, os seus propios ficheiros, etc. Pero a\n"
+"diferencia de \"root\", que é o administrador do sistema, os usuarios que\n"
+"engada neste punto non estarán autorizados para cambiar nada agás os\n"
+"seus propios ficheiros e as súas propias configuracións, protexendo o\n"
+"sistema de cambios involuntarios ou malintencionados que poderían afectar\n"
+"a todo o sistema. Terá que crear como mínimo un usuario normal para vostede\n"
+"-- esta é a conta que usará para o uso cotián e rutineiro. Ainda que é moi\n"
+"sinxelo entrar no sistema coma \"root\" para facer calquera cousa, tamén\n"
+"pode ser moi perigoso! Un pequeno erro pode significar que o seu sistema\n"
+"non volva funcionar nunca máis. Se vostede comete un erro moi grave\n"
+"coma un usuario normal, o peor que pode suceder é que perda algunha\n"
+"información, pero non afectará a todo o sistema.\n"
+"\n"
+"O primeiro campo pregúntalle un nome real. Dende logo, isto non é\n"
+"obrigatorio -- actualmente pode introducir o que queira. DrakX collerá a\n"
+"primeira palabra que introduza neste campo e copiaraa ó campo\n"
+"\"%s\", que é o nome que o usuario introducirá para entrar no\n"
+"sistema. Se o desexa, pode non facer caso do predeterminado e cambiar\n"
+"o nome de usuario. O seguinte paso é introducir un contrasinal. Dende\n"
+"o punto de vista da seguridade, o contrasinal dun usuario sen\n"
+"privilexios (normal) non é tan crucial coma o contrasinal de \"root\", pero\n"
+"esa non é razón para descoidarse deixándoa en branco ou poñendo unha\n"
+"moi fácil: despois de todo, pode que os seus ficheiros estean en perigo.\n"
+"\n"
+"Se preme en \"%s\", poderá engadir máis usuarios. Engada un usuario\n"
+"para cada un dos seus amigos, o seu pai, a súa irmá, etc. Prema en\n"
+"\"%s\" cando remate de engadir os usuarios.\n"
+"\n"
+"Se preme no botón \"%s\" poderá cambiar a \"shell\" predeteminada\n"
+"para ese usuario (bash por defecto).\n"
+"\n"
+"Cando remate de engadir os usuarios, diráselle que elixa o usuario que\n"
+"entrará automáticamente no sistema cando se arrinque o ordenador. Se\n"
+"lle interesa esta funcionalidade (e non lle preocupa moito a seguridade\n"
+"local), elixa o usuario e mailo xestor de ventás que desexe, e despois\n"
+"prema en \"%s\". Se non está interesado nesta funcionalidade,\n"
+"desmarque o cadro \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Desexa usar esta funcionalidade?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"As particións listadas aquí son as particións Linux existentes detectadas\n"
+"no seu disco duro. Pode manter a selección feita polo asistente, xa que\n"
+"é boa para as instalacións máis comúns. Se fai algún troco, debe\n"
+"definir como mínimo unha partición raíz (\"/\"). Non escolla unha partición\n"
+"moi pequena ou non poderá instalar o software necesario. Se desexa\n"
+"almacenar os seus datos nunha partición á parte, tamén terá que crear\n"
+"unha partición \"/home\" (só será posible se ten dispoñibles máis dunha\n"
+"partición Linux).\n"
+"\n"
+"Cada partición lístase do seguinte xeito: \"Nome\", \"Capacidade\".\n"
+"\n"
+"\"Nome\" ten a estructura: \"tipo de disco duro\", \"número de disco duro"
+"\",\n"
+"\"número de partición\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco duro\" é \"hd\" se o seu disco duro é un disco duro IDE e\n"
+"\"sd\" se é un disco duro SCSI.\n"
+"\n"
+"\"Número de disco duro\" é sempre unha letra despois de \"hd\" ou \"sd\".\n"
+"Para os discos duros IDE é:\n"
+"\n"
+" * \"a\" significa \"disco duro mestre do controlador IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco duro escravo do controlador IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco duro mestre do controlador IDE secundario\";\n"
+"\n"
+" * \"d\" significa \"disco duro escravo do controlador IDE secundario\".\n"
+"\n"
+"Nos discos duros SCSI, un \"a\" significa \"ID SCSI menor\", e \"b\" "
+"significa \"segundo ID SCSI menor\", etc."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A instalación de Mageia distribúese en varios CD-ROMs. Se un\n"
+"paquete dos seleccionados está noutro CD-ROM, DrakX expulsará o CD\n"
+"actual e diralle que insira o CD requirido. Se non ten o CD requirido a "
+"man,\n"
+"prema en \"%s\", e os paquetes correspondentes non se instalarán."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Agora terá que especificar que programas desexa instalar no seu sistema.\n"
+"Hai milleiros de paquetes dispoñibles para Mageia, e para facer que\n"
+"sexa máis sinxelo manexalos, puxéronse en grupos de aplicacións "
+"semellantes.\n"
+"\n"
+"Mageia ordena os grupos de paquetes en catro categorías. Vostede\n"
+"pode mesturar aplicacións de varias categorías, de xeito que unha "
+"instalación\n"
+"``Estación de Traballo'' poida ter instaladas aplicacións da categoría "
+"``Servidor''.\n"
+"\n"
+" * \"%s\": se ten pensado usar a súa máquina coma unha estación de "
+"traballo,\n"
+"seleccione un ou máis dos grupos da categoría estación de traballo.\n"
+"\n"
+" * \"%s\": se vai usar a súa máquina para programar, seleccione os grupos\n"
+"que desexe desta categoría. O grupo especial \"LSB\" configurará o seu\n"
+"sistema para que cumpra as especificacións Linux Standard Base tanto coma\n"
+"sexa posible.\n"
+"\n"
+" Se selecciona o grupo \"LSB\" instalarase tamén un kernel da serie\n"
+"\"2.4\", en vez do predeterminado da \"2.6\". Isto é para asegurar que o\n"
+"sistema cumpre ó 100%% o LSB. Sen embargo, se non selecciona o grupo\n"
+"\"LSB\" ainda terá un sistema que case cumpre ó 100%% con LSB.\n"
+"\n"
+" * \"%s\": se a súa máquina vai ser un servidor, seleccione cales dos\n"
+"servicios máis comúns desexa instalar na súa máquina.\n"
+"\n"
+" * \"%s\": aquí é onde vai elixir o seu ambiente gráfico preferido. Debe\n"
+"seleccionar como mínimo un se desexa ter dispoñible unha interface gráfica.\n"
+"\n"
+"Se pon o cursor do rato enriba do nome dun grupo amosarase un pequeno\n"
+"texto explicativo acerca dese grupo.\n"
+"\n"
+"Pode marcar o cadro \"%s\", o cal é útil se coñece ben os paquetes que\n"
+"se ofrecen ou se desexa ter un control total sobre o que se vai instalar.\n"
+"\n"
+"Se comeza a instalación en modo \"%s\", poderá deseleccionar tódolos\n"
+"grupos e impedir a instalación de calquera novo paquete. Isto é útil para\n"
+"reparar ou actualizar un sistema xa existente.\n"
+"\n"
+"Se deselecciona tódolos grupos ó levar a cabo unha instalación normal\n"
+"(a diferencia dunha actualización), aparecerá un diálogo suxerindo\n"
+"diferentes opcións para unha instalación mínima:\n"
+"\n"
+" * \"%s\": instala o número mínimo de paquetes posible para ter un\n"
+"ambiente gráfico que funcione.\n"
+"\n"
+" * \"%s\": instala o sistema base máis utilidades básicas e a súa\n"
+"documentación. Esta instalación é a axeitada para configurar un servidor.\n"
+"\n"
+" * \"%s\": instalará o número mínimo de paquetes absolutamente\n"
+"necesario para obter un sistema Linux que funcione. Con esta instalación\n"
+"só terá unha interface de liña de comandos. O tamaño total desta\n"
+"instalación é de máis ou menos 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con documentación básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalación mínima de verdade"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se elixe instalar os paquetes individualmente, o instalador amosaralle unha\n"
+"árbore que contén tódolos paquetes clasificados por grupos e subgrupos.\n"
+"Mentres navega pola árbore, pode seleccionar grupos enteiros, subgrupos,\n"
+"ou paquetes individuais.\n"
+"\n"
+"Cando seleccione un paquete da árbore, aparecerá unha descrición á\n"
+"dereita para que saiba cal é o propósito dese paquete.\n"
+"\n"
+"!!Se se selecciona un paquete de servidor, xa sexa porque vostede elixiu\n"
+"dito paquete ou porque é parte dun grupo de paquetes, pediráselle que\n"
+"confirme que desexa instalar estes servidores. De maneira predeterminada\n"
+"Mageia iniciará automáticamente ó arrincar o sistema tódolos\n"
+"servicios instalados. Incluso se son seguros e non tiñan ningún problema\n"
+"coñecido cando se fixo a distribución, é posible que se descubriran buratos\n"
+"de seguridade despois de que se rematara esta versión de Mageia.\n"
+"Se non sabe que fai un determinado servicio ou por que se vai instalar,\n"
+"prema en \"%s\". Se preme en \"%s\" instalaranse os servicios listados e\n"
+"iniciaranse automáticamente ó arrincar o sistema!!\n"
+"\n"
+"A opción \"%s\" úsase para deshabilitar o diálogo de advertencia que\n"
+"aparece cando o instalador selecciona automáticamente un paquete para\n"
+"resolver un problema de dependencias. Algúns paquetes dependen doutros\n"
+"e a instalación dun paquete determinado pode requirir a instalación doutro\n"
+"paquete. O instalador pode determinar que paquetes son necesarios para\n"
+"satisfacer unha dependencia e completar con éxito a instalación.\n"
+"\n"
+"A pequena icona cun disquete debuxado que está no fondo da lista\n"
+"permítelle cargar unha lista de paquetes creada durante unha instalación\n"
+"anterior. Isto é útil se ten varias máquinas que desexa configurar igual. "
+"Se\n"
+"preme nesta icona pediráselle que introduza o disquete que se creou ó final\n"
+"da outra instalación. Mire o segundo consello do último paso para ver como\n"
+"se crea dito disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependencias automáticas"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo úsase para seleccionar que servicios desexa que arrinquen ó\n"
+"iniciar o sistema.\n"
+"\n"
+"DrakX listará tódolos servicios dispoñibles na instalación actual. Examine\n"
+"cada un deles coidadosamente e desmarque aqueles que non son\n"
+"necesarios ó iniciar o sistema.\n"
+"\n"
+"Cando seleccione un servicio amosarase un pequeno texto explicatorio\n"
+"sobre o servicio. Sen embargo, se non está seguro sobre se un servicio\n"
+"é útil ou non, é mellor deixalo como estea.\n"
+"\n"
+"¡¡ Sexa especialmente coidadoso neste paso se pretende utiliza-la súa\n"
+"máquina coma un servidor: probablemente non quererá arrincar servicios que\n"
+"non precisa. Lembre que algúns servicios poden ser perigosos se están\n"
+"activados nun servidor. En xeral, seleccione só aqueles servicios que\n"
+"necesite de verdade !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manexa a hora en GMT (Greenwich Mean Time) e tradúcea á\n"
+"hora local de acordo ca zona horaria que seleccionou. Se o reloxo da súa\n"
+"placa base usa a hora local, debería desactivar isto deseleccionando\n"
+"\"%s\", o cal lle permitirá a GNU/Linux saber que o reloxo do sistema e o\n"
+"reloxo do hardware están na mesma zona horaria. Isto é útil cando a máquina\n"
+"tamén contén outro sistema operativo.\n"
+"\n"
+"A opción \"%s\" regulará automáticamente o reloxo do sistema conectándose\n"
+"a un servidor remoto de tempo da Internet. Para que esta funcionalidade\n"
+"funcione, debe ter unha conexión á Internet que funcione. Recomendámoslle\n"
+"que elixa un servidor de tempo que estea situado preto de vostede. Esta\n"
+"opción en realidade instala un servidor de tempo local que tamén poden usar\n"
+"outras máquinas da súa rede local."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronización automática da hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Tarxeta Gráfica\n"
+"\n"
+" Normalmente o instalador detecta automáticamente detecta e configura\n"
+"a tarxeta gráfica instalada no ordenador. Se non é a correcta, pode elixir\n"
+"nesta lista a tarxeta gráfica que está instalada no ordenador.\n"
+"\n"
+" Se hai varios servidores dispoñibles para a súa tarxeta, con ou sen\n"
+"aceleración 3D, terá que elixir o servidor que se adapte mellor ás súas\n"
+"necesidades."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"As X (por X Window System) son o corazón da interface gráfica de\n"
+"GNU/Linux do que dependen tódolos ambientes gráficos (KDE, GNOME,\n"
+"AfterStep, WindowMaker, etc.) proporcionados por Mageia.\n"
+"\n"
+"Vostede verá unha lista dos diferentes parámetros que se poden\n"
+"cambiar para obter unha visualización gráfica óptima.\n"
+"\n"
+"Tarxeta Gráfica\n"
+"\n"
+" O instalador normalmente detectará e configurará automáticamente\n"
+"a tarxeta gráfica instalada na súa máquina. Se esta non é a correcta,\n"
+"pode escoller nesta lista a tarxeta que ten instalada en realidade.\n"
+"\n"
+" Na situación na que haxa dispoñibles diferentes servidores para a súa\n"
+"tarxeta, con ou sen aceleración 3D, pediráselle que elixa o servidor que\n"
+"mellor se adapte ás súas necesidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente o instalador detectará e configurará automáticamente o\n"
+"monitor conectado á súa máquina. Se non é o correcto, pode elixir nesta\n"
+"lista o monitor que está conectado ó seu ordenador.\n"
+"\n"
+"\n"
+"\n"
+"Resolución\n"
+"\n"
+" Aquí vostede pode escoller as resolucións e as profundidades de cor\n"
+"dispoñibles para o seu hardware gráfico. Elixa a que mellor se adapte ás\n"
+"súas necesidades (poderá facer cambios despois da instalación).\n"
+"Amosarase unha mostra da configuración elixida na pantalla.\n"
+"\n"
+"\n"
+"\n"
+"Comprobación\n"
+"\n"
+" Dependendo do hardware que teña, esta entrada podería non aparecer.\n"
+"\n"
+" O sistema intentará abrir unha pantalla gráfica ca resolución desexada.\n"
+"Se vostede ve a mensaxe de proba durante a comprobación e responde\n"
+"\"%s\", entón DrakX pasará ó seguinte paso. Se non a ve, entón significa\n"
+"que parte da configuración detectada automáticamente é incorrecta e a\n"
+"comprobación rematará automáticamente despois de 12 segundos e\n"
+"volverá ó menú. Cambie as opcións ata que consiga unha aparencia\n"
+"gráfica correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opcións\n"
+"\n"
+" Este paso permítelle elixir se desexa que a súa máquina inicie\n"
+"automáticamente a interface gráfica ó arrincar. Evidentemente, vostede\n"
+"podería desexar marcar \"%s\" se a súa máquina vai ser un servidor,\n"
+"ou se non conseguiu configurar as X."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" O instalador normalmente detecta e configura automáticamente o\n"
+"monitor conectado á súa máquina. Se non é o correcto, pode escoller\n"
+"nesta lista o monitor que ten conectado ó seu ordenador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolución\n"
+"\n"
+" Aquí pode escoller as resolucións e as profundidades de cor dispoñibles\n"
+"para o seu hardware gráfico. Escolla o que mellor se adapte ás súas\n"
+"necesidades (poderá facer trocos despois da instalación). Amosarase un\n"
+"exemplo da configuración elixida na pantalla."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Se se da a situación na que hai diferentes servidores dispoñibles para a\n"
+"súa tarxeta, con ou sen aceleración 3D, pediráselle que escolla o servidor\n"
+"que mellor se axuste ás súas necesidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcións\n"
+"\n"
+" Estes pasos permítenlle escoller se a súa máquina debe iniciar\n"
+"automáticamente unha interface gráfica ó arrincar ou non. Evidentemente,\n"
+"vostede pode querer marcar \"%s\" se a súa máquina vai funcionar\n"
+"coma un servidor, ou se non tivo éxito configurando o sistema gráfico."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Agora ten que decidir onde quere instalar o sistema operativo\n"
+"Mageia no disco duro. Se o seu disco duro está baleiro, ou se\n"
+"outro sistema operativo está usando todo o espacio dispoñible, terá que\n"
+"particionalo. Básicamente, particionar un disco duro consiste en dividilo\n"
+"lóxicamente para crear o espacio necesario para instalar o seu novo\n"
+"sistema Mageia.\n"
+"\n"
+"Debido a que o proceso de particionamento é normalmente irreversible\n"
+"e pode provocar perdas de datos, o particionamento pode intimidar e\n"
+"resultar estresante para un usuario sen experiencia. Afortunadamente,\n"
+"DrakX inclúe un asistente que simplifica este proceso. Antes de\n"
+"continuar con este paso, lea toda esta sección e sobre todo, tómese\n"
+"o seu tempo.\n"
+"\n"
+"Dependendo da configuración do seu disco duro, hai varias opcións\n"
+"dispoñibles:\n"
+"\n"
+" * \"%s\". Esta opción levará a cabo un particionamento automático\n"
+"da(s) súa(s) unidade(s) baleira(s). Se usa esta opción non haberá máis\n"
+"avisos.\n"
+"\n"
+" * \"%s\". O asistente detectou que existen unha ou máis particións\n"
+"Linux no seu disco duro. Se desexa usalas, elixa esta opción. Entón\n"
+"pediráselle que escolla os puntos de montaxe asociados con cada unha\n"
+"das particións. Os puntos de montaxe herdados selecciónanse por\n"
+"defecto, e para a maioría é boa idea mantelos.\n"
+" \n"
+" * \"%s\". Se Microsoft Windows está instalado no seu disco duro e\n"
+"ocupa todo o espacio dispoñible nel, terá que crear espacio libre para\n"
+"GNU/Linux. Para facelo, pode eliminar os datos e a partición Microsoft\n"
+"Windows (mire a solución ``Borrar todo o disco'') ou redimensionar a\n"
+"partición Microsoft Windows FAT ou NTFS. O redimensionamento\n"
+"pode levarse a cabo sen a perda de ningún dato, con tal que\n"
+"desfragmente previamente a partición Windows. É moi recomendable\n"
+"que faga unha copia de seguridade dos seus datos. Recoméndase\n"
+"usar esta opción se desexa usar Mageia e Microsoft\n"
+"Windows no mesmo ordenador.\n"
+"\n"
+" Antes de escoller esta opción, debe comprender que despois deste\n"
+"procedemento, o tamaño da súa partición Microsoft Windows será máis\n"
+"pequeno ca antes. Terá menos espacio libre en Microsoft Windows\n"
+"para almacenar os seus datos ou para instalar novo software.\n"
+"\n"
+" * \"%s\". Se desexa eliminar tódolos datos e as particións presentes no\n"
+"seu disco duro e remprazalas polo seu novo sistema Mageia, elixa\n"
+"esta opción. Teña coidado, porque non poderá desfacer esta operación\n"
+"despois de que confirme.\n"
+"\n"
+" !! Se elixe esta opción, eliminaranse tódolos datos do seu disco "
+"duro. !!\n"
+"\n"
+" * \"%s\". Esta opción aparece cando Microsoft Windows ocupa todo o\n"
+"disco duro. Se elixe esta opción simplemente eliminarase toda a unidade\n"
+"e comezarase de novo, particionando todo dende cero.\n"
+"\n"
+" !! Se elixe esta opción, perderanse tódolos datos do seu disco duro. !!\n"
+"\n"
+" * \"%s\". Elixa esta opción se desexa particionar a man o seu disco duro.\n"
+"Teña tino -- é unha opción potente pero perigosa e pode perder moi\n"
+"fácilmente tódolos seus datos. É por iso polo que só se recomenda esta\n"
+"opción se fixo algo coma isto antes e ten algunha experiencia. Para obter\n"
+"máis instruccións sobre como usar a utilidade DiskDrake, refírase á sección\n"
+"``Administrando as súas Particións'' da ``Guía de Inicio''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partición existente"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borra-lo disco enteiro"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Xa está. A instalación rematou e o seu sistema GNU/Linux está preparado\n"
+"para usalo. Prema en \"%s\" para reiniciar o sistema. Non esqueza extraer\n"
+"o soporte de instalación (CD-ROM ou disquete). A primeira cousa que\n"
+"debería ver despois de que o seu ordenador remate de facer a\n"
+"comprobación do hardware é o menú do cargador de arrinque, dándolle a\n"
+"opción de elixir que sistema operativo se vai iniciar.\n"
+"\n"
+"O botón \"%s\" amosa dous botóns máis para:\n"
+"\n"
+" * \"%s\": permítelle crear un disquete de instalación que levará a cabo\n"
+"automáticamente unha instalación completa semellante á instalación que\n"
+"acaba de facer, sen a axuda dun operador.\n"
+"\n"
+" Teña en conta que despois de premer neste botón hai dispoñibles dúas\n"
+"opcións diferentes:\n"
+"\n"
+" * \"%s\". Esta é unha instalación parcialmente automatizada. O paso\n"
+"do particionamento é o único interactivo.\n"
+"\n"
+" * \"%s\". Instalación totalmente automática: O disco duro rescríbese\n"
+"totalmente, perdendo tódolos datos.\n"
+"\n"
+" Esta funcionalidade é moi práctica cando se está instalando en varias\n"
+"máquinas semellantes. Mire na sección Instalación Automática no noso sitio\n"
+"web para obter máis información.\n"
+"\n"
+" * \"%s\"(*): garda unha lista dos paquetes seleccionados nesta "
+"instalación.\n"
+"Para usar esta selección noutra instalación, insira o disquete e inicie a\n"
+"instalación. Na liña de comandos, prema a tecla [F1], e introduza\n"
+">>linux defcfg=\"floppy\"<< e prema a tecla [Intro].\n"
+"\n"
+"(*) Necesita un disquete formatado con FAT. Para crear un en GNU/Linux,\n"
+"escriba \"mformat a:\", ou \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Xerar un disquete de Instalación Automática"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se elixe reutilizar algunhas das particións GNU/Linux xa existentes, "
+"podería\n"
+"desexar volver formatar algunhas delas e eliminar tódolos datos que\n"
+"conteñan. Para facer isto seleccione estas particións tamén.\n"
+"\n"
+"Teña en conta que non cómpre volver formatar tódalas particións xa\n"
+"existentes. Debe volver formatar as particións que conteñen o sistema\n"
+"operativo (coma \"/\", \"/usr\" ou \"/var\") pero non ten que volver\n"
+"formatar particións que conteñen datos que desexe gardar (normalmente\n"
+"\"/home\").\n"
+"\n"
+"Teña tino ó seleccionar as particións. Despois de formatalas, tódolos\n"
+"datos das particións seleccionadas estarán eliminados e non poderá\n"
+"recuperalos.\n"
+"\n"
+"Prema en \"%s\" cando estea preparado para formatar as particións.\n"
+"\n"
+"Prema en \"%s\" se desexa elixir outra partición para a instalación do seu\n"
+"novo sistema operativo Mageia.\n"
+"\n"
+"Prema en \"%s\" se desexa seleccionar as particións nas que se realizarán\n"
+"comprobacións de bloques erróneos."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Cando instale Mageia é probable que algúns paquetes se\n"
+"actualizaran dende a publicación inicial. Pode ser que se solucionaran "
+"erros,\n"
+"e se resolveran problemas de seguridade. Para beneficiarse destas\n"
+"actualizacións agora, pode descargalas dende a Internet. Marque \"%s\"\n"
+"se ten unha conexión á Internet, ou \"%s\" se prefire instalar os paquetes\n"
+"actualizados máis tarde.\n"
+"\n"
+"Se escolle \"%s\" amosarase unha lista das localizacións web dende as que\n"
+"se poden obter as actualizacións. Debe escoller unha que estea preto de\n"
+"vostede. Aparecerá unha árbore de selección de paquetes: revise a\n"
+"selección, e prema en \"%s\" para descargar e instala-lo(s) paquete(s)\n"
+"seleccionado(s), ou en \"%s\" para abortar."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Neste punto, DrakX permitiralle elixir o nivel de seguridade que desexa\n"
+"que teña a súa máquina. Como regra xeral, o nivel de seguridade debe\n"
+"ser maior se a máquina vai conter datos moi importantes, ou se vai estar\n"
+"exposta directamente á Internet. Normalmente un nivel de seguridade\n"
+"maior obtense a expensas da facilidade de uso.\n"
+"\n"
+"Se non sabe cal escoller, deixe a opción predeterminada. Poderá\n"
+"cambiala máis tarde ca ferramenta draksec, a cal é parte do Centro de\n"
+"Control de Mageia.\n"
+"\n"
+"Complete o campo \"%s\" co enderezo de correo-e (e-mail) da persoa\n"
+"responsable da seguridade. As mensaxes de seguridade enviaranse a\n"
+"ese enderezo."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de Seguridade"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Neste punto cómpre que escolla que partición(s) se van usar para a\n"
+"instalación do seu sistema Mageia. Se as particións xa se\n"
+"crearon, xa sexa nunha instalación anterior de GNU/Linux ou con\n"
+"outra ferramenta de particionamento, poderá usar as particións\n"
+"existentes. Se non é así, débense crear as particións no disco duro.\n"
+"\n"
+"Para crear particións, primeiro debe seleccionar un disco duro. Pode\n"
+"seleccionar o disco a particionar premendo en ``hda'' para a primeira\n"
+"unidade IDE, ``hdb'' para a segunda, ``sda'' para a primeira unidade\n"
+"SCSI, etc.\n"
+"\n"
+"Para particionar o disco duro seleccionado pode usar estas opcións:\n"
+"\n"
+" * \"%s\": esta opción elimina tódalas particións do disco duro\n"
+"seleccionado\n"
+"\n"
+" * \"%s\": esta opción permítelle crear automáticamente particións\n"
+"ext4 e swap no espacio baleiro do disco duro\n"
+"\n"
+"\"%s\": dálle acceso a funcionalidades adicionais:\n"
+"\n"
+" * \"%s\": garda a táboa de particións nun disquete. É útil para\n"
+"recuperacións posteriores da táboa de particións, en caso de ser\n"
+"necesario. É altamente recomendable que leve a cabo este paso.\n"
+"\n"
+" * \"%s\": permítelle restaurar unha táboa de particións gardada\n"
+"previamente nun disquete.\n"
+"\n"
+" * \"%s\": se a súa táboa de particións está danada, pode intentar\n"
+"recuperala usando esta opción. Por favor teña coidado e lembre que non\n"
+"sempre funciona.\n"
+"\n"
+" * \"%s\": desbota tódolos cambios e recarga a táboa de particións orixinal\n"
+"do disco duro.\n"
+"\n"
+" * \"%s\": se desmarca esta opción forzará ós usuarios a montar e\n"
+"desmontar a man os soportes extraíbles coma os disquetes e os CD-ROMs.\n"
+"\n"
+" * \"%s\": use esta opción se desexa usar un asistente para particionar\n"
+"o seu disco duro. Recoméndase isto se non sabe moito sobre o\n"
+"particionamento.\n"
+"\n"
+" * \"%s\": use esta opción para cancelar tódolos seus cambios.\n"
+"\n"
+" * \"%s\": permite accións adicionais sobre as particións (tipo, opcións,\n"
+"formato) e proporciona máis información sobre o disco duro.\n"
+"\n"
+" * \"%s\": cando remate o particionamento do seu disco duro, isto\n"
+"gardará os cambios no disco.\n"
+"\n"
+"Cando estea definindo o tamaño das particións pode establecelo\n"
+"con exactitude usando as teclas das Frechas do teclado.\n"
+"\n"
+"Nota: pode obter calquera opción usando o teclado. Navegue polas\n"
+"particións usando [Tab] e as frechas [Arriba/Abaixo].\n"
+"\n"
+"Cando se selecciona unha partición, poderá usar:\n"
+"\n"
+" * Ctrl-c para crear unha nova partición (cando se seleccionou un\n"
+"espacio baleiro)\n"
+"\n"
+" * Ctrl-d para eliminar unha partición\n"
+"\n"
+" * Ctrl-m para establecer o punto de montaxe\n"
+"\n"
+"Para obter información sobre os diferentes tipos de sistemas de ficheiros\n"
+"dispoñibles, lea o capítulo sobre ext2FS do ``Manual de Referencia''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montar automáticamente os soportes extraíbles"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Cambiar entre modo normal/experto"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Detectouse máis dunha partición Microsoft no seu disco duro. Elixa a que\n"
+"quere redimensionar para poder instalar o seu novo sistema operativo\n"
+"Mageia.\n"
+"\n"
+"Cada partición está listada do seguinte xeito: \"Nome en Linux\",\n"
+"\"Nome en Windows\", \"Capacidade\".\n"
+"\n"
+"O \"Nome en Linux\" ten esta estructura: \"Tipo de disco duro\", \n"
+"\"Número de disco duro\", \"Número de partición\" (por exemplo, \"hda1\").\n"
+"\n"
+"O \"Tipo de disco duro\" é \"hd\" se o seu disco duro é un disco duro IDE\n"
+"e \"sd\" se é un disco duro SCSI.\n"
+"\n"
+"O \"Número de disco duro\" é sempre unha letra despois de \"hd\" ou\n"
+"\"sd\". En discos duros IDE:\n"
+"\n"
+" * \"a\" significa \"disco duro mestre do controlador IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco duro escravo do controlador IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco duro mestre do controlador IDE secundario\";\n"
+"\n"
+" * \"d\" significa \"disco duro escravo do controlador IDE secundario\".\n"
+"\n"
+"Nos discos duros SCSI, un \"a\" significa \"ID SCSI menor\", un \"b\" "
+"significa \"segundo ID SCSI menor\", etc.\n"
+"\n"
+"O \"Nome en Windows\" é a letra que ten o seu disco duro en Windows\n"
+"(o primeiro disco ou partición chámase \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique a selección actual do país. Se non está nese país,\n"
+"prema no botón \"%s\" e escolla o seu. Se o seu país non está na lista\n"
+"que se amosa, prema no botón \"%s\" para obter a lista completa de países."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Este paso actívase só se se atopou algunha partición GNU/Linux na súa\n"
+"máquina.\n"
+"\n"
+"DrakX necesita saber se desexa facer unha nova instalación ou\n"
+"unha actualización dun sistema Mageia xa existente:\n"
+"\n"
+" * \"%s\". A maioría das veces, isto destrúe completamente o sistema\n"
+"antigo. Sen embargo, dependendo de como sexa o seu esquema de\n"
+"particionamento, poderá impedir que se sobrescriban algúns dos datos\n"
+"existentes (especialmente os directorios \"home\"). Se desexa cambiar o\n"
+"xeito no que están particionados os seus discos duros, ou desexa cambiar\n"
+"o sistema de ficheiros, debe usar esta opción.\n"
+"\n"
+" * \"%s\". Esta clase de instalación permítelle actualiza-los paquetes que\n"
+"están instalados agora mesmo no seu sistema Mageia. Non se\n"
+"modificarán nin o esquema de particionamento actual nin os datos dos\n"
+"usuarios. A maior parte dos outros pasos de configuración estarán\n"
+"dispoñibles e serán semellantes ós dunha instalación estándar.\n"
+"\n"
+"O uso da opción ``Actualizar'' debería funcionar ben en sistemas con\n"
+"Mageia versión \"8.1\" ou posteriores. Non se recomenda levar\n"
+"a cabo actualizacións en versións anteriores á versión \"8.1\" de\n"
+"Mageia."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo da lingua que escollera, DrakX seleccionará automáticamente\n"
+"unha configuración de teclado determinada. Verifique que a selección é a\n"
+"axeitada ou elixa outra disposición de teclado.\n"
+"\n"
+"Tamén pode ser que non teña un teclado que corresponda exactamente\n"
+"ca súa lingua: por exemplo, se vostede fala Inglés e é nativo de Suíza,\n"
+"vostede terá un teclado suízo. Ou se vostede fala Inglés e está en Quebec,\n"
+"podería atoparse na mesma situación na que a súa lingua e o teclado non\n"
+"concordan. En calquera destes casos, este paso da instalación permitiralle\n"
+"seleccionar o teclado axeitado dunha lista.\n"
+"\n"
+"Prema no botón \"%s\" para ver unha lista dos teclados soportados.\n"
+"\n"
+"Se elixiu unha disposición de teclado baseada nun alfabeto non latino, o\n"
+"seguinte diálogo permitiralle elixir a asociación de teclas que fará que o\n"
+"teclado cambie entre unha disposición Latina e unha non Latina."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro paso é escoller a súa lingua preferida.\n"
+"\n"
+"A elección da súa lingua preferida afectaralle ó instalador, á "
+"documentación,\n"
+"e ó sistema en xeral. Primeiro seleccione a rexión na que está situado, e\n"
+"despois o idioma que fala.\n"
+"\n"
+"Se preme no botón \"%s\" poderá seleccionar outras linguas para instalalas\n"
+"na súa estación de traballo, instalando deste xeito os ficheiros "
+"específicos\n"
+"desas linguas para a documentación do sistema e as aplicacións. Por\n"
+"exemplo, se van usar a súa máquina usuarios Españois, seleccione Inglés\n"
+"coma a lingua predeterminada na árbore e \"%s\" na sección Avanzado.\n"
+"\n"
+"Acerca do soporte de UTF-8 (unicode): Unicode é unha nova codificación de\n"
+"caracteres pensada para cubrir tódalas linguas existentes. Sen embargo o\n"
+"soporte completo para ela en GNU/Linux ainda se está desenvolvendo. Por\n"
+"esta razón, o uso de UTF-8 en Mageia dependerá das eleccións do\n"
+"usuario:\n"
+"\n"
+" * Se selecciona unha lingua cunha codificación fortemente asociada\n"
+"(as linguas latin1, Ruso, Xaponés, Chinés, Coreano, Tai, Grego, Turco, a\n"
+"maioría das linguas iso-8859-2), usarase a codificación asociada de\n"
+"xeito predeterminado;\n"
+"\n"
+" * As outras lingua usarán unicode de xeito predeterminado;\n"
+"\n"
+" * Se se requiren dúas ou máis linguas, e estas linguas non usan a mesma\n"
+"codificación, entón usarase unicode para todo o sistema;\n"
+"\n"
+" * Por último, pode forzarse o uso de unicode en todo o sistema a petición\n"
+"do usuario seleccionando a opción \"%s\" independentemente das linguas\n"
+"que se escolleran.\n"
+"\n"
+"Teña en conta que non está limitado a elixir só unha lingua adicional.\n"
+"Vostede pode escoller varias, ou incluso instalalas todas marcando o\n"
+"cadro \"%s\". A selección do soporte para unha lingua significa que se\n"
+"instalarán as traduccións, fontes, correctores ortográficos, etc. desa "
+"lingua.\n"
+"\n"
+"Para cambiar entre as diferentes linguas instaladas no seu sistema, pode\n"
+"executar o comando \"localedrake\" coma \"root\" para cambiar a lingua\n"
+"de todo o sistema. Se executa o comando coma un usuario normal só\n"
+"cambiará a lingua dese usuario determinado."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Español"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalmente, DrakX non ten problemas ó detectar o número de botóns\n"
+"do seu rato. Se os ten, suporá que ten un rato de dous botóns e\n"
+"configurarao para que emule o terceiro botón. Nun rato de dous botóns\n"
+"o terceiro botón pode obterse premendo simultáneamente os botóns\n"
+"dereito e esquerdo do rato. DrakX recoñecerá automáticamente se o\n"
+"seu rato usa unha interface PS/2, serie ou USB.\n"
+"\n"
+"Se vostede ten un rato de 3 botóns sen roda, pode escoller o rato\n"
+"\"%s\". DrakX configurará entón o seu rato de xeito que poida simular\n"
+"a roda: para facer isto, prema o botón do medio e mova o punteiro do\n"
+"rato arriba e abaixo.\n"
+"\n"
+"Se por algunha razón desexa especificar un tipo de rato diferente,\n"
+"seleccióneo da lista que se proporciona.\n"
+"\n"
+"Pode seleccionar a entrada \"%s\" para elixir un tipo de rato ``xenérico''\n"
+"que funcionará con case tódolos ratos.\n"
+"\n"
+"Se elixe un rato diferente do predeterminado, amosarase unha pantalla\n"
+"de probas. Use os botóns e a roda para verificar que a configuración é\n"
+"correcta e que o rato está funcionando correctamente. Se o rato non\n"
+"está funcionando ben, prema a barra de espacio ou a tecla [Retorno]\n"
+"para cancelar a proba e volver á lista de ratos.\n"
+"\n"
+"De cando en vez a roda do rato non se detecta automáticamente, así\n"
+"que terá que seleccionar o seu rato na lista. Asegúrese de seleccionar\n"
+"o correspondente ó porto no que está conectado o seu rato. Despois\n"
+"de seleccionar un rato e premer no botón \"%s\", Amosarase a imaxe\n"
+"dun rato na pantalla. Mova a roda do rato para asegurarse de que se\n"
+"activa correctamente. Mentres move a roda do seu rato verá que se\n"
+"move a roda da imaxe da pantalla. Comprobe os botóns e verifique que\n"
+"o punteiro do rato se move pola pantalla mentres move o seu rato."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "con emulación da Roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Calquera rato PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Seleccione o porto correcto. Por exemplo, o porto \"COM1\" de\n"
+"Windows chámase \"ttyS0\" en GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un cargador de arrinque é un pequeno programa que inicia o ordenador ó\n"
+"arrincar. É o responsable de arrincar o sistema enteiro. Normalmente, a\n"
+"instalación do cargador de arrinque é totalmente automática. DrakX\n"
+"analisará o sector de arrinque do disco e actuará de acordo co que atope\n"
+"alí:\n"
+"\n"
+" * se atopa un sector de arrinque de Windows, remprazarao cun sector de\n"
+"arrinque de GRUB/LILO. Deste xeito poderá arrincar GNU/Linux ou\n"
+"calquera outro sistema operativo que teña instalado no seu ordenador.\n"
+"\n"
+" * se atopa un sector de arrinque de GRUB ou LILO, remprazarao cun novo.\n"
+"\n"
+"Se DrakX non pode determinar onde debe situar o sector de arrinque, \n"
+"preguntaralle onde debe situalo. Xeralmente, \"%s\" é o mellor lugar.\n"
+"Se escolle \"%s\" non se instalará ningún cargador de arrinque. Use esta\n"
+"opción só se sabe o que está facendo."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Agora é a hora de seleccionar un sistema de impresión para o seu\n"
+"ordenador. Pode ser que outros sistemas operativos lle ofrezan un, pero\n"
+"Mageia ofrécelle dous. Cada un dos sistemas de impresión está\n"
+"máis adaptado a determinados tipos de configuración.\n"
+"\n"
+" * \"%s\" -- que é un acrónimo de ``print, do not queue'' (imprime, non o\n"
+"envies á cola), é a elección perfecta se vostede ten unha conexión directa\n"
+"á súa impresora, desexa esquecerse de impresoras saturadas, e non ten\n"
+"impresoras de rede. (\"%s\" só manexará casos de redes moi sinxelas e\n"
+"é algo lento cando se usa en redes.) É recomendable que use \"pdq\" se\n"
+"esta é a súa primeira experiencia con GNU/Linux.\n"
+"\n"
+" * \"%s\" significa `` Common Unix Printing System'' e é unha elección\n"
+"excelente para imprimir na súa impresora local ou nunha que estea na outra\n"
+"punta do planeta . É fácil de configurar e pode actuar coma un servidor ou\n"
+"coma un cliente para o antigo sistema de impresión \"lpd\", así que é\n"
+"compatible con antigos sistemas operativos os cales ainda poden necesitar\n"
+"servicios de impresión. Ainda que é bastante potente, a configuración\n"
+"básica é case tan sinxela coma a de \"pdq\". Se necesita emular un\n"
+"servidor \"lpd\", asegúrese de que activa o daemon \"cups-lpd\". \"%s\"\n"
+"inclúe interfaces gráficas para imprimir ou escoller as opcións da "
+"impresora\n"
+"e para administrar a impresora.\n"
+"\n"
+"Se elixe un agora, e máis tarde se da conta de que non lle gusta o seu\n"
+"sistema de impresión poderá cambialo executando PrinterDrake dende o\n"
+"Centro de Control de Mageia e premendo no botón \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Experto"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX detectará primeiro calquera dispositivo IDE presente no seu "
+"ordenador.\n"
+"Tamén buscará unha ou máis tarxetas SCSI PCI no seu sistema. Se se atopa\n"
+"unha tarxeta SCSI, DrakX instalará automáticamente o driver axeitado.\n"
+"\n"
+"Xa que a detección de hardware non está libre de erros, DrakX podería "
+"fallar\n"
+"ó detectar os discos duros. Se o fai, terá que especificar o seu hardware\n"
+"manualmente.\n"
+"\n"
+"Se tivera que especificar a man o seu adaptador SCSI PCI, DrakX\n"
+"preguntaralle se desexa configurar as súas opcións. Debería deixarlle a\n"
+"DrakX probar as opcións do hardware para atopar as opcións específicas da\n"
+"tarxeta que son necesarias para inicializar o adaptador. A maioría das "
+"veces,\n"
+"DrakX non ha dar problemas neste paso.\n"
+"\n"
+"Se DrakX non é capaz de probar as opcións para determinar\n"
+"automáticamente que parámetros necesita pasarlle ó hardware, terá\n"
+"que configurar o driver a man."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se se detecta unha tarxeta de son no seu sistema, amosarase\n"
+"aquí. Se ve que a tarxeta de son non é a que ten posta no seu sistema,\n"
+"pode premer no botón e escoller un driver diferente."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX presentaralle un resumo da información que reuniu sobre o seu\n"
+"sistema para que a repase. Dependendo do hardware que teña instalado\n"
+"na súa máquina, aparecerán ou non algunhas das seguintes entradas.\n"
+"Cada entrada está composta do elemento do hardware que se configurou,\n"
+"seguido por un pequeno resumo da configuración actual. Prema no botón\n"
+"\"%s\" correspondente para cambiala.\n"
+"\n"
+" * \"%s\": comprobe a configuración actual do mapa de teclado e cámbiea\n"
+"se fose necesario.\n"
+"\n"
+" * \"%s\": verifique o país seleccionado. Se non está neste país, prema\n"
+"no botón \"%s\" e elixa outro. Se o seu país non está na lista que se\n"
+"amosa, prema no botón \"%s\" para obter a lista completa de paises.\n"
+"\n"
+" * \"%s\": por defecto, DrakX deduce a súa zona horaria baseándose no\n"
+"país que elixiu. Pode premer no botón \"%s\" se non é a correcta.\n"
+"\n"
+" * \"%s\": verifique a configuración actual do rato e prema no botón para\n"
+"cambiala se fose necesario.\n"
+"\n"
+" * \"%s\": se preme no botón \"%s\" abrirase o asistente de configuración\n"
+"de impresoras. Consulte o capítulo correspondente da ``Guía de Inicio''\n"
+"para obter máis información sobre como configurar unha nova impresora.\n"
+"A interface do manual é semellante á que se usa durante a instalación.\n"
+"\n"
+" * \"%s\": se se detecta unha tarxeta de son no seu sistema, amosarase\n"
+"aquí. Se ve que a tarxeta de son non é a que está no seu ordenador,\n"
+"pode premer no botón e elixir un driver diferente.\n"
+"\n"
+" * \"%s\": se ten unha tarxeta de TV, aquí ó onde se mostra a información\n"
+"sobre a súa configuración. Se ten unha tarxeta de TV e non se detectou,\n"
+"prema en \"%s\" para intentar configurala a man.\n"
+"\n"
+" * \"%s\": pode premer en \"%s\" para cambia-los parámetros asociados\n"
+"ca tarxeta se cre que a configuración non é correcta.\n"
+"\n"
+" * \"%s\": por defecto, DrakX configura a súa interface gráfica cunha\n"
+"resolución \"800x600\" ou \"1024x768\". Se isto non se adapta a vostede,\n"
+"prema en \"%s\" para volver configurar a súa interface gráfica.\n"
+"\n"
+" * \"%s\": se desexa configurar o seu acceso á Internet ou a unha rede\n"
+"local, pode facelo agora. Consulte a documentación impresa ou use o\n"
+"Centro de Control de Mageia despois de rematar a instalación para\n"
+"sacar partido da axuda en liña.\n"
+"\n"
+" * \"%s\": permítelle configurar os enderezos do proxy HTTP e FTP no\n"
+"caso de que a máquina na que está instalando vaia estar detrás detrás\n"
+"dun servidor proxy.\n"
+"\n"
+" * \"%s\": esta entrada permítelle volver definir o nivel de seguridade que\n"
+"se estableceu nun dos pasos anteriores.\n"
+"\n"
+" * \"%s\": se pensa conectar a súa máquina á Internet, é unha boa idea\n"
+"protexela de intrusos configurando un cortalumes. Consulte a sección\n"
+"correspondente da ``Guía de Inicio'' para obter detalles sobre a\n"
+"configuración do cortalumes.\n"
+"\n"
+" * \"%s\": se desexa cambiar a configuración do seu cargador de arrinque,\n"
+"prema neste botón. Isto deberíano facer só os usuarios avanzados.\n"
+"Consulte a documentación impresa ou a axuda en liña sobre a\n"
+"configuración do cargador de arrinque no Centro de Control de Mandriva\n"
+"Linux.\n"
+"\n"
+" * \"%s\": a través desta entrada pode especificar cales servicios se\n"
+"executarán na súa máquina. Se ten pensado usar esta máquina coma\n"
+"un servidor sería unha boa idea revisar esta configuración."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Tarxeta RDSI"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Tarxeta RDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface Gráfica"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Elixa o disco duro que desexa borrar para poder crear a súa nova partición\n"
+"Mageia. Teña tino, porque se perderán tódolos datos da unidade e\n"
+"non se poderán volver recuperar!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Prema en \"%s\" se desexa eliminar tódolos datos e particións presentes\n"
+"neste disco duro. Teña tino, despois de premer en \"%s\", non poderá\n"
+"recuperar ningún dato ou partición presente neste disco duro, incluindo\n"
+"calquera dato de Windows.\n"
+"\n"
+"Prema en \"%s\" para saír sen perder ningún dato ou partición presentes\n"
+"neste disco duro."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Seguinte ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": premendo no botón \"%s\" abrirase o asistente de configuración "
+#~ "de\n"
+#~ "impresoras. Consulte o capítulo correspondente da ``Guía de Inicio'' para "
+#~ "obter\n"
+#~ "máis información acerca de como configurar unha nova impresora. A "
+#~ "interface\n"
+#~ "presente no manual é semellante á que se usa durante a instalación."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Esta é a decisión máis importante para a seguridade do seu sistema\n"
+#~ "GNU/Linux: debe introducir o contrasinal de \"root\". \"Root\" é o\n"
+#~ "administrador do sistema e é o único usuario autorizado para facer\n"
+#~ "actualizacións, engadir usuarios, cambiar a configuración de todo o "
+#~ "sistema,\n"
+#~ "etc. En poucas palabras, \"root\" pode facer de todo! Por isto debe "
+#~ "escoller\n"
+#~ "un contrasinal que sexa difícil de adiviñar: DrakX diralle se o "
+#~ "contrasinal que\n"
+#~ "escolleu é demasiado sinxelo. Como pode ver, non está obrigado a "
+#~ "introducir\n"
+#~ "un contrasinal, pero recomendámoslle que introduza un. GNU/Linux é tan\n"
+#~ "propenso ós erros do operador coma calquera outro sistema operativo. Xa\n"
+#~ "que \"root\" pode superar tódalas limitacións e eliminar de xeito non\n"
+#~ "intencionado tódolos datos das particións ó acceder sen coidado ás\n"
+#~ "propias particións, é importante que sexa difícil chegar a ser \"root\".\n"
+#~ "\n"
+#~ "O contrasinal debería ser unha mestura de caracteres alfanuméricos e ter "
+#~ "unha\n"
+#~ "lonxitude mínima de 8 caracteres. Nunca escriba nun papel o contrasinal "
+#~ "de\n"
+#~ "\"root\" -- isto fai que sexa moito máis sinxelo comprometer o seu "
+#~ "sistema.\n"
+#~ "\n"
+#~ "Un consello: non faga que o contrasinal sexa moi longo ou complicado "
+#~ "porque\n"
+#~ "terá que ser capaz de lembrarse del!\n"
+#~ "\n"
+#~ "O contrasinal non se amosará na pantalla mentres o escribe. Para reducir "
+#~ "as\n"
+#~ "posibilidades dun erro ó escribilo terá que introducilo contrasinal dúas "
+#~ "veces.\n"
+#~ "Se comete dúas veces o mesmo erro de escritura, terá que usar este "
+#~ "contrasinal\n"
+#~ "``incorrecto'' a primeira vez que entre coma \"root\".\n"
+#~ "\n"
+#~ "Se desexa que un servidor de autenticación controle o acceso ó seu "
+#~ "ordenador,\n"
+#~ "prema no botón \"%s\".\n"
+#~ "\n"
+#~ "Se a súa rede usa servicios de autenticación coma LDAP, NIS, ou un PDC\n"
+#~ "dun Dominio Windows, seleccione o axeitado de \"%s\". Se non sabe cal "
+#~ "usar,\n"
+#~ "deberialle preguntar ó administrador da súa rede.\n"
+#~ "\n"
+#~ "Se ten problemas para lembrar o contrasinal, ou se o seu ordenador nunca\n"
+#~ "vai estar conectado á Internet e confía en tódalas persoas que usan o "
+#~ "seu\n"
+#~ "ordenador, pode elixir \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "autenticación"
diff --git a/perl-install/install/help/po/he.po b/perl-install/install/help/po/he.po
new file mode 100644
index 000000000..4bea8e723
--- /dev/null
+++ b/perl-install/install/help/po/he.po
@@ -0,0 +1,1998 @@
+# translation of Drakx-help.po to Hebrew
+# Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# This file is distributed under the GNU GPL license.
+#
+#
+# Ram Matityahu <linuxfun@email.com>, 2003.
+# nadav mavor <nadav@mavor.com>, 2003.
+# el-cuco <cuco3001@yahoo.com>, 2003.
+# Diego Iastrubni <iastrubn@actcom.co.il>, 2003.
+# dovix <dovix2003@yahoo.com>, 2004, 2005.
+# Itay Flikier <itayff@gmail.com>, 2005.
+# Dotan Kamber <kamberd@yahoo.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: Drakx-help\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2008-02-01 20:34+0200\n"
+"Last-Translator: \n"
+"Language-Team: Hebrew <he@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"לפני המשך ההתקנה, עליך ×œ×§×¨×•× ×‘×¢×™×•×Ÿ רב ×ת תנ××™ ההסכ×.\n"
+"×”×”×¡×›× ×”×ž×¦\"ב נוגע להפצת מנדריבה לינוקס כמקשה ×חת.\n"
+"×× ×›×œ התנ××™× ×ž×•×¡×›×ž×™× ×¢×œ×™×š, עליך לסמן ×ת התיבה \"%s\", \n"
+"×חרת עליך ללחוץ על הכפתור \"%s\" בכדי ל×תחל המחשב שלך."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"גנו/לינוקס ×”×™× ×ž×¢×¨×›×ª מרובת ×ž×©×ª×ž×©×™× ×•×ž×©×ž×¢×•×ª הדבר שלכל משתמש יכולות להיות "
+"העדפות\n"
+"משלו, ×§×‘×¦×™× ×ž×©×œ×• וכן הל××”. בשונה מ-\"root\", שמנהל ×ת המערכת, ×œ×ž×©×ª×ž×©×™× "
+"הנוספי×\n"
+"בשלב ×–×” ×œ× ×™×”×™×• הרש×ות לשנות מ××•× ×¤×¨×˜ ×œ×§×‘×¦×™× ×•×œ×”×’×“×¨×•×ª ×©×œ×”× ×›×š שהמערכת תוגן "
+"מפני\n"
+"×©×™× ×•×™×™× ×œ× ×ž×›×•×•× ×™× ×ו ×–×“×•× ×™×™× ×”×¢×œ×•×œ×™× ×œ×”×©×¤×™×¢ על המערכת בכללותה. ×™×”×™×” עליך "
+"ליצור לפחות\n"
+"משתמש רגיל ×חד לעצמך -- זהו החשבון בו עליך להשתמש ב×ופן יומיומי. ××£ ×›×™ קל "
+"מ×וד להכנס\n"
+"×›-\"root\" כדי לעשות כל דבר הרי שהדבר עלול להיות מסוכן! משמעות שגי××” פשוטה "
+"עלולה להיות\n"
+"שהמערכת ×œ× ×ª×¢×‘×•×“ עוד. ×× ×™×§×¨×• שגי×ות חמורות מ×וד בעבודתך במצב משתמש רגיל "
+"הגרוע\n"
+"מכל שיכול לקרות ×”×•× ×©×™×בד לך מידע ×בל המערכת עצמה ×œ× ×ª×¤×’×¢.\n"
+"\n"
+"בשדה הר×שון מבוקש ×©× ×מיתי. כמובן שהדבר ×ינו הכרחי --\n"
+"למעשה ב×פשרותך להזין כל מחרוזת. DrakX משתמש במילה הר×שונה המוקלדת בשדה ×–×”\n"
+"ומעתיק ×ותה ×ל ×”-\"%s\" ×©×”×•× ×”×©× ×ותו יצתרך המשתמש להזין כדי להכנס למערכת.\n"
+"ב×פשרותך לבחור ×©× ×©×•× ×” מברירת מחדל זו. השלב ×”×‘× ×”×•× ×”×–× ×ª סיסמה.\n"
+"מבחינת ×בטחה סיסמת משתמש חסר הרש×ות (משתמש רגיל) ××™× ×” ×›×” חשובה כמו זו של "
+"\"root\"\n"
+"×בל ×ין משמעות הדבר שיש להזניחה ולהש×ירה ריקה ×ו פשוטה מדי: בסופו של דבר\n"
+"×לו ×”×§×‘×¦×™× ×©×œ×š שיהיו בסכנה\n"
+"\n"
+"×חרי לחיצה על \"%s\" ניתן להוסיף ×ž×©×ª×ž×©×™× × ×•×¡×¤×™×. יש להוסיף משתמש לכל ×חד "
+"מחבריך,\n"
+"×ביך, ×חותך וכו'. יש להקיש על \"%s\" ×‘×¡×™×•× ×”×•×¡×¤×ª המשתמשי×.\n"
+"\n"
+"הקשה על כפתור ×”-\"%s\" מ×פשרת לשנות ×ת \"מעטפת\" ברירת המחדל של המשתמש\n"
+"(bash ×”×™× ×‘×¨×™×¨×ª המחדל).\n"
+"\n"
+"×‘×¡×™×•× ×”×•×¡×¤×ª ×”×ž×©×ª×ž×©×™× ×ª×•×¤×™×¢ ש×לה על המשתמש שלחשבונו תתבצע כניסה ×וטומטית.\n"
+"×× ×‘×¨×¦×•× ×š ב×פשרות זו (ו×ין לך ד×גות לגבי ×בטחה מקומית), יש לבחור ×ת המשתמש "
+"הרצוי\n"
+"ו×ת מנהל החלונות ו××– ללחוץ על \"%s\". ×× ×ין לך רצון בכך יש להוריד ×ת הסימון "
+"מתיבת ה-\"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "×”×× ×œ×”×¤×¢×™×œ ×פשרות זו?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"להלן רשומות מחיצות הלינוקס שזוהו בכונן הקשיח שלך. \n"
+"ב×פשרותך לשמור ×ת ×”×פשרויות שנבחרו על יד ×”×שף היות והן טובות לרוב ההתקנות "
+"הרגילות.\n"
+"×× ×‘×¨×¦×•× ×š לבצע ×©×™× ×•×™×™× ×¢×œ×™×š לכל הפחות להגדיר מחיצת שורש (\"/\"). ×ין לבחור "
+"מחיצה\n"
+"קטנה מדי ×©×ž× ×œ× × ×™×ª×Ÿ ×™×”×™×” להתקין די תוכנות. ×× ×‘×¨×¦×•× ×š ל×כסן ×ת המידע שלך על "
+"מחיצה\n"
+"נפרדת ×™×”×™×” עליך ליצור ×’× ×ž×—×™×¦×ª \"/home\" (×פשרי רק ×× ×™×© לך יותר ממחיצת "
+"לינוקס\n"
+"×חת).\n"
+"\n"
+"כל מחיצה רשומה ב×ופן הב×: \"ש×\", \"גודל\".\n"
+"המבנה של \"ש×\" ×”×•× \"סוג הכונן הקשיח\", \"מספר הכונן הקשיח\",\n"
+"\"מספר המחיצה\" (\"hda1\" לדוגמה).\n"
+"\n"
+"\"סוג הכונן הקשיח\" ×”×•× \"hd\" ×× ×”×›×•× ×Ÿ ×”×•× ×ž×¡×•×’ IDE ו-\"sd\" ×× ×”×›×•× ×Ÿ ×”×•× "
+"SCSI.\n"
+"\n"
+"\"מספר הכונן הקשיח\" ×”×•× ×ª×ž×™×“ ×ות הב××” ×חרי \"hd\" ×ו \"sd\". עבור כונני "
+"IDE:\n"
+"\n"
+"* \"a\" משמעו הכונן הר×שי על בקר ×”-IDE הר×שון;\n"
+"\n"
+"* \"b\" משמעו הכונן המשני על בקר ×”-IDE הר×שון;\n"
+"\n"
+"* \"c\" משמעו הכונן הר×שי על בקר ×”-IDE השניוני;\n"
+"\n"
+"* \"d\" משמעו הכונן המשני על בקר ה-IDE השניוני.\n"
+"\n"
+"×¢× ×›×•× × ×™ SCSI משמעו של \"a\" ×”×™× ×”×›×•× ×Ÿ ×¢× ×”-SCSI ID הנמוך ביותר, משמעו של \"b"
+"\"\n"
+"×”×™× ×”×›×•× ×Ÿ השני מתחתית ×¡×•×œ× ×”-SCSI ID וכן הל××”."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"התקנת מנדריבה לינוקס פרוסה על מספר תקליטורי×. ×× ×—×‘×™×œ×” מסויימת\n"
+"שנבחרה ממוקמת בתקליטור ×חר, מגש כונן ×”×ª×§×œ×™×˜×•×¨×™× ×™×¤×ª×— לצורך\n"
+"הכנסת תקליטור ×חר לפי הצורך. ×× ×”×ª×§×œ×™×˜×•×¨ המבוקש ×ינו ברשותך,\n"
+"עליך ללחוץ על \"%s\" להמשך ×œ×œ× ×”×ª×§× ×ª החבילה ש××™× ×” זמינה."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"כעת עליך לבחור ××™×–×” חבילות ברצונך להתקין במערכת שלך.\n"
+"קיימות ×לפי חבילות זמינות עבור מנדריבה לינוקס, ועל מנת\n"
+"לפשט עבורך ×ת בחירת החבילות הגדרנו קבוצות המכילות\n"
+"תוכנות לפי נוש×.\n"
+"\n"
+"החבילות השונות שוייכו לקבוצות המייצגות ×©×™×ž×•×©×™× ××¤×©×¨×™×™× ×©×œ\n"
+"המערכת שלך. הקבוצות השונות מויינו ל×רבעה נוש××™×. ב×פשרותך\n"
+"לבחור ×™×™×©×•×ž×™× ×ž× ×•×©××™× ×©×•× ×™×, למשל התקנת \"תחנת עבודה\"\n"
+"יכולה לכלול ×™×™×©×•×ž×™× ×ž×§×‘×•×¦×ª \"שרת\". \n"
+"\n"
+" * \"%s\": עליך לבחור קבוצה ×חת ×ו יותר\n"
+"×ž× ×•×©× ×–×” ב×× ×”×©×™×ž×•×© המיועד של המחשב ×”×•× ×›×ª×—× ×ª עבודה.\n"
+"\n"
+" * \"%s\": ×× ×‘×›×•×•× ×ª×š להשתמש במערכת\n"
+"לפיתוח תוכנה, עליך לבחור ×ת הקבוצות הנדרשות ×ž× ×•×©× ×–×”.\n"
+"קבוצת \"LSB\" תגדיר ×ת המערכת שלך ב×ופן שתת××™× ×œ×ž×¤×¨×˜\n"
+"Linux Standard Base.\n"
+"\n"
+" בחירת בקבוצת \"LSB\" תתקין ×’× ×§×¨× ×œ מסדרת \"2.4\" , במקו×\n"
+"ברירת המחדל מסדרה \"2.6\". דבר ×–×” נועד להבטיח ת×ימות\n"
+"של 100%% לתקן LSB. ×’× ×œ×œ× ×‘×—×™×¨×” בקבוצת LSB, המערכת\n"
+"תהיה תו×מת למפרט LSB כמעט ב 100%%.\n"
+"\n"
+" * \"%s\": ב×× ×”×©×™×ž×•×© המיועד של מערכת\n"
+"זו ×”×•× ×›×©×¨×ª, עליך לבחור ×ת ×”×©×¨×•×ª×™× ×©×‘×¨×¦×•× ×š להתקין.\n"
+"\n"
+" * \"%s\": × ×•×©× ×–×” מרכז ×ת סביבות העבודה\n"
+"הגרפיות. עליך לבחור לפחות סביבת עבודה גרפית ×חת ב××\n"
+"ברצונך להשתמש בממשק גרפי במחשב זה.\n"
+"\n"
+"העברת סמן העכבר מעל ×©× ×§×‘×•×¦×” ×ª×’×¨×•× ×œ×”×¦×’×ª הסבר קצר\n"
+"על הקבוצה.\n"
+"\n"
+"סימון התיבה \"%s\" שימושי ב×× ×‘×¨×¦×•× ×š שליטה מל××”\n"
+"על התקנת החבילות ×ו שיש לך היכרות מוקדמת ×¢× ×”×—×‘×™×œ×•×ª\n"
+"המוצעות.\n"
+"\n"
+"התחלת ההתקנה ב×ופן \"%s\" ת×פשר לך לבטל ×ת\n"
+"הסימון מעל הקבוצות ולמנוע התקנה של חבילות חדשות. ×ופן\n"
+"×–×” שימושי לשדרוג ×ו לעדכון מערכת קיימת.\n"
+"\n"
+"יש ב×פשרותך לבצע התקנה מינימלית ×¢\"×™ הסרת הסימון מכל\n"
+"הקבוצות במהלך התקנה רגילה (להבדיל משדרוג). במקרה זה\n"
+"יוצג חלון שי×פשר לך לבחור ×פשרויות שונות עבור התקנה שכזו:\n"
+"\n"
+" * \"%s\": התקנת החבילות ההכרחיות בלבד\n"
+"להפעלת שולחן עבודה גרפי.\n"
+"\n"
+" * \"%s\": התקנת בסיס המערכת בתוספת\n"
+"מספר תוכנות עזר והתיעוד שלהן. תצורה זו שימושית להגדרת שרת.\n"
+"\n"
+" * \"%s\": ×פשרות זו תתקין ×ת מספר\n"
+"החבילות הקטן ביותר הנדרש למערכת לינוקס עובדת. תצורה זו\n"
+"מ×פשרת עבודה רק דרך שורת הפקודה וגודלה ×”×•× ×› 65 MB בלבד."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "עדכון"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "×¢× ×ž×¡×ž×›×™× ×‘×¡×™×¡×™×™×"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "התקנה מינימלית ב×מת"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"מסך ×–×” מוצג היות וביקשת לבחור ×ת החבילות שיותקנו ב×ופן פרטני.\n"
+"עבור כל × ×•×©× ×ž×•×¦×’×•×ª החבילות שב×פשרותך להתקין, במבנה \"×¢×¥\"\n"
+"ובמיון לקבוצות ותתי-קבוצות. יש ב×פשרותך לבחור קבוצות, תתי-קבוצות,\n"
+"×ו לבחור בחבילות בודדות.\n"
+"\n"
+"כל ×¤×¢× ×©×ª×™×‘×—×¨ חבילה מהעץ, יופיע תי×ור של תוכן החבילה מצד\n"
+"שמ×ל (ב×נגלית) שתספק לך מידע ×ודות החבילה.\n"
+"\n"
+"!! ×× × ×‘×—×¨×” חבילת שרת, בין ×× ×™×©×™×¨×•×ª ×ו מכיוון שנבחרה קבוצה\n"
+"המכילה חבילה זו, ×™×”×™×” עליך ל×שר ש×כן ברצונך להתקין חבילה זו\n"
+"(מסך ×”×ישור יוצג בהמשך). כברירת מחדל, מנדריבה לינוקס\n"
+"תפעיל כל שרות מותקן במהלך ×תחול המחשב. ×’× ×× ×©×¨×ª×™× ×לו\n"
+"×‘×˜×•×—×™× ×•×œ× ×™×“×•×¢ על בעיות ×בטחה בזמן שחרור ההפצה, בהחלט\n"
+"ייתכן שבעיות ×בטחה התגלו ×ו יתגלו במועד מ×וחר יותר. ×× ×œ×\n"
+"ידוע לך מה שרות ×ž×¡×•×™×™× ×מור לעשות ×ו למה ×”×•× ×™×•×ª×§×Ÿ, עליך\n"
+"ללחוץ על \"%s\". בחירה ב \"%s\" תגרו×\n"
+"להתקנת ×”×©×¨×•×ª×™× ×”×¨×©×•×ž×™× ×•×œ×”×¤×¢×œ×ª× ×‘×ופן ×וטומטי בזמן ×תחול\n"
+"המחשב. !!\n"
+"\n"
+"×”×פשרות \"%s\" מיועדת לנטרל\n"
+"×ת הודעת ×”×זהרה המופיעה ×›×שר תוכנת ההתקנה בוחרת בחבילות\n"
+"הנדרשות לצורך התקנה של חבילות נבחרות עקב תלויות. תלויות בין\n"
+"חבילות פרושן שהתקנת חבילה מסויימת מחייבת התקנת חבילות\n"
+"נוספות. תוכנת ההתקנה יכולה לזהות בעצמה ×ת החבילות שיש\n"
+"להתקין על מנת לספק ×ת התלויות הנדרשות.\n"
+"\n"
+"סמל התקליטון הקטן בתחתית הרשימה מ×פשר לך לטעון רשימת\n"
+"חבילות שנוצרה במהלך התקנה קודמת. דבר ×–×” שימושי ב×× ×™×©\n"
+"ברשותך מספר ×ž×—×©×‘×™× ×©×‘×¨×¦×•× ×š להתקין ×¢× ×ž×‘×—×¨ חבילות דומה.\n"
+"בחירה בסמל ×–×” תבקש ממך להכניס תקליטון שנוצר ×‘×¡×™×•× ×”×ª×§× ×”\n"
+"קודמת. הטיפ השני בשלב ×”×§×•×“× ×ž×¡×‘×™×¨ כיצד ניתן ליצור תקליטור\n"
+"×›×–×”."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "תלויות ×וטומטיות"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"תיבת דו-שיח זו משמשת לבחירת ×”×©×™×¨×•×ª×™× ×©×‘×¨×¦×•× ×š ×‘×”×¤×¢×œ×ª× ×‘×תחול המערכת.\n"
+"\n"
+"DrakX ×™×¨×©×•× ×ת כל ×”×©×™×¨×•×ª×™× ×”×–×ž×™× ×™× ×‘×”×ª×§× ×” הנוכחית. יש לסקור כל ×חד מה×\n"
+"בקפדנות ולהוריד ×ת הסימון מ×לו ש××™× × × ×—×•×¦×™× ×‘×תחול.\n"
+"\n"
+"קטע הסבר קצר ×ודות השירות יוצג כשזה יבחר ×ך ××£ על פי כן ×× ×ין לך מידע ×× "
+"השירות\n"
+"שימושי ×ו ל×ו ×™×”×™×” ×–×” בטוח יותר להש×יר ×ת ברירת המחדל.\n"
+"\n"
+"!! בשלב ×–×” עליך לנקוט זהירות יתרה ×× ×‘×›×•×•× ×ª×š להשתמש במכונה כשרת:\n"
+"כנר××” ×ינך רוצה להפעיל ×©×™×¨×•×ª×™× ×©××™× × × ×—×•×¦×™×.\n"
+"יש לזכור ×›×™ ×©×™×¨×•×ª×™× ×ž×¡×•×™×ž×™× ×¢×œ×•×œ×™× ×œ×”×™×•×ª ×ž×¡×•×›× ×™× ×× ×™×•×¤×¢×œ×• על שרת.\n"
+"ככלל יש לבחור רק ×ת ×”×©×™×¨×•×ª×™× ×”×ž×—×•×™×‘×™×. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"מערכות גנו/לינוקס מנהלות ×ת הזמן לפי GMT (Greenwich Mean Time) ומתרגמות "
+"×ותו\n"
+"לזמן מקומי לפי ×זור הזמן שנבחר. ×× ×”×©×¢×•×Ÿ על לוח ×”×× ×©×œ×š מכוון לזמן המקומי "
+"ב×פשרותך\n"
+"לבטל פעילות זו על ידי הסרת הסימון \"%s\" שי×פשר למערכת לדעת ×›×™ שעון המערכת "
+"ושעון\n"
+"החומרה נמצ××™× ×‘×ותו ×זור זמן. דבר ×–×” יעיל בעיקר ×‘×ž×§×¨×™× ×‘×”× ×”×ž×›×•× ×” מ×רחת "
+"מערכת\n"
+"הפעלה נוספת.\n"
+"\n"
+"×”×פשרות \"%s\" תבקר ב×ופן ×וטומטי ×ת שעון המערכת על ידי התחברות לשרת זמן "
+"ב×ינטרנט.\n"
+"לצורך ×–×” עליך להיות ×¢× ×—×™×‘×•×¨ פעיל ל×ינטרנט. ×נו ×ž×ž×œ×™×¦×™× ×¢×œ בחירת שרת זמן "
+"שממוק×\n"
+"קרוב ×ליך. ×פשרות זו למעשה מתקינה שרת זמן שמכונות ×חרות יכולות לעשות בו "
+"שימוש\n"
+"ברשת המקומית שלך."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "סינכרון זמן ×וטומטי"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"כרטיס גרפי\n"
+"\n"
+" תכנית ההתקנה בדרך כלל תזהה ותגדיר ×ת הכרטיס הגרפי במכונה שלך.\n"
+"×× ×”×”×’×“×¨×” ××™× ×” נכונה ב×פשרותך לבחור ×ת הכרטיס המת××™× ×ž×¨×©×™×ž×” זו.\n"
+"\n"
+" במקרה ×©×©×¨×ª×™× ×©×•× ×™× ×–×ž×™× ×™× ×¢×‘×•×¨ הכרטיס שברשותך, ×¢× ×ו בלי ×”×צת\n"
+"תלת-מימד, תוצג לך ×פשרות לבחור ×ת השרת שמת××™× ×‘×ופן הטוב ביותר לצרכיך."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (קיצור ל-X Window System) ×”×•× ×œ×‘ המנשק הגרפי של גנו/לינוקס עליו כל\n"
+"הסביבות הגרפיות (KDE, GNOME,AfterStep'WindowMaker וכו') המגיעות\n"
+"×¢× ×ž× ×“×¨×™×‘×” לינוקס נסמכות.\n"
+"\n"
+"תוצג לך רשימה של ×ž×“×“×™× ×©×•× ×™× ××•×ª× × ×™×ª×Ÿ לשנות כדי לקבל תצוגה גרפית מיטבית.\n"
+"\n"
+"כרטיס גרפי\n"
+"\n"
+" תכנית ההתקנה בדרך כלל תזהה ותגדיר ב×ופן ×וטומטי ×ת הכרטיס הגרפי\n"
+"במכונה שלך. ×× ×”×”×’×“×¨×” ××™× ×” נכונה ב×פשרותך לבחור ×ת הכרטיס המת××™×\n"
+"מרשימה זו.\n"
+"\n"
+" במקרה ×©×©×¨×ª×™× ×©×•× ×™× ×–×ž×™× ×™× ×¢×‘×•×¨ הכרטיס שברשותך, ×¢× ×ו בלי ×”×צת\n"
+"תלת-מימד, תוצג לך ×פשרות לבחור ×ת השרת שמת××™× ×‘×ופן הטוב ביותר לצרכיך.\n"
+"\n"
+"\n"
+"\n"
+"צג\n"
+"\n"
+" תכנית ההתקנה בדרך כלל תזהה ותגדיר ב×ופן ×וטומטי ×ת המסך המחובר\n"
+"למכונה שלך. ×× ×”×”×’×“×¨×” ××™× ×” נכונה ב×פשרותך לבחור ×ת המסך המחובר\n"
+"למחשב מרשימה זו.\n"
+"\n"
+"\n"
+"\n"
+"הפרדה\n"
+"\n"
+" ×›×ן ב×פשרותך לבחור ×ת ההפרדה ו×ת עומק הצבע ×”×–×ž×™× ×™× ×œ×—×•×ž×¨×ª הגרפיקה\n"
+"שלך. יש לבחור ×ת ההגדרות התו×מות ב×ופן הטוב ביותר ×ת צרכיך (ניתן ×™×”×™×”\n"
+"לבצע ×©×™× ×•×™×™× ×חרי ההתקנה). דוגמה של ההגדרות שנבחרו מופיעה בתמונת המסך.\n"
+"\n"
+"\n"
+"\n"
+"בדיקה\n"
+"\n"
+" כתלות בחומרה שלך יתכן שמוב××” זו ×œ× ×ª×•×¤×™×¢.\n"
+"\n"
+" המערכת תנסה לפתוח מסך גרפי בהפרדה הרצויה. ×× × ×™×ª×Ÿ ×™×”×™×” לר×ות ×ת\n"
+"הודעת הבדיקה במהלך הבדיקה והתשובה שתבחר תהיה \"%s\" ××– DrakX\n"
+"ימשיך לשלב הב×. ×× ×œ× ×ª×•×¦×’ ההודעה משמעות הדבר שחלק כלשהו בהגדרה\n"
+"שנבחרה ×וטומטית ×œ× ×”×™×” נכון והבדיקה ×ª×¡×ª×™×™× ×חרי 12 שניות ותחזיר ×ותך\n"
+"לתפריט. יש לשנות ×ת ההגדרות עד לקבלת תצוגה גרפית תקינה.\n"
+"\n"
+"\n"
+"\n"
+"×פשרויות\n"
+"\n"
+" ×©×œ×‘×™× ×לו מ××¤×©×¨×™× ×œ×š לבחור ×× ×‘×¨×¦×•× ×š שהמכונה שלך תעבור למצב גרפי\n"
+"ב×ופן ×וטומטי ×¢× ×תחול המערכת. ב×ופן טבעי כנר××” תבחר ×”×פשרות \"%s\" ××\n"
+"המכונה שלך משתמשת כשרת ×ו במקרה שלו הצלחת להגדיר ×ת התצוגה כהלכה."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"צג\n"
+"\n"
+" תכנית ההתקנה בדרך כלל תזהה ותגדיר ב×ופן ×וטומטי ×ת המסך המחובר\n"
+"למכונה שלך. ×× ×”×”×’×“×¨×” ××™× ×” נכונה ב×פשרותך לבחור ×ת המסך המחובר\n"
+"למחשב מרשימה זו."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"הפרדה\n"
+"\n"
+" ×›×ן ב×פשרותך לבחור ×ת ההפרדה ו×ת עומק הצבע ×”×–×ž×™× ×™× ×œ×—×•×ž×¨×ª הגרפיקה\n"
+"שלך. יש לבחור ×ת ההגדרות התו×מות ב×ופן הטוב ביותר ×ת צרכיך (ניתן ×™×”×™×”\n"
+"לבצע ×©×™× ×•×™×™× ×חרי ההתקנה). דוגמה של ההגדרות שנבחרו מופיעה בתמונת המסך."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"במקרה ×©×©×¨×ª×™× ×©×•× ×™× ×–×ž×™× ×™× ×¢×‘×•×¨ הכרטיס שברשותך, ×¢× ×ו בלי ×”×צת\n"
+"תלת-מימד, תוצג לך ×פשרות לבחור ×ת השרת שמת××™× ×‘×ופן הטוב ביותר לצרכיך."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"×פשרויות\n"
+"\n"
+" ×”×©×œ×‘×™× ×”×‘××™× ×ž××¤×©×¨×™× ×œ×š לבחור ×”×× ×‘×¨×¦×•× ×š שהסביבה\n"
+"הגרפית תופעל בטעינת המערכת. תשובת \"%s\" מת×ימה\n"
+"למחשב ש×מור לתפקד כשרת, ×ו ב×× ×œ× ×”×¦×œ×—×ª להגדיר ×ת\n"
+"התצוגה כר×וי בשלב ההתקנה."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"בשלב זה, עליך לבחור היכן תותקן מערכת מנדריבה לינוקס בכונן\n"
+"הקשיח שלך. ×× ×”×›×•× ×Ÿ הקשיח שלך ריק ×ו ×× ×ž×¢×¨×›×ª הפעלה ×חרת\n"
+"עושה שימוש בכל השטח שעל הכונן, יהיה צורך לבצע חלוקת מחיצות.\n"
+"×‘×ž×™×œ×™× ×¤×©×•×˜×•×ª, חלוקת מחיצות משמעה חלוקה לוגית של שטח הכונן\n"
+"ל××–×•×¨×™× ×©×•× ×™× ×¢×œ מנת ליצור ×ת השטח הנדרש להתקנת מערכת\n"
+"מנדריבה לינוקס החדשה שלך.\n"
+"\n"
+"מ×חר ותהליך חלוקת המחיצות הינו בלתי-הפיך ועלול ×œ×’×¨×•× ×œ×ובדן\n"
+"מידע ב×× ×›×‘×¨ מותקנת לך מערכת הפעלה ×חרת על הכונן, חלוקת\n"
+"מחיצות ×”×™× ×” תהליך מפחיד ומלחיץ עבור ×ž×©×ª×ž×©×™× ×—×¡×¨×™ ניסיון.\n"
+"למזלך, תהליך ההתקנה מכיל ×שף ×שר מפשט ×ת הפעולה. לפני\n"
+"המשך ההתקנה, עליך ×œ×§×¨×•× ×‘×™×¡×•×“×™×•×ª ולהבין ×ת ההור×ות שלהלן.\n"
+"\n"
+"כתלות בתצורת הכונן הקשיח שלך, מוצגות בפניך מספר ×פשרויות\n"
+"כלהלן:\n"
+" * \"%s\": ×פשרות זו תבצע\n"
+"חלוקת מחיצות ×וטומטית של שטח(×™×) פנוי(×™×). בחירה ב×פשרות\n"
+"זו ×œ× ×ª×“×¨×•×© ממך ×©×•× ×¦×¢×“ נוסף.\n"
+"\n"
+" * \"%s\": ×”×שף ×–×™×”×” מחיצת לינוקס\n"
+"×חת ×ו יותר על הכונן הקשיח. בחירת ×פשרות זו ת×פשר לך להגדיר\n"
+"×ת נקודת העיגון של כל ×חת מהמחיצות. נקודות העיגון הקיימות\n"
+"יוצגו כברירת מחדל, וברוב ×”×ž×§×¨×™× ×ž×•×ž×œ×¥ ×©×œ× ×œ×©× ×•×ª הגדרות ×לו.\n"
+"\n"
+" * \"%s\": ב×× ×ž×•×ª×§× ×ª\n"
+"על הכונן הקשיח שלך מערכת חלונות של מיקרוסופט העושה שימוש\n"
+"בכל השטח שעל הכונן, ×™×”×™×” עליך לפנות ×ž×§×•× ×œ×”×ª×§× ×ª גנו/לינוקס.\n"
+"יש ב×פשרותך למחוק ×ת מחיצת החלונות לחלוטין כולל כל המידע\n"
+"שעליה (×¢\"×™ בחירה ב\"מחיקת כל המידע ×”×§×™×™× ×©×¢×œ מחיצת חלונות\")\n"
+"×ו להקטין ×ת גודל מחיצת החלונות העושה שימוש במערכת קבצי×\n"
+"FAT ×ו NTFS. שינוי גודל יכול להתבצע ×œ×œ× ×ובדן\n"
+"מידע, בתנ××™ שביצעת ×יחוי (defragmentation) של מחיצת החלונות\n"
+"×‘×˜×¨× ×ª×—×™×œ×ª ההתקנה. מומלץ ביותר לגבות ×ת המידע לפני ביצוע\n"
+"פעולה זו. מומלץ לבחור ב×פשרות זו ב×× ×”× ×š רוצה להשתמש ×’×\n"
+"במנדריבה לינוקס ×•×’× ×‘×—×œ×•× ×•×ª של מיקרוסופט במחשב ×–×”.\n"
+"\n"
+" לפני בחירה ב×פשרות זו, עליך להבין ×©×‘×¡×™×•× ×”×¤×¢×•×œ×” גודל מחיצת\n"
+"החלונות שלך ×™×”×™×” קטן מהגודל המקורי שלה. לפיכך ייש×ר לך פחות\n"
+"×ž×§×•× ×œ×©×ž×™×¨×ª מידע ולהתקנת תוכנות של חלונות.\n"
+"\n"
+" * \"%s\": עליך לבחור ב×פשרות\n"
+"זו רק ×× ×‘×¨×¦×•× ×š למחוק ×ת כל המידע ×”×§×™×™× ×‘×›×•× ×Ÿ הקשיח שלך\n"
+"ולהתקין ×ת מערכת מנדריבה לינוקס בכל השטח שהתפנה. יש\n"
+"לנקוט משנה זהירות ×˜×¨× ×‘×—×™×¨×ª ×פשרות זו, מ×חר ו×ין דרך לשחזר\n"
+"×ת המצב ×”×§×™×™× ×חרי השלמת הפעולה.\n"
+"\n"
+" !! בחירה ב×פשרות ×”× \"ל ×ª×’×¨×•× ×œ×ž×—×™×§×ª כל המידע שעל הכונן\n"
+"הקשיח !!\n"
+"\n"
+" * \"%s\": ×פשרות זו מופיעה\n"
+"×›×שר כל הכונן תפוס על ידי מערכת חלונות של מיקרוסופט. בחירה\n"
+"ב×פשרות זו ×ª×’×¨×•× ×œ×¤×™×¨×ž×•×˜ ומחיקת כל המידע שעל הכונן הקשיח.\n"
+"\n"
+" !! בחירה ב×פשרות ×”× \"ל ×ª×’×¨×•× ×œ×ž×—×™×§×ª כל המידע שעל הכונן\n"
+"הקשיח !!\n"
+"\n"
+" * \"%s\": יש לבחור ב×פשרות\n"
+"זו ב×× ×‘×¨×¦×•× ×š לבצע חלוקת מחיצות בהת×מה ×ישית. זהירות - ×פשרות\n"
+"זו מסוכנת ושימוש ×œ× ×ž×•×©×›×œ בה עלול ×œ×’×¨×•× ×œ×ובדן כל המידע שקיי×\n"
+"בכונן הקשיח שלך. לפיכך, ×פשרות זו מומלצת רק ×× ×™×© לך נסיון קוד×\n"
+"בחלוקת מחיצות, ול×חר עיון בתיעוד המת××™× ×”×ž×•×¤×™×¢ במדריך המצורף\n"
+"לחבילות מנדריבה לינוקס הנרכשות בחנות."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "שימוש במחיצות קיימות"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "מחיקת כל המידע ×”×§×™×™× ×‘×›×•× ×Ÿ הקשיח"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"ההתקנה הסתיימה כעת, ומערכת הגנו/לינוקס שלך מוכנה לשימוש.\n"
+"עליך ללחוץ \"%s\" בכדי ל×תחל ×ת המחשב. × × ×œ× ×œ×©×›×•×— להוצי×\n"
+"×ת תקליטור ×ו תקליטון ההתקנה. הדבר הר×שון שיופיע על המסך\n"
+"ל×חר ×¡×™×•× ×‘×“×™×§×•×ª החומרה, ×”×•× ×ž× ×”×œ ×”×תחול, שמ×פשר לבחור\n"
+"×יזו מערכת הפעלה ל×תחל.\n"
+"\n"
+" הכפתור \"%s\" משמש להצגת שתי ×פשרויות נוספות:\n"
+" \n"
+"* \"%s\": יצירת תקליטון תצורה ×שר ×™×פשר התקנה\n"
+"חוזרת ×œ×œ× ×¢×–×¨×ª מפעיל, תוך שימוש בהגדרות זהות להתקנה\n"
+"הנוכחית. \n"
+"\n"
+" לתשומת לבך, ×חרי לחיצה על כפתור ×–×” יופיעו שתי ×פשרויות\n"
+"נוספות:\n"
+"\n"
+" *\"%s\". שחזור התקנה יתבצע ב×ופן ×וטומטי\n"
+"למחצה, ×›×שר חלוקת מחיצות תתבצע ב×ופן ×ינטר×קטיבי.\n"
+" \n"
+" *\"%s\". שחזור התקנה יתבצע ב×ופן ×וטומטי\n"
+"לחלוטין: תכולת הכונן הקשיח תמחק, וכל המידע השמור בו ×™×בד.\n"
+"\n"
+" ×פשרות ×–×ת שימושית מ×וד, ×›×שר עליך לבצע התקנה על מספר\n"
+"רב של ×ž×—×©×‘×™× ×“×•×ž×™×. ניתן לקבל מידע נוסף ב×יזור ההתקנה\n"
+"×”×וטומטית ב×תר שלנו.\n"
+"\n"
+" * \"%s\"(*): שמירת רשימת החבילות בהתקנה ×–×ת.\n"
+"בכדי להשתמש ברשימה ×–×ת עבור התקנה חדשה, עליך להתחיל\n"
+"התקנות חדשות מתקליטון זה. במסך הפתיחה, עליך ללחוץ על\n"
+"מקש F1 ו××– לכתוב linux defcfg=\"floppy\" וללחוץ על Enter.\n"
+"\n"
+"(*) שמירת התצורה דורשת תקליטון מפורמט ×¢× ×ž×¢×¨×›×ª קבצי×\n"
+"FAT. ליצירת תקליטון כזה במערכת לינוקס יש להשתמש בפקודת\n"
+"\"mformat a:\", ×ו \"fdformat /dev/fd0\" ו××– \"mkfs.vfat/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "יצירת תקליטון התקנה ×וטומטית"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"×× ×‘×—×¨×ª לעשות שימוש חוזר במחיצות גנו/לינוקס מיושנות ויש לך עניין ב×תחולן "
+"ומחיקת\n"
+"מידע מהן עליך לבחור ×’× ×ž×—×™×¦×•×ª ×לו.\n"
+"\n"
+"לתשומת ליבך - ×ין חובה ל×תחל ×ת כל מחיצות הלינוקס הקיימות. יש ל×תחל ×ת "
+"המחיצות\n"
+"שיכילו ×ת מערכת ההפעלה (כמו \"/\", \"usr/\" ×ו \"var/\") ×בל ×ין צורך ל×תחל "
+"מחיצות\n"
+"המכילות מידע שברצונך לשמור (על פי רוב מחיצת ה-\"home/\").\n"
+"\n"
+"יש לנקוט משנה זהירות בעת בחירת המחיצות. ל×חר ×¡×™×•× ×תחול המחיצות שנבחרו\n"
+"כל המידע שהיה עליהן ימחק ×•×œ× ×™×”×™×” ב×פשרותך לשחזר ×ותו.\n"
+"\n"
+"יש להקיש על \"%s\" כש×תה מוכן ל×תחל ×ת המחיצות.\n"
+"\n"
+"יש להקיש על \"%s\" ×× ×‘×¨×¦×•× ×š לבחור מחיצה נוספת להתקנה החדשה של\n"
+"מערכת ההפעלה מנדריבה-לינוקס.\n"
+"\n"
+"יש להקיש על \"%s\" ×× ×‘×¨×¦×•× ×š לבחור מחיצות שיבדקו למצי×ת ×§×˜×¢×™× ×¤×’×•×¢×™× ×‘×›×•× ×Ÿ."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"בזמן שהתקנת ×ת מנדריבה-לינוקס סביר שחבילות שונות כבר עברו עידכון. ייתכן "
+"שתוקנו\n"
+"ב××’×™× ×•×™×›×•×œ להיות שנפתרו בעיות ×בטחה. כדי ל×פשר לך להנות ×ž×¢×™×“×›×•× ×™× ×לו "
+"ב×פשרותך\n"
+"להוריד ××•×ª× ×›×¢×ª מה×ינטרנט. יש לסמן ×ת \"%s\" ×× ×™×© לך קישור פעיל ל×ינטרנט\n"
+"×ו \"%s\" ×× ×‘×¨×¦×•× ×š להתקין ×ת חבילות העידכון מ×וחר יותר.\n"
+"\n"
+"בחירה ב-\"%s\" תציג רשימת ××ª×¨×™× ×‘×¨×©×ª ×ž×”× × ×™×ª×Ÿ לקבל ×ת העידכוני×. יש לבחור\n"
+"×ת המקור הקרוב ×ליך. ×¢×¥ בחירת חבילות יוצג ועליך לסקור ×ת הבחירות וללחוץ \"%s"
+"\"\n"
+"כדי להוריד ולהתקין ×ת החבילות שנבחרו ×ו \"%s\" כדי לבטל ×ת הפעולה."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"בשלב ×–×”, עליך לבחור ×ת סף ×”×בטחה הרצוי עבור מחשב ×–×”.\n"
+"ככלל ×צבע, סף ×”×בטחה ×מור להיות גבוה יותר ב×× ×”×ž×¢×¨×›×ª\n"
+"כוללת מידע רגיש, ×ו ×× ×”×ž×—×©×‘ ×™×”×™×” מקושר ל×ינטרנט.\n"
+"×”\"מחיר\" של סף ×בטחה גבוה יותר ×™×‘×•× ×‘×¨×•×‘ ×”×ž×§×¨×™× ×¢×œ\n"
+"חשבון קלות השימוש.\n"
+"\n"
+"ב×× ×§×©×” לך לבחור, מומלץ ל×שר ×ת ברירת המחדל. בכל\n"
+"מקרה יש ב×פשרותך לשנות ×ת סף ×”×בטחה בשלב מ×וחר יותר\n"
+"דרך ×”×שף המת××™× ×‘×ž×¨×›×– הבקרה.\n"
+"\n"
+"השדה \"%s\" משמש להגדרת מנהל ×”×בטחה ×”×חר××™ למחשב\n"
+"×–×”. הודעות הנוגעות ל×בטחת המערכת יישלחו לכתובת המצויינת\n"
+"בסעיף זה."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "מנהל ×בטחה"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"בשלב זה, עליך לבחור היכן תותקן מערכת מנדריבה לינוקס בכונן הקשיח\n"
+"שלך. ×× ×›×‘×¨ הוגדרו מחיצותמת×ימות, בין ×× ×¢×œ ידי התקנה קודמת\n"
+"של גנו/לינוקס ×ו על ידי כלי ×חר לחלוקת מחיצותף ב×פשרותך\n"
+"להשתמש במחיצות שהוגדרו קוד×. ×חרת, עליך להגדיר ×ת חלוקת\n"
+"המחיצות לצורך ההתקנה.\n"
+"\n"
+"על מנת ליצור ×ת המחיצות, עליך לבחור בשלב ר×שון ×ת הכונן הקשיח\n"
+"בו תותקן המערכת. ב×פשרותך לבחור ×ת הכונן הקשיח הר×שון על ידי\n"
+"בחירת hda (×ו sda לכונן SCSI), לבחור ×ת הכונן השני על ידי בחירת\n"
+"hdb (×ו sdb לכונן SCSI) וכן הל××”.\n"
+"\n"
+"ב×פשרותך לבחור ×חת מה×פשרויות הב×ות כדי לחלק ×ת הכונן הקשיח:\n"
+"\n"
+" * \"%s\": ×פשרות זו תמחק ×ת כל המחיצות המוגדרות בכונן הקשיח\n"
+"\n"
+" * \"%s\": ×פשרות זו מ×פשרת לך ליצור ב×ופן ×וטומטי מחיצתext4\n"
+"ומחיצת החלפה בשטח הפנוי של הכונן הקשיח שלך\n"
+"\n"
+"\"%s\": מ×פשר לך לבחור ב×פשרויות נוספות:\n"
+"\n"
+" * \"%s\": גיבוי טבלת המחיצות לתקליטון. ×פשרות זו\n"
+"שימושית לשחזור טבלת המחיצות במקרה הצורך. מומלץ מ×וד לבצע\n"
+"שלב ×–×” ×›×מצעי ביטחון.\n"
+"\n"
+" * \"%s\": שחזור טבלת מחיצות שנשמרה ×§×•×“× ×œ×›×Ÿ בתקליטון.\n"
+"\n"
+" * \"%s\": ×× ×˜×‘×œ×ª המחיצות שלך נפגמה, ב×פשרותך לנסות\n"
+"לשחזר ×ותה ב×מצעות ×פשרות זו. עליך לנהוג במשנה זהירות ולזכור\n"
+"שהצלחת הפעולה ××™× ×” מובטחת.\n"
+"\n"
+" * \"%s\": ביטול כל ×”×©×™× ×•×™×™× ×•×©×—×–×•×¨ טבלת המחיצות המקורית\n"
+"של הכונן ×‘×˜×¨× ×‘×•×¦×¢×• השינויי×.\n"
+"\n"
+" * \"%s\": ביטול הסימון מ×פשרות זו יחייב ×ž×©×ª×ž×©×™× ×œ×¢×’×Ÿ ולנתק\n"
+"ב×ופן ידני מדיות שליפות כגון ×ª×§×œ×™×˜×•×¨×™× ×•×ª×§×œ×™×˜×•× ×™×.\n"
+"\n"
+" * \"%s\": ×פשרות זו תפעיל ×שף לחלוקת הכונן הקשיח. השימוש\n"
+"ב×שף מומלץ ×œ×ž×©×ª×ž×©×™× ×œ× ×ž× ×•×¡×™× ×‘×—×œ×•×§×ª מחיצות.\n"
+"\n"
+" * \"%s\": ×פשרות זו מבטלת ×ת ×”×©×™× ×•×™×™× ×©×‘×™×¦×¢×ª.\n"
+"\n"
+" * \"%s\": ×יפשור פעולות נוספות על המחיצות (סוג,)\n"
+"×פשרויות, פירמוט) והצגת מידע ×ž×ª×§×“× ×¢×œ הכונן הקשיח.\n"
+"\n"
+" * \"%s\": ×פשרות זו תשמור ×ת ×”×©×™× ×•×™×™× ×©×‘×™×¦×¢×ª לכונן הקשיח\n"
+"ל×חר ×¡×™×•× ×©×œ×‘ חלוקת המחיצות.\n"
+"\n"
+"בעת הגדרת גודל מחיצה, ב×פשרותך לשנות ×ת גודל המחיצה\n"
+"בעזרת מקשי ×”×—×™×¦×™× ×¢×œ המקלדת.\n"
+"\n"
+"הערה: ב×פשרותך להפעיל כל ×פשרות בעזרת המקלדת. מקש [Tab]\n"
+"×ו מקשי ×”×—×™×¦×™× [מעלה/מטה] מ××¤×©×¨×™× ×œ×š לעבור בין המחיצות.\n"
+"\n"
+"×›×שר נבחרה מחיצה, ב×פשרותך ללחוץ על:\n"
+"\n"
+" * Ctrl-c ליצירת מחיצה חדשה (×›×שר נבחרה מחיצה ריקה)\n"
+"\n"
+" * Ctrl-d למחיקת מחיצה\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"הפרק ext2FS במדריך המשתמש (לרוכשי חבילה ממנדריבה)\n"
+"מכיל מידע על סוגי המחיצות ×”×©×•× ×™× ×©×‘×פשרותך להגדיר.\n"
+"\n"
+"×× ×ž×—×©×‘ ×–×” משתמש במעבד PowerPC (למשל מקינטוש), עליך ליצור\n"
+"מחיצת HFS קטנה בגודל 1MB שתשמש ×ת טוען המערכת yaboot.\n"
+"ב×פשרותך להגדיר יותר ×ž×§×•× ×œ×ž×—×™×¦×” זו, למשל 50MB, כדי להכין מקו×\n"
+"לקבצי kernel ו-ramdisk ×—×œ×•×¤×™×™× ×©×™×פשרו לך להחלץ ממצבי תקלה\n"
+"שימנעו ממך ל×תחל ×ת המערכת ב×ופן הרגיל."
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "עיגון ×וטומטי של התקן-נשלף"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "מעבר בין מצבי רגיל\"מומחה "
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"יותר ממחיצה ×חת של מיקרוסופט זוהתה בכונן הקשיח שלך.\n"
+"× × ×œ×‘×—×•×¨ ×ת המחיצה שברצונך לשנות ×ת גודלה כדי להתקין ×ת מערכת ההפעלה החדשה\n"
+"שלך, מנדריבה-לינוקס.\n"
+"\n"
+"כל מחיצה רשומה כדלקמן: \"×©× ×‘×œ×™× ×•×§×¡\", \"×©× ×‘×—×œ×•× ×•×ª\", \"נפח\".\n"
+"\n"
+"\"×©× ×‘×œ×™× ×•×§×¡\" בנוי ב×ופן הב×: \"סוג הכונן הקשיח\", \"מספ×ר הכונן הקשיח\",\n"
+"\"מספר המחיצה\" (לדוגמה \"hda1\").\n"
+"\n"
+"\"מספר הכונן הקשיח\" ×”×•× ×ª×ž×™×“ ×ות הב××” ×חרי \"hd\" ×ו \"sd\". עבור כונני "
+"IDE:\n"
+"\n"
+"* \"a\" משמעו הכונן הר×שי על בקר ×”-IDE הר×שון;\n"
+"\n"
+"* \"b\" משמעו הכונן המשני על בקר ×”-IDE הר×שון;\n"
+"\n"
+"* \"c\" משמעו הכונן הר×שי על בקר ×”-IDE השניוני;\n"
+"\n"
+"* \"d\" משמעו הכונן המשני על בקר ה-IDE השניוני.\n"
+"\n"
+"×¢× ×›×•× × ×™ SCSI משמעו של \"a\" ×”×™× ×”×›×•× ×Ÿ ×¢× ×”-SCSI ID הנמוך ביותר, משמעו של \"b"
+"\"\n"
+"×”×™× ×”×›×•× ×Ÿ השני מתחתית ×¡×•×œ× ×”-SCSI ID וכן הל××”.\n"
+"\n"
+"\"×”×©× ×‘×—×œ×•× ×•×ª\" ×”×•× ×”×ות של הכונן שלך תחת חלונות (הכונן ×ו המחיצה הר×שוני×\n"
+"× ×§×¨× \":C\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": עליך לבדוק ×ת בחירת המדינה. ××.\n"
+"מיקומך ×ינו במדינה ×–×ת, עליך ללחוץ על הכפתור %s\n"
+"ו××– לבחור מדינה ×חרת. ×× ×”×ž×“×™× ×” שלך ×œ× ×ž×•×¤×™×¢×” ברשימה זו,\n"
+"עליך ללחוץ על הכפתור \"%s\" לרשימה מורחבת."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"שלב ×–×” מופעל רק ×›×שר זוהתה מחיצת גנו/לינוקס קיימת במחשבך.\n"
+"\n"
+"×”×שף צריך לדעת ×× ×‘×¨×¦×•× ×š לבצע התקנה חדשה ×ו לשדרג ×ת מערכת\n"
+"מנדריבה לינוקס הנוכחית המותקנת במחשב זה.\n"
+"\n"
+" * \"%s\": ×ופן התקנה ×–×” ימחק ברוב ×”×ž×§×¨×™× ×ת המערכת הנוכחית.\n"
+"×¢× ×–×ת, ובכפוף לחלוקת המחיצות הקיימת שלך, יש ב×פשרותך למנוע\n"
+"מחלק מהמידע ×”×§×™×™× ×©×œ×š (בעיקר מחיצת home/) מלהיות משוכתב.\n"
+"×פשרות זו שימושית ×× ×‘×¨×¦×•× ×š לשנות ×ת ×ופן חלוקת הכונן הקשיח\n"
+"לשנות ×ת מערכת הקבצי×.\n"
+"\n"
+" * \"%s\": ×ופן התקנה ×–×” ×™×פשר לך לעדכן ×ת החבילות המותקנות\n"
+"במערכת מנדריבה לינוקס שלך. ×ופן חלוקת המחיצות ומידע המשתמש\n"
+"שלך ×œ× ×™×©×•×›×ª×‘×•. רוב שלבי ההתקנה ×”××—×¨×™× ×¢×“×™×™×Ÿ זמיני×, ב×ופן דומה\n"
+"להתקנה רגילה.\n"
+"\n"
+"הערה:\n"
+"בחירת ×פשרות ×”\"שדרוג\" ×מורה לפעול על מערכות מנדריבה לינוקס\n"
+"מגרסה 8.1 ו×ילך. שדרוג גרס×ות הקודמות לגרסת מנדריבה לינוקס 8.1\n"
+"××™× ×” מומלצת."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"×שף ההתקנה בחר עבורך ×ת פריסות המקלדת המת×ימות לשפות שבחרת\n"
+"בשלב קוד×. עליך לבחור ×ת פרישת המקלדת מבין ×”×פשרויות המופיעות\n"
+"להלן ×ו ל×שר ×ת ברירת המחדל.\n"
+"\n"
+"×‘×ž×§×¨×™× ×ž×¡×•×™×ž×™×, יתכן ×›×™ המקלדת שברשותך ××™× ×” תו×מת בדיוק לשפה בה\n"
+"בחרת. לדוגמה, ×× ×©×¤×ª ×”×× ×©×œ×š ×”×™× ×נגלית ×ך ×ž×§×•× ×ž×’×•×¨×™×š ×”×•× ×‘×©×•×™×¥,\n"
+"ייתכן ויש ברשותך מקלדת שוויצרית. לחלופין, ×× ×ž×§×•× ×ž×’×•×¨×™×™×š ×”×•× ×‘×§×•×™×‘×§\n"
+"(קנדה) ×ך בחרת בשפה ×”×נגלית, ייתכן והשפה בה בחרת ופרישת המקלדת\n"
+"שברשותך ××™× × ×ª×•×מי×. בשני המצבי×, השלב הנוכחי בהתקנה ×™×פשר לך\n"
+"לבחור ×ת פרישת המקלדת הרצויה מתוך רשימה.\n"
+"\n"
+"ב×× ×”×ž×§×œ×“×ª שברשותך ×œ× ×ž×•×¤×™×¢×” ברשימה, עליך ללחוץ על הכפתור \"%s\"\n"
+"על מנת להציג רשימה מל××” של המקלדות הנתמכות.\n"
+"\n"
+"×× ×¤×¨×™×©×ª המקלדת הרצויה ××™× ×” מבוססת ל×טינית, החלון ×”×‘× ×™×פשר לך\n"
+"לבחור ×ת צרוף ×”×ž×§×©×™× ×©×™×פשר לך להחליף בין פריסות שונות."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"הצעד הר×שון ×”×•× ×œ×‘×—×•×¨ ×ת השפה הרצויה.\n"
+"\n"
+"הבחירה שלך בשפה תשפיע על תכנית ההתקנה, על התיעוד ועל המערכת ככלל. תחילה יש\n"
+"לבחרו ×ת ×”×זור שלך ו×חר כך ×ת השפה.\n"
+"\n"
+"לחיצה על כפתור ×”-\"%s\" ת×פשר לך לבחור שפות נוספות להתקנה בתחנת העבודה שלך\n"
+"ומשמע שיותקנו ×”×§×‘×¦×™× ×”×™×¢×•×“×™× ×œ×ª×™×¢×•×“ ×•×™×™×©×•×ž×™× ×‘×ותן שפות. לדוגמה ×× ×ž×©×ª×ž×©×™× "
+"דוברי\n"
+"ספרדית ×¢×•×ž×“×™× ×œ×”×©×ª×ž×© במכונה שלך ניתן לבחור עברית כברירת מחדל בתצוגת ×”×¢×¥\n"
+"ו-\"%s\" בחלק המתקד×.\n"
+"\n"
+"×ודות תמיכה ב-UTF-8 (יוניקוד): יוניקוד ×”×•× ×§×™×“×•×“ ×ª×•×•×™× ×—×“×© שנועד לכסות ×ת כל "
+"השפות\n"
+"הקיימות. תמיכה מל××” ביוניקוד בגנו/לינוקס עדיין נמצ×ת בשלבי פיתוח. מסיבה זו "
+"השימוש\n"
+"של מנדריבה-לינוקס ב-UTF-8 יהיה תלוי בהגדרות המשתמש:\n"
+"\n"
+" * ×× × ×‘×—×¨×” שפה שהשימוש בקידוד הישן שלה נפוץ (לדוגמה שפות ×¢× latin1, רוסית,\n"
+"יפנית, סינית, קורי×נית, ת×ילנדית, יוונית, תורכית ורוב השפות שמשתמשות ב-"
+"iso-8859-2)\n"
+"יעשה שימוש בקידוד הישן כברירת מחדל;\n"
+"\n"
+" * עבור שפות ×חרות יעשה שימוש ביוניקוד כברירת מחדל;\n"
+"\n"
+" * ×× × ×‘×—×¨×• שתי שפות ×ו יותר ושתי השפות ×ינן משתמשות ב×ותו קידוד יעשה שימוש\n"
+"ביוניקוד במערכת כולה;\n"
+"\n"
+" * לסיו×, ניתן להכריח שימוש ביוניקוד במערכת כולה לפי בקשת המשתמש על ידי "
+"בחירה\n"
+"ב×פשרות \"%s\" ב×ופן בלתי תלוי בשפות שנבחרו.\n"
+"\n"
+"לתשומת לבך - ×ין מגבלה על בחירת שפה נוספת בודדת. ב×פשרותך לבחור מספר שפות\n"
+"×ו ××£ ×ת כולן על ידי בחירה בתיבת ×”-\"%s\".\n"
+"בחירה בתמיכה בשפה משמעותה שתרגומי×, גופני×, בודקי ×יות וכיו\"ב ×’× ×”× ×™×•×ª×§× ×•\n"
+"עבור השפה שנבחרה.\n"
+"\n"
+"כדי לעבור בין השפות השונות שהותקנו במערכת שלך ב×פשרותך להפעיל ×ת הפקודה\n"
+"\"localedrake\" כ-\"root\" לשינוי השפה שבשימוש המערכת כולה. הפעלת הפקודה\n"
+"כמשתמש רגיל תשנה רק ×ת הגדרות השפה של המשתמש שהפעיל ×ותה."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ספרדית"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"על פי רוב ל-DrakX ×ין בעיה לזהות ×ת מספר ×”×œ×—×¦× ×™× ×‘×¢×›×‘×¨ שלך.\n"
+"×× ×‘×›×œ ×–×ת הייתה בעיה ×”×”× ×—×” ×”×™× ×©×™×© לך עכבר ×¢× ×©× ×™ ×œ×—×¦× ×™× ×•×™×•×’×“×¨ דימוי של "
+"לחצן שלישי\n"
+"דימוי הלחצן השלישי מתקבל על ידי לחיצה בו-זמנית של הלחצן הימני והלחצן "
+"השמ×לי.\n"
+"DrakX ×™×–×”×” ×וטומטית ×× ×”×¢×›×‘×¨ משתמש ב-PS/2, חיבור טורי ×ו USB.\n"
+"\n"
+"×× ×™×© לך עכבר ×¢× ×©×œ×•×©×” ×œ×—×¦× ×™× ×œ×œ× ×’×œ×’×œ×ª ב×פשרותך לבחור בעכבר \"%s\".\n"
+"במקרה ×–×” drakX יגדיר ×ת העכבר כך שניתן לדמות גלגלת ב×מצעותו. כדי לבצע ×ת "
+"ההדמיה\n"
+"יש ללחוץ על הלחצן ×”×מצעי ולהזיז ×ת מצביע העכבר מלעלה ומטה.\n"
+"\n"
+"×× ×ž×¡×™×‘×” כלשהי ברצונך בהגדרת סוג עכבר שונה, ניתן לבחור ×ותו מהרשימה "
+"המסופקת.\n"
+"\n"
+"ניתן לבחור במוב××” \"%s\" לבחירה בסוג עכבר \"נפוץ\" וזה יעבוד ×¢× ×›×œ ×”×¢×›×‘×¨×™× "
+"בקירוב.\n"
+"\n"
+"×× ×‘×—×¨×ª בעכבר שונה מברירת המחדל מסך בדיקה יוצג. ניתן להשתמש ×‘×œ×—×¦× ×™× ×•×‘×’×œ×’×œ×ª\n"
+"כדי ×œ×•×•×“× ×©×”×”×’×“×¨×•×ª נכונות ושהעכבר עובד ב×ופן תקין. ×× ×”×¢×›×‘×¨ ×ינו עובד ×›×™×ות "
+"יש\n"
+"ללחוץ על מקש הרווח ×ו ×”-Enter כדי לבטל ×ת הבדיקה ולחזור לרשימת העכברי×.\n"
+"\n"
+"×œ×¢×ª×™× ×¢×›×‘×¨×™× ×¢× ×’×œ×’×œ×ª ××™× × ×ž×–×•×”×™× ×וטומטית ויהיה עליך לבחור ×ת העכבר "
+"מהרשימה.\n"
+"חשוב במקרה ×–×” לבחור ×ת העכבר בהת×× ×œ×©×§×¢ ×ליו ×”×•× ×ž×—×•×‘×¨. ×חרי בחירת העכבר\n"
+"ולחיצה על \"%s\" תוצג תמונת עכבר על המסך. יש לגלול ×ת הגלגלת כדי ×œ×•×•×“× ×©×”×™×\n"
+"פועלת ×›×™×ות. ×¢× ×’×œ×™×œ×ª הגלגלת יוצג כיוון התנועה על גבי המסך. יש לבדוק ×’× ×ת "
+"לחצני\n"
+"העכבר ×•×œ×•×•×“× ×©×”× ×¢×ª×• מזיזה ×ת הסמן."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "×¢× ×”×“×ž×™×™×ª גלגלת"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "כללי | כל עכבר PS/2 ו-USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"× × ×œ×‘×—×•×¨ ×ת היצי××” הנכונה. לדוגמה, יצי××” \"COM1\" תחת Windows תקר×, "
+"\"ttyS0\"\n"
+"תחת GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"מנהל ×”×תחול ×”×™× ×ª×•×›× ×” קטנה המופעלת על ידי המחשב בזמן ×”×תחול. תכנית זו "
+"×חר×ית\n"
+"ל×תחול המערכת כולה. על פי רוב התקנת מנהל ×”×תחול ×”×™× ×וטומטית לחלוטין. DrakX\n"
+"ינתח ×ת מקטע ×”×תחול בכונן ויפעל בהת×× ×œ× ×ž×¦× ×‘×•:\n"
+"\n"
+" * ×× × ×ž×¦× ×‘×• מקטע ×תחול של חלונות ×”×•× ×™×•×—×œ×£ ×¢× ×ž×§×˜×¢ ×תחול של GRUB/LINO.\n"
+"ב×ופן ×–×”×™×”×™×” ב×פשרותך לבחור בטעינת גנו/לינוקס ×ו כל מערכת הפעלה ×חרת "
+"המותקנת\n"
+"על המחשב שלך.\n"
+"\n"
+" * ×× × ×ž×¦× ×‘×• מקטע של GRUB ×ו LILO ×”×•× ×™×•×—×œ×£ ×¢× ×חד חדש.\n"
+"\n"
+"×× DrakX ×ינו יכול לקבוע ×יפה ×œ×ž×§× ×ת מקטע ×”×תחול ×”×•× ×™×©×ל ×ותך היכן ברצונך\n"
+"למקמו, על פי רוב ×”-\"%s\" ×”×•× ×”×ž×™×§×•× ×”×‘×˜×•×— ביותר. בחירה ב-\"%s\" ×œ× ×ª×ª×§×™×Ÿ "
+"כל\n"
+"מנהל ×תחול. יש לבחור ב×פשרות זו רק במקרה שידועות לך ההשלכות."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"כעת עליך לבחור מנגנון הדפסה במערכת. מערכות הפעלה ×חרות ×פשרו לך\n"
+"להשתמש במערכת הדפסה ×חת, ××•×œ× ×ž× ×“×¨×™×‘×” לינוקס נותנת לך שתיי×\n"
+"כל ×חת ממערכות ההדפסה מות×מות ×œ×©×™×ž×•×©×™× ×ž×¡×•×™×ž×™× ×•×œ×ª×¦×•×¨×•×ª שונות. \n"
+"\n"
+" * \"%s\" ×©×”×™× ×¨×שי תיבות של \"הדפס, ×ל תוסיף לתור\" ×”×™×\n"
+"הבחירה המומלצת ×× ×™×© לך גישה ישירה למדפסת, ברצונך לתקן בעיות של\n"
+"×“×¤×™× ×©× ×ª×§×¢×™× ×‘×ž×“×¤×¡×ª, ו×ין לך מדפסות רשת. (\"%s\" יכולה\n"
+"לשמש בתצורות רשת פשוטות, ×ך ×”×™× ×¢×œ×•×œ×” להיות ×יטית במקצת).\n"
+"מומלץ להשתמש במערכת זו ב×× ×ין לך היכרות קודמת ×¢× ×’× ×•/לינוקס.\n"
+"\n"
+"* \"%s\" - ×©×”×™× ×¨×שי תיבות של \"מערכת הדפסה\n"
+"סטנדרטית ביוניקס\" מצוינת להדפסה למדפסת מקומית ×ו למדפסת\n"
+"שנמצ×ת בחצי השני של העול×. ×”×™× ×¤×©×•×˜×” להגדרה ויכולה לשמש\n"
+"בתור לקוח ×ל מערכת ההדפסה הישנה \"lpd\" , כך ×©×”×™× ×ž×‘×˜×™×—×”\n"
+"ת×ימות ×¢× ×ž×¢×¨×›×•×ª הפעלה ישנות יותר.×שר ×ולי יצטרכו שירותי הדפסה.\n"
+"למרות עצמתה הרבה, התצורה הבסיסית פשוטה כמעט כמו \"pdq\".\n"
+" ×× × ×“×¨×©×ª לך הדמיית שירותי \"lpd\" עליך ל×פשר ×ת שרות הרקע\n"
+"\"cups-lpd\" המערכת \"%s\" כוללת ×’× ×›×œ×™ גרפי \n"
+"להדפסה ×ו לבחירה של ×פשרויות הדפסה, וכמו כן לניהול המדפסת.\n"
+"\n"
+"×× ×œ×חר ההתקנה יתברר ×›×™ מערכת ההדפסה ××™× ×” מת×ימה לצרכי×\n"
+"שלך, יש ב×פשרותך לשנות ×ותה על ידי הרצת ×שף המדפסת\n"
+"ממרכז הבקרה של מנדריבה לינוקס ובחירה בכפתור \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "מצב מומחה"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"בתחילה יבוצע זיהוי התקני IDE שבמחשבך על ידי DrakX ×©×’× ×™×¡×¨×•×§ ×חר ×חד ×ו\n"
+" יותר כרטיסי PCI SCSI במערכת שלך. ×× ×›×¨×˜×™×¡ SCSI נמצ×, DrakX יתקין מנהל התקן\n"
+" מת××™× ×‘×ופן ×וטומטי.\n"
+" \n"
+" \n"
+"מפני שזיהוי החומרה ×”×וטומטי ×ינו מובטח, DrakX עלול להיכשל בזיהוי ×”×›×•× × ×™× "
+"הקשיחי×\n"
+" ×”×ž×•×ª×§× ×™× ×‘×ž×—×©×‘×š. במקרה שכזה ×™×”×™×” עליך להגדיר ×ת החומרה שברשותך ב×ופן ידני.\n"
+" \n"
+" \n"
+" ×× ×”×™×” עליך להגדיר מת×× PC SCSI ב×ופן ידני, DraxX יש×ל ×× ×‘×¨×¦×•× ×š לעדכן ×ת\n"
+" ההגדרות עבורו. עליך ל×פשר ל DrakX לסרוק ×ת החומרה ×חר הגדרות ייחודיות "
+"לכרטיס\n"
+" ×שר דרושות ל×תחול המת××. ברוב ×”×ž×§×¨×™× DrakX יצליח ×œ×”×©×œ×™× ×©×œ×‘ ×–×” ×œ×œ× ×‘×¢×™×•×ª\n"
+" מיוחדות.\n"
+" \n"
+" \n"
+" ×× DrakX נכשל ב×יתור ×”×וטומטי של ×”×¤×¨×ž×˜×¨×™× ×”× ×“×¨×©×™× ×¢×‘×•×¨ החומרה, ×™×”×™×” עליך\n"
+" להגדיר ×ת מנהל ×”×”×ª×§× ×™× ×‘×¢×¦×ž×š."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ×× ×–×•×”×” כרטיס קול במערכת שלך, ×”×•× ×ž×•×¦×’ להלן.\n"
+"×× ×©×ž×ª לב שהכרטיס הקול שמוצג ×ינו מת××™× ×œ×—×•×ž×¨×” שלך, ב×פשרותך,\n"
+"ללחוץ על הכפתור ולבחור מנהל-התקן ×חר."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"×œ×¡×™×›×•× DrakX יציג תקציר של המידע ×ותו ×”×•× ×סף ×ודות המערכת שלך. כתלות "
+"בחומרה\n"
+"המותקנת במכונה שלך יהיו לך ×ת חלק ×ו כל המוב×ות הב×ות. כל מוב××” בנויה מרכיב "
+"החומרה\n"
+"להגדרה ו×חריו תקציר התצורה הנוכחית. יש ללחוץ על כפתרו ×”-\"%s\" המת××™× ×›×“×™ "
+"לשנות.\n"
+"\n"
+" * \"%s\": בדיקת תצורת מיפוי המקלדת הנוכחית ושינויה במקרה הצורך.\n"
+"\n"
+" * \"%s\": בדיקת בחירת המדינה הנוכחית. ×× ×ינך במדינה זו יש להקיש על כפתור ×”-"
+"\"%s\"\n"
+"ולבחור ×ת המדינה המת×ימה. ×× ×”×ž×“×™× ×” שלך ××™× ×” ברשימה המוצגת עליך ללחוץ על "
+"כפתור\n"
+"×”-\"%s\" לקבלת רשימת המדינות המל××”.\n"
+"\n"
+" * \"%s\": כברירת מחדל DrakX מסיק לגבי ×זור הזמן לפי הגדרות המדינה שנבחרה.\n"
+"ב×פשרותך להקיש ×›×ן על כפתור ×”-\"%s\" ×× ×”×¢×¨×š ×ינו נכון.\n"
+"\n"
+" * \"%s\": ×•×™×“×•× ×ª×¦×•×¨×ª העכבר הנוכחית. ניתן ללחוץ על הכפתור כדי לשנותה.\n"
+"\n"
+" * \"%s\": לחיצה על כפתור ×”-\"%s\" תפתח ×ת ×שף הגדרת המדפסות.\n"
+"יש להיוועץ בפרק המת××™× ×‘×ž×“×¨×™×š ×œ×ž×ª×—×™×œ×™× ×œ×ž×™×“×¢ נוסף ×ודות ×”×ופן בו יש להגדיר\n"
+"מדפסת חדשה. המנשק המוצג במדריך שלנו זהה לזה שבשימוש במהלך ההתקנה.\n"
+"\n"
+" * \"%s\": ×× ×–×•×”×” כרטיס קולבמערכת שלך ×”×•× ×™×•×¦×’ ×›×ן. ×× ×”×›×¨×˜×™×¡ המוצג ×ינו "
+"×–×”\n"
+"שמותקן במערכת ב×פשרותך ללחוץ על הכפתור ולבחור התקן-×”× ×¢ ×חר.\n"
+"\n"
+" * \"%s\": ×× ×™×© לך כרטיס טלביזיה זהו ×”×ž×§×•× ×‘×• יוצג מידע ×ודות התצורה שלו.\n"
+"×× ×™×© לך כרטיס טלביזיה ×©×œ× ×–×•×”×” יש להקיש על \"%s\" כדי לנסות להגדירו ידנית.\n"
+"\n"
+" * \"%s\": ב×פשרותך ללחוץ על כפתור ×”-\"%s\" כדי לשנות ×ž×“×“×™× ×”×§×©×•×¨×™× ×œ×›×¨×˜×™×¡\n"
+"×× ×”×¨×’×©×ª×š ×”×™× ×©×”×ª×¦×•×¨×” ××™× ×” נכונה.\n"
+"\n"
+" * \"%s\": כברירת מחדל DrakX מגדיר ×ת המנשק הגרפי שלך להפרדה של \"800x600\"\n"
+"×ו \"1024x768\". ×× ×”×’×“×¨×•×ª ×לו ×ינן מת×ימות לך יש ללחוץ על \"%s\" להגדרה\n"
+"חדשה של המנשק הגרפי.\n"
+"\n"
+" * \"%s\": ×× ×‘×¨×¦×•× ×š להגדיר ×ת החיבור שלך ל×ינטרנט ×ו לרשת המקומית ניתן "
+"לעשות\n"
+"×–×ת כעת. ×פשר לפנות לתיעוד המודפס ×ו למרכז הבקרה של מנדריבה-לינוקס ×חרי\n"
+"שההתקנה הסתימה כדי להנות ×ž×ž×œ×•× ×”×¢×–×¨×” בתהליך ×–×”.\n"
+"\n"
+" * \"%s\": ניתן להגדיר ×ת כתובות השרת המתווך (פרוקסי) ל- HTTP ו- FTP ×× "
+"המכונה\n"
+"עליה מבוצעת ההתקנה ×ª×ž×•×§× ×ž×חורי שרת מתווך.\n"
+"\n"
+" * \"%s\": מוב××” זו מ×פשרת לך להגדיר מחדש ×ת רמת ×”×בטחה כפי שנבחרה בשלב "
+"קוד×.\n"
+"\n"
+" * \"%s\": ×× ×‘×›×•×•× ×ª×š לחבר ×ת המכונה שלך ל×ינטרנט ×™×”×™×” ×–×” רעיון טוב להגן על "
+"עצמך\n"
+"מחדירות על ידי הגדרת חומת-×ש. יש להיוועץ בחלק המת××™× ×‘×ž×“×¨×™×š למתחילי×\n"
+"×œ×¤×¨×˜×™× ×ודות הגדרות חומת ×”×ש.\n"
+"\n"
+" * \"%s\": ×× ×‘×¨×¦×•× ×š לשנות ×ת תצורת מנהל ×”×תחול שלך יש להקיש על כפתור ×–×”.\n"
+"×פשרות זו ר×וי שתשמר ×œ×ž×©×ª×ž×©×™× ×ž× ×•×¡×™×. יש להיוועץ בתיעוד המודפס ×ו בעזרה\n"
+"הזמינה לגבי תצורת מנהל ×”×תחול במרכז הבקרה של מנדריבה-לינוקס.\n"
+"\n"
+" * \"%s\": דרך מוב××” זו ב×שפרותך לבצע כיוונון עדין של ×”×©×™×¨×•×ª×™× ×©×™×•×¤×¢×œ×• "
+"במכונה שלך.\n"
+"×× ×‘×›×•×•× ×ª×š להשתמש במכונה זו כשרת ×™×”×™×” ×–×” רעיון טוב לסקור הגדרות ×לו בקפדנות."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "×ž×•×“× ISDN "
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "×ž×•×“× ISDN "
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ממשק גרפי"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"עליך לבחור ×ת הכונן הקשיח שברצונך למחוק על מנת לפנות מקו×\n"
+"למחיצה החדשה עבור מנדריבה לינוקס. זהירות !!! כל המידע\n"
+"×©× ×ž×¦× ×¢×œ המחיצה יימחק ×•×œ× ×ª×”×™×” ×פשרות לשחזר ×ותו!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"עליך ללחוץ על %s ×× ×‘×¨×¦×•× ×š למחוק ×ת כל המחיצות והמידע על כונן קשיח\n"
+"×–×”. זהירות: ×חרי לחיצה על \"%s\" ×ין דרך לשחזר ×ת המחיצות והמידע\n"
+"×”×ž×•×¤×™×¢×™× ×‘×›×•× ×Ÿ קשיח ×–×”, כולל כל מידע של מערכת חלונות.\n"
+"× × ×œ×œ×—×•×¥ על \"%s\" לעצירת תהליך ×–×” ×œ×œ× ×יבוד המידע והמחיצות הקיימי×."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "המשך ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- קוד×"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": לחיצה על מקש ×”-\"%s\" תפתח ×ת ×שף תצורת המדפסות\n"
+#~ "\n"
+#~ "יש לפנות ×ל הפרק המת××™× ×‘''מדריך למתחילי×'' למידע נוסף ×ודות ×”×ופן בו יש "
+#~ "להגדיר\n"
+#~ "מדפסת חדשה, המנשק המוצג במדריך שלנו ×–×”×” לזה בו ×ž×©×ª×ž×©×™× ×‘×ž×”×œ×š ההתקנה."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "זוהי נקודת הבחירה החשובה ביותר לגבי ×בטחת מערכת הגנו/לינוקס שלך:\n"
+#~ "עליך להזין סיסמת \"root\". \"Root\" ×”×•× ×ž× ×”×œ המערכת ×•×”×•× ×”×ž×©×ª×ž×© היחיד "
+#~ "שרש××™\n"
+#~ "לבצע עדכוני×, להוסיף משתמשי×, לשנות ×ת תצורת המערכת וכו'. בקיצור \"root"
+#~ "\",\n"
+#~ "המוכר ×’× ×›×ž×©×ª×ž×© העל במערכת, יכול לעשות הכל! זו הסיבה בגללה עליך לבחור "
+#~ "סיסמה\n"
+#~ "שיהיה קשה לנחשה. DrakX ×™× ×—×” ×ותך ×× ×”×¡×™×¡×ž×” שבחרת פשוטה מדי. כפי שר×ית\n"
+#~ "×ין עליך חובה להזין סיסמה ×בל ×נחנו ×ž×ž×œ×™×¦×™× ×‘×—×•× ×¨×‘ לעשות כן. מערכת גנו/"
+#~ "לינוקס\n"
+#~ "חשופה לטעויות המפעיל כמו כל מערכת הפעלה ×חרת. היות ו-\"root\" יכול לעבור "
+#~ "כל\n"
+#~ "מגבלה במערכת ועלול, ×©×œ× ×‘×›×•×•× ×” תחילה, למחוק ×ת כל המידע ממחיצות, פשוט על "
+#~ "ידי\n"
+#~ "גישה בהיסח הדעת למחיצות עצמן, חשוב שיהיה קשה להפוך ל-\"root\".\n"
+#~ "\n"
+#~ "על הסיסמה להיות צירוף של ×ותיות וספרות ובת ×œ× ×¤×—×•×ª מ- 8 תווי×. ×œ×¢×•×œ× ×ין "
+#~ "לכתוב ×ת\n"
+#~ "סיסמת משתמש העל -- הדבר עלול לסכן ×ת ×בטחת המערכת שלך.\n"
+#~ "\n"
+#~ "נקודת כשל חשובה: ×ין לבחור סיסמה ×רוכה ×ו מסובכת מדי היות וחובה עליך "
+#~ "לזכור ×ותה!\n"
+#~ "\n"
+#~ "הסיסמה ×œ× ×ª×•×¦×’ על המסך בזמן ההקלדה. כדי להקטין ×ת הסיכוי של טעויות הקלדה "
+#~ "יש\n"
+#~ "להקליד ×ת הסיסמה פעמיי×. ×× ×‘×ž×§×¨×” חזרת על ×ותה טעות הקלדה ×¤×¢×ž×™×™× ×™×”×™×” "
+#~ "עליך\n"
+#~ "להשתמש ב×ותה סיסמה \"שגויה\" ×‘×¤×¢× ×”×¨×שונה בה תבוצע התחברות כמשתמש-על.\n"
+#~ "\n"
+#~ "×× ×™×© לך עניין בשרת ×ימות שיפקח על הגישה למחשב שלך יש להקיש על כפתור\n"
+#~ "×”-\"%s\".\n"
+#~ "\n"
+#~ "×× ×”×¨×©×ª שלך משתמשת ב-LDAP, NIS ×ו בשירות PDC לזיהוי ×‘×ž×ª×—× ×©×œ חלונות יש "
+#~ "לבחור\n"
+#~ "×ת ×”×פשרות המת×ימה ל-\"%s\". ×× ×ינך יודע ב×יזו ×פשרות להשתמש עליך לש×ול\n"
+#~ "×ת מנהל הרשת שלך.\n"
+#~ "\n"
+#~ "×× ×™×© לך בעיות לזכור סיסמ×ות ×ו ×× ×”×ž×—×©×‘ שלך ×œ×¢×•×œ× ×œ× ×™×”×™×” מחובר "
+#~ "ל×ינטרנט\n"
+#~ "ויש לך ביטחון ×ž×œ× ×‘×›×œ מי ×©×¢×•×‘×“×™× ×תו ב×פשרותך לבחור ב-\"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "×ימות"
diff --git a/perl-install/install/help/po/hi.po b/perl-install/install/help/po/hi.po
new file mode 100644
index 000000000..f44d14888
--- /dev/null
+++ b/perl-install/install/help/po/hi.po
@@ -0,0 +1,1508 @@
+# translation of DrakX-hi.po to हिनà¥à¤¦à¥€, भारत (Hindi, India)
+# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# धनञà¥à¤œà¤¯ शरà¥à¤®à¤¾ (Dhananjaya Sharma) <dysxhi@yahoo.co.in>, 2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-hi\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-04-04 21:54+0530\n"
+"Last-Translator: धनञà¥à¤œà¤¯ शरà¥à¤®à¤¾ (Dhananjaya Sharma) <dysxhi@yahoo.co.in>\n"
+"Language-Team: हिनà¥à¤¦à¥€ (Hindi) <dysxhi@yahoo.co.in>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"आगे बà¥à¤¨à¥‡ के पूरà¥à¤µ, आपको अधिकारपतà¥à¤° की शरà¥à¤¤à¥‹à¤‚ को सावधानीपूरà¥à¤µà¤• पॠलेना चहिà¤à¥¤ यह समसà¥à¤¤ \n"
+"मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ वितरण को कवर करता है । यदि आप इसमें दिये हà¥à¤ˆ सभी शरà¥à¤¤à¥‹à¤‚ को मानते है,\n"
+" तो \"%s\" बाकà¥à¤¸ पर चिहà¥à¤¨à¤¨à¥à¤¤à¤¿ करें। यदि नहीं, तो \"%s\" बटन पर कà¥à¤²à¤¿à¤• करने से, \n"
+"आपका कमà¥à¤ªà¥à¤¯à¥‚टर रीबूट हो जायेगा ।"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ à¤à¤• बहà¥-उपयोकà¥à¤¤à¤¾ तंतà¥à¤° है, इसका अरà¥à¤¥ है कि पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• उपयोगकरà¥à¤¤à¤¾ के पास उनकी\n"
+"अपनी वरीयतायें, उनकी अपनी संचिकायें इतà¥à¤¯à¤¾à¤¦à¤¿ हो सकती है। बहà¥-उपयोकà¥à¤¤à¤¾ तंतà¥à¤°à¥‹à¤‚ के बारे में\n"
+"और अधिक जानने के लिठआप ``सà¥à¤Ÿà¥à¤°à¤¾à¤°à¥à¤Ÿà¤° निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा'' को पॠसकते है। परनà¥à¤¤à¥ \"रूट\" के जैसे ना\n"
+"होते हà¥à¤, जो कि तंतà¥à¤° पà¥à¤°à¤¬à¤‚धक है, उपयोगकरà¥à¤¤à¤¾ जिनको आप इस समय जोड़ेगे, को कà¥à¤› भी परिवरà¥à¤¤à¤¿à¤¤ "
+"ना करने\n"
+"की अनà¥à¤®à¤¤à¤¿ होगी सिवाय उनकी अपनी संचिकाओं और उनकी अपनी संरचनाओं की जिससे समूचे तंतà¥à¤°\n"
+"पर पà¥à¤°à¤­à¤¾à¤µ डालने वाले, अनिचà¥à¤›à¤¾à¤ªà¥‚रà¥à¤µà¤• या हानि-पहà¥à¤à¤šà¤¾à¤¨à¥‡-के-उदà¥à¤µà¥‡à¤¶à¥à¤¯ से किये हà¥à¤ परिवरà¥à¤¤à¤¨à¥‹à¤‚ से\n"
+"इस तंतà¥à¤° की रकà¥à¤·à¤¾ होती है। आपको अपने लिठकम-से-कम à¤à¤• नियमित उपयोगकरà¥à¤¤à¤¾ का\n"
+"निरà¥à¤®à¤¾à¤£ करना होगा -- ये वह खाता है जिसका आपको नियमित, पà¥à¤°à¤¤à¤¿à¤¦à¤¿à¤¨ उपयोग हेतà¥\n"
+"करना चाहिà¤à¥¤ हालांकि कà¥à¤› भी और सबकà¥à¤› करने के लिठ\"रूट\" की भांति लॉग\n"
+"करना बहà¥à¤¤ सहज है, परनà¥à¤¤à¥ यह अति खतरनाक भी है!\n"
+"à¤à¤• छोटी सी तà¥à¤°à¥à¤Ÿà¤¿ का अरà¥à¤¥ हो सकता है कि आपका तंतà¥à¤° अब और कारà¥à¤¯ ना करें ।\n"
+"यदि à¤à¤• नियमित उपयोगकरà¥à¤¤à¤¾ की भांति आप à¤à¤• गमà¥à¤­à¥€à¤° तà¥à¤°à¥‚टि करते है, तो अधिक-से-अधिक यह "
+"हो\n"
+"सकता है कि आप कà¥à¤› सूचनाओं को खो बैठें, परनà¥à¤¤à¥ समसà¥à¤¤ तंतà¥à¤° पर इसका कोई पà¥à¤°à¤­à¤¾à¤µ नहीं पड़ेगा।\n"
+"\n"
+"पà¥à¤°à¤¥à¤® पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¥€ आपके वासà¥à¤¤à¤µà¤¿à¤• नाम को पूछती है । वासà¥à¤¤à¤µ में, यह à¤à¤• आवशà¥à¤¯à¤• सूचना नहीं है।\n"
+"-- वासà¥à¤¤à¤µ में आप जो चाहें वो बता सकते है । इस पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¥€ में टाइप किये गये हà¥à¤ पà¥à¤°à¤¥à¤® शबà¥à¤¦ को\n"
+"डà¥à¤°à¥ˆà¤•à¤à¤•à¥à¤¸ उपयोग करेगा और इसकी \"%s\" फ़ीलà¥à¤¡ में पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनायेगा, जो कि इस उपयोगकरà¥à¤¤à¤¾\n"
+" का नाम होगा जिससे तंतà¥à¤° में लॉग किया जा सकेगा । यदि आप चाहते है, तो आप डिफ़ालà¥à¤Ÿ को "
+"बदल\n"
+"सकते है और उपयोगकरà¥à¤¤à¤¾ के नाम को परिवरà¥à¤¤à¤¿à¤¤ कर सकते है । अगला चरण à¤à¤• कूटशबà¥à¤¦ को बताना "
+"है।\n"
+"सà¥à¤°à¤•à¥à¤·à¤¾ की दृषà¥à¤Ÿà¤¿ से, à¤à¤• बिना-अधिकार-वाले (नियमित) उपयोगकरà¥à¤¤à¤¾ का कूटशबà¥à¤¦, \"रूट\" के "
+"कूटशबà¥à¤¦ जितना\n"
+"आवशà¥à¤¯à¤• नहीं है, परनà¥à¤¤à¥ à¤à¤¸à¤¾ कोई कारण नहीं है कि इसे खाली रख कर या अति सरल बना कर,\n"
+"इस पर धà¥à¤¯à¤¾à¤¨ ना दिया जायें: अंत में, यह आपकी संचिकायें होगी जो कि\n"
+"संकट में होगी।\n"
+"\n"
+"जब आप \"%s\" पर कà¥à¤²à¤¿à¤• करते है, तब आप अनà¥à¤¯ उपयोगकरà¥à¤¤à¤¾à¤“ं को जोड़ सकते है। अपने मितà¥à¤°à¥‹à¤‚ में "
+"से\n"
+"हर à¤à¤• के लिà¤, à¤à¤• उपयोगकरà¥à¤¤à¤¾ को जोड़ें । उदाहरण हेतॠअपने पिता या अपनी बहन के लिठ। "
+"\"%s\"\n"
+"पर कà¥à¤²à¤¿à¤• करें जब आप उपयोगकरà¥à¤¤à¤¾à¤“ं का जोड़ना समापà¥à¤¤ कर लें ।\n"
+"\n"
+"\"%s\" बटन पर कà¥à¤²à¤¿à¤• करके आप डिफ़ालà¥à¤Ÿ \"shell\" को उस उपयोगकरà¥à¤¤à¤¾ के लिà¤\n"
+"बदल सकते है (डिफ़ालà¥à¤Ÿ bash है)।\n"
+"\n"
+"जब आप उपयोगकरà¥à¤¤à¤¾à¤“ं को जोड़ना समापà¥à¤¤ कर चà¥à¤•ेगें, तब आपसे à¤à¤• उपयोगकरà¥à¤¤à¤¾ का चयन करने के "
+"लिà¤\n"
+"पूछा जायेगा जो कि जब कमà¥à¤ªà¥à¤¯à¥‚टर आरमà¥à¤­ होने के बाद सà¥à¤µà¤¾à¤šà¤¾à¤²à¤¿à¤¤ रूप से तंतà¥à¤° में लॉग कर सके ।\n"
+"यदि आप इस लकà¥à¤·à¤£ में रूचि रखते है (और सà¥à¤¥à¤¾à¤¨à¥€à¤¯ सà¥à¤°à¤•à¥à¤·à¤¾ के बारे में अधिक चिंता नहीं करते है),\n"
+" तो इचà¥à¤›à¤¿à¤¤ उपयोगकरà¥à¤¤à¤¾ और विणà¥à¤¡à¥‹ पà¥à¤°à¤¬à¤‚धक का चयन करें और फ़िर \"%s\" पर कà¥à¤²à¤¿à¤• करें।\n"
+"यदि आप इस सà¥à¤µà¤¿à¤§à¤¾ के इचà¥à¤›à¥à¤• नहीं है, तो \"%s\" बॉकà¥à¤¸ को अचिहà¥à¤¨à¤¨à¥à¤¤à¤¿ करें।"
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "कà¥à¤¯à¤¾ आप इस लकà¥à¤·à¤£ का उपयोग करना चाहते है?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"आपकी हारà¥à¤¡ डिसà¥à¤• पर खोजे गये विदà¥à¤¯à¤®à¤¾à¤¨ लिनकà¥à¤¸ विभाजनों की यह सूची है । \n"
+"आप विज़ारà¥à¤¡ दà¥à¤µà¤¾à¤°à¤¾ बनायी गयी पसनà¥à¤¦à¥‹à¤‚ को रख सकते है, कà¥à¤¯à¥‹à¤‚कि लगभग सभी सामानà¥à¤¯\n"
+"संसाधनों के लिठयह अचà¥à¤›à¥€ होती है। यदि आप किनà¥à¤¹à¥€à¤‚ परिवरà¥à¤¤à¤¨à¥‹à¤‚ को करते है, तो आपको \n"
+"कम-से-कम à¤à¤• रूट विभाजन (\"/\") को परिभाषित करना चाहिठ। à¤à¤• अति लघॠविभाजन का\n"
+" चयन ना करें अनà¥à¤¯à¤¥à¤¾ आप इस पर अधिक सॉफ़à¥à¤Ÿà¤µà¥‡à¤¯à¤° को संसाधित नहीं कर पायेगें । यदि आप अपनी\n"
+"सूचनाओं को à¤à¤• अलग विभाजन पर सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ रखने चाहते है, तो आपको à¤à¤• होम \"/home\" विभाजन "
+"का \n"
+"भी निरà¥à¤®à¤¾à¤£ करना होगा (तभी समà¥à¤­à¤µ है यदि आपके पास à¤à¤• से अधिक लिनकà¥à¤¸ विभाजन उपलबà¥à¤§ "
+"हो)।\n"
+"\n"
+"पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• विभाजन निमà¥à¤¨ तौर पर सूचीबदà¥à¤§ है: \"नाम\", \"कà¥à¤·à¤®à¤¤à¤¾\"।\n"
+"\n"
+"\"नाम\" वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ है: \"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का पà¥à¤°à¤•ार\", \"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ की संखà¥à¤¯à¤¾\",\n"
+"\"विभाजन संखà¥à¤¯à¤¾\" (उदाहरण हेतॠ, \"hda1\")। \n"
+"\n"
+"\"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का पà¥à¤°à¤•ार\" \"hd\" है यदि आपकी हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ à¤à¤• आईडीई हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ है "
+"और \n"
+"\"sd\" यदि यह à¤à¤• सà¥à¤•ैसी हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ है। \n"
+"\n"
+"\"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ संखà¥à¤¯à¤¾\" \"hd\" या \"sd\" के बाद की à¤à¤• संखà¥à¤¯à¤¾ होती है। \n"
+"आईडीई हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µà¥‹à¤‚ के लिà¤:\n"
+"\n"
+" * \"a\" का अरà¥à¤¥ है \"मà¥à¤–à¥à¤¯ आईडीई नियंतà¥à¤°à¤• पर मासà¥à¤Ÿà¤° हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\";\n"
+"\n"
+" * \"b\" का अरà¥à¤¥ है \"मà¥à¤–à¥à¤¯ आईडीई नियंतà¥à¤°à¤• पर सà¥à¤²à¥‡à¤µ हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\";\n"
+"\n"
+" * \"c\" का अरà¥à¤¥ है \"दà¥à¤µà¤¿à¤¤à¥€à¤¯ आईडीई नियंतà¥à¤°à¤• पर मासà¥à¤Ÿà¤° हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ \";\n"
+"\n"
+" * \"d\" का अरà¥à¤¥ है \"दà¥à¤µà¤¿à¤¤à¥€à¤¯ आईडीई नियंतà¥à¤°à¤• पर सà¥à¤²à¥‡à¤µ हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\"।\n"
+"\n"
+"SCSI हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µà¥‹à¤‚ के साथ, à¤à¤• \"a\" का अरà¥à¤¥ है \"निमà¥à¤¨à¤¤à¤® SCSI पहचानसंखà¥à¤¯à¤¾\", à¤à¤• \"b"
+"\" का अरà¥à¤¥ है\n"
+"\"दà¥à¤µà¤¿à¤¤à¥€à¤¯ निमà¥à¤¨à¤¤à¤® SCSI पहचानसंखà¥à¤¯à¤¾\", इतà¥à¤¯à¤¾à¤¦à¤¿à¥¤"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ संसाधक को अनेकों सीडी-रॉमों पर वितरित किया जाता है । \n"
+"यदि à¤à¤• चयनित पैकेज अनà¥à¤¯ सीडी-रॉम पर सà¥à¤¥à¤¿à¤¤ है, तो डà¥à¤°à¥ˆà¤•à¤à¤•à¥à¤¸ इस वरà¥à¤¤à¤®à¤¾à¤¨ \n"
+"सीडी को बाहर निकाल देगा और जैसी की आवशà¥à¤¯à¤•ता है आपसे सही सीडी को डालने को कहेगा।"
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"अब समय है कि आप बतायें कि आप किन कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ को अपने कमà¥à¤ªà¥à¤¯à¥‚टर ।\n"
+"पर संसाधित करना चाहते है । मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ के लिठअसंखà¥à¤¯ पैकेजों की \n"
+"उपलबà¥à¤§à¤¤à¤¾ है, और इसे सहज बनाने हेतà¥, समान पैकेजों को à¤à¤• जैसे कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ \n"
+"वाले समूहों में रखा गया है।\n"
+"\n"
+"पैकेजों को आपकी मशीन के à¤à¤• विशेष उपयोग के लिठसबंधित समूहों में कà¥à¤°à¤®à¤¬à¤¦à¥à¤§\n"
+"किया गया है । मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ पैकेजों को चार वरà¥à¤—ों में कà¥à¤°à¤®à¤¬à¤¦à¥à¤§ करता है। \n"
+"आप विभिनà¥à¤¨ वरà¥à¤—ों से कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ से मिला और मेल कर सकते है, इसपà¥à¤°à¤•ार से\n"
+"``कारà¥à¤¯à¤•ेनà¥à¤¦à¥à¤°'' संसाधन ``विकास'' वरà¥à¤— में संसाधित कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ को भी ले सकता है।\n"
+"\n"
+" * \"%s\": यदि आप अपनी मशीन को à¤à¤• कारà¥à¤¯à¤•ेनà¥à¤¦à¥à¤° की भांति उपयोग करने की योजना बना रहे "
+"है, तो\n"
+"कारà¥à¤¯à¤•ेनà¥à¤¦à¥à¤° वरà¥à¤— में से à¤à¤• या अधिक समूहों का चयन करें।\n"
+"\n"
+" * \"%s\": यदि अपनी मशीन को पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¤¿à¤‚ग के लिठउपयोग करने हेतॠयोजना बना रहा है,\n"
+"तो इस वरà¥à¤— से निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ समूहों का चयन करें।\n"
+"\n"
+" * \"%s\": यदि आप अपनी मशीन à¤à¤• सरà¥à¤µà¤° बनाने के इचà¥à¤›à¥à¤• है, तो उन सामानà¥à¤¯ सेवाओं का चयन "
+"करें जिनà¥à¤¹à¥‡à¤‚ \n"
+"आप अपनी मशीन पर संसाधित करना चाहते है।\n"
+"\n"
+" * \"%s\": यह वह सà¥à¤¥à¤¾à¤¨ है जहाठआप अपने पसनà¥à¤¦à¥€à¤¦à¤¾ सचितà¥à¤° \n"
+"वातावरण का चयन करेगें । यदि आप à¤à¤• सचितà¥à¤° इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ को \n"
+"रखना चाहते है, तो कम-से-कम à¤à¤• का चयन किया जाना चाहिà¤à¥¤\n"
+"\n"
+"माउस करà¥à¤¸à¤° को à¤à¤• समूह के नाम के ऊपर ले जाने पर, यह उस वरà¥à¤— के बारे में à¤à¤• लघॠ\n"
+"विवरण दिखायेगा । à¤à¤• नियमित संसाधन को करते समय (à¤à¤• उनà¥à¤¨à¤¯à¤¨ के विपरीत), \n"
+"यदि आपने सभी समूहों को अचयनित कर दिया है , तो à¤à¤• संवाद à¤à¤•दम से सबसे ऊपर दिखेगा और \n"
+"à¤à¤• निमà¥à¤¨à¤¤à¤® संसाधन के लिठआवशà¥à¤¯à¤• विभिनà¥à¤¨ विकलà¥à¤ªà¥‹à¤‚ को पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µà¤¿à¤¤ करेगा:\n"
+"\n"
+" * \"%s\": à¤à¤• कारà¥à¤¯à¤¶à¥€à¤² सचितà¥à¤° डेसà¥à¤•टाप हेतà¥, कम-से-कम समà¥à¤­à¤µ पैकेजों को \n"
+"संसाधित करता है।\n"
+"\n"
+" * \"%s\": आधार तंतà¥à¤° को बेसिक उपयोगिता कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ और उनके पà¥à¤°à¤²à¥‡à¤–न के साथ\n"
+"संसाधित करता है। यह संसाधन à¤à¤• सरà¥à¤µà¤° की सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ करने हेतॠउचित है।\n"
+"\n"
+" * \"%s\": à¤à¤• कारà¥à¤¯à¤°à¤¤ लिनकà¥à¤¸ तंतà¥à¤° को पाने के लिà¤, नितानà¥à¤¤ आवशà¥à¤¯à¤• कम-से-कम \n"
+"पैकेजों को संसाधित करता है । इस संसाधन के साथ, आपके पास सिरà¥à¥ž à¤à¤•\n"
+"कॉमाणà¥à¤¡ लाइन इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ होगा । इस संसाधन का कà¥à¤² आकार लगभग\n"
+"६५ मेगाबाइट है।\n"
+"\n"
+"आपने \"%s\" बाकà¥à¤¸ को चिहà¥à¤¨à¤¨à¥à¤¤à¤¿ किया है, जो कि उपयोगी है, यदि आप \n"
+"पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µà¤¿à¤¤ पैकेजों से परिचित है या यदि कà¥à¤¯à¤¾ संसाधित होगा इस पर \n"
+"आप समà¥à¤ªà¥‚रà¥à¤£ नियंतà¥à¤°à¤£ चाहते है।\n"
+"\n"
+"यदि आपने संसाधन को \"%s\" विधा में आरमà¥à¤­ किया है, तो किसी नवीन पैकेज के संसाधन से\n"
+"बचाव के लिà¤, आप सभी वरà¥à¤—ों को अचिहà¥à¤¨à¤¨à¥à¤¤à¤¿ कर सकते है । à¤à¤• विदà¥à¤¯à¤®à¤¾à¤¨ तंतà¥à¤° की मरमà¥à¤®à¤¤ या\n"
+"उनà¥à¤¨à¤¯à¤¨ के लिठयह उपयोगी होता है।"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "उनà¥à¤¨à¤¯à¤¨"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "आधारभूत पà¥à¤°à¤²à¥‡à¤–न के साथ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "वासà¥à¤¤à¤µà¤¿à¤• निमà¥à¤¨à¤¤à¤® संसाधन"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"यदि आपने संसाधन पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ को यह बताया है कि आप à¤à¤•-à¤à¤• करके पैकेजों का चयन करना चाहते "
+"है,\n"
+"तो यह आपको à¤à¤• वृकà¥à¤· पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ करेगा जिसमें कि सभी पैकेजों को समूहों और उप-समूहों में वरà¥à¤—ीकृत\n"
+"किया गया है। इस वृकà¥à¤· को देखते समय, आप किसी भी समूहों का, उप-समूहों का,\n"
+"या à¤à¤•-à¤à¤• करके पैकेजों का चयन कर सकते है। \n"
+"\n"
+"जब भी आप इस वृकà¥à¤· पर सà¥à¤¥à¤¿à¤¤ à¤à¤• पैकेज का चयन करते है, तो दाà¤à¤¯à¥€ तरफ़ à¤à¤• विवरण आता है\n"
+"और आपको जà¥à¤žà¤¾à¤¤ करता है कि इस पैकेज का उदà¥à¤µà¥‡à¤¶à¥à¤¯ कà¥à¤¯à¤¾ है।\n"
+"\n"
+"!! यदि à¤à¤• सरà¥à¤µà¤° पैकेज का चयन किया जा चà¥à¤•ा है, कà¥à¤¯à¥‹à¤‚कि या तो आपने विशिषà¥à¤Ÿ रूप से \n"
+"à¤à¤• अलग पैकेज का चयन किया है या कà¥à¤¯à¥‹à¤‚कि यह à¤à¤• पैकेजों के समूह का भाग \n"
+"है, तो आपसे यह सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करने को पूछा जायेगा कि वासà¥à¤¤à¤µ में इस\n"
+"सरà¥à¤µà¤°à¥‹à¤‚ को संसाधित करना चाहते है। डिफ़ालà¥à¤Ÿ के तौर पर, मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ सà¥à¤µà¤¤à¤ƒ\n"
+"ही किसी संसाधित सेवाओं को बूट के समय आरमà¥à¤­ करेगा । यदि वे सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ भी हो\n"
+"और वितरण जिस समय भेजा जा रहा है उस समय तक उनके बारे में कोई जà¥à¤žà¤¾à¤¤ विचारणीय विषय\n"
+"नहीं हो, फ़िर भी यह पूरà¥à¤£à¤¤à¤¾ समà¥à¤­à¤µ है कि इस मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ को अंतिम रूप\n"
+"देने के उपरानà¥à¤¤, सà¥à¤°à¤•à¥à¤·à¤¾ छिदà¥à¤°à¥‹à¤‚ को खोजा गया हो। यदि आप नहीं जानते है\n"
+"कि à¤à¤• विशेष सेवा को कà¥à¤¯à¤¾ करना चाहिठया इसे कà¥à¤¯à¥‹à¤‚ संसाधित किया गया है, \n"
+"तो \"%s\" पर कà¥à¤²à¤¿à¤• करें। \"%s\" पर कà¥à¤²à¤¿à¤• करने से सूचीबदà¥à¤µ सेवाओं का संसाधन\n"
+"किया जायेगा और डिफ़ालà¥à¤Ÿ के तौर पर, इनà¥à¤¹à¥‡à¤‚ सà¥à¤µà¤¤à¤ƒ ही आरमà¥à¤­ किया जायेगा ।!!\n"
+"\n"
+"\"%s\" विकलà¥à¤ª का उपयोग चेतावनी संवाद को निषà¥à¤•à¥à¤°à¤¿à¤¯ करने के लिठहोता है\n"
+"जो कि तब दिखता है जब भी संसाधन पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ सà¥à¤µà¤¤à¤ƒ ही आधिनता विषय को सà¥à¤¥à¤¿à¤° करने के लिà¤\n"
+"à¤à¤• पैकेज का चयन करती है। कà¥à¤› पैकेजों के मधà¥à¤¯ à¤à¤¸à¤¾ सबंध होता है जिससे कि\n"
+"à¤à¤• पैकेज के संसाधन को आवशà¥à¤¯à¤•ता होती है कि कà¥à¤› अनà¥à¤¯ कारà¥à¤¯à¤•à¥à¤°à¤® भी संसाधित हो।\n"
+"संसाधन पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ इस बात का निरà¥à¤£à¤¯ कर सकती है कि à¤à¤• आधिनता को सनà¥à¤¤à¥‹à¤· देने के लिà¤,\n"
+"किन पैकेजों की आवशà¥à¤¯à¤•ता है जिससे संसाधन सफ़लतापूरà¥à¤µà¤• समà¥à¤ªà¤¨à¥à¤¨ हो जायें।\n"
+"\n"
+"सूची के अंत में दिया हà¥à¤† à¤à¤• छोटा सा फ़à¥à¤²à¤¾à¤ªà¥€ आइकॉन आपको à¤à¤• पूरà¥à¤µ में किये हà¥à¤ संसाधन के \n"
+"दौरान निरà¥à¤®à¤¿à¤¤ पैकेजों की सूची को लोड करने की अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¦à¤¾à¤¨ करता है। यह उपयोगी है यदि\n"
+"आप के पास बहà¥à¤¤ सी मशीनें है जिनà¥à¤¹à¥‡à¤‚ आप समान रूप से संरचित करना चाहते है। \n"
+"इस आईकॉन पर कà¥à¤²à¤¿à¤• करने से, पूरà¥à¤µ में किये गये अनà¥à¤¯ संसाधन के अंत में निरà¥à¤®à¤¿à¤¤ à¤à¤• फ़à¥à¤²à¤¾à¤ªà¥€\n"
+"डिसà¥à¤• को डालने के लिठआपसे कहा जायेगा। à¤à¤¸à¥€ à¤à¤• फ़à¥à¤²à¤¾à¤ªà¥€ का निरà¥à¤®à¤¾à¤£ कैसे करने के लिà¤, \n"
+"अंतिम चरण के दà¥à¤µà¤¿à¤¤à¥€à¤¯ संकेत को पà¥à¥‡à¤‚।"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "सà¥à¤µà¤¤à¤ƒ अधिनताà¤à¤‚"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"इस संवाद का उपयोग यह चयन करने हेतॠकिया जाता है कि आप किन सेवाओं को बूट के समय\n"
+"आरमà¥à¤­ करना चाहते है।\n"
+"\n"
+"वरà¥à¤¤à¤®à¤¾à¤¨ संसाधन पर उपलबà¥à¤§ सभी सेवाओं की सूची को डà¥à¤°à¥ˆà¤• à¤à¤•à¥à¤¸ दिखायेगा ।\n"
+"पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• की सावधानीपूरà¥à¤µà¤• समीकà¥à¤·à¤¾ करें और जिनकी बूट के समय आवशà¥à¤¯à¤•ता नहीं है\n"
+" उनà¥à¤¹à¥‡à¤‚ अचिहà¥à¤¨à¤¨à¥à¤¤à¤¿ करें ।\n"
+"\n"
+"à¤à¤• सेवा के बारे में , जब इसका चयन किया जायें, तो इसके बारे में à¤à¤• लघॠविवरण पाठ को "
+"दिखाया जायेगा।\n"
+"हालांकि, यदि आप सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ नहीं है कि à¤à¤• सेवा उपयोगी होगी कि नहीं, \n"
+"तब इसे इसके डिफ़ालà¥à¤Ÿ वà¥à¤¯à¤µà¤¹à¤¾à¤° पर छोड़ना उचित है।\n"
+"\n"
+"!! इस चरण में अति सावधान रहें, यदि आप अपनी मशीन को à¤à¤• सरà¥à¤µà¤° की भांति उपयोग करने जा "
+"रहे है:\n"
+"तो समà¥à¤­à¤µ है कि आप उस किसी सेवा को आरमà¥à¤­ ना करना चाहगें जिसकी आपको आवशà¥à¤¯à¤•ता ना हो।\n"
+"कृपया धà¥à¤¯à¤¾à¤¨ रखें कि अनेकों सेवायें घातक हो सकती है यदि वे à¤à¤• सरà¥à¤µà¤° पर सकà¥à¤°à¤¿à¤¯ कि जायें।\n"
+"सामानà¥à¤¯à¤¤à¤¾, उन सेवाओं का ही चयन करें जिनकी आपको वासà¥à¤¤à¤µ में आवशà¥à¤¯à¤•ता है। \n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ समय का जीà¤à¤®à¤Ÿà¥€ (गà¥à¤°à¥€à¤¨à¤µà¤¿à¤š मीन समय) में पà¥à¤°à¤¬à¤‚ध करता है और आपके दà¥à¤µà¤¾à¤°à¤¾ चयन "
+"किये \n"
+"हà¥à¤ समय-कà¥à¤·à¥‡à¤¤à¥à¤° के अनà¥à¤¸à¤¾à¤° सà¥à¤¥à¤¾à¤¨à¥€à¤¯ समय में परिवरà¥à¤¤à¤¿à¤¤ करता है। \n"
+"यदि आपके मदरबोरà¥à¤¡ की घड़ी सà¥à¤¥à¤¾à¤¨à¥€à¤¯ समय पर सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ की गयी है\n"
+", तो आप \"%s\" को अचयनित करके इसे निषà¥à¤•à¥à¤°à¤¿à¤¯ कर सकते है, जिससे कि \n"
+"जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ को जà¥à¤žà¤¾à¤¤ हो जायेगा कि तंतà¥à¤° की घड़ी व हारà¥à¤¡à¤µà¥‡à¤¯à¤° की घड़ी समान समय कà¥à¤·à¥‡à¤¤à¥à¤° में "
+"है ।\n"
+"यह उस समय उपयोगी है जब मशीन पर विणà¥à¤¡à¥‹ जैसे अनà¥à¤¯ संचालन-तंतà¥à¤° को भी हो । \n"
+"\n"
+"\"%s\" विकलà¥à¤ª इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ पर सà¥à¤¥à¤¿à¤¤ à¤à¤• सà¥à¤¦à¥‚र समय सरà¥à¤µà¤° से सबंध सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करके सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ रूप से\n"
+"घड़ी को नियंतà¥à¤°à¤¿à¤¤ करती है । इस लकà¥à¤·à¤£ के कारà¥à¤¯ करने के लिà¤, आपके पास à¤à¤• कारà¥à¤¯à¤¶à¥€à¤²\n"
+"इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ कनेकà¥à¤¶à¤¨ होना चाहिठ। आपके समीप सà¥à¤¥à¤¿à¤¤ à¤à¤• समय सरà¥à¤µà¤° का\n"
+"चयन सबसे अचà¥à¤›à¤¾ है । यह विकलà¥à¤ª वासà¥à¤¤à¤µ में à¤à¤• à¤à¤¸à¥‡ समय सरà¥à¤µà¤° को संसाधित करता है जिसका \n"
+"उपयोग आपके सà¥à¤¥à¤¾à¤¨à¥€à¤¯ नेटवरà¥à¤• पर सà¥à¤¥à¤¿à¤¤ अनà¥à¤¯ मशीनों के दà¥à¤µà¤¾à¤°à¤¾ भी किया जा सकता है।"
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "सà¥à¤µà¤¤: समय à¤à¤•सारीकरण"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"गà¥à¤°à¤¾à¥žà¤¿à¤•à¥à¤¸ कारà¥à¤¡\n"
+"\n"
+" सामानà¥à¤¯à¤¤à¤¾ संसाधक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ आपकी मशीन पर लगे हà¥à¤ गà¥à¤°à¤¾à¥žà¤¿à¤• कारà¥à¤¡ को सà¥à¤µà¤¤à¤ƒ ही खोजती "
+"और \n"
+"संसाधित करती है। यदि à¤à¤¸à¤¾ नहीं है, तो आपने वासà¥à¤¤à¤µ में जिस कारà¥à¤¡ को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+" उस अवसà¥à¤¥à¤¾ में जब कि आपके कारà¥à¤¡ के लिठतà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ वेगवृदà¥à¤µà¤¿ के साथ या बिना तà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ "
+"वेगवृदà¥à¤µà¤¿\n"
+"के विभिनà¥à¤¨ सरà¥à¤µà¤°à¥‹à¤‚ की उपलबà¥à¤§à¤¤à¤¾ हो, तो आपसे उस सरà¥à¤µà¤° का चयन करने के लिठकहा जायेगा \n"
+"जो आपकी आवशà¥à¤¯à¤•ताओं की सबसे अधिक पूरà¥à¤¤à¤¿ करता हो ।"
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (à¤à¤•à¥à¤¸ विणà¥à¤¡à¥‹ पà¥à¤°à¤£à¤¾à¤²à¥€ के अरà¥à¤¥ में) जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ सचितà¥à¤° इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ का हà¥à¤°à¤¦à¤¯ है जिस पर\n"
+"मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ के बणà¥à¤¡à¤² किये हà¥à¤ सभी सचितà¥à¤° वातावरण (केडीई, गनोम, आफ़à¥à¤Ÿà¤°à¤¸à¥à¤Ÿà¥‡à¤ª, "
+"विणà¥à¤¡à¥‹à¤®à¥‡à¤•र \n"
+"इतà¥à¤¯à¤¾à¤¦à¤¿) पर निरà¥à¤­à¤° रहते है । \n"
+"\n"
+"आपके के समà¥à¤®à¥à¤– विभिनà¥à¤¨ पैरामीटरों की à¤à¤• सूची पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ की जायेगी जिनà¥à¤¹à¥‡à¤‚ बदलने से \n"
+"आप à¤à¤• à¤à¤šà¥à¤›à¤¿à¤• सचितà¥à¤° पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ को पà¥à¤°à¤¾à¤ªà¥à¤¤ कर सकते है: गà¥à¤°à¤¾à¥žà¤¿à¤• कारà¥à¤¡\n"
+"\n"
+" सामानà¥à¤¯à¤¤à¤¾ संसाधक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ आपकी मशीन पर लगे हà¥à¤ गà¥à¤°à¤¾à¥žà¤¿à¤•ॠकारà¥à¤¡ को सà¥à¤µà¤¤à¤ƒ ही खोजती है "
+"और \n"
+"संसाधित करती है। यदि à¤à¤¸à¤¾ नहीं है, तो आपने वासà¥à¤¤à¤µ में जिस कारà¥à¤¡ को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+" उस अवसà¥à¤¥à¤¾ में जब कि आपके कारà¥à¤¡ के लिठतà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ वेगवृदà¥à¤µà¤¿ के साथ या बिना तà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ "
+"वेगवृदà¥à¤µà¤¿\n"
+"के विभिनà¥à¤¨ सरà¥à¤µà¤°à¥‹à¤‚ की उपलबà¥à¤§à¤¤à¤¾ हो, तो आपसे उस सरà¥à¤µà¤° का चयन करने के लिठकहा जायेगा \n"
+"जो आपकी आवशà¥à¤¯à¤•ताओं की सबसे अधिक पूरà¥à¤¤à¤¿ करता हो।\n"
+"\n"
+"\n"
+"\n"
+"मॉनिटर\n"
+"\n"
+" सामानà¥à¤¯à¤¤à¤¾ संसाधक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ आपकी मशीन पर जà¥à¥œà¥‡ हà¥à¤ मॉनिटर को सà¥à¤µà¤¤à¤ƒ ही खोजती है और \n"
+"संसाधित करती है। यदि à¤à¤¸à¤¾ नहीं है, तो आपने वासà¥à¤¤à¤µ में जिस मॉनिटर को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+"\n"
+"\n"
+"रेजॅलà¥à¤¯à¥‚शनà¥\n"
+"\n"
+" यहाठआप अपने हारà¥à¤¡à¤µà¥‡à¤¯à¤° के लिठउपलबà¥à¤§ रेजॅलà¥à¤¯à¥‚शनॠऔर रंगों की गहराई का चयन कर सकते है। \n"
+"आपकी आवशà¥à¤¯à¤•ताओं को सबसे अधिक सनà¥à¤¤à¥à¤·à¥à¤Ÿ करता हो उसका चयन करें \n"
+"(आप संसाधन के उपरानà¥à¤¤ इसे परिवरà¥à¤¤à¤¿à¤¤ कर सकते है)। à¤à¤• चयनित की हà¥à¤ˆ संरचना \n"
+"का नमूना मॉनिटर में दिखाया गया है।\n"
+"\n"
+"\n"
+"\n"
+"परीकà¥à¤·à¤£\n"
+"\n"
+" इचà¥à¤›à¤¿à¤¤ रेजॅलà¥à¤¯à¥‚शनॠपर यह तंतà¥à¤° à¤à¤• गà¥à¤°à¤¾à¥žà¤¿à¤•à¥à¤² सà¥à¤•à¥à¤°à¥€à¤¨ को खोलने का पà¥à¤°à¤¯à¤¤à¥à¤¨ करेगा । \n"
+"यदि आप परीकà¥à¤·à¤£ के दौरान संदेश को देख पाते है और \"%s\" उतà¥à¤¤à¤° देते है,\n"
+"तो डà¥à¤°à¥ˆà¤•à¤à¤•à¥à¤¸ अगले चरण में चला जायेगा । यदि आप संदेश नहीं देख सकते है, तब\n"
+"इसका अरà¥à¤¥ है कि सà¥à¤µà¤¤à¤ƒà¤–ोजी संरचना के कà¥à¤› भाग ठीक नहीं थे और\n"
+"१२ सेकणà¥à¤¡à¥‹à¤‚ के बाद परीकà¥à¤·à¤£ सà¥à¤µà¤‚म ही समापà¥à¤¤ हो जायेगा, और आपको मीनू पर वापस ले जायेगा।\n"
+"समायोजनाओं को तब तक बदलते रहे जब तक आपको à¤à¤• सही सचितà¥à¤° पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ नहीं मिल जाता है। \n"
+"\n"
+"\n"
+"\n"
+"विकलà¥à¤ªà¥‹à¤‚ के बारे में\n"
+"\n"
+" यहाठआप यह चयन कर सकते है कि कà¥à¤¯à¤¾ आप बूट के समय अपनी मशीन को सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ रूप से "
+"सचितà¥à¤°\n"
+"इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ पर जाने देना चाहते है । सà¥à¤ªà¤·à¥à¤Ÿ रूप से, आप \"%s\" की जाà¤à¤š करना चाहते है कि \n"
+" यदि आपकी मशीन को à¤à¤• सरà¥à¤µà¤° की भांति कारà¥à¤¯ करना हो, या फ़िर\n"
+"आप डिसपà¥à¤²à¥‡ को भली-भांति संरचित करने में सफ़ल ना रहे हो । "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"मॉनिटर\n"
+"\n"
+" सामानà¥à¤¯à¤¤à¤¾ संसाधक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ आपकी मशीन पर जà¥à¥œà¥‡ हà¥à¤ मॉनिटर को सà¥à¤µà¤¤à¤ƒ ही खोजती है और \n"
+"संसाधित करती है। यदि à¤à¤¸à¤¾ नहीं है, तो आपने वासà¥à¤¤à¤µ में जिस मॉनिटर को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है ।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"रेजॅलà¥à¤¯à¥‚शनà¥\n"
+"\n"
+" यहाठआप अपने हारà¥à¤¡à¤µà¥‡à¤¯à¤° के लिठउपलबà¥à¤§ रेजॅलà¥à¤¯à¥‚शनॠऔर रंगों की गहराई का चयन कर सकते है। \n"
+"आपकी आवशà¥à¤¯à¤•ताओं को सबसे अधिक सनà¥à¤¤à¥à¤·à¥à¤Ÿ करता हो उसका चयन करें \n"
+"(हालांकि आप संसाधन के उपरानà¥à¤¤ इसे परिवरà¥à¤¤à¤¿à¤¤ कर सकते है)। à¤à¤• चयनित की हà¥à¤ˆ संरचना \n"
+"का नमूना मॉनिटर में दिखाया गया है।"
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+" उस अवसà¥à¤¥à¤¾ में जब कि आपके कारà¥à¤¡ के लिठतà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ वेगवृदà¥à¤µà¤¿ के साथ या बिना तà¥à¤°à¥€à¤†à¤¯à¤¾à¤®à¥€ "
+"वेगवृदà¥à¤µà¤¿\n"
+"के विभिनà¥à¤¨ सरà¥à¤µà¤°à¥‹à¤‚ की उपलबà¥à¤§à¤¤à¤¾ हो, तो आपसे उस सरà¥à¤µà¤° का चयन करने के लिठकहा जायेगा \n"
+"जो आपकी आवशà¥à¤¯à¤•ताओं की सबसे अधिक पूरà¥à¤¤à¤¿ करता हो।"
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"विकलà¥à¤ªà¥‹à¤‚ के बारे में\n"
+"\n"
+" यहाठआप यह चयन कर सकते है कि कà¥à¤¯à¤¾ आप बूट के समय अपनी मशीन को सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ रूप से "
+"सचितà¥à¤°\n"
+"इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ पर जाने देना चाहते है । सà¥à¤ªà¤·à¥à¤Ÿ रूप से, आप \"%s\" की जाà¤à¤š करना चाहते है कि \n"
+" यदि आपकी मशीन को à¤à¤• सरà¥à¤µà¤° की भांति कारà¥à¤¯ करना हो, या फ़िर\n"
+"आप डिसपà¥à¤²à¥‡ को भली-भांति संरचित करने में सफ़ल ना रहे हो । "
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "विदà¥à¤¯à¤®à¤¾à¤¨ विभाजन को उपयोग करें"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "समà¥à¤ªà¥‚रà¥à¤£ डिसà¥à¤• को मिटायें"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "सà¥à¤µà¤¤à¤ƒ-संसाधन फ़à¥à¤²à¤¾à¤ªà¥€ का निरà¥à¤®à¤¾à¤£"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "सà¥à¤°à¤•à¥à¤·à¤¾ पà¥à¤°à¤¬à¤‚धक"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "रीमूव किये जाने जाने योगà¥à¤¯ माधà¥à¤¯à¤® का सà¥à¤µà¤¤: आरोहण"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "सामानà¥à¤¯/विशेषजà¥à¤ž विधा के मधà¥à¤¯ में आना-जाना"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"आपकी हारà¥à¤¡ डिसà¥à¤• पर à¤à¤• से अधिक माइकà¥à¤°à¥‹à¤¸à¤¾à¥žà¥à¤Ÿ विभाजनों को खोजा गया है । \n"
+"कृपया उस विभाजन का चयन करें जिसका आप अपने नये मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ संचालन तंतà¥à¤° \n"
+"को संसाधित करने के लिठपà¥à¤¨à¤ƒ आकार देना चाहते है ।\n"
+"\n"
+"पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• विभाजन को निमà¥à¤¨à¤²à¤¿à¤–ित पà¥à¤°à¤•ार से सूचीबदà¥à¤§ किया गया है: \"लिनकà¥à¤¸ नाम\", \"विणà¥à¤¡à¥‹ "
+"का नाम\"\n"
+"\"कà¥à¤·à¤®à¤¤à¤¾\"।\n"
+"\"लिनकà¥à¤¸ नाम\" वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ है: \"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का पà¥à¤°à¤•ार\", \"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ की संखà¥à¤¯à¤¾\",\n"
+"\"विभाजन संखà¥à¤¯à¤¾\" (उदाहरण हेतॠ, \"hda1\")। \n"
+"\n"
+"\"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का पà¥à¤°à¤•ार\" \"hd\" है यदि आपकी हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ à¤à¤• आईडीई हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ है "
+"और \n"
+"\"sd\" यदि यह à¤à¤• सà¥à¤•ैसी हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ है। \n"
+"\n"
+"\"हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ संखà¥à¤¯à¤¾\" \"hd\" या \"sd\" के बाद की à¤à¤• संखà¥à¤¯à¤¾ होती है। \n"
+"आईडीई हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µà¥‹à¤‚ के लिà¤:\n"
+"\n"
+" * \"a\" का अरà¥à¤¥ है \"मà¥à¤–à¥à¤¯ आईडीई नियंतà¥à¤°à¤• पर मासà¥à¤Ÿà¤° हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\";\n"
+"\n"
+" * \"b\" का अरà¥à¤¥ है \"मà¥à¤–à¥à¤¯ आईडीई नियंतà¥à¤°à¤• पर सà¥à¤²à¥‡à¤µ हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\";\n"
+"\n"
+" * \"c\" का अरà¥à¤¥ है \"दà¥à¤µà¤¿à¤¤à¥€à¤¯ आईडीई नियंतà¥à¤°à¤• पर मासà¥à¤Ÿà¤° हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ \";\n"
+"\n"
+" * \"d\" का अरà¥à¤¥ है \"दà¥à¤µà¤¿à¤¤à¥€à¤¯ आईडीई नियंतà¥à¤°à¤• पर सà¥à¤²à¥‡à¤µ हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ\"।\n"
+"\n"
+"SCSI हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µà¥‹à¤‚ के साथ, à¤à¤• \"a\" का अरà¥à¤¥ है \"निमà¥à¤¨à¤¤à¤® सà¥à¤•ैसी पहचानसंखà¥à¤¯à¤¾\", à¤à¤• \"b"
+"\" का अरà¥à¤¥ है \"दà¥à¤µà¤¿à¤¤à¥€à¤¯ निमà¥à¤¨à¤¤à¤® सà¥à¤•ैसी पहचानसंखà¥à¤¯à¤¾\", इतà¥à¤¯à¤¾à¤¦à¤¿à¥¤\n"
+"\"विणà¥à¤¡à¥‹ का नाम\" विणà¥à¤¡à¥‹ के अनà¥à¤¤à¤°à¥à¤—त आपकी हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का नाम-शबà¥à¤¦ है\n"
+"(पà¥à¤°à¤¥à¤® डिसà¥à¤• या विभाजन को \"C:\" कहा जाता है)।"
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": वरà¥à¤¤à¤®à¤¾à¤¨ देश चयन की जाà¤à¤š करें । यदि आप इस देश में नहीं है,\n"
+"तो \"%s\" बटन पर कà¥à¤²à¤¿à¤• करें और किसी अनà¥à¤¯ का चयन करें । यदि आपका देश\n"
+"पà¥à¤°à¤¥à¤® सूची में नहीं है, तो सभी देशो की सूची को पाने के लिà¤,\n"
+" \"%s\" बटन पर कà¥à¤²à¤¿à¤• करें ।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "वà¥à¤¹à¥€à¤² à¤à¤®à¥à¤¯à¥‚लेशन के साथ"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "कोई भी पीà¤à¤¸/२ व यूà¤à¤¸à¤¬à¥€ माउस"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"कृपया सही पोरà¥à¤Ÿ का चयन करें । उदाहरण हेतà¥, विणà¥à¤¡à¥‹ के अनà¥à¤¤à¤°à¥à¤—त \"COM1\" पोरà¥à¤Ÿ को\n"
+"जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ के अनà¥à¤¤à¤°à¥à¤—त \"ttyS0\" के रूप में जाना जाता है ।"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"लिलो तथा गà¥à¤°à¤¬, जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ के बूटलोडर हैं । सामानà¥à¤¯à¤¤à¤¾ यह चरण पूरà¥à¤£à¤°à¥‚प से सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤\n"
+"होता है । डिसà¥à¤• बूट सेकà¥à¤Ÿà¤° का डà¥à¤°à¥ˆà¤•à¤à¤•à¥à¤¸ निरीकà¥à¤·à¤£ करेगा और वहाठकà¥à¤¯à¤¾ मिलता है, \n"
+" उस अनà¥à¤¸à¤¾à¤° आचरण करेगा:\n"
+"\n"
+" * यदि à¤à¤• विणà¥à¤¡à¥‹ बूट सेकà¥à¤Ÿà¤° मिलता है, तो इसे गà¥à¤°à¤¬/लिलो बूट सेकà¥à¤Ÿà¤° दà¥à¤µà¤¾à¤°à¤¾\n"
+"बदल दिया जायेगा । इस पà¥à¤°à¤•ार से आप जीà¤à¤¨à¤¯à¥‚/लिनकà¥à¤¸ या अनà¥à¤¯ किसी संचालन-तंतà¥à¤° \n"
+"को अपनी मशीन पर बूट करने में सकà¥à¤·à¤® होगें ।\n"
+"\n"
+" * यदि à¤à¤• गà¥à¤°à¤¬ या लिलो बूट सेकà¥à¤Ÿà¤° मिलता है, तो इसे à¤à¤• \n"
+" नये के साथ बदल दिया जायेगा ।\n"
+"\n"
+"यदि यह à¤à¤• निरà¥à¤§à¤¾à¤°à¤£ नहीं कर सकता है, तब डà¥à¤°à¥ˆà¤•à¤à¤•à¥à¤¸ आपसे पूछेगा कि बूटलोडर को कहाठरकà¥à¤–ा "
+"जायें ।\n"
+"सामानà¥à¤¯à¤¤à¤¾à¤ƒ \"%s\" सबसे सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ सà¥à¤¥à¤¾à¤¨ है । \"%s\" का चयन करने से कोई बूटलोडर संसाधित "
+"नहीं होगा ।\n"
+" इसका उपयोग तभी करें जब आपको जà¥à¤žà¤¾à¤¤ हो कि आप कà¥à¤¯à¤¾ कर रहे है ।"
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "पी०डी०कà¥à¤¯à¥‚०"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "विशेषजà¥à¤ž"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": यदि आपके तंतà¥à¤° पर à¤à¤• धà¥à¤µà¤¨à¤¿ कारà¥à¤¡ को पहिचाना गया है, तो उसे यहाठपर दिखाया "
+"गया है ।\n"
+"यदि आपको à¤à¤¸à¤¾ लगता है कि यहाठपर दिखाया गया साउणà¥à¤¡ कारà¥à¤¡ वह नहीं है जो कि वासà¥à¤¤à¤µ में "
+"आपके\n"
+"तंतà¥à¤° पर सà¥à¤¥à¤¿à¤¤ है, तो बटन पर कà¥à¤²à¤¿à¤• कर सकते है और अनà¥à¤¯ चालक का चयन\n"
+" कर सकते है।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "आई०à¤à¤¸à¥¦à¤¡à¥€à¥¦à¤à¤¨à¥¦ कारà¥à¤¡"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "आई०à¤à¤¸à¥¦à¤¡à¥€à¥¦à¤à¤¨à¥¦ कारà¥à¤¡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "सचितà¥à¤° इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"उस हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ का चयन करें जिसे आप अपने नवीन मैनडà¥à¤°à¤¿à¤µ लिनकà¥à¤¸ विभाजन के संसाधन के लिठ\n"
+"खाली करना चाहते है । सावधान रहें, इस विभाजन पर सà¥à¤¥à¤¿à¤¤ सभी सूचनायें विलà¥à¤ªà¥à¤¤ हो जायेगी \n"
+"और भविषà¥à¤¯ में वापस पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं की जा सकेगी !"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"\"%s\" पर कà¥à¤²à¤¿à¤• करें, यदि आप इस हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ पर सà¥à¤¥à¤¿à¤¤ सभी सूचनाओं व विभाजनों को\n"
+"मिटाना चाहते है । सावधान रहें, \"%s\" पर कà¥à¤²à¤¿à¤• करने के उपरानà¥à¤¤, \n"
+"विणà¥à¤¡à¥‹ डाटा को शामिल करते हà¥à¤, इस हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ पर सà¥à¤¥à¤¿à¤¤ किसी सूचना और विभाजनों को,\n"
+"आप पà¥à¤¨à¤ƒ पà¥à¤°à¤¾à¤ªà¥à¤¤ करने में समरà¥à¤¥ नहीं होगें ।\n"
+"\n"
+"इस हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ पर सà¥à¤¥à¤¿à¤¤ किसी सूचना और विभाजनों को खोयें बिना, इस कà¥à¤°à¤¿à¤¯à¤¾ को\n"
+"रोकने के लिà¤, \"%s\" पर कà¥à¤²à¤¿à¤• करें ।"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "अगला ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- पिछला"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": \"%s\" बटन पर कà¥à¤²à¤¿à¤• करने से पà¥à¤°à¤¿à¤‚टर संरचना विज़ारà¥à¤¡ खà¥à¤² जायेगा।\n"
+#~ "à¤à¤• नवीन पà¥à¤°à¤¿à¤‚टर को सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ कैसे किया जायें इस विषय में और अधिक \n"
+#~ "जानकारी पà¥à¤°à¤¾à¤ªà¥à¤¤ करने हेतॠसà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤° निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा में अनà¥à¤°à¥‚प पाठ को देखें । वहाठपà¥à¤°à¤¸à¥à¤¤à¥à¤¤ \n"
+#~ "किया हà¥à¤† इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸ वही है जिसका की उपयोग संसाधन के दौरान किया गया है।"
+
+#~ msgid "authentication"
+#~ msgstr "पà¥à¤°à¤®à¤¾à¤£à¥€à¤•रण"
diff --git a/perl-install/install/help/po/hr.po b/perl-install/install/help/po/hr.po
new file mode 100644
index 000000000..aacd0c630
--- /dev/null
+++ b/perl-install/install/help/po/hr.po
@@ -0,0 +1,1838 @@
+# Translation of DrakX to Croatian
+# Copyright (C) Croatian team
+# Translators: Danijel Studen <dstuden@vuka.hr>,Denis Lackovic <delacko@fly.srk.fer.hr>,Jerko Škifić <skific@riteh.hr>,Ljubomir Božić <ljubo108@vip.hr>,Nikola Planinac <>,Robert Vuković <robi@surfer.hr>,Sasa Poznanovic <sasa.poznanovic@vuka.hr>,Vedran Vyroubal <vedran.vyroubal@inet.hr>,Vinko Prelac <vinko@buka.hr>,Vlatko Kosturjak <kost@linux.hr>,Zoran Jankovic <zoran.jankovic@inet.hr>,
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-01-04 21:25+CET\n"
+"Last-Translator: auto\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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"
+"X-Generator: TransDict server\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prije nastavka trebate pažljivo proÄitati stavke licence. Ona\n"
+"pokriva cijelu Mageia distribuciju, i ako se ne slažete u svim\n"
+"stavkama sadržanih u njoj, kliknite na \"Odbij\" gumb koji će automatski\n"
+"završiti instalaciju. Za nastavak instalacije, kliknite na\n"
+"\"Prihvati\" gumb."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je viÅ¡ekorisniÄki sustav, i to znaÄi da svaki korisnik može imati\n"
+"vlastita podeÅ¡enja, vlastite datoteke itd. Možete proÄitati ``User Guide''\n"
+"da nauÄite viÅ¡e. Za razliku od \"root\"-a, koji je administrator, korisnici\n"
+"koje ćete dodati ovdje neće imati ovlaÅ¡tenja za mijenjanje niÄega osim "
+"vlastitih\n"
+"datoteka ili vlastitih postavki. Morati ćete napraviti najmanje jednog "
+"normalnog\n"
+"korisnika za vas. Taj raÄun ćete koristiti za prijavljivanje za rutinsko\n"
+"koriÅ¡tenje. Iako je vrlo praktiÄno se prijaviti kao \"root\" svaki dan,\n"
+"to može biti vrlo opasno! Najmanja pogreÅ¡ka može znaÄiti da vaÅ¡ sustav\n"
+"neće više moći raditi. Ako napravite ozbiljnu grešku kao normalan korisnik,\n"
+"možete izgubiti samo neke informacije, ali ne cijeli sustav.\n"
+"\n"
+"Prvo, morate unijeti vaše pravo ime. Ono nije obvezno, naravno\n"
+"možete ustvari unijeti Å¡to god želite. DrakX će tada uzeti prvu rijeÄ koju\n"
+"ste unijeli u to polje i prenijeti je u \"KorisniÄko ime\". To je ime kojim "
+"će \n"
+"se taj konkretni korisnik prijavljivati u sustav. Možete ga mijenjati. "
+"Tada \n"
+"morate ovdje upisati lozinku. Sa gledišta sigurnosti, lozinka "
+"neprivilegiranog \n"
+"(obiÄnog) korisnika nije toliko važna kao \"root\" lozinka, ali je ne treba "
+"zbog\n"
+"toga zanemarivati: naposlijetku, radi se o vašim datotekama.\n"
+"\n"
+"Ako pritisnete \"Prihvati korisnika\", možete ih dodati koliko želite. "
+"Dodajte\n"
+"korisnika za svakog prijatelja: oca ili sestru, npr. Kada ste dodali sve "
+"korisnike\n"
+"koje ste željeli, stisnite \"Završi\".\n"
+"\n"
+"Pritiskanjem na \"Napredno\" možete promijeniti predodređenu \"ljusku\" za "
+"tog\n"
+"korisnika (bash je predodređen)."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite koristiti aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Gore su popisane postojeće Linux particije pronađene na\n"
+"vaÅ¡em hard disku. Možete zadržati izbore napravljene od strane Äarobnjaka, "
+"one su dobre za\n"
+"uobiÄajenu upotrebu. Ukoliko promjenite izbore, morate barem definirati "
+"root\n"
+"particiju (\"/\"). Nemojte izabrati premalu particiju jer nećete moći \n"
+"instalirati dovoljno software-a. Ako želite spremati vaše podatke na "
+"posebnoj particiji,\n"
+"trebate također izabrati \"/home\" (jedino moguće ako imate više od jedne\n"
+"raspoložive Linux particije).\n"
+"\n"
+"\n"
+"Za informaciju, svaka particija je popisana kako slijedi: \"Ime\", "
+"\"Kapacitet\".\n"
+"\n"
+"\n"
+"\"Ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska\",\n"
+"\"broj particije\" (naprimjer, \"hda1\").\n"
+"\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
+"ukoliko je on SCSI hard disk.\n"
+"\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard "
+"diskovima:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znaÄi \"primarni hard disk\", \"b\" znaÄi "
+"\"sekundarni hard disk\", itd..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalacija je proširena na nekoliko CDROMova. DrakX\n"
+"zna ukoliko se odabrani paket nalazi na drugom CDROMu i izbaciti će\n"
+"trenutni CD i pitati vas da ubacite drugi koji je potreban."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada treba odrediti koje programe želite instalirati u svoj sustav. Za "
+"Mandriva \n"
+"Linux su dostupne tisuće paketa, i ne morate ih sve znati na pamet.\n"
+"\n"
+"Ako pokrećete standarnu instalaciju sa CD-ROMa, prvo ćete biti upitani da "
+"navedete\n"
+"CDove koje imate (samo u modu za struÄnjake). Provjerite imena CDova i "
+"oznaÄite\n"
+"kućice koje odgovaraju CDovima koje imate. Pritisnite \"U redu\" kada ste "
+"spremni\n"
+"nastaviti.\n"
+"\n"
+"Paketi su podijeljeni po grupama koje odgovaraju određenoj svrsi. Grupe su \n"
+"podijeljene u Äetiri sekcije:\n"
+"\n"
+" * \"Radna stanica\": ako ćete koristiti stroj kao radnu stanicu, izaberite\n"
+"jednu ili više odgovarajućih grupa;\n"
+"\n"
+" * \"Razvoj\": ako će se Vaš stroj koristiti za programiranje, izaberite\n"
+"željene grupe;\n"
+"\n"
+" * \"Poslužitelj\": ako je Vaš stroj određen za poslužitelja, moći ćete "
+"odabrati\n"
+"koje od uobiÄajenih servisa želite instalirati na njega;\n"
+"\n"
+" * \"GrafiÄko okružje\": naposlijetku, ovdje birate grafiÄko okružje. Barem "
+"jedno\n"
+"mora biti odabrano ako želite imati grafiÄku radnu stanicu!\n"
+"\n"
+"Pomicanjem pokazivaÄa miÅ¡a na ime grupe će se prikazati kratak opis te "
+"grupe. Ako\n"
+"nijedna grupa nije odabrana pri normalnoj instalaciji (za razliku od "
+"nadogradnje),\n"
+"iskoÄit će dijalog sa predloženim opcijama za minimalnu instalaciju:\n"
+"\n"
+" * \"Sa Xima\": instaliranje Å¡to je manje paketa moguće za grafiÄko "
+"suÄelje;\n"
+"\n"
+" * \"Sa osnovnom dokumentacijom\": instalira osnovni sustav sa osnovnim "
+"pomoćnim\n"
+"programima i njihovom dokumentacijom. Ova instalacija je pogodna za "
+"namještanje\n"
+"poslužitelja;\n"
+"\n"
+" * \"Stvarno malena instalacija\": instalirat će strogi minimum potreban da "
+"bi\n"
+"imali Linux sustav koji radi, samo u komandnoj liniji. Ova instalacija je "
+"velika\n"
+"oko 65Mb.\n"
+"\n"
+"Možete provjeriti \"Inividualni odabir paketa\", što je korisno ako ste "
+"upoznati\n"
+"sa ponuđenim paketima ili ako želite imati potpunu kontrolu nad "
+"instaliranim\n"
+"sadržajem.\n"
+"\n"
+"Ako ste pokrenuli instalaciju u \"Nadogradnja\" naÄinu, možete odselektirati "
+"sve\n"
+"grupe da izbjegnete instaliranje novih paketa. Ovo je korisno za "
+"popravljanje\n"
+"ili osuvremenjivanje postojećeg sustava."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Nadogradnja"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom (preporuÄeno!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimalna instalacija"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"KonaÄno, ovisno o tome da li ste izbrali individualne pakete, prikazat će "
+"vam \n"
+"se stablo sa svim paketima podijeljenim u grupe i podgrupe. Pri "
+"pregledavanju\n"
+"stabla možete izabrati Äitave grupe, podgrupe ili pojedine pakete.\n"
+"\n"
+"Kad god izaberet paket na stablu, na desnoj strani se pojavi opisnik. Kada "
+"ste\n"
+"zavrÅ¡ili odabir, pritisnite \"Instaliraj\", Äime ćete pokrenuti proces "
+"instaliranja.\n"
+"Ovisno o brzini raÄunala i broju paketa koji trebaju biti instalirani, "
+"proces može\n"
+"potrajati. Procjena vremena koje će biti potrebno da bi se sve instaliralo "
+"piše\n"
+"na ekranu, da vam pomogne procjeniti imate li vremena za šalicu kave.\n"
+"\n"
+"!! Ako je odabran poslužiteljski paket, namjerno ili jer je pripadao nekoj "
+"grupi,\n"
+"bit ćete upitani da potvrdite da li želite stvarno instalirati te "
+"poslužitelje.\n"
+"Kod Mageiaa, svi instalirani poslužitelji se pokreću prilikom podizanja\n"
+"sustava. ÄŒak iako su sigurni, bez poznatih problema u vrijeme izlaska "
+"distribucije,\n"
+"može se dogoditi da se otkriju sigurnosne rupe nakon zgotovljenja ove "
+"inaÄice\n"
+"Mageiaa. Ako ne znate što bi pojedini servis trebao raditi ili zašto \n"
+"se instalira, pritisnite \"Ne\". Pritiskanjem na \"Da\"instalirat će se "
+"navedeni\n"
+"servisi i pokretat će se automatski. !!\n"
+"\n"
+"\"Automatske ovisnosti\" opcija onemogućuje upozorenje koje se pojavi kad "
+"god \n"
+"instalacija automatski izabere paket. Ovo se dešava stoga što je utvrdila "
+"da\n"
+"treba zadovoljiti ovisnost drugim paketom da bi se uspješno završila.\n"
+"\n"
+"Malena ikona diskete na dnu popisa omogućuje uÄitavanje popisa paketa "
+"izabranih\n"
+"tijekom neke prošle instalacije. Pritiskom na nj upitat će vas da ubacite "
+"disketu\n"
+"napravljenu na kraju neke druge instalacije. Pogledajte drugi savjet u "
+"posljednjem\n"
+"koraku stvaranja takve diskete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatske ovisnosti"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Sada možete izabrati servise koje želite pokreniti pri podizanju.\n"
+"\n"
+"Ovdje su predstavljeni svi servisi dostupni sa trenutnom instalacijom.\n"
+"Pregledajet ih pažljivo i maknite one koje nisu uvijek potrebni prilikom\n"
+"podizanja sustava.\n"
+"\n"
+"Odabiranjem određenog servisa dobit ćete kratki opis tog servisa. Međutim, "
+"ako\n"
+"niste sigurni je li servis koristan ili ne, sigurnije je ostaviti "
+"predodređeno\n"
+"ponašanje.\n"
+"\n"
+"!! Na ovoj razini obratite pozornost na to da li ćete koristiti stroj kao\n"
+"poslužitelj: vjerojatno ne želite pokretati neke servise koje ne trebate.\n"
+"Prisjetite se da neki servisi mogu biti opasni ako su pokrenuti na "
+"poslužitelju.\n"
+"Općenito, izaberite samo one servise koji vam stvarno trebaju.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux upravlja vremenom po GMTu (Greenwich Mean Time) i prevodi ga u\n"
+"lokalno vrijeme prema vremenskoj zoni koju ste izabrali. Moguće je, doduše,\n"
+"ovo iskljuÄiti iskljuÄivanjem odabira \"Hardverski sat namjeÅ¡ten na GMT\" "
+"tako\n"
+"da je hardverski sat jednak sustavskom. Ovo je korisno kada se na raÄunalu\n"
+"nalazi drugi operacijski sustav, poput Windows.\n"
+"\n"
+"Opcija \"Automatska sinhronizacija vremena\" će automatski podešavati sat\n"
+"tako da će se povezivati sa vremenskim poslužiteljem na Internetu. Sa "
+"popisa\n"
+"izaberite poslužitelj najbliže vama. Naravno, morate imati ispravnu vezu sa\n"
+"Internetom da bi ovo radilo. Također, instalirat će vremenski poslužitelj "
+"na\n"
+"vaÅ¡e raÄunalo kojeg, opcionalno, mogu koristiti druga raÄunala u vaÅ¡oj\n"
+"lokalnoj mreži."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska vremenska sinkronizacija (koristeći NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"GrafiÄka kartica\n"
+"\n"
+" Instalacijski program će u uobiÄajenim okolnostima automatski detektirati "
+"i\n"
+" konfigurirati vaÅ¡u grafiÄku karticu. Ukoliko je naÄinjen pogreÅ¡an odabir,\n"
+"možete iz ovog popisa odabrati ispravnu karticu.\n"
+"\n"
+" U sluÄaju da su za vaÅ¡u karticu na raspolaganju razliÄiti serveri, sa ili "
+"bez,\n"
+"3D ubrzanja, program će vas pitati koji server najbolje odgovara vašim "
+"potrebama."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"KonaÄno ćete biti pitani da li želite vidjeti grafiÄko suÄelje pri\n"
+"dizanju. Primjetite da ovo pitanje će biti pitano iako ne želite "
+"istestirati\n"
+"konfiguraciju. Vjerojatno, želite odgovoriti sa \"Ne\" ukoliko će vaše "
+"raÄunalo\n"
+"raditi kao poslužitelj, ili ako niste bili uspješni u konfiguriranju vašeg\n"
+"zaslona."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"U ovom trenutku, trebate izabrati gdje ćete instalirati vaš\n"
+"Mageia operativni sustav na vašem tvrdom disku. Ukoliko je prazan ili \n"
+"ako postojeći operativni sustav koristi Äitav prostor na disku, trebate ga\n"
+"particionirati. Jednostavno, particioniranje hard diska sastoji se od\n"
+"logiÄkog dijeljenja kako bi napravili prostor za instalaciju vaÅ¡eg novog\n"
+"Mageia sustava.\n"
+"\n"
+"Zato Å¡to su posljedice procesa particioniranja obiÄno nepovratne,\n"
+"particioniranje može biti strašno i stresno ukoliko ste korisnik bez "
+"iskustva.\n"
+"Ovaj Äarobnjak pojednostavljuje proces. Prije poÄetka, molimo konzultirajte\n"
+"upute i uzmite vremena koliko vam je potrebno.\n"
+"\n"
+"Ako ste pokrenuli instalaciju u modu za struÄnjake, ući ćete u DiskDrake,\n"
+"Mageiaov alat za particioniranje, s kojim možete fino podešavati\n"
+"particije. Pogledajte DiskDrake odjeljak u ``User Guide''.\n"
+"Iz suÄelja instalacije možete koristiti Äarobnjake koji su ovdje opisani\n"
+"pritiskom na \"ÄŒarobnjak\" dugme.\n"
+"\n"
+"Ako su particije već određene, od prijašnje instalacije, ili nekog drugog\n"
+"alata za particioniranje, samo ih izaberite da bi instalirali vaš Linux "
+"sustav.\n"
+"\n"
+"Ako particije nisu definirane, morate ih stvoriti koriÅ¡tenjem Äarobnjaka.\n"
+"Ovisno o vašem tvrdom disku, nekoliko opcija je dostupno:\n"
+"\n"
+" * \"Koristi slobodni prostor\": ova opcija će jednostavno automatski\n"
+"particionirati vaše prazne diskove. Nećete biti više ništa priupitani;\n"
+"\n"
+" * \"KoriÅ¡tenje postojeće particije\": Äarobnjak je detektirao jednu ili "
+"više\n"
+"postojećih Linux particija na vašem hard disku. Ukoliko\n"
+"ih želite zadržati, izaberite ovu opciju.\n"
+"\n"
+" * \"Obriši cijeli disk\": ukoliko želite obrisati sve podatke i sve "
+"particije\n"
+"koje postoje na vašem hard disku i zamjeniti ih sa\n"
+"vašim novim Mageia sustavom, možete izabrati ovu opciju. Budite\n"
+"pažljivi sa ovim rješenjem, nećete moći\n"
+"povratiti vaš izbor nakon potvrde.\n"
+"\n"
+" * \"Koristiti slobodan prostor na Windows particiji\": ukoliko je "
+"Microsoft\n"
+"Windows instaliran na vašem hard disku i zauzima\n"
+"cjeli raspoloživ prostor na njemu, trebate napraviti slobodan prostor za\n"
+"Linux podatke. Da biste to napravili možete obrisati vašu\n"
+"Microsoft Windows particiju i podatke (pogledajte \"Brisanje cijelog diska"
+"\"\n"
+"ili \"Ekspert mod\" rjeÅ¡enja) ili mijenjati veliÄinu vaÅ¡e\n"
+"Microsoft Windows particije. Mijenjanje veliÄine može se obaviti bez\n"
+"gubitka bilo kakvih podataka, ako prethodno defragmentirate Windows "
+"particiju.\n"
+"Ovo rjeÅ¡enje je preporuÄeno ukoliko želite koristiti zajedno Mageia\n"
+"i Microsoft Windows-e na istom raÄunalu.\n"
+"\n"
+" Prije izabiranja ovog rjeÅ¡enja, molimo shvatite da će veliÄina vaÅ¡e "
+"Microsoft\n"
+"Windows partiticije biti manja nego Å¡to je sada. To znaÄi da ćete imati\n"
+"manje slobodnog prostora pod\n"
+"Microsoft Windows-ima za spremanje vaših podataka ili instaliranje novog "
+"software-a.\n"
+"\n"
+" * \"ObiÅ¡i Windowse\": ovo će jednostavno obri sati sve na disku i poÄeti\n"
+"particionirati sve ispoÄetka. Svi podaci na disku će biti izgubljeni;\n"
+"\n"
+" * \"Ekspertni mod\": Ukoliko želite particionirati ruÄno vaÅ¡ hard disk, "
+"možete\n"
+"izabrati ovu opciju. Budite pažljivi prije\n"
+"izabiranja ovog rješenja. Vrlo je moćno, ali i vrlo opasno. Možete\n"
+"izgubiti sve vaše podatke vrlo lako. Zato,\n"
+"nemojte izabrati ovo rješenje ukoliko ne znate što radite."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeće particije"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Obriši cijeli disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Eto. Instalacija je završena i vaš GNU/Linux sustav je spreman za "
+"korištenje.\n"
+"Samo pritisnite \"U redu\" da bi ponovno pokrenuli sustav. Možete pokrenuti\n"
+"GNU/Linux ili Windowse, Å¡to god želite (ako imate dva sustava), Äim se\n"
+"raÄunalo ponovno podigne.\n"
+"\n"
+"\"Napredno\" dugme (samo u modu za struÄnjake) će prikazati joÅ¡ dva "
+"dugmeta: \n"
+"\n"
+" * \"napravi disketu za automatsku instalaciju\": za stvaranje "
+"instalacijske\n"
+"diskete koja će automatski izvrÅ¡iti Äitavu instalaciju bez pomoći "
+"operatora,\n"
+"sliÄnu instalaciji koju ste upravo namjestili.\n"
+"\n"
+" Primjetite da su dvije razliÄite opcije dostupne nakon pritiska na "
+"dugme:\n"
+"\n"
+" * \"Replay\". Ovo je djelomice automatizirana instalacija, pošto\n"
+"particioniranje (i samo to) ostaje interaktivno;\n"
+"\n"
+" * \"Automatska instalacija\". Potpuno automatizirana instalacija: tvrdi\n"
+"disk se u potpunosti prebrisava, svi podaci se gube.\n"
+"\n"
+" Ova opcija je dosta korisna pri instaliranju na veći broj sliÄnih "
+"mašina.\n"
+"Pogledajte odjeljak za automatsku instalaciju na našem web siteu;\n"
+"\n"
+" * \"Snimi odabir paketa\"(*): snima prethodni odabir paketa. Potom, pri "
+"drugoj\n"
+"instalaciji, stavite disketu u pogon i pokrenite instalaciju odlaskom u\n"
+"ekran za pomoć pritiskom na [F1], te zadavanjem >>linux defcfg=\"floppy\"<<\n"
+"naredbe.\n"
+"\n"
+"(*) Trebate FAT formatiranu disketu (da bi je napravili u GNU/Linuxu, "
+"napišite\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Napravi auto instalacijsku disketu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Svaka novo definirana particija mora biti\n"
+"formatirana za koriÅ¡tenje (formatiranje znaÄi pravljenje datoteÄnog "
+"sustava).\n"
+"\n"
+"Trenutno, možete htjeti ponovno formatirati neke već postojeće particije\n"
+"kako bi obrisali\n"
+"podatke koje one posjeduju. Ukoliko želite to napraviti,\n"
+"izaberite particije koje želite formatirati.\n"
+"\n"
+"Primjetite da nije nužno ponovno formatirati sve već postojeće particije.\n"
+"Morate ponovno formatirati particije koje sadrže operativni sustav (poput \n"
+"\"/\",\"/usr\" ili \"/var\") ali ne morate ponovno formatirati particije "
+"koje\n"
+"sadrže podatke koje želite zadržati (tipiÄno \"/home\").\n"
+"\n"
+"Molimo budite pažljivi odabirom particija, poslije formatiranja, svi podaci\n"
+"će biti obrisani i nećete ih moći povratiti.\n"
+"\n"
+"Pritisnite na \"U redu\" kada ste spremni za formatiranje particije.\n"
+"\n"
+"Pritisnite na \"Odustani\" kada želite izabrati druge particije za\n"
+"instalaciju vašeg novog Mageia operativnog sustava.\n"
+"\n"
+"Pritisnite na \"Napredno\" ako želite izabrati particije koje će biti\n"
+"provjeravane radi loših blokova (bad blocks)."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Dok instalirate Mageia, moguće je da su neki paketi već nadograđeni\n"
+"od prvotne inaÄice. Neki bugovi su možda uklonjeni, i sigurnost poboljÅ¡ana.\n"
+"Da bi iskoristili prednosti tih nadogradnji, predloženo vam je da ih\n"
+"skinete s Interneta. Izaberite \"Da\" ako ste povezani s Internetom, ili \"Ne"
+"\"\n"
+"ako biste radije instalirali nadograđene pakete kasnije.\n"
+"\n"
+"Odabir \"Da\" prikazuje popis mjesta otkuda se nadogradnje mogu skinuti.\n"
+"Izaberite ono najbliže vama. Tada će se pojaviti stablo za odabir paketa:\n"
+"pregledajte odabir i stisnite \"Instaliraj\" da bi skinuli i instalirali "
+"odabrane\n"
+"pakete, ili \"Odustani\" za prekid."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Sada treba odabrati željenu razinu sigurnosti raÄunala. Opće pravilo jest "
+"da\n"
+"Å¡to je viÅ¡e raÄunalo izloženo i podaci vrijedniji, to bi veća razina "
+"sigurnosti\n"
+"trebala biti. MeÄ‘utim, veća razina sigurnosti utjeÄe na jednostavnost "
+"korištenja.\n"
+"Pogledajte u \"msec\" poglavlje u ``Reference Manual'' za bolje obješnjenje\n"
+"znaÄenja tih razina.\n"
+"\n"
+"Ako ne znate što biste odabrali, ostavite podrazumijevanu opciju."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Udaljeno administriranje"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"U ovoj toÄki instalacije, trebate izabrati koje partiticije ćete koristiti "
+"za\n"
+"instalaciju vašeg novog Mageia sustava. Ukoliko su\n"
+"particije već definirane (iz prethodne instalacije GNU/Linux-a ili iz\n"
+"drugih particijskih alata), možete koristiti postojeće particije. InaÄe,\n"
+"moraju biti definirane.\n"
+"\n"
+"Za pravljenje particija, morate prvo izabrati tvrdi disk. Možete izabrati \n"
+"disk za particioniranje klikanjem na \"hda\" za prvi IDE disk, \"hdb\" za\n"
+"drugi ili \"sda\" za prvi SCSI disk i tako dalje.\n"
+"\n"
+"Za particioniranje izabranog hard diska, možete izabrati ove opcije:\n"
+"\n"
+" * \"Obriši sve\": ova opcija će obrisati sve raspoložive particije na\n"
+"odabranom hard disku.\n"
+"\n"
+" * \"Auto alokacija\": ova opcija vam dozvoljava da automatski napravite\n"
+"\"Ext2\" i swap particije u slobodnom prostoru vašeg hard diska.\n"
+"\n"
+" * \"Dodatno\": pristup dodatnim mogućnostima:\n"
+"\n"
+" * \"Spasi particijsku tablicu\": ukoliko je vaša particijska tablica\n"
+"oštećena, možete probati spasiti ju koristeći ovu opciju. Molimo\n"
+"budite pažljivi i zapamtite da ne mora biti uspješna.\n"
+"\n"
+" * \"Povrati\": možete koristiti ovu opciju za odustajanje od vaših "
+"promjena.\n"
+"\n"
+" * \"Ponovno uÄitaj\": možete koristiti ovu opciju ukoliko želite vratiti\n"
+"unazad sve promjene i uÄitati vaÅ¡u inicijalnu particijsku tablicu\n"
+"\n"
+" * \"ÄŒarobnjak\": ukoliko želite koristiti Äarobnjak za particioniranje "
+"vašeg\n"
+"hard diska, možete koristiti ovu opciju. PreporuÄeno je ukoliko \n"
+"nemate dovoljno znanja oko particioniranja.\n"
+"\n"
+" * \"Vrati sa diskete\": ukoliko ste spremili vašu particijsku tablicu na\n"
+"disketu tijekom prijašnje instalacije, možete\n"
+"je vratiti koristeći ovu opciju.\n"
+"\n"
+" * \"Spremi na disketu\": ukoliko želite spremiti vašu particijsku tablicu "
+"na\n"
+"disketu kako biste je mogli kasnije vratiti, možete koristiti ovu\n"
+"opciju. Jako je preporuÄljivo koristiti ovu opciju\n"
+"\n"
+" * \"Završi\": kada ste završili s particioniranjem vašeg hard diska,\n"
+"koristite ovu opciju za spremanje vaših promjena.\n"
+"\n"
+"Za informaciju, možete dohvatiti bilo koju opciju koristeći tastaturu:\n"
+"navigiranje kroz particije se obavlja koristeći [Tab] i [Up/Down] strelice.\n"
+"\n"
+"Kada je particija odabrana, možete koristiti:\n"
+"\n"
+" * Ctrl-c za pravljenje novih particija (kada je prazna particija\n"
+"izabrana)\n"
+"\n"
+" * Ctrl-d za brisanje particije\n"
+"\n"
+" * Ctrl-m za postavljanje toÄke montiranja\n"
+"\n"
+"Za informacije o raznim dostupnim datoteÄnim sustavima, proÄitajte ext2fs\n"
+"poglavlje u ``Reference Manual''\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatsko montiranje prenosivog medija"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Prebaci u normalni mod"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Više od jedne Microsoft Windows particije su pronađene\n"
+"na vašem hard disku. Molimo izaberite jednu kojoj želite promjeniti "
+"veliÄinu\n"
+"kako bi instalirali vaš novi Mageia operativni sustav.\n"
+"\n"
+"Svaka je particija popisana kako slijedi; \"Linux ime\", \"Windows ime\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska"
+"\",\n"
+"\"broj particije\" (naprimjer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
+"ukoliko je on SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard\n"
+"diskovima:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundarnom IDE kontroleru\",\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znaÄi \"primarni hard disk\", \"b\" znaÄi\n"
+"\"sekundarni hard disk\", itd...\n"
+"\n"
+"\"Windows ime\" je slovo vašeg hard diska pod Windows-ima (prvi disk\n"
+"ili particija se zove \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"ObiÄno, DrakX izabere pravu tipkovnicu za vas (ovisno o jeziku koji ste "
+"odabrali)\n"
+"i nećete ni vidjeti ovaj korak. MeÄ‘utim, možda nemate tipkovnicu koja toÄno\n"
+"odgovara vašem jeziku: npr. ako ste iz Švicarske a govorite engleski, možda\n"
+"svejedno želite švicarsku tipkovnicu. Ili ako govorite engleski, a živite u\n"
+"Quebecu, možda ćete se naći u sliÄnoj situaciji. U oba sluÄaja, morate se "
+"vratiti\n"
+"na ovaj instalacijski korak i odabrati odgovarajuću tipkovnicu iz popisa.\n"
+"\n"
+"Pristisnite \"Dodatno\" da biste dobili potpun popis podržanih tipkovnica."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Izaberite jezik kojim se želite služiti u instalaciji i sustavu.\n"
+"\n"
+"Pritiskom na \"Napredno\" moći ćete izabrati druge jezike koji će biti "
+"instalirani\n"
+"na vašu radnu stanicu. Odabiranjem drugih jezika instalirat će se "
+"specifiÄne\n"
+"jeziÄne datoteke za sustavsku dokumentaciju i aplikacije. Npr. ako ćete na "
+"svom\n"
+"raÄunalu imati korisnike iz Å panjolske, u stablu odaberite Engleski kao "
+"glavni\n"
+"jezik i u sekciji Napredno oznaÄite kućicu koja odgovara Å panjolskoj.\n"
+"\n"
+"Primjetite da se može instalirati više jezika. Kada odredite eventualne "
+"dodatne\n"
+"lokale, stisnite \"U redu\" za nastavak."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX obiÄno prepozna koliko vaÅ¡ miÅ¡ ima dugmeta. Ako ne, pretpostavlja da\n"
+"imate miš sa dva dugmeta, a treće će emulirati. DrakX će automatski znati da "
+"li\n"
+"se radi o PS/2, serijskom ili USB mišu.\n"
+"\n"
+"Ako želite odrediti drugaÄiji tip miÅ¡a, odaberite odgovarajući tip iz "
+"ponuđenog\n"
+"popisa.\n"
+"\n"
+"Ako izaberete miÅ¡ razliÄit od podrazumijevanog, prikazati će se testni "
+"ekran.\n"
+"Koristite dugmad i kotaÄić da potvrdite da li su postavke toÄne. Ako miÅ¡ ne "
+"radi\n"
+"dobro, stisnite razmaknicu ili [Return] da bi odustali i ponovno izabirali."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Emulacija gumbova"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim odaberite ispravni port. Na primjer, COM1 port pod MS Windowsima\n"
+"se, pod GNU/Linuxom zove \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ovdje biramo sustav za ispis za vaÅ¡e raÄunalo. Drugi OSovi možda nude "
+"jedan,\n"
+"ali Mageia nudi tri.\n"
+"\n"
+" * \"pdq\", Å¡to znaÄi ``print, do not queue'' (ispiÅ¡i, bez stavljanja u "
+"red), je\n"
+"izbor koji ćete koristiti ako imate izravnu vezu sa pisaÄem, želite izbjeći\n"
+"zastoje u ispisu i nemate pisaÄe u mreži. Ima samo jednostavne mrežne "
+"mogućnosti\n"
+"i ponešto je spor za mrežu. Izaberite \"pdq\" ako ste novi u GNU/Linuxu. "
+"Možete\n"
+"promijeniti odabir poslije instalacije pokretanjem PrinterDrakea iz "
+"Mandriva\n"
+"kontrolnog centra i pritiskom na dugme za struÄnjake.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', je izvrstan za ispis na vašem "
+"lokalnom\n"
+"raÄunalu, kao i za ispis na drugom kraju svijeta. Jednostavan je i može "
+"poslužiti\n"
+"kao poslužitelj i klijent za drevni \"lpd\" sustav za ispis. Dakle, "
+"kompatibilan je\n"
+"s ranijim sustavima. Ima mnoštvo trikova, ali osnovne postavke su gotovo\n"
+"jednostavne kao i \"pdq\". Ako trebate da vam emulira \"lpd\" poslužitelj, "
+"morate\n"
+"ukljuÄiti \"cups-lpd\" daemon. Ima grafiÄka suÄelja za ispis i za odabir "
+"opcija\n"
+"za ispis.\n"
+"\n"
+" * \"lprNG\"``line printer daemon New Generation''. Ovaj sustav može raditi\n"
+"otprilike iste stvari kao i ostali, ali će pisati i s pisaÄima u Novell "
+"mreži,\n"
+"jer podržava IPX protokol, i može ispisivati izravno u komande ljuske. Ako "
+"vam\n"
+"treba Novell ili ispis u komande bez korištenja preusmjeravanja, koristite "
+"lprNG.\n"
+"InaÄem CUPS je najbolji jer je jednostavniji i bolje radi preko mreže."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "StruÄnjak"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sada pretražuje IDE ureÄ‘aje prisutne u vaÅ¡em raÄunalu.TakoÄ‘er će "
+"pokušati\n"
+"pronaći PCI SCSI adapter(e). Ukoliko DrakX\n"
+"pronaÄ‘e SCSI adapter i zna koji upravljaÄki program da koristi, on će \n"
+"automatski biti instaliran.\n"
+"\n"
+"Ukoliko imate SCSI adapter, ISA SCSI adapter ili PCI SCSI adapter koji\n"
+"DrakX ne može prepoznati, biti ćete pitani da li imate SCSI adapter u vašem\n"
+"sustavu. Ukoliko nemate adapter, možete kliknuti na \"Ne\". Ukoliko kliknete "
+"na\n"
+"\"Da\", dobiti ćete popis upravljaÄkih programa odakle možete izabrati vaÅ¡\n"
+"specifiÄan adapter.\n"
+"\n"
+"Ako trebate ruÄno specifirati vaÅ¡ adapter, DrakX će pitati da li želite \n"
+"specifirati opcije za njega. Trebali biste dozvoliti DrakX-u da isproba "
+"opcije za\n"
+"hardware. Ovo obiÄno radi dobro.\n"
+"\n"
+"Ako ne, trebati ćete navesti opcije za upravljaÄki program. Molimo\n"
+"pregledajte User\n"
+"Guide (poglavlje 3, sekciju \"Collecting informations on your hardware\") "
+"za\n"
+"preporuke o pribavljanju ovih informacija iz dokumentacije hardware-a, sa \n"
+"proizvoÄ‘aÄevog Web site-a (ukoliko imate Internet pristup) ili iz Microsoft "
+"Windows-a\n"
+"(ukoliko ga imate na vašem sustavu)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X kod pokretanja sustava"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk kojeg želite obrisati kako bi instalirali vašu\n"
+"novu Mageia particiju. Budite pažljivi, svi postojeći podaci\n"
+"biti će izgubljen i neće se moći povratiti!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Izaberite \"U redu\" ukoliko želite obrisati sve podatke i\n"
+"postojeće particije na navedenom tvrdom disku. Budite pažljivi, nakon\n"
+"klikanja na \"U redu\", nećete moći povratiti bilo kakve postojeće podatke "
+"ili\n"
+"particije na ovom hard disku, ukljuÄujući Windows podatke.\n"
+"\n"
+"Pritisnite na \"Odustani\" za prekidanje ove operacije bez gubljenja bilo\n"
+"kakvih postojećih podataka i particija na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Slijedeće ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Prijašnje"
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ovo je najvažnija odluka za sigurnost vašeg GNU/Linux sustava: morate "
+#~ "unijeti\n"
+#~ "\"root\" lozinku. \"root\" je sustavski administrator i jedini koji je "
+#~ "ovlašten\n"
+#~ "da vrši nadogradnje, dodaje korisnike, mijenja cjelokupne postavke "
+#~ "sustava, itd.\n"
+#~ "Ukratko, \"root\" može raditi sve! Stoga morate izabrati lozinku koju je "
+#~ "teško\n"
+#~ "pogoditi, DrakX će vam reći da li je prelagana. Kao što vidite, možete "
+#~ "odabrati\n"
+#~ "da ne unesete lozinku, ali jako vam savjetujemo da to ne Äinite, barem "
+#~ "zbog\n"
+#~ "jednog razloga: nemojte mislite da, zbog tog što ste pokrenuli GNU/Linux, "
+#~ "su vaši\n"
+#~ "ostali operacijski sustavi sigurni od grešaka. Pošto \"root\" može "
+#~ "premostiti\n"
+#~ "sva ograniÄenja i nenamjerno obrisati sve podatke na particijama nemarnim "
+#~ "pristupanjem,\n"
+#~ "važno je da bude teško postati \"root\".\n"
+#~ "\n"
+#~ "Lozinka bi trebala biti kombinacija alfanumeriÄkih znakova i barem 8 "
+#~ "znakova duga.\n"
+#~ "Nikad ne zapisujte \"root\" lozinku, prelako dovodite sustav u opasnost.\n"
+#~ "\n"
+#~ "Ipak, nemojte izabrati predugu ili presloženu lozinku, jer ćete je morati "
+#~ "lako\n"
+#~ "zapamtiti.\n"
+#~ "\n"
+#~ "Lozinka se neće pojaviti na ekranu kako je budete upisivali. Zato je "
+#~ "morate\n"
+#~ "upisati dvaput da bi smanjili mogućnost greške pri upisu. Ako ipak "
+#~ "ponovite istu\n"
+#~ "greÅ¡ku dva puta, morat ćete koristiti ovu \"netoÄnu\" lozinku kada se "
+#~ "prvi put\n"
+#~ "budete prijavljivali.\n"
+#~ "\n"
+#~ "U struÄnjak modu, bit ćete zapitani da li ćete se spajati na "
+#~ "autentifikacijski\n"
+#~ "poslužitelj, poput NISa ili LDAPa.\n"
+#~ "\n"
+#~ "Ako vaša mreža koristi LDAP (ili NIS) protokole za autentifikaciju, "
+#~ "izaberite\n"
+#~ "\"LDAP\" (ili \"NIS\") kao autentifikaciju. Ako ne znate kako, pitajte\n"
+#~ "administratora mreže.\n"
+#~ "\n"
+#~ "Ako vaÅ¡e raÄunalo nije povezano sa administriranom mrežom, morat ćete "
+#~ "izabrati\n"
+#~ "\"Lokalne datoteke\" za autentifikaciju."
+
+#~ msgid "authentication"
+#~ msgstr "ovjera"
diff --git a/perl-install/install/help/po/hu.po b/perl-install/install/help/po/hu.po
new file mode 100644
index 000000000..dd53fab85
--- /dev/null
+++ b/perl-install/install/help/po/hu.po
@@ -0,0 +1,2061 @@
+# translation of DrakX to Hungarian
+# Copyright (C) 2000-2001,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Emese Kovacs <emese@gnome.hu>, 2000-2001.
+# Arpad Biro <biro_arpad@yahoo.com>, 2000, 2003, 2004, 2005, 2006.
+# Tamas Szanto <tszanto@mol.hu>, 2001.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-03-05 14:45+0100\n"
+"Last-Translator: Arpad Biro\n"
+"Language-Team: Hungarian\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Mielőtt továbblépne, olvassa át alaposan a licencegyezményt, amely az\n"
+"egész Mageia disztribúcióra érvényes. Ha elfogadja az abban\n"
+"szereplő feltételeket, akkor jelölje be a(z) \"%s\" opciót.\n"
+"Ha nem fogadja el valamelyik feltételt, akkor kattintson a(z)\n"
+"\"%s\" gombra - ezzel újraindítja a számítógépet."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"A Linux többfelhasználós rendszer; ez azt jelenti, hogy minden\n"
+"felhasználónak lehetnek például külön beállításai és saját fájljai.\n"
+"A \"root\" nevű felhasználótól (ez az azonosító a rendszergazdát\n"
+"jelöli) eltérően az itt felvett felhasználóknak csak a saját fájljaikat\n"
+"és a saját beállításaikat lesz joguk módosítani - az esetleges véletlen\n"
+"vagy rosszindulatú rendszermódosítások elkerülése érdekében.\n"
+"Létre kell hoznia legalább egy \"normál\" felhasználót az Ön saját\n"
+"használatára. Ezen normál felhasználói azonosítóval érdemes elvégezni\n"
+"az olyan tevékenységeket, amelyek nem igényelnek rendszergazdai\n"
+"jogosultságot. Bár nagyon praktikus minden alkalommal rendszergazdaként\n"
+"jelentkezni be, ez nagyon veszélyes is. Egy rendszergazdaként elkövetett\n"
+"hiba hatására meghibásodhat a rendszer. Ha normál felhasználóként követ\n"
+"el hibát, akkor esetleg elveszít bizonyos adatokat, de a rendszert nem\n"
+"teheti tönkre.\n"
+"\n"
+"Az első mezőben a valódi nevét adhatja meg. Ez természetesen nem kötelező;\n"
+"bármit be lehet írni névként. A telepítő az itt megadott név első szavát\n"
+"ajánlja fel a(z) \"%s\" mezőben. Ez utóbbi az a név, amellyel\n"
+"az adott felhasználó be tud majd jelentkezni a rendszerbe. A felkínált\n"
+"felhasználónév módosítható.\n"
+"A felhasználónév megadása után meg kell adni az ahhoz tartozó\n"
+"kívánt jelszót. Egy normál felhasználó jelszava biztonsági szempontból nem\n"
+"annyira kritikus, mint a rendszergazdáé; ez viszont nem ok arra, hogy\n"
+"felületesen legyen kezelve (üres vagy túl egyszerű jelszó megadásával) -\n"
+"végül is az Ön fájljai is veszélybe kerülhetnek.\n"
+"\n"
+"A(z) \"%s\" gomb lenyomása után felvehetők újabb felhasználók is.\n"
+"Vegyen fel egy-egy felhasználónevet mindazok számára, akik a gépet\n"
+"használni fogják. Amikor végzett a felhasználónevek létrehozásával,\n"
+"kattintson a(z) \"%s\" gombra.\n"
+"\n"
+"Ha a(z) \"%s\" gombra kattint, módosíthatja az adott felhasználó\n"
+"alapértelmezett parancsértelmezőjét (alapértelmezés szerint ez a \"bash\").\n"
+"\n"
+"Miután felvette a felhasználókat, lehetősége lesz arra, hogy automatikus\n"
+"bejelentkezést írjon elő. Ehhez meg kell adni a gépindításkor automatikusan\n"
+"bejelentkeztetendő felhasználó azonosítóját. Ha használni kívánja ezt a\n"
+"(biztonsági kockázatot jelentő) funkciót, akkor válassza ki a kívánt\n"
+"felhasználói azonosítót és ablakkezelőt, majd kattintson a(z) \"%s\"\n"
+"gombra. Ellenkező esetben távolítsa el a kijelölést a(z) \"%s\" opció mellől."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Szeretné használni ezt a lehetőséget?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Itt láthatók a lemezen talált, már létező linuxos partíciók.\n"
+"A varázsló javaslatai általában elfogadhatók, általános célú telepítésnél\n"
+"általában megfelelnek. Ha megváltoztatja a beállításokat, mindenképpen\n"
+"jelölje ki a gyökérpartíciót (\"/\"). Ne válassza túl kicsire, mert akkor\n"
+"nem lesz elég hely a szoftverek telepítéséhez. Ha külön partícióra\n"
+"szeretné helyezni a felhasználói adatokat, jelöljön ki egy külön \"/home\"\n"
+"partíciót (ez csak akkor lehetséges, ha legalább két Linux partíció\n"
+"létezik).\n"
+"\n"
+"A partíciók listájának mezői: \"név\", \"kapacitás\".\n"
+"\n"
+"A \"név\" képzési szabálya: \"a merevlemez típusa\", \"a lemez\n"
+"azonosítója\", \"a partíció azonosítója\" (például \"hda1\").\n"
+"\n"
+"\"A merevlemez típusa\" \"hd\", ha a lemez IDE-csatolós, és \"sd\",\n"
+"ha SCSI-csatolós.\n"
+"\n"
+"\"A lemez azonosítója\" egy betű a \"hd\" illetve az \"sd\" után.\n"
+"IDE-csatolós merevlemezek esetén:\n"
+"\n"
+" - \"a\" jelentése: \"első (master) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"b\" jelentése: \"második (slave) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"c\" jelentése: \"első meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+" - \"d\" jelentése: \"második meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+"SCSI-csatolós lemezeknél az \"a\" jelentése: \"a legalacsonyabb\n"
+"SCSI-azonosító\", \"b\" jelentése: \"a második legalacsonyabb\n"
+"SCSI-azonosító\", ..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A Mageia telepítőanyag több CD-n helyezkedik el. Ha egy kiválasztott\n"
+"csomag egy másik CD-n található, akkor a telepítő kiadja az\n"
+"aktuális CD-t, és megkéri Önt, hogy helyezze be a megfelelőt.\n"
+"Ha a szóban forgó lemez nincs kéznél, akkor kattintson a(z) \"%s\" gombra,\n"
+"így az adott csomagok nem lesznek telepítve."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Most meg kell adnia, mely programokat kívánja telepíteni a rendszerére.\n"
+"Több ezer program létezik Mageiahoz; a kezelésük megkönnyítése\n"
+"érdekében a programok (hasonlóság alapján) csoportokba lettek sorolva.\n"
+"\n"
+"A Mageia rendszerben négy előredefiniált csomagkategória van\n"
+"meghatározva. A különböző kategóriákban levő csomagok keverhetők is,\n"
+"tehát egy \"Munkaállomás\" típusú telepítés tartalmazhat olyan\n"
+"alkalmazásokat is, amelyek csak a \"Kiszolgáló\" kategóriában vannak\n"
+"benne.\n"
+"\n"
+" - \"%s\": ha munkaállomásként tervezi használni a gépet, akkor\n"
+"válogasson a \"Munkaállomás\" kategóriában szereplő alkalmazások közül.\n"
+"\n"
+" - \"%s\": ha a gép programozásra is lesz használva, akkor\n"
+"válassza ki a kívánt csomagokat a kategóriából. A speciális \"LSB\"\n"
+"csoport telepítése esetén a rendszer úgy lesz beállítva, hogy megfeleljen\n"
+"a Linux Standard Base specifikációnak. Az \"LSB\" csoport kijelölése\n"
+"esetén az alapértelmezett 2.6 verziójú kernel helyett a 2.4 verzió kerül\n"
+"telepítésre - annak érdekében, hogy 100 százalékos legyen az LSB\n"
+"szabványnak való megfelelés. Ha nem jelöli ki az \"LSB\" csoportot,\n"
+"abban az esetben egy közel 100 százalékosan LSB-megfelelő rendszer\n"
+"lesz telepítve.\n"
+"\n"
+" - \"%s\": ha a gép kiszolgálóként lesz használva, válassza ki,\n"
+"hogy a gyakrabban használt szolgáltatások közül melyeket kívánja\n"
+"telepíteni a gépre.\n"
+"\n"
+" - \"%s\": itt választható ki a kívánt grafikus környezet.\n"
+"Ha szeretne grafikus felületet, akkor legalább egyet ki kell választani.\n"
+"\n"
+"Ha az egérkurzort egy csoport neve fölé viszi, akkor megjelenik egy rövid\n"
+"magyarázat az adott csoportról.\n"
+"\n"
+"Bejelölheti a(z) \"%s\" opciót; ez akkor hasznos, ha Ön ismeri a\n"
+"felkínált csomagokat, illetve ha teljes mértékben ellenőrizni kívánja,\n"
+"mi lesz a gépre feltelepítve.\n"
+"\n"
+"Ha a telepítést \"%s\" üzemmódban indította el, akkor megszüntetheti\n"
+"akár az összes csoport kijelölését is, hogy elkerülje új programok\n"
+"telepítését. Ez különösen akkor lehet hasznos, ha egy meglevő rendszert\n"
+"kíván helyreállítani vagy frissíteni.\n"
+"\n"
+"Ha telepítéskor az összes csoport kijelölését megszünteti (frissítésre\n"
+"ez nem vonatkozik), akkor a telepítő választási lehetőséget fog felkínálni\n"
+"a minimális telepítésre vonatkozóan. A következő lehetőségek választhatók:\n"
+"\n"
+" - \"%s\": grafikus rendszer a lehető legkevesebb csomag telepítésével.\n"
+"\n"
+" - \"%s\": az alaprendszer az alapvető programokkal és azok\n"
+"dokumentációjával. Megfelel például kiszolgáló telepítéséhez.\n"
+"\n"
+" - \"%s\": a lehető legkevesebb csomag telepítése; csak parancssoros\n"
+"felülettel rendelkező Linux-rendszer. Körülbelül 65 megabájt méretű "
+"telepítés."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Frissítés"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Alapvető dokumentációval"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Valóban minimális telepítés"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ha egyedi csomagkiválasztást választott, megjelenik egy fa, amely az\n"
+"összes telepíthető programcsomagot tartalmazza csoportokba és\n"
+"alcsoportokba kategorizálva. A fa böngészése közben nem csak csomagokat\n"
+"jelölhet ki, hanem egész csoportokat illetve alcsoportokat is.\n"
+"\n"
+"Amikor kiválaszt egy csomagot a fában, a jobb oldalon megjelenik egy leírás\n"
+"az adott csomagról.\n"
+"\n"
+"Ha kiszolgálócsomagok is ki lettek választva - akár közvetlenül, akár\n"
+"bizonyos csoportok tagjaként -, a telepítő megerősítést kér Öntől arra\n"
+"vonatkozóan, hogy valóban telepíteni kívánja-e azon kiszolgálószoftvereket.\n"
+"A Mageia rendszerben alapértelmezésben az összes feltelepített\n"
+"szolgáltatás elindításra kerül a rendszer indulásakor. Még ha azok\n"
+"biztonságosak is illetve nem rendelkeznek ismert problémákkal, akkor is\n"
+"előfordulhat, hogy utóbb biztonsági problémák merülnek fel velük\n"
+"kapcsolatban. Ha nem tudja, hogy egy bizonyos szolgáltatásnak mi a\n"
+"feladata illetve miért kerül telepítésre, akkor kattintson a(z)\n"
+"\"%s\" gombra. Ha a(z) \"%s\" gombra kattint, akkor a felsorolt\n"
+"szolgáltatások telepítésre kerülnek, és alapértelmezés szerint\n"
+"automatikusan elindításra kerülnek majd rendszerindításkor.\n"
+"\n"
+"A(z) \"%s\" opcióval kikapcsolható az a figyelmeztetés,\n"
+"amely akkor jelenik meg, amikor a telepítő - függőségi okokból -\n"
+"automatikusan kijelöl meghatározott csomagokat. Bizonyos csomagok közt\n"
+"függőségi kapcsolat van, ami azt jelenti, hogy egy bizonyos csomagnak a\n"
+"telepítése csak akkor történhet meg, ha egy meghatározott másik csomag\n"
+"már telepítve van. A telepítő képes meghatározni, hogy egy bizonyos\n"
+"függőség esetén mely csomagokra van szükség a telepítés sikeres\n"
+"végrehajtásához.\n"
+"\n"
+"A lista alatt levő, floppylemezt ábrázoló ikon lehetővé teszi egy korábbi\n"
+"telepítés során elmentett csomaglista betöltését. Ez akkor hasznos, ha\n"
+"több gépre szeretné ugyanazon csomagokat telepíteni. Az említett ikonra\n"
+"kattintva a telepítő megkéri Önt, hogy tegyen be egy floppyt, amely egy\n"
+"korábbi telepítés végén készült. Ha szeretné megtudni, hogyan lehet ilyen\n"
+"floppyt készíteni, akkor tekintse meg a telepítés utolsó lépésében szereplő\n"
+"második tippet."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatikus függőségek"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ebben a párbeszédablakban lehet kijelölni a rendszerindításkor\n"
+"automatikusan elindítandó szolgáltatásokat.\n"
+"\n"
+"A telepítő megjeleníti a jelenleg telepített összes szolgáltatás listáját.\n"
+"Vizsgálja meg a listát alaposan, és törölje a kijelölést azok mellől,\n"
+"amelyek rendszerindításkor való elindítására nincs szükség.\n"
+"\n"
+"Egy szolgáltatás kiválasztásakor megjelenik a hozzá tartozó rövid leírás.\n"
+"Ha nem tudja biztosan, hogy a szolgáltatásra szükség van-e vagy\n"
+"sem, akkor ne változtassa meg az alapértelmezett indítási módot.\n"
+"\n"
+"Gondosan járjon el, ha a gépet kiszolgálónak fogja használni; ne\n"
+"indítson el egyetlen olyan szolgáltatást sem automatikusan, amelyre nincs\n"
+"szükség. Kiszolgáló esetén bizonyos szolgáltatások biztonsági kockázatot\n"
+"jelentenek. Csak a valóban szükséges szolgáltatásokat engedélyezze."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"A Linux az időt a GMT (Greenwich Mean Time) alapján kezeli - a\n"
+"kiválasztott időzónának megfelelő helyi időre konvertálja azt. Ha a gép\n"
+"alaplapjának órája helyi időre van állítva, akkor kapcsolja ki az\n"
+"időzónához való igazítást a(z) \"%s\" opció kikapcsolásával -\n"
+"ekkor a rendszeróra szerinti idő azonos lesz a gép órája szerintivel\n"
+"(azaz a két óra ugyanazon időzóna szerint mutatja az időt). Ez\n"
+"akkor hasznos, ha van a gépen más operációs rendszer is.\n"
+"\n"
+"A(z) \"%s\" opció automatikusan beállítja az órát egy internetes\n"
+"időkiszolgálóhoz kapcsolódva. Ehhez szükség van egy beállított\n"
+"internetkapcsolatra. Az időkiszolgálók közül lehetőleg egy Önhöz közel\n"
+"levőt válasszon. Ez a funkció feltelepít az Ön gépére egy időkiszolgálót,\n"
+"amelyet a helyi hálózat többi gépe is használhat."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatikus időszinkronizáció"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikus kártya\n"
+"\n"
+"A telepítő általában felismeri és beállítja a gépben levő grafikus kártyát.\n"
+"Ha nem így történik, kiválaszthatja a grafikus kártyák listájából a\n"
+"megfelelőt.\n"
+"\n"
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Az X (teljes néven: X Window System) a Linux grafikus felületét nyújtó\n"
+"rendszer. A Mageiaban levő grafikus környezetek (KDE, GNOME,\n"
+"AfterStep, WindowMaker, ...) ezen grafikus rendszert használják.\n"
+"\n"
+"Egy listát fog látni az elérhető paraméterekről, amelyekkel optimalizálható\n"
+"a grafikus megjelenítés.\n"
+"\n"
+"\n"
+"\n"
+"Grafikus kártya\n"
+"\n"
+"A telepítő általában felismeri és beállítja a gépben levő grafikus kártyát.\n"
+"Ha nem így történik, kiválaszthatja a grafikus kártyák listájából a\n"
+"megfelelőt.\n"
+"\n"
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+"A telepítő általában automatikusan megállapítja a monitor típusát, és\n"
+"beállítja azt. Ha nem így történik, kiválaszthatja ebből a listából a\n"
+"monitor típusát.\n"
+"\n"
+"\n"
+"\n"
+"Felbontás\n"
+"\n"
+"Itt kiválaszthatja a kívánt felbontási és színmélységi értékeket az\n"
+"elérhető értékek listájából. Válassza ki az igényeinek legjobban\n"
+"megfelelő értékeket. A beállítások tetszőlegesen módosíthatók a\n"
+"telepítés után is. A képernyőn egy mintakép fog megjelenni a\n"
+"kiválasztott beállítások szemléltetésére.\n"
+"\n"
+"\n"
+"\n"
+"Teszt\n"
+"\n"
+"Bizonyos hardverelemek esetén ez a bejegyzés nem jelenik meg.\n"
+"\n"
+"A rendszer megnyit egy grafikus képernyőt a kívánt felbontással, ha ez\n"
+"lehetséges. Ha látható a tesztelés közben megjelenő üzenet, akkor nyomja\n"
+"le a(z) \"%s\" gombot; a telepítő ekkor a következő lépésre ugrik. Ha\n"
+"viszont az üzenet nem látható, az azt jelenti, hogy a beállítás nem\n"
+"megfelelő. A beállítás tesztelése 12 másodperc elteltével automatikusan\n"
+"véget ér, és ismét a menü jelenik meg a képernyőn. Módosítsa a\n"
+"beállításokat, amíg el nem ér egy megfelelő beállítást.\n"
+"\n"
+"\n"
+"\n"
+"Beállítások\n"
+"\n"
+"Itt beállítható, hogy rendszerindításkor grafikus üzemmódba váltson-e a\n"
+"rendszer. Ha a gép kiszolgálóként fog üzemelni, vagy nem sikerült\n"
+"megfelelően beállítani a grafikus üzemmódot, akkor javasolt a(z) \"%s\"\n"
+"lehetőséget választani."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+"A telepítő általában automatikusan megállapítja a monitor típusát, és\n"
+"beállítja azt. Ha nem így történik, kiválaszthatja ebből a listából a\n"
+"monitor típusát."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Felbontás\n"
+"\n"
+"Itt kiválaszthatja a kívánt felbontási és színmélységi értékeket az\n"
+"elérhető értékek listájából. Válassza ki az igényeinek legjobban megfelelő\n"
+"értékeket. A beállítások tetszőlegesen módosíthatók a telepítés után is.\n"
+"A képernyőn egy mintakép fog megjelenni a kiválasztott beállítások\n"
+"szemléltetésére."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Beállítások\n"
+"\n"
+"Itt beállítható, hogy rendszerindításkor grafikus üzemmódba váltson-e a\n"
+"rendszer. Ha a gép kiszolgálóként fog üzemelni, vagy nem sikerült\n"
+"megfelelően beállítani a grafikus üzemmódot, akkor a(z) \"%s\"\n"
+"lehetőséget érdemes választani."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ebben a lépésben kell megadni, hogy a Mageia telepítése a merevlemez\n"
+"melyik részére történjen. Ha a lemez még teljesen üres, vagy a korábban\n"
+"telepített operációs rendszer(ek) miatt nincs elég szabad hely, akkor újra\n"
+"kell partícionálni a lemezt. A partícionálás a lemezterület logikai\n"
+"újrafelosztását jelenti - erre a Mageia telepítéséhez szükséges\n"
+"hely létrehozása érdekében van szükség.\n"
+"\n"
+"A partícionálás veszélyes művelet. Hiba esetén adatvesztéssel járhat\n"
+"(ha a lemez nem volt üres), ráadásul általában nincs lehetőség visszatérni\n"
+"egy korábbi állapothoz. Emiatt kezdő felhasználóknak sok nehézséget\n"
+"okozhat. A telepítő tartalmaz egy varázslót, amely egyszerűbbé teszi a\n"
+"művelet végrehajtását, de mielőtt használatba venné, olvassa végig a\n"
+"leírást.\n"
+"\n"
+"A lemezek tartalmától függően többféle lehetőség van:\n"
+"\n"
+" - \"%s\": ez a lehetőség az üres meghajtók automatikus\n"
+"partícionálását jelenti. Ebben az esetben a telepítő nem tesz\n"
+"fel további kérdéseket.\n"
+"\n"
+" - \"%s\": a varázsló talált egy vagy több\n"
+"linuxos partíciót a lemezen. Ha ezeket szeretné használni a\n"
+"telepítéshez, válassza ezt a lehetőséget. Ezt követően meg kell adnia\n"
+"az ezekhez tartozó csatolási pontokat. Alapértelmezésben a korábbi\n"
+"állapotnak megfelelő csatolási pontok vannak megadva; általában\n"
+"érdemes változatlanul hagyni azokat.\n"
+"\n"
+" - \"%s\": ha a\n"
+"Windows úgy van feltelepítve a lemezre, hogy elfoglalja az összes\n"
+"elérhető területet, akkor annak egy részét fel kell szabadítani a Linux\n"
+"számára. Ez történhet a Windows-partíció törlésével (lásd \"A teljes\n"
+"lemez törlése\" lehetőséget) vagy átméretezésével (az utóbbi a FAT\n"
+"és az NTFS típusú partíciókra vonatkozik).\n"
+"Az átméretezés végrehajtható a lemezen levő adatok\n"
+"elvesztése nélkül - feltéve, hogy azt megelőzően töredezettségmentesítve\n"
+"lett a kérdéses partíció. Javasolt továbbá az adatok mentése is.\n"
+"Ezen módszer a javasolt abban az esetben, ha a Mageiaot és a\n"
+"Windowst ugyanazon a gépen szeretné használni.\n"
+"\n"
+"Ha ezt a lehetőséget választja, ne feledkezzen meg arról, hogy ennek\n"
+"hatására a windowsos partíció mérete a korábbinál kisebb lesz,\n"
+"tehát a Windows használatakor kevesebb hely lesz az adatok tárolására\n"
+"és új szoftverek telepítésére.\n"
+"\n"
+" - \"%s\": ha minden adatot és minden partíciót\n"
+"törölni szeretne a lemezről, és a telepítéshez az így felszabaduló\n"
+"helyet szeretné használni, akkor válassza ezt a lehetőséget. Legyen\n"
+"nagyon óvatos ezzel a lehetőséggel, mert a lemezen levő adatok\n"
+"véglegesen elvesznek a megerősítés után.\n"
+"\n"
+"Ha ezt a lehetőséget választja, a lemezen levő összes adat törlésre kerül.\n"
+"\n"
+" - \"%s\": ez a funkció akkor használható, ha a Windows az\n"
+"egész lemezt elfoglalja. A funkció egyszerűen letöröl mindent\n"
+"a lemezről, és újrapartícionálja azt.\n"
+"\n"
+"Ha ezt a lehetőséget választja, a lemezen levő összes adat elvész.\n"
+"\n"
+" - \"%s\": ha közvetlenül (varázsló nélkül)\n"
+"szeretné elvégezni a partícionálást, akkor válassza ezt a lehetőséget.\n"
+"Legyen óvatos - sok minden elvégezhető ebben az üzemmódban, de a\n"
+"használata veszélyes. Könnyen elveszítheti a lemezen levő összes adatot\n"
+"ennek a használatával, ezért csak indokolt esetben válassza ezt a\n"
+"funkciót. A DiskDrake program használatáról a felhasználói kézikönyv\n"
+"partíciókezelésről szóló szakaszában találhat további információt."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Már létező partíció használata"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "A teljes lemez törlése"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"A telepítés befejeződött; a Linux rendszer készen áll a használatra.\n"
+"A rendszer újraindításához kattintson a(z) \"%s\" gombra. Ne\n"
+"feledkezzen meg a telepítőlemez eltávolításáról. Miután a\n"
+"gép elvégzi az indítási hardverteszteket, megjelenik a rendszerbetöltő\n"
+"menüje, amelyből kiválasztható, melyik operációs rendszer induljon el.\n"
+"\n"
+"A(z) \"%s\" gomb lenyomására két újabb gomb jelenik meg:\n"
+"\n"
+" - \"%s\": olyan telepítőfloppy\n"
+"készítése, amelynek használatával emberi közreműködés nélkül végezhető\n"
+"a rendszer telepítése. Az így végzett telepítések a jelenlegi telepítés\n"
+"beállításait használják.\n"
+"\n"
+"Két lehetőség közül lehet választani a gomb lenyomása után:\n"
+"\n"
+" - \"%s\". Részben automatizált telepítést jelent;\n"
+"a partícionálási lépés az egyetlen interaktív tevékenység.\n"
+"\n"
+" - \"%s\". Teljesen automatizált telepítés; a merevlemez\n"
+"tartalma felülíródik, az összes korábbi adat elvész.\n"
+"\n"
+"Ez a lehetőség jól használható akkor, amikor nagyobb számú azonos gépre\n"
+"kell a rendszert feltelepíteni. Az automatikus telepítéssel\n"
+"kapcsolatban a Mageia honlapján találhatók további információk.\n"
+"\n"
+" - \"%s\"(*): elmenti a telepítés során\n"
+"kiválasztott csomagok listáját. Ha egy újabb telepítés alkalmával fel\n"
+"kívánja használni az elmentett listát, akkor helyezze be az azt tartalmazó\n"
+"floppyt a telepítés megkezdésekor, majd - amikor a gép billentyűlenyomásra\n"
+"vár - nyomja le az \"F1\" billentyűt, ez után pedig írja be a következőt:\n"
+"linux defcfg=\"floppy\" - utána pedig nyomja le az Enter billentyűt.\n"
+"\n"
+"\n"
+"(*) Ehhez szükség lesz egy FAT fájlrendszerre formázott floppyra.\n"
+"A formázás Linux alatt a következő paranccsal végezhető el:\n"
+"\"mformat a:\". Másik módszer a formázásra: \"fdformat /dev/fd0\", majd\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Automatikus telepítőfloppy készítése"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ha azt a lehetőséget választotta, hogy fel kíván használni bizonyos,\n"
+"már létező Linux-partíciókat, akkor itt lehetősége van bármelyikük\n"
+"újraformázására. A formázás letörli az adott partíció teljes tartalmát.\n"
+"Ha ezt kívánja tenni, akkor jelölje ki azon partíciókat is.\n"
+"\n"
+"Nem szükséges újraformázni az összes, korábban létrehozott partíciót.\n"
+"Az operációs rendszernek szánt partíció(ka)t mindenképpen le kell formázni\n"
+"(például a \"/\", \"/usr\" és \"/var\" partíciókat), de a felhasználói\n"
+"és egyéb adatokat tartalmazó partíciókat nem szükséges újraformázni (ilyen\n"
+"például a \"/home\").\n"
+"\n"
+"Gondosan ellenőrizze, mely partíciókat jelöli ki, mert a formázás során az\n"
+"adott partíciókon levő adatok törlődnek, és később nem nyerhetők vissza.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra a formázások megkezdéséhez.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha más partícióra szeretné telepíteni a\n"
+"Mageia operációs rendszert.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha bizonyos partíciókat ellenőriztetni\n"
+"kíván (hibás blokkok keresése)."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Lehetséges, hogy amikor Ön a Mageia rendszert telepíti, már\n"
+"frissítésre kerültek bizonyos csomagok a rendszer kiadása óta.\n"
+"Elképzelhető, hogy bizonyos hibák ki lettek javítva, illetve\n"
+"hogy meg lettek oldva bizonyos felmerült biztonsági problémák. Ezeket\n"
+"a frissítéseket Ön letöltheti az interneten keresztül.\n"
+"Válassza a(z) \"%s\" lehetőséget, ha van működő internetkapcsolata. Ha\n"
+"inkább később kívánja telepíteni a frissítéseket, akkor a(z) \"%s\"\n"
+"lehetőséget válassza.\n"
+"\n"
+"Ha a(z) \"%s\" lehetőséget választja, akkor megjelenik egy lista azon\n"
+"helyekről, amelyekről a frissítések letölthetők. Válasszon közülük egy\n"
+"Önhöz közel levőt.\n"
+"Ezt követően egy csomagválasztási fa jelenik meg. Ha telepíteni kívánja a\n"
+"kijelölt csomagokat, akkor nyomja le a(z) \"%s\" gombot. Ha nem kíván\n"
+"csomagokat telepíteni, akkor a(z) \"%s\" gombot nyomja le."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Most kiválaszthat egy biztonsági szintet a gép számára. Alapszabály,\n"
+"hogy ha fontos adatok vannak tárolva a gépen, vagy a gép kapcsolódik\n"
+"az internetre, akkor érdemes magasabbra venni a biztonsági szintet.\n"
+"Magasabb szint esetén viszont általában nehézkesebb a gép használata.\n"
+"\n"
+"Ha nem biztos benne, hogy mit volna érdemes választani, akkor válassza\n"
+"az alapértelmezés szerinti lehetőséget. A biztonsági szint később is\n"
+"módosítható a Mageia Vezérlőközpontban elérhető \"draksec\"\n"
+"eszközzel.\n"
+"\n"
+"A(z) \"%s\" mezőben megadandó a biztonságért felelős személy email-címe.\n"
+"A biztonsági üzenetek azon címre lesznek küldve."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Biztonsági adminisztrátor"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Ebben a lépésben kell kiválasztani a Mageia rendszer telepítéséhez\n"
+"használni kívánt partíciókat. Ha a kívánt partíciók már létre lettek hozva\n"
+"(egy korábbi Linux-telepítés vagy valamilyen partícionálási segédprogram\n"
+"által), akkor felhasználhatók a már létező partíciók. Ha viszont még nem\n"
+"léteznek, akkor először definiálni kell a partíciókat.\n"
+"\n"
+"Partíció létrehozásánál először ki kell választani egy merevlemezt.\n"
+"Ehhez kattintson a megfelelő azonosítóra: \"hda\" az első IDE-csatolós\n"
+"lemez, \"hdb\" a második; \"sda\" az első SCSI-csatolós lemez, és így\n"
+"tovább.\n"
+"\n"
+"A kijelölt merevlemez partícionálásánál az alábbi lehetőségek közül lehet\n"
+"választani:\n"
+"\n"
+" - \"%s\": ennek hatására a kijelölt merevlemezen található\n"
+"összes partíció törlésre kerül.\n"
+"\n"
+" - \"%s\": ez lehetővé teszi Ext3 és lapozási\n"
+"partíciók automatikus létrehozását a rendelkezésre álló üres területen.\n"
+"\n"
+" - \"%s\": hozzáférést biztosít további lehetőségekhez:\n"
+"\n"
+" - \"%s\": a partíciós tábla mentése floppyra.\n"
+"A floppy használatával később - szükség esetén - helyre lehet állítani\n"
+"(vissza lehet tölteni) a partíciós táblát. Erősen ajánljuk, hogy használja\n"
+"ezt a lehetőséget.\n"
+"\n"
+" - \"%s\": egy korábban elmentett\n"
+"partíciós tábla visszatöltése floppyról.\n"
+"\n"
+" - \"%s\": ha a partíciós tábla\n"
+"megsérült, akkor ezzel lehet megpróbálni annak kijavítását. Legyen nagyon\n"
+"óvatos, mert a javítás nem mindig sikerül.\n"
+"\n"
+" - \"%s\": ennek hatására az összes\n"
+"módosítás elvész; a program ismét betölti a kiindulási partíciós táblát.\n"
+"\n"
+" - \"%s\": ha nincs\n"
+"bejelölve ez az opció, akkor a felhasználóknak kézzel kell végezniük a\n"
+"cserélhető adathordozók (például CD és floppy) csatolását illetve\n"
+"leválasztását.\n"
+"\n"
+" - \"%s\": akkor válassza ezt a lehetőséget, ha a partícionálást\n"
+"varázsló segítségével szeretné végrehajtani. Ha nem ismeri a\n"
+"partícionálás technikai részleteit, akkor érdemes ezt választania.\n"
+"\n"
+" - \"%s\": ezzel lehet a módosításokat visszavonni.\n"
+"\n"
+" - \"%s\": további funkciók elérhetővé tétele\n"
+"(partíciótípus, opciók, formázás) és több információ megjelenítése a\n"
+"merevlemezekkel kapcsolatosan.\n"
+"\n"
+" - \"%s\": a partícionálás befejezése után ezzel lehet a módosításokat\n"
+"elmenteni a lemezre.\n"
+"\n"
+"Egy partíció méretének megadásakor finombeállítást végezhet a billentyűzet\n"
+"nyílbillentyűivel.\n"
+"\n"
+"Az összes funkció elérhető a billentyűzetről. A partíciók között a Tab\n"
+"billentyűvel és a Fel/Le nyilakkal lehet mozogni.\n"
+"\n"
+"Ha egy partíció ki van jelölve, használni lehet a következőket:\n"
+"\n"
+" - Ctrl+C: új partíció létrehozása (ha üres partíció van kijelölve)\n"
+"\n"
+" - Ctrl+D: partíció törlése\n"
+"\n"
+" - Ctrl+M: csatolási (mount) pont megadása\n"
+"\n"
+"Ha információt szeretne a használható fájlrendszertípusokról, olvassa el\n"
+"a kézikönyv Ext2FS fájlrendszerrel foglalkozó fejezetét.\n"
+"\n"
+"Ha a telepítés egy PowerPC gépre történik, akkor érdemes létrehozni egy\n"
+"kisméretű HFS rendszerindítási partíciót (legalább 1 MB) a \"Yaboot\"\n"
+"rendszerbetöltő program számára. Ha nagyobbra veszi a partíciót (például\n"
+"50 MB méretűre), akkor eltárolható lesz rajta például egy tartalék kernel\n"
+"illetve RAM-diszk képfájlok (image-ek) esetleges rendszerhibák esetére."
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Cserélhető adathordozó automatikus csatolása"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Váltás a normál és a szakértői módok közt"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Egynél több microsoftos partíció van a lemezen.\n"
+"Válassza ki azt, amelyiket át szeretné méretezni, hogy a\n"
+"Mageia feltelepíthető legyen.\n"
+"\n"
+"A partíciólista a következő mezőket tartalmazza: \"linuxos név\",\n"
+"\"windowsos név\", \"kapacitás\".\n"
+"\n"
+"A \"linuxos név\" formátuma a következő: \"a merevlemez típusa\",\n"
+"\"a lemez azonosítója\", \"a partíció azonosítója\" (példa a linuxos\n"
+"névre: \"hda1\").\n"
+"\n"
+"Ha a lemez IDE-csatolós, akkor \"a merevlemez típusa\" \"hd\",\n"
+"ha pedig SCSI-csatolós, akkor \"sd\".\n"
+"\n"
+"\"A lemez azonosítója\" mindig egy betű a \"hd\" illetve az \"sd\" után.\n"
+"IDE-csatolós meghajtók esetén:\n"
+"\n"
+" - \"a\" jelentése: \"első (master) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"b\" jelentése: \"második (slave) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"c\" jelentése: \"első meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+" - \"d\" jelentése: \"második meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+"SCSI-csatolós meghajtóknál az \"a\" jelentése: \"a legalacsonyabb\n"
+"SCSI-azonosító\", \"b\" jelentése: \"a második legalacsonyabb\n"
+"SCSI-azonosító\", és így tovább.\n"
+"\n"
+"A \"windowsos név\" a meghajtó Windows alatt használt azonosítója\n"
+"(az első lemez vagy partíció neve \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ellenőrizze a jelenlegi országbeállítást. Ha az nem\n"
+"megfelelő, kattintson a(z) \"%s\" gombra és válasszon egy másik országot.\n"
+"Ha a kívánt ország nem szerepel az elsőként megjelenített listában, akkor\n"
+"kattintson a(z) \"%s\" gombra a teljes országlista megjelenítéséhez."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Erre a lépésre csak akkor kerül sor, ha a gépen már van linuxos partíció.\n"
+"\n"
+"Most közölnie kell a telepítővel, hogy új telepítést szeretne-e végezni\n"
+"vagy pedig egy meglevő Mageia-rendszert kíván frissíteni:\n"
+"\n"
+" - \"%s\": a korábbi rendszer felülírásra kerül. Attól függően, hogy\n"
+"milyen partíciók találhatók a gépen, bizonyos partíciók (például a\n"
+"\"home\" nevű saját könyvtárakat tartalmazók) változatlan tartalommal\n"
+"megőrizhetők. Ha szeretné módosítani a merevlemezek partícionálását\n"
+"vagy a fájlrendszereket, akkor ezt a lehetőséget használja.\n"
+"\n"
+" - \"%s\": lehetővé teszi egy korábbi Mageia-telepítés\n"
+"csomagjainak frissítését. A merevlemezek partícionálása változatlanul\n"
+"marad, a felhasználók adatai sem módosulnak. A többi beállítási lépés közül\n"
+"a legtöbb elérhető lesz - a folyamat hasonló a normál telepítéshez.\n"
+"\n"
+"Frissítés használata akkor javasolt, ha a számítógépen\n"
+"Mageia 8.1 vagy újabb kiadás van."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"A telepítő a kiválasztott nyelvtől függően automatikusan kiválaszt\n"
+"egy bizonyos billentyűzetbeállítást. Ellenőrizze, hogy a kiválasztott\n"
+"beállítás megfelel-e Önnek; ha nem felel meg, akkor válasszon másikat.\n"
+"\n"
+"Elképzelhető, hogy Önnek nem a nyelvének megfelelő billentyűzete van;\n"
+"például ha Ön egy angolul beszélő magyar ember, akkor lehetséges,\n"
+"hogy magyar billentyűzete van.\n"
+"Hasonló helyzet adódhat, ha az Ön nyelve magyar, de Ön Quebecben\n"
+"tartózkodik - az Ön által beszélt nyelv nem feltétlenül egyezik meg a\n"
+"billentyűzet nyelvével. Ez a telepítési lépés lehetővé teszi a hasonló\n"
+"esetekre, hogy kiválasszon egy megfelelő billentyűzetet egy listából.\n"
+"\n"
+"Hogy megjelenjen a támogatott billentyűzetek listája, kattintson\n"
+"a(z) \"%s\" nyomógombra.\n"
+"\n"
+"Ha nem latin ábécére épülő billentyűzetkiosztást választ, akkor a\n"
+"következő lépésben kijelölhet egy billentyűkombinációt, amellyel\n"
+"majd a latin és a nem-latin kiosztások közt lehet váltani."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Az első lépés a nyelv kiválasztása.\n"
+"\n"
+"A kiválasztott nyelv befolyásolja a telepítőnek, a dokumentációnak és a\n"
+"rendszer többi részének a nyelvét is. Válassza ki a megfelelő földrajzi\n"
+"helyet, majd a kívánt nyelvet.\n"
+"\n"
+"A(z) \"%s\" nyomógombra kattintva kiválaszthatók további telepítendő\n"
+"nyelvek. További nyelvek választása esetén telepítésre kerülnek az adott\n"
+"nyelvekhez tartozó fájlok is - a rendszerdokumentáció és az alkalmazások\n"
+"szövegei. Ha például a gépet spanyol felhasználók is használni fogják,\n"
+"akkor az alapértelmezett nyelvnek (például magyar) a fában történő\n"
+"kiválasztását követően a Speciális részben jelölje be a(z) \"%s\"\n"
+"lehetőséget.\n"
+"\n"
+"Az UTF-8 (Unicode) szabvány támogatásáról: A Unicode egy új\n"
+"karakterkódolási szabvány az összes létező nyelv lefedésére.\n"
+"A Linux alatti teljes támogatása még fejlesztés alatt áll.\n"
+"A Mageia UTF-8-használatát befolyásolják a felhasználó\n"
+"által végzett beállítások:\n"
+"\n"
+" - ha olyan nyelvet választ, amelyhez erősen kapcsolódik egy\n"
+"korábbi kódolási módszer (Latin1-nyelvek, orosz, japán, kínai,\n"
+"koreai, thai, görög, török, valamint a legtöbb, ISO-8859-2 kódolást\n"
+"használó nyelv), akkor alapértelmezésben ez a korábbi kódolás lesz\n"
+"használva\n"
+"\n"
+" - egyéb nyelvek esetében a Unicode szabvány lesz használva\n"
+"alapértelmezésben\n"
+"\n"
+" - ha kettő vagy több nyelv kerül telepítésre, és azok eltérő\n"
+"kódolást használnak, akkor a Unicode szabványt fogja használni az\n"
+"egész rendszer\n"
+"\n"
+" - a felhasználó előírhatja, hogy az egész rendszer a Unicode-ot\n"
+"használja - ehhez a(z) \"%s\" lehetőséget kell választani (függetlenül\n"
+"a választott nyelvektől)\n"
+"\n"
+"Tetszőleges számú nyelv telepíthető az alapértelmezett nyelven felül.\n"
+"Telepítheti akár az összeset is - ehhez a(z) \"%s\" opciót kell\n"
+"használni. Egy nyelv támogatásának telepítése azt jelenti, hogy telepítésre\n"
+"kerülnek az adott nyelvhez kapcsolódó fordítások, betűkészletek,\n"
+"helyesírás-ellenőrzők és egyebek.\n"
+"\n"
+"A rendszerre telepített nyelvek közti váltáshoz a \"localedrake\"\n"
+"program használható. Rendszergazdai jogosultsággal az összes felhasználó\n"
+"nyelvbeállításait lehet módosítani, normál felhasználóként futtatva\n"
+"pedig csak az adott felhasználó nyelvbeállításait."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "spanyol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"A telepítő általában felismeri, hogy hány gomb van az egéren. Ha ez nem így\n"
+"történik, akkor azt feltételezi, hogy Ön kétgombos egérrel rendelkezik,\n"
+"és ez esetben beállítja a harmadik egérgomb emulálását. Kétgombos egér\n"
+"esetén a \"harmadik\" gomb lenyomása a két gomb egyidejű lenyomását\n"
+"jelenti (ha az emulálás be van állítva). A telepítő felismeri, hogy\n"
+"milyen fajtájú az egér: PS/2, soros vagy USB.\n"
+"\n"
+"Ha háromgombos, görgő nélküli egere van, akkor kiválaszthat egy \"%s\"\n"
+"egeret. A telepítő ekkor úgy állítja be az egeret, hogy emulálható\n"
+"legyen a görgő. Emulálási üzemmódban a görgő helyettesítéséhez\n"
+"nyomja le a középső egérgombot, majd mozgassa az egeret előre-hátra\n"
+"irányban.\n"
+"\n"
+"Ha Ön másféle egértípust szeretne megadni, válassza ki a megfelelő típust\n"
+"a listából.\n"
+"\n"
+"\"Ãltalános\" egértípus kiválasztásához használja a(z) \"%s\" bejegyzést.\n"
+"Ez a legtöbb egérhez megfelel.\n"
+"\n"
+"Ha az alapértelmezettől eltérő egeret választ, akkor megjelenik egy\n"
+"tesztelési képernyő. Használja az egérgombokat és a görgőt, hogy\n"
+"ellenőrizze a beállítások helyességét és az egér helyes működését.\n"
+"Ha az egér nem működik helyesen, akkor nyomja le a Szóköz vagy az Enter\n"
+"(Return) billentyűt, és válasszon egy másik fajta egeret a listából.\n"
+"\n"
+"A görgős egereket nem mindig ismeri fel a rendszer. Ha az egér nem lett\n"
+"felismerve, válassza ki saját kezűleg a listából. Ügyeljen arra, hogy az\n"
+"egér portjának megfelelő tételt válassza ki. Miután kiválasztotta a kívánt\n"
+"típust, majd lenyomta a(z) \"%s\" gombot, egy egeret ábrázoló kép\n"
+"jelenik meg a képernyőn. Mozgassa az egér görgőjét, hogy az megfelelően\n"
+"aktiválva legyen. Ha a képernyőn levő görgőt mozogni látja az egérgörgő\n"
+"mozgatásakor, akkor tesztelje le egyrészt az egér gombjainak működését,\n"
+"másrészt azt, hogy megfelelően mozog-e az egérkurzor a képernyőn az egér\n"
+"mozgatásakor."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "görgő-emulációval"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzális | Bármilyen PS/2- vagy USB-egér"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Válassza ki a megfelelő portot. Például a windowsos \"COM1\" port\n"
+"neve Linux alatt \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"A rendszerindító programot a számítógép indítja el a gép elindításakor,\n"
+"ezt követően ezen program végzi a rendszer elindítását. A rendszerindító\n"
+"program telepítése általában teljesen automatikus. A telepítő elemzi a\n"
+"lemez betöltőszektorát, és annak megfelelően cselekszik, hogy ott mit\n"
+"talál:\n"
+"\n"
+" - Ha windowsos betöltőszektort talál, akkor azt helyettesíteni fogja egy\n"
+"GRUB-/LILO-betöltÅ‘szektorral. Ãgy Önnek lehetÅ‘sége lesz arra is, hogy\n"
+"Linuxot indítson, és arra is, hogy egy másik operációs rendszert.\n"
+"\n"
+" - Ha GRUB- vagy LILO-betöltőszektort talál, helyettesíti azt egy új\n"
+"példánnyal.\n"
+"\n"
+"Ha a telepítő nem tudja meghatározni, hogy hova telepítendő a\n"
+"rendszerindító, akkor kérdést tesz fel Önnek azzal kapcsolatban.\n"
+"Ãltalában \"%s\" a legbiztosabb hely. \"%s\" lehetÅ‘ség választása\n"
+"esetén nem lesz telepítve rendszerindító. Ezt a lehetőséget csak\n"
+"akkor használja, ha biztos abban, hogy ezt szeretné."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Itt lehet nyomtatórendszert választani a gép számára. Más operációs\n"
+"rendszerekben általában csak egy van, a Mageiaban viszont kettő is.\n"
+"Mindkettőnek megvannak a maga előnyei bizonyos környezetben használva.\n"
+"\n"
+" - \"%s\": \"print, do not queue\", azaz sorba tevés nélkül történő\n"
+"nyomtatás. Akkor válassza ezt, ha közvetlen kapcsolat van a\n"
+"nyomtatóval, továbbá ha szeretné, hogy egyszerűen meg lehessen oldani a\n"
+"papírberagadási problémákat illetve ha nincsen hálózati nyomtatója. A(z)\n"
+"\"%s\" módszer csak a legegyszerűbb hálózati szolgáltatásokat nyújtja, és\n"
+"hálózaton viszonylag lassú. Ha Ön nem rendelkezik komolyabb linuxos\n"
+"ismeretekkel, akkor érdemes ezt a módszert választania.\n"
+"\n"
+" - \"%s\": \"Common UNIX Printing System\", azaz általános UNIX-os\n"
+"nyomtatórendszer. Helyi és távoli nyomtatókra való nyomtatáshoz remekül\n"
+"használható. Ez egy egyszerűen beállítható rendszer, és képes a régi\n"
+"\"lpd\" nyomtatórendszer kiszolgálójaként vagy klienseként funkcionálni -\n"
+"vagyis kompatibilis a régebbi operációs rendszerekkel. Nagy tudású\n"
+"rendszer, viszont az alapvető beállítások majdnem olyan egyszerűen\n"
+"elvégezhetők benne, mint a \"pdq\" esetében. Ha arra használja, hogy egy\n"
+"\"lpd\" kiszolgálót emuláljon vele, akkor aktiválnia kell a \"cups-lpd\"\n"
+"szolgáltatást. A(z) \"%s\" rendelkezik grafikus felülettel, amely\n"
+"nyomtatásra, a nyomtatóparaméterek kiválasztására illetve nyomtatókezelésre\n"
+"használható.\n"
+"\n"
+"Telepítés után lehetősége lesz a nyomtatórendszer lecserélésére (ha mégsem\n"
+"felel meg az itt kiválasztott) - ehhez a PrinterDrake programot kell\n"
+"elindítani a Mageia Vezérlőközpontban, majd rá kell kattintani a(z)\n"
+"\"%s\" gombra."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "PDQ"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Szakértő"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"A telepítő megkeresi a gépben levő IDE-eszközöket. Felderíti\n"
+"a PCI SCSI-kártyákat is. A program a felismert SCSI-kártyákhoz\n"
+"automatikusan feltelepíti a megfelelő meghajtóprogramokat.\n"
+"\n"
+"Mivel a hardverfelderítés nem mindig ismeri fel a gépben levő eszközöket,\n"
+"ezért elképzelhető, hogy a telepítő nem ismeri fel a merevlemezeket. Ha így\n"
+"történik, akkor adja meg saját kezűleg a kérdéses eszközök jellemzőit.\n"
+"\n"
+"Ha kézzel kellett megadnia a PCI SCSI-kártya típusát, a telepítő\n"
+"megkérdezi, hogy szeretné-e megadni a kártya jellemzÅ‘it. Ãltalában nincs\n"
+"szükség saját kezűleg való beállításra, mivel a telepítő a legtöbb esetben\n"
+"le tudja kérdezni a megfelelő beállításokat.\n"
+"\n"
+"Ha a telepítő nem tudja meghatározni a szükséges jellemzőket, akkor\n"
+"Önnek kell megadnia a meghajtóprogram paramétereit."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ha a telepítő hangkártyát észlel a gépben, az itt fog\n"
+"megjelenni. Ha az itt megjelenő hangkártya nem azonos a gépben levővel,\n"
+"akkor kattintson a gombra és válasszon egy másik meghajtóprogramot."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Itt a gépéről összegyűjtött adatokat láthatja. A telepített hardvertől\n"
+"függően a következőkben felsorolt elemek jelenhetnek meg. A bejegyzések a\n"
+"beállítható elemeket tartalmazzák azok aktuális beállításaival együtt.\n"
+"Módosítás a megfelelő \"%s\" gombbal végezhető.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi billentyűzet-kiosztást és\n"
+"szükség esetén módosítsa azt.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi országbeállítást. Ha az nem\n"
+"megfelelő, kattintson a(z) \"%s\" gombra és válasszon egy másik\n"
+"országot. Ha a kívánt ország nem szerepel az elsőként megjelenített\n"
+"listában, akkor kattintson a(z) \"%s\" gombra a teljes országlista\n"
+"megjelenítéséhez.\n"
+"\n"
+" - \"%s\": a telepítő alapértelmezésben felkínál egy általa\n"
+"megfelelőnek tartott időzóna-beállítást, amelyet az Ön által kiválasztott\n"
+"ország alapján határoz meg. Ha az nem felel meg Önnek, akkor módosítsa a(z)\n"
+"\"%s\" gombbal.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi egérbeállításokat; a módosításukhoz\n"
+"kattintson a gombra.\n"
+"\n"
+" - \"%s\": a(z) \"%s\" gombra kattintva elindul a\n"
+"nyomtatóbeállítási varázsló. Nyomtatóbeállítással kapcsolatos további\n"
+"információkat a felhasználói kézikönyvből lehet szerezni. Az ott\n"
+"bemutatott felület hasonló ahhoz, ami a telepítéskor megjelenik.\n"
+"\n"
+" - \"%s\": ha a telepítő hangkártyát észlel a gépben, az itt fog\n"
+"megjelenni. Ha az itt megjelenő hangkártya nem azonos a gépben levővel,\n"
+"akkor kattintson a gombra és válasszon egy másik meghajtóprogramot.\n"
+"\n"
+" - \"%s\": ha a telepítő tévékártyát észlel a gépben, az itt\n"
+"fog megjelenni. Ha a telepítő nem észleli a gépben levő tévékártyát,\n"
+"akkor kattintson a(z) \"%s\" gombra és állítsa be kézzel.\n"
+"\n"
+" - \"%s\": ha a(z) \"%s\" gombra kattint, módosíthatja a kártya\n"
+"paramétereit.\n"
+"\n"
+" - \"%s\": a telepítő alapértelmezésben \"800x600\"-as\n"
+"vagy \"1024x768\"-as felbontást állít be a grafikus felülethez. Ha ez nem\n"
+"felel meg Önnek, akkor kattintson a(z) \"%s\" gombra a grafikus felület\n"
+"beállításainak módosításához.\n"
+"\n"
+" - \"%s\": ha be szeretné állítani az internet vagy a helyi hálózat\n"
+"elérését most, akkor kattintson a gombra. Információkat a nyomtatott\n"
+"dokumentációból szerezhet, vagy telepítés után a Mageia\n"
+"Vezérlőközpontban.\n"
+"\n"
+" - \"%s\": lehetővé teszi a HTTP- és FTP-proxyk beállítását arra az\n"
+"esetre, ha a gép egy proxykiszolgáló mögött lesz.\n"
+"\n"
+" - \"%s\": lehetővé teszi az egyik korábbi lépésben\n"
+"beállított biztonsági szint módosítását.\n"
+"\n"
+" - \"%s\": ha tervezi a gép internetre való kapcsolását, akkor érdemes\n"
+"egy tűzfalat használni az esetleges behatolások ellen. A tűzfalbeállítással\n"
+"kapcsolatban a kézikönyvben találhat részletes információt.\n"
+"\n"
+" - \"%s\": ha szeretné módosítani a rendszerbetöltő\n"
+"beállításait, kattintson a megfelelő gombra. Elsősorban a komolyabb\n"
+"ismeretekkel rendelkező felhasználóknak javasolt. Információkat a\n"
+"nyomtatott dokumentációból szerezhet, vagy telepítés után a\n"
+"Mageia Vezérlőközpontban a rendszerindítónál.\n"
+"\n"
+" - \"%s\": itt részletesen beállítható, hogy mely\n"
+"szolgáltatások legyenek működtetve a gépen. Ha kiszolgálóként szeretné\n"
+"üzemeltetni a gépet, akkor érdemes átnézni ezt a részt."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN-kártya"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kártya"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafikus felület"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Válassza ki azt a lemezt, amelyet törölni szeretne a\n"
+"Mageia-partíció létrehozásához. Figyelem: a lemezen\n"
+"található adatok elvesznek, és később nem nyerhetők vissza!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Kattintson a(z) \"%s\" gombra, ha a lemezen található összes adatot\n"
+"és partíciót törölni szeretné. Figyelem! A(z) \"%s\" gomb megnyomása\n"
+"után nincs mód a törölt adatok és partíciók visszaállítására -\n"
+"természetesen akkor sem, ha egy Windows-partíció törlődött.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha nem kívánja végrehajtani a műveletet\n"
+"(a lemezen található partíciók és adatok ez esetben nem változnak)."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Következő ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Előző"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": a(z) \"%s\" gombra kattintva elindul a nyomtatóbeállítási\n"
+#~ "varázsló. Nyomtatóbeállítással kapcsolatos további információkat a\n"
+#~ "felhasználói kézikönyvből lehet szerezni. Az ott bemutatott felület "
+#~ "hasonló\n"
+#~ "ahhoz, ami a telepítéskor megjelenik."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ez a legkritikusabb pont a Linux rendszer biztonságára vonatkozóan:\n"
+#~ "meg kell adni a \"root\" nevű felhasználó jelszavát. A \"root\" "
+#~ "azonosító\n"
+#~ "a rendszeradminisztrátort jelöli; ez az egyetlen olyan felhasználó,\n"
+#~ "amelynek joga van rendszerfrissítést végezni, felhasználókat létrehozni,\n"
+#~ "módosítani a rendszerbeállításokat illetve hasonló tevékenységeket "
+#~ "végezni.\n"
+#~ "Röviden szólva: a \"root\" felhasználó bármit megtehet a rendszeren.\n"
+#~ "Ez az, amiért a jelszót úgy kell megválasztani, hogy azt minél nehezebb\n"
+#~ "legyen kitalálni. A telepítő jelzi az Ön számára, ha a jelszót könnyen\n"
+#~ "kitalálhatónak tartja. Nem kötelező megadni jelszót, de erősen javasolt.\n"
+#~ "A Linux rendszert - ugyanúgy, mint bármely más rendszert - tönkre lehet\n"
+#~ "tenni rendszeradminisztrátori hibákkal. Mivel a \"root\" felhasználóra\n"
+#~ "nem vonatkoznak a korlátozások, ezért ha például óvatlanul kezeli a\n"
+#~ "partíciókat, akkor akár le is törölheti az azokon levő adatokat - ezért\n"
+#~ "fontos, hogy a rendszeradminisztrátori azonosító védve legyen.\n"
+#~ "\n"
+#~ "A jelszónak betűkből és számokból kell állni, és legalább 8 karakter\n"
+#~ "hosszúságúnak kell lenni. Soha ne írja le a rendszeradminisztrátori\n"
+#~ "jelszót - ez veszélyt jelenthetne a rendszerre.\n"
+#~ "\n"
+#~ "A fentiek ellenére ne válasszon túl hosszú vagy túl bonyolult jelszót, "
+#~ "mert\n"
+#~ "Önnek fejben kell tartania azt.\n"
+#~ "\n"
+#~ "A jelszó nem jelenik meg a képernyőn, amikor Ön begépeli azt. Az "
+#~ "esetleges\n"
+#~ "gépelési hibák miatti problémák elkerülése érdekében kétszer kell beírni "
+#~ "a\n"
+#~ "jelszót. Ha esetleg ugyanazt a gépelési hibát követi el a jelszó első és\n"
+#~ "második megadásánál, akkor ezen - helytelenül írt - jelszóval kell majd\n"
+#~ "bejelentkezni a rendszerbe.\n"
+#~ "\n"
+#~ "Ha szeretné a géphez való hozzáférést azonosítási kiszolgálóval\n"
+#~ "(authentication server) vezérelni, akkor kattintson a(z) \"%s\" gombra.\n"
+#~ "\n"
+#~ "Ha az Ön hálózata LDAP-t, NIS-t vagy PDC-t használ azonosításhoz, akkor\n"
+#~ "válassza az ennek megfelelő tételt a(z) \"%s\" pontban. Ha nem tudja,\n"
+#~ "hogy mit kellene megadni, kérdezze meg a rendszergazdát.\n"
+#~ "\n"
+#~ "Ha Önnek problémája van a jelszavak megjegyzésével kapcsolatban, vagy\n"
+#~ "a számítógép nem fog kapcsolódni az internetre és Ön megbízik\n"
+#~ "mindenkiben, aki elérheti a gépet, abban az esetben elfogadható a(z)\n"
+#~ "\"%s\" lehetőség választása."
+
+#~ msgid "authentication"
+#~ msgstr "felhasználóazonosítás"
diff --git a/perl-install/install/help/po/id.po b/perl-install/install/help/po/id.po
new file mode 100644
index 000000000..4f1442552
--- /dev/null
+++ b/perl-install/install/help/po/id.po
@@ -0,0 +1,2067 @@
+# Instalator Grafis Mageia
+# Copyright (C) 1999 Mandriva
+# Budi Rachmanto <rac@mandrivalinux.org>, 2001-2003
+# Linux Indonesia <http://www.linux.or.id>, 1999-2001
+# Mohammad DAMT <mdamt@cdl2000.com>, 1999-2001
+# Andy <chandy@indo.net.id>, 1999
+# Kelana <nk@telkom.net>, 1999
+# Willy Sudiarto Raharjo <willysr@gmail.com>, 2004 - 2005.
+# Erwien Samantha <erwiensamantha@gmail.com>, 2005.
+# Bayu Artanto <bayuart@yahoo.com>, 2005.
+# Ahmad Ramadhana <ahmad_ramadhana@yahoo.com.sg>, 2005.
+# Firdaus <dausnux@gmail.com>, 2005.
+# Sofian <sofianhanafi@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-03-11 10:45+0700\n"
+"Last-Translator: Willy Sudiarto Raharjo <willysr@gmail.com>\n"
+"Language-Team: Indonesia <mdk-id@yahoogroups.com>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.6\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Bacalah lisensi sebelum melanjutkan. Lisensi mencakup seluruh distribusi\n"
+"Mageia. Jika Anda setuju dengan semua pasal di dalamnya, klik\n"
+"kotak \"%s\". Jika tidak, klik pada tombol \"%s\" akan mereboot komputer "
+"Anda."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux adalah sistem multiuser, artinya tiap pengguna bisa punya "
+"kesukaan,\n"
+"file sendiri. Tidak seperti \"root\", sang administrator, pengguna di sini "
+"tidak berhak\n"
+"mengubah apapun kecuali konfigurasi dan file mereka sendiri, menjaga sistem "
+"dari perubahan\n"
+"yang dapat merusak sistem secara keseluruhan. Anda harus membuat setidaknya "
+"satu pengguna \n"
+"reguler untuk Anda sendiri. Account ini Anda pakai untuk rutinitas. Meski "
+"Anda dapat login \n"
+"sebagai \"root\" untuk melakukan apa saja, tapi itu amat berbahaya! "
+"Kesalahan terkecil dapat \n"
+"menyebabkan sistem Anda tidak bekerja selamanya. Meski Anda melakukan "
+"kesalahan serius sebagai \n"
+"pengguna normal, Anda hanya akan kehilangan sebagian informasi, tidak "
+"seluruh sistem.\n"
+"\n"
+"Pertama, Anda harus mengisi nama. Ini tidak wajib, tentu saja - Anda dapat\n"
+"mengisinya sesuka Anda. DrakX akan mengambil kata pertama yang Anda "
+"masukkan\n"
+"pada kotak dan menyalinnya pada \"%s\" sebagai nama yang harus diketikkan "
+"pengguan untuk login ke sistem. \n"
+"Anda dapat mengubahnya. Lalu Anda harus mengisi katasandi. Katasandi "
+"pengguna \n"
+"biasa tidak sepenting katasandi \"root\" dari segi keamanan, tapi tidak "
+"ada \n"
+"alasan untuk mengabaikannya - file Anda bisa beresiko.\n"
+"\n"
+"Setelah Klik pada \"%s\", Anda dapat menambahkan pengguna untuk setiap "
+"rekan,\n"
+"ayah, atau saudara Anda. Klik \"%s\" ketika Anda telah selesai menambahkan "
+"pengguna.\n"
+"\n"
+"Klik pada tombol \"%s\" memungkinkan Anda mengubah \"shell\" standar untuk\n"
+"pengguna terkait (standar: bash).\n"
+"\n"
+"Ketika Anda selesai menambahkan pengguna, Anda akan ditanya untuk memilih "
+"pengguna yang \n"
+"dapat otomatis login saat komputer di-boot. Bila tertarik (dan tak begitu "
+"peduli\n"
+"dengan keamanan lokal), pilihlah pengguna dan manajer window-nya, lalu klik\n"
+"pada \"%s\". Jika tidak tertarik, jangan tandai kotak \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Apakah Anda ingin menggunakan fitur ini?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Berikut adalah daftar partisi Linux yang terdeteksi pada hard disk drive "
+"Anda.\n"
+"Anda dapat memakai pilihan yg dibuatkan, karena itu baik untuk installasi\n"
+"umum. Bila Anda mengubah pilihan, setidaknya Anda perlu mendefinisikan\n"
+"partisi root (\"/\"). Jangan pilih partisi yang terlalu kecil agar dapat\n"
+"menginstal software dengan leluasa. Bila Anda ingin menyimpan data pada "
+"partisi\n"
+"lain, Anda perlu membuat partisi \"/home\" (hanya mungkin jika punya lebih\n"
+"dari satu partisi Linux.)\n"
+"\n"
+"Setiap partisi terdaftar sebagai: \"Nama\", \"Kapasitas\".\n"
+"\n"
+"\"Nama\" berstruktur: \"tipe hard disk drive\", \"nomor hard disk drive\",\n"
+"\"nomor partisi\" (misalnya \"hda1\").\n"
+"\n"
+"\"Tipe hard disk drive\" adalah \"hd\" untuk drive IDE dan \"sd\" untuk "
+"drive SCSI.\n"
+"\n"
+"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Bila "
+"berupa IDE, maka:\n"
+"\n"
+" *\"a\" berarti \"hard disk drive master pada kontroller IDE primer\",\n"
+"\n"
+" *\"b\" berarti \"hard disk drive slave pada kontroler IDE primer\",\n"
+"\n"
+" *\"c\" berarti \"hard disk drive master pada kontroler IDE sekunder\",\n"
+"\n"
+" *\"d\" berarti \"hard disk drive slave pada kontroler IDE sekunder\",\n"
+"\n"
+"Pada drive SCSI, \"a\" adalah \"ID SCSI terkecil\", \"b\" adalah\"ID SCSI "
+"terkecil kedua\", dan seterusnya."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Installasi Mageia didistribusikan pada beberapa CDROM. DrakX tahu jika "
+"paket\n"
+"terpilih berada di CDROM lain dan akan mengeluarkan CD yang ada untuk "
+"kemudian\n"
+"meminta Anda memasukkan CD yg diperlukan. Jika Anda tidak memiliki CD yang "
+"diperlukan,\n"
+"cukup klik pada \"%s\", maka paket tidak akan diinstal."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sekarang waktunya untuk menentukan program yang akan diinstal. Terdapat "
+"ribuan \n"
+"pada Mageia, dan untuk mempermudah, mereka telah diletakkan pada grup \n"
+"aplikasi yang sejenis.\n"
+"\n"
+"Mageia mengurutkan paket dalam empat kategori. Anda bisa menggabungkan \n"
+"menyesuaikan aplikasi dari berbagai kategori, sehingga installasi "
+"``Workstation''\n"
+"tetap dapat memiliki aplikasi pada installasi ``Server''\n"
+"\n"
+" * \"%s\": jika Anda ingin menggunakan komputer Anda sebagai workstation, "
+"pilih\n"
+"satu/lebih grup dalam kategori workstation.\n"
+"\n"
+" * \"%s\": jika komputer akan digunakan untuk pemrograman, pilih grup\n"
+"dari kategori itu. Grup khusus \"LSB\" akan mengkonfigurasi sistem\n"
+"agar sesuai dengan Spesifikasi Linux Standard Base sedekat mungkin.\n"
+"\n"
+" Memilih grup \"LSB\" juga akan menginstall seri kernel \"2.4\",\n"
+"dan bukan default \"2.6\". Hal ini untuk memastikan kesetaraan 100%% dengan "
+"LSB \n"
+"pada sistem. Namun, jika Anda tidak memilih grub \"LSB\" Anda akan \n"
+"tetap mendapatkan sistem yang hampir setara 100%% dengan LSB.\n"
+"\n"
+" * \"%s\": jika komputer diinginkan menjadi server, Anda dapat\n"
+"memilih layanan paling umum yang akan diinstal.\n"
+"\n"
+" * \"%s\": di sini Anda memilih lingkungan grafis. Minimal Anda\n"
+"harus pilih satu jika ingin punya workstation grafis!\n"
+"\n"
+"Untuk melihat penjelasan singkat, gerakkan kursor mouse ke atas nama grup.\n"
+"\n"
+"Anda bisa menandai kotak \"%s\", yang berguna jika Anda terbiasa dengan \n"
+"paket yang ditawarkan atau jika Anda ingin mempunyai kontrol penuh dari "
+"apa \n"
+"yang akan diinstall.\n"
+"\n"
+"Jika Anda memulai installasi dalam mode \"%s\", Anda bisa menghapus semua "
+"grup\n"
+"dan mencegah installasi paket baru. Hal ini berguna untuk memperbaiki atau \n"
+"mengupdate sistem yang sudah ada.\n"
+"\n"
+"Jika Anda tidak memilih semua grup ketika menjalankan installasi umum "
+"(sebagai\n"
+"kebalikan dari upgrade), sebuah dialog muncul untuk menawarkan opsi lain \n"
+"untuk installasi minimal:\n"
+"\n"
+" * \"%s\": menginstall paket seminimal mungkin untuk mendapatkan sebuah \n"
+"desktop grafis.\n"
+"\n"
+" * \"%s\": menginstall sistem dasar ditambah utilitas dasar dan juga \n"
+"dokumentasi. Installasi ini cocok untuk membuat sebuah server.\n"
+"\n"
+" * \"%s\": akan menginstall paket seminimal mungkin yang diperlukan \n"
+"untuk mendapatkan sistem Linux yang bekerja. Dengan installasi ini, Anda \n"
+"akan mendapatkan antarmuka perintah baris. Ukuran totalnya sekitar 65\n"
+"megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Dengan dokumentasi dasar"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installasi paling minimal"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jika Anda memilih paket sendiri, installer akan menampilkan sebuah pohon \n"
+"berisi seluruh paket yang diklasifikasikan oleh grup dan sub grup. Selama\n"
+"menjelajah pohon tersebut, Anda bisa memilih seluruh grup, sub grup, atau "
+"paket\n"
+"individu.\n"
+"\n"
+"Setiap kali Anda memilih paket dalam pohon, penjelasan muncul di sisi kanan\n"
+"sehingga Anda tahu tujuan dari paket tersebut.\n"
+"\n"
+"!! Jika paket server terpilih dengan sengaja atau karena merupakan bagian "
+"suatu\n"
+"grup besar, akan ada pertanyaan konfirmasi installasi paket tersebut. Pada\n"
+"Mageia, secara default semua server terinstal dijalankan saat boot.\n"
+"Meski aman saat distribusi diluncurkan, ada kemungkinan lubang keamanan\n"
+"ditemukan setelah versi Mageia ini selesai. Jika Anda tidak tahu apa\n"
+"yang dilakukan oleh suatu layanan atau mengapa ia diinstal, klik \"%s\".\n"
+"Jika Anda menekan \"%s\" layanan terdaftar akan diinstal dan akan "
+"dijalankan\n"
+"secara otomatis. !!\n"
+"\n"
+"Opsi \"%s\" digunakan untuk mematikan dialog yang muncul tiap kali\n"
+"installer memilih suatu paket secara otomatis untuk menyelesaikan masalah\n"
+"ketergantungan. Beberapa paket tergantung pada yang lain dan installasi \n"
+"sebuah paket mungkin membutuhkan installasi paket lain. Installer bisa \n"
+"menentukan paket mana yang diperlukan untuk menyelesaikan ketergantungan\n"
+"dan menyelesaikan installasi.\n"
+"\n"
+"Ikon disket di bagian bawah memungkinkan Anda untuk memuat daftar paket \n"
+"yang diinstal pada installasi sebelumnya. Hal ini berguna jika Anda telah\n"
+"memiliki sejumlah komputer yang hendak Anda konfigurasi secara serupa. Meng-"
+"klik\n"
+"pada ikon ini akan meminta Anda memasukkan disket yang dibuat pada akhir \n"
+"installasi lainnya. Lihat tip kedua di langkah terakhir untuk membuat "
+"floppy \n"
+"tersebut."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ketergantungan otomatis"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dialog ini digunakan untuk memilih layanan yang Anda jalankan saat boot.\n"
+"\n"
+"DrakX akan menampilkan semua layanan yang tersedia pada installasi ini. "
+"Periksa \n"
+"dengan baik dan jangan tandai layanan yang tidak diperlukan saat boot.\n"
+"\n"
+"Penjelasan singkat tentang layanan akan ditampilkan ketika suatu layanan "
+"dipilih. \n"
+"Namun jika Anda tak yakin kegunaan layanan tersebut, lebih aman menggunakan "
+"default.\n"
+"\n"
+"Pada tahap ini, hati-hati jika Anda bermaksud menjadikan komputer Anda "
+"sebuah\n"
+"server: Anda mungkin tidak ingin menjalankan layanan yang tidak diperlukan. "
+"Ingat,\n"
+"beberapa layanan bisa berbahaya jika dijalankan. Secara umum, pilihlah "
+"hanya\n"
+"layanan yang benar-benar Anda perlukan."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux mengatur waktu dalam GMT (Greenwich Mean Time) dan "
+"menerjemahkannya\n"
+"ke waktu lokal sesuai zona waktu yang Anda pilih. Jika waktu pada "
+"motherboard\n"
+"Anda diset ke waktu lokal, Anda bisa menonaktifkannya dengan tidak memilih\n"
+"\"%s\" yang akan mengijinkan GNU/Linux mengetahui bahwa waktu sisten dan "
+"waktu\n"
+"perangkat keras berada dalam zona waktu yang sama. Hal ini berguna ketika "
+"komputer\n"
+"juga menggunakan sistem operasi lain.\n"
+"\n"
+"Opsi \"%s\" akan otomatis mengatur jam dengan menghubungi server waktu "
+"remote di \n"
+"internet. Agar fitur ini bekerja, Anda harus memiliki koneksi Internet. "
+"Kami\n"
+"merekomendasikan Anda memilih server terdekat. Opsi ini sebenarnya "
+"menginstall \n"
+"server waktu yang dapat digunakan oleh komputer lain pada jaringan lokal "
+"Anda."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronisasi waktu otomatis"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kartu Grafis\n"
+"\n"
+" Installer akan mendeteksi dan mengkonfigurasi kartu grafis yang "
+"terinstall \n"
+"secara otomatis pada komputer Anda. Jika tidak benar, pilih kartu yang "
+"sesuai pada\n"
+"daftar ini.\n"
+"\n"
+" Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan "
+"atau tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (untuk X Window System) adalah jantung dari interface grafis GNU/Linux\n"
+"yang diperlukan oleh semua lingkungan grafis (KDE, GNOME, AfterStep,\n"
+"WindowMaker, dll.) yang dibundel pada Mageia.\n"
+"\n"
+"Anda akan melihat daftar parameter yang berbeda untuk merubah untuk "
+"mendapatkan\n"
+"tampilan grafis yang optimal.\n"
+"\n"
+"Kartu Grafis\n"
+"\n"
+" Installer akan secara otomatis mendeteksi dan mengkonfigurasi kartu \n"
+"grafis yang terinstall pada komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar kartu grafis yang terinstall pada komputer Anda.\n"
+"\n"
+" Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan "
+"atau tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Biasanya, installer akan secara otomatis mendeteksi dan mengkonfigurasi \n"
+"monitor yang terhubung ke komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar monitor yang terhubung ke komputer Anda.\n"
+"\n"
+"\n"
+"\n"
+"Resolusi\n"
+"\n"
+" Disini Anda bisa memilih resolusi dan kedalaman warna yang tersedia "
+"untuk\n"
+"perangkat keras grafis Anda. Pilih yang memenuhi kebutuhan Anda (Anda bisa \n"
+"merubahnya setelah installasi). Contoh dari konfigurasi terpilih "
+"ditampilkan\n"
+"pada gambar monitor.\n"
+"\n"
+"\n"
+"\n"
+"Pengujian\n"
+"\n"
+" Bergantung pada perangkat keras Anda, entry ini mungkin tidak muncul.\n"
+"\n"
+" Sistem akan mencoba membuka layar grafis pada resolusi yang diinginkan.\n"
+"Jika Anda melihat pesan pengujian selama tes dan menjawab \"%s\",\n"
+"maka DrakX akan melanjutkan ke langkah selanjutnya. Jika Anda tidak "
+"melihatnya,\n"
+"maka berarti beberapa bagian dari konfigurasi deteksi otomatis salah dan\n"
+"pengujian akan berakhir setelah 12 detik dan kembali ke menu. Ubahlah\n"
+"setting sehingga Anda mendapatkan tampilan grafis yang benar.\n"
+"\n"
+"\n"
+"\n"
+"Opsi\n"
+"\n"
+" Langkah ini mengijinkan Anda untuk memilih apakah komputer Anda hendak "
+"berpindah\n"
+"ke antarmuka grafis secara otomatis saat boot.Biasanya Anda harus melihat \n"
+"\"%s\" jika komputer Anda bertindak sebagai server, atau jika Anda adalah\n"
+"tidak berhasil mendapatkan konfigurasi tampilan."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Biasanya, installer akan secara otomatis mendeteksi dan mengkonfigurasi \n"
+"monitor yang terhubung ke komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar monitor yang terhubung ke komputer Anda."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusi\n"
+"\n"
+" Disini Anda bisa memilih resolusi dan kedalaman warna yang tersedia "
+"untuk\n"
+"perangkat keras grafis Anda. Pilih yang memenuhi kebutuhan Anda (Anda bisa \n"
+"merubahnya setelah installasi). Contoh dari konfigurasi terpilih "
+"ditampilkan\n"
+"pada gambar monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan atau "
+"tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opsi\n"
+"\n"
+" Langkah ini mengijinkan Anda untuk memilih apakah komputer Anda hendak "
+"berpindah\n"
+"ke antarmuka grafis secara otomatis saat boot.Biasanya Anda harus melihat \n"
+"\"%s\" jika komputer Anda bertindak sebagai server, atau jika Anda adalah\n"
+"tidak berhasil mendapatkan konfigurasi tampilan."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Sekarang Anda harus menentukan dimana Anda hendak menginstall sistem "
+"operasi\n"
+"Mageia pada harddisk Anda. Jika harddisk Anda kosong atau jika sebuah\n"
+"sistem operasi menggunakan semua tempat, Anda harus mempartisi drive.\n"
+"Pada dasarnya, mempartisi harddisk berarti membaginya secara logical\n"
+"untuk membuat ruang yang diperlukan sistem Mageia baru Anda.\n"
+"\n"
+"Karena proses partisi harddisk biasanya tidak bisa dikembalikan dan bisa \n"
+"mengacu pada kehilangan data, partisi bisa menegangkan dan membuat stress\n"
+"bagi pengguna yang tidak terbiasa. Untungnya, DrakX menyertakan wizard yang\n"
+"mempermudah proses ini. Sebelum melanjutkan, baca sisa bagian ini dan "
+"diatas,\n"
+"santai saja.\n"
+"\n"
+"Bergantung pada konfigurasi pada harddisk Anda, beberapa opsi yang "
+"tersedia:\n"
+"\n"
+" * \"%s\". Opsi ini akan melakukan partisi otomatis dari drive kosong Anda.\n"
+"Jika Anda menggunakan opsi ini tidak ada konfirmasi tambahan.\n"
+"\n"
+" * \"%s\". Wizard mendeteksi satu atau lebih partisi Linux pada harddisk "
+"Anda.\n"
+"Jika Anda hendak menggunakannya, pilih opsi ini. Anda akan ditanya untuk "
+"memilih\n"
+"titik mount yang sesuai untuk setiap partisi.\n"
+"Titik mount yang benar telah dipilih secara default, dan untuk sebagian "
+"besar\n"
+"kasus, merupakan ide bagus untuk menggunakannya.\n"
+"\n"
+" * \"%s\". Jika Microsoft Windows terinstall pada harddisk Anda dan "
+"menggunakan \n"
+"semua ruang yang tersedia, Anda harus membuat sebuah ruang kosong untuk GNU/"
+"Linux. \n"
+"Untuk melakukannya, Anda bisa menghapus partisi data Microsoft Windows "
+"Anda \n"
+"(lihat solusi ``Menghapus seluruh disk'') atau merubah ukuran partisi FAT "
+"atau NTFS \n"
+"Microsoft Windows Anda. Merubah ukuran dapat dilakukan tanpa kehilangan "
+"data,\n"
+"dengan sebelumnya Anda sudah mendefrag partisi Windows.\n"
+"Membackup data sangat disarankan. Penggunaan opsi ini sangat "
+"direkomendasikan jika Anda\n"
+"ingin menggunakan Mageia dan Microsoft Windows pada komputer yang sama.\n"
+"\n"
+" Sebelum memilih opsi ini, harap dipahami bahwa setelah prosedur ini, "
+"ukuran partisi \n"
+"Microsoft Windows Anda akan berkurang sebelum memulai prosedur. Anda akan "
+"memiliki \n"
+"ruang yang lebih sedikit pada Microsoft Windows untuk menyimpan data atau "
+"menginstall\n"
+"perangkat lunak baru.\n"
+"\n"
+" * \"%s\". Jika Anda hendak menghapus seluruh data dan semua partisi yang "
+"ada pada harddisk\n"
+"Anda dan menggantinya dengan sistem Mageia yang baru, pilih opsi ini. Hati-"
+"hati, karena\n"
+"Anda tidak bisa membatalkan opsi ini setelah Anda mengkonfirmasikan.\n"
+"\n"
+" !! Jika Anda memilih opsi ini, semua data pada harddisk Anda akan "
+"dihapus !!\n"
+"\n"
+" * \"%s\". Opsi ini tampak ketika harddisk dipakai seluruhnya oleh Microsoft "
+"Windows.\n"
+"Memilih opsi ini akan menghapus semua pada harddisk dan memulai installasi "
+"dan partisi dari awal.\n"
+"\n"
+" !! Jika Anda memilih opsi ini, semua data Anda akan hilang. !!\n"
+"\n"
+" * \"%s\". Pilihlah opsi ini jika Anda mempartisi harddisk Anda secara "
+"manual. Hati-hati \n"
+"-- ini sangatlah handal tetapi pilihan yang berbahaya dan Anda bisa "
+"kehilangan data dengan\n"
+"mudah. Itu sebabnya opsi ini hanya direkomendasikan jika Anda telah "
+"melakukan hal ini sebelumnya\n"
+"atau berpengalaman. Untuk instruksi lebih lanjut bagaimana menggunakan "
+"utilitas DiskDrake,\n"
+"silahkan lihat bagian ``Mengelola Partisi Anda'' pada ``Panduan Pemula''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gunakan partisi yang sudah ada"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Hapus seluruh disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Installasi kini selesai dan sistem GNU/Linux Anda siap dipakai. Klik\n"
+"\"%s\" untuk reboot. Jangan lupa untuk mengambil media installasi (CD-ROM "
+"atau disket).\n"
+"Hal pertama yang Anda lihat setelah pengujian perangkat keras adalah menu "
+"bootloader,\n"
+"di sana Anda dapat memilih sistem operasi yang akan dijalankan.\n"
+"\n"
+"Tombol \"%s\" menampilkan 2 tombol tambahan untuk:\n"
+"\n"
+" * \"%s\": memungkinkan Anda untuk membuat disket installasi yang akan "
+"secara \n"
+"otomatis melakukan installasi tanpa bantuan operator, serupa dengan "
+"installasi yang \n"
+"baru Anda konfigurasikan.\n"
+"\n"
+" Perhatikan bahwa dua operasi yang berbeda muncul setelah menekan tombol "
+"tersebut:\n"
+"\n"
+" * \"%s\". Installasi semi-otomatis, hanya proses partisi yang tetap\n"
+"interaktif.\n"
+"\n"
+" * \"%s\". Installasi otomatis penuh: harddisk ditulis ulang\n"
+"seluruhnya, semua data hilang.\n"
+"\n"
+" Fitur ini amat praktis untuk installasi banyak komputer dengan "
+"spesifikasi sama.\n"
+"Lihat bagian Auto install di situs web kami untuk informasi lebih lanjut.\n"
+"\n"
+" * \"%s\"(*): simpan daftar paket terpilih pada installasi ini.\n"
+"Untuk menggunakan pilihan ini pada installasi lain, masukkan disket dan \n"
+"mulailah installasi. Saat prompt, tekan [F1] lalu ketik >>linux \n"
+"defcfg=\"floppy\"<< dan tekan [Enter].\n"
+"\n"
+"(*) Anda perlu floppy berformat FAT. Untuk membuatnya di GNU/Linux, "
+"jalankan\n"
+"\"mformat a:\", atau \"fdformat /dev/fd0\" diikuti dengan \"mkfs.vfat /dev/"
+"fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Buat disket installasi otomatis"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jika Anda memilih untuk menggunakan beberapa partisi GNU/Linux, Anda\n"
+"mungkin akan memformat dan menghapus data. Untuk melakukannya\n"
+"pilih juga partisi tersebut.\n"
+"\n"
+"Perhatikan bahwa format ulang semua partisi tidak diperlukan.\n"
+"Anda harus memformat ulang partisi yang berisi sistem operasi\n"
+"(seperti \"/\", \"/usr\" atau \"/var\") tetapi Anda tidak harus memformat "
+"ulang\n"
+"partisi berisi data yang akan Anda simpan (biasanya \"/home\").\n"
+"\n"
+"Harap berhati-hati ketika memilih partisi. Setelah format selesai\n"
+", semua data pada partisi akan dihapus dan Anda tidak akan bisa\n"
+"mengembalikannya kembali.\n"
+"\n"
+"Klik pada \"%s\" ketika Anda siap memformat partisi.\n"
+"\n"
+"Klik pada \"%s\" jika Anda hendak memilih partisi lain untuk \n"
+"installasi sistem operasi Mageia baru Anda.\n"
+"\n"
+"Klik pada \"%s\" jika Anda hendak memilih partisi yang hendak \n"
+"diperiksa untuk block rusak pada disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Saat Mageia diinstal, mungkin beberapa paket telah diupdate sejak\n"
+"rilis awal. Beberapa kesalahan mungkin telah diperbaiki / masalah keamanan\n"
+"dipecahkan. Untuk memanfaatkan update ini Anda dapat men-download-nya dari\n"
+"Internet. Pilih \"%s\" jika Anda memiliki koneksi Internet, atau \"%s\" "
+"jika\n"
+"ingin mengupdate paket lain waktu.\n"
+"\n"
+"Memilih \"%s\" akan menampilkan daftar lokasi dimana update bisa "
+"didownload.\n"
+"Pilih yang terdekat. Daftar paket akan muncul: periksa pilihan Anda,\n"
+"tekan \"%s\" untuk mengambil/menginstall paket atau \"%s\" untuk membatalkan."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Saat ini, DrakX akan mengijinkan Anda memilih tingkat keamanan komputer.\n"
+"Sebagai acuan, tingkat keamanan harus semakin tinggi jika berisi data\n"
+"penting, atau langsung terhubung ke Internet. Level keamanan yang \n"
+"tinggi umumnya mengorbankan kemudahan pemakaian.\n"
+"\n"
+"Jika Anda tidak tahu apa yang akan dipilih, gunakan opsi default. Anda\n"
+"mampu mengubahnya menggunakan perkakas draksec, yang merupakan bagian\n"
+"dari dari Pusat Kontrol Mageia.\n"
+"\n"
+"Isi bagian \"%s\" dengan alamat email dari orang yang bertanggung jawab\n"
+"atas keaman. Pesan keamanan akan dikirimkan pada alamat tersebut."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator Keamanan"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Saat ini, Anda harus memilih partisi yang akan digunakan untuk installasi\n"
+"sistem Mageia Anda. Jika partisi telah didefinisikan, baik dari\n"
+"installasi GNU/Linux sebelumnya atau melalui perkakas partisi lainnya,\n"
+"Anda bisa menggunakan partisi yang ada. Jika tidak, partisi harddisk \n"
+"harus didefinisikan.\n"
+"\n"
+"Untuk membuat partisi, Anda harus memilih harddisk dahulu. Anda bisa \n"
+"memilih disk untuk dipartisi dengan memilih ``hda'' untuk drive IDE\n"
+"pertama, ``hdb'' untuk kedua, ``sda'' untuk drive SCSI pertama, dst.\n"
+"\n"
+"Untuk mempartisi drive terpilih, Anda bisa menggunakan opsi berikut:\n"
+"\n"
+" * \"%s\": opsi ini menghapus seluruh partisi pada drive terpilih\n"
+"\n"
+" * \"%s\": opsi ini memungkinkan Anda membuat partisi ext4 dan swap\n"
+"secara otomatis pada ruang kosong dari hard disk Anda.\n"
+"\n"
+"\"%s\": memberi akses pada fitur tambahan:\n"
+"\n"
+" * \"%s\": menyimpan tabel partisi pada disket. Berguna untuk proses\n"
+"pengembalian tabel partisi. Anda disarankan untuk melakukan langkah\n"
+"ini.\n"
+"\n"
+" * \"%s\": mengijinkan Anda mengembalikan tabel partisi yang tersimpan\n"
+"sebelumnya dari disket.\n"
+"\n"
+" * \"%s\": jika tabel partisi Anda rusak, Anda bisa mencoba untuk\n"
+"mengembalikannya menggunakan opsi ini. Harap hati-hati dan perlu\n"
+"diingat bahwa proses ini tidak selalu bekerja.\n"
+"\n"
+" * \"%s\": batalkan semua perubahan dan muat ulang tabel partisi\n"
+"orisinal pada hard disk.\n"
+"\n"
+" * \"%s\": tanpa opsi ini akan memaksa pengguna melakukan proses \n"
+"mount dan unmount manual pada media seperti disket dan CD-ROM.\n"
+"\n"
+" * \"%s\": gunakan opsi ini jika Anda hendak menggunakan wizard\n"
+"untuk mempartisi hard disk Anda. Opsi ini disarankan jika Anda\n"
+"tidak memahami cara mempartisi.\n"
+"\n"
+" * \"%s\": gunakan opsi ini untuk membatalkan perubahan Anda.\n"
+"\n"
+" * \"%s\": mengijinkan aksi tambahan pada partisi (jenis, opsi,\n"
+"format) dan memberikan informasi lebih tentang hard disk.\n"
+"\n"
+" * \"%s\": ketika selesai mempartisi, opsi ini akan menyimpan\n"
+"perubahan pada disk.\n"
+"\n"
+"Ketika mendefinisikan ukuran partisi, Anda bisa menggunakan tombol\n"
+"panah dari keyboard Anda.\n"
+"\n"
+"Catatan: Anda bisa mencapai sembarang opsi menggunakan keyboard.\n"
+"Navigasi pada partisi menggunakan [Tab] dan panah [Up/Down].\n"
+"\n"
+"Ketika partisi dipilih, Anda bisa menggunakan:\n"
+"\n"
+" * Ctrl-c untuk membuat partisi baru (ketika partisi kosong dipilih)\n"
+"\n"
+" * Ctrl-d untuk menghapus partisi\n"
+"\n"
+" * Ctrl-m untuk menentukan titik mount\n"
+"\n"
+"Untuk mendapatkan informasi tentang jenis sistem file yang ada, \n"
+"silahkan membaca bab ext2FS dari ``Referensi Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Mount otomatis media lepas (removable)"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ubah ke modus normal/ahli"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Terdapat lebih dari satu partisi Microsoft yang terdeteksi pada harddisk\n"
+"Anda. Pilih partisi yang hendak Anda ubah ukurannya untuk installasi sistem\n"
+"operasi Mageia.\n"
+"\n"
+"Tiap partisi terdaftar sebagai: \"Nama Linux\",\"Nama windows\",\"Kapasitas"
+"\".\n"
+"\n"
+"\"Nama Linux\" berstruktur: \"tipe hard disk drive\", \"nomor hard disk drive"
+"\",\n"
+"\"nomor partisi\" (misalnya \"hda1\").\n"
+"\n"
+"\"Tipe hard disk drive\" adalah \"hd\" bila drive bertipe IDE dan \"sd\" "
+"jika\n"
+"berupa drive SCSI.\n"
+"\n"
+"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Jika\n"
+"berupa IDE, maka:\n"
+"\n"
+" * \"a\" berarti \"hard disk drive master pada kontroller IDE primer\",\n"
+"\n"
+" * \"b\" berarti \"hard disk drive slave pada kontroler IDE primer\",\n"
+"\n"
+" * \"c\" berarti \"hard disk drive master pada kontroler IDE sekunder\",\n"
+"\n"
+" * \"d\" berarti \"hard disk drive slave pada kontroler IDE sekunder\",\n"
+"\n"
+"Pada drive SCSI, \"a\" berarti \"ID SCSI terkecil, \"b\" berarti \"ID SCSI\n"
+"terkecil kedua\", dst.\n"
+"\n"
+"\"Nama windows\" adalah huruf hard disk drive Anda pada Windows (disk "
+"pertama\n"
+"pada partisi disebut \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": periksa pilihan negara saat ini. Jika tidak berada di sini, klik\n"
+"\"%s\" dan pilih yang lain. Jika negara Anda tidak ada pada daftar,\n"
+"klik tombol \"%s\" untuk mendapatkan daftar lengkap."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Tahap ini hanya aktif jika partisi GNU/Linux lama ditemukan.\n"
+"\n"
+"DrakX perlu tahu Anda ingin melakukan installasi baru atau upgrade sistem\n"
+"Mageia yang sudah ada:\n"
+"\n"
+"* \"%s\": Untuk sebagian besar bagian, opsi ini menghapus sistem lama.\n"
+"Namun, bergantung pada skema partisi Anda, Anda bisa mencegah data Anda\n"
+"(biasanya direktori \"home\") untuk ditimpa. Jika Anda hendak mengubah\n"
+"bagaimana hard disk dipartisi, atau untuk mengubah sistem file, Anda\n"
+"harus menggunakan opsi ini.\n"
+"\n"
+"* \"%s\": Kelas installasi ini akan mengupdate paket yang terinstall\n"
+"pada sistem Mageia Anda. Skema partisi dan data pengguna Anda\n"
+"tidak akan diubah. Sebagian besar langkah konfigurasi yang tersisa\n"
+"serupa pada installasi standar.\n"
+"\n"
+"Menggunakan opsi ``Upgrade'' seharusnya berjalan pada Mageia\n"
+"versi \"8.1\" keatas. Melakukan upgrade pada versi sebelum \"8.1\"\n"
+"tidak dianjurkan."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Bergantung pada bahasa yang Anda pilih (), DrakX akan memilih tipe\n"
+"keyboard yang sesuai. Periksa apakah pilihan sudah sesuai atau pilih\n"
+"layout keyboard yang lain.\n"
+"\n"
+"Juga, Anda mungkin tidak memiliki keyboard yang sesuai dengan bahasa\n"
+"Anda: misalnya jika Anda orang Swiss yang berbahasa Inggris, Anda\n"
+"mungkin memilih keyboard Swiss. Atau jika Anda berbahasa Inggris\n"
+"tapi tinggal di Quebec, Anda mungkin menghadapi situasi yang sama\n"
+"dengan bahasa Anda dan country-set keyboard tidak sesuai. Pada\n"
+"kedua kasus, langkah installasi ini akan mengijinkan Anda untuk\n"
+"memilih keyboard yang sesuai dari daftar.\n"
+"\n"
+"Klik tombol \"%s\" untuk menampilkan daftar keyboard yang didukung.\n"
+"\n"
+"Jika Anda memilih keyboard berbasis alphabet non-Latin, dialog\n"
+"selanjutnya memungkinkan Anda memilih kunci untuk berpindah keyboard\n"
+"antara layout Latin dan non-Latin."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Langkah pertama adalah menentukan bahasa pilihan Anda.\n"
+"\n"
+"Pilihan bahasa Anda akan mempengaruhi installer, dokumentasi\n"
+"dan juga sistem secara umum. Pertama pilih wilayah Anda, lalu bahasa\n"
+"yang Anda gunakan.\n"
+"\n"
+"Klik pada tombol \"%s\" akan mengijinkan Anda memilih bahasa lain\n"
+"untuk diinstall pada workstation Anda, juga menginstall file bahasa\n"
+"khusus untuk dokumentasi sistem dan aplikasi. Misalnya jika pengguna\n"
+"Spanyol menggunakan komputer Anda, pilih Inggris sebagai bahasa default\n"
+"pada pohon view dan \"%s\" pada bagian Advanced.\n"
+"\n"
+"Tentang dukungan UTF-8 (unicode): Unicode adalah enkoding karakter yang\n"
+"baru yang ditujukan untuk mencakup seluruh bahasa yang ada. Namun \n"
+"dukungan penuh pada GNU/Linux sedang dalam pengembangan. Untuk alasan\n"
+"tersebut, penggunaan UTF-8 pada Mageia bergantung pada pilihan\n"
+"pengguna:\n"
+"\n"
+" * Jika Anda memilih menggunakan bahasa dengan enkoding yang kuat (bahasa\n"
+"latin, Rusia, Jepang, China, Korea, Thai, Yunani, Turki, sebagian besar\n"
+"bahasa iso-8859-2), enkoding akan digunakan secara default;\n"
+"\n"
+" * Bahasa lain akan menggunakan unicode sebagai default;\n"
+"\n"
+" * Jika dua atau lebih bahasa diperlukan, dan bahasa tersebut tidak\n"
+"memakai enkoding yang sama, maka unicode akan digunakan pada sistem;\n"
+"\n"
+" * Terakhir, unicode juga bisa dipaksa untuk digunakan melalui\n"
+"permintaan pengguna dengan memilih opsi \"%s\" secara terpisah\n"
+"pada bahasa yang dipilih.\n"
+"\n"
+"Perhatikan bahwa Anda tidak terbatas pada satu bahasa tambahan. Anda\n"
+"bisa memilih beberapa, atau semua dengan memilih kotak \"%s\".\n"
+"Memilih dukungan untuk sebuah bahasa berarti translasi, font, penguji\n"
+"ejaan, dll juga akan diinstal untuk bahasa tersebut.\n"
+"\n"
+"Untuk berpindah antar bahasa yang diinstall pada sistem, Anda bisa\n"
+"menjalankan perintah \"localedrake\" sebagai \"root\" untuk merubah\n"
+"bahasa yang digunakan sistem. Menjalankan perintah sebagai pengguna\n"
+"hanya akan merubah setting untuk pengguna tersebut."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanyol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Umumnya, DrakX bisa mendeteksi jumlah tombol mouse Anda. Jika gagal,\n"
+"akan diasumsikan mouse Anda bertombol dua dan akan mengkonfigurasikan\n"
+"emulasi tombol ketiga. Tombol ketiga dari sebuah mouse bertombol dua\n"
+"bisa didapatkan dengan memilih tombol kanan dan kiri bersamaan. DrakX\n"
+"mengetahui mouse menggunakan antarmuka PS/2, serial atau USB secara\n"
+"otomatis.\n"
+"Jika Anda memiliki mouse 3 tombol tanpa roda, Anda bisa memilih mouse\n"
+"\"%s\". DrakX akan mengkonfigurasi mouse Anda sehingga bisa ia bisa\n"
+"mensimulasikan roda: untuk melakukannya, tekan tombol tengah dan\n"
+"gerakkan pointer mouse Anda keatas dan kebawah.\n"
+"\n"
+"Jika Anda ingin menunjuk tipe mouse lain, pilih tipe yang sesuai dari\n"
+"daftar yang disediakan.\n"
+"\n"
+"Anda bisa memilih \"%s\" untuk memilih jenis mouse ``generik'' yang\n"
+"akan bekerja pada sebagian besar mouse.\n"
+"\n"
+"Jika Anda memilih mouse bukan standar, layar pengujian akan ditampilkan.\n"
+"Gunakan tombol dan roda untuk verifikasi setting. Jika mouse tidak \n"
+"bekerja baik tekan spasi atau [Enter] untuk membatalkan dan Anda akan\n"
+"kembali ke daftar mouse.\n"
+"\n"
+"Mouse dengan roda kadang tidak terdeteksi secara otomatis, sehingga Anda\n"
+"harus memilih mouse dari daftar. Pastikan memilih yang sesuai dengan port\n"
+"yang digunakan. Setelah memilih mouse dan menekan tombol \"%s\", sebuah\n"
+"citra mouse akan tampak di layar. Gerakkan rodanya untuk memastikan ia\n"
+"bekerja dengan baik. Ketika Anda menggerakan roda, Anda akan melihat roda\n"
+"pada layar juga bergerak. Ujilah tombol dan pastikan pointer mouse pada\n"
+"layar ikut bergerak."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Dengan emulasi roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Sembarang mouse PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Pilih port yang benar. Misalnya \"COM1\" di Windows akan bernama\n"
+"\"ttyS0\" di GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Bootloader adalah program kecil yang dijalankan ketika komputer boot. Ia\n"
+"bertanggung jawab untuk memulai seluruh sistem. Normalnya, installasi boot\n"
+"loader dilakukan secara otomatis. DrakX akan menganalisa sektor boot disk\n"
+"dan bekerja menurut apa yang ditemukannya:\n"
+"\n"
+" * jika ditemukan sektor boot Windows, ia akan menggantinya dengan sektor\n"
+"boot grub/LILO. Dengan demikian Anda akan dapat memuat GNU/Linux atau OS\n"
+"lain.\n"
+"\n"
+" * jika ditemukan sektor boot grub/LILO, akan diganti dengan yang baru.\n"
+"\n"
+"Jika DrakX tidak dapat mengambil keputusan, ia akan menanyakan tempat\n"
+"meletakkan bootloader. Umumnya, \"%s\" adalah tempat teraman. Memilih\n"
+"\"%s\" tidak akan menginstall sembarang boot loader. Gunakan opsi ini\n"
+"jika Anda tahu apa yang Anda lakukan."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sekarang, waktunya memilih sistem pencetakan untuk komputer Anda. Sistem\n"
+"operasi lain mungkin menawarkan satu, tetapi Mageia menawarkan dua.\n"
+"Setiap sistem pencetakan sesuai untuk jenis konfigurasi tertentu.\n"
+"\n"
+" * \"%s\" - yang merupakan akronim untuk ``print, tidak ada antrian'',\n"
+"adalah pilihan jika Anda memiliki koneksi langsung ke printer Anda dan\n"
+"ingin bebas dari masalah kemacetan printer, serta tidak punya printer\n"
+"jaringan. (\"%s\" akan menangani kasus jaringan sederhana sehingga\n"
+"lambat ketika digunakan dalam jaringan. Anda direkomendasikan untuk\n"
+"menggunakan \"pdq\" jika ini pertama kali Anda mengenal GNU/Linux.\n"
+"\n"
+" * \"%s\" - kependekan dari ``Common Unix Printing System'' adalah pilihan\n"
+"yang canggih untuk mencetak ke printer lokal dan juga separuh planet. Opsi\n"
+"ini mudah dikonfigurasikan dan bisa berfungsi sebagai server/klien untuk\n"
+"sistem cetak \"lpd\" yang kuno, sehingga kompatibel dengan sistem lama yang\n"
+"mungkin masih membutuhkan layanan pencetakan. Meskipun handal, setup\n"
+"dasar hampir semudah \"pdq\". Jika Anda perlu mengemulasikan server \"lpd\"\n"
+"pastikan Anda mengaktifkan daemon \"cups-lpd\". %s menyertakan tampilan\n"
+"grafis untuk pencetakan atau memilih opsi printer dan mengelola printer.\n"
+"\n"
+"Jika Anda membuat pilihan sekarang dan nanti Anda tidak menyukai sistem \n"
+"cetak yang Anda pilih saat ini, Anda bisa merubahnya dengan menjalankan\n"
+"PrinterDrake dari Pusat Kontrol Mandriva dan klik tombol \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ahli"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX akan mencoba mendeteksi perangkat IDE yang ada pada komputer Anda.\n"
+"Ia juga mencari kartu SCSI PCI di sistem Anda. Jika kartu SCSI ditemukan\n"
+"DrakX akan otomatis meng-instal driver yang sesuai.\n"
+"\n"
+"Karena perangkat keras terkadang tak terdeteksi, DrakX mungkin gagal\n"
+"mendeteksi harddisk Anda. Jika demikian, Anda harus menentukan sendiri.\n"
+"\n"
+"Jika Anda harus menentukan adaptor SCSI PCI secara manual, DrakX akan\n"
+"menanyakan opsi konfigurasinya. Anda harus mengijinkan DrakX untuk\n"
+"mendeteksi perangkat keras untuk opsi khusus yang diperlukan untuk\n"
+"menginisialisasi adapter. Pada banyak kasus, DrakX biasanya melalui\n"
+"tahap ini tanpa ada masalah.\n"
+"\n"
+"Jika DrakX gagal mendeteksi opsi untuk menentukan parameter yang harus\n"
+"dikirimkan ke perangkat keras secara otomatis, Anda harus mengkonfigurasi\n"
+"driver secara manual."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jika kartu suara terdeteksi di sistem Anda, akan ditampilkan\n"
+"di sini. Jika kartu suara yang tampil tidak sesuai dengan yang ada pada\n"
+"sistem, Anda bisa klik pada tombol dan pilih driver lain."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Sebagai review, DrakX akan menampilkan ringkasan informasi yang dikumpulkan\n"
+"tentang sistem Anda. Bergantung pada perangkat keras yang terpasang pada\n"
+"komputer Anda, Anda mungkin memiliki beberapa atau semua daftar berikut.\n"
+"Setiap daftar terdiri dari daftar perangkat keras yang harus dikonfigurasi,\n"
+"diikuti dengan ringkasan singkat dari konfigurasi aktual. Klik pada tombol\n"
+"\"%s\" untuk melakukan perubahan.\n"
+"\n"
+" * \"%s\": periksa konfigurasi peta keyboard aktual dan lakukan perubahan "
+"ubah\n"
+"jika diperlukan.\n"
+"\n"
+" * \"%s\": periksa pilihan negara aktual. Jika Anda tidak berada pada "
+"negara\n"
+"ini, klik pada tombol \"%s\" dan pilih yang lain. Jika negara Anda tidak "
+"ada\n"
+"pada daftar berikut, klik tombol \"%s\" untuk mendapatkan daftar lengkap.\n"
+"\n"
+" * \"%s\": secara default, DrakX menyesuaikan zona waktu berdasarkan negara\n"
+"yang Anda pilih. Anda bisa klik pada tombol \"%s\" jika tidak benar.\n"
+"\n"
+" * \"%s\": verifikasi konfigurasi mouse aktual dan klik pada tombol untuk\n"
+"mengubahnya jika diperlukan.\n"
+"\n"
+" * \"%s\": klik pada tombol \"%s\" akan membuka wizard konfigurasi printer.\n"
+"Lihat bab ``Panduan Pemula'' untuk informasi lebih lanjut tentang cara\n"
+"setting printer baru. Antarmuka yang ada pada manual serupa dengan yang\n"
+"digunakan selama installasi.\n"
+"\n"
+" * \"%s\": jika kartu suara terdeteksi pada sistem Anda, akan ditampilkan\n"
+"disini. Jika Anda menyadari kartu suara yang ditampilkan bukan yang ada\n"
+"pada sistem Anda, Anda bisa klik pada tombol dan pilih driver lain.\n"
+"\n"
+" * \"%s\": Jika Anda memiliki kartu TV, informasi konfigurasinya akan\n"
+"ditampilkan disini. Jika Anda memiliki kartu TV dan tidak terdeteksi\n"
+"klik pada \"%s\" untuk mencoba mengkonfigurasinya secara manual.\n"
+"\n"
+" * \"%s\": Anda bisa klik pada \"%s\" untuk merubah parameter yang \n"
+"berhubungan dengan kartu jika Anda merasa konfigurasinya salah.\n"
+"\n"
+" * \"%s\": secara default, DrakX mengkonfigurasi antarmuka grafis Anda\n"
+"dalam resolusi \"800x600\" atau \"1024x768\". Jika tidak sesuai, klik\n"
+"pada \"%s\" untuk mengkonfigurasi ulang antarmuka grafis Anda.\n"
+"\n"
+" * \"%s\": jika Anda hendak mengkonfigurasi akses jaringan Internet\n"
+"atau lokal Anda, Anda bisa melakukannya sekarang. Lihat dokumentasi\n"
+"cetak atau gunakan Pusat Kontrol Mageia setelah installasi\n"
+"selesai untuk mengambil keuntungan dari bantuannya.\n"
+"\n"
+" * \"%s\": mengijinkan Anda mengkonfigurasi alamat proxy HTTP dan\n"
+"FTP jika komputer yang Anda install berada dibelakang server proxy.\n"
+"\n"
+" * \"%s\": daftar ini mengijinkan Anda mendefinisikan ulang tingkat\n"
+"keamanan seperti yang ditentukan pada langkah sebelumnya ().\n"
+"\n"
+" * \"%s\": jika Anda berencana untuk menghubungkan komputer Anda ke\n"
+"Internet, merupakan ide bagus untuk menjaga dari intrusi dengan \n"
+"memasang firewall. Lihat bab dari ``Panduan Pengguna'' untuk detail\n"
+"tentang setting firewall.\n"
+"\n"
+" * \"%s\": jika Anda hendak merubah konfigurasi bootloader Anda, klik\n"
+"tombol ini. Opsi ini ditujukan untuk pengguna tingkat lanjut. Lihat\n"
+"dokumentasi cetak atau bantuan tentang konfigurasi bootloader pada \n"
+"Pusat Kontrol Mageia.\n"
+"\n"
+" * \"%s\": melalui daftar ini Anda bisa menentukan layanan apa yang\n"
+"akan dijalankan pada komputer Anda. Jika Anda berencana untuk memakai\n"
+"komputer ini sebagai server, merupakan ide bagus untuk mereview setup\n"
+"ini."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Kartu ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Kartu ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Antarmuka Grafis"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Pilih harddrive yang akan dihapus untuk menginstall partisi Mageia\n"
+"baru Anda. Hati-hati, semua data pada drive ini akan hilang dan\n"
+"tidak dapat dikembalikan seperti semula!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klik pada \"%s\" jika Anda ingin menghapus semua data dan partisi yang ada\n"
+"pada harddisk ini. Hati-hati, setelah mengklik \"%s\" Anda tidak dapat\n"
+"mengembalikan data dan partisi pada drive ini termasuk data Windows.\n"
+"\n"
+"Klik pada \"%s\" untuk keluar dari operasi ini tanpa kehilangan data dan\n"
+"partisi yang ada pada harddisk ini."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Berikutnya ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Sebelumnya"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": meng-klik pada \"%s\" untuk membuka konfigurator printer. Baca\n"
+#~ "bab yg bersangkutan di ``Pedoman Pemula'' untuk informasi lebih lanjut "
+#~ "tentang\n"
+#~ "cara setup printer baru. Antarmuka yang ditampilkan di sana sama dengan "
+#~ "yang \n"
+#~ "yang dipakai saat installasi."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ini adalah poin terpenting penentuan keamanan sistem GNU/Linux Anda: "
+#~ "Anda\n"
+#~ "harus mengisi katasandi \"root\". \"Root\" adalah administrator sistem "
+#~ "dan\n"
+#~ "yang berhak melakukan update, menambah pengguna, mengubah konfigurasi\n"
+#~ "sistem. Singkatnya, \"root\" dapat melakukan apapun! Karena itu Anda\n"
+#~ "harus memilih katasandi yang sulit ditebak - DrakX akan memberitahu jika\n"
+#~ "terlalu mudah. Seperti Anda lihat, Anda tidak dipaksa untuk memasukkan\n"
+#~ "katasandi, tapi sangat tidak dianjurkan. GNU/Linux juga rawan kesalahan\n"
+#~ "operator seperti sistem operasi lain. Karena \"root\" bisa melewati\n"
+#~ "semua batasan dan secara tidak sengaja menghapus semua data di partisi,\n"
+#~ "sangatlah penting untuk memperketat usaha menjadi \"root\".\n"
+#~ "\n"
+#~ "Katasandi harus berupa campuran nomor dan huruf minimal 8 karakter. "
+#~ "Jangan\n"
+#~ "pernah mencatat katasandi \"root\" - itu membuat sistem mudah dibajak.\n"
+#~ "\n"
+#~ "Katasandi juga jangan terlalu panjang/rumit karena Anda harus mampu \n"
+#~ "mengingatnya.\n"
+#~ "Katasandi tidak muncul di layar ketika diketikkan. Untuk mengurangi "
+#~ "kesalahan\n"
+#~ "pengetikkan Anda harus menuliskan katasandi sebanyak dua kali. Jika Anda\n"
+#~ "melakukan kesalahan penulisan kasatandi sebanyak dua kali, Anda harus\n"
+#~ "memakai katasandi yang ``salah'' ini untuk login sebagai \"root\".\n"
+#~ "\n"
+#~ "Jika Anda ingin sebuah server otentikasi mengontrol akses ke komputer "
+#~ "Anda,\n"
+#~ "klik pada tombol \"%s\".\n"
+#~ "\n"
+#~ "Jika jaringan Anda memakai protokol otentikasi LDAP/NIS/PDC Windows "
+#~ "Domain,\n"
+#~ "pilih yang cocok untuk \"%s\". Jika Anda tidak tahu yang harus "
+#~ "digunakan,\n"
+#~ "tanyalah admin jaringan Anda.\n"
+#~ "\n"
+#~ "Jika Anda mengalami masalah untuk mengingat katasandi, atau jika "
+#~ "komputer\n"
+#~ "Anda tidak akan terhubung ke Internet dan Anda mempercayai semua orang\n"
+#~ "yang menggunakan komputer Anda, Anda bisa memilih \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "otentikasi"
diff --git a/perl-install/install/help/po/is.po b/perl-install/install/help/po/is.po
new file mode 100644
index 000000000..eafd3f1a2
--- /dev/null
+++ b/perl-install/install/help/po/is.po
@@ -0,0 +1,2013 @@
+# translation of DrakX.po to
+# translation of DrakX.po to Icelandic
+# Translation file for Mageia graphic install, DrakX
+# Copyright (C) 1999,2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1999 Mandriva
+# Jóhann Þorvarðarson <johann.torvardarson@lais.is>, 1999-2000.
+# Þórarinn (Tony) R. Einarsson <thori@mindspring.com>, 1999-2000.
+# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2003, 2005, 2006.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-03-07 18:42+0000\n"
+"Last-Translator: Pjetur G. Hjaltason <pjetur@pjetur.net>\n"
+"Language-Team: <is@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Ãður en þú heldur áfram, ættir þú að lesa vandlega leyfisskilmálana. Þeir\n"
+"taka yfir alla Mageia dreifinguna. Ef þú er samþykk(ur) öllum þeim\n"
+"skilmálum sem þar standa, krossaðu þá við í \"%s\" reitinn, ef ekki\n"
+"smelltu þá á \"%s\" hnappinn sem mun endurræsa tölvuna þína."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er fjölnotanda umhverfi sem þýðir að hver notandi getur "
+"skilgreint\n"
+"sitt eigið umhverfi og stillingar, eigin skrár o.s.frv. En ólíkt \"root\" "
+"sem\n"
+"er kerfisstjóri, þá munu þeir notendur sem þú skilgreinir hér ekki hafa\n"
+"leyfi til að breyta neinu nema sínum eigin skrám og stillingum. Þetta\n"
+"verndar kerfið frá óhöppum eða illvígum forritum sem gætu haft áhrif\n"
+"á heildarverkun kerfisins. Þú verður að búa til a.m.k. einn venjulegan\n"
+"notanda fyrir þig sjálfan. -- þetta er það auðkenni sem þú ættir að til\n"
+"daglegrar notkunar. Þó að það sé mjög auðvelt að skrá sig inn sem \"root\"\n"
+"til allrar vinnu, þá getur það einnig verið mjög hættulegt!\n"
+"Ein mjög einföld mistök gætu valdið því að kerfið virki ekki lengur. Ef þú\n"
+"gerir alvarleg mistök sem venjulegur notandi, þá hefur þú í versta falli\n"
+"tapað gögnum, en þú hefur ekki haft áhrif á heildarvirkni kerfisins.\n"
+"\n"
+"Kerfið spyr þig fyrst um raunverulegt nafn. Auðvitað er ekki skylda að\n"
+"fylla þetta rétt út -- þú getur skrifað hvað sem þú vilt. DrakX mun nota\n"
+"fyrsta orðið í þessu svæði og afrita það í \"%s\", sem er notandanafn\n"
+"sem á að nota til að auðkenna sig gagnvart kerfinu. Ef þú vilt, getur þú\n"
+"breytt því sjálfgefna og gefið upp annað notandanafn. Næsta skref er að\n"
+"skrá lykilorð. Frá öryggissjónamiði séð er lykilorð venjulegs notanda ekki\n"
+"jafn mikilvægt og lykilorð kerfisstjóra \"root\", en það er engin ástæða\n"
+"til að hafa það autt eða of einfalt: athugið að þetta gefur fullan aðgang\n"
+"að þínum skrám og gögnum, sem eru þá í húfi.\n"
+"\n"
+"Þegar þú smellir á \"%s\" þá getur þú bætt við öðrum notendum. Bættu\n"
+"við notanda fyrir vini, föður, móður og systkini o.s.frv. Smelltu á \"%s\"\n"
+"þegar þú hefur lokið að bæta við notendum.\n"
+"\n"
+"Með því að smella á \"%s\" getur þú breytt sjálfgefinni \"skel\" fyrir "
+"hvern\n"
+"notanda (sjálfgefið er bash).\n"
+"\n"
+"Þegar þú hefur lokið við að bæta við notendum, þá verður þú beðinn\n"
+"um að velja notanda sem verður sjálfkrafa skráður inn þegar tölvan ræsir.\n"
+"Ef þú vilt nota þér þann möguleika (og hefur ekki miklar áhyggjur af "
+"öryggi),\n"
+"veldu æskilegan notanda og gluggastjóra, smelltu síðan á \"%s\". Ef þú\n"
+"vilt ekki nota þér þennan möguleika, fjarlægðu þá merkinguna við \"%s\"\n"
+"reitinn."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Viltu nota þennan eiginleika?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hér er listi af núverandi Linux disksneiðum sem fundust á disknum.\n"
+"Þú getur haldið þeim stillingum sem stungið er upp á, því þau eru nokkuð\n"
+"skynsamleg fyrir flestar uppsetningar. Ef þú gerir einhverjar breytingar, "
+"þá\n"
+"verður þú að minnsta kosti að skilgreina rótarsneið (\"/\"). Ekki velja of "
+"litla\n"
+"disksneið því þá munt þú ekki geta sett upp nægan hugbúnað. Ef þú vilt "
+"geyma\n"
+"gögnin þín á annari disksneið, þá verður þú einnig að búa til \"/home\"\n"
+"disksneið (aðeins mögulegt ef þú hefur fleiri en eina sneið tiltæka).\n"
+"\n"
+"Hver sneið á listanum inniheldur \"Nafn\", \"Diskrýmd\".\n"
+"\n"
+"\"Nafn\" er byggt upp af: \"disktegund\", \"disknúmer\",\n"
+"\"disksneið\" (t.d., \"hda1\").\n"
+"\n"
+"\"disktegund\" er \"hd\" ef disknum er stýrt með IDE stýringu og\n"
+"\"sd\" ef það er SCSI diskur.\n"
+"\n"
+"\"Disknúmer\" er alltaf bókstafur eftir \"hd\" eða \"sd\". Fyrir IDE\n"
+"diska:\n"
+"\n"
+" * \"a\" þýðir \"aðal (master) diskur á fyrstu IDE stýringu\";\n"
+"\n"
+" * \"b\" þýðir \"auka (slave) diskur fyrstu IDE stýringu\";\n"
+"\n"
+" * \"c\" þýðir \"aðal (master) diskur á annari IDE stýringu\";\n"
+"\n"
+" * \"d\" þýðir \"auka (slave) diskur annari IDE stýringu\";\n"
+"\n"
+"à SCSI diskum, þýðir \"a\" \"lægsta SCSI ID\", \"b\" þýðir\n"
+"\"næst-lægsta SCSI ID\", o.s.frv."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia uppsetningunni er dreift á nokkra geisladiska. Ef valinn\n"
+"pakki er á öðrum geisladiski, þá mun DrakX spýta út núverandi diski\n"
+"og biðja þig um að setja inn rétta diskinn. Ef þú hefur ekki rétta diskinn "
+"við\n"
+"hendina, smelltu þá á \"%s\", viðkomandi pakkar verða þá ekki\n"
+"settir upp."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nú er tími til að skilgreina hvaða forrit þú vilt að séu sett upp á kerfinu "
+"þínu.\n"
+"Það eru þúsundir pakka til fyrir Mageia, og til að einfalda\n"
+"umsjón pakkanna hafa þeir verið flokkaðir í hópa af svipuðum forritum.\n"
+"\n"
+"Mageia skiptir pökkunum í fjóra flokka. Þú getur blandað saman\n"
+"pökkum úr mismunandi flokkum svo að ``Vinnustöðvar'' uppsetning\n"
+"getur innihaldið forrit úr ``Miðlara'' flokknum.\n"
+"\n"
+" * \"%s\": ef þú hefur í hyggju að nota vélina þína sem vinnustöð veldu\n"
+"einn eða fleiri flokka úr vinnustöðvahópunum.\n"
+"\n"
+" * \"%s\": ef þú hefur í hyggju að nota vélina þína fyrir forritun veljið "
+"viðeigandi\n"
+"hópa úr þeim flokki. Hinn sérstaki \"LSB\" hópur mun setja vélina þína upp\n"
+"þannig að hún sé eins samhæfð og mögulegt er við \"Linux Standard Base"
+"\"skilgreiningarnar.\n"
+"\n"
+" Sé \"LSB\" hópurinn valinn, verður \"2.4\" kjarninn einnig settur inn í "
+"stað\n"
+"hins sjálfgefna kjarna \"2.6\". Þetta er til að tryggja 100%%-LSB samhæfni\n"
+"kerfisins. En þó að þú veljir ekki hinn sérstaka \"LSB\" hóp, þá munt þú\n"
+"samt vera með kerfi sem er næstum því 100%% LSB-samhæft.\n"
+"\n"
+" * \"%s\": ef vélin þín á að vera miðlari veldu þær þjónustur sem þú\n"
+"vilt að settar séu settar upp á tölvunni þinni.\n"
+"\n"
+" * \"%s\": Hér getur þú valið hvaða myndræna gluggaumhverfi þú vilt hafa "
+"uppsett.\n"
+"Að minnsta kosti eitt umhverfi verður að vera valið ef þú vilt hafa\n"
+"myndrænt gluggaumhverfi uppsett.\n"
+"\n"
+"Ef þú færir músabendilinn yfir hópnafn þá kemur stutt skýring á þeim hóp.\n"
+"\n"
+"Þú getur krossað við \"%s\" reitinn, ef þú ert kunnug(ur) pökkunum sem eru\n"
+"í boði, eða þú vilt hafa heildarstjórn á pökkum sem verða settir inn.\n"
+"\n"
+"Ef þú byrjar uppsetninguna í \"%s\" ham, þá getur þú af-valið alla hópa\n"
+"og varnað innsetningu nýrra pakka. Þetta er nytsamlegt í því tilfelli\n"
+"ef þörf er á að gera við eða uppfæra núverandi kerfi.\n"
+"\n"
+"Ef þú af-velur alla hópa þegar þú setur upp venjulega uppsetningu (en ekki\n"
+"uppfærslu), þá birtist gluggi sem býður aukavalkosti fyrir "
+"lágmarksuppsetningu:\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi til að geta keyrt myndrænt "
+"gluggakerfi.\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi og nauðsynlegustu tól og handbækur\n"
+"þeirra. Þessi uppsetning er góð grunn uppsetning fyrir miðlara.\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi sem nauðsynlegt er til að fá\n"
+"keyrandi Linux kerfi með þessari uppsetningu er ekkert gluggaumhverfi.\n"
+"Heildarstærð uppsetningarinnar er um 65 megabæti."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uppfæra"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Með grunn handbókum"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Alger lágmarksuppsetning"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ef þú velur að setja pakkana inn handvirkt, þá mun uppsetningarforritið\n"
+"birta tré sem inniheldur alla pakkana flokkaða í hópa og undirhópa. Meðan\n"
+"þú flakkar um tréð getur þú valið heila hópa, undirhópa eða einstaka pakka.\n"
+"\n"
+"à hvert sinn er þú velur pakka í trénu mun lýsing birtast til hægri til að "
+"sýna\n"
+"þér hlutverk þess forritapakka.\n"
+"\n"
+"!! Ef miðlara-pakki hefur verið valinn, annað hvort af því að þú valdir "
+"stakan\n"
+"pakka eða hann var hluti af hóp, verður þú beðinn um að staðfesta að\n"
+"þú viljir fá þessa miðlara uppsetta. Sjálfgefið mun Mageia ræsa allar\n"
+"uppsettar þjónustur og miðlara við kerfisræsingu. Jafnvel þó að þeir séu\n"
+"öruggir og engar þekktar villur þegar kerfinu var dreift þá er möguleiki að\n"
+"öryggisholur hafi uppgötvast eftir að gengið var frá þessari útgáfu af\n"
+"Ef þú veist ekki hvað tiltekin þjónusta á að gera eða afhverju hún er sett "
+"inn,\n"
+"smelltu þá á \"%s\". Ef þú smellir á \"%s\" verða þjónusturnar settar inn\n"
+"og þær verða ræstar sjálfkrafa þegar tölvan ræsir !!\n"
+"\n"
+"\"%s\" valkosturinn er notaður til að aftengja \n"
+"viðvörunarglugga sem birtist í hvert sinn er uppsetningarforritið finnur út\n"
+"að það þurfi að aukalega að setja inn pakka sem eru forsenda "
+"uppsetningarinnar.\n"
+"Sumir pakkar eru tengdir öðrum og uppsetning eins pakka getur krafist að\n"
+"annar pakki sé settur inn fyrst. Uppsetningarforritið getur ákvarðað hvaða\n"
+"pakkar eru tengdir og séð um að uppsetningin verði rétt.\n"
+"\n"
+"Litla disklinga-táknmyndin á enda listans leyfir þér að hlaða inn "
+"pakkalista\n"
+"frá fyrri uppsetningu. Þetta er hagkvæmt ef þú þarft að setja upp nokkrar\n"
+"vélar eins. Ef þú smellir á þessa táknmynd verður þú beðinn um að setja\n"
+"inn diskling sem búinn var til í lok fyrri uppsetningar. Sjá síðar við lok\n"
+"uppsetningar um hvernig á a' búa til slíkan diskling."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Uppfylla forkröfur sjálfvirkt"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Þessi gluggi er notaður til að velja hvaða þjónustur eru ræstar við ræsingu "
+"tölvu.\n"
+"\n"
+"DrakX mun sýna lista yfir allar tiltækar þjónustur í núverandi uppsetningu.\n"
+"Skoðið hverja þeirra vandlega og af-veljið þær sem ekki er þörf á við "
+"ræsingu.\n"
+"\n"
+"Stutt lýsing verður birt um hverja þjónustu þegar hún er valin. Ef þú ert "
+"ekki viss\n"
+"um hvort þjónusta er nauðsynleg eða ekki þá er öruggara að nota sjálfgefið "
+"val.\n"
+"\n"
+"!! Farðu mjög varlega á þessu stigi ef þú ætlar að nota tölvuna þína sem "
+"miðlara.\n"
+"Þú vilt sennilega ekki ræsa neinar þjónustur sem ekki er þörf á.\n"
+"Vinsamlega mundu að sumar þjónustur geta verið hættulegar ef þær eru virkar\n"
+"á miðlara. Almennt talað, ræstu aðeins þær sem þú raunverulega þarft. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux notar GMT (Greenwich Mean Time) sem innri tíma og breytir\n"
+"honum í staðartíma eftir völdu tímabelti. Ef klukkan á móðurborðinu er\n"
+"stillt á staðartíma, þá gætir þú þurft að aftengja þetta með því að\n"
+"af-velja reitinn \"%s\", sem segir GNU/Linux kerfinu að vélarklukkan\n"
+"og kerfisklukkan séu á sama tímabelti. þetta er fyrst of fremst gagnlegt\n"
+"ef vélin hýsir annað stýrikerfi.\n"
+"\n"
+"\"%s\" valreiturinn mun stilla klukkuna sjálfkrafa með því að tengjast\n"
+"tímamiðlara um Internetið. Til að þetta sé virkt þá verður þú að hafa\n"
+"uppsetta internet-tengingu. Við mælum með að þú veljir tímamiðlara\n"
+"sem er nálægt þér. Þessi valkostur mun í raun setja upp tímamiðlara\n"
+"á vélinni sem þú getur síðan notað af öðrum vélum á staðarnetinu."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sjálfvirk tímastilling"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafískt kort\n"
+"\n"
+" Uppsetningarforritið mun venjulega sjálfkrafa finna og stilla \n"
+"grafísk skjákort sem eru á vélinni þinni. Ef þetta er ekki rétt, þá\n"
+"getur þú valið af þessum lista, það kort sem þú vilt láta setja upp.\n"
+"\n"
+" à því tilviki að mismunandi miðlarar eru til fyrir kortið þitt, með\n"
+"eða án þrívíddar-hraðals, þá verður þú beðinn um að velja þann\n"
+" miðlara sem best hentar þínum þörfum."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (sem stendur fyrir X-glugga-kerfið) er grunnur myndræna viðmótsins\n"
+"á GNU/Linux. à því eru byggð öll gluggakerfin (KDE, GNOME, AfterStep,\n"
+"WindowMaker, o.s.frv. ) sem fylgja Mageia.\n"
+"\n"
+"Þú sérð lista af mismunandi breytum til að stilla bestu myndgæði.\n"
+"\n"
+"Skjákort\n"
+"\n"
+" Uppsetningarforritið mun venjulega finna og stilla skjákortið sem er\n"
+"uppsett á vélinni þinni. Ef það er ekki rétt þá getur þú valið rétta kortið\n"
+"af lista\n"
+"...à því tilviki að margir X miðlarar séu til staðar fyrir kortið þitt, t.d. "
+"með eða án Þrívíddarhröðunar, þá verður þú að velja þann sem \n"
+"hæfir þínum kröfum best.\n"
+"\n"
+"\n"
+"\n"
+"Skjár\n"
+"\n"
+" Venjulega mun uppsetningarforritið skynja og stilla skjáinn sem er\n"
+"tengdur við vélina þína. Ef þetta er ekki rétt þá getur þú valið réttan\n"
+"skjá sem tengdur er við tölvuna þína af löngum lista.\n"
+"\n"
+"\n"
+"\n"
+"Upplausn\n"
+"\n"
+" Hér getur þú valið upplausnir og litadýpt sem eru tiltækar fyrir þinn\n"
+"grafíska vélbúnað. Veldu þá upplausn sem hæfir þínum kröfum best\n"
+"(þú getur breytt þessu síðar eftir uppsetningu). Dæmi um valdar\n"
+"stillingar eru sýndar á skjámyndinni.\n"
+"\n"
+"\n"
+"\n"
+"Prófun\n"
+"\n"
+" Eftir tegund vélbúnaðar þíns, er þessi hluti ekki alltaf sýnilegur\n"
+"\n"
+" Prófunin mun reyna að opna grafískan skjá með valinni upplausn\n"
+"á skjánum þínum. Ef þú sérð prófunarskeyti á skjánum og svarar \"%s\",\n"
+"þá mun DrakX halda áfram að næsta þrepi. Ef þú sér það ekki, þá\n"
+"þýðir það að einhver hluti að sjálfvirku uppsetningunum var ekki rétt.\n"
+"Prófuninni lýkur eftir 12 sekúndur og þú ert sendur aftur í valmyndina.\n"
+"Breyttu stillingum þar til þú færð prófið til að virka rétt.\n"
+"\n"
+"\n"
+"\n"
+"Aukakostir\n"
+"\n"
+" Þetta þrep leyfir þér að velja hvort þú vilt að vélin þín ræsi upp\n"
+"myndrænt viðmót við ræsingu kerfis. Augljóslega getur þú krossað við\n"
+"\"%s\" ef vélin þín á að vera miðlari eða þér tókst ekki að stilla\n"
+"grafíska skjákortið/upplausnina/skjáinn... rétt."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjár\n"
+"\n"
+" Venjulega mun uppsetningarforritið finna tengda skjái sjálfkrafa og\n"
+"setja upp viðeigandi stillingar. Ef valið er ekki rétt getur þú valið\n"
+"réttan skjá af þessum lista - skjáinn sem er tengdur þinni tölvu."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Upplausn\n"
+"\n"
+" Hér getur þú valið upplausn og litadýpt sem eru mögulegir fyrir þinn\n"
+"vélbúnað. Veldu þann sem best hæfir þínum þörfum (þú getur breytt\n"
+"þessum stillingum eftir uppsetningu). Dæmi um valda uppsetningu er\n"
+"sýnt á skjámyndinni."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"à því tilviki að mismunandi miðlarar eru til fyrir kortið þitt, með eða án\n"
+"þrívíddar-hraðals, þá verður þú beðinn um að velja þann miðlara sem best\n"
+"hentar þínum þörfum."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Aukakostir\n"
+"\n"
+" Þetta þrep leyfir þér að velja hvort þú vilt að vélin þín ræsi upp\n"
+"myndrænt viðmót við ræsingu kerfis. Augljóslega getur þú krossað við\n"
+"\"%s\" ef vélin þín á að vera miðlari eða þér tókst ekki að stilla\n"
+"grafíska skjákortið/upplausnina/skjáinn... rétt."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nú verður þú að ákveða hvar þú vilt setja upp Mageia\n"
+"stýrikerfið á diskinn þinn. Ef diskurinn þinn er tómur eða núverandi\n"
+"stýrikerfi er að nota allt plássið á disknum, þá verður þú að\n"
+"Endursníða diskinn. Að sníða diskinn þýðir að skipta disknum\n"
+"í hluta sem þörf er á til að setja upp Mageia kerfið.\n"
+"\n"
+"Af því að skipting disks í sneiðar er venjulega óafturkræf aðgerð\n"
+"og getur leitt til að þú tapir gögnum, þá getur þetta verið erfið og\n"
+"stressandi aðgerð fyrir óvanan notanda. Til allrar hamingju er\n"
+"DrakX með ráðgjafa sem einfaldar aðgerðina. Ãður en þú heldur\n"
+"áfram með þetta skref, lestu afganginn af þessum kafla og fyrir\n"
+"alla muni gefðu þér nægan tíma til að ákvarða rétta lausn.\n"
+"\n"
+"Nokkrar mismunandi aðferðir eru mögulegar, þær fara eftir\n"
+"núverandi uppsetningu á diskum:\n"
+"\n"
+" * \"%s\". Þessi aðgerð skiptir auðum svæðum á diskum sjálfkrafa.\n"
+"Ef þú velur þetta verður ekki spurt fleiri spurninga.\n"
+"\n"
+" * \"%s\". Ráðgjafinn hefur fundið eina eða fleiri Linux disksneiðar\n"
+"á disknum. Veldu þennan möguleika ef þú vilt nota þær. Þú verður\n"
+"þá beðin(n) um að velja tengipunkta fyrir hverja disksneið.\n"
+"Venjulegu tengipunktarnir eru sjálfgefið valdir, og það er góð\n"
+"hugmynd að halda þeirri reglu.\n"
+"\n"
+" * \"%s\". Ef Microsoft Windows er uppsett á disknum þínum og tekur\n"
+"upp allt diskplássið. Þá verður þú að búa til laust pláss fyrir GNU/Linux.\n"
+"Til að gera það þá getur þú eytt Microsoft Windows disksneiðinni\n"
+"og gögnum (sjá ``Eyða öllu á disknum'') eða breytt stærð á Microsoft \n"
+"Windows FAT eða NTFS disksneiðinni. Breytingu á stærð disksneiða\n"
+"er hægt að framkvæma án þess að nokkur gögn tapist, ef þú hefur\n"
+"áður þjappað gögnum á Windows disksneiðinni (defragment).\n"
+"Mælt er með að nota þessa aðferð ef þú vilt nota bæði Mandriva \n"
+"Linux og Microsoft Windows á sömu tölvunni.\n"
+"\n"
+"Ãður en þú velur þennan valkost, hafðu þá í huga að, eftir þessa aðgerð\n"
+"verður Microsoft Windows disksneiðin minni en þegar þú byrjaðir. Þú\n"
+"munt því hafa minna laust diskpláss þegar þú notar Microsoft Windows\n"
+"til að geyma gögn og setja upp hugbúnað.\n"
+"\n"
+" * \"%s\". Ef þú vilt eyða öllum gögnum og disksneiðum sem nú eru\n"
+"á disknum og skipta þeim út með nýju Mageia stýrikerfi, veldu\n"
+"þennan valkost. Farðu varlega, því þú getur ekki afturkallað þessar\n"
+"breytingar eftir að þú hefur staðfest þær.\n"
+"\n"
+" !! Ef þú velur þennan valkost þá verður öllum gögnum á disknum eytt. !!\n"
+"\n"
+" * \"%s\". Þessi valkostur birtist þegar allt pláss á disknum er notað af\n"
+"Microsoft Windows. Ef þú velur þennan valkost, verður öllu einfaldlega\n"
+"eytt af disknum og þú byrjar með auðan disk, sem þú getur skipt\n"
+"síðan að vild.\n"
+"\n"
+" !! Ef þú velur þennan valkost þá verður öllum gögnum á disknum eytt. !!\n"
+"\n"
+" * \"%s\" Veldu þennan valkost ef þú vilt sjálfur skipta disknum þínum.\n"
+"Farðu varlega -- Þetta er öflugur en hættulegur valkostur og þú getur\n"
+"auðveldlega tapað öllum gögnum. Þess vegna er þessi valkostur eiginlega\n"
+"aðeins fyrir þá sem hafa gert þetta áður og hafa nokkra reynslu. Frekari\n"
+"upplýsingar um hvernig á að nota DiskDrake forritið er hægt að nálgast\n"
+"í kaflanum ``Managing Your Partitions'' í ``Starter Guide''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Nota núverandi disksneið"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Eyða öllu á disknum"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Jæja - hingað ertu þá kominn. Uppsetningu er nú lokið og GNU/Linux kerfið\n"
+"er tilbúið til notkunar. Aðeins eftir að smella á \"%s\" til að endurræsa "
+"kerfið\n"
+"Ekki gleyma að fjarlægja uppsetningarmiðilinn (Geisladisk eða diskling).\n"
+"Það fyrsta sem þú sérð eftir að tölvan hefur athugað vélbúnaðinn er\n"
+"ræsivalmynd, sem gefur þér möguleika á að velja hvaða stýrikerfi þú vilt "
+"ræsa\n"
+"\n"
+"Hnappurinn \"%s\" sýnir þér tvo auka hnappa sem:\n"
+"\n"
+" * \"%s\": leyfir þér að búa til uppsetningardisk sem framkvæmir sjálfkrafa\n"
+"alla uppsetninguna án íhlutunar, t.d. ef þú ert að setja upp aðra vél eins "
+"og\n"
+"þú varst að ljúka við að setja upp.\n"
+"\n"
+" Athugið að tveir möguleikar eru á uppsetningardisk sem birtast eftir að\n"
+"þú smellir á þennan hnapp:\n"
+"\n"
+" * \"%s\". Þetta er að hluta til sjálfvirk uppsetning. Diskasneiðing er\n"
+"eina þrepið sem þú þarft að framkvæma.\n"
+"\n"
+" * \"%s\". Algerlega sjálfvirk uppsetning: Öllu á disknum er eytt og\n"
+"diskurinn er algerlega endurskrifaður, öll gögn tapast.\n"
+"\n"
+" Þetta er mjög hagkvæmt ef þú ert að setja upp á margar svipaðar\n"
+"tölvur. Sjá nánar um sjálfvirka uppsetningu á vefsíðum okkar.\n"
+"\n"
+" * \"%s\"(*): vistar lista af öllum pökkum sem þú valdir í þessari\n"
+"uppsetningu. Til að nota þennan lista við aðra uppsetningu, settu inn\n"
+"disklinginn og byrjaðu uppsetningu. Þegar þú færð valskjáinn\n"
+"ýttu á [F1] og sláðu inn >>linux defcfg=\"floppy\"<< og ýttu á\n"
+"[Enter] lykilinn.\n"
+"\n"
+"(*) Þú þarft FAT-forsniðinn diskling. Til að búa til þannig diskling undir\n"
+"GNU/Linux, gefðu skipunina \"mformat a:\", eða \"fdformat /dev/fd0\"\n"
+"og síðan skipunina \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Búa til diskling fyrir sjálfvirka uppsetningu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ef þú velur að endurnota einhverjar staðlaðar GNU/Linux disksneiðar\n"
+"vilt þú kannski endur-forsníða sumar þeirra og eyða gögnum sem þær\n"
+"innihalda. Til að gera það veldu einnig þær disksneiðar.\n"
+"\n"
+"Vinsamlega athugið að það er ekki nauðsynlegt að endur-forsníða allar\n"
+"disksneiðar sem eru til staðar. Þú þarft að endur-forsníða disksneiðar\n"
+"sem innihalda stýrikerfið (svo sem \"/\", \"/usr\" eða \"/var\") en þú\n"
+"þarft ekki að endur-forsníða disksneiðar sem innihalda gögn sem þú\n"
+"vilt geyma (venjulega \"/home\").\n"
+"\n"
+"Vinsamlega viðhafið varúð þegar þið veljið disksneiðar. Eftir að þær\n"
+"hafa verið forsniðnar, þá hefur öllum gögnum á þeim verið eytt, og þú\n"
+"getur ekki sótt þau aftur.\n"
+"\n"
+"Smelltu á \"%s\" þegar þú ert tilbúinn, og vilt forsníða disksneiðarnar.\n"
+"\n"
+"Smelltu á \"%s\" ef þú vilt velja aðra disksneið fyrir nýja Mageia\n"
+"stýrikerfið þitt.\n"
+"\n"
+"Smelltu á \"%s\" ef þú vilt velja disksneiðar sem verða skoðaðar\n"
+"sérstaklega m.t.t. galla á diskblokkum."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Þegar þú setur upp Mageia er líklegt að sumir pakkar hafi verið\n"
+"uppfærðir frá upphaflegri útgáfu. Villur hafa verið lagfærðar, og\n"
+"öryggisvandamál leyst. Til að nýta ykkur þessar uppfærslur, þá getið\n"
+"þið sótt þær nú um Internetið. Krossaðu við \"%s\" ef þú hefur nú\n"
+"þegar internet-tengingu, eða \"%s\" ef þú vilt sækja uppfærslur síðar.\n"
+"\n"
+"Ef þú velur \"%s\", þá færð þú lista af vefsvæðum sem þú getur sótt\n"
+"uppfærslur frá. Þú ættir að velja það vefsvæði sem er næst þér.\n"
+"Þú færð að sjá pakkalista sem þú getur valið úr og smellt á \"%s\"\n"
+"til að sækja og setja upp valda pakka, eða \"%s\" til að hætta við."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Hér leyfir DrakX þér að velja það öryggisstig sem þú óskar að hafa á\n"
+"tölvunni þinni. Þumalfingursregla er að öryggisstig ætti að vera því hærra\n"
+"sem gögnin eru mikilvægari, eða ef vélin verður tengd beint við\n"
+"Internetið. Hærra öryggisstig þýðir þó venjulega að aðgangur að\n"
+"vél og gögnum verður óþjálli.\n"
+"\n"
+"Ef þú veist ekki hvað á að velja, notaðu þá sjálfgefið öryggisstig. Þú\n"
+"getur breytt því seinna með draksec tólinu, sem er hluti af Mageia\n"
+"stjórnborðinu.\n"
+"\n"
+"Fylltu út í svæðið \"%s\" með netfangi þess aðila sem er ábyrgur fyrir\n"
+"öryggi kerfisins. Skeyti sem varða öryggi kerfis verða send á þetta netfang."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Öryggisfulltrúi"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Hér þarft þú að ákveða hvaða disksneið þú vilt nota fyrir Mageia\n"
+"stýrikerfið. Ef disksneiðar hafa þegar verið skilgreindar, annað hvort\n"
+"frá fyrri uppsetningu á GNU/Linux, eða af öðru forriti til að stilla\n"
+"disksneiðar, þá getur þú notað þær. Annars verður þú að skilgreina\n"
+"disksneiðar.\n"
+"\n"
+"Til að skilgreina disksneiðar þá verður þú fyrst að velja disk. Þú getur\n"
+"valið disk sem þú ætlar að skipta með því að smella á ``hda'' fyrir\n"
+"fyrsta IDE tengda diskinn, ``hdb'' fyrir þann næsta, ``sda'' fyrir\n"
+"fyrsta SCSI diskinn o.s.frv.\n"
+"\n"
+"Til að skipta völdum diski, þá getur þú notað eftirfarandi aðgerðir:\n"
+"\n"
+" * \"%s\": þessi valkostur eyðir öllum disksneiðum á disknum\n"
+"\n"
+" * \"%s\": þessi valkostur býr sjálfkrafa til ext4 og diskminnis-sneið\n"
+"á lausu plássi á disknum.\n"
+"\n"
+"\"%s\": gefur þér aðgang að aukavalkostum:\n"
+"\n"
+" * \"%s\": vistar disksneiða-töfluna á disklingi. Gott ef síðar þarf að\n"
+"endurbyggja disksneiða-töfluna. Það er mælt með að þú gerir\n"
+"framkvæmir þetta skref.\n"
+"\n"
+" * \"%s\" leyfir þér að endurbyggja disksneiða-töfluna frá disklingi.\n"
+"\n"
+" * \"%s\": ef disksneiða-taflan er skemmd, þá getur þú reynt að\n"
+"endurbyggja hana. Farðu varlega og mundu að þetta virkar ekki alltaf\n"
+"\n"
+" * \"%s\": hendir öllum breytingum og endurhleður disksneiða-töflunni\n"
+"eins og hún var upphaflega á disknum.\n"
+"\n"
+" * \"%s\": ef þú af-velur þennan valkost, þá verða notendur að\n"
+"tengja disklinga og geisladiska sjálfir við tengipunkta\n"
+"\n"
+" * \"%s\": notaðu þennan valkost ef þú vilt nota ráðgjafa til að skipta\n"
+"disknum þínum. Það er mæt með þessu ef þú hefur ekki nákvæmlega\n"
+"hvað á að gera hér.\n"
+"\n"
+" * \"%s\": notaðu þennan valkost ef þú vilt hætta við allar breytingar.\n"
+"\n"
+" * \"%s\": gefur þér aukalega valkosti (tegund, valkosti, forsníða)\n"
+"og gefur þér meiri upplýsingar um diskinn.\n"
+"\n"
+" * \"%s\": þegar þú hefur lokið við að skipta disknum þínum, þá\n"
+"skrifar þetta breytingarnar á diskinn.\n"
+"\n"
+"Þegar þú skilgreinir stærð disksneiðar, þá getur þú fínstillt stærðina\n"
+"á sneiðinni með örvalyklunum á lyklaborðinu.\n"
+"\n"
+"Athugið: Þú getur komist að öllum aðgerðum á skjánum frá\n"
+"lyklaborðinu. Þú færir þig á milli svæða með [Tab] og [Upp/Niður]\n"
+"örvalyklunum.\n"
+"\n"
+"Þegar disksneið er valin, þá getur þú notað:\n"
+"\n"
+" * Ctrl-c til að búa til nýja disksneið (þegar auð disksneið er valin)\n"
+"\n"
+" * Ctrl-d til að eyða disksneið\n"
+"\n"
+" * Ctrl-m til að setja tengipunkt\n"
+"\n"
+"Til að fá upplýsingar um mismunandi skráakerfi, vinsamlega lestu\n"
+"kaflann um ext2FS í ``Reference Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+# ## skrytid
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Sjálfvirk tenging aukatækja"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Víxla milli venjulegs/sérfræðings-hams"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Fleiri en ein Microsoft disksneið hefur fundist á disknum.\n"
+"Vinsamlega veldu hverri þeirra þú vilt breyta stærðinni á til að geta sett\n"
+"upp nýja Mageia stýrikerfið.\n"
+"\n"
+"Hver sneið á listanum inniheldur \"Linux nafn\", \"Windows nafn\" \"Diskrýmd"
+"\".\n"
+"\n"
+"\"Nafn\" er byggt upp af: \"disktegund\", \"disknúmer\",\n"
+"\"disksneið\" (t.d., \"hda1\").\n"
+"\n"
+"\"Disktegund\" er \"hd\" ef disknum er stýrt með IDE stýringu og\n"
+"\"sd\" ef það er SCSI diskur.\n"
+"\n"
+"\"Disknúmer\" er alltaf bókstafur eftir \"hd\" eða \"sd\". Fyrir IDE\n"
+"diska:\n"
+"\n"
+" * \"a\" þýðir \"aðal (master) diskur á fyrstu IDE stýringu\";\n"
+"\n"
+" * \"b\" þýðir \"auka (slave) diskur fyrstu IDE stýringu\";\n"
+"\n"
+" * \"c\" þýðir \"aðal (master) diskur á annari IDE stýringu\";\n"
+"\n"
+" * \"d\" þýðir \"auka (slave) diskur annari IDE stýringu\";\n"
+"\n"
+"à SCSI diskum, þýðir \"a\" \"lægsta SCSI ID\", \"b\" þýðir\n"
+"\"næst-lægsta SCSI ID\", o.s.frv.\n"
+"\n"
+"\"Windows nafn\" er bókstafurinn á disknum eins og það sést undir\n"
+"Windows (fyrsti diskurinn eða sneiðin er kölluð \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": athugið val lands. Ef valið land er ekki rétt smelltu þá\n"
+"á \"%s\" hnappinn og veldu annað. Ef landið þitt er ekki á listanum,\n"
+"smelltu þá á \"%s\" hnappinn til að sjá heildalista landa."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Þetta skref er aðeins virkjað ef GNU/Linux disksneið hefur fundist á\n"
+"tölvunni þinni.\n"
+"\n"
+"DrakX þarf nú að vita hvort þú vilt setja upp nýtt kerfi eða hvort þú\n"
+"vilt uppfæra uppsett Mageia kerfi:\n"
+"\n"
+" * \"%s\". Þetta þurkar að mestu út gamla kerfið. En þó fer það\n"
+"svolítið eftir diskssneiðum sem þú hefur sett upp, þá getur þú\n"
+"varnað því að gögn (fyrst og fremst \"home\" möppur) verði\n"
+"yfirskrifuð. Ef þú vilt breyta hvernig diskunum er skipt, eða breyta\n"
+"skráakerfinu, þá ættir þú að velja þennan valkost.\n"
+"\n"
+" * \"%s\". Þessi uppsetning leyfir þér að uppfæra pakkana sem nú\n"
+"eru uppsettir á Mageia kerfinu þínu. Disksneiðum og gögnum\n"
+"verður ekki breytt. Flest uppsetningarþrep eru enn aðgengileg\n"
+"og eru svipuð venjulegri uppfærslu.\n"
+"\n"
+"Að nota ``Uppfærslu'' aðgerðina ætti að virka vel á Mageia\n"
+"kerfum sem eru að keyra útgáfu \"8.1\" eða nýrri. Ekki er mælt með\n"
+"uppfærslu á eldri útgáfum en Mageia \"8.1\"."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Byggt á því tungumáli sem þú velur, þá mun DrakX sjálfkrafa velja\n"
+"lyklaborðs-uppsetningu. Athugaðu hvort valið hentar þér, eða veldu\n"
+"aðra lyklaborðs-uppsetningu.\n"
+"\n"
+"Einnig gæti verið að lyklaborðið henti ekki þínum þörfum eða tungumáli\n"
+"Ef t.d. þú vilt hafa aðgang að íslensku lyklaborði í Sviss. Eða danskt\n"
+"lyklaborð og íslenskt umhverfi. Almennt talað í þannig umhverfi\n"
+"að tungumál og valið lyklaborð passa ekki saman. Hvort sem þú\n"
+"vilt þá getur þú valið lyklaborð af listanum.\n"
+"\n"
+"Smelltu á \"%s\" hnappinn til að sjá lista af mögulegum lyklaborðs-"
+"uppsetningum.\n"
+"\n"
+"Ef þú velur lyklaborðs-uppsetningu sem er ekki byggt á latnesku\n"
+"stafrófi, þá mun næsti gluggi leyfa þér að velja lyklasamsetningu\n"
+"sem víxlar til og frá latneska lyklaborðinu."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Fyrsta þrepið er að velja æskilegt tungumál.\n"
+"\n"
+"Val þitt á æskilegu tungumáli hefur áhrif á uppsetningarforritið,\n"
+"handbækur, og stýrikerfið í heild sinni. Veldu fyrst hvaða svæði\n"
+"þú er búsettur á, síðan tungumál sem þú notar.\n"
+"\n"
+"Ef þú smellir á \"%s\" hnappinn þá getur þú valið önnur tungumál\n"
+"sem verða sett upp á vinnustöðina þína, þá verða skrár sem tengjast\n"
+"því tungumáli settar upp á tölvuna. Til dæmis ef spænskir notendur\n"
+"munu nota tölvuna þína, veldu þá Ensku sem aðaltungumál í\n"
+"valglugganum og \"%s\" í ítarlegri hlutanum.\n"
+"\n"
+"Um UTF-8 (unicode) stuðning: Unicode er ný stafakóðun sem\n"
+"tekur til allra tungumála. En fullur stuðningur fyrir þessa kóðun er\n"
+"enn á þróunarstigi fyrir GNU/Linux. Þess vegna ætti val þitt á\n"
+"að nota UTF-8 að byggja á eftirfarandi:\n"
+"\n"
+" * Ef þú velur tungumál sem hefur sterkan stuðning í venjulegri\n"
+"stafakóðun (latnesk-1 tungumál, Rússneska, Kínverska, Kóreanska,\n"
+"Tælenska, Gríska, Tyrkneska og flest iso-8859-2 tungumál),\n"
+"þá verður eldri stafakóðun valin sjálfgefið;\n"
+"\n"
+" * Önnur tungumál munu sjálfgefið nota unicode;\n"
+"\n"
+" * Ef tvö eða fleiri tungumál eru valin og þau nota ekki sömu kóðun\n"
+"þá verður unicode notað fyrir allt kerfið;\n"
+"\n"
+" * Að lokum, hægt er að þvinga notkun unicode alls staðar í\n"
+"kerfinu með því að velja \"%s\" valkostinn óháð því hvaða\n"
+"tungumál hafa verið valin.\n"
+"\n"
+"Athugið að þú ert ekki takmarkaður við að velja eitt aukalegt tungumál.\n"
+"Þú getur valið nokkur eða jafnvel valið þau öll með því að krossa við\n"
+"\"%s\" reitinn. Ef þú velur stuðning fyrir tungumál þýðir það að\n"
+"þýðingar, letur, stafsetningar-leiðréttingar o.s.frv. verða einnig\n"
+"sett inn fyrir þessi tungumál.\n"
+"\n"
+"Til að víxla milli mismunandi tungumála sem eru uppsett á kerfinu\n"
+"þínu, þá getur þú keyrt \"localedrake\" skipunina sem \"root\" til\n"
+"að breyta sjálfgefnu tunguáli fyrir allt kerfið. Ef þú keyrir skipunina\n"
+"sem venjulegur notandi þá mun það einungis breyta uppsetningu\n"
+"tungumáls fyrir þann notanda."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spænska"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Venjulega er DrakX ekki í neinum vandræðum með að finna fjölda hnappa\n"
+"á músinni þinni. Ef DrakX lendir í vandræðum gerir það ráð fyrir tveggja\n"
+"hnappa mús og mun setja upp þriggja hnappa hermi. Þriðja hnappinn\n"
+"á tveggja hnappa mús má fá fram með því að smella samtímis á hægri\n"
+"og vinstri hnappana. DrakX mun sjálfkrafa vita hvort músin þín notar\n"
+"PS/2- , rað- eða usb-tengi.\n"
+"\n"
+"Ef þú hefur þriggja hnappa mús án skrunhjóls, þá getur þú valið \"%s\"\n"
+"mús. DrakX mun þá stilla músina þína þannig að þú getir hermt eftir\n"
+"skrunhjóli með því. Til að gera það, smelltu á miðhnappinn og færðu\n"
+"músina upp og niður.\n"
+"\n"
+"Ef þú af einhverri ástæðu vilt skilgreina aðra tegund músar, veldu hana\n"
+"þá úr listanum.\n"
+"\n"
+"Þú getur valið \"%s\" færsluna til að velja ``almenna'' músartegund\n"
+"sem mun virka með flestum músum.\n"
+"\n"
+"Ef þú velur aðra mús en sjálfgefna, þá birtist prufuskjár. Notið hnappana\n"
+"og hólið til að staðfesta að stillingar séu réttar og músin virki rétt.\n"
+"Ef Músin virkar ekki rétt sláðu þá á bilslána eða [Enter] til að hætta\n"
+"prófuninni og þú færð aftur upp lista af músum.\n"
+"\n"
+"Það kemur fyrir að skrunhjóla-mýs séu ekki skynjaðar sjálfvirkt,\n"
+"svo þú verður að velja músina úr lista. Athugaðu vel að velja rétt\n"
+"tengi rað/PS-2/USB sem músin er tengd við. Eftir að þið hafið\n"
+"valið mús og smellt á \"%s\" hnappinn, þá birtist músamynd á\n"
+"skjánum. Notið skrunhjólið til að staðfesta að það sé virkjað rétt.\n"
+"Þegar þú hreyfir hjólið, mun músarhjólið á skjánum hreyfast.\n"
+"Prófaðu hnappana líka til og hreyfðu bendilinn á skjánum til að\n"
+"staðfest að allt virki rétt."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Með skrunhermi"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Almennt | Einhverjar PS/2 & USB mýs"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Veldu tengið sem þú vilt nota. Tengið \"COM1\" í Windows er kallað\n"
+"\"ttyS0\" í GNU/Linux, \"COM2\" er \"ttyS1\", o.s.frv."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ræsi-forrit er lítið forrit sem er ræst af tölvunni þegar kveikt er á \n"
+"tölvunni. Það er ábyrgt fyrir að ræsa síðan upp allt kerfið. Venjulega\n"
+"er uppsetning ræsiforritsins algerlega sjálfvirk. DrakX mun athuga\n"
+"ræsigeira disksins og haga aðgerðum eftir því:\n"
+"\n"
+" * Ef Windows ræsigeiri finnst, þá verður honum skipt út með GRUB/LILO\n"
+"ræsigeira. Þannig getur þú ræst annað hvort GNU/Linux eða annað\n"
+"stýrikerfi sem er uppsett á tölvunni þinni.\n"
+"\n"
+" * Ef GRUB eða LILO ræsigeiri finnst, þá verður honum skipt út með nýjum.\n"
+"\n"
+"Ef DrakX getur ekki ákveðið hvar á að setja ræsigeirann, þá munt þú\n"
+"verða spurður hvar eigi að setja hann. Almennt er \"%s\" öruggasti "
+"staðurinn\n"
+"Ef þú velur \"%s\", þá verður ekki sett inn neitt ræsiforrit. Gerðu\n"
+"það aðeins ef þú veist hvað þú ert að gera."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nú er komið að því að setja upp prentkerfi fyrir tölvuna þína. Önnur\n"
+"stýrikerfis bjóða þér kannski upp á eitt, en Mageia býður tvö.\n"
+"Hvort þeirra hefur sína kosti\n"
+"\n"
+" * \"%s\" -- sem er skammstöfun fyrir ``prenta ekki biðröð'' \n"
+"(print, do not queue) er rétti valkosturinn ef tölvan er beintengd\n"
+"við prentarann, og þú vilt geta stöðvað snarlega ef pappír festist\n"
+"eða flækist, eða ef þú hefur ekki nettengda prentara.\n"
+"(\"%s\" höndlar aðeins einföldustu nettengingar og er frekar hægvirkt\n"
+"ef það er notað á neti.) Það er þó mælt með að þú notir \"pdq\"\n"
+"ef þetta eru þín fyrstu kynni af GNU/Linux.\n"
+"\n"
+" * \"%s\" stendur fyrir `` Common Unix Printing System'' og er góður\n"
+"kostur hvort sem þú prentar á staðbundinn prentara eða á prentara\n"
+"sem er hinum megin á hnettinum. Það er einfalt að stilla og getur bæði\n"
+"verið miðlari og biðlari fyrir gamalkunnu \"lpd\" prentþjónustuna.\n"
+"Það er því samhæft við eldri stýrikerfi sem þurfa prentþjónustu.\n"
+"Þó að það sé mjög öflugt, þá er einfaldasta uppsetning næstum því\n"
+"eins einföld og \"pdq\". Ef þú þarft að herma eftir \"lpd\", mundu þá eftir\n"
+"að ræsa \"cups-lpd\" þjónustuna. \"%s\" er með myndrænt viðmót fyrir\n"
+"prentaraval og stjórnun á prentara.\n"
+"\n"
+"Hvað sem þú velur núna, þá getur þú breytt prentkerfinu með því að\n"
+"keyra PrinterDrake frá Mageia stjórnborðinu og smella á \"%s\"\n"
+"hnappinn."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Sérfræðingur"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mun fyrst leita að öllum IDE tækjum í tölvunni. Síðan er einnig\n"
+"leitað að einu eða fleiri SCSI kortum í tölvunni. Ef SCSI kort finnst þá\n"
+"mun DrakX mun sjálfkrafa setja inn rekil fyrir kortið.\n"
+"\n"
+"Af því að sjálfvirk vélbúnaðarleit er ekki gallalaus, þá finnur DrakX\n"
+"kannski ekki diskana í tölvunni. Ef svo er þá verður þú að skilgreina\n"
+"vélbúnaðinn handvirkt.\n"
+"\n"
+"Ef þú þarft að skilgreina handvirkt PCI SCSI stýringu, þá mun DrakX spyrja\n"
+"hvort þú viljir tilgreina viðföng fyrir kortið. Þú ættir að leyfa DrakX að\n"
+"kanna vélbúnaðinn til að stilla kortið sjálfkrafa. Oftast kemst DrakX\n"
+"áfram án aukalegra viðfanga.\n"
+"\n"
+"Ef DrakX finnur ekki hvaða breytur á að senda til kortsins þá verður þú að\n"
+"stilla kortið og viðföng þess handvirkt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ef hljóðkort finnst í tölvunni. þá verða upplýsingar um það sýndar\n"
+"hér. Ef þú sérð að hljóðkortið er ekki það sem er raunverulega í tölvunni,\n"
+"þá getur þú smellt á hnappinn hér og bent á annan rekil."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sýnir þér hér samantekt á upplýsingum sem það hefur\n"
+"safnað um tölvuna þína. Það fer síðan eftir því hvaða vélbúnaður er á "
+"vélinni\n"
+"þinni hvort þú sérð alla þá möguleika sem hér fara eftir. Hver færsla\n"
+"er samsett af vélbúnaði sem hægt er að stilla og samantekt um\n"
+"uppsetninguna. Smellið á tilsvarandi \"%s\" til að stilla þessa einingu.\n"
+"\n"
+" * \"%s\": athuga lyklaborðvörpun og breyta henni ef þörf krefur.\n"
+"\n"
+" * \"%s\": athuga landval. Ef valið land er ekki rétt, smelltu þá á\n"
+"\"%s\" hnappinn og veldu annað land. Ef landið er ekki á listanum\n"
+"smelltu þá á \"%s\" hnappinn til að sjá allann listann.\n"
+"\n"
+" * \"%s\": DrakX velur sjálfkrafa tímabelti eftir því landi sem þú hefur\n"
+"valið. Þú getur smellt á \"%s\" hnappinn er það er ekki rétt.\n"
+"\n"
+" * \"%s\": sýna núverandi músastillingar og smelltu á hnappinn til að\n"
+"breyta því ef þörf krefur.\n"
+"\n"
+" * \"%s\": með því að smella á \"%s\" hnappinn opnast prent-stillingar-\n"
+"ráðgjafi. Ráðfærið ykkur við viðeigandi kafla í ``Starter Guide'' varðandi\n"
+"frekari upplýsingar um hvernig á að setja upp nýjan prentara. Viðmótið\n"
+"sem sýnt er þar, er svipað því sem er notað í uppsetningunni.\n"
+"\n"
+" * \"%s\": Ef hljóðkort finnst á kerfinu þínu, þá verður það sýnt hér\n"
+"Ef þú tekur eftir því að það hljóðkort sem sýnt er hér, sé ekki það\n"
+"sem er í raun í kerfinu þínu, þá getur þú smellt á hnappinn og valið\n"
+"annann rekil.\n"
+"\n"
+" * \"%s\": Ef sjónvarpskort finnst í tölvunni þinni þá er það sýnt hér.\n"
+"Ef það er sjónvarpskort í tölvunni og það finnst ekki þá getur þú smellt\n"
+"á \"%s\" hnappinn og reynt að setja það inn handvirkt.\n"
+"\n"
+" * \"%s\": þú getur smellt á \"%s\" til að breyta stillingum á kortinu ef\n"
+"þér finnst að uppsetningin sé röng.\n"
+"\n"
+" * \"%s\": Sjálfgefið stillir DrakX skjákortið/skjáinn þinn í upplausnina\n"
+"\"800x600\" eða \"1024x768\". Ef það er ekki sú upplausn sem þú vilt\n"
+"nota smelltu þá á \"%s\" til að endurstilla skjáupplausnina.\n"
+"\n"
+" * \"%s\": Ef þú vilt stilla Internet eða aðrar nettengingar núna.\n"
+"Þá getur þú gert það hér. Skoðaðu handbókina eða notaðu Mandriva\n"
+"Linux stjórnborðið eftir að uppsetningu er lokið til að fá meiri hjálp.\n"
+"\n"
+" * \"%s\": leyfir þér að stilla vefsel og FTP-sel ef vélin sem þú ert að\n"
+"setja upp á að tengjast netinu um sel.\n"
+"\n"
+" * \"%s\": hér getur þú endurstillt öryggisþrep sem þú settir áður\n"
+"í fyrra þrepi ().\n"
+"\n"
+" * \"%s\": ef þú ætlar að tengja vélina þína Internetinu, þá er\n"
+"góð hugmynd að vernda vélina þína með því að setja upp eldvegg.\n"
+"Lestu viðeigandi kafla í um uppsetningu eldveggs í ``Starter Guide''.\n"
+"\n"
+" * \"%s\": ef þú vilt breyta stillingum ræsistjóra, smelltu á\n"
+"þennan hnapp. Þetta ætti þó ekki að gera nema af kunnugum.\n"
+"\n"
+" * \"%s\": hér getur þú fínstillt hvaða þjónustur verða ræstar á\n"
+"tölvunni þinni. Ef þú ætlar að nota þessa vél sem miðlara þá er góð\n"
+"hugmynd að fara vel yfir þessa uppsetningu."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN spjald"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN spjald"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Myndrænt viðmót"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Veldu diskinn sem þú vilt hreinsa allt af til að setja upp nýja\n"
+"Mageia disksneið. Varúð, öllum gögnum á disknum verður\n"
+"eytt, og það er ekki hægt að sækja þau aftur!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Smelltu á \"%s\" ef þú vilt eyða öllum gögnum og disksneiðum\n"
+"á þessum disk. Varúð! Eftir að þú hefur smellt á \"%s\", getur\n"
+"þú ekki endurheimt nein gögn eða disksneiðar sem eru nú á þessum diski,\n"
+"Þar með talin Windows gögn.\n"
+"\n"
+"Smelltu á \"%s\" til að stöðva þessa aðgerð án þess að tapa gögnum\n"
+"og disksneiðum sem nú eru á þessum diski."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Næsta ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Fyrra"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": smellir þú á \"%s\" hnappinn mun það ræsa prentara-uppsetningar-"
+#~ "ráðgjafann\n"
+#~ "Skoðið viðeigandi kafla í ``Starter Guide'' varðandi meiri upplýsingar um "
+#~ "hvernig\n"
+#~ "á að setja upp nýjan prentara. Viðmótið sem sýnt er í handbókinni okkar "
+#~ "er\n"
+#~ "svipað því sem er notað í uppsetningarforritinu."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Þetta er ein mest áríðandi ákvörðun sem þú tekur fyrir öryggi GNU/Linux\n"
+#~ "kerfis. Þú verður að gefa upp lykilorð fyrir \"root\". \"root\" er "
+#~ "kerfisstjóri\n"
+#~ "og eini notandinn sem má framkvæma uppfærslur, bæta við notendum,\n"
+#~ "breyta uppsetningu kerfisins, og svo framvegis. à stuttu máli \"root\" "
+#~ "má\n"
+#~ "gera allt!. Þess vegna verður þú að velja lykilorð sem er erfitt að giska "
+#~ "á.\n"
+#~ "DrakX mun segja þér ef lykilorðið er of einfalt. Eins og þú sérð þá "
+#~ "þarft\n"
+#~ "þú ekki að slá inn lykilorð, en við ráðleggjum þér alls ekki að hafa það\n"
+#~ "þannig. GNU/Linux er alveg eins viðkvæmt fyrir villum kerfisstjóra og\n"
+#~ "önnur stýrikerfi. Þar sem \"root\" getur farið framhjá öllum takmörkunum\n"
+#~ "og óvart eytt öllum gögnum á disksneiðum með því að vísa kæruleysislega\n"
+#~ "í disksneiðarnar, Það er áríðandi að það sé ekki einfalt að verða \"root"
+#~ "\"\n"
+#~ "\n"
+#~ "Lykilorðið ætti að vera blanda af bókstöfum og tölum og að minnsta\n"
+#~ "kosti 8 stafa langt. Aldrei skrifa niður \"root\" lykilorðið -- Þá "
+#~ "verður\n"
+#~ "allt of auðvelt að brjótast inn í kerfið.\n"
+#~ "\n"
+#~ "Hafið lykilorðið heldur ekki of langt eða flókið því þú verður að muna "
+#~ "það!\n"
+#~ "\n"
+#~ "Lykilorðið verður ekki birt á skjánum þegar þú slærð það inn. Til að\n"
+#~ "minnka hættu á innsláttarvillu ert þú beðinn um að slá lykilorðið "
+#~ "tvisvar.\n"
+#~ "Ef þú gerir þá sömu innsláttar villuna tvisvar verður þú að nota þetta\n"
+#~ "``ranga'' lykilorð í fyrsta sinn þegar þú tengist sem \"root\".\n"
+#~ "\n"
+#~ "Ef þú vilt nota auðkenningar-miðlara til að stjórna aðgangi að tölvunni\n"
+#~ "þinni, smelltu þá á \"%s\" hnappinn.\n"
+#~ "\n"
+#~ "Ef þú notar LDAP, NIS eða PDC Windows Domain auðkenningar-\n"
+#~ "þjónustur, veldu réttan valkost fyrir \"%s\". Ef þú veist ekki hvað\n"
+#~ "þú átt að nota spurðu þá net-stjórnandann.\n"
+#~ "\n"
+#~ "Ef þú átt í vandræðum með að muna lykilorð, eða ef tölvan þín verður\n"
+#~ "aldrei tengd Internetinu, og þú treystir algerlega öllum þeim sem koma\n"
+#~ "að tölvunni þinni, þá getur þú valið að hafa \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "auðkenning"
diff --git a/perl-install/install/help/po/it.po b/perl-install/install/help/po/it.po
new file mode 100644
index 000000000..3d1c9fd98
--- /dev/null
+++ b/perl-install/install/help/po/it.po
@@ -0,0 +1,2167 @@
+# translation of DrakX.po to Italian
+# translation of DrakX-it.po to Italiano
+# translation of DrakX-it.po to Italian
+# Copyright (C) 2000, 2001 Mandriva S.A.
+# Paolo Lorenzin <pasusu@tin.it>, 2000.
+# Simone Riccio <s.riccio@aeb-informatica.it>, 2002.
+# Roberto Rosselli Del Turco <rosselli@ling.unipi.it>, 2001, 2002,2003.
+# Marco De Vitis <mdv@spin.it>, 2003.
+# Andrea Celli <a.celli@caltanet.it>, 2003, 2004, 2005, 2006.
+# Giuseppe Levi <giuseppe.levi@email.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-it\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-02-03 21:33+0100\n"
+"Last-Translator: Andrea Celli <a.celli@caltanet.it>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prima di proseguire dovresti leggere con attenzione le condizioni d'uso che\n"
+"riguardano l'intera distribuzione Mageia. Se sei d'accordo con\n"
+"tutti i termini della licenza clicca sul pulsante \"%s\". In caso contrario\n"
+"ti basterà un clic sul pulsante \"%s\" per riavviare il computer."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux è un sistema operativo multi-utente, ciò significa che ciascun\n"
+"utente può disporre di una configurazione personalizzata, di uno spazio per\n"
+"i propri file, e così via; consulta la ''Guida introduttiva'' per saperne di "
+"più.\n"
+"Ma, a differenza di \"root\", che è l'amministratore del sistema,\n"
+"gli utenti che aggiungerai adesso non avranno il diritto di cambiare\n"
+"nulla, se non i propri file e la propria configurazione. Dovrai crearne\n"
+"almeno uno per te stesso, da utilizzare per l'uso quotidiano: per quanto\n"
+"molto comodo, entrare nel sistema come \"root\" tutti i giorni potrebbe\n"
+"essere molto pericoloso! Anche un banale errore potrebbe significare un\n"
+"sistema non più in grado di funzionare correttamente. Se, invece,\n"
+"commetti un errore, anche grave, in qualità di utente normale, potrai forse\n"
+"perdere parte dei tuoi dati, ma non compromettere l'intero sistema.\n"
+"\n"
+"Nel primo campo inserisci il vero nome. Naturalmente questo non è\n"
+"un obbligo legale: puoi digitare quello che vuoi. Fatto questo, DrakX\n"
+"prenderà la prima parola che hai inserito nel campo di testo e la copierà\n"
+"alla voce \"%s\". Questo è il nome che l'utente dovrà usare per accedere al\n"
+"sistema, ma puoi modificarlo. Poi digita una password per questo utente.\n"
+"Ovviamente, dal punto di vista della sicurezza, la password di un utente\n"
+"non privilegiato non è cruciale come quella di \"root\", ma non c'è motivo\n"
+"di essere frettolosi: dopo tutto, si tratta della sicurezza dei tuoi file.\n"
+"\n"
+"Se clicchi su \"%s\", potrai poi aggiungere un altro utente, e altri "
+"ancora,\n"
+"a tua discrezione. Aggiungi un utente per ciascuno dei tuoi amici, oppure\n"
+"per tuo padre e tuo fratello, e così via. Dopo aver aggiunto\n"
+"tutti gli utenti che vuoi, seleziona \"%s\".\n"
+"\n"
+"Cliccando sul pulsante \"%s\" potrai cambiare la \"shell\" per\n"
+"quell'utente (quella predefinita è bash).\n"
+"\n"
+"Quando avrai finito di aggiungere utenti al sistema, ti verrà proposto di\n"
+"sceglierne uno per effettuare un login automatico ogni volta che il\n"
+"computer ha terminato la fase di boot. Se questa caratteristica ti\n"
+"interessa (e non tieni particolarmente alla sicurezza locale), scegli\n"
+"l'utente desiderato e l'ambiente grafico che preferisci, poi clicca su\n"
+"\"%s\". Se la cosa non ti interessa, rimuovi il segno di spunta dalla\n"
+"casella \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vuoi sfruttare questa possibilità?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"In alto puoi vedere l'elenco delle partizioni Linux individuate sul\n"
+"tuo disco rigido. Puoi attenerti alle scelte fatte dall'assistente,\n"
+"vanno bene per la maggior parte delle installazioni. Se fai dei\n"
+"cambiamenti, ricorda che devi definire per lo meno una partizione root\n"
+"(''radice'') (\"/\"). Non sceglierla troppo piccola, altrimenti non sarai\n"
+"in grado di installare parte del software. Se poi vuoi conservare i\n"
+"tuoi dati su una partizione separata, dovrai assegnare una partizione\n"
+"anche a \"/home\" (ciò è possibile soltanto se hai a disposizione più\n"
+"partizioni Linux).\n"
+"\n"
+"Ogni partizione è elencata in base a queste caratteristiche: \"Nome\",\n"
+"\"Capacità\".\n"
+"\n"
+"Il \"Nome\" è strutturato in: \"tipo di disco rigido\", \"numero del\n"
+"disco\", \"numero della partizione\" (ad esempio, \"hda1\").\n"
+"\n"
+"Il \"tipo di disco rigido\" è \"hd\" se il tuo disco è di tipo IDE, e\n"
+"\"sd\" se, invece, è un disco SCSI.\n"
+"\n"
+"Il \"numero del disco\" è sempre una lettera che segue \"hd\" o \"sd\". Per\n"
+"i dischi IDE:\n"
+"\n"
+" * \"a\" significa \"disco rigido master sul controller IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco rigido slave sul controller IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco rigido master sul controller IDE secondario\";\n"
+"\n"
+" * \"d\" significa \"disco rigido slave sul controller IDE secondario\".\n"
+"\n"
+"Per i dischi rigidi di tipo SCSI, invece, una \"a\" significa \"ID SCSI più\n"
+"basso\", una \"b\" significa \"ID SCSI immediatamente successivo ad a\",\n"
+"etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La distribuzione Mageia è suddivisa su più CD-ROM. Se uno dei\n"
+"pacchetti selezionati si trova su un CD-ROM diverso da quello attualmente\n"
+"inserito nel lettore, DrakX provvederà a espellerlo e a chiedervi di\n"
+"inserire quello corretto. Se non avete a portata di mano il CD richiesto,\n"
+"basta cliccare su \"%s\", e i pacchetti corrispondenti non verranno\n"
+"installati."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Adesso è il momento di indicare i programmi che volete siano installati sul\n"
+"vostro sistema. Ci sono migliaia di pacchetti disponibili per\n"
+"Mageia, e sono stati suddivisi in gruppi in base al loro campo di\n"
+"utilizzo, in modo da facilitarne la gestione.\n"
+"\n"
+"I gruppi sono a loro volta suddivisi in quattro categorie. Potete\n"
+"selezionare i pacchetti di tutte le categorie indifferentemente, quindi una\n"
+"installazione di tipo \"Workstation\" può contenere anche programmi della\n"
+"categoria \"Server\".\n"
+"\n"
+" * \"%s\": scegliete uno o più gruppi da questa categoria se la vostra\n"
+"macchina dovrà essere utilizzata come postazione di lavoro tradizionale.\n"
+"\n"
+" * \"%s\": se pensate di usare il computer per la programmazione e lo\n"
+"sviluppo di software, selezionate i gruppi a voi necessari in questa\n"
+"categoria. Il gruppo speciale \"LSB\" serve per configurare il vostro\n"
+"sistema in modo che sia quanto più possibile conforme con le specifiche del\n"
+"Linux Standard Base.\n"
+"\n"
+" La selezione del gruppo \"LSB\" avrà come ulteriore effetto\n"
+"l'installazione di un kernel della serie \"2.4\", invece della \"2.6\" che\n"
+"costituisce l'opzione predefinita. Questo è necessario per avere una\n"
+"completa conformità del sistema con le specifiche LSB. Si noti, tuttavia,\n"
+"che anche se scegliete di non selezionare il gruppo \"LSB\", il vostro\n"
+"sistema sarà compatibile quasi al 100%% con LSB.\n"
+"\n"
+" * \"%s\": qui potrete scegliere i servizi più comuni da installare se il\n"
+"computer dovrà essere usato come server.\n"
+"\n"
+" * \"%s\": qui potrete scegliere il vostro ambiente grafico preferito.\n"
+"Dovete selezionarne almeno uno, se volete avere un sistema con interfaccia\n"
+"grafica.\n"
+"\n"
+"Spostando il puntatore del mouse sul nome di un gruppo verrà mostrato un\n"
+"breve testo di informazioni a riguardo.\n"
+"\n"
+"Se lo desiderate, potete abilitare l'opzione \"%s\", che può essere utile\n"
+"se conoscete bene i pacchetti presenti nella distribuzione o se desiderate\n"
+"avere il controllo totale di ciò che verrà installato.\n"
+"\n"
+"Se cominciate l'installazione in modalità \"%s\", potete deselezionare\n"
+"tutti i gruppi per evitare di installare nuovi pacchetti: questo metodo può\n"
+"tornare utile per effettuare la riparazione o l'aggiornamento di un sistema\n"
+"esistente.\n"
+"\n"
+"Se state effettuando un'installazione normale (non un aggiornamento) e\n"
+"deselezionate tutti i gruppi, comparirà una finestra di dialogo che vi\n"
+"proporrà alcune possibilità per eseguire una installazione minima:\n"
+"\n"
+" * \"%s\": installa i pacchetti strettamente necessari per avere un\n"
+"ambiente grafico funzionante;\n"
+"\n"
+" * \"%s\": installa il sistema base più i programmi fondamentali e la\n"
+"relativa documentazione; questo tipo di installazione può essere adatta per\n"
+"la configurazione di un server;\n"
+"\n"
+" * \"%s\": provvederà all'installazione dello stretto necessario per avere\n"
+"un sistema Linux funzionante, avente come unica interfaccia la riga di\n"
+"comando. Questo tipo di installazione occupa in totale circa 65 megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aggiornamento"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con la documentazione essenziale"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installazione veramente minimale"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ora, se avete scelto di selezionare i pacchetti su base individuale,\n"
+"potrete vedere una struttura ad albero contenente tutti i pacchetti\n"
+"organizzati in gruppi e sottogruppi. Scorrendo questa lista gerarchica\n"
+"potete selezionare interi gruppi, sottogruppi o singoli pacchetti.\n"
+"\n"
+"Quando selezionate un pacchetto all'interno dell'albero ne compare una\n"
+"descrizione sulla destra, per aiutarvi a capire a cosa serva quel\n"
+"particolare pacchetto.\n"
+"\n"
+"!! Se avete selezionato un pacchetto che offre un servizio come server\n"
+"(intenzionalmente, oppure perché faceva parte di un gruppo), vi verrà\n"
+"chiesta conferma per la sua effettiva installazione. Come opzione\n"
+"predefinita, in Mageia tutti i servizi installati vengono attivati\n"
+"automaticamente all'avvio. Sebbene si tratti di servizi sicuri ed esenti da\n"
+"problemi noti al momento del rilascio della distribuzione, non è escluso\n"
+"che possano essere scoperte falle di sicurezza al loro interno dopo la\n"
+"pubblicazione di questa versione di Mageia. Quindi, se non avete\n"
+"idea di cosa faccia un particolare servizio o del perché debba essere\n"
+"installato, cliccate su \"%s\". Scegliendo \"%s\", invece, i servizi\n"
+"elencati saranno installati e attivati in automatico all'avvio del sistema.\n"
+"!!\n"
+"\n"
+"L'opzione \"%s\" vi permette di disabilitare la finestra di avvertimento\n"
+"che compare tutte le volte che il programma di installazione seleziona\n"
+"automaticamente qualche pacchetto per risolvere un problema di dipendenze.\n"
+"Alcuni pacchetti, infatti, dipendono da altri, e l'installazione di uno\n"
+"specifico pacchetto può richiedere l'installazione di un altro. Il\n"
+"programma può determinare in modo automatico quali altri pacchetti sono\n"
+"necessari per soddisfare una dipendenza in modo da portare a termine con\n"
+"successo l'installazione.\n"
+"\n"
+"La piccola icona a forma di dischetto in fondo alla lista vi permette di\n"
+"caricare un elenco di pacchetti scelti durante una precedente\n"
+"installazione. Può risultare utile, ad esempio, se avete la necessità di\n"
+"configurare allo stesso modo diverse macchine. Cliccando su questa icona vi\n"
+"verrà chiesto di inserire il dischetto creato alla fine di un'altra\n"
+"installazione. Leggete il relativo suggerimento nell'ultimo passo per\n"
+"sapere come creare questo dischetto."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dipendenze automatiche"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Qui potete scegliere i servizi da attivare automaticamente all'avvio del\n"
+"sistema.\n"
+"\n"
+"DrakX elencherà tutti i servizi disponibili con l'installazione attuale.\n"
+"Esaminateli attentamente e disabilitate quelli che non sono necessari\n"
+"all'avvio.\n"
+"\n"
+"Selezionando un servizio comparirà un breve testo che ne spiega le\n"
+"caratteristiche. Se non siete sicuri dell'utilità o meno di un servizio, è\n"
+"meglio non modificare la relativa impostazione predefinita.\n"
+"\n"
+"!! In questa fase dell'installazione dovete fare le vostre scelte con\n"
+"particolare attenzione nel caso intendiate usare il vostro computer come\n"
+"server: vi conviene evitare di attivare servizi di cui non avete bisogno.\n"
+"Ricordate che molti servizi sono potenzialmente pericolosi, se attivi su un\n"
+"server. Come regola generale, attivate soltanto quelli di cui avete\n"
+"veramente bisogno. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux gestisce il tempo in base al GMT (\"Greenwich Mean Time\") e lo\n"
+"traduce nell'ora locale secondo il fuso orario selezionato. Tuttavia, se\n"
+"l'orologio della scheda madre è regolato sull'orario locale, è possibile\n"
+"disabilitare questa opzione togliendo il segno di spunta alla casella\n"
+"\"%s\", in modo da indicare a GNU/Linux che l'orologio hardware e quello di\n"
+"sistema operano nello stesso fuso orario. Questa scelta può tornare utile\n"
+"nel caso sulla macchina sia installato anche un altro sistema operativo.\n"
+"\n"
+"L'opzione \"%s\" farà in modo che l'orario venga automaticamente regolato\n"
+"connettendosi via Internet con un \"time server\". Perché questa opzione\n"
+"funzioni, naturalmente, dovrete disporre di una connessione a Internet\n"
+"funzionante. Vi consigliamo di scegliere un server vicino a voi. Questa\n"
+"opzione installerà nel sistema un vero e proprio time server, che potrà\n"
+"essere a sua volta usato anche da altre macchine che si trovino sulla\n"
+"stessa rete locale."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronizzazione automatica dell'orario"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Scheda grafica\n"
+"\n"
+" Il programma di installazione provvederà a identificare e configurare\n"
+"automaticamente la scheda grafica installata sul computer. In caso\n"
+"contrario, potete scegliere da questo elenco la scheda che è effettivamente\n"
+"installata.\n"
+"\n"
+" Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (abbreviazione per \"X Window System\") è il cuore dell'interfaccia\n"
+"grafica di GNU/Linux, sul quale sono basati tutti gli ambienti grafici\n"
+"inclusi in Mageia (KDE, GNOME, AfterStep, WindowMaker, etc.).\n"
+"\n"
+"Vi verrà mostrata una lista dei parametri da configurare in modo da avere\n"
+"la miglior visualizzazione possibile:\n"
+"\n"
+"Scheda grafica\n"
+"\n"
+" Il programma di installazione provvederà a identificare e configurare\n"
+"automaticamente la scheda grafica installata sul computer. In caso\n"
+"contrario, potete scegliere da questo elenco la scheda che è effettivamente\n"
+"installata.\n"
+"\n"
+" Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Il programma di installazione in genere identifica e configura\n"
+"automaticamente il monitor connesso al computer. Se così non fosse, anche\n"
+"in questo caso potete scegliere da una lista il tipo di monitor in vostro\n"
+"possesso.\n"
+"\n"
+"\n"
+"\n"
+"Risoluzione\n"
+"\n"
+" Qui potete scegliere risoluzione e profondità di colore tra quelle\n"
+"disponibili per il vostro hardware. Scegliete le impostazioni che meglio si\n"
+"adattano alle vostre necessità (potrete cambiare la configurazione anche\n"
+"dopo l'installazione, comunque). All'interno della figura del monitor è\n"
+"rappresentato un esempio della configurazione selezionata.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Questa voce potrebbe non comparire, con alcuni tipi di hardware.\n"
+"\n"
+" Il sistema tenterà di aprire uno schermo grafico alla risoluzione\n"
+"specificata. Se potete vedere il messaggio durante il test e rispondete\n"
+"\"%s\", allora DrakX passerà alla fase successiva. Se non potete vedere il\n"
+"messaggio, significa che la configurazione ottenuta con l'identificazione\n"
+"automatica non è corretta in qualche punto: il test terminerà\n"
+"automaticamente dopo 12 secondi, e vi riporterà al menu. Cambiate le\n"
+"impostazioni fino a ottenere una visualizzazione grafica corretta.\n"
+"\n"
+"\n"
+"\n"
+"Opzioni\n"
+"\n"
+" Qui potete scegliere se avviare automaticamente l'interfaccia grafica\n"
+"subito dopo l'avvio del sistema. Ovviamente è opportuno rispondere \"%s\"\n"
+"nel caso in cui la macchina debba funzionare da server, oppure se non siete\n"
+"riusciti a configurare correttamente il server grafico."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Il programma di installazione di solito identifica e configura\n"
+"automaticamente il monitor connesso al tuo computer. Se fallisce,\n"
+"puoi scegliere da questa lista il tipo di monitor che hai effettivamente."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Risoluzione\n"
+"\n"
+" Qui puoi scegliere risoluzione e profondità di colore tra quelle\n"
+"disponibili per il tuo hardware. Scegli le impostazioni più adatte\n"
+"alle tue esigenze (potrai sempre cambiare la configurazione anche\n"
+"ad installazione finita). Sul monitor è visibile un'immagine di\n"
+"anteprima della configurazione selezionata."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opzioni\n"
+"\n"
+" Qui potete scegliere se avviare automaticamente l'interfaccia grafica\n"
+"subito dopo l'avvio del sistema. Ovviamente è opportuno rispondere \"%s\"\n"
+"nel caso in cui la macchina debba funzionare da server, oppure se non siete\n"
+"riusciti a configurare correttamente il server grafico."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"A questo punto dovete scegliere in quali punti del vostro disco rigido\n"
+"installare il sistema operativo Mageia. Se il disco è vuoto, o se\n"
+"tutto lo spazio disponibile è occupato da un altro sistema operativo già\n"
+"installato, allora dovrete creare o modificare le partizioni. In breve,\n"
+"partizionare un disco rigido consiste nel suddividerlo logicamente in più\n"
+"zone in maniera da creare lo spazio necessario all'installazione di\n"
+"Mageia.\n"
+"\n"
+"Dato che gli effetti del partizionamento sono di solito irreversibili, e\n"
+"possono causare la perdita di dati, questa operazione può intimidire e\n"
+"rivelarsi stressante per un utente inesperto. Per fortuna DrakX mette a\n"
+"vostra disposizione un assistente che semplifica questa procedura. Prima di\n"
+"cominciare leggete attentamente questa sezione e, soprattutto, fate le cose\n"
+"con calma.\n"
+"\n"
+"In base alla configurazione del vostro disco rigido, saranno disponibili\n"
+"diverse opzioni:\n"
+"\n"
+" * \"%s\": questa opzione causerà un partizionamento automatico dello\n"
+"spazio libero all'interno del vostro disco rigido (o dei dischi, se ne\n"
+"avete più di uno). Non vi verrà posta nessun'altra domanda.\n"
+"\n"
+" * \"%s\": l'assistente ha trovato una o più partizioni Linux già presenti\n"
+"sul vostro disco rigido. Scegliete questa opzione se desiderate usarle. Vi\n"
+"verrà chiesto di scegliere il punto di mount associato a ciascuna\n"
+"partizione: come opzione predefinita verranno selezionati i punti di mount\n"
+"precedenti e, in genere, è buona norma non modificarli.\n"
+"\n"
+" * \"%s\": se Microsoft Windows è installato sul vostro disco rigido e\n"
+"occupa tutto lo spazio disponibile, dovrete creare spazio libero per\n"
+"GNU/Linux. Per farlo potete ridimensionare la partizione FAT o NTFS su cui\n"
+"è installato Windows, oppure cancellare completamente la partizione e tutti\n"
+"i dati in essa contenuti (ricorrendo all'opzione \"Cancella l'intero\n"
+"disco\"). Il ridimensionamento può essere effettuato evitando la perdita di\n"
+"dati, a patto che prima di procedere la partizione Windows sia stata\n"
+"deframmentata. Vi consigliamo caldamente di fare comunque una copia di\n"
+"sicurezza dei vostri dati. Questa è la soluzione consigliata se desiderate\n"
+"usare sia Mageia che Microsoft Windows sullo stesso computer.\n"
+"\n"
+" Prima di scegliere questa opzione, tenete presente che le dimensioni\n"
+"della partizione su cui risiede Windows saranno ridotte rispetto a quelle\n"
+"iniziali. Ciò significa che avrete meno spazio libero su Windows per\n"
+"archiviare i vostri dati o installare nuovo software.\n"
+"\n"
+" * \"%s\": se desiderate cancellare tutti i dati e tutte le partizioni\n"
+"presenti sul vostro disco rigido e rimpiazzarli con il vostro nuovo sistema\n"
+"Mageia, potete selezionare questa opzione. Fate molta attenzione,\n"
+"perché dopo aver dato conferma non potrete più tornare indietro.\n"
+"\n"
+" !! Se scegliete questa opzione tutti i dati sul vostro disco saranno\n"
+"cancellati. !!\n"
+"\n"
+" * \"%s\": questa opzione compare quando il disco rigido è interamente\n"
+"occupato da Windows. Se scegliete questa opzione tutto quello che si trova\n"
+"sul disco verrà cancellato e potrete ricominciare da capo, creando le\n"
+"partizioni come se fosse la prima volta.\n"
+"\n"
+" !! Se scegliete questa opzione tutti i dati sul vostro disco saranno\n"
+"cancellati. !!\n"
+"\n"
+" * \"%s\": se volete partizionare manualmente il vostro disco rigido potete\n"
+"scegliere questa opzione. Fate attenzione: è una opzione potente, ma molto\n"
+"pericolosa, e potreste facilmente causare la perdita di tutti i vostri\n"
+"dati. Pertanto la suggeriamo soltanto nel caso abbiate già fatto qualcosa\n"
+"di simile in precedenza e abbiate una certa esperienza. Per ulteriori\n"
+"informazioni riguardo il funzionamento del programma DiskDrake, consultate\n"
+"la sezione \"Gestione delle partizioni\" della \"Guida introduttiva\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usa partizioni esistenti"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Cancella l'intero disco"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ecco fatto: l'installazione è terminata, e il vostro sistema GNU/Linux è\n"
+"pronto per essere usato. Dovete soltanto cliccare sul pulsante \"%s\" per\n"
+"riavviare il sistema. Non dimenticate di rimuovere il disco di\n"
+"installazione (CD-ROM o floppy). La prima cosa che vedrete, non appena il\n"
+"computer avrà terminato di effettuare i test relativi all'avvio, è il menu\n"
+"del \"bootloader\", che vi permetterà di scegliere il sistema operativo da\n"
+"avviare.\n"
+"\n"
+"Cliccando sul pulsante \"%s\" compariranno altri due pulsanti:\n"
+"\n"
+" * \"%s\": per creare un floppy di installazione che permette di eseguire\n"
+"automaticamente un'installazione completa, del tutto simile a quella che\n"
+"avete appena finito di configurare, senza che sia necessario l'intervento\n"
+"di un operatore.\n"
+"\n"
+" Si noti che, dopo aver cliccato sul pulsante, saranno disponibili due\n"
+"opzioni diverse:\n"
+"\n"
+" * \"%s\": questa è un'installazione automatizzata solo in parte, in\n"
+"quanto la fase di partizionamento del disco (e solo quella) resta\n"
+"interattiva.\n"
+"\n"
+" * \"%s\": l'installazione è completamente automatizzata: il disco\n"
+"rigido viene sovrascritto per intero, tutti i dati che contiene andranno\n"
+"persi.\n"
+"\n"
+" Questa caratteristica è molto utile quando si deve installare il sistema\n"
+"su un gran numero di macchine dalle caratteristiche simili. Si veda la\n"
+"sezione Installazione automatica sul nostro sito web per ulteriori\n"
+"informazioni.\n"
+"\n"
+" * \"%s\"(*): salva la selezione dei pacchetti effettuata durante\n"
+"l'installazione. Al momento di effettuare un'altra installazione potrete\n"
+"inserire il dischetto nel lettore e installare il sistema richiamando la\n"
+"schermata di aiuto (premendo [F1]) e digitando >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Sarà necessario un dischetto formattato con il filesystem FAT; per\n"
+"crearne uno con GNU/Linux digitate \"mformat a:\", o \"fdformat /dev/fd0\"\n"
+"seguito da \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Crea il floppy di installazione automatica"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se avete scelto di riutilizzare una o più partizioni GNU/Linux\n"
+"preesistenti, potreste volerne formattare qualcuna per cancellare i dati\n"
+"contenuti. In tal caso, selezionate anche quelle partizioni.\n"
+"\n"
+"Tenete presente che non è necessario formattare tutte le partizioni\n"
+"preesistenti. La formattazione è necessaria per le partizioni che\n"
+"contengono il sistema operativo (come \"/\", \"/usr\" o \"/var\"), ma\n"
+"potete evitare di formattare quelle che contengono dati che desiderate\n"
+"conservare (tipicamente \"/home\").\n"
+"\n"
+"Fate molta attenzione nella scelta delle partizioni: dopo la formattazione\n"
+"tutti i dati in esse contenuti saranno cancellati e non potrete più\n"
+"recuperarli.\n"
+"\n"
+"Cliccate su \"%s\" quando siete pronti ad avviare la formattazione.\n"
+"\n"
+"Cliccate su \"%s\" se desiderate installare il vostro nuovo sistema\n"
+"operativo Mageia su partizioni diverse da quelle selezionate.\n"
+"\n"
+"Cliccate su \"%s\" se desiderate selezionare alcune delle partizioni\n"
+"affinché venga controllata la presenza di eventuali blocchi danneggiati su\n"
+"di esse."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"È molto probabile che, al momento in cui installate Mageia, alcuni\n"
+"pacchetti siano stati aggiornati rispetto alla versione iniziale;\n"
+"potrebbero essere stati corretti degli errori, o risolti eventuali problemi\n"
+"relativi alla sicurezza. Per permettervi di beneficiare di questi\n"
+"aggiornamenti vi verrà proposto di scaricare la nuova versione dei\n"
+"pacchetti usando Internet. Scegliete \"%s\" se disponete di una connessione\n"
+"a Internet funzionante, oppure \"%s\" se preferite installare i pacchetti\n"
+"aggiornati in un secondo momento.\n"
+"\n"
+"Se scegliete \"%s\" comparirà un elenco di siti da cui poter scaricare i\n"
+"pacchetti aggiornati; dovreste scegliere il sito a voi più vicino.\n"
+"Comparirà quindi un elenco gerarchico grazie al quale potrete selezionare i\n"
+"pacchetti da aggiornare: controllate le vostre scelte e cliccate su \"%s\"\n"
+"per scaricare e installare i pacchetti selezionati, o su \"%s\" per\n"
+"annullare l'operazione."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"A questo punto, DrakX vi permette di scegliere il livello di sicurezza da\n"
+"impostare sul sistema. Come regola generale, quanto più la macchina sarà\n"
+"esposta a Internet e quanto più sono importanti i dati che dovrà contenere,\n"
+"tanto più alto dovrebbe essere il livello di sicurezza. Tenete presente,\n"
+"tuttavia, che a un livello di sicurezza più alto corrisponde in genere una\n"
+"minore facilità d'uso.\n"
+"\n"
+"Se non sapete quale scelta fare, utilizzate l'impostazione predefinita.\n"
+"Potrete comunque cambiare in seguito il livello di sicurezza usando\n"
+"draksec, uno strumento del Mageia Control Center.\n"
+"\n"
+"Nel campo \"%s\" inserite l'indirizzo email dell'utente che sarà\n"
+"responsabile per la sicurezza: tutti i messaggi relativi alla sicurezza\n"
+"verranno inviati a lui."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Amministratore per la sicurezza"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"A questo punto, dovete decidere quali partizioni devono essere usate per\n"
+"l'installazione del vostro sistema Mageia. Se sono già state\n"
+"definite delle partizioni, grazie a una precedente installazione di\n"
+"GNU/Linux o usando un altro programma di partizionamento, potete utilizzare\n"
+"quelle. In caso contrario, sarà necessario creare o modificare le\n"
+"partizioni del disco rigido.\n"
+"\n"
+"Per creare delle partizioni dovete, per prima cosa, selezionare un disco\n"
+"rigido. Potete scegliere il disco da partizionare cliccando su ''hda'' per\n"
+"il primo disco IDE, ''hdb'' per il secondo, ''sda'' per il primo disco\n"
+"SCSI, e così via.\n"
+"\n"
+"Per partizionare il disco selezionato potete scegliere fra le seguenti\n"
+"opzioni:\n"
+"\n"
+" * \"%s\": questa opzione cancella tutte le partizioni presenti sul disco\n"
+"selezionato.\n"
+"\n"
+" * \"%s\": vi permette di creare automaticamente partizioni ext4 e di swap\n"
+"nello spazio libero presente sul vostro disco rigido.\n"
+"\n"
+"\"%s\": permette di accedere a ulteriori funzionalità:\n"
+"\n"
+" * \"%s\": salva la tabella delle partizioni su un floppy, in modo da\n"
+"poterla recuperare in un secondo momento, in caso di problemi. Vi\n"
+"raccomandiamo caldamente di effettuare questa operazione.\n"
+"\n"
+" * \"%s\": permette di ripristinare una tabella delle partizioni\n"
+"precedentemente salvata su floppy disk.\n"
+"\n"
+" * \"%s\": se la vostra tabella delle partizioni è danneggiata potete\n"
+"provare a recuperarla grazie a questa opzione. Procedete con attenzione, e\n"
+"ricordate che non sempre funziona.\n"
+"\n"
+" * \"%s\": annulla tutte le modifiche e ricarica la tabella delle\n"
+"partizioni originaria dal disco.\n"
+"\n"
+" * \"%s\": se disabilitate questa opzione gli utenti saranno costretti a\n"
+"montare e smontare manualmente i filesystem dei dispositivi rimovibili,\n"
+"come floppy e CD-ROM.\n"
+"\n"
+" * \"%s\": usate questa opzione per effettuare il partizionamento del disco\n"
+"con l'aiuto di un assistente. È consigliabile farlo se non avete una buona\n"
+"conoscenza delle procedure di partizionamento.\n"
+"\n"
+" * \"%s\": usate questo pulsante per annullare le modifiche apportate, una\n"
+"per volta.\n"
+"\n"
+" * \"%s\": permette di effettuare ulteriori azioni sulle partizioni (scelta\n"
+"del tipo, opzioni, formattazione) e offre più informazioni.\n"
+"\n"
+" * \"%s\": quando avrete finito il partizionamento cliccate qui, e le\n"
+"vostre modifiche verranno salvate sul disco.\n"
+"\n"
+"Durante la modifica delle dimensioni di una partizione, potete utilizzare i\n"
+"tasti cursore della tastiera per impostare con precisione i valori\n"
+"desiderati.\n"
+"\n"
+"Si noti che è possibile accedere a tutti i comandi tramite la tastiera: per\n"
+"spostarvi fra le partizioni usate i tasti [Tab] e i tasti cursore [Su/Giù].\n"
+"\n"
+"Dopo aver selezionato una partizione potete usare:\n"
+"\n"
+" * Ctrl-c per creare una nuova partizione (se avete selezionato uno spazio\n"
+"vuoto);\n"
+"\n"
+" * Ctrl-d per cancellare una partizione;\n"
+"\n"
+" * Ctrl-m per impostare il punto di mount.\n"
+"\n"
+"Per ulteriori informazioni in merito ai diversi tipi di filesystem\n"
+"disponibili, consultate il capitolo ext2FS del ''Manuale di riferimento''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Mount automatico di supporti rimovibili"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Scambio tra modo normale e esperto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sul vostro disco rigido è stata individuata più di una partizione\n"
+"Microsoft. Scegliete quella che deve essere ridimensionata in modo da poter\n"
+"installare il vostro nuovo sistema operativo Mageia.\n"
+"\n"
+"Ogni partizione è elencata in questo modo: \"nome Linux\", \"nome Windows\"\n"
+"\"Dimensione\".\n"
+"\n"
+"Il \"nome Linux\" è composto da: \"tipo di disco rigido\", \"numero del\n"
+"disco\", \"numero della partizione\" (ad esempio, \"hda1\").\n"
+"\n"
+"Il \"tipo di disco rigido\" è \"hd\" se il disco è di tipo IDE, e \"sd\"\n"
+"se, invece, è un disco SCSI.\n"
+"\n"
+"Il \"numero del disco\" è sempre una lettera che segue \"hd\" o \"sd\". Per\n"
+"i dischi IDE:\n"
+"\n"
+" * \"a\" significa \"disco master sul canale IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco slave sul canale IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco master sul canale IDE secondario\";\n"
+"\n"
+" * \"d\" significa \"disco slave sul canale IDE secondario\".\n"
+"\n"
+"Per i dischi di tipo SCSI, invece, una \"a\" rappresenta \"l'ID SCSI più\n"
+"basso\", una \"b\" indica \"il secondo ID SCSI a partire dal basso\", etc.\n"
+"\n"
+"Il \"nome Windows\" è la lettera con cui viene indicato il vostro disco\n"
+"rigido su Windows (il primo disco o partizione è denominato \"C:\")."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": controllate la selezione attuale della nazione. Se non corrisponde\n"
+"a quella in cui vivete, cliccate sul pulsante \"%s\" e indicate quella\n"
+"corretta. Se la vostra nazione non è nella prima lista che verrà mostrata,\n"
+"cliccate su \"%s\" per avere la lista completa."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Questo passo viene eseguito soltanto se sulla vostra macchina viene trovata\n"
+"una partizione GNU/Linux preesistente.\n"
+"\n"
+"A questo punto DrakX ha bisogno di sapere se intendete effettuare una nuova\n"
+"installazione o un aggiornamento di un sistema Mageia esistente:\n"
+"\n"
+" * \"%s\": nella maggior parte dei casi cancella completamente il vecchio\n"
+"sistema. Tuttavia, in base allo schema di partizionamento usato, potete\n"
+"evitare di scrivere sui vostri dati attuali (in particolare le directory\n"
+"\"home\"). Dovreste usare questa opzione se volete modificare le partizioni\n"
+"dei vostri dischi o cambiarne i filesystem.\n"
+"\n"
+" * \"%s\": questo tipo di installazione vi permette di effettuare un\n"
+"semplice aggiornamento dei pacchetti già installati sul vostro sistema\n"
+"Mageia. Tutte le partizioni attuali del disco rigido vengono\n"
+"conservate, come pure le configurazioni e i dati individuali degli utenti.\n"
+"La maggior parte degli altri passi relativi alla configurazione restano\n"
+"disponibili, come per una installazione normale.\n"
+"\n"
+"L'opzione \"Aggiornamento\" non dovrebbe comportare difficoltà per sistemi\n"
+"Mageia a partire dalla versione \"8.1\", mentre non è consigliabile\n"
+"utilizzarla per aggiornare versioni di Mageia precedenti la \"8.1\"."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX selezionerà automaticamente una particolare configurazione della\n"
+"tastiera in base alla lingua che avete scelto al punto . Controllate che la\n"
+"selezione sia quella giusta per voi, e in caso contrario modificatela.\n"
+"\n"
+"Inoltre, potreste anche avere una tastiera che non corrisponde esattamente\n"
+"alla vostra lingua: se siete un francese che parla italiano, ad esempio,\n"
+"potreste avere una tastiera francese. Oppure, se siete italiani ma vivete\n"
+"nel Québec, potreste trovarvi nella stessa situazione, con una tastiera non\n"
+"corrispondente alla vostra lingua nativa. In qualsiasi caso, questo passo\n"
+"dell'installazione vi permette di selezionare una tastiera appropriata\n"
+"dalla lista.\n"
+"\n"
+"Cliccate sul pulsante \"%s\" per vedere l'elenco completo delle tastiere\n"
+"supportate.\n"
+"\n"
+"Se scegliete una mappa di tastiera basata su di un alfabeto non latino,\n"
+"nella finestra di dialogo successiva vi verrà chiesto di scegliere una\n"
+"scorciatoia da tastiera che vi permetterà in seguito di passare dalla mappa\n"
+"latina a quella non latina e viceversa."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Il primo passo è scegliere la lingua che preferite usare.\n"
+"\n"
+"La lingua che sceglierete a questo punto sarà utilizzata per la procedura\n"
+"di installazione, per la documentazione e per il sistema in generale. Per\n"
+"prima cosa selezionate l'area geografica in cui vivete, e poi la vostra\n"
+"lingua.\n"
+"\n"
+"Cliccando sul pulsante \"%s\" potrete scegliere altre lingue da installare\n"
+"sul computer. La selezione di altre lingue comporta l'installazione dei\n"
+"file relativi alla documentazione e alle applicazioni per ciascuna di esse.\n"
+"Ad esempio, se il vostro computer dovrà essere usato anche da persone di\n"
+"madre lingua spagnola, potete scegliere l'italiano come lingua predefinita\n"
+"nella struttura ad albero e, nella sezione \"Avanzato\", selezionare anche\n"
+"\"%s\".\n"
+"\n"
+"Riguardo al supporto UTF-8 (Unicode): Unicode è un nuovo standard per la\n"
+"codifica dei caratteri, progettato per supportare tutte le lingue\n"
+"esistenti. Il suo supporto su GNU/Linux è ancora in fase di sviluppo, e per\n"
+"questo motivo la sua attivazione su Mageia dipenderà dalle scelte\n"
+"effettuate dall'utente:\n"
+"\n"
+" * se scegliete lingue fortemente legate alle vecchie codifiche (lingue del\n"
+"gruppo latin1, russo, giapponese, cinese, coreano, tailandese, greco, turco\n"
+"e la maggior parte delle lingue iso-8859-2), come impostazione predefinita\n"
+"sarà usata la vecchia codifica;\n"
+"\n"
+" * per le altre lingue sarà usato Unicode come impostazione predefinita;\n"
+"\n"
+" * se vengono installate due o più lingue, e le lingue scelte non\n"
+"utilizzano la stessa codifica, allora per l'intero sistema sarà usato\n"
+"Unicode;\n"
+"\n"
+" * infine, l'uso di Unicode per l'intero sistema può anche essere imposto\n"
+"dall'utente tramite l'opzione \"%s\", indipendentemente dalle lingue\n"
+"selezionate.\n"
+"\n"
+"Va sottolineato che non siete limitati alla scelta di una sola lingua\n"
+"supplementare: potete sceglierne quante volete, o persino installarle tutte\n"
+"grazie all'opzione \"%s\". La scelta del supporto per una particolare\n"
+"lingua implica l'installazione di traduzioni, caratteri, strumenti di\n"
+"controllo ortografico e tutto ciò che riguarda quella lingua.\n"
+"\n"
+"Per passare da una lingua all'altra fra quelle installate potete utilizzare\n"
+"il comando \"localedrake\": usandolo come \"root\" cambierete la\n"
+"lingua utilizzata in tutto il sistema, mentre come utente normale\n"
+"cambierete solamente la lingua usata da quell'utente."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spagnolo"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"In genere DrakX individua automaticamente il numero di pulsanti presenti\n"
+"sul vostro mouse; in caso contrario, supporrà che si tratti di un mouse a\n"
+"due tasti, e lo imposterà in modo da simulare il terzo tasto. Con un mouse\n"
+"a due tasti è infatti possibile simulare la pressione del terzo tasto\n"
+"premendo contemporaneamente il tasto sinistro e quello destro. DrakX,\n"
+"inoltre, distingue automaticamente tra mouse con interfaccia PS/2, seriale\n"
+"o USB.\n"
+"\n"
+"Se avete un mouse a tre tasti ma senza rotellina, potete scegliere un mouse\n"
+"\"%s\": DrakX, in tal caso, configurerà il mouse in modo che possiate\n"
+"simulare la rotellina, premendo il tasto centrale e spostando il mouse\n"
+"verso l'alto o verso il basso.\n"
+"\n"
+"Se per qualche ragione volete specificare un diverso tipo di mouse,\n"
+"scegliete il modello desiderato dall'elenco che vi viene proposto.\n"
+"\n"
+"Potete selezionare la voce \"%s\" per scegliere un tipo di mouse\n"
+"\"generico\" che vi permetterà di utilizzare quasi tutti i mouse esistenti.\n"
+"\n"
+"Se scegliete un mouse diverso dal tipo suggerito, vi verrà mostrata una\n"
+"finestra dove potrete provarlo. Provate sia i pulsanti, sia l'eventuale\n"
+"rotellina, per controllare che la configurazione sia corretta e che il\n"
+"mouse funzioni a dovere. Se il mouse non dovesse funzionare correttamente,\n"
+"premete la barra spaziatrice o il tasto [Invio] per uscire dal test e\n"
+"tornare all'elenco dei mouse.\n"
+"\n"
+"Talvolta i mouse con rotellina centrale potrebbero non essere individuati\n"
+"automaticamente; in tal caso, dovrete selezionare personalmente dall'elenco\n"
+"il modello giusto. Assicuratevi di sceglierne uno corrispondente alla porta\n"
+"alla quale è collegato il vostro mouse. Dopo aver selezionato un modello\n"
+"premete il pulsante \"%s\", e comparirà l'immagine di un mouse. Muovete la\n"
+"rotellina per controllare che funzioni a dovere: mentre la muovete, vedrete\n"
+"muoversi quella sullo schermo; poi provate i pulsanti e controllate che il\n"
+"puntatore si muova correttamente sullo schermo quando muovete il mouse."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "con emulazione rotellina"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universale | Qualsiasi mouse PS/2 o USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Scegli la porta appropriata. Per esempio, la porta \"COM1\" di Windows\n"
+"corriponde alla \"ttyS0\" di GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un bootloader è un piccolo programma che il computer esegue automaticamente\n"
+"nella fase di avvio. Ha il compito di far partire tutto il sistema.\n"
+"L'installazione del bootloader è, in genere, del tutto automatica. DrakX,\n"
+"infatti, analizza il settore di avvio del disco, e si comporta in base a\n"
+"quello che vi trova:\n"
+"\n"
+" * se trova un settore di avvio di Windows, lo rimpiazza con uno di GRUB o\n"
+"LILO, in modo da permettervi di avviare GNU/Linux o un qualsiasi altro\n"
+"sistema operativo installato sul computer;\n"
+"\n"
+" * se trova un settore di avvio di GRUB o LILO, lo sostituisce con uno\n"
+"nuovo.\n"
+"\n"
+"Se non è in grado di fare la scelta autonomamente, DrakX vi mostrerà alcune\n"
+"opzioni per l'installazione del bootloader. La soluzione più comune è\n"
+"quella di installarlo nel \"%s\". Selezionando \"%s\" non sarà installato\n"
+"alcun bootloader, ma è una possibilità da usare solo se siete veramente\n"
+"consapevoli di ciò che essa comporta."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Qui potrete scegliere il sistema di stampa da usare con il vostro computer;\n"
+"altri sistemi operativi ve ne offrono uno, ma Mageia ve ne offre ben\n"
+"due. Ciascuno di essi è adatto a un particolare tipo di configurazione.\n"
+"\n"
+" * \"%s\" -- che sta per \"\"print, do not queue\"\" (\"stampa, non mettere\n"
+"in coda\"), è la scelta migliore se avete una stampante collegata\n"
+"direttamente al computer, volete essere in grado di uscire rapidamente da\n"
+"eventuali situazioni di stallo della stampante, e non disponete di\n"
+"stampanti connesse via rete (\"%s\" può gestire solo configurazioni di rete\n"
+"molto semplici ed è comunque piuttosto lento in caso di stampa in rete).\n"
+"Scegliete \"pdq\" se questa è la vostra prima esperienza con GNU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\" (\"Sistema di stampa unificato\n"
+"per Unix\"), offre risultati eccellenti per stampanti sia locali, sia che\n"
+"si trovino sull'altra faccia del pianeta. È semplice da configurare e può\n"
+"agire come server o client per il vecchio sistema di stampa \"lpd\", quindi\n"
+"è compatibile con i sistemi operativi più vecchi che potrebbero avere\n"
+"ancora bisogno di servizi di stampa. Nonostante le grandi potenzialità, la\n"
+"sua configurazione di base è semplice quasi quanto quella di \"pdq\". Se\n"
+"avete bisogno di emulare un server \"lpd\" ricordatevi di attivare il\n"
+"demone \"cups-lpd\". \"%s\" dispone di interfacce grafiche per la stampa,\n"
+"per la configurazione delle opzioni della stampante e per la sua gestione.\n"
+"\n"
+"Se fate una scelta adesso e successivamente cambiate idea, potrete sempre\n"
+"scegliere un diverso sistema di stampa avviando PrinterDrake dal\n"
+"Mageia Control Center e cliccando sul pulsante \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Esperto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Ora DrakX procederà con il rilevamento di tutti i dischi rigidi e altri\n"
+"dispositivi IDE presenti sul tuo computer, e cercherà anche di stabilire\n"
+"se sul tuo sistema sono presenti una o più schede SCSI di tipo PCI. Se\n"
+"verrà individuato un dispositivo di questo tipo, DrakX installerà\n"
+"automaticamente il driver appropriato.\n"
+"\n"
+"Dato che il riconoscimento automatico non è un'operazione a prova d'errore,\n"
+"DrakX potrebbe non riuscire a individuare i tuoi dischi rigidi. In tal\n"
+"caso dovrai inserire manualmente i dati relativi al tuo hardware.\n"
+"\n"
+"Nel caso tu debba specificare manualmente il tipo di scheda in\n"
+"tuo possesso, DrakX ti chiederà se intendi indicare il valore di\n"
+"alcuni parametri da usare con essa. Ti consigliamo di permettere a DrakX di\n"
+"esaminare l'hardware per stabilire quali parametri specifici dovranno "
+"essere\n"
+"impostati per inizializzare quella particolare scheda ; questo metodo in "
+"genere\n"
+"permette di ottenere buoni risultati.\n"
+"\n"
+"Se DrakX non riesce a stabilire quali sono i parametri da passare alla\n"
+"scheda, dovrai specificarli manualmente."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se sul vostro sistema è stata individuata una scheda audio, verrà\n"
+"mostrata qui. Se notate che la scheda audio mostrata non è quella\n"
+"effettivamente presente sul vostro sistema, potete cliccare sul pulsante e\n"
+"scegliere un driver diverso."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"A questo punto DrakX vi mostrerà un riassunto di varie informazioni che ha\n"
+"raccolto riguardo il vostro sistema. In base all'hardware installato,\n"
+"potrebbero essere visualizzate tutte le voci che descriveremo tra poco, o\n"
+"solo alcune di esse. Ogni voce è rappresentata dall'elemento che può essere\n"
+"configurato, con accanto una breve sintesi della configurazione attuale;\n"
+"cliccate sul pulsante \"%s\" corrispondente per cambiarla.\n"
+"\n"
+" * \"%s\": controllate l'attuale impostazione della tastiera, e cambiatela\n"
+"se necessario.\n"
+"\n"
+" * \"%s\": controllate la selezione attuale della nazione. Se non\n"
+"corrisponde a quella in cui vivete, cliccate sul pulsante \"%s\" e indicate\n"
+"quella corretta. Se la vostra nazione non è nella prima lista che verrà\n"
+"mostrata, cliccate su \"%s\" per avere la lista completa.\n"
+"\n"
+" * \"%s\": il fuso orario è inizialmente dedotto in automatico dalla\n"
+"nazione che avete scelto. Anche in questo caso, se l'impostazione non fosse\n"
+"corretta potete usare il pulsante \"%s\".\n"
+"\n"
+" * \"%s\": controllate la configurazione attuale del mouse, e cliccate sul\n"
+"pulsante per cambiarla, se necessario.\n"
+"\n"
+" * \"%s\": cliccando sul pulsante \"%s\" sarà avviato l'assistente di\n"
+"configurazione della stampante. Consultate il relativo capitolo della\n"
+"\"Guida introduttiva\" per avere maggiori informazioni su come configurare\n"
+"una nuova stampante. L'interfaccia descritta in tale sede è simile a quella\n"
+"utilizzata nel corso dell'installazione.\n"
+"\n"
+" * \"%s\": se sul vostro sistema è stata individuata una scheda audio,\n"
+"verrà mostrata qui. Se notate che la scheda audio mostrata non è quella\n"
+"effettivamente presente sul vostro sistema, potete cliccare sul pulsante e\n"
+"scegliere un driver diverso.\n"
+"\n"
+" * \"%s\": se sul vostro sistema è stata individuata una scheda TV, verrà\n"
+"mostrata qui. Se disponete di una scheda TV che non è stata individuata,\n"
+"cliccate sul pulsante \"%s\" per cercare di configurarla a mano.\n"
+"\n"
+" * \"%s\": se avete l'impressione che la configurazione non sia corretta,\n"
+"potete cliccare sul pulsante \"%s\" per cambiare i parametri relativi alla\n"
+"scheda.\n"
+"\n"
+" * \"%s\": come opzione predefinita, DrakX configura l'interfaccia grafica\n"
+"impostando una risoluzione di \"800x600\" o \"1024x768\". Se questa scelta\n"
+"non vi soddisfa, cliccate su \"%s\" per riconfigurare la vostra interfaccia\n"
+"grafica.\n"
+"\n"
+" * \"%s\": se desiderate configurare l'accesso a Internet o a una rete\n"
+"locale potete farlo adesso. Consultate la documentazione stampata, oppure\n"
+"utilizzate il Mageia Control Center una volta terminata\n"
+"l'installazione per avere a vostra disposizione un aiuto in linea completo.\n"
+"\n"
+" * \"%s\": vi permette di configurare gli indirizzi di proxy HTTP e FTP,\n"
+"nel caso la macchina sulla quale state effettuando l'installazione dipenda\n"
+"da un server proxy.\n"
+"\n"
+" * \"%s\": questa voce vi permette di modificare il livello di sicurezza\n"
+"configurato in un passo precedente ().\n"
+"\n"
+" * \"%s\": se avete in mente di connettere il vostro computer a Internet, è\n"
+"una buona idea proteggerlo contro eventuali intrusioni configurando un\n"
+"firewall. Consultate la relativa sezione della \"Guida introduttiva\" per\n"
+"ulteriori informazioni sulla configurazione del firewall.\n"
+"\n"
+" * \"%s\": cliccate su questo pulsante per cambiare la configurazione del\n"
+"bootloader. Questa opzione dovrebbe essere utilizzata solo dagli utenti più\n"
+"esperti. Consultate la documentazione stampata o l'aiuto in linea del\n"
+"Mageia Control Center riguardo la configurazione del bootloader.\n"
+"\n"
+" * \"%s\": qui potrete stabilire in dettaglio quali servizi saranno\n"
+"attivati sul vostro sistema. Se pensate di utilizzare il computer come\n"
+"server è senz'altro una buona idea controllare queste impostazioni."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Scheda ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Scheda ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaccia grafica"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Scegli il disco rigido che vuoi cancellare per poter preparare le nuove\n"
+"partizioni per Mageia. Attenzione! tutti i dati sul disco andranno\n"
+"perduti e non saranno più recuperabili!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Clicca sul pulsante \"%s\" se vuoi cancellare tutte le partizioni e\n"
+"i dati presenti su questo disco rigido. Stai attento, dopo aver\n"
+"cliccato su \"%s\" non potrai più recuperare le partizioni e i dati\n"
+"presenti su questo disco, compresi eventuali dati di Windows.\n"
+"\n"
+"Clicca su \"%s\" per annullare questa operazione senza che venga\n"
+"perso nessun dato o partizione presente su questo disco rigido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Avanti ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Indietro"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": cliccando sul pulsante \"%s\" sarà avviato l'assistente di\n"
+#~ "configurazione della stampante. Consultate il relativo capitolo della\n"
+#~ "\"Guida introduttiva\" per avere maggiori informazioni su come "
+#~ "configurare\n"
+#~ "una nuova stampante. L'interfaccia descritta in tale sede è simile a "
+#~ "quella\n"
+#~ "utilizzata nel corso dell'installazione."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Questo è il punto più critico per la sicurezza del vostro sistema\n"
+#~ "GNU/Linux: state per decidere la password di \"root\". \"root\" è\n"
+#~ "l'amministratore del sistema, ed è l'unico utente autorizzato a compiere\n"
+#~ "aggiornamenti, aggiungere altri utenti, cambiare la configurazione "
+#~ "globale\n"
+#~ "del sistema, e così via. In breve, \"root\" può fare tutto ciò che "
+#~ "vuole!\n"
+#~ "Questo è il motivo per cui dovete scegliere una password che sia "
+#~ "difficile\n"
+#~ "da indovinare, e se ne avete scelta una troppo facile DrakX vi "
+#~ "avvertirà.\n"
+#~ "Potete anche scegliere di non digitare alcuna password, ma noi vi\n"
+#~ "consigliamo caldamente di farlo, poiché GNU/Linux è vulnerabile a errori "
+#~ "da\n"
+#~ "parte dell'utente esattamente come qualsiasi altro sistema operativo.\n"
+#~ "Quindi è molto importante che sia difficile assumere il ruolo di \"root"
+#~ "\",\n"
+#~ "potendo quest'ultimo scavalcare ogni limitazione e, magari\n"
+#~ "involontariamente, cancellare tutti i dati presenti sulle partizioni\n"
+#~ "accedendovi in maniera impropria.\n"
+#~ "\n"
+#~ "La password ideale è costituita da un insieme di almeno 8 caratteri\n"
+#~ "alfanumerici. Non appuntate mai da nessuna parte la password di \"root"
+#~ "\",\n"
+#~ "renderebbe troppo facile l'accesso al sistema da parte di estranei.\n"
+#~ "\n"
+#~ "Tuttavia, non scegliete una password troppo lunga o complicata, perché\n"
+#~ "dovete essere in grado di ricordarla senza troppo sforzo.\n"
+#~ "\n"
+#~ "La password non verrà mostrata mentre la digitate; quindi, per ridurre "
+#~ "il\n"
+#~ "rischio di un errore di battitura, è necessario che venga inserita due\n"
+#~ "volte. Se per caso però commettete lo stesso errore entrambe le volte,\n"
+#~ "questa password \"sbagliata\" sarà quella che verrà richiesta la prima\n"
+#~ "volta che vi connetterete al sistema come \"root\".\n"
+#~ "\n"
+#~ "Se volete che l'accesso al vostro computer sia controllato da un server "
+#~ "di\n"
+#~ "autenticazione, cliccate sul pulsante \"%s\".\n"
+#~ "\n"
+#~ "Se la vostra rete utilizza per l'autenticazione i servizi LDAP, NIS, o "
+#~ "il\n"
+#~ "PDC di un dominio Windows, selezionate il pulsante \"%s\". Se non\n"
+#~ "siete sicuri sulla scelta da fare, chiedete al vostro amministratore di\n"
+#~ "rete.\n"
+#~ "\n"
+#~ "Se per qualche motivo per voi fosse un problema dovervi ricordare una\n"
+#~ "password, se il vostro computer non sarà mai collegato a Internet, e se\n"
+#~ "avete piena fiducia nelle persone che lo useranno, allora potete "
+#~ "ricorrere\n"
+#~ "all'opzione \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "autenticazione"
diff --git a/perl-install/install/help/po/ja.po b/perl-install/install/help/po/ja.po
new file mode 100644
index 000000000..765b07786
--- /dev/null
+++ b/perl-install/install/help/po/ja.po
@@ -0,0 +1,1939 @@
+# translation of DrakX.po to Japanese
+# Drakbootdisk Japanese translation
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000.
+# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2003, 2004.
+# Yukiko Bando <ybando@k6.dion.ne.jp>, 2004-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-ja\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2007-03-03 08:00+0900\n"
+"Last-Translator: Yukiko Bando <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <cooker-i18n@mandrivalinux.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"å…ˆã«é€²ã‚€å‰ã«ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã‚’よããŠèª­ã¿ãã ã•ã„。ã“れ㯠Mageia\n"
+"全体ã«é©ç”¨ã•れã¾ã™ã€‚ã™ã¹ã¦ã®é …ç›®ã«åŒæ„ã™ã‚‹å ´åˆã¯ã€Œ%sã€ã‚’押ã—ã¦ãã ã•ã„。\n"
+"ãã†ã§ãªã„å ´åˆã¯ã€Œ%sã€ã‚’クリックã—ã¦ã‚³ãƒ³ãƒ”ュータをå†èµ·å‹•ã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux ã¯ãƒžãƒ«ãƒãƒ¦ãƒ¼ã‚¶ã‚·ã‚¹ãƒ†ãƒ ã§ã™ã€‚å„ユーザãŒç‹¬è‡ªã®è¨­å®šã‚’行ã†ã“ã¨ãŒ\n"
+"ã§ãã¾ã™ã€‚マルãƒãƒ¦ãƒ¼ã‚¶ã‚·ã‚¹ãƒ†ãƒ ã«ã¤ã„ã¦ã¯ Starter Guide ã‚’ãŠèª­ã¿ãã ã•ã„。\n"
+"個々ã®ãƒ¦ãƒ¼ã‚¶ã¯è‡ªåˆ†ã®ãƒ•ァイルã¨è‡ªåˆ†ã®è¨­å®šä»¥å¤–ã®ã‚‚ã®ã‚’変更ã™ã‚‹ã“ã¨ã¯ã§ã\n"
+"ã¾ã›ã‚“。\n"
+"システム全体ã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚ˆã†ãªå¤‰æ›´ã¯ root (システム管ç†è€…) ã«ã—ã‹ã§ã\n"
+"ã¾ã›ã‚“。少ãªãã¨ã‚‚一ã¤ã®ãƒ¦ãƒ¼ã‚¶ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã—ã¦ãã ã•ã„。日常ã®ä½œæ¥­ã¯\n"
+"ã™ã¹ã¦ã“ã®ãƒ¦ãƒ¼ã‚¶ã§è¡Œã£ã¦ãã ã•ã„。root ã§ä½œæ¥­ã™ã‚‹ã®ã¯ã¨ã¦ã‚‚ç°¡å˜ã§ã™ãŒã€\n"
+"éžå¸¸ã«å±é™ºã§ã™ã€‚ã¡ã‚‡ã£ã¨ã—ãŸé–“é•ã„ã§ã‚·ã‚¹ãƒ†ãƒ å…¨ä½“を壊ã—ã‹ã­ã¾ã›ã‚“。\n"
+"ユーザアカウントã§é–“é•ã„を犯ã—ãŸå ´åˆã¯ã€æœ€æ‚ªã§ã‚‚データを少ã—失ã†ç¨‹åº¦ã§ã€\n"
+"システム全体ã«ã¯å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。\n"
+"\n"
+"最åˆã®å…¥åŠ›æ¬„ã«ã‚ãªãŸã®åå‰ã‚’入れã¦ãã ã•ã„。ã“ã®æ¬„ã«å…¥åŠ›ã•ã‚ŒãŸæœ€åˆã®è¨€è‘‰ã¯\n"
+"「%sã€ã«ã‚³ãƒ”ーã•れã€ã“れãŒã‚·ã‚¹ãƒ†ãƒ ã«ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã¨ãã«å…¥åŠ›ã™ã‚‹ãƒ¦ãƒ¼ã‚¶åã«\n"
+"ãªã‚Šã¾ã™ã€‚ã“ã®ãƒ‡ãƒ•ォルトã®ãƒ¦ãƒ¼ã‚¶åã¯ä»–ã®åå‰ã«å¤‰æ›´ã—ã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。\n"
+"次ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ãƒ‘スワードã®è¨­å®šã§ã™ã€‚\n"
+"\n"
+"セキュリティã®è¦³ç‚¹ã‹ã‚‰ã„ãˆã°ã€ä¸€èˆ¬ãƒ¦ãƒ¼ã‚¶ (non-privileged user) ã®\n"
+"パスワード㯠root ã®ãƒ‘スワードã»ã©é‡è¦ã§ã¯ã‚りã¾ã›ã‚“。ã‹ã¨ã„ã£ã¦ç©ºç™½ã‚„\n"
+"極端ã«å˜ç´”ãªãƒ‘スワードã¯ã€ã‚ãªãŸã®å€‹äººãƒ•ァイルをå±é™ºã«ã•らã™ã“ã¨ã«ãªã‚Š\n"
+"ã¾ã™ã®ã§ã€ãªã„ãŒã—ã‚ã«ã—ãªã„ã§ãã ã•ã„。\n"
+"\n"
+"「%sã€ã‚’クリックã™ã‚‹ã¨ä»–ã®ãƒ¦ãƒ¼ã‚¶ã‚’追加ã§ãã¾ã™ã€‚ãŠå‹é”ã‚„ã”å®¶æ—ã®çš†ã•ã‚“ã«\n"
+"ãれãžã‚Œã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã—ã¦ãã ã•ã„。ユーザã®è¿½åŠ ãŒçµ‚了ã—ãŸã‚‰\n"
+"「%sã€ã‚’クリックã—ã¾ã™ã€‚\n"
+"\n"
+"「%sã€ãƒœã‚¿ãƒ³ã‚’押ã™ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãŒãƒ‡ãƒ•ォルトã§ä½¿ç”¨ã™ã‚‹ã‚·ã‚§ãƒ«ã‚’変更ã™ã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚(デフォルト㧠bash ã«è¨­å®šã•れã¦ã„ã¾ã™)\n"
+"\n"
+"ユーザã®è¿½åŠ ãŒå®Œäº†ã™ã‚‹ã¨ã€ä»Šåº¦ã¯ã‚³ãƒ³ãƒ”ュータを起動ã—ãŸã¨ãã«è‡ªå‹•çš„ã«\n"
+"ログインã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚’é¸ã¹ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã‚’使ã†å ´åˆ (ローカルãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£\n"
+"ã‚’ç‰¹ã«æ°—ã«ã—ãªã„å ´åˆ) ã¯ã€ãƒ¦ãƒ¼ã‚¶ã¨ãã®ãƒ¦ãƒ¼ã‚¶ãŒä½¿ã†ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãƒžãƒãƒ¼ã‚¸ãƒ£ã‚’\n"
+"é¸ã‚“ã§ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。\n"
+"ã“ã®æ©Ÿèƒ½ã‚’使ã‚ãªã„å ´åˆã¯ã€Œ%sã€ã®ãƒã‚§ãƒƒã‚¯ã‚’外ã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ã“ã®æ©Ÿèƒ½ã‚’使ã„ã¾ã™ã‹ï¼Ÿ"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–å†…ã§æ¤œå‡ºã—ãŸæ—¢å­˜ã® Linux パーティションã®ãƒªã‚¹ãƒˆã§ã™ã€‚\n"
+"ãŸã„ã¦ã„ã®å ´åˆã¯å¤‰æ›´ã›ãšã«ã“ã®ã¾ã¾ã«ã—ã¦ãŠãæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚\n"
+"変更を行ã†å ´åˆã¯ã€æœ€ä½Žã§ã‚‚ルート ( / ) パーティションを定義ã—ã¦ãã ã•ã„。\n"
+"å°ã•ã™ãŽã‚‹ãƒ‘ーティションã¯é¸ã°ãªã„ã§ãã ã•ã„。ソフトウェアをインストール\n"
+"ã™ã‚‹å®¹é‡ãŒè¶³ã‚Šãªããªã‚Šã¾ã™ã€‚個人ã®ãƒ‡ãƒ¼ã‚¿ã‚’独立ã—ãŸãƒ‘ーティションã«ç½®ã\n"
+"å ´åˆã¯ã€/home パーティションを作æˆã—ã¦ãã ã•ã„。\n"
+"\n"
+"ãれãžã‚Œã®ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã¯æ¬¡ã®ã‚ˆã†ã«è¡¨ç¤ºã•れã¾ã™: \"Name\", \"Capacity\"\n"
+"\n"
+"\"Name\" ã¯æ¬¡ã®è¦ç´ ã§æ§‹æˆã•れã¾ã™: ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–タイプ/ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–番å·/\n"
+"ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ç•ªå· (例: hda1)\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–タイプã¯ã€IDE ã‚’ãŠä½¿ã„ã®å ´åˆã¯ \"hd\"ã€SCSI ã‚’ãŠä½¿ã„ã®å ´åˆã¯\n"
+"\"sd\" ã¨è¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–番å·ã¯å¸¸ã« \"hd\" ã¾ãŸã¯ \"sd\" ã®å¾Œã®ä¸€æ–‡å­—ã§è¡¨ã•れã¾ã™ã€‚\n"
+"IDE ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®å ´åˆ:\n"
+"\n"
+" * \"a\" ã¯ãƒ—ライマリ IDE コントローラã®ãƒžã‚¹ã‚¿ãƒ¼ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"b\" ã¯ãƒ—ライマリ IDE コントローラã®ã‚¹ãƒ¬ãƒ¼ãƒ–ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"c\" ã¯ã‚»ã‚«ãƒ³ãƒ€ãƒª IDE コントローラã®ãƒžã‚¹ã‚¿ãƒ¼ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"d\" ã¯ã‚»ã‚«ãƒ³ãƒ€ãƒª IDE コントローラã®ã‚¹ãƒ¬ãƒ¼ãƒ–ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+"SCSI ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®å ´åˆã¯ã€\"a\" 㯠\"lowest SCSI ID\", \"b\" ã¯\n"
+"\"second lowest SCSI ID\" ã‚’æ„味ã—ã¾ã™ã€‚"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¯æ•°æžšã® CD-ROM ã‹ã‚‰è¡Œã„ã¾ã™ã€‚\n"
+"é¸æŠžã—ãŸãƒ‘ッケージãŒåˆ¥ã® CD-ROM ã®ä¸­ã«ã‚ã‚‹ã¨ã€DrakX ã¯ç¾åœ¨ã® CD ã‚’\n"
+"イジェクトã—ã¦åˆ¥ã® CD を入れるよã†ä¿ƒã—ã¾ã™ã€‚\n"
+"指示ã•れ㟠CD ã‚’ãŠæŒã¡ã§ãªã„å ´åˆã¯ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"ã“ã“ã§ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ãƒ—ログラムをé¸ã³ã¾ã™ã€‚Mageia ã«ã¯æ•°åƒ\n"
+"ã‚‚ã®ãƒ‘ッケージãŒç”¨æ„ã•れã¦ã„ã¾ã™ã€‚ãれらã¯ç®¡ç†ã—ã‚„ã™ã„よã†ã«é¡žä¼¼ã—ãŸ\n"
+"アプリケーションã”ã¨ã«ã‚°ãƒ«ãƒ¼ãƒ—化ã•れã¦ã„ã¾ã™ 。\n"
+"\n"
+"Mageia ã§ã¯ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ã•らã«å››ã¤ã®ã‚«ãƒ†ã‚´ãƒªã«åˆ†é¡žã—ã¦ã„ã¾ã™ã€‚\n"
+"パッケージã®é¸æŠžã«éš›ã—ã¦ã¯ã€è¤‡æ•°ã®ã‚«ãƒ†ã‚´ãƒªã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸ã¶ã“ã¨ãŒã§ã\n"
+"ã¾ã™ã€‚例ãˆã°ã€Œãƒ¯ãƒ¼ã‚¯ã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã€ã¨ã—ã¦ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ã€Œã‚µãƒ¼ãƒã€\n"
+"カテゴリã®ã‚°ãƒ«ãƒ¼ãƒ—を加ãˆã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
+"\n"
+" * %s: ワークステーションã¨ã—ã¦ãŠä½¿ã„ã®å ´åˆã¯ã€ã“ã®ã‚«ãƒ†ã‚´ãƒªã‹ã‚‰\n"
+"ã„ãã¤ã‹ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+" * %s: プログラミングを目的ã¨ã™ã‚‹å ´åˆã¯ã€ã“ã“ã‹ã‚‰å¿…è¦ãª\n"
+"グループをé¸ã‚“ã§ãã ã•ã„。LSB ã¨ã„ã†ç‰¹åˆ¥ãªã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸ã¶ã¨ 'Linux\n"
+"Standard Base' ä»•æ§˜ã«æº–æ‹ ã—ãŸã‚·ã‚¹ãƒ†ãƒ æ§‹æˆã«ãªã‚Šã¾ã™ã€‚\n"
+"\n"
+" 'LSB' ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã™ã‚‹ã¨ã€æ¨™æº–ã® 2.6 ç³»ã®ä»£ã‚り㫠2.4 ç³»ã®ã‚«ãƒ¼ãƒãƒ«ãŒ\n"
+"インストールã•れã¾ã™ã€‚ã“れã¯ã‚·ã‚¹ãƒ†ãƒ ã‚’ 100%% LSB-è¦æ ¼ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚\n"
+"注: 'LSB' ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ãªãã¦ã‚‚ã€ã»ã¼ 100%% LSB-è¦æ ¼ã«è¿‘ã„システムã«\n"
+"ãªã‚Šã¾ã™ã€‚\n"
+"\n"
+" * %s: サーãƒç”¨é€”ã®ãƒžã‚·ãƒ³ã§ã‚れã°ã€ã“ã®ã‚«ãƒ†ã‚´ãƒªã‹ã‚‰ç›®çš„ã«\n"
+"åˆã£ãŸã‚µãƒ¼ãƒ“スをé¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+" * %s: ã“ã“ã§ã¯ãŠå¥½ã¿ã®ã‚°ãƒ©ãƒ•ィカル環境をé¸ã³ã¾ã™ã€‚\n"
+"グラフィカルãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースを使用ã™ã‚‹å ´åˆã¯ã€æœ€ä½Žä¸€ã¤é¸æŠžã—ã¦ãã ã•ã„。\n"
+"\n"
+"グループåã®ä¸Šã«ã‚«ãƒ¼ã‚½ãƒ«ã‚’移動ã™ã‚‹ã¨ã€ãれãžã‚Œã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¤ã„ã¦ç°¡å˜ãª\n"
+"説明ãŒè¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"\n"
+"「%sã€ã«ãƒã‚§ãƒƒã‚¯ã‚’入れるã¨ãƒ‘ッケージを個別ã«é¸æŠž\n"
+"ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚利用å¯èƒ½ãªãƒ‘ッケージã«ç²¾é€šã—ã¦ã„ã‚‹å ´åˆã€ã‚ã‚‹ã„ã¯ä½•ã‚’\n"
+"インストールã™ã‚‹ã‹ã‚’ã™ã¹ã¦è‡ªåˆ†ã§æ±ºã‚ãŸã„å ´åˆã«åˆ©ç”¨ã—ã¦ãã ã•ã„。\n"
+"\n"
+"「%sã€ãƒ¢ãƒ¼ãƒ‰ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’é–‹å§‹ã—ã€ã™ã¹ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒã‚§ãƒƒã‚¯ã‚’\n"
+"外ã™ã¨æ–°ã—ã„パッケージã¯ä¸€åˆ‡ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã›ã‚“。既存ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’修復\n"
+"ã¾ãŸã¯ã‚¢ãƒƒãƒ—グレードã™ã‚‹å ´åˆã«å½¹ç«‹ã¡ã¾ã™ã€‚\n"
+"\n"
+"アップグレードã§ã¯ãªã通常ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ä¸­ã«ã™ã¹ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒã‚§ãƒƒã‚¯ã‚’\n"
+"外ã™ã¨ã€ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ãƒœãƒƒã‚¯ã‚¹ã«æœ€å°é™ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ã™ã‚‹ãŸã‚ã®ã‚ªãƒ—ションãŒ\n"
+"ã„ãã¤ã‹æç¤ºã•れã¾ã™:\n"
+"\n"
+" * %s: グラフィカルãªãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—を利用ã™ã‚‹ãŸã‚ã«å¿…è¦ãªæœ€ä½Žé™ã®\n"
+"パッケージをインストールã—ã¾ã™ã€‚\n"
+"\n"
+" * %s: 基本的ãªã‚·ã‚¹ãƒ†ãƒ ã¨ãƒ™ãƒ¼ã‚·ãƒƒã‚¯ãªãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£\n"
+"ãŠã‚ˆã³ãれã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’インストールã—ã¾ã™ã€‚サーãƒå‘ãã§ã™ã€‚\n"
+"\n"
+" * %s: Linux システムを稼動ã•ã›ã‚‹ãŸã‚ã«æœ€ä½Žé™å¿…è¦ãª\n"
+"パッケージã ã‘をインストールã—ã¾ã™ã€‚ã“ã‚Œã‚’é¸æŠžã—ãŸå ´åˆã¯ã‚°ãƒ©ãƒ•ィカルãª\n"
+"環境ã¯ã‚りã¾ã›ã‚“。コマンドã®ã¿ã®æ“作ã«ãªã‚Šã¾ã™ã€‚ ã“ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®\n"
+"åˆè¨ˆã‚µã‚¤ã‚ºã¯ç´„ 65 MB ã§ã™ã€‚"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "æ›´æ–°"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "基本的ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’入れる"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "極å°ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"インストールã™ã‚‹ãƒ‘ッケージを個別ã«é¸ã¶å ´åˆã¯ã€ã™ã¹ã¦ã®ãƒ‘ッケージãŒ\n"
+"グループ別ã«ãƒ„リー表示ã•れã¾ã™ã€‚リストã‹ã‚‰å€‹ã€…ã®ãƒ‘ッケージ/サブグループ/\n"
+"グループ全体をé¸ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"\n"
+"ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’é¸æŠžã™ã‚‹ã¨å³å´ã«èª¬æ˜ŽãŒè¡¨ç¤ºã•れã€ãƒ‘ッケージã®ç›®çš„を知るã“ã¨ãŒ\n"
+"ã§ãã¾ã™ã€‚\n"
+"\n"
+"注æ„!! é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚µãƒ¼ãƒç”¨ã®ãƒ‘ッケージãŒå«ã¾ã‚Œã¦ã„ãŸã‚Šã€ã‚ã‚‹ã„ã¯\n"
+"個別ã«ãã‚Œã‚’é¸æŠžã™ã‚‹ã¨ã€æœ¬å½“ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ã‚ˆã„ã‹ç¢ºèªã‚’求ã‚ã¾ã™ã€‚\n"
+"Mageia ã®ãƒ‡ãƒ•ォルトã®è¨­å®šã§ã¯ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸã‚µãƒ¼ãƒ“スã¯ã™ã¹ã¦\n"
+"起動時ã«è‡ªå‹•çš„ã«é–‹å§‹ã•れã¾ã™ã€‚ディストリビューションãŒãƒªãƒªãƒ¼ã‚¹ã•ã‚ŒãŸæ™‚点\n"
+"ã§æ—¢çŸ¥ã®å•題ãŒãªã安全ã ã¨ã•れã¦ã„ã¦ã‚‚ã€ãƒªãƒªãƒ¼ã‚¹å¾Œã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ›ãƒ¼ãƒ«ãŒ\n"
+"発見ã•れるå¯èƒ½æ€§ã¯ã‚りã¾ã™ã€‚\n"
+"ãれãžã‚Œã®ã‚µãƒ¼ãƒ“スã®å†…容やãªãœã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れるã®ã‹ã‚’知るã«ã¯\n"
+"「%sã€ã‚’クリックã—ã¦ãã ã•ã„。「%sã€ã‚’クリックã™ã‚‹ã¨é¸æŠžã—ãŸ\n"
+"サービスãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れ起動時ã«è‡ªå‹•çš„ã«é–‹å§‹ã—ã¾ã™ã®ã§ã”注æ„ãã ã•ã„。\n"
+"\n"
+"パッケージã®ãªã‹ã«ã¯ä»–ã®ãƒ‘ッケージã«ä¾å­˜ã™ã‚‹ã‚‚ã®ãŒã‚りã¾ã™ã€‚ã¤ã¾ã‚Šã€\n"
+"一ã¤ã®ãƒ‘ッケージをインストールã™ã‚‹ãŸã‚ã«ã¯ä»–ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚‚åŒæ™‚ã«\n"
+"インストールã—ãªã‘れã°ãªã‚‰ãªã„å ´åˆãŒã‚りã¾ã™ã€‚インストーラã¯ä¾å­˜é–¢ä¿‚ã‚’\n"
+"解決ã™ã‚‹ãŸã‚ã«è‡ªå‹•çš„ã«å¿…è¦ãªãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’é¸æŠžã—ã€ãã®éƒ½åº¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示\n"
+"ã—ã¾ã™ã€‚「%sã€ã‚ªãƒ—ションを使ã†ã¨ã€ã“ã®è­¦å‘Šãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã‚’\n"
+"無効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"\n"
+"リストã®ä¸‹ã«ã‚ã‚‹å°ã•ãªãƒ•ロッピーã®ã‚¢ã‚¤ã‚³ãƒ³ã¯ã€åˆ¥ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ã«ä½œæˆ\n"
+"ã•れãŸãƒ‘ッケージリストを利用ã™ã‚‹éš›ã«ä½¿ã„ã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã¯è¤‡æ•°ã®ãƒžã‚·ãƒ³ã«\n"
+"åŒã˜è¨­å®šã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ã™ã‚‹å ´åˆã«å½¹ç«‹ã¡ã¾ã™ã€‚アイコンをクリックã™ã‚‹ã¨\n"
+"自動インストールフロッピーを挿入ã™ã‚‹ã‚ˆã†ã«ä¿ƒã•れã¾ã™ã€‚ã“ã®ãƒ•ロッピーã®\n"
+"ä½œæˆæ–¹æ³•ã«ã¤ã„ã¦ã¯æœ€çµ‚ステップã®äºŒç•ªç›®ã®ãƒ’ントをå‚ç…§ã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "自動的ã«ä¾å­˜é–¢ä¿‚を解決ã™ã‚‹"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"ã“ã“ã§ã¯èµ·å‹•時ã«é–‹å§‹ã™ã‚‹ã‚µãƒ¼ãƒ“ã‚¹ã‚’é¸æŠžã—ã¾ã™ã€‚\n"
+"\n"
+"DrakX ã¯ç¾åœ¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„る利用å¯èƒ½ãªã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“スを表示ã—ã¾ã™ã€‚\n"
+"ãれãžã‚Œã‚’よã読んã§ã€èµ·å‹•時ã«å¿…è¦ã§ãªã„ã‚‚ã®ã«ã¤ã„ã¦ã¯ãƒã‚§ãƒƒã‚¯ã‚’外ã—ã¦\n"
+"ãã ã•ã„。\n"
+"\n"
+"ã‚µãƒ¼ãƒ“ã‚¹ã‚’é¸æŠžã™ã‚‹ã¨ç°¡å˜ãªèª¬æ˜ŽãŒè¡¨ç¤ºã•れã¾ã™ã€‚本当ã«ãã®ã‚µãƒ¼ãƒ“スãŒå¿…è¦\n"
+"ãªã®ã‹ã©ã†ã‹åˆ†ã‹ã‚‰ãªã„å ´åˆã¯ã€ãƒ‡ãƒ•ォルトã®ã¾ã¾ã«ã—ã¦ãŠãã®ãŒå®‰å…¨ã§ã™ã€‚\n"
+"\n"
+"!!ãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã‚’サーãƒã¨ã—ã¦ä½¿ç”¨ã™ã‚‹å ´åˆã¯ç‰¹ã«æ³¨æ„ã—ã¦ãã ã•ã„:\n"
+"å¿…è¦ã®ãªã„ã‚µãƒ¼ãƒ“ã‚¹ã¯æ­¢ã‚ã¦ãã ã•ã„。\n"
+"サービスã®ãªã‹ã«ã¯ã‚µãƒ¼ãƒã§æœ‰åйã«ã™ã‚‹ã¨å±é™ºãªã‚‚ã®ãŒã‚りã¾ã™ã€‚\n"
+"一般的ã«ã¯ã€æœ¬å½“ã«å¿…è¦ãªã‚µãƒ¼ãƒ“スã®ã¿ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux ã¯æ™‚é–“ã‚’ GMT (グリニッジ標準時) ã§ç®¡ç†ã—ã€é¸æŠžã•れãŸã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³\n"
+"ã‚’ã‚‚ã¨ã«ã“れをç¾åœ°æ™‚é–“ã«å¤‰æ›ã—ã¾ã™ã€‚ãƒžã‚¶ãƒ¼ãƒœãƒ¼ãƒ‰ã®æ™‚計ãŒç¾åœ°æ™‚é–“ã«è¨­å®š\n"
+"ã•れã¦ã„ã‚‹å ´åˆã¯ã€ã€Œ%sã€ã®é¸æŠžã‚’外ã—ã¦ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"ãã†ã™ã‚‹ã¨ã€GNU/Linux ã¯ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚¯ãƒ­ãƒƒã‚¯ã¨ã‚·ã‚¹ãƒ†ãƒ ã‚¯ãƒ­ãƒƒã‚¯ãŒåŒã˜ã‚¿ã‚¤ãƒ \n"
+"ゾーンã«ã‚ã‚‹ã¨èªè­˜ã—ã¾ã™ã€‚Windows ãªã©ã®åˆ¥ã® OS ã‚’åŒã˜ãƒžã‚·ãƒ³ã§å‹•ã‹ã—ã¦ã„ã‚‹\n"
+"å ´åˆã¯ã€ã“ã®ã‚ªãƒ—ションを無効ã«ã™ã‚‹æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚\n"
+"\n"
+"「%sã€ã‚ªãƒ—ションをé¸ã¶ã¨ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã®ãƒªãƒ¢ãƒ¼ãƒˆã‚¿ã‚¤ãƒ \n"
+"サーãƒã«æŽ¥ç¶šã—ã¦è‡ªå‹•çš„ã«æ™‚é–“ã‚’åˆã‚ã›ã¾ã™ã€‚表示ã•れるリストã®ä¸­ã‹ã‚‰ä¸€ç•ª\n"
+"è¿‘ã„サーãƒã‚’é¸ã‚“ã§ãã ã•ã„。ã“ã®æ©Ÿèƒ½ã‚’使ã†ã«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒå¿…è¦\n"
+"ã§ã™ã€‚ã“ã®ã‚ªãƒ—ションを使ã†ã¨ã€ã“ã®ãƒžã‚·ãƒ³ã‚’ローカルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã®ä»–ã®\n"
+"マシンã®ã‚¿ã‚¤ãƒ ã‚µãƒ¼ãƒã¨ã—ã¦æ©Ÿèƒ½ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "è‡ªå‹•çš„ã«æ™‚é–“ã‚’åˆã‚ã›ã‚‹"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"グラフィックカード\n"
+"\n"
+"普通ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ãŒãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã«æŽ¥ç¶šã•れã¦ã„るグラフィックカードを\n"
+"è‡ªå‹•çš„ã«æ¤œå‡ºã—ã¦è¨­å®šã‚’行ã„ã¾ã™ã€‚ã†ã¾ãã„ã‹ãªã‹ã£ãŸå ´åˆã¯ã€ãƒªã‚¹ãƒˆã®ä¸­\n"
+"ã‹ã‚‰é©åˆ‡ãªã‚°ãƒ©ãƒ•ィックカードをé¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"利用ã§ãるサーãƒãŒæ•°ç¨®é¡žã‚ã‚‹å ´åˆ (3D ã‚¢ã‚¯ã‚»ãƒ©ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ‰ç„¡ãªã©) ã¯ã€\n"
+"目的ã«é©ã—ãŸã‚µãƒ¼ãƒã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X ウィンドウシステム) 㯠GNU/Linux ã®ã‚°ãƒ©ãƒ•ィカルインターフェースã®\n"
+"中心ã¨ãªã‚‹éƒ¨åˆ†ã§ã€Mageia ã«åŽéŒ²ã•れã¦ã„る様々ãªã‚°ãƒ©ãƒ•ィカル環境\n"
+"(KDE, GNOME, AfterStep, WindowMaker ãªã©) ã¯ã™ã¹ã¦ã“れã«ä¾å­˜ã—ã¦ã„ã¾ã™ã€‚\n"
+"\n"
+"最é©ãªã‚°ãƒ©ãƒ•ィック表示を得るãŸã‚ã«èª¿æ•´å¯èƒ½ãªè¨­å®šé …ç›®ãŒã„ãã¤ã‹ã‚りã¾ã™ã€‚\n"
+"\n"
+"グラフィックカード\n"
+"\n"
+"普通ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ãŒãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã«æŽ¥ç¶šã•れã¦ã„るグラフィックカードを\n"
+"è‡ªå‹•çš„ã«æ¤œå‡ºã—ã¦è¨­å®šã‚’行ãªã„ã¾ã™ã€‚ã†ã¾ãã„ã‹ãªã‹ã£ãŸå ´åˆã¯ã€ãƒªã‚¹ãƒˆã®ä¸­\n"
+"ã‹ã‚‰é©åˆ‡ãªã‚°ãƒ©ãƒ•ィックカードをé¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"利用ã§ãるサーãƒãŒæ•°ç¨®é¡žã‚ã‚‹å ´åˆ (3D ã‚¢ã‚¯ã‚»ãƒ©ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ‰ç„¡ãªã©) ã¯ã€\n"
+"目的ã«é©ã—ãŸã‚µãƒ¼ãƒã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"\n"
+"\n"
+"モニタ\n"
+"\n"
+"普通ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ãŒãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã«æŽ¥ç¶šã•れã¦ã„るモニタを自動的ã«\n"
+"検出ã—ã¦è¨­å®šã‚’行ã„ã¾ã™ã€‚ã†ã¾ãã„ã‹ãªã‹ã£ãŸå ´åˆã¯ã€ãƒªã‚¹ãƒˆã®ä¸­ã‹ã‚‰\n"
+"é©åˆ‡ãªãƒ¢ãƒ‹ã‚¿ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"\n"
+"\n"
+"è§£åƒåº¦\n"
+"\n"
+"ãŠä½¿ã„ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§åˆ©ç”¨å¯èƒ½ãªè§£åƒåº¦ã¨è‰²æ·±åº¦ã®ä¸­ã‹ã‚‰å¿…è¦ã«åˆã£ãŸ\n"
+"ã‚‚ã®ã‚’ãŠé¸ã³ãã ã•ã„。インストール後ã«å¤‰æ›´ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚é¸æŠž\n"
+"ã•れãŸè¨­å®šã«ã‚ˆã‚‹ã‚µãƒ³ãƒ—ル画åƒãŒãƒ¢ãƒ‹ã‚¿ã®çµµã®ä¸­ã«è¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"\n"
+"\n"
+"\n"
+"テスト\n"
+"\n"
+"ã‚·ã‚¹ãƒ†ãƒ ã¯æŒ‡å®šã•れãŸè§£åƒåº¦ã§ã‚°ãƒ©ãƒ•ィカルスクリーンã®è¡¨ç¤ºã‚’試ã¿ã¾ã™ã€‚\n"
+"テスト中ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れ「%sã€ã¨ç­”ãˆã‚‹ã¨\n"
+"DrakX ã¯æ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã«é€²ã¿ã¾ã™ã€‚12 秒以内ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れãªã„ã¨ãã¯\n"
+"自動設定ãŒã†ã¾ãã§ãã¦ã„ã¾ã›ã‚“。元ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«æˆ»ã‚Šã¾ã™ã®ã§ã€æ­£ã—ã表示\n"
+"ã•れるよã†ã«è¨­å®šã‚’変更ã—ã¦ãã ã•ã„。\n"
+"\n"
+"\n"
+"\n"
+"オプション\n"
+"\n"
+"起動時ã«è‡ªå‹•çš„ã«ã‚°ãƒ©ãƒ•ィカルインターフェースã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã™ã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚サーãƒã¨ã—ã¦ãŠä½¿ã„ã«ãªã‚‹å ´åˆã‚„ディスプレイã®è¨­å®šãŒã†ã¾ã\n"
+"ã§ããªã‹ã£ãŸå ´åˆã¯ã€ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"モニタ\n"
+"\n"
+"普通ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ãŒãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã«æŽ¥ç¶šã•れã¦ã„るモニタを自動的ã«\n"
+"検出ã—ã¦è¨­å®šã‚’行ã„ã¾ã™ã€‚ã†ã¾ãã„ã‹ãªã‹ã£ãŸå ´åˆã¯ã€ãƒªã‚¹ãƒˆã®ä¸­ã‹ã‚‰\n"
+"é©åˆ‡ãªãƒ¢ãƒ‹ã‚¿ã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"è§£åƒåº¦\n"
+"\n"
+"ãŠä½¿ã„ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§åˆ©ç”¨å¯èƒ½ãªè§£åƒåº¦ã¨è‰²æ·±åº¦ã®ä¸­ã‹ã‚‰å¿…è¦ã«åˆã£ãŸ\n"
+"ã‚‚ã®ã‚’ãŠé¸ã³ãã ã•ã„。インストール後ã«å¤‰æ›´ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚é¸æŠž\n"
+"ã•れãŸè¨­å®šã«ã‚ˆã‚‹ã‚µãƒ³ãƒ—ル画åƒãŒãƒ¢ãƒ‹ã‚¿ã®çµµã®ä¸­ã«è¡¨ç¤ºã•れã¾ã™ã€‚"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"利用ã§ãるサーãƒãŒæ•°ç¨®é¡žã‚ã‚‹å ´åˆ (3D ã‚¢ã‚¯ã‚»ãƒ©ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ‰ç„¡ãªã©) ã¯ã€\n"
+"目的ã«é©ã—ãŸã‚µãƒ¼ãƒã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"オプション\n"
+"\n"
+"起動時ã«è‡ªå‹•çš„ã«ã‚°ãƒ©ãƒ•ィカルインターフェースã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã‹ã©ã†ã‹ã‚’é¸æŠžã™ã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚サーãƒã¨ã—ã¦ãŠä½¿ã„ã«ãªã‚‹å ´åˆã‚„ディスプレイã®è¨­å®šãŒã†ã¾ã\n"
+"ã§ããªã‹ã£ãŸå ´åˆã¯ã€ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"ã“ã“ã§ã¯ Mageia ã‚’ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ã©ã“ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‹ã‚’\n"
+"é¸æŠžã—ã¾ã™ã€‚ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ãŒç©ºã§ã‚ã£ãŸã‚Šæ—¢å­˜ã® OS ãŒã™ã¹ã¦ã®é ˜åŸŸã‚’使用\n"
+"ã—ã¦ã„ã‚‹å ´åˆã¯ã€ãƒ‘ーティションを設定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。\n"
+"基本的ã«ã€Mageia をインストールã™ã‚‹ã«ã¯ã€ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã‚’\n"
+"è«–ç†åˆ†å‰²ã—ã¦é ˜åŸŸã‚’確ä¿ã™ã‚‹ã“ã¨ãŒå¿…è¦ã§ã™ã€‚\n"
+"\n"
+"パーティションã®è¨­å®šã¯ã€ãŸã„ã¦ã„ã®å ´åˆå¾©å…ƒä¸å¯èƒ½ãªã†ãˆã€ãƒ‡ãƒ¼ã‚¿ã®æ¶ˆå¤±ã«\n"
+"ã¤ãªãŒã‚‹ã“ã¨ã‚‚ã‚ã‚‹ãŸã‚ã€ä¸æ…£ã‚Œãªãƒ¦ãƒ¼ã‚¶ã«ã¨ã£ã¦ã¯æ°—後れã®ã™ã‚‹ä½œæ¥­ã‹ã‚‚\n"
+"ã—れã¾ã›ã‚“。DrakX ã«ã¯ã“ã®ä½œæ¥­ã‚’ç°¡å˜ã«è¡Œã†ãŸã‚ã®ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ãŒç”¨æ„ã•れã¦\n"
+"ã„ã¾ã™ã€‚å…ˆã«é€²ã‚€å‰ã«ã€ã¾ãšã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®æ®‹ã‚Šã®éƒ¨åˆ†ã‚’読んã§ãã ã•ã„。\n"
+"ãã—ã¦è½ã¡ç€ã„ã¦ã‚†ã£ãりã¨å®Ÿè¡Œã—ã¦ãã ã•ã„。\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®çŠ¶æ…‹ã«ã‚ˆã£ã¦ã„ãã¤ã‹ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæç¤ºã•れã¾ã™:\n"
+"\n"
+" * %s: 空ã®ãƒ‰ãƒ©ã‚¤ãƒ–ã«è‡ªå‹•çš„ã«ãƒ‘ーティションを作æˆã—ã¾ã™ã€‚\n"
+"ã“ã®ã‚ªãƒ—ションを使ã†ã¨ã€ã“れ以é™ãƒ—ロンプトã®è¡¨ç¤ºã¯ã‚りã¾ã›ã‚“。\n"
+"\n"
+" * %s: ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã«ä¸€ã¤ä»¥ä¸Šã®\n"
+"Linux ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ãŒæ¤œå‡ºã•れã¾ã—ãŸã€‚既存ã®ãƒ‘ーティションを利用ã™ã‚‹å ´åˆ\n"
+"ã¯ã“ã®ã‚ªãƒ—ションをé¸ã‚“ã§ãã ã•ã„。ウィザードãŒãれãžã‚Œã®ãƒ‘ーティションã®\n"
+"マウントãƒã‚¤ãƒ³ãƒˆã‚’é¸æŠžã™ã‚‹ã‚ˆã†ä¿ƒã—ã¾ã™ã€‚ä¼çµ±çš„ãªãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆãŒæ—¢å®šå€¤\n"
+"ã¨ã—ã¦é¸æŠžã•れã¦ã„ã¾ã™ã€‚ãŸã„ã¦ã„ã®å ´åˆã¯ãã®ã¾ã¾ã«ã—ã¦ãŠã„ãŸæ–¹ãŒè‰¯ã„ã§\n"
+"ã—ょã†ã€‚\n"
+"\n"
+" * %s: Microsoft Windows ãŒãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®\n"
+"å…¨é ˜åŸŸã‚’å æœ‰ã—ã¦ã„ã‚‹å ´åˆã¯ GNU/Linux 用ã«ç©ºã領域を作æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚\n"
+"方法ã¨ã—ã¦ã¯ã€Microsoft Windows ã®ãƒ‘ーティションã¨ãƒ‡ãƒ¼ã‚¿ã‚’消去ã™ã‚‹ã‹\n"
+"Microsoft Windows ã® FAT ã¾ãŸã¯ NTFS パーティションã®ã‚µã‚¤ã‚ºã‚’変更ã—ã¾ã™ã€‚\n"
+"サイズ変更ã¯ã€Windows ã®ãƒ‘ーティションãŒã‚らã‹ã˜ã‚デフラグ (最é©åŒ–) ã•れã¦\n"
+"ã„れã°ã€ãƒ‡ãƒ¼ã‚¿ã‚’失ã†ã“ã¨ãªã実行ã§ãã¾ã™ã€‚(å¿…ãšãƒ‡ãƒ¼ã‚¿ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’\n"
+"ã—ã¦ãŠã„ã¦ãã ã•ã„) Mageia 㨠Microsoft Windows を両方使ã†å ´åˆã¯\n"
+"ã“ã®ã‚ªãƒ—ションをé¸ã‚“ã§ãã ã•ã„。(Windows を消去ã™ã‚‹å ´åˆã¯æ¬¡ã‚’å‚ç…§ã—ã¦\n"
+"ãã ã•ã„: ディスク全体を消去)\n"
+"\n"
+" ã“ã®ã‚ªãƒ—ションを使ã†ã¨ã€Microsoft Windows ã®ãƒ‘ーティション\n"
+"ãŒå°ã•ããªã‚Šã¾ã™ã€‚ãã®çµæžœã€Microsoft Windows ã§ãƒ‡ãƒ¼ã‚¿ã‚’ä¿å­˜ã—ãŸã‚Š\n"
+"æ–°ã—ã„ソフトウェアをインストールã™ã‚‹ãŸã‚ã®ç©ºã領域ã¯å°‘ãªããªã‚‹ã®ã§\n"
+"注æ„ã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã¨ãƒ‘ーティション\n"
+"を削除㗠Mageia システムã«å…¥ã‚Œæ›¿ãˆã‚‹å ´åˆã¯ã“ã®ã‚ªãƒ—ションをé¸ã‚“ã§\n"
+"ãã ã•ã„。確èªå¾Œã¯å–り消ã—ã§ãã¾ã›ã‚“ã®ã§å分注æ„ã—ã¦ãã ã•ã„。\n"
+"\n"
+" !! ã“ã®ã‚ªãƒ—ションをé¸ã¶ã¨ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒæ¶ˆåŽ»ã•れã¾ã™ !!\n"
+"\n"
+" * %s: ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®å…¨é ˜åŸŸã« Microsoft Windows ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«\n"
+"ã•れã¦ã„ã‚‹å ´åˆã®ã‚ªãƒ—ションã§ã™ã€‚ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ã™ã¹ã¦ã‚’消去ã—\n"
+"パーティションã®è¨­å®šã‹ã‚‰å§‹ã‚ã‚‹ã¨ãã«ä½¿ã„ã¾ã™ã€‚\n"
+"\n"
+" !! ã“ã®ã‚ªãƒ—ションをé¸ã¶ã¨ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®å…¨ãƒ‡ãƒ¼ã‚¿ãŒæ¶ˆåŽ»ã•れã¾ã™ !!\n"
+"\n"
+" * %s: パーティションを手動ã§è¨­å®šã™ã‚‹å ´åˆã«ã¯\n"
+"ã“ã®ã‚ªãƒ—ションをé¸ã‚“ã§ãã ã•ã„。注æ„: 応用ã®åйãé¸æŠžè‚¢ã§ã™ãŒä¸€æ­©\n"
+"é–“é•ã†ã¨ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ãŒæ¶ˆåŽ»ã•れã¾ã™ã€‚経験ã®ãªã„æ–¹ã«ã¯ãŠå‹§ã‚ã§ã\n"
+"ã¾ã›ã‚“。DiskDrake ã®è©³ã—ã„ä½¿ã„æ–¹ã«ã¤ã„ã¦ã¯ Starter Guide ã®\n"
+"'Managing Your Partitions' ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "既存ã®ãƒ‘ーティションを使ã†"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ディスク全体を消去"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"インストール完了ï¼ã“れ㧠GNU/Linux システムを利用ã§ãる状態ã«ãªã‚Šã¾ã—ãŸã€‚\n"
+"インストールメディア (CD-ROM ã‹ãƒ•ロッピー) を抜ã„ã¦ã€Œ%sã€ã‚’クリックã—\n"
+"システムをå†èµ·å‹•ã—ã¦ãã ã•ã„。コンピュータãŒãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®ãƒ†ã‚¹ãƒˆã‚’終ãˆã‚‹\n"
+"ã¨ã€ãƒ–ートローダã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ãã“ã§èµ·å‹•ã™ã‚‹ OS を指定ã™ã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"\n"
+"「%sã€ãƒœã‚¿ãƒ³ã‚’押ã™ã¨äºŒã¤ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæç¤ºã•れã¾ã™:\n"
+"\n"
+" * %s: 今回ã¨åŒã˜ã‚ˆã†ãªã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’\n"
+"オペレータãªã—ã§å¯èƒ½ã«ã™ã‚‹ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãƒ•ロッピーを作æˆã™ã‚‹ã€‚\n"
+"\n"
+" 注: 二ã¤ã®ã‚ªãƒ—ションã¯ãƒœã‚¿ãƒ³ã‚’押ã™ã¾ã§è¡¨ç¤ºã•れã¾ã›ã‚“。\n"
+"\n"
+" * %s: åŠè‡ªå‹•インストール。パーティションã®è¨­å®šã¯\n"
+"対話形å¼ã§è¡Œãˆã¾ã™ã€‚\n"
+"\n"
+" * %s: 全自動インストール。ãƒãƒ¼ãƒ‰ãƒ‡ã‚£ã‚¹ã‚¯ã¯å®Œå…¨ã«\n"
+"上書ãã•れã€ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ãŒå¤±ã‚れã¾ã™ã€‚\n"
+"\n"
+" ã“ã®æ©Ÿèƒ½ã¯ä½•å°ã‚‚ã®ãƒžã‚·ãƒ³ã«åŒã˜ã‚·ã‚¹ãƒ†ãƒ ã‚’インストールã™ã‚‹ã®ã«å¤§å¤‰\n"
+"便利ã§ã™ã€‚詳ã—ãã¯ã€å½“社ウェブサイト㮠'Auto install' ã‚’ã”覧ãã ã•ã„。\n"
+"\n"
+" * %s (*): インストール中ã«é¸æŠžã•れãŸ\n"
+"パッケージã®ãƒªã‚¹ãƒˆã‚’ä¿å­˜ã—ã¾ã™ã€‚別ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«åˆ©ç”¨ã™ã‚‹ã«ã¯ã€\n"
+"ãƒ•ãƒ­ãƒƒãƒ”ãƒ¼ã‚’ãƒ‰ãƒ©ã‚¤ãƒ–ã«æŒ¿å…¥ã—インストールを開始ã—ã¦ãã ã•ã„。\n"
+"プロンプトãŒè¡¨ç¤ºã•れãŸã‚‰ [F1] を押ã—㦠linux defcfg=\"floppy\" ã¨\n"
+"入力㗠[Enter] を押ã—ã¾ã™ã€‚ \n"
+"\n"
+"(*) FAT å½¢å¼ã®ãƒ•ロッピーãŒå¿…è¦ã§ã™ã€‚GNU/Linux ã§ä½œæˆã™ã‚‹ã«ã¯\n"
+"\"mformat a:\" ã¾ãŸã¯ \"fdformat /dev/fd0\" ã¨å…¥åŠ›ã—ã€ç¶šã‘㦠\"mkfs.vfat\n"
+"/dev/fd0\" ã¨å…¥åŠ›ã—ã¾ã™ã€‚"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "自動インストールフロッピーを作æˆ"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"既存㮠GNU/Linux ã®ãƒ‘ーティションを使用ã™ã‚‹å ´åˆã¯ã€ãã®ã†ã¡ã®ã„ãã¤ã‹ã‚’\n"
+"é¸æŠžã—ã¦ã€å†ãƒ•ォーマットã—ã¦ãã ã•ã„。\n"
+"\n"
+"注æ„: 既存ã®ãƒ‘ーティションã™ã¹ã¦ã‚’å†ãƒ•ォーマットã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。\n"
+"å†ãƒ•ォーマットãŒå¿…è¦ãªã®ã¯ã€OS ã‚’å«ã‚€ãƒ‘ーティション (例: /, /usr, /var)\n"
+"ã§ã™ã€‚個人ã®ãƒ‡ãƒ¼ã‚¿ãŒç½®ã‹ã‚Œã¦ã„るパーティション (典型的ãªã®ã¯ /home) \n"
+"ã«ã¤ã„ã¦ã¯å†ãƒ•ォーマットã®å¿…è¦ã¯ã‚りã¾ã›ã‚“。\n"
+"\n"
+"パーティションã®é¸æŠžã¯æ…Žé‡ã«è¡Œã£ã¦ãã ã•ã„。フォーマットã™ã‚‹ã¨ãã®\n"
+"パーティションã®ãƒ‡ãƒ¼ã‚¿ã¯ã™ã¹ã¦æ¶ˆåŽ»ã•れ復元ã§ããªããªã‚Šã¾ã™ã€‚\n"
+"\n"
+"パーティションをフォーマットã™ã‚‹æº–å‚™ãŒã§ããŸã‚‰ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•"
+"ã„。\n"
+"\n"
+"Mageia を別ã®ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã«æ–°è¦ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å ´åˆã¯\n"
+"「%sã€ã‚’クリックã—ã¦ãã ã•ã„。\n"
+"\n"
+"ディスクã®ä¸è‰¯ãƒ–ロックを検証ã™ã‚‹ãƒ‘ーティションをé¸ã¶ã«ã¯\n"
+"「%sã€ã‚’クリックã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mageia ã®ãƒªãƒªãƒ¼ã‚¹å¾Œã«ã€ãƒã‚°ã®ä¿®æ­£ã€ã‚ã‚‹ã„ã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£å•題を解決\n"
+"ã™ã‚‹ãŸã‚ã«æ›´æ–°ã•れãŸãƒ‘ッケージãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。ã“れらã®ãƒ‘ッケージを\n"
+"インターãƒãƒƒãƒˆã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—ã¦ã‚·ã‚¹ãƒ†ãƒ ã‚’æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚æ—¢ã«\n"
+"インターãƒãƒƒãƒˆã«æŽ¥ç¶šã—ã¦ã„れã°ã€Œ%sã€ã«ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ãã ã•ã„。\n"
+"å¾Œã§æ›´æ–°ã™ã‚‹å ´åˆã¯ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"「%sã€ã‚’é¸ã¶ã¨æ›´æ–°ãƒ‘ッケージをå–å¾—ã™ã‚‹ãƒŸãƒ©ãƒ¼ã‚µã‚¤ãƒˆã®ãƒªã‚¹ãƒˆãŒ\n"
+"表示ã•れã¾ã™ã€‚ãŠè¿‘ãã®ãƒŸãƒ©ãƒ¼ã‚’é¸ã‚“ã§ãã ã•ã„。更新ã•れるパッケージãŒ\n"
+"表示ã•れãŸã‚‰å†…容を確èªã—ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å ´åˆã¯ã€Œ%sã€ã‚’ã€ä¸­æ­¢ã™ã‚‹\n"
+"å ´åˆã¯ã€Œ%sã€ã‚’押ã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"ã“ã“ã§ã¯ DrakX を使ã£ã¦ã‚ãªãŸã®ãƒžã‚·ãƒ³ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ¬ãƒ™ãƒ«ã‚’設定ã—ã¾ã™ã€‚\n"
+"基本的ã«ã¯ã€ãƒžã‚·ãƒ³ã«é‡è¦ãªãƒ‡ãƒ¼ã‚¿ãŒä¿å­˜ã•れã¦ã„ãŸã‚Šã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«ç›´æŽ¥\n"
+"接続ã—ã¦ã„ã‚‹å ´åˆã¯ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ¬ãƒ™ãƒ«ã‚’高ã設定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。\n"
+"ã—ã‹ã—セキュリティレベルを高ãã™ã‚‹ã¨ä¸€èˆ¬çš„ã«ã¯ä½¿ã„勿‰‹ãŒæ‚ªããªã‚Šã¾ã™ã€‚\n"
+"\n"
+"ä½•ã‚’é¸æŠžã—ã¦ã‚ˆã„ã‹åˆ†ã‹ã‚‰ãªã„å ´åˆã¯ãƒ‡ãƒ•ォルトã®ã¾ã¾ã«ã—ã¦ãŠã„ã¦ãã ã•ã„。\n"
+"設定ã¯å¾Œã§å¤‰æ›´ã§ãã¾ã™ã€‚Mageia コントロールセンターã«ã¯ draksec\n"
+"ã¨ã„ã†ãã®ãŸã‚ã®ãƒ„ールãŒç”¨æ„ã•れã¦ã„ã¾ã™ã€‚\n"
+"\n"
+"%s ã«ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ç®¡ç†è€…ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。\n"
+"セキュリティã«é–¢ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ãã“ã¸é€ã‚‰ã‚Œã¾ã™ã€‚"
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "セキュリティ管ç†è€…"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"ã“ã“ã§ã¯ Mageia をインストールã™ã‚‹ãƒ‘ーティションをé¸ã³ã¾ã™ã€‚\n"
+"以å‰ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—㟠GNU/Linux ã‚·ã‚¹ãƒ†ãƒ ãŒæ®‹ã£ã¦ã„ãŸã‚Šã€åˆ¥ã®ãƒ„ールを\n"
+"使ã£ã¦æ—¢ã«ãƒ‘ーティションãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã¯ã€æ—¢å­˜ã®ãƒ‘ーティションを\n"
+"利用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã¯ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ãƒ‘ーティションを\n"
+"定義ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。\n"
+"\n"
+"パーティションを作æˆã™ã‚‹ã«ã¯ã€ã¾ãšãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã‚’é¸æŠžã—ã¦ãã ã•ã„。\n"
+"例ãˆã°ã€IDE ã®æœ€åˆã®ãƒ‰ãƒ©ã‚¤ãƒ–ã§ã‚れ㰠'hda'ã€2 番目ã®ãƒ‰ãƒ©ã‚¤ãƒ–ãªã‚‰ 'hdb'ã€\n"
+"SCSI ã®æœ€åˆã®ãƒ‰ãƒ©ã‚¤ãƒ–ãªã‚‰ 'sda' をクリックã—ã¦ãã ã•ã„。\n"
+"\n"
+"パーティションã®ä½œæˆã«ã¯æ¬¡ã®ã‚ªãƒ—ションãŒä½¿ãˆã¾ã™:\n"
+"\n"
+" * %s: é¸æŠžã—ãŸãƒ‰ãƒ©ã‚¤ãƒ–ã®ã™ã¹ã¦ã®ãƒ‘ーティションを削除ã™ã‚‹\n"
+"\n"
+" * %s: ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ç©ºã領域ã«è‡ªå‹•的㫠ext4 㨠swap ã‚’\n"
+"作æˆã™ã‚‹\n"
+"\n"
+"%s: ã“ã“ã‹ã‚‰æ‹¡å¼µæ©Ÿèƒ½ã‚’利用ã§ãã¾ã™:\n"
+"\n"
+" * %s: パーティションテーブルをフロッピーã«ä¿å­˜ã€‚後ã§ãƒ‘ーティション\n"
+"テーブルã®ãƒªã‚«ãƒãƒªãŒå¿…è¦ã«ãªã£ãŸã¨ãã«å½¹ç«‹ã¤ã®ã§ã€å®Ÿè¡Œã™ã‚‹ã“ã¨ã‚’\n"
+"å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚\n"
+"\n"
+" * %s: フロッピーã‹ã‚‰ãƒ‘ーティションテーブルを読ã¿è¾¼ã‚“ã§å¾©å…ƒã™ã‚‹\n"
+"\n"
+" * %s: パーティションテーブルãŒå£Šã‚Œã¦ã—ã¾ã£ãŸã¨ãã¯ã“ã®ã‚ªãƒ—ション\n"
+"を使ã£ã¦ä¿®å¾©ã‚’試ã¿ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚æ…Žé‡ã«å®Ÿè¡Œã—ã¦ãã ã•ã„。\n"
+"(å¿…ãšã—も修復ã§ãã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“)\n"
+"\n"
+" * %s: 変更をã™ã¹ã¦ç ´æ£„ã—ã€ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã«å…ƒã€…ã‚ã£ãŸ\n"
+"パーティションテーブルをå†ãƒ­ãƒ¼ãƒ‰ã™ã‚‹\n"
+"\n"
+" * %s: ã“ã®ã‚ªãƒ—ションã®ãƒã‚§ãƒƒã‚¯ã‚’外ã™ã¨\n"
+"ユーザã¯ãƒ•ロッピーや CD-ROM ãªã©ã®ãƒªãƒ ãƒ¼ãƒãƒ–ルメディアを手動ã§ãƒžã‚¦ãƒ³ãƒˆ\n"
+"ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。\n"
+"\n"
+" * %s: ã“ã®ã‚ªãƒ—ションをé¸ã¶ã¨ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ã‚’使ã£ã¦\n"
+"パーティションを設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚パーティションã«ã¤ã„ã¦æ·±ãç†è§£\n"
+"ã•れã¦ãªã„æ–¹ã«ã¯ã“ã®ã‚ªãƒ—ションをãŠå‹§ã‚ã—ã¾ã™ã€‚\n"
+"\n"
+" * %s: 変更をå–り消ã™\n"
+"\n"
+" * %s: 拡張機能 (タイプã€ã‚ªãƒ—ションã€ãƒ•ォーマットãªã©) を追加ã—\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®è©³ç´°æƒ…報を得るã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"\n"
+" * %s: パーティションã®è¨­å®šå®Œäº†å¾Œã€å¤‰æ›´ã‚’ディスクã«\n"
+"ä¿å­˜ã—ã¾ã™ã€‚\n"
+"\n"
+"キーボードã®çŸ¢å°ã‚­ãƒ¼ã‚’使ã†ã¨ãƒ‘ーティションã®ã‚µã‚¤ã‚ºã‚’ç´°ã‹ã\n"
+"設定ã§ãã¾ã™ã€‚\n"
+"\n"
+"ヒント: ã™ã¹ã¦ã®ã‚ªãƒ—ションã¯ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰æ“作ã§å®Ÿè¡Œã§ãã¾ã™ã€‚\n"
+"[Tab] 㨠[Up/Down] キーを使ã£ã¦ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã—ã¾ã™ã€‚\n"
+"\n"
+"ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã‚’é¸æŠžã™ã‚‹ã¨æ¬¡ã®ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆãŒä½¿ãˆã¾ã™:\n"
+"\n"
+" * Ctrl-c: 空ã®ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã«æ–°ã—ã„パーティションを作æˆ\n"
+"\n"
+" * Ctrl-d: パーティションを削除\n"
+"\n"
+" * Ctrl-m: マウントãƒã‚¤ãƒ³ãƒˆã‚’設定\n"
+"\n"
+"使用å¯èƒ½ãªä»–ã®ãƒ•ァイルシステムã«ã¤ã„ã¦ã¯ã€Reference Manual ã®\n"
+"'ext2FS' ã®ç« ã‚’ãŠèª­ã¿ãã ã•ã„。\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "リムーãƒãƒ–ルメディアを自動的ã«ãƒžã‚¦ãƒ³ãƒˆ"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "標準/エキスパートモードã®åˆ‡ã‚Šæ›¿ãˆ"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã« Microsoft ã®ãƒ‘ーティションãŒã„ãã¤ã‹æ¤œå‡ºã•れã¾ã—ãŸã€‚\n"
+"Mageia をインストールã™ã‚‹ãŸã‚ã«ãƒªã‚µã‚¤ã‚ºã™ã‚‹ãƒ‘ーティションを\n"
+"é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã¯æ¬¡ã®ã‚ˆã†ã«è¡¨ç¤ºã•れã¾ã™: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux Name\" ã¯æ¬¡ã®è¦ç´ ã§æ§‹æˆã•れã¾ã™:\n"
+" ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–タイプ/ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–番å·/ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ç•ªå· (例: hda1)\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–タイプã¯ã€IDE ã‚’ãŠä½¿ã„ã®å ´åˆã¯ \"hd\"ã€SCSI ã‚’ãŠä½¿ã„ã®å ´åˆã¯\n"
+"\"sd\" ã¨ãªã‚Šã¾ã™ã€‚\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–番å·ã¯å¸¸ã« \"hd\" ã¾ãŸã¯ \"sd\" ã®å¾Œã®ä¸€æ–‡å­—ã§è¡¨ã•れã¾ã™ã€‚\n"
+"IDE ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®å ´åˆ:\n"
+"\n"
+" * \"a\" ã¯ãƒ—ライマリ IDE コントローラã®ãƒžã‚¹ã‚¿ãƒ¼ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"b\" ã¯ãƒ—ライマリ IDE コントローラã®ã‚¹ãƒ¬ãƒ¼ãƒ–ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"c\" ã¯ã‚»ã‚«ãƒ³ãƒ€ãƒª IDE コントローラã®ãƒžã‚¹ã‚¿ãƒ¼ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+" * \"d\" ã¯ã‚»ã‚«ãƒ³ãƒ€ãƒª IDE コントローラã®ã‚¹ãƒ¬ãƒ¼ãƒ–ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–\n"
+"\n"
+"SCSI ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®å ´åˆã¯ã€\"a\" 㯠\"lowest SCSI ID\",\n"
+" \"b\" 㯠\"second lowest SCSI ID\"ã‚’æ„味ã—ã¾ã™ã€‚\n"
+"\n"
+"\"Windows name\" 㯠Windows ã®ãƒ‰ãƒ©ã‚¤ãƒ–å\n"
+"(最åˆã®ãƒ‡ã‚£ã‚¹ã‚¯ã¾ãŸã¯ãƒ‘ーティションã¯\"C:\")"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"%s: ç¾åœ¨é¸æŠžã•れã¦ã„る国åを確èªã—ã¦ãã ã•ã„。間é•ã£ã¦ã„ã‚‹å ´åˆã¯\n"
+"「%sã€ã‚’クリックã—ã¦åˆ¥ã®å›½åã‚’é¸ã‚“ã§ãã ã•ã„。リストã«ãªã„å ´åˆã¯\n"
+"「%sã€ã‚’クリックã™ã‚‹ã¨ã™ã¹ã¦ã®å›½åリストãŒè¡¨ç¤ºã•れã¾ã™ã€‚"
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯æ—¢å­˜ã® GNU/Linux ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ãŒæ¤œå‡ºã•れãŸã¨ãã«ã®ã¿è¡¨ç¤º\n"
+"ã•れã¾ã™ã€‚\n"
+"\n"
+"DrakX ã¯æ—¢å­˜ã® Mageia システムを更新ã™ã‚‹ã‹ãれã¨ã‚‚æ–°è¦ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«\n"
+"ã™ã‚‹ã‹ã‚’å°‹ã­ã¾ã™:\n"
+"\n"
+" * %s: 基本的ã«ã¯å¤ã„ã‚·ã‚¹ãƒ†ãƒ ã‚’å®Œå…¨ã«æ¶ˆåŽ»ã—ã¦ã—ã¾ã„ã¾ã™ã€‚\n"
+"ã—ã‹ã—ã€ãƒ‘ãƒ¼ãƒ†ã‚£ã‚·ãƒ§ãƒ³ã®æ‰±ã„æ–¹ã«ã‚ˆã£ã¦ã¯æ—¢å­˜ã®ãƒ‡ãƒ¼ã‚¿ (典型的ãªã‚‚ã®ã¨ã—ã¦ã¯\n"
+"\"home\" ディレクトリ) を残ã™ã“ã¨ãŒã§ãã¾ã™ã€‚パーティションã®è¨­å®šã‚„ファイル\n"
+"システムを変更ã•れる場åˆã¯ã“ã®ã‚ªãƒ—ションをãŠä½¿ã„ãã ã•ã„。\n"
+"\n"
+" * %s: ã“ã‚Œã¯æ—¢ã« Mageia ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹\n"
+"パッケージをアップデートã—ã¾ã™ã€‚ç¾åœ¨ã®ãƒ‘ーティションã®è¨­å®šã‚„ユーザデータã¯\n"
+"変更ã•れã¾ã›ã‚“。ãã®ä»–ã®è¨­å®šã®å¤§éƒ¨åˆ†ã¯æ¨™æº–ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨åŒæ§˜ã«è¡Œãˆã¾ã™ã€‚\n"
+"「アップグレードã€ã¯ Mageia ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ \"8.1\" 以é™ã§ã‚れã°\n"
+"å•題ãªã„ã¯ãšã§ã™ã€‚\"8.1\" よりå¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯ãŠå‹§ã‚ã§ãã¾ã›ã‚“。"
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"使用ã™ã‚‹è¨€èªžã«å¿œã˜ã¦ã€DrakX ã¯è‡ªå‹•çš„ã«ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®ç¨®é¡žã‚’é¸æŠžã—ã¾ã™ã€‚\n"
+"é¸ã°ã‚ŒãŸã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ãŒã‚ãªãŸã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã¨åˆã£ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。\n"
+"ã¾ãŸã€ç›®çš„ã«å¿œã˜ã¦åˆ¥ã®ã‚‚ã®ã‚’é¸ã¶ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
+"\n"
+"ãŠæŒã¡ã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ãŒãŠä½¿ã„ã®è¨€èªžã¨ä¸€è‡´ã—ã¦ã„ãªã„å ´åˆã‚‚ã€ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§\n"
+"変更ã§ãã¾ã™ã€‚リストã®ä¸­ã‹ã‚‰ãŠä½¿ã„ã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"「%sã€ã‚’押ã™ã¨ã‚µãƒãƒ¼ãƒˆã•れã¦ã„るキーボードã®ãƒªã‚¹ãƒˆãŒè¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"\n"
+"éžãƒ©ãƒ†ãƒ³ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã‚’é¸æŠžã—ãŸå ´åˆã¯ã€æ¬¡ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ãƒ©ãƒ†ãƒ³/éžãƒ©ãƒ†ãƒ³ã‚’\n"
+"切り替ãˆã‚‹ã‚­ãƒ¼ã‚’指定ã§ãã¾ã™ã€‚"
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"ã¾ãšã€ãŠä½¿ã„ã«ãªã‚‹è¨€èªžã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"ã“ã“ã§é¸æŠžã•れãŸè¨€èªžã¯ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ã¯ã˜ã‚ã€ã‚·ã‚¹ãƒ†ãƒ å…¨èˆ¬\n"
+"ã«é©ç”¨ã•れã¾ã™ã€‚ã¾ãšå±…ä½åœ°åŸŸã‚’é¸æŠžã—ã€æ¬¡ã«ä½¿ç”¨ã™ã‚‹è¨€èªžã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"「%sã€ã‚’押ã™ã¨ä»–ã®è¨€èªžã‚’追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例ãˆã°æ—¥æœ¬èªžã¨\n"
+"スペイン語を両方使ã‚れるã®ã§ã‚れã°ã€ã¾ãšãƒªã‚¹ãƒˆã‹ã‚‰æ—¥æœ¬èªžã‚’デフォルト言語ã«\n"
+"é¸ã³ã€Œè©³ç´°ã€ã‹ã‚‰ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。ã“ã†ã™ã‚‹ã“ã¨ã§ã€æ—¥æœ¬èªžã¨\n"
+"スペイン語両方ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¨å¿…è¦ãªã‚¢ãƒ—リケーションãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾"
+"ã™ã€‚\n"
+"\n"
+"ユニコード (UTF-8) サãƒãƒ¼ãƒˆã«ã¤ã„ã¦: ユニコードã¯ä¸–界中ã®ã™ã¹ã¦ã®è¨€èªžã‚’\n"
+"ã‚«ãƒãƒ¼ã—ã¾ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ã€GNU/Linux 環境ã§ã®ãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰ã‚µãƒãƒ¼ãƒˆã¯ã¾ã é–‹ç™º\n"
+"途上ã«ã‚りã¾ã™ã€‚ãã®ãŸã‚ã€Mageia ã§ã¯ãƒ¦ãƒ¼ã‚¶ã®é¸æŠžã«å¿œã˜ã¦ãã®ä½¿ç”¨ã‚’\n"
+"制é™ã—ã¦ã„ã¾ã™:\n"
+"\n"
+" * レガシーãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã‚’使用ã™ã‚‹è¨€èªž (latin1/ロシア語/日本語/中国語/\n"
+"ãƒãƒ³ã‚°ãƒ«/タイ語/ギリシャ語/トルコ語/iso-8859-2ã®å¤§éƒ¨åˆ†ã®è¨€èªžãªã©) ã‚’é¸æŠž\n"
+"ã™ã‚‹ã¨ã€ãれãžã‚Œã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãŒé©ç”¨ã•れã¾ã™ã€‚\n"
+"\n"
+" * ãã®ä»–ã®è¨€èªžã«ã¯ãƒ‡ãƒ•ォルトã§ãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¾ã™ã€‚\n"
+"\n"
+" * 二ã¤ä»¥ä¸Šã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã®ç•°ãªã‚‹è¨€èªžã‚’é¸æŠžã™ã‚‹ã¨ã€ã‚·ã‚¹ãƒ†ãƒ å…¨ä½“ã«\n"
+"ユニコードãŒé©ç”¨ã•れã¾ã™ã€‚\n"
+"\n"
+" * é¸æŠžã—ãŸè¨€èªžã«ã‹ã‹ã‚らãšã€ã‚·ã‚¹ãƒ†ãƒ å…¨ä½“ã«ãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰ã‚’強制ã™ã‚‹ã“ã¨ã‚‚\n"
+"å¯èƒ½ã§ã™ã€‚ãã®å ´åˆã¯ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"言語ã¯ã„ãã¤ã§ã‚‚追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚「%sã€ã‚’é¸ã¶ã¨\n"
+"利用å¯èƒ½ãªã™ã¹ã¦ã®è¨€èªžãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ã€‚ãれãžã‚Œã®è¨€èªžã‚µãƒãƒ¼ãƒˆã«ã¯\n"
+"翻訳ã•れãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸/フォント/スペルãƒã‚§ãƒƒã‚«ãƒ¼ãªã©ãŒå«ã¾ã‚Œã¾ã™ã€‚\n"
+"\n"
+"言語設定を切り替ãˆã‚‹ã¨ã㯠LocaleDrake を使ã„ã¾ã™ã€‚システム全体ã®è¨­å®šã‚’変更\n"
+"ã™ã‚‹ã¨ãã¯ã€root 権é™ã§ \"localedrake\" を実行ã—ã¦ãã ã•ã„。一般ユーザ権é™\n"
+"ã§å®Ÿè¡Œã™ã‚‹ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ã®è¨€èªžè¨­å®šã ã‘ãŒå¤‰æ›´ã•れã¾ã™ã€‚"
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "スペイン語"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX ã¯ãŸã„ã¦ã„ã®å ´åˆãŠä½¿ã„ã®ãƒžã‚¦ã‚¹ã®ãƒœã‚¿ãƒ³æ•°ã‚’æ­£ã—ãæ¤œå‡ºã—ã¾ã™ã€‚\n"
+"ボタン数㌠2 ã¤ã ã¨æŽ¨å®šã—ãŸå ´åˆã¯ã€ç¬¬ 3 ボタンã®ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’\n"
+"設定ã—ã¾ã™ã€‚ 2 ボタンマウスã®ç¬¬ 3 ボタンã®ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã€\n"
+"å·¦å³ã®ãƒœã‚¿ãƒ³ã®åŒæ™‚押ã—ã§ã™ã€‚DrakX 㯠PS/2, シリアル, USB ãªã©ã®ç¨®é¡žã‚’\n"
+"è‡ªå‹•çš„ã«æ¤œå‡ºã—ã¾ã™ã€‚\n"
+"\n"
+"ホイールãªã—ã® 3 ボタンマウスã®å ´åˆã¯ã€Œ%sã€ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"DrakX ã¯ãƒ›ã‚¤ãƒ¼ãƒ«ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’設定ã—ã¾ã™ã€‚中ボタンを押ã—ã¦ãƒžã‚¦ã‚¹\n"
+"カーソルを上下ã«å‹•ã‹ã—ã¦ãã ã•ã„。\n"
+"\n"
+"何らã‹ã®ç†ç”±ã§åˆ¥ã®ã‚¿ã‚¤ãƒ—ã®ãƒžã‚¦ã‚¹ã‚’指定ã™ã‚‹ã¨ãã¯ã€è¡¨ç¤ºã•れãŸãƒªã‚¹ãƒˆã‹ã‚‰\n"
+"é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+"%s ã‚’é¸æŠžã—㦠'generic' マウスを指定ã—ã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。ã“れã¯ã»ã¼ã™ã¹ã¦ã®\n"
+"マウスã«ä½¿ãˆã¾ã™ã€‚\n"
+"\n"
+"デフォルト以外ã®ãƒžã‚¦ã‚¹ã‚’é¸ã¶ã¨ãƒ†ã‚¹ãƒˆã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã«ãªã‚Šã¾ã™ã€‚ボタンã¨\n"
+"ホイールを使ã£ã¦æ­£ã—ã動作ã™ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã†ã¾ã動作ã—ãªã„\n"
+"å ´åˆã¯ã‚¹ãƒšãƒ¼ã‚¹ã¾ãŸã¯ãƒªã‚¿ãƒ¼ãƒ³ã‚­ãƒ¼ã‚’押ã—ã¦ãƒ†ã‚¹ãƒˆã‚’中止ã—ã¦ãã ã•ã„。\n"
+"ãƒžã‚¦ã‚¹é¸æŠžãƒªã‚¹ãƒˆã«æˆ»ã‚Šã¾ã™ã€‚\n"
+"\n"
+"ホイールマウスã¯ã¾ã‚Œã«æ­£ã—ã自動検出ã•れãªã„ã“ã¨ãŒã‚りã¾ã™ã®ã§ã€ãã®å ´åˆã¯\n"
+"リストã‹ã‚‰é¸ã‚“ã§ãã ã•ã„。必ãšãƒžã‚¦ã‚¹ãŒæŽ¥ç¶šã•れã¦ã„ã‚‹ãƒãƒ¼ãƒˆã«åˆã£ãŸã‚‚ã®ã‚’\n"
+"é¸ã‚“ã§ãã ã•ã„ã€‚ãƒžã‚¦ã‚¹ã‚’é¸æŠžã—「%sã€ã‚’押ã™ã¨ãƒžã‚¦ã‚¹ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒ\n"
+"スクリーンã«è¡¨ç¤ºã•れã¾ã™ã€‚ホイールを動ã‹ã—ã¦æ­£ã—ã動作ã™ã‚‹ã“ã¨ã‚’確èªã—ã¦\n"
+"ãã ã•ã„。ホイールをスクロールã™ã‚‹ã¨ç”»é¢ä¸Šã®ãƒ›ã‚¤ãƒ¼ãƒ«ãŒå‹•ãã¯ãšã§ã™ã€‚ボタン\n"
+"もテストã—ã€ãƒžã‚¦ã‚¹ã®å‹•ãã«å¿œã˜ã¦ã‚«ãƒ¼ã‚½ãƒ«ãŒç§»å‹•ã™ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ホイールエミュレーション付ã"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "ユニãƒãƒ¼ã‚µãƒ«/汎用 PS/2 & USB マウス"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"æ­£ã—ã„ãƒãƒ¼ãƒˆã‚’é¸ã‚“ã§ãã ã•ã„。例ãˆã°ã€Windows ã§ã® COM1 ãƒãƒ¼ãƒˆã¯\n"
+"GNU/Linux ã§ã¯ ttyS0 ã¨ã„ã†åå‰ã«ãªã‚Šã¾ã™ã€‚"
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"ブートローダã¯ã‚³ãƒ³ãƒ”ュータ起動時ã«é–‹å§‹ã•れるå°ã•ãªãƒ—ログラムã§ã™ã€‚\n"
+"ã“れãŒã‚·ã‚¹ãƒ†ãƒ ã‚’ç«‹ã¡ä¸Šã’ã¾ã™ã€‚ブートローダã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¯é€šå¸¸å®Œå…¨ã«\n"
+"自動化ã•れã¦ã„ã¾ã™ã€‚DrakX ã¯ãƒ‡ã‚£ã‚¹ã‚¯ã®ãƒ–ートセクタを分æžã—検出ã—ãŸ\n"
+"ã‚‚ã®ã«å¿œã˜ã¦ä»¥ä¸‹ã‚’実行ã—ã¾ã™:\n"
+"\n"
+" * Windows ã®ãƒ–ãƒ¼ãƒˆã‚»ã‚¯ã‚¿ãŒæ¤œå‡ºã•れる㨠DrakX ã¯ã“れを GRUB/LILO ã®\n"
+"ブートセクタã«ç½®ãæ›ãˆã¾ã™ã€‚ã“れã«ã‚ˆã£ã¦ã€ã‚ãªãŸã®ãƒžã‚·ãƒ³ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«\n"
+"ã•れã¦ã„ã‚‹ä»–ã® OS 㨠GNU/Linux ã®ã©ã¡ã‚‰ã§ã‚‚èµ·å‹•ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚\n"
+"\n"
+" * GRUB ã‹ LILO ãƒ–ãƒ¼ãƒˆã‚»ã‚¯ã‚¿ãŒæ¤œå‡ºã•ã‚Œã‚‹ã¨æ–°ã—ã„ã‚‚ã®ã«ç½®ãæ›ãˆã¾ã™ã€‚\n"
+"\n"
+"ã©ã“ã«ãƒ–ートセクタを置ã‘ã°ã„ã„ã®ã‹ä¸æ˜Žãªã¨ãã¯ã€DrakX ãŒè³ªå•ã—ã¾ã™ã€‚\n"
+"一般的ã«ã¯ã€Œ%sã€ãŒæœ€ã‚‚安全ãªå ´æ‰€ã§ã™ã€‚\n"
+"「%sã€ã‚’é¸ã¶ã¨ãƒ–ートローダã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã›ã‚“。\n"
+"ã“ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã¯æ„味をよãç†è§£ã•れã¦ã„ã‚‹å ´åˆä»¥å¤–ã¯é¸ã°ãªã„ã§ãã ã•ã„。"
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"ã“ã“ã§ã¯ã€ã‚³ãƒ³ãƒ”ュータã®å°åˆ·ã‚·ã‚¹ãƒ†ãƒ ã‚’é¸æŠžã—ã¾ã™ã€‚ä»–ã® OS ã«ã¯ä¸€ç¨®é¡žã—ã‹\n"
+"ã‚りã¾ã›ã‚“ãŒã€Mageia ã«ã¯äºŒç¨®é¡žã®å°åˆ·ã‚·ã‚¹ãƒ†ãƒ ãŒã‚りã¾ã™ã€‚ãれãžã‚Œ\n"
+"åˆ©ç‚¹ã¨æ¬ ç‚¹ãŒã‚りã¾ã™ã®ã§ã€ã‚ˆã‚Šé©ã—ãŸã‚‚ã®ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+" * %s - 'Print, Do not Queue (å°åˆ·ã™ã‚‹ã€‚キューã¯ã—ãªã„)' ã®ç•¥ã€‚\n"
+"マシンã«ãƒ—リンタを直接接続ã—ã¦ã„ã‚‹/ç´™ã¥ã¾ã‚Šã®ã¨ãã«ã™ã中断ã—ãŸã„/\n"
+"ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ—リンタãŒãªã„å ´åˆã¯ã“れをé¸ã‚“ã§ãã ã•ã„。(%s ã¯ç°¡å˜ãª\n"
+"ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ã—ã‹å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“。ã¾ãŸã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã§ä½¿ã†ã¨å¤šå°‘é…ã\n"
+"ãªã‚Šã¾ã™)。åˆã‚㦠GNU/Linux ã‚’ãŠä½¿ã„ã®å ´åˆã¯pdqã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚\n"
+"\n"
+" * %s - 'Common Unix Printing System' ã®ç•¥ã€‚\n"
+"ローカルプリンタã¸ã®å°åˆ·ã‚‚地çƒã®è£å´ã®ãƒ—リンタã¸ã®å°åˆ·ã‚‚å•題ãªã処ç†\n"
+"ã—ã¾ã™ã€‚サーãƒã¨ã—ã¦ã‚‚使ãˆã¦ã€æ˜”ãªãŒã‚‰ã® lpd å°åˆ·ã‚·ã‚¹ãƒ†ãƒ ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ\n"
+"ã«ã‚‚ãªã‚‹ã®ã§ã€å°åˆ·ã‚µãƒ¼ãƒ“スを必è¦ã¨ã™ã‚‹å¤ã„システムã¨ã‚‚äº’æ›æ€§ãŒã‚りã¾ã™ã€‚\n"
+"強力ã§ã‚ã‚‹ã«ã‚‚ã‹ã‹ã‚らãšåŸºæœ¬çš„ãªè¨­å®šã¯ pdq ã¨åŒã˜ãらã„ç°¡å˜ã§ã™ã€‚\n"
+"lpd サーãƒã®ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆãŒå¿…è¦ãªå ´åˆã¯ cups-lpd デーモンを有効ã«ã—ã¦\n"
+"ãã ã•ã„。「%sã€ã«ã¯å°åˆ·/プリンタオプションã®é¸æŠž/プリンタã®ç®¡ç†ãªã©ã®\n"
+"ãŸã‚ã®ã‚°ãƒ©ãƒ•ィカルフロントエンドãŒã‚りã¾ã™ã€‚\n"
+"\n"
+"é¸æŠžã—ãŸå°åˆ·ã‚·ã‚¹ãƒ†ãƒ ã‚’後ã§å¤‰æ›´ã™ã‚‹å ´åˆã¯ã€Mageia コントロール\n"
+"センター㮠PrinterDrake ã§ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "エキスパート"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX ã¯ã¾ãšãŠä½¿ã„ã®ã‚³ãƒ³ãƒ”ュータã®IDEデãƒã‚¤ã‚¹ã‚’検出ã—ã¾ã™ã€‚PCI/SCSI カード\n"
+"ã‚‚åŒæ™‚ã«æ¤œå‡ºã—ã¾ã™ã€‚SCSI カードãŒè¦‹ã¤ã‹ã‚Œã°ã€DrakX ã¯ãれã«é©ã—ãŸãƒ‰ãƒ©ã‚¤ãƒã‚’\n"
+"自動的ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã€‚\n"
+"\n"
+"ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®æ¤œå‡ºã¯ã„ã¤ã‚‚æˆåŠŸã™ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。DrakX ã¯ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®\n"
+"検出ã«å¤±æ•—ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚ãã®ã‚ˆã†ãªå ´åˆã¯ãŠä½¿ã„ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚’手動ã§\n"
+"指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚\n"
+"\n"
+"PCI/SCSI ã‚¢ãƒ€ãƒ—ã‚¿ã‚’æ‰‹å‹•ã§æŒ‡å®šã™ã‚‹ã¨ãã«ã¯ã€DrakX ãŒãれ専用ã®ã‚ªãƒ—ションを\n"
+"設定ã™ã‚‹ã‹ã©ã†ã‹è³ªå•ã—ã¦ãã¾ã™ã€‚DrakX ã«ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚’調査ã•ã›ã¦ã€ã‚¢ãƒ€ãƒ—ã‚¿\n"
+"ã‚’åˆæœŸåŒ–ã™ã‚‹ãŸã‚ã«å¿…è¦ãªãã®ã‚«ãƒ¼ãƒ‰å°‚用ã®ã‚ªãƒ—ションを検知ã•ã›ã¦ãã ã•ã„。\n"
+"ãŸã„ã¦ã„ã®å ´åˆã€ã†ã¾ãã„ãã¾ã™ã€‚\n"
+"\n"
+"DrakX ãŒã‚ªãƒ—ションを検知ã§ããšã€ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã«ã©ã®ãƒ‘ラメータをé€ã‚Œã°ã‚ˆã„\n"
+"ã®ã‹ã‚’自動的ã«åˆ¤æ–­ã§ããªã‹ã£ãŸå ´åˆã¯ã€æ‰‹å‹•ã§ãƒ‰ãƒ©ã‚¤ãƒã‚’設定ã—ãªã‘れã°ãªã‚Š\n"
+"ã¾ã›ã‚“。"
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"%s: ã‚µã‚¦ãƒ³ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒæ¤œå‡ºã•れるã¨ã€ã“ã“ã«è¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"表示ã•れãŸã‚µã‚¦ãƒ³ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒãŠä½¿ã„ã®ã‚‚ã®ã§ãªã„å ´åˆã¯ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦\n"
+"別ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’é¸ã‚“ã§ãã ã•ã„。"
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX ã¯ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ ã‹ã‚‰åŽé›†ã—ãŸæƒ…報を表示ã—ã¾ã™ã€‚ã”使用ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢"
+"ã®\n"
+"æ§‹æˆã«ã‚‚よりã¾ã™ãŒã€ä¸‹è¨˜ã®ä¸€éƒ¨ã‚‚ã—ãã¯ã™ã¹ã¦ã«ã¤ã„ã¦ç¢ºèªã™ã‚‹ã“ã¨ãŒã§ãã¾"
+"ã™ã€‚\n"
+"ãれãžã‚Œã®é …ç›®ã«ã¯æ¤œå‡ºã—ãŸãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã¨ç¾åœ¨ã®è¨­å®šå†…容ãŒè¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"設定を変更ã™ã‚‹ã«ã¯ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: 使用中ã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®è¨­å®šã‚’確èª/変更ã§ãã¾ã™ã€‚\n"
+"\n"
+" * %s: ç¾åœ¨é¸æŠžã•れã¦ã„る国を確èªã§ãã¾ã™ã€‚変更ã™ã‚‹ã«ã¯ã€Œ%sã€\n"
+"をクリックã—ã¦ä»–ã®å›½ã‚’é¸ã‚“ã§ãã ã•ã„。ã‚ãªãŸã®å›½ãŒãƒªã‚¹ãƒˆã«ãªã„ã¨ãã¯\n"
+"「%sã€ã‚’押ã—ã¦ãã ã•ã„。ã™ã¹ã¦ã®å›½åリストãŒè¡¨ç¤ºã•れã¾ã™ã€‚\n"
+"\n"
+" * %s: DrakX ã¯é¸æŠžã•れãŸå›½ã«åŸºã¥ã„ã¦ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ã‚’推定\n"
+"ã—ã¾ã™ã€‚誤ã£ã¦ã„ã‚‹å ´åˆã¯ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: ç¾åœ¨ã®ãƒžã‚¦ã‚¹ã®è¨­å®šã‚’確èªã§ãã¾ã™ã€‚変更ã™ã‚‹å¿…è¦ãŒ\n"
+"ã‚ã‚‹ã¨ãã¯ãƒœã‚¿ãƒ³ã‚’押ã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: 「%sã€ã‚’押ã™ã¨ãƒ—リンタ設定ウィザードãŒ\n"
+"é–‹ãã¾ã™ã€‚æ–°ã—ã„プリンタã®è¿½åŠ æ–¹æ³•ã«ã¤ã„ã¦ã¯ Starter Guide ã®è©²å½“ã™ã‚‹ç« ã‚’\n"
+"å‚ç…§ã—ã¦ãã ã•ã„ã€‚ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã«æŽ²è¼‰ã•れã¦ã„るインターフェースã¯ã€\n"
+"インストール中ã«ä½¿ç”¨ã—ãŸã‚‚ã®ã¨ã»ã¼åŒã˜ã§ã™ã€‚\n"
+"\n"
+" * %s: ã‚µã‚¦ãƒ³ãƒ‰ã‚«ãƒ¼ãƒ‰ãŒæ¤œå‡ºã•れるã¨ã€ã“ã“ã«è¡¨ç¤º\n"
+"ã•れã¾ã™ã€‚表示ã•れãŸã‚‚ã®ãŒãŠä½¿ã„ã®ã‚‚ã®ã¨ç•°ãªã‚‹å ´åˆã¯ã€ãƒœã‚¿ãƒ³ã‚’クリックã—ã¦\n"
+"別ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"\n"
+" * %s: テレビカードをãŠä½¿ã„ã§ã‚れã°ã€ã“ã“ã«\n"
+"設定情報ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ãŠæŒã¡ã®ã‚«ãƒ¼ãƒ‰ãŒè‡ªå‹•検出ã•れãªã‹ã£ãŸå ´åˆã¯\n"
+"「%sã€ã‚’クリックã—ã¦æ‰‹å‹•ã§è¨­å®šã‚’試ã¿ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: æ­£ã—ã設定ã•れã¦ã„ãªã„ã¨ãã¯ã€Œ%sã€ã‚’押ã—ã¦æ­£ã—ã„\n"
+"パラメータã«å¤‰æ›´ã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: DrakX ã¯ã‚°ãƒ©ãƒ•ィカルインターフェースã®è§£åƒåº¦ã‚’\n"
+"\"800x600\" ã‹ \"1024x768\" ã«è¨­å®šã—ã¾ã™ã€‚デフォルトã®è¨­å®šãŒé©å½“ã§ãªã„å ´åˆ\n"
+"ã¯ã€Œ%sã€ã‚’クリックã—ã¦è¨­å®šã—ç›´ã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: インターãƒãƒƒãƒˆã¨ãƒ­ãƒ¼ã‚«ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®è¨­å®šã€‚\n"
+"マニュアルをå‚ç…§ã™ã‚‹ã‹ã€ã‚‚ã—ãã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å®Œäº†å¾Œã« Mageia\n"
+"コントロールセンターã®ãƒ˜ãƒ«ãƒ—ã«å¾“ã£ã¦è¡Œã£ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: ã‚ãªãŸã®ãƒžã‚·ãƒ³ãŒãƒ—ロキシサーãƒã®èƒŒå¾Œã«ã‚れã°\n"
+"ã“ã“ã§ HTTP/FTP プロキシアドレスを設定ã§ãã¾ã™ã€‚\n"
+"\n"
+" * %s: å‰ã®ã‚¹ãƒ†ãƒƒãƒ—ã§è¨­å®šã—ãŸã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ¬ãƒ™ãƒ«ã‚’\n"
+"設定ã—ç›´ã™ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"\n"
+" * %s: インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•れるã®ã§ã‚れã°ã€ä¾µå…¥ãªã©ã®\n"
+"å±é™ºã‹ã‚‰ã‚ãªãŸã®ãƒžã‚·ãƒ³ã‚’守るãŸã‚ã«ãƒ•ァイアウォールを設定ã—ã¦ãã ã•ã„。\n"
+"詳ã—ã„設定方法ã«ã¤ã„ã¦ã¯ã€Starter Guide ã®è©²å½“ã™ã‚‹ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n"
+"\n"
+" * %s: ブートローダã®è¨­å®šã‚’変更ã™ã‚‹ã¨ãã¯ã“ã®ãƒœã‚¿ãƒ³ã‚’\n"
+"押ã—ã¦ãã ã•ã„。(注æ„:ã“れã¯ä¸Šç´šè€…å‘ãã§ã™) å°åˆ·ã•れãŸãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¾ãŸã¯\n"
+"Mageia コントロールセンターã®ãƒ–ートローダã«é–¢ã™ã‚‹ãƒ˜ãƒ«ãƒ—ã‚’å‚ç…§ã—ã¦\n"
+"ãã ã•ã„。\n"
+"\n"
+" * %s: ã“ã“ã§ã¯ã©ã®ã‚µãƒ¼ãƒ“スを有効ã«ã™ã‚‹ã‹ã‚’ç´°ã‹ã設定ã§ãã¾ã™ã€‚\n"
+"サーãƒã«ãªã‚‹ãƒžã‚·ãƒ³ã§ã‚れã°è¨­å®šã‚’見直ã™ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN カード"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN カード"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "グラフィカルインターフェース"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Mageia をインストールã™ã‚‹ãŸã‚ã«ãƒ•ォーマットã™ã‚‹ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã‚’\n"
+"é¸ã‚“ã§ãã ã•ã„。注æ„: ã“ã®ãƒ‰ãƒ©ã‚¤ãƒ–ã®ãƒ‡ãƒ¼ã‚¿ã¯ã™ã¹ã¦å¤±ã‚れã€å›žå¾©ã™ã‚‹ã“ã¨\n"
+"ã¯ã§ãã¾ã›ã‚“。"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"ã“ã®ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã¨ãƒ‘ーティションを削除ã™ã‚‹å ´åˆã¯\n"
+"「%sã€ã‚’クリックã—ã¦ãã ã•ã„。\n"
+"注æ„: 「%sã€ã‚’クリックã™ã‚‹ã¨ã€Windows ã®ãƒ‡ãƒ¼ã‚¿ã‚‚å«ã‚ã€ã“ã®ãƒ‰ãƒ©ã‚¤ãƒ–上ã®\n"
+"ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã¨ãƒ‘ーティションã¯å›žå¾©ã§ããªããªã‚Šã¾ã™ã€‚\n"
+"\n"
+"ã“ã®ãƒãƒ¼ãƒ‰ãƒ‰ãƒ©ã‚¤ãƒ–ã®ãƒ‡ãƒ¼ã‚¿ã¨ãƒ‘ーティションを消去ã›ãšã«ã“ã®æ“作を中止\n"
+"ã™ã‚‹å ´åˆã¯ã€Œ%sã€ã‚’クリックã—ã¦ãã ã•ã„。"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "次㸠->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 戻る"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": 「%sã€ã‚’クリックã™ã‚‹ã¨ãƒ—リンタ設定ウィザードãŒé–‹ãã¾ã™ã€‚\n"
+#~ "æ–°ã—ã„プリンタã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—方法ã«ã¤ã„ã¦ã¯ Starter Guide ã‚’ã”覧ãã ã•"
+#~ "ã„。\n"
+#~ "ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã«æŽ²è¼‰ã•れã¦ã„るインターフェースã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ä¸­ã«ä½¿ç”¨ã—ãŸã‚‚ã®\n"
+#~ "ã¨ã»ã¼åŒã˜ã§ã™ã€‚"
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "root パスワードã®è¨­å®šã¯ GNU/Linux システムã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã«ã¨ã£ã¦æœ€ã‚‚é‡è¦"
+#~ "ãª\n"
+#~ "ãƒã‚¤ãƒ³ãƒˆã§ã™ã€‚root ã¯ã‚·ã‚¹ãƒ†ãƒ ã®ç®¡ç†è€…ã§ã‚りã€ã‚¢ãƒƒãƒ—デート/ユーザã®è¿½åŠ /\n"
+#~ "システム設定ã®å¤‰æ›´ã‚’行ãˆã‚‹å”¯ä¸€ã®å­˜åœ¨ã§ã™ã€‚root ã®æ¨©é™ãŒã‚れã°ã€ã©ã‚“ãªã“"
+#~ "ã¨\n"
+#~ "ã§ã‚‚ã§ãã‚‹ã®ã§ã™ã€‚推測ã•れã«ãã„パスワードをé¸ã°ãªã‘れã°ãªã‚Šã¾ã›ã‚“。極端"
+#~ "ã«\n"
+#~ "ç°¡å˜ãªãƒ‘スワードã«ã™ã‚‹ã¨ DrakX ãŒè­¦å‘Šã‚’発ã—ã¾ã™ã€‚root パスワードã¯å¿…é ˆã§"
+#~ "ã¯\n"
+#~ "ã‚りã¾ã›ã‚“ãŒã€ã“ã“ã§è¨­å®šã—ã¦ãŠãã“ã¨ã‚’å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚GNU/Linux ã‚‚ä»–ã®\n"
+#~ "OS ã¨åŒæ§˜ã«ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã®èª¤æ“作ã¨ã„ã†å±é™ºã«ã•らã•れã¦ã„ã¾ã™ã€‚root ã¯ã™ã¹ã¦"
+#~ "ã®\n"
+#~ "制é™ã‚’è¶Šãˆã¦ã€ã¡ã‚‡ã£ã¨ã—ãŸä¸æ³¨æ„ã‹ã‚‰ãƒ‘ーティションã®å…¨ãƒ‡ãƒ¼ã‚¿ã‚’削除ã™ã‚‹ã“"
+#~ "ã¨\n"
+#~ "ã‚‚ã§ãã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€ç°¡å˜ã« root ã«ãªã‚Œãªã„よã†ã«ã—ã¦ãŠã‹ãªã‘れã°ãªã‚Š"
+#~ "ã¾\n"
+#~ "ã›ã‚“。\n"
+#~ "\n"
+#~ "パスワードã«ã¯æ•°å­—ã¨ã‚¢ãƒ«ãƒ•ァベットãŒä½¿ãˆã¾ã™ã€‚最低ã§ã‚‚ 8 文字以上ã«ã—ã¾"
+#~ "ã™ã€‚\n"
+#~ "決ã—㦠root ã®ãƒ‘スワードを書ãç•™ã‚ãŸã‚Šã—ãªã„ã§ãã ã•ã„。システムをå±é™ºã«\n"
+#~ "ã•らã™ã“ã¨ã«ãªã‚Šã¾ã™ã€‚\n"
+#~ "\n"
+#~ "警告: パスワードを長ãã—ã™ãŽãŸã‚Šè¤‡é›‘ã«ã—ã™ãŽãŸã‚Šã—ãªã„ã§ãã ã•ã„。\n"
+#~ "æ€ã„出ã›ãªããªã‚Šã¾ã™ï¼\n"
+#~ "\n"
+#~ "入力ã—ãŸãƒ‘スワードã¯ç”»é¢ã«ã¯è¡¨ç¤ºã•れã¾ã›ã‚“。打ã¡é–“é•ã„を防ããŸã‚ã«\n"
+#~ "パスワード㯠2 回入力ã—ã¾ã™ã€‚åŒã˜æ‰“ã¡é–“é•ã„ã‚’ 2 度ã—ã¦ã—ã¾ã†ã¨ã€æœ€åˆã«\n"
+#~ "root ã«ãªã‚‹ã«ã¯ãã®ã€Œæ„図ã«åã—ãŸã€ãƒ‘スワードを入力ã—ãªã‘れã°ãªã‚Šã¾ã›"
+#~ "ん。\n"
+#~ "\n"
+#~ "ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ュータã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’èªè¨¼ã‚µãƒ¼ãƒã«ç®¡ç†ã•ã›ã‚‹å ´åˆã¯\n"
+#~ "「%sã€ã‚’押ã—ã¦ãã ã•ã„。\n"
+#~ "\n"
+#~ "ã‚ãªãŸã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒ LDAP/NIS/PDC Windows Domain èªè¨¼ã‚µãƒ¼ãƒ“スã®ã„ãšã‚Œ"
+#~ "ã‹\n"
+#~ "を使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ã€Œ%sã€ã«æ­£ã—ã„ã‚‚ã®ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+#~ "䏿˜Žãªå ´åˆã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ç®¡ç†è€…ã«ç¢ºèªã—ã¦ãã ã•ã„。\n"
+#~ "\n"
+#~ "何らã‹ã®ç†ç”±ã§ãƒ‘スワードを覚ãˆã‚‰ã‚Œãªã„ã€ã‚ã‚‹ã„ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«ã¯ä¸€åˆ‡\n"
+#~ "接続ã—ãªã„ã€ã¾ãŸã¯ã€ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ュータを使ã†ã™ã¹ã¦ã®äººã‚’å…¨é¢çš„ã«ä¿¡é ¼\n"
+#~ "ã§ãã‚‹ã€ã¨ã„ã£ãŸå ´åˆã«ã¯ã€Œ%sã€ã‚’é¸ã‚“ã§ã‚‚ã„ã„ã§ã—ょã†ã€‚"
+
+#~ msgid "authentication"
+#~ msgstr "èªè¨¼"
diff --git a/perl-install/install/help/po/ko.po b/perl-install/install/help/po/ko.po
new file mode 100644
index 000000000..b1aa3c2ff
--- /dev/null
+++ b/perl-install/install/help/po/ko.po
@@ -0,0 +1,1527 @@
+# Korean translation of drakbootdisk.
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Jaegeum Choe <baedaron@hananet.net>, 2001.
+#
+# changes asked by HP people -- pablo 2003-01-23
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2002-09-09 09:08+0900\n"
+"Last-Translator: Jaegeum Cze <baedaron@hanafos.com>\n"
+"Language-Team: Korean <beadaron@hanafos.com>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"ë” ì§„í–‰í•˜ê¸° ì „ì— ì‚¬ìš©ìž ê³„ì•½ì„œë¥¼ ìžì„¸í•˜ê²Œ ì½ì–´ 보세요.\n"
+"ì‚¬ìš©ìž ê³„ì•½ì„œëŠ” ì „ì²´ 맨드리바 리눅스 ë°°í¬ë³¸ì„ í¬ê´„하는 ë‚´ìš©ì´ë©°,\n"
+"만약 ë™ì˜í•˜ì§€ 않으신다면 「거부ã€ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”. ê±°ë¶€ ë²„íŠ¼ì€ í˜„ìž¬ 설치를\n"
+"ì¦‰ê° ì¢…ë£Œí•˜ê²Œ 합니다. 설치를 계ì†í•˜ê³  싶다면 「ë™ì˜ã€ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "aboot를 사용하시겠습니까?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ì„ íƒëœ 하드디스í¬ìƒì˜ 기존 리눅스 íŒŒí‹°ì…˜ì´ ìœ„ì— ì—´ê±°ë˜ì–´ 있습니다.\n"
+"ë§ˆë²•ì‚¬ì— ì˜í•´ ì´ë¯¸ ì„¤ì •ëœ ì‚¬í•­ì„ ë³´ì¡´í•  ìˆ˜ë„ ìžˆìœ¼ë©°, ì´ëŠ” ëŒ€ë¶€ë¶„ì˜ ì¼ë°˜\n"
+"ì„¤ì¹˜ì— ì ì ˆí•œ 설정입니다. 만약 ì§ì ‘ 변경하시겠다면, 최소한 루트 파티션"
+"(「/ã€)\n"
+"ì€ ë°˜ë“œì‹œ 지정해야 합니다. 너무 ìž‘ì€ íŒŒí‹°ì…˜ì„ ì„ íƒí•˜ì§€ëŠ” 마세요. 충분한 소프"
+"트웨어\n"
+"를 설치하지 못하는 수가 있습니다. 만약 ê°œì¸ ë°ì´í„°ê°€ 별ë„ì˜ íŒŒí‹°ì…˜ì— ì €ìž¥ë˜ë„"
+"ë¡\n"
+"하고 싶다면, 「/homeã€íŒŒí‹°ì…˜ì„ 별ë„로 만드세요.(ì˜¤ì§ ë¦¬ëˆ…ìŠ¤ íŒŒí‹°ì…˜ì´ ë‘˜ ì´ìƒ"
+"ì¼\n"
+"경우ì—ë§Œ 가능합니다.)\n"
+"\n"
+"ê° íŒŒí‹°ì…˜ì€ ë‹¤ìŒê³¼ ê°™ì´ ì—´ê±°ë©ë‹ˆë‹¤: 「ì´ë¦„ã€,「용량ã€.\n"
+"\n"
+"「ì´ë¦„ã€ì˜ì—­ì˜ 구조: ã€Œí•˜ë“œë””ìŠ¤í¬ ìœ í˜•ã€,ã€Œí•˜ë“œë””ìŠ¤í¬ ë²ˆí˜¸ã€,\n"
+"「파티션 번호ã€(가령, 「hda1ã€).\n"
+"\n"
+"ã€Œí•˜ë“œë””ìŠ¤í¬ ìœ í˜•ã€ì€, IDE 디스í¬ì¼ 경우ì—는 「hdã€ì´ë©°,\n"
+"SCSI 디스í¬ì¼ 경우ì—는 「sdã€ìž…니다.\n"
+"\n"
+"ã€Œí•˜ë“œë””ìŠ¤í¬ ë²ˆí˜¸ã€ëŠ” í•­ìƒ ã€Œhdã€ë˜ëŠ” 「sdã€ë’¤ì— 오는 문ìžìž…니다.\n"
+"IDE 하드디스í¬ì˜ 경우:\n"
+"\n"
+" â—‹ 「aã€ëŠ” 「주 IDE 제어기ìƒì˜ 주 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「bã€ëŠ” 「주 IDE 제어기ìƒì˜ ë³´ì¡° 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「cã€ëŠ” 「보조 IDE 제어기ìƒì˜ 주 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「dã€ëŠ” 「보조 IDE 제어기ìƒì˜ ë³´ì¡° 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+"SCSI 하드디스í¬ì˜ 경우, 「aã€ëŠ” 「최소 SCSI IDã€, 「bã€ëŠ” ã€Œë‹¤ìŒ ìµœì†Œ SCSI "
+"IDã€\n"
+"와 ê°™ì€ ì‹ìœ¼ë¡œ ì˜ë¯¸ë¥¼ 가집니다."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"맨드리바 리눅스 설치 ì‹œìŠ¤í…œì€ ì—¬ëŸ¬ ìž¥ì˜ CD로 구성ë˜ì–´ 있습니다.\n"
+"드레ì´í¬X는 ì„ íƒëœ ê°ê°ì˜ 팩키지가 ì–´ëŠ CDì— ë“¤ì–´ 있는지 ì´ë¯¸ 알고 있습니"
+"다.\n"
+"필요시 현재 CD를 ìžë™ìœ¼ë¡œ 꺼내고 다른 CDì˜ ì‚½ìž…ì„ ìš”ì²­í•  것입니다."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"ì´ì œ 시스템ìƒì— 설치할 í”„ë¡œê·¸ëž¨ë“¤ì„ ì§€ì •í•  차례입니다.\n"
+"맨드리바 리눅스ì—는 설치할 수 있는 수천 ê°œì˜ í”„ë¡œê·¸ëž¨ë“¤ì´ ìžˆê¸° 때문ì—\n"
+"사용ìžê°€ ê·¸ê²ƒë“¤ì„ ëª¨ë‘ ë‹¤ 알지는 못할 것입니다.\n"
+"\n"
+"만약 표준 CD 설치를 수행하고 있는 중ì´ë¼ë©´, 현재 가지고 있는 CDë“¤ì— ëŒ€í•´\n"
+"질문할 것입니다. 가지고 있는 CDë“¤ì˜ ë¼ë²¨ì„ 확ì¸í•˜ê³  현재 ë‹˜ì˜ ìƒí™©ì— 맞는\n"
+"ì„ íƒ ìƒìžë¥¼ 지정하세요. 계ì†í•  준비가 ë˜ì—ˆìœ¼ë©´, 「확ì¸ã€ì„ 누르세요.\n"
+"\n"
+"íŒ©í‚¤ì§€ë“¤ì€ ìš©ë„ì— ë”°ë¼ ê·¸ë£¹ìœ¼ë¡œ 나열ë˜ì–´ 있습니다.\n"
+"그룹들 ìžì²´ëŠ” ë˜ë‹¤ì‹œ 네 ê°œì˜ ì˜ì—­ìœ¼ë¡œ 나열ë˜ì–´ 있습니다:\n"
+"\n"
+" â—‹ 「워í¬ìŠ¤í…Œì´ì…˜ã€: ì‹œìŠ¤í…œì„ ì›Œí¬ìŠ¤í…Œì´ì…˜ìœ¼ë¡œ 사용할 계íšì´ë¼ë©´,\n"
+"하나 ì´ìƒì˜ 해당 ê·¸ë£¹ì„ ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+" â—‹ 「개발ã€: ì‹œìŠ¤í…œì„ í”„ë¡œê·¸ëž˜ë°ì˜ ìš©ë„로 사용하려 한다면, ì›í•˜ëŠ” 그룹들ì„\n"
+"ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+" â—‹ 「서버ã€: ë으로, ì‹œìŠ¤í…œì´ ì„œë²„ë˜ê¸°ë¥¼ ì›í•œë‹¤ë©´, 여기서 ëŒ€ë¶€ë¶„ì˜ ì¼ë°˜ 서비"
+"스들ì´\n"
+"설치ë˜ë„ë¡ ì„ íƒí•  수 있습니다.\n"
+"\n"
+" â—‹ 「그래픽 환경ã€: 여기는 ë‹˜ì´ ì„ í˜¸í•˜ëŠ” 그래픽 í™˜ê²½ì„ ì„ íƒí•˜ëŠ” 곳입니다.\n"
+"그래픽 환경 워í¬ìŠ¤í…Œì´ì…˜ì„ ì›í•œë‹¤ë©´, 최소한 하나는 ì„ íƒí•´ì•¼ 합니다!\n"
+"\n"
+"마우스 í¬ì¸í„°ë¥¼ 그룹 ì´ë¦„들 위로 올리면, 해당 ê·¸ë£¹ì— ëŒ€í•œ ìž‘ì€ í’ì„  ë„움ë§"
+"ì„\n"
+"보여 줄 것입니다.\n"
+"\n"
+"「개별 팩키지 ì„ íƒã€ì˜µì…˜ì„ ì„ íƒí•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.\n"
+"ì´ ì˜µì…˜ì€ ë‹˜ì´ ì œê³µë˜ì–´ì§€ëŠ” íŒ©í‚¤ì§€ë“¤ì— ëŒ€í•´ 잘 알고 있거나, 설치ë˜ëŠ” 팩키지들"
+"ì— ëŒ€í•œ\n"
+"ì´ì²´ì ì¸ 제어를 ì›í•  ê²½ìš°ì— ìœ ìš©í•  것입니다.\n"
+"\n"
+"만약 ë‹˜ì´ ã€Œì—…ë°ì´íЏã€ëª¨ë“œë¡œ 설치를 시작했다면, ê¸°ì¡´ì— ì„¤ì¹˜ë˜ì§€ ì•Šì€ íŒ©í‚¤ì§€ë“¤"
+"ì´\n"
+"설치ë˜ëŠ” ê²ƒì„ ë§‰ê¸°ìœ„í•´ 모든 ê·¸ë£¹ì„ ì„ íƒí•´ì œí•  수 있습니다. ì´ë ‡ê²Œ 하는 것ì€\n"
+"기존 ì‹œìŠ¤í…œì„ ì—…ë°ì´íŠ¸í•˜ê±°ë‚˜ 고치기 위한 ì¢‹ì€ ë°©ë²•ìž…ë‹ˆë‹¤."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "업그레ì´ë“œ"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "문서"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "최소 설치"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"ì´ì œ ë¶€íŒ…ì‹œì— ì–´ë–¤ 서비스를 ìžë™ìœ¼ë¡œ 시작하게 할지를 ì„ íƒí•´ì•¼ 합니다.\n"
+"\n"
+"현재 ì„¤ì¹˜ëœ ëª¨ë“  ì„œë¹„ìŠ¤ë“¤ì´ ì—¬ê¸°ì—서 보여지고 있습니다.\n"
+"신중하게 검토해서 ë¶€íŒ…ì‹œì— í•­ìƒ í•„ìš”ë¡œí•˜ëŠ” ê²ƒì´ ì•„ë‹ˆë¼ë©´ ì„ íƒì„ 해제하세요.\n"
+"\n"
+"마우스를 서비스 ì´ë¦„들 위로 올리면, ê° ì„œë¹„ìŠ¤ì— ëŒ€í•œ 간단한 ì„¤ëª…ì„ ë³´ì—¬ 줄 것"
+"입니다.\n"
+"만약 ì–´ë–¤ 서비스가 필요한 것ì¸ì§€ 아닌지를 잘 모르겠다면,\n"
+"기본값으로 그냥 ë‘는 ê²ƒì´ ì•ˆì „í•œ ì„ íƒìž…니다.\n"
+"\n"
+"ì´ ì»´í“¨í„°ë¥¼ 서버용으로 사용하려 한다면, ì´ ë‹¨ê³„ì—서 매우 주ì˜í•´ì•¼ 합니다.\n"
+"필요하지 ì•Šì€ ì„œë¹„ìŠ¤ê°€ 시작ë˜ëŠ” ê²ƒì€ ë°”ëžŒì§í•˜ì§€ 않습니다. ì¼ë¶€ 서비스는 \n"
+"서버ìƒì—서 실핸ëœë‹¤ë©´ 위험할 ìˆ˜ë„ ìžˆë‹¤ëŠ” ê²ƒì„ ëª…ì‹¬í•˜ì„¸ìš”. ì›ì¹™ì ìœ¼ë¡œ \n"
+"ê¼­ 필요한 서비스들만 ì„ íƒí•˜ì„¸ìš”."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "ìžë™ 시간 ë™ê¸°í™” (NTP 사용)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"마지막으로, ë¶€íŒ…ì‹œì— ìžë™ìœ¼ë¡œ 그래픽 í™˜ê²½ì„ ì‚¬ìš©í•  것ì¸ì§€ë¥¼ 질문할 것입니"
+"다.\n"
+"주ì˜: ì´ ì§ˆë¬¸ì€ ì„¤ì •ì„ í…ŒìŠ¤íŠ¸í•˜ì§€ 않았ì„ì§€ë¼ë„ 나타나게 ë  ê²ƒìž…ë‹ˆë‹¤.\n"
+"ì‹œìŠ¤í…œì„ í™•ì‹¤ížˆ 서버용으로 사용할 것ì´ê±°ë‚˜, 화면 ì„¤ì •ì— ì„±ê³µí•˜ì§€ 못한 경우ë¼"
+"ë©´\n"
+"「아니오ã€ë¥¼ 누르세요."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"ì´ì œ 하드디스í¬ì˜ ì–´ë””ì— ë¦¬ëˆ…ìŠ¤ 맨드리바를 설치할지를\n"
+"ì„ íƒí•´ì•¼ 합니다. 만약 하드디스í¬ê°€ 완전히 비어 있거나 ë˜ëŠ”\n"
+"다른 ìš´ì˜ì²´ì œê°€ í•˜ë“œë””ìŠ¤í¬ ì „ì²´ë¥¼ ì ìœ í•˜ê³  있다면, 파티션ì„\n"
+" 나누어야 합니다. íŒŒí‹°ì…˜ì„ ë‚˜ëˆˆë‹¤í•¨ì€ ë¦¬ëˆ…ìŠ¤ 맨드리바가\n"
+"ì„¤ì¹˜ë  ê³µê°„ì„ í™•ë³´í•˜ê¸° 위하여 디스í¬ë¥¼ 논리ì ìœ¼ë¡œ 분할한다는 ì˜ë¯¸ìž…니다.\n"
+"\n"
+"ì¼ë°˜ì ìœ¼ë¡œ 파티션 ê³¼ì •ì„ ê±°ì³ ë²„ë¦¬ë©´ 기존 ë°ì´í„°ì˜ 복구가 불가능해지기\n"
+"때문ì—,초보ìžì—게는 고민스럽고 걱정스러운 작업입니다. 하지만 마법사를\n"
+"사용하면 ì´ ìž‘ì—…ì„ ì‰½ê²Œ í•  수 있습니다. 시작하기 ì „ì—, 충분한 ì‹œê°„ì„ ê°€ì§€ê³ \n"
+"ì‚¬ìš©ìž ì„¤ëª…ì„œë¥¼ ì½ì–´ 보세요.\n"
+"\n"
+"현재 전문가 모드로 설치를 ì§„í–‰ 중ì´ë¼ë©´, 리눅스 ë§¨ë“œë¦¬ë°”ì˜ íŒŒí‹°ì…˜ ë¶„í•  ë„구"
+"ì¸\n"
+"디스í¬ë“œë ˆì´í¬ë¥¼ 만나게 ë  ê²ƒìž…ë‹ˆë‹¤. ì´ ë„구는 íŒŒí‹°ì…˜ë“œë¥´ì´ ì„¸ë°€í•œ ì¡°ì •ì„ ê°€"
+"능하게\n"
+"합니다. ì„¤ëª…ì„œì˜ ë””ìŠ¤í¬ë“œë ˆì´í¬ ìž¥ì„ ë³´ì„¸ìš”; ì‚¬ìš©ë²•ì´ ë™ì¼í•©ë‹ˆë‹¤. 위ì—서 언급"
+"했듯ì´\n"
+"í™”ë©´ì— ìžˆëŠ” 「마법사ã€ë²„íŠ¼ì„ ëˆŒëŸ¬ì„œ, 파티션 ë¶„í•  ìž‘ì—…ì„ ìœ„í•œ 마법사를\n"
+"실행할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.\n"
+"\n"
+"만약 ì´ì „ì— ë¦¬ëˆ…ìŠ¤ë¥¼ 설치한 ì ì´ 있거나 다른 파티션 ë„구로 만들어 ë†“ì€ ë¦¬ëˆ…ìŠ¤"
+"ìš©\n"
+"íŒŒí‹°ì…˜ë“¤ì´ ì´ë¯¸ 존재한다면, 리눅스 ì„¤ì¹˜ì— ì‚¬ìš©í•  파티션들ì„\n"
+"ì„ íƒë§Œ 하면 ë©ë‹ˆë‹¤.\n"
+"\n"
+"만약 ì•„ì§ ë¦¬ëˆ…ìŠ¤ìš© íŒŒí‹°ì…˜ì´ ì—†ë‹¤ë©´, 새로 만들어야 합니다. 그러기 위해서는\n"
+"ìœ„ì— ìžˆëŠ” 마법사를 사용하세요. 하드디스í¬ì˜ ì„¤ì •ì— ë”°ë¼ ë‹¤ìŒê³¼ ê°™ì€\n"
+"몇 ê°€ì§€ì˜ ë°©ë²•ì´ ìžˆìŠµë‹ˆë‹¤:\n"
+"\n"
+" â—‹ 빈 공간 사용: 빈 디스í¬ì˜ ìžë™ 파티션 ë¶„í•  ìž‘ì—…ì„ í•˜ê²Œ ë©ë‹ˆë‹¤.\n"
+"파티션 ë¶„í•  ìž‘ì—…ì— ëŒ€í•´ ë” ì´ìƒ 신경쓸 필요가 없게 ë©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 기존 파티션 사용: 마법사가 ê¸°ì¡´ì˜ ë¦¬ëˆ…ìŠ¤ íŒŒí‹°ì…˜ì„ ë°œê²¬í•œ 경우입니다.\n"
+"ê¸°ì¡´ì˜ íŒŒí‹°ì…˜ì—다가 리눅스를 설치할려면, ì´ê²ƒì„ ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+" â—‹ 윈ë„우즈 íŒŒí‹°ì…˜ì˜ ë¹ˆ 공간 사용: 만약 MS 윈ë„우즈가 설치ë˜ì–´ 있고 모든 디스"
+"í¬ ê³µê°„ì„ ì‚¬ìš©í•˜ê³  있다면,\n"
+"리눅스용 ê³µê°„ì„ ìƒˆë¡œ 만들어야 합니다. ì´ë ‡ê²Œ 하기위해서는, 윈ë„우즈 íŒŒí‹°ì…˜ì„ "
+"지우거나(「전체 ë””ìŠ¤í¬ ì‚­ì œã€\n"
+"와 「전문가 모드ã€ë¶€ë¶„ì„ ì°¸ì¡°í•˜ì„¸ìš”.), 윈ë„우즈 íŒŒí‹°ì…˜ì˜ í¬ê¸°ë¥¼ 재조정하여 ê³µ"
+"ê°„ì„ í™•ë³´í•  수 있습니다. 윈ë„우즈\n"
+"íŒŒí‹°ì…˜ì˜ ìž¬ì¡°ì •ì€ ê¸°ì¡´ì˜ ë°ì´í„°ë¥¼ 파괴하지 않기 때문ì—, 윈ë„우즈와 리눅스 맨"
+"드레ì´í¬ë¥¼ 한 컴퓨터ì—서 함께\n"
+"ì‚¬ìš©í•˜ê³ ìž í•œë‹¤ë©´ ì´ê²ƒì´ 권장ë˜ëŠ” 방법입니다.\n"
+"\n"
+"ì´ ë°©ë²•ì„ ì„ íƒí•œë‹¤ë©´, 윈ë„우즈 íŒŒí‹°ì…˜ì˜ í¬ê¸°ê°€ 현재보다 줄어들기 ë•Œë¬¸ì— ìœˆë„"
+"우즈를\n"
+"사용할 때ì—는 소프트웨어를 설치하거나 ë°ì´í„°ë¥¼ 저장할 빈 ê³µê°„ì´ ê·¸ë§Œí¼ ì ì–´ì§„"
+"다는\n"
+"ê²ƒì„ ìœ ë…하세요.\n"
+"\n"
+" â—‹ ì „ì²´ ë””ìŠ¤í¬ ì‚­ì œ: 만약 디스í¬ìƒì˜ 모든 기존 파티션과 ë°ì´í„°ë¥¼ 삭제하고\n"
+"리눅스 맨드리바를 위한 파티션으로 바꾸고 싶다면, ì´ê²ƒì„ ì„ íƒí•˜ì„¸ìš”.\n"
+"주ì˜í•˜ì„¸ìš”: ì¼ë‹¨ ì´ë ‡ê²Œ 하고나면 다시 ë˜ëŒë¦´ 수 없습니다.\n"
+"\n"
+" !! ì´ ì˜µì…˜ì„ ì„ íƒí•˜ê²Œ ë˜ë©´, 디스í¬ìƒì˜ 모든 ë°ì´í„°ê°€ ì†ì‹¤ë©ë‹ˆë‹¤. !!\n"
+"\n"
+" â—‹ 윈ë„우즈 제거: 디스í¬ìƒì˜ 모든 íŒŒí‹°ì…˜ì„ ì‚­ì œí•˜ê³ , ì´ˆê¸°í™”ëœ ë””ìŠ¤í¬ ìƒíƒœì—"
+"서\n"
+"파티션 ìž‘ì—…ì„ ë‹¤ì‹œ 합니다. 디스í¬ìƒì˜ 모든 ë°ì´í„°ëŠ” ì†ì‹¤ë©ë‹ˆë‹¤.\n"
+"\n"
+" !! ì´ ì˜µì…˜ì„ ì„ íƒí•˜ê²Œ ë˜ë©´, 디스í¬ìƒì˜ 모든 ë°ì´í„°ê°€ ì†ì‹¤ë©ë‹ˆë‹¤. !!\n"
+"\n"
+" â—‹ 전문가 모드: 만약 수ë™ìœ¼ë¡œ 파티션 ìž‘ì—…ì„ í•˜ê³ ìž í•œë‹¤ë©´, ì´ê²ƒì„ ì„ íƒí•˜ì„¸"
+"ìš”.\n"
+"ì´ ë°©ë²•ì€ ëŒ€ë‹¨ížˆ 강력하지만 ë˜í•œ 위험할 수 있다는 ê²ƒì„ ëª…ì‹¬í•˜ì„¸ìš”. 쉽게 ë°ì´"
+"터를\n"
+"잃어 버릴 수 있습니다. 전문ì ì¸ ì§€ì‹ì´ 없다면, ì´ ë°©ë²•ì€ ì ˆëŒ€ ì„ íƒí•˜ì§€ 마세"
+"ìš”."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "ê¸°ì¡´ì˜ íŒŒí‹°ì…˜ 사용"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ì „ì²´ ë””ìŠ¤í¬ ì‚­ì œ"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"설치를 완료하였습니다. ë‹˜ì˜ GNU/리눅스 ì‹œìŠ¤í…œì€ ì´ì œ 사용할 준비가\n"
+"ë˜ì—ˆìŠµë‹ˆë‹¤. ì‹œìŠ¤í…œì„ ë‹¤ì‹œ 부팅하려면 「확ì¸ã€ì„ 누르세요.\n"
+"컴퓨터가 다시 부팅ë˜ë©´, (다중 ë¶€íŒ…ì´ ì„¤ì •ë˜ì—ˆì„ 경우ì—) ë‹˜ì´ ì„ í˜¸í•˜ëŠ”\n"
+"ìš´ì˜ì²´ì œë¥¼ 시작할 수 있습니다.\n"
+"\n"
+"「고급ã€ë²„튼(ì ë¬¸ê°€ 모드ì—ë§Œ 있ìŒ)ì„ ëˆ„ë¥´ë©´ ë‘ ê°œì˜ ì¶”ê°€ ë²„íŠ¼ì´ ë‚˜íƒ€ë„™ë‹ˆë‹¤:\n"
+"\n"
+" â—‹ 「ìžë™ 설치 플로피 ìƒì„±ã€: ë‹˜ì´ ì§€ê¸ˆê¹Œì§€ 설치한 ë‚´ìš©ì„ ê´€ë¦¬ìžì˜ 별다른\n"
+"ë„ì›€ì—†ì´ ìžë™ìœ¼ë¡œ ì „ì²´ 설치를 수행하게 하는\n"
+"ìžë™ 설치 플로피 디스í¬ë¥¼ 만듭니다.\n"
+"\n"
+" 주ì˜: ë²„íŠ¼ì„ ëˆ„ë¥´ë©´ ë‘ ê°œì˜ ê°œë³„ì ì¸ ì˜µì…˜ì´ ë‚˜íƒ€ë‚©ë‹ˆë‹¤:\n"
+"\n"
+" â—‹ 「재ìƒã€: 파티션 나누기 작업만 제외하고, 나머지 ê³¼ì •ì€ ìžë™ì„¤ì¹˜ë¡œ\n"
+"수행하는 ìžë™ì„¤ì¹˜ 플로피를 만듭니다.\n"
+"\n"
+" â—‹ 「ìžë™í™”ã€: 디스í¬ìƒì˜ 모든 ë°ì´í„°ë¥¼ 삭제하고 모든 íŒŒí‹°ì…˜ì´ ë‹¤ì‹œ\n"
+"만들어지는 완벽한 ìžë™ 설치를 수행하는 플로피를 만듭니다.\n"
+"\n"
+" ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë©´, ë§Žì€ ìˆ˜ì˜ ë¹„ìŠ·í•œ ì»´í“¨í„°ì— ì„¤ì¹˜ìž‘ì—…ì„ í•  때 편리합니"
+"다.\n"
+" ìžì„¸í•œ 정보는 ì €í¬ ìœ•ì‚¬ì´íŠ¸ì˜ ìžë™ì„¤ì¹˜ê´€ë ¨ ë¶€ë¶„ì„ ì°¸ì¡°í•˜ì„¸ìš”.\n"
+"\n"
+" â—‹ 「팩키지 ì„ íƒì‚¬í•­ 저장ã€(*): 앞 단계ì—서 ì„ íƒí•œ 팩키지 목ë¡ì„ 저장합니"
+"다.\n"
+"ë˜ ë‹¤ë¥¸ 설치를 수행할 때, 플로피를 드ë¼ì´ë¸Œì— 넣고, [F1]키를 눌러서\n"
+"설치 í™”ë©´ì´ ë„ì›€ë§ í™”ë©´ìœ¼ë¡œ 들어가게 한후, 「linux defcfg=\"floppy\"ã€ë¼ê³ \n"
+"입력하세요.\n"
+"\n"
+"(*) ë‹˜ì€ FAT으로 í¬ë§·ëœ 플로피 하나를 가지고 있어야 합니다.\n"
+" (리눅스ì—서 í¬ë§·í•˜ë ¤ë©´, 「mformat a:ã€ëª…ë ¹ì„ ì‚¬ìš©í•˜ì„¸ìš”.)"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "ìžë™ 설치 플로피 ë””ìŠ¤í¬ ìƒì„±"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"새로 만들어진 íŒŒí‹°ì…˜ë“¤ì€ í¬ë§·ë˜ì–´ì ¸ì•¼ 합니다.\n"
+"(í¬ë§·ì´ë¼ í•¨ì€ íŒŒì¼ ì‹œìŠ¤í…œì„ ë§Œë“ ë‹¤ëŠ” ì˜ë¯¸ìž…니다.)\n"
+"\n"
+"지금 ê¸°ì¡´ì˜ ë°ì´í„°ë¥¼ 삭제하기 위해서 기존 파티션들ì„\n"
+"다시 í¬ë§·í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. 그렇게 하고 싶다면, 해당 파티션들ë„\n"
+"ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+"주ì˜: 모든 기존 íŒŒí‹°ì…˜ë“¤ì„ ë‹¤ì‹œ í¬ë§·í•  필요는 없습니다.\n"
+"(「/ã€,「/usrã€,「/varã€ì™€ ê°™ì€) ìš´ì˜ì²´ì œë¥¼ ë‹´ê³  있는 파티션들ì€\n"
+"다시 í¬ë§·í•˜ë”ë¼ë„, (「/homeã€ê³¼ ê°™ì€) ë°ì´í„°ë¥¼ 단고 있는 파티션들ì€\n"
+", 기존 ë°ì´í„°ë¥¼ 보존하고 ì‹¶ì„ ê²½ìš°, 다시 í¬ë§·í•  필요가 없습니다.\n"
+"\n"
+"íŒŒí‹°ì…˜ë“¤ì„ ì„ íƒí•  때 주ì˜í•˜ì„¸ìš”. ì¼ë‹¨ í¬íŒ©ì´ ë˜ê³ ë‚˜ë©´,\n"
+"ì„ íƒëë˜ íŒŒí‹°ì…˜ìƒì— ì¡´ìž¬í–ˆë˜ ëª¨ë“  ë°ì´í„°ëŠ” ì‚­ì œë˜ë©°,\n"
+"복구가 불가능해 집니다.\n"
+"\n"
+"í¬ë§·í•  준비가 ë˜ì—ˆìœ¼ë©´, 「확ì¸ã€ì„ 누르세요.\n"
+"\n"
+"맨드리바 리눅스 설치용 íŒŒí‹°ì…˜ì„ ë‹¤ì‹œ ì„ íƒí•˜ê³  싶다면,\n"
+"「취소ã€ë¥¼ 누르세요.\n"
+"\n"
+"디스í¬ìƒì˜ ì†ìƒëœ ë¸”ëŸ­ì„ ì²´í¬í•˜ë©° í¬ë§·í•˜ê³  싶다면,\n"
+"「고급ã€ì„ 누르세요."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"ì´ì œ ì»´í“¨í„°ì˜ ë³´ì•ˆ ìˆ˜ì¤€ì„ ì„ íƒí•  단계입니다.\n"
+"ìžìœ ë¡œìš´ ì‚¬ìš©ì„ ìœ„í•´ì„œëŠ” 컴퓨터가 보다 ë” ë§Žì´ ê°œë°©ë˜ì–´ì ¸ì•¼ 하며,\n"
+"ì €ìž¥ëœ ë°ì´í„°ì˜ ì¤‘ìš”ì„±ì´ í¬ë©´ í´ìˆ˜ë¡, ë” ë†’ì€ ë³´ì•ˆ ìˆ˜ì¤€ì´ ìœ ì§€ë˜ì–´ì•¼ 합니"
+"다.\n"
+"그러나 ì¼ë°˜ì ìœ¼ë¡œ 보다 ë†’ì€ ë³´ì•ˆ ìˆ˜ì¤€ì€ ë³´ë‹¤ ë§Žì€ ì‚¬ìš©ìƒì˜ ë¶ˆíŽ¸í•¨ì„ ê°ìˆ˜í•´ì•¼"
+"만\n"
+"ì´ë£¨ì–´ì§ˆ 수 있ìŒì„ 유ë…하세요. ê° ë³´ì•ˆ ìˆ˜ì¤€ì´ ì˜ë¯¸í•˜ëŠ” ë°”ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´"
+"를\n"
+"알고 싶다면 ã€Œì‚¬ìš©ìž ì§€ì¹¨ì„œã€ì˜ MSEC ìž¥ì„ ì°¸ì¡°í•˜ì„¸ìš”.\n"
+"\n"
+"ì–´ëŠ ê²ƒì„ ì„ íƒí•´ì•¼ í• ì§€ 잘 모르겠다면, ê¸°ë³¸ê°’ì„ ìœ ì§€í•˜ì„¸ìš”."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "보안 ê´€ë¦¬ìž (ë¡œê·¸ì¸ ë˜ëŠ” ì´ë©”ì¼)"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"ì´ì œ ì–´ëŠ íŒŒí‹°ì…˜ì´ ë§¨ë“œë¦¬ë°” ë¦¬ëˆ…ìŠ¤ì˜ ì„¤ì¹˜ìš©ìœ¼ë¡œ 사용ë˜ì–´ì•¼ 할지를\n"
+"ì„ íƒí•´ì•¼ 합니다. ì´ì „ì— ë‹¤ë¥¸ GNU/리눅스를 설치한 ì ì´ 있거나, 다른 파티션\n"
+"ë„구를 사용하여 ì´ë¯¸ íŒŒí‹°ì…˜ë“¤ì´ ì •ì˜ë˜ì–´ 있다면, 기존 íŒŒí‹°ì…˜ì„ ê·¸ëŒ€ë¡œ 사용\n"
+"í•  수 있습니다. 그렇지 않다면 하드디스í¬ì˜ íŒŒí‹°ì…˜ë“¤ì„ ì§€ê¸ˆ 만들어야 합니다.\n"
+"\n"
+"íŒŒí‹°ì…˜ì„ ë§Œë“¤ë ¤ë©´, 먼저 하드디스í¬ë¥¼ ì„ íƒí•˜ì„¸ìš”. íŒŒí‹°ì…˜ì„ ë§Œë“¤ì—¬ëŠ” 하드디스í¬"
+"ê°€\n"
+"첫 번째 IDE 디스í¬ë¼ë©´ 「hdaã€, ë‘ ë²ˆì§¸ IDE 디스í¬ë¼ë©´ 「hdbã€ì™€ ê°™ì€ ì‹ì´"
+"ë©°,\n"
+"첫 번째 SCSI 디스í¬ë¼ë©´ 「sdaã€ì™€ ê°™ì€ ì‹ìž…니다.\n"
+"\n"
+"íŒŒí‹°ì…˜ì„ ë‚˜ëˆŒ 때, ë‹¤ìŒ ì˜µì…˜ì„ ì‚¬ìš©í•  수 있습니다:\n"
+"\n"
+" â—‹ ã€Œëª¨ë‘ ì‚­ì œã€: ì„ íƒëœ 디스í¬ì˜ 모든 기존 íŒŒí‹°ì…˜ì„ ì‚­ì œí•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「ìžë™ 할당ã€: ì„ íƒëœ 디스í¬ì˜ 빈 ê³µê°„ì— ìžë™ìœ¼ë¡œ EXT2와 스왑 파티션ì„\n"
+"할당합니다.\n"
+"\n"
+" â—‹ 「파티션 í…Œì´ë¸” 복구ã€: 파티션 í…Œì´ë¸”ì´ ì†ìƒë˜ì–´ ìžˆì„ ê²½ìš°, ì´ ì˜µì…˜ìœ¼ë¡œ\n"
+"ì†ì‚°ëœ í…Œì´ë¸”ì„ ë³µêµ¬í•©ë‹ˆë‹¤. !!주ì˜!! 복구시ë„ê°€ 실패할 ìˆ˜ë„ ìžˆë‹¤ëŠ” 것ì„\n"
+"명심하세요.\n"
+"\n"
+" â—‹ 「ë˜ëŒë¦¬ê¸°ã€: 변경 ì‚¬í•­ì„ ì·¨ì†Œí•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「다시 ì½ê¸°ã€: 모든 변경 ì‚¬í•­ì„ ì·¨ì†Œí•˜ê³ , 초기 파티션 í…Œì´ë¸”ì„ ë‹¤ì‹œ ì½ìе"
+"니다.\n"
+"\n"
+" â—‹ 「마법사ã€: 마법사를 실행하여 íŒŒí‹°ì…˜ì„ ë‚˜ëˆ•ë‹ˆë‹¤. 파티션 ë‚˜ëˆ„ê¸°ì— ëŒ€í•œ ì§€"
+"ì‹ì´\n"
+"부족하다면, ì´ ì˜µì…˜ì„ ì‚¬ìš©í•˜ì„¸ìš”.\n"
+"\n"
+" â—‹ 「플로피로부터 복구ã€: ì´ì „ì— í”Œë¡œí”¼ì— ì €ìž¥í•´ë‘” 파티션 ì •ë³´ì„ ì‚¬ìš©í•˜ì—¬\n"
+"파티션 í…Œì´ë¸”ì„ ë³µêµ¬í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ ã€Œí”Œë¡œí”¼ì— ì €ìž¥ã€: 파티션 정보를 í”Œë¡œí”¼ì— ì €ìž¥í•©ë‹ˆë‹¤. 다ìŒì— 파티션 í…Œì´"
+"ë¸”ì„ ë³µêµ¬í• \n"
+"ì¼ì´ ìƒê¸¸ 때 사용ë©ë‹ˆë‹¤. ì´ ê³¼ì •ì„ ìˆ˜í–‰í•  ê²ƒì„ ê¶Œìž¥í•˜ëŠ” 바입니다.\n"
+"\n"
+" â—‹ 「완료ã€: 파티션 나누기 ìž‘ì—…ì„ ë마치면, ì´ ì˜µì…˜ìœ¼ë¡œ 변경 ì‚¬í•­ì„ ì €ìž¥í•©ë‹ˆ"
+"다.\n"
+"\n"
+"ì •ë³´: 키보드로 ì˜µì…˜ì„ ì„ íƒí•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. íŒŒí‹°ì…˜ë“¤ê°„ì˜ ì´ë™ì€ [Tab]키와\n"
+"[Up/Down]키를 사용하세요.\n"
+"\n"
+"íŒŒí‹°ì…˜ì„ ì„ íƒí•˜ê³  난 후ì—는 ë‹¤ìŒ í‚¤ë¥¼ 사용할 수 있습니다:\n"
+"\n"
+" â—‹ 「Ctrl + cã€: (빈 íŒŒí‹°ì…˜ì´ ì„ íƒëœ 경우,) 새 파티션 만들기.\n"
+"\n"
+" â—‹ 「Ctrl + dã€: 파티션 삭제하기.\n"
+"\n"
+" â—‹ 「Ctrl + mã€: 마운트 위치 지정하기.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "íƒˆì°©ì‹ ë¯¸ë””ì–´ ìžë™ 마운트"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "ì¼ë°˜ 모드로 전환"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"둘 ì´ìƒì˜ MS 윈ë„우즈 íŒŒí‹°ì…˜ì´ ë””ìŠ¤í¬ìƒì—서 발견ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
+"맨드리바 리눅스 ìš´ì˜ì²´ì œë¥¼ 설치하기 위해 í¬ê¸°ë¥¼ ì¡°ì •í• \n"
+"íŒŒí‹°ì…˜ì„ ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+"ê° íŒŒí‹°ì…˜ì€ ë‹¤ìŒê³¼ ê°™ì´ ì—´ê±°ë©ë‹ˆë‹¤: 「리눅스 ì´ë¦„ã€,「윈ë„우즈 ì´ë¦„ã€,\n"
+"「용량ã€.\n"
+"\n"
+"「리눅스 ì´ë¦„ã€ì˜ì—­ì˜ 구조: ã€Œí•˜ë“œë””ìŠ¤í¬ ìœ í˜•ã€,ã€Œí•˜ë“œë””ìŠ¤í¬ ë²ˆí˜¸ã€,\n"
+"「파티션 번호ã€(가령, 「hda1ã€).\n"
+"\n"
+"ã€Œí•˜ë“œë””ìŠ¤í¬ ìœ í˜•ã€ì€, IDE 디스í¬ì¼ 경우ì—는 「hdã€ì´ë©°,\n"
+"SCSI 디스í¬ì¼ 경우ì—는 「sdã€ìž…니다.\n"
+"\n"
+"ã€Œí•˜ë“œë””ìŠ¤í¬ ë²ˆí˜¸ã€ëŠ” í•­ìƒ ã€Œhdã€ë˜ëŠ” 「sdã€ë’¤ì— 오는 문ìžìž…니다.\n"
+"IDE 하드디스í¬ì˜ 경우:\n"
+"\n"
+" â—‹ 「aã€ëŠ” 「주 IDE 제어기ìƒì˜ 주 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「bã€ëŠ” 「주 IDE 제어기ìƒì˜ ë³´ì¡° 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「cã€ëŠ” 「보조 IDE 제어기ìƒì˜ 주 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+" â—‹ 「dã€ëŠ” 「보조 IDE 제어기ìƒì˜ ë³´ì¡° 디스í¬ã€ë¥¼ ì˜ë¯¸í•©ë‹ˆë‹¤.\n"
+"\n"
+"SCSI 하드디스í¬ì˜ 경우, 「aã€ëŠ” 「최소 SCSI IDã€, 「bã€ëŠ” ã€Œë‹¤ìŒ ìµœì†Œ SCSI "
+"IDã€\n"
+"와 ê°™ì€ ì‹ìœ¼ë¡œ ì˜ë¯¸ë¥¼ 가집니다.\n"
+"「윈ë„우즈 ì´ë¦„ã€ì€ MS 윈ë„우즈하ì—ì„œì˜ ì´ë¦„입니다.\n"
+"(가령, 첫 번째 ë””ìŠ¤í¬ ë˜ëŠ” íŒŒí‹°ì…˜ì€ ã€ŒC:ã€ìž…니다.)"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"ì¼ë°˜ì ìœ¼ë¡œ, 드레ì´í¬X는 (ì„ íƒí•œ ì–¸ì–´ì— ê¸°ë°˜í•˜ì—¬) 올바른 키보드를\n"
+"ìžë™ìœ¼ë¡œ ì„ íƒí•©ë‹ˆë‹¤. 그러나 사용하는 ì–¸ì–´ì— ì •í™•ížˆ ì¼ì¹˜í•˜ëŠ” 키보드를\n"
+"가지고 있지 ì•Šì€ ê²½ìš°ë„ ìžˆì„ ìˆ˜ 있습니다: 가령, ì˜ì–´ë¥¼ 사용하는 스위스ì¸ì€\n"
+"여전히 스위스 키보드를 ì›í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ë˜í•œ ì˜ì–´ë¥¼ 사용하지만, ìºë‚˜ë‹¤ 퀘"
+"벡주ì—\n"
+"ì‚´ê³  있다면 ë˜í•œ ì´ëŸ¬í•œ 경우가 ë  ê²ƒìž…ë‹ˆë‹¤. ì´ì™€ ê°™ì€ ê²½ìš°ë¼ë©´, ì´ ë‹¨ê³„ì—서\n"
+"ì ë‹¹í•œ 키보드를 목ë¡ì—서 ì„ íƒí•´ì•¼ 합니다.\n"
+"\n"
+"ì§€ì›ë˜ëŠ” 모든 키보드 목ë¡ì„ 보려면, 「추가정보ã€ë¥¼\n"
+"누르세요."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"설치시 그리고 시스템용으로 사용할 언어를 ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+"「고급ã€ì„ 누르면, 다른 ì–¸ì–´ë„ ì¶”ê°€ë¡œ ì„ íƒí•  수 있습니다.\n"
+"다른 ì–¸ì–´ë„ ì„ íƒí•˜ê²Œ ë˜ë©´, ê·¸ 언어와 ê´€ë ¨ëœ ì‹œìŠ¤í…œ 문서 ë° í”„ë¡œê·¸ëž¨ 파ì¼ë“¤"
+"ë„\n"
+"설치하게 ë©ë‹ˆë‹¤. 가령, ë‹˜ì˜ ì‹œìŠ¤í…œì„ ì¼ë³¸ì¸ë„ 사용할 수 있ë„ë¡ í•˜ê³  싶다면,\n"
+"목ë¡ì—서 주 언어로 「한국어ã€ë¥¼ ì„ íƒí•˜ê³ , 「고급ã€ì—서 「ì¼ë³¸ì–´ã€ì— 해당하"
+"는\n"
+"회색 별표를 ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+"ì—¬ëŸ¬ê°œì˜ ì¶”ê°€ 언어를 ì„ íƒí•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. 언어 ì„ íƒì„ ë마쳤으면,\n"
+"「확ì¸ã€ì„ 눌러서 ê³„ì† ì§„í–‰í•˜ì„¸ìš”."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"기본ì ìœ¼ë¡œ 드레ì´í¬X는 ë‹˜ì´ 2버튼 마우스를 사용한다고 가정할 것ì´ë©°,\n"
+"세 번째 ë²„íŠ¼ì€ ì—뮬레ì´ì…˜í•  것입니다. 마우스가 PS/2, 시리얼, í˜¹ì€ USBìš©ì¸ì§€"
+"는\n"
+"드레ì´í¬Xê°€ ìžë™ìœ¼ë¡œ 알아낼 수 있습니다.\n"
+"\n"
+"만약 다른 마우스 ìœ í˜•ì„ ì§€ì •í•˜ê³  싶다면, 제공ë˜ëŠ” 목ë¡ì—서 ì ë‹¹í•œ 것ì„\n"
+"ì„ íƒí•˜ì„¸ìš”.\n"
+"\n"
+"만약 다른 마우스를 ì„ íƒí•˜ê²Œ ë˜ë©´, 마우스 테스트 í™”ë©´ì„ ë³´ê²Œë  ê²ƒìž…ë‹ˆë‹¤.\n"
+"그러면, 마우스 버튼과 íœ ì„ ì¡°ìž‘í•˜ì—¬ ì„¤ì •ì´ ì •í™•í•˜ê²Œ ë˜ì—ˆëŠ”ì§€ 확ì¸í•˜ì„¸ìš”.\n"
+"만약 제대로 ìž‘ë™í•˜ê¸° 않으면,「취소ã€ë²„튼 위ì—서 스페ì´ìФ 키나 엔터 키를\n"
+"누르고 다시 ì„ íƒí•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "버튼 ì—뮬레ì´ì…˜"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"정확한 í¬íŠ¸ë¥¼ ì„ íƒí•˜ì„¸ìš”. 예를 들어, MS 윈ë„우즈ì—서 COM1ì€\n"
+"리눅스ì—서는 ttyS0로 명명ë©ë‹ˆë‹¤."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pDQ"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "전문가"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"드레ì´í¬Xê°€ 시스템ìƒì— 있는 모든 하드 디스í¬ë¥¼ 검색하고\n"
+"ë˜í•œ PCI SCSI 어댑터 íƒì§€ë¥¼ 시ë„í•  것입니다.\n"
+"만약 드레ì´í¬Xê°€ 장치를 발견하게 ë˜ë©´ ìžë™ìœ¼ë¡œ\n"
+"올바른 드ë¼ì´ë²„를 설치할 것입니다.\n"
+"\n"
+"드레ì´í¬Xì˜ ìž¥ì¹˜ ê²€ìƒ‰ì´ ì‹¤íŒ¨í•˜ë”ë¼ë„, 님께 SCSI ìž¥ì¹˜ì˜ ìœ ë¬´ë¥¼ 질문하게 ë©ë‹ˆ"
+"다.\n"
+"목ë¡ì—서 장치를 ì§ì ‘ ì„ íƒí•˜ë ¤ë©´ 「예ã€ë¥¼, SCSI 장치가 없다면 「아니오ã€ë¥¼ ì„ "
+"íƒí•˜ì„¸ìš”.\n"
+"잘 모르겠다면, 「하드웨어 ì •ë³´ 보기ã€ë¥¼ ì„ íƒí•œ 후 「확ì¸ã€ì„ 눌러서\n"
+"시스템ìƒì— 존재하는 í•˜ë“œì›¨ì–´ë“¤ì„ ì‚´íŽ´ë³¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.\n"
+"í•˜ë“œì›¨ì–´ì— ëŒ€í•œ 검토가 ë나면 다시 「확ì¸ã€ë²„íŠ¼ì„ ëˆŒëŸ¬ì„œ SCSI ì¸í„°íŽ˜ì´ìФ 질"
+"문 화면\n"
+"으로 ëŒì•„ 올 수 있습니다.\n"
+"\n"
+"ì§ì ‘ 어댑터를 지정해야 í•  때ì—는, 드레ì´í¬Xê°€ ì˜µì…˜ì„ ì§€ì •í•  것ì¸ì§€ë¥¼ 물어\n"
+"ë³¼ 것입니다. ì´ ë•ŒëŠ” 드레ì´í¬Xê°€ 필요한 ì˜µì…˜ì„ íƒì§€í•˜ë„ë¡ í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆ"
+"다.\n"
+"ì¼ë°˜ì ìœ¼ë¡œ ì´ ë°©ë²•ì€ ìž˜ ìž‘ë™í•©ë‹ˆë‹¤.\n"
+"\n"
+"\n"
+"만약 그렇지 않다면, ì§ì ‘ 드ë¼ì´ë²„ ì˜µì…˜ì„ ì§€ì •í•´ì•¼ 합니다. ì‚¬ìš©ìž ì„¤ëª…ì„œ(3"
+"장, \n"
+"ã€Œí•˜ë“œì›¨ì–´ì— ëŒ€í•œ 종합정보ã€ìƒ‰ì…˜)를 참조하여, 하드웨어 설명서, \n"
+"(ì¸í„°ë„·ì— ì—°ê²°í•  수 있다면) 제조업체 웹 사ì´íЏ, \n"
+"ë˜ëŠ” (윈ë„우즈가 설치ë˜ì–´ 있다면) MS 윈ë„우즈ì—서 어떻게 ì—¬ê¸°ì— í•„ìš”í•œ \n"
+"정보를 알아 낼 수 있는지 찾아 보세요."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "내장 ISDN 카드"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "내장 ISDN 카드"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "시작시 바로 X 실행"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"맨드리바 리눅스 íŒŒí‹°ì…˜ì„ ë§Œë“¤ê¸° 위해서 삭제할 하드디스í´ë¥´ ì„ íƒí•˜ì„¸ìš”.\n"
+"주ì˜:\n"
+"디스í¬ìƒì˜ 모든 ë°ì´í„°ëŠ” ì†ì‹¤ë˜ë©°, ì˜ì›ížˆ 복구가 불가능해 집니다!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"ì´ í•˜ë“œë””ìŠ¤í¬ìƒì˜ 모든 ë°ì´í„°ì™€ íŒŒí‹°ì…˜ì„ ì‚­ì œí•˜ë ¤ë©´, 「확ì¸ã€ì„ 누르세요.\n"
+"!!주ì˜í•˜ì„¸ìš”!!ì¼ë‹¨ 「확ì¸ã€ì„ 누르게 ë˜ë©´, MS 윈ë„우즈 ë°ì´í„¸ë¥´ í¬í•¨í•˜ì—¬ ì´ "
+"디스트ìƒì˜ 모든\n"
+"ë°ì´í„°ì™€ íŒŒí‹°ì…˜ì€ ë³µêµ¬ê°€ 불가능해 집니다.\n"
+"\n"
+"ì´ ìž‘ì—…ì„ ì·¨ì†Œí•˜ë ¤ë©´, 지금 「취소ã€ë¥¼ 누르세요. 어떠한 ë°ì´í„°ì™€ 파티션ë„\n"
+"ì†ìƒë˜ì§€ ì•Šì„ ê²ƒìž…ë‹ˆë‹¤."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "ë‹¤ìŒ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ì´ì „"
+
+#~ msgid "authentication"
+#~ msgstr "ì‚¬ìš©ìž ì¸ì¦"
diff --git a/perl-install/install/help/po/ky.po b/perl-install/install/help/po/ky.po
new file mode 100644
index 000000000..61f9a2c4b
--- /dev/null
+++ b/perl-install/install/help/po/ky.po
@@ -0,0 +1,1606 @@
+# translation of DrakX-ky.po to Kyrgyz
+# Copyright (C) 2004,2003, 2005 Free Software Foundation, Inc.
+# Timur Jamakeev <ztimur@mail.ru>, 2003,2004.
+# Nurlan Borubaev <nurlan@tamga.info>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-ky\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-04-20 20:27+0500\n"
+"Last-Translator: Nurlan Borubaev <nurlan@tamga.info>\n"
+"Language-Team: Kyrgyz\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Мындан ары улантуу үчүн Ñиз Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ ÑˆÐ°Ñ€Ñ‚Ñ‹Ð½ көңүл коюп окууңуз керек.\n"
+"Ðл Mageia'тун бардык диÑтрибутивдерине таратылат. Эгер Ñиз анын\n"
+"ичиндеги бардык шарттарга көнбөÑөңүз, \"%s\" рамкаÑын тандаңыз. Ðндай\n"
+"болбоÑо, \"%s\" баÑкычын баÑÑаңыз Ñиздин компьютер кайра жүктөлөт."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux-көп колдонуучулуу ÑиÑтема, бул болÑо, ар бир колдонуучу\n"
+"үчүн өзү жактырган чөйрөнүн, өз файлдарынын ж.б. болушун түшүндүрөт.\n"
+"Көбүрөөк билүү үчүн Ñиз ``Баштоочунун колдонмоÑун' окуÑаңыз болот.\n"
+"СиÑтеманын админиÑтратору болгон \"root\" колдонуучуÑунан айырмаланган,\n"
+"Ñиз бул жерден кошуу колдонуучулар өздөрүнүн файлдарынан жана\n"
+"конфигурациÑларынан башканы өзгөртүүгө укуктары жок. Сиз жок дегенде\n"
+"өзүңүз үчүн бир кадимки колдонуучу аккаунтун түзүшүңүз керек.\n"
+"Бул аккаунтту Ñиз күн Ñайын иштөө үчүн колдоноÑуз. Каалаган нерÑеңизди\n"
+"\"root\" катары кирип өзгөртүү өтө жеңил болгону менен, ал ошол Ñле\n"
+"убакта өтө Ñле кооптуу! Эң Ñле майда ката да, Ñиздин ÑиÑтемаңыздын андан\n"
+"ары иштебей калышына алып келиши мүмкүн. Эгер Ñиз кадимки колдонуучу\n"
+"болуп туруп чоң ката кетриÑеңиз, Ñиз кайÑÑ‹ бир маалыматтарды жоготуп\n"
+"алышыңыз мүмкүн, бирок бардык ÑиÑтеманы ÑмеÑ.\n"
+"\n"
+"Биринчи талаага Ñиз өз атыңызды киргизеÑиз. Бул, албетте, милдетүү\n"
+"ÑÐ¼ÐµÑ -- ошондуктан Ñиз каалаган нерÑеңизди киргизе берÑеңиз болот. \n"
+"DrakX бул талаадыгы Ñиз киргизген бирнчи Ñөздү алып \"%s\" ордуна\n"
+"коёт. Бул атты кадимки колдонуучу ÑиÑтемага кирүү үчүн колдонот.\n"
+"можете изменить его. КаалаÑаңыз бул атты, ж.б. өзгөртÑүңүз болот.\n"
+"Ðндан кийин кадам-пароль киргизүү. КоопÑуздук тарабынан алганда\n"
+"\"root\" паролуна караганда привилегиÑÑыз (кадимки) колдонуучунун\n"
+"паролу анча деле критикалуу ÑмеÑ, буга карбаÑтан ага жөнөкөй\n"
+"пароль берүү же таптакыр бош калтырууга Ñч кандай Ñебеп жок,\n"
+"не дегенде өз файлдарыңыздан айрылып калышыңыз мүмкүн.\n"
+"\n"
+"Сиз \"%s\" баÑкычын баÑып, башка колдонуучуларды кошо алаÑыз\n"
+"ÐÑ€ бир доÑуңуз үчүн, миÑалы атаңызга же Ñжеңизге аккаунт\n"
+"түзүңүз. Колдонуучуларды түзүп бүткөндөн кийин \"%s\"\n"
+"баÑкычын баÑыңыз.\n"
+"\n"
+"\"%s\" баÑкычын баÑуу бул колдонуучуга алдыалынган\n"
+"\"shell\"-чөйрөнү өзгөртүүгө мүмкүнчүлүк берет (алдыалынганы bash)\n"
+"\n"
+"Бардык колдонуучулар кошулуп бүткөн Ñоң, ÑиÑтема жүктөлгөндөн\n"
+"кийин автоматтык түрдө кирүү мүмкүнчүлүгү бар колдонуучуну\n"
+"тандоо Ñунуш кылынат. Эгер Ñизди бул мүмкүнчүлүк кызыктырÑа\n"
+"(Ñизди локалдык коопÑуздук ойлонтпоÑо), тийиштүү колдонуучуну\n"
+"жана терезе менеджерин тандап \"%s\" баÑкычын баÑыңыз.\n"
+"Эгер Ñизди мындай мүмкүнчүлүк кызыктырбаÑа, анда \"%s\"\n"
+"чарчыбелгиÑин тазалап Ñалыңыз."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Мындай мүмкүнчүлүктү каалайÑызбы?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Жогорудагы тизме Ñиздин катуу диÑкиңиздеги табылган Linux бөлүмдөрү.\n"
+"Сиз аны уÑта жаÑагандай калтырÑаңыз болот, анткени ал бардык кадимки\n"
+"инÑталлÑциÑлар үчүн жарактуу. Эгер Ñиз кандайдыр бир өзгөртүүлөрдү\n"
+"киргизÑеңиз, анда жок Ñле дегенде түпкү-root (\"/\") бөлүмү болушу керек.\n"
+"Ðнын көлөмүн өтө Ñле кичине кылбаңыз, антÑеңиз Ñиз жетиштүү Ñандагы\n"
+"программалык жабдууларды орното албай калаÑыз. Эгер Ñиз өзүңүздүн\n"
+"берилиштерңизди башка бөлүмдө Ñактооңуз келÑе, Ñизге \"/home\"\n"
+"бөлүмүн да түзүүгө туура келет (бирден көп Linux бөлүмдөрү бар\n"
+"учурда гана мүмкүн).\n"
+"\n"
+"ÐÑ€ бир бөлүм төмөнкүдөй Ñанап көрÑөтүлгөн: \"Ðты\", \"Көлөмү\".\n"
+"\n"
+"\"Ðты\": \"катуу диÑктин тиби\", \"катуу диÑктин номери\",\n"
+"\"бөлүм номери\" (миÑалы, \"hda1\") катары Ñтруктураланган.\n"
+"\n"
+"\"Катуу диÑктин тиби\": \"hd\"-Ñгер Ñиздин катуу диÑк IDE болÑо\n"
+"\"sd\"-Ñгер ал SCSI болÑо.\n"
+"\n"
+"\"Катуу диÑкти номери\" дайыма тамга жана \"hd\" же \"sd\" уландыÑÑ‹.\n"
+"IDE катуу диÑктери үчүн:\n"
+"\n"
+" * \"a\" \"биринчи IDE контроллеринин master катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"b\" \"биринчи IDE контроллеринин slave катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"c\" \"Ñкинчи IDE контроллеринин master катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"d\" \"Ñкинчи IDE контроллеринин slave катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+"SCSI катуу диÑктери үчүн , \"a\" болÑо \"lowest SCSI ID\" Ñкендигин,\n"
+"ал Ñми \"b\" болÑо \"second lowest SCSI ID\", ж.д.у.Ñ. Ñкендигин берет"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia орнотулушу бир нече CD-ROMго бөлүнүп жайгаштырылган. Эгерде\n"
+"тандалган пакет башка CD-ROMдо жатÑа, DrakX учурдагы CDни чыгарып\n"
+"керектелип жаткан тийишүү CDни Ñалууңузду Ñурайт. Эгерде Сизде тийиштүү\n"
+"CD кол алдыңызда жок болÑо, жөн гана \"%s\" түймөÑүн чертиңиз, бул учурда\n"
+"тиешелүү пакет орнотулбай кала берет."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Эми ÑиÑтемаңызга кайÑÑ‹ программаларды орнотууну кааларыңызды аныктоого\n"
+"убакыт келип жетти. Mageia менен кошо миңдеген пакеттер Ñунуш кылынат,\n"
+"тандоону жеңилдетүү үчүн алар жакындыгынакарата топторго бөлүнгөн.\n"
+"\n"
+"Пакеттер машинаңыздын колдонуу ÑпецификаÑына дал келе тургандай\n"
+"болуп топторго иреттелген. Mageia'та пакетер төрт категориÑ\n"
+"боюнча иреттелет. Сиз ар түрдүү категориÑларда жайгашкан тиркемелерди\n"
+"аралаштырып же айкалыштыра алаÑыз, миÑалы ``Иш ÑтанциÑÑÑ‹'' орнотуу варианты\n"
+"``Иштеп түзүү'' категорÑÑындагы тиркемелерди да камтышы мүмкүн.\n"
+"\n"
+" * \"%s\": Ñгер Ñиз машинаны иш ÑтанциÑÑÑ‹ катары колдонгуңуз келÑе,\n"
+"иш ÑтанциÑÑÑ‹ категориÑÑынан бир же бир нече тийиштүү группаны\n"
+"тандаңыз.\n"
+"\n"
+" * \"%s\": Ñгер Ñиз програмалоо менен алектенгиңиз келÑе,\n"
+"бул категориÑдагы тийиштүү группаны тандаңыз.\n"
+"\n"
+" * \"%s\": Ñгер Ñиздин машина Ñервер катары иштей турган болÑо, ага көп\n"
+"колдонулуучу кызматтардын кайÑыларын орнотууну каалаÑаңыз тандаңыз.\n"
+"\n"
+" * \"%s\": бул жерден Ñиз жактырган графикалык чөйрөнү тандашыңыз\n"
+" керек. Эгер Ñиз графикалык чөйрөдө иштөөнү каалаÑаңыз,\n"
+"жок дегенде алардын бири тандалышы керек.\n"
+"\n"
+"Чычкандын Ñөөмөйүн группанын атына алып келÑеңиз, ал группага\n"
+"тийиштүү түшүндүрмө көрÑөтүлөт.\n"
+"\n"
+"Сизге \"%s\" чарчыбелгиÑин тандоо пайдалуу болот, албетте Ñгерде Ñиз\n"
+"Ñунушталып жаткан пакеттерди жакшы билеÑиңиз, же орнотулуп жаткандарды\n"
+"толук көзөмөлдөп турууну каалаÑаңыз.\n"
+"\n"
+"Эгер орнотууну \"%s\" режиминде баштаÑаңыз, кандайдыр бир жаңы пакеттер\n"
+"орнотулушуна жол бербөө үчүн бардык группаларды тандоо чарчыбелгиÑин "
+"тазалап\n"
+"таштаÑаңыз болот. Бул орнотулган ÑиÑтеманы калыбына келтирүү же жаңылоо "
+"учурунда пайдалуу.\n"
+"\n"
+"Эгеред кадимкидей орнотуу учурунда бир да группа тандабаÑаңыз (жаңылоого "
+"тийиштүү\n"
+"ÑмеÑ), минималдык инÑталлÑÑ†Ð¸Ñ Ò¯Ñ‡Ò¯Ð½ ар кандай опциÑлары менен\n"
+"диалог пайда болот:\n"
+"\n"
+" * \"%s\": графикалык иш Ñтолунун иштешине керектелинүүчү\n"
+"пакеттердин минималдык тобун орнотуу.\n"
+"\n"
+" * \"%s\": негизги ÑиÑтеманы жана базалык утилиталарды документациÑлары "
+"менен\n"
+"кошо орнотуу. Бул инÑталлÑÑ†Ð¸Ñ Ñервер катары орнотууга туура келет.\n"
+"\n"
+" * \"%s\": Linux ÑиÑтемаÑынын иштеши үчүн керектүү ÑÒ£ Ñле минималдык "
+"пакеттер\n"
+"орнотулат. Бул вариантта Ñиз командалык Ñап режиминде гана иштей алаÑыз. "
+"Бул\n"
+"орнотуунун жалпы өлчөмү 65 мегабайтты ÑÑлейт."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Жаңылоо"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Базалык Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ½ÐµÐ½"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Эң минималдык орнотуу"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Эгер Ñиз инÑталлÑторго пакеттерди өз алдыңызча тандоону билдирÑеңиз,\n"
+"анда ал группаларга жана подгруппаларга бөлүнгөн бардык пакеттердин\n"
+"дарагын көрÑөтөт. Даракты кароо учурунда Ñиз группаны толугу менен,\n"
+"подгруппаларды же өз алдынча турган пакеттерди тандаÑаңыз болот.\n"
+"\n"
+"Дарактан пакетти тандоо учурунда, оң жак тарабына пакеттин макÑатын\n"
+"баÑндоочу жардам чыгарылат.\n"
+"\n"
+"!! Эгерде кандайдыр бир Ñервердик пакет тандалÑа, Ñиз аны атайын\n"
+"тандаÑаңыз же ал башка пакеттин бөлүгү болÑо, Ñиз аны чынында Ñле\n"
+"ал Ñерверлерди орнотууну каалагандыгыңызды Ñурайт. Mageia\n"
+"бардык орнотулган Ñерверлерлерди жүктөө убагында алдынала ишке\n"
+"киргизилет. ДиÑтрибутив чыгарылып жаткан убакта алар коопÑуздук\n"
+"боюнча белгилүү проблемалары жок болгону менен, аларда бул\n"
+"Mageia верÑиÑÑÑ‹ чыгарылгандан кийин да, кооптуу болгон\n"
+"жылчыктар табылышы мүмкүн. Эгер Ñиз берилген кызмат Ñмне үчүн\n"
+"колдонорун жана Ñмне иш кыларын билбеÑеңиз \"%s\" баÑыңыз.\n"
+"Эгер Ñиз \"%s\" баÑÑаңыз тизмедеги бардык кызматтар орнотулуп\n"
+"ÑиÑтема жүктөлүү учурунда автоматтык түрө ишке киргизилет!!\n"
+"\n"
+"ИнÑталлÑтор менен пакеттерди автоматтык түрдө тандоодо\n"
+"\"%s\" опциÑÑÑ‹ көз карандылык бардыгын билдирүүчү ÑÑкертүү\n"
+"диалогун чыгарууга тыйуу Ñалат. КÑÑ Ð±Ð¸Ñ€ пакеттер бири-бири менен\n"
+"байланышкандыктан инÑталлÑторго кÑÑ Ð±Ð¸Ñ€ кошумча программаларды\n"
+"орнотууга туура келет. ИнÑталлÑтор орнотуунун ийгиликтүү аÑкташы\n"
+"макÑатында, көз карандылыктарды канаатандыруу үчүн кандай\n"
+"пакеттердин керектигин өзү аныктайт.\n"
+"\n"
+"Тизменин төмөн жагындагы флоппинин кичинекей ÑүрөтбелгиÑи мындан\n"
+"мурунку инÑталлÑциÑда тандалган пакеттердин тизмеÑин жүктөөгө\n"
+"мүмкүндүк берет. Эгер Ñиз бул Ñүрөтбелгини баÑÑаңыз, мындан мурунку\n"
+"инÑталлÑÑ†Ð¸Ñ ÑƒÑ‡ÑƒÑ€ÑƒÐ½Ð´Ð° даÑрдалган флоппини Ñалууңузду Ñуранат. Мындай\n"
+"флоппини түзүү үчүн акыркы кадамдагы Ñкинчи кеңешти караңыз."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ðвтоматтык көз карандылыктар"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Бул диалог ÑиÑтема жүктөлүү учурунда Ñиз каалаган ишке киргизилүүчү\n"
+"кызматтарды тандоо үчүн колдонулат.\n"
+"\n"
+"DrakX учурдагы инÑталлÑциÑнын мүмкүн болгон бардык кызматтарынын\n"
+"тизмеÑин Ñунуш кылат. Ðларды кунт коюуу менен карап чыгып, ÑиÑтеманы\n"
+"жүктөө учурунда ишке киргизүүнүн кажети жокторун алып Ñалыңыз.\n"
+"\n"
+"Тизмеден кызматты тандоо менен Ñиз бул кызмат жөнүндө кыÑкача түшүндүрмө\n"
+"ала алаÑыз. Эгер кызматтын пайдалуу же пайдалуу ÑмеÑтигине күмөн ÑанаÑаңыз,\n"
+"анда аны алдыалынганындай кылып калтыруу дуруÑ.\n"
+"!! Бул Ñтапта өтө ÑтиÑÑ‚ болуңуз, Ñгер Ñиздин машина Ñервер катары иштеÑе:\n"
+"мүмкүн Ñизге кереги жок кызматтарды иштетүүдөн баш тартаÑыз.\n"
+"КÑÑ Ð±Ð¸Ñ€ кызматтар Ñервер үчүн потенциалдуу коркунучтуу Ñкендигин ÑÑиңизден\n"
+"чыгарбаңыз. Ðегизинен, чындыгында Ñле керектүү болгон кызматтарды гана\n"
+" калтырыңыз.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux убакытты GMT (Greenwich Mean Time) менен башкарат жана\n"
+"Ñиз тандаган Ñаатык алкакка карата локалдык убакытка которот. Эгер\n"
+"Ñиздин ÑиÑтемалык платадагы Ñаатта локалдык убакыт көрÑөтүлÑÓ©, анда Ñиз\n"
+"муну \"%s\" тазалап Ñалуу менен ÑиÑтемалык Ñаат менен апаратык Ñаат ар\n"
+" башка Ñаатык алкактарга таандык Ñкендигин GNU/Linux ÑÑтеп калууÑуна\n"
+"мүмкүндүк берет. Бул мүмкүнчүлүк машинаңызда Windows ÑÑ‹Ñктуу башка\n"
+"аракеттер ÑиÑтемаÑÑ‹ орнотулган учурда пайдалуу.\n"
+"\"%s\" опциÑÑÑ‹ Интернеттеги алыÑкы убакыт Ñерверинин жардамы менен\n"
+"Ñиздин Ñаатыңызды автоматтык түрдө тууралоого мүмкүндүк берет.\n"
+"Ðлбетте, мунун иштеши үчүн Ñизге Интернет байланышы талап кылынат.\n"
+"Эң ылайыктууÑу Ñизге ÑÒ£ жакын Ñерверди тандоо дуруÑ. Бул Ð¾Ð¿Ñ†Ð¸Ñ Ñиздин\n"
+"машинаңызга убакыт Ñерверин орнотуп, аны локалдык тармагыңыздагы башка\n"
+"машиналар колдонууга мүмкүндүк берет."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Убакытты автоматтык Ñинхрондоштуруу"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Видеокарта\n"
+"\n"
+" ИнÑталлÑтор демейде Ñиздин машинаңызда орнотулган видеокартаны\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпеÑе, Ñизде орнотулган\n"
+"картаны бул тизмеден тандаÑаңыз болот.\n"
+"\n"
+" Эгерде Ñиздин картаңыз үчүн ар кандай Ñерверлер мүмкүн болÑо, 3D\n"
+"тездетүүÑÒ¯ менен же аныÑÑ‹ жок, Ñиздин керектөөңүзгө көбүрөөк туура\n"
+"келген Ñерверди тандап алууңузду Ñунуштайт."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window ÑиÑтемаÑÑ‹ үчүн) GNU/Linux графикалык интерфейÑинин\n"
+"жүрөгү, анын негизинде Mageia-ка кирген бардык графикалык\n"
+"чөйрөлөр (KDE, GNOME, AfterStep, WindowMaker, ж.б.д.у.Ñ.) иштейт.\n"
+"\n"
+"Оптималдык графикалык көрүнүштү алуу үчүн, Ñизге ар түрдүү\n"
+"параметрлердин тизмеÑи Ñунушталат: Видеокарта\n"
+"\n"
+" ИнÑталлÑтор демейде Ñиздин машинаңызда орнотулган видеокартаны\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпеÑе, Ñизде орнотулган\n"
+"картаны бул тизмеден тандаÑаңыз болот.\n"
+"\n"
+" Эгерде Ñиздин картаңыз үчүн ар кандай Ñерверлер мүмкүн болÑо, 3D\n"
+"тездетүүÑÒ¯ менен же аныÑÑ‹ жок, Ñиздин керектөөңүзгө көбүрөөк туура\n"
+"келген Ñерверди тандап алууңузду Ñунуштайт.\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" ИнÑталлÑтор демейде Ñиздин машинаңызга туташкан мониторду\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпеÑе, Ñизге туташкан\n"
+"мониторду тизмеден өз алдынча тандаÑаңыз болот.\n"
+"\n"
+"\n"
+"\n"
+"Мүмкүнчүлүк\n"
+"\n"
+" Бул жерден Ñиздин техникаңыз колдой алган көрÑөтүү мүмкүнчүлүгүн жана\n"
+"Ñ‚Ò¯Ñ Ñ‚ÐµÑ€ÐµÒ£Ð´Ð¸Ð³Ð¸Ð½ тандаÑаңыз болот. Сизге көбүрөөк туура келгенин тандаңыз "
+"(Ñиз\n"
+"аны инÑталлÑциÑдан кийин өзгөртө алаÑыз). Тандалып алынган конфигурациÑнын\n"
+"үлгүÑÒ¯ мониторго чыгарылат.\n"
+"\n"
+"\n"
+"\n"
+"Текшерүү\n"
+"\n"
+" Сиздин каражатыңызга карата, бул пункт бар же жок болушу мүмкүн.\n"
+"\n"
+" СиÑтема тандалган мүмкүнчүлүктү колдонуп графикалык Ñкранды ачуу\n"
+"аракетин жаÑайт. Эгер Ñиз текшерүү учурунда маалыматты көрө алÑаңыз\n"
+"жана \"%s\" жообун тандаÑаңыз анда DrakX кийинки кадамга өтөт.\n"
+"Эгер Ñиз маалыматты көрө албаÑаңыз, анда автоматтык түрдө аныкталган\n"
+"конфигурциÑнын бөлүгү туура ÑÐ¼ÐµÑ Ð°Ð½Ñ‹ÐºÑ‚Ð°Ð»Ð³Ð°Ð½ деп түшүнүлүп, автоматтык\n"
+"түрдө 12 Ñекунд өткөн Ñоң Ñизди менюга кайра алып келет. Туура графикалык\n"
+"Ñүрөттү алмайынча, параметрлерди оңдоп кайталап көрүңүз.\n"
+"\n"
+"\n"
+"Параметрлер\n"
+"\n"
+" Бул жерден Ñиз машинаңызды автоматтык түрдө гафикалык интерфейÑти\n"
+"жүктөөгө калыптаÑаңыз болот. Ðлбетте, Ñгерде Ñиздин машинаңыз Ñервер\n"
+"катары иштеÑе же графикалык режимди калыптандыруу мүмкүн болбоÑо\n"
+"анда Ñиз \"%s\" тандооңуз туура."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" ИнÑталлÑтор Ñиздин машинаңызга туташкан мониторду\n"
+"автоматтык түрдө таап калыптандырат. Эгер ал туура болбоÑо,\n"
+"Ñизге туташкан мониторду тизмеден тандаÑаңыз болот."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Мүмкүнчүлүк\n"
+"\n"
+" Бул жерден Ñиздин каражатыңыз урукÑат берген мүмкүнчүлүктү жана түÑ\n"
+"тереңдигин тандай алаÑыз. Сизге көбүрөөк туура келгенин тандаңыз (Ñиз\n"
+"аны инÑталлÑциÑдан кийин өзгөртө алаÑыз). Тандалып алынган конфигурациÑнын\n"
+"үлгүÑÒ¯ мониторго чыгарылат."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Сиздин картаңызга ар түрдүү, 3D тездетүүÑÒ¯ менен же аныÑÑ‹ жок, Ñерверлер\n"
+"туура келген учурда, Ñиздин керектөөңүзгө көбүрөөк туура келген Ñерверди\n"
+"тандоо Ñунуш кылынат."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметрлер\n"
+"\n"
+" Бул жерден Ñиз машинаңызды автоматтык түрдө гафикалык интерфейÑти\n"
+"жүктөөгө калыптаÑаңыз болот. Ðлбетте, Ñгерде Ñиздин машинаңыз Ñервер\n"
+"катары иштеÑе же графикалык режимди калыптандыруу мүмкүн болбоÑо\n"
+"анда Ñиз \"%s\" тандооңуз туура."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Бул кадамда, Mageia аркеттер ÑиÑтемаÑын Ñиздин катуу диÑктин\n"
+"кайÑÑ‹ жерине орнотууну чечүүңүзгө туура келет. Эгер Ñиздин катуу диÑк бош\n"
+"болÑо же орнотулган аракеттери ÑиÑтемаÑÑ‹ диÑктин бардыгын ÑÑлеÑе, Ñизге\n"
+"диÑкиңизди кайра бөлүүгө туура келет. Ðегизинен диÑкти бөлүү Ñиздин\n"
+"жаңы Mageia ÑиÑтемаÑын орнотуу үчүн диÑктен логикалык түрдө\n"
+"орун бөлүүдө турат.\n"
+"\n"
+"Эгерде диÑкте орнотулган аракеттер ÑиÑтемаÑÑ‹ болÑо, диÑкти бөлүү кайра\n"
+"калыбына келбөөчү процеÑÑ Ð±Ð¾Ð»Ð³Ð¾Ð½Ð´ÑƒÐºÑ‚Ð°Ð½ андагы маалыматтарды жоготууга\n"
+"алып келиши мүмкүн Ñкендигинен, үйрөнчүк колдонуучулар үчүн бир топ\n"
+"кыйыныраак жана коркунучтуу момент. Тилекке жараша DrakXте бул\n"
+"процеÑÑти жеңилдетүүчү уÑта бар. Бул кадамды улантуу алдында колдонмонун\n"
+"тийиштүү бөлүгүн окуп чыгыңыз жана шашпаңыз.\n"
+"\n"
+"Катуу диÑкиңиздин конфигурациÑÑына жараша бир нече параметрлер мүмкүн:\n"
+"\n"
+" * \"%s\": бул Ð¾Ð¿Ñ†Ð¸Ñ Ð±Ð¾Ñˆ диÑкти же диÑктерди автоматтык түрдө бөлүүнү\n"
+"түшүндүрөт. Эгер бул Ð¾Ð¿Ñ†Ð¸Ñ Ñ‚Ð°Ð½Ð´Ð°Ð»Ñа, андан ары Ñуроо берилбейт;\n"
+"\n"
+" * \"%s\": уÑта катуу диÑкиңиздеги Linux бөлүмдөрүн аныктады. Эгер Ñиз\n"
+"аларды колдонгуңуз келÑе бул опциÑны тандаңыз. ÐÑ€ бир бөлүм үчүн\n"
+"бириктирүү чекиттерин көрÑөтүү Ñуралат. Ðлыднала бириктирүү чекиттери\n"
+"Ñалтка жараша тандалгандыктан аны тийбей койÑоңуз да болот.\n"
+" * \"%s\": Ñгерде Ñиздин диÑкте Microsoft Windows орнотулуп аны толук "
+"ÑÑлеÑе,\n"
+"Linux берилиштерин Ñактоо үчүн бош орун түзүүңүзгө туура келет. Муну түзүү\n"
+"үчүн Microsoft Windows бөлүмүн жана берилиштерин жоготÑоңуз, же Microsoft\n"
+"Windows FAT же NTFS бөлүмдөрүнүн өлчөмдөрүн өзгөртÑөңүз болот.\n"
+"Өлчөмүн өзгөртүү процеÑÑин маалыматтарды жоготпой жаÑаÑа да болот, өзгөчө\n"
+"Windows бөлүмү Ð´ÐµÑ„Ñ€Ð°Ð³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ ÐºÑ‹Ð»Ñ‹Ð½Ð³Ð°Ð½Ð´Ð°Ð½ кийин. Маалыматтарыңыздын\n"
+"резервдик копиÑÑын түзүү көптөн-көп Ñунуш кылынат.Эгер Ñиз Mageia\n"
+"жана Microsoft Windows бир компьютерде колдонгуңуз келÑе, бул опциÑны\n"
+"тандаңыз.\n"
+"\n"
+" Бул опциÑны тандоо алдында Ñиздин Microsoft Windows бөлүмүңүздүн өлчөмү\n"
+"мурдагыдан азыраак болууÑун түшүнүүңүз керек. Сизде Microsoft Windows-тун\n"
+"берилиштерин жана жаңы программаларды орнотуу үчүн бош орун азыраак болот.\n"
+"\n"
+" * \"%s\" Ñгер Ñиз катуу диÑкиңиздеги бардык маалыматтарды жоготуп ордуна\n"
+"Mageia орнотууну каалаÑаңыз, бул опциÑны тандаңыз. Бул чечимди\n"
+"тандоодо ÑтиÑÑ‚ болуңуз, Ñебеби муну таÑтыктаган Ñоң бардыгын мурда\n"
+"болгондой кылып калыбына келтире албайÑыз.\n"
+"\n"
+" !! Эгер бул опциÑны тандаÑаңыз, катуу диÑкиңиздеги бардык маалыматтар\n"
+"жоготулат. !!\n"
+"\n"
+" * \"%s\": бул Ð¾Ð¿Ñ†Ð¸Ñ ÐºÐ°Ñ‚ÑƒÑƒ диÑктеги бардык маалыматты жоготуп бөлүмдөрдү\n"
+"түзүүнү кайра башынан бош жерден баштоого мүмкүндүк берет. ДиÑкиңиздеги\n"
+"бардык Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¶Ð¾Ð³Ð¾Ð»Ð¾Ñ‚.\n"
+"\n"
+" !! Эгер бул опциÑны тандаÑаңыз, катуу диÑкиңиздеги бардык маалыматтар\n"
+"жоготулат. !!\n"
+"\n"
+" * \"%s\": згер Ñиз диÑкти өз алдынча бөлгүңүз келÑе бул опциÑны тандаңыз.\n"
+"ЭтиÑÑ‚ болуңуз - бул кубаттуу жана ошол Ñле маалда кооптуу мүмкүнчүлүк.\n"
+"Сиз бир заматта болгон мааламаттардын бардыгын жоготуп алышыңыз мүмкүн.\n"
+"Ошондуктан, ушул ÑÑ‹Ñктуу нерÑени мурда жаÑап, кандайдыр бир тажрыйбаңыз\n"
+"болгон учурда гана бул опциÑны тандоо Ñунуш кылынат. DiskDrake утилитаÑын\n"
+"кантип колдонуу керектигин билүү үчүн ``Баштоочунун колдонмоÑу' китебинин\n"
+"``ДиÑктин бөлүмдөрүн башкаруу'' бөлүмүнө кайрылыңыз."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Бар бөлүмдү колдонуу"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ДиÑкти бүт өчүрүү"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Мына Ñми Ñиз бул жердеÑиз. Орнотуу аÑктады жана Ñиздин GNU/Linux\n"
+"ÑиÑтемаңыз колдонууга даÑÑ€. СиÑтеманы кайра жүктөө үчүн \"%s\"\n"
+"баÑыңыз. ИнÑталлÑÑ†Ð¸Ñ Ð±ÑƒÐ»Ð°Ð³Ñ‹Ð½ (CD-ROM же флоппи) алып Ñалууну\n"
+"унутпаңыз. Сиздин компьютер техжабдууну текшерүүнү аÑктаган Ñоң,\n"
+"ÑÒ£ биринчи Ñиз көрүүчү нерÑе, бул керектүү аракеттер ÑиÑтемаÑын\n"
+"жүктөөнү тандоону Ñунуш кылуучу баштапкы жүктөгүчтүн менюÑу болот.\n"
+"\n"
+"\"%s\" баÑкычы дагы башка Ñки баÑкычты чыгарат:\n"
+"\n"
+" * \"%s\": инÑталлÑциÑлык флоппини түзүү: мунун жардамы менен\n"
+"жаңы Ñле атакарылган орнотуу ÑÑ‹Ñктуу операторÑуз, орнотууну\n"
+"автоматтык түрдө жүргүзÑÓ© болот.\n"
+"\n"
+" Бул баÑкычты баÑкан Ñоң ар башка Ñки вариант бар Ñкенин байкаңыз:\n"
+"\n"
+" * \"%s\": жарым жартылай автоматтыштырылган орнотуу: бул учурда\n"
+"диÑкти бөлүү процеÑÑи гана инерактивдүү, б.а. колдонуучунун аракетин\n"
+"талап кылат.\n"
+"\n"
+" * \"%s\": толук автоматташытрылган орнотуу: катуу диÑк толугу бойдон\n"
+"кайра жазылат жана болгон берилиштер жоготулат.\n"
+"\n"
+" бул мүмкүнчүлүк орнотууну бирдей конфигурациÑдагы машиналарда\n"
+"кайталоодо өтө ыңгайлуу. Кошумча маалымат алуу үчүн биздин веб-\n"
+"Ñайтыбыздагы Auto install бөлүмүн караңыз.\n"
+"\n"
+" * \"%s\": ушул орнотуудагы орнотулган пакеттердин тизмеÑин Ñактайт.\n"
+"Башка орнотууда бул орнотуудагы тандалган пакеттерди колдонуу үчүн\n"
+"флоппини Ñалып орнотууну баштаңыз. Чакыруу Ñабында [F1] тергичин баÑып\n"
+"төмөнкүнү териңиз:\n"
+"« linux defcfg=\"floppy\" »."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Ðвто-орнотуу флоппиÑин жаратуу"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Кайрадан жыңы түзүлгөн бөлүмдөрдү колдонууга киргизүү үчүн аларды\n"
+"форматтоо талап кылынат (форматтоо файл ÑиÑтемаÑын түзүүнү\n"
+"түшүндүрөт).\n"
+"\n"
+"Бул Ñтапта Ñизде мурда болүнгөн бөлүмдөрдө Ñакталган берилиштерди өчүрүү\n"
+"үчүн аларды кайра форматто мүмкүнчүлүгү бар. Эгер бул Ñизге керек болÑо,\n"
+"бул бөлүмдөрдү дагы тандаңыз.\n"
+"\n"
+"Мурда түзүлгөн бөлүмдөрдү кайрадан форматтоо дайыма керек ÑмеÑтигин\n"
+"ÑÑке алыңыз. Сиз, аракеттер ÑиÑтемаÑÑ‹ орнотулган (\"/\", \"/usr\" или \"/var"
+"\")\n"
+"бөлүмдөрүн кайра форматтоңуз керек, бирок Ñиз Ñактап калууну каалаган\n"
+"бөлүмдөрдү кайра форматтоо талап кылынбайт (демейде бул \"/home\").\n"
+"\n"
+"Бөлүмдөрдү тандоодо ÑтиÑттаңыз. Форматталган Ñоң көрÑөтүлгөн бөлүмдөрдөгү\n"
+"бардык берилиштер жоготулат, ошондуктан аларды кайра калыбына келтирүүгө\n"
+"мүмкүн ÑмеÑ.\n"
+"\n"
+"Бөлүмдөрдү форматтого даÑÑ€ болгондон кийин \"%s\" баÑкычын баÑыңыз.\n"
+"\n"
+"Эгер Ñиз Mageia ÑиÑтемаÑын башка бөлүмгө орноткуңуз келÑе \"%s\"\n"
+"баÑкычын баÑыңыз.\n"
+"\n"
+"Эгер Ñиз начар делген блокторду (bad blocks) текшерүүгө бөлүмдөрдү\n"
+"тандагыңыз келÑе \"%s\" баÑкычын баÑыңыз."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mageia орнотуу убагында баштапкы релиздин кÑÑ Ð±Ð¸Ñ€ пакеттерин\n"
+"жаңы чыкандары менен жаңылаÑаңыз жакшы болот. КÑÑ Ð±Ð¸Ñ€ багдар\n"
+"оңдолушу жана коопÑуздук проблемалары чечилиши мүмкүн. Бул\n"
+"жаңылоолордон пайда алуу үчүн аларды Ñиз азыр Интернеттен жүктөп\n"
+"алÑаңыз болот. Жаңылоо үчүн, Ñгер Ñизде иштеп жаткан Интернет байланышы\n"
+"болÑо \"%s\" баÑкычын баÑыңыз, же \"%s\" баÑып пакеттерди\n"
+" жаңылоону кийинчÑÑрек жаÑаÑаңыз болот.\n"
+"\n"
+"\"%s\" баÑкычын баÑканда жаңылоолорду жүктөп алууга мүмкүн болгон\n"
+"орундарды тизеÑи чыгат. Сизге ÑÒ£ жакын жайгашканын тандаңыз. Ðндан\n"
+"Ñоң пакттерди тандоо дарагы чыгат: тизмени карап чыгып тандаган Ñоң\n"
+"кабыл алуу жана орнотуу үчүн \"%s\" же орнотпоо үчүн \"%s\" баÑыңыз."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Бул Ñтапта DrakX Ñизге машинаңыз үчүн каалаган коопÑуздук деңгÑÑлин\n"
+"тандоого мүмкүндүк берет. Эгерде машинаңызда критикалык маалымат\n"
+"болÑо же ал Интернетке түздөн-түз туташкан болÑо, Ñреже катары анда\n"
+"коопÑуздук деңгÑÑли жогору болушу керек. Бирок коопÑуздуктун\n"
+"жогорураак деңгÑÑли жалып учурда колдонуу ыңгайлуулугун чектөө\n"
+"ÑÑебинен жаÑалат.\n"
+"Эгер кайÑынынÑын тандоону билбеÑеңиз, аны ошол боюнча калтырыңыз.\n"
+"КоопÑуздук деңгÑÑлин кийин Mandriva Башкаруу Борборунун draksec\n"
+"утилитинин жардамы менен өзгөртÑөңүз болот.\n"
+"\n"
+"\"%s\" талааÑында ÑиÑтеманын коопÑуздугу үчүн жооп берген колдонуучу\n"
+"көрÑөтүлөт. Бул адреÑке коопÑуздук боюнча кабарлар жөнөтүлөт."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "КоопÑуздук админиÑтратору"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Чыгарылма түзүлүштөрдү авто-бириктирүү"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ðормалдык/ÑкÑперттик режимдерин алмаштыруу"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Жогорудагы тизме Ñиздин катуу диÑкиңиздеги табылган Linux бөлүмдөрү.\n"
+"Сиз аны уÑта жаÑагандай калтырÑаңыз болот, анткени ал бардык кадимки\n"
+"инÑталлÑциÑлар үчүн жарактуу. Эгер Ñиз кандайдыр бир өзгөртүүлөрдү\n"
+"киргизÑеңиз, анда жок Ñле дегенде түпкү-root (\"/\") бөлүмү болушу керек.\n"
+"Ðнын көлөмүн өтө Ñле кичине кылбаңыз, антÑеңиз Ñиз жетиштүү Ñандагы\n"
+"программалык жабдууларды орното албай калаÑыз. Эгер Ñиз өзүңүздүн\n"
+"берилиштерңизди башка бөлүмдө Ñактооңуз келÑе, Ñизге \"/home\"\n"
+"бөлүмүн да түзүүгө туура келет (бирден көп Linux бөлүмдөрү бар\n"
+"учурда гана мүмкүн).\n"
+"\n"
+"ÐÑ€ бир бөлүм төмөнкүдөй Ñанап көрÑөтүлгөн: \"Ðты\", \"Көлөмү\".\n"
+"\n"
+"\"Ðты\": \"катуу диÑктин тиби\", \"катуу диÑктин номери\",\n"
+"\"бөлүм номери\" (миÑалы, \"hda1\") катары Ñтруктураланган.\n"
+"\n"
+"\"Катуу диÑктин тиби\": \"hd\"-Ñгер Ñиздин катуу диÑк IDE болÑо\n"
+"\"sd\"-Ñгер ал SCSI болÑо.\n"
+"\n"
+"\"Катуу диÑкти номери\" дайыма тамга жана \"hd\" же \"sd\" уландыÑÑ‹.\n"
+"IDE катуу диÑктери үчүн:\n"
+"\n"
+" * \"a\" \"биринчи IDE контроллеринин master катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"b\" \"биринчи IDE контроллеринин slave катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"c\" \"Ñкинчи IDE контроллеринин master катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+" * \"d\" \"Ñкинчи IDE контроллеринин slave катуу диÑкин\" түшүндүрөт;\n"
+"\n"
+"SCSI катуу диÑктери үчүн , \"a\" болÑо \"lowest SCSI ID\" Ñкендигин,\n"
+"ал Ñми \"b\" болÑо \"second lowest SCSI ID\", ж.д.у.Ñ. Ñкендигин берет"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ИÑпанча"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "дөңгөлөктү ÑмулÑциÑлоо менен"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "УниверÑалдык | Каалагандай PS/2 & USB чычканы"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Туура портту тандаңыз. МиÑалы, Windows \"COM1\" портунун\n"
+"GNU/Linux'тагы аты \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ЭкÑперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN картаÑÑ‹"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN картаÑÑ‹"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графикалык интерфейÑ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Кийинки ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Мурунку"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": \"%s\" баÑкычын баÑуу менен принтерди конфигурацилоо уÑтаÑÑ‹\n"
+#~ "ачылат. Жаңы принтерди кантип орнотуу керектигин билүү үчүн,\n"
+#~ "``Баштоочунун колдонмоÑундагы'' тийиштүү главаны окуп чыгыңыз.\n"
+#~ "Ðндагы колдонулган Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¾Ñ€Ð½Ð¾Ñ‚ÑƒÑƒ процеÑÑинде колдонулган\n"
+#~ "интерфейÑке окшош."
+
+#~ msgid "authentication"
+#~ msgstr "аутентификациÑ"
diff --git a/perl-install/install/help/po/lt.po b/perl-install/install/help/po/lt.po
new file mode 100644
index 000000000..4863a095e
--- /dev/null
+++ b/perl-install/install/help/po/lt.po
@@ -0,0 +1,1435 @@
+#
+# Mykolas Norvai-as <Myka@centras.lt>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2000-12-23 13:50+0200\n"
+"Last-Translator: Mykolas Norvai­as <Myka@centras.lt>\n"
+"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ar nori naudoti aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"AukÅ¡Äiau yra sÄ…raÅ¡as Linux skirsnių, kuriuos pavyko rasti tavo\n"
+"kietajame diske. Tu gali pasilikti sprendimus, padarytus meistro, jie tinka\n"
+"daugumai atvejų. Jei nori pakeisti šiuos sprendimus, tu turi nurodyti bent\n"
+"šakninį skirsnį (\"/\"). Nepasirink per mažo skirsnio, nes tuomet tu "
+"negalÄ—si\n"
+"įdiegti pakankamai programinės įrangos. Jei tu nori laikyti savo duomenis\n"
+"atskirame skirsnyje, pasirink, kurį naudosi \"/home\" (įmanoma tik jei turi "
+"daugiau\n"
+"nei vieną Linux skirsnį).\n"
+"\n"
+"Tavo žiniai, skirsniai rašomi tokiu pavidalu: \"Pavadinimas\", \"Talpa\".\n"
+"\n"
+"\n"
+"\"Pavadinimas\" sudaromas taip: \"kaupiklio tipas\", \"kaupiklio numeris\",\n"
+"\"skirsnio numeris\" (pavyzdžiui \"hda1\").\n"
+"\n"
+"\n"
+"\"Kieto disko tipas\" yra \"hd\", jei tavo kietasis kaupiklis yra IDE tipo, "
+"ir \"sd\", jeigu\n"
+"tai SCSI kaupiklis.\n"
+"\n"
+"\n"
+"\"kaupiklio numeris\" visada yra raidÄ— po \"sd\" arba \"hd\". IDE "
+"kaupikliams:\n"
+"\n"
+" * \"a\" reiškia \"pagrindinis (master) diskas, prijungtas prie pirmojo "
+"(primary) IDE valdiklio\",\n"
+"\n"
+" * \"b\" reiškia \"šalutinis (slave) diskas, prijungtas prie pirmojo IDE "
+"valdiklio\",\n"
+"\n"
+" * \"c\" reiškia \"pagrindinis diskas, prijungtas prie antrojo (secondary) "
+"IDE valdiklio\",\n"
+"\n"
+" * \"d\" reiškia \"šalutinis diskas, prijungtas prie antrojo IDE valdiklio"
+"\",\n"
+"\n"
+"\n"
+"Su SCSI kaupikliais, \"a\" reiškia \"pirmasis diskas\", \"b\" reiškia "
+"\"antrasis diskas\" ir t.t."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atnaujinti"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Dokumentacija"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Išmesti"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dabar tu gali pasirinkti tarnybas, kurias nori paleisti įkrovos metu.\n"
+"\n"
+"\n"
+"Užvedus žymeklį ant tarnybos, pasirodys pagalbos užrašas, kuris aprašo "
+"tarnybos\n"
+"vaidmenį tavo sistemoje.\n"
+"\n"
+"\n"
+"BÅ«k ypaÄ atidus Å¡iame žingsnyje, jeigu žadi naudotis savo kompiuteriu kaip\n"
+"serveriu: tu tikriausiai norėsi nepaleisti jokių nereikalingų tarnybų.\n"
+"Prisimink, kad kai kurios tarnybos gali būti pavojingos, jei naudojamos "
+"serveryje.\n"
+"Apskritai, pažymėk tik tas tarnybas, kurių tau tikrai reikia."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Įdiegimo Tipo Konfiguracija"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Dabar tu turi nuspręsti, kurioje savo kietojo disko vietoje nori įdiegti\n"
+"Mageia operacijų sistemÄ…. Jei jis yra tuÅ¡Äias arba jau esanti\n"
+"operacijų sistema naudoja visą vietą jame, tau reikės sudalinti jį. Kietojo\n"
+"disko sudalinimas į skirsnius tiesiog yra jo logiškas padalinimas taip, kad\n"
+"atsirastų laisvos vietos įdiegti tavo naujajai Mageia sistemai.\n"
+"\n"
+"\n"
+"Kadangi sudalinimo skirsniais padariniai dažniausiai yra negrįžtami,\n"
+"dalinimas gali būti gąsdinantis ir sunkus, jei tu esi nepatyręs vartotojas.\n"
+"Šis meistras supaprastina tą procesą. Prieš pradėdamas, prašau, nepagailėk\n"
+"laiko ir paskaityk žinyną.\n"
+"\n"
+"\n"
+"Tau reikia mažiausiai dviejų skirsnių. Vienas yra paÄiai operacijų "
+"sistemai,\n"
+"o kitas -- virtualiai atminÄiai (vadinamai swap).\n"
+"\n"
+"\n"
+"Jei skirsniai jau buvo apibrėžti (iš praeito įdiegimo arba kitu dalinimo "
+"įrankiu),\n"
+"tau tereikia pasirinkti juos, kad įdiegtum savo Linux'ą.\n"
+"\n"
+"\n"
+"Jei skirsniai dar nebuvo apibrėžti, tu turi juos sukurti. Kad tai "
+"padarytum,\n"
+"naudokis aukÅ¡Äiau esanÄiu meistru. Priklausomai nuo tavo kietojo disko\n"
+"situacijos, yra keli skirtingi sprendimai:\n"
+"\n"
+"* Naudoti esamą skirsnį: meistras rado vieną ar daugiau Linux skirsnių tavo "
+"sistemoje. Jei tu nori juos\n"
+" naudoti, pasirink tai.\n"
+"\n"
+"\n"
+"* Išvalyti visą diską: jei tu nori sunaikinti visus duomenis ir skirsnius, "
+"esanÄius kietajame diske, ir pakeisti juos\n"
+" nauja Mageia sistema, gali pasirinkti šį variantą. Būk atsargus su šiuo "
+"sprendimu, nes jei sutiksi,\n"
+" nebegalėsi apsigalvoti ir sugrįžti.\n"
+"\n"
+"\n"
+"* Naudoti tuÅ¡ÄiÄ… vietÄ… Windows skirsnyje: jei Microsoft Windows yra įdiegti "
+"į kietąjį diską ir užima visą vietą,\n"
+" esanÄiÄ… jame, tau teks atlaisvinti vietos Linux duomenims. Kad tai "
+"padarytum, tu gali ištrinti Windows skirsnį\n"
+" ir duomenis (žiūrėk \"Išvalyti visą diską\" bei \"Eksperto režimas\" "
+"sprendimus) arba pakeisti Windows skirsnio\n"
+" dydį. Dydžio pakeitimas gali būti atliktas be duomenų praradimo. Šis "
+"sprendimas yra rekomenduojamas, jei\n"
+" tu nori naudoti tiek Mageia, tiek Microsoft Windows tame paÄiame "
+"kompiuteryje.\n"
+"\n"
+"\n"
+" Prieš pasirinkdamas šį sprendimą, suprask, kad Microsoft Windows skirsnio "
+"dydis bus mažesnis, nei yra\n"
+" dabar. Tai reiškia, kad tu turėsi mažiau laisvos vietos Windows'uose "
+"įrašyti duomenims bei įdiegti naujas\n"
+" programas.\n"
+"\n"
+"\n"
+"* Eksperto režimas: jei tu nori rankomis sudalinti skirsniais savo kietąjį "
+"diską, gali rinktis šį variantą. Įdėmiai\n"
+" pagalvok, prieÅ¡ pasirinkdamas šį sprendimÄ…. Jis yra galingas, taÄiau labai "
+"pavojingas. Tu gali prarasti \n"
+" visus savo duomenis labai lengvai. Taigi, nesirink šio sprendimo, nebent "
+"tikrai žinai, ką darai."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Naudoti esamą skirsnį"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Ištrinti visą diską"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sukurti automatinio įdiegimo diskelį"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Bet kokie naujai sukurti skirsniai turi būti sužymėti, kad juos\n"
+"būtų galima naudoti (sužymėjimas reiškia bylų sistemos sukūrimą).\n"
+"\n"
+"\n"
+"Dabar tu gali norėti iš naujo sužymėti kai kuriuos esamus skirsnius, kad\n"
+"ištrintum duomenis iš jų. Jei nori tai padaryti, pažymėk ir tuos skirsnius,\n"
+"kuriuos nori sužymėti.\n"
+"\n"
+"\n"
+"Pastaba: nebÅ«tina iÅ¡ naujo sužymÄ—ti visų anksÄiau sukurtų skirsnių.\n"
+"Tu privalai sužymėti iš naujo skirsnius, kuriuose bus operacijų sistema\n"
+"(tokius kaip \"/\", \"/usr\" ar \"/var\"), taÄiau skirsnių su duomenimis, "
+"kuriuos\n"
+"nori išlaikyti, sužymėti nereikia (dažniausiai \"/home\").\n"
+"\n"
+"\n"
+"Būk atsargus, pasirinkdamas skirsnius, kadangi sužymint visi duomenys\n"
+"bus ištrinti, ir nebebus įmanoma jų atstatyti.\n"
+"\n"
+"\n"
+"Spausk \"Gerai\", kai būsi pasiruošęs skirsnių sužymėjimui.\n"
+"\n"
+"\n"
+"Spausk \"Atšaukti\", jei nori pasirinkti kitus skirsnius, į kuriuos įdiegti\n"
+"Mageia sistemÄ…."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Nutolusio lpd spausdintuvo nuostatos"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Dabar tu turi pasirinkti, kuriuos skirsnius naudoti tavo naujai Mandriva "
+"Linux \n"
+"sistemai įdiegti. Jei skirsniai jau buvo apibrėžti (iš praeito įdiegimo arba "
+"kitu dalinimo įrankiu),\n"
+"tu gali naudoti esanÄius skirsnius. Kitu atveju, skirsniai turi bÅ«ti "
+"apibrėžti.\n"
+"\n"
+"\n"
+"Kad sukurtum skirsnius, tu pirmiausia turi pasirinkti kietąjį diską. Diską "
+"dalinimui\n"
+"gali pasirinkti, paspaudęs ant \"hda\" jei nori pirmo IDE kaupiklio, \"hdb\" "
+"-- antro,\n"
+"arba \"sda\", jei renkiesi pirmąjį SCSI kaupiklį ir t.t.\n"
+"\n"
+"\n"
+"Kad sudalintum skirsniais pasirinktą kietąjį diską, gali naudotis vienu iš "
+"šių variantų:\n"
+"\n"
+" * IÅ¡valyti viskÄ…: Å¡is variantas iÅ¡trina visus skirsnius, esanÄius "
+"pasirinktame kietajame diske.\n"
+"\n"
+"\n"
+"   * Automatiškai paskirti: šis variantas leidžia automatiškai sukurti Ext2 "
+"bei swap skirsnius laisvoje tavo\n"
+" disko vietoje.\n"
+"\n"
+"\n"
+" * Išgelbėti skirsnių lentelę: jei disko skirsnių lentelė yra sugadinta, "
+"tu gali bandyti atstatyti ją su šiuo variantu.\n"
+" Būk atsargus ir prisimink, kad tai gali nepavykti.\n"
+"\n"
+"\n"
+" * Atšaukti: tu gali naudoti šį variantą, kad atšauktum visus tavo "
+"pakeitimus.\n"
+"\n"
+"\n"
+" * Iš naujo: tu gali rinktis šį variantą, kad atsisakytum visų savo "
+"pakeitimų ir įkeltum pradinę skirsnių lentelę.\n"
+"\n"
+"\n"
+" * Meistras: jei tu nori, kad meistras tau padėtų sudalinti kietąjį diską, "
+"rinkis šį variantą. Tai rekomenduojama, jeigu\n"
+" tu nelabai išmanai apie skirsnių dalinimą.\n"
+"\n"
+"\n"
+" * Atkurti iš diskelio: jei tu išsaugojai savo skirsnių lentelę į diskelį "
+"įdiegdamas praeitą kartą, tu gali atkurti ją\n"
+" naudodamasis šiuo variantu.\n"
+"\n"
+"\n"
+" * Išsaugoti į diskelį: jei tu nori išsaugoti savo skirsnių lentelę į "
+"diskelį, kad galėtum paskui atkurti ją, rinkis šį\n"
+" variantÄ…. labai rekomenduojama, kad tu tai padarytum.\n"
+"\n"
+"\n"
+" * Atlikta: jei tu baigei dalinti savo kietąjį diską, rinkis šį variantą, "
+"kad išsaugotum visus pakeitimus.\n"
+"\n"
+"\n"
+"Tavo žiniai, tu gali pasiekti bet kurį variantą naudodamasis klaviatūra: "
+"vaikÅ¡Äiok tarp skirsnių su Tab bei\n"
+"Aukštyn/Žemyn rodyklėmis.\n"
+"\n"
+"\n"
+"Kai skirsnis yra parinktas, gali naudoti:\n"
+"\n"
+"* Ctrl-c kad sukurtum naujÄ… skirsnį (jei parinktas tuÅ¡Äias skirsnis)\n"
+"\n"
+"* Ctrl-d kad ištrintum skirsnį.\n"
+"\n"
+"* Ctrl-m kad nurodytum prijungimą tašką."
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Išimamų laikmenų automatinis montavimas"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pakeisti į normalų režimą"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Tavo kietajame diske buvo aptiktas vienas ar daugiau Microsoft Windows\n"
+"skirsnis. Prašom pasirinkti, kurio iš jų dydį nori pakeisti, kad įdiegtum "
+"savo\n"
+"naująją Mageia operacijų sistemą.\n"
+"\n"
+"\n"
+"Tavo žiniai, kiekvienas skirsnis sąraše užrašomas pavidalu \"Linux "
+"pavadinimas\",\n"
+"\"Windows pavadinimas\" \"Talpa\".\n"
+"\n"
+"\"Linux pavadinimas\" sudaromas taip: \"kaupiklio tipas\", \"kaupiklio "
+"numeris\",\n"
+"\"skirsnio numeris\" (pavyzdžiui \"hda1\").\n"
+"\n"
+"\"Kieto disko tipas\" yra \"hd\", jei tavo kietasis kaupiklis yra IDE tipo, "
+"ir \"sd\", jeigu\n"
+"tai SCSI kaupiklis.\n"
+"\n"
+"\n"
+"\"Kaupiklio numeris\" visada yra raidÄ— po \"sd\" arba \"hd\". IDE "
+"kaupikliams:\n"
+"\n"
+" * \"a\" reiškia \"pagrindinis (master) diskas, prijungtas prie pirmojo "
+"(primary) IDE valdiklio\",\n"
+"\n"
+" * \"b\" reiškia \"šalutinis (slave) diskas, prijungtas prie pirmojo IDE "
+"valdiklio\",\n"
+"\n"
+" * \"c\" reiškia \"pagrindinis diskas, prijungtas prie antrojo (secondary) "
+"IDE valdiklio\",\n"
+"\n"
+" * \"d\" reiškia \"šalutinis diskas, prijungtas prie antrojo IDE valdiklio"
+"\",\n"
+"\n"
+"\n"
+"Su SCSI kaupikliais, \"a\" reiškia \"pirmasis diskas\", \"b\" reiškia "
+"\"antrasis diskas\" ir t.t.\n"
+"\n"
+"\n"
+"\"Windows pavadinimas\" yra raidÄ—, kuria tas skirsnis buvo vadinamas "
+"Windows'uose\n"
+"(pirmasis disko skirsnis vadinamas \"C:\")"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Logitech MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, fuzzy, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Prašom pasirinkti teisingą prievadą. Pavyzdžiui COM1\n"
+"MS Windows'uose vadinamas ttyS0 GNU/Linux'e."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspertas"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX bandys surasti PCI SCSI adapterį(-ius). Jei DrakX\n"
+"ras SCSI adapterį ir žinos, kokią tvarkyklę naudoti, ji bus automatiškai\n"
+"įdiegta.\n"
+"\n"
+"\n"
+"Jei tu neturi SCSI adapterio, turi ISA SCSI adapterį ar PCI SCSI adapterį,\n"
+"kurio DrakX nepažįsta, tavęs bus paklausta, ar sistemoje yra SCSI\n"
+"adapteris. Jei nėra nė vieno, gali spausti „Ne“. Jei paspausi „Taip“, bus\n"
+"parodytas tvarkyklių sąrašas, iš kurio galėsi pasirinkti tinkamą savo\n"
+"adapteriui.\n"
+"\n"
+"\n"
+"Jei tau teks rankomis nurodyti savo adapterį, DrakX paprašys tavęs\n"
+"nurodyti jo nuostatas. Tu turėtum leisti DrakX bandyti atpažinti įrangos\n"
+"nuostatas. Dažniausiai tai suveikia.\n"
+"\n"
+"\n"
+"Jei ne, tau teks nurodyti tvarkyklės nuostatas. Prašom peržiūrėti User "
+"Guide\n"
+"(chapter 3, section \"Collective informations on your hardware\") dÄ—l "
+"patarimų,\n"
+"kaip sužinoti informaciją apie įrangos dokumentaciją, iš gamintojo "
+"svetainÄ—s\n"
+"tinkle (jei turi priėjimą prie interneto) arba iš Microsoft Windows (jei "
+"turi juos\n"
+"savo sistemoje)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Vidinė ISDN plokštė"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Vidinė ISDN plokštė"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X paleidžiant"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Pasirink kietąjį diską, kurį nori ištuštinti, kad įdiegtum naują\n"
+"Mageia sistemą. Būk atsargus, visi duomenys, esantys jame, bus\n"
+"prarasti, ir jų nebebus įmanoma atkurti."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Spausk \"Gerai\", jei nori iÅ¡trinti visus duomenis ir skirsnius, esanÄius\n"
+"šiame kietajame diske. Būk atsargus, kai paspausi \"Gerai\", tu nebegalėsi\n"
+"atkurti jokių duomenų nei skirsnių, kurie buvo šiame diske, įskaitant bet\n"
+"kokius Windows duomenis.\n"
+"\n"
+"\n"
+"Spausk \"Atšaukti\", kad nutrauktum operaciją ir neprarastum jokių duomenų\n"
+"nei skirsnių, esanÄių Å¡iame kietajame diske."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Toliau ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ankstesnis"
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "Autentikacija"
diff --git a/perl-install/install/help/po/ltg.po b/perl-install/install/help/po/ltg.po
new file mode 100644
index 000000000..9f7c78800
--- /dev/null
+++ b/perl-install/install/help/po/ltg.po
@@ -0,0 +1,1406 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-02-24 13:01+0200\n"
+"Last-Translator: MÄris Laureckis <linux@latgola.lv>\n"
+"Language-Team: Latgalian <linux@latgola.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pyrms turpynuot, jiusim vajadzÄtu uzmaneigi izlaseit licencis vÄ«nuoÅ¡onÅ«s. "
+"Tei nūsadz\n"
+"vysu Mageia distribuceju. Ja jius napīkreitit vysim tuos "
+"nūteikumiem,\n"
+"puorbaudit \"%s\" kasti, nūspīdit pūgu \"%s\",\n"
+"lai jiusu dators puorstarteitu."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"AugstÄk ir uzskaitÄ«tas eksistÄ“joÅ¡Äs Linux sadaļas, kas ir atrastas uz jÅ«su\n"
+"cietÄ diska. JÅ«s varat atstÄt meistara izdarÄ«to izvÄ“li, jo tÄ ir laba\n"
+"parastÄm vajadzÄ«bÄm. Ja jÅ«s izmainÄt Å¡o izvÄ“li, jums ir jÄdefinÄ“ vismaz\n"
+"saknes sadaļÄ(\"/\"). NeizvÄ“lieties pÄrÄk mazu sadaļu, citÄdi jÅ«s nevarÄ“sit\n"
+"instalÄ“t visas vajadzÄ«gÄs programmas. Ja vÄ“laties datus glabÄt atsevišķÄ\n"
+"sadaļÄ, jums ir jÄnorÄda arÄ« \"/home\" (to var izdarÄ«t tikai tad, ja jums "
+"ir\n"
+"vairÄkas Linux sadaļas).\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, katra sadaļa ir uzskaitÄ«ta Å¡ÄdÄ veidÄ: \"Nosaukums\", "
+"\"Izmērs\".\n"
+"\n"
+"\"Nosaukums\" ir kodÄ“ts Å¡Ädi: \"cietÄ diska tips\", \"cietÄ diska numurs\",\n"
+"\"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\"CietÄ diska tips\" ir \"hd\", ja jÅ«su cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\"CietÄ diska numurs\" vienmÄ“r ir burts pÄ“c \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozÄ«mÄ“ \"primÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozÄ«mÄ“ \"primÄrÄ IDE konytroliera pakÄrtotais disks\",\n"
+"\n"
+" * \"c\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera pakÄrtotais disks\".\n"
+"\n"
+"SCSI diskiem \"a\" nozÄ«mÄ“ \"primÄrais cietais disks\", \"b\" nozÄ«mÄ“\n"
+" \"sekundÄrais cietais disks\", utt..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalÄcija ir sadalÄ«ta pa dažiem CD-ROM diskiem. DrakX\n"
+"zin, vai izvÄ“lÄ“tÄ pakotne atrodas uz cita CD-ROM diska, izvirzÄ«s paÅ¡reizÄ“jo\n"
+"kompaktdisku un palūgs ievietot citu pēc nepieciešamības."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atjaunynuot"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Ar pamotdokumentaceju"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Ļūti minimala instaleišona"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tagad varat norÄdÄ«t servisus, kurus jÅ«s vÄ“laties startÄ“t sistÄ“mas\n"
+"palaiÅ¡anas laikÄ.\n"
+"\n"
+"\n"
+"Kad pele pÄrvietojas pÄr saraksta elementu, parÄdÄs\n"
+"neliels palīdzības balons, kas paskaidro servisa lomu.\n"
+"\n"
+"\n"
+"Esiet Ä«paÅ¡i uzmanÄ«gs Å¡ajÄ solÄ«, ja vÄ“laties sistÄ“mu izmantot ka serveri:\n"
+"iespējams, ka nevēlaties startēt nevienu nevajadzīgu servisu. Atcerieties.\n"
+"ka daži servisi var būt bīstami, ja darbojas serverī.\n"
+"Parasti izvÄ“lieties tikai tos servisus, kas jums tieÅ¡Äm nepiecieÅ¡ami."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "AutomÄtiska laika sinhronizÄcija (izmantojot NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcejis\n"
+"\n"
+" Ite jius varit izavielēt, voi jius gribit, lai mašyna automatiski "
+"puorsaslÄdz grafiskajÄ saskarnÄ“\n"
+"pi īluodis. Acimradzūt, jius gribit puorbaudeit \"%s\",\n"
+"ja jiusu dators dorbojÄs kai servers, voi ari naizadeve veiksmeigi paveikt "
+"ekrana\n"
+"konfigureišonu."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Pošlaik jiusim ir juoizavielej, kur iz cītuo diska instalēt Mageia\n"
+"opereituojsistemu. Ja disks ir tukšs voi cyta opereituojsistema aizjam vysu\n"
+"vÄ«tu iz diska, jiusim byus juoveic diska sadaleiÅ¡ona. EisumÄ, cÄ«tuo diska\n"
+"sadaleišona nūzeimej tū sadaleit logiskuos daļuos, lai izveiduotu vītu\n"
+"Mageia sistemys instaleišonai.\n"
+"\n"
+"SakarÄ ar tÅ«, ka diska sadaleiÅ¡onys process parasti ir naatgrÄ«zenisks,\n"
+"napīredziejušam lītuotuojam tys var byut napateikams i stresa pylns.\n"
+"DrakX'a ir meistars, kurs vīnkuoršoj procesu. Pyrms uzsuocot daleišonu, "
+"izlosit\n"
+"rūkysgruomotu i vysu labi puordūmojit.\n"
+"\n"
+"Jiusim ir napīcīšomys vysmoz divejis sadalis. Vīna vajadzeiga pošai "
+"sistemai,\n"
+"otra - virtuÄlajai atmiņai (Swap).\n"
+"\n"
+"\n"
+"Ja sadaļas jau izveidotas (agrÄkas instalēšanas laikÄ vai ar citu diska\n"
+"sadalīšanas rÄ«ku), jums tikai jÄnorÄda tÄs sadaļas, kurÄs vÄ“laties\n"
+"instalēt Linux sistēmu.\n"
+"\n"
+"\n"
+"Ja sadaļas vÄ“l nav izveidotas, jums tÄs ir jÄizveido. Lai to izdarÄ«tu,\n"
+"izmantojiet augstÄk pieejamo meistaru. AtkarÄ«bÄ no jÅ«su cietÄ diska \n"
+"konfigurÄcijas ir iespÄ“jami vairÄki risinÄjumi:\n"
+"\n"
+"* Izmantot esoÅ¡u sadaļu: meistars uz cietÄ diska ir atklÄjis vienu vai "
+"vairÄkas Linux sadaļas. Ja vÄ“laties\n"
+" tÄs saglabÄt, izvÄ“lieties Å¡o opciju. \n"
+"\n"
+"\n"
+"* Izdzēst visu disku: ja vēlaties izdzēst visus uz diska esošos datus un "
+"sadaļas un aizstÄt tÄs ar jaunu\n"
+" Mageia sistēmu, varat izvēlēties šo opciju. Esiet uzmanīgi, "
+"izvÄ“loties Å¡o risinÄjumu, jo pÄ“c\n"
+" apstiprinÄÅ¡anas jÅ«s vairs nevarÄ“sit atteikties no šīs izvÄ“les.\n"
+"\n"
+"\n"
+"* Izmanto brÄ«vo vietu Windows sadaļÄ: ja uz cietÄ diska ir instalÄ“ts "
+"Microsoft Windows, kas aizņem visu\n"
+" vietu, jums ir jÄatbrÄ«vo vieta Linux datiem. Lai to izdarÄ«tu, jÅ«s varat "
+"nodzēst Microsoft Windows sadaļu un\n"
+" datus (skatÄ«t risinÄjumus \"IzdzÄ“st visu disku\" vai \"Eksperta režīms\") "
+"vai izmainīt Microsoft\n"
+" Windows sadaļas izmēru. Sadaļas izmēru var izmainīt bez datu zaudēšanas. "
+"Å is risinÄjums ir ieteicams, ja\n"
+" jÅ«s savÄ datorÄ vÄ“laties izmantot gan Mageia, gan Microsoft "
+"Windows.\n"
+"\n"
+"\n"
+" Pirms izvÄ“laties Å¡o risinÄjumu, ņemiet vÄ“rÄ, ka Microsoft Windows sadaļas "
+"izmÄ“rs bÅ«s mazÄks, nekÄ tas ir\n"
+" paÅ¡laik. Tas nozÄ«mÄ“, ka jums Microsoft Windows sistÄ“mÄ bÅ«s mazÄk vietas "
+"datiem vai programmu instalēšanai.\n"
+"\n"
+"\n"
+" * \"%s\": ja jius gribit patstuoveigi veiduot diska sadalis, varit "
+"izavielēt itū variantu. Esit\n"
+"uzmaneigi, izavÄlÅ«t itÅ« rysynuojumu. Tys ir ar plaÅ¡om Ä«spiejom, bet ļūti "
+"beistams. Jius varit pazaudēt\n"
+"vysus datus, tuopiec izavielejit tikai tod, ja zinot, kū dorot."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Izmantot jau esošu sadaļu"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izdzēst vysu disku"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sagatavot auto instalēšanas disketi"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Visas jaunizveidotÄs sadaļas ir jÄformatÄ“, pirms tÄs var izmantot\n"
+"(formatēšana nozīmē failsistēmas izveidošanu).\n"
+"\n"
+"Tagad jÅ«s arÄ« varat izvÄ“lÄ“ties pÄrformatÄ“t dažas jau esoÅ¡as sadaļas, lai\n"
+"izdzÄ“stu tajÄs esoÅ¡o informÄciju. Ja jÅ«s vÄ“laties to darÄ«t, norÄdiet\n"
+"sadaļas, kuras vēlaties formatēt.\n"
+"\n"
+"Å…emiet vÄ“rÄ, ka nav nepiecieÅ¡ams pÄrformatÄ“t visas jau eksistÄ“joÅ¡as "
+"sadaļas.\n"
+"Jums ir jÄformatÄ“ sadaļas, kurÄs atrodas operÄ“tÄjsistÄ“ma (piemÄ“ram, \"/\",\n"
+"\"/usr\" vai \"/var\"), bet nav jÄformatÄ“ sadaļas, kurÄs atrodas dati, ko\n"
+"jÅ«s vÄ“laties saglabÄt (parasti /home).\n"
+"\n"
+"Esiet uzmanīgi, izvēloties sadaļas, jo pēc formatēšanas visi dati būs\n"
+"iznÄ«cinÄti un jÅ«s vairs nevarÄ“sit tos atjaunot.\n"
+"\n"
+"Noklikšķiniet \"Labi\", kad esat gatavi formatēt sadaļas.\n"
+"\n"
+"Noklikšķiniet \"Atcelt\", ja jūs gribat izvēlēties citas sadaļas, kur\n"
+"instalÄ“t jauno Mageia operÄ“tÄjsistÄ“mu."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Šobrīd ir laiks izvēlēties nepieciešamo datora drošības līmeni.\n"
+"XXXXX jo dators ir atklÄtÄks, un jo kritiskÄki ir uz tÄ novietotie dati,\n"
+"jo augstÄkam vajadzÄ“tu bÅ«t drošības lÄ«menim.\n"
+"TaÄu augstÄks drošības lÄ«menis tiek iegÅ«ts uz lietoÅ¡anas Ä“rtuma\n"
+"rēķina. MeklÄ“jiet nodaļu \"msec\" rokasgrÄmatÄ ``Reference Manual'',\n"
+"lai iegÅ«tu vairÄk informÄcijas par Å¡o lÄ«meņu nozÄ«mi.\n"
+"\n"
+"Ja JÅ«s neziniat, ko izvÄ“lÄ“ties, atstÄjiet noklusÄ“to opciju."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Drošības administrators:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"PaÅ¡laik jums ir jÄizvÄ“las, kurÄ(s) diska sadaļÄ(s) instalÄ“t Mageia\n"
+"operÄ“tÄjsistÄ“mu. Ja sadaļas jau ir izveidotas (agrÄkas GNU/Linux "
+"instalēšanas\n"
+"laikÄ vai ar citu diska sadalīšanas rÄ«ku), jÅ«s varat izmantot esoÅ¡Äs "
+"sadaļas.\n"
+"Citos gadÄ«jumos ir jÄveido jaunas diska sadaļas.\n"
+"\n"
+"\n"
+"Lai veidotu sadaļas, jums vispirms ir jÄizvÄ“las cietais disks. JÅ«s varat\n"
+"norÄdÄ«t sadalÄmo disku, noklikšķinot uz \"hda\" pirmajam IDE diskam,\n"
+"\"hdb\" - otrajam diskam, \"sda\" - pirmajam SCSI diskam, utt.\n"
+"\n"
+"\n"
+"Lai sadalītu izvēlēto cieto disku, varat izmantot sekojošas opcijas:\n"
+"\n"
+" * IzdzÄ“st visu: šī opcija izdzēš visas sadaļas, kas atrodas uz izvÄ“lÄ“tÄ "
+"cietÄ diska.\n"
+"\n"
+"\n"
+" * Izvietot automÄtiski: šī opcija ļauj jums automÄtiski izveidot Ext2 un "
+"swap sadaļas jÅ«su cietÄ diska\n"
+" brÄ«vajÄ vietÄ.\n"
+"\n"
+"\n"
+" * Salabot sadaļu tabulu: ja sadaļu tabula ir bojÄta, jÅ«s varat mēģinÄt to "
+"autjaunot, izmantojot šo opciju.\n"
+" Esiet uzmanīgi un atcerieties, ka tas var neizdoties.\n"
+"\n"
+"\n"
+" * Atsaukt: jūs varat izmantot šo opciju, lai atceltu izmaiņas.\n"
+"\n"
+"\n"
+" * PÄrlÄdÄ“t: jÅ«s varat izmantot Å¡o opciju, ja vÄ“laties atsaukt visas "
+"izmaiņas un ielÄdÄ“t sÄkotnÄ“jo sadaļu tabulu.\n"
+"\n"
+"\n"
+" * Meistars: Ja cietÄ diska sadalīšanai vÄ“laties izmantot meistaru, varat "
+"lietot Å¡o opciju. TÄ ir ieteicama,\n"
+" ja jums nav labu zinÄÅ¡anu par diska sadalīšanu.\n"
+"\n"
+"\n"
+" * Atjaunot no disketes: ja iepriekšējÄs instalēšanas laikÄ saglabÄjÄt "
+"sadaļu tabulu disketē, jūs varat\n"
+" to atjaunot, izmantojot šo opciju.\n"
+"\n"
+"\n"
+" * SaglabÄt disketÄ“: ja vÄ“laties sadaļu tabulu saglabÄt disketÄ“, lai "
+"varētu to atjaunot, izmantojiet šo\n"
+" opciju. Ir ļoti ieteicams izmantot šo opciju.\n"
+"\n"
+"\n"
+" * IzdarÄ«ts: kad esat pabeiguÅ¡i cietÄ diska dalīšanu, izmantojiet Å¡o "
+"opciju, lai saglabÄtu izmaiņas.\n"
+"\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, jebkuru opciju var izsaukt ar tastatÅ«ru: pÄrvietojieties "
+"starp sadaļÄm, izmantojot Tab un AuÅ¡up/Lejup bultiņas.\n"
+"\n"
+"\n"
+"Kad ir izvēlēta sadaļa, jūs varat izmantot:\n"
+"\n"
+" * Ctrl-c, lai izveidotu jaunu sadaļu (kad ir izvēlēta tukša "
+"sadaļa)\n"
+"\n"
+" * Ctrl-d, lai izdzēstu sadaļu\n"
+"\n"
+" * Ctrl-m, lai uzstÄdÄ«tu montēšanas punktu"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Izņemama datu nesēja automontēšana"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "PÄrslÄ“gt normÄlajÄ režīmÄ"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Uz jÅ«su cietÄ diska ir atrasta vairÄk nekÄ viena Microsoft Windows sadaļa.\n"
+"Lūdzu izvēlieties to sadaļu, kuras izmēru jūs vēlaties izmainīt, lai\n"
+"instalÄ“tu jauno Mageia operÄ“tÄjsistÄ“mu.\n"
+"\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, katra sadaļa ir uzskaitÄ«ta Å¡ÄdÄ veidÄ: \"Linux nosaukums\",\n"
+"\"Windows nosaukums\" \"Izmērs\".\n"
+"\n"
+"\"Linux nosaukums\" ir kodÄ“ts Å¡Ädi: \"cietÄ diska tips\", \"cietÄ diska\n"
+"numurs\", \"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\n"
+"\"CietÄ diska tips\" ir \"hd\", ja jÅ«su cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\n"
+"\"CietÄ diska numurs\" vienmÄ“r ir burts pÄ“c \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozÄ«mÄ“ \"primÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozÄ«mÄ“ \"primÄrÄ IDE konytroliera pakÄrtotais disks\",\n"
+"\n"
+" * \"c\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera pakÄrtotais disks\".\n"
+"\n"
+"\n"
+"SCSI diskiem \"a\" nozÄ«mÄ“ \"primÄrais cietais disks\", \"b\" nozÄ«mÄ“\n"
+" \"sekundÄrais cietais disks\", utt...\n"
+"\n"
+"\"Windows nosaukums\" ir jÅ«su cietÄ diska burts Windows vidÄ“ (pirmais disks\n"
+"vai sadaļa saucas \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Parasti DrakX izvÄ“las tastatÅ«ras izkÄrtojumu priekÅ¡ Jums (atkarÄ«bÄ no\n"
+"valodas, kuru JÅ«s izvÄ“lÄ“jÄties), tomÄ“r Jums var nebÅ«t tastatÅ«ra, kas "
+"atbilst\n"
+"tieši Jūsu valodai.\n"
+"ŠEIT DERĒTU KĀDS PIEMĒRS SAISTĪBĀ \n"
+"AR LATVIEÅ IEM :)\n"
+"Klikšķiniet uz pogas \"VairÄk\" lai saņemtu pilnu sarakstu ar atbalstÄ«tiem\n"
+"tastatÅ«ras izkÄrtojumiem.\n"
+"\n"
+"Ja JÅ«s izvÄ“lÄ“sieties tastatÅ«ras izkÄrtojumu, kas balstÄs uz savÄdÄku, kÄ\n"
+"latīņu alfabÄ“tu, nÄkamajÄ dialogÄ jums tiks pieprasÄ«ts izvÄ“lÄ“ties taustiņa\n"
+"piesaisti, kas pÄrslÄ“gs tastatÅ«ras izkÄrtojumu starp latīņu un ne-latīņu\n"
+"izkÄrtojumiem."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "SpÄņu"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ar riteneiša emulaceju"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lyudzu izavielejit pareizu portu. PÄ«mÄram, MS Windows\n"
+"ports COM1 GNU/Linux vidē saucas ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Eksperta režims"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mēģinÄs sameklÄ“t PCI SCSI adapteri(us).\n"
+"Ja DrakX atradÄ«s kÄdu SCSI adapteri un zinÄs, kuru draiveri izmantot,\n"
+"tas tiks instalÄ“ts automÄtiski.\n"
+"\n"
+"Ja jums nav SCSI adapteru, ir ISA SCSI adapteris vai PCI SCSI adapteris,\n"
+"ko DrakX neatpazÄ«st, jums tiks pajautÄts, vai jÅ«su sistÄ“mÄ ir SCSI\n"
+"adapteris. Ja nav SCSI adapteru, jÅ«s varat vienkÄrÅ¡i izvÄ“lÄ“ties 'NÄ“'.\n"
+"Ja jÅ«s izvÄ“laties 'JÄ', jums tiks parÄdÄ«ts draiveru saraksts, kurÄ\n"
+"varat izvēlēties vajadzīgo adapteri.\n"
+"\n"
+"\n"
+"Ja jums nepiecieÅ¡ams patstÄvÄ«gi norÄdÄ«t adapteri, DrakX pajautÄs, vai\n"
+"vÄ“laties norÄdÄ«t adaptera opcijas. Jums bÅ«tu jÄļauj DrakX aptaujÄt\n"
+"dzelžus un noskaidrot opcijas. Parasti tas izdodas bez problÄ“mÄm.\n"
+"\n"
+"Ja neizdodas, jums patstÄvÄ«gi jÄnorÄda draivera opcijas.\n"
+"Izlasiet Instalēšanas rokasgrÄmatu (3. nodaļu, apakÅ¡nodaļu \"InformÄcijas "
+"savÄkÅ¡ana par jÅ«su dzelžiem\"), lai uzzinÄtu, kÄ iegÅ«t Å¡o\n"
+"informÄciju no dzelžu dokumentÄcijas, ražotÄja tÄ«kla lapas\n"
+"(ja jums ir pieejams Internets) vai Windows (ja tas ir uzstÄdÄ«ts jÅ«su "
+"datorÄ)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN karte"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karte"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X pēc startēšanas"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"NorÄdiet cieto disku, ko vÄ“laties izdzÄ“st, lai izveidotu jaunu\n"
+"Mageia sadaļu. Esiet uzmanÄ«gi, jo visi diskÄ esoÅ¡ie dati\n"
+"pazudīs un nebūs atjaunojami."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Nūspīdit \"%s\", ja gribit izdzēst vysus datus i\n"
+"sadalis, kurys atsarūn iz ituo cītuo diska. Esit uzmaneigi, piec \"%s\" "
+"nūspīsšonys jius navarēsit atjaunuot nikaidus datus voi sadalis iz ituo "
+"diska, tymÄ skaitÄ ari Windows datus.\n"
+"\n"
+"Nūspīdit \"%s\", lai atcaltu itū operaceju bez jebkaidu iz ituo diska esūšu "
+"datu voi sadaļu pazaudeišonys."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tuoļuok ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Atpakaļ"
+
+#~ msgid "authentication"
+#~ msgstr "autentifikaceja"
diff --git a/perl-install/install/help/po/lv.po b/perl-install/install/help/po/lv.po
new file mode 100644
index 000000000..1e45799d9
--- /dev/null
+++ b/perl-install/install/help/po/lv.po
@@ -0,0 +1,1430 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2002-09-27 17:45+0200\n"
+"Last-Translator: Raivo Saars <spaiks@inbox.lv>\n"
+"Language-Team: Latvian <ll10nt@listes.murds.lv>\n"
+"Language: lv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pirms turpinÄt, Jums vajadzÄ“tu uzmanÄ«gi izlasÄ«t licences vienoÅ¡anos. TÄ "
+"nosedz\n"
+"visu Mageia distribūciju, un ja Jūs nepiekrītat visiem noteikumiem,\n"
+"nospiediet uz pogas \"NoraidÄ«t\", kas nekavÄ“joties pÄrtrauks instalÄciju. "
+"Lai turpinÄtu\n"
+"instalÄcijas procesu, nospiediet pogu \"Pieņemt\"."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"AugstÄk ir uzskaitÄ«tas eksistÄ“joÅ¡Äs Linux sadaļas, kas ir atrastas uz jÅ«su\n"
+"cietÄ diska. JÅ«s varat atstÄt meistara izdarÄ«to izvÄ“li, jo tÄ ir laba\n"
+"parastÄm vajadzÄ«bÄm. Ja jÅ«s izmainÄt Å¡o izvÄ“li, jums ir jÄdefinÄ“ vismaz\n"
+"saknes sadaļÄ(\"/\"). NeizvÄ“lieties pÄrÄk mazu sadaļu, citÄdi jÅ«s nevarÄ“sit\n"
+"instalÄ“t visas vajadzÄ«gÄs programmas. Ja vÄ“laties datus glabÄt atsevišķÄ\n"
+"sadaļÄ, jums ir jÄnorÄda arÄ« \"/home\" (to var izdarÄ«t tikai tad, ja jums "
+"ir\n"
+"vairÄkas Linux sadaļas).\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, katra sadaļa ir uzskaitÄ«ta Å¡ÄdÄ veidÄ: \"Nosaukums\", "
+"\"Izmērs\".\n"
+"\n"
+"\"Nosaukums\" ir kodÄ“ts Å¡Ädi: \"cietÄ diska tips\", \"cietÄ diska numurs\",\n"
+"\"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\"CietÄ diska tips\" ir \"hd\", ja jÅ«su cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\"CietÄ diska numurs\" vienmÄ“r ir burts pÄ“c \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozÄ«mÄ“ \"primÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozÄ«mÄ“ \"primÄrÄ IDE konytroliera pakÄrtotais disks\",\n"
+"\n"
+" * \"c\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera pakÄrtotais disks\".\n"
+"\n"
+"SCSI diskiem \"a\" nozÄ«mÄ“ \"primÄrais cietais disks\", \"b\" nozÄ«mÄ“\n"
+" \"sekundÄrais cietais disks\", utt..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalÄcija ir sadalÄ«ta pa dažiem CD-ROM diskiem. DrakX\n"
+"zin, vai izvÄ“lÄ“tÄ pakotne atrodas uz cita CD-ROM diska, izvirzÄ«s paÅ¡reizÄ“jo\n"
+"kompaktdisku un palūgs ievietot citu pēc nepieciešamības."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "AtjauninÄt"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Ar pamatdokumentÄciju (ieteicams!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "MinimÄla instalēšana"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tagad varat norÄdÄ«t servisus, kurus jÅ«s vÄ“laties startÄ“t sistÄ“mas\n"
+"palaiÅ¡anas laikÄ.\n"
+"\n"
+"\n"
+"Kad pele pÄrvietojas pÄr saraksta elementu, parÄdÄs\n"
+"neliels palīdzības balons, kas paskaidro servisa lomu.\n"
+"\n"
+"\n"
+"Esiet Ä«paÅ¡i uzmanÄ«gs Å¡ajÄ solÄ«, ja vÄ“laties sistÄ“mu izmantot ka serveri:\n"
+"iespējams, ka nevēlaties startēt nevienu nevajadzīgu servisu. Atcerieties.\n"
+"ka daži servisi var būt bīstami, ja darbojas serverī.\n"
+"Parasti izvÄ“lieties tikai tos servisus, kas jums tieÅ¡Äm nepiecieÅ¡ami."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "AutomÄtiska laika sinhronizÄcija (izmantojot NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Visbeidzot, Jums tiks uzdots jautÄjums vai JÅ«s vÄ“laties grafisko saskarni\n"
+"pie ielÄdes. Å is jautÄjums tiks Jums uzdots, pat ja JÅ«s neizvÄ“lÄ“jÄties\n"
+"pÄrbaudÄ«t konfigurÄciju. AcÄ«mredzot, JÅ«s vÄ“laties atbildet \"NÄ“\" ja Å¡is\n"
+"dators darbosies kÄ serveris, vai arÄ« neizdevÄs veiksmÄ«gi paveikt ekrÄna\n"
+"konfigurēšanu."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"PaÅ¡laik jums ir jÄizvÄ“las, kur uz cietÄ diska instalÄ“t Mageia\n"
+"operÄ“tÄjsistÄ“mu. Ja disks ir tukÅ¡s vai cita operÄ“tÄjsistÄ“ma aizņem visu\n"
+"vietu uz diska, jums bÅ«s jÄveic diska sadalīšana. ĪsumÄ, cietÄ diska\n"
+"sadalīšana nozÄ«mÄ“ to sadalÄ«t loÄ£iskÄs daļÄs, lai izveidotu vietu\n"
+"Mageia sistēmas instalēšanai.\n"
+"\n"
+"\n"
+"SakarÄ ar to, ka diska sadalīšanas process parasti ir neatgriezenisks,\n"
+"nepieredzÄ“juÅ¡am lietotÄjam tas var bÅ«t nepatÄ«kams un stresa pilns.\n"
+"Å is meistars vienkÄrÅ¡o procesu. Pirms uzsÄkat dalīšanu, izlasiet\n"
+"rokasgrÄmatu un visu labi pÄrdomÄjiet.\n"
+"\n"
+"\n"
+"Jums ir nepieciešamas vismaz divas sadaļas. Viena vajadzīga pašai sistēmai,\n"
+"otra - virtuÄlajai atmiņai (Swap).\n"
+"\n"
+"\n"
+"Ja sadaļas jau izveidotas (agrÄkas instalēšanas laikÄ vai ar citu diska\n"
+"sadalīšanas rÄ«ku), jums tikai jÄnorÄda tÄs sadaļas, kurÄs vÄ“laties\n"
+"instalēt Linux sistēmu.\n"
+"\n"
+"\n"
+"Ja sadaļas vÄ“l nav izveidotas, jums tÄs ir jÄizveido. Lai to izdarÄ«tu,\n"
+"izmantojiet augstÄk pieejamo meistaru. AtkarÄ«bÄ no jÅ«su cietÄ diska \n"
+"konfigurÄcijas ir iespÄ“jami vairÄki risinÄjumi:\n"
+"\n"
+"* Izmantot esoÅ¡u sadaļu: meistars uz cietÄ diska ir atklÄjis vienu vai "
+"vairÄkas Linux sadaļas. Ja vÄ“laties\n"
+" tÄs saglabÄt, izvÄ“lieties Å¡o opciju. \n"
+"\n"
+"\n"
+"* Izdzēst visu disku: ja vēlaties izdzēst visus uz diska esošos datus un "
+"sadaļas un aizstÄt tÄs ar jaunu\n"
+" Mageia sistēmu, varat izvēlēties šo opciju. Esiet uzmanīgi, izvēloties šo "
+"risinÄjumu, jo pÄ“c\n"
+" apstiprinÄÅ¡anas jÅ«s vairs nevarÄ“sit atteikties no šīs izvÄ“les.\n"
+"\n"
+"\n"
+"* Izmanto brÄ«vo vietu Windows sadaļÄ: ja uz cietÄ diska ir instalÄ“ts "
+"Microsoft Windows, kas aizņem visu\n"
+" vietu, jums ir jÄatbrÄ«vo vieta Linux datiem. Lai to izdarÄ«tu, jÅ«s varat "
+"nodzēst Microsoft Windows sadaļu un\n"
+" datus (skatÄ«t risinÄjumus \"IzdzÄ“st visu disku\" vai \"Eksperta režīms\") "
+"vai izmainīt Microsoft\n"
+" Windows sadaļas izmēru. Sadaļas izmēru var izmainīt bez datu zaudēšanas. "
+"Å is risinÄjums ir ieteicams, ja\n"
+" jÅ«s savÄ datorÄ vÄ“laties izmantot gan Mageia, gan Microsoft Windows.\n"
+"\n"
+"\n"
+" Pirms izvÄ“laties Å¡o risinÄjumu, ņemiet vÄ“rÄ, ka Microsoft Windows sadaļas "
+"izmÄ“rs bÅ«s mazÄks, nekÄ tas ir\n"
+" paÅ¡laik. Tas nozÄ«mÄ“, ka jums Microsoft Windows sistÄ“mÄ bÅ«s mazÄk vietas "
+"datiem vai programmu instalēšanai.\n"
+"\n"
+"\n"
+"* Eksperta režīms: ja jÅ«s vÄ“laties patstÄvÄ«gi veidot diska sadaļas, varat "
+"izvēlēties šo variantu. Esiet\n"
+" uzmanÄ«gi, izveloties Å¡o risinÄjumu. Tas ir ar plaÅ¡Äm iespÄ“jÄm, bet ļoti "
+"bīstams. Jūs varat pazaudēt\n"
+" visus datus, tÄpÄ“c izvÄ“lieties tikai tad, ja zinat, ko darÄt."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Izmantot jau esošu sadaļu"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izdzēst visu disku"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sagatavot auto instalēšanas disketi"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Visas jaunizveidotÄs sadaļas ir jÄformatÄ“, pirms tÄs var izmantot\n"
+"(formatēšana nozīmē failsistēmas izveidošanu).\n"
+"\n"
+"Tagad jÅ«s arÄ« varat izvÄ“lÄ“ties pÄrformatÄ“t dažas jau esoÅ¡as sadaļas, lai\n"
+"izdzÄ“stu tajÄs esoÅ¡o informÄciju. Ja jÅ«s vÄ“laties to darÄ«t, norÄdiet\n"
+"sadaļas, kuras vēlaties formatēt.\n"
+"\n"
+"Å…emiet vÄ“rÄ, ka nav nepiecieÅ¡ams pÄrformatÄ“t visas jau eksistÄ“joÅ¡as "
+"sadaļas.\n"
+"Jums ir jÄformatÄ“ sadaļas, kurÄs atrodas operÄ“tÄjsistÄ“ma (piemÄ“ram, \"/\",\n"
+"\"/usr\" vai \"/var\"), bet nav jÄformatÄ“ sadaļas, kurÄs atrodas dati, ko\n"
+"jÅ«s vÄ“laties saglabÄt (parasti /home).\n"
+"\n"
+"Esiet uzmanīgi, izvēloties sadaļas, jo pēc formatēšanas visi dati būs\n"
+"iznÄ«cinÄti un jÅ«s vairs nevarÄ“sit tos atjaunot.\n"
+"\n"
+"Noklikšķiniet \"Labi\", kad esat gatavi formatēt sadaļas.\n"
+"\n"
+"Noklikšķiniet \"Atcelt\", ja jūs gribat izvēlēties citas sadaļas, kur\n"
+"instalÄ“t jauno Mageia operÄ“tÄjsistÄ“mu."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Šobrīd ir laiks izvēlēties nepieciešamo datora drošības līmeni.\n"
+"XXXXX jo dators ir atklÄtÄks, un jo kritiskÄki ir uz tÄ novietotie dati,\n"
+"jo augstÄkam vajadzÄ“tu bÅ«t drošības lÄ«menim.\n"
+"TaÄu augstÄks drošības lÄ«menis tiek iegÅ«ts uz lietoÅ¡anas Ä“rtuma\n"
+"rēķina. MeklÄ“jiet nodaļu \"msec\" rokasgrÄmatÄ ``Reference Manual'',\n"
+"lai iegÅ«tu vairÄk informÄcijas par Å¡o lÄ«meņu nozÄ«mi.\n"
+"\n"
+"Ja JÅ«s neziniat, ko izvÄ“lÄ“ties, atstÄjiet noklusÄ“to opciju."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Drošības administrators:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"PaÅ¡laik jums ir jÄizvÄ“las, kurÄ(s) diska sadaļÄ(s) instalÄ“t Mageia\n"
+"operÄ“tÄjsistÄ“mu. Ja sadaļas jau ir izveidotas (agrÄkas GNU/Linux "
+"instalēšanas\n"
+"laikÄ vai ar citu diska sadalīšanas rÄ«ku), jÅ«s varat izmantot esoÅ¡Äs "
+"sadaļas.\n"
+"Citos gadÄ«jumos ir jÄveido jaunas diska sadaļas.\n"
+"\n"
+"\n"
+"Lai veidotu sadaļas, jums vispirms ir jÄizvÄ“las cietais disks. JÅ«s varat\n"
+"norÄdÄ«t sadalÄmo disku, noklikšķinot uz \"hda\" pirmajam IDE diskam,\n"
+"\"hdb\" - otrajam diskam, \"sda\" - pirmajam SCSI diskam, utt.\n"
+"\n"
+"\n"
+"Lai sadalītu izvēlēto cieto disku, varat izmantot sekojošas opcijas:\n"
+"\n"
+" * IzdzÄ“st visu: šī opcija izdzēš visas sadaļas, kas atrodas uz izvÄ“lÄ“tÄ "
+"cietÄ diska.\n"
+"\n"
+"\n"
+" * Izvietot automÄtiski: šī opcija ļauj jums automÄtiski izveidot Ext2 un "
+"swap sadaļas jÅ«su cietÄ diska\n"
+" brÄ«vajÄ vietÄ.\n"
+"\n"
+"\n"
+" * Salabot sadaļu tabulu: ja sadaļu tabula ir bojÄta, jÅ«s varat mēģinÄt to "
+"autjaunot, izmantojot šo opciju.\n"
+" Esiet uzmanīgi un atcerieties, ka tas var neizdoties.\n"
+"\n"
+"\n"
+" * Atsaukt: jūs varat izmantot šo opciju, lai atceltu izmaiņas.\n"
+"\n"
+"\n"
+" * PÄrlÄdÄ“t: jÅ«s varat izmantot Å¡o opciju, ja vÄ“laties atsaukt visas "
+"izmaiņas un ielÄdÄ“t sÄkotnÄ“jo sadaļu tabulu.\n"
+"\n"
+"\n"
+" * Meistars: Ja cietÄ diska sadalīšanai vÄ“laties izmantot meistaru, varat "
+"lietot Å¡o opciju. TÄ ir ieteicama,\n"
+" ja jums nav labu zinÄÅ¡anu par diska sadalīšanu.\n"
+"\n"
+"\n"
+" * Atjaunot no disketes: ja iepriekšējÄs instalēšanas laikÄ saglabÄjÄt "
+"sadaļu tabulu disketē, jūs varat\n"
+" to atjaunot, izmantojot šo opciju.\n"
+"\n"
+"\n"
+" * SaglabÄt disketÄ“: ja vÄ“laties sadaļu tabulu saglabÄt disketÄ“, lai "
+"varētu to atjaunot, izmantojiet šo\n"
+" opciju. Ir ļoti ieteicams izmantot šo opciju.\n"
+"\n"
+"\n"
+" * IzdarÄ«ts: kad esat pabeiguÅ¡i cietÄ diska dalīšanu, izmantojiet Å¡o "
+"opciju, lai saglabÄtu izmaiņas.\n"
+"\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, jebkuru opciju var izsaukt ar tastatÅ«ru: pÄrvietojieties "
+"starp sadaļÄm, izmantojot Tab un AuÅ¡up/Lejup bultiņas.\n"
+"\n"
+"\n"
+"Kad ir izvēlēta sadaļa, jūs varat izmantot:\n"
+"\n"
+" * Ctrl-c, lai izveidotu jaunu sadaļu (kad ir izvēlēta tukša "
+"sadaļa)\n"
+"\n"
+" * Ctrl-d, lai izdzēstu sadaļu\n"
+"\n"
+" * Ctrl-m, lai uzstÄdÄ«tu montēšanas punktu"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Izņemama datu nesēja automontēšana"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "PÄrslÄ“gt normÄlajÄ režīmÄ"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Uz jÅ«su cietÄ diska ir atrasta vairÄk nekÄ viena Microsoft Windows sadaļa.\n"
+"Lūdzu izvēlieties to sadaļu, kuras izmēru jūs vēlaties izmainīt, lai\n"
+"instalÄ“tu jauno Mageia operÄ“tÄjsistÄ“mu.\n"
+"\n"
+"\n"
+"JÅ«su zinÄÅ¡anai, katra sadaļa ir uzskaitÄ«ta Å¡ÄdÄ veidÄ: \"Linux nosaukums\",\n"
+"\"Windows nosaukums\" \"Izmērs\".\n"
+"\n"
+"\"Linux nosaukums\" ir kodÄ“ts Å¡Ädi: \"cietÄ diska tips\", \"cietÄ diska\n"
+"numurs\", \"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\n"
+"\"CietÄ diska tips\" ir \"hd\", ja jÅ«su cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\n"
+"\"CietÄ diska numurs\" vienmÄ“r ir burts pÄ“c \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozÄ«mÄ“ \"primÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozÄ«mÄ“ \"primÄrÄ IDE konytroliera pakÄrtotais disks\",\n"
+"\n"
+" * \"c\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozÄ«mÄ“ \"sekundÄrÄ IDE kontroliera pakÄrtotais disks\".\n"
+"\n"
+"\n"
+"SCSI diskiem \"a\" nozÄ«mÄ“ \"primÄrais cietais disks\", \"b\" nozÄ«mÄ“\n"
+" \"sekundÄrais cietais disks\", utt...\n"
+"\n"
+"\"Windows nosaukums\" ir jÅ«su cietÄ diska burts Windows vidÄ“ (pirmais disks\n"
+"vai sadaļa saucas \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Parasti DrakX izvÄ“las tastatÅ«ras izkÄrtojumu priekÅ¡ Jums (atkarÄ«bÄ no\n"
+"valodas, kuru JÅ«s izvÄ“lÄ“jÄties), tomÄ“r Jums var nebÅ«t tastatÅ«ra, kas "
+"atbilst\n"
+"tieši Jūsu valodai.\n"
+"ŠEIT DERĒTU KĀDS PIEMĒRS SAISTĪBĀ \n"
+"AR LATVIEÅ IEM :)\n"
+"Klikšķiniet uz pogas \"VairÄk\" lai saņemtu pilnu sarakstu ar atbalstÄ«tiem\n"
+"tastatÅ«ras izkÄrtojumiem.\n"
+"\n"
+"Ja JÅ«s izvÄ“lÄ“sieties tastatÅ«ras izkÄrtojumu, kas balstÄs uz savÄdÄku, kÄ\n"
+"latīņu alfabÄ“tu, nÄkamajÄ dialogÄ jums tiks pieprasÄ«ts izvÄ“lÄ“ties taustiņa\n"
+"piesaisti, kas pÄrslÄ“gs tastatÅ«ras izkÄrtojumu starp latīņu un ne-latīņu\n"
+"izkÄrtojumiem."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Pogu emulÄcija"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lūdzu izvēlieties pareizu portu. Piemēram, MS Windows\n"
+"ports COM1 GNU/Linux vidē saucas ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Eksperts"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mēģinÄs sameklÄ“t PCI SCSI adapteri(us).\n"
+"Ja DrakX atradÄ«s kÄdu SCSI adapteri un zinÄs, kuru draiveri izmantot,\n"
+"tas tiks instalÄ“ts automÄtiski.\n"
+"\n"
+"Ja jums nav SCSI adapteru, ir ISA SCSI adapteris vai PCI SCSI adapteris,\n"
+"ko DrakX neatpazÄ«st, jums tiks pajautÄts, vai jÅ«su sistÄ“mÄ ir SCSI\n"
+"adapteris. Ja nav SCSI adapteru, jÅ«s varat vienkÄrÅ¡i izvÄ“lÄ“ties 'NÄ“'.\n"
+"Ja jÅ«s izvÄ“laties 'JÄ', jums tiks parÄdÄ«ts draiveru saraksts, kurÄ\n"
+"varat izvēlēties vajadzīgo adapteri.\n"
+"\n"
+"\n"
+"Ja jums nepiecieÅ¡ams patstÄvÄ«gi norÄdÄ«t adapteri, DrakX pajautÄs, vai\n"
+"vÄ“laties norÄdÄ«t adaptera opcijas. Jums bÅ«tu jÄļauj DrakX aptaujÄt\n"
+"dzelžus un noskaidrot opcijas. Parasti tas izdodas bez problÄ“mÄm.\n"
+"\n"
+"Ja neizdodas, jums patstÄvÄ«gi jÄnorÄda draivera opcijas.\n"
+"Izlasiet Instalēšanas rokasgrÄmatu (3. nodaļu, apakÅ¡nodaļu \"InformÄcijas "
+"savÄkÅ¡ana par jÅ«su dzelžiem\"), lai uzzinÄtu, kÄ iegÅ«t Å¡o\n"
+"informÄciju no dzelžu dokumentÄcijas, ražotÄja tÄ«kla lapas\n"
+"(ja jums ir pieejams Internets) vai Windows (ja tas ir uzstÄdÄ«ts jÅ«su "
+"datorÄ)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Iekšēja ISDN karte"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Iekšēja ISDN karte"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X pēc startēšanas"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"NorÄdiet cieto disku, ko vÄ“laties izdzÄ“st, lai izveidotu jaunu\n"
+"Mageia sadaļu. Esiet uzmanÄ«gi, jo visi diskÄ esoÅ¡ie dati\n"
+"pazudīs un nebūs atjaunojami."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Nospiediet \"Labi\", ja vēlaties izdzēst visus datus un\n"
+"sadaļas, kas atrodas uz šī cietÄ diska. Esiet uzmanÄ«gi, pÄ“c \"Labi\" "
+"nospieÅ¡anas jÅ«s nevarÄ“sit atjaunot nekÄdus datus vai sadaļas, kas atradÄs\n"
+"uz diska, tajÄ skaitÄ arÄ« Windows datus.\n"
+"\n"
+"Nospiediet \"Atcelt\", lai atceltu Å¡o operÄciju bez jebkÄdu uz šī diska "
+"esošu datu vai sadaļu pazaudēšanas."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "TÄlÄk ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Atpakaļ"
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "AutentifikÄcija"
diff --git a/perl-install/install/help/po/mk.po b/perl-install/install/help/po/mk.po
new file mode 100644
index 000000000..0b6d3065b
--- /dev/null
+++ b/perl-install/install/help/po/mk.po
@@ -0,0 +1,2123 @@
+# translation of DrakX-help-mk.po to Macedonian
+# Copyright (C) 2002,2003, 2004, 2006 Free Software Foundation, Inc.
+#
+# Danko Ilik <danko@mindless.com>, 2002,2003.
+# Vladimir Stefanov <vladoboss@mt.net.mk>, 2003.
+# Зоран ДимовÑки <zoki@email.com>, 2003.
+# Danko Ilik <danko@on.net.mk>, 2003.
+# Зоран ДимовÑки <decata@mt.net.mk>, 2004.
+# Zoran Dimovski <zoki.dimovski@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-mk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-09-19 23:36-0700\n"
+"Last-Translator: Zoran Dimovski <zoki.dimovski@gmail.com>\n"
+"Language-Team: Macedonian\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пред да продолжите, внимателно прочитајте ѓи уÑловите на лиценцата. Таа\n"
+"ја покрива целата диÑтрибуција на „Mageia“, Aко Ñе ÑоглаÑувате\n"
+"Ñо Ñите уÑлови во неа, штиклирајте „%s“. Доколку не Ñе ÑоглаÑувате Ñо\n"
+"лиценцата притиÑнете на „%s“ и вашиот компјутер ќе Ñе реÑтартира."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"„GNU/Linux“ е повеќе-кориÑнички ÑиÑтем, и тоа значи дека Ñекој кориÑник\n"
+"може да Ñи има Ñвои преференци, Ñвои датотеки, итн. Ðо, за разлика од "
+"„root“,\n"
+"кој е админиÑтратор на ÑиÑтемот, кориÑниците што Ñега ги додавате, нема да\n"
+"можат да променат ништо оÑвен ÑопÑтвените датотеки и нивната конфигурација,\n"
+"така што ÑиÑтемот Ñе заштитува од ненамерни или злонамерни промени, кои "
+"може\n"
+"целоÑно да го променат вашиот ÑиÑтем. Треба да направите барен еден обичен\n"
+"кориÑник -- ова е Ñметката која треба да ја кориÑтите како рутина, за ваша\n"
+"Ñкојдневна работа. Иако е многу леÑно да Ñе најавите како „root“ да "
+"направете\n"
+"нешто и Ñешто, може да е многу опаÑно. Ðајмала грешка може да придонеÑе\n"
+"вашиот Ñитем повеќе да не работи. Ðко направите голема грешка како обичен\n"
+"кориÑник, најлошото што може да Ñе Ñлучи е да изгубите некои информации\n"
+"но нема да има влијание на ÑиÑтемот во целоÑÑ‚.\n"
+"\n"
+"Во првото поле Ñте прашани за вашете виÑтинÑко име. Се разбира, тоа не е\n"
+"задолжително -- вÑушноÑÑ‚ можете да внеÑете што Ñакате. DrakX ќе го земе\n"
+"првиот збор од името што Ñте го внеле и ќе го копира во полето „%s“, што "
+"вÑушнÑот е\n"
+"кориÑничкото име Ñо кое ќе Ñе најавете на ÑиÑтемот. Ðко Ñакате, можете да "
+"го\n"
+"променете и да внеÑете ÑопÑтвено. Потоа мора да внеÑете лозинка. Од "
+"ÑигурноÑна\n"
+"гледна точка, не-привилигиран (обичен) кориÑник, лозинката не е од големо\n"
+"значење како лозинката на „root“, но тоа не е причина да ја занемарите\n"
+"кориÑничката лозинка оÑтавајќи го полето празно или премногу едноÑтавна:\n"
+"како и да е, вашите датотеки Ñе во ризик.\n"
+"\n"
+"Откако ќе притиÑнете на копчето „%s“, можете да додадете и други кориÑници.\n"
+"Додадете по еден кориÑник за Ñекого по еден на вашите пријатели, вашиот "
+"тактко,\n"
+"ÑеÑтра, итн. Кога ќе завршите Ñо додавањето кориÑници,\n"
+"притиÑнете на копчето „%s“.\n"
+"\n"
+"Со притиÑкање на копчето „%s“, можете да ја промените „школката“ за\n"
+"тој кориÑник (која вообичаено е „bash“).\n"
+"\n"
+"Кога ќе завршите Ñо додавањето кориÑници, ќе ви биде предложено да\n"
+"изберете еден кориÑник кој автоматÑки ќе Ñе најавува на ÑиÑтемот кога\n"
+"компјутерот ќе Ñе вклучи. Ðко Ñте заинтереÑирани за оваа карактериÑтика\n"
+"(и не Ñе грижите многу за локалната безбедноÑÑ‚), изберете кориÑник и\n"
+"менаџер на прозорци, и потоа притиÑнете на „%s“. Ðко не Ñакате да ја "
+"кориÑтите\n"
+"оваа карактериÑтика, одштиклирајте го „%s“."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Дали Ñакате да ja кориÑтите оваа опција?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Горе Ñе наведени поÑтоечките „Linux“ партиции што Ñе откриени на вашиот "
+"диÑк.\n"
+"Можете да го прифатите изборот направен од волшебникот; кој е добар за \n"
+"вообичаени инÑталации. Ðко правите некои промени, ќе мора барем да "
+"дефинирате\n"
+"root-партиција („/“). Ðе избирајте премала партиција, зошто нема да\n"
+"може да Ñе инÑталира доволно Ñофтвер. Ðко Ñакате вашите податоци да ги "
+"чувате\n"
+"на поÑебна партиција, ќе треба да направите и една „/home“ партиција\n"
+"(а тоа е можно ако имате повеќе од една „Linux“ партиција).\n"
+"\n"
+"Секоја партиција во лиÑтата е дадена Ñо: „Име“, „Капацитет“.\n"
+"\n"
+"Структурата на „името“ е Ñледнава: „тип на диÑк“, „број на диÑк“,\n"
+"„број на партиција“ (на пример, „hda1“).\n"
+"\n"
+"„Типот на диÑкот“ е „hd“ ако диÑкот е „IDE“, и „sd“ ако тој е „SCSI“ диÑк.\n"
+"\n"
+"„Бројот на диÑкот“ е буква по „hd“ или „sd„. За „IDE“ диÑкови:\n"
+"\n"
+"* „a“ значи диÑк што е „master“ на примарниот „IDE“ контролер;\n"
+"\n"
+"* „b“ значи диÑк што е „slave“ на примарниот „IDE“ контролер;\n"
+"\n"
+"* „c“ значи диÑк што е „master“ на Ñекундарниот „IDE“ контролер;\n"
+"\n"
+"* „d“ значи диÑк што е „slave“ на Ñекундарниот „IDE“ контролер;\n"
+"\n"
+"Кај „SCSI“ диÑковите, „a“ значи најнизок „SCSI ID“, а „b“ значи\n"
+"втор најнизок „SCSI ID“, итн."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ИнÑталацијата на „Mageia“ Ñе диÑтрибуира на повеќе CD-а. Ðко некој\n"
+"избран паќет Ñе наоѓа на друго CD, „DrakX“ ќе го иÑфрли моменталното\n"
+"и ќе побара од Ð²Ð°Ñ Ð´Ð° го внеÑете потребното CD. Ðко потребното CD не ви е\n"
+"при рака, Ñамо притиÑнете на „%s“ и Ñоодветниот пакет нема да\n"
+"биде инÑталиран."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сега треба да изберете кои програми Ñакате да Ñе инÑталираат на вашиот "
+"ÑиÑтем.\n"
+"ПоÑтојат илјадници пакети за „Mageia“, и за да полеÑно Ñе Ñнајдете\n"
+"тие Ñе поделени во групи Ñо Ñлични апликации.\n"
+"\n"
+"„Mageia“ ги дели групите на пакети во четири категории. Може да избирате\n"
+"и да мешате паќети од различни категории, така што инÑталација на „Работна "
+"Ñтаница“\n"
+"може да има инÑталирано и апликации од категоријата „Сервер“.\n"
+"\n"
+" * „%s“: ако планирате да ја кориÑтите вашата машината како работна "
+"Ñтаница,\n"
+"изберете една или повеќе од групите во категоријата „Работна Ñтаница“.\n"
+"\n"
+" * „%s“: ако планирате вашиот компјутер да го кориÑтите за програмирање,\n"
+"изберете ги Ñоодветните групи од таа категорија. Специјалната група „LSB“\n"
+"ќе го конфигурира вашиот ÑиÑтем така што ќе компајлира најдобро што е можно\n"
+"по Ñпецификациите на „Linux Standard Base“.\n"
+"\n"
+" ИÑто така, при избирање на групата „LSB“ ќе Ñе инÑталира кернел од "
+"Ñериите „2.4“,\n"
+"намеÑто Ñтандардниот „2.6“. Ова е за да Ñе обезбеди 100%% ÑоглаÑноÑÑ‚ Ñо "
+"„LSB“ на\n"
+"вашиот ÑиÑтем. Ðо, ако не ја изберете групата „LSB“, Ñеуште ќе имате ÑиÑтем "
+"кој\n"
+"е приближно 100%% во ÑоглаÑноÑÑ‚ Ñо „LSB“.\n"
+"\n"
+" * „%s“: ако вашата машина е наменета да биде Ñервер, изберете од\n"
+"повеќето доÑтапни ÑервиÑи кои Ñакате да Ñе инÑталираат на вашата машина.\n"
+"\n"
+" * „%s“: овде ја избирате графичката околина кој вие ја\n"
+"претпочитате. Мора да биде избрана барем една, ако Ñакате да имате \n"
+"доÑтапен графички изглед.\n"
+"\n"
+"Движењето на покажувачот на глушецот врз името на групата ќе прикаже\n"
+"краток теÑкт кој ја појаÑнува групата.\n"
+"\n"
+"Можете да го штиклирате „%s“, што е кориÑно ако Ñте запознаени Ñо\n"
+"пакетите кои ви Ñе понудени или пак Ñакате да имате целоÑна контрола\n"
+"за тоа што ќе Ñе инÑталира на вашиот ÑиÑтем.\n"
+"\n"
+"Ðко ја започнете инÑталацијата во режимот „%s“, можете да ги деÑелектирате\n"
+"Ñите групи и да Ñпречите инÑталирање на било какви нови пакети. Ова е "
+"кориÑно\n"
+"за поправање или надградување на поÑтоечки ÑиÑтем.\n"
+"\n"
+"Доколку ги деÑелектирате Ñите групи кога извршувате обична инÑталација\n"
+"(Ñпротивно на надградување), ќе Ñе појави дијалог кој ви предложува "
+"различни\n"
+"опции за минимална инÑталација:\n"
+"\n"
+" * „%s“: инÑталирање на најмал можен број пакети за да Ñе добие\n"
+"работна графичка површина.\n"
+"\n"
+" * „%s“: инÑталирање на оÑновниот ÑиÑтем заедно Ñо оÑновните помошни\n"
+"алатки и нивна документација. Оваа инÑталација е Ñоодветна\n"
+"за поÑтавување на Ñервер.\n"
+"\n"
+" * „%s“: ќе инÑталира апÑолутно најмал број на пакети, неопходни за да Ñе\n"
+"добие работен „Linux“ ÑиÑтем. Со оваа инÑталација ќе имате Ñамо интерфејÑ\n"
+"за командни линии. Вкупната големина на оваа инÑталација изнеÑува\n"
+"околу 65 мегабајти."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ðадгради"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Со оÑновна документација"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ИÑкрено минимална инÑталација"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ðко изберете индивидуално да инÑталирате пакети, инÑталерот ќе ви прикаже\n"
+"дрво што ги Ñодржи Ñите пакети, раÑпоредени ви групи и подгрупи.\n"
+"Додека го разгледувате дрвото, можете да избирате\n"
+"цели групи, подгрупи или индивидуални пакети.\n"
+"\n"
+"При избор на пакет од дрвото, од вашата деÑна Ñтрана ќе Ñе појави опиÑ,\n"
+"за да знаете за што е наменет пакетот.\n"
+"\n"
+"!! Ðко е избран ÑерверÑки пакет, дали вие го имате изберено пакетот или\n"
+"затоа што е дел од цела група, ќе бидете запрашани да потврдите дали "
+"навиÑтина\n"
+"Ñакате да Ñе инÑталираат тие Ñервери. Како Ñтандард, во „Mageia“, Ñите "
+"инÑталирани\n"
+"ÑервиÑи автоматÑки ќе видат вклучени при подигнување. Дури и ако тие Ñе "
+"безбедни\n"
+"и немаат проблеми во време на излегување на диÑтрибуцијата, може да Ñе "
+"Ñлучи\n"
+"да бидат откриени безбедноÑни дупки по излегувањето на оваа верзија на "
+"„Mageia“. \n"
+"Ðко не знаете што прави одреден ÑÐµÑ€Ð²Ð¸Ñ Ð¸Ð»Ð¸ зошто Ñе инÑталира, притиÑнете "
+"„%s“.\n"
+"Со притиÑкање на „%s“ ќе Ñе инÑталираат излиÑтаните ÑервиÑи и тие\n"
+"автоматÑки ќе Ñе вклучуваат при подигнување. !!\n"
+"\n"
+"Опцијата „%s“ Ñе кориÑти за оневозможување на дијалогот за предупредување,\n"
+"кој Ñе јавува Ñекогаш кога програмата за инÑталирање автоматÑки\n"
+"избира пакет за да го реши проблемот околу завиÑноÑтите. Ðекои пакети\n"
+"завиÑат едни од други и како такви инÑталацијата на пакетот бара\n"
+"да Ñе инÑталираат и други програми. ИнÑталерот може да одреди\n"
+"кои пакети Ñе потребни за да Ñе задоволат завиÑноÑтите за да\n"
+"инÑталацијата биде уÑпешно завршена.\n"
+"\n"
+"Малата икона на диÑкета во дното на лиÑтата овозможува да Ñе вчита лиÑтата\n"
+"на пакети што Ñоздадена за време на претходна инÑталација. Ова е кориÑно "
+"ако\n"
+"имате повеќе машини кои Ñакате да ги конфигурирате идентично. Со притиÑкање\n"
+"на оваа икона ќе побара од Ð²Ð°Ñ Ð´Ð° внеÑете диÑкета што претходно била "
+"Ñоздадена,\n"
+"на крајот на некоја друга инÑталација. Видете го вториот Ñовет од "
+"претходниот\n"
+"чекор за тоа како да направите таква диÑкета."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ÐвтоматÑки завиÑноÑти"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Овој дијалог Ñе кориÑти за да ги изберете ÑервиÑите што Ñакате да Ñе \n"
+"Ñтартуваат за време на подигнување.\n"
+"\n"
+"„DrakX“ ќе ги излиÑта Ñите доÑтапни ÑервиÑи во тековната инÑталација.\n"
+"Внимателно разгледајте ги и дештиклирајте ги оние што не Ñе потребни\n"
+"за време на подигнување.\n"
+"\n"
+"Можете да добиете кратко објаÑнување за некој ÑÐµÑ€Ð²Ð¸Ñ Ð°ÐºÐ¾ го изберете.\n"
+"Сепак, ако не Ñте Ñигурни дали некој ÑÐµÑ€Ð²Ð¸Ñ Ðµ кориÑен или не, побезбедно\n"
+"е да го оÑтавите како што е.\n"
+"\n"
+"!! Во овој Ñтадиум, бидете внимателни ако планирате да ја кориÑтите\n"
+"вашата машина како Ñервер: веројатно нема да Ñакате да Ñтартувате некој\n"
+"ÑÐµÑ€Ð²Ð¸Ñ ÑˆÑ‚Ð¾ не ви е потребен. Ве молиме запомнете дека повеќе ÑервиÑи можат\n"
+"да бидат опаÑни ако бидат овозможени на Ñервер. Воглавно, изберете ги\n"
+"Ñамо ÑервиÑите што навиÑтина ви Ñе потребни. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управува Ñо времето Ñпоред „GMT“ (Greenwich Mean Time) и го "
+"преведува\n"
+"во локално време Ñпоред временÑката зона што Ñте ја избрале. Ðко чаÑовникот\n"
+"на вашата матична плоча е намеÑтен на локално време, ова можете да го "
+"деактивирате\n"
+"Ñо деÑелектирање на „%s“, што ќе му овозможи на „GNU/Linux“ да знае дека "
+"ÑиÑтемÑкиот\n"
+"чаÑовник и хардверÑкиот чаÑовник Ñе во иÑта временÑка зона. Ова е кориÑно "
+"кога\n"
+"на машината има уште еден оперативен ÑиÑтем.\n"
+"\n"
+"Опцијата „%s“ автоматÑки ќе го регулира ÑиÑтемÑкиот чаÑовник\n"
+"преку поврзување Ñо далечинÑки временÑки Ñервер на Интернет.\n"
+"За да ви работи ова, мора да имате работна Интернет врÑка. Ви препорачуваме\n"
+"да изберете временÑки Ñервер во ваша близина. Ð’ÑушноÑÑ‚,\n"
+"оваа опција инÑталира временÑки Ñервер што дополнително може да\n"
+"го кориÑтат други машини на вашата локална мрежа."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "ÐвтоматÑка Ñинхронизација на време"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графичка Карта\n"
+"\n"
+" Вообичаено инÑталерот автоматÑки ја пронаоѓа и конфигурира\n"
+"графичката карта инÑталирана на вашата машина. Во Ñпротивно можете\n"
+"да изберете од лиÑтава вÑушноÑÑ‚ која картичка ја имате инÑталирано.\n"
+"\n"
+" Во Ñлучај да Ñе овозможени различни Ñервери за вашата картичка, Ñо\n"
+"или без 3Д забрзување, тогаш ве прашуваат да го изберете Ñерверот кој\n"
+"најмногу одговара на вашите потреби."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (за „X Window System“) е Ñрцето на графичкиот изглед на „GNU/Linux“\n"
+"на кој Ñе изградени Ñите графички околини („KDE“, „GNOME“, „AfterStep“,\n"
+"„WindowMaker“, и.т.н.) вградени во „Mageia“\n"
+"\n"
+"Ќе видите лиÑта Ñо различни параметри кои можете да ги менувате\n"
+"за да добиете оптимален графички приказ.\n"
+"\n"
+"Графичка карта\n"
+"\n"
+" Вообичаено, инÑталерот автоматÑки ќе ја детектира и конфигурира\n"
+"графичката карта која е инÑталирана на вашиот компјутер.\n"
+"Ðко ова е неточно, тогаш од лиÑтата можете да ја изберете\n"
+"картичката која вÑушноÑÑ‚ ја имате инÑталирано.\n"
+"\n"
+" Во Ñлучај каде повеќе Ñервери Ñе доÑтапни за вашата картичка, Ñо или\n"
+"без 3Д забрзување, ќе бидете прашани да го изберете Ñерверот\n"
+"кој најмногу одговара за вашите потреби.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" ИнÑталерот автоматÑки ќе го детектира и конфигурира мониторот\n"
+"кој е поврзан на вашиот компјутер. Ðко ова е неточно, тогаш од лиÑтата\n"
+"можете да го изберете мониторот кој е поврзан на вашиот компјутер.\n"
+"\n"
+"\n"
+"\n"
+"Резолуција\n"
+"\n"
+" Овде можете да ја изберете резолуцијата и длабочината на бои доÑтапни\n"
+"за вашиот графички хардвер. Изберете една која најмногу одговара на вашите\n"
+"потреби (можете да ги промените по инÑталацијата), Пример на избраната\n"
+"конфигурација е прикажан на Ñликата Ñо мониторот.\n"
+"\n"
+"\n"
+"\n"
+"ТеÑÑ‚\n"
+"\n"
+"ЗавиÑно вашиот хардвер, овој Ð²Ð½ÐµÑ Ð¼Ð¾Ð¶Ðµ и да не Ñе појави.\n"
+"\n"
+" СиÑтемот ќе Ñе обиде да отвори графичкиот екран Ñо бараната\n"
+"резолуција. Ðко можете да ја прочитате прикажаната пораката и одговорете "
+"„%s“,\n"
+"тогаш „DrakX“ ќе продолжи Ñо Ñледниот чекор. Ðко не можете да ја прочитате "
+"пораката,\n"
+"тогаш нешто не е во ред Ñо конфигурацијата на автоматÑката детекција и\n"
+"теÑтот автоматÑки ќе завршпо 12 Ñекунди, враќајќи ве назад на менито. \n"
+"Променете ги поÑтавувањата Ñе додека не добиете добар графички приказ.\n"
+"\n"
+"\n"
+"\n"
+"Опции\n"
+"\n"
+" Овој чекор ви овозможува да изберете дали вашиот компјутер автоматÑки\n"
+"ќе го вклучува графичкиот изглед при подигнување. Очигледно, можеби\n"
+"ќе Ñакате да изберете „%s“ ако вашиот компјутер Ñе кориÑти како Ñервер\n"
+"или ако неуÑпешно Ñте го конфигурирале приказот."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" ИнÑталерот автоматÑки ќе го пронајде и конфигурира мониторот\n"
+"кој е поврзан на вашиот компјутер. Доколку не е иÑтиот, можете од\n"
+"лиÑтата да го изберете мониторот кој е поврзан на вашиот компјутер."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Резолуција\n"
+"\n"
+" Овде може да ја изберете резолуцијата и длабочината на бојата доÑтапни "
+"за\n"
+"вашата графичка карта. Изберете ја онаа која најмногу одговара на вашите\n"
+"потреби (иако ќе можете да ја менувате и по инÑталацијата). Примерок од\n"
+"избраната конфигурација е прикажана во Ñликата на мониторот."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Во Ñлучај ако имате различни Ñервери доÑтапни за вашата картичка, Ñо или\n"
+"без 3Д забрзување, ќе бидете прашани да го изберете Ñерверот кој најмногу\n"
+"одговара на вашите потреби."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Опции\n"
+"\n"
+" Овие чекори ќе ви овозможат да изберете дали вашата машина\n"
+"автоматÑки да го вклучи графичкиот Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð¿Ñ€Ð¸ вклучување.\n"
+"Веројатно би Ñакале да одговорите „%s“, ако планирате вашата машина\n"
+"да е Ñервер, или ако не Ñте уÑпеале да го конфигурирате\n"
+"графичкиот приказ."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Сега треба да одлучите каде на вашиот диÑк Ñакате да Ñе инÑталира\n"
+"оперативниот ÑиÑтем „Mageia“. Ðко вашиот хард диÑк е празен\n"
+"или Ñето доÑтапно меÑто го кориÑти поÑтоечки оперативен ÑиÑтем, треба\n"
+"да го партиционирате диÑкот. Во оÑнова, партиционирање на хард диÑк значи\n"
+"логичка поделба за Ñоздавање на проÑтор потребен за инÑталирање на\n"
+"вашиот нов „Mageia“ ÑиÑтем.\n"
+"\n"
+"Бидејќи процеÑот на партиционирање на хард диÑкот вообичаено е "
+"нереверзибилен\n"
+"и може да доведе до губење на податоци. Партиционирањето може да е "
+"зплашувачко\n"
+"и ÑтреÑно за неиÑкуÑен кориÑник. За Ñреќа, „DrakX“ вклучува волшебник кој "
+"овој\n"
+"Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð³Ð¾ прави многу едноÑтавен. Пред да продолжите Ñо овој чекор, "
+"прочитајте\n"
+"го оÑтатокот од Ñекцијата и пред Ñе, не брзајте.\n"
+"\n"
+"Во завиÑноÑÑ‚ од конфигурацијата на вашиот хард диÑк, доÑтапни Ñе\n"
+"повеќе опции:\n"
+"\n"
+" * „%s“: оваа опција ќе изведе автоматÑко партиционирање на празниот(те) "
+"диÑк(ови).\n"
+"Ðко ја кориÑтете оваа опција, понатаму нема да Ñте запрашувани.\n"
+"\n"
+" * „%s“: волшебникот детектирал една или повеќе поÑтоечки „Linux“ партиции\n"
+"на вашиот диÑк. Ðко Ñакате да ги кориÑтите, изберете ја оваа опција.\n"
+"Потоа ќе бидете прашани да ги изберете точките на монтирање аÑоцирани Ñо "
+"Ñекоја\n"
+"од партициите. ÐаÑледните точки на монтирање Ñе изберени како Ñтандардни, и "
+"за\n"
+"поголемиот дел е добра идеја да Ñе задржат.\n"
+"\n"
+" * „%s“: ако на диÑкот има инÑталирано „Microsoft Windows“ и тој го зафаќа "
+"целиот проÑтор,\n"
+"мора да направите празен проÑтор за „GNU/Linux“. За да го Ñторите ова, "
+"можете да ја\n"
+"избришете партицијата на „Microsoft Windows“ и податоците (видете го "
+"решението\n"
+"„Избриши цел диÑк“) или пак да ја промените големината на вашата „Microsoft "
+"Windows“\n"
+"дали е тоа „FAT“ или „NTFS“. Промена на големината може да Ñе изврши без "
+"губење на\n"
+"податоците, но претходно е потребно да ja дефрагментирате „Windows“ "
+"партицијата.\n"
+"Строго Ñе препорачува да наравите копија на вашите податоци. Употреба на "
+"оваа опција\n"
+"Ñе препорачува ако на вашиот компјутер Ñакате да ѓи кориÑтите и двата "
+"оперативни ÑиÑтеми,\n"
+"и „Mageia“ и „Microsoft Windows“.\n"
+"\n"
+" Пред да ја изберете оваа опција треба да знаете дека по ова „Microsoft "
+"Windows“\n"
+"партицијата ќе биде помала. Ќе имате помалку Ñлободен проÑтор под "
+"„Microsoft\n"
+"Windows“ за чување на податоци или инÑталирање на нов Ñофтвер.\n"
+"\n"
+" * „%s“: ако Ñакате да ги избришете Ñите податоци и Ñите партиции приÑутни "
+"на\n"
+"вашиот диÑк и да ги замените Ñо вашиот нов „Mageia“ ÑиÑтем, изберете ја\n"
+"оваа опција. Внимавајте, откако ќе потврдите оваа операција не може да\n"
+"биде вратена.\n"
+"\n"
+" !! Ðко ја изберете оваа опција, Ñите податоци на вашиот диÑк ќе бидат "
+"избришани. !!\n"
+"\n"
+" * „%s“: оваа опција Ñе јавува кога хард диÑкот е комплетно заземен од\n"
+"„Microsoft Windows“. Ðко ја изберете оваа опција едноÑтавно ќе избрише Ñе "
+"што\n"
+"имате на диÑкот и ќе почнето одново, партиционирајќи Ñе од почеток.\n"
+"\n"
+" !! Ðко ја изберете оваа опција, Ñите податоци на вашиот диÑк ќе бидат "
+"изгубени. !!\n"
+"\n"
+" * \"%s\": изберете ја оваа опција ако Ñакате рачно да го партиционирате "
+"вашиот хард\n"
+"диÑк. Внимавајте -- ова е моќен но опаÑен избор и можете многу леÑно да ги "
+"изгубите\n"
+"Ñите ваши податоци. Затоа оваа опција е препорачлива Ñамо ако веќе имате "
+"правено\n"
+"вакво нешто и имате малку иÑкуÑтво. За повеќе инÑтрукции како да ја "
+"кориÑтите\n"
+"алатката „DiskDrake“, обратете Ñе на Ñекцијата „Менаџирање на вашите "
+"партиции„ во\n"
+"„Почетен водич“."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "КориÑти ја поÑтоечката партиција"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Избриши го целиот диÑк"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Еве Ñте, инÑталацијата заврши и вашиот „GNU/Linux“ ÑиÑтем е подготвен\n"
+"за кориÑтење. Само притиÑнете на „%s“ за да го реÑтартирате ÑиÑтемот.\n"
+"Ðе заборавајте да го отÑтраните инÑталациониот медиум („CD-ROM“ или "
+"диÑкета)\n"
+"Прво нешто што треба да проверете по завршувањето на хардверÑките теÑтови\n"
+"е подигнувачкото мени, кое ви дава избор кој оперативен ÑиÑтем Ñакате\n"
+"да го вклучите.\n"
+"\n"
+"Копчето „%s“ прикажува уште две додатни копчиња за:\n"
+"\n"
+" * „%s“: Ñоздавање на инÑталациÑка диÑкета која автоматÑки ќе го\n"
+"изведе целиот Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° инÑталација без помош од оператор,\n"
+"Ñлично на инÑталацијата која штотуку ја конфигуриравте.\n"
+"\n"
+" Забележете дека по притиÑкањето на ова копче Ñе појавуваат две\n"
+"различни опции:\n"
+"\n"
+" * „%s“. Ова е делумно автоматизирана инÑталација, Чекорот\n"
+"за поделба на диÑкот е единÑтвената интерактивна процедура.\n"
+"\n"
+" * „%s“. ЦелоÑно автоматизирана инÑталација: диÑкот комплетно\n"
+"Ñе пребришува, и Ñите податоци ќе бидат изгубени.\n"
+"\n"
+" Оваа можноÑÑ‚ е многу практична при инÑталирање на поголем број Ñлични\n"
+"машини. За повеќе информации, видете го одделот за „ÐвтоматÑка ИнÑталација“\n"
+"на нашата веб Ñтраница.\n"
+"\n"
+" * „%s“(*): да ја зачувува лиÑтата на изборот на пакети во оваа "
+"инÑталација.\n"
+"За да го кориÑтите овој избор за друга инÑталација, внеÑете ја диÑкетата\n"
+"и започнете ја инÑталацијата. Откако ќе го внеÑете диÑкот и при "
+"појавувањето\n"
+"на екранот притиÑнете на кочето „F1“ и внеÑете >>linux defcfg=\"floppy\"<<\n"
+"и притиÑнете на таÑтерот „Enter“.\n"
+"\n"
+"(*) Потребна ви е диÑкета форматирана Ñо „FAT“ датотечен ÑиÑтем. За да\n"
+"ја креирате под „GNU/Linux“ извршете „mformat a:“ или „fdformat /dev/fd0“\n"
+"проÑледено Ñо „mkfs.vfat /dev/fd9“."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Генерирај диÑкета за авто-инÑталација"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ðко Ñте избрале повторно да кориÑтите некои наÑледни „GNU/Linux“\n"
+"партиции, можеби Ñакате да форматирате некои од нив и да ги\n"
+"избришете Ñите податоци кои ги Ñодржат. За да направите ова, ве\n"
+"молиме изберете ги Ñ Ñ‚Ð¸Ðµ партиции.\n"
+"\n"
+"Ве молиме зебележете дека не е неопходно повторно да ги форматирате\n"
+"Ñите претходно поÑтоечки партиции. Мора повторно да ги форматирате\n"
+"партициите кои го Ñодржат оперативниот ÑиÑтем (како што Ñе „/“ или „/var“),\n"
+"но, не мора да ги форматирате партициите кои Ñодржат податоци кои\n"
+"Ñакате да ги задржите (вообичаено „/home“).\n"
+"\n"
+"Внимавајте при изборот на партициите. Откако ќе заврши форматирањето,\n"
+"Ñите податоци на избраните партиции ќе бидат избришани и нема да\n"
+"може да ги вратите.\n"
+"\n"
+"Ðко Ñте подготвени да ги форматирате партициите, притиÑнете „%s“.\n"
+"\n"
+"Ðко Ñакате да изберете друга партиција за ÑиÑтемÑка инÑталација на\n"
+"вашиот нов оперативен ÑиÑтем „Mageia“, притиÑнете на „%s“.\n"
+"\n"
+"Ðко Ñакате да изберете партиции за проверка на лоши блокови на диÑкот,\n"
+"притиÑнете на „%s“."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Додека го инÑталирате „Mageia“, најверојанто е дека некои пакети\n"
+"веќе имаат надградби од првичното издание. Можеби Ñе поправени грешки,\n"
+"решени Ñе безбедноÑни проблеми. За да придобиете од овие надградби,\n"
+"Ñега може да ги преземете од Интернет. Ðко имате функционална интернет\n"
+"врÑка штиклирајте го „%s“ или ако претпочитате подоцна да ги\n"
+"инÑталирате надградбите, притиÑнете на „%s“.\n"
+"\n"
+"Ðко го штиклирате „%s“ ќе ви Ñе појави лиÑта Ñо веб локации од каде\n"
+"ќе можете да ги преземете надградбите. Изберете ја онаа локација\n"
+"која е најблиÑку до ваÑ. Ќе Ñе појави дрво Ñо избор на пакети:\n"
+"прегледајте го изборот, и за да ги преземете и инÑталирате избраните\n"
+"пакети притиÑнете на „%s“. Во Ñпротивно, притиÑнете на „%s“."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Сега, „DrakX“ ќе ви овозможи да го изберете ÑигурноÑното ниво кое го\n"
+"поÑакувате за вашиот компјутер. Грубо кажано, ÑигурноÑното ниво треба\n"
+"да е повиÑоко ако компјутерот Ñодржи важни податоци или ако е директно\n"
+"изложен на Интернет. Како замена за повиÑоко ÑигурноÑно ниво\n"
+"леÑната употреба ќе биде намалена.\n"
+"\n"
+"Ðко не знаете што да изберете, задржете ја дадената опција. Ðивото на "
+"ÑигурноÑÑ‚\n"
+"ќе можете подоцна да го Ñмените Ñо алатката „draksec“, која е дел од\n"
+"Конгролниот центар на „Mageia“.\n"
+"\n"
+"Пополнете го полето „%s“ Ñо адреÑата na е-пошта на личноÑта која е\n"
+"одговорна за ÑигурноÑта. СигурноÑните пораки ќе Ñе праќаат на таа адреÑа."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ÐдминиÑтратор за ÑигурноÑÑ‚"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Во овој момент треба да изберете која партициja или партиции ќе ги кориÑтите "
+"за\n"
+"инÑталација на ÑиÑтемот „Mageia“. Ðко партициите Ñе веќе дефинирани,\n"
+"од претходна инÑталација на „GNU/Linux“ или од друга алатка за поделба на "
+"диÑкот,\n"
+"може да ги кориÑтите веќе поÑтоечките партиции. Во Ñпротивно, партициите\n"
+"на хард диÑкот мора да бидат дефинирани.\n"
+"\n"
+"За да Ñоздадете партиции најпрво треба да изберете хард диÑк. Можете да го\n"
+"изберете диÑкот за партицирање Ñо притиÑкање на „hda“ за првиот „IDE“ уред,\n"
+"„hdb“ за вториот, „sda“ за првиот „SCSI“ уред итн.\n"
+"\n"
+"За да го поделите избраниот хард диÑк, можете да ги кориÑтите овие опции:\n"
+"\n"
+" * „%s“: оваа опција ги брише Ñите партиции на избраниот хард диÑк\n"
+"\n"
+" * „%s“: оваа опција ви овозможува автоматÑки да Ñоздадете „ext4“ и „swap“\n"
+"партиции во Ñлободниот проÑтор од вашиот хард диÑк\n"
+"\n"
+"„%s“: ви дава приÑтап до додатни карактериÑтики: \n"
+"\n"
+" * „%s“: ја зачувува партициÑката табела на диÑкета. КориÑно за\n"
+"понатамошно враќање на партициÑката табела, ако е потребно. Строго Ñе\n"
+"препорачува да го изведете овој чекор.\n"
+"\n"
+" * „%s“: ви овозможува да вратите претходно зачувана партициÑка табела\n"
+"од диÑкета.\n"
+"\n"
+" * „%s“: ако вашата партициÑка табела е оштетена, Ñо кориÑтење на оваа\n"
+"опција може да Ñе обидете да ја вратите. Ве молиме бидете внимателни\n"
+"и запомнете дека ова не уÑпева Ñекогаш.\n"
+"\n"
+" * „%s“: ги отфрла Ñите промени и ја превчитува партициÑката табела\n"
+"која претходно поÑтоела на хард диÑкот.\n"
+"\n"
+" * „%s“: ако ја одштиклирате оваа опција кориÑниците ќе бидат приморани\n"
+"рачно да ги монтираат и демонтираат отÑтранливите медиуми како што\n"
+"Ñе диÑкетите и CD-ата.\n"
+"\n"
+" * „%s“: изберете ја оваа опција ако Ñакате да кориÑтите волшебник за\n"
+"поделба на вашиот хард диÑк. Ова е препорачано ако немате добро\n"
+"познавање за поделба на диÑкови.\n"
+"\n"
+" * „%s“: изберете ја оваа опција за да ги откажете вашите промени.\n"
+"\n"
+" * „%s“: ви овозможува додатни.дејÑтва на партициите (вид, опции, формат)\n"
+"и ви дава повеќе информации за хард диÑкот.\n"
+"\n"
+" * „%s“: кога ќе завршите Ñо поделбата на хард диÑкот, ова повторно\n"
+"ќе ги зачувува вашите промени на диÑкот.\n"
+"\n"
+"Кога дефинирате големина на партиција, на иÑтата големината можете\n"
+"фино да ја поÑтавите Ñо кориÑтење на Ñтрелките на таÑтатурата.\n"
+"\n"
+"Забелешка: Ñите опции можете да ги кориÑтете преку таÑтатурата. КориÑтете\n"
+"го таÑтерот „Tab“ и Ñтрелките [Горе/Долу] на таÑтатурата .\n"
+"\n"
+"Кога е избрана партиција, можете да кориÑтите:\n"
+"\n"
+" * „Ctrl-c“ - да Ñоздадете нова партиција (кога е избрана празна партиција)\n"
+"\n"
+" * „Ctrl-d“ - да избришете партиција\n"
+"\n"
+" * „Ctrl-m“ - да поÑтавите точка на монтирање.\n"
+"\n"
+"За да добиете информации за различните типови на датотечни ÑиÑтеми,\n"
+"прочитајте го одделот за „ext2FS“ од „УпатÑтво за употреба“.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "ÐвтоматÑко монтирање на отÑтранливи медиуми"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Префрлање помеѓу нормален/екÑпертÑки режим"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Ðа вашиот диÑк е пронајдено повеќе од една „Microsoft“ партиција.\n"
+"Изберете ја онаа што Ñакате да ја намалите/зголемите за да го\n"
+"инÑталирате вашиот нов „Mageia“ оперативен ÑиÑтем.\n"
+"\n"
+"Секоја партиција е излиÑтана Ñо: „Linux име“, „Windows име“\n"
+"„Капацитет“.\n"
+"\n"
+"„Linux име“ е Ñо Ñтруктура: „тип на диÑк“, „број на диÑк“,\n"
+"„број на партиција“ (на пример, „hda1“).\n"
+"\n"
+"„Тип на диÑкот“ е „hd“ ако диÑкот е „IDE“, и „sd“ ако диÑкот е SCSI.\n"
+"\n"
+"„Број на диÑкот“ е Ñекогаш буква поÑле „hd“ или „sd“. Кај „IDE“ диÑковите:\n"
+"\n"
+" * „a“ значи „master“ диÑк на примарниот „IDE“ контролер;\n"
+"\n"
+" * „b“ значи „slave“ диÑк на примарниот „IDE“ контролер;\n"
+"\n"
+" * „c“ значи „master“ диÑк на Ñекундарниот „IDE“ контролер;\n"
+"\n"
+" * „d“ значи „slave“ диÑк на Ñекундарниот „IDE“ контролер.\n"
+"\n"
+"Кај „SCSI“ диÑковите, буквата „a“ значи најнизок „SCSI ID“, а „b“ значи\n"
+"втор најмал „SCSI ID“, итн.\n"
+"\n"
+"„Windows име“ е буквата на диÑкот под „Windows“ (првиот диÑк или партиција\n"
+"Ñе вика „C:“)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"„%s“: проверка за тековниот избор на држава. Ðко не Ñте во оваа држава\n"
+"притиÑнете на копчето „%s“ и изберете друга. Доколку вашата држава не\n"
+"Ñе наоѓа на прикажаната лиÑта, притиÑнете на копчето „%s“ за да ја\n"
+"добиете комплетната лиÑта на држави."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Овој чекор Ñе активира Ñамо ако на вашиот компјутер претходно е\n"
+"пронајдена поÑтоечка „GNU/Linux“ партиција.\n"
+"\n"
+"„DrakX“ треба да знае дали Ñакате да извршите нова инÑталација или\n"
+"надградба на поÑтоечкиот „Mageia“ ÑиÑтем:\n"
+"\n"
+" * „%s“: Во најголем број Ñлучаеви, ова комплетно го брише Ñтариот ÑиÑтем.\n"
+"Сепак, завиÑно од шемата на делење на диÑкот, можете да Ñпречите некои\n"
+"од вашите поÑтоечки податоци (поÑебно директориумите „home“) да не бидат\n"
+"пребришани. Ðко Ñакате да го промените начинот на кој е поделен вашито диÑк\n"
+"или да го промените датотечниот ÑиÑтем, треба да ја кориÑтете ја оваа "
+"опција.\n"
+"\n"
+" * „%s“: Оваа клаÑа на инÑталација ви овозможува да ги надградите пакетите "
+"кои\n"
+"Ñе тековно инÑталирани на вашиот „Mageia“ ÑиÑтем. Вашата тековна шема на\n"
+"поделба на диÑкот и кориÑничките податоци нема да бидат променети. Повеќето "
+"од\n"
+"оÑтанатите конфигурациÑки чекори оÑтануваат доÑтапни и Ñе Ñлични Ñо "
+"Ñтандардната\n"
+"инÑталацијата.\n"
+"\n"
+"КориÑтењето на опцијата „Ðадгради“ работи одлично на „Mageia“ ÑиÑтеми кои "
+"имаат\n"
+"верзија „8.1“ или понова. Извршување на надградба на „Mageia“ верзии "
+"поÑтари\n"
+"од верзија „8.1“ е Ñтрого непрепорачлива."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"ЗавиÑно од тоа кој јазик го имате избрано, „DrakX“ автоматÑки ќе го избере\n"
+"одредениот тип за конфигурација на таÑтатурата. Проверете дали изборот\n"
+"ви одговара или изберете друг раÑпоред за таÑтатура.\n"
+"\n"
+"ИÑто така, можеби нема да ја има таÑтатурата која точно одговара на\n"
+"вашиот јазик: на пример, ако Ñте Македонец кој зборува ÐнглиÑки,\n"
+"можеби имате МакедонÑка таÑтатура. Или, ако зборувате ÐнглиÑки и Ñе\n"
+"наоѓате во Квебек, може да Ñе најдете во Ñитуација каде што вашиот\n"
+"мајчин јазик и поÑтавувањата за таÑтатура не Ñе Ñовпаѓаат. Во било кој\n"
+"Ñлучај, овој чекор од инÑталацијата ви овозможува да ја изберете\n"
+"Ñоодветната таÑтатура од лиÑтата.\n"
+"\n"
+"За да Ñе прикаже лиÑта на подржани таÑтатури притиÑнете на копчето „%s“.\n"
+"\n"
+"Ðко изберете раÑпоред на таÑтатура кој не е базиран на латинÑка азбука,\n"
+"наредниот прозорец ќе ви овозможи да ги изберете таÑтерите за промена\n"
+"меѓу ЛатинÑки и не-ЛатинÑки раÑпоред."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Првиот чекор е да го изберете јазикот кој го преферирате.\n"
+"\n"
+"Вашиот избор на јазик ќе влијае на инÑталерот, документацијата\n"
+"и ÑиÑтемот воопшто. Ðајпрво изберете го регионот каде Ñе наоѓате\n"
+"и потоа јазикот кој го говорите.\n"
+"\n"
+"Со притиÑкање на копчето „%s“ ви Ñе овозможува да изберете други\n"
+"јазици кои ќе Ñе инÑталираат на вашата работна Ñтаница, притоа ќе Ñе\n"
+"инÑталираат ÑиÑтемÑки датотеки, документација и апликации во завиноÑÑ‚\n"
+"од избраниот јазик. Ðа пример, доколку ШпанÑки кориÑници го кориÑтат\n"
+"вашиот компјутер, во дрвото изберете МакедонÑки како почетен јазик\n"
+"и „%s“ во одделот „Ðапредно“.\n"
+"\n"
+"За „UTF-8“ (повеќекодна) подршка: Повеќекодната подршка е ново кодирање\n"
+"на знаци наменето да ги покрие Ñите поÑтоечки јазици. Ðо, комплетна подршка\n"
+"во „GNU/Linux“ е Ñеуште во развој. Поради оваа причина, употребата на "
+"„UTF-8“ во\n"
+"„Mageia“ ќе завиÑи од изборот на кориÑникот:\n"
+"\n"
+" * Ðко изберете јазик Ñо Ñилно наÑледно кодирање („latin1“ јазици,\n"
+"РуÑки, ЈапонÑки, КинеÑки, КорејÑки, ТајландÑки, Грчки, ТурÑки, повеќето\n"
+"„iso-8859-2“ јазици), наÑледното кодирање ќе Ñе кориÑти како почетно;\n"
+"\n"
+" * ОÑтанатите јазици ќе кориÑтат ја повеќекодната табела како почетна;\n"
+"\n"
+" * Ðко Ñе потребни два или повеќе јазици и тие јазици не кориÑтат иÑта\n"
+"кодна табела, во тој Ñлучај повеќекодната табела ќе Ñе кориÑти за\n"
+"целиот ÑиÑтем;\n"
+"\n"
+" * И за крај, повеќекодната табела може приÑилно да Ñе кориÑти низ целиот\n"
+"ÑиÑтем по избор на кориÑникот притоа избирајќи ја опцијата „%s“, незавиÑно\n"
+"кои јазици претходно биле избрани.\n"
+"\n"
+"Забележете дека не Ñте ограничени да изберете Ñамо еден додатен јазик.\n"
+"Можете да изберете повеќе или да ѓи инÑталирате Ñите Ñо штиклирање на „%s“.\n"
+"Избирањето на подршка за одреден јазик значи дека ќе Ñе инÑталираат "
+"преводи,\n"
+"фонтови, проверувачи на Ð¿Ñ€Ð°Ð²Ð¾Ð¿Ð¸Ñ Ð¸Ñ‚Ð½. Ñоодветно на избраниот јазик.\n"
+"\n"
+"За да ѓи менувате јазиците кои Ñе инÑталирани на вашиот ÑиÑтем, како „root“\n"
+"извршете ја командата „localedrake“ и притоа ќе Ñе Ñмени јазикот на "
+"ÑиÑтемÑко ниво.\n"
+"Ðко ја извршите командата како обичен кориÑник, јазикот ќе Ñе промени Ñамо\n"
+"за тој одреден кориÑник."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ШпанÑки"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Вообичаено, „DrakX“ го детектира бројот на копчиња на вашиот глушец.\n"
+"Ðко не уÑпее, тогаш претпоÑтавува дека имате глушец Ñо две копчиња и ќе "
+"поÑтави\n"
+"емулација за трето копче. Третото копче на глушец Ñо две копчиња може да Ñе\n"
+"кориÑти при иÑтовремено притиÑкање на левото и деÑното копче. „DrakX“ "
+"автоматÑки\n"
+"препознава дали Ñе работи за „PS/2“, ÑериÑки или „USB“ глушец.\n"
+"\n"
+"Ðко имате глушец Ñо 3 копчиња без тркалце, може да изберете „%s“ глушец.\n"
+"Тогаш „DrakX“ ќе го конфигурира вашиот глушец така што ќе можете да "
+"Ñимулирате\n"
+"тркалце Ñо него. За да го кориÑтите тркалцето, притиÑнете на Ñредното копче\n"
+"и движете го глушецот нагоре и надолу.\n"
+"\n"
+"Ðко поради некоја причина Ñакате да наведете друг тип на глушец,\n"
+"изберете го Ñоодветниот тип од понудената лиÑта.\n"
+"\n"
+"Може да го изберете внеÑот „%s“ за да изберете „општ“ тип на глушец\n"
+"кој ќе работи Ñо Ñкоро Ñекој глушец.\n"
+"\n"
+"Ðко Ñте избрале глушец различен од понудениот, ќе Ñе појави екран за\n"
+"теÑтирање. Употребете ги копчињата и тркалцето за да проверите дали\n"
+"поÑтавувањата Ñе во ред и дека глушецот работи иÑправно. Ðко глушецот\n"
+"не работи како што треба, притиÑнете на „space“ или на „Enter“ за да го\n"
+"откажете теÑтот и ќе бидете вратени на лиÑтата за глувци.\n"
+"\n"
+"Понекогаш, глувците Ñо тркалце не Ñе детектираат автоматÑки, па ќе треба\n"
+"да го изберете од лиÑтата. Изберете го оној што одговара на портата на\n"
+"која што е приклучен. По избирањето на глушецот и притиÑкање на\n"
+"копчето „%s“, ќе Ñе прикаже Ñлика на глушец на екранот. Движете го "
+"тркалцето\n"
+"за да видите дали работи како што треба. Откога ќе видите дека\n"
+"тркалцето на екранот Ñе движи иÑто како што го движите виÑтинÑкото тркалце,\n"
+"теÑтирајте ѓи копчињата и проверете дека покажувачот Ñе движи по екранот "
+"како што\n"
+"го движите глушецот."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Ñо емулација на тркало"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Универзално | Било кое „PS/2“ и „USB“ глувче"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Изберете ја виÑтинÑката порта. Ðа пример, портата „COM1“ под „Windows“,\n"
+"во „GNU/Linux“Ñе вика „ttyS0“."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Подигнувач е мала програма која компјутерот ја вклучува за времето\n"
+"на вклучување. Оваа програма е одговорна за вклучување на целиот\n"
+"ÑиÑтем. Секако, инÑталацијата на подигнувачот е целоÑно автоматизирана.\n"
+"„DrakX“ ќе го анализира Ñекторот за подигнување на диÑкот и ќе\n"
+"дејÑтвува Ñоодветно на тоа што ќе пронајде:\n"
+"\n"
+" * ако е пронајден Ñектор за подигнување на „Windows“ ќе го замени Ñо „GRUB/"
+"LILO“\n"
+"Ñектор за подигнување. Вака ќе можете да го вклучите „GNU/Linux“ или било "
+"кој\n"
+"друг оперативен ÑиÑтем кој е инÑталиран на вашата машина.\n"
+"\n"
+" * ако е пронајден „GRUB“ или „LILO“ Ñектор за подигнување, ќе го замени Ñо "
+"нов.\n"
+"\n"
+"Доколку „DrakX“ не може да одреди каде да го ÑмеÑти Ñекторот за "
+"подигнување,\n"
+"ќе бидете запрашани каде Ñе Ñнима. Општо, најÑигурното меÑто е „%s“.\n"
+"При избор на „%s“ нема да Ñе инÑталира подигнувач. КориÑтете ја оваа опција\n"
+"Ñамо ако знаете што правите."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Сега е време да го изберете ÑиÑтемот за печатење за вашиот компјутер.\n"
+"Други оперативни ÑиÑтеми може да ви понудат еден, „Mageia“ нуди\n"
+"два. Секој од ÑиÑтемите за печатење најдобро одговара Ñо одредени\n"
+"типови на конфигурација.\n"
+"\n"
+" * „%s“ -- што е акроним од „print, do not queue“, е виÑтинÑкиот избор ако\n"
+"имате директна врÑка Ñо вашиот печатач, не Ñакате да имате паника при\n"
+"печатење и немате в мрежени печатачи. („%s“ ќе Ñе Ñправи Ñамо во Ñлучај\n"
+"на многу едноÑтавна мрежа и Ñпоро работи кога Ñе кориÑти во мрежи.)\n"
+"Доколку ова е вашето прво иÑкуÑтво Ñо „GNU/Linux“,\n"
+"препорачливо е да го кориÑтите „pdq„.\n"
+"\n"
+" * „%s“ -- или „Common Unix Printing System“ е извонреден и за печатење на\n"
+"локалниот печатач и за печатење од другата Ñтрана на планетата. Тој е \n"
+"едноÑтавен за конфигурирање и може да Ñе однеÑува како Ñервер или клиент\n"
+"за иÑториÑкиот „lpd“ ÑиÑтем за печатење. Значи е компатибилен Ñо поÑтари\n"
+"оперативни ÑиÑтеми на кои Ñеуште им Ñе потребни ÑервиÑи за печатење.\n"
+"Иако е многу моќен, Ñепак, оÑновното поÑтавување е Ñкоро леÑно како и за\n"
+"„pdq“. Ðко Ñакате да емулирате „lpd“ Ñервер, проверете дали е вклучен\n"
+"ÑервиÑот „cups-lpd“. „%s“. Вклучува и графички изглед за печатење или\n"
+"избирање на опции за печатачот и за раководење Ñо иÑтиот.\n"
+"\n"
+"Ðко Ñега Ñе одлучите за избор и подоцна не ви Ñе допаѓа вашиот\n"
+"ÑиÑтем за печатење, можете да го промените Ñо вклучување на\n"
+"„PrinterDrake“ од контролниот центар на „Mageia“\n"
+"Ñо протиÑкање на копчето „%s“."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ЕкÑперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"„DrakX“ прво ќе ги детектира „IDE“ уредите приÑутни на вашиот компјутер. "
+"ИÑто\n"
+"така, ќе Ñкенира за една или повеќе „PCI SCSI“ картички на вашиот Ñитем. Ðко "
+"е пронајдена\n"
+"„SCSI“ картичка, „DrakX“ автоматÑки ќе го инÑталира драјверот кој најмногу "
+"одговара.\n"
+"\n"
+"Бидејќи хардверÑката детекција понекогаш не проаѓа, „DrakX“ можеби нема да "
+"уÑпее\n"
+"да ги пронајде вашите хард диÑкови. Во тој Ñлучај треба рачно да го одредите "
+"вашиот хардвер.\n"
+"\n"
+"Ðко треба рачно да го одредите вашиот „PCI SCSI“ адаптер, „DrakX“ ќе ве "
+"праша\n"
+"дали Ñакате да ги конфигурирате опциите за него. Треба да дозволите „DrakX“ "
+"да го проба\n"
+"хардверот Ñо опциите одредени за каритичката кои Ñе потребни да Ñе "
+"иницијализира\n"
+"адаптерот. Поголемиот дел од времето „DrakX“ ќе го помине овој чекор без "
+"никакви\n"
+"проблеми.\n"
+"\n"
+"Ðко „DrakX“ не може автоматÑки да одреди кои параметрки треба да Ñе\n"
+"пренеÑат на хардверот за опциите , ќе треба рачно да го\n"
+"конфигурирате драјверот."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"„%s“: ако е пронајдена звучната карта на вашиот ÑиÑтем, таа ќе биде\n"
+"прикажана овде. Доколку вашата звучна карта е различна од прикажаната\n"
+"може да притиÑнете на копчето и да изберете друг драјвер."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Како преглед, „DrakX“ ќе ви приложи резиме од информациите кои ѓи\n"
+"Ñобрал за вашиот ÑиÑтем. Во завиÑноÑÑ‚ од хардверот кој е инÑталиран\n"
+"на вашата машина може да ѓи имате Ñите или Ñамо некои од Ñледниве\n"
+"внеÑови. Секој од внеÑовите е направен Ñо конфигурација за хардверот\n"
+"проÑледено Ñо брзо резиме за тековната конфигурација. За да извршете\n"
+"промени, Ñоодветно притиÑнете на копчето „%s“.\n"
+"\n"
+" * \"%s\": проверете го тековниот избор за мапа на таÑтатура и променете ја\n"
+"доколку тоа е потребно.\n"
+"\n"
+" * „%s“: проверка за тековниот избор на држава. Ðко не Ñте во оваа држава\n"
+"притиÑнете на копчето „%s“ и изберете друга. Доколку вашата држава не\n"
+"Ñе наоѓа на прикажаната лиÑта, притиÑнете на копчето „%s“ за да ја\n"
+"добиете комплетната лиÑта на држави.\n"
+"\n"
+" * „%s“: вообичаено, DrakX ја одредува вашата временÑка зона во завиÑноÑÑ‚\n"
+"кој држава ја имате избрано. Доколку временÑката зона е неточна,\n"
+"за промена можете да притиÑнете на копчето „%s“.\n"
+"\n"
+" * „%s“: потврдете ја вашата тековна конфигурација на глушецот и\n"
+"притиÑнете на копчето да ја промените доколку тоа е потребно.\n"
+"\n"
+" * „%s“: при притиÑкање на копчето „%s“ ќе Ñе вклучи Волшебникот\n"
+"за конфигурирање на принтерот. За повеќе информации како да поÑтавете\n"
+"нов принтер, конÑултирајте Ñе Ñо Ñоодветното поглавје од „Почетен водич“.\n"
+"Изгледот претÑтавен во нашиот водич е Ñличен на оној кој Ñе кориÑти при "
+"инÑталацијата.\n"
+"\n"
+" * „%s“: ако е пронајдена звучната карта на вашиот ÑиÑтем, таа ќе биде\n"
+"прикажана овде. Доколку вашата звучна карта е различна од прикажаната\n"
+"може да притиÑнете на копчето и да изберете друг драјвер.\n"
+"\n"
+" * „%s“: ако имате ТВ карта, овде ќе бидат прикажани информациите за\n"
+"нејзината конфигурација. Доколку имате ТВ карта и не е пронајдена, "
+"притиÑнете\n"
+"на „%s“ и обидете Ñе да ја конфигурирате рачно.\n"
+"\n"
+" * „%s“: ако миÑлите дека конфигурацијата е погрешна може да притиÑнете на\n"
+"копчето „%s“ и да ги променете параметрите аÑоцирани Ñо вашата картичка.\n"
+"\n"
+" * „%s“: вообичаено, DrakX го конфигурира вашиот графички изглед Ñо\n"
+"резолуција од „800Ñ…600“ или „1024Ñ…768“. Ðко ова не ви одговара, притиÑнете "
+"на\n"
+"„%s“ и повторно конфигурирајте го вашиот графички изглед.\n"
+"\n"
+" * „%s“: ако Ñакате да конфигурирате приÑтап кон Интернет или локална "
+"мрежа,\n"
+"можете да го направите тоа. Информирајте Ñе од иÑпечатената документација "
+"или\n"
+"по инÑталацијата кориÑтете го Контролниот центар на „Mageia“ за да\n"
+"добиете комплетна помош.\n"
+"\n"
+" * \"%s\": ви дозволува да конфигурирате адреÑи за „HTTP“ и „FTP“ адреÑи, "
+"доколку\n"
+"машината на која инÑталирате ќе Ñе наоѓа позади прокÑи Ñервер.\n"
+"\n"
+" * \"%s\": овој Ð²Ð½ÐµÑ Ð²Ð¸ овозможува повторно да го дефинирате нивото на "
+"ÑигурноÑÑ‚\n"
+"кое е дефинирано во претходниот чекор.\n"
+"\n"
+" * \"%s\": ако планирате да го поврзите вашиот компјутер на Интернет, добра "
+"идеја\n"
+"е да Ñе заштитите од напади Ñо поÑтавување на огнен ѕид (firewall). За "
+"детали околу\n"
+"поÑтавување на огнен ѕид, конÑултирајте Ñе Ñо Ñоодветното\n"
+"поглавје од „Почетен водич“.\n"
+"\n"
+" * \"%s\": ако Ñакате да ја промените конфигурацијата на подигнувачот,\n"
+"притиÑнете на ова копче. Ова би требало да Ñе зачува за напредни кориÑници.\n"
+"Информирајте Ñе од иÑпечатената документација или од вградената помош за\n"
+"подигнувачот во Контролниот центар на „Mageia“.\n"
+"\n"
+" * \"%s\": преку овој Ð²Ð½ÐµÑ Ð¼Ð¾Ð¶Ðµ да поÑтавете кои ÑервиÑи ќе Ñе вклучуваат\n"
+"при вклучување на вашата машина. Ðко планирате да ја кориÑтите како Ñервер,\n"
+"добро би било да го прегледате ова поÑтавување."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "„ISDN“ картичка"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "„ISDN“ картичка"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графички интерфејÑ"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изберете го диÑкот што Ñакате да го избришете за да ја инÑталирате новата\n"
+"„Mageia“ партиција. Внимавајте, Ñите податоци на него ќе бидат\n"
+"изгубени и нема да може да Ñе вратат!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Ðко Ñакате да ги избришете Ñите податоци и партиции што Ñе наоѓаат\n"
+"на овој диÑк, притиÑнете на „%s“. Внимавајте, откако ќе притиÑнете\n"
+"на „%s“, нема да може да ги вратите податоците и партициите кои Ñе\n"
+"приÑутни на вашиот диÑк, вклучувајќи ги и Ñите податоци на „Windows“.\n"
+"\n"
+"За да ја откажете оваа операција без да изгубите податоци и партиции\n"
+"кои Ñе наоѓаат на овој диÑк, притиÑнете на „%s“."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следно ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Претходно"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "„%s“: при притиÑкање на копчето „%s“ ќе Ñе вклучи Волшебникот\n"
+#~ "за конфигурирање на принтерот. За повеќе информации како да поÑтавете\n"
+#~ "нов принтер, конÑултирајте Ñе Ñо Ñоодветното поглавје од „Почетен "
+#~ "водич“.\n"
+#~ "Изгледот претÑтавен во нашиот водич е Ñличен на оној кој Ñе кориÑти при\n"
+#~ "инÑталацијата."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ова е многу важна одлука во врÑка Ñо безбедноÑта на вашиот „GNU/Linux“ "
+#~ "ÑиÑтем:\n"
+#~ "треба да ја внеÑете лозинката за „root“. „Root“ е ÑиÑтемÑкиот "
+#~ "админиÑтратор\n"
+#~ "и е единÑтвениот кориÑник кој е авторизиран да надградува, додава \n"
+#~ "кориÑници, ја менува Ñевкупната ÑиÑтемÑка конфигурација, итн. Во кратки "
+#~ "црти,\n"
+#~ "„root“ може да прави ÑÑ! Затоа мора да изберете лозинка која што е тешка\n"
+#~ "за погодување -- „DrakX“ ќе ви каже ако е премногу леÑна. Како што можете "
+#~ "да\n"
+#~ "видите, не Ñте принудени да внеÑете лозинка, но ние Ñтрого ви "
+#~ "препорачуваме да\n"
+#~ "не го правите ова. „GNU/Linux“ е иÑто Ñклон на грешки при работа иÑто "
+#~ "како и било\n"
+#~ "кој друг оперативен ÑиÑтем. Бидејќи „root“ може да ги надмине Ñите "
+#~ "ограничувања\n"
+#~ "и ненамерно да ги избрише Ñите податоци на партициите ако невнимателно "
+#~ "им\n"
+#~ "приÑтапува на иÑтите. Многу е важно да некој тешко Ñе најави\n"
+#~ "како „root“.\n"
+#~ "\n"
+#~ "Лозинката треба да е ÑоÑтавена од букви и бројки и да е долга барем 8 "
+#~ "знаци.\n"
+#~ "Ðикогаш не ја запишувајте лозинката на „root“ -- така премногу\n"
+#~ "леÑно Ñе загрозува вашиот ÑиÑтем.\n"
+#~ "\n"
+#~ "Еден ризик: немојте да ја направите лозинката премногу долга или,\n"
+#~ "комплицирана, бидејќи е потребно да ја знаете на памет.\n"
+#~ "\n"
+#~ "Лозинката нема да биде прикажана на екранот додека ја внеÑувате. За да "
+#~ "Ñе\n"
+#~ "намали ризикот при грешка на внеÑување на лозинката потребно е да ја "
+#~ "внеÑете\n"
+#~ "двапати. Ðко погрешно ја напишете лозинката и при двете внеÑувања,\n"
+#~ "оваа „неточна“ лозинка ќе треба да ја кориÑтите при првиот обид да\n"
+#~ "Ñе најавите како „root“.\n"
+#~ "\n"
+#~ "Ðко Ñакате да кориÑтите Ñервер за проверка за контрола на приÑтапот\n"
+#~ "на вашиот компјутер, притиÑнете на копчето „%s“\n"
+#~ "\n"
+#~ "Ðко вашата мрежа кориÑти некоја од „LDAP“, „NIS“ или „PDC Windows "
+#~ "Domain“\n"
+#~ "ÑервиÑи за проверка, изберете го виÑтинÑкиот за „%s “. Ðко не знаете кој "
+#~ "од овие\n"
+#~ "ÑервиÑи кориÑтите, потребно е да го прашате вашиот мрежен админиÑтратор.\n"
+#~ "\n"
+#~ "Доколку имате проблем Ñо паметење на лозинки или ако вашиот компјутер\n"
+#~ "никогаш нема да Ñе поврзи на Интернет и имате потполна доверба во оние\n"
+#~ "кои го кориÑтат вашиот компјутер, може да изберете „%s“."
+
+#~ msgid "authentication"
+#~ msgstr "проверка"
diff --git a/perl-install/install/help/po/mn.po b/perl-install/install/help/po/mn.po
new file mode 100644
index 000000000..a0a7aed9f
--- /dev/null
+++ b/perl-install/install/help/po/mn.po
@@ -0,0 +1,1282 @@
+# translation of DrakX.po to Mongolian
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Khurelbaatar Lkhagavsuren <hujii247@yahoo.com>, 2003.
+# Khurelbaatar Lkhagvasuren <hujii247@yahoo.com>, 2003.
+# Sanlig Badral <Badral@openmn.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-01-02 00:35+0100\n"
+"Last-Translator: Sanlig Badral <Badral@openmn.org>\n"
+"Language-Team: Mongolian <openmn-core@lists.sf.net>\n"
+"Language: mn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Та ÑÐ½Ñ Ñ‡Ð°Ð½Ð°Ñ€Ñ‹Ð³ ашиглахыг Ñ…Ò¯ÑÑж байна уу?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"вы вы вы вы вы г вы г бол ÐÑÑ€ г г ÐÑÑ€ бол төрөл г г г Erfitt төрөл бол бол г "
+"бол г г Erfitt бол г\n"
+" г\n"
+" г\n"
+" г\n"
+" г Дугаар г Ñекунд Дугаар."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Мандрива ЛинукÑын Ñуулгац нь Ñ…Ñд Ñ…ÑдÑн CD-ROM дÑÑÑ€ байдаг. Ð¥ÑÑ€Ñв Ñмар\n"
+"нÑгÑн ÑонгогдÑон багц нь Ó©Ó©Ñ€ CD-ROM дÑÑÑ€ байвал DrakX үүнийг мÑдÑÑ… бөгөөд\n"
+"одооны байгаа CD-г гаргаад тухайн Ñ…ÑÑ€ÑгтÑй CD-г оруулахыг Ñ…Ò¯ÑнÑ."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"бол вы Ð°Ð°Ñ Ð°Ð°Ñ Ð³ Ð°Ð°Ñ Ð´Ó©Ñ€Ó©Ð² Та Ð°Ð°Ñ Ð³ г Хөгжил бүлÑг г\n"
+" Ñ Ð²Ñ‹ Ð°Ð°Ñ Ñмх бүлÑг г\n"
+" Ñ Ð±Ò¯Ð»Ñг г\n"
+" Ñ Ð±Ð¾Ð» Ð°Ð°Ñ Ð²Ñ‹ г\n"
+" Ñ Ð±Ð¾Ð» вы вы г бүлÑг нÑÑ€ бүлÑг вы Ñнгийн диалог г\n"
+" Ñ Ð°Ð°Ñ Ð³\n"
+" Ñ Ð±Ð¾Ð» г\n"
+" Ñ Ð°Ð°Ñ Ð²Ñ‹ Ñ…ÑмжÑÑ Ð°Ð°Ñ Ð±Ð¾Ð» г Ñ Ð±Ð¾Ð» вы вы г вы Ñмх Ñ Ð³Ð¾Ñ€Ð¸Ð¼ вы ÑˆÐ¸Ð½Ñ Ð±Ð¾Ð»."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"вы вы Мод Мод вы г вы Мод Тодорхойлолт вы Ð°Ð°Ñ Ð³ г вы Ð°Ð°Ñ Ð±Ò¯Ð»Ñг Ð°Ð°Ñ Ð²Ñ‹ үгүй "
+"бол Ð°Ð°Ñ Ð²Ñ‹ бол бол Ñ Ñ Ð³ Ñ Ð±Ð¾Ð» диалог буÑад Ð°Ð°Ñ Ð±ÑƒÑад Программ бол г Эмблем "
+"дор Ð°Ð°Ñ Ð¶Ð¸Ð³Ñаалт вы ачаалах жигÑаалт бол вы Ð°Ð°Ñ Ð²Ñ‹ Эмблем вы Ð°Ð°Ñ Ñекунд ааÑ."
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Ðвтоматаар"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"диалог бол вы г жигÑаалт г текÑÑ‚ бол вы бол бол г г вы вы вы Томоор ерөнхий "
+"вы г!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Ñмх GMT Цаг вы бол вы г Ñ Ñмх бол Цонхнууд г Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÑÑ‚ вы ИнтернÑÑ‚ бол вы."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Ðвтоматаар"
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"ДÑлгÑц г\n"
+" бол вы жигÑаалт вы."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X X Цонх СиÑтем бол Ð°Ð°Ñ KDE GNOME г жигÑаалт Ð°Ð°Ñ Ð³\n"
+" бол вы жигÑаалт вы г\n"
+" Томоор вы г г г г\n"
+" бол вы жигÑаалт вы г г г г\n"
+" вы вы Ð°Ð°Ñ Ð±Ð¾Ð» Ñмх г г г г\n"
+" вы Ñ Ð²Ñ‹ Ð°Ð°Ñ Ñекунд вы Өөрчилөх вы г г г г\n"
+" вы вы вы г Ñ Ð±Ð¾Ð» вы."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"ДÑлгÑц г\n"
+" бол вы жигÑаалт вы."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr "Томоор вы."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, fuzzy, c-format
+msgid "Erase entire disk"
+msgstr "УÑтгах"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"вы бол бол Ñ Ð²Ñ‹ ДууÑлаа бол ЦÑÑ Ð²Ñ‹ Ð°Ð°Ñ Ð³ Ñ Ñ‚ÑƒÐ³ г\n"
+" Ñ Ð°Ð°Ñ Ð²Ñ‹ г\n"
+" ТÑмдÑглÑл туг г\n"
+" Ñ Ð±Ð¾Ð» бол г\n"
+" Ñ Ð±Ð¾Ð» бол г\n"
+" бол Ð°Ð°Ñ Ðвто Ñайт г\n"
+" Ñ Ð¶Ð¸Ð³Ñаалт Ð°Ð°Ñ Ñмх төрөл г г Та төрөл г"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Ò®Ò¯ÑгÑж байна"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr "Бүх г г вы вы г бол Та вы вы г г вы г Ñ Ð²Ñ‹ г Ñ Ð²Ñ‹ ÑˆÐ¸Ð½Ñ Ð³ Ñ Ð²Ñ‹."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr "ЦÑг вы Ð°Ð°Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÑÑ‚ Ð°Ð°Ñ Ð°Ð°Ñ Ð°Ð°Ñ Ð³ вы."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Хамгаалалт:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ердийн/мÑргÑжлийн горимын хооронд шилжих"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"вы Ñмх ÑˆÐ¸Ð½Ñ Ð³ бол нÑÑ€ Цонхнууд нÑÑ€ г г г нÑÑ€ бол төрөл г г г Erfitt төрөл "
+"бол бол г бол г г Erfitt бол г\n"
+" г\n"
+" г\n"
+" г\n"
+" г Дугаар г Ñекунд Дугаар г г Цонхнууд нÑÑ€ бол Ð°Ð°Ñ Ð¦Ð¾Ð½Ñ…Ð½ÑƒÑƒÐ´ бол."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"бол г вы ÑˆÐ¸Ð½Ñ Ð³\n"
+" Ñ Ð²Ñ‹ вы Ð°Ð°Ñ Ð³\n"
+" Ñ Ð²Ñ‹ бол Ð°Ð°Ñ Ð±ÑƒÑад г бол."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"вы Ñмх Ð¥ÑÑÑг төрөл Ð°Ð°Ñ Ð²Ñ‹ Ðнгли Ñ…Ñл вы вы Ðнгли Ñ…Ñл Ñмх вы Ñмх Томоор вы "
+"жигÑаалт г Ñ Ð¶Ð¸Ð³Ñаалт Ð°Ð°Ñ Ð³ вы Латин Ðмерик вы Латин Ðмерик Латин Ðмерик."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ð°Ð°Ñ Ð°Ð°Ñ Ñмх ерөнхий вы Ñмх вы г Ñ Ð²Ñ‹ буÑад вы Ñ…ÑÑ€ÑглÑгчид Ðнгли Ñ…Ñл Ñмх Мод "
+"Ñ Ñмх ӨргөтгөÑөн г вы Та Ñ Ð³ Ñ Ð²Ñ‹ ТÑмдÑглÑл бол вы г вы Ðжиллуулж байна "
+"Ñнгийн."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Товчинууд тоолуур"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, fuzzy, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr "бол."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"бол г\n"
+" Цонхнууд бол вы ачаалах г\n"
+" бол ÑˆÐ¸Ð½Ñ Ð±Ð°Ð¹Ñ…Ð³Ò¯Ð¹ г вы."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ñ Ð‘ÑƒÑад вы туг Ð°Ð°Ñ Ð°Ð°Ñ Ð³\n"
+" Ñ Ð±Ð¾Ð» бол вы вы Ð°Ð°Ñ Ð²Ñ‹ Ñ Ð±Ð¾Ð» Ñ Ð²Ñ‹ бол г\n"
+" Ñ Ð¥ÑвлÑÑ… СиÑтем бол бол г вы вы Ñ Ð³ вы вы вы Контрол."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "МÑргÑжлийн"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr "Ñмх бол г бол Ñмх вы г вы вы Та Ð°Ð°Ñ Ð³ бол вы."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr "Ñ Ð±Ð¾Ð» бол вы бол бол вы."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Ð°Ð°Ñ Ð²Ñ‹ Ð°Ð°Ñ Ð±Ð¾Ð» Ð°Ð°Ñ Ð°Ð°Ñ Ñ Ð³\n"
+" Ñ Ð³\n"
+" Ñ Ð²Ñ‹ Ñмх Ñ Ñмх жигÑаалт Ñ Ð¶Ð¸Ð³Ñаалт г\n"
+" Ñ Ð¢Ð° Ñ Ð±Ð¾Ð» г\n"
+" Ñ Ð³\n"
+" Ñ Ñ Ð°Ð°Ñ ÑˆÐ¸Ð½Ñ Ð±Ð¾Ð» г\n"
+" Ñ Ð±Ð¾Ð» бол вы бол бол вы г\n"
+" Ñ Ñмх г вы г Ñ Ð³\n"
+" Ñ Ð±Ð¾Ð» бол вы бол Ñ Ð³\n"
+" Ñ Ð˜Ð¡Ð”Ð(ISDN) бол Та Ñ Ð³\n"
+" Ñ Ð²Ñ‹ ИнтернÑÑ‚ г\n"
+" Ñ Ð²Ñ‹ Ñмх г\n"
+" Ñ Ð²Ñ‹ ИнтернÑÑ‚ Ñ Ð°Ð°Ñ Ð³\n"
+" Ñ Ð²Ñ‹ Ñ…ÑÑ€ÑглÑгчид г\n"
+" Ñ Ð²Ñ‹ вы Ñ."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ИСДÐ(ISDN)"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "ИСДÐ(ISDN)"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr "Ñ Ð²Ñ‹ Ñ Ð²Ñ‹ Цонхнууд г Ñ."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Дараагийн ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr ""
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr "Ñ Ñ Ð°Ð°Ñ ÑˆÐ¸Ð½Ñ Ð±Ð¾Ð»."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "бол ЦÑг Ð°Ð°Ñ Ð²Ñ‹ ЭзÑн бол бол Ñ…ÑÑ€ÑглÑгчид Томоор бол вы бол вы вы вы вы вы "
+#~ "бол буÑад бол г г Ð°Ð°Ñ Ð¥ÑзÑÑч үгүй г вы г вы төрөл Ñмх тийш Ð°Ð°Ñ Ð²Ñ‹ вы г вы "
+#~ "вы г вы Ñ Ð³ Цонхнууд ДомÑйн Ñ Ð²Ñ‹ байхгүй вы г вы Ñ…ÑзÑÑ Ñ‡ вы вы Ñ."
diff --git a/perl-install/install/help/po/ms.po b/perl-install/install/help/po/ms.po
new file mode 100644
index 000000000..ec4e83d26
--- /dev/null
+++ b/perl-install/install/help/po/ms.po
@@ -0,0 +1,1303 @@
+# DrakX Bahasa Melayu (Malay) (ms).
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-02-19 14:09+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr "dalam off."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"pengguna pengguna fail dan on pengguna fail dan on pengguna dalam dan A "
+"pengguna dalam dan pengguna default dan pengguna tidak fail on Tambah "
+"pengguna default pengguna default pengguna dalam dan lokal pengguna dan "
+"dalam."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Anda mahu memadam masukan ini dari buku telefon?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"on on Nama Nama dan\n"
+" on\n"
+" on\n"
+" on\n"
+" on."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr "on on dan."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"on dan dan Pembangunan\n"
+" dalam\n"
+" on\n"
+" on\n"
+"\n"
+"\n"
+" asas dan\n"
+" jumlah jumlah dalam."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Naik Taraf"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Dokumentasi untuk antlr."
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Media Pemasangan Yang Diperlukan"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr "dan on on default mula dan tidak dan amaran on."
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Kebergantungan tidak diselesaika"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr "mula on dan default mula on Masuk!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"dalam Masa dan on lokal dan dalam hos Tetingkap on Internet Internet on "
+"lokal."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Segerak sedang berjalan"
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"\n"
+" dan on\n"
+" Masuk."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Sistem KDE GNOME AfterStep\n"
+" dan on\n"
+" Masuk\n"
+" dan\n"
+" dan A dalam\n"
+" dan dan saat Ubah\n"
+"."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+" dan."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusi\n"
+" dan A dalam."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr "Masuk."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Pilihan\n"
+"."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"on kosong on dan pengguna dan on\n"
+" tidak\n"
+" on default dan\n"
+" Tetingkap on dan on Kepada Tetingkap dan Tetingkap Tetingkap dan dan on\n"
+" Tetingkap\n"
+" dan on dan\n"
+" on\n"
+" on dan Semua on\n"
+" on\n"
+" secara manual dan siap dan on dalam."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Guna partisyen sedia ada (onpart)"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, fuzzy, c-format
+msgid "Erase entire disk"
+msgstr "Masukkan cakera liut"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"dan mula\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" on\n"
+" dalam dan dan"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Janakan cakera liut Auto Pasang"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr "fail on dan on on on on."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr "Kepada Internet Internet A dan dan."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr "Internet off default."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Pentadbir Domain:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"on dan on\n"
+" on\n"
+" dan dalam\n"
+"\n"
+"\n"
+" dan\n"
+" dan on\n"
+" secara manual dan dan\n"
+"\n"
+"\n"
+" on\n"
+" Tab dan Naik Turun\n"
+" Ctrl kosong\n"
+" Ctrl\n"
+" Ctrl fail on dan."
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr " -a - pilih semua media non-removable.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "normal"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"on dalam Tetingkap dan\n"
+" on\n"
+" on\n"
+" on\n"
+" on Tetingkap Tetingkap C."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr "dalam on dan dalam."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"on\n"
+" keluar fail on\n"
+" on dan pengguna Tingkatupaya on Tingkatupaya on."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr "on default dalam English English dalam dalam dan Masuk on on dan."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"dan dalam dalam dan on on dan Sepanyol on English default dalam dan dalam "
+"Lanjutan tunggal on pengguna pengguna."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr "tidak on dan dan bersiri USB default dan dan dan dan on dan on."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Tetikus Beroda (PS/2)"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"dan dan\n"
+" Tetingkap\n"
+" tiada."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Lain-lain\n"
+" keluar dan dan\n"
+" Cetakan Sistem lokal dan lpd asas lpd on lpd dan dan dan."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Mahir"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr "dalam on dalam secara manual secara manual."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr "on on on dan."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"on on\n"
+" dan\n"
+" dalam on dan dalam\n"
+" default on on\n"
+" dan on\n"
+" on on\n"
+" on on on dan\n"
+" default dalam on\n"
+" on dan on secara manual\n"
+" on on\n"
+" Internet lokal\n"
+" dalam\n"
+" Internet\n"
+"\n"
+"."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Kad Video"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Kad Video"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Konfigurasi (X) Antaramuka Grafikal"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr "dalam on dan!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr "on dan on on dan on Tetingkap on dan on."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Berikut ->"
+
+#: ../help.pm:872
+#, fuzzy, c-format
+msgid "<- Previous"
+msgstr "Terdahulu"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr "on on."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "dan pengguna dan on Masuk ralat dan on dan Tidak sekali on dalam Kepada "
+#~ "ralat ralat LDAP NIS Tetingkap Domain tiada."
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "Pengesahan"
diff --git a/perl-install/install/help/po/mt.po b/perl-install/install/help/po/mt.po
new file mode 100644
index 000000000..bd5e0e9ea
--- /dev/null
+++ b/perl-install/install/help/po/mt.po
@@ -0,0 +1,1991 @@
+# translation of mt.po to Maltese
+# translation of DrakX-mt.po to Maltese
+# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc.
+# Ramon Casha <ramon.casha@linux.org.mt>, 2002,2003, 2004.
+# Ramon Casha <rcasha@waldonet.net.mt>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-10-04 18:45+0200\n"
+"Last-Translator: Ramon Casha <ramon.casha@linux.org.mt>\n"
+"Language-Team: Maltese <mt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Qabel tkompli int mitlub taqra sew it-termini ta' din il-liċenzja. Hija\n"
+"tkopri d-distribuzzjoni sħiħa ta' Mageia. Jekk taqbel mat-termini\n"
+"kollha tagħha, agħfas il-buttuna \"%s\". Jekk ma taqbilx, agħfas \"%s\" "
+"biex\n"
+"tirributja l-kompjuter."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux hija sistema operattiva \"multi-user\", li jfisser li l-utenti \n"
+"kollha jistgħu ikollhom il-preferenzi tagħhom, fajls personali eċċ. Imma, \n"
+"għall-kuntrarju tal-user \"root\", li huwa l-amministratur tas-sistema, \n"
+"l-utenti li żżid hawn ma jkunu jistgħu jibdlu xejn ħlief il-fajls u \n"
+"konfigurazzjoni personali tagħhom. Dan jipproteġi lis-sistema minn bidliet \n"
+"mhux intenzjonati jew malizzjużi li jaffettwaw lis-sistema sħiħa. Trid \n"
+"toħloq ta' l-inqas utent regolari wieħed għalik. Dan huwa l-kont li bih \n"
+"għandek tagħmel ix-xogħol ta' kuljum. Filwaqt li jista' jkun iżjed faċli \n"
+"tuża l-user \"root\" ta' kuljum, dan huwa perikoluż ħafna. L-iċken żball \n"
+"jista' jwaqqaf is-sistema milli taħdem. Jekk tagħmel anke żball serju "
+"b'user\n"
+"regolari, tista' titlef xi informazzjoni imma mhux is-sistema sħiħa.\n"
+"\n"
+"L-ewwel trid iddaħħal l-isem veru tiegħek. Dan mhux bilfors, ovvjament, u\n"
+"fil-fatt tista' ddaħħal li trid. DrakX imbagħad jieħu l-ewwel kelma u \n"
+"jpoġġiha f' \"%s\". Dan huwa l-isem li jintuża biex tidħol fis-sistema. \n"
+"Tista' tibdel dan l-isem, imbagħad daħħal password. Filwaqt li l-password \n"
+"ta' user regolari mhux kruċjali daqs ta' root, dejjem jaqbillek tagħżel \n"
+"password tajjeb - ftakar li hemm il-fajls tiegħek fin-nofs.\n"
+"\n"
+"Jekk tagħfas \"%s\", tista' żżid users oħra kemm hemm bżonn. Tista' żżid\n"
+"utenti għal ħutek, it-tfal jew ġenituri, jew lill-ħbieb, per eżempju. \n"
+"Meta tlesti milli żżid il-users kollha li trid, agħfas \"%s\".\n"
+"\n"
+"Jekk tagħfas il-buttuna \"%s\", tkun tista' tbiddel ix-\"shell\" \n"
+"impliċita tal-user, li normalment tkun \"bash\".\n"
+"\n"
+"Meta tlesti toħloq users, int tintalab tagħżel user li awtomatikament \n"
+"jiġi lloggjat fis-sistema meta tixgħel. Jekk trid tuża din il-faċilità (u\n"
+"m'intix konċernat dwar sigurtà lokali), agħżel il-user li tixtieq u d-"
+"desktop,\n"
+"u agħfas \"%s\". Jekk ma tixtieqx tuża din il-faċilità, neħħi l-marka \n"
+"mill-kaxxa \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Trid tuża din il-faċilità?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hawn issib il-partizzjonijiet ta' Linux li nstabu fuq id-diska. Tista' \n"
+"żżomm l-għażliet li għamel is-saħħar, huma tajbin għal ħafna każi.\n"
+"Jekk tagħmel tibdiliet, trid ta' l-inqas tiddefinixxi partizzjoni root (\"/"
+"\")\n"
+"Tagħżilx daqs żgħir wisq inkella ma tkunx tista' tinstalla l-programmi\n"
+"kollha li jkollok bżonn. Jekk tixtieq iżżomm l-informazzjoni fuq "
+"partizzjoni\n"
+"separata, trid toħloq ukoll partizzjoni għal \"/home\" (għal dan irid "
+"ikollok\n"
+"iżjed minn partizzjoni waħda Linux).\n"
+"\n"
+"Kull partizzjoni hija mniżżla b'dan il-mod: \"Isem\", \"Daqs\".\n"
+"\n"
+"L-isem huwa mqassam hekk: \"tip ta' diska\", \"numru ta' diska\", \"numru\n"
+"tal-partizzjoni\", per eżempju, \"hda1\". \n"
+"\n"
+"It-tip ta' diska huwa \"hd\" jekk id-diska hija tip IDE, u \"sd\" jekk "
+"hija \n"
+"tip SCSI.\n"
+"\n"
+"In-numru tad-diska huwa l-ittra ta' wara \"hd\" jew \"sd\". Għal diski IDE,\n"
+"\"a\" hija d-diska \"master\" fuq il-kontrollatur IDE primarju,\n"
+"\"b\" hija d-diska skjav fuq il-kontrollatur IDE primarju,\n"
+"\"c\" hija d-diska \"master\" fuq il-kontrollatur IDE sekondarju,\n"
+"\"d\" hija d-diska skjav fuq il-kontrollatur IDE sekondarju\n"
+"\n"
+"Fuq diski SCSI, \"a\" hija d-diska bl-iżjed ID baxx, \"b\" hija t-tieni, eċċ."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"L-installazzjoni ta' Mageia hija maqsuma fuq diversi CD-ROMs. Jekk\n"
+"pakkett qiegħed fuq CD-ROM oħra, DrakX jiftaħ is-CDROM u jitolbok iddaħħal "
+"is-\n"
+"CD li jmiss. Jekk m'għandekx dik is-CD tista' tikklikkja \"%s\" u l-pakketti "
+"li\n"
+"hemm fuq dik is-CD ma jiġux installati."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Issa wasal il-mument fejn tagħżel liema programmi tixtieq tinstalla fuq\n"
+"is-sistema tiegħek. Hemm eluf ta' pakketti disponibbli għal Mageia,\n"
+"u biex ikun iżjed faċli timmaniġġjahom, qegħdin imqassmin fi gruppi ta'\n"
+"programmi simili.\n"
+"\n"
+"Mageia iqassam il-gruppi ta' pakketti fi tlett kategoriji. Tista' \n"
+"tagħżel u tħallat programmi minn diversi kategoriji, jiġifieri "
+"installazzjoni\n"
+"\"workstation\" tista' tinkludi programmi mis-sezzjoni \"server\", eċċ.\n"
+" * \"%s\": jekk fi ħsiebek tuża l-kompjuter bħala workstation, \n"
+"agħżel wieħed jew iżjed mill-gruppi li tixtieq.\n"
+"\n"
+" * \"%s\": jekk tixtieq tuża l-kompjuter biex tipprogramma, agħżel\n"
+"il-gruppi li trid minn din il-kategorija. Il-grupp speċjali \"LSB\"\n"
+"jikkonfiguralek is-sistema sabiex tiġi taqbel kemm jista' jkun ma' l-\n"
+"ispeċifikazzjonijiet \"Linux Standard Base\". Però jekk ma tagħżilx\n"
+"il-grupp LSB xorta jkollok sistema li hija kważi 100%% kompatibbli ma' LSB\n"
+" * \"%s\": jekk il-kompjuter huwa intenzjonat bħala server. tista' tagħżel\n"
+"l-iżjed servizzi komuni li tixtieq tinstalla fuq il-magna.\n"
+"\n"
+" * \"%s\": hawnhekk tista' tagħżel l-ambjent grafiku li \n"
+"tippreferi. Ta' l-inqas trid tagħżel wieħed minn dawn jekk trid li jkollok \n"
+"ambjent grafiku.\n"
+"\n"
+"Jekk tmexxi l-maws fuq wieħed mill-ismijiet tara deskrizzjoni qasira dwar "
+"dak\n"
+"il-grupp.\n"
+"\n"
+"Tista' timmarka l-kaxxa \"%s\", li hija utli jekk int familjari mal-"
+"pakketti\n"
+"disponibbli, jew jekk trid li jkollok kontroll assolut fuq dak li se jiġi\n"
+"nstallat.\n"
+"\n"
+"Jekk tibda' l-installazzjoni fil-modalità %s, tista' tneħħi l-gruppi kollha\n"
+"u ma tħallix li jiġu nstallati pakketti ġodda. Dan huwa utli biex issewwi\n"
+"jew taġġorna sistema eżistenti.\n"
+"\n"
+"Jekkt neħħi l-gruppi kollha waqt installazzjoni normali (mhux aġġornament),\n"
+"tintwera għażla li tissuġġerixxi għażliet differenti għal installazzjoni \n"
+"minima: * \"%s\" tinstalla s-sistema bażika flimkien mal-minimu ta'\n"
+"pakketti għal sistema grafika;\n"
+"\n"
+" * \"%s\" tinstalla s-sistema bażika flimkien ma' xi\n"
+"programmi sempliċi u d-dokumentazzjoni tagħhom. Dan huwa tajjeb għal "
+"server.\n"
+"\n"
+" * \"%s\" tinstalla strettament l-inqas pakketti \n"
+"possibbli sabiex ikollok Linux b'linja ta' kmand. Din l-installazzjoni "
+"tieħu\n"
+"biss madwar 65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aġġornament"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "B' dokumentazzjoni bażika"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installazzjoni assolutament minima"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jekk għażiltx li tagħżel il-pakketti individwalment, tiġi\n"
+"offruta lista tal-pakketti kollha klassifikati fi gruppi. Waqt li qed "
+"tifli \n"
+"din il-lista, tista' tagħżel gruppi sħaħ jew pakketti individwali.\n"
+"\n"
+"Meta tagħżel pakkett fil-lista, tidher deskrizzjoni maġenbha fuq il-lemin\n"
+"li tgħidlek għal xiex jintuża dak il-pakkett.\n"
+"!! Jekk pakkett ta' server jiġi installat intenzjonalment jew għax jifforma\n"
+"parti minn grupp, int tintalab tikkonferma jekk verament tridx lill dawn\n"
+"is-servizzi jiġu nstallati. Fil-Mageia, is-servizzi li tinstalla "
+"jiġu\n"
+"mtella' awtomatikament meta tixgħel. Għalkemm dawn kienu siguri u ma kien "
+"fihom\n"
+"ebda problemi meta din il-verżjoni ta' Linux inħarġet, jista' jkun li "
+"jinstabu\n"
+"problemi simili wara li ġiet finalizzata din il-verżjoni. Jekk ma tafx \n"
+"x'suppost jagħmel servizz partikulari jew għaliex qed jiġi nstallat, agħżel\n"
+"\"%s\". Jekk tagħfas \"%s\" dawn is-servizzi jiġu nstallati u jiġu mtella' \n"
+"awtomatikament fil-bidu.\n"
+"\n"
+"L-għażla \"%s\" sempliċiment titfi l-window li twissik\n"
+"kull meta l-installazzjoni tkun se żżid xi pakketti oħra meħtieġa. Dan "
+"jiġri\n"
+"għax il-programm ikun induna li jinħtieġ pakkett ieħor biex il-programmi li\n"
+"tkun għażilt jaħdmu sew.\n"
+"\n"
+"L-ikona ta' diska flopi żgħira fil-qiegħ tippermettilek li ttella' l-\n"
+"lista ta' pakketti li ġew magħżula waqt installazzjoni preċedenti. Jekk \n"
+"tikklikkja din l-ikona int tintalab iddaħħal flopi li tkun ħloqt waqt \n"
+"installazzjoni oħra. Ara t-tieni ħjiel fl-aħħar stadju biex tara kif toħloq\n"
+"diska simili."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dipendenzi awtomatiċi"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Hawnhekk tista' tagħżel liema servizzi tixtieq ittella' mal-bidu.\n"
+"\n"
+"Dawn huma s-servizzi kollha disponibbli mal-konfigurazzjoni kurrenti.\n"
+"Iċċekkjahom sew u neħħi dawk li m'għandekx bżonn kull darba li titla'\n"
+"s-sistema.\n"
+"\n"
+"Tintwera spjagazzjoni qasira dwar kull servizz meta dan jingħażel. Però,\n"
+"jekk m'intix ċert dwar jekk servizz hux meħtieġ, aħjar tħalli l-għażla\n"
+"impliċita.\n"
+"!! F'dan l-istadju, oqgħod attent jekk tixtieq tuża l-kompjuter bħala "
+"server:\n"
+"aktarx ma jkollokx bżonn ittella' servizzi li m'intix se tuża. Ftakar li xi\n"
+"servizzi jistgħu ikunu perikolużi fuq server. Bħala regola ġenerali, ħalli\n"
+"biss dawk is-servizzi li verament għandek bżonn. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux jimmaniġġja l-ħin bħala GMT (Greenwich Mean Time) u jaqilbu "
+"għall-\n"
+"ħin lokali skond iż-żona orarja li tagħżel. Huwa possibbli però li titfi "
+"din\n"
+"il-faċilità billi titfi l-għażla \"%s\" biex il-ħin\n"
+"tal-kompjuter jiġi l-istess bħall-ħin tas-sistema. Dan huwa utli jekk il-\n"
+"kompjuter tintuża għal sistemi operattivi bħall-Windows.\n"
+"\n"
+"L-għażla \"%s\" tħallik awtomatikament \n"
+"tirregola l-ħin billi taqbad ma' server speċjali fuq l-internet. Fil-lista\n"
+"li tiġi preżentata, agħżel server viċin tiegħek. Ovvjament irid ikollok\n"
+"konnessjoni mal-internet issettjata biex tuża din il-faċilità. Jekk tuża\n"
+"din l-għażla jiġi nstallat programm apposta fuq il-kompjuter li "
+"jippermettilu\n"
+"li jintuża bħala server tal-ħin għal kompjuters oħra fuq in-network lokali."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronizzazzjoni tal-ħin awtomatiku"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kard grafika\n"
+"\n"
+" L-installatur normalment jagħraf u jikkonfigura l-kard grafika "
+"installata\n"
+"fuq il-kompjuter tiegħek. Jekk din l-għażla mhix tajba, tista' tagħżel mil-\n"
+"lista il-kard li għandek installata.\n"
+"\n"
+" F'każ li iżjed minn server wieħed jeżisti għall-kard tiegħek, bil- jew \n"
+"mingħajr aċċelerazzjoni 3D, int tintalab tagħżel is-server li jaqdi \n"
+"ħtiġijietek l-aħjar."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (għal Sistema X Window) huwa l-qalb ta' l-interfaċċja grafika GNU/Linux\n"
+"li fuqu huma bbażati l-ambjenti grafiċi kollha inklużi ma' Mageia "
+"(KDE,\n"
+"GNOME, AfterStep, WindowMaker, eċċ).\n"
+"\n"
+"Tista' tara lista ta' diversi parametri li tista' tibdel sabiex ikollok\n"
+"l-aħjar dehra grafika.\n"
+"\n"
+"Kard Grafika\n"
+"\n"
+" L-isntallatur normalment jagħraf u jikkonfiguralek il-kard tal-grafika\n"
+"li għandek awtomatikament. Jekk dan mhux korrett, tista' tagħżel il-kard\n"
+"tajba minn din il-lista.\n"
+"\n"
+" F'każ fejn jeżistu servers differenti għall-kard tiegħek, bil- jew "
+"mingħajr\n"
+"aċċelerazzjoni 3D, int tintalab tagħżel liema server l-iżjed japplika "
+"għalik,\n"
+"\n"
+"\n"
+"\n"
+"Reżoluzzjoni\n"
+"\n"
+" Hawn tista' tagħżel ir-reżoluzzjoni u numru ta' kuluri disponibbli fuq\n"
+"il-ħardwer tiegħek. Agħżel dik li l-iżjed tgħodd għalik (int tkun tista' \n"
+"tibdel l-għażla wara l-installazzjoni). Kampjun tal-konfigurazzjoni "
+"magħżula\n"
+"tintwera fl-istampa tal-iskrin.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Skond il-ħardwer li għandek, tista' tintwera din l-għażla.\n"
+"\n"
+" Is-sistema tipprova tiftaħ skrin grafiku fir-reżoluzzjoni mitliba.\n"
+"Jekk tara l-messaġġ waqt it-test u tirrispondi \"%s\", DrakX jipproċedi "
+"għall-\n"
+"pass li jmiss. Jekk ma tarahx, ifisser li xi parti mill-konfigurazzjoni\n"
+"awtomatika kienet inkorretta u t-test jispiċċa waħdu wara 12-il sekonda, u\n"
+"terġa' lura fil-menu. Ibdel is-setings sakemm ikollok wirja korretta "
+"grafika\n"
+"fuq l-iskrin.\n"
+"\n"
+"\n"
+"\n"
+"Għażliet\n"
+"\n"
+" Dan il-pass iħallik tagħżel jekk tridx lill-kompjuter jidħol f'modalità \n"
+"grafika awtomatikament malli jitla'. Ovvjament, tista tagħżel \"%s\" jekk "
+"il-\n"
+"kompjuter se jaħdem bħala server, jew jekk ma rnexxielekx tissettja l-kard\n"
+"grafika sew."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skrin\n"
+"\n"
+" Normalment l-installatur jagħraf u jikkonfiguralek l-iskrin li\n"
+"għandek imqabbad awtomatikament. Jekk din l-għażla mhix tajba, tista' \n"
+"tagħżel mil-lista l-iskrin li għandek imqabbad mal-kompjuter."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Reżoluzzjoni\n"
+"\n"
+" Hawn tista' tagħżel ir-reżoluzzjoni u numru ta' kuluri disponibbli fuq \n"
+"il-ħardwer tiegħek. Agħżel dak li l-aħjar jaqdi ħtiġijietek (tista' \n"
+"tibdel l-għażliet tiegħek wara). Kampjun tal-konfigurazzjoni magħżula \n"
+"jintwera fuq l-iskrin."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Fis-sitwazzjoni fejn hemm servers differenti disponibbli għall-kard tiegħek, "
+"bil- jew mingħajr aċċelerazzjoni 3D, int tintalab tagħżel is-server li l-"
+"iżjed jaqdi l-ħtiġijiet tiegħek."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Għażliet\n"
+"\n"
+" F'dan il-pass, tista' tagħżel jekk tridx l-interfaċċja grafika mill-bidu.\n"
+"Ovvjament, tista' tagħżel \"%s\" jekk il-kompjuter se jintuża biss bħala \n"
+"server, jew jekk ma rnexxielekx tissettja l-X sew."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"F'dan il-punt int trid tagħżel fejn, fuq il-ħard disk, trid tinstalla s-\n"
+"sistema operattiva Mageia. Jekk il-ħard disk huwa vojt, jew jekk\n"
+"hemm sistema operattiva qed tokkupaha kollha, l-ewwel trid toħloq \n"
+"partizzjonijiet. Bażikament, il-partizzjonijiet tal-ħard disk jaqsmu d-"
+"diska\n"
+"f'partijiet biex ikun hemm sezzjonijiet fejn tiġi nstallata s-sistema ġdida\n"
+"Mageia.\n"
+"\n"
+"Peress li l-effett ta' partizzjonament tal-ħard disk m'humiex riversibbli,\n"
+"u jista' jwassal għal telf ta' informazzjoni, dan il-proċess jista' jidher\n"
+" intimidanti jekk m'għandekx esperjenza. Fortunatament, hemm \"saħħar\" li "
+"jissimplifika l-proċess kollu. Qabel tibda', aqra sew din is-sezzjoni u ħu \n"
+"l-ħin tiegħek. Skond il-konfigurazzjoni tal-ħard disk tiegħek, jista' "
+"jkollok\n"
+"diversi għażliet:\n"
+"\n"
+" * \"%s\": Din l-għażla toħloq partizzjonijiet awtomatikament.\n"
+"Jekk tuża din l-għażla ma tintalabx iżjed informazzjoni.\n"
+"\n"
+" * \"%s\": Is-saħħar sab partizzjoni waħda jew iżjed\n"
+"tal-Linux fuq il-ħard disk. Jekk trid tuża lilhom, agħżel din. \n"
+"Int tiġi mistoqsi fejn trid timmonta dawn il-partizzjonijiet. \n"
+"L-għażliet antiki jingħażlu impliċitament, u ġeneralment hija\n"
+"ideja tajba żżomm lilhom.\n"
+" * \"%s\": Jekk għandek Microsoft Windows installat fuq il-ħard disk \n"
+"u qed jokkupa l-ispazju kollu, trid toħloq ftit spazju għal-Linux. \n"
+"Biex tagħmel dan, trid jew tħassar il-partizzjoni tal-Windows\n"
+"u kull m'hemm fiha (ara \"Ħassar id-diska sħiħa\"), jew iċċekken \n"
+"il-partizzjoni FAT jew NTFS tal-Windows. Tista' ċċekken il-partizzjoni \n"
+"Windows mingħajr ma titlef informazzjoni sakemm għamilt \"defragment\" fuq\n"
+"id-diska minn qabel. Din is-soluzzjoni hija rakkomandata biex tuża l-"
+"Windows \n"
+"u l-Linux flimkien fuq l-istess kompjuter.\n"
+"\n"
+" Qabel tagħżel din l-għażla, kun af li wara din il-proċedura, il-\n"
+"partizzjoni tal-Windows tkun iżgħar milli hi bħalissa. Ikollok inqas spazju "
+"taħt\n"
+"il-Microsoft Windows fejn iżżomm informazzjoni jew tinstalla programmi "
+"ġodda.\n"
+"\n"
+" * \"%s\": Jekk tixtieq tħassar l-informazzjoni kollha u\n"
+"l-partizzjonijiet kollha li għandek fuq il-ħard disk u tpoġġi l-Mandriva "
+"Linux\n"
+"minflokhom, tista' tagħżel din. Oqgħod attent minn din l-għażla għax ma "
+"tkunx\n"
+"tista' tibdel fehemtek wara li tikkonferma.\n"
+"\n"
+" !! Jekk tagħżel din l-għażla, kull m'hemm fuq id-diska jintilef !!\n"
+"\n"
+" * \"%s\": Din l-għażla tidher meta l-ħard disk hija kompletament okkupata \n"
+"mill-Microsoft Windows. Din l-għażla sempliċiment tħassar kull ma' hemm "
+"fuq \n"
+"il-ħard disk u tibda' kollox mill-ġdid.\n"
+"\n"
+" !! Jekk tagħżel din l-għażla, kull m'hemm fuq id-diska jintilef !!\n"
+"\n"
+" * \"%s\": Agħżel dan jekk trid tippartizzjona l-ħard disk \n"
+"manwalment. Oqgħod attent - hija għażla li tagħti kontroll imma hija \n"
+"perikoluża. Tista' faċilment titlef l-informazzjoni kollha b'dan il-mod. \n"
+"Għalhekk, tużax din l-għażla jekk ma tafx x'qed tagħmel. Għal iżjed tagħrif\n"
+"dwar kif tuża l-għodda DiskDrake, irreferi għas-sezzjoni \"Managing Your \n"
+"Partitions\" fil-manwal \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Uża partizzjoni eżistenti"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Ħassar kull m'hemm fid-diska"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Dak kollox! L-installazzjoni issa hija lesta u s-sistema GNU/Linux issa\n"
+"lesta biex tintuża. Agħfas \"%s\" biex tirristartja l-kompjuter. Tinsiex "
+"tneħħi l-media ta' l-installazzjoni (CDROM jew flopi). L-ewwel ħaġa li \n"
+"għandek tara meta l-kompjuter ilesti l-iċċekkjar tal-ħardwer huwa menu\n"
+"tal-bidu, li jagħtik l-opportunità tagħżel liema sistema operattiva trid\n"
+"ittella'.\n"
+"\n"
+"Il-buttuna \"%s\" turik żewġ buttuni oħra:\n"
+"\n"
+" * \"%s\": toħloqlok flopi li tippermettilek tirrepeti l-istess \n"
+"installazzjoni fuq kompjuter ieħor identiku, mingħajr l-intervent \n"
+"tiegħek.\n"
+"\n"
+" Innota li meta tagħfas din il-buttuna jintwerew żewġ għażliet oħra:\n"
+"\n"
+" * \"%s\". Din hija installazzjoni semi-awtomatika, għax il-pass ta'\n"
+"partizzjonament (u dak biss) jibqa' manwali.\n"
+"\n"
+" * \"%s\". Installazzjoni totalment awtomatika - il-ħard disk\n"
+"titħassar u tinkiteb mill-ġdid, u kull informazzjoni fuqha tintilef.\n"
+"\n"
+" Din il-faċilità hija utli meta qed tinstalla numru kbir ta' kompjuters\n"
+"identiċi. Ara s-sezzjoni \"Auto install\" fuq il-websajt tagħna.\n"
+"\n"
+" * \"%s\"(*): jikteb l-għażla ta' pakketti li\n"
+"nstallajt. Meta qed tagħmel installazzjoni oħra, daħħal il-flopi fid-drajv\n"
+"u meta tibda l-installazzjoni, agħfas [F1], ittajpja \n"
+">>linux defcfg=\"floppy\"<< u agħfas it-tast [Enter].\n"
+"\n"
+"(*) Għandek bżonn flopi formattjata FAT (DOS). Biex toħloq waħda mil-Linux,\n"
+"ittajpja \"mformat a:\", jew \"fdformat /dev/fd0\" u \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Oħloq flopi awto-installazzjoni"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jekk tagħżel li terġa' tuża xi partizzjonijiet antiki GNU/Linux, tista'\n"
+"tiddeċiedi li terġa' tifformattja wħud minnhom u tħassar l-informazzjoni\n"
+"kollha li fihom. F'dak il-każ, agħżel dawk il-partizzjonijiet ukoll.\n"
+"Innota li mhux meħtieġ li terġa' tifformattja l-partizzjonijiet kollha\n"
+"eżistenti. Trid però tifformattja dawk il-partizzjonijiet li jkollhom is-\n"
+"sistema operattiva fuqhom (eż, \"/\", \"/usr\" jew \"/opt\"), imma "
+"m'għandekx\n"
+"bżonn tifformattja dawk li fihom l-informazzjoni tiegħek (tipikament \"/home"
+"\").\n"
+"\n"
+"Oqgħod attent meta tagħżel il-partizzjonijiet. Wara li jiġu formattjati,\n"
+"l-informazzjoni kollha li kien hemm fuqhom tintilef u m'hemmx mod biex "
+"iġġibha\n"
+"lura.\n"
+"\n"
+"Agħfas \"%s\" meta tkun lest biex tifformattja l-partizzjonijiet.\n"
+"\n"
+"Agħfas \"%s\" jekk trid tagħżel partizzjoni oħra għas-sistema ġdida\n"
+"Mageia.\n"
+"\n"
+"Agħfas \"%s\" biex tagħżel partizzjonijiet biex jiġu ċċekkjati għal blokki\n"
+"ħżiena fuq id-diska."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Fid-data meta tinstalla l-Mageia, aktarx ikunu ġew aġġornati xi\n"
+"pakketti minn meta ġiet pubblikata. Xi żbalji jistgħu ikunu ġew irranġati,\n"
+"u problemi ta' sigurtà ġew riżolti. Sabiex tibbenifika minn dawn l-\n"
+"aġġornamenti, jaqbillek tniżżilhom minn fuq l-internet. Agħżel \"%s\" jekk\n"
+"għandek konnessjoni mal-internet issettjata, jew \"%s\" jekk tippreferi li\n"
+"tinstalla l-aġġornamenti iżjed tard.\n"
+"\n"
+"Jekk tagħżel %s, tintwera lista ta' postijiet minn fejn l-aġġornamenti \n"
+"jistgħu jitniżżlu (\"mirja\"). Agħżel l-iżjed wieħed viċin tiegħek. "
+"Imbagħad\n"
+"tintwera lista ta' pakketti. Dur dawn il-pakketti, agħżel liema trid u \n"
+"agħfas \"%s\" biex tniżżilhom u tinstallahom jew \"%s\" biex twaqqaf."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"F'dan il-punt, trid tagħżel livell ta' sigurtà għal dan il-kompjuter.\n"
+"Bħala regola ġenerali, iżjed m'hu espost il-kompjuter, u iżjed m'hi "
+"kruċjali\n"
+"l-informazzjoni ta' fuqu, iżjed irid ikun għoli l-livell ta' sigurtà. Innota "
+"li\n"
+"livell ta' sigurtà iżjed għoli ġeneralment ifisser iżjed diffikultà fl-użu.\n"
+"\n"
+"Jekk ma tafx liema tagħżel, żomm l-għażla impliċita. Tkun tista' tibdel dan\n"
+"il-livell iżjed 'il quddiem bl-għodda draksex, li jifforma parti miċ-Ċentru\n"
+"ta' Kontroll Mageia.\n"
+"\n"
+"Imla' l-kaxxa \"%s\" bl-indirizz tal-imejl tal-persuna responsabbli mis-"
+"sigurtà.\n"
+"Il-messaġġi ta' sigurtà jintbagħtu lil dak l-indirizz."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Amministratur tas-sigurtà"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"F'dan il-punt trid tagħżel liema partizzjoni(jiet) se jintużaw għall-\n"
+"installazzjoni tas-sistema Mageia. Jekk diġà ġew definiti xi\n"
+"partizzjonijiet, jew minn installazzjoni preċedenti ta' GNU/Linux jew minn\n"
+"għodda ta' partizzjonament oħra, tista' tuża l-partizzjonijiet eżistenti.\n"
+"Altrimenti, l-partizzjonijiet tal-ħard disk iridu jiġu definiti.\n"
+"\n"
+"Biex toħloq il-partizzjonijiet, l-ewwel trid tagħżel ħard disk.\n"
+"Tista' tagħżel diska għall-partizzjonament billi tagħżel \"hda\" għal l-\n"
+"ewwel diska IDE, \"hdb\" għat-tieni, eċċ, jew \"sda\" għal l-ewwel\n"
+"diska SCSI, eċċ.\n"
+"\n"
+"Biex tippartizzjona l-ħard disk magħżula għandek dawn l-għażliet:\n"
+"\n"
+" * \"%s\": din l-għażla tħassar il-partizzjonijiet kollha\n"
+"mill-ħard disk magħżula.\n"
+"\n"
+" * \"%s\": din l-għażla awtomatikament toħloqlok partizzjonijiet\n"
+"ext4 u swap fl-ispazju vojt tad-diska.\n"
+"\n"
+" * \"%s\" jagħtik aċċess għal iżjed faċilitajiet:\n"
+"\n"
+" * \"%s\": jikteb it-tabella \n"
+"tal-partizzjonijiet fuq flopi. Utli biex tirkupra t-tabella iżjed tard jekk\n"
+"hemm bżonn. Dan il-pass huwa rakkomandat.\n"
+"\n"
+" * \"%s\": tħallik tirrestawra t-\n"
+"tabella tal-partizzjonijiet minn flopi disk fejn ġew miktuba.\n"
+"\n"
+" * \"%s\": jekk it-tabella tal-partizzjonijiet\n"
+"ġiet korrotta b'xi mod, din l-għażla tħallik tipprova terġa' tirkupraha. \n"
+"Oqgħod attent b'din l-għażla u ftakar li mhux dejjem taħdem.\n"
+"\n"
+" * \"%s\": jinsa l-bidliet kollha u jerġa' jaqra t-tabella\n"
+"mill-ħard disk.\n"
+"\n"
+" * \"%s\": jekk tneħħi din l-għażla l-utenti\n"
+"jkollhom jimmontaw u jiżmuntaw manwalment diski li jinħarġu bħal flopi u "
+"CDROM.\n"
+"\n"
+" * \"%s\": uża dan il-metodu jekk trid tuża saħħar li jippartizzjonalek\n"
+"il-ħard disk. Dan huwa rakkomandat jekk ma tifhimx sew kif tagħmel il-\n"
+"partizzjonijiet int.\n"
+"\n"
+" * \"%s\": uża din l-għażla biex tikkanċella l-bidliet li għamilt.\n"
+"\n"
+" * \"%s\": jagħtik iżjed azzjonijiet fuq il-\n"
+"partizzjonijiet (tip, għażliet, format) u jagħti iżjed dettalji.\n"
+"\n"
+" * \"%s\": meta tlesti mill-partizzjonament, dan jikteb il-bidliet li\n"
+"għamilt lid-diska.\n"
+"\n"
+"Meta tiddefinixxi d-daqs tal-partizzjoni, tista' tissettja d-daqs bl-eżatt\n"
+"billi tuża l-vleġeġ tat-tastiera.\n"
+"\n"
+"Nota: tista' tilħaq kull għażla mit-tastiera. Dur il-partizzjonijiet bit-"
+"TAB\n"
+"u l-vleġeġ 'il fuq u 'l isfel.\n"
+"\n"
+"Meta tkun fuq il-partizzjoni li trid, tista' tuża:\n"
+"\n"
+" * Ctrl-C biex toħloq partizzjoni (meta tkun magħżula partizzjoni vojta)\n"
+"\n"
+" * Ctrl-D biex tħassar partizzjoni\n"
+"\n"
+" * Ctrl-M biex tissettja l-punt ta' mmuntar.\n"
+"\n"
+"Biex tikseb iżjed informazzjoni dwar il-filesystems differenti disponibbli,\n"
+"jekk jogħġbok aqra l-kapitlu ext2fs fil-Manwal ta' Referenza.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Awtomuntar ta' diski li jinħarġu"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Aqleb bejn modalità normali u esperta"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Instabu iżjed minn partizzjoni waħda tal-Microsoft fuq il-ħard disk. Jekk \n"
+"jogħġbok agħżel liema minnhom trid iċċekken biex tinstalla s-sistema \n"
+"operattiva Mageia.\n"
+"\n"
+"Kull partizzjoni hija mmarkata hekk: \"Isem tal-Linux\", \"Isem fil-Windows"
+"\",\n"
+"\"Daqs\".\n"
+"\n"
+"L-isem tal-Linux huwa mqassam hekk: \"tip ta' diska\", \"numru ta' diska"
+"\", \n"
+"\"numru tal-partizzjoni\" (per eżempju, \"hda1\"). \n"
+"\n"
+"It-tip ta' diska huwa \"hd\" jekk id-diska hija tip IDE, u \"sd\" jekk "
+"hija \n"
+"tip SCSI.\n"
+"\n"
+"In-numru tad-diska huwa l-ittra ta' wara \"hd\" jew \"sd\". Għal diski IDE:\n"
+"\n"
+" * \"a\" hija d-diska \"master\" fuq il-kontrollatur IDE primarju,\n"
+"\n"
+" * \"b\" hija d-diska skjav fuq il-kontrollatur IDE primarju,\n"
+"\n"
+" * \"c\" hija d-diska \"master\" fuq il-kontrollatur IDE sekondarju,\n"
+"\n"
+" * \"d\" hija d-diska skjav fuq il-kontrollatur IDE sekondarju\n"
+"\n"
+"Fuq diski SCSI, \"a\" hija d-diska bl-iżjed ID baxx, \"b\" hija t-tieni, "
+"eċċ.\n"
+"\n"
+"\"Isem tal-Windows\" huwa l-ittra li jkollha din il-ħard disk taħt il-"
+"Windows\n"
+"(l-ewwel diska jew partizzjoni hija \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": iċċekkja l-għażla ta' pajjiż kurrenti. Jekk m'intix f'dan il-\n"
+"pajjiż, agħfas il-buttuna \"%s\" u agħżel ieħor. Jekk pajjiżek ma jidhirx\n"
+"fil-lista' agħfas il-buttuna \"%s\" għal lista sħiħa ta' pajjiżi."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Dan il-pass jiġi attivat biss jekk instabet partizzjoni eżistenti GNU/Linux\n"
+"fuq il-kompjuter.\n"
+"\n"
+"DrakX issa għandu bżonn ikun jaf jekk tridx tagħmel installazzjoni ġdida\n"
+"jew aġġornament tas-sistema eżistenti Mageia:\n"
+"\n"
+" * \"%s\". Fil-parti l-kbira, din tħassar is-sistema antika għal kollox.\n"
+"Però, skond l-iskema ta' partizzjonijiet, tista' ma tħallix ċerti \n"
+"partizzjonijiet jitħassru (speċjalment id-direttorji \"home\"). Jekk trid\n"
+"tibdel kif jiġu partizzjonati l-ħard disks, jew biex tibdel is-sistema ta'\n"
+"fajls, għandek tagħżel din l-għażla.\n"
+"\n"
+" * \"%s\". Din il-klassi ta' installazzjoni tħallik taġġorna l-pakketti\n"
+"installati bħalissa fuq is-sistema Mageia. Il-partizzjonijiet "
+"eżistenti\n"
+"u d-data tal-utenti ma jintmessux. Ħafna mill-passi l-oħra tal-"
+"konfigurazzjoni\n"
+"jibqgħu disponibbli u huma simili għal installazzjoni normali.\n"
+"\n"
+"L-użu tal-għażla \"Aġġorna\" għandha taħdem tajjeb fuq sistemi Mandriva "
+"Linux\n"
+"minn verżjoni \"8.1\" 'il fuq. Mhux rakkomandat li tagħmel aġġornament ta'\n"
+"sistema Mageia qabel 8.1."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Skond liema lingwa għażilt (), DrakX awtomatikament jagħżel \n"
+"tqassim tat-tastiera. Iċċekkja li din l-għażlia hija tajba, jew\n"
+"għażel tastiera oħra.\n"
+"\n"
+"Apparti minn hekk, jista' jkun li t-tastiera magħżula ma taqbilx mal-\n"
+"lingwa tiegħek. Jekk per eżempju int Malti imma tgħix fl-Italja jista'\n"
+"jkun ikollok tastiera Taljana. F'dak il-każ dan il-pass iħallik\n"
+"tagħżel t-tastiera tajba mil-lista.\n"
+"\n"
+"Klikkja l-buttuna \"%s\" biex tara lista sħiħa ta' tastieri sapportiti.\n"
+"\n"
+"Jekk tagħżel tastiera ibbażata fuq alfabett mhux Latin, il-pass li jmiss\n"
+"iħallik tagħżel il-kombinazzjoni ta' tasti li jibdlu bejn tqassim Latin\n"
+"u mhux Latin."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"L-ewwel pass huwa li tagħżel il-lingwa preferuta tiegħek.\n"
+"\n"
+"L-għażla tal-lingwa preferuta jaffettwa l-installatur, id-dokumentazzjoni,\n"
+"u s-sisetma in ġenerali. L-ewwel agħżel ir-reġjun fejn qiegħed, u mbgħad\n"
+"il-lingwa li titkellem.\n"
+"Jekk tagħfas il-buttuna \"%s\" tista' tagħżel lingwi oħra li tixtieq \n"
+"tinstalla fuq is-sistema. Jekk tagħżel lingwi oħra, il-fajls speċifiċi "
+"għal \n"
+"dik il-lingwa jiġu nstallati fuq is-sistema. Per eżempju, jekk se jkun hemm\n"
+"utenti Spanjoli fuq il-kompjuter, agħżel l-Ingliż bħala lingwa ewlenija "
+"fil-\n"
+"lista ta' fuq, u \"%s\" fis-sezzjoni avvanzata.\n"
+"Dwar sapport għall--UTF-8 (unicode): Unicode hija sistema ġdida ta' "
+"kodifika\n"
+"tal-karattri intenzjonata biex tipprovdi sapport għal-lingwi kollha. Però \n"
+"s-sapport għaliha fil-Linux għadu qed jiġi żviluppat. Għalhekk, l-użu tal-"
+"UTF-8\n"
+"fil-Mageia jiddependi mill-għażla tal-utent:\n"
+"\n"
+"* Jekk tagħżel lingwa b'ħafna sapport eżistenti f'kodifika oħra (eż, "
+"lingwi \n"
+"latin1, Russu, Ġappuniz, Ċiniż, Korean, Tajlandiż, Grieg, Tork u ħafna "
+"lingwi\n"
+"latin2), tintuża l-kodifika antika.\n"
+"\n"
+"Lingwi oħra jużaw unicode impliċitament;\n"
+"\n"
+" * Jekk tnejn jew iżjed lingwi huma meħtieġa, u dawn m'għandhomx l-istess \n"
+"kodifika, jintuża unicode fuq is-sistema kollha.\n"
+"\n"
+" * Finalment, tista' ġġiegħel li jintuża unicode fis-sistema kollha billi \n"
+"tittikkja l-għażla \"%s\" indipendentement minn liema lingwi huma magħżula.\n"
+"\n"
+"Innota li m'intix limitat li tagħżel lingwa waħda addizzjonali. Tista' "
+"tagħżel\n"
+"diversi, jew anke tinstalla kollox billi tagħżel il-kaxxa \"%s\". Li "
+"tagħżel \n"
+"lingwa ifisser traduzzjonijiet, fonts, spell checkers eċċ jiġu nstallati "
+"għal \n"
+"dik il-lingwa."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalment, DrakX ma jsibx problemi biex jinduna kemm għandu buttuni\n"
+"l-maws. Jekk ikollu, huwa jassumi li għandek maws b'żewġ buttuni u "
+"jissettjah\n"
+"għall-emulazzjoni tat-tielet buttuna. It-tielet buttuna f'dan il-każ "
+"tfisser \n"
+"li tagħfas iż-żewġ buttuni l-oħrajn flimkien. DrakX kapaċi jinduna waħdu "
+"jekk \n"
+"il-maws huwiex PS/2, serjali jew USB.\n"
+"\n"
+"Jekk għandek maws bi 3 buttuni mingħajr rota, tista' tagħżel il-maws \"%s"
+"\". \n"
+"DrakX jissettjalek il-maws biex tista' tissimula r-rota: biex tagħmel dan,\n"
+"żomm il-buttuna tan-nofs magħfusa u mexxi l-maws 'il fuq u 'l isfel.\n"
+"\n"
+"Jekk tixtieq tispeċifika tip ta' maws differenti, agħżel it-tip tajjeb mil-\n"
+"lista provduta.\n"
+"\n"
+"Tista' tagħżel \"%s\" sabiex tuża tip ġeneriku li jaħdem kważi mal-"
+"mawsijiet\n"
+"kollha.\n"
+"\n"
+"Jekk tagħżel tip ta' maws differenti mill-oriġinali, tiġi provduta faċilità\n"
+"biex tittestja s-setings. Uża l-buttuni kollha u r-rota biex tivverifika li "
+"s-\n"
+"setings jaħdmu sew. Jekk il-maws ma jaħdimx sew agħfas \"spazju\" jew\n"
+"[Enter] biex tikkanċella t-test u tagħżel maws ieħor.\n"
+"\n"
+"Maws bir-rota ġieli ma jiġix magħruf sew awtomatikament, għalhekk ikollok\n"
+"tagħżel it-tip minn lista. Ara li tagħżel dak li jikkorrispondi mal-port "
+"fejn huwa\n"
+"mqabbad il-maws. Wara li tagħżel maws u tagħfas il-buttuna \"%s\", "
+"tittella'\n"
+"stampa ta' maws. Mexxi r-rota biex tiżgura li din tiġi ssettjata sew. Meta "
+"tara\n"
+"r-rota fuq l-iskrin timxi meta ċċaqlaq ir-rota fuq il-maws, iċċekkja li l-"
+"buttuni \n"
+"jaħdmu u li l-vleġġa fuq l-iskrin timxi meta ċċaqlaq il-maws."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "b' emulazzjoni tar-rota"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universali | Kwalunkwe maws PS/2 jew USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Jekk jogħġbok agħżel il-port it-tajjeb. Per eżempju, il-port \"COM1\" fil-\n"
+"Windows huwa ekwivalenti għal \"ttyS0\" fil-GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Il-\"boot loader\" huwa programm żgħir li jiġi mħaddem mill-kompjuter meta\n"
+"tixgħelu. Huwa responsabbli li jtella' s-sistema sħiħa. Normalment, l-\n"
+"installazzjoni tal-boot loader huwa totalment awtomatizzat. DrakX "
+"janalizza \n"
+"s-settur \"boot\" tad-diska u jaġixxi skond x'isib hemm:\n"
+"\n"
+" * Jekk isib settur \"boot\" tal-Windows, huwa jibdlu ma' settur boot ta' \n"
+"grub/LILO. B'dan il-mod tista' ttella' kemm GNU/Linux jew xi sistema \n"
+"operattiva oħra.\n"
+"\n"
+" * Jekk isib settur boot eżistenti ta' grub jew LILO, dan jibdlu mal-ġdida.\n"
+"\n"
+"Jekk ma jistax jiddetermina t-tip, DrakX jistaqsik fejn trid tpoġġi l-\n"
+"bootloader. Ġeneralment, l-aħjar huwa \"%s\". Jekk tagħżel \"%s\" ma jiġi \n"
+"nstallat ebda boot loader. Din ta' l-aħħar għanda tintuża biss jekk taf sew\n"
+"x'qed tagħmel."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Issa wasal il-waqt li tagħżel sistema ta' printjar għall-kompjuter tiegħek.\n"
+"Sistemi operattivi oħra joffrulek waħda, Mageia jagħtik tnejn.\n"
+"Kull waħda minn dawn is-sistema hija idejali għal ċirkostanzi differenti.\n"
+" * \"%s\" - li jfisser \"printja minngħajr kju\", hija l-aħjar għażla\n"
+"jekk għandek konnessjoni diretta mal-printer, trid il-faċilità li twaqqaf\n"
+"printjar malajr, u m'għandekx printers bin-network (\"%s\" jaċċetta\n"
+"biss networking sempliċi, u mhux effiċjenti fuq network). Tista' tagħżel \n"
+"\"pdq\" jekk din hija l-ewwel esperjenza tiegħek fuq GNU/Linux.\n"
+"\n"
+" * \"%s\"\"Sistema ta' Printjar Komuni tal-Linux\" huwa eċċellenti\n"
+"kemm biex tipprintja fuq printer lokali kif ukoll fuq printer in-naħa l-"
+"oħra\n"
+"tad-dinja. Huwa sempliċi u jista' jaħdem kemm bħala server kif ukoll bħala\n"
+"klijent għal sistemi antiki \"lpd\", għalhekk huwa kompatibbli ma' sistemi\n"
+"antiki. Kapaċi jagħmel ħafna affarijiet, imma l-konfigurazzjoni bażika hija\n"
+"sempliċi kważi daqs \"pdq\". Biex jemula server \"lpd\", trid tħaddem is-\n"
+"servizz \"cups-lpd\". %s għandu interfaċċji grafiċi biex tipprintja jew\n"
+"tissettja l-għażliet tal-printer.\n"
+"\n"
+"Jekk tagħmel għażla issa, u wara tiskopri li ma togħġbokx din is-sistema,\n"
+"tista' tibdilha billi tħaddem PrinterDrake miċ-ċentru tal-kontroll ta' \n"
+"Mageia u tikklikkja l-buttuna \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Espert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX issa se jfittex apparat IDE fuq il-kompjuter tiegħek. Huwa wkoll\n"
+"ifittex kard waħda jew iżjed SCSI PCI fuq is-sistema. Jekk tinstab kard\n"
+"SCSI, DrakX awtomatikament jinstalla d-drajver għaliha.\n"
+"\n"
+"Peress li dan il-proċess mhux dejjem isib ċerti apparat, DrakX jista' ma\n"
+"jsibx il-ħard disks tiegħek. F'dak il-każ trid tissettja l-ħardwer "
+"manwalment.\n"
+"\n"
+"Jekk trid tissettja l-adattur SCSI manwalment, DrakX jistaqsik jekk tridx \n"
+"tispeċifika għażliet għalih. Jaqbillek tħalli lill DrakX jeżamina l-ħardwer\n"
+"biex isir jaf liema għażliet għandu bżonn l-apparat biex jaħdem. Dan \n"
+"normalment jaħdem sew.\n"
+"\n"
+"Jekk DrakX mhux kapaċi jagħraf l-għażliet li jridu jiġu mgħoddija, trid\n"
+"tispeċifikahom manwalment lid-drajver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jekk tinstab kard ta' l-awdjo fuq is-sistema, tintwera hawn.\n"
+"Jekk tinduna li l-kard ta' l-awdjo murija mhix dik li għandek fis-sistema,\n"
+"tista' tikklikkja fuq il-buttuna u tagħżel drajver differenti."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Fit-tmiem, DrakX jippreżentalek sommarju ta' informazzjoni li ġabar dwar\n"
+"is-sistema. Skond il-ħardwer li hemm installat, jista' jkollok dawn l-\n"
+"elementi jew uħud minnhom. Kull element huwa magħmul mit-tagħmir li għandu\n"
+"jiġi konfigurat, u sommarju tal-konfigurazzjoni kurrenti. Klikkja fuq il-\n"
+"buttuna \"%s\" korrispondenti biex tagħmel tibdila.\n"
+"\n"
+" * \"%s\": iċċekkja t-taqsim tat-tastiera kurrenti u ibdilha jekk hemm\n"
+"bżonn.\n"
+"\n"
+" * \"%s\": iċċekkja l-għażla tal-pajjiż. Jekk m'intix f'dan il-pajjiż,\n"
+"klikkja l-buttuna \"%s\" u agħżel ieħor. Jekk il-pajjiż mhux fil-lista\n"
+"murija, klijja l-buttuna \"%s\" biex tikseb lista sħiħa ta' pajjiżi.\n"
+"\n"
+" * \"%s\": impliċitament, DrakX jiddeduċi ż-żona tal-ħin skond il-pajjiż\n"
+"li għażilt. Tista' tagħfas il-buttuna \"%s\" jekk dan mhux tajjeb.\n"
+"\n"
+" * \"%s\": ivverifika l-konfigurazzjoni tal-maws u klikkja l-buttuna biex\n"
+"tibdilha jekk hemm bżonn.\n"
+"\n"
+" * \"%s\": ikklikkja l-buttuna \"%s\" biex tħaddem is-saħħar tal-\n"
+"konfigurazzjoni tal-printer. Ikkonsulta l-kapitlu korrispondenti tal-manwal\n"
+"\"Starter Guide\" għal iżjed tagħrif dwar kif tissettja printer ġdid. L-\n"
+"interfaċċja ppreżentata fil-manwal hija simili għal dik użata waqt l-\n"
+"installazzjoni.\n"
+" * \"%s\": Jekk tinstab kard tal-awdjo fis-sistema, tintwera hawn. Jekk\n"
+"tinduna li l-kard murija mhix dik attwalment preżenti fis-sistema, tista'\n"
+"tikklikkja l-buttuna u tagħżel drajver differenti.\n"
+" * \"%s\": jekk għandek kard tat-TV, hawn tintwera informazzjoni dwar il-\n"
+"konfigurazzjoni tagħha. Jekk għandek kard tat-TV imma ma ngħarfitx \n"
+"awtomatikament, klikkja \"%s\" biex tissettjaha manwalment.\n"
+"\n"
+" * \"%s\": klikkja \"%s\" biex tibdel il-parametri assoċjati mal-kard jekk\n"
+"taħseb li l-konfigurazzjoni hija inkorretta.\n"
+"\n"
+" * \"%s\": impliċitament, DrakX jikkonfiguralek l-interfaċċja grafika\n"
+"f'reżoluzzjoni ta' 800x600 jew 1024x768. Jekk dan ma jgħoddx għalik, "
+"klikkha\n"
+"\"%s\" biex tikkonfigura l-interfaċċja grafika.\n"
+"\n"
+" * \"%s\": jekk tixtieq tikkonfigura l-aċċess għall-internet jew network\n"
+"lokali tista tagħmel dan issa. Irreferi għad-dokumentazzjoni stampata jew\n"
+"uża ċ-Ċentru tal-Kontroll Mageia wara li tlesti l-installazzjoni "
+"biex\n"
+"tikseb għajnuna online sħiħa.\n"
+"\n"
+" * \"%s\": jippermettilek tissettja indirizzi proxy għall-HTTP u FTP jekk "
+"il-\n"
+"kompjuter qiegħed wara server proxy.\n"
+"\n"
+" * \"%s\": dan l-element iħallik terġa' tiddefinixxi l-livell ta' sigurtà\n"
+"minn kif kien issettjat f'pass ta' qabel ().\n"
+"\n"
+" * \"%s\": jekk intenzjonat tqabbad il-kompjuter ma' l-internet, hija "
+"ideja \n"
+"tajba tipproteġi lilek innifsek minn intrużjonijiet billi tissettja "
+"firewall.\n"
+"Ikkonsulta s-sezzjoni korrispondenti fil-manwal \"Starter Guide\" għal "
+"iżjed\n"
+"dettalji dwar il-firewall.\n"
+"\n"
+" * \"%s\": jekk tixtieq tissettja l-konfigurazzjoni tal-bootloader, klikkja\n"
+"din il-buttuna. Dan għandu jsir minn utenti avvanzati biss. Irreferi għad-\n"
+"dokumentazzjoni stampata, jew l-għajnuna online dwar il-konfigurazzjoni "
+"tal-\n"
+"bootloader fiċ-Ċentru tal-Kontroll Mageia.\n"
+"\n"
+" * \"%s\": permezz ta' dan l-element tista' tirfina liema servizzi se \n"
+"jitħaddmu fuq il-kompjuter. Jekk qed tippjana li tuża l-kompjuter bħala \n"
+"server hija ideja tajba tirrevedi din is-sezzjoni."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Kard ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Kard ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaċċja grafika"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Agħżel liema ħard disk trid tħassar biex tinstalla l-partizzjonijiet tal-\n"
+"Mageia fuqha. Oqgħod attent, l-informazzjoni kollha fuq din id-\n"
+"diska jintilef u ma jkunx jista' jinġab lura!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klikkja fuq \"%s\" jekk trid tħassar l-informazzjoni u partizzjonijiet \n"
+"kollha li hemm fuq dan il-ħard disk. Oqgħod attent, wara li tagħfas \"%s\"\n"
+"ma tkunx tista' terġa' tikseb l-informazzjoni u partizzjonijiet li hemm\n"
+"fuq dan il-ħard disk, inkluż fajls tal-Windows.\n"
+"\n"
+"Klikkja \"%s\" biex twaqqaf dan il-proċess minngħajr ma tħassar\n"
+"l-informazzjoni u partizzjonijiet fuq dan il-ħard disk."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Li jmiss ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ta' qabel"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": jekk tagħfas il-buttuna \"%s\" jinfetaħ saħħar tal-"
+#~ "konfigurazzjoni \n"
+#~ "tal-printer. Ikkonsulta l-kapitlu korrispondenti tal-iStarter Guide għal "
+#~ "iżjed\n"
+#~ "tagħrif dwar kif tissettja printer ġdid. L-interfaċċja preżentata hawn "
+#~ "hija simili\n"
+#~ "għal dik użata waqt l-installazzjoni."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Dan huwa punt ta' deċiżjoni kruċjali għas-sigurtà tas-sistema GNU/Linux\n"
+#~ "tiegħek: trid tagħżel password għal \"root\". \"root\" huwa l-utent li\n"
+#~ "jintuża bħala amministratur tas-sistema, u huwa l-uniku user awtorizzat\n"
+#~ "li jaġġorna s-sistema, iżid utenti, jibdel il-konfigurazzjoni. eċċ. Fi "
+#~ "kliem\n"
+#~ "ieħor, \"root\" kapaċi jagħmel kollox! Għalhekk huwa importanti li "
+#~ "tagħżel\n"
+#~ "password li diffiċli biex taqtagħha: DrakX iwissik jekk tagħżel waħda "
+#~ "faċli\n"
+#~ "wisq. Kif tista' tinduna, huwa anke possibbli li ma ddaħħal xejn bħala "
+#~ "password,\n"
+#~ "imma dan huwa perikoluż ĦAFNA u aħna ma nirrikmandawh qatt. Peress li "
+#~ "\"root\"\n"
+#~ "jista' jegħleb kull limitazzjoni, saħansitra jħassar l-informazzjoni u \n"
+#~ "partizzjonijiet kollha, huwa mportanti li jkun diffiċli kemm jista' jkun "
+#~ "li\n"
+#~ "nies oħra jidħlu bħala \"root\".\n"
+#~ "\n"
+#~ "Il-password għandu jkun taħlita ta' ittri u numri, u ta' l-inqas twil 8 \n"
+#~ "karattri. M'għandek qatt tikteb il-password ta' \"root\" x'inkien - dan \n"
+#~ "jagħmilha faċli wisq tikkomprometti s-sistema.\n"
+#~ "\n"
+#~ "Fl-istess ħin tagħmilx il-password twil jew kumplikata wisq għax int "
+#~ "trid\n"
+#~ "tkun kapaċi tiftakarha.\n"
+#~ "\n"
+#~ "Il-password mhux se jintwera fuq l-iskrin waqt li tittajpjah. Għalhekk "
+#~ "trid\n"
+#~ "tittajpjah darbtejn biex jonqos iċ-ċans li tagħmel żball waqt li "
+#~ "tittajpja.\n"
+#~ "Jekk tagħmel l-istess żball darbtejn, trid tittajpja l-password b'dan il-"
+#~ "mod\n"
+#~ "sakemm tibdlu.\n"
+#~ "\n"
+#~ "Jekk trid tuża server ta' awtentikazzjoni biex jikkontrolla l-aċċess "
+#~ "għall-\n"
+#~ "kompjuter, agħfas il-buttuna \"%s\".\n"
+#~ "Jekk in-network tiegħek juża protokoll LDAP, NIS jew PDC tal-Windows\n"
+#~ "għall-awtentikazzjoni, agħżel dak li jgħodd għal \"%s\". Jekk ma tafx, "
+#~ "staqsi \n"
+#~ "lill-amministratur tan-network.\n"
+#~ "\n"
+#~ "Jekk għandek problema tiftakar il-passwords, jew jekk il-kompjuter qatt "
+#~ "m'hu\n"
+#~ "se jiġi mqabbad ma' l-internet u assolutament tafda lil kull min juża l-"
+#~ "kompjuter,\n"
+#~ "tista' tagħżel \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "awtentikazzjoni"
diff --git a/perl-install/install/help/po/nb.po b/perl-install/install/help/po/nb.po
new file mode 100644
index 000000000..2efa2febd
--- /dev/null
+++ b/perl-install/install/help/po/nb.po
@@ -0,0 +1,1976 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# Karl Morten Ramberg <karl.m.ramberg@gmail.com>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Karl Morten Ramberg <karl.m.ramberg@gmail.com>, 2024\n"
+"Language-Team: Norwegian Bokmål (https://app.transifex.com/MageiaLinux/"
+"teams/9361/nb/)\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Før du fortsetter, bør du lese vilkårene for lisensen nøye. Den\n"
+"dekker hele Mageia-distribusjonen. Hvis du er enig i alle\n"
+"vilkårene den inneholder, merk av for \"%s\"-boksen. Hvis ikke, klikk på "
+"\"%s\"\n"
+"knappen vil starte datamaskinen på nytt."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er ett flerbrukersystem, og dette betyr at hver bruker kan ha\n"
+"sine egne instillinger, sine egne filer osv. Du kan lese ``Starter "
+"Guide'''n\n"
+"for å lære mer om flerbrukersystemer.\n"
+" Men i motsetning til 'root', som er\n"
+"systemadministratoren, så vil brukerne du legger til her ikke ha rett til å\n"
+"forandre noe annet enn deres egne filer og oppsett, noe som\n"
+"beskytte systemet for uheldige eller skumle forandringer som endrer\n"
+"hele systemet. Du må lage minst en bruker for deg selv -- denne kontoen\n"
+"bør du bruke rutinemessig, for hverdagslig bruk. Selv om det er praktisk å\n"
+"logge inn som \"root\" for å gjøre alt mulig hver dag, kan det også være\n"
+"veldig farlig! Den minste feil kan bety at systemet ditt ikke lenger vil "
+"fungere.\n"
+"Hvis du gjør en stor feil som en vanlig bruker, så er det verste som kan "
+"skje\n"
+"at du mister noe informasjon, men det vil ikke påvirke hele systemet.\n"
+"\n"
+"Det første feltet spørr etter ditt virkelige navn. Dette er selvfølgelig "
+"ikke nødvendig\n"
+"-- du kan faktisk skrive inn hva du vil. DrakX vil ta det første ordet du "
+"legger inn\n"
+"og kopiere det til \"%s\"-feltet, som er det navnet den brukeren vil bruke\n"
+"for å logge seg på systemet. Hvis du vil, så kan du endre brukernavnet. Det\n"
+"neste steget blir å sette et passord. Fra ett sikkerhetsmessig åsyn, så er "
+"ikke\n"
+"en upriviligiert (vanlig) brukers passord så kritisk som \"root\"-passordet, "
+"men\n"
+"det er ingen grunn til å neglisere det ved å gjøre det blankt eller for "
+"enkelt:\n"
+"tross alt, det kan være dine filer som ligger i faresonen.\n"
+"\n"
+"Når du klikker på \"%s\", så kan du legge til flere brukere. Legg feks. til "
+"en for hver\n"
+"av dine venner, din far eller din søster .\n"
+"Klikk \"%s\" når du er ferdig med å legge til brukere.\n"
+"\n"
+"Ved å klikke på \"%s\"-knappen kan du forandre hvilket \"skall\" brukeren "
+"har\n"
+"som standard (det vanlige er bash).\n"
+"\n"
+"Når du er ferdig med å legge til brukere, så kan du velge en bruker som kan\n"
+"automatisk logge seg på systemet når maskinen starter opp. Hvis du er\n"
+"interessert i denne finessen (og ikke bryr deg mye om lokal sikkerhet),\n"
+"så velg den ønskede brukeren og vindushåndtereren, så klikk på \"%s\".\n"
+"Hvis du ikke er interessert i denne finessen, sjekk ut \"%s\"-boksen."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Brukernavn"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Godta bruker"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønsker du å bruke denne finessen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er de eksisterende Linux-partisjonene som ble oppdaget på din harddisk.\n"
+"Du kan beholde valgene som er gjort av veiviseren, de er gode for de fleste\n"
+"vanlige installasjoner. Hvis du endrer disse valgene, må du i hvertfall "
+"definere\n"
+"en root-partisjon (\"/\"). Ikke velg for liten partisjon ellers vil du ikke "
+"kunne\n"
+"installere nok programvare. Hvis du ønsker å lagre dine data på en separat\n"
+"partisjon må du også velge en \"/home\"-partisjon (bare mulig hvis du har "
+"mer\n"
+"enn en Linux partisjon tilgjengelig).\n"
+"\n"
+"Hver partisjon er listet som følger: \"Navn\", \"Kapasitet\".\n"
+"\n"
+"\"Navn\" er strukturert som følger: \"harddisktype\", \"harddisknummer\",\n"
+"\"partisjonsnummer\" (feks. \"hda1\").\n"
+"\n"
+"\n"
+"\"Harddisktype\" er \"hd\" hvis harddisken din er en IDE-harddisk og \"sd\"\n"
+"hvis det er en SCSI-harddisk.\n"
+"\n"
+"\"Harddisknummer\" er alltid en bokstav etter \"hd\" eller \"sd\". For\n"
+"IDE-harddisker:\n"
+"\n"
+" * \"a\" betyr \"master harddisk på primær IDE-kontroller\",\n"
+"\n"
+" * \"b\" betyr \"slave harddisk på primær IDE-kontroller\",\n"
+"\n"
+" * \"c\" betyr \"master harddisk på sekundær IDE-kontroller\",\n"
+"\n"
+" * \"d\" betyr \"slave harddisk på sekundær IDE-kontroller\".\n"
+"\n"
+"\n"
+"Med SCSI-harddisker, en \"a\" betyr \"laveste SCSI-ID\", en \"b\" betyr "
+"\"nest laveste SCSI-ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia-installasjonen er distribuert på flere CD-ROM-er. Hvis en\n"
+"valgt pakke er plassert på en annen CD-ROM, vil DrakX løse ut strømmen\n"
+"CD og ber deg sette inn den nødvendige. Hvis du ikke har den forespurte\n"
+"CD for hånden, bare klikk på \"%s\", de tilsvarende pakkene vil ikke\n"
+"installeres."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det er nå på tide å spesifisere hvilke programmer du ønsker å installere på "
+"systemet ditt.\n"
+"Det er tusenvis av pakker tilgjengelig for Mageia, og for å lage det\n"
+"enklere å administrere, de har blitt plassert i grupper med lignende\n"
+"applikasjoner..\n"
+"\n"
+"Mageia sorterer pakkegrupper i fire kategorier. Du kan blande og\n"
+"matche applikasjoner fra de forskjellige kategoriene, så en "
+"\"arbeidsstasjon\"\n"
+"installasjonen kan fortsatt ha applikasjoner fra kategorien ``Server''\n"
+"installert.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Oppgrader"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grunnleggende dokumentasjon"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Virkelig minimal installasjon"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Hvis du velger å installere pakker individuelt, vil installasjonsprogrammet "
+"vises\n"
+"et tre som inneholder alle pakker klassifisert etter grupper og "
+"undergrupper. Mens\n"
+"NÃ¥r du blar gjennom treet, kan du velge hele grupper, undergrupper eller "
+"enkeltpersoner\n"
+"pakker.\n"
+"\n"
+"Hver gang du velger en pakke i treet, vil en beskrivelse vises på\n"
+"høyre side som viser deg formålet med den pakken.\n"
+"\n"
+"!! Hvis en serverpakke er valgt, enten fordi du spesifikt\n"
+"valgte den individuelle pakken eller fordi den er en del av en gruppe av "
+"pakker,\n"
+"vil du bli bedt om å bekrefte at du virkelig vil at disse pakkene skal "
+"installeres. Som standard vil Mageia automatisk starte alle installerte\n"
+"tjenester ved oppstart. Selv om de er trygge og ikke har noen kjente "
+"problemer på\n"
+"den tiden distribusjonen ble sendt, er det fullt mulig at\n"
+"sikkerhetshull ble oppdaget etter at denne versjonen av Mageia ble utgitt. "
+"Hvis du ikke vet hva en bestemt tjeneste skal gjøre eller\n"
+"hvorfor det blir installert, klikk deretter \"%s\". Ved å klikke på \"%s\" "
+"installeres\n"
+"de listede tjenestene, og de vil startes automatisk ved oppstart. !!\n"
+"\n"
+"Alternativet \"%s\" brukes til å deaktivere advarselsdialogen som vises\n"
+"når installasjonsprogrammet automatisk velger en pakke for å løse et\n"
+"avhengighetsproblem. Noen pakker avhenger av andre og installasjonen av\n"
+"én bestemt pakke kan kreve installasjon av en annen pakke. De\n"
+"installasjonsprogrammet kan bestemme hvilke pakker som kreves for å "
+"tilfredsstille en avhengighet for å fullføre installasjonen.\n"
+"\n"
+"Det lille diskettikonet nederst på listen lar deg laste inn en\n"
+"pakkeliste opprettet under en tidligere installasjon. Dette er nyttig hvis "
+"du\n"
+"har en rekke maskiner som du ønsker å konfigurere identisk. Klikker\n"
+"på dette ikonet vil du be deg om å sette inn disketten som ble opprettet på "
+"slutten av\n"
+"en annen installasjon. Se det andre tipset i det siste trinnet om hvordan du "
+"oppretter\n"
+"en slik diskett."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiske avhengigheter"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denne dialogen benyttes til å velge hvilke tjenester som skal startes når\n"
+"maskinen startes opp.\n"
+"\n"
+"DrakX vil liste opp alle tjenestene som er tilgjengelige i den gjeldende "
+"installasjonen.\n"
+"Gå nøye gjennom hver enkelt og fjern haken på de som ikke er nødvendige å\n"
+"starte.\n"
+"\n"
+"En kort forklarende tekst vil vises for hver tjeneste når de velges. Dersom "
+"du\n"
+"ikke er sikker på om en tjeneste er nødvendig, er det sikrest å la det\n"
+"forhåndsvalgte alternativet stå.\n"
+"\n"
+"!! på dette tidspunktet bør du være forsiktig dersom du ønsker å bruke "
+"maskinen\n"
+"som tjener: Du vil sannsynligvis ikke ønske å starte tjenester som du ikke "
+"trenger.\n"
+"Husk at noen tjenester kan representere en sikkerhetsrisiko dersom de er\n"
+"tilgjengelige på en tjener. Generelt bør du kun skru på tjenester som du "
+"trenger.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux passer tiden i GMT (Greenwich Mean Time), og oversetter denne\n"
+"til lokal tid avhengig av tidssonen du valgte. Dersom klokka på ditt "
+"hovedkort\n"
+"er satt til lokal tid, kan du deaktivere dette ved å velge bort «%s»,\n"
+"som lar GNU/Linux vite at systemklokka og maskinvareklokka\n"
+"er i samme tidssone. Dette er nyttig når maskinen din har andre\n"
+"operativsystemer slik som Windows.\n"
+"\n"
+"«%s»-valget vil stille klokka di ved å koble seg til en ekstern tidstjener\n"
+"på internett. For at dette skal fungere, må du ha en internettforbindelse "
+"som\n"
+"fungerer. Det er best å velge en tidstjener som er i nærheten av deg. Dette\n"
+"valget installerer dessuten en tidstjener som kan brukes av andre maskiner\n"
+"på ditt lokale nettverk."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Maskinvareklokke satt til GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Skjermkort\n"
+"\n"
+" Installasjonsprogrammet vil vanligvis automatisk finne og sette opp "
+"skjermkortet\n"
+"som er installert på din maskin. Hvis dette ikke lar seg gjøre, kan du "
+"velge\n"
+"hva slags kort du har i denne listen.\n"
+"\n"
+" I tilfelle det er flere tjenere tilgjengelige for ditt kort, med eller "
+"uten\n"
+"3D-akselerasjon, blir du bedt om å velge tjeneren som passer dine behov\n"
+"best."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (for X Window System) er hjertet i GNU/Linux grafiske grensesnitt\n"
+"der alle de grafiske miljøene (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) sammen med Mageia stole på.\n"
+"\n"
+"Du vil se en liste over forskjellige parametere som skal endres for å få en "
+"optimal\n"
+"grafisk visning.\n"
+"\n"
+"Grafikkort\n"
+"\n"
+"Installasjonsprogrammet vil normalt automatisk oppdage og konfigurere\n"
+"grafikkortet installert på maskinen din. Hvis dette ikke er riktig, kan du\n"
+"velg fra denne listen kortet du faktisk har installert.\n"
+"\n"
+"I situasjonen der forskjellige servere er tilgjengelige for kortet ditt,\n"
+"med eller uten 3D-akselerasjon, blir du bedt om å velge hvilken server\n"
+"passer best til dine behov.\n"
+"\n"
+"\n"
+"\n"
+"Overvåk\n"
+"\n"
+"Normalt vil installasjonsprogrammet automatisk oppdage og konfigurere\n"
+"monitor koblet til maskinen din. Hvis det ikke er riktig, kan du velge\n"
+"fra denne listen skjermen som er koblet til datamaskinen.\n"
+"\n"
+"\n"
+"\n"
+"Oppløsning\n"
+"\n"
+"Her kan du velge oppløsninger og fargedybder som er tilgjengelige for din\n"
+"grafikk maskinvare. Velg den som best passer dine behov (det vil du være\n"
+"kan gjøre endringer etter installasjonen). Et utvalg av de utvalgte\n"
+"konfigurasjonen vises på monitorbildet.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+"Avhengig av maskinvaren din, kan det hende at denne oppføringen ikke vises.\n"
+"\n"
+"Systemet vil prøve å åpne en grafisk skjerm på ønsket\n"
+"oppløsning. Hvis du ser testmeldingen under testen og svarer \"%s\",\n"
+"så vil DrakX gå videre til neste trinn. Hvis du ikke ser det, så det\n"
+"betyr at en del av den automatisk oppdagede konfigurasjonen var feil og\n"
+"testen avsluttes automatisk etter 12 sekunder og returnerer deg til\n"
+"meny. Endre innstillinger til du får en korrekt grafisk visning.\n"
+"\n"
+"\n"
+"\n"
+"Alternativer\n"
+"\n"
+"Disse trinnene lar deg velge om du vil at maskinen skal gjøre det\n"
+"automatisk bytte til et grafisk grensesnitt ved oppstart. Det er klart du "
+"kan\n"
+"ønsker å sjekke \"%s\" om maskinen din skal fungere som en server, eller om "
+"du var det\n"
+"ikke lykkes med å få skjermen konfigurert."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjerm\n"
+"\n"
+" Installereren kan vanligvis automatisk oppdage og sette opp\n"
+"skjermen som er koblet til maskinen din. Dersom dette ikke fungerer, kan\n"
+"du velge fra denne lista hvilken skjerm du faktisk har tilkobliet din maskin."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Oppløsning\n"
+"\n"
+" Her kan du velge oppløsning og fargedybde blant de som er tilgjengelige\n"
+"for din maskinvare. Velg den du synes passer best til dine behov (du kan\n"
+"forandre dette etter installasjon). En prøve av det valgte oppsettet\n"
+"er vist i skjermen."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"I tilfelle det er flere tjenere tilgjengelig for ditt kort, med eller uten\n"
+"3D-akselerasjon, blir du så spurt om å velge den tjeneren som best\n"
+"passer dine behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Valg\n"
+"\n"
+" Dette steget lar deg velge om du vil starte et grafisk grensesnitt "
+"automatisk\n"
+"under oppstart. Du vil selvsagt ønske å svare «%s» dersom maskinen skal\n"
+"fungere som tjener, eller hvis du ikke kunne sette opp det grafiske "
+"grensesnittet."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Du må nå bestemme hvor på harddisken du vil installere Mageia "
+"operativsystemet. Hvis harddisken er tom eller hvis et eksisterende "
+"operativsystem bruker all tilgjengelig plass må du partisjonere enheten. I "
+"utgangspunktet betyr partisjonering av en harddisk  logisk å dele den for å "
+"skape plassen som trengs for å installere den nye Mageia systemet.\n"
+"\n"
+"Fordi prosessen med å partisjonere en harddisk vanligvis er irreversibel og "
+"kan føre til tap av data, kan partisjoneringen være skremmende og stressende "
+"for en uerfarne bruker. Heldigvis inkluderer DrakX en veiviser som forenkler "
+"denne prosessen. Før du fortsetter med dette trinnet, les gjennom resten av "
+"denne delen og fremfor alt, ta deg god tid.\n"
+"\n"
+"Avhengig av konfigurasjonen av harddisken, er det flere alternativer "
+"tilgjengelig: \n"
+" * \"%s\". Dette alternativet vil utføre en automatisk partisjonering av den "
+"tomme delen disk(er). Hvis du bruker dette alternativet vil det ikke være "
+"flere spørsmål.\n"
+" * \"%s\". Veiviseren har oppdaget en eller flere eksisterende Linux-"
+"partisjoner på harddisken din. Hvis du vil bruke dem, velg dette "
+"alternativet. Du vil da bli bedt om å velge monteringspunktene knyttet til "
+"hver enkelt av partisjonene.\n"
+"De eldre monteringspunktene er valgt som standard, og for det meste er det "
+"det en god idé å beholde dem.\n"
+"* \"%s\". Hvis Microsoft Windows er installert på harddisken og tar all "
+"plassen som er tilgjengelig på den, må du frigjøre ledig plass forGNU/Linux. "
+"For å gjøre det kan du slette Microsoft Windows-partisjonen og data (se "
+"løsningen ``Slett hele disken'') eller endre størrelsen på Microsoft "
+"Windows\n"
+"FAT- eller NTFS-partisjon. Endre størrelse kan utføres uten tap av data, "
+"forutsatt at du tidligere har defragmentert Windows-partisjonen.\n"
+"\n"
+"Det anbefales på det sterkeste å sikkerhetskopiere dataene dine. Å bruke "
+"dette alternativet anbefales hvis du vil bruke både Mageia og Microsoft "
+"Windows på samme datamaskin.\n"
+"\n"
+"Før du velger dette alternativet, vennligst forstå at det etter denne "
+"prosedyren, vil størrelsen på Microsoft Windows-partisjonen være mindre enn "
+"da du startet. Du vil ha mindre ledig plass under Microsoft Windows til å "
+"lagre dataene dine eller for å installere ny programvare.\n"
+"\n"
+" * \"%s\". Hvis du ønsker å slette alle data og alle partisjoner som finnes "
+"på harddisken og erstatte dem med ditt nye Mageia-system, velg dette "
+"alternativet. Vær forsiktig, for du vil ikke kunne angre denne operasjonen "
+"etter at du har bekreftet.\n"
+"\n"
+" !! Hvis du velger dette alternativet, vil alle data på disken slettes. !!\n"
+" * \"%s\". Dette alternativet vises når harddisken er fullstendig tatt av "
+"Microsoft Windows. Ã… velge dette alternativet vil ganske enkelt slette alt.\n"
+"\n"
+" !! Hvis du velger dette alternativet, vil alle data på disken gå tapt. !!\n"
+"\n"
+" * \"\"%s. Velg dette alternativet hvis du vil manuelt partisjonere disken. "
+"Vær forsiktig - det er et kraftig, men farlig valg, og du kan veldig fort "
+"miste alle dataene dine. Derfor kan dette alternativet egentlig bare "
+"anbefales hvis du har gjort noe slikt før og har erfaring. For flere "
+"instruksjoner om hvordan du bruker DiskDrake-verktøyet, Se avsnittet "
+"``Administrere partisjonene dine'' i ``Starter Guide''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Bruk eksisterende partisjon"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Bruk den ledige plassen på Microsoft Windows®-partisjonen"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slette hele disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Sånn! Installasjonen er nå ferdig og ditt flunkende nye GNU/Linux system\n"
+"er nå klart til bruk. Bare klikk «%s» for å restarte systemet. Ikke glem å\n"
+"fjerne installasjonsmediet (CDROM eller diskett). Det første du vil\n"
+"se etter at maskinen er ferdig med maskinvaretestene er oppstartslasterens\n"
+"meny, som lar deg velge hvilket operativsystem du vil starte.\n"
+"\n"
+"«%s»-knappen vil vise to nye knapper:\n"
+"\n"
+" * «%s»: for å lage en installasjonsdiskett som automatisk vil utføre en\n"
+"hel installasjon uten operatørhjelp, helt lik den installasjonen du nettopp "
+"har utført.\n"
+"\n"
+" Merk at to forskjellige valg vil være tilgjengelige etter at knappen "
+"trykkes:\n"
+"\n"
+" * «%s»: Dette er en delvis automatisert installasjon. Partisjonering er\n"
+"den eneste interaktive prosedyren.\n"
+"\n"
+" * «%s»: Dette er en fullstendig automatisert installasjon: harddisken "
+"vil bli\n"
+"helt overskrevet, og alle data vil bli overskrevet.\n"
+"\n"
+" Denne funksjonen er nyttig når du skal installere et antall identiske "
+"maskiner.\n"
+"Se Auto-installasjonsavsnittet på våre websider for mer informasjon.\n"
+"\n"
+" * «%s» (*): lagrer en liste over pakkene som er blitt installert under "
+"denne\n"
+"installasjonen. For å benytte denne listen under en annen installasjon, sett "
+"inn\n"
+"disketten og start installasjonen. NÃ¥r kommandopromptet kommer opp, trykk "
+"på\n"
+"[F1]-tasten og skriv: \"linux defcfg=\"floppy\" <<\n"
+"\n"
+"(*) Du trenger en FAT-formatert diskett (for å lage en under GNU/Linux, "
+"skriv\n"
+"«mformat a:», eller «fdformat /dev/fd0» etterfulgt av «mkfs.vfat\n"
+"/dev/fd0»."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generer autoinstallasjonsdiskett"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Spill på nytt"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatisert"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Lagre pakkevalg"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Hvis du velger å gjenbruke eldre GNU/Linux-partisjoner, kan det være lurt å "
+"re- formatere de på nytt og slett alle data de inneholder. For å gjøre det, "
+"velg disse partisjonene også.\n"
+"\n"
+"Vær oppmerksom på at det ikke er nødvendig å re-formatere alle eksisterende\n"
+"partisjoner. Du må formatere partisjonene som inneholder operativsystemet "
+"(som \"/\", \"/usr\" eller \"/var\"), men du trenger ikke å formatere på "
+"nytt partisjoner som inneholder data du ønsker å beholde (vanligvis \"/"
+"home\").\n"
+"\n"
+"Vær forsiktig når du velger partisjoner. Etter formateringen er fullført, "
+"vil alle data på de valgte partisjonene bli slettet og du vil ikke kunne "
+"gjenopprette den.\n"
+"\n"
+"Klikk på \"%s\" når du er klar til å formatere partisjonene.\n"
+"\n"
+"Klikk på \"%s\" hvis du vil velge en annen partisjon for din nye "
+"Installasjon av Mageia operativsystemet.\n"
+"\n"
+"Klikk på \"%s\" hvis du ønsker å velge partisjoner som skal sjekkes for "
+"dårlige blokker på disken."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Før du installerer Mageia, er det sannsynlig at noen pakker har blitt "
+"oppdatert siden den første utgivelsen. Feil kan ha blitt fikset, "
+"sikkerhetsproblemer løst. For å la deg dra nytte av disse oppdateringene, "
+"kan du nå laste dem ned fra Internett. Sjekk \"%s\" hvis du\n"
+"har en fungerende Internett-tilkobling, eller \"\"%s hvis du foretrekker å "
+"installere oppdaterte pakker senere.\n"
+"\n"
+"Hvis du velger \"%s\" vil du vise en liste over nettplasseringer som "
+"oppdateringer kan fra bli hentet. Du bør velge en nær deg. Et tre for "
+"pakkevalg vil vises: gå gjennom utvalget, og trykk \"%s\" for å hente og "
+"installere den(ne) valgte pakken(e), eller \"%s\" for å avbryte."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"På dette tidspunktet lar DrakX deg velge sikkerhetsnivået du ønsker\n"
+"for maskinen din. Som en tommelfingerregel bør sikkerhetsnivået settes "
+"høyere hvis maskinen skal inneholde kritiske data, eller om den skal være "
+"direkte eksponert mot Internett. Avveiningen om et høyere sikkerhetsnivå er "
+"vanligvis oppnådd på bekostning av brukervennlighet.\n"
+"\n"
+"Hvis du ikke vet hva du skal velge, beholder du standardalternativet. Du vil "
+"kunne endre det senere med draksec-verktøyet, som er en del av Mageia "
+"Kontrollsenter.\n"
+"\n"
+"Fyll \"%s\"-feltet med e-postadressen til den ansvarlige for sikkerhet. "
+"Sikkerhetsmeldinger vil bli sendt til den adressen."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sikkerhetsadministrator"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"På dette tidspunktet må du velge hvilken(e) partisjon(er) som skal brukes "
+"til\n"
+"installasjonen av ditt Mageia-system. Hvis partisjoner allerede har vært\n"
+"definert, enten fra en tidligere installasjon av GNU/Linux eller av et "
+"annet\n"
+"partisjoneringsverktøy, kan du bruke eksisterende partisjoner. Ellers må "
+"disk\n"
+"partisjoner defineres.\n"
+"\n"
+"For å lage partisjoner må du først velge en harddisk. Du kan velge disken "
+"for partisjonering ved å klikke på ``hda'' for den første IDE-stasjonen,"
+"``hdb'' for den andre, ``sda'' for den første SCSI-stasjonen og så videre.\n"
+"\n"
+"For å partisjonere den valgte harddisken kan du bruke disse alternativene:\n"
+"\n"
+"* \"%s\": dette alternativet sletter alle partisjoner på den valgte "
+"harddisken\n"
+"\n"
+"* \"%s\": dette alternativet lar deg automatisk opprette ext4 og bytte\n"
+"partisjoner i den ledige plassen på harddisken\n"
+"\n"
+"\"%s\": gir tilgang til tilleggsfunksjoner:\n"
+"\n"
+"* \"%s\": lagrer partisjonstabellen til en diskett. Nyttig for senere "
+"gjenoppretting av partisjonstabell om nødvendig. Det anbefales på det "
+"sterkeste at du utfører dette trinnet.\n"
+"\n"
+"* \"%s\": lar deg gjenopprette en tidligere lagret partisjonstabell fra en "
+"diskett.\n"
+"\n"
+"* \"%s\": hvis partisjonstabellen din er skadet, kan du prøve å gjenopprette "
+"den\n"
+"ved å bruke dette alternativet. Vær forsiktig og husk at det ikke alltid "
+"fungerer\n"
+"\n"
+"* \"%s\": forkaster alle endringer og laster inn partisjonstabellen som var\n"
+"opprinnelig på harddisken.\n"
+"\n"
+"* \"%s\": fjerner du merket for dette alternativet tvinges brukere til å "
+"montere, og manuelt\n"
+"demonter flyttbare medier som disketter og CD-ROMer.\n"
+"\n"
+"* \"%s\": bruk dette alternativet hvis du ønsker å bruke en veiviser for å "
+"partisjonere\n"
+"harddisken din. Dette anbefales hvis du ikke har god forståelse for "
+"partisjonering.\n"
+"\n"
+"* \"%s\": bruk dette alternativet for å avbryte endringene.\n"
+"\n"
+"* \"%s\": tillater flere handlinger på partisjoner (type, alternativer, "
+"format) og gir mer informasjon om harddisken.\n"
+"\n"
+"* \"%s\": når du er ferdig med å partisjonere harddisken, vil dette\n"
+"lagre endringene tilbake til disken.\n"
+"\n"
+"Når du definerer størrelsen på en partisjon, kan du fint angi partisjonen\n"
+"størrelse ved å bruke piltastene på tastaturet.\n"
+"\n"
+"Merk: du kan nå alle alternativer ved å bruke tastaturet. Naviger gjennom\n"
+"partisjoner ved å bruke [Tab] og [Opp/Ned]-pilene.\n"
+"\n"
+"NÃ¥r en partisjon er valgt, kan du bruke:\n"
+"\n"
+"* Ctrl-c for å opprette en ny partisjon (når en tom partisjon er valgt)\n"
+"\n"
+"* Ctrl-d for å slette en partisjon\n"
+"\n"
+"* Ctrl-m for å angi monteringspunktet\n"
+"\n"
+"For å få informasjon om de forskjellige filsystemtypene som er "
+"tilgjengelige, vennligst\n"
+"les ext2FS-kapittelet fra ``Reference Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Lagre partisjonstabell"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Gjenopprett partisjonstabell"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Redningspartisjonstabell"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontering av fjernbart media"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Veiviser"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Angre"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skift mellom normal-/ekspert-modus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mer enn én Microsoft-partisjon har blitt oppdaget på harddisken.\n"
+"Vennligst velg den du vil endre størrelsen på for å installere det nye\n"
+"Operativsystemet Mageia.\n"
+"\n"
+"Hver partisjon er oppført som følger: \"Linux-navn\", \"Windows-navn\"\n"
+"\"Kapasitet\".\n"
+"\n"
+"\"Linux-navn\" er strukturert: \"harddiskstasjonstype\", "
+"\"harddiskstasjonsnummer\",\n"
+"\"partisjonsnummer\" (for eksempel \"hda1\").\n"
+"\n"
+"\"Harddisk drive type\" er \"hd\" hvis harddisken din er en IDE-harddisk og\n"
+"\"sd\" hvis det er en SCSI-harddisk.\n"
+"\n"
+"\"Harddisknummer\" er alltid en bokstav etter \"hd\" eller \"sd\". Med IDE\n"
+"harddisker:\n"
+"\n"
+"* \"a\" betyr \"hovedharddisk på den primære IDE-kontrolleren\";\n"
+"\n"
+"* \"b\" betyr \"slave-harddisk på den primære IDE-kontrolleren\";\n"
+"\n"
+"* \"c\" betyr \"hovedharddisk på den sekundære IDE-kontrolleren\";\n"
+"\n"
+"* \"d\" betyr \"slave-harddisk på den sekundære IDE-kontrolleren\".\n"
+"\n"
+"Med SCSI-harddisker betyr en \"a\" \"laveste SCSI-ID\", en \"b\" betyr\n"
+"\"nest laveste SCSI ID\" osv.\n"
+"\n"
+"\"Windows-navn\" er bokstaven på harddisken din under Windows (den første\n"
+"disk eller partisjon kalles \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: Sjekk ditt valg av land. Dersom du ikke befinner deg i dette landet,\n"
+"klikk på «%s»-knappen og velg et annet. Dersom ditt land ikke er i\n"
+"den første lista, klikk på «%s»\"-knappen for å få den fullstendige lista\n"
+" over land."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Dette trinnet aktiveres bare hvis en eksisterende GNU/Linux-partisjon har "
+"blitt\n"
+"funnet på maskinen din.\n"
+"\n"
+"DrakX trenger nå å vite om du vil utføre en ny installasjon eller en\n"
+"oppgradering av et eksisterende Mageia-system:\n"
+"\n"
+"* \"%s\". For det meste utsletter dette det gamle systemet fullstendig.\n"
+"Avhengig av partisjoneringsskjemaet ditt kan du imidlertid forhindre noen "
+"av\n"
+"dine eksisterende data (spesielt \"hjemmekataloger\") fra å bli "
+"overskrevet.\n"
+"Hvis du ønsker å endre hvordan harddiskstasjonene er partisjonert, eller å "
+"endre\n"
+"filsystemet, bør du bruke dette alternativet.\n"
+"\n"
+"* \"%s\". Denne installasjonsklassen lar deg oppdatere pakkene\n"
+"installert på ditt Mageia-system. Din nåværende partisjonering\n"
+"skjema og brukerdata vil ikke bli endret. Det meste av den andre "
+"konfigurasjonen\n"
+"trinn forblir tilgjengelige og ligner på en standardinstallasjon.\n"
+"\n"
+"Å bruke alternativet \"Oppgradering\" bør fungere fint på Mageia-systemer\n"
+"kjører versjon \"8.1\" eller nyere. Utføre en oppgradering på tidligere "
+"versjoner\n"
+"til Mageia versjon \"8.1\" anbefales ikke."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Avhengig av standardspråket du har valgt, vil DrakX automatisk velge\n"
+"et tilsvarende tastaturoppsett. Sjekk at valget passer deg, eller velg\n"
+"et annet tastaturoppsett.\n"
+"\n"
+"Det kan også hende at du ikke har et tastatur som passer presist \n"
+"til ditt språk.\n"
+"Hvis du for eksempel er en engelsktalende sveitsisk person, kan\n"
+"det være at du har et sveitsisk tastatur, eller hvis du snakker engelsk, "
+"men\n"
+"oppholder deg i Quebec så kan du finne deg i den samme situasjonen hvor\n"
+"ditt eget språk og tastatur ikke stemmer overens. I slike tilfeller vil "
+"dette\n"
+"installasjonstrinnet la deg velge et passende tastatur fra en liste.\n"
+"\n"
+"Klikk på «%s»-knappen for å få en komplett liste over støttede tastaturer.\n"
+"\n"
+"Hvis du velger et tastatur som ikke er basert på det latinske alfabetet,\n"
+"vil den neste dialogen tillate at du setter opp en tastekombinasjon\n"
+"som vil bytte mellom latin og ikke-latinsk tastaturoppsett."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Det første trinnet er å velge ditt foretrukne språk.\n"
+"\n"
+"Ditt valg av foretrukket språk vil påvirke installasjonsprogrammet\n"
+"dokumentasjon og systemet generelt. Velg først regionen du er i, deretter "
+"språket du snakker.\n"
+"\n"
+"Ved å klikke på \"%s\"-knappen kan du velge andre språksom skal\n"
+"installeres på arbeidsstasjonen din, og installerer derved de "
+"språkspesifikke\n"
+"filer for systemdokumentasjon og applikasjonene. For eksempel hvis spanske\n"
+"brukere skal bruke maskinen din, velg engelsk som standardspråk på\n"
+"trevisningen og \"%s\" i Avansert-delen.\n"
+"\n"
+"Om UTF-8 (unicode) støtte: Unicode er en ny tegnkoding ment å\n"
+"dekker alle eksisterende språk. Men full støtte for det i GNU/Linux er\n"
+"fortsatt under utvikling. Av den grunn vil Mageias bruk av UTF-8\n"
+"avhenger av brukerens valg:\n"
+"\n"
+"* Hvis du velger et språk med en sterk eldre koding (latin1\n"
+"språk, russisk, japansk, kinesisk, koreansk, thai, gresk, tyrkisk, de "
+"fleste\n"
+"iso-8859-2 språk), vil den eldre kodingen brukes som standard;\n"
+"\n"
+"* Andre språk vil bruke unicode som standard;\n"
+"\n"
+"* Hvis to eller flere språk kreves, og disse språkene ikke brukes\n"
+"den samme kodingen, så vil unicode brukes for hele systemet;\n"
+"\n"
+"* Til slutt kan unicode også tvinges til bruk i hele systemet på en\n"
+"brukerens forespørsel ved å velge alternativet \"%s\" uavhengig av hvilket\n"
+"språk som ble valgt.\n"
+"\n"
+"Merk at du ikke er begrenset til å velge ett enkelt ekstra språk. Du\n"
+"kan velge flere, eller til og med installere dem alle ved å velge \"%s\"-"
+"boksen.\n"
+"Å velge støtte for et språk betyr oversettelser, fonter, stavekontroller,\n"
+"etc. vil også bli installert for det språket.\n"
+"\n"
+"For å bytte mellom de forskjellige språkene som er installert på systemet "
+"ditt, kan du\n"
+"start \"localedrake\"-kommandoen som \"root\" for å endre språket som "
+"brukes\n"
+"av hele systemet. Å kjøre kommandoen som en vanlig bruker vil bare\n"
+"endre språkinnstillingene for den aktuelle brukeren."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Bruk Unicode som standard"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX oppdager vanligvis antall knapper på musen din. Hvis ikke, så vil det\n"
+"antas at du har en to-knappers mus og det vil settes opp treknappers-"
+"emulering.\n"
+"Den tredje museknappen kan på en toknappers-mus bli brukt ved å\n"
+"trykke ned både høyre og venstre museknapp samtidig. DrakX vil\n"
+"automatisk oppdage om din mus bruker PS/2-, seriell- eller USB-grensesnitt.\n"
+"\n"
+"Hvis du har en 3-knappsmus uten hjul, kan du velge musen\n"
+"«%s». DrakX vil så konfugurere musen din så du kan simulere hjulet med den;\n"
+"for å gjøre dette skal du trykke på den tredje knappen og flytte musen din\n"
+"opp og ned.\n"
+"\n"
+"Hvis du ønsker å spepesifisere en annerledes musetype, velg den passende\n"
+"typen fra listen du blir vist.\n"
+"\n"
+"Du kan velge «%s» eller velge en ``generisk\" mus-type som vil fungere\n"
+"med alle mus.\n"
+"\n"
+"Hvis du velger en annen mus enn hva som er forhåndsvalgt, så vil en\n"
+"testskjerm bli vist. Bruk knappene og musehjulet for å sjekke at\n"
+"oppsettet er riktig, og at musa virker ordentlig. Hvis musa ikke virker "
+"riktig,\n"
+"trykk [Space] eller [Enter] for å avbryte testen og gå tilbake til listen "
+"over valg.\n"
+"\n"
+"Noen ganger så blir ikke musehjulet automatisk oppdaget. Du vil da måtte\n"
+"velge manuelt fra listen. Vær sikker på at du velger en som er på riktig "
+"port.\n"
+"Etter at du har klikket på «%s»-knappen, så vil et musebilde bli vist på "
+"skjermen.\n"
+"Du må da bevege musehjulet for å aktivere det riktig. Når du ser at "
+"musehjulet på\n"
+"skjermen beveges etter som du ruller på det, sjekk også at knappene fungerer "
+"og\n"
+"at musepekeren på skjermen beveger seg når du flytter på musa."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Alle PS/2- & USB-mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Velg den riktige porten. F.eks., \"COM1\"-porten under\n"
+"Windows blir kalt \"ttyS0\" i GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"En oppstartslaster er et lite program som er startet av datamaskinen\n"
+"når den starter opp. Den er ansvarlig for å starte hele systemet. Vanligvis\n"
+"er oppstartslaster-installasjonen helt automatisk. DrakX vil analysere\n"
+"oppstartssektoren på harddisken og sette oppstartslasteren opp etter hva\n"
+"den finner der.\n"
+"\n"
+" * Hvis en oppstartssektor for Windows blir funnet, vil den erstatte denne "
+"med\n"
+"en GRUB- eller LILO-oppstartsektor. På denne måten kan du laste enten\n"
+"GNU/Linux eller ethvert annet operativsystem installert på din maskin.\n"
+"\n"
+" * Hvis en oppstartsektor for GRUB eller LILO blir funnet, vil den bli "
+"erstattet\n"
+"med en ny.\n"
+"\n"
+"Dersom det ikke er mulig å avgjøre dette automatisk, vil DrakX spørre deg "
+"hvor\n"
+"oppstartslasteren skal installeres. Vanligvis er «%s» det sikreste stedet.\n"
+"Valg av «%s» vil ikke installere noen oppstartslaster. Bruk kun dette\n"
+"hvis du vet hva du gjør."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nå er det på tide å velge et utskriftssystem for datamaskinen. Andre\n"
+"operativsystemer kan tilby deg ett, men Mageia tilbyr to. Hver av\n"
+"utskriftssystemene er best egnet til bestemte typer konfigurasjoner.\n"
+"\n"
+"* \"%s\" -- som er et akronym for \"skriv ut, ikke kø\" er valget\n"
+"hvis du har en direkte tilkobling til skriveren din, og du vil kunne\n"
+"panikk avbryte skriverstopp, og ikke har nettverksskrivere. (\"%s\"\n"
+"vil kun håndtere svært enkle nettverkstilfeller og er noe treg når den "
+"brukes\n"
+"innenfor et nettverk.) Det anbefales at du bruker \"pdq\" hvis dette er din\n"
+"første erfaring med GNU/Linux.\n"
+"\n"
+"* \"%s\" står for `` Common Unix Printing System'' og er et utmerket\n"
+"valg for utskrift til din lokale skriver eller til en annen skriver "
+"halvveis rundt\n"
+"verden. Den er enkel å konfigurere og kan fungere som en server eller klient "
+"for\n"
+"det gamle \"lpd\"-utskriftssystemet, så det er kompatibelt med eldre\n"
+"operativsystemer som fortsatt trenger utskriftstjenester. Det er kraftfult. "
+"Grunnoppsettet er nesten like enkelt som \"pdq\". Hvis du trenger detkan "
+"du \n"
+"emulere en \"lpd\"-server, sørg for at du slår på \"cups-lpd\"-demonen.\n"
+"\"%s\" inkluderer grafiske frontender for utskrift eller valg av skriver\n"
+"alternativer og for å administrere skriveren.\n"
+"\n"
+"Hvis du tar et valg nå, og senere finner ut at du ikke liker "
+"utskriftssystemet kan du endre det ved å kjøre PrinterDrake fra Mageia\n"
+"Kontrollsenter og klikk på \"%s\"-knappen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX vil nå oppdage alle IDE-enheter som er tilstede på ditt system. Det\n"
+"vil også scanne etter en eller flere PCI SCSI-kort på systemet ditt. Hvis "
+"et\n"
+"SCSI-kort er tilstede, så vil DrakX automatisk installere den passende "
+"driveren.\n"
+"\n"
+"På grunn av at maskinvareoppdagelse ikke er feilfritt, så kan det være at\n"
+"DrakX ikke klarer å oppdage dine harddisker. Hvis dette skjer, så må du\n"
+"spesifisere din maskinvare for hånd.\n"
+"\n"
+"Hvis du må spesifisere PCI SCSI-kontrolleren din manuelt, så vil DrakX\n"
+"spørre deg om å gjøre noen valg for det. Du burde tillate DrakX å teste\n"
+"maskinvaren for kort-spesifikke valg som trengs for å initialisere\n"
+"maskinvaren. Som regel så vil DrakX klare å gå igjennom dette steget uten\n"
+"problemer.\n"
+"\n"
+"Hvis DrakX ikke er i stand til å oppdage de riktige parametrene som trengs\n"
+"for din maskinvare, så må du manuelt sette opp driveren."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: hvis et lydkort blir oppdaget på systemet ditt, blir det vist her.\n"
+"Hvis du oppdager at lydkortet som blir vist her ikke er det som\n"
+"faktisk er til stede på ditt system, så kan du klikke på denne knappen for\n"
+"Ã¥ velge en annen driver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Som en gjennomgang vil DrakX presentere et sammendrag av informasjonen den "
+"har samlet inn\n"
+"om systemet ditt. Avhengig av maskinvaren som er installert på maskinen din, "
+"kan du\n"
+"kan ha noen eller alle av følgende oppføringer. Hver oppføring består av\n"
+"maskinvareelement som skal konfigureres, etterfulgt av et kort sammendrag av "
+"gjeldende\n"
+"konfigurasjon. Klikk på den tilsvarende \"%s\"-knappen for å gjøre "
+"endringen.\n"
+"\n"
+"* \"%s\": sjekk gjeldende tastaturkartkonfigurasjon og endre den hvis\n"
+"nødvendig.\n"
+"\n"
+"* \"%s\": kontroller gjeldende landvalg. Hvis du ikke vil ha dette\n"
+"landet, klikk på \"%s\"-knappen og velg et annet. Hvis landet ditt\n"
+"ikke er i listen som vises, klikk på \"%s\"-knappen for å få den komplette\n"
+"landliste.\n"
+"\n"
+"* \"%s\": som standard utleder DrakX tidssonen din basert på landet\n"
+"du har valgt. Du kan klikke på \"%s\"-knappen hvis dette ikke er\n"
+"korrekt.\n"
+"\n"
+"* \"%s\": bekreft gjeldende musekonfigurasjon og klikk på knappen\n"
+"for å endre den om nødvendig.\n"
+"\n"
+"* \"%s\": hvis det oppdages et lydkort på systemet ditt, vil det vises\n"
+"her. Hvis lydkortet ikke er det som faktisk finnes på\n"
+"systemet ditt, kan du klikke på knappen og velge en annen driver.\n"
+"\n"
+"* \"%s\": hvis du har et TV-kort, vises informasjon om\n"
+"konfigurasjonen her. Hvis du har et TV-kort og det ikke\n"
+"oppdages, klikk på \"%s\" for å prøve å konfigurere den manuelt.\n"
+"\n"
+"* \"%s\": du kan klikke på \"%s\" for å endre parameterne knyttet til\n"
+"kortet hvis du mener at konfigurasjonen er feil.\n"
+"\n"
+"* \"%s\": som standard konfigurerer DrakX ditt grafiske grensesnitt i\n"
+"\"800x600\" eller \"1024x768\" oppløsning. Hvis det ikke passer deg, klikk "
+"videre\n"
+"\"%s\" for å rekonfigurere det grafiske grensesnittet ditt.\n"
+"\n"
+"* \"%s\": hvis du ønsker å konfigurere Internett- eller "
+"lokalnettverkstilgang,\n"
+"du kan gjøre det nå. Se den trykte dokumentasjonen eller bruk\n"
+"Mageia Control Center etter at installasjonen er fullført.\n"
+"\n"
+"* \"%s\": lar deg konfigurere HTTP- og FTP-proxy-adresser hvis maskinen\n"
+"du installerer på skal være plassert bak en proxy-server.\n"
+"\n"
+"* \"%s\": denne oppføringen lar deg omdefinere sikkerhetsnivået som angitt i "
+"en\n"
+"forrige trinn ().\n"
+"\n"
+"* \"%s\": hvis du planlegger å koble maskinen til Internett, er det en god\n"
+"idé å beskytte deg selv mot inntrenging ved å sette opp en brannmur. "
+"Konsultere\n"
+"den tilsvarende delen av ``Starter Guide'' for detaljer om\n"
+"brannmurinnstillinger.\n"
+"\n"
+"* \"%s\": hvis du ønsker å endre oppstartslasterkonfigurasjonen, klikk på "
+"denne\n"
+"knappen. Dette er forbeholdt avanserte brukere. Se den trykte\n"
+"dokumentasjon eller in-line hjelpen om oppstartslasterkonfigurasjon i\n"
+"Mageia kontrollsenter.\n"
+"\n"
+"* \"%s\": gjennom denne oppføringen kan du finjustere hvilke tjenester som "
+"skal kjøres\n"
+"på maskinen din. Hvis du planlegger å bruke denne maskinen som en server, er "
+"det en god\n"
+"idé å vurdere dette oppsettet."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-kort"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grensesnitt"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Velg harddisken du vil slette for å installere den nye\n"
+"Mageia partisjon. Vær forsiktig, alle data på denne stasjonen vil gå tapt\n"
+"og vil ikke kunne gjenopprettes!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klikk på \"%s\" hvis du ønsker å slette alle data og partisjoner på denne\n"
+"harddisken. Vær forsiktig, etter at du har klikket på \"%s\" vil du ikke\n"
+"kunne gjenopprette data og partisjoner på denne harddisken inkludert Windows-"
+"data.\n"
+"\n"
+"Klikk på \"%s\" for å avslutte denne operasjonen uten å miste data og\n"
+"partisjoner på denne harddisken."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Neste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Forrige"
diff --git a/perl-install/install/help/po/nl.po b/perl-install/install/help/po/nl.po
new file mode 100644
index 000000000..e3c6f38e4
--- /dev/null
+++ b/perl-install/install/help/po/nl.po
@@ -0,0 +1,1973 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2024\n"
+"Language-Team: Dutch (https://app.transifex.com/MageiaLinux/teams/9361/nl/)\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Voordat u verdergaat dient u eerst de voorwaarden in de licentie\n"
+"aandachtig te lezen. Zij beslaan de gehele Mageia distributie.\n"
+"Indien u akkoord gaat met alle voorwaarden erin kruist u het\n"
+"\"%s\"-vakje aan. Zoniet, dan zal het klikken van de \"%s\"-knop\n"
+"uw computer herstarten."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux is een multi-gebruikerssysteem, dit betekent dat iedere "
+"gebruiker \n"
+"haar eigen voorkeuren, bestanden enzovoort kan hebben. U kunt de \n"
+"''Beginnershandleiding'' lezen om hierover meer te weten te komen. Maar \n"
+"in tegenstelling tot \"root\", de beheerder, zullen de gebruikers die\n"
+"u hier toevoegt geen recht hebben om iets te veranderen behalve hun eigen \n"
+"bestanden en hun eigen configuratie, waarmee het systeem beschermd wordt \n"
+"tegen onbedoelde danwel kwaadwillende veranderingen die het systeem als\n"
+"geheel beïnvloeden. U zult tenminste één algemene gebruiker voor \n"
+"uzelf aan moeten maken. Dit account behoort u voor de dagelijkse routine\n"
+"te gebruiken. Alhoewel het erg praktisch is om iedere dag als \"root\" \n"
+"aan te melden, om van alles en nog wat te doen, kan het ook erg gevaarlijk\n"
+"zijn! De kleinste vergissing kan ervoor zorgen dat uw hele systeem niet\n"
+"meer werkt. Wanneer u een grote vergissing maakt als een gewone\n"
+"gebruiker, zou u in het ergste geval sommige gegevens kunnen\n"
+"verliezen, maar niet het hele systeem beschadigen.\n"
+"\n"
+"Het eerste veld is voor uw echte naam in. Dit is uiteraard niet verplicht -\n"
+"u kunt alles invoeren wat u wilt. DrakX neemt dan het eerste woord dat u\n"
+"had ingevuld en brengt het over naar het veld \"%s\". Met deze\n"
+"naam kan de betreffende gebruiker zich aanmelden op het systeem. \n"
+"Desgewenst kunt u de voorgestelde gebruikersnaam veranderen.\n"
+"De volgende stap is het invoeren van een wachtwoord. Het \n"
+"wachtwoord van een (gewone) gebruiker zonder privileges is niet zo \n"
+"cruciaal als dat van de \"root\"-gebruiker vanuit beveiligingsperspectief, \n"
+"maar dat is geen reden om het te verwaarlozen door het leeg te laten of het\n"
+"te eenvoudig te maken: tenslotte staan uw bestanden op het spel.\n"
+"\n"
+"Wanneer u klikt op \"%s\", dan kunt u daarna andere \n"
+"gebruikers toevoegen. Voeg een gebruiker toe voor elk van uw \n"
+"bekenden, uw vader of uw zus bijvoorbeeld. Als u klaar bent met het \n"
+"toevoegen van gebruikers, klik dan op \"%s\".\n"
+"\n"
+"Klikken op de \"%s\"-knop stelt u in staat om de standaard\n"
+"\"shell\" voor een gebruiker te veranderen (standaard is dit bash).\n"
+"\n"
+"Wanneer u alle gebruikers hebt toegevoegd, dan wordt u gevraagd een \n"
+"gebruiker te kiezen die zich vanzelf aanmeldt wanneer de computer opstart.\n"
+"Indien u geïnteresseerd bent in deze functie (en lokale beveiliging niet\n"
+"zo belangrijk vindt), kies dan de gewenste gebruiker en werkomgeving en\n"
+"klik vervolgens op \"%s\". Wenst u deze functie niet, wis dan\n"
+"het kruisje bij het vakje \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Gebruikersnaam"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Accepteer gebruiker"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Wilt u van deze mogelijkheid gebruik maken?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hier zijn de bestaande Linuxpartities afgebeeld die op uw harde\n"
+"schijf gevonden zijn. U kunt de keuzes die gemaakt zijn door de wizard\n"
+"behouden, ze zijn goed voor de meeste doorsnee installaties.\n"
+"Indien u veranderingen maakt, moet u in ieder geval een root partitie\n"
+"(\"/\") definiëren. Kies een partitie niet te klein, anders zult u niet in\n"
+"staat zijn genoeg software te installeren. Indien u uw gegevens op een\n"
+"aparte partitie wilt bewaren, dient u tevens een \"/home\" partitie te\n"
+"creëren (alleen mogelijk wanneer er meer dan één Linux partitie\n"
+"beschikbaar is).\n"
+"\n"
+"Elke partitie is als volgt afgebeeld: \"Naam\", \"Capaciteit\".\n"
+"\n"
+"\"Naam\" is als volgt opgebouwd: \"type harde schijf\",\n"
+"\"harde schijf-teken\", \"partitienummer\" (bijvoorbeeld \"hda1\").\n"
+"\n"
+"\"Type harde schijf\" is \"hd\" als uw harde schijf van het IDE-type is en\n"
+"\"sd\" wanneer deze van het SCSI-type is.\n"
+"\n"
+"\"Harde schijf-teken\" is altijd een letter na \"hd\" of \"sd\". Voor IDE\n"
+"harde schijven:\n"
+"\n"
+" * \"a\" betekent \"master harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"b\" betekent \"slave harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"c\" betekent \"master harde schijf op de secundaire IDE controller\",\n"
+"\n"
+" * \"d\" betekent \"slave harde schijf op de secundaire IDE controller\".\n"
+"\n"
+"Bij SCSI harde schijven betekent een \"a\" \"laagste SCSI ID\",\n"
+"een \"b\" \"het op één na laagste SCSI ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"De Mageia-installatie is verdeeld over meerdere CD-ROMs. Als een \n"
+"geselecteerd pakket te vinden is op een andere CD-ROM, zal het \n"
+"installatieprogramma de huidige CD uitwerpen en u vragen om de\n"
+"correcte CD in te leggen. Mocht u de betreffende CD niet bij de hand "
+"hebben,\n"
+"klik dan gewoon op \"%s\", de corresponderende pakketten zullen dan niet\n"
+"worden geïnstalleerd."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Het is nu tijd om te bepalen welke programma's u op uw systeem\n"
+"wenst te installeren. Er zijn duizenden pakketten beschikbaar voor Mageia\n"
+"Linux, en om het overzichtelijker te maken zijn de pakketten in groepen\n"
+"van vergelijkbare toepassingen geplaatst.\n"
+"\n"
+"Mageia sorteert groepen pakketten in vier categorieën.\n"
+"U kunt de toepassingen uit de verschillende categorieën uitkiezen\n"
+"en samenvoegen naar eigen inzicht, zodat een ``Werkstation''-installatie\n"
+"nog steeds toepassingen geïnstalleerd kan hebben uit de ``Server''\n"
+"categorie.\n"
+"\n"
+"* \"%s\": indien u van plan bent uw computer als werkstation te\n"
+"gaan gebruiken, selecteer dan één of meer van de groepen in de\n"
+"werkstation-categorie.\n"
+"\n"
+"* \"%s\": indien u van plan bent om uw computer voor programmeren\n"
+"te gebruiken, kiest u de gewenste groepen uit die categorie.\n"
+"De speciale \"LSB\"-groep configureert uw systeem zodanig dat het\n"
+"zoveel mogelijk tegemoetkomt aan de specificaties van de Linux\n"
+"Standard Base.\n"
+"\n"
+" Het selecteren van de \"LSB\" groep zal tevens de \"2.4\" kernelserie,\n"
+"installeren, in plaats van de standaard \"2.6\". Dit is om het systeem \n"
+"100%% te laten voldoen aan de LSB. Als u de \"LSB\"-groep niet selecteert\n"
+"dan heeft u nog steeds een systeem dat bijna 100%% voldoet aan de LSB.\n"
+"\n"
+"* \"%s\": als de computer bestemd is voor server-doeleinden, dan\n"
+"kunt u aangeven welke van de meest voorkomende diensten u op uw\n"
+"computer wilt installeren.\n"
+"\n"
+"* \"%s\": dit is waar u uw voorkeur voor een grafische\n"
+"omgeving kunt aangeven. Tenminste één moet geselecteerd zijn als u een\n"
+"grafische werkomgeving wilt hebben.\n"
+"\n"
+"Bij het bewegen van de muispijl boven een groepnaam zal er een korte "
+"verklarende tekst over die groep getoond worden. \n"
+"\n"
+"U kunt het \"%s\"-vakje aankruisen, wat nuttig is wanneer u bekend bent \n"
+"met de aangeboden pakketten of wanneer u volledige controle wilt hebben \n"
+"over wat er geïnstalleerd wordt.\n"
+"\n"
+"Indien u de installatie in \"%s\"-modus start, dan kunt u alle groepen\n"
+"deselecteren en voorkomen dat er enige nieuwe pakketten geïnstalleerd\n"
+"worden. Dit kan van pas komen bij het repareren of bijwerken van een \n"
+"bestaand systeem.\n"
+"\n"
+"Indien u alle groepen deselecteert bij het uitvoeren van een reguliere\n"
+"installatie (in tegenstelling tot opwaarderen), dan zal een dialoogvenster\n"
+"verschijnen met verscheidene opties voor een minimale installatie:\n"
+"\n"
+" * \"%s\": installeert zo min mogelijk pakketten met behoud van een werkende "
+"grafische werkomgeving.\n"
+" \n"
+" * \"%s\" installeert het basissysteem plus algemene hulpprogramma's\n"
+"en bijbehorende documentatie. Deze installatie is geschikt om een\n"
+"server mee in te richten.\n"
+"\n"
+" * \"%s\" zal het absolute minimum installeren dat nodig is\n"
+"om een werkend Linux-systeem te verkrijgen. Met deze installatie\n"
+"zult u slechts een opdrachtregelinterface hebben.\n"
+"Deze installatie is in totaal ongeveer 65 megabyte groot."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opwaardering"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Met basis-documentatie"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Zeer minimale installatie"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Afhankelijk van uw keus om al dan niet individuele pakketten\n"
+"te selecteren, zal het installatieprogramma u een boom tonen die alle\n"
+"pakketten bevat, geclassificeerd in groepen en subgroepen. Terwijl u door\n"
+"de boom bladert, kunt u gehele groepen, subgroepen of individuele pakketten\n"
+"selecteren.\n"
+"\n"
+"Wanneer u een pakket in de boom selecteert, verschijnt een beschrijving\n"
+"aan de rechterkant om u te informeren over het doel van het pakket.\n"
+"\n"
+"!! Als een server-pakket geselecteerd is, ofwel omdat u dat pakket\n"
+"specifiek gekozen heeft ofwel omdat het onderdeel is van een hele groep\n"
+"pakketten, zal u gevraagd worden om te bevestigen dat u deze servers echt\n"
+"wilt installeren. Onder Mageia worden alle geïnstalleerde servers\n"
+"standaard ingeschakeld tijdens het opstarten. Zelfs wanneer zij veilig\n"
+"zijn en geen bekende beveiligingsgebreken hadden op het moment dat de\n"
+"distributie werd uitgebracht, kan het gebeuren dat beveiligingsfouten\n"
+"ontdekt worden nadat deze versie van Mageia afgemaakt werd.\n"
+"Indien u niet weet wat een bepaalde dienst geacht wordt te doen of waarom\n"
+"deze geïnstalleerd wordt, klikt u dan \"%s\". Klikken op \"%s\" zal\n"
+"de getoonde diensten installeren en ze zullen automatisch worden\n"
+"ingeschakeld tijdens het opstarten van de computer. !!\n"
+"\n"
+"De \"%s\"-optie schakelt het\n"
+"waarschuwingsvenster uit dat verschijnt wanneer het installatieprogramma\n"
+"automatisch een pakket selecteert om een afhankelijkheid te vervullen.\n"
+"Sommige pakketten zijn afhankelijk van andere en de installatie van\n"
+"het ene pakket vereist dan de installatie van een ander pakket. Het\n"
+"installatieprogramma kan uitzoeken welke pakketten benodigd zijn\n"
+"om een afhankelijkheid te vervullen om de installatie succesvol te\n"
+"voltooien.\n"
+"\n"
+"Het kleine diskette-pictogram onderaan de lijst stelt u in staat de\n"
+"pakketten-lijst te laden die tijdens een eerdere installatie gekozen was.\n"
+"Als u klikt op dit pictogram zal u gevraagd worden een diskette in het\n"
+"diskettestation te plaatsen welke gecreëerd was aan het eind van een\n"
+"andere installatie. Zie de tweede tip van de laatste stap over hoe u een\n"
+"dergelijke diskette aanmaakt."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatische afhankelijkheden"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"In dit dialoogvenster kunt u kiezen welke diensten u wenst te starten\n"
+"tijdens de opstartfase van uw computer.\n"
+"\n"
+"Het installatieprogramma toont alle diensten die beschikbaar zijn in de "
+"huidige\n"
+"installatie. Kijk ze aandachtig na en de-selecteer degenen die niet \n"
+"nodig zijn bij het opstarten.\n"
+"\n"
+"Een korte verklarende tekst wordt gegeven over een dienst bij de selectie\n"
+"ervan. Wanneer u niet zeker bent of een dienst nuttig is of niet,\n"
+"dan is het veiliger om de standaardinstelling over te nemen.\n"
+"\n"
+"!! Wees vooral voorzichtig in deze stap als u uw machine als server \n"
+"wilt gebruiken: u zult waarschijnlijk de diensten die u niet nodig heeft\n"
+"niet willen starten. Onthoudt dat een aantal diensten riskant kunnen\n"
+"zijn indien ze geactiveerd zijn op een server. In het algemeen geldt: kies\n"
+"alleen de diensten die u echt nodig heeft. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux houdt de tijd bij in GMT (Greenwich Mean Time) en vertaalt\n"
+"het naar lokale tijd volgens de tijdzone die u geselecteerd heeft. Als\n"
+"de klok op uw moederbord op lokale tijd is ingesteld, dan kunt u dit\n"
+"deactiveren door \"%s\" te deselecteren,\n"
+"hetgeen GNU/Linux laat weten dat de systeemklok en hardwareklok op\n"
+"dezelfde tijdzone staan. Dit is nuttig wanneer er op de computer nog\n"
+"een ander besturingssysteem staat.\n"
+"\n"
+"De \"%s\"-optie zal de klok automatisch\n"
+"bijstellen door verbinding te maken met een tijdsserver op internet.\n"
+"U dient een werkende internetverbinding hebben voordat deze functie\n"
+"werkt. Het is het beste om een tijdserver te kiezen die dichtbij is.\n"
+"Deze optie zorgt er tevens voor dat er een tijdserver op uw computer\n"
+"wordt geïnstalleerd die gebruikt kan worden door andere computers\n"
+"op uw lokale netwerk."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Hardware klok staat op GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatische tijdssynchronisatie"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafische kaart\n"
+"\n"
+" Het installatieprogramma zal normaal gesproken de grafische kaart\n"
+"in uw computer automatisch vinden en configureren. Mocht dit niet\n"
+"het geval zijn, dan kunt u uit deze lijst de kaart kiezen die u\n"
+"daadwerkelijk heeft.\n"
+"\n"
+" In het geval dat er meerdere servers voor uw kaart beschikbaar zijn,\n"
+"met of zonder 3D-versnelling, dan wordt u gevraagd de server te kiezen\n"
+"die het best bij uw omstandigheden past."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (voor X Window System) is het hart van de grafische interface van GNU/\n"
+"Linux waarvan alle grafische omgevingen (KDE, GNOME, AfterStep, "
+"WindowMaker,\n"
+"etc.) die bij Mageia worden geleverd, afhankelijk zijn.\n"
+"\n"
+"U krijgt een lijst te zien van verschillende parameters die u kunt "
+"aanpassen\n"
+"om een optimale grafische weergave te verkrijgen:\n"
+"Grafische kaart\n"
+"\n"
+" Het installatieprogramma vindt normaal gesproken automatisch de \n"
+"grafische kaart in uw computer en configureert deze. Als dit niet het \n"
+"geval is, kunt u uit deze lijst de kaart kiezen die u daadwerkelijk heeft.\n"
+"\n"
+" In het geval dat er verschillende X-servers zijn voor uw kaart, met of\n"
+"zonder 3D-versnelling, dan wordt u voorgesteld om de server te kiezen die\n"
+"het beste bij uw omstandigheden past.\n"
+"\n"
+"\n"
+"\n"
+"Beeldscherm\n"
+"\n"
+" Het installatieprogramma kan normaal gesproken het aangesloten\n"
+"beeldscherm automatisch bespeuren en configureren. Als dit niet \n"
+"correct is, dan kunt u uit deze lijst de monitor kiezen die \n"
+"daadwerkelijk op uw computer is aangesloten.\n"
+"\n"
+"\n"
+"\n"
+"Resolutie\n"
+"\n"
+" U kunt hier de resolutie en kleurdiepte kiezen uit degenen die\n"
+"beschikbaar zijn voor uw apparatuur. Kies degene die het best bij uw\n"
+"omstandigheden past (u kunt dit na installatie evengoed wijzigen). Een\n"
+"voorbeeld van de gekozen configuratie wordt op het scherm getoond.\n"
+"\n"
+"\n"
+"\n"
+"Testen\n"
+"\n"
+" Afhankelijk van uw apparatuur kan het zijn dat dit item niet verschijnt.\n"
+"\n"
+" Het systeem zal trachten een grafisch scherm te openen in de gewenste\n"
+"resolutie. Wanneer u het bericht tijdens de test kunt zien en \"%s\"\n"
+"antwoordt, dan gaat de installatie door naar de volgende stap. Als u het \n"
+"bericht niet kunt zien, dan betekent dat dat een gedeelte van de gevonden\n"
+"configuratie niet klopt en zal de test automatisch na 12 seconden eindigen,\n"
+"waarmee u terugkomt in het menu. Pas de instellingen aan totdat u een "
+"correcte grafische weergave krijgt.\n"
+"\n"
+"\n"
+"\n"
+"Opties\n"
+"\n"
+" Hier kunt u kiezen of u uw computer automatisch wilt laten omschakelen\n"
+"naar een grafisch gebruiksoppervlak bij het opstarten. Vanzelfsprekend zult\n"
+"u \"%s\" willen aankruisen als uw computer gaat functioneren als server, of\n"
+"als u het niet gedaan kreeg het beeldscherm goed te configureren."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Het installatieprogramma kan normaal gesproken de aangesloten monitor\n"
+"automatisch bespeuren en configureren. Als dit niet correct is, dan kunt u\n"
+"uit deze lijst de monitor kiezen die werkelijk aan uw computer verbonden is."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolutie\n"
+"\n"
+" U kunt hier de resolutie en kleurdiepte kiezen uit degenen die\n"
+"beschikbaar zijn voor uw apparatuur. Kies degene die het best bij uw\n"
+"omstandigheden past (u kunt dit na installatie evengoed wijzigen). Een\n"
+"voorbeeld van de gekozen configuratie wordt op het scherm getoond."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"In het geval dat er verschillende servers beschikbaar zijn voor uw kaart,\n"
+"met of zonder 3D-versnelling, dan wordt u de keuze geboden voor de server\n"
+"die het beste bij uw omstandigheden past."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opties\n"
+"\n"
+"In deze stap kunt u kiezen of u wilt dat uw computer automatisch\n"
+"naar een grafische interface omschakelt bij het opstarten. Vanzelfsprekend\n"
+"wilt u \"%s\" aankruisen als uw machine als server moet dienen, of\n"
+"als u er niet in slaagde het beeld te configureren."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Op dit punt dient u te kiezen waar op uw harde schijf u uw Mageia\n"
+"besturingssysteem wilt installeren. Als uw harde schijf leeg is of als een\n"
+"ander besturingssysteem alle beschikbare ruimte inneemt, dan zult u\n"
+"de harde schijf moeten partitioneren. Partitioneren houdt in dat u uw harde\n"
+"schijf in logische stukken onderverdeelt om ruimte te creëren voor uw\n"
+"nieuwe Mageia besturingssysteem.\n"
+"\n"
+"Omdat de effecten van het partitioneringsproces over het algemeen niet\n"
+"terug te draaien zijn en kan leiden tot gegevensverlies als er reeds een\n"
+"besturingssysteem op de schijf geïnstalleerd is, kan partitioneren\n"
+"intimiderend en spannend zijn voor een onervaren gebruiker. Gelukkig is\n"
+"er een wizard die dit proces vereenvoudigt. Leest u de rest van dit\n"
+"hoofdstukje voordat u verder gaat en neemt u vooral de tijd.\n"
+"\n"
+"Afhankelijk van de configuratie van uw harde schijf, zijn er\n"
+"verscheidene opties beschikbaar:\n"
+"\n"
+" * \"%s\": deze optie zal leiden tot het automatisch\n"
+"partitioneren van uw lege schijf/schijven. Er worden u verder geen vragen\n"
+"gesteld bij deze optie.\n"
+"\n"
+" * \"%s\": de wizard heeft één of meer bestaande Linux-partities op \n"
+"uw harde schijf gevonden. Indien u deze wilt gebruiken, kiest \n"
+"u deze optie. Vervolgens zal u gevraagd worden de koppelpunten te\n"
+"kiezen die met elk van de partities geassocieerd zijn. De bestaande\n"
+"koppelpunten zijn standaard al geselecteerd en meestal is het het beste\n"
+"als u deze behoudt.\n"
+"\n"
+" * \"%s\": indien Microsoft Windows\n"
+"op uw harde schijf is geïnstalleerd en alle beschikbare ruimte in beslag "
+"neemt,\n"
+"dient u vrije ruimte te creëren voor GNU/Linux. Om dat te doen, kunt u\n"
+"uw Microsoft Windows-partitie en -gegevens wissen (zie het punt\n"
+"``Gehele schijf wissen'') of uw Microsoft Windows FAT- of NTFS-partitie\n"
+"verkleinen. Het aanpassen van de grootte kan bewerkstelligd worden zonder\n"
+"verlies van enige gegevens, vooropgesteld dat u eerst de Windows-partitie\n"
+"gedefragmenteerd heeft. Een reservekopie maken van uw gegevens is\n"
+"uitdrukkelijk aangeraden. Deze optie is aanbevolen indien u zowel\n"
+"Mageia als Microsoft Windows op dezelfde computer wilt gebruiken.\n"
+"\n"
+" Laat het goed tot u doordringen, voordat u deze optie kiest, dat uw\n"
+"Microsoft Windows partitie na afloop van deze procedure minder groot\n"
+"zal zijn dan hij nu is. U zult minder vrije ruimte hebben onder\n"
+"Microsoft Windows om uw gegevens op te slaan of om nieuwe software te\n"
+"installeren.\n"
+"\n"
+" * \"%s\": indien u alle gegevens en alle partities op uw\n"
+"harde schijf wilt verwijderen en vervangen door uw nieuwe Mageia-\n"
+"systeem, kiest u deze optie. Weest u voorzichtig met deze oplossing omdat u\n"
+"na bevestiging deze keuze niet meer ongedaan kunt maken.\n"
+"\n"
+" !! Als u deze optie kiest, zullen alle gegevens op uw schijf verloren "
+"gaan. !!\n"
+"\n"
+" * \"%s\": Deze optie verschijnt wanneer de harde schijf volledig in \n"
+"beslag genomen is door Microsoft Windows. Het kiezen van deze optie wist\n"
+"simpelweg alles op de schijf en begint van voren af aan met\n"
+"partitioneren.\n"
+"\n"
+" !! Als u deze optie kiest, zullen alle gegevens op uw schijf verloren "
+"gaan. !!\n"
+"\n"
+" * \"%s\": kies deze optie indien u handmatig\n"
+"uw harde schijf wenst te partitioneren. Weest u voorzichtig - het is een\n"
+"krachtige maar riskante keuze en u kunt erg gemakkelijk al uw gegevens\n"
+"kwijtraken. Derhalve is deze optie slechts aanbevolen indien u zoiets\n"
+"al eens eerder gedaan hebt en enige ervaring hebt. Voor meer instructies\n"
+"voor het gebruik van het DiskDrake-hulpprogramma zij u verwezen naar het\n"
+"hoofdstuk ``Uw partities beheren'' in de ``Beginnershandleiding''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Een bestaande partitie gebruiken"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Gebruik de vrije ruimte op de Microsoft Windows® partitie"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Volledige harde schijf wissen"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Alstublieft. De installatieprocedure is voltooid en uw GNU/Linux-systeem\n"
+"is klaar voor gebruik. U hoeft alleen nog op \"%s\" te klikken om uw\n"
+"computer opnieuw te starten. Vergeet niet de installatiemedia (CD-ROM of \n"
+"diskette) te verwijderen. Het eerste dat u te zien krijgt nadat uw\n"
+"computer the apparatuurtests heeft afgerond is het opstartladermenu,\n"
+"dat u de keus geeft welk besturingssysteem te starten.\n"
+"\n"
+"De \"%s\"-knop toont twee extra knoppen voor:\n"
+"\n"
+" * \"%s\": om een installatiediskette aan te maken welke de gehele\n"
+"installatie automatisch zal uitvoeren zonder een\n"
+"toezichthouder, gelijkend op de installatie die u zojuist\n"
+"heeft geconfigureerd.\n"
+"\n"
+" Merk op dat er twee verschillende opties zijn na het aanklikken\n"
+" van deze knop:\n"
+"\n"
+" * \"%s\". Dit is een gedeeltelijk geautomatiseerde installatie.\n"
+"De partitioneringsstap is de enige interactieve procedure.\n"
+"\n"
+" * \"%s\". Volledig geautomatiseerde installatie: de harde\n"
+"schijf wordt volledig overschreven en alle gegevens erop raken verloren.\n"
+"\n"
+" Deze mogelijkheid is erg handig wanneer u een grote hoeveelheid\n"
+"soortgelijke computers installeert. Zie ook de Auto-installatie afdeling op\n"
+"onze webstek voor meer informatie.\n"
+"\n"
+" * \"%s\"(*): slaat de pakketlijst op zoals geselecteerd\n"
+"in deze installatie. Om deze selectie bij een andere installatie\n"
+"te gebruiken, plaatst u de diskette in het diskettestation en start u het\n"
+"installatieprogramma. Bij het opstartscherm drukt u op de [F1]-toets en\n"
+"voert u ''linux defcfg=\"floppy\" '' in en drukt u op de [Enter]-toets.\n"
+"\n"
+"(*) U heeft hiervoor een FAT-geformatteerde diskette nodig. Om er één te\n"
+"maken onder GNU/Linux, typt u \"mformat a:\" of \"fdformat /dev/fd0\" \n"
+"gevolgd door \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Auto-installatiediskette aanmaken"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Herhaling"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Geautomatiseerd"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Bewaar pakketselectie"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Indien u kiest om enkele bestaande GNU/Linux-partities te hergebruiken, \n"
+"wenst u wellicht om enkele ervan opnieuw te formatteren en alle gegevens\n"
+"die erop staan te wissen. Om dit te doen, dient u de partities waar het\n"
+"om gaat ook te selecteren.\n"
+"\n"
+"Merk op dat het niet nodig is om alle reeds bestaande partities te\n"
+"herformatteren. U dient de partities waar het besturingssysteem op\n"
+"staat te herformatteren (zoals \"/\", \"/usr\" of \"/var\") maar u hoeft\n"
+"geen partities te herformatteren die gegevens bevatten die u wenst\n"
+"te bewaren (gewoonlijk \"/home\").\n"
+"\n"
+"Weest u alstublieft voorzichtig met het selecteren van partities. Na het\n"
+"formatteren zullen alle gegevens op de geselecteerde partities definitief\n"
+"verwijderd zijn, zonder herstelmogelijkheid.\n"
+"\n"
+"Klik op \"%s\" wanneer u klaar bent om de partities te formatteren.\n"
+"\n"
+"Klik op \"%s\" indien u een andere partitie voor uw nieuwe\n"
+"Mageia besturingssysteem wilt kiezen.\n"
+"\n"
+"Klik op \"%s\" indien u partities wenst te selecteren die op\n"
+"onleesbare blokken gecontroleerd moeten worden."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Op het moment dat u Mageia installeert, is het waarschijnlijk\n"
+"dat sommige pakketten herzien zijn sinds het moment dat het werd\n"
+"uitgebracht. Sommige onvolkomenheden kunnen gerepareerd zijn en\n"
+"beveiligingsproblemen opgelost. Om u te kunnen laten profiteren van\n"
+"deze herzieningen kunt u ze nu ophalen van het Internet.\n"
+"Kruis \"%s\" aan als u een werkende internetverbinding heeft, of \"%s\"\n"
+"als u liever later herziene pakketten installeert.\n"
+"\n"
+"Wanneer u \"%s\" kiest, verschijnt er een lijst van plaatsen op het web\n"
+"waar herzieningen van kunnen worden opgehaald. Kies degene waar\n"
+"u zich het dichtst bij in de buurt bevindt. Daarna verschijnt een\n"
+"pakketselectieboom: ga de selectie na en druk op \"%s\"\n"
+"om de geselecteerde pakket(ten) op te halen en te installeren, of\n"
+"op \"%s\" om af te breken."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Op dit punt bent u in de gelegenheid het gewenste beveiligingsniveau te\n"
+"kiezen voor deze computer. Als een vuistregel is aan te houden dat \n"
+"het beveiligingsniveau hoger ingesteld hoort te zijn als de computer\n"
+"cruciale gegevens bevat, of als hij direct is blootgesteld aan het\n"
+"internet. Een hoger beveiligingsniveau gaat meestal echter ten koste\n"
+"van gebruiksgemak.\n"
+"\n"
+"Als u niet weet wat te kiezen, behoudt u de standaard optie. U zult \n"
+"later nog in staat zijn het beveiligingsniveau te veranderen met het\n"
+"draksec-hulpprogramma vanuit het Mageia Configuratiecentrum.\n"
+"\n"
+"Vul in het \"%s\"-veld het e-mailadres in van de persoon die\n"
+"verantwoordelijk is voor de beveiliging. Beveiligingsmeldingen\n"
+"worden naar dat adres verstuurd."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Beveiligingsbeheerder"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Op dit punt dient u te kiezen welke partitie(s) gebruikt zullen worden voor\n"
+"de installatie van uw Mageia systeem. Indien er reeds partities\n"
+"gedefinieerd zijn, van een vorige GNU/Linux installatie of door een\n"
+"ander partitioneringsprogramma, kunt u bestaande partities gebruiken.\n"
+"In andere gevallen moeten er harde schijf-partities gedefinieerd worden.\n"
+"\n"
+"Om partities te creëren, dient u eerst een harde schijf te kiezen. U kunt "
+"de\n"
+"te partitioneren schijf selecteren door op \"hda\" te klikken voor de "
+"eerste\n"
+"IDE-schijf, \"hdb\" voor de tweede, \"sda\" voor de eerste SCSI-schijf\n"
+"enzovoort.\n"
+"\n"
+"Om de geselecteerde harde schijf te partitioneren, kunt u deze opties\n"
+"gebruiken:\n"
+"\n"
+" * \"%s\": deze optie verwijdert alle partities op de\n"
+"geselecteerde harde schijf.\n"
+"\n"
+" * \"%s\": deze optie creëert automatisch ext4- en swap-\n"
+"partities in de vrije ruimte op uw harde schijf.\n"
+"\n"
+" \"%s\": geeft toegang tot extra opties:\n"
+"\n"
+" * \"%s\": slaat de partitietabel op op een diskette. Nuttig om\n"
+"later zonodig de partitietabel te herstellen. Het is sterk aanbevolen deze "
+"stap uit\n"
+"te voeren.\n"
+"\n"
+" * \"%s\": deze optie stelt u in staat om een eerder opgeslagen\n"
+"partitietabel van diskette te herstellen.\n"
+"\n"
+" * \"%s\": indien uw partitietabel is beschadigd, kunt u hem\n"
+"trachten te herstellen met deze optie. Weest u voorzichtig en onthoudt dat\n"
+"dit niet altijd werkt.\n"
+"\n"
+" * \"%s\": gooit alle veranderingen weg en laadt de\n"
+"partitietabel die oorspronkelijk op de harde schijf stond.\n"
+"\n"
+" * \"%s\": het deselecteren van deze optie\n"
+"dwingt gebruikers om handmatig verwisselbare media zoals diskettes en\n"
+"CD-ROMs te koppelen en te ontkoppelen.\n"
+"\n"
+" * \"%s\": gebruik deze optie indien u een wizard wenst te gebruiken om\n"
+"uw harde schijf mee te partitioneren. Dit is aanbevolen als u geen brede "
+"kennis\n"
+"heeft over partitioneren.\n"
+"\n"
+" * \"%s\": gebruik deze optie om uw wijzigingen te annuleren.\n"
+"\n"
+" * \"%s\" laat extra handelingen toe op\n"
+"partities (type, opties, formaat) en geeft meer informatie over de schijf.\n"
+"\n"
+" * \"%s\": wanneer u klaar bent met het partitioneren van uw harde schijf, "
+"zal dit\n"
+"de wijzigingen wegschrijven naar schijf.\n"
+"\n"
+"Bij het definiëren van de partitiegrootte kunt u de grootte fijnafregelen\n"
+"met de pijltjestoetsen op uw toetsenbord.\n"
+"\n"
+"Merk op: u kunt iedere optie met behulp van het toetsenbord bereiken. "
+"Navigeer door\n"
+"de partities met behulp van [Tab] en [Omhoog/Omlaag] pijlen.\n"
+"\n"
+"Wanneer een partitie is geselecteerd, kunt u deze toetscombinaties "
+"gebruiken:\n"
+"\n"
+" * Ctrl+c om een nieuwe partitie te creëren (als een lege ruimte is "
+"geselecteerd)\n"
+"\n"
+" * Ctrl+d om een partitie te verwijderen\n"
+"\n"
+" * Ctrl+m om het koppelpunt in te stellen\n"
+"\n"
+"Voor meer informatie over de verschillende types bestandssystemen die er "
+"zijn,\n"
+"leest u het hoofdstuk 'ext2FS' van de ``Referentiehandleiding''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Bewaar partitioneringstabel"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Herstel partitioneringstabel"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Red partitioneringstabel"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatische koppeling van verwisselbare media"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Wizard"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Herstel"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normale/expert-modus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Er is meer dan één Microsoft-partitie op uw harde schijf gevonden.\n"
+"Kiest u degene die u wilt verkleinen om uw nieuwe Mageia\n"
+"besturingssysteem te kunnen installeren.\n"
+"\n"
+"Elke partitie wordt getoond als volgt: \"Linux naam\", \"Windows naam\"\n"
+"\"Capaciteit\".\n"
+"\n"
+"\"Linux naam\" is gestructureerd: \"harde schijf-type\", \n"
+"\"harde schijf-teken\", \"partitienummer\" (bijvoorbeeld \"hda1\").\n"
+"\n"
+"\"Harde schijf-type\" is \"hd\" indien uw harde schijf een IDE-schijf is en\n"
+"\"sd\" indien het een SCSI-schijf is.\n"
+"\n"
+"\"Harde schijf-teken\" is altijd een letter na \"hd\" of \"sd\". Bij IDE-\n"
+"harde schijven:\n"
+"\n"
+" * \"a\" betekent \"master harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"b\" betekent \"slave harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"c\" betekent \"master harde schijf op de secundaire IDE controller\",\n"
+"\n"
+" * \"d\" betekent \"slave harde schijf op de secundaire IDE controller\".\n"
+"\n"
+"Bij SCSI harde schijven betekent een \"a\" \"laagste SCSI ID\", een \"b\" "
+"\"op één na laagste SCSI ID\", enzovoort.\n"
+"\n"
+"\"Windows naam\" is de letter van uw harde schijf onder Windows (de\n"
+"eerste schijf of partitie wordt \"C:\" genoemd)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": de huidige landselectie nagaan. Indien u zich niet in dit land\n"
+"bevindt, klik dan op de \"%s\"-knop en kies een ander land. Als uw land niet "
+"in de getoonde lijst staat, klik dan op de \"%s\"-knop om de complete\n"
+"landenlijst op te vragen."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Deze stap activeert slechts wanneer een bestaande GNU/Linux-partitie\n"
+"gevonden is op uw computer.\n"
+"\n"
+"Nu is het noodzakelijk dat u aangeeft of u een nieuwe installatie\n"
+"of een opwaardering van een bestaand Mageia-systeem\n"
+"wilt uitvoeren:\n"
+"\n"
+" * \"%s\". Dit verwijdert het oude systeem vrijwel volledig.\n"
+"Afhankelijk van uw partitionering, kunt u echter voorkomen dat\n"
+"een gedeelte van uw gegevens (met name \"home\"-directory's) \n"
+"worden overschreven. \n"
+"Indien u de partitionering van uw harde schijven wilt wijzigen, of het\n"
+"bestandssysteem wenst te wijzigen, dan dient u deze optie te kiezen.\n"
+"\n"
+" * \"%s\". Deze installatieklasse stelt u in staat de pakketten\n"
+"die momenteel op uw Mageia-systeem zijn geïnstalleerd te verversen.\n"
+"Uw huidige partitioneringsschema en gebruikersgegevens worden niet\n"
+" veranderd. De meeste andere configuratiestappen blijven beschikbaar,\n"
+"zoals bij een gewone installatie.\n"
+"\n"
+"Het gebruik van de ``Opwaardering''-optie zou prima moeten werken op\n"
+"Mageia versie \"8.1\" of recenter. Het uitvoeren van een\n"
+"opwaardering op versies eerder dan Mageia versie \"8.1\" is afgeraden."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhankelijk van de taal die u heeft gekozen, selecteert DrakX automatisch\n"
+"een bepaalde toetsenbordindeling. Ga na of de geselecteerde indeling u "
+"bevalt, en zoniet kies dan een andere toetsenbordindeling.\n"
+"\n"
+"Merk op dat de getoonde lijst toetsenbordindelingen bevat, en geen talen.\n"
+"Wanneer u in Nederland woont, heeft u waarschijnlijk een toetsenbord van "
+"het\n"
+"type \"VS (internationaal)\". Toetsenborden met een \"Nederlandse\" "
+"indeling\n"
+"komen niet veel voor. Het kan ook zijn dat u een Nederlands sprekende "
+"inwoner\n"
+"van België bent en gebruik maakt van een toetsenbord met Franse indeling.\n"
+"Deze installatiestap zorgt ervoor dat u in alle gevallen de juiste\n"
+"toetsenbordindeling kunt kiezen.\n"
+"\n"
+"Klik op de \"%s\"-knop om de complete lijst van ondersteunde\n"
+"toetsenbordindelingen te zien.\n"
+"\n"
+"Als u een toetsenbordindeling kiest welke gebaseerd is op een niet-Latijns\n"
+"alfabet, zal het volgende dialoogvenster u vragen om de toetscombinatie\n"
+"te kiezen die zal schakelen tussen de Latijn- en niet-Latijnse indelingen."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"De eerste stap is het kiezen van uw voorkeurstaal.\n"
+"\n"
+"Uw taalkeuze beïnvloedt de taal van de documentatie, het\n"
+"installatieprogramma en het systeem in het algemeen. Selecteer eerst\n"
+"de regio waarin u zich bevindt, en daarna de taal die u spreekt.\n"
+"\n"
+"Door te klikken op de \"%s\"-knop kunt u andere talen selecteren\n"
+"die op uw werkstation geïnstalleerd moeten worden. Het selecteren van\n"
+"andere talen zal de taalspecifieke bestanden voor systeemdocumentatie\n"
+"en toepassingen installeren. Als u bijvoorbeeld gastheer bent voor Spaanse\n"
+"gebruikers op uw machine, selecteert u Nederlands als eerste taal in het\n"
+"boom-overzicht en in de Geavanceerd-afdeling selecteert u \"%s\".\n"
+"\n"
+"Over UTF-8 (unicode)-ondersteuning: Unicode is een nieuwe tekencodering\n"
+"bedoeld om alle bestaande geschreven talen te omvatten. Volledige\n"
+"GNU/Linux-ondersteuning ervoor is echter nog in ontwikkeling.\n"
+"Daarom gebruikt Mageia het al dan niet, afhankelijk van de keuze\n"
+"van de gebruiker:\n"
+"\n"
+" * Indien u talen kiest met een sterke coderingstraditie (latin1\n"
+"talen, Russisch, Japans, Chinees, Koreaans, Thais, Grieks, Turks, meeste\n"
+"iso-8859-2 talen), dan wordt de gebruikelijke codering in eerste instantie\n"
+"gebruikt;\n"
+"\n"
+" * Andere talen gebruiken standaard Unicode;\n"
+"\n"
+" * Als twee of meer talen vereist zijn, en deze talen gebruiken niet \n"
+"dezelfde codering, dan wordt Unicode voor het hele systeem gebruikt;\n"
+"\n"
+" * Tenslotte, Unicode kan ook op aanvraag van de gebruiker voor het hele\n"
+"systeem worden afgedwongen door de optie \"%s\" te selecteren onafhankelijk\n"
+"van welke ta(a)l(en) u gekozen heeft.\n"
+"\n"
+"Merk op dat er geen beperking is in het aantal extra uit te kiezen talen.\n"
+"U kunt er meerdere kiezen of ze zelfs allemaal installeren door het \"%s\"\n"
+"vakje aan te kruisen. Ondersteuning voor een taal selecteren betekent dat\n"
+"vertalingen, lettertypen, spellingscontrole etc. ook voor die taal zullen\n"
+"worden geïnstalleerd.\n"
+"\n"
+"Om te schakelen tussen de diverse talen die op uw computer zijn\n"
+"geïnstalleerd, kunt u de opdracht \"localedrake\" uitvoeren\n"
+"als \"root\" om de taal voor het gehele systeem te veranderen.\n"
+"Het uitvoeren van deze opdracht als een gewone gebruiker zal slechts\n"
+"de taalinstellingen voor die individuele gebruiker veranderen."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spaans"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Gebruik standaard Unicode"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normaal gesproken ziet DrakX vanzelf het aantal knoppen op uw muis.\n"
+"Zoniet, dan neemt het aan dat u een tweeknops-muis heeft en\n"
+"zal deze instellen voor het nadoen van een derde knop. De derde\n"
+"muisknop van een tweeknopsmuis kan worden ``ingedrukt'' door\n"
+"tegelijkertijd de linker- en rechterknop te klikken.\n"
+"DrakX zoekt zelf uit of dit een PS/2-, seriële- of USB-muis is.\n"
+"\n"
+"Mocht u in het bezit zijn van een 3-knopsmuis zonder wieltje, dan kunt u\n"
+"de muis kiezen waarbij \"%s\" staat. Het installatieprogramma \n"
+"configureert uw muis dan zodanig dat u het wieltje kunt simuleren: om dit\n"
+"te doen, drukt u de middelste knop in en beweegt u de muis op en neer.\n"
+"\n"
+"Indien u een ander type muis wenst te specificeren, selecteer dan het\n"
+"gewenste type uit de getoonde lijst.\n"
+"\n"
+"U kunt het item \"%s\" selecteren om een ``algemeen'' muistype te kiezen\n"
+"dat met bijna alle muizen zal werken.\n"
+"Indien u een andere muis kiest dan de standaardmuis, zult u een muis-\n"
+"testscherm te zien krijgen. Gebruik de knoppen en het wieltje om te\n"
+"controleren dat de instellingen goed zijn en dat de muis goed werkt.\n"
+"Als de muis niet correct werkt, druk dan op de spatiebalk of de [Enter]-\n"
+"toets om de test te annuleren en terug te gaan naar de keuzelijst.\n"
+"\n"
+"Af en toe worden wielmuizen niet automatisch gevonden, dus dan dient u uw\n"
+"muis te selecteren uit de lijst. Zorg ervoor dat u degene kiest die\n"
+"correspondeert met de poort waaraan de muis verbonden is. Nadat u\n"
+"de muis geselecteerd heeft en op de \"%s\"-knop heeft geklikt,\n"
+"wordt een afbeelding van een muis op het scherm weergegeven. U dient dan\n"
+"het wieltje van uw muis te bewegen om uzelf ervan te verzekeren dat het\n"
+"correct geactiveerd is. Zodra u het muiswieltje beweegt, zult u het\n"
+"schermwieltje zien meebewegen. Test de knoppen en ga na dat de muispijl\n"
+"over het scherm beweegt wanneer u uw muis beweegt."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "met wiel-emulatie"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universeel | Iedere PS/2 & USB-muis"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Gelieve de juiste poort te kiezen. COM1 onder Windows wordt bijvoorbeeld\n"
+"\"ttyS0\" genoemd onder GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Een opstartlader is een klein programmaatje dat door de computer gestart\n"
+"wordt tijdens het opstarten. Het is verantwoordelijk voor het opstarten\n"
+"van het hele systeem. Normaal gesproken gaat de installatie van de\n"
+"opstartlader volkomen automatisch. Het installatieprogramma analyseert de\n"
+"bootsector van de schijf handelt naar bevind van zaken:\n"
+"\n"
+" * als een Windows-bootsector is gevonden, dan zal het deze vervangen door "
+"een GRUB/LILO bootsector. Op deze manier zult u de mogelijkheid hebben om "
+"ofwel GNU/Linux te starten, ofwel een ander besturingssysteem.\n"
+"\n"
+" * als een GRUB- of LILO-bootsector is gevonden, dan zal het deze vervangen "
+"door een nieuwe.\n"
+"\n"
+"Wanneer het installatieprogramma niet kan bepalen waar de bootsector "
+"geplaatst moet worden dan zal DrakX u vragen waar de\n"
+"opstartlader terecht moet komen. In het algemeen is \"%s\" de\n"
+"veiligste locatie. Met de keuze \"%s\" wordt er in het geheel geen \n"
+"opstartlader geïnstalleerd. Gebruik dit alleen als u weet wat u doet."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Het is nu tijd een afdruksysteem voor uw computer te selecteren. Andere\n"
+"besturingssystemen geven u er wellicht maar één, maar Mageia\n"
+"biedt er twee. Elk van deze afdruksystemen is het meest geschikt voor\n"
+"bepaalde typen configuraties.\n"
+"\n"
+" * \"%s\" - een afkorting van \"print, do not queue\", is de keuze indien\n"
+"u een directe verbinding tussen uw computer en uw printer heeft en u\n"
+"in staat wilt zijn om printtaken snel te stoppen in het geval van\n"
+"papierstoringen en u niet beschikt over netwerkprinters. (\"%s\" kan\n"
+"alleen omgaan met erg simpele netwerkprinttaken en is enigszins\n"
+"langzaam wanneer gebruikt in een netwerk.) \"pdq\" is de aanbevolen keuze\n"
+"als dit uw eerste kennismaking met GNU/Linux is.\n"
+"\n"
+" * \"%s\" staat voor ``Common Unix Printing System'' en is uitstekend \n"
+"geschikt om naar uw lokale printer af te drukken maar ook naar eentje aan\n"
+"de andere kant van de planeet. Het is eenvoudig te configureren en kan\n"
+"dienstdoen als een server of een client voor het antieke \"lpd\"\n"
+"afdruksysteem, zodat het overweg kan met oudere besturingssystemen\n"
+"die wellicht afdrukdiensten vereisen. Alhoewel het behoorlijk krachtig is,\n"
+"is de basisinstallatie bijna net zo eenvoudig als \"pdq\". In het geval dat\n"
+"u een \"lpd\"-server-emulatie nodig heeft, dient u de \"cups-lpd\"-"
+"voorziening\n"
+"in te schakelen. \"%s\" biedt grafische schillen voor het afdrukken en\n"
+"het beheren van de printer.\n"
+"\n"
+"Wanneer u nu een keuze maakt en er later achter komt dat uw afdruksysteem\n"
+"u niet bevalt dan kunt u het veranderen door PrinterDrake uit te voeren\n"
+"vanuit het Mageia Configuratiecentrum en op de \"%s\"-knop te klikken."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX zal om te beginnen zoeken naar IDE-apparaten die in uw\n"
+"computer aanwezig zijn. Het zal tevens zoeken naar één of meer PCI\n"
+"SCSI-kaart(en) in uw systeem. Als een SCSI-kaart gevonden is, zal\n"
+"DrakX automatisch het geschikte stuurprogramma installeren.\n"
+"\n"
+"Omdat hardware-bespeuring niet altijd gegarandeerd foutloos werkt,\n"
+"is het mogelijk dat DrakX uw harde schijven niet vindt. In dat geval\n"
+"zult u uw apparatuur handmatig moeten specificeren.\n"
+"\n"
+"In het geval dat u handmatig uw PCI SCSI-adapter heeft moeten specificeren,\n"
+"zal DrakX u vragen of u er opties aan wilt meegeven. Staat u DrakX toe om\n"
+"de apparatuur na te gaan voor kaartspecifieke opties die nodig zijn om de\n"
+"adapter te initialiseren. In de meeste gevallen zal DrakX deze stap\n"
+"probleemloos doorlopen.\n"
+"\n"
+"Als DrakX niet in staat is om automatisch te onderzoeken welke opties\n"
+"doorgegeven moeten worden aan de apparatuur, zult u handmatig het\n"
+"stuurprogramma moeten configureren."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": als een geluidskaart op uw computer gevonden is, dan staat\n"
+"dat hier weergegeven. In het geval dat de weergegeven geluidskaart niet\n"
+"degene is die daadwerkelijk aanwezig is in uw computer, dan kunt u op de\n"
+"knop klikken en een ander stuurprogramma kiezen."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Bij wijze van overzicht zal het installatieprogramma een lijstje tonen\n"
+"van de informatie die het heeft over uw computer.\n"
+"Afhankelijk van welke apparatuur u heeft, krijgt u enkele of alle van de\n"
+"onderstaande punten te zien. Elk punt bestaat uit het te configureren item,\n"
+"gevolgd door een korte samenvatting van de huidige configuratie. Klik op\n"
+"de corresponderende \"%s\"-knop om die aan te passen.\n"
+"\n"
+" * \"%s\": de huidige toetsenbordindeling nagaan en zonodig\n"
+"aanpassen.\n"
+" * \"%s\": de huidige landselectie nagaan. Indien u zich niet in dit\n"
+"land bevindt, klik dan op de \"%s\"-knop om een ander land te\n"
+"kiezen. Als uw land niet in de eerste getoonde lijst staat, klik dan op\n"
+"de \"%s\"-knop om de complete landenlijst te zien.\n"
+"\n"
+" * \"%s\": Normaal gesproken leidt DrakX uw tijdzone af aan de hand\n"
+"van het land dat u gekozen heeft. U kunt op de \"%s\" knop\n"
+"drukken als dit incorrect is.\n"
+"\n"
+" * \"%s\": de huidige muisconfiguratie nagaan. Zonodig kunt u op de knop "
+"klikken om hem aan te passen.\n"
+"\n"
+" * \"%s\": indien een geluidskaart gevonden is op uw systeem,\n"
+"wordt dat hier weergegeven. In het geval dat de aangegeven geluidskaart\n"
+"niet degene is die daadwerkelijk aanwezig is in uw computer, dan kunt u\n"
+"op deze knop klikken en een ander stuurprogramma uitkiezen.\n"
+"\n"
+" * \"%s\": mocht u in het bezit zijn van een TV-kaart, dan staat hier\n"
+"de informatie over de configuratie ervan. Wanneer u een TV-kaart heeft\n"
+"die niet gevonden is, klik dan op \"%s\" om een poging te doen om hem\n"
+"handmatig te configureren.\n"
+"\n"
+" * \"%s\": u kunt op \"%s\" klikken om de met de kaart geassocieerde \n"
+"parameters te wijzigen, als u denkt dat de configuratie verkeerd is.\n"
+"\n"
+" * \"%s\": normaal gesproken configureert DrakX uw\n"
+" grafische interface in een resolutie van \"800x600\" of \"1024x768\".\n"
+"Indien daarmee niet tevreden bent, klik dan op de \"%s\"-knop\n"
+"om uw grafische interface te herconfigureren.\n"
+"\n"
+" * \"%s\": Als u uw internettoegang of toegang tot het lokale\n"
+"netwerk wilt instellen, kunt u dat nu doen. Raadpleeg de gedrukte\n"
+"documentatie of gebruik het Mageia Configuratiecentrum nadat\n"
+"de installatie klaar is om te profiteren van volledige on-line hulp.\n"
+"\n"
+" * \"%s\": stelt u in staat HTTP- en FTP-proxy adressen te configureren\n"
+"als de computer waarop u installeert achter een proxyserver komt te staan.\n"
+"\n"
+" * \"%s\": dit item biedt u de mogelijkheid het beveiligingsniveau\n"
+"ingesteld in een eerdere stap opnieuw te definiëren.\n"
+"\n"
+" * \"%s\": indien u van plan bent uw computer te verbinden met het\n"
+"Internet dan is het een goed idee om uzelf te beschermen tegen indringers\n"
+"door een firewall op te zetten. Raadpleeg het corresponderende hoofdstuk\n"
+"uit de ``Beginnershandleiding'' voor details over de firewall-instellingen.\n"
+"\n"
+" * \"%s\": indien u uw opstartlader-configuratie wenst te \n"
+"veranderen, klikt u op deze knop. Alleen aankomen als u een gevorderde\n"
+"gebruiker bent. Raadpleeg de gedrukte documentatie of de on-line hulp\n"
+"over de configuratie van een opstartlader in het Mageia \n"
+"Configuratiecentrum.\n"
+" * \"%s\": U bent hier in staat om de diensten die op uw computer\n"
+"actief zullen zijn, fijn af te regelen. Indien u deze computer als server\n"
+"gaat inzetten dan is het een goed idee om deze instellingen na te lopen."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-kaart"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Interne ISDN kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafische interface"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Kies de harde schijf die u wilt wissen om uw nieuwe Mageia-\n"
+"partitie op te installeren. Wees voorzichtig, alle gegevens die\n"
+"op deze schijf staan zullen verloren gaan, en niet terug te halen zijn!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klik op \"%s\" wanneer u alle gegevens en partities die zich \n"
+"op deze harde schijf bevinden, wilt wissen. Wees voorzichtig, want na het\n"
+"klikken op \"%s\" zult u niet in staat zijn om enige op de schijf\n"
+"aanwezige gegevens of partities terug te halen, met inbegrip van alle "
+"Windows-gegevens.\n"
+"\n"
+"Klik op \"%s\" om deze operatie te stoppen zonder daarbij \n"
+"gegevens of partities op de schijf te verliezen."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Volgende ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Vorige"
diff --git a/perl-install/install/help/po/nn.po b/perl-install/install/help/po/nn.po
new file mode 100644
index 000000000..69519da74
--- /dev/null
+++ b/perl-install/install/help/po/nn.po
@@ -0,0 +1,1659 @@
+# Translation of nn to Norwegian Nynorsk
+# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+# Karl Ove Hufthammer <karl@huftis.org>, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nn\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-01-13 19:46+0100\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Du bør lesa vilkåra i lisensavtala nøye før du eventuelt held fram.\n"
+"Avtala dekkjer heile Mageia-distribusjonen. Kryss av for\n"
+"«%s» berre viss du er einig i alle vilkåra. Elles vil «%s»-knappen\n"
+"starta maskina på nytt."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er eit fleirbrukarsystem, der kvar brukar har sine eigne "
+"innstillingar\n"
+"og filer. Sjå «Starter Guide» for meir informasjon om fleirbrukarsystem. Men "
+"i\n"
+"motsetning til «root», som er systemadministratoren, kan ikkje brukarar du "
+"legg\n"
+"til no endra noko anna enn sine eigne filer og oppsett. Dette vernar "
+"systemet mot\n"
+"utilsikta eller vondsinna skadelege endringar frå brukarane.\n"
+"\n"
+"Du må laga minst éin vanleg brukarkonto for deg sjølv, og det er denne som "
+"er\n"
+"meint for dagleg bruk. Sjølv om det er veldig lett å logga inn som «root», og "
+"gjera\n"
+"kva som helst der, er det òg veldig farleg! Ein enkelt feil kan gjera at "
+"systemet\n"
+"ikkje lenger fungerer. Det verste som kan skje om du gjer ein alvorleg feil "
+"som vanleg\n"
+"brukar, er at du mistar noko data, men dette går då ikkje utover heile "
+"systemet.\n"
+"\n"
+"Første feltet spør etter heile namnet ditt. Dette er sjølvsagt ikkje "
+"obligatorisk, og\n"
+"du kan skriva inn kva du måtte ønskja. Første ord du skriv inn vert kopiert "
+"til\n"
+"«%s»-feltet, som er brukarnamnet brukaren skal bruka for å logga på "
+"systemet.\n"
+"Du kan òg endra dette brukarnamnet, om du ønskjer.\n"
+"\n"
+"Neste steg er å velja eit passord. Frå eit tryggleikssynspunkt er ikkje "
+"passordet til\n"
+"ein vanleg brukar like viktig som «root»-passordet, men du bør likevel ikkje "
+"gjera\n"
+"det for lett å gjetta, eller la det stå tomt. Det er filene dine passordet "
+"er meint å verna.\n"
+"\n"
+"Du har trykt på «%s», kan du leggja til andre brukarar. Legg for eksempel til "
+"éin\n"
+"brukar for kvar av vennane dine, far din, søster di, og så vidare. Trykk «%s» "
+"når\n"
+"du er ferdig å leggja til brukarar.\n"
+"\n"
+"Du kan velja standardskal (bash er standard) ved å trykkja «%s».\n"
+"\n"
+"Når du er ferdig med å leggja til brukarar, vert du spurd om å velja ein "
+"brukar som\n"
+"automatisk vert logga på systemet når maskina startar opp. Om du ønskjer å\n"
+"bruka denne funksjonen (og er lite opptatt av lokal tryggleik), kan du velja "
+"brukar\n"
+"og vindaugsbehandlar, og så trykkja «%s». Om du ikkje ønskjer å ha bruka "
+"denne\n"
+"funksjonen, så fjern merket for «%s»."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønskjer du å bruka denne funksjonen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er ei oversikt over Linux-partisjonar på harddisken. Du bør vanlegvis\n"
+"bruka vala gjort her, då dei er gode for dei fleste maskinoppsett. Men viss\n"
+"du gjer endringar, må du hugsa å definera ein rotpartisjon («/»). Ikkje lag "
+"han\n"
+"så liten at du ikkje kan installera all programvara du treng. Om du ønskjer\n"
+"å lagra filene dine på ein annan partisjon, må du òg laga ein «/home»-"
+"partisjon\n"
+"(berre mogleg om du har meir enn éin Linux-partisjon tilgjengeleg).\n"
+"\n"
+"Følgjande vert vist for kvar partisjon: «namn», «kapasitet».\n"
+"\n"
+"«Namn» er ordna slik: «harddisktype», «harddisknummer»,\n"
+"«partisjonsnummer» (eks. «hda1»).\n"
+"\n"
+"«Harddisktype» er «hd» viss harddisken er ein IDE-harddisk, og\n"
+"«sd» viss han er ein SCSI-harddisk.\n"
+"\n"
+"«Harddisknummer» er alltid ein bokstav etter «hd» eller «sd». For\n"
+"IDE-harddiskar:\n"
+"\n"
+" – «a» tyder «hovudharddisk på første IDE-kontrollar».\n"
+" \n"
+" – «b» tyder «slaveharddisk på første IDE-kontrollar».\n"
+" \n"
+" – «c» tyder «hovudharddisk på andre IDE-kontrollar».\n"
+" \n"
+" – «c» tyder «slaveharddisk på andre IDE-kontrollar».\n"
+" \n"
+" Med SCSI-harddiskar tyder «a» lågaste SCSI-ID, og «b»\n"
+" nest lågaste SCSI-ID, og så vidare."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia-distribusjonen ligg fordelt på fleire plater. Viss ein pakke "
+"ligg på ei anna plate, vert du automatisk bedt om å setja ho i. Berre trykk «%"
+"s» om du ikkje har denne plata. Dei aktuelle pakkane vert då ikkje "
+"installerte."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det må no velja kva program du ønskjer å installera på maskina. Det finst\n"
+"tusenvis av programpakkar for Mageia, og desse er her ordna i "
+"grupper.\n"
+"\n"
+"Pakkane er grupperte i fire kategoriar, men du kan velja program frå alle\n"
+"kategoriane, så eit «Arbeidsstasjon»-system kan godt ha program frå\n"
+" «Tenar»-kategorien.\n"
+"\n"
+" – «%s»: Om du har tenkt å bruka maskina som ein arbeidsstasjon, vel éi\n"
+"eller fleire av gruppene i arbeidsstasjonskategorien.\n"
+"\n"
+" – «%s»: Om du har tenkt å bruka maskina for programmering, vel dei gruppene "
+"du ønskjer i programmeringskategorien. «LSB»-gruppa vil prøva\n"
+"å setja opp systemet i samsvar med «Linux Standard Base»-standarden.\n"
+"\n"
+" Vel du «LSB»-gruppa vert lg 2.4-kjernen og ikkje 2.6-kjernen installert.\n"
+"Dette er for å sikra 100 %% samsvar med LSB. Men sjølv om du ikkje vel\n"
+"«LSB»-gruppa vil du framleis ha eit system som er nesten 100 %% i samsvar\n"
+"med denne standarden.\n"
+"– «%s»: Om du har tenkt å bruka maskina som ein tenar, vel dei av tenestene\n"
+"du ønskjer å installera på maskina.\n"
+"\n"
+" – «%s»: Det er her du vel det grafiske skrivebordsmiljøet du vil ha. Du må\n"
+"velja minst eitt for at å ha det grafiske grensesnittet tilgjengeleg.\n"
+"\n"
+"Om du plasserer peikaren over eit gruppenamn, vert det vist ei kort\n"
+"forklaring for den gruppa.\n"
+"\n"
+"Du kan kryssa av for «%s» om du kjenner til pakkane, eller av annan grunn\n"
+"ønskjer full kontroll over kva som vert installert.\n"
+"\n"
+"Om du starta installasjonen i «%s»-modus, kan du fjerna alle grupper, for\n"
+"å unngå installera nye pakkar. Dette er nyttig for å reparera eller "
+"oppgradera\n"
+"eit system.\n"
+"\n"
+"Om du fjernar alle gruppene ved ei vanleg installering (ikkje\n"
+"ei oppgradering), vert du spurd om kva type minimal installering du "
+"ønskjer:\n"
+"\n"
+" – «%s»: Installer minst mogleg pakkar for å ha eit grafisk skrivebord.\n"
+"\n"
+" – «%s»: Installer grunnsystemet, pluss grunnverktøya og hjelpetekst for\n"
+"desse. Dette oppsettet passar for tenarar.\n"
+"\n"
+" – «%s»: Installer absolutt minst mogleg pakkar for eit fungerande Linux-\n"
+"system. Du vil då berre få eit kommandolinjegrensesnitt. Total storleik for\n"
+"dette valet er rundt 65 MiB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Oppgrader"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grunnleggjande hjelpetekstar"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Heilt minimal installasjon"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Viss du vil velja kva einskildpakkar du vil installera sjølv, får du ei\n"
+"oversikt over alle pakkar, delt inn i grupper og undergrupper. Du kan\n"
+"velja å installera heile grupper, undergrupper eller einskildpakkar.\n"
+"\n"
+"Du vil sjå ei kort pakkeskildring til høgre når du vel ein pakke.\n"
+"\n"
+"!! Viss du har valt å installera ein tenarpakke, anten direkte, eller som "
+"del\n"
+"av ei gruppe, vert du bedt om å stadfesta at du verkeleg vil installera "
+"han.\n"
+"Som standard vert alle installerte tenester starta automatisk ved oppstart.\n"
+"Sjølv om tenarane ikkje hadde nokon kjente tryggleikshol når distribusjonen\n"
+"vart laga, er det mogleg at at nye hol er oppdaga no. Om du ikkje veit kva\n"
+"ei teneste er der for, trykk «%s». Trykkjer du «%s» vert tenestene "
+"installerte,\n"
+"og automatisk starta ved oppstart. !!\n"
+"\n"
+"«%s»-valet er brukt for å slå av åtvaringa som du får når installasjons-\n"
+" programmet automatisk vel ein pakke for å ordna opp i avhengnader.\n"
+"Nokre pakkar er avhengige av kvarandre, sånn at du må installera éin\n"
+"særskild pakke før du kan installera ein annan. Dette kan installasjons-\n"
+"programmet ordna opp i sjølv, heilt automatisk.\n"
+"\n"
+"Du kan henta inn ei ferdiglaga pakkeliste ved å trykkja på det litle\n"
+"diskettikonet nedt i lista. Dette er nyttig viss du har mange maskiner som\n"
+"du vil installera dei same programma på. Sjå det andre tipset i siste\n"
+"installasjonssteg for meir informasjon om korleis du lagar ei slik "
+"pakkeliste."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatisk avhengnadshandtering"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"No kan du velja kva tenester du vil starta ved oppstart.\n"
+"\n"
+"Her er ei oversikt over alle tenestene som er tilgjengeleg under denne\n"
+"installasjonen. Sjå nøye gjennom lista, og kryss vekk dei du ikkje treng.\n"
+"\n"
+"Trykk på ei teneste for å sjå ei kort skildring av ho. Om du ikkje veit\n"
+"om du treng ei teneste eller ikkje, bør du la standardinnstillinga vera.\n"
+"\n"
+"!! Ver veldig forsiktig om du ønskjer å bruka maskina som tenar. Du bør\n"
+"ikkje starta tenester du ikkje er heilt sikker på at du treng. Hugs at "
+"fleire\n"
+"av tenestene kan vera farlege om dei køyrer på ein tenar.!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux handterer klokka internt etter GMT (Greenwich Mean Time), men\n"
+"viser ho etter den tidssona du sjølv vel. Men om klokka på hovudkortet "
+"heller\n"
+"er sett til lokaltid, kan du slå av denne funksjonen ved å trykkja «%s». "
+"Dette\n"
+"er nyttig om maskina køyrer andre operativsystem i tillegg, som Windows™.\n"
+"\n"
+"«%s»-valet stiller automatisk klokka etter ein tidstenar over Internett.\n"
+"Du må ha eit Internett-samband for at dette skal fungera. Du bør velja\n"
+"ein tenar som ligg geografisk nær deg. Valet installerer faktisk ein "
+"tidstenar\n"
+"som andre maskiner på lokalnettet òg kan bruka."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Skjermkort\n"
+"\n"
+"Installasjonsprogrammet klarar vanlegvis å finna ut kva skjermkort du har,\n"
+"og å setja dette opp automatisk. Men viss dette ikkje går, kan du velja "
+"kortet\n"
+"sjølv frå denne oversikta.\n"
+"\n"
+"Viss det finst tenarar med og utan 3D-akselerasjon for skjermkortet ditt,\n"
+"kan du velja tenaren som passar best for deg."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X er hjarta i det grafiske grensesnittet til GNU/Linux, og alle dei "
+"grafiske\n"
+"skrivebordsmiljøa (KDE, GNOME, AfterStep, WindowsMaker, med fleire)\n"
+"som følgjer med Mageia avheng av X.\n"
+"\n"
+"Du vil sjå ei liste over forskjellige innstillingar til det grafiske "
+"oppsettet:\n"
+"\n"
+"Skjermkort\n"
+"\n"
+" Installasjonsprogrammet vil vanlegvis finna og setja opp skjermkortet på\n"
+"maskina di automatisk, men du kan òg velja kortet frå lista sjølv.\n"
+"\n"
+" Om det finst to tenarar, éin med og éin utan 3D-støtte, for kortet ditt,\n"
+"må du sjølv velja kven av dei du ønskjer.\n"
+"\n"
+"\n"
+"\n"
+"Skjerm \n"
+" Installasjonsprogrammet vil vanlegvis finna og setja opp skjermen kopla\n"
+"til maskina di automatisk, men du kan òg velja skjermen frå lista sjølv.\n"
+"\n"
+"\n"
+"\n"
+"Skjermoppløysing\n"
+"\n"
+" Her kan du velja skjermoppløysing og fargedjupn for skjermen din. Vel\n"
+"dei innstillingane som passar best for deg, og hugs at du alltids kan endra\n"
+"dei igjen etter installasjonen. Det vert òg vist eit bilete av korleis "
+"oppsettet\n"
+" vil sjå ut på skjermen.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Om denne innstillingen vert vist er avhengig av maskinvaren din.\n"
+"\n"
+" Systemet vil prøva å visa eit testskjermbilete med innstillingane du "
+"valde.\n"
+"Klarar du å sjå spørsmålet på testbiletet, og svara «%s», går vegvisaren\n"
+"vidare til neste steg. Viss ikkje, er nokre av innstillingane feil, og "
+"testbiletet\n"
+"forsvinn etter 12 sekund. Du kan då endra innstillingane til du har eit "
+"skjerm-\n"
+"oppsett som fungerer.\n"
+"\n"
+"\n"
+"\n"
+"Val\n"
+"\n"
+" Her kan du velja om vil starta det grafiske grensesnittet automatisk ved\n"
+"oppstart. Du bør velja «%s» berre om maskina skal brukast til tenar, eller\n"
+"om du ikkje klarte å setja opp X rett."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjerm\n"
+"\n"
+"Installasjonsprogrammet klarar vanlegvis å finna ut kva skjerm du har,\n"
+"og å setja denne opp automatisk. Men viss dette ikkje går, kan du velja "
+"skjermen\n"
+"sjølv frå denne oversikta."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Oppløysing\n"
+"\n"
+"Her kan du velja kva skjermoppløysing og fargedjupn du vil køyra med.\n"
+"Vel dei innstillingane som passar best for deg (du kan òg endra "
+"innstillingane\n"
+"i ettertid). Det vert vist eit eksempel på valt oppsett på skjermbiletet."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Viss det både finst tenarar med og utan 3D-akselerasjon for skjermkortet "
+"ditt,\n"
+"kan du velja tenaren som passar best for deg."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Val\n"
+"\n"
+" Her kan du velja om du vil starta opp i eit grafisk brukargrensesnitt\n"
+"automatisk. Du bør velja «%s» viss du skal bruka maskina som ein tenar,\n"
+"eller du før ikkje har klart å setja opp det grafiske oppsettet."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"No må du velja kor du vil installera Mageia på harddisken din. Viss\n"
+"harddisken er tom, eller viss eit anna operativsystem brukar heile disken,\n"
+"må du først partisjonera han. Å partisjonera vil seia å dela opp disken,\n"
+"slik at for eksempel kvart operativsystem får sin eigen del.\n"
+"\n"
+"DÃ¥ du vanlegvis ikkje kan angra partisjonering av harddisken, og feilaktig\n"
+"partisjonering kan føra til at du mistar data om det allereie er installert\n"
+"eit operativsystem, kan dette vera noko vanskeleg for uvørne brukarar.\n"
+"Heldigvis finst det her ein vegvisar som losar deg gjennom heile prosessen.\n"
+"Før du held fram bør du først ta deg godt tid til å lesa denne "
+"hjelpeteksten.\n"
+"\n"
+"Litt avhengig av harddiskoppsettet ditt kan du ha eitt eller fleire av desse "
+"vala:\n"
+"\n"
+"– «%s»: Dette utfører automatisk partisjonering av den tomme harddisken din.\n"
+"Du vil ikkje få fleire spørsmål om du vel dette.\n"
+"\n"
+"– «%s»: Vegvisaren har funne éin eller fleire Linux-partisjonar på harddisken "
+"din.\n"
+"Vel dette om du ønskjer å bruka dei. Du vert så bedt om å velja "
+"monteringspunkt\n"
+"for kvar av partisjonane. Dei gamle monteringspunkta vert valt som standard, "
+"og\n"
+"vanlegvis bør du ikkje endra på desse.\n"
+"\n"
+"– «%s»: Om Microsoft Windows er installert og tar opp all plass på harddisken "
+"din,\n"
+"må du frigjera noko plass til Mageia. Du kan anten sletta Windows-\n"
+"partisjonen din (sjå «Slett heile disken»-valet), eller endra storleiken på "
+"Windows-\n"
+"partisjonen (både FAT- og NTFS-filsystema er støtta). Du vil ikkje mista "
+"noko\n"
+"data ved endra storleiken på partisjonen, så lenge du har defragmentert han\n"
+"på førehand. Men du bør uansett ta reservekopi av alle dataa. Du bør velja "
+"dette\n"
+"valet om du ønskjer å bruka både Mageia og Microsoft Windows på "
+"same\n"
+"maskina.\n"
+"\n"
+" Før du vel dette, bør du vera klar over at Windows-partisjonen vil vera "
+"mindre\n"
+"etterpå, slik at du har mindre ledig plass til å lagra dokument eller "
+"installera\n"
+"programvare.\n"
+"\n"
+"– «%s»: Vel dette om du ønskjer å sletta alle data og alle partisjonar på\n"
+"harddisken din, og installera Mageia over desse. Ver forsiktig, då "
+"du ikkje\n"
+"kan angra denne handlinga.\n"
+"\n"
+" !! Viss du vel dette, vert alle dataa på harddisken din sletta. !!\n"
+"\n"
+"– «%s»: Dette valet er synleg viss heile harddisken er oppteken av Microsoft\n"
+"Windows. Dette vil sletta alt på harddisken, og partisjonera alt på nytt.\n"
+" \n"
+"\n"
+" !! Viss du vel dette, vert alle dataa på harddisken din sletta. !!\n"
+"\n"
+"– «%s»: Vel dette om du vil partisjonera harddisken manuelt. Ver forsiktig. "
+"Dette er eit kraftig verktøy, og det er lett å mista data. Derfor bør du "
+"berre velja dette om du har erfaring med dette frå før. Sjå bruksrettleiinga "
+"for meir informasjon."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Bruk gammal partisjon"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slett heile disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"SÃ¥nn! Installasjonen er no ferdig, og Mageia er klar til bruk. "
+"Berre\n"
+"trykk «%s» for å starta maskina på nytt. Ikkje gløym å fjerna installasjons\n"
+"mediet (CD-ROM-en eller disketten) først. Når maskina er starta opp att,\n"
+"får du sjå ein meny der du kan velja kva operativsystem du vil køyra.\n"
+"\n"
+"«%s»-knappen viser to knappar til:\n"
+"\n"
+"– «%s»: Lag ein installasjonsdiskett for automatisk installering med same\n"
+"oppsettet du har brukt no.\n"
+"\n"
+" Du får òg to nye val når du har trykt på knappen:\n"
+" – «%s»: Halvautomatisk installering. Det er berre partisjoneringsdelen\n"
+" som er manuell.\n"
+" – «%s»: Heilautomatisk installering. Harddisken vert heilt tømt, og alle\n"
+"gamle data går tapt.\n"
+"\n"
+" Denne funksjonen er veldig nyttig når du skal installera Mageia "
+"på\n"
+" fleire like maskiner. Sjå avsnittet om automatisk installering på "
+"nettstaden vår for\n"
+"meir informasjon.\n"
+"\n"
+"– «%s»: Lagrar ei liste over pakkane brukt i denne installasjonen. Du kan "
+"bruka\n"
+"denne pakkelista når du skal installera på ei anna maskin ved å setja inn "
+"disketten,\n"
+"og starta installasjonen. Trykk «F1» når installasjonsprogrammet startar, "
+"skriv\n"
+"inn «linux defcfg=\"floppy\"» og trykk så «Enter».\n"
+"\n"
+"Til dette siste treng du ein FAT-formatert diskett. For å laga ein kan du "
+"skriva\n"
+"inn «mformat a:» eller «fdformat /dev/fd0» etterfølgd av «mkfs.vfat /dev/fd0»."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lag diskett for automatisk installering"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Vis du vil bruka gamle partisjonar, kan du velja å formatera dei på nytt\n"
+"for å sletta alle data på dei. Viss du vil dette, så vel desse "
+"partisjonane.\n"
+"\n"
+"Merk at det ikkje er nødvendig å formatera alle gamle partisjonar på nytt.\n"
+" Du må formatera partisjonane som inneheld operativsystemet (som «/»,\n"
+"«/usr» og «/var»), men du treng ikkje formatera partisjonar med brukardata\n"
+"du ønskjer å behalda (som «/home»).\n"
+"\n"
+"Ver forsiktig når du vel partisjonar. Etter formatering vert alle data på "
+"partisjonane sletta, og du ikkje gjenoppretta dei seinare.\n"
+"\n"
+"Trykk «%s» når du er klar til å formatera partisjonane.\n"
+"\n"
+"Trykk «%s» om du vil velja ein annan partisjon for Mageia-systemet.\n"
+"\n"
+"Trykk «%s» om du ønskjer å velja partisjonar å gjennomsøkja etter fysiske "
+"feil."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Det har no truleg komme fleire oppdateringar til pakkane i Mageia\n"
+"sidan denne utgåva vart produsert. Det kan for eksempel vera feil som er\n"
+"fiksa, eller tryggleikshol som er tetta. Du kan lasta ned desse "
+"oppdateringane\n"
+"frå Internett om du ønskjer. Kryss av for «%s» om du har eit fungerande\n"
+"Internett-samband, eller vel «%s» om du heller vil installera oppdateringane\n"
+"seinare.\n"
+"\n"
+"Vel du «%s», får du ei liste over plassar du kan lasta ned oppdateringar\n"
+"frå. Du bør velja ein plass nær deg. Du vil så få sjå ei pakkeliste. Vel "
+"pakkane\n"
+"du ønskjer å oppdatera, og trykk «%s» for lasta dei ned og installera dei, "
+"eller\n"
+"vel «%s» for å avbryta."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Du kan no velja tryggleiksnivå for maskina. Vanlegvis bør du ha høgare\n"
+"tryggleiksnivå viss maskina inneheld svært viktige data, eller er kopla\n"
+"direkte til Internett. Men merk at eit høgare tryggleiksnivå gjerne fører "
+"til\n"
+"eit mindre brukarvenleg system.\n"
+"\n"
+"Vel «standard» om du ikkje veit kva nivå du skal ha. Du kan uansett\n"
+"endra tryggleiksnivået frå kontrollpanelet seinare.\n"
+"\n"
+"I «%s»-feltet kan du velja kven som skal vera tryggleiksansvarleg for\n"
+"maskina. Han eller ho får då tilsendt alle tryggleiksmeldingar."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tryggleiksansvarleg"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"No må du velja kva partisjonar du vil installera Mageia på. Om du "
+"allereie har ferdige partisjonar, frå tidlegare installasjonar av GNU/Linux "
+"eller av partisjoneringsverktøy, kan du bruka desse. Elles må du laga nye "
+"partisjonar.\n"
+"\n"
+"For å laga partisjonar, må du først velja ein harddisk. Du gjer dette ved å "
+"velja «hda» for første IDE-harddisk, «hdb» for andre, «sda» for første SCSI-"
+"harddisk, og så vidare.\n"
+"\n"
+"Du har desse vala ved partisjonering av harddisken du valte:\n"
+"\n"
+" – «%s»: Slettar alle partisjonar på harddisken.\n"
+"\n"
+" – «%s»: Lagar automatisk ext4- og vekslepartisjonar på den ledige "
+"harddiskplassen.\n"
+"\n"
+"«%s»: Gjev tilgang til fleire funksjonar:\n"
+"\n"
+" – «%s»: Lagrar partisjonstabellen på ein diskett. Dette er nyttig for "
+"eventuell seinare gjenoppretting. Du bør lagra partisjonstabellen.\n"
+"\n"
+" – «%s»: Lèt deg gjenoppretta ein tidlegare lagra partisjonstabell frå ein "
+"diskett.\n"
+"\n"
+" – «%s»: Om partisjonstabellen er øydelagt, kan du prøva å gjenoppretta han "
+"her. Ver forsiktig, og hugs at dette ikkje alltid vil verka.\n"
+"\n"
+" – «%s»: Avbryter alle endringar, og lastar inn den opphavlege "
+"partisjonstabellen.\n"
+"\n"
+" – «%s»: Viss du fjernar krysset her, må brukarane manuelt montera og "
+"avmontera flyttbare medium, som diskettar og CD-plater.\n"
+"\n"
+" – «%s»: Bruk dette valet om du vil bruka ein vegvisar til å partisjonera "
+"harddisken. Du bør velja dette om du ikkje har god kjennskap til "
+"harddiskpartisjonering.\n"
+"\n"
+" – «%s»: Bruk dette valet for å avbryta endringane.\n"
+"\n"
+" – «%s»: Fleire partisjonsval og meir informasjon om harddisken.\n"
+"\n"
+" – «%s»: Når du er ferdig å partisjonera harddisken, vil dette lagra "
+"endringane dine.\n"
+"\n"
+"Du kan fininnstilla partisjonsstorleiken ved å bruka piltastane på "
+"tastaturet.\n"
+"\n"
+"Merk: Du har tilgang til alle funksjonane frå tastaturet. Du kan flytta "
+"mellom partisjonar med «Tab», «Pil opp»- og «Pil ned»-tastane.\n"
+"\n"
+"NÃ¥r ein partisjon er valt kan du bruka:\n"
+"\n"
+" – «Ctrl + C» for å laga ein ny partisjon (når ein tom partisjon er valt).\n"
+"\n"
+" – «Ctrl + D» for å sletta ein partisjon.\n"
+"\n"
+" – «Ctrl + M» for å definera monteringspunkt.\n"
+"\n"
+"Du kan lesa meir om forskjellige filsystem i kapittelet «ext2FS» i "
+"referansehandboka.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatisk montering av fjernbare medium"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Byt mellom normal- og ekspertmodus"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Oppdaga meir enn éin Microsoft-partisjon på harddisken.\n"
+"Vel kven av dei du vil endra storleiken på for å installera det nye\n"
+"Mageia-operativsystemet.\n"
+"Kvar partisjon vert vist slik: Linux-namn, Windows-namn, storleik.\n"
+"Linuxnamnet er skriven slik: harddisktype, harddisknummer, partisjonsnummer "
+"(for eksempel «hda1»).\n"
+"\n"
+"Harddisktypen er «hd» viss harddisken er ein IDE-harddisk og «sd»\n"
+"viss han er ein SCSI-harddisk.\n"
+"Harddisknummeret er alltid ein bokstav etter «hd» eller «sd». For\n"
+"IDE-harrdiskar:\n"
+"\n"
+" * «a» tyder hovudharddisk på primær IDE-kontrollar.\n"
+"\n"
+" * «b» tyder slaveharddisk på primær IDE-kontrollar.\n"
+"\n"
+" * «c» tyder hovudharddisk på sekundær IDE-kontrollar.\n"
+"\n"
+" * «d» tyder slaveharddisk på sekundær IDE-kontrollar.\n"
+"\n"
+"For SCSI-harddiskar tyder «a» lågaste SCSI-ID, «b» nest lågaste\n"
+"SCSI-ID, og så vidare.\n"
+"Windowsnamnet er stasjonsbokstaven til harddisken under Windows\n"
+"(første disk eller partisjon vert kalla «C:»."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: Kontroller landsvalet. Trykk «%s» for velja eit anna land.\n"
+"Du kan velja «%s» for å få ei fullstendig liste over land."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX vil automatisk velja eit passande tastaturoppsett avhengig av språket\n"
+"du valde. Sjå etter at tastaturoppsettet stemmer, og vel eventuelt eit "
+"anna.\n"
+"\n"
+"Det kan òg vera at du ikkje har eit tastatur som passar heilt til språket "
+"ditt.\n"
+"Du kan for eksempel ha eit sveitsisk tastatur om du er ein engelsktalande\n"
+"sveitsar. Du kan då velja eit passande tastaturoppsett her.\n"
+"\n"
+"Trykk «%s» for ei fullstendig liste over støtta tastatur.\n"
+"\n"
+"Om du vel eit tastaturoppsett som ikkje er basert på det latinske "
+"alfabetet,\n"
+"kan du på neste skjermbilete velja ein snøggtast for å byta mellom latinsk "
+"og\n"
+"ikkje-latinsk oppsett."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universell (alle PS/2- og USB-mus)"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vel porten som er brukt. For eksempel har porten som heiter\n"
+"«COM1» under Windows fått namnet «ttyS0» i GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: Eventuelle lydkort funne vert vist her. Viss lydkortet vist her ikkje "
+"er\n"
+"installert i maskina di, kan du trykkja knappen og velja ein annan drivar."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grensesnitt"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vel harddisken du ønskjer å sletta for å installera den nye Mageia-\n"
+"partisjonen. Alle data på denne stasjonen vil då gå tapt for all framtid."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Trykk «%s» om du ønskjer å sletta alle data og partisjonar på denne\n"
+"harddisken. Ver forsiktig, då du ikkje kan gjenoppretta eventuelle data\n"
+"eller partisjonar, heller ikkje Windows-data, på harddisken etter å ha "
+"trykt\n"
+"«%s».\n"
+"\n"
+"Trykk «%s» for å avbryta operasjonen utan å tapa data eller partisjonar\n"
+"på harddisken."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Neste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Førre"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "«%s»: Trykk «%s» for å opna vegvisaren for skrivaroppsett. Sjå\n"
+#~ "brukarrettleiinga for meir informasjon om oppsett av skrivarar. "
+#~ "Brukargrensesnittet\n"
+#~ "vist der liknar på det brukt ved installering."
+
+#~ msgid "authentication"
+#~ msgstr "autentisering"
diff --git a/perl-install/install/help/po/pa_IN.po b/perl-install/install/help/po/pa_IN.po
new file mode 100644
index 000000000..8bfdd2dad
--- /dev/null
+++ b/perl-install/install/help/po/pa_IN.po
@@ -0,0 +1,1178 @@
+# translation of DrakX.po to Punjabi
+# translation of DrakX.po to Panjabi
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Kanwaljeet Singh Brar <kanwaljeetbrar@yahoo.co.in>, 2005.
+# Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-03-27 17:55+0530\n"
+"Last-Translator: Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>\n"
+"Language-Team: Punjabi <punlinux-i18n@lists.soruceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"ਜਾਰੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਤà©à¨¹à¨¾à¨¨à©‚à©° ਲਾਈਸਿੰਸ ਧਿਆਨ ਨਾਲ ਪੜਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ\n"
+"ਪੂਰੇ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੰਡ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਜੇ ਤà©à¨¸à©€à¨‚ ਸਾਰੀਆਂ ਗੱਲਾਂ ਨਾਲ ਸਹਿਮਤ\n"
+"ਹੋ ਜੋ ਇਸ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹਨ, \"%s\" ਬਕਸੇ ਨੂੰ ਚà©à¨£à©‹à¥¤ ਜੇ ਨਹੀਂ, \"%s\" ਬਟਨ ਤੇ ਕਲਿੱਕ\n"
+"ਕਰਕੇ ਕੰਪਿਊਟਰ ਮà©à©œ ਚੱਲੇਗਾ।"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ਕੀ ਤà©à¨¸à©€à¨‚ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਇੰਸਟਾਲੇਸ਼ਨ ਕਈ CD-ROM ਤੇ ਵੰਡੀ ਗਈ ਹੈ। ਜੇ ਇੱਕ ਚà©à¨£à¨¿à¨†\n"
+"ਪੈਕੇਜ ਹੋਰ CD-ROM ਤੇ ਸਥਿਤ ਹੈ, DrakX ਮੌਜੂਦਾ CD ਨੂੰ ਰੱਦ ਕਰ ਦੇਵੇਗਾ\n"
+"ਤà©à¨¹à¨¾à¨¨à©‚à©° ਲੋੜੀਂਦੀ CD ਪਾਉਣ ਲਈ ਪà©à©±à¨›à©‡à¨—ਾ। ਜੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਕੋਲ ਲੋੜੀਂਦੀ CD ਨਹੀਂ\n"
+"ਹੈ, ਸਿਰਫ \"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ, ਅਨà©à¨¸à¨¾à¨°à©€ ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ\n"
+"ਹੋਵੇਗਾ।"
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ਨਵੀਨੀਕਰਨ"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "ਮà©à©±à¨¢à¨²à©€ ਦਸਤਾਵੇਜ਼ੀ ਨਾਲ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ਯਕੀਨਨ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ਸਵੈ-ਚਾਲਤ ਨਿਰਭਰਤਾ"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "ਸਵੈਚਾਲਤ ਸਮਾਂ ਸਮਕਾਲਤਾ"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"ਮਾਨੀਟਰ\n"
+"\n"
+" ਆਮ ਤੌਰ ਤੇ ਇੰਸਟਾਲਰ ਸਵੈ ਹੀ ਤà©à¨¹à¨¾à¨¡à©‡ ਸਿਸਟਮ ਤੇ ਜà©à©œà©‡ ਮਾਨੀਟਰ ਨੂੰ ਖੋਜਦਾ ਅਤੇ\n"
+"ਸੰਰਚਿਤ ਕਰਦਾ ਹੈ। ਜੇ ਇਹ ਠੀਕ ਨਹੀਂ, ਤà©à¨¸à©€à¨‚ ਮਾਨੀਟਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚੋਂ\n"
+"ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਜà©à©œà¨¿à¨† ਮਾਨੀਟਰ ਚà©à¨£ ਸਕਦੇ ਹੋ।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"ਰੈਜ਼ੋਲੂਸ਼ਨ\n"
+"\n"
+" ਇੱਥੇ ਤà©à¨¸à©€à¨‚ ਆਪਣੇ ਗਰਾਫਿਕਸ਼ ਹਾਰਡਵੇਅਰ ਲਈ ਉਪਲੱਬਧ ਰੈਜ਼ੋਲà©à¨¶à¨¨ ਅਤੇ ਰੰਗ ਡੂੰਘਾਈ\n"
+"ਚà©à¨£ ਸਕਦੇ ਹੋ। ਇੱਕ ਜੋ ਤà©à¨¹à¨¾à¨¡à©€ ਲੋੜ ਪੂਰੀ ਕਰਦਾ ਹੈ ਚà©à¨£à©‹ (ਤà©à¨¸à©€à¨‚ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ\n"
+"ਤਬਦੀਲੀ ਕਰ ਦੇ ਯੋਗ ਹੋਵੋਗੇ)। ਚà©à¨£à©€ ਸੰਰਚਨਾ ਦਾ ਨਮੂਨਾ ਮਾਨੀਟਰ ਤਸਵੀਰ\n"
+"ਵਿੱਚ ਵਿਖਾਇਆ ਗਿਆ ਹੈ।"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"ਜਦੋਂ ਤà©à¨¹à¨¾à¨¡à©‡ ਕਾਰਡ ਲਈ 3D ਪà©à¨°à¨µà©‡à¨— ਸਮੇਤ ਜਾਂ ਬਿਨਾਂ, ਵੱਖ-ਵੱਖ ਸਰਵਰ\n"
+"ਉਪਲੱਬਧ ਹੋਣ, ਤà©à¨¹à¨¾à¨¨à©‚à©° ਸਰਵਰ ਪà©à©±à¨›à¨¿à¨† ਜਾਵੇਗਾ ਜੋ ਤà©à¨¹à¨¾à¨¡à©€ ਜਰੂਰਤ ਵਧੀਆ\n"
+"ਪੂਰੀ ਕਰਦਾ ਹੈ।"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"ਚੋਣ\n"
+"\n"
+" ਇਹ ਪਗ਼ ਤà©à¨¹à¨¾à¨¨à©‚à©° ਚà©à¨£à¨¨ ਦੇਵੇਗਾ ਕਿ ਕੀ ਤà©à¨¹à¨¾à¨¡à©€ ਮਸ਼ੀਨ ਸਵੈ ਹੀ ਬੂਟ ਦੌਰਾਨ\n"
+"ਗਰਾਫੀਕਲ ਵਿੱਚ ਤਬਦੀਲ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਨਹੀਂ। ਜਰੂਰ, ਤà©à¨¸à©€à¨‚ \"%s\" ਨੂੰ\n"
+"ਨੂੰ ਚà©à¨£à¨¨à¨¾ ਚਾਹੋਗੇ ਜੇ ਤà©à¨¹à¨¾à¨¡à©€ ਮਸ਼ੀਨ ਨੇ ਸਰਵਰ ਤੌਰ ਤੇ ਕੰਮ ਕਰਨਾ ਹੈ, ਜਾਂ ਜੇ\n"
+"ਤà©à¨¸à©€à¨‚ ਸੰਰਚਿਤ ਦà©à¨°à¨¿à¨¶ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਸਫਲ ਨਹੀਂ ਹੋà¨à¥¤"
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ਮੌਜੂਦਾ ਭਾਗ ਵਰਤੋ"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ਸਾਰੀ ਡਿਸਕ ਸਾਫ"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "ਸਵੈ-ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾਓ"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ਸà©à¨°à©±à¨–ਿਆ ਪà©à¨°à¨¬à©°à¨§à¨•"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "ਹਟਾਉਣ ਯੋਗ ਮਾਧਿਅਮ ਸਵੈ-ਮਾਊਂਟ ਹੋ ਰਿਹਾ ਹੈ"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "ਸਧਾਰਨ/ਮਾਹਿਰ ਵਿਧੀ ਵਿਚਕਾਰ ਤਬਦੀਲੀ"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ਵਰਤਮਾਨ ਦੇਸ਼ ਚੋਣ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ। ਜੇ ਤà©à¨¸à©€à¨‚ ਇਸ ਦੇਸ਼ ਵਿੱਚ ਨਹੀਂ,\n"
+"\"%s\" ਬਟਨ ਦਬਾਓ ਅਤੇ ਹੋਰ ਚà©à¨£à©‹à¥¤ ਜੇ ਤà©à¨¹à¨¾à¨¡à¨¾ ਦੇਸ਼ ਵਿਖਾਈ ਸੂਚੀ ਵਿੱਚ\n"
+"ਨਹੀਂ ਹੈ, ਦੇਸ਼ ਸੂਚੀ ਪੂਰੀ ਕਰਨ ਲਈ \"%s\" ਬਟਨ ਦਬਾਓ।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ਚੱਕਰ ਸਮਰੂਪਤਾ ਨਾਲ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "ਵਿਆਪਕ | ਕੋਈ PS/2 ਤੇ USB ਮਾਊਸ"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"ਕਿਰਪਾ ਕਰਕੇ ਠੀਕ ਪੋਰਟ ਚà©à¨£à©‹à¥¤ ਉਦਾਹਰਨ ਵਜੋਂ, Windows ਦੇ ਅਧੀਨ \"COM1\"\n"
+"GNU/ਲੀਨਕਸ ਦੇ ਅਧਿਨ \"ttyS0\" ਕਹਿਲਾਉਂਦੀ ਹੈ।"
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ਮਾਹਿਰ"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ਜੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਸਿਸਟਮ ਤੇ ਕੋਈ ਸਾਊਂਡ ਕਾਰਡ ਲੱਭਿਆ ਹੈ, ਇਹ ਇੱਥੇ ਵਿਖਾਇਆ\n"
+"ਜਾਵੇਗਾ। ਜੇ ਲੱਭਿਆ ਕਾਰਡ ਤà©à¨¹à¨¾à¨¡à©‡ ਸਿਸਟਮ ਵਾਲਾ ਸਾਊਂਡ ਕਾਰਡ ਨਹੀਂ ਹੈ,\n"
+"ਤà©à¨¸à©€à¨‚ ਬਟਨ ਦਬਾ ਸਕਦੇ ਹੋ ਅਤੇ ਹੋਰ ਡਰਾਈਵਰ ਚà©à¨£ ਸਕਦੇ ਹੋ।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN ਕਾਰਡ"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN ਕਾਰਡ"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ਗਰਾਫੀਕਲ ਇੰਟਰਫੇਸ"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"ਤà©à¨¹à¨¾à¨¡à¨¾ ਨਵਾਂ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਭਾਗ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਸਾਫ ਕਰਨ ਵਾਸਤੇ\n"
+"ਹਾਰਡ ਡਰਾਈਵ ਚà©à¨£à©‹à¥¤ ਧਿਆਨ ਰੱਖੋ, ਇਸ ਡਰਾਈਵ ਤੇ ਸਾਰਾ ਡਾਟਾ ਗà©à©°à¨® ਹੋ ਜਾਵੇਗਾ\n"
+"ਅਤੇ ਮà©à©œ ਪà©à¨°à¨¾à¨ªà¨¤ ਹੋਣ ਯੋਗ ਨਹੀਂ ਰਹੇਗਾ!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"\"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ ਜੇ ਤà©à¨¸à©€à¨‚ ਇਸ ਹਾਰਡ ਡਰਾਈਵ ਤੇ ਸਾਰਾ ਡਾਟਾ ਅਤੇ ਭਾਗ\n"
+"ਹਟਾਉਣਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ। ਧਿਆਨ ਰੱਖੋ, \"%s\" ਤੇ ਕਲਿੱਕ ਕਰਨ ਮਗਰੋਂ, ਤà©à¨¸à©€à¨‚ ਇਸ ਡਰਾਈਵ\n"
+"ਉੱਪਰਲਾ ਡਾਟਾ ਅਤੇ ਭਾਗ ਮà©à©œ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰ ਨਹੀਂ ਸਕਦੇ, ਕੋਈ Windows\n"
+"ਡਾਟਾ ਵੀ।\n"
+"\n"
+"ਇਸ ਹਾਰਡ ਡਰਾਈਵ ਉੱਪਰਲਾ ਡਾਟਾ ਅਤੇ ਭਾਗ ਹਟਾਠਬਿਨਾਂ ਬਾਹਰ ਜਾਣ ਲਈ\n"
+"\"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ।"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "ਅੱਗੇ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ਪਿੱਛੇ"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": \"%s\" ਬਟਨ ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਸੰਰਚਨਾ ਤਖਤੀ ਖà©à©±à¨²à©‡à¨—ੀ।\n"
+#~ "ਨਵਾਂ ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਨਿਰਧਾਰਿਤ ਕਰਨ ਵਾਸਤੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ``Starter Guide''\n"
+#~ "ਦਾ ਅਨà©à¨¸à¨¾à¨°à©€ ਅਧਿਆਇ ਵੇਖੋ। ਸਾਡੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਦਿੱਤਾ ਇੰਟਰਫੇਸ\n"
+#~ "ਇੰਸਟਾਲੇਸ਼ਨ ਦੌਰਾਨ ਵਰਤੇ ਇੰਟਰਫੇਸ ਵਰਗਾ ਹੈ।"
+
+#~ msgid "authentication"
+#~ msgstr "ਪà©à¨°à¨®à¨¾à¨£à¨¿à¨•ਤਾ"
diff --git a/perl-install/install/help/po/pl.po b/perl-install/install/help/po/pl.po
new file mode 100644
index 000000000..4c151aeb5
--- /dev/null
+++ b/perl-install/install/help/po/pl.po
@@ -0,0 +1,2055 @@
+# translation of drakx.po to polish
+# translation of pl.po to polish
+# translation of DrakX-pl.po to polski
+# translation of pl.po to Polish
+# Polish translation file
+# tomek, 2005.
+# Paweł Jabłoński <pj@linux-mandrake.com>, 2001,2002.
+# Arkadiusz Lipiec <arkadiusz.lipiec@gazeta.pl>, 2002-2004.
+# Tomasz Bednarski <bednarski@skrzynka.pl>, 2005.
+# Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2005.
+# Maciej Walkowiak <m.walkowiak@computer.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-10-22 14:46+0200\n"
+"Last-Translator: Tomasz Bednarski <tomasz.bednarski@mandriva.pl>\n"
+"Language-Team: polish <pl@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Przed kontynuowaniem, należy przeczytać uważnie warunki licencji dotyczącej "
+"całej dystrybucji Mageia. Jeśli zgadzasz się\n"
+"z wszystkimi warunkami w niej zawartymi, zaznacz opcjÄ™ \"%s\".\n"
+"Jeśli nie kliknij na przycisk \"%s\" w celu ponownego uruchomienia\n"
+"komputera."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux jest systemem wielodostępnym, co oznacza, że każdy użytkownik\n"
+"posiada własne ustawienia, własne pliki, może pracować równocześnie\n"
+"z innymi użytkownikami na tym samym komputerze itd. Jednak, \n"
+"w przeciwieństwie do użytkownika \"root\", będącym administratorem,\n"
+"użytkownicy tutaj dodani nie będą mieli możliwości zmiany czegokolwiek\n"
+"ponad swoje własne ustawienia, co chroni przed niezamierzonymi lub\n"
+"złośliwymi zmianami mogącymi wpływać na działanie całego systemu.\n"
+"Należy utworzyć co najmniej jednego zwykłego użytkownika dla siebie. Należy "
+"się logować do tego konta w trakcie normalnej pracy. Pomimo, że\n"
+"logowanie jako \"root\" jest bardzo praktyczne, to jednak może być\n"
+"bardzo niebezpieczne! Najmniejsza pomyłka może spowodować nieodwracalne\n"
+"uszkodzenie systemu. Jeśli z konta zwykłego użytkownika zostanie \n"
+"wykonany nawet poważny błąd, utracona zostanie tylko część danych tego\n"
+"użytkownika, a nie cały system.\n"
+"\n"
+"Najpierw należy wprowadzić rzeczywiste imię. Nie jest to czynność wymagana\n"
+"-- można wprowadzić dowolny ciąg znaków. Instalator pobierze pierwszy wyraz "
+"z\n"
+"wprowadzonego ciągu i przeniesie go do pola \"%s\", określającego nazwę\n"
+"użytkownika wprowadzaną podczas logowania się do systemu. Oczywiście,\n"
+"można ją zmienić. Ważna jest wielkość liter - dla Linuksa \"a\" i \"A\" to\n"
+"dwie różne litery. Następnie należy ustawić dla tego użytkownika hasło.\n"
+"Mimo, że hasło zwykłego użytkownika nie jest tak newralgiczne, jak \n"
+"hasło \"roota\", to jednak z powodów bezpieczeństwa nie należy go pomijać.\n"
+"\n"
+"Po kliknięciu \"%s\", można dodać kolejnych użytkowników, Nie ma żadnych\n"
+"ograniczeń na ich liczbę. Dodaj np. konta dla wszystkich przyjaciół, dla\n"
+"ojca, siostry itd. Po zakończeniu dodawania wybierz \"%s\".\n"
+"\n"
+"Po kliknięciu przycisku \"%s\" można zmienić domyślną \"powłokę\"\n"
+"dla użytkownika (domyślnie bash).\n"
+"\n"
+"Po zakończeniu dodawania wszystkich użytkowników, zostanie zadane\n"
+"pytanie o to, który użytkownik będzie automatycznie logowany\n"
+"podczas uruchamiania komputera. Jeśli masz ochotę używać tej funkcji\n"
+"(oraz nie dbasz za bardzo o bezpieczeństwo lokalne), wybierz żądanego\n"
+"użytkownika oraz menedżera okien, a następnie kliknij \"%s\".\n"
+"Jeśli nie chcesz używać tej funkcji, odznacz opcję \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Czy chcesz wykorzystać tą funkcję?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Powyżej pokazano wykryte na Twoim dysku istniejące partycje linuksowe.\n"
+"Można zastosować wybory określone przez druida, są one odpowiednie\n"
+"w większości przypadków. Jeśli wprowadza się zmiany, należy określić "
+"przynajmniej partycję root (\"/\"). Nie należy wybierać zbyt małej \n"
+"partycji - nie będzie można wówczas zainstalować zbyt dużo \n"
+"oprogramowania. Jeśli dane mają być przechowywane na \n"
+"oddzielnej partycji, należy także utworzyć partycję \"/home\"\n"
+"(jest to możliwe tylko wtedy, jeśli\n"
+"dostępnych jest więcej niż jedna partycja linuksowa)\n"
+"\n"
+"Dla informacji, każda partycja jest określona przez \"Nazwę\" i \"Rozmiar"
+"\".\n"
+"\n"
+"\"Nazwa\" jest określana następująco: \"typ dysku\",\"numer dysku\",\n"
+"\"numer partycji\". (na przykład \"hda1\").\n"
+"\n"
+"\"Typ dysku\" to \"hd\" w przypadku dysków IDE, \"sd\" w przypadku SCSI\n"
+"\n"
+"\"Numer dysku\" to litera po \"hd\" lub \"sd\". W przypadku dysków IDE:\n"
+"\n"
+" * \"a\" oznacza \"pierwszy dysk na pierwszym kontrolerze IDE\";\n"
+"\n"
+" * \"b\" oznacza \"drugi dysk na pierwszym kontrolerze IDE\";\n"
+"\n"
+" * \"c\" oznacza \"pierwszy dysk na drugim kontrolerze IDE\";\n"
+"\n"
+" * \"d\" oznacza \"drugi dysk na drugim kontrolerze IDE\"\n"
+"\n"
+"W przypadku dysków SCSI, \"a\" oznacza \"najniższy ID SCSI\", zaś \"b\",\n"
+"oznacza \"drugi w kolejności ID SCSI\", itd."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Instalacja Mageia jest rozpowszechniana na kilku płytach CD.\n"
+"Jeśli wybrany pakiet jest zlokalizowany na innej płycie CD\n"
+" instalator wysunie bieżącą płytę CD oraz wyświetli prośbę\n"
+"o włożenie wymaganej płyty CD. Jeśli nie posiadasz wymaganej\n"
+"płyty CD w ręku, kliknij \"%s\", związane z nią pakiety nie zostaną\n"
+"zainstalowane."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nadszedł czas na określenie, jakie programy mają zostać zainstalowane w\n"
+"systemie. Dla Mageia są dostępne tysiące pakietów. Aby uczynić\n"
+"zarządzanie pakietami łatwiejszym, zostały one uporządkowane na podstawie\n"
+"podobieństwa aplikacji.\n"
+"\n"
+"Pakiety są podzielone na grupy tematyczne. Dostępne są cztery wstępnie\n"
+"zdefiniowane kategorie instalacji. Można mieszać i dopasowywać aplikacje\n"
+"z różnych sekcji, tak więc na przykład instalacja \"Stacja robocza\"\n"
+"może także zawierać aplikacje z sekcji \"Serwer\".\n"
+"\n"
+" * \"%s\": jeśli komputer będzie pracował jako stacja\n"
+"robocza, należy wybrać jedną lub więcej związanych z tą sekcją grup.\n"
+"\n"
+" * \"%s\": jeśli komputer będzie używany do programowania, należy\n"
+"wybrać odpowiednie grupy związane z tą sekcją. Specjalna grupa \"LSB\"\n"
+"skonfiguruje system, tak aby był jak najbardziej zgodny ze standardem\n"
+"Linux Standard Base.\n"
+"\n"
+" Wybranie grupy \"LSB\" zainstaluje także jądro serii \"2.4\", zamiast\n"
+"domyślnego \"2.6\". Dzieje się tak dlatego, aby mieć 100%% pewność,\n"
+"że komputer jest zgodny z LSB. Jednak jeśli nie zaznaczysz\n"
+"grupy \"LSB\", system wciąż będzie niemal 100%% zgodny z LSB.\n"
+"\n"
+" * \"%s\": jeśli komputer będzie pracował jako serwer, pojawi się\n"
+"możliwość wyboru różnych usług, które mogą być zainstalowane na komputerze;\n"
+"\n"
+" * \"%s\": na końcu można określić preferowane środowisko\n"
+"graficzne. Co najmniej jedna grupa musi zostać wybrana, jeśli komputer\n"
+"ma pracować jako stacja z interfejsem graficznym!\n"
+"\n"
+"Przesuwając kursor myszy nad nazwą grupy, wyświetli się krótki tekst\n"
+"opisujÄ…cy danÄ… grupÄ™.\n"
+"\n"
+"Można zaznaczyć \"%s\", która to opcja jest\n"
+"użyteczna jeśli użytkownik zna przeznaczenie pakietów i jeśli chce mieć\n"
+"całkowitą kontrolę nad tym co zostanie zainstalowane w systemie.\n"
+"\n"
+"Jeśli została uruchomiona instalacja w trybie \"%s\", można\n"
+"odznaczyć wszystkie grupy, zapobiegając w ten sposób instalacji nowych\n"
+"pakietów. Ta opcja jest użyteczna przy naprawianiu lub aktualizacji\n"
+"już istniejącego systemu\n"
+"\n"
+"Jeśli odznaczone zostaną wszystkie grupy w trakcie\n"
+"przeprowadzania zwykłej instalacji (przeciwieństwo do aktualizacji),\n"
+"wyświetlone zostanie okienko z propozycjami grup określających\n"
+"inne opcje zwiÄ…zane z instalacjÄ… minimalnÄ…:\n"
+". \n"
+" * \"%s\": instalacja minimalnej liczby pakietów koniecznej do\n"
+"uruchomienia stacji graficznej.\n"
+"\n"
+" * \"%s\": instalacja systemu podstawego wraz z podstawowymi\n"
+"narzędziami i dokumentacją dla nich. Ta instalacja jest zalecana\n"
+"przy pracy jako serwer.\n"
+"\n"
+" * \"%s\": instalacja absolutnie minimalnej liczby pakietów\n"
+"koniecznych do otrzymania działającego Linuksa. Po wybraniu\n"
+"tej opcji użytkownik będzie miał dostęp jedynie do interfejsu\n"
+"wiersza poleceń. Całkowity rozmiar tej instalacji to ok. 65\n"
+"megabajtów."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uaktualnij"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Z podstawowÄ… dokumentacjÄ…"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "NaprawdÄ™ minimalna instalacja"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jeżeli zaznaczono opcję wyboru indywidualnych\n"
+"pakietów, to wyświetlona zostanie struktura drzewa zawierająca\n"
+"wszystkie pakiety podzielone na grupy i podgrupy. W trakcie przeglÄ…dania\n"
+"drzewa można wybrać całą grupę, podgrupę lub pojedyncze pakiety.\n"
+"\n"
+"Po wybraniu pakietu ze struktury, po prawej stronie wyświetlony zostanie \n"
+"opis, pomagający w zorientowaniu się do czego pakiet służy.\n"
+"\n"
+"!! Jeśli zostanie wybrany pakiet serwera, niezależnie czy wybrany został\n"
+"w drodze indywidualnego wyboru pakietów, lub też jako pakiet grupy,\n"
+"zostanie wyświetlona prośba o potwierdzenie wyboru pakietu serwera\n"
+"przed jego instalacjÄ…. W systemie Mageia, wszystkie zainstalowane\n"
+"serwery są uruchamiane domyślnie w trakcie\n"
+"uruchamiania całego systemu. Nawet jeśli dany pakiet jest uważany\n"
+"za bezpieczny i w trakcie instalacji nie są znane żadne problemy z nim\n"
+"związane, może się zdarzyć, że zostaną wykryte luki w jego\n"
+"zabezpieczeniach już po instalacji. Jeśli użytkownik nie posiada\n"
+"informacji o tym, do czego dana usługa jest przeznaczona lub też dlaczego\n"
+"jest instalowana, wówczas powinien kliknąć przycisk \"%s\".\n"
+"Kliknięcie \"%s\" spowoduje zainstalowanie wypisanych usług, które\n"
+"będą automatycznie uruchamiane w trakcie uruchamiania całego systemu. !!\n"
+"\n"
+"Opcja \"%s\" jest używana do zablokowania okna ostrzeżeń\n"
+"pojawiającego się w momencie automatycznego wyboru pakietów przez\n"
+"instalatora w celu spełnienia zależności. Niektóre pakiety zależą od "
+"innych,\n"
+"tak więc instalacja określonego pakietu może wymagać instalacji innego.\n"
+"Instalator potrafi określić, jakie pakiety są wymagane do spełnienia\n"
+"zależności oraz do pomyślnego zakończenia instalacji.\n"
+"\n"
+"Niewielka ikona dyskietki na dole listy umożliwia wczytanie listy pakietów\n"
+"wybranych w trakcie poprzedniej instalacji. Jest to użyteczna opcja\n"
+"w przypadku posiadania wielu maszyn, które muszą zostać skonfigurowane\n"
+"w identyczny sposób. Kliknięcie tej ikony spowoduje wyświetlenie prośby\n"
+"o włożenie dyskietki utworzonej po zakończeniu poprzedniego procesu\n"
+"instalacji. Zobacz drugą podpowiedź ostatniego kroku, zawierającą\n"
+"informację o tym, jak utworzyć taką dyskietkę."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatyczne zależności"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"To okno dialogowe jest używane do wybrania usług włączanych podczas\n"
+"uruchamianiu systemu.\n"
+"\n"
+"Zaprezentowane zostaną wszystkie dostępne usługi z bieżącej instalacji.\n"
+"Przejrzyj je uważnie i odznacz te z nich, które nie są zawsze potrzebne\n"
+"przy uruchamianiu systemu.\n"
+"\n"
+"Po zaznaczeniu elementu listy, pojawi się objaśnienie z opisem tej usługi.\n"
+"Jednak w przypadku braku pewności, czy dana usługa jest\n"
+"potrzebna czy nie, bezpieczniej jest pozostawić ustawienie domyślne.\n"
+"\n"
+"!! Należy zachować szczególną ostrożność przy wyborze, jeżeli maszyna\n"
+"ma pracować jako serwer - zazwyczaj nie będzie potrzeby uruchamiania\n"
+"niektórych usług. Należy pamiętać, że uruchomienie niektórych z nich na\n"
+"serwerze może być niebezpieczne. W ogólności, należy uruchamiać tylko\n"
+"te usługi, które naprawdę są naprawdę potrzebne.!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux zarzÄ…dza czasem w formacie GMT (Greenwich Mean Time)\n"
+"i tłumaczy go na czas lokalny w zależności od wybranej strefy czasowej.\n"
+"Jest jednak możliwe wyłączenie tej opcji poprzez wybór \"%s\",\n"
+"co spowoduje, że zegar sprzętowy będzie wskazywał ten sam czas co zegar\n"
+"systemowy. Jest to użyteczne, jeśli komputer zarządza innym systemem\n"
+"operacyjnym.\n"
+"\n"
+"Opcja \"%s\" automatycznie ustawi zegar łącząc się\n"
+"ze zdalnym serwerem czasu przez Internet. Oczywiście trzeba posiadać\n"
+"działające połączenie internetowe, aby to udogodnienie zadziałało.\n"
+"Najlepiej wybrać serwer czasu zlokalizowany niedaleko miejsca instalacji.\n"
+"Na komputerze zostanie zainstalowany serwer czasu, który może być\n"
+"używany przez inne komputery w sieci lokalnej."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatyczna synchronizacja czasu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Karta graficzna\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje\n"
+"kartę graficzną zainstalowaną na komputerze. Jeśli jednak nie zostanie\n"
+"wykryta, można wybrać posiadaną kartę z listy.\n"
+"\n"
+" W przypadku gdy dla karty dostępne są różne serwery, z lub bez\n"
+"akceleracji 3D, zostanie wyświetlona prośba o wybranie serwera\n"
+"najlepiej odpowiadającego potrzebom użytkownika."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (od systemu X Window) to serce graficznego interfejsu GNU/Linux,\n"
+"z którego korzystają wszystkie środowiska graficzne (KDE, GNOME,\n"
+"AfterStep, WindowMaker, itd.) dostępne w systemie Mageia.\n"
+"\n"
+"Zostanie wyświetlona lista różnych parametrów pozwalających\n"
+"na zmianę sposobu wyświetlania.\n"
+"\n"
+"Karta graficzna\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje kartÄ™\n"
+"graficzną zainstalowaną na komputerze. Jeśli nie zostanie wykryta,\n"
+"użytkownik może wybrać posiadaną kartę z listy.\n"
+"\n"
+" W przypadku, gdy dla karty graficznej dostępne są różne serwery,\n"
+"z lub bez akceleracji 3D, użytkownik może wybrać serwer najlepiej\n"
+"odpowiadajÄ…cy jego potrzebom.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Instalator zazwyczaj automatycznie rozpoznaje i konfiguruje\n"
+"monitor podłączony do komputera. W innym przypadku należy\n"
+"ręcznie wybrać z listy posiadany monitor.\n"
+"\n"
+"\n"
+"\n"
+"Rozdzielczość\n"
+"\n"
+" W tym miejscu można wybrać rozdzielczość i głębię kolorów spośród\n"
+"opcji dostępnych dla danego sprzętu. Wybierz tą, która najlepiej\n"
+"spełnia twoje wymagania (będzie można zmienić wybrane parametry\n"
+"także po instalacji). Przykład wybranej konfiguracji jest wyświetlony\n"
+"na monitorze.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"--W zależności od sprzętu ten wpis może się pojawić lub nie.\n"
+"\n"
+" System będzie próbował otworzyć ekran graficzny o żądanej\n"
+"rozdzielczości. Jeśli użytkownik będzie widział komunikat wyświetlany\n"
+"w trakcie testu oraz odpowie \"%s\", wówczas instalator podejmie\n"
+"kolejny krok. W przypadku, gdy komunikat nie będzie widoczny,\n"
+"oznacza to, że jakaś część automatycznie wykrytej konfiguracji jest\n"
+"niepoprawna. Test zakończy się automatycznie po 12 sekundach,\n"
+"przenosząc użytkownika z powrotem do menu. Należy zmieniać\n"
+"konfigurację, aż do momentu, gdy grafika będzie poprawnie wyświetlana.\n"
+"\n"
+"\n"
+"\n"
+"Opcje\n"
+"\n"
+" W tym miejscu można wybrać, czy komputer ma być automatycznie\n"
+"przełączany w tryb graficzny podczas uruchamiania. Oczywiście, lepiej\n"
+"jest wybrać \"%s\" jeśli maszyna ma pracować jako serwer lub też,\n"
+"gdy nie udało się poprawnie skonfigurować wyświetlania."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje monitor\n"
+"podłączony do komputera. Jeśli jednak ten przypadek nie nastąpi, można\n"
+"wybrać z listy aktualnie podłączony do komputera monitor."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozdzielczość\n"
+"\n"
+" W tym miejscu można wybrać rozdzielczość oraz głębię kolorów spośród\n"
+"opcji dostępnych dla danego sprzętu. Wybierz te opcje, które najlepiej\n"
+"odpowiadają twoim potrzebom (te ustawienia będzie można zmienić także\n"
+"po instalacji). Przykład wybranej konfiguracji jest wyświetlony na\n"
+"monitorze."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"W przypadku, gdy twojej karty dostępne są różne serwery, z lub bez\n"
+"akceleracji 3D, będzie można wybrać serwer najlepiej odpowiadający\n"
+"potrzebom użytkownika."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcje\n"
+"\n"
+" Ten krok umożliwia wybór czy komputer ma przełączać się automatycznie\n"
+"do interfejsu graficznego podczas uruchamiania. Oczywiście, można zaznaczyć\n"
+"\"%s\" jeśli komputer ma działać jako serwer, lub jeśli nie udało się\n"
+"skonfigurować ekranu graficznego."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"W tym etapie instalacji należy określić, gdzie na dysku zostanie\n"
+"zainstalowany system operacyjny Mageia. Jeśli dysk jest pusty\n"
+"lub istniejące systemy operacyjne zajmują całe dostępne miejsce,\n"
+"należy podzielić dysk na partycje.\n"
+"Partycjonowanie to po prostu logiczny podział twardego dysku na oddzielne\n"
+"obszary w celu zainstalowania systemu Mageia.\n"
+"\n"
+"Ponieważ efekt partycjonowania jest nieodwracalny, czynność wydaje się\n"
+"niebezpieczna i jest stresująca dla niedoświadczonych użytkowników.\n"
+"Na szczęście, instalator zawiera druida upraszczającego ten proces.Przed "
+"zdecydowaniem się na ten krok warto poświęcić nieco czasu na\n"
+"zapoznanie siÄ™ z dokumentacjÄ….\n"
+"\n"
+"Możliwych jest kilka rozwiązań zależnych od konfiguracji dysku twardego:\n"
+"\n"
+" * \"%s\": ta opcja po prostu oznacza automatyczne\n"
+"partycjonowanie niezapisanych dysków. Nie zostaną wyświetlone żadne\n"
+"dodatkowe pytania.\n"
+"\n"
+" * \"%s\": gdy druid wykrył jedną lub więcej\n"
+"istniejących partycji linuksowych. Wybierz to rozwiązanie, jeśli\n"
+"chcesz użyć tych partycji do nowej instalacji. Zostanie wyświetlona\n"
+"prośba o wybranie punktu montowania dla każdej z tych partycji.\n"
+"Domyślnie wybierane są już zdefiniowane punkty montowania,\n"
+"w większości przypadków lepiej ich nie zmieniać.\n"
+"\n"
+" * \"%s\": jeśli na komputerze\n"
+"został zainstalowany Microsoft Windows, który zajmuje całą przestrzeń\n"
+"dyskową, to należy utworzyć wolne miejsce dla Linuksa. Aby to zrobić, można\n"
+"usunąć partycję MS Windows wraz z danymi (zobacz rozwiązanie \"Kasowanie\n"
+"zawartości dysku\") lub też zmienić rozmiar partycji FAT lub NTFS Windows.\n"
+"Operacja zmiany wielkości partycji może być przeprowadzona bez utraty\n"
+"danych, po przeprowadzeniu defragmentacji. Archiwizacja danych jest\n"
+"jednak wysoce wskazana. To rozwiązanie jest zalecane w przypadku chęci\n"
+"używania zarówno Linuksa, jak i MS Windows na tym samym komputerze\n"
+"\n"
+" Przed wybraniem tej opcji, należy uświadomić sobie, że partycja Microsoft\n"
+"Windows będzie mniejsza, niż jest obecnie. Oznacza to także mniej miejsca\n"
+"do instalacji nowych programów lub przechowywania danych.\n"
+"\n"
+" * \"%s\": Jeśli chcesz usunąć z dysku\n"
+"wszystkie dane i wszystkie partycje istniejące na dysku oraz zainstalować\n"
+"w to miejsce nowy system Mageia, wybierz to rozwiÄ…zanie.\n"
+"Pamiętaj, że po zatwierdzeniu tego wyboru nie nie będzie możliwości "
+"odwrotu.\n"
+"\n"
+" !! Po wybraniu tej opcji wszystkie dane zostanÄ… utracone !!\n"
+"\n"
+" * \"%s\": ta opcja spowoduje wymazanie wszystkich danych\n"
+"oraz rozpoczęcie instalacji na czystym dysku. Wszystkie zapisane dane\n"
+"zostanÄ… utracone.\n"
+"\n"
+" !! Po wybraniu tej opcji wszystkie dane zostanÄ… utracone !!\n"
+"\n"
+"* \"%s\": wybierz tą opcję, jeśli chcesz\n"
+"partycjonować dysk ręcznie. Wybranie tej opcji daje duże możliwości, lecz\n"
+"jest bardzo niebezpieczne. Bardzo łatwo można utracić wszystkie dane.\n"
+"Ta opcja jest dlatego zalecana tylko dla użytkowników posiadających\n"
+"już doświadczenie w partycjonowaniu dysków. Aby uzyskać więcej informacji\n"
+"na temat tego, w jaki sposób korzystać z narzędzia DiskDrake, przeczytaj\n"
+"podręcznik (rozdział \"Zarządzanie partycjami\")."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Wykorzystaj istniejÄ…ce partycje"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Wymaż cały dysk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Tak więc instalacja zakończyła się i system GNU/Linux jest gotowy do \n"
+"użycia. Kliknij przycisk \"%s\", aby ponownie uruchomić system.\n"
+"Nie zapomnij o usunięciu nośnika instalacyjnego (CD lub dyskietka).\n"
+"Pierwszą rzeczą jaką użytkownik zobaczy po zakończeniu testów sprzętu\n"
+"jest menu programu rozruchowego, dające możliwość wybrania systemu,\n"
+"który powinien zostać uruchomiony.\n"
+"\n"
+"Przycisk \"%s\" powoduje wyświetlenie dwóch dodatkowych przycisków:\n"
+"\n"
+" * \"%s\": aby utworzyć dyskietkę\n"
+"służącą do przeprowadzenia instalacji bez pomocy operatora, w ten\n"
+"sam sposób, jak przeprowadzona przed chwilą instalacja.\n"
+"\n"
+" Uwaga: po kliknięciu przycisku dostępne będą dwie różne opcje:\n"
+"\n"
+" * \"%s\": określa częściowo zautomatyzowaną instalację, zaś\n"
+"w przypadku kroku partycjonowania (i tylko w tym) przypomina tryb \n"
+"interaktywny\n"
+"\n"
+" * \"%s\" Pełna automatyzacja instalacji: twardy dysk jest\n"
+"całkowicie przepisywany, wszystkie dane zostaną utracone.\n"
+"\n"
+" Ta funkcja jest bardzo użyteczna w przypadku instalacji na dużej liczbie\n"
+"podobnych komputerów. Zajrzyj do rozdziału o automatycznej instalacji na\n"
+"naszej stronie www;\n"
+"\n"
+" * \"%s\"(*): zapisuje listę pakietów wybranych\n"
+"w trakcie instalacji. Wówczas podczas przeprowadzania innych instalacji\n"
+"należy włożyć dyskietkę do napędu, uruchomić instalację\n"
+"rozpoczynającą się od ekranu pomocy przez naciśnięcie klawisza [F1],\n"
+"wpisanie polecenie >>linux defcfg=\"floppy\"<< oraz naciśnięcie klawisza\n"
+"[Enter].\n"
+"\n"
+"(*) Wymagana jest dyskietka sformatowana z systemem plików FAT. Aby\n"
+"utworzyć taką dyskietkę w systemie GNU/Linux, wpisz polecenie\n"
+"\"mformat a:\", lub \"fdformat /dev/fd0\", a następnie \"mkfs.vfat /dev/"
+"fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Tworzenie dyskietki automatycznej instalacji"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jeśli wybierzesz ponowne użycie jakichś partycji GNU/Linux, może\n"
+"istnieć potrzeba ponownego sformatowania ich w celu usunięcia\n"
+"wszystkich danych, które zawierają. Aby to uczynić, wybierz także te\n"
+"partycje.\n"
+"\n"
+"Należy pamiętać, że nie jest konieczne formatowanie wszystkich istniejących\n"
+"już partycji. Sformatowane muszą być partycje zawierające system "
+"operacyjny:\n"
+"\"/\", \"/usr\" oraz \"/var\", nie jest natomiast konieczne formatowanie\n"
+"partycji zawierających dane, które chcesz zachować (zazwyczaj \"/home\").\n"
+"\n"
+"Uważnie wybieraj partycje do sformatowania. Po sformatowaniu, wszystkie\n"
+"dane zostaną utracone bez możliwości ich odzyskania.\n"
+"\n"
+"Kliknij \"%s\", jeśli już można przystąpić do formatowania partycji.\n"
+"\n"
+"Kliknij \"%s\", jeśli chcesz wybrać inne partycje dla nowej instalacji\n"
+"Mageia.\n"
+"\n"
+"Kliknij \"%s\" jeśli chcesz wybrać sprawdzanie niektórych partycji\n"
+"w poszukiwaniu uszkodzonych sektorów na dysku."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"W czasie, jaki upłynął od początkowego wydania Mageia, być może niektóre "
+"pakietyzostały zaktualizowane. Niektóre błędy mogły\n"
+"zostać naprawione, zaś problemy z bezpieczeństwem rozwiązane. Aby\n"
+"skorzystać z możliwości aktualizacji, dobrze jest pobrać część danych\n"
+"z Internetu. Wybierz \"%s\", jeśli posiadasz działające połączenie\n"
+"internetowe lub \"%s\", jeśli wolisz zainstalować pakiety aktualizacyjne\n"
+"później.\n"
+"\n"
+"Po wybraniu \"%s\" zostanie wyświetlona lista miejsc, z których można\n"
+"pobrać dane aktualizacyjne. Wybierz najbliższą lokalizację. Pojawi się\n"
+"wówczas drzewo wyboru: przejrzyj informacje i naciśnij \"%s\"\n"
+",aby pobrać i zainstalować wybrane pakiety lub \"%s\", aby anulować."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nadszedł czas na wybór poziomu bezpieczeństwa, który ma zostać ustawiony\n"
+"na komputerze. Jako żelazną zasadę należy przyjąć, że im komputer bardziej\n"
+"jest dostępny w sieci i dane przechowywane są ważniejsze, tym wyższy\n"
+"powinien być poziom bezpieczeństwa. Jednak wyższe bezpieczeństwo\n"
+"zazwyczaj okupione jest zwiększeniem poziomu trudności używania systemu.\n"
+"\n"
+"Jeśli nie wiesz co wybrać, użyj domyślnej opcji. Będzie można zmienić "
+"poziom\n"
+"bezpieczeństwa w późniejszym czasie przy użyciu narzędzia draksec\n"
+"uruchamianego z Centrum Sterowania Mageia.\n"
+"\n"
+"Pole \"%s\" może informować system o użytkowniku komputera odpowiedzialnego\n"
+"za bezpieczeństwo. Komunikaty bezpieczeństwa będą przesyłane na ten adres."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator zabezpieczeń"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"W tym etapie instalacji wybierasz partycje, na których będzie instalowany\n"
+"Mageia. Jeśli partycje istnieją (np. pozostały po poprzedniej instalacji,\n"
+"lub też zostały założone innym narzędziem), to można ich użyć do "
+"instalacji.\n"
+"W innym przypadku należy je utworzyć.\n"
+"\n"
+"Utworzenie partycji należy rozpocząć od wybrania dysku. Robi się to przez\n"
+"kliknięcie na zakładce \"hda\" dla pierwszego dysku IDE, \"hdb\" dla "
+"drugiego,\n"
+"lub \"sda1\" dla pierwszego dysku SCSI, itd.\n"
+"\n"
+"W celu podzielenia dysku na partycje można użyć następujących opcji:\n"
+"\n"
+" * \"%s\": ta opcja kasuje wszystkie partycje na wybranym dysku.\n"
+"\n"
+" * \"%s\": ta opcja automatycznie tworzy partycje\n"
+" ext4 oraz swap na wolnej (niespartycjonowanej) przestrzeni na dysku\n"
+"\n"
+" * \"%s\": daje dostęp do dodatkowych opcji:\n"
+"\n"
+" * \"%s\": zapisuje tablicÄ™ partycji na dyskietkÄ™.\n"
+" Opcja ta jest użyteczna w przypadku konieczności odzyskania tablicy\n"
+" w późniejszym czasie. Zalecane jest wykonanie tego kroku.\n"
+"\n"
+" * \"%s\": pozwala na przywrócenie poprzednio\n"
+" zapisanej na dyskietce tablicy partycji.\n"
+"\n"
+" * \"%s\": jeśli tablica partycji została\n"
+" uszkodzona można spróbować ją naprawić. Należy pamiętać że opcja ta\n"
+" może zakończyć się niepowodzeniem.\n"
+"\n"
+" * \"%s\": porzuca wszelkie zmiany i wczytuje poczÄ…tkowÄ… tablicÄ™ "
+"partycji.\n"
+"\n"
+" * \"%s\": odznaczenie tej opcji\n"
+" powoduje, że konieczność ręcznego montowania takich napędów, jak "
+"stacje\n"
+" dyskietek czy napędy CD.\n"
+"\n"
+" * \"%s\": jeśli chcesz skorzystać z druida, aby wykonać proces\n"
+" partycjonowania dysku. Opcja zalecana w przypadku gdy użytkownik nie\n"
+" posiada wiedzy dotyczącej partycjonowania dysków.\n"
+"\n"
+" * \"%s\": użyj tej opcji jeśli chcesz wycofać wszystkie zmiany\n"
+"\n"
+" * \"%s\": umożliwia uzyskanie\n"
+" dostępu do dodatkowych akcji dotyczących dysku (typ, opcje, format)\n"
+" oraz podaje więcej informacji na jego temat.\n"
+"\n"
+" * \"%s\": Jeśli proces partycjonowania został zakończony, opcja ta\n"
+" zapisze zmiany na dysk.\n"
+"\n"
+"Podczas definiowania rozmiaru partycji, można ustawić dokładnie\n"
+"rozmiar, używając klawiszy strzałek na klawiaturze.\n"
+"\n"
+"Uwaga: Można uzyskać dostęp do dowolnych opcji za pomocą klawiatury,\n"
+"przy pomocy klawiszy [Tab] oraz strzałek [Góra/Dół].\n"
+"\n"
+"Po wybraniu partycji można użyć klawiszy:\n"
+"\n"
+" * Control-c, aby utworzyć nową partycję (jeśli wybrano pustą partycję);\n"
+"\n"
+" * Control-d, aby usunąć partycję;\n"
+"\n"
+" * Control-m, aby ustawić punkt montowania;\n"
+"\n"
+"Aby uzyskać informacje dotyczące różnych dostępnych rodzajów systemów\n"
+"plików, należy przeczytać rozdział ext2fs podręcznika.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatyczne montowanie nośników wymiennych"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Przełącz między trybem zwykłym a zaawansowanym"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na dysku wykryto więcej niż jedną partycję Windows. Wybierz, którą\n"
+"z nich chcesz zmniejszyć w celu zainstalowania systemu Mageia\n"
+"\n"
+"Każda partycja jest określana za pomocą informacji: \"Nazwa linuksowa\",\n"
+"\"Nazwa Windows\" i \"Rozmiar\".\n"
+"\n"
+"Nazwa linuksowa jest określana następująco: \"typ dysku\",\"numer dysku\",\n"
+"\"numer partycji\". (na przykład \"hda1\").\n"
+"\n"
+"\"Typ dysku\" to \"hd\" w przypadku dysków IDE, \"sd\" w przypadku SCSI\n"
+"\n"
+"\"Numer dysku\" to litera po \"hd\" lub \"sd\". W przypadku dysku IDE:\n"
+"\n"
+" * \"a\" oznacza pierwszy dysk na pierwszym kontrolerze IDE\n"
+"\n"
+" * \"b\" oznacza drugi dysk na pierwszym kontrolerze IDE\n"
+"\n"
+" * \"c\" oznacza pierwszy dysk na drugim kontrolerze IDE\n"
+"\n"
+" * \"d\" oznacza drugi dysk na drugim kontrolerze IDE\n"
+"\n"
+"W przypadku dysków SCSI \"a\" oznacza najniższy identyfikator SCSI,\n"
+"\"b\" - drugi kolejny identyfikator SCSI, itd.\n"
+"\n"
+"\"Nazwa Windows\" to litera dysku w systemie Windows (pierwszy dysk \n"
+"lub partycja to \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": zaznacz odpowiedni kraj. Jeśli nie znajdujesz się w tym kraju,\n"
+"kliknij przycisk \"%s\" oraz wybierz inny kraj. Jeśli twój kraj\n"
+"nie jest wyświetlony na pierwszej liście, kliknij przycisk \"%s\"\n"
+"aby otrzymać pełną listę krajów."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ten krok jest aktywowany tylko wtedy, jeśli na komputerze została\n"
+"znaleziona stara partycja GNU/Linux.\n"
+"\n"
+"Instalator musi teraz otrzymać informację, czy chcesz przeprowadzić nową\n"
+"instalację, czy też uaktualnić istniejący system Mageia:\n"
+"\n"
+" * \"%s\": W większości przypadków, ta opcja powoduje całkowite\n"
+"usunięcie starego systemu. Jednak w zależności od schematu\n"
+"partycjonowania, można zapobiec nadpisaniu niektórych z istniejących\n"
+"danych (szczególnie katalogów \"home\"). Jeśli chcesz zmienić sposób\n"
+"partycjonowania twardych dysków, lub też system plików, należy użyć tej "
+"opcji.\n"
+"\n"
+" * \"%s\": Ta klasa instalacji umożliwia uaktualnienie pakietów\n"
+"aktualnie zainstalowanych w systemie Mageia. Twój bieżący\n"
+"schemat partycjonowania oraz dane użytkownika nie zostaną zmienione.\n"
+"Większość innych kroków konfiguracyjnych pozostanie dostępna,\n"
+"podobnie do instalacji standardowej.\n"
+"\n"
+"Użycie wersji \"Uaktualnienie\" powinno zadziałać dobrze na systemach\n"
+"Mageia w wersji \"8.1\" i późniejszych. Przeprowadzanie\n"
+"uaktualnienia z wersji wcześniejszych niż \"8.1\" nie jest zalecane."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"W zależności od wybranego języka, instalator automatycznie\n"
+"dobierze określony typ konfiguracji klawiatury. Zaznacz, że wybór\n"
+"ci odpowiada lub wybierz inny układ klawiatury.\n"
+"\n"
+"Jednak można nie mieć\n"
+"klawiatury odpowiadającej danemu językowi. Na przykład, Szwajcar mówiący\n"
+"po angielsku, może wciąż chcieć używać klawiatury szwajcarskiej. Albo\n"
+"jeśli osoba porozumiewa się po angielsku i mieszka w prowincji Quebec,\n"
+"język rodzimy oraz układ klawiatury nie będą się ze sobą zgadzać.\n"
+"Jeśli zachodzi taka sytuacja można wrócić, aby wybrać odpowiedni\n"
+"układ klawiatury z listy.\n"
+"\n"
+"Kliknij przycisk \"%s\", aby wyświetlić pełną listę\n"
+"obsługiwanych klawiatur.\n"
+"\n"
+"Po wybraniu układu klawiatury nie opartego na alfabecie łacińskim, następne\n"
+"okno umożliwi wybranie skrótów klawiszowych przełączających układ\n"
+"klawiatury z łacińskiego na narodowy."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Pierwszym krokiem jest wybór preferowanego języka.\n"
+"\n"
+"Twój wybór preferowanego języka będzie miał wpływ na język\n"
+"dokumentacji, instalatora oraz systemu w ogólności. Najpierw należy\n"
+"wybrać region, w którym znajduje się użytkownik a następnie język\n"
+"jakiego używa.\n"
+"\n"
+"Kliknięcie przycisku \"%s\", pozwoli na wybranie innych\n"
+"języków, które zostaną zainstalowane na komputerze.\n"
+"Wybranie innych języków spowoduje zainstalowanie plików zależnych\n"
+"od języka dla dokumentacji oraz aplikacji. Na przykład, jeśli na komputerze\n"
+"pracują użytkownicy z Hiszpanii należy wybrać angielski z widoku\n"
+"głównego drzewa zaś w sekcji \"Zaawansowane\" zaznaczyć opcję\n"
+"\"%s\".\n"
+"\n"
+"Uwaga dotycząca obsługi UTF-8 (unikodu): Unikod jest nowym kodowaniem\n"
+"znaków umożliwiającym równoczesną osługę wszystkich istniejących\n"
+"języków. Jednak pełna obsługa tego standardu jest wciąż w trakcie\n"
+"rozwoju w systemach GNU/Linux. Z tego powodu, Mageia\n"
+"używa go lub nie w zależności od wyboru użytkownika:\n"
+"\n"
+"* Po wybraniu języków z często używanym kodowaniem (języki latin1,\n"
+"rosyjski, japoński, chiński, koreański, rajski, grecki, turecki, większość\n"
+"języków używających iso-8859-2), kodowanie to będzie używane domyślnie;\n"
+"\n"
+"* Inne języki będą domyślnie używały Unicode;\n"
+"\n"
+"* Jeśli wymagane są dwa lub więcej języków i te języki nie używają\n"
+"identycznego kodowania, to Unicode będzie zainstalowany domyślnie dla\n"
+"całego systemu;\n"
+"\n"
+"* W końcu, unicode może być także wymuszony dla systemu na żądanie\n"
+"użytkownika poprzez zaznaczenie opcji \"%s\" niezależnie od wybranego "
+"języka.\n"
+"\n"
+"Nie ma ograniczeń na liczbę języków dodanych dodatkowo do już wybranego.\n"
+"Można wybrać kilka, lub nawet zainstalować je wszystkie wybierając\n"
+"opcję \"%s\". Zaznaczenie obsługi dla języka oznacza tłumaczenia, czcionki,\n"
+"słowniki, itd. dla każdego zainstalowanego języka.\n"
+"\n"
+"Aby przełączać się pomiędzy różnymi językami zainstalowanymi w systemie,\n"
+"można uruchomić polecenie \"localedrake\" z poziomu\n"
+"użytkownika \"root\" co spowoduje zmianę języka używanego przez cały\n"
+"system. Uruchomienie polecenia z konta zwykłego użytkownika spowoduje\n"
+"zmianę ustawień językowych tylko dla tego użytkownika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Hiszpański"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Instalator zazwyczaj wykrywa liczbę przycisków myszy. W innym przypadku\n"
+"zakłada, że mysz posiada dwa przyciski i ustawi system na emulacje\n"
+"trzech przycisków. Trzeci przycisk myszy dwuprzyciskowej\n"
+"może być \"użyty\" poprzez równoczesne kliknięcie lewego i prawego\n"
+"przycisku myszy. Instalator automatycznie wykryje także czy mysz jest\n"
+"typu PS/2, szeregowa czy też USB.\n"
+"\n"
+"W przypadku posiadania myszy 3-przyciskowej bez kółka, można\n"
+"wybrać mysz \"%s\". Instalator następnie skonfiguruje mysz\n"
+"w taki sposób, że będzie można zasymulować za jej pomocą kółko.\n"
+"Robi się to poprzez naciśnięcie środkowego przycisku i poruszanie\n"
+"myszy w górę lub w dół.\n"
+"\n"
+"Jeśli z różnych powodów chcesz wybrać inny typ myszy, należy wybrać\n"
+"odpowiedniÄ… pozycjÄ™ z listy.\n"
+"\n"
+"Można wybrać opcję \"%s\" aby ustawić \"zwykły\" typ myszy, który\n"
+"będzie działać prawie z każdą myszą.\n"
+"\n"
+"Jeśli zostanie wybrana mysz inna niż domyślna, zostanie wyświetlony\n"
+"ekran testowy. Użytkownik powinien sprawdzić przyciski oraz kółka,\n"
+"aby upewnić się co do poprawności konfiguracji. Jeśli mysz nie pracuje\n"
+"poprawnie, należy nacisnąć klawisz spacji lub [Enter] aby anulować test\n"
+"oraz wrócić do listy wyboru. \n"
+"\n"
+"Mysz z kółkiem czasem nie jest wykrywana automatycznie. Należy\n"
+"wówczas wybrać odpowiednią pozycję z listy. Trzeba upewnić się, czy "
+"wybrano \n"
+"mysz podłączoną do odpowiedniego portu. Po zakończeniu wybierania\n"
+"i naciśnięciu przycisku \"%s\", zostanie wyświetlony na ekranie obraz\n"
+"myszy. Poruszaj kółkiem, aby upewnić się czy zostało ono poprawnie\n"
+"aktywowane. Jeśli mysz na ekranie będzie zmieniała ustawienie kółka\n"
+"podczas przesuwania kółka myszy, sprawdź przyciski oraz upewnij się,\n"
+"że wskaźnik przesuwa się po ekranie przy zmianie położenia."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "z emulacją kółka"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Uniwersalna | Dowolna mysz PS/2 i USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Wybierz właściwy port. Na przykład numer portu \"COM1\" z MS Windows\n"
+"w GNU/Linux nazywa siÄ™ \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Program rozruchowy to niewielki program uruchamiający komputer tuż po\n"
+"jego włączeniu. Jest on odpowiedzialny za uruchomienie całego systemu.\n"
+"Zazwyczaj instalacja programu rozruchowego jest całkowicie zautomatyzowana\n"
+"Instalator przeanalizuje sektor rozruchowy oraz wykona operacje zależne od\n"
+"tego, co zostanie tam znalezione:\n"
+"\n"
+" * jeśli zostanie znaleziony sektor rozruchowy Windows zostanie on\n"
+"zastąpiony sektorem rozruchowym GRUB/LILO. Dzięki temu będzie możliwość\n"
+"uruchamiania zarówno systemu GNU/Linux jak i innego systemu operacyjnego.\n"
+"\n"
+" * jeśli zostanie znaleziony sektor rozruchowy GRUB lub LILO zostanie\n"
+"on zastÄ…piony nowym sektorem.\n"
+"\n"
+"W przypadku, gdy nie będzie można określić sektora rozruchowego, instalator\n"
+"wyświetli pytanie, gdzie należy go umieścić. Zazwyczaj \"%s\" jest\n"
+"najbezpieczniejszym miejscem. Wybranie \"%s\" nie spowoduje zainstalowania\n"
+"żadnego programu rozruchowego. Użyj tej opcji tylko w przypadku gdy\n"
+"wiesz co robisz."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nadszedł czas na wybranie systemu drukowania. Inne systemy operacyjne\n"
+"mogą zaoferować jeden, lecz Mageia oferuje dwa. Każdy z tych\n"
+"systemów wydruku jest najlepszy dla określonego typu konfiguracji.\n"
+"\n"
+" * \"%s\" oznaczajÄ…cy \"print, do not queue\" (drukuj, nie buforuj),\n"
+"może zostać wybrany, jeśli komputer jest bezpośrednio połączony z drukarką,\n"
+"jeśli nie boisz się zatorów papieru w drukarce lub też nie posiadasz\n"
+"drukarki sieciowej. (\"%s\" obsłuży tylko bardzo proste sieci i jest\n"
+"cokolwiek wolny w przypadku korzystania z innych sieci.)\n"
+"Wybranie opcji \"pdq\" jest zalecane, jeżeli jest to twoje pierwsze\n"
+"doświadczenie z GU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\"(zwykły system drukowania\n"
+"Uniksa), jest niezastąpiony, jeśli chodzi o drukowanie za pomocą drukarki\n"
+"lokalnej. Jest jednym z częściej używanych systemów drukowania. Jest on\n"
+"prosty i może pracować jako serwer lub też klient dla starożytnego systemu\n"
+"drukowania \"lpd\", więc pracować także ze starszymi systemami "
+"operacyjnymi,\n"
+"które wciąż potrzebują usług drukowania. Będąc całkiem wydajnym, podstawowa\n"
+"konfiguracja jest prawie tak łatwa jak w przypadku \"pdq\". Jeśli chcesz\n"
+"emulować serwer \"lpq\", upewnij się, że włączony jest demon \"cups-lpd\".\n"
+"\"%s\" zawiera graficzne nakładki do drukowania lub wyboru opcji\n"
+"służących do zarządzania drukarką.\n"
+"\n"
+"Jeśli wybór zostanie dokonany w tym miejscu, zaś później okaże się,\n"
+"że system wydruku nie odpowiada twoim potrzebom, można go zmienić,\n"
+"uruchamiajÄ…c program PrinterDrake z Centrum Sterowania Mandriva.\n"
+"Należy tam także kliknąć przycisk \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Tryb zaawansowany"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Instalator próbuje najpierw wykryć urządzenia IDE obecne w komputerze.\n"
+"Wykrywana jest także jedna (lub więcej) karta PCI SCSI. Jeśli karta SCSI\n"
+"zostanie znaleziona, instalator automatycznie zainstaluje odpowiedni\n"
+"sterownik.\n"
+"\n"
+"Trzeba jednak przyznać, że proces wykrywania nie zawsze zakończy się\n"
+"wykryciem całego sprzętu. Jeśli taki przypadek zajdzie, należy ręcznie "
+"wybrać\n"
+"odpowiednie urzÄ…dzenie.\n"
+"Jeśli istnieje potrzeba ręcznego wyboru karty SCSI, instalator zapyta, czy\n"
+"dla niej mają zostać ustawione jakiś opcje. Należy zezwolić na zbadanie\n"
+"sprzętu w celu ustawienia specyficznych dla karty opcji, które powinny "
+"zostać\n"
+"zainicjowane. Zazwyczaj działa to dobrze.\n"
+"\n"
+"Jeśli instalator nie będzie potrafił zbadać sprzętu w celu określenia,\n"
+"które z parametrów muszą zostać ustawione do poprawnego działania sprzętu,\n"
+"należy ręcznie skonfigurować sterownik."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jeśli karta dźwiękowa została wykryta w systemie, jest ona\n"
+"wyświetlana w tym miejscu. Jeśli zauważysz, że wyświetlana karta\n"
+"nie jest tą, która jest aktualnie obecna w systemie, możesz kliknąć\n"
+"przycisk i wybrać inny sterownik."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Instalator przeglądowo zaprezentuje zestawienie różnych informacji, jakie\n"
+"posiada na temat systemu. W zależności od zainstalowanego sprzętu, można\n"
+"przejrzeć kilka (lub wszystkie) z poniższych pozycji. Każdej pozycji\n"
+"towarzyszy narzędzie konfiguracyjne umożliwiające jej zmianę, uruchamiane\n"
+"po kliknięciu przycisku \"%s\".\n"
+"\n"
+" * \"%s\": sprawdzanie aktualnej konfiguracji układu klawiatury\n"
+"oraz możliwość jej zmiany.\n"
+"\n"
+" * \"%s\": sprawdzanie bieżącego wyboru kraju. Jeśli nie przebywasz\n"
+"w danym kraju, kliknij przycisk \"%s\" i zmień kraj na inny.\n"
+"Jeśli twój kraj nie znajduje się na pierwszej wyświetlanej liście,\n"
+"należy kliknąć przycisk \"%s\", aby uzyskać możliwość wyboru pozycji z\n"
+"pełnej listy krajów.\n"
+"\n"
+" * \"%s\": domyślnie instalator ustawia strefę czasową\n"
+"w oparciu o wybrany kraj. Można kliknąć przycisk \"%s\", jeśli\n"
+"to ustawienie nie jest poprawne.\n"
+"\n"
+" * \"%s\": sprawdzanie bieżącej konfiguracji myszy oraz możliwość\n"
+"jej zmiany w razie potrzeby.\n"
+"\n"
+" * \"%s\": kliknięcie przycisku \"%s\" spowoduje otwarcie\n"
+"druida konfiguracji drukarki. Przeczytaj odpowiedni rozdział\n"
+"podręcznika, aby uzyskać więcej informacji na temat konfiguracji nowej\n"
+"drukarki. Interfejs wykorzystywany w tym miejscu jest podobny do tego,\n"
+"który jest używany w trakcie instalacji.\n"
+"\n"
+" * \"%s\": jeśli karta dźwiękowa została wykryta w systemie,\n"
+"zostanie ona tutaj wyświetlona. Jeśli zauważysz, że wyświetlona karta\n"
+"nie jest tą, która jest obecna w systemie, kliknij przycisk i wybierz\n"
+"inny sterownik.\n"
+"\n"
+" * \"%s\": jeśli w systemie została wykryta karta TV,\n"
+"jest ona tutaj wyświetlana. Jeśli posiadasz kartę telewizyjną, a nie\n"
+"została ona wykryta, kliknij przycisk \"%s\", aby spróbować\n"
+"skonfigurować ją ręcznie.\n"
+"\n"
+" * \"%s\": można kliknąć przycisk \"%s\" aby zmienić parametry\n"
+"powiÄ…zane z kartÄ… w przypadku niepoprawnej konfiguracji.\n"
+"\n"
+" * \"%s\": domyślnie instalator konfiguruje interfejs\n"
+"graficzny w rozdzielczości \"800x600\" lub \"1024x768\". Jeśli chcesz\n"
+"wybrać inną opcję, kliknij przycisk \"%s\", aby zmienić ustawienie\n"
+"interfejsu graficznego.\n"
+"\n"
+" * \"%s\": jeśli chcesz skonfigurować połączenie z Internetem lub\n"
+"sieć lokalną użyj tej opcji. Zobacz na wydrukowaną dokumentację lub\n"
+"użyj Centrum Sterownia Mageia po zakończeniu instalacji,\n"
+"aby otrzymać pełną pomoc.\n"
+"\n"
+" * \"%s\": umożliwia konfigurację adresów pośrednika HTTP i FTP,\n"
+"w przypadku gdy komputer znajduje się za serwerem pośrednika.\n"
+"\n"
+" * \"%s\": ta pozycja umożliwia zmianę ustawień\n"
+"poziomu bezpieczeństwa wybranych w poprzednim kroku ().\n"
+"\n"
+" * \"%s\": jeśli planujesz łączenie komputera z Internetem,\n"
+"dobrym pomysłem jest zapewnienie ochrony przed włamaniami poprzez\n"
+"ustawienie zapory sieciowej. Przeczytaj odpowiedni\n"
+"rozdział podręcznika, aby uzyskać szczegóły dotyczące ustawień\n"
+"zapory sieciowej.\n"
+"\n"
+" * \"%s\": w razie potrzeby można zmienić konfigurację programu\n"
+"rozruchowego. Kliknij odpowiedni przycisk. Ta opcja powinna być używana\n"
+"przez doświadczonych użytkowników.\n"
+"\n"
+" * \"%s\": tutaj można wybrać, które usługi będą uruchamiane na\n"
+"komputerze. Jeśli planujesz używać tego komputera jako serwera,\n"
+"dobrze jest przejrzeć te ustawienia."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Karta ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Karta ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfejs graficzny"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Wybierz dysk, który chcesz wykasować, by założyć na nim\n"
+"partycję Mageia. Pamiętaj, że wszystkie dane z tego\n"
+"dysku zostaną utracone bez możliwości odzyskania!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Wybierz \"%s\", jeśli chcesz usunąć wszystkie dane i partycje zapisane\n"
+"na tym dysku. Pamiętaj, po wybraniu \"%s\", nie będzie\n"
+"możliwe odzyskanie żadnych danych oraz partycji obecnych na dysku,\n"
+"włączając w to dane partycji Windows.\n"
+"\n"
+"Wybierz \"%s\", by anulować tą operację bez utraty danych i partycji\n"
+"obecnych w systemie."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Dalej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Wstecz"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": kliknięcie przycisku \"%s\" spowoduje otwarcie\n"
+#~ "druida konfiguracji drukarki. Przeczytaj odpowiedni rozdział\n"
+#~ "podręcznika, aby uzyskać więcej informacji na temat sposobu konfiguracji\n"
+#~ "nowej drukarki. Interfejs wykorzystywany w tym miejscu jest podobny\n"
+#~ "do interfejsu używanego w czasie instalacji."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Nadszedł czas na podjęcie najważniejszej decyzji dotyczącej "
+#~ "bezpieczeństwa\n"
+#~ "twojego systemu GNU/Linux: należy podać hasło użytkownika \"root\". \n"
+#~ "\"root\" jest administratorem systemu i jedynym użytkownikiem mającym\n"
+#~ "prawa do wykonywania aktualizacji, dodawania użytkowników, zmiany\n"
+#~ "konfiguracji systemu itd. W skrócie \"root\" może zrobić w systemie\n"
+#~ "wszystko! Z tego powodu hasło nie może być łatwe do odgadnięcia\n"
+#~ "i instalator poinformuje cię, jeśli będzie ono zbyt proste. Można\n"
+#~ "wcale nie ustawiać hasła, lecz nie jest zalecane pozostawianie go pustym\n"
+#~ "z jednego powodu. Nie należy zakładać, że gdy uruchamiasz GNU/Linux to\n"
+#~ "inne systemy operacyjne są wolne od błędów. Ponieważ \"root\" może\n"
+#~ "obejść wszelkie zabezpieczenia i niechcący wymazać wszelkie dane z "
+#~ "dysku,\n"
+#~ "zalecana jest ostrożność przy logowaniu się na to konto.\n"
+#~ "\n"
+#~ "Hasło powinno zawierać znaki alfanumeryczne i posiadać długość\n"
+#~ "co najmniej 8 znaków. Nigdy nie należy zapisywać hasła użytkownika\n"
+#~ "\"root\", gdyż zostawia to zbyt dużą lukę bezpieczeństwa w systemie.\n"
+#~ "\n"
+#~ "Jednak zbyt długie lub zbyt skomplikowane hasło trudno jest zapamiętać!\n"
+#~ "\n"
+#~ "Hasło nie będzie wyświetlane na ekranie podczas wpisywania. Dlatego też\n"
+#~ "musi być ono dodatkowo potwierdzone w celu zminimalizowania możliwości\n"
+#~ "popełniania błędu. Jeśli dwa razy zostanie wpisane to samo \"błędne\"\n"
+#~ "hasło, należy go użyć podczas pierwszego logowania i zmienić je na\n"
+#~ "właściwe.\n"
+#~ "\n"
+#~ "Jeśli chcesz aby komputer, był kontrolowany\n"
+#~ "przez serwer uwierzytelniania, kliknij przycisk \"%s\".\n"
+#~ "\n"
+#~ "Można wybrać odpowiednią opcję \"%s\" spośród LDAP, NIS lub Domeny PDC\n"
+#~ "Windows. Jeśli nie wiesz, której opcji wybrać, zapytaj administratora "
+#~ "sieci\n"
+#~ "\n"
+#~ "Jeśli masz problemy z zapamiętywaniem haseł, można wybrać opcję \"%s\"\n"
+#~ "w przypadku, gdy komputer nie jest połączony z Internetem i ufasz\n"
+#~ "wszystkim osobom posiadającym do niego dostęp."
+
+#~ msgid "authentication"
+#~ msgstr "uwierzytelnianie"
diff --git a/perl-install/install/help/po/pt.po b/perl-install/install/help/po/pt.po
new file mode 100644
index 000000000..80634cae5
--- /dev/null
+++ b/perl-install/install/help/po/pt.po
@@ -0,0 +1,1968 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# Michael Martins, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Michael Martins, 2024\n"
+"Language-Team: Portuguese (https://app.transifex.com/MageiaLinux/teams/9361/"
+"pt/)\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, você deve ler atentamente os termos da licença. Ela\n"
+"cobre toda a distribuição do Mageia. Se você concordar com todos os\n"
+"termos, marque a caixa \"%s\". Caso contrário, clicar no botão \"%s\"\n"
+"reiniciará seu computador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é um sistema multi-utilizador, o que significa que cada "
+"utilizador\n"
+"tem as suas próprias preferências, ficheiros e por aí a fora. Mas ao invés\n"
+"do root, que é o administrador do sistema, os utilizadores que adiciona\n"
+"neste ponto não serão autorizador a fazer qualquer mudança, excepto os\n"
+"seus próprios ficheiros e configurações, protegendo o sistema de mudanças\n"
+"não intencionais ou maliciosas que poderiam ter impacto. Vai ter que criar\n"
+"pelo menos um utilizador regular para si próprio -- esta é a conta que pode\n"
+"usar por rotina, no dia-à-dia. Contudo é muito fácil entrar como root,\n"
+"para fazer o que quer que seja, pode também ser muito perigoso! Um\n"
+"simples erro pode significar que o seu sistema não volte a trabalhar.\n"
+"Se cometer um erro sério como utilizador regular, o pior que pode\n"
+"acontecer, é que possa perder alguma informação, mas não afectará\n"
+"todo o sistema.\n"
+"\n"
+"O primeiro campo pergunta por um nome real. Claro que não é imperativo\n"
+"-- realmente até pode digitar o que quiser. O DrakX irá usar a primeira\n"
+"palavra que digitar neste campo e copiá-la para este campo \"%s\",\n"
+"que é o nome que este utilizador irá digitar para fazer se autenticar no\n"
+"sistema. O próximo passo é para digitar uma senha. De um posto de vista\n"
+"seguro, uma senha de um utilizador não privilegiado (regular) não é crucial\n"
+"como uma senha \"root\", mas não há razão para negligenciar a senha\n"
+"fazendo-a demasiado simples, ou simplesmente deixar em branco: claro\n"
+"que seriam os seus ficheiros que ficariam em risco.\n"
+"\n"
+"Assim que clicar em \"%s\",pode adicionar outros utilizadores. Adicionar\n"
+"um utilizador para cada um dos seus amigos, o seu pai, a sua irmã, etc.\n"
+"Clique em \"%s\" sempre que acabar de adicionar um utilizador.\n"
+"Ao clicar em \"%s\" permite-lhe mudar a \"shell\" predefinida para esse\n"
+"utilizador (bash por omissão).\n"
+"\n"
+"Quando terminar de adicionar utilizadores, será-lhe dado a escolher um\n"
+"utilizador que entrará automaticamente no sistema quando o computador\n"
+"arrancar. Se está interessado nessa opção (e não se importa com a\n"
+"segurança local), escolha o utilizador desejado e o gestor de janelas,\n"
+"depois clique em \"%s\".\n"
+"Se não está interessado nesta opção, desmarque a caixa \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Nome de usuário"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Aceitar o usuário"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Deseja usar esta opção?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aqui estão listadas partições Linux existentes detectadas no seu disco.\n"
+"Pode manter as escolhas feitas pelo assistente, desde que sejam boas\n"
+"para a maioria das instalações comuns. Se fizer alguma alteração, tem\n"
+"que pelo menos definir uma partição root (\"/\"). Não escolha uma partição\n"
+"demasiado pequena ou não será capaz de instalar todo o software.\n"
+"Se quiser guardar os seus dados numa partição separada, irá também\n"
+"precisar de criar uma partição \"/home\" (apenas possível se tiver mais\n"
+"do que uma parição Linux disponível).\n"
+"\n"
+"Cada partição é listada como se segue: \"Nome\", \"Capacidade\".\n"
+"\n"
+"O \"Nome\" está estruturado: \"tipo do dispositivo do disco\", \"número do\n"
+"dispositivo\", \"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"O tipo do dispositivo do disco\" é \"hd\" se o controlador do disco for\n"
+"um dispositivo IDE e \"sd\" se for um dispositivo SCSI.\n"
+"\n"
+"\"O número do dispositivo do disco\" é sempre uma letra a seguir a \"hd\"\n"
+"ou \"sd\". Para os dispositivos IDE:\n"
+"\n"
+" * \"a\" significa \"dispositivo principal (master) do disco no primeiro\n"
+"controlador IDE\";\n"
+"\n"
+" * \"b\" significa \"dispositivo secundário (slave) do disco no primeiro\n"
+"controlador IDE\";\n"
+"\n"
+" * \"c\" significa \"dispositivo principal (master) do disco no segundo\n"
+"controlador IDE\";\n"
+"\n"
+" * \"d\" significa \"dispositivo secundário (slave) do disco no segundo\n"
+"controlador IDE\".\n"
+"\n"
+"Com os dispositivos SCSI, um \"a\" significa \"ID SCSI mais baixo\", um\n"
+"\"b\" significa \"ID SCSI segundo mais baixo\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A instalação do Mageia é distribuída em vários CD-ROMs. Se um\n"
+"pacote selecionado estiver localizado em outro CD-ROM, o DrakX irá ejetar\n"
+"o CD atual e solicitar que você insira o CD necessário. Se você não tiver\n"
+"o CD solicitado em mãos, basta clicar em \"%s\", e os pacotes "
+"correspondentes\n"
+"não serão instalados."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Agora é hora de especificar quais programas você deseja instalar em seu "
+"sistema.\n"
+"Existem milhares de pacotes disponíveis para o Mageia, e para simplificar o\n"
+"gerenciamento, eles foram agrupados em categorias de aplicações similares.\n"
+"\n"
+"O Mageia classifica os grupos de pacotes em quatro categorias. Você pode\n"
+"misturar e combinar aplicações das várias categorias, de modo que uma\n"
+"instalação \"Estação de trabalho\" ainda possa ter aplicações da categoria\n"
+"\"Servidor\" instaladas.\n"
+"\n"
+" * \"%s\": se você planeja usar sua máquina como uma estação de trabalho,\n"
+"selecione um ou mais dos grupos na categoria de estação de trabalho.\n"
+"\n"
+" * \"%s\": se você planeja usar sua máquina para programação, selecione os\n"
+"grupos apropriados dessa categoria. O grupo especial \"LSB\" configurará "
+"seu\n"
+"sistema para que ele esteja o mais próximo possível das especificações do\n"
+"Linux Standard Base.\n"
+"\n"
+" Selecionar o grupo \"LSB\" garantirá 100% de conformidade com o\n"
+"LSB do sistema. No entanto, se você não selecionar o grupo \"LSB\", ainda\n"
+"terá um sistema quase 100% compatível com o LSB.\n"
+"\n"
+" * \"%s\": se sua máquina for destinada a ser um servidor, selecione quais\n"
+"dos serviços mais comuns você deseja instalar em sua máquina.\n"
+"\n"
+" * \"%s\": aqui você escolherá seu ambiente gráfico preferido. Pelo menos\n"
+"um deve ser selecionado se você quiser ter uma interface gráfica "
+"disponível.\n"
+"\n"
+"Mover o cursor do mouse sobre um nome de grupo exibirá um texto explicativo "
+"sobre esse grupo.Você pode marcar a caixa \"%s\", que é útil se você estiver "
+"familiarizado com os pacotes oferecidos ou se desejar ter controle total "
+"sobre o que será instalado.Se você iniciar a instalação no modo \"%s\", pode "
+"desmarcar todos os grupos e evitar a instalação de novos pacotes. Isso é "
+"útil para reparar ou atualizar um sistema existente.Se você desmarcar todos "
+"os grupos ao realizar uma instalação regular (em vez de uma atualização), "
+"uma caixa de diálogo será exibida sugerindo diferentes opções para uma "
+"instalação mínima:\"%s\": instala o número mínimo de pacotes possível para "
+"ter uma área de trabalho gráfica funcional.\"%s\": instala o sistema base "
+"mais utilitários básicos e sua documentação. Esta instalação é adequada para "
+"configurar um servidor.\"%s\": instalará o número absoluto mínimo de pacotes "
+"necessários para obter um sistema Linux funcional. Com esta instalação, você "
+"terá apenas uma interface de linha de comando. O tamanho total desta "
+"instalação é de cerca de 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Com documentação básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Verdadeira instalação mínima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se você optar por instalar pacotes individualmente, o instalador "
+"apresentará\n"
+"uma árvore contendo todos os pacotes classificados por grupos e subgrupos.\n"
+"Enquanto navega pela árvore, você pode selecionar grupos inteiros, "
+"subgrupos\n"
+"ou pacotes individuais.\n"
+"\n"
+"Sempre que você selecionar um pacote na árvore, uma descrição aparecerá\n"
+"à direita para informar o propósito desse pacote.\n"
+"\n"
+" !! Se um pacote de servidor for selecionado, seja porque você escolheu\n"
+"especificamente o pacote individual ou porque ele fazia parte de um grupo\n"
+"de pacotes, será solicitado que você confirme se realmente deseja que esses\n"
+"servidores sejam instalados. Por padrão, o Mageia iniciará automaticamente\n"
+"quaisquer serviços instalados durante o tempo de inicialização. Mesmo que\n"
+"eles sejam seguros e não tenham problemas conhecidos na época em que\n"
+"a distribuição foi lançada, é possível que vulnerabilidades de segurança "
+"tenham\n"
+"sido descobertas após a finalização desta versão do Mageia. Se você não "
+"souber\n"
+"o que um serviço específico deve fazer ou por que está sendo instalado, "
+"clique em \"%s\".\n"
+"Clicar em \"%s\" instalará os serviços listados e eles serão iniciados "
+"automaticamente\n"
+"durante o tempo de inicialização. !!\n"
+"\n"
+"A opção \"%s\" é usada para desativar a caixa de diálogo de aviso que "
+"aparece\n"
+"sempre que o instalador seleciona automaticamente um pacote para resolver "
+"um\n"
+"problema de dependência. Alguns pacotes dependem de outros e a instalação "
+"de\n"
+"um pacote específico pode exigir a instalação de outro pacote. O instalador "
+"pode\n"
+"determinar quais pacotes são necessários para satisfazer uma dependência e "
+"concluir\n"
+"a instalação com sucesso.\n"
+"\n"
+"O ícone de disquete pequeno na parte inferior da lista permite carregar uma\n"
+"lista de pacotes criada durante uma instalação anterior. Isso é útil se você "
+"tiver\n"
+"várias máquinas que deseja configurar de maneira idêntica. Clicar nesse "
+"ícone\n"
+"solicitará que você insira o disquete criado ao final de outra instalação. "
+"Consulte\n"
+"a segunda dica do último passo sobre como criar um disquete desse tipo."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependências automáticas"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo é usado para escolher que serviços deseja iniciar no arranque.\n"
+"\n"
+"O DrakX irá listar todos os serviços disponíveis na actual instalação\n"
+"Reveja cada um deles cuidadosamente e desmarque aqueles que não são\n"
+"necessários no arranque.\n"
+"\n"
+"Um breve texto de introdução será mostrado acerca do serviço quando\n"
+"este é seleccionado. No entanto, se não tem certeza se o serviço é útil\n"
+"ou não, é mais seguro deixa-lo como estava.\n"
+"\n"
+"!! Nesta altura, tenha muito cuidado se deseja usar a sua máquina como\n"
+"um servidor: provavelmente não quererá iniciar qualquer serviço que\n"
+"não conheça. Por favor lembre-se que alguns serviços podem ser\n"
+"perigosos se forem activados num servidor. Em geral, seleccione\n"
+"apenas aqueles servque realmente precisa. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"O GNU/Linux gere o tempo em GMT (Greenwich Mean Time) e traduz em\n"
+"hora local conforme a zona que escolheu. Se o relógio da sua placa mãe\n"
+"estiver definido para hora local, pode desactivar isto ao de-seleccionar \n"
+"\"%s\", que dará indicação ao GNU/Linux que o relógio do\n"
+"sistema e o de material estão no mesmo fuso horário. É muito útil\n"
+"quando a máquina 'opera' outro sistema operativo.\n"
+"\n"
+"A opção \"%s\" irá regular automaticamente o relógio do sistema ao\n"
+"ligar-se a um servidor horário remoto na Internet. Para esta opção\n"
+"funcionar, precisa ter uma conexão internet activa. Recomendamos\n"
+"que escolha um servidor horário localizado perto de si. Na realidade,\n"
+"esta opção instala um servidor horário que poderá ser usado por outras\n"
+"máquinas na sua rede local."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Relógio do hardware configurado para GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronização automática da hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Placa Gráfica\n"
+"\n"
+" Normalmente o instalador detecta e configura automáticamente \n"
+"a placa gráfica instalada na sua máquina. Se isto não é correcto,\n"
+"pode escolher da lista a placa que tem instalada.\n"
+"\n"
+" Na caso caso de existirem vários servidores disponíveis para a sua "
+"placa,\n"
+"com ou sem aceleração 3D, ser-lhe-á pedido que escolha o servidor\n"
+"que melhor sirva as suas necessidades."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para o X Window System) é o coração da interface gráfica do GNU/Linux,\n"
+"sobre a qual todos os ambientes gráficos (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) fornecidos com o Mageia dependem.\n"
+"\n"
+"Você verá uma lista de diferentes parâmetros para ajustar e obter uma "
+"exibição\n"
+"gráfica otimizada.\n"
+"\n"
+"Placa Gráfica\n"
+"\n"
+"O instalador normalmente detectará e configurará automaticamente a\n"
+"placa gráfica instalada em sua máquina. Se isso não estiver correto, você\n"
+"pode escolher na lista a placa que você realmente tem instalada.\n"
+"\n"
+"Na situação em que diferentes drivers estão disponíveis para sua placa, com\n"
+"ou sem aceleração 3D, você será solicitado a escolher o driver que melhor\n"
+"atende às suas necessidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+"Normalmente, o instalador detectará e configurará automaticamente o\n"
+"monitor\n"
+"conectado à sua máquina. Se isso não estiver correto, você pode escolher na\n"
+"lista o monitor que está conectado ao seu computador.\n"
+"\n"
+"\n"
+"\n"
+"Resolução\n"
+"\n"
+"Aqui você pode escolher as resoluções e profundidades de cor disponíveis\n"
+"para o seu hardware gráfico. Escolha a que melhor atende às suas "
+"necessidades\n"
+"(você poderá fazer alterações após a instalação). Uma amostra da "
+"configuração\n"
+"escolhida é exibida na imagem do monitor\n"
+"\n"
+"\n"
+"\n"
+"Teste\n"
+"\n"
+" Dependendo do seu hardware, esta opção pode não aparecer.\n"
+"\n"
+" O sistema tentará abrir uma tela gráfica na resolução desejada. Se você\n"
+"ver a mensagem de teste durante o teste e responder \"%s\", então o DrakX\n"
+"prosseguirá para a próxima etapa. Se você não a ver, isso significa que "
+"alguma\n"
+"parte da configuração detecção automática estava incorreta e o teste será\n"
+"automaticamente encerrado após 12 segundos, retornando ao menu. Altere\n"
+"as configurações até obter uma exibição gráfica correta.\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"Opções\n"
+"\n"
+" Esta etapa permite escolher se você deseja que sua máquina mude\n"
+"automaticamente para uma interface gráfica na inicialização. Obviamente,\n"
+"você pode querer marcar \"%s\" se sua máquina for atuar como um servidor\n"
+"ou se não conseguir configurar a exibição corretamente."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalmente o instalador detectar e configurar automaticamente o\n"
+"monitor ligado à sua máquina. Se não estiver correcto, pode escolher desta\n"
+"lista o monitor que está ligado ao computador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolução\n"
+"\n"
+" Aqui pode escolher uma resolução e uma profundidade de cor entre as\n"
+"disponíveis para o seu material. Escolha a que melhor se adapta às\n"
+"suas necessidades (poderá, no entanto, alterar após a instalação). Uma\n"
+"amostra da configuração escolhida será apresentada no monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Na situação, onde há diferentes servidores disponíveis para a sua placa,\n"
+"com ou sem aceleração 3D, é-lhe pedido que escolha o servidor que\n"
+"melhor sirva as suas necessidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opções\n"
+"\n"
+" Este passo permite-lhe escolher se quer que a sua máquina "
+"automáticamente\n"
+"mude para um interface gráfico ao arrancar. Obviamente, pode querer "
+"seleccionar\n"
+"\"%s\" se a sua máquina está para agir como um servidor, ou se não foi bem\n"
+"sucedido a configurar o monitor."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Agora você precisa decidir onde deseja instalar o sistema operacional "
+"Mageia\n"
+"em seu disco rígido. Se o seu disco rígido estiver vazio ou se um sistema\n"
+"operacional existente estiver usando todo o espaço disponível, você terá "
+"que\n"
+"particionar o disco. Basicamente, particionar um disco rígido significa "
+"dividi-lo\n"
+"logicamente para criar o espaço necessário para instalar o novo sistema "
+"Mageia.\n"
+"\n"
+"Como o processo de particionamento de um disco rígido é geralmente "
+"irreversível\n"
+"e pode levar a perdas de dados, o particionamento pode ser intimidante e "
+"estressante\n"
+"para o usuário inexperiente. Felizmente, o DrakX inclui um assistente que "
+"simplifica\n"
+"esse processo. Antes de continuar com esta etapa, leia o restante desta "
+"seção e,\n"
+"acima de tudo, tome seu tempo.\n"
+"\n"
+"Dependendo da configuração do seu disco rígido, várias opções estão "
+"disponíveis:\n"
+"\n"
+" * \"%s\". Esta opção realizará um particionamento automático do(s) seu(s)\n"
+"disco(s) vazio(s). Se você usar esta opção, não haverá mais solicitações.\n"
+"\n"
+" * \"%s\". O assistente detectou uma ou mais partições Linux existentes\n"
+"em seu disco rígido. Se você quiser usá-las, escolha esta opção. Você será\n"
+"então solicitado a escolher os pontos de montagem associados a cada uma\n"
+"das partições. Os pontos de montagem legados são selecionados por padrão e,\n"
+"na maioria das vezes, é uma boa ideia mantê-los.\n"
+"\n"
+" * \"%s\". Se o Microsoft Windows estiver instalado em seu disco rígido e\n"
+"ocupar todo o espaço disponível, você terá que criar espaço livre para o\n"
+"GNU/Linux. Para fazer isso, você pode excluir a partição e os dados do\n"
+"Microsoft Windows (veja a solução ``Apagar todo o disco'') ou redimensionar\n"
+"a partição FAT ou NTFS do Microsoft Windows. O redimensionamento pode ser\n"
+"realizado sem perda de dados, desde que você tenha desfragmentado a\n"
+"partição do Windows anteriormente. É altamente recomendável fazer backup\n"
+"dos seus dados. Usar esta opção é recomendado se você deseja utilizar tanto\n"
+"o Mageia quanto o Microsoft Windows no mesmo computador.\n"
+"\n"
+" Antes de escolher esta opção, por favor, entenda que após este "
+"procedimento,\n"
+"o tamanho da sua partição do Microsoft Windows será menor do que era\n"
+"inicialmente. Você terá menos espaço livre no Microsoft Windows para "
+"armazenar\n"
+"seus dados ou para instalar novos softwares.\n"
+"\n"
+" * \"%s\". Se você deseja excluir todos os dados e todas as partições\n"
+"presentes em seu disco rígido e substituí-los pelo novo sistema Mageia,\n"
+"escolha esta opção. Tenha cuidado, pois você não poderá desfazer esta\n"
+"operação após confirmar.\n"
+"\n"
+" !! Se você escolher esta opção, todos os dados em seu disco serão "
+"excluídos. !!\n"
+"\n"
+" * \"%s\". Esta opção aparece quando o disco rígido é totalmente ocupado\n"
+"pelo Microsoft Windows. Escolher esta opção excluirá tudo no disco e "
+"começará\n"
+"do zero, particionando tudo a partir do início.\n"
+"\n"
+" !! Se você escolher esta opção, todos os dados em seu disco serão "
+"perdidos. !!\n"
+"\n"
+" * \"%s\". Escolha esta opção se você deseja particionar seu disco rígido\n"
+"manualmente. Tenha cuidado -- é uma escolha poderosa, mas perigosa, e você\n"
+"pode facilmente perder todos os seus dados. Por isso, esta opção é "
+"realmente\n"
+"recomendada apenas se você já tiver feito algo semelhante antes e tiver "
+"alguma\n"
+"experiência. Para mais instruções sobre como usar a ferramenta DiskDrake,\n"
+"consulte a seção Gerenciando Suas Partições'' no Guia do Iniciante''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partição existente"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usar o espaço livre da partição Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Apagar disco inteiro"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Parabéns, a instalação está agora completa e o seu sistema GNU/Linux\n"
+"está pronto a ser usado. Clique em \"%s\" para reiniciar o sistema.\n"
+"Não se esqueça de remover a média de instalação (CD-ROM ou disquete).\n"
+"A primeira coisa que deve ver a seguir ao computador acabar os testes\n"
+"de material, é o menu do carregador de arranque, dando-lhe a opção\n"
+"de escolher qual o sistema operativo a iniciar.\n"
+"\n"
+"O botão \"%s\" mostra mais dois botões para:\n"
+"\n"
+" * \"%s\": permite-lhe criar uma disquete de instalação que irá\n"
+"automáticamente executar uma instalação completa sem a ajuda de\n"
+"um operador similar ao da instalação que ainda agora configurou.\n"
+"\n"
+" Note que duas opções diferentes são disponíveis depois de clicar\n"
+"naquele botão:\n"
+"\n"
+" * \"%s\". Isto é uma instalação parcial automática. O passo de\n"
+"particionar é o único procedimento interactivo.\n"
+"\n"
+" * \"%s\". Instalação completamente automática: o disco rígido\n"
+"é completamente reescrito, todos os dados serão perdidos.\n"
+"\n"
+" Esta opção é muito prática para instalar várias máquinas similares.\n"
+"Veja a secção Auto Instalação no nosso sítio web para mais\n"
+"informações.\n"
+"\n"
+" * \"%s\"(*): grava uma lista de pacotes seleccionados na instalação.\n"
+"Para usar esta selecção com outra instalação, insira uma disquete\n"
+"e inicie a instalação. Na linha de comandos, prima a tecla [F1],\n"
+"digite >>linux defcfg=\"floppy\"<< e prima a tecla [Enter].\n"
+"\n"
+"(*) Precisa de uma disquete formatada FAT. Para criar uma em GNU/Linux,\n"
+"digite \"mformat a:\", ou \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Gerar disquete auto-instal"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Replay"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automático"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Salvar a seleção de pacotes"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se você optou por reutilizar algumas partições GNU/Linux legadas, pode\n"
+"ser necessário reformatar algumas delas e apagar qualquer dado que\n"
+"contenham. Para fazer isso, selecione essas partições também.\n"
+"\n"
+"Por favor, observe que não é necessário reformatar todas as partições\n"
+"existentes. Você deve reformatar as partições que contêm o sistema "
+"operacional\n"
+"(como \"/\", \"/usr\" ou \"/var\"), mas não é necessário reformatar as "
+"partições que\n"
+"contêm dados que você deseja manter (tipicamente \"/home\").\n"
+"\n"
+"Tenha cuidado ao selecionar partições. Após a formatação ser concluída,\n"
+"todos os dados nas partições selecionadas serão excluídos e não será "
+"possível\n"
+"recuperá-los.\n"
+"\n"
+"Clique em \"%s\" quando estiver pronto para formatar as partições\n"
+"\n"
+"Clique em \"%s\" se desejar escolher outra partição para a nova instalação\n"
+"do sistema operacional Mageia.\n"
+"\n"
+"Clique em \"%s\" se desejar selecionar partições que serão verificadas\n"
+"quanto a blocos defeituosos no disco."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ao instalar o Mageia, é provável que alguns pacotes tenham sido\n"
+"atualizados desde o lançamento inicial. Bugs podem ter sido corrigidos,\n"
+"questões de segurança resolvidas. Para permitir que você se beneficie\n"
+"dessas atualizações, agora você pode baixá-las da Internet. Marque \"%s\"\n"
+" se você tiver uma conexão com a Internet funcionando, ou \"%s\" se\n"
+"preferir instalar pacotes atualizados mais tarde.\n"
+"\n"
+"Escolher \"%s\" exibirá uma lista de locais na web dos quais as "
+"atualizações\n"
+"podem ser recuperadas. Você deve escolher um próximo a você. Uma árvore\n"
+"de seleção de pacotes aparecerá: revise a seleção e pressione \"%s\"para\n"
+"recuperar e instalar os pacotes selecionados, ou \"%s\" para abortar."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Neste ponto, o DrakX permitirá que você escolha o nível de segurança\n"
+"desejado para sua máquina. Como regra geral, o nível de segurança deve ser\n"
+"definido mais alto se a máquina contiver dados cruciais ou se estiver "
+"diretamente\n"
+"exposta à Internet. O compromisso é que um nível de segurança mais alto\n"
+"geralmente é obtido à custa da facilidade de uso.\n"
+"\n"
+"Se você não souber o que escolher, mantenha a opção padrão. Você poderá\n"
+"alterá-la posteriormente com a ferramenta draksec, que faz parte do\n"
+"Centro de Controle do Mageia.\n"
+"\n"
+"Preencha o campo \"%s\" com o endereço de e-mail da pessoa responsável\n"
+"pela segurança. Mensagens de segurança serão enviadas para esse endereço."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de Segurança"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Neste ponto, você precisa escolher quais partições serão usadas para a\n"
+"instalação do seu sistema Mageia. Se as partições já foram definidas, seja\n"
+"a partir de uma instalação anterior do GNU/Linux ou por outra ferramenta\n"
+"de particionamento, você pode usar as partições existentes. Caso contrário,\n"
+"as partições do disco rígido devem ser definidas.\n"
+"\n"
+"Para criar partições, você deve primeiro selecionar um disco rígido. Você\n"
+"pode selecionar o disco para particionamento clicando em ``hda'' para o\n"
+"primeiro disco IDE, ``hdb'' para o segundo, ``sda'' para o primeiro disco "
+"SCSI\n"
+"e assim por diante.\n"
+"\n"
+"Para particionar o disco rígido selecionado, você pode usar estas opções:\n"
+"\n"
+" * \"%s\": esta opção exclui todas as partições no disco rígido selecionado\n"
+"\n"
+" * \"%s\": esta opção permite criar automaticamente partições ext4 e swap\n"
+"no espaço livre do seu disco rígido\n"
+"\n"
+"\"%s\": oferece acesso a recursos adicionais:\n"
+"\n"
+" * \"%s\": salva a tabela de partições em um disquete. Útil para "
+"recuperação\n"
+"da tabela de partições mais tarde, se necessário. Recomenda-se fortemente\n"
+"que você realize esta etapa.\n"
+"\n"
+" * \"%s\": permite restaurar uma tabela de partições previamente salva a\n"
+"partir\n"
+"de um disquete.\n"
+"\n"
+" * \"%s\": se a tabela de partições estiver danificada, você pode tentar "
+"recuperá-la\n"
+"usando esta opção. Por favor, tenha cuidado e lembre-se de que isso nem\n"
+"sempre\n"
+"funciona.\n"
+"\n"
+" * \"%s\": descarta todas as alterações e recarrega a tabela de partições "
+"que\n"
+"estava originalmente no disco rígido.\n"
+"\n"
+" * \"%s\": esmarcar esta opção forçará os usuários a montar e desmontar\n"
+"manualmente mídias removíveis, como disquetes e CD-ROMs.\n"
+"\n"
+" * \"%s\": use esta opção se você deseja usar um assistente para particionar "
+"seu\n"
+"disco rígido. Isso é recomendado se você não tiver um bom entendimento de\n"
+"particionamento.\n"
+"\n"
+" * \"%s\": use esta opção para cancelar suas alterações.\n"
+" \n"
+" * \"%s\": permite ações adicionais em partições (tipo, opções, formato)\n"
+"e fornece mais informações sobre o disco rígido.\n"
+"\n"
+" * \"%s\": quando você terminar de particionar seu disco rígido, isso "
+"salvará\n"
+"suas alterações no disco.\n"
+"\n"
+"Ao definir o tamanho de uma partição, você pode ajustar o tamanho da\n"
+"partição com precisão usando as teclas de seta do teclado.\n"
+"\n"
+"Nota: você pode acessar qualquer opção usando o teclado. Navegue pelas\n"
+"partições usando [Tab] e as setas [Para Cima/Para Baixo].\n"
+"\n"
+"Quando uma partição está selecionada, você pode usar:\n"
+"\n"
+" * Ctrl-c para criar uma nova partição (quando uma partição vazia está\n"
+"selecionada)\n"
+"\n"
+" * Ctrl-d para excluir uma partição\n"
+"\n"
+" * Ctrl-m para definir o ponto de montagem\n"
+"\n"
+"Para obter informações sobre os diferentes tipos de sistemas de arquivos\n"
+"disponíveis, consulte o capítulo ext2FS do ``Manual de Referência''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Salvar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaurar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recuperar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontagem dos dispositivos amovíveis"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Assistente"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Desfazer"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Alterna entre os modos normal/perito"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mais de uma partição Microsoft foi detectada no seu disco rígido. Por "
+"favor,\n"
+"escolha a que deseja redimensionar para instalar seu novo sistema "
+"operacional\n"
+"Mageia..\n"
+"\n"
+"Cada partição é listada da seguinte forma: \"Nome do Linux\", \"Nome do "
+"Windows\",\n"
+" \"Capacidade\".\n"
+"\n"
+"\"Nome do Linux\" é estruturado como: \"tipo de disco rígido\", \"número do "
+"disco rígido\",\n"
+"\"número da partição\" (por exemplo, \"hda1\")\n"
+"\n"
+"\"Tipo de disco rígido\" é \"hd\" se o seu disco rígido for IDE e \"sd\" se "
+"for SCSI.\n"
+"\n"
+"\"Número do disco rígido\" é sempre uma letra após \"hd\" ou \"sd\". Com "
+"discos\n"
+"rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido mestre no controlador IDE primário\";\n"
+"\n"
+" * \"b\" significa \"disco rígido escravo no controlador IDE primário\";\n"
+"\n"
+" * \"c\" significa \"disco rígido mestre no controlador IDE secundário\";\n"
+"\n"
+" * \"d\" significa \"disco rígido escravo no controlador IDE secundário\"..\n"
+"\n"
+"Com discos rígidos SCSI, um \"a\" significa \"ID SCSI mais baixo\", um \"b\" "
+"significa\n"
+"\"segundo ID SCSI mais baixo\", e assim por diante.\n"
+"\n"
+"\"Nome do Windows\" é a letra do seu disco rígido no Windows (o primeiro "
+"disco\n"
+"ou partição é chamado de \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique o país seleccionado. Se não está neste país, clique no\n"
+"botão \"%s\" e escolha outro. Se o seu país não estiver na lista dada,\n"
+"clique no botão \"%s\" para obter a lista completa dos países."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Esta etapa é ativada somente se uma partição GNU/Linux existente\n"
+"foi encontrada em sua máquina.\n"
+"\n"
+"O DrakX agora precisa saber se você deseja realizar uma nova instalação\n"
+"ou uma atualização de um sistema Mageia existente:\n"
+"\n"
+" * \"%s\". Na maior parte, isso apaga completamente o sistema antigo.\n"
+"No entanto, dependendo do seu esquema de particionamento, você pode\n"
+"evitar que alguns dos seus dados existentes (notavelmente diretórios "
+"\"home\")\n"
+"sejam sobrescritos. Se você deseja alterar a forma como seus discos rígidos\n"
+"estão particionados ou mudar o sistema de arquivos, deve usar esta opção.\n"
+"\n"
+" * \"%s\". TEsta classe de instalação permite atualizar os pacotes "
+"atualmente\n"
+"instalados em seu sistema Mageia. Seu esquema de particionamento atual e\n"
+"dados de usuário não serão alterados. A maioria das outras etapas de "
+"configuração\n"
+"permanece disponíveis e são semelhantes a uma instalação padrão.\n"
+"\n"
+"Usar a opção ``Atualizar'' deve funcionar bem em sistemas Mageia com a "
+"versão\n"
+"\"8.1\" ou posterior. Realizar uma atualização em versões anteriores à "
+"\"8.1\" do Mageia,\n"
+"não é recomendado."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo da linguagem que escolhe (), o DrakX irá automáticamente\n"
+"escolher um determinado tipo de configuração do teclado. Seleccione a opção\n"
+"que melhor lhe sirva ou escolha outra disposição de teclado.\n"
+"\n"
+"Também, pode não ter um teclado que corresponde exactamente à sua\n"
+"linguagem: por exemplo, se é Francês mas fala Português, pode desejar,\n"
+"mesmo assim um teclado Francês. Ou se fala Português mas vive em\n"
+"Inglaterra, irá encontrar-se na mesma situação. Nos dois casos, pode\n"
+"escolher o teclado apropriado da lista.\n"
+"\n"
+"Clique no botão \"%s\" para obter a lista de todos os teclados suportados.\n"
+"\n"
+"Se escolheu a disposição de um teclado baseado num alfabeto diferente de\n"
+"latim, o próximo diálogo irá-lhe permitir escolher a mapeação de teclas que\n"
+"lhe permita mudar o teclado entre uma disposição Latim uma não Latim."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro passo é escolher seu idioma preferido.\n"
+"\n"
+"Sua escolha de idioma preferido afetará o instalador, a documentação e o\n"
+"sistema em geral. Primeiro, selecione a região em que você está localizado\n"
+"e, em seguida, o idioma que você fala.\n"
+"\n"
+"Clicar no botão \"%s\" permitirá que você selecione outros idiomas a serem\n"
+"instalados em sua estação de trabalho, instalando assim os arquivos "
+"específicos\n"
+"para documentação do sistema e aplicativos. Por exemplo, se usuários de\n"
+"espanhol forem usar sua máquina, selecione o inglês como idioma padrão na\n"
+"visualização em árvore e \"%s\" na seção Avançado.\n"
+"\n"
+"Sobre o suporte a UTF-8 (unicode): Unicode é uma nova codificação de "
+"caracteres\n"
+"destinada a cobrir todos os idiomas existentes. No entanto, o suporte "
+"completo a\n"
+"ela no GNU/Linux ainda está em desenvolvimento. Por essa razão, o uso de "
+"UTF-8\n"
+"no Mageia dependerá das escolhas do usuário:\n"
+"\n"
+" * Se você escolher um idioma com uma codificação legada forte (idiomas "
+"latin1,\n"
+"russo, japonês, chinês, coreano, tailandês, grego, turco, a maioria dos "
+"idiomas\n"
+"iso-8859-2), a codificação legada será usada por padrão;\n"
+"\n"
+" * Outros idiomas usarão unicode por padrão;\n"
+"\n"
+" * Se forem necessários dois ou mais idiomas, e esses idiomas não usarem\n"
+"a mesma codificação, então unicode será usado para todo o sistema;\n"
+"\n"
+" * Finalmente, o unicode também pode ser forçado para uso em todo o\n"
+"sistema a pedido do usuário, selecionando a opção \"%s\" independentemente\n"
+"dos idiomas escolhidos.\n"
+"\n"
+"Observe que você não está limitado a escolher um único idioma adicional.\n"
+"Você pode escolher vários ou até mesmo instalá-los todos selecionando a\n"
+"caixa \"%s\". Selecionar o suporte para um idioma significa que traduções,\n"
+"fontes, corretores ortográficos, etc., também serão instalados para esse "
+"idioma.\n"
+"\n"
+"Para alternar entre os vários idiomas instalados em seu sistema, você pode\n"
+"executar o comando \"localedrake\" como \"root\" para mudar o idioma usado\n"
+"por todo o sistema. Executar o comando como um usuário regular alterará\n"
+"apenas as configurações de idioma para esse usuário específico."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanhol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Usar Unicode por padrão"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Usualmente, o DrakX não tem problemas em detectar o numero de botões\n"
+"no seu rato. Se tiver, assume que tem um rato de dois botões e irá\n"
+"configurá-lo para a emulação do terceiro botão. O terceiro botão de um rato\n"
+"de dois botões, pode ser obtido por simultaneamente clicar nos botões\n"
+"esquerdo e direito. O DrakX irá automaticamente saber se o seu rato usa\n"
+"um interface PS/2 ou USB.\n"
+"\n"
+"Se tem um rato de 3 botões sem roda, pode escolher um rato \"%s\".\n"
+"O DrakX irá então configurar o seu rato para que possa simular a roda: para\n"
+"o fazer, prima o botão do meio e mova o apontador do seu rato para cima\n"
+"e para baixo.\n"
+"\n"
+"Se por alguma razão deseja especificar um tipo diferente de rato, "
+"seleccione\n"
+"o tipo desejado a partir da lista fornecida.\n"
+"\n"
+"Pode escolher a entrada \"%s\" para escolher um rato ``genérico'' que\n"
+"trabalhe praticamente com todos os ratos.\n"
+"\n"
+"Se escolher outro rato diferente do predefinido, um teste no ecrã será\n"
+"mostrado. Use os botões e a roda para verificar se as configurações estão\n"
+"correctas e o rato está a trabalhar correctamente. Se o rato não estiver\n"
+"a funcionar bem, prima a tecla espaço ou [Return] para cancelar o teste\n"
+"e retornar à lista de ratos.\n"
+"\n"
+"Ocasionalmente a roda do rato não é detectada automaticamente, então é\n"
+"necessário seleccionar o rato da lista. Certifique-se que selecciona o\n"
+"correspondente à porta a que o seu rato está ligado. Depois de seleccionar\n"
+"o rato e premir o botão \"%s\", uma imagem será mostrada no ecrã a mover\n"
+"a roda. Teste os botões e verifique se o apontador do rato se move no ecrã \n"
+"assim como move o rato."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "com emulação de Roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualquer rato PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Por favor escolha a porta correcta. Por exemplo, em Windows é \"COM1\",\n"
+"em GNU/Linux já é \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"O carregador de arranque é um pequeno programa que é iniciado pelo\n"
+"computador no seu arranque. É responsável pela inicialização de todo o\n"
+"sistema. Normalmente, a fase de instalação do gestor de arranque é\n"
+"completamente automática. O DrakX irá analisar o sector de arranque do\n"
+"disco e agir de acordo com o que lá encontrar:\n"
+"\n"
+" * se encontrar um sector de arranque Windows, irá trocá-lo por um sector\n"
+"de arranque GRUB/LILO. Desta maneira será capaz de escolher entre carregar\n"
+"o GNU/Linux ou qualquer outro Sistema Operativo instalado na sua máquina.\n"
+"\n"
+" * se encontrar um sector de arranque GRUB ou LILO, irá trocá-lo por um "
+"novo.\n"
+"\n"
+"Se o DrakX não conseguir determinar onde deve colocar o sector de arranque,\n"
+"irá-lhe perguntar onde o quer colocar. Geralmente, o \"%s\" é o local mais\n"
+"seguro. Ao escolher \"%s\" nenhum gestor de arranque será instalado. Use\n"
+"esta opção apenas se souber o que está a fazer."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Agora é hora de selecionar um sistema de impressão para o seu\n"
+"computador. Outros sistemas operacionais podem oferecer apenas\n"
+"um, mas o Mageia oferece dois. Cada um dos sistemas de impressão\n"
+"é mais adequado para determinados tipos de configuração.\n"
+"\n"
+" * \"%s\" -- que é uma sigla para \"print, do not queue\" (imprimir, não\n"
+"enfileirar), é a escolha ideal se você tiver uma conexão direta com sua\n"
+"impressora, quiser poder agir rapidamente em caso de atolamento de\n"
+"papel, e não tiver impressoras em rede. (\"%s\" lida apenas com casos\n"
+" muito simples de rede e é um pouco lento quando usado em redes).\n"
+"Recomenda-se o uso de \"pdq\" se esta for sua primeira experiência com\n"
+"GNU/Linux.\n"
+"\n"
+" * \"%s\" representa o \"Common Unix Printing System\" (Sistema Comum de\n"
+"Impressão Unix) e é uma excelente escolha para imprimir na sua impressora\n"
+"local ou em uma localizada do outro lado do planeta. É simples de "
+"configurar\n"
+"e pode atuar como servidor ou cliente para o antigo sistema de impressão\n"
+"\"lpd\", sendo compatível com sistemas operacionais mais antigos que ainda\n"
+"possam precisar de serviços de impressão. Embora bastante poderoso, a\n"
+"configuração básica é quase tão fácil quanto \"pdq\". Se você precisar "
+"emular\n"
+"um servidor \"lpd\", certifique-se de ativar o daemon \"cups-lpd\".\n"
+"\"%s\" inclui interfaces gráficas para impressão ou escolha de opções de\n"
+"impressora e para gerenciamento da impressora.\n"
+"\n"
+"Se você fizer uma escolha agora e depois perceber que não gosta do sistema\n"
+"de impressão escolhido, você pode alterá-lo executando o PrinterDrake no\n"
+"Centro de Controle do Mageia e clicando no botão \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Perito"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"O DrakX irá primeiro detectar os dispositivos IDE presentes no seu\n"
+"computador. Irá também procurar por um ou mais adaptadores PCI SCSI\n"
+"no seu sistema. Se um adaptador SCSI for encontrado, o DrakX irá\n"
+"automáticamente instalar o controlador apropriado.\n"
+"\n"
+"Porque a detecção de material não é a toda a prova, o DrakX pode falhar\n"
+"a detectar os discos rígidos. Se isso acontecer, terá de indicar o seu\n"
+"material á mão..\n"
+"\n"
+"Se tiver que o especificar manualmente o seu adaptador PCI SCSI, o DrakX\n"
+"irá-lhe perguntar se quer configurar as opções deste. Deve permitir que o\n"
+"DrakX verifique o material para as opções específicas das placas que são\n"
+"necessárias para inicializar o adaptador. Na maior parte do tempo, o DrakX\n"
+"irá executar este passo sem qualquer problema.\n"
+"\n"
+"Se o DrakX não conseguir verificar quais são as opções que automáticamente\n"
+"determinem que parâmetros são necessários para o material em questão, irá\n"
+"precisar de configurar o controlador manualmente."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se foi detectada uma placa de som no seu sistema, será\n"
+"listada aqui. Se verificar que a placa de som listada não é a placa que "
+"está\n"
+"presente no seu sistema, pode clicar no botão e escolher outro controaldor."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Como revisão, o DrakX apresentará um resumo das informações que ele\n"
+"coletou sobre o seu sistema. Dependendo do hardware instalado na sua\n"
+"máquina, você poderá ver algumas ou todas as seguintes entradas. Cada\n"
+"entrada é composta pelo item de hardware a ser configurado, seguido por\n"
+"um breve resumo da configuração atual. Clique no botão \"%s\"\n"
+"correspondente para fazer a alteração.\n"
+"\n"
+" * \"%s\": verificar a configuração atual do mapa de teclado e altere-a se\n"
+"necessário.\n"
+"\n"
+" * \"%s\": verifique a seleção atual do país. Se você não estiver neste "
+"país,\n"
+"clique no botão \"%s\" e escolha outro. Se o seu país não estiver na lista\n"
+"exibida, clique no botão \"%s\" para obter a lista completa de países.\n"
+"\n"
+" * \"%s\": padrão, o DrakX deduz seu fuso horário com base no país "
+"escolhido.\n"
+"Você pode clicar no botão \"%s\" aqui se isso não estiver correto\n"
+"\n"
+" * \"%s\": verificar configuração atual do mouse e clique no botão para\n"
+"alterá-la se necessário.\n"
+"\n"
+" * \"%s\": se uma placa de som for detectada no seu sistema, ela será "
+"exibida\n"
+"aqui. Se você notar que a placa de som não é a que está presente no seu\n"
+"sistema, você pode clicar no botão e escolher um driver diferente.\n"
+"\n"
+" * \"%s\": se você tiver uma placa de TV, é aqui que as informações sobre a\n"
+"sua configuração serão exibidas. Se você tiver uma placa de TV e ela não "
+"for\n"
+"detectada, clique em \"%s\" para tentar configurá-la manualmente.\n"
+"\n"
+" * \"%s\": você pode clicar em \"%s\" para alterar os parâmetros associados "
+"à\n"
+"placa se achar que a configuração está errada..\n"
+"\n"
+" * \"%s\": por padrão, o DrakX configura sua interface gráfica em resolução\n"
+"\"800x600\" ou \"1024x768\". Se isso não for adequado para você, clique\n"
+"em \"%s\" para reconfigurar sua interface gráfica.\n"
+"\n"
+" * \"%s\": se desejar configurar seu acesso à Internet ou rede local, você\n"
+"pode fazê-lo agora. Consulte a documentação impressa ou use o Centro\n"
+"de Controle do Mageia após a instalação ter sido concluída para aproveitar\n"
+"a ajuda completa em linha.\n"
+"\n"
+" * \"%s\": permite configurar endereços de proxy HTTP e FTP se a máquina\n"
+"em que você está instalando estiver atrás de um servidor proxy.\n"
+" * \"%s\": esta entrada permite redefinir o nível de segurança configurado\n"
+"em uma etapa anterior .\n"
+"\n"
+" * \"%s\": se você planeja conectar sua máquina à Internet, é uma boa ideia\n"
+"se proteger contra intrusões configurando um firewall. Consulte a seção\n"
+"correspondente do ``Guia de Introdução'' para obter detalhes sobre as\n"
+"configurações de firewall.\n"
+"\n"
+" * \"%s\": se desejar alterar a configuração do carregador de "
+"inicialização,\n"
+"clique neste botão. Isso deve ser reservado para usuários avançados.\n"
+"Consulte a documentação impressa ou a ajuda em linha sobre a configuração\n"
+"do carregador de inicialização no Centro de Controle do Mageia.\n"
+"\n"
+" * \"%s\": através desta entrada, você pode ajustar quais serviços serão\n"
+"executados na sua máquina. Se planeja usar esta máquina como um servidor,\n"
+"é uma boa ideia revisar essa configuração."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "Placa de TV"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Placa ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface gráfico"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Escolha o disco rígido que você deseja apagar para instalar sua nova "
+"partição\n"
+"do Mageia. Cuidado, todos os dados neste disco serão perdidos e não poderão\n"
+"ser recuperados!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Clique em \"%s\" se deseja apagar todos os dados e partições\n"
+"presentes neste disco rígido.Tenha cuidado, depois de clicar em \"%s\",\n"
+"não será capaz de recuperar qualquer dado e partição presente neste\n"
+"disco rígido, incluindo qualquer dado do Windows.\n"
+"\n"
+"Clique em \"%s\" para anular esta operação sem perder dados\n"
+"e partições presentes neste disco."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Próximo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
diff --git a/perl-install/install/help/po/pt_BR.po b/perl-install/install/help/po/pt_BR.po
new file mode 100644
index 000000000..4f0a4a43a
--- /dev/null
+++ b/perl-install/install/help/po/pt_BR.po
@@ -0,0 +1,1967 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+# Michael Martins, 2025
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Michael Martins, 2025\n"
+"Language-Team: Portuguese (Brazil) (https://app.transifex.com/MageiaLinux/"
+"teams/9361/pt_BR/)\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, você deve ler atentamente os termos da licença. Ela\n"
+"cobre toda a distribuição Mageia. Se você concordar com todos os\n"
+"termos, marque a caixa \"%s\". Caso contrário, clique no botão \"%s\"\n"
+"para reiniciar seu computador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é um sistema multiusuário, o que significa que cada usuário pode\n"
+"ter suas próprias preferências, seus próprios arquivos, e assim por diante.\n"
+"Mas, ao contrário do \"root\", que é o administrador do sistema, os "
+"usuários\n"
+"que você adicionar neste ponto não terão autorização para alterar nada além\n"
+"de seus próprios arquivos e configurações, protegendo o sistema de mudanças\n"
+"não intencionais ou maliciosas que podem afetar o sistema como um todo.\n"
+"Você precisa criar pelo menos um usuário comum para você mesmo -- essa\n"
+"é a conta que deve ser usada no dia a dia. Embora seja muito\n"
+"fácil entrar como \"root\" para fazer qualquer coisa, isso pode ser muito "
+"perigoso!\n"
+"Um erro simples pode fazer com que seu sistema não funcione mais. Se você\n"
+"cometer um erro sério como usuário comum, o pior que pode acontecer é\n"
+"perder algumas informações, mas não afetará todo o sistema.\n"
+"\n"
+"O primeiro campo pede um nome verdadeiro. Claro, isso não é obrigatório\n"
+"-- você pode realmente digitar o que quiser. O DrakX usa a primeira\n"
+"palavra que você digitar neste campo e a copia para o campo \"%s\",\n"
+"que é o nome que esse usuário usará para fazer login no sistema.\n"
+"Se quiser, você pode substituir o padrão e alterar o nome do usuário.\n"
+"O próximo passo é inserir uma senha. Do ponto de vista de segurança,\n"
+"a senha de um usuário não privilegiado (comum) não é tão crucial quanto\n"
+"a senha do \"root\", mas isso não é motivo para negligenciá-la, deixando\n"
+"em branco ou muito simples: afinal, seus arquivos podem estar em risco.\n"
+"\n"
+"Depois de clicar em \"%s\", você pode adicionar outros usuários. Adicione "
+"um\n"
+"usuário para cada um de seus amigos, seu pai, sua irmã, etc. Clique em "
+"\"%s\"\n"
+"quando terminar de adicionar.\n"
+"\n"
+"Clique no botão \"%s\" para alterar o \"shell\" padrão para esse\n"
+"usuário (bash por padrão).\n"
+"\n"
+"Quando terminar de adicionar os usuários, você será solicitado a escolher "
+"um\n"
+"usuário que será conectado automaticamente ao sistema quando o computador\n"
+"inicializar. Se estiver interessado nesse recurso (e não se importa muito "
+"com a\n"
+"segurança local), escolha o usuário e o gerenciador de janelas desejados, e\n"
+"depois clique em \"%s\". Se não estiver interessado nesse recurso, "
+"desmarque\n"
+"a caixa \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Nome de usuário"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Aceitar usuário"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Deseja usar esta funcionalidade?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aqui estão listadas as partições Linux detectadas em seu disco rígido.\n"
+"Você pode manter as escolhas feitas pelo assistente, pois elas são\n"
+"adequadas para a maioria das instalações comuns. Se fizer alterações,\n"
+"você deve pelo menos definir uma partição raiz (\"/\"). Não escolha uma "
+"partição\n"
+"muito pequena ou você não conseguirá instalar software suficiente. Se\n"
+"quiser armazenar seus dados em uma partição separada, também será\n"
+"necessário criar uma partição \"/home\" (o que só é possível se tiver mais\n"
+"de uma partição Linux disponível).\n"
+"\n"
+"Cada partição é listada da seguinte forma: \"Nome\", \"Capacidade\".\n"
+"\n"
+"\"Nome\" é estruturado como: \"tipo de disco rígido\", \"número do disco "
+"rígido,\"\n"
+"\"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco rígido\" é \"hd\" se seu disco rígido for IDE e \"sd\" se "
+"for SCSI.\n"
+"\n"
+"\"Número do disco rígido\" é sempre uma letra após \"hd\" ou \"sd\". Para\n"
+"discos rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido mestre no controlador IDE primário\",\n"
+"\n"
+" * \"b\" significa \"disco rígido escravo no controlador IDE primário\",\n"
+"\n"
+" * \"c\" significa \"disco rígido mestre no controlador IDE secundário\",\n"
+"\n"
+" * \"d\" significa \"disco rígido escravo no controlador IDE secundário\",\n"
+"\n"
+"\n"
+"Com discos rígidos SCSI, um \"a\" significa \"menor ID SCSI\", um \"b\"\n"
+"significa \"segundo menor ID SCSI\", e assim por diante."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A instalação do Mageia é distribuída em vários CD-ROMs. Se um\n"
+"pacote selecionado estiver localizado em outro CD-ROM, o DrakX ejeta\n"
+"o CD atual e solicita que você insira o CD necessário. Se não tiver o CD\n"
+"solicitado em mãos, basta clicar em \"%s\", e os pacotes correspondentes\n"
+"não serão instalados."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Agora é hora de especificar quais programas deseja instalar em seu sistema.\n"
+"Existem milhares de pacotes disponíveis para o Mageia, e para simplificar o\n"
+"gerenciamento, eles foram agrupados em categorias de aplicativos similares.\n"
+"\n"
+"O Mageia classifica os grupos de pacotes em quatro categorias. Você pode\n"
+"misturar e combinar aplicativos de várias categorias, então uma instalação\n"
+"``Estação de trabalho\" ainda pode ter aplicativos da categoria "
+"``Servidor\"\n"
+"instaladas.\n"
+"\n"
+" * \"%s\": se planeja usar sua máquina como uma estação de trabalho,\n"
+"selecione um ou mais dos grupos na categoria de estação de trabalho.\n"
+"\n"
+" * \"%s\": se planeja usar sua máquina para programação, selecione os\n"
+"grupos apropriados dessa categoria. O grupo especial \"LSB\" configura\n"
+"seu sistema para que esteja o mais próximo possível das especificações da\n"
+"Linux Standard Base.\n"
+"\n"
+" Selecionar o grupo \"LSB\" garante 100%% de conformidade com a\n"
+"LSB do sistema. No entanto, se não selecionar o grupo \"LSB\", ainda\n"
+"terá um sistema quase 100%% compatível com a LSB.\n"
+"\n"
+" * \"%s\": se sua máquina for destinada a ser um servidor, selecione quais\n"
+"dos serviços mais comuns você deseja instalar em sua máquina.\n"
+"\n"
+" * \"%s\": aqui você escolhe seu ambiente gráfico preferido. Pelo menos\n"
+"um deve ser selecionado se quiser uma interface gráfica disponível.\n"
+"\n"
+"Mover o cursor do mouse sobre um nome de grupo exibe um texto\n"
+"explicativo sobre esse ele.\n"
+"\n"
+"Você pode marcar a caixa \"%s\", que é útil se estiver familiarizado com\n"
+"os pacotes oferecidos ou se deseja ter controle total sobre o que é\n"
+"instalado.\n"
+"\n"
+"Se você iniciar a instalação no modo \"%s\", pode desmarcar todos os\n"
+"grupos e evitar a instalação de novos pacotes. Isso é útil para reparar\n"
+"ou atualizar um sistema existente.\n"
+"\n"
+"Se você desmarcar todos os grupos ao realizar uma instalação comum\n"
+"(em vez de uma atualização), um diálogo será exibido sugerindo\n"
+"diferentes opções para uma instalação mínima:\n"
+"\n"
+"* \"%s\": instala o número mínimo de pacotes possível para ter um\n"
+"desktop gráfico funcional.\n"
+"\n"
+"* \"%s\": instala o sistema base, utilitários básicos e sua documentação.\n"
+"Esta instalação é adequada para configurar um servidor.\n"
+"\n"
+"* \"%s\": instala o número absoluto mínimo de pacotes necessários\n"
+"para obter um sistema Linux funcional. Com esta instalação, você\n"
+"tem apenas uma interface de linha de comando. Esta instalação\n"
+"tem cerca de 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Com documentação básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalação realmente mínima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se optar por instalar pacotes individualmente, o instalador apresenta\n"
+"uma árvore contendo todos os pacotes classificados por grupos e subgrupos.\n"
+"Ao navegar pela árvore, você pode selecionar grupos inteiros, subgrupos\n"
+"ou pacotes individuais.\n"
+"\n"
+"Sempre que selecionar um pacote na árvore, uma descrição aparecer à\n"
+"direita para informar o propósito desse pacote.\n"
+"\n"
+" !! Se um pacote de servidor for selecionado, seja porque você escolheu\n"
+"especificamente o pacote individual ou porque ele fazia parte de um grupo\n"
+"de pacotes, é solicitado que você confirme se realmente deseja que esses\n"
+"servidores sejam instalados. Por padrão, o Mageia inicia automaticamente\n"
+"quaisquer serviços instalados durante o tempo de inicialização. Mesmo que\n"
+"eles sejam seguros e não tenham problemas conhecidos na época em que\n"
+"a distribuição foi lançada, é possível que vulnerabilidades de segurança "
+"sejam\n"
+"descobertas após a finalização desta versão do Mageia. Se não souber\n"
+"o que um serviço específico deve fazer ou por que está sendo instalado, "
+"clique\n"
+"em \"%s\". Clicar em \"%s\" instala os serviços listados e inicia esses "
+"serviços\n"
+"automaticamente durante o tempo de inicialização. !!\n"
+"\n"
+"A opção \"%s\" é usada para desativar o diálogo de aviso que aparece\n"
+"sempre que o instalador seleciona automaticamente um pacote para resolver\n"
+"um problema de dependência. Alguns pacotes dependem de outros e a "
+"instalação\n"
+"de um pacote específico pode exigir a instalação de outro pacote. O "
+"instalador\n"
+"pode determinar quais pacotes são necessários para satisfazer uma "
+"dependência\n"
+"e concluir a instalação.\n"
+"\n"
+"O ícone de disquete pequeno na parte inferior da lista, permite carregar "
+"uma\n"
+"lista de pacotes criada durante uma instalação anterior. Isso é útil se você "
+"tem\n"
+"várias máquinas que quer configurar de maneira idêntica. Clicar nesse ícone\n"
+"solicita que você insira o disquete criado no final de outra instalação. "
+"Consulte\n"
+"a segunda dica do último passo sobre como criar um disquete desse tipo."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependências automáticas"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo é usado para selecionar quais serviços você quer\n"
+"iniciar automaticamente.\n"
+"\n"
+"O DrakX lista todos os serviços disponíveis na instalação atual. Revise\n"
+"cada um deles com cuidado e desmarque aqueles que não são necessários\n"
+"na inicialização.\n"
+"\n"
+"Um texto explicativo curto é exibido sobre um serviço quando ele for\n"
+"selecionado. No entanto, se não tiver certeza se um serviço é útil ou não,\n"
+"é mais seguro manter o comportamento padrão.\n"
+"\n"
+"!! Nesta etapa, tenha muito cuidado se você pretende usar sua máquina como\n"
+"um servidor: você provavelmente não deseja iniciar nenhum serviço que não\n"
+"seja necessário. Lembre-se de que alguns serviços podem ser perigosos se\n"
+"forem ativados em um servidor. Em geral, selecione apenas os serviços que\n"
+"realmente precisa. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"O GNU/Linux gerencia o tempo em GMT (Greenwich Mean Time) e o traduz\n"
+"para o horário local de acordo com o fuso horário que você selecionou. Se o "
+"relógio\n"
+"na sua placa-mãe estiver configurado para o horário local, você pode "
+"desativar\n"
+"isso desmarcando \"%s\", o que informa ao GNU/Linux que o relógio do "
+"sistema\n"
+"e o relógio de hardware estão no mesmo fuso horário. Isso é útil quando a "
+"máquina\n"
+"também hospeda outro sistema operacional.\n"
+"\n"
+"A opção \"%s\" regula automaticamente o relógio do sistema conectando-se a\n"
+"um servidor de horário remoto na internet. Para que este recurso funcione, "
+"você\n"
+"deve ter uma conexão com a internet funcionando. Recomendamos que\n"
+"escolha um servidor de horário localizado próximo a você. Esta opção na\n"
+"verdade instala um servidor de horário que pode ser usado por outras "
+"máquinas\n"
+"na sua rede local também."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Relógio de hardware configurado para GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronização automática de horário"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Placa de vídeo\n"
+"\n"
+" O instalador normalmente detecta e configurar automaticamente a\n"
+"placa de vídeo instalada em sua máquina. Se isso não estiver correto, você\n"
+"pode escolher na lista a placa que realmente tem instalada.\n"
+"\n"
+" Na situação em que diferentes drivers estão disponíveis para sua placa,\n"
+"com ou sem aceleração 3D, você é solicitado a escolher o driver que\n"
+"melhor atende às suas necessidades."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para X Window System) é o coração da interface gráfica do GNU/Linux,\n"
+"sobre a qual todos os ambientes gráficos (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) fornecidos com o Mageia dependem.\n"
+"\n"
+"É mostrada uma lista de diferentes parâmetros para ajustar e obter uma\n"
+"exibição gráfica otimizada.\n"
+"\n"
+"Placa de vídeo\n"
+"\n"
+" O instalador normalmente detecta e configura automaticamente a\n"
+"placa de vídeo instalada em sua máquina. Se isso não estiver correto, você\n"
+"pode escolher na lista a placa que realmente tem instalada.\n"
+"\n"
+" Na situação em que diferentes drivers estão disponíveis para sua placa, "
+"com\n"
+"ou sem aceleração 3D, você será solicitado a escolher o driver que melhor\n"
+"atende às suas necessidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente, o instalador detecta e configura automaticamente\n"
+"o monitor conectado à sua máquina. Se isso não estiver correto, você\n"
+"pode escolher na lista o monitor que está conectado ao seu computador.\n"
+"\n"
+"\n"
+"\n"
+"Resolução\n"
+"\n"
+" Aqui você pode escolher as resoluções e profundidades de cor disponíveis\n"
+"para o seu hardware gráfico. Escolha a que melhor atende às suas "
+"necessidades\n"
+"(você pode fazer alterações após a instalação). Uma amostra da configuração\n"
+"escolhida é exibida na imagem do monitor.\n"
+"\n"
+"\n"
+"\n"
+"Teste\n"
+"\n"
+" Dependendo do seu hardware, esta opção pode não aparecer.\n"
+"\n"
+" O sistema tenta abrir uma tela gráfica na resolução desejada.\n"
+"Se vir a mensagem de teste durante o teste e responder \"%s\",\n"
+"então o DrakX prossegue para a próxima etapa. Se não a ver, isso\n"
+"significa que alguma parte da configuração de detecção automática estava\n"
+"incorreta e o teste é automaticamente encerrado após 12 segundos,\n"
+"retornando ao menu. Altere as configurações até obter uma exibição gráfica "
+"correta.\n"
+"\n"
+"\n"
+"\n"
+"Opções\n"
+"\n"
+" Esta etapa permite escolher se deseja que sua máquina mude\n"
+"automaticamente para uma interface gráfica na inicialização. Obviamente,\n"
+"você marcar \"%s\" se sua máquina for atuar como um servidor\n"
+"ou se não conseguir configurar a exibição corretamente."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalmente, o instalador detecta e configura automaticamente\n"
+"o monitor conectado à sua máquina. Se isso não estiver correto, você pode\n"
+"escolher na lista o monitor que está conectado ao seu computador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolução\n"
+"\n"
+" Aqui você pode escolher as resoluções e profundidades de cor disponíveis\n"
+"para o seu hardware gráfico. Escolha a que melhor atende às suas "
+"necessidades\n"
+"(você pode fazer alterações após a instalação). Uma amostra da configuração\n"
+"escolhida é exibida na imagem do monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Na situação em que diferentes drivers estão disponíveis para sua placa,\n"
+"com ou sem aceleração 3D, você é solicitado a escolher o driver que\n"
+"melhor atende às suas necessidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opções\n"
+"\n"
+" Esta etapa permite escolher se deseja que sua máquina mude\n"
+"automaticamente para uma interface gráfica na inicialização. Obviamente,\n"
+"você marcar \"%s\" se a sua máquina é um servidor, ou caso\n"
+"não tenha conseguido obter uma boa configuração de resolução de vídeo."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Agora você precisa decidir onde deseja instalar o sistema operacional "
+"Mageia\n"
+"em seu disco rígido. Se o seu disco rígido estiver vazio ou se um sistema\n"
+"operacional existente estiver usando todo o espaço disponível, você deve\n"
+"particionar o disco. Basicamente, particionar um disco rígido significa "
+"dividi-lo\n"
+"logicamente para criar o espaço necessário para instalar o novo sistema "
+"Mageia.\n"
+"\n"
+"Como o processo de particionamento de um disco rígido é geralmente "
+"irreversível\n"
+"e pode levar a perdas de dados, o particionamento pode ser intimidante e "
+"estressante\n"
+"para o usuário inexperiente. Felizmente, o DrakX inclui um assistente que "
+"simplifica\n"
+"esse processo. Antes de continuar com esta etapa, leia o restante desta "
+"seção e,\n"
+"acima de tudo, sem pressa.\n"
+"\n"
+"Dependendo da configuração do seu disco rígido, várias opções estarão "
+"disponíveis:\n"
+"\n"
+" * \"%s\". Esta opção realiza um particionamento automático do(s) seu(s)\n"
+"disco(s) vazio(s). Se usar esta opção, não há mais solicitações.\n"
+"\n"
+" * \"%s\". O assistente detectou uma ou mais partições Linux existentes\n"
+"em seu disco rígido. Se quiser usá-las, escolha esta opção. Você é\n"
+"solicitado a escolher os pontos de montagem associados a cada uma\n"
+"das partições. Os pontos de montagem legados são selecionados por padrão e,\n"
+"na maioria das vezes, é uma boa ideia mantê-los.\n"
+"\n"
+" * \"%s\". Se o Microsoft Windows estiver instalado em seu disco rígido e\n"
+"ocupar todo o espaço disponível, você deve criar um espaço livre para o\n"
+"GNU/Linux. Para fazer isso, você pode excluir a partição e os dados do\n"
+"Microsoft Windows (veja a solução ``Apagar todo o disco'') ou redimensionar\n"
+"a partição FAT ou NTFS do Microsoft Windows. O redimensionamento pode\n"
+"ser realizado sem perda de dados, desde que tenha desfragmentado a partição\n"
+"do Windows anteriormente. É altamente recomendável fazer backup dos seus\n"
+"dados. Usar esta opção é recomendado se deseja usar tanto o Mageia\n"
+"quanto o Microsoft Windows no mesmo computador.\n"
+"\n"
+" Antes de escolher esta opção, entenda que após este procedimento,\n"
+"o tamanho da sua partição do Microsoft Windows será menor do que era\n"
+"inicialmente. Você terá menos espaço livre no Microsoft Windows para\n"
+"armazenar seus dados ou para instalar novos softwares.\n"
+"\n"
+" * \"%s\". Se deseja excluir todos os dados e todas as partições presentes\n"
+"em seu disco rígido e substituí-los pelo novo sistema Mageia, escolha\n"
+"esta opção. Tenha cuidado, pois você não pode desfazer esta operação\n"
+"após confirmar.\n"
+"\n"
+" !! Se escolher esta opção, todos os dados em seu disco são excluídos. !!\n"
+"\n"
+" * \"%s\". Esta opção aparece quando o disco rígido está totalmente ocupado "
+"pelo\n"
+"Microsoft Windows. Escolher esta opção exclui tudo no disco e começa\n"
+"do zero, particionando tudo a partir do início.\n"
+"\n"
+" !! Se escolher esta opção, todos os dados em seu disco são perdidos. !!\n"
+"\n"
+" * \"%s\". Escolha esta opção se deseja particionar seu disco rígido\n"
+"manualmente. Tenha cuidado -- é uma escolha poderosa, mas perigosa, e\n"
+"você pode facilmente perder todos os seus dados. Por isso, esta opção é\n"
+"realmente recomendada apenas se você já tiver feito algo semelhante\n"
+"antes e tiver alguma experiência. Para mais instruções sobre como usar\n"
+"a ferramenta DiskDrake, consulte a seção ``Gerenciar suas partições'' no\n"
+"``Guia do iniciante''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partição existente"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usar o espaço livre na partição do Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Apagar todo o disco"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Pronto. A instalação está completa e seu sistema GNU/Linux está pronto\n"
+"para ser usado. Basta clicar em \"%s\" para reiniciar o sistema. Não se\n"
+"esqueça de remover a mídia de instalação (CD-ROM ou pen drive). A primeira\n"
+"coisa que deve ver depois que seu computador terminar os testes de\n"
+"hardware é o menu do gerenciador de inicialização, oferecendo a opção de\n"
+"qual sistema operacional iniciar.\n"
+"\n"
+"O botão \"%s\" exibe mais dois botões para:\n"
+"\n"
+" * \"%s\": permitir criar um disquete de instalação que realiza uma\n"
+"instalação completa automaticamente, sem a ajuda de um operador,\n"
+"semelhante à instalação que você acabou de configurar.\n"
+"\n"
+" Note que duas opções diferentes estão disponíveis após clicar nesse "
+"botão:\n"
+"\n"
+" * \"%s\". Esta é a instalação parcialmente automatizada. A etapa de\n"
+"particionamento é o único procedimento interativo.\n"
+"\n"
+" * \"%s\". Instalação totalmente automatizada: o disco rígido é "
+"completamente\n"
+"regravado, todos os dados são perdidos.\n"
+" \n"
+" Este recurso é muito útil ao instalar em várias máquinas semelhantes. "
+"Veja\n"
+"a seção Instalação automática em nosso site para mais informações.\n"
+"\n"
+" * \"%s\"(*): salva uma lista dos pacotes selecionados nesta instalação.\n"
+"Para usar esta seleção em outra instalação, insira o disco e inicie a\n"
+"instalação. Na solicitação, pressione a tecla [F1], digite\n"
+">>linux defcfg=\"floppy\"<< e pressione a tecla [Enter].\n"
+"\n"
+"(*) Você precisa de um disquete formatado em FAT. Para criar um no\n"
+"GNU/Linux, digite \"mformat a:\", ou \"fdformat /dev/fd0\" seguido de\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Gerar disquete de instalação automática"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Repetir"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatizada"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Salvar a seleção de pacotes"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se optou por reutilizar algumas partições GNU/Linux legadas, pode\n"
+"ser necessário reformatar algumas delas e apagar qualquer dado que\n"
+"contenham. Para fazer isso, selecione essas partições também.\n"
+"\n"
+"Note que não é necessário reformatar todas as partições pré-existentes.\n"
+"Você deve reformatar as partições que contêm o sistema operacional\n"
+"(como \"/\", \"/usr\" ou \"/var\"), mas não é necessário reformatar as "
+"partições que\n"
+"contêm dados que deseja manter (tipicamente \"/home\").\n"
+"\n"
+"Tenha cuidado ao selecionar partições. Após a formatação ser concluída,\n"
+"todos os dados nas partições selecionadas serão excluídos e não será "
+"possível\n"
+"recuperá-los.\n"
+"\n"
+"Clique em \"%s\" quando estiver pronto para formatar as partições.\n"
+"\n"
+"Clique em \"%s\" se quiser escolher outra partição para a nova instalação\n"
+"do sistema operacional Mageia.\n"
+"\n"
+"Clique em \"%s\" se quer selecionar partições que serão verificadas\n"
+"quanto a blocos defeituosos no disco."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ao instalar o Mageia, é provável que alguns pacotes tenham sido\n"
+"atualizados desde o lançamento inicial. Bugs podem ter sido corrigidos,\n"
+"erros de segurança resolvidos. Para permitir que se beneficie\n"
+"dessas atualizações, você pode baixá-las da internet. Marque \"%s\"\n"
+"se conectado à internet, ou \"%s\" se preferir instalar pacotes atualizados\n"
+"mais tarde.\n"
+"\n"
+"Escolher \"%s\" exibe uma lista de locais na web dos quais as atualizações\n"
+"podem ser baixadas. Você deve escolher um próximo a você. Uma árvore\n"
+"de seleção de pacotes aparece: revise a seleção e pressione \"%s\"para\n"
+"baixar e instalar os pacotes selecionados, ou \"%s\" para cancelar."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Neste ponto, o DrakX permite que você escolha o nível de segurança\n"
+"que deseja para sua máquina. Como regra geral, o nível de segurança deve "
+"ser\n"
+"definido mais alto se a máquina conter dados cruciais ou se for exposta\n"
+"diretamente à internet. A compensação é que um nível de segurança mais alto\n"
+"geralmente é obtido à custa da facilidade de uso.\n"
+"\n"
+"Se não souber o que escolher, mantenha a opção padrão. Você pode\n"
+"alterar mais tarde com a ferramenta draksec, que faz parte do\n"
+"Centro de Controle Mageia.\n"
+"\n"
+"Preencha o campo \"%s\" com o endereço de email da pessoa responsável\n"
+"pela segurança. Mensagens de segurança serão enviadas para esse endereço."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de segurança"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Neste ponto, você precisa escolher quais partições serão usadas para a\n"
+"instalação do seu sistema Mageia. Se as partições já foram definidas,\n"
+"seja a partir de uma instalação anterior do GNU/Linux ou por outra "
+"ferramenta\n"
+"de particionamento, você pode usar as partições existentes. Caso contrário,\n"
+"as partições do disco rígido devem ser definidas.\n"
+"\n"
+"Para criar partições, você deve primeiro selecionar um disco rígido. Você\n"
+"pode selecionar o disco para particionamento clicando em ``hda'' para o\n"
+"primeiro disco IDE, ``hdb'' para o segundo, ``sda'' para o primeiro disco "
+"SCSI\n"
+"e assim por diante.\n"
+"\n"
+"Para particionar o disco rígido selecionado, você pode usar estas opções:\n"
+"\n"
+" * \"%s\": esta opção exclui todas as partições no disco rígido selecionado\n"
+"\n"
+" * \"%s\": esta opção permite criar automaticamente partições ext4 e swap\n"
+"no espaço livre do seu disco rígido\n"
+"\n"
+"\"%s\": oferece acesso a funcionalidades adicionais:\n"
+"\n"
+" * \"%s\": salva a tabela de partições em um disquete. Útil para "
+"recuperação\n"
+"da tabela de partições mais tarde, se necessário. Recomenda-se fortemente\n"
+"que você realize esta etapa.\n"
+"\n"
+" * \"%s\": permite restaurar uma tabela de partições previamente salva a\n"
+"partir de um disquete.\n"
+"\n"
+" * \"%s\": se a tabela de partições estiver danificada, você pode tentar\n"
+"recuperá-la usando esta opção. Tenha cuidado e lembre-se de que isso\n"
+"nem sempre funciona.\n"
+"\n"
+" * \"%s\": descarta todas as alterações e recarrega a tabela de partições "
+"que\n"
+"estava originalmente no disco rígido.\n"
+"\n"
+" * \"%s\": desmarcar esta opção força os usuários a montar e desmontar\n"
+"manualmente mídias removíveis, como disquetes e CD-ROMs.\n"
+"\n"
+" * \"%s\": use esta opção se quer usar um assistente para particionar\n"
+"seu disco rígido. Isso é recomendado se você não tiver um bom\n"
+"entendimento de particionamento.\n"
+"\n"
+" * \"%s\": use esta opção para cancelar suas alterações.\n"
+" \n"
+" * \"%s\": permite ações adicionais em partições (tipo, opções, formato)\n"
+"e fornece mais informações sobre o disco rígido.\n"
+"\n"
+" * \"%s\": quando terminar de particionar seu disco rígido, isso salva\n"
+"suas alterações no disco.\n"
+"\n"
+"Ao definir o tamanho de uma partição, você pode ajustar o tamanho da\n"
+"partição com precisão usando as teclas de seta do teclado.\n"
+"\n"
+"Nota: você pode acessar qualquer opção usando o teclado. Navegue pelas\n"
+"partições usando [Tab] e as setas [para cima/para baixo].\n"
+"\n"
+"Quando uma partição é selecionada, você pode usar:\n"
+"\n"
+" * Ctrl-c para criar uma nova partição (quando uma partição vazia é\n"
+"selecionada)\n"
+"\n"
+" * Ctrl-d para excluir uma partição\n"
+"\n"
+" * Ctrl-m para definir o ponto de montagem\n"
+"\n"
+"Para obter informações sobre os diferentes tipos de sistemas de arquivos\n"
+"disponíveis, consulte o capítulo ext2FS do ``manual de referência''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Salvar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaurar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recuperar tabela de partições"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montagem automática de mídias removíveis"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Assistente"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Desfazer"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Alternar entre modo normal/avançado"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mais de uma partição Microsoft foi detectada em seu disco rígido. Escolha a\n"
+"que quer redimensionar para instalar seu novo sistema operacional Mageia.\n"
+"\n"
+"Cada partição é listada da seguinte forma: \"nome Linux\", \"nome Windows\"\n"
+"\"capacidade\".\n"
+"\n"
+"\"Nome Linux\" é estruturado como: \"tipo de disco rígido\", \"número do "
+"disco rígido\",\n"
+"\"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"Tipo do disco rígido\" é \"hd\" se o seu disco rígido for IDE e \"sd\" se "
+"for SCSI.\n"
+"\n"
+"\"Número do disco rígido\" é sempre uma letra após \"hd\" ou \"sd\". Com "
+"discos\n"
+"rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido mestre no controlador IDE primário\";\n"
+"\n"
+" * \"b\" significa \"disco rígido escravo no controlador IDE primário\";\n"
+"\n"
+" * \"c\" significa \"disco rígido mestre no controlador IDE secundário\";\n"
+"\n"
+" * \"d\" significa \"disco rígido escravo no controlador IDE secundário\".\n"
+"\n"
+"Com discos rígidos SCSI, um \"a\" significa \"ID SCSI mais baixo\", um "
+"\"b\"\n"
+"significa \"segundo ID SCSI mais baixo\", e assim por diante.\n"
+"\n"
+"\"Nome Windows\" é a letra do seu disco rígido no Windows (o primeiro disco\n"
+"ou partição é chamado de \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique a seleção atual do país. Se não estiver neste país,\n"
+"clique no botão \"%s\" e escolha outro. Se seu país não estiver na lista\n"
+"exibida, clique no botão \"%s\" para obter a lista completa de países."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Esta etapa é ativada somente se uma partição GNU/Linux existente\n"
+"for encontrada em sua máquina.\n"
+"\n"
+"O DrakX precisa saber se você deseja realizar uma nova instalação\n"
+"ou uma atualização de um sistema Mageia existente:\n"
+"\n"
+" * \"%s\". Para a maior parte, isso apaga completamente o sistema antigo.\n"
+"No entanto, dependendo do seu esquema de particionamento, você pode\n"
+"evitar que alguns dos seus dados existentes (principalmente diretórios "
+"\"home\")\n"
+"sejam sobrescritos. Se deseja alterar a forma como seus discos rígidos\n"
+"são particionados ou mudar o sistema de arquivos, você deve usar esta "
+"opção.\n"
+"\n"
+" * \"%s\". Esta classe de instalação permite atualizar os pacotes "
+"atualmente\n"
+"instalados em seu sistema Mageia. Seu esquema de particionamento atual e\n"
+"dados de usuário não serão alterados. A maioria das outras etapas de "
+"configuração\n"
+"permanece disponíveis e são semelhantes a uma instalação padrão.\n"
+"\n"
+"Usar a opção ``Atualizar'' deve funcionar bem em sistemas Mageia com a "
+"versão\n"
+"\"8.1\" ou posterior. Realizar uma atualização em versões anteriores à "
+"\"8.1\" do\n"
+"Mageia, não é recomendada."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo do idioma que escolheu (), o DrakX seleciona \n"
+"automaticamente um tipo específico de configuração de teclado. Verifique\n"
+"se a seleção atende às suas necessidades ou escolha outro layout de "
+"teclado.\n"
+"\n"
+"Além disso, você pode não ter um teclado que corresponda exatamente ao seu\n"
+"idioma: por exemplo, se você é um suíço que fala inglês, pode ter um "
+"teclado\n"
+"suíço. Ou se fala inglês e está localizado no Quebec, pode encontrar a\n"
+"mesma situação em que seu idioma nativo e o teclado configurado para o país\n"
+"não correspondem. Em ambos os casos, esta etapa de instalação permite que\n"
+"você selecione um teclado apropriado a partir de uma lista.\n"
+"\n"
+"Clique no botão \"%s\" para exibir uma lista de teclados suportados.\n"
+"\n"
+"Se escolher um layout de teclado baseado em um alfabeto não latino,\n"
+"o próximo diálogo permite que você escolha a combinação de teclas que\n"
+"alterna o teclado entre os layouts latino e não latino."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro passo é escolher seu idioma preferido.\n"
+"\n"
+"Sua escolha de idioma preferido afeta o instalador, a documentação e o\n"
+"sistema em geral. Primeiro, selecione a região em que você está localizado\n"
+"e, em seguida, o idioma que fala.\n"
+"\n"
+"Clicar no botão \"%s\" permite que você selecione outros idiomas a serem\n"
+"instalados em sua estação de trabalho, instalando assim os arquivos "
+"específicos\n"
+"para documentação do sistema e aplicativos. Por exemplo, se usuários\n"
+"espanhóis forem usar sua máquina, selecione o inglês como idioma padrão na\n"
+"visualização em árvore e \"%s\" na seção Avançado.\n"
+"\n"
+"Sobre o suporte a UTF-8 (unicode): Unicode é uma nova codificação de "
+"caracteres\n"
+"destinada a cobrir todos os idiomas existentes. No entanto, o suporte "
+"completo a\n"
+"ela no GNU/Linux ainda está em desenvolvimento. Por essa razão, o uso de "
+"UTF-8\n"
+"no Mageia depende das escolhas do usuário:\n"
+"\n"
+" * Se você escolher um idioma com uma codificação legada forte (idiomas "
+"latin1,\n"
+"russo, japonês, chinês, coreano, tailandês, grego, turco, a maioria dos "
+"idiomas\n"
+"iso-8859-2), a codificação legada será usada por padrão;\n"
+"\n"
+" * Outros idiomas usarão unicode por padrão;\n"
+"\n"
+" * Se forem necessários dois ou mais idiomas, e eles não usarem\n"
+"a mesma codificação, então unicode será usado para todo o sistema;\n"
+"\n"
+" * Finalmente, o unicode também pode ser forçado para uso em todo o\n"
+"sistema a pedido do usuário, selecionando a opção \"%s\" independentemente\n"
+"dos idiomas escolhidos.\n"
+"\n"
+"Note que você não está limitado a escolher um único idioma adicional.\n"
+"Você pode escolher vários ou até mesmo instalar todos selecionando a\n"
+"caixa \"%s\". Selecionar o suporte para um idioma significa que traduções,\n"
+"fontes, corretores ortográficos, etc., também serão instalados.\n"
+"\n"
+"Para alternar entre os vários idiomas instalados em seu sistema, você pode\n"
+"executar o comando \"localedrake\" como \"root\" para mudar o idioma usado\n"
+"por todo o sistema. Executar o comando como um usuário como\n"
+"altera apenas as configurações de idioma para esse usuário específico."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanhol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Usar unicode por padrão"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalmente, o DrakX não tem problemas para detectar o número de\n"
+"botões do seu mouse. Se houver algum problema, ele assume que você\n"
+"tem um mouse de dois botões e o configura para emulação do terceiro botão.\n"
+"O terceiro botão de um mouse de dois botões pode ser obtido clicando\n"
+"simultaneamente nos botões esquerdo e direito do mouse. O DrakX\n"
+"identifica automaticamente se o seu mouse usa uma interface PS/2, serial\n"
+"ou USB.\n"
+"\n"
+"Se tiver um mouse de 3 botões sem roda, pode escolher um mouse \"%s\".\n"
+"O DrakX configura seu mouse para que você possa simular a roda\n"
+"com ele: para fazer isso, pressione o botão do meio e mova o ponteiro do\n"
+"mouse para cima e para baixo.\n"
+"\n"
+"Se por algum motivo você quer especificar um tipo diferente de mouse,\n"
+"selecione na lista fornecida.\n"
+"\n"
+"Você pode selecionar a entrada \"%s\" para escolher um tipo \"genérico\",\n"
+"que funciona com quase todos os mouses.\n"
+"\n"
+"Se escolher um mouse diferente do padrão, uma tela de teste é\n"
+"exibida. Use os botões e a roda para verificar se as configurações estão\n"
+"corretas e se o mouse está funcionando corretamente. Se o mouse não\n"
+"estiver funcionando bem, pressione a barra de espaço ou a tecla [Enter]\n"
+"para cancelar o teste e você será retornado à lista de mouses.\n"
+"\n"
+"Ocasionalmente, mouses com roda não são detectados automaticamente,\n"
+"então você precisa selecioná-lo a partir de uma lista.\n"
+"Certifique-se de selecionar aquele correspondente à porta à qual seu mouse\n"
+"está conectado. Após selecionar e pressionar o botão \"%s\", uma imagem\n"
+"do mouse é exibida na tela. Role a roda para garantir que ela esteja\n"
+"ativando corretamente. À medida que rola a roda, você vê a roda de\n"
+"rolagem na tela se movendo. Teste os botões e verifique se o ponteiro\n"
+"se move na tela conforme movimenta o mouse."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "com emulação de roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualquer mouse PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Selecione a porta correta. Por exemplo, a porta \"COM1\" no\n"
+"Windows, é chamada de \"ttyS0\" no GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Um gerenciador de inicialização é um pequeno programa que é iniciado\n"
+"pelo computador na inicialização (boot). Ele é responsável por iniciar\n"
+"todo o sistema. Normalmente, a instalação do gerenciador de inicialização\n"
+"é totalmente automatizada. O DrakX analisa o setor de inicialização do\n"
+"disco e age de acordo com o que encontrar:\n"
+"\n"
+" * se um setor de inicialização do Windows for encontrado, ele é "
+"substituído\n"
+"por um setor de inicialização GRUB/LILO. Dessa forma, você pode carregar\n"
+"tanto o GNU/Linux quanto qualquer outro sistema operacional instalado em\n"
+"sua máquina.\n"
+"\n"
+" * se um setor de inicialização GRUB ou LILO for encontrado, ele é "
+"substituído\n"
+"por um novo.\n"
+"\n"
+"Se o DrakX não conseguir determinar onde colocar o setor de inicialização, "
+"ele\n"
+"pergunta onde deve colocá-lo. Geralmente, \"%s\" é o local mais seguro.\n"
+"Escolher \"%s\" não instala nenhum gerenciador de inicialização. Use esta\n"
+"opção somente se souber o que está fazendo."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Agora é hora de selecionar um sistema de impressão para o seu\n"
+"computador. Outros sistemas operacionais podem oferecer apenas\n"
+"um, mas o Mageia oferece dois. Cada um dos sistemas de impressão\n"
+"é mais adequado para determinados tipos de configuração.\n"
+"\n"
+" * \"%s\" -- que significa ``imprimir, não enfileirar'', é a escolha ideal "
+"se você\n"
+"tiver uma conexão direta com sua impressora, quiser agir\n"
+"rapidamente em caso de atolamento de papel, e não tiver impressoras\n"
+"em rede. (\"%s\" lida apenas com casos muito simples de rede e é um pouco\n"
+"lento quando usado em redes). Recomenda-se o uso de \"pdq\" se esta\n"
+"for sua primeira experiência com GNU/Linux.\n"
+"\n"
+" * \"%s\" significa `` Common Unix Printing System'' e é uma excelente\n"
+"escolha para imprimir na sua impressora local ou em uma localizada do\n"
+"outro lado do planeta. É simples de configurar e pode atuar como servidor\n"
+"ou cliente para o antigo sistema de impressão \"lpd\", sendo compatível\n"
+"com sistemas operacionais mais antigos que ainda possam precisar de\n"
+"serviços de impressão. Embora bastante poderoso, a configuração básica\n"
+"é quase tão fácil quanto \"pdq\". Se precisar emular um servidor \"lpd\",\n"
+"certifique-se de ativar o daemon \"cups-lpd\". \"%s\" inclui interfaces\n"
+"gráficas para impressão ou escolha de opções de impressora e para\n"
+"gerenciamento da impressora.\n"
+"\n"
+"Se fizer uma escolha agora e depois perceber que não gosta do\n"
+"sistema de impressão escolhido, você pode alterá-lo executando\n"
+"o PrinterDrake no Centro de Controle Mageia e clicando no botão \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Avançado"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"O DrakX primeiro detecta quaisquer dispositivos IDE presentes em seu\n"
+"computador. Ele também busca uma ou mais placas PCI SCSI em seu\n"
+"sistema. Se uma placa SCSI for encontrada, o DrakX instala\n"
+"automaticamente o driver apropriado.\n"
+"\n"
+"Como a detecção de hardware não é infalível, o DrakX pode falhar ao "
+"detectar\n"
+"seus discos rígidos. Se isso ocorrer, você precisa especificar seu hardware\n"
+"manualmente.\n"
+"\n"
+"Se teve que especificar manualmente seu adaptador PCI SCSI, o DrakX\n"
+"pergunta se deseja configurar opções para ele. Você deve permitir que o\n"
+"DrakX faça uma procura no hardware para obter as opções específicas\n"
+"necessárias para inicializar o adaptador. Na maioria das vezes, o DrakX "
+"passa\n"
+"por esta etapa sem problemas.\n"
+"\n"
+"Se o DrakX não conseguir procurar as opções para determinar automaticamente\n"
+"quais parâmetros precisam ser passados para o hardware, será necessário\n"
+"configurar o driver manualmente."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se uma placa de som for detectada em seu sistema, ela será exibida\n"
+"aqui. Se perceber que a placa de som não é a que está realmente\n"
+"presente em seu sistema, você pode clicar no botão e escolher um driver "
+"diferente."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Como revisão, o DrakX apresenta um resumo das informações que ele\n"
+"coletou sobre seu sistema. Dependendo do hardware instalado em sua\n"
+"máquina, você pode ver algumas ou todas as seguintes entradas. Cada\n"
+"entrada é composta pelo item de hardware a ser configurado, seguido por\n"
+"um breve resumo da configuração atual. Clique no botão \"%s\"\n"
+"correspondente para fazer a alteração.\n"
+"\n"
+" * \"%s\": verifique a configuração atual do mapa de teclado e altere se\n"
+"necessário.\n"
+"\n"
+" * \"%s\": verifique a seleção atual do país. Se não estiver neste país,\n"
+"clique no botão \"%s\" e escolha outro. Se seu país não estiver na lista\n"
+"exibida, clique no botão \"%s\" para obter a lista completa de países.\n"
+"\n"
+" * \"%s\": padrão, o DrakX deduz seu fuso horário com base no país\n"
+"escolhido. Você pode clicar no botão \"%s\" aqui se isso não estiver "
+"correto.\n"
+"\n"
+" * \"%s\": verifique a configuração atual do mouse e clique no botão\n"
+"para alterar se necessário.\n"
+"\n"
+" * \"%s\": se uma placa de som for detectada em seu sistema, ela será\n"
+"exibida aqui. Se notar que a placa de som não é a que está presente\n"
+"em seu sistema, você pode clicar no botão e escolher um driver diferente.\n"
+"\n"
+" * \"%s\": se tiver uma placa de TV, é aqui que as informações sobre\n"
+"sua configuração são exibidas. Se tiver uma placa de TV e ela não for\n"
+"detectada, clique em \"%s\" para tentar configurá-la manualmente.\n"
+"\n"
+" * \"%s\": você pode clicar em \"%s\" para alterar os parâmetros associados "
+"à\n"
+"placa se achar que a configuração está errada.\n"
+"\n"
+" * \"%s\": por padrão, o DrakX configura sua interface gráfica em resolução\n"
+"\"800x600\" ou \"1024x768\". Se isso não for adequada para você, clique\n"
+"em \"%s\" para reconfigurar sua interface gráfica.\n"
+"\n"
+" * \"%s\": se quer configurar seu acesso à internet ou rede local, você\n"
+"pode fazê-lo agora. Consulte a documentação impressa ou use o Centro\n"
+"de Controle Mageia após a instalação ser concluída para aproveitar\n"
+"a ajuda completa em tempo real.\n"
+"\n"
+" * \"%s\": permite configurar endereços de proxy HTTP e FTP se a máquina\n"
+"em que você está instalando estiver atrás de um servidor proxy.\n"
+"\n"
+" * \"%s\": esta entrada permite redefinir o nível de segurança configurado\n"
+"em uma etapa anterior .\n"
+"\n"
+" * \"%s\": se planeja conectar sua máquina à internet, é uma boa ideia\n"
+"se proteger contra intrusões configurando um firewall. Consulte a seção\n"
+"correspondente do ``Guia de introdução'' para obter detalhes sobre as\n"
+"configurações de firewall.\n"
+"\n"
+" * \"%s\": se quer alterar a configuração do gerenciador de inicialização,\n"
+"clique neste botão. Isso deve ser reservado para usuários avançados.\n"
+"Consulte a documentação exibida ou a ajuda em tempo real sobre a "
+"configuração\n"
+"do gerenciador de inicialização no Centro de Controle Mageia.\n"
+"\n"
+" * \"%s\": através desta entrada, você pode ajustar quais serviços serão\n"
+"executados em sua máquina. Se planeja usar esta máquina como um\n"
+"servidor, é uma boa ideia revisar essa configuração."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "Placa de TV"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Placa ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface gráfica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Escolha o disco rígido que deseja apagar para instalar sua nova partição\n"
+"do Mageia. Cuidado, todos os dados neste disco são perdidos e não podem\n"
+"ser recuperados!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Clique em \"%s\" se deseja excluir todos os dados e partições presentes\n"
+"neste disco rígido. Cuidado, após clicar em \"%s\", você não pode recuperar\n"
+"nenhum dado ou partição presente neste disco rígido, incluindo quaisquer "
+"dados\n"
+"do Windows.\n"
+"\n"
+"Clique em \"%s\" para sair desta operação sem perder dados e partições\n"
+"presentes neste disco rígido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Próximo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
diff --git a/perl-install/install/help/po/ro.po b/perl-install/install/help/po/ro.po
new file mode 100644
index 000000000..f836a27ea
--- /dev/null
+++ b/perl-install/install/help/po/ro.po
@@ -0,0 +1,1160 @@
+# Translation file of Mageia graphic install
+# Copyright (c) 2000 Mandriva
+# Florin Grad <florin@mandriva.com>, 1999-2000
+# Dragos Marian Barbu <dragosb@softhome.net>, 2000
+# Ovidiu Constantin <ovidiu.constantin@gmx.net>, 2002, 2003
+# Harald Ersch <harald@ersch.ro>,2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 7.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2003-09-11 18:11+0200\n"
+"Last-Translator: Ovidiu Constantin <ovidiu.constantin@gmx.net>\n"
+"Language-Team: Romanian Translators for Free Software <rtfs-project@lists."
+"sourceforge.net>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3;plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1))\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vreţi să folosiţi această facilitate?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizare"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Cu documentaţie de bază"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalare cu adevărat minimă"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronizare automată a ceasului"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Foloseşte o partiţie existentă"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Åžterge tot discul"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "generează dischetă de autoinstalare"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Administrator de securitate:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontare mediu detaÅŸabil"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Schimbă între modul normal/expert"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 butoane cu rotiţă emulată"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vă rog selectaţi portul corect. De exemplu, portul \"COM1\" din Windows e\n"
+"numit \"ttyS0\" în GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Placă ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Placă ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaţă grafică"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Alegeţi discul fix pe care doriţi să îl ştergeţi pentru a instala noua "
+"partiţie\n"
+"Makdrake Linux. Aveţi grijă, toate datele existente pe această partiţie\n"
+"se vor pierde ÅŸi nu vor putea fi recuperate!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Clic pe \"%s\" dacă doriţi ştergerea tuturor datelor şi partiţiilor "
+"existente\n"
+"pe acest disc fix. Fiţi atent(ă), după ce faceţi clic pe \"%s\", nu veţi "
+"putea\n"
+"recupera nici un fel de date sau partiţii de pe discul fix, inclusiv orice "
+"dată\n"
+"Windows.\n"
+"\n"
+"Clic pe \"%s\" pentru a opri această operaţie fără a pierde date\n"
+"şi partiţii prezente pe discul fix."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Următorul ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Precedentul"
+
+#~ msgid "authentication"
+#~ msgstr "autentificare"
diff --git a/perl-install/install/help/po/ru.po b/perl-install/install/help/po/ru.po
new file mode 100644
index 000000000..747b19348
--- /dev/null
+++ b/perl-install/install/help/po/ru.po
@@ -0,0 +1,1897 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2024\n"
+"Language-Team: Russian (https://app.transifex.com/MageiaLinux/teams/9361/"
+"ru/)\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Прежде чем продолжить, вы должны внимательно прочитать уÑÐ»Ð¾Ð²Ð¸Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ð¸.\n"
+"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ñ€Ð°ÑпроÑтранÑетÑÑ Ð½Ð° веÑÑŒ диÑтрибутив Mageia. ЕÑли вы\n"
+"ÑоглаÑны Ñо вÑеми уÑловиÑми лицензии, отметьте пункт \"%s\". ЕÑли нет -\n"
+"нажатие на кнопку \"%s\" приведет к перезагрузке вашего компьютера."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux Ñто многопользовательÑÐºÐ°Ñ ÑиÑтема, и Ñто значит, что каждый\n"
+"пользователь может иметь Ñвои ÑобÑтвенные предпочтениÑ, файлы и так далее.\n"
+"Ð’Ñ‹ можете почитать ``Стартовое руководÑтво пользователÑ'' чтобы узнать\n"
+"больше. Ð’ отличии от \"root\", который ÑвлÑетÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором,\n"
+"пользователи, которых вы добавите здеÑÑŒ, не будут иметь полномочий изменÑть\n"
+"что либо, кроме Ñвоих ÑобÑтвенных файлов и наÑтроек. Вам необходимо Ñоздать\n"
+"Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одного обычного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÑебÑ. Это будет аккаунт, который\n"
+"вы будете иÑпользовать Ð´Ð»Ñ ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾Ð¹ работы. Хоть Ñто и очень практично\n"
+"заходить в ÑиÑтему ежедневно как \"root\", Ñто также может быть очень\n"
+"опаÑно! Ð¡Ð°Ð¼Ð°Ñ Ð¼ÐµÐ»ÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° может Ñделать так, что ваша ÑиÑтема больше\n"
+"работать не будет. ЕÑли вы Ñделаете Ñерьезную ошибку как обычный\n"
+"пользователь, вы можете потерÑть некоторую информацию, но не вÑÑŽ ÑиÑтему.\n"
+"\n"
+"Ð’ первом поле вы должны ввеÑти ваше реальное имÑ. Это, конечно, не\n"
+"обÑзательно -, так как вы реально можете ввеÑти вÑе что угодно. DrakX\n"
+"иÑпользует первое Ñлово, которое вы ввели в поле и подÑтавит его как\n"
+"\"%s\". Это Ð¸Ð¼Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¹ пользователь иÑпользует Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð° в ÑиÑтему. Ð’Ñ‹\n"
+"можете изменить его. Затем вам нужно ввеÑти пароль. С точки зрениÑ\n"
+"безопаÑноÑти пароль не-привилегированного (обычного) Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ так\n"
+"критичен, как пароль \"root\", но нет причин пренебрегать им: в конце\n"
+"концов, вы риÑкуете Ñвоими файлами.\n"
+"\n"
+"Когда вы нажмете \"%s\", вы Ñможете добавить еще Ñколько угодно\n"
+"пользователей. Создайте Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из Ñвоих друзей, Ð´Ð»Ñ Ð¾Ñ‚Ñ†Ð°\n"
+"или ÑеÑтры, например. Когда вы закончите добавление пользователей, нажмите\n"
+"\"%s\".\n"
+"\n"
+"Ðажатие кнопки \"%s\" позволит изменить \"shell\" по умолчанию Ð´Ð»Ñ Ñтого\n"
+"Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (по умолчанию Ñто bash).\n"
+"\n"
+"ПоÑле того, как вÑе пользователи будут добавлены, вам предложат выбрать\n"
+"пользователÑ, под которым можно будет автоматичеÑки входить в ÑиÑтему поÑле\n"
+"загрузки. ЕÑли Ð²Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует Ñта возможноÑть (и Ð²Ð°Ñ Ð½Ðµ заботит локальнаÑ\n"
+"безопаÑноÑть), выберите необходимого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ оконный менеджер, затем\n"
+"нажмите \"%s\". ЕÑли вам не нужна Ñта возможноÑть, Ñнимите выбор Ñ Ð¿ÑƒÐ½ÐºÑ‚Ð°\n"
+"\"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "ПринÑть пользователÑ"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Хотите иÑпользовать Ñту возможноÑть?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ПеречиÑленное выше ÑвлÑетÑÑ ÑущеÑтвующими разделами Linux, определенными на\n"
+"вашем жеÑтком диÑке. Ð’Ñ‹ можете оÑтавить без изменений Ñделанное маÑтером,\n"
+"потому что Ñто хорошо подходит Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва обычных инÑталлÑций. ЕÑли вы\n"
+"делаете какие-либо изменениÑ, вы должны определить как минимум раздел root\n"
+"(\"/\"). Ðе делайте его Ñлишком маленьким, иначе вы не Ñможете\n"
+"инÑталлировать доÑтаточное количеÑтво программного обеÑпечениÑ. ЕÑли вы\n"
+"хотите хранить данные на другом разделе, вам также прийдетÑÑ Ñоздать раздел\n"
+"\"/home\" (возможно только при наличии более чем одного раздела Linux).\n"
+"\n"
+"Каждый раздел перечиÑлен Ñледующим образом: : \"Ðазвание\", \"Размер\".\n"
+"\n"
+"\"Ðазвание\" разделÑетÑÑ Ð½Ð°: \"тип жеÑткого диÑка\", \"номер жеÑткого\n"
+"диÑка\", \"номер раздела\" (например, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" Ñто \"hd\", еÑли ваш жеÑткий диÑк IDE и \"sd\", "
+"еÑли он\n"
+"SCSI.\n"
+"\n"
+"\"Ðомер жеÑткого диÑка\" вÑегда ÑвлÑетÑÑ Ð±ÑƒÐºÐ²Ð¾Ð¹ поÑле \"hd\" или \"sd\".\n"
+"Ð”Ð»Ñ Ð¶ÐµÑтких диÑков IDE:\n"
+"\n"
+" * \"a\" означает \"master жеÑткий диÑк на первичном IDE контроллере\";\n"
+"\n"
+" * \"b\" означает \"slave жеÑткий диÑк на первичном IDE контроллере\";\n"
+"\n"
+" * \"c\" означает \"master жеÑткий диÑк на вторичном IDE контроллере\";\n"
+"\n"
+" * \"d\" означает \"slave жеÑткий диÑк на вторичном IDE контроллере\".\n"
+"\n"
+"Ð”Ð»Ñ Ð¶ÐµÑтких диÑков SCSI, \"a\" означает \"lowest SCSI ID\", а \"b\"\n"
+"означает \"second lowest SCSI ID\", и т.д."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ИнÑталлÑÑ†Ð¸Ñ Mageia размещена на неÑкольких CD-ROMах. ЕÑли выбранный\n"
+"пакет находитÑÑ Ð½Ð° другом CD-ROM, DrakX будет отдавать текущий CD и проÑить\n"
+"Ð²Ð°Ñ Ð²Ñтавить другой по мере надобноÑти. ЕÑли у Ð²Ð°Ñ Ð½ÐµÑ‚ требуемого CD под "
+"руками,\n"
+"проÑто нажмите \"%s\", тогда ÑоответÑтвующие пакеты не будут уÑтанавливатьÑÑ."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Теперь наÑтало Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ, какие программы вы хотите уÑтановить в\n"
+"вашу ÑиÑтему. С Mageia поÑтавлÑÑŽÑ‚ÑÑ Ñ‚Ñ‹ÑÑчи пакетов и, Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ\n"
+"выбора, они разбиты на группы.\n"
+"\n"
+"Ð’ Mageia пакеты ÑортируютÑÑ Ð¿Ð¾ четырем категориÑм.\n"
+"Ð’Ñ‹ можете Ñмешивать и Ñочетать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð· различных\n"
+"категорий, например, вариант уÑтановки ``Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑтанциÑ'' может иметь\n"
+"Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð· категории ``Разработка''.\n"
+"\n"
+" * \"%s\": еÑли вы ÑобираетеÑÑŒ иÑпользовать машину в качеÑтве рабочей\n"
+"Ñтанции, выберите одну или неÑколько ÑоответÑтвующих групп из категории\n"
+"рабочей Ñтанции.\n"
+"\n"
+" * \"%s\": еÑли вы ÑобираетеÑÑŒ занÑтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼, выберите\n"
+"ÑоответÑтвующие группы из Ñтой категории. Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð°\n"
+"\"LSB\" наÑтроит ÑиÑтему таким образом, что она будет Ñодержать наиболее "
+"полную\n"
+"Ñпецификацию Стандартной базы Linux.\n"
+" Выбор \"LSB\" группы обеÑпечит 100%%-LSB ÑовмеÑтимоÑть\n"
+"ÑиÑтемы. Однако, еÑли вы не выберете группу \"LSB\", вы вÑÑ‘ ещё\n"
+"будете иметь ÑиÑтему, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¸ на 100%% LSB-ÑовмеÑтима.\n"
+"\n"
+" * \"%s\": еÑли ваша машина будет работать Ñервером, выберите какие из\n"
+"чаÑто иÑпользуемых Ñлужб вы желаете уÑтановить на нее.\n"
+"\n"
+" * \"%s\": здеÑÑŒ вам нужно выбрать предпочитаемую графичеÑкую Ñреду. ХотÑ\n"
+"бы одна из них должна быть выбрана, еÑли вы хотите работать в графичеÑком\n"
+"интерфейÑе.\n"
+"\n"
+"При наведении курÑора мыши на Ð¸Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ будет показыватьÑÑ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¾Ðµ\n"
+"поÑÑнение к данной группе.\n"
+"\n"
+"Ð’Ñ‹ можете отметить пункт \"%s\", который очень полезен, еÑли вы хорошо\n"
+"знаете предлагаемые пакеты, или еÑли вы хотите иметь полный контроль над\n"
+"тем, что будет уÑтанавливатьÑÑ.\n"
+"\n"
+"ЕÑли вы начали инÑталлÑцию в режиме \"%s\", вы можете убрать выбор вÑех\n"
+"групп, чтобы предотвратить инÑталлÑцию какого-либо нового пакета. Это\n"
+"полезно в Ñлучае воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑущеÑтвующей ÑиÑтемы.\n"
+"\n"
+"ЕÑли вы не выберете ни одной группы в процеÑÑе\n"
+"Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð¹ инÑталлÑции (не каÑаетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ), поÑвитÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³ Ñ\n"
+"различными опциÑми Ð´Ð»Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ инÑталлÑции:\n"
+"\n"
+" * \"%s\": инÑталлировать минимальный набор пакетов, необходимых Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹\n"
+"графичеÑкого рабочего Ñтола.\n"
+"\n"
+" * \"%s\": уÑтановить оÑновную ÑиÑтему Ð¿Ð»ÑŽÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ðµ утилиты и документацию\n"
+"к ним. Эта инÑталлÑÑ†Ð¸Ñ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ð¸Ñ‚ Ð´Ð»Ñ ÑƒÑтановки Ñервера.\n"
+"\n"
+" * \"%s\": будет уÑтановлен Ñамый необходимый минимум пакетов Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹\n"
+"Linux ÑиÑтемы. Ð’ Ñто варианте вы Ñможете работать только в режиме командной\n"
+"Ñтроки. Общий размер Ñтой уÑтановки занимает 65 мегабайт."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Обновление"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "С базовой документацией"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Ð¡Ð°Ð¼Ð°Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑƒÑтановка"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"ЕÑли вы Ñообщили инÑталлÑтору, что вы хотите ÑамоÑтоÑтельно выбрать пакеты,\n"
+"тогда он покажет вам дерево, Ñодержащее вÑе пакеты, разделенные по группам\n"
+"и подгруппам. Во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñмотра дерева вы можете выбирать группы\n"
+"полноÑтью, подгруппы или отдельные пакеты.\n"
+"\n"
+"Когда вы выбираете пакет в дереве, Ñправа поÑвлÑетÑÑ ÐµÐ³Ð¾ опиÑание, чтобы\n"
+"помочь вам узнать назначение Ñтого пакета.\n"
+"\n"
+"!! ЕÑли был выбран какой-либо Ñерверный пакет, Ñпециально или он был чаÑтью\n"
+"какой-либо группы, Ð²Ð°Ñ Ð¿Ð¾Ð¿Ñ€Ð¾ÑÑÑ‚ подтвердить, дейÑтвительно ли вы желаете\n"
+"уÑтановить Ñти Ñервера. Под Mageia вÑе уÑтановленные Ñервера\n"
+"запуÑкаютÑÑ Ð¿Ð¾ умолчанию в процеÑÑе загрузки. Даже еÑли они безопаÑны и не\n"
+"имеют извеÑтных проблем на момент выпуÑка диÑтрибутива, в них могут быть\n"
+"обнаружены дыры в безопаÑноÑти поÑле выпуÑка данной верÑии Mageia.\n"
+"ЕÑли вы не знаете, зачем нужен Ð´Ð°Ð½Ð½Ð°Ñ Ñлужба и что она делает, нажмите\n"
+"\"%s\". ЕÑли вы нажмете \"%s\", тогда вÑе Ñлужбы из ÑпиÑка будут\n"
+"уÑтановлены и автоматичеÑки запущены при загрузке ÑиÑтемы. !!\n"
+"\n"
+"ÐžÐ¿Ñ†Ð¸Ñ \"%s\" запрещает показ диалога предупреждениÑ, который поÑвлÑетÑÑ Ð¿Ñ€Ð¸\n"
+"автоматичеÑком выборе пакетов инÑталлÑтором. Ðекоторые пакеты имеют\n"
+"взаимоÑвÑзь друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, поÑтому инÑталлÑтору может потребоватьÑÑ\n"
+"уÑтановить некоторые дополнительные программы. ИнÑталлÑтор Ñам определит,\n"
+"какие пакеты нужны Ð´Ð»Ñ ÑƒÐ´Ð¾Ð²Ð»ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑимоÑтей, чтобы уÑпешно выполнить\n"
+"уÑтановку.\n"
+"\n"
+"ÐœÐ°Ð»ÐµÐ½ÑŒÐºÐ°Ñ Ð¸ÐºÐ¾Ð½ÐºÐ° диÑкеты внизу под ÑпиÑком позволÑет загрузить выбранный и\n"
+"запиÑанный во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ инÑталлÑции ÑпиÑок пакетов. ЕÑли вы нажмете\n"
+"на Ñту иконку, Ð²Ð°Ñ Ð¿Ð¾Ð¿Ñ€Ð¾ÑÑÑ‚ вÑтавить в диÑковод диÑкету, Ñозданную\n"
+"предыдущей инÑталлÑцией. Смотрите второй Ñовет поÑледнего шага, где опиÑано\n"
+"как Ñоздать такой диÑк."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ÐвтоматичеÑкие завиÑимоÑти"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Этот диалог иÑпользуетÑÑ Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ñлужб, которые должны Ñтартовать при\n"
+"загрузке ÑиÑтемы.\n"
+"\n"
+"DrakX предоÑтавит ÑпиÑок вÑех Ñлужб, которые доÑтупны при наÑтройках\n"
+"текущей инÑталлÑции. ПереÑмотрите их внимательно и уберите вÑе, которые не\n"
+"ÑвлÑÑŽÑ‚ÑÑ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ñтарта во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ÑиÑтемы.\n"
+"\n"
+"Ð’Ñ‹ можете получить короткие поÑÑÐ½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñительно Ñлужбы, выбрав ее в\n"
+"ÑпиÑке. Однако, еÑли вы не уверены, полезна Ñлужба или нет, лучше вÑего\n"
+"оÑтавить как было по умолчанию.\n"
+"\n"
+"!! Ðа Ñтом Ñтапе будьте предельно внимательны, еÑли ваша машина будет\n"
+"Ñервером: возможно вы не захотите запуÑкать Ñлужбы, которые вам не нужны.\n"
+"ПожалуйÑта помните, что некоторые Ñлужбы потенциально опаÑны Ð´Ð»Ñ Ñервера.\n"
+"Ð’ общем, оÑтавьте только те Ñлужбы, которые вам дейÑтвительно нужны. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управлÑет временем в GMT (Greenwich Mean Time) и транÑлирует его\n"
+"в локальное ÑоглаÑно выбранного вами чаÑового поÑÑа. ЕÑли чаÑÑ‹ на вашей\n"
+"материнÑкой плате уÑтановлены в локальное времÑ, вы можете деактивировать\n"
+"Ñто, убрав выбор \"%s\", что позволит GNU/Linux помнить, что ÑиÑтемные чаÑÑ‹\n"
+"и аппаратные чаÑÑ‹ принадлежат разным чаÑовым поÑÑам. Это полезно в Ñлучае,\n"
+"когда на машине размещена Ð´Ñ€ÑƒÐ³Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема типа Windows.\n"
+"\n"
+"ÐžÐ¿Ñ†Ð¸Ñ \"%s\" позволит автоматичеÑки подÑтраивать чаÑÑ‹, ÑоединÑÑÑÑŒ Ñ\n"
+"удаленным Ñервером в Интернет. ЕÑтеÑтвенно, чтобы Ñто работало, вам\n"
+"необходимо Ñоединение Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚. Лучше вÑего выбрать ближайший к вам\n"
+"Ñервер времени. Эта Ð¾Ð¿Ñ†Ð¸Ñ ÑƒÑтанавливает на вашу машину Ñервер времени,\n"
+"который опционально может иÑпользоватьÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ машинами в вашей локальной\n"
+"Ñети."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Ðппаратные чаÑÑ‹ наÑтроены на Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ Гринвичу"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "ÐвтоматичеÑÐºÐ°Ñ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Видеокарта\n"
+"\n"
+" ИнÑталлÑтор обычно автоматичеÑки определÑет и наÑтраивает видеокарту,\n"
+"уÑтановленную в вашей машине. ЕÑли Ñто не так, вы можете выбрать в Ñтом\n"
+"ÑпиÑке карту, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñƒ Ð²Ð°Ñ Ð´ÐµÐ¹Ñтвительно уÑтановлена.\n"
+"\n"
+" Ð’ Ñлучае, когда Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ карты доÑтупны различные Ñервера, Ñ 3D\n"
+"уÑкорением и без, вам предложат выбрать, какой Ñервер больше ÑоответÑтвует\n"
+"вашим потребноÑÑ‚Ñм."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (Ð´Ð»Ñ ÑиÑтемы X Window) Ñто Ñердце графичеÑкого интерфейÑа GNU/Linux, на\n"
+"базе которого работают вÑе графичеÑкие Ñреды (KDE, GNOME, AfterStep,\n"
+"WindowMaker, и Ñ‚.д..), входÑщие в Mageia.\n"
+"\n"
+"Вам будет предÑтавлен ÑпиÑок различных параметров Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ\n"
+"оптимального графичеÑкого отображениÑ.\n"
+"\n"
+"Видеокарта\n"
+"\n"
+" ИнÑталлÑтор обычно автоматичеÑки определÑет и наÑтраивает видеокарту,\n"
+"уÑтановленную в вашей машине. ЕÑли Ñто не так, вы можете выбрать в Ñтом\n"
+"ÑпиÑке карту, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñƒ Ð²Ð°Ñ Ð´ÐµÐ¹Ñтвительно уÑтановлена.\n"
+"\n"
+" Ð’ Ñлучае, когда Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ карты доÑтупны различные Ñервера, Ñ 3D\n"
+"уÑкорением и без, вам предложат выбрать, какой Ñервер больше ÑоответÑтвует\n"
+"вашим потребноÑÑ‚Ñм.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" ИнÑталлÑтор обычно может автоматичеÑки определить и наÑтроить монитор,\n"
+"подключенный к вашей машине. ЕÑли ему Ñто не удалоÑÑŒ, вы можете\n"
+"ÑамоÑтоÑтельно выбрать ваш монитор из ÑпиÑка.\n"
+"\n"
+"\n"
+"\n"
+"Разрешение\n"
+"\n"
+" ЗдеÑÑŒ вы можете выбрать разрешение и глубину цвета из того, что доÑтупно\n"
+"Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ оборудованиÑ. Выберите то, что вам больше подходит (вы Ñможете\n"
+"Ñто изменить поÑле инÑталлÑции). Пример выбранной конфигурации отображаетÑÑ\n"
+"на мониторе.\n"
+"\n"
+"\n"
+"\n"
+"Проверить\n"
+"\n"
+" Ð’ завиÑимоÑти от вашего оборудованиÑ, данный пункт может либо поÑвлÑтьÑÑ\n"
+"либо отÑутÑтвовать.\n"
+"\n"
+" СиÑтема попытаетÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ графичеÑкий Ñкран в выбранном разрешении.\n"
+"ЕÑли вы Ñможете увидеть Ñообщение во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ и ответить \"%s\",\n"
+"тогда DrakX перейдет к Ñледующему шагу. ЕÑли вы не увидите ÑообщениÑ, Ñто\n"
+"значит, что чаÑть определенной автоматичеÑки конфигурации была неверна и\n"
+"проверка автоматичеÑки завершитÑÑ Ñ‡ÐµÑ€ÐµÐ· 12 Ñекунд, вернув Ð²Ð°Ñ Ð² меню.\n"
+"Поправьте наÑтройки и проверьте заново, пока вы не получите корректное\n"
+"графичеÑкое изображение.\n"
+"\n"
+"\n"
+"\n"
+"Параметры\n"
+"\n"
+" ЗдеÑÑŒ вы можете наÑтроить вашу машину на автоматичеÑкую загрузку в\n"
+"графичеÑком интерфейÑе. Очевидно, что вам Ñледует выбрать \"%s\", еÑли ваша\n"
+"машина будет работать в качеÑтве Ñервера или вам не удалоÑÑŒ наÑтроить\n"
+"графичеÑкий режим."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" ИнÑталлÑтор обычно может автоматичеÑки определить и наÑтроить монитор,\n"
+"подключенный к вашей машине. ЕÑли ему Ñто не удалоÑÑŒ, вы можете\n"
+"ÑамоÑтоÑтельно выбрать ваш монитор из ÑпиÑка."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Разрешение\n"
+"\n"
+" ЗдеÑÑŒ вы можете выбрать разрешение и глубину цвета из того, что доÑтупно\n"
+"Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ оборудованиÑ. Выберите то, что вам больше подходит (вы Ñможете\n"
+"Ñто изменить поÑле инÑталлÑции). Пример выбранной конфигурации отображаетÑÑ\n"
+"на мониторе."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Ð’ Ñлучае, когда Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ карты доÑтупны различные Ñервера, Ñ 3D уÑкорением\n"
+"и без, вам предложат выбрать, какой Ñервер больше ÑоответÑтвует вашим\n"
+"потребноÑÑ‚Ñм."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметры\n"
+"\n"
+" ЗдеÑÑŒ вы можете наÑтроить вашу машину на автоматичеÑкую загрузку в\n"
+"графичеÑком интерфейÑе. Очевидно, что вам Ñледует выбрать \"%s\", еÑли ваша\n"
+"машина будет работать в качеÑтве Ñервера или вам не удалоÑÑŒ наÑтроить\n"
+"графичеÑкий режим."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ðа Ñтом шаге вам прийдетÑÑ Ñ€ÐµÑˆÐ¸Ñ‚ÑŒ, куда вы хотите уÑтановить операционную\n"
+"ÑиÑтему Mageia на вашем жеÑтком диÑке. ЕÑли ваш жеÑткий диÑк пуÑÑ‚,\n"
+"или ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема на нем занимает вÑе диÑковое\n"
+"проÑтранÑтво, вам прийдетÑÑ Ð´Ð¸Ñк переразбить (partition). Разделение диÑка\n"
+"в оÑновном ÑоÑтоит в том, чтобы логичеÑки выделить на нем Ñвободное\n"
+"проÑтранÑтво Ð´Ð»Ñ ÑƒÑтановки вашей новой ÑиÑтемы Mageia.\n"
+"\n"
+"ПоÑкольку разделение диÑка - Ñто обычно необратимый процеÑÑ Ð¸ может\n"
+"привеÑти к потере данных, еÑли на диÑке уже еÑть уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ\n"
+"ÑиÑтема, то Ð´Ð»Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‰ÐµÐ³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñто неÑколько напрÑженный и\n"
+"пугающий момент. К ÑчаÑтью, в DrakX ÑущеÑтвует маÑтер, упрощающий Ñтот\n"
+"процеÑÑ. ПожалуйÑта, прочтите руководÑтво перед началом и не торопитеÑÑŒ.\n"
+"\n"
+"Ð’ завиÑимоÑти от конфигурации вашего жеÑткого диÑка, доÑтупно неÑколько\n"
+"параметров:\n"
+"\n"
+" * \"%s\": Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð¾Ð·Ð½Ð°Ñ‡Ð°ÐµÑ‚ автоматичеÑкое разделение пуÑтого диÑка или\n"
+"диÑков. ЕÑли вы выбираете Ñту опцию, то далее вопроÑов задаватьÑÑ Ð½Ðµ будет;\n"
+"\n"
+" * \"%s\": маÑтер определил наличие ÑущеÑтвующих разделов Linux на вашем\n"
+"жеÑтком диÑке. ЕÑли вы ÑобираетеÑÑŒ их иÑпользовать, выберите Ñту опцию. ВаÑ\n"
+"попроÑÑÑ‚ указать точки Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ раздела. По умолчанию\n"
+"выбираютÑÑ Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ðµ точки Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вы можете вообще их не менÑть.\n"
+"\n"
+" * \"%s\": еÑли на вашем жеÑтком диÑке уÑтановлена и занимает вÑе доÑтупное\n"
+"меÑто Microsoft Windows, вам нужно будет Ñоздать Ñвободное меÑто Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…\n"
+"Linux. Чтобы Ñто Ñделать, вы можете удалить ваш Microsoft Windows раздел и\n"
+"данные (Ñм. решение `` ОчиÑтить веÑÑŒ диÑк'') или изменить размер раздела\n"
+"FAT или NTFS Microsoft Windows. Изменение размера может проводитьÑÑ Ð±ÐµÐ·\n"
+"потери данных, оÑобенно еÑли вы предварительно провели дефрагментацию\n"
+"раздела Windows. Резервное копирование ваших данных наÑтойчиво\n"
+"рекомендуетÑÑ.. Рекомендуем выбрать Ñту опцию, еÑли вы ÑобираетеÑÑŒ\n"
+"иÑпользовать Mageia и Microsoft Windows на одном компьютере.\n"
+"\n"
+" Перед тем, как выбрать Ñту опцию, вы должны оÑознать, что размер вашего\n"
+"раздела Microsoft Windows Ñтанет меньше, чем был. У Ð²Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ меньше\n"
+"Ñвободного меÑта под Microsoft Windows Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… и инÑталлÑции\n"
+"новых программ.\n"
+"\n"
+" * \"%s\" выберите Ñту опцию, еÑли вы хотите удалить вÑе данные на вÑех\n"
+"разделах вашего жеÑткого диÑка и заменить их новой ÑиÑтемой Mageia.\n"
+"Будьте оÑторожны в Ñтом решении, потому что поÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²Ñ‹ не\n"
+"Ñможете вернуть обратно вÑе как было.\n"
+"\n"
+" !! ЕÑли вы выбираете Ñту опцию, вÑе данные на вашем жеÑтком диÑке будут\n"
+"удалены. !!\n"
+"\n"
+" * \"%s\": Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ проÑто удалить вÑÑŽ информацию на диÑке и\n"
+"начать Ñоздание разделов диÑка на пуÑтом меÑте. Ð’ÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° вашем\n"
+"диÑке будет утерÑна. Эта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾ÑвлÑетÑÑ, еÑли жеÑткий диÑк полноÑтьюзанÑÑ‚ "
+"Microsoft Windows.\n"
+"\n"
+" !! ЕÑли вы выберете Ñту опцию, вÑе данные на вашем диÑке будут потерÑны.\n"
+"!!\n"
+"\n"
+" * \"%s\": выберите Ñту опцию, еÑли вы желаете разбить ваш диÑк вручную.\n"
+"Будьте оÑторожны -- Ñто Ð¼Ð¾Ñ‰Ð½Ð°Ñ Ð¸ одновременно опаÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть. Ð’Ñ‹\n"
+"запроÑто можете потерÑть вÑе данные. ПоÑтому выбор Ñтой опции рекомендуетÑÑ\n"
+"только в том Ñлучае, еÑли вы уже делали что либо подобное раньше и имеете\n"
+"некоторый опыт. Чтобы узнать, как иÑпользовать утилиту DiskDrake,\n"
+"обратитеÑÑŒ к разделу ``Управление разделами диÑка'' книги ``Стартовое\n"
+"руководÑтво пользователÑ''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ИÑпользовать ÑущеÑтвующий раздел"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "ИÑпользовать Ñвободное проÑтранÑтво на разделе Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ОчиÑтить веÑÑŒ диÑк"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"И вот вы здеÑÑŒ. УÑтановка завершена, и ваша ÑиÑтема GNU/Linux готова к\n"
+"иÑпользованию. ПроÑто нажмите \"%s\", чтобы перезагрузить ÑиÑтему. Первое,\n"
+"что вы увидите поÑле того, как ваш компьютер закончит теÑтирование\n"
+"оборудованиÑ, Ñто меню начального загрузчика, предоÑтавлÑющее вам выбор\n"
+"какую операционную ÑиÑтему загрузить.\n"
+"\n"
+"Кнопка \"%s\" покажет еще две кнопки:\n"
+"\n"
+" * \"%s\": Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð½ÑталлÑционной диÑкеты, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которой можно\n"
+"автоматичеÑки провеÑти инÑталлÑцию, подобную только что проведенной, без\n"
+"учаÑÑ‚Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°.\n"
+"\n"
+" Обратите внимание, что поÑле Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð½Ð° кнопку доÑтупны два различных\n"
+"варианта:\n"
+"\n"
+" * \"%s\": Ñто чаÑтично Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑƒÑтановка, в которой только\n"
+"шаг разметки диÑка (и только он один) требует учаÑтиÑ.\n"
+"\n"
+" * \"%s\": полноÑтью автоматичеÑÐºÐ°Ñ Ð¸Ð½ÑталлÑциÑ: жеÑткий диÑк полноÑтью\n"
+"перезапиÑываетÑÑ Ð¸ вÑе данные терÑÑŽÑ‚ÑÑ.\n"
+"\n"
+" Ñта возможноÑть очень удобна, когда нужно повторÑть инÑталлÑцию на\n"
+"большом чиÑле одинаковых машин. Смотрите раздел Auto install на нашем web\n"
+"Ñайте, чтобы получить больше информации.\n"
+"\n"
+" * \"%s\": ÑохранÑет выбор пакетов, Ñделанный в данной инÑталлÑции. ДлÑ\n"
+"иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñвоей выборки пакетов Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ уÑтановки, вÑтавьте диÑкету\n"
+"в диÑковод и запуÑтите уÑтановку. Ð’ приглашении нажмите [F1] и наберите\n"
+">>linux defcfg=\"floppy\"<<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Создать диÑкету автоматичеÑкой уÑтановки"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Повторить"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "ÐвтоматичеÑки"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Сохранить ÑпиÑок пакетов"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ð’Ñе вновь Ñозданные разделы должны быть отформатированы Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы их\n"
+"можно было иÑпользовать (форматирование означает Ñоздание файловой\n"
+"ÑиÑтемы).\n"
+"\n"
+"Ðа Ñтом Ñтапе у Ð²Ð°Ñ ÐµÑть возможноÑть переформатировать уже ÑущеÑтвующие\n"
+"разделы, чтобы Ñтереть вÑе данные, которые они Ñодержат. ЕÑли вам Ñто\n"
+"нужно, тогда выберите и Ñти разделы.\n"
+"\n"
+"ПожалуйÑта, имейте в виду, что нет необходимоÑти переформатировать вÑе\n"
+"ÑущеÑтвовавшие ранее разделы. Ð’Ñ‹ должны переформатировать разделы,\n"
+"Ñодержащие операционную ÑиÑтему (такие, как \"/\", \"/usr\" или \"/var\"),\n"
+"но вам ÑовÑем не обÑзательно форматировать разделы, на которых ÑодержатÑÑ\n"
+"данные, которые вы хотели бы Ñохранить (обычно Ñто \"/home\").\n"
+"\n"
+"ПожалуйÑта, будьте оÑторожны при выборе разделов. ПоÑле Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñе\n"
+"данные на выбранных разделах будут удалены и вы не Ñможете их воÑÑтановить.\n"
+"\n"
+"Ðажмите \"%s\", когда будете готовы начать форматирование разделов.\n"
+"\n"
+"Ðажмите \"%s\", еÑли вы хотите выбрать другой раздел Ð´Ð»Ñ ÑƒÑтановки\n"
+"Mageia.\n"
+"\n"
+"Ðажмите \"%s\", еÑли хотите выбрать разделы, которые Ñледует проверить на\n"
+"Ñбойные блоки (bad blocks)."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ð’ данный момент уÑтановки Mageia было бы неплохо обновить некоторые\n"
+"пакеты из иÑходного релиза. Ðекоторые баги могут быть уже иÑправлены и\n"
+"решены проблемы безопаÑноÑти. Чтобы получить пользу от Ñтих обновлений,\n"
+"ÑÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹ можете загрузить их из Интернет. Ðажмите \"%s\", еÑли у Ð²Ð°Ñ ÐµÑть\n"
+"работающее Ñоединение Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚, или \"%s\", еÑли вы хотели бы обновить\n"
+"пакеты позже.\n"
+"\n"
+"При выборе \"%s\" поÑвитÑÑ ÑпиÑок меÑÑ‚, из которых можно получить\n"
+"обновлениÑ. Выберите ближайший к вам Ñервер. Затем поÑвитÑÑ Ð´ÐµÑ€ÐµÐ²Ð¾ выбора\n"
+"пакетов: проÑмотрите ÑпиÑок и нажмите \"%s\" Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸ уÑтановки\n"
+"выбранных пакетов, или \"%s\" Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ðа Ñтом Ñтапе DrakX позволит вам выбрать Ð´Ð»Ñ Ð¼Ð°ÑˆÐ¸Ð½Ñ‹ желаемый уровень\n"
+"безопаÑноÑти. Как правило, уровень безопаÑноÑти должен быть выше, еÑли на\n"
+"машине ÑодержатÑÑ ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡ÐµÑкие данные или машина непоÑредÑтвенно подключена\n"
+"к Интернет. Однако, более выÑокий уровень безопаÑноÑти, в общем Ñлучае,\n"
+"доÑтигаетÑÑ Ð² обмен на удобÑтво иÑпользованиÑ.\n"
+"\n"
+"ЕÑли вы не знаете что выбрать, оÑтавьте выбор по умолчанию. Ð’Ñ‹ Ñможете\n"
+"изменить Ñтот уровень безопаÑноÑти потом Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ утилиты draksec из\n"
+"Центра ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Mageia.\n"
+"\n"
+"Ð’ поле \"%s\" ÑиÑтеме указываетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ (e-mail), который будет "
+"отвечать за\n"
+"безопаÑноÑть. Ðа Ñтот Ð°Ð´Ñ€ÐµÑ Ð±ÑƒÐ´ÑƒÑ‚ поÑылатьÑÑ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ безопаÑноÑти."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ÐдминиÑтратор по безопаÑноÑти"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"ЗдеÑÑŒ вам предложат выбрать, какие разделы будут иÑпользоватьÑÑ Ð´Ð»Ñ\n"
+"уÑтановки вашей ÑиÑтемы Mageia. ЕÑли разделы были уже определены\n"
+"ранее, например, предыдущей инÑталлÑцией GNU/Linux или другой утилитой\n"
+"Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ð´Ð¸Ñков, вы можете воÑпользоватьÑÑ ÑущеÑтвующими разделами. Ð’\n"
+"противном Ñлучае, разделы жеÑткого диÑка должны быть определены.\n"
+"\n"
+"Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð² Ñначала выберите жеÑткий диÑк. Это можно Ñделать,\n"
+"выбрав ``hda'' Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ IDE уÑтройÑтва, ``hdb'' Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾, ``sda'' длÑ\n"
+"первого SCSI уÑтройÑтва и так далее.\n"
+"\n"
+"Ð”Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‚ÐºÐ¸ выбранного жеÑткого диÑка вы можете иÑпользовать Ñледующие\n"
+"опции:\n"
+"\n"
+" * \"%s\": Ñта Ð¾Ð¿Ñ†Ð¸Ñ ÑƒÐ´Ð°Ð»Ñет вÑе разделы на выбранном жеÑтком диÑке;\n"
+"\n"
+" * \"%s\": Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет автоматичеÑки Ñоздать ext4 и swap разделы на\n"
+"Ñвободном проÑтранÑтве вашего жеÑткого диÑка.\n"
+"\n"
+"\"%s\": открывает доÑтуп к дополнительным возможноÑÑ‚Ñм:\n"
+"\n"
+" * \"%s\": ÑохранÑет таблицу разделов на диÑкету. Полезно длÑ\n"
+"воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ разделов в будущем. Очень рекомендуетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÑти\n"
+"Ñтот шаг.\n"
+"\n"
+" * \"%s\": позволÑет воÑÑтановить таблицу разделов, ранее Ñохраненную на\n"
+"диÑкету.\n"
+"\n"
+" * \"%s\": еÑли ваша таблица разделов иÑпорчена, вы можете попытатьÑÑ ÐµÐµ\n"
+"воÑÑтановить, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñту опцию. ПожалуйÑта, будьте оÑторожны и помните,\n"
+"что Ñто может и не получитьÑÑ.\n"
+"\n"
+" * \"%s\": отменÑет вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ загружает иÑходную таблицу разделов,\n"
+"что была в оригинале на жеÑткий диÑк.\n"
+"\n"
+" * \"%s\": еÑли не выбрать Ñту опцию, то пользователи будут вынуждены\n"
+"вручную монтировать и размонтировать Ñъемные ноÑители типа диÑкет и\n"
+"CD-ROMов.\n"
+"\n"
+" * \"%s\": иÑпользуйте Ñту опцию, еÑли вы желаете провеÑти разметку диÑка Ñ\n"
+"помощью маÑтера. Это рекомендуетÑÑ Ñ‚ÐµÐ¼, кто не имеет доÑтаточного опыта в\n"
+"разбиении диÑков.\n"
+"\n"
+" * \"%s\": иÑпользуйте Ñту опцию Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ ваших изменений.\n"
+"\n"
+" * \"%s\": позволÑет производить дополнительные дейÑÑ‚Ð²Ð¸Ñ Ð½Ð°Ð´ разделами\n"
+"(тип, опции, формат) и предоÑтавлÑет больше информации о жеÑтком диÑке.\n"
+"\n"
+" * \"%s\": когда вы закончите разметку Ñвоего жеÑткого диÑка, нажмите Ñюда\n"
+"чтобы Ñохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° диÑк.\n"
+"\n"
+"При определении размера раздела, вы можете уÑтановить размер раздела,\n"
+"иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ Ñо Ñтрелками на вашей клавиатуре.\n"
+"\n"
+"Замечание: вы можете добратьÑÑ Ð´Ð¾ любой из опций иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñƒ.\n"
+"ПеремещайтеÑÑŒ по ним, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ [Tab] и Ñтрелки [Up/Down].\n"
+"\n"
+"Когда раздел выбран, вы можете иÑпользовать:\n"
+"\n"
+" * Ctrl-c Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ раздела (когда выбран пуÑтой раздел)\n"
+"\n"
+" * Ctrl-d Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð°\n"
+"\n"
+" * Ctrl-m Ð´Ð»Ñ ÑƒÑтановки точки монтированиÑ\n"
+"\n"
+"Чтобы получить информацию о различных доÑтупных файловых ÑиÑтемах,\n"
+"пожалуйÑта почитайте главу ext2FS из книги ``Справочное руководÑтво''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Сохранить таблицу разделов"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "ВоÑÑтановить таблицу разделов"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "ИÑправить таблицу разделов"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ðвтомонтирование Ñъемных ноÑителей"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "МаÑтер"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Вернуть"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Переключение между нормальным/ÑкÑпертным режимами"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Ðа вашем жеÑтом диÑке обнаружено неÑколько разделов Microsoft. Выберите\n"
+"необходимый раздел Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ размера Ñ Ñ†ÐµÐ»ÑŒÑŽ уÑтановки вашей новой\n"
+"операционной ÑиÑтемы Mageia.\n"
+"\n"
+"Каждый раздел перечиÑлен так: \"Linux имÑ\", \"Windows имÑ\" \"Размер\".\n"
+"\n"
+"\"Linux имÑ\" разделено на: \"тип жеÑткого диÑка\", \"номер жеÑткого\n"
+"диÑка\", \"номер раздела\" (например, \"hda1\").\n"
+"\n"
+"\"Тип жеÑткого диÑка\" Ñто \"hd\" еÑли ваш жеÑткий диÑк IDE и \"sd\" еÑли\n"
+"SCSI.\n"
+"\n"
+"\"Ðомер жеÑткого диÑка\" Ñто вÑегда буква поÑле \"hd\" или \"sd\". ДлÑ\n"
+"жеÑтких диÑков IDE:\n"
+"\n"
+" * \"a\" означает \"master жеÑткий диÑк на первичном IDE контроллере\";\n"
+"\n"
+" * \"b\" означает \"slave жеÑткий диÑк на первичном IDE контроллере\";;\n"
+"\n"
+" * \"c\" означает \"master жеÑткий диÑк на вторичном IDE контроллере\";\n"
+"\n"
+" * \"d\" означает \"slave жеÑткий диÑк на вторичном IDE контроллере\".\n"
+"\n"
+"Ð”Ð»Ñ Ð¶ÐµÑтких диÑков SCSI \"a\" означает \"lowest SCSI ID\", \"b\" означает\n"
+"\"second lowest SCSI ID\", и т.д.\n"
+"\n"
+"\"Windows name\" Ñто буква жеÑткого диÑка под Windows (первый диÑк или\n"
+"раздел называетÑÑ \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": проверьте текущий выбор Ñтраны ЕÑли вы находитеÑÑŒ не в Ñтой Ñтране,\n"
+"нажмите на кнопку \"%s\" и выберите другую. ЕÑли ваша Ñтрана не\n"
+"приÑутÑтвует в первом показанном ÑпиÑке, нажмите кнопку \"%s\", чтобы\n"
+"увидеть полный ÑпиÑок."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Этот шаг поÑвлÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñлучае, еÑли на вашей машине найден Ñтарый\n"
+"раздел GNU/Linux.\n"
+"\n"
+"DrakX теперь должен узнать, хотите ли вы провеÑти новую уÑтановку или\n"
+"обновление ÑущеÑтвующей ÑиÑтемы Mageia:\n"
+"\n"
+" * \"%s\": в большинÑтве Ñлучаев Ñтот вариант приведет к уничтожению Ñтарой\n"
+"ÑиÑтемы. ЕÑли вы желаете изменить разделы вашего жеÑткого диÑка или\n"
+"изменить файловую ÑиÑтему, вы должны выбрать Ñтот пункт. Однако, в\n"
+"завиÑимоÑти от того, как разбит ваш диÑк, вам, возможно, удаÑÑ‚ÑÑ Ñохранить\n"
+"от перезапиÑи некоторые Ñвои данные.\n"
+"\n"
+" * \"%s\": Ñтот клаÑÑ ÑƒÑтановки позволит вам обновить пакеты, уÑтановленные\n"
+"в вашей ÑиÑтеме Mageia. Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñхема разделов диÑка и\n"
+"пользовательÑкие данные оÑтанутÑÑ Ð½ÐµÑ‚Ñ€Ð¾Ð½ÑƒÑ‚Ñ‹Ð¼Ð¸. БольшинÑтво других шагов\n"
+"будут доÑтупны, как и при Ñтандартной уÑтановке.\n"
+"\n"
+"``Обновление'' будет неплохо работать на ÑиÑтемах Mageia Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ\n"
+"\"8.1\" и выше. Проведение Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° ÑиÑтемах Mageia Ñтарше\n"
+"\"8.1\" не рекомендуетÑÑ."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Ð’ завиÑимоÑти от Ñзыка по умолчанию, который вы выбрали в разделе , DrakX\n"
+"автоматичеÑки подберет определенную конфигурацию клавиатуры. Проверьте, что\n"
+"выбор вам подходит или выберите другую раÑкладку клавиатуры.\n"
+"\n"
+"Может так быть, что у Ð²Ð°Ñ Ð½ÐµÑ‚ клавиатуры, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾ ÑоответÑтвует\n"
+"вашему Ñзыку: например, еÑли вы швейцарец, говорÑщий по-английÑки, у ваÑ\n"
+"может быть швейцарÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð°. Или вы говорите по-английÑки, но живете\n"
+"в Квебеке; тогда вы можете попаÑть в подобную в Ñитуацию, когда ваш родной\n"
+"Ñзык и клавиатура не Ñовпадают. Ð’ любом Ñлучае, Ñтот шаг уÑтановки позволит\n"
+"вам выбрать подходÑщую клавиатуру из ÑпиÑка.\n"
+"\n"
+"Ðажмите на кнопку \"%s\" чтобы получить полный ÑпиÑок поддерживаемых\n"
+"клавиатур.\n"
+"\n"
+"ЕÑли вы выбираете раÑкладку клавиатуры, оÑнованную на не-латинÑком\n"
+"алфавите, Ñледующее диалоговое окно позволит вам выбрать Ñочетание клавиш\n"
+"Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ латинÑкой и не-латинÑкой раÑкладками."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Первый шаг - выбор вашего предпочитаемого Ñзыка.\n"
+"Ваш выбор предпочитаемого Ñзыка повлиÑет на Ñзык документации, Ñам\n"
+"инÑталлÑтор и ÑиÑтему в целом. Выберите Ñначала регион, в котором вы\n"
+"находитеÑÑŒ, затем Ñзык на котором вы говорите.\n"
+"\n"
+"По нажатию на кнопку \"%s\" вы Ñможете выбрать другие Ñзыки, которые можно\n"
+"уÑтановить на вашей рабочей Ñтанции. Таким образом будут уÑтановлены\n"
+"имеющие отношение к Ñзыку файлы ÑиÑтемной документации и приложениÑ.\n"
+"Ðапример, еÑли у Ð²Ð°Ñ Ð² ÑиÑтеме будут работать пользователи из ИÑпании,\n"
+"выберите в дереве English как оÑновной, и \"%s\" в дополнительном разделе.\n"
+"\n"
+"О поддержке UTF-8 (unicode): Unicode - Ñто Ð½Ð¾Ð²Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ°, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ "
+"включает\n"
+"в ÑÐµÐ±Ñ Ð²Ñе ÑущеÑтвующие Ñзыки. Однако ее Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° в GNU/Linux пока\n"
+"находитÑÑ Ð² Ñтадии разработки. ПоÑтому Mageia будет определÑть\n"
+"иÑпользовать ее или нет в завиÑимоÑти от выбора пользователÑ:\n"
+"\n"
+" * ЕÑли вы выбираете Ñзыки, которые имеют Ñвою традиционную уÑтоÑвшуюÑÑ\n"
+"кодировку (Ñзыки latin1, руÑÑкий, ÑпонÑкий, китайÑкий, корейÑкий, тайÑкий,\n"
+"гречеÑкий, турецкий, большинÑтво Ñзыков Ñ iso-8859-2), будет взÑта по\n"
+"умолчанию их кодировка;\n"
+"\n"
+" * Ð”Ð»Ñ Ð¾Ñтальных Ñзыков будет иÑпользоватьÑÑ ÑŽÐ½Ð¸ÐºÐ¾Ð´ по умолчанию;\n"
+"\n"
+" * ЕÑли выбираютÑÑ Ð½ÐµÑколько Ñзыков, имеющих различную кодировку, будет\n"
+"иÑпользован юникод по умолчанию Ð´Ð»Ñ Ð²Ñей ÑиÑтемы;\n"
+"\n"
+" * И наконец, юникод может быть также выбран по запроÑу пользователÑ,\n"
+"опцией \"%s\" не завиÑимо от того, какие Ñзыки выбраны.\n"
+"\n"
+"Заметим, что вы не ограничены в выборе дополнительных Ñзыков. Ð’Ñ‹ можете\n"
+"выбрать Ñколько угодно дополнительных Ñзыков, даже уÑтановить вÑе Ñзыки,\n"
+"отметив пункт \"%s\". Выбор поддержки Ñзыка означает наличие переводов,\n"
+"шрифтов, проверку орфографии и Ñ‚.д. Ð´Ð»Ñ ÑƒÑтановленных Ñзыков.\n"
+"\n"
+"Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ различными уÑтановленными Ñзыками в вашей ÑиÑтеме вы\n"
+"можете запуÑкать команду \"localedrake\" Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ \"root\",\n"
+"чтобы изменить Ñзык Ð´Ð»Ñ Ð²Ñей ÑиÑтемы. ЗапуÑк Ñтой команды Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸\n"
+"обычного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ изменить наÑтройки Ñзыка Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾\n"
+"конкретного пользователÑ."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ИÑпанÑкий"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "ИÑпользовать Unicode по умолчанию"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Обычно у DrakX не возникает проблем Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ количеÑтва кнопок вашей\n"
+"мыши. ЕÑли вÑе-таки у него Ñто не получаетÑÑ, тогда он будет раÑÑматривать\n"
+"вашу мышь как двух-кнопочную и наÑтроит ÑмулÑцию трех кнопок. Ð¢Ñ€ÐµÑ‚ÑŒÑ ÐºÐ½Ð¾Ð¿ÐºÐ°\n"
+"двухкнопочной мыши может быть ``нажата'' одновременным нажатием на левую и\n"
+"правую кнопку. DrakX автоматичеÑки определит какой Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¸Ñпользует\n"
+"ваша мышь: PS/2, serial или USB.\n"
+"\n"
+"ЕÑли у Ð²Ð°Ñ Ñ‚Ñ€ÐµÑ…ÐºÐ½Ð¾Ð¿Ð¾Ñ‡Ð½Ð°Ñ Ð¼Ñ‹ÑˆÑŒ Ñ ÐºÐ¾Ð»ÐµÑиком, вы можете выбрать мышь \"%s\"\n"
+"DrakX тогда наÑтроит вашу мышь Ñ ÑимулÑцией колеÑика. Чтобы воÑпользоватьÑÑ\n"
+" затем колеÑиком, нажимайте Ñреднюю кнопку мыши и двигайте указатель мыши\n"
+"вверх-вниз.\n"
+"\n"
+"ЕÑли, по каким-либо причинам, вы желаете указать другой тип мыши, выберите\n"
+"нужную мышь из предоÑтавленного ÑпиÑка.\n"
+"\n"
+"Ð’Ñ‹ можете выбрать пункт \"%s\" Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° типа мыши ``generic'', который "
+"будет\n"
+"работать практичеÑки Ñ Ð»ÑŽÐ±Ð¾Ð¹ мышью.\n"
+"\n"
+"ЕÑли вы выбираете другую мышь, отличную от выбранной по умолчанию, поÑвитÑÑ\n"
+"теÑтовый Ñкран. Понажимайте кнопки и покрутите колеÑико Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸\n"
+"правильноÑти наÑтроек и того, что мышь работает корректно. ЕÑли мышь ведет\n"
+"ÑÐµÐ±Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾, нажмите пробел или клавишу [Return], чтобы отменить\n"
+"теÑтирование и вернутьÑÑ Ðº ÑпиÑку мышей.\n"
+"\n"
+"Мыши Ñ ÐºÐ¾Ð»ÐµÑиками иногда автоматичеÑки не определÑÑŽÑ‚ÑÑ. Ð’ Ñтом Ñлучае вам\n"
+"прийдетÑÑ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ñвою мышь из ÑпиÑка. Проверьте, что вы правильно выбрали\n"
+"порт Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸. Когда мышь будет выбрана и нажата кнопка \"%s\",\n"
+"поÑвитÑÑ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ° Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ мыши. Покрутите колеÑико мыши Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸\n"
+"того, что вÑе работает правильно. Как только вы увидите, что колеÑико на\n"
+"Ñкране движетÑÑ Ñинхронно Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñми наÑтоÑщего колеÑика, проверьте также\n"
+"работу кнопок и движение курÑора, который должен двигатьÑÑ Ð¿Ð¾ Ñкрану\n"
+"ÑоответÑтвенно вашим перемещениÑм мыши."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Ñ ÑмулÑцией колеÑика"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "УниверÑальный |Ð›ÑŽÐ±Ð°Ñ PS/2 & USB мышь"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"ПожалуйÑта, выберите правильный порт. Ðапример, порт \"COM1\" под Windows\n"
+"называетÑÑ \"ttyS0\" под GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO и GRUB -- Ñто начальные загрузчики GNU/Linux. Этот шаг обычно\n"
+"полноÑтью автоматизирован. DrakX проанализирует загрузочный (boot) Ñектор\n"
+"диÑка и будет дейÑтвовать ÑоглаÑно тому, что он там найдет:\n"
+"\n"
+" * еÑли найден загрузочный Ñектор Windows, он заменит его на загрузочный\n"
+"Ñектор GRUB/LILO. Следовательно, вы Ñможете загружать и GNU/Linux и другую\n"
+"OS, уÑтановленную на вашей машине.\n"
+"\n"
+" * еÑли найден загрузочный Ñектор GRUB или LILO, он заменит его на новый.\n"
+"\n"
+"ЕÑли возникают ÑомнениÑ, DrakX ÑпроÑит Ð²Ð°Ñ ÐºÑƒÐ´Ð° размеÑтить загрузчик. Ð’\n"
+"общем Ñлучае, \"%s\" Ñто лучший вариант выбора. ЕÑли выбрать \"%s\", тогда\n"
+"начальный загрузчик не будет уÑтановлен вообще. ИÑпользуйте Ñтот вариант\n"
+"только еÑли вы знаете, что вы делаете."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Теперь пришло Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ÑиÑтему печати Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ компьютера. Другие ОС\n"
+"могут предложить вам одну, а Mageia предлагает две. ÐšÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· ÑиÑтем\n"
+"ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐµÐ¹ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¹ конфигурации.\n"
+"\n"
+" * \"%s\" -- что означает ``печатать, не Ñтавить в очередь'' (``print,\n"
+"do not queue''), Ñто удобный вариант, еÑли вы напрÑмую подключены к Ñвоему\n"
+"принтеру, вы хотите избежать проблем Ñ Ð·Ð°Ð¶ÐµÐ²Ñ‹Ð²Ð°Ð½Ð¸ÐµÐ¼ бумаги, и у Ð²Ð°Ñ Ð½ÐµÑ‚\n"
+"Ñетевых принтеров. (\"%s\" Ñможет ÑправитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¾Ñ‡ÐµÐ½ÑŒ проÑтыми\n"
+"реализациÑми Ñетей и ÑвлÑетÑÑ Ð´Ð»Ñ Ð½Ð¸Ñ… довольно медленным.) РекомендуетÑÑ\n"
+"иÑпользовать \"pdq \" в Ñлучае, еÑли вы только начинаете Ñвой путь в\n"
+"GNU/Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'' (ÐžÐ±Ñ‰Ð°Ñ ÑиÑтема печати Unix),\n"
+"Ñто превоÑÑ…Ð¾Ð´Ð½Ð°Ñ Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ на вашем локальном принтере, а также на половине\n"
+"вÑей планеты. Она проÑта в наÑтройке и может выÑтупать в качеÑтве Ñервера\n"
+"или клиента Ð´Ð»Ñ Ð´Ñ€ÐµÐ²Ð½Ð¸Ñ… ÑиÑтем печати \"lpd \", поÑтому она ÑовмеÑтима Ñ\n"
+"ранее выпущенными ÑиÑтемами, которым возможно еще требуютÑÑ Ñлужбы печати.\n"
+"ÐеÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° вÑÑŽ Ñвою мощь, базовые наÑтройки у нее проще чем у \"pdq\".\n"
+"ЕÑли вам нужно Ñмулировать \"lpd\", вы должны включить демон \"cups-lpd \".\n"
+"\"%s\" имеет графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ или выбора параметров\n"
+"принтера и Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ñ‚ÐµÑ€Ð¾Ð¼.\n"
+"\n"
+"ЕÑли вы Ñделаете Ñвой выбор ÑейчаÑ, а позже обнаружите, что ÑиÑтема печати\n"
+"вам не подходит, вы Ñможете изменить ее, запуÑтив PrinterDrake из Центра\n"
+"ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Mageia и нажав на кнопку \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ЭкÑперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Сначала DrakX определит любые IDE уÑтройÑтва, приÑутÑтвующие в вашей\n"
+"ÑиÑтеме. Также он проверит наличие одной или больше PCI SCSI карт в\n"
+"ÑиÑтеме. ЕÑли будет найдена SCSI карта, DrakX автоматичеÑки уÑтановит\n"
+"ÑоответÑтвующий драйвер.\n"
+"\n"
+"Так как обнаружение аппаратного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð½Ðµ вÑегда ошибкоуÑтойчиво,\n"
+"DrakX может не ÑправитьÑÑ Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ ваших жеÑтких диÑков. ЕÑли Ñто\n"
+"ÑлучитÑÑ, тогда вам прийдетÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ указать ему оборудование.\n"
+"\n"
+"ЕÑли вам пришлоÑÑŒ вручную указать PCI SCSI адаптер, DrakX ÑпроÑит ваÑ,\n"
+"хотите ли вы наÑтроить его параметры. Ð’Ñ‹ должны разрешить DrakX проверить\n"
+"ÑпецифичеÑкие Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ опции, которые нужны Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ адаптера.\n"
+"Обычно DrakX проходит Ñтот шаг без проблем.\n"
+"\n"
+"ЕÑли DrakX не в ÑоÑтоÑнии автоматичеÑки определить, какие параметры нужны\n"
+"оборудованию, вам прийдетÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ наÑтроить драйвер."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": еÑли в вашей ÑиÑтеме найдена Ð·Ð²ÑƒÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°, здеÑÑŒ Ñто будет\n"
+"показано. ЕÑли вы увидите, что Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð·Ð²ÑƒÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° не ÑоответÑтвует\n"
+"тому, что у Ð²Ð°Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾ еÑть в ÑиÑтеме, вы можете нажать на кнопку и\n"
+"выбрать другой драйвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Ð’ качеÑтве обзора DrakX предÑтавит Ñводку имеющейÑÑ Ñƒ него различной\n"
+"информации о вашей ÑиÑтеме. Ð’ завиÑимоÑти от уÑтановленного у ваÑ\n"
+"оборудованиÑ, вы можете увидеть вÑе или некоторые из Ñледующих пунктов.\n"
+"Каждый пункт ÑоÑтоит из конфигурационных Ñлементов Ð´Ð»Ñ Ð½Ð°Ñтройки,\n"
+"Ñопровождаемых небольшой Ñводкой о текущей конфигурации. Ðажмите на\n"
+"ÑоответÑтвующую кнопку \"%s\", чтобы изменить наÑтройки.\n"
+"\n"
+" * \"%s\": проверьте текущую наÑтройку раÑкладки клавиатуры и Ñделайте\n"
+"поправку еÑли необходимо.\n"
+"\n"
+" * \"%s\": проверьте текущий выбор Ñтраны ЕÑли вы находитеÑÑŒ не в Ñтой\n"
+"Ñтране, нажмите на кнопку \"%s\" и выберите другую. ЕÑли ваша Ñтрана не\n"
+"приÑутÑтвует в первом показанном ÑпиÑке, нажмите кнопку \"%s\", чтобы\n"
+"увидеть полный ÑпиÑок.\n"
+"\n"
+" * \"%s\": По умолчанию, DrakX выбирает чаÑовой поÑÑ, оÑновываÑÑÑŒ на\n"
+"выбранной вами Ñтране. Ð’Ñ‹ можете здеÑÑŒ нажать на кнопку \"%s\", еÑли\n"
+"выбранное неверно.\n"
+"\n"
+" * \"%s\": проверьте текущую конфигурацию мыши и нажмите на кнопку, еÑли\n"
+"необходимо что-либо изменить.\n"
+"\n"
+" * \"%s\": еÑли в вашей ÑиÑтеме найдена Ð·Ð²ÑƒÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°, здеÑÑŒ Ñто будет\n"
+"показано. ЕÑли вы увидите, что Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð·Ð²ÑƒÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° не ÑоответÑтвует\n"
+"тому, что у Ð²Ð°Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾ еÑть в ÑиÑтеме, вы можете нажать на кнопку и\n"
+"выбрать другой драйвер.\n"
+"\n"
+" * \"%s\": еÑли в вашей ÑиÑтеме была обнаружена TV карта, она будет здеÑÑŒ\n"
+"показана. ЕÑли у Ð²Ð°Ñ ÐµÑть TV карта, но она не была определена, нажмите на\n"
+"кнопку \"%s\" и попробуйте наÑтроить ее вручную.\n"
+"\n"
+" * \"%s\": вы можете кликнуть по \"%s\" чтобы изменить ÑвÑзанные Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹\n"
+" параметры еÑли Ñчитаете что наÑтройка неверна\n"
+"\n"
+" * \"%s\": по умолчанию DrakX наÑтраивает ваш графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð°\n"
+"разрешение \"800x600\" или \"1024x768\". ЕÑли Ð²Ð°Ñ Ñто не уÑтраивает,\n"
+"нажмите \"%s\" Ð´Ð»Ñ Ð²Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в конфигурацию вашего графичеÑкого\n"
+"интерфейÑа.\n"
+"\n"
+" * \"%s\": еÑли вы хотите наÑтроить доÑтуп в Интернет или локальную Ñеть\n"
+"прÑмо ÑейчаÑ. ОбратитеÑÑŒ к печатной документации или иÑпользуйте\n"
+"Центр ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Mageia поÑле уÑтановки чтобы почитать\n"
+"вÑтроенную Ñправку.\n"
+"\n"
+" * \"%s\": позволÑет наÑтроить адреÑа HTTP и FTP прокÑи еÑли машина,\n"
+"которую вы наÑтраиваете, будет работать за прокÑи-Ñервером.\n"
+"\n"
+" * \"%s\": Ñтот пункт предлагает вам переопределить уровень безопаÑноÑти\n"
+"как Ñто делалоÑÑŒ на предыдущем шаге ().\n"
+"\n"
+" * \"%s\": еÑли вы ÑобираетеÑÑŒ подключать вашу машину к Интернет, неплохой\n"
+"идеей будет защитить ÑÐµÐ±Ñ Ð¾Ñ‚ вторжений извне, уÑтановив файервол.\n"
+"Прочитайте ÑоответÑтвующий раздел книги ``Стартовое руководÑтво\n"
+"пользователÑ'', где опиÑаны детали наÑтройки файервола.\n"
+"\n"
+" * \"%s\": еÑли вы желаете изменить конфигурацию начального загрузчика,\n"
+"нажмите Ñту кнопку. Эта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð° Ð´Ð»Ñ Ð¾Ð¿Ñ‹Ñ‚Ð½Ñ‹Ñ… пользователей.\n"
+"ОбратитеÑÑŒ к печатной документации или вÑтроенной Ñправке о наÑтройке\n"
+"загрузчика в Центре ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Mageia.\n"
+" * \"%s\": здеÑÑŒ вы Ñможете проконтролировать какие Ñлужбы будут запущены\n"
+"на вашей машине. ЕÑли ваша машина будет Ñервером, вам Ñтоит проверить Ñти\n"
+"уÑтановки."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-карта"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "карта ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ГрафичеÑкий ИнтерфейÑ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Выберите жеÑткий диÑк, который нужно очиÑтить Ð´Ð»Ñ Ð¸Ð½ÑталлÑции вашего нового\n"
+"раздела Mageia. Будьте оÑторожны, вÑе данные на нем будут потерÑны\n"
+"и их Ð½ÐµÐ»ÑŒÐ·Ñ Ð±ÑƒÐ´ÐµÑ‚ воÑÑтановить!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Ðажмите \"%s\", еÑли вы хотите удалить вÑе данные и разделы на данном\n"
+"жеÑтком диÑке. Будьте оÑторожны, потому что поÑле Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ \"%s\" вы не\n"
+"Ñможете воÑÑтановить данные и разделы на Ñтом диÑке, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð´Ð°Ð½Ð½Ñ‹Ðµ\n"
+"Windows.\n"
+"\n"
+"Ðажмите \"%s\" Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ Ñтой операции без потери данных и разделов на\n"
+"данном жеÑтком диÑке."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далее ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ðазад"
diff --git a/perl-install/install/help/po/sc.po b/perl-install/install/help/po/sc.po
new file mode 100644
index 000000000..e23d39d6d
--- /dev/null
+++ b/perl-install/install/help/po/sc.po
@@ -0,0 +1,1115 @@
+# translation of DrakX-sc.po to Sardu
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Antoni Pistis <antonio.pistis@virgilio.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-09-14 11:29+0100\n"
+"Last-Translator: Antoni Pistis <antonio.pistis@virgilio.it>\n"
+"Language-Team: Sardu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bolis a tenni custa possibilidadi?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ajorronu"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Cun documentadura fundamentali"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Aposentadura minimali diaderus"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependèntzias automàtigas"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronisadura automàtiga"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Imprea pratzidura de imoi"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Burra totu su discu"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Crea floppy de aposentadura automàtiga"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Aministradori de Siguresa"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Càrrigu automàtigu de mèdius arremoviditzus"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spannyolu"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "cun emuladura de Arroda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universali | Dònnia sòrixi PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Spertu"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Skeda ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Skeda ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaci Gràfiga"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sighi ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Agoa"
+
+#~ msgid "authentication"
+#~ msgstr "autentigadura"
diff --git a/perl-install/install/help/po/sk.po b/perl-install/install/help/po/sk.po
new file mode 100644
index 000000000..8289d938a
--- /dev/null
+++ b/perl-install/install/help/po/sk.po
@@ -0,0 +1,2081 @@
+# Jan Matis <damned@hq.alert.sk>, 2000.
+# Pavol Cvengros <orpheus@hq.alert.sk>, 2000.
+# Michal Holes <Michal@Holes.sk>, 2004,2005.
+# Tibor Pittich <Tibor.Pittich@phuture.sk>, 2002,2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-09-21 14:03+0100\n"
+"Last-Translator: Tibor Pittich <Tibor.Pittich@mandriva.org>\n"
+"Language-Team: <i18n@mandrake.sk>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pred tým než budete pokraÄovaÅ¥, mali by ste si pozorne preÄítaÅ¥\n"
+"licenÄné podmienky. Pokrývajú celú distribúciu Mageia\n"
+"Ak súhlasíte so vÅ¡etkými jej bodmi kliknite na tlaÄidlo \"%s\".\n"
+"Ak nesúhlasíte kliknite na tlaÄidlo \"%s\" a váš poÄítaÄ bude reÅ¡tartovaný."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je viacpoužívateľský systém Äo znamená, že každý používateľ má\n"
+"vlastné nastavenia, vlastné súbory a podobne. Môžete si preÄítaÅ¥ "
+"\"Používateľskú\n"
+"príruÄku\" pre podrobnejÅ¡ie informácie o viacpoužívateľských systémoch.\n"
+"S výnimkou \"root\"a, ktorý je administrátor systému, používatelia ktorí "
+"budú na tomto\n"
+"mieste pridaní používatelia nemôžu meniÅ¥ alebo zmazaÅ¥ Äokoľvek s výnimkou "
+"svojich vlastných\n"
+"údajov a konfigurácií. Mali by ste vytvoriť minimálne jedného regulárneho\n"
+"používateľa pre seba. Toto konto by ste mali používať pre bežnú rutinnú "
+"prácu.\n"
+"Aj keÄ sa zdá byÅ¥ praktické prihlasovaÅ¥ ako \"root\" zakaždým, je to veľmi\n"
+"nebezpeÄné! Aj najmenší omyl môže viesÅ¥ k tomu, že váš aktuálny systém už\n"
+"nebude nikdy použiteľný. Ak sa vám podarí spraviť omyl ako bežnému "
+"používateľovi,\n"
+"môžete prísť o niektoré údaje, ale nepodarí sa vám poškodiť celý systém.\n"
+"\n"
+"Najprv by ste mali zadaÅ¥ vaÅ¡e skutoÄné meno. Samozrejme, toto nie je\n"
+"povinnosť, môžete zadať ľubovoľné meno. DrakX potom použije prvé\n"
+"slovo z mena, ktoré ste zadali a toto vám ponúkne ako \"%s\".\n"
+"Toto môže byť prihlasovacie meno tohto bežného používateľa. Tiež by ste na\n"
+"tomto mieste mali zadať heslo. Heslo bežného (neprivilegovaného) "
+"používateľa\n"
+"nie je také kritické ako heslo superpoužívateľa \"root\"a z pohľadu "
+"bezpeÄnosti,\n"
+"ale nie je dôvod toto heslo podceniť, pretože všetky jeho súbory môžu byť\n"
+"v nebezpeÄenstve.\n"
+"\n"
+"Ak kliknete na \"%s\", môžete pridaÅ¥ aj Äalších používateľov\n"
+"ak si to želáte (VaÅ¡ich priateľov, otca, sestru a podobne). Ak ste skonÄili\n"
+"s pridávaním, zvoľte \"%s\".\n"
+"\n"
+"Kliknutím na \"%s\" môžete zmeniť predvolený \"interpreter\" pre daného\n"
+"používateľa (štandardne bash).\n"
+"\n"
+"Ak ste skonÄili s pridávaním používateľov, v nasledovnom kroku budete môcÅ¥\n"
+"nastaviť používateľa, ktorý bude automaticky prihlásený do systému po "
+"naštartovaní.\n"
+"Ak vás zaujíma táto možnosÅ¥ (a nezáleží vám na lokálnej bezpeÄnosti), zvoľte "
+"si\n"
+"požadovaného používateľa a správcu okien, potom kliknite na \"%s\".\n"
+"Ak nemáte záujem používaÅ¥ túto možnosÅ¥, odznaÄte položku \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Chcete použiť túto možnosť?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Tu je zoznam oblastí s existujúcimi Linux oddielmi, ktoré boli zdetekované\n"
+"na vaÅ¡om disku. Môžete zachovaÅ¥ nastavenia vygenerované sprievodcom, Äo\n"
+"môže byť vhodné pre bežné inštalácie. Ak chcete vykonať zmeny, najprv "
+"musíte\n"
+"definovať hlavný oddiel (\"/\"). Nevoľte si príliš malý oddiel, pretože vám "
+"nemusí\n"
+"byť umožnené inštalovať všetok softvér, ktorý by ste si želali. Ak budete "
+"chcieť\n"
+"ukladať používateľské údaje na iný oddiel, bude potrebné vytvoriť oddiel\n"
+"pre \"/home\" oblasť (to je možné ak máte spolu k dispozícii viac ako jeden\n"
+"Linux oddiel).\n"
+"\n"
+"Všetky oddiely sú zobrazené s nasledovnými údajmi: \"Meno\", \"Kapacita\".\n"
+"\n"
+"\"Meno\" je vytvorené ako: \"typ disku\", \"Äíslo disku\", \"Äíslo oddielu"
+"\"\n"
+"(napríklad \"hda1\").\n"
+"\n"
+"\"Typ disku\" je vždy písmeno za \"hd\" alebo \"sd\". V prípade IDE\n"
+"diskov:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárnom IDE radiÄi\";\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárnom IDE radiÄi\";\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárnom IDE radiÄi\";\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárnom IDE radiÄi\".\n"
+"\n"
+"Pri SCSI diskoch \"a\" znamená \"najnižšie SCSI ID\", \"b\" znemaná\n"
+"\"druhé najnižšie SCSI ID\" a tak Äalej."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Inštalácia Mageiau je distribuovaná na viacerých CD-ROM diskoch. DrakX\n"
+"vie zistiť, ak je vybraný balík umiestnený na inom CD-ROM disku, vysunie\n"
+"aktuálne CD a vypýta si od vás to ktoré je práve potrebné. Ak toto CD "
+"nemáte, kliknite na \"%s\" a požadovaný balík nebude nainštalovaný."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Teraz je možné vybrať, ktoré programy chcete nainštalovať na váš systém.\n"
+"Mageia obsahuje tisíce balÄkov s programami. Pre jednoduchÅ¡iu orientáciu\n"
+"boly rozdelené do skupín, ktoré združujú podobné aplikácie.\n"
+"\n"
+"BalíÄky sú rozdelené do skupín, ktoré zodpovedajú tomu, ako ich "
+"najÄastejÅ¡ie\n"
+"poÄítaÄ používa. Skupiny sú umiestnené do Å¡tyroch sekcií. Výber aplikácií\n"
+"z týchto sekcií možno rôzne kombinovať, takže môžete mať nainštalovanú celú "
+"sekciu\n"
+"\"Pracovná stanica\" a k nej ÄalÅ¡ie aplikácie zo sekcie \"Server\".\n"
+"\n"
+" * \"%s\": ak plánujete poÄítaÄ používaÅ¥ hlavne na \n"
+"bežnú prácu, vyberte si balíÄky zo skupín kategórie pracovná stanica.\n"
+"\n"
+" * \"%s\": ak budete na poÄítaÄi programovaÅ¥, môžete si z tejto\n"
+"sekcie vybraÅ¥ ÄalÅ¡ie skupiny. Zvláštna skupina \"LSB\" nastaví váš systém "
+"tak,\n"
+"aby Äo najviac zodpovedal Å¡pecifikácii Linux Standard Base.\n"
+"\n"
+" Výber skupiny \"LSB\" tiež nainštaluje jadro rady\"2.4\" namiesto "
+"východzieho\n"
+"jadra rady \"2.6\", pre zaistenie úplnej kompatibility so špecifikáciou "
+"LSB . Aj ak ale\n"
+"skupinu LSB nevyberiete, bude systém takmer úplne špecifikácii zodpovedať\n"
+" * \"%s\":ak bude poÄítaÄ fungovaÅ¥ ako server, máte možnosÅ¥\n"
+"vybrať si najbežnejšie služby, ktoré chcete nainštalovať.\n"
+"\n"
+" * \"%s\": ak uprednostňujete grafické prostredie, tu je\n"
+"ponuka niekoľkých prostredí, z ktorej si musíte vybrať, najmenej jedno\n"
+"aby bolo možné grafické prostredie nainštalovať.\n"
+"\n"
+"Ak prejdete myšou nad skupinou, objaví sa krátky text, ktorý vysvetľuje,\n"
+"Äo je obsahom danej skupiny.\n"
+"\n"
+"Ak zvolíte voľbu \"%s\", zobrazí sa zoznam všetkých\n"
+"balíÄkov, ktoré možno nainÅ¡talovaÅ¥. To je užitoÄné v prípade, že chcete\n"
+"maÅ¥ absolútnu kontrolu nad tým, Äo sa bude inÅ¡talovaÅ¥\n"
+"\n"
+"Ak ste spustili inštaláciu v režime \"%s\", môžete zrušiť výber\n"
+"daných skupín, Äím zabránite inÅ¡talácii nových balíÄkov. To je užitoÄné\n"
+"v prípade opravy alebo aktualizácie existujúceho systému.\n"
+"\n"
+"Ak nevyberiete pri bežnej inštalácii žiadnu skupinu (na rozdiel od\n"
+"aktualizácie), zobrazí sa otázka na inštaláciu niekoľkých typov minimálnej "
+"inštalácie:\n"
+"\n"
+" * \"%s\" Vykoná inÅ¡taláciu najmenÅ¡ieho možného poÄtu balíÄkou s podporou "
+"grafického prostredia.\n"
+"\n"
+" * \"%s\" Nainštaluje systém so základnými programami a ich dokumentáciou. \n"
+"Tento typ je vhodný pre inštaláciu servera.\n"
+"\n"
+" * \"%s\" Nainštaluje sa naozaj najmenšie možné minimum, aby bolo\n"
+"možné používať Linux z príkazového riadku. Inštalácia zaberie asi\n"
+"65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualizácia"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "So základnou dokumentáciou"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "SkutoÄne minimálna inÅ¡talácia"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Nakoniec, v závislosti na tom Äi ste si vybrali výber jednotlivých balíkov,\n"
+"bude zobrazená stromová štruktúra obsahujúca všetky balíky zoradené podľa\n"
+"skupín a podskupín. PoÄas prehliadania stromu môžete oznaÄiÅ¥ celú skupinu,\n"
+"podskupinu, ale aj jednotlivé balíky.\n"
+"\n"
+"Vždy, keÄ vyberiete niektorý balík zo stromu, vpravo sa zobrazí jeho popis,\n"
+"aby ste vedeli aké je jeho približné použitie.\n"
+"\n"
+"!! Ak boli vybrané balíky, ktoré sú urÄené pre server, buÄ zámerne alebo\n"
+"preto že sú súÄasÅ¥ou celej skupiny, budete musieÅ¥ potvrdiÅ¥, Äi skutoÄne\n"
+"chcete tieto služby nainštalovať. V prípade Mageiau, sú štandardne všetky\n"
+"nainÅ¡talované služby spúšťané pri Å¡tarte systému. Aj keÄ sú bezpeÄné\n"
+"a v Äase keÄ bola distribúcia vydaná neobsahovali žiadne známe problémy\n"
+"je možné, že tieto bezpeÄnostné problémy budú odhalené až po dokonÄení\n"
+"tejto verzie Mageiau. Ak neviete Äo jednotlivé servisy znamenajú, alebo\n"
+"preÄo boli nainÅ¡talované tak kliknite na \"%s\". Kliknutím na \"%s\" budú\n"
+"vypísané služby nainštalované a automaticky naštartované pri spustení\n"
+"systému. !!\n"
+"\n"
+"Voľba \"%s\" potlaÄí varovný dialóg, ktorý sa objaví vždy,\n"
+"keÄ inÅ¡talátor automaticky vyberie balíky pre uspokojenie závislostí. "
+"Niektoré\n"
+"balíky majú závislosti medzi sebou alebo vyžadujú prítomnosť iných "
+"programov.\n"
+"Inštalátor dokáže tieto závislosti medzi balíkmy vyriešiť a úspešne tak\n"
+"dokonÄiÅ¥ inÅ¡taláciu.\n"
+"\n"
+"Malá ikona diskety na spodku zoznamu vám umožní naÄítaÅ¥ zoznam balíkov,\n"
+"ktoré boli vybrané pri predchádzajúcej inÅ¡talácii. Toto je užitoÄné ak máte\n"
+"množstvo poÄítaÄov, ktoré si želáte nainÅ¡talovaÅ¥ identicky. Po kliknutí na "
+"túto ikonu\n"
+"budete požiadaní o vloženie diskety, ktorú ste si vytvorili na konci "
+"vzorovej\n"
+"inÅ¡talácie. Pozrite si Äalší tip pri poslednom kroku, ako vytvoriÅ¥ takúto\n"
+"disketu."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatické závislosti"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tento dialóg slúži pre výber služieb, ktoré si želáte spustiť pri štarte\n"
+"systému.\n"
+"\n"
+"DrakX zobrazí všetky služby dostupné pre aktuálnu inštaláciu.\n"
+"Pozorne si ich prezrite a zrušte tie, ktoré nebudete pri štarte systému\n"
+"potrebovať\n"
+"\n"
+"Je možné získaÅ¥ krátky popisný text o danej službe jej oznaÄením.\n"
+"V každom prípade, ak sa neviete uistiť v tom, ktorá zo služieb je pre vás\n"
+"použiteľná, je bezpeÄné ponechaÅ¥ predvolené nastavenie.\n"
+"\n"
+"!! Pri tomto kroku buÄte opatrní ak plánujete používaÅ¥ váš poÄítaÄ ako "
+"server:\n"
+"zrejme nebudete chcieť štartovať všetky služby, napríklad tie, ktoré nebude\n"
+"Váš systém poskytovať. Nezabudnite, že mnohé služby môžu byť\n"
+"pre server nebezpeÄné. Zvoľte si skutoÄne iba služby, ktoré naozaj "
+"potrebujete.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux spracováva Äas v GMT (Greenwichský Äas) a transformuje ho do\n"
+"lokálneho Äasu v závislosti od nastavenej Äasovej zóny. Ak je Äas na vaÅ¡ej\n"
+"matiÄnej doske nastavený ako lokálny Äas, môžete toto deaktivovaÅ¥ "
+"odznaÄením\n"
+"\"%s\" následkom Äoho bude systém vedieÅ¥, že hardvérové hodiny sú nastavené\n"
+"tak, že zodpovedajú Äasovej zóne. Toto je užitoÄné, ak na poÄítaÄi "
+"prevádzkujete\n"
+"zároveň aj iný operaÄný systém.\n"
+"\n"
+"Nastavenie \"%s\" dokáže automaticky dolaÄovaÅ¥ hodiny na základe pripojenia\n"
+"k vzdialenému Äasovému serveru v Internete. Pre správnu funkcionalitu tejto "
+"možnosti\n"
+"je potrebné, aby ste mali funkÄné pripojenie k Internetu. Je vhodné vybraÅ¥ "
+"si Äasový\n"
+"server, ktorý je vo vaÅ¡ej blízkosti. Táto voľba tiež nainÅ¡taluje Äasový "
+"server, ktorý je\n"
+"potom možné používať aj vo vašej lokálnej sieti."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatická synchronizácia Äasu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafická karta\n"
+"\n"
+" InÅ¡talátor obyÄajne dokáže zdetekovaÅ¥ a nakonfigurovaÅ¥ grafickú kartu\n"
+"vo vaÅ¡om poÄítaÄi. Ak tomu tak nie je vo vaÅ¡om prípade, môžete si\n"
+"vybrať zo zoznamu kartu, ktorú aktuálne používate.\n"
+"\n"
+" V prípade dostupnosti viacerých serverov pre vašu kartu, s alebo bez\n"
+"3D akcelerácie si budete musieť vybrať server, ktorý bude zodpovedať vašim\n"
+"požiadavkám."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window System) je srdcom grafického rozhrania GNU/Linux systému\n"
+"spolu so všetkými grafickými prostrediami (KDE, GNOME, AfterStep,\n"
+"WindowMaked, atÄ.) distribuovanými s Mageia systémom.\n"
+"\n"
+"Zmenou nasledovných parametrov môžete dosiahnuť optimálne nastavenie\n"
+"vášho grafického systému.\n"
+"\n"
+"Grafická karta\n"
+"\n"
+" Inštalátor dokáže za normálnych okolností zdetekovať a nakonfigurovať\n"
+"grafickú kartu vo vašom systéme. Ak neprebehla autodetekcia správne, môžete\n"
+"si vybrať v tomto zozname kartu, ktorú práve používate.\n"
+"\n"
+" V prípade, že je dostupných viacero serverov pre vašu grafickú kartu,\n"
+"s alebo bez 3D akcelerácie, budete si musieť vybrať server, ktorý bude "
+"zodpovedať vašim požiadavkám.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Inštalátor bežne dokáže automaticky zdetekovať a nastaviť monitor\n"
+"ktorý je pripojený k vášmu poÄítaÄu. Ak neprebehla autodetekcia\n"
+"správn môžete si vybrať zo zoznamu monitor, ktorý používate.\n"
+"\n"
+"\n"
+"\n"
+"Rozlíšenie\n"
+"\n"
+" Môžete si vybrať rozlíšenie a farebnú hĺbku medzi tými, ktoré sú "
+"dostupné\n"
+"pre váš hardvér. Vyberte si takú, aká Äo najlepÅ¡ie vyhovuje vaÅ¡im potrebám\n"
+"(tieto hodnoty budete môcť zmeniť aj po inštalácii). Ukážka zvolenej\n"
+"konfigurácie bude zobrazená na vašom monitore.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" systém sa pokúsi nastaviť grafický mód vo zvolenom rozlíšení. Ak budete "
+"môcť vidieť\n"
+"správu a odpoviete na na ňu \"%s\", DrakX bude pokraÄovaÅ¥ nasledujúcim\n"
+"krokom. Ak nebudete vidieÅ¥ túto správu, bude to znamenaÅ¥, že niektorá ÄasÅ¥ "
+"autodetekcie\n"
+"neprebehla úspeÅ¡ne. Test sa automaticky ukonÄí po 12 sekundách a znovu sa "
+"vám zobrazí\n"
+"menu. Skúste meniť nastavenie dovtedy, kým nezískate korektne nastavený "
+"grafický displej.\n"
+"\n"
+"\n"
+"\n"
+"Nastavenia\n"
+"\n"
+" Na tomto mieste môžete nastaviÅ¥,Äi váš poÄítaÄ má po Å¡tarte prejsÅ¥ \n"
+"automaticky do grafického režimu. Pravdepodobne budete musieÅ¥ oznaÄiÅ¥ \"%s\" "
+"ak váš systém\n"
+"bude prevádzkovaný ako server alebo ak sa vám nepodarilo uspokojivo "
+"nakonfigurovať\n"
+"grafické rozhranie."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Inštalátor dokáže automaticky zdetekovať monitor, ktorý je pripojený\n"
+"k vášmu poÄítaÄu. Ak monitor nebol správne zdetekovaný máte možnosÅ¥\n"
+"vybrať si zo zoznamu monitor, ktorý máte aktuálne pripojený."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozlíšenie\n"
+"\n"
+" Tu si môžete vybrať rozlíšenie a farebnú hĺbku medzi tými, ktoré sú\n"
+"dostupné pre váš hardvér. Vyberte si jedno, ktoré najviac vyhovuje vašim\n"
+"potrebám (toto nastavenie budete môcť po inštalácii zmeniť). Ukážka "
+"zvolenej\n"
+"konfigurácie bude odskúšaná na vašom monitore."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"V prípade, že sú k dispozícii rôzne servery pre vašu kartu (s alebo bez\n"
+"3D akcelerácie), bude vám položená otázka s výberom servera, ktorý bude\n"
+"vyhovovať vašim potrebám."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Nastavenia\n"
+"\n"
+" Tu si môžete zvoliÅ¥ Äi si želáte aby bolo hneÄ po spustení použité "
+"grafické\n"
+"rozhranie. Samozrejme, mali by ste odpovedaÅ¥ \"%s\", ak váš poÄítaÄ bude\n"
+"slúžiť ako server alebo ak sa vám nepodarilo správne nakonfigurovať "
+"grafické\n"
+"rozhranie."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Teraz si môžete zvoliť, kam si želáte nainštalovať Mageia\n"
+"na váš disk. Ak je váš disk prázdny alebo ak na ňom\n"
+"už existuje operaÄný systém, ktorý zaberá vÅ¡etko dostupné miesto, bude\n"
+"potrebné ho prerozdeliť. Prerozdeľovanie pozostáva z logického\n"
+"rozdelenia disku a vytvorenia priestoru pre novú inštaláciu Mandriva\n"
+"Linux systému.\n"
+"\n"
+"Pretože proces rozdeľovania je nezvratný a môže dôjsť k strate údajov, ak\n"
+"už na poÄítaÄi existuje operaÄný systém; prerozdeľovanie disku môže byÅ¥ pre\n"
+"neskúsených používateľov stresujúce. Našťastie DrakX obsahuje sprievodcu,\n"
+"ktorý tento proces znaÄne zjednoduÅ¡uje. Pred tým ako budete pokraÄovaÅ¥,\n"
+"preÄítajte si celú túto sekciu, uÅ¡etríte si tak zbytoÄné problémy.\n"
+"\n"
+"V závislosti na rozdelení vášho disku vám budú ponúknuté rôzne možnosti:\n"
+"\n"
+" * \"%s\": táto možnosť bude jednoducho viesť k automatickému\n"
+"rozdeleniu vášho voľného miesta na disku(och). Na žiadne ÄalÅ¡ie otázky\n"
+"nebudete musieť odpovedať.\n"
+"\n"
+" * \"%s\": sprievodca rozpoznal jeden alebo viac už existujúcich\n"
+"oddielov pre Linux na vašom pevnom disku. Ak si ho/ich želáte použiť potom\n"
+"si vyberte túto možnosť. Následne budete musieť nastaviť body pripojenia, "
+"ktoré\n"
+"priradíte jednotlivým oddielom. Dôležité body pripojenia budú už štandardne "
+"predvolené\n"
+"a v mnohých prípadoch je dobrý nápad zachovať ich.\n"
+"\n"
+" * \"%s\": ak už máte nainÅ¡talovaný operaÄný systém Microsoft Windows na "
+"vašom\n"
+"pevnom disku a zaberá všetko voľné miesto, ktoré je na ňom k dispozícii, je "
+"potrebné\n"
+"vytvoriť nový Linux oddiel pre uloženie údajov. Môžete teda vymazať takýto\n"
+"Windows oddiel a tam uložené údaje (pozrite ``Vymazať celý disk''') alebo "
+"zmeniť veľkosť vašej\n"
+"Microsoft Windows FAT oblasti. Zmenu veľkosti je možné uskutoÄniÅ¥ bez straty "
+"údajov,\n"
+"po predchádzajúcom defragmentovaní Windows oblasti, ak obsahuje FAT "
+"súborový\n"
+"systém. Je veľmi odporúÄané si najprv odzálohovaÅ¥ údaje. Toto rieÅ¡enie je\n"
+"odporúÄané použiÅ¥ ak si chcete používaÅ¥ spoloÄne Mageia aj Microsoft "
+"Windows\n"
+"na jednom poÄítaÄi.\n"
+"\n"
+" Pred výberom tejto možnosti sa prosím presvedÄte, Äi veľkosÅ¥ MrkvoÅ¡rot "
+"Windows\n"
+"oddielu môže byť ešte menšia ako je momentálne. Budete mať k dispozícii "
+"menej\n"
+"priestoru pre ukladanie vašich údajov alebo inštaláciu nových programov pod\n"
+"Vaším Microsoft Windows systémom.\n"
+"\n"
+" * \"%s\": ak si želáte vymazať všetky údaje a všetky oddiely\n"
+"prítomné na vašom pevnom disku a nahradiť ich vašim novým Mageia\n"
+"systémom, zvoľte si túto voľbu. BuÄte opatrní pri tejto možnosti, pretože "
+"nebude\n"
+"žiadna možnosÅ¥ zvrátiÅ¥ vaÅ¡e rozhodnutie keÄ ho potvrdíte.\n"
+"\n"
+" !! Ak si vyberiete túto možnosť, všetky údaje na vašom disku budú "
+"vymazané. !!\n"
+"\n"
+" * \"%s\": jednoducho bude všetko odstránené z pevného\n"
+"disku a bude potrebné prerozdeliť disk odznova. Všetky údaje na vašom disku\n"
+"budú stratené;\n"
+"\n"
+" !! Ak si vyberiete túto možnosť, všetky údaje na vašom disku budú "
+"stratené. !!\n"
+"\n"
+" * \"%s\": vyberte si túto možnosÅ¥ ak chcete ruÄne rozdeľovaÅ¥ váš\n"
+"pevný disk. BuÄte opatrní - je to veľmi mocná, ale nebezpeÄná voľba a "
+"môžete\n"
+"veľmi jednoducho prísť o všetky vaše údaje. Preto si ju nevyberajte bez "
+"toho\n"
+"aby ste skutoÄne vedeli Äo robíte. Ak chcete vedieÅ¥ bližšie ako používaÅ¥ "
+"nástroj\n"
+"DiskDrake, preÄítajte si ``Menežovanie vaÅ¡ich oblastí'' v ``Používateľskej\n"
+"príruÄke''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Použiť existujúci oddiel"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Vymazať celý disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Hotovo. Inštalácia je teraz kompletná a váš GNU/Linux systém je\n"
+"pripravený na používanie. Iba kliknite na tlaÄidlo \"%s\" pre reÅ¡tart\n"
+"systému. Nezabudnite vybraÅ¥ inÅ¡talaÄné médiá (CD-ROM alebo disketu\n"
+"Prvá vec, ktorú môžete vidieÅ¥ po ukonÄení hardverových testov je\n"
+"menu zavádzaÄa, ktorý vám dáva možnosÅ¥ výberu aký operaÄný systém chcete\n"
+"spustiť.\n"
+"\n"
+"StlaÄením tlaÄidla \"%s\" sa zobrazia dve ÄalÅ¡ie tlaÄidlá:\n"
+"\n"
+" * \"%s\": Äím sa vytvorí disketa, pomocou ktorej môžete automaticky\n"
+"vykonávaÅ¥ celú inÅ¡taláciu bez potreby zásahu, Äiže presne takú istú\n"
+"inštaláciu ako ste práve previedli.\n"
+"\n"
+" VÅ¡imnite si dve rôzne nastavenia po kliknutí na toto tlaÄidlo:\n"
+"\n"
+" * \"%s\". Toto je ÄiastoÄne automatizovaná inÅ¡talácia. Krok\n"
+"rozdeľovanie disku je jediná interaktívna ÄasÅ¥.\n"
+"\n"
+" * \"%s\". Plne automatizovaná inštalácia: pevný disk je kompletne\n"
+"prepísaný, všetky údaje na ňom budú stratené.\n"
+"\n"
+" Táto možnosÅ¥ je veľmi užitoÄná, ak inÅ¡talujete veľké množstvo podobných\n"
+"poÄítaÄov. Pozrite si sekciu venovanú automatickej inÅ¡talácii na naÅ¡ej web "
+"stránke.\n"
+"\n"
+" * \"%s\"(*): uloží výber balíkov tak, ako boli vybrané v tejto\n"
+"inÅ¡talácii. Ak chcete vykonaÅ¥ ÄalÅ¡iu rovnakú inÅ¡taláciu, vložte túto\n"
+"disketu do mechaniky, pri spustení inÅ¡talácie stlaÄte klávesu [F1] a "
+"napíšte:\n"
+">>linux defcfg=\"floppy\" <<.\n"
+"\n"
+"(*) Je potrebné mať pripravenú FAT naformátovanú disketu (pre jej "
+"vytvorenie\n"
+"pod GNU/Linux systémom použite \n"
+"\"mformat a:\", alebo \"fdformat /dev/fd0\" nasledovaný\"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "VygenerovaÅ¥ auto-inÅ¡talaÄnú disketu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ak si zvolíte použitie niektorej existujúcej GNU/Linux partície mali by ste "
+"ju\n"
+"v niektorých prípadoch preformátovať a odstrániť údaje ktoré obsahuje. "
+"Vyberte\n"
+"partície ktoré si želáte preformátovať.\n"
+"\n"
+"Uvedomte si, že nie je nutné opätovne formátovať všetky existujúce oddiely.\n"
+"UrÄite musíte formátovaÅ¥ oddiely obsahujúce operaÄný systém (napríklad \"/"
+"\",\n"
+"\"/usr\" alebo \"/var\" ), nemusíte ale formátovať oddiely obsahujúce "
+"údaje, ktoré\n"
+"chcete zachovať (typicky \"/home\")\n"
+"\n"
+"Pri voľbe oddielov na formátovanie buÄte opatrní. Po naformátovaní budú\n"
+"všetky údaje na zvolených oddieloch zmazané a nebude žiadna možnosť\n"
+"ako ich obnoviť\n"
+"\n"
+"Kliknite na \"%s\" ak ste pripravený formátovať vybrané oddiely.\n"
+"\n"
+"Kliknite na \"%s\" ak si chcete zvoliť iné oddiely pre inštaláciu vášho\n"
+"nového Mageia systému.\n"
+"\n"
+"Kliknite na \"%s\" ak si chcete vybrať oddiely, ktoré budú kontrolované\n"
+"na prítomnosť chybných blokov na disku."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Po nainštalovaní Mageia systému je pravdepodobné, že niektoré\n"
+"balíky ktoré sa nachádzali v distribúcii, nezodpovedajú ich aktuálnym\n"
+"verziám. Môžu v nich byÅ¥ opravené chyby alebo bezpeÄnostné nedostatky.\n"
+"Aby ste mohli tieto opravy aplikovať, budete si ich teraz môcť stiahnuť\n"
+"z Internetu. Vyberte \"%s\" ak máte fungujúce pripojenie k Internetu, alebo\n"
+"\"%s\" ak chcete opravy aplikovať neskôr.\n"
+"\n"
+"Zvolením \"%s\" sa zobrazí zoznam miest z ktorých je možné získať opravy.\n"
+"Vyberte si vám najbližšie a zobrazí sa vám výber balíkov: prezrite si výber\n"
+"a kliknite na \"%s\" pre získanie a inštaláciu vybraných balíkov, alebo si "
+"vyberte\n"
+"\"%s\" pre zrušenie."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Na tomto mieste vám DrakX umožňuje nastaviÅ¥ bezpeÄnostnú úroveň pre\n"
+"tento poÄítaÄ. Ako pomôcku môžete použiÅ¥ pravidlo, že Äím dôležitejÅ¡ie\n"
+"údaje váš systém obsahuje alebo ak bude pripojený do Internetu, tým vyššia\n"
+"úroveň by mala byť zvolená. Treba si uvedomiť, že so zvyšovaním "
+"bezpeÄnostnej\n"
+"úrovne sa znižuje pohodlie používania.\n"
+"\n"
+"Ak si neviete vybrať, ponechajte štandardné nastavenie.Budete ju však\n"
+"maÅ¥ možnosÅ¥ zmeniÅ¥ pomocou programu drakcec, ktorý je súÄasÅ¥ou\n"
+"Kontrolného Centra Mageiau\n"
+"\n"
+"Do políÄka \"%s\" zadajte e-mailovú adresu osoby zodpovednej za\n"
+"bezpeÄnosÅ¥ vášho PC. Na túto adresu budú zasielané\n"
+"bezpeÄnostné upozornenia. "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "BezpeÄnostný administrátor"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Na tomto mieste je potrebné aby ste si vybrali oblasti, ktoré budú použité\n"
+"na inštaláciu Mageiau. Ak už boli oddiely definované,\n"
+"napríklad pri predchádzajúcej inštalácii GNU/Linux-u alebo iným nástrojom\n"
+"pre správu oblastí, môžete použiť už existujúce oblasti. Inak musia byť\n"
+"oblasti teraz definované.\n"
+"\n"
+"Pre vytvorenie oddielu si najprv musíte vybrať pevný disk. To dosiahnete\n"
+"kliknutím na ``hda'' pre prvý IDE disk, ``hdb'' pre druhý, ``sda'' je prvý "
+"SCSI\n"
+"disk a podobne.\n"
+"\n"
+"Pri rozdeľovaní vybraného disku je možné použiť tieto možnosti:\n"
+"\n"
+" * \"%s\": táto voľba vymaže všetky oblasti na vybranom pevnom\n"
+"disku\n"
+"\n"
+" * \"%s\": táto voľba umožní automatické vytvorenie ext4\n"
+"a swap oblasti na voľnom mieste vášho disku\n"
+"\n"
+" * \"%s\": získate prístup k rozšíreným možnostiam:\n"
+"\n"
+" * \"%s\": uložiť tabuľku rozdelenia na disketu.\n"
+"Vhodné pre neskoršiu obnovu tabuľky, ak to bude potrebné. Je veľmi\n"
+"odporúÄané aby ste absolvovali tento krok.\n"
+"\n"
+" * \"%s\": umožňuje obnoviť predtým uloženú tabuľku\n"
+"z diskety.\n"
+"\n"
+" * \"%s\": ak je vaÅ¡a tabuľka rozdelenia disku zniÄená,\n"
+"môžete sa pokúsiÅ¥ zachrániÅ¥ ju použitím tejto možnosti. BuÄte opatrní a "
+"pamätajte si, že\n"
+"sa to nemusí podariť.\n"
+"\n"
+" * \"%s\": zruÅ¡iÅ¥ vÅ¡etky zmeny a naÄítaÅ¥ znova pôvodnú tabuľku rozdelenia\n"
+"disku.\n"
+"\n"
+" * \"%s\": odznaÄením tejto možnosti prinútite používateľov k manuálnemu\n"
+"pripájaniu a odpájaniu vymeniteľných médií ako napríklad diskety alebo CD-"
+"ROM\n"
+"médiá.\n"
+"\n"
+" * \"%s\": použite toto nastavenie ak si želáte použiť sprievodcu pre "
+"rozdelenie\n"
+"Vášho disku. Táto možnosÅ¥ je doporuÄená ak nemáte dobré znalosti o "
+"rozdeľovaní\n"
+"pevného disku.\n"
+"\n"
+" * \"%s\": použite túto možnosť pre zrušenie vašich zmien.\n"
+"\n"
+" * \"%s\": umožňuje uskutoÄniÅ¥ ÄalÅ¡ie akcie na oblastiach (typ, voľby, "
+"formátovanie)\n"
+"priÄom sú vypisované podrobnejÅ¡ie informácie.\n"
+"\n"
+" * \"%s\": ak ste skonÄili s rozdeľovaním vášho pevného disku, táto voľba\n"
+"uloží vaše zmeny na disk.\n"
+"\n"
+"Ak ste definovali veľkosť partícií, môžete ešte donastaviť veľkosť týchto "
+"partícií\n"
+"pomocou šípiek na klávesnici.\n"
+"\n"
+"Poznámka: je možné dosiahnuť všetky voľby a nastavenia pomocou klávesnice. "
+"Výber\n"
+"oblastí za použitia [Tab] a [Hore/Dole] šípiek.\n"
+"\n"
+"Ak je oblasť vybraná, je možné použiť:\n"
+"\n"
+" * Ctrl-c pre vytvorenie novej oblasti (ak je vybraná prázdna oblasť)\n"
+"\n"
+" * Ctrl-d pre zrušenie oblasti\n"
+"\n"
+" * Ctrl-m pre nastavenie bodu pripojenia\n"
+"\n"
+"Pre získanie informácií o iných súborových systémoch, ktoré sú dostupné, "
+"preÄítajte\n"
+"si ext2FS kapitolu z ``ReferenÄnej príruÄky''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatické pripájanie vymeniteľného média"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Prepnúť medzi normálnym/expertným režimom"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Bol nájdený viac ako jeden Microsoft oddiel na vašom pevnom disku.\n"
+"Vyberte si prosím jeden, ktorý chcete nastaviť pre inštaláciu vášho\n"
+"nového Mageia operaÄného systému.\n"
+"\n"
+"Všetky oddiely sú zobrazené nasledovne: \"Linux meno\", \"Windows meno\",\n"
+"\"Kapacita\".\n"
+"\n"
+"\"Linux meno\" sa skladá z: \"typ pevného disku\", \"jeho Äísla\",\n"
+"\"Äísla oddielu\" (napríklad, \"/dev/hda1\").\n"
+"\n"
+"\"Typ pevného disku\" je \"hd\" ak je váš disk IDE a ako \"sd\" v prípade,\n"
+"že to SCSI pevný disk.\n"
+"\n"
+"\"Číslo pevného disku\" je vždy písmeno za \"hd\" alebo \"sd\". Pri IDE\n"
+"diskoch:\n"
+"\n"
+" * \"a\" znamená \"master pevný disk na primárnom IDE radiÄi\";\n"
+"\n"
+" * \"b\" znamená \"slave pevný disk na primárnom IDE radiÄi\";\n"
+"\n"
+" * \"c\" znamená \"master pevný disk na sekundárnom IDE radiÄi\";\n"
+"\n"
+" * \"d\" znamená \"slave pevný disk na sekundárnom IDE radiÄi\";\n"
+"\n"
+"U SCSI diskov \"a\" znamená \"najnižšie SCSI ID\", \"b\" znamená\n"
+"\"druhé najnižšie SCSI ID\" a tak Äalej.\n"
+"\n"
+"\"Windows meno\" je písmenné oznaÄenie vášho pevného disku pod\n"
+"systémom Windows (prvý disk alebo oddiel sa volá \"C:\"."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": skontrolujte aktuálne nastavenie krajiny. Ak sa nenachádzate\n"
+"v tejto krajine, kliknite na tlaÄidlo \"%s\"a vyberte si inú. Ak nie je "
+"vaša\n"
+"krajina zozbrazená v tomto zozname, kliknite na tlaÄidlo \"%s\" pre\n"
+"získanie kompletného zoznamu."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Tento krok sa aktivuje iba vtedy, ak sú na vašom systéme nájdené staršie\n"
+"GNU/Linux oddiely.\n"
+"\n"
+"DrakX teraz potrebuje vedieÅ¥ Äi si želáte vykonaÅ¥ novú inÅ¡taláciu alebo "
+"aktualizáciu\n"
+"existujúceho Mageia systému:\n"
+"\n"
+" * \"%s\": Pomocou tejto voľby môžete kompletne zrušiť váš predchádzajúci\n"
+"operaÄný systém. Ak si želáte zmeniÅ¥ rozloženie oddielov na vaÅ¡ich diskoch "
+"alebo zmeniť\n"
+"súborový systém, mali by ste použiť túto voľbu. V závislosti od vášho "
+"predchádzajúceho\n"
+"rozdelenia oblastí je možné predísť prepísaniu niektorých už existujúcich "
+"údajov.\n"
+"\n"
+" * \"%s\": táto trieda inštalácie vám umožňuje aktualizovať balíky, ktoré\n"
+"sú momentálne nainštalované vo vašom Mageia systéme. Aktuálne\n"
+"rozdelenie oddielov a používateľské údaje nebudú prepísané. Mnohé ostatné "
+"kroky\n"
+"inštalácie ostanú dostupné, podobne ako pri štandardnej inštalácii.\n"
+"\n"
+"Použitie voľby ``Aktualizácia'' by malo fungovať správne pre systémy\n"
+"Mageia \"8.1\" a novšie. Vykonanie Aktualizácie pre staršie verzie ako\n"
+"\"8.1\" nie je odporúÄané.\""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"V závislosti na vybranom jazyku () DrakX automaticky vybral vhodný\n"
+"typ klávesnice. Je ale možné, že nechcete mať nastavenú klávesnicu,\n"
+"ktorá presne korešponduje s jazykom:\n"
+"napríklad, ak hovoríte po slovensky, nemusí to automaticky znamenať, že\n"
+"chcete mať nastavenú slovenskú klávesnicu a naopak, ak chcete mať\n"
+"nastavenú slovenskú klávesnicu, nemusí to znamenať že hovoríte po\n"
+"slovensky. V takomto prípade vám tento krok umožní vybrať si vami\n"
+"požadovaný typ klávesnice zo zoznamu.\n"
+"\n"
+"Kliknite na tlaÄidlo \"%s\" Äo bude maÅ¥ za následok výpis kompletného\n"
+"zoznamu podporovaných klávesníc.\n"
+"\n"
+"Ak si vyberiete klávesnicovú mapu, ktorá obsahuje ne-latinkové znaky,\n"
+"potom Äalší krok vám umožní vybraÅ¥ si kombináciu kláves, pomocou\n"
+"ktorej si budete môcť prepínať medzi latin a ne-latin mapou."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvým korokom je výber preferovaného jazyka\n"
+"\n"
+"Výber preferovaného jazyka ovplyvňuje dokumentáciu, jazyk inÅ¡talaÄného "
+"programu\n"
+"a všetkých ostatných programov. V prvom kroku si vyberiete región, kde "
+"žijete,\n"
+"a potom jazyk, ktorým hovoríte.\n"
+"\n"
+"TlaÄidlo \"%s\" umožňuje zvoliÅ¥ )ÄalÅ¡ie jazyky, ktoré budú tiež\n"
+"nainÅ¡talované a môžete je použiÅ¥ v systéme. Výberom Äalších jazykov "
+"nainštalujete\n"
+"súbory s aplikáciami a dokumentáciou špecifické pre tieto jazyky. Ak "
+"napríklad\n"
+"na poÄítaÄi pracujú Å panieli, vyberte angliÄtinu ako hlavnú\n"
+"a pod tlaÄidlom rozšírené zaÅ¡krtnite voľbu \"%s\".\n"
+"\n"
+"Podpora UTF-8 (unicode): Unicode je nové kódovanie znakov, ktoré obsahuje\n"
+"všetky známe jazyky. Plná podpora v GNU/Linuxe je stále vo vývoji.\n"
+"Z tohto dôvodu bude alebo nebude v systéme použitá podľa voľby používateľa:\n"
+"\n"
+" * Ak vyberiete jazyk s jasne daným kódovaním (latin1, Ruština, Japonština\n"
+"ČínÅ¡tina, KorejÅ¡tina, ThajÅ¡tina, GréÄtina, TureÄtina, väÄÅ¡ina jazykov "
+"používajúcich kódovanie\n"
+"iso-8859-2), bude implicitne použité staré kódovanie;\n"
+"\n"
+" * Ostatné jazyky používajú implicitne Unicode.\n"
+" * Ak potrebujete dva alebo viac jazykov a tieto jazyky nepoužívajú "
+"rovnaké \n"
+"kódovanie, bude pre celý systém použité kódanie unicode;\n"
+"\n"
+" * Ak používateľ vyberie voľbu \"%s\", bude použité kódovanie unicode "
+"nezávisle\n"
+"na výberu jazykov pre celý systém.\n"
+"\n"
+"Pri výbere jazyka nie ste obmedzení iba na jeden Äalší. Môžete si ich vybraÅ¥ "
+"viac alebo dokonca nainštalovať všetky vybraním voľby \"%s\".\n"
+"Podpora jazyka zahrnňuje inštaláciu lokalizácií programov, fontov, kontrolu "
+"pravopisu, atÄ. \n"
+"\n"
+"Zmenu rôznych jazykov inštalovaných v systéme možno vykonať pomocou príkazu\n"
+"\"localedrake\" spusteného ako používateľ \"root\". Spustenie pod\n"
+"bežným používateľom spôsobí zmenu nastavenia iba pre daného používateľa."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Å panielsky"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Aplikácia DrakX zvyÄajne zistí poÄet tlaÄidiel na vaÅ¡ej mysi. Ak nie, "
+"predpokladá,\n"
+"že máte dvojtlaÄidlovú myÅ¡ a nastaví emuláciu pre tretie tlaÄidlo. \n"
+"Emulácia tretieho tlaÄidla sa vykonáva súÄasným stlaÄením ľavého i pravého\n"
+"tlaÄidla. Aplikácia tiež dokáže rozpoznaÅ¥, Äi sa jedná o myÅ¡PS/2, USB\n"
+"alebo sériovú.\n"
+"\n"
+"Ak máte trojtlaÄidlovú myÅ¡ bez kolieska, môžete si vybraÅ¥ typ myÅ¡i \"%s\".\n"
+"InÅ¡talaÄný program potom nataví emuláciu tak, že sa posun kolieskom "
+"simuluje\n"
+"stlaÄením prostredného tlaÄidla a posúvaním myÅ¡i hore a dole.\n"
+"\n"
+"Ak chcete zadať iný typ myši, vyberte ju zo zoznamu.\n"
+"\n"
+"Tiež môžete vybrať položku \"%s\", ktorou zvolíte \"všeobecný\" typ myši,\n"
+"ktorý by mal pracovať správne s takmer kažou myšou.\n"
+"\n"
+"Ak vyberiete inú myš než tú, ktorá bola detegovaná, zobrazí sa testovacia\n"
+"obrazovka. Na nej otestujte tlaÄidlá i koliesko a overte, Äi je nastavenie\n"
+"správne. Ak myÅ¡ nepracuje správne, stlaÄte medzerník a vyberte iný typ "
+"myši.\n"
+"\n"
+"Myši s kolieskom nie sú v niektorých prípadoch automaticky rozpoznané. "
+"Budete\n"
+"ju musieť vybrať zo zoznamu. Uistite sa, že vyberiete myš správneho typu\n"
+"portu, ku ktorému je pripojená. Potom, Äo stlaÄíte tlaÄidlo \"%s\", \n"
+"zobrazí sa obrázok s myšou. Posunujte kolieskom, aby se správne aktivovalo; "
+"koliesko\n"
+"na obrazovcke by sa malo pohybovaÅ¥. Potom overte tlaÄidlá a Äi sa myÅ¡ "
+"pohybuje\n"
+"na obrazovke správne."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "s emuláciou kolieska"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Ktorákoľvek PS/2 a USB myš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Prosím zvoľte správny port. Napríklad COM1 pod MS Windows sa v\n"
+"GNU/Linux nazýva ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"ZavádzaÄ operaÄného systému je program ktorý spustí poÄítaÄ poÄas "
+"štartovania.\n"
+"Je zodpovedný za spustenie operaÄného systému. ObyÄajne je inÅ¡talácia\n"
+"zavádzaÄa plne automatická. DrakX zanalyzuje zavádzací sektor na disku\n"
+"a podľa nájdeného vykoná niektorú z nasledovných akcií.\n"
+"\n"
+"* ak je nájdený Windows zavádzaÄ, bude nahradený GRUB/LILOm. Takto\n"
+"budete maÅ¥ možnosÅ¥ spustiÅ¥ GNU/Linux alebo iný operaÄný systém.\n"
+"\n"
+" * ak bude nájdený GRUB alebo LILO zavádzaÄ, bude nahradený novým.\n"
+"\n"
+"Ak sa DrakX nebnude vedieť rozhodnúť kam umiestniť zavádzací sektor opýta\n"
+"sa vás, kam si želáte ho umiestniÅ¥. ObyÄajne je \"%s\" bezpeÄné miesto\n"
+"pre jeho umiestnenie.\n"
+"Výberom \"%s\" nebude nainÅ¡talovaný žiaden zavádzaÄ. Túto voľbu použite iba\n"
+"ak naozaj viete Äo robíte."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Teraz nastal Äas výberu tlaÄového systému pre váš poÄítaÄ. Iné operaÄné\n"
+"systémy vám poskytujú zvyÄajne iba jediný, Mageia vám poskytuje dva.\n"
+"Kazdý z nich je vhodný pre iný typ konfigurácie.\n"
+"\n"
+" * \"%s\" - Äo znamená ``tlaÄiÅ¥, neukladaÅ¥ do fronty'', je vhodný výber ak\n"
+"máte priamo pripojenú tlaÄiareň k vášmu poÄítaÄu a chcete sa vyhnúť\n"
+"problémom so zaseknutým papierom v tlaÄiarni a nechcete maÅ¥ sieÅ¥ovú "
+"tlaÄiareň.\n"
+"(\"%s\" môže fungovaÅ¥ aj v malom sieÅ¥ovom prostredí). Je odporuÄené použiÅ¥\n"
+"\"pdq\" ak nemáte skúsenosti s GNU/Linux systémom.\n"
+"\n"
+" * \"%s\" - ``Common Unix Print System'' je vynikajúci výber pre tlaÄenie\n"
+"na vaÅ¡u lokálnu tlaÄiareň ako aj na sieÅ¥ovú tlaÄiareň a rovnako aj pri "
+"poskytovaní\n"
+"tlaÄiarne v sieti. Je jednoduchý a dokáže fungovaÅ¥ ako server tak aj klient "
+"pre\n"
+"starší tlaÄový systém \"lpd\", ktorý je kompatibilný so staršími operaÄnými\n"
+"systémami, ktoré stále môžu vyžadovaÅ¥ tlaÄové služby. Základné nastavenie\n"
+"je tak isto jednoduché ako v prípade \"pdq\". Ak potrebujete emulovať \"ldp"
+"\"\n"
+"server budete musieť spustiť \"cups-lpd\" démona. \"%s\" obsahuje grafické\n"
+"nástroje na tlaÄenie, pre výber tlaÄiarní alebo ich manažovanie.\n"
+"\n"
+"Ak neskôr budete chciet svoju voľbu zmeniť alebo budete chcieť odstrániť\n"
+"tlaÄový systém môžete tak spraviÅ¥ za pomoci PrinterDrake z Mageia\n"
+"Kontrolného centra kliknutím na tlaÄidlo \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sa najprv pokúsi vyhľadaÅ¥ IDE zariadenia vo vaÅ¡om poÄítaÄi. Je možné\n"
+"tiež vyhľadať PCI SCSI karty vo vašom systéme. Ak bude nájdená SCSI karta,\n"
+"DrakX automaticky nainÅ¡taluje adekvátny ovládaÄ.\n"
+"\n"
+"Pretože detekcia hardvéru nemusí nájsť všetky zariadenia, DrakX môže\n"
+"zlyhať pri detekovaní pevného disku. Ak áno, budete musieť špecifikovať\n"
+"Váš hardvér ruÄne.\n"
+"\n"
+"Ak ste Å¡pecifikovali váš PCI SCSI radiÄ ruÄne, DrakX sa vás opýta Äi chcete\n"
+"preň špecifikovať nastavenia. DrakX bude potrebovať vyskúšať aj\n"
+"špecifické nastavenia potrebné pre inicializáciu hardvéru. Obvykle DrakX\n"
+"dokáže vykonať tento krok bez problémov.\n"
+"\n"
+"Ak DrakX nebude môcť vyskúšať nastavenia pre automatické rozpoznanie\n"
+"parametrov, ktoré sú požadované, budete musieť zadať tieto nastavenia pre "
+"ovádaÄ ruÄne."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ak bola nájdená vo vašom systéme zvuková karta, bude tu\n"
+"zobrazená. Ak si myslíte, že to nie je karta, ktorá sa nachádza vo vašom\n"
+"systéme, môžete kliknúť na tlaÄidlo a vybraÅ¥ si iný ovládaÄ."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Na ukážku vám DrakX zobrazí súhrn rôznych informácií o vašom systéme.\n"
+"V závislosti od nainštalovaného hardvéru môžete vidieť niektoré alebo "
+"všetky\n"
+"nasledovné položky. Každá položka je tvorená konfiguraÄnou položkou pre\n"
+"konfiguráciu spolu s krátkym popisom aktuálnej konfigurácie.\n"
+"Kliknutím na tlaÄidlo \"%s\" ju môžte zmeniÅ¥.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie klávesovej mapy a zmeňte\n"
+"ju ak je to potrebné.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie krajiny. Ak sa\n"
+"nenachádzate v tejto krajine, kliknite na tlaÄidlo \"%s\" a zvoľte\n"
+"si inú. Ak vaÅ¡a krajina nie je zobrazená v zozname, kliknite na tlaÄidlo\n"
+"\"%s\" pre získanie kompletného zoznamu krajín.\n"
+"\n"
+" * \"%s\": DrakX sa Å¡tandardne snaží urÄiÅ¥ správnu Äasovú zónu\n"
+"v závislosti na tom akú krajinu ste si zvolili. Môžete kliknúť na tlaÄidlo\n"
+"\"%s\" ak nie je nastavená správne.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie myši a kliknite na\n"
+"tlaÄidlo ak potrebujete vykonaÅ¥ zmenu.\n"
+"\n"
+" * \"%s\": kliknutím na tlaÄidlo \"%s\" sa spustí sprievodca nastavením\n"
+"tlaÄiarne. Prezrite si zodpovedajúcu kapitolu v ``Úvodnej príruÄke'' pre "
+"ÄalÅ¡ie\n"
+"informácie ohľadom inÅ¡talácie a konfigurácie tlaÄiarne. Rozhranie, pomocou\n"
+"ktorého nastavenie prebieha, je podobné ako poÄas inÅ¡talácie.\n"
+"\n"
+" * \"%s\": ak je vo vaÅ¡om poÄítaÄi nájdená zvuková karta,\n"
+"bude zobrazená na tomto mieste. Ak nie je zobrazená karta tou, ktorú máte\n"
+"nainÅ¡talovanú v poÄítaÄi, kliknite na tlaÄidlo a vyberte si iný\n"
+"ovládaÄ.\n"
+"\n"
+" * \"%s\": ak je vo vaÅ¡om poÄítaÄi nájdená TV karta, bude na tomto\n"
+"mieste zobrazená. Ak máte TV kartu a nebola nájdená, kliknite na tlaÄidlo\n"
+"\"%s\" a pokúste sa ju nastaviÅ¥ ruÄne.\n"
+"\n"
+" * \"%s\": môžete kliknúť na \"%s\" pre zmenu nastavení v súvislosti\n"
+"s kartou ak máte pocit, že nastavenie nie je správne.\n"
+"\n"
+" * \"%s\": štandardne DrakX nastaví vaše grafické rozhranie v rozlíšení\n"
+"\"800x600\" alebo \"1024x768. Ak vám to nevyhovuje, kliknite na tlaÄidlo\n"
+"\"%s\" pre úpravu tohto nastavenia.\n"
+"\n"
+" * \"%s\": ak si teraz želáte nastaviť vaše Internetové pripojenie\n"
+"alebo prístup do lokálnej siete. Prezrite si tlaÄenú dokumentáciu alebo "
+"použite\n"
+"Kontrolné centrum Mageia ak už bude inÅ¡talácia ukonÄená aby ste mali\n"
+"prístup k dokumentácii.\n"
+" * \"%s\": vám umožní nastaviÅ¥ HTTP alebo FTP proxy ak je poÄítaÄ\n"
+"umiestnený za proxy serverom.\n"
+"\n"
+" * \"%s\": táto položka vám umožňuje zmeniÅ¥ bezpeÄnostnú\n"
+"úroveň ak bola nastavená predchádzajúcom kroku.\n"
+"\n"
+" * \"%s\": ak plánujete pripojiÅ¥ váš poÄítaÄ k Internetu, je\n"
+"dobrým nápadom zabezpeÄiÅ¥ ho pred prienikmi nastavením firewallu.\n"
+"Prezrite si zodpovedajúcu kapitolu v ``Úvodnej príruÄke'' pre detaily o tom\n"
+"ako nastaviť firewall.\n"
+"\n"
+" * \"%s\": ak si želáte zmeniÅ¥ konfiguráciu zavádzaÄa, kliknite na toto\n"
+"tlaÄidlo. Táto možnosÅ¥ je rezervovaná pre skúsených používateľov. Prezrite\n"
+"si tlaÄenú dokumentáciu alebo internú dokumentáciu vrámci Kontrolného\n"
+"centra Mageia.\n"
+"\n"
+" * \"%s\": máte možnosť definitívne nastaviť služby, ktoré budú\n"
+"spúšťané na vaÅ¡om poÄítaÄi. Ak plánujete používaÅ¥ tento poÄítaÄ ako\n"
+"server, je dobrý nápad prezrieť si tieto nastavenia."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN karta"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafické rozhranie"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vyberte si pevný disk, ktorý chcete vymazať aby ste mohli vytvoriť\n"
+"nový oddiel pre Mageia. BuÄte opatrní, vÅ¡etky údaje ktoré sa\n"
+"na disku nachádzajú budú odstránené a nebude možné ich obnoviť!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Kliknite na \"%s\" ak si želáte vymazať všetky údaje a oblasti ktoré\n"
+"sa nachádzajú na vaÅ¡om pevnom disku. BuÄte opatrní, po kliknutí na\n"
+"\"%s\" nebudete mať už možnosť obnoviť údaje na oddieloch, ktoré boli\n"
+"predtým na vašom disku, vrátane Windows údajov.\n"
+"\n"
+"Kliknite na \"%s\" pre zrušenie tejto operácie bez straty údajov\n"
+"a oddielov, ktoré sa momentálne nachádzajú na vašom pevnom disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "ÄŽalej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Späť"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": kliknutím na \"%s\" tlaÄidlo sa otvorí sprievodca konfiguráciou "
+#~ "tlaÄiarne.\n"
+#~ "Ak chcete získaÅ¥ viac informácií o tom, ako nastaviÅ¥ novú tlaÄiareň, "
+#~ "použite\n"
+#~ "``Úvodnú príruÄku''. Rozhranie, ktoré tu vidíte je podobné tomu, ktoré "
+#~ "bolo\n"
+#~ "použité pri inštalácii."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Toto je veľmi dôležité rozhodnutie zamerané na bezpeÄnosÅ¥ vášho GNU/"
+#~ "Linux\n"
+#~ "systému: musíte zadať heslo pre používateľa \"root\"-a. Je to systémový "
+#~ "administrátor\n"
+#~ "a ako jediný má oprávnenie vykonávať aktualizácie, pridávať "
+#~ "používateľov,\n"
+#~ "meniť nastavenie celého systému a podobne. V skratke sa dá povedať, že "
+#~ "\"root\"\n"
+#~ "môže vÅ¡etko! Toto je dôvod, preÄo si musíte zvoliÅ¥ heslo tak, aby ho "
+#~ "nebolo\n"
+#~ "jednoduché uhádnuť - DrakX vám to povie, ak je príliš jednoduché. Ako "
+#~ "vidíte,\n"
+#~ "môžete sa rozhodnúť nezadať žiadne heslo, ale chceli by sme vás pred tým\n"
+#~ "varovať z jedného dôvodu: nemyslite si, že vaše ostatné nainštalované "
+#~ "operaÄné\n"
+#~ "systémy sú chránené pred omylmi len preto, že máte spustený operaÄný "
+#~ "systém\n"
+#~ "GNU/Linux. Pretože na \"root\"-a sa nevzťahujú žiadne obmedzenia a je mu\n"
+#~ "umožnené dokonca vymazať všetky údaje na všetkých dostupných oblastiach,\n"
+#~ "je veľmi dôležité aby nebolo príliš jednoduché sa stať \"root\"-om.\n"
+#~ "\n"
+#~ "Toto heslo by malo byť kombináciou alfanumerických znakov a byť aspoň 8\n"
+#~ "znakov dlhé. Nikdy nezadávajte ako heslo \"root\", bolo by ho veľmi "
+#~ "jednoduché\n"
+#~ "uhádnuť a kompromitovať tak systém.\n"
+#~ "\n"
+#~ "V každom prípade, netvorte si heslo príliš dlhé alebo príliš "
+#~ "komplikované, aby ste\n"
+#~ "si ho dokázali zapamätať bez toho aby ste ho mali niekde napísané.\n"
+#~ "\n"
+#~ "Heslo sa poÄas jeho zadávania nezobrazuje na obrazovke. Budete vyzvaní k "
+#~ "tomu\n"
+#~ "aby ste ho zadali dva krát, aby sa predišlo problémom pri omyle alebo "
+#~ "preklepe. Ak\n"
+#~ "sa vám ale podarí zadať dva krát po sebe heslo s rovnakou chybou, bude "
+#~ "toto ``chybné''\n"
+#~ "heslo nastavené!\n"
+#~ "\n"
+#~ "Ak chcete kontrolovaÅ¥ prístup k tomuto poÄítaÄu pomocou autorizaÄného "
+#~ "servera\n"
+#~ "kliknite na tlaÄidlo \"%s\".\n"
+#~ "\n"
+#~ "Ak vaša sieť používa LDAP, NIS alebo PDC vrámci Windows domény pre "
+#~ "autentikáciu,\n"
+#~ "vyberte si požadované ako \"%s\". Ak neviete na túto otázku odpovedať\n"
+#~ "opýtajte sa vášho sieťového administrátora.\n"
+#~ "\n"
+#~ "Ak máte problém zapamätaÅ¥ si vaÅ¡e heslo a váš poÄítaÄ nie je pripojený k "
+#~ "Internetu\n"
+#~ "alebo ak dôverujete každému, kto má k poÄítaÄu prístup môžte si zvoliÅ¥ "
+#~ "nastavenie\n"
+#~ "\"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "autentifikácia"
diff --git a/perl-install/install/help/po/sl.po b/perl-install/install/help/po/sl.po
new file mode 100644
index 000000000..71e2dd797
--- /dev/null
+++ b/perl-install/install/help/po/sl.po
@@ -0,0 +1,1976 @@
+# translation of DrakX.po to Slovenian
+# translation of DrakX-sl.po to Slovenian
+# translation of DrakX-sl.po to SlovenÅ¡Äina
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# Matjaž Kaše <matjaz.kase@g-kabel.si>, 2004.
+# AljoÅ¡a LoÄiÄnik <aljosa.locicnik@mandrakeprinas.org>, 2005.
+# Gregor Pirnaver <gregor.pirnaver@sdm-si.org>, 2002,2004,2005.
+# Jure Repinc <jlp@holodeck1.com>, 2005, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2009-10-03 17:02+0200\n"
+"Last-Translator: Jure Repinc <jlp@holodeck1.com>\n"
+"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
+"n%100==4 ? 2 : 3);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Preden nadaljujete, pozorno preberite pogoje licenÄne pogodbe,\n"
+"ki se nanaša na celotno distribucijo Mageia. Če se strinjate z "
+"vsemi\n"
+"pogoji licenÄne pogodbe, oznaÄite okence »%s«. ÄŒe se s pogoji pogodbe\n"
+"ne strinjate, pa oznaÄite okence »%s« in vaÅ¡ raÄunalnik se bo ponovno zagnal."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je veÄuporabniÅ¡ki sistem, kar pomeni, da ima lahko vsak\n"
+"uporabnik svoje nastavitve, svoje datoteke itd. VeÄ o tem si lahko\n"
+" preberete v dokumentaciji. Razen sistemskega skrbnika (root),\n"
+"uporabniki, ki jih boste dodali, ne bodo imeli dovoljenj, ki so potrebna za\n"
+"spreminjanje tistih datotek in nastavitev, ki vplivajo na celoten sistem.\n"
+"Tako je sistem zaÅ¡Äiten pred nenamernimi ali zlonamernimi spremembami.\n"
+"Dodati morate vsaj enega navadnega uporabnika. Tako boste ustvarili\n"
+"svoj uporabniÅ¡ki raÄun, ki ga boste uporabljali za vsakdanje delo z\n"
+"raÄunalnikom. ÄŒeprav se je v sistem kot sistemski upravitelj zelo lahko\n"
+"prijaviti, vam to odsvetujemo, saj že najmanjÅ¡a napaka lahko povzroÄi, da\n"
+"sistem preneha delovati. ÄŒe pa napravite resno napako kot navaden "
+"uporabnik,\n"
+"je najhuje, kar se vam lahko zgodi, da izbrišete kakšne podatke,\n"
+"ne morete pa vplivati na celoten sistem.\n"
+"\n"
+"V prvo vnosno polje lahko, Äe to želite, vpiÅ¡ete svoje pravo ime.\n"
+"Vpis pravega imena seveda ni obvezen; lahko vpišete poljubno ime.\n"
+"Prvo besedo, ki jo boste vpisali, bo program DrakX uporabil kot uporabniško "
+"ime\n"
+"in jo prepisal v polje »%s« kot ime, s katerim se boste prijavljali\n"
+"v sistem. Če želite, lahko uporabniško ime spremenite. V naslednje polje "
+"vnesite\n"
+"geslo. S staliÅ¡Äa varnosti geslo navadnega uporabnika ni tako pomembno, kot "
+"geslo\n"
+"upravitelja sistema, zato to polje lahko pustite prazno. Vendar vam "
+"priporoÄamo,\n"
+"da geslo doloÄite in tako zaÅ¡Äitite svoje datoteke in podatke.\n"
+"\n"
+"Ko kliknete »%s«, lahko dodate tudi druge navadne uporabnike.\n"
+"Posebne uporabniÅ¡ke raÄune lahko ustvarite za svoje prijatelje\n"
+"in za Älane svoje družine.\n"
+"\n"
+"Ko boste dokonÄali z dodajanjem uporabniÅ¡kih raÄunov, kliknite »%s«.\n"
+"\n"
+"S klikom na »%s« lahko spremenite »lupino« (shell) za posameznega\n"
+"uporabnika. Privzeta lupina je »bash«.\n"
+"\n"
+"Ko boste konÄali z dodajanjem uporabnikov, boste imeli možnost,\n"
+" da izberete uporabnika, za katerega želite, da se ob zagonu samodejno\n"
+"prijavi v sistem. Če želite uporabiti to možnost, izberite uporabnika in\n"
+"namizno okolje ter kliknite »%s«. Če te možnosti ne želite izbrati,\n"
+"odstranite oznako iz okenca »%s«."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Uporabniško ime"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Sprejmi uporabnika"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ali želite uporabiti to možnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Na seznamu so razdelki za Linux, ki jih je Äarovnik zaznal na vaÅ¡em\n"
+"trdem disku. Lahko obdržite nastavitve, ki jih je izbral Äarovnik, saj so\n"
+"primerne za veÄino obiÄajnih namestitev. ÄŒe boste te nastavitve "
+"spreminjali,\n"
+"morate doloÄiti vsaj korenski razdelek (»/«). Razdelek naj ne bo premajhen,\n"
+"da boste lahko namestili dovolj programja. Če želite svoje podatke shraniti\n"
+" na poseben razdelek, ustvarite tudi domaÄi razdelek »/home«.\n"
+"(To je mogoÄe samo, Äe imate na disku veÄ razdelkov za Linux.)\n"
+"\n"
+"Vsak razdelek je predstavljen na naslednji naÄin: »Ime«, »Zmogljivost«.\n"
+"\n"
+"»Ime« sestavljajo: »Vrsta trdega diska«, »Številka trdega diska«,\n"
+"»Številka razdelka« (n.pr. »hda1«.\n"
+"\n"
+"»Vrsta trdega diska« je »hd«, Äe gre za IDE disk in »sd«, Äe gre za\n"
+"SCSI disk\n"
+"\n"
+"»Številka trdega diska« je vedno Ärka, ki sledi oznaki »hd« ali »sd«.\n"
+"Za IDE trdi disk:\n"
+" * »a« pomeni »glavni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »b« pomeni »suženjski trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »c« pomeni »glavni trdi disk na sekundarnem IDE vodilu«\n"
+"\n"
+" * »d« pomeni »suženjski trdi disk na sekundarnem IDE vodilu«\n"
+"\n"
+"Pri SCSI trdih diskih pomeni »a« »najnižji SCSI ID«, »b«\n"
+"»drugi najnižji SCSI ID« itd."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Namestitev za distribucijo Mageia je shranjena na veÄ nosilcih.\n"
+"ÄŒe je izbrani paket shranjen na drugem nosilcu, bo DrakX izvrgel\n"
+"trenutnega in vas pozval, da v pogon vstavite pravi nosilec.\n"
+"Če pravega nosilca nimate, kliknite »%s« in paketi z njega ne\n"
+"bodo nameÅ¡Äeni."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sedaj je Äas za izbiro programov, ki jih želite namestiti na sistem.\n"
+"Za distribucijo Mageia je dostopnih na tisoÄe razliÄnih programskih paketov.\n"
+"Da bi bilo upravljanje s paketi bolj preprosto, so razvrÅ¡Äeni v skupine\n"
+"vsebinsko povezanih paketov.\n"
+"\n"
+"Skupine paketov so razvrÅ¡Äene v Å¡tiri kategorije, ki ustrezajo razliÄnim \n"
+"naÄinom uporabe\n"
+"raÄunalnika. Pakete iz razliÄnih kategorij lahko poljubno dodajate ali \n"
+"odstranjujete,\n"
+"tako da namestitev kategorije »Delovna postaja« lahko vsebuje tudi pakete\n"
+" iz kategorije\n"
+"»Razvoj«.\n"
+"\n"
+" * »%s« : ÄŒe nameravate raÄunalnik uporabljati predvsem kot delovno \n"
+"postajo,\n"
+"izberite eno ali veÄ skupin iz te kategorije.\n"
+"\n"
+" * »%s« : ÄŒe boste raÄunalnik uporabljali za programiranje, izberite\n"
+" ustrezne\n"
+"skupine paketov iz te kategorije.\n"
+"\n"
+" Če boste izbrali skupino »LSB«, bo namesto privzetega jedra iz\n"
+"serije »2.6« nameÅ¡Äeno jedro iz serije »2.4«.\n"
+"\n"
+" * »%s« : ÄŒe bo vaÅ¡ raÄunalnik služil za strežnik, izberite storitve, ki \n"
+"jih želite namestiti.\n"
+"\n"
+" * »%s« : Tukaj lahko izberete svoje željeno grafiÄno okolje. ÄŒe želite,\n"
+" da bo grafiÄni\n"
+"vmesnik dostopen, morate izbrati vsaj eno grafiÄno okolje.\n"
+"\n"
+"Če premaknete miškin kazalec na ime skupine, se bo prikazalo kratko \n"
+"pojasnilo\n"
+"o tej skupini. ÄŒe med obiÄajno namestitvijo (ne pa tudi med "
+"posodobitvijo!) \n"
+"izloÄite\n"
+"vse skupine paketov, se bo odprlo pogovorno okno s predlogi za najmanjšo\n"
+"možno namestitev:\n"
+" * »%s« : Namesti najmanjÅ¡e Å¡tevilo paketov, ki Å¡e omogoÄa uporabo \n"
+"grafiÄnega namizja.\n"
+" * »%s« : Namesti osnovni sistem in osnovna orodja s pripadajoÄo \n"
+"dokumentacijo.\n"
+"To je primerna namestitev za postavitev strežnika.\n"
+"\n"
+" * »%s« : Namesti res najmanjÅ¡e mogoÄe Å¡tevilo paketov, ki so potrebni za \n"
+"delujoÄ\n"
+"GNU/Linux sistem. Pri tej namestitvi boste kot vmesnik lahko uporabljali \n"
+"samo\n"
+"ukazno vrstico. Celotna velikost te namestitve znaša 65 MB.\n"
+"\n"
+"ÄŒe želite imeti popoln nadzor nad izbiro paketov, ki bodo nameÅ¡Äeni, \n"
+"oznaÄite\n"
+"okence »%s«. \n"
+"\n"
+"ÄŒe ste za vrsto namestitve izbrali »%s«, lahko izloÄite vse skupine. Tako \n"
+"ne bo\n"
+"na novo nameÅ¡Äen noben paket. Ta naÄin je primeren za nadgrajevanje\n"
+"ali za popravljanje namestitve."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Posodobitev"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Z osnovno dokumentacijo"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Zares minimalna namestitev"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"ÄŒe ste doloÄili posamiÄno izbiro paketov,\n"
+"bodo vsi paketi prikazani v drevesnem pregledu in \n"
+"razvrÅ¡Äeni v skupine in podskupine.\n"
+"Izberete lahko namestitev cele skupine, podskupine\n"
+"ali posamezne pakete.\n"
+"\n"
+"Ko izberete posamezen paket, se v levem oknu prikaže\n"
+"njegov opis.\n"
+"\n"
+"!! Če izberete paket ali skupino paketov, ki vsebuje strežnik,\n"
+"boste morali namestitev takšnega paketa na izrecno vprašanje\n"
+"potrditi. Mageia namreÄ kot privzeto vkljuÄi vse\n"
+" nameÅ¡Äene storitve ob zagonu sistema. ÄŒeprav ob izdaji\n"
+"te razliÄice Mageia ni bilo znanih težav v zvezi z varnostjo,\n"
+"je mogoÄe, da so bile odkrite varnostne luknje kasneje. ÄŒe za \n"
+"doloÄeno storitev ne veste, kaj je njena naloga, kliknite »%s« S klikom\n"
+"na »%s«bodo nameÅ¡Äene naÅ¡tete storitve, sistem pa jih bo samodejno\n"
+"vkljuÄil ob vsakem zagonu.!!\n"
+"\n"
+"ÄŒe izberete »%s«, boste onemogoÄili opozorilno okno, ki se prikaže\n"
+"vsakokrat, ko program za nameÅ¡Äanje samodejno izbere paket za zadovoljitev\n"
+"odvisnosti. Nekateri paketi so med seboj povezani, tako da namestitev\n"
+"enega zahteva tudi namestitev drugih paketov. Program za nameÅ¡Äanje "
+"samodejno\n"
+"doloÄi, katere med seboj odvisne pakete je potrebno namestiti,\n"
+"da bo namestitev uspešna.\n"
+"\n"
+"Drobna ikona z disketo na dnu seznama vam omogoÄa, da naložite\n"
+"seznam paketov, ki je bil oblikovan ob prejšnji namestitvi. To je koristno\n"
+"zlasti v primeru, da želite na veÄ raÄunalnikih izvesti enako namestitev\n"
+"ÄŒe kliknete na to ikono, vas bo program za nameÅ¡Äanje pozval, da v pogon "
+"vstavite\n"
+"disketo, ki ste jo ustvarili ob koncu neke druge namestitve.\n"
+"Oglejte si drugi namig zadnjega koraka o tem, kako ustvariti takšno disketo"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Samodejne odvisnosti"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Izberite storitve, ki naj se vkljuÄijo ob zagonu raÄunalnika.\n"
+"\n"
+"Pazljivo preglejte vse dostopne storitve in izloÄite tiste, ki jih ob "
+"zagonu\n"
+"ne potrebujete.\n"
+"\n"
+"Ko izberete posamezno storitev, se prikaže okno s kratkim pojasnilom.\n"
+"ÄŒe niste prepriÄani, kakÅ¡no nalogo opravljajo posamezne storitve, bo\n"
+"varneje, Äe ohranite privzeto nastavitev.\n"
+"\n"
+"!! V primeru, da nameravate svoj raÄunalnik uporabljati kot strežnik,\n"
+"verjetno noÄete, da bi se ob zagonu vkljuÄila katera od storitev,\n"
+"ki jih ne potrebujete. Mnoge storitve so namreÄ lahko nevarne,\n"
+"Äe so omogoÄene na strežniku. Vsekakor omogoÄite samo tiste storitve,\n"
+"ki jih resniÄno potrebujete!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux uporablja za nastavitev Äasa GMT (Greenwich Mean Time), ki ga \n"
+"lahko prevede v krajevni Äas glede na Äasovni pas, ki ga izberete. ÄŒe je\n"
+"Äas na vaÅ¡i matiÄni ploÅ¡Äi nastavljen na krajevni Äas, lahko to izkljuÄite\n"
+" z odstranitvijo oznake »%s«. GNU/Linux bo tako zaznal, da sta ura matiÄne\n"
+"ploÅ¡Äe in sistemska ura nastavljeni na isti Äasovni pas. To je koristno "
+"posebej\n"
+"v primeru, da imate nameÅ¡Äen Å¡e kakÅ¡en operacijski sistem , na primer "
+"Windows\n"
+"\n"
+"ÄŒe omogoÄite »%s«, bo nastavitev sistemske ure potekala samodejno preko\n"
+"internetne povezave z oddaljenim strežnikom. Da bi ta storitev delovala, "
+"morate\n"
+"imeti vzpostavljeno internetno povezavo. Najbolje je , Äe izberete strežnik "
+"v vaši\n"
+"bližini. Obenem boste namestili tudi Äasovni strežnik, s pomoÄjo katerega "
+"lahko\n"
+"uporabljajo tudi drugi raÄunalniki v krajevnem omrežju."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "RaÄunalniÅ¡ka ura nastavljena na GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Samodejno usklajevanje Äasa"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"GrafiÄna kartica\n"
+"\n"
+" Namestilnik navadno samodejno zazna in nastavi grafiÄno\n"
+"kartico, ki je prikljuÄena v raÄunalniku. ÄŒe temu ni tako, lahko\n"
+"s seznama izberete pravo kartico.\n"
+"\n"
+" ÄŒe vaÅ¡o grafiÄno kartico podpirajo razliÄni strežniki, takÅ¡ni s 3D\n"
+"pospeševanjem in takšni brez, izberite strežnik, ki najbolj ustreza\n"
+"vašim potrebam."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (okenski sistem X) je srce grafiÄnega vmesnika za GNU/Linux\n"
+"na katerega se zanaÅ¡ajo vsa v distribucijo Mageia vkljuÄena grafiÄna\n"
+"okolja. (KDE, GNOME, AfterStep, WindowMaker ...)\n"
+"\n"
+"Prikazal se vam bo seznam razliÄnih vrednosti, ki jih lahko spreminjate,\n"
+"da dosežete najboljÅ¡i grafiÄni prikaz.\n"
+"\n"
+"GrafiÄna kartica\n"
+"\n"
+" Program za nameÅ¡Äanje navadno samodejno zazna in nastavi grafiÄno\n"
+"kartico, ki je prikljuÄena v raÄunalniku. ÄŒe temu ni tako, lahko\n"
+"s seznama izberete pravo kartico.\n"
+"\n"
+" ÄŒe vaÅ¡o grafiÄno kartico podpirajo razliÄni strežniki, takÅ¡ni s 3D\n"
+"pospeševanjem in takšni brez, izberite strežnik, ki najbolj ustreza\n"
+"vašim potrebam.\n"
+"\n"
+"\n"
+"\n"
+"Zaslon\n"
+" Program za nameÅ¡Äanje navadno samodejno zazna in nastavi zaslon,\n"
+"ki je prikljuÄen na raÄunalnik. ÄŒe temu ni tako, lahko\n"
+"s seznama izberete pravi zaslon.\n"
+"\n"
+"\n"
+"\n"
+"LoÄljivost\n"
+"...Izberite ustrezno loÄljivost in barvno globino za vaÅ¡o strojno opremo.\n"
+"Izberite vrednosti, ki vam najbolj ustrezajo. Te vrednosti boste lahko\n"
+"spreminjali tudi po namestitvi. Primer namestitve je prikazan na sliki\n"
+"zaslona.\n"
+"\n"
+"\n"
+"\n"
+"Preizkus\n"
+"\n"
+" Ali se bo ta vnos pojavil, je odvisno od vaše strojne opreme.\n"
+"\n"
+" Sistem bo skuÅ¡al odpreti grafiÄni zaslon z željeno loÄljivostjo.\n"
+"ÄŒe boste med preizkusom videli sporoÄilo in odgovorili »%s«,\n"
+"bo DrakX nadaljeval k naslednjemu koraku. ÄŒe se sporoÄilo ne bo\n"
+"prikazalo, potem samodejna nastavitev ni pravilna.\n"
+"Po izteku 12 sekund se boste vrnili k nastavitvam. Spreminjajte nastavitve,\n"
+"dokler na zaslonu ne dobite pravilnega prikaza.\n"
+"\n"
+"\n"
+"\n"
+"Izbire\n"
+"\n"
+"Izberite, ali želite, da se grafiÄni vmesnik vkljuÄi ob zagonu raÄunalnika.\n"
+"ÄŒe tega ne želite, Äe bo vaÅ¡ raÄunalnik deloval kot strežnik\n"
+"ali Äe vam ni uspelo nastaviti zaslona, oznaÄite »%s«."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Zaslon\n"
+"\n"
+"...Namestilnik obiÄajno samodejno zazna in nastavi zaslon, ki je\n"
+"prikljuÄen na raÄunalnik. ÄŒe je samodejna nastavitev napaÄna, lahko\n"
+"s seznama izberete pravi zaslon."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"LoÄljivost\n"
+"\n"
+"...Izberite loÄljivost in barvno globino, ki ustreza vaÅ¡i strojni opremi.\n"
+"Te nastavitve boste lahko spreminjali tudi po konÄani namestitvi.\n"
+"Primer izbrane nastavitve je prikazan na sliki zaslona."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"ÄŒe je za vaÅ¡o grafiÄno kartico na voljo veÄ strežnikov, takÅ¡nih, ki\n"
+"omogoÄajo 3D pospeÅ¡evaje in takÅ¡nih, ki tega ne omogoÄajo,\n"
+"izberite strežnik, ki ustreza vašim potrebam."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Izbire\n"
+"\n"
+" Izberite, ali želite, da se grafiÄni vmesnik vkljuÄi ob zagonu "
+"raÄunalnika.\n"
+"ÄŒe tega ne želite, Äe bo vaÅ¡ raÄunalnik deloval kot strežnik\n"
+"ali Äe vam ni uspelo nastaviti zaslona, oznaÄite »%s«."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"DoloÄite, na katerem delu trdega diska naj bo nameÅ¡Äen operacijski\n"
+"sistem Mageia. ÄŒe je trdi disk prazen ali Äe na njem nameÅ¡Äeni\n"
+"operacijski sistem zaseda celoten prostor, boste morali disk razdeliti na\n"
+"posamezne razdelke. Razdeljevanje trdega diska izvede logiÄno\n"
+"razdelitev, ki zagotovi potrebni prostor za namestitev operacijskega\n"
+"sistema Mageia.\n"
+"\n"
+"Trdega diska po izvrÅ¡enem razdeljevanju obiÄajno ni mogoÄe povrniti v "
+"prejšnje stanje.\n"
+"ÄŒe imate na disku že nameÅ¡Äen operacijski sitem,lahko med razdeljevanjem\n"
+"trdega diska pride do izgube podatkov. Če ste neizkušeni, je razdeljevanje\n"
+"diska lahko zelo stresno opravilo. Na sreÄo pa je v DrakX vkljuÄen "
+"Äarovnik,\n"
+"ki razdeljevanje zelo olajÅ¡a. Vzemite si Äas in pred nadaljevanjem pozorno\n"
+"preberite nadaljevanje tega sestavka.\n"
+"\n"
+"Na voljo je veÄ možnosti, ki so odvisne od nastavitev vaÅ¡ega diska.\n"
+"\n"
+" * »%s«: To možnost izberite, Äe imate prazen disk. ÄŒarovnik bo disk "
+"razdelil\n"
+"samodejno in razdeljevanje bo s tem konÄano.\n"
+"\n"
+" * »%s«: ÄŒarovnik je na vaÅ¡em trem disku zaznal enega ali veÄ razdelkov\n"
+"za Linux. Če želite za namestitev uporabiti zaznane razdelke, izberite to "
+"možnost.\n"
+"ÄŒarovnik vas bo v nadaljevanj pozval, da doloÄite priklopne toÄke "
+"posameznim\n"
+"razdelkom. ObiÄajno je najbolje obdržati priklopne toÄke, ki jih predlaga "
+"Äarovnik.\n"
+"\n"
+" * »%s«: ÄŒe imate na disku nameÅ¡Äen Windows, tako da zasedajo\n"
+"celoten disk, bo potrebno ustvariti prazen prostor za namestitev GNU/"
+"Linuxa.\n"
+"To lahko storite tako, da izbrišete razdelek z Windows ali tako, da "
+"razdelku\n"
+"FAT ali NTFS z nameÅ¡Äenim Windows spremenite velikost. Pri tem podatkov na\n"
+"razdelku ne boste izgubili, Äe najprej v Windows defragmentirate disk.\n"
+"Vsekakor pa priporoÄamo, da pred nadaljevanjem napravite varnostno\n"
+"kopijo podatkov. Če želite uporabljati oba operacijska sistema, Mandriva "
+"Linux\n"
+"in Windows, vam priporoÄamo, da izberete to možnost.\n"
+"\n"
+" ÄŒe se odloÄite za to možnost, morate vedeti, da bo po konÄanem postopku\n"
+"razdelek z Windows manjši in imeli boste manj prostora za shranjevanje "
+"podatkov ali\n"
+" nameÅ¡Äanje novih programov v Windows.\n"
+"\n"
+" * »%s«: ÄŒe želite izbrisati vse obstojeÄe razdelke z vsemi podatki in jih \n"
+"nadomestiti s sistemom Mageia, izberite to možnost.\n"
+"Bodite previdni, ko boste potrdili to izbiro, prejÅ¡njega stanja ne bo veÄ "
+"mogoÄe vzpostaviti.\n"
+"\n"
+" !!Če izberete to možnost, boste z diska izbrisali vse podatke.!!\n"
+"\n"
+" * »%s«:Ta možnost se pojavi, Äe celotni disk zaseda Windows.\n"
+" S tem boste s trdega diska preprosto izbrisali vse, kar je njem\n"
+"in priÄeli z novim razdeljevanjem diska.\n"
+"\n"
+" !!Če izberete to možnost, boste z diska izbrisali vse podatke.!!\n"
+"\n"
+" * »%s«: ÄŒe želite disk razdeliti roÄno, izberite to možnost. Pazite, \n"
+"to je sicer moÄno, vendar nevarno orodje, saj lahko z njim kaj hitro "
+"zbrišete\n"
+"podatke na disku. To možnost zares priporoÄamo samo tistim, ki že imajo\n"
+"nekaj izkušenj z razdeljevanjem diskov. Obsežnejša navodila za delo\n"
+" z orodjem DiskDrake boste našli v dokumentaciji."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Uporabi obstojeÄi razdelek"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Uporabi razpoložljivi prostor na razdelku od Windows"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izbriši celoten disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Namestitev je konÄana in vaÅ¡ novi GNU/Linux je pripravljen za uporabo\n"
+"Kliknite »%s« in sistem se bo ponovno zagnal. Ne pozabite odstraniti\n"
+"vira namestitve (zgoÅ¡Äenke ali diskete) Neposredno po zagonu bo na\n"
+"zaslonu prikazan meni zagonskega nalagalnika, s pomoÄjo katerega\n"
+"lahko izberete, kateri operacijski sistem naj se zažene.\n"
+"\n"
+"Gumb »%s« vam prikaže dodatne gumbe:\n"
+"\n"
+" * »%s«: za izdelavo namestitvene diskete, s pomoÄjo katere boste lahko\n"
+"podobno namestitev, kot ste jo pravkar oblikovali, izvedli povsem\n"
+"samodejno.\n"
+"\n"
+" Če kliknete na ta gumb, boste imeli na voljo dve nadaljnji možnosti:\n"
+" * »%s«: Delno samodejna namestitev. RoÄno boste lahko izvedli\n"
+"samo razdeljevanje diska.\n"
+" * »%s«: Povsem samodejna namestitev. Z diska bodo izbrisani vsi\n"
+"podatki.\n"
+" To je zelo uporabno za namestitev sistema na veÄ podobnih\n"
+"raÄunalnikov. VeÄ o tem najdete na spletni strani Mandriva.\n"
+"\n"
+" * »%s«(*):S tem shranite seznam paketov, ki so bili izbrani med to\n"
+"namestitvijo. Če želite izvesti drugo namestitev z enakim naborom paketov,\n"
+"vstavite disketo v pogon in priÄnite z namestitvijo. Pritisnite tipko\n"
+"[F1] in vpišite »linux defcfg=\"floppy\"«.\n"
+"(*)potrebujete disketo, formatirano v FAT datoteÄnem sistemu.\n"
+"V GNU/Linux sistemu disketo formatirate z ukazom\n"
+"»mformat a:«, ali »fdformat /dev/fd0«, ki mu sledi ukaz\n"
+"»mkfs.vfat /dev/fd0«."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Ustvari disketo za samodejno namestitev"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Ponovljena"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Samodejna"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Shrani izbor paketov"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"ÄŒe želite na novo formatirati obstojeÄe razdelke, da bi z njih zbrisali\n"
+"podatke, izberite tudi vse takšne razdelke.\n"
+"\n"
+"Ni potrebno, da ponovno formatirate vse obstojeÄe razdelke.\n"
+"Formatirati morate razdelke, na katere boste namestili operacijski\n"
+"sistem (npr. razdelke »/«, »/usr«, »/var«), ni pa vam treba formatirati\n"
+"razdelkov, ki vsebujejo podatke, ki bi jih radi obdržali (npr. »/home«)\n"
+"\n"
+"Pri izbiri razdelkov ravnajte skrbno! Po formatiranju bodo vsi podatki "
+"izgubljeni!\n"
+"\n"
+"Kliknite na »%s«,ko boste pripravljeni na razdeljevanje.\n"
+"\n"
+"Kliknite na »%s«, Äe želite za namestitev sistema Mageia\n"
+"izbrati drug razdelek.\n"
+"\n"
+"Kliknite na »%s«, Äe želite doloÄiti razdelke, na katerih naj sistem\n"
+"preveri poškodovane bloke."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Verjetno so bili od njegove izdaje pa do Äasa, ko nameÅ¡Äate\n"
+"distribucijo Mageia na svoj raÄunalnik, nekateri paketi popravljeni\n"
+"ali nadgrajeni z varnostnimi popravki ali z odstranitvijo hroÅ¡Äev.\n"
+"Te popravke lahko prenesete z interneta. ÄŒe imate vzpostavljeno\n"
+"internetno povezavo, oznaÄite »%s«, Äe pa želite namestiti\n"
+"popravke s paketi kasneje, oznaÄite »%s«.\n"
+"\n"
+"Če izberete »%s«, se bo prikazalo okno s seznamom spletnih\n"
+"mest, od koder lahko prenesete pakete. Izberite mesto, ki vam\n"
+"je najbliže, pritisnite »%s«, da boste pakete prenesli in namestili\n"
+"Če tega ne želite, pritisnite »%s«."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Izberite stopnjo varnosti za svoj raÄunalnik. ÄŒe boste na raÄunalniku\n"
+"hranili pomembne podatke ali Äe imate neposredno povezavo z\n"
+"internetom, nastavite višjo stopnjo varnosti. Uporaba sistema, ki ima\n"
+"nastavljeno viÅ¡jo stopnjo varnosti je obiÄajno zahtevnejÅ¡a.\n"
+"\n"
+"ÄŒe se ne morete odloÄiti, kako bi nastavili stopnjo varnosti,\n"
+"pustite privzete nastavitve. Stopnjo varnosti lahko spremenite\n"
+"tudi kasneje s pomoÄjo orodja »draksec« v Nadzornem srediÅ¡Äu.\n"
+"\n"
+"V polje »%s« lahko vnesete e-poštni naslov uporabnika, ki bo odgovoren za\n"
+"varnost sistema. Vsa varnostna obvestila bodo poslana\n"
+"temu uporabniku."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Upravitelj varnostnih nastavitev"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Izbrati morate razdelke, na katere boste namestili sistem\n"
+"Mageia. Če ste razdelke že izbrali ob kakšni predhodni\n"
+"namestitvi GNU/Linux sistema s kakim drugim orodjem za\n"
+"razdeljevanje, lahko uporabite obstojeÄe razdelke, sicer pa morate\n"
+"razdelke trdega diska za namestitev doloÄiti sedaj.\n"
+"\n"
+"Najprej izberite trdi disk, ki ga želite razdeliti. Če želite izbrati\n"
+"disk na prvem IDE vodilu, kliknite na »hda«, disk na drugem\n"
+"IDE vodilu ima oznako »hdb«, na prvem SCSI vodilu »sda« itd.\n"
+"\n"
+"Za razdelitev izbranega diska so vam na voljo naslednje možnosti:\n"
+"\n"
+" * »%s«: brisanje vseh razdelkov na izbranem disku\n"
+"\n"
+" * »%s«: samodejno ustvarjanje ext4 in izmenjalnih (swap) razdelkov\n"
+"na prostem delu vašega trdega diska.\n"
+"\n"
+"»%s«: dostop do dodatnih možnosti:\n"
+"\n"
+" * »%s«: shranjevanje razdelitvene tabele na disketo, kar vam omogoÄi,\n"
+"da razdelitveno tabelo obnovite, Äe je to potrebno.\n"
+"PriporoÄamo vam, da ta korak izvedete!\n"
+"\n"
+" * »%s«: obnovitev razdelitvene tabele z diskete.\n"
+"\n"
+" * »%s«: popravilo poškodovane razdelitvene tabele, ki pa ne\n"
+"uÄinkuje v vsakem primeru.\n"
+"\n"
+" * »%s«: odstranitev vseh sprememb in obnovitev prvotne razdelitvene\n"
+"tabele trdega diska.\n"
+"\n"
+" * »%s«: Äe odstranite oznaÄitev te možnosti, bo moral uporabnik\n"
+"roÄno priklapljati odstranljive medije, kot sta disketni in CD pogon.\n"
+"\n"
+" * »%s«: To možnost izberite, Äe želite za razdeljevanje diska\n"
+"uporabiti Äarovnika. To vam priporoÄamo, Äe razdeljevanja diska\n"
+"ne obvladate v celoti.\n"
+"\n"
+" * »%s«: preklic vseh sprememb.\n"
+"\n"
+" * »%s«: dodatne možnosti nastavitev razdelkov (vrsta datoteÄnega\n"
+"sistema, formatiranje, nastavitve) in prikaz obširnejših informacij o\n"
+"trdem disku.\n"
+"\n"
+" * »%s«: shranjevanje sprememb na trdi disk po konÄanem\n"
+"razdeljevanju.\n"
+"\n"
+"Za doloÄanje velikosti razdelka lahko uporabite tipke s puÅ¡Äicami\n"
+"[Levo/Desno] na tipkovnici.\n"
+"\n"
+"Vsako možnost lahko dosežete z uporabo tipkovnice. Med razdelki\n"
+"se premikate s tipko [TAB] ali s puÅ¡Äicami [Gor/Dol].\n"
+"\n"
+"Ko izberete razdelek, lahko uporabite naslednje ukaze:\n"
+"\n"
+" * Ctrl-c za ustvarjanje novega razdelka\n"
+"\n"
+" * Ctrl-d za brisanje razdelka\n"
+"\n"
+" * Ctrl-m za nastavitev priklopne toÄke\n"
+"\n"
+"Vse nadaljnje informacije o datoteÄnih sistemih boste naÅ¡li v\n"
+"dokumentaciji.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Shrani tabelo razdelkov"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Obnovi tabelo razdelkov"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Reši tabelo razdelkov"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Samodejno priklapljanje odstranljivih nosilcev"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "ÄŒarovnik"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Razveljavi"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Preklopi med normalnim in izvedenskim naÄinom"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na vaÅ¡em trdem disku je veÄ kot en razdelek za Windows.\n"
+"Izberite razdelek, ki ga želite zmanjšati, da bi pridobili prostor za\n"
+"namestitev sistema Mageia.\n"
+"\n"
+"Na seznamu so razdelki s podatki: »Ime v Linuxu«, »Ime v Windows«\n"
+"»Velikost« \n"
+"»Ime v Linuxu« vsebuje: »vrsto trdega diska«, »številko trdega diska«\n"
+"»številko razdelka« (n.pr. »hda1«)\n"
+"\n"
+"»Vrsta trdega diska« je »hd«, Äe gre za IDE disk in »sd«, Äe gre za \n"
+"SCSI disk.\n"
+"\n"
+"»Številka trdega diska« je vedno Ärka, ki sledi oznaki »hd« oziroma\n"
+"»sd«. Pri IDE diskih:\n"
+"\n"
+" * »a« pomeni »glavni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »b« pomeni »podrejeni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »c« pomeni »glavni trdi diski na sekundarnem IDE vodilu«\n"
+"\n"
+" * »d« pomeni »podrejeni trdi diski na sekundarnem IDE vodilu«\n"
+"\n"
+"Pri SCSI trdih diskih pomeni »a« »najnižji SCSI ID«, »b«\n"
+"»drugi najnižji SCSI ID« itd.\n"
+"\n"
+"»Ime v Windows« je Ärka, s katero je disk oznaÄen v Windows.\n"
+"Prvi disk ali oziroma razdelek je oznaÄen s »C:«."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"»%s«: Preverite, katero državo ste izbrali. Če v resnici niste v izbrani "
+"državi,\n"
+"kliknite »%s« in izberite drugo. Če država, v kateri ste, ni prikazana,\n"
+"kliknite »%s« za prikaz celotnega seznama držav."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ta korak se zažene samo v primeru, da na vaÅ¡em raÄunalniku že obstaja\n"
+"razdelek za GNU/Linux.\n"
+"\n"
+"Lahko izbirate med novo namestitvijo in med posodobitvijo obstojeÄega\n"
+"sistema Mageia.\n"
+"\n"
+" * »%s«: S tem boste obstojeÄi sistem povsem odstranili. ÄŒe želite\n"
+"spremeniti razdelitev trdega diska ali datoteÄni sistem, izberite to\n"
+"možnost. V nekaterih primerih, odvisno od tega, kako je razdeljen\n"
+"disk, lahko ohranite nekatere obstojeÄe podatke.\n"
+"\n"
+" * »%s«: Ta naÄin namestitve dopuÅ¡Äa posodobitev obstojeÄih\n"
+"paketov. S tem nista ogrožena niti razdelitev diska niti shranjeni\n"
+"podatki. VeÄina preostalih korakov namestitve bo dosegljiva,\n"
+"podobno kot pri obiÄajni novi namestitvi.\n"
+"\n"
+"Možnost »Posodobitev« deluje, Äe imate nameÅ¡Äeno razliÄico\n"
+"sistema Mageia »8.1« ali novejšo. Posodobitve starejših\n"
+"razliÄic od »8.1« ne priporoÄamo."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX bo samodejno izbral razpored tipkovnice glede na jezik, ki ste\n"
+"ga izbrali. ÄŒe vam to ne ustreza, zamenjajte razpored tipkovnice.\n"
+"\n"
+"Morda vam ustreza, da uporabljate drugaÄen razpored tipkovnice,\n"
+"kot pripada izbranemu jeziku. Če sicer govorite angleško,\n"
+"živite pa v Sloveniji, vam bo najbrž ustrezal slovenski razpored.\n"
+"V tem koraku namestitve lahko izberete razpored tipkovnice, ki vam\n"
+"najbolj ustreza.\n"
+"\n"
+"Kliknite na gumb »%s« in pojavil se bo seznam vseh tipkovnic, ki jih sistem "
+"podpira.\n"
+"\n"
+"ÄŒe ste izbrali tipkovnico, ki temelji na ne-latiniÄni abecedi,\n"
+"lahko v naslednjem koraku doloÄite ukaz, ki vam bo omogoÄil\n"
+"preklapljanje med latiniÄnim in ne-latiniÄnim razporedom tipkovnice."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Najprej izberite jezik, ki ga želite uporabljati.\n"
+"\n"
+"Izbira jezika bo vplivala na jezik namestitve, dokumentacije in \n"
+"celotnega sistema. Najprej izberite celino oziroma regijo, kjer\n"
+"živite in nato še jezik, ki ga govorite.\n"
+"\n"
+"Če kliknete na gumb »%s«, boste lahko izbrali dodatne jezike,\n"
+"ki jih želite namestiti. Če bodo uporabljali vaš sistem uporabniki,\n"
+" ki govorijo razliÄne jezike, lahko kot privzeti jezik namestite\n"
+"slovenÅ¡Äino, tako da jo izberete v drevesnem pogledu. Kot dodatni\n"
+"jezik pa lahko namestite na primer angleÅ¡Äino, tako da izberete »%s« v "
+"naprednem naÄinu.\n"
+"\n"
+"Podpora UTF-8 (unicode) Unicode je kodiranje znakov, ki poizkuša\n"
+"zagotoviti pravilen prikaz pisav vseh poznanih jezikov. Ker je unicode\n"
+" za GNU/Linux Å¡e v razvoju, lahko doloÄite, ali naj ga sistem uporablja\n"
+"ali ne.\n"
+"\n"
+" * ÄŒe izberete jezike s kodiranjem latin1, kot so ruÅ¡Äina, japonÅ¡Äina,\n"
+"grÅ¡Äina in veÄina jezikov ki uporabljajo nabor znakov iso-8859-2, bo\n"
+"kot privzeto kodiranje nastavljeno latin1.\n"
+"\n"
+" * Ostali jeziki bodo kot privzeto kodiranje uporabljali unicode.\n"
+"\n"
+" * Äe izberete dva ali veÄ jezikov, ki uporabljajo razliÄna kodiranja,\n"
+"bo unicode uporabljal celoten sistem.\n"
+"\n"
+" * Unicode lahko doloÄite kot privzeto kodiranje tako, da izberete »%s«\n"
+"ne glede na to, kateri jezik ste izbrali.\n"
+"\n"
+"Å tevilo dodatnih jezikov ni omejeno, lahko jih izberete veÄ.\n"
+"z izbiro »%s« pa lahko izberete vse jezike. Če boste izbrali to možnost\n"
+"bodo nameÅ¡Äeni tudi paketi s pisavami, prevodi, Ärkovalniki itd.\n"
+"za vse izbrane jezike.\n"
+"\n"
+"Za preklapljanje med razliÄnimi jeziki poženete ukaz »localedrake«\n"
+"kot »root«. V tem primeru bo zamenjava jezika veljala za celoten sistem.\n"
+"Če pa isti ukaz poženete kot navaden uporabnik, bo sprememba veljala\n"
+"le za trenutnega uporabnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Å panÅ¡Äina"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Privzeto uporabljaj Unicode"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX obiÄajno nima težav z zaznavanjem Å¡tevila tipk vaÅ¡e miÅ¡ke.\n"
+"V primeru, da pa se težave pojavijo, upošteva predpostavko, da ima\n"
+"miška dve tipki, in nastavi emulacijo tretje tipke. Tretjo tipko\n"
+"miÅ¡ke z dvema tipkama v tem primeru nadomeÅ¡Äa istoÄasni pritisk na\n"
+"obe tipki. DrakX samodejno zazna tudi, na kateri vmesnik je vaša\n"
+"miÅ¡ka prikljuÄena. (PS/2, serijska vrata, USB)\n"
+"\n"
+"Če imate miško s tremi tipkami, vendar brez kolesca, izberite miško\n"
+"»%s«. DrakX jo bo nastavil tako,\n"
+"da boste kolesce lahko simulirali s pritiskom na srednjo\n"
+"tipko ob istoÄasnem premikanju miÅ¡ke v smeri gor - dol.\n"
+"\n"
+"ÄŒe želite nastaviti drugaÄno vrsto miÅ¡ke, lahko to storite tako, da\n"
+"jo izberete s seznama.\n"
+"Z možnostjo »%s«, boste izbrali generiÄno miÅ¡ko, ki deluje skoraj\n"
+"z vsemi vrstami mišk.\n"
+"\n"
+"ÄŒe izberete miÅ¡ko, razliÄno od privzete, se bo prikazalo preizkusno\n"
+"okno. Preizkusite delovanje vseh tipk in njihovih funkcij ter se "
+"prepriÄajte,\n"
+"da delujejo pravilno. Če miška ne deluje pravilno, pritisnite preslednico,\n"
+"da se boste vrnili v okno za izbiro miške.\n"
+"\n"
+"ObÄasno se zgodi, da miÅ¡ke s koleÅ¡Äkom program za nameÅ¡Äanje ne zazna\n"
+"samodejno. PrepriÄajte se, da je roÄno izbrana miÅ¡ka prikljuÄena\n"
+"na ista vrata, kot je v resnici prikljuÄena vaÅ¡a miÅ¡ka. Ko boste izbrali "
+"miško\n"
+"in pritisnili na gumb »%s«, se bo na zaslonu prikazala slika miške.\n"
+"Zavrtite miÅ¡kino kolesce, da se prepriÄate, ali deluje pravilno.\n"
+"Preizkusite še delovanje tipk in ali miškin kazalec sledi gibanju\n"
+"miške."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "S posnemanjem kolesca"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzalna | Katera koli PS/2 ali USB miška"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Izberite prava vrata. Vrata, ki so v Windows oznaÄena s »COM1«, imajo v\n"
+"GNU/Linuxu oznako »ttyS0«."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO in GRUB sta zagonska nalagalnika za GNU/Linux.\n"
+"Zagonski nalagalnik je programÄek, ki ga raÄunalnik zažene \n"
+"ob zagonu. Poskrbi za zagon celotnega sistema\n"
+"ObiÄajno je ta del namestitve povsem samodejen. DrakX analizira zagonski\n"
+"sektor diska in doloÄi ustrezne nastavitve\n"
+"\n"
+" * ÄŒe odkrije zagonski sektor za Windows, ga nadomesti\n"
+"z LILO ali GRUB zagonskim sektorjem. Tako boste lahko naložili\n"
+"GRUB, LILO ali drug na raÄunalnik nameÅ¡Äen sistem.\n"
+"\n"
+" * ÄŒe odkrije zagonski sektor GRUB ali LILO, ga nadomesti z novim.\n"
+"\n"
+"ÄŒe Drakx ne more tega doloÄiti samodejno, vas bo vpraÅ¡al,\n"
+"kje naj namesti zagonski nalagalnik. ObiÄajno je najbolj varno\n"
+"mesto »%s«. ÄŒe izberete »%s«, zagonski nalagalnik ne bo nameÅ¡Äen\n"
+"To možnost izberite samo, Äe zares veste, kaj delate. "
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Izberite sistem za tiskanje. Drugi operacijski sistemi navadno nudijo\n"
+"en sistem, Mageia pa vam daje na izbiro dva.\n"
+"Od obeh sistemov je vsak primeren za svojo vrsto namestitve.\n"
+"\n"
+" * »%s«--je kratica za »print, do not queue« (tiskaj, ne vnesi v Äakalno "
+"vrsto).\n"
+"Ta sistem izberite, Äe imate s tiskalnikom neposredno povezavo, Äe želite\n"
+"imeti možnost zaustavitve tiskalnika ob napakah in nimate omrežnega\n"
+"tiskalnika. (»%s« je uporaben le za enostavna omrežna opravila in\n"
+"je za uporabo v omrežjih nekoliko poÄasen.) Uporabo »pdq« vam\n"
+"priporoÄamo, Äe je to vaÅ¡a prva izkuÅ¡nja s sistemom GNU/Linux.\n"
+"\n"
+" * »%s« - »Common Unix Printing System« je izvrstna izbira tako za\n"
+"tiskanje na vašem krajevnem tiskalniku, kot za tiskanje kjerkoli na svetu.\n"
+"Je enostaven za nastavljanje in lahko služi kot strežnik ali kot uporabnik\n"
+"v starodavnem »lpd« tiskalniškem sistemu, tako da je združljiv s starejšimi\n"
+"operacijskimi sistemi, ki še potrebujejo tiskalniške storitve. Kljub temu, "
+"da\n"
+"je zelo moÄan sistem, je za nastavljanje skoraj tako enostaven,\n"
+"kot »pdq«.\n"
+"ÄŒe potrebujete emulacijo lpd strežnika, vkljuÄite možnost »cups-lpd«.\n"
+"»%s« vsebuje grafiÄne nastavitve za izbiro možnosti tiskanja in za\n"
+"nastavljanje tiskalnika.\n"
+"\n"
+"ÄŒe kasneje ugotovite, da vam nastavitve, ki ste jih izbrali, ne ustrezajo,\n"
+"jih lahko spremenite z orodjem PrinterDrake v nadzornem srediÅ¡Äu, tako\n"
+"da kliknete gumb »%s«."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Napredno"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX bo najprej zaznal vse naprave, ki so v vaÅ¡em raÄunalniku\n"
+"prikljuÄene na IDE vodila in vse PCI SCSI kartice. ÄŒe bo zaznal\n"
+"eno ali veÄ PCI SCSI kartic, bo zanje namestil ustrezne gonilnike.\n"
+"\n"
+"Zaznavanje strojne opreme ni povsem zanesljivo. ÄŒe DrakX katere\n"
+"od naprav ne bo zaznal, jo boste morali dodati roÄno.\n"
+"\n"
+"ÄŒe ste morali roÄno dodati PCI SCSI kartico, vas bo DrakX povpraÅ¡al,\n"
+"Äe jo želite tudi nastaviti roÄno. Dovolite, da DrakX preizkusi možnosti "
+"in \n"
+"nastavi vrednosti, ki so potrebne za inicializacijo kartice. V veÄini\n"
+"primerov DrakX pri tem nima težav.\n"
+"\n"
+"ÄŒe DrakX kartice ne uspe nastaviti samodejno, boste morali gonilnik\n"
+"za kartico nastaviti roÄno."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"»%s«: ÄŒe je sistem zaznal zvoÄno kartico, je prikazana\n"
+"na tem mestu. ÄŒe je prikazana drugaÄna kartica, kot je\n"
+"prikljuÄena v raÄunalniku, kliknite na gumb in izberite\n"
+"drug gonilnik."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX bo prikazal pregled podatkov, ki jih je zbral o vašem sistemu.\n"
+" Vrsta in število prikazanih vnosov sta odvisna od strojne opreme, ki je \n"
+"prikljuÄena v vaÅ¡em raÄunalniku. Vsak vnos vsebuje ime naprave ali\n"
+"storitve ter kratek pregled njenih trenutnih nastavitev. Če želite "
+"nastavitve\n"
+"spreminjati, kliknite na ustrezen gumb »%s«.\n"
+"\n"
+" * »%s«: Preverite nastavitev razporeda tipkovnice in jo popravite,\n"
+"Äe je potrebno.\n"
+"\n"
+" * »%s«: Preverite izbrano državo. Če se ne nahajate v izbrani državi,\n"
+"kliknite na gumb »%s« in izberite pravo.Če prava država ni navedena,\n"
+"kliknite gumb »%s« za popoln seznam držav.\n"
+"\n"
+" * »%s«: DrakX samodejno kot privzeti Äasovni pas nastavi pas,\n"
+"v katerem je izbrana država. Za spremembo Äasovnega pasu kliknite\n"
+"»%s«.\n"
+"\n"
+" * »%s«: Preverite nastavitve miÅ¡ke in Äe je to potrebno, jih popravite\n"
+"s klikom na gumb.\n"
+"\n"
+" * »%s«: ÄŒe kliknete na gumb »%s«, boste zagnali Äarovnika za\n"
+"nastavljanje tiskalnika. V dokumentaciji lahko preberete veÄ o prikljuÄitvi\n"
+"in nastavljanju tiskalnikov.\n"
+"Prikaz nastavljanja tiskalnikov v dokumentaciji je podoben prikazu na "
+"zaslonu\n"
+"med nastavljanjem.\n"
+"\n"
+" * »%s«: ÄŒe je sistem zaznal zvoÄno kartico, je navedena na tem mestu.\n"
+"ÄŒe mislite, da navedena kartica ni ista, kot je dejansko prikljuÄena v\n"
+"vaÅ¡em raÄunalniku, kliknite na gumb in izberite drug gonilnik.\n"
+"\n"
+" * »%s«: Če imate TV kartico, bodo tu prikazani podatki o njeni nastavitvi.\n"
+"Če TV kartico imate, pa je sistem ni zaznal, kliknite »%s« in jo poizkusite\n"
+" nastaviti roÄno\n"
+"\n"
+" * »%s«: ÄŒe menite, da so nastavitve kartice napaÄne, kliknite »%s«\n"
+"in nastavitve popravite roÄno.\n"
+"\n"
+" * »%s«: Privzeta nastavitev loÄljivosti grafiÄnega vmesnika je\n"
+"»800x600« ali »1024x768«. Če vam privzeta nastavitev ne ustreza,\n"
+"jo spremenite tako, da kliknete na »%s«.\n"
+"\n"
+" * »%s«: Nastavljanje omrežja in dostopa do interneta.\n"
+"\n"
+" * »%s«: Nastavljanje posredniškega strežnika.\n"
+"\n"
+" * »%s«: Nastavljanje ali spreminjanje ravni varnosti.\n"
+"\n"
+" * »%s«: ÄŒe nameravate svoj raÄunalnik povezati z internetom, je\n"
+"priporoÄljivo, da ga zavarujete s požarnim zidom.\n"
+"\n"
+" * »%s«: Na ta gumb kliknite, Äe želite spremeniti nastavitve zagonskega\n"
+"nalagalnika. To priporoÄamo samo izkuÅ¡enim uporabnikom!.\n"
+"\n"
+" * »%s«: Tu lahko doloÄite, katere storitve naj teÄejo na vaÅ¡em raÄunalniku.\n"
+"ÄŒe boste raÄunalnik uporabljali kot strežnik, vam priporoÄamo, da\n"
+"pregledate in prilagodite te nastavitve."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV kartica"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "GrafiÄna kartica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izberite trdi disk, ki ga želite izbrisati, da bi dobili prostor za "
+"razdelek\n"
+"za distribucijo Mageia.\n"
+"Vsi podatki na izbranem disku bodo izbrisani in jih ne bo mogoÄe\n"
+"obnoviti!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Če želite izbrisati vse razdelke na tem disku in vse podatke na njih,\n"
+"kliknite na »%s« Pazite, po tem, ko boste kliknili »%s«, razdelkov\n"
+"ali podatkov ne bo mogoÄe obnoviti.\n"
+"\n"
+"Kliknite »%s«, Äe razdelkov in podatkov na tem disku ne želite\n"
+"izbrisati."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Naprej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nazaj"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "»%s«: S klikom na »%s« lahko zaženete Äarovnika za nastavljanje "
+#~ "tiskalnikov.\n"
+#~ "V dokumentaciji lahko preberete veÄ o prikljuÄitvi in nastavljanju "
+#~ "tiskalnikov.\n"
+#~ "Prikaz nastavljanja tiskalnikov v dokumentaciji je podoben prikazu na "
+#~ "zaslonu\n"
+#~ "med nastavljanjem."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "S staliÅ¡Äa varnosti je to eden od najpomembnejÅ¡ih korakov namestitve\n"
+#~ "GNU/Linux operacijskega sistema: doloÄitev gesla korenskega, »root«\n"
+#~ "uporabnika. Korenski uporabnik je upravitelj sistema in je pooblaÅ¡Äen\n"
+#~ "za spreminjanje sistemskih nastavitev, dodajanje uporabnikov, nameÅ¡Äanje\n"
+#~ "programov, skratka, »root« lahko stori karkoli! Zato doloÄite geslo, ki ga "
+#~ "ni\n"
+#~ "lahko uganiti. DrakX vas bo opozoril, Äe je izbrano geslo prelahko.\n"
+#~ "Lahko se tudi odloÄite, da gesla sploh ne doloÄite, vendar vam to zares\n"
+#~ "odsvetujemo. GNU/Linux je v enaki meri obÄutljiv za napake operaterja,\n"
+#~ "kot katerikoli drug operacijski sistem, zato se lahko zgodi, da nehote\n"
+#~ "napravite kakšno nepopravljivo napako. Prav zato pa je pomembno,\n"
+#~ "da postati »root« ni preveÄ enostavno.\n"
+#~ "\n"
+#~ "Geslo naj bo sestavljeno iz Ärk in Å¡tevilk, vsebuje pa naj vsaj osem\n"
+#~ "znakov. Gesla uporabnika root si nikoli ne zapišite!\n"
+#~ "\n"
+#~ "Nasvet: geslo naj ne bo predolgo ali preveÄ zapleteno. Izberite\n"
+#~ "geslo, ki si ga boste lahko zapomnili!\n"
+#~ "\n"
+#~ "Medtem, ko geslo vpisujete, ga ni mogoÄe videti. Da bi se izognili\n"
+#~ "napakam pri tipkanju, ga morate vpisati dvakrat.\n"
+#~ "\n"
+#~ "ÄŒe želite, da bi dostop do raÄunalnika nadzirala storitev za overjanje,\n"
+#~ "kliknite na gumb »%s«.\n"
+#~ "\n"
+#~ "Če vaše omrežje uporablja storitev za overjanje domene LDAP,\n"
+#~ "NIS ali Windows domain authentication, izberite ustrezno storitev\n"
+#~ "za »%s«. Če ne veste, katero morate izbrati, vprašajte omrežnega\n"
+#~ "operaterja.\n"
+#~ "\n"
+#~ "ÄŒe si gesla težko zapomnite, Äe vaÅ¡ raÄunalnik ne bo povezan\n"
+#~ "z internetom in Äe v celoti zaupate vsem, ki bodo uporabljali\n"
+#~ "vaÅ¡ raÄunalnik, lahko izberete »%s«."
+
+#~ msgid "authentication"
+#~ msgstr "Overjanje"
diff --git a/perl-install/install/help/po/sq.po b/perl-install/install/help/po/sq.po
new file mode 100644
index 000000000..d87248cd2
--- /dev/null
+++ b/perl-install/install/help/po/sq.po
@@ -0,0 +1,2028 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Naim Daka <naim70@freesurf.ch>, 2002, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX for MDK 9.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Naim Daka <naim70@freesurf.ch>\n"
+"Language-Team: Albanian <LL@li.org>\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Para se të vazhdoni më tutje, ju duhet ti lexoni termet dhe kushtet për\n"
+"përdorimin e licencës. Kjo mbulon tërë shpërndarjen e Mageia,\n"
+"nëse ju pajtoheni me këto kushte, klikoni mbi mbi kopsën \"%s\".\n"
+"Nëse ju nuk pajtoheni atëher thjeshtë ndaleni komjuterin tuaj."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux është një sistem multi-përdorues, që d.m.th. në shumicën e "
+"rasteve\n"
+"secili përdorues mund të posedoj pëlqime të ndryshme për skedaret e tyre,\n"
+"etj. Për më shumë infomacione, konsultoni ``Doracakun Nisës'' për të ditur\n"
+"më shumë mbi sistemin e multi përdoruesve.\n"
+"Përkundarzi në \"root\", që është administrator, përdoruesit e shtuar në "
+"këtë\n"
+"vend, do të kenë leje për qeverisje vetëm në skedaret e tyre. Përdoruesi\n"
+"administrator duhet të krijoj një konto normale të një përdoruesi të "
+"rregullt\n"
+"për nevojat tuaja -- kjo konto do të përdoret gjdo ditë.\n"
+"Pa marrë pasysh se a do të jetë r lehtë lidhja e administratorit \"root\"\n"
+"për të verpruar gjdo gjë që është e mundur, dhe mund të jet tejet e "
+"rrezikshme!\n"
+"Një gabim i vogël mund të blokoj tërë sistemin tuaj, dm.m.th. nuk do të\n"
+"niset siç duhet. Nëse ju bëni një gabim serioz atëher sikur përdorues "
+"normal\n"
+"e tëra që mund të bëni është të zhdukni disa informacione dhe nuk mund të\n"
+"shkaktoni dëme tjera kudo qoftë.\n"
+"\n"
+"Në fillim duhet të futni emrin e vërtet të personit. Njashtu, ju mund të\n"
+"shkruani çfarë të doni. DrakX do ta pranoj fjalën e parë të futur dhe do ta\n"
+"dërgojë tek \"%s\". Emër i cili do të përdoret për tu lidhur në sistem.\n"
+"Ju mund ta ndryshoni. Tani duhet të futni parullën. Kjo nuk është aq "
+"vështirë\n"
+"është vetëm parulla e administratorit \"root\", mirëpo nuk është një arësye\n"
+"të shkruhet sikur 123456. Mbasë të tjerash, kjo mund ti vendos skedaret "
+"tuaja\n"
+"në rrezik.\n"
+"\n"
+"Nëse klikoni mbi \"%s\", do të keni mundësinë për të shtuar përdorues\n"
+"të tjerë. Krijoni përdorues të ndryshëm për çdo personë me mundësi\n"
+"për ta përdorur kompjuterin. Mbasi që të gjithë përdoruesit përcaktohen\n"
+"klikoni mbi \"%s\".\n"
+"\n"
+"Nëse klikoni mbi \"%s\", ju mund ta zgjedhni një \"shell\" vetëm\n"
+"për atë përdorues (bash është shell-i me marrëveshje).\n"
+"\n"
+"Mbasi të përfundoni me shtuarjen e përdoruesve, do të keni mundësinë të\n"
+"zgjedhni një përdorues që të lidhet automatikisht kur kompjuteri juaj niset\n"
+"nga fillimi. Nëse ju interson ky sistem në të ardhmën (dhe nuk kujdeseni\n"
+"shumë për sigurinë lokale), zgjedheni përdoruesin e caktuar dhe dritaren\n"
+"administruese, dhe klikoni mbi \"%s\". Nëse kjo nuk ju interson në të\n"
+"ardhmën, atëherë çzgjedheni kutinë \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "A dëshironi ta përdorni këtë veçori?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Lista e lartë shënuar identifikon ndrajet Linux të zbuluara në\n"
+"sistemin tuaj. Ju mund ti pranoni zgjedhjet e propzuara nga asistenti\n"
+"i cili është i mirë se ardhur në shumicën e rasteve gjatë instalim.\n"
+"Nëse ju e bëni ndonji ndryshim, ju duhet të posedoni më së paku një ndarje\n"
+"root (\"/\"). Mos zgjidhni ndarje shumë të vogla sepse nuk do të keni\n"
+"mundësi të instaloni programe të mjaftueshme. Nëse dëshironi ti mbani\n"
+"të dhënat tuaja në një ndarje tjetër nga ndarje primare root, atëherë\n"
+"ju duhet të krijoni një ndarje \"/home\" (ky manupulim është i mundshëm\n"
+"nëse posedoni më së paku një ndarje Linux për ta konfiguruar).\n"
+"\n"
+"Secila ndarje është e listuar në kë mënyrë: \"Emri\", \"Kapaciteti\".\n"
+"\n"
+"\"Emri\" është i strukturuar simbas: \"tipi i diskut të fort\", \"numri i "
+"diskut të fort\", \"numri i ndrajes\" (për shembull, \"hda1\").\n"
+"\n"
+"\"Tipi i diskut të fort\" nëse është disk i fort \"hd\" është disk i fort\n"
+"IDE dhe nëse është disk i fort \"sd\" është disk i fort SCSI.\n"
+"\n"
+"\"Numri diskut të fort\" është gjithnji i shënuar mbasë \"hd\" ose \"sd\".\n"
+"Për disqet e forta IDE:\n"
+"\n"
+" * \"a\" do të thotë \"disku i fort master në kontrolluesin primar IDE\";\n"
+"\n"
+" * \"b\" do të thotë \"disku i fort sklavë në kontrolluesin primar IDE\";\n"
+"\n"
+" * \"c\" do të thotë \"disku i fort master në kontrolluesin sekondar IDE\";\n"
+"\n"
+" * \"d\" do të thotë \"disku i fort esklavë në kontrolluesin sekondar IDE"
+"\".\n"
+"\n"
+"Për disqet SCSI, \"a\" do të thotë \"më i vogli SCSI ID\", dhe \"b\" do të "
+"thotë \"i dyti dhe më i vogli me radhë SCSI ID\", etj."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Pakot e nevojshme për Instalimin e Mageia janë të shpërndara në shumë\n"
+"CDROM-e. Fatëmirësisht, DrakX i njef të gjitha lokacinet e pakove në CDROM-"
+"e.\n"
+"Ai do ta qetë jashtë CD-në që gjindet në lexuesin e CD-ve, dhe juve do të "
+"ju\n"
+"pyes, që ta futni CD-në tjetër të nevojshme në lexues."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Tani është momenti që ti zgjedhni pakot që duhet të instalohen në sistemin\n"
+"tuaj. Duhet ta dini se Mageia përmban me mijëra pako instaluese,\n"
+"dhe nuk është me rendësi që ti njifti të gjitha për mendësh.\n"
+"\n"
+"Pakot janë të radhitura në grupe përkatëse për përdorim të veçant në "
+"makinën\n"
+"tuaj. Mageia posedon katër instalime të përcaktuara. Ju mund të\n"
+"mendoni mbi këto klasa instaluese si kontainer të pakove të ndryshme.\n"
+"Ju keni mundësi ti përzini (mix) dhe ti barazoni aplikacionet nga "
+"kontainerët\n"
+"e ndryshëm, sikur ``Stacion Punues'' instalimi mund të posedoj ende\n"
+"aplikacione nga ``Zhvillimi'' i kontainerit instalues.\n"
+"\n"
+" * \"%s\": nëse ju mendoni ta përdorni stacionin punues në këtë, mënyrë,\n"
+"zgjedhni një apo më shumë aplikacion, që gjinden në kontainerin e stacionit\n"
+"punues.\n"
+"\n"
+" * \"%s\": nëse makina juaj do të përdoret, për krijimin e programeve,\n"
+"zgjedhni pakot qarkulluese nga kontaineri.\n"
+"\n"
+" * \"%s\": nëse makina juaj do të përdoret sikur server, ju mund ti\n"
+"zghedhni serviset përkatëse instaluese.\n"
+"\n"
+" * \"%s\": Ky grup do të ju mundësoj përcaktimin e mjedisit grafik\n"
+"që deshironi ta keni në sistemin tuaj. Natyrisht, ju duhet ta zgjedhni\n"
+"më së paku njërin që ta përdorni sistemin tuaj në modë grafik.\n"
+"\n"
+"Duke e vendosur minin ndër emrin e një grupi, ju do ta vëreni çfaqjen e një\n"
+"përshkrimi të shkurt të atij grupi. Nëse ju i çzhgjidhni të gjitha grupet\n"
+"gjatë instalimit standard (me kundërshtim azhurnimi), një dialog do të\n"
+"çfaqet me propozime të ndryshme zgjedhëse, për një instalim minimal:\n"
+"\n"
+" * \"%s\": instalon pako minimale të mundshme, për të patur një mjedis\n"
+"punues grafik në tryezë.\n"
+"\n"
+" * \"%s\": instalon sistemin e bazës, me disa përdorues të tjerë të\n"
+"bazës dhe dokumnetacionet e tyre. Ky instalim është i përdorshëm sikur\n"
+"bazë për montimin e një serveri.\n"
+"\n"
+" * \"%s\": do të instaloj më së paku që është e mundur në sistemin\n"
+"punues Linux, vetëm në linjë komanduese. Këtij instalimi i nevojiten\n"
+"65MB vendë të zbrazët.\n"
+"\n"
+"Ju mund ta verifikoni mundësinë me \"%s\". Kjo mundësi është e përdorshme\n"
+"nëse ju dini saktësishtë cilat pako duhet të instalohen ose nëse\n"
+"dëshironi të posedoni një kontrol totale gjatë instaimit.\n"
+"\n"
+"Nëse ju keni vazhduar me instalim në modë \"%s\", ju mund ti çzgjedhni\n"
+"të gjitha grupet që ti shmangeni instalimit të programeve të reja. Kjo\n"
+"mundësi është tejet e përdorshme për restaurimin e sistemit të dëmtuar."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Azhurno"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Me dokumentacion bazues"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Provo një instalim minimal"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Më në fund, nëse keni vendosur një instalim me zgjidhje individuale, për\n"
+"të zgjedhur pakot, DrakX do të ju prezentoj një dru të të gjitha pakove\n"
+"të kasifikuara simbas grupit dhe të ndër-grupit. Duke shfletuar drurin,\n"
+"ju mund të zgjedhni grupe, dhe ndër-grupe, apo pako individuale.\n"
+"\n"
+"Kudo që ta zgjedhni një pako e cila gjindet në dru, një përshkrim për të, "
+"do\n"
+"të paraqietet në anën e djathtë.\n"
+"\n"
+"!! Nëse keni zgjedhur një program që ta përdorni në server, ju duhet ta\n"
+"vërtetoni që ai duhet të instalohet. Ndër Mandriva, me marrëveshje të "
+"gjithë\n"
+"serveret do të nisen nga nisja udhëzuese e sistemit (boot). Fatëkeqësisht\n"
+"nga të gjitha forcat e investuara për të ofruar një Linux të sigut, është\n"
+"e mundur që, disa gabime të sigurisë të infektojnë server-et e instaluar,\n"
+"deri në datën e publikimit.\n"
+"Nëse ju nuk e dini për çfarë arësye nevojitet një server, apo për çfarë "
+"është\n"
+"instaluar, klikoni mbi \"%s\". Duke klikuar mbi \"%s\", serveri do të "
+"instaloj\n"
+"të gjitha serviset e ofruara në nisjen e sistemit. !!\n"
+".\n"
+"Opcioni \"%s\" do të çzgjedhë paralajmërimet të cilat do të\n"
+"paraqiten çdo herë kur instaluesi zgjedhë një pako të re. Ky paralajmërim\n"
+"paraqitet, sepse DrakX e ka përcaktuar atë, dhe që një pako të funksionoj "
+"si\n"
+"duhet i nevojitet një tjetër, d.m.th. mvaret edhe nga pako tjetër\n"
+"\n"
+"Ikona e vogël e disketës floppy (floppy disk), e cila paraqitet poshtë\n"
+"në listë, mundëson rikuperimin e listës së pakove të zgjedhura gjatë një\n"
+"instalimi tjetër. Duke klikuar mbi të, do të ju pyesim që ta futni një\n"
+"disketë e cila është krijuar gjatë një instalimi të mëparshëm. Verifikoni\n"
+"shënimin e dytë të etapës së fundit, që do të ju mësoj se si duhet ta\n"
+"krijoni një disketë të tillë."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Mvarësit Automatike"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ky dialog ju mundëson zgjidhjen serviseve prezente për nisjen e sistemit\n"
+"tuaj me udhëzim (boot).\n"
+"\n"
+"DrakX do të listoj të gjitha serviset prezente me instalime vendase.\n"
+"Bëjeni një verifikim dhe eliminoni ato që nuk nevojiten për një nisje\n"
+"me udhëzim (boot).\n"
+"\n"
+"Ju mund të përfitoni shpjegime të shkurtëra, duke i zgjedhur ato një nga\n"
+"një. Kjo d.m.th. nëse ju nuk jeni i sigurt për aplikacionin e një servisi,\n"
+"mirëmbani paramtrat me marrëshje.\n"
+"\n"
+"!! Në këtë etapë, vini re në rastin e një sistemi të përcaktuar me "
+"reakcione\n"
+"të server-it: në këtë rast, ju dëshironi ti lejoni të gjitha serviset e\n"
+"duhura. Keni kujDES, se disa nga serviset mund të jenë të rrezikshme\n"
+"nëse ato nuk janë të lira në server. Në raste të përgjithshëm ju duhet ti\n"
+"zgjedhni vetëm serviset që ju nevojiten.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manipulon orën në GMT (Greenwich Mean Time) dhe e shëndërron në\n"
+"kohë lokale simbas zonës të cilën ju e zgjidhni. Nëse ora në kartelën-nënë\n"
+"rregullohet simbasë kohë lokale, ju keni mundësi ta dezaktivizoni atë duke\n"
+"çzgjedhur \"%s\" i cili do të ju lejoj që GNU/Linux sistemi i orës dhe i\n"
+"orës hardver të jenë në të njëjtën kohë. Kjo është tejet e përdorshme kur\n"
+"makina apo edhe ndonji ftues tjetër sikur p.sh. Windows.\n"
+"\n"
+"\"%s\" mundëson rregullimin e orës automatikisht duke u lidhur ne një "
+"server\n"
+"të kohës në Internet. Në listën e cila është prezentuar, zgjedheni një\n"
+"server gjeografikisht më afër jush. Ju duhet të posedoni një kyqje "
+"Internet,\n"
+"që ky të funksionoj si duhet. Ky do të instaloj në makinën tuaj, një server\n"
+"të kohës lokale, i cili mund të jetë i mundshëm, që ai të përdoret nga\n"
+"përdoruesit e tjerë të kësaj makine, nga rrjeti i juaj lokal"
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronizimi automatik i orës"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kartela Grafike\n"
+"\n"
+" Instaluesi normalisht e zbulon dhe e konfiguron automatikisht kartelën,\n"
+"grafike në kompjuterin tuaj. Nëse ky operacion dështon, ju keni mundësi\n"
+"ta zgjedhni në këtë listë kartelën tuaj aktuale.\n"
+"\n"
+" Në raste se servera të ndryshëm janë në disponibilitet për kartelën "
+"tuaj,\n"
+"me apo pa nisje në 3D, juve do të ju propozohet zgjedhja e një serveri më "
+"të\n"
+"mirë i cili do të ju nevojitet."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (për Sistemin Windows X) është zemra e interfacit grafik për GNU/Linux\n"
+"në të cilin të gjitha mjediset grafike (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etj.) janë të denguara mbi Mageia.\n"
+"\n"
+"Juve do të ju prezentohet lista e parametrave të ndryshëm për të ndryshuar,\n"
+"dhe për të pranuar çfaqjet grafike optimale: Kartelë Grafike\n"
+"\n"
+" Instaluesi normalisht zbulon automatikisht dhe e konfiguron kartelën,\n"
+"grafike në kompjuterin tuaj. Nëse ky operacion dështon, ju keni mundësi\n"
+"ta zgjedhni në këtë listë kartelën tuaj aktuale.\n"
+"\n"
+" Nëse, server(a) të ndryshëm janë në disponibilitet për kartelën tuaj, me\n"
+"apo pa nisje 3D, juve do të ju propozohet zgjedhja e një serveri më të "
+"mirë,\n"
+"i cili do të ju nevojitet.\n"
+"\n"
+"\n"
+"\n"
+"Monitori\n"
+"\n"
+" Instaluesi ka mundësi ta zbulon dhe ta konfigoj automatikisht monitorin\n"
+"tuaj të lidhur në kompjuter. Nëse ai nuk konfigurohet automatikisht, ju "
+"keni\n"
+"mundësi ta zgjidhni monitorin tuaj nga kjo listë.\n"
+"\n"
+"\n"
+"Vendosmëria e ekranit\n"
+"\n"
+" Ju keni mundësi ta zgjedhni vendosmërinë e ekranit këtu, njashtu edhe\n"
+"thellësinë e ngjyrave mes këtyre mjeteve të lira. Zgjedheni njërën nga më\n"
+"të mirat që ju përshtatet (ju do të keni mundësi ta ndërroni atë edhe mbasë\n"
+"instalimit). Nga zgjedhja e konfigurimit të thjeshtë, i cili është i "
+"paraqitur\n"
+"në monitor.\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" sistemi do të mundohet të hapë ekranin grafik me vendosmëri të "
+"dëshiruar.\n"
+"Nëse ju keni mundësi të shifni lajmin gjatë testimit njashtu edhe "
+"përgjegjen\n"
+"\"%s\", atëher DrakX do të ju propozoj të kaloni në tjetrën etapë. Nëse ju\n"
+"nuk keni mundësi ta shifni lajmin, d.m.th. disa pjesë të zbulimeve\n"
+"automatike janë të pa sakta dhe testi do të përfundoj automatikisht mbasë\n"
+"12 sekondave, i cili do të ju dërgoj mbrapa në menynë e më parëme.\n"
+"Ndryshoni parametrat derisa ju ta gjeni çfaqjen korrekte grafike të ekranit\n"
+"tuaj.\n"
+"\n"
+"\n"
+"\n"
+"Opcionet\n"
+"\n"
+" Ju këtu keni mundësi të zgjedhni gjdo gjë që dëshironi në kompjuterin "
+"tuaj,\n"
+"dhe automatikisht do të kyqeni në nisje me interfac grafik boot. Dukshëm, "
+"ju\n"
+"dëshironi të verifikoni \"%s\" nëse kompjuteri juaj është si një server,\n"
+"apo nëse ju nuk keni qenë i sukseshëm në çfaqjen e konfigurimit."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitori\n"
+"\n"
+" Instaluesi ka mundësi ta zbulon dhe ta konfigoj automatikisht monitorin\n"
+"tuaj të lidhur në kompjuter. Nëse ai nuk konfigurohet automatikisht, ju "
+"keni\n"
+"mundësi ta zgjidhni monitorin tuaj nga kjo listë."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Vendosmëria e ekranit\n"
+"\n"
+" Ju keni mundësi ta zgjedhni vendosmërinë e ekranit këtu, njashtu edhe\n"
+"thellësinë e ngjyrave mes këtyre mjeteve të lira. Zgjedheni njërën nga më\n"
+"të mirat që ju përshtatet (ju do të keni mundësi ta ndërroni atë edhe mbasë\n"
+"instalimit). Nga zgjedhja e konfigurimit të thjeshtë, i cili është i "
+"paraqitur\n"
+"në monitor."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Në disa raste, server të ndryshëm janë të disponibilitet për kartelën tuaj\n"
+"grafike, me apo pa nisje 3D, juve do të ju propozohet zgjedhja e një "
+"serveri\n"
+"më të përshtatshëm për nevojat tuaja."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcionet\n"
+"\n"
+" Më në fund, ju keni mundësi të zgjedhni nisjen e interfacit grafik\n"
+"apo të makinës suaj. Është tejet e rekomanduar që ta zgjidhni \"%s\" nëse\n"
+"ju jeni duke instaluar njashtu edhe një server në makinën tuaj, ose nëse\n"
+"ju nuk keni konfiguruar ekranin tuaj si duhet."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Kjo etapë do të ju mundësoj që të përcaktoni me precizitet vendosjen dhe\n"
+"instalimin e Mageia. Nëse disku i juaj i fortë është zbrazët apo i\n"
+"përdorur nga një sistem tjetër eksploatimi, ju duhet ta shpërndani\n"
+"diskun tuaj në pjesë. Ndarje e diskut d.m.th. ta shpërndani me precizitet\n"
+"që më fund të krijoni një hapësire për instalimin e sistemit Mandriva "
+"Linux.\n"
+"\n"
+"Duke njoftur efektet e proceseve të ndarjeve nuk janë kthyese, (përmbajtjet\n"
+"në disk do të zhduken), ndarja në shumicën e rasteve është stresante dhe\n"
+"frikësuese, për një përdorues të pa eksperimentuar. Për fat të mirë një\n"
+"interfac DrakX, është caktuar për ta. Para se ta nisni, konsultone\n"
+"doracakun tuaj, dhe keni durim.\n"
+"\n"
+"Nëse ndarjet nuk janë përcaktuar, ju duhet ti krijoni duke përdorur\n"
+"asistentin. Simbas konfigurimit të diskut tuaj, një shumicë e opcioneve\n"
+"janë në disponibilitet :\n"
+"\n"
+" * \"%s\": kjo mundësi do të provoj të shpërndajë automatikisht\n"
+"hapësirën e pa përdorur të diskut tuaj. Nuk do të keni pyetje tjera.\n"
+"\n"
+" * \"%s\": asistenti ka zbuluar një apo më shumë ndarje ekzistuese\n"
+"në diskun tuaj. Nëse ju dëshironi ti përdorni, zgjedheni këtë opcion.\n"
+"Mandej ju do të pyetëni për zgjedhjen pikës montuese e cila do të lidhet\n"
+"me ndarjet tjera. Pika trasheguese e montimit është e përcaktuar me\n"
+"marrëveshje dhe në shumicën e rasteve është preferohet që mos ta\n"
+"ndryshoni atë.\n"
+"\n"
+" * \"%s\": nëse Microsft Windows është instaluar në diskun tuaj dhe\n"
+"e përfshinë tërë sipërfaqen e diskut, ju duhet të krijoni një vend për\n"
+"instalimin e të dhënave Linux. Për ta realizuar, ju mund ta shlyeni\n"
+"tërë diskun (shiqo në zgjidhjen ``Shlyeje tërë diskun'') ose ridimenzi-\n"
+"onone hapësirën e përdorur nga ndarja Windows në formë FAT.\n"
+"Ridimenzionimi mund të bëhet pa i humbur të dhënat në disk, me një\n"
+"kusht, nëse ju e keni defragmentuar diskun tuaj në Windows. Një regjistrim\n"
+"i të dhënave tuaja është shumë e preferuar. Kjo mundësi, d.m.th.\n"
+"e dyta mund të përdoret pa humbjen e të dhënave. Kjo zgjidhje është\n"
+"tejet e rekomanduar, për bashkëjetesën e Linux-it dhe Windows-it në të\n"
+"njëjtin kompjuter.\n"
+"\n"
+" Para se ta zgjidhni këtë mundësi, ju duhet të kuptoni se mbas\n"
+"kësaj precedure hapësira e Windows do të jetë zvogëluar. D.m.th.\n"
+"Disku juaj në Windows do të posedoj më pakë hapësirë të lirë për\n"
+"instalimin e programeve apo regjistrimin e të dhënave me Windows.\n"
+"\n"
+" * \"%s\": nëse ju dëshironi ti zhdukni të gjitha\n"
+"të dhënat dhe aplikacionet e instaluara në sistemin tuaj, dhe ti\n"
+"zëvendësoni me një sistem të ri Mageia, zgjedheni këtë mundësi.\n"
+"Keni kujDES, sepse kjo mundësi është e pa kthyeshme mbrapa. Është e pa\n"
+"mundur të gjindet të dhënat e zhdukura.\n"
+"\n"
+" !! Duke zgjedhur këtë mundësi, përmbajtjet në diskun tuaj do të\n"
+"zhduken. !!\n"
+"\n"
+" * \"%s\": kjo zgjidhje do të zhdukë tërë përmbajtjen\n"
+"e diskut, dhe do të rifilloj nga zerroja. Të gjitha të dhënat dhe\n"
+"programet prezente në diskun tuaj do të zhduken.\n"
+"\n"
+" !! Duke zgjedhur këtë mundësi, përmbajtjet në diskun tuaj do të\n"
+"zhduken. !!\n"
+"\n"
+" * \"%s\": mundëson një ndarje manuale të diskut tuaj. Kini kujdes\n"
+"-- është tejet e fuqishme por edhe aq e rrezikshme kjo mundësi.\n"
+"Ju mund të zhdukni përmbajtjen e tërësishme të diskut tuaj. D.m.th.\n"
+"Ju nuk duhet ta zgjidhni këtë mundësi, nëse nuk dini se çfarë bëni.\n"
+"Për të ditur më shumë mbi DiskDrake, përcaktohuni në sekcionin\n"
+"``Qeverisja e Ndarjeve Tuaja'' në `` Përcjellësin Nisës''"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Përdore ndarjen egzistuese"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Shlyeje diskun të tërësi"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja pra ku jeni. Instalimi i juaj GNU/Linux përfundoi, dhe sistemi i juaj\n"
+"është i gatshëm për përdorim. Klikoni mbi \"%s\" për të rinisur sistemin\n"
+"tuaj. Gjëra e parë që ju duhet ta vëreni mbasi që kompjuteri i juaj të\n"
+"përfundoj me testet e bëra është meny bootloader, duke ju mundësuar një\n"
+"nisje nga sistemet operuese që janë prezente në diskun tuaj.\n"
+"\n"
+"Kopsa \"%s\" mundëson dy zgjedhje tjera: \n"
+"\n"
+" * \"%s\": për të krijuar një diskete instaluese, e cila do të ju\n"
+"mundëson, të rizhvilloni një instalim që e keni relaizuar para disa\n"
+"qasteve, pa ndihmën e ndonji administratori.\n"
+"\n"
+" Shënoni, se të dy mundësitë për zgjedhje do të paraqiten mbasi që të\n"
+"klikoni mbi kopsën:\n"
+"\n"
+" * \"%s\". Është një instalim pjesërisht automatikë, ku është\n"
+"e mundur ti personalizoni shpërndarjet, e diskut (veçmas).\n"
+"\n"
+" * \"%s\". Instalim komplet automatik, disku i fort do të\n"
+"rishkruhet kompletisht, dhe të gjitha të dhënat do të zhduken.\n"
+"\n"
+" Kjo mundësi është tejet praktike, për instalimin e më shumë sistemeve.\n"
+"Shiqoni sekcionin Auto Instalim të sitit ton Web.\n"
+"\n"
+" * \"%s\"(*): regjistrimi i listës së pakove të instaluara.\n"
+"Për ta përdorur këtë zgjidhje me një instalim tjetër, futni disketën\n"
+"floppy në lexues, dhe hyni në menyn ndihmuese duke shtypur mbi kopsën\n"
+"[F1] në ftim, dhe futni këtë urdhër me radhë >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Ju keni nevojë për një diskete të formatuar në FAT (për ta krijuar ndër\n"
+"GNU/Linux shkruani \"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "krijo një disketë floppy auto instaluese"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Secila ndarje e përcaktuar përsëri duhet të formatohen,(që d.m.th.\n"
+"do të krijohet një sistem e skedareve në të).\n"
+"\n"
+"Në këtë moment, ju mund ti riformatoni ndarjet ekzistuese për zhdukjen e\n"
+"të dhënave prezente. Dhe që duhet ti zgjedhni ato.\n"
+"\n"
+"Duke ditur se nuk është e nevojshme të riformatohet përmbajtja e tërë\n"
+"sistemit eksploatues, (sikur \"/\", \"/usr\" apo \"/var\") mirëpo nuk\n"
+"është e nevojshme të formatohen ndarjet e të dhënave (zakonisht në \"/home"
+"\").\n"
+"Keni kujdes kur ti zgjidhni ndarjet e riformatuara, do të jetë e pa mundur\n"
+"të rikuperohen të dhënat në to.\n"
+"\n"
+"Klikoni mbi \"%s\" kur ju jeni i gatshëm që ti formatoni ndarjet.\n"
+"\n"
+"Klikoni mbi \"%s\" nëse ju dëshironi të zgjedhni një ndarje tjetër apo\n"
+"të instaloni një sistemi të ri eksploatues Mageia.\n"
+"\n"
+"Klikoni mbi \"%s\" nëse ju dëshironi ti zgjedhni ndarjet, për një\n"
+"verifikim të sektorëve të dëmtuar në disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Nga momenti kur ju jeni duke instaluar Mageia, është e mundur që\n"
+"disa pako janë azhurnuar prej daljes së atij prodhimi. Disa buge mund\n"
+"të korigjohen, njashtu dhe probleme tjera të sigurisë. Për të ju\n"
+"mundësuar të përfitoni një azhurnim, do të jenë të propozuara që të\n"
+"tranferohen nga Interneti. Zgjedheni \"%s\" nëse ju posedoni një kyqje\n"
+"Internet, ose \"%s\" nëse ju preferoni që t'instaloni azhurnimet një herë\n"
+"tjetër.\n"
+"\n"
+"Duke zgjedhur \"%s\", lista e siteve nga të cilat bëhen azhurnimet mund të\n"
+"provohen. Zgjedhni sitet më të afërta. Mandej një dru i degëzuar\n"
+"me zgjedhje të pakove do të çfaqet: verifikone zgjedhjen, dhe klikoni mbi\n"
+"\"%s\", për të provuar instalimet apo azhurnimet e pakove të zgjedhura,\n"
+"ose mni \"%s\" për ti braktisur."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Në këtë etapë, DrakX duhet të ju ketë mundësuar përfundimin e nivelit\n"
+"të sigurisë së duhur për sistemin tuaj. Niveli i sigurimit së duhur është\n"
+"i përcaktuar simbas funksionit të eksploatimit të sistemit të përdoruesve\n"
+"tjerë (nëse është i kyqur direkt në rrjetin internet) dhe simbas nivelit\n"
+"të ndishmërisë së përmbajtjes së informacioneve të sistemit (numri i\n"
+"kartelës kreditore për shembull). Nuk duhet të harroni se në mënyrë të\n"
+"përgjithshme, aq më më e madhe të jetë siguria e sistemit, aq më\n"
+"shumë është e komplikuar.\n"
+"\n"
+"Nëse ju nuk dini cilin nivelë ta zgjidhni, atëhere mbane nivelin me "
+"marrëveshje."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Siguria e Administratorit:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Në këtë etapë ju duhet të zgjedhni se cila(t) ndarje(t) do të përdoret(n)\n"
+"për sistemin tuaj Mageia. Nëse ndarja e diskut është bërë më heret,\n"
+"nga një instalim tjetër GNU/Linux apo nga nji vegël tjetër ndarëse, ju\n"
+"mund të përdorni ndarjet e bëra. Mes tjerash ndarjet duhen të jenë të\n"
+"përcaktuara\n"
+"\n"
+"Për të krijuar një ndarje, ju duhet të zgjedhni diskun që duhet të "
+"përdoret.\n"
+"Ju mund ta zgjedhni duke klikuar mbi ``hda'' për diskun e parë IDE, ``hdb''\n"
+"për diskun e dytë, ``sda'' për dyskun e parë SCSI, dhe ashtu me radhë.\n"
+"\n"
+"Për ta ndarë diskun e fort të zgjedhur, ju mund të përdorni opcionet me\n"
+"radhë :\n"
+"\n"
+" * \"%s\": ky opcion do të zhduk, të gjitha ndarjet në diskun e zgjedhur\n"
+"\n"
+" * \"%s\": ky opcion mundëson krijimin e një sistemi të skedareve\n"
+"ext4 dhe swap të ndarjeve, në hapësirën e lirë të diskut tuaja\n"
+"\n"
+"\"%s\": mundëson hyrjen në fonksionimin e llogarive:\n"
+"\n"
+" * \"%s\": regjistro tabelën e ndarjeve në floppy.\n"
+"Kjo mundësi është tejet praktike, për rikuperimin e ndarjeve të\n"
+"dëmtuara. Dhe rekomanduar që të vazhdoni me këtë mënyrë.\n"
+"\n"
+" * \"%s\": mundëson restaurimin e një tabele të një ndarje,\n"
+"të regjistruar më heret në një diskete.\n"
+"\n"
+" * \"%s\": nëse tabela juaj e ndarjes është dëmtuar ju keni mundësi\n"
+"ta rikuperoni me këto opcione. Keni kujdes dhe dijeni se kjo nuk\n"
+"funksionon në të gjitha rastet.\n"
+"\n"
+" * \"%s\": largon ndryshimet dhe ngarkon tabelën e ndarjeve filestare.\n"
+"\n"
+" * \"%s\": duke shënuar në këtë kuti, CD-ROM(et) dhe disketat floppy\n"
+"(dhe përkrahje tjera) do të ngarkohen automatikisht.\n"
+"\n"
+" * \"%s\": përdoreni këtë mundësi nëse ju keni nevojë ta ndani\n"
+"diskun tuaj. Kjo mundësi është shumë e rekomandura nëse ju jeni fillestar\n"
+"në lëndën e ndarjeve.\n"
+"\n"
+" * \"%s\": përdore këtë opcion për ti anuluar ndryshimet tuaja.\n"
+"\n"
+" * \"%s\": mundëson akcionet llogaritëse në ndrajet, (tipi,\n"
+"mundësit, dhe format) dhe dorëzon më shumë informacione.\n"
+"\n"
+" * \"%s\": mbasi që shpërndarja do të përfundoj, kjo kopsë do të ju\n"
+"mundëson regjistrimin ndryshimeve tuaja në disk.\n"
+"\n"
+"Mbasi që ta keni përcaktuar mashësinë e diskut tuaj, ju keni mundësi ti\n"
+"paraqitni madhësitë ndarëse duke përdorur kopsat (shigjeta) të tastierës.\n"
+"\n"
+"Shënoni: ju mund ti ndryshoni të gjitha mundësitë për ndarje duke përdorur\n"
+"tastierën. Kaloni nëpërmjet shfletuesit duke përdorur kopsat [Tab] dhe\n"
+"shigjetat [Lart/Poshtë].\n"
+"\n"
+"Mbasi të zgjedhni një ndarje, ju mund ta përdorni :\n"
+"\n"
+" * Ctrl-c për të krijuar një ndarje të re (përderisa një ndarje e zbrazët\n"
+"është zgjedhur);\n"
+"\n"
+" * Ctrl-d për të zhdukur një ndarje;\n"
+"\n"
+" * Ctrl-m për të caktuar një pikë montuese.\n"
+"\n"
+"Për të përfituar më shumë informacione mbi sistemet e skedareve, lexoni mbi\n"
+"sistemin e skedareve ext2FS në ``Doracakun referues''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontim i periferikëve lëvizës"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Kalo mes modit normal/ekspert"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Janë gjetur më shumë se një ndarje Windows në diskun tuaj të fort, ju\n"
+"lutemi zgjedheni njërin për ta ridimenziunuar, dhe për të instaluar\n"
+"sistemin të ri eksploatues Mageia.\n"
+"\n"
+"Çdo ndarje është listuar simbas: \"Emri Linux\", \"Emri Windows\"\n"
+"\"Kapaciteti\".\n"
+"\n"
+"\"Emri Linux\" është i strukturuar: \"tipi i diskut të fort\", \"numri i\n"
+"diskut të fort\", \"Numri i ndarjes\" (për shembul, \"hda1\").\n"
+"\n"
+" \"Tipi i diskut të fort\" është \"hd\" nëse disku i juaj është IDE\n"
+"disk i fort, dhe \"sd\" nëse është SCSI disk i fort.\n"
+"\n"
+" \"Numri i diskut të fort\" është gjithnji një shkronjë mbas \"hd\" ose\n"
+"\"sd\". Për disqet IDE:\n"
+"\n"
+" * \"a\" do të thotë \"disk primare master mbi kontroluesin e parë IDE\";\n"
+"\n"
+" * \"b\" do të thotë \"disk primare esklavë mbi kontroluesin e parë IDE\";\n"
+"\n"
+" * \"c\" do të thotë \"disk primare master mbi kontroluesin e dytë IDE\";\n"
+"\n"
+" * \"d\" do të thotë \"disk primare esklavë mbi kontroluesin e dytë IDE\";\n"
+"\n"
+"Me disqet SCSI, \"a\" do të thotë \"Identiteti më i ulët SCSI\", \"b\" do\n"
+"të thotë \"Identiteti i dytë më i ulët SCSI\", etj.\n"
+"\n"
+"\"Emri Windows\" është një letër e diskut tuaj të fort ndër Windows (disku\n"
+"i parë ndarës quhet \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifikoni zgjedhjen e shtetit tuaj të tanishëm. Nëse ju nuk\n"
+"gjindeni në atë shtet që duhet të jeni, klikoni mbi kopsën \"%s\"\n"
+"dhe zgjedheni një shtet tjetër. Nëse shteti juaj nuk është i çfaqur në\n"
+"këtë list, klikoni mbi kopsën \"%s\" për të pranuar një listë \n"
+"më komplete për shtete tjera."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Kjo etapë aktivizohet automatikisht nëse ju posedoni një ndarje të vjetër\n"
+"GNU/Linux, në makinën tuaj.\n"
+"\n"
+"DrakX tani ka nevojë të dijë nëse ju dëshironi të çfaqni një instalim,\n"
+"apo azhurnim të ri, në sistemin ekzistues Mageia:\n"
+"\n"
+" * \"%s\": Për shumicën e rasteve, ky kompletisht shlyhet nga sistemet\n"
+"e vjetra. Nëse ju dëshironi ta ndërroni shpërndarjen e diskut tuaj të "
+"fortë,\n"
+"apo të ndryshoni sistemin e skedareve tuaja, ju duhet ta përdorni këtë "
+"opcion.\n"
+"Pa marrë para sysh, nga mvarësitë e skemës së ndarjesë, ju mund ti "
+"parandaloni\n"
+"disa të dhëna ekzistuese nga të mbi-zëvendësuarat.\n"
+"\n"
+" * \"%s\": kjo klasë instaluese ju mundëson azhurnimin e pakove aktuale\n"
+"të instaluara, në sistemin tuaj Mageia. Skema e ndarjes,\n"
+"dhe e të dhënave të përdoruesve, nuk do të ndryshohet. Shumica\n"
+"e etapave të tjera konfiguruese mundësojnë një vazhdim, të njëjtë sikur\n"
+"tek instalimet standarde.\n"
+"\n"
+"Duke përdorur mundësinë ``Azhurno'' duhet të funksionoj shumë mirë në "
+"sistemin\n"
+"Mageia ndër versionin \"8.1\" apo më të ri. Tentimi i Azhurnimit të\n"
+"një versioni më të vjetër se versioni Mageia \"8.1\" nuk rekomandohet."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normalisht, DrakX e zgjedhë tastierën e saktë për ju (mvarësisht nga gjuha\n"
+"e zgjedhur). Megjithatë, është e mundur që ju nuk posedoni një tastierë\n"
+"që i përshtatet gjuhës suaj: për shmebull, nëse ju e flitni Anglishten dhe\n"
+"posedoni një tastierë Zvicërrane, dhe dëshironi ta përdorni tastierës me\n"
+"përparësi Zvicrrane. Ose nëse e flitni Anglishtën dhe jetoni në Kebek,\n"
+"ju mund të gjindeni në të njëjtin situacion. Në të dyja rastet, ju duhet\n"
+"të ktheheni mbrapa kësajë etape instaluese dhe të zgjidhni tastierën\n"
+"përkatëse nga lista përkatëse.\n"
+"\n"
+"Klikoni mbi kopsën \"%s\" që të prezentohet lista komplete e tastierave\n"
+"përkrahëse.\n"
+"\n"
+"Nëse ju e zgjedhni një tastiere e cila nuk bazohet me alfabetin latinë,\n"
+"ju do të pyeteni për në dialogun e ardhshëm për kombinimin e kopsave\n"
+"të cilët do të ju mundësojnë shkëmbimin mes Latine dhe joLatine."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Etapa e parë është që ta zgjedhni gjuhën tuaj të preferuar. Zgjedheni "
+"gjuhën\n"
+"tuaj të preferuar, e cila do të përdoret gjatë instalimit të sistemit.\n"
+"\n"
+"Duke klikuar mbi kopsën \"%s\", programi do të ju propozoj njashtu\n"
+"edhe gjuhë tjera të cilat mund të instalohen në stacionin tuaj punues. Duke\n"
+"zgjedhur një gjuhë tjetër, programi do të instaloj tërë dokumentacionin\n"
+"dhe aplikacionet e nevojshme për përdorimin e kësaj gjuhe. Për shembull,\n"
+"nëse ju mendoni të pranoni përdorues Spanjol në serverin tuaj, zgjedheni\n"
+"Anglishtën si gjuhë kryesore, dhe në sekcionin e vazhdueshëm, klikoni mbi\n"
+"kutinë e cila i përketë \"%s\".\n"
+"\n"
+"Shënim, ju keni mundësi të instalohen shumë gjuhë në sistem. Mbasi që keni\n"
+"zgjedhur çfarëdo llogarije lokale, apo klikoni mbi kopsën \"%s\" për\n"
+"të zgjedhur kutinë. Zgjedhja e përkrahjeve të gjuhëve d.m.th. përkthimet\n"
+"e polisës, verifikimet e të shprehurit, etj. për atë gjuhë do të instalohet\n"
+"Përmbledhja e \"%s\" kutia verifikuese mundëson forcimin e përdorimit të\n"
+"unikodit (UTF-8). Shënim edhe pse ky është një përparësi për të ardhmën.\n"
+"Nëse ju e zgjedhni një gjuhë duke marrë përsipër me përkrahje unikod që do\n"
+"të instalohet.\n"
+"\n"
+"Për të kaluar nga një gjuhë në një tjetër, ju mund ta ngarkoni urdhërinë\n"
+"\"/usr/sbin/localedrake\" me përparësi administratori \"root\" për të\n"
+"ndërruar tërë sistemin e gjuhës, apo secili pëdorues për vetë vehten\n"
+"mund ta ndërroj gjuhën me marrëveshje."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanjol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX normalisht nuk hasë në ndonji problemë në zbulimin e sasisë së\n"
+"kopsave të minit tuaj. Nëse nuk i merrë me njohuri, se ju posedoni\n"
+"një minë me dy kopsa, ai do ta konfiguroj një kopsë të tretë imituese.\n"
+"Kopsa e tretë e minit me dy kopsa, mund të ``shtypet'' duke klikuar\n"
+"njëkohësisht mbi kopsën e majtë apo të djathtë. Njashtu\n"
+"DrakX do ta dijë automatikishtë se çfarë mini posedoni PS/2 apo USB.\n"
+"\n"
+"Nëse ju dëshironi të instaloni një tjetër tip mini, zgjedheni njërin nga\n"
+"lista e shënuar.\n"
+"\n"
+"Nëse ju e zgjedhni një tjetër min, që është propozuar me\n"
+"marrëveshje, DrakX do të ju prezentoj një ekran testi. Përdorni\n"
+"kopsat dhe rrotën për tu siguruar se çdo gjë fuksionon si duhet.\n"
+"Nëse mini juaj nuk funksionon si duhet, shtypni mbi shufrën për hapësirë\n"
+"(space bar) apo në [Return] për ta anuluar testimin dhe kthehuni mbrapa\n"
+"në listën e zgjedhjeve.\n"
+"\n"
+"Në disa raste minjët me rrotë nuk janë të zbuluar automatikisht. Ju duhet\n"
+"ta zgjedhni manuelisht, nga lista e propozuar. Sigurohuni se keni zgjedhur\n"
+"portën e saktë të kyqur në minin tuaj. Mbasi që ju e zgjedhni minin tuaj\n"
+"shtypni mbi kopsën \"%s\", një imazhë i minit do të paraqitet\n"
+"në ekranë. Dhe mandej ju duhet ta lëvizni rrotën e minit tuaj për t'\n"
+"aktivizuar atë saktësisht. Dhe testoni të gjitha kopsat dhe lëvizjet e\n"
+"tyre, a janë të sakta."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 Kopsa me Rrotë Imituese"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Ju lutemi zgjedheni portën e saktë. Për shembull \"COM1\" është portë ndër\n"
+"Windows, kurse \"ttyS0\" është i emëruar ndër sistemin GNU/Linux."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO dhe grub janë bootloader për GNU/Linux. Normalisht, kjo etapë është\n"
+"kompletisht e automatizuar. DrakX do të analizoj sektorin e diskut nisës\n"
+"boot dhe do të akordoj gjdo gjë që gjindet në të:\n"
+"\n"
+" * nëse një sektor nisës boot Windows zbulohet, ai do të zëvendësohet me\n"
+"me një sektor nisës boot grub/LILO. Në këtë rrugë ju do të keni mundësi\n"
+"të ngarkoni qoft GNU/Linux apo ndonji Sistem tjetër Eksploatues.\n"
+"\n"
+" * nëse një sektor nisës boot LILO zbulohet, ai do të zëvendësohet me\n"
+"një sektor të ri.\n"
+"\n"
+"Nëse ai nuk mund të përcaktohet, DrakX do të ju pyes për vendin se ku\n"
+"deshironi ta vendosni bootloader."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Këtu, ne e zgjedhim një sistem stampues për kompjuterin tuaj. Sistemet "
+"tjera\n"
+"eksploatuese ofrojnë vetëm një, kurse Linux ofron dy. Secili sistem "
+"stampues\n"
+"është më i mirë për gjdo tip i përcaktur konfigurues.\n"
+"\n"
+" * \"%s\" -- që do të thotë ``print, do not queue'' (stampo pas kaluar në\n"
+"rradhitje rendore), është një mundësi nëse stampuesi juaj është i kyqur\n"
+"direkt në stacionin tuaj punues, dhe nëse ju dëshironi ta ndërpreni "
+"stampimin\n"
+"direkt, në rastë të ndonji problemi, dhe nëse nuk posedoni një stampues në\n"
+"rrjet. (\"%s\" Do ti merrë parasysh rastet e thjeshta në rrjet, mirëpo në\n"
+"disa raste nuk janë të sakta këto urdhërat). Zgjedheni \"pdq\" nëse ju jeni\n"
+"në një ekspert në GNU/Linux.\n"
+"\n"
+" * \"%s\" -- ``Common Unix Printing System'', është mundësi gjeniale për\n"
+"stampim në sistemin tuaj, me satmpues lokal, apo stampues të cilët gjinden "
+"në\n"
+"anën tjetër të botës. Është i thjeshtë dhe mund të reagoj sikur server, apo\n"
+"sikur një klient i vjetër i sistemit stampues \"lpd\". Bëhet fjalë për një\n"
+"vegël tejet të fuqishme, mirëpo konfiguracionet e bazës janë të thjeshta "
+"sikur\n"
+"\"pdq\". Për ta konkuruar në një server \"lpd\" ju duhet të niseni në dimon\n"
+"\"cups-lpd\". \"%s\" përfshinë një interfac grafike për stampim ose për\n"
+"zgjedhjen e opcioneve administruese të stampuesit.\n"
+"\n"
+"Nëse e zgjidhni tani, e më vonë, nuk ju pëlqen sistemi stampues, ju keni\n"
+"mundësi ta ndryshoni duke nisur PrinterDrake nga Qendra Kontrolluese "
+"Mandriva\n"
+"duke klikuar mbi kopsën ekspert."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Modë Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX, tani do të hulumtoj gjdo IDE periferik në kompjuterin tuaj. Ai\n"
+"njashtu do të scanon, një apo më shumë kartela PCI SCSI në sistemin\n"
+"tuaj. Nëse një kartelë SCSI është gjetur nga DrakX, ai do të instaloj\n"
+"automatikisht pilotin e saj të nevojshëm.\n"
+"\n"
+"Në disa raste zbuluesi i materialit nuk është foolproof, dhe nuk\n"
+"mund të zbuloj ndonji pjesë, kështu ju duhet ta specifikoni me dorë.\n"
+"\n"
+"Nëse ju duhet të specifikoni kartelën tuaj PCI SCSI në mënyrë manuale,\n"
+"DrakX do të ju pyes për specifikimin e mundësive të tija. Ju duhet të\n"
+"lejoni, që DrakX të verifikoj automatikisht kartelën tuaj, për opcionet\n"
+"e nevojshme të përcaktuara.\n"
+"\n"
+"Është e mundur që, DrakX të mos jetë në gjendje ti verifikoj opcionet\n"
+"e nevojshme. Në këto raste, ju duhet ti përcaktoni manuelisht."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": nëse një kartelë e zërit është zbuluar në sistemin\n"
+"tuaj, ajo do të çfaqet këtu. Nëse shënimet mbi kartelën tuaj nuk janë ato\n"
+"që duhen të jenë, në sistemin tuaj, ju mund të klikoni mbi kopsën dhe ta\n"
+"zgjedhni një pilot tjetër."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Si çfaqës, DrakX do të prezentoj permbledhjen e infomacioneve të ndryshme\n"
+"në lidhje me sistemin tuaj. Duke u mvarur nga sistemi i juaj i instaluar\n"
+"që ju mund të posedoni disa apo të gjitha hyrjet vijuese. Secila hyrje "
+"është\n"
+"krijuar nga konfigurimi i artikullit që duhej të konfigurohet, duke e\n"
+"përcjellur me përmbledhje të shpejt nga konfigurimi i tanishëm. Klikoni\n"
+"mbi kopsën e përcaktuar \"%s\" për ta ndryshaur atë.\n"
+"\n"
+" * \"%s\": verifikoni tastierën e tanishme të konfiguruar, dhe ndryshone\n"
+"atë nëse është e nevojshme.\n"
+"\n"
+" * \"%s\": verifikoni shtetin tuaj të përcaktuar. Nëse ju nuk gjindeni\n"
+"në shtetin e dëshiruar, klikoni mbi kopsën \"%s\" dhe zgjedheni një\n"
+"shtet tjetër. Nëse shteti i jauj nuk gjindet në këtë listë, klikoni mbi\n"
+"kopsën \"%s\" për ta pranuar një listë më komplete.\n"
+"\n"
+"* \"%s\": Me marrëveshje, DrakX dedukton zonën orare të bazuar në\n"
+"shtetin tuaj të zgjedhur më parë. Ju mund të klikoni mbi kopsën \"%s\"nëse "
+"zona orare nuk është e saktë.\n"
+"\n"
+" * \"%s\": verifikone konfigurimin e minit tuaj dhe klikoni mbi kopsën\n"
+"nëse dëshironi ta ndryshoni atë.\n"
+"\n"
+" * \"%s\": duke klikuar mbi kopsën \"%s\" do të hapni\n"
+"asistentin konfigurues për stampues. Konsultone kapitullin e përcaktuar\n"
+"të ``Përcjellësit Nisës'' për më shumë informacione se si të konfigurohet\n"
+"një stampues i ri. Interfaci i prezentuar është i njëjtë me atë që është\n"
+"paraqitur gjatë instalimit\n"
+"\n"
+" * \"%s\": nëse një kartelë zëri është zbuluar në sistemin tuaj\n"
+"ajo do të çfaqet këtu. Nëse shënimet mbi kartelën tuaj nuk përputhen me\n"
+"shënimet e kartelës prezente në sistem, ju keni mundësi të klikoni mbi\n"
+"kopsën për të zgjedhur një pilot tjetër.\n"
+"\n"
+" * \"%s\": me marrëveshje, DrakX konfiguron interfacin tuaj grafikë,\n"
+"në vendosmëri \"800x600\" ose \"1024x768\". Nëse kjo nuk është prezentuar,\n"
+"kliko mbi kopsën \"%s\" për të rifilluar një konfigurim të ri.\n"
+"\n"
+" * \"%s\": nëse një kartelë TV zbulohet në sistemin tuaj, ajo do\n"
+"të çfaqet këtu. Nëse ju posedoni një kartelë TV, dhe ajo nuk zbulohet\n"
+"automatikisht, klikoni mbi kopsën \"%s\" për ta konfiguruar\n"
+"manuelisht.\n"
+"\n"
+" * \"%s\": nëse një kartelë ISDN zbulohet në sistemin tuaj, ajo\n"
+"do të çfaqet këtu. Ju mund të klikoni mbi kopsën \"%s\" për ti\n"
+"ndryshuar parametrat e bashkuar me kartelën.\n"
+"\n"
+" * \"%s\": Nëse dëshironi të konfiguroni Internetin apo rrjetin\n"
+"tuaj lokal hyni tani.\n"
+"\n"
+" * \"%s\": kjo hyrje ju ofron përcaktimin e nivelit të sigurisë\n"
+"siq është paraqitur në etapën e më parme ().\n"
+"\n"
+" * \"%s\": nëse ju planifikoni të kyqni makinën tuaj në Internet\n"
+"është ide tejet e mirë të mbroheni nga befasitë duke instalur murin e\n"
+"zjarrt. Konsultoni sektorët e caktuar të ``Përcjellësit Nisës'' për\n"
+"më shumë detaje mbi instalimet e murit të zjarrt.\n"
+"\n"
+" * \"%s\": nëse dëshironi ti ndryshoni konfigurimet e bootloader\n"
+"klikoni mbi këtë kopsë. Kjo është e rezervuar për përdorues të përparuar.\n"
+"\n"
+" * \"%s\": ju do të keni mundësinë këtu të kontrolloni më në fund se\n"
+"cilat servise duhet të nisen në makinën tuaj. Nëse ju planifikoni të\n"
+"përdorni këtë makinë sikur një server, është ide e mirë ta riçfaqni këtë\n"
+"instalim."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Kartelë ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Kartelë ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfac Grafikë"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Zgjedheni diskun e fort (hard disk drive) që dëshironi ta zhdukni, për të\n"
+"instaluar një ndarje të re Mageia. Keni kujDES, të gjitha të dhënat\n"
+"do të zhduken, dhe nuk mund të rekuperohen!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klikoni mbi \"%s\" nëse ju dëshironi ti zhdukni të dhënat dhe ndarjet në\n"
+"diskun tuaj të fort. Keni kujDES, mbasi që të klikoni mbi \"%s\", ju nuk\n"
+"keni mundesi ti rikuperoni të dhenat dhe ndarjet prezente në këtë disk të\n"
+"fort, njashtu edhe nëse gjindet ndonji ndarje, me të dhëna Windows.\n"
+"\n"
+"Klikoni mbi \"%s\" që ta ndalni këtë operacion, pa i humbur të dhënat\n"
+"dhe ndarjet prezente në këtë disk të fort."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tjetri ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Mbrapa"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": duke klikuar mbi kopsën \"%s\" e cila do të hapë asistentin\n"
+#~ "konfigurues. Konsultoni kapitujt e caktuar të ``Përcjellësit Nisës''\n"
+#~ "për më shumë informacione se si të konfigurohet një stampues i ri.\n"
+#~ "Interfaci i prezentuar, është i njëjtë me atë gjatë instalimit."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Këtu duhet të dini se do ta merrnji një vendim më të vështirë, për "
+#~ "sigurinë\n"
+#~ "e sistemit tuaj GNU/Linux: ju duhet të futni parullën sikur "
+#~ "administrator\n"
+#~ "\"root\". \"Root\" është administrues i sistemit me të gjitha të drejtat\n"
+#~ "e konfigurimit, azhurnimit, shtimit të përdoruesëve etj. Konkretisht "
+#~ "\"root\"mund të bëjë çdo gjë në sistemin tuaj! Dhe për atë arësye ju "
+#~ "duhet të futni\n"
+#~ "parullën e tij, që është shumë veshtirë ta merrni me mend atë -- DrakX "
+#~ "do\n"
+#~ "të ju tregoj nëse është lehtë. Siq po e shifni, ju mund të mos e futni\n"
+#~ "parullën ne ju rekomandojmë sinqerisht kundër kësaj veprimtarie. Duke "
+#~ "ditur\n"
+#~ "se gabimet bëhen shumë lehtë dhe pa ditur, një përdorues me të gjitha të\n"
+#~ "drejtat mund të bëjë çmosë. Prej që se \"root\" mund të përfitojë gjdo\n"
+#~ "të drejtë pa kufi i cili mund të zhdukë të gjitha të dhënat, duke kaluar\n"
+#~ "në secilën ndarje të diskut, është me rëndësi që me vështirësi të madhe "
+#~ "të\n"
+#~ "shëndërroheni në administrator \"root\".\n"
+#~ "\n"
+#~ "Zgjedhja e parullës duhet të përmbajë së paku 8 karaktere (shkronja, "
+#~ "numra\n"
+#~ "etj) alfanumerikë. Mos e shkruani kurrë parullën \"root\" diku, "
+#~ "mundohuni\n"
+#~ "ta mbani në mend.\n"
+#~ "\n"
+#~ "Megjithatë, mos e shkruani parullën shumë të gjatë apo të komplikuar, "
+#~ "sepse\n"
+#~ "ju duhet të jeni në gjendje, ta mbani në mend, pa u mundur shumë.\n"
+#~ "\n"
+#~ "Parulla nuk do të paraqitet n'ekran, sikur e shtypni në tastierë direkt, "
+#~ "prej\n"
+#~ "nga, ju duhet ta shtypni dy herë, për të zvogëluar gabimin e mundshëm. "
+#~ "Nëse\n"
+#~ "një gabim i tillë arrinë, atëherë kjo parullë ``e pa saktë'' do të "
+#~ "regjistrohet,\n"
+#~ "dhe ju duhet ta rishtypni për të hyrë në sistemin tuaj për të parën "
+#~ "herë.\n"
+#~ "\n"
+#~ "Nëse ju dëshironi të hyni në këtë kompjuter për tu kontrolluar nga një "
+#~ "server\n"
+#~ "vërtetues, kliko mbi kopsën \"%s\".\n"
+#~ "\n"
+#~ "Nëse rrjeti i juaj përdorë LDAP, NIS apo një pronë PDC Windows për "
+#~ "servise\n"
+#~ "vërtetuese, zgjedheni një qarkullim sikur \"%s\". Nëse ju nuk\n"
+#~ "dini cilin ta përdorni, pyetni administratorin e rrjetit tuaj.\n"
+#~ "\n"
+#~ "Nëse ju hasni në ndonji problem, në lidhje me parullën, ju mund ta "
+#~ "zgjedhni\n"
+#~ "mundësinë \"%s\", nëse kompjuteri juaj nuk duhet të kyqet në rrjetin\n"
+#~ "e Internetit, dhe nëse ju keni besim në secilin perdorues i cili hynë në\n"
+#~ "sistemin tuaj."
+
+#~ msgid "authentication"
+#~ msgstr "vërtetësim"
diff --git a/perl-install/install/help/po/sr.po b/perl-install/install/help/po/sr.po
new file mode 100644
index 000000000..95516e817
--- /dev/null
+++ b/perl-install/install/help/po/sr.po
@@ -0,0 +1,1992 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Toma Jankovic <tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\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"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пре него што наÑтавите пажљиво прочитајте уÑлове лиценце. Она\n"
+"покрива целу Mageia диÑтрибуцију, и уколико Ñе Ñлажете\n"
+"Ñа Ñвим уÑловима који Ñе налазе у њој, кликните на \"Прихватам\" таÑтер\n"
+"Уколико не прихватате, једноÑтавно иÑкључите \n"
+"рачунар."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux је вишекориÑнички ÑиÑтем, а то значи да Ñваки кориÑник може имати "
+"ÑопÑтвене\n"
+"поÑтавке, ÑопÑтвене фајлове, итд. Можете прочитати ``УпуÑтво за кориÑнике''\n"
+"да би Ñазнали више о томе. Ðли за разлику од \"root\", који је уÑтвари "
+"админиÑтратор, кориÑници\n"
+"које додате овде неће моћи да мењају било шта оÑим њихових\n"
+"фајлова и њихове конфигурације. Требало би да креирате најмање једног\n"
+"обичног кориÑника за Ñебе. Тај рачун је онај на који треба да Ñе логујете \n"
+"за рутинÑко коришћење. Иако је веома практично да Ñе улогујете као \"root\" "
+"Ñваки дан,\n"
+"то може бити веома опаÑно! И најмања грешка може значити да ваш ÑиÑтем\n"
+"неће више радити. Уколико направите озбиљне грешке као обични кориÑник \n"
+"можете једино избгубити нешто информација, али не и цели ÑиÑтем.\n"
+"\n"
+"Прво, морате да унеÑете ваше право име. Ово није неопходно, наравно -\n"
+"јер можете приÑтупити и изменити га када год желите. DrakX ће тада узети "
+"прву\n"
+"реч који Ñте унели и Ñтавити га у проÑтор за уношење имена кориÑника \"User\n"
+"name\". Ово је име које одрежени кориÑник треба да кориÑти при логовању на\n"
+"ÑиÑтем. Можете га променити. УÐакон тога морате унети лозинку овде.\n"
+"Обични, не-привилеговани кориÑничка лозинка није од већег значаја као она "
+"за\n"
+"\"root\" кориоÑника Ñа ÑигурноÑне тачке гледања, али то није разлог за "
+"опуштање\n"
+"- након Ñвега, ваши фајлови Ñу у питању.\n"
+"\n"
+"Уколико кликнете на \"Прихвати кориÑникар\", можете додати још кориÑника. "
+"Додајте\n"
+"кориÑника за Ñваког вашег пријатеља: за вашег оца или ÑеÑтру, на\n"
+"пример. Када заршите додавање Ñвих жељених кориÑника, изаберите \"Завршено"
+"\".\n"
+"\n"
+"Кликом на таÑтер Ðапредно \"Ðапредно опције\" можете изменити default \"shell"
+"\"\n"
+"за тренутног кориÑника (bash по default). \n"
+"\n"
+"Када завршите Ñа додавањем кориÑника, рачунар ће тражити да изаберете "
+"кориÑника\n"
+"који ће Ñе аутоматÑки пријављивати на ÑиÑтем при његовом Ñтартању. Уколико\n"
+"Ð²Ð°Ñ Ð·Ð°Ð½Ð¸Ð¼Ð° ова могућноÑÑ‚ (и не водите много рачуна о локалној\n"
+"ÑигурноÑти), изаберите жељеног кориÑника и window менажер, а затим кликните "
+"на \"Следећи\n"
+"->\". Уколико ниÑте заинтереÑовани за ову опцију, деÑелектујте \"Да ли "
+"желите\n"
+"да кориÑтите ову опцију?\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Да ли желите да кориÑтите ову опцију ?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Изнад Ñе налази лиÑта поÑтојећих Linux партиција које Ñу детектоване\n"
+"на хард диÑку. Можете задржати избор који је направио чаробњак, јер је добар "
+"за a\n"
+"општу употребу. Уколико промените избор, морате бар изабрати root\n"
+"партицију (\"/\"). Ðемојте да бирате Ñувише малу партицију јер нећете моћи "
+"да\n"
+"инÑталирате овољно Ñофтвера. Уколико желите да податке Ñтавиљате на поÑебну "
+"партицију ,\n"
+"морате да изаберете и \"/home\" (могуће је уколико имате више од једне\n"
+"Linux партиције).\n"
+"\n"
+"\n"
+"Информација: Ñвака партиција је приказана на Ñледећи начин: \"Име\", "
+"\"Капацитет\".\n"
+"\n"
+"\"Име\" је кодирано на Ñледећи начин: \"тип хард диÑка\", \"број хард диÑка"
+"\",\n"
+"\"прој партиције\" (на пример, \"hda1\").\n"
+"\n"
+"\"Тип хард диÑка\" је \"hd\" уколико је хард диÑк IDE уређај и \"sd\"\n"
+"уколико је SCSI хард диÑк.\n"
+"\n"
+"\"Број хард диÑка\" је увек Ñлово поÑле \"hd\" или \"sd\". За IDE хард "
+"диÑкове:\n"
+"\n"
+" * \"a\" значи \"master хард диÑк на примарном IDE контролеру\",\n"
+"\n"
+" * \"b\" значи \"slave хард диÑк на примарном IDE контролоеру\",\n"
+"\n"
+" * \"c\" значи \"master хард диÑк на Ñекундраном IDE контролоеру\",\n"
+"\n"
+" * \"d\" значи \"slave хард диÑк на Ñекундарном IDE контролеру\".\n"
+"\n"
+"\n"
+"Са SCSI хард диÑковима, a \"a\" значи \"примарни хард диÑк\", a \"b\" "
+"значи \n"
+"\"Ñекундарни хард диÑк \", итд..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia инÑталација Ñе налази на неколико диÑкова илити CDROM-ова. DrakX\n"
+"зна уколико да уколико је Ñелктовани пакет лоциран на другом CDROM-у и "
+"избациће\n"
+"тренутни CD те тражити од Ð²Ð°Ñ Ð´Ð° убаците одговарајући."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сада је време да одредимо које програме желите да инÑталирате на ваш\n"
+"ÑиÑтем. ПоÑтоје хиљаде пакета доÑтупних за инÑталацију на Mageia, и \n"
+"да би их учинили доÑтупнијим, Ñмеђтени Ñу у групе Ñличних апликација.\n"
+"\n"
+"Пакети Ñу Ñортирани у групе у одноÑу на одговарајућу употребу на вашој\n"
+"машини. Саме групе Ñу Ñортиране у четири клаÑе. Ове клаÑе можете поÑматрати\n"
+"као контејнере за различите пакете\n"
+"Можете мешати апликације из различитих контејнера, тако да\n"
+"иинÑталација ``Радна Ñтаница'' може да Ñадржи апликације из \n"
+"контејнера ``Развојна Ñтаница'' .\n"
+"\n"
+" * \"Радна Ñтаница\": уколико планирате да кориÑтите вашу машину као радну "
+"Ñтаницу, изаберите једну или више одговарајућих група.\n"
+"\n"
+" * \"Развојна Ñтаница\": уколико машина треба да Ñе кориÑти за програмирање, "
+"изаберите жељену(е) групу(е).\n"
+"\n"
+" * \"Сервер\": уколико ће Ñе машина кориÑтити као Ñервер, моћи ћете да \n"
+"изаберете које од најчешћих ÑервиÑажелите да инÑталирате на\n"
+"машину.\n"
+"\n"
+" * \"Графичко Окружење\": на крају, овде ћете изабрати ваше\n"
+"омиљено графичко окружење. Морате изабрати бар једно да би имали\n"
+"графичку радну Ñтаницу!\n"
+"\n"
+"Кретањем курÑора миша преко имена групе добићете кратко објашњење\n"
+"о тој групи. Уколико не Ñелектујете ни једну групу када изводите\n"
+"оÑновну инÑталацију (за разлику од ажурирања), појавиће Ñе дијалог\n"
+"Ñа различитим предлозима за минималну инÑталцију:\n"
+"\n"
+" * \"Са X-овима\": ИнÑталира неколико пакета ради графичког деÑктопа\n"
+"\n"
+" * \"Са оÑновном документацијом\": ИнÑталира оÑновни ÑиÑтем Ñа оÑновним "
+"алатима\n"
+"и њиховом дукументацијом. Овај мод је практичан за\n"
+"подешавање Ñервера\n"
+"\n"
+" * \"Стварно минимална инÑталација\":ИнÑталира Ñамо што је минимано "
+"потребно,\n"
+"за рад Linux ÑиÑтема,наравно Ñамо у командној линији.Ова инÑталација "
+"заузима\n"
+"Ñамо 65 Mb\n"
+"\n"
+"Можете Ñелектовати и \"Појединачно бирање пакета\", које је кориÑно "
+"уколико\n"
+"Ñу вам познати понуђени пакети и желите да имате потпуну \n"
+"контролу над Ñвим што ће бити инÑталирано.\n"
+"\n"
+"Уколико Ñте покренули мод \"Ðжурирање\", можете деÑелектовати Ñве\n"
+"групе да би избегли инÑталацију било ког новог пакета. Ово је кориÑно за "
+"поправљање или\n"
+"ажурирање поÑтојећег ÑиÑтема."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ðжурирање"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Са оÑновном документацијом (препорука!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Минимално инÑталирај"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ðа крају, у завиÑноÑти од вашег избора да да бирате појединачне пакете\n"
+"или не, биће вам приказано Ñтабло Ñа Ñвим пакетима клаÑификованим\n"
+"по групама и подгрупама. Док претражујете Ñтабло, можете Ñелектовати целе\n"
+"групе, подгрупе, или индивидуалне пакете.\n"
+"\n"
+"Када код Ñелектујете пакет на Ñтаблу, Ð¾Ð¿Ð¸Ñ Ñе појављује Ñа деÑне\n"
+"Ñтране. да би могли да Ñе упознате наменом пакета.\n"
+"\n"
+"!! Уколико је Ñервер пакет изабран Ñлучајно или као део\n"
+"целе групе, бићете упитани да ли заиÑта желите да инÑталирате\n"
+"понуђене Ñервере. Под Mageia-ом, Ñви инÑталирани\n"
+"Ñервери Ñе Ñтартују по default-у за време подизања ÑиÑтема. Чак и ако Ñу "
+"Ñигурни и немају\n"
+"познатих безбедноÑних пропуÑта до времена излаÑка диÑтрибуције, може Ñе "
+"деÑити\n"
+"да ÑигурноÑне рупе буду откивене каÑније.\n"
+" Уколико не знате који појединачни ÑÐµÑ€Ð²Ð¸Ñ ÑˆÑ‚Ð° треба да ради\n"
+"или зашто Ñе инÑталира, онда кликните \"Ðе\". Кликом на \"Да\" ћете\n"
+"инÑталирати приказане ÑÐµÑ€Ð²Ð¸Ñ Ð¸ они ће бити покренути аутоматÑки по\n"
+"default-у. !!\n"
+"\n"
+"Опција \"ÐутоматÑке међузавиÑноÑти\" једноÑтавно иÑкључује дијалог Ñа "
+"упозорењем\n"
+"који Ñе јавља Ñваки пут када инÑталер аутоматÑки Ñелектује пакете. Ово Ñе\n"
+"јавља зато што он одређује да мора да задовољи завиÑноÑти Ñа другим\n"
+"пакетом да би уÑпешно завршио инÑталацију.\n"
+"\n"
+"Мала иконица флопи диÑка на дну лиÑте вам омогућава да учитате\n"
+"лиÑту пакета биране током претходне инÑталације. Кликом на ову иконицу\n"
+"ће од Ð²Ð°Ñ Ð±Ð¸Ñ‚Ð¸ тражено да убаците диÑкету креирану раније на крају \n"
+"претходне инÑталације. Погледајте поÑледњи паÑÑƒÑ (корак) да би научили како "
+"да креирате \n"
+"такву диÑкету."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Сада можете одабрати које ÑервиÑе желите да Ñе Ñтартају при подизању "
+"ÑиÑтема.\n"
+"\n"
+"DrakX ће приказати Ñве доÑтупни ÑервиÑе на тренутној\n"
+"инÑталацији. Прегледајте их пажљиво и деÑелектујте оне који вам неће бити "
+"увек\n"
+"потребни при подизању ÑиÑтема.\n"
+"\n"
+"Можете добити и кратко објашњење о ÑервиÑу Ñелектовањем\n"
+"одређеног ÑервиÑа. Међутим, уколико ниÑте Ñигурни који од ÑервиÑа јеÑу или\n"
+"ниÑу кориÑни, Ñигурније је оÑтавити на default поÑтавкама.\n"
+"\n"
+"!!Ðа овом нивоу, будите веома пажљиви уколико желите да кориÑтите вашу "
+"машину као\n"
+"Ñервер: вероватно нећете желети да Ñтартујете ниједан ÑÐµÑ€Ð²Ð¸Ñ ÐºÐ¾Ñ˜Ð¸ вам неће\n"
+"требати. Запамтите да неколико ÑервиÑа може бити опаÑно уколико\n"
+"Ñу омогућени на Ñерверу. Генерано говорећи, изаберите Ñамо ÑервиÑе које ћете "
+"Ñтварно требати.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управља Ñа временом у GMT (Greenwich Mean Time) и преводи га у\n"
+"локално време у завиÑноÑти коју Ñте временÑку зону изабрали. Међути, могуће "
+"је\n"
+"ово и деактивирати деÑелектовањем \"ПодеÑи хардверÑки чаÑовник на GMT\" тако "
+"да хардверÑки чаÑовник\n"
+"хаима иÑто време као и ÑиÑтемÑки чаÑовник. Ово је кориÑно када на машини "
+"имате\n"
+"још један оперативни ÑиÑтем као што је Windows.\n"
+"\n"
+"Опција \"ÐутоматÑка Ñихронизација чаÑовника\" ће аутоматÑки регулиÑати\n"
+"чаÑовник конектовањем на удаљени временÑки Ñервер на Интернету. Ðа \n"
+"лиÑти која је приказана, изаберите Ñервер који Ñе налази близу ваÑ. "
+"Ðаравно,\n"
+"морате имати иÑправно подешену Интернет конекцију да би могли да кориÑтите "
+"ову опцију. Она ће\n"
+"уÑтвари инÑталирати на вашу машину временÑки Ñервер који Ñе помогућноÑти "
+"може кориÑтити и од\n"
+"Ñтране других машина на вашој локалној мрежи."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "ÐутоматÑка Ñинхронизација времена (преко NTP-а)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графичка картица\n"
+"\n"
+" Програм за инÑталацију обично аутоматÑки детектује и подешава\n"
+"графичку карту која је инÑталирана у вашој машини. Уколико то није Ñлучај, "
+"можете\n"
+"да је изаберете Ñами Ñа лиÑте понуђених картица.\n"
+"\n"
+" У Ñлучају да је више графичких Ñервера доÑтупно за вашу картицу, Ñа или\n"
+"без 3D акцелерације, онда Ñами одаберите ону која најбоље одговара\n"
+"вашим потребама."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (или X Window СиÑтем) је Ñрце GNU/Linux графичког интерфејÑа\n"
+"на који Ñе оÑлањају Ñва графичка окружења (KDE, GNOME, AfterStep,\n"
+"WindowMaker, итд.) која Ñе налазе у Mageia-у.\n"
+"\n"
+"Биће вам приказана лиÑта Ñа различитим параметрима чијом изменом\n"
+"можете добити оптималан графички приказ: Графичка картица\n"
+"\n"
+"\n"
+" Програм за инÑталацију обично аутоматÑки детектује и подешава\n"
+"графичку карту која Ñе налази у вашем рачуну. Уколико то није Ñлучај, "
+"можете\n"
+"Ñами да изаберете картицу Ñа лиÑте.\n"
+"\n"
+" Уколико Ñу различити Ñервери доÑтупни за вашу картицу, Ñа или\n"
+"вез 3D акцелерације, онда треба да изаберете онај који највише\n"
+"одговара вашим потребама.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Програм за инÑталацију обично аутоматÑки детектује и подешава\n"
+"монитор који повезан Ñа вашим рачунаром. Уколико Ñе то не деÑи можете "
+"изабрати\n"
+"Ñами Ñа лиÑте понуђених монитора\n"
+"\n"
+" Овде можете изабрати резолуцију и број боја од\n"
+"оних које Ñу понуђене за ваш хардвер. Изаберите оно што највише одговара "
+"вашим потребама\n"
+"(ове опције ћете моћи изменити и након инÑталације). Изабрана\n"
+"конфигурације Ñе види на монитору.\n"
+"\n"
+"\n"
+"\n"
+"ТеÑÑ‚\n"
+"\n"
+" ÑиÑтем ће покушати да отвори графички екран у жељеној\n"
+"резолуцији. Уколико можете да видите поруку током теÑта одговорите Ñа \"Да"
+"\",\n"
+"и DrakX ће наÑтавити Ñа Ñледећим кораком. Уколико не можете да видите "
+"поруку, то\n"
+"значи да је неки део аутотедекције био неправилан и\n"
+"теÑÑ‚ ће аутоматÑки завршити након 12 Ñекунди, отаварајући мени за\n"
+"конфигурацију. Измените опције Ñве док не добијете коректан графички "
+"приказ.\n"
+"\n"
+"\n"
+"\n"
+"Опције\n"
+"\n"
+" Овде можете да изаберете да ли желите да ваш рачуанр аутоматÑки\n"
+"пређе на графички Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð¿Ñ€Ð¸ Ñтартању. Очигледно, изабраћете\n"
+"\"Ðе\" уколико је ваша машина Ñервер, или уколико ниÑте уÑпели да уÑпешно \n"
+"подеÑите графички приказ."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Програм за инÑталацију обично аутоматÑки детектује и подешава\n"
+"монитор повезан на вашу машину. Уколико Ñе то недеÑи, можете Ñами\n"
+"Ñами да изаберете модел монитора Ñа лиÑте."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Резолуција\n"
+"\n"
+" Овде можете изабрати резолуцију и број боја које Ñу\n"
+"доÑтупне за ваш хардвер. Изаберите оно што највише одговара вашим потребама "
+"(ове опције ћете моћи\n"
+"да промените и након инÑталације). Пример изабране\n"
+"конфигурације је приказан на монитору."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"У Ñлучају да Ñу доÑтупни различити Ñервери за вашу картицу, Ñа или\n"
+"без 3D акцелерације, најбоље је да изаберете Ñервер који\n"
+"највише одговара вашим потребама."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Ðа крају, бићете упитани да ли желите графички интерфејÑ\n"
+"при Ñтартању ÑиÑтема. Ово питање ће вам бити поÑтавњено чак и ако ниÑте "
+"теÑтирали\n"
+"конфигурацију. Ðаравно, одговорићете \"Ðе\" уколико ваша машина предÑтаља\n"
+"Ñервер, или уколико ниÑте уÑпешно подеÑили\n"
+"диÑплејед."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"У овом тренутку, морате да изаберете где ћете инÑталирати\n"
+"Mageia оперативни ÑиÑтем на ваш хард диÑк. Уколико је празан или\n"
+"поÑтојећи оперативни ÑиÑтем кориÑти Ñав поÑтојећи проÑтор на диÑку, треба да "
+"га\n"
+"партиционирате. У оÑнови, партиционирање хард диÑка Ñе ÑаÑтоји логичког\n"
+"дељења да би обезбедили проÑтор за инÑталацију ваш нови Mageia ÑиÑтем.\n"
+"\n"
+"Пошто Ñу ефекти процеÑа партиционирања обично неповратни,\n"
+"партиционирање може бити прилично ÑтреÑан Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð° неиÑкуÑне кориÑнике.\n"
+"Овај чаробњак га поједноÑтављује. Пре почетка, конÑултујте упуÑтво и не "
+"журите.\n"
+"\n"
+"Уколико Ñте покренули инÑталацију у ЕкÑперт моду, покренућете\n"
+"DiskDrake, Mageia-ов алат за партиције, који вам дозвољавав да\n"
+"фино подеÑите ваше партиције. Погледајте DiskDrake Ñекцију у ``User "
+"Guide''.\n"
+"Из инÑталационог интерфејÑа, можете кориÑтити чаробњаке као што је опиÑано "
+"овде\n"
+"кликом на дијалогов \"Чаробњак\" таÑтер.\n"
+"\n"
+"Уколико Ñу партиције већ креиране, од предходне инÑталације \n"
+"иликреиране другим алатом за партиционирање, морате изабрати \n"
+" на које од њих ћете инÑталирати Linux ÑиÑтем.\n"
+"\n"
+"Уколико партиције ниÑу дефиниÑане, марате да их креирате. \n"
+"Да би то урадили, можете да кориÑтите горе поÑтављени чаробњак. У "
+"завиÑноÑти \n"
+"од конфигурације хард диÑка, поÑтоји неколико могућноÑти:\n"
+"\n"
+" * \"КориÑти Ñлободан проÑтор\": ова опција ће једноÑтавно довеÑти до "
+"аутоматÑког\n"
+"партиционирања вашег празног(их) диÑка(ова). Ðеће вам бити поÑтављана даљна "
+"питања;\n"
+"\n"
+" * \"КориÑти поÑтојеће партиције\": чаробњак је детектовао једну или више \n"
+"поÑтојећих Linux партиција на вашем хард диÑку. Уколико\n"
+"желите да њихј кориÑтите, изаберите ову опцију.\n"
+"\n"
+" * \"КориÑти Ñлободан проÑтор на Windows партицији\": уколико је Microsoft "
+"Windows\n"
+"инÑталиран на вашем диÑку и он заузима Ñав поÑтојећи проÑтор на њему,\n"
+"мораћете да креирате Ñлободан проÑтор за Linux. Да би то урадили, можете "
+"избриÑати\n"
+"Microsoft Windows партицију и податке (погледајте `БриÑање целог диÑка'' или "
+"``ЕкÑперт\n"
+"мод'' опције) или да промените величину Microsoft Windows партиције. Промена "
+"величине\n"
+"Ñе може иÑвеÑти без губљења података, али Ñе птепоручује да прво "
+"дефрагментирате\n"
+"Windows партицију из Ñамог Windows-а. Backup података такође није лоша "
+"идеја..\n"
+"Ово решење Ñе препоручује уколико желите да кориÑтите Mageia и\n"
+"Microsoft Windows на иÑтом компјутеру.\n"
+"\n"
+" Пре него што изаберете ову опцију, морате да разумете да након ове "
+"процедуре\n"
+"величина ваше Microsoft Windows партиције ће бити мања\n"
+"у одноÑу на тренутно Ñтање. Имађете мање Ñлободног проÑтора у Microsoft\n"
+"Windows-у за Ñмештање података или инÑталаију новог Ñофтвера;\n"
+"\n"
+" * \"БриÑање цвелог диÑка\": уколико желите да избришете Ñве податке и Ñве\n"
+"партиције који поÑтоје на вашем хард диÑку и замените их вашим\n"
+"новим Mageia ÑиÑтемом, можете да изаберете ову оцију. Будите\n"
+"пажљивиÑа овом опцијом, јер нећете бити у могућноÑти\n"
+"да повратите Ñтаро Ñтање након потврде.\n"
+"\n"
+" !! Уколико изаберете ову опцију, Ñви подаци на диÑку ће бити "
+"изгубљени. !!\n"
+"\n"
+" * \"Уклони Windows\": ова опција ће једноÑтавно избриÑати Ñве Ñа хард диÑка "
+"и\n"
+"креирати нове партиције. Сви подаци на вашем диÑку\n"
+"ће бити избриÑани;\n"
+"\n"
+" !! Уколико изаберете ову опцију, Ñви подаци на диÑку ће бити "
+"изгубљени. !!\n"
+"\n"
+" * \"Custom партициониÑање диÑка\": изаберите ову опцију уколико желите\n"
+"да ручно ваш хард диÑк. Будите пажљиви -- ово је моћан\n"
+"али опаÑан избор и врло лако можете изгубити Ñвоје податке. Због тога Ñе\n"
+"ова опција препоручује Ñамо онима који имају иÑкуÑтва\n"
+"од раније. За више података о томе како да кориÑтите\n"
+"програм DiskDrake, погледајте поглавље ``Управљајте Ñвојим партицијама '' у\n"
+"``Почетнички водич''."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "КориÑти поÑтојећу партицију"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Избриши цели диÑк"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"И Ñтигли Ñте до краја. ИнÑталација је Ñада завршена и ваш GNU/Linux ÑиÑтем "
+"је \n"
+"Ñпреман за употребу. Само кликните на \"Следећи -\" да би реÑтартовали "
+"ÑиÑтем. Можете покренути\n"
+"GNU/Linux или Windows, шта год више преферирате (уколико имате инÑталирана "
+"два ÑиÑтема), чим\n"
+"Ñе рачунар поново покрене.\n"
+"\n"
+"ТаÑтер Ðапредно \"%s\" (Ñамо у ЕкÑперт моду) приказује још два таÑтера за:\n"
+"\n"
+" * \"креирање ауто-инÑталационе диÑкете\": ради креирања инÑталационог флопи "
+"диÑка\n"
+"који ће аутоматÑки покренути целу инÑталацију без помоћи оператора\n"
+", Ñлично овој инÑталацији коју Ñте управо извели.\n"
+"\n"
+" Можете приметити да Ñу две различите опције доÑтупне након притиÑка на "
+"таÑтер:\n"
+"\n"
+" * \"Са понављањем\". Ово је делом аутоматизирана инÑталација јер корак "
+"Ñа\n"
+"партиционирањем диÑка оÑтаје интерактиван (Ñамо он).\n"
+"\n"
+" * \"Ðутоматизовано\". Потпуно аутоматизована инÑталација: хард диÑк Ñе у "
+"потпуноÑти\n"
+"форматизује, и Ñви подаци ће бити изгубљени.\n"
+"\n"
+" Ова опција је веома кориÑна уколико изводите велики број Ñличних "
+"инÑталација\n"
+"на већем броју машина. Погледајте Ñекцију о ауто инÑталацији на нашем web "
+"Ñајту.\n"
+"\n"
+" * \"Сачувај Ñелекцију пакета\"(*) : Ñнима Ñелекцију пакета који Ñте\n"
+"направили у овој инÑталацији. Тако, да када будете изводили другу "
+"инÑталацију, убаците диÑкету\n"
+"и покренете помоћни екран притиÑком на\n"
+"[F1] таÑтер, и захтевом за >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Морате да иамте FAT-форматирану диÑкету (да би је форматирали под GNU/"
+"Linux-ом, укуцајте\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Креирај ауто инÑталациону диÑкету"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Свака партиција која је новодефиниÑана мора бити\n"
+"форматирана за уптребу (форматирање значи креирање датотечног(фајл) "
+"ÑиÑтема).\n"
+"\n"
+"Сада можда желите да реформатирате поÑтојеће партиције да би избриÑали\n"
+"податке које Ñадрже. Уколико желите то, изаберите партиције \n"
+"које желите да форматизујете.\n"
+"\n"
+"\n"
+"Запамтите да није потребно да реформатирате Ñве поÑтојеће партиције.\n"
+"Морате да реформатирате партиције које Ñадрже оперативни ÑиÑтем \n"
+"(као што Ñу \"/\", \"/usr\" или \"/var\") али не морате да реформатирате "
+"партиције које Ñадрже податке\n"
+"које желите да задржите (обично /home).\n"
+"\n"
+"Пазите при бирању партиција, поÑле форматирања, Ñв подаци ће \n"
+"бити избриÑани и нећете их моћи повратити.\n"
+"\n"
+"Кликните на \"Следеће ->\" када буде Ñпремни да форматирате партиције\n"
+"\n"
+"Кликните на \"<- Претходно\" ако желите да изаберете другу партицију за Ñвој "
+"нови\n"
+"Mageia ÑиÑтем.\n"
+"\n"
+"Кликните на \"Ðапредно\" уколико желите да изаберете партиције које ће бити "
+"проверене\n"
+"да ли имају лоше Ñекторе."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"У време када будете инÑталирали Mageia, врло је могуће да ће неки\n"
+"пакети бити ажурирани у одноÑу на иницијално издање. Ðеки багови могу \n"
+"бити иÑправљени, а ÑигурноÑни пропуÑти затворене. Да би могли да кориÑтите "
+"ове новије верзије\n"
+"ми вам предлажемо да их Ñкинете Ñа Интернета. Изаберите\n"
+"Да или \"Да\" уколико имате подешену Интернет конекцију, или Ðе или \"No\" "
+"уколико више волите да\n"
+"инÑталирате те нове пакете каÑније.\n"
+"\n"
+"Избором на \"Да\" приказује Ñе лиÑта меÑта Ñа којих можете да добавите ное "
+"верзије \n"
+"пакета. Изаберите меÑто које вам је најближе. Затим ће Ñе појавити Ñтабло Ñа "
+"Ñлелекцијом пакета:\n"
+"прегледајте Ñелекцију, и притиÑните \"ИнÑталирај\" да би Ñкинули и\n"
+"инÑталирали Ñелектовни(е) пакет(е), или \"Поништи\" за одуÑтајање."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"на овом меÑту, DrakX ће вам дозволити да одредите жељени ниво ÑигурноÑти\n"
+"за ваш рачунар. Као непиÑано правило, ниво ÑигурноÑти би требао\n"
+"већи уколико машина Ñадржи важне податке, или уколико је машина\n"
+"директно везана на Интернет. Спуштање ÑигурноÑти углавном\n"
+"Ñе види у опвећању лакоће рада Ñа ÑиÑтемом. Погледајте \"msec\"\n"
+"поглавље у ``УпупÑтво за командну линију''да би добавили више информација\n"
+"о нивиоима ÑигурноÑти.\n"
+"\n"
+"Уколико не знате да изаберете, задржите default поÑтавку."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "ÐдминиÑтратор за ÑигурноÑÑ‚:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Ðа овој тачки, морате избрати коју партицију(e) желите да кориÑтите за\n"
+"инÑталацију новог Mageia ÑиÑтема. Уколико Ñу партиције\n"
+"већ дефиниÑане (од предходне инÑталације или од Ñтране\n"
+"другог алата за партиције), можете да кориÑтите поÑтојеће партиције.\n"
+"У другим Ñлучајевима,\n"
+"хард диÑк партиције морају бити дефиниÑане.\n"
+"\n"
+"Да би креирали партиције, морате прво изабрати хард диÑк. Можете изабрати\n"
+"диÑк за партиционирање кликом на \"hda\" за први IDE диÑк, \"hdb\" или \n"
+"за други или \"sda\" за први SCSI диÑк итд.\n"
+"\n"
+"За партиционирање Ñелектованог хард диÑка, можете кориÑтити Ñледеће опције:\n"
+"\n"
+" * \"ОчиÑти Ñве\": ова опција брише Ñве партиције на изабраном хард \n"
+"диÑку.\n"
+"\n"
+" * \"Auto алоцирање\": ова опција дозвољава да аутоматÑки креирате Ext2 "
+"и \n"
+"swap партиције на Ñлободном проÑтору \n"
+" хард диÑка.\n"
+"\n"
+"\"Још\": даје приÑтуп додатним опцијама:\n"
+"\n"
+" * \"СпаÑи табелу партиција\": уколико је ваша табела партиција "
+"оштећена, \n"
+"можете да пробате да је опоравите кориÑтећи ову опцију. Будите\n"
+" пажљиви и знајте да може да и не уÑпе.\n"
+"\n"
+" * \"Врати на Ñтаро\": ова опција ће поништити измену.\n"
+"\n"
+" * \"Поновно учитавање\": ову опцију можете кориÑтити уколико желите да \n"
+"поништитиÑве промене и учитате иницијалну табелу партиција\n"
+"\n"
+" * \"Чаробњак\": уколико желите да кориÑтите чаробњака за партиционирање \n"
+"хард диÑка, изаберите ову опцију. Препоручена је укоико\n"
+" немате много знања о партцијама.\n"
+"\n"
+" * \"Поврати Ñа диÑкете\": уколико Ñте Ñнимили табелу партиција на \n"
+"диÑкету током претходне инÑталације, можете је\n"
+" вратити Ñа овом опцијом.\n"
+"\n"
+" * \"Сними на диÑкету\": уколико желите да да Ñнимите табелу партиција на\n"
+"диÑкету да би могли каÑније да је повратите, можете да иÑкориÑтите\n"
+" ову опцију. Ðарочито препоручујемо ову опцију\n"
+"\n"
+" * \"Урађено\": када завршите Ñа партиционирањем хард диÑка, иÑкориÑтите "
+"ову опцију да би Ñнимили промене.\n"
+"\n"
+"Када дефинишете величину партиција, можете коначно подеÑити величину\n"
+"партиција помоћу таÑтера Ñа Ñтрелицама на вашој Ñтрелицама\n"
+"За више информација, можете за Ñваку оцпију добити кретањем помоћу "
+"таÑтатуре: навигацијом кроз партиције помоћу [Tab] таÑтера и [Up/Down] "
+"Ñтрелица.\n"
+"\n"
+"Када је партиција изабрана, можете кориÑтити:\n"
+"\n"
+" * Ctrl-c за креирање нове партиције (када је изабрана празна партиција);\n"
+"\n"
+" * Ctrl-d за бриÑање партиције;\n"
+"\n"
+" * Ctrl-m за поÑтављање тачке монтирања.\n"
+"\n"
+"Да би добили информације о различитим доÑтупним типовима ÑиÑтема, "
+"прочитајте\n"
+"ext2FS поглавље из ``УпуÑтва''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ðутомонтирање преноÑивог медија"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Пређи на нормални мод"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Једна или више Microsoft Windows партиција је детектовано \n"
+"на хард диÑку. Изаберите коју од њих желите да Ñмањите да би инÑталирали\n"
+"нови Mageia оперативни ÑиÑтем.\n"
+"\n"
+"Свака партиција је иÑпиÑана на Ñледећи начин: \"Име Linux-а\",\"Име Windows-а"
+"\"\n"
+"\"Капацитет\".\n"
+"\n"
+"\"Име Linux-а\" је кодирано на Ñледећи начин: \"тип хард диÑка\", \"број "
+"хард диÑка\",\n"
+"\"број партиције\" (на пример, \"hda1\").\n"
+"\n"
+"\"Тип хард диÑка\" је \"hd\" уколико је хард диÑк ID уређај и \"sd\"\n"
+"уколико је SCSI хард диÑк.\n"
+"\n"
+"\"Број хард диÑка\" је увек Ñлово поÑле \"hd\" или \"sd\". Са IDE хард "
+"диÑковима:\n"
+"\n"
+" * \"a\" значи \"master хард диÑк на примарном IDE контролеру\",\n"
+"\n"
+" * \"b\" значи \"slave хард диÑк на примарном IDE контролоеру\",\n"
+"\n"
+" * \"c\" значи \"master хард диÑк на Ñекундраном IDE контролоеру\",\n"
+"\n"
+" * \"d\" значи \"slave хард диÑк на Ñекундарном IDE контролеру\".\n"
+"\n"
+"Са SCSI хард диÑковима, \"a\" значи \"примарни хард диÑк\", a \"b\" значи "
+"\"Ñекундарни хард диÑк \", итд.\n"
+"\n"
+"\"Име Windows-а\" је Ñлово хард диÑка под Windows-ом (први диÑк\n"
+"или партиција Ñе зове \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"Држава\": проверава тренутни избор земље. Уколико Ñе не налазите у овојÑ\n"
+"држави, кликните на таÑтер и и изаберите другу."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Овај корак Ñе активира Ñамо у Ñлучају да поÑтоји Ñтара GNU/Linux партиција "
+"на\n"
+"вашиој мошини.\n"
+"\n"
+"DrakX Ñада треба да зна да ли желите да изведете чиÑту инÑталацију или "
+"ажурирање\n"
+"поÑтојећег Mageia ÑиÑтема:\n"
+"\n"
+" * \"ИнÑталација\": У већини Ñлучајева, ова опција комплетно брише Ñтари\n"
+"ÑиÑтем. Уколико желите да измените број партиција, или\n"
+"промените фајл ÑиÑтем, требали би да кориÑтите ову опцију. Ипак, у "
+"завиÑноÑти од\n"
+"шеме партиција, можете заштитити неке поÑтојеће податке\n"
+"од форматирања.\n"
+"\n"
+" * \"Ðжурирање\": ова инÑталациона клаÑа вам дозвољава да урадите ажурирање "
+"пакета\n"
+"на тренутно инÑталираном Mageia ÑиÑтему. Ваша тренутна\n"
+"шема партиција и кориÑнички подаци Ñе не мењају. Већина других\n"
+"конфигурационих корака и даље оÑтаје доÑтупна, Ñлично Ñтандардној "
+"инÑталацији.\n"
+"\n"
+"Употреба опције ``Ðжурирање'' би требало да буде без проблема на Mandriva "
+"Linux ÑиÑтемима\n"
+"од верзије \"8.1\" или новије. Извођење ажурирања на верзијама \n"
+"Mageia пре \"8.1\" није препоручљиво."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"У принципу, DrakX бира деÑну таÑтатуру за Ð²Ð°Ñ (у завиÑноÑти од тога који\n"
+"Ñте језик изабрали) и чак и нећете видети овај корак. Ипак, може\n"
+"Ñе деÑити да ниÑте добили таÑтатуру која одговара вашем језику: на\n"
+"пример, уколико Ñте Швајцарац који говори енглеÑки, вероватно ћете желети\n"
+"ШвајцарÑку таÑтатуру. Или уколико говорите ЕнглеÑки али Ñе налазите\n"
+"у Квебеку, можете Ñе наћи у иÑтој Ñитуацији. У оба\n"
+"Ñлучаја, мораћете да Ñе вратите на овај инÑталациони корак и изаберете\n"
+"одговарајућу таÑтатуру Ñа лиÑте.\n"
+"\n"
+"Кликните на таÑтер \"Још\" да би добили комплетну лиÑту\n"
+"подржаних таÑтатура.\n"
+"\n"
+"Уколико изаберете раÑпоред таÑтатуре базиран на non-Latin алфабету, Ñледећи\n"
+"дијалог ће вам понудити да изаберете комбинацију таÑтера који ће Ñлужити\n"
+"да мењате Latin и non-Latin раÑпореде."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ваш избор јеика ће утицати на језик документације,\n"
+"инÑталације и ÑиÑтема уопште. Прво изаберите регион у којем Ñе налазите,\n"
+"а затим језик који говорите.\n"
+"\n"
+"Кликом на таÑтер \"Ðапредно\" омогућићете Ñеби да видите друге\n"
+"језике које можете инÑталирати на вашу радну Ñтраницу. Бирањем других "
+"језика\n"
+"ћете инÑталирати фајлове везане (за Ñпецифициране језике) за документацију "
+"и\n"
+"апликације. Ðа пример, уколико ће на вашем рачунару хоÑтовати кориÑници из "
+"Шпаније\n"
+"изаберите ЕнглеÑки као главни а на Ñтаблу\n"
+"означите и \"ШпаниÑки|Шпанија\".\n"
+"\n"
+"Запамтите да можете инÑталирати више језика. Када изаберете Ñве жељене\n"
+"додатне локализације кликните на таÑтер \"У реду\" да би наÑтавили.\n"
+"\n"
+"Да би мењали различите језике који Ñу инÑталирани на вашем ÑиÑтему, можете "
+"покренути\n"
+" \"/usr/sbin/localedrake\" команду као \"root\" да би променили језик који "
+"Ñе \n"
+"кориÑти у целом ÑиÑтему. покретањем команде као регуларни кориÑник Ñамо ћете "
+"променити\n"
+"поÑтавке језика за датог кориÑника."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX генерално детектује број таÑтера који ваш миш поÑдедује. Уколико Ñе то "
+"не деÑи\n"
+"он ће претпоÑтавити да миш Ñа два таÑтера и подеÑиће емулацију трећег "
+"таÑтера.\n"
+"DrakX ће аутоматÑки препознати да ли Ñе ради о PS/2, ÑеријÑком или USB "
+"мишу.\n"
+"\n"
+"Уколико желите да Ñпецифицирате други тип миша одаберите одговарајући\n"
+"тип Ñа лиÑте.\n"
+"\n"
+"Уколико изберете миша који Ñе разликује од default-а појавиће вам Ñе\n"
+"теÑÑ‚ екран. КориÑтите таÑтере и точкиће да би проверили да ли Ñу поÑтавке\n"
+"добре. Уколико миш не ради иÑправно притиÑните таÑтер за размак (space bar) "
+"или\n"
+"таÑтер [Return] да би поништили теÑÑ‚ и вратили Ñе да би покушали поново.\n"
+"\n"
+"Точкићи на мишу Ñе понекад не детектују аутоматÑки, па ћете Ñами морати да\n"
+"изаберете миша Ñа лиÑте. Пазите да изаберете одговарајући везано\n"
+"за порт на који је миш повезан. након избора миша\n"
+"и притиÑка на таÑтер \"Следећи ->\", Ñлика миша ће бити приказана на "
+"екрану.\n"
+"Покрените тошкић да би проверили да ли је правилно активиран. Када \n"
+"видите да Ñе точкић на екрану помера као и точкић на мишу, теÑтирајте\n"
+"таÑтере и проверите да ли курÑор на екрани прати ваше \n"
+"померање миша."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Емулација таÑтера"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Молим, изаберите одговарајући порт. Ðа пример, COM1 порт под MS Windows-ом\n"
+" у Linux-у има ознаку ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Сада треба да изаберемо ÑиÑтем за штампање за ваш рачунар. Други OS-ови вам\n"
+"нуде један, али вам Mageia нуди чак три.\n"
+"\n"
+" * \"pdq\" што значи ``print, do not queue'', је избор за оне који имају\n"
+"директни конекцију Ñа Ñвојим штампачем и желите да избегнете\n"
+"било какве заÑтоје штампача, а при томе немате мрежне штампаче. Он може да "
+"Ñе кориÑти\n"
+"Ñамо на веома једноÑтавним мрежама и помало је и Ñпор за мреже. Изаберите "
+"\"pdq\"\n"
+"уколико упознајете GNU/Linux. Ваш избор наравно можете променити\n"
+"након иÑнталације покрећући PrinterDrake from из Mandriva Контролног\n"
+"Центра и кликом на expert таÑтер.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', је изврÑтан за штампање на вашем\n"
+"локалоном штампачу као и за штампање по целој земаљÑкој кугли. Он је "
+"једноÑтаван и може Ñе понашати\n"
+"као Ñервер или као клијент Ñа Ñтарог \"lpd\" Ñитема за штампање. Такође, он\n"
+"је компатибилан Ñа ÑиÑтемима који Ñу раније поÑтојали. Он може много тога, "
+"али\n"
+"оÑновно подешвање је једноÑтавно као и код \"pdq\". Уколико треба да "
+"емулирате\n"
+"an \"lpd\" Ñервер, морате да покренете \"cups-lpd\" демон. Он поÑедује\n"
+"графички Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° штапање и избор опција за штампање.\n"
+"\n"
+"Ðко то ниј Ñлучај, CUPS је онда права Ñтвар јер је једноÑтавнији и бољи за "
+"рад преко\n"
+"мрежа."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Стручни"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX Ñада треба да детектује IDE уређаје приÑутне у вешем рачунару.DrakX "
+"ће \n"
+"потражити PCI SCSI адаптер(e). Уколико DrakX пронађе SCSI адаптер(е) и буде "
+"знао који управљачки програм \n"
+"(драјвер) кориÑтион ће га(их) аутоматÑки инÑталирати.\n"
+"\n"
+"Пошто Ñе може деÑити да при детекцији нека компонента не буде детектована \n"
+"DrakX ће Ð²Ð°Ñ ÑƒÐ¿Ð¸Ñ‚Ð°Ñ‚Ð¸ да ли имате PCI SCSI адаптер. Кликните \"Да\" \n"
+"уколико знате да имате SCSI адаптер на Ñвојој машини. Ðа приказаној лиÑти \n"
+"моћи ћете да изаберете одговоарајући.\n"
+"Кликните \"Ðе\" уколико немате SCSI адаптера у машини. Уколико ниÑте \n"
+"Ñигурни\n"
+"проверите на лиÑти детектованог хардвера Ñелектовањем \"Погледај инфо о \n"
+"хардверу\"и кликом на \"У реду\". Прегледајте\n"
+"лиÑту а онда кикните на \"У реду\" да би Ñе вратили на питање о SCSI \n"
+"уређајима.\n"
+"\n"
+"Уколико морате ручно да Ñпецифицирате ваш PCI SCSI адаптер, DrakX ће\n"
+"Ð²Ð°Ñ ÑƒÐ¿Ð¸Ñ‚Ð°Ñ‚Ð¸ да одредите опције за њега.Треба ли би да дозволите DrakX-у да\n"
+"иÑпита адаптер ради тих опција. Ово обично и уÑпе.\n"
+"\n"
+"Уколико DrakX није у Ñтању да иÑпита опције које Ñу потребне, мораћете да \n"
+"Ñами одредите опције за драјвер.\n"
+"Погледајте и ИнÑталациони водич (3 поглавље, Ñекција \"Прикупљање \n"
+"информација о вашем хардверу\")\n"
+"да би Ñазнали како да прибавите информације о параметрима потребним за \n"
+"хардвер,Ñа Ñвоје Windows инÑталације (уколико је имате на ÑиÑтему),\n"
+"докуменатцију о хардверу, или Ñа произвођачевог \n"
+"веб Ñајта (уколико имате приÑтуп интернету)."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"Звучна картица\": уколико је звучна картица детектована на вашем ÑиÑтему, "
+"онда је приказана\n"
+"овде. Уколико приметите да приказана картица није она која је Ñтварно "
+"приÑутна\n"
+"у вашем рачунару, можете кликнути на таÑтер и\n"
+"други драјвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Интерна ISDN картица"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Интерна ISDN картица"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Графички интерфејÑ"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изаберите хард диÑк који желите да избришете да би инÑталирали нову Mandriva "
+"Linux \n"
+"партицију. Будите пажљиви, Ñви подаци на њему ће бити изгубљени\n"
+"и неће Ñе моћи повратити!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Кликните на \"Следеће ->\" уколико желите да избришете Ñве податке и \n"
+"партиције на овом хард диÑку.Будите пажљиви, поÑле клика на \"У реду\", ви\n"
+"нећете моћи да повратите било који податак или партицију на хард диÑку,\n"
+"па и било које Windows податке.\n"
+"\n"
+"Кликните на \"<- Ппретходно\" да би поништи ову операцију без губљења "
+"података и\n"
+"партиција које Ñу приÑутне на овом хард диÑку."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следећи ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Претходни"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"Штампач\": ако кликнете на таÑтер \"Без штампача\" покренути ћете "
+#~ "конфигурациони\n"
+#~ "програм за штампаче. Погледајте и одговоарајуће упуÑтво у``Starter\n"
+#~ "Guide'' за више информација о томе како да подеÑите нови штампач. Програм "
+#~ "које Ñе\n"
+#~ "тада активира је Ñличан оном који Ñе кориÑти током инÑталације."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ово је најзаначајнија тачка у одлучивању о ÑигурноÑти вашег GNU/Linux\n"
+#~ "ÑиÑтема: морате да унеÑете \"root\" лозинку. \"root\" је админиÑтратор\n"
+#~ "ÑиÑтема и једини је овлаштен да врши измене, додаје кориÑнике,\n"
+#~ "мења оÑновну конфигурацију ÑиÑтема, итд. Укратко, \"root\" може\n"
+#~ "да уради Ñве! Због тога морате да изаберете лозинку која тешко може да "
+#~ "Ñе\n"
+#~ "погоди - DrakX ће вам рећи уколико је она Ñувише једноÑтавна. Као што "
+#~ "можете да видите, можете да\n"
+#~ "изаберете и да не унеÑете лозинку, али вам озбиљно препоручујемо да то\n"
+#~ "нерадите из једног разлога: немојте да миÑлите да то што Ñте Ñтартовали "
+#~ "GNU/Linux да\n"
+#~ "ваши други оперативни ÑиÑтеми Ñигурни од грешака. Како \"root\" може да\n"
+#~ "преÑкочи Ñва ограничења и ненамерно избрише Ñве податке на партицији\n"
+#~ "неопрезним приÑтупом, важно је да је тешко\n"
+#~ "поÑтати \"root\".\n"
+#~ "\n"
+#~ "Лозинка треба да буде мешавина бројева и Ñлова и треба да Ñадржи најмање "
+#~ "8\n"
+#~ "карактера. Ðикада не запиÑујте на папир \"root\" лозинку - тако лако\n"
+#~ "можете угрозити ÑиÑтем.\n"
+#~ "\n"
+#~ "Међутим, потрудите Ñе да лозинка не буде превише дуга или комликована "
+#~ "зато\n"
+#~ "што треба да је запамтите без много напора.\n"
+#~ "\n"
+#~ "Лозинка неће бити приказана на екрану када је укуцавате. Срећом, моћи "
+#~ "ћете\n"
+#~ "да је укуцате два пута да би Ñмањили могућноÑÑ‚ греше у куцању.\n"
+#~ "Уколико ипак погрешите у куцању, али два пута, ова\n"
+#~ "``неиÑправна'' лозинка ће бити кориштена када Ñе будете први пут "
+#~ "конектовали.\n"
+#~ "\n"
+#~ "У ЕкÑпертномм моду, бићете питани да ли ћете Ñе конектовати на\n"
+#~ "аутентификациони Ñервер, као што је NIS или LDAP.\n"
+#~ "\n"
+#~ "Уколико ваша мрежа кориÑти LDAP (или NIS) протокол за аутентификацију, "
+#~ "Ñелектујте\n"
+#~ "\"LDAP\" (или \"NIS\") за аутентификацију. Уколико то незнате, питајте\n"
+#~ "вашег мрежног админиÑтратора.\n"
+#~ "\n"
+#~ "Уколико Ñе ваш рачунар не конектује на админиÑтриране мреже, треба да\n"
+#~ "изаберете \"Локални фајлови\" за аутентификацију."
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "Ðутентификација"
diff --git a/perl-install/install/help/po/sr@Latn.po b/perl-install/install/help/po/sr@Latn.po
new file mode 100644
index 000000000..2a825542d
--- /dev/null
+++ b/perl-install/install/help/po/sr@Latn.po
@@ -0,0 +1,1977 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-09-15 13:34+0200\n"
+"Last-Translator: Toma Jankovic_<tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\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"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pre nego Å¡to nastavite pažljivo proÄitajte uslove licence. Ona\n"
+"pokriva celu Mageia distribuciju, i ukoliko se slažete\n"
+"sa svim uslovima koji se nalaze u njoj, kliknite na \"Prihvatam\" taster\n"
+"Ukoliko ne prihvatate, jednostavno iskljuÄite \n"
+"raÄunar."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je viÅ¡ekorisniÄki sistem, a to znaÄi da svaki korisnik može imati "
+"sopstvene\n"
+"postavke, sopstvene fajlove, itd. Možete proÄitati ``Upustvo za korisnike''\n"
+"da bi saznali više o tome. Ali za razliku od \"root\", koji je ustvari "
+"administrator, korisnici\n"
+"koje dodate ovde neće moći da menjaju bilo šta osim njihovih\n"
+"fajlova i njihove konfiguracije. Trebalo bi da kreirate najmanje jednog\n"
+"obiÄnog korisnika za sebe. Taj raÄun je onaj na koji treba da se logujete \n"
+"za rutinsko korišćenje. Iako je veoma praktiÄno da se ulogujete kao \"root\" "
+"svaki dan,\n"
+"to može biti veoma opasno! I najmanja greÅ¡ka može znaÄiti da vaÅ¡ sistem\n"
+"neće viÅ¡e raditi. Ukoliko napravite ozbiljne greÅ¡ke kao obiÄni korisnik \n"
+"možete jedino izbgubiti nešto informacija, ali ne i celi sistem.\n"
+"\n"
+"Prvo, morate da unesete vaše pravo ime. Ovo nije neophodno, naravno -\n"
+"jer možete pristupiti i izmeniti ga kada god želite. DrakX će tada uzeti "
+"prvu\n"
+"reÄ koji ste uneli i staviti ga u prostor za unoÅ¡enje imena korisnika "
+"\"User\n"
+"name\". Ovo je ime koje odreženi korisnik treba da koristi pri logovanju na\n"
+"sistem. Možete ga promeniti. YNakon toga morate uneti lozinku ovde.\n"
+"ObiÄni, ne-privilegovani korisniÄka lozinka nije od većeg znaÄaja kao ona "
+"za\n"
+"\"root\" koriosnika sa sigurnosne taÄke gledanja, ali to nije razlog za "
+"opuštanje\n"
+"- nakon svega, vaši fajlovi su u pitanju.\n"
+"\n"
+"Ukoliko kliknete na \"Prihvati korisnikar\", možete dodati još korisnika. "
+"Dodajte\n"
+"korisnika za svakog vašeg prijatelja: za vašeg oca ili sestru, na\n"
+"primer. Kada zaršite dodavanje svih željenih korisnika, izaberite \"Završeno"
+"\".\n"
+"\n"
+"Klikom na taster Napredno \"Napredno opcije\" možete izmeniti default \"shell"
+"\"\n"
+"za trenutnog korisnika (bash po default). \n"
+"\n"
+"Kada zavrÅ¡ite sa dodavanjem korisnika, raÄunar će tražiti da izaberete "
+"korisnika\n"
+"koji će se automatski prijavljivati na sistem pri njegovom startanju. "
+"Ukoliko\n"
+"vas zanima ova mogućnost (i ne vodite mnogo raÄuna o lokalnoj\n"
+"sigurnosti), izaberite željenog korisnika i window menažer, a zatim kliknite "
+"na \"Sledeći\n"
+"->\". Ukoliko niste zainteresovani za ovu opciju, deselektujte \"Da li "
+"želite\n"
+"da koristite ovu opciju?\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite da koristite ovu opciju ?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Iznad se nalazi lista postojećih Linux particija koje su detektovane\n"
+"na hard disku. Možete zadržati izbor koji je napravio Äarobnjak, jer je "
+"dobar za a\n"
+"opštu upotrebu. Ukoliko promenite izbor, morate bar izabrati root\n"
+"particiju (\"/\"). Nemojte da birate suviše malu particiju jer nećete moći "
+"da\n"
+"instalirate ovoljno softvera. Ukoliko želite da podatke staviljate na "
+"posebnu particiju ,\n"
+"morate da izaberete i \"/home\" (moguće je ukoliko imate više od jedne\n"
+"Linux particije).\n"
+"\n"
+"\n"
+"Informacija: svaka particija je prikazana na sledeći naÄin: \"Ime\", "
+"\"Kapacitet\".\n"
+"\n"
+"\"Ime\" je kodirano na sledeći naÄin: \"tip hard diska\", \"broj hard diska"
+"\",\n"
+"\"proj particije\" (na primer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk IDE uređaj i \"sd\"\n"
+"ukoliko je SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvek slovo posle \"hd\" ili \"sd\". Za IDE hard "
+"diskove:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroloeru\",\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundranom IDE kontroloeru\",\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"\n"
+"Sa SCSI hard diskovima, a \"a\" znaÄi \"primarni hard disk\", a \"b\" "
+"znaÄi \n"
+"\"sekundarni hard disk \", itd..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia instalacija se nalazi na nekoliko diskova iliti CDROM-ova. "
+"DrakX\n"
+"zna ukoliko da ukoliko je selktovani paket lociran na drugom CDROM-u i "
+"izbaciće\n"
+"trenutni CD te tražiti od vas da ubacite odgovarajući."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada je vreme da odredimo koje programe želite da instalirate na vaš\n"
+"sistem. Postoje hiljade paketa dostupnih za instalaciju na Mageia, "
+"i \n"
+"da bi ih uÄinili dostupnijim, smeÄ‘teni su u grupe sliÄnih aplikacija.\n"
+"\n"
+"Paketi su sortirani u grupe u odnosu na odgovarajuću upotrebu na vašoj\n"
+"maÅ¡ini. Same grupe su sortirane u Äetiri klase. Ove klase možete posmatrati\n"
+"kao kontejnere za razliÄite pakete\n"
+"Možete meÅ¡ati aplikacije iz razliÄitih kontejnera, tako da\n"
+"iinstalacija ``Radna stanica'' može da sadrži aplikacije iz \n"
+"kontejnera ``Razvojna stanica'' .\n"
+"\n"
+" * \"Radna stanica\": ukoliko planirate da koristite vašu mašinu kao radnu "
+"stanicu, izaberite jednu ili više odgovarajućih grupa.\n"
+"\n"
+" * \"Razvojna stanica\": ukoliko mašina treba da se koristi za "
+"programiranje, izaberite željenu(e) grupu(e).\n"
+"\n"
+" * \"Server\": ukoliko će se mašina koristiti kao server, moći ćete da \n"
+"izaberete koje od najÄešćih servisaželite da instalirate na\n"
+"mašinu.\n"
+"\n"
+" * \"GrafiÄko Okruženje\": na kraju, ovde ćete izabrati vaÅ¡e\n"
+"omiljeno grafiÄko okruženje. Morate izabrati bar jedno da bi imali\n"
+"grafiÄku radnu stanicu!\n"
+"\n"
+"Kretanjem kursora miša preko imena grupe dobićete kratko objašnjenje\n"
+"o toj grupi. Ukoliko ne selektujete ni jednu grupu kada izvodite\n"
+"osnovnu instalaciju (za razliku od ažuriranja), pojaviće se dijalog\n"
+"sa razliÄitim predlozima za minimalnu instalciju:\n"
+"\n"
+" * \"Sa X-ovima\": Instalira nekoliko paketa radi grafiÄkog desktopa\n"
+"\n"
+" * \"Sa osnovnom dokumentacijom\": Instalira osnovni sistem sa osnovnim "
+"alatima\n"
+"i njihovom dukumentacijom. Ovaj mod je praktiÄan za\n"
+"podešavanje servera\n"
+"\n"
+" * \"Stvarno minimalna instalacija\":Instalira samo što je minimano "
+"potrebno,\n"
+"za rad Linux sistema,naravno samo u komandnoj liniji.Ova instalacija "
+"zauzima\n"
+"samo 65 Mb\n"
+"\n"
+"Možete selektovati i \"PojedinaÄno biranje paketa\", koje je korisno "
+"ukoliko\n"
+"su vam poznati ponuđeni paketi i želite da imate potpunu \n"
+"kontrolu nad svim što će biti instalirano.\n"
+"\n"
+"Ukoliko ste pokrenuli mod \"Ažuriranje\", možete deselektovati sve\n"
+"grupe da bi izbegli instalaciju bilo kog novog paketa. Ovo je korisno za "
+"popravljanje ili\n"
+"ažuriranje postojećeg sistema."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ažuriranje"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom (preporuka!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimalno instaliraj"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Na kraju, u zavisnosti od vaÅ¡eg izbora da da birate pojedinaÄne pakete\n"
+"ili ne, biće vam prikazano stablo sa svim paketima klasifikovanim\n"
+"po grupama i podgrupama. Dok pretražujete stablo, možete selektovati cele\n"
+"grupe, podgrupe, ili individualne pakete.\n"
+"\n"
+"Kada kod selektujete paket na stablu, opis se pojavljuje sa desne\n"
+"strane. da bi mogli da se upoznate namenom paketa.\n"
+"\n"
+"!! Ukoliko je server paket izabran sluÄajno ili kao deo\n"
+"cele grupe, bićete upitani da li zaista želite da instalirate\n"
+"ponuđene servere. Pod Mageia-om, svi instalirani\n"
+"serveri se startuju po default-u za vreme podizanja sistema. ÄŒak i ako su "
+"sigurni i nemaju\n"
+"poznatih bezbednosnih propusta do vremena izlaska distribucije, može se "
+"desiti\n"
+"da sigurnosne rupe budu otkivene kasnije.\n"
+" Ukoliko ne znate koji pojedinaÄni servis Å¡ta treba da radi\n"
+"ili zašto se instalira, onda kliknite \"Ne\". Klikom na \"Da\" ćete\n"
+"instalirati prikazane servis i oni će biti pokrenuti automatski po\n"
+"default-u. !!\n"
+"\n"
+"Opcija \"Automatske meÄ‘uzavisnosti\" jednostavno iskljuÄuje dijalog sa "
+"upozorenjem\n"
+"koji se javlja svaki put kada instaler automatski selektuje pakete. Ovo se\n"
+"javlja zato što on određuje da mora da zadovolji zavisnosti sa drugim\n"
+"paketom da bi uspešno završio instalaciju.\n"
+"\n"
+"Mala ikonica flopi diska na dnu liste vam omogućava da uÄitate\n"
+"listu paketa birane tokom prethodne instalacije. Klikom na ovu ikonicu\n"
+"će od vas biti traženo da ubacite disketu kreiranu ranije na kraju \n"
+"prethodne instalacije. Pogledajte poslednji pasus (korak) da bi nauÄili kako "
+"da kreirate \n"
+"takvu disketu."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Sada možete odabrati koje servise želite da se startaju pri podizanju "
+"sistema.\n"
+"\n"
+"DrakX će prikazati sve dostupni servise na trenutnoj\n"
+"instalaciji. Pregledajte ih pažljivo i deselektujte one koji vam neće biti "
+"uvek\n"
+"potrebni pri podizanju sistema.\n"
+"\n"
+"Možete dobiti i kratko objašnjenje o servisu selektovanjem\n"
+"određenog servisa. Međutim, ukoliko niste sigurni koji od servisa jesu ili\n"
+"nisu korisni, sigurnije je ostaviti na default postavkama.\n"
+"\n"
+"!!Na ovom nivou, budite veoma pažljivi ukoliko želite da koristite vašu "
+"mašinu kao\n"
+"server: verovatno nećete želeti da startujete nijedan servis koji vam neće\n"
+"trebati. Zapamtite da nekoliko servisa može biti opasno ukoliko\n"
+"su omogućeni na serveru. Generano govoreći, izaberite samo servise koje ćete "
+"stvarno trebati.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux upravlja sa vremenom u GMT (Greenwich Mean Time) i prevodi ga u\n"
+"lokalno vreme u zavisnosti koju ste vremensku zonu izabrali. Međuti, moguće "
+"je\n"
+"ovo i deaktivirati deselektovanjem \"Podesi hardverski Äasovnik na GMT\" "
+"tako da hardverski Äasovnik\n"
+"haima isto vreme kao i sistemski Äasovnik. Ovo je korisno kada na maÅ¡ini "
+"imate\n"
+"još jedan operativni sistem kao što je Windows.\n"
+"\n"
+"Opcija \"Automatska sihronizacija Äasovnika\" će automatski regulisati\n"
+"Äasovnik konektovanjem na udaljeni vremenski server na Internetu. Na \n"
+"listi koja je prikazana, izaberite server koji se nalazi blizu vas. "
+"Naravno,\n"
+"morate imati ispravno podešenu Internet konekciju da bi mogli da koristite "
+"ovu opciju. Ona će\n"
+"ustvari instalirati na vašu mašinu vremenski server koji se pomogućnosti "
+"može koristiti i od\n"
+"strane drugih mašina na vašoj lokalnoj mreži."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska sinhronizacija vremena (preko NTP-a)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"GrafiÄka kartica\n"
+"\n"
+" Program za instalaciju obiÄno automatski detektuje i podeÅ¡ava\n"
+"grafiÄku kartu koja je instalirana u vaÅ¡oj maÅ¡ini. Ukoliko to nije sluÄaj, "
+"možete\n"
+"da je izaberete sami sa liste ponuđenih kartica.\n"
+"\n"
+" U sluÄaju da je viÅ¡e grafiÄkih servera dostupno za vaÅ¡u karticu, sa ili\n"
+"bez 3D akceleracije, onda sami odaberite onu koja najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (ili X Window Sistem) je srce GNU/Linux grafiÄkog interfejsa\n"
+"na koji se oslanjaju sva grafiÄka okruženja (KDE, GNOME, AfterStep,\n"
+"WindowMaker, itd.) koja se nalaze u Mageia-u.\n"
+"\n"
+"Biće vam prikazana lista sa razliÄitim parametrima Äijom izmenom\n"
+"možete dobiti optimalan grafiÄki prikaz: GrafiÄka kartica\n"
+"\n"
+"\n"
+" Program za instalaciju obiÄno automatski detektuje i podeÅ¡ava\n"
+"grafiÄku kartu koja se nalazi u vaÅ¡em raÄunu. Ukoliko to nije sluÄaj, "
+"možete\n"
+"sami da izaberete karticu sa liste.\n"
+"\n"
+" Ukoliko su razliÄiti serveri dostupni za vaÅ¡u karticu, sa ili\n"
+"vez 3D akceleracije, onda treba da izaberete onaj koji najviše\n"
+"odgovara vašim potrebama.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Program za instalaciju obiÄno automatski detektuje i podeÅ¡ava\n"
+"monitor koji povezan sa vaÅ¡im raÄunarom. Ukoliko se to ne desi možete "
+"izabrati\n"
+"sami sa liste ponuđenih monitora\n"
+"\n"
+" Ovde možete izabrati rezoluciju i broj boja od\n"
+"onih koje su ponuđene za vaš hardver. Izaberite ono što najviše odgovara "
+"vašim potrebama\n"
+"(ove opcije ćete moći izmeniti i nakon instalacije). Izabrana\n"
+"konfiguracije se vidi na monitoru.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" sistem će pokuÅ¡ati da otvori grafiÄki ekran u željenoj\n"
+"rezoluciji. Ukoliko možete da vidite poruku tokom testa odgovorite sa \"Da"
+"\",\n"
+"i DrakX će nastaviti sa sledećim korakom. Ukoliko ne možete da vidite "
+"poruku, to\n"
+"znaÄi da je neki deo autotedekcije bio nepravilan i\n"
+"test će automatski završiti nakon 12 sekundi, otavarajući meni za\n"
+"konfiguraciju. Izmenite opcije sve dok ne dobijete korektan grafiÄki "
+"prikaz.\n"
+"\n"
+"\n"
+"\n"
+"Opcije\n"
+"\n"
+" Ovde možete da izaberete da li želite da vaÅ¡ raÄuanr automatski\n"
+"preÄ‘e na grafiÄki interfejs pri startanju. OÄigledno, izabraćete\n"
+"\"Ne\" ukoliko je vaša mašina server, ili ukoliko niste uspeli da uspešno \n"
+"podesite grafiÄki prikaz."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Program za instalaciju obiÄno automatski detektuje i podeÅ¡ava\n"
+"monitor povezan na vašu mašinu. Ukoliko se to nedesi, možete sami\n"
+"sami da izaberete model monitora sa liste."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rezolucija\n"
+"\n"
+" Ovde možete izabrati rezoluciju i broj boja koje su\n"
+"dostupne za vaš hardver. Izaberite ono što najviše odgovara vašim potrebama "
+"(ove opcije ćete moći\n"
+"da promenite i nakon instalacije). Primer izabrane\n"
+"konfiguracije je prikazan na monitoru."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"U sluÄaju da su dostupni razliÄiti serveri za vaÅ¡u karticu, sa ili\n"
+"bez 3D akceleracije, najbolje je da izaberete server koji\n"
+"najviše odgovara vašim potrebama."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Na kraju, bićete upitani da li želite grafiÄki interfejs\n"
+"pri startanju sistema. Ovo pitanje će vam biti postavnjeno Äak i ako niste "
+"testirali\n"
+"konfiguraciju. Naravno, odgovorićete \"Ne\" ukoliko vaša mašina predstalja\n"
+"server, ili ukoliko niste uspešno podesili\n"
+"displejed."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"U ovom trenutku, morate da izaberete gde ćete instalirati\n"
+"Mageia operativni sistem na vaš hard disk. Ukoliko je prazan ili\n"
+"postojeći operativni sistem koristi sav postojeći prostor na disku, treba da "
+"ga\n"
+"particionirate. U osnovi, particioniranje hard diska se sastoji logiÄkog\n"
+"deljenja da bi obezbedili prostor za instalaciju vaš novi Mageia "
+"sistem.\n"
+"\n"
+"PoÅ¡to su efekti procesa particioniranja obiÄno nepovratni,\n"
+"particioniranje može biti priliÄno stresan proces za neiskusne korisnike.\n"
+"Ovaj Äarobnjak ga pojednostavljuje. Pre poÄetka, konsultujte upustvo i ne "
+"žurite.\n"
+"\n"
+"Ukoliko ste pokrenuli instalaciju u Ekspert modu, pokrenućete\n"
+"DiskDrake, Mageia-ov alat za particije, koji vam dozvoljavaw da\n"
+"fino podesite vaše particije. Pogledajte DiskDrake sekciju u ``User "
+"Guide''.\n"
+"Iz instalacionog interfejsa, možete koristiti Äarobnjake kao Å¡to je opisano "
+"ovde\n"
+"klikom na dijalogov \"ÄŒarobnjak\" taster.\n"
+"\n"
+"Ukoliko su particije već kreirane, od predhodne instalacije \n"
+"ilikreirane drugim alatom za particioniranje, morate izabrati \n"
+" na koje od njih ćete instalirati Linux sistem.\n"
+"\n"
+"Ukoliko particije nisu definisane, marate da ih kreirate. \n"
+"Da bi to uradili, možete da koristite gore postavljeni Äarobnjak. U "
+"zavisnosti \n"
+"od konfiguracije hard diska, postoji nekoliko mogućnosti:\n"
+"\n"
+" * \"Koristi slobodan prostor\": ova opcija će jednostavno dovesti do "
+"automatskog\n"
+"particioniranja vašeg praznog(ih) diska(ova). Neće vam biti postavljana "
+"daljna pitanja;\n"
+"\n"
+" * \"Koristi postojeće particije\": Äarobnjak je detektovao jednu ili viÅ¡e \n"
+"postojećih Linux particija na vašem hard disku. Ukoliko\n"
+"želite da njihj koristite, izaberite ovu opciju.\n"
+"\n"
+" * \"Koristi slobodan prostor na Windows particiji\": ukoliko je Microsoft "
+"Windows\n"
+"instaliran na vašem disku i on zauzima sav postojeći prostor na njemu,\n"
+"moraćete da kreirate slobodan prostor za Linux. Da bi to uradili, možete "
+"izbrisati\n"
+"Microsoft Windows particiju i podatke (pogledajte `Brisanje celog diska'' "
+"ili ``Ekspert\n"
+"mod'' opcije) ili da promenite veliÄinu Microsoft Windows particije. Promena "
+"veliÄine\n"
+"se može isvesti bez gubljenja podataka, ali se pteporuÄuje da prvo "
+"defragmentirate\n"
+"Windows particiju iz samog Windows-a. Backup podataka takođe nije loša "
+"ideja..\n"
+"Ovo reÅ¡enje se preporuÄuje ukoliko želite da koristite Mageia i\n"
+"Microsoft Windows na istom kompjuteru.\n"
+"\n"
+" Pre nego što izaberete ovu opciju, morate da razumete da nakon ove "
+"procedure\n"
+"veliÄina vaÅ¡e Microsoft Windows particije će biti manja\n"
+"u odnosu na trenutno stanje. Imađete manje slobodnog prostora u Microsoft\n"
+"Windows-u za smeštanje podataka ili instalaiju novog softvera;\n"
+"\n"
+" * \"Brisanje cvelog diska\": ukoliko želite da izbrišete sve podatke i sve\n"
+"particije koji postoje na vašem hard disku i zamenite ih vašim\n"
+"novim Mageia sistemom, možete da izaberete ovu ociju. Budite\n"
+"pažljivisa ovom opcijom, jer nećete biti u mogućnosti\n"
+"da povratite staro stanje nakon potvrde.\n"
+"\n"
+" !! Ukoliko izaberete ovu opciju, svi podaci na disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"Ukloni Windows\": ova opcija će jednostavno izbrisati sve sa hard diska "
+"i\n"
+"kreirati nove particije. Svi podaci na vašem disku\n"
+"će biti izbrisani;\n"
+"\n"
+" !! Ukoliko izaberete ovu opciju, svi podaci na disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"Custom particionisanje diska\": izaberite ovu opciju ukoliko želite\n"
+"da ruÄno vaÅ¡ hard disk. Budite pažljivi -- ovo je moćan\n"
+"ali opasan izbor i vrlo lako možete izgubiti svoje podatke. Zbog toga se\n"
+"ova opcija preporuÄuje samo onima koji imaju iskustva\n"
+"od ranije. Za više podataka o tome kako da koristite\n"
+"program DiskDrake, pogledajte poglavlje ``Upravljajte svojim particijama '' "
+"u\n"
+"``PoÄetniÄki vodiÄ''."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeću particiju"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izbriši celi disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"I stigli ste do kraja. Instalacija je sada završena i vaš GNU/Linux sistem "
+"je \n"
+"spreman za upotrebu. Samo kliknite na \"Sledeći -\" da bi restartovali "
+"sistem. Možete pokrenuti\n"
+"GNU/Linux ili Windows, šta god više preferirate (ukoliko imate instalirana "
+"dva sistema), Äim\n"
+"se raÄunar ponovo pokrene.\n"
+"\n"
+"Taster Napredno \"%s\" (samo u Ekspert modu) prikazuje još dva tastera za:\n"
+"\n"
+" * \"kreiranje auto-instalacione diskete\": radi kreiranja instalacionog "
+"flopi diska\n"
+"koji će automatski pokrenuti celu instalaciju bez pomoći operatora\n"
+", sliÄno ovoj instalaciji koju ste upravo izveli.\n"
+"\n"
+" Možete primetiti da su dve razliÄite opcije dostupne nakon pritiska na "
+"taster:\n"
+"\n"
+" * \"Sa ponavljanjem\". Ovo je delom automatizirana instalacija jer korak "
+"sa\n"
+"particioniranjem diska ostaje interaktivan (samo on).\n"
+"\n"
+" * \"Automatizovano\". Potpuno automatizovana instalacija: hard disk se u "
+"potpunosti\n"
+"formatizuje, i svi podaci će biti izgubljeni.\n"
+"\n"
+" Ova opcija je veoma korisna ukoliko izvodite veliki broj sliÄnih "
+"instalacija\n"
+"na većem broju mašina. Pogledajte sekciju o auto instalaciji na našem web "
+"sajtu.\n"
+"\n"
+" * \"SaÄuvaj selekciju paketa\"(*) : snima selekciju paketa koji ste\n"
+"napravili u ovoj instalaciji. Tako, da kada budete izvodili drugu "
+"instalaciju, ubacite disketu\n"
+"i pokrenete pomoćni ekran pritiskom na\n"
+"[F1] taster, i zahtevom za >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Morate da iamte FAT-formatiranu disketu (da bi je formatirali pod GNU/"
+"Linux-om, ukucajte\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Kreiraj auto instalacionu disketu"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Svaka particija koja je novodefinisana mora biti\n"
+"formatirana za uptrebu (formatiranje znaÄi kreiranje datoteÄnog(fajl) "
+"sistema).\n"
+"\n"
+"Sada možda želite da reformatirate postojeće particije da bi izbrisali\n"
+"podatke koje sadrže. Ukoliko želite to, izaberite particije \n"
+"koje želite da formatizujete.\n"
+"\n"
+"\n"
+"Zapamtite da nije potrebno da reformatirate sve postojeće particije.\n"
+"Morate da reformatirate particije koje sadrže operativni sistem \n"
+"(kao što su \"/\", \"/usr\" ili \"/var\") ali ne morate da reformatirate "
+"particije koje sadrže podatke\n"
+"koje želite da zadržite (obiÄno /home).\n"
+"\n"
+"Pazite pri biranju particija, posle formatiranja, sv podaci će \n"
+"biti izbrisani i nećete ih moći povratiti.\n"
+"\n"
+"Kliknite na \"Sledeće ->\" kada bude spremni da formatirate particije\n"
+"\n"
+"Kliknite na \"<- Prethodno\" ako želite da izaberete drugu particiju za svoj "
+"novi\n"
+"Mageia sistem.\n"
+"\n"
+"Kliknite na \"Napredno\" ukoliko želite da izaberete particije koje će biti "
+"proverene\n"
+"da li imaju loše sektore."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"U vreme kada budete instalirali Mageia, vrlo je moguće da će neki\n"
+"paketi biti ažurirani u odnosu na inicijalno izdanje. Neki bagovi mogu \n"
+"biti ispravljeni, a sigurnosni propusti zatvorene. Da bi mogli da koristite "
+"ove novije verzije\n"
+"mi vam predlažemo da ih skinete sa Interneta. Izaberite\n"
+"Da ili \"Da\" ukoliko imate podešenu Internet konekciju, ili Ne ili \"No\" "
+"ukoliko više volite da\n"
+"instalirate te nove pakete kasnije.\n"
+"\n"
+"Izborom na \"Da\" prikazuje se lista mesta sa kojih možete da dobavite noe "
+"verzije \n"
+"paketa. Izaberite mesto koje vam je najbliže. Zatim će se pojaviti stablo sa "
+"slelekcijom paketa:\n"
+"pregledajte selekciju, i pritisnite \"Instaliraj\" da bi skinuli i\n"
+"instalirali selektovni(e) paket(e), ili \"Poništi\" za odustajanje."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"na ovom mestu, DrakX će vam dozvoliti da odredite željeni nivo sigurnosti\n"
+"za vaÅ¡ raÄunar. Kao nepisano pravilo, nivo sigurnosti bi trebao\n"
+"veći ukoliko mašina sadrži važne podatke, ili ukoliko je mašina\n"
+"direktno vezana na Internet. Spuštanje sigurnosti uglavnom\n"
+"se vidi u opvećanju lakoće rada sa sistemom. Pogledajte \"msec\"\n"
+"poglavlje u ``Upupstvo za komandnu liniju''da bi dobavili više informacija\n"
+"o nivioima sigurnosti.\n"
+"\n"
+"Ukoliko ne znate da izaberete, zadržite default postavku."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator za sigurnost:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Na ovoj taÄki, morate izbrati koju particiju(e) želite da koristite za\n"
+"instalaciju novog Mageia sistema. Ukoliko su particije\n"
+"već definisane (od predhodne instalacije ili od strane\n"
+"drugog alata za particije), možete da koristite postojeće particije.\n"
+"U drugim sluÄajevima,\n"
+"hard disk particije moraju biti definisane.\n"
+"\n"
+"Da bi kreirali particije, morate prvo izabrati hard disk. Možete izabrati\n"
+"disk za particioniranje klikom na \"hda\" za prvi IDE disk, \"hdb\" ili \n"
+"za drugi ili \"sda\" za prvi SCSI disk itd.\n"
+"\n"
+"Za particioniranje selektovanog hard diska, možete koristiti sledeće "
+"opcije:\n"
+"\n"
+" * \"OÄisti sve\": ova opcija briÅ¡e sve particije na izabranom hard \n"
+"disku.\n"
+"\n"
+" * \"Auto alociranje\": ova opcija dozvoljava da automatski kreirate Ext2 "
+"i \n"
+"swap particije na slobodnom prostoru \n"
+" hard diska.\n"
+"\n"
+"\"Još\": daje pristup dodatnim opcijama:\n"
+"\n"
+" * \"Spasi tabelu particija\": ukoliko je vaša tabela particija "
+"oštećena, \n"
+"možete da probate da je oporavite koristeći ovu opciju. Budite\n"
+" pažljivi i znajte da može da i ne uspe.\n"
+"\n"
+" * \"Vrati na staro\": ova opcija će poništiti izmenu.\n"
+"\n"
+" * \"Ponovno uÄitavanje\": ovu opciju možete koristiti ukoliko želite da \n"
+"poniÅ¡titisve promene i uÄitate inicijalnu tabelu particija\n"
+"\n"
+" * \"ÄŒarobnjak\": ukoliko želite da koristite Äarobnjaka za "
+"particioniranje \n"
+"hard diska, izaberite ovu opciju. PreporuÄena je ukoiko\n"
+" nemate mnogo znanja o partcijama.\n"
+"\n"
+" * \"Povrati sa diskete\": ukoliko ste snimili tabelu particija na \n"
+"disketu tokom prethodne instalacije, možete je\n"
+" vratiti sa ovom opcijom.\n"
+"\n"
+" * \"Snimi na disketu\": ukoliko želite da da snimite tabelu particija na\n"
+"disketu da bi mogli kasnije da je povratite, možete da iskoristite\n"
+" ovu opciju. NaroÄito preporuÄujemo ovu opciju\n"
+"\n"
+" * \"Urađeno\": kada završite sa particioniranjem hard diska, iskoristite "
+"ovu opciju da bi snimili promene.\n"
+"\n"
+"Kada definiÅ¡ete veliÄinu particija, možete konaÄno podesiti veliÄinu\n"
+"particija pomoću tastera sa strelicama na vašoj strelicama\n"
+"Za više informacija, možete za svaku ocpiju dobiti kretanjem pomoću "
+"tastature: navigacijom kroz particije pomoću [Tab] tastera i [Up/Down] "
+"strelica.\n"
+"\n"
+"Kada je particija izabrana, možete koristiti:\n"
+"\n"
+" * Ctrl-c za kreiranje nove particije (kada je izabrana prazna particija);\n"
+"\n"
+" * Ctrl-d za brisanje particije;\n"
+"\n"
+" * Ctrl-m za postavljanje taÄke montiranja.\n"
+"\n"
+"Da bi dobili informacije o razliÄitim dostupnim tipovima sistema, "
+"proÄitajte\n"
+"ext2FS poglavlje iz ``Upustva''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontiranje prenosivog medija"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pređi na normalni mod"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Jedna ili više Microsoft Windows particija je detektovano \n"
+"na hard disku. Izaberite koju od njih želite da smanjite da bi instalirali\n"
+"novi Mageia operativni sistem.\n"
+"\n"
+"Svaka particija je ispisana na sledeći naÄin: \"Ime Linux-a\",\"Ime Windows-a"
+"\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Ime Linux-a\" je kodirano na sledeći naÄin: \"tip hard diska\", \"broj "
+"hard diska\",\n"
+"\"broj particije\" (na primer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk ID uređaj i \"sd\"\n"
+"ukoliko je SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvek slovo posle \"hd\" ili \"sd\". Sa IDE hard "
+"diskovima:\n"
+"\n"
+" * \"a\" znaÄi \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znaÄi \"slave hard disk na primarnom IDE kontroloeru\",\n"
+"\n"
+" * \"c\" znaÄi \"master hard disk na sekundranom IDE kontroloeru\",\n"
+"\n"
+" * \"d\" znaÄi \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znaÄi \"primarni hard disk\", a \"b\" znaÄi "
+"\"sekundarni hard disk \", itd.\n"
+"\n"
+"\"Ime Windows-a\" je slovo hard diska pod Windows-om (prvi disk\n"
+"ili particija se zove \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"Država\": proverava trenutni izbor zemlje. Ukoliko se ne nalazite u ovojs\n"
+"državi, kliknite na taster i i izaberite drugu."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ovaj korak se aktivira samo u sluÄaju da postoji stara GNU/Linux particija "
+"na\n"
+"vašioj mošini.\n"
+"\n"
+"DrakX sada treba da zna da li želite da izvedete Äistu instalaciju ili "
+"ažuriranje\n"
+"postojećeg Mageia sistema:\n"
+"\n"
+" * \"Instalacija\": U većini sluÄajeva, ova opcija kompletno briÅ¡e stari\n"
+"sistem. Ukoliko želite da izmenite broj particija, ili\n"
+"promenite fajl sistem, trebali bi da koristite ovu opciju. Ipak, u "
+"zavisnosti od\n"
+"šeme particija, možete zaštititi neke postojeće podatke\n"
+"od formatiranja.\n"
+"\n"
+" * \"Ažuriranje\": ova instalaciona klasa vam dozvoljava da uradite "
+"ažuriranje paketa\n"
+"na trenutno instaliranom Mageia sistemu. Vaša trenutna\n"
+"Å¡ema particija i korisniÄki podaci se ne menjaju. Većina drugih\n"
+"konfiguracionih koraka i dalje ostaje dostupna, sliÄno standardnoj "
+"instalaciji.\n"
+"\n"
+"Upotreba opcije ``Ažuriranje'' bi trebalo da bude bez problema na Mandriva "
+"Linux sistemima\n"
+"od verzije \"8.1\" ili novije. Izvođenje ažuriranja na verzijama \n"
+"Mageia pre \"8.1\" nije preporuÄljivo."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"U principu, DrakX bira desnu tastaturu za vas (u zavisnosti od toga koji\n"
+"ste jezik izabrali) i Äak i nećete videti ovaj korak. Ipak, može\n"
+"se desiti da niste dobili tastaturu koja odgovara vašem jeziku: na\n"
+"primer, ukoliko ste Švajcarac koji govori engleski, verovatno ćete želeti\n"
+"Å vajcarsku tastaturu. Ili ukoliko govorite Engleski ali se nalazite\n"
+"u Kvebeku, možete se naći u istoj situaciji. U oba\n"
+"sluÄaja, moraćete da se vratite na ovaj instalacioni korak i izaberete\n"
+"odgovarajuću tastaturu sa liste.\n"
+"\n"
+"Kliknite na taster \"Još\" da bi dobili kompletnu listu\n"
+"podržanih tastatura.\n"
+"\n"
+"Ukoliko izaberete raspored tastature baziran na non-Latin alfabetu, sledeći\n"
+"dijalog će vam ponuditi da izaberete kombinaciju tastera koji će služiti\n"
+"da menjate Latin i non-Latin rasporede."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Vaš izbor jeika će uticati na jezik dokumentacije,\n"
+"instalacije i sistema uopšte. Prvo izaberite region u kojem se nalazite,\n"
+"a zatim jezik koji govorite.\n"
+"\n"
+"Klikom na taster \"Napredno\" omogućićete sebi da vidite druge\n"
+"jezike koje možete instalirati na vašu radnu stranicu. Biranjem drugih "
+"jezika\n"
+"ćete instalirati fajlove vezane (za specificirane jezike) za dokumentaciju "
+"i\n"
+"aplikacije. Na primer, ukoliko će na vaÅ¡em raÄunaru hostovati korisnici iz "
+"Å panije\n"
+"izaberite Engleski kao glavni a na stablu\n"
+"oznaÄite i \"Å paniski|Å panija\".\n"
+"\n"
+"Zapamtite da možete instalirati više jezika. Kada izaberete sve željene\n"
+"dodatne lokalizacije kliknite na taster \"U redu\" da bi nastavili.\n"
+"\n"
+"Da bi menjali razliÄite jezike koji su instalirani na vaÅ¡em sistemu, možete "
+"pokrenuti\n"
+" \"/usr/sbin/localedrake\" komandu kao \"root\" da bi promenili jezik koji "
+"se \n"
+"koristi u celom sistemu. pokretanjem komande kao regularni korisnik samo "
+"ćete promeniti\n"
+"postavke jezika za datog korisnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX generalno detektuje broj tastera koji vaš miš posdeduje. Ukoliko se to "
+"ne desi\n"
+"on će pretpostaviti da miš sa dva tastera i podesiće emulaciju trećeg "
+"tastera.\n"
+"DrakX će automatski prepoznati da li se radi o PS/2, serijskom ili USB "
+"mišu.\n"
+"\n"
+"Ukoliko želite da specificirate drugi tip miša odaberite odgovarajući\n"
+"tip sa liste.\n"
+"\n"
+"Ukoliko izberete miša koji se razlikuje od default-a pojaviće vam se\n"
+"test ekran. Koristite tastere i toÄkiće da bi proverili da li su postavke\n"
+"dobre. Ukoliko miš ne radi ispravno pritisnite taster za razmak (space bar) "
+"ili\n"
+"taster [Return] da bi poništili test i vratili se da bi pokušali ponovo.\n"
+"\n"
+"ToÄkići na miÅ¡u se ponekad ne detektuju automatski, pa ćete sami morati da\n"
+"izaberete miša sa liste. Pazite da izaberete odgovarajući vezano\n"
+"za port na koji je miš povezan. nakon izbora miša\n"
+"i pritiska na taster \"Sledeći ->\", slika miša će biti prikazana na "
+"ekranu.\n"
+"Pokrenite toškić da bi proverili da li je pravilno aktiviran. Kada \n"
+"vidite da se toÄkić na ekranu pomera kao i toÄkić na miÅ¡u, testirajte\n"
+"tastere i proverite da li kursor na ekrani prati vaše \n"
+"pomeranje miša."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Emulacija tastera"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim, izaberite odgovarajući port. Na primer, COM1 port pod MS Windows-om\n"
+" u Linux-u ima oznaku ttyS0."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sada treba da izaberemo sistem za Å¡tampanje za vaÅ¡ raÄunar. Drugi OS-ovi "
+"vam\n"
+"nude jedan, ali vam Mageia nudi Äak tri.\n"
+"\n"
+" * \"pdq\" Å¡to znaÄi ``print, do not queue'', je izbor za one koji imaju\n"
+"direktni konekciju sa svojim Å¡tampaÄem i želite da izbegnete\n"
+"bilo kakve zastoje Å¡tampaÄa, a pri tome nemate mrežne Å¡tampaÄe. On može da "
+"se koristi\n"
+"samo na veoma jednostavnim mrežama i pomalo je i spor za mreže. Izaberite "
+"\"pdq\"\n"
+"ukoliko upoznajete GNU/Linux. Vaš izbor naravno možete promeniti\n"
+"nakon isntalacije pokrećući PrinterDrake from iz Mandriva Kontrolnog\n"
+"Centra i klikom na expert taster.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', je izvrstan za štampanje na vašem\n"
+"lokalonom Å¡tampaÄu kao i za Å¡tampanje po celoj zemaljskoj kugli. On je "
+"jednostavan i može se ponašati\n"
+"kao server ili kao klijent sa starog \"lpd\" sitema za štampanje. Takođe, "
+"on\n"
+"je kompatibilan sa sistemima koji su ranije postojali. On može mnogo toga, "
+"ali\n"
+"osnovno podešvanje je jednostavno kao i kod \"pdq\". Ukoliko treba da "
+"emulirate\n"
+"an \"lpd\" server, morate da pokrenete \"cups-lpd\" demon. On poseduje\n"
+"grafiÄki interfejs za Å¡tapanje i izbor opcija za Å¡tampanje.\n"
+"\n"
+"Ako to nij sluÄaj, CUPS je onda prava stvar jer je jednostavniji i bolji za "
+"rad preko\n"
+"mreža."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "StruÄni"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sada treba da detektuje IDE ureÄ‘aje prisutne u veÅ¡em raÄunaru.DrakX "
+"će \n"
+"potražiti PCI SCSI adapter(e). Ukoliko DrakX pronađe SCSI adapter(e) i bude "
+"znao koji upravljaÄki program \n"
+"(drajver) koristion će ga(ih) automatski instalirati.\n"
+"\n"
+"Pošto se može desiti da pri detekciji neka komponenta ne bude detektovana \n"
+"DrakX će vas upitati da li imate PCI SCSI adapter. Kliknite \"Da\" \n"
+"ukoliko znate da imate SCSI adapter na svojoj mašini. Na prikazanoj listi \n"
+"moći ćete da izaberete odgovoarajući.\n"
+"Kliknite \"Ne\" ukoliko nemate SCSI adaptera u mašini. Ukoliko niste \n"
+"sigurni\n"
+"proverite na listi detektovanog hardvera selektovanjem \"Pogledaj info o \n"
+"hardveru\"i klikom na \"U redu\". Pregledajte\n"
+"listu a onda kiknite na \"U redu\" da bi se vratili na pitanje o SCSI \n"
+"uređajima.\n"
+"\n"
+"Ukoliko morate ruÄno da specificirate vaÅ¡ PCI SCSI adapter, DrakX će\n"
+"vas upitati da odredite opcije za njega.Treba li bi da dozvolite DrakX-u da\n"
+"ispita adapter radi tih opcija. Ovo obiÄno i uspe.\n"
+"\n"
+"Ukoliko DrakX nije u stanju da ispita opcije koje su potrebne, moraćete da \n"
+"sami odredite opcije za drajver.\n"
+"Pogledajte i Instalacioni vodiÄ (3 poglavlje, sekcija \"Prikupljanje \n"
+"informacija o vašem hardveru\")\n"
+"da bi saznali kako da pribavite informacije o parametrima potrebnim za \n"
+"hardver,sa svoje Windows instalacije (ukoliko je imate na sistemu),\n"
+"dokumenatciju o hardveru, ili sa proizvoÄ‘aÄevog \n"
+"veb sajta (ukoliko imate pristup internetu)."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"ZvuÄna kartica\": ukoliko je zvuÄna kartica detektovana na vaÅ¡em sistemu, "
+"onda je prikazana\n"
+"ovde. Ukoliko primetite da prikazana kartica nije ona koja je stvarno "
+"prisutna\n"
+"u vaÅ¡em raÄunaru, možete kliknuti na taster i\n"
+"drugi drajver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Interna ISDN kartica"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Interna ISDN kartica"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "GrafiÄki interfejs"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk koji želite da izbrišete da bi instalirali novu Mandriva "
+"Linux \n"
+"particiju. Budite pažljivi, svi podaci na njemu će biti izgubljeni\n"
+"i neće se moći povratiti!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Kliknite na \"Sledeće ->\" ukoliko želite da izbrišete sve podatke i \n"
+"particije na ovom hard disku.Budite pažljivi, posle klika na \"U redu\", vi\n"
+"nećete moći da povratite bilo koji podatak ili particiju na hard disku,\n"
+"pa i bilo koje Windows podatke.\n"
+"\n"
+"Kliknite na \"<- Pprethodno\" da bi poništi ovu operaciju bez gubljenja "
+"podataka i\n"
+"particija koje su prisutne na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sledeći ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Prethodni"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"Å tampaÄ\": ako kliknete na taster \"Bez Å¡tampaÄa\" pokrenuti ćete "
+#~ "konfiguracioni\n"
+#~ "program za Å¡tampaÄe. Pogledajte i odgovoarajuće upustvo u``Starter\n"
+#~ "Guide'' za viÅ¡e informacija o tome kako da podesite novi Å¡tampaÄ. Program "
+#~ "koje se\n"
+#~ "tada aktivira je sliÄan onom koji se koristi tokom instalacije."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ovo je najzanaÄajnija taÄka u odluÄivanju o sigurnosti vaÅ¡eg GNU/Linux\n"
+#~ "sistema: morate da unesete \"root\" lozinku. \"root\" je administrator\n"
+#~ "sistema i jedini je ovlašten da vrši izmene, dodaje korisnike,\n"
+#~ "menja osnovnu konfiguraciju sistema, itd. Ukratko, \"root\" može\n"
+#~ "da uradi sve! Zbog toga morate da izaberete lozinku koja teško može da "
+#~ "se\n"
+#~ "pogodi - DrakX će vam reći ukoliko je ona suviše jednostavna. Kao što "
+#~ "možete da vidite, možete da\n"
+#~ "izaberete i da ne unesete lozinku, ali vam ozbiljno preporuÄujemo da to\n"
+#~ "neradite iz jednog razloga: nemojte da mislite da to što ste startovali "
+#~ "GNU/Linux da\n"
+#~ "vaši drugi operativni sistemi sigurni od grešaka. Kako \"root\" može da\n"
+#~ "preskoÄi sva ograniÄenja i nenamerno izbriÅ¡e sve podatke na particiji\n"
+#~ "neopreznim pristupom, važno je da je teško\n"
+#~ "postati \"root\".\n"
+#~ "\n"
+#~ "Lozinka treba da bude mešavina brojeva i slova i treba da sadrži najmanje "
+#~ "8\n"
+#~ "karaktera. Nikada ne zapisujte na papir \"root\" lozinku - tako lako\n"
+#~ "možete ugroziti sistem.\n"
+#~ "\n"
+#~ "Međutim, potrudite se da lozinka ne bude previše duga ili komlikovana "
+#~ "zato\n"
+#~ "što treba da je zapamtite bez mnogo napora.\n"
+#~ "\n"
+#~ "Lozinka neće biti prikazana na ekranu kada je ukucavate. Srećom, moći "
+#~ "ćete\n"
+#~ "da je ukucate dva puta da bi smanjili mogućnost greše u kucanju.\n"
+#~ "Ukoliko ipak pogrešite u kucanju, ali dva puta, ova\n"
+#~ "``neispravna'' lozinka će biti korištena kada se budete prvi put "
+#~ "konektovali.\n"
+#~ "\n"
+#~ "U Ekspertnomm modu, bićete pitani da li ćete se konektovati na\n"
+#~ "autentifikacioni server, kao što je NIS ili LDAP.\n"
+#~ "\n"
+#~ "Ukoliko vaša mreža koristi LDAP (ili NIS) protokol za autentifikaciju, "
+#~ "selektujte\n"
+#~ "\"LDAP\" (ili \"NIS\") za autentifikaciju. Ukoliko to neznate, pitajte\n"
+#~ "vašeg mrežnog administratora.\n"
+#~ "\n"
+#~ "Ukoliko se vaÅ¡ raÄunar ne konektuje na administrirane mreže, treba da\n"
+#~ "izaberete \"Lokalni fajlovi\" za autentifikaciju."
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "Autentifikacija"
diff --git a/perl-install/install/help/po/sv.po b/perl-install/install/help/po/sv.po
new file mode 100644
index 000000000..f3ebac4a8
--- /dev/null
+++ b/perl-install/install/help/po/sv.po
@@ -0,0 +1,1917 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2024
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2024-09-04 17:33+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>, 2024\n"
+"Language-Team: Swedish (https://app.transifex.com/MageiaLinux/teams/9361/"
+"sv/)\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Innan du fortsätter bör du noga läsa licensen. Den täcker hela\n"
+"Mageia-distributionen. Om du samtycker med den,\n"
+"kryssa i rutan \"%s\". Om du ej samtycker så klicka på \"%s\"\n"
+"knappen så kommer installationen avbrytas och din dator att\n"
+"startas om."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux är ett fleranvändarsystem, med detta menas att varje användare\n"
+"kan ha sina egna inställningar, sina egna filer och så vidare. Du kan\n"
+"läsa i användarmanualen för att lära dig mer. Men olikt \"root\", som\n"
+"är administratör, kan användarna som du lägger till här inte ändra\n"
+"någonting förutom sina egna filer och sina egna inställningar. Detta\n"
+"skyddar systemet från att skadas av misstag eller avsiktliga attacker.\n"
+"Du måste skapa åtminstone en vanlig användare åt dig själv.\n"
+"Det kontot ska du använda i ditt dagliga arbete. Det är i och för\n"
+"sig väldigt praktiskt att logga in som \"root\" varje dag men det kan\n"
+"också vara väldigt farligt. Det minsta misstag kan innebära att\n"
+"systemet inte fungerar längre. Om du gör ett allvarligt misstag som en\n"
+"vanlig användare förlorar du bara viss information och inte hela systemet.\n"
+"\n"
+"Först måste du ange ditt riktiga namn. Det här är inte obligatoriskt,\n"
+"du kan faktiskt skriva vad du vill. DrakX kommer att ta det första \n"
+"ordet som du skrev in i rutan och flytta över det till fältet \"%s\".\n"
+"Detta är namnet som den här användaren kommer att använda för att logga\n"
+"in på systemet. Du kan ändra det om du vill. Du måste sedan ange ett\n"
+"lösenord. En icke-privilegierad (vanlig) användares lösenord är inte\n"
+"lika viktigt som \"roots\" sett ur säkerhetssynpunkt, men det finns\n"
+"ingen anledning att ignorera det, det är ju trots allt dina filer som\n"
+"står på spel.\n"
+"\n"
+"Efter det att du klickat på \"%s\" kan du sedan lägga\n"
+"till andra användare. Lägg till en användare för varje kompis som\n"
+"du har eller din pappa eller din syster till exempel. När du har lagt till "
+"alla\n"
+"användare som du vill ha, välj \"%s\".\n"
+"\n"
+"Om du klickar på \"%s\" kan du ändra det förvalda \"skalet\"\n"
+"för den användaren (bash är förvalt).\n"
+"\n"
+"När du är färdig med att sätta till alla användare, kommer du att få välja\n"
+"en användare som kan logga in automatiskt på systemet då datorn\n"
+"startar upp. Om du är intresserad av den funktionen (och du inte bryr\n"
+"dig speciellt mycket om lokal säkerhet), välj den önskade användaren\n"
+"och fönsterhanteraren och klicka sedan på \"%s\". Om du inte är\n"
+"intresserad av denna funktion, kryssa av rutan \"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Användarnamn"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Acceptera användare"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vill du använda den här funktionen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Listat ovan är de existerande Linux-partitionerna som hittats på\n"
+"hårddisken. Du kan behålla valen som gjorts av guiden, de passar de flesta\n"
+"vanliga installationer. Om du gör några ändringar måste du åtminstone\n"
+"definiera en rotpartition (\"/\"). Välj inte en för liten partition för\n"
+"då kommer du inte kunna installera tillräckligt med mjukvara. Om du vill\n"
+"lagra dina data på en separat partition, behöver du också skapa en "
+"partition\n"
+"för /home (endast möjligt om du har mer än en Linux-partition tillgänglig).\n"
+"\n"
+"Varje partition listas som följer: \"Namn\", \"Kapacitet\".\n"
+"\n"
+"\"Namn\" är strukturerad på följande vis: \"hårddisktyp\", \n"
+" \"hårddisknummer\", \"partitionsnummer\" (till exempel, \"hda1\").\n"
+"\n"
+"\"Hårddisktyp\" är \"hd\" om hårddisken är en IDE-hårddisk och\n"
+"\"sd\" om det är en SCSI-hårddisk.\n"
+"\n"
+"\"Hårddisknummer\" är alltid en bokstav efter \"hd\" eller \"sd\". För IDE-\n"
+"hårddiskar:\n"
+"\n"
+" * \"a\" betyder \"master-hårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"b\" betyder \"slavhårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"c\" betyder \"master-hårddisk på den sekundära IDE-kontrollern\",\n"
+"\n"
+" * \"d\" betyder \"slavhårddisk på den sekundära IDE-kontrollern\".\n"
+"\n"
+"Med SCSI-hårddiskar betyder ett \"a\" \"lägsta SCSI-ID\", ett \"b\" betyder\n"
+"\"andra lägsta SCSI-ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Installationen av Mageia är utspridd på flera cd-skivor. DrakX\n"
+"vet om ett valt paket finns på en annan cd-skiva och kommer att mata ut\n"
+"den aktuella cd:n och be dig sätta in en annan om det blir nödvändigt.\n"
+"Om du inte har efterfrågad CD tillgänglig, klicka på \"%s\" så hoppas\n"
+"installationen av motsvarande paket över."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det är nu dags att ange vilka program du vill installera på\n"
+"systemet. Det finns flera tusen paket tillgängliga för Mageia och\n"
+"för att det ska bli enklare att hantera paketen har de placerats i grupper\n"
+"om liknande program.\n"
+"\n"
+"Paketen är sorterade i grupper som motsvarar olika användningsområden\n"
+"för din dator. Mageia har fyra fördefinierade kategorier\n"
+" tillgängliga. Du kan blanda program från olika kategorier så att \n"
+"t ex en arbetsstationsinstallation fortfarande kan ha program från \n"
+"kategorin Utveckling installerade.\n"
+"\n"
+" * \"%s\": om du ska använda datorn som arbetsstation,\n"
+"välj en eller flera av paketen som är i denna grupp.\n"
+"\n"
+"* \"%s\": om datorn ska användas för programmering välj \n"
+"lämpliga paket från denna grupp. Den speciall \"LSB\" gruppen\n"
+"kommer att konfigurera ditt system så att det överensstämmer\n"
+"med Linux Standard Base specifikationen så mycket som möjligt.\n"
+"(En specifikation som försöker eftersträva en standard för Linux- \n"
+"distributioner, till exempel var viktiga systemfiler är placerade, så \n"
+"att program utvecklade på en distribution även\n"
+"kommer att fungera på andra distributioner.)\n"
+" Om du väljer \"LSB\" gruppen kommer 2.4 kernel serien installeras\n"
+"istället för 2.6 som annars är standard för Mageia. Detta är\n"
+"för att uppfylla LSB stöd maximalt. Om du inte väljer \"LSB\" \n"
+"kommer du ändå att ha ett system som är LSB kompatibelt nästan\n"
+"till 100%%.\n"
+"\n"
+"* \"%s\": om datorn ska användas som server, kan du här\n"
+"välja de tjänster som du vill ha installerade på den.\n"
+"\n"
+" * \"%s\": här väljer du den grafiska miljö som du vill använda. \n"
+"Du måste välja åtminstone en om du vill ha ett grafiskt gränssnitt på\n"
+"din arbetsstation.\n"
+"\n"
+"Om du flyttar muspekaren över ett gruppnamn får du se en kort\n"
+"beskrivande text för just den gruppen.\n"
+"\n"
+"Du kan markera \"%s\" som är användbart om du vet vilka\n"
+"paket du vill ha installerade eller om du vill ha fullständig kontroll över\n"
+"vad som blir installerat.\n"
+"\n"
+"Om du startar installationen i \"%s\" läge kan du avmarkera alla\n"
+"grupper för att undvika installation av nya paket. Detta är\n"
+"användbart vid reparation eller uppdatering av ett existerande\n"
+"system.\n"
+" \n"
+"Om du inte väljer någon grupp när\n"
+"du installerar (till skillnad från när du uppdaterar), kommer en \n"
+"dialogruta att visas och föreslå olika minimala installationer.\n"
+"\n"
+" * \"%s\": Installera det minsta antalet paket som behövs för att få en\n"
+"fungerande grafisk skrivbordsmiljö.\n"
+"\n"
+" * \"%s\": Installerar grundsystemet plus\n"
+"grundläggande verktyg och dess dokumentation. Denna installation lämpar\n"
+"sig för en server.\n"
+"\n"
+"* \"%s\": Installerar det absolut minsta antalet paket\n"
+"som behövs för ett fungerande Linux-system. Med denna installation kommer\n"
+"du ej att ha tillgång till några grafiska system. Denna\n"
+"installation är ca 65Mb stor."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uppdatera"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grundläggande dokumentation"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Extremt minimal installation"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Om du valde att installera enskilda paket kommer du\n"
+"att få se ett träd innehållande alla paket klassificerade efter grupper och\n"
+"undergrupper. Om du bläddrar i trädet kan du välja hela grupper,\n"
+"undergrupper eller enskilda paket.\n"
+"\n"
+"När du väljer ett paket i trädet, visas en beskrivning till höger.\n"
+"\n"
+"Om det skulle visa sig att ett serverpaket har valts antingen\n"
+"oavsiktligt eller om det var med i en hel grupp, kommer du att få bekräfta\n"
+"att du verkligen vill att dessa servrar ska installeras. Under Mandriva\n"
+"Linux startas installerade servrar vid uppstart. Även fast de är säkra när\n"
+"den här distributionen släpps, kan det hända att säkerhetsluckor hittats\n"
+"i efterhand. Om du inte vet vad en specifik tjänst gör eller varför den\n"
+"blir installerad, klicka \"%s\" här. Om du klickar \"%s\" kommer de\n"
+"listade tjänsterna att installeras och startas automatiskt.\n"
+"\n"
+"Alternativet \"%s\" inaktiverar helt enkelt\n"
+"varningsdialogrutan som visas när installationsprogrammet automatiskt\n"
+"väljer ett paket. Detta inträffar därför att det har upptäckts att ett\n"
+"beroende med ett annat paket måste tillfredsställas för att detta paket\n"
+"ska kunna installeras ordentligt. Installationsprogrammet kan\n"
+"avgöra vilka paket som krävs för att lösa ett beroende.\n"
+"\n"
+"Den lilla diskettikonen i slutet på listan låter dig ladda en paketlista\n"
+"som du kan ha gjort vid en tidigare installation. Detta är användbart\n"
+"om du har ett antal datorer som skall ha en identisk konfiguration.\n"
+"När du klickar på den ikonen kommer du att bli ombedd om att stoppa i\n"
+"en diskett som du tidigare skapat vid slutet av en annan\n"
+"installation. Se det andra tipset i det sista steget hur du gör för att\n"
+"skapa en sådan diskett."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiska beroenden"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denna dialog används för att välja vilka tjänster du vill starta vid "
+"uppstart.\n"
+"\n"
+"Här visas alla tjänster tillgängliga med den aktuella installationen.\n"
+"Titta igenom dem och avmarkera dem du inte behöver vid start.\n"
+"\n"
+"Du kan få en kort förklaringstext om en tjänst genom att välja den\n"
+"specifika tjänsten. Om du är osäker på om en tjänst är användabar eller\n"
+"inte är det säkrast att lämna den tjänsten orörd.\n"
+"\n"
+"!! Var extra försiktig i dina val om den här datorn ska användas som en\n"
+"server: du vill antagligen inte starta tjänster som du inte behöver.\n"
+"Kom ihåg att flera tjänster kan innebära en risk om de aktiveras på\n"
+"en server. Som generell regel, välj bara de tjänster du verkligen behöver. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux utgår från GMT (Greenwich Mean Time) och översätter det till\n"
+"lokal tid enligt den tidszon du har valt. Om hårdvaruklockan på ditt\n"
+"moderkort är utgår från lokal tid kan du inaktivera detta genom att \n"
+"avmarkera \"%s\" så att hårdvaruklockan blir samma som systemklockan.\n"
+"Det är användbart när datorn är värd för andra operativsystem som t ex \n"
+"Windows.\n"
+"\n"
+"Alternativet \"%s\" gör så att klockan ställs\n"
+"automatiskt genom att datorn kontaktar en server på Internet. I den lista\n"
+"som sedan presenteras väljer du den server som ligger närmast dig.\n"
+"Naturligtvis måste du vara uppkopplad mot Internet för att detta ska\n"
+"fungera. Det läggs in en tidserver på din dator och den kan, om så\n"
+"önskas, användas av andra datorer i ditt lokala nätverk."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "HÃ¥rdvaruklocka satt till GMT"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidsynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet kan vanligtvis automatiskt identifiera och\n"
+"konfigurera grafikkortet i datorn. Om det misslyckas kan du välja\n"
+"det korrekta kortet i den här listan.\n"
+"\n"
+" Om olika servrar finns tillgängliga för ditt kort, utan eller\n"
+"med 3D-acceleration, väljer du den server som bäst passar dina\n"
+"behov. "
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (som står för X Window System) är hjärtat i det grafiska gränssnittet\n"
+"i GNU/Linux. Alla grafiska miljöer som följer med Mageia\n"
+"(KDE, GNOME, AfterStep, WindowMaker osv) är beroende av det\n"
+"för att fungera.\n"
+"\n"
+"Du kommer att kunna välja ett antal parametrar för att få den optimala\n"
+"grafiska bilden: \n"
+"\n"
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet kommer vanligtvis automatiskt att\n"
+"känna av och konfigurera grafikkortet som är installerat på\n"
+"datorn. Om detta är inte fungerar så kan du välja ditt kort från\n"
+"en lista.\n"
+"\n"
+" Om det finns flera servrar tillgängliga för ditt kort, med eller utan\n"
+"3D-acceleration, kommer du att ombedas välja den server som\n"
+"bäst passar dina behov.\n"
+"\n"
+"\n"
+"\n"
+"Skärm\n"
+"\n"
+" Installationsprogrammet kommer vanligtvis automatiskt att\n"
+"känna av och konfigurera vilken skärm som är kopplad till\n"
+"datorn. Om detta är inte fungerar så kan du välja din skärm från\n"
+"en lista.\n"
+"\n"
+"\n"
+"\n"
+"Upplösning\n"
+"\n"
+" Här kan du välja vilken upplösning och antal färger som din\n"
+"hårdvara ska använda. Välj den som bäst passar dina behov\n"
+"(du kan alltid ändra det när installationen är klar). Ett exempel\n"
+"av den valda konfigurationen visas i bildskärmen.\n"
+"\n"
+"\n"
+"\n"
+"Testa\n"
+"\n"
+" Beroende på vilken hårdvara du har kan detta val inte dyka upp.\n"
+"\n"
+" Systemet kommer att försöka öppna en grafisk skärm med önskad\n"
+"upplösning. Om du kan se meddelandet under testet och svara \"%s\"\n"
+"kommer DrakX att gå vidare till nästa steg. Om du inte kan se\n"
+"meddelandet så betyder det att någonting var fel med den automatiska\n"
+"konfigureringen och testet kommer automatiskt att avslutas efter 12 "
+"sekunder\n"
+"och du kommer tillbaka till menyn. Ändra inställningarna tills du får en\n"
+"korrekt konfigurerad grafisk bild.\n"
+"\n"
+"\n"
+"\n"
+"Alternativ\n"
+"\n"
+"Här kan du välja om du vill att datorn automatiskt ska starta ett grafiskt\n"
+"gränssnitt vid uppstart. Du bör kryssa för \"%s\" om din dator ska\n"
+"agera som server, eller om du inte lyckades med att konfigurera\n"
+"bilden."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Bildskärm\n"
+"\n"
+" Installationsprogrammet kan vanligtvis automatiskt identifiera och\n"
+"konfigurera din bildskärm. Om så inte är fallet kan du från denna lista\n"
+"välja den bildskärm som faktiskt är ansluten till datorn."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Upplösning\n"
+"\n"
+" Du kan här välja mellan de olika alternativ för upplösning och färgdjup\n"
+"som finns tillgängliga för din hårdvara. Välj det som bäst är anpassat för\n"
+"dina behov. (du kommer dock att ha möjlighet att ändra detta efter\n"
+"installationen). I bildskärmsbilen kan du se hur konfigurationen kommer att\n"
+"se ut. "
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Om det finns olika servrar tillgängliga för ditt kort, med eller\n"
+"utan 3D-acceleration, kommer du att få möjlighet att välja den server\n"
+"som bäst är anpassad för dina behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Alternativ\n"
+"\n"
+" Här kan du välja om du vill att din dator automatiskt ska starta\n"
+"ett grafiskt användargränssnitt vid uppstart. Du bör välja \"%s\" om\n"
+"din dator ska användas som server, eller om du inte lyckades att\n"
+"konfigurera bildskärmen korrekt."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nu måste du välja var på hårddisken du vill installera Mandriva\n"
+"Linux. Om den är tom eller om ett befintligt operativsystem använder\n"
+"allt tillgängligt utrymme behöver du partitionera den. Att partitionera en\n"
+"hårddisk går ut på att man delar upp den i logiska enheter för att skapa \n"
+"utrymmen åt det nya Mageia-systemet.\n"
+"\n"
+"Eftersom resultatet av en partitionering vanligtvis inte går att ångra\n"
+"kan partitionering kännas skrämmande om du är en ovan användare.\n"
+"Denna guide förenklar processen. Innan du börjar, titta i manualen\n"
+"och ta den tid du behöver.\n"
+"\n"
+"Beroende på hårddiskkonfigurationen är flera alternativ tillgängliga:\n"
+"\n"
+" \"%s\": detta leder till en automatisk\n"
+"partitionering av den tomma disken. Du kommer inte att få några fler\n"
+"frågor.\n"
+"\n"
+" * \"%s\": guiden har hittat en eller flera\n"
+"Linux-partitioner på hårddisken. Om du vill använda dem, välj detta\n"
+"alternativ. Du uppmanas att välja monteringspunkterna som\n"
+"är associerade med varje partition. De gamla monteringspunkterna väljs\n"
+"som förval och vanligen bör du behålla dem.\n"
+"\n"
+" * \"%s\": Om Microsoft Windows\n"
+"är installerat på hårddisken och tar upp allt tillgängligt utrymme, måste\n"
+"du skapa ledigt utrymme för GNU/Linux. För att göra det kan du ta bort\n"
+"Microsoft Windows-partitionen och all data (se lösningen \"Radera hela\n"
+"hårddisken\") eller ändra storlek på Microsoft Windows-FAT partitionen.\n"
+"Ändring av storlek kan utföras utan att förlora data, under förutsättning\n"
+"att du nyligen defragmenterat Windows-partitionen och att den använder.\n"
+"formatet FAT. Du rekommenderas dock starkt att först säkerhetskopiera \n"
+"data från Windows-partitionen. Denna lösning rekommenderas om du vill\n"
+" använda både Mageia och Microsoft Windows på samma dator.\n"
+"\n"
+" Innan du väljer denna lösning måste du vara införstådd med att\n"
+" storleken på Microsoft Windows-partitionen kommer att bli mindre\n"
+" än den är för närvarande. Det betyder att du kommer att ha mindre\n"
+" utrymme under Microsoft Windows för att lagra data eller installera\n"
+" ny mjukvara.\n"
+"\n"
+" * \"%s\": Om du vill ta bort alla data och alla\n"
+"partitioner som finns på hårddisken och ersätta dem med ditt nya\n"
+"Mageia-system, väljer du detta alternativ. Var försiktig med\n"
+"detta alternativ eftersom du kan inte ångra dig efteråt.\n"
+"\n"
+" !! Om du väljer detta alternativ kommer alla data på disken att tas "
+"bort. !!\n"
+"\n"
+" * \"%s\": tar helt enkelt bort allt på disken och startar en\n"
+"fräsch partitionering från grunden. Alla data på disken kommer att tas\n"
+"bort.\n"
+"\n"
+" !!Om du väljer detta alternativ kommer all data på disken att tas "
+"bort.!!\n"
+"\n"
+" * \"%s\": välj detta alternativ om du vill partitionera\n"
+"hårddisken manuellt. Var försiktig - det är ett kraftfullt men farligt\n"
+"alternativ. Du kan väldigt enkelt förlora allt data. Därför, välj\n"
+"inte detta om du inte är helt säker på vad du gör. För att veta hur du ska\n"
+"använda DiskDrake-verktyget som används här, se kapitlet \"Managing Your\n"
+"Partitions\" i \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Använd existerande partition"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Använd ledigt utrymme på Microsoft Windows® partitionen"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Radera hela hårddisken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Installationen är nu färdig och GNU/Linux-systemet är klart\n"
+"att användas. Klicka på \"%s\" för att starta om systemet. Det\n"
+"första du bör se efter det att datorn har gjort hårdvarutesterna är\n"
+"startmenyn där du kan välja vilket operativsystem du vill starta.\n"
+"\n"
+"Knappen \"%s\" visar ytterligare två knappar som är till för att:\n"
+"\n"
+" * \"%s\": för att skapa en\n"
+"installationsdiskett som automatiskt utför en hel installation utan\n"
+"hjälp av en operatör, liknande installationen du just utfört.\n"
+"\n"
+" Observera att två olika alternativ finns tillgängliga när du klickar på\n"
+"knappen:\n"
+"\n"
+" * \"%s\". Det här är en delvis automatisk installation eftersom\n"
+"partitioneringssteget (och endast detta) fortfarande är interaktivt.\n"
+"\n"
+" * \"%s\". Helt automatisk installation: allt innehåll på\n"
+"hårddisken skrivs om och all data går förlorad.\n"
+"\n"
+" Den här funktionen är väldigt praktisk om du ska installera ett större\n"
+"antal likande datorer. Se sektionen \"Auto install\" på vår hemsida.\n"
+"\n"
+" * \"%s\"(*): sparar föregående paketval.\n"
+"För att använda detta paketval vid en senare installation, sätt in \n"
+"disketten i diskettstationen. Vid prompten, tryck på \n"
+"[F1], och skriv >>linux defcfg=\"floppy\"<< och tryck på [Enter] knappen.\n"
+"\n"
+"(*) Du behöver en FAT-formaterad diskett. För att skapa en under\n"
+"GNU/Linux, skriv \"mformat a:\", eller \"fdformat /dev/fd0\" följt av\n"
+" \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generera automatisk installationsdiskett"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Spela igen"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Automatiserad"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Spara paketval"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Om du önskar återanvända utrymmet på några gamla GNU/Linux\n"
+"partitioner kan du omformatera dem för att rensa dem på data. \n"
+"Om du vill göra det, välj de partitioner du vill formatera.\n"
+"\n"
+"Observera att det inte är nödvändigt att omformatera alla existerande\n"
+"partitioner. Du måste omformatera de partitioner som innehåller själva\n"
+"operativsystemet. (som t ex \"/\", \"/usr\" eller \"/var\") men du behöver\n"
+"inte formatera partitioner som innehåller data du vill behålla\n"
+"(vanligtvis /home).\n"
+"\n"
+"Var försiktig när du väljer partitioner, för efter formatering kommer all\n"
+"data på valda partitioner att vara raderat och du kommer inte att kunna \n"
+"återskapa någonting.\n"
+"\n"
+"Klicka på \"%s\" när du är redo att formatera partitionerna.\n"
+"\n"
+"Klicka på \"%s\" om du vill välja andra partitioner att installera ditt\n"
+"nya Mageia-system på.\n"
+"\n"
+"Klicka på \"%s\" för att välja på vilka partitioner du vill leta\n"
+"efter felaktiga block."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Sedan denna version av Mageia gavs ut är det troligt att\n"
+"några paket har uppdaterats. Fel kan ha rättats till och\n"
+"säkerhetsrelaterade problem kan ha lösts. För att du ska kunna ta\n"
+"del av dessa uppdateringar ges du nu möjligheten att ladda ner dem\n"
+"från Internet. Välj \"%s\" om du har en fungerande \n"
+"Internetuppkoppling, eller \"%s\" om du vill installera uppdaterade\n"
+" paket senare.\n"
+"\n"
+"När du väljer \"%s\" visas en lista på webplatser som det går att hämta\n"
+"paketen från. Du bör välja det som ligger närmast dig. Sedan visas en\n"
+"trädvy där det går att välja paket. Gå igenom valen och klicka sedan\n"
+"på \"%s\" för att hämta och installera valda paket, eller \"%s\" för att\n"
+" avbryta."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nu är det dags att välja vilken säkerhetsnivå som ska tillämpas på\n"
+"datorn. En tumregel är säkerhetsnivån bör sättas högre om den \n"
+"kommer att innehålla viktig data eller om den kommer att vara \n"
+"tillgänglig från Internet. Det bör dock nämnas att nivån på säkerheten\n"
+"påverkar hur lättanvänd datorn blir.\n"
+"Om du inte är säker på vad du ska välja, behåll det förvalda alternativet.\n"
+"Du kan ändra det senare med draksec verktyget, vilket är en del av av\n"
+"Mageia Control Center.\n"
+"\n"
+"Skriv in email adressen till personen som är ansvarig för säkerheten\n"
+"i \"%s\" fältet. Säkerhetsmeddelanden kommer att mailas till den\n"
+"adressen."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Säkerhetsadministratör"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Nu måste du välja vilka partitioner som ska användas för installationen av\n"
+"Mageia-systemet. Om partitioner redan har definierats, antingen\n"
+"från en tidigare installation av GNU/Linux eller av ett annat\n"
+"partitionsverktyg, kan du använda dessa. Annars måste hårddiskpartitioner\n"
+"definieras.\n"
+"\n"
+"För att skapa partitioner måste du först välja en hårddisk. Du kan välja\n"
+"disken som ska partitioneras genom att klicka på \"hda\" för den första\n"
+"IDE-disken, \"hdb\" för den andra, \"sda\" för den första SCSI-disken\n"
+"och så vidare.\n"
+"\n"
+"För att partitionera den valda disken kan du använda dessa alternativ:\n"
+"\n"
+" * \"%s\": det här alternativet tar bort alla partitioner på\n"
+"den valda hårddisken.\n"
+"\n"
+" * \"%s\": det här alternativet låter dig automatiskt\n"
+"skapa Ext3- och växlingspartitioner på det lediga utrymmet på hårddisken.\n"
+"\n"
+" * \"%s\": ger tillgång till ytterligare funktioner:\n"
+"\n"
+" * \"%s\" sparar partitionstabellen på diskett. Användbart för eventuell "
+"framtida återskapning av partitionstabell. Du rekommenderas\n"
+"att utföra detta steg.\n"
+"\n"
+" * \"%s\": tillåter återskapning av partitionstabell som sparats på "
+"diskett.\n"
+"\n"
+" * \"%s\": om partitionstabellen är skadad, kan du\n"
+"försöka reparera den med detta alternativ. Var försiktig och ha i åtanke\n"
+"att det kan misslyckas.\n"
+"\n"
+" * \"%s\": bortser från alla ändringar och laddar din\n"
+"ursprungliga partitionstabell.\n"
+"\n"
+" * \"%s\": avmarkering av detta\n"
+"alternativ tvingar användarna att manuellt montera och avmontera \n"
+"flyttbar media som disketter och cd-skivor.\n"
+"\n"
+" * \"%s\": använd det här alternativet om du vill använda en guide för\n"
+"att partitionera hårddisken. Det rekommenderas om du inte har god kunskap\n"
+"om partitionering.\n"
+"\n"
+" * \"%s\": välj detta för att ångra ändringarna.\n"
+"\n"
+" * \"%s\": tillåter ytterligare åtgärder för partitionering\n"
+"(Typ, alternativ, format) och ger mer information.\n"
+"\n"
+" * \"%s\": när du har partitionerat klart hårddisken, kommer detta\n"
+"att spara ändringarna till disk.\n"
+"\n"
+"När du bestämmer storleken på en partition kan du finjustera storleken\n"
+"genom att använda piltangenterna på tangentbordet.\n"
+"\n"
+"Observera: du kan hoppa till vilket alternativ som helst med tangentbordet.\n"
+"Navigera genom partitionerna med tangenten tabb och upp- och nerpilarna.\n"
+"\n"
+"När en partition är vald kan du använda:\n"
+"\n"
+" * Ctrl+c för att skapa en ny partition (när en tom partition är vald).\n"
+"\n"
+" * Ctrl+d för att ta bort en partition;\n"
+"\n"
+" * Ctrl+m för att ange monteringspunkten.\n"
+"\n"
+"För att få information om de olika typerna av filsystem, läs kapitlet\n"
+"ext2FS i \"Reference Manual\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Spara partitionstabellen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Återställ partitionstabellen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Rädda partitionstabellen"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatisk montering av flyttningsbar media"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "Guide"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Ã…ngra"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Byt mellan normal/expert läge"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Fler än en Microsoft Windows-partition har hittats på hårddisken.\n"
+"Välj vilken av dem du vill ändra storlek på för att kunna installera\n"
+"operativsystemet Mageia.\n"
+"\n"
+"Varje partition listas som följer: \"Linux-namn\", \"Windows-namn\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux-namn\" är strukturerad på följande vis: \"hårddisktyp\", "
+"\"hårddisknummer\",\n"
+"\"partitionsnummer\" (till exempel, \"hda1\").\n"
+"\n"
+"\"Hårddisktyp\" är \"hd\" om hårddisken är en IDE-hårddisk och\n"
+"\"sd\" om det är en SCSI-hårddisk.\n"
+"\n"
+"\"Hårddisknummer\" är alltid en bokstav efter \"hd\" eller \"sd\". Med IDE-\n"
+"hårddiskar:\n"
+"\n"
+" * \"a\" betyder \"master-hårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"b\" betyder \"slavhårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"c\" betyder \"master-hårddisk på den sekundära IDE-kontrollern\",\n"
+"\n"
+" * \"d\" betyder \"slavhårddisk på den sekundära IDE-kontrollern\".\n"
+"\n"
+"Med SCSI-hårddiskar, betyder \"a\" \"lägsta SCSI-ID\", ett \"b\" betyder\n"
+"\"andra lägsta SCSI-ID\", etc.\n"
+"\n"
+"\"Windows-namn\" är bokstaven på hårddisken under Windows (den första\n"
+"disken eller partitionen kallas \"C:\"). "
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+" * \"%s\": kontrollera valet av land. Om du inte finns i detta land,\n"
+"klicka på knappen \"%s\" och välj ett annat. Om ditt land\n"
+"inte finns i den första listan som visas, klicka på \"%s\" för att få\n"
+"den fullständiga listan på länder."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Detta steg startas endast om en gammal GNU/Linux-partition har hittats\n"
+"på datorn.\n"
+"\n"
+"DrakX behöver veta om du önskar starta en ny installation eller uppdatera\n"
+"ett redan existerande Mageia-system:\n"
+"\n"
+" * \"%s\" Detta raderar oftast helt det gamla systemet. Om du vill ändra\n"
+"hur hårddiskarna är partitionerade eller ändra filsystemet ska du använda\n"
+"detta alternativ. Beroende på hur du har valt att partitionera är det "
+"möjligt\n"
+"att förhindra viss data från att skrivas över (förslagsvis innehållet i \n"
+"\"home\" katalogen).\n"
+"\n"
+" * \"%s\" detta installationsalternativ uppdaterar de paket som är "
+"installerade\n"
+"på ditt Mageia-system. Dina nuvarande partitioner och dina\n"
+"användares data kommer inte att förändras. De flesta installationssteg\n"
+"kommer att vara tillgängliga precis som på en vanlig installation.\n"
+"\n"
+"Uppdateringsalternativet bör fungera utmärkt på Mageia-system\n"
+"som är version \"8.1\" eller senare. Att göra en uppdatering av tidigare\n"
+"versioner än \"8.1\" rekommenderas ej."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"I de flesta fall väljer DrakX rätt tangentbord åt dig (beroende på vilket\n"
+"språk du har valt) och det hela sker automatiskt. Kontrollera att \n"
+"det förvalda tangentbordet passar dig eller välj ett annat tangentbord.\n"
+"\n"
+"Det kan även hända\n"
+"att du har ett tangentbord som inte helt motsvarar ditt språk: om du\n"
+"till exempel är en engelsktalande schweizare kanske du ändå vill att\n"
+"ditt tangentbord är schweiziskt. Eller om du talar engelska och bor i\n"
+"Quebec kan du befinna dig i en liknande situation. I båda fallen behöver\n"
+"du gå tillbaka till detta installationssteg och välja önskat tangentbord\n"
+"ur listan.\n"
+"\n"
+"Klicka på \"%s\" för en komplett lista över tillgängliga tangentbord.\n"
+"\n"
+"Om du väljer en tangentbordslayout som inte är baserad på ett icke-latinskt\n"
+"alfabet kommer du i nästa dialogruta uppmanas att välja snabbtangenterna \n"
+"som ska användas för att byta mellan den latinska layouten och \n"
+"den icke-latinska."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Första steget är att välja språk.\n"
+"\n"
+"Det språk du väljer kommer att påverka språket i dokumentationen, "
+"installationsprogrammet och systemet i allmänhet. Välj först den region du "
+"bor i och sedan det språk som du talar.\n"
+"\n"
+"Om du klickar på %s kan du välja andra språk som du vill\n"
+"ha installerade på datorn. Genom att välja andra språk så kommer\n"
+"språkspecifika filer för systemdokumentation och program att installeras.\n"
+"Om du till exempel får besök av personer från Spanien som behöver använda\n"
+"datorn, välj ditt eget språk som huvudspråket i trädvyn och under den\n"
+"avancerade sektionen klicka på den ruta som motsvarar\n"
+"\"%s\".\n"
+"\n"
+"Beträffande UTF-8 (Unicode) stöd: Unicode är en internationell\n"
+"standard för teckenkoder som har som mål att täcka alla\n"
+"existerande språk. Unicode i GNU/Linux fungerar, men\n"
+"är fortfarande under utveckling. Användandet av Unicode \n"
+"kommer därför att vara beroende på vilka språk du väljer.\n"
+"\n"
+" * Om du väljer ett språk med starkt stöd för äldre teckenkoder \n"
+"(latin1 språk, ryska, japanska, kinesiska, koreanska, thailändska, \n"
+"grekiska, turkiska, de flesta iso8859-2 språk) så kommer\n"
+"den äldre teckenkoden att väljas som standard. \n"
+"\n"
+" * Alla andra språk kommer att få Unicode som standard.\n"
+"\n"
+" * Om två eller flera språk har valts och dessa språk använder\n"
+"olika teckenkoder så kommer Unicode att väljas som standard \n"
+"för hela systemet.\n"
+"\n"
+" * Slutligen kan användaren tvinga hela systemet att använda\n"
+"Unicode oberoende av vilka språk som har valts genom att välja \n"
+"alternativet \"%s\" .\n"
+"\n"
+"Observera att flera språk kan installeras. Du kan till och med installera \n"
+"dem alla genom att välja \"%s\". Om du väljer stöd för ett språk\n"
+"betyder det att översättningar, teckensnitt, stavningskontroll etc. för \n"
+"språket kommer att installeras. \n"
+"För att välja mellan de olika språken installerade på systemet kan du\n"
+"starta kommandot \"localedrake\" som root för att ändra språket\n"
+"för hela systemet. Kör du kommandot som en vanlig användare kommer\n"
+"du att ändra språket för bara den användaren."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanska"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Använd Unicode som standard"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX identifierar vanligen hur många knappar din mus har. Om inte\n"
+"antar den att du har en mus med två knappar och kommer att ställa in\n"
+"den för knapp 3-emulering. Den tredje knappen på en två-knappars\n"
+"mus kan användas genom att trycka på vänstra och högra\n"
+"musknappen samtidigt . DrakX kommer automatiskt att veta\n"
+"om musen är av typ PS/2, seriell eller USB.\n"
+"\n"
+"Om du har en mus med tre knappar utan hjul kan du välj en \"%s\"\n"
+"mus. DrakX kommer då ställa in den så du kan simulera ett hjul\n"
+"med den. Tryck in mittenknappen och rör muspekaren upp eller\n"
+"ner för att simulera användandet av ett mushjul.\n"
+"\n"
+"Om du vill specificera en annan mustyp välj då den i listan\n"
+"som visas.\n"
+"\n"
+"Du kan välja \"%s\" för att specifiera en \"generisk\" mustyp som\n"
+"kommer att fungera med nästan alla olika möss.\n"
+"\n"
+"Om du väljer en annan mus än den förvalda kommer en testskärm att\n"
+"visas. Använd musknapparna och hjulet för att verifiera att inställningarna\n"
+"är korrekt. Om musen inte fungerar ordentligt tryck på mellanslag eller\n"
+"Enter för att avbryta och välja igen.\n"
+"\n"
+"Ibland identifieras inte hjulmöss automatiskt. Du måste manuellt välja\n"
+"korrekt mus i listan. Se till så att du väljer den som motsvarar porten den\n"
+"är ansluten till. När du valt en mus och har klickat \"%s\" kommer en \n"
+"musbild att visas. Du måste då röra på hjulet för att aktivera det, och\n"
+"du kommer se mushjulet på skärmen röra sig. \n"
+"Testa sedan att alla knappar och musrörelsen fungerar korrekt, muspekaren\n"
+"skall röra sig på skärmen om allt fungerar."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Valfri PS/2- eller USB-mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Välj den korrekta porten. Exempel: porten som kallas \"COM1\" i\n"
+"Windows heter \"ttyS0\" i GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO och grub är starthanterare, små program som körs av din dator\n"
+"vid uppstart. De ansvarar för att starta systemet och ladda ett valfritt\n"
+"operativsystem. Detta steg är vanligtvis\n"
+"helt automatiserat. DrakX kommer att analysera diskens startsektor\n"
+"och agera efter vad den hittar där:\n"
+"\n"
+" * Om en Windows-startsektor hittas kommer den att ersättas med en\n"
+"Grub/Lilo-startsektor. Du kommer då varje gång du startar datorn att\n"
+"kunna välja att ladda antingen GNU/Linux eller andra operativsystem.\n"
+"\n"
+" * Om en Grub- eller Lilo-startsektor hittas kommer den att ersättas\n"
+"med en ny.\n"
+"\n"
+"Om den inte kan avgöra lämplig åtgärd kommer DrakX att fråga dig\n"
+"var starthanteraren ska placeras. Generellt är \"%s\" det säkraste\n"
+"valet. Om du väljer \"%s\" kommer ingen starthanterare att\n"
+"installeras. Välj endast detta om du är en erfaren användare som\n"
+"vet vad det innebär."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Här väljer du vilket skrivarsystem du ska använda. Andra operativsystem\n"
+"erbjuder dig kanske bara ett, men Mageia erbjuder dig två.\n"
+"Vilket skrivarsystem som är lämpligast är beroende på vilken \n"
+"systemkonfiguration du har.\n"
+"\n"
+" * \"%s\" - vilket betyder \"print, do not queue\" (skriv direkt utan att \n"
+"använda köer), är det du ska välja om\n"
+"du har en direkt anslutning till din skrivare och vill ha möjligheten att\n"
+"stoppa utskrifter, och om du inte har några nätverksskrivare. \"%s\" "
+"hanterar\n"
+"bara enkla nätverksfall och är ganska långsamt över nätverk. Välj\n"
+"\"pdq\" om GNU/Linux är nytt för dig.\n"
+"\n"
+" * \"%s\" - ``Common Unix Printing System\" är mycket bra på att skriva\n"
+"ut både till lokala skrivare eller till skrivare som kan vara placerade \n"
+"på andra sidan jorden. Det är enkelt att anpassa och kan\n"
+"agera som en server eller klient för det gamla skrivarsystemet \"lpd\", det\n"
+"är alltså kompatibelt med gamla skrivarsystem. Det är mycket kraftfullt,\n"
+"men den grundläggande installationen är nästan lika enkel som med \"pdq\".\n"
+"Om du ska använda emulera en \"lpd\"-server måste du aktivera\n"
+"demonen \"cups-lpd\". \"%s\" har grafiska gränssnitt för utskrift, för olika "
+"utskriftsalternativ, och för att styra skrivare.\n"
+"\n"
+"Om du gör ett val nu och senare kommer fram till att du inte gillar\n"
+"skrivarsystemet kan du alltid ändra dig efter installationen genom att\n"
+"använda PrinterdDrake i Mageias kontrollcentral, och där klicka på\n"
+"knappen \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX letar nu efter IDE-enheter i datorn. DrakX kommer också att\n"
+"leta efter PCI SCSI-kort på systemet. Om DrakX hittar ett SCSI-kort\n"
+"och känner till rätt drivrutin, kommer kortet att installeras automatiskt.\n"
+"\n"
+"Eftersom hårdvaruidentifieringen inte alltid hittar all hårdvara, kan du\n"
+"bli tvungen att ange din hårdvara för hand.\n"
+"\n"
+"Om du blir tvungen att manuellt specificera kortet kommer DrakX att\n"
+"fråga om du vill ange alternativ för det. Du bör tillåta DrakX att själv\n"
+"undersöka hårdvaran efter alternativ. Detta fungerar oftast bra.\n"
+"\n"
+"Om DrakX inte klarar av att undersöka hårdvaran kommer du att \n"
+"behöva konfigurera drivrutinen manuellt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": om ett ljudkort identifierats i datorn visas det här.\n"
+"Om du märker att det ljudkort som visas inte är det samma som finns\n"
+"i din dator så kan du klicka på knappen för att välja en annan drivrutin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"För att möjliggöra en förhandsgranskning, så presenterar DrakX en\n"
+"sammanfattning av ditt system. Beroende på vilken hårdvara du har \n"
+"installerad så kan du ha några eller alla av de följande kategorierna.\n"
+"Varje kategori består av vad som konfigurerats, följt av en enkel\n"
+"sammanfattning av aktuell konfigurering.\n"
+"Klicka på motsvarande \"%s\"-knapp för att ändra konfigurationen.\n"
+"\n"
+" * \"%s\": kontrollera aktuella tangentbordsinställning och ändra om\n"
+"så önskas.\n"
+"\n"
+" * \"%s\": kontrollera förvalt land. Om du inte bor i detta land, välj \n"
+"knappen \"%s\" och ändra. Om ditt land inte finns med i den första\n"
+"listan som visas, klicka på knappen \"%s\" för att få en fullständig lista\n"
+"över länder.\n"
+"\n"
+" * \"%s\": DrakX väljer automatiskt en tidszon baserat på vilket land\n"
+"du har valt. Om detta val inte är korrekt kan du korrigera det genom\n"
+"att klicka på knappen \"%s\".\n"
+"\n"
+" * \"%s\": kontrollera aktuell muskonfiguration och klicka på knappen för\n"
+"att ändra den om så önskas.\n"
+"\n"
+" * \"%s\": om ett ljudkort hittats på ditt system så visas det här. Om du\n"
+"upptäcker att ljudkortet som visas inte stämmer överens med det som\n"
+"i själva verket finns på din dator så kan du klicka på knappen och\n"
+"välja en ny drivrutin.\n"
+"\n"
+" * \"%s\": om ett TV-kort hittats på systemet så visas det här. \n"
+"Om du har ett TV-kort och det inte har hittats, klicka på \"%s\" för\n"
+"att försöka konfigurera det manuellt.\n"
+"\n"
+" * \"%s\": du kan klicka på \"%s\" för att ändra parametrar till\n"
+"kortet om det inte är korrekt inställt.\n"
+"\n"
+" * \"%s\": DrakX ställer som förval in ditt grafiska gränssnitt till "
+"upplösningen \"800x600\" eller \"1024x768\". Om detta inte passar dig, \n"
+"klicka på \"%s\" för att ändra inställningarna. \n"
+"\n"
+" * \"%s\": konfigurera din anslutning till Internet eller ett\n"
+"lokalt nätverk. Använd eventuell tryckt dokumentation eller använd\n"
+"Mageia Control Center efter installationen har slutförts för att\n"
+"få tillgång till dokumentation och hjälp med inställningar.\n"
+"\n"
+" * \"%s\" ställa in HTTP- och FTP-proxy inställingar om din\n"
+"dator använder sig av en proxyserver för att nå nätet.\n"
+"\n"
+" * \"%s\": omdefiniera säkerhetsnivån som\n"
+"valdes i ett tidigare steg av installationen.\n"
+"\n"
+" * \"%s\": om du tänker koppla upp din dator till Internet så är\n"
+"det en god ide att skydda dig från intrång genom att konfigurera\n"
+"en brandvägg. Läs i motsvarande kapitel av \"Starter Guide\" för\n"
+"mer detaljerad beskrivning av konfigurering av brandväggar.\n"
+"\n"
+" * \"%s\" ändra konfigurationen av din starthanterare.\n"
+" Detta bör endast göras av erfarna användare. \n"
+"Använd tryckt dokumentation eller den inbyggda hjälpen i Mageia\n"
+"Control Center för konfiguration av starthanterare\n"
+".\n"
+" * \"%s\": här kan du ställa in i detalj vilka tjänster som körs på din\n"
+"dator. Om du tänker använda din dator som server är det en god ide att\n"
+"se över dessa inställningar."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV-kort"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiskt gränssnitt"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Välj vilken hårddisk du vill radera för att kunna installera din nya\n"
+"Mageia-partition. Var försiktig, alla data som för tillfället\n"
+"finns på partitionen kommer att gå förlorad och kommer inte att kunna \n"
+"återställas!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Klicka på \"%s\" om du vill ta bort alla data och alla partitioner som\n"
+"finns på denna hårddisk. Var försiktig, efter det att du klickat på \"%s\" \n"
+"kommer du inte att kunna återställa någon data eller några partitioner på\n"
+"denna hårddisk, inkluderande Windows-data.\n"
+"\n"
+"Klicka på \"%s\" för att avbryta denna operation utan att förlora \n"
+"någon data eller några partitioner på denna hårddisk."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Nästa ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Föregående"
diff --git a/perl-install/install/help/po/ta.po b/perl-install/install/help/po/ta.po
new file mode 100644
index 000000000..e9e0d3bdf
--- /dev/null
+++ b/perl-install/install/help/po/ta.po
@@ -0,0 +1,1692 @@
+# Drak X
+# Copyright (C) 2002 Mandriva
+#
+# NOTE: use UTF-8 only
+#
+# prabu <prabu_anand2000@yahoo.com>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2002-09-06 00:35+0800\n"
+"Last-Translator: prabu anand <prabu_anand2000@yahoo.com>\n"
+"Language-Team: Tamil <tamilinix@yahoogroups.com>\n"
+"Language: ta\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=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. Before continuing, you should read carefully "
+"the terms of the license. It\n"
+"covers the whole Mageia distribution, and if you do not agree with\n"
+"all the terms in it, click on the \"Refuse\" button which will immediately\n"
+"terminate the installation. To continue with the installation, click on the\n"
+"\"Accept\" button."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.GNU/Linux is a multiuser system, and this "
+"means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more. But unlike \"root\", which is the administrator, the users\n"
+"you will add here will not be entitled to change anything except their own\n"
+"files and their own configuration. You will have to create at least one\n"
+"regular user for yourself. That account is where you should log in for\n"
+"routine use. Although it is very practical to log in as \"root\" everyday,\n"
+"it may also be very dangerous! The slightest mistake could mean that your\n"
+"system would not work any more. If you make a serious mistake as a regular\n"
+"user, you may only lose some information, but not the entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course -\n"
+"as you can actually enter whatever you want. DrakX will then take the first\n"
+"word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as \"root\"' one\n"
+"from a security point of view, but that is no reason to neglect it: after\n"
+"all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of your friends: your father or your sister, for\n"
+"example. When you finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default)."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "நீஙà¯à®•ள௠இநà¯à®¤ வசதியை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤ விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.Listed above are the existing Linux partitions "
+"detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a partition for \"/home\"\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.The Mageia installation is spread out over "
+"several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required"
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.It is now time to specify which programs you "
+"wish to install on your\n"
+"system. There are thousands of packages available for Mageia, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you deselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewer packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful for repairing or\n"
+"updating an existing system."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ேமமà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®¤à®²à¯"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "உதவி நூலà¯à®•ளà¯à®Ÿà®©à¯ (கà¯à®±à¯ˆà®¨à¯à®¤à®ªà®Ÿà¯à®šà®®à¯ இத௠தேவை!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "கà¯à®±à¯ˆà®¨à¯à®¤à®ªà®Ÿà¯à®š நிறà¯à®µà®²à¯"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.Finally, depending on whether or not you "
+"selected individual packages, you\n"
+"will be presented a tree containing all packages classified by groups and\n"
+"subgroups. While browsing the tree, you can select entire groups,\n"
+"subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An estimate of the time it will take to\n"
+"install everything is displayed on the screen, to help you gauge if there\n"
+"is sufficient time to enjoy a cup of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mageia, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of last step on how to create such\n"
+"a floppy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.You may now choose which services you wish to "
+"start at boot time.\n"
+"\n"
+"Here are presented all the services available with the current\n"
+"installation. Review them carefully and uncheck those which are not always\n"
+"needed at boot time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.GNU/Linux manages time in GMT (Greenwich Mean "
+"Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by deselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "தானியஙà¯à®•ி நேர ஒதà¯à®¤à®¿à®¯à®•à¯à®•ி(NTP உதவியà¯à®Ÿà®©à¯)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à¯ˆà®².Finally, you will be asked whether you want to "
+"see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "இரà¯à®•à¯à®•à¯à®®à¯ வகிரà¯à®•ளை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®™à¯à®•ளà¯"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "à®®à¯à®´à¯ வடà¯à¯ˆà®Ÿà®¯à¯à®®à¯ அழிதà¯à®¤à¯ விடà¯"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.There you are. Installation is now complete "
+"and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"%s\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "தானியஙà¯à®•ி நிறà¯à®µà®²à¯à®µà®Ÿà¯à¯ˆà®Ÿ உரà¯à®µà®¾à®•à¯à®•வà¯à®®à¯"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.Any partitions that have been newly defined "
+"must be formatted for use\n"
+"(formatting means creating a filesystem).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"any of it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"உஙà¯à®•ள௠மானà¯à®Ÿà®¿à®°à¯‡à®•௠லினகà¯à®¸à¯ இயகà¯à®• நிரல௠வெளியீடà¯à®Ÿà®¿à®±à¯à®•à¯à®®à¯ \n"
+"இனà¯à®±à¯ˆà®¯ தினதà¯à®¤à®¿à®±à¯à®•à¯à®®à¯ இடையில௠நிறைய பà¯à®¤à®¿à®¯ பொதிகள௠வெளிவநà¯à®¤à¯\n"
+"இரà¯à®•à¯à®•லாமà¯. இவை உஙà¯à®•ள௠கணிணியில௠நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ பொதிகளினà¯\n"
+"பாதà¯à®•ாபà¯à®ªà¯ கà¯à®±à¯ˆà®ªà®¾à®Ÿà¯à®•ளையà¯à®®à¯, பிழைகளையà¯à®®à¯ நீகà¯à®• இவை தேவைபà¯à®ªà®Ÿà®²à®¾à®®à¯\n"
+"இவை இணையதà¯à®¤à®¿à®²à¯ தரவ௠இறகà¯à®•ம௠செயà¯à®¯ வேணà¯à®Ÿà¯à®®à¯. இபà¯à®ªà¯‹à®¤à¯ இணையதà¯à®¤à¯à®Ÿà®©à¯ \n"
+"இணைபà¯à®ªà¯ இரà¯à®¨à¯à®¤à®¾à®²à¯ நீஙà¯à®•ள௠இவறà¯à®±à¯ˆ இறகà¯à®•ி நிறà¯à®µà®²à®¾à®®à¯. நீஙà¯à®•ள௠தொலைபேசி\n"
+"à®®à¯à®²à®®à¯ இணைநà¯à®¤à®¿à®°à¯à®¨à¯à®¤à®¾à®²à¯ இதறà¯à®•௠நீணà¯à®Ÿ நேரம௠ஆகலாமà¯\n"
+"பொதிகளை நிறà¯à®µ \"ஆமà¯\" எனவà¯à®®à¯, நிறà¯à®µ விரà¯à®ªà¯à®ªà®®à¯ இலà¯à®²à¯ˆà®¯à¯†à®©à¯à®±à®¾à®²à¯ \"இலà¯à®²à¯ˆ\" \n"
+"எனவà¯à®®à¯ தேரà¯à®µà¯ செயà¯à®¯à®µà¯à®®à¯.\n"
+"\n"
+"பொதிகளை நிறà¯à®µ \"ஆமà¯\" என தேரà¯à®µà¯ செயà¯à®¤à®¾à®²à¯ உஙà¯à®•ளà¯à®•à¯à®•௠பல இணையதளஙà¯à®•ளினà¯\n"
+"à®®à¯à®•வரி காடà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®®à¯. உஙà¯à®•ளà¯à®•à¯à®•௠அரà¯à®•ில௠உளà¯à®³ தளதà¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ இறகà¯à®• அதனை\n"
+"தேரà¯à®µà¯ செயà¯à®¯à®µà¯à®®à¯. பின௠\"நிறà¯à®µà¯\" எனà¯à®±à®¾à®²à¯ பொதிகள௠நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®®à¯. இலà¯à®²à¯ˆà®¯à¯†à®©à¯à®±à®¾à®²à¯\n"
+"\"நீகà¯à®•à¯\" எனச௠சொலà¯à®²à®¿ வெளியேறவà¯à®®à¯"
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.At this point, it is time to choose the "
+"security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"easiness of use. Refer to the \"msec\" chapter of the ``Reference Manual''\n"
+"to get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option"
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "பாதà¯à®•ாபà¯à®ªà¯ மேலாளரà¯(பெயர௠அலà¯à®²à®¤à¯ மினà¯à®©à®žà¯à®šà®²à¯ à®®à¯à®•வரி)"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.At this point, you need to choose which "
+"partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
+"\n"
+" * \"Auto allocate\": this option enables to automatically create \"Ext2\"\n"
+"and swap partitions in free space of your hard disk drive;\n"
+"\n"
+" * \"More\": gives access to additional features:\n"
+"\n"
+" * \"Save partition table\": saves the partition table to a floppy.\n"
+"Useful for later partition-table recovery if necessary. It is strongly\n"
+"recommended to perform this step;\n"
+"\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from floppy disk;\n"
+"\n"
+" * \"Rescue partition table\": if your partition table is damaged, you\n"
+"can try to recover it using this option. Please be careful and remember\n"
+"that it can fail;\n"
+"\n"
+" * \"Reload partition table\": discards all changes and loads your\n"
+"initial partition table;\n"
+"\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
+"\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard disk drive. This is recommended if you do not have a good "
+"knowledge of\n"
+"partitioning;\n"
+"\n"
+" * \"Undo\": use this option to cancel your changes;\n"
+"\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
+"\n"
+" * \"Done\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
+"\n"
+" * Ctrl-d to delete a partition;\n"
+"\n"
+" * Ctrl-m to set the mount point.\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2fs chapter from the ``Reference Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "கழறà¯à®±à¯ ஊடகஙà¯à®•ள௠தானேறà¯à®±à®®à¯"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "சாதாரனர௠மà¯à®±à¯ˆà®®à¯ˆà®•à¯à®•௠மாறà¯"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à¯ˆà®².More than one Microsoft partition has been "
+"detected on your hard disk drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen) and you will not even see this step. However, you\n"
+"might not have a keyboard that corresponds exactly to your language: for\n"
+"example, if you are an English speaking Swiss person, you may still want\n"
+"your keyboard to be a Swiss keyboard. Or if you speak English but are\n"
+"located in Quebec, you may find yourself in the same situation. In both\n"
+"cases, you will have to go back to this installation step and select an\n"
+"appropriate keyboard from the list.\n"
+"\n"
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you will host users from Spain on your\n"
+"machine, select English as the main language in the tree view and in the\n"
+"Advanced section click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.உதவி இனà¯à®©à®®à¯à®®à¯ "
+"மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. "
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX generally detects the number of buttons your mouse has. If not, it\n"
+"assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "பொதà¯à®¤à®¾à®©à¯ போனà¯à®®à®¿"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à¯ˆà®².Please select the correct port. For example, "
+"the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux.. "
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "நிபà¯à®£à®°à¯"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. DrakX now detects any IDE device present in "
+"your computer. It will also\n"
+"scan for one or more PCI SCSI card(s) on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented a list of SCSI cards to choose from. Click \"No\" if you have\n"
+"no SCSI hardware. If you are unsure, you can check the list of hardware\n"
+"detected in your machine by selecting \"See hardware info\" and clicking\n"
+"\"OK\". Examine the list of hardware and then click on the \"OK\" button to\n"
+"return to the SCSI interface question.\n"
+"\n"
+"If you have to manually specify your adapter, DrakX will ask if you want to\n"
+"specify options for it. You should allow DrakX to probe the hardware for\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to provide options to the driver manually. Please review the\n"
+"``User Guide'' (chapter 3, in the ``Collecting Information on Your\n"
+"Hardware'' section) for hints on retrieving the parameters required from\n"
+"hardware documentation, from the manufacturer's web site (if you have\n"
+"Internet access) or from Microsoft Windows (if you used this hardware with\n"
+"Windows on your system)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN அடà¯à¯ˆà®Ÿ"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN அடà¯à¯ˆà®Ÿ"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "வரைவியலà¯à®µà®´à®¿"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"உஙà¯à®•ள௠கணினியில௠மாணà¯à®Ÿà¯à¯‡à®°à®•௠லினகà¯à®¸à¯ இயகà¯à®• அமைபà¯à¯‡à®ªà®¾ மடà¯à®Ÿà¯à®®à¯\n"
+"இயகà¯à®• à®®à¯à®Ÿà®¿à®µà¯†à®Ÿà¯à®¤à¯à®¤à®¾à®²à¯ இவà¯à®µà¯à®•பà¯à®ªà®¤à¯à¯ˆà®¤à®¤à¯ தேரà¯à®¨à¯à¯†à®¤à®Ÿà¯à®•à¯à®•வà¯à®®à¯. இதனாலà¯\n"
+"உஙà¯à®•ளின௠வனà¯à®µà®Ÿà¯à®Ÿà¯ à®®à¯à®´à¯à®µà®¤à¯à®®à¯à®³à¯à®³ தரவà¯à®•ளà¯, வகிரà¯à®µà¯à®•ள௠எலà¯à®²à®¾à®®à¯\n"
+"அழிநà¯à®¤à¯à®µà®¿à®Ÿà¯à®®à¯. அவைகளைத௠திரà¯à®®à¯à®ªà®¿à®ªà¯ பெற இயலாதà¯. ஆகவே,\n"
+"எசà¯à®šà®°à®¿à®•à¯à¯ˆà®•யாகச௠செயலà¯à®ªà®Ÿ வேணà¯à®Ÿà¯à®®à¯."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. Click on \"OK\" if you want to delete all "
+"data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"OK\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to cancel this operation without losing any data and\n"
+"partitions present on this hard disk drive."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "அடà¯à®¤à¯à®¤à¯ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- à®®à¯à®©à¯à®©à®¤à¯"
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "உதவி இனà¯à®©à®®à¯à®®à¯ மொழிபெயரà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. This is the most crucial decision point "
+#~ "for the security of your GNU/Linux\n"
+#~ "system: you have to enter the \"root\" password. \"root\" is the system\n"
+#~ "administrator and is the only one authorized to make updates, add users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That is why you must choose a password that is difficult "
+#~ "to\n"
+#~ "guess - DrakX will tell you if it is too easy. As you can see, you can\n"
+#~ "choose not to enter a password, but we strongly advise you against this "
+#~ "if\n"
+#~ "only for one reason: do not think that because you booted GNU/Linux that\n"
+#~ "your other operating systems are safe from mistakes. Since \"root\" can\n"
+#~ "overcome all limitations and unintentionally erase all data on "
+#~ "partitions\n"
+#~ "by carelessly accessing the partitions themselves, it is important for "
+#~ "it\n"
+#~ "to be difficult to become \"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password - it makes it "
+#~ "too\n"
+#~ "easy to compromise a system.\n"
+#~ "\n"
+#~ "However, please do not make the password too long or complicated because\n"
+#~ "you must be able to remember it without too much effort.\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it in. Hence, "
+#~ "you\n"
+#~ "will have to type the password twice to reduce the chance of a typing\n"
+#~ "error. If you do happen to make the same typing error twice, this\n"
+#~ "``incorrect'' password will have to be used the first time you connect.\n"
+#~ "\n"
+#~ "In Expert mode, you will be asked if you will be connecting to an\n"
+#~ "authentication server, like NIS or LDAP.\n"
+#~ "\n"
+#~ "If your network uses the LDAP (or NIS) protocol for authentication, "
+#~ "select\n"
+#~ "\"LDAP\" (or \"NIS\") as authentication. If you do not know, ask your\n"
+#~ "network administrator.\n"
+#~ "\n"
+#~ "If your computer is not connected to any administrated network, you will\n"
+#~ "want to choose \"Local files\" for authentication."
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "நலà¯à®•à¯à®¾à®¿à®®à¯ˆ"
diff --git a/perl-install/install/help/po/tg.po b/perl-install/install/help/po/tg.po
new file mode 100644
index 000000000..c0f17554a
--- /dev/null
+++ b/perl-install/install/help/po/tg.po
@@ -0,0 +1,2086 @@
+# translation of DrakX-tg.po to Tajik
+# translation of DrakX-tg.po to Тоҷикӣ
+# Copyright (C) 2001,2002,2003,2004, 2005 Free Software Foundation, Inc.
+# 2004, infoDev, a World Bank organization
+# 2004, Khujand Computer Technologies, Inc.
+# 2004, KCT1, NGO
+# 2005, Youth Opportunities, NGO
+# Abrorova Hiromon, 2004
+# Roger Kovacs <rkovacs@khujand.org>, 2003.
+# Dilshod Marupov <dma165@hotmail.com>, 2003, 2004.
+# Murod Marupov <abdullovich@khujand.org>, 2004.
+# Bahromhon Bobojonov <bahrambabajanov@hotmail.com>, 2004.
+# Victor Ibragimov <youth_opportunities@tajikngo.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-09-17 16:03+0500\n"
+"Last-Translator: Victor Ibragimov <youth_opportunities@tajikngo.org>\n"
+"Language-Team: Tajik\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пеш аз давомдиҳӣ шумо боÑд шартҳои литÑензиÑро бо диққат хонед. Он\n"
+"ба ҳамаи тақÑимоти Mageia паҳн гардидааÑÑ‚. Ðгар шумо ба\n"
+"ҳамаи шартҳои литÑÐµÐ½Ð·Ð¸Ñ Ñ€Ð¾Ð·Ó£ бошед, пункти \"%s\"-ро қайд кунед. Ðгар розӣ\n"
+"набошед, танҳо \"%s\" компютери худро хомӯш Ñозед."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux ин ÑиÑтемаи биÑёркорванда мебошад, ки ин маънои онро\n"
+"дорад, ки ҳар Ñк корванд имтиёзҳои шахÑÓ£, файлҳои шахÑÓ£ ва ғайраро дорад. "
+"Барои маълумоти муфаÑÑал ``Муҳофизати Оғози''-ро хонед.\n"
+"Лекин бо фарқиÑÑ‚ аз \"реша\", ки идоракунандаи ÑиÑтемавӣ мебошад,\n"
+"корвандоне, ки шумо онҳоро дар ин ҷо илова мекунед, ҳуқуқи иваз\n"
+"кардани ҳеҷ чизро ба ғайр аз файлҳои шахÑÓ£ ва батанзимдарории шахÑии худ,\n"
+"надоранд. Барои ÑиÑтемаро аз тағиротҳои нохоÑÑ‚ ва\n"
+"қаÑди бад, ки ба ÑиÑтема аÑар мераÑонанд, муҳофизат карданд.\n"
+"Шумо боÑд аққалан Ñк корванди доимиро барои худ офаред -- ин\n"
+"ҳиÑобе, ки шумо боÑд барои воридшавӣ ва иÑтифодаи ҳаррӯза\n"
+"иÑтифода баред. Ба он нигоҳ накарда, ки ҳамчун \"реша\" ворид\n"
+"шудан барои ҳама чиз ва ҳама корро кардан хеле хавфнок бошад!\n"
+"Хатогии хеле оддӣ ба он оварда мераÑонад, ки ÑиÑтемаи шумо\n"
+"дигар тамоман кор намекунад. Ва агар ки шумо хатогии ҷиддиро ҳамчун корванд\n"
+"Ñодир кунед Ð¿Ð°Ñ Ñ‚Ð°Ð½Ò³Ð¾ Ñк қиÑми ахборотро аз\n"
+"даÑÑ‚ медиҳед, на ҳамаи ÑиÑтемаро.\n"
+"\n"
+"Майдони аввал аз шумо номи ҳақиқиро пурÑон мешавад. Ðлбатта ин\n"
+"ҳатмӣ неÑÑ‚ -- зеро ки шумо чизе ки хоҳед ворид карда метавонед.\n"
+"DrakX Ñкум калимаи чопкардаатонро, ки шаклбандӣ намудед дар ин\n"
+"майдон иÑтифода мебарад ва онро ба майдони \"%s\" нуÑха мебардорад, ки ин\n"
+"номро корванди алоҳида барои воридшавии ÑиÑтема иÑтифода\n"
+"мебарад. Қадами оÑнда ин вориди гузарвожа мебошад. Ðз ҷиҳати\n"
+"бехатарӣ гузарвожаи корванди беимтиёздор (одатӣ) он қадар ҳам\n"
+"назар ба гузарвожаи \"решагӣ\" муҳим неÑÑ‚, лекин ин баҳона не, ки\n"
+"шумо ба он аҳамиÑÑ‚ надиҳед, ба ҳар ҳол шумо файлҳои худро ба\n"
+"хатар мегузоред.\n"
+"\n"
+"Бо ангуштзанӣ ба \"%s\" шумо дигар корвандро илова карда метавонед.\n"
+"Барои ҳар Ñк дӯÑти худ корвандро илова кунед, маÑалан: падар Ñ‘ хоҳари\n"
+"худро. Баъди хатмкунии ҳамроҳÑозии корвандон ба \"%s\" ангушт\n"
+"занед.\n"
+"\n"
+"Пахшкунии тугмаи \"%s\" ба шумо имкониÑти ивазкунии \"пардозандаи фармонҳо\"-"
+"ро бо нобаёнӣ барои ин корванд медиҳад,\n"
+"(бо нобаёнӣ ин bash аÑÑ‚).\n"
+"\n"
+"ÐŸÐ°Ñ Ð°Ð· он, ки иловакунии корвандонро ба итмом мераÑонед, ба шумо интихоб\n"
+"намудани корвандро, ки ба воÑитаи он ба ÑиÑтема баъди\n"
+"боркунии компютер ба таври худкор дохил шудан мумкин аÑÑ‚,\n"
+"пешниҳод карда мешавад. Ðгар ин хуÑуÑиÑÑ‚ диққати шуморо ҷалб карда бошад "
+"(ва\n"
+"оиди бехатарии маҳаллӣ хавотир нашавед),\n"
+"корванд ва мудири тирезавии дилхоҳро интихоб кунед ва баъд \"%s\"-ро ангушт\n"
+"занед. Ðгар ин хуÑуÑиÑÑ‚ ба шумо лозим набошад қайди пункти\n"
+"\"%s\"-ро бекор кунед."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Шумо ин хиÑлатро иÑтифрда бурдан мехоҳед?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Дар ин ҷо бахшҳои мавҷудаи Linux, ки дар гардонандаи Ñахти шумо\n"
+"муайÑн шудаанд, номбар гардидаанд.\n"
+"Шумо метавонед тағиротҳои аз тарафи уÑтод иҷрошударо боздоред, зеро онҳо "
+"барои коргузории бештари умумӣ мувофиқат мекунад.\n"
+"Ðгар шумо Ñгон тағиротро ба амал оред, шумо боÑд ақалан бахши\n"
+"решавиро (\"/\") таъин намоед. Бахши хеле хурдро интихоб накунед, зеро боÑд "
+"шумо шумораи кофии таъминоти барномавиро коргузорӣ\n"
+"карда наметавонед. Ðгар хоҳед, ки додаҳои худро дар бахши алоҳида\n"
+"нигоҳ доред, шумо боÑд инчунин бахши \"/хона\"-ро офаред (ин танҳо\n"
+"дар ҳамон вақт имконпазир аÑÑ‚, ки агар зиёда аз Ñк бахши Linux-ро\n"
+"дошта бошед).\n"
+"Ҳар бахш дар рӯйхат чунин номнавиÑÓ£ мегардад: \"Ðом\", \"Ғунҷоиш\".\n"
+"\n"
+"\"Ðом\" таркибӣ мебошад: \"навъи гардонандаи Ñахт\", \"рақами гардонандаи "
+"Ñахт\", \"рақами бахш\" (маÑалан, \"hda1\").\n"
+"\n"
+"\"Ðавъи гардонандаи Ñахт\" ин \"hd\" аÑÑ‚, агар гардонандаи Ñахти шумо\n"
+"IDE гардонандаи Ñахт аÑÑ‚ ва \"sd\" агар он SCSI гардонандаи Ñахт бошад.\n"
+"\n"
+"\"Рақами гардонандаи Ñахт\" ин ҳама вақт ҳарфе мебошад, ки баъди\n"
+"\"hd\" Ñ‘ \"sd\" меоÑд. Барои IDE гардонандаҳои Ñахт:\n"
+"\n"
+" * \"a\" маънои \"гардонандаи Ñахти master дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"b\" маънои \"гардонандаи Ñахти slave дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"c\" маънои \"гардонандаи Ñахти master дар IDE нозири дуюмин\"-ро "
+"дорад;\n"
+"\n"
+" * \"d\" маънои \"гардонандаи Ñахти slave дар IDE нозири дуюмин\"-ро дорад.\n"
+"\n"
+"Барои гардонандаи Ñахти SCSI \"a\" маънои \"Ñкумин аз поёни SCSI ID\"-ро "
+"дорад, \"b\" маънои\"дуюмин аз поёни SCSI ID\"-ро дорад ва ғайра."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Коргузории Mageia дар CD-ROM-ҳои мухталиф тақÑим шудааÑÑ‚. Ðгар\n"
+"баÑтаи интихобшуда дар дигар CD-ROM ҷойгир бошад, DrakX диÑки фишурдаи\n"
+"ҷориро ба берун кашида аз шумо вогузории диÑки талабшударо пурÑон мешавад.\n"
+"Ðгар шумо дар даÑÑ‚ диÑки фишурдаи талабшударо надошта бошед, танҳо ба \"%s\" "
+"ангушт занед, баÑтаи мувофиқ коргузорӣ карда\n"
+"намешавад."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ðфзоиш"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Бо ҳуҷҷатҳои аÑоÑÓ£"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Коргузории аз ҳама паÑтарин"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ðгар шумо ба коргузор оиди он ки шумо мехоҳед алоҳида баÑтаҳоро\n"
+"интихоб намоед, хабар диҳед, он ба шумо дарахтеро, ки ҳамаи баÑтаҳои ба "
+"гурӯҳҳоию зергурӯҳҳо тақÑим карда шударо дарбар мегирад,\n"
+"намоиш медиҳад. Ҳангоми барраÑии дарахт шумо метавонед гурӯҳҳои\n"
+"бутун, зергурӯҳҳо Ñ‘ баÑтаҳои алоҳидаро интихоб кунед.\n"
+"\n"
+"Ҳар дафъае, ки шумо баÑтаро дар дарахт интихоб мекунед, дар тарафи\n"
+"роÑташ барои фаҳмондани мақÑади он тавÑифот пайдо мешавад.\n"
+"\n"
+"!! Ðгар баÑтаи хидматраÑонро интихоб карда бошед, хоҳ барои интихоби муайÑни "
+"баÑтаи алоҳида, хоҳ барои он ки вай Ñк қиÑми гурӯҳӣ баÑта\n"
+"аÑÑ‚, шумо боÑд таÑдиқ кунед, ки дар ҳақиқат ин хидматраÑонҳои\n"
+"коргузоришавандаро иÑтифода бурдан мехоҳед. Дар Mageia\n"
+"ҳамаи хидматраÑонҳои коргузоришуда ҳангоми оғозёбӣ ба таври худкор, бо "
+"нобаёнӣ Ñар дода мешаванд. Ҳарчанде, ки онҳо бехатаранд ва муаммоҳои\n"
+"маълумро ҳангоми даргиронидан дар тақÑимот надоранд, мумкин аÑÑ‚, ки\n"
+"дар бехатарӣ баъди барориши нуÑхаи хотимавии Mageia\n"
+"Ñӯрохиҳои муайÑн мешаванд. Ðгар шумо надонед, ки барои чӣ ин Ñ‘ он\n"
+"хидматраÑон лозим аÑÑ‚ Ñ‘ барои чӣ он коргузорӣ мегардад Ð¿Ð°Ñ Ð±Ð° \"%s\"\n"
+"ангушт занед. Бо пахшкунии \"%s\" шумо хидматраÑонҳои номбаршударо\n"
+"коргузорӣ мекунед ва онҳо ҳангоми боршавӣ ба таври худкор\n"
+"бо нобаёнӣ оғоз меёбанд. !!\n"
+"\n"
+"Интихоби \"%s\" барои хомӯш Ñохтани муколамаи огоҳӣ, ки ҳангоми\n"
+"аз тарафи коргузор интихоби худкори баÑтаҳо пайдо мешавад, иÑтифода\n"
+"бурда мешавад. Баъзе баÑтаҳо бо ҳам алоқаҳои дутарафа доранд,\n"
+"бинобар ин зарурати коргузории баъзе дигар барномаҳоро пеш меоÑд.\n"
+"Коргузор худаш муайÑн карда метавонад, ки кадом баÑтаҳо баҳри\n"
+"қонеъкунии талаботҳо барои бо муваффақиÑÑ‚ иҷрои коргузорӣ лозиманд.\n"
+"\n"
+"ТаÑвири хурдакаки диÑки нарм дар охири рӯйхат имкониÑти боркунии\n"
+"рӯйхати баÑтаҳо, ки ҳангоми коргузориҳои шешина офарида шуда будаанд, "
+"медиҳад. Ðгар шумо шумораи мошинаҳоеро дошта бошед, ки\n"
+"алоҳида танзим кардан мехоҳед, он хеле фоиданок мегардад. Баъди\n"
+"ангуштзанӣ ба ин таÑвир, аз шумо воридкунии диÑки нарм, ки дар охири\n"
+"дигар коргузории пешина офарида шуда буд, пурÑон мешавад. Ба маÑлиҳати дуюм "
+"дар қадами охирон оиди чӣ тавр офаридани чунин\n"
+"диÑки нарм нигаред."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ВобаÑтагиҳои автоматӣ"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ин муколама барои интихоби хидматраÑоне, ки ҳангоми оғозёбӣ\n"
+"бор карда мешавад, иÑтифода бурда мешавад.\n"
+"\n"
+"DrakX рӯйхати ҳамаи хидматраÑонҳое, ки дар коргузории ҷорӣ\n"
+"даÑтраÑанд, пешкаш менамоÑд. Ҳар Ñкеро дақиқона аз назар гузаронед\n"
+"ва қайди онҳоеро, ки дар вақти боршавӣ лозим неÑтанд, бекор кунед.\n"
+"\n"
+"Ҳангоми интихоб кардан матни кӯтоҳи шарҳдиҳӣ намоиш дода мешавад.\n"
+"Лекин, агар ки шумо комилан боварӣ надошта бошед, ки ин хидматраÑон\n"
+"фоиданок аÑÑ‚ Ñ‘ не, беҳтар аÑÑ‚, ки рафторро бо нобаёни гузоред.\n"
+"\n"
+"!! Дар ин марҳила хеле дақиқ бошед агар нақша дошта бошед, ки \n"
+"мошинаи худро ҳамчун хидматраÑон иÑтифода баред: Ñҳтимолан шумо\n"
+"оғозёбии хидматраÑонҳои даркориро нахоҳед. ИлтимоÑ, аз хотир набароред, ки "
+"баъзе хизматҳо, агар дар хидматраÑон даргиронида шуда\n"
+"бошанд, хавфнок мебошанд. Умуман, танҳо он хидматраÑонҳоеро интихоб кунед, "
+"ки дар ҳақиқат ба шумо лозиманд.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux вақтро дар GMT (Greenwich Mean Time) идора мекунад\n"
+"ва онро дар вақти маҳаллӣ мувофиқи минтақаи вақти интихобкардаатон\n"
+"намоиш медиҳад. Ðгар Ñоат дар Ñаҳфаи модараи шумо бо вақти маҳаллӣ\n"
+"барпо шудааÑÑ‚, шумо онро ба воÑитаи рад кардани интихоби \"%s\" ғайрифаъол "
+"Ñохта метавонед ва ин ба GNU/Linux имкониÑти дар хотир\n"
+"доштани он, ки Ñоати ÑиÑтемавӣ ва Ñоати Ñахтафзорӣ дар Ñк минтақаи\n"
+"Ñоат мебошанд, медиҳад. Он ҳангоме, ки дар мошина дигар ÑиÑтемаи омил ба "
+"монанди Windows ҷойгир шуда бошад фоиданок аÑÑ‚.\n"
+"\n"
+"ХоÑиÑти \"%s\" Ñоатро ба таври худкор таҳлил мекунад ба воÑитаи пайваÑтшавӣ "
+"ба хидматраÑони дурдаÑти вақт дар Интернет. Барои он\n"
+"ки ин хоÑиÑÑ‚ кор кунад, шумо боÑд пайваÑтшавии кориро ба Интернет\n"
+"дошта бошед. Беҳтараш хидматраÑони вақтро, ки дар назди шумо ҷойгир\n"
+"аÑÑ‚, интихоб намоед. Ин интихоб хидматраÑони вақтро ба мошинаи шумо "
+"коргузорӣ мекунад, ки аз тарафи дираг мошинаҳои шабакаи маҳаллӣ\n"
+"иÑтифода шуда метавонад."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "ҲамзамонÑозии худкори вақт"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Корти графикӣ\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ корти графикиро муқаррар ва танзим "
+"менамоÑд,\n"
+"ки он ба ÑиÑтеми шумо муаÑйн гардида бошад. Ðгар он ин тавр набошад, онгоҳ "
+"шумо\n"
+"метавонед кортро дар ÑиÑтем интихоб намоед, ки дар ҳақиқат коргузорӣ "
+"шудааÑÑ‚.\n"
+"\n"
+" Дар ҳолате ки барои корти шумо хидматраÑонҳои гуногун бо шитоби 3D Ñ‘ бе "
+"ин\n"
+"даÑÑ‚Ñ€Ð°Ñ Ð°ÑÑ‚ ба шумо пешниҳод карда мешавад, то ки шумо интихоб намоед кадом\n"
+"хидматраÑон пеш аз ҳама ба Ñҳтиёҷи шумо мувофиқат мекунад."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (барои ÑиÑтеми X Window) ин аÑоÑи интерфейÑи графикии GNU/Linux мебошад,\n"
+"ки дар он ҳамаи муҳитҳои графикӣ аÑÐ¾Ñ Ñ‘Ñ„Ñ‚Ð°Ð°ÑÑ‚ (KDE, GNOME, AfterStep,\n"
+"WindowMaker ва ғайра) ва ба ҳайати Mageia дохил аÑÑ‚.\n"
+"\n"
+"Ба шумо рӯйхати параметрҳои гуногуне ки ба тағироти гирифтани таÑвири\n"
+"беҳтарини графикӣ пешбинӣ шудааÑÑ‚, дода мешавад: Корти графикӣ\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ корти графикие ки ба мошини шумо\n"
+"коргузорӣ шудааÑÑ‚, муаÑйн ва ба танзим медарорад. Ðгар ин тавр набошад, "
+"онгоҳ шумо метавонед аз ин рӯйхат корте ки шумо дар ҳақиқат коргузорӣ "
+"намудед,\n"
+"интихоб намоед.\n"
+"\n"
+" Дар ҳолате ки хидматраÑонҳои гуногун барои корти шумо мавҷуд аÑÑ‚ Ñ‘ бо\n"
+"шитоби 3D Ñ‘ ин ки бе он, аз шумо пурÑида мешавад, ки хидматраÑонро интихоб\n"
+"намоед, ки бештар ба Ñҳтиёҷи шумо мувофиқат менамоÑд.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ монитори ба мошини шумо пайваÑÑ‚ шударо\n"
+"муаÑйн ва ба танзим медарорад. Ðгар ин нодуруÑÑ‚ бошад, онгоҳ шумо метавонед\n"
+"аз рӯйхат монитореро, ки дар ҳақиқат ба компютери шумо пайваÑÑ‚ шудааÑÑ‚, "
+"интихоб\n"
+"намоед.\n"
+"\n"
+"\n"
+"\n"
+"Иҷозат\n"
+"\n"
+" Дар ин ҷо шумо метавонед иҷозат ва баландии рангеро, ки барои Ñахтафзори "
+"шумо\n"
+"мавҷуд аÑÑ‚, интихоб намоед. Онеро интихоб намоед, ки бештар ба Ñҳтиёҷи шумо\n"
+"мувофиқат менамоÑд (шумо метавонед онро баъд аз коргузорӣ тағир диҳед)\n"
+"Ðамунаи танзимдарории интихобшуда дар монитор Ð¸Ð½ÑŠÐ¸ÐºÐ¾Ñ Ñ‘Ñ„Ñ‚Ð°Ð°ÑÑ‚.\n"
+"\n"
+"\n"
+"\n"
+"Санҷидан\n"
+"\n"
+" ÑиÑтем кӯшиш менамоÑд, то ки Ñкрани графикиро мувофиқи иҷозати қобили "
+"қабул\n"
+"кушоÑд. Ðгар шумо пайғомро дар вақти Ñанҷиш дида тавонед, онгоҳ ба \"%s\" "
+"ҷавоб\n"
+"диҳед. Дарин ҳолат DrakX ба қадами оÑнда мегузарад. Ðгар шумо пайғомро "
+"дида\n"
+" натавонед, онгоҳ ин маънои онро дорад, ки қиÑме аз ба танзимдарории ба "
+"таври\n"
+"автоматӣ муаÑйншаванда нодуруÑÑ‚ буда Ñанҷиш баъди 12 ÑÐ¾Ð½Ð¸Ñ Ð±Ð° таври "
+"автоматӣ\n"
+"ба итмом раÑида шуморо ба меню меоварад. То лаҳзаи гирифтани таÑвири "
+"дуруÑти\n"
+"графикӣ гузоришро тағир диҳед.\n"
+"\n"
+"\n"
+"\n"
+"Интихобҳо\n"
+"\n"
+" Дар ин ҷо шумо метавонед интихоб намоед оё шумо хоҳиши ба таври "
+"автоматӣ\n"
+"гузариш намудани мошини худ ба интерфейÑи графикӣ ҳангоми худборшавӣ доред\n"
+"Зоҳиран, шумо хоҳиши тафтиш намудани \"%s\"-ро доред, агар мошини шумо боÑд\n"
+"ҳамчун хидматраÑон кор кунад Ñ‘ ин ки шумо ҳангоми гирифтани таÑвири ба\n"
+"танзим даровардашуда ба муваффақиÑÑ‚ ноил нашудед."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Коргузор одатан метавонад ба таври автоматӣ мониторро муаÑйн ва ба танзим "
+"дарорад,ки\n"
+"ба мошини шумо пайваÑÑ‚ аÑÑ‚. Ðгар ин нодуруÑÑ‚ бошад, онгоҳ шумо метавонед "
+"муÑтақилона мониторро\n"
+"аз рӯйхат интихоб намоед."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ҳалнокӣ\n"
+"\n"
+" Дар ин ҷо шумо метавонед ҳал ва чуқурии ранге ки ба Ñахтафзори шумо "
+"даÑтраÑ\n"
+"аÑÑ‚, интихоб намоед. Онеро интихоб намоед, ки аз ҳама беҳтар ба Ñҳтиёҷи "
+"шумо\n"
+"мувофиқат намоÑд (баъд аз кор гузоштан шумо метавонед онро тағир диҳед).\n"
+"Ðамунаи ба танзимдарории интихобшуда дар монитор дода шудааÑÑ‚."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Дар ҳолате ки барои корти шумо хидматраÑонҳои гуногун даÑÑ‚Ñ€Ð°Ñ Ð°ÑÑ‚,\n"
+"бо шитоби 3-вазъа ва бе он, ба шумо таклиф карда мешавад, то ки интихоб "
+"намоед кадом хидматраÑон бештар ба Ñҳтиёҷи\n"
+"шумо мувофиқат мекунад."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Интихобҳо\n"
+"\n"
+" Дар ин ҷо шумо метавонед интихоб кунед: оё мехоҳед, ки мошинаи\n"
+"шумо ҳангоми боршавӣ ба таври худкор интерфейÑи графикиро даргиронад Ñ‘ не. "
+"ФаҳмоÑÑ‚, ки шумо боÑд \"%s\"-ро қайд кунед,\n"
+"агар мошинаи шумо ҳамчун хидматраÑон кор кунад Ñ‘ агар шумо\n"
+"намоишгари худро танзим карда натавониÑта бошед."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Дар ин қадам шумо боÑд дар куҷои гардонандаи Ñахт ҷойгир кардани\n"
+"ÑиÑтемаи омили Mageia-ро ҳал кунед. Ðгар гардонандаи Ñахти\n"
+"шумо холӣ бошад Ñ‘ ÑиÑтемаи омили ҳозирбуда ҳамаи фазои имконпазирро\n"
+"ишғол кунад, ба шумо лозим меоÑд, ки гардонандаи Ñахти худро\n"
+"бахшбандӣ кунед. Бахшбандикунии гардонандаи Ñахт аÑоÑан аз тақÑимоти "
+"мантиқии фазои ишғолшуда барои коргузории ÑиÑтемаи омилии \n"
+"Mageia иборат аÑÑ‚.\n"
+"\n"
+"ÐзбаÑки ҷараёни бахшбандии гардонандаи Ñахт одатан барнагарданда\n"
+"аÑÑ‚ ва ба гумшавии додаҳо оварда раÑониданаш мумкин аÑÑ‚, агар дар "
+"гардонандаи Ñахт аллакай ÑиÑтемаи омилии коргузоршуда мавҷуд бошад\n"
+"Ð¿Ð°Ñ Ð±Ð°Ñ€Ð¾Ð¸ корвандони нав ин Ñк лаҳзаи ҷиддӣ ва ҷиддӣ\n"
+"аÑÑ‚. ХурÑандона ба DrakX уÑтоди Ñоддакунандаи ин ҷараён дохил мешавад.\n"
+"Пеш аз оғози ин қадам аз идоракунанда ин оиди қиÑмат маълумот гиред.\n"
+"\n"
+"ВобаÑта ба танзими гардонандаи Ñахти шумо Ñк қатор интихобҳо имконпазиранд:\n"
+"\n"
+" * \"%s\": ин интихоб маънои бахшбандии худкори гардонанда(ҳо)и\n"
+"холиро дорад. Ðгар шумо ин хуÑуÑиÑтро интихоб кунед, Ð¿Ð°Ñ Ð´Ð°Ñ€ оÑнда ба шумо "
+"Ñавол дода намешавад.\n"
+"\n"
+" * \"%s\": уÑтод мавҷудиÑти Ñк Ñ‘ зиёда бахшҳои Linux-ро дар гардонандаи\n"
+"Ñахти шумо муайÑн кард. Ðгар шумо онҳоро иÑтифода бурдан хоҳед, ин\n"
+"хуÑуÑиÑтро интихоб кунед. Ð¡Ð¸Ð¿Ð°Ñ Ð°Ð· шумо интихоб намудани нуқтаи\n"
+"наÑбшавӣ мувофиқан барои ҳар Ñк бахшҳо талаб карда мешавад. Бо нобаёнӣ "
+"нуқтаҳои дуруÑти наÑбшавӣ интихоб мегарданд, ва шумо\n"
+"онҳоро нигоҳ дошта метавонед.\n"
+"\n"
+" * \"%s\": агар Microsoft Windows дар гардонандаи Ñахти шумо\n"
+"коргузорӣ шудааÑÑ‚ ва ҳамаи фазои имконпазирро ишғол карда бошад,\n"
+"шумо боÑд фазои холиро барои Linux офаред. Барои инро иҷро кардан\n"
+"шумо метавонед бахшҳои ва маълумоти Microsoft Windows-ро нобуд Ñозед "
+"(нигаред ба ҳалнокии ``Поккунии ҳамаи диÑк'') ва Ñ‘ андозаи қиÑмати FAT "
+"Microsoft Windows-ро тағир диҳед. Тағирдиҳии андоза\n"
+"бе гумкунии додаҳо ба амал омада метавонад, махÑуÑан агар шумо\n"
+"пешаки дефрагментатÑиÑи бахши Windows-ро гузаронида бошед ва дар\n"
+"он шаклбандии FAT иÑтифода мешавад. ÐуÑхабардории захирашавии додаҳои шумо "
+"ҷиддӣ маÑлиҳат дода мешавад.. Ðгар шумо Mandriva\n"
+"Linux ва Microsoft Windows-ро дар Ñк компютер ÑÐºÒ·Ð¾Ñ Ð¸Ñтифода\n"
+"бурдан хоҳед, иÑтифодаи ин хуÑуÑиÑтро маÑлиҳат медиҳад.\n"
+"\n"
+" Пеш аз интихоби ин хуÑуÑиÑÑ‚ шумо боÑд фаҳмед, ки андозаи\n"
+"Microsoft Windows-и шумо назар ба ҳозира хурдтар мегардад.\n"
+"Барои захиракунии додаҳо ва коргузории таъминоти барномавии\n"
+"нав шумо дар Microsoft Windows фазои холии камтар хоҳед дошт.\n"
+"\n"
+" * \"%s\": агар шумо хоҳед, ки ҳамаи додаҳоро дар ҳама қиÑматҳои\n"
+"дар гардонандаи Ñахти худ мавҷудбударо нобуд Ñозед ва ҷои онҳоро бо ÑиÑтемаи "
+"нави Mageia иваз кунед, ин хоÑиÑтро интихоб\n"
+"кунед. Эҳтиёт бошед, зеро баъди таÑдиқот шумо интихоби худро\n"
+"баргардонида наметавонед.\n"
+"\n"
+" !! Ðгар шумо ин хоÑиÑтро интихоб кунед, ҳамаи додаҳо дар гардонандаи "
+"Ñахти шумо нобуд карда мешаванд. !!\n"
+"\n"
+" * \"%s\": ин хоÑиÑÑ‚ имкониÑти поккунии ҳамаи маълумотро дар\n"
+"гардонандаи Ñахти шумо ва оғози офаридани бахшҳоро дар ҷои холӣ, медиҳад. "
+"Ҳама додаҳо дар гардонандаи Ñахти шумо гум мешаванд.\n"
+"\n"
+" !! Ðгар шумо ин хоÑиÑтро интихоб кунед, ҳама додаҳо дар гардонандаи Ñахти "
+"шумо гум мешаванд.. !!\n"
+"\n"
+" * \"%s\": агар шумо ба таври даÑткорӣ бахшбандӣ намудани гардонандаи Ñахти "
+"худро хоҳед, ин хоÑиÑтро интихоб кунед. Эҳтиёт бошед -- зеро\n"
+"ин интихоби пурқудрат ва хатарнок аÑÑ‚ ва шумо ба оÑонӣ ҳамаи\n"
+"додаҳоро аз даÑÑ‚ дода метавонед. Бинобар ин интихоби ин хоÑиÑÑ‚\n"
+"танҳо дар ҳолате, ки шумо аз ин пеш чизеро ба ин монанд иҷро карда\n"
+"бошед Ñ‘ таҷрибаи муайÑн дошта бошед, маÑлиҳат дода мешавад.\n"
+"Барои маълумоти муфаÑÑал оиди иÑтифодаи бахши барномаи пуштибонии DiskDrake "
+"ба қиÑмати ``Идоракунии Бахшҳои Шумо ''\n"
+"дар ``Раҳнамои Оғозии Корванд'' муроҷиат намоед."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Бахшбандии ҳозир бударо иÑтифода баред"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Тамоми диÑкро тоза намоед"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "ДиÑкети худкоргузориро Ñҷод кардан"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ин дафъа шумо метавонед баъзе бахшҳои GNU/Linux аллакай мавҷудбударо барои "
+"поккунии ҳамаи додаҳои дар онҳо буда, шаклбандиашро\n"
+"тағир намоед. Ðгар шумо чунин кардан хоҳед, марҳамат карда ин\n"
+"бахшҳоро интихоб намоед.\n"
+"\n"
+"Дар хотир доред, ки зарурати тағири шаклбандии ҳамаи бахшҳои\n"
+"пештар мавҷударо неÑÑ‚. Шумо боÑд бахшҳоеро, ки ÑиÑтемаи омилро\n"
+"дар бар мегаранд, тағири шакл кунед (ба монанди: \"/\", \"/usr\" ё \"/var"
+"\"),\n"
+"лекин шумо боÑд қиÑматҳоеро, ки додаҳои нигоҳмедоштаатонро\n"
+"дар бар мегаранд, шаклбандиашро тағир диҳед (одатӣ\"/home\").\n"
+"\n"
+"ИлтимоÑ, ҳангоми интихоби бахшбандӣ Ñҳтиёт бошед. Баъди\n"
+"шаклбандикунӣ, ҳамаи додаҳо дар бахшҳои интихобшуда нобуд\n"
+"мегарданд ва шумо Ñгонтои онҳоро барқарор карда наметавонед.\n"
+"\n"
+"Ðгар шумо ба шаклбандии бахшҳо тайёр бошед ба \"%s\" ангушт занед.\n"
+"\n"
+"Ðгар шумо хоҳед, ки дигар бахшҳоро барои коргузории ÑиÑтемаи\n"
+"омилии навъи Mageia интихоб кунед ба \"%s\" ангушт занед.\n"
+"\n"
+"Ðгар хоҳед бахшҳоеро, ки дар диÑк ба мавҷудиÑти қиÑмҳои бад\n"
+"тафтиш карда шаванд интихоб намоед, ба \"%s\" ангушт занед."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ҳангоми коргузории Mageia хуб мешуд, ки баъзе баÑтаи\n"
+"барномаҳо нав карда шаванд, аз рӯзи барориши ибтидоӣ. Эҳтимолан\n"
+"баъзе хатогиҳо иÑлоҳ шудаанд ва дархоÑтҳо оиди бехтарӣ ҳал шудаанд.\n"
+"Барои гирифтани фоида аз ин навÑозиҳо, ҳозир ба шумо боркунии онҳо аз "
+"Интернет пешкаш карда мешавад. \"%s\"-ро қайд кунед, агар шумо\n"
+"пайваÑтшавии кориро бо Интернет дошта бошед Ñ‘ \"%s\"-ро агар хоҳед,\n"
+"ки ин навÑозиҳоро дертар коргузорӣ кунед.\n"
+"\n"
+"Бо интихоби \"%s\" рӯйхати ҷойҳое, ки аз онҳо навÑозиро бозёбӣ карда\n"
+"метавонед, намоиш дода мешавад. ХидматраÑони наздиктаринро интихоб кунед. "
+"Баъд дарахти интихоби баÑтаи барномаҳо пайдо мешавад:\n"
+"қиÑматро аз назар гузаронед ва \"%s\"-ро барои бозёбии коргузории баÑта(ҳо)и "
+"интихобшуда, пахш кунед ва ё \"%s\"-ро барои қатъ\n"
+"кардани коргузории бозÑозӣ пахш кунед."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Дар ин марҳила DrakX ба шумо имкониÑти интихоби Ñатҳи бехатарии\n"
+"дилхоҳро барои мошина медиҳад. Чун қоида, боÑд Ñатҳи бехатарии\n"
+"баландтар бошад, агар дар мошина додаҳои бӯҳронӣ мавҷуд бошанд\n"
+"Ñ‘ мошина бевоÑита ба Интернет пайваÑÑ‚ шуда бошад. Лекин Ñатҳи бехатарии "
+"баландтар дар ҳодиÑаи умумӣ бар ивази Ñоддаи\n"
+"иÑтифодабарӣ даÑÑ‚Ñ€Ð°Ñ Ð¼ÐµÐ³Ð°Ñ€Ð´Ð°Ð´.\n"
+"\n"
+"If you do not know what to choose, stay with the default option. You will\n"
+"be able to change that security level later with tool draksec from the\n"
+"Mandriva Control Center.\n"
+"\n"
+"The \"%s\" field can inform the system of the user on this computer who\n"
+"will be responsible for security. Security messages will be sent to that\n"
+"address."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Идоракунандаи Бехатарӣ"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Дар ин пункт шумо боÑд интихоб намоед, ки кадом бахш(ҳо) барои\n"
+"коргузории ÑиÑтемавӣ Mageia-и шумо иÑтифода бурда мешаванд.\n"
+"Ðгар бахшҳои алоқаи аз коргузории пешинаи GNU/Linux Ñ‘ аз дигар\n"
+"аÑбоби бахшбандикунӣ муайÑн шуда бошад, шумо метавонед бахшҳои мавҷударо "
+"иÑтифода баред. Дар дигар ҳолат боÑд бахшҳои гардонандаи\n"
+"Ñахт муайÑн карда шаванд.\n"
+"\n"
+"Барои офаридани бахшҳо, шумо боÑд аввал гардонандаи Ñахтро интихоб\n"
+"кунед. Шумо метавонед диÑкро барои бахшбандӣ ба воÑитаи ангуштзанӣ\n"
+"ба ``hda'' барои IDE гардонандаи аввал, ``hdb'' барои дуюм, ``sda'' барои "
+"SCSI гардонандаи аввал ва ҳоказо, интихоб кунед.\n"
+"\n"
+"Барои бахшбандии гардонандаи Ñахти интихобшуда шумо метавонед ин хоÑиÑтҳоро "
+"иÑтифода баред:\n"
+"\n"
+" * \"%s\": ин хоÑиÑÑ‚ ҳамаи бахшҳоро дар гардонандаи Ñахти интихобшуда нобуд "
+"меÑозад\n"
+"\n"
+" * \"%s\": ин хоÑиÑÑ‚ имкониÑти ба таври худкор офаридани бахшҳои\n"
+"ext4 ва swap-ро дар фазои холии гардонандаи Ñахти шумо, медиҳад\n"
+"\n"
+"\"%s\": хуÑуÑиÑтҳои иловагиро даÑÑ‚Ñ€Ð°Ñ Ð¼ÐµÐºÑƒÐ½Ð°Ð´:\n"
+"\n"
+" * \"%s\": ҷадвали бахшҳоро дар диÑки нарм захира мекунад. Барои\n"
+"барқарорÑозии ҷадвали бахшҳо фоиданок аÑÑ‚, агар лозим бошад. Иҷрои\n"
+"ин қадам ҷиддан маÑлиҳат дода мешавад.\n"
+"\n"
+" * \"%s\": имкониÑти барқароркунии ҷадвали бахшҳои пештарзахирашударо\n"
+"аз диÑк медиҳад.\n"
+"\n"
+" * \"%s\": агар ҷадвали бахшҳои шумо хароб гашта бошад, шумо метавонед\n"
+"ба воÑитаи ин хоÑиÑÑ‚ барқарор кардани онро кӯшиш кунед. ИлтимоÑ, Ñҳтиёт\n"
+"бошед ва дар хотир доред, ки он на ҳама вақт кор мекунад.\n"
+"\n"
+" * \"%s\": ҳамаи тағиротҳоро бекор мекунадва ҷадвали бахшҳои ибтидоиро\n"
+"дар гардонандаи Ñахт бор мекунад.\n"
+"\n"
+" * \"%s\": ба бекор кардани қайди ин хоÑиÑÑ‚ шумо корвандонро маҷбур меÑозед, "
+"ки ба таври даÑткорӣ муҳити ҷойивазкунандао ба монанди\n"
+"диÑки нарм ва CD-ROM наÑб кунанд ва мунфаÑил намоÑнд.\n"
+"\n"
+" * \"%s\": ин Ñ…ÑиÑтро иÑтифода баред, агар хоҳед, ки уÑтодро барои "
+"бахшбандии гардонандаи Ñахти худ итифода баред. Он ба шумо тавÑиÑ\n"
+"мешавад, агар ки дар бахшбандии гардонандаи Ñахт таÑавуроти пурра\n"
+"надошта бошед\n"
+"\n"
+" * \"%s\": ин хоÑиÑтро барои бекоркунии тағиротҳои худ иÑтифода баред.\n"
+"\n"
+" * \"%s\": амалиётҳои иловагиро дар бахшҳо (навъ, интихобҳо, шаклбандӣ) "
+"имкониÑÑ‚ медиҳад ва маълумоти бештарро оиди гардонандаи Ñахти шумо медиҳад.\n"
+"\n"
+" * \"%s\": вақте, ки шумо гардонандаи Ñахти худро ба охир мераÑонед\n"
+"ин тағиротҳои шуморо дар диÑк захира мекунад.\n"
+"\n"
+"Ҳангоми муайÑнÑозии андозаи бахши шумо метавонед андозаи бахшро\n"
+"ба воÑитаи калидҳои тирчадор дар забонаки худ барпо Ñозед.\n"
+"\n"
+"Эзоҳ: шумо ба воÑитаи забонак ба интихоби ҳамаи хоÑиÑтҳ раÑида метавонед.\n"
+"Дар гирди бахшҳо ба воÑитаи [Tab] ва тирчаҳои [Боло/Поён] гардиш кунед.\n"
+"\n"
+"Вақте, ки бахш интихоб гардид, шумо метавонед:\n"
+"\n"
+" * Ctrl-c -ро барои офаридани бахши нав (вақте, ки бахши холӣ интихоб шуда "
+"бошад)\n"
+"\n"
+" * Ctrl-d-ро барои нобуд кардани бахш\n"
+"\n"
+" * Ctrl-m-ро барои барпоÑозии нуқнаи наÑбшавӣ иÑтифода баред.\n"
+"\n"
+"Барои гирифтани маълумот оиди намудҳои ÑиÑтемаи файлии даÑтраÑ\n"
+"марҳамат карда боби ext2FS-ро аз ``Раҳнамои Муроҷиат'' хонед.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "ХудваÑлкунии хориҷшавандаи муҳит"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Зомин байни уÑули мӯътадил/мутахаÑÑиÑÓ£"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Дар гардонандаи Ñахти шумо зиёда аз Ñк бахши Microsoft муайÑн гардид.\n"
+"Марҳамат карда бахшеро, ки барои коргузории ÑиÑтемаи нави омили\n"
+"Mageia андозаи онро тағир додан мехоҳед, интихоб намоед.\n"
+"\n"
+"Ҳар бахш ба таври зерин ба рӯйхат гирифта мешавад: \"ном дар Linux\",\n"
+"\"ном дар Windows\" \"Ғунҷоиш\".\n"
+"\n"
+"\"ном дар Linux\" таркибӣ мебошад: \"навъи гардонандаи Ñахт\",\n"
+"\"рақами гардонандаи Ñахт\", \"рақами бахш\" (маÑалан, \"hda1\").\n"
+"\n"
+"\"Ðавъи гардонандаи Ñахт\" ин \"hd\" агар гардонандаи Ñахти шумо IDE\n"
+"гардонандаи Ñахт бошад ва \"sd\", агар он гардонандаи Ñахти SCSI бошад.\n"
+"\n"
+"\"Рақами гардонандаи Ñахт\" ҳамеша ҳарф баъди \"hd\" Ñ‘ \"sd\" оÑнда аÑÑ‚.\n"
+"Барои IDE гардонандаи Ñахт:\n"
+"\n"
+" * \"a\" маънои \"гардонандаи Ñахти уÑтод дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"b\" гардонандаи Ñахти фармонбар дар IDE нозири ибтидоӣ\"-ро дорад;\n"
+"\n"
+" * \"c\" маънои \"гардонандаи Ñахти уÑтод дар IDE нозири дуÑмин\"-ро дорад;\n"
+"\n"
+" * \"d\" маънои \"гардонандаи Ñахти фармонбар дар IDE нозири дуÑмин\"-ро "
+"дорад.\n"
+"\n"
+"Барои SCSI гардонандаи Ñахт \"a\" маънои \"Ñкум аз поёни SCSI ID\"-ро\n"
+"дорад, \"b\" маънои \"дуюм аз поёни SCSI ID\"-ро дорад ва ғайра.\n"
+"\n"
+"\"ном дар Windows\" ин ҳарфи гардонандаи Ñахти шумо дар Windows аÑÑ‚\n"
+"(диÑки Ñ‘ бахши Ñкум \"C:\" номида мешавад)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": интихоби ҳозираи мамлакатро Ñанҷед. Ðгар дар ин мамлакат набошед, "
+"онгоҳ\n"
+" ба дагмаи \"%s\" ангушт зада дигарашро интихоб намоед.\n"
+"Ðгар мамлакати шумо дар рӯйхати аввалаи нишондода нашуда бошад, онгоҳ ба\n"
+"дагмаи \"%s\"ангушт зада рӯйхати пураро бинед."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ин қадам танҳо дар он ҳолате фаъол мегардад, ки дар мошинаи шумо\n"
+"бахши кӯҳнаи GNU/Linux пайдо гардад.\n"
+"\n"
+"DrakX боÑд донад, ки оё шумо мехоҳед, ки коргузории навро гузаронед\n"
+"Ñ‘ ÑиÑтемаи Mageia-и мавҷударо афзоиш диҳед:\n"
+"\n"
+" * \"%s\": Дар биÑёр ҳолатҳо ин вариант ба нобудшавии ÑиÑтемаи кӯҳна\n"
+"оварда мераÑонад. Ðгар хоҳед, ки бахшҳои гардонандаи Ñахти худро иваз\n"
+"кунед Ñ‘ ÑиÑтемаи файлиро тағир диҳед, шумо боÑд ин хоÑиÑтро иÑтифода\n"
+"баред. Лекин вобаÑта ба тарҳрезии гардонандаи Ñахт шумо Ñҳтимолан баъзеи\n"
+"додаҳои мавҷудаи худро аз бознавиÑÓ£ захира карда метавонанд.\n"
+"\n"
+" * \"%s\": ин Ñинфи коргузорӣ ба шумо имкониÑти авкунии баÑтаи\n"
+"барномаҳои дар ÑиÑтемаи Mageia-и коргузоришударо медиҳад.\n"
+"Ðақшаи бахшбандии ҷорӣ ва додаҳои корванд, ивазнашавандаанд.\n"
+"Бештари дигар қадамҳо низ даÑÑ‚Ñ€Ð°Ñ Ð¼ÐµÐ³Ð°Ñ€Ð´Ð°Ð½Ð´, ба монанди коргузории "
+"низоммеъёр.\n"
+"\n"
+"Интихоби хоÑиÑти ``ГуÑтариш'' дар ÑиÑтемаҳои Mageia аз нуÑхаи\n"
+"\"8.1\" Ñар карда то охирон хеле хуб хоҳад кор кард. Гузаронидани ГуÑтариш\n"
+"дар ÑиÑтемаҳои Mageia болотар аз \"8.1\" маÑлиҳат дода мешавад."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"ВобаÑта ба забони нобаёнӣ, ки дар қиÑмат интихоб кардед, DrakX ба таври\n"
+"худкор навъи танзими забонакро интихоб мекунад. Инро интихоб кунед ё \n"
+"дигар ҷобаҷогузории забонакро интихоб кунед.\n"
+"Лекин шумо забонеро, ки,\n"
+"пурра ба забони шумо мувофиқат мекунад, надошта метавонед: маÑалан, агар\n"
+"шумо шахÑи швейтÑариÑгии бо забони англиÑÓ£ гап зананда бошед, шумо забони\n"
+"швейтÑариÑгӣ дошта бошед. Рагар шумо бо забони англиÑÓ£ гап мезанед лекин "
+"дар Квебек Ñукунат доред, шумо ба ҳолате меафтед, ки забони модарии шумо\n"
+"ва забонаки мувофиқро аз рӯйхат медиҳад.\n"
+"\n"
+"Барои гирифтани рӯйхати пурраи забонакҳои пуштибоншаванда ба тугмаи\n"
+"\"%s\" ангушт занед.\n"
+"\n"
+"Ðгар шумо ҷобаҷогузории забонакро, ки ба алифбои ғайри Лотинӣ аÑоÑ\n"
+"ёфтааÑÑ‚ интихоб намоед, муколамаи оÑнда ба шумо имкониÑти интихоб\n"
+"кардани баÑтаи калидҳо барои гузриши байни ҷобаҷогузориҳои лотинӣ ва\n"
+"ғайри лотинӣ медиҳад."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Қадами аввал ин интихоби забони пиÑандида аÑÑ‚.\n"
+"\n"
+"Интихоби забони пиÑандида ба забони ÑанадÑозӣ, коргузор ва умуман\n"
+"коргузорӣ таъÑир мераÑонад. Ðввал маҳаллӣ ҷойгиршавиатонро ва паÑ\n"
+"забонеро, ки бо он гуфтугӯ мекунед, интихоб кунед.\n"
+"\n"
+"Бо ангуштзании тугмаи \"%s\" шумо метавонед дигар забонҳоро, ки бо\n"
+"иÑтгоҳи кории шумо коргузорӣ карда мешавад, интихоб кунед ва ҳамин\n"
+"тавр файлҳои ÑанадÑозии замимаҳои ÑиÑтемавиро, ки ба забон алоқаманданд,\n"
+"коргузорӣ намоед. МаÑалан агар дар ÑиÑтемаи шумо корвандони аз ИÑпаниÑ\n"
+"кор кунанд, дар дарахти азназаргузарони англиÑиро ҳамчун забон бо нобаёнӣ "
+"интихоб кунед ва ҳатто ҳамаи онҳоро бо интихоби пункти \"%s\"дар бахши "
+"Муккамалгашт коргузрӣ карда метавонед.\n"
+"\n"
+"Интихоби пуштибонии забон маънои тарҷумаҳо, ҳуруфҳо, имлоÑанҷӣ ва ғайраро "
+"барои забонҳои коргузоришударо дорад. Ба ғайр аз ин шумо\n"
+"метавонед пункти \"%s\"-ро интихоб кунед, ки ÑиÑтемаро барои иÑтифода "
+"бурдани рамзи Ñгона (UTF-8) маҷбур меÑозад.\n"
+"Лекин дар хотир доред, ки ин хуÑуÑиÑти озмоишӣ аÑÑ‚.\n"
+"Ðгар шумо дигар забенероб ки дигар рамзро талаб мекунад интихоб кунед, ба "
+"ҳар ҳол пуштибонии рамзи Ñгона коргузорӣ\n"
+"мегардад.\"%s\"\n"
+"\n"
+"Барои гузариш аз байни забонҳои мухталифи коргузоришуда дар\n"
+"ÑиÑтема шумо матавонед фармони \"/usr/sbin/localedrake\" ҳамчун \"реша\" "
+"баҳри ивази забон барои ҳамаи ÑиÑтема иÑтифода баред\n"
+"Корандозии ин фармон, ҳамчун корванди муқаррарӣ танҳо\n"
+"гузоришҳои забонро барои ин корванди муайÑн иваз мекунад."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ИÑпанӣ"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Одатан дар DrakX Ñгон муаммо оиди муайÑнкунии шумораи тугмаҳо\n"
+"дар муши шумо пайдо намешавад. Ðгар чунин нашавад, Ð¿Ð°Ñ Ð¾Ð½ муши шуморо\n"
+"ҳамчун ду тугмадор мепиндорад ва онро ба намунаÑозии тугмаи Ñеюмро\n"
+"танзим мекунад. Тугмаи Ñеюми муши дутугмадор ба воÑитаи пахшкунии\n"
+"Ñкзамонаи тугмаи роÑÑ‚ ва чапи муш, пахш хоҳад шуд. DrakX ба таври худкор\n"
+"мефаҳмад, ки оё муши шумо кадоме аз интерфейÑи PS/2, serial Ñ‘ USB-ро "
+"иÑтифода мебарад.\n"
+"\n"
+"Ðгар шумо муши 3-тугмадорро бе чарха дошта бошед шумо \"%s\"\n"
+"-ро интихоб карда метавонед.\n"
+"\n"
+"Ðгар шумо дигар мушро, ки аз интихоб кардан бо нобаёнӣ фарқ мекунад,\n"
+"Ñкрани Ñанҷишӣ намоиш дода мешавад. Тугма ва чархаҳоро барои Ñанҷидан\n"
+"дуруÑтии гузоришҳо ва дуруÑтии кори муш иÑтифода баред.\n"
+"Ðгар муш хуб кор накунад, Ñари фазо Ñ‘ \"%s\" калиди [Баргаштан]-ро пахш "
+"кунед,\n"
+"то ки Ñанҷишро бекор кунед ва ба рӯйхати интихобҳо баргардед.\n"
+"\n"
+"Мушҳои чархадор баъзе вақт худмуайÑн намегарданд. Дар ин ҳолат\n"
+"шумо боÑд муши худро аз рӯйхат интихоб намоед. Бовари ҳоÑил\n"
+"кунед, ки шумо даргоҳи пайваÑтшавии мушро дуруÑÑ‚ интихоб кардед.\n"
+"Вақте, ки муш интихоб шуд ва тугмаи \"%s\" пахш гардид, таÑвир бо\n"
+"Ñимои муш пайдо мешавад. Чархаҳои мушро гардонед, то бовари\n"
+"ҳоÑил кунед, ки он дуруÑÑ‚ кор мекунад. Вақте шумо мебинед, ки\n"
+"чархаи муш дар Ñкран ба ҳаракатҳои муши шумо ҳамзамон ҳаракат мекунад,\n"
+" кори тугмаҳо ва ҳаракати нишоннаморо, ки боÑд мувофиқи\n"
+"ҷойивазкунии муши шумо ҳаракат кунад, Ñанҷед."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "бо намунаи Ғилдиракча"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "УневерÑалӣ | Дилхоҳ PS/2 & USB муш"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Лутфан бандари дуруÑтро интихоб кунед. Барои миÑол, бандари \"COM1\" таҳти "
+"Windows дар таҳти GNU/Linux \"ttySO\" номида мешавад."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO ва grub корандозҳои худборшави GNU/Linux мебошад. Ин қадам пурра\n"
+"автоматикунонида шудааÑÑ‚. DrakX Ñоҳаи худборшавии диÑкетро таҳлил менамоÑд\n"
+"ва мувофиқи чизи дар он ҷой ёфтааш амал мекунад:\n"
+"\n"
+" * агар Ñоҳаи худборшавии Windows ёфт шавад, онгоҳ онро ба Ñоҳаи "
+"худборшавии\n"
+"grub/LILO иваз хоҳад кард. ПаÑ, шумо метавонед ҳам GNU/Linux ва ҳам ОС-и\n"
+"дигарро кор андозед.\n"
+"\n"
+" * агар Ñоҳаи худборшавии grub Ñ‘ LILO ёфт шавад, онгоҳ \"%s\" онро ба наваш "
+"иваз хоҳад\n"
+"кард.\n"
+"\n"
+"Ðгар номуайÑнӣ рӯй диҳад, онгоҳ DrakX аз шумо мепурÑад, ки дар куҷо\n"
+"корандози \"%s\" худборшавро ҷойгир намуд."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ҳоло вақте раÑидааÑÑ‚ барои интихоби ÑиÑтемаи чопкунӣ барои компютери\n"
+"шумо. Дигар СО ба шумо Ñк намудро пешкаш карда метавонад, Mageia\n"
+"бошад, ду намудро. Ҳар Ñке аз ÑиÑтемаҳо барои батанзимдарории\n"
+"муайÑни беҳтарин мебошад.\n"
+"\n"
+" * \"%s\" -- ин маънои онро дорад, ки ``чопро Ñаф наороед'' - ин интихоб,\n"
+"агар шумо бевоÑита ба чопгари худ пайваÑÑ‚ бошед ва намехлҳед, ки\n"
+"қоғаз дар чопгар дар монад ва агар шумо чопгарони шабакавӣ надошта\n"
+"бошед (\"%s\" аз ӯҳдаи фақат шабакаҳои оддӣ баромада метавонад ва хеле\n"
+"барои онҳо ÑуÑÑ‚ мебошад.) ИÑтифодаи \"pdq\" маÑлиҳат дода мешавад,\n"
+"ҳангоми гузоштани қадамҳои аввала ба GNU/Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', ин чопкуни олиҷаноб барои\n"
+"чопкунӣ дар шабакаи маҳаллии шумо, инчунин дар ниÑфи Ñайёра. Он дар\n"
+"батанзидарорӣ оддӣ ва ҳамчун хидматраÑон Ñ‘ мизоҷ дар ÑиÑтемаҳои чопии\n"
+"пештараи \"lpd \", баромада метавонад. Барои ҳамин ҳам он бо ÑиÑтемаҳои\n"
+"пештариÑтеҳÑолшуда мутобиқ мебошад. Ба ҳамаи пурқудратии он нигоҳ\n"
+"накарда батанзимдарориҳои аÑоÑии он аз \"pdq\" ҳам оддитар аÑÑ‚. Ðгар\n"
+"ба шумо намунаÑозии \"lpd\" хидматраÑон лозим бошад, азозили \"cups-lpd \"-"
+"ро\n"
+"даргиронед. \"%s\" интерфейÑи графикӣ барои чоп кардан Ñ‘ интихоби кортҳои\n"
+"принтер ва идоракунӣ бо он.\n"
+"\n"
+"Ðгар шумо интихоби худро кунед, лекин баъд маълум гардад, ки ÑиÑтемаи\n"
+"чопкунӣ ба шумо пиÑанд намеоÑд, шумо метавонед онро тағир диҳед ба воÑитаи "
+"Ñардодани PrinterDrake аз Маркази Идораи Mandriva ва пахшкунии \"%s\" "
+"тугмаи\n"
+"кордон."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Кордон"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Сараввал DrakX даÑтгоҳҳои дилхоҳи IDE-и ба компютери шумо омадаро муаÑйн\n"
+"менамоÑд. Инчунин он ÑиÑтеми шумо барои Ñк Ñ‘ кортҳои PCI SCSI зиёд барраÑÓ£\n"
+"менамоÑд. Ðгар корти SCSI ёфт шавад, онгоҳ DrakX ба таври автоматӣ ронандаи\n"
+"лозимаро коргузорӣ менамоÑд.\n"
+"\n"
+"ÐзбаÑки муаÑйнкунии Ñахтафзор на ҳама вақт боваринок аÑÑ‚, DrakX\n"
+"шоÑд бо муÑйнкунии гардонҳои Ñахт ба муваффақиÑÑ‚ ноил нагардад. Ðгар ин "
+"тавр\n"
+"бошад ба шумо лозим аÑÑ‚, то ки даÑтӣ Ñахтафзори худро нишон диҳед.\n"
+"\n"
+"Ðгар шумо Ñозгори худро даÑтӣ нишон дода бошед, онгоҳ DrakX аз шумо "
+"мепурÑад\n"
+"оё барои он хоҳиши ба танзим даровардани интихобҳоро доред.\n"
+"Шумо боÑд ба DrakX иҷозат диҳед, то ки интихобҳои барои корт махÑÑƒÑ Ð±ÑƒÐ´Ð°Ñ€Ð¾\n"
+"Ñанҷед, ки барои коргузории Ñозгор зарур аÑÑ‚. Одатан DrakX ин марҳиларо бе\n"
+"душворӣ мегузарад.\n"
+"\n"
+"Ðгар DrakX параметрҳои ба Ñахтфзор лозим буда муаÑйн карда натавонад,\n"
+"онгоҳ ба шумо лозим аÑÑ‚, то ки даÑтӣ ронандаро ба танзим дароред."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": агар дар ÑиÑтеми шумо корти овоздор муаÑйн нашуда бошад,\n"
+" онгоҳ корти мазкур дар ин ҷо нишон дода мешавад. Ðгар шумо бинед, ки корти "
+"овоздори нишондода шуда\n"
+"ба оне ки дар ÑиÑтеми шумо мувоффиқат намекунад, шумо метавонед ба дагма\n"
+"ангушт зада гардони дигарро интихоб намоед."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Ҳамчун азназаргузаронӣ DrakX ахборотеро, ки дар бораи ÑиÑтемаи шумо\n"
+"дорад, пешниҳод мекунад. ВобаÑта ба он, ки кадом Ñахтафзор коргузорӣ\n"
+"шудааÑÑ‚, шумо метавонед ҳама Ñ‘ баъзе аз ин пунктҳоро бинед. Ҳар пункт\n"
+"аз Ñлементҳои батанзимдарор иборат аÑÑ‚, ки ахбороти хурде оиди\n"
+"батанзимдарориҳои ҷорӣ дорад. Барои ивази батанзимдарориҳо ба тугмаи\n"
+"мувофиқи \"%s\" ангушт занед.\n"
+"\n"
+" * \"%s\": батанзимдарориҳои ҷории забонакро тафтиш \"%s\" кунед ва агар\n"
+"зарурат бошад, онро тағир диҳед\n"
+"\n"
+" * \"%s\": интихоби ҷории давлатро тафтиш кунед. Ðгар шумо дар дигар\n"
+"давлат бошед ба тугмаи \"%s\" ангушт зада онро интихоб кунед. Ðгар\n"
+"давлати шумо дар рӯйхати Ñкумӣ нишон дода набошад, ба тугмаи \"%s\"\n"
+"ангушт занед барои дидани рӯйхати пурра.\n"
+"\n"
+" * \"%s\": Бо нобаёнӣ DrakX минтақаи вақтеро интихоб мекунад, ки\n"
+"ба интихоби давлатии шумо аÑÐ¾Ñ Ñ‘Ñ„Ñ‚Ð°Ð°ÑÑ‚. Интихоб нодуруÑÑ‚ бошад, дар\n"
+"ин ҷо шумо метавонед ба тугмаи \"%s\" ангушт занед\n"
+"\n"
+" * \"%s\": Батанзимдарории ҷории мушро тафтиш кунед. Ðгар Ñгон чизро\n"
+"дигаргун Ñохтан лозим бошад ба тугма ангушт занед.\n"
+"\n"
+" * \"%s\": дар вақти ангуштзанӣ ба \"%s\" уÑтоди Ñозкуни чопгар\n"
+"кушода мешавад. Ðз китоби ``Роҳнамои оғозии корванд'' боби\n"
+"мувофиқро оиди чӣ тарз ба танзим даровардани чопгарро, хонед.\n"
+"ИнтерфейÑи дар он нишондода ба интерфейÑи батанзимдарорӣ монанд аÑÑ‚. \n"
+"\n"
+" * \"%s\": агар дар ÑиÑтемаи шумо корти овозӣ пайдо гардад, он нишон дода\n"
+"мешавад. Ðгар шумо бинед, ки корти овозии нишондода ба он , ки дар\n"
+"ÑиÑтемаи шумо ҳаÑÑ‚ мувофиқат намекунад, шумо метавонед тугмаро\n"
+"ангушт зада, ронандаи дигарро интихоб кунед.\n"
+"\n"
+" * \"%s\": бо нобаёнӣ DrakX интерфейÑи графикии шуморо бо ҳалнокии\n"
+"\"800x600\" Ñ‘ \"1024x768\"ба танзим дароред. Ðгар ин шуморо қонеъ\n"
+"нагардонад, ба \"%s\" ангушт занед, барои дохилкунии дигаркуниҳо ба Ñозгори "
+"интерфейÑи графикии шумо.\n"
+"\n"
+" * \"%s\": агар дар ÑиÑтемаи шумо корти ТВ пайдо гардад, он нишон дода\n"
+"мешавад. Ðгар шумо корти ТВ дошта бошеду он муайÑн нагардид, ба\"%s\"\n"
+"ангушт занед ва ба таври даÑтӣ онро ба танзим дароред.\n"
+"\n"
+" * \"%s\": агар дар ÑиÑтемаи шумо корти ISDN пайдо гардад, он нишон дода\n"
+"мешавад. Шумо метавонед ба \"%s\" ангушт занед барои тағири параметрҳои\n"
+"он.\n"
+"\n"
+" * \"%s\": агар хоҳед, ки даÑтёбӣ ба Интернет Ñ‘ шабакаи маҳаллиро танзим\n"
+"диҳед, бо ангуштзанӣ ба ин тугма, худи ҳозир онро иҷро карда метавонед.\n"
+"\n"
+" * \"%s\": ҳамчуноне, ки дар қадами пешина буд, ин пункт ба шумо\n"
+"бозмуайÑнкунии Ñатҳи бехатариро пешкаш мекунад ().\n"
+"\n"
+" * \"%s\": агар шумо мошинаи худро ба Интернет пайваÑÑ‚ кардани бошед,\n"
+"беҳтар мешуд фейрволро коргузри кунед, барои муҳофизати ÑиÑтемаи\n"
+"худ аз воридшавӣ аз берун. Ðз китоби ``Роҳнамои оғозии корванд'' боби\n"
+"мувофиқро оиди чӣ тарз ба танзим даровардани фейрвол, хонед.\n"
+"\n"
+" * \"%s\": агар хоҳед, ки танзими боркунандаи ибтидоиро тағир диҳед,\n"
+"ба ин тугма ангушт занед. Ин хоÑиÑÑ‚ барои корвандони моҳир пешбинӣ шудааÑÑ‚\n"
+"\n"
+" * \"%s\": дар ин ҷо шумо метавонед, кадом намуди хидматраÑониҳо\n"
+"дар мошинаи шумо корандозӣ карда мешаванд, идора кунед. Ðгар мошинаи шумо "
+"хидматраÑон мешуда бошад, ба шумо тафтиши ин\n"
+"батанзимдарориҳо, ҳатмиÑÑ‚."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Корти ISDN"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Корти ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ИнтерфейÑи Графикӣ"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"ДиÑки Ñахтеро, интихоб намоед, ки шумо онро барои офаридани қиÑми\n"
+"Mageia дур намудан мехоҳед. Эҳтиёт шавед, ки дар он ҳамаи\n"
+"додаҳои мавҷуд буда гум хоҳад шуд ва он барқарор намегардад!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Ба \"%s\" ангушт занед, агар шумо ҳамаи додаҳо ва қиÑмҳое ки дар ин диÑки "
+"Ñахт\n"
+"мавҷуд аÑÑ‚ хориҷ намоед. Эҳтиёт шавед, ки баъд аз пахши \"%s\" шумо додаҳо "
+"ва\n"
+"қиÑмҳое ки дар ин диÑки Ñахт мавҷуд аÑÑ‚, инчунин ҳамаи додаҳои Windows-ро "
+"Ñҳё\n"
+"карда наметавонед.\n"
+"\n"
+"Ба \"%s\"ангушт занед, то ки бе талаф додани додаҳо ва қиÑмҳои дар ин диÑки "
+"Ñахт\n"
+"мавҷуд буда ин амалиётро бекор намоед."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Ðавбатӣ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Гузашта"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": ҳангоми ангуштзанӣ ба тугмаи \"%s\" уÑтоди ба танзимдарории "
+#~ "чопгар кушода\n"
+#~ "мешавад. Боби мувофиқи ба ``Раҳнамои Ибтидоӣ' бахшидашударо барои "
+#~ "гирифтани\n"
+#~ "маълумоти иловагӣ оиди барпоÑозии чопгари нав хонед. ИнтерфейÑи дар он "
+#~ "ҷо\n"
+#~ "пешниҳод шуда ба оне ки ҳангоми иÑтифодаи коргузорӣ иÑтифода мешавад,\n"
+#~ "монанд аÑÑ‚."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ин ҳалли бӯҳронӣ оиди бехатарии ÑиÑтемаи GNU/Linux-и шумоÑÑ‚:\n"
+#~ "шумо боÑд гузарвожаи \"решавӣ\"-ро ворид кунед. \"Реша\" ин "
+#~ "идоракунандаи\n"
+#~ "ÑиÑтемавӣ ва танҳо Ó¯ ҳуқуқи ба амал баровардани навÑозиҳо, илова\n"
+#~ "кардани корвандон, тағирдиҳии батанзимдарории ÑиÑтема ва ғайраро дорад. "
+#~ "Кӯтоҳ карда гӯем \"реша\" ҳама чизро карда метавонад! Бинобар\n"
+#~ "ин шумо боÑд чунин гузарвожаеро интихоб кунед, ки фаҳмидани он душвор\n"
+#~ "гардад. Ðгар гузарвожа хеле Ñодда бошад DrakX оиди он ба шумо хабар "
+#~ "мераÑонад. Чи хеле ки мебинед, шумо умуман гузарвожаро интихоб накарда\n"
+#~ "метавонед, лекин мо ба шумо инро аз Ñабаби Ñк чиз манъ мекунем: фикр\n"
+#~ "накунед, ки агар шумо GNU/Linux-ро бор карда бошед, Ð¿Ð°Ñ Ð´Ð¸Ð³Ð°Ñ€ ÑиÑтемаҳои\n"
+#~ "омили шумо аз хатогӣ муҳофизат мешаванд. Ðз Ñабаби он, ки \"реша\" ҳамаи\n"
+#~ "маҳдудиатҳоро гузашта метавонед ва таÑодуфан ҳамаи додаҳоро дар бахшҳои\n"
+#~ "диÑк пок карда метавонад, ба воÑитаи бо Ñҳтиёт муноÑибат кардан ба "
+#~ "бахшҳои\n"
+#~ "Ð¿Ð°Ñ Ñ…ÐµÐ»Ðµ муҳим аÑÑ‚, ки шудани \"реша\" хеле душвор гардад.\n"
+#~ "\n"
+#~ "Гузарвожа боÑд ÑкҷоÑгии аломатҳои рақамӣ ва ҳарфӣ бошад ва дарозиаш\n"
+#~ "кам аз 8 аломат бошад. Ҳеҷ гоҳ гузарвожаи \"реша\"-ро Ñабт накунад. Зеро\n"
+#~ "он боÑътиборкунии ÑиÑтемаро хеле оÑон мекунад.\n"
+#~ "\n"
+#~ "Лекин гузарвожаро хеле дароз ва хеле мураккаб накунед, зеро шумо боÑд\n"
+#~ "онро ба оÑонӣ хотир доред.!\n"
+#~ "\n"
+#~ "Гузарвожаи дар Ñкран ба тавре чоп кардаи шумо намоиш дода намешавад.\n"
+#~ "Ба ғайр аз ин ба шумо лозим меоÑд, ки воридкунии гузарвожаро дубора\n"
+#~ "иҷро Ñозед, барои пешгирии Ñҳтимолан хатогӣ дар чопкунӣ. Ðгар чунин\n"
+#~ "ҳодиÑа рух диҳад, ки шумо дубора ҳангоми чопкунӣ хатогӣ кардед, Ð¿Ð°Ñ ÑˆÐ¾Ñд "
+#~ "ин гузарвожаи ``нодуруÑÑ‚''-ро ҳангоми боркунии Ñкумин иÑтифода баред.\n"
+#~ "\n"
+#~ "Ðгар хоҳед, ки даÑтёби ба ин компютер аз тарафи хидматраÑони аÑлшиноÑ\n"
+#~ "идора шавад, ба тугмаи \"%s\" ангушт занед.\n"
+#~ "\n"
+#~ "Ðгар шабакаи шумо хидматраÑонҳои аÑлшиноÑии LDAP, NIS, Ñ‘ PDC\n"
+#~ "Windows Domain-ро иÑтифода барад, навъи мувофиқи \"%s\"-ро интихоб\n"
+#~ "кунед. Ðгар надонед, ки кадоме аз онҳоро иÑтифода мебаред, идоракунандаи "
+#~ "шабакавии худро пурÑон шавед.\n"
+#~ "\n"
+#~ "Ðгар шумо оиди дархотирдории гузарвожа душворӣ кашед, шумо хоÑиÑти\n"
+#~ "\"%s\"-ро интихоб карда метавонед, агар компютери шумо ба Интернет "
+#~ "пайваÑÑ‚\n"
+#~ "набошад ва агар шумо ба ҳамаи шахÑоне, ки мошинаи шуморо иÑтифда "
+#~ "мебаранд,\n"
+#~ "боварӣ дошта бошед."
+
+#~ msgid "authentication"
+#~ msgstr "аÑлшиноÑÓ£"
diff --git a/perl-install/install/help/po/th.po b/perl-install/install/help/po/th.po
new file mode 100644
index 000000000..fc65aa12e
--- /dev/null
+++ b/perl-install/install/help/po/th.po
@@ -0,0 +1,1168 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Wachara Chinsettawong <wachara@yahoo.com>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2001-09-10 14:24GMT+7\n"
+"Last-Translator: Wachara Chinsettawong <wachara@yahoo.com>\n"
+"Language-Team: Thai <th@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "คุณต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰ aboot หรือไม่"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "อัพเà¸à¸£à¸”"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "ออà¸à¸ˆà¸²à¸à¸à¸²à¸£à¸•ิดตั้ง"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Boot Style Configuration"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "ใช้พาร์ติชั่นที่มีอยู่"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "ลบ disk ทั้งหมด"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "สร้างfloppyสำหรับà¸à¸²à¸£à¸•ิดตั้งà¹à¸šà¸šà¸­à¸­à¹‚ตเมติà¸"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "อ๊อปชั่นของเครื่องพิมพ์à¹à¸šà¸šà¸£à¸µà¹‚มท"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "สำหรับผู้ชำนาภ> ปà¸à¸•ิ"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Logitech MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "โหมดผู้เชี่ยวชาà¸"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX จะพยายามหา PCI SCSI adapter(s) ถ้า DrakX\n"
+"หาเจอ SCSI adapter à¹à¸¥à¸°à¸£à¸¹à¹‰à¸§à¹ˆà¸²à¸„วรใช้ไดร์เวอร์อะไร มันà¸à¹‡à¸ˆà¸°\n"
+"ถูà¸à¸•ิดตั้งโดยออโตเมติà¸\n"
+"\n"
+"\n"
+"ถ้าคุณมี SCSI adapter ISA adapter หรือ PCI SCSI adapter ที่ DrakX\n"
+"ไม่สามารถหาเจอ คุณจะโดนถามว่ามี SCSI adapter ในเครื่องของคุณ\n"
+"หรือไม่ ถ้าไม่มีà¸à¸£à¸¸à¸“าà¸à¸”ที่ \"ไม่\" à¹à¸•่ถ้าคุณà¸à¸”ลงที่ \"ไช่\" คุณจะต้องเลือà¸\n"
+"ชนิดของ adapter ที่คุณมีอยู่\n"
+"\n"
+"\n"
+"ถ้าคุณเป็นคนเลือภAdapter เอง DrakX จะถามว่าคุณจะป้อนข้อมูล\n"
+"Option หรือไม่ ถึงตรงนี้คุณควรจะให้ DrakX ค้นหา option ที่เหมาะสม\n"
+"ซึ่งโดยทั่วไปมันจะสามารถหาได้เองอย่างถูà¸à¸•้อง\n"
+"\n"
+"\n"
+"à¹à¸•่ถ้าไม่สำเร็จคุณจำเป็นที่จะต้องให้ข้อมูล Option เอง คุณควรหาข้อมูลเพิ่ม\n"
+"เติมได้จาà¸à¸„ู่มือ (บทที่ 3 ตอน Collective informations on your hardware ) หรือ \n"
+"จาภWeb Site ของผู้ผลิต หรือ จาภMicrosoft Windows ถ้าคุณมีติดตั้ง"
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "Internal ISDN card"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Internal ISDN card"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "ให้เป็นà¸à¸£à¸²à¸Ÿà¸Ÿà¸´à¸„เมื่อเริ่มต้น"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"เลือภharddisk ที่ต้องà¸à¸²à¸£à¸¥à¸šà¹à¸¥à¸°à¸¥à¸‡ Mageia\n"
+"ควรระวังเป็นอย่างมาà¸à¸”พราะว่าข้อมูลทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸ˆà¸°à¸–ูà¸à¸¥à¸š\n"
+"à¹à¸¥à¸°à¸ˆà¸°à¹„ม่สามารถà¸à¸¹à¹‰à¸„ืนได้"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"à¸à¸” \"OK\" ถ้าคุณต้องà¸à¸²à¸£à¸¥à¸šà¸‚้อมูลทั้งหมดบน harddisk นี้\n"
+"นี่รวมถึง partitions ทั้งหมดซึ่งรวมถึง Windows ด้วย\n"
+"\n"
+"\n"
+"à¸à¸” \"ยà¸à¹€à¸¥à¸´à¸\" เพื่อยà¸à¹€à¸ªà¸´à¸à¸à¸²à¸£à¸—ำงานนี้"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Next ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- à¸à¹ˆà¸­à¸™"
+
+#, fuzzy
+#~ msgid "authentication"
+#~ msgstr "à¸à¸²à¸£à¸•รวจสอบสิทธิ์à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™"
diff --git a/perl-install/install/help/po/tl.po b/perl-install/install/help/po/tl.po
new file mode 100644
index 000000000..f90c347f4
--- /dev/null
+++ b/perl-install/install/help/po/tl.po
@@ -0,0 +1,2179 @@
+# translation of DrakX-tl.po to Filipino
+# translation of DrakX.po to Filipino
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Arys P. Deloso <arys@deloso.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2004-09-15 13:35+0200\n"
+"Last-Translator: Arys P. Deloso <arys@deloso.org>\n"
+"Language-Team: Filipino <salinpinoy@comitus.net>\n"
+"Language: fil\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Bago magpatuloy, kailangang basahin ninyong mabuti ang mga nasasaad sa\n"
+"lisensiya. Tinutukoy nito ang kabuoang distribusyon ng Mageia. Kung\n"
+"kayo ay sumasang-ayon sa lahat ng nasasaad, i-check ang \"%s\" na box.\n"
+"Kung hindi, i-click ang \"%s\" na button para i-reboot ang inyong computer."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"Ang GNU/Linux ay isang sistema na pangmaramihang gumagamit, na nanganga-\n"
+"hulugang ang bawat gumagamit ay may kani-kaniyang pagtatangi o pagpili,.\n"
+"mga sariling file at iba pa. Maaari ninyong basahin ang ``Starter Guide'' "
+"para\n"
+"mas matutunan ang tungkol sa mga \"multi-user\" sistema. Pero hindi gaya ng\n"
+"\"root\", na siyang tagapamahala ng sistema, ang mga user na inyong idagdag\n"
+"mula sa punto na ito ay hindi pahihintulutan na baguhin ang kahit na ano "
+"maliban\n"
+"na lang sa kanilang sariling mga file at sarili nilang mga configuration, na "
+"nagbi-\n"
+"bigay proteksyon sa sistema laban sa mga hindi-sinasadyang o masamang\n"
+"hangaring pagbabago na makakaapekto sa kabuoang sistema. Nararapat na\n"
+"kayo ay lumalang ng kahit isang regular na user para sa inyong sarili -- ito "
+"ay\n"
+"account na dapat ninyong gamitin para sa pang-araw-araw na gamit. Kahit na\n"
+"napakadaling mag login bilang \"root\" para gawin kahit ano at lahat-lahat, "
+"ito\n"
+"rin ay mapanganib! Ang isang simpleng pagkakamali ay maaaring hindi na\n"
+"magpapatakbo ng inyong sistema. Kung mabigat naman ang inyong pagkaka-\n"
+"mali bilang isang regular na user, ang pinakamalalang mangyayari ay mawa-\n"
+"lan kayo ng ilang inpormasyon, pero hindi maaapektuhan ang buong sistema.\n"
+"\n"
+"Ang unang field ay hihingin ang inyong tunay na pangalan. Siyempre hindi "
+"ito\n"
+"kinakailangan -- maari ninyong ipasok kahit anong gusto ninyo. Gagamitin ng\n"
+"DrakX ang unang salita na ipinasok ninyo sa field na ito at sisipiin ito sa "
+"field\n"
+"na \"%s\", na siyang pangalan na ipapasok ng user na ito sa pag login sa\n"
+"sistema. Kung gusto ninyo, maaari ninyong pawalang-halaga ang default\n"
+"at baguhin ang pangalan ng user. Ang susunod na hakbang ay pagpasok ng\n"
+"password. Sa pananaw ng seguridad, ang password ng \"non-privileged\" \n"
+"(regular) na user ay hindi kasing-halaga ng password ng \"root\", pero "
+"hindi\n"
+"ito dahilan para pabayaan ito at gawing blangko o napakasimple: kung "
+"iisipin\n"
+"ninyo, ang mga file ninyo ang nalalagay sa panganib.\n"
+"\n"
+"Kapag i-click ninyo ang \"%s\", makapagdadagdag kayo ng iba pang mga user.\n"
+"Magdagdag ng user para sa bawat isa ninyong mga kaibigan: halimbawa, sa\n"
+"bahay, tatay o kapatid ninyo; at sa tanggapan (opisina), mga kawani nito.\n"
+"I-click ang \"%s\" kung tapos na kayong magdagdag ng mga user.\n"
+"\n"
+"Ang pagki-click sa \"%s\" na button ay pahihintulutan kayong baguhin ang\n"
+"default na \"shell\" para sa user na iyon (bash ang default).\n"
+"\n"
+"Kung natapos na kayong magdagdag ng mga user, papipiliin kayo kung sinong\n"
+"user ang ila-login kaagad sa sistema kapag nag-boot ang sistema. Kung kayo\n"
+"ay interesado sa katangiang iyon (at walang gaanong pakialam sa local na\n"
+"seguridad), piliin ang napupusuang user at \"window manager\", at "
+"pagkatapos\n"
+"ay i-click ang \"%s\". Kung kayo ay hindi interesado sa katangiang ito, "
+"tanggalin\n"
+"ang check sa \"%s\" na box."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Gusto ninyong gamitin ang katangian na ito?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Nakalista rito ang mga namamalaging partisyon ng Linux na natiktikan sa\n"
+"inyong hard disk drive. Maaari ninyong itago ang mga pili ng Wizard, dahil "
+"sila\n"
+"ay mabuti para sa karamihan ng mga karaniwang \"installation\". Kung kayo\n"
+"ay gagawa ng mga pagbabago, mag-define dapat kayo ng partisyon ng\n"
+"\"root\" (\"/\"). Huwag pumili ng napakaliit na partisyon dahil hindi kayo "
+"maka-\n"
+"pag-i-install ng sapat na software. Kung gusto ninyong itago ang inyong "
+"data\n"
+"sa hiwalay na partisyon, kailangan ninyo ring gumawa ng \"/home\" na "
+"partisyon\n"
+"(maaari lamang kung kayo ay mayroong mahigit sa isang partisyon ng Linux na "
+"available).\n"
+"\n"
+"Bawat partisyon ay nakalista na sumusunod: \"Pangalan\", \"Capacity\".\n"
+"\n"
+"\"Pangalan\" ay naka-structure na: \"uri ng hard disk drive\", \"bilang ng "
+"hard drive\",\n"
+"\"bilang ng partisyon\" (halimbawa, \"hda1\").\n"
+"\n"
+"\"Uri ng hard disk drive\" ay \"hd\" kung ang inyong hard disk drive ay "
+"isang IDE na hard disk drive\n"
+"at \"sd\" kung ito ay isang SCSI na hard disk drive.\n"
+"\n"
+"\"Bilang ng hard disk drive\" ay palaging titik pagkatapos ng \"hd\" o \"sd"
+"\". Para\n"
+"sa mga IDE na hard disk drive:\n"
+"\n"
+" * \"a\" ay nangangahulugang \"master hard disk drive sa primary IDE "
+"controller\";\n"
+"\n"
+" * \"b\" ay nangangahulugang \"slave hard disk drive sa primary IDE "
+"controller\";\n"
+"\n"
+" * \"c\" ay nangangahulugang \"master hard disk drive sa secondary IDE "
+"controller\";\n"
+"\n"
+" * \"d\" ay nangangahulugang \"slave hard disk drive sa secondary IDE "
+"controller\".\n"
+"\n"
+"Sa mga SCSI na hard disk drive, ang \"a\" ay nangangahulugang "
+"\"pinakamababang SCSI ID\",\n"
+"ang \"b\" ay nangangahulugang \"pangalawang pinakamababang SCSI ID\", atbp."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Ang installation ng Mageia ay nakahati sa ilang mga CD-ROM.\n"
+"Kung ang napiling package ay nakalagay sa ibang CD-ROM, iluluwa ng DrakX\n"
+"ang kasalukuyang CD at ipapasuksok sa inyo ang tamang CD."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Panahon na para piliin kung aling mga program ang nais ninyong i-install sa\n"
+"inyong sistema. Mayroong libo-libong mga package na available para sa\n"
+"Mageia, at upang mas madali itong pangasiwaan, ang mga package\n"
+"ay inayos sa mga pangkat ng magkakatulad na mga application.\n"
+"\n"
+"Ang mga package ay inayos sa mga pangkat na batay sa paggamit ng\n"
+"inyong makina. Inaayos ng Mageia ang mga pangkat ng mga\n"
+"package sa apat na kategoriya. Maaari ninyong paghaluhaluin at\n"
+"pagbagaybagayin ang mga application mula sa sari-saring kategoriya,\n"
+"para ang installation na ``Workstation'' ay maaari pa ring maka-install\n"
+"ng mga application mula sa kategoriya ng ``Development''.\n"
+"\n"
+" * \"%s\": kung plano ninyong gamitin ang inyong makina bilang isang\n"
+"workstation, pumili ng isa o mahigit na pangkat na nasa kategoriya ng\n"
+"workstation.\n"
+"\n"
+" * \"%s\": kung plano ninyong gamitin ang inyong makina sa paggawa\n"
+"ng program, pumili ng naaangkop na mga pangkat mula sa kategoriyang\n"
+"iyon.\n"
+"\n"
+" * \"%s\": kung ang makina ninyo ay gagamitin bilang server, piliin kung\n"
+"alin sa mga karaniwang serbisyo (\"common service\") ang nais ninyong\n"
+"i-install sa inyong makina.\n"
+"\n"
+" * \"%s\": dito ninyo pipiliin ang inyong nahihirang na \"graphical "
+"environment\".\n"
+"Dapat ay pumili ng isa kung gusto ninyong magkaroon ng \"graphical interface"
+"\".\n"
+"\n"
+"Ang paglipat ng \"mouse cursor\" sa ibabaw ng pangalan ng isang pangkat ay\n"
+"magpapakita ng maikling paliwanag tungkol sa pangkat na iyon. Kung inyong\n"
+"tatanggalin ang pagkapili sa mga pangkat habang nagsasagawa ng regular na\n"
+"installation (kasalungat ng \"upgrade\"), may dialog na magpa-pop-up na\n"
+"magmumungkahi ng iba-ibang mga option para sa isang maliitang installation:\n"
+"\n"
+" * \"%s\": ay mag-iinstall ng pinakamaliit na bilang ng mga package para "
+"lang\n"
+"maaaring magkaroon ng isang gumaganang \"graphical desktop\".\n"
+"\n"
+" * \"%s\": ay i-install ang pinakabatayang sistema at saka mga "
+"pinakabatayang\n"
+"kagamitan (o \"utilities\") at ang kanilang mga dokumentasyon. Ang "
+"installation\n"
+"na ito ay nababagay para sa pagse-setup ng isang server.\n"
+"\n"
+" * \"%s\": ay mag i-install ng ganap na kaliitang bilang ng mga package na\n"
+"kinakailangan para makakuha ng gumaganang sistema ng Linux. Sa installation\n"
+"na ito kayo ay magkakaroon lamang ng interface na command line (walang\n"
+"graphical interface). Ang kabuuang laki ng installation na ito ay mga 65\n"
+"megabytes.\n"
+"\n"
+"Maaari ninyong suriin ang \"%s\" na box, na kapakipakinabang kung kayo ay\n"
+"nakakakilala sa mga package na inihahandog o gusto ninyong magkaroon ng\n"
+"kabuuang kapangyarihan sa kung ano ang ii-install.\n"
+"\n"
+"Kung sinimulan ninyo ang installation sa \"%s\" na mode, maaari ninyong\n"
+"tanggalin ang pagkapili ng lahat ng mga pangkat para maiwasan na\n"
+"makapag-install ng kahit anong bagong package. Ito ay mapapakinabangan\n"
+"sa pagkukumpuni o pag-a-update ng namamalaging sistema."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "May basic na dokumentasyon"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Totoong maliitang install"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Kung sinabihan ninyo ang taga-install na gusto ninyong piliin ng isa-isa "
+"ang\n"
+"mga package, ito ay maghaharap ng \"tree\" na naglalaman ng mga\n"
+"package na napagbukod-bukod batay sa pangkat at pangkatan. Habang\n"
+"binabasa ang \"tree\", maaari kayong pumili ng mga buo-buong pangkat,\n"
+"pangkatan o isa-isang package.\n"
+"\n"
+"Tuwing kayo ay pipili ng package sa \"tree\", may paglalarawan na lalabas\n"
+"sa kanan para malaman ninyo ang layunin ng package.\n"
+"\n"
+"!! Kung ang isang package ng server ay napili, dahil kayo ay pumili ng\n"
+"bukod na package o kaya iyon ay bahagi ng isang pangkat ng mga package,\n"
+"kayo ay tatanungin kung gusto ninyo talagang i-install ang mga server na\n"
+"iyon. Bilang default, sisimulan kaagad ng Mageia pag-boot ang kahit\n"
+"anong na-install na mga service. Kahit na sila ay ligtas at walang kilalang "
+"mga\n"
+"issue nang mailabas ang distribusyon, maaring matuklasan na may butas sa\n"
+"seguridad pagkatapos matapos ang version ng Mageia na ito. Kung\n"
+"hindi ninyo nalalaman ang ginagawa ng isang service o bakit ito ini-"
+"install,\n"
+"i-click ang \"%s\". Ang pagki-click sa \"%s\" ay mag-i-install ng mga "
+"nakalistang\n"
+"service at sila ay sisimulan kaagad, bilang default, habang nagbo-boot. !!\n"
+"\n"
+"Ang \"%s\" na option ay ginagamit para i-disable ang dialog ng babala na\n"
+"lumalabas tuwing ang taga-install ay kaagad namimili ng package para\n"
+"maresolba ang mga issue ng pagkaka-asa-asa (\"dependency\"). Ilang mga\n"
+"package ay may pagkakaugnayan sa pagitan ng bawat isa nila na kung saan\n"
+"ang pag-i-install ng isa ay nangangailangang na ma-install din ang ilang "
+"ibang\n"
+"program. Kaya ng taga-install na pasyahan kung aling mga package ang\n"
+"kinakailangan para masiyahan ang isang pagkaka-asa-asa upang matagumpay\n"
+"na matapos ang pag-i-install.\n"
+"\n"
+"Ang maliit na icon ng \"floppy disk\" sa ilalim ng listahan ay "
+"pahihintulutan\n"
+"kayong mag-load ng listahan ng package na ginawa noong nakaraang\n"
+"pag-i-install. Ito ay kapakipakinabang kung kayo ay mayroong ilang bilang "
+"ng\n"
+"mga makina na nais ninyong i-configure na magkapareho. Kapag nag-click\n"
+"sa icon na ito, kayo ay sasabihan na magsuksok ng \"floppy disk\" na ginawa\n"
+"noong nakaraang dulo ng pag-i-install. Tingnan ang pangalawang tip ng "
+"huling\n"
+"hakbang kung paano gumawa ng gayong floppy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatic dependencies"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Itong dialog na ito ay ginagamit para piliin kung aling mga serbisyo o\n"
+"\"service\" ang nais ninyong magsimula sa oras ng pag-boot.\n"
+"\n"
+"Ang DrakX ay maglilista ng lahat ng mga service na available sa "
+"kasalukuyang\n"
+"installation. Repasohin ng mabuti at maingat bawat isa at tanggalin ang "
+"check\n"
+"ng mga hindi kinakailangan sa oras ng pag-boot.\n"
+"\n"
+"May maikling paliwanag na ipapakita tungkol sa isang service kung ito ay\n"
+"napili. Ngunit kung kayo ay hindi nakatitiyak kung ang isang service ay\n"
+"may kabuluhan o wala, mas ligtas na pabayaan ang default na ayos.\n"
+"\n"
+"!! Sa stage na ito, magpakaingat kung binabalak ninyong gamitin ang\n"
+"inyong makina bilang isang tagapagsilbi (\"server\"): malamang na hindi\n"
+"ninyo gugustuhin na simulan ang kahit na anong serbisyo (\"service\") na\n"
+"hindi ninyo kinakailangan. Pakitandaan na ilang mga serbisyo ay maaaring\n"
+"maging mapanganib kung sila ay gumagana sa isang \"server\". Sa karaniwan\n"
+"ay piliin lamang ang mga \"service\" na talagang kinakailangan ninyo.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Ginagamit ng GNU/Linux ang GMT (Greenwich Mean Time) sa pangangasiwa\n"
+"sa oras at isinasalin ito sa local na oras alinsunod sa pinili ninyong "
+"\"time zone\".\n"
+"Kung ang orasan sa inyong \"motherboard\" ay naka-set sa local na oras,\n"
+"maaari ninyong i-deactivate ito sa pamamagitan ng hindi pagpipili ng \"%s"
+"\",\n"
+"na magpapaalam sa GNU/Linux na ang orasan ng sistema at orasan ng\n"
+"hardware ay nasa parehong \"time zone\". Ito ay may kabuluhan kung ang\n"
+"makina ay naglalaman ng isa pang \"operating system\" (OS) gaya ng Windows.\n"
+"\n"
+"Ang \"%s\" na option ay automatic na papangasiwaan ang orasan sa\n"
+"pamamagitan ng pagco-connect sa isang malayong tagapagsilbi na orasan\n"
+"(\"remote time server\") na nasa Internet. Para gumana ang katangiang ito,\n"
+"mayroon dapat kayong gumaganang koneksyon sa Internet. Pinakamabuti\n"
+"na pumili ng isang tagapagsilbi na orasan na malapit sa inyo. Ang option na\n"
+"ito ay talagang mag-i-install ng tagapagsilbi na orasan na magagamit rin ng\n"
+"ibang mga makina sa inyong local network."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatic na pagsasabaysabay ng oras"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Graphic Card\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang \"graphic card\" na naka-install sa inyong makina.\n"
+"Kapag hindi ito nangyari, maaari ninyong piliin mula sa listahang ito\n"
+"ang card na talagang naka-install.\n"
+"\n"
+" Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para sa \"X Window System\") ay ang puso ng \"graphical interface\"\n"
+"ng GNU/Linux na kung saan lahat ng mga \"graphical environment\" (KDE,\n"
+"GNOME, AfterStep, WindowMaker, atbp.) na kasama sa Mageia ay\n"
+"nakaasa.\n"
+"\n"
+"Ihaharap sa inyo ang isang talaan ng iba-ibang mga parameter na babaguhin\n"
+"para makuha ang pinakamabuting (\"optimal\") graphical display: Graphic "
+"Card\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang \"graphic card\" na naka-install sa inyong makina.\n"
+"Kapag hindi ito nangyari, maaari ninyong piliin mula sa listahang ito\n"
+"ang card na talagang naka-install.\n"
+"\n"
+" Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang monitor na nakakabit sa inyong makina. Kapag hindi\n"
+"ito tama, maaari ninyong piliin mula sa listahang ito ang monitor\n"
+"na talagang nakakabit sa inyong computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Dito maaari ninyong piliin ang mga resolution at bigat ng kulay (\"color\n"
+"depth\") na available para sa inyong hardware. Pumili ng isang pinaka-\n"
+"babagay sa inyong pangangailangan (maaari ninyong baguhin iyon\n"
+"pagkatapos ng pag-i-install). Isang patikim ng piniling configuration ay\n"
+"ipapakita sa larawan ng monitor.\n"
+"\n"
+"\n"
+"\n"
+"Subukan\n"
+"\n"
+" Depende sa inyong hardware, ang \"entry\" na ito ay maaaring hindi "
+"lalabas.\n"
+"\n"
+" ang sistema ay susubukang buksan ang \"graphical screen\" sa hinangad\n"
+"na resolution. Kung nakikita ninyo ang mensahe sa panahon ng pagsubok\n"
+"at sumagot ng \"%s\", ang DrakX ay magpapatuloy sa kasunod na hakbang.\n"
+"Kung hindi ninyo makita ang mensahe, nangangahulugan ito na ilang bahagi\n"
+"ng configuration ng automatic na pagtitiktik ay mali at ang pagsubok ay\n"
+"automatic na magtatapos pagkalipas ng 12 segundo, at dadalhin kayo\n"
+"pabalik sa menu. Baguhin ang mga setting hanggang makuha ninyo ang\n"
+"tamang \"graphical display\".\n"
+"\n"
+"\n"
+"\n"
+"Mga option\n"
+"\n"
+" Dito ay makapipili kayo kung gusto ninyo na automatic na gamitin ng\n"
+"inyong makina ang \"graphical display\" pagka-boot. Halatang nais ninyong\n"
+"subukan ang \"%s\" kung ang inyong makina ay gaganap na tagapagsilbi,\n"
+"o kayo ay hindi nagtagumpay sa pag-configure ng display. "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang monitor na nakakabit sa inyong makina. Kapag hindi\n"
+"ito tama, maaari ninyong piliin mula sa listahang ito ang monitor\n"
+"na talagang nakakabit sa inyong computer."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolution\n"
+"\n"
+" Dito maaari ninyong piliin ang mga resolution at bigat ng kulay (\"color\n"
+"depth\") na available para sa inyong hardware. Pumili ng isang pinaka-\n"
+"babagay sa inyong pangangailangan (maaari ninyong baguhin iyon\n"
+"pagkatapos ng pag-i-install). Isang patikim ng piniling configuration ay\n"
+"ipapakita sa larawan ng monitor."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Mga option\n"
+"\n"
+" Dito ay makapipili kayo kung gusto ninyo na automatic na gamitin ng\n"
+"inyong makina ang \"graphical display\" pagka-boot. Halatang nais ninyong\n"
+"subukan ang \"%s\" kung ang inyong makina ay gaganap na tagapagsilbi,\n"
+"o kayo ay hindi nagtagumpay sa pag-configure ng display. "
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Sa puntong ito, kailangan ninyong magpasya kung saan ninyo nais i-install\n"
+"ang Mageia na \"operating system\" (OS) sa inyong \"hard disk drive\".\n"
+"Kung ang inyong \"hard disk drive\" ay walang laman o kung may namamalaging\n"
+"\"operating system\" na gumagamit sa lahat ng available na puwang,\n"
+"kakailanganin ninyong ipartisyon ang drive. Ang pagpapartisyon ng isang\n"
+"\"hard disk drive\" ay ginagawa sa pamamagitan ng paghahati-hati nito sa\n"
+"kaisipan (\"logical\") upang makagawa ng puwang na kinakailangan para\n"
+"ma-install ang inyong bagong sistema ng Mageia.\n"
+"\n"
+"Dahil kadalasan na hindi na mababawi ang paraan ng pagpapartisyon ng\n"
+"hard disk drive at maaaring magdulot ng pagkawala ng data kung mayroon\n"
+"nang \"operating system\" na naka-install sa drive, ang pagpapartisyon ay\n"
+"ay maaaring maging nakakatakot at nakaka-stress kung kayo ay baguhang\n"
+"user.Sa kagandahang palad, ang DrakX ay may kalakip na \"wizard\" na\n"
+"magpapadali ng paraan na ito. Bago magpatuloy sa hakbang na ito,\n"
+"basahin muna ang mga nalalabing bahagi ng section na ito at higit sa\n"
+"lahat, huwag magmadali.\n"
+"\n"
+"Depende sa confiugration ng inyong hard disk drive, mayroong ilang mga "
+"option:\n"
+"\n"
+" * \"%s\": ang option na ito ay magsasagawa ng automatic na pagpapartisyon\n"
+"ng inyong walang lamang hard disk drive. Kung gagamitin ninyon ang option na "
+"ito\n"
+"hindi na magkakaroon ng iba pang mga \"prompt\".\n"
+"\n"
+" * \"%s\": natiktikan ng wizard na mayroong isa o mahigit na namamalaging\n"
+"partisyon ng Linux sa inyong \"hard disk drive\". Kung gusto ninyong gamitin "
+"sila,\n"
+"piliin ang option na ito. Pagkatapos kayo ay papipiliin ng mga \"mount point"
+"\"\n"
+"para sa bawat isang partisyon. Ang mga pamanang \"mount point\" ay pinili\n"
+"na bilang default, at para sa karamihang bahagi isang magandang pagkukuro\n"
+"kung gagamitin sila.\n"
+"\n"
+" * \"%s\": kung ang Microsoft Windows ay naka-install sa inyong hard disk "
+"drive at\n"
+"ginagamit nito lahat ng mayroong puwang dito, kakailanganin ninyong\n"
+"gumawa ng libreng puwang para sa GNU/Linux. Para gawin ito, maaari ninyong\n"
+"tanggalin ang inyong partisyon ng Microsoft Windows at data (tingnan ang\n"
+"paglutas na ``Burahin ang buong disk'') o i-resize ang inyong partisyon ng\n"
+"Microsoft Windows na FAT o NTFS. Ang pagre-resize ay maaaring isagawa na\n"
+"walang mawawalang data, kung dati na ninyong na-defragment ang partisyon\n"
+"ng Windows. Matinding itinatagubilin na i-backup ang inyong data. Ang\n"
+"paggamit sa option na ito ay ipinapayo kung nais ninyong gamitin pareho ang\n"
+"Mageia at Microsoft Windows sa iisang computer.\n"
+"\n"
+" Bago piliin ang option na ito, pakiunawa na pagkatapos ng paraang ito,\n"
+"ang laki ng partisyon ng inyong Microsoft Windows ay magiging mas\n"
+"maliit kaysa nang kayo ay nagsimula. Magkakaroon kayo ng mas\n"
+"kaunting libreng puwang sa ilalim ng Microsoft Windows para iimbak ang\n"
+"inyong data o mag-install ng bagong software.\n"
+"\n"
+" * \"%s\": kung gusto ninyong tanggalin lahat ng data at mga partisyon\n"
+"na mayroon sa inyong hard disk drive at palitan sila ng inyong bagong "
+"sistema\n"
+"ng Mageia, piliin ang option na ito. Maging maingat, dahil hindi na\n"
+"ninyo maaaring bawiin ang inyong pili matapos ninyong patotohanan ito.\n"
+"\n"
+" !! kung pipiliin ninyo ang option na ito, lahat ng data sa inyong disk "
+"ay\n"
+"matatanggal. !!\n"
+"\n"
+" * \"%s\": buburahin nito lahat ng nasa inyong drive at mag-umpisa ng\n"
+"sariwa, pinapartisyon lahat mula sa simula. Lahat ng data sa inyong disk\n"
+"ay mawawala.\n"
+"\n"
+" !! kung pipiliin ninyo ang option na ito, lahat ng data sa inyong disk "
+"ay\n"
+"mawawala. !!\n"
+"\n"
+" * \"%s\": piliin ang option na ito kung nais ninyong mano-manong "
+"ipartisyon\n"
+"ang inyong hard disk drive. Maging maingat -- ito ay makapangyarihan ngunit\n"
+"mapanganib na pili at maaaring madali ninyong mawala ang lahat ng\n"
+"inyong data. Ito ang dahilan kung bakit ipinapayo lamang ang option na ito\n"
+"kung kayo ay nakagawa na dati ng ganito at mayroong karanasan. Para sa\n"
+"karagdagang pagtuturo kung paano gamitin ang kagamitang DiskDrake,\n"
+"sumangguni sa section ng ``Managing Your Partitions'' (Pangangasiwa ng\n"
+"inyong mga Partisyon) sa ``Starter Guide'' (Patnubay sa Nagsisimula)."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gamitin ang namamalaging partisyon"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Burahin ang buong disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nandiyan na kayo. Tapos na ang pag-i-install at maaari nang gamitin ang\n"
+"inyong sistema ng GNU/Linux. I-click lang ang \"%s\" para i-reboot ang\n"
+"sistema. Huwag kalimutang alisin ang pang-install na media (CD-ROM\n"
+"o floppy). Ang unang bagay na dapat ninyong makita pagkatapos gawin ng\n"
+"inyong computer ang mga pagsubok sa hardware ay ang bootloader na menu,\n"
+"na papipiliin kayo kung aling \"operating system\" ang sisimulan.\n"
+"\n"
+"Ang \"%s\" na button ay nagpapakita ng dalawa pang button para:\n"
+"\n"
+" * \"%s\": para gumawa ng pang-install na \"floppy disk\" na automatic na\n"
+"magsasagawa ng kabuuang pag-i-install na walang tulong ng isang\n"
+"tagpagpalakad, kamukha ng pag-i-install na kako-configure ninyo.\n"
+"\n"
+" Tandaan na mayroong dalawang magkaibang option pagkatapos i-click\n"
+"ang button:\n"
+"\n"
+" * \"%s\". Ito ay halos automatic na pag-i-install. Ang pagpapartisyon\n"
+"na hakbang lamang ang siyang paraan na mapapakialaman.\n"
+"\n"
+" * \"%s\". Talagang automatic na pag-i-install : ang kabuuang hard disk\n"
+"ay susulatan muli, lahat ng data ay mawawala.\n"
+"\n"
+" Ang katangiang ito ay magagamit kung nag-i-install ng ilang bilang ng\n"
+"mga magkakahawig na makina.\n"
+" Tingnan ang section ng \"Auto install\"\n"
+"sa aming \"web site\" para sa karagdagang inpormasyon.\n"
+"\n"
+" * \"%s\": magse-save ng talaan ng mga package na pinili sa pag-i-install\n"
+"na ito. Para gamitin ang pagpili na ito sa iba pang pag-i-install, isuksok "
+"ang\n"
+"ang floppy at simulan ang pag-i-install. Sa \"prompt\", pindutin ang [F1] "
+"key\n"
+"at i-type >> linux defcfg=\"floppy\" <<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lumikha ng auto-install na floppy"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Kailangang i-format ang kahit anong partisyon na bagong gawa para ito\n"
+"magamit (ang ibig sabihin ng pagfo-format ay paglilikha ng \"filesystem\").\n"
+"\n"
+"Sa ngayon, maaari ninyong naisin na i-format muli ang ilang mga mayroon\n"
+"nang partisyon para burahin ang nilalamang data nila. Kung nanaisin ninyong\n"
+"gawin iyon, pakipili rin ang mga partisyon na iyon.\n"
+"\n"
+"Pakitandaan na hindi kinakailangang i-format muli ang lahat ng dati nang\n"
+"mayroon ng mga partisyon. Kailangan ninyong i-format ulit ang mga\n"
+"partisyon na naglalaman ng \"operating system\" (gaya ng \"/\", \"/usr\" o\n"
+"\"/var\") pero hindi ninyo kailangang i-format muli ang mga partisyon na\n"
+"naglalaman ng data na nais ninyong itago (karaniwan ay \"/home\").\n"
+"\n"
+"Pakiingatan ang pagpipili ng mga partisyon. Pagkatapos ng pagfo-format,\n"
+"lahat ng data sa mga napiling partisyon ay buburahin at hindi na ninyo\n"
+"mababawi ito.\n"
+"\n"
+"I-click ang \"%s\" kung handa na kayong i-format ang mga partisyon.\n"
+"\n"
+"I-click ang \"%s\" kung gusto ninyong pumili ng ibang partisyon para sa\n"
+"inyong pag-i-install ng bagong Mageia na \"operating system\".\n"
+"\n"
+"I-click ang \"%s\" kung nais ninyong piliin ang mga partisyon na susuriin\n"
+"para sa mga \"bad blocks\" (mga sirang bloke) sa disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Pagdating ng panahon na kayo ay nag-i-install ng Mageia, mas\n"
+"malamang na ilang mga package ay nabago na simula nang naunang\n"
+"paglabas. Maaaring inayos ang mga sira (\"bug\"), naresolba ang mga tanong\n"
+"sa sequridad. Para pakinabangan ang mga update (pagbabago) na ito ,\n"
+"maaari na ninyo ngayong i-download ito mula sa Internet. Suriin ang \"%s\"\n"
+"kung kayo ay may gumaganang koneksyon sa Internet, o \"%s\" kung mas\n"
+"nais ninyong i-install mamaya ang mga nabagong (\"update\") package.\n"
+"\n"
+"Ang pagpipili ng \"%s\" ay magpapakita ng talaan ng mga lugar kung saan\n"
+"ninyo maaaring makuha ang mga nabagong package. Pumili kayo dapat ng\n"
+"isa na malapit sa inyo. Lalabas ang isang tree ng mga napiling package:\n"
+"repasohin ang mga pagpili, at pindutin ang \"%s\" para kunin at i-install "
+"ang mga\n"
+"napiling package, o ang \"%s\" para hindi tumuloy."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Sa puntong ito, kayo ay papipiliin ng DrakX ng level ng seguridad o\n"
+"\"security level\" na hangarin ninyo para sa makinang ito. Ang level\n"
+"ng seguridad ay dapat na mas mataas kung ang makina ay maglalaman\n"
+"ng mga napakamahalagang data, o ito ay makinang itatapat sa Internet.\n"
+"Kung mas mataas ang seguridad, mas mahirap itong gamitin.\n"
+"\n"
+"Kung hindi ninyo alam ang pipiliin, manatili sa default na option. Maaari\n"
+"ninyong baguhin ang level ng seguridad mamaya gamit ang draksec\n"
+"na kasangkapan mula sa Mandriva Control Center.\n"
+"\n"
+"Ang \"%s\" na field ay magbibigay kaalaman sa sistema kung sinong \"user\"\n"
+"o gumagamit ng computer na ito ang siyang mananagot para sa seguridad.\n"
+"Ang mga mensaheng pangseguridad ay ipadadala sa \"address\" na iyon."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tagapamala ng Seguridad"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Sa puntong ito, kailangan ninyong piliin kung aling mga partisyon ang\n"
+"gagamitin para sa pag-i-install ng sistema na Mageia. Kung ang\n"
+"mga partisyon ay nai-define na, mula sa dating pag-i-install ng GNU/Linux\n"
+"o ng ibang kasangkapang pangpartisyon, maaari ninyong gamiting ang\n"
+"mga mayroon nang partisyon. Kung hindi, dapat mag-define ng mga\n"
+"partisyon ng hard disk drive.\n"
+"\n"
+"Upang makalikha ng mga partisyon, dapat pumili muna kayo ng hard disk "
+"drive.\n"
+"Maaari ninyong piliin ang disk para sa pagpapartisyon sa pamamagitan ng\n"
+"pagki-click sa ``hda'' para sa unang IDE na drive, ``hdb'' para sa "
+"pangalawa,\n"
+"``sda'' para sa unang SCSI na drive at ganon.\n"
+"\n"
+"Para ipartisyon ang napiling hard disk drive, maaari ninyong gamitin ang "
+"mga\n"
+"option na ito:\n"
+"\n"
+" * \"%s\": ang option na ito ay magtatanggal ng lahat ng partisyon sa\n"
+"napiling hard disk drive\n"
+"\n"
+" * \"%s\": ang option na ito ay hahayaan kayo na automatic na lumikha\n"
+"ng ext4 at swap na partisyon sa libreng puwang ng inyong hard disk drive\n"
+"\n"
+"\"%s\": magbibigay daan sa karagdang mga katangian (\"feature\"):\n"
+"\n"
+" * \"%s\": ise-save ang \"partition table\" sa floppy. Magagamit para sa\n"
+"mamayang pagbawi ng \"partition table\" kung kinakailangan. Matinding\n"
+"itinatagubilin na gawin ninyo ang hakbang na ito.\n"
+"\n"
+" * \"%s\": hahayaan kayong isauli ang dati nang na-save na \"partition\n"
+"table\" mula sa floppy disk.\n"
+"\n"
+" * \"%s\": kung ang inyong partition table ay napinsala , maaari ninyong\n"
+"subukang bawiin iyon gamit ang option na ito.Maging maingat at tandaan\n"
+"na hindi iyon parating gumagana.\n"
+"\n"
+" * \"%s\": babalewalain lahat ng mga pagbabago at kukunin muli ang\n"
+"partition table na nasa hard disk drive noong una pa.\n"
+"\n"
+" * \"%s\": ang pagtatanggal ng check sa option na ito ay magpipilit sa mga\n"
+"gumagamit na mano-manong i-mount at i-unmount ang \"removable media\"\n"
+"gaya ng mga floppy at CD-ROM.\n"
+"\n"
+" * \"%s\": gamitin ang option na ito kung nais ninyong gumamit ng wizard "
+"para\n"
+"i-partisyon ang inyong hard disk drive. Ito ay nirerekomenda kung kayo ay "
+"walang\n"
+"mabuting kaalaman sa pagpapartisyon.\n"
+"\n"
+" * \"%s\": gamitin ang option na ito para bawiin ang mga pagbabago.\n"
+"\n"
+" * \"%s\": magpapahintulot ng karagdagang magagawa sa mga partisyon (uri,\n"
+", mga option, format) at magbibigay ng mas maraming inpormasyon tungkol\n"
+"sa hard disk drive.\n"
+"\n"
+" * \"%s\": kung kayo ay tapos na sa pagpapartisyon ng inyong hard disk "
+"drive, ito\n"
+"ay magse-save ng inyong mga pagbabago pabalik sa disk.\n"
+"\n"
+"Kung inaalam ang laki ng partisyon, maaari ninyong i-set ng mabuti ang laki\n"
+"ng partisyon sa pamamagitan ng paggamit ng mga Arrow key ng inyong\n"
+"keyboard.\n"
+"\n"
+"Tandaan: maaari ninyon maabot ang kahit anong option gamit ang keyboard.\n"
+"Lakbayin ang mga partisyon gamit ang [Tab] at ang mga [Up/Down] arrow.\n"
+"\n"
+"Kung may partisyon na nakapili, maaari ninyong gamitin ang:\n"
+"\n"
+" * Ctrl-c para lumikha ng bagong partisyon (kung walang laman ang partisyon "
+"na napili)\n"
+"\n"
+" * Ctrl-d para tanggalin ang partisyon\n"
+"\n"
+" * Ctrl-m para i-set kung saan ilalagay (\"mount point\")\n"
+"\n"
+"Para makakuha ng inpormasyon tungkol sa mga iba't-ibang uri ng \"filesystem"
+"\",\n"
+"pakibasa ang kabanata ng ext2FS mula sa ``Reference Manual''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ino-auto-mount ang removable media"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Lipat sa normal o bihasang mode"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mahigit sa isang partisyon ng Microsoft ang natiktikan sa inyong hard "
+"drive.\n"
+"Pakipili kung alin ang gusto ninyong i-resize para ma-install ang inyong\n"
+"bagong \"operating sytem\" na Mageia.\n"
+"\n"
+"Bawat partition ay nakalista ng ganito: \"Pangalan ng Linux\",\n"
+"\"Pangalan ng Windows\", \"Capacity\".\n"
+"\n"
+"\"Pangalan ng Linux name\" ay may istruktura na: \"uri ng hard disk drive"
+"\",\n"
+"\"bilang ng hard disk drive\",\"bilang ng partisyon\" (halimbawa, "
+"\"hda1\").\n"
+"\n"
+"\"Uri ng hard disk drive\" ay \"hd\" kung ang inyong hard dive ay isang IDE\n"
+"na hard disk drive at \"sd\" kung iyon ay isang SCSI na hard disk drive.\n"
+"\n"
+"\"Bilang ng hard disk drive\" ay palaging titik pagkatapos ng \"hd\" o \"sd"
+"\". Para\n"
+"sa mga IDE na hard disk drive:\n"
+"\n"
+" * \"a\" ay nangangahulugang \"master hard disk drive sa primary IDE "
+"controller\";\n"
+"\n"
+" * \"b\" ay nangangahulugang \"slave hard disk drive sa primary IDE "
+"controller\";\n"
+"\n"
+" * \"c\" ay nangangahulugang \"master hard disk drive sa secondary IDE "
+"controller\";\n"
+"\n"
+" * \"d\" ay nangangahulugang \"slave hard disk drive sa secondary IDE "
+"controller\".\n"
+"\n"
+"Sa mga SCSI na hard disk drive, ang \"a\" ay nangangahulugang "
+"\"pinakamababang SCSI ID\",\n"
+"ang \"b\" ay nangangahulugang \"pangalawang pinakamababang SCSI ID\", atbp.\n"
+"\n"
+"\"Pangalan ng Windows\" ay ang titik ng inyong hard disk drive sa ilalim ng "
+"Windows\n"
+"(ang unang disk o partisyon ay tinatawag na \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": i-check ang kasalukuyang pagpili ng bansa. Kung kayo ay wala sa\n"
+"bansang ito, i-click ang \"%s\" na button at pumili ng iba. Kung ang inyong\n"
+"bansa ay wala sa unang talaan na ipinakita, i-click ang \"%s\" na button\n"
+"para makuha ang buong talaan ng mga bansa."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ang hakbang na ito pagaganahin lamang kung mayroong nakitang\n"
+"partisyon ng GNU/Linux sa inyong makina.\n"
+"\n"
+"Kailangang malaman ngayon ng DrakX kung gusto ninyong magsagawa\n"
+"ng bagong install o upgrade ng namamalaging Mageia na sistema:\n"
+"\n"
+" * \"%s\": Para sa karamihang bahagi, ganap na binubura nito ang lumang\n"
+"sistema. Kung nais ninyong baguhin kung paano ang pagpartisyon sa inyong\n"
+"hard disk drive, o baguhin ang filesystem, dapat ninyong gamitin ang option "
+"na\n"
+"ito. Subalit, depende sa inyong pakana ng pagpapartisyon, maaari ninyong\n"
+"pigilang masulatan ang ilan sa inyong mga namamalaging data.\n"
+"\n"
+" * \"%s\": ang klase ng pag-i-install na ito ay pahihintulutan kayong i-"
+"update\n"
+"ang mga package na kasalukuyang naka-install sa inyong sistema ng\n"
+"Mageia. Ang inyong kasalukuyang pakana ng pagpapartisyon at\n"
+"data ng gumagamit ay hindi nabago. Karamihan ng ibang mga hakbang sa\n"
+"pagko-configure ay mayroon pa rin, katulad ng standard na pag-i-install.\n"
+"\n"
+"Ang paggamit sa ``Upgrade'' na option ay gagana ng mabuti sa mga sistema\n"
+"ng Mageia na nagpapatakbo ng version \"8.1\" o pataas. Ang\n"
+"pagsasagawa ng upgrade sa mga version bago ng Mageia \"8.1\" ay\n"
+"hindi ipinapayo."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Depende sa wika na pinili ninyo sa section, pipiliin kaagad ng DrakX ang\n"
+"isang tanging uri ng configuration ng keyboard. Suriin na ang pagpili ay\n"
+"nababagay sa inyo o pumili ng ibang keyboard layout.\n"
+"\n"
+"Maaari rin kayong magkaroon ng keyboard na hindi tumutugma sa\n"
+"inyong wika: halimbawa, kung kayo ay Swiss native na nagsasalita ng\n"
+"English, maaari kayong magkaroon ng Swiss na keyboard. O kung kayo\n"
+"ay nagsasalita ng English at kayo ay nasa Quebec, maaari ninyong makita\n"
+"ang inyong sarili sa kalagayan na hindi magkatugma ang inyong native na\n"
+"wika at naka-country-set na keyboard. Kahit aling kaso, ang pag-i-install\n"
+"na hakbang na ito ay hahayaan kayong pumili ng angkop na keyboard\n"
+"mula sa talaan.\n"
+"\n"
+"Iclick ang \"%s\" na button para harapan kayo ng kumpletong talaan ng\n"
+"mga suportadong keyboard.\n"
+"\n"
+"Kung kayo ay pipili ng keyboard layout na batay sa alfabetong hindi Latin,\n"
+"ang kasunod na dialog ay pahihintulutan kayong pumili ng \"key binding\"\n"
+"(pagkadikit sa key) na maglilipat sa keyboard sa pagitan ng Latin at ng\n"
+"hindi Latin na layout."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ang inyong pili ng hinirang na wika ay makakaapekto sa wika ng mga\n"
+"dokumentasyon, sa taga-install at, sa karaniwan, sa sistema. Piliin muna\n"
+"ang rehiyon kung nasaan kayo, at pagkatapos ang wika ninyo.\n"
+"\n"
+"Ang pagki-click sa \"%s\" na button ay hahayaan kayong pumili ng iba pang\n"
+"mga wika na ii-install sa inyong workstation, at mag-i-install ng mga file "
+"para\n"
+"sa dokumentasyon ng sistema at mga application, na angkop sa wikang\n"
+"napili. Halimbawa, kung kayo ay magho-host ng mga user o gumagamit\n"
+"mula sa Spain sa inyong makina, piliin ang English bilang default na wika "
+"sa\n"
+"\"tree view\" at \"%s\" sa \"Advanced section\".\n"
+"\n"
+"Tungkol sa suporta sa UTF-8 (unicode): Ang Unicode ay isang bagong\n"
+"\"character encoding\" na nagnanais masakop ang lahat ng namamalaging\n"
+"wika. Ang buong suporta dita ng GNU/Linux ay ginagawa pa rin. Sa dahilang\n"
+"ito, gagamitin ito o hindi ng Mageia depende sa mga pili ng mga\n"
+"gumagamit:\n"
+"\n"
+" * Kung kayo ay pipili ng wika na may malakas na \"legacy encoding"
+"\" (latin1\n"
+"na mga wika, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish,\n"
+"karamihan ng mga wikang iso-8859-2), ang \"legacy encoding\" ay\n"
+"gagamitin bilang default;\n"
+"\n"
+" * Ang iba pang mga wika ay gagamitin ang unicode bilang default;\n"
+"\n"
+" * Kung mangangailangan ng dalawa o mahigit na mga wika, at iyong mga\n"
+"wika ay hindi gumagamit ng parehong \"encoding\", unicode ang gagamitin\n"
+"ng buong sistema;\n"
+"\n"
+" * Sa wakas, ang unicode ay maaaring ipilit para sa sistema sa hiling ng\n"
+"gumagamit (\"user\") sa pamamagitan ng pagpili sa option na \"%s\"\n"
+"na hiwalay o hindi umaasa sa kung aling mga wika ang mga napili.\n"
+"\n"
+"Tandaan na kayo ay makakapili ng hindi lamang isang karagdagang wika.\n"
+"Maaari kayong pumili ng ilan o kaya i-install silang lahat sa pamamagitan "
+"ng\n"
+"pagpipili sa \"%s\" na box. Ang pagpipili ng suporta sa isang wika ay\n"
+"nangangahulugang ii-install rin ang mga pagsasalin, font, pangsuri ng "
+"spelling,\n"
+"atbp. para sa wikang iyon.\n"
+"\n"
+"Para lumipat sa mga sari-saring wika na naka-install sa inyong sistema,\n"
+"maaari ninyong i-launch ang command na \"/usr/sbin/localedrake\" bilang\n"
+"\"root\" para baguhin ang wika na gamit ng buong sistema. Kapag pinatakbo\n"
+"ang command o utos bilang isang regular na user o gumagamit, mababago\n"
+"lamang ang mga setting ng wika para sa gumagamit na iyon."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Sa pangkaraniwan, ang DrakX ay hindi magkakaproblema sa pagtitiktik\n"
+"ng dami ng button ng inyong mouse. Kung hindi, iipagpalagay nito na kayo\n"
+"ay mayroong \"two-button\" (dalawang pindutan) na mouse at ico-configure\n"
+"ito para tumulad sa mouse na may pangatlong pindutan. Ang pangatlong\n"
+"pindutan ng mouse na may dalawang pindutan lamang ay mapipindot sa\n"
+"pamamagitan ng sabay na pagpindot sa kaliwa at kanang pindutan ng mouse.\n"
+"Automatic na malalaman ng DrakX kung ang mouse ninyo ay gumagamit ng\n"
+"PS/2, serial o USB na \"interface\".\n"
+"\n"
+"Kung kayo ay mayroong mouse na may tatlong pindutan at walang \"wheel\"\n"
+"o gulong, maaari ninyong piliin ang mouse na nagsasabing \"%s\". Pagkatapos\n"
+"ay ico-configure ng DrakX ang inyong mouse para magkunwari na may gulong\n"
+"ito: para gawin ito, pindutin ang gitnang pindutan at igalaw ang inyong "
+"mouse\n"
+"na pataas at pababa.\n"
+"\n"
+"Kung sa anumang dahilan, naisin ninyong magbanggit ng ibang uri ng mouse,\n"
+"piliin ito mula sa talaan na ibinigay.\n"
+"\n"
+"Kung kayo ay pipili ng mouse maliban sa default, may \"test screen\" na "
+"lalabas\n"
+"para masubukan ninyo ang inyong mouse. Gamitin ang mga pindutan at \"wheel"
+"\"\n"
+"para patotohanan na ang mga \"setting\" ay tama at ang inyong mouse ay\n"
+"gumagana ng tama. Kung ang mouse ay hindi gumana ng mabuti, pindutin\n"
+"ang \"space bar\" o [Return] key para i-cancel ang test at bumalik sa "
+"talaan\n"
+"ng mga pagpipilian.\n"
+"\n"
+"Ang mga mouse na may \"wheel\" o gulong ay karaniwang hindi natitiktikan ng\n"
+"automatic, kung kaya kailangan ninyong piliin ang inyong mouse mula sa "
+"talaan.\n"
+"Tiyakin na piliin ang isa na nababagay sa \"port\" kung saan nakakabit ang\n"
+"inyong mouse. Matapos makapili ng mouse at pindutin ang \"%s\" na pindutan,\n"
+"may lalabas na larawang-diwa ng mouse sa screen. I-scroll ang gulong ng\n"
+"mouse para matiyak na ito ay napagana ng tama. Kapag nakita na ninyong\n"
+"gumagalaw ang gulong ng mouse sa screen habang ini-scroll ninyo ang gulong\n"
+"ng inyong mouse,subukan ninyo ang mga pindutan at suriin kung ang pointer "
+"ng\n"
+"mouse sa screen ay gumagalaw habang ginagalaw ninyo ang inyong mouse."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "may Wheel emulation"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Kahit anong PS/2 & USB mouse"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Pakipili ang tamang port. Halimbawa, ang \"COM1\" port sa Windows\n"
+"ay may pangalang \"ttyS0\" sa ilalim ng GNU/Linux."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ang LILO at GRUB ay mga bootloader ng GNU/Linux. Pangkaraniwan, ang\n"
+"stage na ito ay ganap na automatic. Susuriing mabuti ng DrakX ang\n"
+"\"boot sector\" ng disk at gagalaw ng angkop sa kung ano ang makita\n"
+"nito doon:\n"
+"\n"
+" * kung may nakitang boot sector ng Windows, ay papalitan ito ng\n"
+"GRUB/LILO na boot sector. Sa ganitong paraan ay maaari ninyong i-load\n"
+"ang GNU/Linux o ano pang ibang OS na naka-install sa inyong makina.\n"
+"\n"
+" * kung may nakitang GRUB o LILO na boot sector, papalitan ito ng bago.\n"
+"\n"
+"Kung hindi ito mapasyahan, tatanungin kayo ng DrakX kung saan ilalagay\n"
+"ang bootloader. Pangakaraniwan, ang \"%s\" ang pinakaligtas na lugar.\n"
+"Ang pagpipili sa \"%s\" ay hindi mag-i-install ng kahit anong bootloader.\n"
+"Gamitin lamang ito kung alam ninyo ang inyong ginagawa."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Panahon na upang pumili ng sistema ng pagpi-print para sa inyong computer.\n"
+"Ang ibang mga \"operating system\" (OS) ay mag-aalok lamang ng isa, pero\n"
+"ang Mageia ay nag-aalok ng dalawa. Bawat isa sa dalawang sistema\n"
+"ng pagpi-print na ito ay nababagay sa natatanging uri ng configuration.\n"
+"\n"
+" * \"%s\" -- na acronym para sa ``print, do not queue'', ang piliin kung "
+"mayroon\n"
+"kayong direktang koneksyon sa inyong printer, gusto ninyong madaling\n"
+"makakalas sa mga \"printer jam\", at wala kayong naka-network na printer.\n"
+"(\"%s\" ay makapangangasiwa lamang ng mga napakasimpleng kaso ng\n"
+"network at medyo mabagal kung gagamitin na may network). Inirerekomenda\n"
+"na gamitin ninyo ang \"pdq\" kung ito ang una ninyong karanasan sa GNU/"
+"Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', ay napakagaling na pili para "
+"sa\n"
+"pagpi-print sa inyong local na printer o sa kabilang panig ng mundo. Ito ay\n"
+"simpleng i-configure at maaaring gumanap na \"server\" o isang \"client\"\n"
+"para sa lumang \"lpd \" na sistema ng pagpi-print, samakatuwid ito ay\n"
+"magkaugma sa mga mas lumang \"operating system\" na maaaring\n"
+"mangailangan pa rin ng serbisyong pang-print. Habang makapangyarihan,\n"
+"ang basic na setup ay halos kasingdali ng sa \"pdq\". Kung kailangan "
+"ninyong\n"
+"gayahin ang \"lpd\" server, tiyakin na buksan ninyo ang \"cups-lpd \" "
+"daemon.\n"
+"\"%s\" ay naglalaman ng mga graphical front-ends para sa pagpi-print o "
+"pagpili\n"
+"ng mga option ng printer at para sa pangangasiwa ng printer.\n"
+"\n"
+"Kung kayo ay pipili na ngayon, at mamaya ay makita ninyo na hindi ninyo "
+"gusto\n"
+"ang inyong sistema ng pagpi-print maaari ninyo itong baguhin sa pamamagitan\n"
+"ng pagpapatakbo ng PrinterDrake mula sa Mandriva Control Center at\n"
+"pagki-click sa bihasa (\"expert\") na pindutan."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Bihasang Mode"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Titiktikan muna ng DrakX ang mga IDE device na mayroon sa inyong\n"
+"computer. Ito rin ay maghahanap ng isa o mahigit na mga PCI SCSI card\n"
+"sa inyong sistema. Kung may nakitang SCSI card, ii-install ng DrakX ang\n"
+"naaangkop na driver.\n"
+"\n"
+"Dahil sa hindi perpekto ang pagtiktik sa hardware, ang DrakX ay maaaring\n"
+"mabigo sa pagtitiktik sa inyong mga hard disk drive. Kung gayon, dapat "
+"ninyong\n"
+"sabihin ang inyong hardware ng mano-mano.\n"
+"\n"
+"Kung kinailangan na mano-mano ninyong sabihin ang inyong PCI SCSI adapter,\n"
+"tatanungin kayo ng DrakX kung gusto ninyong i-configure ang mga option\n"
+"para dito. Dapat hayaan ninyo ang DrakX na suriing mabuti ang hardware\n"
+"para sa mga option na specific sa card na kinakailangan para ma-initialize\n"
+"ang adapter. Kadalasan, ang DrakX ay makakalagpas sa hakbang na ito na\n"
+"walang kahit anong problema.\n"
+"\n"
+"Kung hindi nasuring mabuti ng DrakX ang mga option para automatic na\n"
+"mapasyahan kung aling mga parameter ang kinakailangan na ipasa sa inyong\n"
+"hardware, kakailanganin ninyong mano-manong i-configure ang driver."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": kung may sound card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Kung inyong mapansin na ang sound card na ipinakita ay hindi\n"
+"talaga iyong mayroon sa inyong sistema, maaari ninyong i-click ang pindutan\n"
+"at pumili ng ibang driver."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Bilang balik-tanaw, ang DrakX ay maghaharap ng kabuuang inpormasyon na\n"
+"mayroon ito tungkol sa inyong sistema. Depende sa inyong naka-install na\n"
+"hardware, maaari kayong magkaroon ng ilan o lahat ng mga sumusunod na\n"
+"entry. Bawat entry ay binubuo ng \"configuration item\" na ico-configure, "
+"na\n"
+"sinusundan ng isang maikling kabuuan ng kasulukuyang configuration.\n"
+"I-click ang katapat na \"%s\" na pindutan para baguhin iyon.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang configuration ng \"keyboard map\" at\n"
+"baguhin kung kinakailangan.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang bansang pinili. Kung wala kayo sa "
+"bansang\n"
+"ito, i-click ang \"%s\" na pindutan at pumili ng iba. Kung ang inyong bansa "
+"ay\n"
+"wala sa unang listahan na ipinakita, i-click ang \"%s\" na pindutan upang\n"
+"makakuha ng kompletong talaan ng bansa.\n"
+"\n"
+" * \"%s\": Bilang, default, malalaman ng DrakX ang inyong \"time zone\" "
+"batay\n"
+"sa bansang pinili ninyo. Maaari ninyong i-click ang \"%s\" na pindutan dito\n"
+"kung hindi ito tama.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang configuration ng mouse at i-click ang\n"
+"pindutan para baguhin ito kung kinakailangan.\n"
+"\n"
+" * \"%s\": ang pagki-click sa \"%s\" na pindutan ay magbubukas sa wizard\n"
+"na pang-configure ng printer (\"printer configuration wizard\"). "
+"Konsultahin\n"
+"ang katapat na kabanata ng ``Starter Guide'' para sa karagdagang\n"
+"inpormasyon sa kung paano mag-setup ng bagong printer. Ang interface\n"
+"na ihaharap doon ay kahawig nung ginamit sa pag-i-install.\n"
+"\n"
+" * \"%s\": kung may sound card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Kung inyong mapansin na ang sound card na ipinakita ay hindi\n"
+"talaga iyong mayroon sa inyong sistema, maaari ninyong i-click ang pindutan\n"
+"at pumili ng ibang driver.\n"
+"\n"
+" * \"%s\": bilang default, kino-configure ng DrakX ang inyong \"graphical "
+"interface\"\n"
+"sa \"800x600\" o \"1024x768\" na resolution. Kung hindi iyon babagay sa "
+"inyong,\n"
+"i-click ang \"%s\" para i-configure ulit ang inyong \"graphical interface"
+"\".\n"
+"\n"
+" * \"%s\": kung may TV card na natiktikan sa inyong sistema, ipapakita iyon\n"
+"dito. Kung mayroon kayong TV card at hindi ito natiktikan, i-click ang \"%s"
+"\"\n"
+"para subukang i-configure ito ng mano-mano.\n"
+"\n"
+" * \"%s\": kung may ISDN card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Maaari ninyong i-click ang \"%s\" para baguhin ang mga\n"
+"parameter na kasamahan ng card.\n"
+"\n"
+" * \"%s\": Kung nais ninyong i-configure ngayon ang inyong pagpasok sa \n"
+"Internet o \"local network\".\n"
+"\n"
+" * \"%s\": ang entry na ito ay hahayaan kayong i-define ulit ang level ng\n"
+"seguridad na nai-set sa nakaraang hakbang ().\n"
+"\n"
+" * \"%s\": kung plano ninyon i-connect ang inyong makina sa Internet,\n"
+"magandang kaisipan na protektahan ninyo ang inyong sarili laban sa mga\n"
+"pagpasok ng walang pahintulot sa pamamagitan ng pag-setup ng firewall.\n"
+"Konsultahin ang katapat na section ng ``Starter Guide'' para sa detalye\n"
+"tungkol sa mga setting ng firewall.\n"
+"\n"
+" * \"%s\": kung nais ninyong baguhin ang configuration ng inyong "
+"bootloader,\n"
+"i-click ang pindutan na iyon. Ito ay para sa mga bihasang gumagamit.\n"
+"\n"
+" * \"%s\": dito maaari ninyong piliing mabuti kung aling mga serbisyo o "
+"(\"service\")\n"
+"ang patatakbuhin sa inyong sistema. Kung plano niyong gamitin ang makinang\n"
+"ito bilang isang tagapagsilbi (\"server\") magandang balik-tanawin ang setup "
+"na\n"
+"ito."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN card"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN card"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graphical Interface"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Piliin ang hard disk drive na inyong gustong burahin upang ma-install ang\n"
+"inyong bagong Mageia na partisyon. Mag-ingat, lahat ng data\n"
+"sa drive na ito ay mawawala at hindi na ito mababawi!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"I-click ang \"%s\" kung gusto ninyong tangalin lahat ng data at partisyon\n"
+"na mayroon sa hard disk drive na ito. Mag-ingat, pagkatapos ma-click ang\n"
+"\"%s\", hindi na ninyo mababawi ang kahit anong data at mga partisyon\n"
+"na mayroon sa hard disk drive na ito, kasama ang kahit anong data ng "
+"Windows.\n"
+"\n"
+"I-click ang \"%s\" para hindi ituloy ang operasyon na ito na walang "
+"mawawlang\n"
+"data at mga partisyon na mayroon sa hard disk drive na ito."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Kasunod ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nakaraan"
+
+#, fuzzy
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": ang pagki-click sa \"%s\" na button ay magbubukas sa \"printer\n"
+#~ "configuration wizard\". Konsultahin ang angkop na kabanata ng ``Starter\n"
+#~ " Guide'' para sa karagdagang inpormasyon sa kung paano mag-setup ng\n"
+#~ "bagong printer. Ang iniharap na interface doon ay katulad ng ginamit "
+#~ "noong\n"
+#~ "installation."
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Ito ang pinakamahalagang punto ng desisyon para sa seguridad ng inyong\n"
+#~ "GNU/Linux na sistema: dapat ninyong ipasok ang password ng \"root\". Ang\n"
+#~ "\"root\" ay siyang tagapamahala ng sistema at siya lamang ang \"user\" o\n"
+#~ "gumagamit na may pahintulot na mag-update, magdagdag ng mga user,\n"
+#~ "baguhin ang kabuuang configuration ng sistema, atbp. Sa maikling salita,\n"
+#~ "ang \"root\" ay may kakayahang gawin ang kahit na anong bagay! Ito ang\n"
+#~ "dahilan kung bakit dapat kayong pumili ng password na mahirap mahulaan -\n"
+#~ "sasabihan kayo ng DrakX kung ang password na pinili ninyo ay masyadong\n"
+#~ "madali. Kung inyong mapapansin, hindi kayo pinipilit na magpasok ng "
+#~ "password,\n"
+#~ "pero matindi namin kayong pinapayuhan laban dito. Ang GNU/Linux na "
+#~ "sistema\n"
+#~ "ay makiling sa mga pagkakamali ng tagapagpalakad gaya ng lahat ng ibang\n"
+#~ "\"operating system\". Dahil ang \"root\" ay may kakayahang daigin ang "
+#~ "lahat\n"
+#~ "ng mga hanggahan at hindi sinasadyang burahin lahat ng data sa mga\n"
+#~ "partisyon dahil na rin sa walang ingat na pag-access sa mga partisyon,\n"
+#~ "napakaimportante na mahirap maging \"root\".\n"
+#~ "\n"
+#~ "Ang password ay dapat halo ng mga alphanumeric character at hindi iikli "
+#~ "sa 8\n"
+#~ "character ang haba. Huwag na huwag isusulat ang password ng \"root\" --\n"
+#~ "mas higit na mapapadaling madala ang sistema sa panganib.\n"
+#~ "\n"
+#~ "Isang babala -- huwag gawing napahaba o napakahirap ng password dahil\n"
+#~ "dapat ay maaalala ninyo ito!\n"
+#~ "\n"
+#~ "Ang password ay hindi ipapakita sa screen habang itina-type ninyo ito. "
+#~ "Para\n"
+#~ "mabawasan ang pagkakamali sa pag-type ng hindi nakikita kakailanganin\n"
+#~ "ninyong i-type ng dalawang beses ito. Kung naulit ninyo ang maling pag-"
+#~ "type\n"
+#~ "ng dalawang beses, itong maling password na ito ang siyang gagamitin.\n"
+#~ "\n"
+#~ "Kung nais ninyo na ang pagpasok sa computer na ito ay kontrolin ng isang\n"
+#~ "\"authentication server\", i-click ang \"%s\" na pindutan.\n"
+#~ "\n"
+#~ "Kung ang network ninyo ay gumagamit ng LDAP, NIS, o PDC \"Windows Domain\n"
+#~ "authentication service\", piliin ang naaangkop para sa \"%s\". Kung hindi "
+#~ "ninyo\n"
+#~ "alam kung alin ang gagamitin, dapat kayong magtanong sa inyong\n"
+#~ "tagapamahala ng network (\"network administrator\").\n"
+#~ "\n"
+#~ "Kung kayo ay nagkakaproblema sa pagtanda ng mga password, kung ang "
+#~ "inyong\n"
+#~ "computer ay hindi kakabit sa Internet at kayo ay lubos na nagtitiwala sa "
+#~ "lahat\n"
+#~ "ng gumagamit ng inyong computer, maaari ninyong piliin na magkaroon ng\n"
+#~ "\"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "authentication"
diff --git a/perl-install/install/help/po/tr.po b/perl-install/install/help/po/tr.po
new file mode 100644
index 000000000..2c48ade09
--- /dev/null
+++ b/perl-install/install/help/po/tr.po
@@ -0,0 +1,1821 @@
+# translation of DrakX-tr.po to Turkish
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# ############################################
+# Ömer Fadıl USTA <omer_fad@hotmail.com> , 1999-2003.
+# Tuncay YENİAY <tuncayyeniay@mynet.com>,2002.
+# Nazmi Savga <nsavga@doruk.net.tr>,2001.
+# DurmuÅŸ Celep <durmusc_tr@yahoo.com>,2002.
+# Erçin EKER <erc.caldera@gmx.net>, 2003.
+# #############################################
+# Atilla ÖNTAŞ <tarakbumba@gmail.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2013-11-28 20:15+0300\n"
+"Last-Translator: Atilla ÖNTAŞ <tarakbumba@gmail.com>\n"
+"Language-Team: Mageia Turkish Translation Team <i18n-tr@ml.mageia.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Virtaal 0.7.1\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Devam etmeden önce lisans koşullarını dikkatle okumalısınız. Lisans tüm\n"
+"Mageia dağıtımını kapsar, bu koşullarını tamamını kabul ediyorsanız,\n"
+"\"%s\" kutusunu işaretleyiniz aksi halde \"%s\" tuşuna tıklayarak\n"
+"makinenizi yeniden baÅŸlatabilirsiniz."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux, her kullanıcının kendi ayarlarına, kendi dosyalarına v.b. sahip "
+"olabileceği çok kullanıcılı bir\n"
+"sistemdir. Sistem yöneticisi olan \"kök\" aksine bu noktada eklediğiniz "
+"kullanıcılar kendi\n"
+"dosyaları ve ve kendi yapılandırmaları haricinde herhangi bir şeyi "
+"deÄŸiÅŸtirme yetkisine sahip\n"
+"olmayacaklardır ki böylece bir bütün olarak sistem istenmeyen veya zararlı "
+"değişikliklerden korunacaktır.\n"
+"Kendiniz için en azından bir normal kullanıcı oluşturmak zorundasınız -- bu, "
+"günlük olarak kullanacağınız\n"
+"hesap olacaktır. Her ne kadar her şeyi yapabilmek için \"kök\" olarak oturum "
+"açabilmeniz mümkünse de\n"
+"bu işlem çok tehlikeli olabilir! Çok basit bir hata sisteminizin bir daha "
+"iÅŸlememesine neden olabilir.\n"
+"Normal bir kullanıcı olarak ciddi bir hata yaparsanız en kötü durumda biraz "
+"veri kaybedersiniz;\n"
+"ama bu, tüm sistemi etkilemeyecektir.\n"
+"\n"
+"İlk alan gerçek adınızı sorar. Elbette, bu zorunlu değildir -- ne isterseniz "
+"onu yazabilirsiniz.\n"
+"DrakX yazdığınız ilk sözcüğü alır ve \"%s\" olarak kopyalar. Bu, kullanıcının "
+"oturum açarken\n"
+"gireceği isimdir. İsterseniz öntanımlı olan kullanıcı ismini "
+"değiştirebilirsiniz. Sonraki adım\n"
+"bir parola girmektir. Güvenlik açısından, bir tam yetkilendirilmemiş "
+"(normal) kullanıcı parolası\n"
+"\"kök\" parolası kadar önemli değildir. Ancak, bunu boş geçmek veya çok basit "
+"belirlemek için\n"
+"bir neden yoktur: sonuçta, risk altına girebilecek olan kendi "
+"dosyalarınızdır.\n"
+"\n"
+"\"%s\" üzerine tıkladığınızda, diğer kullanıcıları da ekleyebilirsiniz. "
+"Arkadaşlarınız, babanız, kardeşiniz v.b.\n"
+"her biri için bir kullanıcı ekleyin. Bitirdiğinizde \"%s\" üzerine tıklayın.\n"
+"\n"
+"\"%s\" düğmesine tıklamak o kullanıcı için öntanımlı \"kabuk\"u değiştirmenizi "
+"sağlayacaktır.\n"
+"(Öntanımılı olan bash kabuktur)\n"
+"\n"
+"Kullanıcıları eklemeyi bitirdiğinizde, bilgisayar başladığında kendiliğinden "
+"oturum açacak kullanıcı\n"
+"sorulacaktır. Bu özelliği kullanmak istiyorsanız (ve yerel güvenlik "
+"endiÅŸeniz yoksa) istediÄŸiniz\n"
+"kullanıcıyı ve pencere yöneticisini seçin. Sonra \"%s\" üzerine tıklayın. Bu "
+"özelliği kullanmak istemiyorsanız\n"
+"\"%s\" kutusundaki işareti kaldırın."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Kullanıcı adı"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "Kullanıcıyı kabul et"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu özelliği kullanmak istiyor musunuz?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Yukarıdakiler, sabit diskinizde bulunan Linux bölümleridir. Genel kullanım\n"
+"için sihirbazın sunduğu seçenekleri değiştirmeden bırakabilirsiniz.\n"
+"Seçenekleri değiştirirseniz, en azından bir kök dizini (\"/\") tanımlamak\n"
+"zorundasınız. Lütfen çok küçük bir bölüm seçmeyin, istediğiniz tüm\n"
+"uygulamaları kurabilmek için yeterli yer bulamayabilirsiniz. Verilerinizi\n"
+"ayrı bir bölümde saklamak isterseniz, ayrıca bir \"/home\" bölümü\n"
+"tanımlamanız gerekecektir. (Birden fazla Linux bölümü tanımlıysa bu işlem\n"
+"gerçekleşebilir.)\n"
+"\n"
+"\n"
+"Her bir bölüm şöyle listelenmiştir: \"İsim\", \"Kapasite\".\n"
+"\n"
+"\n"
+"\"İsim\" şöyle kodlanmıştır: \"sabit disk türü\", \"sabit disk harfi\"\n"
+"\"bölüm numarası\" (örneğin \"hda1\").\n"
+"\n"
+"\n"
+"\"Sabit disk türü\", diskiniz bir IDE sürücüsüyse \"hd\",\n"
+"bir SCSI sürücüsüyse \"sd\"'dir.\n"
+"\n"
+"\n"
+"\"Sabit disk harfi\" her zaman \"hd\" ya da \"sd\"'den sonra gelir. IDE\n"
+"sürücüleri için:\n"
+"\n"
+" * \"a\" birincil IDE denetleyicisindeki master sabit disk,\n"
+"\n"
+" * \"b\" birincil IDE denetleyicisindeki slave sabit disk,\n"
+"\n"
+" * \"c\" ikincil IDE denetleyicisindeki master sabit disk,\n"
+"\n"
+" * \"d\" ikincil IDE denetleyicisindeki slave sabit disk,\n"
+"\n"
+"\n"
+"SCSI sürücüleri için\n"
+" * \"a\" \"birincil sabit disk\",\n"
+" * \"b\" \"ikincil sabit disk\"\n"
+" * ... anlamına gelir."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia kurulum CD'leri bir kaç CD'den oluşur. DrakX seçilen paketin\n"
+"hangi CD'de olduğunu bilir ve o CD'yi yerleştirmeniz için CD yuvasını açar\n"
+"ve size gerekli CD'yi yerleştirmeniz için uyarır."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Bundan sonra sisteminize hangi uygulamaları kuracağınızı belirteceksiniz.\n"
+"Mageia sisteminde kullanılabilecek binlerce paket vardır ve onları "
+"hep aklınızda tutamazsınız.\n"
+"\n"
+"CD'den kurulum yapıyorsanız önce elinizde hangi CD'lerin bulunduğunu\n"
+"belirmelisiniz (sadece uzman kipinde). CD isimlerine bakarak ilgili\n"
+"kutucukları işaretleyin.\n"
+"Bitirdiğinizde \"Tamam\" seçerek kuruluma devam ediniz.\n"
+"\n"
+"Paketler kullanım amaçlarına göre gruplanmış ve bu gruplar dört bölümde\n"
+"toplanmıştır: \n"
+" * \"İş istasyonu\": makinasını bir iş istasyonu olarak ya da evde "
+"kullanmayı\n"
+" tasarlayanlar için.\n"
+"\n"
+" * \"Geliştirme\": makinanızı program geliştirme amacıyla kullanmak\n"
+" istiyenler için.\n"
+"\n"
+" * \"Sunucu\": makinanızı bir sunucu olarak kullanmayı "
+"tasarlıyorsanız\n"
+" çok kullanılan hizmetlerden hangilerini sunacağınızı\n"
+" bu paketlerden seçerek belirleyebilirsiniz.\n"
+"\n"
+" * \"Grafik Ortam\": burada tercih ettiğiniz grafik ortamı seçeceksiniz.\n"
+" Bir grafik ortamlı iş istasyonu için en az bir grafik\n"
+" ortam belirlemelisiniz.\n"
+"\n"
+"Farenizi bir grup isminin üzerine götürdüğünüzde grup hakkında kısa bir\n"
+"açıklama göreceksiniz. Güncelleme değilde sıfırdan kurulum yapıyorsanız ve\n"
+"tüm grupların kurulmamasını seçmişseniz, en az yer kaplayan bir kurulum\n"
+"için size bazı seçenekler sunulacaktır:\n"
+"\n"
+" * \"X olsun\": En az paket kurulumuyla çalışan bir masaüstü kurar.\n"
+"\n"
+" * \"Temel bilgiler\": Linux sisteminizi çalıştırabilmek için sadece\n"
+" konsol için gereken en az sayıda belge kurulacaktır.\n"
+" Bu paketler 65Mb yer kaplar.\n"
+"\n"
+"Sistem üzerinde tam denetim sağlayabilen eski Linux kullanıcıları\n"
+"\"Tek tek paket seçimi\" kutucuğunu işaretleyerek kurulacak paketleri\n"
+"kendileri seçebilirler.\n"
+"\n"
+"\"Güncelleme\" kipinde kurulum başlattıysanız ve hiç bir yeni paketin\n"
+"kurulmamasını istiyorsanız tüm grupları seçilmemiş duruma getirebilirsiniz.\n"
+"Bu işlem mevcut sisteminizin onarımı için elverişlidir."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Güncelle"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Temel belgelerle birlikte"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "En ufak kurulum"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Son olarak, tek tek paket seçimini etkinleştirdiyseniz, paketleri gruplar\n"
+"ve alt gruplar şeklinde sıralanmış bir ağaçtan seçebilirsiniz. Ağacı\n"
+"tarayarak grup, alt grup ya da tek tek paket seçimleri yapabilirsiniz.\n"
+"\n"
+"Bir paketi seçtiğinizde sağ tarafta paket hakkında kısa bir açıklama "
+"görünür.\n"
+"Paket seçimini bitirdiğinizde \"Kur\" düğmesi ile kurulum işlemini\n"
+"başlatabilirsiniz. Kurulum için gereken süre donanım hızınıza ve seçtiğiniz\n"
+"paket sayısına bağlıdır. Kurulumun tahmini bitme süresi bir gösterge ile\n"
+"gösterilecektir. Bu arada koltuğunuza yaslanıp çayınızı ya da kahvenizi\n"
+"yudumlayabilirsiniz.\n"
+"\n"
+"<ÖNEMLİ> İster bilerek ister belli bir grubun parçası olarak, sunucu\n"
+"bölümünden seçtiğiniz hizmetleri gerçekten kullanıp kullanmak istemediğiniz\n"
+"ayrıca sorulacaktır. Mageia başlatıldığında kurulu olan hizmetlerin\n"
+"herbiri öntanımlı olarak başlatılır. Onlar Mageia dağıtıma girerken\n"
+"kılavuzlarından güvenli oldukları anlaşılarak seçilmiş bile olsalar,\n"
+"dağıtımdan sonra bir takım güvenlik açıkları keşfedilmiş olabilir.\n"
+"Bir hizmetin ne sunduğu hakkında bir fikriniz yoksa ya da neden kurmak\n"
+"gerektiğini bilmiyorsanız \"Hayır\", listelenen hizmetlerin kurulmasını\n"
+"ve otomatik olarak başlatılmasını istiyorsanız \"Evet\" düğmesine\n"
+"tıklayınız. </ÖNEMLİ>\n"
+"\n"
+"Kurulum programının bağımlı paketleri kendiliğinden saptayıp kurması ve\n"
+"uyarı diyaloğunun görünmemesi için basitçe \"Otomatik Bağımlılıklar\"\n"
+"seçeneğini etkinleştirebilirsiniz. Kurulumun başarıyla tamamlanması ve\n"
+"kurulan paketlerin sorunsuz çalışabilmesi için bu paketlerin bağımlı\n"
+"olduğu paketlerin de kurulması gerekir.\n"
+"\n"
+"Listenin altındaki küçük disket simgesi önceki kurulumda seçilen paketlerin\n"
+"kurulmasını sağlar. Bu simgeye tıkladığınızda önceki kurulumun sonunda\n"
+"oluşturulan bir disketin sürücüye takılması istenecektir. Bu disketin nasıl\n"
+"oluşturulacağını öğrenmek için kurulumun son adımının ikinci ipucuna bakınız."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Otomatik bağımlılıklar"
+
+#: ../help.pm:185
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Şimdi, açılış sırasında otomatik olarak başlamasını istediğiniz hizmetleri\n"
+"seçebilirsiniz.\n"
+"\n"
+"Burada şu an ki kurulum sırasında kullanabileceğiniz tüm hizmetler\n"
+"listelenmiştir. Her birini dikkatle okuyun ve açılış sırasında başlamasını\n"
+"istemediğiniz hizmetleri seçilmemiş duruma getirin.\n"
+"\n"
+"Bir hizmet seçildiğinde o hizmetin ne sunduğunu belirten kısa bir açıklama\n"
+"verilecektir. Bir hizmetin ne sunduğu hakkında bir fikriniz\n"
+"yoksa ayarına dokunmadan olduğu gibi bırakmak en güvenli yöntemdir.\n"
+"\n"
+"Eğer makinanızı bir sunucu olarak kullanacaksanız bu adımda *dikkatli*\n"
+"olmalısınız:\n"
+"!!\n"
+"Muhtemelen kullanmak istemediğiniz hiçbir hizmeti başlatmak istemezsiniz.\n"
+"Bir sunucuda açık duruma getirilen hizmetlerin her birinin aslında bir\n"
+"güvenlik açığı olabileceğini lütfen unutmayınız.\n"
+"Genel olarak, sadece ihtiyacınız olan hizmetleri seçmeye dikkat ediniz.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux zamanı GMT'ye (Greenwich Zamanı) göre saat farkını baz alarak\n"
+"ayarlar. Donanım saati ile sistem saati arsında fark olmamasını "
+"istiyorsanız,\n"
+"\"Donanım saatini GMT'ye göre ayarla\" seçeneğini seçilmemiş "
+"bırakabilirsiniz.\n"
+"Bu makinanızda Windows gibi başka bir işletim sistemini de kullanıyorsanız\n"
+"faydalıdır.\n"
+"\n"
+"Sistem saatinizin Internet'teki bir zaman sunucusundan otomatik olarak\n"
+"ayarlanmasını isterseniz \"Otomatik saat ayarı\" seçeneğini "
+"etkinleÅŸtiriniz.\n"
+"Listeden size en yakın sunucuyu seçebilirsiniz. Şüphesiz bu özelliği\n"
+"kullanabilmeniz için internet bağlantınızın olması gereklidir. Bu özellik\n"
+"ayrıca yerel ağınızdaki makinaların zamanlarını sizin makinanızdan\n"
+"ayarlamalarını sağlayacak bir zaman sunucusunu da kuracaktır."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Donanım saati GMT olarak ayarla"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Otomatik zaman senkronizyasyonu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitör\n"
+"\n"
+" Normalde kurulum aracı makinenize bağlı olan monitörü kendiliğinden "
+"algılar ve yapılandırır.\n"
+"Doğru ayarlama yapılmamışsa, bilgisayarınıza bağlı olan monitörü bu listeden "
+"seçebilirsiniz."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Çözünürlük\n"
+"\n"
+" Burada ekran kartınız için uygun olan çözünürlükleri ve renk "
+"derinliklerini seçebilirsiniz. İhtiyacınıza\n"
+"en uygun olanını seçin (kurulum sonrasında değişiklik yapabilirsiniz). "
+"Seçilen yapılandırma\n"
+"örneği monitör resminde görüntülenir."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Ekran kartınız için farklı sunucuların mümkün olduğu durumlarda, 3B "
+"hızlandırma etkin veya devredışı,\n"
+"ihtiyaçlarınıza en uygun sunucuyu seçmeniz istenir."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Seçenekler\n"
+"\n"
+" Bu adımlar önyüklemede makinenizin grafiksel arayüze kendiliğinden "
+"geçmesini isteyip istemediğinizi\n"
+"seçmenizi sağlar. Elbette, makineniz bir sunucu olarak çalışacaksa veya "
+"görüntü almayı başaramadıysanız\n"
+"\"%s\" seçeneğini işaretleyebilirsiniz."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Bu noktada, Mageia işletim sisteminizi sabit diskinizde nereye kuracağınızı "
+"seçmeniz\n"
+"gerekiyor. Diskiniz boşsa, ya da halihazırda bir işletim sistemi diskin "
+"tamamını kullanıyorsa\n"
+"diski bölümlendirmeniz gerekmektedir. Temel olarak, bir diski "
+"bölümlendirmek, Mageia sistemini\n"
+"kurabilmek için onu mantıksal olarak bölmek ve böylece boş alan oluşturmak "
+"anlamına\n"
+"gelir.\n"
+"\n"
+"Bölümlendirme işlemi genellikle geri alınamaz ve zaten kurulu bir işletim "
+"sisteminiz var ise bilgi kaybına yol\n"
+"açabilir. Bu işlem, eğer tecrübesizseniz, korkutucu ve stresli bir iş "
+"olabilir. Şansınıza, DrakX bu işlemi\n"
+"oldukça kolaylaştıran bir sihirbaz sunmaktadır.Başlamadan önce lütfen "
+"aşağıdaki okumak için zaman ayrın.\n"
+"\n"
+"Sabit disk yapınıza bağlı olarak, birkaç seçenek mevcuttur: \n"
+"\n"
+" * \"%s\": Bu seçenek boş sabit disk(ler)iniz üzerinde otomatik bölümlendirme "
+"gerçekleştirir. Bu seçeneği\n"
+"seçerseniz konu hakkında soru sorulmayacaktır.\n"
+"\n"
+" * \"%s\": Sihirbaz sabit diskiniz üstünde bir ya da daha fazla Linux bölümü "
+"buldu. Bunları kullanmak istiyorsanız\n"
+"bu seçeneği kullanın. Sonraki adımda bu bölümler ile ilişkili bağlama "
+"noktaları seçmeniz istenecektir.\n"
+"Bağlama noktaları öntanımlı olarak seçilir ve genellikle olduğu gibi "
+"bırakmak en iyisidir.\n"
+"\n"
+" * \"%s\": Sisteminizde Microsoft Windows kurulu ve tüm disk alanını "
+"kullanıyorsa GNU/Linux 'un\n"
+"kullanabilmesi için yer açmanız gerekecektir. Bunun için, Microsoft Window "
+"disk bölümünü ve bilgilerini\n"
+"tümüyle silebilir (``Tüm Diski Sil''e bakın) ya da Microsoft Windows FAT "
+"veya NTFS bölümünüzü yeniden\n"
+"boyutlandırabilirsiniz. Bu işlem sırasında eğer Windows bölümünüzü "
+"birleÅŸtirmiÅŸseniz herhangi bir veri\n"
+"kaybı yaşamazsınız. Verilerinizi yedeklemeniz şiddetle önerilir. Aynı "
+"bilgisayarda hem Mageia hem de\n"
+"Windows kullanmak istiyorsanız bu seçeneği seçmeniz önerilir.\n"
+"\n"
+" Bu seçeneği seçmeden önce unutmayın ki işlem tamamlandığında Microsoft "
+"Windows\n"
+"disk bölümünüz küçülmüş olacak. Yeni yazılımları yüklemek ya da kişisel "
+"verilerinizi saklamak için\n"
+"Microsoft Windows altında daha az boş alanınız olacaktır.\n"
+"\n"
+" * \"%s\": Sabit diskinizde bulunan tüm bilgileri silmek ve yeni bir Mageia "
+"kurulumu yapmak için\n"
+"bu seçeneği seçin. Lütfen bu seçeneği kullanırken dikkatli olun, çünkü "
+"onayladıktan sonra geri alma\n"
+"şansınız bulunmuyor.\n"
+"\n"
+" !! Eğer bu seçeneği seçerseniz sabit diskinizdeki tüm bilgi silinecektir. "
+"!!\n"
+"\n"
+" * \"%s\": Bu seçenek tüm sabit disk alanı Microsoft Windows tarafından "
+"alınmışsa görüntülenir.\n"
+"Bu seçeneği seçmek basitçe disk üzerindeki herşeyi silecek ve en baştan yeni "
+"bir bölümlendirme\n"
+"oluşturacaktır.\n"
+"\n"
+" !! Eğer bu seçeneği seçerseniz sabit diskinizdeki tüm bilgi silinecektir. "
+"!!\n"
+"\n"
+"* \"%s\": Sabit diskinizi kendiniz bölümlendirmek istiyorsanız bu seçeneği "
+"seçin.\n"
+"Dikkati olun -- oldukça güçlü bir seçenektir ama veri kaybetmek oldukça "
+"kolaydır.\n"
+"Bu seçenek sadece daha önce buna benzer bir işlem yapmışsanız ve biraz da "
+"olsa\n"
+"deneyiminiz var ise önerilmektedir. DiskDrake aracının kullanımı hakkında "
+"daha\n"
+"detaylı bilgiyi ``Başlangıç Kılavuzu'' içindeki ``Disk Bölümlerini Yönetme'' "
+"başlığı\n"
+"altında bulabilirsiniz."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Geçerli bölümlendirmeyi kullan"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Microsoft Windows® bölümündeki boş alan kullanılsın"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Tüm disk silinsin"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Buraya kadar geldiyseniz kurulum tamamlanmış ve GNU/Linux sisteminizi\n"
+"kullanmaya hazırsınız demektir. \"TAMAM\" düğmesine tıkladığınızda sisteminiz\n"
+"yeniden başlatılacaktır. Hem Windows hem de GNU/Linux kullanımını "
+"seçtiyseniz\n"
+"makinanızın her açılışında bu sistemlerden biri için tercihinizi\n"
+"kullanabileceksiniz.\n"
+"\n"
+"\"Gelişmiş\" düğmesine (Uzman kipinde görünür) tıkladığınızda size iki\n"
+"seçenek sunulacaktır:\n"
+"\n"
+" * \"Otomatik kurulum disketi oluşturulsun\": yaptığınız kuruluma benzer bir\n"
+" kurulumu herhangi bir yardım gerekmeksizin otomatik olarak "
+"yapılabilmesini\n"
+" saÄŸlayacak bir kurulum disketi oluÅŸturabilirsiniz.\n"
+"\n"
+" Bu seçeneği kullanmaya karar verdiğinizde size iki seçenek sunulacaktır:\n"
+"\n"
+" * \"Etkileşimli\": bu sadece disk bölümlemesinin etkileşimli olduğu yarı\n"
+" otomatik kurulumdur.\n"
+"\n"
+" * \"Otomatik\": sabit diskin tamamen silinip yeniden yazılması\n"
+" ile kurulumu tamamen otomatik olarak gerçekleştirebilirsiniz.\n"
+"\n"
+" Bu seçenek aynı sistemi çok sayıda makinaya kurmak için çok\n"
+" kullanışlıdır. Web sitemizde ki \"Auto install\" bölümünde daha\n"
+" ayrıntılı bilgi edinebilirsiniz.\n"
+"\n"
+" * \"Paket seçim listesini kaydet\"(*): kurulum sırasında seçtiğiniz\n"
+" paketlerin listesi kaydedilir. Bir başka kurulum sırasında disketi\n"
+" sürücüye yerleştirdikten sonra [F1] tuşuna bastıktan sonra\n"
+" »linux defcfg=\"floppy\"« yazarak kurulumu yardım ekranına kadar ilerletin\n"
+"\n"
+" (*) Bu seçenek için FAT biçemli bir diskete ihtiyacınız olacak. Bu "
+"disketi\n"
+" GNU/Linux altında \"mformat a:\" komutu ile oluşturabilirsiniz."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Otomatik-kurulum disketi oluÅŸtur"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Yeni tanımlanmış her bölüm, kullanım için biçemlendirilmelidir.\n"
+" (Biçemlendirmek bir dosya sistemi oluşturmak anlamına gelir.)\n"
+"\n"
+"\n"
+"Şimdi, halihazırda bulunan bölümlerinizdeki verileri silmek için onları\n"
+"tekrar biçemlendirmek isteyebilirsiniz. Bunu istiyorsanız, biçemlendirmek\n"
+"istediğiniz bu bölümleri de ayrıca seçili duruma getirin.\n"
+"\n"
+"Eskiden kalma tüm bölümlerin biçemlendirilmesi gerekmediğini lütfen\n"
+"unutmayın. İşletim sistemi içerenleri (örneğin \"/\", \"/usr\" ya da \"/var"
+"\"\n"
+"gibi) biçemlendirmelisiniz, ama sadece verilerinizin bulunduğu bölümleri\n"
+"biçemlendirmeyebilirsiniz. (örneğin \"/home\".)\n"
+"\n"
+"Biçemlendireceğiniz bölümleri seçerken dikkatli olun, içlerindeki tüm "
+"veriler\n"
+"yok olacaktır ve biçemlendirildikten sonra geri dönülmesi mümkün değildir.\n"
+"\n"
+"Bölümleri biçemlendirmeye hazır olduğunuzda \"Tamam\"'a tıklayın.\n"
+"\n"
+"Mageia sisteminizi kurmak isteyeceğiniz başka bölümler de seçmek\n"
+"isterseniz \"İptal\"'e basın.\n"
+"\n"
+"\"Gelişmiş\" düğmesine tıkladıktan sonra isterseniz, sabit diskinizindeki\n"
+"disk bölümlerinde hatalı blok sınaması yapabilirsiniz."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mageia kurulumunuz sırasında dağıtımdan sonra güncellenmiş bazı "
+"paketler, düzeltmeler ve çözümlenmiş güvenlik unsurlarının olup olmadığını "
+"internet bağlantınız üzerinden kontrol edip varsa indirip kurabilir. Çalışan "
+"bir internet bağlantınız varsa \"Evet\" seçebilir, yoksa \"Hayır\" seçerek "
+"paket güncelleme işlemini kurulum sonrasına bırakabilirsiniz.\n"
+"\n"
+"\"Evet\" seçtiğinizde güncellemelerin alınabileceği yerlerin bir listesi "
+"gösterilir. Size en yakın olanı seçtikten sonra, paket seçim ağacı görünür. "
+"Seçimi izleyebilir ve seçilen paketlerin indirilip kurulması için \"Kur\", "
+"çıkmak için \"İptal\" seçebilirsiniz."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Şimdi, makinanız için düşündüğünüz güvenlik seviyesini belirteceksiniz. "
+"Kural\n"
+"olarak makinanızda sakladığınız bilgilere bağlı olarak güvenlik seviyesini\n"
+"yükselmek gerekir. Güvenlik seviyesi yükseldikçe sunulan hizmetlerin sayısı\n"
+"düşecek ve sisteminizi kullanmak zorlaşacaktır. Bu seviyeler hakkında daha\n"
+"fazla bilgi edinmek için ``Başvuru Kılavuzu''ndaki MSEC bölümüne bakınız.\n"
+"\n"
+"Ne seçeceğiniz hakkında bir fikriniz yoksa öntanımlı seçeneklere "
+"dokunmayınız."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Güvenlik Yöneticisi"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Bu noktada, Mageia iÅŸletim sisteminizi sabit diskinizde nereye\n"
+"kuracağınızı seçmeniz gerekiyor. Bölümler önceki bir kurulumda ya da bir\n"
+"başka bölümlendirme aracıyla önceden tanımlanmışsa eski bölümlerinizi\n"
+"kullanabilirsiniz. Aksi takdirde, sabit disk bölümlerinin tanımlanması\n"
+"gerekir.\n"
+"\n"
+"Bölümleri oluşturmak için bir sabit disk seçmelisiniz. \"hda\"'ya\n"
+"tıklayarak ilk, \"hdb\"'ye tıklayarak ikinci IDE sürücüsünü, ya da\n"
+"\"sda\"'ya tıklayarak birinci SCSI sürücüsünü bölümlendirmek için\n"
+"seçebilirsiniz.\n"
+"\n"
+"Seçili sürücüyü bölümlendirmek için, aşağıdaki seçenekleri\n"
+"kullanabilirsiniz:\n"
+"\n"
+" * \"Tümünü temizle\": seçili sürücüdeki tüm bölümler silinecektir.\n"
+"\n"
+" * \"Otomatik bölümlendir\": sabit diskinizdeki boş alanda otomatik\n"
+" olarak ext2 ve takas bölümlerinin tanımlanmasını sağlayacaktır.\n"
+"\n"
+" * \"Daha\": Bu seçenekle aşağıdaki özellikleri de kullanabilirsiniz:\n"
+"\n"
+" * \"Diskete kaydet\": bölümlendirme tablonuzu diskete kaydetmek "
+"isterseniz\n"
+" bu seçeneği kullanın. İleride disk bölümlendirme tablosunu kurtarmak\n"
+" için bu disketi kullanabilirsiniz.\n"
+"\n"
+" * \"Disketten al\": önceki bir kurulumda bölümlendirme tablonuzu bir\n"
+" diskete kaydettiyseniz, bu seçenek ile onu tekrar kullanabilirsiniz.\n"
+"\n"
+" * \"Bölümlendirme tablosunu kurtar\": bölümlendirme tablosu hasar "
+"gördüyse\n"
+" bu seçeneği kullanarak onu kurtarabilirsiniz. Lütfen dikkatli olun ve\n"
+" başarısız olma ihtimali olduğunu hatırlayın.\n"
+"\n"
+" * \"Geri al\": bu seçeneği kullanarak, daha önce yaptığınız\n"
+" değişikliklerden vazgeçebilirsiniz.\n"
+"\n"
+" * \"Disket/CD sürücüsünü otomatik bağla\": bu seçeneği seçilmemiş duruma\n"
+" getirerek bu sürücülerin bağlanmasını sistem kullanıcılarının\n"
+" kendilerinin yapmasını sağlayabilirsiniz.\n"
+"\n"
+" * \"Sihirbaz\": sabit diskinizi bölümlendirme işlemi için sihirbazı\n"
+" kullanmak isterseniz, bu seçeneği kullanabilirsiniz. Bölümlendirme\n"
+" hakkında fazla bir bilgiye sahip değilseniz bu seçeneği kullanmanız\n"
+" önerilir.\n"
+"\n"
+" * \"Geri al\": bu seçeneği kullanarak, yaptığınız tüm değişiklikleri\n"
+" geri alıp eski bölümlendirme tablosunu yükleyebilirsiniz.\n"
+"\n"
+" * \"Normal/Uzman kipi değiştirme\": disk bölümlendirme sırasında "
+"daha az ya da daha fazla seçenek ve bilgi sunulur.\n"
+"\n"
+" * \"Bitti\": sabit diskinizi bölümlendirme işlemi bittiğinde\n"
+" değişikliklerinizin kaydedilebilmesi için bu seçeneği kullanın.\n"
+"\n"
+"Klavyeyi kullanarak herhangi bir seçeneğe gidebilirsiniz: Bölümler\n"
+"arasında gezinmek için [Sekme] ve [Yukarı/Aşağı] ok tuşlarını\n"
+"kullanabilirsiniz.\n"
+"\n"
+"Bir bölüm seçildiğinde, aşağıdaki tuşları kullanabilirsiniz:\n"
+"\n"
+" * yeni bir bölüm oluşturmak için (boş bir bölüm seçildiğinde)\n"
+" Ctrl-c;\n"
+"\n"
+" * bir bölümü silmek için Ctrl-d;\n"
+"\n"
+" * bağlama noktasını atamak için Ctrl-m\n"
+"\n"
+"Başka dosya sistemleri hakkında bilgi edinmek için \"Başvuru Kılavuzu"
+"\"ndaki\n"
+"ext2fs bölümünü okuyunuz.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Kaldırılabilir meyda otomatik-bağlanıyor"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normal/Uzman kipleri arasında geçiş yap"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sabit diskinizde birden fazla Windows bölümü bulundu. Yeni Mageia\n"
+"işletim sisteminizi kurmak için hangi bölümün boyutunu değiştirmek\n"
+"istiyorsunuz?\n"
+"\n"
+"\n"
+"Her bir bölüm şöyle listelenmiştir; \"Linux adı\", \"Windows adı\",\n"
+"\"Kapasite\".\n"
+"\n"
+"\"Linux adı\" şöyle kodlanır: \"sabit disk türü\", \"sabit disk harfi\",\n"
+"\"bölüm numarası\" (örneğin \"hda1\").\n"
+"\n"
+"\"Sabit disk türü\", diskiniz bir IDE sürücüsüyse \"hd\", bir SCSI\n"
+"sürücüsüyse \"sd\"'dir.\n"
+"\n"
+"\n"
+"\"Sabit disk harfi\" her zaman \"hd\" ya da \"sd\"'den sonra gelir. IDE\n"
+"sürücüleri için:\n"
+"\n"
+" * \"a\" \"birincil IDE denetleyicisindeki master sabit disk \",\n"
+"\n"
+" * \"b\" \"birincil IDE denetleyicisindeki slave sabit disk \",\n"
+"\n"
+" * \"c\" \"ikincil IDE denetleyicisindeki master sabit disk \",\n"
+"\n"
+" * \"d\" \"ikincil IDE denetleyicisindeki slave sabit disk \",\n"
+"\n"
+"\n"
+"SCSI sürücüleri için\n"
+" * \"a\" \"birincil sabit disk\",\n"
+" * \"b\" \"ikincil sabit disk\"\n"
+" * ... anlamına gelir.\n"
+"\n"
+"\"Windows adı\" ise diskinizin windows altındayken kullandığı sürücü\n"
+"harfidir.\n"
+"(Örneğin ilk disk ya da disk bölümünün ismi \"C:\"dir."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normalde seçtiğiniz dile bağlı olarak DrakX, doğru klavyeyi seçecektir.\n"
+"Ancak dilinizle ilişkili olmayan bir klavye seçmek de isteyebilirsiniz.\n"
+"Örneğin Türkçe konuşan biri olmanıza rağmen Almanya'da ikamet ediyorsanız\n"
+"Almanca klavyeyi kullanmak isteyebileceğiniz gibi Türkçe Q ya da Türkçe F\n"
+"klavyelerden birini seçmek de isteyebilirsiniz. Bu durumda da bir\n"
+"adımdan geriye gidip listeden kullanmak istediğiniz klavyeyi\n"
+"seçebilirsiniz.\n"
+"\n"
+"\"Başka\" düğmesine tıklayarak desteklenen klavyelerin tam listesini\n"
+"görebilirsiniz."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Tercih ettiğiniz lisan dökümantasyon , kurulum ve genel sistemi "
+"etkileyecektir.\n"
+"İlk olarak bulunduğunuz bölgenin çoğrafi pozisyonunu seçiniz, Daha sonra\n"
+"konuşmakta olduğunuz dili seçiniz.\n"
+"\"%s\" tuşu diğer ek birçok dil daha seçmenize imkan tanıyacaktır. Bu imkan\n"
+"farklı bir lisanıda beraberinde kullanmanıza müsade edecektir. Bu ayarı\n"
+"\"%s\" gelişmiş menüsünden yapabilirsiniz.\n"
+"Not: Ek dil seçmekte bir dil ile sınırlı değilsiniz. \"%s\" kutusundan "
+"isetediÄŸiniz\n"
+"kadar dil seçebilirsiniz. Bir dil seçimi beraberinde çeviriler , yazı "
+"tipleri , ve\n"
+"imla kontrolcüleri ve bunun gibi diğer uygulamalarıda getirecektir.\n"
+"Ayrıca \"%s\" kutusundan sistemi UTF-8 (unicode) kodlamasını kullanmak\n"
+"için zorlayabilirsiniz.\n"
+"Yüklediğiniz lisanlar arasında geçiş yapmak için root yetkisine sahip iken\n"
+"\"/usr/sbin/localedrake\" komutunu kullanabilirsiniz. Bu komut tüm\n"
+"sistemin veya sadece bir tek kullanıcının tüm dil ayarlarının \n"
+"değiştirilebilmesini sağlar. Bu komut normal bir kullanıcı tarafından "
+"kullanırsa\n"
+"sadece kendi kişisel ayarlarında değişiklik yapmış olur."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "İspanyol"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Genellikle DrakX farenizdeki tuş sayısınız bulmada sorun yaşamaz. Eğer,\n"
+"başarısız olursa farenizi iki tuşlu var sayacak ve üçüncü tuş taklidini\n"
+"etkinleştirecektir. İki tuşlu bir farede üçüncü tuşa ``basmak'' için sağ ve\n"
+"sol tuşa beraber bamalısınız. DrakX, farenizin PS/2 ya da USB "
+"bağlantısından\n"
+"hangisini kullandığını kendisi bulacaktır.\n"
+"\n"
+"Eğer değişik türden bir fare seçmek isterseniz, verilen listeden seçmeniz\n"
+"yeterli.\n"
+"\n"
+"Eğer öntanımlı fare dışında bir fare seçecek olursanız bir deneme ekranı\n"
+"belirecek. Fare yapılandırmasının doğru olduğundan ve düzgün çalıştığından\n"
+"emin olmak için düğmeleri ve tekerleği kullanın. Eğer fare düzgün "
+"çalışmıyorsa\n"
+"boşluk tuşuna yada [Return] tuşuna basarak fare seçimine dönebilirsiniz.\n"
+"\n"
+"Tekerlekli fareler genellikle doğru olarak algılanamamaktadır, bu nedenle\n"
+"farenizi listeden seçmeniz gerekebilir. Farenizin takılı olduğu kapı ile "
+"alakalı bir\n"
+"fare seçiniz. Farenizi seçtikten sonra \"%s\" tuşuna basın, ekranda bir fare "
+"resmi\n"
+"görüntülenecektir. Tekerin doğru çalıştığını anlamak için tekerleği "
+"döndürün.\n"
+"Ekrandaki fare tekerinin döndüğünü gördükten sonra fare düğmelerini deneyin "
+"ve\n"
+"fare işaretçisinin ekrandaki hareketini kontrol edin."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Tekerlek Emülasyonlu"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lütfen doğru portu seçiniz. Örneğin, MS Windows'da ki \"COM1\"in karşılığı\n"
+"GNU/Linux'ta \"ttyS0\", \"COM2\"nin karşılığı \"ttyS1\"dir."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO ve gub GNU/Linux önyükleyicileridir. Normal şartlar artında bu "
+"iÅŸlemler\n"
+"tamamen otomatik bir şekilde tamamlanır.\n"
+"\n"
+" * Eğer Bir Windows önyükleme sektörü bulundu ise, bu grub/LILO ile "
+"deÄŸiÅŸtirilir\n"
+"Bu aynı zamanda çoktan seçmeli önyükleme özelliğini getirir.\n"
+"\n"
+" * Eğer bir grub veya LILO önyükleme sektörü bulundu ise bunlar yeni şekli "
+"ile\n"
+"güncellenir.\n"
+"\n"
+" * Eğer bir tanımlama yapılamadı ise, DrakX size önyükleyiciyi nereye "
+"kuracağı\n"
+"sorusunu yönlendirir.\n"
+"\"Önyükleme aygıtı\": genelde öntanımlı ayarı değiştirmeye ihtiyacınız "
+"yoktur\n"
+"(\"Sürücünün ilk sektörü(MBR)\". Fakat tercihinize göre önyükleyiciyi "
+"ikincil\n"
+"sürücüye (\"/dev/hdb\") veya herhangi bir diskete yükleyebilirsiniz."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Burada kullanacağınız yazdırma sistemini seçeceksiniz. Diğer işletim\n"
+"sistemleri bir seçenek sunarken, Mageia size iki ayrı seçenek\n"
+"sunmaktadır. İki tip yazdırma sistemide özel yapılandırma türü için en "
+"iyidir.\n"
+"\n"
+" * \"pdq\" -- bir ağ yazıcısı kullanmıyorsanız, yazıcının kağıt yemesi\n"
+" durumunda tekrar yazdırma sorunu yaşamak istemiyorsanız, bir de \n"
+" makinanıza doğrudan bağlı bir yazıcınız varsa, 'kuyruğa değil doğrudan\n"
+" yazıcıya yolla' deme şansınız bulunuyor. 'Bu tam da benim aradığım "
+"özellik'\n"
+" diyorsanız \"PDQ\" seçeneğine tıklayınız.\n"
+" Bu seçenek eğer bu ilk linux deneyiminizse özellikle TAVSİYE edilir\n"
+"\n"
+" * \"%s\" - `` Unix Ortak Yazdırma Sistemi '' hem yerel yazıcınızı hem de "
+"aÄŸ\n"
+" üzerindeki bir yazıcıyı kullanabilmenizi sağlayan, mevcut tüm \n"
+" sistemlerle uyumlu, eski \"lpd\" yazdırma sistemi için hem sunucu hem "
+"de \n"
+" istemci gibi davranabilen, basit ama mükemmel bir sistemdir. Çok "
+"çeşitli \n"
+" seçenekler sunmasına rağmen en az \"pdq\" kadar kolay ayarlanabilir. \n"
+" Bir \"lpd\" sunucusunu taklit etmek isterseniz \"cups-lpd\" artalan "
+"uygulamasını\n"
+" çalıştırabilirsiniz. Yazdırma ve yazıcı seçeneklerini belirlemek için\n"
+" bir grafik arayüze de sahiptir.\n"
+"\n"
+" Şimdi kararınızı verin. Kurulumdan sonra Mandriva Kontrol Merkezi'nden\n"
+" PrinterDrake uygulamasını çalıştırdıktan sonra uzman düğmesine\n"
+" tıklayarak seçimlerinizi değiştirebilirsiniz."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Uzman"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX ilk olarak sisteminizde mevcut olan IDE aygıtlarını algılayacaktır.\n"
+"Ayrıyeten PCI ve SCSI kartlarınıza ulaşmaya çalışacaktır.\n"
+"Eğer bir SCSI arabirimi bulursa otomatik olarak gerekli sürücü kuracaktır.\n"
+"\n"
+"Donanım algılama dört dörtlük bir sistem değildir, DrakX algılama sırasında\n"
+"başarısızlığa uğrayabilir.Eğer böyle bir durum olursa donanımınızı elle \n"
+"yapılandırmanız gerekecektir."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "TV kartı"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartı"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiksel Arabirim"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Lütfen yeni Mageia disk bölümünüzü kurmak için silmek istediğiniz\n"
+"sabit diski seçin. Üzerindeki tüm verilerin yok olacağını ve geriye dönüşün\n"
+"mümkün olmayacağını unutmayın!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Bu sabit disk üzerindeki tüm verinin ve bölümlerin silinmesini istiyorsanız\n"
+"\"%s\" tuşuna tıklayın. Dikkatli olun, \"%s\" tuşuna tıkladıktan\n"
+"sonra bu diskte bulunan tüm bölümlerinizi ve verilerinizi kaybedeceksiniz,\n"
+"bunlara Windows verileriniz dahildir.\n"
+"\n"
+"Sabit diskinizdeki hiçbir veriyi ya da bölümü silmeden bu işlemden\n"
+"vazgeçmek istiyorsanız lütfen \"%s\" tuşuna tıklayın."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sonraki ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Önceki"
+
+#, fuzzy
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "GNU/Linux sisteminizin güvenliği için çok önemli karar noktasındasınız:\n"
+#~ "\"root\" parolasını seçmelisiniz.\n"
+#~ "\"root\" sistem yöneticisidir. Güncellemeler, kullanıcıların eklenmesi,\n"
+#~ "sistemin yapılandırılması, v.s. için en yetkili kullanıcıdır. Kısaca,\n"
+#~ "\"root\" herşeyi yapabilir! Bu nedenle tahmin edilmesi çok zor olan bir\n"
+#~ "parola seçmelisiniz. - DrakX bu parolanın seçim kriterlerinde size "
+#~ "yardımcı\n"
+#~ "olarak bu zor kararı kolaylaştıracaktır. Göreceğiniz gibi bir parola\n"
+#~ "vermemeyi de seçebilirsiniz. Fakat tek bir sebepten dolayı bu kararı\n"
+#~ "almamanız sağlanmaya çalışılacaktır: GNU/Linux'un diğer işletim\n"
+#~ "sistemlerinden farkı normal kullanıcılarının sisteme zarar "
+#~ "verememelerinin\n"
+#~ "sağlanmış olmasıdır. Sisteme zarar verebilecek tek kullanıcı \"root"
+#~ "\"dur.\n"
+#~ "Bu bakımdan sistemde \"root\" kullanıcısı olmak zorlaştırılmalıdır.\n"
+#~ "\n"
+#~ "Parolayı çok uzun ve çok karmaşık yapmayın ki hatırlaması zor olmasın.\n"
+#~ "\n"
+#~ "Parolayı yazarken ekranda görmeyeceksiniz. Bu bakımdan yazdığınızın\n"
+#~ "doğruluğunu ancak yeniden yazarak anlayabilirsiniz. İkincisini yazarken\n"
+#~ "hata yaparsanız DrakX sizi uyaracaktır. Ama hatayı ikisinde de yapar ve\n"
+#~ "farkında olmazsanız bu \"yanlış\" parola ile sisteme giriş yapAMAmak\n"
+#~ "zorunda kalabilirsiniz.\n"
+#~ "\n"
+#~ "Uzman kipte NIS ya da LDAP gibi bir kimlik kanıtlama sunucusuna bağlanıp\n"
+#~ "bağlanmayacağınız sorulacaktır.\n"
+#~ "\n"
+#~ "Ağınızda kimlik sınaması için \"LDAP\" (ya da \"NIS\") protokolü\n"
+#~ "kullanılıyorsa ilgili protokolü seçmelisiniz. Bu konuda bilginiz yoksa\n"
+#~ "ağ yöneticinize danışın.\n"
+#~ "\n"
+#~ "Makinanız herhangi bir yönetimli ağa bağlanmayacaksa, kimlik kanıtlama "
+#~ "için\n"
+#~ "\"Yerel dosyalar\"ı seçeceksiniz."
+
+#~ msgid "authentication"
+#~ msgstr "kimlikleme"
diff --git a/perl-install/install/help/po/uk.po b/perl-install/install/help/po/uk.po
new file mode 100644
index 000000000..548f3b3be
--- /dev/null
+++ b/perl-install/install/help/po/uk.po
@@ -0,0 +1,2024 @@
+# translation of DrakX-uk.po to ukrainian
+# translation of DrakX.po to ukrainian
+# Copyright (C) 2000,2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# Dmytro Kovalov <kov@tokyo.email.ne.jp>, 2000.
+# Taras Boychuk <btr1@torba.com>, 2003, 2004.
+# Taras Boychuk <btr1@mail.ru>, 2004, 2003.
+# Taras Boychuk <btr1@ukrpost.net>, 2004, 2005.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2012-06-29 16:20+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\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"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Перш ніж продовжувати, прочитайте уважно умови ліцензії. Вона\n"
+"ÑтоÑуєтьÑÑ Ð²Ñього диÑтрибутива Mageia. Якщо ви\n"
+"погоджуєтеÑÑŒ з умовами ліцензії, позначте пункт «%s». Якщо ні,\n"
+"натиÑніть «%s», щоб перезавантажити комп'ютер."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux - багатокориÑтувацька ÑиÑтема, це означає, що кожен з\n"
+"кориÑтувачів може мати Ñвої влаÑні уÑтановки, влаÑні файли, тощо. Щоб\n"
+"більше дізнатиÑÑ Ð¿Ñ€Ð¾ це, ви можете прочитати Підручник кориÑтувача з\n"
+"ÑиÑтеми. Ðле на відміну від кориÑтувача Root, Ñкий Ñ” адмініÑтратором\n"
+"ÑиÑтеми, кориÑтувачі, Ñких ви будете Ñтворювати на цьому кроці, не\n"
+"мають права змінювати нічого в ÑиÑтемі, крім Ñвоїх влаÑних файлів Ñ–\n"
+"влаÑної конфігурації. ви маєте Ñтворити рахунок Ð´Ð»Ñ Ñ…Ð¾Ñ‡Ð° б одного\n"
+"єдиного кориÑтувача - Ð´Ð»Ñ Ñамого Ñебе. ви будете кориÑтуватиÑÑ Ñ†Ð¸Ð¼\n"
+"рахунком Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб виконувати щоденні задачі. І хоча це Ñ– дуже\n"
+"зручно реєÑтруватиÑÑŒ в ÑиÑтемі Ñк Root, але одночаÑно це Ñ– дуже\n"
+"небезпечно! Ðайменша помилка може призвеÑти до того, що ÑиÑтема буде\n"
+"неробочою. Якщо ви помилитеÑÑŒ Ñк звичайний кориÑтувач, ви можете,\n"
+"звичайно, втратити деÑкі Ñвої дані, але не вÑÑŽ ÑиÑтему.\n"
+"\n"
+"Перше поле запитує ваше Ñправжнє ім'Ñ. Звичайно ж, воно не обов'Ñзкове,\n"
+"ви можете надрукувати вÑе, що завгодно. DrakX візьме перше Ñлово з цього\n"
+"Ð¿Ð¾Ð»Ñ Ñ– Ñкопіює його в поле «%s», Ñке Ñ” ім'Ñм кориÑтувача, під Ñким "
+"кориÑтувач\n"
+"буде реєÑтруватиÑÑŒ у ÑиÑтемі. Якщо захочете, ви можете змінити це ім'Ñ. \n"
+"Потім вам потрібно ввеÑти пароль. З міркувань безпеки ÑиÑтеми пароль\n"
+"звичайного (не root) кориÑтувача не Ñ” таким критичним, Ñк пароль \n"
+"адмініÑтратора, але вÑе одно немає причин Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб нехтувати ним,\n"
+"залишаючи його порожнім або надто проÑтим: врешті-решт, це загрожує\n"
+"Вашим влаÑним файлам. \n"
+"\n"
+"ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк ви натиÑнете кнопку «%s», ви можете додати ще багато \n"
+"інших кориÑтувачів. Додайте кориÑтувача Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з Ваших друзів:\n"
+"Ð´Ð»Ñ Ñ‚Ð°Ñ‚Ð° й ÑеÑтри, наприклад. ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк ви закінчили додавати\n"
+"кориÑтувачів, натиÑніть «%s».\n"
+"\n"
+"ÐатиÑнувши на кнопку «%s», ви зможете змінити типову командну оболонку\n"
+"Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ кориÑтувача (типова оболонка - bash). \n"
+"\n"
+"Коли ви закінчите додавати кориÑтувачів, вам буде запропоновано вибрати\n"
+"кориÑтувача, Ñкий буде автоматично реєÑтруватиÑÑ Ð² ÑиÑтемі при запуÑку\n"
+"комп'ютера. Якщо така можливіÑть Ð²Ð°Ñ Ñ†Ñ–ÐºÐ°Ð²Ð¸Ñ‚ÑŒ (Ñ– не надто турбує про\n"
+"локальну безпеку), виберіть кориÑтувача Ñ– менеджер вікон, тоді натиÑніть "
+"на \n"
+"«%s». Якщо Ð²Ð°Ñ Ñ‚Ð°ÐºÐ° можливіÑть не цікавить, ÑкаÑуйте вибір «%s»."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr "ПрийнÑти кориÑтувача"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ви хочете викориÑтовувати цю можливіÑть?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Тут перелічені вже Ñ–Ñнуючі розділи, знайдені на Вашому твердому\n"
+"диÑку. ви можете залишити вибір, зроблений Помічником, він підходить\n"
+"Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆÐ¾Ñті випадків вÑтановленнÑ. Якщо ви робите ÑкіÑÑŒ зміни, то "
+"потрібно\n"
+"Ñк мінімум Ñтворити кореневу файлову ÑиÑтему (/). Ðе виділÑйте\n"
+"Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ занадто малий розділ, бо інакше ви не зможете вÑтановити\n"
+"вÑÑ– потрібні вам програми. Якщо ви бажаєте зберігати вÑÑ– Ñвої дані в\n"
+"окремому розділі, потрібно буде також Ñтворити розділ \"/home\" (тільки у\n"
+"випадку, Ñкщо ви маєте більше одного розділу Ð´Ð»Ñ Linux). \n"
+"\n"
+"Кожен розділ показано в такому виглÑді: \"Ðазва\", \"Розмір\".\n"
+"\n"
+"Ðазва розшифровуєтьÑÑ Ñ‚Ð°Ðº: \"тип жорÑткого диÑка\", \"номер твердого\n"
+"диÑку\", \"номер розділу на диÑку\", (наприклад: \"hda1\").\n"
+"\n"
+"\"Тип жорÑткого диÑка\" - це \"hd\", Ñкщо ви маєте диÑк типу IDE, Ñ– \"sd\",\n"
+"Ñкщо ви маєте твердий диÑк типу SCSI.\n"
+"\n"
+"\"Ðомер жорÑткого диÑка\" - це завжди літера піÑÐ»Ñ \"hd\" чи \"sd\". ДлÑ\n"
+"диÑків типу IDE це:\n"
+"\n"
+" * \"a\" - головний диÑк (master) на першому контролері IDE,\n"
+"\n"
+" * \"b\" - вторинний (slave) диÑк на першому контролері IDE,\n"
+"\n"
+" * \"c\" - головний диÑк на другому контролері IDE,\n"
+"\n"
+" * \"d\" - вторинний диÑк на другому контролері IDE.\n"
+"\n"
+"Ð”Ð»Ñ SCSI диÑків \"a\" означає \"головний диÑк\", \"b\" - другорÑдний диÑк\n"
+"тощо."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Дані диÑтрибутива Mageia розміщено на кількох компакт-диÑках.\n"
+"Якщо вибраний пакунок знаходитьÑÑ Ð½Ð° іншому диÑку, DrakX викине \n"
+"поточний компакт-диÑк Ñ– попроÑить вÑтавити потрібний. Якщо у Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ”\n"
+"потрібного диÑку під руками, проÑто натиÑніть «%s», пакунок не буде\n"
+"вÑтановлено."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Тепер Ñ‡Ð°Ñ Ð²Ð¸Ð±Ñ€Ð°Ñ‚Ð¸, Ñкі програми ви хочете вÑтановити в Ñвоїй\n"
+"ÑиÑтемі. Mageia має тиÑÑчі програмних пакунків, Ñ– щоб ÑпроÑтити\n"
+"ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð¸Ð¼Ð¸, пакунки розміщено в групи подібних програм.\n"
+"\n"
+"Пакунки розÑортовано в групи відповідно до ÑпоÑобу викориÑÑ‚Ð°Ð½Ð½Ñ Ð’Ð°ÑˆÐ¾Ñ—\n"
+"машини. Mageia має чотири попередньо налаштовані типи\n"
+"вÑтановленнÑ. ви можете комбінувати Ñ– підбирати програми з різних\n"
+"груп, Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ \"Робоча ÑтанціÑ\"' може мати програми із групи\n"
+"пакунків \"Розробник\".\n"
+"\n"
+" * «%s»: Ñкщо ви збираєтеÑÑŒ викориÑтовувати Ñвою машину Ñк робочу\n"
+"Ñтанцію, виберіть одну чи більше програм з цієї групи.\n"
+"\n"
+" * «%s»: Ñкщо ви збираєтеÑÑŒ викориÑтовувати цю машину длÑ\n"
+"програмуваннÑ, виберіть відповідні пакунки з цієї групи. Спеціальна група\n"
+"\"СБЛ\" налаштує ÑиÑтему таким чином, що вона міÑтитиме Ñкнайповнішу\n"
+"Ñпецифікацію Стандартної бази Linux.\n"
+"\n"
+" При виборі групи \"СБЛ\" вÑтановитьÑÑ Ñдро Ñерії \"2.4\", на відміну від\n"
+"\"2.6\", Ñке вÑтановлюєтьÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾. Ð¦Ñ Ð·Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ Ð´Ð»Ñ 100%% впевненоÑті у\n"
+"ÑуміÑноÑті з \"СБЛ\". Проте, Ñкщо ви не виберете групу \"СБЛ\", вÑеодно\n"
+"отримаєте ÑиÑтему майже 100%%-ÑуміÑну з \"СБЛ\".\n"
+"\n"
+" * «%s»: Ñкщо машина призначаєтьÑÑ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð² ÑкоÑті\n"
+"Ñервера, виберіть додаткові ÑервіÑи, Ñкі ви хочете вÑтановити на Ñвоїй\n"
+"машині.\n"
+"\n"
+" * «%s»: тут ви можете вибрати графічне Ñередовище Ñобі до вподоби.\n"
+"Виберіть хоча б одне, Ñкщо ви хочете мати графічний інтерфейÑ.\n"
+"\n"
+"При переÑуванні курÑора над назвою групи буде виÑвічуватиÑÑ Ñ‚ÐµÐºÑÑ‚ із\n"
+"коротким поÑÑненнÑм про групу.\n"
+"\n"
+"ви можете помітити «%s», що може викориÑтовуватиÑÑ Ð¿Ñ€Ð¸ добрих\n"
+"знаннÑÑ… пакунків, або Ñкщо ви хочете мати повний контроль над тим,\n"
+"що вÑтановлюєте.\n"
+"\n"
+"Якщо ви почали вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð² режимі «%s», можете знÑти вибір уÑÑ–Ñ…\n"
+"груп Ñ– не вÑтановлювати жодних нових пакунків. Це можна\n"
+"викориÑтовувати при відновленні або поновленні ÑиÑтеми.\n"
+"\n"
+"Якщо ви знÑли вибір уÑÑ–Ñ… груп під Ñ‡Ð°Ñ Ð¿Ñ–Ð´Ð³Ð¾Ñ‚Ð¾Ð²ÐºÐ¸ звичайного\n"
+"вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ (на відміну від поновленнÑ), поÑвитьÑÑ Ð´Ñ–Ð°Ð»Ð¾Ð³Ð¾Ð²Ðµ\n"
+"вікно з різними параметрами Ð´Ð»Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ вÑтановленнÑ:\n"
+"\n"
+" * «%s»:вÑтановити найменшу можливу кількіÑть пакунків, щоб мати\n"
+"працюючу графічну Ñтільницю.\n"
+"\n"
+" * «%s»: вÑтановлює оÑновну ÑиÑтему Ð¿Ð»ÑŽÑ Ð¾Ñновні інÑтрументи Ñ– Ñ—Ñ…\n"
+"документацію. Цей ÑпоÑіб викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñервера.\n"
+"\n"
+" * «%s»: вÑтановить абÑолютно найменшу кількіÑть пакунків, необхідних,\n"
+"щоб отримати працюючу ÑиÑтему Linux. При цьому вÑтановленні Ви\n"
+"будете мати тільки Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ Ñ€Ñдка. Загальний розмір цього\n"
+"вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñтановить Ð±Ñ–Ð»Ñ 65 мегабайтів."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ПоновленнÑ"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Із загальною документацією"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ÐаÑправді мінімальне вÑтановленнÑ"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Якщо ви вказали програмі вÑтановленнÑ, що хочете мати індивідуальний\n"
+"вибір пакунків, вам буде показано повне дерево пакунків, зібраних за\n"
+"групами Ñ– підгрупами. ПереглÑдаючи дерево, ви зможете вибрати повні\n"
+"групи, підгрупи та окремі пакунки.\n"
+"\n"
+"Кожного разу, коли ви вибираєте пакунок в дереві, Ñправа з'ÑвлÑєтьÑÑ\n"
+"підказка про Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ°.\n"
+"\n"
+"!! Якщо було вибрано Ñерверний пакунок, чи то шлÑхом Ñпеціального\n"
+"вибору індивідуального пакунка, чи він Ñ” Ñкладовою чаÑтиною групи\n"
+"пакунків, вам буде задане запитаннÑ, чи ви Ñправді бажаєте вÑтановити\n"
+"ці Ñервери. Ð’ Mageia вÑÑ– вÑтановлені Ñервери автоматично\n"
+"запуÑкаютьÑÑ Ð¿Ñ€Ð¸ завантаженні ÑиÑтеми. Ðавіть, Ñкщо на Ñ‡Ð°Ñ Ð¿Ñ€Ð¸Ð´Ð±Ð°Ð½Ð½Ñ\n"
+"ÑиÑтеми не було відомо жодних проблем з безпекою даних Ñерверів,\n"
+"можливо, що піÑÐ»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми такі проблеми буде виÑвлено.\n"
+"Якщо ви не знаєте Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñервера або з Ñкою метою\n"
+"його вÑтановлено, натиÑніть «%s». Якщо ви натиÑнете «%s», буде\n"
+"вÑтановлено перелічені Ñервери Ñ– вони будуть Ñтартувати автоматично під\n"
+"Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ !!\n"
+"\n"
+"Параметр «%s» викориÑтовуєтьÑÑ, щоб заборонити показ вікна попередженнÑ,\n"
+"Ñке буде з’ÑвлÑєтьÑÑ, щойно програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ вибирає\n"
+"пакунки Ð´Ð»Ñ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñтей. ДеÑкі пакунки мають відношеннÑ\n"
+"до інших так, що вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° вимагає, щоб інші програми також були\n"
+"вÑтановлені. Програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ визначити, Ñкі пакунки необхідні\n"
+"Ð´Ð»Ñ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñтей, щоб уÑпішно завершити вÑтановленнÑ.\n"
+"\n"
+"Маленька піктограма диÑкети внизу ÑпиÑку дозволÑÑ” завантажити з диÑкети\n"
+"ÑпиÑок, Ñтворений при попередньому вÑтановленні. Це зручно викориÑтовувати,\n"
+"Ñкщо Ñ” певна кількіÑть машин, що мають бути Ñконфігуровані однаково.\n"
+"ПіÑÐ»Ñ Ð½Ð°Ñ‚Ð¸ÑÐºÐ°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— кнопки, ÑиÑтема попроÑить Ð’Ð°Ñ Ð²Ñтавити попередньо\n"
+"Ñтворену диÑкету в кінці іншого вÑтановленнÑ. ПереглÑньте другу пораду\n"
+"оÑтаннього кроку про те, Ñк Ñтворити таку диÑкету."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ðвтоматичні залежноÑті"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Цей діалог викориÑтовуєтьÑÑ, щоб вибрати, Ñкі ÑервіÑи будуть запуÑкатиÑÑ\n"
+"автоматично при Ñтарті ÑиÑтеми. \n"
+"\n"
+"DrakX надаÑть ÑпиÑок вÑÑ–Ñ… Ñлужб, можливих при цьому вÑтановленні.\n"
+"ПереглÑньте уважно ці Ñлужби Ñ– відмініть вибір тих, Ñкі не повинні\n"
+"запуÑкатиÑÑ Ð¿Ñ€Ð¸ Ñтарті ÑиÑтеми.\n"
+"\n"
+"При виборі Ñлужби поÑвлÑєтьÑÑ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¹ текÑÑ‚ з поÑÑненнÑм про неї.\n"
+"Проте, Ñкщо ви не впевнені, чи потрібно викориÑтовувати ÑкуÑÑŒ Ñлужбу,\n"
+"залишіть запропонований вибір.\n"
+"\n"
+"!! Будьте оÑобливо уважними, Ñкщо ви збираєтеÑÑŒ викориÑтовувати цю\n"
+"ÑиÑтему Ñк Ñервер: можливо, не потрібно Ñтартувати Ñлужби, Ñкі Вам\n"
+"не потрібні. Пам'Ñтайте, будь лаÑка, що деÑкі увімкнені Ñлужби можуть\n"
+"бути небезпечними на Ñервері. Одним Ñловом, вибирайте тільки ті Ñлужби,\n"
+"Ñкі вам дійÑно необхідні. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux оперує чаÑом GMT (Ñередній Ñ‡Ð°Ñ Ð·Ð° Гринвічем) Ñ– переводить\n"
+"його в міÑцевий Ñ‡Ð°Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до чаÑового поÑÑу, Ñкий ви вказали.\n"
+"Якщо годинник на вашій материнÑькій платі вÑтановлено в локальний\n"
+"чаÑ, ви можете відмінити «%s», що даÑть змогу GNU/Linux знати, що\n"
+"ÑиÑтемний годинник Ñ– апаратний годинник вÑтановлені на один чаÑовий\n"
+"поÑÑ. Це викориÑтовуєтьÑÑ, коли машина також може завантажуватиÑÑ\n"
+"в іншу операційну ÑиÑтему.\n"
+"\n"
+"Параметр «%s» автоматично наводить годинник шлÑхом під'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾\n"
+"віддаленого Ñерверу чаÑу в інтернеті. Щоб Ñ†Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñть працювала, Ви\n"
+"повинні мати працююче з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· інтернетом. Ðайкраще вибрати Ñервер\n"
+"чаÑу, розташований Ð±Ñ–Ð»Ñ Ð²Ð°Ñ. Цей параметр вÑтановлює Ñервер чаÑу, Ñкий\n"
+"також може викориÑтовуватиÑÑ Ñ–Ð½ÑˆÐ¸Ð¼Ð¸ машинами у вашій міÑцевій мережі."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr "Ðпаратний годинник налаштовано на ГринвічÑький чаÑ"
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Ðвтоматична ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ‡Ð°Ñу"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графічна карта\n"
+"\n"
+" Програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð² нормальному режимі автоматично знаходить\n"
+"Ñ– налаштовує графічну карту, вÑтановлену на вашій машині. Якщо цього не\n"
+"відбуваєтьÑÑ, ви можете вибрати із ÑпиÑку карту, Ñку ви вÑтановили.\n"
+"\n"
+" У випадку, Ñкщо ваша карта підтримує різні Ñервери з або без\n"
+"3D-приÑкореннÑ, вам буде надано можливіÑть вибрати Ñервер, Ñкий найбільше\n"
+"вам підходить."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (Ð´Ð»Ñ ÑиÑтеми X Window) Ñ” Ñерцем графічного інтерфейÑу GNU/Linux,\n"
+"від Ñкого залежать вÑÑ– графічні Ñередовища (KDE, GNOME, AfterStep,\n"
+"WindowMaker тощо), пов'Ñзані з Mageia.\n"
+"\n"
+"вам буде предÑтавлено ÑпиÑок різних параметрів Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ,\n"
+"щоб отримати оптимальний графічний диÑплей.\n"
+"\n"
+"Графічна карта\n"
+"\n"
+" Програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ визначає Ñ– налаштовує графічну\n"
+"карту, вÑтановлену в машину. Якщо вона визначена неправильно, ви можете\n"
+"вибрати із ÑпиÑку карту, Ñка дійÑно вÑтановлена.\n"
+"\n"
+" У випадку, Ñкщо ваша карта підтримує різні Ñервери з або без 3D\n"
+"приÑкореннÑм, буде запропоновано вибрати Ñервер, Ñкий вам найбільше\n"
+"підходить.\n"
+"\n"
+"\n"
+"\n"
+"Монітор\n"
+"\n"
+" Програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ визначає Ñ– налаштовує монітор,\n"
+"під'єднаний до Вашої машини. Якщо це зроблено неправильно, ви можете\n"
+"вибрати із ÑпиÑку монітор, Ñкий дійÑно під'єднано до вашого комп'ютера.\n"
+"\n"
+"\n"
+"\n"
+"Роздільна здатніÑть\n"
+"\n"
+" Тут ви можете вибрати роздільну здатніÑть Ñ– кількіÑть кольорів, Ñкі\n"
+"підтримує Ваше обладнаннÑ. Підберіть величини, Ñкі найбільше ВаÑ\n"
+"влаштовують (ви матимете змогу їх змінити пізніше). Зразок вибраного\n"
+"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ показано на моніторі.\n"
+"\n"
+"\n"
+"\n"
+"ТеÑÑ‚\n"
+"\n"
+" Ð’ залежноÑті від Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ пункту може не бути.\n"
+"\n"
+" СиÑтема Ñпробує відкрити графічний екран з вибраною роздільніÑтю.\n"
+"Якщо ви зможете побачити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ñ‚ÐµÑту Ñ– відповіÑте «%s»,\n"
+"DrakX перейде до наÑтупного кроку. Якщо ви не зможете бачити\n"
+"повідомленнÑ, це означатиме, що певна чаÑтина автоматично визначеної\n"
+"конфігурації неправильна, теÑÑ‚ автоматично завершитьÑÑ Ñ‡ÐµÑ€ÐµÐ· 12\n"
+"Ñекунд Ñ– ви повернетеÑÑŒ назад в меню. Змінюйте налаштуваннÑ, поки\n"
+"не отримаєте коректний графічний диÑплей.\n"
+"\n"
+"\n"
+"\n"
+"Параметри\n"
+"\n"
+" Тут ви можете вибрати, чи хочете Ви, щоб ваша машина автоматично\n"
+"перемикалаÑÑ Ð² графічний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ñ€Ð¸ завантаженні. Зрозуміло, що\n"
+"ви захочете вибрати «%s», Ñкщо ваша машина Ñ” Ñервером, або Ñкщо Ви\n"
+"не змогли уÑпішно налаштувати диÑплей."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монітор\n"
+"\n"
+" Програма вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾ автоматично виÑвлÑÑ” Ñ– налаштовує монітор,\n"
+"під'єднаний до Вашої машини. Якщо вона це зробила неправильно, ви можете\n"
+"вибрати правильний монітор з цього ÑпиÑку."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Роздільна здатніÑть\n"
+"\n"
+" Тут ви можете вибрати роздільну здатніÑть Ñ– глибину кольору.\n"
+"Виберіть величини, Ñкі Ð’Ð°Ñ Ð½Ð°Ð¹Ð±Ñ–Ð»ÑŒÑˆÐµ влаштовують (ви зможете\n"
+"Ñ—Ñ… змінити піÑÐ»Ñ Ð²ÑтановленнÑ). Зразок вибраного налаштуваннÑ\n"
+"буде показано на моніторі."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"У випадку, Ñкщо ваша карта підтримує різні Ñервери, з або без 3D\n"
+"приÑкореннÑм, вам буде запропоновано вибрати Ñервер, Ñкий Вам\n"
+"найбільше підходить."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметри\n"
+"\n"
+" Тут можна вказати, чи хочете Ви, щоб графічний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð¼Ð¸ÐºÐ°Ð²ÑÑ\n"
+"автоматично при завантаженні ÑиÑтеми. вам потрібно вибрати «%s», Ñкщо\n"
+"ваша машина буде працювати Ñервером, або Ñкщо ви не змогли уÑпішно\n"
+"налаштувати диÑплей."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Тепер потрібно вирішити, де Ñаме ви б хотіли вÑтановити ÑиÑтему\n"
+"Mageia на твердому диÑку. Якщо твердий диÑк порожній, або\n"
+"Ñкщо Ñ–Ñнуюча операційна ÑиÑтема викориÑтовує веÑÑŒ проÑтір, Вам\n"
+"потрібно буде перерозподілити диÑк. Фактично перерозподіл твердого\n"
+"диÑку полÑгає в логічному його розділенні, щоб Ñтворити міÑце длÑ\n"
+"вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Mageiaа.\n"
+"\n"
+"Через те, що Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÐµÑ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð²ÐµÑ€Ð´Ð¾Ð³Ð¾ диÑка звичайно Ñ”\n"
+"незворотнім Ñ– може призвеÑти до втрати даних, Ñкщо іншу операційну\n"
+"ÑиÑтему вже було вÑтановлено, Ñ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð¶Ðµ видатиÑÑ Ð·Ð°Ð³Ñ€Ð¾Ð·Ð»Ð¸Ð²Ð¾ÑŽ\n"
+"Ñ– ÑтреÑовою, Ñкщо ви Ñ” недоÑвідченим кориÑтувачем. Ðа щаÑÑ‚Ñ, DrakX\n"
+"має помічника, Ñкий Ñпрощує цей процеÑ. Перед продовженнÑм цього\n"
+"кроку прочитайте до ÐºÑ–Ð½Ñ†Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу Ñ–, що головне, приділіть трохи "
+"чаÑу.\n"
+"\n"
+"Ð’ залежноÑті від конфігурації вашого жорÑткого диÑка можливі кілька \n"
+"варіантів продовженнÑ:\n"
+"\n"
+" * «%s». Цей режим виконує автоматичне Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð½Ð° розділи Вашого\n"
+"порожнього диÑку (диÑків). Якщо ви вибрали цю команду, інших\n"
+"запитань до Ð’Ð°Ñ Ð²Ð¶Ðµ не буде.\n"
+"\n"
+" * «%s». Помічник виÑвив один або більше розділів Linux на Вашому\n"
+"твердому диÑку. Якщо ви хочете викориÑтати Ñ—Ñ…, виберіть цей режим.\n"
+"Тоді вам буде запропоновано вказати відповідні до кожного розділу точки\n"
+"монтуваннÑ. Попередні точки Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑƒÑ‚ÑŒ показані типово Ñ– у\n"
+"більшоÑті випадків залишити Ñ—Ñ… без змін буде прийнÑтним варіантом.\n"
+"\n"
+" * «%s». Якщо на Вашому твердому диÑку вÑтановлено Microsoft Windows\n"
+"Ñ– він займає веÑÑŒ проÑтір на ньому, вам потрібно буде Ñтворити вільне\n"
+"міÑце Ð´Ð»Ñ Linux. Щоб зробити це, ви можете Ñтерти вÑÑ– розділи Microsoft\n"
+"Windows Ñ– дані (дивиÑÑŒ команду \"Стерти веÑÑŒ диÑк\"), або змінити розмір\n"
+"розділу Microsoft Windows FAT або NTFS. Зміна розміру буде здійÑнена\n"
+"без втрати будь Ñких даних, Ñкі знаходÑтьÑÑ Ð½Ð° попередньо\n"
+"дефрагментованому розділі Windows. Дуже рекомендуєтьÑÑ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸\n"
+"резервну копію Ваших даних. ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ режиму\n"
+"рекомендуєтьÑÑ, Ñкщо ви хочете викориÑтовувати Mageia \n"
+"Ñ– МайкроÑофт Ð’Ñ–Ð½Ð´Ð¾Ð²Ñ Ð½Ð° одному комп'ютері.\n"
+"\n"
+" Перед вибором цього режиму зрозумійте, що піÑÐ»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ—\n"
+"процедури розмір розділу Microsoft Windows Ñтане меншим, ніж до\n"
+"цього. ви будете мати менше вільного міÑÑ†Ñ Ñƒ Microsoft Windows на\n"
+"Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… програм.\n"
+"\n"
+" * «%s». Якщо ви хочете Ñтерти вÑÑ– дані Ñ– вÑÑ– розділи, Ñкі Ñ” на твердому\n"
+"диÑку Ñ– замінити Ñ—Ñ… новою ÑиÑтемою Mageia,\n"
+"виберіть цей режим. Будьте уважні, бо підтвердивши цей\n"
+"вибір, ви вже не зможете повернутиÑÑŒ назад.\n"
+"\n"
+" !! Якщо ви виберете цей режим, вÑÑ– дані на твердому диÑку будуть "
+"видалені. !!\n"
+"\n"
+" * «%s». Це проÑто зітре повніÑтю веÑÑŒ диÑк Ñ– почне новий\n"
+"поділ на розділи. Ð’ÑÑ– дані на диÑку буде втрачено.\n"
+"\n"
+"!! Якщо ви виберете цей режим, вÑÑ– дані на диÑку будуть втрачені. !!\n"
+"\n"
+" * «%s». Виберіть цей режим, Ñкщо ви хочете вручну перерозподілити\n"
+"проÑтір на Вашому твердому диÑку. Однак будьте обережними, це --\n"
+"потужний, але дуже небезпечний вибір, ви можете дуже легко втратити\n"
+"вÑÑ– дані. Тому цей режим наÑправді рекомендуєтьÑÑ Ñ‚Ð¾Ð´Ñ–, Ñкщо ви вже\n"
+"щоÑÑŒ подібне робили або маєте певний доÑвід. Ð”Ð»Ñ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ñ–ÑˆÐ¾Ñ— інформації,\n"
+"Ñк викориÑтовувати інÑтрумент DiskDrake, звертайтеÑÑ Ð´Ð¾ розділу\n"
+"\"Managing Your Partitions\" в \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ВикориÑтовувати Ñ–Ñнуючий розділ"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "ВикориÑтовувати вільний проÑтір на розділі Microsoft Windows®"
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Стерти веÑÑŒ диÑк"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"ОÑÑŒ Ñ– вÑе. Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ðµ Ñ– ваша ÑиÑтема GNU/Linux готова\n"
+"до викориÑтаннÑ. ПроÑто натиÑніть «%s» Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ.\n"
+"Ðе забудьте вийнÑти ноÑÑ–Ñ— (КД або диÑкету). Перше, що ви побачите\n"
+"піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÑиÑтемою теÑтів обладнаннÑ, буде меню\n"
+"завантажувача, Ñке запропонує вам вибір операційної ÑиÑтеми\n"
+"Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку.\n"
+"\n"
+"Кнопка «%s»покаже дві інші кнопки:\n"
+"\n"
+" * «%s»: дозволÑÑ” Ñтворити диÑкету Ð´Ð»Ñ Ð²ÑтановленнÑ, Ñка автоматично,\n"
+"без допомоги оператора виконає вÑе вÑтановленнÑ, подібне до того, Ñке\n"
+"ви щойно зробили.\n"
+"\n"
+" Зауважте, що піÑÐ»Ñ Ð½Ð°Ñ‚Ð¸ÑÐ½ÐµÐ½Ð½Ñ Ð½Ð° кнопку будуть можливі два різні\n"
+"параметри:\n"
+"\n"
+" * «%s». Це чаÑтково автоматизоване вÑтановленнÑ. Ð’ режимі\n"
+"діалогу відбуваєтьÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ етап Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð½Ð° розділи.\n"
+"\n"
+" * «%s». ПовніÑтю автоматизоване вÑтановленнÑ: твердий диÑк\n"
+"повніÑтю перезапиÑуєтьÑÑ, вÑÑ– дані втрачаютьÑÑ.\n"
+"\n"
+" Цей параметр Ñ” дуже зручним при вÑтановленні на багато подібних\n"
+"машин. ДивітьÑÑ Ñ€Ð¾Ð·Ð´Ñ–Ð» Auto install на нашому веб-Ñайті Ð´Ð»Ñ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ð¾Ñ—\n"
+"інформації.\n"
+"\n"
+" * «%s»(*): зберігає ÑпиÑок пакунків, вибраних при цьому вÑтановленні.\n"
+"Щоб викориÑтати цей вибір при іншому вÑтановленні, вÑтавте диÑкету Ñ–\n"
+"запуÑтіть вÑтановленнÑ. При підказці натиÑніть клавішу [F1] Ñ– введіть\n"
+">>linux defcfg=\"floppy\" << Ñ– натиÑніть [Enter].\n"
+"\n"
+"(*) вам потрібно мати диÑкету у FAT-форматі. Щоб Ñтворити таку в\n"
+"GNU/Linux, введіть \"mformat a:\", або \"fdformat /dev/fd0\", а піÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Створити диÑкету Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ вÑтановленнÑ"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr "Повторити"
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr "Ðвтоматично"
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr "Зберегти перелік пакунків"
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Якщо ви вирішили викориÑтовувати деÑкі з Ñ–Ñнуючих розділів\n"
+"GNU/Linux, можливо, захочете переформатувати деÑкі з них\n"
+"Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб Ñтерти дані, Ñкі на них запиÑані. Якщо Ви\n"
+"хочете це зробити, виберіть також розділи, Ñкі хочете\n"
+"відформатувати.\n"
+"\n"
+"Зауважте, однак, що не обов'Ñзково форматувати вÑÑ– розділи, Ñкі\n"
+"Ñ–Ñнували раніше. ви повинні відформатувати розділи, Ñкі міÑÑ‚Ñть\n"
+"операційну ÑиÑтему (такі, Ñк \"/\", \"/usr\" чи \"/var\"), але не муÑите\n"
+"форматувати ті розділи, Ñкі міÑÑ‚Ñть дані, Ñкі ви б хотіли зберегти\n"
+"(типово це розділ \"/home\").\n"
+"\n"
+"Будьте уважні з вибором розділів. ПіÑÐ»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ– дані на\n"
+"вибраних розділах будуть Ñтерті Ñ– Ñ—Ñ… вже не можна буде відновити.\n"
+"\n"
+"ÐатиÑніть на «%s», коли будете готові приÑтупити до форматуваннÑ\n"
+"розділів.\n"
+"\n"
+"ÐатиÑніть на «%s», Ñкщо ви хочете вибрати інші розділи длÑ\n"
+"того, щоб вÑтановити нову ÑиÑтему Mageia.\n"
+"\n"
+"ÐатиÑніть на «%s», Ñкщо ви хочете вибрати розділи длÑ\n"
+"перевірки на Ñ–ÑÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð±Ñ–Ð¹Ð½Ð¸Ñ… блоків."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Коли ви вÑтановлюєте Mageia, деÑкі пакунки можуть\n"
+"бути поновлені з чаÑу виходу диÑтрибутива. Можуть бути виправлені\n"
+"помилки, вирішені проблеми безпеки. Щоб мати кориÑть від цих поновлень,\n"
+"зараз ви можете звантажити Ñ—Ñ… з інтернету. Перевірте «%s», Ñкщо маєте\n"
+"зв'Ñзок з інтернетом, або «%s», Ñкщо бажаєте вÑтановити поновлені пакунки\n"
+"пізніше.\n"
+"\n"
+"Вибравши «%s», ви побачите ÑпиÑок адреÑ, звідки можуть бути взÑті\n"
+"поновленнÑ. вам потрібно вибрати ÑкіÑÑŒ із найближчих до ваÑ. Буде показано\n"
+"дерево вибору пакунків: зробіть вибір Ñ– натиÑніть «%s», щоб звантажити\n"
+"Ñ– вÑтановити Ñ—Ñ…, або «%s», щоб вийти."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ð’ цьому міÑці DrakX даÑть вам можливіÑть вибрати рівень безпеки\n"
+"Ð´Ð»Ñ Ð’Ð°ÑˆÐ¾Ñ— ÑиÑтеми. Ðа практиці можна викориÑтовувати таке правило:\n"
+"рівень безпеки повинен бути вищий, Ñкщо на машині зберігатимутьÑÑ\n"
+"важливі дані, або Ñкщо вона буде безпоÑередньо під'єднана до інтернету.\n"
+"Платою за вищий рівень безпеки у більшоÑті випадків Ñ” легкіÑть у\n"
+"викориÑтанні.\n"
+"\n"
+"Якщо ви не знаєте, на чому зупинитиÑÑŒ, залиште вÑе, Ñк Ñ”. ви зможете\n"
+"змінити рівень безпеки пізніше з допомогою інÑтрументу draksec з \n"
+"Центру ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Mageia.\n"
+"\n"
+"Поле «%s» може викориÑтовуватиÑÑ Ð´Ð»Ñ ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, Ñкий\n"
+"відповідає за безпеку. ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÑтиметьÑÑ Ð½Ð° вказану адреÑу."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ÐдмініÑтратор з безпеки"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Зараз вам потрібно вибрати, Ñкі розділи викориÑтовувати Ð´Ð»Ñ Ð²ÑтановленнÑ\n"
+"Вашої нової ÑиÑтеми Mageia. Якщо ці розділи вже були Ñтворені\n"
+"при попередньому вÑтановленні ÑиÑтеми GNU/Linux, або Ñтворені іншою\n"
+"програмою розподілу диÑку, ви можете ÑкориÑтатиÑÑ Ð²Ð¶Ðµ Ñ–Ñнуючими\n"
+"розділами. Ð’ іншому випадку потрібно Ñтворити розділи на твердому диÑку.\n"
+"\n"
+"Щоб Ñтворити розділи, вам потрібно вибрати твердий диÑк. ви можете\n"
+"вибрати диÑк, клацнувши на \"hda\" Ð´Ð»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ диÑку типу IDE,\n"
+"\"hdb\" Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ диÑку типу IDE, \"sda\", Ñкщо ви будете вÑтановлювати\n"
+"ÑиÑтему на першому диÑку типу SCSI Ñ– так далі.\n"
+"\n"
+"Щоб розбити диÑк на розділи, ви можете ÑкориÑтатиÑÑ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ командами:\n"
+"\n"
+" * «%s»: вилучає вÑÑ– розділи на вибраному твердому диÑку\n"
+"\n"
+" * «%s»: Ñ†Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° автоматично Ñтворить розділи типу ext4 та swap\n"
+"на вільному міÑці диÑку\n"
+"\n"
+"«%s»: дає доÑтуп до додаткових параметрів:\n"
+"\n"
+" * «%s»: запиÑує таблицю розділів на диÑкету. ВикориÑтовуєтьÑÑ Ð´Ð»Ñ\n"
+"Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– розділів при потребі. Дуже рекомендуєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚Ð¸\n"
+"цей крок.\n"
+"\n"
+" * «%s»: дає змогу вам відновити раніше запиÑану таблицю розділів з\n"
+"диÑкети.\n"
+"\n"
+" * «%s»: Ñкщо Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² вашого диÑку пошкоджена, ви можете\n"
+"Ñпробувати відновити Ñ—Ñ—, ÑкориÑтавшиÑÑŒ цією командою. Будь лаÑка,\n"
+"будьте обережними Ñ– пам'Ñтайте, що Ñ†Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° не завжди Ñпрацьовує.\n"
+"\n"
+" * «%s»: відмовитиÑÑ Ð²Ñ–Ð´ вÑÑ–Ñ… змін Ñ– завантажити таблицю розділів, Ñка\n"
+"була на Вашому твердому диÑку.\n"
+"\n"
+" * «%s»: відміна цього параметра зробить необхідним Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–\n"
+"Ñ€Ð¾Ð·Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ñ–Ð¼Ð½Ð¸Ñ… ноÑіїв - диÑкети Ñ– компакт-диÑку - кориÑтувачами\n"
+"вручну.\n"
+"\n"
+" * «%s»: викориÑтайте цю команду, Ñкщо ви хочете, щоб помічник розподілив\n"
+"ваш диÑк. РекомендуєтьÑÑ, Ñкщо ви не розумієтеÑÑŒ добре про\n"
+"розподіл диÑку. \n"
+"\n"
+" * «%s»: викориÑтайте цю команду, щоб ÑкаÑувати вÑÑ– зміни.\n"
+"\n"
+" * «%s»: дозволити додаткові дії при розбиванні (тип, параметри, формат)\n"
+"Ñ– отримати більше інформації про твердий диÑк.\n"
+"\n"
+" * «%s»: Ñ†Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° запише зміни на диÑк піÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк ви закінчите "
+"розбиттÑ\n"
+"вашого жорÑткого диÑка. \n"
+"\n"
+"Коли ви задаєте розмір розділу, можете точніше задати розмір,\n"
+"викориÑтовуючи клавіші курÑора на клавіатурі.\n"
+"\n"
+"Примітка: ви можете виконати будь-Ñку команду з клавіатури. ПереміщайтеÑÑ\n"
+"по розділах з допомогою клавіш [Tab] і [Up/Down].\n"
+"\n"
+"Коли певний розділ вибрано, ви можете викориÑтовувати:\n"
+"\n"
+" * Ctrl-c, щоб Ñтворити новий розділ (Ñкщо вибрано порожній розділ)\n"
+"\n"
+" * Ctrl-d, щоб Ñтерти розділ\n"
+"\n"
+" * Ctrl-m, щоб вÑтановити точку монтуваннÑ\n"
+"\n"
+"Щоб отримати інформацію про різні типи файлових ÑиÑтем, Ñкі ви можете\n"
+"Ñтворити, прочитайте розділ ext2FS з \"Reference Manual\".\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr "Зберегти таблицю розділів"
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr "Відновити таблицю розділів"
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr "Виправити таблицю розділів"
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ðвтоматичне Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… ноÑіїв"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr "МайÑтер"
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr "Вернути"
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Перемикнути між режимами ЕкÑперт/Звичайний"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Ðа Вашому диÑку знайдено більше одного розділу Microsoft.\n"
+"Виберіть, будь лаÑка, розмір Ñкого з них ви хотіли б змінити, длÑ\n"
+"того, щоб вÑтановити операційну ÑиÑтем Mageia.\n"
+"\n"
+"Кожен розділ подано в такому виглÑді: \"Ðазва в Linux\", \"Ðазва у\n"
+"Windows\", \"Розмір\".\n"
+"\n"
+"\"Ðазва в Linux\" подана таким чином: \"тип твердого диÑка\",\n"
+"\"номер жорÑткого диÑка\", \"номер розділу на диÑку\", (наприклад:\n"
+"\"hda1\").\n"
+"\n"
+"Тип жорÑткого диÑка\" - це \"hd\", Ñкщо ви маєте диÑк типу IDE, Ñ– \"sd\",\n"
+"Ñкщо ви маєте твердий диÑк типу SCSI.\n"
+"\n"
+"\"Ðомер жорÑткого диÑка\" - це завжди літера піÑÐ»Ñ \"hd\" чи \"sd\". ДлÑ\n"
+"диÑків типу IDE це:\n"
+"\n"
+" * \"a\" - головний диÑк (master) на першому контролері IDE,\n"
+"\n"
+" * \"b\" - вторинний (slave) диÑк на першому контролері IDE,\n"
+"\n"
+" * \"c\" - головний диÑк на другому контролері IDE,\n"
+"\n"
+" * \"d\" - вторинний диÑк на другому контролері IDE.\n"
+"\n"
+"Ð”Ð»Ñ SCSI диÑків \"a\" означає \"головний диÑк\", \"b\" - другорÑдний диÑк, "
+"Ñ–\n"
+"т.д. ...\n"
+"\n"
+"\"Ðазва у ВіндовÑ\" - це літера вашого жорÑткого диÑка, Ñк ви Ñ—Ñ— бачите\n"
+"при роботі у Ð’Ñ–Ð½Ð´Ð¾Ð²Ñ (перший диÑк чи розділ називаєтьÑÑ \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: перевірити поточний вибір країни. Якщо ви знаходитеÑÑŒ не\n"
+"в цій країні, натиÑніть кнопку «%s» Ñ– виберіть іншу країну. Якщо Вашої\n"
+"країни немає в першому переліку, натиÑніть «%s», щоб отримати повний\n"
+"ÑпиÑок країн."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Цей крок виконуєтьÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ у випадку, Ñкщо на вашій машині було\n"
+"знайдено Ñтарий розділ GNU/Linux.\n"
+"\n"
+"DrakX зараз потрібно знати, чи ви хочете виконати нове вÑтановленнÑ,\n"
+"чи поновити Ñ–Ñнуючу ÑиÑтему Mageia:\n"
+"\n"
+" * «%s»: Ð’ більшій чаÑтині це повніÑтю знищує Ñтару ÑиÑтему. Якщо Ви\n"
+"хочете змінити Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð¶Ð¾Ñ€Ñткого диÑка на розділи або змінити файлову\n"
+"ÑиÑтему, викориÑтовуйте цей параметр. Проте в залежноÑті від Ñхеми\n"
+"Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð½Ð° розділи ви можете оберегти деÑкі з Ñ–Ñнуючих даних від\n"
+"перепиÑуваннÑ.\n"
+"\n"
+" * «%s»: цей тип вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” вам поновити пакунки, вже\n"
+"вÑтановлені на вашій ÑиÑтемі Mageia. ваша Ñ–Ñнуюча Ñхема\n"
+"Ñ€Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð½Ð° розділи Ñ– дані кориÑтувачів не змінюютьÑÑ. БільшіÑть інших\n"
+"кроків вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð»Ð¸ÑˆÐ°ÑŽÑ‚ÑŒÑÑ, подібно до Ñтандартного вÑтановленнÑ.\n"
+"\n"
+"ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"ПоновленнÑ\" працюватиме на ÑиÑтемах з\n"
+"Mageia верÑÑ–Ñ— \"8.1\" Ñ– пізніших. Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²ÐµÑ€Ñій,\n"
+"попередніх до Mageia \"8.1\" не рекомендуєтьÑÑ."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Ð’ залежноÑті від типової мови, Ñку ви вказали у розділі, drakX\n"
+"автоматично вибере певний тип конфігурації клавіатури. Перевірте,\n"
+"щоб Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ð»Ð¾ Вашому вибору, Ñкщо потрібно, виберіть\n"
+"відповідну мапу.\n"
+"\n"
+"Проте, може не Ñ–Ñнувати мапи клавіатури, що точно відповідає вашій мові:\n"
+"наприклад, Ñкщо ви англомовний швейцарець, ви вÑе одно можете\n"
+"забажати кориÑтуватиÑÑŒ швейцарÑькою мапою. Ðбо, Ñкщо ви говорите\n"
+"англійÑькою, але живете в Квебеку, ви потраплÑєте в аналогічну\n"
+"Ñитуацію, коли ваша рідна мова Ñ– мапа клавіатури не Ñпівпадають. Ð’\n"
+"таких випадках цей крок вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ñть вам змогу вибрати\n"
+"відповідну клавіатуру з наданого ÑпиÑку.\n"
+"\n"
+"ÐатиÑніть кнопку «%s», щоб побачити повний ÑпиÑок мап клавіатур.\n"
+"\n"
+"Якщо ви вибрали мапу, що оÑнована на нелатинÑькому алфавіті,\n"
+"наÑтупний діалог даÑть змогу вибрати комбінацію клавіш, Ñка\n"
+"перемикатиме клавіатуру між латинÑькою Ñ– нелатинÑькою мапами."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Перший крок - вибір мови.\n"
+"\n"
+"ваш вибір мови вплине на мову документації, програми вÑтановленнÑ\n"
+"Ñ– ÑиÑтему в цілому. Спочатку виберіть регіон, в Ñкому ви знаходитеÑÑŒ,\n"
+"потім мову, Ñкою ви розмовлÑєте.\n"
+"\n"
+"ÐатиÑнувши кнопку «%s», ви зможете вибрати інші мови, Ñкі можна\n"
+"вÑтановити на вашій робочій Ñтанції, при цьому вÑтановлюютьÑÑ Ð¾Ñобливі\n"
+"Ð´Ð»Ñ Ð¼Ð¾Ð²Ð¸ файли ÑиÑтемної документації Ñ– програми. Ðаприклад, Ñкщо\n"
+"в ÑиÑтемі будуть працювати кориÑтувачі з ІÑпанії, виберіть англійÑьку\n"
+"мову типовою з дерева переглÑду Ñ– «%s» в розділі «Додатково».\n"
+"\n"
+"Кілька Ñлів про підтримку UTF-8 (юнікоду): Unicode — це нове кодуваннÑ\n"
+"Ñимволів, Ñке міÑтить Ñимволи вÑÑ–Ñ… мов. Повна підтримка Ð´Ð»Ñ GNU/Linux\n"
+"вÑе ще перебуває у Ñтадії розробки. Через це Mageia\n"
+"викориÑтовуватиме його залежно від вибору кориÑтувача:\n"
+"\n"
+" * Якщо ви вибрали мови із традиційним кодуваннÑм (мови latin1\n"
+"УкраїнÑька, ЯпонÑька, КитайÑька, КорейÑька, ТайÑька, Грецька,\n"
+"Турецька, більшіÑть мов iso-8859-2), це ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–\n"
+"викориÑтовуватиметьÑÑ;\n"
+"\n"
+" * Інші мови викориÑтовуватимуть юнікод типово;\n"
+"\n"
+" * Якщо вибрано підтримку двох або декількох мов з різним\n"
+"кодуваннÑм, юнікод викориÑтовуватиметьÑÑ Ð´Ð»Ñ Ð²Ñієї ÑиÑтеми;\n"
+"\n"
+" * Ðарешті, незалежно від вибраної мови юнікод також\n"
+"викориÑтовуватиметьÑÑ Ð´Ð»Ñ ÑиÑтеми у випадку, Ñкщо кориÑтувач\n"
+"вказав «%s».\n"
+"\n"
+"Зауважте, що ви не обмежені вибором однієї додаткової мови. Ви\n"
+"можете вибрати Ñ—Ñ… кілька або вÑтановити Ñ—Ñ… вÑÑ–, вибравши пункт «%s».\n"
+"Вибір підтримки мови означає вибір перекладів, шрифтів, перевірку\n"
+"орфографії тощо.\n"
+"\n"
+"Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¼Ñ–Ð¶ різними мовами, вÑтановленими в ÑиÑтемі, можете\n"
+"виконати команду \"/usr/sbin/localedrake\" з правами \"root\", щоб змінити\n"
+"мову Ð´Ð»Ñ Ð²Ñієї ÑиÑтеми. Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— команди від звичайного\n"
+"кориÑтувача змінить мову тільки Ð´Ð»Ñ Ð´Ð°Ð½Ð¾Ð³Ð¾ конкретного кориÑтувача."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ІÑпанÑька"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr "Типово викориÑтовувати Unicode"
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Здебільшого DrakX не має проблем при визначенні кількоÑті кнопок на\n"
+"вашій миші. Якщо це ÑтаєтьÑÑ, приймаєтьÑÑ, що ви маєте двохкнопкову\n"
+"мишу, Ñ– можете Ñконфігурувати Ñ—Ñ— Ð´Ð»Ñ ÐµÐ¼ÑƒÐ»Ñції третьої кнопки. ТретÑ\n"
+"кнопка на двохкнопковій миші може бути \"натиÑнута\" одночаÑним\n"
+"натиÑканнÑм лівої Ñ– правої кнопок. DrakX автоматично знатиме, Ñкий\n"
+"Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовує ваша миша: PS/2, поÑлідовний чи USB.\n"
+"\n"
+"У випадку, Ñкщо ви маєте мишу з трьома кнопками Ñ– без коліщатка,\n"
+"можете вибрати мишу «%s». DrakX тоді налаштує її так, щоб ви могли\n"
+"Ñимулювати його: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ натиÑніть Ñередню кнопку Ñ– переміщуйте\n"
+"мишу вперед-назад.\n"
+"\n"
+"Якщо з певних міркувань ви хочете задати інший тип миші, виберіть його\n"
+"із ÑпиÑку, Ñкий пропонуєтьÑÑ.\n"
+"\n"
+"ви можете вибрати пункт «%s», щоб вÑтановити \"загальний\" тип,\n"
+"Ñкий працює майже з уÑіма типами мишок.\n"
+"\n"
+"Якщо ви вибрали мишу, відмінну від запропонованої, буде показано\n"
+"теÑтове вікно. Перевірте кнопки Ñ– коліщатко, щоб переконатиÑÑ, що\n"
+"миша працює добре. Якщо миша працює неправильно, натиÑніть\n"
+"пробіл або [Return], щоб припинити теÑÑ‚ Ñ– повернутиÑÑ Ð² ÑпиÑок вибору.\n"
+"\n"
+"Миші з коліщатком деколи не визначаютьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾, тому Вам\n"
+"буде потрібно вибрати мишу із ÑпиÑку. ПереконайтеÑÑ, що Ви\n"
+"вибираєте мишу відповідно до порта, до Ñкого вона під'єднана. ПіÑлÑ\n"
+"того, Ñк ви виберете мишу Ñ– натиÑнете на кнопку «%s», на екрані\n"
+"поÑвитьÑÑ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¸ÑˆÑ–. Покрутіть коліщатко миші, щоб\n"
+"переконатиÑÑ, що воно активізоване правильно. ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк Ви\n"
+"побачите, що коліщатко на екрані рухаєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до коліщатка\n"
+"на миші, протеÑтуйте кнопки Ñ– переконайтеÑÑ, що вказівник миші\n"
+"на екрані рухаєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¼Ð¸ÑˆÑ–."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "з емулÑцією коліщатка"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "УніверÑальна | Будь-Ñка миша PS/2 та USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Будь лаÑка, виберіть вірний порт. Ðаприклад, порт COM1 у MS\n"
+"Windows має назву ttyS0 у GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Завантажувач Ñ” невеликою програмою, Ñка завантажуєтьÑÑ Ð¿Ñ–ÑлÑ\n"
+"ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿'ютера. Він відповідає за Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñієї\n"
+"ÑиÑтеми. Зазвичай вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÐ²Ð°Ñ‡Ð° Ñ” повніÑтю\n"
+"автоматизованим. DrakX проаналізує завантажувальний Ñектор диÑку\n"
+"і відповідно до знайденого на ньому виконає таке:\n"
+"\n"
+" * Ñкщо знайдено Ñектор Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Windows, він замінить його на\n"
+"Ñектор Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ GRUB/LILO. Ð’ такий ÑпоÑіб ви зможете\n"
+"завантажувати Ñк GNU/Linux, так Ñ– іншу ОС.\n"
+"\n"
+" * Ñкщо знайдено Ñектор Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ GRUB або LILO, його буде\n"
+"замінено на новий.\n"
+"\n"
+"Якщо неможливо визначити, DrakX запитає ВаÑ, куди вÑтановити\n"
+"завантажувач. Ð’ загальному випадку «%s» Ñ” найкращим міÑцем.\n"
+"Вибравши «%s», ви не вÑтановите завантажувач. ВикориÑтовуйте\n"
+"це тільки тоді, коли розумієте, що робите."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Зараз наÑтав Ñ‡Ð°Ñ Ð²Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ ÑиÑтему друку на Вашому комп'ютері. Інші\n"
+"ОС мають одну ÑиÑтему друку, але Mageia пропонує дві.\n"
+"Кожна ÑиÑтема друку найкраще підходить до різних типів конфігурації.\n"
+"\n"
+" * «%s» — Ñкий Ñ” акронімом Ð´Ð»Ñ \"друкувати, не Ñтавити в чергу\", Ñ”\n"
+"вибором, коли ви маєте безпоÑередньо під'єднану друкарку Ñ– не\n"
+"хочете мати проблем із зминаннÑм паперу, Ñ– не маєте мережевих\n"
+"друкарок. («%s» керуватиме тільки дуже проÑтими випадками з\n"
+"мережею Ñ– Ñ” в деÑкій мірі повільнішим, ніж викориÑÑ‚Ð°Ð½Ð½Ñ Ð· мережами).\n"
+"РекомендуєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати \"pdq\", Ñкщо це ваш перший доÑвід\n"
+"викориÑÑ‚Ð°Ð½Ð½Ñ GNU/Linux.\n"
+"\n"
+" * «%s» - \"Загальна ÑиÑтема друку Ð´Ð»Ñ Linux\", Ñ” відміннім вибором\n"
+"Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ на міÑцеву друкарку або на іншу в будь-Ñкій точці планети.\n"
+"Вона проÑта Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– може працювати Ñк клієнт або Ñервер\n"
+"Ð´Ð»Ñ Ñтарих ÑиÑтем друку \"lpd \", тобто Ñ” ÑуміÑною з попередніми\n"
+"операційними ÑиÑтемами, Ñкі можуть вÑе ще вимагати ÑервіÑів друку.\n"
+"Хоч вона Ñ– Ñ” дуже потужною, загальне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ” майже таким\n"
+"Ñамим проÑтим, Ñк Ñ– \"pdq\". Якщо вам потрібно емулювати Ñервер \"lpd\",\n"
+"переконайтеÑÑ, що увімкнена Ñлужба \"cups-lpd \". «%s» має графічну\n"
+"оболонку Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÑƒ або вибору параметрів принтера Ñ– ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð½Ð¸Ð¼.\n"
+" \n"
+"Якщо ви зараз зробите вибір, а пізніше побачите, що Ñ†Ñ ÑиÑтема друку\n"
+"вам не подобаєтьÑÑ, ви можете Ñ—Ñ— замінити з допомогою PrinterDrake з\n"
+"Центру ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Mageia, натиÑнувши кнопку «%s»."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr "CUPS"
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ЕкÑпертний режим"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Спочатку DrakX Ñпробує відшукати вÑÑ– тверді диÑки на Вашому\n"
+"комп'ютері. Також він зробить пошук одної або більше карт PCI SCSI.\n"
+"Якщо DrakX знайде плату SCSI, то автоматично вÑтановить Ð´Ð»Ñ Ð½ÐµÑ—\n"
+"драйвер.\n"
+"\n"
+"Через те, що Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð»Ñ–Ð·Ð° не Ñ” проÑтим, DrakX може завершити\n"
+"Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð²ÐµÑ€Ð´Ð¸Ñ… диÑків невдало. Якщо таке трапитьÑÑ, вам потрібно\n"
+"буде ввеÑти тип Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ.\n"
+"\n"
+"Якщо вам потрібно буде вручну вибирати драйвер, DrakX запитає,\n"
+"чи хочете ви налаштувати його параметри. Краще, Ñкщо ви вкажете\n"
+"DrakX випробувати плату з оÑобливими Ð´Ð»Ñ Ð½ÐµÑ— параметрами, потрібними\n"
+"Ð´Ð»Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— адаптера. У більшоÑті випадків це працює нормально.\n"
+"\n"
+"Якщо DrakX не зможе вÑтановити тип параметрів, необхідних длÑ\n"
+"передачі обладнанню, вам потрібно буде налаштувати драйвер вручну."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: Ñкщо ÑиÑтема визначить звукову карту, Ñ—Ñ— тип буде показано тут.\n"
+"Якщо ви побачите, що вона не того типу, що дійÑно вÑтавлена у Вашій\n"
+"ÑиÑтемі, можете натиÑнути кнопку Ñ– вибрати інший драйвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX пропонує Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду підÑумкову інформацію, Ñку він зібрав\n"
+"про Вашу ÑиÑтему. Ð’ залежноÑті від вÑтановленого заліза, у ВаÑ\n"
+"повинні бути або вÑÑ–, або деÑкі пункти. Кожен пункт може бути\n"
+"налаштований, що завершуєтьÑÑ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ¸Ð¼ підÑумком про поточну\n"
+"конфігурацію. ÐатиÑніть на відповідну «%s» кнопку, щоб змінити.\n"
+"\n"
+" * «%s»: перевірити поточну мапу клавіатури Ñ– змінити, Ñкщо потрібно.\n"
+"\n"
+" * «%s»: перевірити вибір країни. Якщо ви знаходитеÑÑŒ не в цій\n"
+"країні, натиÑніть кнопку «%s» Ñ– виберіть іншу. Якщо вашої країни\n"
+"немає в показаному початковому ÑпиÑку, натиÑніть кнопку «%s»,\n"
+"щоб отримати повний ÑпиÑок країн.\n"
+"\n"
+" * «%s»: типово DrakX визначає чаÑовий поÑÑ Ð½Ð° оÑнові країни, Ñку\n"
+"ви вибрали. ви можете натиÑнути кнопку «%s», Ñкщо його визначено\n"
+"неправильно.\n"
+"\n"
+" * «%s»: перевірте Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¸ÑˆÑ– Ñ– натиÑніть на кнопку, щоб\n"
+"змінити, Ñкщо необхідно.\n"
+"\n"
+" * «%s»: Ñкщо у вашій ÑиÑтемі знайдено звукову карту, Ñ—Ñ— буде\n"
+"показано тут. Якщо ви виÑвите, що показана звукова карта не Ñ”\n"
+"тією, що наÑправді вÑтановлена у ÑиÑтемі, можете натиÑнути на\n"
+"кнопку і вибрати інший драйвер.\n"
+"\n"
+" * «%s»: Ñкщо у вашій ÑиÑтемі знайдено карту ТБ, Ñ—Ñ— має бути показано\n"
+"тут. Якщо ж ви маєте карту ТБ, але Ñ—Ñ— не знайдено, натиÑніть «%s»,\n"
+"щоб Ñпробувати налаштувати Ñ—Ñ— вручну.\n"
+"\n"
+" * «%s»: ви можете натиÑнути «%s», щоб змінити параметри, пов'Ñзані\n"
+"з картою, Ñкщо бачите, що конфігурацію вÑтановлено неправильно.\n"
+"\n"
+" * «%s»: типово DrakX налаштовує графічний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð· роздільною\n"
+"здатніÑтю \"800x600\" або \"1024x768\". Якщо це Ð’Ð°Ñ Ð½Ðµ задовольнÑÑ”,\n"
+"натиÑніть «%s», щоб переналаштувати графічний інтерфейÑ.\n"
+"\n"
+" * «%s»: Якщо ви хочете зараз налаштувати доÑтуп до інтернету\n"
+"або міÑцевої мережі. ЗвернітьÑÑ Ð´Ð¾ друкованої документації, або\n"
+"Центру ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Mageia піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²ÑтановленнÑ,\n"
+"щоб отримати повну довідку.\n"
+"\n"
+" * «%s»: тут можна налаштувати адреÑи прокÑÑ– HTTP Ñ– FTP, Ñкщо\n"
+"ваша машина знаходитьÑÑ Ð·Ð° прокÑÑ–-Ñервером.\n"
+"\n"
+" * «%s»: цей пункт даÑть змогу перевизначити рівень безпеки, Ñкий\n"
+"вÑтановлено попереднім кроком ().\n"
+"\n"
+" * «%s»: Ñкщо ви плануєте під'єднати ваш комп’ютер до інтернету,\n"
+"хорошою ідеєю Ñ” захиÑтиÑÑ Ð²Ñ–Ð´ Ð²Ñ‚Ð¾Ñ€Ð³Ð½ÐµÐ½Ð½Ñ ÑˆÐ»Ñхом вÑтановленнÑ\n"
+"захиÑного шлюзу. ЗвернітьÑÑ Ð´Ð¾ відповідного розділу \"Starter Guide\"\n"
+"Ð´Ð»Ñ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ñ–ÑˆÐ¾Ñ— інформації про вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ñ…Ð¸Ñного шлюзу.\n"
+"\n"
+" * «%s»: Ñкщо ви хочете змінити конфігурацію завантажувача,\n"
+"натиÑніть цю кнопку. Ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾ Ð´Ð»Ñ Ð´Ð¾Ñвідчених\n"
+"кориÑтувачів. ЗвернітьÑÑ Ð´Ð¾ паперової документації або вбудованої\n"
+"довідки щодо налаштувань завантажувача у Центрі керуваннÑ\n"
+"Mageia.\n"
+"\n"
+"\n"
+" * «%s»: тут ви можете підправити, Ñкі Ñлужби будуть виконуватиÑÑ\n"
+"у вашій ÑиÑтемі. Якщо ви плануєте викориÑтовувати цю машину Ñк\n"
+"Ñервер, варто Ñ” переглÑнути ці налаштуваннÑ."
+
+#: ../help.pm:809
+#, c-format
+msgid "TV card"
+msgstr "ТБ-картка"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "Картка ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графічний інтерфейÑ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Виберіть твердий диÑк, Ñкий ви хочете відформатувати длÑ\n"
+"ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ розділу Mageia. Будьте обережні:\n"
+"вÑÑ– дані, що знаходÑтьÑÑ Ð² цьому розділі, буде втрачено, Ñ—Ñ…\n"
+"неможливо буде відновити!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"ÐатиÑніть «%s», Ñкщо ви хочете Ñтерти вÑÑ– дані Ñ– розділи на цьому\n"
+"твердому диÑку. Будьте уважні, піÑÐ»Ñ Ð½Ð°Ñ‚Ð¸ÑÐ½ÐµÐ½Ð½Ñ Ð½Ð° «%s» Ви\n"
+"не зможете відновити жодних даних і розділів на цьому твердому\n"
+"диÑку, включаючи також будь-Ñкі дані ВіндовÑ.\n"
+"\n"
+"ÐатиÑніть «%s», щоб зупинити цю операцію без втрати даних Ñ–\n"
+"розділів, Ñкі знаходÑтьÑÑ Ð½Ð° цьому твердому диÑку."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далі ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ðазад"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": натиÑÐ½ÐµÐ½Ð½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ \"%s\" викликає Помічника налаштуваннÑ\n"
+#~ "друкарки. ЗвернітьÑÑ Ð´Ð¾ відповідного розділу \"Starter Guide\" длÑ\n"
+#~ "додаткової інформації про вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— друкарки. Показаний\n"
+#~ "там Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð´Ñ–Ð±Ð½Ð¸Ð¹ до того, що викориÑтовуєтьÑÑ Ð¿Ñ€Ð¸ вÑтановленні."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Це найважливіший крок Ð´Ð»Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ Вашої ÑиÑтеми GNU/Linux: Вам\n"
+#~ "потрібно ввеÑти пароль Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Root. Root - це ÑиÑтемний\n"
+#~ "адмініÑтратор Ñ– тільки йому дозволено робити Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми,\n"
+#~ "додавати кориÑтувачів, змінювати загальну конфігурацію ÑиÑтеми,\n"
+#~ "таке інше. Одним Ñловом - Root може вÑе! ОÑÑŒ чому Вам Ñлід вибирати\n"
+#~ "пароль, Ñкий важко вгадати - DrakX підкаже Вам, Ñкщо пароль занадто\n"
+#~ "легкий. Як Ви побачите, пароль вводити необов'Ñзково, але ми\n"
+#~ "наÑтійливо заÑтерігаємо Ð’Ð°Ñ Ð¿Ñ€Ð¾Ñ‚Ð¸ такого. GNU/Linux така ж Ñхильна\n"
+#~ "до помилок оператора, Ñк Ñ– будь-Ñка інша ÑиÑтема. ОÑкільки Root може\n"
+#~ "обминути вÑÑ– Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ– ненароком Ñтерти вÑÑ– дані на вÑÑ–Ñ… розділах,\n"
+#~ "неуважно працюючи з ними, тому повинно бути важко Ñтати\n"
+#~ "кориÑтувачем root.\n"
+#~ "\n"
+#~ "Пароль має бути Ñумішшю алфавітно-цифрових Ñимволів Ñ– бути\n"
+#~ "завдовжки не менше 8 Ñимволів. Ðіколи не запиÑуйте пароль - це\n"
+#~ "зробить занадто легким Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½ÐµÑанкціонованого доÑтупу до\n"
+#~ "ÑиÑтеми.\n"
+#~ "\n"
+#~ "Одне заÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ -- не робіть пароль занадто довгим чи Ñкладним,\n"
+#~ "тому що Вам потрібно його запам'Ñтовувати.\n"
+#~ "\n"
+#~ "Коли Ви будете вводити пароль, його не буде видно на екрані. Щоб\n"
+#~ "зменшити можливіÑть помилки при вводі Ð¿Ð°Ñ€Ð¾Ð»Ñ \"вÑліпу\", Вам\n"
+#~ "потрібно буде ввеÑти його двічі. Якщо ж так ÑтанетьÑÑ, що Ви\n"
+#~ "допуÑтите одну Ñ– ту ж помилку двічі, Вам потрібно буде ввеÑти цей\n"
+#~ "\"неправильний\" пароль при першій реєÑтрації в ÑиÑтемі.\n"
+#~ "\n"
+#~ "Якщо Ви хочете дозволити доÑтуп до цього комп'ютера Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾\n"
+#~ "контролю Ñервером автентифікації, натиÑніть кнопку \"%s\".\n"
+#~ "\n"
+#~ "Якщо Ваша мережа викориÑтовує Ñлужби автентифікації LDAP, NIS або\n"
+#~ "PDC Windows Domain, виберіть одну з можливоÑтей з \"%s\". Якщо Ви не\n"
+#~ "знаєте, Ñку з них викориÑтовувати, запитайте в Ñвого ÑиÑтемного "
+#~ "адмініÑтратора.\n"
+#~ "\n"
+#~ "Якщо Ви боїтеÑÑŒ, що маєте проблеми із запам'ÑтовуваннÑм паролів, Ñкщо\n"
+#~ "Ваш комп'ютер ніколи не буде під'єднано до Інтернету, або Ви абÑолютно\n"
+#~ "довірÑєте вÑім, хто викориÑтовує Ваш комп'ютер, можете вибрати \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "розпізнаваннÑ"
diff --git a/perl-install/install/help/po/uz.po b/perl-install/install/help/po/uz.po
new file mode 100644
index 000000000..487318fe7
--- /dev/null
+++ b/perl-install/install/help/po/uz.po
@@ -0,0 +1,1171 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-04-23 12:29+0200\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <kmashrab@uni-bremen.de>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Davom etishdan oldin litsenziyaning shartlarini e'tibor bilan o'qib\n"
+"chiqing. Litsenziya butun Mageia'ga tegishli. Agar uning barcha\n"
+"shartlariga rozi bo'lsangiz, \"%s\"ni tanlang. Agar rozi bo'lmasangiz,\n"
+"kompyuterni o'chirib-yoqish uchun \"%s\" tugmasini bosing."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu qulaylikdan foydalanishni istaysizmi?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia bir nechta kompakt-disklarda tarqatiladi. Agar tanlangan paket\n"
+"boshqa kompakt-diskda joylashgan bo'lsa, DrakX joriy kompakt-diskni\n"
+"chiqaradi va tegishlisini qo'yishni so'raydi. Agar so'ralgan kompakt-disk "
+"sizda\n"
+"bo'lmasa, \"%s\" tugmasini bosing. Bu holda, tegishli paketlar o'rnatilmaydi."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Yangilash"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Asosiy qo'llanmalar bilan"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Haqiqiy minimal o'rnatish"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Monitor\n"
+"\n"
+" Odatda, o'rnatuvchi kompyuteringizga ulangan monitorni\n"
+"avtomatik ravishda aniqlaydi va moslaydi. Agar bu noto'g'ri\n"
+"bo'lsa, aslida ulangan monitorni ro'yxatdan tanlashingiz mumkin."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Odatda, o'rnatuvchi kompyuteringizga ulangan monitorni\n"
+"avtomatik ravishda aniqlaydi va moslaydi. Agar bu noto'g'ri\n"
+"bo'lsa, aslida ulangan monitorni ro'yxatdan tanlashingiz mumkin."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Diskda bor qismlardan foydalanish"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Butun diskni o'chirish"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Avto-o'rnatish disketni yaratish"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Xavfsizlik boshqaruvchisi"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Odiy/ekspert usuliga o'tish"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Istagan PS/2 va USB sichqoncha"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Iltimos to'g'ri portni tanlang. Masalan, Windows'dagi \"COM1\"\n"
+"portining nomi GNU/Linux'da \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": agar kompyuterda tovush kartasi aniqlansa u shu erda ko'rsatiladi.\n"
+"Agar ko'rsatilgan tovush kartasi kompyuterdagi tovush kartasi\n"
+"bilan mos kelmasa, tugmani bosib boshqa drayverni tanlashingiz mumkin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN karta"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafik interfeys"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Bu diskdagi barcha ma'lumotni va diskning barcha qismlarini\n"
+"o'chirish uchun \"%s\"ni bosing. Ehtiyot bo'ling, \"%s\"ni bosganingizdan\n"
+"keyin diskdagi ma'lumotni va diskning qismlarini, shu jumlada\n"
+"Windows ma'lumotini ham, tiklab bo'lmaydi.\n"
+"\n"
+"Ma'lumotni va diskning barcha qismlarini yo'qotmasdan bu\n"
+"operatsiyani to'xtatish uchun \"%s\"ni bosing."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Keyingi ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Oldingi"
+
+#~ msgid "authentication"
+#~ msgstr "tasdiqlash"
diff --git a/perl-install/install/help/po/uz@cyrillic.po b/perl-install/install/help/po/uz@cyrillic.po
new file mode 100644
index 000000000..c318abb18
--- /dev/null
+++ b/perl-install/install/help/po/uz@cyrillic.po
@@ -0,0 +1,1146 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-04-23 12:29+0200\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <kmashrab@uni-bremen.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Давом Ñтишдан олдин лицензиÑнинг шартларини Ñътибор билан ўқиб\n"
+"чиқинг. Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð±ÑƒÑ‚ÑƒÐ½ Mageia'га тегишли. Ðгар унинг барча\n"
+"шартларига рози бўлÑангиз, \"%s\"ни танланг. Ðгар рози бўлмаÑангиз,\n"
+"компьютерни ўчириб-ёқиш учун \"%s\" тугмаÑини боÑинг."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Бу қулайликдан фойдаланишни иÑтайÑизми?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia бир нечта компакт-диÑкларда тарқатилади. Ðгар танланган "
+"пакет\n"
+"бошқа компакт-диÑкда жойлашган бўлÑа, DrakX жорий компакт-диÑкни\n"
+"чиқаради ва тегишлиÑини қўйишни Ñўрайди. Ðгар Ñўралган компакт-диÑк Ñизда\n"
+"бўлмаÑа, \"%s\" тугмаÑини боÑинг. Бу ҳолда, тегишли пакетлар ўрнатилмайди."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Янгилаш"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "ÐÑоÑий қўлланмалар билан"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Ҳақиқий минимал ўрнатиш"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Монитор\n"
+"\n"
+" Одатда, ўрнатувчи компьютерингизга уланган мониторни\n"
+"автоматик равишда аниқлайди ва моÑлайди. Ðгар бу нотўғри\n"
+"бўлÑа, аÑлида уланган мониторни рўйхатдан танлашингиз мумкин."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Одатда, ўрнатувчи компьютерингизга уланган мониторни\n"
+"автоматик равишда аниқлайди ва моÑлайди. Ðгар бу нотўғри\n"
+"бўлÑа, аÑлида уланган мониторни рўйхатдан танлашингиз мумкин."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ДиÑкда бор қиÑмлардан фойдаланиш"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Бутун диÑкни ўчириш"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Ðвто-ўрнатиш диÑкетни Ñратиш"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ХавфÑизлик бошқарувчиÑи"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Одий/ÑкÑперт уÑулига ўтиш"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "ИÑтаган PS/2 ва USB Ñичқонча"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ Ñ‚ÑžÒ“Ñ€Ð¸ портни танланг. МаÑалан, Windows'даги \"COM1\"\n"
+"портининг номи GNU/Linux'да \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "ЭкÑперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": агар компьютерда товуш картаÑи аниқланÑа у шу ерда кўрÑатилади.\n"
+"Ðгар кўрÑатилган товуш картаÑи компьютердаги товуш картаÑи\n"
+"билан Ð¼Ð¾Ñ ÐºÐµÐ»Ð¼Ð°Ñа, тугмани боÑиб бошқа драйверни танлашингиз мумкин."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN karta"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "График интерфейÑ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard disk drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Бу диÑкдаги барча маълумотни ва диÑкнинг барча қиÑмларини\n"
+"ўчириш учун \"%s\"ни боÑинг. Эҳтиёт бўлинг, \"%s\"ни боÑганингиздан\n"
+"кейин диÑкдаги маълумотни ва диÑкнинг қиÑмларини, шу жумлада\n"
+"Windows маълумотини ҳам, тиклаб бўлмайди.\n"
+"\n"
+"Маълумотни ва диÑкнинг барча қиÑмларини йўқотмаÑдан бу\n"
+"операциÑни тўхтатиш учун \"%s\"ни боÑинг."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Кейинги ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Олдинги"
+
+#~ msgid "authentication"
+#~ msgstr "таÑдиқлаш"
diff --git a/perl-install/install/help/po/vi.po b/perl-install/install/help/po/vi.po
new file mode 100644
index 000000000..887d001df
--- /dev/null
+++ b/perl-install/install/help/po/vi.po
@@ -0,0 +1,1957 @@
+# translation of DrakX-vi.po to
+# Vietnamese Translation for DrakX module.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Trinh Minh Thanh <tmthanh@yahoo.com> 2001-2005.
+# Larry Nguyen <larry@vnlinux.org> 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-vi version\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-06-02 21:17+0700\n"
+"Last-Translator: Larry Nguyen <larry@vnlinux.org>\n"
+"Language-Team: <gnomevi-list@lists.sourceforge.net>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Trước khi tiếp tục, hãy Ä‘á»c kỹ các Ä‘iá»u khoản ghi trong bản quyá»n.\n"
+"Nó bao xuyên suốt toàn bộ phân phối Mageia. Nếu đồng ý với\n"
+"má»i Ä‘iá»u khoản trong đó, nhấn vào há»™p kiểm \"%s\". Nếu không, hãy\n"
+"nhấn nút \"%s\" để khởi động lại máy tính."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux là hệ thống Ä‘a ngưá»i dùng, nghÄ©a là từng ngưá»i dùng có thể có\n"
+"riêng các tùy thích, tập tin,... Bạn có thể Ä‘á»c ``Starter Guide'' để biết "
+"thêm\n"
+"Ä‘iá»u này.Nhưng không như \"root\", là ngưá»i quản trị, các ngưá»i dùng mà bạn\n"
+"thêm vào đây sẽ không được quyá»n thay đổi bất kỳ cái gì ngoài các tập tin\n"
+"và cấu hình cá»§a riêng há». Bạn sẽ phải tạo ít nhất má»™t ngưá»i dùng thưá»ng lệ\n"
+"cho mình. Äó là tài khoản mà bạn nên dùng cho công việc hàng ngày. Mặc\n"
+"dù bạn cũng có thể đăng nhập \"root\" để làm việc, nhưng sẽ rất nguy hiểm!\n"
+"Chỉ một lỗi nhỠcũng có thể làm hệ thống không hoạt động nữa. Nếu bạn\n"
+"gây má»™t lá»—i trầm trá»ng khi là ngưá»i dùng thông thưá»ng, bạn có thể chỉ mất "
+"má»™t\n"
+"số thông tin mà không làm ảnh hưởng tới toàn bộ hệ thống.\n"
+"\n"
+"Trưá»ng thứ nhất há»i tên thật cá»§a bạn. Tuy nhiên, Ä‘iá»u này không phải là bắt\n"
+"buộc. -- có thể nhập bất kỳ cái gì bạn muốn. DrakX sẽ lấy từ đầu tiên mà "
+"bạn\n"
+"nhập để Ä‘em nhập vào trưá»ng \"%s\", là tên mà ngưá»i dùng này\n"
+"sẽ sử dụng để đăng nhập vào hệ thống. Nếu muốn, bạn có thể thay đổi nó.\n"
+"Bước tiếp theo là nhập mật khẩu. Vá» phương diện bảo mật, mật khẩu cá»§a ngưá»i\n"
+"dùng thông thưá»ng không quan trá»ng như mật khẩu \"root\", nhưng cÅ©ng đừng\n"
+"để trống hay đặt quá đơn giản để bảo vệ các tập tin riêng của bạn.\n"
+"\n"
+"Má»—i khi nhấn \"%s\", bạn có thể thêm ngưá»i dùng khác cho ngưá»i thân như\n"
+"anh chị em... cá»§a bạn. Nhấn \"%s\" khi đã hoàn thành việc thêm ngưá»i dùng.\n"
+"\n"
+"Nhấn nút \"%s\" cho phép bạn thay đổi \"shell\" mặc định cho ngưá»i dùng\n"
+"đó (mặc định là bash).\n"
+"\n"
+"Khi đã hoàn thành việc thêm ngưá»i dùng, bạn có thể chá»n ngưá»i dùng nào sẽ\n"
+"được tự động đăng nhập vào hệ thống khi khởi động máy tính. Nếu bạn thích\n"
+"tính năng này và không quan tâm nhiá»u đến bảo mật ná»™i bá»™, hãy chá»n ngưá»i\n"
+"dùng mong muốn và trình quản lý cửa sổ rối nhấn \"%s\". Nếu không thích\n"
+"dùng tính năng này, hãy bá» chá»n há»™p kiểm \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bạn muốn dùng tính năng này không?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Trên đây là danh sách các phân vùng Linux hiện có trên đĩa cứng của bạn.\n"
+"Bạn có thể giữ các lá»±a chá»n do đồ thuật tạo ra, chúng thích hợp cho hầu hết\n"
+"các trưá»ng hợp thông thưá»ng. Nếu bạn tạo bất kỳ thay đổi nào, ít nhất phải\n"
+"định ra má»™t phân vùng root (\"/\"). Äừng chá»n phân vùng này nhá» quá vì có "
+"thể bạn\n"
+"sẽ không thể cài đặt đủ phần má»m. Nếu bạn muốn đặt dữ liệu lên má»™t phân\n"
+"vùng riêng biệt, bạn cÅ©ng cần tạo phân vùng cho \"/home\" (vá»›i Ä‘iá»u kiện\n"
+"nếu bạn có sẵn hơn một phân vùng Linux).\n"
+"\n"
+"Mỗi phân vùng được liệt kê như sau: \"Tên\", \"Dung lượng\".\n"
+"\n"
+"\"Tên\" có cấu trúc như sau: \"kiểu đĩa cứng\", \"số hiệu đĩa cứng\",\n"
+"\"số hiệu phân vùng\" (ví dụ, \"hda1\").\n"
+"\n"
+"\"Kiểu ổ cứng\" là \"hd\" nếu ổ cứng của bạn là IDE và \"sd\"\n"
+"nếu là loại SCSI.\n"
+"\n"
+"\"Số hiệu ổ cứng\" luôn là chữ cái đứng sau \"hd\" hoặc \"sd\". Với các\n"
+"ổ cứng IDE:\n"
+"\n"
+" * \"a\" là \"ổ cứng chính nối vá»›i Ä‘iá»u khiển IDE đầu tiên\",\n"
+"\n"
+" * \"b\" là \"ổ cứng phụ nối vá»›i Ä‘iá»u khiển IDE đầu tiên\",\n"
+"\n"
+" * \"c\" là \"ổ cứng chính nối vá»›i Ä‘iá»u khiển IDE thứ hai\",\n"
+"\n"
+" * \"d\" là \"ổ cứng phụ nối vá»›i Ä‘iá»u khiển IDE thứ hai\".\n"
+"\n"
+"Với các ổ đĩa SCSI, \"a\" là \"SCSI ID thấp nhất\", \"b\" là \"SCSI ID\n"
+"thấp thứ nhì\", v.v..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Việc cài đặt Mageia được phân phối trên vài đĩa CDROM. Nếu\n"
+"má»™t gói được chá»n nằm trên CD khác, DrakX sẽ nhả CD hiện thá»i và yêu\n"
+"cầu bạn nạp CD thích hợp. Nếu không có CD đó, hãy nhấn \"%s\", gói\n"
+"tương ứng sẽ không được cài đặt."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Bây giỠlà lúc chỉ ra chương trình nào mà bạn muốn cài đặt vào hệ thống.\n"
+"Hiện có hàng nghìn gói tin dùng cho Mageia và được tổ chức theo\n"
+"nhóm các ứng dụng giống nhau để dễ dàng quản lý.\n"
+"\n"
+"Các gói phần má»m được xếp loại theo các nhóm tương ứng vá»›i việc sá»­ dụng\n"
+"cụ thể cho máy tính. Mageia có 4 kiểu cài đặt sẵn vá»›i nhiá»u loại gói tin.\n"
+"Bạn có thể chá»n dùng các ứng dụng pha trá»™n cá»§a các kiểu cài đặt này, ví dụ\n"
+"như cài đặt kiểu ``Máy trạm'' cùng với việc cài các ứng dụng của kiểu cài\n"
+"đặt ``Máy chủ''.\n"
+"\n"
+" * \"%s\": nếu định dùng máy tính này thành một trạm làm việc,\n"
+"hãy chá»n má»™t hay nhiá»u ứng dụng cá»§a kiểu cài đặt máy trạm.\n"
+"\n"
+" * \"%s\": nếu định sá»­ dụng máy này để lập trình, hãy chá»n các gói\n"
+"mong muốn từ kiểu cài đặt này. Nhóm \"LSB\" sẽ cấu hình hệ thống\n"
+"sao cho việc biên dịch tuân theo má»i đặc Ä‘iểm cá»§a Linux Standard\n"
+"Base.\n"
+"\n"
+" Chá»n nhóm \"LSB\" sẽ cài đặt kernel \"2.4\" thay vì kernel mặc định là\n"
+"\"2.6\". Äiá»u này đảm bảo hệ thống tương thích LBS 100%%. Dù sao, nếu\n"
+"không chá»n nhóm này thì bạn cÅ©ng vẫn có má»™t hệ thống gần như tương\n"
+"thích hoàn toàn với LSB.\n"
+"\n"
+" * \"%s\": nếu muốn dùng máy này làm máy chá»§, hãy chá»n các dịch vụ\n"
+"thông dụng mà bạn muốn cài đặt lên máy tính này.\n"
+"\n"
+" * \"%s\": đây là nÆ¡i bạn sẽ chá»n môi trưá»ng đồ há»a ưa thích.\n"
+"Cần chá»n ít nhất má»™t môi trưá»ng nếu muốn dùng giao diện đồ há»a.\n"
+"\n"
+"Việc hơ con trỠchuột lên tên nhóm sẽ làm xuất hiện đoạn chú giải vắn\n"
+"tắt vỠnhóm đó.\n"
+"\n"
+"Có thể chá»n \"%s\" nếu bạn biết rõ các gói tin hay khi bạn muốn kiểm\n"
+"soát toàn bộ việc cài đặt các gói.\n"
+"\n"
+"Nếu cài đặt theo chế độ \"%s\", bạn có thể bá» chá»n toàn bá»™ các nhóm\n"
+"và không cho cài đặt các gói mới. Nó thích hợp cho việc sửa chữa hay\n"
+"cập nhật hệ thống sẵn có.\n"
+"\n"
+"Nếu bạn bá» chá»n toàn bá»™ các nhóm khi thá»±c hiện cài đặt thưá»ng quy\n"
+"(ngược lại với việc nâng cấp), một hộp thoại sẽ bật lên để gợi ý các tùy\n"
+"chá»n khác nhau cho việc cài đặt tối thiểu:\n"
+"\n"
+" * \"%s\": thực hiện cài đặt tối thiểu các gói tin mà để có một màn hình\n"
+"ná»n đồ há»a làm việc.\n"
+"\n"
+" * \"%s\": cài đặt một hệ thống cơ bản cộng thêm các\n"
+"tiện ích cơ bản cùng với tài liệu của chúng. Việc cài đặt này thích hợp \n"
+"cho việc thiết lập một máy chủ.\n"
+"\n"
+" * \"%s\": sẽ cài đặt thật sự tối thiểu nhất các gói\n"
+"cho một hệ thống Linux hoạt động chỉ với giao diện dòng lệnh. Kích thước\n"
+"cho kiểu cài đặt này là\n"
+"65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Nâng cấp"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Kèm tài liệu cơ bản"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Cài đặt thật tối thiểu"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Nếu bạn đã yêu cầu trình cài đặt là bạn muốn tá»± chá»n thêm các gói tin,\n"
+"bạn sẽ thấy một cây chứa toàn bộ các gói xếp loại theo nhóm và nhóm\n"
+"con. Trong khi duyệt cây này, bạn có thể chá»n toàn bá»™ các nhóm, nhóm\n"
+"con, hay các gói chá»n riêng.\n"
+"\n"
+"Bất kỳ khi nào bạn chá»n má»™t gói tin trên cây, má»™t thuyết minh sẽ xuất\n"
+"hiện từ phải sang trái để cho bạn biết công dụng của gói đó.\n"
+"\n"
+"!! Nếu các gói tin cho server được chá»n cố tình hoặc do nó là thành\n"
+"phần cá»§a má»™t nhóm, bạn sẽ được há»i để khẳng định là bạn thật sá»±\n"
+"muốn những server này được cài đặt. Trong Mageia, bất kỳ\n"
+"server đã được cài đặt nào Ä‘á»u chạy vào lúc khởi động theo mặc định.\n"
+"Thậm chí được coi là an toàn tại thá»i Ä‘iểm phát hành, nó vẫn có thể\n"
+"có lỗ hổng bảo mật được phát hiện sau khi phát hành phiên bản Mandriva\n"
+"Linux. Nếu không biết một dịch vụ nào đó được dùng để làm gì\n"
+"hay tại sao lại được cài đặt, hãy nhấn \"%s\". Nhấn \"%s\" sẽ cài\n"
+"đặt các dịch vụ được liệt kê và chúng sẽ khởi chạy tự động theo\n"
+"mặc định. !!\n"
+"\n"
+"Tùy chá»n \"%s\" đơn giản là để không xuất hiện há»™p thoại cảnh báo khi\n"
+"chương trình cài đặt tá»± động chá»n gói tin để giải quyết phụ thuá»™c.\n"
+"Một số gói có liên quan với nhau như việc cài đặt gói này yêu cầu một\n"
+"số chương trình đã phải được cài đặt. Trình cài đặt sẽ xác định những\n"
+"gói nào cần có để thá»a mãn vấn đỠphụ thuá»™c nhằm mục đính hoàn thành\n"
+"quá trình cài đặt.\n"
+"\n"
+"Biểu tượng đĩa má»m nhá» nằm ở bên dưới danh sách cho phép nạp danh\n"
+"sách các gói tin được chá»n trong lần cài đặt trước. Việc này có ích khi\n"
+"bạn có nhiá»u máy tính và muốn cấu hình chúng giống nhau. Nhấn lên biểu\n"
+"tượng này sẽ yêu cầu bạn nạp đĩa má»m được tạo từ lần cài đặt trước, tại\n"
+"giai Ä‘oạn cuối. Hãy xem lá»i khuyên thứ hai cá»§a bước cuối cùng vá» cách tạo\n"
+"má»™t đĩa má»m như vậy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Các phụ thuộc tự động"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Há»™p thoại này dùng để chá»n khởi chạy dịch vụ nào bạn muốn khi khởi\n"
+"động hệ thống.\n"
+"\n"
+"DrakX sẽ liệt kê má»i dịch vụ hiện có cá»§a cài đặt hiện hành. Hãy xem xét "
+"thận\n"
+"trá»ng từng dịch vụ và bá» chá»n những gì không cần lúc khởi động.\n"
+"\n"
+"Bạn có thể nhận được má»™t Ä‘oạn chú giải ngắn vá» dịch vụ khi chá»n. Tuy\n"
+"nhiên, nếu không biết rõ dịch vụ đó có hữu ích hay không, để an toàn,\n"
+"hãy để theo mặc định.\n"
+"\n"
+"!! Thật thận trá»ng ở bước này nếu bạn định dùng máy này làm máy\n"
+"chủ: có thể bạn sẽ không muốn khởi chạy các dịch vụ không cần đến.\n"
+"Nên nhớ là một số dịch vụ có thể gây nguy hiểm khi chúng được chạy\n"
+"trên máy chá»§. Nói chung, chỉ chá»n các dịch vụ thá»±c sá»± cần thiết. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux quản lý thá»i gian theo GMT (Greenwich Mean Time) và chuyển\n"
+"thành giỠđịa phương tùy theo múi giá» bạn chá»n. Nếu đồng hồ trong máy\n"
+"bạn đặt theo giỠđịa phương, bạn có thể bất hoạt Ä‘iá»u này bằng việc\n"
+"thôi chá»n \"%s\", nó sẽ làm cho GNU/Linux biết đồng hồ trong máy và\n"
+"đồng hồ hệ thống là cùng múi giá». Việc này hữu ích máy tính cÅ©ng chứa\n"
+"má»™t hệ Ä‘iá»u hành khác như là Windows.\n"
+"\n"
+"Tùy chá»n \"%s\" sẽ tá»± động Ä‘iá»u chỉnh đồng hồ bằng cách nối vá»›i má»™t máy\n"
+"chá»§ thá»i gian ở xa trên Internet. Trong danh sách hiển thị, hãy chá»n\n"
+"một máy chủ ở gần bạn. Tất nhiên, bạn phải có một kết nối Internet để\n"
+"cho tính năng này hoạt động. Thá»±c tế là nó sẽ cài đặt má»™t máy chá»§ thá»i\n"
+"gian lên máy tính này để các máy khác trong mạng cục bộ tùy ý sử dụng."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Tá»± động đồng bá»™ hóa thá»i gian"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Card Äồ Há»a\n"
+"\n"
+" Bình thưá»ng, trình cài đặt có khả năng tá»± động phát hiện và cấu\n"
+"cấu hình card đồ há»a có trong máy tính. Nếu không được vậy, bạn\n"
+"có thể chá»n nó trong danh sách này.\n"
+"\n"
+" Trong trưá»ng hợp có server khác sẵn dùng cho card này, có hoặc\n"
+"không có tăng tốc 3D, bạn sẽ được đỠnghị chá»n server thích hợp nhất\n"
+"cho nhu cầu của bạn."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (cho hệ thống cá»­a sổ X) là trái tim cá»§a giao diện đồ há»a GNU/Linux\n"
+"mà trên đó má»i môi trưá»ng đồ há»a (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) được kết hợp trong Mageia.\n"
+"\n"
+"Bạn sẽ được xem danh sách các tham số khác nhau để thay đổi sao\n"
+"cho việc hiển thị đồ há»a được tối ưu.\n"
+"\n"
+"Card đồ há»a\n"
+"\n"
+" Trình cài đặt thông thưá»ng sẽ tá»± động phát hiện và cấu hình card\n"
+"đồ há»a có trong máy. Nếu không được như vậy, bạn có thể chá»n\n"
+"cái bạn thật sự có trong danh sách này.\n"
+"\n"
+" Trong trưá»ng hợp có các server khác nhau cho card cá»§a bạn, có hay\n"
+"không có tăng tốc 3D, bạn sẽ được đỠnghị chá»n server nào mà thích\n"
+"hợp nhất với nhu cầu của bạn.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Trình cài đặt thông thưá»ng sẽ tá»± động phát hiện và cấu hình monitor\n"
+"nối vá»›i máy cá»§a bạn. Nếu không được như vậy, bạn có thể chá»n trong\n"
+"danh sách này cái mà bạn thật sự có.\n"
+"\n"
+"\n"
+"\n"
+"Äá»™ phân giải\n"
+"\n"
+" Bạn có thể chá»n ở đây độ phân giải và độ sâu màu trong số những cái\n"
+"hiện có cho phần cứng của bạn. Hãy chỠmột cái phù hợp nhất với nhu\n"
+"cầu của bạn (và có thể thay đổi sau khi cài đặt. Ví dụ vỠcấu hình được\n"
+"chá»n hiển thị trên monitor.\n"
+"\n"
+"\n"
+"\n"
+"Chạy thử\n"
+"\n"
+" Hệ thống sẽ mở một màn hình đồ hoạ với độ phân giải mong muốn.\n"
+"Nếu bạn nhìn thấy thông Ä‘iệp trong khi chạy thá»­ và trả lá»i \"%s\", thì\n"
+"DrakX sẽ thực hiện bước tiếp theo. Nếu bạn không nhìn thấy, nghĩa là\n"
+"một số phần nào đó của cấu hình được phát hiện tự động đã không\n"
+"đúng và việc chạy thử sẽ tự kết thúc sau 12 giây, đưa bạn trở vỠvới\n"
+"menu. Hãy thay đổi các thiết lập tá»›i khi bạn nhận hiển thị đồ há»a đúng.\n"
+"\n"
+"\n"
+"\n"
+"Các tùy chá»n\n"
+"\n"
+" Tại đây có thể chá»n việc máy tính cá»§a bạn tá»± động chuyển vào giao\n"
+"diện đồ há»a khi khởi động hay không. Hiển nhiên là bạn muốn chá»n\n"
+"\"%s\" nếu bạn dùng máy này làm máy chủ, hay khi bạn đã không\n"
+"thành công trong việc cấu hình hiển thị đồ há»a."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Thông thưá»ng, trình cài đặt có khả năng tá»± động phát hiện và cấu hình\n"
+"monitor nối vá»›i máy tính. Nếu không được vậy, bạn có thể chá»n trong\n"
+"danh sách monitor cho cái bạn có."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Äá»™ phân giải\n"
+"\n"
+" Tại đây có thể chá»n các độ phân giải và độ sâu màu sẵn có cho\n"
+"phần cứng bạn có. Hãy chá»n cái thích hợp nhất vá»›i nhu cầu cá»§a bạn\n"
+"(và có thể thay đổi lại sau khi cài đặt). Ví dụ vá» cấu hình được chá»n\n"
+"sẽ hiển thị trên monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Trong trưá»ng hợp có các server khác dùng được cho card cá»§a bạn, có\n"
+"hay không có tăng tốc 3D, bạn sẽ được đỠnghị chá»n server nào thích\n"
+"hợp nhất cho nhu cầu của bạn."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Tùy chá»n\n"
+"\n"
+"...Tại đây, bạn có thể chá»n việc hệ thống tá»± khởi động vào giao diện\n"
+"đồ há»a. Hiển nhiên, bạn muốn trả lá»i \"%s\" nếu máy cá»§a bạn hoạt động\n"
+"như một máy chủ, hay khi bạn không thành công trong việc cấu hình hiển\n"
+"thị."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Lúc này bạn cần chá»n nÆ¡i nào trên đĩa cứng sẽ cài đặt hệ Ä‘iá»u hành\n"
+"Mageia. Nếu như đĩa cứng chưa có gì hoặc nếu đã có một hệ\n"
+"Ä‘iá»u hành Ä‘ang sá»­ dụng toàn bá»™ không gian đĩa, bạn cần thá»±c hiện việc\n"
+"phân vùng đĩa. VỠcơ bản, việc phân vùng một ổ đĩa cứng là phân chia\n"
+"các ổ lý luận, tạo không gian để cài đặt hệ thống Mageia mới.\n"
+"\n"
+"Do kết quả cá»§a quá trình phân vùng thưá»ng không thay đổi lại được nữa,\n"
+"nên việc phân vùng có thể gây sợ hãi và căng thẳng nếu bạn không phải\n"
+"ngưá»i dùng có kinh nghiệm. May thay, DrakX đã có đồ thuật đơn giản hoá\n"
+"việc này. Trước khi bắt đầu, hãy Ä‘á»c phần hướng dẫn dưới đây và trên hết\n"
+"là đừng vội vàng.\n"
+"\n"
+"Tùy thuá»™c vào cấu hình cá»§a đĩa cứng, sẵn có má»™t số tùy chá»n như sau:\n"
+"\n"
+" * \"%s\": tùy chá»n này sẽ tiến hành tá»± động việc\n"
+"phân vùng cho đĩa trống. Bạn sẽ không bị nhắc là phải làm gì nữa nếu\n"
+"dùng tùy chá»n này.\n"
+"\n"
+" * \"%s\": đồ thuật đã phát hiện thấy má»™t hoặc nhiá»u\n"
+"phân vùng Linux hiện có trên đĩa cứng. Nếu muốn dùng chúng, hãy dùng\n"
+"tùy chá»n này. Bạn sẽ được há»i vá» các Ä‘iểm gắn kết cho từng phân vùng.\n"
+"Các Ä‘iểm gắn kết kế tục được chá»n theo mặc định và trong hầu hết các\n"
+"trưá»ng hợp, bạn nên giữ chúng.\n"
+"\n"
+" * \"%s\": nếu Windows đã\n"
+"được cài đặt trên đĩa cứng và dùng toàn bộ không gian đĩa, bạn cần tạo\n"
+"không gian trống cho Linux. Äể làm việc đó, bạn có thể xóa bá» dữ liệu và\n"
+"phân vùng của Microsoft Windows (xem giải pháp ``Xóa toàn bộ đĩa'') hoặc\n"
+"lập lại kích thước phân vùng của MS Windows mà có thể không bị mất bất\n"
+"kỳ dữ liệu nào. Tuy nhiên bạn rất nên thực hiện việc sao lưu dữ liệu trước "
+"đã.\n"
+"Nên chá»n giải pháp này nếu muốn dùng cả Mageia và Windows trên\n"
+"cùng một máy tính.\n"
+"\n"
+" Trước khi chá»n tùy chá»n này, hãy hiểu là sau khi thá»±c hiện cách này,\n"
+"kích thước phân vùng của MS Windows sẽ nhỠhơn so với lúc này.\n"
+"Sẽ có ít không gian trống hơn trong Microsoft Windows để lưu dữ\n"
+"liệu và cài đặt phần má»m má»›i.\n"
+"\n"
+" * \"%s\": nếu muốn xoá toàn bộ dữ liệu và các phân vùng\n"
+"hiện có trên ổ cứng và thay thế bằng hệ thống Mageia mới,\n"
+"hãy dùng tùy chá»n này. Hãy thận trá»ng vá»›i tùy chá»n này vì sẽ không\n"
+"thể thay đổi lá»±a chá»n sau khi đã khẳng định.\n"
+"\n"
+" !! Nếu chá»n tùy chá»n này, toàn bá»™ dữ liệu trên đĩa sẽ mất. !!\n"
+"\n"
+" * \"%s\": đơn giản là sẽ xoá sạch má»i thứ có trên\n"
+"đĩa, làm sạch, phân vùng má»i thứ từ đầu. Má»i dữ liệu trên đĩa sẽ\n"
+"bị mất.\n"
+"\n"
+" !! Nếu chá»n tùy chá»n này, má»i dữ liệu trên đĩa sẽ mất. !!\n"
+"\n"
+" * \"%s\": dùng tùy chá»n này khi bạn muốn tá»± phân\n"
+"vùng đĩa cứng. Hãy cẩn thận - đây là tùy chá»n mạnh nhưng nguy hiểm, rất\n"
+"dá»… bị mất má»i dữ liệu. Vì vậy, không nên chá»n chế độ này trừ khi trước\n"
+"đây bạn đã từng thực hiện và đã có kinh nghiệm."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Dùng phân vùng hiện thá»i"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Xoá toàn bộ đĩa"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Chúc mừng. Việc cài đặt đã hoàn thành và hệ thống GNU/Linux sẵn sàng\n"
+"để sử dụng. Hãy nhấn \"%s\" để khởi động lại hệ thống. Cái đầu tiên mà\n"
+"bạn thấy sau khi kết thúc việc kiểm tra phần cứng sẽ là menu của trình\n"
+"nạp khởi động, nó cho bạn chá»n hệ Ä‘iá»u hành nào sẽ khởi động.\n"
+"\n"
+"Nút \"%s\" hiển thị thêm 2 nút để:\n"
+"\n"
+" * \"%s\": để tạo má»™t đĩa má»m cài đặt nhỠđó\n"
+"sẽ tá»± động thá»±c hiện toàn bá»™ quá trình cài đặt mà không cần có ngưá»i\n"
+"thực hiện, giống hệt như quá trình cài đặt mà bạn vừa tiến hành.\n"
+"\n"
+" Lưu ý: sẽ có 2 tùy chá»n khác nhau sau khi nhấn chuá»™t lên nút:\n"
+"\n"
+" * \"%s\". là quá trình cài đặt tự động từng phần. Chỉ còn\n"
+"bước phân vùng là còn phải tương tác.\n"
+"\n"
+" * \"%s\". Cài đặt hoàn toàn tự động: đĩa cứng được ghi lại\n"
+"hoàn toàn, má»i dữ liệu bị mất.\n"
+"\n"
+" Tính năng này rất thuận tiện khi thực hiện cài đặt cho một số lượng\n"
+"lớn các máy giống nhau. Xem Phần cài đặt tự động tại website của hãng.\n"
+"\n"
+" * \"%s\"(*) : lưu lại danh sách các gói được chá»n cá»§a quá trình cài đặt\n"
+"này. Äể dùng việc chá»n này cho lần cài đặt khác, hãy nạp đĩa má»m vào ổ\n"
+"và bắt đầu chạy quá trình cài đặt. Tại dấu nhắc, nhấn phím [F1] và gõ\n"
+">>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Bạn cần má»™t đĩa má»m được định dạng FAT. Äể tạo nó trong GNU/Linux,\n"
+"gõ \"mformat a:\", hay \"fdformat /dev/fd0\" rồi đến \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Tạo đĩa má»m cài đặt tá»± động"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Nếu chá»n dùng lại má»™t số phân vùng linux sẵn có, bạn có thể muốn format\n"
+"lại và xóa dữ liệu trên má»™t số phân vùng đó. Äể thá»±c hiện, hãy chá»n chúng.\n"
+"\n"
+" Hãy lưu ý là không nhất thiết phải format lại má»i phân vùng có sẵn từ "
+"trước.\n"
+"Bạn phải format lại các phân vùng chứa hệ Ä‘iá»u hành (như là : \"/\", \"/usr"
+"\"\n"
+"hay \"/var\") nhưng không phải làm việc này đối với các phân vùng có dữ\n"
+"liệu mà bạn muốn giữ (điển hình là \"/home\").\n"
+"\n"
+"Hãy thận trá»ng khi chá»n các phân vùng. Sau khi format, má»i dữ liệu\n"
+"trên đó sẽ bị xóa và sẽ không có cách nào để khôi phục lại chúng\n"
+"nữa\n"
+"\n"
+"Nhấn lên \"%s\" khi bạn sẵn sàng format các phân vùng.\n"
+"\n"
+"Nhấn lên \"%s\" nếu muốn chá»n má»™t phân vùng khác cho việc\n"
+"cài đặt hệ Ä‘iá»u hành Mageia má»›i.\n"
+"\n"
+"Nhấn lên \"%s\" nếu muốn chá»n các phân vùng sẽ được kiểm\n"
+"tra các khối bị há»ng trên bá» mặt đĩa."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Vào lúc bạn đang cài đặt Mageia, có thể đã có một số gói tin\n"
+"đã được cập nhật kể từ lúc phát hành phiên bản này. Một số lỗi chương\n"
+"trình đã được sá»­a, các vấn đỠbảo mật được giải quyết. Äể cho bạn\n"
+"được hưởng lợi từ các cập nhật này, bây giá» bạn có thể để tải chúng vá»\n"
+"từ internet. Chá»n \"%s\" nếu bạn có kết nối Intertnet hoạt động, hoặc\n"
+"\"%s\" nếu bạn muốn cài đặt các gói tin cập nhật sau này.\n"
+"\n"
+"Chá»n \"%s\" sẽ hiển thị danh sách những nÆ¡i bạn có thể thu thập các\n"
+"cập nhật. Hãy chá»n nÆ¡i gần bạn nhất. Sẽ xuất hiện má»™t cây chứa các\n"
+"gói để chá»n, hãy xem qua ná»™i dung rồi nhấn \"%s\" để lấy vá» và cài\n"
+"đặt những gói được chá»n, hoặc nhấn \"%s\" để thôi cập nhật."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Lúc này, DrakX cho phép bạn chá»n mức bảo mật theo mong muốn cho\n"
+"máy tính. Vá»›i má»™t nguyên tắc chá»§ đạo: máy càng bị phÆ¡i bày nhiá»u trên\n"
+"internet hoặc chứa dữ liệu quan trá»ng bao nhiêu thì mức độ bảo mật cần\n"
+"phải cao bấy nhiêu. Tuy nhiên, mức độ bảo mật càng cao thì càng làm\n"
+"giảm tính dễ sử dụng.\n"
+"\n"
+"Nếu không biết phải chá»n mức độ nào, hãy giữ tùy chá»n mặc định. Bạn\n"
+"có thể thay đổi lại sau này bằng côngcụ draksec trong Trung Tâm Äiá»u\n"
+"Khiển Mandriva.\n"
+"\n"
+"Äiá»n vào \"%s\" địa chỉ e-mail cá»§a ngưá»i quản trị bảo mật. Thông báo\n"
+"bảo mật sẽ được gửi tới địa chỉ này."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Ngưá»i Quản Trị Bảo Mật:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Vào lúc này, bạn cần chá»n những phân vùng nào sẽ được dùng để cài đặt\n"
+"hệ thống Mageia. Nếu các phân vùng đã được xác lập từ lần cài\n"
+"đặt GNU/Linux trước đó hay được tạo bằng một công cụ phân vùng khác,\n"
+"bạn có thể dùng chúng. Nếu chưa có, bạn sẽ sẽ phải thực hiện việc hoạch\n"
+"định các phân vùng.\n"
+"\n"
+"Äể tạo các phân vùng, đầu tiên phải chá»n má»™t đĩa cứng. Có thể chá»n đĩa\n"
+"để phân vùng bằng cách nhấn lên ``hda'' đối với đĩa IDE đầu tiên, ``hdb'' "
+"cho\n"
+"đĩa thứ hai, ``sda'' đới với ổ SCSI đầu tiên và cứ tương tự như vậy.\n"
+"\n"
+"Äể phân vùng cho đĩa cứng được chá»n, có thể dùng những tùy chá»n sau:\n"
+"\n"
+" * \"%s\": để xóa má»i phân vùng có trên đĩa cứng được chá»n.\n"
+"\n"
+" * \"%s\": cho phép tự động tạo các phân vùng ext4 và swap\n"
+"tại không gian trống của đĩa cứng.\n"
+"\n"
+" * \"%s\" : cho phép thực hiện thêm một số tính năng:\n"
+"\n"
+" * \"%s\": để lưu bảng phân vùng vào đĩa má»m. Có ích khi cần thá»±c hiện\n"
+"việc khôi phục lại bảng phân vùng. Bạn rất nên thực hiện bước này.\n"
+"\n"
+" * \"%s\": cho phép khôi phục bảng phân vùng đã được lưu vào đĩa má»m\n"
+"từ trước đó.\n"
+"\n"
+" * \"%s\": nếu bảng phân vùng bị hư, bạn có thể thử khôi phục lại nó\n"
+"bằng tùy chá»n này. Xin hãy thận trá»ng và nên nhá»› là nó không phải lúc\n"
+"nào cũng thành công.\n"
+"\n"
+" * \"%s\": bá» qua má»i thay đổi và nạp lại bảng phân vùng ban đầu.\n"
+"\n"
+" * \"%s\": bá» chá»n tùy chá»n này sẽ buá»™c ngưá»i dùng phải tá»± thá»±c hiện\n"
+"gắn kết/thôi gắn kết các phương tiện tháo lắp ví dụ như đĩa má»m và CD.\n"
+"\n"
+" * \"%s\": dùng tùy chá»n này nếu bạn muốn sá»­ dụng đồ thuật để\n"
+"phân vùng đĩa cứng. Bạn nên sử dụng đồ thuật nếu bạn không hiểu rõ\n"
+"vỠviệc phân vùng.\n"
+"\n"
+" * \"%s\": dùng để bỠqua, không thực hiện những thay đổi vừa làm.\n"
+"\n"
+" * \"%s\": cung cấp thêm các thao tác trên phân vùng (kiểu, tùy chá»n,\n"
+"định dạng) và thêm thông tin vỠđĩa cứng.\n"
+"\n"
+" * \"%s\": khi bạn đã thực hiện xong việc phân vùng đĩa cứng, các thay đổi\n"
+"sẽ đưá»c lưu lại vào đĩa.\n"
+"\n"
+"Khi đặt kích thước phân vùng, bạn có thể đặt chính xác kích thước bằng\n"
+"việc dùng các phím mũi tên của bàn phím.\n"
+"\n"
+"Lưu ý: có thể dùng bàn phím để chá»n các tùy chá»n. Chá»n qua lại các phân\n"
+"vùng bằng phím [Tab] và phím mũi tên [Lên/Xuống].\n"
+"\n"
+"Khi má»™t phân vùng đã được chá»n, có thể dùng:\n"
+"\n"
+" * Ctrl-c để tạo má»™t phân vùng má»›i (khi chá»n má»™t phân vùng trống);\n"
+"\n"
+" * Ctrl-d để xóa một phân vùng;\n"
+"\n"
+" * Ctrl-m để thiết lập điểm gắn kết.\n"
+"\n"
+"Äể có thêm thông tin vá» các loại hệ thống tập tin hiện có, hãy Ä‘á»c chương\n"
+"ext2FS ở trong ``Tài liệu Tham khảo''.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Tá»± động gắn kết phương tiện có thể tháo rá»i"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Chuyển đổi giữa chế độ bình thưá»ng và chuyên gia"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Phát hiện ra có hơn một phân vùng Microsoft Windows trên đĩa cứng.\n"
+"Hãy chá»n má»™t phân vùng cần lập lại kích thước để cài đặt hệ Ä‘iá»u\n"
+"hành Mageia mới.\n"
+"\n"
+"Mỗi phân vùng được liệt kê như sau: \"Tên Linux\", \"Tên Windows\"\n"
+"\"Dung lượng\".\n"
+"\n"
+"\"Tên Linux\" có cấu trúc: \"loại đĩa cứng\", \"số hiệu đĩa cứng\",\n"
+"\"số hiệu phân vùng\" (ví dụ, \"hda1\").\n"
+"\n"
+"\"Loại đĩa cứng\" là \"hd\" nếu ổ đĩa cứng là loại IDE và\n"
+"\"sd\" nếu là ổ đĩa cứng SCSI.\n"
+"\n"
+"\"Số hiệu ổ cứng\" luôn là một chữ đứng sau \"hd\" hay \"sd\". Với đĩa\n"
+"cứng IDE:\n"
+"\n"
+" * \"a\" nghÄ©a là \"ổ đĩa chính nối vá»›i Ä‘iá»u khiển IDE thứ nhất\",\n"
+"\n"
+" * \"b\" nghÄ©a là \"ổ đĩa phụ nối vá»›i Ä‘iá»u khiển IDE thứ nhất\",\n"
+"\n"
+" * \"c\" nghÄ©a là \"ổ đĩa chính nối vá»›i Ä‘iá»u khiển IDE thứ hai\",\n"
+"\n"
+" * \"d\" nghÄ©a là \"ổ đĩa phụ nối vá»›i Ä‘iá»u khiển IDE thứ hai\".\n"
+"\n"
+"Với các ổ đĩa SCSI, chữ \"a\" nghĩa là \"SCSI ID thấp nhất\", \"b\" là\n"
+"\"SCSI ID thấp thứ nhì\", v.v...\n"
+"\n"
+"\"Tên Windows\" là chữ cái gán cho ổ đĩa cứng trong Windows (đĩa\n"
+"cứng hoặc phân vùng đầu tiên được gá»i là \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": kiểm vào phần chá»n quốc gia hiện thá»i. Nếu bạn \n"
+"không sống tại đó, hãy nhấn \"%s\" và chá»n quốc gia khác.\n"
+"Nếu quốc gia của bạn không có trong danh sách, hãy\n"
+"nhấn \"%s\" để xem danh sách đầy đủ các quốc gia."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Bước này chỉ được kích hoạt khi phát hiện thấy một phân vùng GNU/Linux\n"
+"đang có sẵn trên máy của bạn.\n"
+"\n"
+"DrakX cần được biết là bạn muốn thực hiện cài đặt mới hay là nâng cấp\n"
+"hệ thống Mageia hiện có:\n"
+"\n"
+" * \"%s\": hầu hết các trưá»ng hợp, việc này sẽ xóa sạch hệ thống\n"
+"cũ. Nếu bạn muốn thay đổi các phân vùng của đĩa cứng, hoặc thay đổi\n"
+"hệ thống tập tin, bạn nên dùng tùy chá»n này. Dù sao, tùy theo sắp xếp\n"
+"phân vùng, bạn có thể tránh việc mất dữ liệu hiện có do việc ghi đè\n"
+"lên ví dụ như thư mục \"home\".\n"
+"\n"
+" * \"%s\": loại cài đặt này cho phép bạn nâng cấp các gói hiện thá»i\n"
+"đã cài trên hệ thống Mageia của bạn. Việc sắp xếp phân vùng\n"
+"hiện thá»i và dữ liệu không bị thay đổi. Hầu hết các bước cấu hình khác\n"
+"vẫn sẵn có để dùng, giống như việc cài đặt chuẩn.\n"
+"\n"
+"Tùy chá»n ``Nâng cấp'' sẽ hoạt động tốt trên hệ thống Mageia\n"
+"phiên bản \"8.1\" hay mới hơn. Không nên thực hiện nâng cấp cho các\n"
+"phiên bản cũ hơn Mageia \"8.1\" ."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tùy theo ngôn ngữ đã chá»n () mà DrakX sẽ tá»± động chá»n loại cấu hình\n"
+"bàn phím thích ứng. Hãy chá»n bàn phím thích hợp hoặc chá»n má»™t tổ\n"
+"chức bàn phím khác.\n"
+"\n"
+"Tuy nhiên, cũng có khả năng là bàn phím không tương ứng chính xác\n"
+"vá»›i ngôn ngữ. Ví dụ: bạn là ngưá»i Thụy sÄ© nói tiếng Anh và bạn có thể\n"
+"chá»nbàn phím Thụy sÄ©. Hay bạn nói tiếng Anh nhưng lại Ä‘ang ở Quebec,\n"
+"bạn có thể liên hệ theo tình huống tương tự khi ngôn ngữ và bàn phím\n"
+"không tương ứng vá»›i nhau. Trong các trưá»ng hợp đó, bước cài đặt này\n"
+"cho phép bạn chá»n má»™t bàn phím thích hợp từ danh sách.\n"
+"\n"
+"Nhấp chuột lên nút \"%s\" để có một danh sách đầy đủ các bàn phím\n"
+"được hỗ trợ.\n"
+"\n"
+"Nếu bạn chá»n tổ chức bàn phím không dá»±a trên bảng chữ cái la tinh,\n"
+"há»™p thoại tiếp theo sẽ cho phép chá»n tổ hợp phím nóng để chuyển đổi\n"
+"tổ chức bàn phím giữa La tinh và không phải La tinh."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Việc đầu tiên là chá»n ngôn ngữ để dùng.\n"
+"\n"
+"Việc chá»n ngôn ngữ sẽ tác động lên ngôn ngữ hiển thị tài liệu, chương\n"
+"trình cài đặt và hệ thống chung. Trước tiên hãy chá»n vùng bạn sống rồi\n"
+"đến ngôn ngữ của bạn.\n"
+"\n"
+"Nhấn nút \"%s\" sẽ cho phép lá»±a chá»n các ngôn ngữ khác sẽ được\n"
+"cài đặt lên trạm làm việc. Việc chá»n các ngôn ngữ khác sẽ cài đặt\n"
+"các tập tin của ngôn ngữ đó cho phần tài liệu hệ thống và các ứng\n"
+"dụng. Ví dụ: bạn có má»™t ngưá»i từ Tây ban nha đến và dùng máy cá»§a\n"
+"bạn, chá»n tiếng Anh là ngôn ngữ chính trong danh sách, và \"%s\"\n"
+"trong phần Nâng cao.\n"
+"\n"
+"Lưu ý là bạn không bị hạn chế chá»n thêm ngôn ngữ. Bạn có thể chá»n\n"
+"vài ngôn ngữ hay toàn bá»™ các ngôn ngữ bằng việc chá»n há»™p \"%s\".\n"
+"Chá»n há»— trợ ngôn ngữ nghÄ©a là phần dịch, phông chữ, trình kiểm tra\n"
+"chính tả, ... cho ngôn ngữ đó sẽ được cài đặt. Thêm nữa, hộp kiểm \"%s\"\n"
+"cho phép ép buộc hệ thống sử dụng Unicode (UTF-8). Tuy nhiên đây là\n"
+"tính năng Ä‘ang thá»­ nghiệm. Nếu chá»n các ngôn ngữ khác nhau đòi há»i các\n"
+"bộ mã khác nhau nhưng hỗ trợ\n"
+"Unicode vẫn được cài đặt.\n"
+"\n"
+"Äể chuyển đổi sang các ngôn ngữ khác nhau đã cài đặt trong hệ thống,\n"
+"bạn có thể chạy dòng lệnh \"/usr/sbin/localedrake\" bằng \"root\" để thay\n"
+"đổi ngôn ngữ cho toàn bá»™ hệ thống. Nếu chạy dòng lệnh này bằng ngưá»i\n"
+"dùng thông thưá»ng thì việc thay đổi sẽ chỉ áp dụng cho ngưá»i dùng đó."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Tây ban nha"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Thông thưá»ng, DrakX phát hiện đúng số nút cá»§a thiết bị chuá»™t bạn có.\n"
+"Theo mặc định, DrakX cho là chuột có 2 nút và sẽ cấu hình việc mô\n"
+"phá»ng nút thứ ba. Nút mô phá»ng thứ ba này sẽ là việc nhấn đồng thá»i\n"
+"hai nút phải và trái. DrakX cũng sẽ tự động nhận ra chuột là loại PS/2,\n"
+"serial hay USB.\n"
+"\n"
+"Nếu có chuá»™t 3 nút, không có bánh xe, bạn có thể chá»n chuá»™t \"%s\".\n"
+"DrakX sẽ cấu hình chuá»™t và mô phá»ng bánh xe cho nó: nhấn nút giữa\n"
+"và di chuyển chuột lên hay xuống.\n"
+"\n"
+"Vì lý do nào đó mà bạn muốn định rõ loại chuá»™t khác, hãy tá»± chá»n\n"
+"từ danh sách được cung cấp.\n"
+"\n"
+"Bạn cÅ©ng có thể chá»n \"%s\" để chá»n loại chuá»™t ``generic'' là chuẩn\n"
+"chung có thể làm việc được vá»›i nhiá»u loại thiết bị chuá»™t.\n"
+"\n"
+" Nếu chá»n chuá»™t khác vá»›i mặc định, bạn sẽ nhận má»™t màn hình để chạy\n"
+"thử chuột. Sử dụng các nút và lăn bánh xe để xác minh các thiết lập\n"
+"là đúng. Nếu chuột không hoạt động đúng, hãy nhấn thanh space hoặc\n"
+"phím [Return] để bá» qua việc chạy thá»­ và chá»n lại từ danh sách.\n"
+"\n"
+"Äôi khi chuá»™t có bánh xe cuá»™n không được tá»± động phát hiện, nên bạn\n"
+"phải chá»n nó trong danh sách. Äảm bảo là bạn chá»n đúng cổng nối\n"
+"cá»§a chuá»™t. Sau khi chá»n chuá»™t và nhấn nút \"%s\", sẽ hiện lên màn\n"
+"hình một ảnh thiết bị chuột. Hãy lăn bánh xe để khẳng định nó được kích\n"
+"hoạt đúng rồi hãy nhấn để kiểm tra các nút khác và di chuột trên màn\n"
+"hình."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "mô phá»ng nút cuốn"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Chuột đa dụng | PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Hãy chá»n đúng cổng. Ví dụ, cổng COM1 trong Microsoft Windows được gá»i\n"
+"là ttyS0 trong GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Trình nạp khởi động là chương trình nhỠđược chạy khi khởi động máy.\n"
+"Nó chịu trách nhiệm khởi chạy toàn bá»™ hệ thống. Bình thưá»ng, trình nạp\n"
+"khởi động được cài đặt tự động. DrakX sẽ phân tích sector khởi động\n"
+"cá»§a đĩa và hoạt động tùy theo các trưá»ng hợp mà nó phát hiện như sau:\n"
+"\n"
+" * Nếu thấy sector khởi động của Windows, nó sẽ thay thế bằng sector\n"
+"khởi động của Grub/LILO. Cách này cho phép bạn khởi động vào Linux\n"
+"hoặc các hệ Ä‘iá»u hành khác.\n"
+"\n"
+" * Nếu thấy sector khởi động của Grub hay LILO, nó sẽ thay bằng cái mới.\n"
+"\n"
+"Nếu không xác định được vị trí cá»§a boot sector, DrakX sẽ há»i nÆ¡i bạn muốn\n"
+"cài đặt trình nạp khởi động. Thông thưá»ng, \"%s\" là vị trí an toàn nhất.\n"
+"Chá»n \"%s\" sẽ không thá»±c hiện cài đặt trình nạp khởi động. Chỉ dùng\n"
+"tùy chá»n này khi bạn hiểu rõ việc mình làm."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Äây là lúc chá»n hệ thống in ấn dùng cho máy tính này. Các hệ Ä‘iá»u\n"
+"hành khác có thể chỉ cung cấp một loại, nhưng Mandriva cho bạn\n"
+"2 loại. Mỗi một hệ thống in ấn có một loại cấu hình riêng biệt.\n"
+"\n"
+" * \"%s\" - là chữ viết tắt cá»§a ``in, không xếp hàng'', là má»™t lá»±a chá»n\n"
+"nếu bạn có kết nối trá»±c tiếp tá»›i máy in và Ä‘iá»u bạn muốn là có thể loại bá»\n"
+"hiện tượng nghẽn hàng in, và bạn không có bất kỳ máy in mạng nào.\n"
+"(\"%s\" sẽ chỉ xá»­ lý cho các trưá»ng hợp mạng rất đơn giản và có phần hÆ¡i\n"
+"chậm khi dùng trong mạng). Hãy chá»n \"pdq\" nếu đây là lần đầu tiên bạn\n"
+"dùng GNU/Linux.\n"
+" \n"
+" * \"%s\" - ``Common Unix Printing System'' là lá»±a chá»n tuyệt vá»i để in\n"
+"tới máy in cục bộ và cũng như máy in ở xa. Cấu hình nó đơn giản và có\n"
+"thể hoạt động như một server hay một client đối với hệ thống in \"lpd\" cũ,\n"
+"cho nên nó tương thích vá»›i các hệ Ä‘iá»u hành cÅ© hÆ¡n cần các dịch vụ in.\n"
+"Nó rất mạnh, nhưng thiết lập cơ bản thì lại đơn giản là \"pdq\". Nếu cần\n"
+"giả lập một server \"lpd\", bạn cần bật chạy daemon \"cups-lpd\". \"%s\"\n"
+"có các front-end đồ há»a để in hoặc chá»n các tùy chá»n cho máy in và\n"
+"để quản lý máy in.\n"
+"\n"
+"Nếu bây giá» bạn chá»n nhưng sau này lại muốn đổi hệ thống in, bạn có thể\n"
+"thá»±c hiện bằng việc chạy PrinterDrake từ Trung Tâm Äiá»u Khiển cá»§a\n"
+"Mageia và nhấn nút \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Chuyên Gia"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Trước tiên, DrakX sẽ phát hiện các thiết bị IDE có trong máy. Nó cũng\n"
+"sẽ rà quét các PCI SCSI Card có trên hệ thống. Nếu tìm thấy card SCSI,\n"
+"DrakX sẽ tự động cài đặt driver phù hợp.\n"
+"\n"
+"Vì việc phát hiện phần cứng không đơn giản, DrakX có thể không dò tìm\n"
+"được các đĩa cứng. Trong trưá»ng hợp đó, bạn sẽ phải tá»± cấu hình.\n"
+"\n"
+"Nếu như bạn phải tá»± chỉ ra PCI SCSI adapter, DrakX sẽ há»i bạn có muốn\n"
+"cấu hình các tùy chá»n cho nó không. Bạn nên để DrakX thăm dò phần\n"
+"cứng để đưa ra các tùy chá»n cần để khởi tạo adapter. Việc này thưá»ng\n"
+"diễn ra một cách trôi chảy.\n"
+"\n"
+"Nếu DrakX không thể thăm dò được các tùy chá»n thích hợp để tá»± động\n"
+"xác định những tham số cần cho phần cứng, bạn sẽ phải tự cấu hình\n"
+"driver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": Nếu phát hiện thấy có card âm thanh trong hệ thống,\n"
+"nó sẽ hiển thị tại đây. Nếu nó không đúng với cái bạn đang\n"
+"có trong hệ thống, bạn có thể nhấn nút này và chá»n má»™t\n"
+"driver khác."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sẽ hiển thị bản tóm tắt vỠnhững thông tin của hệ thống của bạn.\n"
+"Tùy theo phần cứng được cài đặt mà bạn có thể có một số hay toàn bộ\n"
+"các mục sau. Mỗi một mục có tính năng cấu hình đi theo. Nhấn lên nút\n"
+"\"%s\" tương ứng để thay đổi.\n"
+"\n"
+" * \"%s\": kiểm tra cấu hình bảng ánh xạ bàn phím (keyboard map) và thay\n"
+"đổi nếu cần thiết.\n"
+"\n"
+" * \"%s\": Kiểm tra việc chá»n quốc gia hiện thá»i. Nếu bạn không sống\n"
+"tại nước này, hãy nhấn nút \"%s\" để chá»n lại. Nếu quốc gia cá»§a bạn\n"
+"không có trong danh sách đầu tiên, hãy nhấn nút \"%s\" để xem danh\n"
+"sách tất cả các quốc gia.\n"
+"\n"
+" * \"%s\": Theo mặc định, DrakX tự xác định múi giỠdựa vào quốc gia\n"
+"bạn chá»n. Nếu không đúng, hãy nhấn nút \"%s\" để hiệu chỉnh.\n"
+"\n"
+" * \"%s\": kiểm tra cấu hình chuá»™t hiện thá»i và nhấn nút để thay đổi nếu\n"
+"cần thiết.\n"
+"\n"
+" * \"%s\": nhấn nút \"%s\" để mở đồ thuật cấu hình máy in. Hãy tham\n"
+"khảo chương tương ứng trong ``Starter Guide'' để biết thêm vỠcách\n"
+"cấu hình máy in mới. Giao diện hiện diện ở đó giống như giao diện\n"
+"thấy trong quá trình cài đặt.\n"
+"\n"
+" * \"%s\": nếu phát hiện ra card âm thanh trên hệ thống, nó sẽ hiển\n"
+"thị ở đây. Nếu bạn thấy nó không đúng với cái bạn đang có, hãy nhấn\n"
+"nút và chá»n má»™t driver khác.\n"
+"\n"
+" * \"%s\": Nếu phát hiện có TV card trong hệ thống, nó sẽ hiển thị tại đây.\n"
+"Nếu bạn có một TV card nhưng nó không được phát hiện, nhấn \"%s\" để tự\n"
+"cấu hình nó.\n"
+"\n"
+" *\"%s\": nếu cần hiệu chỉnh các tham số cho card khi bạn thấy cấu hình\n"
+"chưa đúng, nhấn \"%s\" để thay đổi.\n"
+"\n"
+" * \"%s\": Theo mặc định, DrakX sẽ cấu hình giao diện đồ há»a vá»›i độ\n"
+"phân giải \"800x600\" hoặc \"1024x768\". Nếu không thích hợp cho\n"
+"bạn, hãy nhấn \"%s\" để cấu hình lại giao diện đồ há»a cá»§a bạn.\n"
+"\n"
+" * \"%s\": Nếu muốn cấu hình truy cập mạng cục bộ hay truy cập\n"
+"internet. Tham khảo tài liệu hoặc dùng Trung Tâm Äiá»u Khiển \n"
+"Mageia để thực hiện sau khi cài đặt xong để có được sự trợ\n"
+"giúp hoàn chỉnh.\n"
+"\n"
+" * \"%s\": cho phép cấu hình địa chỉ proxy HTTP và FTP nếu máy tính\n"
+"được đặt sau một proxy server.\n"
+"\n"
+" * \"%s\": mục này cho phép thay đổi lại mức bảo mật đã được lập từ\n"
+"bước trước ().\n"
+"\n"
+" * \"%s\": Nếu muốn kết nối máy tính vào internet, hãy lập tưá»ng lá»­a\n"
+"để ngăn chặn xâm nhập. Hãy tham khảo phần tương ứng trong\n"
+"``Starter Guide'' để biết thông tin vá» thiết lập tưá»ng lá»­a.\n"
+"\n"
+" * \"%s\": nếu muốn thay đổi cấu hình của trình nạp khởi động, hãy\n"
+"nhấn nút này. Nên dùng chỉ khi bạn là ngưá»i dùng thành thạo. Hãy tham\n"
+"khảo tài liệu đi kèm hoặc trợ giúp trực tuyến vỠcấu hình trình nạp khởi\n"
+"động trong Trung Tâm Cấu Hình Mageia.\n"
+"\n"
+" * \"%s\": bạn có thể Ä‘iá»u khiển dịch vụ nào sẽ được chạy trên máy\n"
+"này. Nếu bạn có kế hoạch dùng máy này làm máy chủ, hãy xem lại\n"
+"thiết lập này."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN card"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN card"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Giao Diện Äồ Há»a"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Hãy chá»n ổ cứng mà bạn muốn xoá để cài đặt phân vùng Mageia\n"
+"má»›i. Hãy thận trá»ng, má»i dữ liệu có trên đó sẽ bị mất và không thể khôi\n"
+"phục lại được !"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Nhấn chuá»™t lên \"%s\" nếu muốn xóa má»i dữ liệu và phân vùng hiện có\n"
+"trên đĩa cứng này. Hãy thận trá»ng, sau khi nhấn \"%s\", bạn sẽ không\n"
+"thể khôi phục dữ liệu và các phân vùng hiện có trên đĩa cứng này, kể\n"
+"cả dữ liệu của Windows.\n"
+"\n"
+"Nhấn chuột lên \"%s\" để thoát bước này và bạn sẽ không mất\n"
+"dữ liệu và các phân vùng hiện có trên đĩa cứng này."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tiếp theo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- VỠtrước"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\": việc nhấn nút \"%s\" sẽ mở đồ thuật cấu hình máy in.\n"
+#~ "Tham khảo chương tương ứng trong ``Starter Guide'' để biết thêm\n"
+#~ "thông tin vỠcách thiết lập máy in mới. Giao diện hiện diện tại\n"
+#~ "đó giống như giao diện thấy trong quá trình cài đặt."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Äây là thá»i Ä‘iểm quan trá»ng nhất cho việc bảo mật hệ thống GNU/Linux:\n"
+#~ "cần phải nhập mật khẩu cho \"root\". \"Root\" là ngưá»i quản trị hệ "
+#~ "thống,\n"
+#~ "là ngưá»i duy nhất được phép tiến hành cập nhật, thêm ngưá»i dùng, thay "
+#~ "đổi\n"
+#~ "má»i cấu hình hệ thống, v.v... Nói ngắn gá»n là \"root\" có thể thá»±c hiện "
+#~ "tất cả!\n"
+#~ "Äó là lý do tại sao bạn cần chá»n má»™t mật khẩu phải thật khó Ä‘oán.\n"
+#~ "DrakX sẽ cho bạn biết nếu nó quá dễ đoán. Như bạn biết, bạn không bị ép\n"
+#~ "nhập mật khẩu, nhưng chúng tôi khuyên bạn rất nên thực hiện. GNU/Linux\n"
+#~ "có thể bị lá»—i như các hệ Ä‘iá»u hành khác. Do \"root\" có thể vượt quyá»n "
+#~ "và\n"
+#~ "vô ý xóa toàn bộ dữ liệu trên các phân vùng bởi việc tự nó truy cập "
+#~ "thiếu\n"
+#~ "thận trá»ng! Quan trá»ng là phải để thật khó khăn nếu muốn trở thành \"root"
+#~ "\".\n"
+#~ "\n"
+#~ "Mật khẩu nên pha trộn các ký tự số và chữ cái và có độ dài ít nhất 8\n"
+#~ "ký tự. Không nên ghi mật khẩu \"root\" vào đâu cả để tránh hệ thống.\n"
+#~ "bị xâm hại\n"
+#~ "\n"
+#~ "Cũng đừng dùng mật khẩu quá dài hoặc phức tạp vì bạn phải nhớ nó!\n"
+#~ "\n"
+#~ "Mật khẩu sẽ không hiển thị trên màn hình khi bạn nhập vào. Vì vậy,\n"
+#~ "phải nhập mật khẩu hai lần để tránh gặp lỗi khi gõ bàn phím. Nếu cả\n"
+#~ "hai lần bạn Ä‘á»u gõ sai như nhau thì mật khẩu \"sai\" sẽ được dùng vào\n"
+#~ "lần đầu bạn thực hiện kết nối.\n"
+#~ "\n"
+#~ "Nếu bạn muốn truy cập vào máy này sẽ được máy chủ chứng thực\n"
+#~ "quản lý, hãy nhấn nút \"%s\".\n"
+#~ "\n"
+#~ "Nếu mạng của bạn dùng trong số LDAP, NIS hay các dịch vụ chứng\n"
+#~ "thá»±c Miá»n Windows PDC, hãy chá»n má»™t cái thích hợp làm \"%s\".\n"
+#~ "Nếu bạn không biết rõ là dùng cái nào, hãy há»i nhà quản trị mạng.\n"
+#~ "\n"
+#~ "Nếu gặp trục trặc vá»›i việc nhắc mật khẩu, bạn có thể chá»n \"%s\"\n"
+#~ "khi bạn không nối vào internet hoặc tin tưởng ngưá»i cùng dùng máy\n"
+#~ "với bạn."
+
+#~ msgid "authentication"
+#~ msgstr "chứng thực"
diff --git a/perl-install/install/help/po/wa.po b/perl-install/install/help/po/wa.po
new file mode 100644
index 000000000..5a1ff1248
--- /dev/null
+++ b/perl-install/install/help/po/wa.po
@@ -0,0 +1,2085 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Pablo Saratxaga <pablo@mandriva.com>, 2000,2002,2003,2004.
+# Lorint Hendschel <lorinthendschel@skynet.be>, 2002.
+# Lucyin Mahin <lucyin@walon.org>, 2002,2003,2005.
+# Pablo Saratxaga <pablo@walon.org>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2005-02-24 21:42+0100\n"
+"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Divant d' aler pus avant, vos dvrîz lére atintivmint l' licince.\n"
+"Ele covere li distribucion Mageia, si vos estoz d' acoird\n"
+"avou les termes del licince, clitchîz sol boesse «%s».\n"
+"Ôtrumint, clitchîz sol boton «%s» po renonder l' copiutrece."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux est on sistinme multi-uzeus, dj' ô bén, tchaeke uzeu pout aveur\n"
+"èn evironmint, des preferinces eyet des fitchîs da lu. Vos ploz lére li\n"
+"«Guide di l' Uzeu» po ndè saveur pus long. Mins, å contråve di «root»,\n"
+"k' est l' administreu, les uzeus ki vos alez radjouter chal n' åront\n"
+"nén l' droet di candjî ene sacwè so l' éndjole apus k' les fitchîs eyet\n"
+"apontiaedjes da zels. Vos dvroz fé pol moens èn uzeu normå po vos minme.\n"
+"Ci conte uzeu la c' est po moussî el copiutrece po l' eployaedje di tos\n"
+"les djoûs. Minme si çoula shonne ahessåve di moussî tofer come «root»,\n"
+"c' est ossu ene sacwè di foirt dandjureu! Li pus ptite måcule pout\n"
+"signifyî kel sistinme da vosse ni rotrè gote pus. Si vos fjhoz ene\n"
+"consecante aroke come èn uzeu normå, li pé ki vs pout ariver c' est di\n"
+"piede sacwants fitchîs et informåcions, mins nén li sistinme en etir.\n"
+"\n"
+"D' aprume, vos dvoz dner vosse no e prumî tchamp. C' est nén obligatwere, "
+"bén\n"
+"seur - et vos ploz bén î mete çou k' vos vloz. DrakX irè adon prinde li "
+"prumî mot\n"
+"ki vos avoz tapé eyet l' passer el tchamp «%s». Ci no la c' est\n"
+"l' no ki l' éndjole vos cnoxhe; çou ki vos dvoz taper el purnea di bénvnowe\n"
+"po moussî el copiutrece. Vos l' poloz candjî. Vos ploz mete çou k' vos vloz\n"
+"mins di moens di ût letes; et rén ki des ptitès letes sins accints, des\n"
+"chifes, li loyeure («-») ou li sene sorlignî («_»).\n"
+"Après çoula, vos dvoz taper vosse sicret. Li scret d' èn uzeu normå, sins\n"
+"advintaedjes sipeciås n' est nén ossu impôrtant kel ci da «root», do pont\n"
+"d' vuwe del såvrité, mins c' est tolminme nén ene råjhon po n' nén\n"
+"fé atincion ås screts des uzeus - c' est vos fitchîs ki sont-st e risse.\n"
+"\n"
+"Si vos clitchîz so «%s» l' uzeu srè radjouté po d' bon avou\n"
+"les informåcions ki vs avoz dné, et les tchamps sront vudîs po vos pleur\n"
+"e radjouter èn ôte. Vos e ploz radjouter ostant ki vos vloz: onk po tchaeke\n"
+"di vos soçons, po vosse pere, vosse sour, par egzimpe. Cwand vos avoz fini\n"
+"d' endè radjouter, clitchîz so «%s».\n"
+"\n"
+"Si vos clitchîz sol boton «%s» vos ploz candjî l' shell eployî pa\n"
+"cist uzeu la (li prémetou shell est li «bash»).\n"
+"\n"
+"Cwand vos avoz fini di radjouter tos les uzeus, on vs dimandrè di tchoezi\n"
+"èn uzeu ki srè otomaticmint elodjî cwand l' copiutrece est enondêye.\n"
+"Si cisse fonccionålité la vos interesse (et ki l' såvrité n' est nén\n"
+"on problinme locålmint), tchoezixhoz l' uzeu eyet li manaedjeu di\n"
+"purneas ki vos vloz, et clitchîz so «%s». Si vos n' voloz nén\n"
+"cisse fonccionålité, disclitchîz «%s»."
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voloz vs eployî cisse fonccionålité chal?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Chal pa dzeur i gn a ene djivêye des pårticions Linux k' i gn a so vosse\n"
+"deure plake et ki on stî detectêyes. Vos ploz wårder les tchuzes fwaites\n"
+"pa l' macrea, ele sont comifåt po les cas les pus comons.\n"
+"Si vos les voloz candjî vos dvoz fé å moens ene pårticion raecene («/»).\n"
+"Ni prindoz nén ene trop ptite grandeu ôtrumint vos n' pôrîz astaler "
+"Ã¥jheymint\n"
+"des programes, fåte di plaece. Si vos vloz mete vos dnêyes so ene pårticion\n"
+"diferinne, vos dvroz ossu fé ene po «/home» (çou ki vos pôroz fé seulmint "
+"si\n"
+"vos avoz pus d' ene pårticion del sôre Linux).\n"
+"\n"
+"Po l' informåcion, tchaeke pårticion est mostrêye come çoula: «no», "
+"«grandeu».\n"
+"\n"
+"Li «no» est costrût come çouchal: «sôre del deure plake» + «limero del deure "
+"plake» +\n"
+"«limero del pårticion» (par egzimpe, hd+a+1 --> «hda1»)\n"
+"\n"
+"Li «sôre del deure plake» est «hd» si vosse deure plake est del sôre IDE,\n"
+"oudonbén «sd» si elle est del sôre SCSI.\n"
+"\n"
+"Li «limero del deure plake» est todi ene lete pa drî «hd» ou «sd».\n"
+"Avou les plakes IDE on a:\n"
+"\n"
+" * «a» pol plake mwaisse sol prumî controleu IDE,\n"
+"\n"
+" * «b» pol plake esclåve sol prumî controleu IDE,\n"
+"\n"
+" * «c» pol plake mwaisse sol deujhinme controleu IDE,\n"
+"\n"
+" * «d» pol plake esclåve sol deujhinme controleu IDE.\n"
+"\n"
+"Avou les plakes SCSI, «a» vout dire «prumire deure plake», «b» vout dire "
+"«deujhinme deure plake», evnd..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"L' astalaedje del distribucion Mageia si fwait a pårti di\n"
+"sacwantès plakes lazer diferinnes. Si on pacaedje k' a stî tchoezi\n"
+"est so ene ôte plake lazer, DrakX frè rexhe li plake k' est el lijheu\n"
+"d' plakes lazer eyet vos dmander d' î mete li cene k' i fåt.\n"
+"Si vos n' avoz nén l' plake dimandêye dizo l' mwin, i vs sufixh di\n"
+"clitchî so «%s», les pacaedjes corespondants èn seront nén astalés."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Asteure c' est l' moumint di specifyî kés programes ki vos vloz astaler so\n"
+"voste éndjole. I gn a des meyes et des meyes di pacaedjes pol Mandriva "
+"Linux,\n"
+"po rinde li tchoezixhaedje pus simpe il ont stî metous dins des groupes\n"
+"di programes sorlon les bouyes k' i permetèt d' fé.\n"
+"\n"
+"Les pacaedjes sont metous dins des groupes corespondant a des uzaedjes\n"
+"ki pôrént esse fwaits. Vos ploz prinde et maxhî des programes\n"
+"di sacwantes di ces categoreyes la, par egzimpe èn astalaedje «Posse "
+"éndjolrece»\n"
+"n' espaitche nén d' astaler des programes del sôre «Programaedje».\n"
+"\n"
+" * «%s»: si vos tuzez a-z eployî voste éndjole come on posse\n"
+"éndjolrece (dj' ô bén: èn uzaedje personel, å contråve d' èn uzaedje\n"
+"come sierveu metans), adon tchoezixhoz onk ou pluzieurs des programes\n"
+"di ç' categoreye chal.\n"
+"\n"
+" * «%s»: si l' éndjole va-z esse eployeye po programer,\n"
+"tchoezixhoz les pacaedjes ki vos vloz chal.\n"
+"Li groupe especiå «LSB» aponteyrè vosse sistinme po shure,\n"
+"ostant ki possibe, les specifiaedjes del «Linux Standard Base».\n"
+"\n"
+" Tchoezi l' groupe «LSB» astalrè eto les naweas del séreye «2.4»,\n"
+"el plaece do prémetou nawea «2.6». Çoula c' est po-z esse 100%% copatibe "
+"avou LSB. Mins nerén, si vos n' tchoezixhoz nén li groupe «LSB»\n"
+"vos ploz tot l' minme aveur on sistinme k' est copatibe LSB cåzu a 100%%.\n"
+"\n"
+" * «%s»: al fén, si l' såme di l' éndjole c' est d' esse on sierveu,\n"
+"vos pôroz les kés siervices vos vloz vey astalés so l' éndjole.\n"
+"\n"
+" * «%s»: chal c' est wice ki vos alez tchoezi vosse\n"
+"evironmint grafike favori. I fåt ndè tchoezi pol moens onk si vos vloz\n"
+"on posse éndjolrece avou ene eterface grafike!\n"
+"\n"
+"Cwand vos alez avou l' sori å dzeu do no d' ene categoreye, ene racsegne "
+"srè\n"
+"håynêye avou on court discrijhaedje di çou a cwè i pout siervi.\n"
+"\n"
+"Vos ploz clitchî sol tchuze «%s». C' est\n"
+"ahessåve si vos cnoxhoz on pô les pacaedjes k' i gn a et çki vos vloz;\n"
+"oudonbén si vos vloz on contrôle totå so çki srè astalé ou nén.\n"
+"\n"
+"Si vos cmincîz l' astalaedje e môde «%s», vos ploz disclitchî\n"
+"totes les categoreyes po nén aveur des noveas pacaedjes d' astalés,\n"
+"seulmint les cis k' vos avîz ddja davance sront astalés. Çouchal est\n"
+"ahessåve po rpårer ou mete a djoû on sistinme k' est ddja sol deure plake.\n"
+"\n"
+"Si vos n' tchoezixhoz nole categoreye po l' astalaedje (et k' c' est nén on\n"
+"metaedje a djoû), on purnea vos dmandrè li sôre di l' astalåcion minimom ki\n"
+"vos vloz. Çoula pout esse:\n"
+"\n"
+" * «%s» astale li moens possibe di pacaedjes po tot l' minme aveur\n"
+"l' eterface grafike X11 en alaedje;\n"
+"\n"
+" * «%s» astale li sistinme di båze eyet sacwantes\n"
+"usteyes avou leu documintåcion. C' est l' astalåcion a l' idêye po on\n"
+"sierveu.\n"
+"\n"
+" * «%s» n' astalrè ki vormint li minimom po ki\n"
+"l' éndjole s' enonde eyet aveur on sistinme Linux en alaedje; rén k' e\n"
+"roye di comande. Ciste astalåcion chal a mezåjhe di 65 Mo seulmint."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Metaedje a djoû"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Avou li documintåcion di båze"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Astalåcion vormint minimåle"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Finålmint, sorlon vosse tchuze di tchoezi ou nén les pacaedjes onk après\n"
+"l' ôte, vos voeroz èn åbe avou tos les pacaedjes metous dins des groupes\n"
+"et des sorgroupes. Tot naiviant dins l' åbe vos ploz tchoezi des groupes\n"
+"ou des sorgroupes etirs, ou des pacaedjes tot seus.\n"
+"\n"
+"Tchaeke côp ki vos tchoezixhoz on pacaedje dins l' åbe, si discrijhaedje\n"
+"est mostré sol droete ki vs dit a cwè i pout bén siervi.\n"
+"\n"
+"!! Si on pacaedje di sierveu a stî tchoezi, soeye-t i en esprès, ou k' i\n"
+"fwait pårteye d' on groupe, on vos dmandrè d' acertiner ki vos vloz\n"
+"vormint astaler ces sierveus la. Avou Mageia tot l' minme ké\n"
+"sierveu k' a stî astalé est, avou les prémetowès tchuzes, metou en\n"
+"alaedje tins di l' enondaedje di l' éndjole. Minme s' i sont seurs\n"
+"et k' i gn a nou cnoxhou problinme å moumint ki l' distribucion a stî\n"
+"fwaite, i s' pout k' des trôs di såvrité soeyexhe discovrous après ki\n"
+"cisse modêye chal di Mageia fouxhe fineye. Si vos n' savoz nén çou\n"
+"k' on siervice dné est supôzé di fé, ou pocwè k' il est astalé, adon\n"
+"clitchîz so «%s». Si vos clitchîz so «%s» les siervices mostrés sront\n"
+"astalés eyet enondés otomaticmint. !!\n"
+"\n"
+"Li tchuze «%s» simplumint fwait ki l' purnea \n"
+"d' adviertixhmint cwand on pacaedje est tchoezi otomaticmint n' est\n"
+"nén håyné. Les pacaedjes tchoezi otomaticmint c' est pask' i gn a des\n"
+"pacaedjes tchoezis k' ont des aloyances avou des ôtes pacaedjes, et \n"
+"k' i les fåt astaler avou po-z aveur l' astalåcion fwaite a môde\n"
+"di djin.\n"
+"\n"
+"Li ptite imådje d' ene plakete al valeye del djivêye vos permete di\n"
+"tcherdjî ene djivêye di pacaedjes tchoezis k' åreut stî fwaite å moumint\n"
+"d' èn ôte astalaedje. Si vos clitchîz so ciste imådjete chal, i vos srè\n"
+"dmandé di mete li plakete fwaite al fén di l' astalaedje di dvant.\n"
+"Loukîz l' aidance do deujhinme pont del dierinne etape po saveur kimint\n"
+"fé ene sifwaite plakete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Aloyances otomatikes"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Asteure, vos poloz bén tchoezi les kés siervices ki s' divèt mete en "
+"alaedje\n"
+"cwand c' est ki vosse copiutrece s' enonde.\n"
+"\n"
+"Chal sont prezintés tos les siervices k' i gn a el astalåcion do moumint.\n"
+"Prindoz sogne delzès verifyî et disclitchîz les cis k' i gn end a pont\n"
+"tofer mezåjhe a l' enondaedje.\n"
+"\n"
+"Cwand vosse tchoezixhoz on siervice, ene racsegne aparexhe po vs\n"
+"dire çou ki l' siervice fwait. Si vos n' estoz nén seur si on siervice\n"
+"est ahessåve por vos ou nén, vos estoz todi a houte tot l' leyant a si\n"
+"prémetowe valixhance.\n"
+"\n"
+"!!\n"
+"Loukîz a vosse sogne si voste éndjole serè eployeye come sierveu: c' est\n"
+"dandjureu mî di n' nén enonder les siervices ki vos n' avoz nén dandjî!\n"
+"Rimimbrez vs ki des siervices k' i gn a polèt esse riskeus s' i sont\n"
+"metous so on sierveu. Tchoezixhoz djusse les siervices ki vos avoz dandjî.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manaedje l' eure e tins GMT (coistrece di Greenwich) et l' candje\n"
+"en eure locåle sorlon li coisse d' eureye ki vs avoz tchoezi.\n"
+"C' est possibe di l' dismete si vos tchoezixhoz «%s»,\n"
+"insi vos eployroz li minme eure pol sistinme eyet pol divintrinne ôrlodje.\n"
+"Çoula pout esse ahessåve cwand i gn a èn ôte sistinme d' operance\n"
+"so l' éndjole, et k' i n' sait nén eployî li tins universel.\n"
+"\n"
+"Li tchuze «%s» va sincronijhî otomaticmint\n"
+"l' ôrlodje do sistinme. Po çoula on raloyaedje est fwait so on sierveu "
+"d' eure\n"
+"sol daegntoele. Tchoezixhoz onk, sol djivêye ki vs est prezintêye, ki "
+"n' soeye\n"
+"nén lon erî di wice ki vos dmorez. Bén seur vos dvoz aveur on raloyaedje\n"
+"al rantoele en alaedje po-z eployî cisse tchuze chal. Çoula astalrè so "
+"voste\n"
+"éndjole on sierveu d' eure ki pôreut ossu esse eployî pa d' ôtès\n"
+"copiutreces, par egzimpe les cenes d' ene rantoele locåle, si vos vloz."
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronijhaedje otomatike di l' eure"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"CÃ¥te grafike\n"
+"\n"
+" Li programe d' astalaedje fwait normålmint otomaticmint li deteccion\n"
+"eyet l' apontiaedje del cåte grafike k' i gn a dins voste éndjole.\n"
+"Si c' est nén l' cas, vos ploz tchoezi e l' djivêye li cåte ki vos\n"
+"avoz po d' bon.\n"
+"\n"
+" S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (po Sistinme di Purneas X) est l' miercour di l' eterface grafike di\n"
+"GNU/Linux, ki tos les evironmints grafikes (KDE, Gnome, AfterStep,\n"
+"WindowsMaker, evnd.) ki vnèt avou Mageia end ont mezåjhe.\n"
+"\n"
+"Vos åroz ene djivêye des diferins parametes a candjî po-z aveur\n"
+"voste eterface grafike a l' idêye:\n"
+"\n"
+"CÃ¥te grafike\n"
+"\n"
+" Li programe d' astalaedje fwait normålmint otomaticmint li deteccion\n"
+"eyet l' apontiaedje del cåte grafike k' i gn a dins voste éndjole.\n"
+"Si c' est nén l' cas, vos ploz tchoezi e l' djivêye li cåte ki vos\n"
+"avoz po d' bon.\n"
+"\n"
+"S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî.\n"
+"\n"
+"\n"
+"\n"
+"Waitroûle\n"
+"\n"
+" L' astaleu fwait normålmint li deteccion eyet apontiaedje otomatike\n"
+"del waitroûle raloyeye a voste éndjole. Si ça n' va nén tot seu, vos ploz\n"
+"tchoezi vosse waitroûle dins ene djivêye.\n"
+"\n"
+"\n"
+"\n"
+"Finté\n"
+"\n"
+" Vos ploz tchoezi chal les fintés eyet nombe di coleurs emey les tchuzes\n"
+"possibes po voste éndjolreye. Tchoezixhoz çou ki vs convént l' mî (vos\n"
+"pôroz candjî çoula pus tård, après l' astalaedje, si vos vloz). Èn egzimpe\n"
+"do tchoezi apontiaedje est håyné e l' waitroûle.\n"
+"\n"
+"\n"
+"\n"
+"Saye\n"
+"\n"
+" Sorlon voste éndjolreye, i s' pout ki ciste intrêye chal n' aparexhe "
+"nén.\n"
+"\n"
+" Li sistinme sayrè d' enonder ene waitroûle grafike al finté dmandêye.\n"
+"Si vos ploz vey li messaedje håyné tins del saye, clitchîz so «%s», eyet\n"
+"DrakX pasrè a l' etape shuvante. Si vos n' savoz vey li messaedje, çoula\n"
+"vout dire k' ene sacwè n' a nén stî avou l' apontiaedje, eyet l' saye\n"
+"si va djoker après 12 segondes, vos ramoennant å menu. Vos î pôroz candjî\n"
+"les valixhances disk' a-z aveur ene eterface grafike ki rote comifåt.\n"
+"\n"
+"\n"
+"\n"
+"Tchuzes\n"
+"\n"
+" Chal vos ploz tchoezi si vos vloz ou nén ki l' éndjole enonde\n"
+"otomaticmint l' eterface grafike a l' enondaedje. Bén seur, vos alez\n"
+"dire «%s» si voste éndjole va fé do sierveu, ou si vos n' avoz nén\n"
+"polou apontyî comifåt l' eterface grafike."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Waitroûle\n"
+"\n"
+" L' astaleu fwait normålmint li deteccion eyet apontiaedje otomatike\n"
+"del waitroûle raloyeye a voste éndjole. Si ça n' va nén tot seu, vos ploz\n"
+"tchoezi vosse waitroûle dins ene djivêye."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Finté\n"
+"\n"
+" Vos ploz tchoezi chal les fintés eyet nombe di coleurs emey les tchuzes\n"
+"possibes po voste éndjolreye. Tchoezixhoz çou ki vs convént l' mî (vos\n"
+"pôroz candjî çoula pus tård, après l' astalaedje, si vos vloz). Èn egzimpe\n"
+"do tchoezi apontiaedje est håyné e l' waitroûle."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Tchuzes\n"
+"\n"
+" Chal vos ploz tchoezi si vos vloz k' l' eterface grafike soeye en alaedje "
+"cwand\n"
+"l' éndjole est enondêye. Bén seur, si voste éndjole va-st ovrer come on "
+"sierveu,\n"
+"ou si vos n' arivez nén a-z apontyî l' cåte videyo, vos ploz responde «%s»."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Asteure, vos dvoz tchoezi wice ki vos vloz astaler vosse sistinme\n"
+"d' operance Mageia so vosse deure plake. Si l' plake est vude,\n"
+"ou si les sistinmes d' operance k' i gn a ddja prindèt tote li plaece,\n"
+"vos avoz mezåjhe del pårti. Fé on pårtixhaedje d' ene deure plake çoula\n"
+"vout dire del pårti lodjicmint po fé del plaece po-z astaler vosse novea\n"
+"sistinme Mageia.\n"
+"\n"
+"Come, on côp ki li pårtixhaedje est fwait, on n' sait rivni en erî\n"
+"(normålmint), les apurdisses ont sovint sogne ou peu di s' enonder.\n"
+"Awoureuzmint, i gn a on macrea ki vs aidrè po l' fé.\n"
+"Divant di cmincî, lijhoz cisse seccion chal en etir, et sortot purdoz\n"
+"bén vosse tins.\n"
+"\n"
+"Sorlon l' apontiaedje di vosse deure plake, pluzieurès solucions\n"
+"sont possibes:\n"
+"\n"
+" * «%s»: çouchal frè tot simplumint on pårtixhaedje\n"
+"otomatike del plaece vude so les deures plakes da vosse;\n"
+"vos n' avoz a vos preyocuper di rén après.\n"
+"\n"
+" * «%s»: li macrea a detecté ene ou pus di\n"
+"pårticions Linux k' egzistèt ddja so vosse deure plake.\n"
+"Si vos les vloz wårder, prindoz cisse tchuze chal.\n"
+"On vs dimandrè adon di tchoezi les ponts di montaedje des pårticions,\n"
+"les vîs ponts di montaedjes sront metous come prémetowès valixhances,\n"
+"et pol pus grande pårt c' est ene bone idêye delzès wårder.\n"
+"\n"
+" * «%s»: si Microsoft Windows est\n"
+"astalé so vosse deure plake et s' i prind tote li plaece k' i gn a,\n"
+"vos dvoz fé del plaece libe po les dnêyes di Linux. Po çoula vos ploz\n"
+"disfacer li pårticion Microsoft Windows et totes ses dnêyes (veyoz les\n"
+"solucions «Disfacer li plake etire») oudonbén raptiti vosse pårticion\n"
+"FAT di Microsoft Windows.\n"
+"Li candjmint d' grandeu des pårticions si pout fé sins piede des dnêyes,\n"
+"a condicion del disfragminter d' aprume, eyet kel pårticion soeye ene\n"
+"pårticion FAT. C' est hôtmint ricmandé di fé ene copeye di såvrité.\n"
+"Cisse solucions est ricmandêye si vos vloz eployî Mageia et\n"
+"Microsoft Windows sol minme copiutrece.\n"
+"\n"
+"Divant di tchoezi cisse solucion, i vos fåt comprinde kel grandeu di vosse\n"
+"pårticion Microsoft Windows srè pus ptite ki çk' ele est asteure.\n"
+"Dj' ô bén, vos åroz moens di plaece libe so Microsoft Windows po wårder\n"
+"les dnêyes da vosse ou astaler des noveas programes.\n"
+"\n"
+" * «%s»: si vos vloz disfacer totes les dnêyes k' i gn a\n"
+"so vosse deure plake po mete el plaece li sistinme Mageia,\n"
+"vos ploz tchoezi cisse tchuze chal.\n"
+"Prindoz asteme k' avou cisse solucion chal vos n' pôroz nén rivni en erî\n"
+"on côp ki vos avoz acertiné vosse tchuze.\n"
+"\n"
+" !! Avou cisse tchuze chal, totes les dnêyes del deure plake sront "
+"pierdowes !!\n"
+"\n"
+" * «%s»: çouchal va simplumint disfacer ttafwait sol\n"
+"deure plake eyet cmincî on novea pårtixhaedje. Totes les dnêyes sol\n"
+"deure plake vont esse pierdowes.\n"
+"\n"
+" !! Avou cisse tchuze chal, Tot çk' i gn a el deure plake srè pierdou. !!\n"
+"\n"
+" * «%s»: si vos vloz fé manuwelmint\n"
+"li pårtixhaedje del deure plake, vos ploz tchoezi çouchal.\n"
+"Mins prindoz asteme, avou cisse solucion chal vos pôroz fé des poûxhantès\n"
+"mins dandjureusès sacwès.\n"
+"Vos ploz åjheymint piede totes vos dnêyes. Adon, ni tchoezixhoz nén\n"
+"çouchal, a moens di vormint saveur çou k' vos fjhoz.\n"
+"Po pus di racsegnes sol manire d' eployî l' usteye DrakDisk,\n"
+"loukîz li seccion «Manaedjî vos pårticions» do manuwel."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Eployî les pårticions k' i gn a"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "Disfacer li plake etire"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Vo nos la. L' astalåcion a stî fineye et asteure vosse sistinme GNU/Linux\n"
+"est presse a-z esse eployî. Vos n' avoz k' a clitchî sol boton «%s»\n"
+"po renonder l' éndjole. Èn rovyîz nén di bodjî l' sopoirt d' astalaedje\n"
+"(plakete ou plake lazer) do lijheu. Li prumire sacwè ki vos voeroz on côp\n"
+"l' éndjole renondêye, djusse après li verifiaedje di l' éndjolreye, c' est\n"
+"li menu d' l' enondrece, ki vs dene li tchuze di ké sistinme d' operance "
+"enonder.\n"
+"\n"
+"Li boton «%s» mostere deus ôtes botons:\n"
+"\n"
+" * «%s»: po fé ene plakete ki vs\n"
+"permetrè di fé ene ôte astalåcion pareye al cene ki vos vnoz d' fé,\n"
+"mins di manire otomatike, sins mezåjhe d' ene djin po fé les tchuzes.\n"
+"\n"
+" Notez k' i gn a co deus ôtes tchuzes on côp ki vos avoz clitchî ç' boton "
+"la:\n"
+"\n"
+" * «%s». Po ene astalåcion dimey-otomatike, l' etape do pårtixhaedje\n"
+"(et seulmint cisse etape la) dimorant eteractive;\n"
+"\n"
+" * «%s». Astalåcion ttafwaitmint otomatike: li deure plake est\n"
+"completmint riscrîte et rpårteye, totes les dnêyes k' i gn aveut sront\n"
+"pierdowes.\n"
+"\n"
+" Cisse fonccionålité la est foirt ahessåve po-z astaler so on grand nombe\n"
+"d' éndjoles similaires. Loukîz eto li seccion so l' Oto-astalaedje sol\n"
+"waibe da nosse.\n"
+"\n"
+" * «%s»(*): schapêye li tchuze des pacaedjes\n"
+"k' a stî fwaite tins di l' astalaedje. Adonpu, cwand vos froz ene nouve\n"
+"astalåcion, metoz l' plakete dins l' lijheu ey enonder l' astalaedje\n"
+"tot-z alant sol waitroûle d' aidance (tchoûkîz sol tape [F1]), et s' taper\n"
+"« linux defcfg=\"floppy\" » sol roye d' intrêye et poy li tape [Enter].\n"
+"\n"
+"(*) I vs fåt ene plakete FAT-abwesnêye (po ndè fé ene a pårti di GNU/Linux,\n"
+"tapez « mformat a: » sol roye di comande)."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Fé li plakete d' astalaedje otomatike"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si vos avoz tchoezi d' eployî des pårticions GNU/Linux k' i gn aveut\n"
+"davance, vos vloz motoit lzès rabwesner po disfacer les dnêyes\n"
+"k' ele ont å dvins et raveur del plaece. Si vos vloz fé çoula,\n"
+"i vs fåt tchoezi eto les pårticions ki vos vloz rabwesner.\n"
+"\n"
+"Notez k' i n' a nén mezåjhe di rabwesner totes les pårticions ki sont\n"
+"ddja fwaites ey abwesnêyes po GNU/Linux. Vos l' divoz fé po les\n"
+"pårticions ki sievront pol cour do sistinme d' operance (dj' ô bén,\n"
+"les pårticions ki sront montêyes come « / », « /usr » ou co « /var »),\n"
+"mins vos ploz reployî sins abwesnaedje des pårticions avou des dnêyes\n"
+"ki vos vloz wårder (come c' est l' cas tipike del pårticion avou «/home»).\n"
+"\n"
+"Fijhoz bén atincion å moumint d' tchoezi les pårticions.\n"
+"On côp l' abwesnaedje fwait, totes les dnêyes del pårticion sront\n"
+"pierdowes; vos n' les pôroz nén rapexhî.\n"
+"\n"
+"Clitchîz so «%s» cwand vos estoz presse po l' abwesnaedje des\n"
+"pårticions.\n"
+"\n"
+"Clitchîz so «%s» si vos vloz tchoezi ene ôte pårticion po-z astaler\n"
+"vosse novea sistinme d' operance Mageia.\n"
+"\n"
+"Clitchîz so «%s» si vos vloz tchoezi les pårticions ki sront\n"
+"verifieyes po vey s' i gn a des måvas bloks sol deure plake."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Å moumint ki vos astalez Mageia, i s' pout bén k' i gn åye\n"
+"des pacaedjes k' ont stî metous a djoû dispoy li moumint do fijhaedje\n"
+"del distribucion. Motoit k' des bugs ont stî coridjîs, ou des problinmes\n"
+"di såvrité. Por vos profiter di ces metaedjes a djoû, on vs propôze\n"
+"d' aberweter di so l' daegntoele les metaedjes a djoû k' i pout gn aveur.\n"
+"Tchoezixhoz «%s» si vos avoz on raloyaedje al daegntoele en alaedje, ou\n"
+"«%s» si vos inmez mî d' ratinde et fé les metaedjes a djoû pus tård.\n"
+"\n"
+"Si vos tchoezixhoz «%s», i gn årè ene djivêye des plaeces di wice k' on\n"
+"pout prinde les metaedjes a djoû ki vs serè mostrêye. Tchoezixhoz li plaece\n"
+"li pus près d' vos. Adonpu, èn åbe di tchoezixhaedje des pacaedjes\n"
+"aparetrè: verifyîz l' tchuze, et clitchîz so «%s» po-z aberweter\n"
+"ey astaler les tchoezi(s) pacaedje(s), oudonbén clitchîz so «%s»\n"
+"po leyî ouve."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Chal, c' est po tchoezi l' livea di såvrité ki vos vloz po voste éndjole.\n"
+"Ene rîle simpe c' est ki pus voste éndjole est egzpozêye, pus les dnêyes\n"
+"k' i gn a å dvins sont impôrtantes, pus li livea di såvrité doet esse hôt.\n"
+"Mins ossu, on hôt livea di såvrité çoula vout dire ki c' est moens åjhey\n"
+"d' eployî li copiutrece.\n"
+"\n"
+"Si vos n' savoz cwè tchoezi, leyîz li prémetou livea. Vos l' pôroz candjî\n"
+"pus tård avou l' usteye draksec a pårti do cinte di contrôle di Mandriva "
+"Linux.\n"
+"\n"
+"Li tchamp «%s» c' est po dner l' adresse emile d' ene sakî responsåve del\n"
+"såvrité po ciste éndjole ci. Les messaedjes sol såvrité lyi sront evoyîs."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Manaedjeu pol såvrité"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"Chal, vos dvoz tchoezi so kéne/kénès pårticion(s) ki vos voloz astaler\n"
+"vosse sistinme Mageia. Si vos pårticions ont ddja stî fwaites\n"
+"(p. egz. li dierin côp ki vos avoz astalé GNU/Linux ou bén avou ene ôte\n"
+"usteye di pårtixhaedje), vos les ploz eployî. Ôtrumint, des pårticions dvèt\n"
+"esse defineyes so vosse deure plake. Ça vout dire ki vos alez dispårti\n"
+"lodjicmint li deure plake di voste éndjole e diferinnes coines separêyes\n"
+"di ene l' ôte.\n"
+"\n"
+"Po fé les pårticions, vos dvoz d' aprume tchoezi li plake a pårti e\n"
+"clitchant so «hda» pol prumire plake IDE, «hdb» pol deujhinme, «sda» pol \n"
+"prumire plake SCSI, et vos nd åroz.\n"
+"\n"
+"Pol pårtixhaedje del deure plake tchoezeye, vos ploz prinde ene di ces\n"
+"tchuzes chal:\n"
+"\n"
+" * «%s»: cisse tchuze va disfacer totes les pårticions k' i gn a sol "
+"tchoezeye deure plake.\n"
+"\n"
+" * «%s»: cisse tchuze va fé des pårticions ext4 pol sistinme et ene di "
+"swap e prindant li plaece di libe k' i gn a sol deure plake et carculant "
+"otomaticmint li grandeu li meyeuse.\n"
+"\n"
+"«%s» dene des ôtes tchuzes, pus spepieuses:\n"
+"\n"
+" * «%s»: po schaper li tåvlea di pårtixhaedje\n"
+"so ene plakete. Ahessåve pol poleur rapexhî pus tård, s' i fåt.\n"
+"C' est hôtmint ricmandé del fé.\n"
+"\n"
+" * «%s»: vos permete di rapexhî\n"
+"on tåvlea di pårtixhaedje k' a stî schapé so plakete d' avance.\n"
+"\n"
+" * «%s»: si vosse tåvlea di pårtixhaedje est crombe, vos ploz sayî del "
+"rapexhî avou cisse tchuze chal. Prindoz asteme et rimimbrez vs ki çoula pout "
+"n' nén roter a tos les côps.\n"
+"\n"
+" * «%s»: Cisse tchuze chal c' est si vos\n"
+"vloz disfé tos les candjmints et tcherdjî vosse tåvlea di pårtixhaedje\n"
+"di dpårt.\n"
+"\n"
+" * «%s»: disclitchîz cisse tchuze\n"
+"chal si vos n' voloz nén ki les bodjåves sopoirts (plakes lazer,\n"
+"plaketes,...) soeyexhe montés otomaticmint mins l' fé al mwin.\n"
+"\n"
+" * «%s»: Si vos vloz aveur l' aidance d' on macrea po fé li pårtixhaedje "
+"del deure plake, vos ploz tchoezi cisse tchuze chal. Ele est ricomandêye si "
+"vos n' estoz nén on spepieus e pårtixhaedje.\n"
+"\n"
+" * «%s»: clitchîz so ci boton la po disfé tos vos candjmints.\n"
+"\n"
+" * «%s»: vos dene des ôtès tchuzes po les\n"
+"pårticions (sôre, tchuzes, abwesnaedje) eyet dene pus d' informåcions\n"
+"sol deure plake.\n"
+"\n"
+" * «%s»: on côp ki vos avoz fini li pårtixhaedje del deure plake, "
+"tchoezixhoz çouchal po schaper po d' bon les candjmints.\n"
+"\n"
+"Cwand vos dnez l' grandeu del pårticion, vos l' poloz tchoezi finmint avou\n"
+"les tapes fletches di vosse taprece.\n"
+"\n"
+"Note: vos ploz tot fé pår avou l' taprece: naivyîz d' ene pårticion a l' ôte "
+"avou li tape Tab et les fletches Up/Down.\n"
+"\n"
+"Cwand ene pårticion a stî tchoezeye, vos poloz fé:\n"
+"\n"
+" * Ctrl-c po fé ene novele pårticion (cwand c' est ene vude pårticion k' a "
+"stî tchoezeye)\n"
+"\n"
+" * Ctrl-d po disfacer li pårticion\n"
+"\n"
+" * Ctrl-m po defini li pont di montaedje\n"
+"\n"
+"Po-z aveur des informåcions so les diferins sistinmes di fitchîs k' i gn a,\n"
+"lijhoz li tchaptrê so «ext2FS» do «Manuel di Referince».\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montaedje otomatike des sopoirts bodjåves"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Candjî pol môde normå/spepieus"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Pus d' ene pårticion Windows a stî detectêye so vosse deure plake.\n"
+"Tchoezixhoz li cene ki vos vloz candjî si grandeu, po-z astaler vosse\n"
+"novea sistinme d'&nbsp;operance Mageia s' i vs plait.\n"
+"\n"
+"Po l' informåcion, tchaeke pårticion est mostrêye come çoula:\n"
+"«no Linux», «no Windows», «grandeu».\n"
+"\n"
+"Li «no Linux» est costrût come çouchal:\n"
+"«sôre del deure plake» + «limero del deure plake» + «limero del "
+"pårticion» (par egzimpe, hd+a+1 --> «hda1»)\n"
+"\n"
+"Li «sôre del deure plake» est «hd» si vosse deure plake est del sôre IDE,\n"
+"oudonbén «sd» si elle est del sôre SCSI.\n"
+"\n"
+"Li «limero del deure plake» est todi ene lete pa drî «hd» ou «sd».\n"
+"Avou les plakes IDE on a:\n"
+"\n"
+" * «a» pol plake mwaisse sol prumî controleu IDE,\n"
+"\n"
+" * «b» pol plake esclåve sol prumî controleu IDE,\n"
+"\n"
+" * «c» pol plake mwaisse sol deujhinme controleu IDE,\n"
+"\n"
+" * «d» pol plake esclåve sol deujhinme controleu IDE.\n"
+"\n"
+"Avou les plakes SCSI, «a» vout dire «prumire deure plake», «b» vout dire "
+"«deujhinme deure plake», evnd...\n"
+"\n"
+"Li «no Windows» est li lete ki Windows eploye po-z idintifyî li pårticion "
+"(par egzimpe li prumire pårticion Windows del prumire deure plake est lomêye "
+"«C:»)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: verifyîz ki l' tchuze est bén l' bone. Si vos dmorez dins\n"
+"èn ôte payis, clitchîz sol boton «%s» po ndè tchoezi èn ôte.\n"
+"Si vosse payis n' est nén e l' prumire djivêye di håynêye, clitchîz sol\n"
+"boton «%s» po-z aveur li djivêye en etir di tos les payis del Daegn."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"Ciste etape est enondêye seulmint si ene viye pårticion GNU/Linux a stî\n"
+"trovêye so voste éndjole.\n"
+"\n"
+"DrakX asteure a mezåjhe di saveur si vos vloz fé ene novele astalåcion\n"
+"oudonbén fé on metaedje a djoû d' on sistinme Mageia k' i gn a\n"
+"ddja sol plake:\n"
+"\n"
+" * «%s»: çouchal va spotchî ttafwait l' vî sistinme k' i gn\n"
+"aveut sol plake. Si vos vloz candjî l' manire ki vos deurès plakes sont\n"
+"pårteyes, oudonbén candjî li sistinme di fitchîs, vos dvrîz tchoezi\n"
+"çouchal. Sorlon vosse pårtixhaedje, si vos avoz « /home » so ene\n"
+"pårticion da sinne metans, vos ploz wårder on boket di vos dnêyes\n"
+"ki n' seront nén spotcheyes.\n"
+"\n"
+" * «%s»: cisse classe d' astalaedje chal vos permete di\n"
+"mete a djoû les pacaedjes k' i gn a so vosse sistinme Mageia.\n"
+"Vosse pårtixhaedje est wårdé et les dnêyes des uzeus n' sont nén\n"
+"candjeyes. Li plupårt des ôtès etapes d' apontiaedje dimorèt, come\n"
+"pol cas d' èn astalaedje sitandård.\n"
+"\n"
+"Eployî l' tchuze «Metaedje a djoû» rote comifåt po mete a djoû des\n"
+"sistinmes Mageia modêye «8.1» ou pus nouve. Mins l' fé po\n"
+"des modêyes di Mageia pus viyes kel «8.1» n' est nén ricmandé."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Sorlon li tchuze do lingaedje, DrakX va tchoezi otomaticmint li boune\n"
+"taprece por vos. Verifyîz kel tchuze corespond bén a çou k' vos vloz,\n"
+"oudonbén candjîz di taprece.\n"
+"\n"
+"I s' pout ki vos åyoxhe ene taprece diferinne del cene prémetowe\n"
+"po vosse lingaedje: par egzimpe, ene djin ki djåzreut inglès mins\n"
+"vicreut el Swisse, ele vôreut cwand minme ene swisse taprece.\n"
+"Oudonbén si vos avoz tchoezi l' walon mins ki vos avoz ene taprece\n"
+"francesse ou qwerty purade k' ene taprece bedje. Dins les deus cas,\n"
+"vos pôroz candjî vosse tchuze a l' etape «Rascourti éndjolreye» pus lon,\n"
+"et tchoezi l' cene ki vos vloz dins en ene djivêye.\n"
+"\n"
+"Clitchîz so «%s» po-z aveur li djivêye etire di totes les tapreces ki sont\n"
+"sopoirtêyes.\n"
+"\n"
+"Si vos tchoezixhoz ene taprece po èn alfabet nén latén, li purnea shuvant\n"
+"vos dinrè l' tchuze des tapes a tchôkî po candjî inte l' alfabet latén eyet\n"
+"l' taprece nén latene."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Li prumire etape c' est di tchoezi vosse lingaedje.\n"
+"\n"
+"Li lingaedje ki vos tchoezixhoz serè li prémetou\n"
+"lingaedje do sistinme. Ci srè l' lingaedje eployî pol\n"
+"documintåcion, l' astalaedje, eyet l' sistinme e djenerå.\n"
+"Les lingaedjes sont rgroupés pa grandès redjons del Daegn\n"
+"po-z aveur des rîlêyes di lingaedjes pus coûtes.\n"
+"\n"
+"Si vos clitchîz so «%s» vos pôroz tchoezi d' aveur\n"
+"do sopoirt po ds ôtes lingaedjes avou. Cwand vos tchoezixhoz èn ôte\n"
+"lingaedje les fitchîs specifikes po ci lingaedje la (ratournaedjes, "
+"aidance,\n"
+"documintåcions, coridjreces,...) sront astalés. Par egzimpe, si vos alez\n"
+"aveur so voste éndjole èn uzeu ki vént del Sipagne, clitchîz sol boesse\n"
+"a clitchî ki mostere «%s» dins l' djivêye del seccion «Sipepieus».\n"
+"\n"
+"Åd fwait do sopoirt UTF-8 (unicôde): Unicôde est on novea ecôdaedje\n"
+"ki permete di scrire tos les lingaedjes del Daegn. Mins i gn a co des\n"
+"sacwès a-z amidrer dins l' sopoirt UTF-8 so GNU/Linux. Vola pocwè\n"
+"Mageia eployrè UTF-8 ou nén sorlon les tchuzes ki vos djhoz:\n"
+"\n"
+" * Si vos tchoezixhoz on lingaedje avou ene foite eritance d' on dné\n"
+"ecôdaedje (lingaedjes latin1, rûsse, djaponès, chinwès, corêyin, taylandès\n"
+"grek, turk, li plupårt des lingaedjes latin2), cist ecôdaedje d' eritance "
+"la\n"
+"serè-st eployî come prémetou ecôdaedje;\n"
+"\n"
+" * Les ôtes lingaedjes eployèt unicôde;\n"
+"\n"
+" * Si deus, ou di pus, di lingaedjes sont tchoezis, et si ces lingaedjes la\n"
+"n' eployèt nén l' minme prémetou ecôdaedje, adon unicôde serè-st eployî,\n"
+"la k' il est li seu cmon ecôdaedje;\n"
+"\n"
+" * Di pus, li boesse «%s» vos permete di foirci\n"
+"l' sistinme a-z eployî unicôde (UTF-8), et çoula po tot l' minme ké "
+"lingaedje.\n"
+"\n"
+"Notez ki vos ploz astaler li sopoirt po bråmint des lingaedjes et nén \n"
+"seulmint onk. Si vos les vloz tos (tos les cis sopoirtés pol moumint, come \n"
+"di djusse), clitchîz sol boesse «%s». Cisse tchuze la \n"
+"est ahessåve po ene éndjole ki srè eployeye pa des djins di tolminme ké \n"
+"payis. Dimander l' sopoirt po on lingaedje ça vout dire ki les fontes,\n"
+"les ratournaedjes, les coridjreces, evnd. po ç' lingaedje la sront astalés.\n"
+"\n"
+"On côp ki vos avoz tchoezi les locåles ki vos vloz, clitchîz so «Shuvant» po "
+"passer a l' etape shuvante.\n"
+"Po candjî d' on lingaedje a l' ôte sol sistinme on côp astalé, vos ploz "
+"enonder li comande «localedrake» come uzeu «root» po candjî li prémetou "
+"lingaedje do sistinme; ou l' enonder come èn uzeu normå po candjî les "
+"preferinces di lingaedje po cist uzeu la."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Español"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"D' acostumance, DrakX n' a nole rujhe po trover l' nombe di botons di\n"
+"vosse sori. S' i n' trove nén, i pinsrè ki vos avoz ene sori di deus\n"
+"botons, et va mete en alaedje l' emulåcion do troejhinme boton. Li\n"
+"troejhinme boton d' ene sori a deus botons pout esse emulé tot\n"
+"clitchant avou les botons d' hintche eyet d' droete e minme tins.\n"
+"DrakX sårè otomaticmint si vosse sori est ene sori PS/2, séreye\n"
+"oudonbén USB.\n"
+"\n"
+"Si vos avoz ene sori a troes botons sins rôlete, vos ploz tchoezi\n"
+"l' sori ki dit «%s». DrakX va adon apontyî vosse sori po pleur emuler\n"
+"li rôlete: po çoula, clitchîz sol boton do mitan et s' bodjîz l sori.\n"
+"\n"
+"Si vos vloz defini ene sôre di sori diferinne, tchoezixhoz li sôre k' i fåt "
+"el djivêye.\n"
+"\n"
+"Vos ploz tchoezi l' intrêye «%s» po ene sôre di sori «djenerike»\n"
+"k' irè bén avou cåzu totes les soris.\n"
+"\n"
+"Si vos fjhoz ene tchuze diferinne del prémetowe, DrakX vos mosterrè on\n"
+"purnea po sayî l' sori. Sayîz les botons et li rôlete po vey si tot va\n"
+"comifåt. Si l' sori ni rote nén comifåt, tapez so l' espåce, oudonbén so\n"
+"RETURN po rivni èn erî eyet ndè tchoezi ene ôte.\n"
+"\n"
+"Des côps k' i gn a, les soris a rôlete èn sont nén detectêyes otomaticmint\n"
+"et vos dvroz l' tchoezi dins ene djivêye. Acertinez vs di tchoezi l' cene\n"
+"ki coresponde å pôrt ki vosse sori est raloyeye. Après aveur tchoezi ene\n"
+"sori eyet clitchî sol boton «%s», ene imådje d' ene sori est håynêye el\n"
+"waitroûle. Fijhoz bodjî l' rôlete po verifyî k' ele rote comifåt.\n"
+"On côp ki vos voeyoz l' imådje del rôlete sol waitroûle ki bodje del minme\n"
+"manire ki vos fjhoz bodjî l' rôlete, sayîz les botons eyet vey si\n"
+"l' cursoe shût bén les movmints del sori."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "avou rôlete emulêye"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univiersele | Tot l' minme kéne sori PS/2 ou USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Tchoezixhoz li bon pôrt. Metans: li pôrt «COM1» dzo MS Windows si lome\n"
+"«ttyS0» dzo GNU/Linux."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ene enondrece c' est on ptit programe ki s' mete en alaedje a l' enondaedje\n"
+"del copiutrece. C' est lu ki s' ocupe d' enonder tot l' sistinme. "
+"Normålmint,\n"
+"l' astalaedje di l' enondrece est ene etape totafwaitmint otomatike. DrakX "
+"va\n"
+"analijhî li cmince del deure plake eyet ovrer sorlon çou ki srè trové la:\n"
+"\n"
+" * si c' est on secteu d' enondaedje Windows k' est trové, i srè\n"
+"replaecî avou on secteu d' enondaedje di GRUB/LILO. Come çoula vos pôroz\n"
+"enonder GNU/Linux ou èn ôte S.O.\n"
+"\n"
+" * si c' est on secteu d' enondaedje di GRUB ou LILO k' est trové,\n"
+"i srè replaecî avou on pus novea.\n"
+"\n"
+"Si nou secteu d' enondaedje n' est trové, DrakX vos dmandrè wice\n"
+"mete l' enondrece. Normålmint, li «%s»\n"
+"est li meyeuse plaece. Tchoezi «%s»\n"
+"n' astalrè nole enondrece. Eployîz çoula seulmint si vos savoz çou\n"
+"k' vos fjhoz."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Chal, vos tchoezixhoz li ké sistinme d' imprimaedje vos vloz eployî\n"
+"so vosse copiutrece. Des ôtes sistinmes d' operance k' i gn a\n"
+"vos dnèt onk, mins Mageia vos lait tchoezi inte deus, tchaeke onk\n"
+"estant l' meyeu dins on cas dné.\n"
+"\n"
+" * «%s» - ki vout dire «print, do not queue» (imprimer sins cawêye), est\n"
+"li tchuze a-z eployî si vosse copiutrece est raloyeye directumint a vosse\n"
+"copiutrece et ki vos vloz divni araedjî cwand l' papî s' bôre... et ki\n"
+"vos n' avoz nén des scrireces sol rantoele locåle («%s» n' sait manaedjî\n"
+"ki des apontiaedjes rantoele foirt simpes eyet il est ene miete londjin\n"
+"po-z imprimer pal rantoele). Tchoezixhoz «pdq» si vos estoz on "
+"mieraprindisse\n"
+"avou GNU/Linux.\n"
+"\n"
+" «%s» - «Common Unix Printing System» (sistinme di cmon imprimaedje po\n"
+"Unix), est clapant po l' imprimaedje so vosse sicrirece locåle ossu bén\n"
+"ki les cenes a l' ôte costé del bole. Il est simpe et pout fé do cliyint\n"
+"come do sierveu pol vî sistinme d' imprimaedje «lpd». Ça vout dire k' il\n"
+"est copatibe avou les sistinme k' i gn aveut davance. I pout fé bråmint\n"
+"d' afwaires, mins l' apontiaedje di båze est cåzu ossu åjhey ki l' ci\n"
+"di «pdq». Si vos avoz mezåjhe d' emuler on sierveu «lpd», i vs fåt mete\n"
+"en alaedje li demon «cups-lpd». «%s» a des eterfaces grafikes po tchoezi\n"
+"les scrireces, apontyî les tchuzes prôpes a tchaeskene et po-z imprimer.\n"
+"\n"
+"Si vos tchoezixhoz asteure, et ki pus tård vos n' inmez nén vosse sistinme\n"
+"d' imprimaedje, vos l' poloz åjheymint candjî avou l' usteye d' apontiaedje\n"
+"des scrireces, a-z enonder a pårti do cinte di contrôle di Mageia, tot\n"
+"clitchant sol boton «%s»."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "Sipepieus"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX va cweri après on/des éndjins IDE so vosse copiutrece. I va ossu\n"
+"cweri après ene/des cåte(s) SCSI e PCI. Si ene cåte SCSI est trovêye\n"
+"DrakX va-st astaler otomaticmint li mineu k' i gn a mezåjhe.\n"
+"\n"
+"Come pa des côps li deteccion di l' éndjolreye ni sait nén trover ene "
+"sacwè,\n"
+"i s' pout ki DrakX ni trove rén. Dins ç' cas, vos dvroz specifyî vos minme\n"
+"l' éndjolreye da vosse.\n"
+"\n"
+"Si vos dvoz tchoezi manuwelmint vosse mineu, DrakX vos dmandrè si vos voloz\n"
+"mete des tchuzes por lu. Mins po cmincî, leyîz li mineu rconoxhe tot seu\n"
+"voste éndjolreye: d' acostumance, ça va tot seu.\n"
+"\n"
+"Si ça n' va nén tot seu, vos dvroz dner les informåcions pol mineu "
+"manuwelmint."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: si ene cåte son est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si c' est nén l' cene ki vos avoz, vos ploz clitchî chal\n"
+"po tchoezi èn ôte mineu."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Chal sont prezintés sacwants parametes k' ont a vey avou voste éndjole.\n"
+"Sorlon çou k' vos avoz come éndjolreye vos voeroz, ou nén, ene ou sacwantes\n"
+"des intrêyes shuvantes. Tchaeke intrêye est fwaite avou l' no do cayet\n"
+"a-z apontyî, shuvowe d' on rascourti di l' apontiaedje do moumint.\n"
+"Clitchîz sol boton «%s» corespondant si vos l' vloz candjî.\n"
+"\n"
+" * «%s»: verifyîz l' apontiaedje del taprece et clitchîz sol boton\n"
+"pol candjî, s' i fåt.\n"
+"\n"
+" * «%s»: verifyîz ki l' tchuze est bén l' bone. Si vos dmorez dins\n"
+"èn ôte payis, clitchîz sol boton «%s» po ndè tchoezi èn ôte.\n"
+"Si vosse payis n' est nén e l' prumire djivêye di håynêye, clitchîz sol\n"
+"boton «%s» po-z aveur li djivêye en etir di tos les payis del Daegn.\n"
+"\n"
+" * «%s»: Li prémetowe coisse d' eureye est tchoezeye pa\n"
+"DrakX sorlon li lingaedje/payis ki vs avoz tchoezi. Vos ploz clitchî\n"
+"sol boton «%s» po-z apontyî vosse ôrlodje avou l' eure locåle del\n"
+"plaece wice ki vos dmorez si l' prémetowe valixhance n' est nén coreke.\n"
+"\n"
+" * «%s»: verifyîz l' apontiaedje del sori eyet clitchîz sol boton pol\n"
+"candjî, s' i fåt.\n"
+"\n"
+" * «%s»: si vos clitchîz so «%s» çoula enondrè li macrea\n"
+"d' apontiaedje des scrireces. Loukîz li tchaptrê corespondant do «Guide\n"
+"d' Enondaedje» po pus d' informåcions sol manire d' apontyî ene nouve\n"
+"sicrirece. L' eterface prezintêye chal rishonne a cene håynêye tins\n"
+"di l' astalåcion.\n"
+"\n"
+" * «%s»: si ene cåte son est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si c' est nén l' cene ki vos avoz, vos ploz clitchî chal\n"
+"po tchoezi èn ôte mineu.\n"
+"\n"
+" * «%s»: si ene cåte tévé est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si ele n' est nén detectêye, clitchîz sol boton «%s»\n"
+"po sayî d' l' apontyî al mwin.\n"
+"\n"
+" * «%s»: vos ploz clitchî so «%s» po candjî les parametes\n"
+"del cåte, si vos pinsez k' i sont måvas.\n"
+"\n"
+" * «%s»: li prémetowe finté ki DrakX definixhe po l' eterface\n"
+"grafike est di 800x600 oudonbén 1024x768, sorlon voste éndjolreye.\n"
+"Si ça n' vos va nén, clitchîz sol boton «%s» pol rapontyî.\n"
+"\n"
+" * «%s»: Si vos vloz apontyî li rantoele (locåle ou daegnrece),\n"
+"clitchîz so ç' boton chal. Lijhoz li documintåcion so papî oudonbén\n"
+"li cene håynåve a pårti do cinte di controle di Mageia\n"
+"après l' astalaedje po-z aveur pus di racsegnes.\n"
+"\n"
+" * «%s»: vos permete d' apontyî les adresses des procsis HTTP eyet FTP\n"
+"si l' éndjole ki vos astalez si trovrè pa drî on côpe-feu.\n"
+"\n"
+" * «%s»: ciste intrêye chal vos permete di rdefini l' livea\n"
+"di såvrité, té k' il a stî defini dins l' etape di dvant.\n"
+"\n"
+" * «%s»: si vos tuzez a raloyî voste éndjole al rantoele daegnrece,\n"
+"c' est ene bone idêye di vs protedjî des hacneus avou on sistinme côpe feu.\n"
+"Lijhoz li seccion corespondante do «Guide d' Enondaedje» po-z aveur di pus\n"
+"di detays so ls apontiaedjes do côpe feu.\n"
+"\n"
+" * «%s»: si vos vloz candjî l' apontiaedje di l' enondrece\n"
+"di l' éndjole. Vos nel duvrîz fé ki si vos estoz seur di vos.\n"
+"Lijhoz li documintåcion so l' enondrece dins l' cinte di controle\n"
+"di Mageia po pus di racsegnes.\n"
+"\n"
+" * «%s»: vos pôroz controler finmint les kés siervices ki vos vloz\n"
+"enonder so voste éndjole. Si vos l' vloz eployî po fé do sierveu c' est\n"
+"ene bone idêye di candjî et d' verifyî les valixhances chal."
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "CÃ¥te RDIS"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "CÃ¥te RDIS"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Eterface grafike"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Tchoezixhoz li deure plake ki vos vloz disfacer po-z î astaler vosse\n"
+"novele pårticion Mageia. Prindoz asteme, totes les dnêyes\n"
+"k' i gn a sol deure plake vont esse pierdowes, et vos n' pôroz les rapexhî."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"Clitchîz so «%s» si vos vloz disfacer totes les dnêyes et totes les\n"
+"pårticions k' i gn a so vosse deure plake.\n"
+"Prindoz asteme, dispoy aveur clitchî so «%s», vos n' pôroz pus rapexhî\n"
+"nole dinêye ou pårticion k' i gn aveut sol deure plake, nerén les cis\n"
+"da Windows.\n"
+"\n"
+"Clitchîz so «%s» po rinoncî a cisse operåcion, et leyî les dnêyes\n"
+"et les pårticions come ele estént sol deure plake."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Shuvant ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Di dvant"
+
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "«%s»: si vos clitchîz so «%s» çoula enondrè li macrea\n"
+#~ "d' apontiaedje des scrireces. Loukîz li tchaptrê corespondant do «Guide\n"
+#~ "d' Enondaedje» po pus d' informåcions sol manire d' apontyî ene nouve\n"
+#~ "sicrirece. L' eterface prezintêye e nosse guide rishonne al cisse "
+#~ "håynêye\n"
+#~ "tins di l' astalåcion."
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "Çouchal c' est li pus consecant decidaedje pol såvrité di vosse sistinme\n"
+#~ "GNU/Linux: vos dvoz dner li scret po «root». «root» est li manaedjeu\n"
+#~ "do sistinme eyet l' seu otorijhî a fé des metaedjes a djoû, radjouter\n"
+#~ "des uzeus, candjî l' apontiaedje djenerå do sistinme, evnd. Po fé court,\n"
+#~ "«root» pout fé ttafwait! C' est po çoula k' i vs fåt bén tchoezi li "
+#~ "scret\n"
+#~ "di «root», onk ki soeye målåjhey a trover - DrakX vos dirè s' il est "
+#~ "trop\n"
+#~ "åjhey. Come vos l' poloz vey, vos avoz l' tchuze di n' nén dner di "
+#~ "scret,\n"
+#~ "mins nos nel consians nén; «root» pout tot fé, çoula vout dire eto k' i "
+#~ "pout\n"
+#~ "disfacer -- minme sins l' voleur -- tot çou k' i gn a so les deurès\n"
+#~ "plakes, minme so les pårticions d' ôtes sistinmes d' operance; i våt mî\n"
+#~ "n' eployî l' conte «root» ki vormint cwand nd a mezåjhe, et po çoula\n"
+#~ "våt mî nén rinde l' accès å conte trop åjhey.\n"
+#~ "\n"
+#~ "Li scret dvreut maxhî des letes et des chifes ey esse 8 caracteres long.\n"
+#~ "Ni scrijhoz måy li scret di «root» ene sawice - c' est on trop grand\n"
+#~ "risse po vosse sistinme.\n"
+#~ "\n"
+#~ "Mins nerén, nel fijhoz nén trop long ou trop målåjhey ki vos n' arivez\n"
+#~ "nén a vos l' rimimbrer!\n"
+#~ "\n"
+#~ "Li scret ni srè nén håyné sol waitroûle cwand vos l' tapez, po çoula vos\n"
+#~ "dvoz l' diner deus côps, po bén l' acertiner et k' i gn åye moens di\n"
+#~ "fé ene flotche tot l' tapant. Si vos tapez deus côps avou l' minme\n"
+#~ "flotche, si srè ci scret «incorek» la k' i vs fårè dner l' côp ki vént.\n"
+#~ "\n"
+#~ "Si vos vloz ki l' contrôle des screts soeye fwait pa on sierveu "
+#~ "d' otintifiaedje\n"
+#~ "(come NIS ou LDAP), adon clitchîz sol boton «%s».\n"
+#~ "\n"
+#~ "Si vosse rantoele eploye li protocole LDAP, NIS ou les dominnes Windows "
+#~ "PDC\n"
+#~ "po l' otintifiaedje, tchoezixhoz li moyén d' otintifiaedje corek po "
+#~ "«%s».\n"
+#~ "Si vos n' savoz nén, dimandez a l' administreu del rantoele locåle.\n"
+#~ "\n"
+#~ "Si vos avoz des rujhes po vs rimimbrer les screts, vos ploz tchoezi di\n"
+#~ "n' eployî «%s», si voste éndjole n' est nén raloyeye al daegntoele\n"
+#~ "et si vos avoz fiyate a totes les djins k' ont accès al copiutrece."
+
+#~ msgid "authentication"
+#~ msgstr "otintifiaedje"
diff --git a/perl-install/install/help/po/zh_CN.po b/perl-install/install/help/po/zh_CN.po
new file mode 100644
index 000000000..fdb983a8b
--- /dev/null
+++ b/perl-install/install/help/po/zh_CN.po
@@ -0,0 +1,1872 @@
+# drakx messages in Simplified Chinese
+# Danny Zeng <danny@zeng.com.cn>, 2000, 2002
+# Jesse Kuang <kjx@mandriva.com>, 2002
+# Shiyu Tang <shiyutang@netscape.net>, 2003, 2004
+# Funda Wang <fundawang@linux.net.cn>, 2002, 2003, 2004, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 2007\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-04-22 15:41+0800\n"
+"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"Language-Team: Mageia i18n Team <cooker-i18n@mandrivalinux.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"在继续之å‰, 您应该仔细阅读许å¯åè®®çš„æ¡æ¬¾ã€‚该许å¯é€‚用于整个 Mageiaå‘行版。如果"
+"æ‚¨åŒæ„å…¶ä¸­çš„å…¨éƒ¨æ¡æ¬¾, 请选中\"%s\"框。如果ä¸åŒæ„, å•击\"%s\"æŒ‰é’®å°†é‡æ–°å¯åŠ¨æ‚¨"
+"的计算机。"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux 是多用户系统, è¿™æ„å‘³ç€æ¯ä¸ªç”¨æˆ·å¯æ‹¥æœ‰è‡ªå·±ç‹¬ç«‹çš„首选项, 以åŠè‡ªå·±çš„æ–‡"
+"ä»¶, 等等。若è¦äº†è§£å…³äºŽå¤šç”¨æˆ·ç³»ç»Ÿçš„æ›´å¤šå†…容, 建议您阅读\n"
+"``åˆå­¦è€…指å—''。但是与系统管ç†å‘˜ \"root\"\n"
+"ä¸åŒ, 您在此处添加的用户所能åšçš„æ›´æ”¹å°†ä»…é™äºŽä»–们自己的文件åŠä»–们自己的é…ç½®, "
+"è¿™å¯ä½¿ç³»ç»Ÿå…é­æœ‰æ„æ— æ„的破å。您至少需è¦ä¸ºæ‚¨è‡ªå·±åˆ›å»ºä¸€ä¸ªæ™®é€šç”¨æˆ· --\n"
+"这应该是您æ¯å¤©æ‰€ä½¿ç”¨çš„主è¦è´¦æˆ·ã€‚尽管以 \"root\"\n"
+"登录很容易, 您å¯ä»¥ä¸å—任何é™åˆ¶çš„完æˆä»»ä½•æ“作, 但这很å±é™©ï¼éžå¸¸ä½Žçº§çš„错误就å¯"
+"能让您的系统å†ä¹Ÿæ— æ³•å¯åŠ¨ã€‚å¦‚æžœæ‚¨ä»¥æ™®é€šç”¨æˆ·çš„èº«ä»½çŠ¯äº†éžå¸¸å±é™©çš„错误, 最å的情"
+"况也就是丢失æŸäº›ä¿¡æ¯, 而ä¸ä¼šå½±å“整个系统。\n"
+"\n"
+"第一个域会询问您的真实姓å。当然, è¿™å¹¶ä¸æ˜¯å¿…需的 -- 您当然å¯ä»¥è¾“入您喜欢的任"
+"何内容。DrakX\n"
+"将会使用您在此域中输入的第一个å•è¯ä½œä¸º\"%s\"域的åˆå§‹å€¼, 峿­¤ç”¨æˆ·ç™»å½•系统所用"
+"çš„å称。如果您喜欢的è¯, 您也å¯ä»¥ä¸ä½¿ç”¨é»˜è®¤å€¼, 而æ¢ç”¨æ‚¨å–œæ¬¢çš„用户å。下一步就"
+"是输入密ç ã€‚从安全的角度æ¥è¯´, éžç‰¹æƒ(普通)用户密ç å¹¶æ²¡æœ‰\n"
+"\"root\" 密ç é‚£ä¹ˆéœ€è¦ä¿å¯†, 但是也没有ç†ç”±å¿½è§†è¿™ä¸ªå¯†ç , 而将其留空或设置得太简"
+"å•: åæ­£, 您自己的文件将会是最å±é™©çš„。\n"
+"\n"
+"您å•击\"%s\"之åŽ, 您还å¯ä»¥æ·»åŠ å…¶å®ƒç”¨æˆ·ã€‚å¯ä»¥ä¸ºæ‚¨çš„æ¯ä¸ªæœ‹å‹æ·»åŠ ä¸€ä¸ªç”¨æˆ·: 例"
+"如, 您的父亲或您的妹妹。当您添加完用户之åŽ, 请å•击\"%s\"。\n"
+"\n"
+"å•击\"%s\"按钮å…许您更改该用户的默认 \"shell\"(默认为 bash)。\n"
+"\n"
+"\n"
+"当您添加完用户之åŽ, 您å¯ä»¥ä»Žä¸­é€‰æ‹©ä¸€ä¸ªç”¨æˆ·, 计算机å¯åЍåŽå°†è‡ªåŠ¨ä»¥è¯¥ç”¨æˆ·çš„èº«ä»½"
+"登录到系统。如果您对此特性感兴趣(也ä¸è€ƒè™‘太多的本地安全性), 请选择希望的用户"
+"和窗å£ç®¡ç†å™¨, ç„¶åŽå•击\"%s\"ã€‚å¦‚æžœæ‚¨å¯¹æ­¤ç‰¹æ€§ä¸æ„Ÿå…´è¶£, 请ä¸è¦é€‰ä¸­\"%s\"框。"
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "您è¦ä½¿ç”¨æ­¤ç‰¹æ€§å—?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"在此列出了您硬盘上已有的 Linux\n"
+"分区。您å¯ä»¥ä¿ç•™å‘导所作的选择, 因为对于大多数安装æ¥è¯´è¿™ä¸€é€‰æ‹©æ˜¯è¾ƒå¥½çš„。如果"
+"您想è¦è¿›è¡Œæ›´æ”¹çš„è¯, 您必须至少定义一个根分区(\"/\")。ä¸è¦é€‰æ‹©å¤ªå°çš„分区, å¦åˆ™"
+"您å¯èƒ½æ— æ³•安装足够的软件。如果您想è¦å°†æ‚¨çš„æ•°æ®å­˜æ”¾åœ¨å•独的分区中, 您还需è¦åˆ›"
+"建一个\n"
+"\"/home\" 分区(仅当您有多于一个 Linux 分区时æ‰å¯ç”¨)。\n"
+"\n"
+"æ¯ä¸ªåˆ†åŒºéƒ½æŒ‰ä¸‹åˆ—æ ¼å¼åˆ—出: \"åç§°\", \"容é‡\"。\n"
+"\n"
+"\"åç§°\"结构为: \"硬盘类型\", \"硬盘编å·\", \"分区编å·\"(例如, \"hda1\")。\n"
+"\n"
+"\"硬盘类型\"å–å†³äºŽç¡¬ç›˜çš„æŽ¥å£æ–¹å¼ã€‚如您的硬盘是 IDE 硬盘, 则\"硬盘类型\"就为"
+"\"hd\";若硬盘为 SCSI 硬盘, 就为\"sd\"。\n"
+"\n"
+"\"硬盘编å·\"就是在\"hd\"或\"sd\"åŽé¢çš„那个字æ¯ã€‚对于IDE硬盘: \n"
+"\n"
+" * \"a\"æ„味ç€\"主 IDE 控制器的主硬盘\"ï¼›\n"
+"\n"
+" * \"b\"æ„味ç€\"主 IDE 控制器的从硬盘\"ï¼›\n"
+"\n"
+" * \"c\"æ„味ç€\"从 IDE 控制器的主硬盘\"ï¼›\n"
+"\n"
+" * \"d\"æ„味ç€\"从IDE控制器的从硬盘\"。\n"
+"\n"
+"对于 SCSI 硬盘, \"a\"æ„味ç€\"最低的 SCSI ID\", \"b\"æ„味ç€\"第二低的 SCSI ID"
+"\", 便­¤ç±»æŽ¨ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia 安装分布于多张 CD-ROM 中。如果选中软件包ä½äºŽå¦å¤–çš„ CD-ROM, DrakX 将弹"
+"出当å‰\n"
+"CD, å¹¶è¦æ±‚您æ’入所需的正确 CD。如果您手中没有所请求的 CD, åªéœ€å•击\"%s\", å°±"
+"ä¸ä¼šå®‰è£…相应的软件包了。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"现在该指定è¦åœ¨æ‚¨çš„系统中安装哪些程åºäº†ã€‚Mageia\n"
+"为您准备了数åƒä¸ªè½¯ä»¶åŒ…。而为了使管ç†è½¯ä»¶åŒ…更加容易, è½¯ä»¶åŒ…å·²ç»æŒ‰ç›¸ä¼¼ç¨‹åº¦åˆ†æˆ"
+"了多个组。\n"
+"\n"
+"Mageia\n"
+"按四个类别对软件包进行了分类。您å¯ä»¥ä»Žä¸åŒçš„类别混åˆé€‰æ‹©åº”用程åºã€‚也就是说, "
+"``工作站''中也å¯ä»¥é€‰æ‹©å®‰è£…``æœåС噍''分类中的应用程åºã€‚\n"
+"\n"
+" * \"%s\":如果您计划将您的计算机用作工作站, 请选择工作站分类中的一个或多个"
+"组。\n"
+"\n"
+" * \"%s\":如果您计划使用您的计算机进行编程, 请从该类别中选择相应的组。特殊"
+"çš„ \"LSB\"\n"
+"组将会对您的系统进行é…ç½®, 这样所编译的结果将会尽å¯èƒ½éµä»Ž Linux 标准基础(LSB)"
+"规范。\n"
+"\n"
+" 选择 \"LSB\" 组将安装 \"2.4\" 内核系列, è€Œä¸æ˜¯é»˜è®¤çš„ \"2.6\" 内核。这是为"
+"了ä¿è¯ç³»ç»Ÿèƒ½å¤Ÿç™¾åˆ†ä¹‹ç™¾çš„éµä»Ž\n"
+"LSB。但是, å³ä¾¿æ‚¨ä¸é€‰æ‹© \"LSB\" 组, 您也会得到一个接近百分之百éµä»Ž LSB 的系"
+"统。\n"
+"\n"
+" * \"%s\":如果您的计算机å³å°†æˆä¸ºæœåС噍, 请选择您想è¦å®‰è£…在计算机上的公共æœ"
+"务。\n"
+"\n"
+" * \"%s\":这里您å¯ä»¥é€‰æ‹©æ‚¨é¦–选的图形环境。如果您想è¦ä½¿ç”¨å›¾å½¢ç•Œé¢, 则至少è¦é€‰"
+"择其中一个。\n"
+"\n"
+"将鼠标光标移动到组å之上, æ‚¨ä¼šçœ‹åˆ°è¯¥ç»„çš„ç®€è¦æè¿°æ–‡å­—ã€‚\n"
+"\n"
+"如果您对所æä¾›çš„软件包比较熟悉, 或者您想è¦å®Œå…¨æŽ§åˆ¶å®‰è£…什么软件包, å°±å¯ä»¥é€‰ä¸­"
+"\"%s\"选项。\n"
+"\n"
+"如果您以\"%s\"模å¼å¯åŠ¨å®‰è£…, 您å¯ä»¥ä¸é€‰æ‹©ä»»ä½•组, 这样å¯ä»¥é¿å…安装任何新软件"
+"åŒ…ã€‚è¿™å¯¹äºŽä¿®å¤æˆ–å‡çº§å·²æœ‰ç³»ç»Ÿå¾ˆæœ‰å¸®åŠ©ã€‚\n"
+"\n"
+"如果您在执行常规安装(与å‡çº§ç›¸å¯¹)的时候一个组也没有选中, ä¼šå¼¹å‡ºä¸€ä¸ªå¯¹è¯æ¡†å»ºè®®"
+"最å°å®‰è£…çš„ä¸åŒé€‰é¡¹ï¼š\n"
+"\n"
+" * \"%s\"ï¼šå®‰è£…å›¾å½¢æ¡Œé¢æ‰€éœ€çš„æœ€å°‘软件包。\n"
+"\n"
+" * \"%s\":安装基本系统, å¦åŠ åŸºæœ¬å·¥å…·åŠç›¸åº”文档。此安装适åˆå»ºç«‹æœåŠ¡å™¨ã€‚\n"
+"\n"
+" * \"%s\":将安装使 Linux 系统能够正常è¿è¡Œçš„æœ€å°‘软件包。使用此安装, 您仅仅有"
+"命令行界é¢ã€‚此安装的总计大å°ä¸ºçº¦ 65 兆字节。"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "å‡çº§"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "安装基础文档"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "真正的最å°å®‰è£…"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"如果您选中了想è¦é€‰æ‹©å•个软件包, 安装程åºä¼šæ˜¾ç¤ºå‡ºä¸€ä¸ªè½¯ä»¶åŒ…的树形结构, 其中会"
+"按照组和å­ç»„分类显示全部软件包。æµè§ˆè½¯ä»¶åŒ…æ ‘æ—¶, 您å¯ä»¥é€‰æ‹©æ•´ä¸ªç»„, å­ç»„或å•个"
+"软件包。\n"
+"\n"
+"åªè¦æ‚¨åœ¨å·¦ä¾§çš„æ ‘中选择了软件包, å³ä¾§å°±ä¼šå‡ºçŽ°è¯¥è½¯ä»¶åŒ…ç”¨é€”çš„æè¿°ã€‚\n"
+"\n"
+"!!\n"
+"如果选择了æœåŠ¡å™¨è½¯ä»¶åŒ…, ä¸ç®¡æ˜¯æ‚¨ç‰¹æ„选中的, 还是因为该软件包是æŸç»„çš„æˆå‘˜, 您"
+"都需è¦ç¡®è®¤æ˜¯å¦çœŸçš„æƒ³è¦å®‰è£…这些æœåŠ¡å™¨ã€‚é»˜è®¤æƒ…å†µä¸‹, Mageia\n"
+"会在å¯åŠ¨æ—¶è‡ªåŠ¨å¯åŠ¨å·²å®‰è£…çš„å…¨éƒ¨æœåŠ¡ã€‚å°½ç®¡åœ¨å‘行版é€å‡ºæ—¶è¿™äº›æœåŠ¡æ˜¯å®‰å…¨çš„, 但完"
+"全有å¯èƒ½åœ¨æ­¤ç‰ˆæœ¬ Mageia\n"
+"完æˆåŽå‘çŽ°äº†ç›¸åº”è½¯ä»¶çš„å®‰å…¨æ¼æ´žã€‚如果您并ä¸çŸ¥é“特定æœåŠ¡çš„ç”¨é€”, 或者ä¸çŸ¥é“为什"
+"么è¦å®‰è£…这些æœåŠ¡, 请å•击\"%s\"。å•击\"%s\"将安装列出的æœåŠ¡, 并且å¯åŠ¨æ—¶è¿™äº›æœ"
+"务会被自动å¯åŠ¨ã€‚\n"
+"!!\n"
+"\n"
+"\n"
+"\"%s\"选项用于在安装程åºè‡ªåŠ¨é€‰æ‹©è½¯ä»¶åŒ…ä»¥è§£å†³ä¾èµ–æ€§é—®é¢˜æ—¶ç¦æ­¢å¼¹å‡ºè­¦å‘Šå¯¹è¯æ¡†ã€‚"
+"æŸäº›è½¯ä»¶åŒ…会ä¾èµ–其它软件包, 而è¦å®‰è£…一个软件包的需è¦å…ˆå®‰è£…å¦å¤–一个软件包。安"
+"装程åºä¼šè‡ªåŠ¨ç¡®å®šè¦æ»¡è¶³ä¾èµ–性需è¦å®‰è£…哪些软件包, 以便顺利完æˆå®‰è£…。\n"
+"\n"
+"\n"
+"列表底部的å°è½¯ç›˜å›¾æ ‡å…许您装入先å‰å®‰è£…时创建的软件包列表。如果您一次想è¦é…ç½®"
+"多å°è®¡ç®—机, 此选项å¯èƒ½éžå¸¸æœ‰ç”¨ã€‚å•击此图标åŽ, æ‚¨éœ€è¦æ’å…¥å¦å¤–一次安装结æŸåŽåˆ›"
+"建的那张软盘。å‚看最åŽä¸€æ­¥çš„ç¬¬äºŒæ¡æç¤º, 其中æè¿°äº†å¦‚何创建这样的软盘。"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "自动ä¾èµ–性"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"æ­¤å¯¹è¯æ¡†å¯è®©æ‚¨é€‰æ‹©å¯åŠ¨æ—¶è¦å¯åŠ¨å“ªäº›æœåŠ¡ã€‚\n"
+"\n"
+"DrakX 将会列出本次安装所有å¯ç”¨çš„æœåŠ¡ã€‚è¯·ä»”ç»†æ£€æŸ¥, 并且去掉那些在å¯åŠ¨æ—¶ä¸æ€»éœ€"
+"è¦çš„æœåŠ¡ã€‚\n"
+"\n"
+"将您的鼠标移动到选项上é¢ä¼šå¼¹å‡ºå¸®åŠ©æç¤º, 解释这个æœåŠ¡çš„ä½œç”¨ã€‚ä¸è¿‡, 如果您ä¸ç¡®"
+"定æŸä¸€ä¸ªæœåŠ¡åˆ°åº•æ˜¯å¦éœ€è¦, 还是ä¿ç•™é»˜è®¤è®¾ç½®ä¼šæ¯”较安全。\n"
+"\n"
+"!!\n"
+"如果您的机器将作为æœåС噍, 在这一步请格外å°å¿ƒï¼šè¯·ä¸è¦å¯åŠ¨ä»»ä½•æ‚¨ä¸éœ€è¦çš„æœåŠ¡ã€‚"
+"请ä¸è¦å¿˜äº†, 如果在æœåŠ¡å™¨ä¸Šå¯ç”¨äº†æŸäº›æœåŠ¡, 这些æœåŠ¡å¯èƒ½å¯¹æœåŠ¡å™¨é€ æˆæ½œåœ¨çš„å±"
+"险。通常, åªé€‰æ‹©æ‚¨ç¡®å®žè¦ä½¿ç”¨çš„那些æœåŠ¡ã€‚\n"
+"!!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux 以 GMT (æ ¼æž—å¨æ²»æ ‡å‡†æ—¶)ç®¡ç†æ—¶é—´, å¹¶æ ¹æ®æ‚¨æ‰€é€‰çš„æ—¶åŒºå°†å…¶ç¿»è¯‘为本地时"
+"间。如果您主æ¿ä¸Šçš„æ—¶é’Ÿè®¾å®šä¸ºæœ¬åœ°æ—¶é—´, 您应当关闭\n"
+"\"%s\", 这将会让 GNU/Linux 知é“系统始终和硬件时钟在åŒä¸€æ—¶åŒºã€‚如果本计算机ä»ç„¶"
+"è¿è¡Œå…¶å®ƒæ“作系统, 则此设置将å分有用。\n"
+"\n"
+"\"%s\"选项将连接到 Internet 上的远程时间æœåŠ¡å™¨è‡ªåŠ¨æ ¡å‡†ç³»ç»Ÿæ—¶é’Ÿã€‚è¦è®©æ­¤ç‰¹æ€§æ­£"
+"常工作, 您必须连接到\n"
+"Internet。最好选择地ç†ä½ç½®ç¦»æ‚¨è¾ƒè¿‘的时间æœåŠ¡å™¨ã€‚æ­¤é€‰é¡¹è¿˜ä¼šè‡ªåŠ¨å®‰è£…æ—¶é—´æœåŠ¡"
+"器, 这样您局域网中的其它计算机都能够进行自动校时了。"
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "è‡ªåŠ¨æ—¶é—´åŒæ­¥"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"显示å¡\n"
+"\n"
+" 安装程åºé€šå¸¸å¯ä»¥è‡ªåŠ¨æ£€æµ‹å¹¶é…置连接到计算机上的显示å¡ã€‚如果检测的结果ä¸å¯¹, "
+"您å¯ä»¥åœ¨æ­¤åˆ—表中选择您所实际使用的显示å¡ã€‚\n"
+"\n"
+" å¦‚æžœæ‚¨çš„æ˜¾ç¤ºå¡æ”¯æŒä¸åŒçš„æœåŠ¡å™¨, 为了选择是å¦è¦å¯ç”¨ 3D 加速, 您应该在这里选"
+"æ‹©ç¬¦åˆæ‚¨éœ€è¦çš„æœåŠ¡å™¨ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X(代表 X 窗å£ç³»ç»Ÿ)是 GNU/Linux 图形界é¢çš„æ ¸å¿ƒéƒ¨åˆ†ã€‚Mageia\n"
+"附带的所有图形环境(KDEã€GNOMEã€AfterStepã€WindowMaker ç­‰)都ä¾èµ–于该系统。\n"
+"\n"
+"您将会看到ä¸åŒçš„傿•°åˆ—表, 以便进行图形显示选项的更改æ¥è¾¾åˆ°æœ€ä½³çжæ€ã€‚其中包"
+"括:\n"
+"\n"
+"显示å¡\n"
+"\n"
+" 安装程åºé€šå¸¸å¯ä»¥è‡ªåŠ¨æ£€æµ‹å¹¶é…置连接到计算机上的显示å¡ã€‚如果检测的结果ä¸å¯¹, "
+"您å¯ä»¥åœ¨æ­¤åˆ—表中选择您所实际使用的显示å¡ã€‚\n"
+"\n"
+" å¦‚æžœæ‚¨çš„æ˜¾ç¤ºå¡æ”¯æŒä¸åŒçš„æœåŠ¡å™¨, 为了选择是å¦è¦å¯ç”¨ 3D 加速, 您应该在这里选"
+"æ‹©ç¬¦åˆæ‚¨éœ€è¦çš„æœåŠ¡å™¨ã€‚\n"
+"\n"
+"\n"
+"\n"
+"显示器\n"
+"\n"
+" 安装程åºé€šå¸¸å¯ä»¥è‡ªåŠ¨æ£€æµ‹å¹¶é…置连接到计算机上的显示器。如果检测的结果ä¸å¯¹, "
+"您å¯ä»¥åœ¨æ­¤åˆ—表中选择您所实际使用的显示器。\n"
+"\n"
+"\n"
+"\n"
+"分辨率\n"
+"\n"
+" \n"
+"您å¯ä»¥åœ¨æ­¤é€‰æ‹©åˆ†è¾¨çŽ‡å’Œé¢œè‰²æ·±åº¦, 但您的显示å¡ç¡¬ä»¶è¦æ”¯æŒã€‚è¯·é€‰æ‹©æœ€é€‚åˆæ‚¨éœ€è¦çš„"
+"选项(您在安装完æˆä¹‹åŽä»å¯è¿›è¡Œä¿®æ”¹)。所选é…置的例å­ä¼šæ˜¾ç¤ºåœ¨æ˜¾ç¤ºå™¨ä¸Šã€‚\n"
+"\n"
+"\n"
+"\n"
+"测试\n"
+"\n"
+" æ ¹æ®æ‚¨çš„硬件, 此项å¯èƒ½ä¸ä¼šå‡ºçŽ°ã€‚\n"
+"\n"
+" 系统将会以所选的分辨率打开图形å±å¹•。如果您在测试时看到了æç¤º, 请回答\"%s"
+"\", DrakX\n"
+"就会执行安装的下一步骤。如果您没有看到任何æç¤º, è¿™æ„味ç€è‡ªåŠ¨æ£€æµ‹çš„æŸä¸€éƒ¨åˆ†ä¸"
+"正确, 测试将会在 12\n"
+"ç§’åŽè‡ªåŠ¨ç»“æŸ, 并把您带回èœå•。请更改设置, 直到您能够看到正确的图形显示为"
+"止。\n"
+"\n"
+"\n"
+"\n"
+"选项\n"
+"\n"
+" 您å¯ä»¥åœ¨æ­¤é€‰æ‹©æ˜¯å¦æƒ³è¦åœ¨è®¡ç®—机å¯åŠ¨çš„æ—¶å€™å°±åˆ‡æ¢åˆ°å›¾å½¢ç•Œé¢ã€‚显然, 如果本机将"
+"用作æœåС噍, 或者您的显示é…置还没有æˆåŠŸ, 您å¯èƒ½æƒ³è¦é€‰æ‹©\"%s\"。"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"显示器\n"
+"\n"
+" 安装程åºé€šå¸¸å¯ä»¥è‡ªåŠ¨æ£€æµ‹å¹¶é…置连接到计算机上的显示器。如果ä¸å¹¸æ‚¨çš„æ˜¾ç¤ºå™¨æœª"
+"被检测出æ¥, 您å¯ä»¥åœ¨æ­¤åˆ—表中选择您所实际使用的显示器。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"分辨率\n"
+"\n"
+" 您å¯ä»¥åœ¨æ­¤é€‰æ‹©åˆ†è¾¨çŽ‡å’Œé¢œè‰²æ·±åº¦, ä½†æ‚¨çš„ç¡¬ä»¶è¦æ”¯æŒã€‚è¯·é€‰æ‹©æœ€é€‚åˆæ‚¨éœ€è¦çš„选项"
+"(您在安装完æˆä¹‹åŽä»å¯è¿›è¡Œä¿®æ”¹)。所选é…置的例å­ä¼šæ˜¾ç¤ºåœ¨æ˜¾ç¤ºå™¨ä¸Šã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"å¦‚æžœæ‚¨çš„æ˜¾ç¤ºå¡æ”¯æŒä¸åŒçš„æœåŠ¡å™¨, 为了选择是å¦è¦å¯ç”¨ 3D 加速, 您应该在这里选择"
+"ç¬¦åˆæ‚¨éœ€è¦çš„æœåŠ¡å™¨ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"选项\n"
+"\n"
+" 您å¯ä»¥åœ¨æ­¤é€‰æ‹©æ˜¯å¦æƒ³è¦åœ¨è®¡ç®—机å¯åŠ¨çš„æ—¶å€™å°±åˆ‡æ¢åˆ°å›¾å½¢ç•Œé¢ã€‚显然, 如果本机将"
+"用作æœåС噍, 或者您的显示é…置还没有æˆåŠŸ, 您å¯èƒ½æƒ³è¦é€‰æ‹©\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"在这一步里, 您需è¦å†³å®šæ‚¨æƒ³è¦å°† Mageia\n"
+"æ“作系统安装到硬盘的何处。如果您的硬盘完全是空的, 或者已有æ“作系统使用了所有"
+"的空间, 您就必须è¦å¯¹ç¡¬ç›˜è¿›è¡Œåˆ†åŒºã€‚粗略的说, 对硬盘进行分区就是将其划分æˆå‡ ä¸ª"
+"逻辑上ä¸åŒçš„部分, 以便创建安装您新的\n"
+"Mageia 系统所需的空间。\n"
+"\n"
+"由于对硬盘进行分区通常是ä¸å¯æ¢å¤çš„, 并且å¯èƒ½å¯¼è‡´æ•°æ®ä¸¢å¤±, 所以对于没有ç»éªŒçš„"
+"用户æ¥è¯´, 分区是å分å±é™©çš„æ“ä½œã€‚æ‰€å¹¸çš„æ˜¯, DrakX\n"
+"所包å«çš„å‘导能够显著简化这一过程。在继续这一步骤之å‰, 请花点时间仔细阅读本节"
+"åŠä»¥ä¸Šçš„æ‰€æœ‰å†…容。\n"
+"\n"
+"æ ¹æ®æ‚¨çš„硬盘é…ç½®ä¸åŒ, 您å¯ä»Žä»¥ä¸‹é€‰é¡¹ä¸­åŠ ä»¥é€‰æ‹©ï¼š\n"
+"\n"
+" * \"%s\"。此选项将对您的空驱动器执行自动分区。如果您使用此选项, 则ä¸ä¼šæœ‰ä»»ä½•"
+"åŽç»­çš„æç¤ºã€‚\n"
+"\n"
+" * \"%s\"。å‘导检测到了硬盘上有一个或多个已有的 Linux\n"
+"分区。如果您想è¦ä½¿ç”¨è¿™äº›åˆ†åŒº, 请选择此选项。ç¨åŽ, 安装程åºä¼šè®©æ‚¨é€‰æ‹©ä¸Žæ¯ä¸ªåˆ†"
+"区关è”的挂载点。先å‰çš„æŒ‚载点默认已ç»é€‰ä¸­äº†, 而ä¿ç•™è¿™äº›é€‰é¡¹æ˜¯ä¸ªä¸é”™çš„主æ„。\n"
+"\n"
+" * \"%s\"。如果在您的硬盘上安装了 Microsoft Windows, 而该æ“作系统å ç”¨äº†æ‰€æœ‰çš„"
+"空间, 您就需è¦ä¸º GNU/Linux\n"
+"创建剩余空间。è¦å®Œæˆè¿™ä¸€æ“作, 您å¯ä»¥åˆ é™¤æ‚¨çš„ Microsoft Windows 分区和数æ®(å‚"
+"看``删除整个ç£ç›˜''方案), 或者更改\n"
+"Microsoft Windows FAT 或 NTFS 分区的大å°ã€‚更改分区大å°é€šå¸¸ä¸ä¼šé€ æˆä»»ä½•æ•°æ®ä¸¢"
+"失, 但您必须事先对 Windows\n"
+"分区进行了ç£ç›˜ç¢Žç‰‡æ•´ç†ã€‚æˆ‘ä»¬å¼ºçƒˆæŽ¨èæ‚¨äº‹å…ˆå¤‡ä»½æ‚¨çš„æ•°æ®ã€‚如果您想è¦åœ¨åŒä¸€å°è®¡"
+"算机上使用 Mageia 和 Microsoft\n"
+"Windows, 则推è使用此选项。\n"
+"\n"
+" 注æ„, 在执行这一过程之åŽ, 您原有的 Microsoft Windows 分区将会比先å‰å°ä¸€"
+"些。而您在 Microsoft Windows\n"
+"下å¯ç”¨æ¥å­˜å‚¨æ•°æ®æˆ–安装新软件的剩余空间也会å˜å°‘。\n"
+"\n"
+" * \"%s\"。如果您想è¦åˆ é™¤ç¡¬ç›˜ä¸Šçš„全部数æ®å’Œå…¨éƒ¨åˆ†åŒº, 并将其替æ¢ä¸ºå…¨æ–°çš„ "
+"Mageia\n"
+"系统, 请选择此选项。请é¢å¤–å°å¿ƒ, 因为在您确认之åŽ, æ­¤æ“作无法撤销。\n"
+"\n"
+" !! 如果您选择了此选项, 您硬盘上的全部数æ®éƒ½å°†è¢«åˆ é™¤ã€‚ !!\n"
+"\n"
+" * \"%s\"。当硬盘完全被 Microsoft Windows å ç”¨æ—¶, 会出现此选项。选择此选项将"
+"删除硬盘上的全部内容, ç„¶åŽä»Žå¤´å¼€å§‹è¿›è¡Œåˆ†åŒºã€‚\n"
+"\n"
+" !! 如果您选择了此选项, 您硬盘上的全部数æ®éƒ½å°†è¢«åˆ é™¤ã€‚ !!\n"
+"\n"
+" *\n"
+"\"%s\"ã€‚å¦‚æžœæ‚¨æƒ³è¦æ‰‹åŠ¨å¯¹æ‚¨çš„ç¡¬ç›˜è¿›è¡Œåˆ†åŒº, 请选择此选项。请é¢å¤–å°å¿ƒâ€”—该功能å"
+"分强大, 但也很å±é™©, 您å¯èƒ½åœ¨ä¸ç»æ„ä¹‹é—´æ¯æŽ‰æ‚¨çš„å…¨éƒ¨æ•°æ®ã€‚这也正是为什么我们åª"
+"å¯¹é‚£äº›ä»¥å‰æ‰§è¡Œè¿‡ç±»ä¼¼æ“作并有些ç»éªŒçš„ç”¨æˆ·æ‰æŽ¨èæ­¤é€‰é¡¹çš„原因。è¦èŽ·å¾—å…³äºŽå¦‚ä½•ä½¿"
+"用\n"
+"DiskDrake 工具的更多说明, 请å‚阅``åˆå­¦è€…指å—''一书中的``ç®¡ç†æ‚¨çš„分区''一节。"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "使用已有分区"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "清除整个ç£ç›˜"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"现在安装已ç»å®Œæˆ, 您的 GNU/Linux 系统已ç»å¯ä»¥ä½¿ç”¨äº†ã€‚åªéœ€å•击\"%s\"å°±å¯é‡æ–°å¯"
+"动系统。别忘了å–出安装介质(CD-ROM\n"
+"或软盘)。在计算机完æˆç¡¬ä»¶æµ‹è¯•åŽ, 您所看到的第一个系统自检完åŽçš„å±å¹•就是引导èœ"
+"å•, 您å¯ä»¥ä»Žä¸­é€‰æ‹©è¦å¯åŠ¨å“ªä¸ªæ“作系统。\n"
+"\n"
+"\"%s\"按钮显示了两个é¢å¤–的按钮, å¯ï¼š\n"
+"\n"
+" * \"%s\":创建一张安装软盘。该软盘å¯åœ¨æ— äººå€¼å®ˆçš„æƒ…况下, 按照您刚æ‰çš„è®¾ç½®é‡æ–°"
+"安装一个类似的系统。\n"
+"\n"
+" 请注æ„, å•击按钮åŽä¼šå‡ºçŽ°ä¸¤ä¸ªä¸åŒçš„选项:\n"
+"\n"
+" * \"%s\"。 åŠè‡ªåŠ¨å®‰è£…ã€‚åªæœ‰åˆ†åŒºéƒ¨åˆ†æ˜¯äº¤äº’的。\n"
+"\n"
+" * \"%s\"。 全自动安装:硬盘会被完全é‡å†™, 所有数æ®éƒ½å°†ä¸¢å¤±ã€‚\n"
+"\n"
+" 如果有一大批相åŒçš„æœºå™¨è¦å®‰è£…, 这个功能éžå¸¸æ–¹ä¾¿ã€‚请å‚考我们网站上的自动安装"
+"一节中的更多信æ¯ã€‚\n"
+"\n"
+" * \"%s\"(*):把您刚æ‰é€‰æ‹©çš„软件包记录在软盘上。è¦ä½¿ç”¨æœ¬æ¬¡çš„安装包执行å¦å¤–一"
+"次安装, 请æ’入软盘然åŽå¼€å§‹å®‰è£…。出现æç¤ºçš„æ—¶å€™, 按 [F1]\n"
+"键, 输入 >>linux defcfg=\"floppy\" <<。\n"
+"\n"
+"(*) 您需è¦ä¸€å¼  FAT æ ¼å¼çš„软盘。è¦åœ¨ GNU/Linux 下创建一张这样的软盘, ä¸€ç§æ–¹æ³•"
+"是输入 \"mformat a:\"ï¼›å¦ä¸€ç§æ˜¯é¦–å…ˆ\n"
+"\"fdformat /dev/fd0\", ç„¶åŽ \"mkfs.vfat /dev/fd0\"。"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "生æˆè‡ªåŠ¨å®‰è£…è½¯ç›˜"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"如果您想è¦é‡ç”¨æŸäº›çŽ°æœ‰çš„ GNU/Linux\n"
+"分区, 您å¯èƒ½æƒ³è¦å…ˆæ ¼å¼åŒ–其中的一些分区, 并删除这些分区中的全部数æ®ã€‚如果您希"
+"望这么åšçš„è¯, è¯·åŒæ—¶é€‰ä¸­è¿™äº›åˆ†åŒºã€‚\n"
+"\n"
+"请注æ„, 没有必è¦é‡æ–°æ ¼å¼åŒ–å·²æœ‰çš„å…¨éƒ¨åˆ†åŒºã€‚æ‚¨å¿…é¡»é‡æ–°æ ¼å¼åŒ–åŒ…å«æ“作系统的分区"
+"(比如 \"/\", \"/usr\" 或\n"
+"\"/var\"), è€Œæ— éœ€é‡æ–°æ ¼å¼åŒ–åŒ…å«æ‚¨æƒ³è¦ä¿ç•™çš„æ•°æ®çš„分区(典型的如 \"/home\")。\n"
+"\n"
+"请在选择分区时é¢å¤–å°å¿ƒã€‚æ ¼å¼åŒ–åŽ, 选中分区的全部数æ®éƒ½å°†è¢«åˆ é™¤, 您也无法进行"
+"æ¢å¤ã€‚\n"
+"\n"
+"如果您准备好格å¼åŒ–分区了, 请å•击\"%s\"。\n"
+"\n"
+"如果您想è¦é€‰æ‹©å…¶å®ƒåˆ†åŒºç”¨äºŽå®‰è£… Mageia æ“作系统, 请å•击\"%s\"。\n"
+"\n"
+"如果您想è¦é€‰æ‹©è¦æ£€æµ‹ç£ç›˜ä¸Šçš„åå—, 请å•击å•击\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"在您安装 Mageia\n"
+"的这个时候, 很å¯èƒ½æœ‰äº›è½¯ä»¶åŒ…在å‘行之åŽå·²ç»æ›´æ–°ã€‚有些故障已ç»è¢«ä¿®æ­£, 有些安全"
+"问题已ç»è¢«è§£å†³ã€‚为了让您能够享用这些更新, 您现在å¯ä»¥ä»Ž Internet\n"
+"上下载它们。如果您的 Internet 连接已ç»å¯ä»¥ä½¿ç”¨, 请选择\"%s\"。如果您愿æ„以åŽ"
+"å†å‡çº§, 请选择\"%s\"。\n"
+"\n"
+"\n"
+"选择\"%s\"将显示一个清å•, 其中列出的地方都æä¾›äº†æ›´æ–°è½¯ä»¶åŒ…。您应该选择离您地"
+"ç†ä½ç½®è¾ƒè¿‘的镜åƒã€‚之åŽä¼šå‡ºçŽ°ä¸€ä¸ªå¯ä»¥ä¸‹è½½çš„è½¯ä»¶åŒ…é€‰æ‹©æ ‘ï¼šå¤æŸ¥é€‰é¡¹, ç„¶åŽå•击"
+"\"%s\"æ¥èŽ·å–并安装选中的软件包, è¦ç»ˆæ­¢è¯·å•击\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"在这里, DrakX å°†å…许您选择计算机è¦ä½¿ç”¨çš„安全级别。说的直白一点, 如果计算机将"
+"包å«å…³é”®æ•°æ®, 或者将直接暴露于 Internet\n"
+"之下, 则应该设置较高的安全级别。较高的安全级别通常以æŸå¤±æ˜“用性作为代价。\n"
+"\n"
+"如果您ä¸çŸ¥é“è¦é€‰æ‹©ä»€ä¹ˆ, è¯·ä¿æŒé»˜è®¤é€‰é¡¹ã€‚您å¯ä»¥ç¨åŽä»Ž Mageia 控制中心的一部分 "
+"draksec\n"
+"æ¥æ›´æ”¹å®‰å…¨çº§åˆ«ã€‚\n"
+"\n"
+"请在\"%s\"域中填入è¦è´Ÿè´£å®‰å…¨çš„人的电å­é‚®ä»¶åœ°å€ã€‚安全信æ¯å°†è¢«å‘é€åˆ°è¯¥åœ°å€ã€‚"
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "安全管ç†å‘˜"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"在这一步中, 您需è¦é€‰æ‹©è¦ä½¿ç”¨å“ªä¸ªæˆ–哪些分区æ¥å®‰è£…您的 Mageia 系统。如果已ç»å®š"
+"义了分区, ä¸ç®¡æ˜¯å…ˆå‰å®‰è£…çš„ GNU/Linux\n"
+"还是由其它分区工具划分的, 您都å¯ä»¥ä½¿ç”¨å·²æœ‰çš„分区。å¦åˆ™, 必须对硬盘分区进行定"
+"义。\n"
+"\n"
+"è¦åˆ›å»ºåˆ†åŒº, 您必须先选择硬盘。您å¯ä»¥å•击“hdaâ€é€‰æ‹©ç¬¬ä¸€ä¸ª IDE 硬盘进行分区, "
+"“hdbâ€é€‰æ‹©ç¬¬äºŒä¸ª IDE 硬盘, “sdaâ€\n"
+"选择第一个 SCSI 驱动器, 便­¤ç±»æŽ¨ã€‚\n"
+"\n"
+"为了对选中硬盘进行分区, 您需è¦ä½¿ç”¨è¿™äº›é€‰é¡¹: \n"
+"\n"
+" * \"%s\": 此选项将删除选中硬盘上的全部分区\n"
+"\n"
+" * \"%s\": 此选项å¯åœ¨æ‚¨ç¡¬ç›˜çš„剩余空间中为您自动创建 ext4 和交æ¢åˆ†åŒº\n"
+"\n"
+"\"%s\": 使您å¯ä»¥è®¿é—®é¢å¤–特性: \n"
+"\n"
+" * \"%s\": 将分区表ä¿å­˜åˆ°è½¯ç›˜ã€‚如果需è¦çš„è¯, ç¨åŽå¯è¿›è¡Œåˆ†åŒºè¡¨ä¿®å¤ã€‚å¼ºçƒˆæŽ¨èæ‚¨"
+"执行这一步骤。\n"
+"\n"
+" * \"%s\": å…许您æ¢å¤å…ˆå‰ä¿å­˜åœ¨è½¯ç›˜ä¸Šçš„分区表。\n"
+"\n"
+" * \"%s\": 如果您的分区表已æŸå, 您å¯ä»¥ä½¿ç”¨æ­¤é€‰é¡¹å°è¯•ä¿®å¤ã€‚请é¢å¤–å°å¿ƒ, å¹¶è®°ä½"
+"è¿™ä¸€é€‰é¡¹å¹¶ä¸æ€»æ˜¯èƒ½å¤Ÿå¸®åŠ©æ‚¨ã€‚\n"
+"\n"
+" * \"%s\": å¿½ç•¥å…¨éƒ¨æ›´æ”¹å¹¶é‡æ–°è£…入硬盘上的原始分区表。\n"
+"\n"
+" * \"%s\": å–æ¶ˆæ­¤é€‰é¡¹å°†å¼ºè¿«ç”¨æˆ·æ‰‹åŠ¨æŒ‚è½½ç±»ä¼¼è½¯ç›˜å’Œ CD-ROM çš„å¯ç§»åŠ¨ä»‹è´¨ã€‚\n"
+"\n"
+" * \"%s\": 如果您想è¦ä½¿ç”¨å‘导对您的è¥ç›˜è¿›è¡Œåˆ†åŒº, 则使用此选项。如果您对分区ç†"
+"è§£ä¸æ·±çš„è¯, æŽ¨èæ‚¨ä½¿ç”¨æ­¤é€‰é¡¹ã€‚\n"
+"\n"
+" * \"%s\": ä½¿ç”¨æ­¤é€‰é¡¹å–æ¶ˆæ‚¨çš„æ›´æ”¹ã€‚\n"
+"\n"
+" * \"%s\": å…许对分区进行é¢å¤–çš„æ“作(类型ã€é€‰é¡¹ã€æ ¼å¼åŒ–), 并给出关于硬盘的é¢å¤–"
+"ä¿¡æ¯ã€‚\n"
+"\n"
+" * \"%s\": 当您完æˆå¯¹ç¡¬ç›˜çš„分区åŽ, 此选项将把您的更改回存到硬盘。\n"
+"\n"
+"å®šä¹‰åˆ†åŒºå¤§å°æ—¶, 您å¯ä»¥ä½¿ç”¨é”®ç›˜ä¸Šçš„光标键对分区大å°è¿›è¡Œè°ƒæ•´ã€‚\n"
+"\n"
+"注æ„: 您å¯ä»¥ä½¿ç”¨é”®ç›˜è®¿é—®ä»»ä½•选项。å¯ä»¥ä½¿ç”¨ [Tab] å’Œ [上/下]光标键æ¥åˆ‡æ¢åˆ†"
+"区。\n"
+"\n"
+"选中分区åŽ, 您å¯ä»¥ç”¨: \n"
+"\n"
+" * Ctrl+C 创建新分区(如果选中了空分区)\n"
+"\n"
+" * Ctrl+D 删除分区\n"
+"\n"
+" * Ctrl+M 设定挂载点\n"
+"\n"
+"è¦çš„关于ä¸åŒçš„æ–‡ä»¶ç³»ç»Ÿç±»åž‹çš„æ›´å¤šä¿¡æ¯, 请查看“å‚考手册â€ä¸­ ext2FS 一章。\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "自动挂载å¯ç§»åŠ¨ä»‹è´¨"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "在正常/专家模å¼é—´åˆ‡æ¢"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"在硬盘上检测到了多个 Microsoft 分区。请选择一个分区改å˜å¤§å°, 以便安装您新\n"
+"çš„ Mageia æ“作系统。\n"
+"\n"
+"æ¯ä¸ªåˆ†åŒºéƒ½æ˜¯æŒ‰â€œLinux åç§°â€ã€â€œWindows åç§°â€ã€â€œå®¹é‡â€é¡ºåºåˆ—出的。\n"
+"\n"
+"“Linux åç§°â€çš„结构为:“硬盘类型â€ã€â€œç¡¬ç›˜ç¼–å·â€ã€â€œåˆ†åŒºç¼–å·â€(例如, \n"
+"“hda1â€)。\n"
+"\n"
+"如果您的硬盘是 IDE 硬盘, “硬盘类型â€ä¸ºâ€œhdâ€ï¼›å¦‚果为 SCSI 硬盘则为“sdâ€ã€‚\n"
+"\n"
+"“硬盘编å·â€æ€»æ˜¯è·Ÿåœ¨â€œhdâ€æˆ–“sdâ€åŽé¢çš„å­—æ¯ã€‚对于 IDE 硬盘æ¥è¯´:\n"
+"\n"
+" *“aâ€æ„味ç€â€œä¸» IDE 控制器的主硬盘â€ï¼›\n"
+"\n"
+" *“bâ€æ„味ç€â€œä¸» IDE 控制器的从硬盘â€ï¼›\n"
+"\n"
+" *“câ€æ„味ç€â€œä»Ž IDE 控制器的主硬盘â€ï¼›\n"
+"\n"
+" *“dâ€æ„味ç€â€œä»Ž IDE 控制器的从硬盘â€ã€‚\n"
+"\n"
+"对于 SCSI 硬盘, “aâ€æ„味ç€â€œæœ€ä½Žçš„ SCSI IDâ€, “bâ€æ„味ç€â€œç¬¬äºŒä½Žçš„ SCSI IDâ€, ç­‰"
+"等。\n"
+"\n"
+"“Windows åç§°â€å°±æ˜¯ç¡¬ç›˜åœ¨ Windows 下的盘符(第一个此盘或分区就是“C:â€)。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":检查当å‰çš„国家选择。如果您并éžåœ¨è¿™ä¸ªå›½å®¶, 请å•击\"%s\"按钮, 并选择å¦"
+"外的选项。如果您的国家在第一个列表中并没有显示出æ¥, å•击\"%s\"按钮å¯èŽ·å¾—å®Œæ•´"
+"的国家列表。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"仅当在您的计算机上å‘现了已有的 GNU/Linux 分区, æ‰ä¼šæ¿€æ´»è¿™ä¸€æ­¥éª¤ã€‚\n"
+"\n"
+"DrakX 现在需è¦çŸ¥é“æ‚¨æ˜¯æƒ³è¦æ‰§è¡Œå…¨æ–°å®‰è£…, 还是å‡çº§å·²æœ‰çš„ Mageia 系统:\n"
+"\n"
+" *\n"
+"\"%s\":总体æ¥è¯´, è¿™å°†å®Œå…¨é”€æ¯æ—§ç³»ç»Ÿã€‚但是, æ ¹æ®æ‚¨é€‰æ‹©çš„分区方案, 您å¯ä»¥è®©çް"
+"有的数æ®(比如\"主\"目录)å…äºŽè¦†ç›–ã€‚å¦‚æžœæ‚¨æƒ³è¦æ›´æ”¹ç¡¬ç›˜çš„分区方案, 或者更该文件"
+"系统, 您就应该使用此选项。\n"
+"\n"
+" * \"%s\":这一安装级别å…许您更新目å‰å®‰è£…在您 Mageia\n"
+"系统上的软件包。您的分区方案和用户数æ®éƒ½ä¸ä¼šè¢«ç ´å。ç»å¤§å¤šæ•°é…置步骤ä»ç„¶å¯"
+"用, 与标准安装类似。\n"
+"\n"
+"使用``å‡çº§''选项应该在 \"8.1\" 或更新版本的 Mageia ç³»ç»Ÿä¸Šå·¥ä½œæ­£å¸¸ã€‚ä¸æŽ¨è在先"
+"于 \"8.1\" 版本的\n"
+"Mageia 系统上执行å‡çº§ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"æ ¹æ®æ‚¨åœ¨ä¸­æ‰€é€‰æ‹©çš„语言, DrakX 将会自动选择特定类型的键盘é…置。请检查列出的选"
+"项是å¦é€‚åˆæ‚¨, è‹¥ä¸é€‚åˆè¯·é€‰æ‹©å…¶å®ƒé”®ç›˜å¸ƒå±€ã€‚\n"
+"\n"
+"\n"
+"当然, å¯èƒ½æ‚¨ä½¿ç”¨çš„语言与键盘并ä¸ç›¸åŒï¼šä¾‹å¦‚, 您是说英语的瑞典本土人, 但正在用"
+"瑞士键盘。或者, 如果您说英语但ä½åœ¨é­åŒ—å…‹, 您å¯èƒ½ä¹Ÿä¼šé‡åˆ°æ‚¨çš„æ¯è¯­å’Œæ‰€ä½¿ç”¨çš„é”®"
+"盘并ä¸åŒ¹é…的情况。ä¸ç®¡æ˜¯å“ªç§æƒ…况, 您都å¯ä»¥åœ¨è¿™ä¸€æ­¥éª¤ä»Žåˆ—表ç§é€‰æ‹©ç›¸åº”的键"
+"盘。\n"
+"\n"
+"å•击\"%s\"æŒ‰é’®å¯æ˜¾ç¤ºæ‰€æ”¯æŒé”®ç›˜çš„完整列表。\n"
+"\n"
+"å¦‚æžœæ‚¨é€‰æ‹©äº†åŸºäºŽéžæ‹‰ä¸å­—符集的键盘布局, ä¸‹ä¸ªå¯¹è¯æ¡†å°†å…è®¸æ‚¨é€‰æ‹©ç”¨äºŽåˆ‡æ¢æ‹‰ä¸å’Œ"
+"éžæ‹‰ä¸å¸ƒå±€ä¹‹é—´çš„组åˆé”®ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"第一步是选择您首选的语言。\n"
+"\n"
+"您对首选语言的选择将影å“安装程åºã€æ–‡æ¡£åŠç³»ç»Ÿçš„æ€»ä½“é…置。请先选择您所在的地"
+"区, ç„¶åŽé€‰æ‹©æ‚¨è®²çš„语言。\n"
+"\n"
+"\n"
+"å•击\"%s\"按钮以åŽ, 您å¯ä»¥é€‰æ‹©è¦åœ¨æ‚¨çš„工作站上安装哪些é¢å¤–的语言, å³ä¸ºç³»ç»Ÿæ–‡"
+"档和应用程åºå®‰è£…特定语言的文件。例如, 如果您的计算机è¦ä¸ºç¹ä½“中文的用户æä¾›æœ"
+"务, 请在树视图中选择简体中文作为默认语言, ç„¶åŽåœ¨é«˜çº§é€‰é¡¹ä¸­é€‰æ‹©\"%s\"。\n"
+"\n"
+"关于 UTF-8 (Unicode) 支æŒï¼šUnicode æ˜¯ä¸€ç§æ–°çš„字符编ç , 该编ç å¯æ”¯æŒæ‰€æœ‰çŽ°å­˜çš„"
+"语言。但是, 在 GNU/Linux 下完全支æŒ\n"
+"Unicode, ä»ç„¶åœ¨å¼€å‘和完善中。由此原因, Mageia 会根æ®ç”¨æˆ·çš„选择是å¦ä½¿ç”¨ "
+"UTF-8:\n"
+"\n"
+" * 如果您所选的语言自身有强制性的编ç (latin1 语言ã€ä¿„è¯­ã€æ—¥è¯­ã€ä¸­æ–‡ã€æœé²œè¯­ã€"
+"泰语ã€å¸Œè…Šè¯­ã€åœŸè€³å…¶è¯­åŠå¤§å¤šæ•° iso-8859-2\n"
+"语言), 则会默认使用强制编ç ï¼›\n"
+"\n"
+" * 其它语言默认会使用 Unicode;\n"
+"\n"
+" * 如果需è¦ä¸¤ç§æˆ–更多ç§è¯­è¨€, 而这两ç§è¯­è¨€æ‰€ä½¿ç”¨çš„ç¼–ç å¹¶ä¸ç›¸åŒ, 则整个系统都会"
+"使用 Unicode;\n"
+"\n"
+" * 最åŽ, 如果è¦å¼ºåˆ¶ç³»ç»Ÿä½¿ç”¨ Unicode, 而ä¸ç®¡é€‰ä¸­çš„æ˜¯å“ªä¸ªæˆ–哪些语言, 则应选中选"
+"项\"%s\"。\n"
+"\n"
+"\n"
+"请注æ„, 系统没有é™åˆ¶æ‚¨åªèƒ½é€‰æ‹©ä¸€ç§é¢å¤–的语言。您å¯ä»¥é€‰æ‹©å¤šç§è¯­è¨€, 甚至选择"
+"\"%s\"框表明您想è¦å®‰è£…å…¨éƒ¨è¯­è¨€ã€‚é€‰æ‹©æ”¯æŒæŸç§è¯­è¨€, æ„味ç€åŒæ—¶å®‰è£…该语言的翻"
+"译ã€å­—ä½“ã€æ‹¼å†™æ£€æŸ¥ç¨‹åºç­‰ç­‰ã€‚\n"
+"\n"
+"è¦åœ¨ç³»ç»Ÿä¸­æ‰€å®‰è£…çš„ä¸åŒè¯­è¨€ä¹‹é—´åˆ‡æ¢, 请以 \"root\" 身份执行 \"/usr/sbin/"
+"localedrake\"\n"
+"命令, 这样å¯ä»¥æ›´æ”¹æ•´ä¸ªç³»ç»Ÿæ‰€ç”¨çš„语言。以普通用户执行该命令, åªä¼šæ›´æ”¹ç‰¹å®šç”¨æˆ·"
+"的语言设置。"
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "西ç­ç‰™"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"通常情况下, DrakX\n"
+"èƒ½å¤Ÿæ­£ç¡®æ£€æµ‹åˆ°æ‚¨çš„é¼ æ ‡æœ‰å‡ ä¸ªæŒ‰é”®ã€‚å¦‚æžœæ£€æµ‹ä¸æ­£ç¡®çš„è¯, 就会å‡å®šæ‚¨æœ‰ä¸€ä¸ªä¸¤é”®é¼ "
+"æ ‡, å¹¶é…置为模拟第三键。如果您想在两键鼠标上使用第三键的è¯, åªéœ€åŒæ—¶æŒ‰ä¸‹å·¦å³"
+"键。DrakX\n"
+"会自动确定您的鼠标所使用的端å£, 是 PS/2ã€ä¸²å£, 还是 USB 接å£ã€‚\n"
+"\n"
+"如果您的三键鼠标没有滚轮, 您å¯ä»¥é€‰æ‹©\"%s\"类型的鼠标。DrakX 就会é…置您的鼠标"
+"æ¥æ¨¡æ‹Ÿæ»šè½®ï¼šåªéœ€æŒ‰ä¸‹ä¸­é”®, ç„¶åŽä¸Šä¸‹ç§»åŠ¨é¼ æ ‡ã€‚\n"
+"\n"
+"如果因为æŸäº›åŽŸå› , 您希望指定ä¸åŒç±»åž‹çš„é¼ æ ‡, 请从æä¾›çš„列表中进行选择。\n"
+"\n"
+"您å¯ä»¥é€‰æ‹©\"%s\"选项æ¥é€‰æ‹©``通用''鼠标类型, 这样基本会适应任何鼠标。\n"
+"\n"
+"如果您选择了ä¸åŒäºŽé»˜è®¤å€¼çš„é¼ æ ‡, 会出现一个测试å±å¹•。请用您鼠标的按键和滚轮æ¥"
+"验è¯è®¾ç½®æ˜¯å¦æ­£ç¡®, 鼠标是å¦å·¥ä½œæ­£å¸¸ã€‚å¦‚æžœé¼ æ ‡å·¥ä½œä¸æ­£å¸¸, 请按空格键或\n"
+"[Enter] 键喿¶ˆæµ‹è¯•, 返回到å¯ä¾›é€‰æ‹©çš„鼠标列表中。\n"
+"\n"
+"\n"
+"滚轮鼠标有时å¯èƒ½æ— æ³•自动检测, 所以您å¯èƒ½éœ€è¦ä»Žåˆ—表中进行选择。请确定您选对了"
+"鼠标所连接的端å£ã€‚选择鼠标åŽ, å•击\"%s\"按钮, 会在å±å¹•上出现鼠标图åƒã€‚è¯•ç€æ»š"
+"动滚轮, ä»¥ç¡®ä¿æ»šè½®å¯ä»¥æ­£å¸¸æ¿€æ´»ã€‚æ‚¨åœ¨æ»šåŠ¨é¼ æ ‡æ»šè½®çš„åŒæ—¶åº”该看到å±å¹•上的滚轮也"
+"在滚动。å¦å¤–, 也应该测试一下鼠标按钮, 鼠标指针的移动应该和鼠标的æ“ä½œä¿æŒä¸€"
+"致。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "模拟滚轮"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "通用 | 任何 PS/2 或 USB 鼠标"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"请选择正确的端å£ã€‚例如, \n"
+"Windows 里的 COM1, 在 GNU/Linux 里é¢å«åš ttyS0。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"所谓引导程åº, 是指计算机å¯åŠ¨æ—¶æ‰€æ‰§è¡Œçš„å°ç¨‹åºã€‚它的责任就是å¯åŠ¨æ•´ä¸ªç³»ç»Ÿã€‚é€š"
+"常, 引导程åºçš„安装是全自动的。DrakX\n"
+"将分æžç£ç›˜çš„引导扇区, å¹¶æ ¹æ®å‘现的情况åšå‡ºä»¥ä¸‹æ“作:\n"
+"\n"
+" * 如果å‘现了 Windows 引导扇区, 则将其替æ¢ä¸º GRUB/LILO 引导扇区。这样, 您就å¯"
+"以装入 GNU/Linux\n"
+"或在您计算机上安装的任何æ“作系统。\n"
+"\n"
+" * 如果å‘现了 GRUB 或 LILO 引导扇区, 则将其替æ¢ä¸ºæ–°çš„引导扇区。\n"
+"\n"
+"如果无法确定, DrakX\n"
+"å°†è¯¢é—®æ‚¨å°†å¼•å¯¼ç¨‹åºæ”¾åœ¨å“ªé‡Œã€‚通常, \"%s\"是最安全的地方。选择\"%s\"å°†ä¸ä¼šå®‰è£…"
+"任何引导程åºã€‚é™¤éžæ‚¨çœŸçš„知é“自己在åšä»€ä¹ˆçš„è¯, å¦åˆ™ä¸è¦ä½¿ç”¨æ­¤é€‰é¡¹ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"现在, 应该为您的计算机选择打å°ç³»ç»Ÿäº†ã€‚其它的æ“ä½œç³»ç»Ÿä¹Ÿè®¸åªæä¾›äº†ä¸€ç§é€‰æ‹©, 但 "
+"Mageia\n"
+"æä¾›äº†ä¸¤ç§ã€‚æ¯ç§æ‰“å°ç³»ç»Ÿéƒ½èƒ½å¤Ÿåœ¨ä¸åŒçš„é…置中大展身手。\n"
+"\n"
+" * \"%s\" --\n"
+"这是``ä¸æŽ’é˜Ÿæ‰“å°''çš„ç¼©å†™ã€‚å¦‚æžœæ‚¨çš„æ‰“å°æœºæ˜¯ç›´æŽ¥è¿žæŽ¥åœ¨è¿™å°ç”µè„‘上的, 您也ä¸ä¼šæ‰“"
+"å°å¤ªå¤šçš„任务, æ›´ä¸ä¼šä½¿ç”¨ç½‘ç»œæ‰“å°æœº, 那么请选择本系统。(\"%s\"\n"
+"åªèƒ½åº”付æžä¸ºç®€å•的网络情况, 而且在网络中使用也很慢。)å¦‚æžœæ‚¨ä»Žæ¥æ²¡æœ‰ä½¿ç”¨è¿‡ "
+"GNU/Linux, é‚£ä¹ˆæŽ¨èæ‚¨ä½¿ç”¨\"pdq\"。\n"
+"\n"
+" * \"%s\" -``通用 Unix\n"
+"打å°ç³»ç»Ÿ'', ä¸è®ºæ˜¯æ‰“å°åˆ°æœ¬åœ°æ‰“å°æœº, 还是打å°åˆ°åœ°çƒå¦ä¸€é¢çš„ç½‘ç»œæ‰“å°æœº, 本系统"
+"都能完全胜任。它é…置简å•, 甚至å¯ä»¥ä½œä¸ºè€å¼ \"lpd\n"
+"\"打å°ç³»ç»Ÿçš„æœåŠ¡å™¨å’Œå®¢æˆ·æœºã€‚æ‰€ä»¥å³ä¾¿æ˜¯è€å¾—掉牙的æ“ä½œç³»ç»Ÿéœ€è¦æ‰“å°æœåŠ¡çš„è¯, 都"
+"å¯ä»¥é¡ºç•…的应用本系统。尽管它的功能å分强大, å¯å®ƒçš„基本设置ä»ç„¶å’Œ\n"
+"\"pdq\" 一样简å•ã€‚å¦‚æžœæ‚¨æƒ³æ¨¡æ‹Ÿä¸€å° \"lpd\" æœåС噍, ä¸è¦å¿˜äº†æ‰“å¼€ \"cups-lpd "
+"\" 守护程åºã€‚\"%s\"\n"
+"还包括一个图形界é¢, å¯ç”¨æ¥æ‰“å°æˆ–é€‰æ‹©æ‰“å°æœºé€‰é¡¹, 以åŠç®¡ç†æ‰“å°æœºã€‚\n"
+"\n"
+"如果您现在进行了选择, 但ç¨åŽåˆå‘现您并ä¸å–œæ¬¢æ‰€é€‰æ‹©çš„æ‰“å°ç³»ç»Ÿ, å¯ä»¥è½»æ¾ä¿®æ”¹ã€‚"
+"åªéœ€ä»Ž Mageia Control Center中选择\n"
+"PrinterDrake, ç„¶åŽå•击\"%s\"按钮。"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "专家"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX 将会首先检测您系统中所安装的 IDE 设备。它还会æœç´¢æ‚¨ç³»ç»Ÿä¸­æ‰€æœ‰çš„ PCI\n"
+"SCSI 适é…å¡ã€‚如果 DrakX å‘现了 SCSI 适é…å¡, 它会自动安装åˆé€‚的驱动程åºã€‚\n"
+"\n"
+"ç”±äºŽç¡¬ä»¶æ£€æµ‹å¹¶ä¸æ€»æ˜¯å¯ä¿¡çš„, DrakX å¯èƒ½æ— æ³•检测到您的硬盘驱动器。如果是这样\n"
+"çš„è¯, æ‚¨å°±éœ€è¦æ‰‹åŠ¨æŒ‡å®šæ‚¨çš„ç¡¬ä»¶ã€‚\n"
+"\n"
+"\n"
+"å¦‚æžœæ‚¨éœ€è¦æ‰‹åŠ¨æŒ‡å®š PCI SCSI 适é…å¡, DrakX å°†æé—®æ‚¨æ˜¯å¦è¦æŒ‡å®šç‰¹åˆ«çš„傿•°ã€‚您\n"
+"最好让 DrakX 去检测硬件, 这样有助于获得åˆå§‹åŒ–适é…塿‰€éœ€çš„选项。在大多数情况\n"
+"下, DrakX 将会顺利通过这一步。\n"
+"\n"
+"如果 DrakX æ— æ³•æ£€æµ‹åˆ°é€‚å½“çš„å‚æ•°, å°±åªå¥½åŠ³é©¾æ‚¨äº²è‡ªé…置驱动程åºäº†ã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\":如果在您的系统中检测到了声å¡, 则会在此处显示。如果您å‘现在此显示的声"
+"å¡ä¸Žæ‚¨ç³»ç»Ÿä¸­å®žé™…安装的声å¡å¹¶ä¸ç›¸åŒ, 您å¯ä»¥å•击该按钮选择ä¸åŒçš„驱动程åºã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"作为概览, DrakX\n"
+"将会将它所å‘çŽ°çš„å…³äºŽç³»ç»Ÿçš„ä¿¡æ¯æ¦‚览显示出æ¥ã€‚æ ¹æ®æ‚¨æ‰€å®‰è£…的硬件ä¸åŒ, 您å¯èƒ½ä¼š"
+"看到以下å„项的部分或全部。æ¯é¡¹ç”±å‡ ä¸ªå¯é…置的硬件项组æˆ, 而æ¯ä¸ªæ¡ç›®åŽé¢éƒ½åˆ—出"
+"了当å‰é…置的概览。å•击相应的\"%s\"按钮å¯è¿›è¡Œæ›´æ”¹ã€‚\n"
+"\n"
+" * \"%s\":检查当å‰çš„键盘映射é…ç½®, 如果需è¦çš„è¯è¿›è¡Œæ›´æ”¹ã€‚\n"
+"\n"
+" *\n"
+"\"%s\":检查当å‰çš„国家选择。如果您并éžåœ¨è¿™ä¸ªå›½å®¶, 请å•击\"%s\"按钮, 并选择å¦"
+"外的选项。如果您的国家在第一个列表中并没有显示出æ¥, å•击\"%s\"按钮å¯èŽ·å¾—å®Œæ•´"
+"的国家列表。\n"
+"\n"
+" * \"%s\":默认情况下, DrakX ä¼šæ ¹æ®æ‚¨æ‰€é€‰çš„国家猜测您的时区。如果时区ä¸å¯¹çš„"
+"è¯, 您å¯ä»¥å•击此处的\"%s\"按钮。\n"
+"\n"
+" * \"%s\":检查当å‰çš„é¼ æ ‡é…ç½®, 如果需è¦çš„è¯å•击按钮进行修改。\n"
+"\n"
+" *\n"
+"\"%s\":å•击\"%s\"æŒ‰é’®å°†æ‰“å¼€æ‰“å°æœºé…ç½®å‘导。请å‚看``åˆå­¦è€…指å—''中的相应章"
+"节, 其中详细æè¿°äº†å¦‚ä½•è®¾ç½®æ–°æ‰“å°æœºã€‚那里给出的界é¢ä¸Žå®‰è£…时所用的界é¢å¤§ä½“相"
+"åŒã€‚\n"
+"\n"
+" *\n"
+"\"%s\":如果在您的系统中检测到了声å¡, 则会在此处显示。如果您å‘现在此显示的声"
+"å¡ä¸Žæ‚¨ç³»ç»Ÿä¸­å®žé™…安装的声å¡å¹¶ä¸ç›¸åŒ, 您å¯ä»¥å•击该按钮选择ä¸åŒçš„驱动程åºã€‚\n"
+"\n"
+" *\n"
+"\"%s\":如果在您的系统中检测到了电视å¡, 则会在此显示关于其é…置的信æ¯ã€‚如果您"
+"安装了电视å¡, 但并未被正确检测到, 请å•击\"%s\"å°è¯•手动进行é…置。\n"
+"\n"
+" * \"%s\":如果您觉得检测的é…置有错, å¯ä»¥ç‚¹å‡»\"%s\"æ¥æ›´æ”¹ä¸Žè¯¥å¡å…³è”çš„å‚æ•°ã€‚\n"
+"\n"
+" * \"%s\":默认情况下, DrakX 会将您的图形界é¢é…置为 \"800x600\" 或 "
+"\"1024x768\"\n"
+"分辨率。如果这ä¸é€‚åˆæ‚¨çš„è¯, 请å•击\"%s\"釿–°é…置您的图形界é¢ã€‚\n"
+"\n"
+" * \"%s\":如果您想è¦é…置您的 Internet 或局域网访问, 现在就å¯ä»¥è¿›è¡Œã€‚请å‚考å°"
+"刷文档或在安装完æˆåŽä½¿ç”¨ Mageia\n"
+"Control Centeræ¥èŽ·å¾—å®Œæ•´çš„åœ¨çº¿å¸®åŠ©ã€‚\n"
+"\n"
+" * \"%s\":如果您所安装的计算机ä½äºŽä»£ç†æœåС噍之åŽ, 这里将å…许您é…ç½® HTTP å’Œ "
+"FTP ä»£ç†æœåŠ¡å™¨åœ°å€ã€‚\n"
+"\n"
+" * \"%s\":此项å…è®¸æ‚¨é‡æ–°è°ƒæ•´å®‰å…¨çº§åˆ«, 与以å‰çš„æ­¥éª¤å®Œå…¨ç›¸åŒ()。\n"
+"\n"
+" * \"%s\":如果您计划将您的计算机连接到\n"
+"Internet, é‚£ä¹ˆä¿æŠ¤æ‚¨çš„è®¡ç®—æœºå…于攻击的有效方法就是设置防ç«å¢™ã€‚请å‚考``åˆå­¦è€…"
+"指å—''中的相应章节, 以获得关于防ç«å¢™è®¾ç½®çš„细节。\n"
+"\n"
+" * \"%s\"ï¼šå¦‚æžœæ‚¨æƒ³è¦æ›´æ”¹æ‚¨çš„引导程åºé…ç½®, 请å•击此按钮。这仅适用于高级用户。"
+"请å‚考å°åˆ·æ–‡æ¡£æˆ– Mageia 控制中心中关于引导程åºé…置的帮助。\n"
+"\n"
+" * \"%s\":在此您å¯ä»¥ç²¾ç¡®è°ƒæ•´è¦åœ¨æ‚¨çš„计算机上è¿è¡Œå“ªäº›æœåŠ¡ã€‚å¦‚æžœæ‚¨è¦å°†æ­¤è®¡ç®—机"
+"用作æœåС噍, é‚£ä¹ˆåº”è¯¥å¤æŸ¥è¿™ä¸€è®¾ç½®ã€‚"
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN å¡"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN å¡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "图形界é¢"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"请选择您为了安装新的 Mageia 分区想è¦åˆ é™¤çš„硬盘分区。\n"
+"注æ„, 该硬盘分区上的所有数æ®å°†ä¸¢å¤±å¹¶ä¸”无法æ¢å¤ï¼"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"如果您想è¦åˆ é™¤æ­¤ç¡¬ç›˜ä¸Šçš„æ‰€æœ‰æ•°æ®å’Œåˆ†åŒº, 请å•击“%sâ€ã€‚注æ„, å•击“%sâ€åŽ, \n"
+"您将无法æ¢å¤æ­¤ç¡¬ç›˜ä¸Šçš„ä»»ä½•æ•°æ®æˆ–分区(包括任何 Windows æ•°æ®)。\n"
+"\n"
+"å•击“%sâ€å¯ä»¥åœæ­¢æ­¤æ“作, æ­¤ç¡¬ç›˜ä¸Šçš„ä»»ä½•æ•°æ®æˆ–分区ä¸ä¼šä¸¢å¤±ã€‚"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "下一步 ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 上一步"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#~ msgid ""
+#~ "\"%s\": clicking on the \"%s\" button will open the printer "
+#~ "configuration\n"
+#~ "wizard. Consult the corresponding chapter of the ``Starter Guide'' for "
+#~ "more\n"
+#~ "information on how to set up a new printer. The interface presented in "
+#~ "our\n"
+#~ "manual is similar to the one used during installation."
+#~ msgstr ""
+#~ "\"%s\":å•击\"%s\"æŒ‰é’®å°†æ‰“å¼€æ‰“å°æœºé…ç½®å‘导。请å‚看``åˆå­¦è€…指å—''中的相应章"
+#~ "节, 其中详细æè¿°äº†å¦‚ä½•è®¾ç½®æ–°æ‰“å°æœºã€‚那里给出的界é¢ä¸Žå®‰è£…时所用的界é¢å¤§ä½“相"
+#~ "åŒã€‚"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "è¦ä¿å«æ‚¨çš„ GNU/Linux 系统, 现在是最关键的一步:您需è¦è¾“å…¥ \"root\" 密"
+#~ "ç ã€‚\"Root\"\n"
+#~ "是系统管ç†å‘˜, 而且是唯一有æƒè¿›è¡Œæ›´æ–°ã€æ·»åŠ ç”¨æˆ·ã€æ›´æ”¹æ³›ç³»ç»Ÿé…置等æ“作的用"
+#~ "户。简言之, \"root\"\n"
+#~ "å¯ä»¥åšä»»ä½•事ï¼è¿™å°±æ˜¯ä¸ºä»€ä¹ˆæ‚¨å¿…须选择难于猜测的密ç ï¼šå¦‚果您的密ç å¤ªç®€å•了, "
+#~ "DrakX\n"
+#~ "会æé†’您的。正如您所看到的那样, 您ä¸å¿…éžå¾—输入密ç , 但是我们强烈建议您输入"
+#~ "一个密ç ã€‚GNU/Linux 和其它任何æ“作系统一样容易é‡åˆ°é”™è¯¯çš„æ“ä½œã€‚ç”±äºŽ\n"
+#~ "\"root\" å¯ä»¥è¶Šè¿‡æ‰€æœ‰é™åˆ¶å¹¶åœ¨è®¿é—®åˆ†åŒºæ—¶æ— æ„间就删除分区上的全部数æ®, 所以"
+#~ "æˆä¸º \"root\" 应该很难æ‰å¯¹ã€‚\n"
+#~ "\n"
+#~ "密ç åº”该是字æ¯å’Œæ•°å­—çš„æ— åºæ··åˆ, å¹¶ä¸”è‡³å°‘è¦æœ‰ 8 ä½é•¿ã€‚ç»å¯¹ä¸è¦å°† \"root\" "
+#~ "的密ç å†™ä¸‹æ¥ -- 这样的密ç å½¢åŒè™šè®¾ã€‚\n"
+#~ "\n"
+#~ "还有一æ¡å‡†åˆ™ -- ä¸è¦å°†å¯†ç è®¾ç½®å¾—å¤ªé•¿æˆ–å¤ªå¤æ‚, å¦åˆ™æ‚¨è‡ªå·±ä¹Ÿè®°ä¸ä½ï¼\n"
+#~ "\n"
+#~ "您输入的密ç ä¸ä¼šæ˜¾ç¤ºåœ¨å±å¹•上。为了å‡å°‘盲打所造æˆçš„输入错误, 您需è¦å†æ¬¡è¾“å…¥"
+#~ "密ç ã€‚如果您碰巧两次都输错了, 那么这个``䏿­£ç¡®çš„''密ç å°†æˆä¸ºæ‚¨ç¬¬ä¸€æ¬¡ä»¥\n"
+#~ "\"root\" 身份登录时的密ç ã€‚\n"
+#~ "\n"
+#~ "如果您想è¦èº«ä»½éªŒè¯æœåŠ¡å™¨æŽ§åˆ¶å¯¹æ‚¨è®¡ç®—æœºçš„è®¿é—®, 请å•击\"%s\"按钮。\n"
+#~ "\n"
+#~ "如果您的网络使用 LDAP 或 NIS, åˆæˆ–者 PDC Windows\n"
+#~ "åŸŸéªŒè¯æœåŠ¡, 请选择相应的\"%s\"。如果您ä¸çŸ¥é“应该使用哪ç§, 请询问您的网络管"
+#~ "ç†å‘˜ã€‚\n"
+#~ "\n"
+#~ "如果您记ä½å¯†ç æœ‰å›°éš¾çš„è¯, 如果您的计算机ä¸éœ€è¦è¿žæŽ¥åˆ° Internet, 您也ç»å¯¹ä¿¡"
+#~ "ä»»å¯ä½¿ç”¨æ‚¨è®¡ç®—机的所有人, 您å¯ä»¥é€‰æ‹©\"%s\"。"
+
+#~ msgid "authentication"
+#~ msgstr "认è¯"
diff --git a/perl-install/install/help/po/zh_TW.po b/perl-install/install/help/po/zh_TW.po
new file mode 100644
index 000000000..f95db7e15
--- /dev/null
+++ b/perl-install/install/help/po/zh_TW.po
@@ -0,0 +1,1693 @@
+# translation of zh_TW.po to 正體中文
+# translation of zh_TW.po to Chinese Traditional
+# translation of DrakX-zh_TW.po to Chinese Traditional
+# drakbootdisk messages in Traditional Chinese
+# Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+# Platin <platin@cle.linux.org.tw> , 2000
+# Kenduest Lee <kenduest@i18n.linux.org.tw> , 2002
+# Danny Zeng <danny@zeng.com.cn>, 2000.
+# Joe Man <trmetal@yahoo.com.hk>, 2001.
+# Chong Sein Yeo <csyeo@hal-pc.org>, 2003.
+# Hilbert <freehil@yahoo.com>, 2003, 2004.
+# Hilbert <h@mandrake.org>, 2004.
+# hilbert <h@mandrake.org>, 2004.
+# Shiva Huang <blueshiva@giga.net.tw>, 2005.
+# Shiva Huang <shivahuang@gmail.com>, 2005.
+# You-Cheng Hsieh <yochenhsieh@xuite.net>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-09-12 12:22+0200\n"
+"PO-Revision-Date: 2006-04-06 20:30+0200\n"
+"Last-Translator: Shiva Huang <shivahuang@gmail.com>\n"
+"Language-Team: Traditional Chinese <zh@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: TAIWAN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mageia distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"在繼續之å‰ï¼Œæ‚¨æ‡‰è©²ä»”細的閱讀下é¢ç›¸é—œç‰ˆæ¬Šæ¢æ¬¾ã€‚\n"
+"é€™åŒ…å«æ•´å€‹ Mageia ç™¼è¡Œç‰ˆçš„ç‰ˆæ¬Šå…§å®¹ã€‚è‹¥æ˜¯æ‚¨åŒæ„裡é¢çš„æ‰€æœ‰æ¢æ¬¾ï¼Œ\n"
+"è«‹é»žé¸ \"%s\" 按鈕,å¦å‰‡è«‹é»žé¸ \"%s\" æŒ‰éˆ•ä¸¦è‡ªå‹•é‡æ–°é–‹æ©Ÿã€‚"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux 是一個多使用者的系統,那表示æ¯å€‹ä½¿ç”¨è€…都å¯ä»¥æ“有å„自的\n"
+"åå¥½è¨­å®šã€æª”案等等。ä¸åŒæ–¼ç³»çµ±ç®¡ç†è€… \"root\" 您在這新增的使用者\n"
+"將僅被授權於改變他們自己的檔案與設定,以ä¿è­·ç³»çµ±å…æ–¼é­å—åˆ°ç„¡æ„æˆ–\n"
+"惡æ„çš„å°æ•´å€‹ç³»çµ±é€ æˆè¡æ“Šçš„æ”¹è®Šã€‚您需è¦å»ºç«‹è‡³å°‘一個一般使用者給您\n"
+"自己 -- 這是您應該用於一般日常æ“作的帳號。雖然使用 \"root\" 登入\n"
+"來åšä»»ä½•事是éžå¸¸å®¹æ˜“的,但這也是éžå¸¸å±éšªçš„ï¼ä¸€å€‹éžå¸¸ç°¡å–®çš„錯誤就\n"
+"å¯èƒ½é€ æˆç³»æ‚¨çš„çµ±å†ä¹Ÿä¸èƒ½æ­£å¸¸å·¥ä½œã€‚但是若您以一般使用者的身份犯了\n"
+"一連串嚴é‡çš„錯誤,最糟的情æ³å°‡åƒ…僅是您éºå¤±æŸäº›è³‡è¨Šï¼Œä½†ä¸¦ä¸å½±éŸ¿æ•´\n"
+"個系統。\n"
+"\n"
+"第一個欄ä½è©¢å•您的真實å稱。當然這並éžå¿…è¦ -- 事實上您å¯ä»¥è¼¸å…¥ä»»\n"
+"何您喜歡的å字。DrakX 會將您輸入於此欄ä½çš„第一個字複製到 \"%s\" \n"
+"欄,作為使用者登入系統時輸入的å稱。若您喜歡,您å¯ä»¥ä¸ä½¿ç”¨é è¨­å€¼\n"
+"並改變使用者å稱。下一步是輸入一個密碼。從安全性的觀點而言,一個\n"
+"一般使用者的密碼並ä¸å¦‚ \"root\" 密碼來的é‡è¦ï¼Œä½†æ˜¯é€™ä¸¦ä¸æ§‹æˆè¼•忽\n"
+"åœ°ä½¿ç”¨ç©ºç™½æˆ–éŽæ–¼ç°¡å–®çš„密碼的ç†ç”±ï¼šç•¢ç«Ÿæ‚¨çš„æª”案å¯èƒ½æ­£è™•æ–¼å±éšªä¸­ã€‚\n"
+"\n"
+"ä¸€æ—¦æ‚¨é»žé¸ \"%s\",您å¯ä»¥æ–°å¢žå…¶ä»–使用者。新增使用者給您的æ¯ä¸€å€‹\n"
+"朋å‹ã€æ‚¨çš„父親或姊妹。當您全部新增完æˆå¾Œï¼Œè«‹é»žé¸ \"%s\" 。\n"
+"\n"
+"é»žé¸ \"%s\" 按鈕å…許您改變é è¨­çš„ \"shell\" 給這ä½ä½¿ç”¨è€… (é è¨­å€¼\n"
+"為 bash)。\n"
+"\n"
+"ç•¶æ‚¨å®Œæˆæ–°å¢žä½¿ç”¨è€…ä¹‹å¾Œï¼Œæ‚¨å°‡æœƒè¢«è¦æ±‚鏿“‡ä¸€ä½ä½¿ç”¨è€…在電腦開機時自\n"
+"動登入系統。如果您å°é€™å€‹åŠŸèƒ½æœ‰èˆˆè¶£ (且ä¸å¤ªé—œå¿ƒæœ¬åœ°ç«¯å®‰å…¨æ€§),請\n"
+"鏿“‡æƒ³è¦ç™»å…¥çš„使用者與視窗管ç†å“¡ï¼Œç„¶å¾Œå‹¾é¸ \"%s\"。若您å°é€™å€‹åŠŸ\n"
+"能沒有興趣,請ä¸è¦å‹¾é¸ \"%s\"。"
+
+#: ../help.pm:54
+#, c-format
+msgid "User name"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "您想è¦ä½¿ç”¨é€™å€‹åŠŸèƒ½å—Žï¼Ÿ"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard disk "
+"drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard disk drive type\", \"hard disk drive number"
+"\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard disk drive is an IDE hard "
+"disk drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". For "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ç›®å‰æ‰€åˆ—å‡ºä¾†çš„æ˜¯ç¡¬ç¢Ÿæ©Ÿä¸Šåµæ¸¬åˆ°å·²ç¶“存在的 Linux 分割å€.\n"
+"您å¯ä»¥ä¿ç•™ç²¾éˆæ¨¡å¼åšçš„鏿“‡ï¼Œå› ç‚ºä»–們å°ä¸€èˆ¬å®‰è£æ˜¯ä¸éŒ¯çš„。\n"
+"如果您åšä»»ä½•改變的話, 您至少è¦å®šç¾©å‡ºä¸€å¡Šç•¶ä½œæ ¹åˆ†å‰²å€ (\"/\").\n"
+"åˆ¥é¸æ“‡ä¸€å€‹å¤ªå°çš„分割å€, å¦å‰‡æ‚¨å°‡ç„¡æ³•安è£è¶³å¤ çš„軟體.\n"
+"如果您想儲存您的資料到一個分離的分割å€, 你需è¦å»ºç«‹ä¸€å€‹\"/home\" 分割å€\n"
+"(åªåœ¨æ‚¨æœ‰å¤šæ–¼ä¸€å€‹ Linux åˆ†å‰²å€æƒ…æ³ä¸‹æ‰å¯èƒ½).\n"
+"\n"
+"下列æ¯å€‹åˆ†å‰²å€éƒ½åˆ—出了: \"å稱\", \"容é‡\".\n"
+"\n"
+"\"å稱\" éƒ½æ˜¯æœ‰çµ±ä¸€çš„å‘½åæ–¹å¼: \"硬碟類型\", \"硬碟編號\", \n"
+"\"分割å€ç·¨è™Ÿ\" (例如, \"hda1\").\n"
+"\n"
+"\"硬碟類型\" 部份, IDE 硬碟使用 \"hd\", SCSI 則是 \"sd\".\n"
+"\"硬碟編號\" 部份, 伴隨在 \"hd\" 或者是 \"sd\" 後é¢:\n"
+"\n"
+" * \"a\" 這是指 \"primary IDE controller ä¸Šç¬¬ä¸€å° (master) 硬碟\",\n"
+"\n"
+" * \"b\" 這是指 \"primmary IDE controller ä¸Šç¬¬äºŒå° (slave) 硬碟\",\n"
+"\n"
+" * \"c\" 這是指 \"secondary IDE controller ä¸Šç¬¬ä¸€å° (master) 硬碟\",\n"
+"\n"
+" * \"d\" 這是指 \"secondary IDE controller ä¸Šç¬¬äºŒå° (slave) 硬碟\".\n"
+"\n"
+"以 SCSI 硬碟來說, \"a\" 就是指 \"SCSI ID 編號最å°çš„那一å°\", \"b\"\n"
+"就是指 \"SCSI ID 編號為第二å°çš„那一å°ç¡¬ç¢Ÿ\", ç„¶å¾Œä¾æ­¤é¡žæŽ¨ä¸‹åŽ»."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mageia installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mageia 安è£ç‰‡åŒ…嫿•¸å¼µå…‰ç¢Ÿç‰‡ã€‚è‹¥æ‰€é¸æ“‡çš„å¥—ä»¶æ˜¯ä½æ–¼å¦ä¸€å¼µå…‰ç¢Ÿä¸Šï¼Œ\n"
+"DrakeX 會退出ç¾åœ¨çš„å…‰ç¢Ÿä¸”è¦æ±‚æ‚¨æ”¾å…¥æ‰€è¦æ±‚的正確光碟片。\n"
+"è‹¥æ‚¨æ²’æœ‰è¦æ±‚的光碟在手上的話, 就按下 \"%s\", å°æ‡‰çš„套件䏿œƒè¢«å®‰è£."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mageia, and to make it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mageia sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"ç¾åœ¨æ˜¯æŒ‡å®šé‚£å€‹ç¨‹å¼æ‚¨æƒ³è¦è£åœ¨æ‚¨çš„系統上. Mageia 有上åƒå€‹å¥—ä»¶,\n"
+"為了簡單管ç†, 相似性質的應用程å¼å·²ç¶“被分類到群組裡.\n"
+"\n"
+"Mageia 分類套件群組於四個類別. 你能由ä¸åŒé¡žåˆ¥æ··åˆèˆ‡é…å°æ‡‰ç”¨ç¨‹å¼,\n"
+"所以一個 ``工作站''安è£ä¹Ÿèƒ½å®‰è£``伺æœå™¨''類別安è£çš„æ‡‰ç”¨ç¨‹å¼.\n"
+"\n"
+" * \"%s\": 如果您計畫用您的機器當作一個工作站, 鏿“‡ä¸€å€‹æˆ–\n"
+"更多的群組於工作站類別.\n"
+"\n"
+" * \"%s\": 如果您計畫用您的機器來程å¼è¨­è¨ˆ, 鏿“‡é©ç•¶\n"
+"的群組於那個類別。特別的 \"LSB\" 群組將設定您的系統使之盡é‡ç¬¦åˆ\n"
+"Linux Standard Bases è¦ç¯„.\n"
+"\n"
+" 鏿“‡ \"LSB\" 群組除了é è¨­çš„ \"2.6\" ä¹Ÿå°‡å®‰è£ \"2.4\" 核心系列,\n"
+"這是確ä¿ç³»çµ±çš„ 100%%-LSB compliance. 坿˜¯, 如果您ä¸é¸æ“‡ \"LSB\"\n"
+"群組您ä»ç„¶å°‡æœ‰ä¸€å€‹å¹¾ä¹Ž 100%% LSB-compliant 的系統.\n"
+"\n"
+" * \"%s\": 如果您的機器是è¦ç”¨ä½œä¼ºæœå™¨, 鏿“‡é‚£ä¸€å€‹\n"
+"更常用的æœå‹™æ‚¨æƒ³è£åœ¨ç³»çµ±ä¸Š.\n"
+"\n"
+" * \"%s\": é€™æ˜¯æ‚¨é¸æ“‡æ‚¨çš„å好的圖形環境的地方.\n"
+"如果您åƒè¦æœ‰åœ–形介é¢å¯ç”¨, 至少一個è¦è¢«é¸æ“‡.\n"
+"\n"
+"移動滑鼠游標到一個群組上方將顯示一段關於該群組簡短的解釋文字\n"
+"\n"
+"你能é¸å– \"%s\" 方塊盒, è‹¥æ‚¨å°æ‰€æä¾›çš„å¥—ä»¶ç†Ÿæ‚‰æˆ–æ‚¨æƒ³è¦æœ‰å°æ–¼ä»€éº¼\n"
+"å°‡è¢«å®‰è£æœ‰å…¨éƒ¨æŽ§åˆ¶, 這將會有用\n"
+"\n"
+"若您用 \"%s\" 模å¼é–‹å§‹å®‰è£, ä½ å¯ä»¥å–æ¶ˆé¸æ“‡å…¨éƒ¨ç¾¤çµ„且防止安è£ä»»ä½•新套件.\n"
+"這å°ä¿®å¾©æˆ–更新一個已經存在的系統很有用.\n"
+"\n"
+"如果當您執行一個一般正常安è£, æ‚¨å–æ¶ˆé¸æ“‡å…¨éƒ¨ç¾¤çµ„ (ç›¸åæ–¼ä¸€å€‹å‡ç´š),\n"
+"一個å°è©±æ–¹å¡Šå°‡æœƒè·³å‡ºå»ºè­°ä¸åŒçš„é¸é …給最å°å®‰è£ï¼š\n"
+"\n"
+" * \"%s\"ï¼šå®‰è£æœ€å°‘çš„å¥—ä»¶ä¾†æ“æœ‰å¯å·¥ä½œçš„圖形桌é¢ã€‚\n"
+"\n"
+" * \"%s\":安è£ç³»çµ±åŸºç¤ŽåŠ ä¸ŠåŸºæœ¬çš„å·¥å…·èˆ‡å…¶æ–‡ä»¶\n"
+"這種安è£é©åˆæ–¼è¨­å®šèµ·ä¾†ä¸€å€‹ä¼ºæœå™¨ã€‚\n"
+"\n"
+" * \"%s\":將安è£çµ•å°æœ€å°‘å¥—ä»¶å¿…è¦æ–¼ä½¿ä¸€å€‹ Linux 系統工作。\n"
+"ç”¨é€™å€‹å®‰è£æ‚¨å°‡åªæ“有一個命令列介é¢. 全部安è£å¤§å°å¤§ç´„ 65 MB。"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "å‡ç´š"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "包å«åŸºæœ¬çš„說明文件"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "真的最å°å®‰è£"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mageia will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mageia was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "è‡ªå‹•ç›¸ä¾æ€§"
+
+#: ../help.pm:185
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"這個å°è©±è¦–çª—ç”¨ä¾†é¸æ“‡ä½ æ‰“算於啟動系統時執行é‹ä½œçš„æœå‹™.\n"
+"\n"
+"DrakX 將列出在ç¾åœ¨å®‰è£ä¸Šå¯é¸æ“‡çš„æœå‹™é …ç›®. 仔細詳細回顧查看æ¯ä¸€å€‹\n"
+"䏔喿¶ˆé¸å–é‚£äº›é–‹æ©Ÿæ™‚ä¸æœƒç”¨åˆ°çš„.\n"
+"\n"
+"ç•¶ä½ é¸å–該項目時, 會出ç¾ä¸€å€‹ç°¡ç•¥èªªæ˜Žæ–‡å­—. ä½†æ˜¯è‹¥æ˜¯æ‚¨å°æ–¼è©²é …ç›®\n"
+"實在ä¸ç¢ºå®šæ˜¯å¦è¦å•Ÿç”¨çš„話, 比較安全的作法就是維æŒåŽŸæ¨£ä¸è¦å‹•作å³å¯.\n"
+"\n"
+"!! 在這階段, è«‹å°å¿ƒå¦‚æžœæ‚¨é€™å°æ©Ÿå™¨æ˜¯è¦ç•¶ä½œä¼ºæœå™¨: æ‚¨å¤§æ¦‚ä¸æƒ³è¦\n"
+"開啟那些您ä¸ç”¨çš„æœå‹™. 請記得æŸäº›æœå‹™åœ¨ä¼ºæœå™¨ä¸Šå•Ÿå‹•後å¯èƒ½æœƒæœ‰å±éšª.\n"
+"大致上åªé¸é‚£äº›ä½ çœŸæ­£éœ€è¦çš„æœå‹™. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Hardware clock set to GMT"
+msgstr ""
+
+#: ../help.pm:213
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "è‡ªå‹•æ™‚é–“åŒæ­¥"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"顯示å¡\n"
+"\n"
+" 一般而言,安è£ç¨‹å¼æœƒè‡ªå‹•嵿¸¬ä¸¦è¨­å®šå®‰è£åœ¨æ‚¨æ©Ÿå™¨ä¸Šçš„顯示\n"
+"å¡ã€‚å¦‚æžœåµæ¸¬çµæžœä¸æ­£ç¢ºï¼Œæ‚¨å¯ä»¥ç”±æœ¬æ¸…單中é¸å–正確的型號。\n"
+"\n"
+" 如果有ä¸åŒçš„伺æœå™¨å¯ä»¥èˆ‡æ‚¨çš„é¡¯ç¤ºå¡æ­é…使用 (有或沒有 3D\n"
+"加速功能)ï¼Œè«‹æ‚¨é¸æ“‡ä¸€å€‹æœ€ç¬¦åˆæ‚¨éœ€æ±‚的伺æœå™¨ä¾†ä½¿ç”¨ã€‚"
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mageia rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"螢幕\n"
+"\n"
+" 一般來說,安è£ç¨‹å¼æœƒè‡ªå‹•嵿¸¬ä¸¦è¨­å®šé€£æŽ¥åˆ°æ‚¨é›»è…¦çš„èž¢å¹•ã€‚å¦‚æžœå®ƒä¸æ­£ç¢º\n"
+",您å¯ä»¥ç”±æ­¤åˆ—表中é¸å–連çµåˆ°æ‚¨é›»è…¦çš„螢幕。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"è§£æžåº¦\n"
+"\n"
+" 在這裡您å¯ä»¥é¸æ“‡æ‚¨é¡¯ç¤ºå¡å¯ä»¥ä½¿ç”¨çš„è§£æžåº¦èˆ‡è‰²æ·±ã€‚è«‹é¸å–最é©åˆæ‚¨çš„設定值\n"
+"(您å¯ä»¥åœ¨å®‰è£å®Œæˆä¹‹å¾Œæ›´æ”¹)。您é¸å–的設定值的樣本將顯示在螢幕圖片上。"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"如果有ä¸åŒçš„伺æœå™¨å¯ä»¥èˆ‡æ‚¨çš„é¡¯ç¤ºå¡æ­é…使用 (有或沒有 3D加速\n"
+"功能)ï¼Œè«‹æ‚¨é¸æ“‡ä¸€å€‹æœ€ç¬¦åˆæ‚¨éœ€æ±‚的伺æœå™¨ä¾†ä½¿ç”¨ã€‚"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"é¸é …\n"
+"\n"
+" 這個步驟å…è¨±æ‚¨é¸æ“‡æ˜¯å¦æƒ³è¦æ‚¨çš„æ©Ÿå™¨é–‹æ©Ÿæ™‚自動跳到圖形介.\n"
+"顯然地, 如果您的機器是當作一個伺æœå™¨æˆ–您ä¸èƒ½æˆåŠŸåœ°è¨­å®šé¡¯ç¤º,\n"
+"您想核å°é¸å– \"%s\"."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mageia\n"
+"operating system on your hard disk drive. If your hard disk drive is empty "
+"or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard disk drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mageia system.\n"
+"\n"
+"Because the process of partitioning a hard disk drive is usually "
+"irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard disk drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard disk drive. If you want to use them, choose this option. You will "
+"then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard disk drive and "
+"takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mageia and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard disk drive and replace them with your new Mageia system, choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard disk drive is entirely taken "
+"by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"æ‚¨éœ€è¦æ±ºå®šé‚£è£¡ä½ æƒ³è¦å®‰è£ Mageia\n"
+"作業系統於那個硬碟. 如果您的硬碟是全新尚未使用或\n"
+"已經存在的作業系統正在使用全部å¯è¢«åˆ©ç”¨çš„空間, 您將\n"
+"必須進行分割硬碟的動作. 基本上, 分割硬碟的動作包å«\n"
+"é‚輯上劃分它以建立需è¦çš„ç©ºé–“ä¾†å®‰è£æ‚¨çš„æ–°\n"
+"Mageia 系統.\n"
+"\n"
+"因為分割硬碟的動作程åºé€šå¸¸æ˜¯ç„¡æ³•回復的\n"
+"且能導致資料éºå¤±, 若您是一ä½ä¸ç†Ÿç·´çš„使用者,\n"
+"割硬碟的動作是脅迫æ«åš‡èˆ‡å……滿著緊張壓力的. 幸é‹çš„æ˜¯\n"
+"DrakX 包å«ç²¾éˆæ¨¡å¼ä»¥ç°¡åŒ–這程åºã€‚於繼續此步驟å‰ï¼Œ\n"
+"先詳細閱讀其他部份與全部, 慢慢來.\n"
+"\n"
+"根據您的硬碟設定值, 有數個é¸é …å¯ç”¨:\n"
+"\n"
+" * \"%s\". 該項目將會執行自動劃分您空白的ç£ç¢Ÿ.\n"
+"若您使用此é¸é …, 將沒有進一步的æç¤º.\n"
+"\n"
+" * \"%s\"ã€‚ç²¾éˆæ¨¡å¼å·²ç¶“嵿¸¬ä¸€å€‹æˆ–多個已經存在的 Linux 硬碟\n"
+"分割. 若您想è¦ä½¿ç”¨ä»–們, 鏿­¤é¸é …. 您將會\n"
+"è¢«è¦æ±‚鏿“‡é—œæ–¼æ¯ä¸€å€‹åˆ†å‰²çš„æŽ›è¼‰é»ž.\n"
+"就有的掛載點é è¨­ç‚ºè¢«é¸æ“‡, 且大部分最好ä¿ç•™\n"
+"他們.\n"
+"\n"
+" * \"%s\". è‹¥æ‚¨ç¡¬ç¢Ÿæœ‰å®‰è£ Microsoft Windows 且佔據\n"
+"全部å¯ç”¨å‰©é¤˜å¯ç”¨çš„空間, 您將必須建立自由空間給\n"
+"GNU/Linux. 為了é”到目的, 您å¯ä»¥åˆªé™¤ Microsoft Windows 分割與資料\n"
+"(見 ``Erase entire disk (消除整個ç£ç¢Ÿ)'' 解決方案) 或是\n"
+"釿–°èª¿æ•´ Microsoft Windows FAT 或 NTFS 分割å€å¤§å°.\n"
+"若您已經 defragment(ä¸é€£çºŒç¢Žç‰‡é‡æ–°æ•´ç†) Windows 分割\n"
+"且它用 FAT æ ¼å¼.釿–°èª¿æ•´åˆ†å‰²å¯ä»¥è¢«åŸ·è¡Œæ–¼ä¸éºå¤±ä»»ä½•資料\n"
+"資料備份是被強烈建議的. 若您想è¦ä½¿ç”¨ Mageia and Microsoft\n"
+"Windows æ–¼åŒä¸€å°é›»è…¦, 使用此é¸é …是被建議的.\n"
+"\n"
+" 鏿“‡æ­¤é¸é …å‰, 請了解當使用這個éŽç¨‹é …目後, Microsoft Windows\n"
+"分割å¯ç”¨çš„å‰©é¤˜ç©ºé–“å°‡æœƒæ¯”ä¹‹å‰æ¸›å°‘. 您將有較少的自由空間於\n"
+" Microsoft Windows ä¾†å­˜æ‚¨çš„è³‡æ–™èˆ‡å®‰è£æ–°è»Ÿé«”.\n"
+"\n"
+" * \"%s\". 如果您想è¦åˆªé™¤å…¨éƒ¨ç¾å­˜æ–¼æ‚¨çš„硬碟上資料與\n"
+"分割且以您的新 Mageia 系統替æ›ä»–們,\n"
+"鏿­¤é¸é …. 但是å°å¿ƒä½¿ç”¨, 你將無法於你確èªä¹‹å¾Œ\n"
+"逆å你的決定.\n"
+"\n"
+" !! è‹¥ä½ é¸æ­¤é¸é …, 全部於你的ç£ç¢Ÿä¸Šçš„資料將會被刪除. !!\n"
+"\n"
+" * \"%s\". 當硬碟完全被 Microsoft Windows ä½”æ“šæ™‚å‡ºç¾æ­¤é¸é ….\n"
+"鏿“‡æ­¤é¸é …將會簡單地消除一切於ç£ç¢Ÿä¸­çš„資料且從新開始,\n"
+"從頭開始分割一切.\n"
+"\n"
+" !! è‹¥ä½ é¸æ­¤é¸é …, 全部於你的ç£ç¢Ÿä¸Šçš„資料將會éºå¤±. !!\n"
+"\n"
+" * \"%s\". é¸é€™å€‹é¸é …è‹¥æ‚¨æƒ³è¦æ‰‹å‹•分割您的硬碟.\n"
+"è«‹å°å¿ƒä½¿ç”¨ -- 它是強力的但是å±éšªçš„鏿“‡ä¸”您å¯èƒ½éžå¸¸\n"
+"容易éºå¤±æ‚¨çš„全部資料. 這是為何此é¸é …äº‹å¯¦ä¸Šåªæ–¼\n"
+"您曾經åšéŽé¡žä¼¼æ–¼æ­¤ä¸”有些許經驗的時候被建議.\n"
+"更多指令於如何使用 DiskDrake 工具, 指å‘\n"
+"``Starter Guide (åˆå­¸è€…指導)''çš„\n"
+"``Managing Your Partitions (ç®¡ç†æ‚¨çš„分割)'' 部份."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "使用已經存在的分割å€"
+
+#: ../help.pm:370
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: ../help.pm:370
+#, c-format
+msgid "Erase entire disk"
+msgstr "刪除所有ç£ç¢Ÿå…§å®¹"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"æ•´å€‹å®‰è£æ­¥é©Ÿåˆ°é€™è£¡ä»£è¡¨æ‚¨å®‰è£å·²ç¶“完æˆäº†ä¸” GNU/Linux 系統準備好被使用.\n"
+"åªè¦é»žé¸ \"%s\" 來釿–°å•Ÿå‹•系統. 別忘了移除安è£åª’介 (光碟或軟片).\n"
+"於您的電腦完æˆç¡¬é«”測試後您第一個見到的是開機載入程å¼é¸å–®,\n"
+"çµ¦æ‚¨é–‹å§‹é‚£å€‹ä½œæ¥­ç³»çµ±çš„é¸æ“‡\n"
+" \"%s\" 按鈕顯示å¦å…©å€‹æŒ‰éˆ•到:\n"
+"\n"
+"* \"%s\": 使您建立一個安è£è»Ÿç‰‡, 一張ä¸éœ€è¦æ“作手的幫助\n"
+"就能夠自動執行全部安è£çš„軟片, 類似於您剛剛設定的安è£ä¸€æ¨£.\n"
+"\n"
+" æ³¨æ„æŒ‰ä¸‹é‚£å€‹æŒ‰éˆ•後有兩個ä¸åŒçš„é¸é …å¯ä¾›é¸æ“‡:\n"
+"\n"
+" * \"%s\". 這是åŠè‡ªå‹•å®‰è£æ–¹å¼, ç£ç¢Ÿåˆ†å‰²é …ç›®å°‡æ˜¯å”¯ä¸€ç¶­æŒæ‰‹å‹•æ–¹å¼æ“作.\n"
+"\n"
+" * \"%s\". é€™æ˜¯å…¨è‡ªå‹•çš„å®‰è£æ–¹å¼: ç¡¬ç¢Ÿå°‡å®Œå…¨è¢«é‡æ–°å¯«å…¥, 全部資料éºå¤±.\n"
+"\n"
+" é€™åŠŸèƒ½å°æ–¼éœ€è¦å¤§é‡å®‰è£å¾ˆå¤šç›¸ä¼¼æ©Ÿå™¨ä¸Šçš„話來說這是相當實用.\n"
+"å¯ä»¥åƒè€ƒæˆ‘們網é ä¸Šè‡ªå‹•安è£ç« ç¯€çš„æ›´å¤šè³‡è¨Š.\n"
+"\n"
+" * \"%s\"(*): å„²å­˜ä¸€å€‹æ–¼é€™å®‰è£æ™‚鏿“‡çš„套件清單.\n"
+"è¦ç”¨é€™äº›é¸æ“‡æ–¼å¦ä¸€å€‹å®‰è£, æ’入軟片且開始安è£. æ–¼æç¤ºæ™‚按下 F1 按éµ,\n"
+"然後輸入 >>linux defcfg=\"floppy\"<< 按下 [Enter] éµ.\n"
+"\n"
+"(*) 您需è¦ä¸€å€‹ FAT-formatted 軟片. è¦å»ºç«‹ä¸€å¼µæ–¼æ–¼GNU/Linux 環境下,\n"
+"éµå…¥ \"mformat a:\", 或 \"fdformat /dev/fd0\" 然後 \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "產生自動安è£è»Ÿç‰‡"
+
+#: ../help.pm:405
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: ../help.pm:405
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#: ../help.pm:408
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mageia operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"å¦‚æžœæ‚¨é¸æ“‡å޻釿–°ä½¿ç”¨æŸäº› GNU/Linux 分割, 您或許想è¦é‡æ–°æ ¼å¼åŒ–他們\n"
+"且抹去任何他們包å«çš„資料. è¦çš„話, è«‹é¸æ“‡é‚£äº›åˆ†å‰².\n"
+"請注æ„一下, 䏦䏿˜¯æ‰€æœ‰å…ˆå‰å·²ç¶“存在的分割å€éƒ½å¾—釿–°æ ¼å¼åŒ–,\n"
+"æ‚¨å¿…é ˆé‡æ–°æ ¼å¼åŒ–包å«ä½œæ¥­ç³»çµ±çš„分割 (例如 \"/\", \"/usr\" or \"/var\")\n"
+"但是您ä¸éœ€è¦é‡æ–°æ ¼å¼åŒ–åŒ…å«æ‚¨æƒ³ä¿ç•™è³‡æ–™çš„分割 (通常是 \"/home\").\n"
+"\n"
+"è«‹å°å¿ƒé¸æ“‡åˆ†å‰². ç•¶æ ¼å¼åŒ–å®Œæˆæ™‚, å…¨éƒ¨åœ¨é¸æ“‡åˆ†å‰²ä¸Šå¾—資料將被刪除且\n"
+"您將ä¸è¡Œé‡æ–°æ¢å¾©å®ƒ.\n"
+"ç•¶æ‚¨æº–å‚™å¥½è¦æ ¼å¼åŒ–此分割, é»žé¸ \"%s\".\n"
+"\n"
+"è‹¥æ‚¨æƒ³é¸æ“‡å¦ä¸€å€‹åˆ†å‰²çµ¦æ‚¨çš„æ–°çš„ Mageia 作業系統安è£, 點é¸äº†\"%s\".\n"
+"è‹¥æ‚¨æƒ³é¸æ“‡è¦è¢«æª¢æŸ¥ç£ç¢Ÿä¸Šå£žçš„å€å¡Šçš„分割, 點é¸.\"%s\"."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mageia, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"æ­¤æ™‚æ‚¨å®‰è£ Mageia 時, 或許自從åˆå§‹é‡‹å‡ºçš„æŸäº›å¥—ä»¶å°‡æœ‰æ›´æ–°.\n"
+"臭蟲或許已經修正了, 安全性å•題解決了. 為了å…許您從這些更新中\n"
+"ç²å¾—利益, 您ç¾åœ¨å¯ä»¥ç”±ç¶²éš›ç¶²è·¯ä¸‹è¼‰ä»–們. 如果您有å¯ç”¨çš„網際網路連線,\n"
+"é¸å– \"%s\", 或是, 如果您想ç¨å¾Œå®‰è£æ›´æ–°å¥—ä»¶, é¸å– \"%s\".\n"
+"\n"
+"鏿“‡ \"%s\" 將顯示一張更新å¯ä»¥è¢«æ“·å–的網站ä½ç½®æ¸…å–®. æ‚¨æ‡‰è©²é¸æ“‡ä¸€å€‹\n"
+"跟您近的. 䏀個套件鏿“‡æ¨¹å°‡å‡ºç¾: å¯©æŸ¥é¸æ“‡, 按下 \"%s\" 來擷å–且安è£\n"
+"è¢«é¸æ“‡çš„套件, 或 \"%s\" 以中斷放棄."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mageia\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"到這裡時, DrakX å°‡å…è¨±æ‚¨é¸æ“‡æ‚¨æƒ³è¦çš„安全性等級給您的機器.\n"
+"根據拇指è¦å‰‡, è‹¥æ˜¯æ©Ÿå™¨å°‡è¦æœ‰åŒ…å«é‡è¦çš„資料, 或是直接暴露在網際網路,\n"
+"安全性等級應該設定較高. 權衡之下, 較高的安全性等級æ›å¾—ä¸å®¹æ˜“使用.\n"
+"\n"
+"如果您ä¸çŸ¥é“é¸ä»€éº¼, ä¿ç•™é è¨­é¸é …. 您將能在ç¨å¾Œç”¨ draksec 工具改變它,\n"
+"draksec 是 Mageia 控制中心的一部分.用負責安全性的人的 e-mail 地å€å¡«å…¥ \"%s\" "
+"欄ä½. 安全性訊æ¯å°‡è¢«å¯„到\n"
+"那個ä½å€."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "安全性管ç†å“¡ï¼š"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mageia system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard disk "
+"drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard disk drive. You can "
+"select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard disk drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard disk "
+"drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext4 and swap\n"
+"partitions in the free space of your hard disk drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard disk drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard disk drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard disk drive, this "
+"will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+msgstr ""
+"在這個階段, 您需è¦é¸æ“‡è¦ç”¨ä¾†å®‰è£ Mageia 系統的分割å€.\n"
+"如果分割å€å·²ç¶“被定義了, ä¸ç®¡æ˜¯å¾žèˆŠæœ‰çš„ GNU/Linux å®‰è£æˆ–是\n"
+"å¦ä¸€å€‹è™•ç†åˆ†å‰²å€çš„工具, 您å¯ä»¥ä½¿ç”¨åŽŸæœ¬å·²ç¶“åŠƒåˆ†å¥½çš„åˆ†å‰²å€.\n"
+"å¦å‰‡ç¡¬ç¢Ÿåˆ†å‰²å¿…é ˆè¦è¢«å®šç¾©.\n"
+"\n"
+"è¦å»ºç«‹åˆ†å‰²å€, 您需è¦å…ˆé¸æ“‡ä¸€å°ç¡¬ç¢Ÿ. 您å¯ä»¥é¸æ“‡è¦æ“作的分割å€, 按 ``hda''\n"
+"ç‚ºç¬¬ä¸€å° IDE ç£ç¢Ÿ, ``hdb'' 為第二å°, ``sda'' ç‚ºç¬¬ä¸€å° SCSI ç£ç¢Ÿç­‰ç­‰.\n"
+"\n"
+"è¦é€²è¡Œåˆ†å‰²çš„動作於é¸å¥½çš„硬碟上, 您有這些項目å¯ä»¥ä½¿ç”¨:\n"
+"\n"
+" * \"%s\": 這個é¸é …刪除在所é¸çš„影碟上的全部分割å€\n"
+"\n"
+" * \"%s\": 這個é¸é …使您自動建立 ext4 與 swap åˆ†å‰²å€æ–¼æ‚¨çš„硬碟上的空白空間\n"
+"\n"
+"\"%s\": 給多加的功能的使用:\n"
+"\n"
+" * \"%s\": 儲存分割表到軟片. å¿…è¦æ™‚å°æ–¼åˆ†å‰²è¡¨æ‹¯æ•‘有用. 強烈建議執行此步驟.\n"
+"\n"
+" * \"%s\": å…許您回存一個之å‰å¾žè»Ÿç‰‡å„²å­˜çš„分割表\n"
+"\n"
+" * \"%s\": å¦‚æžœæ‚¨çš„åˆ†å‰²è¡¨å—æ, 您å¯ä»¥è©¦è‘—用這個é¸é …救回它.\n"
+"è«‹å°å¿ƒä¸”記得這並éžç¸½æ˜¯æœ‰æ•ˆ.\n"
+"\n"
+" * \"%s\": ä¸Ÿæ£„å…¨éƒ¨æ”¹è®Šä¸”é‡æ–°è¼‰å…¥åŽŸå§‹ç¡¬ç¢Ÿçš„åˆ†å‰²è¡¨.\n"
+"\n"
+" * \"%s\": ä¸é¸å–這個é¸é …將強制使用者手動掛載與å¸è¼‰å¯ç§»é™¤å¼åª’介例如ç£ç¢Ÿç‰‡èˆ‡\n"
+"光碟。\n"
+"\n"
+" * \"%s\": 如果您想用精éˆä¾†åˆ†å‰²æ‚¨çš„硬碟, 使用這個é¸é …. å¦‚æžœæ‚¨æ²’æœ‰å°æ–¼\n"
+"æ“作分割的好的了解, 這是被建議的.\n"
+"hard disk drive. This is recommended if you do not have a good understanding "
+"of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": 用這個é¸é …來喿¶ˆæ‚¨çš„變更.\n"
+"\n"
+" * \"%s\": å…許多加的動作於分割 (類型, é¸é …, æ ¼å¼)且給更多的關於硬碟的資訊.\n"
+"\n"
+" * \"%s\": 當您完æˆåˆ†å‰²æ‚¨çš„硬碟, 這將儲存您的變更回ç£ç¢Ÿ.\n"
+"\n"
+"ç•¶å®šç¾©ä¸€å€‹åˆ†å‰²çš„å¤§å°æ™‚, 您å¯ä»¥å¥½å¥½çš„用éµç›¤ä¸Šçš„æ–¹å‘éµä¾†è¨­å®šåˆ†å‰²å¤§å°.\n"
+"\n"
+"注æ„: 您å¯ä»¥ç”¨éµç›¤é”æˆä»»ä½•é¸é …. 用 [Tab] éµèˆ‡ä¸Šæˆ–下方å‘éµç€è¦½åˆ†å‰².\n"
+"\n"
+"ç•¶ä¸€å€‹åˆ†å€‹è¢«é¸æ“‡æ™‚, 您å¯ä»¥ä½¿ç”¨:\n"
+"\n"
+" * Ctrl-c 來建立一個新的分割 (ç•¶ç©ºç™½åˆ†å‰²è¢«é¸æ“‡æ™‚)\n"
+"\n"
+" * Ctrl-d 來刪除一個分割\n"
+"\n"
+" * Ctrl-m 來設定掛載點\n"
+"\n"
+"è¦å¾—到關於ä¸åŒå¯ç”¨çš„æª”案系統的資訊, 請從 ``Reference Manual (åƒè€ƒæ‰‹å†Š)''\n"
+"閱讀 ext2FS 章節.\n"
+
+#: ../help.pm:526
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "å¯ç§»é™¤å¼åª’介自動掛載"
+
+#: ../help.pm:526
+#, c-format
+msgid "Wizard"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: ../help.pm:526
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "切æ›ä¸€èˆ¬/專家模å¼"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard disk "
+"drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mageia operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard disk drive type\", \"hard disk drive "
+"number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard disk drive type\" is \"hd\" if your hard dive is an IDE hard disk "
+"drive and\n"
+"\"sd\" if it is a SCSI hard disk drive.\n"
+"\n"
+"\"Hard disk drive number\" is always a letter after \"hd\" or \"sd\". With "
+"IDE\n"
+"hard disk drives:\n"
+"\n"
+" * \"a\" means \"master hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard disk drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard disk drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard disk drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard disk drives, an \"a\" means \"lowest SCSI ID\", a \"b\" "
+"means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard disk drive under Windows (the "
+"first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"多於一個 Microsoft 分割å€å·²ç¶“åœ¨æ‚¨çš„ç¡¬ç¢Ÿä¸Šè¢«åµæ¸¬åˆ°. è«‹é¸æ“‡æ‚¨å¸Œæœ›è¦é‡æ–°èª¿æ•´ 大"
+"å°çš„åˆ†å‰²ä»¥ä¾¿å®‰è£æ‚¨çš„æ–°çš„ Mageia 作業系統.\n"
+"\n"
+"æ¯å€‹åˆ†å‰²å€éƒ½åˆ—å‡ºäº†åƒæ˜¯: \"Linux å稱\", \"Windows å稱\", \"容é‡\".\n"
+"\n"
+"\"Linux å稱\" æ˜¯æœ‰çµæ§‹æ€§çš„: \"硬碟型態\", \"硬碟編號\", \"分割å€ç·¨è™Ÿ\"\n"
+"(æ¯”æ–¹åƒæ˜¯: \"hda1\" ).\n"
+"\n"
+"\"硬碟型態\" 就是, 若您使用的是 IDE 硬碟, 會顯示 \"hd\", 若是SCSI硬碟的話,\n"
+"就是 \"sd\".\n"
+"\n"
+"\"硬碟編號\" 就是在 \"hd\" 或者是 \"sd\" 後é¢çš„å­—æ¯. 以 IDE 硬碟è£ç½®ä¾†èªª:\n"
+"\n"
+" * \"a\"這是指 \"primary IDE controller ä¸Šç¬¬ä¸€å° (master) 硬碟\";\n"
+"\n"
+" * \"b\"這是指\"primmary IDE controller ä¸Šç¬¬äºŒå° (slave) 硬碟\";\n"
+"\n"
+" * \"c\"這是指\"secondary IDE controller ä¸Šç¬¬ä¸€å° (master) 硬碟\";\n"
+"\n"
+" * \"d\"這是指\"secondary IDE controller ä¸Šç¬¬äºŒå° (slave) 硬碟\".\n"
+"\n"
+"以 SCSI 硬碟來說, \"a\" 是指 \"SCSI ID 編號最å°çš„那一å°ç¡¬ç¢Ÿ\", \"b\" 是指"
+"\"SCSI ID 編號為第二å°çš„那一å°ç¡¬ç¢Ÿ\", ç„¶å¾Œä¾æ­¤é¡žæŽ¨ä¸‹åŽ».....\n"
+"\n"
+"\"Windows å稱\" 是在 Windows 下的ç£ç¢Ÿæ©Ÿä»£è™Ÿå稱 (第一個ç£ç¢Ÿæˆ–分割稱為\n"
+"\"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":檢視目å‰é¸æ“‡çš„國家。如果您ä¸åœ¨é€™å€‹åœ‹å®¶ï¼Œ\n"
+"請按下 \"%s\" æŒ‰éˆ•ä¸¦é¸æ“‡å¦ä¸€å€‹ã€‚如果您的國家ä¸åœ¨é¸å–®ä¸­ï¼Œ\n"
+"請按下 \"%s\" 按鈕來看完整的國家清單。"
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mageia system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard disk drives are partitioned, or to "
+"change\n"
+"the filesystem, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mageia system. Your current partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mageia systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mageia version \"8.1\" is not recommended."
+msgstr ""
+"這個步驟是在您的機器上找到已經存在的 GNU/Linux åˆ†å‰²å€æ‰æœƒå•Ÿç”¨ã€‚\n"
+"\n"
+"DrakX 需è¦çŸ¥é“您是è¦å®‰è£æ–°çš„系統或者å‡ç´šæ—¢æœ‰çš„ Mageia 系統:\n"
+"\n"
+" * \"%s\". 大致來說,這將會完全抹除舊的系統。然而,根據您的分割å€é…\n"
+"置方å¼ï¼Œæ‚¨å¯ä»¥é¿å…部分ç¾å­˜çš„資料 (例如 \"home\" 之中的目錄) 被完全\n"
+"æŠ¹é™¤ã€‚å¦‚æžœæ‚¨æƒ³è¦æ”¹è®Šæ‚¨çš„硬碟分割方å¼ï¼Œæˆ–改變檔案系統,您應該使用這\n"
+"個é¸é …。\n"
+"\n"
+" * \"%s\". é€™å€‹å®‰è£æ–¹å¼è®“您更新目å‰å®‰è£åœ¨æ‚¨çš„ Mageia 中的套\n"
+"件。您目å‰çš„分割方å¼å’Œä½¿ç”¨è€…è³‡æ–™ä¸æœƒè¢«æ”¹è®Šã€‚大部分其他的設定步驟ä»\n"
+"然會出ç¾ä¸¦ä¸”和標準的安è£éŽç¨‹ç›¸ä¼¼ã€‚\n"
+"\n"
+"使用 ``æ›´æ–°'' é¸é …應該在 Mageia 版本 \"8.1\" 或更新的系統上\n"
+"å¯ä»¥æ­£å¸¸é‹ä½œã€‚ä¸å»ºè­°å¾ž Mageia 版本 \"8.1\" 或更早的系統進行更新。"
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"根據您所é¸çš„語言 (), DrakX å°‡æœƒè‡ªå‹•é¸æ“‡ä¸€å€‹ç‰¹åˆ¥çš„éµç›¤è¨­å®šåž‹æ…‹. æª¢æŸ¥æ‰€é¸æ“‡çš„\n"
+"是å¦é©åˆæ‚¨æˆ–鏿“‡å¦ä¸€å€‹éµç›¤å½¢å¼ã€‚\n"
+"\n"
+"æ‚¨æˆ–è¨±æ²’æœ‰ç²¾ç¢ºå°æ‡‰æ–¼æ‚¨çš„語言的éµç›¤: 例如, 如果您是一個說英文的瑞士本國人,\n"
+"您或許有瑞士éµç›¤. 或如果您說英文且在é­åŒ—å…‹ (Quebec), æ‚¨æˆ–è¨±ç™¼ç¾æ‚¨è‡ªå·±åœ¨ä¸€å€‹\n"
+"您本國語言與國家éµç›¤çµ„åˆä¸å°ç¨±çš„æƒ…æ³. ä¸ç®¡æ˜¯é‚£ç¨®æƒ…å½¢, é€™å€‹å®‰è£æ­¥é©Ÿå°‡å…許您\n"
+"å¾žä¸€å€‹æ¸…å–®ä¸­é¸æ“‡é©åˆçš„éµç›¤\n"
+"\n"
+"é»žé¸ \"%s\" 按鈕以顯示一個支æ´çš„éµç›¤æ¸…å–®.\n"
+"\n"
+"å¦‚æžœæ‚¨æ ¹æ“šä¸€å€‹éžæ‹‰ä¸èªžç³»å­—æ¯é¸æ“‡ä¸€å€‹éµç›¤å½¢å¼ï¼Œä¸‹ä¸€å€‹å°è©±çª—å°‡å…è¨±æ‚¨é¸æ“‡\n"
+"按éµçµ„åˆä»¥ä¾¿åˆ‡æ›æ–¼æ‹‰ä¸èˆ‡éžæ‹‰ä¸éµç›¤å½¢å¼ä¹‹ä¸­ã€‚"
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mageia's use of UTF-8 will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"ç¬¬ä¸€æ­¥é©Ÿæ˜¯é¸æ“‡æ‚¨å好的語言.\n"
+"\n"
+"æ‚¨é¸æ“‡çš„å好語言一般來說將影響安è£ã€æ–‡ä»¶ã€èˆ‡ç³»çµ±ã€‚å…ˆé¸æ“‡æ‚¨åœ¨çš„å€åŸŸï¼Œç„¶å¾Œ\n"
+"是您說的語言.\n"
+"\n"
+"é»žé¸ \"%s\" 按éµå°‡å…è¨±æ‚¨é¸æ“‡å…¶ä»–語言來安è£åœ¨æ‚¨çš„工作站上, å› æ­¤, 安è£ç‰¹æ®Šèªž"
+"言\n"
+"檔案給系統文件與應用程å¼. 例如, 如果西ç­ç‰™ä½¿ç”¨è€…會用您的機器, 在樹狀檢視中\n"
+"鏿“‡è‹±æ–‡ç•¶é è¨­èªžè¨€ä¸”åœ¨é€²éšŽéƒ¨ä»½é¸æ“‡ \"%s\".\n"
+"\n"
+"關於 UTF-8 (unicode) 支æ´ï¼šUnicode 是一個新的字元編碼以涵蓋所有存在的語言。\n"
+"然而, 在 GNU/Linux 下完全的支æ´ä»ç„¶åœ¨é–‹ç™¼ä¸­. 因為那個原因, Mageia çš„\n"
+" UTF-8 ä½¿ç”¨å°‡æ ¹æ“šä½¿ç”¨è€…çš„é¸æ“‡è€Œå®šï¼š\n"
+"\n"
+" * å¦‚æžœæ‚¨é¸æ“‡ä¸€å€‹æœ‰åé‡å‚³çµ±ç·¨ç¢¼çš„語言 (latin1 語言ã€ä¿„ç¾…æ–¯æ–‡ã€æ—¥æ–‡ã€ä¸­æ–‡ã€\n"
+"韓國, 泰國, 希臘, 土耳其, 大多的 iso-8859-2 語言)\n"
+"\n"
+" * 其他語言將使用 unicode 為é è¨­;\n"
+"\n"
+" * 如果兩個或兩個以上的語言被需è¦, 且那些語言ä¸ç”¨ç›¸åŒçš„編碼, 則 unicode 將被"
+"用於整個系統;\n"
+"\n"
+" * 最後,unicode 也å¯ä»¥è¢«å¼·åˆ¶ä½¿ç”¨æ–¼æ•´å€‹ç³»çµ±ï¼Œè—‰ç”±ä½¿ç”¨è€…çš„é¸æ“‡ \"%s\" é¸é …\n"
+"ä¾†è¦æ±‚之.\n"
+"\n"
+"記得您ä¸è¢«é™åˆ¶æ–¼é¸æ“‡ä¸€å€‹å–®ä¸€çš„附加語言. 您å¯ä»¥é¸æ“‡æ•¸å€‹, æˆ–ç”šè‡³è—‰ç”±é¸æ“‡\n"
+" \"%s\" 方塊安è£ä»–å€‘å…¨éƒ¨ã€‚é¸æ“‡æ”¯æ´è©²ç¨®èªžè¨€æ˜¯æŒ‡ç¿»è­¯ã€å­—åž‹ã€æ‹¼å­—檢查等等,\n"
+"將也會被安è£çµ¦é‚£å€‹èªžè¨€.\n"
+"ç‚ºäº†åˆ‡æ›æ–¼ä¸åŒçš„å®‰è£æ–¼æ‚¨ç³»çµ±ä¸Šçš„語言之間,您å¯ä»¥ç”¨ \"root\" 執行\n"
+"\"localedrake\" 程å¼ä¾†æ”¹è®Šç”¨æ–¼æ•´å€‹ç³»çµ±ä¸Šçš„語言。用一般使用者執行程å¼\n"
+"å°‡åªæœƒæ”¹è®Šå°æ–¼é‚£å€‹ç‰¹åˆ¥ä½¿ç”¨è€…的語言設定."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "西ç­ç‰™èªž"
+
+#: ../help.pm:643
+#, c-format
+msgid "Use Unicode by default"
+msgstr ""
+
+#: ../help.pm:646
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"通常 DrakX æ²’æœ‰åµæ¸¬æ»‘é¼ æŒ‰éµæ•¸é‡çš„å•題. 如果有的話, 它å‡è¨­æ‚¨æœ‰å…©éµçš„æ»‘é¼ \n"
+"且將設定它模擬三éµ. ç¬¬ä¸‰éµæŒ‰éµæ–¼å…©éµæ»‘é¼ å¯ä»¥ç”±åŒæ™‚按下左éµèˆ‡å³éµä¾†æ¨¡æ“¬.\n"
+"DrakX å°‡æœƒè‡ªå‹•çŸ¥é“æ‚¨çš„æ»‘鼠是å¦ä½¿ç”¨ PS/2, åºåˆ—埠 或 USB 介é¢.\n"
+"\n"
+" å¦‚æžœæ‚¨æœ‰ä¸€å€‹ç„¡æ»¾è¼ªçš„ä¸‰éµæ»‘é¼ , 您å¯ä»¥é¸æ“‡ \"%s\" 滑鼠. DrakX 將會設定您的\n"
+"滑鼠以至於您å¯ä»¥ç”¨å®ƒæ¨¡æ“¬æ»¾è¼ª: 為了è¦ä½¿ç”¨å®ƒ, 按下中間éµä¸”上下移動您的滑鼠指"
+"標.\n"
+"\n"
+"如果由於æŸäº›åŽŸå› æ‚¨æƒ³æŒ‡å®šä¸€å€‹ä¸åŒçš„æ»‘鼠類型, 從æä¾›çš„æ¸…單中é¸å®ƒ.\n"
+"\n"
+"您å¯ä»¥é¸æ“‡ \"%s\" é …ç›®ä¾†é¸æ“‡ä¸€å€‹ ``generic (一般)'' 滑鼠型態, é©ç”¨æ–¼å¹¾ä¹Žå…¨"
+"部\n"
+"的滑鼠.\n"
+"\n"
+"å¦‚æžœæ‚¨é¸æ“‡ä¸€å€‹ä¸åŒæ–¼é è¨­å€¼çš„æ»‘鼠,將會顯示一個測試畫é¢ã€‚使用按éµèˆ‡æ»¾è¼ªä¾†\n"
+"確èªè¨­å®šå€¼æ˜¯æ­£ç¢ºçš„且滑鼠正確工作。如果滑鼠ä¸èƒ½å·¥ä½œï¼Œè«‹æŒ‰ä¸‹ç©ºç™½éµæˆ– [Return] "
+"éµ\n"
+"以喿¶ˆæ¸¬è©¦ä¸”您將回到滑鼠清單.\n"
+"\n"
+"æŸäº›æƒ…æ³ä¸‹, 滾輪滑鼠ä¸èƒ½è¢«è‡ªå‹•嵿¸¬, 所以您將需è¦å¾žæ¸…單䏭鏿“‡æ‚¨çš„æ»‘é¼ .\n"
+"ç¢ºå®šé¸æ“‡ä¸€å€‹å°æ‡‰æ–¼æ‚¨çš„æ»‘é¼ é€£æŽ¥åŸ çš„é …ç›®ã€‚é¸æ“‡ä¸€å€‹æ»‘鼠且按下 \"%s\" éµå¾Œï¼Œ\n"
+"一個滑鼠影åƒå°‡é¡¯ç¤ºåœ¨èž¢å¹•上.\n"
+"è«‹æ²å‹•滑鼠滾輪以確定它正確被啟動。當您滾動滾輪,您將看見螢幕上的滾輪移動。\n"
+"測試按éµä¸¦æª¢æŸ¥ç•¶æ‚¨ç§»å‹•您的滑鼠時游標是å¦åœ¨èž¢å¹•上移動。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "滾輪模擬"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "通用 | 任何 PS/2 & USB 滑鼠"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"è«‹é¸æ“‡æ­£ç¢ºçš„連接埠å稱. 比方, Windows 所稱呼的 \"COM1\"\n"
+"在 GNU/Linux 環境是稱呼為 \"ttyS0\"."
+
+#: ../help.pm:684
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX cannot determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"開機載入器是在電腦開機時啟動的程å¼ã€‚它負責啟動整個系統。正常的話,開機載入\n"
+"程å¼çš„å®‰è£æ˜¯å®Œå…¨è‡ªå‹•化的。DrakX 會分æžç¡¬ç¢Ÿçš„開機扇å€ä¸¦æ ¹æ“šå®ƒæ‰€æ‰¾åˆ°çš„行動:\n"
+"\n"
+" * 如果找到 Windows 開機扇å€çš„話,它會將其å–代為 GRUB/LILO 開機扇å€ã€‚這樣\n"
+"您就能載入 GNU/Linux 或任何其他安è£åœ¨æ‚¨çš„æ©Ÿå™¨ä¸Šçš„作業系統。\n"
+"\n"
+" * 如果找到 GRUB 或 LILO 開機扇å€ï¼Œå®ƒæœƒç”¨ä¸€å€‹æ–°çš„將其å–代。\n"
+"\n"
+"如果 DrakX ç„¡æ³•æ±ºå®šè©²å°‡é–‹æ©Ÿæ‰‡å€æ”¾åœ¨å“ªå“©ï¼Œå®ƒæœƒè©¢å•您è¦å°‡å…¶æ”¾ç½®æ–¼ä½•處。一般來\n"
+"說,\"%s\" æ˜¯æœ€å®‰å…¨çš„åœ°æ–¹ã€‚é¸æ“‡ \"%s\" 將䏿œƒå®‰è£ä»»ä½•開機載入程å¼ã€‚åªæœ‰åœ¨\n"
+"您很清楚您在åšä»€éº¼æ™‚æ‰é¸æ“‡é€™å€‹é¸é …。"
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mageia offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mageia\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"ç¾åœ¨è¦é¸æ“‡æ‚¨çš„電腦è¦ä½¿ç”¨çš„列å°ç³»çµ±. å…¶ä»–ä½œæ¥­ç³»çµ±æˆ–è¨±åªæœ‰æä¾›æ‚¨ä¸€ç¨®é¸æ“‡,\n"
+"但是 Mageia 這邊æä¾›äº†å…©ç¨®é¸æ“‡. æ¯ä¸€ç¨®åˆ—å°ç³»çµ±æ˜¯æœ€é©åˆæ–¼ç‰¹åˆ¥è¨­å®šåž‹æ…‹.\n"
+"\n"
+" * \"%s\" - 是 ``print, do not queue (列å°, ä¸æŽ’éšŠ)'' 之縮寫字, 是當您有一"
+"個\n"
+"直接連線的å°è¡¨æ©Ÿ, æ‚¨ä¸æƒ³å› ç‚ºå¡ç´™è€Œé©šæ…Œ, 且您沒有網路å°è¡¨æ©Ÿ. (\"%s\"\n"
+"åªå°‡æœƒè™•ç†éžå¸¸ç°¡å–®çš„網路æ¢ä»¶ä¸”當用於網路時有些慢) 如果這是您第一次 GNU/"
+"Linux\n"
+"經驗, 建議您使用\"pdq\".\n"
+"\n"
+" * \"%s\" 是 ``Common Unix Printing System (通用 Unix 列å°ç³»çµ±)'', 這是一套\n"
+"å°æ–¼ç›´æŽ¥åˆ—å°åˆ°æœ¬åœ°ç«¯å°è¡¨æ©Ÿä¸Š, 或者是到地çƒå¦ä¸€ç«¯éƒ½ç›¸ç•¶å‡ºè‰²çš„鏿“‡. 它的設定\n"
+"是相當簡單且å¯ä»¥ç•¶æˆå¤è€çš„ lpd 列å°ç³»çµ±çš„伺æœå™¨ç«¯æˆ–者是用戶端使用, 所以它是\n"
+"相容於需è¦åˆ—å°æœå‹™æ¯”較舊的作業系統。相當強大,基本設定幾乎跟 \"pdq\" 一樣\n"
+"ç°¡å–®. 如果您希望能夠模擬 \"lpd\" 伺æœå™¨, 確定您開啟 \"cups-lpd\" daemon.\n"
+"\"%s\" æä¾›äº†åœ–形的介é¢å‰ç«¯çµ¦åˆ—å°, 鏿“‡åˆ—å°çš„é¸é …, 管ç†å°è¡¨æ©Ÿ.\n"
+"\n"
+"如果您ç¾åœ¨åšå‡ºæ±ºå®š, 且您之後發ç¾ä¸å–œæ­¡æ‚¨çš„列å°ç³»çµ±, 您å¯ä»¥è—‰ç”±å¾ž\n"
+"Mageia 控制中心執行 PrinterDrake é»žé¸ \"%s\" æŒ‰éµæ”¹è®Šå®ƒ."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:724
+#, c-format
+msgid "CUPS"
+msgstr ""
+
+#: ../help.pm:724
+#, c-format
+msgid "Expert"
+msgstr "專家"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard disk drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX å°‡è¦åµæ¸¬æ‚¨é›»è…¦ä¸Šçš„ IDE è£ç½®. å®ƒä¹Ÿæœƒé †ä¾¿æŽƒææ‚¨ç³»çµ±ä¸Šçš„ PCI\n"
+"SCSI 介é¢å¡. ç•¶åµæ¸¬åˆ° SCSI 塿™‚, DrakX 將會自動安è£é©ç•¶çš„驅動程å¼\n"
+"\n"
+"å› ç‚ºä¹Ÿè¨±ç„¡æ³•å®Œå…¨çš„åµæ¸¬å‡ºæ‚¨çš„系統是å¦é‚„有更多的硬體è£ç½®, 所以 DrakX或許會失敗"
+"嵿¸¬æ‚¨çš„硬碟. 若是這樣, 您必須手動指定您的硬體.\n"
+"\n"
+"å¦‚æžœæ‚¨å¿…é ˆæ‰‹å‹•æ–¹å¼æŒ‡å®šæ‚¨çš„ PCI SCSI é©é…器時, DrakX æœƒè©¢å•æ‚¨æ˜¯å¦è¦å°é€™å€‹\n"
+"驅動程å¼è¨­å®šé¸é …åƒæ•¸. 您應該è¦å…許 DrakX èƒ½å¤ å…ˆè‡ªå‹•åµæ¸¬ç¡¬é«”å¡ç‰¹åˆ¥çš„é¸é …åƒæ•¸\n"
+"以需è¦åˆå§‹åŒ–é©é…器. 通常, DrakX 將會沒有å•題通éŽé€™å€‹æ­¥é©Ÿ.\n"
+"\n"
+"若是 DrakX ç„¡æ³•åµæ¸¬é¸é …ä»¥è‡ªå‹•æ±ºå®šé‚£å€‹åƒæ•¸éœ€è¦è¢«é€åˆ°ç¡¬é«”, 您必須手動設定\n"
+"驅動程å¼."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": å¦‚æžœæ‚¨çš„ç³»çµ±ä¸Šæœ‰åµæ¸¬åˆ°éŸ³æ•ˆå¡ï¼Œå®ƒå°‡æœƒé¡¯ç¤ºåœ¨é€™è£¡ã€‚如果您發ç¾é€™ä¸¦ä¸æ˜¯\n"
+"ç›®å‰æ‚¨çš„系統使用的音效å¡ï¼Œæ‚¨å¯ä»¥æŒ‰ä¸‹æŒ‰éˆ•䏦鏿“‡å¦ä¸€å€‹é©…動程å¼ã€‚"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mageia Control Center after the installation has finished to benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mageia Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:809
+#, fuzzy, c-format
+msgid "TV card"
+msgstr "ISDN å¡"
+
+#: ../help.pm:809
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN å¡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "圖形介é¢"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard disk drive you want to erase in order to install your new\n"
+"Mageia partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"鏿“‡æ‚¨æƒ³è¦æŠ¹é™¤çš„ç¡¬ç¢Ÿä¾†å®‰è£æ–°çš„ Mageia 分割. å°å¿ƒ,\n"
+"ç£ç¢Ÿä¸Šå…¨éƒ¨è³‡æ–™å°‡éºå¤±ä¸”將無法挽回!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard disk drive. Be careful, after clicking on \"%s\", you will not be "
+"able\n"
+"to recover any data and partitions present on this hard disk drive, "
+"including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard disk drive."
+msgstr ""
+"您如果想è¦åˆªé™¤åœ¨é€™å€‹ç¡¬ç¢Ÿä¸Šçš„全部資料與分割, é»žé¸ \"%s\".\n"
+"å°å¿ƒ, é»žé¸ \"%s\" 之後, 您將無法挽回任何在這個硬碟上的資料與分割, 包å«\n"
+"Windows 資料.\n"
+"\n"
+"é»žé¸ \"%s\" 以ä¸éºå¤±åœ¨é€™å€‹ç¡¬ç¢Ÿä¸Šçš„資料與分割放棄這個動作."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "下一步 ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 上一步"
+
+#~ msgid ""
+#~ "This is the most crucial decision point for the security of your GNU/"
+#~ "Linux\n"
+#~ "system: you must enter the \"root\" password. \"Root\" is the system\n"
+#~ "administrator and is the only user authorized to make updates, add "
+#~ "users,\n"
+#~ "change the overall system configuration, and so on. In short, \"root\" "
+#~ "can\n"
+#~ "do everything! That's why you must choose a password which is difficult "
+#~ "to\n"
+#~ "guess: DrakX will tell you if the password you chose is too simple. As "
+#~ "you\n"
+#~ "can see, you're not forced to enter a password, but we strongly advise\n"
+#~ "against this. GNU/Linux is just as prone to operator error as any other\n"
+#~ "operating system. Since \"root\" can overcome all limitations and\n"
+#~ "unintentionally erase all data on partitions by carelessly accessing the\n"
+#~ "partitions themselves, it is important that it be difficult to become\n"
+#~ "\"root\".\n"
+#~ "\n"
+#~ "The password should be a mixture of alphanumeric characters and at least "
+#~ "8\n"
+#~ "characters long. Never write down the \"root\" password -- it makes it "
+#~ "far\n"
+#~ "too easy to compromise your system.\n"
+#~ "\n"
+#~ "One caveat: do not make the password too long or too complicated because "
+#~ "you\n"
+#~ "must be able to remember it!\n"
+#~ "\n"
+#~ "The password will not be displayed on screen as you type it. To reduce "
+#~ "the\n"
+#~ "chance of a blind typing error you'll need to enter the password twice. "
+#~ "If\n"
+#~ "you do happen to make the same typing error twice, you'll have to use "
+#~ "this\n"
+#~ "``incorrect'' password the first time you'll try to connect as \"root\".\n"
+#~ "\n"
+#~ "If you want an authentication server to control access to your computer,\n"
+#~ "click on the \"%s\" button.\n"
+#~ "\n"
+#~ "If your network uses either LDAP, NIS, or PDC Windows Domain "
+#~ "authentication\n"
+#~ "services, select the appropriate one for \"%s\". If you do not know "
+#~ "which\n"
+#~ "one to use, you should ask your network administrator.\n"
+#~ "\n"
+#~ "If you happen to have problems with remembering passwords, or if your\n"
+#~ "computer will never be connected to the Internet and you absolutely "
+#~ "trust\n"
+#~ "everybody who uses your computer, you can choose to have \"%s\"."
+#~ msgstr ""
+#~ "這是最é‡è¦çš„ GNU/Linux 系統安全性決定點: 你一定è¦è¼¸å…¥ \"root\" 密碼.\n"
+#~ "\"root\" 是系統管ç†å“¡ä¸”æ˜¯è¢«æŽˆæ¬Šåšæ›´æ–°, 增加使用者, 變更整個系統設定等等\n"
+#~ "的人。簡而言之,\"root\" 能åšä»»ä½•事ï¼é‚£å°±æ˜¯ç‚ºä»€éº¼æ‚¨å¿…é ˆè¦é¸æ“‡ä¸€å€‹å¾ˆé›£çŒœ"
+#~ "中\n"
+#~ "的密碼. DrakX 將告訴您您的密碼是å¦å¤ªç°¡å–®. å°±åƒæ‚¨æ‰€è¦‹çš„一樣, 您並ä¸è¢«å¼·åˆ¶è¼¸"
+#~ "å…¥\n"
+#~ "一個密碼, 但是我們強烈建議如此. GNU/Linux å°±åƒå…¶ä»–任何作業系統一般易於å—\n"
+#~ "æ“作手誤影響。因為 \"root\" å¯ä»¥å…‹æœå…¨éƒ¨é™åˆ¶ä¸”藉由ä¸å°å¿ƒå­˜å–分割,å¯ä»¥\n"
+#~ "ä¸ç¶“æ„地抹除所有分割上的資料,因此讓æˆç‚º \"root\" 身分很困難是極é‡è¦çš„。\n"
+#~ "\n"
+#~ "密碼應該是一組字æ¯èˆ‡æ•¸å­—字元且至少 8 個字元長. 絕ä¸å¯«ä¸‹ \"root\" 密碼 - \n"
+#~ "它使得太容易掌控您的系統(安全性)。\n"
+#~ "\n"
+#~ "一個警告: 別把密碼設定太長或太複雜, 因為您必須能記ä½å®ƒ!\n"
+#~ "\n"
+#~ "您在輸入密碼時, èž¢å¹•ä¸Šä¸æœƒé¡¯ç¤ºå‡ºä½ å¯¦é𛿕²å…¥çš„內容. å¦å¤–就是您需è¦è¼¸å…¥å…©æ¬¡\n"
+#~ "以便於確定所輸入的密碼沒有打錯. 如果您ä¸å°å¿ƒåšå‡ºå…©æ¬¡åŒæ¨£çš„輸入錯誤,\n"
+#~ "您將必須使用這個 ``錯誤'' 密碼於第一次您試著以 \"root\" 連入.\n"
+#~ "\n"
+#~ "如果您想è¦ä¸€å€‹èªè­‰ä¼ºæœå™¨ä¾†æŽ§åˆ¶å­˜å–您的電腦, é»žé¸ \"%s\" 按éµ.\n"
+#~ "\n"
+#~ "è‹¥æ˜¯ä½ çŸ¥é“æ‚¨æ‰€åœ¨ç¶²è·¯æœ‰ä½¿ç”¨ LDAP, NIS, 或 PDC Windows 網域èªè­‰æœå‹™,\n"
+#~ "é¸é©åˆçš„一個給 \"%s\". 如果您ä¸çŸ¥é“é¸é‚£ä¸€å€‹, å‘網路管ç†è€…è©¢å•相關資訊.\n"
+#~ "\n"
+#~ "如果您é‡åˆ°è¨˜ä½å¯†ç¢¼çš„å•題, 或如果您的電腦將永é ä¸é€£ä¸Šç¶²éš›ç¶²è·¯ä¸”您絕å°ç›¸ä¿¡\n"
+#~ "所有使用您電腦的人,您å¯ä»¥é¸æ“‡ \"%s\"."
+
+#~ msgid "authentication"
+#~ msgstr "èªè­‰"
diff --git a/perl-install/install/http.pm b/perl-install/install/http.pm
new file mode 100644
index 000000000..db111564c
--- /dev/null
+++ b/perl-install/install/http.pm
@@ -0,0 +1,66 @@
+package install::http;
+
+use urpm::download;
+use common;
+use Cwd;
+
+sub getFile {
+ my ($url, %o_options) = @_;
+ my ($_size, $fh) = get_file_and_size($url, %o_options) or return;
+ $fh;
+}
+
+sub parse_http_url {
+ my ($url) = @_;
+ $url =~ m,^(?:https?|ftp)://(?:[^:/]+:[^:/]+\@)?([^/:@]+)(?::(\d+))?(/\S*)?$,;
+}
+
+sub get_file_and_size_ {
+ my ($f, $url) = @_;
+
+ if ($f =~ m!^/!) {
+ my ($host, $port, $_path) = parse_http_url($url);
+ get_file_and_size("http://$host" . ($port ? ":$port" : '') . $f);
+ } else {
+ get_file_and_size("$url/$f");
+ }
+}
+
+sub get_file_and_size {
+ my ($url, %o_options) = @_;
+
+ # can be used for ftp urls (with http proxy)
+ my ($host) = parse_http_url($url);
+ defined $host or return undef;
+
+ my $urpm = $::o->{packages};
+ if (!$urpm) {
+ require install::pkgs;
+ $urpm = install::pkgs::empty_packages($::o->{keep_unrequested_dependencies});
+ $urpm->{options}{'curl-options'} = '-s';
+ }
+
+ my $cachedir = $urpm->{cachedir} || '/root';
+ my $file = $url;
+ $file =~ s!.*/!$cachedir/!;
+ unlink $file; # prevent "partial file" errors
+
+ if ($ENV{PROXY}) {
+ my ($proxy, $port) = urpm::download::parse_http_proxy(join(':', $ENV{PROXY}, $ENV{PROXYPORT}))
+ or die "bad proxy declaration\n";
+ $proxy .= ":1080" unless $port;
+ urpm::download::set_cmdline_proxy(http_proxy => "http://$proxy/");
+ }
+
+ my $res = eval { urpm::download::sync_url($urpm, $url, %o_options, dir => $cachedir) };
+
+ if ($res) {
+ open(my $f, $file);
+ (-s $file, $f);
+ } else {
+ log::l("retrieval of [$file] failed");
+ undef;
+ }
+}
+
+1;
diff --git a/perl-install/install/install2 b/perl-install/install/install2
new file mode 100755
index 000000000..34f215a21
--- /dev/null
+++ b/perl-install/install/install2
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+#- PERL_INSTALL_TEST is used to launch stage2 in debug mode
+
+#- Mandrake Graphic Install
+#- Copyright (C) 1999/2000 Mandrakesoft (pixel)
+#-
+#- This program is free software; you can redistribute it and/or modify
+#- it under the terms of the GNU General Public License as published by
+#- the Free Software Foundation; either version 2, or (at your option)
+#- any later version.
+#-
+#- This program is distributed in the hope that it will be useful,
+#- but WITHOUT ANY WARRANTY; without even the implied warranty of
+#- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#- GNU General Public License for more details.
+#-
+#- You should have received a copy of the GNU General Public License
+#- along with this program; if not, write to the Free Software
+#- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+use diagnostics;
+use strict;
+
+use lib qw(/usr/lib/libDrakX .);
+use install::install2;
+
+$::testing = $ENV{PERL_INSTALL_TEST};
+$::isStandalone = 0;
+
+#- workaround for WebKitGTK bug (mga#31294)
+$ENV{WEBKIT_DISABLE_COMPOSITING_MODE} = 1;
+
+install::install2::main(@ARGV);
+
+c::_exit(0);
diff --git a/perl-install/install/install2.pm b/perl-install/install/install2.pm
new file mode 100644
index 000000000..7f6cbd6fe
--- /dev/null
+++ b/perl-install/install/install2.pm
@@ -0,0 +1,885 @@
+package install::install2;
+
+use diagnostics;
+use strict;
+use vars qw($o);
+use Getopt::Long qw(GetOptionsFromArray :config no_auto_abbrev no_getopt_compat pass_through);
+
+BEGIN { $::isInstall = 1 }
+
+=head1 SYNOPSYS
+
+The installer stage2 real entry point
+
+=cut
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::steps_list;
+use common;
+use install::any 'addToBeDone';
+use install::steps;
+use install::any;
+use lang;
+use keyboard;
+use mouse;
+use devices;
+use partition_table;
+use modules;
+use detect_devices;
+use run_program;
+use any;
+use log;
+use fs;
+use fs::any;
+use fs::mount;
+use messages;
+
+#-#######################################################################################
+=head1 Data Structure
+
+=head2 $O;
+
+$o (or $::o in other modules) is the big struct which contain, well everything:
+
+=over 4
+
+=item * globals
+
+=item * the interactive methods
+
+=item * ...
+
+=back
+
+if you want to do a kickstart file, you just have to add all the required fields (see for example
+the variable $default)
+
+=cut
+#-#######################################################################################
+$o = $::o = {
+# bootloader => { linear => 0, message => 1, timeout => 5, restricted => 0 },
+#- packages => [ qw() ],
+ partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 },
+ authentication => { sha512 => 1, shadow => 1 },
+ locale => { lang => 'en_US' },
+#- isUpgrade => 0,
+ toRemove => [],
+ toSave => [],
+#- simple_themes => 1,
+
+ timezone => {
+#- timezone => "Europe/Paris",
+#- UTC => 1,
+ },
+#- superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
+#- user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
+
+#- keyboard => 'de',
+#- display => "192.168.1.19:1",
+ steps => \%install::steps_list::installSteps,
+ orderedSteps => \@install::steps_list::orderedInstallSteps,
+
+ #- for the list of fields available, see network/network.pm
+ net => {
+ #- network => { HOSTNAME => 'abcd' },
+ #- resolv => { DOMAINNAME => 'foo.xyz' },
+ #- ifcfg => {
+ #- eth0 => { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' }
+ #- },
+ },
+ untranslated_license => messages::main_license_raw(),
+#-step : the current one
+#-prefix
+#-mouse
+#-keyboard
+#-netc
+#-methods
+#-packages compss
+
+};
+
+=head1 Steps Navigation
+
+=over
+
+=cut
+
+sub installStepsCall {
+ my ($o, $auto, $fun, @args) = @_;
+ $fun = "install::steps::$fun" if $auto;
+ $o->$fun(@args);
+}
+
+=item getNextStep($o)
+
+Returns next step
+
+=cut
+
+sub getNextStep {
+ my ($o) = @_;
+ find { !$o->{steps}{$_}{done} && $o->{steps}{$_}{reachable} } @{$o->{orderedSteps}};
+}
+
+#-######################################################################################
+
+=back
+
+=head1 Steps Functions
+
+Each step function are called with two arguments : clicked(because if you are a
+beginner you can force the the step) and the entered number
+
+=cut
+
+#-######################################################################################
+
+#------------------------------------------------------------------------------
+sub selectLanguage {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'selectLanguage');
+}
+
+sub acceptLicense {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'acceptLicense');
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'selectMouse');
+
+ addToBeDone { mouse::write($o->do_pkgs, $o->{mouse}) if !$o->{isUpgrade} } 'installPackages';
+}
+
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'setupSCSI') if !$::local_install;
+}
+
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($auto) = @_;
+
+ my $force;
+ if (my $keyboard = keyboard::read()) {
+ $o->{keyboard} = $keyboard; #- for uprade
+ } elsif ($o->{isUpgrade}) {
+ #- oops, the keyboard config is wrong, forcing prompt and writing
+ $force = 1;
+ }
+
+ installStepsCall($o, $auto, 'selectKeyboard', $force);
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'selectInstallClass');
+
+ if ($o->{isUpgrade}) {
+ @{$o->{orderedSteps}} = uniq(map {
+ $_ eq 'selectInstallClass' ? ($_, 'doPartitionDisks', 'formatPartitions') : $_;
+ } @{$o->{orderedSteps}});
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($auto) = @_;
+ $o->{steps}{formatPartitions}{done} = 0;
+ if ($o->{method} eq 'cdrom') {
+ #- Exclude the installer medium from the devices we can install onto.
+ #- This is needed when the installer medium is a USB Flash drive, to
+ #- prevent the user inadvertently overwriting the installer and to
+ #- prevent the installer ESP being used as the installed system ESP
+ # (mga#26714).
+ my $installer_device = $o->{stage2_phys_medium}{device};
+ @{$o->{all_hds}{hds}} = grep { $_->{device} ne $installer_device } @{$o->{all_hds}{hds}};
+ }
+ installStepsCall($o, $auto, 'doPartitionDisksBefore');
+ installStepsCall($o, $auto, 'doPartitionDisks');
+ installStepsCall($o, $auto, 'doPartitionDisksAfter');
+}
+
+sub formatPartitions {
+ my ($auto) = @_;
+
+ $o->{steps}{choosePackages}{done} = 0;
+ installStepsCall($o, $auto, 'choosePartitionsToFormat') if !$o->{isUpgrade} && !$::local_install;
+ my $want_root_formated = fs::get::root($o->{fstab})->{toFormat};
+ if ($want_root_formated) {
+ foreach ('/usr') {
+ my $part = fs::get::mntpoint2part($_, $o->{fstab}) or next;
+ $part->{toFormat} or die N("You must also format %s", $_);
+ }
+ }
+ installStepsCall($o, $auto, 'formatMountPartitions') if !$::testing;
+
+ # Workaround for mga#22059. Because stage2 does not include the udev 60-blocks.rule,
+ # udev does not automatically update the soft links in /dev/disk/by-uuid after we
+ # write the partition table and format the partitions. We need these links to be
+ # updated before we create the initrd. It would be cleaner to fix this with a udev
+ # rule, but for now, use brute force.
+ run_program::run('udevadm', 'trigger', '--type=devices', '--subsystem-match=block');
+
+ if ($want_root_formated) {
+ #- we formatted /, ensure /var/lib/rpm is cleaned otherwise bad things can happen
+ #- (especially when /var is *not* formatted)
+ eval { rm_rf("$::prefix/var/lib/rpm") };
+ }
+
+ fs::any::prepare_minimal_root();
+
+ install::any::screenshot_dir__and_move();
+ install::any::move_compressed_image_to_disk($o);
+
+ any::rotate_logs($::prefix);
+
+ require raid;
+ raid::write_conf($o->{all_hds}{raids});
+}
+
+#------------------------------------------------------------------------------
+sub choosePackages {
+ my ($auto) = @_;
+ require install::pkgs;
+
+ #- always setPackages as it may have to copy hdlist and synthesis files.
+ installStepsCall($o, $auto, 'setPackages');
+ installStepsCall($o, $auto, 'choosePackages');
+ my @flags = map_each { if_($::b, $::a) } %{$o->{rpmsrate_flags_chosen}};
+ log::l("rpmsrate_flags_chosen's: ", join(' ', sort @flags));
+
+ #- check pre-condition that basesystem package must be selected.
+ my $base_pkg = install::pkgs::packageByName($o->{packages}, 'basesystem');
+ $base_pkg->flag_available or $base_pkg->flag_installed or die "basesystem package not selected";
+
+ #- check if there are packages that need installation.
+ $o->{steps}{installPackages}{done} = 0 if $o->{steps}{installPackages}{done} && install::pkgs::packagesToInstall($o->{packages}) > 0;
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'beforeInstallPackages');
+ installStepsCall($o, $auto, 'installPackages');
+ installStepsCall($o, $auto, 'afterInstallPackages');
+}
+#------------------------------------------------------------------------------
+sub miscellaneous {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'miscellaneousBefore');
+ installStepsCall($o, $auto, 'miscellaneous');
+ installStepsCall($o, $auto, 'miscellaneousAfter');
+}
+
+#------------------------------------------------------------------------------
+sub summary {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'summaryBefore') if $o->{steps}{summary}{entered} == 1;
+ installStepsCall($o, $auto, 'summary');
+ installStepsCall($o, $auto, 'summaryAfter');
+}
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($auto) = @_;
+ #- get current configuration of network device.
+ require network::network;
+ eval { network::network::read_net_conf($o->{net}) };
+ modules::load_category($o->{modules_conf}, list_modules::ethernet_categories());
+ require network::connection::ethernet;
+ if (!$o->{isUpgrade}) {
+ installStepsCall($o, $auto, 'configureNetwork');
+ } else {
+ network::connection::ethernet::configure_eth_aliases($o->{modules_conf});
+ }
+}
+#------------------------------------------------------------------------------
+sub installUpdates {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'installUpdates');
+}
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'configureServices');
+}
+#------------------------------------------------------------------------------
+sub setRootPassword_addUser {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'setRootPassword_addUser') if !$o->{isUpgrade};
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloader {
+ my ($auto) = @_;
+ return if $::local_install;
+
+ $o->{modules_conf}->write;
+
+ installStepsCall($o, $auto, 'setupBootloaderBefore');
+ installStepsCall($o, $auto, 'setupBootloader');
+}
+#------------------------------------------------------------------------------
+sub configureX {
+ my ($auto) = @_;
+
+ #- done here and also at the end of install2.pm, just in case...
+ install::any::write_fstab($o);
+ $o->{modules_conf}->write;
+
+ require install::pkgs;
+ installStepsCall($o, $auto, 'configureX') if !$::testing && eval { install::pkgs::packageByName($o->{packages}, 'task-x11')->flag_installed } && !$o->{X}{disabled};
+}
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'exitInstall', getNextStep($::o) eq 'exitInstall');
+}
+
+#-######################################################################################
+
+=head1 Udev Functions
+
+=over
+
+=cut
+
+#-######################################################################################
+
+=item start_udev()
+
+=cut
+
+sub start_udev() {
+ return if fuzzy_pidofs('udevd');
+
+ # Start up udev:
+ mkdir_p("/run/udev/rules.d");
+ $ENV{UDEVRULESD} = "/run/udev/rules.d";
+ run_program::run("/usr/lib/systemd/systemd-udevd", "--daemon", "--resolve-names=never");
+ # Coldplug all devices:
+ run_program::run("udevadm", "trigger", "--type=subsystems", "--action=add");
+ run_program::run("udevadm", "trigger", "--type=devices", "--action=add");
+}
+
+=item stop_udev()
+
+=cut
+
+sub stop_udev() {
+ kill 15, fuzzy_pidofs('udevd');
+ sleep(2);
+ fs::mount::umount($_) foreach '/dev/pts', '/dev/shm';
+}
+
+#-######################################################################################
+
+=back
+
+=head1 Other Functions
+
+=over
+
+=cut
+
+#-######################################################################################
+
+sub init_local_install {
+ my ($o) = @_;
+ push @::auto_steps,
+# 'selectLanguage', 'selectKeyboard', 'miscellaneous', 'selectInstallClass',
+ 'doPartitionDisks', 'formatPartitions';
+ eval { fs::mount::sys_kernel_debug('') }; #- do it now so that when_load doesn't do it
+ $o->{nomouseprobe} = 1;
+ $o->{mouse} = mouse::fullname2mouse('Universal|Any PS/2 & USB mice');
+}
+
+sub pre_init_brltty() {
+ if (my ($s) = cat_("/proc/cmdline") =~ /brltty=(\S*)/) {
+ my ($driver, $device, $table) = split(',', $s);
+ $table = "text.$table.tbl" if $table !~ /\.tbl$/;
+ log::l("brltty option $driver $device $table");
+ $o->{brltty} = { driver => $driver, device => $device, table => $table };
+ $o->{interactive} = 'curses';
+ $o->{nomouseprobe} = 1;
+ }
+}
+
+sub init_brltty() {
+ symlink "/tmp/stage2/$_", $_ foreach "/etc/brltty";
+ devices::make($_) foreach $o->{brltty}{device};
+ run_program::run("brltty");
+}
+
+sub init_auto_install() {
+ if ($::auto_install =~ /-IP(\.pl)?$/) {
+ my ($ip) = cat_('/tmp/stage1.log') =~ /configuring device (?!lo)\S+ ip: (\S+)/;
+ my $normalized_ip = join('', map { sprintf "%02X", $_ } split('\.', $ip));
+ $::auto_install =~ s/-IP(\.pl)?$/-$normalized_ip$1/;
+ }
+ require install::steps_auto_install;
+ eval { $o = $::o = install::any::loadO($o, $::auto_install) };
+ if ($@) {
+ if ($o->{useless_thing_accepted}) { #- Pixel's hack to be able to fail through
+ log::l("error using auto_install, continuing");
+ undef $::auto_install;
+ } else {
+ install::steps_auto_install_non_interactive::errorInStep($o, "Error using auto_install\n" . formatError($@));
+ }
+ } else {
+ log::l("auto install config file loaded successfully");
+
+ #- normalize for people not using our special scheme
+ foreach (@{$o->{manualFstab} || []}) {
+ $_->{device} =~ s!^/dev/!!;
+ }
+ }
+}
+
+sub step_init {
+ my ($o) = @_;
+ my $o_;
+ while (1) {
+ $o_ = $::auto_install ?
+ install::steps_auto_install->new($o) :
+ $o->{interactive} eq "stdio" ?
+ install::steps_stdio->new($o) :
+ $o->{interactive} eq "curses" ?
+ install::steps_curses->new($o) :
+ $o->{interactive} eq "gtk" ?
+ install::steps_gtk->new($o) :
+ die "unknown install type";
+ $o_ and last;
+
+ log::l("$o->{interactive} failed, trying again with curses");
+ $o->{interactive} = "curses";
+ require install::steps_curses;
+ }
+ $o;
+}
+
+sub read_product_id() {
+ my $product_id = cat__(install::any::getFile_($o->{stage2_phys_medium}, "product.id"));
+ log::l('product_id: ' . chomp_($product_id));
+ $o->{product_id} = common::parse_LDAP_namespace_structure($product_id);
+
+ $o->{meta_class} ||= {
+ One => 'desktop',
+ Free => 'download',
+ Powerpack => 'powerpack',
+ }->{$o->{product_id}{product}} || 'download';
+}
+
+sub sig_segv_handler() {
+ my $msg = "segmentation fault: install crashed (maybe memory is missing?)\n" . backtrace();
+ log::l("$msg\n");
+ # perl_checker: require UNIVERSAL
+ UNIVERSAL::can($o, 'ask_warn') and $o->ask_warn('', $msg);
+ setVirtual(1);
+ require install::steps_auto_install;
+ install::steps_auto_install_non_interactive::errorInStep($o, $msg);
+}
+
+=item read_stage1_net_conf() {
+
+Reads back netork configuration done by stage1 (see L<stages>).
+
+=cut
+
+sub read_stage1_net_conf() {
+ require network::network;
+ #- get stage1 network configuration if any.
+ log::l('found /tmp/network');
+ add2hash($o->{net}{network} ||= {}, network::network::read_conf('/tmp/network'));
+ if (my ($file) = grep { -f $_ } glob_('/tmp/ifcfg-*')) {
+ log::l("found network config file $file");
+ my $l = network::network::read_interface_conf($file);
+ $o->{net}{ifcfg}{$l->{DEVICE}} ||= $l;
+ }
+ my $dsl_device = find { $_->{BOOTPROTO} eq 'adsl_pppoe' } values %{$o->{net}{ifcfg}};
+ if ($dsl_device) {
+ $o->{net}{type} = 'adsl';
+ $o->{net}{net_interface} = $dsl_device->{DEVICE};
+ $o->{net}{adsl} = {
+ method => 'pppoe',
+ device => $dsl_device->{DEVICE},
+ ethernet_device => $dsl_device->{DEVICE},
+ login => $dsl_device->{USER},
+ password => $dsl_device->{PASS},
+ };
+ %$dsl_device = ();
+ } else {
+ $o->{net}{type} = 'lan';
+ $o->{net}{net_interface} = first(values %{$o->{net}{ifcfg}});
+ }
+}
+
+=item parse_args($cfg, $patch)
+
+Parse arguments (which came from either the boot loader command line or its configuration file).
+
+=cut
+
+sub parse_args {
+ my ($cfg, $patch);
+ my @cmdline = (@_, map { "--$_" } split ' ', cat_("/proc/cmdline"));
+
+ #- from stage1
+ put_in_hash(\%ENV, { getVarsFromSh('/tmp/env') });
+ exists $ENV{$_} and push @cmdline, sprintf("--%s=%s", lc($_), $ENV{$_}) foreach qw(METHOD PCMCIA KICKSTART);
+
+ GetOptionsFromArray(\@cmdline,
+ $o, # must be 2nd parameter (see http://perldoc.perl.org/Getopt/Long.html#Storing-options-values-in-a-hash)
+ 'keyboard=s' => sub { $o->{keyboard} = $_[1]; push @::auto_steps, 'selectKeyboard' },
+ 'lang=s',
+ 'flang=s' => sub { $o->{lang} = $_[1]; push @::auto_steps, 'selectLanguage' },
+ 'langs=s' => sub { $o->{locale}{langs} = +{ map { $_ => 1 } split(':', $_[1]) } },
+ 'method=s',
+ 'pcmcia=s',
+ 'step=s' => \$o->{steps}{first},
+ 'meta_class=s',
+ 'freedriver=s',
+
+ # fs/block options:
+ no_bad_drives => \$o->{partitioning}{no_bad_drives},
+ nodmraid => \$o->{partitioning}{nodmraid},
+ 'readonly=s' => sub { $o->{partitioning}{readonly} = $_[1] ne "0" },
+ 'use_uuid=s' => sub { $::no_uuid_by_default = !$_[1] },
+
+ # urpmi options:
+ 'debug_urpmi',
+ 'deploops',
+ 'justdb',
+ 'tune-rpm' => sub { $o->{'tune-rpm'} = 'all' },
+ 'downloader=s' => sub { $o->{options}{downloader} = $_[1] },
+
+ # GUI options:
+ 'vga16=s',
+ 'vga=s' => sub { $o->{vga} = $_[1] =~ /0x/ ? hex($_[1]) : $_[1] },
+ 'display=s',
+ askdisplay => sub { print "Please enter the X11 display to perform the install on ? "; $o->{display} = chomp_(scalar(<STDIN>)) },
+ 'newt|text' => sub { $o->{interactive} = "curses" },
+ stdio => sub { $o->{interactive} = "stdio" },
+ 'simple_themes',
+ 'theme=s',
+ 'doc', #- will be used to know that we're running for the doc team,
+ #- e.g. we want screenshots with a good B&W contrast
+
+ 'security=s',
+
+ # auto install options:
+ noauto => \$::noauto,
+ testing => \$::testing,
+ patch => \$patch,
+ 'defcfg=s' => \$cfg,
+ 'auto_install|kickstart=s' => \$::auto_install,
+
+ local_install => \$::local_install,
+ uml_install => sub { $::uml_install = $::local_install = 1 },
+
+ # debugging options:
+ 'useless_thing_accepted',
+ alawindows => sub { $o->{security} = 0; $o->{partitioning}{clearall} = 1; $o->{bootloader}{crushMbr} = 1 },
+ fdisk => \$o->{partitioning}{fdisk},
+ 'nomouseprobe=s',
+ 'updatemodules',
+
+ 'suppl=s' => \$o->{supplmedia},
+ 'askmedia',
+ restore => \$::isRestore,
+ 'compssListLevel=s' # case is important!
+ );
+
+ ($cfg, $patch);
+}
+
+sub init_env_share() {
+ if ($::testing) {
+ $ENV{SHARE_PATH} ||= "/export/install/stage2/live/usr/share";
+ $ENV{SHARE_PATH} = "/usr/share" if !-e $ENV{SHARE_PATH};
+ } else {
+ $ENV{SHARE_PATH} ||= "/usr/share";
+ }
+}
+
+sub init_path() {
+ #- make sure we do not pick up any gunk from the outside world
+ my $remote_path = "$::prefix/sbin:$::prefix/bin:$::prefix/usr/sbin:$::prefix/usr/bin";
+ $ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:$remote_path";
+}
+
+sub init_mouse() {
+ eval { $o->{mouse} = mouse::detect($o->{modules_conf}) } if !$o->{mouse} && !$o->{nomouseprobe};
+ mouse::load_modules($o->{mouse});
+}
+
+sub init_modules_conf() {
+ list_modules::load_default_moddeps();
+ require modules::any_conf;
+ require modules::modules_conf;
+ # read back config from stage1:
+ $o->{modules_conf} = modules::modules_conf::read(modules::any_conf::vnew(), '/tmp/modules.conf');
+ modules::read_already_loaded($o->{modules_conf});
+}
+
+sub process_auto_steps() {
+ foreach (@::auto_steps) {
+ if (my $s = $o->{steps}{/::(.*)/ ? $1 : $_}) {
+ $s->{auto} = $s->{hidden} = 1;
+ } else {
+ log::l("ERROR: unknown step $_ in auto_steps");
+ }
+ }
+}
+
+=item process_patch($cfg, $patch)
+
+Handle installer live patches:
+
+=over 4
+
+=item * OEM patch (C<install/patch-oem.pl>)
+
+=item * defcfg (the file indicated by the defcfg option)
+
+=item * patch (C<patch> file)
+
+=back
+
+=cut
+
+sub process_patch {
+ my ($cfg, $patch) = @_;
+ #- oem patch should be read before to still allow patch or defcfg.
+ eval { $o = $::o = install::any::loadO($o, "install/patch-oem.pl"); log::l("successfully read oem patch") };
+ #- patch should be read after defcfg in order to take precedence.
+ eval { $o = $::o = install::any::loadO($o, $cfg); log::l("successfully read default configuration: $cfg") } if $cfg;
+ eval { $o = $::o = install::any::loadO($o, "patch"); log::l("successfully read patch") } if $patch;
+}
+
+#-######################################################################################
+
+=item main()
+
+This is the main function, the installer entry point called by runinstall2:
+
+=over 4
+
+=item * initialization
+
+=item * steps
+
+=back
+
+=cut
+#-######################################################################################
+sub main {
+ $SIG{SEGV} = \&sig_segv_handler;
+ $ENV{PERL_BADLANG} = 1;
+ delete $ENV{TERMINFO};
+ umask 022;
+
+ $::isWizard = 1;
+ $::no_ugtk_init = 1;
+
+ push @::textdomains, 'DrakX', 'drakx-net', 'drakx-kbd-mouse-x11';
+
+ my ($cfg, $patch) = parse_args(@_);
+
+ init_env_share();
+
+ undef $::auto_install if $cfg;
+
+ $o->{stage2_phys_medium} = install::media::stage2_phys_medium($o->{method});
+
+ if (-e '/tmp/media/DATE.txt') {
+ my @mount_entry = grep { m,/tmp/media, } cat_('/proc/mounts');
+ my @mount_fields = split(/ /, $mount_entry[0]);
+ log::l(run_program::get_stdout('blkid', '-s', 'LABEL', $mount_fields[0]));
+ log::l('ISO date: ' . cat_('/tmp/media/DATE.txt'));
+ }
+
+ install::any::log_system_info($o);
+
+ eval { touch('/root/non-chrooted-marker.DrakX') }; #- helps distinguishing /root and /mnt/root when we don't know if we are chrooted
+
+ if ($::local_install) {
+ init_local_install($o);
+ } else {
+ start_udev();
+ # load some modules early but asynchronously:
+ run_program::raw({ detach => 1 }, 'modprobe', 'microcode');
+ }
+
+ $o->{prefix} = $::prefix = $::testing ? "/tmp/test-perl-install" : "/mnt";
+ mkdir $::prefix, 0755 if ! -d $::prefix;
+
+ init_path();
+
+ eval { install::any::spawnShell() };
+
+ init_modules_conf();
+
+ #- done before auto_install is called to allow the -IP feature on auto_install file name
+ read_stage1_net_conf() if -e '/tmp/network';
+
+ #- done after module dependencies are loaded for "vfat depends on fat"
+ if ($::auto_install) {
+ init_auto_install();
+ } else {
+ $o->{interactive} ||= 'gtk';
+ }
+
+ if ($o->{interactive} eq "gtk" && availableMemory() < 22 * 1024) {
+ log::l("switching to curses install cuz not enough memory");
+ $o->{interactive} = "curses";
+ }
+
+ pre_init_brltty();
+
+ # perl_checker: require install::steps_gtk
+ # perl_checker: require install::steps_curses
+ # perl_checker: require install::steps_stdio
+ require "install/steps_$o->{interactive}.pm" if $o->{interactive};
+
+ # psmouse is now modular:
+ eval { modules::load("psmouse") };
+
+ #- FIXME loading evdev should prevent crash of following line
+ eval { modules::load("evdev") };
+
+ #- needed before accessing floppy (in case of usb floppy)
+ modules::load_category($o->{modules_conf}, 'bus/usb');
+
+ process_patch($cfg, $patch);
+
+ eval { modules::load("af_packet") };
+
+ require harddrake::sound;
+ harddrake::sound::configure_sound_slots($o->{modules_conf});
+
+ #- need to be after oo-izing $o
+ init_brltty() if $o->{brltty};
+
+ #- needed very early for install::steps_gtk
+ init_mouse() if !$::testing;
+
+ #- for auto_install compatibility with old $o->{lang},
+ #- and also for --lang and --flang
+ if ($o->{lang}) {
+ put_in_hash($o->{locale}, lang::lang_to_ourlocale($o->{lang}));
+ }
+ lang::set($o->{locale});
+
+ # keep the result otherwise monitor-edid does not return good results afterwards
+ eval { any::monitor_full_edid() };
+
+ $o->{allowFB} = listlength(cat_("/proc/fb"));
+
+ read_product_id() if !$::testing;
+
+ log::l("META_CLASS=$o->{meta_class}");
+
+ process_auto_steps();
+
+ $ENV{COLUMNS} ||= 80;
+ $ENV{LINES} ||= 25;
+ $::o = $o = step_init($o);
+
+ eval { output('/proc/splash', "verbose\n") };
+
+ real_main();
+ finish_install();
+}
+
+=item real_main() {
+
+Go through the steps cycle
+
+=cut
+
+sub real_main() {
+ MAIN: for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep($o)) {
+ $o->{steps}{$o->{step}}{entered}++;
+ $o->enteringStep($o->{step});
+ my $time = time();
+ eval {
+ &{$install::install2::{$o->{step}}}($o->{steps}{$o->{step}}{auto});
+ };
+ my $err = $@;
+ log::l("step \"$o->{step}\" took: ", formatTimeRaw(time() - $time));
+ $o->kill_action;
+ if ($err) {
+ log::l("step \"$o->{step}\" failed with error: $err");
+ local $_ = $err;
+ $o->kill_action;
+ if (!/^already displayed/) {
+ eval { $o->errorInStep($_) };
+ $o->{steps}{$o->{step}}{auto} = 0;
+ $err = $@;
+ $err and next;
+ }
+ $o->{step} = $o->{steps}{$o->{step}}{onError};
+ next MAIN unless $o->{steps}{$o->{step}}{reachable}; #- sanity check: avoid a step not reachable on error.
+ redo MAIN;
+ }
+ $o->{steps}{$o->{step}}{done} = 1;
+ $o->leavingStep($o->{step});
+
+ last if $o->{step} eq 'exitInstall';
+ }
+}
+
+=item finish_install() {
+
+Clean up the installer before the final reboot.
+
+=cut
+
+sub finish_install() {
+ unlink $install::any::compressed_image_on_disk;
+ install::media::clean_postinstall_rpms();
+ install::media::log_sizes();
+ install::any::remove_advertising();
+ install::any::write_fstab($o);
+ $o->{modules_conf}->write;
+ detect_devices::install_addons($::prefix);
+
+ install::any::adjust_files_mtime_to_timezone();
+
+ #- make sure failed upgrade will not hurt too much.
+ install::steps::cleanIfFailedUpgrade($o);
+
+ #- drop urpmi DB if urpmi is not installed:
+ -e "$::prefix/usr/sbin/urpmi" or eval { rm_rf("$::prefix/var/lib/urpmi") };
+
+ system("chroot", $::prefix, "bash", "-c", $o->{postInstallBeforeReboot}) if $o->{postInstallBeforeReboot};
+
+ #- copy latest log files
+ eval { cp_af("/tmp/$_", "$::prefix/root/drakx") foreach qw(ddebug.log stage1.log) };
+
+ #- ala pixel? :-) [fpons]
+ common::sync(); common::sync();
+
+ stop_udev() if !$::local_install;
+ log::l("installation complete, leaving");
+ log::l("files still open by install2: ", readlink($_)) foreach glob_("/proc/self/fd/*");
+ print "\n" x 80 if !$::local_install;
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/install/interactive.pm b/perl-install/install/interactive.pm
new file mode 100644
index 000000000..7faa7bdd8
--- /dev/null
+++ b/perl-install/install/interactive.pm
@@ -0,0 +1,33 @@
+package install::interactive;
+
+use diagnostics;
+use strict;
+
+use common;
+use detect_devices;
+use install::steps;
+use log;
+
+
+sub tellAboutProprietaryModules {
+ my ($o) = @_;
+ my @l = detect_devices::probe_name('Bad') or return;
+ $o->ask_warn('', formatAlaTeX(
+N("Some hardware on your computer needs ``proprietary'' drivers to work.
+You can find some information about them at: %s", join(", ", @l))));
+}
+
+sub upNetwork {
+ my ($o, $b_pppAvoided) = @_;
+ my $_w = $o->wait_message('', N("Bringing up the network"));
+ install::steps::upNetwork($o, $b_pppAvoided);
+}
+sub downNetwork {
+ my ($o, $b_pppOnly) = @_;
+ my $_w = $o->wait_message('', N("Bringing down the network"));
+ install::steps::downNetwork($o, $b_pppOnly);
+}
+
+
+
+1;
diff --git a/perl-install/install/media.pm b/perl-install/install/media.pm
new file mode 100644
index 000000000..149deffc3
--- /dev/null
+++ b/perl-install/install/media.pm
@@ -0,0 +1,907 @@
+package install::media;
+
+use strict;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(getFile_ getAndSaveFile_ getAndSaveFile_media_info packageMedium);
+
+use common;
+use Data::Dumper;
+# Make sure report.bug are more easily comparable:
+$Data::Dumper::Sortkeys = 1;
+use fs::type;
+use urpm::download;
+use urpm::media;
+
+#- list of fields for {phys_medium} :
+#- device
+#- fs_type
+#- is_suppl (is a supplementary media)
+#- isMounted
+#- loopback_device
+#- loopback_file
+#- method
+#- mntpoint
+#- name (text description, same as first medium {name})
+#- real_mntpoint
+#- rel_path (for isofiles and cdrom)
+#- url
+
+#- list of fields for {media} :
+#- end (last rpm id, undefined if not selected)
+#- fakemedium ("$name ($rpmsdir)", used locally by urpmi)
+#- rel_hdlist
+#- key-ids
+#- name (text description)
+#- pubkey (array containing all the keys to import)
+#- phys_medium
+#- rpmsdir
+#- ignore
+#- size (in MB)
+#- start (first rpm id, undefined if ignored)
+#- update (for install_urpmi)
+
+
+our $postinstall_rpms = '';
+my %mounted_media;
+
+sub allMediums {
+ my ($packages) = @_;
+
+ @{$packages->{media}};
+}
+
+sub _phys_media {
+ my ($packages) = @_;
+
+ uniq(map { $_->{phys_medium} } @{$packages->{media}});
+}
+
+sub packageMedium {
+ my ($packages, $p) = @_;
+ URPM::pkg2media($packages->{media}, $p) || {};
+}
+
+sub packagesOfMedium {
+ my ($packages, $medium) = @_;
+
+ @{$packages->{depslist}}[$medium->{start} .. $medium->{end}];
+}
+
+sub first_medium {
+ my ($packages) = @_;
+ $packages->{media}[0];
+}
+
+sub path {
+ my ($phys_m, $f) = @_;
+
+ ($phys_m->{real_mntpoint} || fs::get::mntpoint_prefixed($phys_m)) . $phys_m->{rel_path} . '/' . $f;
+}
+
+sub umount_phys_medium {
+ my ($phys_m) = @_;
+
+ my $ok = eval {
+ fs::mount::umount_part($phys_m);
+ delete $phys_m->{real_mntpoint}; #- next time, we can mount it in the dest dir
+ 1;
+ };
+ if ($@) {
+ log::l("umount phys_medium $phys_m->{url} failed ($@)");
+ log::l("files still open: ", readlink($_)) foreach map { glob_("$_/fd/*") } glob_("/proc/*");
+ }
+ $ok;
+}
+
+sub _mount_phys_medium {
+ my ($phys_m, $o_rel_file, $b_force_change) = @_;
+
+ if (!$b_force_change) {
+ eval { fs::mount::part($phys_m) };
+ return if $@;
+ }
+ my $ok = !$o_rel_file || -e path($phys_m, $o_rel_file);
+
+ if ($phys_m->{method} eq 'cdrom' && ($b_force_change || !$ok)) {
+ $ok = $::o->ask_change_cd($phys_m, $o_rel_file);
+ }
+ $ok;
+}
+
+sub umount_media {
+ my ($packages) = @_;
+
+ #- we don't bother umounting first phys medium if clp is not on disk
+ #- (this is mainly for nfs installs using install/stage2/live)
+ my @l = _phys_media($packages);
+ shift @l if !$install::any::compressed_image_on_disk && $l[0]{is_stage2_phys_medium};
+
+ umount_phys_medium($_) foreach @l;
+ umount_phys_medium($_) foreach grep { $_ } map { $_->{loopback_device} } @l;
+}
+
+sub phys_medium_to_string {
+ my ($phys_m) = @_;
+ urpm::download::url_obscuring_password($phys_m->{url}) . ($phys_m->{name} ? " ($phys_m->{name})" : '');
+}
+
+sub _stage2_mounted_medium {
+ my ($method, $rel_path) = @_;
+
+ my ($device, $real_mntpoint, $fs_type, $url);
+ if ($method eq 'nfs') {
+ (my $server, my $nfs_path, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!(\S+):(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $device = "$server:$nfs_path";
+ $url = "nfs://$server$nfs_path$rel_path";
+ } elsif ($method eq 'disk') {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!/dev/(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "disk://$device$rel_path";
+ } elsif ($method eq 'cdrom') {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!/dev/(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "cdrom:/" . ($rel_path || '/');
+ } else {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!(?:/dev/)?(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "file:/" . ($rel_path || '/');
+ }
+ $real_mntpoint or internal_error("no real_mntpoint");
+ +{
+ method => $method, rel_path => $rel_path, isMounted => 1,
+ device => $device, url => $url,
+ real_mntpoint => $real_mntpoint, fs_type => $fs_type,
+ };
+}
+
+#- used once at beginning of install
+sub stage2_phys_medium {
+ my ($method) = @_;
+
+ if ($method eq 'ftp' && !$ENV{URLPREFIX}) {
+ my $user = $ENV{LOGIN} && ($ENV{LOGIN} . ($ENV{PASSWORD} && ":$ENV{PASSWORD}") . '@');
+ $ENV{URLPREFIX} = "ftp://$user$ENV{HOST}/$ENV{PREFIX}";
+ }
+ if (member($method, qw(http ftp))) {
+ { method => $method, url => $ENV{URLPREFIX} };
+ } elsif ($method =~ /(.*)-iso$/) {
+ my $dir_method = $1;
+ my $rel_path = readlink('/tmp/image') =~ m!loop/*(/.*)! ? $1 : '';
+
+ my $rel_iso = $ENV{ISOPATH} =~ m!media/*(/.*)! ? $1 : '';
+ my ($dir_url, $iso) = (dirname($rel_iso), basename($rel_iso));
+
+ my $dir_medium = _stage2_mounted_medium($dir_method, $dir_url eq '/' ? '' : $dir_url);
+ my $phys_m = _iso_phys_media($dir_medium, $iso, '');
+ $phys_m->{real_mntpoint} = '/tmp/loop';
+ $phys_m->{real_device} = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+/tmp/loop\s! && $1;
+ $phys_m->{isMounted} = 1;
+ $phys_m->{rel_path} = $rel_path;
+ $phys_m;
+ } else {
+ my $rel_path = readlink('/tmp/image') =~ m!media/*(/.*)! ? $1 : '';
+ _stage2_mounted_medium($method, $rel_path);
+ }
+}
+
+#- return true if the medium is available
+#- ($o_rel_file is only used for removable media)
+sub change_phys_medium {
+ my ($phys_m, $o_rel_file, $o_packages) = @_;
+
+ undef $o_rel_file if $phys_m->{unknown_CD}; #- don't take into account the wanted file
+
+ log::l("change_phys_medium " . phys_medium_to_string($phys_m) .
+ ($o_rel_file ? " for file $o_rel_file" : ''));
+
+ !$phys_m->{isMounted} && $phys_m->{mntpoint} or return 1; #- nothing to do in such case.
+
+ #- if a cdrom was mounted and we want another one, do not try to mount cdrom just after umounting it
+ my $force_change = $phys_m->{method} eq 'cdrom' && $mounted_media{cdrom};
+
+ if (my $current = $mounted_media{$phys_m->{method}}) {
+ _setup_postinstall_rpms($::o, $o_packages, $current) if $o_packages && $phys_m->{method} eq 'cdrom' && $::o->isa('interactive');
+ umount_phys_medium($current) or return;
+ delete $mounted_media{$phys_m->{method}};
+ }
+ _mount_phys_medium($phys_m, $o_rel_file, $force_change) or return;
+ _phys_medium_is_mounted($phys_m);
+ 1;
+}
+
+sub _phys_medium_is_mounted {
+ my ($phys_m) = @_;
+ if (member($phys_m->{method}, 'cdrom', 'iso')) {
+ #- we can't have more than one cdrom mounted at once
+ #- we limit the number of iso files mounted at once
+ $mounted_media{$phys_m->{method}} = $phys_m;
+ }
+}
+
+sub _associate_phys_media {
+ my ($all_hds, $main_phys_medium, $hdlists) = @_;
+
+ my ($main_name, @other_names) = uniq(map { $_->{name} } @$hdlists);
+
+ my @other_phys_media =
+ $main_phys_medium->{method} eq 'iso' ?
+ _get_phys_media_iso($all_hds, $main_phys_medium, \@other_names) :
+ $main_phys_medium->{method} eq 'cdrom' ?
+ (map { _get_phys_media_cdrom($main_phys_medium, $_) } @other_names) :
+ ();
+
+ if (@other_phys_media) {
+ $main_phys_medium->{name} = $main_name;
+
+ my @phys_media = ($main_phys_medium, @other_phys_media);
+
+ foreach my $medium (@$hdlists) {
+ if (my $phys_m = find { $_->{name} eq $medium->{name} } @phys_media) {
+ $medium->{phys_medium} and log::l("$medium->{name} has already phys_medium $medium->{phys_medium}{url}");
+ log::l("setting medium $medium->{name} phys_medium to $phys_m->{url}");
+ $medium->{phys_medium} = $phys_m;
+ } else {
+ $medium->{ignore} = 1;
+ log::l("deselecting missing medium $medium->{rpmsdir}");
+ }
+ }
+ } else {
+ foreach my $medium (@$hdlists) {
+ $medium->{phys_medium} = $main_phys_medium;
+ }
+ }
+}
+
+sub _get_phys_media_cdrom {
+ my ($main_phys_m, $name) = @_;
+
+ #- exactly the same as $main_phys_m, but for {name}, {isMounted} and {real_mntpoint}
+ +{ %$main_phys_m, name => $name, isMounted => 0, real_mntpoint => undef };
+}
+
+sub _iso_phys_media {
+ my ($dir_medium, $iso, $rel_path) = @_;
+
+ my $mntpoint = "/mnt/$iso";
+ $mntpoint =~ s/\.iso$//; #- make the mount point a little nicer
+
+ my $rel_file = $dir_medium->{rel_path} . "/$iso";
+
+ +{
+ url => $dir_medium->{url} . "/$iso", #- only used for printing
+ method => 'iso',
+ fs_type => 'iso9660', options => 'noauto,loop',
+ loopback_device => $dir_medium, loopback_file => $rel_file,
+ device => ($dir_medium->{real_mntpoint} || $::prefix . $dir_medium->{mntpoint}) . $rel_file,
+ mntpoint => $mntpoint, rel_path => $rel_path,
+ };
+}
+
+sub _get_phys_media_iso {
+ my ($all_hds, $main_phys_m, $names) = @_;
+
+ my @ISOs = grep { member($_->{app_id}, @$names) } _look_for_ISO_images($main_phys_m->{device});
+
+ map {
+ my $m = _iso_phys_media($main_phys_m->{loopback_device}, $_->{file}, $main_phys_m->{rel_path});
+ $m->{name} = $_->{app_id};
+ push @{$all_hds->{loopbacks}}, $m;
+ $m;
+ } @ISOs;
+}
+
+sub _look_for_ISO_images {
+ my ($main_iso) = @_;
+
+ my $iso_dir = dirname($main_iso);
+
+ my @media = map {
+ if (sysopen(my $F, "$iso_dir/$_", 0)) {
+ my ($vol_id, $app_id) = c::get_iso_volume_ids(fileno $F);
+ #- the ISO volume names must end in -CD\d+ if they belong (!) to a set
+ #- otherwise use the full volume name as CD set identifier
+ my $cd_set = $vol_id =~ /^(.*)-(disc|cd|dvd)\d+$/i ? $1 : $vol_id;
+
+ log::l("found ISO: file=$_ cd_set=$cd_set app_id=$app_id");
+ { cd_set => $cd_set, app_id => $app_id, file => $_ };
+ } else {
+ ();
+ }
+ } grep { /\.iso$/ } all($iso_dir);
+
+ my $main = find { basename($main_iso) eq $_->{file} } @media or return;
+
+ grep { $_->{cd_set} eq $main->{cd_set} } @media;
+}
+
+
+sub _getFile_media_info {
+ my ($packages, $f) = @_;
+ getFile_(first_medium($packages)->{phys_medium}, $f);
+}
+
+sub _open_file_and_size {
+ my ($f) = @_;
+ my $size = -s $f;
+ my $fh = common::open_file($f) or return;
+ $size, $fh;
+}
+
+sub getFile_ {
+ my ($phys_m, $f) = @_;
+ log::l("getFile $f on " . phys_medium_to_string($phys_m) . "");
+
+ my ($_size, $fh) = get_file_and_size($phys_m, $f) or return;
+ $fh;
+}
+
+sub get_file_and_size {
+ my ($phys_m, $f) = @_;
+
+ if ($f =~ m|^https?://|) {
+ require install::http;
+ install::http::get_file_and_size($f);
+ } elsif (member($phys_m->{method}, qw(ftp http https))) {
+ require install::http;
+ install::http::get_file_and_size_($f, $phys_m->{url});
+ } elsif ($f =~ m!^/!) {
+ _open_file_and_size($f);
+ } elsif ($postinstall_rpms && -e "$postinstall_rpms/$f") {
+ _open_file_and_size("$postinstall_rpms/$f");
+ } else {
+ my $f2 = path($phys_m, $f);
+
+ if (! -f $f2) {
+ change_phys_medium($phys_m, $f, $::o->{packages});
+ }
+ _open_file_and_size($f2);
+ }
+}
+
+sub getAndSaveFile_ {
+ my ($phys_m, $file, $local) = @_;
+ my $fh = getFile_($phys_m, $file) or return;
+ _getAndSaveFile_raw($fh, $local);
+}
+
+sub _getAndSaveFile_progress {
+ my ($in_wait, $msg, $phys_m, $file, $local) = @_;
+ my ($size, $fh) = get_file_and_size($phys_m, $file) or return;
+ if ($size) {
+ _getAndSaveFile_progress_raw($in_wait, $msg, $size, $fh, $local);
+ } else {
+ _getAndSaveFile_raw($fh, $local);
+ }
+}
+
+sub _getAndSaveFile_raw {
+ my ($fh, $local) = @_;
+
+ local $/ = \ (16 * 1024);
+ unlink $local;
+ open(my $F, ">$local") or log::l("getAndSaveFile(opening $local): $!"), return;
+ local $_;
+ while (<$fh>) { syswrite($F, $_) or unlink($local), die("getAndSaveFile($local): $!") }
+ 1;
+}
+
+sub _getAndSaveFile_progress_raw {
+ my ($in_wait, $msg, $size, $fh, $local) = @_;
+
+ unlink $local;
+ open(my $out, ">$local") or log::l("getAndSaveFile(opening $local): $!"), return;
+ _print_with_progress($in_wait, $msg, $size, $fh, $out) or unlink($local), die("getAndSaveFile($local): $!");
+}
+
+sub _print_with_progress {
+ my ($in_wait, $msg, $size, $in, $out) = @_;
+
+ my ($_wait, $wait_message) = $in_wait->wait_message_with_progress_bar(N("Please wait, retrieving file"));
+ $wait_message->($msg);
+
+ my $current = 0;
+
+ require Time::HiRes;
+ my $time = Time::HiRes::time();
+
+ local $/ = \ (64 * 1024);
+ while (my $s = <$in>) {
+ syswrite($out, $s) or return;
+
+ $current += length($s);
+ if (Time::HiRes::time() > $time + 0.1) {
+ $wait_message->('', $current, $size);
+ $time = Time::HiRes::time();
+ }
+ }
+ 1;
+}
+
+sub urpmidir() {
+ my $v = "$::prefix/var/lib/urpmi";
+ -l $v && !-e $v and unlink $v and mkdir $v, 0755; #- dangling symlink
+ -w $v ? $v : '/tmp';
+}
+
+sub _allow_copy_rpms_on_disk {
+ my ($medium, $hdlists) = @_;
+
+ $medium->{device} && $medium->{method} ne 'iso' or return;
+
+ #- check available size for copying rpms from infos in media.cfg file
+ my $totalsize = sum(map { $_->{size} } @$hdlists) || -1; #- don't check size, total medium size unknown
+
+ if ($totalsize >= 0) {
+ my $availvar = fs::any::getAvailableSpace_mounted("$::prefix/var");
+ $availvar /= 1024 * 1024; #- Mo
+ log::l("totalsize=$totalsize, avail on $::prefix/var=$availvar");
+ $totalsize < $availvar * 0.6;
+ } else {
+ #- we hope it will fit...
+ 1;
+ }
+}
+
+sub _parse_media_cfg {
+ my ($cfg) = @_;
+
+ require MDV::Distribconf;
+ my $d = MDV::Distribconf->new('', undef);
+ $d->parse_mediacfg($cfg);
+
+ my $distribconf = { map { $_ => $d->getvalue(undef, $_) } 'suppl', 'askmedia' };
+ my @hdlists = map {
+ my ($size) = $d->getvalue($_, 'size') =~ /(\d+)MB?/i;
+ my $name = $d->getvalue($_, 'name');
+ $name =~ s/^"(.*)"$/$1/;
+ {
+ rpmsdir => $_,
+ rel_hdlist => 'media_info/' . $d->getvalue($_, 'hdlist'),
+ name => $name,
+ size => $size,
+ selected => !$d->getvalue($_, 'noauto'),
+ update => $d->getvalue($_, 'updates_for') ? 1 : undef,
+ };
+ } $d->listmedia;
+
+ $distribconf, \@hdlists;
+}
+
+sub select_only_some_media {
+ my ($media_list, $selected_names) = @_;
+ my @names = split(',', $selected_names);
+ foreach my $m (@$media_list) {
+ my $bool = !member($m->{name}, @names);
+ # workaround urpmi transforming "ignore => ''" or "ignore => 0" into "ignore => 1":
+ undef $bool if !$bool;
+ log::l("disabling '$m->{name}' medium: " . to_bool($bool));
+ urpm::media::_tempignore($m, $bool);
+ # make sure we update un-ignored media (eg: */Testing and the like):
+ $m->{modified} = 1 if !$bool;
+ }
+}
+
+sub update_media {
+ my ($packages) = @_;
+ urpm::media::update_media($packages, distrib => 1, callback => \&urpm::download::sync_logger) or
+ log::l('updating media failed');
+}
+
+sub get_media {
+ my ($o, $media, $packages) = @_;
+
+ my ($suppl_CDs, $copy_rpms_on_disk, $phys_m);
+ foreach (@$media) {
+ if ($_->{type} eq 'media_cfg') {
+ $phys_m = url2mounted_phys_medium($o, $_->{url}, 'media_info');
+ local $phys_m->{is_suppl} = $_->{url} ne "drakx://media"; # so that _get_media_url() works
+ ($suppl_CDs, $copy_rpms_on_disk) = get_media_cfg($o, $phys_m, $packages, $_->{selected_names}, $_->{force_rpmsrate});
+ } elsif ($_->{type} eq 'media') {
+ $phys_m = url2mounted_phys_medium($o, $_->{url});
+ get_standalone_medium($o, $phys_m, $packages, { name => $_->{id} =~ /media=(.*)/ && $1 });
+ } elsif ($_->{type} eq 'media_cfg_isos') {
+ my ($dir_url, $iso, $rel_path) = $_->{url} =~ m!(.*)/(.*\.iso):(/.*)! or die "bad media_cfg_isos url $_->{url}";
+ my $dir_medium = url2mounted_phys_medium($o, $dir_url);
+ $dir_medium->{options} =~ s/\bnoauto\b,?//;
+ $phys_m = _iso_phys_media($dir_medium, $iso, $rel_path);
+ push @{$o->{all_hds}{loopbacks}}, $phys_m;
+ ($suppl_CDs, $copy_rpms_on_disk) = get_media_cfg($o, $phys_m, $packages, $_->{selected_names}, $_->{force_rpmsrate});
+ } else {
+ log::l("unknown media type $_->{type}, skipping");
+ }
+ }
+
+ log::l("suppl_CDs=$suppl_CDs copy_rpms_on_disk=$copy_rpms_on_disk");
+ $suppl_CDs, $copy_rpms_on_disk;
+}
+
+sub adjust_paths_in_urpmi_cfg {
+ my ($urpm) = @_;
+
+ require Clone;
+ local $urpm->{media} = Clone::clone($urpm->{media});
+ foreach my $medium (@{$urpm->{media}}) {
+ my $phys_m = $medium->{phys_medium};
+ if ($phys_m->{method} eq 'cdrom') {
+ $medium->{url} =~ s!^.*?/media/!$phys_m->{url}/!;
+ } elsif (member($phys_m->{method}, qw(disk nfs))) {
+ # use the real mount point:
+ if ($medium->{url} =~ m!/tmp/image(/media)?!) {
+ $medium->{url} =~ s!/tmp/image(/media)?!$phys_m->{mntpoint}$phys_m->{rel_path}!;
+ } else {
+ # just remove $::prefix and we already have the real mount point:
+ $medium->{url} =~ s!^$::prefix!!;
+ }
+ }
+ }
+ urpm::media::write_config($urpm);
+}
+
+sub remove_from_fstab {
+ my ($all_hds, $phys_m) = @_;
+
+ @{$all_hds->{nfss}} = grep { $_ != $phys_m } @{$all_hds->{nfss}} if $phys_m->{method} eq 'nfs';
+}
+
+sub _find_and_add_to_fstab {
+ my ($all_hds, $phys_m, $b_force_mount) = @_;
+
+ if (my $existant = find { $_->{device} eq $phys_m->{device} } fs::get::really_all_fstab($all_hds)) {
+ add2hash($existant, $phys_m);
+ $phys_m = $existant;
+ } else {
+ push @{$all_hds->{nfss}}, $phys_m if $phys_m->{method} eq 'nfs';
+ push @{$all_hds->{loopbacks}}, $phys_m if isLoopback($phys_m);
+ }
+
+ if (!$phys_m->{mntpoint}) {
+ my @suggestions = $phys_m->{method} eq 'nfs' ? do {
+ my ($server) = $phys_m->{device} =~ /(.*?):/;
+ $phys_m->{options} = ($b_force_mount ? '' : 'noauto,') . 'ro,nosuid,soft,rsize=8192,wsize=8192';
+ '/mnt/nfs', "/mnt/nfs_$server";
+ } : $phys_m->{method} eq 'cdrom' ?
+ ('/media/cdrom', "/media/$phys_m->{device}") :
+ ('/mnt/hd', "/mnt/$phys_m->{device}");
+
+ my $last = $suggestions[-1];
+ push @suggestions, map { "$last$_" } 2 .. 30;
+ $phys_m->{mntpoint} = find { !fs::get::has_mntpoint($_, $all_hds) } @suggestions or internal_error("no free dir available");
+ }
+ $phys_m;
+}
+
+sub url2mounted_phys_medium {
+ my ($o, $url, $o_rel_file, $o_name) = @_;
+
+ my $phys_m = _url2phys_medium($o, $url);
+ $phys_m->{name} = $o_name if $o_name; #- useful for CDs which prompts a name in change_phys_medium
+ change_phys_medium($phys_m, $o_rel_file, $o->{packages}) or return;
+ $phys_m;
+}
+
+sub _url2phys_medium {
+ my ($o, $url) = @_;
+ my ($method, $path) = $url =~ m!([^:]*)://(.*)! or internal_error("bad url $url");
+ if ($method eq 'drakx') {
+ my $m = { %{$o->{stage2_phys_medium}}, is_stage2_phys_medium => 1 };
+ if ($m->{loopback_device}) {
+ $m->{loopback_device} = _find_and_add_to_fstab($o->{all_hds}, $m->{loopback_device}, 'force_mount');
+ }
+ $m->{url} .= "/$path";
+ $m->{rel_path} .= "/$path" if $m->{device};
+ $m = _find_and_add_to_fstab($o->{all_hds}, $m) if $m->{device};
+ _phys_medium_is_mounted($m);
+ $m;
+ } elsif ($method eq 'cdrom') {
+ my $cdrom = first(detect_devices::cdroms());
+ my $m = {
+ url => $url, method => $method, fs_type => 'iso9660', device => $cdrom->{device},
+ rel_path => "/$path",
+ };
+ my $m_ = _find_and_add_to_fstab($o->{all_hds}, $m);
+ if ($m_->{name}) {
+ #- we need a new phys medium, different from current CD
+ $m_ = _get_phys_media_cdrom($m_, '');
+ #- we also need to enforce what we want, especially rel_path
+ put_in_hash($m_, $m);
+ }
+ $m_;
+ } elsif ($method eq 'nfs') {
+ my ($server, $nfs_dir) = $path =~ m!(.*?)(/.*)!;
+
+ my $m = {
+ url => $url, method => $method,
+ fs_type => 'nfs', device => "$server:$nfs_dir", faked_device => 1,
+ };
+ _find_and_add_to_fstab($o->{all_hds}, $m);
+ } else {
+ { url => $url, method => $method };
+ }
+}
+
+sub _get_media_url {
+ my ($o, $phys_medium) = @_;
+ my $uri;
+ if ($phys_medium->{is_suppl}) {
+ if (member($phys_medium->{method}, qw(ftp http https))) {
+ $uri = $phys_medium->{url};
+ $uri =~ s!/media$!!;
+ } elsif (member($phys_medium->{method}, qw(cdrom nfs))) {
+ $uri = "$::prefix/$phys_medium->{mntpoint}";
+ my $arch = arch() =~ /i.86/ ? $MDK::Common::System::compat_arch{arch()} : arch();
+ $uri .= "/$arch" if -d "$uri/$arch";
+ }
+ } else {
+ $uri = $o->{stage2_phys_medium}{url} =~ m!^(https?|ftp)://! && $o->{stage2_phys_medium}{url} ||
+ $phys_medium->{method} =~ m!^(ftp|https?)://! && $phys_medium->{method} || '/tmp/image';
+ }
+ $uri;
+ }
+
+sub get_media_cfg {
+ my ($o, $phys_medium, $packages, $selected_names, $force_rpmsrate) = @_;
+
+ my @media = @{$packages->{media}};
+
+ my ($distribconf);
+ if (getAndSaveFile_($phys_medium, 'media_info/media.cfg', '/tmp/media.cfg')) {
+ ($distribconf) = _parse_media_cfg('/tmp/media.cfg');
+ } else {
+ die "media.cfg not found";
+ }
+
+ my $suppl_CDs = defined $o->{supplmedia} ? $o->{supplmedia} : $distribconf->{suppl} || 0;
+ my $deselectionAllowed = $distribconf->{askmedia} || $o->{askmedia} || 0;
+
+ log::l(Data::Dumper->Dump([ $phys_medium ], [ 'phys_medium' ]));
+ log::l(Data::Dumper->Dump([ $o->{stage2_phys_medium} ], [ 'stage2_phys_medium' ]));
+ my $uri = _get_media_url($o, $phys_medium);
+ log::l("adding distrib media from $uri");
+
+ urpm::media::add_distrib_media($packages, undef, $uri, ask_media => undef); #allmedia => 1
+
+ my @new_media = difference2($packages->{media}, \@media);
+ _associate_phys_media($o->{all_hds}, $phys_medium, \@new_media);
+
+ select_only_some_media(\@new_media, $selected_names) if defined $selected_names;
+
+ if ($deselectionAllowed && !@{$packages->{media}}) {
+ my $allow = _allow_copy_rpms_on_disk($phys_medium, $packages->{media});
+ $o->ask_deselect_media__copy_on_disk($packages->{media}, $allow && \$o->{copy_rpms_on_disk}) if $allow || @{$packages->{media}} > 1;
+ }
+
+ log::l("get_media_cfg read " . int(@{$packages->{depslist}}) . " headers");
+
+ _get_compsUsers_pl($phys_medium, $force_rpmsrate);
+
+ $suppl_CDs, $o->{copy_rpms_on_disk};
+}
+
+sub _get_compsUsers_pl {
+ my ($phys_medium, $force_rpmsrate) = @_;
+ #- copy latest compssUsers.pl and rpmsrate somewhere locally
+ if ($force_rpmsrate || ! -e '/tmp/rpmsrate') {
+ getAndSaveFile_($phys_medium, "media_info/rpmsrate", "/tmp/rpmsrate");
+ }
+ if ($force_rpmsrate || ! -e '/tmp/compssUsers.pl') {
+ getAndSaveFile_($phys_medium, "media_info/compssUsers.pl", "/tmp/compssUsers.pl");
+ }
+}
+
+sub get_standalone_medium {
+ my ($in, $phys_m, $packages, $m) = @_;
+
+ add2hash($m, { phys_medium => $phys_m, rel_hdlist => 'media_info/hdlist.cz' });
+ local $phys_m->{is_suppl} = 1; # so that _get_media_url() works
+ _get_medium($in, $phys_m, $packages, $m);
+}
+
+sub _get_medium {
+ my ($_in_wait, $phys_m, $packages, $m) = @_;
+
+ !$m->{ignore} or log::l("ignoring packages in $m->{rel_hdlist}"), return;
+
+ my $url = _get_media_url({}, $phys_m);
+ log::l("trying '$url'\n");
+ urpm::media::add_medium($packages, $m->{name} || 'Supplementary medium', $url, 0) or $packages->{fatal}(10, N("unable to add medium"));
+}
+
+
+
+#-######################################################################################
+#- Post installation RPMS from cdrom only, functions
+#-######################################################################################
+sub _setup_postinstall_rpms {
+ my ($in, $packages, $current_phys_m) = @_;
+
+ $postinstall_rpms and return;
+ $postinstall_rpms = "$::prefix/usr/postinstall-rpm";
+
+ log::l("postinstall rpms directory set to $postinstall_rpms");
+ clean_postinstall_rpms(); #- make sure in case of previous upgrade problem.
+
+ my @toCopy;
+ {
+ #- compute closure of package that may be copied, use INSTALL category
+ #- in rpmsrate.
+ @toCopy = install::pkgs::select_by_package_names($packages, $packages->{needToCopy} || []);
+ log::l("needToCopy the following packages: " . join(' ', map { $_->name } @toCopy));
+ $packages->disable_selected($packages->{rpmdb}, $packages->{state}, @toCopy);
+ delete $packages->{rpmdb};
+ }
+
+ my $medium = find { $_->{phys_medium} == $current_phys_m } allMediums($packages);
+
+ my @l = map { path($current_phys_m, "$medium->{rpmsdir}/" . $_->filename) } @toCopy;
+
+ my ($l, $missing) = partition { -r $_ } @l;
+
+ @$missing and log::l("rpms not available: " . join(' ', @$missing));
+
+ #- copy the package files in the postinstall RPMS directory.
+ #- cp_af does not handle correctly a missing file.
+ mkdir_p("$postinstall_rpms/$medium->{rpmsdir}");
+ eval {
+ my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
+ $wait_message->(N("Copying some packages on disks for future use"));
+ install::any::cp_with_progress($wait_message, 0, int(@$l), @$l, "$postinstall_rpms/$medium->{rpmsdir}");
+ };
+ !$@ or log::l("copying to postinstall dir failed: $@");
+
+ log::l("copying Auto Install Floppy");
+ getAndSaveInstallFloppies($::o, $postinstall_rpms, 'auto_install');
+}
+
+sub getAndSaveInstallFloppies {
+ my ($o, $dest_dir, $name) = @_;
+
+ if ($postinstall_rpms && -d $postinstall_rpms && -r "$postinstall_rpms/auto_install.img") {
+ log::l("getAndSaveInstallFloppies: using file saved as $postinstall_rpms/auto_install.img");
+ cp_af("$postinstall_rpms/auto_install.img", "$dest_dir/$name.img");
+ "$dest_dir/$name.img";
+ } else {
+ my $image = 'hd_grub';
+
+ getAndSaveFile_($o->{stage2_phys_medium}, "install/images/$image.img", "$dest_dir/$name.img")
+ or log::l("failed to write Install Floppy ($image.img) to $dest_dir/$name.img"), return;
+
+ "$dest_dir/$name.img";
+ }
+}
+
+sub clean_postinstall_rpms() {
+ if ($postinstall_rpms && -d $postinstall_rpms) {
+ rm_rf($postinstall_rpms);
+ }
+}
+
+sub copy_rpms_on_disk {
+ my ($o) = @_;
+
+ my $dest_dir = '/var/ftp/pub/Mageialinux/media';
+ #- don't be afraid, cleanup old RPMs if upgrade
+ eval { rm_rf("$::prefix$dest_dir") if $o->{isUpgrade} };
+ mkdir_p("$::prefix$dest_dir");
+
+ my $dest_phys_medium = do {
+ my ($part, $rel_path) = fs::get::file2part($o->{fstab}, $dest_dir);
+ $part->{method} = 'disk';
+ $part->{rel_path} = $rel_path;
+ $part->{url} = "disk://$part->{device}$rel_path";
+ $part;
+ };
+
+ my ($wait, $wait_message) = $o->wait_message_with_progress_bar;
+
+ foreach my $m (allMediums($o->{packages})) {
+ #- don't copy rpms of supplementary media
+ next if $m->{phys_medium}{is_suppl};
+ $wait_message->(N("Copying in progress") . "\n($m->{name})"); #- XXX to be translated
+ my $rpmsdir = path($m->{phys_medium}, $m->{rpmsdir});
+ if (! -d $rpmsdir) {
+ if (!change_phys_medium($m->{phys_medium}, $m->{rpmsdir})) {
+ #- keep in mind the asked medium has been refused.
+ #- this means it is no longer selected.
+ #- (but do not unselect supplementary CDs.)
+ $m->{ignore} = 1;
+ }
+ }
+ my $dest_medium_dir = $dest_dir . '/' . basename($rpmsdir);
+ #- handle rpmsdir being ../../i586/media/main: we flatten it
+ -e "$::prefix$dest_medium_dir" and $dest_medium_dir .= '32';
+ -e "$::prefix$dest_medium_dir" and next;
+
+ my $total = install::any::count_files($rpmsdir);
+ log::l("copying $rpmsdir to $::prefix$dest_medium_dir ($total files)");
+ eval {
+ install::any::cp_with_progress_({}, $wait_message, $total, [$rpmsdir], "$::prefix$dest_medium_dir");
+ };
+ log::l($@) if $@;
+
+ $m->{rpmsdir} = basename($dest_medium_dir);
+ $m->{phys_medium} = $dest_phys_medium;
+ }
+ undef $wait;
+
+ our $copied_rpms_on_disk = 1;
+}
+
+sub _get_medium_dir {
+ my ($phys_m) = @_;
+ if (member($phys_m->{method}, qw(ftp http https cdrom))) {
+ $phys_m->{url};
+ } else {
+ "$phys_m->{mntpoint}$phys_m->{rel_path}";
+ }
+}
+
+sub install_urpmi {
+ my ($stage2_method, $packages) = @_;
+
+ my @media = @{$packages->{media}};
+
+ log::l("install_urpmi $stage2_method");
+ #- clean to avoid opening twice the rpm db.
+ delete $packages->{rpmdb};
+
+ my (@cfg, @netrc);
+ foreach my $medium (@media) {
+ if (!$medium->{ignore}) {
+ my ($dir, $removable_device);
+
+ my $phys_m = $medium->{phys_medium};
+ $dir = _get_medium_dir($phys_m);
+
+ if ($phys_m->{method} eq 'iso') {
+ $removable_device = $phys_m->{loopback_device}{mntpoint} . $phys_m->{loopback_file};
+ }
+
+ $dir = MDK::Common::File::concat_symlink($dir, $medium->{rpmsdir});
+
+ my ($qname, $qdir) = ($medium->{fakemedium}, $dir);
+
+ if (my $u = urpm::download::parse_url_with_login($qdir)) {
+ $qdir = sprintf('%s://%s@%s%s', $u->{proto}, $u->{login}, $u->{machine}, $u->{dir});
+ push @netrc, sprintf("machine %s login %s password %s\n", $u->{machine}, $u->{login}, $u->{password});
+ }
+
+ s/(\s)/\\$1/g foreach $qname, $qdir;
+
+ #- output new urpmi.cfg format here.
+ push @cfg, map { "$_\n" }
+ "$qname $qdir {",
+ if_($medium->{'key-ids'},
+ " key-ids: " . $medium->{'key-ids'}),
+ if_($removable_device,
+ " removable: $removable_device"),
+ if_($medium->{update},
+ " update"),
+ "}";
+ } else {
+ #- remove deselected media by removing copied hdlist and synthesis files
+ log::l("removing media $medium->{fakemedium}");
+ unlink "$::prefix/var/lib/urpmi/hdlist.$medium->{fakemedium}.cz";
+ unlink "$::prefix/var/lib/urpmi/synthesis.hdlist.$medium->{fakemedium}.cz";
+ }
+ }
+ eval { output("$::prefix/etc/urpmi/netrc", @netrc) };
+ #- touch a MD5SUM file and write config file
+ eval { output("$::prefix/var/lib/urpmi/MD5SUM", '') };
+ eval { output "$::prefix/etc/urpmi/urpmi.cfg", @cfg };
+}
+
+
+sub openCdromTray {
+ my ($cdrom) = @_;
+ log::l("ejecting cdrom $cdrom");
+ eval { ioctl(detect_devices::tryOpen($cdrom), c::CDROMEJECT(), 1) };
+ $@ and log::l("ejection failed: $@");
+}
+
+sub log_sizes() {
+ my @df = MDK::Common::System::df($::prefix);
+ log::l(sprintf "Installed: %dMB(df), %dMB(rpm)",
+ ($df[0] - $df[1]) / 1024,
+ sum(run_program::rooted_get_stdout($::prefix, 'rpm', '-qa', '--queryformat', '%{size}\n')) / 1024 / 1024) if -x "$::prefix/bin/rpm";
+ install::pkgs::clean_rpmdb_shared_regions();
+}
+
+1;
diff --git a/perl-install/install/pixmaps/cadre-blanc_600.png b/perl-install/install/pixmaps/cadre-blanc_600.png
new file mode 100644
index 000000000..5069a041c
--- /dev/null
+++ b/perl-install/install/pixmaps/cadre-blanc_600.png
Binary files differ
diff --git a/perl-install/install/pixmaps/cadre-blanc_768.png b/perl-install/install/pixmaps/cadre-blanc_768.png
new file mode 100644
index 000000000..bcaccadd4
--- /dev/null
+++ b/perl-install/install/pixmaps/cadre-blanc_768.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-Custom-big.png b/perl-install/install/pixmaps/desktop-Custom-big.png
new file mode 100644
index 000000000..37ceb5f69
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-Custom-big.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-Custom.png b/perl-install/install/pixmaps/desktop-Custom.png
new file mode 100644
index 000000000..016ce2431
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-Custom.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-GNOME-big.png b/perl-install/install/pixmaps/desktop-GNOME-big.png
new file mode 100644
index 000000000..f361a4e3d
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-GNOME-big.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-GNOME.png b/perl-install/install/pixmaps/desktop-GNOME.png
new file mode 100644
index 000000000..292206399
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-GNOME.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-PLASMA5-big.png b/perl-install/install/pixmaps/desktop-PLASMA5-big.png
new file mode 100644
index 000000000..c1096bdf4
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-PLASMA5-big.png
Binary files differ
diff --git a/perl-install/install/pixmaps/desktop-PLASMA5.png b/perl-install/install/pixmaps/desktop-PLASMA5.png
new file mode 100644
index 000000000..249c164e2
--- /dev/null
+++ b/perl-install/install/pixmaps/desktop-PLASMA5.png
Binary files differ
diff --git a/perl-install/install/pixmaps/empty-banner.png b/perl-install/install/pixmaps/empty-banner.png
new file mode 100644
index 000000000..2cff55d2f
--- /dev/null
+++ b/perl-install/install/pixmaps/empty-banner.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-af.png b/perl-install/install/pixmaps/langs/lang-af.png
index 08a6a6212..08a6a6212 100644
--- a/perl-install/pixmaps/langs/lang-af.png
+++ b/perl-install/install/pixmaps/langs/lang-af.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-am.png b/perl-install/install/pixmaps/langs/lang-am.png
index ee9f7ae92..ee9f7ae92 100644
--- a/perl-install/pixmaps/langs/lang-am.png
+++ b/perl-install/install/pixmaps/langs/lang-am.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ar.png b/perl-install/install/pixmaps/langs/lang-ar.png
index e4abc7176..e4abc7176 100644
--- a/perl-install/pixmaps/langs/lang-ar.png
+++ b/perl-install/install/pixmaps/langs/lang-ar.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-as.png b/perl-install/install/pixmaps/langs/lang-as.png
index 4f4c6d640..4f4c6d640 100644
--- a/perl-install/pixmaps/langs/lang-as.png
+++ b/perl-install/install/pixmaps/langs/lang-as.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ast.png b/perl-install/install/pixmaps/langs/lang-ast.png
new file mode 100644
index 000000000..d10dc386c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ast.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-az.png b/perl-install/install/pixmaps/langs/lang-az.png
index 9aef0bb54..9aef0bb54 100644
--- a/perl-install/pixmaps/langs/lang-az.png
+++ b/perl-install/install/pixmaps/langs/lang-az.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-be.png b/perl-install/install/pixmaps/langs/lang-be.png
index e9cbbbad8..e9cbbbad8 100644
--- a/perl-install/pixmaps/langs/lang-be.png
+++ b/perl-install/install/pixmaps/langs/lang-be.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ber.png b/perl-install/install/pixmaps/langs/lang-ber.png
new file mode 100644
index 000000000..aaa710883
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ber.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-bg.png b/perl-install/install/pixmaps/langs/lang-bg.png
index d815d9f5c..d815d9f5c 100644
--- a/perl-install/pixmaps/langs/lang-bg.png
+++ b/perl-install/install/pixmaps/langs/lang-bg.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-bn.png b/perl-install/install/pixmaps/langs/lang-bn.png
index 1fed9d2c4..1fed9d2c4 100644
--- a/perl-install/pixmaps/langs/lang-bn.png
+++ b/perl-install/install/pixmaps/langs/lang-bn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bo.png b/perl-install/install/pixmaps/langs/lang-bo.png
new file mode 100644
index 000000000..6f799621b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bo.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-br.png b/perl-install/install/pixmaps/langs/lang-br.png
index 51b8a87de..51b8a87de 100644
--- a/perl-install/pixmaps/langs/lang-br.png
+++ b/perl-install/install/pixmaps/langs/lang-br.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-bs.png b/perl-install/install/pixmaps/langs/lang-bs.png
index df795a31f..df795a31f 100644
--- a/perl-install/pixmaps/langs/lang-bs.png
+++ b/perl-install/install/pixmaps/langs/lang-bs.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ca.png b/perl-install/install/pixmaps/langs/lang-ca.png
index 8609cba11..8609cba11 100644
--- a/perl-install/pixmaps/langs/lang-ca.png
+++ b/perl-install/install/pixmaps/langs/lang-ca.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ca@valencian.png b/perl-install/install/pixmaps/langs/lang-ca@valencian.png
new file mode 100644
index 000000000..736173bd9
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ca@valencian.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-chr.png b/perl-install/install/pixmaps/langs/lang-chr.png
new file mode 100644
index 000000000..b93621609
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-chr.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-cs.png b/perl-install/install/pixmaps/langs/lang-cs.png
index a9606348c..a9606348c 100644
--- a/perl-install/pixmaps/langs/lang-cs.png
+++ b/perl-install/install/pixmaps/langs/lang-cs.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-csb.png b/perl-install/install/pixmaps/langs/lang-csb.png
new file mode 100644
index 000000000..897f65a02
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-csb.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-cy.png b/perl-install/install/pixmaps/langs/lang-cy.png
index b62fd955c..b62fd955c 100644
--- a/perl-install/pixmaps/langs/lang-cy.png
+++ b/perl-install/install/pixmaps/langs/lang-cy.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-da.png b/perl-install/install/pixmaps/langs/lang-da.png
index 5e0e36fb0..5e0e36fb0 100644
--- a/perl-install/pixmaps/langs/lang-da.png
+++ b/perl-install/install/pixmaps/langs/lang-da.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-de.png b/perl-install/install/pixmaps/langs/lang-de.png
index d9bedadc0..d9bedadc0 100644
--- a/perl-install/pixmaps/langs/lang-de.png
+++ b/perl-install/install/pixmaps/langs/lang-de.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-dz.png b/perl-install/install/pixmaps/langs/lang-dz.png
new file mode 100644
index 000000000..d7f708ef4
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-dz.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-el.png b/perl-install/install/pixmaps/langs/lang-el.png
index 62b1bba08..62b1bba08 100644
--- a/perl-install/pixmaps/langs/lang-el.png
+++ b/perl-install/install/pixmaps/langs/lang-el.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_AU.png b/perl-install/install/pixmaps/langs/lang-en_AU.png
new file mode 100644
index 000000000..59e1929da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_AU.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_CA.png b/perl-install/install/pixmaps/langs/lang-en_CA.png
new file mode 100644
index 000000000..f235be603
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_CA.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-en_GB.png b/perl-install/install/pixmaps/langs/lang-en_GB.png
index 15ee5fa24..15ee5fa24 100644
--- a/perl-install/pixmaps/langs/lang-en_GB.png
+++ b/perl-install/install/pixmaps/langs/lang-en_GB.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-en_IE.png b/perl-install/install/pixmaps/langs/lang-en_IE.png
index fabe38773..fabe38773 100644
--- a/perl-install/pixmaps/langs/lang-en_IE.png
+++ b/perl-install/install/pixmaps/langs/lang-en_IE.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_NZ.png b/perl-install/install/pixmaps/langs/lang-en_NZ.png
new file mode 100644
index 000000000..253ffae47
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_NZ.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-en_US.png b/perl-install/install/pixmaps/langs/lang-en_US.png
index 974c3283e..974c3283e 100644
--- a/perl-install/pixmaps/langs/lang-en_US.png
+++ b/perl-install/install/pixmaps/langs/lang-en_US.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_ZA.png b/perl-install/install/pixmaps/langs/lang-en_ZA.png
new file mode 100644
index 000000000..2a2623066
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_ZA.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-eo.png b/perl-install/install/pixmaps/langs/lang-eo.png
index 063942f3a..063942f3a 100644
--- a/perl-install/pixmaps/langs/lang-eo.png
+++ b/perl-install/install/pixmaps/langs/lang-eo.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-es.png b/perl-install/install/pixmaps/langs/lang-es.png
index e08d98f13..e08d98f13 100644
--- a/perl-install/pixmaps/langs/lang-es.png
+++ b/perl-install/install/pixmaps/langs/lang-es.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-et.png b/perl-install/install/pixmaps/langs/lang-et.png
index a93082949..a93082949 100644
--- a/perl-install/pixmaps/langs/lang-et.png
+++ b/perl-install/install/pixmaps/langs/lang-et.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-eu.png b/perl-install/install/pixmaps/langs/lang-eu.png
index 024bc1bff..024bc1bff 100644
--- a/perl-install/pixmaps/langs/lang-eu.png
+++ b/perl-install/install/pixmaps/langs/lang-eu.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-fa.png b/perl-install/install/pixmaps/langs/lang-fa.png
index 2edc3e2c0..2edc3e2c0 100644
--- a/perl-install/pixmaps/langs/lang-fa.png
+++ b/perl-install/install/pixmaps/langs/lang-fa.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-fi.png b/perl-install/install/pixmaps/langs/lang-fi.png
index 20c6b4654..20c6b4654 100644
--- a/perl-install/pixmaps/langs/lang-fi.png
+++ b/perl-install/install/pixmaps/langs/lang-fi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fil.png b/perl-install/install/pixmaps/langs/lang-fil.png
new file mode 100644
index 000000000..78a7bd614
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fil.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-fo.png b/perl-install/install/pixmaps/langs/lang-fo.png
index 8b3dc056e..8b3dc056e 100644
--- a/perl-install/pixmaps/langs/lang-fo.png
+++ b/perl-install/install/pixmaps/langs/lang-fo.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-fr.png b/perl-install/install/pixmaps/langs/lang-fr.png
index f871e3e5b..f871e3e5b 100644
--- a/perl-install/pixmaps/langs/lang-fr.png
+++ b/perl-install/install/pixmaps/langs/lang-fr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fur.png b/perl-install/install/pixmaps/langs/lang-fur.png
new file mode 100644
index 000000000..426f94c54
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fur.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fy.png b/perl-install/install/pixmaps/langs/lang-fy.png
new file mode 100644
index 000000000..6a09f98cc
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fy.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ga.png b/perl-install/install/pixmaps/langs/lang-ga.png
index af049dab0..af049dab0 100644
--- a/perl-install/pixmaps/langs/lang-ga.png
+++ b/perl-install/install/pixmaps/langs/lang-ga.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-gd.png b/perl-install/install/pixmaps/langs/lang-gd.png
index 01ebf64bb..01ebf64bb 100644
--- a/perl-install/pixmaps/langs/lang-gd.png
+++ b/perl-install/install/pixmaps/langs/lang-gd.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-gl.png b/perl-install/install/pixmaps/langs/lang-gl.png
index dacb6b91b..dacb6b91b 100644
--- a/perl-install/pixmaps/langs/lang-gl.png
+++ b/perl-install/install/pixmaps/langs/lang-gl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gn.png b/perl-install/install/pixmaps/langs/lang-gn.png
new file mode 100644
index 000000000..93c58a779
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-gu.png b/perl-install/install/pixmaps/langs/lang-gu.png
index 10685a0fe..10685a0fe 100644
--- a/perl-install/pixmaps/langs/lang-gu.png
+++ b/perl-install/install/pixmaps/langs/lang-gu.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-gv.png b/perl-install/install/pixmaps/langs/lang-gv.png
index 76e2c242a..76e2c242a 100644
--- a/perl-install/pixmaps/langs/lang-gv.png
+++ b/perl-install/install/pixmaps/langs/lang-gv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ha.png b/perl-install/install/pixmaps/langs/lang-ha.png
new file mode 100644
index 000000000..ef4ccab0d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ha.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-he.png b/perl-install/install/pixmaps/langs/lang-he.png
index a3a43a179..a3a43a179 100644
--- a/perl-install/pixmaps/langs/lang-he.png
+++ b/perl-install/install/pixmaps/langs/lang-he.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-hi.png b/perl-install/install/pixmaps/langs/lang-hi.png
index 3749905da..3749905da 100644
--- a/perl-install/pixmaps/langs/lang-hi.png
+++ b/perl-install/install/pixmaps/langs/lang-hi.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-hr.png b/perl-install/install/pixmaps/langs/lang-hr.png
index 42add5cf5..42add5cf5 100644
--- a/perl-install/pixmaps/langs/lang-hr.png
+++ b/perl-install/install/pixmaps/langs/lang-hr.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-hu.png b/perl-install/install/pixmaps/langs/lang-hu.png
index baa0be79a..baa0be79a 100644
--- a/perl-install/pixmaps/langs/lang-hu.png
+++ b/perl-install/install/pixmaps/langs/lang-hu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hy.png b/perl-install/install/pixmaps/langs/lang-hy.png
new file mode 100644
index 000000000..969a0f0ec
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hy.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ia.png b/perl-install/install/pixmaps/langs/lang-ia.png
index ee4d1b2bd..ee4d1b2bd 100644
--- a/perl-install/pixmaps/langs/lang-ia.png
+++ b/perl-install/install/pixmaps/langs/lang-ia.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-id.png b/perl-install/install/pixmaps/langs/lang-id.png
index a31b4f3ee..a31b4f3ee 100644
--- a/perl-install/pixmaps/langs/lang-id.png
+++ b/perl-install/install/pixmaps/langs/lang-id.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ig.png b/perl-install/install/pixmaps/langs/lang-ig.png
new file mode 100644
index 000000000..304870ab9
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ig.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ik.png b/perl-install/install/pixmaps/langs/lang-ik.png
new file mode 100644
index 000000000..1fad276d8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ik.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-is.png b/perl-install/install/pixmaps/langs/lang-is.png
index ea7aea4d2..ea7aea4d2 100644
--- a/perl-install/pixmaps/langs/lang-is.png
+++ b/perl-install/install/pixmaps/langs/lang-is.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-it.png b/perl-install/install/pixmaps/langs/lang-it.png
index 123c65155..123c65155 100644
--- a/perl-install/pixmaps/langs/lang-it.png
+++ b/perl-install/install/pixmaps/langs/lang-it.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-iu.png b/perl-install/install/pixmaps/langs/lang-iu.png
index eef7f3184..eef7f3184 100644
--- a/perl-install/pixmaps/langs/lang-iu.png
+++ b/perl-install/install/pixmaps/langs/lang-iu.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ja.png b/perl-install/install/pixmaps/langs/lang-ja.png
index 7c521e108..7c521e108 100644
--- a/perl-install/pixmaps/langs/lang-ja.png
+++ b/perl-install/install/pixmaps/langs/lang-ja.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ka.png b/perl-install/install/pixmaps/langs/lang-ka.png
index 56157f8bc..56157f8bc 100644
--- a/perl-install/pixmaps/langs/lang-ka.png
+++ b/perl-install/install/pixmaps/langs/lang-ka.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kk.png b/perl-install/install/pixmaps/langs/lang-kk.png
new file mode 100644
index 000000000..008c6182d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kl.png b/perl-install/install/pixmaps/langs/lang-kl.png
new file mode 100644
index 000000000..fc471261b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-km.png b/perl-install/install/pixmaps/langs/lang-km.png
new file mode 100644
index 000000000..20836b561
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-km.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-kn.png b/perl-install/install/pixmaps/langs/lang-kn.png
index 6cf704799..6cf704799 100644
--- a/perl-install/pixmaps/langs/lang-kn.png
+++ b/perl-install/install/pixmaps/langs/lang-kn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ko.png b/perl-install/install/pixmaps/langs/lang-ko.png
index 8dd6c5529..8dd6c5529 100644
--- a/perl-install/pixmaps/langs/lang-ko.png
+++ b/perl-install/install/pixmaps/langs/lang-ko.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ks.png b/perl-install/install/pixmaps/langs/lang-ks.png
new file mode 100644
index 000000000..edbe86c72
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ks.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ks@Arab.png b/perl-install/install/pixmaps/langs/lang-ks@Arab.png
new file mode 100644
index 000000000..c3eba40ca
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ks@Arab.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ku.png b/perl-install/install/pixmaps/langs/lang-ku.png
new file mode 100644
index 000000000..c776e1321
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ku.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-kw.png b/perl-install/install/pixmaps/langs/lang-kw.png
index 2e1fa3edf..2e1fa3edf 100644
--- a/perl-install/pixmaps/langs/lang-kw.png
+++ b/perl-install/install/pixmaps/langs/lang-kw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ky.png b/perl-install/install/pixmaps/langs/lang-ky.png
new file mode 100644
index 000000000..72924a206
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ky.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lb.png b/perl-install/install/pixmaps/langs/lang-lb.png
new file mode 100644
index 000000000..ba1b6c01e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lb.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lg.png b/perl-install/install/pixmaps/langs/lang-lg.png
new file mode 100644
index 000000000..2e67836e0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lg.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-li.png b/perl-install/install/pixmaps/langs/lang-li.png
index 77f36a985..77f36a985 100644
--- a/perl-install/pixmaps/langs/lang-li.png
+++ b/perl-install/install/pixmaps/langs/lang-li.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lo.png b/perl-install/install/pixmaps/langs/lang-lo.png
new file mode 100644
index 000000000..c8ac6c880
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lo.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-lt.png b/perl-install/install/pixmaps/langs/lang-lt.png
index 9869002a2..9869002a2 100644
--- a/perl-install/pixmaps/langs/lang-lt.png
+++ b/perl-install/install/pixmaps/langs/lang-lt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ltg.png b/perl-install/install/pixmaps/langs/lang-ltg.png
new file mode 100644
index 000000000..2cd1c8227
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ltg.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-lv.png b/perl-install/install/pixmaps/langs/lang-lv.png
index b73a804bc..b73a804bc 100644
--- a/perl-install/pixmaps/langs/lang-lv.png
+++ b/perl-install/install/pixmaps/langs/lang-lv.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-mi.png b/perl-install/install/pixmaps/langs/lang-mi.png
index 1d0658497..1d0658497 100644
--- a/perl-install/pixmaps/langs/lang-mi.png
+++ b/perl-install/install/pixmaps/langs/lang-mi.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-mk.png b/perl-install/install/pixmaps/langs/lang-mk.png
index ef82b87d3..ef82b87d3 100644
--- a/perl-install/pixmaps/langs/lang-mk.png
+++ b/perl-install/install/pixmaps/langs/lang-mk.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ml.png b/perl-install/install/pixmaps/langs/lang-ml.png
index b1d933a1e..b1d933a1e 100644
--- a/perl-install/pixmaps/langs/lang-ml.png
+++ b/perl-install/install/pixmaps/langs/lang-ml.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-mn.png b/perl-install/install/pixmaps/langs/lang-mn.png
index 18af73e27..18af73e27 100644
--- a/perl-install/pixmaps/langs/lang-mn.png
+++ b/perl-install/install/pixmaps/langs/lang-mn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-mr.png b/perl-install/install/pixmaps/langs/lang-mr.png
index 8181f89bf..8181f89bf 100644
--- a/perl-install/pixmaps/langs/lang-mr.png
+++ b/perl-install/install/pixmaps/langs/lang-mr.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ms.png b/perl-install/install/pixmaps/langs/lang-ms.png
index 2d40e300f..2d40e300f 100644
--- a/perl-install/pixmaps/langs/lang-ms.png
+++ b/perl-install/install/pixmaps/langs/lang-ms.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-mt.png b/perl-install/install/pixmaps/langs/lang-mt.png
index c75d1413d..c75d1413d 100644
--- a/perl-install/pixmaps/langs/lang-mt.png
+++ b/perl-install/install/pixmaps/langs/lang-mt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-my.png b/perl-install/install/pixmaps/langs/lang-my.png
new file mode 100644
index 000000000..4656ce350
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-my.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-nb.png b/perl-install/install/pixmaps/langs/lang-nb.png
index ebd4d42d3..ebd4d42d3 100644
--- a/perl-install/pixmaps/langs/lang-nb.png
+++ b/perl-install/install/pixmaps/langs/lang-nb.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nds.png b/perl-install/install/pixmaps/langs/lang-nds.png
new file mode 100644
index 000000000..39e0583c7
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nds.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ne.png b/perl-install/install/pixmaps/langs/lang-ne.png
index 695c8b8e2..695c8b8e2 100644
--- a/perl-install/pixmaps/langs/lang-ne.png
+++ b/perl-install/install/pixmaps/langs/lang-ne.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-nl.png b/perl-install/install/pixmaps/langs/lang-nl.png
index 014adbe98..014adbe98 100644
--- a/perl-install/pixmaps/langs/lang-nl.png
+++ b/perl-install/install/pixmaps/langs/lang-nl.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-nn.png b/perl-install/install/pixmaps/langs/lang-nn.png
index 771d08a94..771d08a94 100644
--- a/perl-install/pixmaps/langs/lang-nn.png
+++ b/perl-install/install/pixmaps/langs/lang-nn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-no.png b/perl-install/install/pixmaps/langs/lang-no.png
index ebd4d42d3..ebd4d42d3 100644
--- a/perl-install/pixmaps/langs/lang-no.png
+++ b/perl-install/install/pixmaps/langs/lang-no.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nr.png b/perl-install/install/pixmaps/langs/lang-nr.png
new file mode 100644
index 000000000..b04fc3281
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nso.png b/perl-install/install/pixmaps/langs/lang-nso.png
new file mode 100644
index 000000000..e98becf85
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nso.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-oc.png b/perl-install/install/pixmaps/langs/lang-oc.png
index f4efa6dd3..f4efa6dd3 100644
--- a/perl-install/pixmaps/langs/lang-oc.png
+++ b/perl-install/install/pixmaps/langs/lang-oc.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pa.png b/perl-install/install/pixmaps/langs/lang-pa.png
new file mode 100644
index 000000000..c1945c3da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pa_IN.png b/perl-install/install/pixmaps/langs/lang-pa_IN.png
new file mode 100644
index 000000000..c1945c3da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pa_IN.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-pl.png b/perl-install/install/pixmaps/langs/lang-pl.png
index d525067b3..d525067b3 100644
--- a/perl-install/pixmaps/langs/lang-pl.png
+++ b/perl-install/install/pixmaps/langs/lang-pl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ps.png b/perl-install/install/pixmaps/langs/lang-ps.png
new file mode 100644
index 000000000..a4db7252c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ps.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-pt.png b/perl-install/install/pixmaps/langs/lang-pt.png
index 60643675d..60643675d 100644
--- a/perl-install/pixmaps/langs/lang-pt.png
+++ b/perl-install/install/pixmaps/langs/lang-pt.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-pt_BR.png b/perl-install/install/pixmaps/langs/lang-pt_BR.png
index 41c955b8e..41c955b8e 100644
--- a/perl-install/pixmaps/langs/lang-pt_BR.png
+++ b/perl-install/install/pixmaps/langs/lang-pt_BR.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-qu.png b/perl-install/install/pixmaps/langs/lang-qu.png
new file mode 100644
index 000000000..ec688f96d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-qu.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ro.png b/perl-install/install/pixmaps/langs/lang-ro.png
index 0483ff00a..0483ff00a 100644
--- a/perl-install/pixmaps/langs/lang-ro.png
+++ b/perl-install/install/pixmaps/langs/lang-ro.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ru.png b/perl-install/install/pixmaps/langs/lang-ru.png
index 50bfb23d2..50bfb23d2 100644
--- a/perl-install/pixmaps/langs/lang-ru.png
+++ b/perl-install/install/pixmaps/langs/lang-ru.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-rw.png b/perl-install/install/pixmaps/langs/lang-rw.png
new file mode 100644
index 000000000..1b34566f5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-rw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sc.png b/perl-install/install/pixmaps/langs/lang-sc.png
new file mode 100644
index 000000000..e4dda5f79
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sc.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-se.png b/perl-install/install/pixmaps/langs/lang-se.png
index 92b76282c..92b76282c 100644
--- a/perl-install/pixmaps/langs/lang-se.png
+++ b/perl-install/install/pixmaps/langs/lang-se.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sh.png b/perl-install/install/pixmaps/langs/lang-sh.png
index 05fc8b034..05fc8b034 100644
--- a/perl-install/pixmaps/langs/lang-sh.png
+++ b/perl-install/install/pixmaps/langs/lang-sh.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sk.png b/perl-install/install/pixmaps/langs/lang-sk.png
index 9e939c857..9e939c857 100644
--- a/perl-install/pixmaps/langs/lang-sk.png
+++ b/perl-install/install/pixmaps/langs/lang-sk.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sl.png b/perl-install/install/pixmaps/langs/lang-sl.png
index fc5657a97..fc5657a97 100644
--- a/perl-install/pixmaps/langs/lang-sl.png
+++ b/perl-install/install/pixmaps/langs/lang-sl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-so.png b/perl-install/install/pixmaps/langs/lang-so.png
new file mode 100644
index 000000000..b7b235548
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-so.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sq.png b/perl-install/install/pixmaps/langs/lang-sq.png
index f6c2d2f0e..f6c2d2f0e 100644
--- a/perl-install/pixmaps/langs/lang-sq.png
+++ b/perl-install/install/pixmaps/langs/lang-sq.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sr.png b/perl-install/install/pixmaps/langs/lang-sr.png
new file mode 100644
index 000000000..5b822b402
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sr.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sr@Latn.png b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
index 05fc8b034..05fc8b034 100644
--- a/perl-install/pixmaps/langs/lang-sr@Latn.png
+++ b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ss.png b/perl-install/install/pixmaps/langs/lang-ss.png
index ed1da073c..ed1da073c 100644
--- a/perl-install/pixmaps/langs/lang-ss.png
+++ b/perl-install/install/pixmaps/langs/lang-ss.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-st.png b/perl-install/install/pixmaps/langs/lang-st.png
index 3f4c3a022..3f4c3a022 100644
--- a/perl-install/pixmaps/langs/lang-st.png
+++ b/perl-install/install/pixmaps/langs/lang-st.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-sv.png b/perl-install/install/pixmaps/langs/lang-sv.png
index 21822dbf8..21822dbf8 100644
--- a/perl-install/pixmaps/langs/lang-sv.png
+++ b/perl-install/install/pixmaps/langs/lang-sv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sw.png b/perl-install/install/pixmaps/langs/lang-sw.png
new file mode 100644
index 000000000..690b07c0c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sw.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ta.png b/perl-install/install/pixmaps/langs/lang-ta.png
index c603ea0de..c603ea0de 100644
--- a/perl-install/pixmaps/langs/lang-ta.png
+++ b/perl-install/install/pixmaps/langs/lang-ta.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-te.png b/perl-install/install/pixmaps/langs/lang-te.png
index a263d449d..a263d449d 100644
--- a/perl-install/pixmaps/langs/lang-te.png
+++ b/perl-install/install/pixmaps/langs/lang-te.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-tg.png b/perl-install/install/pixmaps/langs/lang-tg.png
index f537f85ad..f537f85ad 100644
--- a/perl-install/pixmaps/langs/lang-tg.png
+++ b/perl-install/install/pixmaps/langs/lang-tg.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-th.png b/perl-install/install/pixmaps/langs/lang-th.png
index 75c913c73..75c913c73 100644
--- a/perl-install/pixmaps/langs/lang-th.png
+++ b/perl-install/install/pixmaps/langs/lang-th.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tk.png b/perl-install/install/pixmaps/langs/lang-tk.png
new file mode 100644
index 000000000..d95c94774
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tn.png b/perl-install/install/pixmaps/langs/lang-tn.png
new file mode 100644
index 000000000..cf809136c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tn.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-tr.png b/perl-install/install/pixmaps/langs/lang-tr.png
index a6c266603..a6c266603 100644
--- a/perl-install/pixmaps/langs/lang-tr.png
+++ b/perl-install/install/pixmaps/langs/lang-tr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ts.png b/perl-install/install/pixmaps/langs/lang-ts.png
new file mode 100644
index 000000000..cccb1f634
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ts.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tt.png b/perl-install/install/pixmaps/langs/lang-tt.png
new file mode 100644
index 000000000..f643f18cd
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tt.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-tt.png b/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png
index 5d8ab2669..5d8ab2669 100644
--- a/perl-install/pixmaps/langs/lang-tt.png
+++ b/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ug.png b/perl-install/install/pixmaps/langs/lang-ug.png
new file mode 100644
index 000000000..36033a501
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ug.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-uk.png b/perl-install/install/pixmaps/langs/lang-uk.png
index cee670ee3..cee670ee3 100644
--- a/perl-install/pixmaps/langs/lang-uk.png
+++ b/perl-install/install/pixmaps/langs/lang-uk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ur.png b/perl-install/install/pixmaps/langs/lang-ur.png
new file mode 100644
index 000000000..0a395fd04
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ur.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-uz.png b/perl-install/install/pixmaps/langs/lang-uz.png
index e9761e7d5..e9761e7d5 100644
--- a/perl-install/pixmaps/langs/lang-uz.png
+++ b/perl-install/install/pixmaps/langs/lang-uz.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-uz@Cyrl.png b/perl-install/install/pixmaps/langs/lang-uz@cyrillic.png
index d32d0ffea..d32d0ffea 100644
--- a/perl-install/pixmaps/langs/lang-uz@Cyrl.png
+++ b/perl-install/install/pixmaps/langs/lang-uz@cyrillic.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-ve.png b/perl-install/install/pixmaps/langs/lang-ve.png
index ac0233033..ac0233033 100644
--- a/perl-install/pixmaps/langs/lang-ve.png
+++ b/perl-install/install/pixmaps/langs/lang-ve.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-vi.png b/perl-install/install/pixmaps/langs/lang-vi.png
index eaa8fe477..eaa8fe477 100644
--- a/perl-install/pixmaps/langs/lang-vi.png
+++ b/perl-install/install/pixmaps/langs/lang-vi.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-wa.png b/perl-install/install/pixmaps/langs/lang-wa.png
index 176976de8..176976de8 100644
--- a/perl-install/pixmaps/langs/lang-wa.png
+++ b/perl-install/install/pixmaps/langs/lang-wa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-xh.png b/perl-install/install/pixmaps/langs/lang-xh.png
new file mode 100644
index 000000000..eaaebf1f6
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-xh.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-yi.png b/perl-install/install/pixmaps/langs/lang-yi.png
index 729b7e166..729b7e166 100644
--- a/perl-install/pixmaps/langs/lang-yi.png
+++ b/perl-install/install/pixmaps/langs/lang-yi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-yo.png b/perl-install/install/pixmaps/langs/lang-yo.png
new file mode 100644
index 000000000..7b7bb634b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-yo.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-zh_CN.png b/perl-install/install/pixmaps/langs/lang-zh_CN.png
index b8eff030a..b8eff030a 100644
--- a/perl-install/pixmaps/langs/lang-zh_CN.png
+++ b/perl-install/install/pixmaps/langs/lang-zh_CN.png
Binary files differ
diff --git a/perl-install/pixmaps/langs/lang-zh_TW.png b/perl-install/install/pixmaps/langs/lang-zh_TW.png
index bbfdc8fe8..bbfdc8fe8 100644
--- a/perl-install/pixmaps/langs/lang-zh_TW.png
+++ b/perl-install/install/pixmaps/langs/lang-zh_TW.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-zu.png b/perl-install/install/pixmaps/langs/lang-zu.png
new file mode 100644
index 000000000..4be984cfa
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-zu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/left-background.png b/perl-install/install/pixmaps/left-background.png
new file mode 100644
index 000000000..668b994ec
--- /dev/null
+++ b/perl-install/install/pixmaps/left-background.png
Binary files differ
diff --git a/perl-install/install/pixmaps/left-border.png b/perl-install/install/pixmaps/left-border.png
new file mode 100644
index 000000000..296f2277b
--- /dev/null
+++ b/perl-install/install/pixmaps/left-border.png
Binary files differ
diff --git a/perl-install/install/pixmaps/left-bottom-corner.png b/perl-install/install/pixmaps/left-bottom-corner.png
new file mode 100644
index 000000000..df0c8347b
--- /dev/null
+++ b/perl-install/install/pixmaps/left-bottom-corner.png
Binary files differ
diff --git a/perl-install/install/pixmaps/left-top-corner.png b/perl-install/install/pixmaps/left-top-corner.png
new file mode 100644
index 000000000..df0c8347b
--- /dev/null
+++ b/perl-install/install/pixmaps/left-top-corner.png
Binary files differ
diff --git a/perl-install/install/pixmaps/reload.png b/perl-install/install/pixmaps/reload.png
new file mode 100644
index 000000000..baa7b5f9f
--- /dev/null
+++ b/perl-install/install/pixmaps/reload.png
Binary files differ
diff --git a/perl-install/install/pixmaps/right-white-background_left_part_600.png b/perl-install/install/pixmaps/right-white-background_left_part_600.png
new file mode 100644
index 000000000..e4e514058
--- /dev/null
+++ b/perl-install/install/pixmaps/right-white-background_left_part_600.png
Binary files differ
diff --git a/perl-install/install/pixmaps/right-white-background_left_part_768.png b/perl-install/install/pixmaps/right-white-background_left_part_768.png
new file mode 100644
index 000000000..41f7334c6
--- /dev/null
+++ b/perl-install/install/pixmaps/right-white-background_left_part_768.png
Binary files differ
diff --git a/perl-install/install/pixmaps/right-white-background_right_part_600.png b/perl-install/install/pixmaps/right-white-background_right_part_600.png
new file mode 100644
index 000000000..0e564b2ae
--- /dev/null
+++ b/perl-install/install/pixmaps/right-white-background_right_part_600.png
Binary files differ
diff --git a/perl-install/install/pixmaps/semiselected.png b/perl-install/install/pixmaps/semiselected.png
new file mode 100644
index 000000000..108b32265
--- /dev/null
+++ b/perl-install/install/pixmaps/semiselected.png
Binary files differ
diff --git a/perl-install/install/pixmaps/unselected.png b/perl-install/install/pixmaps/unselected.png
new file mode 100644
index 000000000..7b4d6be1d
--- /dev/null
+++ b/perl-install/install/pixmaps/unselected.png
Binary files differ
diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm
new file mode 100644
index 000000000..a9692e225
--- /dev/null
+++ b/perl-install/install/pkgs.pm
@@ -0,0 +1,1132 @@
+package install::pkgs;
+
+use strict;
+use feature 'state';
+
+BEGIN {
+ # needed before "use URPM"
+ 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 = 120873;
+my $C = 498663; #- does not take hdlist's into account as getAvailableSpace will do it.
+my $D = 100000;
+sub correctSize { ($B * $_[0] + $C) / $D }
+sub invCorrectSize { ($_[0] * $D - $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 = 7e9;
+ my $limit = min($max * 3 / 4, 9e8);
+ if ($x < $limit) {
+ $A * $x;
+ } else {
+ $x -= $limit;
+ my $B = 6;
+ my $C = 15e9;
+ $B * $x ** 2 + $C * $x + $A * $limit;
+ }
+}
+
+# Based on Rpmdrake::pkg::extract_header():
+sub get_pkg_info {
+ my ($p) = @_;
+
+ my $urpm = $::o->{packages};
+ my $name = $p->fullname;
+
+ my $medium = URPM::pkg2media($urpm->{media}, $p);
+ my ($local_source, %xml_info_pkgs, $description);
+ my $dir = urpm::file_from_local_url($medium->{url});
+ $local_source = "$dir/" . $p->filename if $dir;
+
+ if (-s $local_source) {
+ log::l("getting information from $dir...");
+ $p->update_header($local_source) and $description = $p->description;
+ log::l("Warning, could not extract header for $name from $medium!") if !$description;
+ }
+ if (!$description) {
+ my $_w = $::o->wait_message(undef, N("Getting package information from XML meta-data..."));
+ if (my $xml_info_file = eval { urpm::media::any_xml_info($urpm, $medium, 'info', undef, urpm::download::sync_logger) }) {
+ require urpm::xml_info;
+ require urpm::xml_info_pkg;
+ log::l("getting information from $xml_info_file");
+ my %nodes = eval { urpm::xml_info::get_nodes('info', $xml_info_file, [ $name ]) };
+ goto header_non_available if $@;
+ put_in_hash($xml_info_pkgs{$name} ||= {}, $nodes{$name});
+ } else {
+ $urpm->{info}(N("No xml info for medium \"%s\", only partial result for package %s", $medium->{name}, $name));
+ }
+ }
+
+ if (!$description && $xml_info_pkgs{$name}) {
+ $description = $xml_info_pkgs{$name}{description};
+ }
+ header_non_available:
+ $description || N("No description");
+}
+
+sub packagesProviding {
+ my ($packages, $name) = @_;
+ grep { $_->is_arch_compat } URPM::packages_providing($packages, $name);
+}
+
+#- search package with given name (and optional ISA) and compatible with current architecture.
+#- take the best one found (most up-to-date).
+# FIXME: reuse urpmi higher level code instead!
+sub packageByName {
+ my ($packages, $name) = @_;
+
+ my $basename = $name =~ s/\(x86-..\)$//r;
+ my @l = sort { $b->id <=> $a->id } grep { $_->name eq $basename } packagesProviding($packages, $name);
+
+ my $best;
+ foreach (@l) {
+ if ($best && $best != $_) {
+ if ($best->fullname eq $_->fullname) {
+ $best = $_ if $_->flag_installed;
+ } else {
+ $_->compare_pkg($best) > 0 and $best = $_;
+ }
+ } else {
+ $best = $_;
+ }
+ }
+ $best or log::l("unknown package `$name'");
+ $best;
+}
+
+sub _is_kernelServer_needed() {
+ # forbid selecting kernel-server if not having PAE since PAE support is mandatory for kernel-server:
+ return if !detect_devices::has_cpu_flag('pae');
+ arch() =~ /i.86/ && detect_devices::isServer();
+}
+
+sub _bestKernel_extensions {
+ my ($o_match_all_hardware) = @_;
+
+ $::o->{kernel_extension} ? $::o->{kernel_extension} :
+ _is_kernelServer_needed() ? '-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
+ 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: " . formatList(5, map { scalar $_->fullname } @packages));
+
+ @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 && !$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);
+ }
+}
+
+my @recommended_package_ids;
+sub _resolve_requested_and_check {
+ my ($packages, $state, $requested) = @_;
+
+ my @l = $packages->resolve_requested($packages->{rpmdb}, $state, $requested,
+ callback_choices => \&packageCallbackChoices, no_recommends => $::o->{no_recommends});
+
+ #- keep track of recommended packages so that theys could be unselected if the "no recommends" option is choosen later:
+ if (!is_empty_hash_ref($state->{selected})) {
+ my @new_ids = map { $packages->{depslist}[$_]->id } grep { $state->{selected}{$_}{recommended} } keys %{$state->{selected}};
+ @recommended_package_ids = uniq(@recommended_package_ids, @new_ids);
+ }
+
+ my $error;
+ if (find { !exists $state->{selected}{$_} } keys %$requested) {
+ my @rejected = urpm::select::unselected_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}}) {
+ my $to_select = $_->flag_base || $_->flag_installed && $_->flag_selected;
+ # unselect recommended packages if minimal install:
+ if ($::o->{no_recommends} && member($_->id, @recommended_package_ids)) {
+ log::l("unselecting recommended package " . $_->name);
+ undef $to_select;
+ }
+ if ($to_select) {
+ #- 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);
+}
+
+
+my (@errors, $push_errors);
+sub start_pushing_error() {
+ $push_errors = 1;
+ undef @errors;
+}
+
+sub popup_errors() {
+ if (@errors) {
+ $::o->ask_warn(undef, N("An error occurred:") . "\n\n" . join("\n", @errors));
+ }
+ undef $push_errors;
+}
+
+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->{media} = [];
+
+ urpm::args::set_debug($packages) if $::o->{debug_urpmi};
+ $packages->{log} = \&log::l;
+ $packages->{info} = \&log::l;
+ $packages->{fatal} = sub {
+ log::l("urpmi error: $_[1] ($_[0])\n" . common::backtrace());
+ $::o->ask_warn(undef, N("A fatal error occurred: %s.", "$_[1] ($_[0])"));
+ };
+ $packages->{error} = sub {
+ log::l("urpmi error: $_[0]");
+ if ($push_errors) {
+ push @errors, @_;
+ return;
+ }
+ $::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{justdb} = $::o->{justdb};
+ urpm::set_tune_rpm($packages, $::o->{'tune-rpm'}) if $::o->{'tune-rpm'};
+ $::force = 1;
+ $packages->{options}{ignoresize} = 1;
+ $packages->{options}{retry} = 3;
+ $packages->{options}{downloader} = $::o->{options}{downloader};
+ # prevent priority upgrade (redundant for now as $urpm->{root} implies disabling it:
+ $packages->{options}{'priority-upgrade'} = undef;
+ # log $trans->add() faillure; FIXME: should we override *urpm::msg::sys_log?
+ $packages->{debug} = $packages->{debug_URPM} = \&log::l;
+ $urpm::args::options{deploops} = $::o->{deploops};
+ $packages->{options}{'curl-options'} = $::o->{curl_options} if $::o->{curl_options};
+
+ $packages;
+}
+
+sub readCompssUsers {
+ my ($file) = @_;
+
+ my $f = common::open_file($file) or log::l("cannot 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) {
+ log::l("disabling selected packages because too big for level $level: $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);
+ my @pkgs = @{$pkgs_with_same_rflags{$raw_flags}};
+
+ #- determine the packages that will be selected when selecting $p.
+ #- make a fast selection (but potentially erroneous).
+ #- installed and upgrade flags must have been computed (see compute_installed_flags).
+ my %newSelection;
+
+ my @l2 = map { $_->id } @pkgs;
+ my $id;
+
+ while (defined($id = shift @l2)) {
+ exists $newSelection{$id} and next;
+ $newSelection{$id} = undef;
+
+ my $pkg = $packages->{depslist}[$id];
+ my @deps = map { [ $_, keys %{$packages->{provides}{$_} || {}} ] } $pkg->requires_nosense, $pkg->recommends_nosense;
+ foreach (sort { @$a <=> @$b } @deps) { #- sort on number of provides (it helps choosing "b" in: "a" requires both "b" and virtual={"b","c"})
+ my ($virtual, @choices) = @$_;
+ if (@choices <= 1) {
+ #- only one choice :)
+ } elsif (find { exists $newSelection{$_} } @choices) {
+ @choices = ();
+ } else {
+ my @choices_pkgs = map { $packages->{depslist}[$_] } @choices;
+ if (find { $_->flag_available } @choices_pkgs) {
+ @choices = (); #- one package is already selected (?)
+ } else {
+ @choices = map { $_->id } packageCallbackChoices($packages, undef, undef, \@choices_pkgs, $virtual, undef);
+ }
+ }
+ push @l2, @choices;
+ }
+ }
+
+ foreach (keys %newSelection) {
+ my $p = $packages->{depslist}[$_] or next;
+ next if $p->flag_selected; #- always installed (accounted in system_size)
+ my $s = $group{$p->name} || $or_ify_cached->(join("\t", $p->rflags));
+ my $m = "$flags\t$s";
+ $group{$p->name} = ($memo{$m} ||= _or_clean($m));
+ }
+ }
+ my (%sizes, %pkgs);
+ while (my ($k, $v) = each %group) {
+ my $pkg = packageByName($packages, $k) or next;
+ push @{$pkgs{$v}}, $k;
+ $sizes{$v} += $pkg->size - $packages->{sizes}{$pkg->name};
+ }
+ log::l("install::pkgs::computeGroupSize took: ", formatTimeRaw(time() - $time));
+ log::l(sprintf "%s %dMB %s", $_, $sizes{$_} / sqr(1024), join(',', @{$pkgs{$_}})) foreach keys %sizes;
+ \%sizes, \%pkgs;
+}
+
+
+sub _openInstallLog() {
+ my $f = "$::prefix/root/drakx/install.log";
+ open(my $LOG, ">> $f") ? log::l("opened $f") : log::l("Failed to open $f. No install log will be kept."); #-#
+ CORE::select((CORE::select($LOG), $| = 1)[0]);
+ URPM::rpmErrorWriteTo(fileno $LOG);
+ $LOG;
+}
+
+sub _rebuild_RPM_DB() {
+ if (my $pid = fork()) {
+ waitpid $pid, 0;
+ $? & 0xff00 and die "rebuilding of rpm database failed";
+ } else {
+ log::l("rebuilding rpm database");
+ my $rebuilddb_dir = "$::prefix/var/lib/rpmrebuilddb.$$";
+ if (-d $rebuilddb_dir) {
+ log::l("removing stale directory $rebuilddb_dir");
+ rm_rf($rebuilddb_dir);
+ }
+
+ if (!URPM::DB::rebuild($::prefix)) {
+ log::l("rebuilding of rpm database failed: " . URPM::rpmErrorString());
+ c::_exit(2);
+ }
+
+ c::_exit(0);
+ }
+}
+
+sub rpmDbOpen {
+ my ($b_rebuild_if_needed) = @_;
+
+ clean_rpmdb_shared_regions();
+
+ my $need_rebuild = $b_rebuild_if_needed && !URPM::DB::verify($::prefix);
+
+ _rebuild_RPM_DB() if $need_rebuild;
+
+ my $db;
+ if ($db = URPM::DB::open($::prefix)) {
+ log::l("opened rpm database for examining existing packages");
+ } else {
+ log::l("unable to open rpm database, using empty rpm db emulation");
+ $db = new URPM;
+ }
+
+ $db;
+}
+
+sub clean_rpmdb_shared_regions() {
+ unlink glob("$::prefix/var/lib/rpm/__db.*");
+}
+
+sub open_rpm_db_rw() {
+ clean_rpmdb_shared_regions();
+ my $db = URPM::DB::open($::prefix, 1);
+ $db and log::l("opened rpmdb for writing in $::prefix");
+ $db;
+}
+
+sub cleanOldRpmDb() {
+ my $failed;
+
+ foreach (qw(Basenames Conflictname Group Name Packages Providename Requirename Triggername)) {
+ -s "$::prefix/var/lib/rpm/$_" or $failed = 'failed';
+ }
+ #- rebuilding has been successfull, so remove old rpm database if any.
+ #- once we have checked the rpm4 db file are present and not null, in case
+ #- of doubt, avoid removing them...
+ unless ($failed) {
+ log::l("rebuilding rpm database completed successfully");
+ foreach (qw(conflictsindex.rpm fileindex.rpm groupindex.rpm nameindex.rpm packages.rpm
+ providesindex.rpm requiredby.rpm triggerindex.rpm)) {
+ -e "$::prefix/var/lib/rpm/$_" or next;
+ log::l("removing old rpm file $_");
+ rm_rf("$::prefix/var/lib/rpm/$_");
+ }
+ }
+}
+
+sub selectPackagesAlreadyInstalled {
+ my ($packages) = @_;
+
+ log::l("computing installed flags and size of installed packages");
+
+ $packages->compute_installed_flags($packages->{rpmdb});
+
+ my %sizes;
+ $packages->{rpmdb}->traverse(sub {
+ my ($p) = @_;
+ $sizes{$p->name} ||= 0;
+ $sizes{$p->name} += $p->size;
+ });
+ $packages->{sizes} = \%sizes;
+}
+
+sub selectPackagesToUpgrade {
+ my ($packages, $o_medium) = @_;
+
+ log::l("selecting packages to upgrade");
+
+ my $state = $packages->{state} ||= {};
+ $state->{selected} = {};
+
+ my %selection;
+ $packages->request_packages_to_upgrade($packages->{rpmdb}, $state, \%selection,
+ requested => undef,
+ $o_medium ? (start => $o_medium->{start}, end => $o_medium->{end}) : (),
+ );
+ log::l("selected pkgs to upgrade: " . join(' ', map { $packages->{depslist}[$_]->name } keys %selection));
+
+ log::l("resolving dependencies...");
+ _resolve_requested_and_check($packages, $state, \%selection);
+ log::l("...done");
+ log::l("finally selected pkgs: ", join(" ", sort map { $_->name } grep { $_->flag_selected } @{$packages->{depslist}}));
+}
+
+sub _filter_packages {
+ my ($retry, $packages, @packages) = @_;
+ grep {
+ if ($_->flag_installed || packageMedium($packages, $_)->{ignore}) {
+ if ($_->name eq 'mga-rpm-summary' && $_->flag_installed) {
+ install::pkgs::setup_rpm_summary_translations();
+ }
+ $_->free_header;
+ 0;
+ } else {
+ log::l("failed to install " . $_->fullname . " (will retry)") if !$retry;
+ 1;
+ }
+ } @packages;
+}
+
+sub install {
+ my ($isUpgrade, $toInstall, $packages, $callback) = @_;
+ my %packages;
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+ #- avoid potential problems with rpm db personality change
+ clean_rpmdb_shared_regions();
+
+ return if !@$toInstall;
+
+ #- for root loopback'ed /boot
+ my $loop_boot = fs::loopback::prepare_boot();
+
+ #- first stage to extract some important information
+ #- about the selected packages.
+ my ($total, $nb) = (0, 0);
+ foreach my $pkg (@$toInstall) {
+ $packages{$pkg->id} = $pkg;
+ $nb++;
+ $total += $pkg->size; #- do not correct for upgrade!
+ }
+
+ log::l("install::pkgs::install $::prefix");
+ log::l("install::pkgs::install the following: ", join(" ", map { $_->name } values %packages));
+
+ URPM::read_config_files();
+ # force loading libnss*
+ getgrent();
+ URPM::add_macro(join(' ', '__dbi_other', URPM::expand('%__dbi_other'), 'nofsync'));
+ my $LOG = _openInstallLog();
+
+ $packages->{log} = $packages->{info} = $packages->{print} = sub {
+ print $LOG "$_[0]\n";
+ };
+
+ #- do not modify/translate the message used with installCallback since
+ #- these are keys during progressing installation, or change in other
+ #- place (install::steps_gtk.pm,...).
+ $callback->($packages, user => undef, install => $nb, $total);
+
+ my $exit_code = _install_raw($packages, $isUpgrade, $callback, $LOG, 0);
+
+ log::l("closing install.log file");
+ close $LOG;
+
+ # prevent urpmi from trying to install them again (CHECKME: maybe uneeded):
+ $packages->{state} = {};
+
+ clean_rpmdb_shared_regions(); #- workaround librpm which is buggy when using librpm rooted and the just installed rooted library
+
+ fs::loopback::save_boot($loop_boot);
+
+ $exit_code;
+}
+
+sub _unselect_package {
+ my ($packages, $pkg) = @_;
+ #- update flag associated to package.
+ $pkg->set_flag_installed(1);
+ $pkg->set_flag_upgrade(0);
+ #- update obsoleted entry.
+ my $rejected = $packages->{state}{rejected};
+ foreach (keys %$rejected) {
+ if (delete $rejected->{$_}{closure}{$pkg->fullname}) {
+ %{$rejected->{$_}{closure}} or delete $rejected->{$_};
+ }
+ }
+}
+
+sub is_package_installed {
+ my ($db, $pkg) = @_;
+ my $check_installed;
+ $db->traverse_tag('name', [ $pkg->name ], sub {
+ my ($p) = @_;
+ $check_installed ||= $pkg->compare_pkg($p) == 0;
+ });
+ return $check_installed;
+}
+
+sub _install_raw {
+ my ($packages, $_isUpgrade, $callback, $LOG, $noscripts) = @_;
+
+ # prevent warnings in install's logs:
+ local $ENV{LC_ALL} = 'C';
+
+ # let's be urpmi's compatible:
+ local $packages->{options}{noscripts} = $noscripts;
+ # leaks a fd per transaction (around ~100 for a typically gnome install, see #49097):
+ # bug present in 2009.0, 2008.1, 2008.0, ... (probably since r11141 aka when switching to rpm-4.2 in URPM-0.83)
+ local $packages->{options}{script_fd} = fileno $LOG;
+
+ start_pushing_error();
+
+ log::l("rpm transactions start");
+
+ my ($is_installing, $verify_just_closed);
+ my $exit_code = urpm::main_loop::run($packages, $packages->{state}, undef, undef, {
+ open_helper => sub {
+ &$callback;
+ $is_installing = 0;
+ },
+ verify => $callback,
+ close_helper => sub {
+ my ($db, $packages, $_type, $id) = @_;
+ &$callback;
+ return if !$is_installing; # don't check if it's installed if it's being verified
+ my $pkg = defined $id && $packages->{depslist}[$id] or return;
+ print $LOG $pkg->fullname . "\n";
+ my $check_installed = is_package_installed($db, $pkg);
+ if ($pkg->name eq 'mga-rpm-summary' && $check_installed) {
+ install::pkgs::setup_rpm_summary_translations();
+ }
+
+ if ($check_installed) {
+ _unselect_package($packages, $pkg);
+ } else {
+ log::l($pkg->name . " not installed, " . URPM::rpmErrorString());
+ }
+ },
+ inst => sub {
+ &$callback;
+ $is_installing = 1;
+ },
+ trans => $callback,
+ # FIXME: implement already_installed_or_not_installable
+ bad_signature => sub {
+ my ($msg, $msg2) = @_;
+ $msg =~ s/:$/\n\n/m; # FIXME: to be fixed in urpmi after 2008.0 (sic!)
+ log::l($msg);
+ log::l($msg2);
+ return 0 if $packages->{options}{auto};
+ state $do_not_ask;
+ state $answer;
+ return $answer if $do_not_ask;
+ $answer = $::o->ask_from_({ messages => "$msg\n\n$msg2" }, [
+ { val => \$do_not_ask,
+ type => 'bool', text => N("Do not ask again"),
+ },
+ ]);
+ },
+ copy_removable => sub {
+ my ($medium) = @_;
+ $::o->ask_change_cd($medium);
+ },
+ is_canceled => sub {
+ return $install::pkgs::cancel_install;
+ },
+ trans_error_summary => sub {
+ my ($nok, $errors) = @_;
+ log::l($nok . " installation transactions failed");
+ log::l(join("\n", @$errors));
+ if (!$packages->{options}{auto}) {
+ $::o->ask_warn(N("Error"), N("%d installation transactions failed", $nok) . "\n\n" .
+ N("Installation of packages failed:") . "\n\n" . join("\n", @$errors));
+ }
+ },
+ completed => sub {
+ if (!$packages->{options}{auto}) {
+ popup_errors();
+ }
+ },
+ message => sub {
+ my ($title, $message) = @_;
+ log::l($message);
+ $::o->ask_warn($title, $message);
+ },
+ ask_yes_or_no => sub {
+ my ($title, $msg) = @_;
+ log::l($msg);
+ $::o->ask_yesorno($title, $msg);
+ },
+ ask_for_bad_or_missing => sub {
+ my ($_title, $msg) = @_;
+ log::l($msg);
+ state $do_not_ask;
+ state $answer;
+ return $answer if $do_not_ask;
+ $answer = $::o->ask_from_({ messages => $msg }, [
+ { val => \$do_not_ask, type => 'bool', text => N("Do not ask again"),
+ },
+ ]);
+ },
+ # Uneeded callbacks: success_summary
+ });
+
+ log::l("transactions done, now trying to close still opened fd; exit code=$exit_code");
+
+ $exit_code;
+}
+
+sub upgrade_by_removing_pkgs {
+ my ($packages, $callback, $extension, $upgrade_name) = @_;
+
+ my $upgrade_data;
+ if ($upgrade_name) {
+ my @l = glob("$ENV{SHARE_PATH}/upgrade/$upgrade_name*");
+ @l == 0 and log::l("upgrade_by_removing_pkgs: no special upgrade data");
+ @l > 1 and log::l("upgrade_by_removing_pkgs: many special upgrade data (" . join(' ', @l) . ")");
+ $upgrade_data = $l[0];
+ }
+
+ log::l("upgrade_by_removing_pkgs (extension=$extension, upgrade_data=$upgrade_data)");
+
+ #- put the release file in /root/drakx so that we continue an upgrade even if the file has gone
+ my $f = common::release_file($::prefix);
+ if (dirname($f) eq '/etc') {
+ output_p("$::prefix/root/drakx/" . basename($f) . '.upgrading', cat_("$::prefix$f"));
+ }
+ my $busy_var_tmp = "$::prefix/var/tmp/ensure-rpm-does-not-remove-this-dir";
+ touch($busy_var_tmp);
+
+ if ($upgrade_data) {
+ foreach (glob("$upgrade_data/pre.*")) {
+ my $f = '/tmp/' . basename($_);
+ cp_af($_, "$::prefix$f");
+ run_program::rooted($::prefix, $f);
+ unlink "$::prefix$f";
+ }
+ }
+
+ my @was_installed = _remove_pkgs_to_upgrade($packages, $callback, $extension);
+
+ {
+ my @restore_files = qw(/etc/passwd /etc/group /etc/ld.so.conf);
+ foreach (@restore_files) {
+ rename "$::prefix$_.rpmsave", "$::prefix$_";
+ }
+ fs::any::create_minimal_files();
+ unlink $busy_var_tmp;
+ }
+
+ my %map = map {
+ chomp;
+ my ($name, @new) = split;
+ $name => \@new;
+ } $upgrade_data ? cat_("$upgrade_data/map") : ();
+
+ log::l("upgrade_by_removing_pkgs: map $upgrade_data/map gave " . (int keys %map) . " rules");
+
+ my $log;
+ my @to_install = uniq(map {
+ $log .= " $_=>" . join('+', @{$map{$_}}) if $map{$_};
+ $map{$_} ? @{$map{$_}} : $_;
+ } @was_installed);
+ log::l("upgrade_by_removing_pkgs special maps:$log");
+ log::l("upgrade_by_removing_pkgs: wanted packages: ", join(' ', sort @to_install));
+
+ @to_install;
+}
+
+sub removed_pkgs_to_upgrade_file() { "$::prefix/root/drakx/removed_pkgs_to_upgrade" }
+
+sub _remove_pkgs_to_upgrade {
+ my ($packages, $callback, $extension) = @_;
+
+ my @to_remove;
+ my @was_installed;
+ {
+ $packages->{rpmdb} ||= rpmDbOpen();
+ $packages->{rpmdb}->traverse(sub {
+ my ($pkg) = @_;
+ if ($pkg->release =~ /$extension$/) {
+ push @was_installed, $pkg->name;
+ push @to_remove, scalar $pkg->fullname;
+ }
+ });
+ }
+ if (-e removed_pkgs_to_upgrade_file()) {
+ log::l("removed_pkgs_to_upgrade: using saved installed packages list ", removed_pkgs_to_upgrade_file());
+ @was_installed = chomp_(cat_(removed_pkgs_to_upgrade_file()));
+ } else {
+ log::l("removed_pkgs_to_upgrade: saving (old) installed packages in ", removed_pkgs_to_upgrade_file());
+ output_p(removed_pkgs_to_upgrade_file(), map { "$_\n" } @was_installed);
+ }
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+
+ _remove(\@to_remove, $callback, noscripts => 1);
+
+ @was_installed;
+}
+
+sub remove_marked_ask_remove {
+ my ($packages, $callback) = @_;
+
+ my @to_remove = keys %{$packages->{state}{ask_remove}} or return;
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+
+ #- we are not checking depends since it should come when
+ #- upgrading a system. although we may remove some functionalities ?
+
+ _remove(\@to_remove, $callback, force => 1);
+
+ delete $packages->{state}{ask_remove}{$_} foreach @to_remove;
+}
+
+sub _remove_raw {
+ my ($to_remove, $callback, %run_transaction_options) = @_;
+
+ log::l("removing: " . join(' ', @$to_remove));
+
+ URPM::read_config_files();
+ URPM::add_macro(URPM::expand('__dbi_other %__dbi_other nofsync'));
+
+ my $db = open_rpm_db_rw() or die "error opening RPM database: ", URPM::rpmErrorString();
+ my $trans = $db->create_transaction;
+
+ #- stuff remove all packages that matches $p, not a problem since $p has name-version-release format.
+ $trans->remove($_) foreach @$to_remove;
+
+ $callback->($db, user => undef, remove => scalar @$to_remove);
+
+ $trans->run(undef, %run_transaction_options, callback_uninst => $callback);
+}
+sub _remove {
+ my ($_to_remove, $_callback, %run_transaction_options) = @_;
+
+ my @pbs = &_remove_raw;
+ if (@pbs && !$run_transaction_options{noscripts}) {
+ $run_transaction_options{noscripts} = 1;
+ @pbs = &_remove_raw;
+ }
+ if (@pbs) {
+ die "removing of old rpms failed:\n ", join("\n ", @pbs);
+ }
+}
+
+sub setup_rpm_summary_translations() {
+ my @domains = qw(rpm-summary-contrib rpm-summary-devel rpm-summary-main);
+ push @::textdomains, @domains;
+ foreach (@domains) {
+ Locale::gettext::bind_textdomain_codeset($_, 'UTF-8');
+ Locale::gettext::bindtextdomain($_, "$::prefix/usr/share/locale");
+ }
+}
+
+sub selected_leaves {
+ my ($packages) = @_;
+ my $provides = $packages->{provides};
+
+ my @l = grep { $_->flag_requested || $_->flag_installed } @{$packages->{depslist}};
+
+ my %required_ids;
+ foreach my $pkg (@l) {
+ foreach my $req ($pkg->requires_nosense) {
+ my $h = $provides->{$req} or next;
+ my @provides = my ($provide) = keys %$h;
+ @provides == 1 or next;
+ if ($provide != (exists $required_ids{$pkg->id} ? $required_ids{$pkg->id} : $pkg->id)) {
+# log::l($packages->{depslist}[$provide]->name . " is not a leaf because required by " . $pkg->name . " (through require $req)");
+ #- $pkg requires $req, provided by $provide, so we can skip $provide
+ $required_ids{$provide} = $pkg->id;
+ }
+ }
+ }
+ [ map { $_->name } grep { ! exists $required_ids{$_->id} } @l ];
+}
+
+1;
diff --git a/perl-install/install/share/aliases b/perl-install/install/share/aliases
new file mode 100644
index 000000000..f58e6b9ca
--- /dev/null
+++ b/perl-install/install/share/aliases
@@ -0,0 +1,11 @@
+/etc/ndiswrapper /mnt/etc/ndiswrapper
+/sbin/loadndisdriver /mnt/sbin/loadndisdriver
+/bin/gunzip gzip
+/usr/bin/install2 ../lib/libDrakX/install/install2
+/usr/bin/commands ../lib/libDrakX/install/commands
+/usr/bin/runinstall2 install2
+/sbin/fsck.ext2 e2fsck
+/lib/modules /modules
+/lib/firmware /firmware
+/sbin/hotplug /hotplug
+/usr/share/X11/xkb/compiled /tmp
diff --git a/perl-install/share/consolefonts/Cyr_a8x16 b/perl-install/install/share/consolefonts/Cyr_a8x16
index a09ac03d8..a09ac03d8 100644
--- a/perl-install/share/consolefonts/Cyr_a8x16
+++ b/perl-install/install/share/consolefonts/Cyr_a8x16
Binary files differ
diff --git a/perl-install/share/consolefonts/lat0-sun16 b/perl-install/install/share/consolefonts/lat0-sun16
index 19e3d432e..19e3d432e 100644
--- a/perl-install/share/consolefonts/lat0-sun16
+++ b/perl-install/install/share/consolefonts/lat0-sun16
Binary files differ
diff --git a/perl-install/share/consolefonts/lat2-sun16 b/perl-install/install/share/consolefonts/lat2-sun16
index 509e5def2..509e5def2 100644
--- a/perl-install/share/consolefonts/lat2-sun16
+++ b/perl-install/install/share/consolefonts/lat2-sun16
Binary files differ
diff --git a/perl-install/share/consolefonts/ruscii_8x16 b/perl-install/install/share/consolefonts/ruscii_8x16
index b0513a9db..b0513a9db 100644
--- a/perl-install/share/consolefonts/ruscii_8x16
+++ b/perl-install/install/share/consolefonts/ruscii_8x16
Binary files differ
diff --git a/perl-install/install/share/gdb-inst b/perl-install/install/share/gdb-inst
new file mode 100644
index 000000000..8cd7d837e
--- /dev/null
+++ b/perl-install/install/share/gdb-inst
@@ -0,0 +1,24 @@
+#!/bin/sh
+cat <<EOF
+You can now type "run" in order to start the installer from within the debugger.
+If it segfaults, you can:
+- go back to tty2 by pressing Alt+Ctlr+F2.
+- type "gcore" in order to generate a core file
+- type "exit" to go back to the shell.
+- you can then:
+ o either plug a USB key to your physical/virtual machine and copy the
+ core.XXXX file on it
+ o copy it to /mnt if you already passed the partitionning step ;
+ you can later retrieve it from another OS (dual boot) or using guestfish if
+ it's a virtual machine
+
+On a real Mageia system, you can then install the needed debuginfo packages and
+get a proper stack trace with GDB. You would probably need at least the
+following packages:
+ urpmi {glibc,perl{,-Glib,-Gtk2},glib2.0,gtk+2.0}-debuginfo
+
+
+WARNING: that keyboard is in QWERTY mode!!!!
+
+EOF
+exec gdb -q --args perl /usr/bin/install2
diff --git a/perl-install/install/share/generate-xlocales b/perl-install/install/share/generate-xlocales
new file mode 100755
index 000000000..60607af7b
--- /dev/null
+++ b/perl-install/install/share/generate-xlocales
@@ -0,0 +1,67 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 2006 Mandriva
+# Pablo Saraxtaga <pablo@mandriva.com>
+# Thierry Vignaud <thierry.vignaud.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+use strict;
+use lib qw(..); # for lang
+# perl_checker: use lib qw(/usr/lib/libDrakX/)
+use MDK::Common;
+use lang;
+
+my $prefix = $ARGV[0];
+
+my $dir = "$prefix/usr/share/X11/locale";
+mkdir_p($dir);
+
+output("$dir/locale.alias",
+qq(# automatically build list; only valid for install
+# since gtk+-2 is used, which uses unicode internally,
+# all locales to UTF-8 ones
+),
+ sort(uniq((map { "$_:\t\t\ten_US.UTF-8\n" } lang::list_langs()),
+ (map { "$_:\t\t\ten_US.UTF-8\n" } (@lang::locales)),
+ qq(zh_CN.gb2312:\t\t\ten_US.UTF-8
+zh_CN.GB2312:\t\t\ten_US.UTF-8
+zh_CN.Big5:\t\t\ten_US.UTF-8
+),
+ ),
+ ),
+ );
+
+output("$dir/locale.dir",
+ qq(# automatically build list ; only valid for install
+C/XLC_LOCALE: C
+en_US.UTF-8/XLC_LOCALE: UTF-8
+iso8859-1/XLC_LOCALE: ISO8859-1
+),
+ map { s/(.*_..)(\.[^@]*)*(\@.*)*$/${1}.UTF-8${3}/; "en_US.UTF-8/XLC_LOCALE: $_\n" } @lang::locales
+ );
+
+
+output("$dir/compose.dir",
+ qq(# list automatically build list ; only valid for install
+C/Compose: C
+en_US.UTF-8/Compose: UTF-8
+iso8859-1/Compose: ISO8859-1
+),
+ map {
+ s/(.*_..)(\.[^@]*)*(\@.*)*$/${1}.UTF-8${3}/;
+ "en_US.UTF-8/Compose: $_\n";
+ } @lang::locales
+ );
diff --git a/perl-install/install/share/gtk.css b/perl-install/install/share/gtk.css
new file mode 100644
index 000000000..3befe735c
--- /dev/null
+++ b/perl-install/install/share/gtk.css
@@ -0,0 +1,7 @@
+/* CSD for windows: */
+window, .window-frame {
+ border-width: 1px;
+ border: solid 1px alpha(black, 0.75);
+ border-radius: 7px 7px 0 0;
+}
+
diff --git a/perl-install/install/share/gtkrc b/perl-install/install/share/gtkrc
new file mode 100644
index 000000000..6d4b2f48c
--- /dev/null
+++ b/perl-install/install/share/gtkrc
@@ -0,0 +1 @@
+gtk-theme-name = "oxygen-gtk"
diff --git a/perl-install/install/share/keymaps.tar.bz2 b/perl-install/install/share/keymaps.tar.bz2
new file mode 100644
index 000000000..c2fd4db57
--- /dev/null
+++ b/perl-install/install/share/keymaps.tar.bz2
Binary files differ
diff --git a/perl-install/install/share/keymaps_generate b/perl-install/install/share/keymaps_generate
new file mode 100755
index 000000000..6a43556e5
--- /dev/null
+++ b/perl-install/install/share/keymaps_generate
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+use lib "/usr/lib/libDrakX";
+use keyboard;
+
+my $dir = "keymaps/usr/share/keymaps";
+system("rm -rf keymaps ; mkdir -p keymaps/usr/share/keymaps");
+
+foreach (keyboard::keyboards()) {
+ my $kmap = keyboard::keyboard2kmap($_);
+ if (system("./kmap2bkmap $kmap > $dir/$kmap.bkmap") != 0) {
+ warn "unknown kmap $kmap\n";
+ unlink "$dir/$kmap.bkmap";
+ }
+}
+
+system("tar cfj keymaps.tar.bz2 -C keymaps usr") == 0 or die;
+system("rm -rf keymaps");
diff --git a/perl-install/install/share/kmap2bkmap b/perl-install/install/share/kmap2bkmap
new file mode 100755
index 000000000..9870ef3ef
--- /dev/null
+++ b/perl-install/install/share/kmap2bkmap
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+use lib "/usr/lib/libDrakX";
+use c;
+
+my $KMAP_MAGIC = 0x8B39C07F;
+
+BEGIN { @ARGV == 1 or die "usage: kmap2bkmap <keymap>\n" }
+
+# load unicode keymap
+my $unimap = $ARGV[0] . ".uni";
+system("sudo loadkeys $unimap") == 0 or die;
+open my $F, "dumpkeys -n -f |";
+<$F> =~ /^keymaps\s+(.*)/ or die;
+
+my @keymaps;
+foreach (split ',', $1) {
+ my @l = /(\d+)-(\d+)/;
+ my ($i, $j) = @l ? @l : ($_,$_);
+ $keymaps[$_] = 1 foreach $i .. $j;
+}
+
+print pack("I", $KMAP_MAGIC);
+print map { pack "i", $keymaps[$_] || 0 } 0 .. c::MAX_NR_KEYMAPS()-1;
+
+my @L;
+foreach (<$F>) {
+ s/\+0x/0x/g;
+ my ($keycode, $key, undef, @l) = split;
+ $keycode eq 'keycode' or next;
+ my $i = 0;
+ $L[$i++][$key] = hex $_ foreach @l;
+}
+close $F or die "dumpkeys failed";
+
+foreach (@L) {
+ foreach my $i (0 .. c::NR_KEYS()-1) {
+ print pack "s", defined $_->[$i] ? $_->[$i] : 0x200;
+ }
+}
+
+exit 0;
diff --git a/perl-install/install/share/list.xml b/perl-install/install/share/list.xml
new file mode 100644
index 000000000..3c1100d34
--- /dev/null
+++ b/perl-install/install/share/list.xml
@@ -0,0 +1,791 @@
+<list no-arch-libraries="on">
+
+<from expand="binary">
+ ash dash.static echo
+ aria2c cp curl md5sum wget <!-- needed by urpmi -->
+ rpm rpmdb <!-- needed to rebuild database -->
+ cpio gzip bzip2 xz
+ grub2-editenv
+ insmod modinfo rmmod modprobe lsmod
+
+ <!-- block device tools -->
+ cryptsetup dmsetup
+ dmraid kpartx
+ fdisk
+ losetup
+ lvm2 lvm lvs pvs vgs mdadm mdmon
+ quotacheck
+
+ <!-- virtualization integration -->
+ spice-vdagent spice-vdagentd
+ systemd-detect-virt
+
+ udevadm <!-- needed by mouse::detect & stage2 -->
+
+ <!-- FS tools -->
+ badblocks
+ mkswap swaplabel
+ mkfs.btrfs btrfs btrfsck fsck.btrfs btrfstune
+ mkfs.exfat tune.exfat
+ mkfs.ext2 mkfs.ext3 mkfs.ext4 e2fsck tune2fs dumpe2fs resize2fs
+ mkfs.f2fs fsck.f2fs resize.f2fs
+ mkfs.fat dosfslabel mlabel
+ mkfs.jfs fsck.jfs jfs_tune
+ mkfs.nilfs2 nilfs-tune nilfs-resize
+ mkfs.ntfs ntfsresize ntfslabel
+ mkfs.reiserfs resize_reiserfs reiserfstune
+ mkfs.xfs xfs_admin xfs_growfs
+ mount mount.nfs umount
+ xfs_freeze xfs_io <!-- needed for setup grub on XFS formated / -->
+ xfs_db <!-- needed by xfs_admin for setting UUID -->
+
+ tty stty <!-- needed for text mode installer (through unicode_start) -->
+
+ setfont kbd_mode
+ <mode copy="dereference">
+ Xorg
+ </mode>
+ xset
+ xkbcomp setxkbmap
+ libinput
+
+ scrot <!-- for screenshots -->
+ perl
+ monitor-edid
+ <if ARCH="i.86|x86_64">
+ monitor-get-edid-using-vbe
+ </if>
+ monitor-parse-edid monitor-get-edid
+
+ <filter subst="s!^echo!/bin/echo!">
+ unicode_start
+ </filter>
+
+ <if ARCH="i.86|x86_64">
+ dmidecode
+ </if>
+ <if ARCH="ia64">
+ efibootmgr
+ </if>
+
+ <if set="DEBUG_INSTALL">
+ strace bash less ps top gdb busybox cfdisk partprobe chroot grep vim-minimal rpm urpmi
+ </if>
+</from>
+
+<!-- when adding udev rules, think whether they're needed in rescue too
+ (../../../rescue/list.xml) -->
+<from dir="/lib/udev/rules.d">
+ 10-dm.rules
+ 11-dm-lvm.rules
+ 13-dm-disk.rules
+ 50-udev-default.rules <!-- needed for input in X11 -->
+ 60-evdev.rules
+ 60-input-id.rules
+ 60-persistent-input.rules
+ 60-persistent-storage.rules
+ 60-sensor.rules
+ 61-x11-input.rules
+ 63-md-raid-arrays.rules
+ 64-md-raid-assembly.rules
+ 65-libwacom.rules
+ 70-mouse.rules
+ 70-spice-vdagentd.rules
+ 70-touchpad.rules
+ 70-uaccess.rules
+ 75-net-description.rules
+ 80-drivers.rules
+ 80-libinput-device-groups.rules
+ 80-net-setup-link.rules
+ 90-libinput-fuzz-override.rules
+ 95-dm-notify.rules
+</from>
+<from dir="/usr/lib/udev/hwdb.d">
+ <from expand="glob">
+ *.hwdb
+ </from>
+</from>
+
+<from dir="/usr/libexec">
+ Xorg
+ Xorg.wrap
+ <!-- needed by WebKit-4.1.typelib -->
+ webkit2gtk-4.1/WebKitNetworkProcess
+ webkit2gtk-4.1/WebKitWebProcess
+ <!-- glycin-loaders -->
+ glycin-loaders/2+/glycin-image-rs
+ glycin-loaders/2+/glycin-svg
+ <from expand="glob">
+ libinput/libinput-*
+ </from>
+</from>
+
+<from dir="/usr/LIB/imlib2/loaders"> <!-- for scrot/giblib -->
+ argb.so
+ jpeg.so
+ png.so
+ zlib.so
+</from>
+
+<!-- needed by Gtk3 introspection -->
+<from dir="/usr/LIB/girepository-1.0">
+ Atk-1.0.typelib
+ cairo-1.0.typelib
+ freetype2-2.0.typelib <!-- needed by WebKit-4.1.typelib -->
+ Gdk-3.0.typelib
+ GdkPixbuf-2.0.typelib
+ GdkPixdata-2.0.typelib
+ GdkX11-3.0.typelib
+ Gio-2.0.typelib
+ GLib-2.0.typelib
+ GModule-2.0.typelib
+ GObject-2.0.typelib
+ Gtk-3.0.typelib
+ HarfBuzz-0.0.typelib <!-- needed by Pango-1.0.typelib -->
+ JavaScriptCore-4.1.typelib <!-- needed by WebKit-4.1.typelib -->
+ Pango-1.0.typelib
+ Soup-3.0.typelib <!-- needed by WebKit-4.1.typelib -->
+ WebKit2-4.1.typelib
+ xlib-2.0.typelib
+</from>
+
+<from dir="/usr/LIB/xorg/modules">
+ drivers/fbdev_drv.so
+ <if ARCH="i.86|x86_64">
+ drivers/vesa_drv.so
+ libint10.so
+ </if>
+ input/libinput_drv.so
+ input/wacom_drv.so
+ libfbdevhw.so
+ libshadow.so
+</from>
+
+<from dir="/usr/share/X11/xorg.conf.d">
+ <from expand="glob">
+ *.conf
+ </from>
+</from>
+
+<!-- fix "No GSettings schemas are installed on the system" -->
+<from dir="/usr/share/glib-2.0/schemas">
+ <from expand="glob">
+ gschema*
+ org.gnome.desktop.*
+ </from>
+</from>
+
+<!-- keyboard layouts -->
+<from dir="/usr/share/X11/xkb">
+ <filter subst="s!//.*!!">
+ geometry/pc
+ keycodes/aliases
+ keycodes/evdev
+ keycodes/xfree86
+ rules/base
+ rules/base.lst
+ <from expand="glob">
+ rules/evdev*
+ </from>
+ compat types
+ <from expand="glob">
+ symbols/*
+ </from>
+ </filter>
+</from>
+
+<from dir="/usr/share/fonts/">
+ <to flatten="on">
+ misc/cursor.pcf.gz
+ TTF/bengali/MuktiNarrow.ttf
+ TTF/dejavu/DejaVuSans.ttf
+ TTF/dejavu/DejaVuSans-Bold.ttf
+ TTF/dejavu/DejaVuSans-BoldOblique.ttf
+ TTF/devanagari/raghu.ttf
+ TTF/lohit/lohit_pa.ttf
+ TTF/thai/Norasi.ttf
+ TTF/wqy-microhei/wqy-microhei.ttc
+ </to>
+</from>
+
+<from dir="/usr/share/icons/Adwaita/">
+ index.theme
+ scalable/status/image-missing.svg
+ symbolic/actions/list-add-symbolic.svg
+ symbolic/actions/list-remove-symbolic.svg
+ symbolic/ui/pan-down-symbolic.svg
+ symbolic/ui/pan-end-symbolic-rtl.svg
+ symbolic/ui/pan-end-symbolic.svg
+ symbolic/ui/pan-start-symbolic-rtl.svg
+ symbolic/ui/pan-start-symbolic.svg
+ symbolic/ui/pan-up-symbolic.svg
+</from>
+
+<!-- translations for modules used by drakx -->
+<from dir="/usr/share/locale">
+ <to dir="/usr/share/locale_special">
+ <from expand="glob">
+ */LC_MESSAGES/draksnapshot.mo
+ */LC_MESSAGES/drakx-net.mo
+ */LC_MESSAGES/drakx-kbd-mouse-x11.mo
+ */LC_MESSAGES/gtk30.mo
+ */LC_MESSAGES/urpmi.mo
+ </from>
+ </to>
+</from>
+
+<from dir="/usr/share/X11/locale">
+ C
+ en_US.UTF-8
+ iso8859-1
+</from>
+
+<from dir="/usr/share/zoneinfo">
+ zone.tab
+</from>
+
+<filter command="strip">
+<from dir="/LIB">
+ libnss_files.so.2
+ libnss_dns.so.2
+ libresolv.so.2
+ ld-linux*.so.*
+ <!-- needed for mount.ntfs-3g -->
+ libfuse.so.2
+
+ <!-- needed by dmraid -->
+ libdmraid-events-isw.so
+
+ <!-- mutter -->
+ <from expand="glob">
+ mutter-*/plugins/libdefault.so
+ </from>
+
+ <!-- needed fro Gtk3-WebKit2 -->
+ <from expand="glob">
+ libwebkit2gtk-4.1.so.?
+ </from>
+ webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so
+</from>
+</filter>
+
+<from>
+ /etc/urpmi/prefer.vendor.list
+ /etc/mke2fs.conf
+ /etc/netconfig
+ /etc/fonts/
+ /etc/passwd
+ /etc/protocols
+
+ <from expand="glob">
+ /usr/LIB/ntfs-3g/*
+ </from>
+
+ <from expand="glob">
+ /usr/share/icu/*/icudt*.dat
+ </from>
+
+<!-- /usr/share/X11/XKeysymDB -->
+ /usr/LIB/libgdk_pixbuf-2.0.so.0
+ /usr/LIB/gtk-3.0/*/immodules/im-cedilla.so
+ /usr/share/mime/mime.cache
+
+ /usr/lib/libDrakX/keyboard.pm
+ /usr/lib/libDrakX/mouse.pm
+ /usr/lib/libDrakX/network
+ /usr/lib/libDrakX/Xconfig
+ /usr/lib/libDrakX/auto/xf86misc
+ /usr/lib/libDrakX/xf86misc
+ <mode copy="keep-links">
+ /usr/share/doc/installer-help/
+ </mode>
+ /usr/share/libDrakX/pixmaps
+
+ /usr/lib/rpm/rpmrc
+ <from expand="glob">
+ /usr/lib/rpm/rpmpopt-*
+ </from>
+ /usr/lib/rpm/sysusers.sh
+ /usr/lib/rpm/mageia/macros
+ /usr/lib/rpm/macros
+
+ <!-- glycin-loaders -->
+ /usr/share/glycin-loaders/2+/conf.d/glycin-image-rs.conf
+ /usr/share/glycin-loaders/2+/conf.d/glycin-svg.conf
+
+ /usr/share/pci.ids
+ /usr/share/usb.ids
+ /usr/share/locale/UTF-8
+ /usr/share/terminfo/l/linux
+ /bin/brltty
+ /sbin/mount.ntfs-3g <!-- cannot be expanded as binary, not executable for all users -->
+ /sbin/blkid
+
+ /sbin/mageia-setup-keyboard
+
+ /usr/bin/mutter
+
+ /usr/share/themes/Adwaita/gtk-3.0/gtk.css
+
+ /etc/pcmcia/config.opts
+ /etc/pki/tls/certs/ca-bundle.crt
+ /etc/pki/tls/cert.pem
+ /etc/pki/tls/openssl.cnf
+ /etc/crypto-policies/back-ends/opensslcnf.config
+
+ <!-- misc tools needed by some udev rules -->
+ /usr/lib/systemd/systemd-udevd
+ /usr/lib/udev/ata_id
+ /usr/lib/udev/libinput-device-group
+ /usr/lib/udev/libinput-fuzz-extract
+ /usr/lib/udev/libinput-fuzz-to-zero
+ /usr/lib/udev/pcmcia-socket-startup
+ /usr/lib/udev/scsi_id
+
+ <from expand="glob">
+ /usr/share/libinput/*.quirks
+ </from>
+
+ <!-- for GDB: -->
+ <if set="DEBUG_INSTALL">
+ /usr/libexec/gdb
+ <from expand="glob">
+ /usr/include/python3.*/pyconfig-*.h
+ /usr/LIB/libpython3.*so
+ /usr/LIB/python3.*/abc.py
+ /usr/LIB/python3.*/codecs.py
+ /usr/LIB/python3.*/_collections_abc.py
+ /usr/LIB/python3.*/contextlib.py
+ /usr/LIB/python3.*/copy.py
+ /usr/LIB/python3.*/copyreg.py
+ /usr/LIB/python3.*/collections/*.py
+ /usr/LIB/python3.*/enum.py
+ /usr/LIB/python3.*/importlib/*.py
+ /usr/LIB/python3.*/lib-dynload/*opcode*.so
+ /usr/LIB/python3.*/encodings/aliases.py
+ /usr/LIB/python3.*/encodings/__init__.py
+ /usr/LIB/python3.*/encodings/latin_1.py
+ /usr/LIB/python3.*/encodings/utf_8.py
+ /usr/LIB/python3.*/functools.py
+ /usr/LIB/python3.*/genericpath.py
+ /usr/LIB/python3.*/heapq.py
+ /usr/LIB/python3.*/io.py
+ /usr/LIB/python3.*/keyword.py
+ /usr/LIB/python3.*/linecache.py
+ /usr/LIB/python3.*/operator.py
+ /usr/LIB/python3.*/os.py
+ /usr/LIB/python3.*/posixpath.py
+ /usr/LIB/python3.*/reprlib.py
+ /usr/LIB/python3.*/site.py
+ /usr/LIB/python3.*/_sitebuiltins.py
+ /usr/LIB/python3.*/sre_compile.py
+ /usr/LIB/python3.*/sre_constants.py
+ /usr/LIB/python3.*/sre_parse.py
+ /usr/LIB/python3.*/stat.py
+ /usr/LIB/python3.*/sysconfig.py
+ /usr/LIB/python3.*/_sysconfigdata*.py
+ /usr/LIB/python3.*/tokenize.py
+ /usr/LIB/python3.*/token.py
+ /usr/LIB/python3.*/traceback.py
+ /usr/LIB/python3.*/types.py
+ /usr/LIB/python3.*/warnings.py
+ /usr/LIB/python3.*/weakref.py
+ /usr/LIB/python3.*/_weakrefset.py
+ /usr/share/gdb/guile/gdb/*
+ /usr/share/gdb/python/gdb/*
+ </from>
+ /usr/LIB/guile/3.0/ccache/language/scheme/compile-tree-il.go
+ /usr/LIB/guile/3.0/ccache/language/scheme/decompile-tree-il.go
+ /usr/LIB/guile/3.0/ccache/language/scheme/spec.go
+ /usr/LIB/guile/3.0/ccache/language/tree-il.go
+ /usr/LIB/guile/3.0/ccache/rnrs/bytevectors.go
+ /usr/LIB/guile/3.0/ccache/system/foreign.go
+ /usr/share/gdb/guile/gdb/boot.scm
+ /usr/share/gdb/guile/gdb.go
+ /usr/share/guile/3.0/language/bytecode/spec.scm
+ /usr/share/guile/3.0/language/bytecode.scm
+ /usr/share/guile/3.0/language/scheme/compile-tree-il.scm
+ /usr/share/guile/3.0/language/scheme/decompile-tree-il.scm
+ /usr/share/guile/3.0/language/scheme/spec.scm
+ /usr/share/guile/3.0/language/tree-il.scm
+ /usr/share/guile/3.0/language/tree-il/spec.scm
+ /usr/share/guile/3.0/srfi/srfi-9/gnu.scm
+ /usr/share/guile/3.0/system/foreign.scm
+ <from expand="glob">
+ /usr/LIB/guile/3.0/ccache/ice-9/*go
+ /usr/LIB/guile/3.0/ccache/srfi/*.go
+ /usr/LIB/guile/3.0/ccache/system/base/*.go
+ /usr/LIB/guile/3.0/ccache/system/vm/*.go
+ /usr/share/guile/3.0/ice-9/*.scm <!-- for boot-9.scm and its deps -->
+ /usr/share/guile/3.0/rnrs/*.scm
+ /usr/share/guile/3.0/rnrs/*/*.scm
+ /usr/share/guile/3.0/srfi/*
+ /usr/share/guile/3.0/system/base/*.scm
+ /usr/share/guile/3.0/system/vm/*.scm
+ </from>
+ /usr/share/guile/3.0/system/foreign.scm
+ /usr/share/gdb/guile/gdb.go
+ /usr/share/gdb/guile/gdb.scm
+ </if>
+
+ <from expand="glob">
+ /etc/brltty/*/*.ttb
+ /etc/brltty/*/*/*.txt
+ /LIB/brltty/libbrlttyb??.so
+ </from>
+
+ <!-- example how to include debuginfo in stage2:
+ <from expand="command">
+ rpm -ql ldetect-debuginfo drakxtools-backend-debuginfo x11-server-debuginfo |grep -E '.build-id/|\.debug'
+ </from>
+ -->
+ <from expand="command">
+ perl -Mlang -I.. -le 'print foreach lang::console_font_files()'
+ </from>
+</from>
+
+<from dir="/usr/share/ldetect-lst">
+ dmitable.gz pcitable.gz usbtable.gz
+ dkms-modules.alias fallback-modules.alias
+ <filter command="gzip">
+ Cards+ MonitorsDB isdn.db
+ </filter>
+</from>
+
+<from dir="/lib/module-init-tools">
+ ldetect-lst-modules.alias
+</from>
+
+<from dir="/usr/LIB/device-mapper">
+ <from expand="glob">
+ *.so
+ </from>
+</from>
+
+<from dir="/usr/LIB/gconv">
+ BIG5.so
+ EUC-JP.so
+ libGB.so
+ libJIS.so
+ libKSC.so
+ EUC-KR.so
+ ISO8859-15.so
+ ISO8859-14.so
+ ISO8859-13.so
+ ISO8859-9E.so
+ ISO8859-9.so
+ ISO8859-7.so
+ ISO8859-5.so
+ ISO8859-3.so
+ ISO8859-2.so
+ ISO8859-1.so
+ <from expand="glob">
+ KOI8-*.so
+ </from>
+ TIS-620.so
+ CP1251.so
+ GEORGIAN-PS.so
+ EUC-CN.so
+ gconv-modules
+</from>
+
+<!-- For the usrmove -->
+<from>
+ /usr/lib/dracut/modules.d/30convertfs/convertfs.sh
+</from>
+<from expand="binary">
+ find bash ldconfig mv rm cp ln
+</from>
+
+<filter subst="/^__END__/ and $_ = '', close ARGV">
+<from expand="main-perl">
+ AutoLoader.pm
+ Carp/Heavy.pm
+ Carp.pm
+ Exporter/Heavy.pm
+ Exporter.pm
+ File/Basename.pm
+ File/Find.pm
+ FileHandle.pm
+ File/Path.pm
+ File/Temp.pm
+ Getopt/Long.pm
+ IPC/Open2.pm
+ IPC/Open3.pm
+ Net/Cmd.pm
+ Net/Config.pm
+ Net/FTP/A.pm
+ Net/FTP/dataconn.pm
+ Net/FTP/I.pm
+ Net/FTP.pm
+ Net/Netrc.pm
+ Net/Ping.pm
+ PerlIO.pm
+ SelectSaver.pm
+ SelfLoader.pm
+ Symbol.pm
+ Tie/Hash.pm
+ Time/Local.pm
+ XSLoader.pm
+ base.pm
+ bytes.pm
+ constant.pm
+ dumpvar.pl
+ feature.pm
+ integer.pm
+ locale.pm
+ overload.pm
+ overloading.pm
+ parent.pm
+ strict.pm
+ unicore/To/Uc.pl <!-- needed for uc() on UTF-8 -->
+ utf8.pm
+ vars.pm
+ warnings.pm
+ warnings/register.pm
+ <if set="DEBUG_INSTALL">
+ perl5db.pl
+ Term/ReadLine.pm
+ </if>
+</from>
+
+<from expand="main-perl-bin">
+ B.pm
+ Config_git.pl
+ Config_heavy.pl
+ Config.pm
+ Cwd.pm
+ Data/Dumper.pm
+ DynaLoader.pm
+ Encode.pm
+ Encode/Alias.pm
+ Encode/Config.pm
+ Encode/Encoding.pm
+ Encode/MIME/Name.pm
+ Encode/Unicode.pm
+ Errno.pm
+ Fcntl.pm
+ File/Glob.pm
+ File/Spec.pm
+ File/Spec/Unix.pm
+ _h2ph_pre.ph
+ IO/File.pm
+ IO/Handle.pm
+ IO.pm
+ IO/Seekable.pm
+ IO/Select.pm
+ IO/Socket/INET.pm
+ IO/Socket.pm
+ IO/Socket/UNIX.pm
+ List/Util.pm
+ POSIX.pm
+ Scalar/Util.pm
+ Socket.pm
+ Storable.pm
+ Time/HiRes.pm
+ <if ARCH="i.86|x86_64">
+ asm/unistd_32.ph
+ asm/unistd_64.ph
+ </if>
+ asm/unistd.ph
+ auto/B/B.so
+ auto/Cwd/Cwd.so
+ auto/Data/Dumper/Dumper.so
+ auto/Encode/Encode.so
+ auto/Encode/Unicode/Unicode.so
+ auto/Fcntl/Fcntl.so
+ auto/File/Glob/Glob.so
+ auto/IO/IO.so
+ auto/List/Util/Util.so
+ auto/POSIX/POSIX.so
+ auto/re/re.so
+ auto/Socket/Socket.so
+ auto/Storable/Storable.so
+ auto/Time/HiRes/HiRes.so
+ bits/syscall.ph
+ bits/wordsize.ph
+ lib.pm
+ re.pm
+ syscall.ph
+ sys/syscall.ph
+</from>
+
+<from expand="perl-bin">
+ Cairo.pm
+ List/MoreUtils/XS.pm
+ Term/ReadKey.pm
+ XML/LibXML.pm
+ XML/LibXML/AttributeHash.pm
+ XML/LibXML/Error.pm
+ XML/LibXML/NodeList.pm
+ XML/LibXML/Reader.pm
+ XML/LibXML/XPathContext.pm
+ XML/LibXML/Boolean.pm
+ XML/LibXML/Literal.pm
+ XML/LibXML/Number.pm
+ auto/Cairo/Cairo.so
+ auto/List/MoreUtils/XS/XS.so
+ auto/Term/ReadKey/ReadKey.so
+ auto/XML/LibXML/LibXML.so
+ <if set="DEBUG_INSTALL">
+ Term/ReadLine/Gnu.pm
+ Term/ReadLine/Gnu/XS.pm
+ auto/Term/ReadLine/Gnu/Gnu.so
+ auto/Term/ReadLine/Gnu/XS/autosplit.ix
+ </if>
+</from>
+
+<from expand="perl">
+ Config/IniFiles.pm
+ Exporter/Tiny.pm
+ List/MoreUtils.pm
+ List/MoreUtils/PP.pm
+ MDV/Distribconf.pm
+ MDV/Packdrakeng.pm
+ MDV/Snapshot/Common.pm
+ MDV/Snapshot/Restore.pm
+ Parse/EDID.pm
+ String/ShellQuote.pm
+ Time/ZoneInfo.pm
+ XML/SAX/Exception.pm
+ urpm.pm
+ urpm/args.pm
+ urpm/cdrom.pm
+ urpm/cfg.pm
+ urpm/download.pm
+ urpm/get_pkgs.pm
+ urpm/install.pm
+ urpm/lock.pm
+ urpm/main_loop.pm
+ urpm/md5sum.pm
+ urpm/media.pm
+ urpm/mirrors.pm
+ urpm/msg.pm
+ urpm/orphans.pm
+ urpm/removable.pm
+ urpm/select.pm
+ urpm/signature.pm
+ urpm/util.pm
+ urpm/sys.pm
+ urpm/xml_info.pm
+ urpm/xml_info_pkg.pm
+</from>
+
+<from expand="rpm" matching="m!^/usr/(share|LIB)/perl5! and !/\.pod$/">
+ perl-Curses
+ perl-Curses-UI
+ perl-File-FnMatch
+ perl-Locale-gettext
+ <!-- for MDK::Cmmon: -->
+ perl-File-Sync
+ perl-Filesys-Df
+ perl-MDK-Common
+ <!-- Gtk stack: -->
+ perl-Cairo-GObject
+ perl-Glib
+ perl-Glib-Object-Introspection
+ perl-Gtk3
+ perl-Gtk3-WebKit2
+ perl-Pango
+ <!-- urpmi stack: -->
+ perl-Clone
+ perl-URPM
+</from>
+</filter>
+
+<from dir="..">
+ <to dir="$(REP4PMS)">
+ <filter command="strip">
+ <from expand="command">
+ cd .. ; find auto -follow -name "*.so"
+ </from>
+ </filter>
+ </to>
+</from>
+
+<from dir="../../tools">
+ <to dir="/usr/bin" flatten="on">
+ serial_probe/serial_probe
+ </to>
+</from>
+
+<from dir="../standalone">
+ <to dir="/usr/bin">
+ display_installer_help
+ display_release_notes.pl
+ </to>
+</from>
+
+<from dir="share">
+ <from expand="tar">
+ keymaps.tar.bz2
+ </from>
+
+ <to dir="/usr/share">
+ consolefonts symlinks
+ upgrade
+ </to>
+
+ <if set="DEBUG_INSTALL">
+ <to dir="/bin">
+ <!-- abusing '<from expand="command">' -->
+ <from expand="command">
+ echo 'gdb -q --args /usr/libexec/Xorg.wrap :0 -allowMouseOpenFail -xf86config /tmp/Xconf vt7 -dpi 75 -nolisten tcp'> share/gdb-x11;
+ chmod +x share/gdb-x11; echo gdb-x11
+ </from>
+ </to>
+ </if>
+
+ <!-- for gtk+3 that needs dbus to be initialized -->
+ <to dir="/etc">
+ <!-- abusing '<from expand="command">' -->
+ <from expand="command">
+ dbus-uuidgen > share/machine-id; echo machine-id
+ </from>
+ </to>
+
+ <!-- custom CSD CSS -->
+ <to dir="/usr/lib/libDrakX"> <!-- /.config/gtk-3.0 is RO -->
+ gtk.css <!-- symlinked in -->
+ </to>
+
+</from>
+
+<from dir="../pixmaps">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+</from>
+
+<from dir="../share">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+ <to dir="/usr/lib/libDrakX">
+ <from expand="glob">
+ *.css
+ </from>
+ </to>
+</from>
+
+<from dir="pixmaps">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+</from>
+
+<from dir="pixmaps/langs">
+ <to dir="/usr/share/langs">
+ <from expand="command">
+ perl -I.. -Mlang -le 'print "lang-$_.png" foreach lang::list_langs()'
+ </from>
+ </to>
+</from>
+
+</list>
diff --git a/perl-install/install/share/po/.gitignore b/perl-install/install/share/po/.gitignore
new file mode 100644
index 000000000..cd1f2c943
--- /dev/null
+++ b/perl-install/install/share/po/.gitignore
@@ -0,0 +1 @@
+*.mo
diff --git a/perl-install/install/share/po/.tx/config b/perl-install/install/share/po/.tx/config
new file mode 100644
index 000000000..8aa47b976
--- /dev/null
+++ b/perl-install/install/share/po/.tx/config
@@ -0,0 +1,8 @@
+[main]
+host = https://www.transifex.com
+
+[o:MageiaLinux:p:mageia:r:drakx_install]
+file_filter = <lang>.po
+source_file = DrakX.pot
+source_lang = en
+type = PO
diff --git a/perl-install/install/share/po/DrakX.pot b/perl-install/install/share/po/DrakX.pot
new file mode 100644
index 000000000..aa1f9ea97
--- /dev/null
+++ b/perl-install/install/share/po/DrakX.pot
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr ""
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/Makefile b/perl-install/install/share/po/Makefile
new file mode 100644
index 000000000..0bbdaf96f
--- /dev/null
+++ b/perl-install/install/share/po/Makefile
@@ -0,0 +1,47 @@
+NAME = DrakX
+LOCALEDIR = ${prefix}/share/locale
+METATASK = share/meta-task/compssUsers.pl
+PMSFILES = *.pm $(METATASK) ../../advertising/*.pl
+PMSFILES_HERE = $(wildcard $(PMSFILES:%=../../%))
+
+MAIN_PO_FILES = ../../../share/po/libDrakX.pot
+
+POFILES = $(wildcard *.po)
+MOFILES = $(POFILES:%.po=%.mo)
+LANGS = $(POFILES:%.po=%)
+
+default: $(MOFILES)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+update_n_merge: $(NAME).pot merge
+
+merge: $(NAME).pot
+ for n in $(POFILES); do \
+ echo "Merging $$n"; \
+ msgmerge $$n $(NAME).pot > "$$n"t ; \
+ mv -f "$$n"t $$n ; \
+ done
+
+../../$(METATASK):
+ mkdir -p ../../share/meta-task
+ svn cat svn://svn.mageia.org/svn/packages/cauldron/meta-task/current/SOURCES/compssUsers.pl > $@
+
+$(NAME).pot: $(PMSFILES_HERE) ../../$(METATASK)
+ cd ../.. ; perl_checker -q --generate-pot share/po/.$@ $(PMSFILES)
+ xgettext $(MAIN_PO_FILES:%=-x %) -o $@ .$@
+ rm -f .$@
+
+install: $(MOFILES)
+ for l in $(LANGS); do \
+ install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ done
+
+clean:
+ @rm -rf *.mo $(POFILES:%=%t) ../../$(METATASK)
+ @rmdir ../../share/meta-task
+
+check:
+ for i in *.po; do msgfmt -c $$i -o /dev/null; done
diff --git a/perl-install/install/share/po/af.po b/perl-install/install/share/po/af.po
new file mode 100644
index 000000000..30facadc5
--- /dev/null
+++ b/perl-install/install/share/po/af.po
@@ -0,0 +1,1713 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Dirk van der Walt <dirkvanderwalt@webmail.co.za>, 2004
+# Dirk van der Walt <mandrake@webmail.co.za>, 2003
+# F Wolff <friedel@translate.org.za>, 2019
+# Schalk W. Cronjé <schalkc@ntaba.co.za>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: F Wolff <friedel@translate.org.za>\n"
+"Language-Team: Afrikaans (http://www.transifex.com/MageiaLinux/mageia/"
+"language/af/)\n"
+"Language: af\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Sluit aan by ons!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Maak dit joune!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "U eie keuse!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kantoorgereedskap"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Tuisvermaak"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Vir kinders"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Vir familie!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Vir programmeerders!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Dankie!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Wees vry!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Is daar verdere aanvullende media?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Die volgende media is gevind en sal tydens installasie gebruik word: %s.\n"
+"\n"
+"\n"
+"Het u ’n aanvullende installasiemedium om op te stel?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netwerk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netwerk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netwerk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-opstelling"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Tik die rekenaarnaam en gids van die NFS-media"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Rekenaarnaam ontbreek"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Gids moet met “/†begin"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Rekenaarnaam van die NFS-hegpunt?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Gids"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Aanvullend"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Kan nie ’n pakketlyslêer op dié spieëlwerf kry nie. Maak seker die ligging "
+"is korrek."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Sommige hardeware op die rekenaar benodig sekere nievrye fermware vir die "
+"vry sagteware-aandrywers om te werk."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "U moet “%s†aktiveer"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "“%s†bevat die verskeie dele van die stelsel in die toepassings"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "“%s†bevat nievrye sagteware.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Dit bevat ook fermware wat nodig is vir sekere toestelle om te werk (bv. "
+"sekere ATI/AMD-grafikakaarte, sommige netwerkkaarte, sommige RAID-"
+"kaarte, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"“%s†bevat sagteware wat weens sagtewarepatente nie in alle lande versprei "
+"kan word nie."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Dit bevat ook sagteware van “%s†wat herbou is met addisionele "
+"funksionaliteit."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Hier kan mens meer media aktiveer as mens wil."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dié medium verskaf pakketbywerkings vir medium “%sâ€"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ondersoek pakkette wat reeds geïnstalleer is..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Soek vir pakkette om op te gradeer..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Verwyder pakkette voor opgradering..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Die volgende pakkette gaan verwyder word om die rekenaar op te gradeer: %s\n"
+"\n"
+"\n"
+"Wil u definitief dié pakkette verwyder?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fout met die lees van lêer %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Die volgende skywe is hernoem:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (voorheen %s genoem)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Netwerk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Kies asb. ’n medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Lêer bestaan reeds. Oorskryf?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Toegang verbied"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Slegte NFS-naam"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Slegte media %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kan nie skermkiekies neem voor partisies geskep is nie"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skermkiekies sal na die installasie beskikbaar wees in %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installasie"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Opstelling"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "U moet ook %s formatteer"
+
+#: 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 ""
+"Sekere hardeware op u rekenaar benodig “geslote†aandrywers.\n"
+"U kan inligting hieroor vind by: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Netwerk op pad op"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Netwerk op pad af"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Net ’n oomblik. Lêer word afgehaal"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "kon nie medium byvoeg nie"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopieer tans pakkette na die skyf vir latere gebruik"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiëring onderweg"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "benodig"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "belangrik"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "baie oulik"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "oulik"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "miskien"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Kry tans pakketinligting vanaf XML-metadata..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Geen XML-inligting vir medium “%sâ€, slegs gedeeltelike resultate vir pakket "
+"%s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Geen beskrywing"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Sommige pakkette wat deur %s aangevra is, kan nie geïnstalleer word nie:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "'n Fout het voorgekom:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "’n Ernstige fout het voorgekom: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Moenie weer vra nie"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d installasietransaksies het misluk"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installasie van pakkette het misluk:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Werkstasie"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kantoorwerkstasie"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kantoorprogramme: woordverwerkers( LibreOffice Writer, Kword), sigblaaie "
+"(LibreOffice Calc, Kspread), PDF-kykers, ens."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Speletjiesrekenaar"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Vermaak: arkade, bordspel, strategie ens."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastasie"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Klank- en videospelers/-redigeerders"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetstasie"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Hulpprogramme om e-pos en netnuus te lees en te stuur (mutt, tin) en ook om "
+"die web deur te blaai"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netwerkrekenaar (kliënt)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Kliëntprogramme vir 'n verskeidenheid protokolle insluitend SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nutsprogramme wat die rekenaaropstelling vergemaklik"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsole-hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redigeerders, instruksiedoppe, lêernutsprogramme, terminaal-programme"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Ontwikkeling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C en C++ ontwikkelingsbiblioteke, programme en insluitlêers"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasie"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Boeke en HOWTO's oor Linux en Vry Sagteware"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Ondersteuning vir derdepartyprogramme"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webbediener"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-bediener"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brandmuur/Netwerkroteerder"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetdeurgang"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Pos/Nuus"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix-posbediener, Inn-nuusbediener"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Gidsbediener"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-bediener"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinnaam- en netwerk-inligtingbediener (DNS/NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Bediener vir deel van lêers en drukkers"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-bediener, Samba-bediener"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Databasis"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- en MariaDB-databasisbediener"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pos"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-posbediener"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- of MariaDB-databasisbediener"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netwerkrekenaar-bediener"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-bediiener, SMB-bediener, Instaanbediener, SSH-bediener"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafiese omgewing"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-werkstasie"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Die K-werkskermomgewing (KDE), die basiese grafiese omgewing met 'n "
+"versameling bygaande hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-werkstasie"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"’n Grafiese omgewing met gebruikersvriendelike toepassings en werkskerm-"
+"hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-werkstasie"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"’n Ligter grafiese omgewing met gebruikersvriendelike toepassings en "
+"werkskerm-hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-werkstasie"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-werkstasie"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "’n Grafiese omgewing gebaseer op GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-werkskerm"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment-werkskerm"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "'n Liggewig, vinnige grafiese omgewing met getroue volgelinge"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-werkskerm"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "’n Liggewig, vinnige grafiese omgewing"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ander grafiese werkskerms"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, ens."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Nutsprogramme"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-bediener"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netwerknutsprogramme/monitering"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"’n Fout het plaasgevind en ek weet nie hoe om dit veilig te hanteer\n"
+"nie. Gaan op u eie risiko voort."
+
+#: steps.pm:469
+#, 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 ""
+"Sekere belangrike pakkette het nie korrek geïnstalleer nie.\n"
+"Óf die CDROM-aandrywer óf die CD is foutief.\n"
+"Toets die CD op 'n werkende Linux-installasie met \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Gaan stap “%s†binne\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s-installasie %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tussen elemente"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg-bediener neem lank om te begin. Wag asseblief..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"U stelsel het min hulpbronne beskikbaar. U mag dalk probleme\n"
+"ondervind met die installering van %s. In so 'n geval probeer\n"
+"eerder die teksinstallasie. Daarvoor moet u “F1†druk wanneer\n"
+"u vanaf die CDROM herlaai en dan “text†op die instruksielyn\n"
+"intik."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Mediaseleksie"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Installeer %s plasmawerkskerm"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installeer %s GNOME-werkskerm"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Eie installasie"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-werkskerm"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-werkskerm"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Eie werkskerm"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hier is ’n voorskou van die “%sâ€-werkskerm."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klik op prente vir ’n groter voorskou"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Kies pakketgroepe"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuele pakket-seleksie"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Maak seleksie skoon"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totale grootte: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Weergawe: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Grootte: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Belangrikheid: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "U kan nie hierdie pakket selekteer/deselekteer nie"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "weens %s wat soek is"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "weens onvoldoende %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "probeer promosie van %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "om %s te kan behou"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"U kan nie hierdie pakket selekteer nie, omdat daar nie meer spasie "
+"beskikbaar is nie"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Die volgende pakkette gaan geïnstalleer word"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Die volgende pakkette gaan verwyder word"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Hierdie is ’n verpligte pakket. Dit kan nie uitgehaal word nie."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "U kan nie hierdie pakket verwyder nie. Dit is reeds geïnstalleer."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "U kan nie hierdie pakket deselekteer nie. Dit moet opgradeer word."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Wys outogeselekteerde pakkette"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installasie"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Laai/stoor seleksie"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Pakketseleksie word opgedateer"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimale installasie"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Sagtewarebestuur"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kies die pakkette wat u wil installeer"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Besig met installasie"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Geen detail"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tyd oor:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(skat tans...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakket"
+msgstr[1] "%d pakkette"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Opsomming"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Opstelling"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nie gekonfigureer nie"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Die volgende installasiemedia is gevind.\n"
+"Indien u sommige wil oorslaan, ontmerk hulle nou."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"U het die keuse om die inhoud van die CD’s na die hardeskyf te kopieer voor "
+"installasie.\n"
+"Installasie sal dan van die hardeskyf af voortgaan en die pakkette sal "
+"beskikbaar bly wanneer die stelsel volledig geïnstalleer is."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopieer hele CD’s"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "'n Fout het voorgekom"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Kies asseblief u sleutelborduitleg"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Hier is die volledige lys beskikbare sleutelborde:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installeer/Opgradeer"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Is hierdie 'n installasie of opgradering?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installasie"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Gradeer %s op"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Enkripsiesleutel vir %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Kanselleer installasie. Herlaai die stelsel."
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nuwe installasie"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Gradeer vorige installasie op (nie aanbeveel nie)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Verander u CDROM!\n"
+"\n"
+"Sit asb. die CDROM getiteld \"%s\" in die aandrywer en druk OK. Indien u "
+"nie\n"
+"hieroor beskik nie, druk Kanselleer om installasies vanaf dié CDROM te vermy."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Soek tans vir beskikbare pakkette..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Die stelsel het nie genoeg plek oor vir installasie of opgradering nie (%dMB "
+"> %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Laai"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Stoor"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Slegte lêer"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Werkskermkeuse"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Kies gerus die werkskermprofiel vir u werkstasie."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Geselekteerde grootte is groter as beskikbare spasie"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipe installasie"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"U het geen groep pakkette gekies nie.\n"
+"Kies asseblief die tipe minimale installasie:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Met X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installeer aanbevole pakkette"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Met basiese dokumentasie (word aanbeveel!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Absolute minimale installasie (veral geen urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Berei tans opgradering voor..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Berei tans installasie voor"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installeer tans pakket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Daar was 'n fout met volgorde van pakkette:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Gaan steeds voort?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Probeer weer"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Slaan dié pakket oor"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Slaan alle pakkette van medium “%s†oor"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gaan terug na media- en pakketseleksie"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Daar was ’n fout met installering van pakket %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-installasiekonfigurasie"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Bywerkings"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Daar is nou geleentheid om media aanlyn op te stel."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Hiermee kan sekuriteitsbywerkings geïnstalleer word."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Om sulke media op te stel is ’n werkende internetverbinding nodig.\n"
+"\n"
+"Wil u die bywerkingsmedia opstel?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Die volgende pakkette gaan geïnstalleer word"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Probeer weer?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fout met byvoeging van medium"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"U het nou ’n geleentheid om bygewerkte pakkette af te laai. Hierdie "
+"pakkette\n"
+"is opgedateer na die distribusie vrygestel is. Hulle kan "
+"sekuriteitsprobleme\n"
+"en goggas regstel.\n"
+"\n"
+"Om hulle af te n laai, is ’n werkende Internetkonneksie nodig.\n"
+"\n"
+"Wil u die bywerkings nou installeer?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s op %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardeware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Klankkaart"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiese koppelvlak"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Netwerk en internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Instaanbedieners"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "gekonfigureer"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sekuriteitsvlak"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Brandmuur"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "geaktiveer"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "gedeaktiveer"
+
+#: steps_interactive.pm:1041
+#, 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?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Net ’n oomblik. Dit kan ’n rukkie neem..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Met hierdie sekuriteitsvlak word toegang na lêers op die Windows-partisie "
+"beperk tot die administrateur."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sit 'n leë floppie in aandrywer %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Outoinstallasieskyf word tans geskep..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sekere stappe is nie afgehandel nie.\n"
+"\n"
+"Wil u definitief nou afsluit?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Geluk"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Herlaai"
+
+#. -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 "Taal"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisering"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensie"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muis"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Hardeskyfbespeuring"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installasieklas"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Sleutelbord"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sekuriteit"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisies"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatering"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakketseleksie"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installlasie"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Gebruikers"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Herlaaistelsel"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Stel X op"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Opsomming"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dienste"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Bywerkings"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sluit af"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL van die spieëlwerf?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL moet met ftp:// of http:// begin"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Kontak tans die %s-webwerf vir 'n lys van spieëlwerwe..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Kon nie die %s-webwerf kontak om die lys beskikbare spieëlwerwe te kry nie"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Kies 'n spieëlwerf waar die pakkette verkry kan word"
diff --git a/perl-install/install/share/po/am.po b/perl-install/install/share/po/am.po
new file mode 100644
index 000000000..cc2da325f
--- /dev/null
+++ b/perl-install/install/share/po/am.po
@@ -0,0 +1,1609 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Alemayehu Gemeda <alemayehu@gmx.at>, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Amharic (http://www.transifex.com/MageiaLinux/mageia/language/"
+"am/)\n"
+"Language: am\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ዶሴ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%sን በማንበብ ላይ ስህተት ተáˆáŒ¥áˆ¯áˆ"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "መረብ"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "áˆá‰ƒá‹µ አáˆá‰°áˆ°áŒ áˆ"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ስየማ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "መረቡን በማቀራረብ ላይ"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "መረቡን በማለያየት ላይ"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "አስáˆáˆ‹áŒŠ"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "በጣሠጥሩ"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ጥሩ"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "áˆáŠ“áˆá‰£á‰µ"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "እድገት"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ማስረጃ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "የመረብ ሰርቨር"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "የFTP ተጠሪ"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "ዳታቤá‹"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "á–ስታ"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "የ%s ተከላ %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "የጥቅሠቡድን áˆáˆ­áŒ«"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "የáŠáŒ áˆ‹ ጥቅሠáˆáˆ­áŒ«"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "አጠቃላይ መጠን: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "á‹áˆ­á‹«: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "መጠን: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "አስáˆáˆ‹áŒŠáŠá‰µ: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "ይህን ጥቅሠመáˆáˆ¨áŒ¥/አለመáˆáˆ¨áŒ¥ አይችሉáˆ"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ባለመገኘቱ áˆáŠ­áŠ•á‹«á‰µ"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s አጥጋቢ ባለመሆኑ áˆáŠ­áŠ•á‹«á‰µ"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%sን ለማስተዋወቅ በመሞከር ላይ"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%sን ለማቆየት"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "የሚከተሉት ጥቅሎች ሊተከሉ áŠá‹"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "የሚከተሉት ጥቅሎች ሊወገዱ áŠá‹"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "ይህንን ጥቅሠመáˆáˆ¨áŒ¥ አይችሉáˆá¢ ቀደሠብሎ ተተክáˆáˆá¢"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ትከáˆ"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "የጥቅሠáˆáˆ­áŒ« በማሻሻሠላይ"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "አáŠáˆµá‰°áŠ› ተከላ"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "ለመትከሠየሚáˆáˆáŒ‰á‰µáŠ• ጥቅሠይáˆáˆ¨áŒ¡"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "በመትከሠላይ"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ያለ á‹áˆ­á‹áˆ®á‰½"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ማጠቃለያ"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ለá‹áŒ¥"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "አáˆá‰°áˆµá‰°áŠ«áŠ¨áˆˆáˆ"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "ስህተት ተáˆáŒ¥áˆ¯áˆ"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ትከáˆ/አሳድáŒ"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ትከáˆ"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "የ%s ሚስጢራዊ መገáˆá‰ áŒ« á‰áˆá"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "ጫን"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "አስቀáˆáŒ¥"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "ኖáˆ"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "የተከላዠአይáŠá‰µ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "በX"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ተከላ በማዘጋጀት ላይ"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "የ%s ጥቅሠበመትከሠላይ"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ለማንኛá‹áˆ ቀጥáˆ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-install configuration"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "አሻሻዎች"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "የሚከተሉት ጥቅሎች ሊተከሉ áŠá‹"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s ላይ áŠá‹"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ሀርድዌር"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "የድáˆá… ካርድ"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ንድá‹á‹Š እይታ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "መረብ እና ኢንተርኔት"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ወኪሎች"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "ተስተካክáˆáˆ"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "የደህንáŠá‰µ ደረጃ"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "የእሳት áŒá‹µáŒá‹³"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "መስራት ጀáˆáˆ¯áˆ"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "መስራት አá‰áˆŸáˆ"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "እንኳን ደስ ያለዎ!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "እንደገና ጀáˆáˆ­"
+
+#. -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 "ቋንቋ"
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "መጠቆሚያ"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "መተየቢያ"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ደህንáŠá‰µ"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "በመትከሠላይ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ተጠቃሚዎች"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "አስጀማሪያ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Xን ሰይáˆ"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ማጠቃለያ"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "አገáˆáŒáˆŽá‰µ"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "አሻሻዎች"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "á‹áŒ£"
diff --git a/perl-install/install/share/po/ar.po b/perl-install/install/share/po/ar.po
new file mode 100644
index 000000000..d962bce2c
--- /dev/null
+++ b/perl-install/install/share/po/ar.po
@@ -0,0 +1,1696 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Arabic (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ar/)\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "انضم إلينا!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "لتكن ملكك!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "اختيارك!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "أدوات مكتبية"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "الترÙيه المنزلي"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Ù„Ù„Ø£Ø·ÙØ§Ù„"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "للعائلة!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "للمطورين!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "شكرا لك!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "كن حراً!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "هل لديك وسائط إضاÙية أخرى؟"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"لقد تم العثور على الوسائط التالية وستستخدم خلال التثبيت: %s.\n"
+"\n"
+"\n"
+"هل لديك وسيط تثبيت إضاÙÙŠ لضبطه؟"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "الشبكة (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "الشبكة (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "الشبكة (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "تثبيت NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "ÙØ¶Ù„ا أدخل اسم المضي٠والدليل لوسائط NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "اسم المضي٠غير موجود"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "يجب أن يبدأ الدليل بـ \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "اسم مضي٠نقطة وصل NFS ؟"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "الدليل"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "إضاÙÙŠ"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "لم يمكن العثور على مل٠لائحة الحزم على هذه المرآة. تأكد من صحة الموقع."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "مخزن Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "مخزن Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "مخزن Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"بعض قطع العتاد ÙÙŠ جهازك تحتاج بعض المكتبات الغير حرة لتتمكن التعاري٠الحرة "
+"من العمل."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "يجب أن ØªÙØ¹Ù„ \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" يحتوي على مختل٠مكونات النظام وتطبيقاته"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" يحتوي على برمجيات غير حرة. \n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"يحتوى أيضا على بعض المكتبات الضرورية لتشغيل قطع عتاد معينة ( على سبيل "
+"المثال: كروت الشاشة ATI/AMD، بعض كروت الشبكة، بعض كروت RAID، ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" يحتوى على برمجيات لا يمكن إعادة نشرها ÙÙŠ جميع بقاع العالم بسبب "
+"براءات الاختراع. "
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "يحتوي أيضا على برمجيات من \"%s\" تم إعادة بنائها بإمكانيات إضاÙية."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "هنا يمكنك ØªÙØ¹ÙŠÙ„ وسائط أكثر إن أردت."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "هذا الوسيط ÙŠÙˆÙØ± تحديثات للبرمجيات للوسيط \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "جاري البحث عن الحزم المثبتة مسبقا..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "جاري العثور على الحزم التي يمكن ترقيتها... "
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "جاري إزالة الحزم قبيل ترقيتها"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"ستحذ٠هذه الحزم للسماح بترقية النظام: %s\n"
+"\n"
+"\n"
+"هل تريد حذ٠هذه الحزم ÙØ¹Ù„ا؟\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "خطأ ÙÙŠ قراءة المل٠%s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "لقد تم تغيير أسماء الأقراص التالية:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (المسمى %s سابقاً)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "الشبكة"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "الرجاء اختيار وسيط"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "المل٠موجود مسبقا. هل تريد استبداله؟"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "تم Ø±ÙØ¶ الإذن"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "اسم NFS غير صالح"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "الوسيط %s سيء"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "لا يمكن عمل لقطات للشاشة قبل التجزئة"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr " لقطات الشاشة ستكون Ù…ØªÙˆÙØ±Ø© بعد التثبيت ÙÙŠ %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "التثبيت"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "الضبط"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "عليك أيضا تهيئة %s"
+
+#: 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 ""
+"بعض العتاد على جهازك يحتاج إلى مشغلات ``مملوكة'' كي يعمل.\n"
+"يمكنك إيجاد مزيد من المعلومات عنها ÙÙŠ: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "جاري تشغيل الشبكة"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "جاري إغلاق الشبكة"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "انتظر رجاء، جاري جلب الملÙ"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "لا يمكن Ø¥Ø¶Ø§ÙØ© وسيط"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "نسخ بعض الحزم إلى الأقراص لاستخدامها مستقبلاً"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "جاري النسخ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "ضروري"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "مهم"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "جيد جدا"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "جيد"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ربما"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "جاري جلب معلومات الحزم من مل٠XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"لا توجد معلومات xml للوسيط \"%s\"ØŒ إنما توجد معلومات جزئية Ùقط عن الحزمة %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "وص٠غير Ù…ØªÙˆÙØ±"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"بعض الحزم التي يتطلبها %s لا يمكن تثبيتها:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "حدث خطأ:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "حدث خطأ ÙØ§Ø¯Ø­: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "لا تسأل مرة أخرى"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "ÙØ´Ù„ت عملية تثبيت %d"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "ÙØ´Ù„ تثبيت الحزمة:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "محطة عمل"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "محطة عمل مكتبية"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"برامج مكتبية: معالجات نصوص (OpenOffice.org Writer، Kword)، جداول ممتدة "
+"(OpenOffice.org Calc، Kspread)، برامج عرض pdf، إلخ"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "محطة ألعاب"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "برامج تسلية: ألعاب Ùيديو، ألعاب لوحات، ألعاب استراتيجية، إلخ"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "محطة وسائط متعددة"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "برامج تحرير/تشغيل مرئيات وصوتيات"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "محطة إنترنت"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"مجموعة أدوات لقراءة وإرسال البريد والأخبار (muttØŒ tin..) ÙˆÙ„ØªØµÙØ­ الإنترنت"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "جهاز شبكة (عميل)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "عملاء لبروتوكولات Ù…Ø®ØªÙ„ÙØ© بما Ùيها ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "أدوات لتسهيل ضبط حاسبك"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "أدوات الطرÙيات"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "محررات نصوص، ØµØ¯ÙØ§ØªØŒ أدوات Ù…Ù„ÙØ§ØªØŒ طرÙيات"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "تطوير"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "مكتبات تطوير خاصة بلغة C ÙˆC++ØŒ برامج ÙˆÙ…Ù„ÙØ§Øª مضمنة"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "توثيق"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "كتب ودلائل إرشادية حول لينكس والبرامج الحرة"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "القاعدة القياسية للينكس (LSB). دعم تطبيقات الطر٠الثالث"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "خادم وب"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "برامج مجموعات"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "خادم Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "جدار ناري/روتر"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "بوابة إنترنت"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "بريد/أخبار"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "خادم بريد Postfix، خادم أخبار Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "خادم مجلدات"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "خادم FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "خادم أسماء النطاقات ومعلومات الشبكة"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "خادم مشاركة Ø§Ù„Ù…Ù„ÙØ§Øª والطابعات"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "خادم NFS، خادم سامبا"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "قواعد بيانات"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "خادم قواعد بيانات PostgreSQL و MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "وب/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache، Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "البريد"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "خادم بريد Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "خادم قواعد بيانات PostgreSQL أو MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "خادم شبكات"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "خادم NFS، خادم SMB، خادم وسيط، خادم ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "بيئات رسومية"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"بيئة سطح مكتب كدي، البيئة الرسومية الأساسية مع مجموعة من الأدوات المصاحبة"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "محطة عمل جنوم"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"بيئة رسومية مع مجموعة من التطبيقات وأدوات سطح المكتب المناسبة للمستخدمين "
+"العاديين"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "سطح مكتب LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "سطح مكتب LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "أسطح مكتب رسومية أخرى"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "أدوات"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "خادم SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "خادم الضبط البعيد Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "وسائل الشبكة/المراقبة"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "أدوات مراقبة، محاسبة عمليات، tcpdump، nmap، ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "مرشدو ماجيا"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "مرشدو ضبط الخادم"
+
+#: 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 ""
+"حدث خطأ ولا أعر٠كي٠أتعامل معه جيدأ. \n"
+"تابع على مسؤوليتك."
+
+#: steps.pm:469
+#, 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 ""
+"لم يتم تثبيت بعض الحزم المهمة بشكل صحيح.\n"
+"إما أن محرك الأقراص أو القرص ذاته معطوب.\n"
+"Ø§ÙØ­Øµ القرص المدمج على حاسب مثبت باستعمال \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "الانتقال للخطوة `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s تثبيت %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> بين العناصر"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "تشغيل خادم Xorg بطيء. الرجاء الانتظار..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"موارد نظامك قليلة، لذا قد تقابل بعض المشكلات قي تثبيت\n"
+"%s. إذا حدث ذلك، Ùيمكنك تجربة التثبيت النصي كبديل. للقيام بذلك،\n"
+"اضغط `F1' عند الإقلاع من القرص المدمج، ثم اكتب `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "انتقاء الوسائط"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "تثبيت %s بسطح مكتب جنوم"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "تثبيت مخصص"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "سطح مكتب جنوم"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "سطح مكتب مخصص"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "هذه معاينة لشكل سطح مكتب %s"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "اضغط على الصور لتشاهد المعاينة بحجم أكبر"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "انتقاء مجموعات الحزم"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "انتقاء Ù…ÙØ±Ø¯ للحزم"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "إلغاء اختيار الكل"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "الحجم الإجمالي: %d / %d م.ب"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "الإصدار: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "الحجم: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d ك.ب\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "الأهمية: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "لا يمكنك انتقاء/إلغاء انتقاء هذه الحزمة"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "بسبب نقص %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "بسبب عدم إرضاء %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "السعي إلى ترويج %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "من أجل Ø§Ù„Ø§Ø­ØªÙØ§Ø¸ بـ %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "لا يمكنك انتقاء هذه الحزمة لأنه لا يوجد مساحة كاÙية لتثبيتها"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "ستثبت الحزم التالية"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ستحذ٠الحزم التالية"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "هذه الحزمة إلزامية؛ لا يمكن إلغاء انتقائها"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "لا يمكن إلغاء انتقاء هذه الحزمة؛ لأنها مثبتة مسبقاً"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "لا يمكنك إلغاء انتقاء هذه الحزمة. لأن ترقيتها ضرورية"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "إظهار الحزم المنتقاة آليا"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "تثبيت"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "تحميل/Ø­ÙØ¸ الانتقاء"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "تحديث انتقاء الحزم"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "تثبيت مصغر"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "إدارة البرامج"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "اختر الحزم التي تريد تثبيتها"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "التثبيت"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "لا ØªÙØ§ØµÙŠÙ„"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "الوقت المتبقي:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(حساب تقديري...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "لا حزم"
+msgstr[1] "حزمة واحدة"
+msgstr[2] "حزمتان"
+msgstr[3] "%d حزم"
+msgstr[4] "%d حزم"
+msgstr[5] "%d حزم"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ملخص"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "اضبط"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "غير مضبوط"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"تم العثور على وسائط التثبيت التالية.\n"
+"إن كنت تريد تخطي بعضها، Ùيمكنك إلغاء انتقائها الآن."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"لديك الخيار بنسخ محتويات الأقراص المدمجة إلى قرصك الصلب قبل التثبيت.\n"
+"حيئذ، سيكمل التثبيت من القرص الصلب وستبقى الحزم Ù…ØªÙˆÙØ±Ø© حتى يثبت النظام كاملا."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "نسخ الأقراص كاملة"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "حدث خطأ"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr " اختر رجاء تخطيط لوحة Ù…ÙØ§ØªÙŠØ­Ùƒ"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "هذه القائمة الكاملة لكلّ لوحات Ø§Ù„Ù…ÙØ§ØªÙŠØ­ المتاحة:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "تثبيت/ترقية"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "هل هذا تثبيت أم ترقية؟"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "تثبيت"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "ترقية %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ù…ÙØªØ§Ø­ التشÙير لـ %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "إلغاء التثبيت، وإعادة تشغيل النظام"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "تثبيت جديد"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "ترقية تثبيت سابق (لا ينصح به)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"تبين للمثبت أنه لا يمكن للنظام السابق\n"
+" أن يرقَّ بأمان لـ %s\n"
+" \n"
+" ينصح بثبيت جديد يحل محل التثبيت السابق\n"
+" \n"
+" تحذير: ينبغي أن تنسخ جميع بياناتك الشخصية قبل اختيار\"تثبيت جديد\""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"غيّر قرصك المدمج!\n"
+"من ÙØ¶Ù„Ùƒ أدخل القرص المسمى \"%s\" ÙÙŠ السواقة واضغط على مواÙÙ‚ عندما تنتهي.\n"
+"إن لم يكن القرص لديك، اضغط على إلغاء لتجنب التثبيت من هذا القرص."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "البحث عن الحزم المتاحة..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "لا توجد مساحة كاÙية ÙÙŠ نظامك للتثبيت أو الترقية (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"اختر رجاء Ø­ÙØ¸ أو تحميل انتقائك للحزم.\n"
+"النسق مشابه Ù„Ù„Ù…Ù„ÙØ§Øª الناتجة عن التثبيت الآلي."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "تحميل"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Ø­ÙØ¸"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ù…Ù„Ù ÙØ§Ø³Ø¯"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "جنوم"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "انتقاء سطح المكتب"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "بإمكانك اختيار حساب سطح مكتب الخاص بك."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "الحجم المختار أكبر من المساحة المتاحة"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "نوع التثبيت"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"لم تختر أي مجموعة من الحزم.\n"
+"اختر رجاء حد التثبيت الأدنى الذي تريده:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "مع X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "مع وثائق المساعدة الأساسية (ينصح به)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "حد التثبيت الأدنى الحقيقي (دون urpmi خصوصا)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "التحضير للترقية..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "التحضير للتثبيت"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "تثبيت الحزمة %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "حدث خطأ ÙÙŠ ترتيب الحزم:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "هل تريد المتابعة على أية حال؟"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "أعد المحاولة"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "تخطّ هذه الحزمة"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "تخطّ جميع الحزم من الوسيط \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "ارجع إلى الوسائط وانتقاء الحزم"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "حدث خطأ ÙÙŠ تثبيت الحزمة %s"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ضبط ما بعد التثبيت"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "تأكد رجاء من وجود وسائط وحدات التحديث ÙÙŠ محرك الأقراص %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "التحديثات"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "ستثبت الحزم التالية"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Retry?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "ÙØ´Ù„ عند Ø¥Ø¶Ø§ÙØ© الوسيط"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"لديك الآن Ø§Ù„ÙØ±ØµØ© لتنزيل حزم محدثة، Ùهذه الحزم\n"
+"تم تحديثها بعد إصدار التوزيعة، وقد\n"
+"تحتوي على إصلاحات لعلل أمنية أو برمجية.\n"
+"\n"
+"لتنزيل هذه الحزم، تحتاج إلى اتصال \n"
+"بالإنترنت.\n"
+"\n"
+"هل تريد تثبيت هذه التحديثات؟"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s على %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "العتاد"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "بطاقة الصوت"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "الواجهة الرسومية"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "الشبكة والإنترنت"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "الخوادم الوسيطة"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "تم ضبطه"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "مستوى الأمن"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "جدار ناري"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "Ù…ÙØ¹Ù„Ø©"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "معطلة"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "لم تقم بضبط خادم (X). هل أنت متأكد أنك تريد ذلك؟"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "تحضير برنامج بدء التشغيل الأولي..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "كن صبورا، ستستغرق العملية بعض الوقت..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"ÙÙŠ هذا المستوى الأمني، الوصول إلى Ø§Ù„Ù…Ù„ÙØ§Øª ÙÙŠ قسم وندوز سيكون مقصوراً على "
+"المدير."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "أدخل قرصا مرنا ÙØ§Ø±ØºØ§ ÙÙŠ محرك الأقراص %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "إنشاء قرص مرن للتثبيت الآلي..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"بعض الخطوات لم تكتمل.\n"
+"\n"
+"هل تريد الخروج الآن حقا؟"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "تهانينا"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "إعادة اﻹقلاع"
+
+#. -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 "اللغة"
+
+#: 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 "الرخصة"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ø§Ù„ÙØ£Ø±Ø©"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "اكتشا٠القرص الصلب"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "صن٠التثبيت"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "الأمن"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "التقسيم"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "التهيئة"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "انتقاء الحزم"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "التثبيت"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "المستخدمون"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "محمل الإقلاع"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "ضبط (X)"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ملخص"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "الخدمات"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "التحديثات"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "خروج"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "مسار المرآة؟"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "يجب أن يبدأ المسار بـ http:// أو بـ ftp://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "جاري الاتصال بموقع %s للحصول على قائمة بالمرايا Ø§Ù„Ù…ØªÙˆÙØ±Ø©..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr "ÙØ´Ù„ الاتصال بموقع %s للحصول على قائمة بالمرايا Ø§Ù„Ù…ØªÙˆÙØ±Ø©"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "اختر مرآة لتحصيل الحزم"
diff --git a/perl-install/install/share/po/ast.po b/perl-install/install/share/po/ast.po
new file mode 100644
index 000000000..925f65bbb
--- /dev/null
+++ b/perl-install/install/share/po/ast.po
@@ -0,0 +1,1673 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# enolp <enolp@softastur.org>, 2015-2016,2019-2020,2025
+# Ḷḷumex03, 2014
+# Ḷḷumex03, 2014
+# Softastur <alministradores@softastur.org>, 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: enolp <enolp@softastur.org>, 2015-2016,2019-2020,2025\n"
+"Language-Team: Asturian (http://app.transifex.com/MageiaLinux/mageia/"
+"language/ast/)\n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "¡Xúnite a nós!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Failu de to"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "¡La to eleición!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ferramientes d'oficina"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Entretenimientu en casa"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Pa la reciella"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "¡Pa la familia!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "¡Pa desendolcadores!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "¡Gracies!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "¡Sé llibre!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "¿Tienes más medios suplementarios?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Atopáronse los medios siguientes ya van usase demientres la instalación: "
+"%s.\n"
+"\n"
+"\n"
+"¿Tienes dalgún mediu suplementariu pa configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuración NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Introduz l'agospiador ya'l direutoriu del mediu NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Falta l'agospiador"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "El direutoriu ha comenzar per «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "¿Cuál ye l'agospiador del montaxe NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direutoriu"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Suplementariu"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nun se pue atopar la llista de paquetes nesti espeyu. Asegúrate de que la "
+"llocalización ye correuta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Edición «Core»"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Edición alteriada"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Edición «Nonfree»"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Dalgunos componentes de la máquina precisen dalgún tipu de firmware que nun "
+"ye llibre pa que los controladores llibres funcionen."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Habríes activar «%s»"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"«%s» contién dellos componentes de los sistemes ya les sos aplicaciones"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "«%s» contién software que nun ye llibre.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Tamién contién el firmware necesario pa que ciertos preseos funcionen (p. "
+"exem: dalgunes tarxetes gráfiques, RAID, de rede…)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"«%s» contién software que nun se pue distribuyir en tolos países pola mor de "
+"les patentes de software."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Equí pues activar más medios si quies."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Esti mediu forne anovamientos de paquetes pal mediu «%s»"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tán consultándose los paquetes xá instalaos…"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Tán quitándose los paquetes enantes d'anovar…"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Van desaniciase los paquetes siguientes pa permitir l'anovamientu del "
+"sistema: %s\n"
+"\n"
+"\n"
+"¿De xuru que quies desaniciar estos paquetes?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Prodúxose un error al lleer el ficheru «%s»"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Renomáronse los discos siguientes:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (enantes llamábase «%s»)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Escueyi un mediu"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "El ficheru xá esiste. ¿Quies sobrescribilu?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "El nome NFS ye incorreutu"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "El mediu «%s» ye incorreutu"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nun se puen facer captures de pantalla enantes de particionar"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Les captures de pantalla van tar disponibles dempués de la instalación en "
+"«%s»"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalación"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuración"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Tamién tienes de formatiar «%s»"
+
+#: 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 ""
+"Dalgunos componentes del ordenador precisen controladores propietarios pa "
+"funcionar.\n"
+"Pues atopar más información tocante a ellos en: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ta activándose la conexón de rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ta desactivándose la conexón de rede"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Espera, ta recibiéndose'l ficheru"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "nun ye posible amestar el mediu"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Tán copiándose dalgunos paquetes nos discos pa usalos nel futuru"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copia en cursu"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "obligatoriu"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nun hai nenguna descripción"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Nun se puen instalar dalgunos paquetes solicitaos por «%s»:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Prodúxose un error:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Prodúxose un error fatal: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "L'aición d'instalar los paquetes falló:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estación de trabayu"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Estación ofimática"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Estación de xuegu"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Estación multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Estación d'internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramientes p'acencellar la configuración del ordeandor"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramientes de la consola"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desendolcu"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentación"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Sirvidor web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Sirvidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Sirvidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Sirvidor pa compartir imprentadores ya ficheros"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Corréu electrónicu"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Sirvidor de bases de datos MariaDB o PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Entornu gráficu"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Un entornu gráficu basáu en GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Escritoriu LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Un entronu d'escritoriu basáu en QT y LXDE de nueva xeneración"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Escritoriu Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Escritoriu LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un entornu gráficu rápidu ya llixeru"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Otros escritorios gráficos"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilidaes"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Sirvidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Encontos pa Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"El sistema tien pocos recursos ya ye posible que tengas dalgún problema\n"
+"demientres la instalación de %s.. Si pasara, pues probar l'instalador per "
+"testu. Pa facelo, primi la tecla «F1» al arrincar el CD-ROM ya introduz "
+"«text»."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Seleición de medios"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Escritoriu Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Escritoriu GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Esbilla individual de paquetes"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deseleicionar too"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamañu total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versión:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamañu:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importancia:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Nun pues de/seleicionar esti paquete"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "pa caltener «%s»"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nun pues instalar esti paquete darréu que nun hai abondu espaciu pa instalalu"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Van instalase los paquetes siguientes"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Van quitase los paquetes siguientes"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Esti paquete ye obligatoriu ya nun se pue deseleicionar"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nun pues deseleicionar esti paquete porque xá ta instaláu"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Nun pues deseleicionar esti paquete, ha anovase"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalación mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Xestión del software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escueyi los paquetes que quies instalar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tiempu restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquete"
+msgstr[1] "%d paquetes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resume"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Atopáronse los medios d'instalación siguiente.\n"
+"Si quies saltar dalgún, pues deseleicionalu agora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Tienes la opción de copiar el conteníu de los CD nel discu duru enantes de "
+"la instalación.\n"
+"Dempués d'esto, la instalación va siguir dende'l discu duru y los paquetes "
+"van quedar presentes namás que s'instale dafechu'l sistema."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Prodúxose un error"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Escueyi la distribución del tecláu"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Equí tienes la llista completa de los teclaos disponibles:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalación/anovamientu"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "¿Ye una instalación o un anovamientu?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalación"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Anovamientu de %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Instalación nueva"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"¡Cambia'l CD-ROM!\n"
+"Inxerta'l discu etiquetáu como «%s» nel llector ya primi «D'acuerdu» cuando "
+"lo faigas.\n"
+"Si nun lu tienes, primi «Encaboxar» pa impidir la instalación dende esti CD-"
+"ROM."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tán buscándose los paquetes disponibles…"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Al sistema nun-y queda abondu espaciu pa facer la instalación o "
+"l'anovamientu (%d MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "El tamañu seleicionáu supera l'espaciu disponible"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipu d'instalación"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nun seleicionesti nengún grupu de paquetes.\n"
+"Escueyi la instalación mínima que quies:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Ta preparándose l'anovamientu…"
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Ta instalándose'l paquete «%s»"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Prodúxose un error al ordenar los paquetes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Prodúxose un error al instalar el paquete «%s»."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuración de dempués de la instalación"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Anovamientos"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Agora tienes la oportunidá de configurar medios en llinia."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Esto permite instalar anovamientos de seguranza."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Pa configurar estos medios vas precisar una conexón a internet\n"
+"que funcione.\n"
+"\n"
+"¿Quies configurar los medios d'anovamientu?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "¿Quies retentalo?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Prodúxose un error al amestar el mediu"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Agora tienes la oportunidá de baxar paquetes anovaos. Estos paquetes\n"
+"anováronse dempués de publicar la distribución ya ye posible que contengan\n"
+"igües de fallos ya parches de seguranza.\n"
+"\n"
+"Pa baxar estos paquetes vas precisar una conexón a internet que\n"
+"funcione.\n"
+"\n"
+"¿Quies instalar los anovamientos?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Tarxeta de soníu"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaz gráfica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede ya internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de seguranza"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Tornafuéu"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Ta preparándose'l programa d'arrinque inicial…"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ten paciencia, esta aición pue tardar un tiempu…"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ta creándose'l disquete d'instalación automática…"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Dalgunos pasos nun se completaron.\n"
+"\n"
+"¿De xuru que quies colar agora?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Norabona"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reaniciar"
+
+#. -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 "Llingua"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Traducciones"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Llicencia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mur"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Tipu d'instalación"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tecláu"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguranza"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionáu"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatéu"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Seleición de paquetes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalación"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuarios"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cargador d'arrinque"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configuración de X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resume"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicios"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Anovamientos"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/az.po b/perl-install/install/share/po/az.po
new file mode 100644
index 000000000..cf531fdc8
--- /dev/null
+++ b/perl-install/install/share/po/az.po
@@ -0,0 +1,1650 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# MÉ™tin Æmirov <metin@karegen.com>, 2001-2003, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Azerbaijani (http://www.transifex.com/MageiaLinux/mageia/"
+"language/az/)\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Qovluq"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Qurulu olan paketlər yoxlanır..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Güncəllənəcək paketlar tapılır"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Sisteminizin yenilənməsi üçün bu paketlər silinəcək: %s\n"
+"\n"
+"\n"
+"Bu paketləri həqiqətən də silmək istəyirsiniz?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s faylı oxunurkan xəta oldu"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Şəbəkə"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Səlahiyyət yoxdur"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Bölmələmədən əvvəl görüntü alına bilməz"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekran görüntüləri qurulumdan sonra %s mövqeyində olacaqdır"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Quraşdırma"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Eyni zamanda %s da şəkilləndirilməlidir"
+
+#: 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 ""
+"Sisteminizdaki bə'zi avadanlıqlar işləməsi üçün düzgün sürücülərə ehtiyac "
+"duyar.\n"
+"Bunun haqqında %s də/a lazımi malumatları tapa bilərsiniz"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Şəbəkə fəallaşdırılır"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Şəbəkə dayandırılır"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "sınamağa dəyər"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "vacib"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "çox ə'la"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "É™'la"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "bəlkə"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "İzahat yoxdur"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Xəta baş verdi"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ölümcül xəta yarandı: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "İş Stansiyası"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Ofis İş Stansiyası"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"İdarə proqramları: kəlmə işləyənlər (LibreOffice Writer, Kword), "
+"hesablayıcılar və pdf göstəriciləri, vs."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Oyun stansiyası"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Məzəli proqramlar: arkad, lövhə oyunları, strategiya, vs"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedya stansiyası"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Səs və video çalınması/düzəliş proqramları"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "İnternet stansiyası"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Elektronik məktub və xəbər oxuyucu vasitələr dəstəsi (pine, mutt, tin..) və "
+"Veb səyyahları"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Şəbəkə Kompüteri (alıcı)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH daxil bir çox protokolların alıcıları"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kompüter qurğularını asandlaşdıran vasitələr"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol Vasitələri"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorlar, rəflər, fayl vasitələri, terminallar"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "İnkişaf"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C və C++ inkişaf kitabxanaları, proqramları və daxil ediləcək fayllar"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Sənədlər"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linuks və sərbəst proqram tə'minatı haqqında Kitablar və Howtolar"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standartları Bazası. Üçüncü partiya tə'minat dəstəyi"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Veb Vericisi"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Vericisi"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Atəş Divarı/İstiqamətləndirici"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "İnternet keçidi"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Mə'lumat Bazası"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Veb/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Poçt"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poçt vericisi"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ya da MariaDB mə'lumat bazası vericisi"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Şəbəkə Kompüter vericisi"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS vericisi, SMB vericisi, Vəkil vericisi, SSH verici"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Qrafiki Mühit"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE, əsas qrafiki ara üz və yardımçi proqramlar kolleksiyası"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME iş stansiyası"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"İstifadəçi dostu proqram və masa üstü ilə bərabər qrafiki ara üz vasitələri"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Başqa qrafiki ara üzlər"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Vasitələr"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Vericisi"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Bir xəta oldu, yalnız necə düzəldiləcəyi bilinmir.\n"
+"Davam edin, riski sizÉ™ aitdir!"
+
+#: steps.pm:469
+#, 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 ""
+"Bə'zi paketlər doğru olaraq qurulumu bitirmədi.\n"
+"Cdrom sürücünüz ya da cdromunuz düzgün işləmir.\n"
+"ÆvvÉ™ldÉ™n Linuks qurulu bir sistemdÉ™ \"rpm -qpl media/main/*.rpm\"\n"
+"əmrini istifadə edərək Cd-Rom'u yoxlayın.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Başlanğıc addımı `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Qurulumu %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> irəli/geri"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paket Qruplarının Seçimi"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Fərdi paket seçimi"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Seçili olmayan hamısını"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ümumi böyüklük: %d / %d Mb"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Buraxılış: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Böyüklük: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ÆhÉ™miyyÉ™t:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Bu paketi seçə bilməzsiniz/sistemdən çıxarda bilməzsınız"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s əksik olduğuna görə"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s razı qalmadığına görə"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s irəliləndirməyə çalışılır"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s-i saxlamaq üçün"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Bu paketi seçə bilməzsiniz, çünki qurmaq üçün yer çatmır."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Aşağıdakı paketlər qurulacaq"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Bu lazımlı bir paketdir, sistemdən çıxardıla bilməz"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Bu paketi sistemdən çıxarda bilməzsınız. Artıq qurulmuşdur."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Bu paketi sistemdən çıxarda bilməzsiniz. Yenilənməlidir"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Avtomatik seçili paketləri göstər"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Qur"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Paket seçkiləri yenilənir"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal qurulum"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Proqram Tə'minatı İdarəsi"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Qurmaq istədiyiniz paketləri seçin"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Qurulur"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Təfsilatsız"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "İcmal"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Qur"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "quraşdırılmayıb"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Bir xəta oldu"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Xahiş edirik, klaviatura düzülüşünüzü seçin"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Qurulum/Yeniləmə"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu bir qurulum, yoxsa yeniləmədir?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Qur"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s-i yenilÉ™"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s üçün şifrələmə açarı"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mövcud olan paketlər axtarılır."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Yüklə"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Qeyd Et"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Səhv fayl"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Seçili böyüklük var olandan daha böyükdür"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Qurulum növü"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Heç bir paket qrupunu seçmədiniz.\n"
+"Xahiş edirik, istədiyiniz ən kiçik qurulumu seçin:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X ilÉ™"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Æsas sÉ™nÉ™dlÉ™rlÉ™ birlikdÉ™ (mÉ™slÉ™hÉ™t edilÉ™n!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Həqiqətən minimal qurulum (xüsusilə urpmi olmasın)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Qurulum hazırlanır"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi qurulur"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Paketləri istərkən xəta yarandı:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Yenə də davam edək?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Qurulum sonrası qurğular"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Yeniləmələr"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Aşağıdakı paketlər qurulacaq"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Medium əlavə etmə xətası"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"İndi siz yenilənmiş paketləri endirib qurma imkanına maliksiniz. Bu "
+"paketlər\n"
+"distribusiya buraxıldıqdan sonra yeniləniblər və təhlükəsizlik ya da xəya "
+"həllərini\n"
+"daxil edə bilərlər.\n"
+"\n"
+"Bu paketləri endirmək üçün fəal İnternet bağlantınız olmalıdır \n"
+"\n"
+"Yeniləmələri qurmaq istəyirsiniz ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s üstündə %1$s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Avadanlıq"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Səs kartı"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Qrafiki ara üz"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Şəbəkə və İnternet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Vəkil vericiləri"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "quraşdırılıb"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Təhlükəsizlik Səviyyəsi"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Atəş Divarı"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "fəal"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "qeyri-fəal"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Siz X-i quraşdırmadınız. Bundan əminsinizmi?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s sürücüsünə boş bir disket yerləşdirin"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Avtomatik qurulum disketi hazırlanır"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Bə'zi bölmələr bitdi.\n"
+"\n"
+"Həqiqətən də çıxmaq istəyirsiniz?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Təbriklər"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Yenidən başlat"
+
+#. -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 "Dil"
+
+#: 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 "Lisenziya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Siçan"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Sabit disklərin aşkar edilməsi"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatura"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Təhlükəsizlik"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Bölmələndirmə"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Qurulur"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "İstifadəçilər"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Açılış yükləyicisi"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X quraşdırılması"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "İcmal"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Xidmətlər"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Yeniləmələr"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Çıxış"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Mövcud əkslərin siyahısını almaq üçün %s səhifəsi ilə təmas qurulur..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Paketleri almaq üçün bir əks ünvanı seçin"
diff --git a/perl-install/install/share/po/be.po b/perl-install/install/share/po/be.po
new file mode 100644
index 000000000..21857ccd2
--- /dev/null
+++ b/perl-install/install/share/po/be.po
@@ -0,0 +1,1639 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Alexander Bokovoy <ab@avilink.net>, 2000
+# Maryia Davidouskaia <maryia@scientist.com>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Belarusian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/be/)\n"
+"Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
+"%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Каталёг"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Пошук пакетаў Ð´Ð»Ñ Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Памылка Ñ‡Ñ‹Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Сетка"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ðдмоўлена Ñž доÑтупе"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "КанфігурацыÑ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+"ПÑўнае абÑталÑванне патрабуе камерцыйных драйвераў Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹.\n"
+"ЧаÑткова інфармацыю пра Ñ–Ñ… можна атрымаць тут: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ДалучÑнне да Ñеткі"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ÐдлучÑнне ад Ñеткі"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "павінны мець"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важна"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "вельмі добра"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "добра"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "можа быць"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ÐпіÑаньне адÑутнічае"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ОфіÑÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹: працÑÑары Ñловаў (LibreOffice Writer, Kword), ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ñ‹Ñ "
+"табліцы, аглÑдальнікі pdf-файлаў, Ñ– г.д."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "ЗабаўлÑÐ»ÑŒÐ½Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ñ‹: аркады, ÑтратÑгіі Ñ– г.д."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "РÑдактары Ñ– прайгравальнікі гуку Ñ– відÑа"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "КанÑÐ¾Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½ÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñродкі"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "РÑдактары, абалонкі, Ñ‚Ñрміналы"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "РаÑпрацоўка"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "БібліÑÑ‚Ñкі Ñ– праграмы Ð´Ð»Ñ Ñ€Ð°Ñпрацоўкі на С Ñ– С++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ДакумÑнтацыÑ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "нігі і Howto па Linux і Free Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "База даньнÑÑž"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment - аÑноўнае графічнае аÑÑродзе з калекцыÑй "
+"інÑтрументальных Ñродкаў"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графічнае аÑÑродзе Ñа зручным Ð´Ð·ÐµÐ»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼ прыкладаннÑÑž Ñ– "
+"інÑтрументальных Ñродкаў"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ð†Ð½ÑˆÑ‹Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ ÐŸÑ€Ð°Ñ†Ð¾ÑžÐ½Ñ‹Ñ Ñталы"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "КарыÑнаÑьці"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Узнікла памылка, Ñкую не атрымліваецца карÑктна апрацаваць,\n"
+"таму працÑгвайце на Ñваю рызыку."
+
+#: steps.pm:469
+#, 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 ""
+"ÐÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð²Ð°Ð¶Ð½Ñ‹Ñ Ð¿Ð°ÐºÐµÑ‚Ñ‹ не былі ÑžÑталÑваны карÑктна.\n"
+"Другі ваш cdrom дыÑк ці ваш cdrom маюць дÑфекты.\n"
+"Праверце cdrom на вашым кампутары, выкарыÑтоўваючы\"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Пераход на крок ‛%s’\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "УÑталÑванне %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> паміж Ñлементамі"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"У Вашай ÑÑ–ÑÑ‚Ñме маецца недахоп Ñ€ÑÑурÑаў, таму магчымы праблемы\n"
+"пры ÑžÑталÑванні %s. У гÑтым выпадку паÑпрабуйце Ñ‚ÑкÑтавую\n"
+"праграму ÑžÑталÑваннÑ. Ð”Ð»Ñ Ð³Ñтага націÑніце ‛F1’ у Ñ‡Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ–, а потым\n"
+"набÑрыце ‛text’ Ñ– націÑніце <ENTER>."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Выбар групы пакетаў"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "ÐÑабіÑты выбар пакетаў"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ðгульны памер: %d / %d Мб"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Ð’ÑÑ€ÑÑ–Ñ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Памер: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ð’Ñ‹ не можаце вылучаць Ñ– адмÑнÑць вылучÑнне гÑтага пакету"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ð’Ñ‹ не можаце выбраць гÑты пакет, таму Ñк не хапае меÑца Ð´Ð»Ñ Ñго ÑžÑталÑваннÑ"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð¿Ð°ÐºÐµÑ‚Ñ‹ будуць даданы да ÑÑ–ÑÑ‚Ñмы"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð¿Ð°ÐºÐµÑ‚Ñ‹ будуць выдалены"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "ГÑта абавÑзковы пакет, Ñго вылучÑнне нельга адмÑніць"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ð’Ñ‹ не можаце адмÑніць вылучÑнне гÑтага пакету. Ðн ужо ÑžÑталÑваны"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ð’Ñ‹ не можаце адмÑніць вылучÑнне гÑтага пакету. Яго патрÑбна абнавіць"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "УÑталёўка"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Выбар пакетаў Ð´Ð»Ñ ÑžÑталÑваннÑ"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "УÑталёўваем"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ÐÐ³ÑƒÐ»ÑŒÐ½Ñ‹Ñ Ð·ÑŒÐ²ÐµÑткі"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ÐаÑтройка"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "ÐдбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "УÑталёўка"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "ПраглÑд даÑтупных пакетаў"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Загрузка"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Захаваць"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Падрыхтоўка ÑžÑталÑваньнÑ"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "УÑталÑванне пакету %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ÐтрымалаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° ÑžÐ¿Ð°Ñ€Ð°Ð´ÐºÐ°Ð²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ñž:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "УÑÑ‘ роўна працÑгваць?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ÐаÑтройка паÑÐ»Ñ ÑžÑталÑваннÑ"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ðднавіць"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "ÐаÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð¿Ð°ÐºÐµÑ‚Ñ‹ будуць даданы да ÑÑ–ÑÑ‚Ñмы"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ÐбÑталÑваньне"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Узровень бÑÑьпекі"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "выключаны"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "УÑтаўце дыÑкету Ñž дыÑкавод %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "СтварÑнне дыÑкеты Ð´Ð»Ñ ÑžÑталÑваннÑ"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ÐÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ ÐºÑ€Ð¾ÐºÑ– не завершаны.\n"
+"Ð’Ñ‹ Ñапраўды жадаеце выйÑці зараз?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Перазагрузка"
+
+#. -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 "Выбар мовы"
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мыш"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ВызначÑнне жорÑткага дыÑку"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "КлавіÑтура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "БÑÑьпека"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "УÑталёўваем"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "КарыÑтальнікі"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "ÐаÑтройка X Window"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ÐÐ³ÑƒÐ»ÑŒÐ½Ñ‹Ñ Ð·ÑŒÐ²ÐµÑткі"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "СÑрвіÑÑ‹"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Выход"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Выбар люÑтра Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ñž"
diff --git a/perl-install/install/share/po/bg.po b/perl-install/install/share/po/bg.po
new file mode 100644
index 000000000..23f160fca
--- /dev/null
+++ b/perl-install/install/share/po/bg.po
@@ -0,0 +1,1651 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003
+# Boyan Ivanov <boyan17@bulgaria.com>, 2003
+# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000
+# Kolio Kolev <kolio_kolev@biotronica.net>, 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Georgi Georgiev <georgiev_1994@abv.bg>\n"
+"Language-Team: Bulgarian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/bg/)\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ДиректориÑ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ТърÑи във вече инÑталираните пакети..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "ТърÑÑ Ð¿Ð°ÐºÐµÑ‚Ð¸ за обновÑване"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Следните пакети ще бъдат изтрити за да Ñе позволи обновÑване на ÑиÑтемата: "
+"%s\n"
+"\n"
+"\n"
+"ДейÑтвително ли иÑкате да изтриете тези пакети?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Грешка при четенето на файла %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ЛиÑват права"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ðе мога да Ð½Ð°Ð¿Ñ€Ð°Ð²Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð½Ð° \"Ñнимка\" преди разделÑнето на диÑка "
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Снимки ще бъдат налични Ñлед инÑталиране в %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ÐаÑтройка"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Вие трÑбва Ñъщо да форматирате %s"
+
+#: 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 ""
+"ЧаÑÑ‚ от хардуера на компютъра ви Ñе нуждае от ``ÑобÑтвените Ñи'' драйвери, "
+"за да работи.\n"
+"Можете да намерите повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° това на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Включвам мрежата"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Изключване на мрежата"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Копиране в прогреÑ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "нужен"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важен"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "много добър"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "добър"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "Ñтава"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Без опиÑание"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "ПоÑви Ñе грешка:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Получи Ñе непоправима грешка: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Без въпроÑи отново"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d инÑталационни транзакции пропаднаха"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Работна ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ОфиÑна работна ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ÐžÑ„Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸: word-процеÑори (LibreOffice Writer, Kword), таблици "
+"(LibreOffice Calc, Kspread), преглед на PDF, и т.н."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Игрална ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркадни игри, игри на маÑа, Ñтратегии и Ñ‚.н."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мутимедийна ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пуÑкане/поправÑне на звук и видео"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Интернет ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежов компютър (клиент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенти за различни протоколи включително SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ИнÑтрументи за улеÑнÑване наÑтройката на компютъра ви"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Конзолни инÑтрументи"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редактори, шелове, файлови инÑтрименти, терминали"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Разработка"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Библиотеки за разработка на C и C++, програми и include файлове"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ДокументациÑ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и HOTWO-та за Linux и ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð¸Ñ Ñофтуер"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web Сървър"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Групуер"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сървър"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Сървър, Firewall/Рутер"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Сървър Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Ñървър"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име на домейн и Мрежов Информационен Сървър"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Сървър, Бази-данни"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Сървър, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache и Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Е-поща"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix пощенÑки Ñървър"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL или MariaDB Ñървър за бази-данни"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежов компютър, Ñървър"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS Ñървър, SMB Ñървър, Proxy Ñървър, SSH Ñървър"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графична Ñреда"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment, проÑта Ñреда Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ð¸Ñ Ð¾Ñ‚ придружаващи "
+"инÑтрументи"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome работна ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графична Ñреда Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñки набор от Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ desktop инÑтрументи"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQT ДеÑктоп"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE ДеÑктоп"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графични desktop-и"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Помощни програми"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сървър"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"ПоÑви Ñе грешка, но не знам как да Ñе ÑÐ¿Ñ€Ð°Ð²Ñ Ñ Ð½ÐµÑ Ð´ÐµÐ»Ð¸ÐºÐ°Ñ‚Ð½Ð¾.\n"
+"Можете да продължите на Ñвой риÑк."
+
+#: steps.pm:469
+#, 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 ""
+"ÐÑкои важни пакети не Ñе инÑталираха както трÑбва.\n"
+"Или CDROM уÑтройÑтвото ви или компакт диÑка ви е дефектен.\n"
+"Проверете компакт диÑка на инÑÑ‚Ð°Ð»Ð¸Ñ€Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿ÑŽÑ‚ÑŠÑ€ използвайки \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Ðавлизам в етап `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "ИнÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> между елементите"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Вашата ÑиÑтема е Ñ Ð¼Ð°Ð»ÐºÐ¸ реÑурÑи. Може да имате проблеми Ñ Ð¸Ð½Ñталирането\n"
+"на %s. Ðко Ñе поÑви проблем опитайте Ñ Ñ‚ÐµÐºÑтовата инÑалациÑ. Зацелта,\n"
+"натиÑнете 'F1', когато Ñтартирате от CDROM и въведете 'теьт'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma ДеÑктоп"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME ДеÑктоп"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Избор на група пакети"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Избиране на пакети един по един"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Обща големина: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑиÑ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Размер: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ВажноÑÑ‚:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ðе можете да отбележете/деотбележете този пакет"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "поради неопределен %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ðе можете да оÑтавите пакета немаркиран, защото нÑмате мÑÑто да го "
+"инÑталирате"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Следните пакети ще бъдат инÑталирани"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следните пакети ще бъдат премахнати"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Това е нужен пакет, не може да бъде немаркиран"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ðе можете да оÑтавите този пакет немаркиран. Той вече е инÑталиран"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ðе можете да изключите този пакет. Той трÑбва да бъде обновен"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Покажи автоматично отбелÑзаните пакети"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ИнÑталирай"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Прочитане/Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° Ð½Ð°Ð¿Ñ€Ð°Ð²ÐµÐ½Ð¸Ñ Ð¸Ð·Ð±Ð¾Ñ€"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ОбновÑване на избора на пакети"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Миминална инÑталациÑ"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Управление на Ñофтуер"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изберете пакетите, които иÑкате да инÑталирате"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "ИнÑталирам"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Без подробноÑти"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Обобщение"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ÐаÑтройка"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "не е конфигуриран"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "ПоÑви Ñе грешка"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "МолÑ, изберете подреждане на клавиатурата"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ИнÑталирай/Обнови"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Това нова инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð»Ð¸ е или обновÑване ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ИнÑталиране"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "ОбновÑва %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ за криптиране на %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "ТърÑÑ Ð½Ð°Ð»Ð¸Ñ‡Ð½Ð¸ пакети..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "ÐатовареноÑÑ‚"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Запазва"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Избраната големина е по-голÑма от доÑтъпното проÑтранÑтво"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Тип инÑталациÑ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Вие не Ñте избрали никаква група от пакети.\n"
+"МолÑ, изберете минималната инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ ÐºÐ¾Ñти иÑкате:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "С X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "С базова Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ (препоръчва Ñе!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ÐаиÑтина минимална инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ (оÑобенно без urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ПодготвÑм инÑталациÑта"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "ИнÑталиране на пакета %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ПоÑви Ñе грешка при поръчването на пакетите:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Да продължа ли вÑе пак ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Повторен опит"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "След инÑталационна наÑтройка"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ОбновÑване"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Следните пакети ще бъдат инÑталирани"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Грешка при добавÑне на източник"
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Хардуер"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Звукова карта"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Графичен интерфайÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Ðиво на защита"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Защитна Ñтена"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "активирано"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "изключен"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Вие не Ñте конфигурирали X. Сигурни ли Ñте, че иÑкате това?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Сложете празна диÑкета в уÑтройÑтво %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ПодготвÑм диÑкета Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð° инÑталациÑ"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ÐÑкои етапи не Ñа завършени.\n"
+"\n"
+"ÐаиÑтина ли иÑкате да излезете Ñега ?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ПоздравлениÑ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "ПреÑтартира"
+
+#. -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 "Избор на език"
+
+#: 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 "Лиценз"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мишка"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ЗаÑичане на диÑковете"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавиатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "СигурноÑÑ‚"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "РазделÑне на дÑлове"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ИнÑталирам"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Потребители"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "ÐаÑтройка на Ð¥"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Обобщение"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "УÑлуги"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ОбновÑване"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Излез"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Свързване Ñ %s web Ñайт за получаване на ÑпиÑъка Ñ Ð½Ð°Ð»Ð¸Ñ‡Ð½Ð¸ огледални "
+#~ "Ñървъри..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Изберете огледален Ñървър,от който да получите пакетите"
diff --git a/perl-install/install/share/po/bn.po b/perl-install/install/share/po/bn.po
new file mode 100644
index 000000000..92c8a547d
--- /dev/null
+++ b/perl-install/install/share/po/bn.po
@@ -0,0 +1,1685 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Jamil Ahmed <jamil@BengaLinux.Org>, 2004-2005,2007
+# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004
+# Omi Azad <omi@altruists.org>, 2004
+# Progga <progga@BengaLinux.Org>, 2004
+# Samia <mailsamia2001@yahoo.com>, 2005
+# Tisa Nafisa <tisa_nafisa@yahoo.com>, 2007
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Bengali (http://www.transifex.com/MageiaLinux/mageia/language/"
+"bn/)\n"
+"Language: bn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "আপনার কি আরও à¦à¦•টি সমà§à¦ªà§à¦°à¦• মাধà§à¦¯à¦® আছে?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"নিচের মিডিয়াটি পাওয়া গেছে à¦à¦¬à¦‚ ইনসà§à¦Ÿà¦² করার সময় বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হবে: %s.\n"
+"\n"
+"\n"
+"আপনার কি কনফিগার করার জনà§à¦¯ কোনো সমà§à¦ªà§à¦°à¦• ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ মিডিয়াম আছে?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "নেটওয়ারà§à¦• (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "নেটওয়ারà§à¦• (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "নেটওয়ারà§à¦• (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS সেটআপ"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "অনà§à¦—à§à¦°à¦¹ করে আপনার NFS মিডিয়ার হোসà§à¦Ÿà¦¨à¦¾à¦® à¦à¦¬à¦‚ ডিরেকà§à¦Ÿà¦°à§€ পà§à¦°à¦¬à§‡à¦¶ করান"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "হোসà§à¦Ÿà¦¨à¦¾à¦® পাওয়া যাচà§à¦›à§‡ না"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "ডিরেকà§à¦Ÿà¦°à§€ অবশà§à¦¯à¦‡ \"/\" দিয়ে শà§à¦°à§ হবে"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS মাউনà§à¦Ÿà§‡à¦° জনà§à¦¯ হোসà§à¦Ÿà¦¨à¦¾à¦® ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ডিরেকà§à¦Ÿà¦°à¦¿"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "সমà§à¦ªà§à¦°à¦•"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "à¦à¦‡ mirror ঠকোন hdlist ফাইল পাওয়া যাচà§à¦›à§‡ না"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "যে সমসà§à¦¥ পà§à¦¯à¦¾à¦•েজ ইনসà§à¦Ÿà¦² হয়ে আছে সেগà§à¦²à¦¿ পরà§à¦¯à¦¬à§‡à¦•à§à¦·à¦¨ করা হচà§à¦›à§‡..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "আপগà§à¦°à§‡à¦¡ করার জনà§à¦¯ পà§à¦¯à¦¾à¦•েজ খোà¦à¦œà¦¾ হচà§à¦›à§‡..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "আপগà§à¦°à§‡à¦¡à§‡à¦° পূরà§à¦¬à§‡ পà§à¦¯à¦¾à¦•েজ মà§à¦›à§‡ ফেলা হচà§à¦›à§‡..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"আপনার সিসà§à¦Ÿà§‡à¦® আপগà§à¦°à§‡à¦¡ করার কà§à¦·à§‡à¦¤à§à¦°à§‡ নিমà§à¦¨à¦²à¦¿à¦–িত পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ মà§à¦›à§‡ যাবে: %s\n"
+"\n"
+"\n"
+"আপনি কি আসলেই à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ মà§à¦›à§‡ ফেলতে চান?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s ফাইল পড়াতে তà§à¦°à§à¦Ÿà¦¿"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "নিমà§à¦¨à¦²à¦¿à¦–িত ডিসà§à¦•গà§à¦²à§‹ নামানà§à¦¤à¦° করা হয়েছে:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (পূরà§à¦¬à§‡à¦° নাম %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "à¦à¦‡à¦š-টি-টি-পি"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "à¦à¦«-টি-পি"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "নেটওয়ারà§à¦•"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "অনà§à¦—à§à¦°à¦¹ করে à¦à¦•টি মিডিয়া নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "à¦à¦‡ ফাইলটি আগে থেকেই আছে। করব?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হয়নি"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "তà§à¦°à§à¦Ÿà¦¿à¦ªà§‚রà§à¦£ NFS নাম"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ মিডিয়া %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "পারà§à¦Ÿà¦¿à¦¶à¦¨ করার আগে সà§à¦•à§à¦°à¦¿à¦¨à¦¶à¦Ÿ তৈরী করা যায়নি"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "%s -ঠইনসà§à¦Ÿà¦² করার পরে সà§à¦•à§à¦°à¦¿à¦¨à¦¶à¦Ÿ পাওয়া যাবে"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr " ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "কনফিগারেশন"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "আপনাকে অবশà§à¦¯à¦‡ %s-ও ফরমà§à¦¯à¦¾à¦Ÿ করতে হবে"
+
+#: 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 ""
+"আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡à¦° কিছৠহারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦° কাজ করার জনà§à¦¯ ``মালিকানার'' ডà§à¦°à¦¾à¦‡à¦­à¦¾à¦° পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤\n"
+"আপনি তাদের সমà§à¦ªà¦°à§à¦•ে à¦à¦–ান থেকে তথà§à¦¯ নিতে পারবেন: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "নেটওয়ারà§à¦•কে চালৠকরা হচà§à¦›à§‡"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "নেটওয়ারà§à¦•কে বনà§à¦§ করা হচà§à¦›à§‡"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "ভবিষà§à¦¯à¦¤à§‡ বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° জনà§à¦¯ ডিসà§à¦•ে কিছৠপà§à¦¯à¦¾à¦•েজ কপি করা হচà§à¦›à§‡"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "কপি সমà§à¦ªà¦¨à§à¦¨ হচà§à¦›à§‡"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "অবশà§à¦¯à¦‡ থাকতে হবে"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "জরà§à¦°à§€"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "খà§à¦¬à¦‡ সà§à¦¨à§à¦¦à¦°"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "সà§à¦¨à§à¦¦à¦°"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "হয়তোবা"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "বিবরণ নেই"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "à¦à¦•টি মারাতà§à¦®à¦• তà§à¦°à§à¦Ÿà¦¿ ঘটেছে: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "ওয়ারà§à¦•ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "অফিস ওয়ারà§à¦•ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"অফিস পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦¸à¦®à§‚হ: ওয়ারà§à¦¡à¦ªà§à¦°à¦¸à§‡à¦¸à¦° (LibreOffice Writer, Kword), সà§à¦ªà§à¦°à§‡à¦¡à¦¸à¦¿à¦Ÿ "
+"(LibreOffice Calc, Kspread), PDF ফাইল পà§à¦°à¦¦à¦°à§à¦¶à¦• ইতà§à¦¯à¦¾à¦¦à§€"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "গেশ ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "উদà§à¦¦à§€à¦ªà¦¨à¦¾à¦®à§‚লক পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦¸à¦®à§‚হ: আরà§à¦•েড, বোরà§à¦¡, সà§à¦Ÿà§à¦°à§‡à¦Ÿà§‡à¦œà¦¿, ইতà§à¦¯à¦¾à¦¦à¦¿"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "মালà§à¦Ÿà¦¿à¦®à¦¿à¦¡à¦¿à§Ÿà¦¾ ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "সাউনà§à¦¡ à¦à¦¬à¦‚ ভিডিও দেখার/à¦à¦¡à¦¿à¦Ÿ করার পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦¸à¦®à§‚হ"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"মেইল আদানপà§à¦°à¦¦à¦¾à¦¨, খবর পড়া à¦à¦¬à¦‚ ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¿à¦‚ (mutt, tin..) à¦à¦° জনà§à¦¯ কিছৠটà§à¦²à§‡à¦° সেট"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "নেটওয়ারà§à¦• কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° (কà§à¦²à¦¾à¦‡à¦¨à§à¦Ÿ)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH সহ বিভিনà§à¦¨ পà§à¦°à§‹à¦Ÿà¦•লের জনà§à¦¯ কà§à¦²à¦¾à¦‡à¦¨à§à¦Ÿà¦¸à¦®à§‚হ"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "আপনার কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡à¦° কনফিগারেশন সহজ করার জনà§à¦¯ কিছৠটà§à¦²"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "কনসল টà§à¦²"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°, শেল, ফাইল টà§à¦², টারà§à¦®à¦¿à¦¨à¦¾à¦² সমূহ"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "ডেভলপমেনà§à¦Ÿ"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C à¦à¦¬à¦‚ C++ ডেভলপমেনà§à¦Ÿà§‡à¦° লাইবà§à¦°à§‡à¦°à§€, পà§à¦°à¦—à§à¦°à¦¾à¦® à¦à¦¬à¦‚ include ফাইলসমূহ"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "লিনাকà§à¦¸ à¦à¦¬à¦‚ ফà§à¦°à§€ সফটওয়ার সংকà§à¦°à¦¾à¦¨à§à¦¤ বই ও হাউটৠ(HOWTO)"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "লিনাকà§à¦¸à§‡à¦° সাধারণ আধার। তৃতীয়পকà§à¦· à¦à¦ªà§à¦²à¦¿à¦•েশন সমূহের সাপোরà§à¦Ÿ"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "ওয়েব সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "à¦à§à¦¯à¦ªà¦¾à¦šà¦¿"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "গà§à¦°à§à¦ªà¦“à§Ÿà§à¦¯à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "কোলাব সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "ফায়ারওয়াল/রাউটার"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ গেটওয়ে"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "মেইল/সংবাদ"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix মেইল সারà§à¦­à¦¾à¦°, Inn সংবাদ সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ডিরেকà§à¦Ÿà¦°à¦¿ সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "ডিà¦à¦¨à¦à¦¸/à¦à¦¨à¦†à¦‡à¦à¦¸"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ডোমেইন নেম à¦à¦¬à¦‚ নেটওয়ারà§à¦• ইনফরমেশন সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ফাইল à¦à¦¬à¦‚ পà§à¦°à¦¿à¦¨à§à¦Ÿà¦¾à¦° শেয়ারিং সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS সারà§à¦­à¦¾à¦°, Samba সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "ডেটাবেস"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL অথবা MariaDB ডেটাবেস সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "ওয়েব/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "à¦à§à¦¯à¦ªà¦¾à¦šà¦¿, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "মেইল"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix মেইল সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL অথবা MariaDB ডেটাবেস সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "নেটওয়ারà§à¦• কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦° সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS সারà§à¦­à¦¾à¦°, SMB সারà§à¦­à¦¾à¦°, Proxy সারà§à¦­à¦¾à¦°, ssh সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "গà§à¦°à¦¾à¦«à¦¿à¦•াল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K ডেকà§à¦¸à¦Ÿà¦ª, কিছৠসহযোগীমূলক টà§à¦²à§‡à¦° সমনà§à¦¬à§Ÿà§‡ à¦à¦•টি সাধারণ গà§à¦°à¦¾à¦«à¦¿à¦•াল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "গà§à¦¹à¦¨à§‹à¦® ওয়ারà§à¦•ষà§à¦Ÿà§‡à¦¶à¦¨"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর বনà§à¦§à§à¦¸à§‚লভ কিছৠà¦à¦ªà§à¦²à¦¿à¦•েশন à¦à¦¬à¦‚ ডোকà§à¦¸à¦Ÿà¦ª টà§à¦²à§‡à¦° সমনà§à¦¬à§Ÿà§‡ à¦à¦•টি গà§à¦°à¦¾à¦«à¦¿à¦•াল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "অনà§à¦¯à¦¾à¦¨à§à¦¯ গà§à¦°à¦¾à¦«à¦¿à¦•াল ডেকà§à¦¸à¦Ÿà¦ª"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ইউটিলিটিসমূহ"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH সারà§à¦­à¦¿à¦¸"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "ওয়েবমিন"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "ওয়েবমিন দূরবরà§à¦¤à§€ কনফিগারেশন সারà§à¦­à¦¾à¦°"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "নেটওয়ারà§à¦• ইউটিলিটিসমূহ/পরà§à¦¯à¦¬à§‡à¦•à§à¦·à¦£"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "পরà§à¦¯à¦¬à§‡à¦•à§à¦·à¦£ টà§à¦²à¦¸à¦®à§‚হ, হিসাবরকà§à¦·à¦£ পà§à¦°à¦¸à§‡à¦¸ করে, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia উইজারà§à¦¡à¦¸à¦®à§‚হ"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "সারà§à¦­à¦¾à¦° কনফিগার করার জনà§à¦¯ উইজারà§à¦¡à¦¸à¦®à§‚হ"
+
+#: 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 ""
+"à¦à¦•টি তà§à¦°à§à¦Ÿà¦¿ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ হয়েছে, কিনà§à¦¤à§ আমি বà§à¦à¦¤à§‡ পারছিনা\n"
+"কিভাবে à¦à¦Ÿà¦¾ সনà§à¦¦à¦°à¦­à¦¾à¦¬à§‡ হà§à¦¯à¦¾à¦¨à§à¦¡à¦² করবো।\n"
+"আপনি নিজের à¦à§à¦à¦•িতে অগà§à¦°à¦¸à¦° হতে পারেন।"
+
+#: steps.pm:469
+#, 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 ""
+"কিছৠগà§à¦°à§à¦¤à§à¦¬à¦ªà§‚রà§à¦£ পà§à¦¯à¦¾à¦•েজ সঠিকভাবে ইনসà§à¦Ÿà¦² হয়নি।\n"
+"হয় আপনার সিডিরম ডà§à¦°à¦¾à¦‡à¦­ অথবা আপনার সিডিরম তà§à¦°à§à¦Ÿà¦¿à¦ªà§‚রà§à¦£à¥¤\n"
+"কোন ইনসà§à¦Ÿà¦² কমà§à¦ªà¦¿à¦‰à¦Ÿà¦¾à¦°à§‡ \"rpm -qpl media/main/*.rpm\" কমানà§à¦¡à§‡à¦° মাধà§à¦¯à¦®à§‡ সিডিরম "
+"পরীকà§à¦·à¦¾à¦•রà§à¦¨\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' সà§à¦Ÿà§‡à¦ªà§‡ পà§à¦°à¦¬à§‡à¦¶ করছি\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "উপাদানগà§à¦²à§‹à¦° মধà§à¦¯à§‡ <Tab>/<Alt-Tab> "
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "পà§à¦¯à¦¾à¦•েজ গà§à¦°à§à¦ª নিরà§à¦¬à¦¾à¦šà¦¨"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "আলাদাভাবে পà§à¦¯à¦¾à¦•েজ নিরà§à¦¬à¦¾à¦šà¦¨"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "সব কিছৠঅনিরà§à¦¬à¦¾à¦šà¦¿à¦¤à¦•রণ"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "মোট সাইজ: %d / %d à¦à¦®à¦¬à¦¿"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ভারà§à¦¸à¦¨:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "সাইজ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "পà§à¦°à¦¾à¦§à¦¾à¦¨à§à¦¯:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "আপনি à¦à¦‡ পà§à¦¯à¦¾à¦•েজটি নিরà§à¦¬à¦¾à¦šà¦¨/অ-নিরà§à¦¬à¦¾à¦šà¦¨ করতে পারবেন না"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s না থাকার কারনে"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s যথেষà§à¦Ÿ না হবার কারনে"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s পà§à¦°à¦šà¦¾à¦°à§‡à¦° চেষà§à¦Ÿà¦¾ চলছে"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s রাখার কারণে"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"আপনি à¦à¦‡ পà§à¦¯à¦¾à¦•েজটি নিরà§à¦¬à¦¾à¦šà¦¨ করতে পারবেননা যেহেতৠà¦à¦Ÿà¦¾ ইনসà§à¦Ÿà¦² করার জনà§à¦¯ যথেষà§à¦Ÿ জায়গা "
+"ফাà¦à¦•া নেই"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ ইনসà§à¦Ÿà¦² হতে যাচà§à¦›à§‡"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ অপসরিত হতে যাচà§à¦›à§‡"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "à¦à¦Ÿà¦¿ à¦à¦•টি বাধà§à¦¯à¦¤à¦¾à¦®à§‚লাক পà§à¦¯à¦¾à¦•েজ, à¦à¦Ÿà¦¿ কোনভাবেই বাদ দেয়া যাবেনা"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+"আপনি à¦à¦‡ পà§à¦¯à¦¾à¦•েজটির অ-নিরà§à¦¬à¦¾à¦šà¦¨ করতে পারবেন না, à¦à¦Ÿà¦¾ আগে থেকেই ইনসà§à¦Ÿà¦² হয়ে আছে"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "আপনি à¦à¦‡ পà§à¦¯à¦¾à¦•েজটি অ-নিরà§à¦¬à¦¾à¦šà¦¨ করতে পারবেন না। à¦à¦Ÿà¦¾ অবশà§à¦¯à¦‡ আপগà§à¦°à§‡à¦¡ হতে হবে"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "সংয়-নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ দেখাও"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ইনসà§à¦Ÿà¦²"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¨à¦¸à¦®à§‚হ লোড/সংরকà§à¦·à¦£ করো"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "পà§à¦¯à¦¾à¦•েজের নিরà§à¦¬à¦¾à¦šà¦¨ আপগà§à¦°à§‡à¦¡ করা হচà§à¦›à§‡"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "সরà§à¦¬à¦¨à¦¿à¦®à§à¦¨ ইনসà§à¦Ÿà¦²"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "সফটওয়à§à¦¯à¦¾à¦° মà§à¦¯à¦¾à¦¨à§‡à¦œà¦®à§‡à¦¨à§à¦Ÿ"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "আপনি যেই পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ ইনসà§à¦Ÿà¦² করতে চান তা পছনà§à¦¦ করà§à¦¨"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "কোন বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ ছাড়া"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "সারাংশ"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "কনফিগার"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "কনফিগার করা হয়নি"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"নিমà§à¦¨à¦²à¦¿à¦–িত ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ মিডিয়া পাওয়া গেছে।\n"
+"যদি আপনি à¦à¦—à§à¦²à§‹à¦° মধà§à¦¯à¦•ার কিছৠà¦à§œà¦¿à§Ÿà§‡ যেতে চান, তাহলে à¦à¦–ন সেগà§à¦²à§‹à¦•ে অনিরà§à¦¬à¦¾à¦šà¦¿à¦¤ করà§à¦¨à¥¤"
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° আগে আপ‌নি সিডির তথà§à¦¯à¦¸à¦®à§‚হ হারà§à¦¡à¦¡à¦¿à¦¸à§à¦•ে কপি করতে পারেন।\n"
+" à¦à¦°à¦ªà¦° হারà§à¦¡à¦¡à¦¿à¦¸à§à¦• থেকে ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ চলতে থাকবে à¦à¦¬à¦‚ সিসà§à¦Ÿà§‡à¦® সমà§à¦ªà§‚রà§à¦¨ ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° পরও "
+"পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ রয়ে যাবে।"
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD গà§à¦²à§‹ সমà§à¦ªà§à¦°à§à¦¨ কপি করো "
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "à¦à¦•টি তà§à¦°à§à¦Ÿà¦¿ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ হয়েছে"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "অনà§à¦—à§à¦°à¦¹ করে আপনার কীবোরà§à¦¡ বিনà§à¦¯à¦¾à¦¸ পছনà§à¦¦ করà§à¦¨à¥¤"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ইনসà§à¦Ÿà¦²/আপগà§à¦°à¦¡"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "à¦à¦Ÿà¦¾ কি à¦à¦•টি ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ না আপগà§à¦°à§‡à¦¡?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr " ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s আপগà§à¦°à¦¡ করো"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s -à¦à¦° জনà§à¦¯ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ কী"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"আপনার সিডিরম পরিবরà§à¦¤à¦¨ করà§à¦¨!\n"
+"অনà§à¦—à§à¦°à¦¹ করে \"%s\" লেখা সিডিরমটি আপনার ডà§à¦°à¦¾à¦‡à¦­à§‡ পà§à¦°à¦¬à§‡à¦¶ করান à¦à¦¬à¦‚ যখন সেটা হয়ে যাবে "
+"ঠিক আছে চাপà§à¦¨à¥¤\n"
+"যদি সেটা আপনার না থাকে, à¦à¦‡ সিডিরম থেকে ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ à¦à§œà¦¿à§Ÿà§‡ যেতে বাতিল চাপà§à¦¨à¥¤"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "বরাদà§à¦¦à¦•ৃত পà§à¦¯à¦¾à¦•েজসমূহ খোà¦à¦œà¦¾ হচà§à¦›à§‡..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ অথবা সামà§à¦ªà§à¦°à¦¤à¦¿à¦•ীকরনের জনà§à¦¯ আপনার সিসà§à¦Ÿà§‡à¦®à§‡ যথেষà§à¦Ÿ পরিমান জায়গা খালি নেই "
+"(%dà¦à¦®à¦¬à¦¿ > %dà¦à¦®à¦¬à¦¿)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"অনà§à¦—à§à¦°à¦¹ করে পà§à¦¯à¦¾à¦•েজ নিরà§à¦¬à¦¾à¦šà¦¨ লোড বা সংরকà§à¦·à¦£ বাছাই করà§à¦¨à¥¤\n"
+"à¦à¦‡ ফরমà§à¦¯à¦¾à¦Ÿà¦Ÿà¦¿ auto_install দà§à¦¬à¦¾à¦°à¦¾ তৈরী ফাইলসমূহের মত।"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "চাপ"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "সংরকà§à¦·à¦£"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ ফাইল"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "গà§à¦¨à§‹à¦®"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "উপসà§à¦¥à¦¿à¦¤ জায়গার চাইতে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সাইজটি অনেক বড়"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦° ধরণ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"আপনি পà§à¦¯à¦¾à¦•েজের কোন গà§à¦°à§à¦ª নিরà§à¦¬à¦¾à¦šà¦¨ করেননি।\n"
+"অনà§à¦—à§à¦°à¦¹ করে আপনি যে কà§à¦·à§à¦¦à§à¦°à¦¾à¦•ৃতির ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ চান তা পছনà§à¦¦ করà§à¦¨:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X-à¦à¦° সাথে"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "সাধারন নিরà§à¦¦à§‡à¦¶à¦¿à¦•ার সাথে (পরামরà§à¦¶ দেয়া হচà§à¦›à§‡!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "à¦à¦•à§à¦•েবারেই কà§à¦·à§à¦¦à§à¦° ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨ (বিশেষ করে কোন urpmi ছাড়া)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° পà§à¦°à¦¸à§à¦¤à§à¦¤à¦¿ চলছে"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s পà§à¦¯à¦¾à¦•েজ সমূহ ইনসà§à¦Ÿà¦² করা হচà§à¦›à§‡"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ বিনà§à¦¯à¦¸à§à¦¤ করতে গিয়ে à¦à¦•টি ভà§à¦² ছিল:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "তবà§à¦“ যাব?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "পà§à¦¨à¦°à¦¾à§Ÿ চেষà§à¦Ÿà¦¾ করো"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "à¦à¦‡ পà§à¦¯à¦¾à¦•েজটি à¦à§œà¦¿à§Ÿà§‡ যাও"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" মাধà§à¦¯à¦®à§‡à¦° সব পà§à¦¯à¦¾à¦•েজ à¦à§œà¦¿à§Ÿà§‡ যাও"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "মিডিয়া à¦à¦¬à¦‚ পà§à¦¯à¦¾à¦•েজের নিরà§à¦¬à¦¾à¦šà¦¨ ঠফিরে যাও"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "%s পà§à¦¯à¦¾à¦•েজ ইনসà§à¦Ÿà¦² করতে সমসà§à¦¯à¦¾ হয়েছে।"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦° পরের কনফিগারেশন"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "অনà§à¦—à§à¦°à¦¹ করে নিশà§à¦šà¦¿à¦¤ করà§à¦¨ যে সামà§à¦ªà§à¦°à¦¤à¦¿à¦• মডিউলগà§à¦²à§‹ %s ডà§à¦°à¦¾à¦‡à¦­ ঠআছে"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "আপডেট"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ ইনসà§à¦Ÿà¦² হতে যাচà§à¦›à§‡"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "মাধà§à¦¯à¦® যোগ করার পà§à¦°à¦•à§à¦°à¦¿à§Ÿà¦¾ বিফল হয়েছে"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"আপনি à¦à¦–ন আপডেট পà§à¦¯à¦¾à¦•েজ ডাউনলোড করতে পারবেন। à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹\n"
+"à¦à¦‡ ডিসà§à¦Ÿà§à¦°à¦¿à¦¬à¦¿à¦‰à¦¶à¦¨ রিলিজ হবার পর আপডেট করতে পারেন। তারা নিরাপতà§à¦¤à¦¾\n"
+"বা তà§à¦°à§à¦Ÿà¦¿ নিরà§à¦¦à¦¿à¦·à§à¦Ÿ ধারণ করতে পারে।\n"
+"\n"
+"à¦à¦‡ পà§à¦¯à¦¾à¦•েজগà§à¦²à§‹ ডাউনলোড করতে, আপনার ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ সংযà§à¦•à§à¦¤à¦¿à¦¤à§‡ কাজ করতে\n"
+"হবে।\n"
+"\n"
+"আপনি কি ইনসà§à¦Ÿà¦² আপডেট করতে চান?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s -ঠ%s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "হারà§à¦¡à¦“à§Ÿà§à¦¯à¦¾à¦°"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "সাউনà§à¦¡à¦•ারà§à¦¡"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "গà§à¦°à¦¾à¦«à¦¿à¦•াল ইনà§à¦Ÿà¦¾à¦°à¦«à§‡à¦¸"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "নেটওয়ারà§à¦Ÿ à¦à¦¬à¦‚ ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "পà§à¦°à¦•à§à¦¸à¦¿à¦¸à¦®à§‚হ"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "কনফিগার করা হয়েছে"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "সিকউরিটি লেভেল"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "ফায়ারওয়াল"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "সকà§à¦°à¦¿à§Ÿ হয়েছে"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "অকারà§à¦¯à¦•র করা হয়েছে"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "আপনি X কনফিগার করেননি। আপনি কি নিশà§à¦šà¦¿à¦¤ à¦à¦°à¦•মটি চান?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"à¦à¦‡ নিরাপতà§à¦¤à¦¾ লেভেলে, উইনà§à¦¡à§‹à¦œ পারà§à¦Ÿà¦¿à¦¶à¦¨à§‡à¦° ফাইলে পà§à¦°à¦¬à§‡à¦¶ শà§à¦§à§à¦®à¦¾à¦¤à§à¦° অà§à¦¯à¦¾à¦¡à¦®à¦¿à¦¨à¦¿à¦¸à§à¦Ÿà§à¦°à§‡à¦Ÿà¦°à§‡à¦° আছে।"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s ডà§à¦°à¦¾à¦‡à¦­à§‡ à¦à¦•টি ফাà¦à¦•া ফà§à¦²à¦ªà¦¿ ঢোকান"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "সয়ং ইনসà§à¦Ÿà¦² ফà§à¦²à¦ªà¦¿ তৈরী করা হচà§à¦›à§‡..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"কিছৠধাপ সমà§à¦ªà§‚রà§à¦¨ করা যায়নি।\n"
+"\n"
+"আপনি কি à¦à¦–ন বের হতে চান?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "সà§à¦¬à¦¾à¦—তম"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "রিবà§à¦Ÿ"
+
+#. -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 "ভাষা"
+
+#: 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 "লাইসেনà§à¦¸"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "মাউস"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "হারà§à¦¡ ডà§à¦°à¦¾à¦‡à¦­ সনাকà§à¦¤"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨à§‡à¦° শà§à¦°à§‡à¦¨à§€"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "কি-বোরà§à¦¡"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "সিকিউরিটি"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "পারà§à¦Ÿà¦¿à¦¶à¦¨ করা হচà§à¦›à§‡"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "ফরমà§à¦¯à¦¾à¦Ÿ করা হচà§à¦›à§‡"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "পà§à¦¯à¦¾à¦•েজ পছনà§à¦¦ করা হচà§à¦›à§‡"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ইনসà§à¦Ÿà¦²à§‡à¦¶à¦¨"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "বà§à¦Ÿà¦²à§‹à¦¡à¦¾à¦°"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X কনফিগার"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "সারাংশ"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "সারà§à¦­à¦¿à¦¸ সমূহ"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "আপডেট"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "বাহির"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "mirror à¦à¦° ইউ-আর-à¦à¦²?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "ইউআরà¦à¦² অবশà§à¦¯à¦‡ ftp:// অথবা http:// দিয়ে শà§à¦°à§ হবে"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "উপসà§à¦¥à¦¿à¦¤ মিররের তালিকার জনà§à¦¯ %s-ঠসংযà§à¦•à§à¦¤ করা হচà§à¦›à§‡..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr "উপসà§à¦¥à¦¿à¦¤ মিররের তালিকার জনà§à¦¯ %s-ঠযোগাযোগ করতে বà§à¦¯à¦°à§à¦¥ হয়েছে..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "আপনি à¦à¦•টি মিরর পছনà§à¦¦ করà§à¦¨ যেখান থেকে পà§à¦¯à¦¾à¦•েজগà§à¦²à¦¿ নেবেন"
diff --git a/perl-install/install/share/po/br.po b/perl-install/install/share/po/br.po
new file mode 100644
index 000000000..597d0c82d
--- /dev/null
+++ b/perl-install/install/share/po/br.po
@@ -0,0 +1,1672 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Breton (http://www.transifex.com/MageiaLinux/mageia/language/"
+"br/)\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !"
+"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n"
+"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > "
+"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 "
+"&& n % 1000000 == 0) ? 3 : 4);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Deuit ganomp !"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Evideoc'h !"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Ho choaz !"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ostilhoù burevek"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Evit ho plijadur"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Evit ar vugale"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Evit ar familh !"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Evit an diorroerien "
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Trugarez !"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Bezit dieub !"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hag ur media all hoc'h eus ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rouedad (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rouedad (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rouedad (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Kefluniadur NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Roit anv ostiz ha renkell ho media NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Mank ar ra anv an ostiz"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Dao en eus anv ur renkell kregiñ gant ur « / »"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Anv ostiz ar marc'hañ NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Renkell"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "A-gresk"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"N’em eus ket kavout ur roll pakadoù e-barzh ar melezour-mañ. Kit da wiriañ "
+"al lec'hiadur-mañ zo mad."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Gwelloc'h e vefe deoc'h bevaat « %s »"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Amañ e c'hellit bevaat mediaoù ouzhpenn ma peus c'hoant"
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ar vediom-mañ a ginnig pakadoù bremanaet evit ar vediom « %s »"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "O klask ar pakadoù staliet ..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "O klask ar pakadoù da vremanaat ..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "O tilemel ar pakadoù a-raok bremanaat ..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Ar pakadoù a-heul zo war-nes bezañ distaliet evit bremanaat ho reizhiad : "
+"%s\n"
+"\n"
+"\n"
+"Ha fellout a ra deoc'h da vat lemel anezho ?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fazi en ur lenn ar restr %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Adenvelet e oa ar bladenn/pladennoù-mañ :"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (a vez graet %s dioutañ diaraok)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rouedad"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Dibabit ur media, mar plij"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Ar restr zo endeo. Rasklañ anezhañ ?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Aotre nac'het"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "N'eo ket un anv NFS mat"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "N'eo ket mat ar media %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "N'hellan ket sevel skrammpakeroù a-raok parzhañ"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skrammpakeroù a vo bet kavet goude staliañ e %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "O staliañ"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Kefluniadur"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Ret eo deoc'h furmadiñ %s ivez"
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "O lañsañ ar rouedad"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "O tizenaouiñ ar rouedad"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Gortozit mar plij, o tigas ar restr"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "n'hell ket bet ouzhpennet ar mediom"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Oc'h eilañ ur bern pakad hag a vo bet implijet diwezhatoc'h"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Oc'h eilañ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "a rankfec'h kaout"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "a-bouez"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "brav-tre"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "brav"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "marteze"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "O tegas titouroù ar pakadoù eus an titouroù XML ..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Deskrivadur ebet"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"N’em eus ket gallet staliañ un darn pakad goulennet gant %s :\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ur fazi zo bet :"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Degouezhet ez eus ur fazi sac'hus : %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Na c'houlenn ket adarre"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d gra zo bet sac'het"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Sac'het eo bet staliañ ar pakadoù :"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Post labour"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Post labour burevek"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmoù burev : skridtreterezhioù (LibreOffice Writer, Kword), logerioù "
+"(LibreOffice Calc, Kspread), gwelerien PDF, ..."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Arsav c'hoarioù"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Arsav liesvedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmoù evit seniñ/aozañ tonioù ha videoù"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Arsav internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Urzhiataer rouedad (kliant)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Pratikoù evit meur a gomenad (da skouer ssh)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ostilhoù evit kefluniañ hoc'h urzhiataer dre aes"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ostilhoù letrin"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Aozerien, shelloù, ostilhoù restr, termenelloù"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Diorren"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Teuliadur"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servijer Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Strollant"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servijer Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Moger tan/Henter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Dreuzell an Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Posteloù/keleier"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servijer posteloù Postfix, servijer keleier Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Levr-bloaz"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servijer FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servijer DNS ha NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servijer rannañ restroù ha moullerez"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servijer NFS, servijer Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Stlennvon"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servijer stlennvon PostgreSQL ha MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servijer postel Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servijer stlennvon PostgreSQL pe MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Servijer rouedad"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servijer NFS, servijer SMB, servijer proksi, servijer SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Endeo grafikel"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Post labour Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "An Endro Burev K gant hec’h ostilhoù"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Post burevek GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Post labour Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Post burevek MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Post labour Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "An endeo grafikel diwar GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Burev LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Burev Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Burev LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "An endeo grafikel bihan ha buan"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Burevioù c'hrafek all"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, hag all"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Mavegoù"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servijer SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servijer Webmin ar gefluniadur a-bell"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Ostilhoù ar rouedad/diwall"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Skoazellerien Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Skoazellerien evit kefluniañ ar servijer"
+
+#: 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 ""
+"Degouezhet ez eus ur fazi, hogen n'ouzon ket e verañ naet.\n"
+"Kendalc'hit war ho mar."
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "O kregiñ gant al lankad `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Staliadur %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> etre elfennoù"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Goustad eo ar servijer Xorg da loc'hañ. Gortozit mar plij..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Diuzadenn ar media"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Staliañ burev Plasma %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Staliañ burev GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Staliadur diouzhoc'h"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Burev Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Burev GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Burev diouzhoc'h"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Setu ur rakwel eus burev « %s »."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klikit war ar skeudennoù evit sell eus ur skeudenn brasoc'h"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Diuzadenn strollad pakadoù"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Diuz pakadoù unan hag unan"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Andiuz an holl re"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ment hollek : %d / %d Mo"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Stumm : "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Ment : "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Talvoudegezh : "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "N'hellit ket diuz/andiuz ar pakad-mañ"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "peogwir e vank %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "peogwir e vank %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "evit mirout %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"N'hellit ket dibab ar pakad-mañ peogwir n'eus ket a-walc'h a egor evit "
+"staliañ anezhañ"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ staliet"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ lamet"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Hemañ zo ur pakad ret, n'hell ket bezañ andiuzet"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endeo"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Ret eo dezhañ bezañ bremanaet"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Diskouez ar pakadoù a zo dibabet emgefreek"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Staliañ"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Kargañ/Enrollañ an dibab"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "O bremanaat diuzadenn ar pakadoù"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Staliadur bihan"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Merañ ar pakadoù"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Dibabit ar pakadoù a vennit staliañ"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "O staliañ"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Munud ebet"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Amzer a chom :"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(o vrasjediñ ...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Diverradenn"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Kefluniañ"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "n'eo ket kefluniet"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Eilañ tout ar CDoù"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ur fazi zo bet"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Dibabit reizhadur ho stokellaoueg mar plij"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Setu eo listenn leun ar stokellaoueg :"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Staliañ/Bremañaat"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Hag ur staliadur pe ur bremañadur eo ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Staliadur"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Bremanaat %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Alc'hwez enrinegadur evit %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Nulañ ar staliadur ; adloc’hañ an urzhiataer"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Staliadur nevez"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "O kefluniañ CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Kemmit ho Cd-Rom !\n"
+"\n"
+"Lakait el lenner ar Cd-Rom warnañ an diketenn « %s » mar plij ha gwaskit Mat "
+"eo da c'houde.\n"
+"Ma n'emañ ket ganeoc'h gwaskit Nullañ evit chom hep staliañ ar CD-Rom-se."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "O klask ar pakadoù hegerz ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "N'eus ket egor dieub a-walac'h evit staliañ pe bremanaat (%dMo > %dMo)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Dibabit kargañ pe enrollañ choaz ar pakadoù mar plij.\n"
+"Ar furmad zo hini ar restroù auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Kargañ"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Enrollañ"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "N'eo ket mat ar restr"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Dibab ar burev"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Amañ e c'hellit dibab ho seurt burev."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Brasoc'h eo ment dibabet evit egor dieub"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Seurt ar staliadur"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"N'eus ket strollad pakadoù dibabet ebet.\n"
+"Dibabit ar staliañ vihanañ e fell deoc'h implij mar plij :"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Gant X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Staliañ ar pakadoù aliet"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Gant un teuliadur bihan (kuzuliet !)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Staliadur bihan gwir (n'eus urpmi ebet)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "O prientiñ ar bremanaat ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "O prientiñ ar staliadur"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "O staliañ ar pakad %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ur fazi zo bet en ur rummañ pakadoù :"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kenderc'hel evelato ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Adklask"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Tremen e-biou ar pakad-mañ"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Tremen e-biou pep pakad eus ar vediom « %s »"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Distro da ziuzadenn ar pakadoù hag ar media"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Ur fazi zo bet en ur staliañ ar pakad %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Kefluniadur goude staliañ"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Bremanaat"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ staliet"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Adklask ?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Bet ez eus bet ur fazi en ur ouzhpennañ ar mediom"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Moaien zo dit da bellgargañ ar pakadoù bremanaet. Bremanaet e oa ar\n"
+"pakadoù-mañ goude e oa echu an ingaladur. Gallout a ra kaout difazioù\n"
+"surentez pe difazioù bogoù.\n"
+"\n"
+"Ret eo da gaout ur gevreadenn bev ouzh internet evit staliañ anezho.\n"
+"\n"
+"Mennout a rit staliañ anezho ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s war %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Periantel"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Kartenn gwelet"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Ketal kevregañ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rouedad hag Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proksioù"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "kefluniet"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Live an surentez"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Moger tan"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "bevaatet"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "diweredekaet"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "N'eo ket kefluniet X. Ha fellout a ra deoc'h da vat ober an dra-mañ ?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "O prientiñ ar programm loc'hañ ..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Gortozit mar plij ; gellout a rafe bezañ hir ..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Lakait ur bladennig gwerc'h el lenner %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "O krouiñ ur bladennig staliañ emgefreek ..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Lankadoù 'zo n'int ket peurc'hraet.\n"
+"\n"
+"Mennout a rit kuitaat da vat bremañ ?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Brav"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Adlañsañ"
+
+#. -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 "Yezh"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Troidigezh"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Aotre"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Logodenn"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Dinoiñ ar bladenn galet"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Renkad ar staliadur"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Stokellaoueg"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Diogelroez"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Parzhañ"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "O furmadiñ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Choaz ar pakadoù"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Staliañ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Arveriaded"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Karger loc'hañ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Kefluniañ X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Diverradenn"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servijoù"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Bremanaat"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Kuitaat"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL ar melezour ?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Dao en deus an URL kregiñ gant ftp:// pe http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "O taremprediñ lec'hienn %s evit kaout roll ar melezourioù hegerz ..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Sac'het en ur zaremprediñ lec'hienn %s evit kaout roll ar melezourioù "
+#~ "hegerz "
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Dibabit ur melezour da dapout ar pakadoù diwarnañ"
diff --git a/perl-install/install/share/po/bs.po b/perl-install/install/share/po/bs.po
new file mode 100644
index 000000000..baa779ef5
--- /dev/null
+++ b/perl-install/install/share/po/bs.po
@@ -0,0 +1,1690 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Vedran Ljubovic <vljubovic@smartnet.ba>, 2002-2006
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Bosnian (http://www.transifex.com/MageiaLinux/mageia/language/"
+"bs/)\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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 "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Imate li neke dodatne medije?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Pronašao sam sljedeće medije koji će biti korišteni tokom instalacije: %s.\n"
+"\n"
+"\n"
+"Imate li još neke dodatne medije koje želite podesiti?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mreža (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Mreža (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Podešavanje NFS-a"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Molim unesite ime raÄunara i direktorij vaÅ¡eg NFS medija"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime raÄunara sa NFS serverom?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktorij"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne mogu pronaći hdlist datoteku na ovom mirroru. Provjerite da li je "
+"lokacija ispravna."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tražim već instalirane pakete..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Pronalazim pakete za unaprjeđenje..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Uklanjam pakete prije unaprjeđenja..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Da bi se omogućilo unaprjeđenje vašeg sistema, biće uklonjeni sljedeći "
+"paketi: %s\n"
+"\n"
+"\n"
+"Želite li zaista deinstalirati ove pakete?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "GreÅ¡ka u Äitanju datoteke %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sljedeći diskovi su preimenovani:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ranije pod imenom %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Molim izaberite medij"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka već postoji. Želite li pisati preko nje?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Nemate dozvolu"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Neispravan NFS naziv"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Neispravan medij %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ne mogu napraviti snimak ekrana prije particioniranja"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Snimanje ekrana će biti dostupno nakon što instalirate u %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalacija"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Podešavanje"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Morate takođe formatirati i %s"
+
+#: 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 od komponenti vaÅ¡eg raÄunara zahtijevaju \"vlasniÄke\" drajvere za "
+"rad.\n"
+"Možete naći više podataka o njima na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Pokrećem mrežu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zaustavljam mrežu"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiram neke pakete na disk radi buduće upotrebe"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje u toku"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "obavezno"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "vrlo fino"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "fino"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Bez opisa"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Došlo je do fatalne greške: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Uredska radna stanica"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Uredski programi: obrada teksta (LibreOffice Write, KWord), tabliÄni "
+"proraÄun (LibreOffice Calc, KSpread), PDF preglednici itd."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Stanica za igru"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkadne igre, stolne igre, strategije itd."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijalna stanica"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za pregled i editovanje zvuka i videa"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:37
+#, 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 poÅ¡te i news-a (mutt, tin...) i pregledanje "
+"Weba"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežni raÄunar (klijent)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti za razne protokole ukljuÄujući ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lakÅ¡e podeÅ¡avanje raÄunara"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Alati za konzolu"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editori, shellovi, alati za datoteke, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Programiranje"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ biblioteke, programi i include datoteke"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige i howto-i na temu Linuxa i slobodnog softvera"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Podrška za programe trećih lica"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web server"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail server, Inn news server"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ImeniÄki server"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serveri domenskih imena i mrežnih informacija"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server za dijeljenje datoteka i Å¡tampaÄa"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Baze podataka"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Server PostgreSQL ili MariaDB baze podataka"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ili MariaDB baza podataka"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafiÄko okruženje"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, osnovno grafiÄko okruženje sa izborom pratećih alata"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME radna stanica"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"GrafiÄka okolina sa skupom korisniÄki orjentisanih programa i alata za radnu "
+"površinu"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ostale grafiÄke okoline"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Alati"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin server za podešavanje sistema"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Mrežni alati i nadzor"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Alati za nadzor, praćenje procesa, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Äarobnjaci"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarobnjaci (wizardi) za podešavanje serverâ"
+
+#: 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 ""
+"Došlo je do greške, ali ne znam kako da postupim u vezi toga.\n"
+"Nastavite na vlastiti rizik."
+
+#: steps.pm:469
+#, 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 bitni paketi nisu ispravno instalirani.\n"
+"Ili je neispravan vaš CD-ROM uređaj ili vaš CD-ROM medij.\n"
+"Možete provjerite medij na raÄunaru sa instaliranim Mageiaom\n"
+"koristeći naredbu \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Prelazim na korak '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s instalacija %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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šem sistemu ponestaje resursa. Možda imate neki problem sa instalacijom\n"
+"%sa. Ako se ovo desi, možete pokušati tekstualnu instalaciju. Za ovo,\n"
+"pritisnite 'F1' prilikom pokretanja instalacije, zatim unesite rijeÄ 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Izbor grupe paketa"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Izbor pojedinaÄnih paketa"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Ništa izabrano"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veliÄina: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verzija: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "VeliÄina: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ZnaÄaj: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ne možete izabrati/iskljuÄiti ovaj paket"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "zbog nedostajućeg %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog nezadovoljenog %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokušavam promovirati %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "kako biste zadržali %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Ne možete izabrati ovaj paket jer nema dovoljno prostora za njega"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Sljedeći paketi će biti instalirani"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Sljedeći paketi će biti uklonjeni"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ovo je obavezan paket, ne može biti iskljuÄen"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ne možete iskljuÄiti ovaj paket. On je već instaliran"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ne možete iskljuÄiti ovaj paket. On mora biti unaprijeÄ‘en"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatski prikaži izabrane pakete"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalacija"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "UÄitajte ili snimite izbor paketa"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ažuriram spisak paketa"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacija"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programi"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izaberite pakete koje želite instalirati"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sakrij detalje"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Ukratko"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Podesi"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nije podešeno"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 sljedeći instalacioni mediji.\n"
+"Ako želite preskoÄiti neke od njih, možete ih iskljuÄiti sada."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 CDova na hard disk prije instalacije.\n"
+"Zatim će instalacija biti nastavljena sa hard diska, a paketi će ostati "
+"dostupni nakon što sistem bude instaliran."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiraj Äitave CDove"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Došlo je do greške"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Molim izaberite raspored vaše tastature"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instaliraj/Unaprijedi"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Da li je ovo instalacija ili unaprjeđenje?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalacija"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Unaprijedi %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "KljuÄ enkripcije za %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Promijenite vaš CD-ROM!\n"
+"Molim ubacite CD oznaÄen sa \"%s\" u vaÅ¡ CD-ROM ureÄ‘aj i pritisnite \"U redu"
+"\" kad ste spremni.\n"
+"Ako ga nemate, pritisnite \"Odustani\" da preskoÄite instalaciju sa tog CD-"
+"ROMa."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim dostupne pakete..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Molim izaberite da li ćete uÄitati ili snimiti izbor paketa.\n"
+"Format je isti kao i diskete koje generiše auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "UÄitaj"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Snimi"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Neispravna datoteka"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izabrana veliÄina je veća od slobodnog prostora"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Vrsta instalacije"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Niste izabrali nijednu grupu paketa\n"
+"Molim izaberite vrstu minimalne instalacije koju želite:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Sa grafikom"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporuÄeno)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno minimalna instalacija (posebno bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Došlo je do greške pri raspoređivanju paketa:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Da nastavim?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Pokušaj ponovo"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-instalacijsko podešavanje"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Molim provjerite da je medij za ažuriranje u uređaju %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ažuriranje"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Sljedeći paketi će biti instalirani"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Neuspjeh u dodavanju medija"
+
+#: steps_interactive.pm:792
+#, 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 dobavite sa Interneta nove verzije paketa koji\n"
+"su izašli nakon što je distribucija objavljena. Među njima su sigurnosne "
+"zakrpe\n"
+"i ispravke bugova.\n"
+"\n"
+"Da biste izvršili download, potrebno je da podesite Internet konekciju.\n"
+"\n"
+"Da li želite instalirati ažurirane pakete ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ZvuÄna kartica"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "GrafiÄki interfejs"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy-ji"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "podešeno"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sigurnosni nivo"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiviran"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "iskljuÄen"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Niste podesili X. Sigurno želite uraditi ovo?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Na ovom sigurnosnom nivou, pristup datotekama na Windows particijama je "
+"dozvoljen samo administratoru."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ubacite praznu disketu u jedinicu %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pravim auto instalacijsku disketu..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Neki koraci nisu dovršeni.\n"
+"\n"
+"Da li zaista želite izaći sada?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ÄŒestitamo"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Restartuj"
+
+#. -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 "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 "Prepoznavanje hard diska"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Klasa instalacije"
+
+#: 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 "Particioniranje"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatiram"
+
+#: 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 "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Podešavanje X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ukratko"
+
+#: 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"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL mirrora?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL mora poÄinjati sa ftp:// ili http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Kontaktiram %s web stranicu da bih saznao listu dostupnih mirrora..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Nisam uspio kontaktirati %s web stranicu radi liste dostupnih mirrora"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Izaberite mirror sa kojeg će biti dobavljeni paketi"
diff --git a/perl-install/install/share/po/ca.po b/perl-install/install/share/po/ca.po
new file mode 100644
index 000000000..28b6d4a83
--- /dev/null
+++ b/perl-install/install/share/po/ca.po
@@ -0,0 +1,1701 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Francesc Pinyol Margalef, 2012-2013
+# Davidmp <medipas@gmail.com>, 2015-2020,2023
+# Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015,2017-2018
+# Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Davidmp <medipas@gmail.com>, 2015-2020,2023\n"
+"Language-Team: Catalan (http://app.transifex.com/MageiaLinux/mageia/language/"
+"ca/)\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Adheriu-vos-hi!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Feu-lo vostre!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "La vostra tria!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Eines d'oficina"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Oci de la llar"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Per als nens"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Per a la família!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Per als desenvolupadors!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Gràcies!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Sigueu lliures!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Teniu més mitjans suplementaris?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"S'han trobat els següents mitjans i es faran servir durant la instal·lació: "
+"%s\n"
+"\n"
+"\n"
+"Teniu algun mitjà d'instal·lació suplementari per a configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Xarxa (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Xarxa (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Xarxa (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuració NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Introduïu el nom d'amfitrió i el directori del vostre mitjà NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Falta el nom d'amfitrió"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "El directori ha de començar amb «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nom d'amfitrió del muntatge NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directori"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Addicional"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"No s'ha pogut trobar el llistat dels paquets en aquesta rèplica. Assegureu-"
+"vos que la ubicació és correcta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Algun maquinari de l'ordinador requereix microprogramari no lliure perquè "
+"els controladors lliures funcionin."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Hauríeu d'habilitar «%s»"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"«%s» conté els diversos components dels sistemes i les seves aplicacions"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "«%s» conté programari no lliure.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"També conté microprogramari necessari per al funcionament d'alguns "
+"dispositius (per exemple: algunes targetes gràfiques ATI/AMD, algunes "
+"targetes de xarxa, algunes targetes RAID, etc.)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"«%s» conté programari que no es pot distribuir a tots els països per culpa "
+"de les patents de programari."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "També conté programari de «%s» recompilat amb capacitats addicionals."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Aquí podeu habilitar més mitjans, si ho voleu."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Aquest mitjà proporciona actualitzacions de paquets per al mitjà «%s»"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "S'estan cercant els paquets ja instal·lats..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "S'estan cercant els paquets a actualitzar..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "S'estan suprimint els paquets abans de l'actualització..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Se suprimiran els paquets següents per poder actualitzar el sistema: %s\n"
+"\n"
+"\n"
+"Realment voleu suprimir aquests paquets?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "S'ha produït un error en llegir el fitxer %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "El(s) següent(s) disc(s) ha(n) estat reanomenat(s):"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (abans anomenat %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Xarxa"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Escolliu un mitjà"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "El fitxer ja existeix. El voleu sobreescriure?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "S'ha denegat el permís"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nom NFS incorrecte"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Mitjà incorrecte %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "No es poden fer captures de pantalla abans de fer les particions"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les captures estaran disponibles després d'instal·lar a %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instal·lació"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuració"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "També heu de formatar %s"
+
+#: 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 ""
+"Part del maquinari del vostre ordinador necessita controladors\n"
+"«registrats» per poder funcionar. Podeu trobar-ne informació a: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "S'està activant la xarxa"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "S'està desactivant la xarxa"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "S'està recuperant el fitxer"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "no s'ha pogut afegir el mitjà"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "S'estan copiant alguns paquets al disc per a un ús futur"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Còpia en curs"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "s'ha de tenir"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "molt bonic"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bonic"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "potser"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "S'està obtenint informació del paquet des de les metadades XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"No s'ha trobat informació xml per al mitjà «%s»; només el resultat parcial "
+"per al paquet %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Cap descripció"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Alguns paquets sol·licitats per %s no es poden instal·lar:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "S'ha produït un error:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "S'ha produït un error fatal: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "No tornar a preguntar"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Han fallat %d transaccions d'instal·lació"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "La instal·lació de paquets ha fallat:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estació de treball"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Estació de treball d'oficina"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programes d'ofimàtica: processadors de textos (LibreOffice Writer, Kword), "
+"fulls de càlcul (LibreOffice Calc, Kspread), visualitzadors PDF, etc."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Estació de jocs"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programes d'entreteniment: acció, jocs de taula, estratègia, etc."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Estació multimèdia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programes de reproducció/edició de so i vídeo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Estació d'Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunt d'eines per llegir i enviar correu i notícies (mutt, tin, etc.) i "
+"per navegar pel Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordinador de xarxa (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients per a diferents protocols, incloent-hi l'ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Eines per facilitar la configuració de l'ordinador"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Eines de consola"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editors, shells, eines de fitxer, terminals"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desenvolupament"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteques de desenvolupament C i C++, programes i fitxers include"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentació"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Llibres i Com es fa... sobre el Linux i el programari lliure"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Base Estàndard de Linux (LSB). Suport a aplicacions de tercers"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tallafoc/Encaminador"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Passarel·la a Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Correu/Notícies"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correu Postfix, servidor de notícies Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de directori"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de noms de domini i d'informació de la xarxa (DNS/NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de compartició de fitxers i impressores"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Base de dades"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servidor de bases de dades PostgreSQL i MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache i Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Correu"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correu Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servidor de bases de dades PostgreSQL o MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Ordinador de xarxa (servidor)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor intermediari, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Entorn gràfic"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Estació de treball Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L'entorn d'escriptori K (KDE), l'entorn gràfic bàsic que inclou diverses "
+"eines"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estació de treball GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Entorn gràfic amb un conjunt d'aplicacions i eines d'escriptori fàcil "
+"d'utilitzar"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Estació de treball Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Entorn gràfic més lleuger amb un conjunt d'aplicacions i eines d'escriptori "
+"fàcil d'utilitzar"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Estació de treball MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Estació de treball Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Entorn gràfic basat en GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Escriptori LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Un port QT de propera generació de l'entorn d'escriptori lleuger"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Escriptori Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Un entorn gràfic lleuger i ràpid amb un seguiment dedicat"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Escriptori LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un entorn gràfic ràpid i lleuger"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Altres escriptoris gràfics"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitats"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor remot de configuració de Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitats/monitoratge de la xarxa"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Eines de monitoratge, comptatge de processos, tcpdump, nmap, etc."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Auxiliars de Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Auxiliars per configurar el servidor"
+
+#: 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 ""
+"S'ha produït un error, però no sé com gestionar-lo correctament.\n"
+"Si continueu, és sota la vostra responsabilitat."
+
+#: steps.pm:469
+#, 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 ""
+"Alguns paquets importants no s'han instal·lat correctament.\n"
+"La vostra unitat de CD-ROM, o bé el CD-ROM, són defectuosos.\n"
+"Comproveu el CD-ROM en un ordinador instal·lat mitjançant «rpm -qpl media/"
+"main/*.rpm»\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "S'està entrant en el pas '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instal·lació de %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elements"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "El servidor Xorg triga a arrencar. Espereu..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"El vostre sistema està baix de recursos; podeu tenir algun problema en\n"
+"instal·lar %s. Si això passa, podeu provar d'instal·lar-lo en\n"
+"mode text. Per fer-ho, premeu 'F1' en arrencar des del CD-ROM i escriviu "
+"'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Selecció de mitjans"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instal·la %s l'escriptori Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instal·la %s l'escriptori GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instal·lació personalitzada"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Escriptori Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Escriptori GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Escriptori personalitzat"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Aquesta és una vista prèvia de l'escriptori '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Feu clic a les imatges per a veure una vista prèvia més gran."
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selecció de grups de paquets"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selecció individual de paquets"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Desselecciona-ho tot"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mida total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versió: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Mida: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importància: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "No podeu seleccionar/desseleccionar aquest paquet"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "perquè falten %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "a causa de la insatisfacció %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "s'està intentant promoure %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "per mantenir %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No podeu seleccionar aquest paquet perquè no queda prou espai per instal·lar-"
+"lo"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ara s'instal·laran els paquets següents"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Se suprimiran els paquets següents"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Aquest paquet és obligatori; no es pot desseleccionar"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "No podeu desseleccionar aquest paquet; ja està instal·lat"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "No podeu desseleccionar aquest paquet; s'ha d'actualitzar"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostra automàticament els paquets seleccionats"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instal·la"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carrega/Desa la selecció"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "S'està actualitzant la selecció de paquets"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Commuta entre la llista de paquets jeràrquica i la neta"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instal·lació mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gestió de programari"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolliu els paquets que voleu instal·lar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instal·lació"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sense detalls"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Temps restant:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(s'està estimant...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquet"
+msgstr[1] "%d paquets"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resum"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configura"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "sense configurar"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"S'han trobat els següents mitjans d'instal·lació.\n"
+"Si en voleu ometre alguns, els podeu desseleccionar ara."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Teniu l'opció de copiar el contingut dels CD al disc dur abans de la "
+"instal·lació.\n"
+"Llavors es continuarà des del disc dur i els paquets continuaran disponibles "
+"un cop el sistema estigui instal·lat."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copia els CD sencers"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "S'ha produït un error"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Seleccioneu la disposició del vostre teclat"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Aquesta és la llista completa de teclats disponibles:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instal·la/Actualitza"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Es tracta d'una instal·lació o d'una actualització?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instal·lació"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualitza %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clau de xifratge per a %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancel·la la instal·lació, reinicia el sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova instal·lació"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Actualitza la instal·lació anterior (no recomanable)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"L'instal·lador ha detectat que el vostre Linux instal·lat no es pot "
+"actualitzar a %s de forma segura.\n"
+"\n"
+"Es recomana una nova instal·lació que substitueixi l'anterior.\n"
+"\n"
+"Avís: hauríeu de fer una còpia de seguretat de les vostres dades personals "
+"abans de triar «Nova instal·lació»."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Configuració de CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Canvieu el Cd-Rom!\n"
+"Inseriu el CD-ROM etiquetat com a «%s» a la unitat i després\n"
+"premeu D'acord.\n"
+"Si no el teniu, premeu Cancel·la per no fer la instal·lació des d'aquest Cd-"
+"Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "S'estan cercant els paquets disponibles..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"El vostre sistema no té prou espai de disc lliure per a la instal·lació o "
+"actualització (%d MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Trieu carregar o desar la selecció de paquets.\n"
+"El format és el mateix que el dels fitxers generats per auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Carrega"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Desa"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Fitxer incorrecte"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selecció de l'escriptori"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Podeu triar el vostre perfil d'escriptori d'estació de treball."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "La mida seleccionada és superior a la disponible"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipus d'instal·lació"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"No heu seleccionat cap grup de paquets.\n"
+"Escolliu la instal·lació mínima que voleu:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Amb X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instal·la els paquets recomanats"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Amb la documentació bàsica (recomanat!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instal·lació realment mínima (especialment no urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "S'està preparant l'actualització..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "S'està preparant la instal·lació"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "S'està instal·lant el paquet %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "S'ha produït un error en ordenar els paquets:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Voleu continuar tanmateix?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Reintenta"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Omet aquest paquet"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Omet tots els paquets del mitjà «%s»"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Torna enrere cap a la selecció de mitjans i paquets"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "S'ha produït un error en la instal·lació del paquet %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuració posterior a la instal·lació"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Assegureu-vos que el mitjà Actualitza Mòduls és a la unitat %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Actualitzacions"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Ara teniu l'oportunitat de configurar mitjans en línia."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Això us permet instal·lar actualitzacions de seguretat."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Per configurar aquests mitjans, us caldrà tenir una connexió a Internet "
+"funcional.\n"
+"\n"
+"Voleu configurar el mitjà d'actualització?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Aquest descarregador no s'ha pogut instal·lar."
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Ho torno a intentar?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fallada en afegir un mitjà"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ara teniu l'oportunitat de baixar paquets actualitzats. Aquests paquets\n"
+"han estat actualitzats després de la publicació de la distribució. Poden "
+"contenir\n"
+"actualitzacions de seguretat o correccions d'errors.\n"
+"\n"
+"Per baixar aquests paquets necessitareu tenir una connexió a Internet\n"
+"operativa.\n"
+"\n"
+"Voleu instal·lar les actualitzacions?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s a %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Maquinari"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Targeta de so"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfície gràfica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Xarxa i Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Servidors intermediaris"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurat"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivell de seguretat"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Tallafoc"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activat"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "inhabilitat"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No heu configurat X. Segur que ho voleu així?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "S'està preparant el programa d'arrencada..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Tingueu paciència, això pot trigar una estona..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"En aquest nivell de seguretat, l'accés a les particions de Windows està "
+"restringit a l'administrador."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inseriu un disquet en blanc a la unitat %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "S'està creant el disquet d'instal·lació automàtica..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alguns passos no s'han completat.\n"
+"\n"
+"Esteu segur que voleu sortir ara?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Felicitats"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reinicia"
+
+#. -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 "Llengua"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localització"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Llicència"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ratolí"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecció del disc dur"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe d'instal·lació"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclat"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguretat"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particions"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatació"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Tria de paquets"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instal·lació"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuaris"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Carregador d'arrencada"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configura les X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resum"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serveis"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualitzacions"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Surt"
diff --git a/perl-install/install/share/po/cs.po b/perl-install/install/share/po/cs.po
new file mode 100644
index 000000000..c61e02693
--- /dev/null
+++ b/perl-install/install/share/po/cs.po
@@ -0,0 +1,1698 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Appukonrad <appukonrad@gmail.com>, 2013
+# Appukonrad <appukonrad@gmail.com>, 2013-2014
+# LudÄ›k JanÄa <joelp@email.cz>, 2016-2020,2022-2023
+# fri, 2013,2015-2017,2019-2020
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: LudÄ›k JanÄa <joelp@email.cz>, 2016-2020,2022-2023\n"
+"Language-Team: Czech (http://app.transifex.com/MageiaLinux/mageia/language/"
+"cs/)\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
+"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Připojte se k nám!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "UÄiňte systém svým!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Dle vašeho výběru!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kancelářské nástroje"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Domácí zábava"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Pro děti"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Pro rodinu"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Pro vývojáře"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Děkujeme"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Svobodu!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Máte ještě nějaké další doplňující zdroje?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Byly nalezeny a při instalaci budou použity následující zdroje: %s.\n"
+"\n"
+"\n"
+"Chcete nastavit jeÅ¡tÄ› nÄ›jaké další doplňující instalaÄní zdroje?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Síť (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Síť (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Síť (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Nastavení NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Zadejte, prosím, název poÄítaÄe a adresář vaÅ¡eho zařízení NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Chybí název poÄítaÄe"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Adresář musí zaÄínat znakem \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Název poÄítaÄe pÅ™ipojení NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Adresář"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "DodateÄný"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nelze nalézt soubor hdlist na tomto zrcadle. Ujistěte se, že umístění je "
+"správné."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Vydání Core"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Vydání Tainted"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Vydání Nonfree"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"NÄ›který hardware ve vaÅ¡em poÄítaÄi potÅ™ebuje nesvobodný firmware, aby "
+"fungovaly svobodné ovladaÄe."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Měli byste povolit \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" obsahuje různé kousky systému a jeho programů"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" obsahuje nesvobodný software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Obsahuje také firmware potÅ™ebný pro funkci urÄitých zařízení (napÅ™.: nÄ›které "
+"grafické karty ATI/AMD, některé síťové karty, některé karty RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" obsahuje software, který nemůže být distribuován ve všech zemích "
+"kvůli softwarovým patentům."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Obsahuje také software z \"%s\", znovu sestavený s doplňujícími funkcemi."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Zde můžete, pokud chcete, povolit více zdrojů."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Tyto zdroje poskytují aktualizace balíÄků pro \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Prohledávají se již nainstalované balíÄky..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Vyhledávají se balíÄky pro aktualizaci..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstraňují se balíÄky pÅ™ed aktualizací..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Následující balíÄky budou odebrány, aby bylo možné systém aktualizovat: %s\n"
+"\n"
+"\n"
+"Opravdu chcete odebrat tyto balíÄky?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Chyba pÅ™i Ätení souboru %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Následující disk(y) byly přejmenovány:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (předchozí název %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Síť"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Vyberte, prosím, zdroj"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Soubor již existuje. Přepsat?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Přístup odepřen"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Chybný název NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Chybný zdroj %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nelze provést sejmutí obrazovky před rozdělením disků"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Sejmuté obrazovky budou dostupné po instalaci v adresáři %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalace"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Nastavení"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Musíte také naformátovat %s"
+
+#: 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 ""
+"NÄ›který hardware potÅ™ebuje pro svoji práci \"proprietární\" ovladaÄe.\n"
+"Další informace o tÄ›chto ovladaÄích můžete nalézt na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Spouští se síť"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zastavuje se síť"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Prosím poÄkejte, získává se soubor"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "nelze přidat zdroj"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopírují se nÄ›které balíÄky na disky pro budoucí použití"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Probíhá kopírování"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "musíte mít"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "důležité"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "nejméně důležité"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "nedůležité"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "může se hodit"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Získávají se informace o balíku z popisných dat XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Chybí XML informace pro zdroj \"%s\", pouze ÄásteÄný výsledek pro balíÄek %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Žádný popis"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"NÄ›které z balíÄků vyžádaných od %s nelze nainstalovat:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Nastala chyba:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Vyskytla se fatální chyba: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Více se již neptat"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d instalaÄních procesů selhalo"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalace balíÄků selhala:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Pracovní stanice"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kancelářská stanice"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programy pro kancelář: textové procesory (LibreOffice Writer, Kword), "
+"tabulkové procesory (LibreOffice Calc, Kspread), prohlížeÄe PDF a další"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Hry"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zábavné programy: deskové hry, strategie, atd."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediální stanice"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy pro přehrávání/upravování zvuku a obrazu"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetová stanice"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Soubor nástrojů pro Ätení a posílaní elektronické poÅ¡ty a příspÄ›vků do "
+"diskusních skupin (mutt, tin..) a pro prohlížení Webu"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Síťový poÄítaÄ (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti pro různé verze protokolu ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nástroje pro snadnou konfiguraci poÄítaÄe"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolové nástroje"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editory, shelly, souborové nástroje, terminály"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Vývoj"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Knihovny pro vývoj v C a C++, programy a hlaviÄkové soubory"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentace"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knihy a praktické rady, jak na to, o Linuxu a Svobodném Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Standardní Báze Linuxu (LSB): Podpora aplikací jiných dodavatelů"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webový server"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router (smÄ›rovaÄ)"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetová brána"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Pošta/Diskusní skupiny"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Poštovní server Postfix, server diskusních skupin Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server adresářových služeb"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server pro domény a síťové informace"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server pro sdílení souborů a tiskáren"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Databáze"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Databázové servery PostgreSQL a MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache a Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Poštovní server Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Databázové servery PostgreSQL nebo MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Síťový server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafické prostředí"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Pracovní stanice Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, základní grafické prostředí se sbírkou doprovodných "
+"nástrojů"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Pracovní stanice GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Grafické prostředí s uživatelsky přívětivou sadou aplikací a nástrojů"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Pracovní stanice Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Jednoduché grafické prostředí s uživatelsky přívětivou sadou aplikací a "
+"nástrojů"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Pracovní stanice MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Pracovní stanice Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Grafické prostředí založené na GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Prostředí LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Příští generace Qt lehkého prostředí pracovní plochy"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Pracovní prostředí Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Lehké a rychlé grafické prostředí s uživatelsky přívětivou sadou aplikací a "
+"nástrojů"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Prostředí LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Lehké a rychlé grafické prostředí"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Další grafická prostředí"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm a další"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "UžiteÄné nástroje"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server pro vzdálené nastavení Webminu"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Síťové nástroje/Sledování"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Nástroje pro sledování, evidenci procesů, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Průvodci nastavením distribuce Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Průvodci nastavením serverů"
+
+#: 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 ""
+"Stala se chyba, ale neví se, jak ji správně vykládat.\n"
+"PokraÄujte na vlastní nebezpeÄí."
+
+#: steps.pm:469
+#, 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 ""
+"NÄ›které důležité balíÄky nebyly správnÄ› nainstalovány.\n"
+"Je možné, že je poškozen CD disk nebo CD-ROM mechanika.\n"
+"Zkontrolujete to použitím příkazu \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ZaÄíná se krok '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s instalace %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mezi prvky"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Server Xorg se spouÅ¡tí delší dobu. Prosím poÄkejte..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Váš systém nemusí mít dostateÄné vybavení pro bezproblémovou instalaci %s. V "
+"případě potíží zvolte instalaci v textovém režimu. Pro její spuštění "
+"stiskněte při nabíhání systému z CD klávesu 'F1' a následně napište 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Výběr zdrojů"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalovat %s pracovní plochu Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalovat %s prostředí GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Vlastní instalace"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Pracovní plocha Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Prostředí GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Vlastní prostředí"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Zde se nachází náhled pracovního prostředí %s."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klepněte na obrázky, chcete-li vidět větší náhled"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "VýbÄ›r skupiny balíÄků"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "VýbÄ›r jednotlivých balíÄků"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Zrušit celý výběr"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Celková velikost: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verze: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Velikost: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Důležitost: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Nemůžete vybrat/nevybrat tento balíÄek"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "protože chybí %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "díky nesplněné závislosti %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokus o postoupení %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "aby bylo zachováno %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nemůžete vybrat tento balíÄek, protože pro jeho instalaci není dost místa"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Budou instalovány tyto balíÄky"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Budou odebrány tyto balíÄky"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Toto je povinný balíÄek, nemůže být odstranÄ›n"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nemůžete odznaÄit tento balíÄek, je už nainstalovaný"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Tento balíÄek musí být aktualizován, nemůžete ho odznaÄit"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ukázat automaticky vybrané balíÄky"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalovat"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "NaÄíst/Uložit výbÄ›r"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Aktualizuje se výbÄ›r balíÄků"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "PÅ™epnout mezi stromovým a plochým seznamem balíÄků"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Nejmenší instalace"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Správa softwaru"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vyberte si balíÄky, které chcete nainstalovat"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalace"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Bez podrobností"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Zbývající Äas:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(odhaduje se...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d balíÄek"
+msgstr[1] "%d balíÄky"
+msgstr[2] "%d balíÄků"
+msgstr[3] "%d balíÄků"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Souhrn"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Nastavit"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nenastaveno"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Byla nalezeny následující instalaÄní zdroje.\n"
+"Pokud chcete nÄ›které z nich vynechat, můžete je nyní odznaÄit."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Máte možnost před instalací zkopírovat obsah CD na pevný disk.\n"
+"Instalace pak bude pokraÄovat z pevného disku a balíÄky zůstanou dostupné i "
+"poté, co je systém plně nainstalován."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopírovat celá CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Stala se chyba"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Vyberte si rozložení vaší klávesnice"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Zde je úplný seznam dostupných klávesnic:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalace/Aktualizace"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Jedná se o instalaci nebo aktualizaci?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalace"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualizace %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Å ifrovací klÃ­Ä pro %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Zrušit instalaci, restartovat systém"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nová instalace"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Aktualizace pÅ™edchozí instalace (nedoporuÄuje se)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalátor zjistil, že nainstalovaný systém Mageia Linux nemůže \n"
+"být bezpeÄnÄ› povýšen na %s.\n"
+"\n"
+"Proto doporuÄujeme provést novou instalaci a nahradit tak zcela \n"
+"instalaci původní.\n"
+"\n"
+"Varování: měli byste zálohovat veškerá data před tím, než \n"
+"spustíte \"Novou instalaci.\""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Nastavení CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Vyměňte prosím CD!\n"
+"Prosím vložte CD oznaÄené \"%s\" do mechaniky a stisknÄ›te Ok.\n"
+"Pokud toto CD nemáte, stiskněte Zrušit a toto CD nebude nainstalováno."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hledají se dostupné balíÄky..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Váš systém nemá dostatek volného místa pro instalaci nebo aktualizaci (%dMB "
+"> %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vyberte si, zda chcete uložit nebo naÄíst výbÄ›r balíÄků.\n"
+"Formát je stejný jako u souborů generovaných pomocí auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "NaÄíst"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Uložit"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Chybný soubor"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Výběr pracovního prostředí"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Můžete vybrat profil vašeho pracovního prostředí."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Velikost vybraných balíÄků je vÄ›tší než místo na disku"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Typ instalace"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nevybrali jste žádnou skupinu balíÄků.\n"
+"Vyberte si, prosím, alespoň nejmenší instalaci:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X prostředí"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalovat doporuÄené balíÄky"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Základní dokumentace (doporuÄeno!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Opravdu nejmenší instalace (speciálně bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Připravuje se povýšení..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Připravuje se instalace"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaluje se balíÄek %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Stala se chyba pÅ™i Å™azení balíÄků:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "PÅ™esto pokraÄovat?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Zkusit znovu"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Vynechat tento balíÄek"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Vynechat vÅ¡echny balíÄky ze zdroje \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Vrátit se zpÄ›t k výbÄ›ru zdrojů a balíÄků"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "PÅ™i instalaci balíÄku %s nastala chyba."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Probíhá nastavování po instalaci"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Ujistěte se, prosím, že se médium s aktualizovanými moduly nachází v "
+"jednotce %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aktualizace"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Nyní máte příležitost nastavit internetová média."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Toto dovolí instalaci bezpeÄnostních aktualizací."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"K nastavení těchto médií budete potřebovat pracující internetové\n"
+"spojení.\n"
+"\n"
+"Chcete nastavit aktualizaÄní média?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Tento stahovaÄ se nepodaÅ™ilo nainstalovat"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Opakovat?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Nepodařilo se přidat médium"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Nyní máte možnost stáhnout aktualizované balíÄky. Tyto balíÄky byly\n"
+"uvolnÄ›ny až po vydání distribuce. Mohou obsahovat bezpeÄnostní\n"
+"aktualizace nebo opravy chyb.\n"
+"\n"
+"Chcete-li získat tyto balíÄky, musíte mít k dispozici funkÄní pÅ™ipojení\n"
+"k internetu.\n"
+"\n"
+"Chcete nainstalovat aktualizace?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Zvuková karta"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafické rozhraní"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Síť a internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "nastaveno"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Úroveň zabezpeÄení"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "zapnuto"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "vypnuto"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Nemáte nastaveno prostÅ™edí X. Chcete jej skuteÄnÄ› ponechat nenastavené?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Přípravuje se spouštěcí program..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Prosím o strpení, může to chvíli trvat…"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"V této úrovní zabezpeÄení je přístup k souborům na oddíle s Windows omezen "
+"pouze na uživatele administrátor."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Vložte prázdnou disketu do %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Vytváří se disketa pro automatickou instalaci..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"NÄ›které kroky nebyly dokonÄeny.\n"
+"\n"
+"Chcete opravdu nyní skonÄit?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Blahopřejeme"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Restartovat"
+
+#. -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 "Jazyk"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalizace"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Myš"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Zjištění pevných disků"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Třída instalace"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klávesnice"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "BezpeÄnost"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Rozdělení disku"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formátování"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "VýbÄ›r balíÄků"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalace"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uživatelé"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Zaváděcí program"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Nastavení X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Souhrn"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Služby"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizace"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Konec"
diff --git a/perl-install/install/share/po/cy.po b/perl-install/install/share/po/cy.po
new file mode 100644
index 000000000..2c8bdb693
--- /dev/null
+++ b/perl-install/install/share/po/cy.po
@@ -0,0 +1,1722 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# ciaran, 2015-2016
+# Rhoslyn Prys, 2009
+# Rhoslyn Prys <post@meddal.com>, 2007
+# Rhoslyn Prys <rhoslyn.prys@ntlworld.com>, 2003-2005
+# Rhoslyn Prys, 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Welsh (http://www.transifex.com/MageiaLinux/mageia/language/"
+"cy/)\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
+"11) ? 2 : 3;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Ymunwch â ni!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Eich dewis chi!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Offer i'r swyddfa"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Adloniant"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "I blant"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "I'r teulu!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "I ddatblygwyr!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Diolch!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Byddwch yn rhydd!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Oes gennych unrhyw gyfrwng atodol arall?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Canfuwyd y cyfryngau canlynol a chânt eu defnyddio gyda'r gosodiad nesaf: "
+"%s \n"
+"\n"
+"\n"
+"A oes gennych gyfrwng gosod ychwanegol i'w ffurfweddu?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rhwydwaith (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rhwydwaith (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rhwydwaith (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Gosodiad NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Rhowch enw'r gwesteiwr a chyfeiriadur eich cyfrwng NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Enw gwesteiwr ar goll"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Rhaid i gyfeiriadur gychwyn gyda \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Enw gwesteiwr arosod NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Cyfeiriadur"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Atodol"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Methu canfod ffeil rhestr pecynnau ar y drych. Sicrhewch fod y lleoliad yn "
+"gywir."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Rhifyn craidd"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Rhifyn cymysg"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Rhifyn cyfyng"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Mae ar galedwedd eich peiriant angen cadarnwedd gyfyng er mwyn i'r gyrwyr "
+"meddalwedd rhydd weithio."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Dylech alluogi \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "Mae \"%s\" yn cynnwys darnau amrywiol o'r system a'i rhaglenni"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "Mae \"%s\" yn cynnwys meddalwedd gyfyng.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Mae hefyd yn cynnwys cadarnwedd sydd ei hangen i rai dyfeisiau weithio (e."
+"e.: rhai cardiau graffeg ATI/AMD, rhai cardiau rhwydwaith, rhai cardiau "
+"RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"Mae \"%s\" yn cynnwys meddalwedd na ellir ei dosbarthu ym mhob gwlad o "
+"ganlyniad i batentau ar feddalwedd."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Mae hefyd yn cynnwys meddalwedd o'r adeiladiad \"%s\" gyda galluoedd "
+"ychwanegol. "
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Yma gallwch alluogi rhagor o gyfryngau os oes angen."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Mae'r cyfrwng hwn yn darparu diweddariadau pecynnau i'r cyfrwng \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Wrthi'n edrych ar becynnau a osodwyd eisoes..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Wrthi'n canfod pecynnau i'w huwchraddio..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Wrthi'n tynnu pecynnau cyn diweddaru..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Tynnir y pecynnau canlynol i ganiatáu diweddaru eich system: %s\n"
+"\n"
+"\n"
+"Hoffech chi dynnu'r pecynnau hyn?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Gwall darllen ffeil %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ailenwyd disg(iau) canlynol:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ei enw blaenorol oedd %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rhwydwaith"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Dewiswch gyfrwng"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Mae'r ffeil yn bodoli eisoes. Ysgrifennu drosti?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Dim caniatâd."
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Enw NFS gwael"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Cyfrwng %s gwael"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Meth creu sgrinluniau cyn rhannu"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Bydd sgrinluniau ar gael ar ôl gosod yn %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Gosod"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Ffurfweddu"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Rhaid fformatio %s hefyd"
+
+#: 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 ""
+"Mae peth caledwedd ar eich cyfrifiadur angen gyrwyr ``priodol'' i weithio.\n"
+"Mae rhywfaint o wybodaeth i'w gael amdanynt yn %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Wrthi'n cychwyn y rhwydwaith"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Wrthi'n cau'r rhwydwaith"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Arhoswch, wrthi'n estyn ffeil"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "methu ychwanegu cyfrwng"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Wrthi'n copïo rhai pecynnau ar ddisg ar gyfer defnydd yn y dyfodol"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Wrthi'n copïo..."
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "rhaid cael"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "pwysig"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "hyfryd iawn"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "hyfryd"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "efallai"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Wrthi'n estyn gwybodaeth am becyn o fetadata XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Dim gwybodaeth xml ar gyfer y cyfrwng \"%s\", dim ond canlyniad rhannol ar "
+"gyfer pecyn %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Dim disgrifiad"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Nid yw'n bosib gosod rhai pecynnau gofynnwyd gan %s:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Cododd gwall:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Cododd gwall terfynol:%s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Peidio â gofyn eto"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Methodd trafod gosod %d"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Methodd gosod pecynnau:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Gweithfan"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Gweithfan wyddfa"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Rhaglenni swyddfa: prosesydd geiriau (LibreOffice Writer, Kword), taenlenni "
+"(LibreOffice Calc, Kspread), ddarllenydd pdf, ac ati"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Man chwarae"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Rhaglenni difyrrwch: arcêd, gemau bwrdd, strategaeth, ac ati"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Man amlgyfrwng"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Rhaglenni chwarae/golygu sain a fideo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Man rhyngrwyd"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Casgliad o offer i ddarllen ac anfon e-byst a newyddion (mutt, tin..) ac i "
+"bori'r we"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Cyfrifiadur rhwydwaith (cleient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Cleientiaid ar gyfer protocolau amrywiol gan gynnwys ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Offer i ffurfweddu'ch cyfrifiadur yn haws"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Offer y consol"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Golygyddion, cregyn, offer ffeilio, terfynellau"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Datblygu"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Llyfrgelloedd datblygu C a C++, rhaglenni a ffeiliau cynnwys"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dogfennaeth"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Llyfrau a chanllawiau ar gyfer Linux a meddalwedd rydd"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Cefnogaeth i raglenni trydydd parti"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Gweinydd gwe"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Cylchwedd"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Gweinydd Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Mur gwarchod/llwybrydd"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Porth i'r rhyngrwyd"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-bost/newyddion"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Gweinydd e-bost Postfix, gweinydd newyddion Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Gweinydd cyfeiriaduron"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Gweinydd FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Gweinydd enw parth a gwybodaeth rhwydwaith"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Gweinydd rhannu ffeiliau ac argraffyddion"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Gweinydd NSF, gweinydd Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Cronfa Ddata"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Gweinydd CronfaDdata PostgreSQL a MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Gwe/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-bost"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Gweinydd e-bost Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Gweinydd cronfa data PostgreSQL neu MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Gweinydd cyfrifiadur rhwydwaith"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Gweinydd NFS, gweinydd SMB, gweinydd dirprwyol, gweinydd ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Amgylchedd graffig"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Gweithfan Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"KDE - amgylchedd bwrdd gwaith K, yr amgylchedd graffigol sylfaenol a chanddo "
+"gasgliad o offer"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gweithfan Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Amgylchedd graffigol a chanddo gasgliad o raglenni ac offer bwrdd gwaith "
+"hawdd eu defnyddio."
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Amgylchedd graffigol ysgafn a chanddo gasgliad o raglenni ac offer bwrdd "
+"gwaith hawdd eu defnyddio"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Gweithfan MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Gweithfan Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Amgylchedd graffigol sy'n seiliedig ar GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Bwrdd gwaith LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Porth QT y genhedlaeth nesaf o'r amgylchedd bwrdd gwaith ysgafn"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Amgylchedd graffigol ysgafn a chyflym a chanddo grŵp o ddefnyddwyr ymroddedig"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Bwrdd Gwaith LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Amgylchedd graffigol ysgafn a chyflym"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Byrddau Gwaith Graffigol Eraill"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, ac ati"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Gwasanaethau"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Gweinydd SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Gweinydd ffurfweddu pell Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Gwasanaethau/monitro rhwydwaith"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Offer monitro, cyfrifo prosesau, tcpdunp, nmap..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Dewiniaid Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Dewiniaid ffurfweddu gweinyddion"
+
+#: 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 ""
+"Digwyddodd gwall ond wn i ddim sut i ddelio ag ef yn dwt.\n"
+"Mae'n beryglus i barhau."
+
+#: steps.pm:469
+#, 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 ""
+"Methodd rhai pecynnau pwysig a chael eu gosod yn gywir.\n"
+"Un ai mae eich disg CD-ROM neu eich CD-ROM yn wallus.\n"
+"Gwiriwch y CD-ROM ar gyfrifiadur wedi ei osod gan ddefnyddio \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Cychwyn cam '%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Gosod %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> rhwng elfennau"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Mae gweinydd Xorg yn araf ei gychwyn. Arhoswch..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Mae eich system yn brin o adnoddau. Efallai bod gennych broblem wrth osod\n"
+"%s. Os yw hynny'n digwydd, defnyddiwch y gosod testun yn lle\n"
+"hynny. I wneud hynny pwyswch 'F1' wrth gychwyn ar CD-ROM, ac yna teipio "
+"'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Dewis cyfrwng"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Gosod bwrdd gwaith %s Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Gosod bwrdd gwaith %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Gosodiad addasu"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Bwrdd gwaith Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Bwrdd gwaith GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Bwrdd gwaith addasedig"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Dyma ragolwg o fwrdd gwaith '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Cliciwch ar y delweddau i weld y rhagolwg yn fwy"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Dewis grŵp o becynnau"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Dewis pecynnau unigol"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Dad-ddewis popeth"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Maint cyfan: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Fersiwn:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Maint:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Pwysigrwydd: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Does dim modd i chi ddewis/dad-ddewis y pecyn"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "oherwydd %s coll"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "oherwydd %s annigonol"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "ceisio hyrwyddo %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "er mwyn cadw %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Nid oes modd i chi ddewis y pecyn hwn - does dim lle ar ôl i'w osod"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Gosodir y pecynnau canlynol"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Tynnir y pecynnau canlynol"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Pecyn hanfodol yw hwn, does dim modd ei ddad-ddewis"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Does dim mod dad-ddewis y pecyn, mae wedi ei osod yn barod"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Does dim mod dad-ddewis y pecyn hwn. Rhaid ei ddiweddaru"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Dangoswch y pecynnau dewis awtomatig"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Gosod"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Llwytho/cadw'r dewis"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Diweddaru'r dewis o becynnau"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Gosodiad lleiaf"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Rheoli meddalwedd"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Dewiswch y pecynnau yr hoffech chi eu gosod"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Gosod"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Dim manylion"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Amser ar ôl:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(amcangyfrif...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pecyn"
+msgstr[1] "%d becyn"
+msgstr[2] "%d o becynnau"
+msgstr[3] "%d o becynnau"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Crynodeb"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Ffurfweddu"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "heb ffurfweddu"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Canfuwyd y cyfryngau gosod canlynol.\n"
+"Os hoffech hepgor rhai ohonynt, dad-ddewiswch nhw nawr."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Gallwch gopïo cynnwys y CD i'r disg caled cyn gosod Mageia Linux.\n"
+"Bydd yna'n parhau o'r disg caled a bydd y pecynnau ar gael unwaith i'r "
+"system gael ei gosod yn gyflawn."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copïo'r CDs cyfan"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Cododd gwall"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Dewiswch gynllun eich bysellfwrdd"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Dyma restr lawn o'r bysellfyrddau sydd ar gael:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Gosod/diweddaru"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Gosod neu ddiweddaru?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Gosod"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Diweddaru %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Allwedd amgryptio ar gyfer %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Atal y gosod, ailgychwyn y system"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Gosodiad newydd"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Diweddaru'r gosodiad blaenorol (argymell i beidio)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Mae'r gosodwr wedi canfod na ellir uwchraddio\n"
+"eich system Linux i %s yn ddiogel.\n"
+"\n"
+"Argymhellir disodli eich system gyda gosodiad newydd.\n"
+"\n"
+"Rhybudd : dylech gadw copi wrth gefn o'ch holl ddata personol cyn dewis\n"
+"\"Gosodiad newydd\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Newidiwch eich CD-ROM\n"
+"Rhowch y CD-ROM \"%s\" yn eich gyrrwr a chlicio Iawn ar ôl gorffen\n"
+"Os nad yw gennych, cliciwch Diddymu i beidio a gosod o'r CD-ROM."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Casglu'r pecynnau sydd ar gael..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Nid oes gan eich system ddigon o le ar gyfer gosod neu ddiweddaru (%dMB > "
+"%dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Dewiswch lwytho neu gadw pecyn dewiswyd.\n"
+"Mae'r fformat yr un â ffeiliau cynhyrchwyd drwy auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Llwytho"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Cadw"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ffeil wael"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Dewis bwrdd gwaith"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Dewiswch broffil bwrdd gwaith eich gweithfan."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Mae'r maint a ddewiswyd yn fwy na'r lle ar gael"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Math o osodiad"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nid ydych wedi dewis grwpiau o becynnau.\n"
+"Dewiswch y gosod lleiaf rydych ei eisiau"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Gydag X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Gosod pecynnau a argymhellir"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Gyda dogfennau elfennol (argymell!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Gosod bach iawn (yn arbennig dim urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Wrthi'n paratoi i uwchraddio..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Wrthi'n paratoi i osod"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Wrthi'n gosod y pecyn %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Bu gwall trefnu pecynnau:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Mynd yn eich blaen beth bynnag?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ceisio eto"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Hepgor y pecyn"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hepgor pob pecyn o'r cyfrwng \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Dychwelyd i ddewis cyfryngau a phecynnau"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Cododd gwall wrth osod pecyn: %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ffurfweddu ar ôl gosod"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Sicrhewch fod y cyfrwng diweddaru modiwlau yn y gyrrwr %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Diweddaru"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Cewch osod cyfryngau ar lein."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Mae hyn yn caniatáu gosod diweddariadau diogelwch."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"I osod y cyfryngau hynny, rhaid i chi cael \n"
+"cysylltiad i'r \n"
+"we.\n"
+"\n"
+"Hoffech chi osod y cyfryngau diweddaru?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Gosodir y pecynnau canlynol"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Ceisio eto?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Methu ychwanegu cyfrwng"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Mae'n bosibl i chi llwytho i lawr y pecynnau diweddaraf sydd wedi eu\n"
+"ryddhau ers i'r dosbarthiad fod ar gael. Efallai bod gwallau a materion "
+"diogelwch wedi eu cywiro\n"
+"\n"
+"I lwytho'r pecynnau i lawr, bydd angen cyswllt gweithredol\n"
+"â'r Rhyngrwyd.\n"
+"\n"
+"Ydych chi am osod y diweddariadau?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s ar %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Caledwedd"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Cerdyn sain"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Rhyngwyneb graffigol"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rhwydwaith a'r rhyngrwyd"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Dirprwyon"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "ffurfweddwyd"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Lefel diogelwch"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Mur gwarchod"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "bywiogwyd"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "analluogwyd"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nid ydych wedi ffurfweddu X. Ydych chi'n siŵr eich bod am wneud hyn?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Wrthi'n paratoi'r rhaglen cychwyn..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Amynedd, gall hyn gymryd amser..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ar y lefel diogelwch yma, cyfyngir mynediad at ffeiliau yn y rhaniad Windows "
+"i'r gweinyddwr."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Rhowch ddisg meddal yng ngyrrwr %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creu disg meddal awto gosod..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Nid yw rhai camau wedi eu cwblhau.\n"
+"\n"
+"Ydych chi wir eisiau gadael yn awr?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Llongyfarchiadau"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Ailgychwyn"
+
+#. -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 "Iaith"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lleoleiddio"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Trwydded"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Llygoden"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Canfod disg caled"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Dosbarth gosod"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Bysellfwrdd"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Diogelwch"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Creu rhaniadau"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Fformatio"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Dewis pecynnau"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Gosod"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Defnyddwyr"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cychwynnwr"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ffurfweddu X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Crynodeb"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Gwasanaethau"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Diweddaru"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Gadael"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL y drych?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Rhaid i'r URL gychwyn gyda ftp:// neu http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Wrthi'n cysylltu â gwefan %s i estyn y rhestr o ddrychau..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr "Methwyd cysylltu â gwefan %s i estyn y rhestr o ddrychau"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Dewiswch ddrych i estyn y pecynnau wrtho"
diff --git a/perl-install/install/share/po/da.po b/perl-install/install/share/po/da.po
new file mode 100644
index 000000000..81487c644
--- /dev/null
+++ b/perl-install/install/share/po/da.po
@@ -0,0 +1,1725 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Keld Simonsen <keld@dkuug.dk>, 2000-2003, 2004-2005,2007-2009
+# Keld Simonsen <keld@rap.dk>, 2005-2006,2010
+# scootergrisen, 2017-2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: scootergrisen\n"
+"Language-Team: Danish (http://www.transifex.com/MageiaLinux/mageia/language/"
+"da/)\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Vær med!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Gør den din!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Dit valg!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kontorværktøjer"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Hjemmeunderholdning"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Til børn"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Til familjen!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Til udviklere!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Tak!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Vær fri!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du andre supplerende medier?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Følgende medier er fundet og vil blive brugt ved installeringen: %s.\n"
+"\n"
+"\n"
+"Har du et supplerende installationsmedie, der skal konfigureres?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netværk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netværk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netværk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-opsætning"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Indtast værtsnavn og katalog for dit NFS-medie"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Værtsmaskinenavn mangler"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Katalog skal begynde med \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Værtsnavn på NFS-monteringen?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Supplerende"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Kan ikke finde en pakkelistefil på dette spejl. Kontrollér at placeringen er "
+"korrekt."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core-udgivelse"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted-udgivelse"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree-udgivelse"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Noget hardware på din maskine behøver nogle ikke-frie firmwares for at de "
+"frie softwaredrivere skal kunne virke."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Du bør aktivere \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" indeholder de forskellige dele af systemet og dets programmer"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" indeholder ikke-fri software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Det indeholder også firmware som er nødvendige for at bestemte enheder kan "
+"fungere (eksempelvis: nogle ATI-/AMD-grafikkort, nogle netværkskort, nogle "
+"RAID-kort, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" indeholder software som ikke kan distribueres i alle lande pga. "
+"softwarepatenter."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Det indeholder software fra \"%s\"-genbygning med yderligere formåenheder."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Her kan du aktivere flere medier hvis du vil."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dette medie leverer pakkeopdateringer til mediet \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Leder efter pakker der allerede er installeret..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Leder efter pakker som skal opgraderes..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjerner pakker før opgradering..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Følgende pakker vil blive fjernet for at kunne opdatere systemet: %s\n"
+"\n"
+"\n"
+"Ønsker du virkelig at fjerne disse pakker?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fejl ved læsning af filen %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Følgende diske blev omdøbt:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tidligere kaldet %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Netværk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Vælg et medie"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fil findes allerede. Skal den overskrives?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Adgang nægtet"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "DÃ¥rligt NFS-navn"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "DÃ¥rligt medie %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kan ikke lave øjebliksbilleder før partitionering"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Øjebliksbilleder vil være tilgængelige efter installation i %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Du skal også formatere %s"
+
+#: 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 ""
+"Noget hardware på din maskine skal bruge ''proprietære'' drivere for at "
+"virke.\n"
+"Du kan finde information om dem hos: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bringer netværket op"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Lukker netværket ned"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Vent venligst, henter fil"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "kan ikke tilføje medie"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierer nogle pakker til disk til fremtidig brug"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering udføres"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "nødvendigt"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "vigtigt"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "meget rart"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "rart"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "måske"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Henter pakkeinformation fra XML-metadata..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "Ingen xml-info for mediet \"%s\", kun delvist resultat for pakken %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ingen beskrivelse"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Visse pakker forespurgt af %s kan ikke installeres:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Der opstod en fejl:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "En fatal fejl skete: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Spørg ikke igen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d installationstransaktioner mislykkedes"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installation af pakker mislykkedes:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbejdsmaskine"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontor-arbejdsmaskine"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontor-programmer: Tekstbehandling (LibreOffice tekstbehandler, Kword), "
+"regneark (LibreOffice Regneark, Kspread ), PDF-visere, osv."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spillemaskine"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underholdnings-programmer: arkade, bræt, strategi, osv."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediecenter"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmer til afspilning og redigering af lyd og video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-computer"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Værktøjssæt til at læse samt sende post og nyheder (mutt, tin..), og til at "
+"browse på nettet"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netværksmaskine (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter for forskellige protokoller inklusive ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Værktøjer til at lette indstillingen af din maskine"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolværktøjer"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redigeringsværktøjer, skaller, filværktøjer, terminaler"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Udvikling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteker, programmer og include-filer til udvikling i C og C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøger og vejledninger om Linux og fri software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Understøttelse for tredjeparts-programmer"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brandmur/ruter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-adgangspunkt"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Post og nyheder"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix-postserver, Inn-nyhedsserver"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogserver"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server for domænenavne (DNS) og netværksinformation (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og Printerdelings-server"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- og MariaDB-databaseserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache og Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-postserver"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- eller MariaDB-databaseserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netværksmaskine-server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K-skrivemiljøet, det grundlæggende grafiske miljø, med en vifte af "
+"supplerende værktøjer"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-arbejdsmaskine"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Et grafisk miljø med brugervenlig samling af programmer og værktøjer"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Et lettere grafisk miljø med brugervenlige sæt af programmer og "
+"skrivebordsværktøjer"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Et grafisk miljø baseret på GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-skrivebord"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "En næstegenerations-Qt-port af letvægtsskrivebordsmiljøet"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment-skrivebord"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Et letvægts- og hurtigt grafisk miljø med dedikerede følgere"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-skrivebord"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Et letvægts- og hurtigt grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske miljøer"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, osv."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Nytteprogrammer"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin ekstern konfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nytteprogrammer og overvågning af netværk"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvågningsværktøjer, proceskontering, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Konfigurationsprogrammer for Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Hjæpeprogrammer til at konfigurere server"
+
+#: 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 ""
+"Der opstod en fejl, men jeg ved ikke hvordan den kan håndteres på en\n"
+"pæn måde.\n"
+"Fortsæt på eget ansvar."
+
+#: steps.pm:469
+#, 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 ""
+"Nogle vigtige pakker blev ikke installeret rigtigt.\n"
+"Enten er dit cdrom-drev eller din cdrom fejlbehæftet.\n"
+"Tjek cdrom'en på en færdiginstalleret maskine ved brug af \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "GÃ¥r til trin `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellem elementer"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg-server er langsom at starte. Vent venligst..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Dit system har kun få resurser. Du kan få problemer med at installere\n"
+"%s. Hvis dette sker, kan du prøve en tekst-baseret installation i stedet.\n"
+"Dette gøres ved at trykke 'F1' ved opstart fra CD-ROM'en, og så skrive "
+"'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Valg af pakkemedie"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Installer %s Plasma-skrivebord"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installér %ss GNOME-skrivebord"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Tilpasset installation"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-skrivebord"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-skrivebord"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Tilpasset skrivebord"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Her er et smugkig på '%s'-skrivebordet."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klik på billeder for at se et større smugkig"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Valg af pakkegrupper"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelt pakkevalg"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Fravalgte alt"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total størrelse: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Størrelse: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Vigtighed: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Du kan ikke vælge/fravælge denne pakke"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "grundet manglende %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "grundet uopfyldt %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "prøver at forfremme %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "for at beholde %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikke vælge denne pakke, da der ikke er nok plads tilbage til at "
+"installere den"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Følgende pakker vil blive installeret"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Følgende pakker vil blive afinstalleret"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dette er en nødvendig pakke, den kan ikke vælges fra"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Du kan ikke fravælge denne pakke. Den er allerede installeret"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Du kan ikke fravælge denne pakke. Den skal opgraderes"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatisk valgte pakker"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installér"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Indlæs eller gem det markerede"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Opdaterer pakkevalg"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installation"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+"Administration\n"
+"af programmer"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vælg pakker som skal installeres"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ingen detaljer"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Resterende tid:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(beregner...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakke"
+msgstr[1] "%d pakker"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Oversigt"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurér"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ikke konfigureret"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Følgende installationsmedier er fundet.\n"
+"Hvis du ønsker at springe nogen af dem over, kan du fravælge dem nu."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Du har mulighed for at kopiere indholdet af cd'erne over på disken før "
+"installation.\n"
+"Installationen vil så fortsætte fra disken og pakkerne vil forblive "
+"tilgængelige, når systemet er fuldt installeret."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiér hele cd'er"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Der opstod en fejl"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Vælg dit tastaturlayout"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Her er den komplette liste over tilgængelige tastaturer:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installér/Opgradér"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er dette en nyinstallation eller en opgradering?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installation"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Opgradér %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøgle for %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Afbryd installation, genstart system"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ny installation"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Opgradér tidligere installation (ikke anbefalet)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Installationsprogrammet har registreret at dit installerede Linux-system "
+"ikke\n"
+"på en sikker måde kunne opgraderes til %s.\n"
+"\n"
+"Det anbefales at bruge en ny installation som erstatter din forrige "
+"installation.\n"
+"\n"
+"Advarsel : du bør sikkerhedskopiere alle dine personlige data inden du "
+"vælger \"Ny installation\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfigurerer CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Skift din cdrom!\n"
+"Indsæt cdrom'en med navnet \"%s\" i dit cdrom-drev, og tryk på Ok når det "
+"gjort.\n"
+"Hvis du ikke har den, så tryk på Annullér for at undgå installation fra "
+"denne cd."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Leder efter tilgængelige pakker..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Dit system har ikke nok plads tilbage til installation eller opgradering "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vælg indlæsning eller gemning af pakkevalg.\n"
+"Formatet er det samme som for auto_install-genererede filer."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Indlæs"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Gem"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "DÃ¥rlig fil"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Valg af skrivebord"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Du kan vælge profil for din arbejdsmaskines skrivebord."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valgt størrelse er større end tilgængelig plads"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Installationstype"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikke valgt nogen gruppe af pakker.\n"
+"Vælg den minimale installation du ønsker:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installer anbefalede pakker"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med basal dokumentation (anbefalet!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Virkelig minimal installation (specielt ingen urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Forbereder opgradering..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Forbereder installationen"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerer pakke %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Der opstod en fejl ved sorteringen af pakkerne:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsæt alligevel?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Prøv igen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Overspring denne pakke"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Overspring alle pakker fra medie '%s'"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "GÃ¥ tilbage til valg af medie og pakker"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Der opstod en fejl ved installeringen af pakke %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfiguration efter installation"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Forsikr dig venligst om at mediet med opdateringsmodulerne er i drev %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Opdateringer"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Du har nu mulighed for at opsætte onlinemedier."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Dette giver mulighed for at installere sikkerhedsopdateringer."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"For at opsætte de medier, skal du har en\n"
+"internetforbindelse som virker.\n"
+"\n"
+"Vil du opsætte opdateringsmediet?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Følgende pakker vil blive installeret"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Forsøg igen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fejl ved tilføjelse af medie"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Du har nu mulighed for at hente opdaterede pakker som er blevet opdateret\n"
+"efter distributionen blev gjort tilgængelig.\n"
+"\n"
+"Du vil kunne få sikkerhedsrettelser eller fejlrettelser, men du skal have "
+"en\n"
+"internetforbindelse for at fortsætte.\n"
+"\n"
+"Ønsker du at installere opdateringerne?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Udstyr"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grænseflade"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Netværk og internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxyer"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfigureret"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sikkerhedsniveau"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Brandmur"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiveret"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "deaktiveret"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikke konfigureret X. Er du sikker på, at du virkelig ønsker dette?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Forbereder indledende opstartsprogram..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Vær tålmodig, dette kan tage et stykke tid..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"I dette er sikkerhedsniveau er adgang til Windows-partitionen forbeholdt "
+"administratoren."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Indsæt en tom diskette i drev %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Laver autoinstallations-diskette..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Visse dele af installationen er ikke færdige.\n"
+"\n"
+"Er du sikker på, at du vil afslutte nu?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Tillykke"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Genstart"
+
+#. -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 "Sprog"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Tilpasning til sprog"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harddisk-bestemmelse"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installations-klasse"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sikkerhed"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Opdeling af disk"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formaterer"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Vælger pakker"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerer"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brugere"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Opstartsindlæser"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurér X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Oversigt"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjenester"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Opdateringer"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Afslut"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL på spejlet?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL skal starte med ftp:// eller http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Kontakter %s' websted for at hente listen over tilgængelige spejle..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Kunne ikke kontakte %s' websted for at hente listen over tilgængelige "
+#~ "spejle"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Vælg det spejl hvorfra pakkerne skal hentes"
diff --git a/perl-install/install/share/po/de.po b/perl-install/install/share/po/de.po
new file mode 100644
index 000000000..e740e5b46
--- /dev/null
+++ b/perl-install/install/share/po/de.po
@@ -0,0 +1,1715 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ettore Atalan <atalanttore@googlemail.com>, 2014,2018
+# Klaus Christian Harke <k.c.harke@gmx.net>, 2020
+# psyca, 2014-2018,2020,2022
+# Marc Lattemann, 2013
+# Marc Lattemann, 2013
+# Oliver Burger <obgr_seneca@mageia.org>, 2013
+# psyca, 2014
+# user7 <wassipaul@gmx.at>, 2013
+# user7 <wassipaul@gmx.at>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: psyca, 2014-2018,2020,2022\n"
+"Language-Team: German (http://app.transifex.com/MageiaLinux/mageia/language/"
+"de/)\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Treten Sie bei!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Passen Sie es Ihren Wünschen an!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Sie haben die Wahl!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Arbeitsplatz Werkzeuge"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Home Entertainment"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Für Kinder"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Für die Familie!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Für Entwickler"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Danke!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Sei Frei!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Haben Sie weitere zusätzliche Medien?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Folgende Medien wurden gefunden und werden während der Installation "
+"verwendet: %s\n"
+"\n"
+"\n"
+"Haben Sie noch weitere Installationsmedien zu konfigurieren?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netzwerk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netzwerk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netzwerk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-Einrichtung"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Bitte geben Sie den Rechnernamen und das Verzeichnis ihres NFS-Mediums ein"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Hostname fehlt"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Verzeichnis muss mit \"/\" beginnen"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Rechnername der NFS-Einbindung?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Verzeichnis"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Ergänzend"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kann keine Paketliste auf diesem Spiegel-Server finden."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core-Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted-Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree-Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Ihre Maschine beinhaltet Hardware, die nicht-freie Firmware-Dateien "
+"benötigt, damit die freien Treiber funktionieren."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Sie sollten „%s“ aktivieren"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"„%s“ enthält die verschiedenen Bestandteile des Systems und seiner "
+"Anwendungen"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "„%s“ enthält nicht-freie Software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Es enthält auch Firmware-Dateien, die für einige Geräte benötigt werden, um "
+"funktionieren zu können (z.B. einige AMD/ATI-Grafikkarten, einige "
+"Netzwerkkarten, einige RAID-Karten, ...)."
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"„%s“ enthält Software, die aufgrund von Software-Patenten nicht in jedem "
+"Land verbreitet werden darf."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Es enthält auch Software aus „%s“, die mit zusätzlichen Fähigkeiten neu "
+"gebaut wurde."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Sie können hier weitere Medien aktivieren, wenn Sie das wünschen."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dieses Medium enthält Paket-Aktualisierungen für das Medium „%s“"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Bereits installierte Pakete werden gesucht ..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Zu aktualisierende Pakete werden gesucht ..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Pakete vor der Aktualisierung entfernen ..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Folgende Pakete werden entfernt, um das Aktualisieren Ihres Rechners zu "
+"ermöglichen: %s\n"
+"\n"
+"\n"
+"Wollen Sie diese Pakete wirklich entfernen?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fehler beim Lesen der Datei %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Die folgenden Datenträger wurden umbenannt:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (vorher als %s bezeichnet)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Netzwerk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Bitte wählen Sie ein Medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Die Datei existiert bereits. Überschreiben?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Erlaubnis verweigert"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Fehlerhafter NFS-Name"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Fehlerhaftes Medium %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Vor der Partitionierung können keine Screenshots erstellt werden"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Die Screenshots sind nach der Installation unter „%s“ verfügbar"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Sie müssen auch %s formatieren."
+
+#: 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 ""
+"Einige Hardware-Komponenten Ihres Rechners benötigen „proprietäre“\n"
+"Treiber. Weitere Infos hierzu finden Sie unter: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Netzwerkverbindung herstellen"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Netzwerkverbindung trennen"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Bitte warten, Datei wird empfangen"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "Es ist nicht möglich, das Medium hinzuzufügen"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Pakete auf die Festplatte speichern für die spätere Verwendung"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Dateien werden kopiert"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "unbedingt notwendig"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "wichtig"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "sehr angenehm"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "angenehm"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "eventuell"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Paket-Informationen aus den XML-Metadaten beziehen ..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Keine XML-Informationen für das Medium „%s“ vorhanden, es können nur "
+"Teilergebnisse für das Paket %s angegeben werden"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Keine Beschreibung"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Einige der ausgewählten Programme von %s können nicht installiert werden:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ein Fehler ist aufgetreten:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Fataler Fehler aufgetreten: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Nicht erneut fragen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d Installationstransaktionen schlugen fehl"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installieren der Pakete ist fehlgeschlagen:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbeitsplatzrechner"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Büro-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office-Programme: Textverarbeitung (LibreOffice Writer, KWord), "
+"Tabellenkalkulation (LibreOffice Calc, KSpread), PDF-Betrachter, usw."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spiele-Station"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Spiele: Arkade-, Brett-, Strategiespiele, usw."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia-Station"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programme, um Audio und Video abzuspielen und zu bearbeiten"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-Station"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Programme um E-Mails und News zu lesen und zu versenden (pine, mutt, tin..) "
+"und um im Internet zu surfen"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netzwerk-Computer (Client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients für verschiedene Protokolle, u.a. SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Werkzeuge, die die Konfiguration Ihres Computers erleichtern"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolen-Werkzeuge"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoren, Shells, Dateiwerkzeuge, Konsolen"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Entwicklung"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C- und C++-Entwicklungsbibliotheken, Programme und Include-Dateien"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bücher und HOWTOs zu GNU/Linux und Freier Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux-Standard-Base. Drittanbieterunterstützung"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-Server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-Gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix-Mail-Server, Inn-News-Server"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Verzeichnisdienst"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-Server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domänennamen- und Netzwerk-Informations-Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Datei- und Druckerserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-Server, Samba-Server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Datenbank"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- und MariaDB-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-Mail-Server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- oder MariaDB-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netzwerkrechner-Server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafische Umgebung"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Das K Desktop Environment, die grundlegende grafische Umgebung mit einer "
+"Sammlung zugehöriger Programme"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Eine grafische Umgebung mit benutzerfreundlichen Anwendungen und Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-Arbeitsplatz "
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Eine schlankere grafische Umgebung mit benutzerfreundlichen Anwendungen und "
+"Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Eine auf GNOME basierende grafische Umbgebung"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-Desktop"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"Qt-Portierung der leichtgewichtigen Desktop-Umgebung der nächsten Generation"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment Desktop"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Eine schlanke und schnelle grafische Umgebung mit benutzerfreundlichen "
+"Anwendungen und Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-Desktop"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Eine leichtgewichtige und schnelle grafische Umgebung"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andere grafische Oberflächen"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, usw."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Werkzeuge"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-Server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-Fernkonfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netzwerkwerkzeuge/-überwachung"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Überwachungswerkzeuge, Prozessverwaltung, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-Assistenten"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistenten zur Servereinrichtung"
+
+#: 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 ""
+"Es trat ein Fehler auf. Ich weiß jedoch nicht, wie ich damit umgehen soll. "
+"Sie können fortfahren, jedoch auf eigenes Risiko!"
+
+#: steps.pm:469
+#, 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 ""
+"Einige wichtige Pakete wurden nicht richtig installiert. \n"
+"Entweder ist Ihr CD-ROM-Laufwerk oder Ihre CD-ROM defekt. \n"
+"Testen Sie die CD-ROM auf einem Linux-Rechner mittels „rpm -qpl \n"
+"media/main/*.rpm“\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Beginn von Schritt „%s“\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> zwischen den Elementen"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Der Xorg-Server braucht lange zum Starten. Bitte warten Sie ..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ihr System hat nur geringe Ressourcen. Sie werden eventuell Probleme haben, "
+"%s zu installieren.\n"
+"Wenn dies auftritt, können Sie versuchen, Mageia mit einer textbasierten "
+"Benutzerschnittstelle zu installieren. Drücken Sie dafür „F1“, wenn Sie von "
+"der CD-Rom installieren, dann geben Sie „text“ ein."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Auswahl der Installationsmedien"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Den %s-Plasma-Desktop installieren"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Den %s-GNOME-Desktop installieren"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Benutzerdefinierte Installation"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-Desktop"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-Desktop"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Benutzerdefinierter Desktop"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hier sehen Sie eine Vorschau des „%s“-Desktops"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klicken Sie auf die Bilder, um größere Vorschauen zu erhalten"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Auswahl der Paketgruppen"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelle Paketauswahl"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Auswahl aufheben"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Gesamtgröße: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Größe: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Wichtigkeit: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Sie können dieses Paket nicht auswählen/abwählen."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "da %s fehlt"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "da %s unerfüllt ist"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Versuche %s voranzutreiben"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "um %s beizubehalten"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Sie können dieses Paket nicht auswählen, da Sie nicht genug Plattenplatz "
+"haben."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Die folgenden Pakete werden installiert"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Die folgenden Pakete werden entfernt"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dieses Paket ist existenziell, sie können es nicht abwählen!"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es ist bereits installiert!"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es muss aktualisiert werden!"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatisch markierte Pakete anzeigen"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installation"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Auswahl laden/speichern"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Erneuere Paket Auswahl"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Zwischen hierarchischer und flacher Paketliste wechseln"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal-Installation"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Software verwalten"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zu installierende Pakete auswählen"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installation"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Keine Details"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Verbleibende Zeit "
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(schätze...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d Paket"
+msgstr[1] "%d Pakete"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurieren"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "Nicht eingerichtet"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Die folgenden Installationsmedien wurden gefunden.\n"
+"Wählen Sie die Medien ab, die Sie überspringen wollen."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Sie haben die Möglichkeit, den Inhalt der CDs vor der Installation auf "
+"Festplatte zu kopieren. Die Installation wird dann von Festplatte "
+"fortgeführt und die Softwarepakete bleiben verfügbar, nachdem das System "
+"fertig installiert ist."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiere die CDs"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ein Fehler ist aufgetreten"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Bitte wählen Sie Ihr Tastaturlayout"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Komplette Liste aller verfügbarer Tastaturlayouts"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installation/Aktualisierung"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Handelt es sich um eine Installation oder eine Aktualisierung?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installation"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualisiere %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Schlüssel für %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Installation abbrechen, das System neustarten"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Neuinstallation"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Bestehende Installation aktualisieren (nicht empfohlen)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Das Installationsprogramm hat festgestellt, dass Ihr Linux System nicht\n"
+"sicher zu %s aktualisiert werden kann.\n"
+"\n"
+"Eine Neuinstallation, die Ihre bisherige ersetzt, wird empfohlen.\n"
+"\n"
+"Warnung: Sie sollten all Ihre persönlichen Daten sichern, bevor Sie \"Neu\n"
+" Installation\" wählen."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfiguriere CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Bitte wechseln Sie die CD!\n"
+"Bitte legen Sie die CD-ROM „%s“ in Ihr Laufwerk. Drücken Sie dann auf „OK“.\n"
+"Falls Sie sie nicht vorliegen haben, drücken Sie auf „Abbrechen“."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Suche nach verfügbaren Paketen ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Das System hat für die Installation oder das Update nicht genug freien "
+"Speicher (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Bitte wählen Sie, ob die Paketauswahl geladen oder\n"
+"gespeichert werden soll. Es handelt sich um das gleiche\n"
+"Format, wie die unter „auto_install“ erzeugten Disketten."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Laden"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Speichern"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Datei fehlerhaft"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Auswahl der Desktop-Umgebung"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Sie haben die Wahl zwischen verschiedenen Desktopprofilen."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Gewünschte Größe übersteigt den verfügbaren Platz"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Installationstyp"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Sie haben keine Paketgruppe ausgewählt.\n"
+"Bitte wählen Sie die minimale Installation, die Sie wünschen."
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Mit X (grafischem Server)"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Empfohlene Pakete installieren"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Mit minimaler Dokumentation (Empfohlen)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Extrem minimale Installation (ohne „urpmi“)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Die Aktualisierung wird vorbereitet ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Installation wird vorbereitet"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Paket %s wird installiert"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Bei der Anforderung folgender Pakete trat ein Fehler auf:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Wollen Sie trotzdem fortfahren?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Wiederholen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Dieses Paket überspringen"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Alle Pakete vom Medium \"%s\" werden übersprungen"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Zurück zu den Medien und zur Paketauswahl"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Bei der Installation des Paketes %s trat ein Fehler auf."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Bereite weitere Konfiguration vor ..."
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Bitte stellen Sie sicher, dass sich das Update-Modul-Medium im Laufwerk %s "
+"befindet"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aktualisierungen"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Sie haben nun die Möglichkeit, Onlinemedien einzurichten."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Dies erlaubt Ihnen Sicherheitsaktualisierungen zu installieren."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Um diese Medien einzurichten benötigen Sie eine funktionierende\n"
+"Internetverbindung.\n"
+"\n"
+"Möchen Sie die Onlinemedien einrichten?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Dieser Downloader konnte nicht installiert werden"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Nochmals versuchen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fehler beim Hinzufügen des Mediums"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Sie haben nun die Möglichkeit Pakete zu installieren, die seit Erscheinen\n"
+"der Distribution aktualisiert wurden. Diese können "
+"Sicherheitsaktualisierungen und Fehlerkorrekturen beinhalten.\n"
+"\n"
+"Allerdings benötigen Sie dafür eine funktionierende Internetverbindung.\n"
+"\n"
+"Möchten Sie die Aktualisierungen vornehmen?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s auf %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Soundkarte"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafikumgebung"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Netzwerk & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfiguriert"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sicherheitsebene"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiviert"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "deaktiviert"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Sie haben X nicht konfiguriert. Sind Sie sicher?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Initiale Systemstartprogramme vorbereiten ..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ein wenig Geduld, dies kann einige Zeit dauern ..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"In dieser Sicherheitsebene ist der Zugriff auf Dateien der Windows-Partition "
+"nur dem Administrator erlaubt"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Legen Sie eine leere Diskette in das Laufwerk %s ein."
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Erstelle eine Auto-Installationsdiskette"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Einige Schritte sind noch nicht komplett.\n"
+"\n"
+"Wollen Sie DrakX wirklich beenden?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Herzlichen Glückwunsch!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Neustart"
+
+#. -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 "Sprache auswählen"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisierung"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lizenz"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Festplatten suchen"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installationsgruppe"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sicherheit"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionierung"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatierung"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakete auswählen"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installation"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Benutzer"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigurieren"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Zusammenfassung"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dienste"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualisierungen"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Verlassen"
diff --git a/perl-install/install/share/po/de_AT.po b/perl-install/install/share/po/de_AT.po
new file mode 100644
index 000000000..eae8db34e
--- /dev/null
+++ b/perl-install/install/share/po/de_AT.po
@@ -0,0 +1,1706 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: German (Austria) (http://www.transifex.com/MageiaLinux/mageia/"
+"language/de_AT/)\n"
+"Language: de_AT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Treten Sie bei!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Passen Sie es Ihren Wünschen an!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Sie haben die Wahl!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Arbeitsplatz Werkzeuge"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Home Entertainment"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Für Kinder"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Für die Familie!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Für Entwickler"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Danke!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Sei Frei!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Haben Sie weitere zusätzliche Medien?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Folgende Medien wurden gefunden und werden während der Installation "
+"verwendet: %s\n"
+"\n"
+"\n"
+"Haben Sie noch weitere Installationsmedien zu konfigurieren?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netzwerk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netzwerk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netzwerk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-Einrichtung"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Bitte geben Sie den Rechnernamen und das Verzeichnis ihres NFS-Mediums ein"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Hostname fehlt"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Verzeichnis muss mit \"/\" beginnen"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Rechnername der NFS-Einbindung?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Verzeichnis"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Ergänzend"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kann keine Paketliste auf diesem Spiegel-Server finden."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core-Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted-Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree-Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Ihre Maschine beinhaltet Hardware, die nicht-freie Firmware-Dateien "
+"benötigt, damit die freien Treiber funktionieren."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Sie sollten „%s“ aktivieren"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"„%s“ enthält die verschiedenen Bestandteile des Systems und seiner "
+"Anwendungen"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "„%s“ enthält nicht-freie Software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Es enthält auch Firmware-Dateien, die für einige Geräte benötigt werden, um "
+"funktionieren zu können (z.B. einige AMD/ATI-Grafikkarten, einige "
+"Netzwerkkarten, einige RAID-Karten,...)."
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"„%s“ enthält Software, die aufgrund von Software-Patenten nicht in jedem "
+"Land verbreitet werden darf."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Es enthält auch Software aus „%s“, die mit zusätzlichen Fähigkeiten neu "
+"gebaut wurde."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Sie können hier weitere Medien aktivieren, wenn Sie das wünschen."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dieses Medium enthält Paket-Aktualisierungen für das Medium „%s“"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Bereits installierte Pakete werden gesucht ..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Zu aktualisierende Pakete werden gesucht..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Pakete vor der Aktualisierung entfernen..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Folgende Pakete werden entfernt, um das Aktualisieren Ihres Rechners zu "
+"ermöglichen: %s\n"
+"\n"
+"\n"
+"Wollen Sie diese Pakete wirklich entfernen?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fehler beim Lesen der Datei %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Die folgenden Datenträger wurden umbenannt:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (vorher als %s bezeichnet)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Netzwerk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Bitte wählen Sie ein Medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Die Datei existiert bereits. Überschreiben?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Erlaubnis verweigert"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Fehlerhafter NFS-Name"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Fehlerhaftes Medium %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Vor der Partitionierung können keine Screenshots erstellt werden"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Die Screenshots sind nach der Installation unter „%s“ verfügbar"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Sie müssen auch %s formatieren."
+
+#: 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 ""
+"Einige Hardware-Komponenten Ihres Rechners benötigen „proprietäre“\n"
+"Treiber. Weitere Infos hierzu finden Sie unter: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Netzwerkverbindung herstellen"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Netzwerkverbindung trennen"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Bitte warten, Datei wird empfangen"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "Es ist nicht möglich, das Medium hinzuzufügen"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Pakete auf die Festplatte speichern für die spätere Verwendung"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Dateien werden kopiert"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "unbedingt notwendig"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "wichtig"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "sehr angenehm"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "angenehm"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "eventuell"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Paket-Informationen aus den XML-Metadaten beziehen..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Keine XML-Informationen für das Medium „%s“ vorhanden, es können nur "
+"Teilergebnisse für das Paket %s angegeben werden"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Keine Beschreibung"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Einige der ausgewählten Programme von %s können nicht installiert werden:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ein Fehler ist aufgetreten:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Es ist ein fataler Fehler aufgetreten: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Nicht erneut fragen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d Installationstransaktionen fehlgeschlagen"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installieren der Pakete ist fehlgeschlagen:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbeitsplatzrechner"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Büro-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office-Programme: Textverarbeitung (LibreOffice Writer, KWord), "
+"Tabellenkalkulation (LibreOffice Calc, KSpread), PDF-Betrachter, usw."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spiele-Station"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Spiele: Arkade-, Brett-, Strategiespiele, usw."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia-Station"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programme, um Audio und Video abzuspielen und zu bearbeiten"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-Station"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Programme um E-Mails und News zu lesen und zu versenden (pine, mutt, tin..) "
+"und um im Internet zu surfen"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netzwerk-Computer (Client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients für verschiedene Protokolle, u.a. SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Werkzeuge, die die Konfiguration Ihres Computers erleichtern"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolen-Werkzeuge"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoren, Shells, Dateiwerkzeuge, Konsolen"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Entwicklung"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C- und C++-Entwicklungsbibliotheken, Programme und Include-Dateien"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bücher und HOWTOs zu GNU/Linux und Freier Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux-Standard-Base. Drittanbieterunterstützung"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-Server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-Gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix-Mail-Server, Inn-News-Server"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Verzeichnisdienst"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-Server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domänennamen- und Netzwerk-Informations-Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Datei- und Druckerserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-Server, Samba-Server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Datenbank"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- und MariaDB-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-Mail-Server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- oder MariaDB-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netzwerkrechner-Server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafische Umgebung"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Das K Desktop Environment, die grundlegende grafische Umgebung mit einer "
+"Sammlung zugehöriger Programme"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Eine grafische Umgebung mit benutzerfreundlichen Anwendungen und Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-Arbeitsplatz "
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Eine schlankere grafische Umgebung mit benutzerfreundlichen Anwendungen und "
+"Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Eine auf GNOME basierende grafische Umbgebung"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-Desktop"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"Qt-Portierung der leichtgewichtigen Desktop-Umgebung der nächsten Generation"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment Desktop"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Eine schlanke und schnelle grafische Umgebung mit benutzerfreundlichen "
+"Anwendungen und Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-Desktop"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Eine leichtgewichtige und schnelle grafische Umgebung"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andere grafische Oberflächen"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, usw."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Dienstprogramme"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-Server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-Fernkonfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netzwerkwerkzeuge/-überwachung"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Überwachungswerkzeuge, Prozessverwaltung, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-Assistenten"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistenten zur Servereinrichtung"
+
+#: 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 ""
+"Es trat ein Fehler auf. Ich weiß jedoch nicht, wie ich damit umgehen soll. "
+"Sie können fortfahren, jedoch auf eigenes Risiko!"
+
+#: steps.pm:469
+#, 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 ""
+"Einige wichtige Pakete wurden nicht richtig installiert. \n"
+"Entweder ist Ihr CD-ROM-Laufwerk oder Ihre CD-ROM defekt. \n"
+"Testen Sie die CD-ROM auf einem Linux-Rechner mittels „rpm -qpl \n"
+"media/main/*.rpm“\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Beginn von Schritt „%s“\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> zwischen den Elementen"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Der Xorg-Server braucht lange zum Starten. Bitte warten Sie..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ihr System hat nur geringe Ressourcen. Sie werden eventuell Probleme haben, "
+"%s zu installieren.\n"
+"Wenn dies auftritt, können Sie versuchen, Mageia mit einer textbasierten "
+"Benutzerschnittstelle zu installieren. Drücken Sie dafür „F1“, wenn Sie von "
+"der CD-Rom installieren, dann geben Sie „text“ ein."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Auswahl der Installationsmedien"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Den %s-Plasma-Desktop installieren"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Den %s-GNOME-Desktop installieren"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Benutzerdefinierte Installation"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-Desktop"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-Desktop"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Benutzerdefinierter Desktop"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hier sehen Sie eine Vorschau des „%s“-Desktops"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klicken Sie auf die Bilder, um größere Vorschauen zu erhalten"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Auswahl der Paketgruppen"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelle Paketauswahl"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Auswahl aufheben"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Gesamtgröße: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Größe:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Wichtigkeit:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Sie können dieses Paket nicht auswählen/abwählen."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "wegen fehlendem %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "wegen nicht erfüllter Abhängigkeit von %s "
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Es wird versucht, %s voranzubringen"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "um %s zu behalten"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Sie können dieses Paket nicht auswählen, da Sie nicht genug Plattenplatz "
+"haben."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Die folgenden Pakete werden installiert"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Die folgenden Pakete werden entfernt"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dieses Paket ist existenziell, sie können es nicht abwählen!"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es ist bereits installiert!"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es muss aktualisiert werden!"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatisch markierte Pakete anzeigen"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installieren"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Auswahl laden/speichern"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Erneuere Paket Auswahl"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Zwischen hierarchischer und flacher Paketliste wechseln"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal-Installation"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Software-Verwaltung"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zu installierende Pakete auswählen"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Wird installiert"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Keine Details"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Verbleibende Zeit "
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(Schätzen...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Einrichten"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "Nicht eingerichtet"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Die folgenden Installationsmedien wurden gefunden.\n"
+"Wählen Sie die Medien ab, die Sie überspringen wollen."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Sie haben die Möglichkeit, den Inhalt der CDs vor der Installation auf "
+"Festplatte zu kopieren. Die Installation wird dann von Festplatte "
+"fortgeführt und die Softwarepakete bleiben verfügbar, nachdem das System "
+"fertig installiert ist."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiere die CDs"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ein Fehler ist aufgetreten"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Bitte wählen Sie Ihr Tastaturlayout"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Komplette Liste aller verfügbarer Tastaturlayouts"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installation/Aktualisierung"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Handelt es sich um eine Installation oder eine Aktualisierung?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installation"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualisiere %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Schlüssel für %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Installation abbrechen, das System neustarten"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Neuinstallation"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Bestehende Installation aktualisieren (nicht empfohlen)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Das Installationsprogramm hat festgestellt, dass Ihr Linux System nicht\n"
+"sicher zu %s aktualisiert werden kann.\n"
+"\n"
+"Eine Neuinstallation, die Ihre bisherige ersetzt, wird empfohlen.\n"
+"\n"
+"Warnung: Sie sollten all Ihre persönlichen Daten sichern, bevor Sie \"Neu\n"
+" Installation\" wählen."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfiguriere CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Bitte wechseln Sie die CD!\n"
+"Bitte legen Sie die CD-ROM „%s“ in Ihr Laufwerk. Drücken Sie dann auf „OK“.\n"
+"Falls Sie sie nicht vorliegen haben, drücken Sie auf „Abbrechen“."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Suche nach verfügbaren Paketen ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Das System hat für die Installation oder das Update nicht genug freien "
+"Speicher (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Bitte wählen Sie, ob die Paketauswahl geladen oder\n"
+"gespeichert werden soll. Es handelt sich um das gleiche\n"
+"Format, wie die unter „auto_install“ erzeugten Disketten."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Laden"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Speichern"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Datei fehlerhaft"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Desktop-Auswahl"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Sie haben die Wahl zwischen verschiedenen Desktopprofilen."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Gewünschte Größe übersteigt den verfügbaren Platz"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Installationstyp"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Sie haben keine Paketgruppe ausgewählt.\n"
+"Bitte wählen Sie die minimale Installation, die Sie wünschen."
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Mit X (grafischem Server)"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Empfohlene Pakete installieren"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Mit minimaler Dokumentation (Empfohlen)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Extrem minimale Installation (ohne „urpmi“)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Die Aktualisierung wird vorbereitet ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Installation wird vorbereitet"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Paket %s wird installiert"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Bei der Anforderung folgender Pakete trat ein Fehler auf:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Wollen Sie trotzdem fortfahren?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Wiederholen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Dieses Paket überspringen"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Alle Pakete vom Medium \"%s\" werden übersprungen"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Zurück zu den Medien und zur Paketauswahl"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Bei der Installation des Paketes %s trat ein Fehler auf."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Bereite weitere Konfiguration vor ..."
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Bitte stellen Sie sicher, dass sich das Update-Modul-Medium im Laufwerk %s "
+"befindet"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aktualisierungen"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Sie haben nun die Möglichkeit, Onlinemedien einzurichten."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Dies erlaubt Ihnen, Sicherheitsaktualisierungen zu installieren."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Um diese Medien einzurichten benötigen Sie eine funktionierende\n"
+"Internetverbindung.\n"
+"\n"
+"Möchten Sie die Onlinemedien einrichten?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Dieser Downloader konnte nicht installiert werden"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Nochmals versuchen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fehler beim Hinzufügen des Mediums"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Sie haben nun die Möglichkeit, Pakete zu installieren, die seit Erscheinen\n"
+"der Distribution aktualisiert wurden. Diese können "
+"Sicherheitsaktualisierungen und Fehlerkorrekturen beinhalten.\n"
+"\n"
+"Allerdings benötigen Sie dafür eine funktionierende Internetverbindung.\n"
+"\n"
+"Möchten Sie die Aktualisierungen vornehmen?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s auf %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Soundkarte"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafikumgebung"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Netzwerk & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfiguriert"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sicherheitsebene"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiviert"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "deaktiviert"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Sie haben X nicht konfiguriert. Sind Sie sicher?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Initiale Systemstartprogramme vorbereiten..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ein wenig Geduld, dies kann einige Zeit dauern..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"In dieser Sicherheitsebene ist der Zugriff auf Dateien der Windows-Partition "
+"nur dem Administrator erlaubt"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Legen Sie eine leere Diskette in das Laufwerk %s ein."
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Erstelle eine Auto-Installationsdiskette"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Einige Schritte sind noch nicht komplett.\n"
+"\n"
+"Wollen Sie DrakX wirklich beenden?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Herzlichen Glückwunsch!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Neustart"
+
+#. -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 "Sprache auswählen"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisierung"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lizenz"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Festplatten suchen"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installationsgruppe"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sicherheit"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionierung"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatierung"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakete auswählen"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installation"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Benutzer"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigurieren"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Zusammenfassung"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dienste"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualisierungen"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Verlassen"
diff --git a/perl-install/install/share/po/el.po b/perl-install/install/share/po/el.po
new file mode 100644
index 000000000..576a2a026
--- /dev/null
+++ b/perl-install/install/share/po/el.po
@@ -0,0 +1,1714 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Dimitrios Glentadakis <dglent@free.fr>, 2022
+# Dimitrios Glentadakis <dglent@gmail.com>, 2009-2016
+# Dimitrios Glentadakis <dglent@gmail.com>, 2009-2016, 2018,2020
+# nikos papadopoulos <231036448@freemail.gr>, 2008
+# Thanos Kyritsis <djart@hellug.gr>, 2001
+# Theofilos Chamalis <theofxam@gmail.com>, 2015
+# Îίκος ÎÏκταÏης (Nick Niktaris) <niktarin@yahoo.com>, 2003
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Dimitrios Glentadakis <dglent@free.fr>, 2022\n"
+"Language-Team: Greek (http://app.transifex.com/MageiaLinux/mageia/language/"
+"el/)\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Ελάτε μαζί μας!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Κάντε τη δική σας!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Η επιλογή σας!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "ΕÏγαλεία γÏαφείου"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Οικιακή ψυχαγωγία"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Για τα παιδιά"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Για την οικογένεια!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Για Ï€ÏογÏαμματιστές!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "ΕυχαÏιστοÏμε!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "ΕλευθεÏωθείτε!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Έχετε άλλα Ï€Ïόσθετα μέσα ενημέÏωσης;"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Î’Ïέθηκαν τα ακόλουθα μέσα και θα χÏησιμοποιηθοÏν κατά την εγκατάσταση: %s.\n"
+"\n"
+"\n"
+"Έχετε κάποιο συμπληÏωματικό μέσο εγκατάστασης για ÏÏθμιση;"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Δίκτυο (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Δίκτυο (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Δίκτυο (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "ΡÏθμιση NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "ΠαÏακαλώ εισάγετε το όνομα υπολογιστή και τη διαδÏομή του μέσου NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Λείπει το όνομα υπολογιστή"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ο κατάλογος Ï€Ïέπει να αÏχίζει με «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Το όνομα υπολογιστή της Ï€ÏοσάÏτησης NFS;"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Κατάλογος"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "ΣυμπληÏωματικά"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Δεν βÏέθηκε το αÏχείο με την λίστα των πακέτων σε αυτόν τον καθÏεπτισμό. "
+"ΣιγουÏευτείτε ότι η τοποθεσία είναι σωστή."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Στο μηχάνημά σας υπάÏχει υλικό που απαιτεί μη ελεÏθεÏο firmware ώστε να "
+"λειτουÏγοÏν οι οδηγοί Î±Î½Î¿Î¹Ï‡Ï„Î¿Ï ÎºÏŽÎ´Î¹ÎºÎ±. "
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Θα Ï€Ïέπει να ενεÏγοποιήσετε το «%s»"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"Το «%s» πεÏιέχει τα διάφοÏα τμήματα του συστήματος και τις εφαÏμογές του"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "Το «%s» πεÏιέχει μη ελεÏθεÏο λογισμικό.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Επίσης, πεÏιέχει firmware που απαιτοÏνται για την λειτουÏγία οÏισμένων "
+"συσκευών (πχ: μεÏικές κάÏτες γÏαφικών ATI/AMD, μεÏικές κάÏτες δικτÏου, "
+"μεÏικές κάÏτες RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"Το «%s» πεÏιέχει λογισμικό που δεν μποÏεί να διανεμηθεί σε όλες τις χώÏες "
+"λόγω πεÏιοÏÎ¹ÏƒÎ¼Î¿Ï Ï„Ï‰Î½ διπλωμάτων ευÏεσιτεχνίας."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Επίσης, πεÏιέχει λογισμικό από το «%s» επαναδημιουÏγημένο με επιπλέον "
+"χαÏακτηÏιστικά."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+"Αν το επιθυμείτε, εδώ μποÏείτε να ενεÏγοποιήσετε πεÏισσότεÏες πηγές "
+"λογισμικοÏ."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Αυτό το μέσο παÏέχει ενημεÏώσεις πακέτων για το μέσο «%s»"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Αναζήτηση στα ήδη εγκατεστημένα πακέτα..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Αναζήτηση πακέτων Ï€Ïος αναβάθμιση..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "ΑφαίÏεση των πακέτων, Ï€Ïιν την αναβάθμιση..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Τα παÏακάτω πακέτα θα αφαιÏεθοÏν για να αναβαθμιστεί το σÏστημά σας: %s\n"
+"\n"
+"\n"
+"Θέλετε Ï€Ïαγματικά να αφαιÏέστε αυτά τα πακέτα;\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Σφάλμα κατά την ανάγνωση του αÏχείου %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Έγινε μετονομασία των παÏακάτω δίσκων:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (η Ï€ÏοηγοÏμενη ονομασία ήταν %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Δίκτυο"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "ΠαÏακαλώ επιλέξτε ένα μέσο"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Το αÏχείο υπάÏχει ήδη. Îα αντικατασταθεί;"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ΆÏνηση αδείας"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Μη έγκυÏο όνομα NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Μη έγκυÏο μέσο %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "ΑδÏνατη η λήψη στιγμιοτÏπων Ï€Ïιν από την δημιουÏγία κατατμήσεων"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Τα στιγμιότυπα θα είναι διαθέσιμα μετά την εγκατάσταση στο %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Εγκατάσταση"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ΡÏθμιση"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "ΠÏέπει επίσης να μοÏφοποιήσετε το %s"
+
+#: 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 ""
+"Ένα μέÏος του Ï…Î»Î¹ÎºÎ¿Ï ÏƒÎ±Ï‚ χÏειάζεται «ιδιόκτητους» οδηγοÏÏ‚ για να "
+"λειτουÏγήσει.\n"
+"ΜποÏείτε να βÏείτε σχετικές πληÏοφοÏίες στο: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Εκκίνηση της διεπαφής δικτÏου"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Διακοπή της διεπαφής δικτÏου"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "ΠαÏακαλώ πεÏιμένετε, γίνεται λήψη του αÏχείου"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "αδυναμία Ï€Ïοσθήκης του μέσου"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "ΑντιγÏαφή κάποιων πακέτων στο δίσκο για μελλοντική χÏήση"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "ΑντιγÏαφή σε εξέλιξη"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "υποχÏεωτικό"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "σημαντικό"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "Ï€Î¿Î»Ï Ï‡Ïήσιμο"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "χÏήσιμο"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ίσως"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Λήψη των πληÏοφοÏιών του πακέτου από τα μεταδεδομένα XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Δεν βÏέθηκαν πληÏοφοÏίες xml για το μέσο «%s», μόνον εν μέÏει αποτελέσματα "
+"για το πακέτο %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ΧωÏίς πεÏιγÏαφή"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Κάποια πακέτα που ζητήθηκαν από το %s, δεν μποÏοÏν να εγκατασταθοÏν:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "ΠαÏουσιάστηκε ένα σφάλμα :"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "ΠαÏουσιάστηκε ένα κÏίσιμο σφάλμα: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Îα μην ξαναγίνει η εÏώτηση"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d συναλλαγές εγκατάστασης απέτυχαν"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Η εγκατάσταση των πακέτων απέτυχε :"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Σταθμός εÏγασίας"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Σταθμός εÏγασίας γÏαφείου"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ΕÏγαλεία γÏαφείου: επεξεÏγαστές κειμένου (LibreOffice Writer, Kword), "
+"λογιστικών φÏλλων (LibreOffice Calc, Kspread), Ï€Ïοβολείς pdf, κλπ"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Παιχνίδια"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"ΠÏογÏάμματα διασκέδασης: ηλεκτÏονικά παιχνίδια, επιτÏαπέζια, στÏατηγικής, κλπ"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Πολυμέσα"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "ΠÏογÏάμματα αναπαÏαγωγής και επεξεÏγασίας βίντεο και ήχου"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Διαδίκτυο"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"ΕÏγαλεία για αποστολή και λήψη αλληλογÏαφίας και ειδήσεων (mutt, tin...) και "
+"για πεÏιήγηση στο διαδίκτυο"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Υπολογιστής δικτÏου (πελάτης)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Πελάτες για διαφοÏετικά Ï€Ïωτόκολλα συμπεÏιλαμβανομένου του ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ΕÏγαλεία για διευκόλυνση της ÏÏθμισης του υπολογιστή σας"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "ΕÏγαλεία τεÏματικοÏ"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ΕπεξεÏγαστές, κελÏφη, εÏγαλεία αÏχείων, τεÏματικά"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Ανάπτυξη"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Βιβλιοθήκες ανάπτυξης C και C++, Ï€ÏογÏάμματα και αÏχεία ενσωμάτωσης"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ΤεκμηÏίωση"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Βιβλία και οδηγίες για το Linux και το ελεÏθεÏο λογισμικό"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "«Linux Standard Base». ΥποστήÏιξη εφαÏμογών Ï„Ïίτων"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "ΕξυπηÏετητής ιστοÏ"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Λογισμικό συνεÏγασίας"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "ΕξυπηÏετητής Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Τείχος Ï€Ïοστασίας/ΔÏομολογητής"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "ΠÏλη διαδικτÏου"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "ΑλληλογÏαφία/Ειδήσεις"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix εξυπηÏετητής ταχυδÏομείου, εξυπηÏετητής ειδήσεων Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ΕξυπηÏετητής καταλόγων"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "ΕξυπηÏετητής FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ΕξυπηÏετητής ονομάτων τομέα και πληÏοφοÏιών δικτÏου"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ΕξυπηÏετητής κοινής χÏήσης αÏχείων και εκτυπωτών"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "ΕξυπηÏετητής NFS, εξυπηÏετητής Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Βάση δεδομένων"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "ΕξυπηÏετητής βάσης δεδομένων PostgreSQL και MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Ιστός/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "ΑλληλογÏαφία"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "ΕξυπηÏετητής αλληλογÏαφίας Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "ΕξυπηÏετητής βάσης δεδομένων PostgreSQL ή MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "ΕξυπηÏετητής υπολογιστών δικτÏου"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+"ΕξυπηÏετητής NFS, εξυπηÏετητής SMB, εξυπηÏετητής Proxy, εξυπηÏετητής ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "ΓÏαφικό πεÏιβάλλον"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Σταθμός εÏγασίας Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Το βασικό πεÏιβάλλον εÏγασίας KDE με μια συλλογή συνοδευτικών εÏγαλείων"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Σταθμός ΕÏγασίας Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Ένα γÏαφικό πεÏιβάλλον με φιλικά εÏγαλεία και εφαÏμογές"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Σταθμός εÏγασίας Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr "Ένα ελαφÏÏ Î³Ïαφικό πεÏιβάλλον με φιλικά εÏγαλεία και εφαÏμογές"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Σταθμός ΕÏγασίας MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Σταθμός εÏγασίας Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "ΓÏαφικό πεÏιβάλλον βασισμένο στο GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "ΠεÏιβάλλον εÏγασίας LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Μια νέας γενιάς μεταφοÏά σε Qt του ελαφÏÎ¹Î¿Ï Î³ÏÎ±Ï†Î¹ÎºÎ¿Ï Ï€ÎµÏιβάλλοντος"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Επιφάνεια εÏγασίας Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Ένα ελαφÏÏ & γÏήγοÏο γÏαφικό πεÏιβάλλον με αφοσιωμένους οπαδοÏÏ‚ "
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "ΠεÏιβάλλον εÏγασίας LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Ένα ελαφÏÏ ÎºÎ±Î¹ γÏήγοÏο γÏαφικό πεÏιβάλλον"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Άλλα γÏαφικά πεÏιβάλλοντα"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, κλπ"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ΕÏγαλεία"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "ΕξυπηÏετητής SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin εξυπηÏετητής απομακÏυσμένης ÏÏθμισης"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ΕÏγαλεία δικτÏου/εποπτεία δικτÏου"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ΕÏγαλεία εποπτείας, απολογισμός διεÏγασιών, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Οδηγοί Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Οδηγοί για τη ÏÏθμιση του εξυπηÏετητή"
+
+#: 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 ""
+"ΠαÏουσιάστηκε ένα σφάλμα, αλλά δεν ξέÏω πώς να το χειÏιστώ.\n"
+"Συνεχίστε με δική σας ευθÏνη."
+
+#: steps.pm:469
+#, 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 ""
+"ΜεÏικά σημαντικά πακέτα δεν εγκαταστάθηκαν σωστά.\n"
+"Ο οδηγός CD ή το CD είναι ελαττωματικό.\n"
+"Ελέγξτε το CD σε ένα εγκατεστημένο σÏστημα χÏησιμοποιώντας \" rpm -qpl media/"
+"main/*.rpm \"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Εκκίνηση του βήματος «%s»\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Εγκατάσταση της %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> Αλλαγή πεδίου"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+"Ο εξυπηÏετητής Xorg χÏειάζεται χÏόνο για να ξεκινήσει. ΠαÏακαλώ πεÏιμένετε..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Το σÏστημά σας διαθέτει πεÏιοÏισμένους πόÏους. Ίσως συναντήσετε Ï€Ïοβλήματα\n"
+"κατά την εγκατάσταση της %s. Αν συμβεί αυτό, μποÏείτε να Ï€Ïοσπαθήσετε\n"
+"την εγκατάσταση σε λειτουÏγία κειμένου. Για να το Ï€Ïαγματοποιήσετε, πατήστε "
+"«F1»\n"
+"κατά την εκκίνηση του CD-ROM και εισάγετε «text»."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Επιλογή μέσων"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Εγκατάσταση του πεÏιβάλλοντος Plasma της %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Εγκατάσταση του πεÏιβάλλοντος GNOME της %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "ΠÏοσαÏμοσμένη εγκατάσταση"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Επιφάνειας εÏγασίας Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "ΠεÏιβάλλον εÏγασίας GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "ΠÏοσαÏμοσμένο πεÏιβάλλον εÏγασίας"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Αυτή είναι μια Ï€Ïοεπισκόπηση του πεÏιβάλλοντος εÏγασίας «%s»."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Κάντε κλικ στις εικόνες, για να δείτε μια μεγαλÏτεÏη Ï€Ïοεπισκόπηση"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Επιλογή ομάδων πακέτων"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Επιλογή μεμονωμένων πακέτων"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Αποεπιλογή όλων"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Συνολικό μέγεθος: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Έκδοση: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Μέγεθος: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Σπουδαιότητα: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Δεν είναι δυνατή η επιλογή/αποεπιλογή του συγκεκÏιμένου πακέτου"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "λόγω έλλειψης του %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "λόγω μη ικανοποίησης του %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Ï€Ïοσπάθεια Ï€Ïοώθησης του %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "για να κÏατηθεί το %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Δεν μποÏείτε να επιλέξετε αυτό το πακέτο διότι δεν υπάÏχει αÏκετός ελεÏθεÏος "
+"χώÏος για να το εγκαταστήσετε."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Θα εγκατασταθοÏν τα παÏακάτω πακέτα"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Θα αφαιÏεθοÏν τα παÏακάτω πακέτα "
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Αυτό το πακέτο είναι απαÏαίτητο, δεν μποÏεί να αποεπιλεγεί"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Δεν μποÏείτε να αποεπιλέξετε αυτό το πακέτο. Είναι ήδη εγκατεστημένο"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Δεν μποÏείτε να αποεπιλέξετε αυτό το πακέτο. ΠÏέπει να αναβαθμιστεί"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Εμφάνιση των επιλεγμένων πακέτων αυτόματα"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Εγκατάσταση"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "ΦόÏτωση/αποθήκευση της επιλογής"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ΕνημέÏωση της επιλογής των πακέτων"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Εναλλαγή Î¼ÎµÏ„Î±Î¾Ï Î¹ÎµÏαÏÏ‡Î¹ÎºÎ¿Ï ÎºÎ±Î¹ επίπεδου κατάστιχου πακέτων"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Ελάχιστη εγκατάσταση"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ΔιαχείÏιση λογισμικοÏ"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Επιλέξτε τα πακέτα που θέλετε να εγκαταστήσετε"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Εγκατάσταση"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ΧωÏίς λεπτομέÏειες"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Εναπομένων χÏόνος:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(εκτίμηση...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d πακέτο"
+msgstr[1] "%d πακέτα"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ΣÏνοψη"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ΡÏθμιση"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "δεν Ïυθμίστηκε"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Î’Ïέθηκαν τα ακόλουθα μέσα εγκατάστασης.\n"
+"Αν θέλετε να παÏαλείψετε κάποια από αυτά, μποÏείτε να τα αποεπιλέξετε τώÏα."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Έχετε την δυνατότητα να αντιγÏάψετε το πεÏιεχόμενο των CD στο σκληÏÏŒ δίσκο "
+"Ï€Ïιν την εγκατάσταση.\n"
+"Αυτή θα συνεχιστεί από τον σκληÏÏŒ δίσκο και τα πακέτα θα παÏαμείνουν "
+"διαθέσιμα και μετά το τέλος της."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "ΑντιγÏαφή ολόκληÏων των CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "ΠαÏουσιάστηκε ένα σφάλμα "
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "ΠαÏακαλώ επιλέξτε τη διάταξη του πληκτÏολογίου σας"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Αυτή είναι η πλήÏης λίστα με τα διαθέσιμα πληκτÏολόγια:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Εγκατάσταση/αναβάθμιση"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Επιθυμείτε να κάνετε μια εγκατάσταση ή αναβάθμιση;"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Εγκατάσταση"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Αναβάθμιση της %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Κλειδί κÏυπτογÏάφησης για το %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "ΑκÏÏωση της εγκατάστασης, επανεκκίνηση του συστήματος"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Îέα εγκατάσταση"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Αναβάθμιση της Ï€ÏοηγοÏμενης εγκατάστασης (δεν συστήνεται)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Ο εγκαταστάτης εντόπισε ότι το εγκατεστημένο σας σÏστημα Mageia Linux δεν "
+"μποÏεί\n"
+"να αναβαθμιστεί με ασφάλεια σε %s.\n"
+"\n"
+"Συνιστάται να αντικαταστήσετε την εγκατάστασή σας με μια νέα.\n"
+"\n"
+"ΠÏοσοχή: θα Ï€Ïέπει να πάÏετε αντίγÏαφα ασφαλείας όλων των Ï€Ïοσωπικών σας "
+"δεδομένων Ï€Ïιν επιλέξετε\n"
+"«Îέα εγκατάσταση»."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "ΔιαμόÏφωση του CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Αλλάξτε το Cd-Rom!\n"
+"ΠαÏακαλώ εισαγάγετε το Cd-Rom με όνομα «%s» στον οδηγό σας και πατήστε "
+"«Εντάξει».\n"
+"Εάν δεν το έχετε, πατήστε «ΑκÏÏωση» για αποφυγή της εγκατάστασης από αυτό το "
+"Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Αναζήτηση για διαθέσιμα πακέτα..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Το σÏστημά σας δεν έχει αÏκετό ελεÏθεÏο χώÏο για την εγκατάσταση ή την "
+"αναβάθμιση (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"ΠαÏακαλώ, επέλεξε τη φόÏτωση ή την αποθήκευση της λίστας με τα επιλεγμένα "
+"πακέτα.\n"
+"Η μοÏφή είναι η ίδια με αυτή της αυτόματης εγκατάστασης (auto_install)."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "ΦόÏτωση"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Αποθήκευση"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Μη έγκυÏο αÏχείο"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Επιλογή πεÏιβάλλοντος εÏγασίας"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+"ΜποÏείτε να επιλέξετε το Ï€Ïοφίλ για το πεÏιβάλλον εÏγασίας του υπολογιστή "
+"σας."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Το επιλεγμένο μέγεθος είναι μεγαλÏτεÏο από το διαθέσιμο χώÏο"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "ΤÏπος εγκατάστασης"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Δεν έχετε επιλέξει κάποια ομάδα πακέτων.\n"
+"ΠαÏακαλώ επιλέξτε την ελάχιστη εγκατάσταση που επιθυμείτε:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Με Χ"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Εγκατάσταση των Ï€Ïοτεινόμενων πακέτων"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Με την βασική τεκμηÏίωση (συνιστάται!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ΠÏαγματικά ελάχιστη εγκατάσταση (ειδικά χωÏίς urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "ΠÏοετοιμασία της αναβάθμισης..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ΠÏοετοιμασία της εγκατάστασης"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Εγκατάσταση του πακέτου %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ΠαÏουσιάστηκε σφάλμα κατά την ταξινόμηση των πακέτων:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Îα συνεχίσω;"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "ΠÏοσπάθεια ξανά"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ΠαÏάλειψη Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πακέτου"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "ΠαÏάλειψη όλων των πακέτων από το μέσο «%s»"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "ΕπιστÏοφή στην επιλογή μέσων και πακέτων"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "ΠαÏουσιάστηκε σφάλμα κατά την εγκατάσταση του πακέτου %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ρυθμίσεις μετά την εγκατάσταση"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"ΠαÏακαλώ σιγουÏευτείτε ότι το μέσο ενημέÏωσης των αÏθÏωμάτων (modules) είναι "
+"μέσα στον οδηγό %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ΕνημεÏώσεις"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+"Σε αυτό το βήμα σας δίδεται η δυνατότητα να Ï€Ïοσθέσετε μέσα από το διαδίκτυο."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Αυτό επιτÏέπει την εγκατάσταση των ενημεÏώσεων ασφαλείας."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Για την Ï€Ïοσθήκη αυτών των μέσων, απαιτείται μια ενεÏγή σÏνδεση\n"
+"στο διαδίκτυο.\n"
+"\n"
+"Επιθυμείτε την Ï€Ïοσθήκη των μέσων ενημέÏωσης;"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "ΑδÏνατη η εγκατάσταση του Ï€ÏογÏάμματος λήψης"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "ΠÏοσπάθεια ξανά;"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Αποτυχία κατά την Ï€Ïοσθήκη του μέσου"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"ΤώÏα έχετε την ευκαιÏία να κάνετε λήψη ενημεÏωμένων πακέτων.\n"
+"Αυτά τα πακέτα έχουν ενημεÏωθεί μετά την έκδοση της διανομής. ΜποÏεί να\n"
+"πεÏιέχουν διοÏθώσεις σφαλμάτων ή ενημεÏώσεις ασφαλείας.\n"
+"\n"
+"Για να κάνετε λήψη αυτών των πακέτων Ï€Ïέπει να έχετε ενεÏγοποιημένη\n"
+"τη σÏνδεση με το διαδίκτυο.\n"
+"\n"
+"Θέλετε να εγκαταστήσετε τις ενημεÏώσεις ;"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s σε %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Υλικό"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ΚάÏτα ήχου"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ΓÏαφικό πεÏιβάλλον"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Δίκτυο & Διαδίκτυο"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Διαμεσολαβητές"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "Ïυθμισμένο"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Επίπεδο ασφαλείας"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Τείχος Ï€Ïοστασίας"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ενεÏγοποιημένο"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "απενεÏγοποιημένο"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Δεν έχετε Ïυθμίσει τον Χ. Είστε σίγουÏος/η ότι θέλετε Ï€Ïαγματικά αυτό;"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "ΠÏοετοιμασία του αÏÏ‡Î¹ÎºÎ¿Ï Ï€ÏογÏάμματος εκκίνησης..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "ΠαÏακαλώ πεÏιμένετε, η διαδικασία μποÏεί να διαÏκέσει μεÏικά λεπτά ..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Σε αυτό το επίπεδο ασφαλείας, μόνο ο διαχειÏιστής έχει Ï€Ïόσβαση στα αÏχεία "
+"στην κατάτμηση των Windows."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Εισάγετε μια άδεια δισκέτα στον οδηγό %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ΔημιουÏγία δισκέτας αυτόματης εγκατάστασης..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ΜεÏικά βήματα δεν ολοκληÏώθηκαν.\n"
+"\n"
+"Θέλετε σίγουÏα να εγκαταλείψετε τώÏα;"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ΣυγχαÏητήÏια"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Επανεκκίνηση"
+
+#. -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 "Γλώσσα"
+
+#: 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 "Άδεια χÏήσης"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ποντίκι"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Ανίχνευση σκληÏών δίσκων"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Κλάση εγκατάστασης"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ΠληκτÏολόγιο"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Ασφάλεια"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ΔιαμεÏισμός"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "ΜοÏφοποίηση "
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Επιλογή πακέτων"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Εγκατάσταση"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ΧÏήστες"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Εκκίνηση"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "ΡÏθμιση του Χ"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ΣÏνοψη"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "ΥπηÏεσίες"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ΕνημεÏώσεις"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Έξοδος"
diff --git a/perl-install/install/share/po/eo.po b/perl-install/install/share/po/eo.po
new file mode 100644
index 000000000..3ce0f3461
--- /dev/null
+++ b/perl-install/install/share/po/eo.po
@@ -0,0 +1,1699 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000
+# Vilhelmo Lutermano <vlutermano@free.fr>, 2007
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Esperanto (http://www.transifex.com/MageiaLinux/mageia/"
+"language/eo/)\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ĉu vi havas plian kroman datenportilon?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"La sekva datenportilo estas trovita kaj estas uzota dum instalado: %s.\n"
+"\n"
+"\n"
+"Ĉu vi havas kroman instalan datenportilon por konfiguri? "
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Reto (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Reto (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Reto (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-agordo"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Bonvole enigu la nomon kaj dosierujon de via NSF-datenportilo"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Nomo mankas"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Dosierujo devas komenci per \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nomo de la NFS surmeto?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Dosierujo"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Kroma"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Mi ne trovas pakaĵlistan dosieron sur tiu spegulo. CertiÄu ke la adreso "
+"estas Äusta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Rigardante jam instalitajn pakaĵojn..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Trovadas pakaĵojn por promocii"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Mi forigas pakaĵojn antaÅ­ ol Äisdatigi..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Sekvaj pakaĵoj estos forigitaj por ebligi Äisdatigon de via sistemo: %s\n"
+"\n"
+"\n"
+"Ĉu vi vere deziras forigi tiujn pakaĵojn?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "La sekva(j) disko(j) estas alinomitaj:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (antaÅ­e nomitaj kiel %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Reto"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Bonvole elektu datenportilon"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Dosiero jam ekzistas. Ĉu surskribi Äin?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permeso rifuzita"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "MalÄusta NFS-nomo"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Malbona datenportilo %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Mi ne povas fari ekranfotojn antaÅ­ ol subdiskigi"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekranfotoj haveblos post instalado en %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalado"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurado"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Vi devas ankaÅ­ formati %s"
+
+#: 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 ""
+"Iuj aparatoj sur via komputilo bezonas \"proprietajn\" pelilojn por "
+"funkcii.\n"
+"Vi povas trovi iun informon pri ili ĉe: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Startado de la reto"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Haltas de la reto"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Mi kopias kelkajn pakaĵojn sur diskoj por estonta uzo"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Mi estas kopianta"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "havenda"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "grava(j)"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "tre agrabla(j)"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "agrabla(j)"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "elbe"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Nenia xml-informo por aŭdvidaĵo \"%s\", nur parta rezulto por pakaĵo %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nenia priskribo"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Kelkaj pakaĵoj bezonataj de %s ne instaleblas:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Eraro okazis:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Okazis fatala eraro: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d instal-transakcioj malsukcesis"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Laborstacio"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Oficeja laborstacio"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Oficejaj programoj: tekstiloj (LibreOffice Writer, Verkilo [Kword]), "
+"tabelkalkuliloj (LibreOffice Calc, Kspread), PDF-vidigiloj, ktp."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Ludstacio"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Amuz-programoj: arcade, tabuloj [boards], strategio, ktp."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Plurmediaj stacio"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programoj por ludi/prilabori son- kaj video-programojn"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Interreta stacio"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Agordiloj por legi kaj sendi retpoÅt-mesaÄojn kaj novaĵojn (mutt, tin...) "
+"kaj por krozi tra la ttt"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Reta computilo (kliento)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klientoj por diversaj protokoloj inklude de ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Iloj por faciligi la konfiguradon de via komputilo"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoliloj"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktiloj, Åeloj, dosieriloj, terminaloj"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Programado"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C kaj C++ programadaj bibliotekoj, programoj kaj ĉapdosieroj"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaro"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libroj kaj Kielfari pri Linukso kaj libera programaro"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Subteno por triaflankaj aplikaĵoj"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Interret-servilo"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grupa programaro"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Servilo"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "FajroÅirmilo/enkursigilo"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Interreta kluzo"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "PoÅto/Novaĵoj"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix poÅta servilo, Inn novaĵaj servilo"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Dosierujo-servilo"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Servilo"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domajn-noma kaj ret-informa servilo"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Dosier- kaj printil-kundivida servilo"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS servilo, Samba servilo"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Datumbazoj"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Datenbaz-serviloj PostgreSQL kaj MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "TTT/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "PoÅto"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poÅta servilo"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Datenbaz-servilo PostgreSQL aÅ­ MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Reta computilo (servilo)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-servilo, SMB-servilo, prokur-servilo, ssh-servilo"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafika medio"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "La tabula medio K, la baza grafika medio kun kolekto da akompanaj iloj"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnoma Laborstacio"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Grafika medio kun uzfacila aplikaĵaro kaj tabul-iloj"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Aliaj grafikaj labortabuloj"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Iloj"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH servilo"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servilo de fora konfigurado Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Retaj utilaĵoj/monitorado"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Monitoriloj, proces-kalkuliloj, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Sorĉiloj de Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Sorĉiloj por konfiguri servilon"
+
+#: 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 ""
+"Eraro okazis, sed mi ne scias kiel trakti Äin bone.\n"
+"DaÅ­ri je via propra risko."
+
+#: steps.pm:469
+#, 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 ""
+"Iuj gravaj pakaĵoj ne estis taŭge instalata.\n"
+"AÅ­ via KDROM drajvo aÅ­ via KDROM disko estas difektita.\n"
+"Kontrolu la KDROM sur instalata komputilo per\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Eniras paÅon `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Instalado %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> inter elementoj"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Via sistemo havas malmulte da risurcoj. Eble vi havos problemojn pri\n"
+"instali %s. Se tio okazos, vi povos anstataÅ­ provi tekstan\n"
+"instaladon. Por ĉi tio, premu `F1' kiam vi startas de KDROM, kaj sekve\n"
+"tajpu `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalo de la labortablo %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Persona instalado"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Elektado de Pakaĵaj Grupoj"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Elektado de individuaj pakaĵoj"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tuta grandeco: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versio: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Grandeco: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Graveco: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Vi ne povas elektu/malelektu ĉi tiun pakaĵon"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "pro mankanta %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "pro neplenumita %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "mi provas disponigi %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "por konservi %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Vi ne povas elekti ĉi tiun pakaĵon ĉar ne estas sufiĉe da spaco por instali\n"
+"Äin."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "La sekvaj pakaĵoj estos instalataj"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "La sekvaj pakaĵoj estos malinstalataj"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ĉi tiu estas deviga pakaĵo, vi ne povas malelekti Äin"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Vi ne povas malelekti ĉi tiun pakaĵon. Ĝi estas jam instalita."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Vi ne povas malelekti ĉi tiun pakaĵon. Ĝi devus esti promociata."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Montru aŭtomate elektitajn pakaĵojn"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalu"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Åœargi/Konservi selekton"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ĝisdatigo de pakaĵ-elekto"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimuma instalado"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programar-mastrumilo"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Elektu la pakaĵojn kiuj vi deziras instali"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalanta"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Neniaj detaloj"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakaĵo"
+msgstr[1] "%d pakaĵoj"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resumo"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfiguru"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ne konfigurita"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"La sekva instal-datenportilo(j) estas trovita(j).\n"
+"Se vi deziras transsalti kelkajn de ili, vi povas tiujn nun malselekti."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Vi havas la opcion kopii la enhavojn de la KD-oj sur la fiksdiskon antaÅ­ la "
+"instalado.\n"
+"Tiam la instalado daŭrigas el la fiksdisko kaj la pakaĵoj restos atingeblaj "
+"post kiam la sistemo estos plene instalita."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopii kompletajn KD-ojn"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Eraro okazis"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Bonvole elektu vian klavar-aranÄon"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalado/Äœisdatigo"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ĉu tiu ĉi estas instalado aÅ­ Äisdatigo?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalado"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Äœisdatigu %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "ĈifroÅlosilo por %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"ÅœanÄu vian KDROM!\n"
+"\n"
+"Bonvole, enÅovu la KDROM-on etikedatan \"%s\" en via drajvo kaj klaku \"Jes"
+"\"\n"
+"kiam vi finos.\n"
+"Se vi ne havas Äin, klaku \"Nuligu\" por eviti la instaladon de ĉi tiu KDROM."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Serĉas haveblajn pakaĵojn"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Via sistemo ne havas sufiĉe da spaco libera por instalado aÅ­ Äisdatigo (%dMB "
+"> %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Bonvole elektu Åargi aÅ­ konservi pakaĵ-elekton.\n"
+" La formato estas la sama kiel dosieroj generitaj per auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Åœargu"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Konservu"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Malbona dosiero"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Grafika medio"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Elektita grandeco estas pli ampleksa ol disponebla spaco"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Instaltipo"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vi ne elektis pakaĵgrupon.\n"
+"Bonvole elektu la minimuman instaladon kiun vi deziras:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Kun X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Kun baza dokumentaĵo (rekomendita!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Vere minimuma instalado (precipe ne urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparas instaladon"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalanta pakaĵo %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Estis eraro ordigi pakaĵojn:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ĉu vi deziras daŭri tamen?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Reprovu"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Transsalti tiun pakaĵon"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Transsalti ĉiujn pakaĵojn de la datenportilo \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Reiru al la datenportilo kaj pakaĵ-selekto"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Estis eraro dum instalado de pakaĵo %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-instala konfigurado"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Bonvole certiÄu ke la datenportilo por Äisdatigaj moduloj troviÄas en la "
+"aparato %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Äœisdatigoj"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "La sekvaj pakaĵoj estos instalataj"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Paneo ĉe aldono de portilo"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Vi havas nun la eblecon deÅuti Äisdatigitajn pakaĵojn. Tiuj pakaĵoj\n"
+"estas Äisdatigitaj post eldonado de tiu ĉi eldono. Ili povas\n"
+"enteni sekureco- aÅ­ eraro-riparojn.\n"
+"\n"
+"Por deÅuti tiujn pakaĵojn, vi bezonas funkciantan Interret-\n"
+"konekton.\n"
+"\n"
+"Ĉu vi deziras instali tiujn Äisdatigojn?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s sur %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Aparataro"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Sonkarto"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafika interfaco"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Reto kaj Interreto"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Prokuraj Serviloj"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfigurita"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "sekurnivelo"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Fajromuro (Firewall)"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiva"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "malebligita"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Vi ne konfiguris X-on. Ĉu vi certas vere voli tion?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Sur tiu ĉi sekurec-nivelo, la aliro al dosieroj en la Vindozaj subdiskoj "
+"estas limigitaj al la mastrumanto."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "EnÅovu malplenan disketon en drajvo %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kreas aÅ­toinstalan disketon"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Kelkaj paÅoj ne finiÄis.\n"
+"\n"
+"Ĉu vi vere volas ĉesi nun?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulojn"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Restarto"
+
+#. -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 "Elektu vian lingvon"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokaligo"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenco"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muso"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detektado de fiksdisko(j)"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instal-klaso"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klavaro"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sekureco"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Subdiskigante"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Mi formatas"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Mi elektas pakaĵojn"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalanta"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uzuloj"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "StartÅargilo"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguru X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumo"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servoj"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Äœisdatigoj"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Eliro"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL de la spegulo?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL devas komenci per ftp:// aÅ­ http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Mi kontaktas la %s Linuksan retpaÄon por havigi la liston de disponeblaj "
+#~ "speguloj..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Mi malsukcesis kontakti la %s Linuksan retpaÄon por havigi la liston de "
+#~ "disponeblaj speguloj..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Elektu spegulon de kiu havigi la pakaĵojn"
diff --git a/perl-install/install/share/po/es.po b/perl-install/install/share/po/es.po
new file mode 100644
index 000000000..9df789aa3
--- /dev/null
+++ b/perl-install/install/share/po/es.po
@@ -0,0 +1,1752 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Miguel, 2013,2015-2016
+# Egoitz Rodriguez <egoitzro@gmail.com>, 2014-2015
+# José Alberto Valle Cid <j.alberto.vc@gmail.com>, 2019-2020,2022
+# Jose Manuel López <joselp@e.email>, 2020
+# Miguel, 2019
+# Miguel Ortega, 2013,2016
+# Miguel, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: José Alberto Valle Cid <j.alberto.vc@gmail.com>, "
+"2019-2020,2022\n"
+"Language-Team: Spanish (http://app.transifex.com/MageiaLinux/mageia/language/"
+"es/)\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? "
+"1 : 2;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "¡Únasenos!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "¡Personalícela!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "¡Su elección!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Herramientas de oficina"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Entretenimiento de hogar"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Para niños"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "¡Para la familia!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "¡Para desarrolladores!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "¡Gracias!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "¡Sea libre!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "¿Tiene usted otros medios complementarios?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Se han encontrado los siguientes medios y serán utilizados durante la "
+"instalación: %s.\n"
+"\n"
+"\n"
+"¿Tiene otro medio de instalación complementario que configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Red (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Red (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Red (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuración NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Por favor, introduzca el nombre de equipo y directorio de su medio NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Falta nombre de equipo"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "El directorio debe comenzar con \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "¿Cuál es el nombre de equipo del montaje NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directorio"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Complementario"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"No se puede encontrar un archivo de lista de paquetes en este espejo. "
+"Asegúrese de que la ubicación sea la correcta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Hardware de su máquina necesita de firmware no libre para que los "
+"controladores de software libre funcionen."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Debería habilitar \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" contiene varias piezas de los sistemas y sus aplicaciones"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" contiene software no libre.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"También contiene firmware necesario para ciertos dispositivos puedan operar "
+"(ej: algunas tarjetas gráficas ATI/AMD, algunas tarjetas de red, algunas "
+"tarjetas RAID, etc)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" contiene software que no puede ser distribuido en todos los países "
+"debido a patentes de software."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"También contiene software de \"%s\" reconstruido con capacidades adicionales."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Aquí puede habilitar mas medios si así lo desea."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Este medio provee actualizaciones de paquetes para el medio \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Buscando paquetes ya instalados..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Encontrando los paquetes a actualizar..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Eliminación de los paquetes antes de la actualización..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Los siguientes paquetes serán removidos para permitir la actualización de su "
+"sistema: %s\n"
+"\n"
+"\n"
+"¿Está seguro de que quiere eliminar estos paquetes?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Error al leer el archivo %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "El o los siguientes discos fueron renombrados:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (antes conocido como %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Red"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Por favor, elija un medio"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "El archivo ya existe. ¿Sobrescribirlo?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nombre NFS erróneo"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Medio erróneo %s "
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "No se puede hacer capturas de pantalla antes de particionar"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Las capturas de pantallas estarán disponibles después de la instalación en %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalación"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuración"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "También debe formatear %s"
+
+#: 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 ""
+"Algún hardware de su equipo necesita controladores ``propietarios\" para "
+"trabajar.\n"
+"Puede encontrar más información sobre ellos en: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Activando la red"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Desactivando la red"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Por favor espere, recuperando archivo"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "no se puede agregar medio"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copiar algunos paquetes en disco para su uso futuro"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copia en curso"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "debe tener"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "muy agradable"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "agradable"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "tal vez"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Obteniendo información de paquete desde meta datos XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"No hay información xml para el medio \"%s\", sólo un resultado parcial para "
+"el paquete %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Sin descripción"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Algunos paquetes requeridos por %s no se pueden instalar:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Se produjo un error:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ocurrió un error fatal: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "No preguntar de nuevo"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Fallaron %d operaciones de instalación"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Falló la instalación de paquetes:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estación de trabajo"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Estación de trabajo de oficina"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de oficina: procesadores de texto (LibreOffice Writer, Kword), "
+"hojas de cálculo (LibreOffice Calc, Kspread), visores PDF, etc."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Estación de juegos"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de diversión: arcade, tableros, estrategia, etc."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Estación Multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de reproducción y edición de sonido y video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Estación de Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de herramientas para leer y enviar correo y noticias (mutt, tin, "
+"etc) y para navegar por la Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computador de red (cliente)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos, incluyendo ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Herramientas para facilitar la configuración de su computador"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Herramientas de consola"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, consolas, herramientas de archivo, terminales"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desarrollo"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibliotecas de C y C + +, programas y archivos de inclusión"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentación"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libros y Howtos sobre Linux y Software Libre"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Base estándar de Linux. Soporte de aplicaciones de terceros"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Cortafuegos/Enrutador"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Puerta de enlace de Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Correo/Noticias"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correo Postfix, Servidor de noticias Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de directorio"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nombre de dominio y Servidor de Información de Red"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de compartición de archivos e impresoras"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Bases de datos"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servidor de bases de datos PostgreSQL y MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Correo"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correo Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servidor de bases de datos PostgreSQL o MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor de computador de red"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "servidor NFS, servidor SMB, servidor proxy, servidor ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Entorno gráfico"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Estación de trabajo Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"El entorno de escritorio K, el entorno gráfico básico con una colección de "
+"herramientas que lo acompañan"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estación de trabajo GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un entorno gráfico con un conjunto de aplicaciones y herramientas de "
+"escritorio amigables con el usuario"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Estación de trabajo Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Un entorno gráfico ligero con un conjunto de aplicaciones y herramientas de "
+"escritorio amigables con el usuario"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Estación de trabajo MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Estación de trabajo Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Un entorno gráfico basado en GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Escritorio LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"Un puerto QT de siguiente generación del entorno de escritorio lightweight"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Escritorio Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Un entorno gráfico rápido y liviando con un seguimiento dedicado"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Escritorio LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un entorno gráfico ligero"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Otros escritorios gráficos"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuración Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilidades y monitoreo de red"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Herramientas de supervisión, contabilidad de procesos, tcpdump, nmap, etc."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Asistentes de Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Asistentes para configurar el servidor"
+
+#: 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 ""
+"Se produjo un error, pero no sé manejarlo adecuadamente .\n"
+"Continúe bajo su propio riesgo."
+
+#: steps.pm:469
+#, 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 ""
+"Algunos paquetes importantes no se instalaron correctamente.\n"
+"Puede ser que su unidad de CD-ROM o su disco CD-ROM está defectuoso.\n"
+"Verifica el disco CD-ROM en un equipo instalado con \"rpm -qpl media/main/*."
+"rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Entrando al paso `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Instalación %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre los elementos"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "El servidor Xorg demora en iniciar. Por favor espere..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"El sistema está bajo en recursos. Es posible que tenga algún problema "
+"instalando\n"
+"%s. Si eso ocurre, puede tratar de una instalación en modo texto. Para "
+"ello,\n"
+"presione 'F1' cuando arranque desde el CD-ROM, luego escriba `texto'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Selección de medios"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalar Escritorio Plasma %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalar escritorio GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalación personalizada"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Escritorio Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Escritorio GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Escritorio personalizado"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Aquí hay una vista previa del escritorio '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Haga clic en las imágenes para ver una vista previa más grande"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selección de Grupo de paquetes"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selección individual de paquetes"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deseleccionar todas."
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamaño total: %d/%d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versión: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamaño: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importancia: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "No se puede seleccionar/des-seleccionar este paquete"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "debido a que falta %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "debido a que no se satisfizo %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "tratando de promover %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "para mantener %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No se puede seleccionar el paquete ya que no hay suficiente espacio para "
+"instalarlo"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Los siguientes paquetes se van a instalar"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Los siguientes paquetes se van a quitar"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Este es un paquete obligatorio, no puede ser des-seleccionado"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "No se puede des-seleccionar este paquete. Ya está instalado"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "No se puede des-seleccionar este paquete. Debe ser actualizado"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar los paquetes seleccionados automáticamente"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Cargar/Guardar selección"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizando la selección de paquetes"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Alternar entre la lista de paquete jerárquica y plana"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalación mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Administración de Software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Seleccione los paquetes que desea instalar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sin detalles"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tiempo restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(Estimando...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquete"
+msgstr[1] "%d paquetes"
+msgstr[2] "%d paquetes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resumen"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "no configurado"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Se han encontrado los siguientes medios de instalación.\n"
+"Si desea omitir algunos de ellos, puede desseleccionar algunos ahora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Usted tiene la opción de copiar el contenido de los CDs a la unidad de disco "
+"duro antes de la instalación.\n"
+"Se continuará desde la unidad de disco duro y los paquetes estarán "
+"disponibles una vez que el sistema esté completamente instalado."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar todos los CDs"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Se produjo un error"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Por favor, elija la distribución del teclado"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Aquí está la lista completa de los teclados disponibles:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Actualizar"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "¿Es esta una instalación o una actualización?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+"_: Este es un sustantivo:\n"
+"Instalación"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Llave de cifrado para %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancele la instalación, reinicie el sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nueva instalación"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Actualizar instalación previa (no recomendado)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalador ha detectado que su sistema Linux instalado no\n"
+"puede ser actualizado de manera segura a %s.\n"
+"\n"
+"Se recomienda una instalación nueva que sustituya a la anterior.\n"
+"\n"
+"Advertencia: debe hacer un respaldo de todos sus datos personales\n"
+"antes de elegir \"Nueva instalación\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Configurando CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"¡Cambiar su CD-ROM!\n"
+"Por favor inserte el CD-ROM etiquetado \"%s\" en la unidad y pulse Aceptar "
+"cuando haya terminado.\n"
+"Si no lo tiene, pulse Cancelar para evitar la instalación desde este CD-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Buscando paquetes disponibles ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Su sistema no dispone de espacio suficiente para la instalación o "
+"actualización (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Por favor, elija cargar o guardar la selección de paquetes.\n"
+"El formato es el mismo que los archivos generados por auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Cargar"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Guardar"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Archivo incorrecto"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selección de escritorio"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Usted puede elegir su perfil de escritorio de estación de trabajo."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "El tamaño seleccionado es más grande que el espacio disponible"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalación"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"No ha seleccionado ningún grupo de paquetes.\n"
+"Por favor, elija la instalación mínima que desee:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalar paquetes recomendados"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Con la documentación básica (¡recomendado!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalación realmente mínima (especialmente sin urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Preparando actualización..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando la instalación"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalando el paquete %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Se ha producido un error al ordenar los paquetes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "¿Continuar de todos modos?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Reintentar"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Saltar este paquete"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Omitir todos los paquetes del medio \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Vuelve a la selección de medios y paquetes"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Se ha producido un error al instalar el paquete %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuración post-instalación"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Por favor, asegúrese de que el medio de Módulos de Actualización está en la "
+"unidad %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Actualizaciones"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Ahora tiene la oportunidad de configurar los repositorios en internet."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Esto permite instalar actualizaciones de seguridad."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Para configurar estos repositorios, necesitará una conexión a internet que "
+"funcione.\n"
+"\n"
+"¿Desea configurar los repositorios de actualizaciones?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "No se puede instalar el gestor de descargas"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "¿Reintentar?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fallo al añadir soporte"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ahora tiene la oportunidad de descargar paquetes actualizados. Estos "
+"paquetes\n"
+"se han actualizado después de la distribución fue lanzada. Pueden contener\n"
+"correcciones de seguridad o de errores.\n"
+"\n"
+"Para descargar estos paquetes, se necesita tener una conexión a Internet "
+"activa.\n"
+"\n"
+"¿Desea instalar las actualizaciones?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s en %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Tarjeta de sonido"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaz gráfica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Redes e Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Servidores proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de seguridad"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Cortafuegos"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "deshabilitado"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No se ha configurado X. ¿Está seguro de que desea esto?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Preparando el programa de instalación inicial..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Sea paciente, esto puede tardar un tiempo..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"En este nivel de seguridad, el acceso a los archivos en la partición de "
+"Windows está restringido al administrador."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inserte un disquete en blanco en la unidad %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creando disquete de instalación automática..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Algunas pasos no se han completado.\n"
+"\n"
+"¿Está seguro que desea salir ahora?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Felicitaciones"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#. -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 ""
+"_: Keep these entry short\n"
+"Idioma"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localización"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+"_: Keep these entry short\n"
+"Licencia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+"_: Keep these entry short\n"
+"Ratón"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+"_: Keep these entry short\n"
+"Detección de disco duro"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+"_: Keep these entry short\n"
+"Clase de instalación"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+"_: Keep these entry short\n"
+"Teclado"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+"_: Keep these entry short\n"
+"Seguridad"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+"_: Keep these entry short\n"
+"Particionamiento"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+"_: Keep these entry short\n"
+"Formateo"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+"_: Keep these entry short\n"
+"Selección de paquetes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+"_: Keep these entry short\n"
+"Instalación"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+"_: Keep these entry short\n"
+"Usuarios"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+"_: Keep these entry short\n"
+"Cargador de arranque"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+"_: Keep these entry short\n"
+"Configurar X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+"_: Keep these entry short\n"
+"Resumen"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+"_: Keep these entry short\n"
+"Servicios"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+"_: Keep these entry short\n"
+"Actualizaciones"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
+"_: Keep these entry short\n"
+"Salida"
diff --git a/perl-install/install/share/po/et.po b/perl-install/install/share/po/et.po
new file mode 100644
index 000000000..89849da85
--- /dev/null
+++ b/perl-install/install/share/po/et.po
@@ -0,0 +1,1706 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Marek Laane <qiilaq69@gmail.com>, 2015
+# Marek Laane <qiilaq69@gmail.com>, 2015-2016
+# Marek Laane <qiilaq69@gmail.com>, 2018-2020
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-18 11:13+0000\n"
+"Last-Translator: Marek Laane <qiilaq69@gmail.com>\n"
+"Language-Team: Estonian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/et/)\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Ühinege meiega!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Võtke see omaks!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Teie valik!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kontoritöö vahendid"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Kodune meelelahutus"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Lastele"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Perele!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Arendajatele!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Täname Teid!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Tundke end vabalt!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Kas Teil on veel paigaldusandmekandjaid?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Leiti järgmised andmekandjad, mida kasutatakse paigaldamisel: %s.\n"
+"\n"
+"\n"
+"Kas Teil on veel paigaldusandmekandjaid?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Võrk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Võrk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Võrk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-i seadistamine"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Palun andke NFS-andmekandja masinanimi ja kataloog"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Masinanimi puudub"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Kataloogi alguses peab olema \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS-i andmekandja masinanimi?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Kataloog"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Täiendav"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Tarkvara nimekirja sisaldava faili leidmine sellelt peeglilt nurjus. "
+"Kontrollige palun asukohta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Tuumiktarkvara (core)"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Piirangutega tarkvara (tainted)"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Mittevaba tarkvara (non-free)"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Osa Teie masina riistvarast vajab mittevaba püsivara, et vaba tarkvara "
+"draiverid saaksid korralikult töötada."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Teil tuleks lubada \"%s\" kasutamine"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" sisaldab mitmesugust süsteemile vajalikku tarkvara ja rakendusi"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" sisaldab, nagu nimigi ütleb, mittevaba tarkvara.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Samuti sisaldab see püsivara, mida vajavad oma töös mõningad seadmed (nt. "
+"mõned ATI/AMD graafikakaardid, mõned võrgukaardid, mõned RAID-i kaardid jne.)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" sisaldab tarkvara, mida ei ole tarkvarapatentide tõttu võimalik "
+"kõigis riikides vabalt levitada."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Samuti sisaldab see lisaomaduste huvides ümber ehitatud \"%s\"."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Siin saab soovi korral lubada rohkemate andmekandjate kasutamist."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "See andmekandja sisaldab \"%s\" uuendusi"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Juba paigaldatud pakettide tuvastamine..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Uuendatavate pakettide otsimine..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Pakettide eemaldamine enne uuendamist..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Süsteemi uuendamiseks tuleb eemaldada järgmised paketid: %s\n"
+"\n"
+"\n"
+"Kas tõesti eemaldada need paketid?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Viga faili %s lugemisel"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Järgmistele ketastele anti uus nimi:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (varem oli %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Võrk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Palun valige andmekandja"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fail on juba olemas. Kas kirjutada see üle?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ligipääs keelatud"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Vigane NFS-i nimi"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Vigane andmekandja %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ekraanipilte ei saa teha enne partitsioneerimist"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekraanipildid asuvad pärast paigaldamist asukohas %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Paigaldamine"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Seadistamine"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Vormindada tuleb ka %s"
+
+#: 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 ""
+"Osa Teie riistvarast nõuab tarnijapoolseid draivereid.\n"
+"Infot nende kohta saate: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Võrgu aktiveerimine"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Võrgu seiskamine"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Palun oodake, tõmmatakse faili"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "andmekandja lisamine nurjus"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Mõningate tarkvarapakettide kopeerimine kettale edasiseks kasutamiseks"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Käib kopeerimine..."
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "vajalik"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "tähtis"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "väga kena"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "kena"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "võib olla"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Paketi teabe hankimine XML-metaandmetest..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Andmekandjal \"%s\" puudub XML-info, paketil %s on ainult osaline tulemus"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Kirjeldus puudub"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Mõningaid pakette, mida nõuab %s, ei saa paigaldada:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Tekkis viga:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Tekkis saatuslik viga: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Rohkem ei küsita"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d paigaldamistehingut nurjus"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Pakettide paigaldamine nurjus:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Tööjaam"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontori-tööjaam"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontoritöö programmid: tekstitöötlus (LibreOffice Writer, KWord), "
+"tabelitöötlus (LibreOffice Calc, KSpread), PDF-failide näitajad jne"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Mänguvahend"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Meelelahutus: põnevus-, laua-, strateegiamängud jne"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimeedia-tööjaam"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Heli ja video mängimine ja redigeerimine"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Interneti-tööjaam"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Valik rakendusi e-posti ja uudiste lugemiseks (mutt, tin...) ning veebi "
+"lehitsemiseks"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Võrguarvuti (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Mitme protokolli, sealhulgas ssh kliendid"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Tööriistad süsteemi lihtsamaks haldamiseks"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoolitööriistad"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktorid, shellid, terminalid, failihaldus"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Arendus"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ja C++ arendusteegid, rakendused ja päisefailid"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentatsioon"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Raamatud ja HOWTO-d Linuxi ja vabavara kohta"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Kolmandate tootjate rakenduste toetus"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Veebiserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grupitöö"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolabi server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tulemüür/marsruuter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Uudistegrupid"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfixi e-posti server, Inn uudisteserver"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Kataloogiserver"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nimeserver ja võrguteabeserver"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Faili- ja printserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Andmebaasid"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- ja MariaDB-andmebaasiserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Veeb/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache ja Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfixi e-posti server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- või MariaDB-andmebaasiserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Võrguserver"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-, SMB-, SSH-server, puhverserver (proxy)"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graafiline keskkond"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma tööjaam"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K töölaua keskkond: graafiline töökeskkond ja palju rakendusi"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME tööjaam"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Graafiline töökeskkond koos kasutajasõbralike rakendustega"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce tööjaam"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Kergemat sorti graafiline töökeskkond koos kasutajasõbralike rakendustega"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE tööjaam"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamoni tööjaam"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GNOME-l põhinev graafiline keskkond"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt töölaud"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Kergemat sorti graafilise töökeskkonna uue põlvkonna Qt-versioon"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenmenti töölaud"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Kergemat sorti kiire graafiline töökeskkond andunud kasutajaskonnaga"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE töölaud"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Kergemat sorti kiire graafiline töökeskkond"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Muud graafilised töölauad"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm jt"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utiliidid"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin võrguseadistusserver"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Võrguutiliidid ja võrgu jälgimine"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Jälgimistööriistad, protsesside jälgimine, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia nõustajad"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Serverite seadistamise nõustajad"
+
+#: 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 ""
+"Tekkis tõrge, mida programm ei suuda ise klaarida.\n"
+"Jätkake omal vastutusel."
+
+#: steps.pm:469
+#, 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 ""
+"Mõned tähtsad paketid ei saanud korralikult paika.\n"
+"Teie CD-seade või CD on ilmselt vigane.\n"
+"Paketifaile CD-l saate kontrollida käsuga \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Järgmine samm: %s\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s paigaldamine: %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> liigub elementide vahel"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorgi server käivitub aeglaselt. Palun oodake..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Teie süsteemil napib ressursse ja %s paigaldamine ei pruugi õnnestuda.\n"
+"Kui nii juhtub, proovige palun tekstipõhist paigaldamist.\n"
+"Selleks vajutage CD-lt laadimisel F1 ja sisestage \"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Andmekandjate valik"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "%s Plasma töölaua paigaldamine"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "%s GNOME töölaua paigaldamine"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Kohandatud paigaldamine"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma töölaud"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME töölaud"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Kohandatud töölaud"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Siin näeb '%s' töölaua eelvaatlust."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Suurema eelvaatluse nägemiseks klõpsake piltidel."
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketigruppide valik"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Valik paketthaaval"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Tühista kõigi valimine"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Suurus kokku: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versioon: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Suurus: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Tähtsus: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Seda paketti ei saa valida/valimata jätta"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "puuduva %s tõttu"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "rahuldamata %s tõttu"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "püüdes välja pakkuda %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "säilitamaks %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Seda paketti ei saa valida, sest paigaldamiseks napib kettaruumi"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Paigaldamiseks on valitud järgmised paketid"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Eemaldamiseks on valitud järgmised paketid"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "See pakett on kohustuslik"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "See pakett on juba paigaldatud"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Selle paketi peate valima, sest selle uuendamine on kohustuslik"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automaatselt valitud pakettide näitamine"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Paigalda"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Valiku laadimine/salvestamine"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Paketivaliku uuendamine"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Hierarhilise ja ühetasandilise paketiloendi vahel lülitamine"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimaalne paigaldus"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Tarkvarahaldur"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Valige paketid, mida soovite paigaldada"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Paigaldamine"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Üksikasjadeta"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Aega jäänud:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(arvutatakse...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakett"
+msgstr[1] "%d paketti"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Kokkuvõte"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Seadista"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "seadistamata"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Leiti järgmised paigaldusandmekandjad.\n"
+"Kui Te ei soovi mõnda neist kasutada, eemaldage need valikust."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Teil on võimalik kopeerida CD-de sisu enne paigaldamist kõvakettale.\n"
+"Seejärel jätkatakse paigaldamist kõvakettalt ning kogu tarkvara on seal "
+"kättesaadav ka pärast süsteemi paigaldamist."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopeeri kõik CD-d"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Tekkis viga"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Palun valige klaviatuuriasetus"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "See on saadaolevate klaviatuuriasetuste täielik nimekiri:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Paigaldamine/Uuendamine"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Kas see on paigaldamine või uuendamine?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Paigaldamine"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s uuendamine"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s krüptovõti"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Paigaldamisest loobumine, süsteemi taaskäivitamine"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Uus paigaldus"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Varasema paigalduse uuendamine (ei ole soovitatav)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Paigaldusprogramm leidis, et Teie olemasolevat Mageia Linuxi süsteemi\n"
+"ei saa turvaliselt uuendada versioonile %s.\n"
+"\n"
+"Soovitatav on valida uus paigaldus, mis asendab senise.\n"
+"\n"
+"Hoiatus: Te peaksite varundama kõik oma isiklikud andmed,\n"
+"enne kui valite võimaluse \"Uus paigaldus\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD seadistamine"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Vahetage CD!\n"
+"\n"
+"Palun sisestage CD nimega \"%s\" CD-seadmesse ja klõpsake nupule \"Olgu\".\n"
+"Kui Teil sellist ei ole, klõpsake nupule \"Loobu\"."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Saadaolevate pakettide otsimine..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Teie süsteemis ei jagu ruumi paigaldamiseks ega uuendamiseks (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Valige palun paketivaliku laadimine või salvestamine.\n"
+"Vorming on sama, mis automaatpaigaldusega loodud failide puhul."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Laadi"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Salvesta"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Vigane fail"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Töölaua valik"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Siin saab valida oma arvuti töölauaprofiili."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valiku suurus ületab saadaolevat kettaruumi"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Paigaldamise tüüp"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Te ei valinud ühtegi paketigruppi.\n"
+"Palun valige meelepärane minimaalne paigaldus:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X'iga"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Soovitatavate pakettide paigaldamine"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Baasdokumentatsiooniga (soovitatav!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Tõeliselt minimaalne (isegi urpmi-t ei ole)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Uuendamiseks valmistumine..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Paigaldamiseks valmistumine"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Paketi %s paigaldamine"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Pakettide tellimisel tekkis viga:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kas ikkagi jätkata?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Proovi uuesti"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Jäta pakett vahele"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Jäta kõik andmekandja \"%s\" paketid vahele"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Tagasi andmekandja ja paketivaliku juurde"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Paketi %s paigaldamisel tekkis viga."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Paigaldamisjärgne seadistamine"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Palun kontrollige, et uuenduste andmekandja on seadmes %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Uuendused"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Nüüd on Teil võimalus määrata võrguandmekandjad."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "See lubab paigaldada turbeuuendusi."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Nende andmekandjate määramiseks peab töötama\n"
+"internetiühendus.\n"
+"\n"
+"Kas soovite määrata uuendamisandmekandjad?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Paigaldamiseks on valitud järgmised paketid"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Kas proovida uuesti?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Andmekandja lisamine nurjus"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Teil on nüüd võimalus alla laadida uuendatud pakette. Need on välja lastud\n"
+"pärast Mageia distributsiooni ilmumist ja võivad sisaldada vigade\n"
+"parandusi või turbeuuendusi.\n"
+"\n"
+"Allalaadimiseks peab Teil olema töötav internetiühendus.\n"
+"\n"
+"Kas soovite uuendusi paigaldada?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s asukohas %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Riistvara"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Helikaart"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Graafiline kasutajaliides"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Kohtvõrk ja internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Puhverserverid"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "seadistatud"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Turbetase"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Tulemüür"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiveeritud"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "keelatud"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Te ei ole seadistanud X'i. Kas Te tõesti ei taha seda teha?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Alglaadimisprogrammi ettevalmistamine..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Varuge kannatust, see võib võtta veidi aega..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Sellel turbetasemel pääseb Windowsi partitsioonil asuvatele failidele ligi "
+"ainult administraator."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Pange palun tühi diskett seadmesse %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kiirpaigaldusdisketi loomine..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Mõned sammud ei ole lõpule viidud.\n"
+"\n"
+"Kas soovite tõesti praegu lõpetada ja väljuda?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Õnnitleme!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Taaskäivita"
+
+#. -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 "Keel"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokaliseerimine"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Litsents"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Hiir"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kõvaketta leidmine"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Paigaldamismeetod"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatuur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Turvalisus"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Kõvaketta jagamine"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Vormindamine"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakettide valik"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Paigaldamine"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Kasutajad"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Alglaadur"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X'i seadistamine"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kokkuvõte"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Teenused"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uuendused"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Väljumine"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Peegli URL?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL-i alguses peab seisma ftp:// või http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Ühendumine %s veebileheküljega saadaolevate peeglite nimekirja "
+#~ "hankimiseks..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Ühendumine %s veebileheküljega saadaolevate peeglite nimekirja "
+#~ "hankimiseks nurjus"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Valige peegel, millelt lugeda pakettide nimekiri"
diff --git a/perl-install/install/share/po/eu.po b/perl-install/install/share/po/eu.po
new file mode 100644
index 000000000..46abe185a
--- /dev/null
+++ b/perl-install/install/share/po/eu.po
@@ -0,0 +1,1716 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Egoitz Rodriguez <egoitzro@gmail.com>, 2014
+# Egoitz Rodriguez <egoitzro@gmail.com>, 2014
+# Egoitz Rodriguez <egoitzro@gmail.com>, 2014-2016
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004
+# Iñigo Salvador Azurmendi <xalba@euskalnet.net>, 2005-2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-18 00:30+0000\n"
+"Last-Translator: Transifex Bot <>\n"
+"Language-Team: Basque (http://www.transifex.com/MageiaLinux/mageia/language/"
+"eu/)\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Elkartu gurekin!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Zurea egin ezazu!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Zure aukera!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Bulegoko tresnak"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Etxe entretenimendua"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Umeentzat"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Familiarentzat!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Garatzaileentzat!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Eskerrik asko!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Libre izan!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Baduzu beste euskarri osagarririk?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Euskarri hauek aurkitu dira eta instalazio garaian erabiliko dira: %s. \n"
+"\n"
+"\n"
+"Badaukazu konfiguratu beharreko gainerako instalazio euskarririk?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sarea (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sarea (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sarea (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS ezarpena"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Mesedez sartu zure NFS euskarriaren ostalari izena eta direktorioa"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Ostalari izena falta da"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktorioa honekin \"/\" hasi behar da"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS muntaiaren ostalari izena?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktorioa"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Osagarria"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ezin aurkitu hdlist fitxategia ispilu honetan"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Zure makinako hardwareren batek firmwares ez libre batzuk behar ditu lan "
+"egiteko software gidari libreen ordez."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "\"%s\" gaitu dezakezu"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "sistemak eta bere aplikazioak askotariko \"%s\" piezak dauzka"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "%s\"-k software ez librea dauka.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Nolabaiteko tresnek maneiatu behar izandako firmwareak dauzka (adib.: ATI/"
+"AMD-etako grafikoko txartel batzuk, sare-txartel batzuk, RAID txartel "
+"batzuk, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" herrialde bakoitzean software-patenteengatik banatu ezin duten "
+"softwarea dauka."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "\"%s\"-ren softwarea er dauka, birsortzeko gaitasun osagarriekin."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Hemen hedabide gehiago gaitu dezakezu nahi baduzu."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Hedabide honek paketea \"%s\" hedabidetik eguneratzea ematen du"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Instalatutako paketeak bilatzen..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Bertsio berritzeko paketeak bilatzen..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Paketeak ezabatzen bertsioa berritu aurretik..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Ondorengo paketeak kenduko dira sistemaren bertsioa berritzeko: %s\n"
+"\n"
+"\n"
+"Ziur zaude pakete hauek kendu nahi dituzula?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Errorea %s fitxategia irakurtzean"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ondoko diskoa(k) berrizendatu egin d(ir)a:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (lehenago %s deitua)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Sarea"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Aukeratu euskarri bat mesedez"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fitxategia badago lehendik ere. Gainidatzi?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Baimena ukatuta"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS izen okerra"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "%s okerreko euskarria"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ezin da pantaila-argazkirik egin partizioak egin aurretik"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"%s(e)n instalazioa egindakoan pantaila-argazkiak erabilgarri egongo dira"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalaketa"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurazioa"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "%s ere formateatu behar duzu"
+
+#: 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 ""
+"Zure ordenagailuko hardware batzuek kontrolatzaile ``jabeduna'' behar dute.\n"
+"Horiei buruzko informazioa hemen aurki dezakezu: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Sarea irekitzen"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Sarea ixten"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Itxoin mesedez, fitxategia eskuratzen"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "euskarria ezin erantsi"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Zenbait pakete diskoetan kopiatzen etorkizunean erabiltzeko"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiatzen ari da"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "ezinbestekoa"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "garrantzitsua"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "oso baliagarria"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "baliagarria"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "beharbada"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "XML meta-datuetatik paketeen informazioa eskuratzen ..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ez dago \"%s\" euskarriarentzako xml info, soilik emaitza partziala %s "
+"paketearentzako"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Azalpenik ez"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s-k eskatutako pakete batzuk ezin dira instalatu:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Akats bat gertatu da:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Akats larria gertatu da: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ez galdetu beriro"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d instaketa eragiketek huts egin dute"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Paketeen instalaketak huts egin du:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Lanpostua"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Bulegoko lanpostua"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Bulego programak: testu-prozetzaileak (LibreOffice Writer, Kword), kalkulu-"
+"orriak (LibreOffice Calc, Kspread), PDF ikustaileak, etab"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Jokoak"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Denbora-pasako programak: makina-jokoak, taula-jokoak, estrategiakoak, etab."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Soinua eta bideoa jotzeko/editatzeko programak"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Posta eta berri-taldeetako mezuak (mutt, tin...) irakurtzeko eta bidaltzeko "
+"eta Interneten nabigatzeko tresna-multzoa"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Sare-ordenagailua (bezeroa)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Hainbat protokolotako bezeroak, ssh-renak barne"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Zure ordenagailuaren konfigurazioa errazteko tresnak"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Kontsola-tresnak"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoreak, shell-ak, fitxategi-tresnak, terminalak"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Garapena"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C eta C++ garapen-liburutegiak, programak eta fitxategiak"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentazioa"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux eta Software libreari buruzko liburuak eta azalpenak"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Beste batzuek egindako aplikazioen euskarria"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Taldelanerako Aplikazioak"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Suebakia/Bideratzailea"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneteko atebidea"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Posta/Berriak"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta zerbitzaria, Inn berri zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Direktorio Zerbitzara"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinu Izen eta Sare Informazio Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fitxategi eta Inprimaketa Elkarbanatzeko Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS zerbitzaria, Samba zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Datu-basea"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL eta MariaDB Datubase Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta-zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL edo MariaDB datu-baseen zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Sare-zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS zerbitzaria, SMB zerbitzaria, Proxy zerbitzaria, ssh zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma Lanpostua"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, hainbat tresna dituen oinarrizko ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME lanpostua"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Aplikazio-multzo eta mahaigaineko tresna lagungarri eta atseginak dituen "
+"ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Aplikazioen eta mahaigain-tresnen sorta erabilerrazarekiko ingurumen argitsu "
+"grafiko bat"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE lanpostua"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon Lanpostua"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GNOMEn oinarritutako ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt Mahaigaina"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Mahaigaineko ingurune arinaren hurrengo belaunaldiko QT portua"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Ingurune grafiko arin eta azkarra bat eskainita"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE Idaztegia"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Ingurune grafiko arin bat"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Beste mahaigain grafiko batzuk"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etab."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitateak"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Urruneko Konfigurazio Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Sare Utilitateak/Gainbegiraketa"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Gainbegiraketa tresnak, prozesuen kotabilitatea, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Morroiak"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Zerbitzaria konfiguratzeko morroiak"
+
+#: 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 ""
+"Errore bat gertatu da, baina ez dakit behar bezala maneiatzen.\n"
+"Jarraitu zure ardurapean."
+
+#: steps.pm:469
+#, 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 ""
+"Pakete garrantzitsu batzuk ez dira behar bezala instalatu.\n"
+"Zure CD-ROM unitateak edo CD-ROMak akatsak ditu.\n"
+"Probatu CD-ROMa ordenagailu instalatu batean \"rpm -qpl media/main/*.rpm\" "
+"erabiliz.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s'. urratsean sartzen\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s %s instalazioa"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> elementuz aldatzeko"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg zerbitzariaren hasiera motela da. Itxoin mesedez..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Sistemak baliabide gutxi ditu. Arazoak izan ditzakezu %s \n"
+"instalatzeko. Horrela bada, testu-instalazioa egiten saia zaitezke. \n"
+"Horretarako, sakatu `F1' CD-ROMetik abiaraztean, eta idatzi `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Euskarri hautaketa"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalatu %s Plasma Idaztegia"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalatu %s GNOME Idaztegia"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalaketa pertsonalizatua"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma Mahaigaina"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME Idaztegia"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Idaztegia pertsonalizatua"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hemen duzu '%s' idaztegiaren aurrebista bat."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klikatu irudietan aurrebista haundiago ikusteko"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakete-taldearen hautapena"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Pakete indibidualen hautapena"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Desautatutako guztiak"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Guztizko tamaina: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Bertsioa: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamaina: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Garrantzia: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ezin duzu pakete hau hautatu/desautatu"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s falta delako"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s bete gabe dagoelako"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s jaso nahian"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s gordetzeko"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Ezin duzu pakete hori hautatu: ez dago instalatzeko lekurik"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ondorengo pakete hauek instalatuko dira"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ondorengo pakete hauek kenduko dira"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Nahitaezko paketea da, ezin da desautatu"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ezin duzu pakete hau desautatu. Dagoeneko instalatuta dago"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ezin duzu pakete hau desautatu. Bertsio berritu egin behar da"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Erakutsi automatikoki hautatutako paketeak"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalatu"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Hautapena Zamatu/Gorde"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Pakete-hautapena eguneratzen"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Gutxieneko instalazioa"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Software kudeaketa"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Aukeratu instalatu nahi dituzun paketeak"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalatzen"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Xehetasunik gabe"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Geratzen den denbora:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(Kalkulatzen...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "pakete %d"
+msgstr[1] "%d pakete"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Laburpena"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfiguratu"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "konfiguratu gabe"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Ondorengo instalazio euskarriak aurkitu dira.\n"
+"Horietako batzuk erabiltzerik nahi ez baduzu, haututik kendu ditzakezu orain."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Instalazio aurretik CD-en edukia disko gogorrera kopiatzeko aukera daukazu.\n"
+"Disko zurrunetik jarraituko du orduan eta paketeak eskuragarri egongo dira "
+"sistema osorik instalatu ondoren."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiatu CD osoak"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Errore bat izan da"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Aukeratu zure teklatu-diseinua"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Hemen duzu eskuragarri dauden teklatuen zerrenda osoa:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalaketa/Bertsio berritzea"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Instalaketa edo bertsio berritzea da hau?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalaketa"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s bertsio berritu"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s(r)en enkriptatze-gakoa"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Instalaketa galarazi, sistema berrabiatu"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Instalaketa berria"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Aurreko instalaketa bertsio berritu (ez da gomendatzen)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalatzaileak detektatu du instalatuta duzun Linux sistema ezin\n"
+"dela era seguruan %s-ren bertsiora berritu.\n"
+"\n"
+"Zure aurreko sistema ordezkatuko duen instalazio berria gomendatzen da.\n"
+"\n"
+"Erne: zure datu pertsonalen babeskopia egin behar zenuke \"Instalaketa\n"
+"Berria\" aukeratu aurretik."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD Konfiguratzen"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Aldatu zure CD-ROMa!\n"
+"\n"
+"Mesedez, sartu \"%s\" etiketa duen CD-ROMa zure unitatean, ondoren, sakatu "
+"'Ados'.\n"
+"Ez badaukazu, sakatu 'Utzi' CD-ROM horretatik instalazioa egin ez dezan."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Pakete erabilgarriak bilatzen..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Zure sistemak ez dauka instalatu edo bertsio berritzeko behar duen lekua (%d "
+"MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Mesedez aukeratu pakete aukeraketa zamatu edo gorde.\n"
+"Formatua instalazio automatikoarekin sortutako fitxategiaren berdina da."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Karga"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Gorde"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Okerreko fitxategia"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Idaztegi hautaketa"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Zure lanpostuaren idaztegi profila hautatu dezakezu."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Hautatutako tamaina handiagoa da leku erabilgarria baino"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Instalazio-mota"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ez duzu talde edo paketerik hautatuta\n"
+"Nahi duzun gutxieneko instalazioa hautatu behar duzu:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X-ekin"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Gomendaturiko paketeak instalatu"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Oinarrizko dokumentazioarekin (gomendatua)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalazio minimo-minimoa (batez ere, urpmi gabe)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Berritzea prestatzen ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Instalazioa prestatzen"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketea instalatzen"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Errore bat izan da paketeak ordenatzean:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Jarraitu hala ere?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Berriro saiatu"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Pakete hau utzi"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" euskarriko pakete guztiak utzi"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Jo atzera euskarri eta pakete hautapenera"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Akatsa gertatu da %s paketea instalatzerakoan."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Instalazio-ondorengo konfigurazioa"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Mesedez egiaztatu Moduluak Eguneratzeko euskarria %s unitatean dagoela"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Eguneraketak"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Orain aukera duzu lerroko baliabideak konfiguratzeko."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Hau segurtasun eguneraketak instalatzeko ahalbidetzen du."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Baliabideak konfiguratzeko, Interneteko konexioa izan behar izango duzu.\n"
+"\n"
+"Konfiguratu nahi dituzu eguneratze baliabideak?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Ondorengo pakete hauek instalatuko dira"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Berriz saiatu?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Ezin izan da euskarria gehitu"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Pakete eguneratuak deskarga ditzakezu orain. Pakete hauek\n"
+"eguneratu egin dira banaketa askatu ondoren. Beharbada\n"
+"segurtasun edo akatsen konponketak izango dituzte.\n"
+"\n"
+"Pakete hauek deskargatzeko, Interneteko konexioa izan behar\n"
+"duzu.\n"
+"\n"
+"Eguneratzeak instalatu nahi dituzu?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s - %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardwarea"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Soinu-txartela"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaze grafikoa"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Sarea eta Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy-ak"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfiguratuta"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Segurtasun-maila"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Suebakia"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktibatuta"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "desgaituta"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X ez duzu konfiguratu. Ziur zaude hori dela egin nahi duzuna?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Programaren hasierako abioa prestatzen ..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Pazientzia izan, pixka baterako dauka..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Segurtasun-maila honetan, administratzaileak soilik du Windows partizioko "
+"fitxategiak atzitzeko eskubidea."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sartu diskete huts bat %s unitatean"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Auto-instalazioko disketea sortzen..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Urrats batzuk ez dira osatu.\n"
+"\n"
+"Ziur zaude orain irten nahi duzula?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Zorionak"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Berrabiarazi"
+
+#. -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 "Hizkuntza"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Kokapena"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lizentzia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sagua"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Disko gogorren detekzioa"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instalaketa mota"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teklatua"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurtasuna"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizioa egiten"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatua"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Paketeak aukeratzen"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalatzen"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Erabiltzaileak"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Abioko kargatzailea"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguratu X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Laburpena"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Zerbitzuak"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Eguneraketak"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Irten"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Ispiluaren URL?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL-ak ftp:// edo http:// aurretik izan behar du"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "%s web gunearekin konektatzen, ispilu erabilgarrien zerrenda lortzeko..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "%s web gunearekin eskuragarri dauden ispiluen zerrenda lortzeko "
+#~ "harremanak huts egin du"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Aukeratu ispilu bat paketeak bertatik hartzeko"
diff --git a/perl-install/install/share/po/fa.po b/perl-install/install/share/po/fa.po
new file mode 100644
index 000000000..95a458a7d
--- /dev/null
+++ b/perl-install/install/share/po/fa.po
@@ -0,0 +1,1657 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Abbas Izad <abbasizad@hotmail.com>, 2003-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Persian (http://www.transifex.com/MageiaLinux/mageia/language/"
+"fa/)\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "آیا رسانه مکمل دیگری دارید؟"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "شبکه (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "شبکه (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "شاخه"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "نمیتوان پرونده hdlist را بر این آینه پیدا کرد"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "بررسی بسته‌های از قبل نصب شده..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "ÛŒØ§ÙØªÙ† بسته‌های برای ارتقاء..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"بسته‌های بدنبال آمده برای ارتقاء سیستم شما برداشته خواهند شد: %s\n"
+"\n"
+"\n"
+"آیا واقعاً می‌خواهید این بسته‌ها را بردارید؟\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "خطا در خواندن پرونده‌ی %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "دیسک(های) بدنبال تغییر نام داده شده‌اند:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (قبلا نامش %s بود("
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "شبکه"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Ù„Ø·ÙØ§Ù‹ رسانه‌ای را انتخاب کنید"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "پرونده از قبل وجود دارد. بازنویسی شود؟"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "اجازه داده نشد"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "رسانه بد %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "نمی‌توان قبل از قسمت‌بندی Ø¹Ú©Ø³â€ŒØµÙØ­Ù‡ Ú¯Ø±ÙØª"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ø¹Ú©Ø³â€ŒØµÙØ­Ù‡â€ŒÙ‡Ø§ بعد از نصب در %s در دسترس خواهند بود"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "پیکربندی"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "باید %s را قالب‌بندی کنید"
+
+#: 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 ""
+"بعضی از Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø±Ù‡Ø§ÛŒ بر روی رایانه‌ی شما برای کار کردن احتیاج به راه‌اندازهای "
+"اختصاصی دارند. ÛŒØ§ÙØªÙ† اطلاعاتی درباره آنها در: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "بالا آوردن شبکه"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "پایین آوردن شبکه"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "کپی کردن در حال انجام است"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "باید داشت"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "مهم"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "خیلی خوب"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "خوب"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "شاید"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "یک خطای مهلک رخ داد: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "ایستگاه‌کار"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ایستگاه‌کار Ø¯ÙØªØ±ÛŒ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"برنامه های Ø¯ÙØªØ±ÛŒ: واژه پردازان (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "ایستگاه بازی"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "برنامه‌های سرگرمی: آرکید، تخته‌ها، تاکتیکی، غیره"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "ایستگاه چندرسانه‌ای"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "برنامه‌های ویرایش/پخش ویدیو و صوت"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "ایستگاه اینترنت"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "مجموعه ابزار خواندن و ارسال پست و اخبار (mutt, tin..) و برای مرور وب"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "رایانه‌ی شبکه (کارگیر)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "کارگیرها برای پایان‌نامه‌های گوناگون از جمله ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ابزارهای برای آسان‌ کردن پیکربندی رایانه‌اتان"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "ابزارهای کنسول"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ویرایش‌گرها، پوسته‌ها، ابزار پرونده، پایانه‌ها"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "برنامه‌سازی"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "کتابخانه‌های برنامه‌سازی C و C++، برنامه‌ها و پرونده‌های شامل"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "نوشتار"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "کتاب‌ها Ùˆ چگونگی‌ها در لینوکس Ùˆ Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø± آزاد"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "پایه‌ی استاندارد لینوکس. حمایت برنامه‌های شخص سوم"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "کارگزار‌ وب"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "آپاچ"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "گروه Ø§ÙØ²Ø§Ø±"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "کارگزار Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "دیوار‌آتش/مسیریاب"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "دروازه‌ی اینترنت"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "پست/اخبار"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "کارگزار پست Postfix، کارگزار اخبار Inn "
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "کارگزار شاخه"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "کارگزار FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "نام دامنه و کارگزار اطلاعات شبکه"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "کارگزاراشتراک چاپگر و پرونده"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "کارگزار NFS، کارگزار Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "بانک ‌اطلاعات"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "کارگزار پایگاه داده‌ی PostgreSQL و MariaDB "
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "پست"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "کارگزار پست Postfix "
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "کارگزار بانک اطلاعاتی PostgreSQL یا MariaDB "
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "کارگزار شبکه‌ی رایانه"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "کارگزار NFS , کارگزار SMB , کارگزار Proxy , کارگزار ssh "
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "محیط گراÙیکی"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "محیط رومیزی KØŒ محیط گراÙیکی پایه با مجموعه‌ای از ابزارهای ضمیمه"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "ایستگاه‌کار گنوم"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "محیط گراÙیکی کاربر-دوستانه با مجموعه‌ای از برنامه‌ها Ùˆ ابزارهای رومیزی"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "دیگر رومیزی‌های گراÙیکی"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "وسایل"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "کارگزار‌ SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "کارگزار پیکربندی از راه دور Webmin "
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "پایشگری/وسایل شبکه"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ابزار پایشگری، پروسه های حسابداری، tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "جادوگران نرم Ø§ÙØ²Ø§Ø± ماندریبا"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "جادوگران برای پیکربندی کارگزار"
+
+#: 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 ""
+"خطائی رخ داد، اما نمی‌دانم چگونه آن را بخوبی اداره کنم.\n"
+"با مسئولیت خودتان ادامه دهید."
+
+#: steps.pm:469
+#, 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 ""
+"بعضی از بسته‌های مهم بدرستی نصب نشدند. \n"
+"یا گرداننده‌ی سی‌دی یا سی‌دی‌رم شما دارای اشکال می‌باشد.\n"
+"این سی‌دی را بر یک رایانه‌ی نصب شده با Ø§Ø³ØªÙØ§Ø¯Ù‡ از \"rpm -qpl media/main/*.rpm"
+"\" بررسی کنید\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ورود به مرحله‌ی `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> بین عناصر"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "گزینش گروه بسته"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "انتخاب بسته‌ی تکی"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "همه انتخاب نشده‌اند"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "اندازه‌ی کل: %d / %d مگابایت"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "نسخه: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "اندازه: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d کیلوبایت\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "اهمیت: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "نمی‌توانید این بسته را انتخاب/غیر انتخاب کنید"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "بدلیل Ùقدان %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "بدلیل عدم ارضای %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "تلاش برای تبلیغ %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "بمنظور نگهداشتن %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"نمی‌توانید این بسته را انتخاب کنید چرا Ú©Ù‡ ÙØ¶Ø§ÛŒ کاÙÛŒ برای نصب آن باقی نمانده "
+"است"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "بسته‌های بدنبال آمده نصب خواهند شد"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "بسته‌های بدنبال آمده برداشته خواهند شد"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "این بسته‌ای ضروری است، نمی‌تواند که گزیده نشود."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "نمی‌توانید این بسته را انتخاب نکنید. آن از قبل نصب شده است "
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "نمی‌توانید این بسته را انتخاب نکنید. این باید ارتقاء داده شود"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "نشان دادن خودکار بسته‌های انتخاب شده"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "نصب"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "بارگذاری/ذخیره انتخاب"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "بروزسازی مجموعه بسته"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "نصب حداقل"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "مدیریت Ù†Ø±Ù…â€ŒØ§ÙØ²Ø§Ø±"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "بسته‌هایی را که می‌خواهید نصب کنید انتخاب کنید"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "نصب کردن"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "بدون جزئیات"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "بسته‌های %d"
+msgstr[1] "بسته‌های %d"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "خلاصه"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "پیکربندی"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "پیکربندی نشده است"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"رسانه نصب بدنبال آمده ÛŒØ§ÙØª شد.\n"
+"اگر میخواهید بعضی از آنها را نادیده بگیرید میتوانید آنها را اکنون نگزینید."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"شما میتوانید محتویات سی‌دی‌ها را قبل از نصب بر روی دیسک سخت کپی کنید.\n"
+"سپس آن از دیسک سخت ادامه ÛŒØ§ÙØªÙ‡ Ùˆ بسته‌ها وقتی Ú©Ù‡ سیستم کاملا نصب گردید در "
+"دسترس خواهند بود."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "کپی کردن تمام سی‌دی‌ها"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "خطائی رخ داد"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Ù„Ø·ÙØ§Ù‹ طرح ØµÙØ­Ù‡â€ŒÚ©Ù„ید خود را انتخاب کنید"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "نصب/ارتقاء"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "آیا این یک نصب است یا یک ارتقاء؟"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "نصب"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "ارتقاء دادن %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "کلید رمزی برای %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"سی‌دی-رم خود را عوض کنید! \n"
+"Ù„Ø·ÙØ§Ù‹ سی‌دی با برچسب \"%s\" را در دستگاه‌تان بگذارید Ùˆ تأیید را بعد از انجام آن "
+"ÙØ´Ø§Ø± دهید. \n"
+"اگر آن را ندارید، لغو را برای جلوگیری از نصب این سی‌دی-رم ÙØ´Ø§Ø± دهید."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "جستجو برای بسته‌های موجود..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Ù„Ø·ÙØ§Ù‹ بارگذاری یا ذخیره‌ی مجموعه بسته را انتخاب کنید.\n"
+"قالب همانند پرونده‌های تولید شده‌ی نصب-خودکار است."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "بارگذاری"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "ذخیره"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "پرونده بد"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "گنوم"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "اندازه‌های انتخاب شده بزرگ‌تر از ÙØ¶Ø§ÛŒ موجود است"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "نوع نصب"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"هیچ گروه از بسته‌ها را انتخاب نکرده‌اید.\n"
+"Ù„Ø·ÙØ§Ù‹ حداقل نصبی را Ú©Ù‡ می‌خواهید انتخاب کنید:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "با X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "با نوشتارهای پایه (Ø³ÙØ§Ø±Ø´ می‌شود!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "حقیقتاً حداقل نصب (مخصوصاً بدون urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "آماده کردن نصب"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "نصب کردن بسته‌ی %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "خطائی در مرتب کردن بسته‌ها رخ داد:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ادامه به هر حال؟"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "پیکربندی بعد از نصب"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "بروزسازی‌ها"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "بسته‌های بدنبال آمده نصب خواهند شد"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "ناموÙÙ‚ بودن هنگام اضاÙÙ‡ کردن رسانه"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"اکنون می‌توانید بسته‌های بروزسازی شده را بارگیری کنید. این بسته‌ها \n"
+"بعد از پخش انتشار بروزسازی شده‌اند. آنها ممکن است دارای تعمیرات اشکال\n"
+"یا امنیت باشند.\n"
+"\n"
+"برای بارگیری این بسته‌ها، احتیاج به یک اتصال اینترنتی دارید.\n"
+"\n"
+"آیا می‌خواهید بروزسازی‌ها را نصب کنید؟"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s بر %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Ø³Ø®Øªâ€ŒØ§ÙØ²Ø§Ø±"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "کارت صوتی"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "واسط گراÙیکی"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "شبکه و اینترنت"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "پراکسی‌ها"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "پیکربندی شده"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "سطح امنیتی"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "دیوارآتش"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ÙØ¹Ø§Ù„ شده"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "از کار Ø§ÙØªØ§Ø¯Ù‡"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "شما ایکس را پیکربندی نکرده‌اید. آیا واقعاً مطمئنید که این را می‌خواهید؟"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"در این سطح امنیتی، دستیابی به پرونده‌های قسمت‌بندی ویندوز محدود به مدیر است."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "یک دیسکچه‌ی خالی را در گرداننده‌ی %s داخل کنید"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ایجاد کردن دیسکچه‌ی نصب خودکار..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"بعضی از مراحل تکمیل نشده است.\n"
+"\n"
+"واقعاً می‌خواهید اکنون ترک کنید؟"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "تبریک می‌گوئیم!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "آغازگری مجدد"
+
+#. -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 "زبان"
+
+#: 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 "مجوز"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "موشی"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "شناسایی گرداننده‌ی دیسک"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ØµÙØ­Ù‡â€ŒÚ©Ù„ید"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "امنیت"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "قسمت‌بندی"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "نصب کردن"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "کاربران"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "بارگذار آغازگر"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "پیکربندی ایکس"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "خلاصه"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "سرویس‌ها"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "بروزسازی‌ها"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "خروج"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "نشانی اینترنتی آینه؟"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "انتخاب آینه‌ای برای Ú¯Ø±ÙØªÙ† بسته‌ها"
diff --git a/perl-install/install/share/po/fi.po b/perl-install/install/share/po/fi.po
new file mode 100644
index 000000000..329ee65df
--- /dev/null
+++ b/perl-install/install/share/po/fi.po
@@ -0,0 +1,1704 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Anssi Hannula <anssi@mandriva.org>, 2007-2008
+# Esa Linna <denzo@mbnet.fi>, 2004
+# Jani Välimaa <wally@mageia.org>, 2011
+# wally <wally@mandriva.org>, 2009
+# Kimmo Kujansuu <mrkujansuu@gmail.com>, 2023
+# Matias Griese <mahagr@utu.fi>, 2001
+# Taisto Kuikka <69319@batman.jypoly.fi>, 2003-2004
+# Thomas Backlund <tmb@mandrake.org>, 2002-2005
+# Thomas Backlund <tmb@mandriva.org>, 2006,2008
+# wally <wally@mandriva.org>, 2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>, 2023\n"
+"Language-Team: Finnish (http://app.transifex.com/MageiaLinux/mageia/language/"
+"fi/)\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Liity meihin!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Tee siitä omasi!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Sinun valintasi!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Tiedostotyökalut"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Kodin viihde"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Lapsille"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Perheelle!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Kehittäjäille!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Kiitos sinulle!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Ole vapaa!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Onko käytettävissä muita asennuksen lisälevyjä?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Löydettiin seuraavat asennuksen aikana käytettävät mediat: %s.\n"
+"\n"
+"\n"
+"Onko käytettävissä muita asennusmedioita?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Verkko (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Verkko (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Verkko (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-asetukset"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Syötä NFS-palvelimen nimi ja hakemistopolku"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Palvelimen osoite puuttuu"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Hakemistopolun täytyy alkaa \"/\"-merkillä"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS-palvelimen nimi?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Hakemisto"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Lisämedia"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Peilipalvelimelta ei löydy tiedostolistausta. Varmista tiedostopolun "
+"oikeellisuus."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Jotkin tietokoneen laitteet tarvitsevat joitain nonfree laiteohjaimia, jotta "
+"vapaan ohjelmiston ajurit toimisivat."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Sinun pitäisi lisätä \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" sisältää järjestelmien eri osat ja sen sovellukset"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" sisältää nonfree ohjelmistoa.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Sisältää myös tiettyjen laitteiden toimintaan tarvittavat ajurit (esim.: ATI/"
+"AMD-näytönohjaimet, jotkin verkkokortit, jotkin RAID-kortit, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" sisältää ohjelmistoa, joita ei voida levittää kaikissa maissa "
+"patenttien vuoksi."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Sisältää myös ohjelmiston \"%s\" rakentamiseksi lisäominaisuuksilla."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Täällä voit ottaa käyttöön lisää medioita, jos haluat."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Tämä media tarjoaa pakettien päivityksiä medialle \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Etsitään asennettuja paketteja..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Etsitään paketteja päivitettäväksi..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Poistetaan paketteja ennen päivitystä..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Seuraavat paketit on poistettava, jotta järjestelmä voidaan päivittää:\n"
+"%s\n"
+"\n"
+"Poistetaanko paketit?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Virhe luettaessa tiedostoa %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Seuraavat levyt nimettiin uudelleen:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ennen: %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Verkko"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Valitse media"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tiedosto jo olemassa. Korvaa?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ei oikeuksia"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Virheellinen NFS-nimi"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Virheellinen media %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kuvakaappauksia ei voida ottaa ennen osiointia"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Kuvakaappaukset löytyvät asennuksen jälkeen hakemistosta %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Asennus"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Asetukset"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Myös %s tulee alustaa"
+
+#: 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 ""
+"Jokin osa laitteistosta tarvitsee laitteistovalmistajan ajurit toimiakseen.\n"
+"Lisätietoa edellä mainituista: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Käynnistetään verkkoa"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ajetaan verkkoa alas"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Odota hetki, haetaan tiedostoa"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "median lisääminen epäonnistui"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopioidaan paketteja kovalevylle myöhempään käyttöä varten"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopioidaan"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "pakollinen"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "tärkeä"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "erittäin hyvä"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "hyvä"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ehkä"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Haetaan pakettien tietoja XML-metatiedoista..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Medialla \"%s\" ei ole XML-tietoja, vain osittainen hakutulos paketille %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ei kuvausta"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Joitakin paketin %s vaatimia paketteja ei voida asentaa:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Virhe:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Tapahtui ohittamaton virhe: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Älä kysy uudelleen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d asennustapahtumaa epäonnistui"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Pakettien asennus epäonnistui:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Työasema"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Toimistotyöasema"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Toimisto-ohjelmistot: tekstinkäsittely (LibreOffice Writer, Kword), "
+"taulukkolaskenta (LibreOffice calc, Kspread), PDF-lukijat jne"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Peliasema"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Viihdeohjelmat: tasohyppely, korttipelit, strategia jne"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediatyöasema"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Äänen ja videon toisto- ja editointiohjelmat"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-työasema"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Valikoima työkaluja sähköpostin ja uutisryhmien lukemiseen (mutt, tin...), "
+"sekä Internetin selailuun"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Verkkopääte (asiakas)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Asiakasohjelmat eri protokollille (SSH jne.)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Työkalut, jotka helpottavat tietokoneen asetusten muokkaamista"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Komentorivityökalut"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorit, komentotulkit, tiedostotyökalut, päätteet"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Kehitysympäristö"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Ohjelmat, include-tiedostot ja kehityskirjastot ohjelmointikielille C ja C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaatio"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Kirjoja ja ohjeita Linuxista ja vapaan lähdekoodin ohjelmista"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+"Linux Standard Base (LSB)\n"
+" - Tuki kolmannen osapuolen ohjelmistoille"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "WWW-palvelin"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-palvelin"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Palomuuri / Reititin"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetin yhdyskäytävä"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Sähköposti / Uutiset"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix-sähköpostipalvelin, Inn-uutispalvelin"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Hakemisto-palvelin"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-palvelin"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS / NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS- ja NIS-palvelin"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Tiedosto- ja tulostuspalvelin"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-palvelin, Samba-palvelin"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Tietokanta"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- ja MariaDB-tietokantapalvelin"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "WWW / FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache WWW-palvelin ja Pro-ftpd FTP-palvelin"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Sähköposti"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-sähköpostipalvelin"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- tai MariaDB-tietokantapalvelin"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Verkkotietokone (palvelin)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-, SMB-, SSH- ja välityspalvelin"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graafinen ympäristö"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-työasema"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K-työpöytäympäristö. Graafinen perusympäristö ja sen mukana tulevat työkalut"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-työasema"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Graafinen ympäristö käyttäjäystävällisillä sovelluksilla ja työkaluilla."
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-työasema"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Kevyempi graafinen ympäristö käyttäjäystävällisillä sovelluksilla ja "
+"työkaluilla"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-työasema"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-työasema"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GNOME-pohjainen graafinen ympäristö"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-työpöytä"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Seuraavan sukupolven QT-portti kevyenä työpöytäympäristönä"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment-työpöytä"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Kevyt ja nopea graafinen ympäristö"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-työpöytä"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Kevyt ja nopea graafinen ympäristö"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Muut graafiset työpöydät"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, jne"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Työkalut"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-palvelin"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin etäasetuspalvelin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Verkkotyökalut ja verkon valvonta"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Valvontatyökalut, prosessienhallinta, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageian asetusvelhot"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Velhoja palvelinten asettamiseksi"
+
+#: 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 ""
+"Ilmeni virhe, eikä sitä ei voida käsitellä kunnolla.\n"
+"Jatka omalla vastuullasi."
+
+#: steps.pm:469
+#, 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 ""
+"Joitakin tärkeistä paketeista ei pystytty asentamaan.\n"
+"CD/DVD-asema tai -levy on viallinen.\n"
+"Tarkista CD/DVD-levy asennetussa järjestelmässä komennolla \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Siirrytään vaiheeseen %s\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%sin asennus %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> vaihtaa osaa"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "X.org-palvelin on hidas käynnistää. Odota..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Järjestelmän resurssit ovat lopussa. %sia asennettaessa\n"
+"voi ilmetä ongelmia. Jos näin tapahtuu, voidaan graafisen asennuksen\n"
+"sijaan käyttää tekstipohjaista asennusta. Tekstipohjainen asennus\n"
+"käynnistetään painamalla käynnistysruudussa näppäintä F1,\n"
+"kirjoittamalla teksti \"text\" ja painamalla Enteriä."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Asennusmedioiden valinta"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Asenna %s Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Asenna %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Mukautettu asennus"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-työpöytä"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-työpöytä"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Mukautettu työpöytä"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "%s-työpöydän esikatselu."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kuvaa napsauttamalla aukeaa isompi esikatselukuva."
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakettiryhmien valinta"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Yksittäisten pakettien valinta"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Poista valinnat"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Koko yhteensä: %d / %d Mt"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versio: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Koko: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kt\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Tärkeys: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Pakettia ei voida valita tai poistaa"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "puuttuvan riippuvuuden %s vuoksi"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "täyttämättömistä riippuvuuksista %s johtuen"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "yritetään asentaa %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "jotta %s voitaisiin säilyttää"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Pakettia ei voida asentaa, koska levyllä ei ole tarpeeksi tilaa sen "
+"asentamiseen"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Seuraavat paketit asennetaan"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Seuraavat paketit poistetaan"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Tämä on pakollinen paketti, sitä ei voida poistaa valinnoista"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Paketin valintaa ei voi poistaa, koska se on jo asennettu"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Paketin valintaa ei voi poistaa, koska se pitää päivittää"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Näytä automaattisesti valitut paketit"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Asenna"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Lataa / tallenna pakettivalinnat"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Päivitetään pakettien valintoja"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Vaihda hierarkkisen ja kiinteän pakettilistan välillä"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Vähimmäisasennus"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Ohjelmistojen hallinta"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Valitse asennettavat paketit"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Asennus käynnissä"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ei yksityiskohtia"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Aikaa jäljellä:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(arvioidaan...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketti"
+msgstr[1] "%d pakettia"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Yhteenveto"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Aseta"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ei asetettu"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Löydettiin seuraavat asennusmediat.\n"
+"Poista median valinta, jos et halua käyttää sitä."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Asennuslevyjen sisältö on mahdollista kopioida kovalevylle ennen asennusta.\n"
+"Asennus jatkuu tämän jälkeen kovalevyltä ja paketit ovat käytettävissä myös "
+"asennuksen jälkeen."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopioi asennuslevyt"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ilmeni virhe"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Valitse näppäimistöasettelu"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Lista kaikista käytettävissä olevista näppäimistöistä:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Asennustapa"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Asennus vai päivitys?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Asennus"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Päivitä %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Salausavain %s:lle"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Peruuta asennus ja käynnistä järjestelmä uudelleen"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Uusi asennus"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Päivitä edellinen asennus (ei suositella)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Asennusohjelma havaitsi, että asennettua Linux-järjestelmää ei voida\n"
+"päivittää turvallisesti versioon %s.\n"
+"\n"
+"On suositeltavaa suorittaa asennus, joka korvaa edellisen asennuksen.\n"
+"\n"
+"HUOM! Ota varmuuskopio tärkeistä ja henkilökohtaisista tiedostoista\n"
+"ennen kuin valitset \"Uusi asennus\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD:n konfigurointi"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Vaihda CD/DVD-levyä!\n"
+"\n"
+"Aseta asemaan levy nimeltä \"%s\" valitse OK.\n"
+"Jos levyä ei ole, valitse \"Peruuta\" ohittaaksesi asennukset kyseiseltä "
+"levyltä."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Etsitään saatavilla olevia paketteja..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Järjestelmässä ei ole riittävästi vapaata tilaa asennusta tai päivitystä "
+"varten (%dMt > %dMt)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lataa tai tallenna pakettien valinta.\n"
+"Muotoilu on sama kuin auto_install-toiminnon luomilla tiedostoilla."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Lataa"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Tallenna"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Virheellinen tiedosto"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Työpöydän valinta"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Valitse asennettava työpöytäympäristö."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+"Valittujen pakettien koko on suurempi kuin käytettävissä oleva levytila"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Asennuksen tyyppi"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Yhtään pakettiryhmää ei ole valittu.\n"
+"Valitse haluttu vähimmäisasennus:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Graafisella käyttöliittymällä"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Asenna suositellut paketit"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Perusdokumentaation kanssa (suositeltu!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Vähimmäisasennus (ei edes urpmi:a)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Valmistellaan päivitystä..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Valmistellaan asennusta"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Asennetaan pakettia %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Paketteja järjestettäessä tapahtui virhe:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Jatka?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Yritä uudelleen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Ohita paketti"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Ohita kaikki paketit medialta \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Siirry takaisin medioiden ja pakettien valintaan"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Paketin %s asentamisessa tapahtui virhe."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Asennuksen jälkeiset toiminnot"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Varmista, että \"Update Modules\"-media on asemassa %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Päivitykset"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Sinulla on nyt mahdollisuus asentaa online-medialla."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Tämä sallii tietoturvapäivitysten asentamisen."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Jotta voit asentaa median, sinulla on oltava toimiva yhteys\n"
+"Internettiin.\n"
+"\n"
+"Haluatko asentaa päivitysmedian?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Lataajaa ei voitu asentaa"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Yritä uudelleen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Virhe lisättäessä lähdettä"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Nyt on mahdollista ladata päivitetyt paketit. Paketit on julkaistu\n"
+"jakelun julkaisemisen jälkeen ja ne voivat sisältää tietoturva-\n"
+"tai virhekorjauksia.\n"
+"\n"
+"Pakettien lataamiseen tarvitaan toimiva Internet-yhteys.\n"
+"\n"
+"Asennetaanko päivitykset?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s kohteessa %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Laitteisto"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Äänikortti"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Graafinen käyttöliittymä"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Verkko ja Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Välityspalvelimet"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "asetettu"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Turvallisuustaso"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Palomuuri"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivoitu"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "ei käytössä"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"X-palvelinta ei ole asetettu, haluatko varmasti jättää sen asettamatta?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Valmistellaan käynnistysohjelmaa..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ole kärsivällinen, valmistelussa voi kestää hetki..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Tällä turvallisuustasolla pääsy Windows-osion tiedostoihin on rajoitettu "
+"pääkäyttäjälle."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Aseta tyhjä levyke levykeasemaan %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Luodaan automaattiasennuslevykettä..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Joitain vaiheita ei ole suoritettu loppuun.\n"
+"\n"
+"Haluatko todella lopettaa?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Onnittelut"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Käynnistä uudelleen"
+
+#. -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 "Kieli"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisointi"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisenssi"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Hiiri"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kiintolevyjen tunnistus"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Asennusluokka"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Näppäimistö"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Tietoturva"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Osiointi"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Alustus"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakettien valinta"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Asennus"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Käyttäjät"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Käynnistyslatain"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X-palvelin"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Yhteenveto"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Palvelut"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Päivitykset"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Lopetus"
diff --git a/perl-install/install/share/po/fr.po b/perl-install/install/share/po/fr.po
new file mode 100644
index 000000000..790067f97
--- /dev/null
+++ b/perl-install/install/share/po/fr.po
@@ -0,0 +1,1718 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Charles Monzat <c.monzat@laposte.net>, 2016
+# Charles Monzat <c.monzat@laposte.net>, 2016
+# Eric Barbero <dune06@free.fr>, 2013
+# Eric Barbero <dune06@free.fr>, 2013,2015-2016
+# stroibe974 <sebsweb@gmail.com>, 2018-2020,2022
+# Yves Brungard, 2014
+# Yves Brungard, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: stroibe974 <sebsweb@gmail.com>, 2018-2020,2022\n"
+"Language-Team: French (http://app.transifex.com/MageiaLinux/mageia/language/"
+"fr/)\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Rejoignez-nous !"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Pour vous !"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Votre choix !"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Pour la bureautique !"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Pour vos loisirs !"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Pour les enfants !"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Pour toute la famille !"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Pour les développeurs !"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Merci !"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Soyez libre !"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Possédez-vous d'autres médias supplémentaires ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Les médias suivants ont été trouvés et seront utilisés pendant "
+"l'installation : %s.\n"
+"\n"
+"\n"
+"Souhaitez-vous configurer un autre média d'installation ?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Réseau (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Réseau (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Réseau (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuration NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Veuillez entrer le nom d'hôte et le répertoire de votre média NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Il manque le nom d'hôte"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Le répertoire doit commencer par « / »"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nom d'hôte du montage NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Répertoire"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Supplémentaire"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne peut trouver le fichier de liste des paquetages sur ce miroir. Vérifiez "
+"que l'emplacement est correct."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Certains matériels sur votre machine peuvent nécessiter des firmwares non\n"
+"libres afin que les pilotes libres puissent fonctionner."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Vous devriez activer « %s »"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"« %s » contient les différentes parties du système ainsi que ses applications"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "« %s » contient des logiciels non libres.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Il contient également des firmwares nécessaires au bon fonctionnement de "
+"certains périphériques (ex : certaines cartes ATI/AMD, certaines cartes "
+"réseau, certaines cartes RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"« %s » contient des logiciels qui ne peuvent pas être redistribués dans tous "
+"les pays à cause de certains brevets logiciels."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Il contient également des logiciels de « %s » recompilés avec des "
+"fonctionnalités supplémentaires."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Ici vous pouvez activer des médias supplémentaires si vous le désirez."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ce médium fournit les paquets de mise à jour pour le médium « %s »"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Recherche des paquetages déjà installés…"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Recherche des paquetages à mettre à jour…"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Suppression des paquetages avant la mise à jour…"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Les paquetages suivants seront désinstallés pour permettre la mise à jour : "
+"%s\n"
+"\n"
+"\n"
+"Souhaitez-vous réellement les désinstaller ?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erreur lors de la lecture du fichier %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Les disques suivants ont été renommés :"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (précédemment nommé %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Réseau"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Veuillez choisir un média"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Le fichier existe déjà. Voulez-vous l'écraser ?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permission refusée"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Mauvais nom NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Média %s incorrect"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Impossible de faire des captures d'écran avant le partitionnement"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les captures d'écran seront disponibles après l'installation dans %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Vous devez aussi formater %s"
+
+#: 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 ""
+"Certains périphériques présents sur votre système requièrent des pilotes "
+"« propriétaires » pour pouvoir fonctionner.\n"
+"Vous pouvez trouver plus d'informations les concernant ici : %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Démarrage de l'interface réseau"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Arrêt de l'interface réseau"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Veuillez patienter, récupération du fichier en cours"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "impossible d'ajouter le média"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+"Copie de certains paquetages sur les disques pour une utilisation future"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copie en cours"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "obligatoire"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "très utile"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "utile"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "éventuellement"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Récupération des informations depuis les métadonnées XML…"
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Pas d'info xml pour le média « %s », seulement un résultat partiel pour le "
+"paquetage %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Pas de description"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Certains paquetages requis par %s ne peuvent être installés :\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Une erreur est survenue :"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Une erreur fatale est survenue : %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ne plus me demander"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transactions ont échoué"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "L'installation des paquetages a échoué :"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Station de travail"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Poste bureautique"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmes pour la bureautique : traitements de texte (LibreOffice Writer, "
+"Kword), tableurs (LibreOffice Calc, Kspread), visualiseur PDF, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Jeux"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Programmes de divertissement : jeux d'arcade, de plateau, de stratégie, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimédia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmes de lecture/édition du son et de la vidéo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Ensemble d'outils pour lire et envoyer des courriers électroniques et des "
+"messages de forums (mutt, tin, …), ainsi que pour naviguer sur Internet"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordinateur réseau (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients pour différents protocoles, dont ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Outils pour faciliter la configuration de votre ordinateur"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Utilitaires console"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Éditeurs, interpréteurs, outils fichiers, terminaux"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Développement"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Bibliothèques de développement C et C++, programmes et fichiers d'en-tête"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentation"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Livres et tutoriels sur Linux et le Logiciel Libre"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "« Linux Standard Base ». Support des programmes tiers"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Serveur Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Logiciel de groupe de travail"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Serveur Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Pare Feu/Routeur"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Passerelle Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Courriel/Nouvelles"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serveur de courrier Postfix, serveur de nouvelles lnn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Serveur d'annuaire"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Serveur FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serveur de nom de domaine et d'information réseau"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Serveur pour partage de fichiers et d'imprimantes"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Serveur NFS, Serveur Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Base de données"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Serveur de bases de données PostgreSQL et MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Courriel"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Serveur de courrier Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Serveur de bases de données PostgreSQL ou MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Serveur d'ordinateur réseau"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Serveur NFS, serveur SMB, serveur Proxy (mandataire), serveur SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Environnement graphique"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Station de travail Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L'environnement de bureau graphique KDE (K Desktop Environment) avec sa "
+"collection d'outils"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Station de travail GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un environnement de bureau avec un ensemble de programmes et d'outils "
+"intuitifs"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Environnement Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Un environnement de bureau plus léger avec un ensemble de programmes et "
+"d'outils intuitifs"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Station de travail MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Station de travail Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Un environnement de bureau basé sur GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Bureau LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Un portage vers Qt de l'environnement de bureau léger"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Bureau Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Un bureau rapide et léger avec une suite d'outils dédiés"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Bureau LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un environnement graphique léger et rapide"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Autres environnements de bureau"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitaires"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Serveur SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Serveur de configuration distante Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitaires réseau/Surveillance du réseau"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Outils de surveillance, gestion des processus, tcpdump, nmap, …"
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Assistants Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistants pour configurer le serveur"
+
+#: 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 ""
+"Une erreur est survenue et semble difficile à résoudre correctement.\n"
+"Vous pouvez continuer, mais à vos risques et périls."
+
+#: steps.pm:469
+#, 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 ""
+"Quelques paquetages importants n'ont pas été correctement installés.\n"
+"Il se peut que le lecteur de CD-ROM ou le CD-ROM lui-même soit défectueux.\n"
+"Vous pouvez vous assurer du bon état de ce dernier en exécutant la commande "
+"suivante sur un ordinateur fonctionnel : « rpm -qpl media/main/*.rpm »\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Démarrage de l'étape « %s »\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre éléments"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Le serveur Xorg est lent à démarrer. Veuillez patienter…"
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Les ressources de votre système sont limitées. Vous pouvez rencontrer des "
+"problèmes\n"
+"lors de l'installation de %s. Si c'est le cas, vous pouvez essayer une "
+"installation en mode texte.\n"
+"Pour cela, appuyez sur « F1 » lors du démarrage sur le CD-ROM, puis entrez « "
+"text »."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Sélection des médias"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Installer l'environnement de bureau Plasma %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installer le bureau GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Installation personnalisée"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Bureau Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Bureau GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Bureau personnalisé"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Voici un aperçu du bureau « %s »."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Cliquez sur l'image afin d'agrandir l'aperçu"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Sélection des groupes de paquetages"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Sélection individuelle des paquetages"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Désélectionner tout"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Taille totale : %d / %d Mo"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version : "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Taille : "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importance : "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Vous ne pouvez pas sélectionner/désélectionner ce paquetage"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "parce que %s manque"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "car %s n'est pas résolu"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "tentative de promouvoir %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "afin de conserver %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Il n'y a pas assez d'espace disque disponible pour installer ce paquetage"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Les paquetages suivants vont être installés"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Les paquetages suivants vont être désinstallés"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ce paquetage est nécessaire, vous ne pouvez pas le désélectionner"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Vous ne pouvez pas désélectionner ce paquetage. Il est déjà installé"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Vous ne pouvez pas désélectionner ce paquetage, car il doit être mis à jour"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Montrer les paquetages sélectionnés automatiquement"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installation"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Charger/Sauvegarder la sélection"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Mise à jour de la sélection des paquetages"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Basculer entre une liste de paquetages avec ou sans arborescence"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Installation minimale"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gestion des logiciels"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Choisissez les paquetages que vous voulez installer"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installation"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Pas de détails"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Temps restant :"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(estimation en cours…)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquetage"
+msgstr[1] "%d paquetages"
+msgstr[2] "%d paquetages"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Résumé"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurer"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "non configuré"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Les médias d'installation suivants ont été trouvés.\n"
+"Si vous ne désirez pas utiliser certains d'entre eux, vous pouvez les "
+"désélectionner maintenant."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Vous avez la possibilité de copier le contenu des CD sur le disque dur avant "
+"l'installation.\n"
+"Celle-ci s'effectuera alors à partir du disque dur et les paquetages "
+"resteront disponibles une fois le système installé."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copier entièrement les CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Une erreur est survenue"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Veuillez choisir votre disposition de clavier"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Voici la liste complète des claviers disponibles :"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installation/Mise à jour"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Désirez-vous faire une installation ou une mise à jour ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installation"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Mettre à jour %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clé de chiffrement pour %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Annuler l'installation, relancer le système"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nouvelle installation"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Mettre à jour l'installation précédente (non recommandé)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"L'assistant d'installation a détecté que votre système Linux installé\n"
+"ne peut être migré vers %s en toute sécurité.\n"
+"\n"
+"Une nouvelle installation remplaçant l'ancienne est recommandée.\n"
+"\n"
+"Attention, vous devriez sauvegarder vos données personnelles\n"
+"avant de choisir « Nouvelle installation »."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Configuration CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Changez de CD-ROM !\n"
+"Veuillez insérer le CD-ROM nommé « %s » dans votre lecteur puis cliquez sur "
+"« OK ».\n"
+"Si vous ne le possédez pas, cliquez sur « Annuler » afin de ne rien "
+"installer à partir de ce CD-ROM."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Recherche des paquetages disponibles…"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Votre système n'a pas assez d'espace libre pour l'installation ou la mise à "
+"jour (%dMo > %dMo)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Veuillez choisir entre le chargement ou la sauvegarde de la sélection des "
+"paquetages.\n"
+"Le format est le même que celui de l'installation automatisée (auto_install)."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Charger"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Mauvais fichier"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Sélection du bureau"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Vous pouvez choisir un profil de bureau de station de travail."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "La taille sélectionnée est plus importante que la place disponible"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Type d'installation"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vous n'avez sélectionné aucun groupe de paquetages.\n"
+"Veuillez choisir l'installation minimale désirée :"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Avec X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installer les paquetages recommandés"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Avec la documentation de base (recommandé !)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installation vraiment minimale (et en particulier pas d'urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Préparation de la mise à jour"
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Préparation de l'installation"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installation du paquetage %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Erreur lors du tri des paquetages :"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Souhaitez-vous tout de même continuer ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ré-essayer"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Ignorer ce paquetage"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Ignorer tous les paquetages du média « %s »"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Retourner à la sélection du média et des paquetages"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Erreur lors de l'installation du paquetage %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuration post-installation"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Assurez-vous que le média de mise à jour des modules est dans le lecteur %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Mises à jour"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Maintenant vous pouvez paramétrer le média en ligne."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Ceci vous permet d'installer les mises à jour de sécurité."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Pour paramétrer ces médias, vous devez disposer d'une connexion Internet.\n"
+"\n"
+"Voulez-vous paramétrer le média de mise à jour ?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Ce gestionnaire de téléchargement n’a pas pu être installé"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Essayer de nouveau ?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Échec lors de l'ajout du dépôt"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Vous avez maintenant la possibilité de télécharger les paquetages mis à "
+"jour\n"
+"depuis la sortie de cette distribution. Il peut y avoir des correctifs de\n"
+"sécurité ou des résolutions d'anomalies.\n"
+"\n"
+"Vous devez avoir une connexion Internet pour les télécharger.\n"
+"\n"
+"Souhaitez-vous installer les mises à jour ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s sur %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Matériel"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Carte son"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface graphique"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Réseau et Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxies (serveurs mandataires)"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configuré"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Niveau de sécurité"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Pare-feu"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activé"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "désactivé"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Vous n'avez pas configuré le serveur d'affichage X. Êtes-vous sûr que c'est "
+"ce que vous désirez ?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Préparation du chargeur d'amorçage..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Merci d'être patient, cela peut prendre quelques minutes…"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"A ce niveau de sécurité, l'accès aux fichiers de la partition Windows sera "
+"restreint à l'administrateur."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insérez une disquette vierge dans le lecteur %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Création de la disquette d'auto-installation…"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Certaines étapes ne sont pas terminées.\n"
+"\n"
+"Souhaitez-vous vraiment quitter maintenant ?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Félicitations"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Redémarrage"
+
+#. -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 "Langue"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localisation"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Souris"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Détection des disques durs"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe d'installation"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Clavier"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sécurité"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionnement"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatage"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Choix des paquetages"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installation"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilisateurs"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Amorçage"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configuration de X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Résumé"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Services"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Mises à jour"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Quitter"
diff --git a/perl-install/install/share/po/fur.po b/perl-install/install/share/po/fur.po
new file mode 100644
index 000000000..e9a83597c
--- /dev/null
+++ b/perl-install/install/share/po/fur.po
@@ -0,0 +1,1611 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Andrea Gracco <graccoandrea@tin.it>, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-18 00:30+0000\n"
+"Last-Translator: Transifex Bot <>\n"
+"Language-Team: Friulian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/fur/)\n"
+"Language: fur\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Cartele"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rêt"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permès dineât"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configurazion"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "A si è verificât un fal fatâl: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Svilup"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentazion"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambient Grafic"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Al è intravignût un fal, ma no sai ben cemût gjestîlu.\n"
+"Continue a to azard."
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Dimension: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Entitât: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "cause cal mancje %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "cause che %s no l'è sodisfat"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "ricercje dal miôr pachet %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "par tignî %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instale"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gjestôr Software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configure"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Al è intravignût un fal"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instale"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Salve"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Atualizazions"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fal te zonte de font"
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rêt & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel di Sigurece"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "disabilitât"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Congratulazions"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Torne a inviâ"
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Surie"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiere"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurece"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utents"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizis"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atualizazions"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Jessì"
diff --git a/perl-install/install/share/po/ga.po b/perl-install/install/share/po/ga.po
new file mode 100644
index 000000000..fc5b98285
--- /dev/null
+++ b/perl-install/install/share/po/ga.po
@@ -0,0 +1,1615 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Alastair McKinstry <mckinstry@computer.org>, 2002
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-18 00:30+0000\n"
+"Last-Translator: Transifex Bot <>\n"
+"Language-Team: Irish (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ga/)\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
+"4);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Líonra (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Líonra (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Líonra (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Cumraigh NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Comhadlann"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ag cúrdach pacáistí le húasgrádú..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Earráid ag léamh comhad %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Líonra"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tá an comhad ann cheana. Forscríobh?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Cead diúltaithe"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Suiteáil"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "cumraíocht"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Is gá %s a fhormáidiú freisin"
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ag tosnú suas an ghréasán"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ag dúnadh síos an ghreasán"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "riachtanas"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "tábhachtach"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "an-dheas"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "deas"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "b'fhéidir"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Gan cur síos"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Stáisiún Oibre"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Stáisiún Oibre"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Stáisiún Cluichí"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Stáisiún ilmheánach"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Stáisiún Idirlíon"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Uirlisí Consóil"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Forbairt"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Doiciméadú"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Freastalaí Lín"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grúpearraí"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Freastalaí Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Ríomhphost/Nuacht"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Freastalaí Eolaire"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Freastalaí FTP:"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Bunachar Sonraí"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Greasan/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Timpeallacht Ghrafach"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stáisiún Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Deasc Graphaicí Eile"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Uirlisí"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Freastalaí SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Ta earraid ann, níl a fhios agam conas é a cheartú.\n"
+"Lean ort, ar do phriacal féin."
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Ag tosnú ar céim `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Suiteáil %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Méid iomlán: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Leagan: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Méid: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Tábhacht: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Feistiú"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Bainistíocht Bhogearraí"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Ag Feistiú"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Coimriú"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Cumraigh"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Tharla earráid"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Roghnaigh leagan amach do mhéarchláir"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Suiteáil"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ag curdach do na pacáistí atá ar fáil..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Lód"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Sábháil"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Le X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Ag Ullmhaigh feistiú"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Ag feistiál pacáiste %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Lean ar aghaidh ar aon nós?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Atriail"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Cumraíocht Iar-feistú"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Leasuithe"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s ar %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Crua-earraí"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Carta Fuaim"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Comhéadan grafach"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Gréasán agus Idirlíon"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Ionadaithe"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "cumraithe"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Leibhéal Slándála"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Bac slándála"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "díchumasaithe"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Cur isteach diosca folamh sa dioscthiomant %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Comhghairdeas"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Atosaigh"
+
+#. -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 "Roghnaigh do theanga"
+
+#: 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 "Ceadúnas"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Luchóg"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Eocharclár"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Slándáil"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formáidiú"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Ag Feistiú"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Úsáideoirí"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Clár dúisithe"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Cumraigh X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Coimriú"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Seirbishí"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Leasuithe"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Scoir"
diff --git a/perl-install/install/share/po/gl.po b/perl-install/install/share/po/gl.po
new file mode 100644
index 000000000..e55fc30bd
--- /dev/null
+++ b/perl-install/install/share/po/gl.po
@@ -0,0 +1,1703 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Alejo Pacín Jul <alejopj@gmail.com>, 2009
+# Jesús Bravo Ãlvarez (mdk) <jba@pobox.com>, 2001
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2004-2006,2008
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Galician (http://www.transifex.com/MageiaLinux/mageia/"
+"language/gl/)\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ten soportes suplementarios adicionais?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Atopáronse os seguintes soportes e vanse usar durante a instalación: %s.\n"
+"\n"
+"\n"
+"Ten algún soporte de instalación suplementario para configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuración de NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Introduza o nome de máquina e o directorio do soporte NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Falta o nome de máquina"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "O directorio debe comezar por \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Cal é o nome de máquina da montaxe NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directorio"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Suplementario"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Non se puido atopar un ficheiro de lista de paquetes neste sitio espello.\n"
+"Asegúrese de que a localización é a correcta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Buscando os paquetes que xa están instalados..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Buscando paquetes para actualizar..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Eliminando paquetes antes de actualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Vanse eliminar os seguintes paquetes para poder actualiza-lo seu sistema: "
+"%s\n"
+"\n"
+"\n"
+"Desexa eliminar estes paquetes?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erro ó le-lo ficheiro %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Renomeáronse os seguintes discos:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (chamado anteriormente %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Escolla un soporte"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O ficheiro xa existe. ¿Desexa sobreescribilo?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS incorrecto"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "O soporte %s é incorrecto"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Non se pode captura-la pantalla antes de face-las particións"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Poderanse facer capturas de pantalla despois de instalar en %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalación"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuración"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Tamén debe formatar %s"
+
+#: 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 ""
+"Algún hardware do seu ordenador necesita drivers ``propietarios''\n"
+"para funcionar. Pode atopar máis información sobre eles en: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Activando a rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Desactivando a rede"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Por favor, agarde, recuperando o ficheiro"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "Incapaz de engadir o soporte"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copiando algúns paquetes dos discos para un uso posterior"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copiando"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "debe telo"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "moi bo"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bo"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "indiferente"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Non hai información xml do soporte \"%s\", só resultado parcial para o "
+"paquete %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Sen descrición"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Non se pode instalar algúns paquetes solicitados por %s:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ocorreu un erro:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ocorreu un erro moi grave: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Erraron %d transaccións de instalación"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Errou a instalación de paquetes:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estación de traballo"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Estación de Traballo de Oficina"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de oficina: procesadores de texto (LibreOffice Writer, Kword), "
+"follas de cálculo (LibreOffice Calc, Kspread), visualizadores de pdf, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Estación de xogos"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de diversión: arcade, taboleiros, estratexia, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Estación multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de reproducción e edición de son e vídeo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Estación de Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conxunto de ferramentas para ler e enviar correo-e e novas (mutt, tin...) e "
+"para navegar pola Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordenador de Rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos incluíndo ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilita-la configuración do ordenador"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de Consola"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, shells, ferramentas de ficheiro, terminais"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desenvolvemento"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Bibliotecas de desenvolvemento de C e C++, programas e ficheiros include"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentación"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libros e Howtos sobre Linux e o Software Libre"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Soporte para aplicacións de terceiros"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Cortalumes/Encamiñador"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasarela de Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Correo/Novas"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correo Postfix, servidor de novas Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de Directorio"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de Nomes de Dominio e Información de Rede"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de Compartimento de Impresoras e Ficheiros"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Bases de datos"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servidores de bases de datos PostgreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Correo-e"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correo Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servidores de bases de datos PostgreSQL ou MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor de Redes de Ordenadores"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor Proxy, servidor ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente Gráfico"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"O Ambiente de Escritorio KDE, o ambiente gráfico básico cunha colección de "
+"ferramentas que o acompañan"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estación de Traballo GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un ambiente gráfico cun conxunto de aplicacións amigables e ferramentas de "
+"escritorio"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Escritorio LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros Escritorios Gráficos"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuración Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Monitorización/Utilidades de Rede"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Ferramentas de monitorización, accounting de procesos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Asistentes de Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Asistentes para configurar o servidor"
+
+#: 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 ""
+"Ocorreu un erro, e o programa non sabe como manexalo de\n"
+"maneira limpa. Continúe baixo a súa propia responsabilidade."
+
+#: steps.pm:469
+#, 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 ""
+"Algúns paquetes importantes non se instalaron correctamente.\n"
+"A unidade de cdrom ou o cdrom están defectuosos.\n"
+"Comprobe o cdrom nun ordenador xa instalado usando\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Chegando ó paso '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalación de %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Ó servidor Xorg lévalle tempo arrincar. Agarde..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"O seu sistema ten poucos recursos. Pode que teña algún problema\n"
+"ó instalar %s. Se iso acontece, pode intenta-la instalación\n"
+"en modo texto. Para iso, prema 'F1' cando arrinque dende o CDROM,\n"
+"e escriba 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Selección de Soportes"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalar o Escritorio GNOME de %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalación personalizada"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Escritorio GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Escritorio Personalizado"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Aquí ten unha vista previa do escritorio '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Prema nas imaxes para ter unha vista previa maior"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selección de Grupos de Paquetes"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selección individual de paquetes"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deseleccionar Todo"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamaño total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versión: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamaño: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importancia: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Non pode seleccionar/deseleccionar este paquete"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "debido a que falta %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "debido a %s non satisfeitas"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "tratando de promover %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "para manter %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Non pode seleccionar este paquete xa que non hai espacio dabondo para "
+"instalalo"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Vanse instala-los seguintes paquetes"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Vanse elimina-los seguintes paquetes"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Este é un paquete obrigatorio, non se pode deseleccionar"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Non pode deseleccionar este paquete. Xa está instalado"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Non pode deseleccionar este paquete. Ten que ser actualizado"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Amosa-los paquetes seleccionados automáticamente"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Cargar/Gardar a selección"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizando a selección de paquetes"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalación mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Xestión do Software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolla os paquetes que desexa instalar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sen detalles"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tempo restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(estimando...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquete"
+msgstr[1] "%d paquetes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resumo"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "non configurado"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Atopáronse os seguintes soportes de instalación.\n"
+"Se desexa saltar algún deles, pode deseleccionalo agora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Ten a opción de copiar os contidos dos CDs ó disco duro antes da "
+"instalación.\n"
+"Esta continuará despois dende o disco duro e os paquetes permanecerán "
+"dispoñibles unha vez que o sistema xa estea instalado."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar CDs enteiros"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu un erro"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Escolla a disposición do seu teclado"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Esta é a lista completa dos teclados dispoñibles:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Actualizar"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "¿É unha instalación ou unha actualización?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalación"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clave de cifrado para %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancelar a instalación, rearrincar o sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova Instalación"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Actualizar unha instalación previa (non recomendado)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Cambie o CD-ROM!\n"
+"Insira o CD-ROM que teña a etiqueta \"%s\" na unidade e prema Aceptar.\n"
+"Se non o ten, prema Cancelar para omiti-la instalación deste CD-ROM."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Buscando os paquetes dispoñibles..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"O seu sistema non ten espacio libre dabondo para a instalación ou "
+"actualización (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Elixa cargar ou gardar a selección de paquetes.\n"
+"O formato é o mesmo có dos ficheiros xerados por auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Cargar"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Gardar"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ficheiro erróneo"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selección de Escritorio"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Pode escoller o seu perfil de escritorio de estación de traballo."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamaño seleccionado é maior có tamaño dispoñible"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalación"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Non seleccionou ningún grupo de paquetes.\n"
+"Seleccione a instalación mínima que desexa:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Coa documentación básica (¡recomendado!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalación realmente mínima (especialmente sen urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando a instalación"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalando o paquete %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Houbo un erro ó ordena-los paquetes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "¿Continuar de tódolos xeitos?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Volver tentar"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Omitir este paquete"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Omitir tódolos paquetes do soporte \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Volver a soportes e selección de paquetes"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Houbo un erro ó instala-ls paquetes %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuración trala instalación"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Asegúrese de que o soporte de Módulos de Actualización está na unidade %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Actualizacións"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Vanse instala-los seguintes paquetes"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fallo ó engadi-lo soporte"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Agora pode descargar paquetes actualizados. Estes paquetes\n"
+"actualizáronse despois de que saira a distribución. Poden conter\n"
+"solucións de erros ou de buratos na seguridade.\n"
+"\n"
+"Para descargar estes paquetes, cómpre ter unha conexión á Internet\n"
+"que funcione.\n"
+"\n"
+"Desexa instala-las actualizacións?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s en %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Tarxeta de son"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface Gráfica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de Seguridade"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Cortalumes"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "desactivado"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Non configurou as X. Está seguro de que desexa isto?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Sexa paciente, isto pode levar un anaco..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Con este nivel de seguridade, o acceso ós ficheiros da partición Windows "
+"está restrinxido ó administrador."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira un disquete baleiro na unidade %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creando un disquete de instalación automática..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Non se completaron algúns dos pasos.\n"
+"\n"
+"Desexa saír agora?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Noraboa"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#. -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 "Lingua"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localización"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenza"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Rato"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detección de discos duros"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Clase de instalación"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguridade"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Facendo as particións"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatado"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Escollendo os paquetes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalando"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuarios"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cargador de Arrinque"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configura-las X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumo"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicios"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizacións"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Cal é o URL do sitio espello?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "O URL debe comezar por ftp:// ou por http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Contactando co sitio web de %s para obte-la lista de sitios espello "
+#~ "dispoñibles..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Erro ó contactar co sitio web de %s para obte-la lista de sitios espello "
+#~ "dispoñibles"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Escolla un sitio espello dende o que obte-los paquetes"
diff --git a/perl-install/install/share/po/he.po b/perl-install/install/share/po/he.po
new file mode 100644
index 000000000..d0207a333
--- /dev/null
+++ b/perl-install/install/share/po/he.po
@@ -0,0 +1,1678 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Diego Iastrubni <iastrubn@actcom.co.il>, 2003
+# Dotan Kamber <kamberd@yahoo.com>, 2007-2008
+# dovix <dovix2003@yahoo.com>, 2004-2005
+# el-cuco <cuco3001@yahoo.com>, 2003
+# Itay Flikier <itayff@gmail.com>, 2005
+# nadav mavor <nadav@mavor.com>, 2003
+# Omer I.S. <omeritzicschwartz@gmail.com>, 2020-2021
+# Omer I.S. <omeritzicschwartz@gmail.com>, 2020-2021
+# Ram Matityahu <linuxfun@email.com>, 2003
+# Yaron Shahrabani <sh.yaron@gmail.com>, 2020-2021
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2021-08-14 20:20+0000\n"
+"Last-Translator: Omer I.S. <omeritzicschwartz@gmail.com>\n"
+"Language-Team: Hebrew (http://www.transifex.com/MageiaLinux/mageia/language/"
+"he/)\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % "
+"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "הצטרפו ×לינו!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "הפכו ×ותה לשלכ×!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "הבחירה שלך!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "×›×œ×™× ×œ×ž×©×¨×“"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "בידור ביתי"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "לילדי×"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "למשפחה!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "למפתחי×!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "תודה רבה!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "עִברו לחירות!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "×”×× ×™×© לך מ××’×¨×™× × ×•×¡×¤×™× ×œ×”×ª×§× ×”?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"המ××’×¨×™× ×©×œ×”×œ×Ÿ נמצ×ו ויעשה ×‘×”× ×©×™×ž×•×© במהלך ההתקנה: %s.\n"
+"\n"
+"\n"
+"×”×× ×™×© לך ×מצעי התקנה × ×•×¡×¤×™× ×©×‘×¨×¦×•× ×š להגדיר?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "רשת (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "רשת (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "רשת (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "הגדרת NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "× × ×œ×¡×¤×§ ×ת ×©× ×”×ž×רח ו×ת תיקיית מ×גר NFS שלך"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "×©× ×”×ž×רח חסר"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "על כל תיקייה להתחיל ×¢× \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "×©× ×”×ž×רח של עיגון ×”-NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "תיקייה"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "תוספי×"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"×ין ×פשרות ×œ×ž×¦×•× ×§×•×‘×¥ המכיל רשימת חבילות במקור ×–×”. × × ×œ×•×•×“× ×©×”×›×ª×•×‘×ª תקינה."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "כד××™ להפעיל ×ת \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "â€\"%s\" מכילה תוכנה ש××™× ×” חופשית.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "מ×גר ×–×” מספק עדכוני חבילות למ×גר \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "מתבצע חיפוש חבילות שכבר הותקנו..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "מתבצע ×יתור החבילות לשדרוג..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "מתבצעת הסרת חבילות לפני השדרוג..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"החבילות הב×ות יוסרו כדי ל×פשר ×ת עדכון המערכת: %s\n"
+"\n"
+"\n"
+"להסיר חבילות ×לו?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "שגי××” בקרי×ת הקובץ %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "שמות הכונן/×™× ×”×‘××™× ×©×•× ×•:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (×”×©× ×”×§×•×“× ×”×•× %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "רשת"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "× × ×œ×‘×—×•×¨ מ×גר"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "הקובץ כבר ×§×™×™×. לדרוס ×ותו?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "הגישה נדחתה"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "×©× NFS ל×-תקין"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "מ×גר ×œ× ×ª×§×™×Ÿ %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "×œ× × ×™×ª×Ÿ לעשות צילומי מסך לפני החלוקה למחיצות"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "×חרי ההתקנה, ניתן ×œ×ž×¦×•× ×ת צילומי המסך תחת %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "התקנה"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "הגדרה"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "חובה לפרמט ×’× ×ת %s"
+
+#: 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 ""
+"חלק מהחומרה במחשב שלך זקוקה למנהלי ×”×ª×§× ×™× ×´×§× ×™×™× ×™×™××´ כדי לפעול.\n"
+"ניתן ×œ×ž×¦×•× ×ž×™×“×¢ ×¢×œ×™×”× ×‘×›×ª×•×‘×ª: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "מ×תחל ×ת שירותי הרשת"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "מוריד ×ת שירותי הרשת"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "× × ×œ×”×ž×ª×™×Ÿ, הקובץ מתקבל"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "×ין ×פשרות להוסיף ×ת ×מצעי ההתקנה"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "מספר חבילות על ×”×›×•× × ×™× ×ž×•×¢×ª×§×•×ª לשימוש עתידי"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "העתקה מתבצעת"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "חובה"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "×¢× ×—×©×™×‘×•×ª"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "מעולה מ×וד"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "מעולה"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "×ולי"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "×ין מידע ב-xml למקור \"%s\", תוצ××” חלקית בלבד עבור החבילה %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "×œ×œ× ×ª×™×ור"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"×œ× × ×™×ª×Ÿ להתקין חלק מהחבילות המבוקשות על ידי %s:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "×ירעה שגי××”:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "×ירעה שגי××” חמורה: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "×œ× ×œ×©×ול שוב"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d העברות ההתקנה נכשלו"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "התקנת החבילות נכשלה:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "תחנת עבודה"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "תחנת עבודה משרדית"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"תכניות למשרד: מעבדי ×ª×ž×œ×™×œ×™× (LibreOffice Writer,†Kword), גיליונות ××œ×§×˜×¨×•× ×™× "
+"(LibreOffice Calc,†Kspread), מציגי PDF, ועוד"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "תחנת משחקי×"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "תכניות לבידור: ×רקייד, לוח, ×סטרטגיה, ועוד"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "תחנת מולטימדיה"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "תכניות להשמעה ×ו עריכה של קול וויד×ו"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "תחנת ×ינטרנט"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"ערכת ×›×œ×™× ×œ×§×¨×™××” וכתיבת דו×\"ל וחדשות (pine, mutt, tin..) ולגלישה ב×ינטרנט"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "מחשב רשת (לקוח)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "לקוחות ×œ×¤×¨×•×˜×•×§×•×œ×™× ×©×•× ×™× ×›×•×œ×œ ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "×›×œ×™× ×œ×”×§×œ×ª ההגדרה של מחשבך"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "כלי מסוף"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "עורכי×, מעטפות, כלי קבצי×, מסופי×"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "פיתוח"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "ספריות, תכניות ×•×’× ×§×‘×¦×™× ×œ×¤×™×ª×•×— ב־C וב־Câ€++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "תיעוד"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "×¡×¤×¨×™× ×•×ž×“×¨×™×›×™× ×œ×©×™×ž×•×© בלינוקס ותכנה חופשית"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "â€Linux Standard Base. תמיכה ביישומי צד שלישי"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "שרת רשת"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "עבודה בקבוצה"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "שרת Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "חומת ×ש/נתב"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "הגנת המערכת בעת חיבור ל×ינטרנט"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "דו×ר/קבוצות דיון"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "שרת דו×ר Postfix, שרת קבוצות דיון Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "שרת תיקייה"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "שרת FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "שרת שמות ×ž×ª×—× ×•×ž×™×“×¢ רשת"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "שרת שיתוף ×§×‘×¦×™× ×•×ž×“×¤×¡×•×ª"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "שרת NFS, שרת Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "מסד נתוני×"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "שרת מסד × ×ª×•× ×™× MariaDB ×ו PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "דו×ר"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "שרת דו×ר Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "שרת מסד × ×ª×•× ×™× MariaDB ×ו PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "שרת מחשב רשת"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "שרת NFS, שרת SMB, שרת פרוקסי, שרת מתווך, שרת ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "סביבה גרפית"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "סביבת שולחן העבודה Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "סביבת שולחן עבודה פופולרית וקלה לשימוש ×¢× ×ž×’×•×•×Ÿ ×™×™×©×•×ž×™× × ×œ×•×•×™×"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "סביבת העבודה GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "סביבת שולחן עבודה פופולרית וקלה לשימוש ×¢× ×ž×’×•×•×Ÿ ×™×™×©×•×ž×™× × ×œ×•×•×™×"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "סביבת שולחן העבודה Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "סביבת שולחןהעבודה MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "סביבת שולחןהעבודה Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "סביבה גרפית המבוססת על GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "שולחן העבודה LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "שולחן העבודה הקליל בהסבה ל־QT מהדור הב×"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "שולחן העבודה Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "שולחן העבודה LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "סביבות עבודה ×חרות"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "עזרי×"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "שרת SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "שרת הגדרה תצורה מרחוק Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "כלי הגדרת וניטור רשת"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "צג, כלי ניטור, בקרת תהליכי×, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "×שפי Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "××©×¤×™× ×œ×”×’×“×¨×ª השרת שלך"
+
+#: 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 ""
+"חלה תקלה, ×ך ××™× ×™ יודע ×יך לפתור ×ותה.\n"
+"המשך הפעולה הינו ב×חריותך בלבד."
+
+#: steps.pm:469
+#, 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 ""
+"מספר חבילות חשובות ×œ× ×”×•×ª×§× ×• כהלכה.\n"
+"ייתכן וישנה בעיה בכונן ×”×ª×§×œ×™×˜×•×¨×™× ×ו בתקליטור ההתקנה.\n"
+"יש לבדוק ×ת תקליטור ההתקנה במחשב מותקן ב×מצעות \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "כניסה לשלב „%sâ€\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s התקנה %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> בין רכיבי×"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "שרת Xorg מופעל ל×ט. × × ×œ×”×ž×ª×™×Ÿ..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "בחירת מ×גר"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "התקנת %s שולחן העבודה של Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "התקנת %s שולחן העבודה GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "התקנה מות×מת ×ישית"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "שולחן העבודה Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "שולחן העבודה GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "שולחן עבודה בהת×מה ×ישית"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "הנה תצוגה מקדימה של שולחן העבודה %s"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "יש ללחוץ על התמונה כדי להגדיל ×ת התצוגה המקדימה"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "בחירת קבוצת חבילות"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "בחירת חבילות יחידות"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "ביטול בחירת הכול"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "גודל כולל: %d / %d מ״ב"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "גרסה: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "גודל: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d ק״ב\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "חשיבות: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "××™ ×פשר לבחור/לבטל ×ת החבילה הזו"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "בגלל שחסר %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "עקב תלות ×©×œ× ×ž×•×œ××” %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "×§×™×“×•× %s בניסיון"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "על מנת לשמור %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "××™ ×פשר לבחור בחבילה זו מכיוון ×©×œ× × ×•×ª×¨ מספיק ×ž×§×•× ×¤× ×•×™ להתקינה"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "החבילות הב×ות עומדות להיות מותקנות"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "החבילות הב×ות עומדות להיות מוסרות"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "זוהי חבילה בסיסית, ××™ ×פשר לבטל ×ת בחירתה"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "×ין ×פשרות לבטל חבילה זו מכיוון ×©×”×™× ×›×‘×¨ מותקנת"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "×œ× × ×™×ª×Ÿ לבטל ×ת בחירת חבילה זו, חובה לשדרג ×ותה"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "הר××” חבילות שנבחרו ב×ופן ×וטומטי"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "התקנה"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "טעינת/שמירת ×זור נבחר"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "עדכון החבילות הנבחרות"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "התקנה חסכונית"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ניהול תוכנה"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "× × ×œ×‘×—×•×¨ ×ת החבילות שברצונך להתקין"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "התקנה"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "×œ×œ× ×¤×¨×˜×™×"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "הזמן שנותר:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(מתבצע שיערוך...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d חבילה"
+msgstr[1] "%d חבילות"
+msgstr[2] "%d חבילות"
+msgstr[3] "%d חבילות"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "סיכו×"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "הגדרה"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "×œ× ×ž×•×’×“×¨"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"מ×גרי ההתקנה שלהלן נמצ×ו.\n"
+"×× ×‘×¨×¦×•× ×š לדלג על כמה מה×, ניתן לבטל ×ת ×¡×™×ž×•× × ×›×¢×ª."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"ניתן להעתיק ×ת תכולת ×”×ª×§×œ×™×˜×•×¨×™× ×œ×›×•× ×Ÿ הקשיח לפני תחילת ההתקנה.\n"
+"×× ×פשרות זו מופעלת, ההתקנה תמשיך מהכונן הקשיח, וכל החבילות מתקליטורי ההתקנה "
+"יהיו זמינות ×חרי ×¡×™×•× ×”×”×ª×§× ×” מהכונן הקשיח."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "העתקת ×ª×§×œ×™×˜×•×¨×™× ×©×œ×ž×™×"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "×ירעה שגי××”"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "× × ×œ×‘×—×•×¨ ×ת פריסת המקלדת שלך"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "להלן רשימת המקלדות הזמינות המל××”:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "התקנה/שדרוג"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "התקנה ×ו שדרוג?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "התקנה"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "שדרוג %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "מפתח הצפנה עבור %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "ביטול ההתקנה, הפעלת המערכת מחדש"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "התקנה חדשה"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "שדרוג התקנה קודמת (×œ× ×ž×•×ž×œ×¥)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"יש להחליף ×ת התקליטור!\n"
+"× × ×œ×”×›× ×™×¡ ×ת התקליטור ×‘×©× \"%s\" לכונן וללחוץ על ×ישור כשסיימת.\n"
+"×× ×ינו ברשותך, יש ללחוץ על ביטול כדי למנוע התקנה מתקליטור ×–×”."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "מתבצע חיפוש ×חר חבילות זמינות..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "למערכת שלך ×ין מספיק שטח פנוי להתקנה ×ו לשדרוג (%d מ״ב > %d מ״ב)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"עליך לבחור ב×× ×œ×˜×¢×•×Ÿ ×ו לשמור ×ת בחירת החבילות.\n"
+"מבנה הקובץ ×–×”×” לקובץ auto_install הנוצר ב×ופן ×וטומטי."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "טעינה"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "שמירה"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "קובץ ל×-תקין"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "בחירת שולחן עבודה"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "×פשר לבחור ×ת פרופיל שולחן העבודה לתחנת העבודה שלך."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "הגודל הנבחר גדול יותר ×ž×”×ž×§×•× ×”×–×ž×™×Ÿ"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "סוג ההתקנה"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"×œ× × ×‘×—×¨×” ××£ קבוצה של חבילות.\n"
+"× × ×œ×‘×—×•×¨ ×ת ההתקנה המינימלית שברצונך לבצע:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "×¢× ×¡×‘×™×‘×” גרפית (X)"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "להתקין ×ת החבילות המומלצות"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "×¢× ×ª×™×¢×•×“ בסיסי (מומלץ!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "התקנה מינימלית ×מיתית (בייחוד ×œ× urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "השדרוג בהכנות..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ההתקנה בהכנות"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "החבילה %s בהליכי התקנה"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "הייתה שגי××” בסידור החבילות:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "להמשיך בכל ×–×ת?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "ניסיון חוזר"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "דילוג על חבילה זו"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "דילוג על כל החבילות ממקור \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "חזרה לבחירת מ××’×¨×™× ×•×—×‘×™×œ×•×ª"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "הייתה שגי××” בהתקנת החבילה %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "הגדרה של×חר ההתקנה"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "× × ×œ×•×•×“× ×©×”×ž×גר לעדכוני ×”×ž×•×“×•×œ×™× × ×ž×¦× ×‘×›×•× ×Ÿ %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "עדכוני×"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "כעת ×פשר להגדיר ×ת המ××’×¨×™× ×”×ž×§×•×•× ×™×."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "מ×פשר לך להתקין עדכוני ×בטחה."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"להגדרת המ××’×¨×™× ×”×œ×œ×•, יש צורך בחיבור תקין ל×ינטרנט.\n"
+"\n"
+"להגדיר ×ת מ×גרי העדכון?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "החבילות הב×ות עומדות להיות מותקנות"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "לנסות שוב?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "הוספת המ××’×¨×™× × ×›×©×œ×”"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"שלב ×–×” מ×פשר לך להוריד ולהתקין חבילות עדכון. חבילות ×לה עודכנו ל×חר שחרור "
+"ההפצה,\n"
+"ועשויות להכיל עדכוני ×בטחה ו/×ו עדכוני תוכנה חשובי×.\n"
+"\n"
+"להורדת חבילות ×לה נדרש חיבור ×ינטרנט עובד. לעדכן ×ת המערכת בשלב ×–×”?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s על %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "חומרה"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "כרטיס קול"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ממשק גרפי"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "רשת ו×ינטרנט"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "×©×¨×ª×™× ×ž×ª×•×•×›×™×"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "מוגדר"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "רמת ×בטחה"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "חומת ×ש"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "פועל"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "מנותק"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "×œ× ×”×•×’×“×¨ ממשק גרפי (X). לבחור ×פשרות זו?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "תכנית ההפעלה הר×שונית בהכנות..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "יש להת×זר בסבלנות, ×–×” עלול לקחת זמן..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "ברמת ×בטחה זו, הגישה ×œ×§×‘×¦×™× ×‘×ž×—×™×¦×ª Windows תוגבל למנהל בלבד."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "× × ×œ×”×›× ×™×¡ תקליטון ריק לכונן %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "נוצר תקליטון להתקנה ×וטומטית..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"חלק ×ž×”×©×œ×‘×™× ×œ× ×”×•×©×œ×ž×•.\n"
+"\n"
+"לצ×ת עכשיו?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ברכות"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "הפעלה מחדש"
+
+#. -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 "שפה"
+
+#: 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 "רישיון"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "עכבר"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "זיהוי כונן קשיח"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "סוג התקנה"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "מקלדת"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "×בטחה"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "חלוקה למחיצות"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "תבניות"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "בחירת חבילות"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "התקנה"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "משתמשי×"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "מנהל ×תחול"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "הגדרת X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "סיכו×"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "שירותי×"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "עדכוני×"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "יצי××”"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "הכתובת של ×תר המַּר×ָה?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "על הכתובת להתחיל ×¢× â€ftp://‎ â€×ו â€â€http://‎"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "יש לבחור ×תר מר×ָה לקבלת החבילות דרכו"
diff --git a/perl-install/install/share/po/hi.po b/perl-install/install/share/po/hi.po
new file mode 100644
index 000000000..e12aaf06e
--- /dev/null
+++ b/perl-install/install/share/po/hi.po
@@ -0,0 +1,1644 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Panwar108 <caspian7pena@gmail.com>, 2020
+# धनञà¥à¤œà¤¯ शरà¥à¤®à¤¾ (Dhananjaya Sharma) <dysxhi@yahoo.co.in>, 2003-2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-07-24 16:08+0000\n"
+"Last-Translator: Panwar108 <caspian7pena@gmail.com>\n"
+"Language-Team: Hindi (http://www.transifex.com/MageiaLinux/mageia/language/"
+"hi/)\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "डिरेकà¥à¤Ÿà¥à¤°à¥€"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "पहिले से संसाधित पैकेजों को देखा जा रहा है..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "उनà¥à¤¨à¤¯à¤¨ के लिये पैकेजों को खोजा जा रहा है..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"आपके तंतà¥à¤° को अपगà¥à¤°à¥‡à¤¡ करने के लिठनिमà¥à¤¨à¤²à¤¿à¤–ित पैकेजों को हटाना होगा: %s\n"
+"\n"
+"\n"
+"कà¥à¤¯à¤¾ वासà¥à¤¤à¤µ में इन पैकेजों को हटाना चाहते है?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s संचिका को पà¥à¤¨à¥‡ में तà¥à¤°à¥à¤Ÿà¤¿"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "à¤à¤šà¤Ÿà¥€à¤Ÿà¥€à¤ªà¥€"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "à¤à¤«à¤Ÿà¥€à¤ªà¥€"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "à¤à¤¨à¤à¤«à¤¼à¤à¤¸"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "नेटवरà¥à¤•"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "अनà¥à¤®à¤¤à¤¿ नहीं है"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "विभाजनीकरण के पूरà¥à¤µ सà¥à¤•à¥à¤°à¥€à¤¨-चितà¥à¤°-माला को नहीं लिया जा सकता है"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "%s में संसाधन के उपरानà¥à¤¤ सà¥à¤•à¥à¤°à¥€à¤¨ चितà¥à¤°-माला उपलबà¥à¤§ होगी"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "संरचना"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "आपको %s को भी à¤à¤•सार करना चाहिà¤"
+
+#: 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 ""
+"आपके कमà¥à¤ªà¥à¤¯à¥‚टर पर सà¥à¤¥à¤¿à¤¤ कà¥à¤› हारà¥à¤¡à¤µà¥‡à¤¯à¤°à¥‹à¤‚ कारà¥à¤¯ करने के लिठ``सà¥à¤µà¤¾à¤®à¤¿à¤•'' चालकों की आवशà¥à¤¯à¤•ता है "
+"।\n"
+"आप इनके बारे में कà¥à¤› सूचना उपरोकà¥à¤¤ पर पा सकते है: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "नेटवरà¥à¤• को लाया जा रहा है"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "नेटवरà¥à¤• को लाया जा रहा है"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "कॉपी किया जा रहा है"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "होना चाहिà¤"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "महतà¥à¤µà¤ªà¥‚रà¥à¤£"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "बहà¥à¤¤ अचà¥à¤›à¤¾"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "बहà¥à¤¤ अचà¥à¤›à¤¾"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "हो सकता है"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "कोई वरà¥à¤£à¤¨ नहीं"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हो गयी है"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "à¤à¤• घातक तà¥à¤°à¥à¤Ÿà¤¿ घटित हà¥à¤ˆ है: %s "
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d संसाधन कà¥à¤°à¤¿à¤¯à¤¾-कलाप असफ़ल"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "कारà¥à¤¯à¤•ेंदà¥à¤°"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ऑफ़िस कारà¥à¤¯à¤•ेनà¥à¤¦à¥à¤°"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "खेल सà¥à¤Ÿà¥‡à¤¶à¤¨"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "मनोरंजक कारà¥à¤¯à¤•à¥à¤°à¤®: आरकेड, बोरà¥à¤¡, वà¥à¤¯à¥‚ह-रचना, इतà¥à¤¯à¤¾à¤¦à¤¿ "
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "मलà¥à¤Ÿà¥€à¤®à¥€à¤¡à¥€à¤¯à¤¾ केनà¥à¤¦à¥à¤°"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "धà¥à¤µà¤¨à¤¿ और वीडीयो के खेलने वाले/संपादन करने वाले कारà¥à¤¯à¤•à¥à¤°à¤®"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ केनà¥à¤¦à¥à¤°"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"विपतà¥à¤° और समाचारों को पà¥à¤¨à¥‡ और भेजने के लिठ(मट, टिन...) और वेब को बà¥à¤°à¤¾à¤‰à¥› करने के लिठ"
+"औज़ारों का समूह"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "नेटवरà¥à¤• कमà¥à¤ªà¥à¤¯à¥‚टर (गà¥à¤°à¤¾à¤¹à¤•)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "à¤à¤¸à¥¦à¤à¤¸à¥¦à¤à¤šà¥¦ को शामिल करते हà¥à¤ विभिनà¥à¤¨ पà¥à¤°à¥‹à¤Ÿà¥‹à¤•ॉलों के लिठगà¥à¤°à¤¾à¤¹à¤•"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "आपके कमà¥à¤ªà¥à¤¯à¥‚टर की संरचना कारà¥à¤¯ को सहज बनाने हेतॠअनेक औजार"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "कनà¥à¤¸à¥‹à¤² के औज़ार"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "अनेकों संपादक, कोश, संचिका औजार, टरà¥à¤®à¤¿à¤¨à¤²"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "विकास"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "सी और सी++ विकास लेखागार, कारà¥à¤¯à¤•à¥à¤°à¤® और इनà¥à¤•à¥à¤²à¥‚ड संचिकायें"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "पà¥à¤°à¤²à¥‡à¤–न"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "लिनकà¥à¤¸ और मà¥à¤•à¥à¤¤ सॉफ़à¥à¤Ÿà¤µà¥‡à¤¯à¤° पर किताबें और कैसे-करेंअसà¥à¤¤à¤•ें"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "à¤à¤²à¥¦à¤à¤¸à¥¦à¤¬à¥€à¥¦"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "लिनकà¥à¤¸ मानकीकरण आधार ! तà¥à¤°à¤¿à¤¤à¥€à¤¯ पकà¥à¤· कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ को समरà¥à¤¥à¤¨"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "वेब सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "गà¥à¤°à¥à¤ªà¤µà¥‡à¤¯à¤°"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "कोलाब सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "अगà¥à¤¨à¤¿-भीतिका/रूटर"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ गेटवे"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "à¤à¤«à¤Ÿà¥€à¤ªà¥€ सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "डाटाबेस"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "वेब/à¤à¥žà¥¦à¤Ÿà¥€à¥¦à¤ªà¥€à¥¦"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "आपाचे, पà¥à¤°à¥‹-à¤à¥žà¥¦à¤Ÿà¥€à¥¦à¤ªà¥€à¥¦à¤¡à¥€à¥¦"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "विपतà¥à¤°"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "पोसà¥à¤Ÿà¥žà¤¿à¤•à¥à¤¸ विपतà¥à¤° सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "पोसà¥à¤Ÿà¤—à¥à¤°à¥€à¤¸à¥€à¤•à¥à¤¯à¥‚अल या माईसीकà¥à¤¯à¥‚अल डाटाबेस सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "नेटवरà¥à¤• कमà¥à¤ªà¥à¤¯à¥‚टर सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "à¤à¤¨à¥¦à¤à¥žà¥¦à¤à¤¸à¥¦ सरà¥à¤µà¤°, à¤à¤¸à¥¦à¤à¤®à¥¦à¤¬à¥€à¥¦ सरà¥à¤µà¤°, पà¥à¤°à¥‹à¤•à¥à¤¸à¥€ सरà¥à¤µà¤°, à¤à¤¸à¥¦à¤à¤¸à¥¦à¤à¤šà¥¦ सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "सचितà¥à¤° वातावरण"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "के डेसà¥à¤•टाप वातावरण, मूलभूत सचितà¥à¤° वातावरणसंलगà¥à¤¨ औजारों के à¤à¤• समूह के साथ"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "गनोम कारà¥à¤¯à¤•ेनà¥à¤¦à¥à¤°"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"à¤à¤• सचितà¥à¤° वातावरण, उपयोगकरà¥à¤¤à¤¾-मितà¥à¤°à¤µà¤¤ कारà¥à¤¯à¤•à¥à¤°à¤®à¥‹à¤‚ के समà¥à¤šà¥à¤šà¤¯ और डेसà¥à¤•टाप औजारों के साथ"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "अनà¥à¤¯ सचितà¥à¤° डेसà¥à¤•टाप"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "यूटिलिटीज़"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "à¤à¤¸à¤à¤¸à¤à¤š सरà¥à¤µà¤°"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ उतà¥à¤ªà¤¨à¥à¤¨ हो गयी है, परनà¥à¤¤à¥ मà¥à¤à¥‡ जà¥à¤žà¤¾à¤¤ नहीं है कि इसे भली-भांति किस पà¥à¤°à¤•ार से ठीक "
+"किया जायें ।\n"
+"अपने जोखिम पर जारी रहें । "
+
+#: steps.pm:469
+#, 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 ""
+"कà¥à¤› महतà¥à¤µà¤ªà¥‚रà¥à¤£ पैकेज भलीभांति संसाधित नहीं हो पायें । \n"
+"या तो आपकी सीडीरॉम-डà¥à¤°à¤¾à¤‡à¤µ या फ़िर आपकी सीडीरॉम खराब है ।\n"
+"à¤à¤• संसाधित कमà¥à¤ªà¥à¤¯à¥‚टर पर \"rpm -qpl media/main/*.rpm\" निरà¥à¤¦à¥‡à¤¶ का उपयोग करके, "
+"सीडीरॉम की जाà¤à¤š करें।\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' चरण में पà¥à¤°à¤µà¥‡à¤¶ \n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> इकाईयों के मधà¥à¤¯ "
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "मीडिया चयन"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME डेसà¥à¤•टॉप"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "पैकेज समूह चयन"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "अलग-अलग पैकेजों का चयन"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "सभी को अचयनित करें"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "कà¥à¤² आकार: %d / %d à¤à¤®à¥¦à¤¬à¥€à¥¦"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "संसà¥à¤®à¤°à¤£: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "आकार:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d केबी\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "महतà¥à¤¤à¤¾: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "आप इस पैकज को चयनित/अचयनित नहीं कर सकते है"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s विलà¥à¤ªà¥à¤¤ होने के कारण"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "असनà¥à¤¤à¥à¤·à¥à¤Ÿ %s के कारण"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s को पà¥à¤°à¥‹à¤¤à¥à¤¸à¤¾à¤¹à¤¿à¤¤ करने का पà¥à¤°à¤¯à¤¾à¤¸"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s को रखने के लिà¤"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "आप इस पैकज का चयन नहीं कर सकते है कà¥à¤¯à¥‹à¤‚कि और अधिक सà¥à¤¥à¤¾à¤¨ संसाधन के लिठनहीं बचा है"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित पैकजों का संसाधन होने जा रहा है"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित पैकेजों को हटाया जाने वाला है"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "यह à¤à¤• अति आवशà¥à¤¯à¤• पैकेज है, इसे अचयनित नहीं किया जा सकता है"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "आप इस पैकेज को अचयनित नहीं कर सकते है । इसे पहिले से ही संसाधित किया जा चà¥à¤•ा है"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "इस पैकज को अचयनित नहीं करा जा सकता है । इसे उनà¥à¤¨à¤¯à¤¨ किया जाना चाहिà¤"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "सà¥à¤µà¤¤à¤ƒ चयनित पैकेजों को दिखायें"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "संसाधन"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "चयनित पैकेजों का उनà¥à¤¨à¤¯à¤¨ किया जा रहा है"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "निमà¥à¤¨à¤¤à¤® संसाधन"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "सॉफ़à¥à¤Ÿà¤µà¥‡à¤¯à¤° पà¥à¤°à¤¬à¤‚धक"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "उन पैकेजों का चयन करें जिनà¥à¤¹à¥‡à¤‚ आप संसाधित करना चाहते है"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "संसाधन हो रहा है"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "कोई विवरण नहीं"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "सारांश"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "संरचना"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "संरचित नहीं"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हो गयी है"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "कृपया अपने की-बोरà¥à¤¡ खाका का चयन करें ।"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "संसाधन/उनà¥à¤¨à¤¯à¤¨"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "यह à¤à¤• संसाधन या à¤à¤• उनà¥à¤¨à¤¯à¤¨ है?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "संसाधन"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "उनà¥à¤¨à¤¯à¤¨ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s के लिठगूà¥à¤²à¤¿à¤–ित कà¥à¤à¤œà¥€"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "उपलबà¥à¤§ पैकेजों को खोज़ा जा रहा है..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "लोड"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "सà¥à¤°à¤•à¥à¤·à¤¿à¤¤"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "गनोम"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "डेसà¥à¤•टॉप चयन"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "चयनित आकार उपलबà¥à¤§ सà¥à¤¥à¤¾à¤¨ से जà¥à¤¯à¤¾à¤¦à¤¾ है"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "संसाधन का पà¥à¤°à¤•ार"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"आपने पैकेजों के किसी भी समूह का चयन नहीं किया है ।\n"
+"कृपया कम-से-कम जितना आप चाहते है उतने संसाधन का चयन करें:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "à¤à¤•à¥à¤¸ के साथ"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "आधार-भूत पà¥à¤°à¤²à¥‡à¤–न के साथ (संसà¥à¤¤à¥à¤¤à¤¿ की जाती है !)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "वासà¥à¤¤à¤µà¤¿à¤• निमà¥à¤¨à¤¤à¥à¤¤à¤® संसाधन (विशेषकर कोई यू०आर०पी०à¤à¤®à¥¦à¤†à¤ˆà¥¦ नहीं)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "संसाधन का निरà¥à¤®à¤¾à¤£ किया जा रहा है"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s पैकेज का संसाधन हो रहा है"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "पैकेजों के आदेश देने में à¤à¤• तà¥à¤°à¥à¤Ÿà¤¿ हो गयी है:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "कà¥à¤› भी हो जारी रहा जायें?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "संसाधन-उपरानà¥à¤¤ संरचना"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "उनà¥à¤¨à¤¯à¤¨"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित पैकजों का संसाधन होने जा रहा है"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "असफ़लता जब माधà¥à¤¯à¤® को जोड़ा जा रहा था..."
+
+#: steps_interactive.pm:792
+#, 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 ""
+"आपको अब अपडेट किये हà¥à¤ पैकेजों को डॉउनलोड करने का अवसर है । इन पैकेजों को\n"
+"इस वितरण के विमोचन के उपरानà¥à¤¤ अपडेट किया गया है । इनमें सà¥à¤°à¤•à¥à¤·à¤¾ या\n"
+"दोष-निवारण पैबंद हो सकते है । \n"
+"\n"
+"इन पैकेजों को डॉउनलोड करने हेतà¥, आपको à¤à¤• कारà¥à¤¯à¤¶à¥€à¤² इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ संबंध की \n"
+"आवशà¥à¤¯à¤•ता होगी।\n"
+"\n"
+"कà¥à¤¯à¤¾ आप इन अपडेटों को संसाधित करना चाहते है ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s पर %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "हारà¥à¤¡à¤µà¥‡à¤¯à¤°"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "सांउड कारà¥à¤¡"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "सचितà¥à¤° इनà¥à¤Ÿà¤°à¥žà¥‡à¤¸"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "नेटवरà¥à¤• और इनà¥à¤Ÿà¤°à¤¨à¥‡à¤Ÿ"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "पà¥à¤°à¥‹à¤•à¥à¤¸à¤¿à¤¯à¤¾à¤‚"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "संरचित"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "सà¥à¤°à¤•à¥à¤·à¤¾ सà¥à¤¤à¤°"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "अगà¥à¤¨à¤¿-भीतिका"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "सकà¥à¤°à¤¿à¤¯ है"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "आपने à¤à¤•à¥à¤¸ को संरचित नहीं किया है । कà¥à¤¯à¤¾ आप वासà¥à¤¤à¤µ में à¤à¤¸à¤¾ चाहते है?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "इस सà¥à¤°à¤•à¥à¤·à¤¾ सà¥à¤¤à¤° में, विणà¥à¤¡à¥‹ विभाजन में संचिकाओं तक पहà¥à¤à¤š सिरà¥à¥ž पà¥à¤°à¤¬à¤‚धक को हीपà¥à¤°à¤¾à¤ªà¥à¤¤ है।"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s में à¤à¤• खाली फ़à¥à¤²à¤¾à¤ªà¥€ डालें"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "सà¥à¤µà¤¤à¤ƒ संसाधन फ़à¥à¤²à¤¾à¤ªà¥€ का निरà¥à¤®à¤¾à¤£ किया जा रहा है..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"कà¥à¤› चरण समà¥à¤ªà¥‚रà¥à¤£ नहीं हà¥à¤ है । \n"
+"\n"
+"कà¥à¤¯à¤¾ आप वासà¥à¤¤à¤µ में बाहर निकलना चाहते है?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "बधाई हो"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "रीबूट"
+
+#. -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 "भाषा"
+
+#: 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 "पà¥à¤°à¤®à¤¾à¤£-पतà¥à¤°"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "माउस"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "हारà¥à¤¡ डà¥à¤°à¤¾à¤‡à¤µ खोज"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "की-बोरà¥à¤¡"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "सà¥à¤°à¤•à¥à¤·à¤¾"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "विभाजनीकरण"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "संसाधन हो रहा है"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "उपयोगकरà¥à¤¤à¤¾à¤“"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "बूटलोडर"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "à¤à¤•à¥à¤¸ को संरचित करें"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "सारांश"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "सेवायें"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "उनà¥à¤¨à¤¯à¤¨"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "निकास"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "à¤à¤• मिरर का चयन करें जहाठसे पैकेजों को पà¥à¤°à¤¾à¤ªà¥à¤¤ करना है"
diff --git a/perl-install/install/share/po/hr.po b/perl-install/install/share/po/hr.po
new file mode 100644
index 000000000..738f091cc
--- /dev/null
+++ b/perl-install/install/share/po/hr.po
@@ -0,0 +1,1671 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ivica Kolić <ikoli@yahoo.com>, 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Ivica Kolić <ikoli@yahoo.com>\n"
+"Language-Team: Croatian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/hr/)\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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 "Join Us!"
+msgstr "Pridružite nam se!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Vaš izbor!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Uredski alati"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Za djecu"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Za obitelj!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Za razvijatelje!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Hvala vam!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Budite slobodni!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Slijedeći medij je pronađen i biti će korišten tijekom instalacije: %s.\n"
+"\n"
+"\n"
+"Imate li dodatni instalcijski medij za konfigurirati?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mreža (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Mreža (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktorij mora poÄinjati sa \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktorij"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatak"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Trebate omogućiti \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "%s\" sadrži neslobodni software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Tražim pakete koje mogu nadograditi"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Uklanjam paketa prije nadogradnje..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Slijedeći paketi će biti uklonjeni da bi dozvolili nadogradnju vašega "
+"sustava: %s\n"
+"\n"
+"\n"
+"Želite li doista ukloniti ove pakete?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "GreÅ¡ka prilikom Äitanja datoteke %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Molim izaberite medij"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Pristup odbijen"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ne mogu napraviti screenshotove prije particioniranja"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Screenshotovi će biti raspoloživi poslije instalaciju u %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalacija"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Postavke"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Morate također formatirati %s"
+
+#: 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 ""
+"Neki hardware na vaÅ¡em raÄunalu treba ``vlasniÄke'' upravljaÄke programe\n"
+"kako bi proradio. Možete naći više informaciju o tome na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Podižem mrežu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Onemogućujem mrežu"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Molim priÄekajte, primam datoteku"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "nije moguće dodati medij"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiram neke pakete na diskove za buduću uporabu"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje u tijeku"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "potrebno"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "vrlo lijepo"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "lijepo"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Bez opisa"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Došlo je do greške:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Nastupila je kobna pogreška: %s. "
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ne pitaj ponovo"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalacija paketa nije uspjela:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Uredska radna stanica"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Uredski programi: tekst procesori (LibreOffice Writer, Kword), tabliÄni "
+"kalkulatori (LibreOffice Calc, Kspread), pdf preglednici, itd"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "IgraÄka radna stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkade, ploÄe, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijska stanica"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "ZvuÄni i video sviraÄki/ureÄ‘ivaÄki programi"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežno raÄunalo (klijent)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti za razne protokole ukljuÄujući ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lako podeÅ¡avanje vaÅ¡eg raÄunala"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolni Alati"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "UreÄ‘ivaÄi, ljuske, datoteÄni alati, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Razvoj"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ razvojne biblioteke, programi i ukljuÄujuće datoteke"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige i Howto-i o Linux-u i slobodnom software-u"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Posljužitelj weba"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab poslužitelj"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Vatrozid/Ruter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Pošta/Novosti"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail poslužitelj, Inn news poslužitelj"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Poslužitelj imenika"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP postužitelj"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ime Domene i Mrežni Informacijki Poslužitelj (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Baza podataka"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache i Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poslužitelj pošte"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ili MariaDB poslužitelj baza"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni raÄunalni poslužitelj"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS poslužitelj, SMB poslužitelj, Proxy poslužitelj, SSH poslužitelj"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafiÄko Okružje"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Radno Okružje, osnovno grafiÄko okružje sa kolekcijom pripadajućih alata"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome radna stanica"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"GrafiÄka okružja sa korisniÄki prijateljskim skupom aplikacija i alatima za "
+"radno okružje"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GrafiÄko okruženje bazirano na GNOME-u"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt radno okruženje"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE radno okruženje"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Lagano grafiÄko okruženje"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Druga grafiÄka radna okružja"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, itd."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Pomoćni programi"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH poslužitelj"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Äarobnjaci"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarobnjaci za podešavanje poslužitelja"
+
+#: 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 ""
+"Dogodila se greška, ali neznam kako s njom lijepo rukovati.\n"
+"Nastavite dalje na vlastiti rizik."
+
+#: steps.pm:469
+#, 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 se instalirali pravilno.\n"
+"Ili je vaš cdrom pogon ili cd medij u defektu.\n"
+"Provjerite cdrom na instaliranom raÄunalu koristeći \"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 "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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š sustav je slab na resursima. Možete imati nekih problem prilikom\n"
+"instalacije %s-a. Ukoliko se to desi, možete probati tekstualnu\n"
+"instalaciju. Za to, pritisnite `F1' kada podižete CDROM, i unesite `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Odabir medija"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instaliraj %s Plasma radno okruženje"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Install %s GNOME radno okruženje"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Prilagođena instalacija"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma radno okruženje"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME radno okruženje"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Prilagođeno radno okruženje"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Odabir grupe paketa"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individualan odabir paketa"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Odselektiraj sve"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veliÄina: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "InaÄica: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "VeliÄina: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ZnaÄaj: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ne možete oznaÄiti/odznaÄiti ovaj paket"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog nezadovoljavajućeg %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "odabirem %s izabiranjem datoteka"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "kako bi se zadržalo %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ne možete oznaÄiti ovaj paket budući da nema dovoljno mjesta gdje ga se može "
+"instalirati"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Slijedeći paketi će biti instalirani"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Slijedeći paketi će biti uklonjeni"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Budući da je ovo obvezni paket ne možete ga odznaÄiti"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ne možete odznaÄiti ovaj paket budući da je već instaliran"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ne možete odznaÄiti ovaj paket budući da ga treba nadograditi"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Prikaži automatski odabrane pakete"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instaliraj"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Dograđujem izbor paketa"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacija"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Upravitelj Softwareom"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Odaberite pakete koje želite instalirati"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Preostalo vrijeme:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paklet"
+msgstr[1] "%dpaketa"
+msgstr[2] "%d paketa"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sažetak"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Podešavanje"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nije podešeno"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Slijedeći instalacijski mediji su pronađeni.\n"
+"Ako želite preskoÄiti nekog od njih, odzanÄite ih sada."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Pojavila se greška"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Molim, izaberite raspored tipkovnice"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Lista svih dostupnih tipkovnica:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instaliraj/Nadogradi"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Je li ovo instalacija ili nadogradnja?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instaliraj"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Nadogradnja %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Otkaži instalaciju, ponovo podigni sustav"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova instalacija"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Nadogradi prethodnu instalaciju (ne preporuÄa se)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalacijski program je otkrio da vaš Linux sustav ne možebiti\n"
+"sigurno nadograđen na %s.\n"
+"\n"
+"PreporuÄa se nova instalacija koja će zamijeniti prethodnu.\n"
+"\n"
+"Upozorenje: napravite sigurnosnu kopiju vaših osobnih podataka prije nego "
+"izaberete \"Nova\n"
+"instalacija\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Podešavam CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim dostupne pakete"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Vaš sustav nema dovoljno prostora za instalaciju ili nadogradnju (%dMB > "
+"%dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "UÄitaj"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Spremi"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Odabir radnog okruženja"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izabrana veliÄina je veća nego raspoloživ prostor"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tip instalacije"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Niste izabrali niti jednu grupu paketa\n"
+"Izaberite minimalnu instalaciju ako želite"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Sa X-ima"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instaliraj preporuÄene pakete"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporuÄeno!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno malena instalacija (posebice bez urpmia)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Pripremam nadogradnju..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Javila se greška prilikom sortiranja paketa:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Da ipak nastavim?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Pokušaj ponovno"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "PreskoÄi ovaj paket"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "PreskoÄi sve pakete sa medija \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Vratite se natrag na medij i izbor paketa"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Postava nakon instalacije"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Nadogradnje"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Slijedeći paketi će biti instalirani"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Pokušati ponovno?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Provjeravam ovisnosti..."
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Sklopovlje"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ZvuÄna kartica"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "GrafiÄko suÄelje"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "podešeno"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sigurnosna Razina"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Vatrozid"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivirano"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "onemogućeno"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Niste podesili X? jeste li sigurni da to doista želite?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Budite strpljivi, ovo može potrajati..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Umetnite praznu disketu u pogon %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pravim auto instalacijsku disketu"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Niste završili sve korake.\n"
+"\n"
+"Želite li zaista završiti?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ÄŒestitamo, pobijedili ste!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Ponovno pokretanje sustava"
+
+#. -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 "Jezik"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalizacija"
+
+#: 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 "Otkrivanje hard diskova"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tipkovnica"
+
+#: 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 "Particioniranje"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: 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 "Program za pokretanje sustava"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Podesi X"
+
+#: 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 "Nadogradnje"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izađi"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL zrcala?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL mora poÄinjati sa ftp:// ili http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Kontaktiram %s web site za dobivanje popisa raspoloživih mirrora"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Izaberite mirror sa kojeg želite skinuti pakete"
diff --git a/perl-install/install/share/po/hu.po b/perl-install/install/share/po/hu.po
new file mode 100644
index 000000000..bbe0bd763
--- /dev/null
+++ b/perl-install/install/share/po/hu.po
@@ -0,0 +1,1726 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Arpad Biro <biro.arpad gmail>, 2000,2003-2007
+# Balzamon, 2016
+# Balzamon, 2016
+# alephlg <aleph@mandriva.org>, 2007-2009
+# Laszlo Espadas, 2017
+# Tamas Szanto <tszanto@mol.hu>, 2001
+# Zoltán Siposs <zoltan.siposs@gmail.com>, 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Hungarian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/hu/)\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Csatlakozzon!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Legyen az Öné!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Az Ön választása!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Irodai eszközök"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Otthoni szórakoztatás"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Gyerekeknek"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "A családnak!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Fejlesztőknek!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Köszönjük!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Legyen szabad!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Van további kiegészítő adathordozó?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"A telepítő a következő adathordozókat találta - ezeket fogja használni a "
+"telepítéshez: %s.\n"
+"\n"
+"\n"
+"Van beállítandó kiegészítő telepítési adathordozó?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Hálózat (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Hálózat (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Hálózat (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-beállítás"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Adja meg az NFS-adathordozó gépnevét és könyvtárát"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Gépnév hiányzik"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "A könyvtárnak \"/\" jellel kell kezdődnie"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Az NFS-csatolás gépneve?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Könyvtár"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Kiegészítő"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "A tükörkiszolgálón nem található fejléclista"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core tároló"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted tároló"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nem szabad tároló"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"A számítógépben található néhány eszköznek szüksége van nem szabad firmware-"
+"re annak érdekében, hogy a nyílt forrású meghajtóprogramok működhessenek."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "\"%s\" engedélyezése szükséges."
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"\"%s\" a rendszer és az alkalmazások különböző összetevőit tartalmazza."
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "A \"%s\" nem szabad szoftvereket tartalmaz.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Különböző eszközök működéséhez szükséges firmware-ket is tartalmaz (pl. ATI/"
+"AMD videokártyák, hálózati kártyák, RAID vezérlők,...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" olyan szoftvereket tartalmaz, amelyek a szoftver-szabadalmak miatt "
+"egyes országokban nem terjeszthetők."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"\"%s\" tárolóból származó szoftvereket is tartalmaz, melyek további "
+"képességekkel lettek újrafordítva."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Itt lehet további adathordozókat engedélyezni."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ez az adatforrás frissítőcsomagokat tartalmaz a \"%s\" számára."
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "A már telepített csomagok vizsgálata..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "A frissítendő csomagok keresése..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Csomagok eltávolítása a frissítés előtt..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"A rendszerfrissítés érdekében a következő csomagok el lesznek távolítva: %s\n"
+"\n"
+"\n"
+"Szeretné eltávolítani ezeket a csomagokat?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Hiba a(z) %s fájl olvasása közben"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "A következő lemezek át lettek nevezve:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (korábbi név: %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Hálózat"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Válasszon ki egy adatforrást"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "A fájl már létezik. Felülírja?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Hozzáférés megtagadva"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Helytelen NFS-név"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "\"%s\": érvénytelen adatforrás"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Particionálás előtt nem készíthetők képernyőfelvételek"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "A képernyőfelvételek a telepítés után itt lesznek elérhetők: %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Telepítés"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Beállítás"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Formázni kell ezt is: %s"
+
+#: 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 ""
+"A gép bizonyos hardverelemei speciális meghajtóprogramot igényelnek.\n"
+"Ezekről itt található információ: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "A hálózatkezelés elindítása"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "A hálózatkezelés leállítása"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Kérem várjon, fájl betöltése"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "sikertelen a csomagforrás hozzáadása"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Bizonyos csomagok lemezre másolása későbbi használatra"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Másolás folyamatban"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "nagyon fontos"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "fontos"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "erősen ajánlott"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ajánlott"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "tetszőleges"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Csomaginformációk olvasása az XML meta-adatokból..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Nincs xml információ a \"%s\" adatforráshoz, a %s csomagról csak részleges "
+"információit sikerült szerezni."
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nincs leírás"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"A(z) %s által kért bizonyos csomagok nem telepíthetők:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Hiba lépett fel:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Végzetes hiba történt: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ne kérdezze mégegyszer"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d telepítési művelet nem sikerült"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Sikertelen csomagtelepítések:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Munkaállomás"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Irodai munkaállomás"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Irodai programok: szövegszerkesztők (LibreOffice Writer, KWord), "
+"táblázatkezelők (LibreOffice Calc, KSpread), PDF-megjelenítők, ..."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Játékgép"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Játékprogramok: lövöldözős, táblás, stratégiai, ..."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimédiás munkaállomás"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Lejátszó- és szerkesztőprogramok hang- és videóanyagokhoz"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetes munkaállomás"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Eszközök levelezéshez, hírkezeléshez (mutt, tin, ...) és a web böngészéséhez"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Hálózati számítógép (kliens)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Kliensprogramok különféle protokollokhoz (például: ssh)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Segédprogramok a számítógép beállításához"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Parancssori eszközök"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Szövegszerkesztők, parancsértelmezők, fájlkezelők, terminálprogramok"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Fejlesztés"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ fejlesztőkönyvtárak, programok és include-fájlok"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentáció"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Könyvek és HOGYAN-ok a Linuxról és a szabad szoftverekről"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Külső társaságok alkalmazásainak támogatása."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Csoportmunka-alkalmazás"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tűzfal/útválasztó (router)"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet átjáró"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Levelezés/hírek"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix email kiszolgáló, Inn hírkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Címtárkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS és NIS kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fájl- és nyomtatómegosztási kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS kiszolgáló, Samba kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Adatbázis"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL és MariaDB adatbázis kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Levelezés"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix email kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL vagy MariaDB adatbázis kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Kiszolgáló hálózati számítógépekhez"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS, SMB, proxy és SSH kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafikus környezet"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma Munkaállomás"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"A K Desktop Environment - az alapvető grafikus környezet - az ahhoz tartozó "
+"eszközökkel együtt"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME munkaállomás"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafikus környezet felhasználóbarát alkalmazásokkal és segédprogramokkal"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Egy könnyedebb grafikus környezet felhasználóbarát alkalmazásokkal és "
+"asztali eszközökkel."
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE munkaállomás"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon munkaállomás"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Egy GNOME-on alapuló grafikus környezet"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt Munkaasztal"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"A pehelysúlyú munkaasztal-környezet új generációs, QT-ra portolt változata"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Egy könnyű, gyors grafikus környezet"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE munkaasztal"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Egy könnyű, gyors grafikus környezet"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Más grafikus környezetek"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, stb."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Segédprogramok"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin kiszolgáló távoli beállításhoz"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Hálózati programok/hálózatfigyelés"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Figyelőeszközök, folyamatszámlázás, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia varázslók"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Varázslók a kiszolgáló beállítására"
+
+#: 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 ""
+"Hiba történt, de nem lett megfelelően lekezelve.\n"
+"Csak akkor lépjen tovább, ha biztos abban, hogy ez nem fog gondot okozni."
+
+#: steps.pm:469
+#, 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 ""
+"Néhány fontos csomag telepítése nem sikerült.\n"
+"Ez azt jelenti, hogy a CD-meghajtó vagy a CD hibás.\n"
+"A CD-t egy, már feltelepített gépen a következő\n"
+"parancs segítségével tesztelheti le:\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "A következő lépés: \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s telepítés %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt+Tab> lépegetés"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Az Xorg kiszolgáló lassan indul. Kérem várjon..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"A rendszer gyenge erőforrásokkal rendelkezik. Előfordulhat, hogy problémái\n"
+"lesznek a %s telepítésével. Ha így történik, próbálkozzon\n"
+"szöveges módú telepítéssel: CD-ről való rendszerindítást követően nyomjon\n"
+"\"F1\"-et, majd írja be azt, hogy \"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Adathordozó kiválasztása"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Plasma Desktop %s telepítése"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "A %s GNOME asztalának telepítése"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Egyéni telepítés"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma Desktop"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME munkaasztal"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Egyéni munkaasztal"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Ãgy fog kinézni a '%s' munkaasztala."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kattintson a képre, ha nagyobb méretben szeretné megtekinteni"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Csomagcsoportok kiválasztása"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Csomagok egyedi kiválasztása"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Kijelölések megszüntetése"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Összméret: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verzió: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Méret: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Fontosság: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ez a csomag nem jelölhető ki illetve nem törölhető a kijelölése"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "\"%s\" hiánya miatt"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "\"%s\" igényei miatt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "a legalkalmasabb \"%s\" keresése"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "\"%s\" megtartása érdekében"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nem választhatja ki ezt a csomagot, mert nincs elég hely a merevlemezen."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "A telepítő a következő csomagokat fogja telepíteni:"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "A telepítő a következő csomagokat távolítja el:"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ez egy kötelező csomag, nem lehet megszüntetni a kijelölését"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nem törölhető ennek a csomagnak a kijelölése, mert már telepítve van"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Nem törölheti ennek a csomagnak a kijelölését. Ez a csomag frissítendő."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatikusan kijelölt csomagok mutatása"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Telepítés"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Kijelölés betöltése/mentése"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "A csomagkiválasztás frissítése"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimális telepítés"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Szoftverkezelés"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Válassza ki a telepítendő csomagokat"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Telepítés"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Részletek nélkül"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Hátralevő idő:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(becslés...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d csomag"
+msgstr[1] "%d csomag"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Összefoglalás"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Beállítás"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nincs beállítva"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"A rendszer a következő telepítési adathordozókat találta.\n"
+"Ha szeretné kihagyni valamelyiket, távolítsa el annak kijelölését."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Lehetősége van arra, hogy a CD-k tartalmát lemásolja a merevlemezre a "
+"telepítés előtt.\n"
+"Ez esetben a telepítés a merevlemezről folytatódik, és annak végeztével a "
+"csomagok elérhetők maradnak."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Teljes CD-k másolása"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Hiba lépett fel"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Válasszon billentyűzetkiosztást"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Az elérhető billentyűzetek teljes listája:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Telepítés/frissítés"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Új telepítés vagy frissítés?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Telepítés"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Frissítés: %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Titkosítási kulcs ehhez: %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Telepítés megszakítva, a rendszer újraindul"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Új telepítés"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Előző telepítés frissítése (nem ajánlott)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"A telepítő észlelte, hogy a már meglévő Linux rendszer\n"
+"nem frissíthető %s-ra.\n"
+"\n"
+"Javasolt új telepítést végezni a régi helyén.\n"
+"\n"
+"Figyelem: új telepítés előtt célszerű minden személyes dokumentumról\n"
+"mentést készíteni."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD konfigurálása"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Cserélje ki a CD-t a meghajtóban.\n"
+"Tegye be a(z) \"%s\" feliratú lemezt, és nyomja meg az \"OK\" gombot.\n"
+"Ha nincs ilyen lemeze, akkor nyomja meg a \"Mégsem\" gombot, így erről a CD-"
+"ről nem történik telepítés."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "A rendelkezésre álló csomagok keresése..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"A rendszerben nincs elegendő szabad hely a telepítéshez illetve frissítéshez "
+"(%d MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Válasszon egy funkciót annak megfelelően, hogy betölteni kíván egy\n"
+"csomagkijelölést vagy a jelenlegi kijelölést szeretné elmenteni.\n"
+"A formátum ugyanaz, mint az automatikus telepítési fájloknál."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Terhelés"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Mentés"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Hibás fájl"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Munkaasztal kiválasztása"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Kiválaszthatja a munkaállomás asztalprofilját."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "A kijelölt összméret nagyobb, mint a rendelkezésre álló hely"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "A telepítés típusa"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Egyetlen csomagcsoportot sem jelölt ki.\n"
+"Válassza ki, milyen fajta minimális telepítést szeretne."
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X telepítése"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Javasolt csomagok telepítése"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Alapvető dokumentációval (javasolt)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Valóban minimális telepítés (urpmi sincs)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Felkészülés a frissítésre..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "A telepítés előkészítése"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s csomag telepítése"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Hiba történt a csomagok rendezésekor:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kívánja folytatni ettől függetlenül?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Újra"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Ezen csomag kihagyása"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "A(z) \"%s\" adathordozón levő összes csomag kihagyása"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Visszalépés az adathordozó és csomagválasztáshoz"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Hiba történt a(z) %s csomag telepítésekor."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Telepítés utáni beállítások"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Tegye be a frissítési modulokat tartalmazó adathordozót a(z) \"%s\" "
+"meghajtóba"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Frissítések"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Itt a lehetőség online csomagtárolók hozzáadására."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Ezzel lehetséges a biztonsági frissítések telepítése."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Ezen csomagtárolók beállításához működő Internet kapcsolat\n"
+"szükséges.\n"
+"\n"
+"Beállítsuk most a frissítési tárolót?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "A telepítő a következő csomagokat fogja telepíteni:"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Ismét?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Nem sikerült felvenni az adatforrást"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Lehetősége van arra, hogy letöltse a disztribúció kiadása után frissített\n"
+"csomagokat. Ez általában biztonsági javításokat és hibajavításokat jelent.\n"
+"\n"
+"A funkció használatához szükség van egy beállított internetkapcsolatra.\n"
+"\n"
+"Szeretné feltelepíteni a frissítéseket?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s ezen: %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardver"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Hangkártya"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafikus felület"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Hálózat és internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxyk"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "beállítva"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Biztonsági szint"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Tűzfal"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiválva"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "kikapcsolva"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Az X grafikus rendszert nem állította be. Biztosan megfelel így?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "A rendszerindító memóriaképfájl előkészítése..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Egy kis türelmét kérem..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ezen a biztonsági szinten csak a rendszergazda érheti el a windowsos "
+"partíción levő fájlokat."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Tegyen egy üres floppyt a(z) \"%s\" meghajtóba"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Automatikus telepítőfloppy készítése..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"A telepítés nem teljes, mivel egyes lépések kimaradtak.\n"
+"\n"
+"Biztos, hogy ki akar lépni?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulálunk"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Újraindítás"
+
+#. -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 "Nyelv"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalizáció"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenc"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Egér"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Merevlemez keresése"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Telepítési osztály"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Billentyűzet"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Biztonság"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partícionálás"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formázás"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Csomagok kiválasztása"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Telepítés"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Felhasználók"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Rendszerbetöltő"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Az X beállítása"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Összefoglalás"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Szolgáltatások"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Frissítések"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Kilépés"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "A tükörkiszolgáló címe?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Az URL-nek ftp:// vagy http:// előtaggal kell kezdődnie"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Kapcsolódás a %s webkiszolgálójához; az elérhető tükörkiszolgálók "
+#~ "listájának lekérdezése..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Nem sikerült lekérdezni az elérhető tükörkiszolgálók listáját a %s "
+#~ "webkiszolgálójától"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Válasszon ki egy tükörkiszolgálót a csomagok letöltéséhez!"
diff --git a/perl-install/install/share/po/hy.po b/perl-install/install/share/po/hy.po
new file mode 100644
index 000000000..97d85ac19
--- /dev/null
+++ b/perl-install/install/share/po/hy.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Armenian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/hy/)\n"
+"Language: hy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Ô¿Õ¸Õ¶Ö†Õ«Õ£Õ¸Ö‚Ö€Õ¡ÖÕ«Õ¡"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Ô¾Ö€Õ¡Õ£Ö€Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ÕÕ¥Õ¼Õ¶Õ¡Ö€Õ¯"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Õ“Õ¸Õ½Õ¿"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/id.po b/perl-install/install/share/po/id.po
new file mode 100644
index 000000000..32be4a899
--- /dev/null
+++ b/perl-install/install/share/po/id.po
@@ -0,0 +1,1731 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ahmad Ramadhana <ahmad_ramadhana@yahoo.com.sg>, 2005
+# Andy <chandy@indo.net.id>, 1999
+# Bayu Artanto <bayuart@yahoo.com>, 2005
+# erwiensamantha <erwiensamantha@gmail.com>, 2005
+# erwiensamantha <erwiensamantha@gmail.com>, 2005
+# Firdaus <dausnux@gmail.com>, 2005
+# Kelana <nk@telkom.net>, 1999
+# Kiki <kiki.syahadat@yahoo.co.id>, 2013-2015
+# Kiki <kiki.syahadat@yahoo.co.id>, 2013
+# Kiki Syahadat <kiki.syahadat@yahoo.co.id, 2012
+# Kiki <kiki.syahadat@yahoo.co.id>, 2013
+# Sofian <sofianhanafi@yahoo.com>, 2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Kiki <kiki.syahadat@yahoo.co.id>\n"
+"Language-Team: Indonesian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/id/)\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Bergabunglah Bersama Kami!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Buatlah ini milik Anda!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Pilihan Anda!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Peralatan perkantoran"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Hiburan rumah"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Untuk anak-anak"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Untuk keluarga!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Untuk developer!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Terima kasih!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Bebaskan!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Apakah Anda memiliki media bantu lanjutan?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Media berikut ditemukan dan akan digunakan selama instalasi: %s.\n"
+"\n"
+"\n"
+"Apakah Anda memiliki media instalasi bantu untuk dikonfigurasi?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Jaringan (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Jaringan (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Jaringan (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Pengaturan NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Silakan masukkan hostname dan direktori media NFS Anda"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Hostname tidak ada"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktori harus dimulai dengan \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Hostname dari mount NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktori"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Media bantu"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Tidak bisa menemukan file daftar paket pada mirror ini. Pastikan lokasinya "
+"benar."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Rilis"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Rilis"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Rilis"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Beberapa hardware pada komputer Anda memerlukan beberapa firmwares non free "
+"agar driver free software bisa bekerja."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Anda harus menghidupkan \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" berisi beberapa bagian dari sistem dan aplikasinya"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" berisi software non free.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Juga berisi firmware yang diperlukan untuk device tertentu untuk beroperasi "
+"(misal: beberapa perangkat grafis ATI/AMD, beberapa perangkat jaringan, "
+"beberapa perangkat RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" berisi software yang tidak bisa didistribusikan di setiap negara "
+"karena masalah paten software."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Juga berisi software dari \"%s\" yang dibangun ulang dengan kemampuan "
+"tambahan."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+"Di sini Anda bisa menghidupkan lebih banyak media jika Anda menginginkannya"
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Media ini menyediakan update paket untuk media \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Melihat paket yang sudah terinstall..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Menemukan paket untuk diupgrade..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Menghapus paket sebelum upgrade..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Paket berikut akan dihapus untuk memungkinkan upgrade sistem Anda: %s\n"
+"\n"
+"\n"
+"Apakah Anda benar-benar ingin menghapus paket ini?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Error membaca file %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Disk berikut telah diubah nama:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (sebelumnya bernama %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Jaringan"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Silakan pilih sebuah media"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "File sudah ada. Timpa file ini?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Izin ditolak"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nama NFS salah"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Media %s rusak"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Tidak bisa membuat screenshot sebelum mempartisi"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Screenshot akan tersedia setelah install di %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalasi"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurasi"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Anda juga harus memformat %s"
+
+#: 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 ""
+"Beberapa hardware pada komputer Anda memerlukan driver ``proprietari'' untuk "
+"bekerja.\n"
+"Anda bisa menemukan informasinya di: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Menaikkan jaringan"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Menurunkan jaringan"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Silakan tunggu, mengambil file"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "tidak bisa menambah media"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Menyalin beberapa paket pada disk untuk digunakan di kemudian hari"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Penyalinan sedang berjalan"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "harus ada"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "penting"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "sangat bagus"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bagus"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "mungkin"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Mendapatkan informasi paket dari meta-data XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Tidak ada info xml untuk media \"%s\", hanya sebagian hasil untuk paket %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Tidak ada deskripsi"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Beberapa paket yang diminta oleh %s tidak bisa diinstall:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Sebuah error terjadi:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Sebuah error fatal terjadi: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Jangan tanya lagi"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Transaksi instalasi %d gagal"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalasi paket gagal:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Workstation Perkantoran"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Program perkantoran: pengolah kata (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), pembaca PDF, dll"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Komputer Game"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Program hiburan: arcade, papan, strategi, dll"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Komputer Multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Program untuk memutar/mengedit suara dan video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Komputer Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Kumpulan peralatan untuk membaca dan mengirim surat dan berita (mutt, tin..) "
+"dan menjelajahi Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Komputer Jaringan (klien)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klien untuk protokol yang berbeda termasuk ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Peralatan untuk memudahkan konfigurasi komputer Anda"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Peralatan Konsol"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editor, shell, peralatan file, terminal"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Pengembangan"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Librari, program dan file yang disertakan untuk pengembangan C dan C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasi"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Buku dan Howto untuk Linux dan Free Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Dukungan aplikasi pihak ketiga"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Surat/Berita"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server surat Postfix, server berita Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server direktori"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server Nama Domain dan Informasi Jaringan"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server Sharing File dan Printer"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Basis Data"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Server Basis Data PostgreSQL dan MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Surat"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server surat Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Server basis data PostgreSQL atau MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Server Komputer Jaringan"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, server SMB, server Proxy, server ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Lingkungan Grafis"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, lingkungan grafis dasar dengan kumpulan peralatan "
+"yang menyertainya"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Workstation GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Sebuah lingkungan grafis dengan kumpulan aplikasi dan peralatan desktop yang "
+"mudah digunakan"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Lingkungan grafis yang ringan dengan seperangkat aplikasi dan peralatan "
+"desktop yang mudah digunakan"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Lingkungan kerja MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Lingkungan kerja Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Lingkungan grafis berbasis GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Desktop LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Port QT generasi selanjutnya dari lingkungan desktop yang ringan"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Lingkungan grafis yang cepat dan ringan"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Desktop LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Sebuah lingkungan grafis yang cepat dan ringan"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Desktop Grafis Lainnya"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, dsb"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitas"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server Konfigurasi Remote Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitas/Monitoring Jaringan"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Peralatan monitoring, penghitungan proses, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Wizard Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Wizard untuk mengkonfigurasi server"
+
+#: 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 ""
+"Terjadi error yang tidak diketahui cara yang baik untuk menanganinya.\n"
+"Lanjutkan dengan resiko yang Anda tanggung sendiri."
+
+#: steps.pm:469
+#, 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 ""
+"Beberapa paket penting tidak terinstall dengan benar.\n"
+"Mungkin drive cdrom atau cdrom Anda rusak.\n"
+"Periksa cdrom pada komputer yang sudah terinstall menggunakan \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Memasuki langkah `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalasi %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> di antara elemen"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Server Xorg lambat memulai. Silakan tunggu..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Sistem Anda memiliki sumber daya yang rendah. Anda mungkin menemukan "
+"beberapa\n"
+"masalah instalasi %s. Jika ini terjadi, Anda bisa mencoba instalasi berbasis "
+"teks.\n"
+"Untuk melakukannya, tekan `F1' saat booting pada CDROM, lalu masukkan `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Pemilihan Media"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Install Desktop GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalasi kustomisasi"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Desktop Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Desktop GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Desktop kustomisasi"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Ini adalah pratampil desktop '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klik pada gambar untuk melihat pratampil lebih besar"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pemilihan Grup Paket"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Pemilihan paket individu"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Jangan pilih Semua"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukuran total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versi: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Ukuran: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Penting:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Anda tidak bisa memilih/tidak memilih paket ini"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "karena %s tidak ada"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "karena %s tidak terpenuhi"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "mencoba mempromosikan %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "untuk menjaga %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Anda tidak bisa memilih paket ini karena tidak ada lagi ruang tersisa untuk "
+"menginstall"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Paket berikut akan diinstall"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Paket berikut akan dihapus"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ini adalah paket wajib, tidak bisa tidak dipilih"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Anda tidak bisa tidak memilih paket ini. Ini sudah terinstall"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Anda tidak bisa tidak memilih paket ini. Ini harus diupgrade"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Tunjukkan paket terpilih secara otomatis"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Install"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Pilihan Muat/Simpan"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Mengupdate pilihan paket"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalasi minimal"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Manajemen Software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Pilih paket yang ingin Anda install"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Menginstall"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Tidak ada rincian"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Waktu tersisa:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(memperkirakan...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paket"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Ringkasan"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurasi"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "tidak terkonfigurasi"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Media instalasi berikut telah ditemukan.\n"
+"Jika Anda ingin melewati beberapa, Anda bisa tidak memilihnya."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Anda memiliki opsi untuk menyalin isi dari CD ke hard disk sebelum "
+"instalasi.\n"
+"Proses kemudian akan dilanjutkan dari hard disk dan paket akan tetap "
+"tersedia setelah sistem terinstall."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Salin seluruh CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Sebuah error terjadi"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Silakan pilih layout keyboard Anda"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Ini adalah daftar lengkap keyboard yang tersedia:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Install/Upgrade"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Apakah ini instalasi atau upgrade?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Install"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Upgrade %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Kunci enkripsi untuk %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Batalkan instalasi, reboot sistem"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Instalasi Baru"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Upgrade instalasi sebelumnya (tidak direkomendasikan)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Installer telah mendeteksi bahwa Linux yang terinstall di sistem Anda\n"
+"tidak bisa diupgrade dengan aman ke %s.\n"
+"\n"
+"Instalasi baru untuk menggantikan sistem lama Anda direkomendasikan.\n"
+"\n"
+"Peringatan : Anda harus membackup semua data pribadi Anda sebelum memilih \n"
+"\"Instalasi Baru\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Ganti Cd-Rom Anda!\n"
+"Silakan masukkan Cd-Rom berlabel \"%s\" ke drive Anda dan tekan Ok "
+"setelahnya.\n"
+"Jika Anda tidak memilikinya, tekan Batal untuk menghindari instalasi dari Cd-"
+"Rom ini."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mencari paket yang tersedia..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sistem Anda tidak memiliki cukup ruang tersisa untuk instalasi atau upgrade "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Silakan pilih muat atau simpan pemilihan paket.\n"
+"Formatnya sama dengan file yang dihasilkan auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Muat"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Simpan"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "File rusak"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Pemilihan Desktop"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Anda bisa memilih profil desktop workstation Anda."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Ukuran terpilih lebih besar dari ruang tersedia"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipe install"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Anda belum memilih grup paket apapun.\n"
+"Silakan pilih instalasi minimal yang Anda inginkan:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Dengan X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Install paket-paket yang disarankan"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Dengan dokumentasi dasar (direkomendasikan!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Benar-benar instalasi minimal (terutama tanpa urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Menyiapkan upgrade..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Menyiapkan instalasi"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Menginstall paket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Terdapat error mengurut paket:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Lanjutkan saja?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Coba lagi"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Lewatkan paket ini"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Lewatkan semua paket dari media \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Kembali ke pemilihan media dan paket"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Terdapat error menginstall paket %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurasi pasca instalasi"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Silakan pastikan bahwa media Modul Update ada di drive %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Update"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Sekarang Anda memiliki kesempatan untuk mengatur media online."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Ini memungkinkan untuk menginstall update keamanan."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Untuk mengatur media tersebut, Anda harus memiliki koneksi\n"
+"internet yang bekerja.\n"
+"\n"
+"Apakah Anda ingin mengatur media update?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Paket berikut akan diinstall"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Coba lagi?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Kesalahan ketika menambahkan media"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Sekarang Anda memiliki kesempatan untuk mendownload paket update. Paket ini\n"
+"telah diupdate setelah distribusi dirilis. Paket ini mungkin\n"
+"berisi perbaikan keamanan atau bug.\n"
+"\n"
+"Untuk mendownload paket ini, Anda memerlukan koneksi Internet.\n"
+"\n"
+"Apakah Anda ingin menginstall update?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s pada %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Perangkat suara"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Antarmuka grafis"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Jaringan & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "terkonfigurasi"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Level Keamanan"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "diaktifkan"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "dimatikan"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Anda belum mengkonfigurasi X. Apakah Anda yakin menginginkan ini?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Menyiapkan program startup awal..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Harap bersabar, ini mungkin akan memakan waktu..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Pada level keamanan ini, akses ke file di dalam partisi Windows terbatas "
+"pada administrator."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Masukkan floppy kosong ke drive %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Membuat instalasi otomatis floppy..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Beberapa langkah tidak selesai.\n"
+"\n"
+"Apakah Anda ingin keluar sekarang?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Selamat"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reboot"
+
+#. -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 "Bahasa"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisasi"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensi"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Pendeteksian hard drive"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Kelas instalasi"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Keyboard"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Keamanan"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Mempartisi"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Memformat"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Memilih paket"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Menginstall"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Pengguna"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurasi X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ringkasan"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Layanan"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Update"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Keluar"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL dari mirror?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL harus diawali dengan ftp:// atau http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Menghubungi situs web %s untuk mendapatkan daftar mirror yang tersedia..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Gagal menghubungi situs web %s untuk mendapatkan daftar mirror yang "
+#~ "tersedia"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Pilih mirror di mana Anda ingin mengambil paket"
diff --git a/perl-install/install/share/po/is.po b/perl-install/install/share/po/is.po
new file mode 100644
index 000000000..f291029e3
--- /dev/null
+++ b/perl-install/install/share/po/is.po
@@ -0,0 +1,1692 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2003,2005-2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Icelandic (http://www.transifex.com/MageiaLinux/mageia/"
+"language/is/)\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hefur þú einhverja aðra aukamiðla?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Eftirfarandi miðlar hafa fundist og verða notaðir við uppsetningu: %s.\n"
+"\n"
+"\n"
+"Hefur þú einhverja aðra miðla sem þarf að stilla?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Net (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Net (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Net (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS uppsetning"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Sláðu inn vélarnafn og möppu sem inniheldur NFS miðil"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Vélarnafn vantar"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Möppunafn verður að byrja á \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vélarnafn á NFS tengipunkti?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Mappa"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Aukalegt"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Finn ekki pakkalista-skrá á þessum spegli. Athugaðu hvort staðsetningin sé "
+"rétt."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Athuga þegar uppsetta pakka..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Leita að pökkum til að uppfæra..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjarlægi pakka áður en uppfærsla hefst..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Eftirfarandi pakkar verða fjarlægðir til að uppfærsla takist eðlilega: %s\n"
+"\n"
+"\n"
+"Viltu í alvöru fjarlægja þessa pakka?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Villa við lestur úr skránni %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Eftirfarandi diskar voru endurnefndir:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (áður nefnt %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Net"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Veldu miðil"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Skráin er þegar til. Skrifa yfir hana?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Aðgangi hafnað"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Rangt NFS nafn"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Gallaður miðill %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Get ekki tekið skjámyndir fyrr en disksneiðar hafa verið skilgreindar"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjámyndir verða tiltækar eftir uppsetningu í %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Set inn"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Stillingar"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Þú verður einnig að forsníða %s"
+
+#: 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 ""
+"Eitthvað af vélbúnaðinum í tölvunni þinni þarfnast rekla sem eru ``ekki'' "
+"opinn hugbúnaður.\n"
+"Þú finnur meiri upplýsingar um þá á: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Keyri upp netið"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Keyri niður netið"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Bíðið, sæki skrá"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "get ekki bætt við miðli"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Afrita nokkra pakka á diska til notkunar síðar"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Afritun í gangi"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "verð að fá"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "áríðandi"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "mjög þægilegt"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "þægilegt"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "kannski"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Engin XML-info skrá fyrir miðil \"%s\", aðeins takmarkaðar upplýsingar fyrir "
+"pakka %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Engin lýsing til"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Suma pakka sem %s þarfnast, er ekki hægt að setja inn:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Villa kom upp:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Banvæn villa kom upp: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d Innsetningarfærslur brugðust"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Innsetning pakka tókst ekki:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Vinnustöð"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Skrifstofu-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Skrifstofu forrit: ritvinnsla (LibreOffice Writer, Kword), töflureiknar "
+"(LibreOffice Calc, Kspread) pdf skoðarar, o.s.frv"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Leikja-(vinnu)stöð"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Leikjaforrit, skotleikir, borðleikir, herkænskuleikir og fleira"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Margmiðlunar-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Spila og breyta hljóðskrám og kvikmyndum"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Tól og tæki til að lesa og senda póst, fréttir (mutt,tin...) og til að "
+"flakka á vefnum"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netbiðlarar"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Biðlarar fyrir ýmsar samskiptareglur þ.m.t ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Tæki til að auðvelda uppsetningu tölvunnar"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Skjától"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Ritlar, skeljar, skráatól, skjáhermar"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Forritun"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C og C++ undirforritasöfn, forrit og lýsingaskrár"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Handbækur"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bækur og leiðbeiningar um Linux og frjálsan hugbúnað"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Stuðningur fyrir forrit þriðja aðila"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Vefmiðlari"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Hópvinnuforrit"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Miðlari"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Eldveggur/beinir"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet netgátt"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Póstur/Fréttir"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix póstþjónusta, Inn fréttaþjónusta"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Upplýsingaveita"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Miðlari"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nafnaþjónustur og net-upplýsingaveitur"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Skráa og prentmiðlari"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS miðlari, Samba miðlari"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Gagnagrunnar"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL og MariaDB gagnagrunns-miðlarar"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Vefur/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Póstur"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix póstþjónusta"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL eða MariaDB gagnagrunns-miðlarar"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netþjónustur"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-þjónusta, SMB-þjónusta, Staðgengils-þjónusta, ssh-þjónusta"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Myndrænt umhverfi"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE (K Desktop Environment). Gluggastjóri með safni hjálparforrita"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome vinnustöð"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Gluggastjóri með notendavænum forritum og skjáborðs-tólum"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE Skjáborð"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Aðrir gluggastjórar"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Tól"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Miðlari"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin, stillingar á fjartengdri tölvu um vef"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netforrit/Neteftirlit"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Eftirlitstól, vinna með notendur, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Ráðgjafar"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Ráðgjafar til að stilla miðlara"
+
+#: 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 ""
+"Óþekkt villa kom upp sem ekki er hægt að meðhöndla.\n"
+"Haltu áfram á eigin ábyrgð."
+
+#: steps.pm:469
+#, 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 ""
+"Sumir mikilvægir pakkar voru ekki uppsettir eðlilega.\n"
+"Annaðhvort er geisladiskurinn eða drifið skemmt.\n"
+"Athugaðu geisladiskinn á uppsettri vél með skipuninni\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Byrja skref `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s uppsetning %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> milli skrefa"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg miðlari er seinn að ræsa. Bíddu við..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ef vélin þín er vanbúin að einhverju leyti þá getur þú átt\n"
+"í vandræðum með að setja upp %s.\n"
+"Ef svo er, þá gætir þú reynt að nota texta-uppsetningu.\n"
+"Til þess að gera það, ýttu á F1 þegar þú ræsir af\n"
+"geisladisknum og sláðu síðan inn `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Val á miðlum"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Setja inn %s GNOME umhverfi"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Sérsniðin uppsetning"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME Skjáborð"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Sérsniðið Skjáborð"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hér er forsýn af '%s' skjáborðinu."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Smelltu á myndir til að sjá stærri forsýn"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Val á pakkahóp"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Val á einstökum pökkum"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Afvelja allt"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Heildarstærð: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Útgáfa: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Stærð: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Mikilvægi: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Þú getur ekki valið/af-valið þennan pakka"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "vegna þess að %s vantar"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "vegna þess að %s er ekki uppfyllt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "reyni að hækka vægi %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "til þess að halda %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Þú getur ekki valið þennan pakka því það er ekki nægilegt pláss"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Eftirfarandi pakkar verða settir inn"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Eftirfarandi pakkar verða fjarlægðir"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Þessi pakki verður að vera uppsettur, þú getur ekki af-valið hann"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Þú getur ekki af-valið þennan pakka hann er þegar uppsettur"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Þú getur ekki af-valið þennan pakka, það verður að uppfæra hann"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Sýna sjálfvirkt valda pakka"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Setja inn"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Sækja/Vista val"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Uppfæri val á pökkum"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Lágmarks uppsetning"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Hugbúnaðarumsýsla"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Veldu pakkana sem þú vilt setja inn"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Set inn"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Engar upplýsingar"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tími eftir:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(áætla...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakki"
+msgstr[1] "%d pakkar"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Yfirlit"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Stilla"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ekki stillt"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Eftirfarandi uppsetningar-miðlar hafa fundist.\n"
+"Ef þú vilt sleppa einhverjum af þeim, þá getur þú af-valið þá núna."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Þú getur valið að afrita innihald geisladiskanna inn á diskinn fyrir "
+"uppsetningu.\n"
+"Síðan mun uppsetning halda áfram frá disknum og pakkarnir verða til staðar "
+"þegar kerfið er að fullu uppsett."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Afrita alla geisladiska"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Villa kom upp"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Veldu lyklaborðs-uppsetningu"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Hér er tæmandi listi af tiltækum lyklaborðum:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Innsetning/Uppfærsla"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er þetta innsetning eða uppfærsla?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Innsetning"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uppfæra %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Dulritunar-lykill fyrir %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Hætta við innsetningu, endurræsa kerfi"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ný Uppsetning"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Uppfæra fyrri uppsetningu (ekki mælt með)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Skiftu um geisladisk!\n"
+"Settu inn geisladisk merktan \"%s\" í diskdrifið og ýttu á \"à lagi\" þegar "
+"þú ert tilbúin(n).\n"
+"Ef þú hefur ekki diskinn, ýttu þá að \"Hætta við\" til að sleppa uppsetningu "
+"frá þessum diski."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Leita að tiltækum pökkum..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Það er ekki nóg laust pláss fyrir innsetningu eða uppfærslu á kerfinu þínu "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Veldu hvort eigi að sækja eða vista pakkaval.\n"
+"Sniðið er það sama og á auto_install skrám."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Sækja"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Vista"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Gölluð skrá"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Val á Skjáborði"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Þú getur valið vinnustöðvar-umhverfi (skjáborð)."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valin stærð er stærri en tiltækt pláss"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tegund uppsetningar"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Þú hefur ekki valið neina pakkahópa.\n"
+"Veldu lágmarksuppsetningu sem þú vilt:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Með X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Með grunn-handbókum (mælt með!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Alger lágmarksuppsetning (ekkert urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Undirbý innsetningu"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Set inn pakka %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Það kom upp villa við að raða pökkum:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Viltu samt halda áfram?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Reyna aftur"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Sleppa þessum pakka"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Sleppa ölum pökkum af miðli \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Fara til baka í val á miðlum og pökkum"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Það kom upp villa við innsetningu pakka %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Lokastillingar"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Staðfestu að Uppfærslu-miðill sé í drifi %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Uppfærslur"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Eftirfarandi pakkar verða settir inn"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Reyna aftur?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Villa þegar miðli var bætt við"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Þú hefur nú möguleika á að sækja uppfærða pakka. Þessir pakkar\n"
+"hafa verið uppfærðir eftir að dreifingin var send úr húsi.\n"
+"Þeir kunna að innihalda villuleiðréttingar eða öryggisuppfærslur.\n"
+"\n"
+"Til að sækja þessa pakka þá verður þú að vera tengdur Internetinu.\n"
+"\n"
+"Viltu sækja uppfærslurnar?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s á %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Vélbúnaður"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Hljóðkort"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Myndrænt viðmót"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Staðarnet og Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Sel"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "stillt"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Öryggisþrep"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Eldveggur"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "virkt"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "óvirkt"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Þú hefur ekki sett upp X, ertu viss um að þú viljir þetta?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Verið þolinmóð þetta getur tekið nokkra stund..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"à þessu öryggisþrepi er aðgangur að Windows disksneiðum takmarkaður við "
+"kerfisstjóra."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Settu tóman diskling í drif %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Bý til diskling fyrir sjálfvirka uppsetningu..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sum skref eru ennþá eftir.\n"
+"\n"
+"Viltu virkilega hætta núna?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Til hamingju"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Endurræsa"
+
+#. -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 "Velja tungumál"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Staðfærsla"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Notkunarskilmálar"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mús"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Leita að disk(um)"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Innsetningarflokkur"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Lyklaborð"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Öryggi"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Skipting diska"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Forsníð"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Velja pakka"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Setja inn"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Notendur"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Ræsistjóri"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Stilla X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Yfirlit"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Þjónustur"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uppfærslur"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Hætta"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Vefslóð að spegli?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Slóð verður að byrja á ftp:// eða http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Hef samband við %s vefinn til að sækja lista yfir fáanlega spegla..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Mistókst að tengjast við %s vefinn til að sækja lista yfir fáanlega spegla"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Veldu spegilvélina þaðan sem á að sækja pakkanna"
diff --git a/perl-install/install/share/po/it.po b/perl-install/install/share/po/it.po
new file mode 100644
index 000000000..f80751725
--- /dev/null
+++ b/perl-install/install/share/po/it.po
@@ -0,0 +1,1721 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# killer1987 <marcello.anni@alice.it>, 2013-2014
+# Matteo Pasotti <matteo@xquiet.eu>, 2012-2013
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: killer1987 <marcello.anni@alice.it>\n"
+"Language-Team: Italian (http://www.transifex.com/MageiaLinux/mageia/language/"
+"it/)\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Unisciti a noi!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Rendila tua!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "La tua scelta!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Strumenti per l'ufficio"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Home entertainment"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Per i bambini"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Per la famiglia!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Per gli sviluppatori!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Grazie!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Sentiti libero!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hai delle altre fonti d'installazione?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Sono state individuate queste fonti che verranno utilizzate per "
+"l'installazione: %s.\n"
+"\n"
+"\n"
+"Disponi di altre fonti di installazione da configurare?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rete (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rete (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rete (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configurazione NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Immetti il nome dell'host e della directory che userai come supporto NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Manca il nome dell'host"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Una directory deve iniziare con \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nome dell'host da montare con NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Aggiuntivo"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Impossibile trovare su questo mirror il file con l'elenco dei pacchetti. "
+"Assicurati che l'indirizzo sia esatto."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Alcuni dispositivi hardware sul tuo elaboratore necessitano di firmware "
+"proprietari affinché il software libero dei driver possa funzionare."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Dovresti abilitare \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" contiene varie parti del sistema e delle sue applicazioni"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" contiene software non libero.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Contiene inoltre firmware necessari al funzionamento di certi dispositivi "
+"(eg: qualche scheda grafica ATI/AMD, qualche scheda di rete, qualche scheda "
+"RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" contiene software che non può essere distribuito in qualsiasi paese a "
+"causa di brevetti software."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Contiene inoltre software da \"%s\" ricostruito con funzionalità aggiuntive."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Qui puoi abilitare più fonti se lo desideri."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+"Questa fonte fornisce aggiornamenti dei pacchetti provenienti da \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ricerca dei pacchetti già installati..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ricerca dei pacchetti da aggiornare..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Rimozione dei pacchetti prima di aggiornare..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Per permettere l'aggiornamento del sistema si devono rimuovere i seguenti "
+"pacchetti: %s\n"
+"\n"
+"\n"
+"Vuoi davvero rimuoverli?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Errore nel leggere il file %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Questi dischi hanno cambiato nome:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (che prima si chiamava %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rete"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Scegli una fonte"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Il file esiste già. Lo sovrascrivo?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS non valido"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Fonte non valida %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Non è possibile fare schermate prima di partizionamento"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Gli screenshot saranno disponibili in %s dopo l'installazione."
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installazione"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configurazione"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "È necessario formattare anche %s"
+
+#: 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 ""
+"Parte dell'hardware del computer richiede driver \"proprietari\" per\n"
+"funzionare. Si possono trovare informazioni al riguardo presso: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Attivazione della rete..."
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Disattivazione della rete..."
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Attendi, recupero file in corso"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "impossibile aggiungere la fonte"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copia di alcuni pacchetti sui dischi per un'utilizzazione futura"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copia in corso"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "obbligatorio"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "molto utile"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "utile"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "forse"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Ottengo le informazioni del pacchetto dai meta-dati XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Mancano informazioni XML per la fonte \"%s\", solo risultati parziali per il "
+"pacchetto %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nessuna descrizione"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Alcuni pacchetti richiesti da %s non possono essere installati:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Si è verificato un errore:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Si è verificato un errore fatale: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Non chiedere più"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transazioni dell'installazione fallite"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installazione dei pacchetti non riuscita:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Postazione di lavoro"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Postazione per lavoro da ufficio"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmi da ufficio: editor di testo (LibreOffice Writer, Kword), fogli "
+"elettronici (LibreOffice Calc, Kspread), visualizzatori PDF, ecc."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Computer per giocare"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programmi di svago: arcade, da tavolo, di strategia, ecc."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Postazione multimediale"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmi di riproduzione/modifica audio e video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Postazione Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Gruppo di programmi per leggere, inviare posta e news (mutt, tin...) e per "
+"navigare il Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computer in rete (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Client per vari protocolli, incluso ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Strumenti per semplificare la configurazione del computer"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Programmi da riga di comando"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editor, shell, gestione file, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Sviluppo"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Librerie di sviluppo, programmi e file \"include\" per C e C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentazione"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libri e Howto su Linux e sul Software Libero"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Supporto per applicazioni di terze parti"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway per Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server di posta Postfix, server di news Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server di Directory"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server per Domain Name e Network Information"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server per la condivisione di file e stampanti"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Server di database PostgreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache e Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server di posta Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Server di database PostgreSQL o MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Server di rete"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, server SMB, server proxy, server SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente grafico"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Il K Desktop Environment, l'ambiente grafico di base integrato da una ricca "
+"collezione di strumenti"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Postazione di lavoro grafica con GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un ambiente grafico con un gruppo di applicazioni e di strumenti per il "
+"desktop di facile utilizzo"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Un ambiente grafico più leggero con un set di applicazioni e strumenti per "
+"il desktop pensati per l'utente"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Stazione di lavoro MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Stazione di lavoro Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Un ambiente grafico basato su GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Desktop LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Un port QT di nuova generazione dell'ambiente desktop lightweight"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Un ambiente grafico leggero e veloce con un supporto dedicato"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Desktop LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un ambiente grafico veloce e leggero"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Altri desktop grafici"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilità"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server Webmin per la configurazione remota"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilità/Monitoraggio della rete"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Strumenti di monitoraggio, accounting dei processi, tcpdump, nmap,..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Assistenti Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Procedure guidate per la configurazione del server"
+
+#: 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 ""
+"Si è verificato un errore non gestibile automaticamente.\n"
+"Puoi continuare a tuo rischio e pericolo."
+
+#: steps.pm:469
+#, 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 ""
+"Alcuni pacchetti importanti non sono stati installati correttamente.\n"
+"Il lettore di cdrom o il cdrom possono essere danneggiati.\n"
+"Controlla il cdrom su un sistema già installato digitando\n"
+" \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Avvio della fase \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installazione %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> muove il cursore"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Il server Xorg è lento ad avviarsi. Attendi..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Il tuo sistema ha risorse non sufficienti. Potresti avere dei\n"
+"problemi nell'installazione di %s. Se ciò si verifica, puoi\n"
+"provare un'installazione testuale. Per questo, premi `F1' \n"
+"quando si avvia il CD-ROM, quindi digita `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Selezione delle fonti d'installazione"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installa il desktop GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Installazione personalizzata"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Desktop Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Desktop GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Desktop personalizzato"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Ecco l'anteprima del desktop '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Clicca sulle immagini per ottenere un'anteprima più grande"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selezione per gruppi di pacchetti"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selezione individuale dei pacchetti"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deseleziona tutti"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Dimensione totale: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versione: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Dimensione:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importanza: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Non puoi selezionare/deselezionare questo pacchetto"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "per la mancanza di %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "perché %s non è soddisfatto"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Ricerca del miglior pacchetto per %s..."
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "per conservare %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Non puoi selezionare questo pacchetto perché non c'è spazio sufficiente per "
+"installarlo"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "I seguenti pacchetti stanno per essere installati"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "I seguenti pacchetti stanno per essere rimossi"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Questo è un pacchetto obbligatorio, non puoi deselezionarlo"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Non puoi deselezionare questo pacchetto. È già installato"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Non puoi deselezionare questo pacchetto. Deve essere aggiornato"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostra i pacchetti selezionati automaticamente"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installa"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carica/salva selezione"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Aggiornamento scelta pacchetti"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Installazione minimale"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gestione software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Scegli i pacchetti che vuoi installare"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installazione"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Senza dettagli"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tempo restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(stima in corso...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacchetto"
+msgstr[1] "%d pacchetti"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Riepilogo"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configura"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "non configurata"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Sono state trovate queste fonti d'installazione.\n"
+"Se vuoi ignorarne qualcuna, la puoi deselezionare ora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Hai la possibilità di copiare il contenuto dei CD sul disco rigido prima "
+"dell'installazione.\n"
+"Si proseguirà così dal disco rigido e i pacchetti rimarranno disponibili una "
+"volta che il sistema è completamente installato."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copia tutti i CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Si è verificato un errore"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Scegli la mappa della tastiera"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Ecco la lista completa delle tastiere disponibili:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installazione/Aggiornamento"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "È un'installazione o un aggiornamento?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installazione"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aggiornamento di %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Chiave di cifratura per %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancella l'installazione, riavvia il sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nuova Installazione"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Aggiorna l'installazione precedente (Non raccomandato)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"L'installer ha rilevato che il sistema Linux installato non può essere "
+"aggiornato a %s in sicurezza.\n"
+"\n"
+"Raccomandiamo una nuova installazione che sostituisca quella precedente.\n"
+"\n"
+"Attenzione: devi fare una copia di tutti i tuoi dati personali prima di "
+"scegliere \"Nuova installazione\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Occorre sostituire il Cd-Rom!\n"
+"Inserisci il Cd-Rom chiamato \"%s\" nel lettore e premi OK quando sei "
+"pronto.\n"
+"Se non lo hai, premi Annulla per saltare l'installazione da quel Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ricerca dei pacchetti disponibili..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sul sistema non è rimasto sufficiente spazio libero per l'installazione o "
+"l'aggiornamento (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Scegli se caricare o salvare la selezione di pacchetti.\n"
+"Il formato è lo stesso dei file generati con auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Carica"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Salva"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "File non valido"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selezione Desktop"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+"Puoi scegliere il profilo della tua postazione di lavoro per il desktop"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Lo spazio richiesto è maggiore di quello disponibile"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipo di installazione"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nessun gruppo di pacchetti risulta selezionato .\n"
+"Scegli il tipo di installazione minima desiderato:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installa i pacchetti consigliati"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Con la documentazione essenziale (raccomandata!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installazione veramente minimale (in particolare niente urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Preparazione del aggiornamento..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Sto preparando l'installazione"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installazione del pacchetto %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "C'è un errore nell'ordinamento dei pacchetti:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vado avanti comunque?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Riprova"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Salta questo pacchetto"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Salta tutti i pacchetti provenienti da \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Torna alla scelta dei pacchetti e delle fonti"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "C'è stato un errore nell'installazione del pacchetto %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configurazione post installazione"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Assicurati che gli \"Update Modules\" siano leggibili dal dispositivo %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aggiornamenti"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "I seguenti pacchetti stanno per essere installati"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Riprovare?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Errore nell'aggiunta della fonte"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ora hai la possibilità di scaricare dei pacchetti aggiornati che sono\n"
+"stati modificati dopo l'uscita della distribuzione. Questi pacchetti "
+"possono\n"
+"contenere aggiornamenti di sicurezza o correzioni di errori.\n"
+"\n"
+"Per scaricare questi pacchetti serve una connessione a Internet attiva.\n"
+"\n"
+"Vuoi installare gli aggiornamenti?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s in %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Scheda audio"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaccia grafica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rete e Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurato"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Livello di sicurezza"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "attivato"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "disabilitato"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Non hai configurato X. Sei sicuro di non volerlo fare?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Sto preparando l'installazione..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Sii paziente, potrebbe servire un po' di tempo..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"A questo livello di sicurezza, l'accesso ai file delle partizioni Windows è "
+"riservato all'amministratore."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inserisci un floppy vuoto nell'unità %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sto creando il floppy di installazione automatica..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alcune fasi non sono state completate.\n"
+"\n"
+"Vuoi veramente interrompere adesso?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Congratulazioni"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Riavvia"
+
+#. -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 "Lingua"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localizzazione"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenza"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Rilevamento disco fisso"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe di installazione"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sicurezza"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizionamento"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formattazione"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Scelta dei pacchetti"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installazione"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utenti"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurazione X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Riepilogo"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizi"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aggiornamenti"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Esci"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL del mirror?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "L'URL deve iniziare con ftp:// o http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Contattando il sito web %s per ottenere l'elenco dei mirror disponibili..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "È fallito il contatto col sito web %s per ottenere la lista dei mirror "
+#~ "disponibili"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Scegli un mirror da cui recuperare i pacchetti"
diff --git a/perl-install/install/share/po/ja.po b/perl-install/install/share/po/ja.po
new file mode 100644
index 000000000..8b957a576
--- /dev/null
+++ b/perl-install/install/share/po/ja.po
@@ -0,0 +1,1691 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# kakurasan <kakurasan@gmail.com>, 2017
+# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2003-2004
+# YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000\n"
+"Language-Team: Japanese (http://app.transifex.com/MageiaLinux/mageia/"
+"language/ja/)\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "ã”å‚加ãã ã•ã„!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "ã‚ãªãŸã®ã‚‚ã®ã«ã—ã¾ã—ょã†!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "ã‚ãªãŸãŒæ±ºã‚ã‚‹ã®ã§ã™!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "オフィス ツール"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "ホーム エンターテインメント"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "å­ä¾›ã«ã‚‚"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "å®¶æ—ã«ã‚‚!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "開発者ã«ã‚‚!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "自由ã§ã„ã¾ã—ょã†!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "ä»–ã«è¿½åŠ ã™ã‚‹ãƒ¡ãƒ‡ã‚£ã‚¢ã¯ã‚りã¾ã™ã‹?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"以下ã®ãƒ¡ãƒ‡ã‚£ã‚¢ãŒæ¤œå‡ºã•れã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®é–“ã«ä½¿ç”¨ã•れã¾ã™: %s \n"
+"\n"
+"\n"
+"ä»–ã«è¨­å®šã™ã‚‹ãƒ¡ãƒ‡ã‚£ã‚¢ã¯ã‚りã¾ã™ã‹?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS ã®è¨­å®š"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS メディアã®ãƒ›ã‚¹ãƒˆåã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’入力ã—ã¦ãã ã•ã„"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "ホストåãŒã‚りã¾ã›ã‚“"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "ディレクトリ㯠\"/\" ã§å§‹ã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS マウントã®ãƒ›ã‚¹ãƒˆå"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ディレクトリ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "追加ã®ãƒ¡ãƒ‡ã‚£ã‚¢"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"パッケージ リストã®ãƒ•ァイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。ミラーã®å ´æ‰€ãŒæ­£ã—ã„ã‹ç¢ºèªã—ã¦ã"
+"ã ã•ã„。"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"ã“ã®ãƒžã‚·ãƒ³ä¸Šã®å¹¾ã¤ã‹ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã«ã¯ãƒ•リー ソフトウェアã®ãƒ‰ãƒ©ã‚¤ãƒãŒå‹•作ã™ã‚‹"
+"ãŸã‚ã«å¹¾ã¤ã‹ã®éžãƒ•リーãªãƒ•ァームウェアãŒå¿…è¦ã§ã™ã€‚"
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "\"%s\" を有効ã«ã—ãŸã»ã†ãŒã‚ˆã„ã§ã—ょã†"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" ã«ã¯å„種システムã¨ãã®ã‚¢ãƒ—リケーションãŒå«ã¾ã‚Œã¾ã™"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" ã«ã¯éžãƒ•リーãªã‚½ãƒ•トウェアãŒå«ã¾ã‚Œã¾ã™ã€‚\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"ã“れã«ã¯å¹¾ã¤ã‹ã®ãƒ‡ãƒã‚¤ã‚¹ãŒå‹•作ã™ã‚‹ãŸã‚ã«å¿…è¦ãªãƒ•ァームウェアもå«ã¾ã‚Œã¾ã™ "
+"(例: å¹¾ã¤ã‹ã®ATI/AMD グラフィック カード, å¹¾ã¤ã‹ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ カード, å¹¾ã¤ã‹"
+"㮠RAID カード, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" ã«ã¯ã‚½ãƒ•トウェア特許ã«ã‚ˆã‚Šã™ã¹ã¦ã®å›½ã§é…布ã™ã‚‹ã“ã¨ãŒã§ããªã„ソフトウェ"
+"ã‚¢ãŒå«ã¾ã‚Œã¾ã™ã€‚"
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"ã“れã«ã¯ \"%s\" ã®ã‚½ãƒ•トウェアã«è¿½åŠ ã®æ©Ÿèƒ½ã‚’有効ã«ã—ã¦ãƒ“ルドã—ãŸã‚‚ã®ã‚‚å«ã¾ã‚Œ"
+"ã¾ã™ã€‚"
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "ã“ã“ã§å¿…è¦ã«å¿œã˜ã¦è¿½åŠ ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’有効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "ã“ã®ãƒ¡ãƒ‡ã‚£ã‚¢ã¯ãƒ¡ãƒ‡ã‚£ã‚¢ \"%s\" ã«å¯¾ã™ã‚‹ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã®æ›´æ–°ã‚’æä¾›ã—ã¾ã™"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "インストール済ã¿ãƒ‘ッケージを探ã—ã¦ã„ã¾ã™..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "æ›´æ–°ã™ã‚‹ãƒ‘ッケージを探ã—ã¦ã„ã¾ã™..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "アップグレードã™ã‚‹å‰ã«ãƒ‘ッケージを削除ã—ã¦ã„ã¾ã™..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"システムを更新ã™ã‚‹ãŸã‚以下ã®ãƒ‘ッケージを削除ã—ã¾ã™: %s\n"
+"\n"
+"\n"
+"ã“れらã®ãƒ‘ッケージを削除ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "ファイル %s ã®èª­ã¿è¾¼ã¿æ™‚ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "次ã®ãƒ‡ã‚£ã‚¹ã‚¯ã®åå‰ã¯å¤‰æ›´ã•れã¾ã—ãŸ:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (変更å‰ã®åå‰ã¯ %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "メディアをé¸ã‚“ã§ãã ã•ã„"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚上書ãã—ã¾ã™ã‹?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "アクセス許å¯ãŒã‚りã¾ã›ã‚“"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "䏿­£ãª NFS å"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "䏿­£ãªãƒ¡ãƒ‡ã‚£ã‚¢ %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "パーティション設定ãŒçµ‚ã‚ã‚‹ã¾ã§ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã¯æ’®ã‚Œã¾ã›ã‚“"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"スクリーンショット㯠%s ã«ã‚りã¾ã™ã€‚インストール後ã«åˆ©ç”¨å¯èƒ½ã«ãªã‚Šã¾ã™ã€‚"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "インストール"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "設定"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "%s もフォーマットã—ã¦ãã ã•ã„"
+
+#: 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 ""
+"ãŠä½¿ã„ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®ä¸­ã« ``プロプライエタリ'' ドライãƒãŒå¿…è¦ãªã‚‚ã®ãŒã‚りã¾"
+"ã™ã€‚\n"
+"詳ã—ãã¯ä»¥ä¸‹ã‚’ã”å‚ç…§ãã ã•ã„: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’有効ã«ã—ã¦ã„ã¾ã™"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’無効ã«ã—ã¦ã„ã¾ã™"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "ファイルをå–å¾—ã—ã¦ã„ã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„。"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "メディアを追加ã§ãã¾ã›ã‚“"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "å¹¾ã¤ã‹ã®ãƒ‘ッケージを後ã§åˆ©ç”¨ã™ã‚‹ãŸã‚ã«ãƒ‡ã‚£ã‚¹ã‚¯ã«ã‚³ãƒ”ーã—ã¦ã„ã¾ã™"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "コピーã—ã¦ã„ã¾ã™"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "å¿…é ˆ"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "é‡è¦"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "優秀"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ç§€"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "å¯"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "XML メタ データã‹ã‚‰ãƒ‘ッケージ情報をå–å¾—ã—ã¦ã„ã¾ã™..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"メディア %s ã« XML 情報ãŒãªã„ãŸã‚ã€ãƒ‘ッケージ %s ã®æ¤œç´¢çµæžœã¯ä¸å®Œå…¨ã§ã™"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "説明ãªã—"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s ãŒè¦æ±‚ã™ã‚‹ã„ãã¤ã‹ã®ãƒ‘ッケージをインストールã§ãã¾ã›ã‚“:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "致命的ãªã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "次回ã‹ã‚‰ç¢ºèªã—ãªã„"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d ä»¶ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå¤±æ•—ã—ã¾ã—ãŸ"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "パッケージã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«å¤±æ•—ã—ã¾ã—ãŸ:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "ワークステーション"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "オフィス ワークステーション"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"オフィス プログラム: ワープロ (LibreOffice Writer, Kword), 表計算 "
+"(OpenOffice.org Calc, Kspread), PDF ビューアãªã©"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "ゲーム ステーション"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "娯楽プログラム: アーケード ゲーム, ボード ゲーム, 戦略ゲームãªã©"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "マルãƒãƒ¡ãƒ‡ã‚£ã‚¢ ステーション"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "サウンドã¨å‹•ç”»ã®å†ç”Ÿ/編集プログラム"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "インターãƒãƒƒãƒˆ ステーション"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"メールã¨ãƒ‹ãƒ¥ãƒ¼ã‚¹ã®é€å—信用ツール (mutt,tin..) ã¨ã‚¦ã‚§ãƒ– ブラウズ用ツール"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ (クライアント)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh ãªã©ã®å„種プロトコル用クライアント"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "コンピュータã®è¨­å®šã‚’ç°¡å˜ã«ã™ã‚‹ãƒ„ール"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "端末用ツール"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "エディタ, シェル, ファイル関連ツール, 端末"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "開発パッケージ"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ ã®é–‹ç™ºãƒ©ã‚¤ãƒ–ラリ, プログラム, include ファイル"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ドキュメント"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux やフリー ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®æ–‡æ›¸ã¨ Howto"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base, サード パーティã®ã‚¢ãƒ—リケーションをサãƒãƒ¼ãƒˆ"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web サーãƒ"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "グループウェア"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab サーãƒ"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "ファイアウォール/ルータ"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "インターãƒãƒƒãƒˆ ゲートウェイ"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "メール/ニュース"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix メール サーãƒ, Inn ニュース サーãƒ"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ディレクトリ サーãƒ"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP サーãƒ"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ドメインåã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æƒ…å ±ã®ã‚µãƒ¼ãƒ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ファイルã¨ãƒ—リンタã®å…±æœ‰ã‚µãƒ¼ãƒ"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS サーãƒ, Samba サーãƒ"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "データベース"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL ã‚„ MariaDB ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ サーãƒ"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "メール"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix メール サーãƒ"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ã‚„ MariaDB ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ サーãƒ"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ コンピュータ サーãƒ"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS サーãƒ, SMB サーãƒ, プロキシサーãƒ, SSH サーãƒ"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "グラフィカル環境"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma ワークステーション"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE, ã•ã¾ã–ã¾ãªãƒ„ールをå«ã‚€åŸºæœ¬çš„ãªã‚°ãƒ©ãƒ•ィカル環境"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME ワークステーション"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"ユーザ フレンドリãªã‚¢ãƒ—リケーションやデスクトップ ツールをå«ã‚€ã‚°ãƒ©ãƒ•ィカル環"
+"境"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce ワークステーション"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"ユーザ フレンドリãªã‚¢ãƒ—リケーションやデスクトップ ツールをå«ã‚€ã€ã‚ˆã‚Šè»½é‡ãªã‚°"
+"ラフィカル環境"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE ワークステーション"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon ワークステーション"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GNOME ã«åŸºã¥ã„ãŸã‚°ãƒ©ãƒ•ィカル環境"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt デスクトップ"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "軽é‡ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ç’°å¢ƒã®æ¬¡ä¸–代㮠QT ç§»æ¤ç‰ˆ"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment デスクトップ"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "ç†±å¿ƒãªæ”¯æŒè€…ã‚’æŒã¤è»½é‡é«˜é€Ÿãªã‚°ãƒ©ãƒ•ィカル環境"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE デスクトップ"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "軽é‡é«˜é€Ÿãªã‚°ãƒ©ãƒ•ィカル環境"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "ãã®ä»–ã®ã‚°ãƒ©ãƒ•ィカル デスクトップ"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker ã‚„ Fvwm ãªã©"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ユーティリティ"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH サーãƒ"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin リモート設定サーãƒ"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ ユーティリティ/モニタリング"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "モニタリング ツール, プロセス管ç†, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia ウィザード"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "サーãƒè¨­å®šã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰"
+
+#: 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 ""
+"エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã—ã‹ã—対処ã™ã‚‹æ–¹æ³•ãŒã‚ã‹ã‚Šã¾ã›ã‚“。\n"
+"自己責任ã§ç¶šã‘ã¦ãã ã•ã„。"
+
+#: steps.pm:469
+#, 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 ""
+"é‡è¦ãªãƒ‘ッケージãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã›ã‚“ã§ã—ãŸã€‚\n"
+"CD-ROM ドライブ㋠CD-ROM ã«å•題ãŒã‚りã¾ã™ã€‚\n"
+"'rpm -qpl media/main/*.rpm' コマンド㧠CD-ROM ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s ã‚’é–‹å§‹\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 項目間を移動"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg サーãƒã®èµ·å‹•ã«ã¯æ™‚é–“ãŒã‹ã‹ã‚Šã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"システムã®ãƒªã‚½ãƒ¼ã‚¹ãŒå分ã§ãªã„ãŸã‚ã€%s ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ä¸­ã«\n"
+"å•題ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ãã®å ´åˆã¯æ¬¡ã®è¦é ˜ã§ãƒ†ã‚­ã‚¹ãƒˆ モードã«ã‚ˆã‚‹\n"
+"インストールを試ã—ã¦ã¿ã¦ãã ã•ã„。\n"
+"CD-ROM ã‹ã‚‰èµ·å‹• -> F1 を押㙠-> 'text' ã¨å…¥åŠ›"
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "メディアã®é¸æŠž"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "%s Plasma デスクトップをインストール"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "%s GNOME デスクトップをインストール"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "カスタム インストール"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma デスクトップ"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME デスクトップ"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "カスタム デスクトップ"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "%s デスクトップã®ãƒ—レビューã§ã™ã€‚"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "ç”»åƒã‚’クリックã™ã‚‹ã¨å¤§ããªãƒ—レビューãŒè¡¨ç¤ºã•れã¾ã™"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "パッケージ ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠž"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "パッケージを個別ã«é¸æŠž"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "ã™ã¹ã¦é¸æŠžè§£é™¤"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "åˆè¨ˆã‚µã‚¤ã‚º: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "サイズ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "é‡è¦åº¦: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "ã“ã®ãƒ‘ッケージã®é¸æŠž/éžé¸æŠžã¯å¤‰æ›´ã§ãã¾ã›ã‚“"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ãŒãªã„ãŸã‚ã«"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s ãŒä¾å­˜ã‚’満ãŸã—ã¦ã„ãªã„ãŸã‚ã«"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s をアップグレードã™ã‚‹ãŸã‚ã«"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s ã‚’ç¶­æŒã™ã‚‹ãŸã‚ã«"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"ã“ã®ãƒ‘ッケージã¯é¸æŠžã§ãã¾ã›ã‚“。インストールã«å¿…è¦ãªç©ºã容é‡ãŒã‚りã¾ã›ã‚“。"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "以下ã®ãƒ‘ッケージをインストールã—ã¾ã™"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "以下ã®ãƒ‘ッケージを削除ã—ã¾ã™"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "ã“れã¯å¿…須パッケージã§ã™ã€‚é¸æŠžã‚’è§£é™¤ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "ã“ã®ãƒ‘ッケージã®é¸æŠžã¯è§£é™¤ã§ãã¾ã›ã‚“。既ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã™ã€‚"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "ã“ã®ãƒ‘ッケージã®é¸æŠžã¯è§£é™¤ã§ãã¾ã›ã‚“。アップグレードãŒå¿…è¦ã§ã™ã€‚"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "自動的ã«é¸æŠžã•れãŸãƒ‘ッケージを表示"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "インストール"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "é¸æŠžã‚’èª­ã¿è¾¼ã‚€/ä¿å­˜ã™ã‚‹"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "パッケージã®é¸æŠžã‚’æ›´æ–°"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "パッケージ一覧ã®éšŽå±¤è¡¨ç¤ºã‚’切り替ãˆã‚‹"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "最å°ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ソフトウェアã®ç®¡ç†"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "インストールã™ã‚‹ãƒ‘ッケージをé¸ã‚“ã§ãã ã•ã„"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "インストール"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "詳細をéžè¡¨ç¤º"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "残り時間:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(試算ã—ã¦ã„ã¾ã™...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 個ã®ãƒ‘ッケージ"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ã¾ã¨ã‚"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "設定"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "設定ã•れã¦ã„ã¾ã›ã‚“"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"次ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« メディアを検出ã—ã¾ã—ãŸã€‚\n"
+"使用ã—ãªã„ã‚‚ã®ãŒã‚れã°ã“ã“ã§é¸æŠžã‚’解除ã—ã¦ãã ã•ã„。"
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"インストールã™ã‚‹å‰ã« CD ã®å†…容をãƒãƒ¼ãƒ‰ ドライブã«ã‚³ãƒ”ーã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚\n"
+"ãã†ã™ã‚‹ã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ã¯ãƒãƒ¼ãƒ‰ ドライブã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ç¶šã‘ã¾ã™ã€‚コピーã•れ"
+"ãŸãƒ‘ッケージã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å®Œäº†å¾Œã‚‚利用ã§ãã¾ã™ã€‚"
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD 全体をコピー"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "キーボードã®é…列をé¸ã‚“ã§ãã ã•ã„"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "利用å¯èƒ½ãªã™ã¹ã¦ã®ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®ä¸€è¦§:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "インストール/更新"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‹æ›´æ–°ã‚’é¸ã‚“ã§ãã ã•ã„"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "インストール"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s ã‚’æ›´æ–°"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s ã®æš—å·éµ"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "インストールを中止ã—ã€ã‚·ã‚¹ãƒ†ãƒ ã‚’å†èµ·å‹•"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "æ–°ã—ãインストール"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "既存ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’アップグレード (éžæŽ¨å¥¨)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"インストーラã¯ã“ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ¸ˆã¿ã® Linux システムãŒç„¡äº‹ã« %s ã«\n"
+"アップグレードã§ããªã‹ã£ãŸã“ã¨ã‚’検出ã—ã¾ã—ãŸã€‚\n"
+"\n"
+"以å‰ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’ç½®ãæ›ãˆã¦æ–°ã—ãインストールã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•れã¾ã™ã€‚\n"
+"\n"
+"警告 : \"æ–°ã—ãインストール\" ã‚’é¸æŠžã™ã‚‹å‰ã«ã‚ãªãŸå€‹äººã®ãƒ‡ãƒ¼ã‚¿ã‚’ã™ã¹ã¦ãƒãƒƒã‚¯"
+"アップã—ãŸã»ã†ãŒã‚ˆã„ã§ã—ょã†ã€‚"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD を設定ã—ã¦ã„ã¾ã™"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"CD-ROM を交æ›ã—ã¦ãã ã•ã„。\n"
+"\"%s\" ã¨ã„ㆠCD-ROM をドライブã«å…¥ã‚Œã¦ã€ŒOKã€ã‚’押ã—ã¦ãã ã•ã„。\n"
+"ãŠæŒã¡ã§ãªã„å ´åˆã¯ã€Œã‚­ãƒ£ãƒ³ã‚»ãƒ«ã€ã‚’押ã—ã¦ãã ã•ã„。"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "利用å¯èƒ½ãªãƒ‘ッケージを探ã—ã¦ã„ã¾ã™..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ ã«ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¾ãŸã¯ã‚¢ãƒƒãƒ—グレードã«å¿…è¦ãªç©ºã容é‡ãŒã‚りã¾"
+"ã›ã‚“ (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"パッケージã®é¸æŠžã‚’読ã¿è¾¼ã‚€ã‹ä¿å­˜ã™ã‚‹ã‹ã‚’é¸ã‚“ã§ãã ã•ã„。\n"
+"å½¢å¼ã¯ auto_install ã§ç”Ÿæˆã•れãŸãƒ•ァイルã¨åŒã˜ã§ã™ã€‚"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "読ã¿è¾¼ã‚€"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "ä¿å­˜ã™ã‚‹"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "䏿­£ãªãƒ•ァイル"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "デスクトップã®é¸æŠž"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "ワークステーションã®ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ— ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã§ãã¾ã™ã€‚"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "指定ã•れãŸã‚µã‚¤ã‚ºãŒç©ºã容é‡ã‚’è¶…ãˆã¦ã„ã¾ã™"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "インストールã®ç¨®é¡ž"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"パッケージ グループãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。\n"
+"インストールã™ã‚‹æœ€ä½Žé™ã®ã‚‚ã®ã‚’é¸ã‚“ã§ãã ã•ã„:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X を使ã†"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "推奨パッケージをインストール"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "基本的ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’入れる (推奨)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "最å°é™ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« (urpmi ã‚‚å«ã¾ã‚Œã¾ã›ã‚“)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "アップグレードを準備ã—ã¦ã„ã¾ã™..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®æº–å‚™"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "パッケージ %s をインストールã—ã¦ã„ã¾ã™"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’ä¸¦ã¹æ›¿ãˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ç¶šã‘ã¾ã™ã‹?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "å†è©¦è¡Œ"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ã“ã®ãƒ‘ッケージを飛ã°ã™"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "メディア %s ã®ã™ã¹ã¦ã®ãƒ‘ッケージを飛ã°ã™"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "メディアã¨ãƒ‘ッケージã®é¸æŠžã«æˆ»ã‚‹"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "パッケージ %s ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "インストール後ã®è¨­å®š"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"更新モジュール メディアãŒãƒ‰ãƒ©ã‚¤ãƒ– %s ã«å…¥ã£ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "æ›´æ–°"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "ã“ã“ã§ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ メディアを設定ã§ãã¾ã™ã€‚"
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "ã“れã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£æ›´æ–°ã‚’インストールå¯èƒ½ã«ã—ã¾ã™ã€‚"
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"ã“れらã®ãƒ¡ãƒ‡ã‚£ã‚¢ã‚’設定ã™ã‚‹ã«ã¯ã€ç¨¼åƒä¸­ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒå¿…è¦ã¨ãªã‚Šã¾"
+"ã™ã€‚\n"
+"\n"
+"更新メディアを設定ã—ã¾ã™ã‹?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "ダウンローダãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "やり直ã—ã¾ã™ã‹?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "メディアã®è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"æ›´æ–°ã•れãŸãƒ‘ッケージをダウンロードã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れらã®ãƒ‘ッケージã¯\n"
+"ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³å…¬é–‹å¾Œã«æ›´æ–°ã•れãŸã‚‚ã®ã§ã™ã€‚セキュリティå•題やä¸å…·åˆ\n"
+"ã®ä¿®æ­£ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚\n"
+"\n"
+"パッケージã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒå¿…è¦ã§ã™ã€‚\n"
+"\n"
+"æ›´æ–°ã•れãŸãƒ‘ッケージをインストールã—ã¾ã™ã‹?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s ã® %1$s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "サウンド カード"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "グラフィカル インターフェース"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¨ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆ"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "プロキシ"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "設定済ã¿"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "セキュリティ レベル"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "ファイアウォール"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "有効"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "無効"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X ãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“。本当ã«ã‚ˆã‚ã—ã„ã§ã™ã‹?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "最åˆã«é–‹å§‹ã™ã‚‹ãƒ—ログラムを準備ã—ã¦ã„ã¾ã™..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "ã—ã°ã‚‰ã時間ãŒã‹ã‹ã‚Šã¾ã™ã€‚ãŠå¾…ã¡ãã ã•ã„..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"ã“ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ レベルã§ã¯ã€Windows パーティションã®ãƒ•ァイルã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒç®¡"
+"ç†è€…ã®ã¿ã«é™å®šã•れã¾ã™ã€‚"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "空ã®ãƒ•ロッピーをドライブ %s ã«å…¥ã‚Œã¦ãã ã•ã„"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "インストール自動化フロッピーを作æˆä¸­..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"一部ã®è¨­å®šãŒå®Œäº†ã—ã¦ã„ã¾ã›ã‚“。\n"
+"\n"
+"本当ã«çµ‚了ã—ã¾ã™ã‹?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "å†èµ·å‹•"
+
+#. -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 "è¨€èªžã‚’é¸æŠž"
+
+#: 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 "ライセンス"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "マウス"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ãƒãƒ¼ãƒ‰ ãƒ‰ãƒ©ã‚¤ãƒ–ã®æ¤œå‡º"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "インストール クラス"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "キーボード"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "セキュリティ"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "パーティションã®è¨­å®š"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "フォーマット"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "パッケージã®é¸æŠž"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "インストール"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ユーザ"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ブート ローダ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X を設定"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ã¾ã¨ã‚"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "サービス"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "æ›´æ–°"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "終了"
diff --git a/perl-install/install/share/po/ka.po b/perl-install/install/share/po/ka.po
new file mode 100644
index 000000000..eaeb48978
--- /dev/null
+++ b/perl-install/install/share/po/ka.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Georgian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/ka/)\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "პრáƒáƒ’რáƒáƒ›áƒ˜áƒ áƒ”ბáƒ"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "დáƒáƒ™áƒ£áƒ›áƒ”ნტáƒáƒªáƒ˜áƒ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "ელფáƒáƒ¡áƒ¢áƒ"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ვერსიáƒ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "ზáƒáƒ›áƒ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "პრáƒáƒ’რáƒáƒ›áƒáƒ—რმენეჯმენტი"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr ""
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "გáƒáƒœáƒáƒ®áƒšáƒ”ბები"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "მáƒáƒ¬áƒ§áƒáƒ‘ილáƒáƒ‘áƒ"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "ქსელი დრინტერნეტი"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "ქსელის დáƒáƒ›áƒªáƒáƒ•ი (Firewall)"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "გილáƒáƒªáƒáƒ•თ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "გáƒáƒ“áƒáƒ¢áƒ•ირთვáƒ"
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/ko.po b/perl-install/install/share/po/ko.po
new file mode 100644
index 000000000..65b56e66e
--- /dev/null
+++ b/perl-install/install/share/po/ko.po
@@ -0,0 +1,1673 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Jaegeum Choe <baedaron@hananet.net>, 2001
+# meta <hbahn@metq.com>, 2007
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Korean (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ko/)\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "추가할 미디어가 있습니까?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"다ìŒê³¼ ê°™ì€ ë¯¸ë””ì–´ë¥¼ 찾았습니다. ì´ë“¤ì€ 설치시 ì‚¬ìš©ë  ê²ƒìž…ë‹ˆë‹¤.: %s.\n"
+"\n"
+"\n"
+"설정할 추가 설치 매체가 있습니까?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "ë§(HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "ë§(FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "ë§(NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "ë§ íŒŒì¼ ì‹œìŠ¤í…œ (NFS) 구성"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS ë§¤ì²´ì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ê³¼ 디렉토리를 입력해 주십시요."
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "호스트 ì´ë¦„ì„ ì°¾ì„ ìˆ˜ 없습니다"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "디렉토리는 \"/\"로 시작ë˜ì–´ì•¼ 합니다."
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "ë§ íŒŒì¼ ì‹œìŠ¤í…œ(NFS)ì˜ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì„ ì„¤ì¹˜í•©ë‹ˆê¹Œ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "디렉토리"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "추가"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"미러 사ì´íЏì—서 패키지 리스트를 ì°¾ì„ ìˆ˜ 없습니다. ì´ ìœ„ì¹˜ì— ë§Œë“œì‹œê² ìŠµë‹ˆê¹Œ?"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ì´ë¯¸ ì„¤ì¹˜ëœ íŒ¨í‚¤ì§€ 찾는 중..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "업그레ì´ë“œí•  패키지를 검색중..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "업그레ì´ë“œëœ 패키지를 제거하는 중..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"ë‹¤ìŒ íŒ¨í‚¤ì§€ë“¤ì€ ë‹¹ì‹ ì˜ ì‹œìŠ¤í…œì„ ì—…ê·¸ë ˆì´ë“œí•˜ê¸°ìœ„í•´ ì œê±°ë  ê²ƒìž…ë‹ˆë‹¤. : %s\n"
+"\n"
+"\n"
+"ì •ë§ ì´ íŒ¨í‚¤ì§€ë“¤ì„ ì œê±° 하시겠습니까?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s 파ì¼ì„ ì½ëŠ”ì¤‘ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "ë‹¤ìŒ ë””ìŠ¤í¬ì´ë¦„ì´ ë³€ê²½ë˜ì—ˆìŠµë‹ˆë‹¤. :"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ì´ì „ ì´ë¦„ì€ %s였ìŒ.)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP(하ì´í¼í…스트 전송 규약)"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP(íŒŒì¼ ì „ì†¡ê·œì•½)"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS(ë§ íŒŒì¼ ì‹œìŠ¤í…œ)"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "ë§"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "매체를 ì„ íƒí•˜ì‹œì˜¤"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤."
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "부정확한 NFS ì´ë¦„입니다"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "알 수 없는 미디어 %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "íŒŒí‹°ì…˜ì„ ë‚˜ëˆ„ê¸° ì „ì—는 스í¬ë¦°ìƒ·ì„ 만들 수 없습니다."
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "스í¬ë¦°ìƒ·ì€ 설치 ì´í›„ì— %sì— ìœ„ì¹˜ í•  것입니다."
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "설정"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "%së„ í¬ë§·í•´ì•¼ 합니다."
+
+#: 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 ""
+"「ìƒì—…ìš©ã€ë“œë¼ì´ë²„를 필요로 하는 ì¼ë¶€ 하드웨어가 시스템ìƒì— 있습니다.\n"
+"ìžì„¸í•œ 정보는 다ìŒì„ 참조하세요: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ë§ í™œì„±í™” 중..."
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ë§ í•´ì œ 중..."
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "추후 사용하기 위해 디스í¬ì— 패키지 복사중... "
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "복사 진행중"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "필수 패키지"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "중요한 패키지"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "훌륭한 패키지"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ì¢‹ì€ íŒ¨í‚¤ì§€"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ê´œì°®ì€ íŒ¨í‚¤ì§€"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "설명 ì—†ìŒ"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "워í¬ìŠ¤í…Œì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "오피스 워í¬ìŠ¤í…Œì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"오피스 프로그램들: 워드프로세서 (LibreOffice Writer, Kword), 스프레드쉬트 "
+"(LibreOffice Calc, Kspread), PDF 뷰어, 등등"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "게임 스테ì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "간단한 게임모ìŒ: ì•„ì¼€ì´ë“œ, 보드, ì „ëžµ 등등"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "멀티미디어 스테ì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "사운드 ë° ë¹„ë””ì˜¤ 연주/편집 프로그램"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "ì¸í„°ë„· 스테ì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "ë©”ì¼/뉴스를 ì½ê³  ë³´ë‚´ë©° (mutt, tin..) ì›¹ê²€ìƒ‰ì„ í•˜ê¸° 위한 ë„구모ìŒ"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "ë§ ì»´í“¨í„° (í´ë¼ì´ì–¸íЏ)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH를 í¬í•¨í•œ 여러 í”„ë¡œí† ì½œì˜ í´ë¼ì´ì–¸íЏ"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "쉽게 컴퓨터 ì„¤ì •ì„ í•˜ê¸° 위한 ë„구"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "콘솔 ë„구"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ì—디터, 쉘, 파ì¼ë„구, 터미ë„"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "개발"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ 개발 ë¼ì´ë¸ŒëŸ¬ë¦¬, 프로그램 ë° í—¤ë”파ì¼"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "문서"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "리눅스 ë° ìžìœ  ì†Œí”„íŠ¸ì›¨ì–´ì— ëŒ€í•œ 서ì ê³¼ Howto문서"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "리눅스 기본 규격(Linux Standard Base)"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "리눅스 기본 규격. 외부 애플리케ì´ì…˜ ì§€ì›"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "웹 서버"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "아파치"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "그룹웨어"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab 서버"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "방화벽/ë¼ìš°í„°"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "ì¸í„°ë„· 게ì´íŠ¸ì›¨ì´"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "디렉토리 서버"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP 서버"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "ë„ë©”ì¸ ì´ë¦„ 서버/ë§ ì •ë³´ 서버"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ë„ë©”ì¸ ì´ë¦„ ë° ë§ ì •ë³´ 서버"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS 서비스, 삼바 서비스"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "ë°ì´í„°ë² ì´ìФ"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "웹/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "아파치와 프로FTPD"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "ë©”ì¼"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "í¬ìŠ¤íŠ¸í”½ìŠ¤ ë©”ì¼ ì„œë²„"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ë˜ëŠ” MariaDB ë°ì´í„°ë² ì´ìФ 서버"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "ë§ ì»´í“¨í„° 서버"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS 서버, 삼바 서버, 프ë¡ì‹œ 서버, SSH 서버"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K Desktop 환경, 여러가지 ë„구를 수반한 기본 그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 워í¬ìŠ¤í…Œì´ì…˜"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "ì‚¬ìš©ìž ì¹œí™”ì  ì‘ìš© 프로그램들과 ë°ìФí¬íƒ‘ ë„êµ¬ë“¤ì„ ê°€ì§„ 그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "기타 그래픽 ë°ìФí¬íƒ‘"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "유틸리티"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH 서비스"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin ì›ê²© 설정 서버"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ë§ ìœ í‹¸ë¦¬í‹°ë“¤/ê°ì‹œ"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ê°ì‹œ ë„구, 프로세스 관리, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "서버 설정 ë„우미"
+
+#: 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 ""
+"오류가 ë°œìƒí–ˆì§€ë§Œ, 처리할 수 없습니다.\n"
+"ìœ„í—˜ì„ ê°ìˆ˜í•˜ë ¤ë©´ 계ì†í•˜ì„¸ìš”."
+
+#: steps.pm:469
+#, 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 ""
+"ì¼ë¶€ 중요한 íŒ¨í‚¤ì§€ë“¤ì´ ì˜¬ë°”ë¥´ê²Œ 설치ë˜ì§€ 않았습니다.\n"
+"CDROM 드ë¼ì´ë¸Œ ë˜ëŠ” 미디어가 ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤.\n"
+"설치 ì™„ë£Œëœ ì»´í“¨í„°ì—서 「rpm -qpl media/main/*.rpmã€ëª…령으로 CDROMì„ ì ê²€í•˜ì‹­"
+"시오.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s 단계로 넘어갑니다.\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s 설치 %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 항목간 ì´ë™"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "ë°ìФí¬í†±"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "패키지 그룹 ì„ íƒ"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "개별 팩키지 ì„ íƒ"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "모든 ì„ íƒ í•´ì œ"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "ì „ì²´ í¬ê¸°: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "íŒ"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "í¬ê¸°: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d 킬로 ë°”ì´íЏ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "중요ë„: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "ì´ íŒ¨í‚¤ì§€ë¥¼ ì„ íƒ/버림 í•  수 없습니다."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ê°€ ì—†ìŒ"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s 비충족"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s 를 활성화하기 위해 시ë„중"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s를 유지하기 위해"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "ì´ íŒ¨í‚¤ì§€ ì„ íƒí•  수 ì—†ìŒ - ë””ìŠ¤í¬ ê³µê°„ 부족"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ë“¤ì„ ì„¤ì¹˜í•©ë‹ˆë‹¤."
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ë“¤ì„ ì œê±°í•©ë‹ˆë‹¤."
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "ì´ê²ƒì€ 필수 패키지ì´ë¯€ë¡œ 제거할 수 없습니다."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "ì„ íƒí•´ì œí•  수 ì—†ìŒ - ì´ë¯¸ ì„¤ì¹˜ëœ íŒ¨í‚¤ì§€ìž…ë‹ˆë‹¤."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "ì„ íƒí•´ì œí•  수 ì—†ìŒ - 업그레ì´ë“œ í•„."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "ìžë™ ì„ íƒ íŒ¨í‚¤ì§€ë“¤ 보기"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "설치"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "열기/저장 ì„ íƒ"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ì„ íƒëœ 패키지 ëª©ë¡ ì—…ë°ì´íЏ 중"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "최소 설치"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "소프트웨어 관리"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "설치할 패키지를 ì„ íƒí•˜ì‹œì˜¤."
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "설치중"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ìƒì„¸ì„¤ëª… ìƒëžµ"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "요약설명"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "설정"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "설정ë˜ì§€ 않ìŒ"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"ë‹¤ìŒ ì„¤ì¹˜ 매체를 찾았습니다.\n"
+"설치 하지 않으려면 설치해제하십시오."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"설치 ì „ì— í•˜ë“œ 드ë¼ì´ë¸Œë¡œ CDROMì— ìžˆëŠ” 컨í…츠를 복사할 수 있습니다.\n"
+"그러면 하드 드ë¼ì´ë¸Œì— 설치한 후ì—ë„ íŒ¨í‚¤ì§€ëŠ” ì‹œìŠ¤í…œì— ë‚¨ì•„ì„œ 재설치가 가능합"
+"니다."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "전체 CD 복사"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "오류 ë°œìƒ"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "키보드 êµ¬ì„±ì„ ì„ íƒí•˜ì‹œì˜¤"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "설치/업그레ì´ë“œ"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "설치합니까 아니면 업그레ì´ë“œ 합니까?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "설치"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "업그레ì´ë“œ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"CDROMì„ ë°”ê¾¸ì‹­ì‹œì˜¤!\n"
+"\n"
+"「%sã€ë¼ê³  쓰여진 CDROMì„ ë“œë¼ì´ë¸Œì— ë„£ì€ í›„, 「확ì¸ã€ì„ 눌러 주세요.\n"
+"만약 CDROMì„ ê°€ì§€ê³  있지 않다면, 「취소ã€ë¥¼ 눌러 추가 설치를 취소하세요."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "유효한 패키지를 찾고 있습니다."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"현재 시스템ì—는 설치 ë˜ëŠ” 업그레ì´ë“œ 할만한 충분한 ê³µê°„ì´ \n"
+"남아있지 않습니다.(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"패키지 ì„ íƒëª©ë¡ì„ 불러올지 í˜¹ì€ ì €ìž¥í• ì§€ë¥¼ ì„ íƒí•˜ì„¸ìš”.\n"
+"형ì‹(í¬ë§·)ì€ ìžë™ì„¤ì¹˜ ìƒì„± 파ì¼ê³¼ ë™ì¼í•©ë‹ˆë‹¤."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "불러오기"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "저장"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "ì†ìƒëœ íŒŒì¼ í˜¹ì€ ì—†ëŠ” 파ì¼ìž…니다."
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "그놈"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "ì„ íƒëœ ìš©ëŸ‰ì´ ì‚¬ìš©í•  수 있는 공간보다 í½ë‹ˆë‹¤."
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "설치 타입"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"ì–´ë–¤ 패키지 ê·¸ë£¹ë„ ì„ íƒë˜ì§€ 않았습니다.\n"
+"패키지 최소설치 ì´ìƒì„ ì„ íƒí•˜ì‹­ì‹œì˜¤."
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X í¬í•¨"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "기본 문서 í¬í•¨(추천!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "최소 설치(특히 urpmi사용안함)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "설치 준비중입니다"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s 패키지 설치중"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "패키지를 정렬하는 중 오류발ìƒ:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ê³„ì† ì§„í–‰í•©ë‹ˆê¹Œ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "재시ë„"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ì´ íŒ¨í‚¤ì§€ëŠ” 설치하지 않고 지나가기"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\"ì—서 모든 패키지를 설치하지 않ìŒ"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "미디어나 패키지 ì„ íƒëª©ë¡ìœ¼ë¡œ ëŒì•„가기"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ 설치중 오류 ë°œìƒ: %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "설치 후 환경설정"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "ì—…ë°ì´íЏ 모듈 매체가 %s 드ë¼ì´ë¸Œì— 있ë„ë¡ í•˜ì‹­ì‹œì˜¤."
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ì—…ë°ì´íЏ"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ë“¤ì„ ì„¤ì¹˜í•©ë‹ˆë‹¤."
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+"ì—…ë°ì´íЏ íŒ¨í‚¤ì§€ë“¤ì„ ë‹¤ìš´ë¡œë“œí•˜ì‹­ì‹œì˜¤. \n"
+"ì´ íŒ¨í‚¤ì§€ë“¤ì—는 ì œí’ˆì´ ë¦´ë¦¬ì¦ˆ ëœ ì´í›„ì— ì—…ë°ì´íЏ ëœ ë‚´ìš© \n"
+"(보안 ë° ë²„ê·¸ì˜ ë³´ì™„)ì´ ìžˆìŠµë‹ˆë‹¤.\n"
+"ì´ íŒ¨í‚¤ì§€ë“¤ì„ ë‹¤ìš´ë¡œë“œ 받으려면 ì¸í„°ë„·ì´ ì—°ê²°ë˜ì–´ 있어야 합니다.\n"
+"ì—…ë°ì´íŠ¸ë¥¼ 설치 하시겠습니까?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s (%s 컴퓨터)"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "하드웨어"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "사운드 카드"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "시작시 바로 X-Window 실행"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "ë§ê³¼ ì¸í„°ë„·"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "프ë¡ì‹œ"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "재설정ë˜ì—ˆìŠµë‹ˆë‹¤."
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "보안 등급"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "방화벽"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "활성화"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "금지"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X ì„¤ì •ì´ ë˜ì§€ 않았습니다. 설정하시겠습니까?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"ì´ ë³´ì•ˆ 등급ì—서는 윈ë„우즈 파티션ì—ì„œì˜ íŒŒì¼ ì ‘ê·¼ì´ ê´€ë¦¬ìžì— ì˜í•´ 제한 ë©ë‹ˆ"
+"다."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s 드ë¼ì´ë¸Œì— 빈 플로피 디스í¬ë¥¼ 넣으세요"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ìžë™ 설치 플로피 ë””ìŠ¤í¬ ìƒì„± 중"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"몇몇 단계가 완전히 ë나지 않았습니다.\n"
+"\n"
+"ì •ë§ ì§€ê¸ˆ 종료 하시겠습니까?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "축하합니다."
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "다시 시작"
+
+#. -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 "언어"
+
+#: 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 "ë¼ì´ì„¼ìФ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "마우스"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "하드 ë””ìŠ¤í¬ ì„ íƒ"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "설치 등급"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "키보드"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "보안"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "파티션 작업"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "구성중"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "패키지 ì„ íƒ"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "설치중"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "사용ìžë“¤"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "부트로ë”"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X 설정"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "요약설명"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "서비스"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ì—…ë°ì´íЏ"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "종료"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "미러사ì´íŠ¸ì˜ (URL)주소를 ì ì–´ì£¼ì‹­ì‹œì˜¤."
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL 주소는 ftp:// ë˜ëŠ” http:// 로 시작ë˜ì–´ì•¼ 합니다."
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "유효한 미러 목ë¡ì„ 받기 위해 %s 홈페ì´ì§€ì— ì ‘ì† ì¤‘..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr "%s 홈페ì´ì§€ì— ì ‘ì†í•˜ì—¬ 미러사ì´íŠ¸ëª©ë¡ì„ 받는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "패키지를 ë°›ì„ ë¯¸ëŸ¬ 사ì´íŠ¸ë¥¼ ì„ íƒí•˜ì‹œì˜¤."
diff --git a/perl-install/install/share/po/ku.po b/perl-install/install/share/po/ku.po
new file mode 100644
index 000000000..ed7adff7c
--- /dev/null
+++ b/perl-install/install/share/po/ku.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Kurdish (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ku/)\n"
+"Language: ku\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Ve avakirin"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Perisandin"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokûmantasyon"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Name"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Guherto: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Mezinahî :"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Girîngî: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Kontrola programan"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Rojanekirin"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Kompûter"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Tor & ÃŽnternet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Ewlekarî (Firewall) "
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "Pasîf"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Serkeftin"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/ky.po b/perl-install/install/share/po/ky.po
new file mode 100644
index 000000000..e301184eb
--- /dev/null
+++ b/perl-install/install/share/po/ky.po
@@ -0,0 +1,1705 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ilyas Bakirov <just_ilyas@yahoo.com>, 2008
+# Nurlan Borubaev <nurlan@tamga.info>, 2005
+# Timur Jamakeev <ztimur@mail.ru>, 2003-2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-18 00:30+0000\n"
+"Last-Translator: Transifex Bot <>\n"
+"Language-Team: Kyrgyz (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ky/)\n"
+"Language: ky\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Сизде кийинки кезектеги кошумча алып жүрүүчү барбы?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Төмөнкү булак табылды жана ал орнотуу мезгилинде колдонулат: %s.\n"
+"\n"
+"\n"
+"ЫраÑтоолор үчүн кошумча булагы дагы барбы?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Желе (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Желе (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Тармак (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS орнотуу"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS топтомунун компьютер атын жана директориÑÑын кириңиз"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Түйюндүн аты көрÑөтүлгөн жок"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ \"/\" белги менен башталышы керек"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS туташуунун түйюн аты ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Кошумча"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Бул күзгүдө пакеттердин тизмеÑи атбылган жок. ЖайгашууÑунун тууралыгын "
+"текшериңиз."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Орнотулган пакеттер изделип жатат..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Жаңыланычуу пакеттер изделип жатат..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Жаңылоодон мурда пакеттер өчүрүлүп жатат..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Сиздин ÑиÑтемага жаңылануу мүмкүнчүлүгүн берүү үчүн төмөнкү пакеттер\n"
+"алынып ташталат: %s\n"
+"\n"
+"\n"
+"Бул пакеттердин алынып ташталууÑун каалайÑызбы?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s файлын окуудагы ката"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Төмөнкү диÑк(тер)дин аты өзгөртүлдү:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (мурунку аты %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Желе"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Ðлып жүрүүчүнү тандаңыз"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл алдагачан бар. Ò®Ñтүнө кайра жазылÑынбы?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Кирүү укугу четке кагылды"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Жаман NFS аты"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "%s жаракÑыз алып жүрүүчү"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Бөлүмдөрдү жаратууга чейин Ñкриншотторду түзүүгө болбойт"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Орнотуудан кийин Ñкриншоттор %s ичинде болот"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Орнотуу"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "КонфигурациÑлоо"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Сиз %s дагы форматташыңыз керек"
+
+#: 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 ""
+"Компьютериңизде кÑÑбир жабдыктар иштөө үчүн Ñркин ÑÐ¼ÐµÑ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð»ÐµÑ€Ð´Ð¸ талап "
+"кылат.\n"
+"Ðлар жөнүндө маалыматты көрÑөтүлгөн жерден табып алаÑыз: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Тармак көтөрүлүүдө"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Тармак өчүрүлүүдө"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Күтө туруңуз, файл жүктөлүп жатат"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "булак кошулган жок"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "КÑÑбир пакеттерди келечекте колдонуу үчүн диÑкке көчүрүп жатат"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Көчүрүү жүрүүдө"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "болушу керек"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "керектүү"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "өтө жакшы"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "жакшы"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "болушу мүмкүн"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"\"%s\" булагында xml-info табылган жок. %s пакети үчүн жарым ганарезультат "
+"алынды"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "БаÑндалбады"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s менен талап кылынган кÑÑбир пакеттер орнотула алган жок:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Жаңылыштык орун алды:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Фаталдык ката пайда болду: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d орнотуу транзакциÑлары ишке ашпады"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Пакеттердин орнотулушу ийгиликÑиз аÑктады:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Иш ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ÐžÑ„Ð¸Ñ ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ÐžÑ„Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð»Ð°Ñ€Ñ‹: текÑÑ‚ процеÑÑорлору (LibreOffice Writer, Kword), "
+"Ñлектрондук таблицалар (LibreOffice Calc, Kspread), pdf файлдарын көрүү "
+"программалары, ж.б."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Оюн ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Оюн-зоок программалары: аркада оюндары, тактай оюндары, ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¾ÑŽÐ½Ð´Ð°Ñ€Ñ‹, ж."
+"б."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедиа ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Үн жана видео ойнотуу/терүү программалары"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Интернет ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Почтаны жана жаңылыктарды (mutt, tin..) окууга жана жөнөтүүгө, жана вебде "
+"иштөөгө арналган куралдар тобу"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Тармак компьютери (клиент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ÐÑ€ түрдүү протоколдор клиенттери, ssh да кошулган"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Компьютериңизди жеңил конфигурациÑлоо куралдары"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "КонÑоль куралдары"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редакторлор, шелдер, файл куралдары, терминалдар"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Иштеп түзүү"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"C жана C++ иштеп чыгуу библиотекалары, программалар жана include файлдары"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ДокументациÑ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux жана Free Software жөнүндөгү китептер жана HOWTOлар"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+"Linux Ñтандарттык базаÑÑ‹. Үчүнчү тараптык иштеп чыгуучулардын тиркемелерин "
+"колдоо"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб-Ñервери"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Ñервери"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файрволл/Маршруттагыч"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет дарбазаÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Почта/Жаңылыктар"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix почта Ñервери, Inn жаңылыктар Ñервери"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Каталогдор Ñервери"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Ñервери"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS жана NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Файл жана принтер бөлүшүү Ñервери"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Ñервери, Samba Ñервери"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Берилиштер базаÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL жана MariaDB берилиштер базаÑынын Ñервери"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Почта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix почта Ñервери"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL же MariaDB берилиштер базаÑынын Ñервери"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Тармак Ñервери"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS Ñервери, SMB Ñервери, Proxy Ñервери, ssh Ñервери"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графикалык чөйрө"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment - негизги графикалык чөйрө, кошумча куралдар "
+"коллекциÑÑÑ‹ менен"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME иш ÑтанциÑÑÑ‹"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Колдонуучуга ыңгайлашкан тиркемелерин жана иш Ñтолунун кураларын камтыган "
+"графикалык чөйрө"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE иш Ñтолу"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Башка графикалык иш Ñтолдору"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Утилиталар"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Ñервери"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin узактан башкаруу Ñервери"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Тармак аÑпаптары/Мониторинг"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Мониторинг аÑпаптар, процеÑÑ ÑÑептүүчүлөр, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia УÑталары"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Серверди ыраÑтоо уÑталары"
+
+#: 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 ""
+"Жаңылыштык орун алды, бирок мен аны кантип туура иштетүүнү билбейм.\n"
+"Мындан ары тобокелге Ñалып өзүңүз улантыңыз."
+
+#: steps.pm:469
+#, 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 ""
+"КÑÑбир негизги пакеттер туура ÑÐ¼ÐµÑ Ð¾Ñ€Ð½Ð¾Ñ‚ÑƒÐ»Ð´Ñƒ.\n"
+"CDROM түзүлүшү же диÑк бузук болушу мүмкүн.\n"
+"Киргизилген диÑкти \"rpm -qpl media/main/*.rpm\" коммандаÑÑ‹ менен "
+"текшериңиз\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' кадамына өтүү аракети\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s %s орнотуу"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> Ñлементтер ортоÑунда"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg жай башталып жатат. Күтө туруңуз..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"СиÑтемага жетеринче реÑÑƒÑ€Ñ Ð¶ÐµÑ‚Ð¿ÐµÐ¹ жатат. %s ÑиÑтемаÑын\n"
+"орнотууда проблемалар чыгышы мүмкүн. Ðндай болÑо текÑттик режимде\n"
+"орнотууну текшерип көрүңүз. Ðл үчүн, диÑктен жүктөлүп жаткан учурда\n"
+"`F1' клавишаÑын баÑып `text' Ñөзүн кириңиз."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Пакеттердин группаÑын тандоо"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "%s GNOME иш Ñтолун орнотуу"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Менчик орнотуу"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME иш Ñтолу"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Менчик иш Ñтолу"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Мына '%s' иш Ñтолдун алдын ала көрүнүшү."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Чоң көрүнүштү көрүү үчүн Ñүрөткө баÑыңыз"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Пакеттердин группаÑын тандоо"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Пакеттерди өз алдынча тандоо"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Жалпы көлөмү: %d / %d Мб"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑиÑÑÑ‹: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Көлөмү: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Маанилүүлүгү:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Сиз бул пакетти тандап/тандабай албайÑыз"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s жоктугунан"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s канаатанбагандыгынан"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s активдештирүү аракети"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s Ñактоо үчүн"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Сиз бул пакетти тандап алалбайÑыз, анткени аны орнотуу үчүн жетеринче бош "
+"боштук жок"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Төмөнкү пакеттер орнотуулат"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Төмөнкү пакеттер өчүрүлөт"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Бул орнотууга шарт болгон пакет, пакетти тандап алалбайÑыз"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Бул пакетти тандап алалбайÑыз. Пакет алда качан орнотулган"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Бул пакетти белгилөөдөн алып Ñалууга болбойт. Ðл жаңыланышы керек"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ðвтоматтык түрдө тандалган пакеттерди көрÑөтүү"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Орнотуу"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Тандалгандарды Жүктөө/Сактоо"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Пакеттерди тандоо жаңыланууда"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Минималдык орнотуу"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Пакеттерди башкаруу"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сиз орнотууну каалаган пакеттерди тандаңыз"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Орнотуу"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Кеңири маалыматÑыз"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Калган убакыт:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(болжолдуу убакыт..)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d- пакет"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Жыйынтык"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "КонфигурациÑ"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "конфигурациÑланбаган"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Төмөнкү орнотуу булактары табылды.\n"
+"Эгерде кÑÑбирин аттап өтүүнү каалаÑаңыз, анда аларды тандабай өтүңүз."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Компакт-диÑк мазмунун орнотуудан мурун компьютер диÑкине көчүрүп алуу "
+"мүмкүн.\n"
+"Ðндан кийин орнотуу компьютер диÑкинен улантылат жана пакеттер толук "
+"ÑиÑтеманын орнотулуп бүткөндөн кийин калышат."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD диÑкти толугу менен көчүрүү"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Жаңылыштык орун алды"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Өзүңүздүн алиптакта картаÑын тандаңыз"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Мүмкүн болгон бардык клавиөлкөлөр тизмеÑи"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Орнотуу/Жаңылоо"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Бул орнотуубу же жаңылообу?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Орнотуу"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s жаңылоо"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s үчүн шифрлөө ачкычы"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Орнотууну айну, ÑиÑтема өчүп жандыруу"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Жаңы орнотуу"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Мурунку орнотууну жаңылоо (Ñунуш кылынбайт)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Компакт-диÑкти алмаштырыңыз!\n"
+"\"%s\" атту компакт-диÑкти киргизиңиз, андан кийин \"Ok\" баÑкычын баÑыңыз.\n"
+"Эгерде Ñизде жок болÑо, анда ушул компакт-диÑктен орнотууну айнуу үчүн "
+"\"Ðйнуу\" баÑкычын баÑыңыз."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Мүмкүн болгон пакеттер изделүүдө..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"СиÑтемаңыз орнотууга же жаңылоого жетеринче бош боштукка ÑÑ ÑÐ¼ÐµÑ (%d МБ > %d "
+"МБ)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Жүктөө же пакеттер тандооÑун Ñактоону тандаңыз.\n"
+"Файлдар форматы автоматтык орнотууда түзүлгөн файлдар менен окшош."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Жүктөө"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Сактоо"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Туура ÑÐ¼ÐµÑ Ñ„Ð°Ð¹Ð»"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Иш Ñтолун тандоо"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Иштоо ÑтанциÑңыздын иш Ñтолдун профилин тандап алаÑыз."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Тандалган өлчөм бар болгон боштуктан чоң"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Орнотуу тиби"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Эч кандай пакеттер группаÑÑ‹ тандалган жок.\n"
+"Минималдык орнотуу тибин тандаңыз:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X менен"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Башкы Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ½ÐµÐ½ (Ñунушталат!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Чыныгы минималдуу орнотуулуш (атайын urpmi'Ñиз)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Орнотуу даÑрдалууда"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s пакети орнотуулууда"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Пакеттерди кабыл алууда ката пайда болду:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Буга карабай улантайынбы?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Кайталоо"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Бул пакетти аттап өтүү"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" ичинен бардык пакеттерди аттап өтүү"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Ðртка баруу жана орнотууга пакеттерди нандоо"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "%s пакетти орнотууда ката чыкты."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Орнотуулуштан кийинки ыраÑтоолор"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "%s ичинде Update Modules топтомунун бар Ñкендигин текшерип көрүңүз"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Жаңылоолор"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Төмөнкү пакеттер орнотуулат"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Булакты кошуу ийгиликÑиздиги"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ðзыр жаңыланган пакеттерди жүктөө мүмкүн. Бул пакеттер диÑтрибутив\n"
+"чыккандан кийин жаңыланган. Ðлар каталар же коопÑуздук\n"
+"жамактарын камтышы мүмкүн.\n"
+"\n"
+"Жаңыланган пакеттерди жүктөп алуу үчүн иштеп жаткан Интернет \n"
+"байланышы керек.\n"
+"\n"
+"Пакеттер орнотулÑунбу?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s'да"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Техникалык жабдуу"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Добуш картаÑÑ‹"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Графикалык интерфейÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Тармак жана Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑилер"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "ыраÑталды"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "КооÑуздук деңгÑÑли"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "активдештирилди"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "өчүк"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Сиз X'ти ыраÑтаган жокÑуз.Чындап ушуну каалайÑызбы?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Күтө туруңуз, бул бир нече убакытты алышы мүмкүн..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Бул коопÑудук деңгÑÑлде Windows бөлүмүндө жайгашкан файларда жетүү жалгыз "
+"гана админиÑтраторга урукÑат берилген."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s ичине бош флоппи диÑкти киргизиңиз"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ðвто орнотуу флоппини түзүү..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"КÑÑбир кадамдар бүткөн жок.\n"
+"\n"
+"Сиз чындап азыр чыгууну каалайÑызбы?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "КонфигурациÑлар"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Кайра жүктөө"
+
+#. -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 "Тил тандоо"
+
+#: 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 "ЛицензиÑ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Чычкан"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Таш диÑкти аныктоо"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Орнотуу клаÑÑÑ‹"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Ðлиптергич"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "КоопÑуздук"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Бөлүмдөргө бөлүү"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматоо"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Пакеттерди тандоо"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Орнотуу"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Колдонуучулар"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Баштапкы жүктөгүч"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X конфигурациÑлоо"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Жыйынтык"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Кызматтар"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Жаңылоолор"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Чыгуу"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "КүзгүÑүнүн URL'и?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL ftp:// же http:// менен башталышы керек"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Бар болгон күзгүлөр тизмеÑин %s веб Ñайтындан алынууда..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Бар болгон күзгүлөр тизмеÑин %s веб Ñайтындан алынууда ийгиликÑиз "
+#~ "айÑктады..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Пакеттерди алуучу күзгүнү тандаңыз"
diff --git a/perl-install/install/share/po/lo.po b/perl-install/install/share/po/lo.po
new file mode 100644
index 000000000..eecbf2229
--- /dev/null
+++ b/perl-install/install/share/po/lo.po
@@ -0,0 +1,1607 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Lao (http://www.transifex.com/MageiaLinux/mageia/language/"
+"lo/)\n"
+"Language: lo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "ມີຂà»à»‰àºœàº´àº”ພາດເàºàºµàº”ຂຶ້ນ:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "ພັດທະນາໂປຣà»àºàº£àº¡"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ຄູ່ມື"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ຈັດàºàº²àº™à»‚ປà»àºàº¡"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr ""
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ຂà»àºªàº°à»àº”ງຄວາມàºàº´àº™àº”ີເດີ້"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/lt.po b/perl-install/install/share/po/lt.po
new file mode 100644
index 000000000..dbdfb6e3a
--- /dev/null
+++ b/perl-install/install/share/po/lt.po
@@ -0,0 +1,1664 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Moo, 2015
+# Moo, 2015-2016
+# Mykolas Norvai-as <Myka@centras.lt>, 2002
+# Tomsonas, 2016
+# Tomsonas, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Lithuanian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/lt/)\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < "
+"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? "
+"1 : n % 1 != 0 ? 2: 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Prisijunk!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Biuro įrankiai"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Vaikams"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Šios laikmenos buvo rastos ir bus naudojamos įdiegimo metu: %s.\n"
+"\n"
+"\n"
+"Ar turite papildomą įdiegimo laikmeną, kurią norite konfigūruoti?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Tinklas (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Tinklas (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Tinklas (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalogas"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "PagrindinÄ— laida"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nelaisvoji laida"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Tam kad veiktų laisvosios programinės įrangos tvarkyklės, kai kuri, jūsų "
+"kompiuteryje esanti, aparatinė įranga, reikalauja nelaisvosios programinės "
+"aparatinės įrangos."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Jūs turėtumėte įjungti \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Čia, jeigu norite, galite įjungti daugiau laikmenų."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Apžvelgiami jau įdiegti paketai..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ieškoma atnaujintinų paketų"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Klaida, skaitant failÄ… %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Tinklas"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Failas jau yra. Perrašyti jį?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Priėjimas draudžiamas"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Įdiegimas"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Nustatymai"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+"Kad kai kurie tavo kompiuterio įrenginiai veiktų, jiems reikia\n"
+"taip vadinamų \"proprietary\" tvarkyklių. daugiau informacijos apie jas "
+"gali\n"
+"rasti Äia: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Paleidžiamas tinklas"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Išjungiamas tinklas"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Prašome palaukti, gaunamas failas"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopijavimas eigoje"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "turi turÄ—ti"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "svarbus"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "labai gerai"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "nuostabu"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "galbūt"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nėra aprašymo"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Įvyko klaida:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Įvyko lemtinga klaida: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "KitÄ… kartÄ… nebeklausti"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d įdiegimo operacijos nepavyko"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Biuro darbo stotis"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biuro programos: tekstų redaktoriai (LibreOffice Writer, Kword), "
+"skaiÄiuoklÄ—s (LibreOffice Calc, Kspread), pdf peržiÅ«ros programos ir pan."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Žaidimų stotis"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Programos pasilinksminimui: lentos, strateginiai, kortų žaidimai ir pan."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedija stotis"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Garso ir vaizdo grojimo/redagavimo programos"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Interneto stotis"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Tinklo kompiuteris (klientas)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Įvairių protokolų klientai, įskaitant ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolės įrankiai"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktoriai, apvalkalai (shells), failų įrankiai, terminalai"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Programavimas"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C bei C++ kūrimo bibliotekos, programos ir include failai"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knygos ir HOWTO apie Linux ir Free Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grupinis darbas"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveris"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Serveris, Firewall/Routeris"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveris"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Serveris, Duomenų bazių"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Serveris, Tinklapių/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Paštas"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafinÄ— aplinka"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment, pagrindinÄ— grafinÄ— aplinka su dideliu rinkiniu "
+"pritaikytų programų"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome darbo stotis"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafinė aplinka su vartotojui draugiškų programų ir darbalaukio įrankių "
+"rinkiniu"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Kiti grafiniai darbalaukiai"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "NaudÄ—s"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Įvyko klaida, bet aš nežinau, kaip su ja gražiai susitvarkyti.\n"
+"Tęsk darbą savo paties rizika."
+
+#: steps.pm:469
+#, 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 ""
+"Kai kurie svarbūs paketai nebuvo tvarkingai įdiegti.\n"
+"Arba tavo CD-ROM kaupiklis, arba CD yra su trūkumais.\n"
+"Patikrink CD įdiegtame kompiuteryje, naudodamas \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Įeinama į žingsnį „%s“\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s įdiegimas %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tarp elementų"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Tavo sistemoje mažai resursų. Tu gali susidurti su bėdomis, įdiegdamas\n"
+"%s. Jei taip atsitiktų, gali pabandyti tekstinį diegimo būdą:\n"
+"Kai užsikrauna iš CDROM'o, paspausk `F1', o tada įvesk \"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Laikmenos pasirinkimas"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME darbalaukis"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Štai \"%s\" darbalaukio peržiūra."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Spustelėkite ant paveikslų, kad pamatytumėte didesnę peržiūrą"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketų grupių pasirinkimas"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Atskirų paketų pasirinkimas"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Bendras dydis: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versija: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Dydis: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Tu negali pažymėti/atžymėti šio paketo"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "dėl trūkstamo %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "dÄ—l nepatenkinto %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "bandau paaukštinti %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s išlaikymui"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Tu negali pasirinkti šio paketo, kadangi nebėra pakankamai vietos jam įdiegti"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ruošiamasi įdiegti šiuos paketus"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ruošiamasi pašalinti šiuos paketus"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Tai yra privalomas paketas, jis negali būti atžymėtas"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Tu negali atžymėti šio paketo. Jis jau yra įdiegtas"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Tu negali atžymėti šio paketo. Jis privalo būti atnaujintas"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Įdiegti"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programinės įrangos tvarkyklė"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Pasirink paketus, kuriuos tu nori įdiegti"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Įdiegiama"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Liko laiko:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(apskaiÄiuojama...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Apibendrinimas"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Nustatyti"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Įvyko klaida"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Prašome pasirinkti savo klaviatūros išdėstymą"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Įdiegti"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Pakeiskite CD!\n"
+"\n"
+"Prašome įkišti CD su užrašu „%s“ į kaupiklį, tada paspausti Gerai.\n"
+"Jei jūs jo neturite, spauskite Nutraukti, kad išvengtumėte įdiegimo iš šio "
+"CD."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ieškomi galimi paketai"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Įkelti"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Išsaugoti"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Darbalaukio pasirinkimas"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Galite pasirinkti savo kompiuterio darbalaukio profilį."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Ruošiamas įdiegimas"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Įdiegiamas paketas %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Įvyko klaida, bandant sutvarkyti paketus:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vis tiek tęsti?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigūracija po įdiegimo"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Atnaujinimai"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Dabar jūs turite galimybę nusistatyti internetinę laikmeną."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Tai leidžia įdiegti saugumo atnaujinimus."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Kad nusistatytumÄ—te laikmenas, jums reikÄ—s veikianÄio interneto ryÅ¡io\n"
+"\n"
+"Ar norite nustatyti atnaujinimų laikmeną?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Ruošiamasi įdiegti šiuos paketus"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Bandyti dar kartÄ…?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Klaida, pridedant laikmenÄ…"
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s iš %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Aparatinė įranga"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Tinklas & Internetas"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "TarpinÄ—s stotys (proxies)"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Saugumo lygis"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Užkarda"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "uždraustas"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Ruošiama pradinės paleisties programa..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Būkite kantrūs, tai gali šiek tiek užtrukti..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ä®dÄ—k tuÅ¡ÄiÄ… diskelį į kaupiklį %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kuriamas automatinio įdiegimo diskelis"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Kai žingsniai buvo nebaigti.\n"
+"\n"
+"Ar tu nori išeiti dabar?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Sveikinimai"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Paleisti iš naujo"
+
+#. -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 "Pasirink savo kalbÄ…"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localizacija"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencija"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "PelÄ—"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kieto disko nustatymas"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatūra"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Saugumas"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Įdiegiama"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Vartotojai"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Nustatyti X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Apibendrinimas"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Paslaugų nustatymai"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atnaujinimai"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Išeiti"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "TinklavietÄ—s URL?"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Pasirinkite tinklavietę, iš kurios gauti paketus"
diff --git a/perl-install/install/share/po/ltg.po b/perl-install/install/share/po/ltg.po
new file mode 100644
index 000000000..57b6878fc
--- /dev/null
+++ b/perl-install/install/share/po/ltg.po
@@ -0,0 +1,1697 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Latgalian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/ltg/)\n"
+"Language: ltg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Voi jiusim ir papyldus datu nesiejs?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Tyka atrosts sekojūšs datu nesiejs, kurs tiks lÄ«tuots instalacejis laikÄ: "
+"%s.\n"
+"\n"
+"\n"
+"Voi jiusim ir papyldus datu nesieji deļ uzstuodeišonys?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Teiklys (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Teiklys (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Teiklys (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS uzstuodeišona"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Lyudzu, īvodit hosta vuordu i jiusu NFS datu nesieja katalogu"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Kaids ir NFS monteišonys hosta vuords?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalogs"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Iz ituo spūguļservera navar atrast pakūtņu saroksta failu. Puorbaudit, voi "
+"atsarÅ«n pareizÄ vÄ«tÄ."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Mekleju jau īprīkš uzinstaleituos pakūtnis..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Mekleju uzlobuojamuos pakūtnis"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Teik nÅ«dzÄstys pakÅ«tnis pyrms atjaunynuoÅ¡onys..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Sekuojūšys pakÅ«tnis tiks nÅ«jimtys, lai varÄtu uzlobuot jiusu sistemu: %s\n"
+"\n"
+"\n"
+"Voi teišom gribit nūjimt ituos pakūtnis?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Kliuda, nūlosūt failu %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sekojūši diski tika puorsaukti:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (īprīkš tika saukta kai %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Teiklys"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Lyudzu, izavielejit datu nesieju"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fails jau eksistej. Voi puorrakstēt pa viersu?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Pīeja līgta"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Naveiksmeigs NFS vuords"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Napareizs datu nesiejs %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Navar izveiduot ekrana attÄlus pyrms sadaļu izveidis"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekrana attÄli byus pÄ«ejami piec instaleiÅ¡onys %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalaceja"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguraceja"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Jiusim ir juoformatej ari %s"
+
+#: 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 ""
+"Dažu jiusu datora aparaturys darbeibai napīcīšoī ``firmys'' draiveri.\n"
+"Papyldus informaceju par tim varit atrast ite: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Īdorbynoju teiklu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "AtslÄdzu teiklu"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Teik kopÄtys dažys pakÅ«tnis lÄ«tuoÅ¡onai nuokÅ«tnÄ“"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Nūteik kopeišona"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "napīcīšoms"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "svareigs"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "ļūti vÄlams"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "vÄlams"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "varbyut"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nav aproksta"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Nūtikuse fatala kliuda: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d instalacejis transakcejis naizadeve"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Dorba staceja"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Biroja dators"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biroja programmys: teksta procesori (LibreOffice Writer, Kword), "
+"izkluojlopys (LibreOffice Calc, Kspread), PDF skateituoji, u.c."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spēļu dators"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Izklaidis programmys: arkade, goldaspēlis, strategeja u.c."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedeju dators"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Skanis i video atskaņuošonys/redigeišonys programmys"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Interneta dators"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Reiku komplekts, lai laseitu i syuteitu postu voi jaunumus (mutt, tin..), i "
+"puorlyukuotu Puorstaipteiklu"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Teikla dators (klients)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti dažaidim protokolim, īskaitūt ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Reiki datora konfigureišonys atvīgluošonai"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolis reiki"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktori, Äaulys, failu reiki, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Izstruode"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ izstruodis bibliotekys, programmys i īkļautī faili"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaceja"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Gruomotys i vaicuojumu par Linux i Breivū programmaturu"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linuks Standarta BÄze. Trešū izstruoduoju aplikaceju atbolsts"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Puorstaipteikla (Web) servers"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab servers"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Gunsmyurs/Maršrutizators"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneta vuorteja"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Posts/Jauns"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta servers, Inn ziņu servers"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogu Servers"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP servers"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS i NIS servers"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Failu un Printeru Kūplītuošonys servers"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS servers, Samba servers"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "DatubÄzis"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL i MariaDB datubÄžu servers"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Teimeklis/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Posts"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta servers"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL voi MariaDB datubÄžu servers"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Teikla datoru servers"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS servers, SMB servers, storpnīkservers (Proxy), ssh servers"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafiskuo vide"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, golvonuo grafiskuo vide kÅ«pÄ ar papyldus reiku "
+"kolekceju"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome dorba staceja"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafiskuo vide ar lītuotuojam draudzeigu programmu komplektu i dorba "
+"viersmys reikim"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Cytys grafiskuos dorba viersmys"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitys"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH servers"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin attuolynuotuos konfiguracejis servers "
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Teikla utilitys/puorraudzeiba"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Puorraudzeibys reiki, procesu uzskaite, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia paleigi"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Servera konfiguracejis paleigi"
+
+#: 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 ""
+"Nūtyka klaida, bet es nazynu, kai tū korekti apstruoduot.\n"
+"Turpynuot iz jiusu poša riska."
+
+#: steps.pm:469
+#, 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 ""
+"Dažys svareigys pakūtnis naizadeve pareizi instalēt.\n"
+"Ir būjuota jiusu kompaktdisku īkuorta voi instalacejis disks.\n"
+"Puorbaudit disku iz instaleituo datora, izmontojūt komandu \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Teik uzsuokts sūļs `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s instaleišona %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> puorīt"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Jiusu sistemai tryukst resursu. %s instaleiÅ¡onys laikÄ var\n"
+"rastīs problemys. Ja tai nūteik, varit pamieginuot teksta režima "
+"instaleišonu. Lai tū izdareitu,\n"
+"nūspīdit`F1', kod nūteik īluode nu CDROM, tod īvodit `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakūtņu grupu izviele"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Atsevišku pakūtņu izviele"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "KÅ«pejais izmÄrs: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verseja: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "IzmÄrs: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Svareigums: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Jius varit izavielēt/atsateikt nu ituos pakūtnis"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "tryukuma dieļ %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "deļ naapmīrynuojuma %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "teik mieginuots aktivizēt %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "lai saglobuot %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Jius navarit izavielēt itū pakūtni, par tū ka napīteik vītys tuos "
+"instaleišonai"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Tiks instaleitys sekojūšys pakūtnis"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Tiks nūjimtys sekojūšys pakūtnis"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Itei ir obligata pakūtne, nu tuos navar atsateikt"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Jius navarit atsateikt nu ituos pakūtnis. Tei jau ir instaleita"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Jius navarit atsateikt nu ituos pakūtnis. Tū ir napīcīšoms uzlobuot"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Paruodeit automatiski izvÄlÄtuos pakÅ«tnis"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalēt"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Īluodēt/Saglobuot izviele"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Teik atjaunynuota pakūtņu izviele"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimala instaleišona"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programmaturys puorvaļdeišona"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izavielejit pakūtnis, kū gribit instalēt"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Teik instaleits"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Nav detaļu"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Kūpsavylkums"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurēt"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nav konfigurÄts"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Atrosti sekojūši instalacejis datu nesieji.\n"
+"Ja jius gribit izlaist dažus nu tim, jius tagad varit nūjimt atzeimi nu tim."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Jiusim ir opceja, pyrms instalacejis nūkopēt kompaktdiska saturu uz cītu "
+"disku.\n"
+"TaidÄ veidÄ turpynuosÄ«s nu cÄ«tuo diska un pakÅ«tnis byus pÄ«ejamys cikom "
+"sistema tiks piļneibÄ uzinstaleita."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopēt vysu kompaktdisku"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Atkluota kliuda"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Lyudzu izavielejit jiusu klaviaturys izkuortuojumu"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalēt/Atjaunynuot"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Itei ir instaleišona voi atjaunynuošona?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Atjaunynuot %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Å ifreiÅ¡onys atslÄga deļ %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Nūmainit jiusu kompaktdisku!\n"
+"\n"
+"Lyudzu Ä«licit Ä«kuortÄ Cd-Rom \"%s\", kod tys ir izdareits, nÅ«spÅ«dit Labi\n"
+"Ja jiusim nav ituo diska, nūspīdit Atceļt, lai nainstaleitu nu ituo "
+"kompaktdiska."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mekleju pīejamuos pakūtnis"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lyudzu izavielejit īluodēt voi saglobuot pakūtņu izvieli.\n"
+"Formats ir taids pats, kai ar auto_install generÄtom failim."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Īluodēt"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Saglobuot"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Napareizs fails"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "IzvÄlÄtais apjÅ«ms ir leluoks nakai pÄ«ejamuo vÄ«ta"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Instalacejis tips"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Jius naizavielēt nivīnu pakūtņu grupu.\n"
+"Lyudzu, izavielejit minimalū instalaceju, kaidu jius gribit:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Ar X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Ar pamatdokumentaceju (īteicams!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Patīši minimala instalaceja (īpaši bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Sagataveju instaleišonu"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaleju pakūtni %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "PakÅ«tņu kuortuoÅ¡onys laikÄ atkluota kliuda:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "TÅ«mÄr turpynuot?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Piecinstaleišonys konfigureišona"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Lyudzu, puorsalÄ«cynojit ka Update Modules atsarÅ« Ä«kuortÄ %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Atjaunynuojumi"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Tiks instaleitys sekojūšys pakūtnis"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Tagad jiusim ir īspieja šurpsyutēt atjaunynuotuos pakūtnis. Šuos pakūtnis "
+"tyka atjaunynuotys \n"
+"piec šuos distribucejis izlaišonys. Tuos var saturēt\n"
+"drūšeibys voi kliudu lobuojumus.\n"
+"\n"
+"Lai šursyuteitu šuos pakūtnis, jiusim juobyut Interneta \n"
+"savīnuojums.\n"
+"\n"
+"Voi jius gribit instalēt atjaunynuojumus?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s iz %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Aparatura"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Skanis karte"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiskuo saskarne"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Teiklys & Internets"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Storpnīkserveri"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfigurÄts"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Drūšeibys leimiņs"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Guņsmyurs"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivizÄts"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "atslÄgts"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Jiusim nav nÅ«konfigurÄts X servers. Voi jius asot puorlÄ«cynuoti, ka jius tÅ« "
+"gribit?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Å ymÄ drūšeibys leiminÄ«, pÄ«eeja Windows sadalis failim ir tikai "
+"administratoram."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Īlicit tukÅ¡u disketi Ä«kuortÄ %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sagataveju auto instaleišonys disketi"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Daži sūli nav izpiļdeiti.\n"
+"\n"
+"Voi tīšom gribit izīt tagad?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Apsveicam"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Puorsuoknēt"
+
+#. -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 "Volūdys izviele"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokaliziešona"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "License"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Pele"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Cītuo diska nūteikšona"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instaleišonys klase"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatura"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Drūšeiba"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Diska sadaleišona"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formateišona"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakūtņu izviele"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Teik instaleits"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Lītuotuoji"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Suokneituojs"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigureišona"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kūpsavylkums"
+
+#: 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 "Atjaunynuojumi"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izīt"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Voi spūguļservera URL?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL juosasuoc ar ftp:// voi http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "PÄ«saslÄdzu %s teimekļam, lai sajimtu pÄ«ejamÅ« spÅ«guļserveru sarokstu..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Dasasliegšona %s teimekļam cīta naveiksmi, lai sajimtu pīejamū "
+#~ "spūguļserveru sarokstu"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Izavielejit spūguļserveri, nu kura jimt pakūtnis"
diff --git a/perl-install/install/share/po/lv.po b/perl-install/install/share/po/lv.po
new file mode 100644
index 000000000..729eb2ee6
--- /dev/null
+++ b/perl-install/install/share/po/lv.po
@@ -0,0 +1,1651 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Latvian (http://www.transifex.com/MageiaLinux/mageia/language/"
+"lv/)\n"
+"Language: lv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalogs"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "MeklÄ“ju jau iepriekÅ¡ uzinstalÄ“tÄs pakotnes..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "MeklÄ“ju uzlabojamÄs pakotnes"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Sekojošas pakotnes tiks noņemtas, lai varētu uzlabot Jūsu sistēmu: %s\n"
+"\n"
+"\n"
+"Vai tieÅ¡Äm vÄ“laties noņemt šīs pakotnes?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Kļūda, nolasot failu %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Tīkls"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Pieeja liegta"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nevar izveidot ekrÄna attÄ“lus pirms sadaļu izveides"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "EkrÄna attÄ“li bÅ«s pieejami pÄ“c instalēšanas %s."
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "KonfigurÄcija"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Jums ir jÄformatÄ“ arÄ« %s"
+
+#: 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 ""
+"Dažu jūsu datora dzelžu darbībai nepieciešami ``firmas'' draiveri.\n"
+"Papildus informÄciju varat atrast Å¡eit: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Iedarbinu tīklu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Atslēdzu tīklu"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "nepieciešama"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "svarīga"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "ļoti derīga"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "derīga"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "varbūt"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Darbastacija"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Biroja dators"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biroja programmas: teksta procesori (LibreOffice Writer, Kword), izklÄjlapas "
+"(LibreOffice Calc, Kspread), pdf skatÄ«tÄji, u.c."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spēļu dators"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Izklaides programmas: arkÄde, galdiņspÄ“les, stratēģija u.c."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimēdiju dators"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Skaņas un video atskaņošanas/rediģēšanas programmas"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Interneta dators"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Tīkla dators (klients)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti dažÄdiem protokoliem, ieskaitot ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Rīki datora konfigurēšanas atvieglošanai"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoles rīki"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktori, Äaulas, failu rÄ«ki, terminÄļi"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "IzstrÄde"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C un C++ izstrÄdes bibliotÄ“kas, programmas un include faili"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "DokumentÄcija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "GrÄmatas un Howto faili par Linux un BrÄ«vo programmatÅ«ru"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web serveris"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveris"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Ugunsmūris/Maršrutizators"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneta vÄrteja"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveris"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "DatubÄzes"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Tīmeklis/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pasts"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL vai MariaDB datubÄzu serveris"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Tīkla datoru serveris"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS serveris, SMB serveris, Proxy serveris, ssh serveris"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafiskÄ vide"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, galvenÄ grafiskÄ vide kopÄ ar papildus rÄ«ku kolekciju"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome darbastacija"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"GrafiskÄ vide ar lietotÄjiem draudzÄ«gu programmu komplektu un darbavirsmas "
+"rīkiem"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Citas grafiskÄs darbavirsmas"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilites"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH serveris"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"AtklÄta kļūda, bet es nezinu, kÄ ar to pareizi apieties.\n"
+"Turpiniet, ja vēlaties riskēt."
+
+#: steps.pm:469
+#, 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 ""
+"Dažas svarÄ«gas pakotnes neizdevÄs pareizi instalÄ“t.\n"
+"Ir bojÄta jÅ«su kompaktdisku iekÄrta vai instalÄcijas disks.\n"
+"Parbaudiet disku uz instalēta datora, izmantojot komandu \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "UzsÄku soli `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s instalēšana %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pÄriet"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"JÅ«su sistÄ“mai trÅ«kst resursu. %s instalēšanas laikÄ var\n"
+"rasties problÄ“mas. Ja tÄ notiek, varat pamēģinÄt teksta instalēšanu.\n"
+"Lai to izdarÄ«tu, nospiediet`F1', ka notiek ielÄde no CDROM, tad ievadiet\n"
+"`text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakotņu grupu izvēle"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Atsevišķu pakotņu izvēle"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kopējais izmērs: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versija: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Apjoms: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Svarīgums: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Jūs varat izvēlēties/atteikties no šīs pakotnes"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"JÅ«s nevarat izvÄ“lÄ“ties Å¡o pakotni, jo nepietiek vietas tÄs instalēšanai"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Tiks instalētas sekojošas pakotnes"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Tiks noņemtas sekojošas pakotnes"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Å Ä« ir obligÄta pakotne, no tÄs nevar atteikties"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "JÅ«s nevarat atteikties no šīs pakotnes. TÄ jau ir instalÄ“ta"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Jūs nevarat atteikties no šīs pakotnes. To ir nepieciešams uzlabot"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "ParÄdÄ«t automÄtiski izvÄ“lÄ“tÄs pakotnes"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalēt"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Atjaunoju pakotņu izvēli"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "MinimÄla instalēšana"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Software Management"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izvēlieties pakotnes, ko vēlaties instalēt"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalēju"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Kopsavilkums"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurēt"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "AtklÄta kļūda"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "LÅ«dzu izvÄ“lieties jÅ«su tastatÅ«ras izkÄrtojumu"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalēt"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Nomainiet Cd-Rom!\n"
+"\n"
+"LÅ«dzu ielieciet iekÄrtÄ Cd-Rom \"%s\", kad tas ir izdarÄ«ts, nospiediet Labi\n"
+"Ja jums nav šī diska, nospiediet Atcelt, lai neinstalētu no šī Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "MeklÄ“ju pieejamÄs pakotnes"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "IelÄdÄ“t"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "SaglabÄt"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "IzvÄ“lÄ“tais apjoms ir lielÄks nekÄ pieejamÄ vieta"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "InstalÄcijas tips"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"JÅ«s neizvÄ“lÄ“jÄties nevienu pakotņu grupu.\n"
+"LÅ«dzu, izvÄ“lieties minimÄlo instalÄciju, kÄdu vÄ“laties:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Ar X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Ar pamatdokumentÄciju (ieteicams!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Patiesi minimÄla instalÄcija (Ä«paÅ¡i bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Sagatavoju instalēšanu"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalēju pakotni %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Pakotņu kÄrtoÅ¡anas laikÄ atklÄta kļūda:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "TomÄ“r turpinÄt?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Pēcinstalēšanas konfigurēšana"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "AtjauninÄt"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Tiks instalētas sekojošas pakotnes"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s uz %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Dzelži"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Skaņas karte"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Tīkls & Internets"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Drošības Līmenis"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Ugunssiena"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "aizliegts"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ielieciet tukÅ¡u disketi iekÄrtÄ %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sagatavoju auto instalēšanas disketi"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Daži soļi nav izpildīti.\n"
+"\n"
+"Vai tieÅ¡Äm vÄ“laties iziet tÅ«lÄ«t?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Apsveicam"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "PÄrstartÄ“t"
+
+#. -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 "Valodas izvēle"
+
+#: 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 "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Pele"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "CietÄ diska noteikÅ¡ana"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatūra"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Drošība"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalēju"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "LietotÄji"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigurēšana"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kopsavilkums"
+
+#: 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 ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Iziet"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Pieslēdzos %s tīmeklim, lai saņemtu pieejamo spoguļserveru sarakstu "
+#~ "sarakstu..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Izvēlieties spoguļserveri, no kura ņemt pakotnes"
diff --git a/perl-install/install/share/po/mk.po b/perl-install/install/share/po/mk.po
new file mode 100644
index 000000000..1de56a093
--- /dev/null
+++ b/perl-install/install/share/po/mk.po
@@ -0,0 +1,1700 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Danko Ilik <danko@mindless.com>, 2002-2003
+# Danko Ilik <danko@on.net.mk>, 2003
+# Vladimir Stefanov <vladoboss@mt.net.mk>, 2003
+# misterioz <zoki.dimovski@gmail.com>, 2006
+# Зоран ДимовÑки <decata@mt.net.mk>, 2004
+# Зоран ДимовÑки <zoki@email.com>, 2003
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Macedonian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/mk/)\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Дали имате уште додатни медиуми?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Пронајдени Ñе Ñледниве медиуми и ќе Ñе кориÑтат во текот на инÑталацијата: "
+"%s.\n"
+"\n"
+"\n"
+"Дали имате додатен инÑталационен медиум за конфигурирање?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мрежа (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мрежа (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Мрежа (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "ПоÑтавување на „NFS“"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Ве молиме внеÑете го името на домаќинот и директориумот на вашиот „NFS“ "
+"медиум"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Име на домаќинот каде е монтиран „NFS“ ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Директориум"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ðе мојажам да ја пронајдам hdlist датотеката на ова огледало"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Барање пакети што Ñе веќе инÑталирањен..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Барање пакети за надградба..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "ОтÑтранување на пакети поради надградување..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Следниве пакети ќе бидат отÑтранети за да Ñе овозможи надградба на Вашиот\n"
+"ÑиÑтем: %s\n"
+"\n"
+"\n"
+"Дали навиÑтина Ñакате да Ñе избришат овие пакети?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Грешка при читање на датотеката %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следниве диÑкови Ñе преименувани:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (претходно именувано како %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Ве молиме изберете медиум"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Датотеката веќе поÑтои. Да Ñе запише врз неа?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ðедозволен приÑтап"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Лошо „NFS“ име"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Ðевалиден медиум %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ðе можат да Ñе прават Ñнимки на екран пред партицирање"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ЕкранÑките Ñнимки ќе бидат доÑтапни по инÑталацијата во %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "ИнÑталација"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Конфигурација"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Мора да го форматирате и %s"
+
+#: 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 ""
+"Ðа дел од хардверот на Вашиот компјутер му Ñе потребни \"затворени\"\n"
+"(proprietary) драјвери за да работи. Ðекои информации за тоа можете\n"
+"да најдете на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Подигање на мрежата"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Спуштање на мрежата"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Копирање на некои пакети на диÑкот за понатамошна употреба"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Копирањето е во тек"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "мора да Ñе има"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важно"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "одлично"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "убаво"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "можеби"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ðема опиÑ"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Се Ñлучи фаталната грешка: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d неуÑпешни транÑакциии на инÑталацијата"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Работна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "КанцелариÑки"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"КанцелариÑки програми: обработка на текÑÑ‚ (LibreOffice Writer, Kword), "
+"табеларни преÑметки (LibreOffice Calc, Kspread), прегледувачи на „PDF“ итн."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Станица за игри"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркадни, на табла, Ñтратегија, итн."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедијална Ñтаница"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пуштање и уредување на звук и видео"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Интернет Ñтаница"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Комплет алатки за читање и пракање е-пошта и веÑти (mutt, tin..) и "
+"прелиÑтување на Интернет"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежен компјутер (клиент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенти за различни протоколи, вклучувајќи и „ssh“"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ðлатки за леÑно конфигурирање на вашиот компјутер"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "КонзолÑки алатки"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Уредувачи, школки, алатки за датотеки, терминали"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Развој"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Развивачки датотеки за „C“ и „C++“, програми и „include“ датотеки"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Документација"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и „Како да“ за „Linux“ и Ñлободен Ñофтвер"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "„Linux Standard Base“. Поддршка за апликации од други фирми"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб Ñервер"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Групи"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сервер"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Пошта/ВеÑти"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "„Postfix“ Ñервер за пошта, „Inn“ Ñервер за веÑти"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ДиректориумÑки Ñервер"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "„FTP“ Ñервер"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име на доменот и Ñервер за мрежни информации"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер за Ñподелување на датотеки и печатач"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "„NFS“ Ñервер, „Samba“ Ñервер"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "База на податоци"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "„PostgreSQL“ и „MariaDB“ Ñервер за бази на податоци"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix Ñервер за пошта"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "„PostgreSQL“ или „MariaDB“ Ñервер за бази на податоци"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежен компјутер-Ñервер"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "„NFS“ Ñервер, „SMB“ Ñервер, „Proxy“ Ñервер, „ssh“ Ñервер"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графичка околина"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"„К“ работна околина, оÑновната графичка околина Ñо додатна колекција на "
+"придружни алатки"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "„GNOME“ работна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графичка околина Ñо кориÑнички пакет на алатки и алатки за работната површина"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графички работни околини"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Помошни алатки"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сервер"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "„Webmin“"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "„Webmin“ оддалечен Ñервер за конфигурирање"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мрежни помошни алатки/надгледување"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Ðлатки за надгледување, раководење на процеÑи, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "„Mageia“ волшебници"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Волшебници за конфигурирање на Ñервер"
+
+#: 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 ""
+"Се Ñлучи грешка, но не знам како добро да Ñе Ñправам Ñо неа.\n"
+"Продолжете на ÑопÑтвен ризик."
+
+#: steps.pm:469
+#, 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 ""
+"Ðекои важни пакети не Ñе инÑталираа како што треба.\n"
+"Ðешто не е во ред, или Ñо Вашиот цедером или Ñо цедеата.\n"
+"Проверете ги цедеата на инÑталиран компјутер кориÑтејќи\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Премин на чекор \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ИнÑталација %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> помеѓу елементи"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Вашиот ÑиÑтем е Ñлаб Ñо реÑурÑи. Може да Ви Ñе појават проблеми\n"
+"при инÑталирање %s. Ðко тоа Ñе Ñлучи, пробајте Ñо текÑтуална инÑталација.\n"
+"За тоа, притиÑнете \"F1\" кога ќе Ñе подигне цедеромот, и потоа внеÑете\n"
+"\"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Групна Ñелекција на пакети"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Подделна Ñелекција на пакети"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Сите Ñе неÑелектирани"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Вкупна големина: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Верзија:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Големина: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ВажноÑÑ‚: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ðе можете да (не) го изберете овој пакет"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "поради недоÑтаÑување на %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "поради незадоволување на %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Ñе обидувам да промовирам %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "за да Ñе задржи %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ðе можете да го изберете овој пакет, зашто нема доволно проÑтор да Ñе "
+"инÑталира"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ќе бидат инÑталирани Ñледниве пакети"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следниве пакети ќе бидат отÑтранети"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ова е неопходен пакет, и не може да не Ñе избере"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ðе може да не го изберете овој пакет. Веќе е инÑталиран"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Ðе можете да не го изберете овој пакет. Тој мора да Ñе надгради (upgrade)"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Прикажи ги автоматÑки избраните пакети"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ИнÑталирај"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Вчитај/зачувај избор"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ОÑвежување на изборот на пакети"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Минимална инÑталација"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Менаџмент на Ñофтвер"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изберете ги пакетите што Ñакате да Ñе инÑталираат"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "ИнÑталирање"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Без детали"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Резиме"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Конфигурирај"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "не е конфигурирано"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Пронајдени Ñе Ñледниве инÑталациÑки медиуми.\n"
+"Ðко Ñакате да отÑтранете некои, можете Ñега да ги дештиклирате."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Имате опција да ја копирате Ñодржината на CD-ата на диÑкот, пред Ñамата "
+"инÑталација.\n"
+"Потоа, инÑталацијата ќе продолжи од хард диÑкот и пакетите ќе бидат доÑтапни "
+"Ñе додека ÑиÑтемот е целоÑно инÑталиран."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копирај ги Ñите CD-а"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Се Ñлучи грешка"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Изберете раÑпоред на таÑтатура"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ИнÑталирај/Ðадогради"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Дали е ова инÑталација или надградба?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ИнÑталација"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ðадгради %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Криптирачки клуч за %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Сменете го CD-то!\n"
+"\n"
+"ВнеÑете го CD-то Ñо наÑлов \"%s\" во вашиот уред и притиÑнете \"Во ред\".\n"
+"Ðко го немате, притиÑнете \"Откажи\" за да не инÑталирате од ова CD."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Барање доÑтапни пакети..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Ве молиме изберете „вчитај“ или „зачувај“ го изборот на пакети\n"
+"Форматот е иÑÑ‚ како за генерирани датотеки од „auto_install“."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Вчитај"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Зачувај"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Лоша датотека"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Избраната големина е поголема од Ñлободниот проÑтор"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Тип на инÑталација"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ðе Ñте избрале ниту една група пакети.\n"
+"Изберете ја минималната инÑталација што ја Ñакате:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Со X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Со оÑновна документација (препорачано!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ВиÑтинÑки минимална инÑталација (без urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Подготовка на инÑталацијата"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "ИнÑталирање на пакетот %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Се Ñлучи грешка во подредувањето на пакетите:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Да продолжиме?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ПоÑÑ‚-инÑталациона конфигурација"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Ве молиме проверете дали медиумот Ñо модулите за надградување е во уредот %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ðадградби"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Ќе бидат инÑталирани Ñледниве пакети"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "ÐеуÑпех при додавање медиум"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Имате можноÑÑ‚ да преземете надградени пакети. Овие пакети Ñе издадени\n"
+"по издавањето на диÑтрибуцијата. Можно е да Ñодржат поправки на\n"
+"грешки или безбедноÑÑ‚.\n"
+"\n"
+"За преземање на овие пакети, потребно е да имате функционална Интернет\n"
+"врÑка.\n"
+"\n"
+"Дали Ñакате да ги инÑталирате надградбите?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Хардвер(машинÑки дел)"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Звучна картичка"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Графички интерфејÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑи"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "конфигурирано"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Ðиво на ÑигурноÑÑ‚"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "активиран"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "оневозможено"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Се уште го ш конфигурирано Ð¥. Дали навиÑтина Ñакаш да го направиш ова?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Во ова безбедноÑно ниво, приÑтап до датотеките кои Ñе наоѓаат на „Windows“ "
+"партицијата е дозволен Ñамо на админиÑтраторот."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ВнеÑете празна диÑкета во %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Создавање диÑкета за авто-инÑталација..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ðекои чекори не Ñе завршени.\n"
+"\n"
+"Дали навиÑтина Ñакате Ñега да напуштите?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ЧеÑтитки"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "РеÑтартирај"
+
+#. -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 "Јазик"
+
+#: 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 "Лиценца"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Глушец"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Детекција на хард диÑкот"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "КлаÑа на инÑталација"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ТаÑтатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "БезбедноÑÑ‚"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Партиционирање"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирање"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Избирање на пакети"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ИнÑталирање"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "КориÑници"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Подигач"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Конфигурирај Х"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Резиме"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "СервиÑи"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ðадградби"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Излез"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL на огледалото?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL-то мора да започнува Ñо „ftp://“ или „http://“"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Контактирање Ñо веб Ñајтот на %s за добивање на лиÑтата на огледала..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Ðе може да Ñе воÑпоÑтави врÑка веб Ñтраница на „%s“ за да Ñе добие "
+#~ "лиÑтата на доÑтапни огледала"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Изберете огледало од кое да Ñе преземат пакетите"
diff --git a/perl-install/install/share/po/mn.po b/perl-install/install/share/po/mn.po
new file mode 100644
index 000000000..fb259f3e7
--- /dev/null
+++ b/perl-install/install/share/po/mn.po
@@ -0,0 +1,1611 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Khurelbaatar Lkhagavsuren <hujii247@yahoo.com>, 2003
+# Khurelbaatar Lkhagvasuren <hujii247@yahoo.com>, 2003
+# Sanlig Badral <Badral@openmn.org>, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Mongolian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/mn/)\n"
+"Language: mn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Лавлах"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "СүлжÑÑ"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Хандалт нурлаа"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Хуваалт Ò¯Ò¯ÑгÑхийн өмнө агшин дÑлгÑцүүдийг хийж чадахгүй"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Тохиргоо"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "маш аÑтайхан"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "аÑтайхан"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "магадгүй"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Тайлбар алга"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "ХөгжүүлÑл"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Баримтжуулалт"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "ИнтернÑÑ‚ гарц"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Сервер"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Өгөгдлийн Ñан"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "МÑйл"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "ТуÑдаа дан багц Ñонгох"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Хувилбар: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Ð¥ÑмжÑÑ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Дараах багцууд Ñуулгагдах гÑж байна"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ðвтоматаар ÑонгогдÑон багцуудыг харуулах"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Суулга"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сонгохыг Ñ…Ò¯ÑÑж буй багцаа Ñонгоно уу"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Суулгалт"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ДүгнÑлт"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Тохируулах"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Та гарын байрлалаа Ñонгоно уу"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Суулга"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "ПроцеÑÑор ачаалж байна"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Хадгалах"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "Гном"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "СонгогдÑон Ñ…ÑмжÑÑ Ð½ÑŒ боломжтой Ð·Ð°Ð¹Ð½Ð°Ð°Ñ Ð¸Ñ… байна"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Суулгалтын бÑлтгÑл"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Суулгалтын тохируулгыг батал"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ШинÑчлÑÑ…"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Дараах багцууд Ñуулгагдах гÑж байна"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s -д %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Техник хангамж"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Дууны карт"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Хамгаалалтын төвшин"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "хаалттай"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Та Ð¥-г тохируулаагүй байна. Та үүнийг хийхдÑÑ Ð¸Ñ‚Ð³ÑлтÑй байна уу?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Дахин ачаал"
+
+#. -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 "Ð¥Ñл"
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Хулгана"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Хатуу диÑк хөтлөгч танилт"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Гар"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Ðууцлал"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Суулгалт"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Ð¥ÑÑ€ÑглÑгчид"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ДүгнÑлт"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "ҮйлчилгÑÑ"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Гарах"
diff --git a/perl-install/install/share/po/mr.po b/perl-install/install/share/po/mr.po
new file mode 100644
index 000000000..c236ff535
--- /dev/null
+++ b/perl-install/install/share/po/mr.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Marathi (http://www.transifex.com/MageiaLinux/mageia/language/"
+"mr/)\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "विकास"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "जीनोम"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "पà¥à¤¨à¥à¤¹à¤¾ सà¥à¤°à¥ करा (रीबूट)"
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/ms.po b/perl-install/install/share/po/ms.po
new file mode 100644
index 000000000..4787605dd
--- /dev/null
+++ b/perl-install/install/share/po/ms.po
@@ -0,0 +1,1620 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003,2008
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Malay (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ms/)\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktori"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rangkaian"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Izin ditolak"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurasikan"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Penyalinan sedang dilakukan"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Tiada keterangan"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "StesyenKerja"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Pembangunan"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasi"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Pelayan Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Pelayan Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Pelayan Direktori"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Pelayan FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Pangkalan Data"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mel"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utiliti"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Ralat telah berlaku, tetapi saya tidak tahu bagaimana untuk mengawalnya "
+"dengan baik.\n"
+"Teruskan atas risiko anda."
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versi: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Saiz: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "kerana kehilangan %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "kerana ketidakpuasan %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "cuba untuk menaikkan %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "untuk menyimpan %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Pasang"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Pengurusan Perisian"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Memasang"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Ringkasan"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Buat konfigurasi"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ralat telah berlaku"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Pasang"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Muatan"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Simpan"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Memasang pakej %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Tedapat ralat menyusun pakej:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Teruskan juga?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ulangcuba"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Langkau pakej ini"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Langkau semua pakej dari media \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Kembali ke pemilihan pakej dan media"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Tedapat ralat memasang pakej %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Tetapan pasca pemasangan"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Kemaskini"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Gagal apabila menambah media"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Sekarang anda mempunyai peluang untuk memuatturun pakej dikemaskini. Pakej "
+"ini\n"
+"telah dikemaskini selepas edaran dilancarkan. Mereka mungkin\n"
+"mengandungi pembetulan pepijat atau keselamatan.\n"
+"\n"
+"Untuk memuatturun pakej ini, anda perlu mempunyai sambungan Internet yang\n"
+"berfungsi.\n"
+"\n"
+"Adakah anda mahu memasang kemaskini tersebut?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s pada %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Perkakasan"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Kad bunyi"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Antaramuka Bergrafik"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rangkaian & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proksi"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "ditetapkan"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Tahap Keselamatan"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "dimatikan"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Masukkan cakera liut kosong dalam pemacu %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Mencipta cakera liut auto pasang..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Tahniah"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Boot semula"
+
+#. -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 "Bahasa"
+
+#: 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 "Lesen"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Tetikus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Pengesanan cakera keras"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Papan Kekunci"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Keselamatan"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pempartisyenan"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Memasang"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Pengguna"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ringkasan"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Perkhidmatan"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Kemaskini"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Keluar"
diff --git a/perl-install/install/share/po/mt.po b/perl-install/install/share/po/mt.po
new file mode 100644
index 000000000..8229642f3
--- /dev/null
+++ b/perl-install/install/share/po/mt.po
@@ -0,0 +1,1672 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ramon Casha <ramon.casha@linux.org.mt>, 2002-2004
+# Ramon Casha <rcasha@waldonet.net.mt>, 2003
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Maltese (http://www.transifex.com/MageiaLinux/mageia/language/"
+"mt/)\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n"
+"%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Għandek iżjed sorsi supplimentari?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Network (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Network (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direttorju"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ma nistax insib fajl hdlist fuq din il-mera"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Qed naqra l-pakketti diġà nstallati..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Qed insib pakketti x'naġġorna"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Dawn il-pakketti se jitneħħew biex iħalluk taġġorna s-sistema: %s\n"
+"\n"
+"\n"
+"Żgur li trid tneħħi dawn il-pakketti?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Problema fil-qari tal-fajl %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Network"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permess miċħud"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ma nistax nieħu ritratti tal-iskrin qabel toħloq il-partizzjonijiet"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ir-ritratti jkunu disponibbli wara l-installazzjoni f' %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurazzjoni"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Trid ukoll tifformattja %s"
+
+#: 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 ""
+"Xi apparat fil-kompjuter tiegħek jeħtieġ drajvers speċjali biex jaħdem.\n"
+"Tista' ssib iżjed informazzjoni dwarhom fuq: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Qed intella' n-network"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Qed inniżżel in-network"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "neċessarju"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importanti"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "tajjeb ħafna"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "tajjeb"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "forsi"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Inqalgħet problema fatali: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d tranżazzjonijiet ta' installazzjoni fallew"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kompjuter tal-Uffiċċju"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmi tal-uffiċċju: wordprocessors (LibreOffice Writer, Kword), "
+"spreadsheet (LibreOffice Calc, Kspread) eċċ"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Logħob"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programmi ta' divertiment: logħob tal-arcaDES, karti, strateġija eċċ"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedja"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmi għad-daqq u editjar ta' awdjo u video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Sett għodda biex taqra u tibgħat imejl u \"news\", u biex tibbrawżja l-web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Kompjuter fuq network (klijent)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti għal protokolli differenti, eż. SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Għodda biex tiffaċilita l-konfigurazzjoni tal-kompjuter"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Għodda tal-konsol"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Edituri, shells, għodda tal-fajls, terminals"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Żviluppar"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Libreriji, programmi u fajls għal żviluppar C u C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentazzjoni"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Kotba u \"HOWTO\" dwar il-Linux u Softwer Ħieles"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Sapport ta' programmi ta' terzi partiti"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server tal-web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway tal-internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Imejl"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server tal-imejl Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Server tad-database PostgreSQL jew MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Kompjuter Server tan-Network"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servers NFS, SMB, Proxy, ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambjent Grafiku"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, l-interfaċċja grafika bażi, b'għażla ta' għodda "
+"jakkumpanjawha"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stazzjon GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Ambjent grafiku b' għażla ta' programmi u għodda faċli"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Desktops Grafiċi Oħrajn"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Inqalgħet problema, imma ma nafx kif nieħu ħsieba sew.\n"
+"Tista' tkompli b'riskju tiegħek"
+
+#: steps.pm:469
+#, 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 ""
+"Xi pakketti importanti ma ġewx installati sew.\n"
+"Jew id-drajv tas-CDROM, jew is-CD nnifisha huma difettużi.\n"
+"Tista' tiċċekkja s-CD fuq kompjuter diġà nstallat permezz tal-kmand \"rpm -"
+"qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Dieħel fil-pass \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Installazzjoni %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> bejn l-elementi"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Is-sistema hija nieqsa mir-riżorsi. Jista' jkollok problema biex tinstalla \n"
+"l-%s. Jekk jiġri dan, ipprova installazzjoni testwali. Għal dan,\n"
+"agħfas F1 meta titla' s-CD, imbagħad ittajpja \"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Għażla ta' gruppi ta' pakketti"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Agħżel pakketti individwalment"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Xejn magħżul"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Daqs totali: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verżjoni: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Daqs: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importanza: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ma tistax tagħżel/tneħħi dan il-pakkett"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "minħabba %s nieqes"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "minħabba %s mhux sodisfatt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "qed nipprova nippromwovi %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "sabiex inżomm %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ma tistax tagħżel dan il-pakkett għax ma fadalx biżżejjed spazju għalih"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Dawn huma l-pakketti li se jiġu nstallati"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Dawn huma l-pakketti li se jiġu mneħħija"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dan il-pakkett huwa kruċjali, ma jistax jitneħħa"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ma tistax tneħħi l-għażla minn dan il-pakkett, diġà nstallat."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ma tistax tneħħi l-għażla minn dan il-pakkett. Irid jiġi aġġornat."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Uri l-pakketti magħżula awtomatikament"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installa"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Qed naġġorna l-għażla ta' pakketti"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Installazzjoni minima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Maniġġjar ta' softwer"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Agħżel il-pakketti li trid tinstalla"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Qed ninstalla"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ebda dettalji"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sommarju"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Ikkonfigura"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "mhux konfigurat"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Dawn is-sorsi ta' installazzjoni instabu.\n"
+"Jekk trid taqbeż uħud minnhom, tista' tneħħi l-marka issa."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Inqalgħet problema"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Jekk jogħġbok agħżel tqassim tat-tastiera"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installa/Aġġorna"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Din hija installazzjoni ġdida jew aġġornament?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installa"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aġġorna %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ċifrarju għal %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Ibdel is-CD-ROM!\n"
+"\n"
+"Jekk jogħġbok daħħal id-diska mmarkata \"%s\" fid-drajv u agħfas Ok meta "
+"tlesti.\n"
+"Jekk m'għandekx din id-diska, agħfas \"Ikkanċella\" biex taqbeż il-pakketti "
+"li qegħdin fuqha."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Qed insib pakketti disponibbli"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Ikteb"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Id-daqs tal-għażla huwa ikbar mill-ispazju disponibbli"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tip ta' installazzjoni"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Għadek m'għażilt ebda grupp ta' pakketti\n"
+"Jekk jogħġbok agħżel installazzjoni minima li trid:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Bl-XWindows"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "B' dokumentazzjoni bażika (rakkomandat)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installazzjoni verament minima (mingħajr urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Qed nipprepara l-installazzjoni"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Qed jinstalla il-pakkett %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Kien hemm problema fl-ordni tal-pakketti:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Trid tkompli xorta?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurazzjoni ta' wara l-installazzjoni"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aġġornamenti"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Dawn huma l-pakketti li se jiġu nstallati"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Problema waqt iż-żieda ta' sors"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Issa għandek l-opportunità li tniżżel pakketti aġġornati. Dawn ġew "
+"ippubblikati \n"
+"wara li din id-distribuzzjoni inħarġet. Jistgħu jinkludu tiswijiet ta' "
+"problemi jew \n"
+"sigurtà.\n"
+"\n"
+"Biex tniżżel dawn il-pakketti, jrid ikollok konnessjoni mal-internet qed "
+"taħdem.\n"
+"\n"
+"Trid tinstalla dawn l-aġġornamenti?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s fuq %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Ħardwer"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Kard awdjo"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaċċja grafika"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Network u internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfigurat"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Livell ta' sigurtà"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewallr"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "attivat"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "mitfi"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Għadek ma kkonfigurajtx X. Żgur trid hekk?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"F'dan il-livell ta' sigurtà, l-aċċess għall-fajls fuq il-partizzjoni tal-"
+"Windows huwa ristrett għall-amministratur."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Daħħal flopi vojta fid-drajv %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Qed jinħoloq flopi awto-installazzjoni"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Xi passi ma ġewx finalizzati.\n"
+"\n"
+"Trid toħroġ issa?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Prosit"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Irributja"
+
+#. -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 "Agħżel il-lingwa"
+
+#: 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 "Liċenzja"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maws"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Għarfien tal-ħard disk"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurtà"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizzjonament"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Qed ninstalla"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Users"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ikkonfigura X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sommarju"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizzi"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aġġornamenti"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Oħroġ"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL tal-mera?"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Qed nikkuntattja l-website ta' %s biex nikseb lista tal-mirja disponibbli"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Agħżel mera minn fejn trid iġġib il-pakketti"
diff --git a/perl-install/install/share/po/nb.po b/perl-install/install/share/po/nb.po
new file mode 100644
index 000000000..0e7f62aa2
--- /dev/null
+++ b/perl-install/install/share/po/nb.po
@@ -0,0 +1,1708 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Andreas Bergstrøm <abergstr@halden.net>, 2000
+# Eskild Hustvedt <eskild@goldenfiles.com>, 2004
+# Eskild Hustvedt <zerodogg@skolelinux.no>, 2004-2005
+# Karl Morten Ramberg <karl.m.ramberg@gmail.com>, 2017-2020,2022
+# Keld Simonsen <keld@dkuug.dk>, 2004,2007
+# Kenneth Rørvik <kenneth@argon.no-ip.com>, 2003
+# Marius Laache <blakern_@hotmail.com>, 2007
+# Olav Dahlum <odahlum@gmail.com>, 2009-2010
+# Per Øyvind Karlsen <peroyvind@mandrivalinux.org>, 2004-2005
+# Per Øyvind Karlsen <peroyvind@mandriva.org>, 2007
+# Per Øyvind Karlsen <peroyvind@sintrax.net>, 2003-2004
+# Per Øyvind Karlsen <pkarlsen@mandriva.com>, 2005-2006
+# Stig-Ørjan Smelror <smelror@gmail.com>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Karl Morten Ramberg <karl.m.ramberg@gmail.com>, "
+"2017-2020,2022\n"
+"Language-Team: Norwegian Bokmål (http://app.transifex.com/MageiaLinux/mageia/"
+"language/nb/)\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Bli med oss!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Gjør det ditt!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Ditt valg!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kontorverktøy"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Hjemmeunderholdning"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "For barn"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "For familier"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "For utviklere"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Takk!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Vær fri!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du flere ekstra medier?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Følgende medier er funnet, og vil bli benyttet under installasjonen: %s.\n"
+"\n"
+"\n"
+"Har du flere installasjonsmedier å sette opp?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nettverk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nettverk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nettverk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-oppsett"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Tast inn vertsnavnet og mappen til ditt NFS-medie"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Vertsnavn mangler"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Mappenavnet må starte med \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vertsnavn til NFS-monteringen ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Mappe"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Ekstra"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Kan ikke finne pakkelistefil på dette speilet. Kontrollér at adressen er "
+"riktig."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Kjerneutgivelse"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Smittetutgivelse"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Ikke-friutgivelse"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Maskinvaren i din maskin trenger enkelte ikke-fri \"firmware\" for at de "
+"frie programvaredriverne skal fungere."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Du bør aktivere \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" inneholder de enkelte delene av systemet og dets applikasjoner"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" inneholder ikke-fri programvare\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Det inneholder også \"firmware\" som kreves for at enkelte enheter skal "
+"fungere. ( feks noen ATI/AMD grafikkort, noen nettverkskort, noen RAID "
+"kort....)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" inneholder programvare som ikke kan distribueres i enkelte land pga "
+"programvarepatenter."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Det inneholder også programvare fra \"%s\" ombygging med tilleggsegenskaper."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Her kan du aktivere flere media hvis du vil."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dette mediet har pakkeoppdateringer for medium \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ser på pakker som allerede er installert … "
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Finner pakker som skal oppgraderes … "
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjerner pakker før oppgradering … "
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"De følgende pakkene vil bli fjernet for å tillate oppgradering av systemet "
+"ditt: %s\n"
+"\n"
+" \n"
+"Ønsker du å fjerne disse pakkene?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Feil ved lesing av fil %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "De(n) følgende disken(e) fikk nytt navn:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tidligere kalt %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Nettverk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Velg et medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Filen eksisterer allerede. Overskriv?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Adgang nektet"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ugyldig NFS-navn"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Feil på media %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Jeg kan ikke ta skjembilder før partisjonering."
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjermbilder vil være tilgjengelig etter installasjon i %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installasjon"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Oppsett"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Du må også formatere %s"
+
+#: 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 ""
+"Noe maskinvare i maskinen din trenger «proprietære» drivere for å virke.\n"
+"Du kan finne noe informasjon om disse her: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Henter opp nettverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tar ned nettverket"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Vennligst vent, henter fil"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "kunne ikke legge til medium"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiér noen pakker på disken for framtidig bruk"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering pågår"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "må ha"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "viktig"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "veldig bra"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bra"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "kanskje"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Henter pakkeinformasjon fra XML metadata..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "Ingen xml-info for mediet «%s», bare delvis resultat for pakke %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ingen beskrivelse"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Noen pakker krevet av %s kan ikke installeres\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "En feil oppstod:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Det oppsto en kritisk feil: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ikke spør igjen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d mislykket installasjonstransaksjon"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installasjon av pakker feilet:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontorarbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorstøtteprogrammer: tekstbehandlere (LibreOffice Writer, Kword), "
+"regneark (LibreOffice Calc, Kspread), PDF-framvisere, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spillstasjon"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underholdningsprogrammer: arkade, brettspill, strategi, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastasjon"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Lyd- og videoavspilling/redigeringsprogrammer"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internettstasjon"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Et sett med verktøy for å lese og sende e-post og nyheter (mutt, tin..) og "
+"til å surfe på nettet"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nettverksmaskin (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter for forskjellige protokoller inkludert ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktøy for å forenkle oppsettet av maskinen din"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktøy"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Tekstprogrammer, skall, filverktøy, terminaler"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Utvikling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C- og C++-utviklingsbibliotek, -programmer og inkluderings-filer"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasjon"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøker og veiledninger om Linux og fri programvare"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Støtte for tredjeparts programvare"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Gruppevare"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brannmur/ruter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internett-gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Nyheter"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-postserver, Inn nyhetsserver"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogserver"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domenenavn- og nettverksinformasjons-server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og Skriverdelingsserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- og MariaDB-databaseserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-postserver"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL eller MariaDB-databaseserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Nettverksserver"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, grunnleggende grafisk miljø med en samling av "
+"passende verktøy"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Et grafisk miljø med et brukervennlig sett av programmer og "
+"skrivebordsverktøy"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce Arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Et lettere grafisk miljø med brukervennlige applikasjoner og "
+"skrivebordsverktøy"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Et grafisk miljø basert på GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt Skrivebord"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "En neste generasjons QT portering av lettvekts skrivebordsoppsettet"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment Skrivebord"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Et lettvekts raskt grafisk miljø "
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-skrivebord"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Et lettvekts raskt grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske skrivebord"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Verktøy"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Fjernadministrasjonsserver"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nettverks-verktøy/overvåkning"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvårkningsverktøy, prosessbokføring, tcpdump, nmap, … "
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-veivisere"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Veivisere for å sette opp server"
+
+#: 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 ""
+"En feil oppsto, men jeg vet ikke hvordan jeg skal håndtere dette på en "
+"korrekt måte.\n"
+"Fortsett på eget ansvar."
+
+#: steps.pm:469
+#, 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 ""
+"Noen viktige pakker ble ikke installert ordentlig.\n"
+"Det er noe galt med enten den optiske enheten eller CD-ROM-platen.\n"
+"Sjekk platen på en installert maskin med \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "GÃ¥r inn i trinn `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s-installasjon %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellom elementene"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg-serverer er treg til å starte. Vennligst vent … "
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Systemet ditt har lite ressurser. Du kan muligens oppleve noen problemer\n"
+"ved installering av %s. Hvis dette skjer kan du prøve installasjon i "
+"tekstmodus\n"
+"i stedet. Trykk `F1' ved oppstart av CD-ROM, skriv så `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Medievalg"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Innsaller %s Plasma skrivebord"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installer %s GNOME-skrivebord"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Skreddersydd installasjon"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma skrivebord"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-skrivebord"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Tilpasset skrivebord"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Her er en forhåndsvisning av skrivebordet «%s»."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klikk på bildene for å se en større forhåndsvisning"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Valg pakkegruppe"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelt pakkevalg"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Velg bort alle"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total størrelse: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versjon: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Størrelse: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Viktighet: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Du kan ikke velge (bort) denne pakken"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "pga. manglende %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "pga. utilfredsstilt %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "prøver å promotere %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "for å beholde %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikke velge denne pakken da det ikke er igjen nok plass til å "
+"installere den"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Følgende pakker vil bli installert"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Følgende pakker vil bli fjernet"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dette er en obligatorisk pakke, den kan ikke fjernes"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Du kan ikke fjerne denne pakken. Den er allerede installert"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Du kan ikke fjerne denne pakken. Den må oppgraderes"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatisk valgte pakker"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installer"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Last inn/lagre utvalg"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Oppdaterer pakkevalg"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Veksle mellom hierarkisk og flat pakkeliste"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installasjon"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programvarehåndtering"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Velg pakkene du ønsker å installere"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ingen detaljer"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tid som gjenstår:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(beregner … )"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakke"
+msgstr[1] "%d pakker"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Oppsummering"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Sett opp"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ikke satt opp"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Følgende installasjonsmedia har blitt funnet.\n"
+"Hvis du vill hoppe over noen av de kan du velge de vekk nå."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Du har valget mellom å kopiere innholdet på CDene til harddisken før "
+"installasjon.\n"
+"Den vil da fortsette fra harddisken og pakkene vil forbli tilgjengelige når "
+"systemet er fullstendig installert."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiér hele CDer"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "En feil oppstod"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Velg ditt tastaturoppsett"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Her er den komplette listen over tilgjengelige tastatur"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installer/Oppgrader"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er dette en installasjon eller en oppgradering?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installér"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Oppgrader %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøkkel for %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Avbryt installasjonen, start systemet på nytt"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ny installasjon"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Oppgrader forrige versjon (ikke anbefalt)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Installereren har oppdaget at ditt installerte Linux system ikke kunne bli\n"
+"oppgradert til %s på en sikker måte.\n"
+"Nyinstallering anbefales\n"
+"\n"
+"Advarsel: Du bør ta sikkerhetskopi av alle dine personlige data før "
+"installering. "
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Setter opp CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Bytt CD!\n"
+"\n"
+"Sett inn CDen merket «%s» i stasjonen og trykk Ok når du er ferdig.\n"
+"Hvis du ikke har den, trykk Avbryt for å unngå installasjon fra denne CDen."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Søker etter tilgjengelige pakker"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Systemet har ikke nok ledig diskplass for installasjon eller oppgradering "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Velg lagre eller hent pakkevalg.\n"
+"Formatet er det samme som for auto_install-genererte filer."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Last inn"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Lagre"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ødelagt fil"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Skrivebordsvalg"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+"Her kan du velge skrivebordprofilen for systemet; «KDE», «GNOME» eller "
+"«Skreddersydd»."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valgt størrelse er større enn tilgjengelig plass"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Type installasjon"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikke valgt noen pakkegrupper.\n"
+"Velg den minimale installasjonen du ønsker:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installer anbefalte pakker"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grunnleggende dokumentasjon (anbefalt!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Virkelig minimal installasjon (uten urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Klargjør oppgradering..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Forbereder installasjon"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerer pakke %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det var en feil ved endring av pakkenes rekkefølge:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsett uansett?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Prøv igjen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Hopp over denne pakken"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hopp over alle pakker fra media \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "GÃ¥ tilbake til valg av media og pakker"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Feil under installering av pakke %s"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Oppsett etter installering"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Forsikre deg om at medie med oppdaterte moduler er i %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Oppdateringer"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Nå har du mulighet til å sette opp online media"
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Dette gjør det mulig å installere oppdateringer"
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"For å sette opp disse media, må du a en aktiv Internet \n"
+"kobling\n"
+"\n"
+".Ønsker du å sette opp media nå?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Den nedlasteren kunne ikke installeres"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Prøve på nytt?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Feil under forsøk på å legge til medium"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Du har nå muligheten til å laste ned oppdaterte pakker. Dette er pakker som "
+"har blitt sluppet etter at distribusjonen ble lansert. Dette kan være enten "
+"sikkerhetsoppdateringer eller feilrettelser.\n"
+"For å laste ned disse pakkene må du ha en fungerende Internettoppkobling.\n"
+"\n"
+"Ønsker du å installere oppdateringene?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grensesnitt"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Nettverk & internett"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxyservere"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "satt opp"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Sikkerhetsnivå"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Brannmur"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivert"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "deaktiver"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikke satt opp det grafiske grensesnittet Xorg. Er du sikker på at du "
+"ikke vil gjøre dette?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Forbereder initsialt oppstart program"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Vennligst vær tålmodig, dette kan ta en stund … "
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"I dette sikkerhetsnivået er tilgang til Windows-partisjonen forbeholdt "
+"administratoren."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sett inn en tom diskett i stasjon %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Oppretter diskett for autoinstallasjon … "
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Noen trinn er ikke fullført.\n"
+"\n"
+"Ønsker du virkelig å avslutte nå?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulerer"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Omstart"
+
+#. -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 "Språk"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Språktilpassing"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Oppdaging av harddisk"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installasjonsklasse"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sikkerhet"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisjonering"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formaterer"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Velger pakker"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerer"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brukere"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Oppstartslaster"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Sett opp X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Oppsummering"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjenester"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Oppdateringer"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avslutt"
diff --git a/perl-install/install/share/po/nl.po b/perl-install/install/share/po/nl.po
new file mode 100644
index 000000000..c07830293
--- /dev/null
+++ b/perl-install/install/share/po/nl.po
@@ -0,0 +1,1709 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Dennis Holierhoek <dennis.hh@hotmail.com>, 2016
+# dragnadh, 2020
+# Jeroen ten Berge <j.ten.berge@twinbit.nl>, 2002
+# Marcel Pol <marcel@timelord.nl>, 2021
+# Marja van Waes, 2023
+# Marja van Waes <marja@mageia.org>, 2013,2015
+# Niels Gras <niels.gras@wanadoo.nl>, 2000
+# Peter Bosch <peter.bosch@hccnet.nl>, 2002
+# Rob Teng <mandrake.tips@free.fr>, 2005,2008
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Marja van Waes, 2023\n"
+"Language-Team: Dutch (http://app.transifex.com/MageiaLinux/mageia/language/"
+"nl/)\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Sluit u bij ons aan"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Maak het u eigen"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Uw keuze"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kantoortools"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Home-entertainment"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Voor kinderen"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Voor gezinnen"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Voor ontwikkelaars"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Dank u"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Wees Vrij"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Heeft u nog aanvullende media?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"De volgende media zijn gevonden en zullen worden gebruikt tijdens de "
+"installatie: %s.\n"
+"\n"
+"\n"
+"Heeft u een aanvullend installatiemedium in te stellen?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netwerk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netwerk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netwerk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-configuratie"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Vul de hostnaam en map van uw NFS-media in"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Hostnaam ontbreekt"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Map dient te beginnen met \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Hostnaam van het NFS-koppelpunt?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Map"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Aanvullend"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Kan hdlist-bestand op deze spiegelserver niet vinden. Controleer of de "
+"locatie klopt."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core-uitgave"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted-uitgave"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree-uitgave"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Bepaalde apparatuur in uw machine behoeft niet-vrije firmware alvorens de "
+"vrije stuurprogrammatuur kan werken."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "U dient \"%s\" in te schakelen"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" bevat de diverse onderdelen van de systemen en hun programma's"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" bevat niet-vrije software.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Het bevat ook firmware-bestanden welke nodig zijn om bepaalde apparatuur te "
+"laten werken (bijv: bepaalde ATI/AMD-grafische kaarten, bepaalde "
+"netwerkkaarten, bepaalde RAID-kaarten, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" bevat software welke niet in alle landen vrijelijk gedistribueerd kan "
+"worden als gevolg van software patenten."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Het bevat ook software uit \"%s\" welke herbouwd is met additionele "
+"mogelijkheden."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Hier kunt u indien gewenst meerdere media inschakelen."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Dit medium biedt updates voor \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Inventarisatie van reeds geïnstalleerde pakketten…"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Zoeken naar pakketten om op te waarderen…"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Verwijderen van pakketten vóór opwaardering..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"De volgende pakketten zullen verwijderd worden om uw systeem te kunnen "
+"opwaarderen: %s\n"
+"\n"
+"\n"
+"Weet u zeker dat u deze pakketten wilt verwijderen?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fout bij het lezen van bestand %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "De volgende schijf/schijven zijn hernoemd:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (heette voorheen %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Netwerk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Kies een medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Bestand bestaat reeds. Overschrijven?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Slechte NFS-naam"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Ongeldig medium %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kan geen schermafdruk maken voor het partitioneren"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Schermafdrukken zullen beschikbaar zijn na installatie in %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installatie"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuratie"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "U dient tevens %s te formatteren"
+
+#: 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 ""
+"Sommige apparatuur op uw computer heeft ''fabrikantseigen'' "
+"stuurprogramma's \n"
+"nodig om te kunnen functioneren. U kunt informatie hierover vinden op: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bezig met opstarten van het netwerk"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Bezig met stoppen van het netwerk"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Even geduld, bestand wordt opgehaald"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "niet in staat medium toe te voegen"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiëren van enkele pakketten op diskettes voor toekomstig gebruik"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Bezig met kopiëren"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "must-have"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "belangrijk"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "heel leuk"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "leuk"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "misschien"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Pakketinformatie wordt uit de XML-metadata geëxtraheerd..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Geen XML-info voor medium ‘%s’, slechts gedeeltelijk resultaat voor pakket %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Geen omschrijving"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Sommige door %s gevraagde pakketten kunnen niet worden geïnstalleerd:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Er is een fout opgetreden:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Er is een fatale fout opgetreden: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Vraag niet nogmaals"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d installatie-transacties mislukt"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installatie van pakketten mislukt:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Werkstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kantooromgeving"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kantoorprogramma's: tekstverwerkers (LibreOffice Writer, Kword), rekenbladen "
+"(LibreOffice Calc, Kspread), PDF-lezers, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Game-station"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Amusementsprogramma's: arcade, bordspellen, strategie etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia-station"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Geluids- en video-afspeel- en bewerkingsprogramma's"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet-station"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Verzameling programma's om e-mail en usenet nieuws mee te lezen en te "
+"schrijven, en om het Web mee door te bladeren"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netwerk-computer (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients voor verschillende protcollen waaronder ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Programma's om de configuratie van uw computer te vergemakkelijken"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Hulpprogramma's voor de opdrachtregel"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editors, shells, bestandsbeheer, terminals"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Ontwikkeling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C and C++ ontwikkelingsbibliotheken, programma's en include-bestanden"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentatie"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Boeken en Howto's over Linux en Vrije Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standaard-Basis. Ondersteuning voor programma's van derden."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-mail/nieuws"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-mailserver, Inn newsserver"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Gidsserver"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinnaam- en Network Information Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Gedeelde bestands- en printerserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL en MariaDB database-server"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-mailserver"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL of MariaDB database-server"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Netwerk-computer server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafische omgeving"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma-werkstation"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Het K Desktop Environment, de basis-grafische omgeving met een verzameling "
+"van bijbehorende programma's"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Een grafische omgeving met gebruikersvriendelijke verzameling programma's en "
+"bureaublad-hulpprogramma's"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Een lichtere grafische omgeving met een gebruiksvriendelijke set programma's "
+"en bureaublad-hulpprogramma's"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Een op GNOME gebaseerde grafische omgeving"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Een 'next generation' QT-port van de lichtgewicht grafische omgeving"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Een snelle lichtgewicht grafische omgeving met gebruiksvriendelijke set "
+"programma's en bureaublad-hulpprogramma's"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-werkomgeving"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Een snelle lichtgewicht grafische omgeving"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andere grafische omgevingen"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, enz"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Hulpprogramma's"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-server voor configuratie op afstand"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netwerk-hulpprogramma's/observatie"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Observatieprogramma's, bijhouden van processen, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-wizards"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Wizards om server te configureren"
+
+#: 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 ""
+"Er is een fout opgetreden waarvoor de juiste afhandeling onbekend is.\n"
+"Als u verdergaat, is dit op eigen risico."
+
+#: steps.pm:469
+#, 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 ""
+"Sommige belangrijke pakketen werden niet juist\n"
+"geïnstalleerd. Of uw cd-rom-speler of uw cd-rom is defect.\n"
+"Controleer de cd-rom op een geïnstalleerde computer met\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Overgang naar stap `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installatie %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tussen elementen"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "De Xorg-server start langzaam. Even geduld…"
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Uw systeem heeft weinig systeembronnen beschikbaar. Het kan zijn dat u "
+"problemen ondervindt bij het installeren van %s. In dat geval kunt u een "
+"tekstinstallatie proberen. Druk 'F1' bij het opstarten van de disc, en toets "
+"dan in: 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Mediaselectie"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Installeer %s Plasma Desktop"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installeer de %s GNOME Desktop"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Aangepaste installatie"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-werkomgeving"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Gnome-werkomgeving"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Aangepaste werkomgeving"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Hier is een voorproefje van de '%s'-werkomgeving."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klik op het beeld voor een grotere versie"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakketgroepselectie"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuele pakketselectie"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Alle gedeselecteerd"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totale grootte: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versie: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Grootte: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Belang: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "U kunt dit pakket niet (de)selecteren"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "ten gevolge van ontbrekende %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ten gevolge van onvoldane %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "proberen om %s te promoveren"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "om %s te kunnen behouden"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"U kunt dit pakket niet selecteren omdat er te weinig ruimte over is om het "
+"te installeren"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "De volgende pakketten zullen geïnstalleerd worden"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "De volgende pakketten zullen gedeïnstalleerd worden"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dit is een verplicht pakket, het kan niet gedeselecteerd worden"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "U kunt dit pakket niet deselecteren. Het is al geïnstalleerd."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "U kunt dit pakket niet deselecteren. Het moet opgewaardeerd worden."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatisch geselecteerde pakketten tonen"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installatie"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Selectie laden/opslaan"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Verversen van pakketselectie"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Wissel tussen hiërarchische en platte lijst van pakketten"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimale installatie"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Softwarebeheer"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kies de pakketten die u wenst te installeren"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installeren"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Geen details"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Resterende tijd:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(schatten…)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakket"
+msgstr[1] "%d pakketten"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Overzicht"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configureren"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "niet geconfigureerd"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"De volgende installatiemedia zijn gevonden.\n"
+"Indien u sommige wilt overslaan, kunt u ze nu deselecteren."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"U heeft de mogelijkheid om de inhoud van de cd's naar de harde schijf te "
+"kopiëren vóór installatie.\n"
+"De installatie gaat dan door vanaf de harde schijf en de pakketten blijven "
+"beschikbaar zodra het systeem volledig geïnstalleerd is."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Hele cd's kopiëren"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Er is een fout opgetreden"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Kies uw toetsenbord-indeling"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Dit is de volledige lijst van beschikbare toetsenborden:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installatie/Opwaardering"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Wilt u opwaarderen of een nieuwe installatie uitvoeren?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installatie"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s opwaarderen"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Vercijferingssleutel voor %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Installatie afbreken, systeem herstarten"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nieuwe installatie"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Bestaande installatie opwaarderen (niet aanbevolen)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Het installatieprogramma heeft vastgesteld dat uw Linux-systeem niet veilig "
+"kan worden bijgewerkt naar %s.\n"
+"\n"
+"Een nieuwe installatie ter vervang van uw vorige wordt aangeraden.\n"
+"\n"
+"WAARSCHUWING: Maak een eerst een back-up van al uw persoonlijke data voordat "
+"u een nieuwe installatie kiest."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "Cd/dvd"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Cd/dvd-configuratie"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Verwissel uw cd-rom!\n"
+"\n"
+"Gelieve de cd-rom met de naam \"%s\" in uw speler te plaatsen en op Ok te "
+"klikken wanneer u gereed bent.\n"
+"Als u deze cd niet heeft, klik dan Annuleren om verdere installatie vanaf "
+"deze cd te vermijden."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Bezig met zoeken naar beschikbare pakketten"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Uw systeem heeft niet genoeg ruimte over voor installatie of opwaardering "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"U kunt kiezen of u de pakketselectie wilt laden of opslaan.\n"
+"Het formaat is dezelfde als de met auto_install gegenereerde bestanden."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Laden"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Opslaan"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ongeldig bestand"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "Gnome"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Werkomgevingselectie"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "U kunt de grafische omgeving voor uw werkstation kiezen."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "De geselecteerde grootte is meer dan de beschikbare ruimte"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Type installatie"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"U heeft geen enkele pakketgroep geselecteerd\n"
+"Gelieve de minimale installatie die u wenst te kiezen."
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Met X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installeer aangeraden pakketten"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Met basis-documentatie (aanbevolen!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Werkelijk minimale installatie (in het bijzonder geen urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Voorbereiden van de opwaardering..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Bezig met voorbereiden van installatie"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Bezig met installeren van pakket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Er is een fout opgetreden bij het sorteren van de pakketten:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Toch verdergaan?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Opnieuw proberen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Dit pakket overslaan"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Alle pakketten van medium ‘%s’ overslaan"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Terug naar media- en pakketselectie"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Er is een fout opgetreden bij het installeren van pakket %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuratie na installatiestap"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Zorg ervoor dat de Update Modules-media zich in station %s bevindt"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Herzieningen"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "U kunt nu online media instellen."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Dat maakt beveiligingsherzieningen installeren mogelijk."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Om deze media in te stellen, dient uw internetverbinding \n"
+"te werken. \n"
+"\n"
+"Wilt u de updatemedia instellen?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Dat downloadprogramma kon niet geïnstalleerd worden"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Opnieuw proberen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Medium toevoegen mislukt"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"U bent nu in de gelegenheid om bijgewerkte pakketten te downloaden.\n"
+"Deze pakketten zijn vernieuwd nadat de distributie werd uitgegeven.\n"
+"Ze kunnen beveiligings- of programmafoutreparaties bevatten.\n"
+"U heeft een werkende internetverbinding nodig om deze pakketten te \n"
+"downloaden.\n"
+"\n"
+"Wenst u de bijgewerkte pakketten te installeren?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s op %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Apparatuur"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Geluidskaart"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafische interface"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Netwerk & internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy's"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "geconfigureerd"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Beveiligingsniveau"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "geactiveerd"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "uitgeschakeld"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "U heeft X niet geconfigureerd. Weet u zeker dat u dit wilt?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Bezig met voorbereiden van het initiële startprogramma..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Een moment geduld, dit kan even duren…"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"In dit beveiligingsniveau wordt toegang tot de bestanden op de Windows-"
+"partitie voorbehouden aan de systeembeheerder."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Plaats een lege diskette in station %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Aanmaken van auto-installatiediskette…"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Enkele stappen zijn nog niet voltooid.\n"
+"\n"
+"Weet u zeker dat u op dit moment wilt afsluiten?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gefeliciteerd"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Herstarten"
+
+#. -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 "Taal"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Vertaling"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licentie"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muis"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harddisk detectie"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installatieklasse"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Toetsenbord"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Beveiliging"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionering"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatteren"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakketten kiezen"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installatie"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Gebruikers"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Opstartlader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X configureren"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Overzicht"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Diensten"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Herzieningen"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Afsluiten"
diff --git a/perl-install/install/share/po/nn.po b/perl-install/install/share/po/nn.po
new file mode 100644
index 000000000..42bcbaa3f
--- /dev/null
+++ b/perl-install/install/share/po/nn.po
@@ -0,0 +1,1693 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Karl Ove Hufthammer <karl@huftis.org>, 2004-2010
+# Stig-Ørjan Smelror <smelror@gmail.com>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Norwegian Nynorsk (http://www.transifex.com/MageiaLinux/"
+"mageia/language/nn/)\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du fleire medium?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Fann desse media, som vert brukte ved installeringa: %s.\n"
+"\n"
+"\n"
+"Har du fleire installasjonsmedium du ønskjer å bruka?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nettverk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nettverk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nettverk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-oppsett"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Skriv inn vertsnamn og mappe til NFD-media"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Manglar vertsnam"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Mappa må begynna med «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vertsnamn til NFS-montering:"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Tillegg"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Finn ikkje pakkelistfila på denne spegelen. Sjå til at adressa er rett."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ser på allereie installerte pakkar …"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ser etter pakkar å oppgradera …"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjernar pakkar for oppgradering …"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Desse pakkane vert fjerna for å kunna oppgradera systemet: %s\n"
+"\n"
+"\n"
+"Er du sikker på at du vil fjerna pakkane?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Klarte ikkje lesa fila «%s»"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Desse diskane fekk nye namn:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "«%s» (tidlegare namn: «%s»)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Nettverk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Vel medium"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fila finst allereie. Vil du skriva over ho?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Nekta løyve"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ugyldig NFS-namn"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Ugyldig medium: %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kan ikkje ta skjermbilete før partisjonering"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjermbilete vert tilgjengelege i «%s» etter installeringa er ferdig"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installering"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Oppsett"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Du må òg formatera «%s»"
+
+#: 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 ""
+"Noko av maskinvaren treng godseigde drivarar for å fungera.\n"
+"Du finn meir informasjon om desse på: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Koplar til nettverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Koplar frå nettverket"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Hentar fil. Vent litt …"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "klarte ikkje leggja til medium"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierer nokre pakkar til harddisken for seinare bruk"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopierer filer"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "må ha"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "viktig"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "veldig kjekt å ha"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "kjekt å ha"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "kanskje"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ingen XML-informasjon for mediet «%s». Berre delvis resultat for pakken «%s»."
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Inga skildring"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Nokre pakkar som %s krev kan ikkje installerast:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Det oppstod ein feil:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Det oppstod ein kritisk feil: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ikkje spør igjen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "feil med %d installasjonstransaksjonar"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Feil ved installering av pakkar:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbeidstasjon"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontormaskin"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorprogramvare: Teksthandsamarar (LibreOffice Writer, Kword), rekneark "
+"(LibreOffice Calc, Kspread), PDF-viseprogram, med meir"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spelmaskin"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Moroprogram: Arkadespel, brettspel, strategispel, med meir"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediemaskin"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Program for vising og redigering av film"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internett-maskin"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Program for lesing og sending av e-post, deltaking i temagrupper og surfing "
+"på Internett"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nettverksmaskin (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klientprogramvare for fleire protokollar, som ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktøy for enkelt oppsett av datamaskina"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktøy"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Skriveprogram, skal, filverktøy og terminalprogram."
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Utvikling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Utviklingsbibliotek, program og deklarasjonsfiler for C og C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Hjelpetekst"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøker og hjelpeoppskrifter for Linux og fri programvare"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base – støtte for tredjepartsprogram"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Vevtenar"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Gruppevare"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-tenar"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brannmur/rutar"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internett-portnar"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-post og temagrupper"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-posttenar og Inn temagruppetenar"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogtenar"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-tenar"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domenenamn og nettverksinformasjonstenar."
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og skrivardeling-tenar"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-tenar, Samba-tenar"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- og MariaDB-databasetenar"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Vev/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-e-posttenar"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- eller MariaDB-databasetenar"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Nettverkstenar"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-tenar, SMB-tenar, mellomtenar, ssh-tenar"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Skrivebordsmiljøet KDE, med ei samling tilhøyrande verktøy"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Eit grafisk skrivebordsmiljø med brukarvenlege program og skrivebordsverktøy"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-skrivebord"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske skrivebord"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Verktøy"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-tenar"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-fjernoppsettenar"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nettverksverktøy og -overvaking"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvakingsverktøy, prosesshandsaming, tcpdump, nmap, med meir"
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-vegvisarar"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Vegvisarar for tenaroppsett"
+
+#: 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 "Det oppstod ein kritisk feil. Hald fram på eige ansvar."
+
+#: steps.pm:469
+#, 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 ""
+"Nokre viktige pakkar vart ikkje installerte skikkeleg.\n"
+"Enten er det CD-ROM-stasjonen eller CD-plata di som øydelagd.\n"
+"Kontroller CD-plata på ei anna maskin med kommandoen: rpm -qpl media/main/*."
+"rpm\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Køyrer steg «%s»\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s-installering %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "«Tab»/«Alt + Tab» mellom element"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "X.Org-tenaren tek tid å starta. Vent litt …"
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Du har lite systemressursar, og kan få vanskar med å installera %s Linux.\n"
+"Du kan då installera i tekstmodus i staden for. Trykk «F1» ved oppstart av\n"
+"CD-plata, og skriv «text» om du ønskjer dette."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Medieval"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installer %s GNOME-skrivebord"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Anna installering"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-skrivebord"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Sjølvvalt skrivebord"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Slik ser skrivebordsmiljøet %s ut."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Trykk på bileta for å forstørra dei"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakkegruppeval"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Direkte pakkeval"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Valde vekk alle"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totalstorleik: %d / %d MiB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versjon: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Storleik: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KiB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Prioritet: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Du kan ikkje velja eller fjerna denne pakken"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "på grunn av manglande «%s»"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "då «%s» ikkje er tilfredsstilt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "Prøver å prioritera «%s»"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "for å kunna behalda «%s»"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikkje velja denne pakken, då det ikkje er nok ledig plass til å "
+"installera han."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Desse pakkane vert installerte"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Desse pakkane vert fjerna"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Dette er ein obligatorisk pakke. Du kan ikkje velja han vekk."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Du kan ikkje velja vekk denne pakken, då han allereie er installert."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Kan ikkje velja vekk pakken. Han må oppgraderast."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatiske valde pakkar"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installer"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Opna/lagra utval"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Oppdaterer pakkeval"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installering"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programvarehandsaming"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vel pakkane du ønskjer å installera"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Gøym detaljar"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tid igjen:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(estimerer …)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakke"
+msgstr[1] "%d pakkar"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Samandrag"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Set opp"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ikkje sett opp"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Fann desse installasjonsmedia.\n"
+"Om du ikkje ønskjer å bruka alle, kan du velja vekk dei du ikkje treng no."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Du kan velja å kopiera innhaldet på CD-ane til harddisken før "
+"installasjonen.\n"
+"Installasjonen vil då helda fram frå harddisken, og pakkane vil vera lett "
+"tilgjengeleg òg etter at systemet er installert og sett opp."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopier CD-ane"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Det oppstod ein feil"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Vel tastaturoppsett"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Her er heile lista over tastaturoppsett:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installer/oppgrader"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Vil du installera eller oppgradera?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installer"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Oppgrader «%s»"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøkkel for «%s»"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Avbryt installering og start systemet på nytt"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nyinstallering"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Oppgrader førre installasjon (ikkje tilrådd)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Byt installasjonsplate.\n"
+"\n"
+"Set inn plata merkt «%s» og trykk «OK».\n"
+"Trykk eventuelt «Avbryt» om du ikkje har denne plata."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ser etter tilgjengelege pakkar …"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Maskina di har ikkje nok ledig plass for installering eller oppgradering (%d "
+"MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vel å lagra eller henta pakkeval.\n"
+"Formatet er likt det laga av «auto_install»."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Last"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Lagra"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ugyldig fil"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Skrivebordsval"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Du kan velja skrivebordsmiljø."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valt storleik er større enn tilgjengeleg plass"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Installasjonstype"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikkje valt noko pakkegruppe.\n"
+"Vel kva type minimal installasjon du vil ha:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grunnleggjande hjelpetekstar (tilrådd)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Heilt minimal (òg utan urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Førebur installasjon"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerer pakken «%s»"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det oppstod ein feil ved sortering av pakkar:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vil du helda fram likevel?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Prøv på nytt"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Hopp over denne pakken"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hopp over alle pakkar frå mediet «%s»"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "GÃ¥ tilbake til medie- og pakkevalskjermen"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Det oppstod ein feil ved installering av pakken «%s»."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Oppsett etter installering"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Sjå til at oppdateringsmediet er i stasjon %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Oppdateringar"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Desse pakkane vert installerte"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Prøv på nytt?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Klarte ikkje leggja til nytt medium"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Du kan no lasta ned oppdaterte pakkar. Desse pakkane vart oppdaterte\n"
+"etter at distribusjonen var ferdigstilt, og kan innehelda "
+"tryggleiksforbetringar eller\n"
+"andre feilrettingar.\n"
+"\n"
+"\n"
+"For å lasta ned pakkane må du ha eit nettsamband oppe.\n"
+"\n"
+"\n"
+"Ønskjer du å installera oppdateringane?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grensesnitt"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Nettverk og Internett"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Mellomtenarar"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "oppsett"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Tryggleiksnivå"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Brannmur"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "påslått"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "avslått"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikkje sett opp det grafiske grensesnittet. Er du sikker på at du "
+"ikkje vil ha det?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ver tålmodig. Dette kan ta ei stund …"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Med dette tryggleiksnivået er det berre administratoren som får tilgang til "
+"filer på Windows-partisjonen."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Set inn ein tom diskett i stasjon «%s»"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Lagar diskett for automatisk installasjon …"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ikkje alle steg er gjennomførte.\n"
+"\n"
+"Er du sikker på at du vil avslutta?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulerer"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Start på nytt"
+
+#. -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 "Språk"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Språkversjon"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensvilkår"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harddiskoppdaging"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installasjonsklasse"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Tryggleik"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisjonering"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatering"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakkeval"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installering"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brukarar"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Oppstartslastar"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Set opp X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Samandrag"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tenester"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Oppdateringar"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avslutt"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Adresse til spegelen?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Adresser må starta med «ftp://» eller «http://»."
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Kontaktar %s-nettstaden for oversikt over speglar …"
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Klarte ikkje få kontakt med %s-nettstaden for å henta oversikt over "
+#~ "tilgjengelege speglar."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Vel spegelen du vil installera pakkar frå"
diff --git a/perl-install/install/share/po/pa_IN.po b/perl-install/install/share/po/pa_IN.po
new file mode 100644
index 000000000..0a96b7c98
--- /dev/null
+++ b/perl-install/install/share/po/pa_IN.po
@@ -0,0 +1,1644 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>, 2005
+# Kanwaljeet Singh Brar <kanwaljeetbrar@yahoo.co.in>, 2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Panjabi (Punjabi) (India) (http://www.transifex.com/"
+"MageiaLinux/mageia/language/pa_IN/)\n"
+"Language: pa_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "ਕੀ ਤà©à¨¹à¨¾à¨¡à©‡ ਕੋਲ ਅੱਗੇ ਅਨà©à¨ªà©‚ਰਕ ਮਾਧਿਅਮ ਹੈ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "ਨੈੱਟਵਰਕ (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "ਨੈੱਟਵਰਕ (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ਡਾਇਰੈਕਟਰੀ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "ਇਸ ਪà©à¨°à¨¤à©€à¨¬à¨¿à©°à¨¬ ਤੇ ਪੈਕੇਜ ਸੂਚੀ ਫਾਇਲ ਨਹੀਂ ਲੱਭ ਸਕੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਸਥਿਤੀ ਠੀਕ ਹੈ।"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ਪਹਿਲਾਂ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਸੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "ਨਵੀਨੀਕਰਨ ਲਈ ਪੈਕੇਜਾਂ ਦੀ ਖੋਜ..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"ਹੇਠਲੇ ਪੈਕੇਜ ਤà©à¨¹à¨¾à¨¡à©‡ ਸਿਸਟਮ ਨਵੀਨੀਕਰਨ ਲਈ ਹਟਾਠਜਾਣਗੇ: %s\n"
+"\n"
+"\n"
+"ਕੀ ਤà©à¨¸à©€à¨‚ ਯਕੀਨਨ ਇਹ ਪੈਕੇਜ ਹਟਾਉਣੇ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "ਫਾਇਲ %s ਪੜਨ ਵਿੱਚ ਗਲਤੀ"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "ਹੇਠਲੀਆਂ ਡਿਸਕਾਂ ਦੇ ਨਾਂ ਤਬਦੀਲ ਕੀਤੇ ਹਨ:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ਪਹਿਲਾਂ %s ਨਾਂ ਸੀ)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "ਨੈੱਟਵਰਕ"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "ਵਿਭਾਗੀਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਰਦਾ-ਤਸਵੀਰ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ਪਰਦਾ-ਤਸਵੀਰਾਂ %s ਵਿੱਚ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਉਪਲੱਬਧ ਹੋਣਗੀਆਂ"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ਸੰਰਚਨਾ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "ਤà©à¨¹à¨¾à¨¨à©‚à©° %s ਵੀ ਫਾਰਮਿਟ ਕਰਨਾ ਜਰੂਰੀ ਹੈ"
+
+#: 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 ""
+"ਤà©à¨¹à¨¾à¨¡à©‡ ਕੰਪਿਊਟਰ ਤੇ ਕà©à¨ ਜੰਤਰ ਲਈ ਕੰਮ ਕਰਨ ਵਾਸਤੇ ``ਮਲਕੀਅਤ'' ਡਰਾਈਵਰ ਦੀ ਲੋੜ ਹੈ।\n"
+"ਤà©à¨¸à©€à¨‚ ਇਹਨਾਂ ਬਾਰੇ ਕà©à¨ ਜਾਣਕਾਰੀ ਇਸ ਤੇ ਲੱਭ ਸਕਦੇ ਹੋ: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ਨੈੱਟਵਰਕ ਚਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ਨੈੱਟਵਰਕ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "ਨਕਲ ਜਾਰੀ ਹੈ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "ਜਰੂਰੀ"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "ਬਹà©à¨¤ ਵਧੀਆ"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ਵਧੀਆ"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ਹੋ ਸਕਦਾ ਹੈ"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀ"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "ਘਾਤਕ ਗਲਤੀ ਆਈ: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d ਇੰਸਟਾਲੇਸ਼ਨ ਸੰਚਾਰ ਅਸਫਲ"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ਦਫਤਰ ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ਦਫਤਰੀ ਪà©à¨°à©‹à¨—ਰਾਮ: ਅੱਖਰਕਾਰ (LibreOffice Writer, Kword), ਸਾਰਣੀਕਾਰ (OpenOffice.org "
+"Calc, Kspread), PDF ਦਰਸ਼ਕ, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "ਖੇਡ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "ਮਨੋਰੰਜਨ ਪà©à¨°à©‹à¨—ਰਾਮ: ਆਰਕੇਡ, ਬੋਰਡ, ਨੀਤੀ, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "ਮਲਟੀਮੀਡੀਆ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "ਸਾਊਂਡ ਅਤੇ ਵੀਡੀਓ ਚਲਾਉਣ/ਸੋਧਣ ਵਾਲੇ ਪà©à¨°à©‹à¨—ਰਾਮ"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "ਇੰਟਰਨੈੱਟ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "ਪੱਤਰ ਅਤੇ ਖਬਰਾਂ ਪੜਨ ਅਤੇ ਭੇਜਣ ਲਈ (mutt, tin..) ਅਤੇ ਵੈਬ à¨à¨¾à¨¤à©€ ਲਈ ਸੰਦਾਂ ਦਾ ਸਮੂਹ"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "ਨੈੱਟਵਰਕ ਕੰਪਿਊਟਰ (ਕਲਾਂਈਟ)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh ਸਮੇਤ ਵੱਖ-ਵੱਖ ਪਰੋਟੋਕਾਲਾਂ ਲਈ ਕਲਾਂਈਟ"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ਤà©à¨¹à¨¾à¨¡à©‡ ਕੰਪਿਊਟਰ ਦੀ ਸੰਰਚਨਾ ਸਾਫ ਕਰਨ ਲਈ ਸੰਦ"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "ਕੰਸੋਲ ਸੰਦ"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ਸੰਪਾਦਕ, ਸ਼ੈੱਲ, ਫਾਇਲ ਸੰਦ, ਟਰਮੀਨਲ"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "ਵਿਕਾਸ"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ਅਤੇ C++ ਵਿਕਾਸ ਲਾਇਬà©à¨°à©‡à¨°à©€à¨†à¨‚, ਪà©à¨°à©‹à¨—ਰਾਮ ਅਤੇ ਸ਼ਾਮਿਲ ਫਾਇਲਾਂ"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ਦਸਤਾਵੇਜ਼"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "ਲੀਨਕਸ ਅਤੇ ਮà©à¨•ਤ ਸਾਫਟਵੇਅਰ ਉੱਪਰ ਕਿਤਾਬਾਂ ਅਤੇ Howto's"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "ਲੀਨਕਸ ਮਿਆਰੀ ਮà©à©±à¨¢à¥¤ ਤੀਜੀ ਪਾਰਟੀ ਕਾਰਜ ਸਹਿਯੋਗ"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "ਵੈਬ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "ਗਰà©à©±à¨ªà¨µà©‡à¨…ਰ"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "ਫਾਇਲਵਾਲ/ਰਾਊਟਰ"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "ਇੰਟਰਨੈੱਟ ਗੇਟਵੇ"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "ਪੱਤਰ/ਖਬਰ"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix ਪੱਤਰ ਸਰਵਰ, Inn ਖਬਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "ਡਾਇਰੈਕਟਰੀ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ਡੋਮੇਨ ਨਾਂ ਅਤੇ ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ਫਾਇਲ ਅਤੇ ਪà©à¨°à¨¿à©°à¨Ÿà¨° ਸ਼ੇਅਰਿੰਗ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS ਸਰਵਰ, ਸਾਂਬਾ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "ਡਾਟਾਬੇਸ "
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL ਅਤੇ MariaDB ਡਾਟਾਬੇਸ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "ਵੈਬ/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "ਪੱਤਰ"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix ਪੱਤਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ਜਾਂ MariaDB ਡਾਟਾਬੇਸ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "ਨੈੱਟਵਰਕ ਕੰਪਿਊਟਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS ਸਰਵਰ, SMB ਸਰਵਰ, ਪਰਾਕਸੀ ਸਰਵਰ, ssh ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "ਗਰਾਫੀਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "ਕੇ ਵਿਹੜਾ ਵਾਤਾਵਰਨ, ਸਾਥੀ ਸੰਦਾਂ ਦੇ ਭੰਡਾਰ ਨਾਲ ਮà©à©±à¨¢à¨²à¨¾ ਗਰਾਫਿਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "ਗਨੋਮ ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "ਉਪਭੋਗੀ-ਅਨà©à¨•ੂਲ ਕਾਰਜ ਸਮੂਹ ਅਤੇ ਵਿਹੜਾ ਸੰਦਾਂ ਨਾਲ ਇੱਕ ਗਰਾਫੀਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "ਹੋਰ ਗਰਾਫੀਕਲ ਵਿਹੜੇ"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ਸਹੂਲਤਾਂ"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin ਰਿਮੋਟ ਸੰਰਚਨਾ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ਨੈੱਟਵਰਕ ਸਹੂਲਤਾਂ/ਪà©à¨°à¨¬à©°à¨§à¨¨"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ਪà©à¨°à¨¬à©°à¨§à¨¨ ਸੰਦ, ਕਾਰਜ ਅਕਾਊਂਟਿੰਗ, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "ਸਰਵਰ ਸੰਰਚਨਾ ਲਈ ਤਖਤੀ"
+
+#: 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 ""
+"ਗਲਤੀ ਹੋਈ ਹੈ, ਪਰ ਮੈਂ ਨਹੀਂ ਜਾਣਦਾ ਕਿ ਇਸ ਦਾ ਕਿਸ ਤਰਾਂ ਪà©à¨°à¨¬à©°à¨§à¨¨ ਕਰਨਾ ਹੈ।\n"
+"ਆਪਣੇ ਖਤਰੇ ਤੇ ਜਾਰੀ ਕਰੋ।"
+
+#: steps.pm:469
+#, 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 ""
+"ਕà©à¨ ਜਰੂਰੀ ਪੈਕੇਜ ਠੀਕ ਤਰਾਂ ਇੰਸਟਾਲ ਨਹੀਂ ਹੋà¨à¥¤\n"
+"ਜਾਂ ਤਾਂ ਤà©à¨¹à¨¾à¨¡à©€ cdrom ਡਰਾਈਵ ਜਾਂ cdrom ਖਰਾਬ ਹੈ।\n"
+"ਇੰਸਟਾਲ ਕੀਤੇ ਕੰਪਿਊਟਰ ਤੇ \"rpm -qpl media/main/*.rpm\" ਵਰਤ ਕੇ cdrom ਦੀ ਜਾਂਚ ਕਰੋ\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ਪਗ਼ `%s' ਸ਼à©à¨°à©‚ ਹੋ ਰਿਹਾ ਹੈ\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> ਇਕਾਈਆਂ ਵਿੱਚ "
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "ਪੈਕੇਜ ਸਮੂਹ ਚੋਣ"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "ਵੱਖ-ਵੱਖ ਪੈਕੇਜ ਚੋਣ"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "ਸਭ ਨਾ-ਚà©à¨£à©‹"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "ਕà©à©±à¨² ਅਕਾਰ: %d / %d ਮੈਬਾ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ਵਰਜਨ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "ਅਕਾਰ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d ਕਿਬਾ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ਖਾਸੀਅਤ:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "ਤà©à¨¸à©€à¨‚ ਇਹ ਪੈਕੇਜ ਚà©à¨£/ਨਾ-ਚà©à¨£ ਨਹੀਂ ਸਕਦੇ"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ਗà©à©°à¨® ਹੋਣ ਕਾਰਨ"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s ਲੋੜ ਪੂਰੀ ਨਾ ਹੋਣ ਕਰਕੇ"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s ਵਰਤੋਂ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s ਰੱਖਣ ਲਈ"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "ਤà©à¨¸à©€à¨‚ ਇਹ ਪੈਕੇਜ ਨਹੀਂ ਚà©à¨£ ਸਕਦੇ ਕਿਉਂਕਿ ਇੱਥੇ ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਥਾਂ ਨਹੀਂ ਹੈ।"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਹਟਾਠਜਾ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "ਇਹ ਲਾਜ਼ਮੀ ਪੈਕੇਜ ਹੈ, ਇਸ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾਈ ਜਾ ਸਕਦੀ"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "ਤà©à¨¸à©€à¨‚ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਹ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ।"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "ਤà©à¨¸à©€à¨‚ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਸ ਦਾ ਨਵੀਨੀਕਰਨ ਜਰੂਰੀ ਹੈ।"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "ਚà©à¨£à©‡ ਪੈਕੇਜ ਸਵੈ ਹੀ ਵਿਖਾਓ"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ਇੰਸਟਾਲ"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ਪੈਕੇਜ ਚੋਣ ਨਵੀਨੀਕਰਨ ਜਾਰੀ ਹੈ"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ਸਾਫਟਵੇਅਰ ਪà©à¨°à¨¬à©°à¨§à¨¨"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚà©à¨£à©‹"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ਸਾਰ"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ਸੰਰਚਨਾ"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ਸੰਰਚਿਤ ਨਹੀਂ"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"ਹੇਠਲੇ ਇੰਸਟਾਲੇਸ਼ਨ ਮਾਧਿਅਨ ਲੱਭੇ ਹਨ।\n"
+"ਜੇ ਤà©à¨¸à©€à¨‚ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕà©à¨ ਛੱਡਣੇ ਚਾਹà©à©°à¨¦à©‡ ਹੋ, ਤà©à¨¸à©€à¨‚ ਹà©à¨£ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ।"
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"ਤà©à¨¹à¨¾à¨¡à©‡ ਕੋਲ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ CDs ਦੇ ਸੰਖੇਪ ਹਾਰਡ ਡਰਾਈਵ ਤੇ ਨਕਲ ਕਰਨ ਦੀ ਚੋਣ ਹੈ।\n"
+"ਇਹ ਫਿਰ ਹਾਰਡ ਡਰਾਈਵ ਤੋਂ ਜਾਰੀ ਕਰੇਗਾ ਅਤੇ ਪੈਕੇਜ ਸਿਸਟਮ ਪੂਰੀ ਤਰਾਂ ਇੰਸਟਾਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਉਪਲੱਬਧ "
+"ਰਹਿਣਗੇ।"
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "ਪੂਰੀ CDs ਨਕਲ ਕਰੋ"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "ਇੱਕ ਗਲਤੀ ਆਈ ਹੈ"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਕੀਬੋਰਡ ਖਾਕਾ ਚà©à¨£à©‹à¥¤"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ਇੰਸਟਾਲ/ਨਵੀਨੀਕਰਨ"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "ਕੀ ਇਹ ਇੰਸਟਾਲ ਜਾਂ ਨਵੀਨੀਕਰਨ ਹੈ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ਇੰਸਟਾਲ ਕਰੋ"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "ਨਵੀਨੀਕਰਨ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s ਲਈ ਇਨਕà©à¨°à¨¿à¨ªà¨¶à¨¨ ਕà©à©°à¨œà©€"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"ਆਪਣੀ Cd-Rom ਤਬਦੀਲ ਕਰੋ!\n"
+"ਕਿਰਪਾ ਕਰਕੇ \"%s\" ਲੇਬਲ ਵਾਲੀ Cd-Rom ਆਪਣੀ ਡਰਾਈਵ ਵਿੱਚ ਪਾਓ ਅਤੇ ਸਮਾਪਤੀ ਤੇ ਠੀਕ ਹੈ ਦਬਾਓ\n"
+"ਜੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਕੋਲ ਇਹ ਨਹੀਂ ਹੈ, ਇਸ Cd-Rom ਤੋਂ ਇੰਸਟਾਲੇਸ਼ਨ ਰੋਕਣ ਲਈ ਰੱਦ ਕਰੋ ਦਬਾਓ।"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "ਗਨੋਮ"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "ਚà©à¨£à¨¿à¨† ਅਕਾਰ ਉਪਲੱਬਧ ਥਾਂ ਨਾਲੋਂ ਜਿਆਦਾ ਹੈ"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "ਇੰਸਟਾਲ ਦੀ ਕਿਸਮ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"ਤà©à¨¸à©€à¨‚ ਪੈਕੇਜਾਂ ਦਾ ਕੋਈ ਸਮੂਹ ਨਹੀਂ ਚà©à¨£à¨¿à¨†à¥¤\n"
+"ਕਿਰਪਾ ਕਰਕੇ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲੇਸ਼ਨ ਚà©à¨£à©‹:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X ਨਾਲ"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "ਮà©à©±à¨¢à¨²à©€ ਦਸਤਾਵੇਜ਼ੀ ਨਾਲ (ਸਿਫਾਰਸ਼ੀ)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ਯਕੀਨਨ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ (ਖਾਸ ਤੌਰ ਤੇ urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ਇੰਸਟਾਲੇਸ਼ਨ ਤਿਆਰੀ ਹੋ ਰਹੀ ਹੈ"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੀ ਹੈ"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ਪੈਕੇਜ ਕà©à¨°à¨®à¨¬à©±à¨§ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ਕਿਸੇ ਤਰਾਂ ਜਾਰੀ ਰੱਖੋ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ਪੋਸਟ-ਇੰਸਟਾਲ ਸੰਰਚਨਾ"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ਨਵਿਨੀਕਰਨ"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "ਮਾਧਿਅਮ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਅਸਫਲ"
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s, %s ਉੱਪਰ"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ਜੰਤਰ"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ਸਾਊਂਡ ਕਾਰਡ"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ਗਰਾਫੀਕਲ ਇੰਟਰਫੇਸ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "ਨੈੱਟਵਰਕ ਤੇ ਇੰਟਰਨੈੱਟ"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ਪਰਾਕਸੀ"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "ਸੰਰਚਿਤ"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "ਸà©à¨°à©±à¨–ਿਆ ਪੱਧਰ"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "ਫਾਇਰਵਾਲ"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ਸਰਗਰਮ"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "ਅਯੋਗ"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "ਤà©à¨¸à©€à¨‚ X ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤਾ। ਕੀ ਤà©à¨¸à©€à¨‚ ਯਕੀਨਨ ਇਸ ਨੂੰ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "ਇਸ ਸà©à¨°à©±à¨–ਿਆ ਪੱਧਰ ਵਿੱਚ, Windows ਭਾਗ ਵਿਚਲੀ ਫਾਇਲਾਂ ਵਰਤਣ ਲਈ ਪà©à¨°à¨¬à©°à¨§à¨• ਨੂੰ ਮਨਾਹੀ ਹੈ।"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ਡਰਾਈਵ %s ਵਿੱਚ ਖਾਲੀ ਫਲਾਪੀ ਪਾਓ"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ਸਵੈ ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾ ਰਿਹਾ ਹੈ..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ਕà©à¨ ਪਗ਼ ਮà©à¨•ੰਮਲ ਨਹੀਂ ਕੀਤੇ।\n"
+"\n"
+"ਕੀ ਤà©à¨¸à©€à¨‚ ਹà©à¨£ ਯਕੀਨਨ ਬਾਹਰ ਜਾਣਾ ਹੈ?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ਮà©à¨¬à¨¾à¨°à¨•ਾਂ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "ਮà©à©œ-ਚਾਲੂ"
+
+#. -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 "ਬੋਲੀ"
+
+#: 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 "ਲਾਈਸੈਂਸ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "ਮਾਊਸ"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ਹਾਰਡ ਡਰਾਈਵ ਖੋਜ"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ਕੀ-ਬੋਰਡ"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ਸà©à¨°à©±à¨–ਿਆ"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ਵਿਭਾਗੀਕਰਨ"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ਉਪਭੋਗੀ"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ਬੂਟ-ਲੋਡਰ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X ਸੰਰਚਨਾ"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ਸਾਰ"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "ਸੇਵਾਵਾਂ"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ਨਵਿਨੀਕਰਨ"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "ਬਾਹਰ"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "ਪà©à¨°à¨¤à¨¿à¨¬à¨¿à©°à¨¬ ਦਾ URL?"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "ਪੈਕੇਜ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਲਈ ਪà©à¨°à¨¤à©€à¨¬à¨¿à©°à¨¬ ਚà©à¨£à©‹"
diff --git a/perl-install/install/share/po/pl.po b/perl-install/install/share/po/pl.po
new file mode 100644
index 000000000..c25205a7b
--- /dev/null
+++ b/perl-install/install/share/po/pl.po
@@ -0,0 +1,1730 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Amazis.net sp. z o.o. - Tomasz Bednarski <tomasz.bednarski@amazis.pl>, 2009
+# Amazis.net sp. z o.o. - Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2008
+# Daniel Napora <napcok@gmail.com>, 2013,2015
+# Maciej Walkowiak <m.walkowiak@computer.org>, 2005
+# Mandriva Poland <biuro@mandriva.pl>, 2006
+# Paweł Jabłoński <pj@linux-mandrake.com>, 2001-2002
+# Szymon Scholz <szymonscholz@gmail.com>, 2016
+# Tomasz Bednarski - Amazis.net <tomasz.bednarski@amazis.pl>, 2007
+# Tomasz Bednarski - Amazis.net <tomasz.bednarski@mandriva.pl>, 2008
+# Tomasz Bednarski <bednarski@skrzynka.pl>, 2005
+# Tomasz Bednarski - Mandriva Poland <tomasz.bednarski@mandriva.pl>, 2006-2007
+# Tomasz Bednarski Mandriva Poland <tomasz.bednarski@mandriva.pl>, 2006
+# Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2005
+# tomek, 2005
+# Szymon Scholz <szymonscholz@gmail.com>, 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Daniel Napora <napcok@gmail.com>\n"
+"Language-Team: Polish (http://www.transifex.com/MageiaLinux/mageia/language/"
+"pl/)\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
+"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
+"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Dołącz do nas!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Uczyń ją swoją!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Twój wybór!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Narzędzia biurowe"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Domowe centrum rozrywki"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Dla dzieci"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Dla rodziny!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Dla developerów!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Dziękujemy!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Bądź wolny!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Czy posiadasz inne dodatkowe nośniki?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Znaleziono następujące nośniki, które zostaną wykorzystane podczas "
+"instalacji: %s.\n"
+"\n"
+"\n"
+"Czy chcesz skonfigurować dodatkowe nośniki instalacyjne?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sieć (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sieć (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sieć (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Konfiguracja NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Wprowadź nazwę komputera i katalog nośnika NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Brak nazwy hosta"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Oznaczenie katalogu musi się zaczynać od znaku \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nazwa komputera udostępniające udziały NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatkowe"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nie można znaleźć listy pakietów na tym serwerze. Sprawdź poprawność "
+"lokalizacji."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Niektóre urządzenia w twoim komputerze wymagają nie-wolnego firmware, aby "
+"wolne sterowniki mogły działać."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Warto włączyć \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" zawiera różne komponenty systemu oraz aplikacje"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" zawiara nie-wolne oprogramowanie.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Zawiera również firmware niezbędne do działania niektórych urządzeń (jak: "
+"niektóre karty ATI/AMD, niektóre karty sieciowe, kontrolery RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" zawiara oprogramowanie, które w niektórych krajach nie może być "
+"dystrybuowane ze względu na patenty."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Zawiera również oprogramowanie z \"%s\" "
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Możesz włączyć więcej nośników jeśli chcesz."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ten nośnik zawiera aktualizacje pakietów dla nośnika \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Wyszukiwanie już zainstalowanych pakietów..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Wyszukiwanie pakietów do uaktualnienia..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Usuwanie pakietów w celu wykonania aktualizacji..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Aby umożliwić aktualizację systemu, usunięte będą następujące pakiety: %s\n"
+"\n"
+"\n"
+"Czy naprawdę chcesz usunąć te pakiety?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Błąd odczytu pliku %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Zmieniono nazwy następujących dysków:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (wcześniejsza nazwa: %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Sieć"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Proszę wybrać nośnik"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Plik już istnieje. Nadpisać?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Dostęp zabroniony"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Niepoprawna nazwa NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Nieprawidłowy nośnik %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nie można pobrać zrzutu ekranu przed partycjonowaniem"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Zrzuty ekranu będą dostępne po instalacji w %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalacja"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguracja"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Należy także sformatować %s"
+
+#: 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 ""
+"Część sprzętu w Twoim komputerze wymaga \"firmowych\" sterowników.\n"
+"Więcej informacji na ten temat uzyskasz z %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Uruchamianie sieci"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zatrzymywanie sieci"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Proszę czekać. Pobieranie pliku"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "dodanie nośnika było niemożliwe"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiowanie wybranych pakietów do późniejszego wykorzystania"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiowanie w toku"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "trzeba posiadać"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "ważny"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "bardzo fajny"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "fajny"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "taki sobie"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Pobieram informacje o pakietach z meta-danych XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Brak pliku z informacjami o programach znajdujących się na nośniku \"%s\". "
+"Wynik dla pakietu %s jest częściowy"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Brak opisu"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Niektóre pakiety wymagane przez %s nie mogą zostać zainstalowane:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Wystąpił błąd:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Wystąpił poważny błąd: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Nie pytaj ponownie"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transakcji instalacyjnych zakończonych niepowodzeniem"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalowanie pakietów nie powiodło się:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Stacja robocza"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Stacja biurowa"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programy biurowe: procesory tekstu (LibreOffice Writer, Kword), arkusze "
+"kalkulacyjne (LibreOffice, Kspread), przeglÄ…darki pdf, itd."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Stacja rozrywkowa (gry)"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programy rozrywkowe: gry przygodowe, planszowe, strategie, itd."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Stacja multimedialna"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy do odtwarzania/edycji dźwięku i obrazu"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Stacja internetowa"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Zestaw narzędzi do odczytu i przesyłania poczty i grup dyskusyjnych (mutt, "
+"tin...) oraz przeglÄ…dania sieci"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Komputer sieciowy (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Programy klienckie dla różnych protokołów włączając ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Narzędzia do łatwego zarządzania komputerem"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Narzędzia konsolowe"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Edytory, powłoki, narzędzia plikowe, terminale"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Programowanie"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteki programistyczne C i C++, programy i pliki nagłówkowe"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacja"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Książki i dokumenty HOWTO o Linuksie i Otwartym Oprogramowaniu"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Obsługa aplikacji firm trzecich"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Serwer WWW"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "System do pracy grupowej"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Serwer Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Zapora sieciowa/router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Bramka internetowa"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Poczta/wiadomości"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serwer pocztowy Postfix, serwer grup Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Serwer katalogowy"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Serwer FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serwer nazw domenowych i informacji sieciowych"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Serwer udostępniania plików i drukarek"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Serwer NFS, serwer Samby"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Baza danych"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Serwer bazodanowy PostgreSQL i MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Poczta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Serwer pocztowy Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Serwer bazodanowy PostgreSQL i MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Serwer sieciowy"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Serwer NIS, serwer SMB, serwer pośrednika, serwer ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Åšrodowisko graficzne"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Stacja Robocza Plazmy"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Środowisko graficzne KDE, podstawowe środowisko graficzne ze zbiorem "
+"narzędzi towarzyszących"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stacja GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Środowisko graficzne z przyjaznym dla użytkownika zbiorem aplikacji i "
+"narzędzi graficznych"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Lekkie środowisko graficzne z przyjaznym dla użytkownika zbiorem aplikacji i "
+"narzędzi graficznych"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Pulpit MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Pulpit Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Åšrodowisko graficzne bazujÄ…ce na Gnome"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Pulpit LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Nowa generacja lekkiego środowiska graficznego przeportowanego na QT"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Lekkie i szybkie środowisko graficzne z przyjaznym dla użytkownika zbiorem "
+"aplikacji i narzędzi graficznych"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Pulpit LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Lekkie i szybkie środowisko graficzne"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Inne środowiska graficzne"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, itd."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Narzędzia"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Serwer SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Serwer konfiguracji zdalnej Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Narzędzia sieciowe/monitorowanie"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Narzędzia do monitorowania, księgowania procesów, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Druidy Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Druidy do konfiguracji serwera"
+
+#: 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 ""
+"Wystąpił jakiś błąd i nie wiadomo, jak poprawnie go obsłużyć.\n"
+"Kontynuuj na własną odpowiedzialność."
+
+#: steps.pm:469
+#, 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 ""
+"Pewne istotne pakiety nie zostały poprawnie zainstalowane.\n"
+"Prawdopodobnie uszkodzona jest płyta lub napęd CDROM.\n"
+"Sprawdź płytę w innym komputerze używając polecenia:\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "PrzechodzÄ™ do kroku `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalacja %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pomiędzy elementami"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Serwer Xorg rozpoczyna działanie. Proszę czekać..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"System ma mało zasobów. Mogą wystąpić problemy z instalacją\n"
+"%s. Jeśli tak się dzieje, spróbuj instalacji w trybie tekstowym.\n"
+"Aby tak zrobić, naciśnij F1 podczas startu z CD i wpisz 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Wybór nośników"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Zainstaluj %s Pulpit Plazmy"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Zainstaluj środowisko graficzne %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalacja dowolna"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Pulpit Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Pulpit GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Dowolny pulpit"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "PrzeglÄ…d pulpitu '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kliknij obrazek, aby zobaczyć większy podgląd"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Wybór grup pakietów"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Samodzielny wybór pakietów"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Odznacz wszystko"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Rozmiar: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Wersja: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Rozmiar: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Ważność: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Nie można zmienić statusu tego pakietu"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "z powodu brakujÄ…cego %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "na skutek niespełnienia %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "próba aktualizacji wersji %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "w celu utrzymania %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Nie możesz wybrać tego pakietu. Nie ma już miejsca, by go zainstalować"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Zostaną zainstalowane następujące pakiety"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Zostaną usunięte następujące pakiety"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ten pakiet jest wymagany, nie można go pominąć"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nie można odznaczyć tego pakietu. Został już zainstalowany"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Nie można odznaczyć tego pakietu. Musi zostać zaktualizowany"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Pokaż automatycznie wybrane pakiety"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Zainstaluj"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Wczytanie/Zapis zaznaczenia"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Uaktualnianie listy wybranych pakietów"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacja"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ZarzÄ…dzanie oprogramowaniem"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Wybierz pakiety do zainstalowania"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalowanie"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Bez szczegółów"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Pozostały czas:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(szacowanie...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "pakiet"
+msgstr[1] "%d pakietów"
+msgstr[2] "%d pakietów"
+msgstr[3] "%d pakietów"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Różne"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfiguruj"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nie skonfigurowano"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Znaleziono poniższe nośniki instalacyjne.\n"
+"Jeśli chcesz pominąć któreś z nich, możesz je teraz odznaczyć."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Istnieje możliwość skopiowania przed instalacją zawartości płyt CD na dysk "
+"twardy.\n"
+"Instalacja będzie kontynuowana z dysku twardego a skopiowane pakiety będą "
+"dostępne po zakończeniu instalacji."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Skopiuj wszystkie płyty CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Wystąpił błąd"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Wybierz układ klawiatury"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Oto pełna lista dostępnych klawiatur:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalacja/Uaktualnienie"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Czy to instalacja czy uaktualnienie?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Zainstaluj"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uaktualnienie %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Klucz szyfrujÄ…cy dla %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Anuluj instalacjÄ™, uruchom komputer ponownie"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nowa instalacja"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Zaktualizuj istniejÄ…cÄ… instalacjÄ™ (nie zalecane)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalator wykrył, że obecna instalacja systemu Mageia nie może\n"
+"zostać bezpiecznie zaktualizowana do wersji %s.\n"
+"\n"
+"Zalecana jest nowa instalacja, która zastąpi poprzednią.\n"
+"\n"
+"Uwaga: wykonaj kopie wszystkich osobistych plików zanim wybierzesz\n"
+"opcjÄ™ \"Nowa instalacja\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfiguracja CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Zmień płytę CD!\n"
+"\n"
+"Włóż płytę \"%s\" do napędu i naciśnij Ok. Jeśli jej nie posiadasz, naciśnij "
+"Anuluj, aby pominąć instalację pakietów z tej płyty."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Wyszukiwanie dostępnych pakietów..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Za mało miejsca na dysku dla przeprowadzenia instalacji lub aktualizacji "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Wybierz odczyt lub zapis listy wybranych pakietów.\n"
+"Format jest identyczny z dyskiem automatycznej\n"
+"instalacji."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Wczytaj"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Zapisz"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Nieprawidłowy plik"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plazma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Wybór pulpitu"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Możesz wybrać profil swojego pulpitu: "
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Wybrany rozmiar przekracza dostępne miejsce"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Typ instalacji"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nie wybrano żadnej grupy pakietów.\n"
+"Wybierz minimalną żądaną instalację:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Z X Window"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Zainstaluj sugerowane pakiety"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Z podstawowÄ… dokumentacjÄ… (zalecane!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Naprawdę minimalna instalacja (w szczególności bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Przygotowywanie aktualizacji..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Przygotowywanie instalacji"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalowanie pakietu %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Wystąpił błąd porządkowania pakietów:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kontynuować?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ponów próbę"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Pomiń ten pakiet"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Pomiń wszystkie pakiety z nośnika \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Wróć do wyboru nośników i pakietów"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Wystąpił błąd podczas instalowania pakietu %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfiguracja poinstalacyjna"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Upewnij się, że nośnik Update Modules znajduje się w napędzie %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aktualizacje"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Teraz masz okazję zainstalować media online."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "To pozwala zainstalować aktualizacje bezpieczeństwa."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"By zainstalować te media, potrzebujesz sprawnego połączenia \n"
+"internetowego.\n"
+"Czy chcesz zainstalować aktualizację tych mediów?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Zostaną zainstalowane następujące pakiety"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Ponowić próbę?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Niepowodzenie podczas dodawania nośnika"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Masz teraz możliwość pobrania zaktualizowanych pakietów, które\n"
+"zostały wydane po udostępnieniu dystrybucji. Mogą zawierać one poprawki\n"
+"poprawiające poziom bezpieczeństwa lub naprawiające błędy.\n"
+"\n"
+"Aby pobrać te pakiety, wymagane jest połączenie internetowe.\n"
+"\n"
+"Czy chcesz zainstalować uaktualnienia ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Sprzęt"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Karta dźwiękowa"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfejs graficzny"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Sieć i Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Serwery pośredniczące"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "skonfigurowano"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Poziom bezpieczeństwa"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Zapora sieciowa"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktywowano"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "wyłączono"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nie masz skonfigurowanego systemu X Window. Czy na pewno chcesz tego?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Przygotowywanie programu rozruchowego..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Proszę o cierpliwość, to może potrwać chwilę..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"W tym poziomie zabezpieczeń, dostęp do plików na partycji Windows jest "
+"ograniczony do administratora."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Włóż pustą dyskietkę do stacji %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Tworzenie dyskietki automatycznej instalacji..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Pewne etapy instalacji nie zostały zakończone\n"
+"\n"
+"Czy na pewno chcesz teraz zakończyć?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulacje"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Uruchom ponownie"
+
+#. -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 "Wybór języka"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalizacja"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencja"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mysz"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Wykrywanie dysków"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Rodzaj instalacji"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klawiatura"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bezpieczeństwo"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partycjonowanie"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatowanie"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Wybór pakietów"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalowanie"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Użytkownicy"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Program rozruchowy"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguracja X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Różne"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Usługi"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizacje"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Wyjdź"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Adres URL dla serwera zwierciadlanego?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Adres URL musi zaczynać się od ftp:// lub http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "ÅÄ…czenie ze stronÄ… %s w celu pobrania listy dostÄ™pnych serwerów..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr "ÅÄ…czenie ze stronÄ… %s w celu pobrania listy dostÄ™pnych serwerów"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Wybierz serwer lustrzany, z którego chcesz pobrać pakiety"
diff --git a/perl-install/install/share/po/pt.po b/perl-install/install/share/po/pt.po
new file mode 100644
index 000000000..5989bc4f2
--- /dev/null
+++ b/perl-install/install/share/po/pt.po
@@ -0,0 +1,1717 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# alfalb_mansil, 2014
+# fc2d9c36d73e741383fbbf46a4aac49f_013445b, 2014
+# Fernando Moreira <fmoreira@netc.pt>, 1999
+# Jorge Costa <Jorgercosta@netc.pt>, 2001
+# Jose Carlos D. S. Saraiva <jose.d.s.saraiva@clix.pt>, 2004
+# zecas <jjorge@free.fr>, 2003-2005
+# José JORGE <jose.jorge@oreka.com>, 2002-2003
+# 425fe09b3064b9f906f637fff94056ae_a00ea56 <0fa3588fa89906bfcb3a354600956e0e_308047>, 2015
+# Manuela Silva <mmsrs@sky.com>, 2020
+# Manuela Silva <mmsrs@sky.com>, 2013-2016
+# Manuela Silva <mmsrs@sky.com>, 2021,2023
+# MMSRS, 2015
+# 425fe09b3064b9f906f637fff94056ae_a00ea56 <0fa3588fa89906bfcb3a354600956e0e_308047>, 2015
+# Pedro <simplew8@gmail.com>, 2012
+# Rui <xymarior@yandex.com>, 2018-2019
+# Sérgio Marques <smarquespt@gmail.com>, 2019
+# Zé <ze@mandriva.org>, 2004-2006,2008,2010-2012
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Manuela Silva <mmsrs@sky.com>, 2021,2023\n"
+"Language-Team: Portuguese (http://app.transifex.com/MageiaLinux/mageia/"
+"language/pt/)\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Junte-se a Nós!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Torne-o seu!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "A sua escolha!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ferramentas de Escritório"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Entretenimento em Casa"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Para os miúdos!"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Para a família!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Para os responsáveis pelo desenvolvimento!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Obrigado!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Seja livre!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Tem mais alguma média suplementar?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"A seguinte média foi encontrada e será usada durante a instalação: %s.\n"
+"\n"
+"\n"
+"Tem alguma média de instalação suplementar para configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuração NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Por favor indique o nome da máquina e o directório da sua média NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Nome da máquina em falta"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "O directório deve começar por \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nome da máquina da montagem NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directório"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Suplementar"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Não é possível encontrar o ficheiro hdlist neste espelho. Certifique-se que "
+"a localização está correcta."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Lançamento 'Core'"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Lançamento 'Tainted'"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Lançamento 'Nonfree'"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Algum ''hardware'' na sua máquina precisa de ''firmwares'' proprietários "
+"para que os controladores de programas livres funcionem."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Deverá ativar \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" contém as várias partes do seu sistema e das suas aplicações"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" contém programas proprietários.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Também contém 'firmware' necessário para que alguns dispositivos funcionem "
+"(exemplo: algumas placas gráficas ATI/AMD, algumas placas de rede, algumas "
+"placas RAID...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" contém programas que não pode ser distribuídos em alguns países "
+"devido às patentes existentes."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Também contém programas de \"%s\", recriado com capacidades adicionais."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Se desejar, pode ativar aqui mais fontes."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Este disco disponibiliza as atualizações do pacote para \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "A verificar os pacotes já instalados..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "A procurar pacotes para actualizar..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "A remover pacotes antes de actualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Os seguintes pacotes serão removidos para poder actualizar o seu sistema: "
+"%s\n"
+"\n"
+"\n"
+"Deseja realmente remover estes pacotes ?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erro ao ler o ficheiro %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Os seguintes discos foram renomeados:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (anteriormente conhecido por %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Por favor escolha uma fonte"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O ficheiro já existe. Deseja substituir o ficheiro?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS inválido"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Fonte inválida %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Não é possível capturar imagens do ecrã antes de particionar"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As capturas de ecrã estarão disponíveis após instalar em %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalação"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuração"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Deve também formatar %s"
+
+#: 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 ""
+"Algum material no seu computador precisa de controladores ``proprietários''\n"
+"para funcionar. Pode encontrar mais informações em: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "A ligar rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "A desligar rede"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Por favor aguarde, estamos a obter o ficheiro"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "não foi possível adicionar a fonte"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "A copiar alguns pacotes no disco para uso futuro"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Cópia em progresso"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "recomendado"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "muito bom"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bom"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "talvez"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "A obter informação do pacote nos meta-dados XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Não há informação xml da fonte \"%s\", apenas um resultado parcial do pacote "
+"%s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nenhuma descrição"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Alguns pacotes pedidos por %s não podem ser instalados:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ocorreu um erro:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ocorreu um erro fatal: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Não voltar a perguntar"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transacções de instalação falhadas"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalação dos pacotes falhada:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estação de Trabalho"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Estação de Trabalho de Escritório"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas Office: processadores de texto (LibreOffice Writer, Kword), folhas "
+"de cálculo (LibreOffice Calc, Kspread), visualizadores PDF, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Estação de Jogo"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de divertimento: arcada, tabuleiros, estratégia, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Estação multimédia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Aplicações de reprodução/edição de som e vídeo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Estação internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de ferramentas para ler e enviar ''e-mail'' e notícias (mutt, "
+"tin...) e para explorar a Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computador de Rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos incluindo ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilitar a configuração do seu computador"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de Consola"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+"Editores, Linha de Comandos (shell), ferramentas de ficheiros, terminais"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desenvolvimento"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C e C++ bibliotecas de programação, programas e ficheiros 'include'"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentação"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "\"Livros e Como\" sobre o Linux e Programas Livres"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Base Padrão do Linux (LSB). Suporte a aplicações terceiras."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Correio/Noticias"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de ''e-mail'' Postfix , servidor de noticias Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de Directório"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nome do Domínio e Servidor de Informação da Rede"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de Partilhas de Ficheiros e Impressão"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, Servidor Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Base de Dados"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servidores de base de dados - PostgreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Correio Electrónico"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correio electrónico Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servidores de base de dados - PostgreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor/Computador de Rede"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor proxy, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente gráfico"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma Workstation"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, ambiente gráfico com uma coleção de ferramentas de "
+"acompanhamento"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Ambiente gráfico com um conjunto de aplicações e ferramentas de alta "
+"qualidade"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce Workstation"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Ambiente gráfico mais leve com um conjunto de aplicações e ferramentas "
+"simples"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Estação de Trabalho MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Estação de Trabalho Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Um ambiente gráfico baseado no GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Estação de trabalho LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Ambiente gráfico leve, criado para a próxima geração de Qt"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Estação de trabalho Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Ambiente gráfico leve e rápido com seguidores dedicados"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Ecrâ LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Ambiente gráfico rápido e leve"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros Ambientes Gráficos"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuração Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilidades de Rede/Monitorização"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Monitorização de ferramentas, contabilidade de processos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Assistentes Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistentes para configurar o servidor"
+
+#: 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 ""
+"Ocorreu um erro e não nos é possível determinar como o corrigir.\n"
+"Pode continuar, mas poderão surgir problemas."
+
+#: steps.pm:469
+#, 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 ""
+"Alguns pacotes importantes não foram devidamente instalados.\n"
+"Pode ser que exista algum problema com o CD ou com a unidade.\n"
+"Verifique se existem erros no CD, executando o comando \"rpm -qpl media/main/"
+"*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "A entrar na etapa '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalação %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "O servidor Xorg está a demorar para iniciar. Por favor aguarde..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"O seu sistema tem poucos recursos. Pode encontrar problemas ao tentar "
+"instalar %s.\n"
+"Se isso ocorrer, pode tentar uma instalação em modo texto.\n"
+"Para isso, prima 'F1' ao arrancar do CD e depois digite 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Seleção de fonte"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalar Plasma Desktop %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalar GNOME Desktop %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalação personalizada"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma Desktop"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME Desktop"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Ecrâ Personalizado"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Aqui está uma pré-visualização do ecrã '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Clique nas imagens para ver uma previsão maior."
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selecção dos Grupos de Pacotes"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selecção individual de pacotes"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Desmarcar Tudo"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamanho total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versão: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamanho: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importância: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Não pode seleccionar/desseleccionar este pacote"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "porque %s está em falta"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "porque %s não foi satisfeito"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "a tentar promover %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "para manter %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Não pode selecionar este pacote porque não existe espaço suficiente para o "
+"instalar"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Os seguintes pacotes irão ser instalados"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Os seguintes pacotes irão ser removidos"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Este é um pacote obrigatório e não pode ser desmarcado"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Não pode desmarcar este pacote. Já se encontra instalado."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Não pode desmarcar este pacote. Tem que ser atualizado."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar pacotes selecionados automaticamente"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carregar/Gravar selecção"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "A atualizar seleção de pacotes"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Alternar entre a lista de pacotes hierárquicos e planos"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalação mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gestão de Programas"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolha os pacotes que deseja instalar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalação"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sem detalhes"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tempo restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(a estimar...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacote"
+msgstr[1] "%d pacotes"
+msgstr[2] "%d pacotes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sumário"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "não configurado"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"As seguintes fontes de instalação foram encontrada.\n"
+"Se quer evitar alguma, pode desmarcá-la agora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Tem a opção de copiar o conteúdo do CD para o disco rígido antes da "
+"instalação.\n"
+"Continuará a partir do disco rígido e os pacotes permanecerão disponíveis "
+"assim que o sistema estiver instalado."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar CDs inteiros"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu um erro"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Por favor escolha o tipo de teclado"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Aqui está a lista completa dos teclados disponíveis:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Actualizar"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Isto é uma instalação ou uma actualização?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalar"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Senha de encriptação para %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancelar instalação, reiniciar o sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova Instalação"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Actualizar instalação anterior (não recomendado)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"O instalador detetou que o seu sistema Linux instalado não pode\n"
+"ser atualizado com segurança para %s.\n"
+"\n"
+"Recomenda-se que substitua a sua instalação anterior.\n"
+"\n"
+"Aviso: deve efetuar uma cópia de segurança de todos os seus dados pessoais "
+"antes de escolher \"Nova instalação\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "A configurar CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Mude o seu CD!\n"
+"Por favor, insira o Cd-Rom \"%s\" na sua unidade e clique em \"Ok\".\n"
+"Se não tiver este CD, clique em \"Cancelar\" para evitar a instalação a "
+"partir deste Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Está à procura de pacotes disponíveis..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"O seu sistema não tem espaço suficiente em disco para instalar ou atualizar "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Por favor escolha carregar ou guardar a seleção de pacotes.\n"
+"O formato é o mesmo dos ficheiros gerados por auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Carregar"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Gravar"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ficheiro danificado"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selecção de Ecrã"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Pode escolher o seu perfil de ambiente de trabalho."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamanho selecionado é maior do que o espaço disponível"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalação"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Não escolheu qualquer grupo de pacotes.\n"
+"Por favor escolha o tipo de instalação mínima que deseja:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Com X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalar os pacotes recomendados "
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Com documentação básica (recomendado!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalação mínima (especialmente sem urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "A preparar a atualização ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "A preparar instalação"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "A instalar o pacote %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ocorreu um erro ao ordenar os pacotes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Continuar mesmo assim?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Tentar novamente"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Saltar este pacote"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Ignorar todos os pacotes da fonte \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Voltar à média e selecção de pacotes"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Ocorreu um erro ao instalar o pacote %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuração pós-instalação"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Por favor certifique-se de que a fonte Módulos de atualização está no "
+"dispositivo %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Actualizações"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Agora tem oportunidade de configurar uma fonte online."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Isto permite instalar as atualizações de segurança."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Para configurar estas fontes, terá de ter uma ligação \n"
+"à Internet a funcionar.\n"
+"\n"
+"Deseja configurar uma fonte de atualização?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Esse downloader não pôde ser instalado"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Repetir?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Falha ao adicionar a fonte"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Agora, tem a possibilidade de transferir os pacotes de atualização.\n"
+"Estes pacotes foram atualizados depois do lançamento da distribuição.\n"
+"Estes podem ter correções de segurança ou de erros.\n"
+"\n"
+"Para transferir estes pacotes, precisará de uma ligação à Internet.\n"
+"\n"
+"Deseja instalar as atualizações?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s em %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Material"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Placa de Som"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface gráfico"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede e Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nível de Segurança"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "desactivado"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Não configurou o X. Tem certeza que deseja fazer isto?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "A preparar o programa inicial de arranque..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Seja paciente, isto pode demorar algum tempo..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Neste nível de segurança, o acesso aos ficheiros na partição Windows está "
+"limitado ao administrador."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira uma disquete vazia no dispositivo %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "A criar disquete de auto-instalação..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Algumas etapas não foram concluídas.\n"
+"\n"
+"Deseja mesmo sair agora?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Parabéns"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#. -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 "Idioma"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Tradução"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licença"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Rato"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecção de discos rígidos"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe da instalação"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurança"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionamento"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatação"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Escolha de pacotes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalação"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilizadores"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Arranque"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configuração X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sumário"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviços"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizações"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
diff --git a/perl-install/install/share/po/pt_BR.po b/perl-install/install/share/po/pt_BR.po
new file mode 100644
index 000000000..26c679fb7
--- /dev/null
+++ b/perl-install/install/share/po/pt_BR.po
@@ -0,0 +1,1717 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Andrei Bosco Bezerra Torres <andrei_bosco@yahoo.com.br>, 2000,2003
+# Arthur Renato Mello <renato@conectiva.com.br>, 2005
+# Arthur R. Mello <renato@conectiva.com.br>, 2005
+# Bruno Dorfman Buys <brunobuys@zipmail.com.br>, 2002
+# Carlinhos Cecconi <carlinux@terra.com.br>, 2003-2004
+# Cristiano Otto Von Trompczynski <cris@mandriva.com>, 2005
+# Deivi Lopes Kuhn <deivikuhn@yahoo.com.br>, 2003-2004
+# Felipe Arruda <felipemiguel@gmail.com>, 2006-2008
+# Gilberto F. da Silva, 2022-2023
+# 3f37d448649cd548fa5a733e33387c2a_dee4ccf, 2014-2019
+# Michael Martins, 2017
+# Michael Martins, 2017,2019,2024
+# Michael Martins, 2019,2024
+# Ricardo de Castilho <cast_brasil@ig.com.br>, 2003
+# Sergio Rafael Lemke <sergio@mandriva.com.br>, 2009-2010
+# Tiago da Cruz Bezerra <tiagocruz18@uol.com.br>,2002 2003, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Tiago da Cruz Bezerra <tiagocruz18@uol.com.br>,2002 2003, "
+"2004\n"
+"Language-Team: Portuguese (Brazil) (http://app.transifex.com/MageiaLinux/"
+"mageia/language/pt_BR/)\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
+"1000000 == 0 ? 1 : 2;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Junte-se a nós!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Faça do seu jeito!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Sua escolha!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ferramentas de escritório"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Entretenimento doméstico"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Para as crianças"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Para a família!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Para os desenvolvedores!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Obrigado!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Seja livre!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Tem mais mídias adicionais?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"As seguintes mídias foram encontradas e serão usadas durante a instalação: "
+"%s.\n"
+"\n"
+"\n"
+"Tem alguma mídia de instalação adicional para configurar?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configuração NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Insira o nome do host e o diretório de suas mídias NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Nome do host ausente"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "O diretório deve começar com \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nome do host da montagem NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Diretório"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Adicional"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Não foi possível encontrar um arquivo de lista de pacotes neste espelho. "
+"Certifique-se de que o local esteja correto."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Alguns componentes de hardware em sua máquina necessitam de firmwares não "
+"livres para que os drivers de software livre funcionem."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Você deve ativar \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" contém as várias partes dos sistemas e suas aplicações"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" contém software não livre.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Ela também contém firmwares necessários para o funcionamento de certos "
+"dispositivos (por exemplo: algumas placas de vídeo ATI/AMD, algumas placas "
+"de rede, algumas placas RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" contém software que não pode ser distribuído em todos os países "
+"devido a patentes de software."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Ela também contém software de reconstrução de \"%s\" com recursos adicionais."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Aqui você pode ativar mais mídias, se quiser."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Essa mídia fornece atualizações de pacotes para a mídia \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Verificando pacotes já instalados..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Encontrando pacotes para atualizar..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Removendo pacotes antes da atualização..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Os seguintes pacotes serão removidos para permitir a atualização do seu "
+"sistema: %s\n"
+"\n"
+"\n"
+"Deseja realmente remover estes pacotes?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erro ao ler o arquivo %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "O(s) seguinte(s) disco(s) foi(ram) renomeado(s):"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (anteriormente chamado de %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Escolha uma mídia"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O arquivo já existe. Sobrescrevê-lo?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS incorreto"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Mídia %s ruim"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Não é possível fazer capturas de tela antes do particionamento"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As capturas de tela estarão disponíveis após a instalação em %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalação"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuração"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Você também deve formatar %s"
+
+#: 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 ""
+"Alguns hardwares em seu computador precisam de drivers ``proprietários'' "
+"para funcionar.\n"
+"Você pode encontrar algumas informações sobre eles em: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Abrindo a rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Derrubando a rede"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Aguarde, baixando arquivo"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "não foi possível adicionar a mídia"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copiando alguns pacotes em discos para uso futuro"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Cópia em andamento"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "deve ter"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "muito bom"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "bom"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "talvez"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Obtendo informações do pacote a partir dos metadados XML ..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Nenhuma informação xml para a mídia \"%s\", apenas resultado\n"
+"parcial para o pacote %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Sem descrição"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Alguns pacotes solicitados por %s não podem ser instalados:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ocorreu um erro:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ocorreu um erro fatal: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Não pergunte novamente"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transações de instalação falharam"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Falha na instalação dos pacotes:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Estação de trabalho"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Escritório"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de escritório: processadores de texto (LibreOffice Writer, Kword), "
+"planilhas (LibreOffice Calc, Kspread), visualizadores de PDF, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Jogos"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de diversão: arcade, tabuleiros, estratégia, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimídia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de reprodução/edição de som e vídeo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de ferramentas para ler e enviar email e notícias (mutt, tin...) e "
+"para navegar na web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computador de rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos, incluindo ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilitar a configuração de seu computador"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de console"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, shells, ferramentas de arquivos, terminais"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Desenvolvimento"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibliotecas de desenvolvimento C e C++, programas e arquivos incluídos"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentação"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Livros e tutoriais sobre Linux e Software Livre"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Suporte a aplicativos de terceiros"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Servidor web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/roteador"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway de internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Email/notícias"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de email Postfix, servidor de notícias Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de diretórios"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de nome de domínio e informações de rede"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de compartilhamento de arquivos e impressoras"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Banco de dados"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Servidor de banco de dados PostgreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Email"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de email Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Servidor de banco de dados PostgreSQL ou MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor de computador de rede"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor proxy, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente gráfico"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"O K Desktop Environment, o ambiente gráfico básico com uma coleção de "
+"ferramentas que o acompanham"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Um ambiente gráfico com um conjunto de aplicativos e ferramentas de desktop "
+"amigáveis ao usuário"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Um ambiente gráfico mais leve com um conjunto de aplicativos e ferramentas "
+"de desktop amigáveis ao usuário"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Um ambiente gráfico baseado em GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Desktop LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"A próxima geração do ambiente de desktop leve do Mageia Linux, totalmente "
+"reescrito em Qt"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Desktop Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Um ambiente gráfico leve e rápido com seguidores dedicados"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Desktop LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Um ambiente gráfico leve e rápido"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros desktops gráficos"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitários"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de configuração remota Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitários de rede/monitoramento"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Ferramentas de monitoramento, contabilidade de processos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Assistentes Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistentes para configurar o servidor"
+
+#: 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 ""
+"Ocorreu um erro, mas não sei como lidar com isso de forma adequada.\n"
+"Continue por sua conta e risco."
+
+#: steps.pm:469
+#, 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 ""
+"Alguns pacotes importantes não foram instalados corretamente.\n"
+"Ou sua unidade de cdrom ou seu cdrom está com defeito.\n"
+"Verifique o cdrom em um computador usando \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Entrando na etapa `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalação %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "O servidor Xorg está lento para iniciar. Aguarde..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Seu sistema está com poucos recursos. Você pode ter algum problema para\n"
+"instalar %s. Se isso ocorrer, você pode tentar uma instalação\n"
+"de texto. Para isso, pressione `F1' ao inicializar no CDROM e digite `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Seleção de mídias"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalar o desktop Plasma %s"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalar o desktop GNOME %s"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalação personalizada"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Desktop Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Desktop GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Desktop personalizado"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Aqui está uma prévia do desktop '%s'."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Clique nas imagens para ver uma pré-visualização maior"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Seleção de grupo de pacotes"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Seleção de pacote individual"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Desmarcar tudo"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamanho total: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versão: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Tamanho: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importância: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Você não pode selecionar/desmarcar este pacote"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "devido à falta de %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "devido a %s não satisfeito"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "tentando promover %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "para manter %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Você não pode selecionar este pacote porque não há espaço suficiente para "
+"instalá-lo"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Os seguintes pacotes serão instalados"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Os seguintes pacotes serão removidos"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Esse é um pacote obrigatório, não pode ser desmarcado"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Você não pode desmarcar este pacote. Ele já está instalado"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Você não pode desmarcar este pacote. Ele deve ser atualizado"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar pacotes selecionados automaticamente"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carregar/salvar seleção"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Atualizando a seleção de pacotes"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Alternar entre a lista de pacotes hierárquica e plana"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalação mínima"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gerenciamento de software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolha os pacotes que deseja instalar"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Sem detalhes"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tempo restante:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(estimando...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacote"
+msgstr[1] "%d pacotes"
+msgstr[2] "%d pacotes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Resumo"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "não configurado"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"As seguintes mídias de instalação foram encontradas.\n"
+"Se quiser pular algumas delas, pode desmarcá-las agora."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Você tem a opção de copiar o conteúdo dos CDs para o disco rígido antes da "
+"instalação.\n"
+"Ele continua a partir do disco rígido e os pacotes permanecem disponíveis "
+"quando o sistema estiver totalmente instalado."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar CDs inteiros"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu um erro"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Escolha o layout do seu teclado"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Aqui está a lista completa de teclados disponíveis:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/atualizar"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Isso é uma instalação ou uma atualização?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalação"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Atualizar %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Chave de criptografia para %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Cancelar a instalação, reiniciar o sistema"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova instalação"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Atualizar a instalação anterior (não recomendado)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"O instalador detectou que seu sistema Linux instalado não pode\n"
+"ser atualizado com segurança para %s.\n"
+"\n"
+"É recomendada uma nova instalação substituindo a anterior.\n"
+"\n"
+"Atenção: você deve fazer backup de todos os seus dados pessoais\n"
+"antes de escolher \"Nova instalação\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Configurando o CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Troque seu Cd-Rom!\n"
+"Insira o Cd-Rom chamado \"%s\" em sua unidade e pressione\n"
+"Ok quando terminar.\n"
+"Se não tiver, pressione Cancelar para evitar a instalação deste Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Procurando pacotes disponíveis..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Seu sistema não tem espaço suficiente para instalação ou atualização (%dMB > "
+"%dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Escolha carregar ou salvar seleção de pacote.\n"
+"O formato é o mesmo dos arquivos gerados pelo auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Carregar"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Salvar"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Arquivo ruim"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Seleção de desktop"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Você pode escolher o perfil de desktop de sua estação de trabalho."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamanho selecionado é maior que o espaço disponível"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalação"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Você não selecionou nenhum grupo de pacotes.\n"
+"Escolha a instalação mínima desejada:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Com X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalar pacotes recomendados"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Com documentação básica (recomendado!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalação realmente mínima (especialmente sem urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Preparando atualização..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando a instalação"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalando o pacote %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ocorreu um erro ao solicitar os pacotes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Continuar mesmo assim?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Tentar novamente"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Pular este pacote"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Pular todos os pacotes da mídia \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Voltar para a seleção de mídia e pacotes"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Ocorreu um erro ao instalar o pacote %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuração pós-instalação"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Certifique-se de que as mídias dos módulos de atualização estejam na unidade "
+"%s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Atualizações"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Agora você tem a oportunidade de configurar as mídias online."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Isso permite instalar atualizações de segurança."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Para configurar essas mídias, você precisa estar conectado à internet.\n"
+"\n"
+"Deseja configurar as mídias de atualização?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Esse gerenciador de downloads não pôde ser instalado"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Tentar novamente ?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Falha ao adicionar a mídia"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Agora você tem a oportunidade de baixar pacotes atualizados. Esses\n"
+"pacotes foram atualizados após o lançamento da distribuição.\n"
+"Eles podem conter correções de segurança ou bugs.\n"
+"\n"
+"Para baixar esses pacotes, você precisar estar conectado à internet.\n"
+"\n"
+"Deseja instalar as atualizações?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s em %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Placa de som"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface gráfica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede & internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nível de segurança"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ativado"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "desativado"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Você não configurou o X. Tem certeza de que realmente deseja isso?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Preparando o programa de inicialização..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Seja paciente, isso pode demorar um pouco..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Neste nível de segurança, o acesso aos arquivos na partição do Windows é "
+"restrito ao administrador."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira um disquete virgem na unidade %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Criando o disquete de instalação automática..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Algumas etapas não foram concluídas.\n"
+"\n"
+"Deseja realmente sair agora?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Parabéns"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#. -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 "Idioma"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Idioma"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licença"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecção de disco rígido"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe de instalação"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurança"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionamento"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatação"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Escolha de pacotes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalação"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuários"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Gerenciador de inicialização"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurar o X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumo"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviços"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atualizações"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
diff --git a/perl-install/install/share/po/ro.po b/perl-install/install/share/po/ro.po
new file mode 100644
index 000000000..e930d0dbe
--- /dev/null
+++ b/perl-install/install/share/po/ro.po
@@ -0,0 +1,1725 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Dan <djmarian4u@hotmail.com>, 2016
+# Florin Cătălin RUSSEN <cfrussen@yahoo.co.uk>, 2013-2015
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Dan <djmarian4u@hotmail.com>\n"
+"Language-Team: Romanian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/ro/)\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Alăturați-vă nouă!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Personalizați după plac!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Alegerea voastră!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Unelte de birotică"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Divertisment"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Pentru copii"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Pentru întreaga familie!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Pentru dezvoltatori!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Vă mulțumim!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Fiți liberi!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Mai aveți și alte medii suplimentare?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Următoarele medii au fost găsite și vor fi utilizate în timpul instalării: "
+"%s.\n"
+"\n"
+"\n"
+"Aveți un mediu de instalare suplimentar pe care doriți să-l configurați?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rețea (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rețea (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rețea (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Configurare NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Introduceți numele gazdei și directorului mediului NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Lipsește numele gazdei"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Directorul trebuie să înceapă cu \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Numele de gazdă al montajului NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Director"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Suplimentar"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nu s-a găsit lista de pachete pe acest server alternativ. Asigurați-vă că "
+"adresa este corectă."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Ediția de bază"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Ediția nuanțată"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Ediția proprietară"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Anumite componente materiale din configurația de față necesită un microcod "
+"proprietar pentru funcționarea corectă a piloților."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Ar trebui să activaÈ›i „%sâ€"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "„%s†conține diverse părți din sistem și aplicațiile sale"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "„%s†conține aplicații proprietare.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Conține și microcod necesar pentru buna funcționare a anumitor dispozitive "
+"(ex: unele plăci grafice ATI/AMD, unele plăci de rețea, unele plăci "
+"RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"„%s†conține aplicații care nu pot fi distribuite în toate țările din cauza "
+"brevetelor."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Conține și aplicații din „%s†recompilate cu funcționalități suplimentare."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Aici puteți activa mai multe medii dacă doriți."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Acest mediu furnizează actualizări pentru mediul „%sâ€"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Se caută pachetele deja instalate..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Se caută pachetele de actualizat..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Se înlătură pachetele înainte de actualizare..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Următoarele pachete vor fi înlăturate pentru a permite actualizarea "
+"sistemului: %s\n"
+"\n"
+"\n"
+"Chiar doriți înlăturarea acestor pachete?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Eroare la citirea fișierului %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Următoarele discuri au fost redenumite:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (denumit anterior %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rețea"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Alegeți un mediu"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fișierul există deja. Se suprascrie?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permisiune respinsă"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nume NFS greșit"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Mediu incorect %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nu se pot face capturi de ecran înainte de partiționare"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Capturile de ecran vor fi disponibile după instalare în %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalare"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configurare"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Trebuie să formatați și %s"
+
+#: 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 ""
+"Unele componente din calculator au nevoie de piloți „proprietari†pentru a "
+"funcționa.\n"
+"Puteți găsi cîteva informații despre aceștia la: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Se pornește rețeaua"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Se oprește rețeaua"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Așteptați, se preia fișierul"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "mediul nu poate fi adăugat"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Se copiază unele pachete pe discuri pentru utilizare ulterioară"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Copiere în curs"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "obligatoriu"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "foarte simpatic"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "simpatic"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "eventual"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Se obțin informațiile despre pachet din metadatele XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Nu există informaÈ›ii XML pentru mediul „%sâ€, numai rezultate parÈ›iale pentru "
+"pachetul %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nici o descriere"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Unele pachete cerute de %s nu pot fi instalate:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "S-a produs o eroare:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "A apărut o eroare fatală: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Nu mai întreba"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d operațiuni de instalare eșuate"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalarea pachetelor a eșuat:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Stație de lucru"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Calculator de birou"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programe de birotică: procesoare de text (LibreOffice Writer, Kword), calcul "
+"tabelar (LibreOffice Calc, Kspread), vizualizatoare de fișiere PDF, etc."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Stație de jocuri"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programe de amuzament: jocuri de acțiune, table, strategie etc."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Stație multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programe de editare/redare sunet și video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Stație de Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Set de unelte pentru citire/trimitere de poștă și știri (mutt, tin..) și "
+"navigare pe Internet"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Calculator în rețea (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clienți pentru diverse protocoale, inclusiv ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Unelte pentru a vă ușura configurarea calculatorului"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Unelte de consolă"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoare, interpretoare, terminale, unelte de fișiere"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Dezvoltare"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteci de dezvoltare C și C++, programe și fișiere include"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentație"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Cărți și ghiduri despre Linux și programele libere"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Baza standard Linux. Suport pentru aplicații terțe."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Lucru colaborativ"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Parafoc/Ruter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasarelă Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Poștă/Știri"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serverul de poștă Postfix, serverul de știri Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server de anuar"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server de DNS și NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server de fișiere și de partajare a imprimantei"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Bază de date"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Server de baze de date MariaDB și PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Poștă electronică"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Serverul de poștă electronică Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Serverul de baze de date MariaDB sau PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Server în rețea"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, SMB, Proxy, SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Mediu grafic de lucru"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Stația de lucru Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Mediul de birou K, mediul grafic de bază cu o colecție de unelte asociate"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stație de lucru Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Un mediu grafic cu un set de aplicații prietenoase și unelte de birou"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Un mediu grafic lejer cu un set de unelte de birou și de aplicații "
+"prietenoase"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Stație de lucru MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Stație de lucru Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Un mediu grafic bazat pe GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Birou LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Un port QT de generație nouă a mediului lejer de birou"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Un mediu grafic rapid și lejer cu adepți dedicați"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Birou LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Un mediu grafic lejer și rapid"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Alte medii grafice"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, etc."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utilitare"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Serverul de configurare distantă Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitare rețea/Supraveghere"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Unelte de supraveghere, evidența proceselor, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Asistenții Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Asistenți pentru configurarea de server"
+
+#: 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 ""
+"S-a produs o eroare, dar nu poate fi interpretată în mod corect.\n"
+"Continuați pe propriul risc."
+
+#: steps.pm:469
+#, 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 ""
+"Cîteva pachete importante nu s-au instalat corect.\n"
+"Ori unitatea ori discul optic este defect.\n"
+"Verificați discul optic pe un alt sistem cu comanda „rpm -qpl media/main/*."
+"rpmâ€\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Se începe etapa „%sâ€\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s instalare %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> între elemente"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Serverul Xorg este încet la pornire. Așteptați vă rog..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Sistemul are resurse puține. Este posibil să aveți probleme în timpul "
+"instalării %s.\n"
+"În acest caz puteți încerca o instalare în mod text. Pentru aceasta, apăsați "
+"„F1â€\n"
+"la pornirea de pe CD-ROM, apoi introduceÈ›i „textâ€."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Selectare mediu"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalează biroul %s Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalează biroul %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalare personalizată"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Birou Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Birou GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Birou personalizat"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Iată o previzualizare a biroului „%sâ€."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Apăsați pe imagini ca să le vedeți mai mari"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selectare grupuri de pachete"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Selectare individuală a pachetelor"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deselectează tot"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mărime totală: %d / %d Mo"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versiune: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Mărime: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importanță: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Nu puteți selecta/deselecta acest pachet"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "datorită lipsei lui %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "datorită dependenței nesatisfăcute %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "se încearcă promovarea lui %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "pentru a păstra %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nu puteți selecta acest pachet pentru că nu este destul spațiu pentru a-l "
+"instala"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Următoarele pachetele vor instalate"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Următoarele pachete vor fi înlăturate"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Acesta este un pachet indispensabil și nu poate fi deselectat"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nu puteți deselecta acest pachet. Este deja instalat"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Nu puteți deselecta acest pachet. Trebuie actualizat."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Arată pachetele selectate automat"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalare"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Încarcă/Salvează selecția"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizare pachete selectate"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalare minimalistă"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Gestionare aplicații"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Alegeți pachetele pe care doriți să le instalați"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Se instalează"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Fără detalii"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Timp rămas: "
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(se estimează...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pachete"
+msgstr[1] "%d pachet"
+msgstr[2] "%d pachete"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sumar"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configurează"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "neconfigurat"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Au fost găsite următoarele medii de instalare.\n"
+"Dacă doriți să săriți peste unele din ele, le puteți deselecta acum."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Aveți opțiunea să copiați conținutul CD-urilor pe discul dur înainte de "
+"instalare.\n"
+"Se va continua de pe discul dur, iar pachetele vor rămîne disponibile după "
+"instalarea sistemului."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiază CD-urile în întregime"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "S-a produs o eroare"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Alegeți dispunerea tastaturii"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Iată lista tuturor tastaturilor disponibile:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalare/Actualizare majoră"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Este vorba de o instalare sau de o actualizare majoră?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalare"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizare majoră către %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Cheia de criptare pentru %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Anulează instalarea, repornește sistemul"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Instalare nouă"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Actualizare majoră peste instalarea precedentă (nerecomandat)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instalatorul a detectat că sistemul Mageia Linux instalat actual nu va "
+"putea\n"
+"fi actualizat în siguranță la %s.\n"
+"\n"
+"Se recomandă o instalare nouă care să o înlocuiască pe cea precedentă.\n"
+"\n"
+"Atenție: trebuie să vă faceți o copie de siguranță cu toate datele "
+"personale\n"
+"înainte de a alege \"Instalare nouă\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Configurare CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Schimbați CD-ul!\n"
+"\n"
+"Introduceți CD-ul etichetat „%s†și apoi apăsați Ok cînd sînteți gata.\n"
+"Dacă nu-l aveți, apăsați „Anulează†pentru a evita instalarea de pe acest CD."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Se caută pachetele disponibile..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sistemul nu dispune de suficient spațiu pentru o instalare sau actualizare "
+"majoră (%dMo > %dMo)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Alegeți încărcarea sau salvarea selecției de pachete.\n"
+"Formatul este același cu fișierele generate de auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Încarcă"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Salvează"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Fișier eronat"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Selectarea biroului"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Puteți alege profilul biroului stației voastre de lucru."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Dimensiunea selectată este mai mare decît spațiul disponibil"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tip de instalare"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nu ați selectat nici un grup de pachete.\n"
+"Alegeți instalarea minimalistă pe care o doriți:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Cu X11"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalează pachetele recomandate"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Cu documentația de bază (recomandat!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalare cu adevărat minimalistă (special fără urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Se pregătește actualizarea majoră..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Se pregătește instalarea"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Se instalează pachetul %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "S-a produs o eroare la ordonarea pachetelor:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Să se continue totuși?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Reîncearcă"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Ignoră acest pachet"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Ignoră toate pachetele din mediul „%sâ€"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Înapoi la selectarea mediilor și a pachetelor"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "S-a produs o eroare la instalarea pachetului %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configurare post-instalare"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Asigurați-vă că mediul cu modulele de actualizare este în unitatea %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Actualizări"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Acum aveți posibilitatea să configurați mediile online."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Aceasta vă permite să instalați actualizările de securitate."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Pentru a configura aceste medii va trebui să aveți o conexiune la\n"
+"Internet funcțională.\n"
+"\n"
+"Sigur doriți să configurați mediile de actualizare?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Următoarele pachetele vor instalate"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Reîncercați?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Adăugare de mediu eșuată"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Aveți posibilitatea să descărcați pachete actualizate. Aceste pachete\n"
+"au fost actualizate după ce a fost lansată distribuția. Acestea pot conține\n"
+"actualizări de securitate sau corectări de erori.\n"
+"\n"
+"Pentru a descărca aceste pachete, veți avea nevoie de o conexiune la "
+"Internet\n"
+"\n"
+"Doriți să instalați actualizările?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s pe %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Componente materiale"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Placă de sunet"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfață grafică"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rețea & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Servere proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "configurat"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de securitate"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Parafoc"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "activat"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "dezactivat"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nu ați configurat X11. Sigur doriți acest lucru?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Se pregătește pornirea programului inițial..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Aveți răbdare, va dura ceva timp..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"La acest nivel de securitate, accesul la fișierele de pe partiția Windows "
+"este permis doar administratorului."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Introduceți o dischetă goală în unitatea %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Se creează discheta de auto-instalare..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Cîteva etape nu au fost terminate.\n"
+"\n"
+"Chiar vreți să abandonați acum?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Felicitări"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Repornește"
+
+#. -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 "Limbă"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Localizare"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licență"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detectarea discului dur"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Clasă de instalare"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatură"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Securitate"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partiționare"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatare"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Alegerea pachetelor"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalare"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilizatori"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Încărcător de sistem"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurare X11"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sumar"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicii"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizări"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Ieșire"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Adresa URL a serverului alternativ?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Adresa URL trebuie să înceapă cu ftp:// sau http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Se contactează situl %s pentru obținerea listei de servere alternative "
+#~ "disponibile ..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Nu s-a putut contacta situl %s pentru obținerea listei de servere "
+#~ "alternative disponibile"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Alegeți un server alternativ de pe care să descărcați pachetele"
diff --git a/perl-install/install/share/po/ru.po b/perl-install/install/share/po/ru.po
new file mode 100644
index 000000000..1d128f22a
--- /dev/null
+++ b/perl-install/install/share/po/ru.po
@@ -0,0 +1,1712 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# akdengi <kazancas@gmail.com>, 2008
+# Alexander Kazancev <kazancas@mandriva.ru>, 2008-2009
+# Alexander Kazancev <kazancas@gmail.com>, 2008
+# Alexander Kuzmenkov <rc@mezon.ru>, 2007
+# AlexL <loginov.alex.valer@gmail.com>, 2016,2018,2023
+# Alice Lafox <alice@lafox.com.ua>, 2003
+# Alice Lafox <alice@lafox.net>, 2004-2005
+# Boris Zhalilo <daviongm@gmail.com>, 2014
+# Ðнатолий Валерианович <ffox909@mail.ru>, 2014
+# Валентин Сайков <saikov.vb@gmail.com>, 2015
+# Ðнатолий Валерианович <ffox909@mail.ru>, 2014
+# Victor, 2022
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: AlexL <loginov.alex.valer@gmail.com>, 2016,2018,2023\n"
+"Language-Team: Russian (http://app.transifex.com/MageiaLinux/mageia/language/"
+"ru/)\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "ПриÑоединÑйтеÑÑŒ к нам!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "ПодÑтройте ÑиÑтему под ÑебÑ!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Выбор за Вами!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "ОфиÑные инÑтрументы"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "ДомашнÑÑ Ñ€Ð°Ð·Ð²Ð»ÐµÐºÐ°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑиÑтема"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Ð”Ð»Ñ Ð´ÐµÑ‚ÐµÐ¹"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Ð”Ð»Ñ Ñемьи!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Ð”Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "СпаÑибо!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Будьте Ñвободными!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "ЕÑть дополнительный ноÑитель?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Был найден Ñледующий ноÑитель, который будет иÑпользован во Ð²Ñ€ÐµÐ¼Ñ ÑƒÑтановки: "
+"%s.\n"
+"\n"
+"\n"
+"ЕÑли ли дополнительный ноÑитель Ð´Ð»Ñ Ð½Ð°Ñтройки?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Сеть (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Сеть (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Сеть (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "ÐаÑтройка NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Укажите Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð° и каталог реÑурÑа NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Ðе указано Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ð˜Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° должно начинатьÑÑ Ñ \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ð˜Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð° Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Дополнительный"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ðевозможно найти ÑпиÑок пакетов на Ñтом зеркале. Проверьте правильноÑть "
+"адреÑа."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ чаÑти Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° компьютере Ñледует уÑтановить "
+"микропрограммы Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ кодом, необходимые Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ драйверов Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ "
+"кодом."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Следует включить «%s»"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "Ð’ «%s» ÑодержатÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ чаÑти ÑиÑтемы и её программ"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "Ð’ «%s» ÑодержатÑÑ Ð½ÐµÑвободные программы.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Там также ÑодержатÑÑ Ð¿Ð°ÐºÐµÑ‚Ñ‹ Ñ Ð¼Ð¸ÐºÑ€Ð¾ÐºÐ¾Ð´Ð¾Ð¼, необходимым Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ некоторых "
+"уÑтройÑтв (например, некоторых видеокарт ATI/AMD, некоторых Ñетевых карт, "
+"некоторых карт RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"Ð’ \"%s\" ÑодержатÑÑ Ð¿Ð°ÐºÐµÑ‚Ñ‹ Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¼ обеÑпечением, которое Ð½ÐµÐ»ÑŒÐ·Ñ "
+"Ñвободно раÑпроÑтранÑть в некоторых Ñтранах из-за Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¿Ð°Ñ‚ÐµÐ½Ñ‚Ð½Ñ‹Ñ… прав "
+"на Ñто программное обеÑпечение."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Также в \"%s\" ÑодержатÑÑ Ð¿Ð°ÐºÐµÑ‚Ñ‹, Ñобранные Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми, "
+"иÑпользование которых ограничиваетÑÑ Ð¿Ð°Ñ‚ÐµÐ½Ñ‚Ð°Ð¼Ð¸."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "ЗдеÑÑŒ вы можете включить дополнительные хранилища, еÑли Ñто вам нужно."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ð’ Ñтом иÑточнике ÑодержатÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð² из иÑточника \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ВыполнÑетÑÑ Ð¿Ð¾Ð¸Ñк уÑтановленных пакетов..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "ВыполнÑетÑÑ Ð¿Ð¾Ð¸Ñк пакетов Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "УдалÑÑŽÑ‚ÑÑ Ð¿Ð°ÐºÐµÑ‚Ñ‹ перед обновлением..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Следующие пакеты должны быть удалены, чтобы можно было обновить ÑиÑтему: %s\n"
+"\n"
+"\n"
+"Удалить Ñти пакеты?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Ошибка при чтении файла %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следующие диÑки были переименованы:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ранее называлÑÑ %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Сеть"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Выберите ноÑитель"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл уже ÑущеÑтвует. ПерепиÑать его?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ДоÑтуп запрещён"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ðеверное Ð¸Ð¼Ñ NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Ðеверный иÑточник %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ðевозможно Ñоздать Ñкриншоты перед разметкой диÑка"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ПоÑле уÑтановки Ñкриншоты будут находитьÑÑ Ð² каталоге %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "УÑтановка"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ÐаÑтройка"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Также необходимо отформатировать %s"
+
+#: 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 ""
+"Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ некоторых уÑтройÑтв компьютера требуютÑÑ Â«Ð½ÐµÑвободные» драйверы.\n"
+"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ них доÑтупна на Ñайте: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ПоднимаетÑÑ Ñеть"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ОпуÑкаетÑÑ Ñеть"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Подождите, идёт загрузка"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "не удалоÑÑŒ добавить иÑточник"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Ðа диÑк копируютÑÑ Ð¿Ð°ÐºÐµÑ‚Ñ‹ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² будущем"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Идёт копирование"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "должен быть"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важный"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "веÑьма желательно"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "желательно"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "может быть"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "ÐŸÐ¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… о пакетах из метаданных XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ð´Ð»Ñ Ð¸Ñточника «%s» отÑутÑтвует xml-info; Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s получен только "
+"чаÑтичный результат"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ОпиÑÐ°Ð½Ð¸Ñ Ð½ÐµÑ‚"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Ðекоторые пакеты, запрошенные %s, не могут быть уÑтановлены:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Произошла ошибка:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Произошла критичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Больше не Ñпрашивать"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d уÑтановочных транзакций не удалиÑÑŒ"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Ðе удалоÑÑŒ уÑтановить пакет:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ОфиÑÐ½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑтанциÑ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ОфиÑные программы: текÑтовые процеÑÑоры (LibreOffice Writer, Kword), "
+"Ñлектронные таблицы (LibreOffice Calc, Kspread), программы Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра PDF "
+"и т. д."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Игровой компьютер"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Развлекательные программы: аркады, наÑтольные игры, Ñтратегии и Ñ‚. д."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедийный компьютер"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Программы Ð´Ð»Ñ Ð²Ð¾ÑпроизведениÑ/Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð²ÑƒÐºÐ° и видео"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Компьютер Ð´Ð»Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ð°"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Ðабор программ Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ ÐºÐ¾Ñ€Ñ€ÐµÑпонденцией (mutt, tin...) и веб-Ñерфинга"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Сетевой компьютер (клиент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенты Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… протоколов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Утилиты Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ñтройки компьютера"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "ИнÑтрументы конÑоли"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редакторы, командные оболочки, файловые утилиты, терминалы"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Разработка"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Библиотеки Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ на C и C++, программы и заголовочные файлы"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ДокументациÑ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾ Linux и Ñвободному программному обеÑпечению"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Поддержка приложений Ñторонних разработчиков"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб-Ñервер"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "ПО Ð´Ð»Ñ ÑовмеÑтной работы"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Сервер Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файервол/Маршрутизатор"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет-шлюз"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Почта/ÐовоÑти"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Почтовый Ñервер Postfix, Ñервер новоÑтей Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Служба каталогов"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Сервер FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Сервер доменных имен и Ñетевые информационные Ñлужбы (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер общего доÑтупа к файлам и принтерам"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Сервер NFS, Ñервер Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "База данных"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Сервер баз данных PostgreSQL и MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Веб/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Почта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Почтовый Ñервер Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Сервер баз данных PostgreSQL или MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Сетевой Ñервер"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Cервер NFS, Ñервер SMB, прокÑи-Ñервер, Ñервер SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "ГрафичеÑкое окружение"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñреда Ñ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñопроводительных "
+"инÑтрументов"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"ГрафичеÑÐºÐ°Ñ Ñреда Ñ ÑƒÐ´Ð¾Ð±Ð½Ñ‹Ð¼ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ приложений и утилит "
+"рабочего Ñтола"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Более Ð»Ñ‘Ð³ÐºÐ°Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñреда Ñ ÑƒÐ´Ð¾Ð±Ð½Ñ‹Ð¼ набором приложений и инÑтрументов"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "ГрафичеÑкое окружение на оÑнове GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Рабочий Ñтол LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "УÑовершенÑтвованный QT-порт легковеÑной Ñреды рабочего Ñтола"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Рабочий Ñтол Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Ð›ÐµÐ³ÐºÐ°Ñ Ð¸ быÑÑ‚Ñ€Ð°Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñреда"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Рабочий Ñтол LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "БыÑÑ‚Ñ€Ð°Ñ Ð¸ Ð½ÐµÑ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ðº реÑурÑам графичеÑÐºÐ°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ°"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Другие графичеÑкие рабочие Ñтолы"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm и т.п."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Утилиты"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Сервер SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Сервер удалённой наÑтройки Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Сетевые утилиты/Мониторинг"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Утилиты мониторинга, учёт процеÑÑов, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "МаÑтеры наÑтройки Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "МаÑтеры наÑтройки Ñервера"
+
+#: 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 ""
+"Произошла ошибка, но Ñ Ð½Ðµ знаю, как её корректно обработать.\n"
+"Продолжайте на Ñвой ÑобÑтвенный Ñтрах и риÑк."
+
+#: steps.pm:469
+#, 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 ""
+"Ðекоторые важные пакеты уÑтановилиÑÑŒ некорректно.\n"
+"Повреждён привод CDROM или компакт-диÑк.\n"
+"Проверьте вÑтавленный в компьютер диÑк Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ВыполнÑетÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ на Ñтап `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "УÑтановка %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> между Ñлементами"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg-Ñервер долго запуÑкаетÑÑ. Подождите..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"СиÑтеме не хватает реÑурÑов. Во Ð²Ñ€ÐµÐ¼Ñ ÑƒÑтановки %s могут\n"
+"возникнуть проблемы. Ð’ Ñтом Ñлучае можно попробовать уÑтановку в\n"
+"текÑтовом режиме. Ð”Ð»Ñ Ñтого поÑле загрузки Ñ Ð´Ð¸Ñка нажмите `F1',\n"
+"а затем наберите 'text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Выбор иÑточника"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "УÑтановить %s рабочий Ñтол Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "УÑтановить %s рабочий Ñтол GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Ð’Ñ‹Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ ÑƒÑтановка"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Рабочий Ñтол Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Рабочий Ñтол GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Другой рабочий Ñтол"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Это предварительный вид рабочего Ñтола «%s»."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Ðажмите на картинку, чтобы увеличить её"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Выбор групп пакетов"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Выбор отдельных пакетов"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "СнÑть выделение Ñо вÑех"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Общий размер: %d/%d МБ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑиÑ:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Размер:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ВажноÑть: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Этот пакет Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ/отменить"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "из-за отÑутÑÑ‚Ð²Ð¸Ñ %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "из-за неудовлетворенных %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "выполнÑетÑÑ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° активизировать %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "чтобы Ñохранить %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Этот пакет Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ, Ñ‚.к. Ð´Ð»Ñ ÐµÐ³Ð¾ уÑтановки не хватает меÑта"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Будут уÑтановлены Ñледующие пакеты "
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Будут удалены Ñледующие пакеты "
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Этот пакет ÑвлÑетÑÑ Ð¾Ð±Ñзательным, его Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑтить"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Этот пакет Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ±Ñ€Ð°Ñ‚ÑŒ, потому что он уже уÑтановлен"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Этот пакет Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ±Ñ€Ð°Ñ‚ÑŒ, потому что он должен быть обновлен"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Показывать автоматичеÑки выбранные пакеты"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "УÑтановить"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Загрузить/Сохранить выбор"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ОбновлÑетÑÑ Ð²Ñ‹Ð±Ð¾Ñ€ пакетов"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Переключение между иерархичеÑким и плоÑким ÑпиÑком пакетов"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑƒÑтановка"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Управление ПО"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Выберите пакеты, которые нужно уÑтановить"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "УÑтановка"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Убрать подробноÑти"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "ОÑтавшееÑÑ Ð²Ñ€ÐµÐ¼Ñ:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(вычиÑлÑетÑÑ...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакет"
+msgstr[1] "%d пакеты"
+msgstr[2] "%d пакеты"
+msgstr[3] "%d пакеты"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Сводка"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ÐаÑтройка"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "не наÑтроен"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Ðайдены Ñледующие иÑточники Ð´Ð»Ñ ÑƒÑтановки.\n"
+"ЕÑли нужно пропуÑтить некоторые из них, ÑÐµÐ¹Ñ‡Ð°Ñ Ñ Ð½Ð¸Ñ… можно ÑнÑть флажки."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Содержимое компакт-диÑка перед уÑтановкой можно Ñкопировать на жёÑткий "
+"диÑк.\n"
+"ПоÑле Ñтого уÑтановка продолжитÑÑ Ñ Ð¶Ñ‘Ñткого диÑка, и пакеты будут доÑтупны "
+"поÑле полной уÑтановки ÑиÑтемы."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Целиком Ñкопировать компакт-диÑки"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Произошла ошибка"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Выберите раÑкладку клавиатуры"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Полный ÑпиÑок доÑтупных раÑкладок:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "УÑтановка/Обновление"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Это уÑтановка или обновление?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "УÑтановка"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Обновление %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Отмена уÑтановки, перезагрузка ÑиÑтемы"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "ÐÐ¾Ð²Ð°Ñ ÑƒÑтановка"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Обновление предыдущей уÑтановки (не рекомендуетÑÑ)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"УÑтановщик обнаружил, что ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ ÑƒÑтановка Mageia не\n"
+"может быть безопаÑно обновлена на %s.\n"
+"\n"
+"РекомедуетÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ уÑтановить ÑиÑтему, заменив ÑущеÑтвующую.\n"
+"\n"
+"Внимание: вы должны Ñделать копию вÑех ваших перÑональных данных, перед "
+"выбором \"ÐоваÑ\n"
+"УÑтановка\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "ÐаÑтройка CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Смените компакт-диÑк!\n"
+"\n"
+"Ð’Ñтавьте в привод компакт-диÑк под названием \"%s\", а затем нажмите 'ОК'.\n"
+"ЕÑли у Ð²Ð°Ñ ÐµÐ³Ð¾ нет, нажмите 'Отмена', чтобы отказатьÑÑ Ð¾Ñ‚ уÑтановки Ñ Ñтого "
+"диÑка."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "ПоиÑк доÑтупных пакетов..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Ð’ вашей ÑиÑтеме недоÑтаточно Ñвободного диÑкового проÑтранÑтва Ð´Ð»Ñ ÑƒÑтановки "
+"или Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ (%d МБ > %d МБ)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Выберите загрузку или Ñохранение выбора пакетов.\n"
+"Формат файлов такой же, как и у Ñозданных при автоматичеÑкой уÑтановке."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Загрузить"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Сохранить"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ðеверный файл"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Выбор рабочего Ñтола"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Можно выбрать профиль наÑтольной Ñреды."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Выбранный размер превышает доÑтупное меÑто"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Тип уÑтановки"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ðе была выбрана ни одна группа пакетов.\n"
+"Выберите тип минимальной уÑтановки:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "С Ð¥-Ñервером"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "УÑтановить рекомендуемые пакеты"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "С оÑновной документацией (рекомендуетÑÑ)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ДейÑтвительно Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑƒÑтановка (даже без urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "ПодготавливаетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Подготовка к уÑтановке"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "УÑтанавливаетÑÑ Ð¿Ð°ÐºÐµÑ‚ %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "При загрузке пакетов возникла ошибка:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ð’ÑÑ‘ равно продолжить?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Повторить"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ПропуÑтить Ñтот пакет"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "ПропуÑтить вÑе пакеты из иÑточника \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "ВернутьÑÑ Ðº выбору иÑточника и пакетов"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "При уÑтановке пакета %s возникла ошибка."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ÐаÑтройка поÑле уÑтановки"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Проверьте наличие ноÑÐ¸Ñ‚ÐµÐ»Ñ 'Update Modules' в уÑтройÑтве %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ОбновлениÑ"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Теперь вы можете наÑтроить Ñетевые хранилища пакетов."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Это дает возможноÑть уÑтанавливать Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Ð”Ð»Ñ Ð½Ð°Ñтройки хранилищ пакетов вам понадобитÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‰ÐµÐµ\n"
+"интернет Ñоединение.\n"
+"Хотите наÑтроить хранилище пакетов Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Этот загрузчик не может быть уÑтановлен"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Повторить попытку?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Ðе удалоÑÑŒ добавить иÑточник"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¼Ð¾Ð¶Ð½Ð¾ загрузить обновлённые пакеты. Эти пакеты были обновлены поÑле\n"
+"выхода диÑтрибутива. Ð’ них могут находитьÑÑ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑзвимоÑтей\n"
+"и других ошибок.\n"
+"\n"
+"Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñтих пакетов необходимо наличие рабочего подключениÑ\n"
+"к Интернету.\n"
+"\n"
+"УÑтановить Ñти обновлениÑ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Оборудование"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Ð—Ð²ÑƒÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ГрафичеÑкий интерфейÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Сеть и Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑи"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "наÑтроен"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Уровень безопаÑноÑти"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "включен"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "отключен"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Ð¥-Ñервер ещё не наÑтроен. Ð’Ñ‹ точно уверены в Ñвоих дейÑтвиÑÑ…?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Подготовка начального загрузчика..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Подождите, Ñто может занÑть некоторое времÑ..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ðа данном уровне безопаÑноÑти доÑтуп к файлам на разделе Windows разрешён "
+"только админиÑтратору. "
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ð’Ñтавьте чиÑтую диÑкету в диÑковод %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "СоздаетÑÑ Ð´Ð¸Ñкета автоматичеÑкой уÑтановки..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ðекоторые Ñтапы не завершены.\n"
+"\n"
+"Ð’Ñ‹ дейÑтвительно хотите выйти?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ПоздравлÑем"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Перезагрузка"
+
+#. -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 "Выбор Ñзыка"
+
+#: 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 "ЛицензиÑ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мышь"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ПоиÑк жёÑткого диÑка"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Тип уÑтановки"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавиатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "БезопаÑноÑть"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Разметка диÑка"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирование"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Выбор пакетов"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "УÑтановка"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Пользователи"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Загрузчик"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "ÐаÑтройка Ð¥-Ñервера"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Сводка"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Службы"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ОбновлениÑ"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Выход"
diff --git a/perl-install/install/share/po/sc.po b/perl-install/install/share/po/sc.po
new file mode 100644
index 000000000..974b481cb
--- /dev/null
+++ b/perl-install/install/share/po/sc.po
@@ -0,0 +1,1625 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Antoni Pistis <antonio.pistis@virgilio.it>, 2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Sardinian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/sc/)\n"
+"Language: sc\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Arretza (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Arretza (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Arretza (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Assètiu NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Càstiu is pakitus jai aposentaus..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Agatu is pakitus po ajorronai..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Srèxinu is pakitus ki dui funt po ajorronai..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Faddina ligendi su file %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Apu arrenominau is discus ki sighint:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (innantis nominau %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Arretza"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Sçobera unu suportu, po praxeri"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Su file esistit jai. Nci scriu apitzus?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permissu dennegau"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "No fait a fai fotografias innantis de pratzidurai"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As a podi biri is fotografias apustis de s'aposentada in %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Assètiu"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Depis formatai %s puru"
+
+#: 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 ""
+"A cancu parti hardware serbint driver ``proprietàrius''po traballai.\n"
+"Podis agatai cancu sceda apitzus a: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Alluu s'arretza"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Studu s'arretza"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Còpia in cursu"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nisçuna descriidura"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Faddina mortali: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transatzionis de aposentadura faddias"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Adelantamentu"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documentadura"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Traballu in Grupu"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway po Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Curreu/Noas"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server de curreu Postfix, server de noas Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server de Directory"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Server po Database PostGreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Curreu"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server de curreu Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Server po Database PostGreSQL e MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambienti Gràfigu"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Atras scrianias gràfigas"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"Faddina. No sciu comenti ndi bessiri beni.\n"
+"Sighi a perìgulu tuu."
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Aposentadura de %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> intr''e elementus"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Sçoberu pakitus unu a unu"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mesura totali: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versioni: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Mesura: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Importu: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "No podis scerai/disiscerai custu pakitu"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "ca amancat %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ca no est satisfatu %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "provu a sçoberai %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "po podi apoderai %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No podis sçoberai custu pakitu, ca no dui at spàtziu abasta po d'aposentai"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Megu a aposentai is pakitus ki sighint"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Megu a srexinai is pakitus ki sighint"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Custu est unu palitu necessàriu, no fait a du disiscerai"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "No fait a disiscerai custu pakitu. Est jai aposentau"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "No fait a disiscerai custu pakitu. Bolit ajorronau"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Amosta in automàtigu is pakitus sçoberaus"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Aposenta"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Càrriga/Sarva su sçoberu"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ajorronu su sçoberu de is pakitus"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Aposentadura minimali"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Maniju de is programas"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Sçobera is pakitus ki bolis aposentai"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Seu aposentendi"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Arresùmini"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Assètia"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "no assetiau"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Còpia totu is CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Faddina"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Sçobera su skema de su tecrau"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Aposenta/Ajorrona"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Est una aposentadura o una ajorronadura?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Aposenta"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ajorrona %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Crai de cuadura po %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Càmbia su Cd-Rom!\n"
+"Intra su Cd-Rom etiketau \"%s\" in su ligidori e craca Ok candu as fatu.\n"
+"Ki no du tenis, craca Annudda po scampai s'aposentadura de custu Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Càrriga"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Sarva"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "File malu"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipu de aposentadura"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Cun X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Apariçu s'aposentadura"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Faddina in s'ordinadura de is pakitus:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Sigu comuncas?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Assètiu pusti-aposentadura"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ajorronus"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Megu a aposentai is pakitus ki sighint"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Faddina açungendi su mèdiu."
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s in %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Skeda de Sonu"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaci Gràfiga"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Arretza & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "assetiau"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Arrasu de Siguresa"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "abivau"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "disabivau"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No as assetiau ancora X. Siguru ses ca bolis custu?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Intra unu floppy sbuidu in su trastu %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Cumprimentus"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Torra a allui"
+
+#. -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 "Lìngua"
+
+#: 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 "Permissu"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sòrixi"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Controllu de su discu tostau"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tecrau"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Siguresa"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pratzimentu"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Seu aposentendi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Umperadoris"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Assètia X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Arresùmini"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serbìtzius"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ajorronus"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Bessi"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL de su sprigu?"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Cuntatu su jassu web de %s po tenni sa lista de is sprigus..."
diff --git a/perl-install/install/share/po/sk.po b/perl-install/install/share/po/sk.po
new file mode 100644
index 000000000..012d69bd8
--- /dev/null
+++ b/perl-install/install/share/po/sk.po
@@ -0,0 +1,1715 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Jajo Pajo, 2016
+# Jajo Pajo, 2016
+# Jan Matis <damned@hq.alert.sk>, 2000
+# Michal Holes <Michal@Holes.sk>, 2004-2005
+# Milan Baša <minkob@mail.t-com.sk>, 2015
+# Pavol Cvengros <orpheus@hq.alert.sk>, 2000
+# Tibor Pittich <Tibor.Pittich@phuture.sk>, 2002-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Jajo Pajo\n"
+"Language-Team: Slovak (http://www.transifex.com/MageiaLinux/mageia/language/"
+"sk/)\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n "
+">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Pridajte sa k nám!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Zosobnite si!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Vaša voľba!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kancelárske nástroje"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Domáca zábava"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Pre deti"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Pre rodinu"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Pre vývojárov"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Ďakujeme Vám!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Cíťte sa voľný!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Máte eÅ¡te nejaké ÄalÅ¡ie doplňujúce médiá?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Boli nájdené ÄalÅ¡ie médiá ktoré budú použité poÄas inÅ¡talácie: %s.\n"
+"\n"
+"\n"
+"Máte nejaké doplňujúce médium na konfiguráciu?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sieť (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sieť (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sieť (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Nastavenie NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Zadajte prosím meno hostiteľa a prieÄinok pre vaÅ¡e NFS médium"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Chýba meno hostiteľa"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Adresár musí zaÄínaÅ¥ s \"/\" "
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Meno hostiteľa pre NFS bod pripojenia ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Adresár"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Doplňujúci"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Nie je možné nájsť súbor hdlist na tomto zrkadliacom servery"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Niektoré hardvérové súÄasti na vaÅ¡om poÄítaÄi potrebujú nie slobodný (non "
+"free) firmvér na to, aby mohli fungovaÅ¥ niektoré slobodné (free) ovládaÄe. "
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Mali by ste povoliť \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" obsahuje rôzne Äasti systémov a ich aplikácie "
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" obsahuje nie slobodný (non free) softvér.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Obsahuje tiež firmvér potrebný rôznymi zariadeniami k ich práci (napr. ATI/"
+"AMD grafické karty, niektoré sieťové karty, RAID karty, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" obsahuje softvér ktorý nemôže byť distribuovaný v každej krajine "
+"kvôli softvérovým patentom."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Tiež obsahuje prebudovaný softvér z \"%s\" s dodatoÄnými možnosÅ¥ami."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Tu môžete povoliÅ¥ ÄalÅ¡ie zdroje ak si prajete."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Tento zdroj poskytuje aktualizácie pre zdroj \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Hľadám balíky, ktoré sú už nainštalované..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Hľadám balíky pre aktualizáciu..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstránenie balíkov pred aktualizáciou..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Nasledovné balíky budú musieť byť odinštalované aby bolo možné vykonať "
+"aktualizáciu vášho systému: %s\n"
+"\n"
+"\n"
+"Chcete naozaj tieto balíky odinštalovať?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Chyba pri Äítaní zo súboru %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Nasledovné disky boli premenované:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (predtým ako %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Sieť"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Vyberte si zdroj"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Súbor už existuje. Prepísať?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Prístup zamietnutý"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nesprávne NFS meno"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Zlý zdroj %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Nemôžem spraviť kópie obrazovky pred rozdelením disku"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Kópie obrazovky budú po inštalácii dostupné v %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Inštalaácia"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurácia"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Taktiež musíte naformátovať %s"
+
+#: 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 ""
+"Niektorý hardvér vo vaÅ¡om poÄítaÄi potrebuje ``proprietárne'' ovládaÄe.\n"
+"Informácie môžete nájsť na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Spúšťam prácu so sieťou"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "UkonÄuje sa práca so sieÅ¥ou"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Prosím Äakajte, získava sa súbor"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "Nie je možné pridať zdroj"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+"Prebieha kopírovanie niektorých balíÄkov na disk kvôli budúcemu použitiu"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Prebieha kopírovanie"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "musíte mať"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "dôležité"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "veľmi zaujímavé"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "zaujímavé"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "možno.."
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Získavanie informácií o balíÄku z XML meta-dát..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Žiadne xml informácie pre médium \"%s\", iba ÄiastoÄné informácie pre balík "
+"%s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Bez popisu"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Niektoré balíky vyžadované %s nemôžu byť nainštalované:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Nastala chyba:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Nastala fatálna chyba: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Nepýtať sa znovu"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d inÅ¡talaÄná transakcia zlyhala"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Zlyhala inštalácia balíkov:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kancelárska stanica"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kancelárske programy: editory (LibreOffice Writer, Kword), tabuľkové "
+"procesory (LibreOffice Calc, Kspread), pdf prehliadaÄe, atÄ"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Hracia stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zábavne programy: stolové, stratégie, atÄ"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediálna stanica"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy na prehrávanie/editovanie zvuku a videa"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetová stanica"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Nástroje na Äítanie a posielanie emailov a news správ (mutt, tin..) a "
+"prehliadanie www"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "SieÅ¥ovy poÄítaÄ (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti pre rôzne protokoly vrátane ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nástroje na jednoduchú konfiguráciu vášho poÄítaÄa"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolové nástroje"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editory, shelly, súborové nástroje, terminály"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Vývojárska"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C a C++ vývojove knižnice, programy a include súbory"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentácia"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knihy a návody pre Linux a iný voľný softvér"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. AplikaÄná podpora od tretej strany"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web server"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Brána k Internetu"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix poštový systém, Inn news server"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Adresárový server"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server doménových mien a sieÅ¥ový informaÄný server (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Súborový a tlaÄový server"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Databázy"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Databázový server PostgreSQL a MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache a Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL, alebo MariaDB databázový server"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Sieťový server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafické prostredie"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Pracovná stanica Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Enviroment, grafické prostredie s množstvom pribalených programov"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Grafické rozhranie s aplikáciami a desktopovými nástrojmi"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr "OdľahÄené grafické prostredie s uživateľsky príjemnou sadou aplikácií"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Grafické prostredie založené na GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Prostredie LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "ÄŽalÅ¡ia generácia QT portu odľahÄenej grafickej plochy"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "OdľahÄené rýchle grafické prostredie"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE grafická plocha"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "OdľahÄené rýchle grafické prostredie"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Iné grafické prostredia"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, atÄ."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Utility"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Vzdialená konfigurácia servera pomocou Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Sieťové utility/Monitoring"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Monitorovacie nástroje, úÄtovanie procesov, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Sprievodcovia Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Sprievodcovia pre konfiguráciu 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 ""
+"Vyskytla sa chyba a neviem ju úplne vyriešiť.\n"
+"PokraÄujte na vlastnú zodpovednosÅ¥."
+
+#: steps.pm:469
+#, 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 ""
+"Niektoré dôležité balíky neboli správne nainštalované.\n"
+"Je možné, že sú poškodené váš CD disk alebo mechanika.\n"
+"Skontrolujte to napríklad použitím \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Spúšťam krok %s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Inštalácia %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> medzi položkami"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg server Å¡tartuje pomaly. Prosím Äakajte..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Váš systém má nedostatok prostriedkov. Možno budete mať problémy s\n"
+"inštaláciou %s. Ak sa tak stane, skúste textovú inštaláciu. Pre jej\n"
+"spustenie stlaÄte `F1' po naÅ¡tartovaní z CDROM a zadajte `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Výber zdroja"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Inštalovať %s GNOME gafickú plochu"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Vlastná inštalácia"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma grafická plocha"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME pracovná plocha"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Vlastná pracovná plocha"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Tu je náhľad pracovnej plochy '%s' "
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kliknite na obrázky pre zväÄÅ¡enie"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Výber skupín balíkov"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Osobitná voľba balíkov"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "OdznaÄiÅ¥ vÅ¡etky"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Celková veľkosť: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verzia:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Veľkosť:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Dôležitosť:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Nemôžete oznaÄiÅ¥/odznaÄiÅ¥ tento balík"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "kôli chýbajúcemu %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "z dôvodu neuspokojenia %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokus o povýšenie %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "kvôli zachovaniu %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nemôžete oznaÄiÅ¥ tento balík pretože na jeho inÅ¡taláciu nie je dosÅ¥ miesta."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Budú nainštalované nasledovné balíky"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Nasledujúce balíky budú odstránené"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Toto je jeden zo základných balíkov, nemôže byÅ¥ odznaÄený"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Nemôžete odznaÄiÅ¥ tento balík. Je už nainÅ¡talovaný"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Nemôžete odznaÄiÅ¥ tento balík. Musí byÅ¥ aktualizovaný"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Zobraziť automaticky zvolené balíky"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Inštalovať"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "NaÄítaÅ¥/UložiÅ¥ výber "
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Aktualizácia výberu balíkov"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimálna inštalácia"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Správa softvéru"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zvoľte balíky, ktoré si želáte nainštalovať"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Inštalujem"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Bez detailov"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Zostávajúci Äas:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(odhadujem...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d balíka"
+msgstr[1] "%d balíkov"
+msgstr[2] "%d balíkov"
+msgstr[3] "%d balíkov"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Zhrnutie"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurovať"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nenakonfigurované"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Nasledovné inÅ¡talaÄné médiá boli nájdené.\n"
+"Ak nechcete niektoré z nich použiÅ¥, odznaÄte ich teraz."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Máte možnosť skopírovať obsah CD na pevný disk pred inštaláciou.\n"
+"Potom bude inÅ¡talácia pokraÄovaÅ¥ z pevného disku a balíky budú dostupné aj "
+"po kompletnej inštalácii."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopírovať kompletné CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Vyskytla sa chyba"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Prosím, zvoľte si rozloženie klávesnice"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Tu je kompletný zoznam dostupných klávesníc:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Inštalácia/Aktualizácia"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Želáte si vykonať inštaláciu alebo aktualizáciu?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Inštalácia"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualizácia %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Kryptovací kÄ¾ÃºÄ pre %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Zrušiť inštaláciu, reštartovať systém"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nová inštalácia"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "AktualizovaÅ¥ predchádzajúcu inÅ¡taláciu (nedoporuÄené)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Inštalátor zistil že váš nainštalovaný Linuxový systém nemôže\n"
+"byÅ¥ bezpeÄne aktualizovaný na %s.\n"
+"\n"
+"DoporuÄujeme novú inÅ¡taláciu, ktorá nahradí predchádzajúcu.\n"
+"\n"
+"Upozornenie: mali by ste si zazálohovať vaše osobné dáta pred tým ako\n"
+" vyberiete \"Nová inštalácia\". "
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Nastavenie CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Vymente vaše CD-ROM médium!\n"
+"\n"
+"Prosím, vložte CD-ROM nazvané \"%s\" do vašej mechaniky a kliknite na OK.\n"
+"Ak takýto CD disk nemáte, zvoľte Zrušiť pre zrušenie inštalácie z tohoto CD-"
+"ROM disku."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hľadajú sa dostupné balíky..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Vo vašom systéme nie je dostatok voľného miesta pre inštaláciu alebo "
+"aktualizáciu (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vyberte si naÄítanie alebo uloženie výberu balíkov.\n"
+"Formát je rovnaký ako pre súbory generované ako auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Zaťaženie"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Uložiť"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Zlý súbor"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Výber pracovnej plochy"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Môžete si vybrať váš profil pracovnej plochy."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Zvolená veľkosÅ¥ je väÄÅ¡ia ako dostupné miesto"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Typ inštalácie"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nebola vybraná žiadna skupina balíkov\n"
+"Prosím, zvoľte si typ minimálnej inštalácie, ktorú si želáte vykonať:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "S X Window System"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "InÅ¡talovaÅ¥ doporuÄené balíky"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "So základnou dokumentáciou (doporuÄené!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Naozaj minimálna inštalácia (bez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Pripravuje sa aktualizácia..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripravuje sa inštalácia"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Inštaluje sa balík %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Chyba pri zoraÄovaní zoznamu balíkov:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Napriek tomu pokraÄovaÅ¥?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Opakovať"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "PreskoÄiÅ¥ tento balík?"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "PreskoÄiÅ¥ vÅ¡etky balíky zo zdroja \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Vrátiť sa naspäť na výber zdrojov a balíkov"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Vyskytla sa chyba poÄas inÅ¡talácie balíka %s "
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "PoinÅ¡talaÄná konfigurácia"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "PresvedÄte sa prosím, že aktualizaÄný zdroj je v mechanike %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Aktualizácie"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Teraz máte možnosť nastaviť online zdroje."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Toto povolí nainÅ¡talovaÅ¥ bezpeÄnostné aktualizácie."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Pre nastavenie tohoto zdroja budete potrebovaÅ¥ funkÄné internetové \n"
+"pripojenie.\n"
+"\n"
+"Chcete nastaviÅ¥ aktualizaÄný zdroj?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Budú nainštalované nasledovné balíky"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Opakovať?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Chyba pri pridávaní zdroja"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Teraz máte možnosť stiahnuť si aktualizované verzie balíkov. Tieto balíky\n"
+"boli vydané až po uvoľnení distribúcie. Môžu obsahovať\n"
+"bezpeÄnostné alebo funkÄné opravy.\n"
+"\n"
+"Pre získanie týchto balíkov je potrebné, aby ste mali fungujúce Internetové\n"
+"pripojenie.\n"
+"\n"
+"Želáte si nainÅ¡talovaÅ¥ aktualizácie balíÄkov?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardvér"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Zvuková karta"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafické rozhranie"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Sieť a Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "nakonfigurované"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Úroveň bezpeÄnosti"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivované"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "zakázané"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nemáte nakonfigurovaný X Window systém. Ste si istí, že to tak chcete?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Pripravuje sa spúšťací program..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "BuÄte trpezlivý, môže to chvíľu trvaÅ¥..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"V rámci tejto bezpeÄnostnej úrovne je prístup k súborom na Windows oblasti "
+"umožnený iba pre administrátora."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Vložte Äistú disketu do mechaniky %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pripravuje sa autoinÅ¡talaÄná disketa..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Niektoré kroky nie sú dokonÄené.\n"
+"\n"
+"Naozaj chcete teraz skonÄiÅ¥?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulujeme"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Reštart"
+
+#. -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 "Jazyk"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalizácia"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Myš"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detekcia pevného disku"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "InÅ¡talaÄná trieda"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klávesnica"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "BezpeÄnosÅ¥"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Rozdelenie diskov"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formátovanie"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Výber balíkov"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Inštalujem"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Používatelia"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ZavádzaÄ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurácia X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Zhrnutie"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Služby"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizácie"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Koniec"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL zrkadliaceho servera?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL musí zaÄínaÅ¥ s ftp:// alebo http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Pripájam sa k web stránke %s pre stiahnutie zoznamu zrkadiel..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Zlyhalo pripojenie ku web stránke %s pre stiahnutie zoznamu zrkadiel"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Vyberte zrkadlo, z ktorého si chcete stiahnuť balíky"
diff --git a/perl-install/install/share/po/sl.po b/perl-install/install/share/po/sl.po
new file mode 100644
index 000000000..21b504d5e
--- /dev/null
+++ b/perl-install/install/share/po/sl.po
@@ -0,0 +1,1701 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# AljoÅ¡a LoÄiÄnik <aljosa.locicnik@mandrakeprinas.org>, 2005
+# Filip Komar <filip.komar@guest.arnes.si>, 2011-2013,2015-2017
+# Filip Komar <filip.komar@guest.arnes.si>, 2018,2020,2023
+# Gregor Pirnaver <gregor.pirnaver@sdm-si.org>, 2002,2004-2005
+# Jure Repinc <jlp@holodeck1.com>, 2005,2007-2009
+# Matjaž Kaše <matjaz.kase@g-kabel.si>, 2004
+# Matjaž Kaše <matjaz.kase@telemach.net>, 2006
+# Rok Kepa <rokkepa@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Filip Komar <filip.komar@guest.arnes.si>, 2018,2020,2023\n"
+"Language-Team: Slovenian (http://app.transifex.com/MageiaLinux/mageia/"
+"language/sl/)\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Pridružite se nam!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Osvojite jo!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Vaša izbira!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Pisarniška orodja"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "DomaÄa zabava"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Za otroke"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Za družino!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Za razvijalce!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Hvala!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Bodite svobodni!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ali imate še kak dodaten namestitveni vir?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Zaznani so bili naslednji viri, ki bodo uporabljeni med namestitvijo: %s.\n"
+"\n"
+"\n"
+"Ali imate še kak dodaten namestitveni vir, ki ga je potrebno nastaviti?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Omrežje (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Omrežje (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Omrežje (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Namestitev prek NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Vnesite ime gostitelja in ime mape vašega vira NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Manjka ime gostitelja"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Mapa se mora priÄeti z »/«"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime gostitelja vira NFS"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Mapa"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatno"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Na tem zrcalnem strežniku ne najdem seznama paketov. PrepriÄajte se, da je "
+"lokacija prava."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Glavni (core) - izdajni"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Patentno zaÅ¡Äiteni (tainted) - izdajni"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Lastniški (nonfree) - izdajni"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Nekateri deli vaše strojne opreme za pravilno delovanje odprtokodnih "
+"gonilnikov potrebujejo lastniško strojno programsko opremo."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "PriporoÄljivo je omogoÄiti vir »%s«"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"Vir »%s« vsebuje razliÄne sistemske dele in pripadajoÄo programsko opremo"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "Vir »%s« vsebuje lastniško programsko opremo.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Vsebuje tudi strojno programsko opremo, ki je potrebna za delovanje "
+"nekaterih naprav (npr.: nekatere grafiÄne kartice ATI/AMD, doloÄene mrežne "
+"kartice, nekatere kartice RAID) …"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"Vir »%s« vsebuje programsko opremo, ki je zaradi patentne zaÅ¡Äite v "
+"nekaterih državah ni možno prosto razširjati."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Vsebuje tudi pakete iz vira »%s«, a z dodatnimi zmožnostmi."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Tu lahko po želji omogoÄite veÄ virov."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ta vir ponuja posodobitve paketov za vir »%s«"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Pregledovanje že nameÅ¡Äenih paketov …"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Iskanje paketov za posodobitev …"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstranjevanje paketov pred posodobitvijo …"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Da bi bilo mogoÄe posodobiti sistem, je treba odstraniti naslednje pakete: "
+"%s\n"
+"\n"
+"\n"
+"Ali naj odstranim navedene pakete?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Napaka pri branju datoteke %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Preimenovani so bili naslednji diski:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (prejšnje ime: %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Omrežje"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Izberite vir"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka že obstaja. Ali naj jo nadomestim?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Nimate dovoljenja"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "NapaÄno ime NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Neustrezen vir %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Posnetkov zaslona ni mogoÄe zajeti, dokler disk ni razdeljen"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Po namestitvi bodo posnetki zaslona v %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Namestitev"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Nastavitev"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Formatirati morate tudi %s"
+
+#: 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 ""
+"Nekateri deli strojne opreme za pravilno delovanje potrebujejo zaprto-kodne "
+"»lastniške« gonilnike.\n"
+"Nekaj podatkov o tem dobite na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Priklapljanje omrežja"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Izklapljanje omrežja"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "PoÄakajte. Pridobivanje datoteke ..."
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "dodajanje vira ni bilo možno"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiranje nekaterih paketov na disk, za kasnejšo uporabo"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje poteka"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "nepogrešljivo"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "pomembno"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "zelo uporabno"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "uporabno"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "morda"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Pridobivanje informacij o paketu iz metapodatkov XML …"
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "Za vir »%s« ni metapodatkov, zato rezultati za paket %s niso popolni"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Brez opisa"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Nekaj paketov, ki jih zahteva %s ni mogoÄe namestiti:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Prišlo je do napake:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Zgodila se je usodna napaka: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ne spraÅ¡uj veÄ"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Spodletelo je %d namestitvenih transakcij"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "NameÅ¡Äanje paketov ni uspelo:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Delovna postaja"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Pisarniška delovna postaja"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Pisarniški programi: urejavalniki besedil (LibreOffice Writer, KWord), "
+"preglednice (LibreOffice Calc, KSpread), pregledovalniki PDF, itd"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Igralna postaja"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programi za zabavo: arkade, deske, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "VeÄpredstavnostna postaja"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za predvajanje in urejanje zvoka in videa"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetna postaja"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Zbirka orodij za branje in poÅ¡iljanje poÅ¡te in poÅ¡iljanje v noviÄarske "
+"skupine (mutt, tin ...) ter brskanje po spletu"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Omrežni raÄunalnik (odjemalec)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Odjemalci za razliÄne protokole, vkljuÄujoÄ SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Orodja za lažjo nastavitev raÄunalnika"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolna orodja"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Urejevalniki, lupine, datoteÄna orodja, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Razvoj"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Razvojne knjižnice, programi in datoteke z glavami za C in C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige in priroÄniki o Linuxu in prostem programju"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Standardna osnova Linuxa (LSB). Podpora programom tretjih oseb"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Spletni strežnik"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Skupinsko delo"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Strežnik Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Požarni zid/usmerjevalnik"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetni prehod (gateway)"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "PoÅ¡ta/noviÄarske skupine"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "PoÅ¡tni strežnik postfix in noviÄarski strežnik Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Imeniški strežnik"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Strežnik FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Strežnik imen domen in omrežnih podatkov"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Strežnik za skupno rabo datotek in tiskalnikov"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Strežnik NFS, strežnik Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Podatkovna zbirka"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Strežnik podatkovnih baz PostgreSQL in MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Splet/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Poštni strežnik Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Strežnik podatkovnih baz PostgreSQL ali MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Omrežni raÄunalnik (strežnik)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Strežnik NFS, strežnik SMB, posredniški strežnik, strežnik SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafiÄno okolje"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Delovna postaja Plazma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Namizno okolje KDE, moderno grafiÄno okolje z zbirko pripadajoÄih orodij"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Delovna postaja GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"GrafiÄno okolje z naborom uporabniku prijaznih programov in namiznimi orodji"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Delovna postaja Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Majhno grafiÄno okolje z naborom uporabniku prijaznih programov in namiznimi "
+"orodji"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Delovna postaja MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Delovna postaja Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GrafiÄno okolje osnovano na GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Namizje LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Nova generacija majhnega in hitrega namiznega okolja prenesenega na QT"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Namizje Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Majhno in hitro grafiÄno okolje s predanimi privrženci"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Namizje LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Majhno in hitro grafiÄno okolje"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Druga grafiÄna namizja"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, FVWM ..."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "PripomoÄki"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Strežnik SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Strežnik Webmin za oddaljeno nastavljanje"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Omrežni pripomoÄki/nadzorovanje"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Nadzorna orodja, knjigovodstvo procesov, tcpdump, nmap …"
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Magejini Äarovniki"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarovniki za nastavitev strežnikov"
+
+#: 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 ""
+"PriÅ¡lo je do napake, ki je sistem ne zna odpraviti na ustrezen naÄin.\n"
+"Nadaljujte na lastno odgovornost."
+
+#: steps.pm:469
+#, 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 ""
+"Nekateri pomembni paketi niso bili ustrezno nameÅ¡Äeni.\n"
+"Verjetno imate poškodovan namestitveni nosilec ali pa pogon\n"
+"za branje. Na raÄunalniku, na katerem je nameÅ¡Äen Linux,\n"
+"preverite nosilec z ukazom »rpm -qpl media/main/*.rpm«.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "PriÄetek koraka »%s«\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Namestitev %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> med elementi"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "GrafiÄni strežnik se zaganja poÄasi. PoÄakajte …"
+
+#: steps_gtk.pm:216
+#, 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 ni zelo zmogljiv. Lahko, da boste imeli pri namestitvi\n"
+"%s težave. V tem primeru lahko poskusite z namestitvijo\n"
+"v besedilnem naÄinu.\n"
+"Po zagonu z namestitvenega nosilca pritisnite »F1« in vnesite »text«."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Izbira virov"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Namestitev %s namizja Plazma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Namestitev %s namizja GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Po meri"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Namizje Plazma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Namizje GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Namizje po meri"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "To je ogled namizja »%s«."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kliknite na sliko, da vidite veÄji predogled"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Izbira skupin paketov"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Izbira posamiÄnih paketov"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Odstrani izbiro"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Skupna velikost: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "RazliÄica: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Velikost: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Pomembnost: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Tega paketa ne morete izbrati ali izloÄiti."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "ker manjka %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zaradi ne-zadostitve %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "poizkušam uveljaviti %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "da bi obdržal %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Tega paketa ne morete izbrati, ker ni dovolj prostora, da bi ga lahko "
+"namestili."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "NameÅ¡Äeni bodo naslednji paketi"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Odstranjeni bodo naslednji paketi"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "To je obvezen paket in ga ni mogoÄe izloÄiti."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Tega paketa ne morete izloÄiti, ker je že nameÅ¡Äen."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Tega paketa ne morete izloÄiti, ker ga je treba posodobiti."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Prikaži samodejno izbrane pakete"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Namesti"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Naloži/shrani izbor"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Posodabljanje izbora paketov"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Preklop med hierarhiÄnim in ploskim pogledom seznama."
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna namestitev"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Upravljanje s programi"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izberite pakete, ki jih želite namestiti"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "NameÅ¡Äanje"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Brez podrobnosti"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Preostali Äas:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(izraÄunavanje …)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paket"
+msgstr[1] "%d paketa"
+msgstr[2] "%d paketi"
+msgstr[3] "%d paketov"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Povzetek"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Nastavitev"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "ni nastavljeno"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Na voljo so naslednji viri za namestitev.\n"
+"ÄŒe želite, lahko katerega izmed njih sedaj izloÄite."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Pred namestitvijo lahko vsebino namestitvenih nosilcev prekopirate na trdi "
+"disk.\n"
+"V tem primeru bo namestitev potekala s trdega diska, paketi pa bodo ostali "
+"na voljo tudi po zakljuÄeni namestitvi."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Prekopiraj vsebino nosilcev"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Prišlo je do napake"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Izberite razpored tipkovnice"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Tu je celoten seznam razpoložljivih tipkovnic:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Namestitev/nadgradnja"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ali želite izvesti namestitev ali nadgradnjo?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Namestitev"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Nadgradnja %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Å ifrirni kljuÄ za %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "PrekliÄi namestitev, znova zaženi raÄunalnik"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Nova namestitev"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Nadgradite obstojeÄo namestitev (ni priporoÄeno)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Namestitveni program je zaznal, da obstojeÄe namestitve\n"
+"Linuxa ni mogoÄe varno nadgraditi na razliÄico %s.\n"
+"\n"
+"PriporoÄena je nova namestitev, ki nadomesti obstojeÄo.\n"
+"\n"
+"Opozorilo: Pred nadaljevanjem z novo namestitvijo napravite\n"
+"varnostno kopijo vseh osebnih podatkov."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Nastavljanje enote CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Zamenjajte nosilec!\n"
+"\n"
+"V pogon vstavite namestitveni nosilec z oznako »%s« in kliknite V redu.\n"
+"ÄŒe zahtevanega nosilca nimate, kliknite PrekliÄi, da ga bo namestitev "
+"preskoÄila."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Iskanje razpoložljivih paketov …"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sistem nima dovolj prostora za namestitev ali nadgradnjo (%d MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Izberite nalaganje ali shranjevanje izbora paketov.\n"
+"Format je enak formatu datotek za samodejno namestitev (auto_install)."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Naloži"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Shrani"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Neustrezna datoteka"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plazma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Izbira namizja"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Tu lahko izberete namizno okolje, ki bo nameÅ¡Äeno."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Velikost izbora presega velikost razpoložljivega prostora."
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Vrsta namestitve"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Izbrali niste nobene skupine paketov.\n"
+"Izbrati morate vsaj minimalno namestitev:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Z grafiÄnim okoljem"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Namesti priporoÄene pakete"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Z osnovno dokumentacijo (priporoÄeno)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Zares najmanjša možna namestitev (še posebej brez urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Pripravljanje nadgradnje …"
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripravljanje namestitve"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "NameÅ¡Äanje paketa %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Med razvrÅ¡Äanjem paketov je priÅ¡lo do napake:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ali naj kljub temu nadaljujem?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Poskusi znova"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Spusti ta paket"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Spusti vse pakete z nosilca »%s«"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Nazaj na izbiro nosilcev in paketov"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "PriÅ¡lo je do napake med nameÅ¡Äanjem paketa %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Nastavitev po namestitvi"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "PrepriÄajte se, da je nosilec »Posodobitev modulov« v pogonu %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Posodobitve"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Sedaj je priložnost za nastavitev spletnih virov."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "S tem bo možno namestiti varnostne posodobitve."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Za nastavitev spletnih virov je potrebna delujoÄa spletna povezava.\n"
+"\n"
+"Ali želite nastaviti spletne posodobitvene vire?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Tega programa za prenos ni bilo možno namestiti"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Poskusi znova?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Napaka pri dodajanju vira"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Zdaj imate možnost, da s strežnika prenesete posodobljene pakete.\n"
+"Ti paketi so bili posodobljeni po izdaji distribucije. Zelo verjetno "
+"vsebujejo varnostne popravke in popravke napak.\n"
+"\n"
+"Za namestitev teh paketov morate imeti vzpostavljeno internetno povezavo.\n"
+"\n"
+"Ali želite namestiti posodobitve?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Strojna oprema"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ZvoÄna kartica"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "GrafiÄna kartica"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Omrežje in internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Posredniški strežniki"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "nastavljeno"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Stopnja varnosti"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Požarni zid"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivirano"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "onemogoÄeno"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "GrafiÄnega strežnika niste nastavili. Ali to zares želite?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Pripravljanje zaÄetnega zagonskega programa …"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Potrpite. To lahko traja dalj Äasa …"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Na tej varnostni stopnji je dostop do datotek na razdelku za Windows "
+"dovoljen samo skrbniku sistema (root)."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "V pogon %s vstavite prazno disketo"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ustvarjanje diskete za samodejno namestitev …"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Nekateri koraki Å¡e niso zakljuÄeni.\n"
+"\n"
+"Ali res želite konÄati?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ÄŒestitke"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Ponovni zagon"
+
+#. -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 "Jezik"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "PodroÄne nastavitve"
+
+#: 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ška"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Zaznava trdih diskov"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Razred namestitve"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tipkovnica"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Varnost"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Razdelitev diska"
+
+#: 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 "Izbiranje paketov"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "NameÅ¡Äanje"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uporabniki"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Zagonski nalagalnik"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "GrafiÄno okolje"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Povzetek"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Storitve"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Posodobitve"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izhod"
diff --git a/perl-install/install/share/po/sq.po b/perl-install/install/share/po/sq.po
new file mode 100644
index 000000000..349c22b1c
--- /dev/null
+++ b/perl-install/install/share/po/sq.po
@@ -0,0 +1,1727 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Ardit Dani <ardit.dani@gmail.com>, 2014-2017,2019,2021
+# Naim Daka <naim70@freesurf.ch>, 2002-2003
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2021-01-31 03:49+0000\n"
+"Last-Translator: Ardit Dani <ardit.dani@gmail.com>\n"
+"Language-Team: Albanian (http://www.transifex.com/MageiaLinux/mageia/"
+"language/sq/)\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Bashkohu me ne!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Bëni atë tuajat!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Zgjedhja juaj!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Vegla zyre"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Argëtim shtëpie "
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Për fëmijët"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Për familjen!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Për zhvilluesit!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Faleminderit!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Ekzisto Lirshëm!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "A keni media të mëtejshme shtesë?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Mediat e mëposhtme janë gjetur dhe do të përdoret gjatë instalimit: %s\n"
+"\n"
+"\n"
+"A keni një media shtesë instalimi për konfigurimin?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rrjeti (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rrjeti (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rrjeti (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Ndërtimi NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Ju lutemi shkruani pritësin dhe skedarin tuaj të medias NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Pritësi mungon"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Skedari duhet të fillojë me \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Pritësi i montuesit NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Repertori"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Plotësues"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nuk mund të gjeni një dokument listë pakete në këtë pasqyrë. Sigurohuni "
+"vendi është e saktë."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Lëshim Bërthamë"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Lëshim Prishur"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Lëshim Jofalas"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Disa pajisje-elektronikenë kompjuterin tuaj ka nevojë për disa udhzues jo të "
+"lirë në mënyrë që drejtuesit e programevetë lirë të punojnë."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Ju duhet të mundësoni \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" përmban pjesë të ndryshme të sistemet dhe aplikimet e saj"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" përmban programe jo falas.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Ai gjithashtu përmban një program nevojshme për pajisje të caktuara për të "
+"vepruar (p.sh: disa karta grafike ATI/AMD, disa kartat e rrjetit, disa karta "
+"RAID, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" përmban programe që nuk mund të shpërndahet në çdo vend për shkak të "
+"patentave të programit."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Ai gjithashtu përmban program nga \"%s\" rindërtuar me aftësi shtesë."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Këtu ju mund të mundësoni më shumë media në qoftë se ju dëshironi."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ky medium ofron përditësime paketë për të mesëm \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kërkimi i pakove veqse të instaluara..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Gjetja pakove azhurnuese..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Heqja paketave para përmirësimit..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Pakot a radhitura do të zhduken pët të azhurnuar sistemin tuaj: %s\n"
+"\n"
+"\n"
+"Me të vërtetë dëshironi ti zhdukni?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Gabim gjatë leximit të skedares %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Di(s)qet mëposhtme janë riemëruar:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (të emëruar më parë si %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rrjeti"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Ju lutemi zgjidhni një media"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Skedari ekziston. Mbishkruaj atë?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Autorizim i pa pranuar"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Emër keq NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Media keqe %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "E pa mundur grabitja e ekranit (screenshots) para ndarjeve"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Grabitjet e ekranit (screenshots) janë të mundura mbas instalimit në %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalimi"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurimi"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Ju duhet njashtu ta formatoni %s"
+
+#: 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 ""
+"Disa periferik prezent në sistemin tuaj u nevojiten pilotë ``pronari'' për\n"
+"të funksionuar si duhet. Ju mund të gjeni më shumë informacione përkatëse "
+"këtu: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Nisja e rrjetit (network)"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ndalja e rrjetit (network)"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Ju lutem prisni, rikthim i skedarit"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "e pamundur shtimi instaluesin"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopjimi disa paketa në disqe për përdorim në të ardhmen"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopjimi në progres"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "duhet pa tjetër"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "me rëndësi"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "shumë mirë"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "i mirë"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ndoshta"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Marrja informacionit paketës nga XML meta-data..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Nuk ka informacion xml për medien \"%s\", vetëm rezultati i pjesshëm për "
+"paketën %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Asnjë përshkrim"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Disa paketa të kërkuara nga %s nuk mund të instalohen:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Një gabim ndodhi:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Një gabim fatal është paraqitur: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Mos pyesni përsëri"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "Instalimi i transmetimit të %d dështio"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Instalimi i paketave dështoj:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Stacion punues"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Stacioni Punues në Tryezë"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programe për tryezë: trajtues të teksteve (LibreOffice Writer, Kword), "
+"tablues (LibreOffice Calc, Kspread), çfaqës pdf, etj."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Stacion Lojërash"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programe ahengi: lojë arkade, lojë me stenda, strategji, etj"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Stacion Multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programe për lojëra/botime të zërit dhe videos"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Stacion Interneti"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Set mjetesh për të lexuar dhe për të dërguar postë dhe lajme (mutt, tin ..) "
+"dhe të shfletoni Internetin"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Kompjuter Rrjeti (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klient për protokole të ndryshme me përfshirje në ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Vegla për të konfiguruar kompjuterin tuaj"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Vegla në konsolë"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Botues, interpretues, vegla skedaresh, terminale"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Zhvillimi"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibloteka ndërtuese e C dhe C++, programe dhe skedare me përfshirje"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacioni"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libra dhe Howto's për Linux dhe Softver gratis"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Bazë Standarde e Linux. Përkrahë aplikacione të pjesës së tretë"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grupimi"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Murë-i-Zjarrtë/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Portë kaluese Interneti"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Postë/Lajme"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix server poste, Inn server lajme"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server Skedarësh"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server i Emrit (DNS) dhe Server i Informacionit (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server Shpërndarës Skedarësh dhe Printeri"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Server, Samba server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Bazë e të dhënave"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL dhe MariaDB Database Server"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server i letrave (mail) Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Server PostgreSQL apo MariaDB i bazës së të dhënave"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Server Kompjuter Rrjeti"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, server SMB, server Proxy, server ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Mjedis Grafikë"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Stacionpune Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Mjedisi i Tryezës K, dhe grafiku basic, i mjedisit me koleksionimin e veglave"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stacioni punues Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Një mjedis grafikë me përdorues-miqësie, një përgjithësi e palikacioneve dhe "
+"vegla në tryezë"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Stacioni-Punë Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Një mjedis më i lehtë grafik me një sërë aplikacionesh dhe vegla mjedisi"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Stacionpune MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Stacionpune Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Një mjedis grafik i bazuar në GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt Desktop"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Një port tjetër QT i brezit të mjedisit të lehtë mjedisi"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Mjedisi Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Një mjedis grafik i lehtë, me një ndjekje të dedikuar"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE Desktop"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Një mjedis grafik i lehtë dhe i shpejtë"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Mjedise të Tjera Grafike në Tryezë"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Krijues Windows, Fvwm, etj"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Shërbime"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Konfigurim Serveri Distancë"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Rrjeti Vegla/Monitorim"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Vegla monitorimi, llogaritje procesesh, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Udhëzuesi Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Udhëzuesi për konfigurim serverin"
+
+#: 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 ""
+"Një gabim është paraqitur, dhe me sa duket është vështir të zgjidhet.\n"
+"Ju mund të vazhdoni, mirëpo ju jeni përgjegjës për ndonji gabim eventual."
+
+#: steps.pm:469
+#, 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 ""
+"Disa paketa me rëndësi nuk janë instalur në mënyrë korrekte.\n"
+"Është e mundur që cdrom-i apo lexuesi cdrom të jetë në defekt.\n"
+"Verifikoni cdrom-in në një kompjuter të instalur, duke shtypur urdhërin "
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Nisja e etapës `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Instalimi i %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab> para /<Alt-Tab> mbrapa"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg server është i ngadalshëm për të filluar. Ju lutem prisni..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Kompjuteri juaj posedon sasi të vogël të memorjes. Ju mund të ndesheni me\n"
+"disa probleme gjatë instalimit të %s. Nëse kjo ndodhë, ju\n"
+"mund të vazhdoni në një instalim në modë teksti. Për këtë shtypni `F1' kut "
+"të ndizet në CDROM, dhe shtypni `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Përzgjedhja Mediave"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Instalo %s Mjedisi Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Instalo %s Mjedisi GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Instalim personalizuar"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Mjedisi Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Mjedisi GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Mjedis Personalizuar"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Këtu është një vrojtim i '%s' mjedisit."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Kliko në imazhe për të parë një vrojtim më të madh"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Përzgjedh Grupet Paketave"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Zgjedh pakot individualisht"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Gjitha të Çzgjedhurat"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Madhësia totale: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versioni: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Madhësia: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Me rëndësi: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ju nuk mund ti zgjedhni/çzgjedhni këtë pako"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "ka arritur nga mungesa %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ka arritur gjatë mosmarrëveshjes %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "tentim në gradimin e %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "në urdhër për ta mbajturë %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nu nuk mund ta zgjidhni këtë pako, sepse nuk ka vend të mjaftueshëm për ta "
+"instaluar"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Pakot e radhitura do të instalohen"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Pakot e radhitura do të zhduken"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Kjo është një pako e nevojshme, dhe nuk mund çzgjedhet"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Ju nuk mund ta çzgjedhni këtë pako. Është e instaluar më parë"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ju nuk mund ti çzgjedhni këtë pako. Duhet të azhurnohet"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Paraqiti automatikisht pakot e zgjedhura"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instalim"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Ngarko/Ruaj përzgjedhje"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Azhurnimi i pakove të zgjedhura"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Kaloni midis listës hierarkike dhe të paketës së sheshtë"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Instalim minimal"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Administrues Programesh"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zgjedhi pakot të cilat dëshironi t'instaloni"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instalimi"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Asnjë detaj"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Koha e mbetur:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(vlerësim...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketë"
+msgstr[1] "%d paketat"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Përmbledhje"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfiguroje"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "i pa konfiguruar"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Mënyrat e mëposhtme të instalimit janë gjetur.\n"
+"Nëse doni të kaloni disa prej tyre, ju mund t'i hiqni ato tani."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Ju keni mundësi të kopjoni përmbajtjen e CD-ve në disk para instalimit.\n"
+"Pastaj do të vazhdojë nga disku dhe paketat do të mbeten në dispozicion sapo "
+"sistemi të jetë i instaluar plotësisht."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopjo tërë CDtë"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Një gabim është paraqitur"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Ju lutemi zgjedheni tipin tastierës suaj"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Këtu është lista e plotë e tastierave në dispozicion:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalo/Azhurno"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Është ky një instalim apo një azhurnim?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instalimi"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Azhurno %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Çelës i kriptuar për %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Anulo instalimin, rifillo sistemin"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Instalim i Ri"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Përmirëso instalimin e mëparshme (nuk rekomandohet)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Instaluesi ka zbuluar se sistemi juaj i instaluar Linux nuk ka mundur\n"
+"të përmirësohet në mënyrë të sigurtë %s.\n"
+"\n"
+"Rekomandohet instalimi i ri që zëvendëson të mëparshmin.\n"
+"\n"
+"Kujdes: duhet të ruani të gjitha të dhënat tuaja personale përpara se të "
+"zgjidhni \"Instalim\n"
+"Ri\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfigurimi CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Ndërrojeni Cd-Rom tuaj!\n"
+"\n"
+"Ju lutemi futni Cd-Rom e emruar \"%s\" në lexuesin tuaj dhe shtypni mbi Ok.\n"
+"Nëse ju nuk e posedoni, shtypni mbi kopsën Anulo që më në fund të mos "
+"instaloni asgjë nga ky Cd-Rom."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hetim mbi pakot e lira..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sistemi juaj nuk ka hapësirë të mjaftueshme në dispozicion për instalim ose "
+"azhurnim, (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Ju lutemi zgjidhni ngarko ose ruaj përzgjedhjen e paketës.\n"
+"Formati është i njëjtë me skedarët e gjeneruar të auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Ngarko"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Shpëtoje"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Skedarë keq"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Përzgjedhje Desktop"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Ju mund të zgjidhni mjedisin e profilin tuaj të kompjuterit."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Madhësia e zgjedhur është shumë më e gjatë se sa hapësira e lirë"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tipi i instalimit"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ju nuk e keni zgjedhur asnjë grup të pakove.\n"
+"Ju lutemi zgjedheni një instalim minimal të dëshiruar:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Me X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Instalimi paketave rekomanduara"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Me dokumentacion bazues (rekomanduar!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalim tejet minimal (në veçanti pa urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Përgatitje përmirësim..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pregatitje për instalim"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalimi i pakove %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Një gabim është paraqitur gjatë radhitjes së pakove:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vazhdo pa marrë parasysh?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Riprovo"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Kalo këtë paketë"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hiq të gjitha paketat nga mjedisi \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Kthehuni tek zgjedhja e instaluesit dhe paketave"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Kishte një gabim instalimi i paketës %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurimi i postit-instalues"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Ju lutemi sigurohuni që moduli Përditësimi Moduleve të jetë në disk %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Përditësime"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Ju tani keni mundësinë të krijoni media në internet."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Kjo lejon të instaloni përditësime sigurie."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Për të krijuar ato media, do të duhet të keni një lidhje internet i \n"
+"funksional.\n"
+"\n"
+"Dëshiron të konfigurosh median e përditësimit?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Pakot e radhitura do të instalohen"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Riprovo?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Dështimi kur shton instaluesin"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Tani keni mundësin që të shkarkoni përditësime e krijuara nga\n"
+"dalja e tyre në përdorim. Është e mundur që të ketë korrigjime\n"
+"të sigurisë dhe rregullime të problemeve bug.\n"
+"\n"
+"Për ti transferuar pakot e shënuara, ju duhet të posedoni një lidhje \n"
+"me rrjetin internet.\n"
+"\n"
+"A dëshironi të instaloni këto përditësime?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s mbi %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Pjesë-Elektronike"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Kartelë zëri"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaci grafik"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rrjeti & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfiguruar"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivel i Sigurisë"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Mur i Zjarrt"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktivizuar"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "i nxënë"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Ju nuk e keni konfiguruar serverin X. A jeni i sigurt, se e dëshironi këtë?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Përgatitja programit fillestar për fillimin..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Kini durim, kjo mund të marrë pak kohë..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Në këtë nivel të sigurisë, qasja në skedarë në ndarjen e Windows është i "
+"kufizuar nga administratori."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Futni një disketë të zbrazët në lexuesin e disketave %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Krijimi i një diskete auto instaluese..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Disa etapa nuk kanë përfunduar.\n"
+"\n"
+"A dëshironi me të vërtetë ti braktisni tani?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Urime"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Rinise (riboot)"
+
+#. -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 "Zgjedheni gjuhën tuaj"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Vendndodhja"
+
+#: 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 "Mini"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Zbulim i Diskut të Fortë (Hard disk drive)"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+"_: Mbani këto hyrje të shkurtra\n"
+"klasë Instalimi"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Siguria"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Shpërndarja"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+"_: Mbani këto hyrje të shkurtra\n"
+"Shpërndarja"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+"_: Mbani këto hyrje të shkurtra\n"
+"Zgjedhja paketave"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalimi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Përdoruesit"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurim i X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Përmbledhje"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviset"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+"_: Mbani këto hyrje të shkurtra\n"
+"Përditësime"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Braktise"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL e pasqyrës?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL duhet të filloj me http:// ose https://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Lidhje në sitin %s për të pranuar listën e lirë të pasqyreve..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Dështoi kontaktuari %s faqen për të marrë listën e pasqyrave në "
+#~ "dispozicion"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Zgjedheni një pasqyre nga e cila do ti transferoni pakot"
diff --git a/perl-install/install/share/po/sr.po b/perl-install/install/share/po/sr.po
new file mode 100644
index 000000000..9758561d1
--- /dev/null
+++ b/perl-install/install/share/po/sr.po
@@ -0,0 +1,1714 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# tomaja <toma.jankovic@gmail.com>, 2019-2020
+# Tomislav Jankovic <tomaja@net.yu>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2020-06-23 09:20+0000\n"
+"Last-Translator: tomaja <toma.jankovic@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/MageiaLinux/mageia/language/"
+"sr/)\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\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 "Join Us!"
+msgstr "Придружи нам Ñе!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Ðапавите је Ñвојом!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Ваш избор!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "КанцеларијÑки алати"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Кућна забава"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "За децу"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "За породицу!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "За програмере!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Хвала вам!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Буди Ñлободан!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Да ли имате још додатних медија?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Следећи медији Ñу пронађени и биће корићени током инÑталације: %s.\n"
+"\n"
+"\n"
+"Да ли имате додатних инÑталационих медија које треба подеÑити?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мрежа (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мрежа (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Мрежа (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Подешавање NFS-а"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "УнеÑите име домаћина-hostname и директоријум вашег NFS медија"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "ÐедоÑтаје име домаћина-hostname"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Директоријум мора почети Ñа \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Име домаћина-hostname за монтирање NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Директоријум"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Додатни"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ðе могу пронађем лиÑту пакета на овом мирору. проверите да ли локација "
+"иÑправна."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "ОÑновно Издање"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Ðепроверено Издање"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "ÐеСлободно Издање"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Ðешто од хардвера на вашој машини захтева неке од влаÑничких firmware-ва да "
+"би драјвери отвореног кода радили."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Треба да уљкучите \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" Ñадржи различите делове ÑиÑтема и његових апликација"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" задржи влаÑнички Ñофтвер.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Такође Ñадржи firmware-ове потребне за одређене уређаје да би радили (нпр: "
+"неке ATI/AMD графичке картице, неке мрежне картице, неке RAID картице, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" Ñадржи Ñофтвер који не може да Ñе диÑтрибуира у Ñваку земљу уÑлед "
+"ÑофтверÑких патената."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Такође Ñадржи Ñофтвер Ñа \"%s\" поново креиран Ñа додатним могућноÑтима."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Овде можете пронаћи додатне медије уколико желите."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Овај медиј омогућава надоградњу пакета за медиј \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Тражим већ инÑталиране пакете..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Тражим пакете за ажурирање..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Уклањам Ñтаре пакете..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Следећи пакети ће бити уклоњени да би ÑиÑтем могао да Ñе ажурира: %s\n"
+"\n"
+"\n"
+"Да ли заиÑта желите да уклоните ове пакете?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Грешка код отварања датотека %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следећи диÑк(ови) ће бити преименовани:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (раније Ñа именом %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Изаберите медиј"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Датотека већ поÑтоји. Да ли препишем преко поÑтојеће?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ПриÑтуп одбијен"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Погрешно NFS име"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Лош медиј %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ðе могу да направим Ñнимак пре партиционирања"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Снимци ће бити доÑтупни након инÑталације у %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "ИнÑталација"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Конфигурација"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Морате и %s да форматирате"
+
+#: 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 ""
+"Ðеке хардверÑке компоненте у вашем рачунару захтевају одговарајуће драјвере "
+"да би нормално функциониÑале.\n"
+"Информације о њима можете пронаћи на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ПриÑтупам мрежу"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ОдÑтупам од мреже"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Сачекајте, добављам пакет"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "не могу да додам медиј"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Копирање неких поакета на диÑкове ради каÑније употребе"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Копирање у току"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "морате имати"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важно"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "веома лепо"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "лепо"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "можда"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Добављање информација о пакету из XML мета података..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "Ðема xml инфоа за медиј \"%s\", Ñамо делимични резултати за пакет %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Без опиÑа"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Ðеки пакети потребни за %s не могу бити инÑталирани:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Појавила Ñе грешка:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Појавила Ñе фатална грешка: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ðе питај ме поново"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d инÑталациона транÑакција није уÑпела"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "ИнÑталација пакета није уÑпела:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Радна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Радна(Office) Ñтаница"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office програми: текÑÑ‚ процеÑори (LibreOffice Writer, Kword), табеле "
+"(LibreOffice Calc, Kspread), pdf прегледници, итд"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Станица за игру"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркаде, иге на табли, Ñтратегије, итд"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедијална Ñтаница"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пуштање звука и видеа"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Интернет Ñтаница"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Скуп алата за читање и Ñлање ел.поште и веÑти (mutt, tin..) и за "
+"претраживање Интернета"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежни компјутер (клијент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клијенти за различите протоколе укључујући и ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ðлати за лако конфигуриÑање компјутера"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Конзолни алати"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "едитори,шелови, алати за датотеке, терминали"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Развојна"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C и C++ развојне библиотеке, програми и пропратне датотеке"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Документација"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Књиге и Како? (Howto's) за Linux и БеÑплатни Софтвер"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "ЛинукÑова Стандардна База. Подршка за Third party апликаицје"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб Сервер"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Софтвер за групни рад"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сервер"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Сервер, Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Ел.пошта/веÑти"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix Ñервер за ел.пошту,Inn Ñервер за веÑти "
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Сервер директоријума"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Сервер"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име Домена и Мрежни Информациони Сервер"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Фајл Сервер и Ñервер за дељење штампача"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Сервер, Samba Сервер"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Сервер,Базе података"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL или MariaDB Ñервер за базу података"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Сервер, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail Ñервер"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL или MariaDB Ñервер за базу података"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежни Сервер"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS Ñервер, SMB Ñервер, Proxy Ñервер, SSH Ñервер"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графичко Окружење"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Плазма Радна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K ДеÑктоп окружење, оÑновно графичко окружење Ñа колекцијом пратећих алата"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome радна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графичка окружења за Ñетом кориÑничк NFS server, SMB server, Proxy server, "
+"NFS server, SMB server, Proxy Ñерверих апликација и деÑктопалата"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce Радна Станица"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Лакше графичко окружење Ñа групом апликација и деÑктоп алата прилагођених "
+"кориÑнику"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE Радна Ñтаница"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon Радна Станица"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Графичко окружење базирано на GNOME-у"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt ДеÑктоп"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Следећа генерација QT порта лаганог графичког окружења"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment ДеÑктоп"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Лагано брзо графичко окружење Ñа поÑвећеним праћењем"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE ДеÑктоп"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Лагано брзо графичко окружење"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графички деÑктопови"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, итд."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Ðлати"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сервер"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Ñервер за даљинÑку контролу"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мрежни алати/Мониторинг"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Ðлати за мониторинг, управљање процеÑима, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Чаробњаци"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Чаробњаци за подешавање Ñервера"
+
+#: 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 ""
+"Грешка, али незнам како да је разрешим.\n"
+"ÐаÑтавите на ваш ризик!"
+
+#: steps.pm:469
+#, 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 ""
+"Ðеки важни пакети ниÑу добро инÑталирани.\n"
+"Ваш cdrom уређај или cd Ñу неиÑправни.\n"
+"Проверите cdrom на инÑталираном компјутеру кориÑтеће \"rpm -qpl media/main/*."
+"rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Покрећем корак `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ИнÑталација %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> између елемената"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg Ñервер је Ñпор при покретању. Сачекајте..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ваш ÑиÑтем има мањак Ñнаге. УÑлед тога можете имати проблема при "
+"инÑталацији\n"
+"%s. Уколико Ñе они појаве, можете пробати текÑтуалну инÑталацију. Да би то "
+"поÑтигли,\n"
+"притиÑните `F1' при Ñтартању Ñа CDROM-а, а онда укуцајте `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Избор Медија"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "ИнÑталирај %s Плазма ДеÑктоп"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "ИнÑталирај %s GNOME ДеÑктоп"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Произвољна инÑталација"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Плазма деÑктоп"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME ДеÑктоп"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Произвољни деÑктоп"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Овде је изглед '%s' деÑктопа."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Кликни на Ñлику да би видео већи преглед"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Одабир група пакета"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Појединачно бирање пакета"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "ДеÑелектуј Све"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Укупна величина: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Верзија: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Величина: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ВажноÑÑ‚: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ðе можете Ñелектовати/деÑелектовати овај пакет"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "због не поÑтојања %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "због не задовољеног %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "покушавам да прикажем %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "да бих задржао %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Ðе можете Ñелектовати овај пакет јер нема више Ñлободног проÑтора"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Следећи пакети треба да буду инÑталирани"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следећи пакети ће бити избриÑани"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ово је обавезни пакет,и не може бити деÑелектован"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Можете деÑелектовати овај пакет јер је већ инÑталиран"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Ðе можете деÑелектовати овај пакет.Он мора бити ажуриран"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "ÐутоматÑки прикажи изабране пакете"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ИнÑталирај"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Учитај/Сачувај избор"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ðжурирање Ñелекције пакета"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Прeбацивање између хијерархијÑке и равне лиÑте пакета"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Минимално инÑталирај"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Подешавање Софтвера"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изабери пакете за инÑталацију"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "ИнÑталирам"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Без детаља"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "ПреоÑтало време:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(процењујем...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакет"
+msgstr[1] "%d пакета"
+msgstr[2] "%d пакета"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Сажетак"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "ПодеÑи"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "није подешено"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Пронађени Ñу Ñледећи инÑталациони медији.\n"
+"Уколико желите да преÑкочите неке од њих, деÑелектујте их Ñада."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Имате могућноÑÑ‚ да копирате Ñадржај CD-ова на хард диÑк пре инÑталације.\n"
+"Ðакон тога ће инÑталција наÑтавити Ñа хард диÑка а пакети ће оÑтати доÑтупни "
+"и када Ñе заврши инÑталација."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копирање целог CDа"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Хм,појавила Ñе грешка"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Изаберите раÑпоред таÑтатуре"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Овде је комплетна лиÑта доÑтупних таÑтатура:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ИнÑталација/Ðжурирање"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Да ли је ово инÑталација или ажурирање?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ИнÑталација"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ðжурирање %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Кључ за енкрипцију за %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Прекини инÑталацију, реÑтартуј ÑиÑтем"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ðова инÑталација"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Ðжурирање претходне инÑталације (није препоручљиво)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Програм за инÑталацију је открио да ваш инÑталирани Ð›Ð¸Ð½ÑƒÐºÑ ÑиÑтем не може "
+"безбедно \n"
+"да Ñе надогради на %s.\n"
+"\n"
+"Ðова инÑталација која ће заменити поÑтојећу Ñе препоручује.\n"
+"\n"
+"Упозорење : требало би да направите резервну копију Ñвојих личних података "
+"пре него што изаберете \"Ðова инÑталација\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Подешавање CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Промените ваш Cd-Rom!\n"
+"\n"
+"Убаците ваш CD означен Ñа \"%s\" у погон и притиÑните \"У реду\" када Ñте "
+"Ñпремни.\n"
+"Уколико га немате притиÑните Поништи."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Тражим пакете"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Ваш ÑиÑтем нема довољно Ñлободног проÑтора за инÑталацију или ажурирање "
+"ÑиÑтема (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Молим Ð’Ð°Ñ Ð´Ð° изаберете учитавање или Ñнимање Ñелекције пакета.\n"
+"Формат који Ñе кориÑти је иÑти као и код auto_install генериÑаних фајлова."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Учитај"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Сачувај"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Лош фајл"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Плазма"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Избор ДеÑктопа"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Можете изабрати ваш деÑктоп профил."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Селектована величина је веђа од Ñлободног проÑтора"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Тип инÑталације"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"ÐиÑте Ñелектовали ниједну групу пакета.\n"
+"Изаберите минималну инÑталацију коју желите:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Са X-овима"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "ИнÑталирај препоручене пакете"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Са оÑновном документацијом (препорука!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Стварно минимална инÑталација (поÑебно без urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Припремам надоградњу..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Припремам инÑталацију"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "ИнÑталирам пакет %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Грешка у лиÑти пакета:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Свеједно наÑтавити даље ?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Покушај поново"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ПреÑкочи овај пакет"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "ПреÑкочи Ñве пакете Ñа медија \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Иди назад на медиј и избор пакета"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Појавила Ñе грешка при инÑталацији пакета%s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ПоÑтинÑталациона конфигурација"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Проверите да ли Ñе у уређају %s налази медиј за ажурирање модула"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ðжурирање"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Сада имате могућноÑÑ‚ да подеÑите online медиј."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Ово омогућава инÑталацију ÑигурноÑних ажурирања."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Да би подеÑили те медије, биће вам потребна Интернет \n"
+"конекција.\n"
+"Да ли желите да подеÑите online медиј?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Следећи пакети треба да буду инÑталирани"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Покушај поново?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Грешка при убацивању медија"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Сада имате могућноÑÑ‚ да download-ујете ажуриране пакете који Ñу\n"
+"креирани након излаÑка диÑтрибуције.\n"
+"Они могу Ñадржавати иÑправке грешака и ÑигурноÑних рупа\n"
+"\n"
+"Да би Ñкинули ове пакете морате да имате подешену Интернет конекцију.\n"
+"\n"
+"да ли желите да инÑталирате update-ове ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Хардвер"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Звучна картица"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Графички интерфејÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑији"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "подешено"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Ðиво ÑигурноÑти"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Заштитни зид (Firewall)"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "Ðктивирано"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "онемогућено"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "ÐиÑте подеÑили X. Да ли Ñте Ñигурни да желите то?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Припрема иницијалног програма за покретање..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Будите Ñтрпљиви, ово може потрајати..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"У овом ÑугурноÑном нивоу приÑтуп фајловима на Windows партицији је дозвољен "
+"Ñамо админиÑтраторима."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Убаците празну диÑкету у уређај %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Креирам ауто инÑталациони флопи"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ðеки кораци ниÑу комплетирани.\n"
+"\n"
+"Да ли Ñтварно желите да завршите ?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ЧеÑтитке"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "РеÑтарт"
+
+#. -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 "Језик"
+
+#: 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 "Лиценца"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Миш"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Детекција хард диÑка"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "ИнÑталациона клаÑа"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ТаÑтатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "СигурноÑÑ‚"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ПартициониÑање"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирање"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Избор пакета"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ИнÑталирам"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "КориÑници"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Стартер"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "КонфигуриÑање X-а"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Сажетак"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "СервиÑи"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ðжурирање"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Излаз"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "УРЛ мирора?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "УРЛ мора почињати Ñа ftp:// или http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Контактирајте %s web Ñајт да би добили лиÑту доÑтупних mirror-а..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "ÐеуÑпешно уÑпоÑтављање везе Ñа %s web Ñајт ради лиÑте доÑтупних mirror-а"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Изаберите mirror Ñа ког ћете Ñкинути пакете"
diff --git a/perl-install/install/share/po/sr@Latn.po b/perl-install/install/share/po/sr@Latn.po
new file mode 100644
index 000000000..08b2f9242
--- /dev/null
+++ b/perl-install/install/share/po/sr@Latn.po
@@ -0,0 +1,1994 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Toma Jankovic_<tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\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 "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, fuzzy, c-format
+msgid "Office tools"
+msgstr "Radna(Office) stanica"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, 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:154
+#, 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:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mreža (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Mreža (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Podešavanje NFS-a"
+
+#: any.pm:225
+#, 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:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Nedostaje ime domaćina-hostname"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktorijum mora poÄeti sa \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime domaćina-hostname za montiranje NFS ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktorijum"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatni"
+
+#: any.pm:300
+#, 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:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tražim već instalirane pakete..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Tražim pakete za ažuriranje..."
+
+#: any.pm:612
+#, 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:850
+#, 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:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Greška kod otvaranja datoteka %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sledeći disk(ovi) će biti preimenovani:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ranije sa imenom %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Izaberite medij"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka već postoji. Da li prepišem preko postojeće?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Pristup odbijen"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Pogrešno NFS ime"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Loš medij %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ne mogu da napravim snimak pre particioniranja"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Snimci će biti dostupni nakon instalacije u %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Instalacija"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguracija"
+
+#: install2.pm:220
+#, 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:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiranje nekih poaketa na diskove radi kasnije upotrebe"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje u toku"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "morate imati"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "veoma lepo"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "lepo"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Bez opisa"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, fuzzy, c-format
+msgid "An error occurred:"
+msgstr "Hm,pojavila se greška"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Pojavila se fatalna greška: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d instlaciona transakcija nije uspela"
+
+#: pkgs.pm:929
+#, fuzzy, c-format
+msgid "Installation of packages failed:"
+msgstr "Instaliram paket %s"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Radna(Office) stanica"
+
+#: share/meta-task/compssUsers.pl:20
+#, 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:26
+#, c-format
+msgid "Game station"
+msgstr "Stanica za igru"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkade, ige na tabli, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijalna stanica"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za puštanje zvuka i videa"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:37
+#, 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:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežni kompjuter (klijent)"
+
+#: share/meta-task/compssUsers.pl:43
+#, 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:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lako konfigurisanje kompjutera"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolni alati"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "editori,šelovi, alati za datoteke, terminali"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Razvojna"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, 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:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, 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:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, 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:79
+#, c-format
+msgid "Web Server"
+msgstr "Veb Server"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Softver za grupni rad"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Server, Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "El.pošta/vesti"
+
+#: share/meta-task/compssUsers.pl:93
+#, 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:97
+#, c-format
+msgid "Directory Server"
+msgstr "Server direktorijuma"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ime Domena i Mrežni Informacioni Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fajl Server i server za deljenje Å¡tampaÄa"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Server, Samba Server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Server,Baze podataka"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL ili MariaDB server za bazu podataka"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Server, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ili MariaDB server za bazu podataka"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni Server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "GrafiÄko Okruženje"
+
+#: share/meta-task/compssUsers.pl:152
+#, fuzzy, c-format
+msgid "Plasma Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:153
+#, 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:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome radna stanica"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, 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:164
+#, fuzzy, c-format
+msgid "Xfce Workstation"
+msgstr "KDE padna stanica"
+
+#: share/meta-task/compssUsers.pl:165
+#, fuzzy, c-format
+msgid ""
+"A lighter 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:169
+#, fuzzy, c-format
+msgid "MATE Workstation"
+msgstr "Gnome radna stanica"
+
+#: share/meta-task/compssUsers.pl:174
+#, fuzzy, c-format
+msgid "Cinnamon Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:175
+#, fuzzy, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GrafiÄko Okruženje"
+
+#: share/meta-task/compssUsers.pl:179
+#, fuzzy, c-format
+msgid "LXQt Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:181
+#, fuzzy, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+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:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+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:189
+#, fuzzy, c-format
+msgid "LXDE Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "A lightweight fast graphical environment"
+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:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Drugi grafiÄki desktopovi"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr " Window Maker, Enlightenment, Fvwm, itd"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Alati"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin server za daljinsku kontrolu"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Mrežni alati/Monitoring"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Alati za monitoring, upravljanje procesima, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia ÄŒarobnjaci"
+
+#: share/meta-task/compssUsers.pl:236
+#, 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:469
+#, 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 "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 steps_gtk.pm:764
+#, fuzzy, c-format
+msgid "Media Selection"
+msgstr "Odabir grupa paketa"
+
+#: steps_gtk.pm:257
+#, fuzzy, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "IceWm Desktop"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, fuzzy, c-format
+msgid "Custom install"
+msgstr "Minimalno instaliraj"
+
+#: steps_gtk.pm:280
+#, fuzzy, c-format
+msgid "Plasma Desktop"
+msgstr "IceWm Desktop"
+
+#: steps_gtk.pm:281
+#, fuzzy, c-format
+msgid "GNOME Desktop"
+msgstr "IceWm Desktop"
+
+#: steps_gtk.pm:282
+#, fuzzy, c-format
+msgid "Custom Desktop"
+msgstr "IceWm Desktop"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Odabir grupa paketa"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "PojedinaÄno biranje paketa"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Deselektuj Sve"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veliÄina: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Verzija: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "VeliÄina: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Važnost: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ne možete selektovati/deselektovati ovaj paket"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "zbog ne postojanja %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog ne zadovoljenog %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokušavam da prikažem %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "da bih zadržao %s"
+
+#: steps_gtk.pm:474
+#, 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:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Sledeći paketi treba da budu instalirani"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Sledeći paketi će biti izbrisani"
+
+#: steps_gtk.pm:504
+#, 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:506
+#, 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:508
+#, 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:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatski prikaži izabrane pakete"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Instaliraj"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "UÄitaj/SaÄuvaj izbor"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ažuriranje selekcije paketa"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalno instaliraj"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Podešavanje Softvera"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izaberi pakete za instalaciju"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Bez detalja"
+
+#: steps_gtk.pm:610
+#, fuzzy, c-format
+msgid "Time remaining:"
+msgstr "Preostalo vreme"
+
+#: steps_gtk.pm:611
+#, fuzzy, c-format
+msgid "(estimating...)"
+msgstr "Procenjujem"
+
+#: steps_gtk.pm:637
+#, 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:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sažetak"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Podesi"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nije podešeno"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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:789 steps_interactive.pm:321
+#, 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:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiranje celog CDa"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Hm,pojavila se greška"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Izaberite raspored tastature"
+
+#: steps_interactive.pm:109
+#, 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:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalacija/Ažuriranje"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Da li je ovo instalacija ili ažuriranje?"
+
+#: steps_interactive.pm:159
+#, fuzzy, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Instaliraj"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ažuriranje %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "KljuÄ za enkripciju za %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, fuzzy, c-format
+msgid "New Installation"
+msgstr "Instalacija"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, fuzzy, c-format
+msgid "Configuring CD/DVD"
+msgstr "Konfiguracija IDE"
+
+#: steps_interactive.pm:354
+#, 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:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim pakete"
+
+#: steps_interactive.pm:380
+#, 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:428
+#, 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:430
+#, c-format
+msgid "Load"
+msgstr "UÄitaj"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "SaÄuvaj"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Loš fajl"
+
+#: steps_interactive.pm:455
+#, fuzzy, c-format
+msgid "Plasma"
+msgstr "IceWm Desktop"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, fuzzy, c-format
+msgid "Desktop Selection"
+msgstr "Odabir grupa paketa"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Selektovana veliÄina je veÄ‘a od slobodnog prostora"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Tip instalacije"
+
+#: steps_interactive.pm:577
+#, 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:582
+#, c-format
+msgid "With X"
+msgstr "Sa X-ovima"
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Install recommended packages"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporuka!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno minimalna instalacija (posebno bez urpmi)"
+
+#: steps_interactive.pm:637
+#, fuzzy, c-format
+msgid "Preparing upgrade..."
+msgstr "Pripremam starter..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Greška u listi paketa:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Svejedno nastaviti dalje ?"
+
+#: steps_interactive.pm:683
+#, fuzzy, c-format
+msgid "Retry"
+msgstr "Obnovi"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "SaÄuvaj selekciju paketa"
+
+#: steps_interactive.pm:689
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Greška pri instalaciji paketa:"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Postinstalaciona konfiguracija"
+
+#: steps_interactive.pm:715
+#, 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:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ažuriranje"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Sledeći paketi treba da budu instalirani"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, fuzzy, c-format
+msgid "Retry?"
+msgstr "Obnovi"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardver"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ZvuÄna kartica"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "GrafiÄki interfejs"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proksiji"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "podešeno"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Nivo sigurnosti"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Zaštitni zid (Firewall)"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "Aktivirano"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "onemogućeno"
+
+#: steps_interactive.pm:1041
+#, 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?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, fuzzy, c-format
+msgid "Preparing initial startup program..."
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, 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:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ubacite praznu disketu u uređaj %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kreiram auto instalacioni flopi"
+
+#: steps_interactive.pm:1134
+#, 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:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ÄŒestitke"
+
+#: steps_interactive.pm:1147
+#, 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"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL mirora?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL mora poÄinjati sa ftp:// ili http://"
+
+#, 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..."
+
+#, 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"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Izaberite mirror sa kog ćete skinuti pakete"
+
+#~ msgid "KDE Workstation"
+#~ msgstr "KDE padna stanica"
+
+#, fuzzy
+#~ msgid "XFCE Workstation"
+#~ msgstr "KDE padna stanica"
+
+#, fuzzy
+#~ msgid "RazorQT Desktop"
+#~ msgstr "IceWm Desktop"
+
+#~ msgid "Do you have an ISA sound card?"
+#~ msgstr "Da li imate ISA zvuÄnu karticu?"
+
+#~ 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"
+
+#~ msgid "No sound card detected. Try \"harddrake\" after installation"
+#~ msgstr ""
+#~ "Nije detektovana zvuÄna kartica. Pokrenite \"harddrake\" nakon instalacije"
+
+#, fuzzy
+#~ msgid "KDE Desktop"
+#~ msgstr "IceWm Desktop"
+
+#~ msgid "KDE"
+#~ msgstr "KDE"
+
+#~ msgid "CD-ROM"
+#~ msgstr "CD-ROM"
+
+#, fuzzy
+#~ msgid ""
+#~ "The Plasma Desktop, 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"
+
+#~ msgid "IDE"
+#~ msgstr "IDE"
+
+#~ msgid "Preparing bootloader..."
+#~ msgstr "Pripremam starter..."
+
+#, fuzzy
+#~ 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"
+
+#~ 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"
+
+#~ 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"
+
+#~ 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"
+
+#~ msgid "Welcome"
+#~ msgstr "Dobrodošli"
+
+#~ msgid "Select All"
+#~ msgstr "Selektuj Sve"
+
+#~ msgid "Bad package"
+#~ msgstr "Loš paket"
+
+#, 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)"
diff --git a/perl-install/install/share/po/sv.po b/perl-install/install/share/po/sv.po
new file mode 100644
index 000000000..fb309d782
--- /dev/null
+++ b/perl-install/install/share/po/sv.po
@@ -0,0 +1,1706 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Fuad Sabanovic <manijak@telia.com>, 2000
+# Kenneth Krekula, 2005
+# Kenneth Krekula <kenneth.krekula@kiruna.se>, 2007
+# Kristoffer Grundström <lovaren@gmail.com>, 2013
+# Kristoffer Grundström <lovaren@gmail.com>, 2013-2016
+# Kristoffer Grundström <lovaren@gmail.com>, 2021-2022
+# Lars Westergren <lars.westergren@home.se>, 2003-2005
+# Magnus Björklöf <bjorklof@nic.fi>, 2003
+# Mattias Dahlberg <voz@home.se>, 2001-2002
+# Mattias Newzella <newzella@linux.nu>, 2001-2003
+# Michael Eklund <willard@null.net>, 2014-2016,2019,2023
+# Thomas Backlund <tmb@mageia.org>, 2011
+# Thomas Backlund <tmb@mandriva.org>, 2004-2006,2008-2009
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Michael Eklund <willard@null.net>, 2014-2016,2019,2023\n"
+"Language-Team: Swedish (http://app.transifex.com/MageiaLinux/mageia/language/"
+"sv/)\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Anslut dig till oss!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Gör det ditt!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Ditt val!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Kontorsverktyg"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Hemunderhållning"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "För barn"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "För familj!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "För utvecklare!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Tack så mycket!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Var fri!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du fler installationskällor att lägga till?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Följande media har hittats och kommer att användas under installationen: "
+"%s.\n"
+"\n"
+"\n"
+"Har du några tilläggs-medier du vill konfigurera?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nätverk (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nätverk (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nätverk (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Konfigurera NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Ange namn och katalog för ditt NFS-media"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Värdnamn saknas"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Katalogen måste börja med \"/\""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Värdnamn för NFS-anslutning ?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Tillägg"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kan inte hitta hdlist-filen på denna spegel"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"En del hårdvaror i din maskin behöver några icke-fria inre mjukvaror för att "
+"de fria drivrutinerna ska kunna fungera."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Du borde aktivera \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" innehåller olika delar för systemet och dess program"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" innehåller nonfree-mjukvara.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Det innehåller också programvaror som behövs för att särskilda enheter ska "
+"fungera (t.ex. några grafikkort från ATI/AMD, nätverkskort och RAID-"
+"kort, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" innehåller mjukvara som inte kan distribueras i alla länder på grund "
+"av mjukvarupatent."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "Det innehåller även mjukvara från \"%s\" med extra möjligheter."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Här kan du aktivera fler medier om du vill."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Det här mediet erbjuder paket-uppdateringar för mediet \"%s\""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Söker efter paket som redan är installerade..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Söker efter paket att uppdatera..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Tar bort paket före uppgradering..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Följande paket kommer att tas bort för att kunna uppdatera systemet: %s\n"
+"\n"
+"\n"
+"Vill du verkligen ta bort dessa paket?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fel uppstod när filen %s skulle läsas"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Följande disk(ar) döptes om:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (hette tidigare %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Nätverk"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Välj media"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Filen finns redan. Skriv över?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ã…tkomst nekad"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Felaktigt NFS-namn"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Oanvändbart media %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Kan inte ta skärmdumpar före partitionering"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skärmdumpar kommer att finnas tillgängliga efter installationen i %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Du måste också formatera %s"
+
+#: 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 ""
+"En del hårdvara i datorn behöver patenterade drivrutiner för att\n"
+"fungera. Du hittar en del information om dem här: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Startar nätverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Stoppar nätverket"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Vänligen vänta, hämtar filen"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "kan inte lägga till media"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierar några paket till hårddisken för senare användning"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering pågår"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "nödvändigt"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "viktigt"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "väldigt trevligt"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "trevligt"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "tveksamt"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Hämtar paket-information från XML meta-data..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ingen xml-info för media \"%s\", endast partiellt resultat för paket %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ingen beskrivning"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Vissa paket som krävs av %s kan inte installeras:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Ett fel inträffade:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Ett allvarligt fel inträffade: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Fråga inte igen"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d installationstransaktioner misslyckades"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Installation av paket misslyckades:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Arbetsstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontorsarbetsstation"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorsprogram: ordbehandlare (LibreOffice Writer, Kword), kalkylprogram "
+"(LibreOffice Calc, Kspread), PDF-visare, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Spelstation"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underhållande program: arkad, brädspel, strategi, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastation"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Redigerings- och uppspelningsprogram för video och ljud"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internetstation"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"En samling verktyg för att läsa och skicka e-post och nyheter (mutt, tin...) "
+"och för att utforska Internet"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nätverksdator (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter för olika protokoll inklusive SSH"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktyg för att underlätta konfigurationen av datorn"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktyg"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorer, skal, filverktyg, terminaler"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Utveckling"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Utvecklingsbibliotek, program och include-filer för C och C++"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Böcker och \"Howto's\" om Linux och fri mjukvara"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Stöd för tredjepartsprogram"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Webbserver"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brandvägg/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Nyheter"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "E-postservern Postfix, Nyhetsgruppservern Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Katalog-server"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domännamnserver och Nätverksinformationsserver"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil och skrivarserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS och Samba-server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Databas"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL- och MariaDB-databasserver"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Webb/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "E-postservern Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL- eller MariaDB-databasserver"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Nätverksserver"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-server, SMB-server, Proxyserver, SSH-server"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljö"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Arbetsstation för Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, den grundläggande grafiska miljön med en samling "
+"tillhörande verktyg"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Arbetsstation för GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafisk miljö med en samling användarvänliga program och skrivbordsverktyg"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Arbetsstation för Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"En lättare grafisk miljö med en användarvänlig uppsättning av program och "
+"skrivbordsverktyg"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Arbetsstation för MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Arbetsstation för Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "En grafisk miljö baserad på GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt-skrivbord"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "En nästa generations QT-portering av den lätta skrivbordsmiljön"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment-skrivbord"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "En lättviktig snabb grafisk miljö med ett dedikerat efterföljande"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE-skrivbord"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "En lätt och snabb grafisk miljö"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andra grafiska skrivbordsmiljöer"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, mfl."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Verktyg"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Fjärrkonfiguration med Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nätverksverktyg/övervakning"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Övervakningsverktyg, processhantering, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia-guider"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Guider för att konfigurera servern"
+
+#: 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 ""
+"Ett fel uppstod och jag vet inte hur det kan hanteras på ett\n"
+"bra sätt.\n"
+"Fortsätt på egen risk."
+
+#: steps.pm:469
+#, 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 ""
+"NÃ¥gra viktiga paket blev inte installerade ordentligt.\n"
+"Antingen är cd-enheten eller cd-skivan trasig.\n"
+"Du kan kontrollera cd-skivan på en redan installerad\n"
+"Mageia-dator med kommandot \"rpm -qpl media/main/*.rpm\".\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "GÃ¥r in i steget \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellan elementen"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg-servern är långsam i starten. Vänligen vänta..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Systemet har ont om resurser. Du kan få problem med att installera\n"
+"%s. Om det blir problem kan du prova den textbaserade\n"
+"installationen istället. För att göra det tryck F1 när du startar\n"
+"från cd-skivan, skriv sedan \"text\"."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Val av media"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Installera %s Plasma-skrivbordet"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Installera %s GNOME-skrivbordet"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Anpassad installation"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma-skrivbord"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME-skrivbord"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Anpassat skrivbord"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Här är en förhandsvisning av '%s'-skrivbordet."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Klicka på bilderna för att se en större förhandsvisning"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Val av paketgrupper"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuellt paketval"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Avmarkera alla"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total storlek: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Storlek: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Betydelsegrad: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Du kan inte välja/välja bort det här paketet."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "för att %s saknas"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "på grund av otillräckliga %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "försöker befordra %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "för att behålla %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan inte välja det här paketet eftersom det inte finns tillräckligt med "
+"ledigt utrymme."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Följande paket kommer att installeras"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "De följande paketen kommer att tas bort"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Det här är ett obligatoriskt paket, det kan inte avmarkeras"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Du kan inte välja bort det här paketet. Det är redan installerat."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Du kan inte välja bort det här paketet. Det måste uppdateras."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Visa automatiskt valda paket"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Installera"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Ladda/spara val"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Uppdaterar paketval"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Växla mellan hierarkisk och platt paket-lista"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installation"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Programhantering"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Välj de paket som du vill installera"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Installerar"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Inga detaljer"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tid som återstår:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(uppskattar...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketet"
+msgstr[1] "%d paket"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Sammanfattning"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Konfigurera"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "inte inställt"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Följande installationskällor har hittats.\n"
+"Du kan välja bort de du inte vill använda dig av."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Du har möjlighet att kopiera innehållet från CDn till hårddisken innan "
+"installationen påbörjas.\n"
+"Installationen kommer sedan att fortsätta från hårddisken och paketen kommer "
+"fortsättningsvis att vara tillgängliga när systemet är färdiginstallerat."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiera hela CD-skivor"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Ett fel inträffade"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Vänligen välj din tangentbordslayout"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Här är den fullständiga listan över tillgängliga tangentbord:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installera/Uppgradera"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Är det här en installation eller en uppgradering?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Installera"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uppgradera %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnyckel för %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Avbryt installationen, starta om systemet"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ny installation"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Uppgradera tidigare installation (rekommenderas ej)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Installationsprogrammet har märkt att ditt installerade Linux\n"
+"system inte kan uppgraderas på ett säkert sätt till %s.\n"
+"\n"
+"En ny installation som ersätter din tidigare rekommenderas.\n"
+"\n"
+"Varning: Du bör säkerhetskopiera alla dina personliga filer innan du\n"
+"väljer \"Ny installation\"."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Ställer in CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Byt CD-skiva.\n"
+"\n"
+"Sätt i CD-skivan med namn \"%s\" och klicka på OK.\n"
+"Om du inte har den, klicka på Avbryt för att hoppa över\n"
+"den delen av installationen."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Söker efter tillgängliga paket..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Ditt system har inte tillräckligt med utrymme kvar för installation eller "
+"uppgradering (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Välj ladda eller spara paketval.\n"
+"Formatet är detsamma som för auto_install-genererade filer."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Ladda"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Spara"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Trasig fil"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Skrivbordsval"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Du kan välja din arbetsstations skrivbordsprofil."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Vald storlek är större än tillgängligt utrymme."
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Installationstyp"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har inte valt några paket-grupper.\n"
+"Vänligen välj den minimala installationen som du vill ha:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Installera rekommenderade paket"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grundläggande dokumentation (rekommenderas)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Minimal installation (ingen urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Förbereder uppgradering..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Förbereder installation"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerar paket %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det uppstod ett fel när paketen skulle sorteras:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsätta ändå?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Försök igen"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Hoppa över det här paketet"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hoppa över alla paket från mediet \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "GÃ¥ tillbaka till media och paketval"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Det uppstod ett fel vid installation av paketet %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfiguration efter installationen"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Vänligen säkerställ att mediet för uppdateringsmoduler finns i enheten %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Uppdateringar"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Du har nu möjlighet att ange online-media"
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Det här tillåter installation av säkerhetsuppdateringar."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"För att ange dessa media behöver du en fungerande internetanslutning.\n"
+"\n"
+"Vill du ange uppdateringsmedia?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Den nerladdningen kunde inte installeras."
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Försök igen?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Fel när media skulle läggas till"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Du har nu möjlighet att ladda hem programuppdateringar. De här\n"
+"paketen\n"
+"har utkommit efter att denna distributionen släpptes. De kan\n"
+"innehålla säkerhetsuppdateringar eller felrättningar.\n"
+"\n"
+"Du behöver en fungerande Internetanslutning för att kunna ladda ner dessa "
+"paket.\n"
+"\n"
+"Vill du installera uppdateringarna?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "HÃ¥rdvara"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Ljudkort"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiskt gränssnitt"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Nätverk & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxy-servrar"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "konfigurerad"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Säkerhetsnivå:"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Brandvägg"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "aktiverad"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "inaktiverad"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Du har inte konfigurerat X. Är du säker på att du vill göra detta?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Förbereder initiellt uppstartsprogram..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Ha tålamod, det här kan ta en stund..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"På den här säkerhetsnivån är tillgång till Windowspartitionen begränsad till "
+"administratören."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sätt in en tom diskett i enhet %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Skapar automatisk installationsdiskett"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Några steg är inte slutförda.\n"
+"\n"
+"Vill du verkligen avbryta nu?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Grattis"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Starta om"
+
+#. -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 "Välj språk"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Lokalisering"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Identifiering av hårddisk"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installationsklass"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tangentbord"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Säkerhet"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionering"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatering"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Väljer paket"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerar"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Användare"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Starthanterare"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ställ in X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sammanfattning"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjänster"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uppdateringar"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avsluta"
diff --git a/perl-install/install/share/po/ta.po b/perl-install/install/share/po/ta.po
new file mode 100644
index 000000000..50bf04f1b
--- /dev/null
+++ b/perl-install/install/share/po/ta.po
@@ -0,0 +1,1639 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# prabu <prabu_anand2000@yahoo.com>, 2002
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Tamil (http://www.transifex.com/MageiaLinux/mageia/language/"
+"ta/)\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "அடைவà¯"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "à®à®±à¯à®•னவே நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ பொதிகள௠பாரà¯à¯ˆà®µà®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®•ினà¯à®±à®©"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿ வேணà¯à®Ÿà®¿à®¯ பொதிகள௠அறியபà¯à®ªà®Ÿà¯à®•ினà¯à®±à®©"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s எனà¯à®± கோபà¯à¯‡à®ªà®¾ படிபà¯à®ªà®¤à®¿à®²à¯ பிழை நேரà¯à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "வலையமைபà¯à®ªà¯"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "வகிரà¯à®¤à®²à¯ à®®à¯à®Ÿà®¿à®µà®¤à®±à¯à®•௠மà¯à®©à¯ திரைவேடà¯à®Ÿà¯ எடà¯à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "நிறà¯à®µà®¿ à®®à¯à®Ÿà®¿à®¤à¯à®¤à®µà¯à®Ÿà®©à¯ திரைவேடà¯à®Ÿà¯à®•ள௠%s எனà¯à®± அடைவில௠கிடைகà¯à®•à¯à®®à¯"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "வடிவமைபà¯à®ªà¯à®•ளà¯"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "நீஙà¯à®•ள௠%s இதனையà¯à®®à¯ வடிவà¯à®Ÿà¯à®Ÿ வேணà¯à®Ÿà¯à®®à¯"
+
+#: 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 ""
+"உஙà¯à®•ள௠கணினியில௠உளà¯à®³ சில வனà¯à¯†à®ªà®¾à®°à¯à®Ÿà¯à®•ளின௠இயகà¯à®• நிரலை\n"
+"நீஙà¯à®•ள௠%s இஙà¯à®•ிரà¯à®¨à¯à®¤à¯ எடà¯à®•à¯à®•லாமà¯"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "வலையமைபà¯à®ªà®¾à®•à¯à®•à®™à¯à®•ள௠à®à®±à¯à®±à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "வலையமைபà¯à®ªà®¾à®•à¯à®•à®™à¯à®•ள௠மà¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "நிசà¯à®šà®¯à®®à¯ இரà¯à®•à¯à®• வேணà¯à®Ÿà®¿à®¯à®µà¯ˆ"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "à®®à¯à®•à¯à®•ியமானவை"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "மிக அழகானவை"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "அழகானவை"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "தேவைபà¯à®ªà®Ÿà¯à®Ÿà®¾à®²à¯"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "இவரிகà¯à®• விலà¯à®²à¯ˆ"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "வேலைகà¯à®•ளமà¯"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "அலà¯à®µà®²à¯ கரà¯à®µà®¿à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "விளையாடà¯à®Ÿà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "விளையாடà¯à®Ÿà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "பலà¯à®²à¯‚டக கணினி"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "பலà¯à®²à¯‚டக இயகà¯à®•ிகளà¯/உரà¯à®µà®¾à®•à¯à®• நிரலà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "இணையக௠கணினி"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "வலையமைபà¯à®ªà¯à®•௠கணினி(வேணà¯à®Ÿà®¿)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh à®®à¯à®¤à®²à®¿à®¯ வலையமைபà¯à®ªà¯à®•௠கரà¯à®µà®¿à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "உஙà¯à®•ள௠கணினியை எளிதாக வடிவமைகà¯à®• உதவà¯à®™à¯à®•à®°à¯à®µà®¿à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "à®®à¯à®©à¯ˆà®¯à®•௠கரà¯à®µà®¿à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "à®®à¯à®©à¯ˆà®¯à®®à¯,தொகà¯à®ªà¯à®ªà®¾à®³à®°à¯à®•ளà¯, கோபà¯à®ªà¯ மேலாளரà¯à®•ள௠மறà¯à®±à¯à®®à¯ ஓடà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "உரà¯à®µà®¾à®•à¯à®•à®®à¯"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C மறà¯à®±à¯à®®à¯ C++ நூலக நிரலà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "உதவிநூலà¯"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "பà¯à®¤à¯à®¤à®•à®™à¯à®•ள௠மறà¯à®±à¯à®®à¯ எபà¯à®ªà®Ÿà®¿à®šà¯ செயà¯à®µà®¤à¯ போனà¯à®± உதவி நூலà¯"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "LSB- லினகà¯à®¸à¯ தரகà¯à®•டà¯à®Ÿà¯à®ªà¯à®ªà®¾à®Ÿà¯à®Ÿà¯à®•à¯à®•௠தேவையான நிரலà¯à®•ளà¯."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "இணையதà¯à®¤à®³ சேவையகமà¯"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "கà¯à®°à¯‚பà¯à®µà¯‡à®°à¯"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "கோலாப௠சேவகனà¯"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "நெரà¯à®ªà¯à®ªà¯à®šà¯à®šà¯à®µà®°à¯/வழிபà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "இணைய நà¯à®´à¯ˆà®µà®¾à®¯à®¿à®²à¯"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "தரவà¯à®¤à®³à®™à¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "இணையதள/கோபà¯à®ªà¯à®ªà¯ பாிமாறà¯à®±à®®à¯"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "அபà¯à®ªà®¾à®šà¯à®šà®¿, ftpd போனà¯à®± பரிமாறà¯à®±à¯ நிரலà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "மினà¯à®©à®žà¯à®šà®²à¯"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL/MariaDB தரவà¯à®¤à¯à®¤à®³ பரிமாறிகளà¯"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "வலையமைபà¯à®ªà®• பரிமாறி"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS /சமà¯à®ªà®¾/பினாமி/ssh பரிமாறிகளà¯"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "வரைவியலà¯à®µà®´à®¿ சூழலà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Kசாளரமைபà¯à®ªà¯- ஓர௠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•௠எளிதான வரைவியலà¯à®µà®´à®¿ மேலாளரà¯"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "கà¯à¯‡à®©à®¾à®®à¯ பணிகà¯à®•ணினி"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "ஓர௠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®µà®¤à®±à¯à®•௠எளிதான வரைவியலà¯à®µà®´à®¿ மேலாளரà¯"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "மறà¯à®± வரைவியலà¯à®µà®´à®¿ மேலாளரà¯à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "உதவிகà¯à®•à®°à¯à®µà®¿à®•ளà¯"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"பிழை நேரà¯à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯ மனà¯à®©à®¿à®•à¯à®•வà¯à®®à¯ எனகà¯à®•௠எனà¯à®© செயà¯à®µà®¤à¯†à®©à¯à®±à¯ தெரியவிலà¯à¯ˆà®²\n"
+"தொடரà¯à®¨à¯à®¤à¯ செலà¯à®µà®¤à¯ உஙà¯à®•ள௠பொறà¯à®ªà¯à®ªà¯"
+
+#: steps.pm:469
+#, 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 ""
+"சில à®®à¯à®•à¯à®•ிய பொதிகள௠நிறà¯à®µà¯à®µà®¤à®¿à®²à¯ பிழை நேரà¯à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯\n"
+"உஙà¯à®•ள௠சிடி அலà¯à®²à®¤à¯ சிடி இயகà¯à®•ி பழà¯à®¤à®Ÿà¯ˆà®¨à¯à®¤à¯ இரà¯à®•à¯à®•லாமà¯.\n"
+"உஙà¯à®•ள௠சிடியைச௠சோதிகà¯à®• à®à®±à¯à®•னவே இயஙà¯à®•à¯à®•ினà¯à®± கணினியில௠\"rpm -qpl media/main/*.rpm என "
+"கடà¯à®Ÿà®³à¯ˆà®¯à®¿à®Ÿà®µà¯à®®à¯\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "தறà¯à¯‡à®ªà®¾à®¤à¯ இநà¯à®¤ `%s நிலைகà¯à®•௠செலà¯à®•ிறோமà¯' \n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "பொதிகள௠கà¯à®´à¯à®¤à¯ தேரà¯à®µà¯"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "தனிதà¯à®©à®¿ பொதியாக தேரà¯à®µà¯à®šà¯ செயà¯"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "மெகா பைடà¯à®Ÿà®¿à®²à¯ மொதà¯à®¤ அளவ௠%d / %d"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "வெளியீடà¯: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "அளவà¯: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "à®®à¯à®•à¯à®•ியதà¯à®¤à¯à®µà®®à¯: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "நீஙà¯à®•ள௠இநà¯à®¤ பொதியை தேரà¯à®µà¯/நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "இடமிலà¯à¯ˆà®² எனà¯à®ªà®¤à®¾à®²à¯ நீஙà¯à®•ள௠இநà¯à®¤ பொதியைத௠தே`à®°à¯à®µà¯à®šà¯ செயà¯à®¯ à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "கிழà¯à®•ானà¯à®®à¯ பொதிகள௠நிறà¯à®µà¯à®µà®¤à®±à¯à®•௠தேரà¯à®µà¯à®šà¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "கிழà¯à®•ானà¯à®®à¯ பொதிகள௠நீகà¯à®•பà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "இத௠கடà¯à®Ÿà®¾à®¯ பொதி. இதனை நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "இநà¯à®¤ பொதியை.நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯. இத௠à®à®±à¯à®•னவே நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®Ÿà®³à¯à®³à®¤à¯"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "இநà¯à®¤ பொதியை.நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯. இத௠நிகழà¯à®¨à®¿à®²à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ வேணà¯à®Ÿà®¿à®¯ பொதி"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "தானாக தேரà¯à®µà¯à®šà¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ பொதிகளைக௠காடà¯à®Ÿà¯"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "நிறà¯à®µà¯"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "பொதிகள௠தேரà¯à¯ˆà®µ நிகழà¯à®¨à®¿à®²à¯ˆà®ªà¯ படà¯à®¤à¯à®¤à¯"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "கà¯à®±à¯ˆà®¨à¯à®¤à®ªà®Ÿà¯à®š நிறà¯à®µà®²à¯"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "நிரல௠மேலாணà¯à®®à¯ˆ"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "நிறà¯à®µ வேணà¯à®Ÿà®¿à®¯ பொதிகளை தேரà¯à®µà¯à®šà¯ செயà¯à®¯à¯à®™à¯à®•ள௠"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "உரை"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "வடிவமை"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "வடிவமைகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à¯ˆà®²"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "பிழை நேரà¯à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯ மனà¯à®©à®¿à®•à¯à®•வà¯à®®à¯"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "தயவà¯à®šà¯†à®¯à¯à®¤à¯ உஙà¯à®•ள௠விசைபà¯à®ªà®²à®•ை இட அமைவைத௠தேரà¯à®µà¯ செயà¯à®• "
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "நிறà¯à®µà¯à®¤à¯à®²à¯/ேமமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à¯"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "இத௠நிறà¯à®µà¯à®¤à®²à®¾ அலà¯à®²à®¤à¯ ேமமà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à®¾?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "நிறà¯à®µà¯"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr " %s ேமமà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"சிடியை மாறà¯à®±à®µà¯à®®à¯\n"
+"\n"
+"தயவà¯à®šà¯†à®¯à¯à®¤à¯ \"%s\" என பெயரிடபà¯à®ªà®Ÿà¯à®Ÿ நிறà¯à®µà®²à¯ சிடியை சிடிராமில௠வைகà¯à®•வà¯à®®à¯. வைதà¯à®¤à®µà¯à®Ÿà®©à¯ சரி "
+"எனà¯à®± பொதà¯à®¤à®¾à®©à¯ˆ கிளிக௠செயà¯à®¯à®µà¯à®®à¯\n"
+"இநà¯à®¤ சிடி இலà¯à¯ˆà®²à®¯à¯†à®©à¯à®±à®¾à®²à¯ நீகà¯à®•௠எனà¯à®± பொதà¯à®¤à®¾à®©à¯ˆ கிளிக௠செயà¯à®¤à®¾à®²à¯ இநà¯à®¤ சிடியிலிரà¯à®¨à¯à®¤à¯ நிறà¯à®µà®²à¯ "
+"நினà¯à®±à¯à®µà®¿à®Ÿà¯à®®à¯"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "இரà¯à®•à¯à®•à¯à®®à¯ பொதிகள௠பாரà¯à¯ˆà®µà®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®•ினà¯à®±à®©"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "à®à®±à¯à®±à®¿"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "சேமி"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "கà¯à®©à¯‹à®®à¯"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "நீஙà¯à®•ள௠தேரà¯à®µà¯ செயà¯à®¤à¯à®³à¯à®³ அளவà¯, இரà¯à®•à¯à®•à¯à®®à®¿à®Ÿà®¤à¯à¯ˆà®¤ விட அதிகமாக உளà¯à®³à®¤à¯"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "நிறà¯à®µà®²à¯ à®®à¯à®±à¯ˆ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"நீஙà¯à®•ள௠பொதி கà¯à®´à¯à®•à¯à®•ள௠எதனையà¯à®®à¯ தேரà¯à®µà¯ செயà¯à®¯à®µà®¿à®²à¯à¯ˆà®².\n"
+"தயவà¯à®šà¯†à®¯à¯à®¤à¯ உஙà¯à®•ளà¯à®•à¯à®•௠தேவையானதை தேரà¯à®µà¯ செயà¯à®¯à®µà¯à®®à¯"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X உடன௠வரைவியலà¯à®µà®´à®¿à®¯à®¿à®Ÿà®² பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤ இத௠தேவை"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "உதவி நூலà¯à®•ளà¯à®Ÿà®©à¯ (கà¯à®±à¯ˆà®¨à¯à®¤à®ªà®Ÿà¯à®šà®®à¯ இத௠தேவை!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "மிகசà¯à®šà®¿à®±à®¿à®¯ நிறà¯à®µà®²à¯(urpmi கூட கிடையாதà¯)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "நிறà¯à®µà¯à®¤à®²à¯ தொடஙà¯à®•à¯à®•ிறதà¯"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s பொதி நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "பொதிகளை அடà¯à®•à¯à®•à¯à®µà®¤à®¿à®²à¯ பிழை நேரà¯à®¨à¯à®¤à¯à®³à¯à®³à®¤à¯"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "தொடரà¯à®¨à¯à®¤à¯ செலà¯à®²à®²à®¾à®®à®¾?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "நிறà¯à®µà®¿à®¯à®ªà®¿à®©à¯ சேயà¯à®¯ வேணà¯à®Ÿà®¿à®¯ வடிவமைபà¯à®ªà¯à®•ளà¯"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "பà¯à®¤à¯à®ªà¯à®ªà®¿à®¤à¯à®¤à®²à¯à®•ளà¯"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "கிழà¯à®•ானà¯à®®à¯ பொதிகள௠நிறà¯à®µà¯à®µà®¤à®±à¯à®•௠தேரà¯à®µà¯à®šà¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+"இநà¯à®¤ பொதிகள௠உஙà¯à®•ள௠இயகà¯à®• நிரல௠வெளியிடà¯à®Ÿ பின௠வெளிவநà¯à®¤à®µà¯ˆ\n"
+"இவை பொதà¯à®µà®¾à®• பிழைகளை நீகà¯à®•வà¯à®®à¯, பாதà¯à®•ாபà¯à®ªà¯ கà¯à®±à¯ˆà®ªà®¾à®Ÿà¯à®•ளை\n"
+"நீகà¯à®•வà¯à®®à¯ வெளியிடபà¯à®ªà®Ÿà¯à®Ÿà®µà¯ˆ \n"
+"\n"
+"இவறà¯à¯ˆà®± நிறà¯à®µ உஙà¯à®•ளà¯à®•à¯à®•௠நலà¯à®² இணையதà¯à¯†à®¤à®¾à®Ÿà®°à¯à®ªà¯ தேவை\n"
+"\n"
+"இவறà¯à¯ˆà®± நிறà¯à®µ விரà¯à®ªà¯à®ªà®®à®¾ ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s இல௠%s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "வனà¯à®ªà¯Šà®°à¯à®³à¯"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "ஒலியடà¯à¯ˆà®Ÿ"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "வரைவியலà¯à®µà®´à®¿"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "வலையமைபà¯à®ªà¯à®®à¯ இணையமà¯à®®à¯"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "பாதà¯à®•ாபà¯à®ªà¯ நிலை"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "நெரà¯à®ªà¯à®ªà¯à®šà¯à®šà¯à®µà®°à¯"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "à®®à¯à®Ÿà®®à®¾à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "வெறà¯à®±à¯ நெகிழà¯à®µà®Ÿà¯à¯ˆà®Ÿ %s இயகà¯à®•ியில௠உளà¯à®³à®¿à®Ÿà®µà¯à®®à¯"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "தானியஙà¯à®•ி நிறà¯à®µà®²à¯à®µà®Ÿà¯à¯ˆà®Ÿ உரà¯à®µà®¾à®•à¯à®•வà¯à®®à¯"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"சில செயலà¯à®•ள௠இனà¯à®©à¯à®®à¯ à®®à¯à®Ÿà®¿à®•à¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à¯ˆà®²\n"
+"\n"
+"நீஙà¯à®•ள௠நிசà¯à®šà®¯à®®à¯ நிறà¯à®µà¯à®¤à®²à¯ˆ விடà¯à®Ÿà¯ வெளியேற விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளா?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "வாழà¯à®¤à¯à®¤à¯à®•à¯à®•ளà¯"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "மறà¯à¯†à®¤à®¾à®Ÿà®•à¯à®•à®®à¯"
+
+#. -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 "உஙà¯à®•ள௠மொழியைத௠தேரà¯à®µà¯à®šà¯ செயà¯à®•"
+
+#: 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 "அனà¯à®®à®¤à®¿"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "எலி"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "வனà¯à®¤à®Ÿà¯à®Ÿà¯ கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®¤à¯à®¤à®²à¯"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "விசைபà¯à®ªà®²à®•ை"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "பாதà¯à®•ாபà¯à®ªà¯"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "வகிர௠ெசயà¯à®¤à®²à¯"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "நிறà¯à®µà®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "பயனரà¯à®•ளà¯"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "தà¯à®µà®™à¯à®•à¯à®¨à®¿à®°à®²à¯"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X-஠வடிவமைகà¯à®•வà¯à®®à¯"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "உரை"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "சேவைகளà¯"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "பà¯à®¤à¯à®ªà¯à®ªà®¿à®¤à¯à®¤à®²à¯à®•ளà¯"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "வெளிசà¯à¯†à®šà®²à¯"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "பொதிகளை எஙà¯à®•ிரà¯à®¨à¯à®¤à¯ இறகà¯à®• விரà¯à®®à¯à®ªà¯à®•ிறீரà¯à®•ளà¯"
diff --git a/perl-install/install/share/po/tg.po b/perl-install/install/share/po/tg.po
new file mode 100644
index 000000000..dce57d495
--- /dev/null
+++ b/perl-install/install/share/po/tg.po
@@ -0,0 +1,1729 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Abrorova Hiromon, 2004
+# Bahromhon Bobojonov <bahrambabajanov@hotmail.com>, 2004
+# Dilshod Marupov <dma165@hotmail.com>, 2003-2004
+# Murod Marupov <abdullovich@khujand.org>, 2004
+# Roger Kovacs <rkovacs@khujand.org>, 2003
+# Victor Ibragimov <victor.ibragimov@gmail.com>, 2017
+# Victor Ibragimov <youth_opportunities@tajikngo.org>, 2005
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
+"Language-Team: Tajik (http://www.transifex.com/MageiaLinux/mageia/language/"
+"tg/)\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Ҳамроҳ шавед!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Соҳиб шавед!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Интихоби шумо!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ðбзорҳои ҳуҷҷатнигорӣ"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Дилхушии хонагӣ"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Барои кӯдакон"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Барои оила!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Барои барномаÑозон!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Ташаккур!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Озод бошед!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Шумо боз дигар раÑонаи иловагӣ доред?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Медиаи зерин пайдо шуд ва ҳангоми наÑб иÑтифода бурда мешавад: %s.\n"
+"\n"
+"\n"
+"Шумо барои танзим кардани наÑб Ñгон медиаи иловагӣ доред?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Шабака (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Шабака (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Шабакаи (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Танзимкунии NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Лутфан, номи мизбон ва директориÑи медиаи NFS-и худро ворид намоед"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Ðоми мизбон намераÑад"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð±Ð¾Ñд бо \"/\\†Ñар карда шавад"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ðоми мизбонро барои ваÑли NFS ворид мекунед?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ДиректориÑ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Иловагӣ"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Файли рӯйхати баÑтаҳоро дар ин оина ёфта наметавонад. Мутмаин шавед, ки "
+"ҷойгиршавӣ дуруÑÑ‚ аÑÑ‚."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Релизи мағз"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Релизи шахÑÓ£"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Релизи пулакӣ"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Якчанд Ñахтафзор дар компютери шумо Ñахтафзори ғайри ройгонро талаб мекунад, "
+"то ки драйверҳои нармафзори ройгон тавонанд кор кунанд."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Шумо боÑд \"%s\"-ро фаъол кунед"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" дорои қиÑмҳои гуногуни ÑиÑтемаҳо ва барномаҳои он мебошад."
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" дорои нармафзори ғайри ройгон мебошад.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Он инчунин дорои нармафзоре мебошад, ки барои кори баъзе даÑтгоҳҳо зарур аÑÑ‚ "
+"(маÑалан: баъзе кортҳои графикии ATI/AMD, баъзе кортҳои шабакавӣ, баъзе "
+"кортҳои RAID, ва ғайра...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" дорои нармафзоре мебошад, ки дар баъзе кишварҳо ба Ñабаби патентҳои "
+"нармафзор пахш карда намешавад."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Он инчунин дорои нармафзоре аз Ñохти нави \"%s\" бо қобилиÑтҳои иловагӣ "
+"мебошад."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Ðгар хоҳед, метавонед медиаи иловагиро фаъол кунед."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Ин медиа навÑозиҳои баÑтаҳоро барои медиаи \"%s\\†таъмин менамоÑд"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Дар ҳоли ҷуÑтуҷӯи баÑтаҳои наÑбшуда..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Дар ҳоли ҷуÑтуҷӯи баÑтаҳо барои такмил..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Дар ҳоли тозакунии баÑтаҳо пеш аз такмил..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Барои иҷозати такмили ÑиÑтемаи шумо, баÑтаҳои зерин тоза карда мешаванд: %s\n"
+"\n"
+"\n"
+"Шумо дар ҳақиқат мехоҳед, ки баÑтаҳои зеринро тоза намоед?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Хатои хониши файли %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ðом(ҳо)и диÑк(ҳо)и зерин иваз карда шуд(аанд):"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (номи Ñобиқ: %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Шабака"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Лутфан, медиаро интихоб намоед"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл аллакай вуҷуд дорад. Онро аз нав Ñабт мекунед?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Иҷозат неÑÑ‚"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ðоми NFS-и нодуруÑÑ‚"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Медиаи %s нодуруÑÑ‚ аÑÑ‚"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ð¢Ð°Ò³Ð¸Ñ ÐºÐ°Ñ€Ð´Ð°Ð½Ð¸ акÑҳои Ñкран пеш аз қиÑмбандӣ ғайриимкон аÑÑ‚"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ÐкÑҳои Ñкран баъд аз наÑб дар %s даÑÑ‚Ñ€Ð°Ñ Ð¼ÐµÑˆÐ°Ð²Ð°Ð½Ð´"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "ÐаÑбкунӣ"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Танзимкунӣ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Шумо инчунин боÑд %s-ро формат кунед"
+
+#: 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 ""
+"Барои кори баъзе Ñахтафзор дар компютери шумо драйверҳои “пулакӣ†лозиманд.\n"
+"Шумо метавонед маълумотро дар бораи онҳо аз ин ҷо гиред: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Дар ҳоли фаъолÑозии шабака"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Дар ҳоли ғайифаъолÑозии шабака"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Лутфан, интизор шавед, файл бозёбӣ карда мешавад"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "медиаро илова карда наметавонад"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "ÐуÑхабардории баъзе баÑтаҳо ба диÑк барои иÑтифодаи оÑнда"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Дар ҳоли нуÑхабардорӣ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "боÑд дошта бошад"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "Ҳатмӣ аÑÑ‚"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "хеле хуб"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "хуб"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "мумкин аÑÑ‚"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "Дар ҳоли гирифтани маълумоти баÑта аз метаиттилооти XML..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ягон иттилооти xml барои медиаи \"%s\\†вуҷуд надорад, танҳо натиҷаи қиÑмӣ "
+"барои баÑтаи %s пайдо шуд"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ТафÑилот неÑÑ‚"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Баъзе баÑтаҳои дархоÑтшуда аз тарафи %s наÑб карда намешаванд:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Хатое ба вуҷуд омад:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Хатои ҷиддӣ ба вуҷуд омад: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Дигар напурÑед"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d интиқоли наÑбкунӣ иҷро нашуд"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "ÐаÑбкунии баÑтаҳо иҷро нашуд:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Компютери корӣ"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Компютери кории идорӣ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Барномаҳои ҳуҷҷатнигорӣ: коркарди ҳуҷҷатҳои матнӣ (LibreOffice Writer, "
+"Kword), ҷадвалҳои Ñлектронӣ (LibreOffice Calc, Kspread), тамошобини PDF ва "
+"ғайра"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Компютери бозӣ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Барномаҳои дилхушӣ: қаторравоқ, бозиҳои рӯи мизӣ, ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð²Ð° ғайра"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Компютери мултимедиа"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Барномаҳо барои бозӣ/коркарди овоз ва видео"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Компютери интернетӣ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Маҷмӯи абзорҳо барои хондан ва фириÑтодани почта ва ахборот (mutt, tin..) ва "
+"тамошо дар Интернет"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Компютери шабакавӣ (мизоҷ)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Мизоҷон барои протоколҳои гуногун, аз он ҷумла ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ðбзорҳо барои оÑонÑозии танзими компютери шумо"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Ðбзорҳои конÑолӣ"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Муҳаррирон, пардозгари фармонҳо, абзорҳои файлӣ, терминалҳо"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Барномарезӣ"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Китобхонаи барномарезии C ва C++, барномаҳо ва файлҳои дохилшаванда"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Ҳуҷҷатҳо"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Китобҳо ва даÑтурамалҳо барои Linux ва Ðармафзори ройгон"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Манбаъи Ñтандартии Linux. ДаÑтгирии барномаҳои тарафҳои Ñеюм"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Сервери веб"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Ðармафзори кори гурӯҳӣ"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Сервери Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Девори оташ/маÑиргузор"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Гузаргоҳи Интернетӣ"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Почта/Ðхборот"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Сервери почтаи Postfix, Ñервери ахбороти Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Сервери директориÑ"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Сервери FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ðоми доменӣ ва Ñервери иттилооти шабакавӣ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервери мубодилакунии файлҳо ва принтерҳо"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Сервери NFS, Ñервери Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Пойгоҳи иттилоотӣ"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL ва Ñервери пойгоҳи иттилоотии MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Почта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Сервери почтаи Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL Ñ‘ Ñервери пойгоҳи иттилоотии MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Сервери компютерии шабакавӣ"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Сервери NFS, Ñервери SMB, Ñервери Proxy, Ñервери ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Муҳити графикӣ"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Компютерии кории Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Муҳити мизи кории KDE (The K Desktop Environment), муҳити графикии аÑоÑÓ£ бо "
+"маҷмӯи абзорҳои иловашуда"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Компютери кории GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Муҳити графикӣ бо маҷмӯи барномаҳои корбарӣ ва абзорҳои мизи корӣ"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Муҳити графикии Ñабук бо маҷмӯи барномаҳои корбарӣ ва абзорҳои мизи корӣ"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Компютери кории MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Компютери кории Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Муҳити графикӣ дар аÑоÑи GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Мизи кории LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Бандари наÑли нави QT барои муҳити мизи кории Ñабук"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Муҳити графикии тезкори Ñабук бо пайгирии муайÑншуда"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Мизи кории LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Муҳити графикии тезкори Ñабук"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Мизҳои кории графикии дигар"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Барномаи Window Maker, Fvwm ва ғайра"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Барномаҳои корбарӣ"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Сервери SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Танзими дурдаÑти Ñервер таваÑÑути Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Барномаҳои корбарии шабакавӣ/назоратӣ"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Ðбзорҳои назоратӣ, коркарди ҳиÑобҳо, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "УÑтодҳои Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "УÑтодҳо барои танзимкунии Ñервер"
+
+#: 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 ""
+"Хатое ба вуҷуд омад, вале ман намедонам, чӣ тавр боÑд иÑлоҳ карда шавад.\n"
+"Мувофиқи таваккали худ давом диҳед."
+
+#: steps.pm:469
+#, 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 ""
+"Баъзе баÑтаҳои муҳим нодуруÑÑ‚ наÑб карда шудаанд.\n"
+"Эҳтимол аÑÑ‚, ки драйви cdrom Ñ‘ ин ки cdrom-и шумо вайрон аÑÑ‚.\n"
+"Кори cdrom-ро дар компютери омода ба воÑитаи фармони \"rpm -qpl media/main/*."
+"rpm\\†Ñанҷед\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Гузариш ба қадами `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ÐаÑбкунӣ %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "Мубодилаи байни унÑурҳо таваÑÑути <Tab>/<Alt-Tab>"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Сервери Xorg барои оғоз Ñуръати ÑуÑÑ‚ дорад. Лутфан, интизор шавед..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"СиÑтемаи шумо манбаъҳои кофӣ надорад. Баъзе мушкилиҳои наÑбкунии %s "
+"метавонанд пайдо шаванд. Ðгар Ñгон мушкилӣ пайдо шавад, шумо метавонед "
+"наÑбкунӣ дар реҷаи матнӣ кӯшиш кунед. Дар ин маврид,\n"
+"ҳангоми роҳандозӣ таваÑÑути CDROM тугмаи `F1'-ро пахш кунед ва ба реҷаи "
+"матнӣ (text) гузаред."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Интихоби медиа"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "ÐаÑб кардани мизи кории %s Plasma"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "ÐаÑб кардани мизи кории %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "ÐаÑбкунии фармоишӣ"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Мизи кории Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Мизи кории GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Мизи кории фармоишӣ"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Пешнамоиши мизи кории '%s'"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Барои дидани пешнамоиш дар Ñурати калонтар, ба таÑвирҳо зер кунед"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Интихоби гурӯҳи баÑтаҳо"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Интихоби баÑтаҳои алоҳида"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Лағв кардани интихоби пурра"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ðндозаи умумӣ: %d / %d МБ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑиÑ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Ҳаҷм: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Муҳиммӣ: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Шумо наметавонед, ки ин баÑтаро интиҳоб/лағв кунед:"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "ба Ñабаби мавҷуд набудани %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ба Ñабаби номувофиқати %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "дар ҳоли коргузории %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "барои нигоҳ доштани %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Шумо ин баÑтаро интихоб карда наметавонед, зеро ки барои наÑб кардан он ҷой "
+"кофӣ неÑÑ‚"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "БаÑтаҳои зерин наÑб карда мешаванд"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "БаÑтаҳои зерин тоза карда мешаванд"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ин баÑтаи зарур мебошад, лағви интихоби онро бекор карда намешавад"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+"Шумо интихоби ин баÑтаи барномаҳоро рад карда наметавонед. Он аллакай наÑб "
+"карда шудааÑÑ‚"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Шумо интихоби ин баÑтаро бекор карда наметавонед. Он боÑд такмил дода шавад."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ðамоиш додани баÑтаҳои интихобшуда ба таври худкор"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ÐаÑб кардан"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Бор кардан/захира кардани интихоб"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ÐавÑозии интихоби баÑтаҳо"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "ÐаÑбкунии камин"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Идоракунии нармафзор"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "БаÑтаҳоеро, ки мехоҳед наÑб кунед, интихоб намоед"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Дар ҳоли наÑбкунӣ"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ягон тафÑилот неÑÑ‚"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Вақти боқимонда:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(баҳодиҳӣ...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d баÑта"
+msgstr[1] "%d баÑта"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ҶамъбаÑÑ‚"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Танзим кардан"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "танзимнашуда"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Медиаи наÑбкунии зерин пайдо карда шуд.\n"
+"Ðгар шумо хоҳед, ки баъзеи онҳоро иÑтифода набаред, интихоби онҳоро лағв "
+"кунед."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Шумо метавонед пеш аз оғози наÑб муҳтавои диÑкҳои CD-ро ба диÑки компютери "
+"худ нуÑха бардоред.\n"
+"Ҳамин тавр наÑб аз драйви диÑки компютерӣ идома дода мешавад ва баъд аз "
+"наÑби пурра баÑтаҳо дар ÑиÑтема даÑÑ‚Ñ€Ð°Ñ Ð¼ÐµÑˆÐ°Ð²Ð°Ð½Ð´."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "ÐуÑхабардории ҳамаи диÑкҳои CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Хатое ба вуҷуд омад"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Лутфан, тарҳбандии клавиатураи худро интихоб кунед"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Рӯйхати пурраи клавиатураҳои даÑтраÑ:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ÐаÑбкунӣ/Тақмилдиҳӣ"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Шумо наÑб мекунед Ñ‘ такмил медиҳед?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ÐаÑбкунӣ"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Такмилдиҳии %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Калиди рамзгузорӣ барои %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Бекор кардани наÑб, бозоғозии ÑиÑтема"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "ÐаÑби нав"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Такмилдиҳии наÑби пешакӣ (тавÑÐ¸Ñ Ð´Ð¾Ð´Ð° намешавад)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"ÐаÑбкунанда муайÑн кард, ки ÑиÑтемаи Linux-и наÑбшуда ба %s ба таври бехатар "
+"такмил дода намешавад.\n"
+"\n"
+"ÐаÑбкунии нав бо имкони ивазкунии наÑби пешакӣ тавÑÐ¸Ñ Ð´Ð¾Ð´Ð° мешавад.\n"
+"\n"
+"Огоҳӣ: пеш аз интихоби \"ÐаÑби нав\", шумо боÑд нуÑхаи Ñҳтиётии ҳамаи "
+"маълумоти шахÑии худ Ñ‚Ð°Ò³Ð¸Ñ ÐºÑƒÐ½ÐµÐ´."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Танзимкунии CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Cd-Rom-и зудро иваз кунед!\n"
+"Лутфан, Cd-Rom-ро бо тамғаи \"%s\" ба драйв дарҷ карда, тугмаи ОК-ро пахш "
+"намоед.\n"
+"Ðгар шумо онро надошта бошед, тугмаи “Бекор карданâ€-ро пахш карда, наÑбкунии "
+"ÑиÑтемаро аз драйви Cd-Rom лағв кунед."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Дар ҳоли ҷуÑтуҷӯи баÑтаҳои даÑтраÑ..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"СиÑтемаи шумо барои наÑбкунӣ Ñ‘ такмилдиҳӣ фазои кофӣ надорад (%d МБ > %d МБ)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Лутфан, интихоби баÑтаро бор кунед Ñ‘ захира намоед.\n"
+"Ин формат ба файлҳои таҳиÑшудаи auto_install монанд аÑÑ‚."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Бор кардан"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Захира кардан"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Файли нодуруÑÑ‚"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Интихоби мизи корӣ"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+"Шумо метавонед профили мизи кориро барои компютери кории худ интихоб намоед."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Ðндозаи интихобшуда аз фазои даÑÑ‚Ñ€Ð°Ñ Ð·Ð¸Ñ‘Ð´ аÑÑ‚"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Ðавъи наÑбкунӣ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Шумо Ñгон гурӯҳи баÑтаҳоро интихоб накардед.\n"
+"Лутфан, наÑбкунии камини дилхоҳатонро интихоб намоед:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Бо воÑитаи X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "ÐаÑб кардани баÑтаҳои тавÑиÑшуда"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Бо ҳуҷҷатҳои аÑоÑÓ£ (тавÑÐ¸Ñ Ð´Ð¾Ð´Ð° мешавад!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ÐаÑбкунии камини ҳақиқӣ (алалхуÑÑƒÑ Ð±Ðµ urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "ОмодаÑозии такмил..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "ОмодаÑозии наÑб"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "ÐаÑбкунии баÑтаи %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ҳангоми дархоÑткунии баÑтаҳо хатое ба вуҷуд омад:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ба ҳар ҳол идома медиҳед?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ðз нав кӯшиш кардан"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Лағв кардани ин баÑта"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Лағв кардани ҳамаи баÑтаҳо аз медиаи \"%s\""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Бозгашт ба медиа ва интихоби баÑтаҳо"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Ҳангоми наÑбкунии баÑтаи %s хатое ба вуҷуд омад."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Танзимкунии баъд аз наÑб"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Лутфан, мутмаин шавед, ки медиаи навÑозии модулҳо дар драйви %s мебошад"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Ðав кардан"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Ðкнун шумо барои танзим кардани медиаи онлайн имкониÑÑ‚ доред."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Ин амал барои наÑб кардани навÑозиҳои амниÑÑ‚ иҷозат медиҳад."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Барои наÑб кардани ин медиа, шумо боÑд ба Интернет пайваÑÑ‚ шавед.\n"
+"\n"
+"Шумо мехоҳед, ки медиаи навÑозиро танзим кунед?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "БаÑтаҳои зерин наÑб карда мешаванд"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Такрор мекунед?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Иловакунии медиа иҷро нашуд"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ðкнун шумо барои боргирӣ кардани баÑтаҳои навшуда имкониÑÑ‚ доред. Ин баÑтаҳо "
+"баъд аз Ñанаи барориши ин диÑтрибутив нав карда шудаанд. Онҳо метавонанд "
+"иÑлоҳоти хатоҳо ва Ñатҳи амниÑтро дар бар гиранд.\n"
+"\n"
+"Барои боргирӣ кардани ин баÑтаҳо, шумо боÑд ба Интернет пайваÑÑ‚ шавед.\n"
+"\n"
+"Шумо мехоҳед, ки ин навÑозиҳоро наÑб кунед?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s дар %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Сахтафзор"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Корти Ñадо"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "ИнтерфейÑи графикӣ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Шабака ва Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑиҳо"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "танзимшуда"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Сатҳи амниÑÑ‚"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Девори оташ"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "фаъол"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "ғайрифаъол"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Шумо Ñервери X-ро танзим накардед. Оё он ба шумо лозим аÑÑ‚?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "ОмодаÑозии оғози ибтидоии барнома..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Лутфан, интизор шавед, ин метавонад андак вақт гирад..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Дар ин Ñатҳи бехатарӣ, даÑтраÑÓ£ ба файлҳо дар қиÑматҳои Windows танҳо ба "
+"маъмур иҷозат дода мешавад."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ДиÑкетаи холиро ба драйви %s дарҷ кунед"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Эҷодкунии диÑкетаи наÑбкунии худкор..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Баъзе қадамҳо иҷро карда нашуданд.\n"
+"\n"
+"Шумо мехоҳед, ки равандро ба анҷом раÑонед?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Табрик мекунем"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Бозоғозии ÑиÑтема"
+
+#. -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 "Забон"
+
+#: 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 "Иҷозатнома"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Муш"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "МуайÑнкунии диÑки компютерӣ"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Синфи наÑбкунӣ"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавиатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ÐмниÑÑ‚"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ҚиÑмбандӣ"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Шаклбандӣ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Интихоби баÑтаҳо"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Дар ҳоли наÑб"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Корбарон"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Боркунандаи роҳандозӣ"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Танзими X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ҶамъбаÑÑ‚"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Хидматҳо"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ÐавÑозиҳо"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Баромад"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL-и оина доред?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL боÑд бо ftp:// Ñ‘ http:// Ñар карда шавад"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Дар ҳоли пайваÑÑ‚ бо вебÑайти %s барои ба даÑÑ‚ овардани рӯйхати оинаҳои "
+#~ "даÑтраÑ..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Ҳангоми пайваÑтшавӣ бо вебÑайти %s барои ба даÑÑ‚ овардани рӯйхати оинаҳои "
+#~ "даÑÑ‚Ñ€Ð°Ñ Ñ…Ð°Ñ‚Ð¾ ба миён омад"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Оинаро барои гирифтани баÑтаҳо интихоб намоед"
diff --git a/perl-install/install/share/po/th.po b/perl-install/install/share/po/th.po
new file mode 100644
index 000000000..4c13d92bd
--- /dev/null
+++ b/perl-install/install/share/po/th.po
@@ -0,0 +1,1632 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Rockers <sumorock@hotmail.com>, 2015
+# Rockers <sumorock@hotmail.com>, 2015
+# Wachara Chinsettawong <wachara@yahoo.com>, 2001
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Thai (http://www.transifex.com/MageiaLinux/mageia/language/"
+"th/)\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "สารบัà¸"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸«à¸²à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¸—ี่จะทำà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸à¸£à¸”"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "มีปัà¸à¸«à¸²à¸à¸±à¸šà¸à¸²à¸£à¸­à¹ˆà¸²à¸™à¸‚้อมูลในไฟล์ %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "ระบบเครือข่าย"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "สิทธิà¸à¸²à¸£à¸—ำงานถูà¸à¸›à¸Žà¸´à¹€à¸ªà¸—"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ปรับà¹à¸•่งค่า"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+"hardware บางชนิดต้องà¸à¸²à¸£ driver พิเศษ\n"
+"คุณสามารถหาข้อมูลได้จาà¸: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ระบบเน็ตเวิร์à¸à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸—ำงาน"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ระบบเน็ตเวิร์à¸à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸«à¸¢à¸¸à¸”ทำงาน"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "ต้องมี"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "สำคัà¸"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "ดีมาà¸"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "ดี"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "อาจจะ"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "ไม่มีคำอธิบายรายละเอียด"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "มีปัà¸à¸«à¸²à¹€à¸à¸´à¸à¸‚ึ้น:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients for different protocols including ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "เครืองมือที่ช่วยในà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่งเครื่องชองคุณให้ง่ายขึ้น"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "พัฒนาซอฟท์à¹à¸§à¸£à¹Œ (Development)"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "คู่มือ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "à¸à¸²à¸™à¸‚้อมูล"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "จดหมาย"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "à¸à¸²à¸£à¸—ำงานà¹à¸šà¸šà¸à¸£à¸²à¸Ÿà¸Ÿà¸´à¸"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Graphical Desktops อื่นๆ"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "อรรถประโยชน์"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"มีความผิดพลาดเà¸à¸´à¸”ขึ้น à¹à¸•่โปรà¹à¸à¸£à¸¡à¹„ม่สามารถà¹à¸à¹‰à¹„ขได้\n"
+"หาà¸à¸—ำงานต่ออาจเà¸à¸´à¸”ความเสียหายได้"
+
+#: steps.pm:469
+#, 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 ""
+"à¹à¸žà¹‡à¸à¹€à¸à¸ˆà¸ªà¸³à¸„ัà¸à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¹„ม่ได้ถูà¸à¸•ิดตั้งอย่างเรียบร้อย\n"
+"cdrom หรือ cdrom drive ของคุณอาจมีà¸à¸²à¸£à¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢\n"
+"à¸à¸£à¸¸à¸“าตรวจสอบ cdrom ในเครื่องคอมพิวเตอร์ที่มีà¸à¸²à¸£à¸•ิดตั้งà¹à¸¥à¹‰à¸§\n"
+"โดยใช้ \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "เข้าสู่ขั้นตอน `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> ระหว่างตัวเลือà¸"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"เครื่องของคุณมีทรัพยาà¸à¸£à¸„่อนข้างต่ำคุณอาจมีปัà¸à¸«à¸²à¸•ิดตั้ง \n"
+"%s ถ้าเป็นเช่นนั้น à¸à¸£à¸¸à¸“าทดลองติดตั้งà¹à¸šà¸š text \n"
+"à¸à¸£à¸¸à¸“าà¸à¸” F1 ขณะ boot จาภcdrom à¹à¸¥à¹‰à¸§à¸žà¸´à¸¡à¸žà¹Œ text"
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "เลือà¸à¸à¸¥à¸¸à¹ˆà¸¡à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆ"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Individual package selection"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "ขนาดรวม: %d / %d MB "
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "เวอร์ชัน:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "ขนาด:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ความสำคัà¸:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "คุณไม่สามารถเลือà¸/ไม่เลือà¸à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "คุณไม่สามารถเลือภpackage นี้เนื่องจาà¸à¸„ุณมีพื้นที่ไม่เพียงพอ"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸–ูà¸à¸•ิดตั้ง"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸–ูà¸à¸¥à¸š"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "นี่คือà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่ต้องติดตั้ง ไม่สามารถไม่เลือà¸"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "คุณไม่สามารถไม่เลือà¸à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰à¹€à¸žà¸£à¸²à¸°à¸¡à¸±à¸™à¹„ด้ถูà¸à¸•ิดตั้งไปà¹à¸¥à¹‰à¸§"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "คุณไม่สามารถไม่เลือà¸à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰ มันจำเป็นที่จะต้องถูภupgrade"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "ติดตั้ง"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "à¸à¸²à¸£à¸šà¸£à¸´à¸«à¸²à¸£à¹‚ปรà¹à¸à¸£à¸¡"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "เลือà¸à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¸—ี่คุณต้องà¸à¸²à¸£à¸•ิดตั้ง"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸•ิดตั้ง"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "เวลาที่เหลือ:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆ %d ชุด"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "รวมความ"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "à¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่ง"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "มีปัà¸à¸«à¸²à¹€à¸à¸´à¸”ขึ้น"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "ติดตั้ง"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"เปลี่ยน CD-ROM\n"
+"\n"
+"à¸à¸£à¸¸à¸“าใส่ CD-ROM \"%s\" à¹à¸¥à¸°à¸à¸” OK\n"
+"ถ้่าคุณไม่มี à¸à¸£à¸¸à¸“าà¸à¸” ยà¸à¹€à¸¥à¸´à¸ (cancel) เพื่อหลีà¸à¹€à¸¥à¸µà¹ˆà¸¢à¸‡à¸à¸²à¸£à¸•ิดตั้งจาภCD-ROM นี้"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸«à¸²à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¸—ี่มีอยู่"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "โหลด"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "บันทึà¸"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมà¸à¸²à¸£à¸•ิดตั้ง"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸•ิดตั้งà¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆ %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "มีปัà¸à¸«à¸²à¸à¸²à¸£à¸¥à¸³à¸”ับของà¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆ:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "ทำงานต่อหรือไม่?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "à¸à¸²à¸£à¸„อนฟิà¸à¸«à¸¥à¸±à¸‡à¸à¸²à¸£à¸•ิดตั้ง"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "อัพเดท"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "à¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆà¹€à¸«à¸¥à¹ˆà¸²à¸™à¸µà¹‰à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸–ูà¸à¸•ิดตั้ง"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "เà¸à¸´à¸”ข้อผิดพลาดขณะเพิ่มสื่อ"
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s บน %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ฮาร์ดà¹à¸§à¸£à¹Œ"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Sound card"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "เน็ตเวิร์คà¸à¸±à¸šà¸­à¸´à¸™à¹€à¸•อร์เน็ต"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "ระดับความปลอดภัย"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "ไม่ใช้งาน"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ให้ใส่à¹à¸œà¹ˆà¸™à¸Ÿà¸¥à¹‰à¸­à¸›à¸›à¸µà¹‰à¸¥à¸‡à¹ƒà¸™à¹„ดรว์ %s "
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมà¸à¸²à¸£à¸•ิดตั้งลงบน floppy"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ขั้นตอนบางขั้นตอนไม่สมบูรณ์\n"
+"\n"
+"คุณต้องà¸à¸²à¸£à¸­à¸­à¸à¸ˆà¸²à¸à¸à¸²à¸£à¸•ิดตั้งจริงๆหรือไม่?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ยินดีด้วย"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#. -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 "เลือà¸à¸ à¸²à¸©à¸²à¸—ี่คุณใช้"
+
+#: 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 "สัà¸à¸à¸²à¸­à¸™à¸¸à¸à¸²à¸•"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "à¸à¸²à¸£à¸•รวจหาฮาร์ดไดรว์"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "คีย์บอร์ด"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ระบบความป้องà¸à¸±à¸™"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸•ิดตั้ง"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ผู้ใช้"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "คอนฟิà¸à¸£à¸°à¸šà¸š X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "รวมความ"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "บริà¸à¸²à¸£"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "เลิà¸à¸—ำงาน"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "เลือà¸à¸¡à¸´à¸¥à¹€à¸£à¸­à¸£à¹Œà¹„ซต์ที่จะใช้ในà¸à¸²à¸£à¸”าวน์โหลดà¹à¸žà¹‡à¸„เà¸à¹‡à¸ˆ"
diff --git a/perl-install/install/share/po/tl.po b/perl-install/install/share/po/tl.po
new file mode 100644
index 000000000..007d9b0d3
--- /dev/null
+++ b/perl-install/install/share/po/tl.po
@@ -0,0 +1,1671 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Arys P. Deloso <arys@deloso.org>, 2004
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Tagalog (http://www.transifex.com/MageiaLinux/mageia/language/"
+"tl/)\n"
+"Language: tl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Naghahanap ng mga package na naka-install..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Naghahanap ng mga package na i-a-upgrade..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Ang mga sumusunod na mga package ay tatanggalin upang ma-upgrade ang inyong "
+"sistema: %s\n"
+"\n"
+"\n"
+"Gusto ninyo ba talagang tanggalin ang mga package na ito?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "May error sa pagbabasa ng file na %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Network"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Pahintulot ipinagkaila"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Hindi makagawa ng mga screenshot bago mag-partisyon"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ang mga screenshot ay magiging available matapos ang install sa %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Configuration"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Dapat ninyo ring i-format ang %s"
+
+#: 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 ""
+"Ilang hardware sa inyong computer ay nangangailangan ng ``proprietary'' (may "
+"nagmamay-ari) na driver para gumana.\n"
+"Makakahanap kayo ng ilang inpormasyon tungkol sa kanila sa: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ginagawang \"up\" ang network"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ginagawang \"down\" ang network"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "dapat magkaroon"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "masyadong mainam"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "mainam"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "baka sakali"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "May nangyaring fatal error: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d transaksyong pag-i-install ay nabigo"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Pang-opisina na Workstation"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Mga pang-opisinang program: mga wordprocessor (LibreOffice Writer, Kword), "
+"mga spreadsheet (LibreOffice Calc, Kspread), mga pdf viewer, etc"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Pang-laro na istasyon"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Mga nakakalibang na program: arcade, mga board game, strategy, etc"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Pang-multimedia na istasyon"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Mga program na pang-play/edit ng tunog, musika at video"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Pang-internet na istasyon"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Kumpol ng mga kagamitang pangbasa at pangsulat ng mail at news (mutt, tin..) "
+"at pang-browse ng Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Network Computer (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Mga client para sa iba't-ibang mga protocol kasama ang ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kagamitang pangpadali ng configuration ng inyong computer"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Kagamitang Pang-Console"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Mga editor, shell, file tool, terminal"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Paglinang (Development)"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "mga C at C++ development library, program at include file"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasyon"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Mga Libro at Howto tungkol sa Linux at Free Software"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Suporta para sa mga third party application"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web Server"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Server"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Server"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL o MariaDB database server"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Network Computer server"
+
+#: share/meta-task/compssUsers.pl:143
+#, 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:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graphical na Kapaligiran"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Ang K Desktop Environment, ang pinakabatayang graphical environment na may "
+"koleksyon ng mga kasabay na kagamitan"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Isang graphical environment na may kumpol ng mga user-friendly (madaling "
+"gamitin) na application at kagamitang pang-desktop"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ibang Mga Graphical Desktop"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Server"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+"May \"error\" na nangyari, pero hindi ko alam kung paano ayusin\n"
+"ng maganda. Mapanganib magpatuloy."
+
+#: steps.pm:469
+#, 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 ""
+"Ilang importanteng mga package ay hindi na-install ng maayos.\n"
+"May depekto ang inyong CD-ROM drive o ang inyong CD-ROM.\n"
+"Suriin ang CD-ROM sa naka-install nang computer gamit ang \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Pumpasok sa hakbang na `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Pag-install ng %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pagitan ng mga elemento"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ang inyong sistema mababa sa kakayahan. Maaari kayong magkaproblema\n"
+"sa pag-install ng %s. Kung mangyari ito, maaari ninyong subukan\n"
+"ang \"text install\". Para dito, pindutin ang `F1' kapag nagbo-boot sa "
+"CDROM,\n"
+"at ipasok ang `text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pagpili ng Pangkat ng mga Package"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Isa-isang pagpili ng package"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Di-nakapili Lahat"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kabuuang laki: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Laki: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Kahalagahan: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Maaari ninyong piliin/di-piliin ang package na ito"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "dahil sa nawawalang %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "dahil sa hindi na-satisfy na %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "sinusubukang i-promote ang %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "para maitago ang %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Hindi ninyo maaaring piliin ang package na ito dahil walang sapat na puwang"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ang mga sumusunod na package ay ii-install"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ang mga sumusunod na package ay tatanggalin"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ito ay kinakailangang package, hindi ito maaring di-piliin"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Hindi ninyo maaaring di-piliin ang package na ito. Naka-install na ito"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+"Hindi ninyong maaaring di-piliin ang package na ito. Dapat i-upgrade ito"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ipakita kaagad ang mga napiling package"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "I-install"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Ina-update ang pagpili ng package"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Maliitang install"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Pangangasiwa ng Software"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Piliin ang mga package na gusto ninyong i-install"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Nag-i-install"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Walang detalye"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Kabuuan"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Configure"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "hindi na-configure"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "May \"error\" na nangyari"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Piliin ang inyong layout ng keyboard"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "I-install/I-upgrade"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ito ba ay install o upgrade?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "I-install"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "I-pgrade ang %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Encryption key para sa %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Palitan ang inyong CD-ROM!\n"
+"\n"
+"Pakisuksok ang CD-ROM na may tatak na \"%s\" sa inyong drive at pindutin\n"
+"ang Ok pagkatapos. Kung wala kayo nito, pindutin ang Cancel para iwasang\n"
+"mag-install mula sa CD-ROM na ito."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Naghahanap ng mga available na package..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "I-save"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Ang piniling laki ay mas malaki sa available na puwang"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Uri ng install"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Wala pa kayong napiling pangkat ng mga package.\n"
+"Pakipili ang maliitang pag-i-install na gusto ninyo:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "May X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "May pinakabatayang dokumento (inirerekomenda!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Talagang maliitang install (walang urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Inihahanda ang pag-i-install"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Ini-install ang package na %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "May error sa pagsasaayos ng mga package:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Magpatuloy pa rin?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuration matapos ang install"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Mga update"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Ang mga sumusunod na package ay ii-install"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Kabiguan kung nagdadagdag ng medium"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Mayroon kayo ngayong pagkakataon na i-download ang mga na-update na "
+"package.\n"
+"Ang mga package na ito ay na-update matapos mailabas ang distribusyon. "
+"Maaari\n"
+"silang maglaman ng mga ayos sa seguridad at \"bug\".\n"
+"\n"
+"Para i-download ang mga package na ito, kakailanganin ninyong magkaroon ng\n"
+"gumaganang koneksyon sa Internet.\n"
+"\n"
+"Gusto ninyong i-install ang mga update ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s sa %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Sound card"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Graphical interface"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Network & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Mga Proxy"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "na-configure"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Level ng Seguridad"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "na-activate"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "na-disable"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Hindi pa ninyo na-configure ang X. Sigurado kayong gusto ninyong gawin ito?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Sa level ng seguridad na ito, ang access sa mga file na nasa partisyon ng "
+"Windows ay limitado sa tagapangasiwa."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Magsuksok ng blangkong floppy sa drive %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Lumilikha ng auto install floppy..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ilang mga hakbang ay hindi natapos.\n"
+"\n"
+"Gusto ninyo ba talagang sumuko ngayon?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Maligayang bati"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "I-reboot"
+
+#. -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 "Wika"
+
+#: 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 "Lisensiya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Pagtitiktik ng hard disk drive"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Keyboard"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguridad"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pagpartisyon"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Nag-i-install"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Users"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "I-configure ang X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kabuuan"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Mga serbisyo"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Mga update"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Exit"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Nakikipag-alam sa web site ng %s para makuha ang talaan ng mga available "
+#~ "na mirror..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Pumili ng mirror kung saan kukunin ang mga package"
diff --git a/perl-install/install/share/po/tr.po b/perl-install/install/share/po/tr.po
new file mode 100644
index 000000000..22f470bf8
--- /dev/null
+++ b/perl-install/install/share/po/tr.po
@@ -0,0 +1,1715 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Atilla ÖNTAŞ <atilla_ontas@hotmail.com>, 2008-2016
+# tarakbumba <tarakbumba@gmail.com>, 2013-2014,2016
+# tarakbumba <tarakbumba@gmail.com>, 2013
+# Erçin EKER <erc.caldera@gmx.net>, 2003
+# Fırat Kutlu <firatkutlu@gmail.com>, 2014
+# Muha Aliss <muhaaliss@gmail.com>, 2021
+# Serdar SaÄŸlam <teknomobil@msn.com>, 2019
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2021-02-20 01:38+0000\n"
+"Last-Translator: Muha Aliss <muhaaliss@gmail.com>\n"
+"Language-Team: Turkish (http://www.transifex.com/MageiaLinux/mageia/language/"
+"tr/)\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "Bize Katılın!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Sizin olsun!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Sizin seçiminiz!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "Ofis araçları"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Ev eÄŸlencesi"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Çocuklar için"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Aile için!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Geliştiriciler için!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Teşekkürler!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Özgür olun!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Başka tamamlayıcı veri kaynağınız var mı?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Şu veri kaynağı bulundu ve kurulumda kullanılacak: %s\n"
+"\n"
+"\n"
+"Yapılandırılacak tamamlayıcı bir veri kaynağınız var mı?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "AÄŸ (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "AÄŸ (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "AÄŸ (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS kurulumu"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS kaynağı için bir sunucu adı ve dizini giriniz."
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Makine adı yok"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Dizin \"/\" ile başlamalıdır."
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS bağı için sunucu adı?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Dizin"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Tamamlayıcı"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Bu yansı üzerinde paket listesi bulunamadı. Yerinin doğru olduğundan emin "
+"olun."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Makinenizdeki bazı donanımların özgür yazılım sürücülerinin çalışması için, "
+"özgür olmayan üretici yazılımına gereksinimi vardır."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "\"%s\" etkinleÅŸtirmelisiniz"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" sistemlerin çeşitli parçalarını ve uygulamalarını içerir"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" özgür olmayan yazılım içerir.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Belirli aygıtların çalışması için gereken üretici yazılımlarını da içerir "
+"(örn: bazı ATI/AMD ekran kartları, bazı ağ kartları, bazı RAID kartları, ...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"\"%s\" yazılım patentlerinden dolayı her ülkede dağıtılamayan yazılım içerir."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "İlave yeteneklerle yenilenen \"%s\" adresinden yazılım da içerir."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "İsterseniz burada daha fazla ortam etkinleştirebilirsiniz."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "Bu araç \"%s\" ortamı için paket güncellemelerini sağlar"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kurulu paketler inceleniyor..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Yükseltilecek paketler bulunuyor"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Yükseltmeye hazırlık olmak üzere paketler kaldırılıyor..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Sisteminizi yükseltmek için şu paketler kaldırılacak: %s\n"
+"\n"
+"\n"
+"Bu paketleri kaldırmak istiyor musunuz?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s dosyası okunurken hata oluştu"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Şu diskler yeniden adlandırılacak:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (eski adı %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "AÄŸ"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Lütfen bir medya seçin"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Bu dosya zaten var. Üzerine yazılsın mı?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "İzin verilmedi"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Kötü NFS adı"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Kötü veri kaynağı %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Disk bölümlemesi yapılmadan ekran örnekleri alınamaz."
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekran örnekleri %s kurulduktan sonra mümkün olacak"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Kurulum"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Yapılandırma"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Ayrıca %s biçemlendirilmelidir"
+
+#: 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 ""
+"Bilgisayarınızdaki bazı donanımlar çalışmak için \"tescilli\" sürücüler\n"
+"gerektiriyor. Bunlar hakkında bilgi bulabileceğiniz adres: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ağ bağlanıyor"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ağ ayrılıyor"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Dosya alınıyor. Lütfen bekleyin"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "ortam eklenemiyor"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Bazı paketler sonradan kullanım için disklere kopyalanıyor"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopyalama sürüyor"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "zorunlu"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "önemli"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "çok hoş"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "güzel"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "belki"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "XML meta-data'dan paket bilgileri alınıyor..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"\"%s\" ortamı için xml bilgisi yok, yalnız %s paketi için kısmi bir sonuç,"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Tanımlanmamış"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s tarafından istenen bazı paketler kurulamaz:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Bir hata oluÅŸtu:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Bir ölümcül hata oluştu: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Yeniden sorma"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d kurulum yönergesi başarısız oldu"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Paket kurulumu başarısız oldu:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Ofis iÅŸ istasyonu"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Ofis programları: kelime işlemciler (LibreOffice Writer, Kword), LibreOffice "
+"Calc, Kspread, pdf göstericiler, vb.."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Oyun Konsolu"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Eğlence programları: kart oyunları, taktik ve strateji, vb.."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Çoklu ortam konsolu"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Ses ve video çalma/düzenleme uygulamaları"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet konsolu"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"E-posta alışverişi ve haber grubu istemci programları (pine, mutt, tin..) ve "
+"web istemcileri "
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ağ Makinası (client)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh içeren diğer ağ öğeleri için protokoller"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Sisteminizin ayarlarını düzenleyecek uygulama"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol Araçları"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Metin düzenleyiciler, kabuklar, dosya araçları, terminaller"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "GeliÅŸtirme"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ve C++ geliştirme kütüphaneleri, programlar ve include dosyaları"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Belgeler"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Serbest Yazılım ve Linux üzerine Kitaplar ve Nasıl belgeleri"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standartları Temeli. Üçüncü parti uygulama desteği"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web Sunucu"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Grup"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Sunucu"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Güvenlik Kalkanı/Router"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet ağ geçidi"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Posta/Haber"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta sunucu, Inn haber sunucu"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Dizin Sunucusu"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP sunucusu"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Alan adı ve Ağ Bilgileri Sunucusu"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Dosya ve Yazdırma Paylaşım Sunucusu"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS sunucu, Samba sunucu"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Veritabanı"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL veya MariaDB veritabanı sunucusu"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache ve Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta sunucu"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL veya MariaDB veritabanı sunucusu"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Ağ Makinası sunucusu"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS sunucusu, SMB sunucusu, Vekil Sunucu, ssh Sunucu"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafik Ortamı"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE Masaüstü Ortamı, temel grafik ortamla birlikte birleşik araçlar"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Kullanıcı dostu uygulamalar ve masaüstü araçlarına sahip görsel bir ortam "
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce İş İstasyonu"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Kullanıcı dostu uygulamalar ve masaüstü araçlarına sahip hafif bir görsel "
+"bir ortam "
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "GNOME temelli bir grafik ortamı"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt Masaüstü"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "Yeni nesil QT ile derlenmiş hafif masaüstü ortamı"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment Masaüstü"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "Bunlara özgülenmiş hızlı ve hafif bir görsel ortam"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE Masaüstü"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Hafif ve hızlı bir grafiksel ortam"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Diğer Görsel Masaüstleri"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, v.b."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Araçlar"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Sunucu"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Uzak Yapılandırma Sunucusu"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Ağ Araçları/İzleme"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "İzleme araçları, işlem sayımı, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia Sihirbazları"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Sunucuyu yapılandırmak için Sihirbazlar"
+
+#: 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 ""
+"Bir hata oluştu, ancak sebebi saptanamadı.\n"
+"Devam edebilirsiniz, ama risk size ait!"
+
+#: steps.pm:469
+#, 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 ""
+"Bazı paketlerin kurulumu doğru olarak tamamlanmadı.\n"
+"CDROM sürücünüz sorunlu ya da CD'niz bozuk olabilir.\n"
+"Linux kurulu baÅŸka bir makinada \"rpm -qpl media/main/*.rpm\"\n"
+"komutuyla CD'nizi kontrol edebilirsiniz.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' adımına başlanıyor\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s Kurulum %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "gezinmek için <Tab>/<Alt-Tab>"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg sunucusunun başlaması yavaş. Lütfen bekleyin..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Sistem kaynaklarınız kısıtlı. %s'yi kurarken sorunlarınız\n"
+"olabilir. Bu durum oluşursa, metin tabanlı kurulumu deneyebilirsiniz.\n"
+"Bunun için CDROM'dan açtıktan sonra `F1'e basın, ve komut satırına\n"
+"`text' yazın."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Paket Grubu Seçimi"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "%s Plasma Masaüstünü Kur"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "%s GNOME Masaüstünü Kur"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "KiÅŸisel kurulum"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma Masaüstü"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME Masaüstü"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Kişisel Masaüstü"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "'%s' masaüstünün ön izlemesini burada görebilirsiniz."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Daha büyük ön izlemeler görebilmek için resim üzerine tıklayın"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paket Grubu Seçimi"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Tek tek paket seçimi"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Tümünü Seçimden Çıkar"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Toplam boyut: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Sürüm: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Boyut: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Önem: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Bu paket seçimlik değildir"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s paketinin kayıplığından"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s' den dolayı yetersiz"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s yükseltmesi deneniyor"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s'i korumak için"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Yeterli yeriniz kalmadığından bu paketi seçemezsiniz"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Aşağıdaki paketler kurulacaktır"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Aşağıdaki paketler sistemden silinecektir"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Bu zorunlu bir pakettir, seçmemek olmaz"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Bu paketi seçimlerinizden çıkaramazsınız. Zaten kurulmuş."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Bu paketi seçimlerinizden çıkaramazsınız. Yükseltilmek zorunda"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Kendiliğinden seçilen paketleri göster"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Kur"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Seçimi kaydet/yükle"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Paket seçimini güncelleniyor"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "Hiyerarşik ve düz paket listesi arasında geçiş yapın"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "En ufak kurulum"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Yazılım Yöneticisi"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kurmak istediğiniz paketleri seçin"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Kuruluyor"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Ayrıntısız"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Kalan süre :"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(tahminen...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d adet paket"
+msgstr[1] "%d adet paket"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Özet"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Yapılandır"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "yapılandırılmamış"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Şu kurulum medyası bulundu.\n"
+"Bu bazılarını geçmek isterseniz, şimdi seçimden çıkarabilirsiniz."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Kurulumdan önce CD'lerin içeriğini sabit diskinize kopyalayabilirsiniz.\n"
+"Sabit diskten kuruluma devam edilecek ve paketler sistem tamamen "
+"kurulduğunda da hazır olacaktır."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD'lerin tamamını kopyala"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Bir hata oluÅŸtu"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Lütfen klavye düzeninizi seçiniz"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Mevcut tüm klavye düzenlerinin listesi:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Kur/Yükselt"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu bir yükleme mi yoksa yükseltme mi ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Kurulum"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s Yükselt"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s için Parola"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Kurulumu iptal et, sistemi yeniden baÅŸlat"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Yeni Kurulum"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Önceki kurulumu güncelle (önerilmez)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Kurulum aracı, halihazırda kurulu olan Mageia sisteminizin güvenli bir\n"
+"biçimde %s sistemine yükseltilemeyeceğini algıladı.\n"
+"\n"
+"Önceki kurulumunuzun yerini alacak yeni bir kurulum önerilir.\n"
+"\n"
+"Uyarı: \"Yeni Kurulum\"u seçmeden önce tüm kişisel verilerinizi "
+"yedeklemeniz\n"
+"önerilir."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "CD/DVD Yapılandırılıyor"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Cd-Rom'u deÄŸiÅŸtirin!\n"
+"\n"
+"\"%s\" etiketli Cd-Rom'u sürücüye takın ve TAMAM'a basın.\n"
+"Eğer Cd-Rom elinizde yoksa bu Cd-Rom'dan kurmamak için VAZGEÇ'e basın."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mevcut paketler taranıyor"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Sisteminizde kurulum veya yükseltme için yeterli alan yok (% dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lütfen paket seçimini yükle veya kaydete tıklayınız.\n"
+"Otomatik kurulum dosyaları ile aynı biçemde oluşturulacaktır."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Yükle"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Kaydet"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Dosya hatalı"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Masaüstü Seçimi"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "İş istasyonu masaüstü profili seçebilirsiniz."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Seçilen boyut boş disk alanından daha büyük"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Kurulum türü"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Seçilmiş bir paket grubu yok\n"
+"Lütfen isteğinize uyan ve en az yer kaplayacak kurulumu seçin:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X ile"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Önerilen paketleri kur"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Temel belgeler olsun (önerilir!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Gerçekten en küçük kurulum (özellikle urpmi yok)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Yükseltme hazırlanıyor..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Kurulum hazırlanıyor"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi kuruluyor"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Paketler düzenlenirken bir hata oluştu:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Yine de devam edilsin mi?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Yeniden Dene"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Bu paketi geç"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" medyasından tüm paketleri geç."
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Medya ve paket seçimine geri dön."
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Paket %s kurulurken bir hata oluÅŸtu."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Kurulum sonrası yapılandırma"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Lütfen Update Module medyasının %s sürcüsünde olduğuna emin olun"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Güncellemeler"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Şimdi çevrimiçi ortam ayarlama fırsatınız var."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Bu sayede güvenlik güncellemelerini edinebileceksiniz."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Bu ortamları ayarlamak için çalışan bir İnternet bağlanısına \n"
+"ihtiyacınız var.\n"
+"\n"
+"Güncelleme ortamını ayarlamak istiyor musunuz?"
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Aşağıdaki paketler kurulacaktır"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Yeniden dene?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Ortam eklenirken hata oluÅŸtu"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Şu anda güncellenmiş paketleri indirme fırsatınız var. Bu paketler\n"
+"dağıtımın çıkış tarihinden sonra çıkan güncellemeleri içermektedir.\n"
+"Bu güncellemeler önemli hata düzeltmeleri ve güvenlik çözümleri\n"
+"içeriyor olabilir.\n"
+"\n"
+"[Güncelleme indirmenizi tavsiye ediyoruz]\n"
+"\n"
+"Bahsi geçen güncellemeleri indirebilmek için çalışan bir internet \n"
+"bağlantısına ihtiyacınız var.\n"
+"\n"
+"Güncellemeleri kurmak istiyor musunuz ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s üstündeki %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Donanım"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Ses Kartı"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiksel arabirim"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Ağ & İnternet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Vekil Sunucular"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "yapılandırıldı"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Güvenlik Seviyesi"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Güvenlik Duvarı"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "etkinleÅŸtirilmiÅŸ"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "pasifleÅŸtirilmiÅŸ"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X'i yapılandırmadınız. Bunu yapmak istediğinizden emin misiniz?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Birincil başlangıç uygulaması hazırlanıyor..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Sabredin, bu biraz zaman alabilir..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Bu güvenlik seviyesinde, Windows bölümündeki dosyalara erişim yönetici "
+"lehine kısıtlanmıştır."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s sürücüsüne boş bir disket yerleştirin"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Otomatik kurulum disketi hazırlanıyor"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Bazı adımlar tamamlanmadı.\n"
+"\n"
+"Gerçekten çıkmak istiyormusunuz?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Tebrikler"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Yeniden baÅŸlat"
+
+#. -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 "Dil"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "YerelleÅŸtirme"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisans"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Fare"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Sabit disk algılaması"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Kurulum sınıfı"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klavye"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Güvenlik"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Bölümlendirme"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Biçimlendirme"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Paketler seçiliyor"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Kuruluyor"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Kullanıcılar"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Önyükleyici"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X Yapılandırması"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Özet"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Hizmetler"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Güncellemeler"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Çıkış"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Yansının URL bağlantı adresi?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "URL bağlantı adresi ftp:// veya http:// ile başlamak zorundadır."
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr "Yansı adreslerini almak için %s web sayfasına bağlantı kuruluyor..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Yansı adreslerini almak için %s web sayfasına bağlantı kurma başarısız"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Paketleri alacağınız bir yansı adresi seçiniz"
diff --git a/perl-install/install/share/po/uk.po b/perl-install/install/share/po/uk.po
new file mode 100644
index 000000000..1480930de
--- /dev/null
+++ b/perl-install/install/share/po/uk.po
@@ -0,0 +1,1737 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Yuri Chornoivan <yurchor@ukr.net>, 2011-2016,2018-2019.
+# Yuri Chornoivan <yurchor@ukr.net>, 2019, 2020, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2022-11-21 23:25+0200\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11"
+" ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100"
+" > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n %"
+" 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+"X-Generator: Lokalize 20.12.0\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "ДолучайтеÑÑ Ð´Ð¾ наÑ!"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "Підлаштуйте ÑиÑтему під Ñебе!"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "Вибір за вами!"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "ОфіÑні інÑтрументи"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñ€Ð¾Ð·Ð²Ð°Ð¶Ð°Ð»ÑŒÐ½Ð° ÑиÑтема"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "Ð”Ð»Ñ Ð´Ñ–Ñ‚ÐµÐ¹"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Ð”Ð»Ñ Ñім’ї!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Ð”Ð»Ñ Ñ€Ð¾Ð·Ñ€Ð¾Ð±Ð½Ð¸ÐºÑ–Ð²!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "ДÑкуємо!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "Будьте вільними!"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Чи маєте ви доÑтуп до вказаних нижче додаткових ноÑіїв?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Впродовж вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾ Ñ– буде викориÑтано наÑтупне джерело: %s.\n"
+"\n"
+"\n"
+"Чи маєте ви диÑк підтримки Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мережа (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мережа (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Мережа (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Введіть назву машини або теку з ноÑієм NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Ðемає назви машини"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ðазва каталогу має починатиÑÑ Ð· «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ðазва комп'ютера Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Додатковий"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ðа цьому дзеркалі не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ перелік пакунків. ПереконайтеÑÑ, що його "
+"Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ правильно."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core Release"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted Release"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree Release"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+"Ð”Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ чаÑтини Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ð° вашому комп’ютері Ñлід вÑтановити "
+"мікропрограми з закритим кодом, потрібні Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ драйверів з відкритим "
+"кодом."
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "Вам Ñлід уможливити вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ñ– Ñховища «%s»"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+"У Ñховищі «%s» міÑÑ‚ÑтьÑÑ Ñ€Ñ–Ð·Ð½Ð¾Ð¼Ð°Ð½Ñ–Ñ‚Ð½Ñ– чаÑтини операційної ÑиÑтеми та Ñ—Ñ— "
+"програм"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+"У Ñховищі «%s» міÑÑ‚ÑтьÑÑ Ð¿Ð°ÐºÑƒÐ½ÐºÐ¸ з програмним забезпеченнÑм, Ñке не Ñ” "
+"вільним.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"Там також мітÑтьÑÑ Ð¿Ð°ÐºÑƒÐ½ÐºÐ¸ з мікрокодом, потрібним Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ деÑких "
+"приÑтроїв (наприклад деÑких відеокарток ATI/AMD, деÑких мережевих карток, "
+"деÑких карток RAID…)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+"У Ñховищі «%s» міÑÑ‚ÑтьÑÑ Ð¿Ð°ÐºÑƒÐ½ÐºÐ¸ з програмним забезпеченнÑм, Ñке не можна "
+"вільно поширювати у деÑких країнах через Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ð°Ñ‚ÐµÐ½Ñ‚Ð½Ð¸Ñ… прав на це "
+"програмне забезпеченнÑ."
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+"Також у Ñховищі «%s» міÑÑ‚ÑтьÑÑ Ð¿Ð°ÐºÑƒÐ½ÐºÐ¸, Ñкі зібрано з додатковими "
+"можливоÑÑ‚Ñми, викориÑÑ‚Ð°Ð½Ð½Ñ Ñких обмежуєтьÑÑ Ð¿Ð°Ñ‚ÐµÐ½Ñ‚Ð½Ð¸Ð¼ законодавÑтвом."
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "Тут ви можете увімкнути додаткові Ñховища, Ñкщо це вам потрібно."
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "У цьому Ñховищі міÑÑ‚ÑтьÑÑ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑ–Ð² зі Ñховища «%s»"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ПереглÑдаєтьÑÑ ÑпиÑок вже вÑтановлених пакунків…"
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Шукаємо пакунки Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ…"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Вилучаємо пакунків перед поновленнÑм…"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"ÐаÑтупні пакунки будуть вилучені, щоб забезпечити поновленнÑ\n"
+"вашої ÑиÑтеми: %s\n"
+"\n"
+"\n"
+"Ви Ñправді хочете вилучити ці пакунки?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Помилка при читанні файла %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ðазву наÑтупних диÑків було змінено:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð½Ð°Ð·Ð²Ð° %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Мережа"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Будь лаÑка, виберіть ноÑій"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл вже Ñ–Ñнує. ПерезапиÑати його?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "ДоÑтуп заборонено"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ðеправильна назва NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Пошкоджений ноÑій %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Ðе можна робити знімки екрана перед розбиттÑм на розділи"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Знімки екрана Ñтануть можливими піÑÐ»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Ð’ÑтановленнÑ"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "ÐалаштовуваннÑ"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Вам потрібно також відформатувати %s"
+
+#: 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 ""
+"ДеÑкі з апаратних заÑобів на вашому комп'ютері вимагають драйверів\n"
+"фірм-виробників Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб працювати правильно. \n"
+"\n"
+"Ви можете знайти потрібну інформацію про них на Ñторінці %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Вмикаю мережу"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Вимикаю мережу"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Зачекайте, перевірÑєтьÑÑ Ñ„Ð°Ð¹Ð»"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "неможливо додати ноÑій"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "ÐšÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð´ÐµÑких пакунків на диÑки Ð´Ð»Ñ Ð¿Ñ–Ð·Ð½Ñ–ÑˆÐ¾Ð³Ð¾ викориÑтаннÑ"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Триває копіюваннÑ"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "повинен мати"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "важливий"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "дуже гарний"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "гарно"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "можливо"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… щодо пакунків з метаданих у форматі XML…"
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Ð”Ð»Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° «%s» немає xml-info. Отримано лише чаÑтковий результат Ð´Ð»Ñ "
+"пакунка %s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Ðемає опиÑу"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"ДеÑкі пакунки, необхідні Ð´Ð»Ñ Ð²Ð°Ñ€Ñ–Ð°Ð½Ñ‚Ð° %s, неможливо вÑтановити:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "СталаÑÑ Ð½ÐµÐ²Ð¸Ð¿Ñ€Ð°Ð²Ð½Ð° помилка: %s"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Більше не питати"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d запит на вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° невдале:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Робоча ÑтанціÑ"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "ОфіÑна робоча ÑтанціÑ"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Програми Ð´Ð»Ñ Ð¾Ñ„Ñ–Ñу: текÑтові процеÑори (LibreOffice Writer, Kword), "
+"електронні таблиці (LibreOffice Calc, Kspread), переглÑдачі файлів PDF, тощо"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Ігрова ÑтанціÑ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Програми Ð´Ð»Ñ Ñ€Ð¾Ð·Ð²Ð°Ð³: ігри-перегони, ігри на дошці, Ñтратегічні, тощо"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедійна ÑтанціÑ"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Звукові та відео програвачі та редактори"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Ð¡Ñ‚Ð°Ð½Ñ†Ñ–Ñ Ð´Ð»Ñ Ð†Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ñƒ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Ðабір заÑобів Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾Ñ— пошти та груп новин "
+"(pine, mutt, tin…), а також Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду Ñторінок інтернету"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мережевий комп'ютер (клієнт)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клієнти Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… протоколів (ssh включно)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ЗаÑоби Ð´Ð»Ñ Ð¿Ð¾Ð»ÐµÐ³ÑˆÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð¿'ютера"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "ЗаÑоби Ð´Ð»Ñ ÐºÐ¾Ð½Ñолі"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редактори, командні оболонки, файлові заÑоби та термінали"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Розробка"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Бібліотеки Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð² C, C++, програми та файли include"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "ДокументаціÑ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книжки та поради з Linux та вільного програмного забезпеченнÑ"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Стандартна база Linux. Підтримка програм Ñторонніх виробників"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб-Ñервер"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Групова робота"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Сервер Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "ЗахиÑний шлюз/Маршрутизатор"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Інтернет-шлюз"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Пошта/Ðовини"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Поштовий Ñервер postfix, Ñервер новин Inn"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Сервер тек"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Сервер FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Сервер назв домену Ñ– мережевий інформаційний Ñервер"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер доÑтупу до файлів Ñ– друкарок"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Сервер NFS, Ñервер Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "База даних"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Сервери баз даних PostgreSQL і MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Тенета/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Поштовий Ñервер postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Сервери баз даних PostgreSQL або MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Мережевий комп'ютер (Ñервер)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Сервер NFS, Ñервер SMB, прокÑÑ–-Ñервер, Ñервер ssh"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графічне Ñередовище"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Робоча ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ Ð· Плазмою"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Робоче Ñередовище K (KDE) — оÑновне графічне Ñередовище з набором допоміжних "
+"заÑобів"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Робоча ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ Gnome"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графічне Ñередовище з дружнім інтерфейÑом та програмами, заÑоби Ð´Ð»Ñ Ñтільниці"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Робоча ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ Xfce"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Полегшене графічне Ñередовище з дружнім інтерфейÑом та програмами, заÑоби "
+"Ð´Ð»Ñ Ñтільниці"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Робоча ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Робоча ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Графічне Ñередовище на оÑнові GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Ð¡Ñ‚Ñ–Ð»ÑŒÐ½Ð¸Ñ†Ñ LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"Ðова верÑÑ–Ñ Ñ–Ð· портуваннÑм на Qt невибагливого до реÑурÑів Ñтільничного "
+"Ñередовища"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Ð¡Ñ‚Ñ–Ð»ÑŒÐ½Ð¸Ñ†Ñ Enlightenment"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Швидке, невибагливе до реÑурÑів графічне Ñередовище з відданими прихильниками"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Ð¡Ñ‚Ñ–Ð»ÑŒÐ½Ð¸Ñ†Ñ LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "Швидке, невибагливе до реÑурÑів графічне Ñередовище"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Інші графічні Ñтільниці"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, тощо"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ІнÑтрументи"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Сервер SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Сервер віддаленого Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мережеві інÑтрументи/Ð¡Ð»Ñ–Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° мережею"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ІнÑтрументи Ð´Ð»Ñ ÑлідкуваннÑ, облік процеÑів, tcpdump, nmap…"
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Помічники Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Помічники Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñервера"
+
+#: 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 ""
+"СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, але ÑпоÑіб належного уÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ—Ñ— наÑлідків невідомий.\n"
+"Ви можете ризикнути Ñ– продовжити вÑтановленнÑ."
+
+#: steps.pm:469
+#, 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 ""
+"ДеÑкі важливі пакунки не вдалоÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ вÑтановити. Ваш\n"
+"компакт-диÑк або приÑтрій Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¾.\n"
+"Перевірте компакт-диÑк командою \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ПочинаєтьÑÑ ÐºÑ€Ð¾Ðº «%s»\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> між елементами"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Сервер Xorg Ñтартує повільно. Зачекайте…"
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Ваша ÑиÑтема не Ñ” доÑтатньо потужною. У Ð²Ð°Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ виникнути проблеми\n"
+"зі вÑтановленнÑм %s. Якщо такі проблеми виникнуть, Ñпробуйте вÑтановити\n"
+"ÑиÑтему у текÑтовому режимі. Щоб зробити це, натиÑніть F1 під Ñ‡Ð°Ñ "
+"завантаженнÑ\n"
+"з компакт-диÑка, а потім введіть «text»."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Вибір ноÑÑ–Ñ"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "Ð’Ñтановити робочу Ñтанцію %s із Плазмою KDE"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "Ð’Ñтановити робочу Ñтанцію %s GNOME"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Вибіркове вÑтановленнÑ"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Ð¡Ñ‚Ñ–Ð»ÑŒÐ½Ð¸Ñ†Ñ ÐŸÐ»Ð°Ð·Ð¼Ð¸"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Ð¡Ñ‚Ñ–Ð»ÑŒÐ½Ð¸Ñ†Ñ GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Ðетипова ÑтільницÑ"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Попередній переглÑд Ñтільниці «%s»."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "ÐатиÑніть на зображеннÑ, щоб побачити більший розмір"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Вибір груп пакунків"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Індивідуальний вибір пакунків"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "СкаÑувати веÑÑŒ вибір"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Загальний розмір: %d / %d МБ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑÑ–Ñ: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Розмір: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d кБ\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "ВажливіÑть: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Ви не можете вибрати або ÑкаÑувати вибір цього пакунка."
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "через відÑутніÑть %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "через незадоволеніÑть %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "намагаємоÑÑ Ð·Ð°Ð´Ñ–Ñти %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "щоб залишити %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ви не можете вибрати цей пакунок, бо Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ залишилоÑÑ "
+"доÑтатньо вільного міÑцÑ."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ці пакунки буде вÑтановлено"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ÐаÑтупні пакунки буде вилучено"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Цей пакунок необхідний, його вибір не можна ÑкаÑовувати"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Вибір цього пакунка не можна ÑкаÑовувати. Його вже вÑтановлено."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Вибір цього пакунка не можна ÑкаÑовувати. Його Ñлід поновити."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Показувати автоматично вибрані пакунки"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Ð’ÑтановленнÑ"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Завантажити/зберегти позначене"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "ÐŸÐ¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ пакунків"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "ПеремкнутиÑÑ Ð¼Ñ–Ð¶ ієрархічним Ñ– плоÑким ÑпиÑками пакунків"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Мінімальне вÑтановленнÑ"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Менеджер програм"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Виберіть пакунки, Ñкі ви хочете вÑтановити"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Ð’ÑтановленнÑ"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Без подробиць"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "ЗалишилоÑÑ Ñ‡Ð°Ñу:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(наближене обчиÑленнÑ…)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакунок"
+msgstr[1] "%d пакунки"
+msgstr[2] "%d пакунків"
+msgstr[3] "%d пакунків"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ПідÑумки"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Ðалаштувати"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "не налаштовано"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Було знайдено наÑтупні ноÑÑ–Ñ— вÑтановленнÑ.\n"
+"Якщо ви не хочете викориÑтовувати деÑкі з них, зніміть з них позначку вибору."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"У Ð²Ð°Ñ Ñ” можливіÑть перед початком вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñкопіювати вміÑÑ‚ компакт-"
+"диÑків на твердий диÑк.\n"
+"ПіÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶Ð¸Ñ‚ÑŒÑÑ Ð· твердого диÑка Ñ– пакунки залишатьÑÑ "
+"доÑтупними піÑÐ»Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копіювати компакт-диÑки повніÑтю."
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Будь лаÑка, виберіть розкладку клавіатури"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Тут наведено повний ÑпиÑок можливих мап клавіатури:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Ð’Ñтановити/Поновити"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Це вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð¸ поновленнÑ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Ð’ÑтановленнÑ"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Поновити %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Припинити вÑтановленнÑ, перезавантажити ÑиÑтему."
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ðове вÑтановленнÑ"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Поновити попереднє вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ (не рекомендуєтьÑÑ)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"Програма Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð¸Ñвила, що раніше вÑтановлена ÑиÑтема\n"
+"Mageia Linux не може бути безпечно поновлена до %s.\n"
+"\n"
+"РекомендуєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ нове вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑтеми, Ñке замінить попереднє.\n"
+"\n"
+"ПопередженнÑ: вам Ñлід зробити резервну копію оÑобиÑтих даних\n"
+"перед тим, Ñк виберете «Ðове вÑтановленнÑ»."
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "КД/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Змініть компакт-диÑк!\n"
+"Будь лаÑка, вÑтавте компакт-диÑк з міткою «%s» у приÑтрій Ñ–\n"
+"натиÑніть «Гаразд».\n"
+"Якщо ви не маєте такого диÑка, натиÑніть СкаÑувати, щоб не\n"
+"вÑтановлювати з цього диÑка."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Шукаю наÑвні пакунки…"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"У вашій ÑиÑтемі не залишилоÑÑ Ð´Ð¾Ñтатньо міÑÑ†Ñ Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ "
+"Ð¿Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ (%dМб > %dМб)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Будь лаÑка, виберіть, завантажити чи запиÑати вибір пакунків.\n"
+"Формат такий Ñамий, Ñк Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² auto_install."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "ЗавантаженнÑ"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Зберегти"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Поганий файл"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Плазма"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Вибір Ñтільниці"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Ви можете вибрати профіль Ñтільниці робочої Ñтанції."
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Вибраний розмір більший за наÑвний "
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Тип вÑтановленнÑ"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ви не вказали жодної групи пакунків.\n"
+"Будь лаÑка, вкажіть мінімальний варіант вÑтановленнÑ:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Разом з Х"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Ð’Ñтановлювати запропоновані пакунки"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "З оÑновною документацією (рекомендуємо!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ÐаÑправді мінімальне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ (навіть без urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "ГотуємоÑÑ Ð´Ð¾ оновленнÑ…"
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Підготовка вÑтановленнÑ"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Ð’ÑтановлюєтьÑÑ Ð¿Ð°ÐºÑƒÐ½Ð¾Ðº %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑ–Ð²: "
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ð’Ñе-таки продовжувати?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Ще раз"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ПропуÑтити цей пакунок"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "ПропуÑтити уÑÑ– пакунки з ноÑÑ–Ñ Â«%s»"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "ПовернутиÑÑ Ð´Ð¾ вибору ноÑіїв Ñ– пакунків"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð²ÑтановленнÑ"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "ПереконайтеÑÑ, чи джерело Update Modules знаходитьÑÑ Ð² ноÑÑ–Ñ— %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "ПоновленнÑ"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "Тепер ви можете налаштувати мережеві Ñховища пакунків."
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Це надає змогу вÑтановлювати Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸."
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"Ð”Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñховищ пакунків вам знадобитьÑÑ Ð¿Ñ€Ð°Ñ†ÐµÐ·Ð´Ð°Ñ‚Ð½Ðµ \n"
+"інтернет-з’єднаннÑ.\n"
+"\n"
+"Хочете налаштувати Ñховище пакунків Ð´Ð»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "Ðе вдалоÑÑ Ð²Ñтановити цей заÑіб Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Повторити?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ð¾ÑÑ–Ñ"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Зараз ви маєте можливіÑть звантажити поновлені пакунки. Ці пакунки\n"
+"було поновлено піÑÐ»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñƒ диÑтрибутива. Вони можуть міÑтити\n"
+"Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ або помилок.\n"
+"\n"
+"Щоб звантажити ці пакунки, вам Ñлід мати працездатне з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·\n"
+"Інтернетом.\n"
+"\n"
+"Ви хочете вÑтановити ці поновленнÑ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ОбладнаннÑ"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Звукова картка"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Графічний інтерфейÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Мережа та Інтернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑÑ–"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "налаштовано"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Рівень безпеки"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "ЗахиÑний шлюз"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "увімкнено"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "вимкнено"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Ви не налаштувати X. Ви впевнені, що дійÑно цього хочете?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "ÐŸÑ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— програми запуÑку…"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Зачекайте, це може тривати довго…"
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ðа цьому рівні безпеки доÑтуп до файлів на розділі Windows дозволений тільки "
+"адмініÑтратору."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ð’Ñтавте чиÑту диÑкету в диÑковод %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð¸Ñкети Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ вÑтановленнÑ…"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ДеÑкі кроки не завершені.\n"
+"\n"
+"Ви дійÑно хочете припинити зараз?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "ВітаннÑ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Перезавантажити"
+
+#. -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 "Мова"
+
+#: 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 "ЛіцензіÑ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Миша"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð²ÐµÑ€Ð´Ð¾Ð³Ð¾ диÑка"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Тип вÑтановленнÑ"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавіатура"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Безпека"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Ð Ð¾Ð·Ð±Ð¸Ñ‚Ñ‚Ñ Ð½Ð° розділи"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "ФорматуваннÑ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Вибір пакунків"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Ð’ÑтановленнÑ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "КориÑтувачі"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Завантажувач"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ðалаштувати X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ПідÑумки"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Служби"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ПоновленнÑ"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Вихід"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° дзеркало?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð°Ñ” починатиÑÑ Ð· ftp:// або http://"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð²â€™Ñзку з веб-Ñайтом %s Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑку доÑтупних "
+#~ "дзеркал…"
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Ðе вдалоÑÑ Ð²Ñтановити зв’Ñзок з веб-Ñайтом %s Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑку "
+#~ "доÑтупних дзеркал"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Виберіть Ñервер, з Ñкого звантажити пакунки"
diff --git a/perl-install/install/share/po/uz.po b/perl-install/install/share/po/uz.po
new file mode 100644
index 000000000..97766fb79
--- /dev/null
+++ b/perl-install/install/share/po/uz.po
@@ -0,0 +1,1697 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Behzod Saidov <behzodsaidov@gmail.com>, 2007
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003-2004,2006-2008
+# Ðурали Ðбдурахмонов <mavnur@gmail.com>, 2006,2009-2010
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Uzbek (http://www.transifex.com/MageiaLinux/mageia/language/"
+"uz/)\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Sizda qoʻshimcha kompakt-disk bormi?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Oʻrnatish davomida quyidagi manbadan foydalaniladi: %s.\n"
+"\n"
+"\n"
+"Moslanishi kerak boʻlgan qoʻshimcha oʻrnatish manbasi bormi?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Tarmoq (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Tarmoq (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Tarmoq (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS orqali oʻrnatish"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS toʻplamining kompyuter nomini va direktoriyani kiriting"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Kompyuterning nomi koʻrsatilmagan"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktoriya \"/\" belgi bilan boshlashi kerak"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS serverining xost nomi"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Direktoriya"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Qoʻshimcha"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Oynada paketlar roʻyxatini topib boʻlmadi. Manzil (URL) toʻgʻri "
+"koʻrsatilganligini tekshiring."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Allaqachon oʻrnatilgan paketlar qidirilmoqda..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Yangilash uchun paketlar qidirilmoqda..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Yangilashdan avval paketlar olib tashlanmoqda..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Tizimni yangilash uchun quyidagi paketlar oʻchiriladi: %s\n"
+"\n"
+"\n"
+"Davom etishni istaysizmi?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s faylini oʻqishda xato roʻy berdi"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Quyidagi disk(lar)ning nomi oʻzgartirildi:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (oldingi nomi %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Tarmoq"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Iltimos toʻplamni tanlang"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fayl allaqachon mavjud. Uni almashtirishni istaysizmi?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Ruxsat yoʻq"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS nomi notoʻgʻri"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Notoʻgʻri toʻplam %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Skrinshotlarni diskni boʻlishdan avval olib boʻlmaydi"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Oʻrnatish tugaganidan keyin skrinshotlarni quyidagi joydan topish mumkin: %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Oʻrnatish"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Moslash"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Siz %s'ni ham format qilishingiz kerak"
+
+#: 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 ""
+"Kompyuterning baʼzi asbob-uskunasi erkin boʻlmagan drayverni talab qiladi.\n"
+"Ular haqida baʼzi maʼlumotni quyidagi joydan olsa boʻladi: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Tarmoq ishga tushirilmoqda"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tarmoq oʻchirilmoqda"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Iltimos kutib turing, fayl olinmoqda"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "manbani qoʻshib boʻlmadi"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Baʼzi paketlardan diskka nusxa olinmoqda"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Nusxa olish davom etmoqda"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "boʻlishi shart"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "muhim"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "juda yaxshi"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "yaxshi"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "balki"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Taʼrif yoʻq"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s talab qiladigan baʼzi paketlarni oʻrnatib boʻlmaydi:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Xato roʻy berdi:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Juda jiddiy xato roʻy berdi: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d oʻrnatish tranzaksiyasi muvaffaqiyatsiz tugadi"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Paketlarni oʻrnatib boʻlmadi:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Ish stansiyasi"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Idora stansiyasi"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Idora uchun dasturlar: matn protsessorlari (LibreOffice Writer, Kword), "
+"elektron jadvallar (LibreOffice Calc, Kspread), PDF koʻruvchilar va hokazo"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Oʻyin stansiyasi"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Ovunchoq dasturlar: arkada, stol oʻyinlari, strategiya va hokazo"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia stansiyasi"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Audio va videoni oʻynash/tahrirlash uchun dasturlar"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet stansiyasi"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Xat-xabar, yangiliklarni oʻqish va joʻnatish (mutt, tin..) va Internetda "
+"sayr qilish uchun vositalar toʻplami"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Tarmoqdagi kompyuter (klient)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Turli protokollar, shu jumlada SSH, uchun klientlar"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kompyuterni moslashni yengilashtirish uchun vositalar"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol vositalari"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Tahrirchilar, konsollar, fayl vositalari, terminallar"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Tuzish"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C va C++ tuzish kutubxonalari, vositalar va xeder fayllar"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Qoʻllanmalar"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux va erkin dasturlar haqida kitoblar va Howto'lar"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Uchinchi tomon dastur tuzuvchilari qoʻllanuvi"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Veb-serveri"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveri"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Fayervol/Ruter"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet geytveyi"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Xat-xabar/Yangiliklar"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix xat-xabar serveri, Inn yangiliklar serveri"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Direktoriya serveri"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveri"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS va NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fayl va printerni boʻlishish serveri"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS serveri, Samba serveri"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Maʼlumot bazasi"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL va MariaDB maʼlumot bazasi"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Xat-xabar"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix xat-xabar serveri"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL yoki MariaDB maʼlumot bazasi"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Tarmoqdagi kompyuter (server)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS serveri, SMB serveri, Proxy serveri, SSH serveri"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafik muhit"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE - vositalar toʻplami bilan birga asosiy grafik muhit"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME stansiyasi"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Foydalanuvchilar uchun qulay dasturlar va ish stoli vositalaridan iborat "
+"grafik muhit"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE ish stoli"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Boshqa grafik ish stollari"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Vositalar"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH serveri"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin masofadan boshqarish serveri"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Tarmoq vositalari/Nazorat qilish"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Nazorat qilish vositalari, vazifalar hisobotchilari, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia yordamchilari"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Serverni moslash uchun yordamchilar"
+
+#: 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 ""
+"Xatolik yuz berdi ammo uning sababi aniqlanmadi.\n"
+"Tavvakkal qilgan holda davom etishingiz mumkin."
+
+#: steps.pm:469
+#, 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 ""
+"Baʼzi bir muhim paketlar toʻgʻri oʻrnatilmadi.\n"
+"Sizning kompakt-disk uskunangizda yoki kompakt-diskingizda xato bor.\n"
+"Kompakt-diskni oʻrnatilgan kompyuterda \"rpm -qpl media/main/*.rpm\" "
+"buyrugʻi bilan tekshirib koʻring.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s bosqichga oʻtilmoqda\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s OTni oʻrnatish %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> banddan-bandga"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg dasturi juda sekin ishga tushyapti. Iltimos kutib turing..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Tizimda resurslar yetishmaydi. %s tizimini oʻrnatish mobaynida\n"
+"muammoga duch kelishingiz mumkin. Agar shunday boʻlsa, matn usulida "
+"oʻrnatish vositasidan foydalanib koʻring,\n"
+"Buning uchun diskdan yuklanayotganda `F1' tugmasini bosing va `text' deb "
+"yozing."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Manbani tanlash"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Boshqa"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME ish stoli"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Boshqa ish stoli"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Bu '%s' ish stolining koʻrinishi."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Ish stolini yaqinroqdan koʻrish uchun rasmni sichqoncha bilan bosing"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketlarni guruh boʻyicha tanlash"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Paketlarni bittama-bitta tanlash"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Hech qaysi tanlanmasin"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Jami: %d / %d Mb"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Versiyasi: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Hajmi: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Kb\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Muhimligi: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Bu paketni tanlolmaysiz/tanlashni bekor qilolmaysiz"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s yetishmagani uchun"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s ativlashtirishga harakat qilinmoqda"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s'ni qoldirish uchun"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Bu paketni tanlolmaysiz, chunki uni oʻrnatish uchun yetarli joy mavjud emas."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Quyidagi paketlar oʻrnatiladi"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Quyidagi paketlar olib tashlaniladi."
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+"Bu oʻrnatilishi shart boʻlgan paket, uni tanlashni bekor qilib boʻlmaydi."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Bu paketni tanlashni bekor qilolmaysiz. U allaqachon oʻrnatilgan."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Bu paketni tanlashni bekor qilolmaysiz. U yangilanishi shart."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Avtomatik ravishda tanlangan paketlarni koʻrsatish"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Oʻrnatish"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Tanlanganni yuklash/saqlash"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Paketlar tanlovi yangilanmoqda"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal oʻrnatish"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Dasturlar boshqaruvi"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Siz oʻrnatmoqchi boʻlgan paketlarni tanlang"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Oʻrnatilmoqda"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Tafsilotlarsiz"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Qolgan vaqt:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(chamalanmoqda)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d-ta paket"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Hisobot"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Moslash"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "moslanmagan"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Quyidagi oʻrnatish manbalari aniqlandi.\n"
+"Faqat tanlangan manbalar oʻrnatish uchun ishlatiladi."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Oʻrnatishdan avval kompakt-disklardagi paketlardan kompyuterning diskiga "
+"nusxa olish mumkin.\n"
+"Oʻrnatish toʻliq tugagandan soʻng ular tizimga maʼlum boʻladi."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Butun diskdan nusxa olish"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Xato roʻy berdi"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Iltimos tugmalar tartibini tanlang"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Mavjud boʻlgan klaviaturalarning toʻliq roʻyxati:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Oʻrnatish/Yangilash"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu oʻrnatishmi yoki yangilashmi?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Oʻrnatish"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s OTni yangilash"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s uchun kodlash kaliti"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Oʻrnatishni bekor qilish, kompyuterni oʻchirib-yoqish"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Oʻrnatish"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Oldingi oʻrnatishni yangilash (tavsiya etilmaydi)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Kompakt-diskni almashtiring!\n"
+"\n"
+"Iltimos '%s' belgili kompakt-diskni qoʻying va \"Ok\" tugmasini bosing.\n"
+"Agar u sizda boʻlmasa, bu kompakt-diskdan oʻrnatishni bekor qilish uchun "
+"\"Bekor qilish\" tugmasini bosing."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mavjud boʻlgan paketlar qidirilmoqda..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"Tizimda oʻrnatish yoki yangilash uchun yetarli joy qolmadi (%d Mb > %d Mb)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Yuklash"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Saqlash"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Notoʻgʻri fayl"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Ish stolini tanlash"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Quyidagilardan oʻrnatiladigan ish stolini tanlang"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Tanlangan hajm mavjud boʻlgan boʻsh joydan katta"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Oʻrnatishning turi"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Siz hech qanday paketlar guruhini tanlamadingiz.\n"
+"Iltimos siz istagan minimal oʻrnatishni tanlang:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X bilan"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Asosiy qoʻllanmalar bilan (tavsiya qilinadi!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Haqiqiy minimal oʻrnatish (xususan urpmi'siz)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Oʻrnatishga tayyorlanmoqda"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi oʻrnatilmoqda"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Quyidagi paketlarni saralashda xato roʻy berdi:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Bunga qaramasdan davom etishni istaysizmi?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Qaytadan urinish"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Bu paketga eʼtibor berilmasin"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" toʻplamidan hamma paketlarga eʼtibor berilmasin"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Oʻrnatish manbalarni va paketlarni tanlashga qaytish"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Quyidagi paketni oʻrnatishda xato roʻy berdi: %s"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Oʻrnatishdan keyin moslash"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "%s ichida Update Modules toʻplami mavjudligini tekshirib koʻring"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Yangilanishlar"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Quyidagi paketlar oʻrnatiladi"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Toʻplamni qoʻshish muvaffaqiyatsiz tugadi"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Hozir sizda yangilangan paketlarni yozib olib oʻrnatish imkoniyati mavjud.\n"
+"Ular hozir siz oʻrnatgan Mageia tizimi chiqqanidan soʻng\n"
+"yangilangan. Ularda har xil xavfsizlik va dasturlar bilan bogʻliq\n"
+"xatoliklar tuzatilgan boʻlishi mumkin.\n"
+"\n"
+"Bu paketlarni yozib olish uchun sizda Internet bilan aloqa oʻrnatilgan "
+"boʻlishi\n"
+"kerak.\n"
+"\n"
+"Yangilanishlarni oʻrnatishni istaysizmi?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s'da"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Asbob-uskunalar"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Tovush karta"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafik interfeys"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Tarmoq va Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proksilar"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "moslangan"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Xavfsizlik darajasi"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Fayervol"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ishlayapti"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "oʻchirilgan"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Siz X'ni moslamadingiz. Rostdan buni istaysizmi?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Kutib turing, bu biroz vaqt olishi mumkin..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ushbu xavfsizlik daraja qoʻllanilganda diskning Windows qismidagi fayllarga "
+"faqat administrator murojaat qilishi mumkin."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Boʻsh disketni %s uskunasiga qoʻying"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Avto-oʻrnatish disketi yaratilmoqda..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Baʼzi oʻrnatish bosqichlari bajarilmadi.\n"
+"\n"
+"Rostdan chiqishni istaysizmi?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Tabriklaymiz!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Oʻchirib-yoqish"
+
+#. -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 "Til"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Mahalliylashtirish"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Litsenziya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sichqoncha"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Qattiq diskni aniqlash"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Oʻrnatish sinfi"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tugmatag"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Xavfsizlik"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Diskni boʻlish"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatlash"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Oʻrnatilishi kerak boʻlgan paketlarni tanlash"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Oʻrnatilmoqda"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Foydalanuvchilar"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "OT yuklagichi"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X serverini moslash"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Hisobot"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Xizmatlar"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Yangilanishlar"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Chiqish"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Oynaning manzili (URL)"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Manzil ftp:// yoki http:// bilan boshlanishi kerak"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Mavjud boʻlgan oynalarning roʻyxatini olish uchun %s sayti bilan aloqa "
+#~ "oʻrnatilmoqda..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Mavjud boʻlgan oynalarning roʻyxatini olish uchun %s sayti bilan aloqa "
+#~ "oʻrnatib boʻlmadi"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Paketlarni olish uchun oynani tanlang"
diff --git a/perl-install/install/share/po/uz@cyrillic.po b/perl-install/install/share/po/uz@cyrillic.po
new file mode 100644
index 000000000..c2081c342
--- /dev/null
+++ b/perl-install/install/share/po/uz@cyrillic.po
@@ -0,0 +1,1864 @@
+# translation of uz@cyrillic.po to Uzbek
+# Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006, 2007, 2008.
+# Nurali Abdurahmonov <mavnur@gmail.com>, 2006, 2009, 2010.
+# Behzod Saidov <behzodsaidov@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: uz@cyrillic\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2010-01-07 11:35+0500\n"
+"Last-Translator: Nurali Abdurahmonov <mavnur@gmail.com>\n"
+"Language-Team: American English <kde-i18n-doc@kde.org>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, fuzzy, c-format
+msgid "Office tools"
+msgstr "Идора ÑтанциÑÑи"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Сизда қўшимча компакт-диÑк борми?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Ўрнатиш давомида қуйидаги манбадан фойдаланилади: %s.\n"
+"\n"
+"\n"
+"МоÑланиши керак бўлган қўшимча ўрнатиш манбаÑи борми?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Тармоқ (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Тармоқ (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Тармоқ (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS орқали ўрнатиш"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS тўпламининг компьютер номини ва директориÑни киритинг"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "Компьютернинг номи кўрÑатилмаган"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ \"/\" белги билан бошлаши керак"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS Ñерверининг хоÑÑ‚ номи"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "ДиректориÑ"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Қўшимча"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ойнада пакетлар рўйхатини топиб бўлмади. Манзил (URL) тўғри "
+"кўрÑатилганлигини текширинг."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, fuzzy, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "\"%s\" тўпламидан ҳамма пакетларга Ñътибор берилмаÑин"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ðллақачон ўрнатилган пакетлар қидирилмоқда..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Янгилаш учун пакетлар қидирилмоқда..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Янгилашдан аввал пакетлар олиб ташланмоқда..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Тизимни Ñнгилаш учун қуйидаги пакетлар ўчирилади: %s\n"
+"\n"
+"\n"
+"Давом Ñтишни иÑтайÑизми?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s файлини ўқишда хато рўй берди"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Қуйидаги диÑк(лар)нинг номи ўзгартирилди:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (олдинги номи %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Тармоқ"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ Ñ‚ÑžÐ¿Ð»Ð°Ð¼Ð½Ð¸ танланг"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл аллақачон мавжуд. Уни алмаштиришни иÑтайÑизми?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "РухÑат йўқ"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS номи нотўғри"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Ðотўғри тўплам %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Скриншотларни диÑкни бўлишдан аввал олиб бўлмайди"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Ўрнатиш тугаганидан кейин Ñкриншотларни қуйидаги жойдан топиш мумкин: %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Ўрнатиш"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "МоÑлаш"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Сиз %s'ни ҳам формат қилишингиз керак"
+
+#: 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 ""
+"Компьютернинг баъзи аÑбоб-уÑкунаÑи Ñркин бўлмаган драйверни талаб қилади.\n"
+"Улар ҳақида баъзи маълумотни қуйидаги жойдан олÑа бўлади: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Тармоқ ишга туширилмоқда"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Тармоқ ўчирилмоқда"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ ÐºÑƒÑ‚Ð¸Ð± туринг, файл олинмоқда"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "манбани қўшиб бўлмади"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Баъзи пакетлардан диÑкка нуÑха олинмоқда"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "ÐуÑха олиш давом Ñтмоқда"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "бўлиши шарт"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "муҳим"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "жуда Ñхши"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "Ñхши"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "балки"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Таъриф йўқ"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s талаб қиладиган баъзи пакетларни ўрнатиб бўлмайди:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Хато рўй берди:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Жуда жиддий хато рўй берди: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d ўрнатиш транзакциÑÑи муваффақиÑÑ‚Ñиз тугади"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "Пакетларни ўрнатиб бўлмади:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Иш ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Идора ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Идора учун даÑтурлар: матн процеÑÑорлари (LibreOffice Writer, Kword), "
+"Ñлектрон жадваллар (LibreOffice Calc, Kspread), PDF кўрувчилар ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Ўйин ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Овунчоқ даÑтурлар: аркада, Ñтол ўйинлари, ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð²Ð° ҳоказо"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедиа ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Ðудио ва видеони ўйнаш/таҳрирлаш учун даÑтурлар"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Интернет ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Хат-хабар, Ñнгиликларни ўқиш ва жўнатиш (mutt, tin..) ва Интернетда Ñайр "
+"қилиш учун воÑиталар тўплами"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Тармоқдаги компьютер (клиент)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Турли протоколлар, шу жумлада SSH, учун клиентлар"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Компьютерни моÑлашни енгилаштириш учун воÑиталар"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "КонÑол воÑиталари"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Таҳрирчилар, конÑоллар, файл воÑиталари, терминаллар"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Тузиш"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ва C++ тузиш кутубхоналари, воÑиталар ва хедер файллар"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Қўлланмалар"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux ва Ñркин даÑтурлар ҳақида китоблар ва Howto'лар"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Учинчи томон даÑтур тузувчилари қўллануви"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Веб-Ñервери"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Ñервери"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файервол/Рутер"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет гейтвÑйи"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Хат-хабар/Янгиликлар"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix хат-хабар Ñервери, Inn Ñнгиликлар Ñервери"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñервери"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Ñервери"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS ва NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Файл ва принтерни бўлишиш Ñервери"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Ñервери, Samba Ñервери"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Маълумот базаÑи"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL ва MariaDB маълумот базаÑи"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Хат-хабар"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix хат-хабар Ñервери"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL ёки MariaDB маълумот базаÑи"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Тармоқдаги компьютер (Ñервер)"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS Ñервери, SMB Ñервери, Proxy Ñервери, SSH Ñервери"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "График муҳит"
+
+#: share/meta-task/compssUsers.pl:152
+#, fuzzy, c-format
+msgid "Plasma Workstation"
+msgstr "Иш ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE - воÑиталар тўплами билан бирга аÑоÑий график муҳит"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Фойдаланувчилар учун қулай даÑтурлар ва иш Ñтоли воÑиталаридан иборат график "
+"муҳит"
+
+#: share/meta-task/compssUsers.pl:164
+#, fuzzy, c-format
+msgid "Xfce Workstation"
+msgstr "KDE ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:165
+#, fuzzy, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+"Фойдаланувчилар учун қулай даÑтурлар ва иш Ñтоли воÑиталаридан иборат график "
+"муҳит"
+
+#: share/meta-task/compssUsers.pl:169
+#, fuzzy, c-format
+msgid "MATE Workstation"
+msgstr "GNOME ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:174
+#, fuzzy, c-format
+msgid "Cinnamon Workstation"
+msgstr "Иш ÑтанциÑÑи"
+
+#: share/meta-task/compssUsers.pl:175
+#, fuzzy, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "График муҳит"
+
+#: share/meta-task/compssUsers.pl:179
+#, fuzzy, c-format
+msgid "LXQt Desktop"
+msgstr "LXDE иш Ñтоли"
+
+#: share/meta-task/compssUsers.pl:181
+#, fuzzy, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+"Фойдаланувчи учун қулай даÑтурлар ва иш Ñтоли воÑилари мавжуд бўлган енгил "
+"ва тез ишловчи график муҳит"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+"Фойдаланувчи учун қулай даÑтурлар ва иш Ñтоли воÑилари мавжуд бўлган енгил "
+"ва тез ишловчи график муҳит"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE иш Ñтоли"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+"Фойдаланувчи учун қулай даÑтурлар ва иш Ñтоли воÑилари мавжуд бўлган енгил "
+"ва тез ишловчи график муҳит"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Бошқа график иш Ñтоллари"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "ВоÑиталар"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Ñервери"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin маÑофадан бошқариш Ñервери"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Тармоқ воÑиталари/Ðазорат қилиш"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Ðазорат қилиш воÑиталари, вазифалар ҳиÑоботчилари, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia ёрдамчилари"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Серверни моÑлаш учун ёрдамчилар"
+
+#: 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 ""
+"Хатолик юз берди аммо унинг Ñабаби аниқланмади.\n"
+"Тавваккал қилган ҳолда давом Ñтишингиз мумкин."
+
+#: steps.pm:469
+#, 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 ""
+"Баъзи бир муҳим пакетлар тўғри ўрнатилмади.\n"
+"Сизнинг компакт-диÑк уÑкунангизда ёки компакт-диÑкингизда хато бор.\n"
+"Компакт-диÑкни ўрнатилган компьютерда \"rpm -qpl media/main/*.rpm\" буйруғи "
+"билан текшириб кўринг.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s боÑқичга ўтилмоқда\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s ОТни ўрнатиш %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> банддан-бандга"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg даÑтури жуда Ñекин ишга тушÑпти. Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ ÐºÑƒÑ‚Ð¸Ð± туринг..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Тизимда реÑурÑлар етишмайди. %s тизимини ўрнатиш мобайнида\n"
+"муаммога дуч келишингиз мумкин. Ðгар шундай бўлÑа, матн уÑулида ўрнатиш "
+"воÑитаÑидан фойдаланиб кўринг,\n"
+"Бунинг учун диÑкдан юкланаётганда `F1' тугмаÑини боÑинг ва `text' деб ёзинг."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Манбани танлаш"
+
+#: steps_gtk.pm:257
+#, fuzzy, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "KDE иш Ñтоли"
+
+#: steps_gtk.pm:258
+#, fuzzy, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "GNOME иш Ñтоли"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Бошқа"
+
+#: steps_gtk.pm:280
+#, fuzzy, c-format
+msgid "Plasma Desktop"
+msgstr "Бошқа иш Ñтоли"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME иш Ñтоли"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Бошқа иш Ñтоли"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "Бу '%s' иш Ñтолининг кўриниши."
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "Иш Ñтолини Ñқинроқдан кўриш учун раÑмни Ñичқонча билан боÑинг"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Пакетларни гуруҳ бўйича танлаш"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Пакетларни биттама-битта танлаш"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Ҳеч қайÑи танланмаÑин"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Жами: %d / %d Мб"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "ВерÑиÑÑи: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Ҳажми: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Муҳимлиги: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Бу пакетни танлолмайÑиз/танлашни бекор қилолмайÑиз"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "%s етишмагани учун"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s ативлаштиришга ҳаракат қилинмоқда"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s'ни қолдириш учун"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Бу пакетни танлолмайÑиз, чунки уни ўрнатиш учун етарли жой мавжуд ÑмаÑ."
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Қуйидаги пакетлар ўрнатилади"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Қуйидаги пакетлар олиб ташланилади."
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Бу ўрнатилиши шарт бўлган пакет, уни танлашни бекор қилиб бўлмайди."
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Бу пакетни танлашни бекор қилолмайÑиз. У аллақачон ўрнатилган."
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Бу пакетни танлашни бекор қилолмайÑиз. У Ñнгиланиши шарт."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ðвтоматик равишда танланган пакетларни кўрÑатиш"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Ўрнатиш"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Танланганни юклаш/Ñақлаш"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Пакетлар танлови Ñнгиланмоқда"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Минимал ўрнатиш"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "ДаÑтурлар бошқаруви"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сиз ўрнатмоқчи бўлган пакетларни танланг"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Ўрнатилмоқда"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ТафÑилотларÑиз"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Қолган вақт:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(чамаланмоқда)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d-та пакет"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "ҲиÑобот"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "МоÑлаш"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "моÑланмаган"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Қуйидаги ўрнатиш манбалари аниқланди.\n"
+"Фақат танланган манбалар ўрнатиш учун ишлатилади."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Ўрнатишдан аввал компакт-диÑклардаги пакетлардан компьютернинг диÑкига нуÑха "
+"олиш мумкин.\n"
+"Ўрнатиш тўлиқ тугагандан Ñўнг улар тизимга маълум бўлади."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Бутун диÑкдан нуÑха олиш"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Хато рўй берди"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ Ñ‚ÑƒÐ³Ð¼Ð°Ð»Ð°Ñ€ тартибини танланг"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Мавжуд бўлган клавиатураларнинг тўлиқ рўйхати:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Ўрнатиш/Янгилаш"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Бу ўрнатишми ёки Ñнгилашми?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Ўрнатиш"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s ОТни Ñнгилаш"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s учун кодлаш калити"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Ўрнатишни бекор қилиш, компьютерни ўчириб-ёқиш"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Ўрнатиш"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Олдинги ўрнатишни Ñнгилаш (тавÑÐ¸Ñ Ñтилмайди)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, fuzzy, c-format
+msgid "Configuring CD/DVD"
+msgstr "IDE'ни моÑлаш"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Компакт-диÑкни алмаштиринг!\n"
+"\n"
+"Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ '%s' белгили компакт-диÑкни қўйинг ва \"Ок\" тугмаÑини боÑинг.\n"
+"Ðгар у Ñизда бўлмаÑа, бу компакт-диÑкдан ўрнатишни бекор қилиш учун \"Бекор "
+"қилиш\" тугмаÑини боÑинг."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Мавжуд бўлган пакетлар қидирилмоқда..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "Тизимда ўрнатиш ёки Ñнгилаш учун етарли жой қолмади (%d Мб > %d Мб)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Юклаш"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Сақлаш"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Ðотўғри файл"
+
+#: steps_interactive.pm:455
+#, fuzzy, c-format
+msgid "Plasma"
+msgstr "Бошқа иш Ñтоли"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Иш Ñтолини танлаш"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "Қуйидагилардан ўрнатиладиган иш Ñтолини танланг"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Танланган ҳажм мавжуд бўлган бўш жойдан катта"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Ўрнатишнинг тури"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Сиз ҳеч қандай пакетлар гуруҳини танламадингиз.\n"
+"Ð˜Ð»Ñ‚Ð¸Ð¼Ð¾Ñ Ñиз иÑтаган минимал ўрнатишни танланг:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "X билан"
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Install recommended packages"
+msgstr "Таклиф қилинган пакетларни ўрнатиш"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "ÐÑоÑий қўлланмалар билан (тавÑÐ¸Ñ Ò›Ð¸Ð»Ð¸Ð½Ð°Ð´Ð¸!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Ҳақиқий минимал ўрнатиш (хуÑуÑан urpmi'Ñиз)"
+
+#: steps_interactive.pm:637
+#, fuzzy, c-format
+msgid "Preparing upgrade..."
+msgstr "ОТ юклагичи тайёрланмоқда..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Ўрнатишга тайёрланмоқда"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "%s пакети ўрнатилмоқда"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Қуйидаги пакетларни Ñаралашда хато рўй берди:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Бунга қарамаÑдан давом Ñтишни иÑтайÑизми?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Қайтадан уриниш"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Бу пакетга Ñътибор берилмаÑин"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" тўпламидан ҳамма пакетларга Ñътибор берилмаÑин"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Ўрнатиш манбаларни ва пакетларни танлашга қайтиш"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Қуйидаги пакетни ўрнатишда хато рўй берди: %s"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ўрнатишдан кейин моÑлаш"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "%s ичида Update Modules тўплами мавжудлигини текшириб кўринг"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Янгиланишлар"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Қуйидаги пакетлар ўрнатилади"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, fuzzy, c-format
+msgid "Retry?"
+msgstr "Қайтадан уриниш"
+
+#: steps_interactive.pm:784
+#, fuzzy, c-format
+msgid "Failure when adding medium"
+msgstr "манбани қўшиб бўлмади"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Ҳозир Ñизда Ñнгиланган пакетларни ёзиб олиб ўрнатиш имкониÑти мавжуд.\n"
+"Улар ҳозир Ñиз ўрнатган Mageia тизими чиққанидан Ñўнг\n"
+"Ñнгиланган. Уларда ҳар хил хавфÑизлик ва даÑтурлар билан боғлиқ\n"
+"хатоликлар тузатилган бўлиши мумкин.\n"
+"\n"
+"Бу пакетларни ёзиб олиш учун Ñизда Интернет билан алоқа ўрнатилган бўлиши\n"
+"керак.\n"
+"\n"
+"Янгиланишларни ўрнатишни иÑтайÑизми?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s'да"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "ÐÑбоб-уÑкуналар"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Товуш карта"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "График интерфейÑ"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Тармоқ ва Интернет"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ПрокÑилар"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "моÑланган"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "ХавфÑизлик даражаÑи"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "ишлаÑпти"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "ўчирилган"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Сиз X'ни моÑламадингиз. РоÑтдан буни иÑтайÑизми?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, fuzzy, c-format
+msgid "Preparing initial startup program..."
+msgstr "Ўрнатишга тайёрланмоқда"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "Кутиб туринг, бу бироз вақт олиши мумкин..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ушбу хавфÑизлик даража қўлланилганда диÑкнинг Windows қиÑмидаги файлларга "
+"фақат админиÑтратор мурожаат қилиши мумкин."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Бўш диÑкетни %s уÑкунаÑига қўйинг"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ðвто-ўрнатиш диÑкети Ñратилмоқда..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Баъзи ўрнатиш боÑқичлари бажарилмади.\n"
+"\n"
+"РоÑтдан чиқишни иÑтайÑизми?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Табриклаймиз!"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Ўчириб-ёқиш"
+
+#. -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 "Тил"
+
+#: 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 "ЛицензиÑ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Сичқонча"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Қаттиқ диÑкни аниқлаш"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Ўрнатиш Ñинфи"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Тугматаг"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ХавфÑизлик"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ДиÑкни бўлиш"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматлаш"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Ўрнатилиши керак бўлган пакетларни танлаш"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Ўрнатилмоқда"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Фойдаланувчилар"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ОТ юклагичи"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X Ñерверини моÑлаш"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ҲиÑобот"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Хизматлар"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Янгиланишлар"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Чиқиш"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Ойнанинг манзили (URL)"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Манзил ftp:// ёки http:// билан бошланиши керак"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Мавжуд бўлган ойналарнинг рўйхатини олиш учун %s Ñайти билан алоқа "
+#~ "ўрнатилмоқда..."
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Мавжуд бўлган ойналарнинг рўйхатини олиш учун %s Ñайти билан алоқа "
+#~ "ўрнатиб бўлмади"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Пакетларни олиш учун ойнани танланг"
+
+#~ msgid "KDE Workstation"
+#~ msgstr "KDE ÑтанциÑÑи"
+
+#, fuzzy
+#~ msgid "XFCE Workstation"
+#~ msgstr "KDE ÑтанциÑÑи"
+
+#, fuzzy
+#~ msgid "RazorQT Desktop"
+#~ msgstr "Бошқа иш Ñтоли"
+
+#~ msgid "Do you have an ISA sound card?"
+#~ msgstr "Сизда ISA товуш картаÑи борми?"
+
+#~ msgid ""
+#~ "Run \"alsaconf\" or \"sndconfig\" after installation to configure your "
+#~ "sound card"
+#~ msgstr ""
+#~ "Ўрнатишдан кейин, товуш картангизни моÑлаш учун, \"sndconfig\" ёки "
+#~ "\"alsaconf\" даÑтурини ишга туширинг"
+
+#~ msgid "No sound card detected. Try \"harddrake\" after installation"
+#~ msgstr ""
+#~ "Товуш картаÑи топилмади. Ўрнатишдан кейин \"harddrake\" даÑтурини Ñинаб "
+#~ "кўринг."
+
+#~ msgid "KDE Desktop"
+#~ msgstr "KDE иш Ñтоли"
+
+#~ msgid "KDE"
+#~ msgstr "KDE"
+
+#~ msgid "CD-ROM"
+#~ msgstr "Компакт-диÑк"
+
+#, fuzzy
+#~ msgid ""
+#~ "The Plasma Desktop, the basic graphical environment with a collection of "
+#~ "accompanying tools"
+#~ msgstr "KDE - воÑиталар тўплами билан бирга аÑоÑий график муҳит"
+
+#~ msgid "IDE"
+#~ msgstr "IDE"
+
+#~ msgid "Preparing bootloader..."
+#~ msgstr "ОТ юклагичи тайёрланмоқда..."
+
+#~ msgid ""
+#~ "A lightweight & fast graphical environment with user-friendly set of "
+#~ "applications and desktop tools"
+#~ msgstr ""
+#~ "Фойдаланувчи учун қулай даÑтурлар ва иш Ñтоли воÑилари мавжуд бўлган "
+#~ "енгил ва тез ишловчи график муҳит"
+
+#~ 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 ""
+#~ "1Мблик юкловчи даÑтур учун етарли жой қолмаган! Ўрнатиш давом Ñтади аммо "
+#~ "тизимни юклаш учун DiskDrake'да даÑтлабки юкловчи Ñратилиши керак"
+
+#~ 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 ""
+#~ "Компьютерингиз жуда ÑÑки руÑумга ёки номаълум руÑмга ўхшайди, шу Ñабабдан "
+#~ "yaboot тизим юкловчиÑи ишламайди. Ўрнатиш давом Ñтади аммо тизимни юклаш "
+#~ "учун BootX ёки бошқа уÑулдан фойдаланишингиз лозим бўлади. Root файл "
+#~ "тизими учун учун кернел аргументи: root=%s"
+
+#~ msgid "Welcome"
+#~ msgstr "Марҳамат"
+
+#~ msgid "Select All"
+#~ msgstr "ҲаммаÑини танлаш"
+
+#~ msgid "Bad package"
+#~ msgstr "Ðмон пакет"
+
+#, fuzzy
+#~ msgid "Preparing boot images..."
+#~ msgstr "ОТ юклагичи тайёрланмоқда..."
+
+#~ msgid ""
+#~ "_: Keep these entry short\n"
+#~ "Networking"
+#~ msgstr "Тармоқ"
+
+#~ msgid "Your desktop on a USB key"
+#~ msgstr "Сизнинг иш Ñтолингиз USB калитда"
+
+#~ msgid "The 100%% open source Mageia distribution"
+#~ msgstr "100%% очиқ кодли Mageia диÑтрибутиви"
+
+#~ msgid "Explore Linux easily with Mageia One"
+#~ msgstr "Mageia One ёрдамида Linux'ни оÑонгина кашф Ñтинг"
+
+#~ msgid "A full Mageia desktop, with support"
+#~ msgstr "Тўлиқ Mageia иш Ñтоли, қўллаб-қувватлаш билан"
+
+#~ msgid "Mageia: distributions for everybody's needs"
+#~ msgstr "Mageia: барчага мўлжалланган диÑтрибутив"
+
+#~ msgid ""
+#~ "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+#~ "gnumeric), pdf viewers, etc"
+#~ msgstr ""
+#~ "Идора учун даÑтурлар: матн процеÑÑорлари (kword, abiword), Ñлектрон "
+#~ "жадваллар (kspread, gnumeric), PDF кўрувчилар ва ҳоказо"
+
+#~ msgid "Downloading file %s..."
+#~ msgstr "%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 ""
+#~ "Қуйидаги Ñервер даÑтурлар ҳам ўрнатилади: %s\n"
+#~ "\n"
+#~ "\n"
+#~ "Бу Ñервер даÑтурлар ўрнатилиши билан улар ишга туширилади.\n"
+#~ "Ҳозирча, улар билан боғлиқ бирорта ҳам хавфÑизлик бораÑида муаммолар\n"
+#~ "кузатилмаган, аммо уларнинг топилиш Ñҳтимоли ҳамиша мавжуд. Бундай\n"
+#~ "ҳолатда, уларни иложи борича тезроқ Ñнгилашингиз лозим.\n"
+#~ "\n"
+#~ "\n"
+#~ "Бу Ñервер даÑтурларни роÑтдан ҳам ўрнатишни иÑтайÑизми?\n"
+
+#~ msgid "IceWm Desktop"
+#~ msgstr "IceWm иш Ñтоли"
+
+#~ msgid "Contacting the mirror to get the list of available packages..."
+#~ msgstr ""
+#~ "Мавжуд бўлган пакетларнинг рўйхатини олиш учун ойна билан алоқа "
+#~ "ўрнатилмоқда..."
+
+#~ msgid "Unable to contact mirror %s"
+#~ msgstr "Ойна (%s)билан алоқа ўрнатиб бўлмади."
+
+#~ msgid "Generate auto install floppy"
+#~ msgstr "Ðвто-ўрнатиш диÑкетни Ñратиш"
+
+#~ msgid "Replay"
+#~ msgstr "Қайтариш"
+
+#~ msgid "Automated"
+#~ msgstr "Ðвтоматик"
+
+#~ msgid "Save packages selection"
+#~ msgstr "Пакетлар танловини Ñақлаш"
+
+#~ msgid "Do you want to use aboot?"
+#~ msgstr "aboot даÑтуридан фойдаланишни иÑтайÑизми?"
diff --git a/perl-install/install/share/po/vi.po b/perl-install/install/share/po/vi.po
new file mode 100644
index 000000000..cb1049f72
--- /dev/null
+++ b/perl-install/install/share/po/vi.po
@@ -0,0 +1,1666 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Vietnamese (http://www.transifex.com/MageiaLinux/mageia/"
+"language/vi/)\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Bạn còn phương tiện nào khác không?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mạng (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mạng (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Thư mục"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Không thể tìm tập tin hdlist trên mirror này"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kiểm tra các gói đã được cài đặt..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Äang tìm các gói để nâng cấp"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Các gói tin sau đây sẽ được gỡ bỠđể cho phép nâng cấp hệ thống: %s\n"
+"\n"
+"\n"
+"Bạn có thật sự muốn gỡ bỠcác gói tin này không?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Lá»—i khi Ä‘á»c tập tin %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Äã đổi tên (các) đĩa sau:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tên cũ là %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Mạng"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Hãy chá»n phương tiện"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tập tin tồn tại. Có ghi đè nó không?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Quyá»n hạn bị từ chối"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "Phương tiện há»ng %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Không thể tạo ảnh đĩa trước khi phân vùng"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Sẽ có ảnh chụp sau quá trình cài đặt trong %s"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Cấu hình"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Cũng phải định dạng %s"
+
+#: 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 ""
+"Má»™t số phần cứng cá»§a máy tính cần các driver ``có bản quyá»n'' để hoạt động.\n"
+"Bạn có thể tìm thông tin vỠchúng tại: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bật chức năng mạng"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tắt chức năng mạng"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Äang sao chép"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "phải có"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "quan trá»ng"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "rất tuyệt"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "tuyệt"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "có thể là"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Không có mô tả"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "Xả ra lá»—i trầm trá»ng: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Äừng há»i nữa "
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d phiên giao dịch cài đặt lỗi"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Máy trạm"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Văn phòng"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Các chương trình văn phòng: wordprocessors (LibreOffice Writer, Kword), "
+"spreadsheets (LibreOffice Calc, Kspread), chương trình xem PDF, v.v..."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Trò chơi"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Các chương trình giải trí: arcade, boards, strategy, v.v..."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Äa phương tiện"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Các chương trình chơi Audio-Video/soạn thảo"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "Bá»™ công cụ Ä‘á»c gá»­i thư tín và tin tức (mutt, tin..) và để duyệt Web"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Máy tính mạng (khách)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Máy khách cho các giao thức khác bao gồm ssh"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Công cụ xoá cấu hình máy tính của bạn"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Các công cụ console"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Các trình soạn thảo, các tiện ích tập tin, các thiết bị đầu cuối"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Phát triển"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Các thư viện phát triển C và C++, các chương trình và các tập tin đi kèm"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Tài liệu"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Các sách, how-to cho Linux và phần má»m miá»…n phí"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Cơ Sở VỠChuẩn Linux (LSB). Hỗ trợ ứng dụng cho hãng thứ ba."
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Máy chủ Web"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Máy chủ Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tưá»ng lá»­a/Äịnh tuyến"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Cổng kết nối Internet"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail server, Inn news server"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Máy chủ thư mục"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Máy chủ FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Máy chá»§ thông tin mạng và tên miá»n"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Máy chủ chia sẻ máy in và tập tin"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Máy chủ Samba, NFS"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Cơ sở dữ liệu"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Máy chủ cơ sở dữ liệu PostgreSQL và MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache và Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Thư"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Máy chủ thư Postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL hay MariaDB máy chủ cơ sở dữ liệu"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Máy chủ mạng"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Máy chủ NFS, SMB, SSH, ủy nhiệm"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Môi trưá»ng đồ hoạ"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, má»™t môi trưá»ng đồ há»a vá»›i má»™t sưu tập tiện ích Ä‘i kèm"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Môi trưá»ng đồ há»a thân thiện cho các ứng dụng và các tiện ích màn hình ná»n"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Các màn hình ná»n đồ hoạ khác"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Tiện ích"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Máy chủ SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Cấu hình máy chủ từ xa Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Giám sát và công cụ mạng"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Các công cụ theo dõi, quản lý tiến trình, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Äồ thuật Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Äồ thuật cấu hình máy chá»§"
+
+#: 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 ""
+"Có lỗi xảy ra, không rõ cách giải quyết thích hợp.\n"
+"Tiếp tục với rủi ro."
+
+#: steps.pm:469
+#, 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 ""
+"Một số gói đã không được cài đặt đúng đắn.\n"
+"Có thể do ổ đĩa cdrom hoặc đĩa cdrom của bạn bị lỗi.\n"
+"Kiểm tra cdrom trên máy tính bằng \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Bắt đầu bước `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Cài đặt %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> giữa các phần tử"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Hệ thống của bạn có cấu hình thấp. Bạn có thể gặp một số trục trặc khi\n"
+"cài đặt %s. Nếu xảy ra lỗi, bạn có thể thay thế bằng kiểu cài đặt trong\n"
+"chế độ văn bản bằng cách nhấn phím `F1' khi khởi động từ CDROM, rồi nhập "
+"`text'."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Nhóm gói tin được chá»n"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Chá»n các gói riêng"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Má»i thứ không được chá»n"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kích thước toàn bộ: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Phiên bản:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Kích thước:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Quan trá»ng:"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Bạn không thể chá»n/bá» chá»n gói này"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "vì thiếu %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "vì không thá»a mãn %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "thử xúc tiến %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "để giữ %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "Bạn không thể chá»n gói này vì không còn đủ không gian để cài đặt"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Các gói sau đây sẽ được cài đặt"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Các gói sau đây sẽ được gỡ bá»"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Bắt buá»™c cài đặt gói này, không thể bá» chá»n nó"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Bạn không thể bá» chá»n gói này. Nó được cài đặt rồi"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Bạn không thể không chá»n gói này. Nó phải được nâng cấp."
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Tá»± động hiển thị các gói đã được chá»n"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Cài đặt"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Nạp/Lưu lá»±a chá»n"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Äang cập nhật sá»± lá»±a chá»n các gói"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Cài đặt tối thiểu"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Quản Lý Phần Má»m"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Chá»n các gói bạn muốn cài đặt "
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Äang cài đặt"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Không có thông tin"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d các gói"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Tóm tắt"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Cấu hình"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "chưa được cấu hình"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Phát hiện thấy phương tiện cài đặt sau đây.\n"
+"Nếu không dùng, hãy bá» chá»n chúng."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Bạn có thể copy nội dung của các CD lên đĩa cứng trước khi thực hiện cài "
+"đặt.\n"
+"Sau đó tiếp tục tiến hành cài đặt từ đĩa cứng và các gói vẫn sẵn dùng ngay "
+"sau khi cài đặt xong hệ thống."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Sao chép toàn bộ CD"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Lỗi xảy ra"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Hãy chá»n tổ chức bàn phím"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Cài đặt/Nâng cấp"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Thực hiện việc cài đặt hay nâng cấp ?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Cài đặt"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Nâng cấp %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Khóa mã hóa cho %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Äổi đĩa CD!\n"
+"\n"
+"Hãy nạp đĩa CD có nhãn \"%s\" vào ổ đĩa rồi nhấn OK.\n"
+"Nếu bạn không có, nhấn BỠqua để không chạy cài đặt từ đĩa này."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Äang tìm các gói hiện có"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Hãy chá»n nạp hoặc lưu lá»±a chá»n gói tin.\n"
+"Äịnh dạng giống các tập tin auto_install được tạo."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Tải"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Lưu"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Tập tin lỗi"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Kích thước được chá»n lá»›n hÆ¡n không gian hiện có"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Kiểu cài đặt"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Bạn đã không chá»n bất kỳ má»™t nhóm gói tin nào\n"
+"Hãy chá»n việc cài đặt tối thiểu mà bạn muốn"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Vá»›i X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Với tài liệu cơ bản (khuyến nghị!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Cài đặt thật tối thiểu (đặc biệt là không có urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Chuẩn bị cài đặt"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Äang cài đặt gói %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Lỗi khi đang xử lý các gói:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vẫn cứ tiếp tục?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Cấu hình sau khi cài đặt"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Hãy đảm bảo là phương tiện Update Modules có trong drive %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Cập nhật"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Các gói sau đây sẽ được cài đặt"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Lỗi khi thêm phương tiện"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Bây giỠbạn có thể tải xuống các gói cập nhật. Những gói này được cập nhật\n"
+"sau khi phát hành phân phối Mageia này. Chúng có thể\n"
+"là cập nhật sửa lỗi hay cập nhật bảo mật.\n"
+"\n"
+"Äể tải vá» những gói này, bạn cần có má»™t kết nối Internet hoạt động.\n"
+"\n"
+"Bạn có muốn cài đặt các gói cập nhật không ?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s trên %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Phần cứng"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "Card âm thanh"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Giao diện đồ há»a"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Mạng & Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "đã cấu hình"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Mức Bảo Mật"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Tưá»ng lá»­a"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "Äã kích hoạt"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "Äã tắt"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Chưa đặt cấu hình cho X. Bạn có chắc là muốn như vậy không ?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Vá»›i mức bảo mật này, chỉ ngưá»i quản trị má»›i có quyá»n truy cậpvào các tập tin "
+"trong phân vùng Windows."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Nạp má»™t đĩa má»m trắng vào ổ %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Äang tạo đĩa má»m cài đặt tá»± động"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Một số bước chưa được hoàn thành.\n"
+"\n"
+"Bạn thực sự muốn thoát ra bây gi�"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Chúc mừng"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Khởi động lại"
+
+#. -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 "Chá»n ngôn ngữ"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Äịa phương hóa"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Giấy phép"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Chuá»™t"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Dò tìm đĩa cứng"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Bàn phím"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bảo mật"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Phân vùng đĩa"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Äang cài đặt"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Ngưá»i dùng"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Trình nạp khởi động"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Cấu hình X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Tóm tắt"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dịch vụ"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Cập nhật"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Thoát ra"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "URL cá»§a mirror?"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Äang kết nối vá»›i website cá»§a %s để lấy danh sách các mirrors hiệncó..."
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Chá»n má»™t mirror để tải các gói vá»"
diff --git a/perl-install/install/share/po/wa.po b/perl-install/install/share/po/wa.po
new file mode 100644
index 000000000..3adbd0be3
--- /dev/null
+++ b/perl-install/install/share/po/wa.po
@@ -0,0 +1,1709 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Lorint Hendschel <lorinthendschel@skynet.be>, 2002
+# Lucyin Mahin <lucyin@walon.org>, 2002-2003,2005
+# Pablo Saratxaga <pablo@mandriva.com>, 2000,2002-2004,2006
+# Pablo Saratxaga <pablo@walon.org>, 2003-2006,2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
+"Language-Team: Walloon (http://www.transifex.com/MageiaLinux/mageia/language/"
+"wa/)\n"
+"Language: wa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "Pol famile!"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "Po les programeus!"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "Gråces!"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Avoz vs co ds ôtes sopoirts?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"Les sopoirts shuvants ont stî trovés eyet vont esse eployîs tins "
+"d' l' astalaedje: %s\n"
+"\n"
+"\n"
+"Avoz vs cor on sopoirt d' astalaedje a-z apontyî?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rantoele (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rantoele (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rantoele (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "Apontiaedje NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Tapez l' no d' lodjoe eyet l' ridant di vosse sopoirt NFS"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "I manke li no d' lodjoe"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Li ridant doet cmincî avou «/»"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "No d' lodjoe do montaedje NFS?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "Ridant"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "Di rawete"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Dji n' sai trover l' djivêye di fitchîs so ç' muroe ci. Acertinez vs ki "
+"l' eplaeçmint est corek."
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "«%s» contént les diferins bokets do sistinme et ses programes"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "«%s» contént des programes nén libes.\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Dji cwir après les pacaedjes ki sont ddja astalés..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Dji cwir après les pacaedjes a mete a djoû"
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Dji oistêye des pacaedjes divant d' fé l' metaedje a djoû..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"Les pacaedjes shuvants vont esse oistés, po pleur mete a djoû vosse "
+"sistinme:\n"
+" %s\n"
+"\n"
+"Voloz vs vormint oister ces pacaedjes la?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "Åk n' a nén stî come dji sayive di lére li fitchî %s"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Les plakes shuvantes ont candjî d' no:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (lomêye divant %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "Rantoele"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "Tchoezixhoz on sopoirt s' i vs plait"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Li fitchî egzistêye dedja. El voloz vs sipotchî?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "Permission rfuzêye"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "MÃ¥va no NFS"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "MÃ¥va sopoirt %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "Dji n' pou nén fé des waitroûlêyes divant l' pårtixhaedje"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les waitroûlêyes seront metowes el ridant %s après l' astalaedje"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "Astalaedje"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "Apontiaedje"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "Vos dvoz abwesner eto %s"
+
+#: 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 ""
+"Vos avoz di l' éndjolreye k' a mezåjhe di mineus «prôpietaire» po roter\n"
+"Vos trovroz di l' informåcion so zels so: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Metant li rantoele en alaedje"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Dj' arestêye li rantoele"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "dji n' sai radjouter l' sopoirt"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Dji copeye sacwants pacaedjes sol deure plake po pus tård"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "Dji copeye..."
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "k' i fåt d' tote foice aveur"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "ki vént bén a pont"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "mo plaijhi a-z aveur"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "plaijhi a-z aveur"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "ki vénreut co bén a pont"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+"Pont d' info xml pol sopoirt «%s», i n' a k' on rzultat parciel pol pacaedje "
+"%s"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "Nou discrijhaedje"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"Sacwants pacaedjes dimandés pa %s èn polèt nén esse astalés:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "Åk n' a nén stî:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "I gn a-st avou èn aroke moirt: %s."
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "Ni pus dmander"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "I gn a-st avou %d transaccions d' astalaedje k' ont fwait berwete"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "Posse éndjolrece"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "Posse di buro"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programes di buro: aspougneus di tecse (LibreOffice Writer, Kword), tåvleus "
+"(LibreOffice Calc, Kspread), håyneus pdf, evnd."
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "Posse di djeus"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programes pasmints d' tins: årcåde, plateas, stratedjeye, evnd."
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "Posse multimedia"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programes po vey/schoûter/candjî des sons et videyos"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Posse pol rantoele daegnrece"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Eshonna d' usteyes po lére et evoyî des messaedjes (pine, mutt, tin...) et "
+"po naivyî so les pådjes waibe"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Copiutrece rantoele (cliyint)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Cliyints po les protocoles k' i gn a (ssh avou)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Usteyes po vos aveur pus åjhey d' apontyî vosse copiutrece"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Usteyes pol conzôle"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Aspougneus, shells, usteyes po fitchîs, terminås"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Programaedje"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Livreyes di programaedje C et C++, programes et fitchîs *.h"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Documintåcion"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Lives et Howtos so GNU/Linux et les libes programes"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Li «Linux Standard Base». Sopoirt po les programes tîces"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Sierveu waibe"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "Ovraedje e groupe"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Sierveu Kolab"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "Côpe feu/Routeu"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasrele pol rantoele daegnrece"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "Emilaedje/Copinreyes"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Sierveu d' emilaedje postfix, sierveu d' copinreyes INN"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "Sierveu d' botins"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "Sierveu FTP"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Sierveu di nos d' dominne eyet d' informåcion rantoele"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Sierveu di pårtaedje di fitchîs eyet di scrireces"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Sierveu NFS, sierveu Samba"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "Sierveu, båzes di dnêyes"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "Sierveu båze di dnêyes PostgreSQL eyet MariaDB"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Sierveu, Waibe/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache eyet Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "Emilaedje"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Sierveu d' emilaedje postfix"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "Sierveu båze di dnêyes PostgreSQL ou MariaDB"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "Copiutrece sierveu sol rantoele"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Sierveu NFS, sierveu SMB, sierveu procsi, sierveu SSH"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "Evironmint grafike"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Posse éndjolrece Plasma"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L' evironmint di scribanne KDE, l' evironmint grafike di båze, avou ene "
+"ramexhnêye d' usteyes ki vnèt avou"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Posse éndjolrece GNOME"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Èn evironmint grafike avou on hopea di programes amiståves et d' usteyes pol "
+"sicribanne"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "Posse éndjolrece MATE"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Posse éndjolrece Cinnamon"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "Èn evironmint grafike båzé so GNOME"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "Sicribanne LXQt"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "Sicribanne LXDE"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ôtes sicribannes grafikes"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, evnd."
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "Usteyes"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "Sierveu SSH"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Sierveu d' apontiaedje då lon Webmin"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Usteyes rantoele/Corwaitaedje"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Usteyes di corwaitaedje, contaedje des process, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Macreas Mageia"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Macreas po-z apontyî on sierveu"
+
+#: 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 ""
+"Åk n' a nén stî, et dji n' sai cmint m' saetchî l' cou foû des\n"
+"strons. Si vos continouwez, vos dvroz tirer vosse plan tot seu."
+
+#: steps.pm:469
+#, 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 ""
+"Sacwants consecants pacaedjes n' ont nén stî astalés comifåt.\n"
+"Motoit vosse lijheu di plakes lazer, oudonbén vosse plake lazer, ont\n"
+"des rujhes.\n"
+"Verifyîz vosse plake lazer sor ene copiutrece ddja astalêye, avou\n"
+"l' comande «rpm -qpl media/main/*.rpm»\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Intrant e l' etape '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "Astalåcion di %s %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> candjî elemints"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+"Vosse sistinme a po di rsources. Vos pôrîz aveur des rujhes po\n"
+"l' astalåcion di %s. Si çoula arive, vos ploz sayî ene\n"
+"astalåcion e môde tecse. Po çoula, tchoûkîz sol tape «F1» a l' enondaedje\n"
+"et poy tapez «text»."
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "Tchoezi l' sopoirt"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "Astalåcion a vosse môde"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Sicribanne Plasma"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Sicribanne GNOME"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "Sicribanne a vosse môde"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "Tchoezi les groupes di pacaedjes"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "Tchoezi tchaeke pacaedje sepårumint"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "Distchoezi tot"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Grandeu å totå: %d / %d Mo"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "Modêye: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "Grandeu: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "Impôrtance: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "Vos n' poloz nén tchoezi/distchoezi ci pacaedje chal"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "cåze di %s ki manke"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "cåze di %s ki n' est nén satisfyî"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "dji saye di promouvwer %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "po wårder %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Vos n' poloz tchoezi ci pacaedje chal ca n' a nén del plaece assez ki po "
+"l' astaler"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Les pacaedjes ki shuvèt vont esse astalés"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Les pacaedjes ki shuvèt vont esse disastalés"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "Ci pacaedje est obligatwere, vos n' poloz nén li distchoezi"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "Vos n' poloz nén distchoezi ci pacaedje chal. Il est ddja astalé"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "Vos n' poloz nén distchoezi ci pacaedje chal. I l' fåt mete a djoû"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrer les pacaedjes tchoezis otomaticmint"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "Astalaedje"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "Tcherdjî/schaper li tchuze des pacaedjes"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "Metaedje a djoû del tchuze des pacaedjes"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "Astalåcion minimåle"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "Manaedjaedje di programes"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Tchoezixhoz les pacaedjes k' vos voloz astaler"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "Astalant"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "Po vey les rclames"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "Tins ki dmeure:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(dj' asteme...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacaedje"
+msgstr[1] "%d pacaedjes"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "Rascourti éndjolreye"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "Apontyî"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "nén apontyî"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"Les sopoirts d' astalaedje shuvants ont stî trovés.\n"
+"Si vos vloz passer houte di sacwants d' zels, vos les ploz asteure "
+"distchoezi."
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"Vos ploz copyî l' contnou des plakes lazer so vosse deure plake divant "
+"d' ataker l' astalaedje.\n"
+"L' astalaedje si frè-st adon a pårti del deure plake, eyet les pacaedjes "
+"vont dmorer disponibes on côp ki l' sistinme serè astalé."
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copyî les plakes lazer en etir"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "Dj' aroke so ene sacwè"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "Tchoezixhoz li sôre di vosse taprece"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "Voci l' djivêye di totes les tapreces k' on pout tchoezi:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Astaler/Mete a djoû"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "C' est ene astalåcion ou on metaedje a djoû?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "Astalaedje"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "Metaedje a djoû di %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clé d' ecriptaedje po %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "Rinoncî a l' astalaedje, renonder l' sistinme"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "Novea astalaedje"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "Mete a djoû èn astalaedje di dvant (nén ricmandé)"
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr "Plake lazer"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "Apontiaedje del plake lazer"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"Candjîz vosse CDROM!\n"
+"\n"
+"Metoz li CDROM lomé «%s» dvins l' lijheu, s' i vs plait;\n"
+"et clitchîz so «'l est bon» on côp ki c' est fwait.\n"
+"Si vos n' l' avoz nén, clitchîz so «Rinoncî» po rinoncî a astaler a pårti\n"
+"di ci CDROM chal."
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Dji cwir après les pacaedjes k' i gn a"
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+"I gn a pus del plaece assez so vosse sistinme po-z astaler ou mete a djoû "
+"(%dMo > %dMo)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Tchoezixhoz si vos vloz tcherdjî ou schaper li tchuze des pacaedjes.\n"
+"Li cogne est l' minme ki po les fitchîs fwaits po l' oto-astalaedje."
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "Tcherdjî"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "Schaper"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "Måva fitchî"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "Tchoezi l' sicribanne"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Li grandeu tchoezeye est pus grande kel plaece ki dmeure"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "Sôre d' astalaedje"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vos n' avoz tchoezi nou groupe di pacaedjes\n"
+"Tchoezixhoz li sôre d' astalåcion minimom ki vos vloz"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "Avou X11"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "Astaler les pacaedjes ricmandés"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Avou li documintåcion di båze (ricomandé!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Astalåcion vormint minimom (i gn a nén di urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "Dj' aprestêye li metaedje a djoû..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "Dj' aprestêye l' astalaedje"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "Dj' astale li pacaedje %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Åk n' a nén stî come dj' arindjive les pacaedjes:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "Dji continouwe tot l' minme?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "Rissayî"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "Passer houte di ç' pacaedje ci"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Passer houte di tos les pacaedjes do sopoirt «%s»"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Rivni al tchuze des pacaedjes et des sopoirts"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Åk n' a nén stî come dj' astaléve li pacaedje %s."
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "Apontiaedje di post-astalåcion"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Acertinez vs ki l' sopoirt di metaedje a djoû des modules est dins l' lijheu "
+"%s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "Metaedjes a djoû"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "Çoucial permete d' astaler des metaedjes a djoû di såvrité"
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, fuzzy, c-format
+msgid "That downloader could not be installed"
+msgstr "Les pacaedjes ki shuvèt vont esse astalés"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "Rissayî?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "Åk n' a nén stî tot radjoutant l' sopoirt"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"Vos avoz l' possibilité d' aberweter les pacaedjes k' on stî metous\n"
+"a djoû dispoy li fijhaedje del distribucion.\n"
+"I pôrént coridjî des bugs ou des problinmes di såvrité.\n"
+"\n"
+"Po ls aberweter, vos dvoz aveur on raloyaedje al daegntoele ki rote.\n"
+"\n"
+"Voloz vs astaler les pacaedjes metous a djoû?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%s so %s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "Éndjolreye"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "CÃ¥te son"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "Eterface grafike"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "Rantoele locåle & daegnrece"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "Procsis"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "apontyî"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "Livea di såvrité"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "Côpe feu"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "metou en alaedje"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "dismetou"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Vos n' avoz nén apontyî X11 (li sistinme di håynaedje grafike).\n"
+"Estoz vs seur di voleur çoula?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "Dj' aprestêye li programe di prumî enondaedje..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Dins ç' livea di såvrité chal, l' accès åzès fitchîs des pårticions Windows "
+"n' est possibe ki po l' manaedjeu di l' éndjole."
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Metoz ene blanke plakete divins li lijheu %s"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Dji fé li plakete d' enondaedje otomatike"
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sacwantès etapes n' ont nén stî fwaites,\n"
+"\n"
+"Voloz vs vormint cwiter asteure?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "Complumints"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Renonder l' éndjole"
+
+#. -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 "Lingaedje"
+
+#: steps_list.pm:16 steps_list.pm:23
+#, c-format
+msgid "Localization"
+msgstr "Locålizaedje"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licince"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sori"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Trover les deurès plakes"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Li classe d' astalåcion"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Taprece"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Såvrité"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "PÃ¥rtixhaedje"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Abwesnaedje"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Tchoezi les pacaedjes"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Astalant"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uzeus"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Enondrece"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Apontyî X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Rascourti éndjolreye"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Siervices"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Metaedjes a djoû"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Moussî foû"
+
+#, c-format
+#~ msgid "URL of the mirror?"
+#~ msgstr "Hårdêye do muroe?"
+
+#, c-format
+#~ msgid "URL must start with ftp:// or http://"
+#~ msgstr "Li hårdêye doet cmincî avou «ftp://» ou «http://»"
+
+#, c-format
+#~ msgid "Contacting %s web site to get the list of available mirrors..."
+#~ msgstr ""
+#~ "Dj' atôtche li waibe da %s po-z aveur li djivêye des muroes k' i gn a"
+
+#, c-format
+#~ msgid "Failed contacting %s web site to get the list of available mirrors"
+#~ msgstr ""
+#~ "Dji n' a savou atôtchî l' waibe da %s po-z aveur li djivêye des muroes "
+#~ "k' i gn a"
+
+#, c-format
+#~ msgid "Choose a mirror from which to get the packages"
+#~ msgstr "Tchoezixhoz on muroe po nd aberweter des pacaedjes foû"
diff --git a/perl-install/install/share/po/xh.po b/perl-install/install/share/po/xh.po
new file mode 100644
index 000000000..84687177e
--- /dev/null
+++ b/perl-install/install/share/po/xh.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Xhosa (http://www.transifex.com/MageiaLinux/mageia/language/"
+"xh/)\n"
+"Language: xh\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "Ubhekiso phambili"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "Ulwenziwo lwamaxwebhu"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr ""
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Phinda umisele inkqubo"
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/zh_CN.po b/perl-install/install/share/po/zh_CN.po
new file mode 100644
index 000000000..87886bf5a
--- /dev/null
+++ b/perl-install/install/share/po/zh_CN.po
@@ -0,0 +1,1665 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Danny Zeng <danny@zeng.com.cn>, 2000,2002
+# Dmitry <dmitrydmitry761@gmail.com>, 2021,2024
+# Funda Wang <fundawang@linux.net.cn>, 2002-2005
+# Jesse Kuang <kjx@mandriva.com>, 2002
+# Shiyu Tang <shiyutang@netscape.net>, 2003-2004
+# xiao wenming <xwm-citcc5@hotmail.com>, 2015
+# zwpwjwtz <zwpwjwtz@126.com>, 2016,2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Dmitry <dmitrydmitry761@gmail.com>, 2021,2024\n"
+"Language-Team: Chinese (China) (http://app.transifex.com/MageiaLinux/mageia/"
+"language/zh_CN/)\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "加入我们ï¼"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "得心应手"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "你的选择ï¼"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "办公工具"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "家庭娱ä¹"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "给孩å­ä»¬çš„……"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "给家人的……"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "给开å‘者的……"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "谢谢ï¼"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "一切自由ï¼"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "您有其它赠å“介质å—?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"找到了下列介质,并且在安装时会使用:%s。\n"
+"\n"
+"\n"
+"æ‚¨æ˜¯å¦æƒ³è¦é…置赠å“安装介质?"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "网络 (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "网络 (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "网络 (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "NFS 设置"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "请输入您 NFS 介质的主机å和目录"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "缺少主机å"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "目录必须以“/â€å¼€å¤´"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS 挂载的主机å?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "目录"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "èµ å“"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "无法在此镜åƒä¸Šæ‰¾åˆ°è½¯ä»¶åŒ…列表文件。请确定ä½ç½®æ­£ç¡®ã€‚"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core å‘布"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted å‘布"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree å‘布"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr "您的机器上有一些硬件需è¦éžè‡ªç”±å›ºä»¶æ¥æ”¯æŒé©±åŠ¨ï¼ˆè‡ªç”±è½¯ä»¶ï¼‰è¿è¡Œã€‚"
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "您应当å¯ç”¨â€œ%sâ€"
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "“%sâ€åŒ…å«ç³»ç»ŸåŠå…¶åº”用的å„ç§éƒ¨ä»¶"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" 包å«éžè‡ªç”±è½¯ä»¶ã€‚\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"å®ƒä¹ŸåŒ…å«æ”¯æŒç‰¹å®šè®¾å¤‡è¿è¡Œçš„固件(如:一些 ATI/AMD 显å¡ã€ç½‘å¡å’Œ RAID å¡ï¼‰"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr "“%sâ€åŒ…å«å› è½¯ä»¶ä¸“利问题无法在所有国家分å‘的软件"
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "它也包å«ç”±â€œ%sâ€é‡æ–°æž„建,并加入了é¢å¤–功能的软件"
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "此处您å¯ä»¥å¯ç”¨æ›´å¤šåª’体。"
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "这些媒体æä¾›äº†æ¥è‡ªåª’体“%sâ€çš„软件包更新"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "正在查找已ç»å®‰è£…过的软件包..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "正在寻找å¯å‡çº§çš„程åº..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "正在删除由于更新所致的软件包..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"为了å‡çº§æ‚¨çš„系统, å°†è¦åˆ é™¤ä¸‹åˆ—的软件包: %s\n"
+"\n"
+"\n"
+"您确定è¦åˆ é™¤è¿™äº›è½¯ä»¶åŒ…å—?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "è¯·å–æ–‡ä»¶ %s 出错"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "下列盘片已é‡å‘½å:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s(以å‰çš„å称为 %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "网络"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "请选择介质"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "文件已ç»å­˜åœ¨ã€‚覆盖å—?"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "没有æƒé™"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "无效的 NFS åç§°"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "无效的介质 %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "无法在分区完æˆä¹‹å‰è¿›è¡Œå±å¹•æ•æ‰"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "安装完æˆåŽ, 所有的å±å¹•抓图都会ä¿å­˜åˆ° %s 之中"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "安装"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "é…ç½®"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "您还必须格å¼åŒ– %s"
+
+#: 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 ""
+"您系统中的部分硬件需è¦â€œç§æœ‰â€çš„é©±åŠ¨ç¨‹åºæ‰èƒ½å·¥ä½œã€‚\n"
+"有关它们的情况, 请您查看: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "正在å¯åŠ¨ç½‘ç»œ"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "正在ç¦ç”¨ç½‘络"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "请ç¨å€™ï¼Œæ­£åœ¨èŽ·å–æ–‡ä»¶"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "无法添加介质"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "正在将软件包å¤åˆ¶åˆ°ç£ç›˜ä¸­ä»¥å¤‡åŽç”¨"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "å¤åˆ¶è¿›è¡Œä¸­"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "必须拥有"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "éžå¸¸é‡è¦"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "比较é‡è¦"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "一般"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "或许有用"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "从 XML元数æ®èŽ·å–软件包信æ¯â€¦â€¦"
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "未找到介质“%sâ€çš„ XML ä¿¡æ¯ï¼Œåªè¿”回软件包 %s 的部分结果"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "æ— æè¿°"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"%s 所请求的æŸäº›è½¯ä»¶åŒ…无法安装:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "å‘生了一个错误:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "å‘生了一个致命错误: %s。"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "ä¸è¦å†æ¬¡è¯¢é—®"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d 个安装交易失败"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "安装软件包失败:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "工作站"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "办公工作站"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"办公程åº: 字处ç†(LibreOffice Writerã€Kword), 电å­è¡¨æ ¼(LibreOffice Calcã€"
+"Kspread)ã€PDF 阅读器等"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "æ¸¸æˆæœº"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "游æˆç¨‹åº: è¡—æœºã€æ£‹ç›˜ã€æˆ˜ç•¥ç­‰ç­‰"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "多媒体工作站"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "声音和视频播放/编辑程åº"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "Internet 工作站"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "一组工具, 用于收å‘电å­é‚®ä»¶åŠæ–°é—»ç»„(mutt, tin..), æµè§ˆç½‘ç«™"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "网络计算机(客户端)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH ç­‰ä¸åŒå议客户端"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "简化计算机é…置的工具"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "控制å°å·¥å…·"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "编辑器, shell, 文件工具, 终端"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "å¼€å‘"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C å’Œ C++ å¼€å‘库, 程åºåŠå¤´æ–‡ä»¶"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "文档"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "有关 Linux 和自由软件的书ç±å’ŒæŒ‡å—"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Baseã€‚ç¬¬ä¸‰æ–¹åº”ç”¨ç¨‹åºæ”¯æŒ"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "Web æœåС噍"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "群件"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab æœåС噍"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "防ç«å¢™/路由器"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet 网关"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "邮件/新闻"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix 邮件æœåС噍ã€Inn æ–°é—»æœåС噍"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "目录æœåС噍"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP æœåС噍"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "域åå’Œç½‘ç»œä¿¡æ¯æœåС噍"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "æ–‡ä»¶å’Œæ‰“å°æœºå…±äº«æœåС噍"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS æœåС噍ã€Samba æœåС噍"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "æ•°æ®åº“"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL å’Œ MariaDB æ•°æ®åº“æœåŠ¡"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache 和 Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "邮件"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix 邮件æœåС噍"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQL 或 MariaDB æ•°æ®åº“æœåŠ¡"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "网络计算机æœåС噍"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS æœåС噍, SMB æœåС噍, ä»£ç†æœåС噍, SSH æœåС噍"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "图形环境"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma 工作站"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE 桌é¢çŽ¯å¢ƒ, 基本的图形环境和一组é…套的工具"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 工作站"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "é…备了用户å‹å–„的应用程åºä¸Žæ¡Œé¢å·¥å…·çš„图形环境"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce 工作站"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr "一个轻é‡çº§çš„图形化环境,包å«äº†ç”¨æˆ·å‹å¥½çš„应用程åºå’Œæ¡Œé¢å·¥å…·ã€‚"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE工作站"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon工作站"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "一ç§åŸºäºŽGNOME的图形环境"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt桌é¢"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "è½»é‡çº§æ¡Œé¢çŽ¯å¢ƒçš„ QT ç§»æ¤ç‰ˆæœ¬"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment 桌é¢"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "轻便ã€å¿«æ·ã€ä¸“注的图形化环境"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE 桌é¢"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "一ç§è½»é‡çº§çš„快速图形环境"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "其它图形桌é¢"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, 等等"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "工具"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH æœåС噍"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin 远程é…ç½®æœåС噍"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "网络工具/监视"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "监视工具ã€è¿›ç¨‹ç»Ÿè®¡ã€tcpdumpã€nmap……"
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia å‘导"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "æœåС噍é…ç½®å‘导"
+
+#: 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 ""
+"å‘生错误, 坿˜¯æˆ‘ä¸çŸ¥é“è¯¥æ€Žæ ·å¤„ç†æ‰å¥½ã€‚\n"
+"ç»§ç»­ä¸‹åŽ»ä¼šæ€Žæ ·å°±çœ‹æ‚¨çš„è¿æ°”了。"
+
+#: steps.pm:469
+#, 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 ""
+"一些é‡è¦è½¯ä»¶åŒ…没有正确的安装。\n"
+"您的光盘或者驱动器å¯èƒ½æœ‰ç¼ºé™·ã€‚\n"
+"请在一å°å®‰è£…好的电脑上检查光盘, 命令是“rpm -qpl media/main/*.rpmâ€\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "进入步骤“%sâ€\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s 安装 %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> å¯åœ¨å…ƒç´ é—´åˆ‡æ¢"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg å¯åŠ¨å¾ˆæ…¢ï¼Œè¯·ç¨å€™..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"您系统的资æºè¿‡ä½Žã€‚您在安装 %s 的过程中å¯èƒ½é‡åˆ°é—®é¢˜ã€‚\n"
+"如果您真的é‡åˆ°é—®é¢˜çš„è¯ï¼Œå¯ä»¥è¯•试文本安装。è¦è¿›å…¥æ–‡æœ¬å®‰è£…,请在å¯åŠ¨æ—¶æŒ‰â€œF1â€ï¼Œ"
+"ç„¶åŽè¾“入“textâ€ã€‚"
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "介质选择"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "安装 %s Plasma 桌é¢"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "安装 %s GNOME 桌é¢"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "自定义安装"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma 桌é¢"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "GNOME 桌é¢"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "自定义桌é¢"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "这是“%sâ€æ¡Œé¢çš„预览。"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "å•击图åƒå¯æŸ¥çœ‹æ›´å¤§çš„预览"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "程åºç»„选择"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "选择å•个软件包"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "全部ä¸é€‰"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "总共大å°: %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "版本: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "大å°: "
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "é‡è¦ç¨‹åº¦: "
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "您ä¸èƒ½æ”¹å˜è¿™ä¸ªè½¯ä»¶åŒ…的选定"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "由于缺少 %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ç”±äºŽä¸æ»¡è¶³çš„ %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "å°è¯•推广 %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "为了ä¿ç•™ %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "您ä¸å¯ä»¥é€‰æ‹©è¿™ä¸ªè½¯ä»¶åŒ…。没有足够空间安装它。"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "å³å°†å®‰è£…下列软件包"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "å³å°†å¸è½½ä¸‹åˆ—软件包"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "这个软件包是必需的, ä¸èƒ½å–消选定"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "您ä¸å¯ä»¥å–消选择这个软件包。它已ç»å®‰è£…过了"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "您ä¸èƒ½ä¸é€‰æ‹©è¿™ä¸ªè½¯ä»¶åŒ…。它必须å‡çº§"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "自动显示选中的软件包"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "安装"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "装入/ä¿å­˜é€‰æ‹©"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "更新软件包选择"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "在包的分层列表和平é¢åˆ—表之间切æ¢"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "最å°å®‰è£…"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "软件管ç†"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "选择您想è¦å®‰è£…的软件包"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "安装"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "无细节"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "剩余时间:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(正在估计...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 个软件包"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "摘è¦"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "é…ç½®"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "未é…ç½®"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"找到了下列安装介质。\n"
+"如果您想è¦è·³è¿‡å…¶ä¸­ä¸€äº›, 请ä¸è¦é€‰ä¸­ã€‚"
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"您å¯ä»¥é€‰æ‹©åœ¨å®‰è£…之å‰å°†å…‰ç›˜çš„全部内容å¤åˆ¶åˆ°ç¡¬ç›˜ä¸­ã€‚\n"
+"ç„¶åŽï¼Œå®‰è£…将会从硬盘继续进行。当系统安装完æˆåŽï¼Œè½¯ä»¶åŒ…ä»ç„¶ä¿ç•™ï¼Œä»¥ä¾›æ—¥åŽæ·»åŠ "
+"软件使用。"
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "å¤åˆ¶æ•´å¼ å…‰ç›˜"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "å‘生了一个错误"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "请选择您使用的键盘布局。"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "在此列出了å¯ç”¨çš„全部键盘:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "安装/å‡çº§"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "çŽ°åœ¨è¦æ–°è£…还是å‡çº§?"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "安装"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "å‡çº§ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s 的加密密钥"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "å–æ¶ˆå®‰è£…ï¼Œé‡æ–°å¯åŠ¨ç³»ç»Ÿ"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "全新安装"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "å‡çº§å…ˆå‰çš„安装(䏿ލè)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"å®‰è£…ç¨‹åºæ£€æµ‹åˆ°æ‚¨æ‰€å®‰è£…çš„ Linux 系统无法安全å‡çº§åˆ° %s。\n"
+"\n"
+"æˆ‘ä»¬å»ºè®®æ‚¨è¿›è¡Œå…¨æ–°å®‰è£…ï¼Œä»¥ä¾¿æ›¿æ¢æ‚¨å…ˆå‰çš„系统。\n"
+"\n"
+"警告:您在选择“全新安装â€ä¹‹å‰åº”该备份您所有的个人数æ®ã€‚"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "é…ç½® CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"请æ¢å¦ä¸€ç‰‡å…‰ç›˜ï¼\n"
+"\n"
+"请在驱动器中æ’入标有“%sâ€çš„光盘, ç„¶åŽå•击“确定â€ã€‚\n"
+"如果您没有这张光盘, 请å•å‡»â€œå–æ¶ˆâ€, 放弃安装这张光盘上的软件。"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "正在寻找å¯å®‰è£…的程åº..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "系统的剩余空间ä¸è¶³ä»¥å®Œæˆå®‰è£…或å‡çº§(%d MB > %d MB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"请选择装入或ä¿å­˜è½¯ä»¶åŒ…选择æ¯ã€‚\n"
+"æ ¼å¼ä¸Žè‡ªåŠ¨å®‰è£…ç”Ÿæˆçš„æ–‡ä»¶ä¸€æ ·ã€‚"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "装入"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "ä¿å­˜"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "文件有错"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "桌é¢é€‰æ‹©"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "您å¯ä»¥é€‰æ‹©æ‚¨çš„工作站é…置文件:"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "您选择的超过å¯ç”¨ç©ºé—´"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "安装类型"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr "您没有选择任何的组件, 请选择最å°å®‰è£…:"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "安装 X"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "安装推è的软件包"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "安装基础文档(建议!)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "真正最å°å®‰è£…(æ³¨æ„æ²¡æœ‰ urpmi 包管ç†å·¥å…·)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "å‡çº§å‡†å¤‡ä¸­......"
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "正在准备安装"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "正在安装软件包 %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "排列软件包时出错: "
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "真的è¦ç»§ç»­?"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "é‡è¯•"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "跳过此软件包"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "跳过介质“%sâ€ä¸­çš„全部软件包"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "返回介质和软件包选择"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "安装软件包 %s 时出错。"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "安装åŽçš„é…ç½®"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "请确定更新模å—介质ä½äºŽé©±åЍ噍 %s"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "æ›´æ–°"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "您现在å¯ä»¥é…置在线媒体。"
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "å…许安装安全更新。"
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"è¦å®‰è£…这些媒体,您需è¦ç¡®ä¿äº’è”网连接正常。\n"
+"\n"
+"您希望安装更新媒体å—?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "无法安装此引导加载程åº"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "é‡è¯•一次å—?"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "添加介质失败"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"您现在有机会下载软件更新包。更新软件包是在å‘行版å‘布之åŽå‘布的。它们å¯èƒ½åŒ…å«"
+"对一些安全问题或故障的修改。\n"
+"\n"
+"è¦ä¸‹è½½è¿™äº›è½¯ä»¶åŒ…, 您的网络连接必须已ç»é…置好并且å¯ä»¥ä½¿ç”¨ã€‚\n"
+"\n"
+"您是å¦è¦å®‰è£…å‡çº§åŒ…?"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "ä½äºŽ %2$s 上的 %1$s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "硬件"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "声å¡"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "图形界é¢"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "网络和 Internet"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "ä»£ç†æœåС噍"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "å·²é…ç½®"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "安全级别"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "防ç«å¢™"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "已激活"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "å·²ç¦ç”¨"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "您还没有é…置过 X。您真的想è¦è¿™æ ·å—?"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "正在准备安装åˆå§‹å®‰è£…程åº..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "请ç¨å€™ï¼Œè¿™å¯èƒ½éœ€è¦ä¸€ä¼šå„¿..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "在此安全级别中, åªæœ‰ç®¡ç†å‘˜æ‰èƒ½è®¿é—® Windows 分区中的文件。"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "请在驱动器 %s 中æ’入一张空白软盘"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "正在创建自动安装软盘..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"æŸäº›æ­¥éª¤æ²¡æœ‰å®Œæˆã€‚\n"
+"\n"
+"您真的è¦çŽ°åœ¨é€€å‡ºå—?"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "æ­å–œ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "釿–°å¯åЍ"
+
+#. -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 "语言"
+
+#: 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 "许å¯"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "é¼ æ ‡"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "硬盘检测"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "安装类别"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "键盘"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "安全"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "分区"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "æ ¼å¼åŒ–"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "选择软件包"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "安装"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "用户"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "引导程åº"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "é…ç½® X"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "摘è¦"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "æœåŠ¡"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "æ›´æ–°"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "退出"
diff --git a/perl-install/install/share/po/zh_TW.po b/perl-install/install/share/po/zh_TW.po
new file mode 100644
index 000000000..8aecc4968
--- /dev/null
+++ b/perl-install/install/share/po/zh_TW.po
@@ -0,0 +1,1659 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Cheng-Chia Tseng <pswo10680@gmail.com>, 2018
+# You-Cheng Hsieh <yochenhsieh@gmail.com>, 2015-2016,2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2013-04-04 13:31+0000\n"
+"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>, 2018\n"
+"Language-Team: Chinese (Taiwan) (http://app.transifex.com/MageiaLinux/mageia/"
+"language/zh_TW/)\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr "加入我們ï¼"
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr "讓它更貼近您的心æ„ï¼"
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr "æ‚¨çš„é¸æ“‡ï¼"
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr "辦公工具"
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr "家庭娛樂"
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr "é©åˆå­©ç«¥"
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr "é©åˆå®¶åº­ï¼"
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr "é©åˆé–‹ç™¼è€…ï¼"
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr "æ„Ÿè¬æ‚¨ï¼"
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr "享å—自由ï¼"
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "您還有其他的補充媒體嗎?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+"已經找到下列媒體,它們將會在安è£éŽç¨‹ä¸­ä½¿ç”¨åˆ°ï¼š%s。\n"
+"\n"
+"\n"
+"您有其他的安è£åª’體需è¦è¨­å®šå—Žï¼Ÿ"
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr "網路 (HTTP)"
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr "網路 (FTP)"
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr "網路 (NFS)"
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr "設定 NFS"
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "請輸入您的 NFS 媒體的主機和目錄å稱"
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr "沒有主機å稱"
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "目錄必須以「/ã€é–‹å§‹"
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS 掛載點的主機å稱?"
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr "目錄"
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr "補充"
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "無法在這個é¡åƒç«™ä¸Šæ‰¾åˆ°è»Ÿé«”套件列表檔。請確定ä½å€æ˜¯æ­£ç¢ºçš„。"
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr "Core 發行版"
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr "Tainted 發行版"
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr "Nonfree 發行版"
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr "您的機器上的æŸäº›ç¡¬é«”需è¦éžè‡ªç”±çš„軔體æ‰èƒ½å¤ è®“自由的驅動程å¼é‹ä½œã€‚"
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr "您應該啟用 \"%s\""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr "\"%s\" 包å«å„種系統元件和應用程å¼"
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr "\"%s\" 包å«éžè‡ªç”±è»Ÿé«”。\n"
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+"å®ƒä¹ŸåŒ…å«æŸäº›è£ç½®é‹ä½œæ™‚所需è¦çš„軔體(如:æŸäº› ATI/AMD 顯示å¡ã€ç¶²è·¯å¡ã€RAID介é¢"
+"å¡...)"
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr "\"%s\" 包å«å› ç‚ºè»Ÿé«”專利而無法在所有國家散布的軟體。"
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr "它也包å«äº† \"%s\" 中以ä¸åŒæ–¹å¼ç·¨è­¯çš„軟體。"
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr "您å¯ä»¥åœ¨é€™è£¡å•Ÿç”¨æ›´å¤šåª’體。"
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr "é€™å€‹åª’é«”åŒ…å« \"%s\" 媒體的軟體套件更新"
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "正在查看已經安è£éŽçš„軟體套件..."
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "正在æœå°‹è¦å‡ç´šçš„軟體套件..."
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "先移除軟體套件以便å‡ç´š..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+"下列軟體套件將移除以å‡ç´šæ‚¨çš„系統:%s\n"
+"\n"
+"\n"
+"您確定è¦ç§»é™¤é€™äº›è»Ÿé«”套件嗎?\n"
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr "è®€å–æª”案 %s 時發生錯誤"
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "下列ç£ç¢Ÿå·²ç¶“改å:"
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (原本為 %s)"
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr "網路"
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr "è«‹é¸æ“‡ä¸€å€‹åª’é«”"
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "檔案已經存在了。è¦è¦†è“‹å®ƒå—Žï¼Ÿ"
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr "權é™ä¸è¶³"
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr "錯誤的 NFS å稱"
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr "æå£žçš„媒體 %s"
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr "在尚未進行分割å‰ç„¡æ³•æä¾›ç•«é¢æ•æ‰åŠŸèƒ½"
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "在安è£å¾Œæ‚¨å¯ä»¥æ–¼ %s å–得螢幕截圖"
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr "安è£"
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr "組態設定"
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr "æ‚¨ä¹Ÿå¿…é ˆè¦æ ¼å¼åŒ– %s"
+
+#: 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 ""
+"æŸäº›åœ¨æ‚¨é›»è…¦ä¸Šçš„ç¡¬é«”éœ€è¦ \"專有版權\" 的驅動程å¼ä»¥ä¾¿æ–¼èƒ½å¤ å·¥ä½œã€‚\n"
+"您å¯ä»¥åœ¨é€™è£¡æ‰¾åˆ°ä¸€äº›ç›¸é—œçš„資訊: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "啟動網路"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "關閉網路"
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr "è«‹ç¨å¾Œï¼Œæ­£åœ¨å–回檔案"
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr "無法新增媒體"
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "正在複製一些軟體套件到ç£ç¢Ÿä»¥ä¾›ç¨å¾Œä½¿ç”¨"
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr "複製進行中"
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr "必備的"
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr "é‡è¦çš„"
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr "極好的"
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr "好的"
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr "或許"
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr "正在從 XML 中介資料中å–得軟體套件資訊..."
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr "\"%s\" 媒體沒有 XML 資訊,所以 %s è»Ÿé«”å¥—ä»¶åªæœ‰éƒ¨ä»½çµæžœ"
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr "沒有æè¿°"
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+"ç„¡æ³•å®‰è£ %s è¦æ±‚çš„æŸäº›è»Ÿé«”套件:\n"
+"%s"
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr "發生一個錯誤:"
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr "發生了一個致命的錯誤:%s。"
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr "ä¸è¦å†è©¢å•"
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr "%d 個安è£åŸ·è¡Œå¤±æ•—"
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr "軟體套件安è£å¤±æ•—:"
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr "工作站"
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr "辦公軟體平å°"
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"辦公軟體:文書處ç†è»Ÿé«” (LibreOffice Writerã€Kword)ã€è©¦ç®—表 (OpenOffice.org "
+"Calcã€Kspread)ã€PDF 檢視器等等"
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr "éŠæˆ²å¹³å°"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "娛樂的一些程å¼ï¼šç´™ç‰Œã€ç›Šæ™ºã€å‹•作ã€ç­–略等"
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr "多媒體平å°"
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "音效以åŠå½±åƒæ’¥æ”¾ç·¨è¼¯ç¨‹å¼"
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr "網際網路平å°"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "包å«è®€ä¿¡ã€å¯„信和閱讀新èžç¾¤çµ„ (muttã€tin ..) 以åŠç¶²è·¯ç€è¦½çš„工具"
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr "網路電腦 (客戶端)"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "åŒ…å« ssh 等其他ä¸åŒé€šè¨Šå”定的用戶端程å¼"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "讓您方便設定您系統的工具"
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr "Console 工具"
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "編輯器ã€shellã€æª”案工具ã€çµ‚端機"
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr "程å¼é–‹ç™¼"
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ 發展環境,包å«ç·¨è­¯å™¨ã€ç¨‹å¼åº«èˆ‡åŠä¸€äº›å¼•入檔"
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr "文件檔案"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux 系統與自由軟體的書ç±ã€HOWTO 文件"
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "LSB 的支æ´ï¼ŒåŒ…å«ç¬¬ä¸‰é¡žå”力廠商軟體支æ´"
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr "ç¶²é ä¼ºæœå™¨ (Web)"
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr "群組軟體"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab 伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr "防ç«ç‰†/路由器"
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr "網際網路閘é“器"
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr "郵件/æ–°èž"
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix 郵件伺æœå™¨ï¼ŒInn æ–°èžä¼ºæœå™¨"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr "目錄伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr "FTP 伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "網域å稱與網路資訊伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "檔案與列å°åˆ†äº«ä¼ºæœå™¨"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS 伺æœå™¨ã€Samba 伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr "資料庫軟體"
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr "PostgreSQL 與 MariaDB 資料庫伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apacheã€ProFTPD"
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr "é›»å­éƒµä»¶"
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix 郵件伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr "PostgreSQLã€MariaDB 資料庫"
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr "網路伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS 伺æœå™¨ã€SMB 伺æœå™¨ã€Proxy 伺æœå™¨ã€SSH 伺æœå™¨"
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr "圖形環境"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr "Plasma 工作站"
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K 桌é¢ç’°å¢ƒï¼ŒåŒ…å«è¨±å¤šå¥½ç”¨çš„圖型介é¢å·¥å…·ç¨‹å¼"
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 工作站"
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "包å«å‹å–„的應用程å¼ã€æ¡Œé¢è»Ÿé«”的圖型化使用環境"
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr "Xfce 工作站"
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr "一個包å«å‹å–„的應用程å¼å’Œæ¡Œé¢å·¥å…·çš„輕é‡åœ–形環境"
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr "MATE 工作站"
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr "Cinnamon 工作站"
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr "一個以 GNOME 為基礎的圖形環境"
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr "LXQt 桌é¢"
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr "è¼•é‡æ¡Œé¢ç’°å¢ƒçš„下一代 QT 版本"
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr "Enlightenment 桌é¢"
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr "有忠實支æŒè€…的輕é‡å¿«é€Ÿåœ–形環境"
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr "LXDE 桌é¢"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr "一個輕é‡ä¸”快速的圖形環境"
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "其他圖型桌é¢è»Ÿé«”"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr "Window Maker, Fvwm, ç­‰"
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr "工具軟體"
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr "SSH 伺æœä¸»æ©Ÿ"
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin é ç«¯è¨­å®šä¼ºæœå™¨"
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "網路工具/監控"
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "監控工具ã€ç¨‹åºç®¡ç†ã€tcpdumpã€nmap..."
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr "Mageia ç²¾éˆ"
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr "用來設定伺æœå™¨çš„ç²¾éˆ"
+
+#: 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 ""
+"發生了一個錯誤,但我ä¸çŸ¥é“該如何妥善處置它。\n"
+"è¦ç¹¼çºŒå®‰è£å·¥ä½œçš„話請å°å¿ƒã€‚"
+
+#: steps.pm:469
+#, 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 ""
+"有æŸäº›é‡è¦çš„軟體套件沒有妥善安è£ã€‚\n"
+"å¯èƒ½æ˜¯æ‚¨çš„光碟機或者是光碟片有缺陷。\n"
+"請將光碟放在一個已經安è£å¥½çš„電腦上使用 \"rpm -qpl media/main/*.rpm\" 來檢查\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "進入步驟 `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr "%s å®‰è£ %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 在元件間移動"
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr "Xorg 伺æœå™¨çš„啟動較為緩慢。請ç¨å€™..."
+
+#: steps_gtk.pm:216
+#, 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 ""
+"您的系統資æºä¸è¶³ï¼Œå¯èƒ½åœ¨å®‰è£ %s 時會發生å•題。如果真的發生å•題,您å¯ä»¥è©¦è‘—改"
+"用文字介é¢å®‰è£ã€‚åªè¦åœ¨ç”¨å…‰ç¢Ÿé–‹æ©Ÿå¾Œçš„é¸å–®ä¸­æŒ‰ä¸‹ F1,並輸入 text å³å¯ã€‚"
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr "鏿“‡å®‰è£åª’é«”"
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr "å®‰è£ %s Plasma 桌é¢"
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr "å®‰è£ %s GNOME 桌é¢ç³»çµ±"
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr "自訂安è£"
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr "Plasma 桌é¢"
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr "Gnome 桌é¢"
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr "自訂桌é¢"
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr "這是 '%s' 桌é¢çš„é è¦½ã€‚"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr "在影åƒä¸Šé»žé¸ä»¥è§€çœ‹è¼ƒå¤§çš„é è¦½ç•«é¢"
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr "è»Ÿé«”å¥—ä»¶ç¾¤çµ„é¸æ“‡"
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr "個別軟體套件é¸å–"
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr "å–æ¶ˆé¸å–所有項目"
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "總共大å°ï¼š %d / %d MB"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr "版本:"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr "大å°ï¼š"
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr "é‡è¦æ€§ï¼š"
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr "您ä¸å¯ä»¥é¸æ“‡/å–æ¶ˆé¸æ“‡é€™å€‹è»Ÿé«”套件"
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr "因為éºå¤± %s"
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "由於沒有滿足 %s"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr "正在嘗試促進 %s"
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr "為了ä¿ç•™ %s"
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr "您ä¸å¯ä»¥é¸å–這個軟體套件,因為剩餘的空間ä¸å¤ å®‰è£"
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "下列的軟體套件將會安è£"
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "下列的軟體套件將會移除"
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr "這是個強制軟體套件,您ä¸èƒ½ä¸é¸å–"
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr "您ä¸èƒ½ä¸é¸é€™å€‹è»Ÿé«”套件。它已經安è£ã€‚"
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr "您ä¸èƒ½ä¸é¸é€™å€‹è»Ÿé«”套件。它必須å‡ç´š"
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "顯示自動被é¸å–的軟體套件"
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr "安è£"
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr "載入/儲存é¸å–"
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr "æ­£åœ¨æ›´æ–°è»Ÿé«”å¥—ä»¶é¸æ“‡"
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr "在包的分层列表和平é¢åˆ—表之间切æ¢"
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr "最å°å®‰è£"
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr "軟體管ç†"
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "鏿“‡æ‚¨æƒ³è¦å®‰è£çš„軟體套件"
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr "正在安è£"
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr "ä¸çœ‹è©³ç´°è³‡è¨Š"
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr "剩餘時間:"
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr "(正在估計...)"
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 個軟體套件"
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr "總çµ"
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr "設定"
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr "未被設定"
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+"已經找到下列的安è£åª’體。\n"
+"如果您想略éŽå®ƒå€‘,您ç¾åœ¨å¯ä»¥å°‡å®ƒå€‘å–æ¶ˆé¸å–。"
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+"您å¯ä»¥é¸æ“‡åœ¨å®‰è£å‰å°‡å…‰ç¢Ÿçš„內容複製到硬碟。\n"
+"ç¨å¾Œå°‡æœƒç”±ç¡¬ç¢Ÿç¹¼çºŒå®‰è£ï¼Œè€Œé€™äº›è»Ÿé«”套件在安è£å®Œç•¢ä¹‹å¾Œä»ç„¶å¯ç¹¼çºŒä½¿ç”¨ã€‚"
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr "複製整張光碟"
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr "發生一個錯誤"
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr "è«‹é¸å–éµç›¤æŽ’列的樣å¼ã€‚"
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr "以下是所有å¯ç”¨çš„éµç›¤æ¸…單:"
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr "安è£/å‡ç´š"
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "é€™æ˜¯å®‰è£æˆ–是å‡ç´šï¼Ÿ"
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr "安è£"
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr "å‡ç´š %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr "加密金鑰於 %s"
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr "å–æ¶ˆå®‰è£ï¼Œé‡æ–°é–‹æ©Ÿ"
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr "新的安è£"
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr "å‡ç´šä¹‹å‰çš„å®‰è£ (ä¸å»ºè­°)"
+
+#: steps_interactive.pm:223
+#, 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 ""
+"安è£å™¨åµæ¸¬åˆ°æ‚¨æ‰€å®‰è£çš„ Mageia Linux 系統無法安全地更新到 %s。\n"
+"\n"
+"å»ºè­°æ‚¨é‡æ–°å®‰è£ï¼Œè€Œä¸è¦ç”¨å‡ç´šçš„。\n"
+"\n"
+"è­¦å‘Šï¼šåœ¨æ‚¨é¸æ“‡ã€Œæ–°å®‰è£ã€ä¹‹å‰ï¼Œæ‚¨æ‡‰è©²å‚™ä»½æ‚¨æ‰€æœ‰çš„個人資料。"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "CD/DVD"
+msgstr "CD/DVD"
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr "設定 CD/DVD"
+
+#: steps_interactive.pm:354
+#, 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 ""
+"æ›´æ›å…‰ç¢Ÿç‰‡ï¼\n"
+"è«‹æ’入標示為 \"%s\" 的光碟於您的光碟機中,完æˆå¾Œè«‹æŒ‰ä¸‹ç¢ºå®šã€‚\n"
+"若是您沒有這片光碟,請點é¸å–消以略éŽé€™ä¸€ç‰‡å…‰ç¢Ÿçš„安è£ã€‚"
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr "正在æœå°‹å¯ä»¥ç”¨çš„軟體套件..."
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr "您的系統剩餘的空間ä¸è¶³ä»¥å®‰è£æˆ–å‡ç´š (%dMB > %dMB)"
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"è«‹é¸æ“‡è¦è¼‰å…¥æˆ–者儲存的軟體套件。\n"
+"å®ƒä½¿ç”¨èˆ‡è‡ªå‹•å®‰è£æ‰€ç”¢ç”Ÿçš„æª”案相åŒçš„æ ¼å¼ã€‚"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr "載入"
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr "儲存"
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr "æå£žçš„æª”案"
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr "Plasma"
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr "GNOME"
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr "桌é¢ç’°å¢ƒé¸æ“‡"
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr "您å¯ä»¥é¸æ“‡æ‚¨å·¥ä½œç«™çš„æ¡Œé¢ç’°å¢ƒï¼š"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "所é¸å–的大å°è¶…éŽå¯ç”¨çš„空間"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr "安è£é¡žåž‹"
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"您並未é¸å–任何軟體套件群組。\n"
+"è«‹é¸æ“‡æ‚¨æƒ³è¦çš„æœ€å°å®‰è£ï¼š"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr "åŒ…å« X 環境"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr "安è£å»ºè­°çš„軟體套件"
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "包å«åŸºæœ¬çš„說明文件 (建議的ï¼)"
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "真正最å°å®‰è£ (尤其無 urpmi)"
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr "正在準備å‡ç´š..."
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr "正在準備安è£"
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr "正在安è£è»Ÿé«”套件 %s"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "排列軟體套件時發生錯誤:"
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr "無論如何都è¦ç¹¼çºŒå—Žï¼Ÿ"
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr "é‡è©¦"
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr "ç•¥éŽé€™å€‹è»Ÿé«”套件"
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "ç•¥éŽæ‰€æœ‰ %s 媒體的軟體套件"
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "å›žåˆ°åª’é«”èˆ‡è»Ÿé«”å¥—ä»¶é¸æ“‡"
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "å®‰è£ %s 軟體套件時發生錯誤。"
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr "安è£å¾Œçš„設定"
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "è«‹ç¢ºå®šæ›´æ–°æ¨¡çµ„åª’é«”ä½æ–¼ç£ç¢Ÿæ©Ÿ %s 中"
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr "æ›´æ–°"
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr "您ç¾åœ¨æœ‰æ©Ÿæœƒè¨­å®šç·šä¸Šåª’體來æºã€‚"
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr "這能讓您安è£å®‰å…¨æ›´æ–°ã€‚"
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+"è¦è¨­å®šé€™äº›ä¾†æºï¼Œæ‚¨éœ€è¦æœ‰å¯é‹ä½œçš„網路連線。\n"
+"您想è¦è¨­å®šæ›´æ–°ä¾†æºå—Ž?"
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr "无法安装此引导加载程åº"
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr "é‡è©¦ï¼Ÿ"
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr "新增媒體時發生錯誤"
+
+#: steps_interactive.pm:792
+#, 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 ""
+"您ç¾åœ¨æœ‰æ©Ÿæœƒä¸‹è¼‰æ›´æ–°è»Ÿé«”套件。這些軟體套件在散布版發行之後已經被更新éŽäº†ã€‚\n"
+"他們或許有安全性或臭蟲修正。\n"
+"\n"
+"è¦ä¸‹è¼‰é€™äº›è»Ÿé«”å¥—ä»¶ï¼Œæ‚¨éœ€è¦æœ‰æ­£å¸¸é‹ä½œçš„網際網路連線。\n"
+"\n"
+"您想è¦å®‰è£æ›´æ–°å—Žï¼Ÿ"
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s 上的 %1$s"
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr "硬體"
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr "音效å¡"
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr "圖形介é¢"
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr "網路與網際網路"
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr "代ç†ä¼ºæœå™¨"
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr "已設定"
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr "安全層級"
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr "防ç«ç‰†"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr "已啟用"
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr "å·²åœç”¨"
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "您尚未設定 X。您確定您真的è¦é€™æ¨£åšï¼Ÿ"
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr "正在準備åˆå§‹åŒ–啟動程å¼..."
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr "è«‹è€å¿ƒç­‰å€™ï¼Œé€™è¦èŠ±ä¸€äº›æ™‚é–“..."
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "åœ¨é€™å€‹å®‰å…¨å±¤ç´šä¸­ï¼Œåªæœ‰ç®¡ç†è€…能夠存å–使–¼ Windows 分割å€çš„æª”案。"
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "請在 %s 中æ’入一片空白ç£ç‰‡"
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "正在製作自動安è£ç£ç‰‡..."
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"還有些步驟沒有完æˆã€‚\n"
+"\n"
+"您確定è¦çµæŸå®‰è£ç¨‹å¼ï¼Ÿ"
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr "æ­å–œ"
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "釿–°é–‹æ©Ÿ"
+
+#. -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 "語言"
+
+#: 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 "授權"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "滑鼠"
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ç¡¬ç¢Ÿåµæ¸¬"
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "安è£é¡žåˆ¥"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "éµç›¤"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "安全性"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "分割ç£å€"
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "正在格å¼åŒ–"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "é¸å–軟體套件"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "正在安è£"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "使用者"
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "開機載入器"
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "設定 X 環境"
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "總çµ"
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "æœå‹™"
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "æ›´æ–°"
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "離開"
diff --git a/perl-install/install/share/po/zu.po b/perl-install/install/share/po/zu.po
new file mode 100644
index 000000000..884dd0f8c
--- /dev/null
+++ b/perl-install/install/share/po/zu.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Mageia\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-21 21:16+0000\n"
+"PO-Revision-Date: 2019-06-07 08:35+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Zulu (http://www.transifex.com/MageiaLinux/mageia/language/"
+"zu/)\n"
+"Language: zu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Join Us!"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "Make it yours!"
+msgstr ""
+
+#: ../../advertising/03_IM_mageia.pl:1
+#, c-format
+msgid "Your choice!"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "Office tools"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "Home entertainment"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For kids"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "For family!"
+msgstr ""
+
+#: ../../advertising/08_IM_mageia.pl:1
+#, c-format
+msgid "For developers!"
+msgstr ""
+
+#: ../../advertising/09_IM_mageia.pl:1
+#, c-format
+msgid "Thank you!"
+msgstr ""
+
+#: ../../advertising/10_IM_mageia.pl:1
+#, c-format
+msgid "Be Free!"
+msgstr ""
+
+#: any.pm:151
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:154
+#, 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 ""
+
+#: any.pm:162
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:163
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:164
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:224
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:225
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:230
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:235
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:265
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:300
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:325
+#, c-format
+msgid "Core Release"
+msgstr ""
+
+#: any.pm:327
+#, c-format
+msgid "Tainted Release"
+msgstr ""
+
+#: any.pm:329
+#, c-format
+msgid "Nonfree Release"
+msgstr ""
+
+#: any.pm:367
+#, c-format
+msgid ""
+"Some hardware on your machine needs some non free firmwares in order for the "
+"free software drivers to work."
+msgstr ""
+
+#: any.pm:368
+#, c-format
+msgid "You should enable \"%s\""
+msgstr ""
+
+#: any.pm:419
+#, c-format
+msgid "\"%s\" contains the various pieces of the systems and its applications"
+msgstr ""
+
+#: any.pm:420
+#, c-format
+msgid "\"%s\" contains non free software.\n"
+msgstr ""
+
+#: any.pm:421
+#, c-format
+msgid ""
+"It also contains firmwares needed for certain devices to operate (eg: some "
+"ATI/AMD graphic cards, some network cards, some RAID cards, ...)"
+msgstr ""
+
+#: any.pm:422
+#, c-format
+msgid ""
+"\"%s\" contains software that can not be distributed in every country due to "
+"software patents."
+msgstr ""
+
+#: any.pm:423
+#, c-format
+msgid ""
+"It also contains software from \"%s\" rebuild with additional capabilities."
+msgstr ""
+
+#: any.pm:429
+#, c-format
+msgid "Here you can enable more media if you want."
+msgstr ""
+
+#: any.pm:447
+#, c-format
+msgid "This medium provides package updates for medium \"%s\""
+msgstr ""
+
+#: any.pm:558
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:593
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#: any.pm:612
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:850
+#, 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 ""
+
+#: any.pm:1075
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: any.pm:1283
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1285
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1342
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1361 steps_interactive.pm:979
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1365
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1381
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1385
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1433
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1454
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1498
+#, c-format
+msgid "Cannot make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1509
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:134
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:138 share/meta-task/compssUsers.pl:48
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:220
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: 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 ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:397
+#, c-format
+msgid "Please wait, retrieving file"
+msgstr ""
+
+#: media.pm:704
+#, c-format
+msgid "unable to add medium"
+msgstr ""
+
+#: media.pm:744
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:797
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:32
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:33
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:34
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:35
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:36
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: pkgs.pm:103
+#, c-format
+msgid "Getting package information from XML meta-data..."
+msgstr ""
+
+#: pkgs.pm:112
+#, c-format
+msgid "No xml info for medium \"%s\", only partial result for package %s"
+msgstr ""
+
+#: pkgs.pm:120
+#, c-format
+msgid "No description"
+msgstr ""
+
+#: pkgs.pm:290
+#, c-format
+msgid ""
+"Some packages requested by %s cannot be installed:\n"
+"%s"
+msgstr ""
+
+#: pkgs.pm:386 pkgs.pm:413
+#, c-format
+msgid "An error occurred:"
+msgstr ""
+
+#: pkgs.pm:405
+#, c-format
+msgid "A fatal error occurred: %s."
+msgstr ""
+
+#: pkgs.pm:912 pkgs.pm:954
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:928
+#, c-format
+msgid "%d installation transactions failed"
+msgstr ""
+
+#: pkgs.pm:929
+#, c-format
+msgid "Installation of packages failed:"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:16
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:18
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:20
+#, c-format
+msgid ""
+"Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets "
+"(LibreOffice Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:26
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:30
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:31
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:36
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:42
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:53
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:201
+#: share/meta-task/compssUsers.pl:203
+#, c-format
+msgid "Development"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59 share/meta-task/compssUsers.pl:204
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:208
+#, c-format
+msgid "Documentation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:209
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:68 share/meta-task/compssUsers.pl:212
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:213
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:79
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:80
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88 share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89 share/meta-task/compssUsers.pl:139
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:102
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:103
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:107
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:118
+#, c-format
+msgid "PostgreSQL and MariaDB Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:123
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:124
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:128
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "PostgreSQL or MariaDB database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:142
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:143
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:150
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid "Plasma Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:153
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:158
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159 share/meta-task/compssUsers.pl:170
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:164
+#, c-format
+msgid "Xfce Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:165
+#, c-format
+msgid ""
+"A lighter graphical environment with user-friendly set of applications and "
+"desktop tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "MATE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Cinnamon Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:175
+#, c-format
+msgid "A graphical environment based on GNOME"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:179
+#, c-format
+msgid "LXQt Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:181
+#, c-format
+msgid "A next generation QT port of the lightweight desktop environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:184
+#, c-format
+msgid "Enlightenment Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "A lightweight fast graphical environment with a dedicated following"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:189
+#, c-format
+msgid "LXDE Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "A lightweight fast graphical environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:194
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Window Maker, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:218
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:220 share/meta-task/compssUsers.pl:221
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:225
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:226
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:230
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:231
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:235
+#, c-format
+msgid "Mageia Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:236
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: 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 ""
+
+#: steps.pm:469
+#, 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 ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "%s Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:151
+#, c-format
+msgid "Xorg server is slow to start. Please wait..."
+msgstr ""
+
+#: steps_gtk.pm:216
+#, 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 ""
+
+#: steps_gtk.pm:246 steps_gtk.pm:764
+#, c-format
+msgid "Media Selection"
+msgstr ""
+
+#: steps_gtk.pm:257
+#, c-format
+msgid "Install %s Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:258
+#, c-format
+msgid "Install %s GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:259
+#, c-format
+msgid "Custom install"
+msgstr ""
+
+#: steps_gtk.pm:280
+#, c-format
+msgid "Plasma Desktop"
+msgstr ""
+
+#: steps_gtk.pm:281
+#, c-format
+msgid "GNOME Desktop"
+msgstr ""
+
+#: steps_gtk.pm:282
+#, c-format
+msgid "Custom Desktop"
+msgstr ""
+
+#: steps_gtk.pm:288
+#, c-format
+msgid "Here's a preview of the '%s' desktop."
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Click on images in order to see a bigger preview"
+msgstr ""
+
+#: steps_gtk.pm:331 steps_interactive.pm:609 steps_list.pm:30
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:354 steps_interactive.pm:626
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:361
+#, c-format
+msgid "Unselect All"
+msgstr ""
+
+#: steps_gtk.pm:380 steps_interactive.pm:538
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:426
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:427
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:462
+#, c-format
+msgid "You cannot select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:466
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:467
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:469
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:474
+#, c-format
+msgid ""
+"You cannot select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:477
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:478
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:504
+#, c-format
+msgid "This is a mandatory package, it cannot be unselected"
+msgstr ""
+
+#: steps_gtk.pm:506
+#, c-format
+msgid "You cannot unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:508
+#, c-format
+msgid "You cannot unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:512
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:516
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:519
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:520 steps_gtk.pm:525
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:524
+#, c-format
+msgid "Toggle between hierarchical and flat package list"
+msgstr ""
+
+#: steps_gtk.pm:530
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:543
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:543 steps_interactive.pm:415
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:560 steps_interactive.pm:646 steps_list.pm:32
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:590
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:610
+#, c-format
+msgid "Time remaining:"
+msgstr ""
+
+#: steps_gtk.pm:611
+#, c-format
+msgid "(estimating...)"
+msgstr ""
+
+#: steps_gtk.pm:637
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:694 steps_interactive.pm:856 steps_list.pm:43
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:713
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:730 steps_interactive.pm:852 steps_interactive.pm:992
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:773 steps_interactive.pm:315
+#, 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 ""
+
+#: steps_gtk.pm:789 steps_interactive.pm:321
+#, 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 ""
+
+#: steps_gtk.pm:791 steps_interactive.pm:323
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:40
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:105
+#, c-format
+msgid "Please choose your keyboard layout"
+msgstr ""
+
+#: steps_interactive.pm:109
+#, c-format
+msgid "Here is the full list of available keyboards:"
+msgstr ""
+
+#: steps_interactive.pm:153
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:157
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:159
+#, c-format
+msgid ""
+"_: This is a noun:\n"
+"Install"
+msgstr ""
+
+#: steps_interactive.pm:161
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:217
+#, c-format
+msgid "Cancel installation, reboot system"
+msgstr ""
+
+#: steps_interactive.pm:218
+#, c-format
+msgid "New Installation"
+msgstr ""
+
+#: steps_interactive.pm:219
+#, c-format
+msgid "Upgrade previous installation (not recommended)"
+msgstr ""
+
+#: steps_interactive.pm:223
+#, 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:264
+#, c-format
+msgid "CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:264
+#, c-format
+msgid "Configuring CD/DVD"
+msgstr ""
+
+#: steps_interactive.pm:354
+#, 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 ""
+
+#: steps_interactive.pm:372 steps_interactive.pm:490
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:380
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade "
+"(%dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:428
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:430
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:438
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:455
+#, c-format
+msgid "Plasma"
+msgstr ""
+
+#: steps_interactive.pm:456
+#, c-format
+msgid "GNOME"
+msgstr ""
+
+#: steps_interactive.pm:459
+#, c-format
+msgid "Desktop Selection"
+msgstr ""
+
+#: steps_interactive.pm:460
+#, c-format
+msgid "You can choose your workstation desktop profile."
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:577
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Install recommended packages"
+msgstr ""
+
+#: steps_interactive.pm:584
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:585
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:637
+#, c-format
+msgid "Preparing upgrade..."
+msgstr ""
+
+#: steps_interactive.pm:647
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:655
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:679
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:683
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:684
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:685
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:686
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:689
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:708
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:715
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:743 steps_interactive.pm:791 steps_list.pm:47
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:744
+#, c-format
+msgid "You now have the opportunity to setup online media."
+msgstr ""
+
+#: steps_interactive.pm:745
+#, c-format
+msgid "This allows to install security updates."
+msgstr ""
+
+#: steps_interactive.pm:746
+#, c-format
+msgid ""
+"To setup those media, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to setup the update media?"
+msgstr ""
+
+#: steps_interactive.pm:767
+#, c-format
+msgid "That downloader could not be installed"
+msgstr ""
+
+#: steps_interactive.pm:767 steps_interactive.pm:784
+#, c-format
+msgid "Retry?"
+msgstr ""
+
+#: steps_interactive.pm:784
+#, c-format
+msgid "Failure when adding medium"
+msgstr ""
+
+#: steps_interactive.pm:792
+#, 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 ""
+
+#. -PO: example: grub2-graphic on /dev/sda1
+#: steps_interactive.pm:901
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:937 steps_interactive.pm:944 steps_interactive.pm:957
+#: steps_interactive.pm:971
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:958
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:972
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:978 steps_interactive.pm:990
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:991
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:992
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:1002
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:1022
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:1026
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:1041
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#. -PO: This is NOT the boot loader (just the kernel initrds)!!!!
+#: steps_interactive.pm:1072
+#, c-format
+msgid "Preparing initial startup program..."
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Be patient, this may take a while..."
+msgstr ""
+
+#: steps_interactive.pm:1089
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1121
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1123
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1134
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1144
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1147
+#, c-format
+msgid "Reboot"
+msgstr "Vula kabusha"
+
+#. -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 ""
+
+#: 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 ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19 steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:21 steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:27 steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:38 steps_list.pm:39
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:40 steps_list.pm:41
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:42
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:44 steps_list.pm:45
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:46
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:48
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/runinstall2.sh b/perl-install/install/share/runinstall2.sh
new file mode 100644
index 000000000..42c420f13
--- /dev/null
+++ b/perl-install/install/share/runinstall2.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# enable loadkeys to work before manually starting drakx in debug env:
+export SHARE_PATH=/usr/share
+echo "Starting Udev\n"
+perl -I/usr/lib/libDrakX -Minstall::install2 -e "install::install2::start_udev()"
+echo "You can start the installer by running install2"
+echo "You can run it in GDB by running gdb-inst"
+export GUILE_AUTO_COMPILE=0
+/usr/bin/busybox sh
+exec install2 $@
diff --git a/perl-install/install/share/symlinks b/perl-install/install/share/symlinks
new file mode 100644
index 000000000..d2957e63a
--- /dev/null
+++ b/perl-install/install/share/symlinks
@@ -0,0 +1,9 @@
+/etc/crypto-policies
+/etc/mke2fs.conf
+/etc/protocols
+/etc/services
+/etc/group
+/etc/machine-id
+/etc/passwd
+/etc/pki
+/etc/urpmi
diff --git a/perl-install/install/share/themes-blue.rc b/perl-install/install/share/themes-blue.rc
new file mode 100644
index 000000000..e8cac9521
--- /dev/null
+++ b/perl-install/install/share/themes-blue.rc
@@ -0,0 +1,65 @@
+style "any"
+{
+ base[NORMAL] = { 0, 0, 0.67 }
+ bg[NORMAL] = { 0, 0, 0.67 }
+ bg[INSENSITIVE] = { 0, 0, 0.67 }
+ base[INSENSITIVE]={ 0, 0, 0.67 }
+ bg[ACTIVE] = { 0, 0.67, 1.0 }
+ bg[PRELIGHT] = { 0, 0, 1.0 }
+
+ GtkTreeView::even_row_color = { 0, 0, 0.67 }
+ GtkTreeView::odd_row_color = { 0, 0, 0.67 }
+
+ text[NORMAL] = { 1.0, 1.0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+ fg[INSENSITIVE] = { 0.0, 0.0, 0.0 }
+ text[INSENSITIVE]={ 1.0, 1.0, 1.0 }
+ fg[ACTIVE] = { 1.0, 1.0, 1.0 }
+ fg[PRELIGHT] = { 1.0, 1.0, 1.0 }
+
+ bg[SELECTED] = { 1.0, 1.0, 1.0 }
+ fg[SELECTED] = { 0, 0, 1.0 }
+}
+
+style "entry"
+{
+ base[NORMAL] = { 0, 1.0, 1.0 }
+ base[ACTIVE] = { 0, 1.0, 1.0 }
+ fg[NORMAL] = { 0.67, 0, 0.67 }
+}
+
+style "notebook"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ bg[ACTIVE] = { 0, 0, 0.67 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+}
+
+style "button" = "any"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+ bg[PRELIGHT] = { 0, 0, 1.0 }
+ fg[PRELIGHT] = { 0, 1.0, 1.0 }
+}
+
+style "background"
+{
+ bg[NORMAL] = { 0, 0.67, 0.99 }
+ bg[PRELIGHT] = { 0, 0, 0.67 }
+}
+
+style "steps"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 0 }
+}
+
+widget_class "*" style "any"
+widget_class "*GtkSpin*" style "entry"
+widget_class "*GtkEntry*" style "entry"
+widget_class "*Gtk*List*" style "entry"
+widget_class "*GtkCTree*" style "entry"
+widget_class "*GtkNotebook*" style "notebook"
+widget "*GtkButton*" style "button"
+widget "*background*" style "background"
diff --git a/perl-install/install/share/upgrade/.gitignore b/perl-install/install/share/upgrade/.gitignore
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/perl-install/install/share/upgrade/.gitignore
@@ -0,0 +1 @@
+
diff --git a/perl-install/install/steps.pm b/perl-install/install/steps.pm
new file mode 100644
index 000000000..0319a6575
--- /dev/null
+++ b/perl-install/install/steps.pm
@@ -0,0 +1,976 @@
+package install::steps;
+
+use diagnostics;
+use strict;
+use vars qw(@filesToSaveForUpgrade @filesNewerToUseAfterUpgrade);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use install::any 'addToBeDone';
+use partition_table;
+use detect_devices;
+use fs::any;
+use fs::type;
+use fs::partitioning;
+use modules;
+use run_program;
+use lang;
+use keyboard;
+use fsedit;
+use do_pkgs;
+use install::pkgs;
+use any;
+use log;
+
+our @ISA = qw(do_pkgs);
+
+@filesToSaveForUpgrade = qw(
+/etc/ld.so.conf /etc/fstab /etc/hosts /etc/conf.modules /etc/modules.conf
+);
+
+@filesNewerToUseAfterUpgrade = qw(
+/etc/profile
+);
+
+#-######################################################################################
+#- OO Stuff
+#-######################################################################################
+sub new($$) {
+ my ($type, $o) = @_;
+
+ bless $o, ref($type) || $type;
+ return $o;
+}
+
+sub charsetChanged {
+ my ($_o) = @_;
+}
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub enteringStep {
+ my ($_o, $step) = @_;
+ log::l("starting step `$step'");
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ log::l("step `$step' finished");
+
+ if (-d "$::prefix/root/drakx") {
+ eval { cp_af("/tmp/ddebug.log", "$::prefix/root/drakx") };
+ output(install::any::auto_inst_file(), install::any::g_auto_install(1));
+ }
+
+ foreach my $s (@{$o->{orderedSteps}}) {
+ #- the reachability property must be recomputed each time to take
+ #- into account failed step.
+ next if $o->{steps}{$s}{done} && !$o->{steps}{$s}{redoable};
+
+ my $reachable = 1;
+ if (my $needs = $o->{steps}{$s}{needs}) {
+ my @l = ref($needs) ? @$needs : $needs;
+ $reachable = min(map { $o->{steps}{$_}{done} || 0 } @l);
+ }
+ $o->{steps}{$s}{reachable} = 1 if $reachable;
+ }
+ $o->{steps}{$step}{reachable} = $o->{steps}{$step}{redoable};
+
+ while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) {
+ eval { &$f() };
+ if (my $err = $@) {
+ $o->ask_warn(N("Error"), [
+N("An error occurred, but I do not know how to handle it nicely.
+Continue at your own risk."), formatError($err) || $err ]);
+ }
+ }
+}
+
+sub errorInStep {
+ my ($_o, $err) = @_;
+ print "error :(\n";
+ print "$err\n\n";
+ c::_exit(1);
+}
+sub kill_action {}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+#------------------------------------------------------------------------------
+sub selectLanguage {
+ my ($o) = @_;
+
+ $o->{locale}{langs} ||= { $o->{locale}{lang} => 1 };
+
+ if (!exists $o->{locale}{country}) {
+ lang::lang_changed($o->{locale});
+ }
+
+ add2hash_($o->{locale}, { utf8 => lang::utf8_should_be_needed($o->{locale}) });
+ lang::set($o->{locale}, !$o->isa('interactive::gtk'));
+
+ log::l("selectLanguage: pack_langs: ", lang::pack_langs($o->{locale}{langs}), " utf8-flag: ", to_bool($o->{locale}{utf8}));
+
+ #- for auto_install compatibility with old $o->{keyboard} containing directly $o->{keyboard}{KEYBOARD}
+ $o->{keyboard} = { KEYBOARD => $o->{keyboard} } if $o->{keyboard} && !ref($o->{keyboard});
+
+ if (!$o->{keyboard} || $o->{keyboard}{unsafe}) {
+ $o->{keyboard} = keyboard::default($o->{locale});
+ $o->{keyboard}{unsafe} = 1;
+ keyboard::setup_install($o->{keyboard});
+ }
+
+ $o->charsetChanged;
+
+ addToBeDone {
+ if ($o->{isUpgrade}) {
+ #- preserve existing locale settings (mga#24671)
+ $o->{locale} = lang::read();
+ $o->{locale}{langs}{$o->{locale}{lang}} = 1;
+ } else {
+ lang::write_langs($o->{locale}{langs});
+ }
+ } 'formatPartitions';
+ addToBeDone {
+ lang::write_and_install($o->{locale}, $o->do_pkgs);
+ } 'installPackages';
+}
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($o) = @_;
+ keyboard::setup_install($o->{keyboard});
+
+ addToBeDone {
+ #- the bkmap keymaps in installer are deficient, we need to load the real one before keyboard::write which will generate /etc/sysconfig/console/default.kmap
+ run_program::rooted($::prefix, 'loadkeys', keyboard::keyboard2kmap($o->{keyboard}))
+ or log::l("loadkeys failed");
+ keyboard::write($o->{keyboard});
+ } 'installPackages' if !$o->{isUpgrade} || !$o->{keyboard}{unsafe};
+}
+#------------------------------------------------------------------------------
+sub acceptLicense {}
+
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($o) = @_;
+ install::any::configure_pcmcia($o);
+ modules::load(modules::category2modules('disk/cdrom'));
+ modules::load_category($o->{modules_conf}, 'bus/firewire');
+ modules::load_category($o->{modules_conf}, 'disk/scsi');
+ #- load disk/scsi before disk/ide since libata is now the default
+ #- (to prevent modules::load_category from loading ide-generic too early)
+ modules::load_category($o->{modules_conf}, 'disk/ide|hardware_raid|sata|firewire');
+
+ install::any::getHds($o);
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($o) = @_;
+
+ if ($o->{partitioning}{use_existing_root} || $o->{isUpgrade}) {
+ # either one root is defined (and all is ok), or we take the first one we find
+ my $p = fs::get::root_($o->{fstab}) || (first(install::any::find_root_parts($o->{fstab}, $::prefix)) || die)->{part};
+ $o->{migrate_device_names} = install::any::use_root_part($o->{all_hds}, $p);
+ $o->{previous_release} = $p if $o->{isUpgrade};
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisksBefore {
+ my ($o) = @_;
+ log::l("fdisk before:\n" . any::fdisk());
+ eval {
+ eval { fs::mount::umount("$::prefix/sys/kernel/debug/usb") };
+ eval { fs::mount::umount("$::prefix/sys") };
+ eval { fs::mount::umount("$::prefix/proc") };
+ eval { fs::mount::umount_all($o->{fstab}) };
+ eval { sleep 1; fs::mount::umount_all($o->{fstab}) } if $@; #- HACK
+ } if $o->{fstab} && !$::testing;
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisksAfter {
+ my ($o) = @_;
+
+ fs::any::write_hds($o->{all_hds}, $o->{fstab}, !$o->{isUpgrade}, sub { $o->rebootNeeded }, $o);
+ log::l("fdisk after\n" . any::fdisk());
+
+ if ($::local_install) {
+ #- We skipped the setupSCSI step, so $o->{fstab} will be empty. We need to
+ #- add a fake entry, to satisfy the following check for a root partition.
+ my $fstab = [ fs::read_fstab('', '/proc/mounts') ];
+ my $part = fs::get::mntpoint2part($::prefix, $fstab) || $fstab->[0];
+ $part->{mntpoint} = '/';
+ $part->{isMounted} = 1;
+ $o->{fstab} = [ $part ];
+ }
+
+ fs::any::check_hds_boot_and_root($o->{all_hds}, $o->{fstab}, $o->{isUpgrade}, $o->{match_all_hardware});
+
+ if ($o->{partitioning}{use_existing_root}) {
+ #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat
+ fs::mount::part($_) foreach sort { $a->{mntpoint} cmp $b->{mntpoint} }
+ grep { $_->{mntpoint} && maybeFormatted($_) } @{$o->{fstab}};
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($o) = @_;
+
+ if ($o->{partitioning}{auto_allocate}) {
+ catch_cdie { fsedit::auto_allocate($o->{all_hds}, $o->{partitions}) } sub { 1 };
+ }
+}
+
+#------------------------------------------------------------------------------
+
+sub rebootNeeded($) {
+ my ($_o) = @_;
+ log::l("Rebooting...");
+ c::_exit(0);
+}
+
+sub choosePartitionsToFormat {
+ my ($o) = @_;
+ fs::partitioning::guess_partitions_to_format($o->{fstab});
+}
+
+sub formatMountPartitions {
+ my ($o) = @_;
+ fs::format::formatMount_all($o->{all_hds}, $o->{fstab}, undef);
+}
+
+#------------------------------------------------------------------------------
+sub setPackages {
+ my ($o) = @_;
+
+ install::any::setPackages($o);
+}
+
+sub ask_deselect_media__copy_on_disk {
+ my (undef, $_hdlists, $_copy_rpms_on_disk) = @_;
+ 0;
+}
+
+sub ask_change_cd {
+ my (undef, $phys_m) = @_;
+ log::l("change to medium $phys_m refused (it can't be done automatically)");
+ 0;
+}
+
+sub selectSupplMedia { '' }
+
+sub choosePackages {
+ my ($o, $o_compssListLevel) = @_;
+
+ #- clear the mirror cache before upgrading:
+ eval { rm_rf("$::prefix/var/cache/urpmi/mirrors.cache") };
+
+ #- now for upgrade, package that must be upgraded are
+ #- selected first, after is used the same scheme as install.
+
+ #- make sure we kept some space left for available else the system may
+ #- not be able to start
+ my $available = install::any::getAvailableSpace($o);
+ my $availableCorrected = install::pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
+ log::l(sprintf "available size %s (corrected %s)", formatXiB($available), formatXiB($availableCorrected));
+
+ #- !! destroying user selection of packages (they may have done individual selection before)
+ exists $o->{compssListLevel} || defined $o_compssListLevel
+ and install::pkgs::setSelectedFromCompssList($o->{packages}, $o->{rpmsrate_flags_chosen}, $o_compssListLevel || $o->{compssListLevel}, $availableCorrected);
+
+ $availableCorrected;
+}
+
+sub live_patch_URPM() {
+
+ sub prefering_mga {
+ my ($lpkg, $rpkg_ver, $c) = @_;
+ my $lpkg_ver = $lpkg->version . '-' . $lpkg->release;
+ log::l($lpkg->name . ' ' . ': prefering ' . ($c == 1 ? "$lpkg_ver over $rpkg_ver" : "$rpkg_ver over $lpkg_ver"));
+ }
+
+ my $old_compare_pkg = \&URPM::Package::compare_pkg;
+ undef *URPM::Package::compare_pkg;
+ *URPM::Package::compare_pkg = sub {
+ my ($lpkg, $rpkg) = @_;
+ my $c = ($lpkg->release =~ /mga/ ? 1 : 0) - ($rpkg->release =~ /mga/ ? 1 : 0);
+ if ($c) {
+ prefering_mga($lpkg, $rpkg->version . '-' . $rpkg->release, $c);
+ $c;
+ } else {
+ &$old_compare_pkg;
+ }
+ };
+
+ my $old_compare = \&URPM::Package::compare;
+ undef *URPM::Package::compare;
+ *URPM::Package::compare = sub {
+ my ($lpkg, $rpkg_ver) = @_;
+ my $c = ($lpkg->release =~ /mga/ ? 1 : 0) - ($rpkg_ver =~ /mga/ ? 1 : 0);
+ if ($c) {
+ prefering_mga($lpkg, $rpkg_ver, $c);
+ return $c;
+ }
+ &$old_compare;
+ };
+}
+
+sub upgrading_redhat() {
+ #- remove weird config files that bother Xconfig::* too much
+ unlink "$::prefix/etc/X11/XF86Config";
+ unlink "$::prefix/etc/X11/XF86Config-4";
+}
+
+sub beforeInstallPackages {
+ my ($o) = @_;
+
+ read_bootloader_config($o);
+
+ if ($o->{isUpgrade}) {
+ $o->{modules_conf}->merge_into(modules::any_conf->read);
+
+ #- save these files in case of upgrade failure.
+ foreach (@filesToSaveForUpgrade) {
+ unlink "$::prefix/$_.mdkgisave";
+ if (-e "$::prefix/$_") {
+ eval { cp_af("$::prefix/$_", "$::prefix/$_.mdkgisave") };
+ }
+ }
+ foreach (@filesNewerToUseAfterUpgrade) {
+ unlink "$::prefix/$_.rpmnew";
+ }
+
+ log::l("converting filesystem for usrmove");
+ if (!run_program::run('/usr/lib/dracut/modules.d/30convertfs/convertfs.sh', $::prefix)) {
+ mkdir_p("$::prefix/root/drakx") if ! -d "$::prefix/root/drakx";
+ # logs are only copied to $::prefix/root/drakx at the end of each step, so do it manually now
+ eval { cp_af("/tmp/ddebug.log", "$::prefix/root/drakx") };
+ die "Unable to convert filesystem prior to upgrade. Check ddebug.log for details";
+ }
+ }
+
+ #- mainly for upgrading redhat packages, but it can help other
+ my @should_not_be_dirs = qw(/usr/share/locale/zh_TW/LC_TIME /usr/include/GL);
+ my @should_be_dirs = qw(/etc/X11/xkb);
+ my @to_remove = (
+ (grep { !-l $_ && -d $_ } map { "$::prefix$_" } @should_not_be_dirs),
+ (grep { -l $_ || !-d $_ && -e $_ } map { "$::prefix$_" } @should_be_dirs),
+ );
+ rm_rf(@to_remove);
+
+ live_patch_URPM() if $o->{isUpgrade} !~ /mageia/;
+
+ if ($o->{isUpgrade} eq 'redhat') {
+ upgrading_redhat();
+ }
+
+ if ($o->{isUpgrade} =~ /redhat|conectiva/) {
+ #- to ensure supermount is removed (???)
+ fs::mount_options::set_all_default($o->{all_hds}, %$o, lang::fs_options($o->{locale}));
+ }
+
+
+ #- some packages need such files for proper installation.
+ install::any::write_fstab($o);
+
+ #- resolv.conf will be modified at boot time
+ #- the following will ensure we have a working DNS during install
+ if (-e "/etc/resolv.conf" && ! -e "$::prefix/etc/resolv.conf") {
+ cp_af("/etc/resolv.conf", "$::prefix/etc");
+ }
+
+ foreach ('/run', '/tmp/.X11-unix') {
+ if (-e $_) {
+ mkdir "$::prefix/$_";
+ run_program::run('mount', '--bind', $_, "$::prefix/$_");
+ }
+ }
+
+ log::l("setting excludedocs to $o->{excludedocs}");
+ substInFile { s/%_excludedocs.*//; $_ .= "%_excludedocs yes\n" if eof && $o->{excludedocs} } "$::prefix/etc/rpm/macros";
+
+ #- add oem theme if the files exists.
+ mkdir_p("$::prefix/usr/share");
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "install/oem-theme.rpm", "$::prefix/usr/share/oem-theme.rpm");
+
+ system("sh", "-c", $o->{preInstallNonRooted}) if $o->{preInstallNonRooted};
+}
+
+#- returns number of packages installed, 0 if none were selected.
+sub pkg_install {
+ my ($o, @l) = @_;
+ log::l("selecting packages " . join(" ", @l));
+
+ install::pkgs::select_by_package_names($o->{packages}, \@l);
+
+ my @toInstall = install::pkgs::packagesToInstall($o->{packages});
+ if (@toInstall) {
+ log::l("installing packages");
+ $o->installPackages;
+ } else {
+ log::l("all packages selected are already installed, nothing to do");
+ delete $o->{packages}{rpmdb}; #- make sure rpmdb is closed
+ 0;
+ }
+}
+
+sub installCallback {
+# my (undef, $msg, @para) = @_;
+# log::l("$msg: " . join(',', @para));
+}
+
+sub installPackages {
+ my ($o, $o_interactive) = @_;
+
+ my $p = fs::get::root_($o->{fstab});
+ if (isLUKS($p)) {
+ install::pkgs::selectPackage($o->{packages}, install::pkgs::packageByName($o->{packages}, 'plymouth'));
+ }
+
+ my $packages = $o->{packages};
+
+ install::pkgs::remove_marked_ask_remove($packages, \&installCallback);
+
+ #- small transaction will be built based on this selection and depslist.
+ my @toInstall = install::pkgs::packagesToInstall($packages);
+
+ my $exit_code;
+ my $time = time();
+ {
+ local $ENV{DURING_INSTALL} = 1;
+ local $ENV{LOCAL_INSTALL} = 1 if $::local_install;
+ local $ENV{TMPDIR} = '/tmp';
+ local $ENV{TMP} = '/tmp';
+ local $ENV{HOME};
+ local $packages->{options}{auto} = !$o_interactive;
+ $exit_code = install::pkgs::install($o->{isUpgrade}, \@toInstall, $packages, \&installCallback);
+ }
+ any::writeandclean_ldsoconf($::prefix);
+
+ log::l("Install took: ", formatTimeRaw(time() - $time));
+ run_program::rooted_or_die($::prefix, 'ldconfig') if !$o->{justdb};
+
+ $exit_code and die "Installation failed";
+ install::media::log_sizes();
+ scalar(@toInstall); #- return number of packages installed.
+}
+
+sub afterInstallPackages($) {
+ my ($o) = @_;
+
+ read_bootloader_config($o) if $o->{isUpgrade} && is_empty_hash_ref($o->{bootloader});
+
+ die N("Some important packages did not get installed properly.
+Either your cdrom drive or your cdrom is defective.
+Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm\"
+") if any { m|read failed: Input/output error| } cat_("$::prefix/root/drakx/install.log");
+
+ if (!$o->{justdb}) {
+ -x "$::prefix/usr/bin/dumpkeys" or $::testing or die
+"Some important packages did not get installed properly.
+
+Please switch to console 2 (using ctrl-alt-f2)
+and look at the log file /tmp/ddebug.log
+
+Consoles 1,3,4,7 may also contain interesting information";
+ }
+
+ #- why not? cuz weather is nice today :-) [pixel]
+ common::sync(); common::sync();
+
+ #- generate /etc/lvmtab needed for rc.sysinit
+ run_program::rooted($::prefix, 'lvm2', 'vgscan') if -e '/etc/lvmtab';
+
+ require harddrake::autoconf;
+ #- configure PCMCIA services if needed.
+ harddrake::autoconf::pcmcia($o->{pcmcia});
+ #- configure CPU frequency modules
+ harddrake::autoconf::cpufreq();
+ harddrake::autoconf::floppy();
+
+ # prevent slow boot on first boot:
+ my $cfg_file = "$::prefix/etc/sysconfig/harddrake2/kernel";
+ if (-f $cfg_file) {
+ my %kernel_config = getVarsFromSh($cfg_file);
+ $kernel_config{IS_LAPTOP} = bool2text(detect_devices::isLaptop());
+ setVarsInSh($cfg_file, \%kernel_config);
+ }
+
+ #- for mandrake_firstime
+ touch "$::prefix/var/lock/TMP_1ST";
+
+ fs::any::set_cdrom_symlink($o->{all_hds}{raw_hds});
+ any::config_mtools($::prefix);
+
+ #- make sure wins is disabled in /etc/nsswitch.conf
+ #- else if eth0 is not existing, glibc segfaults.
+ substInFile { s/\s*wins// if /^\s*hosts\s*:/ } "$::prefix/etc/nsswitch.conf";
+
+ if ($o->{mouse}{device} =~ /ttyS/) {
+ log::l("disabling gpm for serial mice (does not get along nicely with X)");
+ run_program::rooted($::prefix, "chkconfig", "--del", "gpm");
+ }
+
+ if ($o->{pcmcia}) {
+ substInFile { s/.*(TaskBarShowAPMStatus).*/$1=1/ } "$::prefix/usr/lib/X11/icewm/preferences";
+ eval { cp_af("$::prefix/usr/share/applnk/System/kapm.kdelnk",
+ "$::prefix/etc/skel/Desktop/Autostart/kapm.kdelnk") };
+ }
+
+ if ($o->{brltty}) {
+ output("$::prefix/etc/brltty.conf", <<EOF);
+braille-driver $o->{brltty}{driver}
+braille-device $o->{brltty}{device}
+text-table $o->{brltty}{table}
+EOF
+ }
+
+
+ install::any::disable_user_view() if $o->{security} > 1 || $o->{authentication}{NIS};
+ run_program::rooted($::prefix, "kdeDesktopCleanup");
+
+ #- move some file after an upgrade that may be seriously annoying.
+ #- and rename saved files to .mdkgiorig.
+ if ($o->{isUpgrade}) {
+ my $pkg = install::pkgs::packageByName($o->{packages}, 'rpm');
+ $pkg && ($pkg->flag_selected || $pkg->flag_installed) && $pkg->compare(">= 4.0") and install::pkgs::cleanOldRpmDb();
+
+ log::l("moving previous desktop files that have been updated to Trash of each user");
+ install::any::kdemove_desktop_file($::prefix);
+
+ foreach (@filesToSaveForUpgrade) {
+ renamef("$::prefix/$_.mdkgisave", "$::prefix/$_.mdkgiorig")
+ if -e "$::prefix$_.mdkgisave";
+ }
+
+ foreach (@filesNewerToUseAfterUpgrade) {
+ if (-e "$::prefix/$_.rpmnew" && -e "$::prefix/$_") {
+ renamef("$::prefix/$_", "$::prefix/$_.mdkgiorig");
+ renamef("$::prefix/$_.rpmnew", "$::prefix/$_");
+ }
+ }
+ }
+
+ renamef(install::pkgs::removed_pkgs_to_upgrade_file(), install::pkgs::removed_pkgs_to_upgrade_file() . '.done');
+ unlink(glob("$::prefix/root/drakx/*.upgrading"));
+
+ if ($o->{upgrade_by_removing_pkgs_matching}) {
+ if (cat_("$::prefix/etc/inittab.rpmsave") =~ /^id:5:initdefault:\s*$/m) {
+ $o->{X}{xdm} = 1;
+ require Xconfig::various;
+ Xconfig::various::runlevel(5);
+ }
+ }
+
+ any::fix_broken_alternatives($o->{isUpgrade} eq 'redhat');
+
+ #- update theme directly from a package (simplest).
+ if (-s "$::prefix/usr/share/oem-theme.rpm") {
+ run_program::rooted($::prefix, "rpm", "-U", "/usr/share/oem-theme.rpm");
+ unlink "/usr/share/oem-theme.rpm";
+ }
+
+ #- call update-menus at the end of package installation
+ push @{$o->{waitpids}}, run_program::raw({ root => $::prefix, detach => 1 }, "update-menus", "-n");
+
+ $o->install_hardware_packages;
+
+ if ($o->{updatemodules}) {
+ $o->updatemodules($ENV{THIRDPARTY_DEVICE}, $ENV{THIRDPARTY_DIR});
+ }
+}
+
+sub install_urpmi {
+ my ($o) = @_;
+
+ my $pkg = install::pkgs::packageByName($o->{packages}, 'urpmi');
+ if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)
+ #- this is a workaround. if many urpmi packages are found in the
+ #- provides of all media, packages_providing() might return the wrong
+ #- one. This probably needs to be fixed in URPM
+ || run_program::rooted_get_stdout($::prefix, '/bin/rpm', '-q', 'urpmi') =~ /urpmi/
+ ) {
+ install::media::install_urpmi($o->{method}, $o->{packages});
+ install::pkgs::saveCompssUsers($o->{packages}, $o->{compssUsers});
+ } else {
+ log::l("skipping install_urpmi, urpmi not installed");
+ }
+}
+
+sub install_hardware_packages {
+ my ($o) = @_;
+ if ($o->{match_all_hardware}) {
+ my @l = pkgs::detect_hardware_packages($o->do_pkgs, $o->{match_all_hardware});
+ $o->do_pkgs->install(@l) if @l;
+ }
+}
+
+sub updatemodules {
+ my ($_o, $dev, $rel_dir) = @_;
+ return if $::testing;
+
+ $dev = devices::make($dev) or log::l("updatemodules: bad device $dev"), return;
+
+ my $mount_dir = '/updatemodules';
+ find {
+ eval { fs::mount::mount($dev, $mount_dir, $_, 0); 1 };
+ } 'ext2', 'vfat' or log::l("updatemodules: can't mount $dev"), return;
+
+ my $dir = "$mount_dir$rel_dir";
+ foreach my $kernel_version (all("$::prefix/lib/modules")) {
+ log::l("examining updated modules for kernel $kernel_version");
+ -d "$dir/$kernel_version" or next;
+ log::l("found updatable modules");
+ run_program::run("cd $dir/$kernel_version ; find -type f | cpio -pdu $::prefix/lib/modules/$kernel_version");
+ run_program::rooted($::prefix, 'depmod', '-a', '-F', "/boot/System.map-$kernel_version", $kernel_version);
+ }
+
+ my $category;
+ foreach (cat_("$dir/to_load")) {
+ chomp;
+ if (/^#/) {
+ ($category) = $1 if /\[list_modules: (.*?)\]/;
+ } elsif ($category) {
+ log::l("adding $_ to $category\n");
+ my $r = \%list_modules::l;
+ $r = $r->{$_} foreach split('/', $category);
+ push @$r, $_;
+
+ $category = '';
+ }
+ }
+
+ fs::mount::umount($mount_dir);
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse($) {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($o) = @_;
+ require network::network;
+ network::network::configure_network($o->{net}, $o, $o->{modules_conf});
+
+ configure_firewall($o) if !$o->{isUpgrade} && !$o->{justdb};
+
+ #- only a http proxy can be used by stage1
+ #- the method is http even for ftp connections through a http proxy
+ #- use this http proxy for both http and ftp connections
+ if ($o->{method} eq "http" && $ENV{PROXY}) {
+ my $proxy = "http://$ENV{PROXY}" . ($ENV{PROXYPORT} && ":$ENV{PROXYPORT}");
+ add2hash($o->{miscellaneous} ||= {}, {
+ http_proxy => $proxy,
+ ftp_proxy => $proxy,
+ });
+ network::network::proxy_configure($o->{miscellaneous});
+ }
+}
+
+sub configure_firewall {
+ my ($o) = @_;
+
+ #- set up a firewall if ports have been specified or if the security level is high enough
+ $o->{firewall_ports} ||= '' if $o->{security} >= 1 && !exists $o->{firewall_ports};
+
+ if (defined $o->{firewall_ports}) {
+ require network::drakfirewall;
+ $o->{firewall_ports} ||= ''; #- don't open any port by default
+ network::drakfirewall::set_ports($o->do_pkgs, 0, $o->{firewall_ports}, 'log_net_drop');
+ network::drakfirewall::set_ifw($o->do_pkgs, 1, [ 'psd' ], '');
+ }
+}
+
+#------------------------------------------------------------------------------
+sub installUpdates {}
+
+sub summaryBefore {}
+
+sub summary {
+ my ($o) = @_;
+ configureTimezone($o);
+}
+
+sub summaryAfter {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub configureTimezone {
+ my ($o) = @_;
+ install::any::preConfigureTimezone($o);
+
+ if ($o->{timezone}{ntp}) {
+ # We prefer chrony, but we'll deal with ntpd for the sake of upgrades
+ my $pkg = install::pkgs::packageByName($o->{packages}, 'chrony');
+ unless ($pkg && $pkg->flag_installed) {
+ $pkg = install::pkgs::packageByName($o->{packages}, 'ntp');
+ $o->pkg_install('chrony') unless $pkg && $pkg->flag_installed;
+ }
+ }
+
+ require timezone;
+ timezone::write($o->{timezone});
+}
+
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($o) = @_;
+ if ($o->{services}) {
+ require services;
+ services::doit($o, $o->{services});
+ }
+}
+
+#------------------------------------------------------------------------------
+sub setRootPassword_addUser {
+ my ($o) = @_;
+
+ setRootPassword($o);
+ addUser($o);
+}
+
+sub setRootPassword {
+ my ($o) = @_;
+ $o->{superuser} ||= {};
+ require authentication;
+ authentication::set_root_passwd($o->{superuser}, $o->{authentication});
+ install::any::set_authentication($o);
+}
+
+sub addUser {
+ my ($o) = @_;
+ my $users = $o->{users} ||= [];
+
+ if ($::prefix) {
+ #- getpwnam, getgrnam, getgrid works
+ symlinkf("$::prefix/etc/passwd", '/etc/passwd');
+ symlinkf("$::prefix/etc/group", '/etc/group');
+ }
+
+ any::add_users($users, $o->{authentication});
+
+ if ($o->{rpmsrate_flags_chosen}{CAT_X}) {
+ my $autologin = any::get_autologin();
+ $autologin->{user} = $o->{autologin};
+ $autologin->{desktop} = $o->{desktop} if $o->{desktop};
+ $autologin->{dm} = $o->{dm} if $o->{dm};
+ any::set_autologin($o->do_pkgs, $autologin, $o->{step}{auto});
+ }
+
+ install::any::disable_user_view() if @$users == ();
+}
+
+#------------------------------------------------------------------------------
+sub read_bootloader_config {
+ my ($o) = @_;
+
+ require bootloader;
+ eval { add2hash($o->{bootloader} ||= {}, bootloader::read($o->{all_hds})) };
+ $@ && $o->{isUpgrade} and log::l("read_bootloader_config failed: $@");
+
+ $o->{bootloader}{bootUnsafe} = 0 if $o->{bootloader}{boot}; #- when upgrading, do not ask where to install the bootloader (mbr vs boot partition)
+}
+
+sub setupBootloaderBefore {
+ my ($o) = @_;
+ my $bool = $o->{meta_class} ne 'server';
+ any::setupBootloaderBefore($o->do_pkgs, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{keyboard},
+ $o->{allowFB}, $o->{vga}, $bool, $bool);
+}
+
+sub setupBootloader {
+ my ($o) = @_;
+
+ any::install_bootloader_pkgs($o->do_pkgs, $o->{bootloader});
+
+ require bootloader;
+ bootloader::install($o->{bootloader}, $o->{all_hds});
+}
+
+#------------------------------------------------------------------------------
+sub configureXBefore {
+ my ($o) = @_;
+
+ #- keep this here if the package has to be updated.
+ $o->pkg_install("task-x11");
+}
+sub configureX {
+ my ($o) = @_;
+ configureXBefore($o);
+
+ require Xconfig::default;
+ $o->{raw_X} = Xconfig::default::configure($o->do_pkgs, $o->{keyboard}, $o->{mouse});
+
+ require Xconfig::main;
+ Xconfig::main::configure_everything_auto_install($o->{raw_X}, $o->do_pkgs, $o->{X}, install::any::X_options_from_o($o));
+ configureXAfter($o);
+}
+sub configureXAfter {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub miscellaneousBefore {
+ my ($o) = @_;
+
+ require security::level;
+ require security::various;
+ $o->{security} ||= security::level::get();
+ $o->{security_user} ||= security::various::config_security_user($::prefix);
+
+ log::l("security level is $o->{security}");
+}
+sub miscellaneous {
+ my ($_o) = @_;
+ #- keep some given parameters
+ #-TODO
+}
+sub miscellaneousAfter {
+ my ($o) = @_;
+
+ $ENV{SECURE_LEVEL} = $o->{security}; #- deprecated with chkconfig 1.3.4-2mdk, uses /etc/sysconfig/msec
+
+ addToBeDone {
+ addVarsInSh("$::prefix/etc/sysconfig/system", { META_CLASS => $o->{meta_class} });
+
+ eval { install::any::set_security($o) } if !$o->{isUpgrade};
+
+ } 'installPackages';
+}
+
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($o) = @_;
+
+ install::any::deploy_server_notify($o) if exists $o->{deploy_server};
+
+ #- mainly for auto_install's
+ #- do not use run_program::xxx because it does not leave stdin/stdout unchanged
+ system("bash", "-c", $o->{postInstallNonRooted}) if $o->{postInstallNonRooted};
+ system("chroot", $::prefix, "bash", "-c", $o->{postInstall}) if $o->{postInstall};
+
+ eval {
+ my $report = '/root/drakx/report.bug';
+ unlink "$::prefix$report", "$::prefix$report.gz";
+ output "$::prefix$report", install::any::report_bug();
+ run_program::rooted($::prefix, 'xz', $report);
+ };
+ output("$::prefix/root/drakx/package_list.pl", install::any::selected_leaves_pl($o));
+
+ eval { install::any::getAndSaveAutoInstallFloppies($o, 1) };
+ eval { output "$::prefix/root/drakx/README", sprintf("This directory contains several installation-related files,
+mostly log files (very useful if you ever report a bug!).
+
+Beware that some %s tools rely on the contents of some
+of these files... so remove any file from here at your own
+risk!
+", "Mageia") };
+ #- wait for remaining processes.
+ foreach (@{$o->{waitpids}}) {
+ waitpid $_, 0;
+ log::l("pid $_ returned $?");
+ }
+ install::media::umount_media($o->{packages});
+ install::media::openCdromTray($o->{stage2_phys_medium}{device}) if !detect_devices::is_xbox() && $o->{method} eq 'cdrom';
+ install::media::log_sizes();
+}
+
+#------------------------------------------------------------------------------
+sub hasNetwork {
+ my ($o) = @_;
+ $o->{net}{type} && $o->{net}{network}{NETWORKING} ne 'no' and return 1;
+ log::l("no network seems to be configured for internet ($o->{net}{type},$o->{net}{network}{NETWORKING})");
+ 0;
+}
+
+sub network_is_cheap {
+ my ($o) = @_;
+ member($o->{net}{type}, qw(adsl lan cable));
+}
+
+sub start_network_interface {
+ my ($o) = @_;
+ require network::tools;
+ network::tools::start_net_interface($o->{net}, 0);
+}
+
+sub stop_network_interface {
+ my ($o) = @_;
+ require network::tools;
+ network::tools::stop_net_interface($o->{net}, 0);
+}
+
+#------------------------------------------------------------------------------
+sub upNetwork {
+ my ($o, $b_pppAvoided) = @_;
+
+ install::any::is_network_install($o) || $::local_install and return 1;
+ $o->{modules_conf}->write;
+ if (! -e "/etc/resolv.conf") {
+ #- symlink resolv.conf in install root too so that updates and suppl media can be added
+ symlink "$::prefix/etc/resolv.conf", "/etc/resolv.conf";
+ }
+ if (hasNetwork($o)) {
+ if (network_is_cheap($o)) {
+ log::l("starting network ($o->{net}{type})");
+ start_network_interface($o);
+ return 1;
+ } elsif (!$b_pppAvoided) {
+ log::l("starting network (PPP: $o->{net}{type})");
+ eval { modules::load(qw(serial bsd_comp ppp_deflate)) };
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/syslog", "start");
+ start_network_interface($o);
+ return 1;
+ } else {
+ log::l(qq(not starting network (b/c ppp avoided and type is "$o->{net}{type})"));
+ }
+ }
+ $::testing;
+}
+
+#------------------------------------------------------------------------------
+sub downNetwork {
+ my ($o, $costlyOnly) = @_;
+
+ install::any::is_network_install($o) || $::local_install and return 1;
+ $o->{modules_conf}->write;
+ if (hasNetwork($o)) {
+ if (!$costlyOnly) {
+ stop_network_interface($o);
+ return 1;
+ } elsif (!network_is_cheap($o)) {
+ stop_network_interface($o);
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/syslog", "stop");
+ eval { modules::unload(qw(ppp_deflate bsd_comp serial)) };
+ return 1;
+ }
+ }
+ $::testing;
+}
+
+#------------------------------------------------------------------------------
+sub cleanIfFailedUpgrade($) {
+ my ($o) = @_;
+
+ #- if an upgrade has failed, there should be .mdkgisave files around.
+ if ($o->{isUpgrade}) {
+ foreach (@filesToSaveForUpgrade) {
+ if (-e "$::prefix/$_" && -e "$::prefix/$_.mdkgisave") {
+ rename "$::prefix/$_", "$::prefix/$_.mdkginew"; #- keep new files around in case !
+ rename "$::prefix/$_.mdkgisave", "$::prefix/$_";
+ }
+ }
+ }
+}
+
+
+1;
diff --git a/perl-install/install/steps_auto_install.pm b/perl-install/install/steps_auto_install.pm
new file mode 100644
index 000000000..ceaab7ed3
--- /dev/null
+++ b/perl-install/install/steps_auto_install.pm
@@ -0,0 +1,138 @@
+package install::steps_auto_install;
+
+use diagnostics;
+use strict;
+use vars qw(@ISA $graphical @graphical_steps);
+
+@ISA = qw(install::steps);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use install::steps;
+
+sub new {
+ my ($type, $o) = @_;
+
+ $o->{interactive} ||= 'gtk' if $graphical || !is_empty_array_ref($o->{interactiveSteps});
+ # Handle legacy options
+ push @{$o->{interactiveSteps}}, qw(setRootPassword_addUser) if intersection($o->{interactiveSteps}, ['addUser', 'setRootPassword']);
+ push @{$o->{interactiveSteps}}, qw(installPackages configureNetwork), @graphical_steps, if_(!$o->{autoExitInstall}, 'exitInstall');
+
+ if ($o->{interactive}) {
+ require "install/steps_$o->{interactive}.pm";
+
+ @ISA = ('install::steps_' . $o->{interactive}, @ISA);
+
+ foreach my $f (@{$o->{orderedSteps}}) {
+ $o->{steps}{$f}{auto} = 1 if !member($f, @{$o->{interactiveSteps}});
+ }
+
+ goto &{$install::{'steps_' . $o->{interactive} . '::'}{new}};
+ } else {
+ @ISA = ('install::steps_auto_install_non_interactive', @ISA);
+ (bless {}, ref($type) || $type)->install::steps::new($o);
+ }
+}
+
+sub exitInstall {
+ my ($o, $alldone) = @_;
+
+ if ($o->{interactive}) {
+ $o->SUPER::exitInstall($alldone);
+ } else {
+ install::steps::exitInstall($o);
+ return if $o->{autoExitInstall};
+ print "\a";
+ print "Auto installation complete\n";
+ print "Press <Enter>" , $::local_install ? '' : " to reboot", "\n";
+ <STDIN>;
+ }
+}
+
+
+#-######################################################################################
+#- install::steps_auto_install_non_interactive package
+#-######################################################################################
+package install::steps_auto_install_non_interactive;
+
+use install::steps;
+use lang;
+use modules;
+use common;
+use log;
+
+my $iocharset;
+
+sub enteringStep {
+ my ($o, $step) = @_;
+
+ my ($s, $t) = (N_("Entering step `%s'\n"), common::remove_translate_context($o->{steps}{$step}{text}));
+ my $txt;
+ if ($iocharset && !$::local_install) {
+ $txt = sprintf(translate($s), translate($t));
+ $txt = Locale::gettext::iconv($txt, "utf-8", $iocharset);
+ } else {
+ $txt = sprintf($s, $t);
+ }
+ print $txt;
+
+ $o->install::steps::enteringStep($step);
+}
+
+sub rebootNeeded {
+ my ($o) = @_;
+ errorInStep($o, <<EOF);
+While partitioning, the partition table re-read failed, needing a reboot
+This is plain wrong for an auto_install
+EOF
+}
+
+sub ask_warn {
+ my ($_o, $_title, $message) = @_;
+ log::l(join(" ", deref_array($message)) . ' ' . backtrace());
+}
+
+sub wait_message {
+ my ($_o, $_title, $_message) = @_;
+}
+sub wait_message_with_progress_bar {
+ my ($_o, $_title) = @_;
+ undef, sub {};
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+
+ my ($name, $acm) = lang::l2console_font($o->{locale}, 1);
+ my %fs_options = lang::fs_options($o->{locale});
+ $iocharset = $name && $acm && $fs_options{iocharset} ne 'utf8' ? $fs_options{iocharset} : '';
+}
+
+sub errorInStep {
+ my ($_o, $err) = @_;
+ print "error :(\n";
+ print "$err\n\n";
+ print "switch to console f2 for a shell\n";
+ print "Press <Enter> to reboot\n";
+
+ my $answer = <STDIN>;
+ if ($answer =~ /restart/i) {
+ log::l("restarting install");
+ c::_exit(0x35);
+ }
+ c::_exit(1);
+}
+
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+sub installPackages {
+ my ($o) = @_;
+ catch_cdie { $o->install::steps::installPackages } sub { print formatError($@), "\n"; 1 };
+}
+
+1;
diff --git a/perl-install/install/steps_curses.pm b/perl-install/install/steps_curses.pm
new file mode 100644
index 000000000..30fd693a6
--- /dev/null
+++ b/perl-install/install/steps_curses.pm
@@ -0,0 +1,68 @@
+package install::steps_curses;
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::curses);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::steps_interactive;
+use interactive::curses;
+use install::any;
+use devices;
+use lang;
+use common;
+
+my $banner;
+sub banner {
+ my ($cui, $step) = @_;
+ my $text = N("%s Installation %s", "Mageia", "| $step");
+ $banner ||= do {
+ my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => 0, '-height' => 1);
+ $win->add(undef, 'Label');
+ };
+ $banner->text($text);
+}
+
+sub help_line {
+ my ($cui) = @_;
+ my $text = N("<Tab>/<Alt-Tab> between elements");
+ my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => -1, '-height' => 1);
+ $win->add(undef, 'Label', '-text' => $text);
+}
+
+sub new {
+ my ($type, $o) = @_;
+
+ add2hash($o, interactive::curses->new);
+
+ #- unset DISPLAY so that code testing wether DISPLAY is set can know we don't have or use X
+ delete $ENV{DISPLAY};
+
+ banner($o->{cui}, '');
+ help_line($o->{cui});
+
+ (bless {}, ref($type) || $type)->SUPER::new($o);
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+ $o->SUPER::enteringStep($step);
+ banner($o->{cui}, translate($o->{steps}{$step}{text}));
+}
+
+sub exitInstall {
+ &install::steps_interactive::exitInstall;
+ interactive::curses::end();
+}
+
+1;
+
diff --git a/perl-install/install/steps_gtk.pm b/perl-install/install/steps_gtk.pm
new file mode 100644
index 000000000..fa34c947c
--- /dev/null
+++ b/perl-install/install/steps_gtk.pm
@@ -0,0 +1,809 @@
+package install::steps_gtk;
+
+use diagnostics;
+use strict;
+use feature 'state';
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::gtk);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::pkgs;
+use install::steps_interactive;
+use interactive::gtk;
+use xf86misc::main;
+use common;
+use mygtk3;
+use ugtk3 qw(:helpers :wrappers :create);
+use devices;
+use modules;
+use install::gtk;
+use install::any;
+use mouse;
+use install::help::help;
+use log;
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub new($$) {
+ my ($type, $o) = @_;
+
+ $ENV{DISPLAY} ||= $o->{display} || ":0";
+ my $wanted_DISPLAY = $::testing && -x '/usr/bin/Xnest' ? ':9' : $ENV{DISPLAY};
+
+ if (!$::local_install &&
+ ($::testing ? $ENV{DISPLAY} ne $wanted_DISPLAY : $ENV{DISPLAY} =~ /^:\d/)) { #- is the display local or distant?
+ _setup_and_start_X($o, $wanted_DISPLAY) or return;
+ }
+
+ $ENV{DISPLAY} = $wanted_DISPLAY;
+ require detect_devices;
+ if (detect_devices::is_xbox()) {
+ modules::load('xpad');
+ run_program::run('xset', 'm', '1/8', '1');
+ }
+ if (detect_devices::is_qemu()) {
+ mkdir_p('/run/spice-vdagentd');
+ run_program::raw({ detach => 1 }, 'spice-vdagentd', '>', '/dev/null', '2>', '/dev/null', '-X');
+ run_program::raw({ detach => 1 }, 'spice-vdagent', '>', '/dev/null', '2>', '/dev/null');
+ }
+ any::disable_x_screensaver();
+ run_program::raw({ detach => 1 }, 'mutter', '--x11');
+ install::gtk::init_gtk($o);
+ install::gtk::init_sizes($o);
+ install::gtk::install_theme($o);
+ install::gtk::create_steps_window($o);
+ _may_configure_framebuffer_640x480($o);
+
+ $ugtk3::grab = 1;
+
+ $o = (bless {}, ref($type) || $type)->SUPER::new($o);
+ $o->interactive::gtk::new;
+ gtkset_mousecursor_normal();
+ $o;
+}
+
+sub _setup_and_start_X {
+ my ($o, $wanted_DISPLAY) = @_;
+ my $f = "/tmp/Xconf";
+
+ #- /tmp is mostly tmpfs, but not fully, since it doesn't allow: mount --bind /tmp/.X11-unix /mnt/tmp/.X11-unix
+ mkdir '/tmp/.X11-unix';
+ run_program::run('mount', '-t', 'tmpfs', 'none', '/tmp/.X11-unix');
+
+
+ my @servers = qw(Driver:fbdev Driver:vesa); #-)
+ if ($::testing) {
+ @servers = 'Xnest';
+ } elsif (is_uefi()) {
+ @servers = 'Driver:fbdev';
+ } elsif (arch() =~ /i.86/) {
+ require Xconfig::card;
+ my ($card) = Xconfig::card::probe();
+ if ($card && $card->{card_name} eq 'i810') {
+ # early i810 do not support VESA:
+ log::l("graphical installer not supported on early i810");
+ undef @servers;
+ }
+ }
+
+ foreach (@servers) {
+ log::l("Trying with server $_");
+ my ($prog, $Driver) = /Driver:(.*)/ ? ('Xorg', $1) : $_;
+ if (/FB/i) {
+ !$o->{vga16} && $o->{allowFB} or next;
+
+ $o->{allowFB} = _launchX($o, $f, $prog, $Driver, $wanted_DISPLAY) #- keep in mind FB is used.
+ and return 1;
+ } else {
+ $o->{vga16} = 1 if /VGA16/;
+ _launchX($o, $f, $prog, $Driver, $wanted_DISPLAY) and return 1;
+ }
+ }
+ return undef;
+}
+
+sub _launchX {
+ my ($o, $f, $server, $Driver, $wanted_DISPLAY) = @_;
+
+ mkdir '/var/log' if !-d '/var/log';
+
+ my @options = $wanted_DISPLAY;
+ if ($server eq 'Xnest') {
+ push @options, '-ac', '-geometry', $o->{vga} || ($o->{vga16} ? '640x480' : '1024x768');
+ } else {
+ install::gtk::createXconf($f, $Driver);
+
+ push @options, '-allowMouseOpenFail', '-xf86config', $f;
+ push @options, 'vt7', '-dpi', '75';
+ push @options, '-nolisten', 'tcp';
+ }
+
+ if (!fork()) {
+ c::setsid();
+ exec $server, @options or c::_exit(1);
+ }
+
+ #- wait for the server to start
+ foreach (1..5) {
+ sleep 1;
+ last if fuzzy_pidofs(qr/\b$server\b/);
+ log::l("$server still not running, trying again");
+ }
+ my $nb;
+ my $start_time = time();
+ foreach (1..60) {
+ log::l("waiting for the server to start ($_ $nb)");
+ if (!fuzzy_pidofs(qr/\b$server\b/)) {
+ log::l("Server died");
+ log::l(any::header("Xorg.log"), cat_("/var/log/Xorg.0.log"));
+ return 0 if !fuzzy_pidofs(qr/\b$server\b/);
+ }
+ $nb++ if xf86misc::main::Xtest($wanted_DISPLAY);
+ if ($nb > 2) { #- one succeeded test is not enough :-(
+ log::l("AFAIK X server is up");
+ return 1;
+ }
+ time() - $start_time < 60 or last;
+ time() - $start_time > 8 and print N("Xorg server is slow to start. Please wait..."), "\n";
+ sleep 1;
+ }
+ log::l("Timeout!!");
+ log::l(any::header("Xorg.log"), cat_("/var/log/Xorg.0.log"));
+ 0;
+}
+
+#- if we success to start X in 640x480 using driver "vesa",
+#- we configure to use fb on installed system (to ensure splashy works)
+#- (useful on 800x480 netbooks)
+sub _may_configure_framebuffer_640x480 {
+ my ($o) = @_;
+
+ if ($::rootwidth == 640 && !$o->{allowFB}) {
+ $o->{vga} = 785;
+ $o->{allowFB} = 1;
+ }
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+
+ printf "Entering step `%s'\n", common::remove_translate_context($o->{steps}{$step}{text});
+ if (my $banner_title = $o->{steps}{$step}{banner_title}) {
+ set_default_step_items($banner_title);
+ }
+ $o->SUPER::enteringStep($step);
+ install::gtk::update_steps_position($o);
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ $o->SUPER::leavingStep($step);
+}
+
+
+sub charsetChanged {
+ my ($o) = @_;
+ c::init_setlocale();
+ install::gtk::load_font($o);
+ install::gtk::create_steps_window($o);
+}
+
+
+sub interactive_help_has_id {
+ my ($_o, $id) = @_;
+ exists $install::help::help::{$id};
+}
+
+sub interactive_help_get_id {
+ my ($_o, @l) = @_;
+ @l = map {
+ join("\n\n", map { s/\n/ /mg; $_ } split("\n\n", translate($install::help::help::{$_}->())));
+ } grep { exists $install::help::help::{$_} } @l;
+ join("\n\n\n", @l);
+}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+sub selectLanguage {
+ my ($o) = @_;
+ $o->SUPER::selectLanguage;
+
+ $o->ask_warn('',
+formatAlaTeX(N("Your system is low on resources. You may have some problem installing
+%s. If that occurs, you can try a text install instead. For this,
+press `F1' when booting on CDROM, then enter `text'.", N("Mageia")))) if availableRamMB() < 70; # 70MB
+
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($o, $force) = @_;
+ my %old = %{$o->{mouse}};
+ $o->SUPER::selectMouse($force) or return;
+ my $mouse = $o->{mouse};
+ $mouse->{type} eq 'none' ||
+ $old{type} eq $mouse->{type} &&
+ $old{name} eq $mouse->{name} &&
+ $old{device} eq $mouse->{device} and return;
+
+ while (1) {
+ my $x_protocol_changed = mouse::change_mouse_live($mouse, \%old);
+ mouse::test_mouse_install($mouse, $x_protocol_changed) and return;
+
+ %old = %$mouse;
+ $o->SUPER::selectMouse;
+ $mouse = $o->{mouse};
+ }
+}
+
+sub setPackages {
+ my ($o) = @_;
+ my (undef, $old_title) = get_default_step_items();
+ set_default_step_items(N("Media Selection") || $old_title);
+ install::any::setPackages($o);
+ set_default_step_items($old_title);
+}
+
+sub reallyChooseDesktop {
+ my ($o, $title, $message, $choices, $choice) = @_;
+
+ my $w = ugtk3->new($title);
+
+ my %tips = (
+ KDE => N("Install %s Plasma Desktop", N("Mageia")),
+ GNOME => N("Install %s GNOME Desktop", N("Mageia")),
+ Custom => N("Custom install"),
+ );
+ my $prev;
+ my @l = map {
+ my $val = $_;
+ $prev = gtknew('RadioButton', child =>
+ gtknew('Label', text => $val->[1]),
+ tip => $tips{$val->[0]},
+ toggled => sub { $choice = $val if $_[0]->get_active },
+ active => $choice == $val,
+ if_($prev, join => $prev));
+ $prev->signal_connect(key_press_event => sub {
+ my (undef, $event) = @_;
+ if (!$event || ($event->keyval & 0x7f) == 0xd) {
+ Gtk3->main_quit;
+ }
+ });
+ my $img = gtksignal_connect(
+ gtkadd(Gtk3::EventBox->new, gtknew('Image', file => "desktop-$val->[0]")),
+ 'button-press-event' => sub {
+ my %title = (
+ KDE => N("Plasma Desktop"),
+ GNOME => N("GNOME Desktop"),
+ Custom => N("Custom Desktop"),
+ );
+
+ my $wp = ugtk3->new($title{$val->[0]}, transient => $w->{real_window}, modal => 1);
+ gtkadd($wp->{rwindow},
+ gtknew('VBox', children => [
+ 0, gtknew('Title2', label => N("Here's a preview of the '%s' desktop.", $val->[1]),
+ # workaround infamous 6 years old gnome bug #101968:
+ width => mygtk3::get_label_width(),
+ ),
+ 1, gtknew('Image', file => "desktop-$val->[0]-big"),
+ 0, gtknew('HSeparator'),
+ 0, gtknew('HButtonBox', layout => 'end', children_loose => [
+ gtknew('Button', text => N("Close"), clicked => sub { Gtk3->main_quit })
+ ]),
+ ]),
+ );
+ $wp->{real_window}->set_size_request(-1, -1);
+ $wp->{real_window}->grab_focus;
+ $wp->{real_window}->show_all;
+ $wp->main;
+ });
+ gtknew('VBox', border_width => 15, spacing => 10, children_tight => [
+ $img,
+ $prev,
+ ]);
+ } @$choices;
+
+ ugtk3::gtkadd($w->{window},
+ gtknew('VBox', children => [
+ 0, gtknew('Title2',
+ # workaround infamous 6 years old gnome bug #101968:
+ width => mygtk3::get_label_width(), label => $message . ' ' .
+ N("Click on images in order to see a bigger preview")),
+ 1, gtknew('HButtonBox', children_loose => \@l),
+ 0, $w->create_okcancel(N("Next"), undef, '',
+ [ gtknew('Install_Button', text => N("Help"),
+ clicked => sub {
+ interactive::gtk::display_help($o, { interactive_help_id => 'chooseDesktop' });
+ }), undef, 1 ])
+ ]));
+ $w->main;
+
+ $choice;
+}
+
+sub reallyChooseGroups {
+ my ($o, $size_to_display, $individual, $_compssUsers) = @_;
+
+ my $w = ugtk3->new(N("Package Group Selection"));
+ my $w_size = gtknew('Label_Left', text => &$size_to_display, padding => [ 0, 0 ]);
+ my @entries;
+
+ my $entry = sub {
+ my ($e) = @_;
+
+ my $w = gtknew('CheckButton',
+ text => translate($e->{label}),
+ tip => translate($e->{descr}),
+ active_ref => \$e->{selected},
+ toggled => sub {
+ gtkset($w_size, text => &$size_to_display);
+ });
+ push @entries, $w;
+ $w;
+ };
+ #- when restarting this step, it might be necessary to reload the compssUsers.pl (bug 11558). kludgy.
+ if (!ref $o->{gtk_display_compssUsers}) { install::any::load_rate_files($o) }
+ ugtk3::gtkadd($w->{window},
+ gtknew('VBox', children => [
+ 1, gtknew('ScrolledWindow', child => $o->{gtk_display_compssUsers}->($entry)),
+ if_($individual,
+ 0, gtknew('CheckButton', text => N("Individual package selection"), active_ref => $individual),
+ ),
+ 0, $w_size,
+ 0, gtknew('HSeparator'),
+ 0, gtknew('HButtonBox', layout => 'edge', children_tight => [
+ gtknew('Install_Button', text => N("Help"), clicked => sub {
+ interactive::gtk::display_help($o, { interactive_help_id => 'choosePackageGroups' }) }),
+ gtknew('Button', text => N("Unselect All"), clicked => sub { $_->set_active(0) foreach @entries }),
+ gtknew('Button', text => N("Next"), clicked => sub { Gtk3->main_quit }),
+ ]),
+ ],
+ )
+ );
+ $w->main;
+ 1;
+}
+
+sub choosePackagesTree {
+ my ($o, $packages) = @_;
+
+ my $available = install::any::getAvailableSpace($o);
+ my $availableCorrected = install::pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
+
+ my $common;
+ $common = { get_status => sub {
+ my $size = install::pkgs::selectedSize($packages);
+ N("Total size: %d / %d MB", install::pkgs::correctSize($size / sqr(1024)), $available / sqr(1024));
+ },
+ node_state => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return;
+ !install::pkgs::packageMedium($packages, $p)->{ignore} or return;
+ $p->arch eq 'src' and return;
+ $p->flag_base and return 'base';
+ $p->flag_installed && !$p->flag_upgrade and return 'installed';
+ $p->flag_selected and return 'selected';
+ return 'unselected';
+ },
+ build_tree => sub {
+ my ($add_node, $flat) = @_;
+ if ($flat) {
+ foreach (sort map { $_->name }
+ grep { $_ && $_->arch ne 'src' }
+ @{$packages->{depslist}}) {
+ $add_node->($_, undef);
+ }
+ } else {
+ foreach my $root (@{$o->{compssUsers}}) {
+ my (@firstchoice, @others);
+ my %fl = map { ("CAT_$_" => 1) } @{$root->{flags}};
+ foreach my $p (@{$packages->{depslist}}) {
+ my @flags = $p->rflags;
+ next if !($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags);
+ $p->rate >= 3 ?
+ push(@firstchoice, $p->name) :
+ push(@others, $p->name);
+ }
+ my $root2 = translate($root->{path}) . '|' . translate($root->{label});
+ $add_node->($_, $root2) foreach sort @firstchoice;
+ $add_node->($_, $root2 . '|' . N("Other")) foreach sort @others;
+ }
+ }
+ },
+ get_info => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return '';
+ my $description = install::pkgs::get_pkg_info($p);
+
+ my $imp = translate($install::pkgs::compssListDesc{$p->flag_base ? 5 : $p->rate});
+
+ my $tag = { 'foreground' => 'royalblue3' };
+
+ [ [ N("Name: "), $tag ], [ $p->name . "\n" ],
+ [ N("Version: "), $tag ], [ $p->version . '-' . $p->release . "\n" ],
+ [ N("Size: "), $tag ], [ N("%d KB\n", $p->size / 1024) ],
+ if_($imp, [ N("Importance: "), $tag ], [ "$imp\n" ]),
+ [ "\n" ], [ formatLines($description) ] ];
+ },
+ toggle_nodes => sub {
+ my $set_state = shift @_;
+ my $isSelection = 0;
+ my %l = map { my $p = install::pkgs::packageByName($packages, $_);
+ $isSelection ||= !$p->flag_selected;
+ $p->id => 1 } @_;
+ my $state = $packages->{state} ||= {};
+ $packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
+ my @l = $isSelection ? $packages->resolve_requested($packages->{rpmdb}, $state, \%l,
+ no_recommends => $::o->{no_recommends},
+ callback_choices => \&install::pkgs::packageCallbackChoices) :
+ $packages->disable_selected($packages->{rpmdb}, $state,
+ map { $packages->{depslist}[$_] } keys %l);
+ my $size = install::pkgs::selectedSize($packages);
+ my $error;
+
+ if (!@l) {
+ #- no package can be selected or unselected.
+ my @ask_unselect = grep { $state->{rejected}{$_}{backtrack} &&
+ exists $l{$packages->search($_, strict_fullname => 1)->id} }
+ keys %{$state->{rejected} || {}};
+ #- extend to closure (to given more detailed and not absurd reason).
+ my %ask_unselect;
+ while (@ask_unselect > keys %ask_unselect) {
+ @ask_unselect{@ask_unselect} = ();
+ foreach (keys %ask_unselect) {
+ foreach (keys %{$state->{rejected}{$_}{backtrack}{closure} || {}}) {
+ next if exists $ask_unselect{$_};
+ push @ask_unselect, $_;
+ }
+ }
+ }
+ $error = [ N("You cannot select/unselect this package"),
+ formatList(20, map { my $rb = $state->{rejected}{$_}{backtrack};
+ my @froms = keys %{$rb->{closure} || {}};
+ my @unsatisfied = @{$rb->{unsatisfied} || []};
+ my $s = join ", ", ((map { N("due to missing %s", $_) } @froms),
+ (map { N("due to unsatisfied %s", $_) } @unsatisfied),
+ $rb->{promote} && !$rb->{keep} ? N("trying to promote %s", join(", ", @{$rb->{promote}})) : @{[]},
+ $rb->{keep} ? N("in order to keep %s", join(", ", @{$rb->{keep}})) : @{[]},
+ );
+ $_ . ($s ? " ($s)" : '');
+ } sort @ask_unselect) ];
+ } elsif (install::pkgs::correctSize($size / sqr(1024)) > $available / sqr(1024)) {
+ $error = N("You cannot select this package as there is not enough space left to install it");
+ } elsif (@l > @_ && $common->{state}{auto_deps}) {
+ $o->ask_okcancel(N("Confirmation"), [ $isSelection ?
+ N("The following packages are going to be installed") :
+ N("The following packages are going to be removed"),
+ formatList(20, sort(map { $_->name } @l)) ], 1) or $error = ''; #- defined
+ }
+ if (defined $error) {
+ $o->ask_warn('', $error) if $error;
+ #- disable selection (or unselection).
+ $packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
+ $isSelection ? $packages->disable_selected($packages->{rpmdb}, $state, @l) :
+ $packages->resolve_requested($packages->{rpmdb}, $state, { map { $_->id => 1 } @l },
+ no_recommends => $::o->{no_recommends});
+ } else {
+ #- keep the changes, update visible state.
+ foreach (@l) {
+ $set_state->($_->name, $_->flag_selected ? 'selected' : 'unselected');
+ }
+ }
+ },
+ grep_allowed_to_toggle => sub {
+ grep { my $p = install::pkgs::packageByName($packages, $_); $p && !$p->flag_base } @_;
+ },
+ grep_unselected => sub {
+ grep { !install::pkgs::packageByName($packages, $_)->flag_selected } @_;
+ },
+ check_interactive_to_toggle => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return;
+ if ($p->flag_base) {
+ $o->ask_warn('', N("This is a mandatory package, it cannot be unselected"));
+ } elsif ($p->flag_installed && !$p->flag_upgrade) {
+ $o->ask_warn('', N("You cannot unselect this package. It is already installed"));
+ } elsif ($p->flag_selected && $p->flag_installed) {
+ $o->ask_warn('', N("You cannot unselect this package. It must be upgraded"));
+ } else { return 1 }
+ return;
+ },
+ auto_deps => N("Show automatically selected packages"),
+ interactive_help => sub {
+ interactive::gtk::display_help($o, { interactive_help_id => 'choosePackagesTree' }) },
+
+ ok => N("Install"),
+ cancel => N("Previous"),
+ icons => [ { icon => 'floppy',
+ help => N("Load/Save selection"),
+ wait_message => N("Updating package selection"),
+ code => sub { $o->loadSavePackagesOnFloppy($packages); 1 },
+ },
+ { icon => 'reload',
+ help => N("Toggle between hierarchical and flat package list"),
+ wait_message => N("Updating package selection"),
+ code => sub { $common->{state}{flat} = !$common->{state}{flat}; 1 },
+ },
+ if_(0,
+ { icon => 'feather',
+ help => N("Minimal install"),
+ code => sub {
+
+ install::any::unselectMostPackages($o);
+ install::pkgs::setSelectedFromCompssList($packages, { SYSTEM => 1 }, $o->{compssListLevel}, $availableCorrected);
+ 1;
+ } }),
+ ],
+ state => {
+ auto_deps => 1,
+ },
+ };
+
+ $o->ask_browse_tree_info(N("Software Management"), N("Choose the packages you want to install"), $common);
+}
+
+#------------------------------------------------------------------------------
+sub beforeInstallPackages {
+ my ($o) = @_;
+ $o->SUPER::beforeInstallPackages;
+ install::any::copy_advertising($o);
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($o) = @_;
+
+ my ($current_total_size, $last_size, $nb, $total_size, $last_dtime, $_trans_progress_total);
+
+ local $::noborderWhenEmbedded = 1;
+ my $w = ugtk3->new(N("Installing"));
+ state $show_advertising;
+ my $show_release_notes;
+
+ my $pkg_log_widget = gtknew('TextView', editable => 0);
+ my ($advertising_image, $change_time, $i);
+ my $advertize = sub {
+ my ($update) = @_;
+
+ @install::any::advertising_images && $show_advertising && $update or return;
+
+ $change_time = time();
+ my $f = $install::any::advertising_images[$i++ % @install::any::advertising_images];
+ log::l("advertising $f");
+ eval { gtkval_modify(\$advertising_image, $f) };
+ if (my $err = $@) {
+ log::l("cannot load advertising image:\n" . formatError($err));
+ }
+
+ if (my $banner = $w->{window}{banner}) {
+ my ($title);
+ my $pl = $f; $pl =~ s/\.png$/.pl/;
+ eval(cat_($pl)) if -e $pl;
+ # FIXME: This hasn't actually worked for years:
+ #Gtk3::Banner::update_text($banner, $title);
+ }
+ };
+
+ my $cancel = gtknew('Button', text => N("Cancel"), clicked => sub { $install::pkgs::cancel_install = 1 });
+ my $details = gtknew('Button', text_ref => \$show_advertising,
+ format => sub { $show_advertising ? N("Details") : N("No details") },
+ clicked => sub {
+ gtkval_modify(\$show_advertising, !$show_advertising);
+ $pkg_log_widget->{to_bottom}->('force');
+ });
+
+ state $release_notes ||= any::get_release_notes($o);
+ my $rel_notes = gtknew('Button', text => N("Release Notes"),
+ clicked => sub { $show_release_notes = 1 });
+
+ ugtk3::gtkadd($w->{window}, my $box = gtknew('VBox', children_centered => [
+ gtknew('Image', file_ref => \$advertising_image, show_ref => \$show_advertising),
+ ]));
+
+ my $progress_total = 0;
+ $box->pack_end(gtkshow(gtknew('VBox', border_width => 7, spacing => 3, children_loose => [
+ gtknew('ScrolledWindow', child => $pkg_log_widget,
+ hide_ref => \$show_advertising, height => $::real_windowheight - 215, to_bottom => 1),
+ gtknew('ProgressBar', fraction_ref => \ (my $pkg_progress), hide_ref => \$show_advertising),
+ gtknew('HButtonBox', layout => 'start', children_loose => [
+ N("Time remaining:"),
+ gtknew('Label', text_ref => \ (my $msg_time_remaining = N("(estimating...)"))),
+ ]),
+ gtknew('VBox', children_centered => [ gtknew('ProgressBar', fraction_ref => \$progress_total, height => 25) ]),
+ gtknew('HSeparator'),
+ gtknew('HButtonBox', spacing => 0, layout => 'edge', children_loose => [
+ if_($release_notes, $rel_notes),
+ gtknew('HButtonBox', spacing => 5, layout => 'end',
+ children_loose => [ $cancel, $details ]),
+ ]),
+ ])), 0, 1, 0);
+
+ #- for the hide_ref & show_ref to work, we must set $show_advertising after packing
+ gtkval_modify(\$show_advertising,
+ defined $show_advertising ? $show_advertising : to_bool(@install::any::advertising_images));
+
+ $details->hide if !@install::any::advertising_images;
+ $w->sync;
+ $advertize->(0);
+
+ local *install::steps::installCallback = sub {
+ my ($packages, $type, $id, $subtype, $amount, $total) = @_;
+ if ($type eq 'user' && $subtype eq 'install') {
+ #- $amount and $total are used to return number of package and total size.
+ $nb = $amount;
+ $total_size = $total; $current_total_size = 0;
+ $o->{install_start_time} = 0;
+ mygtk3::gtkadd($pkg_log_widget, text => P("%d package", "%d packages", $nb, $nb));
+ $w->flush;
+ } elsif ($type eq 'open') {
+ $advertize->(1) if $show_advertising && $total_size > 20_000_000 && time() - $change_time > 20;
+
+ # display release notes if requested, when not chrooted:
+ if ($show_release_notes) {
+ undef $show_release_notes;
+ any::run_display_release_notes($release_notes);
+ $w->flush;
+ }
+ } elsif ($type eq 'inst' && $subtype eq 'start') {
+ gtkval_modify(\$pkg_progress, 0);
+ my $p = $packages->{depslist}[$id];
+ mygtk3::gtkadd($pkg_log_widget, text => sprintf("\n%s: %s", $p->name, translate($p->summary)));
+ $pkg_log_widget->{to_bottom}->('force');
+ $current_total_size += $last_size;
+ $last_size = $p->size;
+
+ $w->flush;
+ } elsif ($type eq 'inst' && $subtype eq 'progress') {
+ $o->{install_start_time} ||= time();
+ gtkval_modify(\$pkg_progress, $total ? $amount / $total : 0);
+
+ my $dtime = time() - $o->{install_start_time};
+ my $ratio =
+ $total_size == 0 ? 0 :
+ install::pkgs::size2time($current_total_size + $amount, $total_size) / install::pkgs::size2time($total_size, $total_size);
+ $ratio >= 1 and $ratio = 1;
+ my $total_time = $ratio ? $dtime / $ratio : time();
+
+ gtkval_modify(\$progress_total, $ratio);
+ if ($dtime != $last_dtime && $current_total_size > 80_000_000) {
+ gtkval_modify(\$msg_time_remaining, formatTime(10 * round(max($total_time - $dtime, 0) / 10) + 10));
+ $last_dtime = $dtime;
+ }
+ $w->flush;
+ }
+ };
+ my $install_result;
+ catch_cdie { $install_result = $o->install::steps::installPackages('interactive') }
+ sub {
+ my $rc = install::steps_interactive::installPackages__handle_error($o, $_[0]);
+ $rc or $w->destroy;
+ $rc;
+ };
+ if ($install::pkgs::cancel_install) {
+ $install::pkgs::cancel_install = 0;
+ die 'already displayed';
+ }
+ $w->destroy;
+ $install_result;
+}
+
+sub summary_prompt {
+ my ($o, $l, $check_complete) = @_;
+
+ my $w = ugtk3->new(N("Summary"));
+
+ my $set_entry_labels;
+ my (@table, @widget_list);
+ my ($group, $count);
+ foreach my $e (@$l) {
+ if ($group ne $e->{group}) {
+ push @widget_list, [ @table ] if @table;
+ @table = ();
+ push @widget_list, gtknew('HSeparator', height => 8) if $count;
+ $count++;
+ $group = $e->{group};
+ push @table, [ gtknew('HBox', children_tight => [
+ gtknew('Title1',
+ label => mygtk3::asteriskize(escape_text_for_TextView_markup_format($group))) ]), '' ];
+ }
+ $e->{widget} = gtknew('Label_Right', width => $::real_windowwidth * 0.72, alignment => [ 1, 1 ], line_wrap => 1, tip => $e->{tip});
+
+ push @table, [], [ gtknew('HBox', children_tight => [ $e->{widget}, gtknew('Alignment', width => 10) ]),
+ gtknew('Button', text => N("Configure"), clicked => sub {
+ $w->{rwindow}->hide;
+ my ($_old_icon, $old_title) = get_default_step_items();
+ set_default_step_items($e->{banner_title} || $old_title);
+ $e->{clicked}();
+ set_default_step_items($old_title);
+ $w->{rwindow}->show;
+ $set_entry_labels->();
+ }) ];
+ }
+ # add latest group:
+ push @widget_list, [ @table ] if @table;
+
+ $set_entry_labels = sub {
+ foreach (@$l) {
+ my $t;
+ if ($_->{val}) {
+ $t = $_->{val}() || '<span foreground="red">' . N("not configured") . '</span>';
+ $t =~ s/&/&amp;/g;
+ }
+ gtkset($_->{widget}, text_markup => $_->{label} . ($t ? " - $t" : ''));
+ }
+ };
+ $set_entry_labels->();
+
+ my $help_sub = sub { interactive::gtk::display_help($o, { interactive_help_id => 'misc-params' }) };
+
+ ugtk3::gtkadd($w->{window},
+ gtknew('VBox', spacing => 5, children => [
+ 1, gtknew('ScrolledWindow', h_policy => 'never',
+ child => gtknew('TextView',
+ text => [ [ gtknew('VBox', children_tight => [ map {
+ ref($_) eq 'ARRAY' ? gtknew('Table', mcc => 1, row_spacings => 2, children => $_) : $_;
+ } @widget_list ]) ] ])),
+ 0, $w->create_okcancel(undef, '', '', if_($help_sub, [ gtknew('Install_Button', text => N("Help"),
+ clicked => $help_sub), undef, 1 ]))
+ ]));
+
+ $w->{real_window}->show_all; # else widgets embedded in textview are hidden
+
+ $w->main($check_complete);
+}
+
+#- group by CD
+sub ask_deselect_media__copy_on_disk {
+ my ($o, $hdlists, $o_copy_rpms_on_disk) = @_;
+
+ my @names = uniq(map { $_->{name} } @$hdlists);
+ my %selection = map { $_->{name} => !$_->{ignore} } @$hdlists;
+
+ if (@names > 1 || $o_copy_rpms_on_disk) {
+ my $w = ugtk3->new(N("Media Selection"));
+ $w->sync;
+ ugtk3::gtkadd(
+ $w->{window},
+ gtknew('VBox', children => [
+ @names > 1 ? (
+ 0, gtknew('Label_Left', padding => [ 0, 0 ],
+ # workaround infamous 6 years old gnome bug #101968:
+ width => mygtk3::get_label_width(),
+ text => formatAlaTeX(N("The following installation media have been found.
+If you want to skip some of them, you can unselect them now."))),
+ 1, gtknew('ScrolledWindow', child => gtknew('VBox', children => [
+ map {
+ my $b = gtknew('CheckButton', text => $_, active_ref => \$selection{$_});
+ $b->set_sensitive(0) if $_ eq $names[0];
+ (0, $b);
+ } @names
+ ])),
+ if_(@names <= 8, 1, ''),
+ 0, gtknew('HSeparator'),
+ ) : (),
+ if_($o_copy_rpms_on_disk,
+ 0, gtknew('Label_Left', padding => [ 0, 0 ],
+ # workaround infamous 6 years old gnome bug #101968:
+ width => mygtk3::get_label_width(),
+ text => N("You have the option to copy the contents of the CDs onto the hard disk drive before installation.
+It will then continue from the hard disk drive and the packages will remain available once the system is fully installed.")),
+ 0, gtknew('CheckButton', text => N("Copy whole CDs"), active_ref => $o_copy_rpms_on_disk),
+ 1, gtknew('Alignment'),
+ 0, gtknew('HSeparator'),
+ ),
+ 0, gtknew('HButtonBox', layout => 'edge', children_tight => [
+ gtknew('Install_Button', text => N("Help"), clicked => sub {
+ interactive::gtk::display_help($o, { interactive_help_id => 'choosePackagesTree' }) }),
+ gtknew('Button', text => N("Next"), clicked => sub { Gtk3->main_quit }),
+ ]),
+ ]),
+ );
+ $w->main;
+ }
+ $_->{ignore} = !$selection{$_->{name}} foreach @$hdlists;
+ log::l("keeping media " . join ',', map { $_->{rpmsdir} } grep { !$_->{ignore} } @$hdlists);
+}
+
+
+1;
diff --git a/perl-install/install/steps_interactive.pm b/perl-install/install/steps_interactive.pm
new file mode 100644
index 000000000..55985e01a
--- /dev/null
+++ b/perl-install/install/steps_interactive.pm
@@ -0,0 +1,1158 @@
+package install::steps_interactive;
+
+
+use strict;
+use feature 'state';
+
+our @ISA = qw(install::steps);
+
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use partition_table;
+use fs::type;
+use fs::partitioning;
+use fs::partitioning_wizard;
+use install::steps;
+use install::interactive;
+use install::any;
+use messages;
+use detect_devices;
+use run_program;
+use devices;
+use fsedit;
+use mouse;
+use modules;
+use modules::interactive;
+use lang;
+use keyboard;
+use any;
+use log;
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub errorInStep {
+ my ($o, $err) = @_;
+ $err = ugtk3::escape_text_for_TextView_markup_format($err) if $o->isa('install::steps_gtk');
+ $o->ask_warn(N("Error"), [ N("An error occurred"), formatError($err) ]);
+}
+
+sub kill_action {
+ my ($o) = @_;
+ $o->kill;
+}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+#------------------------------------------------------------------------------
+
+sub acceptLicense {
+ my ($o) = @_;
+ return if $o->{useless_thing_accepted};
+
+ any::acceptLicense($o);
+}
+
+sub selectLanguage {
+ my ($o) = @_;
+
+ any::selectLanguage_install($o, $o->{locale});
+ install::steps::selectLanguage($o);
+
+ if ($o->isa('interactive::gtk')) {
+ $o->ask_warn('', formatAlaTeX(
+"If you see this message it is because you chose a language for
+which DrakX does not include a translation yet; however the fact
+that it is listed means there is some support for it anyway.
+
+That is, once GNU/Linux will be installed, you will be able to at
+least read and write in that language; and possibly more (various
+fonts, spell checkers, various programs translated etc. that
+varies from language to language).")) if $o->{locale}{lang} !~ /^en/ && !lang::load_mo();
+ } else {
+ #- no need to have this in po since it is never translated
+ $o->ask_warn('', "The characters of your language cannot be displayed in console,
+so the messages will be displayed in english during installation") if $ENV{LANGUAGE} eq 'C';
+ }
+}
+
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($o, $clicked) = @_;
+
+ my $from_usb = keyboard::from_usb();
+ my $l = keyboard::lang2keyboards(lang::langs($o->{locale}{langs}));
+
+ if ($clicked || !($from_usb || @$l && $l->[0][1] >= 90) || listlength(lang::langs($o->{locale}{langs})) > 1) {
+ add2hash($o->{keyboard}, $from_usb);
+ my @best = uniq(grep { $_ } $from_usb && $from_usb->{KEYBOARD}, $o->{keyboard}{KEYBOARD},
+ map { $_->[0] } @$l);
+ @best = () if @best == 1;
+
+ my $format = sub { translate(keyboard::KEYBOARD2text($_[0])) };
+ my $other;
+ my $ext_keyboard = my $KEYBOARD = $o->{keyboard}{KEYBOARD};
+ $o->ask_from_(
+ { title => N("Keyboard"),
+ interactive_help_id => 'selectKeyboard',
+ advanced_label => N("More"),
+ },
+ [
+ { label => N("Please choose your keyboard layout"), title => 1 },
+ if_(@best, { val => \$KEYBOARD, type => 'list', format => $format, sort => 1,
+ list => [ @best ], changed => sub { $other = 0 } }),
+ if_(@best,
+ { label => N("Here is the full list of available keyboards:"), title => 1, advanced => 1 }),
+ { val => \$ext_keyboard, type => 'list', format => $format, changed => sub { $other = 1 },
+ list => [ difference2([ keyboard::KEYBOARDs() ], \@best) ], advanced => @best > 1 }
+ ]);
+ $o->{keyboard}{KEYBOARD} = !@best || $other ? $ext_keyboard : $KEYBOARD;
+ delete $o->{keyboard}{unsafe};
+ }
+ keyboard::group_toggle_choose($o, $o->{keyboard}) or goto &selectKeyboard;
+ install::steps::selectKeyboard($o);
+ if ($::isRestore) {
+ require MDV::Snapshot::Restore;
+ MDV::Snapshot::Restore::main($o);
+ $o->exit;
+ }
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($o) = @_;
+
+ return if $::isRestore;
+
+ my @l = install::any::find_root_parts($o->{fstab}, $::prefix);
+ # Don't list other archs as ugrading between archs is not supported
+ my $arch = arch() =~ /i.86/ ? $MDK::Common::System::compat_arch{arch()} : arch();
+ # Offer to upgrade only same arch and not mdv-2011+:
+ @l = grep { $_->{arch} eq $arch && $_->{version} !~ /201[1-9]/ } @l;
+ if (@l) {
+ _try_to_upgrade($o, @l);
+ }
+}
+
+sub _try_to_upgrade {
+ my ($o, @l) = @_;
+ log::l("proposing to upgrade partitions " . join(" ", map { $_->{part} && $_->{part}{device} } @l));
+
+ my @releases = uniq(map { "$_->{release} $_->{version}" } @l);
+ if (@releases != @l) {
+ #- same release name so adding the device to differentiate them:
+ $_->{release} .= " ($_->{part}{device})" foreach @l;
+ }
+
+ askInstallClass:
+ my $p;
+ $o->ask_from_({ title => N("Install/Upgrade"),
+ interactive_help_id => 'selectInstallClass',
+ },
+ [
+ { label => N("Is this an install or an upgrade?"), title => 1 },
+ { val => \$p,
+ list => [ @l, N_("_: This is a noun:\nInstall") ],
+ type => 'list',
+ format => sub { ref($_[0]) ? N("Upgrade %s", "$_[0]->{release} $_[0]->{version}") : translate($_[0]) }
+ } ]);
+ if (ref $p) {
+ _check_unsafe_upgrade_and_warn($o, $p->{part}) or $p = undef;
+ }
+
+ if (ref $p) {
+ _prepare_upgrade($o, $p);
+ }
+}
+
+sub _prepare_upgrade {
+ my ($o, $p) = @_;
+ if ($p->{part}) {
+ log::l("choosing to upgrade partition $p->{part}{device}");
+ $o->{migrate_device_names} = install::any::use_root_part($o->{all_hds}, $p->{part}, $o);
+ }
+
+ #- handle encrypted partitions (esp. /home)
+ foreach (grep { $_->{mntpoint} } @{$o->{fstab}}) {
+ my ($options, $_unknown) = fs::mount_options::unpack($_);
+ $options->{encrypted} or next;
+ $o->ask_from_({ focus_first => 1 },
+ [ { label => N("Encryption key for %s", $_->{mntpoint}),
+ hidden => 1, val => \$_->{encrypt_key} } ]);
+ }
+
+ $o->{previous_release} = $p;
+ $o->{isUpgrade} = (find { $p->{release_file} =~ /$_/ } 'mageia', 'mandriva', 'mandrake', 'conectiva', 'redhat') || 'unknown';
+ $o->{upgrade_by_removing_pkgs_matching} ||= {
+ conectiva => 'cl',
+ redhat => '.', #- everything!
+ }->{$o->{isUpgrade}};
+ log::l("upgrading $o->{isUpgrade} distribution" . ($o->{upgrade_by_removing_pkgs_matching} ? " (upgrade_by_removing_pkgs_matching $o->{upgrade_by_removing_pkgs_matching})" : ''));
+}
+
+sub _check_unsafe_upgrade_and_warn {
+ my ($o, $part) = @_;
+ !_is_unsafe_upgrade($part) || _warn_unsafe_upgrade($o);
+}
+
+sub _is_unsafe_upgrade {
+ my ($part) = @_;
+
+ my $r = run_program::get_stdout('dumpe2fs', devices::make($part->{device}));
+ my $block_size = $r =~ /^Block size:\s*(\d+)/m && $1;
+ log::l("block_size $block_size");
+ $block_size == 1024;
+}
+
+sub _warn_unsafe_upgrade {
+ my ($o) = @_;
+
+ log::l("_warn_unsafe_upgrade");
+
+ my @choices = (
+ N_("Cancel installation, reboot system"),
+ N_("New Installation"),
+ N_("Upgrade previous installation (not recommended)"),
+ );
+
+ my $choice;
+ $o->ask_from_({ messages => N("Installer has detected that your installed Linux system could not
+safely be upgraded to %s.
+
+New installation replacing your previous one is recommended.
+
+Warning : you should backup all your personal data before choosing \"New
+Installation\".", '%s') },
+ [ { val => \$choice, type => 'list', list => \@choices, format => \&translate } ]);
+
+ log::l("_warn_unsafe_upgrade: got $choice");
+
+ if ($choice eq $choices[0]) {
+ any::reboot();
+ } elsif ($choice eq $choices[1]) {
+ undef;
+ } else {
+ 1;
+ }
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($o, $force) = @_;
+
+ $force || $o->{mouse}{unsafe} or return;
+
+ mouse::select($o, $o->{mouse}) or return;
+
+ if ($o->{mouse}{device} eq "input/mice") {
+ modules::interactive::load_category($o, $o->{modules_conf}, 'bus/usb', 1, 0);
+ eval {
+ modules::load('usbhid');
+ };
+ }
+}
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($o) = @_;
+
+ install::any::configure_pcmcia($o);
+ {
+ my $_w = $o->wait_message(N("CD/DVD"), N("Configuring CD/DVD"));
+ modules::load(modules::category2modules('disk/cdrom'));
+ }
+ modules::interactive::load_category($o, $o->{modules_conf}, 'bus/firewire', 1);
+
+ my $have_non_scsi = detect_devices::hds(); #- at_least_one scsi device if we have no disks
+ modules::interactive::load_category($o, $o->{modules_conf}, 'disk/card_reader|ide|scsi|hardware_raid|sata|firewire|virtual', 1, !$have_non_scsi);
+ modules::interactive::load_category($o, $o->{modules_conf}, 'disk/card_reader|ide|scsi|hardware_raid|sata|firewire|virtual') if !detect_devices::hds(); #- we really want a disk!
+
+ install::interactive::tellAboutProprietaryModules($o);
+
+ install::any::getHds($o, $o);
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($o) = @_;
+
+ if (!$o->{isUpgrade}) {
+ fs::partitioning_wizard::main($o, $o->{all_hds}, $o->{fstab}, $o->{manualFstab}, $o->{partitions}, $o->{partitioning}, $::local_install);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub rebootNeeded {
+ my ($o) = @_;
+ fs::partitioning_wizard::warn_reboot_needed($o);
+ install::steps::rebootNeeded($o);
+}
+
+#------------------------------------------------------------------------------
+sub choosePartitionsToFormat {
+ my ($o) = @_;
+ fs::partitioning::choose_partitions_to_format($o, $o->{fstab});
+}
+
+sub formatMountPartitions {
+ my ($o, $_fstab) = @_;
+ fs::partitioning::format_mount_partitions($o, $o->{all_hds}, $o->{fstab});
+}
+
+#------------------------------------------------------------------------------
+#- group by CD
+sub ask_deselect_media__copy_on_disk {
+ my ($o, $hdlists, $o_copy_rpms_on_disk) = @_;
+
+ log::l("ask_deselect_media__copy_on_disk");
+
+ my @names = uniq(map { $_->{name} } @$hdlists);
+ my %selection = map { $_ => 1 } @names;
+
+ $o->ask_from_({ messages => formatAlaTeX(N("The following installation media have been found.
+If you want to skip some of them, you can unselect them now.")) },
+ [ (map { { type => 'bool', text => $_, val => \$selection{$_},
+ if_($_ eq $names[0], disabled => sub { 1 }),
+ } } @names),
+ if_($o_copy_rpms_on_disk,
+ { type => 'label', val => \(formatAlaTeX(N("You have the option to copy the contents of the CDs onto the hard disk drive before installation.
+It will then continue from the hard disk drive and the packages will remain available once the system is fully installed."))) },
+ { type => 'bool', text => N("Copy whole CDs"), val => $o_copy_rpms_on_disk },
+ ),
+ ]);
+ $_->{ignore} = !$selection{$_->{name}} foreach @$hdlists;
+ log::l("keeping media " . join ',', map { $_->{rpmsdir} } grep { !$_->{ignore} } @$hdlists);
+}
+
+sub while_suspending_time {
+ my ($o, $f) = @_;
+
+ my $time = time();
+
+ my $r = $f->();
+
+ #- add the elapsed time (otherwise the predicted time will be rubbish)
+ $o->{install_start_time} += time() - $time;
+
+ $r;
+}
+
+# nb: $file can be a directory
+sub ask_change_cd {
+ my ($o, $medium) = @_;
+
+ while_suspending_time($o, sub { ask_change_cd_($o, $medium) });
+}
+
+sub ask_change_cd_ {
+ my ($o, $medium) = @_;
+
+ local $::isWizard = 0; # make button name match text, aka being "cancel" rather than "previous"
+ $o->ask_okcancel('', N("Change your Cd-Rom!
+Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when done.
+If you do not have it, press Cancel to avoid installation from this Cd-Rom.", $medium), 1) or return;
+
+}
+
+sub selectSupplMedia {
+ my ($o) = @_;
+ install::any::selectSupplMedia($o);
+}
+
+#------------------------------------------------------------------------------
+sub choosePackages {
+ my ($o) = @_;
+
+ require pkgs;
+ add2hash_($o, { compssListLevel => pkgs::rpmsrate_rate_default() });
+
+ my $w = $o->wait_message('', N("Looking for available packages..."));
+ my $availableC = install::steps::choosePackages($o, pkgs::rpmsrate_rate_max());
+
+ require install::pkgs;
+
+ my $min_size = install::pkgs::selectedSize($o->{packages});
+ undef $w;
+ if ($min_size >= $availableC) {
+ my $msg = N("Your system does not have enough space left for installation or upgrade (%dMB > %dMB)",
+ $min_size / sqr(1024), $availableC / sqr(1024));
+ log::l($msg);
+ $o->ask_warn('', $msg);
+ install::steps::rebootNeeded($o);
+ }
+
+ my ($individual, $chooseGroups);
+
+ if (!$o->{isUpgrade}) {
+ my $tasks_ok = install::pkgs::packageByName($o->{packages}, 'task-plasma-minimal') &&
+ install::pkgs::packageByName($o->{packages}, 'task-gnome-minimal');
+ if ($tasks_ok && $availableC >= 2_500_000_000) {
+ _chooseDesktop($o, $o->{rpmsrate_flags_chosen}, \$chooseGroups);
+ } else {
+ $tasks_ok ? log::l("not asking for desktop since not enough place") :
+ log::l("not asking for desktop since kde and gnome are not available on media (useful for mini iso)");
+ $chooseGroups = 1;
+ }
+ }
+
+ chooseGroups:
+ $o->chooseGroups($o->{packages}, $o->{compssUsers}, \$individual) if $chooseGroups;
+
+ ($o->{packages_}{ind}) =
+ install::pkgs::setSelectedFromCompssList($o->{packages}, $o->{rpmsrate_flags_chosen}, $o->{compssListLevel}, $availableC);
+
+ $o->choosePackagesTree($o->{packages}) or goto chooseGroups if $individual;
+
+ install::any::warnAboutRemovedPackages($o, $o->{packages});
+}
+
+sub choosePackagesTree {
+ my ($o, $packages, $o_limit_to_medium) = @_;
+
+ $o->ask_many_from_list('', N("Choose the packages you want to install"),
+ {
+ list => [ grep { !$o_limit_to_medium || install::pkgs::packageMedium($packages, $_) == $o_limit_to_medium }
+ @{$packages->{depslist}} ],
+ value => \&URPM::Package::flag_selected,
+ label => \&URPM::Package::name,
+ sort => 1,
+ });
+}
+
+sub loadSavePackagesOnFloppy {
+ my ($o, $packages) = @_;
+ $o->ask_from('',
+N("Please choose load or save package selection.
+The format is the same as auto_install generated files."),
+ [ { val => \ (my $choice), list => [ N_("Load"), N_("Save") ], format => \&translate, type => 'list' } ]) or return;
+
+ if ($choice eq 'Load') {
+ while (1) {
+ log::l("load package selection");
+ my ($_h, $fh) = install::any::media_browser($o, '', 'package_list.pl') or return;
+ my $O = eval { install::any::loadO(undef, $fh) };
+ if ($@) {
+ $o->ask_okcancel('', N("Bad file")) or return;
+ } else {
+ install::any::unselectMostPackages($o);
+ install::pkgs::select_by_package_names($packages, $O->{default_packages} || []);
+ return 1;
+ }
+ }
+ } else {
+ log::l("save package selection");
+ install::any::g_default_packages($o);
+ }
+}
+
+sub _chooseDesktop {
+ my ($o, $rpmsrate_flags_chosen, $chooseGroups) = @_;
+
+ my @l = group_by2(
+ PLASMA => N("Plasma"),
+ GNOME => N("GNOME"),
+ Custom => N("Custom"),
+ );
+ my $title = N("Desktop Selection");
+ my $message = N("You can choose your workstation desktop profile.");
+
+ my $default_choice = (find { $rpmsrate_flags_chosen->{"CAT_" . $_->[0]} } @l) || $l[0];
+ my $choice = $default_choice;
+ if ($o->isa('interactive::gtk')) {
+ # perl_checker: require install::steps_gtk
+ $choice = install::steps_gtk::reallyChooseDesktop($o, $title, $message, \@l, $default_choice);
+ } else {
+ $o->ask_from_({ title => $title, message => $message }, [
+ { val => \$choice, list => \@l, type => 'list', format => sub { $_[0][1] } },
+ ]);
+ }
+ my $desktop = $choice->[0];
+ log::l("chosen Desktop: $desktop");
+ my @desktops = ('PLASMA', 'GNOME');
+ if (member($desktop, @desktops)) {
+ my ($want, $dontwant) = ($desktop, grep { $desktop ne $_ } @desktops);
+ $rpmsrate_flags_chosen->{"CAT_$want"} = 1;
+ $rpmsrate_flags_chosen->{"CAT_$dontwant"} = 0;
+ my @flags = map_each { if_($::b, $::a) } %$rpmsrate_flags_chosen;
+ log::l("flags ", join(' ', sort @flags));
+ install::any::unselectMostPackages($o);
+ } else {
+ $$chooseGroups = 1;
+ }
+}
+
+sub chooseGroups {
+ my ($o, $packages, $compssUsers, $individual) = @_;
+
+ my $w = $o->wait_message('', N("Looking for available packages..."));
+
+ #- for all groups available, determine package which belongs to each one.
+ #- this will enable getting the size of each groups more quickly due to
+ #- limitation of current implementation.
+ #- use an empty state for each one (no flag update should be propagated).
+
+ my $b = install::pkgs::saveSelected($packages);
+ install::any::unselectMostPackages($o);
+ install::pkgs::setSelectedFromCompssList($packages, { CAT_SYSTEM => 1 }, $o->{compssListLevel}, 0);
+ my $system_size = install::pkgs::selectedSize($packages);
+ my ($sizes, $pkgs) = install::pkgs::computeGroupSize($packages, $o->{compssListLevel});
+ install::pkgs::restoreSelected($b);
+ log::l("system_size: $system_size");
+
+ my %stable_flags = grep_each { $::b } %{$o->{rpmsrate_flags_chosen}};
+ delete $stable_flags{"CAT_$_"} foreach map { @{$_->{flags}} } @{$o->{compssUsers}};
+
+ undef $w;
+
+ my $compute_size = sub {
+ my %pkgs;
+ my %flags = %stable_flags; @flags{@_} = ();
+ my $total_size;
+ A: while (my ($k, $size) = each %$sizes) {
+ Or: foreach (split "\t", $k) {
+ foreach (split "&&") {
+ exists $flags{$_} or next Or;
+ }
+ $total_size += $size;
+ $pkgs{$_} = 1 foreach @{$pkgs->{$k}};
+ next A;
+ }
+ }
+ log::l("computed size $total_size (flags " . join(' ', keys %flags) . ")");
+ log::l("chooseGroups: ", join(" ", sort keys %pkgs));
+
+ int $total_size;
+ };
+
+ my ($size, $unselect_all);
+ my $available_size = install::any::getAvailableSpace($o) / sqr(1024);
+ my $size_to_display = sub {
+ my $lsize = $system_size + $compute_size->(map { "CAT_$_" } map { @{$_->{flags}} } grep { $_->{selected} } @$compssUsers);
+
+ #- if a profile is deselected, deselect everything (easier than deselecting the profile packages)
+ $unselect_all ||= $size > $lsize;
+ $size = $lsize;
+ N("Total size: %d / %d MB", install::pkgs::correctSize($size / sqr(1024)), $available_size);
+ };
+
+ while (1) {
+ if ($available_size < 200) {
+ # too small to choose anything. Defaulting to no group chosen
+ $_->{selected} = 0 foreach @$compssUsers;
+ last;
+ }
+
+ $o->reallyChooseGroups($size_to_display, $individual, $compssUsers) or return;
+
+ last if $::testing || install::pkgs::correctSize($size / sqr(1024)) < $available_size || every { !$_->{selected} } @$compssUsers;
+
+ $o->ask_warn('', N("Selected size is larger than available space"));
+ }
+ install::any::set_rpmsrate_category_flags($o, $compssUsers);
+
+ log::l("compssUsersChoice selected: ", join(', ', map { qq("$_->{path}|$_->{label}") } grep { $_->{selected} } @$compssUsers));
+
+ if (!$o->{isUpgrade}) {
+ #- do not try to deselect package (by default no groups are selected).
+ install::any::unselectMostPackages($o) if $unselect_all;
+
+ #- if no group have been chosen, ask for using base system only, or no X, or normal.
+ if (!any { $_->{selected} } @$compssUsers) {
+ offer_minimal_options($o) or goto &chooseGroups;
+ }
+ }
+ 1;
+}
+
+sub offer_minimal_options {
+ my ($o) = @_;
+ my $docs = !$o->{excludedocs};
+ state $minimal;
+ my $recommends = !$o->{no_recommends};
+
+ $o->ask_from_({ title => N("Type of install"),
+ message => N("You have not selected any group of packages.
+Please choose the minimal installation you want:"),
+ interactive_help_id => 'minimal-install'
+ },
+ [
+ { val => \$o->{rpmsrate_flags_chosen}{CAT_X}, type => 'bool', text => N("With X"), disabled => sub { $minimal } },
+ { val => \$recommends, type => 'bool', text => N("Install recommended packages"), disabled => sub { $minimal } },
+ { val => \$docs, type => 'bool', text => N("With basic documentation (recommended!)"), disabled => sub { $minimal } },
+ { val => \$minimal, type => 'bool', text => N("Truly minimal install (especially no urpmi)") },
+ ],
+ ) or return 0;
+
+ if ($minimal) {
+ $o->{rpmsrate_flags_chosen}{CAT_X} = $docs = $recommends = 0;
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 0;
+ }
+ $o->{excludedocs} = !$docs;
+ $o->{rpmsrate_flags_chosen}{CAT_MINIMAL_DOCS} = $docs;
+ $o->{no_recommends} = !$recommends;
+ $o->{compssListLevel} = pkgs::rpmsrate_rate_max() if !$recommends;
+ log::l("install settings: no_recommends=$o->{no_recommends}, excludedocs=$o->{excludedocs}, really_minimal_install=$minimal");
+
+ install::any::unselectMostPackages($o);
+ 1;
+}
+
+sub reallyChooseGroups {
+ my ($o, $size_to_display, $individual, $compssUsers) = @_;
+
+ my $size_text = &$size_to_display;
+
+ my ($path, $all);
+ $o->ask_from_({ messages => N("Package Group Selection"),
+ interactive_help_id => 'choosePackageGroups',
+ }, [
+ { val => \$size_text, type => 'label' }, {},
+ (map {
+ my $old = $path;
+ $path = $_->{path};
+ if_($old ne $path, { val => translate($path) }),
+ {
+ val => \$_->{selected},
+ type => 'bool',
+ disabled => sub { $all },
+ text => translate($_->{label}),
+ help => translate($_->{descr}),
+ changed => sub { $size_text = &$size_to_display },
+ };
+ } @$compssUsers),
+ if_($individual, { text => N("Individual package selection"), val => $individual, advanced => 1, type => 'bool' }),
+ ]);
+
+ if ($all) {
+ $_->{selected} = 1 foreach @$compssUsers;
+ }
+ 1;
+}
+
+sub beforeInstallPackages {
+ my ($o) = @_;
+ my $_w = $o->{isUpgrade} && $o->wait_message('', N("Preparing upgrade..."));
+ $o->SUPER::beforeInstallPackages;
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($o) = @_;
+ my ($current, $total) = (0, 0);
+
+ my ($_w, $wait_message) = $o->wait_message_with_progress_bar(N("Installing"));
+ $wait_message->(N("Preparing installation"), 0, 100); #- beware, interactive::curses::wait_message_with_progress_bar need to create the Dialog::Progress here because in installCallback we are chrooted
+
+ local *install::steps::installCallback = sub {
+ my ($packages, $type, $id, $subtype, $_amount, $total_) = @_;
+ if ($type eq 'user' && $subtype eq 'install') {
+ $total = $total_;
+ } elsif ($type eq 'inst' && $subtype eq 'start') {
+ my $p = $packages->{depslist}[$id];
+ $wait_message->(N("Installing package %s", $p->name), $current, $total);
+ $current += $p->size;
+ }
+ };
+
+ my $install_result;
+ catch_cdie { $install_result = $o->install::steps::installPackages('interactive') }
+ sub { installPackages__handle_error($o, $_[0]) };
+
+ if ($install::pkgs::cancel_install) {
+ $install::pkgs::cancel_install = 0;
+ die "setstep choosePackages\n";
+ }
+ $install_result;
+}
+
+sub installPackages__handle_error {
+ my ($o, $err_ref) = @_;
+
+ log::l("catch_cdie: $$err_ref");
+ my $time = time();
+ my $go_on;
+ if ($$err_ref =~ /^error ordering package list: (.*)/) {
+ $go_on = $o->ask_yesorno('', [
+ N("There was an error ordering packages:"), $1, N("Go on anyway?") ], 1);
+ } elsif ($$err_ref =~ /^error installing package list: (\S+)\s*(.*)/) {
+ my ($pkg_name, $medium_name) = ($1, $2);
+ my @choices = (
+ [ 'retry', N("Retry") ],
+ [ 'skip_one', N("Skip this package") ],
+ [ 'disable_media', N("Skip all packages from medium \"%s\"", $medium_name) ],
+ [ '', N("Go back to media and packages selection") ],
+ );
+ my $choice;
+ $o->ask_from_({ messages => N("There was an error installing package %s.", $pkg_name) },
+ [ { val => \$choice, type => 'list', list => \@choices, format => sub { $_[0][1] } } ]);
+ $go_on = $choice->[0];
+ }
+ if ($go_on) {
+ #- add the elapsed time (otherwise the predicted time will be rubbish)
+ $o->{install_start_time} += time() - $time;
+ $go_on;
+ } else {
+ $o->{askmedia} = 1;
+ $$err_ref = "already displayed";
+ 0;
+ }
+}
+
+
+sub afterInstallPackages($) {
+ my ($o) = @_;
+ local $o->{pop_wait_messages} = 1;
+ my $_w = $o->wait_message(N("Post-install configuration"), N("Post-install configuration"));
+ $o->SUPER::afterInstallPackages;
+}
+
+sub updatemodules {
+ my ($o, $dev, $rel_dir) = @_;
+
+ $o->ask_okcancel('', N("Please ensure the Update Modules media is in drive %s", $dev), 1) or return;
+ $o->SUPER::updatemodules($dev, $rel_dir);
+}
+
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($o) = @_;
+ #- don't overwrite configuration in a network install
+ if (!install::any::is_network_install($o)) {
+ require network::network;
+ network::network::easy_dhcp($o->{net}, $o->{modules_conf});
+ }
+ $o->SUPER::configureNetwork;
+}
+
+#------------------------------------------------------------------------------
+sub installUpdates {
+ my ($o) = @_;
+ $o->{updates} ||= {};
+
+ $o->hasNetwork or return;
+
+ if (install::any::is_network_install($o) &&
+ find { $_->{update} } install::media::allMediums($o->{packages})) {
+ log::l("installUpdates: skipping since updates were already available during install");
+ return;
+ }
+
+ $o->ask_yesorno_({ title => N("Updates"), messages => formatAlaTeX(
+N("You now have the opportunity to setup online media.") . "\n\n" .
+N("This allows to install security updates.") . "\n\n" .
+N("To setup those media, you will need to have a working Internet
+connection.
+
+Do you want to setup the update media?")),
+ interactive_help_id => 'installUpdates',
+ }, 1) or do {
+ log::l("installUpdates: skipping since user say no to media setup");
+ return;
+ };
+
+ my $urpmi_options = { mirror_url => '$MIRRORLIST', downloader => $o->{options}{downloader} };
+
+ try_again:
+ #- bring all interface up for installing updates packages.
+ install::interactive::upNetwork($o);
+
+ any::ask_mirror_and_downloader($o, $urpmi_options);
+
+ if (!any::urpmi_set_downloader($o, $o->{packages}, $urpmi_options->{downloader})) {
+ log::l("installUpdates: failed to change urpmi downloader");
+ local $::isWizard = 0; # make button names "ok" and "cancel", not "next" and "previous"
+ if ($o->ask_okcancel(N("Warning"),
+ N("That downloader could not be installed") . "\n" . N("Retry?"))) {
+ goto try_again;
+ } else {
+ return 0;
+ }
+ }
+
+ if ($urpmi_options->{mirror_url} ne '$MIRRORLIST') {
+ $urpmi_options->{mirror_url} = any::ask_mirror($o, 'distrib', $urpmi_options->{mirror_url});
+ }
+
+ install::pkgs::clean_rpmdb_shared_regions();
+ if (any::urpmi_add_all_media($o, $o->{previous_release}, $urpmi_options->{mirror_url})) {
+ log::l("installUpdates: successfully added media");
+ } else {
+ log::l("installUpdates: failed to add media");
+ local $::isWizard = 0; # make button names "ok" and "cancel", not "next" and "previous"
+ if ($o->ask_okcancel(N("Warning"),
+ N("Failure when adding medium") . "\n" . N("Retry?"))) {
+ goto try_again;
+ } else {
+ return 0;
+ }
+ }
+
+ $o->ask_yesorno_({ title => N("Updates"), messages => formatAlaTeX(
+N("You now have the opportunity to download updated packages. These packages
+have been updated after the distribution was released. They may
+contain security or bug fixes.
+
+To download these packages, you will need to have a working Internet
+connection.
+
+Do you want to install the updates?")),
+ interactive_help_id => 'installUpdates',
+ }, 1) or do {
+ log::l("installUpdates: skipping since user say no to updates");
+ return;
+ };
+
+ my $binary = find { whereis_binary($_, $::prefix) } if_(check_for_xserver(), 'gurpmi2'), 'urpmi' or return;
+ my $log_file = '/root/drakx/updates.log';
+ run_program::raw({ root => $::prefix, timeout => 'never' }, $binary, '>>', $log_file, '2>>', $log_file, '--auto-select');
+
+ install::pkgs::clean_rpmdb_shared_regions();
+
+ #- not downing network, even PPP. We don't care much since it is the end of install :)
+}
+
+
+#------------------------------------------------------------------------------
+sub configureTimezone {
+ my ($o, $clicked) = @_;
+
+ any::configure_timezone($o, $o->{timezone}, $clicked) or return;
+
+ install::steps::configureTimezone($o);
+ 1;
+}
+
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($o, $clicked) = @_;
+ require services;
+ $o->{services} = services::ask($o) if $clicked;
+ install::steps::configureServices($o);
+}
+
+
+sub summaryBefore {
+ my ($o) = @_;
+
+ install::any::preConfigureTimezone($o);
+ #- get back network configuration.
+ require network::network;
+ eval {
+ network::network::read_net_conf($o->{net});
+ };
+ log::l("summaryBefore: network configuration: ", formatError($@)) if $@;
+}
+
+sub summary_prompt {
+ my ($o, $l, $check_complete) = @_;
+
+ foreach (@$l) {
+ my $val = $_->{val};
+ ($_->{format}, $_->{val}) = (sub { $val && $val->() || N("not configured") }, '');
+ }
+
+ $o->ask_from_({
+ messages => N("Summary"),
+ interactive_help_id => 'summary',
+ cancel => '',
+ callbacks => { complete => sub { !$check_complete->() } },
+ }, $l);
+}
+
+sub summary {
+ my ($o) = @_;
+
+ my @l;
+
+ my $timezone_manually_set;
+ push @l, {
+ group => N("System"),
+ label => N("Timezone"),
+ val => sub { $o->{timezone}{timezone} },
+ clicked => sub { $timezone_manually_set = $o->configureTimezone(1) || $timezone_manually_set },
+ };
+ push @l, {
+ group => N("System"),
+ label => N("Country / Region"),
+ val => sub { lang::c2name($o->{locale}{country}) },
+ clicked => sub {
+ any::selectCountry($o, $o->{locale}) or return;
+
+ my $pkg_locale = lang::locale_to_main_locale(lang::getlocale_for_country($o->{locale}{lang}, $o->{locale}{country}));
+ my @pkgs = URPM::packages_providing($o->{packages}, "locales-$pkg_locale");
+ $o->pkg_install(map { $_->name } @pkgs) if @pkgs;
+
+ lang::write_and_install($o->{locale}, $o->do_pkgs);
+ if (!$timezone_manually_set && !$o->{isUpgrade}) {
+ delete $o->{timezone};
+ install::any::preConfigureTimezone($o); #- now we can precise the timezone thanks to the country
+ }
+ },
+ };
+ local $o->{bootloader}{boot} = 'ESP' if is_uefi();
+ push @l, {
+ group => N("System"),
+ label => N("Bootloader"),
+ val => sub {
+
+ $o->{bootloader}{boot} ?
+ #-PO: example: grub2-graphic on /dev/sda1
+ N("%s on %s", $o->{bootloader}{method}, $o->{bootloader}{boot}) : N("None");
+ },
+ if_(is_uefi(), tip => N("EFI System Partition")),
+ clicked => sub {
+ any::setupBootloader($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
+ },
+ } if !$::local_install;
+
+ push @l, {
+ group => N("System"),
+ label => N("User management"),
+ clicked => sub {
+ if (my $u = any::ask_user($o, $o->{users}, $o->{security}, needauser => 1)) {
+ #- getpwnam, getgrnam, getgrid works
+ symlinkf("$::prefix/etc/passwd", '/etc/passwd');
+ symlinkf("$::prefix/etc/group", '/etc/group');
+ any::add_users([$u], $o->{authentication});
+ }
+ },
+ };
+
+ push @l, {
+ group => N("System"),
+ label => N("Services"),
+ val => sub {
+ require services;
+ my ($l, $activated) = services::services();
+ N("%d activated for %d registered", int(@$activated), int(@$l));
+ },
+ clicked => sub {
+ require services;
+ $o->{services} = services::ask($o) and services::doit($o, $o->{services});
+ },
+ };
+
+ push @l, {
+ group => N("Hardware"),
+ label => N("Keyboard"),
+ val => sub { $o->{keyboard} && translate(keyboard::keyboard2text($o->{keyboard})) },
+ clicked => sub { $o->selectKeyboard(1) },
+ } if !$o->{match_all_hardware};
+
+ push @l, {
+ group => N("Hardware"),
+ label => N("Mouse"),
+ val => sub { translate($o->{mouse}{type}) . ' ' . translate($o->{mouse}{name}) },
+ clicked => sub { selectMouse($o, 1); mouse::write($o->do_pkgs, $o->{mouse}) },
+ } if !$o->{match_all_hardware};
+
+
+ my @sound_cards = $o->{match_all_hardware} ? () : detect_devices::getSoundDevices();
+
+ my $sound_index = 0;
+ foreach my $device (@sound_cards) {
+ $device->{sound_slot_index} = $sound_index;
+ push @l, {
+ group => N("Hardware"),
+ label => N("Sound card"),
+ val => sub {
+ $device->{driver} && modules::module2description($device->{driver}) || $device->{description};
+ },
+ clicked => sub {
+ require harddrake::sound;
+ harddrake::sound::config($o, $o->{modules_conf}, $device);
+ },
+ };
+ $sound_index++;
+ }
+
+ push @l, {
+ group => N("Hardware"),
+ label => N("Graphical interface"),
+ val => sub { $o->{raw_X} ? Xconfig::various::to_string($o->{raw_X}) : '' },
+ clicked => sub { configureX($o, 'expert') },
+ } if !$o->{match_all_hardware};
+
+ push @l, {
+ group => N("Network & Internet"),
+ label => N("Network"),
+ val => sub { $o->{net}{type} },
+ format => sub { $_[0] =~ s/.*:://; $_[0] },
+ clicked => sub {
+ require network::netconnect;
+ network::netconnect::real_main($o->{net}, $o, $o->{modules_conf});
+ },
+ } if !$o->{match_all_hardware};
+
+ $o->{miscellaneous} ||= {};
+ push @l, {
+ group => N("Network & Internet"),
+ label => N("Proxies"),
+ val => sub { $o->{miscellaneous}{http_proxy} || $o->{miscellaneous}{ftp_proxy} ? N("configured") : N("not configured") },
+ clicked => sub {
+ require network::network;
+ network::network::miscellaneous_choose($o, $o->{miscellaneous});
+ network::network::proxy_configure($o->{miscellaneous}) if !$::testing;
+ },
+ } if !$o->{match_all_hardware};
+
+ push @l, {
+ group => N("Security"),
+ label => N("Security Level"),
+ val => sub {
+ require security::level;
+ security::level::to_string($o->{security});
+ },
+ clicked => sub {
+ require security::level;
+ my $security = $o->{security};
+ set_sec_level:
+ if (security::level::level_choose($o, \$security, \$o->{security_user})) {
+ check_security_level($o, $security) or goto set_sec_level;
+ $o->{security} = $security;
+ install::any::set_security($o);
+ }
+ },
+ } if -x "$::prefix/usr/sbin/msec";
+ # FIXME: install msec if needed instead
+
+ push @l, {
+ group => N("Security"),
+ label => N("Firewall"),
+ val => sub {
+ require network::shorewall;
+ my $shorewall = network::shorewall::read();
+ $shorewall && !$shorewall->{disabled} ? N("activated") : N("disabled");
+ },
+ clicked => sub {
+ require network::drakfirewall;
+ if (my @rc = network::drakfirewall::main($o, $o->{security} < 1)) {
+ $o->{firewall_ports} = !$rc[0] && $rc[1];
+ }
+ },
+ } if detect_devices::get_net_interfaces();
+
+ my $check_complete = sub {
+ return 1 if $o->{match_all_hardware};
+ require install::pkgs;
+ my $p = install::pkgs::packageByName($o->{packages}, 'task-x11');
+ $o->{raw_X} || !$::testing && $p && !$p->flag_installed ||
+ $o->ask_yesorno('', N("You have not configured X. Are you sure you really want this?"));
+ };
+
+ $o->summary_prompt(\@l, $check_complete);
+
+ any::installBootloader($o, $o->{bootloader}, $o->{all_hds}) if !$::local_install;
+ install::steps::configureTimezone($o) if !$timezone_manually_set; #- do not forget it.
+}
+
+#------------------------------------------------------------------------------
+#-setRootPassword_addUser
+#------------------------------------------------------------------------------
+sub setRootPassword_addUser {
+ my ($o) = @_;
+ $o->{users} ||= [];
+
+ my $sup = $o->{superuser} ||= {};
+ $sup->{password2} ||= $sup->{password} ||= "";
+
+ any::ask_user_and_root($o, $sup, $o->{users}, $o->{security});
+
+ install::steps::setRootPassword($o);
+ install::steps::addUser($o);
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloaderBefore {
+ my ($o) = @_;
+ local $o->{pop_wait_messages} = 1;
+ my $_w = $o->wait_message(N("Please wait"),
+ #-PO: This is NOT the boot loader (just the kernel initrds)!!!!
+ N("Preparing initial startup program...") . "\n" .
+ N("Be patient, this may take a while...")
+ );
+ $o->SUPER::setupBootloaderBefore;
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloader {
+ my ($o) = @_;
+ {
+ any::setupBootloader_simple($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
+ }
+}
+
+sub check_security_level {
+ my ($o, $security) = @_;
+ if ($security > 3 && find { $_->{fs_type} eq 'vfat' } @{$o->{fstab}}) {
+ $o->ask_okcancel('', N("In this security level, access to the files in the Windows partition is restricted to the administrator.")) or return 0;
+ }
+ return 1;
+}
+
+sub miscellaneous {
+ my ($o, $_clicked) = @_;
+
+ install::steps::miscellaneous($o);
+}
+
+#------------------------------------------------------------------------------
+sub configureX {
+ my ($o, $expert) = @_;
+
+ install::steps::configureXBefore($o);
+ symlink "$::prefix/etc/gtk", "/etc/gtk";
+
+ require Xconfig::main;
+ my ($raw_X) = Xconfig::main::configure_everything_or_configure_chooser($o, install::any::X_options_from_o($o), !$expert, $o->{keyboard}, $o->{mouse});
+ if ($raw_X) {
+ $o->{raw_X} = $raw_X;
+ install::steps::configureXAfter($o);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub generateAutoInstFloppy {
+ my ($o, $replay) = @_;
+ my $img = install::any::getAndSaveAutoInstallFloppies($o, $replay) or return;
+
+ my $floppy = detect_devices::floppy();
+ $o->ask_okcancel('', N("Insert a blank floppy in drive %s", $floppy), 1) or return;
+
+ my $_w = $o->wait_message('', N("Creating auto install floppy..."));
+ require install::commands;
+ install::commands::dd("if=$img", 'of=' . devices::make($floppy));
+ common::sync();
+}
+
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($o, $alldone) = @_;
+
+ return $o->{step} = '' if !$alldone && !$o->ask_yesorno(N("Warning"),
+N("Some steps are not completed.
+
+Do you really want to quit now?"), 0);
+
+ install::steps::exitInstall($o);
+
+ $o->exit unless $alldone;
+
+ $o->ask_from_no_check(
+ {
+ title => N("Congratulations"),
+ messages => formatAlaTeX(messages::install_completed()),
+ interactive_help_id => 'exitInstall',
+ ok => $::local_install ? N("Quit") : N("Reboot"),
+ }, []) if $alldone;
+}
+
+
+#-######################################################################################
+#- Misc Steps Functions
+#-######################################################################################
+
+1;
diff --git a/perl-install/install/steps_list.pm b/perl-install/install/steps_list.pm
new file mode 100644
index 000000000..3dc3de2f2
--- /dev/null
+++ b/perl-install/install/steps_list.pm
@@ -0,0 +1,62 @@
+package install::steps_list;
+
+use strict;
+use vars qw(%installSteps @orderedInstallSteps);
+use common;
+
+#-######################################################################################
+#- Steps table
+#-######################################################################################
+{
+ my @installStepsFields = qw(text redoable onError hidden needs banner_title);
+ #entered reachable toBeDone next done;
+ my @installSteps = (
+ selectLanguage => [
+ #-PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+ N_("_: Keep these entry short\nLanguage"), 1, 1, '', '', N_("Localization") ],
+ acceptLicense => [ N_("_: Keep these entry short\nLicense"), 1, -1, '', '', N_("License agreement") ],
+ selectMouse => [ N_("_: Keep these entry short\nMouse"), 1, 1, '1', '', N_("Mouse") ],
+ setupSCSI => [ N_("_: Keep these entry short\nHard drive detection"), 1, 0, '1', '',
+ N_("_: Keep these entry short\nHard drive detection") ],
+ selectInstallClass => [ N_("_: Keep these entry short\nInstallation class"), 1, 1, '1', '',
+ N_("_: Keep these entry short\nInstallation class") ],
+ selectKeyboard => [ N_("_: Keep these entry short\nKeyboard"), 1, 1, '1', '', N_("Localization") ],
+ miscellaneous => [ N_("_: Keep these entry short\nSecurity"), 1, 1, '1', '', N_("Security") ],
+ doPartitionDisks => [ N_("_: Keep these entry short\nPartitioning"), 1, 0, '', "selectInstallClass",
+ N_("Partitioning") ],
+ formatPartitions => [ N_("_: Keep these entry short\nFormatting"), 1, -1, '1', "doPartitionDisks",
+ N_("_: Keep these entry short\nFormatting") ],
+ choosePackages => [ N_("_: Keep these entry short\nChoosing packages"), 1, -2, '1', "formatPartitions",
+ N_("Package Group Selection") ],
+ installPackages => [ N_("_: Keep these entry short\nInstalling"), 1, -1, '', ["formatPartitions", "selectInstallClass"],
+ N_("Installing") ],
+ setRootPassword_addUser
+ => [ N_("_: Keep these entry short\nUsers"), 1, 1, '', "installPackages",
+ N_("User management") ],
+ configureNetwork => [ N_("_: Keep these entry short\nNetworking"), 1, 1, '1', "formatPartitions",
+ N_("_: Keep these entry short\nNetworking") ],
+ setupBootloader => [ N_("_: Keep these entry short\nBootloader"), 1, 0, '1', "installPackages",
+ N_("_: Keep these entry short\nBootloader") ],
+ configureX => [ N_("_: Keep these entry short\nConfigure X"), 1, 1, '1', ["formatPartitions", "setupBootloader"],
+ N_("_: Keep these entry short\nConfigure X") ],
+ summary => [ N_("_: Keep these entry short\nSummary"), 1, 0, '', "installPackages",
+ N_("Summary") ],
+ configureServices => [ N_("_: Keep these entry short\nServices"), 1, 1, '1', "installPackages",
+ N_("_: Keep these entry short\nServices") ],
+ installUpdates => [ N_("_: Keep these entry short\nUpdates"), 1, 1, '',
+ ["installPackages", "configureNetwork", "summary"], N_("Updates") ],
+ exitInstall => [ N_("_: Keep these entry short\nExit"), 0, 0, '', '', N_("Exit") ],
+);
+ for (my $i = 0; $i < @installSteps; $i += 2) {
+ my %h; @h{@installStepsFields} = @{ $installSteps[$i + 1] };
+ $h{entered} = 0;
+ $h{onError} = $installSteps[$i + 2 * $h{onError}];
+ $h{reachable} = !$h{needs};
+ $installSteps{$installSteps[$i]} = \%h;
+ push @orderedInstallSteps, $installSteps[$i];
+ }
+ $installSteps{first} = $installSteps[0];
+}
+
+
+1;
diff --git a/perl-install/install/steps_stdio.pm b/perl-install/install/steps_stdio.pm
new file mode 100644
index 000000000..1cf4b1197
--- /dev/null
+++ b/perl-install/install/steps_stdio.pm
@@ -0,0 +1,36 @@
+package install::steps_stdio;
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::stdio);
+
+use common;
+use interactive::stdio;
+use install::steps_interactive;
+use lang;
+
+sub new($$) {
+ my ($type, $o) = @_;
+
+ (bless {}, ref($type) || $type)->SUPER::new($o);
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+ print N("Entering step `%s'\n", translate($o->{steps}{$step}{text}));
+ $o->SUPER::enteringStep($step);
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ $o->SUPER::leavingStep($step);
+ print "--------\n";
+}
+
+1;
diff --git a/perl-install/install2 b/perl-install/install2
deleted file mode 100755
index b26684f9f..000000000
--- a/perl-install/install2
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/perl
-#- PERL_INSTALL_DEBUG is used to launch stage2 in debug mode
-
-#- Mandrake Graphic Install $Id$
-#- Copyright (C) 1999/2000 MandrakeSoft (pixel@mandrakesoft.com)
-#-
-#- This program is free software; you can redistribute it and/or modify
-#- it under the terms of the GNU General Public License as published by
-#- the Free Software Foundation; either version 2, or (at your option)
-#- any later version.
-#-
-#- This program is distributed in the hope that it will be useful,
-#- but WITHOUT ANY WARRANTY; without even the implied warranty of
-#- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#- GNU General Public License for more details.
-#-
-#- You should have received a copy of the GNU General Public License
-#- along with this program; if not, write to the Free Software
-#- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-use diagnostics;
-use strict;
-
-BEGIN {
- #- for testing purpose
- (my $f = __FILE__) =~ s|install2$|list_modules.pm|;
- -e $f or symlink '../kernel/list_modules.pm', $f;
-}
-
-use lib qw(/usr/bin/perl-install .);
-use install2;
-
-$::testing = $ENV{PERL_INSTALL_TEST};
-$::isStandalone = 0;
-
-install2::main(@ARGV);
-
-c::_exit(0);
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
deleted file mode 100644
index e2d4b6368..000000000
--- a/perl-install/install2.pm
+++ /dev/null
@@ -1,674 +0,0 @@
-package install2; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($o $version);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use steps;
-use common;
-use install_any qw(:all);
-use install_steps;
-use install_any;
-use lang;
-use keyboard;
-use mouse;
-use fsedit;
-use devices;
-use partition_table qw(:types);
-use modules;
-use detect_devices;
-use run_program;
-use any;
-use log;
-use fs;
-#-$::corporate=1;
-
-
-#-#######################################################################################
-#-$O
-#-the big struct which contain, well everything (globals + the interactive methods ...)
-#-if you want to do a kickstart file, you just have to add all the required fields (see for example
-#-the variable $default)
-#-#######################################################################################
-$o = $::o = {
-# bootloader => { linear => 0, message => 1, timeout => 5, restricted => 0 },
- mkbootdisk => 0, #- no mkbootdisk if 0 or undef, find a floppy with 1, or fd1
-#- packages => [ qw() ],
- partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 },
- authentication => { md5 => 1, shadow => 1 },
- locale => { lang => 'en_US' },
-#- isUpgrade => 0,
- toRemove => [],
- toSave => [],
-#- simple_themes => 1,
-
- timezone => {
-#- timezone => "Europe/Paris",
-#- UTC => 1,
- },
-#- superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
-#- user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
-
-#- keyboard => 'de',
-#- display => "192.168.1.19:1",
- steps => \%steps::installSteps,
- orderedSteps => \@steps::orderedInstallSteps,
-
-#- for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
-#- intf => { eth0 => { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' } },
-
-#-step : the current one
-#-prefix
-#-mouse
-#-keyboard
-#-netc
-#-methods
-#-packages compss
-#-printer haveone entry(cf printer.pm)
-
-};
-
-
-sub installStepsCall {
- my ($o, $auto, $fun, @args) = @_;
- $fun = "install_steps::$fun" if $auto;
- $o->$fun(@args);
-}
-
-#-######################################################################################
-#- Steps Functions
-#- each step function are called with two arguments : clicked(because if you are a
-#- beginner you can force the the step) and the entered number
-#-######################################################################################
-
-#------------------------------------------------------------------------------
-sub selectLanguage {
- my ($_clicked, $ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'selectLanguage', $ent_number == 1);
-}
-
-sub acceptLicense {
- my ($_clicked, $_ent_number, $auto) = @_;
- installStepsCall($o, $auto, 'acceptLicense') if !$o->{useless_thing_accepted};
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- my ($clicked, $ent_number, $auto) = @_;
-
- require pkgs;
- my ($first_time) = $ent_number == 1;
-
- installStepsCall($o, $auto, 'selectMouse', !$first_time || $clicked);
-
- addToBeDone { mouse::write($o, $o->{mouse}) if !$o->{isUpgrade} || $clicked } 'installPackages';
-}
-
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($clicked, $_ent_number, $auto) = @_;
-
- if (!$::live && !$::g_auto_install && !$o->{blank} && !$::testing && !$::uml_install) {
- -s modules::cz_file() or die \N("Can't 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)", modules::cz_file());
- }
-
- installStepsCall($o, $auto, 'setupSCSI', $clicked);
-}
-
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($clicked, $_ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'selectKeyboard', $clicked);
-
- #- read keyboard ASAP (so that summary displays ok)
- addToBeDone {
- $o->{keyboard}{unsafe} or return;
- if (my $keyboard = keyboard::read()) {
- $o->{keyboard} = $keyboard;
- }
- } 'formatPartitions';
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass {
- my ($clicked, $_ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'selectInstallClass', $clicked);
-
- if ($o->{isUpgrade}) {
- $o->{keepConfiguration} and @{$o->{orderedSteps}} = grep { !/selectMouse|selectKeyboard|miscellaneous|setRootPassword|addUser|configureNetwork|installUpdates|summary|configureServices|configureX/ } @{$o->{orderedSteps}};
- my $s; foreach (@{$o->{orderedSteps}}) {
- $s->{next} = $_ if $s;
- $s = $o->{steps}{$_};
- }
- }
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- my ($_clicked, $_ent_number, $auto) = @_;
- $o->{steps}{formatPartitions}{done} = 0;
- installStepsCall($o, $auto, 'doPartitionDisksBefore');
- installStepsCall($o, $auto, 'doPartitionDisks');
- installStepsCall($o, $auto, 'doPartitionDisksAfter');
-}
-
-sub formatPartitions {
- my ($_clicked, $_ent_number, $auto) = @_;
-
- $o->{steps}{choosePackages}{done} = 0;
- installStepsCall($o, $auto, 'choosePartitionsToFormat', $o->{fstab}) if !$o->{isUpgrade};
- my $want_root_formated = fsedit::get_root($o->{fstab})->{toFormat};
- if ($want_root_formated) {
- foreach ('/usr') {
- my $part = fsedit::mntpoint2part($_, $o->{fstab}) or next;
- $part->{toFormat} or die \N("You must also format %s", $_);
- }
- }
- installStepsCall($o, $auto, 'formatMountPartitions', $o->{fstab}) if !$::testing;
-
- if ($want_root_formated) {
- #- we formatted /, ensure /var/lib/rpm is cleaned otherwise bad things can happen
- #- (especially when /var is *not* formatted)
- eval { rm_rf("$o->{prefix}/var/lib/rpm") };
- }
-
- mkdir "$o->{prefix}/$_", 0755 foreach
- qw(dev etc etc/profile.d etc/rpm etc/sysconfig etc/sysconfig/console
- etc/sysconfig/network-scripts etc/sysconfig/console/consolefonts
- etc/sysconfig/console/consoletrans
- home mnt tmp var var/tmp var/lib var/lib/rpm var/lib/urpmi);
- mkdir "$o->{prefix}/$_", 0700 foreach qw(root root/tmp root/drakx);
-
- devices::make("$o->{prefix}/dev/null");
- chmod 0666, "$o->{prefix}/dev/null";
-
- common::screenshot_dir__and_move();
-
- any::rotate_logs($o->{prefix});
-
- require raid;
- raid::prepare_prefixed($o->{all_hds}{raids}, $o->{prefix});
-}
-
-#------------------------------------------------------------------------------
-sub choosePackages {
- my ($_clicked, $ent_number, $auto) = @_;
- require pkgs;
-
- #- always setPackages as it may have to copy hdlist files and synthesis files.
- installStepsCall($o, $auto, 'setPackages', $o->{isUpgrade} && $ent_number == 1);
- installStepsCall($o, $auto, 'choosePackages', $o->{packages}, $o->{compssUsers}, $ent_number == 1);
- log::l("compssUsersChoice's: ", join(" ", grep { $o->{compssUsersChoice}{$_} } keys %{$o->{compssUsersChoice}}));
-
- #- check pre-condition where base backage has to be selected.
- pkgs::packageByName($o->{packages}, 'basesystem')->flag_available or die "basesystem package not selected";
-
- #- check if there are package that need installation.
- $o->{steps}{installPackages}{done} = 0 if $o->{steps}{installPackages}{done} && pkgs::packagesToInstall($o->{packages}) > 0;
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- my ($_clicked, $ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'readBootloaderConfigBeforeInstall') if $ent_number == 1;
-
- installStepsCall($o, $auto, 'beforeInstallPackages');
- installStepsCall($o, $auto, 'installPackages');
- installStepsCall($o, $auto, 'afterInstallPackages');
-}
-#------------------------------------------------------------------------------
-sub miscellaneous {
- my ($clicked, $_ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'miscellaneousBefore', $clicked);
- installStepsCall($o, $auto, 'miscellaneous', $clicked);
- installStepsCall($o, $auto, 'miscellaneousAfter', $clicked);
-}
-
-#------------------------------------------------------------------------------
-sub summary {
- my ($_clicked, $ent_number, $auto) = @_;
- installStepsCall($o, $auto, 'summaryBefore');
- installStepsCall($o, $auto, 'summary', $ent_number == 1);
- installStepsCall($o, $auto, 'summaryAfter');
-}
-#------------------------------------------------------------------------------
-sub configureNetwork {
- my ($_clicked, $_ent_number, $auto) = @_;
- #- get current configuration of network device.
- require network;
- eval { network::read_all_conf($o->{prefix}, $o->{netc} ||= {}, $o->{intf} ||= {}) };
- installStepsCall($o, $auto, 'configureNetwork') if !$o->{isUpgrade};
-}
-#------------------------------------------------------------------------------
-sub installUpdates {
- my ($_clicked, $_ent_number, $auto) = @_;
- installStepsCall($o, $auto, 'installUpdates');
-}
-#------------------------------------------------------------------------------
-sub configureServices {
- my ($clicked, $_ent_number, $auto) = @_;
- installStepsCall($o, $auto, 'configureServices', $clicked);
-}
-#------------------------------------------------------------------------------
-sub setRootPassword {
- my ($clicked, $_ent_number, $auto) = @_;
- return if $o->{isUpgrade};
-
- installStepsCall($o, $auto, 'setRootPassword', $clicked);
-}
-#------------------------------------------------------------------------------
-sub addUser {
- my ($clicked, $_ent_number, $auto) = @_;
-
- installStepsCall($o, $auto, 'addUser', $clicked) if !$o->{isUpgrade};
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloader {
- my ($_clicked, $ent_number, $auto) = @_;
- return if $::g_auto_install || $::uml_install;
-
- modules::write_conf($o->{prefix});
-
- installStepsCall($o, $auto, 'setupBootloaderBefore') if $ent_number == 1;
- installStepsCall($o, $auto, 'setupBootloader', $ent_number);
-
- eval { install_any::set_security($o) };
-}
-#------------------------------------------------------------------------------
-sub configureX {
- my ($_clicked, $_ent_number, $auto) = @_;
-
- #- done here and also at the end of install2.pm, just in case...
- install_any::write_fstab($o);
- modules::write_conf($o->{prefix});
-
- require pkgs;
- installStepsCall($o, $auto, 'configureX') if pkgs::packageByName($o->{packages}, 'XFree86')->flag_installed && !$o->{X}{disabled} || $::testing;
-}
-#------------------------------------------------------------------------------
-sub exitInstall {
- my ($_clicked, $_xent_number, $auto) = @_;
- installStepsCall($o, $auto, 'exitInstall', getNextStep() eq 'exitInstall');
-}
-
-
-sub start_i810fb() {
-
- my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
- return if !$vga || listlength(cat_('/proc/fb'));
-
- my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
- my $xres = $vga_to_xres{$vga} || '800';
-
- log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)");
- eval {
- any::ddcxinfos(); # keep the result otherwise ddcxinfos doesn't return good results afterwards
- modules::load([ 'i810fb',
- "xres=$xres", 'hsync1=32', 'hsync2=48', 'vsync1=50', 'vsync2=70', #- this sucking i810fb does not accept floating point numbers in hsync!
- 'vram=2', 'bpp=16', 'accel=1', 'mtrr=1', 'hwcur=1', 'xcon=4' ]);
- };
-}
-
-
-#-######################################################################################
-#- MAIN
-#-######################################################################################
-sub main {
- $SIG{__DIE__} = sub { chomp(my $err = $_[0]); log::l("warning: ", ref($err) eq 'SCALAR' ? $$err : $err) if $err !~ /^find_index failed/ };
- $SIG{SEGV} = sub {
- my $msg = "segmentation fault: seems like memory is missing as the install crashes"; print "$msg\n"; log::l($msg);
- $o->ask_warn('', $msg);
- setVirtual(1);
- require install_steps_auto_install;
- install_steps_auto_install_non_interactive::errorInStep();
- };
- $ENV{PERL_BADLANG} = 1;
- umask 022;
-
- $::isInstall = 1;
- $::isWizard = 1;
- $::no_ugtk_init = 1;
- $::expert = $::g_auto_install = 0;
-
-#- c::unlimit_core() unless $::testing;
-
- my ($cfg, $patch, @auto);
- my %cmdline = map {
- my ($n, $v) = split '=';
- $n => $v || 1;
- } split ' ', cat_("/proc/cmdline");
-
- my $opt; foreach (@_) {
- if (/^--?(.*)/) {
- $cmdline{$opt} = 1 if $opt;
- $opt = $1;
- } else {
- $cmdline{$opt} = $_ if $opt;
- $opt = '';
- }
- } $cmdline{$opt} = 1 if $opt;
-
- map_each {
- my ($n, $v) = @_;
- my $f = ${{
- oem => sub { $::oem = $v },
- lang => sub { $o->{locale}{lang} = $v },
- flang => sub { $o->{locale}{lang} = $v; push @auto, 'selectLanguage' },
- method => sub { $o->{method} = $v },
- pcmcia => sub { $o->{pcmcia} = $v },
- vga16 => sub { $o->{vga16} = $v },
- vga => sub { $o->{vga} = $v },
- step => sub { $o->{steps}{first} = $v },
- expert => sub { $::expert = $v },
- meta_class => sub { $o->{meta_class} = $v },
- readonly => sub { $o->{partitioning}{readonly} = $v ne "0" },
- display => sub { $o->{display} = $v },
- askdisplay => sub { print "Please enter the X11 display to perform the install on ? "; $o->{display} = chomp_(scalar(<STDIN>)) },
- security => sub { $o->{security} = $v },
- live => sub { $::live = 1 },
- noauto => sub { $::noauto = 1 },
- test => sub { $::testing = 1 },
- patch => sub { $patch = 1 },
- defcfg => sub { $cfg = $v },
- recovery => sub { $::recovery = 1 },
- restore => sub { $::restore = 1 },
- newt => sub { $o->{interactive} = "newt" },
- text => sub { $o->{interactive} = "newt" },
- stdio => sub { $o->{interactive} = "stdio" },
- corporate => sub { $::corporate = 1 },
- kickstart => sub { $::auto_install = $v },
- uml_install => sub { $::uml_install = 1 },
- auto_install => sub { $::auto_install = $v },
- simple_themes => sub { $o->{simple_themes} = 1 },
- theme => sub { $o->{theme} = $v },
- doc => sub { $o->{doc} = 1 }, #- will be used to know that we're running for the doc team,
- #- e.g. we want screenshots with a good B&W contrast
- useless_thing_accepted => sub { $o->{useless_thing_accepted} = 1 },
- alawindows => sub { $o->{security} = 0; $o->{partitioning}{clearall} = 1; $o->{bootloader}{crushMbr} = 1 },
- fdisk => sub { $o->{partitioning}{fdisk} = 1 },
- g_auto_install => sub { $::testing = $::g_auto_install = 1; $o->{partitioning}{auto_allocate} = 1 },
- nomouseprobe => sub { $o->{nomouseprobe} = $v },
- blank => sub { $o->{blank} = $::blank = 1 },
- updatemodules => sub { $o->{updatemodules} = 1 },
- }}{lc $n}; &$f if $f;
- } %cmdline;
-
- if ($::testing) {
- $ENV{SHARE_PATH} ||= "/export/Mandrake/mdkinst/usr/share";
- $ENV{SHARE_PATH} = "/usr/share" if !-e $ENV{SHARE_PATH};
- } else {
- $ENV{SHARE_PATH} ||= "/usr/share";
- }
-
- undef $::auto_install if $cfg;
- if ($::g_auto_install) {
- (my $root = `/bin/pwd`) =~ s|(/[^/]*){5}$||;
- symlinkf $root, "/tmp/image" or die "unable to create link /tmp/image";
- $o->{method} ||= "cdrom";
- $o->{mkbootdisk} = 0;
- }
- if (!$::testing && !$::live) {
- symlink "rhimage", "/tmp/image"; #- for compatibility with old stage1
- unlink $_ foreach "/modules/modules.mar", "/sbin/stage1";
- }
-
- print STDERR "in second stage install\n";
- log::openLog(($::testing || $o->{localInstall}) && 'debug.log');
- log::l("second stage install running (", any::drakx_version(), ")");
-
- $o->{prefix} = $::prefix = $::testing ? "/tmp/test-perl-install" : $::live ? "" : "/mnt";
- $o->{isUpgrade} = 1 if $::live;
- mkdir $o->{prefix}, 0755;
- devices::make("/dev/zero"); #- needed by ddcxinfos
-
- #- make sure we don't pick up any gunk from the outside world
- my $remote_path = "$o->{prefix}/sbin:$o->{prefix}/bin:$o->{prefix}/usr/sbin:$o->{prefix}/usr/bin:$o->{prefix}/usr/X11R6/bin";
- $ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:$remote_path" unless $::g_auto_install;
-
- eval { spawnShell() };
-
- modules::load_dependencies(($::testing ? ".." : "") . "/modules/modules.dep");
- modules::read_stage1_conf($_) foreach "/tmp/conf.modules", "/etc/modules.conf";
- modules::read_already_loaded();
-
- #- done before auto_install is called to allow the -IP feature on auto_install file name
- if (-e '/tmp/network') {
- require network;
- #- get stage1 network configuration if any.
- log::l('found /tmp/network');
- $o->{netc} ||= {};
- add2hash($o->{netc}, network::read_conf('/tmp/network'));
- if (my ($file) = glob_('/tmp/ifcfg-*')) {
- log::l("found network config file $file");
- my $l = network::read_interface_conf($file);
- $o->{intf} ||= { $l->{DEVICE} => $l };
- }
- if (-e '/etc/resolv.conf') {
- my $file = '/etc/resolv.conf';
- log::l("found network config file $file");
- add2hash($o->{netc}, network::read_resolv_conf($file));
- }
- }
-
- #- done after module dependencies are loaded for "vfat depends on fat"
- if ($::auto_install) {
- if ($::auto_install =~ /-IP(\.pl)?$/) {
- my $ip = join('', map { sprintf "%02X", $_ } split '\.', $o->{intf}{IPADDR});
- $::auto_install =~ s/-IP(\.pl)?$/-$ip$1/;
- }
- require install_steps_auto_install;
- eval { $o = $::o = install_any::loadO($o, $::auto_install) };
- if ($@) {
- if ($o->{useless_thing_accepted}) { #- Pixel's hack to be able to fail through
- log::l("error using auto_install, continuing");
- undef $::auto_install;
- } else {
- print "Error using auto_install\n", formatError($@), "\n";
- install_steps_auto_install_non_interactive::errorInStep();
- }
- } else {
- log::l("auto install config file loaded successfully");
- }
- }
- $o->{interactive} ||= 'gtk' if !$::auto_install;
-
- if ($o->{interactive} eq "gtk" && availableMemory() < 22 * 1024) {
- log::l("switching to newt install cuz not enough memory");
- $o->{interactive} = "newt";
- }
-
- if (my ($s) = cat_("/proc/cmdline") =~ /brltty=(\S*)/) {
- my ($driver, $device, $table) = split(',', $s);
- $table = "text.$table.tbl" if $table !~ /\.tbl$/;
- log::l("brltty option $driver $device $table");
- $o->{brltty} = { driver => $driver, device => $device, table => $table };
- $o->{interactive} = 'newt';
- $o->{nomouseprobe} = 1;
- }
-
- # perl_checker: require install_steps_gtk
- # perl_checker: require install_steps_newt
- # perl_checker: require install_steps_stdio
- require "install_steps_$o->{interactive}.pm" if $o->{interactive};
-
- #- needed before accessing floppy (in case of usb floppy)
- modules::load_category('bus/usb');
-
- #- oem patch should be read before to still allow patch or defcfg.
- eval { $o = $::o = install_any::loadO($o, "Mandrake/base/patch-oem.pl"); log::l("successfully read oem patch") };
- #- recovery mode should be read early to allow default parameter to be taken.
- eval { $o = $::o = install_any::loadO($o, "Mandrake/base/recovery.cfg"); log::l("successfully read recovery") } if $::recovery;
- $@ and $::recovery = 0; #- avoid keeping recovery if there was a problem reading the recovery.cfg file.
- #- patch should be read after defcfg in order to take precedance.
- eval { $o = $::o = install_any::loadO($o, $cfg); log::l("successfully read default configuration: $cfg") } if $cfg;
- eval { $o = $::o = install_any::loadO($o, "patch"); log::l("successfully read patch") } if $patch;
-
- eval { modules::load("af_packet") };
-
- require harddrake::sound;
- harddrake::sound::configure_sound_slots();
-
- #- need to be after oo-izing $o
- if ($o->{brltty}) {
- symlink "/tmp/stage2/$_", $_ foreach "/etc/brltty";
- if (common::usingRamdisk()) {
- install_any::remove_unused(0);
- mkdir '/tmp/stage2/etc/brltty';
- mkdir '/lib/brltty';
- foreach ($o->{brltty}{table}, "brltty-$o->{brltty}{driver}.hlp") {
- install_any::getAndSaveFile("/etc/brltty/$_") if $_;
- }
- install_any::getAndSaveFile("/lib/brltty/libbrlttyb$o->{brltty}{driver}.so") or do {
- local $| = 1;
- print("Braille driver $o->{brltty}{driver} for BRLTTY was not found.\n",
- "Press ENTER to continue.\n\a");
- <STDIN>;
- };
- install_any::getAndSaveFile("/usr/bin/brltty");
- chmod 0755, "/usr/bin/brltty";
- }
- eval { modules::load("serial") };
- devices::make($_) foreach $o->{brltty}{device} ? $o->{brltty}{device} : qw(ttyS0 ttyS1);
- devices::make("vcsa");
- run_program::run("brltty");
- }
-
- #- needed very early for install_steps_gtk
- unless ($::testing) {
- if ($o->{mouse}) {
- mouse::load_modules($o->{mouse});
- } else {
- eval { $o->{mouse} = mouse::detect() } unless $o->{nomouseprobe};
- }
- }
-
- $o->{locale}{lang} = lang::set($o->{locale}{lang}) if $o->{locale}{lang} ne 'en_US'; #- mainly for defcfg
-
- start_i810fb();
-
- $o->{allowFB} = listlength(cat_("/proc/fb"));
-
- my $VERSION = cat__(install_any::getFile("VERSION")) or do { print "VERSION file missing\n"; sleep 5 };
- $::corporate = 1 if $VERSION =~ /corporate/i;
- $o->{meta_class} = 'desktop' if $VERSION =~ /desktop|discovery/i;
- $o->{meta_class} = 'download' if $VERSION =~ /download/i;
- $o->{meta_class} = 'firewall' if $VERSION =~ /firewall/i;
- $o->{meta_class} = 'server' if $VERSION =~ /server|prosuite/i;
- $o->{meta_class} eq 'discovery' and $o->{meta_class} = 'desktop';
- if ($::oem) {
- $o->{partitioning}{use_existing_root} = 1;
- $o->{compssListLevel} = 4;
- push @auto, 'selectInstallClass', 'doPartitionDisks', 'choosePackages', 'configureTimezone', 'exitInstall';
- }
- if ($::recovery) {
- push @auto, 'selectLanguage', 'selectInstallClass', 'selectMouse', 'selectKeyboard', 'doPartitionDisks', 'formatPartitions', 'miscellaneous', 'choosePackages', 'configureTimezone';
- }
-
- foreach (@auto) {
- my $s = $o->{steps}{/::(.*)/ ? $1 : $_} or next;
- $s->{auto} = $s->{hidden} = 1;
- }
-
- my $o_;
- while (1) {
- $o_ = $::auto_install ?
- install_steps_auto_install->new($o) :
- $o->{interactive} eq "stdio" ?
- install_steps_stdio->new($o) :
- $o->{interactive} eq "newt" ?
- install_steps_newt->new($o) :
- $o->{interactive} eq "gtk" ?
- install_steps_gtk->new($o) :
- die "unknown install type";
- $o_ and last;
-
- $o->{interactive} = "newt";
- require install_steps_newt;
- }
- $::o = $o = $o_;
-
- install_any::remove_unused() if common::usingRamdisk();
-
- #-the main cycle
- my $clicked = 0;
- MAIN: for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep()) {
- $o->{steps}{$o->{step}}{entered}++;
- $o->enteringStep($o->{step});
- eval {
- &{$install2::{$o->{step}}}($clicked || $o->{steps}{$o->{step}}{noauto},
- $o->{steps}{$o->{step}}{entered},
- $clicked ? 0 : $o->{steps}{$o->{step}}{auto});
- };
- my $err = $@;
- $o->kill_action;
- $clicked = 0;
- if ($err) {
- ref($err) eq 'SCALAR' and $err = $$err;
- local $_ = $err;
- $o->kill_action;
- if (!/^already displayed/) {
- eval { $o->errorInStep($_) };
- $o->{steps}{$o->{step}}{auto} = 0;
- $err = $@;
- $err and next;
- }
- $o->{step} = $o->{steps}{$o->{step}}{onError};
- next MAIN unless $o->{steps}{$o->{step}}{reachable}; #- sanity check: avoid a step not reachable on error.
- redo MAIN;
- }
- $o->{steps}{$o->{step}}{done} = 1;
- $o->leavingStep($o->{step});
-
- last if $o->{step} eq 'exitInstall';
- }
- install_any::clean_postinstall_rpms();
- install_any::log_sizes($o);
- install_any::remove_advertising($o);
- install_any::write_fstab($o);
- modules::write_conf($o->{prefix});
- detect_devices::install_addons($o->{prefix});
-
- #- save recovery file if needed (ie disk style install).
- $o->{method} eq 'disk' and
- output($o->{prefix}.any::hdInstallPath()."/Mandrake/base/recovery.cfg", install_any::g_auto_install(1));
-
- #- mainly for auto_install's
- #- do not use run_program::xxx because it doesn't leave stdin/stdout unchanged
- system("bash", "-c", $o->{postInstallNonRooted}) if $o->{postInstallNonRooted};
- system("chroot", $o->{prefix}, "bash", "-c", $o->{postInstall}) if $o->{postInstall};
-
- install_any::ejectCdrom();
-
- #- to ensure linuxconf doesn't cry against those files being in the future
- foreach ('/etc/modules.conf', '/etc/crontab', '/etc/sysconfig/mouse', '/etc/sysconfig/network', '/etc/X11/fs/config') {
- my $now = time() - 24 * 60 * 60;
- utime $now, $now, "$o->{prefix}/$_";
- }
- $::live or install_any::killCardServices();
-
- #- make sure failed upgrade will not hurt too much.
- install_steps::cleanIfFailedUpgrade($o);
-
- -e "$o->{prefix}/usr/sbin/urpmi.update" or eval { rm_rf("$o->{prefix}/var/lib/urpmi") };
-
- #- copy latest log files
- eval { cp_af("/tmp/$_", "$o->{prefix}/root/drakx") foreach qw(ddebug.log stage1.log) };
-
- #- ala pixel? :-) [fpons]
- common::sync(); common::sync();
-
- log::l("installation complete, leaving");
- log::l("files still open by install2: ", readlink($_)) foreach glob_("/proc/self/fd/*");
- print "\n" x 80;
-}
-
-1;
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
deleted file mode 100644
index 6032d5a31..000000000
--- a/perl-install/install_any.pm
+++ /dev/null
@@ -1,1204 +0,0 @@
-package install_any; # $Id$
-
-use diagnostics;
-use strict;
-
-use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $boot_medium $current_medium $asked_medium @advertising_images);
-
-@ISA = qw(Exporter);
-%EXPORT_TAGS = (
- all => [ qw(getNextStep spawnShell addToBeDone) ],
-);
-@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use MDK::Common::System;
-use common;
-use run_program;
-use partition_table qw(:types);
-use partition_table::raw;
-use devices;
-use fsedit;
-use modules;
-use detect_devices;
-use lang;
-use any;
-use log;
-use fs;
-
-#- boot medium (the first medium to take into account).
-$boot_medium = 1;
-$current_medium = $boot_medium;
-$asked_medium = $boot_medium;
-
-#-######################################################################################
-#- Media change variables&functions
-#-######################################################################################
-my $postinstall_rpms = '';
-my $cdrom;
-sub useMedium($) {
- #- before ejecting the first CD, there are some files to copy!
- #- does nothing if the function has already been called.
- $_[0] > 1 and $::o->{method} eq 'cdrom' and setup_postinstall_rpms($::prefix, $::o->{packages});
-
- $asked_medium eq $_[0] or log::l("selecting new medium '$_[0]'");
- $asked_medium = $_[0];
-}
-sub changeMedium($$) {
- my ($method, $medium) = @_;
- log::l("change to medium $medium for method $method (refused by default)");
- 0;
-}
-sub relGetFile($) {
- local $_ = $_[0];
- if (my ($arch) = m|\.([^\.]*)\.rpm$|) {
- $_ = "$::o->{packages}{mediums}{$asked_medium}{rpmsdir}/$_";
- s/%{ARCH}/$arch/g;
- }
- $_;
-}
-sub askChangeMedium($$) {
- my ($method, $medium) = @_;
- my $allow;
- do {
- eval { $allow = changeMedium($method, $medium) };
- } while $@; #- really it is not allowed to die in changeMedium!!! or install will cores with rpmlib!!!
- log::l($allow ? "accepting medium $medium" : "refusing medium $medium");
- $allow;
-}
-sub errorOpeningFile($) {
- my ($file) = @_;
- $file eq 'XXX' and return; #- special case to force closing file after rpmlib transaction.
- $current_medium eq $asked_medium and log::l("errorOpeningFile $file"), return; #- nothing to do in such case.
- $::o->{packages}{mediums}{$asked_medium}{selected} or return; #- not selected means no need for worying about.
-
- my $max = 32; #- always refuse after $max tries.
- if ($::o->{method} eq "cdrom") {
- cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1;
- return unless $cdrom;
- ejectCdrom($cdrom);
- while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) {
- $current_medium = $asked_medium;
- eval { fs::mount($cdrom, "/tmp/image", "iso9660", 'readonly') };
- my $getFile = getFile($file);
- $getFile && @advertising_images and copy_advertising($::o);
- $getFile and return $getFile;
- $current_medium = 'unknown'; #- don't know what CD is inserted now.
- ejectCdrom($cdrom);
- --$max;
- }
- } else {
- while ($max > 0 && askChangeMedium($::o->{method}, $asked_medium)) {
- $current_medium = $asked_medium;
- my $getFile = getFile($file); $getFile and return $getFile;
- $current_medium = 'unknown'; #- don't know what CD image has been copied.
- --$max;
- }
- }
-
- #- keep in mind the asked medium has been refused on this way.
- #- this means it is no more selected.
- $::o->{packages}{mediums}{$asked_medium}{selected} = undef;
-
- #- on cancel, we can expect the current medium to be undefined too,
- #- this enable remounting if selecting a package back.
- $current_medium = 'unknown';
-
- return;
-}
-sub getFile {
- my ($f, $o_method) = @_;
- log::l("getFile $f:$o_method");
- my $rel = relGetFile($f);
- do {
- if ($f =~ m|^http://|) {
- require http;
- http::getFile($f);
- } elsif ($o_method =~ /crypto|update/i) {
- require crypto;
- crypto::getFile($f);
- } elsif ($::o->{method} eq "ftp") {
- require ftp;
- ftp::getFile($rel);
- } elsif ($::o->{method} eq "http") {
- require http;
- http::getFile("$ENV{URLPREFIX}/$rel");
- } else {
- #- try to open the file, but examine if it is present in the repository, this allow
- #- handling changing a media when some of the file on the first CD has been copied
- #- to other to avoid media change...
- my $f2 = "$postinstall_rpms/$f";
- $f2 = "/tmp/image/$rel" if !$postinstall_rpms || !-e $f2;
- my $F; open $F, $f2 and $F;
- }
- } || errorOpeningFile($f);
-}
-sub getAndSaveFile {
- my ($file, $local) = @_ == 1 ? ("Mandrake/mdkinst$_[0]", $_[0]) : @_;
- local $/ = \ (16 * 1024);
- my $f = ref($file) ? $file : getFile($file) or return;
- open(my $F, ">$local") or return;
- local $_;
- while (<$f>) { syswrite($F, $_) or die("getAndSaveFile: $!") }
- 1;
-}
-
-
-#-######################################################################################
-#- Post installation RPMS from cdrom only, functions
-#-######################################################################################
-sub setup_postinstall_rpms($$) {
- my ($prefix, $packages) = @_;
-
- $postinstall_rpms and return;
- $postinstall_rpms = "$prefix/usr/postinstall-rpm";
-
- require pkgs;
-
- log::l("postinstall rpms directory set to $postinstall_rpms");
- clean_postinstall_rpms(); #- make sure in case of previous upgrade problem.
- mkdir_p($postinstall_rpms);
-
- my %toCopy;
- #- compute closure of package that may be copied, use INSTALL category
- #- in rpmsrate.
- $packages->{rpmdb} ||= pkgs::rpmDbOpen($prefix);
- foreach (@{$packages->{needToCopy} || []}) {
- my $p = pkgs::packageByName($packages, $_) or next;
- pkgs::selectPackage($packages, $p, 0, \%toCopy);
- }
- delete $packages->{rpmdb};
-
- my @toCopy = grep { $_ && !$_->flag_selected } map { $packages->{depslist}[$_] } keys %toCopy;
-
- #- extract headers of package, this is necessary for getting
- #- the complete filename of each package.
- #- copy the package files in the postinstall RPMS directory.
- #- last arg is default medium '' known as the CD#1.
- #- cp_af doesn't handle correctly a missing file.
- eval { cp_af((grep { -r $_ } map { "/tmp/image/" . relGetFile($_->filename) } @toCopy), $postinstall_rpms) };
-
- log::l("copying Auto Install Floppy");
- getAndSaveInstallFloppy($::o, "$postinstall_rpms/auto_install.img");
-}
-
-sub clean_postinstall_rpms() {
- $postinstall_rpms and -d $postinstall_rpms and rm_rf($postinstall_rpms);
-}
-
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub getNextStep() {
- my ($s) = $::o->{steps}{first};
- $s = $::o->{steps}{$s}{next} while $::o->{steps}{$s}{done} || !$::o->{steps}{$s}{reachable};
- $s;
-}
-
-sub spawnShell() {
- return if $::o->{localInstall} || $::testing;
-
- -x "/bin/sh" or die "cannot open shell - /bin/sh doesn't exist";
-
- fork() and return;
-
- $ENV{DISPLAY} ||= ":0"; #- why not :pp
-
- local *F;
- sysopen F, "/dev/tty2", 2 or die "cannot open /dev/tty2 -- no shell will be provided";
-
- open STDIN, "<&F" or die '';
- open STDOUT, ">&F" or die '';
- open STDERR, ">&F" or die '';
- close F;
-
- print any::drakx_version(), "\n";
-
- c::setsid();
-
- ioctl(STDIN, c::TIOCSCTTY(), 0) or warn "could not set new controlling tty: $!";
-
- my $busybox = "/usr/bin/busybox";
- exec { -e $busybox ? $busybox : "/bin/sh" } "/bin/sh" or log::l("exec of /bin/sh failed: $!");
-}
-
-sub getAvailableSpace {
- my ($o) = @_;
-
- #- make sure of this place to be available for installation, this could help a lot.
- #- currently doing a very small install use 36Mb of postinstall-rpm, but installing
- #- these packages may eat up to 90Mb (of course not all the server may be installed!).
- #- 65mb may be a good choice to avoid almost all problem of insuficient space left...
- my $minAvailableSize = 65 * sqr(1024);
-
- my $n = !$::testing && getAvailableSpace_mounted($o->{prefix}) ||
- getAvailableSpace_raw($o->{fstab}) * 512 / 1.07;
- $n - max(0.1 * $n, $minAvailableSize);
-}
-
-sub getAvailableSpace_mounted {
- my ($prefix) = @_;
- my $dir = -d "$prefix/usr" ? "$prefix/usr" : $prefix;
- my (undef, $free) = MDK::Common::System::df($dir) or return;
- log::l("getAvailableSpace_mounted $free KB");
- $free * 1024 || 1;
-}
-sub getAvailableSpace_raw {
- my ($fstab) = @_;
-
- do { $_->{mntpoint} eq '/usr' and return $_->{size} } foreach @$fstab;
- do { $_->{mntpoint} eq '/' and return $_->{size} } foreach @$fstab;
-
- if ($::testing) {
- my $nb = 450;
- log::l("taking ${nb}MB for testing");
- return $nb << 11;
- }
- die "missing root partition";
-}
-
-sub preConfigureTimezone {
- my ($o) = @_;
- require timezone;
-
- #- can't be done in install cuz' timeconfig %post creates funny things
- add2hash($o->{timezone}, timezone::read()) if $o->{isUpgrade};
-
- $o->{timezone}{timezone} ||= timezone::bestTimezone($o->{locale}{country});
-
- my $utc = every { !isFat_or_NTFS($_) } @{$o->{fstab}};
- my $ntp = timezone::ntp_server($o->{prefix});
- add2hash_($o->{timezone}, { UTC => $utc, ntp => $ntp });
-}
-
-sub setPackages {
- my ($o, $rebuild_needed) = @_;
-
- require pkgs;
- if (!$o->{packages} || is_empty_array_ref($o->{packages}{depslist})) {
- $o->{packages} = pkgs::psUsingHdlists($o->{prefix}, $o->{method});
-
- #- open rpm db according to right mode needed.
- $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix}, $rebuild_needed);
-
- pkgs::selectPackage($o->{packages},
- pkgs::packageByName($o->{packages}, 'basesystem') || die("missing basesystem package"), 1);
-
- #- always try to select basic kernel (else on upgrade, kernel will never be updated provided a kernel is already
- #- installed and provides what is necessary).
- pkgs::selectPackage($o->{packages},
- pkgs::bestKernelPackage($o->{packages}) || die("missing kernel package"), 1);
-
- #- must be done after getProvides
- pkgs::read_rpmsrate($o->{packages}, getFile("Mandrake/base/rpmsrate"));
- ($o->{compssUsers}, $o->{compssUsersSorted}) = pkgs::readCompssUsers($o->{meta_class});
-
- #- preselect default_packages and compssUsersChoices.
- setDefaultPackages($o);
- pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}};
- } else {
- #- this has to be done to make sure necessary files for urpmi are
- #- present.
- pkgs::psUpdateHdlistsDeps($o->{prefix}, $o->{method}, $o->{packages});
-
- #- open rpm db (always without rebuilding db, it should be false at this point).
- $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix});
- }
-}
-
-sub setDefaultPackages {
- my ($o, $b_clean) = @_;
-
- if ($b_clean) {
- delete $o->{$_} foreach qw(default_packages compssUsersChoice); #- clean modified variables.
- }
-
- push @{$o->{default_packages}}, "brltty" if cat_("/proc/cmdline") =~ /brltty=/;
- push @{$o->{default_packages}}, "nfs-utils-clients" if $o->{method} eq "nfs";
- push @{$o->{default_packages}}, "numlock" if $o->{miscellaneous}{numlock};
- push @{$o->{default_packages}}, "kernel22" if !$::oem && c::kernel_version() =~ /^\Q2.2/;
- push @{$o->{default_packages}}, "raidtools" if !is_empty_array_ref($o->{all_hds}{raids});
- push @{$o->{default_packages}}, "lvm" if !is_empty_array_ref($o->{all_hds}{lvms});
- push @{$o->{default_packages}}, "alsa", "alsa-utils" if modules::get_alias("sound-slot-0") =~ /^snd-/;
- push @{$o->{default_packages}}, "grub" if isLoopback(fsedit::get_root($o->{fstab}));
- push @{$o->{default_packages}}, uniq(grep { $_ } map { fsedit::package_needed_for_partition_type($_) } @{$o->{fstab}});
-
- #- if no cleaning needed, populate by default, clean is used for second or more call to this function.
- unless ($b_clean) {
- if ($::auto_install && ($o->{compssUsersChoice} || {})->{ALL}) {
- $o->{compssUsersChoice}{$_} = 1 foreach map { @{$o->{compssUsers}{$_}{flags}} } @{$o->{compssUsersSorted}};
- }
- if (!$o->{compssUsersChoice} && !$o->{isUpgrade}) {
- #- use default selection seen in compssUsers directly.
- foreach (keys %{$o->{compssUsers}}) {
- $o->{compssUsers}{$_}{selected} or next;
- log::l("looking for default selection on $_");
- member($o->{meta_class} || 'default', @{$o->{compssUsers}{$_}{selected}}) ||
- member('all', @{$o->{compssUsers}{$_}{selected}}) or next;
- log::l(" doing selection on $_");
- $o->{compssUsersChoice}{$_} = 1 foreach @{$o->{compssUsers}{$_}{flags}};
- }
- }
- }
- $o->{compssUsersChoice}{uc($_)} = 1 foreach grep { modules::probe_category("multimedia/$_") } modules::sub_categories('multimedia');
- $o->{compssUsersChoice}{uc($_)} = 1 foreach map { $_->{driver} =~ /Flag:(.*)/ } detect_devices::probeall();
- $o->{compssUsersChoice}{SYSTEM} = 1;
- $o->{compssUsersChoice}{DOCS} = !$o->{excludedocs};
- $o->{compssUsersChoice}{UTF8} = $o->{locale}{utf8};
- $o->{compssUsersChoice}{BURNER} = 1 if detect_devices::burners();
- $o->{compssUsersChoice}{DVD} = 1 if detect_devices::dvdroms();
- $o->{compssUsersChoice}{USB} = 1 if modules::get_probeall("usb-interface");
- $o->{compssUsersChoice}{PCMCIA} = 1 if detect_devices::hasPCMCIA();
- $o->{compssUsersChoice}{HIGH_SECURITY} = 1 if $o->{security} > 3;
- $o->{compssUsersChoice}{BIGMEM} = 1 if !$::oem && availableRamMB() > 800 && arch() !~ /ia64|x86_64/;
- $o->{compssUsersChoice}{SMP} = 1 if detect_devices::hasSMP();
- $o->{compssUsersChoice}{CDCOM} = 1 if any { $_->{descr} =~ /commercial/i } values %{$o->{packages}{mediums}};
- $o->{compssUsersChoice}{'3D'} = 1 if
- detect_devices::matching_desc('Matrox.* G[245][05]0') ||
- detect_devices::matching_desc('Rage X[CL]') ||
- detect_devices::matching_desc('3D Rage (?:LT|Pro)') ||
- detect_devices::matching_desc('Voodoo [35]') ||
- detect_devices::matching_desc('Voodoo Banshee') ||
- detect_devices::matching_desc('8281[05].* CGC') ||
- detect_devices::matching_desc('Rage 128') ||
- detect_devices::matching_desc('Radeon ') || #- all Radeon card are now 3D with 4.3.0
- detect_devices::matching_desc('[nN]Vidia.*T[nN]T2') || #- TNT2 cards
- detect_devices::matching_desc('[nN][vV]idia.*NV[56]') ||
- detect_devices::matching_desc('[nN][vV]idia.*Vanta') ||
- detect_devices::matching_desc('[nN][vV]idia.*[gG]e[fF]orce') || #- GeForce cards
- detect_devices::matching_desc('[nN][vV]idia.*NV1[15]') ||
- detect_devices::matching_desc('[nN][vV]idia.*Quadro');
-
-
- foreach (lang::langs($o->{locale}{langs})) {
- pkgs::packageByName($o->{packages}, "locales-$_") or next;
- unshift @{$o->{default_packages}}, "locales-$_";
- $o->{compssUsersChoice}{qq(LOCALES"$_")} = 1; #- mainly for zh in case of zh_TW.Big5
- }
- unshift @{$o->{default_packages}}, 'locales-' . substr(lang::c2locale($o->{locale}{country}), 0, 2);
- foreach (lang::langsLANGUAGE($o->{locale}{langs})) {
- $o->{compssUsersChoice}{qq(LOCALES"$_")} = 1;
- }
- $o->{compssUsersChoice}{'CHARSET"' . lang::l2charset($o->{locale}{lang}) . '"'} = 1;
-}
-
-sub unselectMostPackages {
- my ($o) = @_;
- pkgs::unselectAllPackages($o->{packages});
- pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}};
-}
-
-sub warnAboutNaughtyServers {
- my ($o) = @_;
- my @naughtyServers = pkgs::naughtyServers($o->{packages}) or return 1;
- my $r = $o->ask_from_list_('',
-formatAlaTeX(N("You have selected the following server(s): %s
-
-
-These servers are activated by default. They don't have any known security
-issues, but some new ones could be found. In that case, you must make sure
-to upgrade as soon as possible.
-
-
-Do you really want to install these servers?
-", join(", ", @naughtyServers))), [ N_("Yes"), N_("No") ], 'Yes') or return;
- if ($r ne 'Yes') {
- log::l("unselecting naughty servers");
- pkgs::unselectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_)) foreach @naughtyServers;
- }
- 1;
-}
-
-sub warnAboutRemovedPackages {
- my ($o, $packages) = @_;
- my @removedPackages = keys %{$packages->{state}{ask_remove} || {}} or return;
- if (!$o->ask_yesorno('',
-formatAlaTeX(N("The following packages will be removed to allow upgrading your system: %s
-
-
-Do you really want to remove these packages?
-", join(", ", @removedPackages))), 1)) {
- $packages->{state}{ask_remove} = {};
- }
-}
-
-sub addToBeDone(&$) {
- my ($f, $step) = @_;
-
- return &$f() if $::o->{steps}{$step}{done};
-
- push @{$::o->{steps}{$step}{toBeDone}}, $f;
-}
-
-sub set_authentication {
- my ($o) = @_;
-
- my $when_network_is_up = sub {
- my ($f) = @_;
- #- defer running xxx - no network yet
- addToBeDone {
- require install_steps;
- install_steps::upNetwork($o, 'pppAvoided');
- $f->();
- } 'configureNetwork';
- };
- any::set_authentication($o, $o->{netc}, $o->{authentication} ||= {}, $when_network_is_up);
-}
-
-sub killCardServices() {
- my $pid = chomp_(cat_("/tmp/cardmgr.pid"));
- $pid and kill(15, $pid); #- send SIGTERM
-}
-
-sub unlockCdrom(;$) {
- my ($cdrom) = @_;
- $cdrom or cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1;
- eval { $cdrom and ioctl detect_devices::tryOpen($1), c::CDROM_LOCKDOOR(), 0 };
-}
-sub ejectCdrom(;$) {
- my ($cdrom) = @_;
- getFile("XXX"); #- close still opened filehandle
- $cdrom ||= $1 if cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image),;
- if ($cdrom) {
- #- umount BEFORE opening the cdrom device otherwise the umount will
- #- D state if the cdrom is already removed
- eval { fs::umount("/tmp/image") };
- if ($@) { log::l("files still open: ", readlink($_)) foreach map { glob_("$_/fd/*") } glob_("/proc/*") }
- eval {
- my $dev = detect_devices::tryOpen($cdrom);
- ioctl($dev, c::CDROMEJECT(), 1) if ioctl($dev, c::CDROM_DRIVE_STATUS(), 0) == c::CDS_DISC_OK();
- };
- }
-}
-
-sub setupFB {
- my ($o, $vga) = @_;
-
- $vga ||= 785; #- assume at least 640x480x16.
-
- require bootloader;
- #- update bootloader entries with vga, all kernel are now framebuffer.
- foreach (qw(vmlinuz vmlinuz-secure vmlinuz-smp vmlinuz-hack)) {
- if (my $e = bootloader::get("/boot/$_", $o->{bootloader})) {
- $e->{vga} = $vga;
- }
- }
- bootloader::install($o->{bootloader}, $o->{fstab}, $o->{all_hds}{hds});
- 1;
-}
-
-sub install_urpmi {
- my ($prefix, $method, $packages, $mediums) = @_;
-
- #- rare case where urpmi cannot be installed (no hd install path).
- $method eq 'disk' && !any::hdInstallPath() and return;
-
- #- clean to avoid opening twice the rpm db.
- delete $packages->{rpmdb};
-
- #- import pubkey in rpmdb.
- my $db = pkgs::rpmDbOpenForInstall($prefix);
- $packages->parse_pubkeys(db => $db);
- foreach my $medium (values %$mediums) {
- $packages->import_needed_pubkeys($medium->{pubkey}, db => $db, callback => sub {
- my (undef, undef, $k, $id, $imported) = @_;
- if ($id) {
- log::l(($imported ? "imported" : "found")." key=$id for medium $medium->{descr}");
- $medium->{key_ids}{$id} = undef;
- }
- });
- }
-
- my @cfg;
- foreach (sort { $a->{medium} <=> $b->{medium} } values %$mediums) {
- my $name = $_->{fakemedium};
- if ($_->{ignored} || $_->{selected}) {
- my $dir = ($_->{prefix} || ${{ nfs => "file://mnt/nfs",
- disk => "file:/" . any::hdInstallPath(),
- ftp => $ENV{URLPREFIX},
- http => $ENV{URLPREFIX},
- cdrom => "removable://mnt/cdrom" }}{$method} ||
- #- for live_update or live_install script.
- readlink("/tmp/image/Mandrake") =~ m,^(/.*)/Mandrake/*$, && "removable:/$1") . "/$_->{rpmsdir}";
- my $need_list = $dir =~ m,^(?:[^:]*://[^/:\@]*:[^/:\@]+\@|.*%{),; #- use list file only if visible password or macro.
-
- #- build a list file if needed.
- if ($need_list) {
- my $mask = umask 077;
- open(my $LIST, ">$prefix/var/lib/urpmi/list.$name") or log::l("failed to write list.$name");
- umask $mask;
-
- #- build list file using internal data, synthesis file should exists.
- if ($_->{end} > $_->{start}) {
- #- WARNING this method of build only works because synthesis (or hdlist)
- #- has been read.
- foreach (@{$packages->{depslist}}[$_->{start} .. $_->{end}]) {
- my $arch = $_->arch;
- my $ldir = $dir;
- $ldir =~ s|/([^/]*)%{ARCH}|/./$1$arch|; $ldir =~ s|%{ARCH}|$arch|g;
- print $LIST "$ldir/".$_->filename."\n";
- }
- } else {
- #- need to use another method here to build synthesis.
- open(my $F, "parsehdlist '$prefix/var/lib/urpmi/hdlist.$name.cz' |");
- local $_;
- while (<$F>) {
- my $arch = $_->arch;
- my $ldir = $dir;
- $ldir =~ s|/([^/]*)%{ARCH}|/./$1$arch|; $ldir =~ s|%{ARCH}|$arch|g;
- print $LIST "$ldir/$_";
- }
- close $F;
- }
- close $LIST;
- }
-
- #- build synthesis file if there are still not existing (ie not copied from mirror).
- if (-s "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz" <= 32) {
- unlink "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz";
- run_program::rooted($prefix, "parsehdlist", ">", "/var/lib/urpmi/synthesis.hdlist.$name",
- "--synthesis", "/var/lib/urpmi/hdlist.$name.cz");
- run_program::rooted($prefix, "gzip", "-S", ".cz", "/var/lib/urpmi/synthesis.hdlist.$name");
- }
-
- my ($qname, $qdir) = ($name, $dir);
- $qname =~ s/(\s)/\\$1/g; $qdir =~ s/(\s)/\\$1/g;
-
- #- compute correctly reference to Mandrake/base
- my $with;
- if ($_->{update}) {
- #- an update medium always use "../base/hdlist.cz";
- $with = "../base/hdlist.cz";
- } else {
- $with = $_->{rpmsdir};
- $with =~ s|/[^/]*%{ARCH}.*||;
- $with =~ s|/+|/|g; $with =~ s|/$||; $with =~ s|[^/]||g; $with =~ s|/|../|g;
- $with .= "../Mandrake/base/$_->{hdlist}";
- }
-
- #- output new urpmi.cfg format here.
- push @cfg, "$qname " . ($need_list ? "" : $qdir) . " {
- hdlist: hdlist.$name.cz
- with_hdlist: $with" . ($need_list ? "
- list: list.$name" : "") . (keys(%{$_->{key_ids}}) ? "
- key-ids: " . join(',', keys(%{$_->{key_ids}})) : "") . ($dir =~ /removable:/ && "
- removable: /dev/cdrom") . ($_->{update} ? "
- update" : ""). "
-}
-
-";
- } else {
- #- remove not selected media by removing hdlist and synthesis files copied.
- unlink "$prefix/var/lib/urpmi/hdlist.$name.cz";
- unlink "$prefix/var/lib/urpmi/synthesis.hdlist.$name.cz";
- }
- }
- eval { output "$prefix/etc/urpmi/urpmi.cfg", @cfg };
-}
-
-
-#-###############################################################################
-#- kde stuff
-#-###############################################################################
-sub kderc_largedisplay {
- my ($prefix) = @_;
-
- update_gnomekderc($_, 'KDE',
- Contrast => 7,
- kfmIconStyle => "Large",
- kpanelIconStyle => "Normal", #- to change to Large when icons looks better
- KDEIconStyle => "Large") foreach list_skels($prefix, '.kderc');
-
- substInFile {
- s/^(GridWidth)=85/$1=100/;
- s/^(GridHeight)=70/$1=75/;
- } $_ foreach list_skels($prefix, '.kde/share/config/kfmrc');
-}
-
-sub kdemove_desktop_file {
- my ($prefix) = @_;
- my @toMove = qw(doc.kdelnk news.kdelnk updates.kdelnk home.kdelnk printer.kdelnk floppy.kdelnk cdrom.kdelnk FLOPPY.kdelnk CDROM.kdelnk);
-
- #- remove any existing save in Trash of each user and
- #- move appropriate file there after an upgrade.
- foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) {
- renamef("$dir/$_", "$dir/Trash/$_")
- foreach grep { -e "$dir/$_" } @toMove, grep { /\.rpmorig$/ } all($dir)
- }
-}
-
-
-#-###############################################################################
-#- auto_install stuff
-#-###############################################################################
-sub auto_inst_file() { ($::g_auto_install ? "/tmp" : "$::prefix/root/drakx") . "/auto_inst.cfg.pl" }
-
-sub report_bug {
- my ($prefix) = @_;
- any::report_bug($prefix, 'auto_inst' => g_auto_install('', 1));
-}
-
-sub g_auto_install {
- my ($b_replay, $b_respect_privacy) = @_;
- my $o = {};
-
- require pkgs;
- $o->{default_packages} = pkgs::selected_leaves($::o->{packages});
-
- my @fields = qw(mntpoint type size);
- $o->{partitions} = [ map { my %l; @l{@fields} = @$_{@fields}; \%l } grep { $_->{mntpoint} } @{$::o->{fstab}} ];
-
- exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(locale authentication mouse netc timezone superuser intf keyboard users partitioning isUpgrade manualFstab nomouseprobe crypto security security_user libsafe netcnx useSupermount autoExitInstall mkbootdisk X services); #- TODO modules bootloader
-
- if ($::o->{printer}) {
- $o->{printer}{$_} = $::o->{printer}{$_} foreach qw(SPOOLER DEFAULT BROWSEPOLLADDR BROWSEPOLLPORT MANUALCUPSCONFIG);
- $o->{printer}{configured} = {};
- foreach my $queue (keys %{$::o->{printer}{configured}}) {
- my $val = $::o->{printer}{configured}{$queue}{queuedata};
- exists $val->{$_} and $o->{printer}{configured}{$queue}{queuedata}{$_} = $val->{$_} foreach keys %{$val || {}};
- }
- }
-
- local $o->{partitioning}{auto_allocate} = !$b_replay;
- $o->{autoExitInstall} = !$b_replay;
- $o->{interactiveSteps} = [ 'doPartitionDisks', 'formatPartitions' ] if $b_replay;
-
- #- deep copy because we're modifying it below
- $o->{users} = [ @{$o->{users} || []} ];
-
- my @user_info_to_remove = (
- if_($b_respect_privacy, qw(name realname home pw)),
- qw(oldu oldg password password2),
- );
- $_ = { %{$_ || {}} }, delete @$_{@user_info_to_remove} foreach $o->{superuser}, @{$o->{users} || []};
-
- if ($b_respect_privacy && $o->{netcnx}) {
- if (my $type = $o->{netcnx}{type}) {
- my @netcnx_type_to_remove = qw(passwd passwd2 login phone_in phone_out);
- $_ = { %{$_ || {}} }, delete @$_{@netcnx_type_to_remove} foreach $o->{netcnx}{$type};
- }
- }
-
- require Data::Dumper;
- my $str = join('',
-"#!/usr/bin/perl -cw
-#
-# You should check the syntax of this file before using it in an auto-install.
-# You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
-# (note the '#!/usr/bin/perl -cw' on the first line).
-", Data::Dumper->Dump([$o], ['$o']), "\0");
- $str =~ s/ {8}/\t/g; #- replace all 8 space char by only one tabulation, this reduces file size so much :-)
- $str;
-}
-
-sub getAndSaveInstallFloppy {
- my ($o, $where) = @_;
- if ($postinstall_rpms && -d $postinstall_rpms && -r "$postinstall_rpms/auto_install.img") {
- log::l("getAndSaveInstallFloppy: using file saved as $postinstall_rpms/auto_install.img");
- cp_af("$postinstall_rpms/auto_install.img", $where);
- } else {
- my $image = cat_("/proc/cmdline") =~ /pcmcia/ ? "pcmcia" :
- arch() =~ /ia64|ppc/ ? "all" : #- we only use all.img there
- ${{ disk => 'hd', cdrom => 'cdrom', ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}};
- $image .= arch() =~ /sparc64/ && "64"; #- for sparc64 there are a specific set of image.
- getAndSaveFile("images/$image.img", $where) or log::l("failed to write Install Floppy ($image.img) to $where"), return;
- }
- 1;
-}
-
-sub getAndSaveAutoInstallFloppy {
- my ($o, $replay, $where) = @_;
-
- eval { modules::load('loop') };
-
- if (arch() =~ /sparc/) {
- my $imagefile = "$o->{prefix}/tmp/autoinst.img";
- my $mountdir = "$o->{prefix}/tmp/mount"; mkdir_p($mountdir);
- my $workdir = "$o->{prefix}/tmp/work"; -d $workdir or rmdir $workdir;
-
- getAndSaveInstallFloppy($o, $imagefile) or return;
- devices::make($_) foreach qw(/dev/loop6 /dev/ram);
-
- run_program::run("losetup", "/dev/loop6", $imagefile);
- fs::mount("/dev/loop6", $mountdir, "romfs", 'readonly');
- cp_af($mountdir, $workdir);
- fs::umount($mountdir);
- run_program::run("losetup", "-d", "/dev/loop6");
-
- substInFile { s/timeout.*//; s/^(\s*append\s*=\s*\".*)\"/$1 kickstart=floppy"/ } "$workdir/silo.conf"; #" for po
-#-TODO output "$workdir/ks.cfg", generate_ks_cfg($o);
- output "$workdir/boot.msg", "\n7m",
-"!! If you press enter, an auto-install is going to start.
- ALL data on this computer is going to be lost,
- including any Windows partitions !!
-", "7m\n";
-
- local $o->{partitioning}{clearall} = 1;
- output("$workdir/auto_inst.cfg", g_auto_install());
-
- run_program::run("genromfs", "-d", $workdir, "-f", "/dev/ram", "-A", "2048,/..", "-a", "512", "-V", "DrakX autoinst");
- fs::mount("/dev/ram", $mountdir, 'romfs', 0);
- run_program::run("silo", "-r", $mountdir, "-F", "-i", "/fd.b", "-b", "/second.b", "-C", "/silo.conf");
- fs::umount($mountdir);
- require commands;
- commands::dd("if=/dev/ram", "of=$where", "bs=1440", "count=1024");
-
- rm_rf($workdir, $mountdir, $imagefile);
- } elsif (arch() =~ /ia64/) {
- #- nothing yet
- } else {
- my $imagefile = "$o->{prefix}/root/autoinst.img";
- my $mountdir = "$o->{prefix}/root/aif-mount"; -d $mountdir or mkdir $mountdir, 0755;
-
- my $param = 'kickstart=floppy ' . generate_automatic_stage1_params($o);
-
- getAndSaveInstallFloppy($o, $imagefile) or return;
-
- my $dev = devices::set_loop($imagefile) or log::l("couldn't set loopback device"), return;
- eval { fs::mount($dev, $mountdir, 'vfat', 0); 1 } or return;
-
- substInFile {
- s/timeout.*/$replay ? 'timeout 1' : ''/e;
- s/^(\s*append)/$1 $param/
- } "$mountdir/syslinux.cfg";
-
- unlink "$mountdir/help.msg";
- output "$mountdir/boot.msg", "\n0c",
-"!! If you press enter, an auto-install is going to start.
- All data on this computer is going to be lost,
- including any Windows partitions !!
-", "07\n" if !$replay;
-
- local $o->{partitioning}{clearall} = !$replay;
- eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)) };
- $@ and log::l("Warning: <", formatError($@), ">");
-
- fs::umount($mountdir);
- rmdir $mountdir;
- devices::del_loop($dev);
- require commands;
- commands::dd("if=$imagefile", "of=$where", "bs=1440", "count=1024");
- unlink $imagefile;
- }
- 1;
-}
-
-
-sub g_default_packages {
- my ($o, $b_quiet) = @_;
-
- my $floppy = detect_devices::floppy();
-
- while (1) {
- $o->ask_okcancel('', N("Insert a FAT formatted floppy in drive %s", $floppy), 1) or return;
-
- eval { fs::mount(devices::make($floppy), "/floppy", "vfat", 0) };
- last if !$@;
- $o->ask_warn('', N("This floppy is not FAT formatted"));
- }
-
- require Data::Dumper;
- my $str = Data::Dumper->Dump([ { default_packages => pkgs::selected_leaves($o->{packages}) } ], ['$o']);
- $str =~ s/ {8}/\t/g;
- output('/floppy/auto_inst.cfg',
- "# You should always check the syntax with 'perl -cw auto_inst.cfg.pl'\n",
- "# before testing. To use it, boot with ``linux defcfg=floppy''\n",
- $str, "\0");
- fs::umount("/floppy");
-
- $b_quiet or $o->ask_warn('', N("To use this saved packages selection, boot installation with ``linux defcfg=floppy''"));
-}
-
-sub loadO {
- my ($O, $f) = @_; $f ||= auto_inst_file();
- my $o;
- if ($f =~ /^(floppy|patch)$/) {
- my $f = $f eq "floppy" ? 'auto_inst.cfg' : "patch";
- unless ($::testing) {
- fs::mount(devices::make(detect_devices::floppy()), "/mnt", (arch() =~ /sparc/ ? "romfs" : "vfat"), 'readonly');
- $f = "/mnt/$f";
- }
- -e $f or $f .= '.pl';
-
- my $_b = before_leaving {
- fs::umount("/mnt") unless $::testing;
- modules::unload(qw(vfat fat));
- };
- $o = loadO($O, $f);
- } else {
- -e "$f.pl" and $f .= ".pl" unless -e $f;
-
- my $fh;
- if (-e $f) { open $fh, $f } else { $fh = getFile($f) or die \N("Error reading file %s", $f) }
- {
- local $/ = "\0";
- no strict;
- eval <$fh>;
- close $fh;
- $@ and die;
- }
- $O and add2hash_($o ||= {}, $O);
- }
- $O and bless $o, ref $O;
- $o;
-}
-
-sub generate_automatic_stage1_params {
- my ($o) = @_;
-
- my @ks = "method:$o->{method}";
-
- if ($o->{method} eq 'http') {
- $ENV{URLPREFIX} =~ m|http://([^/:]+)/(.*)| or die;
- push @ks, "server:$1", "directory:$2";
- } elsif ($o->{method} eq 'ftp') {
- push @ks, "server:$ENV{HOST}", "directory:$ENV{PREFIX}", "user:$ENV{LOGIN}", "pass:$ENV{PASSWORD}";
- } elsif ($o->{method} eq 'nfs') {
- cat_("/proc/mounts") =~ m|(\S+):(\S+)\s+/tmp/image nfs| or die;
- push @ks, "server:$1", "directory:$2";
- }
-
- if (member($o->{method}, qw(http ftp nfs))) {
- my ($intf) = values %{$o->{intf}};
- push @ks, "interface:$intf->{DEVICE}";
- if ($intf->{BOOTPROTO} eq 'dhcp') {
- push @ks, "network:dhcp";
- } else {
- require network;
- push @ks, "network:static", "ip:$intf->{IPADDR}", "netmask:$intf->{NETMASK}", "gateway:$o->{netc}{GATEWAY}";
- my @dnss = network::dnsServers($o->{netc});
- push @ks, "dns:$dnss[0]" if @dnss;
- }
- }
-
- #- sync it with ../mdk-stage1/automatic.c
- my %aliases = (method => 'met', network => 'netw', interface => 'int', gateway => 'gat', netmask => 'netm',
- adsluser => 'adslu', adslpass => 'adslp', hostname => 'hos', domain => 'dom', server => 'ser',
- directory => 'dir', user => 'use', pass => 'pas', disk => 'dis', partition => 'par');
-
- 'automatic='.join(',', map { /^([^:]+)(:.*)/ && $aliases{$1} ? $aliases{$1}.$2 : $_ } @ks);
-}
-
-sub guess_mount_point {
- my ($part, $prefix, $user) = @_;
-
- my %l = (
- '/' => 'etc/fstab',
- '/boot' => 'vmlinuz',
- '/tmp' => '.X11-unix',
- '/usr' => 'X11R6',
- '/var' => 'catman',
- );
-
- my $handle = any::inspect($part, $prefix) or return;
- my $d = $handle->{dir};
- my $mnt = find { -e "$d/$l{$_}" } keys %l;
- $mnt ||= (stat("$d/.bashrc"))[4] ? '/root' : '/home/user' . ++$$user if -e "$d/.bashrc";
- $mnt ||= (any { -d $_ && (stat($_))[4] >= 500 && -e "$_/.bashrc" } glob_($d)) ? '/home' : '';
- ($mnt, $handle);
-}
-
-sub suggest_mount_points {
- my ($fstab, $prefix, $uniq) = @_;
-
- my $user;
- foreach my $part (grep { isTrueFS($_) } @$fstab) {
- $part->{mntpoint} && !$part->{unsafeMntpoint} and next; #- if already found via an fstab
-
- my ($mnt, $handle) = guess_mount_point($part, $prefix, \$user) or next;
-
- next if $uniq && fsedit::mntpoint2part($mnt, $fstab);
- $part->{mntpoint} = $mnt; delete $part->{unsafeMntpoint};
-
- #- try to find other mount points via fstab
- fs::merge_info_from_fstab($fstab, $handle->{dir}, $uniq, 'loose') if $mnt eq '/';
- }
- $_->{mntpoint} and log::l("suggest_mount_points: $_->{device} -> $_->{mntpoint}") foreach @$fstab;
-}
-
-sub find_root_parts {
- my ($fstab, $prefix) = @_;
- map {
- my $handle = any::inspect($_, $prefix);
- my $s = $handle && cat_("$handle->{dir}/etc/mandrake-release");
- if ($s) {
- chomp($s);
- $s =~ s/\s+for\s+\S+//;
- log::l("find_root_parts found $_->{device}: $s");
- { release => $s, part => $_ };
- } else { () }
- } @$fstab;
-}
-sub use_root_part {
- my ($all_hds, $part, $prefix) = @_;
- {
- my $handle = any::inspect($part, $prefix) or die;
- fs::get_info_from_fstab($all_hds, $handle->{dir});
- }
- isSwap($_) and $_->{mntpoint} = 'swap' foreach fsedit::get_really_all_fstab($all_hds); #- use all available swap.
-}
-
-sub getHds {
- my ($o, $in) = @_;
-
- getHds:
- my $all_hds = fsedit::get_hds($o->{partitioning}, $in);
- my $hds = $all_hds->{hds};
-
- if (is_empty_array_ref($hds)) { #- no way
- die \N("An error occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem");
- }
-
- #- try to figure out if the same number of hds is available, use them if ok.
- @{$o->{all_hds}{hds} || []} == @$hds and return 1;
-
- fs::get_raw_hds('', $all_hds);
- fs::add2all_hds($all_hds, @{$o->{manualFstab}});
-
- $o->{all_hds} = $all_hds;
- $o->{fstab} = [ fsedit::get_all_fstab($all_hds) ];
- fs::merge_info_from_mtab($o->{fstab});
-
- my @win = grep { isFat_or_NTFS($_) && isFat_or_NTFS({ type => fsedit::typeOfPart($_->{device}) }) } @{$o->{fstab}};
- log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
- if (@win == 1) {
- #- Suggest /boot/efi on ia64.
- $win[0]{mntpoint} = arch() =~ /ia64/ ? "/boot/efi" : "/mnt/windows";
- } else {
- my %w; foreach (@win) {
- my $v = $w{$_->{device_windobe}}++;
- $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/win_" . lc($_->{device_windobe}) . ($v ? $v+1 : ''); #- lc cuz of StartOffice(!) cf dadou
- }
- }
-
- my @sunos = grep { isSunOS($_) && type2name($_->{type}) =~ /root/i } @{$o->{fstab}}; #- take only into account root partitions.
- if (@sunos) {
- my $v = '';
- map { $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/sunos" . ($v && ++$v) } @sunos;
- }
- #- a good job is to mount SunOS root partition, and to use mount point described here in /etc/vfstab.
-
- 1;
-}
-
-sub log_sizes {
- my ($o) = @_;
- my @df = MDK::Common::System::df($o->{prefix});
- log::l(sprintf "Installed: %s(df), %s(rpm)",
- formatXiB($df[0] - $df[1], 1024),
- formatXiB(sum(run_program::rooted_get_stdout($o->{prefix}, 'rpm', '-qa', '--queryformat', '%{size}\n')))) if -x "$o->{prefix}/bin/rpm";
-}
-
-sub copy_advertising {
- my ($o) = @_;
-
- return if $::rootwidth < 800;
-
- my $f;
- my $source_dir = "Mandrake/share/advertising";
- foreach ("." . $o->{locale}{lang}, "." . substr($o->{locale}{lang},0,2), '') {
- $f = getFile("$source_dir$_/list") or next;
- $source_dir = "$source_dir$_";
- }
- if (my @files = <$f>) {
- my $dir = "$o->{prefix}/tmp/drakx-images";
- mkdir $dir;
- unlink glob_("$dir/*");
- foreach (@files) {
- chomp;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- s/\.png/.pl/;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- s/\.pl/_icon.png/;
- getAndSaveFile("$source_dir/$_", "$dir/$_");
- s/_icon\.png/.png/;
- }
- @advertising_images = map { "$dir/$_" } @files;
- }
-}
-
-sub remove_advertising {
- my ($o) = @_;
- eval { rm_rf("$o->{prefix}/tmp/drakx-images") };
- @advertising_images = ();
-}
-
-sub disable_user_view() {
- substInFile { s/^UserView=.*/UserView=true/ } "$::prefix/usr/share/config/kdm/kdmrc";
- substInFile { s/^Browser=.*/Browser=0/ } "$::prefix/etc/X11/gdm/gdm.conf";
-}
-
-sub set_security {
- my ($o) = @_;
- {
- local $ENV{DRAKX_PASSWORD} = $o->{bootloader}{password};
- local $ENV{DURING_INSTALL} = 1;
- security::level::set($o->{security});
- }
- require security::various;
- security::various::config_libsafe($::prefix, $o->{libsafe});
- security::various::config_security_user($::prefix, $o->{security_user});
-}
-
-sub write_fstab {
- my ($o) = @_;
- fs::write_fstab($o->{all_hds}, $o->{prefix}) if !$::live && !$o->{isUpgrade};
-}
-
-my @bigseldom_used_groups = (
-);
-
-sub check_prog {
- my ($f) = @_;
-
- my @l = $f !~ m|^/| ?
- map { "$_/$f" } split(":", $ENV{PATH}) :
- $f;
- return if any { -x $_ } @l;
-
- common::usingRamdisk() or log::l("ERROR: check_prog can't find the program $f and we're not using ramdisk"), return;
-
- my ($f_) = map { m|^/| ? $_ : "/usr/bin/$_" } $f;
- remove_bigseldom_used();
- foreach (@bigseldom_used_groups) {
- my (@l) = map { m|^/| ? $_ : "/usr/bin/$_" } @$_;
- if (member($f_, @l)) {
- foreach (@l) {
- getAndSaveFile($_);
- chmod 0755, $_;
- }
- return;
- }
- }
- getAndSaveFile($f_);
- chmod 0755, $f_;
-}
-
-sub remove_unused {
- $::testing and return;
- if (@_ ? $_[0] : $::o->isa('interactive::gtk')) {
- unlink glob_("/lib/lib$_*") foreach qw(slang newt);
- unlink "/usr/bin/perl-install/auto/Newt/Newt.so";
- } else {
- unlink glob_("/usr/X11R6/bin/XF*");
- }
-}
-
-sub remove_bigseldom_used() {
- log::l("remove_bigseldom_used");
- $::testing and return;
- remove_unused();
- unlink "/usr/X11R6/lib/modules/xf86Wacom.so";
- unlink glob_("/usr/share/gtk/themes/$_*") foreach qw(marble3d);
- unlink(m|^/| ? $_ : "/usr/bin/$_") foreach
- (map { @$_ } @bigseldom_used_groups),
- qw(pvcreate pvdisplay vgchange vgcreate vgdisplay vgextend vgremove vgscan lvcreate lvdisplay lvremove /lib/liblvm.so),
- qw(mkreiserfs resize_reiserfs mkfs.xfs fsck.jfs);
-}
-
-################################################################################
-package pkgs_interactive;
-use run_program;
-use common;
-use pkgs;
-
-our @ISA = qw(); #- tell perl_checker this is a class
-
-sub install_steps::do_pkgs {
- my ($o) = @_;
- bless { o => $o }, 'pkgs_interactive';
-}
-
-sub install {
- my ($do, @l) = @_;
- $do->{o}->pkg_install(@l);
-}
-
-sub ensure_is_installed {
- my ($do, $pkg, $file, $b_auto) = @_;
-
- if (! -e "$::prefix$file") {
- $do->{o}->ask_okcancel('', N("The package %s needs to be installed. Do you want to install it?", $pkg), 1)
- or return if !$b_auto;
- $do->{o}->do_pkgs->install($pkg);
- }
- if (! -e "$::prefix$file") {
- $do->{o}->ask_warn('', N("Mandatory package %s is missing", $pkg));
- return;
- }
- 1;
-}
-
-sub check_kernel_module_packages {
- my ($do, $base_name, $o_ext_name) = @_;
-
- if (!$o_ext_name || pkgs::packageByName($do->{o}{packages}, $o_ext_name)) {
- my @rpms;
- foreach my $p (@{$do->{o}{packages}{depslist}}) {
- my ($ext, $version_release) = $p->name =~ /kernel[^\-]*(-smp|-enterprise|-secure)?(?:-([^\-]+))?$/
- or next;
- $p->flag_available or next;
- my $name = "$base_name$ext-$version_release";
- pkgs::packageByName($do->{o}{packages}, $name) or next;
- log::l("found kernel module packages $name");
- push @rpms, $name;
- }
- @rpms > 0 and return [ @rpms, if_($o_ext_name, $o_ext_name) ];
- }
- return undef;
-}
-
-sub what_provides {
- my ($do, $name) = @_;
- map { $do->{o}{packages}{depslist}[$_]->name } keys %{$do->{o}{packages}{provides}{$name} || {}};
-}
-
-sub is_installed {
- my ($do, @l) = @_;
- foreach (@l) {
- my $p = pkgs::packageByName($do->{o}{packages}, $_);
- $p && $p->flag_available or return;
- }
- 1;
-}
-
-sub are_installed {
- my ($do, @l) = @_;
- grep {
- my $p = pkgs::packageByName($do->{o}{packages}, $_);
- $p && $p->flag_available;
- } @l;
-}
-
-sub remove {
- my ($do, @l) = @_;
-
- @l = grep {
- my $p = pkgs::packageByName($do->{o}{packages}, $_);
- pkgs::unselectPackage($do->{o}{packages}, $p) if $p;
- $p;
- } @l;
- run_program::rooted($do->{o}{prefix}, 'rpm', '-e', @l);
-}
-
-sub remove_nodeps {
- my ($do, @l) = @_;
-
- @l = grep {
- my $p = pkgs::packageByName($do->{o}{packages}, $_);
- if ($p) {
- $p->set_flag_requested(0);
- $p->set_flag_required(0);
- }
- $p;
- } @l;
- run_program::rooted($do->{o}{prefix}, 'rpm', '-e', '--nodeps', @l);
-}
-################################################################################
-
-package install_any;
-
-1;
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm
deleted file mode 100644
index b1cf13aeb..000000000
--- a/perl-install/install_gtk.pm
+++ /dev/null
@@ -1,410 +0,0 @@
-package install_gtk; # $Id$
-
-use diagnostics;
-use strict;
-
-use ugtk2 qw(:wrappers :helpers :create);
-use common;
-use lang;
-use devices;
-
-#-#####################################################################################
-#-INTERN CONSTANT
-#-#####################################################################################
-
-my @background;
-
-#- if we're running for the doc team, we want screenshots with
-#- a good B&W contrast: we'll override values of our theme
-my $theme_overriding_for_doc = q(style "galaxy-default"
-{
- base[SELECTED] = "#E0E0FF"
- base[ACTIVE] = "#E0E0FF"
- base[PRELIGHT] = "#E0E0FF"
- bg[SELECTED] = "#E0E0FF"
- bg[ACTIVE] = "#E0E0FF"
- bg[PRELIGHT] = "#E0E0FF"
- text[ACTIVE] = "#000000"
- text[PRELIGHT] = "#000000"
- text[SELECTED] = "#000000"
- fg[SELECTED] = "#000000"
-}
-
-style "white-on-blue"
-{
- base[NORMAL] = { 0.93, 0.93, 0.93 }
- bg[NORMAL] = { 0.93, 0.93, 0.93 }
-
- text[NORMAL] = "#000000"
- fg[NORMAL] = "#000000"
-}
-
-style "background"
-{
- bg[NORMAL] = { 0.93, 0.93, 0.93 }
-}
-
-style "background-logo"
-{
- bg[NORMAL] = { 0.70, 0.70, 0.70 }
-}
-widget "*logo*" style "background-logo"
-
-);
-
-#------------------------------------------------------------------------------
-sub load_rc {
- my ($o, $name) = @_;
-
- if (my $f = find { -r $_ } map { "$_/$name.rc" } ("share", $ENV{SHARE_PATH}, dirname(__FILE__))) {
-
- my @contents = cat_($f);
- $o->{doc} and push @contents, $theme_overriding_for_doc;
-
- Gtk2::Rc->parse_string(join("\n", @contents));
- foreach (@contents) {
- if (/style\s+"background"/ .. /^\s*$/) {
- @background = map { $_ * 256 * 257 } split ',', $1 if /NORMAL.*\{(.*)\}/;
- }
- }
- }
-
-}
-
-#------------------------------------------------------------------------------
-sub load_font {
- my ($o) = @_;
-
- if (lang::text_direction_rtl()) {
- Gtk2::Widget::set_default_direction('rtl');
- my ($x, $y) = $::WizardWindow->get_position;
- my ($width) = $::WizardWindow->get_size;
- $::WizardWindow->move($::rootwidth - $width - $x, $y);
- }
-
- Gtk2::Rc->parse_string(q(
-style "default-font"
-{
- font_name = ") . lang::l2pango_font($o->{locale}{lang}) . q("
-}
-widget "*" style "default-font"
-
-));
-}
-
-#------------------------------------------------------------------------------
-sub default_theme {
- my ($o) = @_;
- $o->{meta_class} eq 'firewall' ? 'mdk-Firewall' :
- $o->{simple_themes} || $o->{vga16} ? 'blue' : 'galaxy';
-}
-
-sub install_theme {
- my ($o) = @_;
-
- $o->{theme} ||= default_theme($o);
- load_rc($o, "themes-$o->{theme}");
- load_font($o);
- gtkset_background(@background) unless $::live; #- || testing;
-}
-
-#------------------------------------------------------------------------------
-sub create_help_window {
- my ($o) = @_;
-
- my $w;
- if ($w = $o->{help_window}) {
- $w->{window}->foreach(sub { $_[0]->destroy }, undef);
- } else {
- $w = $o->{help_window} = bless {}, 'ugtk2';
- $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel');
- $w->{rwindow}->set_uposition($::rootwidth - $::helpwidth, $::rootheight - $::helpheight);
- $w->{rwindow}->set_size_request($::helpwidth, $::helpheight);
- $w->{rwindow}->set_title('skip');
- };
- gtkadd($w->{window}, create_scrolled_window($o->{help_window_text} = Gtk2::TextView->new));
- $w->show;
-}
-
-#------------------------------------------------------------------------------
-my %steps;
-sub create_steps_window {
- my ($o) = @_;
-
- return if $::stepswidth == 0;
-
- $o->{steps_window} and $o->{steps_window}->destroy;
- my $w = bless {}, 'ugtk2';
- $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel');
- $w->{rwindow}->set_uposition(lang::text_direction_rtl() ? ($::rootwidth - $::stepswidth - 8) : 8, 150);
- $w->{rwindow}->set_size_request($::stepswidth, -1);
- $w->{rwindow}->set_name('Steps');
- $w->{rwindow}->set_title('skip');
-
- $steps{$_} ||= gtkcreate_pixbuf("steps_$_") foreach qw(on off);
- my $category = sub { gtkset_markup(Gtk2::Label->new,
- $o->{doc} ? $_[0] : '<span foreground="gray81">' . $_[0] . '</span>') };
-
- gtkpack__(my $vb = Gtk2::VBox->new(0, 3), $steps{inst} = $category->(N("System installation")), '');
- foreach (grep { !eval $o->{steps}{$_}{hidden} } @{$o->{orderedSteps}}) {
- $_ eq 'setRootPassword'
- and gtkpack__($vb, '', '', $steps{conf} = $category->(N("System configuration")), '');
- $steps{steps}{$_} = { img => gtkcreate_img('steps_off.png'),
- txt => Gtk2::Label->new(translate($o->{steps}{$_}{text})) };
- gtkpack__($vb, gtkpack__(Gtk2::HBox->new(0, 7), $steps{steps}{$_}{img}, $steps{steps}{$_}{txt}));
-
- }
-
- gtkadd($w->{window}, $vb);
- $w->show;
- $o->{steps_window} = $w;
-}
-
-sub update_steps_position {
- my ($o) = @_;
- return if !$steps{steps};
- my $last_step;
- foreach (@{$o->{orderedSteps}}) {
- exists $steps{steps}{$_} or next;
- if ($o->{steps}{$_}{entered} && !$o->{steps}{$_}{done}) {
- $steps{steps}{$_}{img}->set_from_pixbuf($steps{on});
- $last_step and $steps{steps}{$last_step}{img}->set_from_pixbuf($steps{off});
- return;
- }
- $last_step = $_;
- }
-}
-
-#------------------------------------------------------------------------------
-sub create_logo_window {
- my ($o) = @_;
-
- return if $::logowidth == 0;
-
- gtkdestroy($o->{logo_window});
-
- my $w = bless {}, 'ugtk2';
- $w->{rwindow} = $w->{window} = Gtk2::Window->new('toplevel');
-# $w->{rwindow}->set_position(0, 0);
- $w->{rwindow}->set_size_request($::logowidth, $::logoheight);
- $w->{rwindow}->set_name("logo");
- $w->{rwindow}->set_title('skip');
- $w->show;
- my $file = $o->{meta_class} eq 'firewall' ? "logo-mandrake-Firewall.png" : "logo-mandrake.png";
- -r $file or $file = "$ENV{SHARE_PATH}/$file";
- -r $file and gtkadd($w->{window}, gtkcreate_img($file));
- $o->{logo_window} = $w;
-}
-
-#------------------------------------------------------------------------------
-sub init_gtk() {
- symlink("/tmp/stage2/etc/$_", "/etc/$_") foreach qw(gtk-2.0 pango fonts);
-
- if (!listlength(cat_('/proc/fb'))) {
- #- inactivate antialias in VGA16 because it makes fonts look worse
- output('/tmp/fonts.conf',
-q(<fontconfig>
-<include>/etc/fonts/fonts.conf</include>
-<match target="font"><edit name="antialias"><bool>false</bool></edit></match>
-</fontconfig>
-));
- $ENV{FONTCONFIG_FILE} = '/tmp/fonts.conf';
- }
-
- Gtk2->init;
- Gtk2->set_locale;
-}
-
-#------------------------------------------------------------------------------
-sub init_sizes() {
- ($::rootwidth, $::rootheight) = (Gtk2::Gdk->screen_width, Gtk2::Gdk->screen_height);
- $::live and $::rootheight -= 80;
- #- ($::rootheight, $::rootwidth) = (min(768, $::rootheight), min(1024, $::rootwidth));
- $::stepswidth = $::rootwidth <= 640 ? 0 : 160;
- ($::logowidth, $::logoheight) = $::rootwidth <= 640 ? (0, 0) : (500, 40);
- ($::helpwidth, $::helpheight) = ($::rootwidth - $::stepswidth, 0);
- ($::windowwidth, $::windowheight) = ($::rootwidth - $::stepswidth, $::rootheight - $::helpheight - $::logoheight);
-}
-
-#------------------------------------------------------------------------------
-sub createXconf {
- my ($file, $mouse_type, $mouse_dev, $wacom_dev, $Driver) = @_;
-
- $mouse_type = 'IMPS/2' if $mouse_type eq 'ExplorerPS/2';
- symlinkf(devices::make($mouse_dev), "/dev/mouse") if $mouse_dev ne 'none';
-
- #- needed for imlib to start on 8-bit depth visual.
- symlink("/tmp/stage2/etc/imrc", "/etc/imrc");
- symlink("/tmp/stage2/etc/im_palette.pal", "etc/im_palette.pal");
-
-if ($Driver) {
- output($file, sprintf(<<'END', $mouse_type, $Driver));
-
-Section "Files"
- FontPath "/usr/X11R6/lib/X11/fonts:unscaled"
-EndSection
-
-Section "InputDevice"
- Identifier "Keyboard"
- Driver "Keyboard"
- Option "XkbDisable"
- Option "XkbModel" "pc105"
- Option "XkbLayout" ""
-EndSection
-
-Section "InputDevice"
- Identifier "Mouse"
- Driver "mouse"
- Option "Protocol" "%s"
- Option "Device" "/dev/mouse"
-EndSection
-
-Section "Monitor"
- Identifier "monitor"
- HorizSync 31.5-35.5
- VertRefresh 50-70
-EndSection
-
-Section "Device"
- Identifier "device"
- Driver "%s"
-EndSection
-
-Section "Screen"
- Identifier "screen"
- Device "device"
- Monitor "monitor"
- DefaultColorDepth 16
- Subsection "Display"
- Depth 16
- Modes "800x600" "640x480"
- EndSubsection
-EndSection
-
-Section "ServerLayout"
- Identifier "layout"
- Screen "screen"
- InputDevice "Mouse" "CorePointer"
- InputDevice "Keyboard" "CoreKeyboard"
-EndSection
-
-END
-
-
-} else {
-
- my $wacom;
- if ($wacom_dev) {
- my $dev = devices::make($wacom_dev);
- $wacom = <<END;
-Section "Module"
- Load "xf86Wacom.so"
-EndSection
-
-Section "XInput"
- SubSection "WacomStylus"
- Port "$dev"
- AlwaysCore
- EndSubSection
- SubSection "WacomCursor"
- Port "$dev"
- AlwaysCore
- EndSubSection
- SubSection "WacomEraser"
- Port "$dev"
- AlwaysCore
- EndSubSection
-EndSection
-END
- }
-
- output($file, <<END);
-Section "Files"
- FontPath "/usr/X11R6/lib/X11/fonts:unscaled"
-EndSection
-
-Section "Keyboard"
- Protocol "Standard"
- AutoRepeat 0 0
-
- LeftAlt Meta
- RightAlt Meta
- ScrollLock Compose
- RightCtl Control
- XkbDisable
-EndSection
-
-Section "Pointer"
- Protocol "$mouse_type"
- Device "/dev/mouse"
- ZAxisMapping 4 5
-EndSection
-
-$wacom
-
-Section "Monitor"
- Identifier "monitor"
- HorizSync 31.5-35.5
- VertRefresh 50-70
- ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
- ModeLine "640x480" 28.3 640 664 760 800 480 491 493 525
- ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
-EndSection
-
-
-Section "Device"
- Identifier "Generic VGA"
- Chipset "generic"
-EndSection
-
-Section "Device"
- Identifier "svga"
-EndSection
-
-Section "Screen"
- Driver "vga16"
- Device "Generic VGA"
- Monitor "monitor"
- Subsection "Display"
- Modes "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "fbdev"
- Device "Generic VGA"
- Monitor "monitor"
- Subsection "Display"
- Depth 16
- Modes "default"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "svga"
- Device "svga"
- Monitor "monitor"
- Subsection "Display"
- Depth 16
- Modes "800x600" "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-
-Section "Screen"
- Driver "accel"
- Device "svga"
- Monitor "monitor"
- Subsection "Display"
- Depth 16
- Modes "800x600" "640x480"
- ViewPort 0 0
- EndSubsection
-EndSection
-END
-}
-}
-
-1;
diff --git a/perl-install/install_interactive.pm b/perl-install/install_interactive.pm
deleted file mode 100644
index 3b8e350e4..000000000
--- a/perl-install/install_interactive.pm
+++ /dev/null
@@ -1,297 +0,0 @@
-package install_interactive; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use partition_table qw(:types);
-use partition_table::raw;
-use detect_devices;
-use install_steps;
-use install_any;
-use devices;
-use fsedit;
-use log;
-use fs;
-
-
-sub tellAboutProprietaryModules {
- my ($o) = @_;
- my @l = grep { $_ } map { $_->{driver} =~ /^Bad:(.*)/ && $1 } detect_devices::probeall();
- $o->ask_warn('', formatAlaTeX(
-N("Some hardware on your computer needs ``proprietary'' drivers to work.
-You can find some information about them at: %s", join(", ", @l)))) if @l;
-}
-
-#- unit of $mb is mega bytes, min and max are in sectors, this
-#- function is used to convert back to sectors count the size of
-#- a partition ($mb) given from the interface (on Resize or Create).
-#- modified to take into account a true bounding with min and max.
-sub from_Mb {
- my ($mb, $min, $max) = @_;
- $mb <= $min >> 11 and return $min;
- $mb >= $max >> 11 and return $max;
- $mb * 2048;
-}
-
-sub partition_with_diskdrake {
- my ($o, $all_hds, $nowizard) = @_;
- my $ok;
-
- do {
- $ok = 1;
- my $do_force_reload = sub {
- $o->{all_hds} = fsedit::empty_all_hds();
- install_any::getHds($o, $o);
- $all_hds = $o->{all_hds};
- $o->{all_hds};
- };
- require diskdrake::interactive;
- {
- local $::expert = $::expert;
- diskdrake::interactive::main($o, $all_hds, $nowizard, $do_force_reload, $o->interactive_help_sub_display_id('partition_with_diskdrake'));
- }
- if (delete $o->{wizard}) {
- partitionWizard($o, 'nodiskdrake') or redo;
- return 1;
- }
- my @fstab = fsedit::get_all_fstab($all_hds);
-
- unless (fsedit::get_root_(\@fstab)) {
- $ok = 0;
- $o->ask_okcancel('', N("You must have a root partition.
-For this, create a partition (or click on an existing one).
-Then choose action ``Mount point'' and set it to `/'"), 1) or return;
- }
- if (!any { isSwap($_) } @fstab) {
- $ok &&= $o->ask_okcancel('', N("You don't have a swap partition.\n\nContinue anyway?"));
- }
- if (arch() =~ /ia64/ && !fsedit::has_mntpoint("/boot/efi", $all_hds)) {
- $o->ask_warn('', N("You must have a FAT partition mounted in /boot/efi"));
- $ok = '';
- }
- } until $ok;
- 1;
-}
-
-sub partitionWizardSolutions {
- my ($o, $all_hds) = @_;
- my $hds = $all_hds->{hds};
- my $fstab = [ fsedit::get_all_fstab($all_hds) ];
- my @wizlog;
- my (%solutions);
-
- my $min_linux = 400 << 11;
- my $max_linux = 2000 << 11;
- my $min_swap = 50 << 11;
- my $max_swap = 300 << 11;
- my $min_freewin = 100 << 11;
-
- # each solution is a [ score, text, function ], where the function retunrs true if succeeded
-
- my @hds_rw = grep { !$_->{readonly} } @$hds;
- my @hds_can_add = grep { $_->can_raw_add } @hds_rw;
- if (fsedit::free_space(@hds_can_add) > $min_linux) {
- $solutions{free_space} = [ 20, N("Use free space"), sub { fsedit::auto_allocate($all_hds); 1 } ]
- } else {
- push @wizlog, N("Not enough free space to allocate new partitions") . ": " .
- (@hds_can_add ?
- fsedit::free_space(@hds_can_add) . " < $min_linux" :
- "no harddrive on which partitions can be added");
- }
-
- if (my @truefs = grep { isTrueFS($_) } @$fstab) {
- #- value twice the ext2 partitions
- $solutions{existing_part} = [ 6 + @truefs + @$fstab, N("Use existing partitions"), sub { $o->ask_mntpoint_s($fstab) } ]
- } else {
- push @wizlog, N("There is no existing partition to use");
- }
-
- my @fats = grep { isFat($_) } @$fstab;
- fs::df($_) foreach @fats;
- if (my @ok_forloopback = sort { $b->{free} <=> $a->{free} } grep { $_->{free} > $min_linux + $min_swap + $min_freewin } @fats) {
- $solutions{loopback} =
- [ -10 - @fats, N("Use the Windows partition for loopback"),
- sub {
- my ($s_root, $s_swap);
- my $part = $o->ask_from_listf('', N("Which partition do you want to use for Linux4Win?"), \&partition_table::description, \@ok_forloopback) or return;
- $max_swap = $min_swap + 1 if $part->{free} - $max_swap < $min_linux;
- $o->ask_from('', N("Choose the sizes"), [
- { label => N("Root partition size in MB: "), val => \$s_root, min => $min_linux >> 11, max => min($part->{free} - $max_swap, $max_linux) >> 11, type => 'range' },
- { label => N("Swap partition size in MB: "), val => \$s_swap, min => $min_swap >> 11, max => $max_swap >> 11, type => 'range' },
- ]) or return;
- push @{$part->{loopback}},
- { type =>0x483, loopback_file => '/lnx4win/linuxsys.img', mntpoint => '/', size => $s_root << 11, loopback_device => $part, notFormatted => 1 },
- { type => 0x82, loopback_file => '/lnx4win/swapfile', mntpoint => 'swap', size => $s_swap << 11, loopback_device => $part, notFormatted => 1 };
- fsedit::recompute_loopbacks($all_hds);
- 1;
- } ];
- } else {
- push @wizlog, N("There is no FAT partition to use as loopback (or not enough space left)") .
- (@fats ? "\nFAT partitions:" . join('', map { "\n $_->{device} $_->{free} (" . ($min_linux + $min_swap + $min_freewin) . ")" } @fats) : '');
- }
-
-
- if (my @ok_for_resize_fat = grep { isFat_or_NTFS($_) && !fsedit::part2hd($_, $all_hds)->{readonly} } @$fstab) {
- $solutions{resize_fat} =
- [ 6 - @ok_for_resize_fat, N("Use the free space on the Windows partition"),
- sub {
- my $part = $o->ask_from_listf_raw({ messages => N("Which partition do you want to resize?"),
- interactive_help_id => 'resizeFATChoose',
- }, \&partition_table::description, \@ok_for_resize_fat) or return;
- my $hd = fsedit::part2hd($part, $all_hds);
- my $resize_fat = eval {
- my $pkg = isFat($part) ? do {
- require resize_fat::main;
- 'resize_fat::main';
- } : do {
- require diskdrake::resize_ntfs;
- 'diskdrake::resize_ntfs';
- };
- $pkg->new($part->{device}, devices::make($part->{device}));
- };
- $@ and die \N("The FAT resizer is unable to handle your partition,
-the following error occured: %s", formatError($@));
- my $min_win = do {
- my $_w = $o->wait_message(N("Resizing"), N("Computing the size of the Windows partition"));
- $resize_fat->min_size;
- };
- #- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
- #- this save at least a cylinder (less than 8Mb).
- $min_win += partition_table::raw::cylinder_size($hd);
-
- $part->{size} > $min_linux + $min_swap + $min_freewin + $min_win or die \N("Your Windows partition is too fragmented. Please reboot your computer under Windows, run the ``defrag'' utility, then restart the Mandrake Linux installation.");
- $o->ask_okcancel('', formatAlaTeX(N("WARNING!
-
-DrakX will now resize your Windows partition. Be careful: this
-operation is dangerous. If you have not already done so, you
-first need to exit the installation, run \"chkdsk c:\" from a
-Command Prompt under Windows (beware, running graphical program
-\"scandisk\" is not enough, be sure to use \"chkdsk\" in a
-Command Prompt!), optionally run defrag, then restart the
-installation. You should also backup your data.
-When sure, press Ok."))) or return;
-
- my $mb_size = $part->{size} >> 11;
- $o->ask_from('', N("Which size do you want to keep for Windows on"), [
- { label => N("partition %s", partition_table::description($part)), val => \$mb_size, min => $min_win >> 11, max => ($part->{size} - $min_linux - $min_swap) >> 11, type => 'range' },
- ]) or return;
-
- my $oldsize = $part->{size};
- $part->{size} = from_Mb($mb_size, $min_win, $part->{size});
-
- $hd->adjustEnd($part);
-
- eval {
- my $_w = $o->wait_message(N("Resizing"), N("Resizing Windows partition"));
- $resize_fat->resize($part->{size});
- };
- if (my $err = $@) {
- $part->{size} = $oldsize;
- die \N("FAT resizing failed: %s", formatError($err));
- }
-
- $o->ask_warn('', N("To ensure data integrity after resizing the partition(s),
-filesystem checks will be run on your next boot into Windows(TM)")) if !isFat($part);
-
- $part->{isFormatted} = 1;
- $hd->{isDirty} = $hd->{needKernelReread} = 1;
- partition_table::adjust_local_extended($hd, $part);
- partition_table::adjust_main_extended($hd);
-
- fsedit::auto_allocate($all_hds);
- 1;
- } ];
- } else {
- push @wizlog, N("There is no FAT partition to resize (or not enough space left)");
- }
-
- if (@$fstab && @hds_rw) {
- $solutions{wipe_drive} =
- [ 10, fsedit::is_one_big_fat_or_NT($hds) ? N("Remove Windows(TM)") : N("Erase entire disk"),
- sub {
- my $hd = $o->ask_from_listf_raw({ messages => N("You have more than one hard drive, which one do you install linux on?"),
- interactive_help_id => 'takeOverHdChoose',
- },
- \&partition_table::description, \@hds_rw) or return;
- $o->ask_okcancel_({ messages => N("ALL existing partitions and their data will be lost on drive %s", partition_table::description($hd)),
- interactive_help_id => 'takeOverHdConfirm' }) or return;
- partition_table::raw::zero_MBR($hd);
- fsedit::auto_allocate($all_hds);
- 1;
- } ];
- }
-
- if (@hds_rw) {
- $solutions{diskdrake} = [ 0, N("Custom disk partitioning"), sub { partition_with_diskdrake($o, $all_hds, 'nowizard') } ];
- }
-
- $solutions{fdisk} =
- [ -10, N("Use fdisk"), sub {
- $o->enter_console;
- foreach (@$hds) {
- print "\n" x 10, N("You can now partition %s.
-When you are done, don't forget to save using `w'", partition_table::description($_));
- print "\n\n";
- my $pid = 0;
- if (arch() =~ /ppc/) {
- $pid = fork() or exec "pdisk", devices::make($_->{device});
- } else {
- $pid = fork() or exec "fdisk", devices::make($_->{device});
- }
- waitpid($pid, 0);
- }
- $o->leave_console;
- 0;
- } ] if $o->{partitioning}{fdisk};
-
- log::l("partitioning wizard log:\n", (map { ">>wizlog>>$_\n" } @wizlog));
- %solutions;
-}
-
-sub partitionWizard {
- my ($o, $b_nodiskdrake) = @_;
-
- my %solutions = partitionWizardSolutions($o, $o->{all_hds});
-
- delete $solutions{diskdrake} if $b_nodiskdrake;
-
- my @solutions = sort { $b->[0] <=> $a->[0] } values %solutions;
-
- my $level = $::expert ? -9999 : 0;
- my @sol = grep { $_->[0] >= $level } @solutions;
-
- log::l('' . "solutions found: " . join('', map { $_->[1] } @sol) .
- " (all solutions found: " . join('', map { $_->[1] } @solutions) . ")");
-
- @solutions = @sol if @sol > 1;
- log::l("solutions: ", int @solutions);
- @solutions or $o->ask_warn('', N("I can't find any room for installing")), die 'already displayed';
-
- log::l('HERE: ', join(',', map { $_->[1] } @solutions));
- my $sol;
- $o->ask_from_({ messages => N("The DrakX Partitioning wizard found the following solutions:"),
- interactive_help_id => 'doPartitionDisks',
- },
- [ { val => \$sol, list => \@solutions, format => sub { $_[0][1] }, type => 'list' } ]);
- log::l("partitionWizard calling solution $sol->[1]");
- my $ok = eval { $sol->[2]->() };
- $@ and $o->ask_warn('', N("Partitioning failed: %s", formatError($@)));
- $ok or goto &partitionWizard;
- 1;
-}
-
-sub upNetwork {
- my ($o, $b_pppAvoided) = @_;
- my $_w = $o->wait_message('', N("Bringing up the network"));
- install_steps::upNetwork($o, $b_pppAvoided);
-}
-sub downNetwork {
- my ($o, $b_pppOnly) = @_;
- my $_w = $o->wait_message('', N("Bringing down the network"));
- install_steps::downNetwork($o, $b_pppOnly);
-}
-
-
-
-1;
diff --git a/perl-install/install_messages.pm b/perl-install/install_messages.pm
deleted file mode 100644
index 3a0dd91f4..000000000
--- a/perl-install/install_messages.pm
+++ /dev/null
@@ -1,144 +0,0 @@
-package install_messages; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-
-sub main_license() {
-N("Introduction
-
-The operating system and the different components available in the Mandrake Linux distribution
-shall be called the \"Software Products\" hereafter. The Software Products include, but are not
-restricted to, the set of programs, methods, rules and documentation related to the operating
-system and the different components of the Mandrake Linux distribution.
-
-
-1. License Agreement
-
-Please read this document carefully. This document is a license agreement between you and
-MandrakeSoft S.A. which applies to the Software Products.
-By installing, duplicating or using the Software Products in any manner, you explicitly
-accept and fully agree to conform to the terms and conditions of this License.
-If you disagree with any portion of the License, you are not allowed to install, duplicate or use
-the Software Products.
-Any attempt to install, duplicate or use the Software Products in a manner which does not comply
-with the terms and conditions of this License is void and will terminate your rights under this
-License. Upon termination of the License, you must immediately destroy all copies of the
-Software Products.
-
-
-2. Limited Warranty
-
-The Software Products and attached documentation are provided \"as is\", with no warranty, to the
-extent permitted by law.
-MandrakeSoft S.A. will, in no circumstances and to the extent permitted by law, be liable for any special,
-incidental, direct or indirect damages whatsoever (including without limitation damages for loss of
-business, interruption of business, financial loss, legal fees and penalties resulting from a court
-judgment, or any other consequential loss) arising out of the use or inability to use the Software
-Products, even if MandrakeSoft S.A. has been advised of the possibility or occurence of such
-damages.
-
-LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES
-
-To the extent permitted by law, MandrakeSoft S.A. or its distributors will, in no circumstances, be
-liable for any special, incidental, direct or indirect damages whatsoever (including without
-limitation damages for loss of business, interruption of business, financial loss, legal fees
-and penalties resulting from a court judgment, or any other consequential loss) arising out
-of the possession and use of software components or arising out of downloading software components
-from one of Mandrake Linux sites which are prohibited or restricted in some countries by local laws.
-This limited liability applies to, but is not restricted to, the strong cryptography components
-included in the Software Products.
-
-
-3. The GPL License and Related Licenses
-
-The Software Products consist of components created by different persons or entities. Most
-of these components are governed under the terms and conditions of the GNU General Public
-Licence, hereafter called \"GPL\", or of similar licenses. Most of these licenses allow you to use,
-duplicate, adapt or redistribute the components which they cover. Please read carefully the terms
-and conditions of the license agreement for each component before using any component. Any question
-on a component license should be addressed to the component author and not to MandrakeSoft.
-The programs developed by MandrakeSoft S.A. are governed by the GPL License. Documentation written
-by MandrakeSoft S.A. is governed by a specific license. Please refer to the documentation for
-further details.
-
-
-4. Intellectual Property Rights
-
-All rights to the components of the Software Products belong to their respective authors and are
-protected by intellectual property and copyright laws applicable to software programs.
-MandrakeSoft S.A. reserves its rights to modify or adapt the Software Products, as a whole or in
-parts, by all means and for all purposes.
-\"Mandrake\", \"Mandrake Linux\" and associated logos are trademarks of MandrakeSoft S.A.
-
-
-5. Governing Laws
-
-If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this
-portion is excluded from this contract. You remain bound by the other applicable sections of the
-agreement.
-The terms and conditions of this License are governed by the Laws of France.
-All disputes on the terms of this license will preferably be settled out of court. As a last
-resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.
-For any question on this document, please contact MandrakeSoft S.A.
-");
-}
-
-sub warning_about_patents() {
-N("Warning: Free Software may not necessarily be patent free, and some Free
-Software included may be covered by patents in your country. For example, the
-MP3 decoders included may require a licence for further usage (see
-http://www.mp3licensing.com for more details). If you are unsure if a patent
-may be applicable to you, check your local laws.");
-}
-sub com_license() {
-N("
-Warning
-
-Please read carefully the terms below. If you disagree with any
-portion, you are not allowed to install the next CD media. Press 'Refuse'
-to continue the installation without using these media.
-
-
-Some components contained in the next CD media are not governed
-by the GPL License or similar agreements. Each such component is then
-governed by the terms and conditions of its own specific license.
-Please read carefully and comply with such specific licenses before
-you use or redistribute the said components.
-Such licenses will in general prevent the transfer, duplication
-(except for backup purposes), redistribution, reverse engineering,
-de-assembly, de-compilation or modification of the component.
-Any breach of agreement will immediately terminate your rights under
-the specific license. Unless the specific license terms grant you such
-rights, you usually cannot install the programs on more than one
-system, or adapt it to be used on a network. In doubt, please contact
-directly the distributor or editor of the component.
-Transfer to third parties or copying of such components including the
-documentation is usually forbidden.
-
-
-All rights to the components of the next CD media belong to their
-respective authors and are protected by intellectual property and
-copyright laws applicable to software programs.
-");
-}
-
-sub install_completed() {
-N("Congratulations, installation is complete.
-Remove the boot media and press return to reboot.
-
-
-For information on fixes which are available for this release of Mandrake Linux,
-consult the Errata available from:
-
-
-%s
-
-
-Information on configuring your system is available in the post
-install chapter of the Official Mandrake Linux User's Guide.",
-N("http://www.mandrakelinux.com/en/92errata.php3"));
-}
-
-1;
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
deleted file mode 100644
index 58a33b68d..000000000
--- a/perl-install/install_steps.pm
+++ /dev/null
@@ -1,1077 +0,0 @@
-package install_steps; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@filesToSaveForUpgrade @filesNewerToUseAfterUpgrade @ISA);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common;
-use install_any qw(:all);
-use partition_table qw(:types);
-use detect_devices;
-use modules;
-use run_program;
-use lang;
-use keyboard;
-use fsedit;
-use loopback;
-use pkgs;
-use any;
-use log;
-use fs;
-
-@filesToSaveForUpgrade = qw(
-/etc/ld.so.conf /etc/fstab /etc/hosts /etc/conf.modules /etc/modules.conf
-);
-
-@filesNewerToUseAfterUpgrade = qw(
-/etc/profile
-);
-
-#-######################################################################################
-#- OO Stuff
-#-######################################################################################
-sub new($$) {
- my ($type, $o) = @_;
-
- bless $o, ref($type) || $type;
- return $o;
-}
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub enteringStep {
- my ($_o, $step) = @_;
- log::l("starting step `$step'");
-}
-sub leavingStep {
- my ($o, $step) = @_;
- log::l("step `$step' finished");
-
- if (-d "$o->{prefix}/root/drakx") {
- eval { cp_af("/tmp/ddebug.log", "$o->{prefix}/root/drakx") };
- output(install_any::auto_inst_file(), install_any::g_auto_install(1));
- }
-
- for (my $s = $o->{steps}{first}; $s; $s = $o->{steps}{$s}{next}) {
- #- the reachability property must be recomputed each time to take
- #- into account failed step.
- next if $o->{steps}{$s}{done} && !$o->{steps}{$s}{redoable};
-
- my $reachable = 1;
- if (my $needs = $o->{steps}{$s}{needs}) {
- my @l = ref($needs) ? @$needs : $needs;
- $reachable = min(map { $o->{steps}{$_}{done} || 0 } @l);
- }
- $o->{steps}{$s}{reachable} = 1 if $reachable;
- }
- $o->{steps}{$step}{reachable} = $o->{steps}{$step}{redoable};
-
- while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) {
- eval { &$f() };
- $o->ask_warn(N("Error"), [
-N("An error occurred, but I don't know how to handle it nicely.
-Continue at your own risk."), formatError($@) ]) if $@;
- }
-}
-
-sub errorInStep {
- my ($_o, $_err) = @_;
- print "error :(\n";
- c::_exit(1);
-}
-sub kill_action {}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-#------------------------------------------------------------------------------
-sub selectLanguage {
- my ($o) = @_;
-
- #- for auto_install compatibility with old $o->{lang}
- $o->{locale} = lang::system_locales_to_ourlocale($o->{lang}, $o->{lang}) if $o->{lang};
-
- lang::set($o->{locale}{lang}, !$o->isa('interactive::gtk'));
- $o->{locale}{langs} ||= { $o->{locale}{lang} => 1 };
-
- if (!exists $o->{locale}{country}) {
- $o->{locale}{country} = $1 if lang::l2locale($o->{locale}{lang}) =~ /^.._(..)/;
- }
-
- lang::langs_selected($o->{locale});
- log::l("selectLanguage: pack_langs: ", lang::pack_langs($o->{locale}{langs}), " utf8-flag: ", to_bool($o->{locale}{utf8}));
-
- #- for auto_install compatibility with old $o->{keyboard} containing directly $o->{keyboard}{KEYBOARD}
- $o->{keyboard} = { KEYBOARD => $o->{keyboard} } if $o->{keyboard} && !ref($o->{keyboard});
-
- if (!$o->{keyboard} || $o->{keyboard}{unsafe}) {
- $o->{keyboard} = keyboard::from_usb() || keyboard::lang2keyboard($o->{locale}{lang});
- $o->{keyboard}{unsafe} = 1;
- keyboard::setup($o->{keyboard}) if !$::live;
- }
-
- $o->charsetChanged;
-
- addToBeDone {
- lang::write_langs($o->{prefix}, $o->{locale}{langs});
- } 'formatPartitions' unless $::g_auto_install;
- addToBeDone {
- lang::write($o->{prefix}, $o->{locale});
- } 'installPackages' unless $::g_auto_install;
-}
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($o) = @_;
- $o->{keyboard}{KBCHARSET} = lang::l2charset($o->{locale}{lang});
- keyboard::setup($o->{keyboard});
-
- addToBeDone {
- keyboard::write($o->{keyboard});
- } 'installPackages' if !$::g_auto_install && (!$o->{isUpgrade} || !$o->{keyboard}{unsafe});
-
- if ($o->{raw_X}) {
- require Xconfig::default;
- Xconfig::default::config_keyboard($o->{raw_X}, $o->{keyboard});
- $o->{raw_X}->write;
- }
-}
-#------------------------------------------------------------------------------
-sub acceptLicense {}
-
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($o) = @_;
- modules::configure_pcmcia($o->{pcmcia}) if $o->{pcmcia};
- modules::load_ide();
- modules::load_category('bus/firewire');
- modules::load_category('disk/scsi|hardware_raid|firewire');
-
- install_any::getHds($o, $o);
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass {
- my ($o) = @_;
-
- if ($o->{partitioning}{use_existing_root} || $o->{isUpgrade}) {
- # either one root is defined (and all is ok), or we take the first one we find
- my $p = fsedit::get_root_($o->{fstab}) || (first(install_any::find_root_parts($o->{fstab}, $o->{prefix})) || die)->{part};
- install_any::use_root_part($o->{all_hds}, $p, $o->{prefix});
- }
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisksBefore {
- my ($o) = @_;
- eval {
- eval { fs::umount("$o->{prefix}/proc") };
- eval { fs::umount_all($o->{fstab}, $o->{prefix}) };
- eval { sleep 1; fs::umount_all($o->{fstab}, $o->{prefix}) } if $@; #- HACK
- } if $o->{fstab} && !$::testing && !$::live;
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisksAfter {
- my ($o) = @_;
-
- if (!$::testing) {
- my $hds = $o->{all_hds}{hds};
- partition_table::write($_) foreach @$hds;
- $_->{rebootNeeded} and $o->rebootNeeded foreach @$hds;
- }
-
- fs::set_removable_mntpoints($o->{all_hds});
- fs::set_all_default_options($o->{all_hds}, %$o, lang::fs_options($o->{locale}))
- if !$o->{isUpgrade};
-
- $o->{fstab} = [ fsedit::get_all_fstab($o->{all_hds}) ];
- fsedit::get_root_($o->{fstab}) or die "Oops, no root partition";
-
- if (arch() =~ /ppc/ && detect_devices::get_mac_generation() =~ /NewWorld/) {
- die "Need bootstrap partition to boot system!" if !(defined $partition_table::mac::bootstrap_part);
- }
-
- if (arch() =~ /ia64/ && !fsedit::has_mntpoint("/boot/efi", $o->{all_hds})) {
- die \N("You must have a FAT partition mounted in /boot/efi");
- }
-
- if ($o->{partitioning}{use_existing_root} && !$::recovery) {
- #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat
- fs::mount_part($_, $o->{prefix}) foreach sort { $a->{mntpoint} cmp $b->{mntpoint} }
- grep { $_->{mntpoint} && maybeFormatted($_) } @{$o->{fstab}};
- }
-
- cat_("/proc/mounts") =~ m|(\S+)\s+/tmp/image nfs| &&
- !any { $_->{mntpoint} eq "/mnt/nfs" } @{$o->{all_hds}{nfss}} and
- push @{$o->{all_hds}{nfss}}, { type => 'nfs', mntpoint => "/mnt/nfs", device => $1, options => "noauto,ro,nosuid,soft,rsize=8192,wsize=8192" };
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- my ($o) = @_;
-
- if ($o->{partitioning}{auto_allocate}) {
- fsedit::auto_allocate($o->{all_hds}, $o->{partitions});
- }
-}
-
-#------------------------------------------------------------------------------
-
-sub ask_mntpoint_s {#-}}}
- my ($_o, $fstab) = @_;
-
- #- TODO: set the mntpoints
-
- my %m; foreach (@$fstab) {
- my $m = $_->{mntpoint};
-
- next if !$m || $m eq 'swap'; #- there may be a lot of swap.
-
- $m{$m} and die \N("Duplicate mount point %s", $m);
- $m{$m} = 1;
-
- #- in case the type does not correspond, force it to ext3
- $_->{type} = 0x483 if $m =~ m|^/| && !isTrueFS($_) && !isOtherAvailableFS($_);
- }
- 1;
-}
-
-
-sub rebootNeeded($) {
- my ($_o) = @_;
- log::l("Rebooting...");
- c::_exit(0);
-}
-
-sub choosePartitionsToFormat($$) {
- my ($_o, $fstab) = @_;
-
- foreach (@$fstab) {
- $_->{mntpoint} = "swap" if isSwap($_);
- $_->{mntpoint} or next;
-
- add2hash_($_, { toFormat => $_->{notFormatted} });
- $_->{$::recovery ? 'toFormat' : 'toFormatUnsure'} ||= member($_->{mntpoint}, '/', '/usr');
-
- if (!$_->{toFormat}) {
- my $t = fsedit::typeOfPart($_->{device});
- $_->{toFormatUnsure} ||=
- #- if detected dos/win, it's not precise enough to just compare the types (too many of them)
- (!$t || isOtherAvailableFS({ type => $t }) ? !isOtherAvailableFS($_) : $t != $_->{type});
- }
- }
-}
-
-sub formatMountPartitions {
- my ($o) = @_;
- fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix});
-}
-
-#------------------------------------------------------------------------------
-sub setPackages {
- my ($o, $rebuild_needed) = @_;
-
- install_any::setPackages($o, $rebuild_needed);
- pkgs::selectPackagesAlreadyInstalled($o->{packages}, $o->{prefix});
- $rebuild_needed and pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix});
-}
-
-sub choosePackages {
- my ($o, $packages, $_compssUsers, $first_time) = @_;
-
- #- now for upgrade, package that must be upgraded are
- #- selected first, after is used the same scheme as install.
-
- #- make sure we kept some space left for available else the system may
- #- not be able to start (xfs at least).
- my $available = install_any::getAvailableSpace($o);
- my $availableCorrected = pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
- log::l(sprintf "available size %s (corrected %s)", formatXiB($available), formatXiB($availableCorrected));
-
- add2hash_($o, { compssListLevel => 5 }) if !$::auto_install;
-
- #- avoid destroying user selection of packages but only
- #- for expert, as they may have done individual selection before.
- if ($first_time || !$::expert) {
- exists $o->{compssListLevel}
- and pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $o->{compssListLevel}, $availableCorrected);
- }
- $availableCorrected;
-}
-
-sub beforeInstallPackages {
- my ($o) = @_;
-
- #- save these files in case of upgrade failure.
- if ($o->{isUpgrade}) {
- foreach (@filesToSaveForUpgrade) {
- unlink "$o->{prefix}/$_.mdkgisave";
- if (-e "$o->{prefix}/$_") {
- eval { cp_af("$o->{prefix}/$_", "$o->{prefix}/$_.mdkgisave") };
- }
- }
- foreach (@filesNewerToUseAfterUpgrade) {
- unlink "$o->{prefix}/$_.rpmnew";
- }
- }
-
- #- some packages need such files for proper installation.
- install_any::write_fstab($o);
-
- require network;
- network::add2hosts("$o->{prefix}/etc/hosts", "localhost.localdomain", "127.0.0.1");
-
- log::l("setting excludedocs to $o->{excludedocs}");
- substInFile { s/%_excludedocs.*//; $_ .= "%_excludedocs yes\n" if eof && $o->{excludedocs} } "$o->{prefix}/etc/rpm/macros";
-
- #- add oem theme if the files exists.
- install_any::getAndSaveFile("Mandrake/base/oem-theme.rpm", "$o->{prefix}/usr/share/oem-theme.rpm");
-}
-
-sub pkg_install {
- my ($o, @l) = @_;
- log::l("selecting packages ".join(" ", @l));
- require pkgs;
- if ($::testing) {
- log::l("selecting package \"$_\"") foreach @l;
- } else {
- $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix});
- pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found") foreach @l;
- }
- my @toInstall = pkgs::packagesToInstall($o->{packages});
- if (@toInstall) {
- log::l("installing packages");
- $o->installPackages;
- } else {
- log::l("all packages selected are already installed, nothing to do")
- }
-}
-
-sub pkg_install_if_requires_satisfied {
- my ($o, @l) = @_;
- require pkgs;
- $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix});
- foreach (@l) {
- my %newSelection;
- my $pkg = pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found";
- pkgs::selectPackage($o->{packages}, $pkg, 0, \%newSelection);
- if (scalar(keys %newSelection) == 1) {
- pkgs::selectPackage($o->{packages}, $pkg);
- } else {
- log::l("pkg_install_if_requires_satisfied: not selecting $_ because of ", join(", ", keys %newSelection));
- }
- }
- $o->installPackages;
-}
-
-sub installPackages($$) { #- complete REWORK, TODO and TOCHECK!
- my ($o) = @_;
- my $packages = $o->{packages};
-
- if (%{$packages->{state}{ask_remove} || {}}) {
- log::l("removing : ", join ', ', keys %{$packages->{state}{ask_remove}});
- pkgs::remove($o->{prefix}, [ keys %{$packages->{state}{ask_remove}} ], $packages);
- }
-
- #- small transaction will be built based on this selection and depslist.
- my @toInstall = pkgs::packagesToInstall($packages);
-
- my $time = time();
- $ENV{DURING_INSTALL} = 1;
- pkgs::install($o->{prefix}, $o->{isUpgrade}, \@toInstall, $packages);
-
- any::writeandclean_ldsoconf($o->{prefix});
- delete $ENV{DURING_INSTALL};
- run_program::rooted_or_die($o->{prefix}, 'ldconfig') unless $::g_auto_install;
- log::l("Install took: ", formatTimeRaw(time() - $time));
- install_any::log_sizes($o);
- scalar(@toInstall); #- return number of packages installed.
-}
-
-sub afterInstallPackages($) {
- my ($o) = @_;
-
- return if $::g_auto_install;
-
- die \N("Some important packages didn't get installed properly.
-Either your cdrom drive or your cdrom is defective.
-Check the cdrom on an installed computer using \"rpm -qpl Mandrake/RPMS/*.rpm\"
-") if any { m|read failed: Input/output error| } cat_("$o->{prefix}/root/drakx/install.log");
-
- if (arch() !~ /^sparc/) { #- TODO restore it as may be needed for sparc
- -x "$o->{prefix}/usr/bin/dumpkeys" or $::testing or die
-"Some important packages didn't get installed properly.
-
-Please switch to console 2 (using ctrl-alt-f2)
-and look at the log file /tmp/ddebug.log
-
-Consoles 1,3,4,7 may also contain interesting information";
- }
-
- #- why not? cuz weather is nice today :-) [pixel]
- common::sync(); common::sync();
-
- my $have_devfsd = do {
- my $p = pkgs::packageByName($o->{packages}, 'devfsd');
- $p && $p->flag_installed
- };
- if ($have_devfsd) {
- require bootloader;
- bootloader::may_append($o->{bootloader}, devfs => 'mount');
- }
-
- #- generate /etc/lvmtab needed for rc.sysinit
- run_program::rooted($o->{prefix}, 'vgscan') if -e '/etc/lvmtab';
-
- #- configure PCMCIA services if needed.
- modules::write_pcmcia($o->{prefix}, $o->{pcmcia});
-
- #- for mandrake_firstime
- touch "$o->{prefix}/var/lock/TMP_1ST";
-
- any::config_dvd($o->{prefix}, $have_devfsd);
- any::config_mtools($o->{prefix});
-
- #- make sure wins is disabled in /etc/nsswitch.conf
- #- else if eth0 is not existing, glibc segfaults.
- substInFile { s/\s*wins// if /^\s*hosts\s*:/ } "$o->{prefix}/etc/nsswitch.conf";
-
- #- make sure some services have been enabled (or a catastrophic restart will occur).
- #- these are normally base package post install scripts or important services to start.
- run_program::rooted($o->{prefix}, "chkconfig", "--add", $_) foreach
- qw(random netfs network rawdevices sound kheader keytable syslog crond portmap);
-
- if ($o->{mouse}{device} =~ /ttyS/) {
- log::l("disabling gpm for serial mice (doesn't get along nicely with X)");
- run_program::rooted($o->{prefix}, "chkconfig", "--del", "gpm")
- }
-
- #- install urpmi before as rpmdb will be opened, this will cause problem with update-menus.
- $o->install_urpmi;
-
- #- update menu scheme before calling update menus if desktop mode.
- if ($o->{meta_class} eq 'desktop') {
- run_program::rooted($o->{prefix}, "touch", "/etc/menu/do-not-create-menu-link");
- run_program::rooted($o->{prefix}, "touch", "/etc/menu/enable_simplified");
- } elsif (!$o->{isUpgrade}) {
- run_program::rooted($o->{prefix}, "touch", "/etc/menu/do-not-create-menu-link");
- }
-
- if ($o->{pcmcia}) {
- substInFile { s/.*(TaskBarShowAPMStatus).*/$1=1/ } "$o->{prefix}/usr/lib/X11/icewm/preferences";
- eval { cp_af("$o->{prefix}/usr/share/applnk/System/kapm.kdelnk",
- "$o->{prefix}/etc/skel/Desktop/Autostart/kapm.kdelnk") };
- }
-
- if ($o->{brltty}) {
- output("$o->{prefix}/etc/brltty.conf", <<EOF);
-braille-driver $o->{brltty}{driver}
-braille-device $o->{brltty}{device}
-text-table $o->{brltty}{table}
-EOF
- }
-
-
- install_any::disable_user_view() if $o->{security} >= 3 || $o->{authentication}{NIS};
- run_program::rooted($o->{prefix}, "kdeDesktopCleanup");
-
- foreach (list_skels($o->{prefix}, '.kde/share/config/kfmrc')) {
- my $found;
- substInFile {
- $found ||= /KFM Misc Defaults/;
- $_ .=
-"[KFM Misc Defaults]
-GridWidth=85
-GridHeight=70
-" if eof && !$found;
- } $_
- }
-
- #- move some file after an upgrade that may be seriously annoying.
- #- and rename saved files to .mdkgiorig.
- if ($o->{isUpgrade}) {
- my $pkg = pkgs::packageByName($o->{packages}, 'rpm');
- $pkg && ($pkg->flag_selected || $pkg->flag_installed) && $pkg->compare(">= 4.0") and pkgs::cleanOldRpmDb($o->{prefix});
-
- log::l("moving previous desktop files that have been updated to Trash of each user");
- install_any::kdemove_desktop_file($o->{prefix});
-
- foreach (@filesToSaveForUpgrade) {
- renamef("$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_.mdkgiorig")
- if -e "$o->{prefix}$_.mdkgisave";
- }
-
- foreach (@filesNewerToUseAfterUpgrade) {
- if (-e "$o->{prefix}/$_.rpmnew" && -e "$o->{prefix}/$_") {
- renamef("$o->{prefix}/$_", "$o->{prefix}/$_.mdkgiorig");
- renamef("$o->{prefix}/$_.rpmnew", "$o->{prefix}/$_");
- }
- }
- }
-
- #- fix bad update-alternatives that may occurs after upgrade (but let them for install too).
- if (-d "$o->{prefix}/etc/alternatives") {
- foreach (all("$o->{prefix}/etc/alternatives")) {
- next if run_program::rooted($o->{prefix}, 'test', '-e', "/etc/alternatives/$_");
- log::l("fixing broken alternative $_");
- run_program::rooted($o->{prefix}, "update-alternatives", "--auto", $_);
- }
- }
-
- #- update theme directly from a package (simplest).
- if (-s "$o->{prefix}/usr/share/oem-theme.rpm") {
- run_program::rooted($o->{prefix}, "rpm", "-U", "/usr/share/oem-theme.rpm");
- unlink "/usr/share/oem-theme.rpm";
- }
-
- #- call update-menus at the end of package installation
- push @{$o->{waitpids}}, run_program::raw({ root => $o->{prefix}, detach => 1 }, "update-menus", "-n");
-
- if ($o->{blank} || $o->{updatemodules}) {
- my @l = detect_devices::floppies_dev();
-
- foreach (qw(blank updatemodules)) {
- $o->{$_} eq "1" and $o->{$_} = $l[0] || die \N("No floppy drive available");
- }
-
- $o->{blank} and $o->copyKernelFromFloppy;
- $o->{updatemodules} and $o->updateModulesFromFloppy;
- }
-}
-
-sub copyKernelFromFloppy {
- my ($o) = @_;
- return if $::testing || !$o->{blank};
-
- fs::mount($o->{blank}, "/floppy", "vfat", 0);
- eval { cp_af("/floppy/vmlinuz", "$o->{prefix}/boot/vmlinuz-default") };
- if ($@) {
- log::l("copying of /floppy/vmlinuz from blank modified disk failed: $@");
- }
- fs::umount("/floppy");
-}
-
-sub install_urpmi {
- my ($o) = @_;
-
- my $pkg = pkgs::packageByName($o->{packages}, 'urpmi');
- if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)) {
- install_any::install_urpmi($o->{prefix},
- $o->{method},
- $o->{packages},
- $o->{packages}{mediums});
- pkgs::saveCompssUsers($o->{prefix}, $o->{packages}, $o->{compssUsers}, $o->{compssUsersSorted});
- }
-}
-
-sub updateModulesFromFloppy {
- my ($o) = @_;
- return if $::testing || !$o->{updatemodules};
-
- fs::mount($o->{updatemodules}, "/floppy", "ext2", 0);
- foreach (glob_("$o->{prefix}/lib/modules/*")) {
- my ($kernelVersion) = m,lib/modules/(\S*),;
- log::l("examining updated modules for kernel $kernelVersion");
- if (-d "/floppy/$kernelVersion") {
- my @src_files = glob_("/floppy/$kernelVersion/*");
- my @dest_files = map { chomp_($_) } run_program::rooted_get_stdout($o->{prefix}, 'find', '/lib/modules');
- foreach my $s (@src_files) {
- log::l("found updatable module $s");
- my ($sfile, $sext) = $s =~ m!([^/\.]*\.o)(?:\.gz|\.bz2)?$!;
- my $qsfile = quotemeta $sfile;
- my $qsext = quotemeta $sext;
- foreach my $target (@dest_files) {
- $target =~ /$qsfile/ or next;
- eval { cp_af($s, $target) };
- if ($@) {
- log::l("updating module $target by $s failed: $@");
- } else {
- log::l("updating module $target by $s");
- }
- if ($target !~ /$qsfile$qsext$/) {
- #- extension differ, first rename target file correctly,
- #- then uncompress source file, then compress it as expected.
- my ($basetarget, $text) = $target =~ /(.*?)(\.gz|\.bz2)$/;
- rename $target, "$basetarget$sext";
- $sext eq '.gz' and run_program::run("gzip", "-d", "$basetarget$sext");
- $sext eq '.bz2' and run_program::run("bzip2", "-d", "$basetarget$sext");
- $text eq '.gz' and run_program::run("gzip", $basetarget);
- $text eq '.bz2' and run_program::run("bzip2", $basetarget);
- }
- }
- }
- }
- }
- fs::umount("/floppy");
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse($) {
- my ($_o) = @_;
-}
-
-#------------------------------------------------------------------------------
-sub configureNetwork {
- my ($o) = @_;
- require network;
- network::configureNetwork2($o, $o->{prefix}, $o->{netc}, $o->{intf});
- if ($o->{method} =~ /ftp|http|nfs/) {
- $o->{netcnx}{type} = 'lan';
- foreach ("up", "down") {
- my $f = "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_$_";
- output_with_perm($f, 0755, "\nif$_ eth0\n");
- }
- output "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_pg", "\n/usr/sbin/drakconnect\n";
-
- require network::netconnect;
- $o->{netcnx}{$_} = $o->{netc}{$_} foreach qw(NET_DEVICE NET_INTERFACE);
- }
-}
-
-#------------------------------------------------------------------------------
-sub installUpdates {
- my ($o) = @_;
- my $u = $o->{updates} or return; $u->{updates} or return;
-
- upNetwork($o);
- require crypto;
- crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror}) and
- $o->pkg_install(@{$u->{packages} || []});
-
- #- re-install urpmi with update security medium.
- $o->install_urpmi;
-}
-
-sub summaryBefore {}
-
-sub summary {
- my ($o) = @_;
- configureTimezone($o);
- configurePrinter($o) if $o->{printer};
-}
-
-sub summaryAfter {
- my ($o) = @_;
-
- require bootloader;
- my $acpi = bootloader::get_append($o->{bootloader}, 'acpi');
- if ($acpi ne 'off' && $acpi ne 'ht' && !(-x "$::prefix/usr/bin/acpi" && -x "$::prefix/usr/sbin/acpid")) {
- $o->do_pkgs->install(qw(acpi acpid));
- }
-}
-
-#------------------------------------------------------------------------------
-sub configureTimezone {
- my ($o) = @_;
- install_any::preConfigureTimezone($o);
-
- $o->pkg_install('ntp') if $o->{timezone}{ntp};
-
- require timezone;
- timezone::write($o->{prefix}, $o->{timezone});
-}
-
-#------------------------------------------------------------------------------
-sub configureServices {
- my ($o) = @_;
- if ($o->{services}) {
- require services;
- services::doit($o, $o->{services});
- }
-}
-#------------------------------------------------------------------------------
-sub configurePrinter {
- my ($o) = @_;
- $o->do_pkgs->install('foomatic-filters', 'foomatic-db-engine', 'foomatic-db', 'printer-utils', 'printer-testpages',
- if_($o->do_pkgs->is_installed('gimp'), 'gimpprint'));
-
- require printer::main;
- eval { add2hash($o->{printer} ||= {}, printer::main::getinfo($o->{prefix})) }; #- get existing configuration.
-
- require printer::printerdrake;
- printer::printerdrake::install_spooler($o->{printer}, $o); #- not interactive...
-
- foreach (values %{$o->{printer}{configured} || {}}) {
- log::l("configuring printer queue " . $_->{queuedata}{queue} || $_->{QUEUE});
- #- when copy is so adulée (sorry french taste :-)
- #- and when there are some configuration in one place and in another place...
- $o->{printer}{currentqueue} = {};
- printer::main::copy_printer_params($_->{queuedata}, $o->{printer}{currentqueue});
- printer::main::copy_printer_params($_, $o->{printer});
- #- setup all configured queues, which is not the case interactively where
- #- only the working queue is setup on configuration.
- printer::main::configure_queue($o->{printer});
- }
-}
-
-#------------------------------------------------------------------------------
-sub setRootPassword {
- my ($o) = @_;
- $o->{superuser} ||= {};
- $o->{superuser}{name} = 'root';
- any::write_passwd_user($o->{superuser}, $o->{authentication}{md5});
- delete $o->{superuser}{name};
- install_any::set_authentication($o);
-}
-
-#------------------------------------------------------------------------------
-
-sub addUser {
- my ($o) = @_;
- my $users = $o->{users} ||= [];
-
- my (%uids, %gids);
- foreach (glob_("$::prefix/home")) { my ($u, $g) = (stat($_))[4,5]; $uids{$u} = 1; $gids{$g} = 1 }
-
- foreach (@$users) {
- $_->{home} ||= "/home/$_->{name}";
-
- my $u = $_->{uid} || ($_->{oldu} = (stat("$::prefix$_->{home}"))[4]) || int getpwnam($_->{name});
- my $g = $_->{gid} || ($_->{oldg} = (stat("$::prefix$_->{home}"))[5]) || int getgrnam($_->{name});
- #- search for available uid above 501 else initscripts may fail to change language for KDE.
- if (!$u || getpwuid($u)) { for ($u = 501; getpwuid($u) || $uids{$u}; $u++) {} }
- if (!$g) { for ($g = 501; getgrgid($g) || $gids{$g}; $g++) {} }
-
- $_->{uid} = $u; $uids{$u} = 1;
- $_->{gid} = $g; $gids{$g} = 1;
- }
-
- any::write_passwd_user($_, $o->{authentication}{md5}) foreach @$users;
-
- append_to_file("$::prefix/etc/group",
- map { "$_->{name}:x:$_->{gid}:\n" } grep { ! getgrgid($_->{gid}) } @$users);
-
- foreach my $u (@$users) {
- if (! -d "$::prefix$u->{home}") {
- my $mode = $o->{security} < 2 ? 0755 : 0750;
- eval { cp_af("$::prefix/etc/skel", "$::prefix$u->{home}") };
- if ($@) {
- log::l("copying of skel failed: $@"); mkdir("$::prefix$u->{home}", $mode);
- } else {
- chmod $mode, "$::prefix$u->{home}";
- }
- }
- require commands;
- eval { commands::chown_("-r", "$u->{uid}.$u->{gid}", "$::prefix$u->{home}") }
- if $u->{uid} != $u->{oldu} || $u->{gid} != $u->{oldg};
- }
- #- since we wrote the password in /etc/passwd, we must convert to shadow
- run_program::rooted($::prefix, 'pwconv') if $o->{authentication}{shadow};
-
- any::addUsers($users);
-
- if ($o->{autologin}) {
- $o->{desktop} ||= first(any::sessions());
- $o->pkg_install("autologin") if !member($o->{desktop}, 'KDE', 'GNOME');
- }
- any::set_autologin($o->{autologin}, $o->{desktop});
-
- install_any::disable_user_view() if @$users == ();
-}
-
-#------------------------------------------------------------------------------
-sub readBootloaderConfigBeforeInstall {
- my ($o) = @_;
-
- require bootloader;
- add2hash($o->{bootloader} ||= {}, bootloader::read());
-
- $o->{bootloader}{bootUnsafe} = 0 if $o->{bootloader}{boot}; #- when upgrading, don't ask where to install the bootloader (mbr vs boot partition)
-
- #- since kernel or kernel-smp may not be upgraded, it should be checked
- #- if there is a need to update existing lilo.conf entries by following
- #- symlinks before kernel or other packages get installed.
- #- update everything that could be a filename (for following symlink).
- foreach my $e (@{$o->{bootloader}{entries}}) {
- while (my $v = readlink "$o->{prefix}/$e->{kernel_or_dev}") {
- $v = "/boot/$v" if $v !~ m|^/|; -e "$o->{prefix}$v" or last;
- log::l("renaming $e->{kernel_or_dev} entry by $v");
- $e->{kernel_or_dev} = $v;
- }
- while (my $v = readlink "$o->{prefix}/$e->{initrd}") {
- $v = "/boot/$v" if $v !~ m|^/|; -e "$o->{prefix}$v" or last;
- log::l("renaming $e->{initrd} entry by $v");
- $e->{initrd} = $v;
- }
- }
-}
-
-sub setupBootloaderBefore {
- my ($o) = @_;
-
- require bootloader;
- if (my @l = (grep { $_->{bus} eq 'ide' } detect_devices::burners(), detect_devices::raw_zips())) {
- bootloader::set_append($o->{bootloader}, $_->{device}, 'ide-scsi') foreach @l;
- }
- if ($o->{miscellaneous}{HDPARM}) {
- bootloader::set_append($o->{bootloader}, $_, 'autotune') foreach grep { /ide/ } all("/proc/ide");
- }
- if (cat_("/proc/cmdline") =~ /mem=nopentium/) {
- bootloader::set_append($o->{bootloader}, 'mem', 'nopentium');
- }
- if (cat_("/proc/cmdline") =~ /\b(pci)=(\S+)/) {
- bootloader::set_append($o->{bootloader}, $1, $2);
- }
- if (cat_("/proc/cmdline") =~ /\bacpi=off/) {
- bootloader::set_append($o->{bootloader}, acpi => 'off');
- }
- if (cat_("/proc/cmdline") =~ /\bacpi=ht/) {
- bootloader::set_append($o->{bootloader}, acpi => 'ht');
- }
- if (cat_("/proc/cmdline") =~ /\bnoapic/) {
- bootloader::set_append($o->{bootloader}, 'noapic');
- }
- my ($MemTotal) = cat_("/proc/meminfo") =~ /^MemTotal:\s*(\d+)/m;
- if (my ($biggest_swap) = sort { $b->{size} <=> $a->{size} } grep { isSwap($_) } @{$o->{fstab}}) {
- log::l("MemTotal: $MemTotal < ", $biggest_swap->{size} / 2);
- bootloader::set_append($o->{bootloader}, resume => devices::make($biggest_swap->{device})) if $MemTotal < $biggest_swap->{size} / 2;
- }
-
- if (arch() =~ /alpha/) {
- if (my $dev = fsedit::get_root($o->{fstab})) {
- $o->{bootloader}{boot} ||= "/dev/$dev->{rootDevice}";
- $o->{bootloader}{root} ||= "/dev/$dev->{device}";
- $o->{bootloader}{part_nb} ||= first($dev->{device} =~ /(\d+)/);
- }
- } else {
- #- check for valid fb mode to enable a default boot with frame buffer.
- my $vga = $o->{allowFB} && (!detect_devices::matching_desc('3D Rage LT') &&
- !detect_devices::matching_desc('Rage Mobility [PL]') &&
- !detect_devices::matching_desc('i740') &&
- !detect_devices::matching_desc('Matrox') &&
- !detect_devices::matching_desc('Tseng.*ET6\d00') &&
- !detect_devices::matching_desc('SiS.*SG86C2.5') &&
- !detect_devices::matching_desc('SiS.*559[78]') &&
- !detect_devices::matching_desc('SiS.*300') &&
- !detect_devices::matching_desc('SiS.*540') &&
- !detect_devices::matching_desc('SiS.*6C?326') &&
- !detect_devices::matching_desc('SiS.*6C?236') &&
- !detect_devices::matching_desc('Voodoo [35]|Voodoo Banshee') && #- 3d acceleration seems to bug in fb mode
- !detect_devices::matching_desc('828[14][05].* CGC') #- i810 & i845 now have FB support during install but we disable it afterwards
- );
- my $force_vga = $o->{allowFB} && (detect_devices::matching_desc('SiS.*630') || #- SiS 630 need frame buffer.
- detect_devices::matching_desc('GeForce.*Integrated') #- needed for fbdev driver (hack).
- );
-
- #- propose the default fb mode for kernel fb, if aurora or bootsplash is installed.
- my $need_fb = do {
- my $p = pkgs::packageByName($o->{packages}, 'bootsplash');
- $p && $p->flag_installed;
- };
- bootloader::suggest($o->{bootloader}, $o->{all_hds}{hds}, $o->{fstab},
- vga_fb => ($force_vga || $vga && $need_fb) && $o->{vga},
- quiet => $o->{meta_class} ne 'server');
- bootloader::suggest_floppy($o->{bootloader}) if $o->{security} <= 3 && arch() !~ /ppc/;
-
- $o->{bootloader}{keytable} ||= keyboard::keyboard2kmap($o->{keyboard});
- }
-}
-
-sub setupBootloader {
- my ($o) = @_;
- return if $::g_auto_install;
-
- if (arch() =~ /alpha/) {
- return if $::testing;
- my $b = $o->{bootloader};
- $b->{boot} or $o->ask_warn('', "Can't install aboot, not a bsd disklabel"), return;
-
- run_program::rooted($o->{prefix}, "swriteboot", $b->{boot}, "/boot/bootlx") or do {
- cdie "swriteboot failed";
- run_program::rooted($o->{prefix}, "swriteboot", "-f1", $b->{boot}, "/boot/bootlx");
- };
- run_program::rooted($o->{prefix}, "abootconf", $b->{boot}, $b->{part_nb});
-
- modules::load('loop');
- output "$o->{prefix}/etc/aboot.conf",
- map_index { -e "$o->{prefix}/boot/initrd-$_->[1]" ?
- "$::i:$b->{part_nb}$_->[0] root=$b->{root} initrd=/boot/initrd-$_->[1] $b->{perImageAppend}\n" :
- "$::i:$b->{part_nb}$_->[0] root=$b->{root} $b->{perImageAppend}\n" }
- map { run_program::rooted($o->{prefix}, "mkinitrd", "-f", "/boot/initrd-$_->[1]", "--ifneeded", $_->[1]);
- $_ } grep { $_->[0] && $_->[1] }
- map { [ m|$o->{prefix}(/boot/vmlinux-(.*))| ] } glob_("$o->{prefix}/boot/vmlinux-*");
-# output "$o->{prefix}/etc/aboot.conf",
-# map_index { "$::i:$b->{part_nb}$_ root=$b->{root} $b->{perImageAppend}\n" }
-# map { /$o->{prefix}(.*)/ } eval { glob_("$o->{prefix}/boot/vmlinux*") };
- } else {
- require bootloader;
- bootloader::install($o->{bootloader}, $o->{fstab}, $o->{all_hds}{hds});
- }
-}
-
-#------------------------------------------------------------------------------
-sub configureXBefore {
- my ($o) = @_;
-
- #- keep this here if the package has to be updated.
- $o->pkg_install("XFree86");
-}
-sub configureX {
- my ($o) = @_;
- configureXBefore($o);
-
- require Xconfig::default;
- $o->{raw_X} = Xconfig::default::configure($o->{keyboard}, $o->{mouse});
-
- require Xconfig::main;
- Xconfig::main::configure_everything_auto_install($o->{raw_X}, $o->do_pkgs, $o->{X},
- { allowFB => $o->{allowFB},
- allowNVIDIA_rpms => $o->do_pkgs->check_kernel_module_packages('NVIDIA_kernel', 'NVIDIA_GLX'),
- });
- configureXAfter($o);
-}
-sub configureXAfter {
- my ($o) = @_;
- if ($o->{X}{bios_vga_mode}) {
- install_any::setupFB($o, $o->{X}{bios_vga_mode}) or do {
- log::l("disabling automatic start-up of X11 if any as setup framebuffer failed");
- Xconfig::various::runlevel(3); #- disable automatic start-up of X11 on error.
- };
- }
- if ($o->{X}{default_depth} >= 16 && $o->{X}{resolution_wanted} >= 1024) {
- log::l("setting large icon style for kde");
- install_any::kderc_largedisplay($o->{prefix});
- }
-}
-
-#------------------------------------------------------------------------------
-sub miscellaneousBefore {
- my ($o) = @_;
-
- my %s = getVarsFromSh("$o->{prefix}/etc/sysconfig/system");
- $o->{miscellaneous}{HDPARM} = $s{HDPARM} if exists $s{HDPARM};
- require security::level;
- require security::various;
- $o->{security} ||= security::level::get() || ($o->{meta_class} =~ /server|firewall/ ? 3 : 2);
- $o->{security_user} ||= security::various::config_security_user($o->{prefix});
- $o->{libsafe} ||= security::various::config_libsafe($o->{prefix});
-
- log::l("security $o->{security}");
-
- add2hash_($o->{miscellaneous} ||= {}, { numlock => !detect_devices::isLaptop() });
-}
-sub miscellaneous {
- my ($_o) = @_;
- #- keep some given parameters
- #-TODO
-}
-sub miscellaneousAfter {
- my ($o) = @_;
- add2hash_ $o, { useSupermount => $o->{security} < 4 };
-
- $ENV{SECURE_LEVEL} = $o->{security}; #- deprecated with chkconfig 1.3.4-2mdk, uses /etc/sysconfig/msec
-
- addToBeDone {
- setVarsInSh("$o->{prefix}/etc/sysconfig/system", {
- CLASS => $::expert && 'expert' || 'beginner',
- SECURITY => $o->{security},
- META_CLASS => $o->{meta_class} || 'PowerPack',
- });
- substInFile { s/KEYBOARD_AT_BOOT=.*/KEYBOARD_AT_BOOT=yes/ } "$o->{prefix}/etc/sysconfig/usb" if detect_devices::usbKeyboards();
-
- } 'installPackages';
-}
-
-#------------------------------------------------------------------------------
-sub exitInstall {
- my ($o) = @_;
- eval {
- my $report = '/root/drakx/report.bug';
- unlink "$::prefix$report", "$::prefix$report.gz";
- output "$::prefix$report", install_any::report_bug($o->{prefix});
- run_program::rooted($::prefix, 'gzip', $report);
- };
- install_any::getAndSaveAutoInstallFloppy($o, 1, "$o->{prefix}/root/drakx/replay_install.img");
- eval { output "$o->{prefix}/root/drakx/README", "This directory contains several installation-related files,
-mostly log files (very useful if you ever report a bug!).
-
-Beware that some Mandrake tools rely on the contents of some
-of these files... so remove any file from here at your own
-risk!
-" };
- #- wait for remainging processes.
- foreach (@{$o->{waitpids}}) {
- waitpid $_, 0;
- log::l("pid $_ returned $?");
- }
- install_any::unlockCdrom();
- install_any::log_sizes($o);
-}
-
-#------------------------------------------------------------------------------
-sub hasNetwork {
- my ($o) = @_;
- $o->{netcnx}{type} && $o->{netc}{NETWORKING} ne 'no' and return 1;
- log::l("no network seems to be configured for internet ($o->{netcnx}{type},$o->{netc}{NETWORKING})");
- 0;
-}
-
-#------------------------------------------------------------------------------
-sub upNetwork {
- my ($o, $b_pppAvoided) = @_;
-
- #- do not destroy this file if prefix is '' or even '/' (could it happens ?).
- if (length($o->{prefix}) > 1) {
- symlinkf("$o->{prefix}/etc/$_", "/etc/$_") foreach qw(resolv.conf protocols services);
- }
- member($o->{method}, qw(ftp http nfs)) and return 1;
- modules::write_conf($o->{prefix});
- if (hasNetwork($o)) {
- if ($o->{netcnx}{type} =~ /adsl|lan|cable/) {
- require network::netconnect;
- network::netconnect::start_internet($o);
- return 1;
- } elsif (!$b_pppAvoided) {
- eval { modules::load(qw(serial ppp bsd_comp ppp_deflate)) };
- run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "start");
- require network::netconnect;
- network::netconnect::start_internet($o);
- return 1;
- }
- }
- $::testing;
-}
-
-#------------------------------------------------------------------------------
-sub downNetwork {
- my ($o, $costlyOnly) = @_;
-
- $o->{method} eq "ftp" || $o->{method} eq "http" || $o->{method} eq "nfs" and return 1;
- modules::write_conf($o->{prefix});
- if (hasNetwork($o)) {
- if (!$costlyOnly) {
- require network::netconnect;
- network::netconnect::stop_internet($o);
- return 1;
- } elsif ($o->{netc}{type} !~ /adsl|lan|cable/) {
- require network::netconnect;
- network::netconnect::stop_internet($o);
- run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "stop");
- eval { modules::unload(qw(ppp_deflate bsd_comp ppp serial)) };
- return 1;
- }
- }
- $::testing;
-}
-
-#------------------------------------------------------------------------------
-sub cleanIfFailedUpgrade($) {
- my ($o) = @_;
-
- #- if an upgrade has failed, there should be .mdkgisave files around.
- if ($o->{isUpgrade}) {
- foreach (@filesToSaveForUpgrade) {
- if (-e "$o->{prefix}/$_" && -e "$o->{prefix}/$_.mdkgisave") {
- rename "$o->{prefix}/$_", "$o->{prefix}/$_.mdkginew"; #- keep new files around in case !
- rename "$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_";
- }
- }
- }
-}
-
-
-1;
diff --git a/perl-install/install_steps_auto_install.pm b/perl-install/install_steps_auto_install.pm
deleted file mode 100644
index e83b34267..000000000
--- a/perl-install/install_steps_auto_install.pm
+++ /dev/null
@@ -1,120 +0,0 @@
-package install_steps_auto_install; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA $graphical @graphical_steps);
-
-@ISA = qw(install_steps);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common;
-use install_steps;
-
-sub new {
- my ($type, $o) = @_;
-
- # Handle legacy options
- $o->{interactive} ||= 'gtk' if $graphical || !is_empty_array_ref($o->{interactiveSteps});
- push @{$o->{interactiveSteps}}, qw(installPackages exitInstall configureNetwork), @graphical_steps;
-
- if ($o->{interactive}) {
- my $interactiveClass = "install_steps_$o->{interactive}";
- require "$interactiveClass.pm";
-
- @ISA = ($interactiveClass, @ISA);
-
- for (my $f = $o->{steps}{first}; $f; $f = $o->{steps}{$f}{next}) {
- my $auto_name = member($f, @{$o->{interactiveSteps}}) ? 'noauto' : 'auto';
- $o->{steps}{$f}{$auto_name} = 1;
- }
-
- goto &{$::{$interactiveClass . "::"}{new}};
- } else {
- @ISA = ('install_steps_auto_install_non_interactive', @ISA);
- (bless {}, ref($type) || $type)->install_steps::new($o);
- }
-}
-
-sub configureNetwork {
- my ($_o) = @_;
- log::l("install_steps_auto_install::configureNetwork");
- modules::load_category('network/main|gigabit|usb');
- goto &install_steps::configureNetwork;
-}
-
-sub exitInstall {
- my ($o, $alldone) = @_;
- return if $o->{autoExitInstall};
-
- if ($o->{interactive}) {
- $o->SUPER::exitInstall($alldone);
- } else {
- install_steps::exitInstall($o);
- print "\a";
- print "Auto installation complete (the postInstall is not done yet though)\n";
- print "Press <Enter> to reboot\n";
- <STDIN>;
- }
-}
-
-
-#-######################################################################################
-#- install_steps_auto_install_non_interactive package
-#-######################################################################################
-package install_steps_auto_install_non_interactive;
-
-use install_steps;
-use lang;
-use modules;
-use common;
-use log;
-
-sub enteringStep {
- my ($o, $step) = @_;
- my ($s, $t) = (N_("Entering step `%s'\n"), $o->{steps}{$step}{text});
- ($s, $t) = (translate($s), translate($t)) if $ENV{LANG} !~ /ja|ko|zh/;
- print sprintf($s, $t);
- $o->install_steps::enteringStep($step);
-}
-
-sub rebootNeeded {
- my ($_o) = @_;
- print "\nWhile partitioning, the partition table re-read failed, needing a reboot\n";
- print "This is plain wrong for an auto_install\n";
- errorInStep();
-}
-
-sub ask_warn {
- log::l(ref($_[1]) ? join " ", @{$_[1]} : $_[1]);
-}
-
-sub wait_message {
- my ($_o, $_title, $_message) = @_;
-}
-
-sub charsetChanged {
- my ($o) = @_;
- lang::load_console_font($o->{locale});
-}
-
-sub errorInStep {
- my ($_o, $_err) = @_;
- print "error :(\n";
- print "switch to console f2 for a shell\n";
- print "Press <Enter> to reboot\n";
- <STDIN>;
- c::_exit(0);
-}
-
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub installPackages {
- my ($o, $packages) = @_;
- catch_cdie { $o->install_steps::installPackages($packages) } sub { print formatError($@), "\n"; 1 }
-}
-
-1;
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
deleted file mode 100644
index 07b654c16..000000000
--- a/perl-install/install_steps_gtk.pm
+++ /dev/null
@@ -1,658 +0,0 @@
-package install_steps_gtk; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive::gtk);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use pkgs;
-use install_steps_interactive;
-use interactive::gtk;
-use common;
-use ugtk2 qw(:helpers :wrappers :create);
-use devices;
-use modules;
-use install_gtk;
-use install_any;
-use mouse;
-use help;
-use log;
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub new($$) {
- my ($type, $o) = @_;
-
- my $old = $SIG{__DIE__};
- $SIG{__DIE__} = sub { $_[0] !~ /ugtk2\.pm/ and goto $old };
-
- $ENV{DISPLAY} ||= $o->{display} || ":0";
- my $wanted_DISPLAY = $::testing && -x '/usr/X11R6/bin/Xnest' ? ':9' : $ENV{DISPLAY};
-
- if ($ENV{DISPLAY} =~ /^:\d/ && !$::testing || $ENV{DISPLAY} ne $wanted_DISPLAY) { #- is the display local or distant?
- my $f = "/tmp/Xconf";
- if (!$::testing) {
- devices::make("/dev/kbd");
- }
- my $launchX = sub {
- my ($server, $Driver) = @_;
- my $ok = 1;
- my $xpmac_opts = cat_('/proc/cmdline');
- install_gtk::createXconf($f, @{$o->{mouse}}{"XMOUSETYPE", "device"}, $o->{mouse}{wacom}[0], $Driver);
-
- mkdir '/var/log' if !-d '/var/log';
- local $SIG{CHLD} = sub { $ok = 0 if waitpid(-1, c::WNOHANG()) > 0 };
-
- my @options = (
- if_(arch() !~ /^sparc/ && arch() ne 'ppc' && $server ne 'Xnest',
- '-kb', '-allowMouseOpenFail', '-xf86config', $f),
- ($wanted_DISPLAY, 'tty7', '-dpms', '-s', '240'),
- );
-
- push @options, $xpmac_opts !~ /ofonly/ ? ('-mode', '17', '-depth', '32') : '-mach64' if $server =~ /Xpmac/;
- push @options, '-fp', '/usr/X11R6/lib/X11/fonts:unscaled' if $server =~ /Xsun|Xpmac/;
- push @options, '-ac', '-geometry', $o->{vga16} ? '640x480' : '800x600' if $server eq 'Xnest';
-
- unless (fork()) {
- exec $server, @options or exit 1;
- }
- foreach (1..60) {
- sleep 1;
- log::l("Server died"), return 0 if !$ok;
- if (c::Xtest($wanted_DISPLAY)) {
- $ugtk2::force_focus = 1;
- return 1;
- }
- }
- log::l("Timeout!!");
- 0;
- };
- my @servers = qw(FBDev VGA16); #-)
- if ($::testing) {
- @servers = 'Xnest';
- } elsif (arch() eq "alpha") {
- require Xconfig::card;
- my ($card) = Xconfig::card::probe();
- Xconfig::card::add_to_card__using_Cards($card, $card->{type}) if $card && $card->{type};
- @servers = $card->{server} || "TGA";
- #-@servers = qw(SVGA 3DLabs TGA)
- } elsif (arch() =~ /^sparc/) {
- local $_ = cat_("/proc/fb");
- if (/Mach64/) {
- @servers = qw(Mach64);
- } elsif (/Permedia2/) {
- @servers = qw(3DLabs);
- } else {
- @servers = qw(Xsun24);
- }
- } elsif (arch() =~ /ia64|x86_64/) {
- require Xconfig::card;
- my ($card) = Xconfig::card::probe();
- @servers = map { if_($_, "Driver:$_") } $card && $card->{Driver}, 'fbdev';
- } elsif (arch() eq "ppc") {
- @servers = qw(Xpmac);
- }
-
- foreach (@servers) {
- log::l("Trying with server $_");
- my $dir = "/usr/X11R6/bin";
- my ($prog, $Driver) = /Driver:(.*)/ ? ('XFree86', $1) : /Xsun|Xpmac|Xnest/ ? $_ : "XF86_$_";
- unless (-x "$dir/$prog") {
- unlink $_ foreach glob_("$dir/X*");
- install_any::getAndSaveFile("Mandrake/mdkinst$dir/$prog", "$dir/$prog") or die "failed to get server $prog: $!";
- chmod 0755, "$dir/$prog";
- }
- if (/FB/) {
- !$o->{vga16} && $o->{allowFB} or next;
-
- $o->{allowFB} = &$launchX($prog, $Driver) #- keep in mind FB is used.
- and goto OK;
- } else {
- $o->{vga16} = 1 if /VGA16/;
- &$launchX($prog, $Driver) and goto OK;
- }
- }
- return undef;
- }
- OK:
- $ENV{DISPLAY} = $wanted_DISPLAY;
- install_gtk::init_gtk();
- install_gtk::init_sizes();
- install_gtk::install_theme($o);
- install_gtk::create_logo_window($o);
- install_gtk::create_steps_window($o);
-
- $ugtk2::force_center = [ $::rootwidth - $::windowwidth, $::logoheight, $::windowwidth, $::windowheight ];
-
- $o = (bless {}, ref($type) || $type)->SUPER::new($o);
- $o->interactive::gtk::new;
- $o;
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
-
- printf "Entering step `%s'\n", $o->{steps}{$step}{text};
- $o->SUPER::enteringStep($step);
- install_gtk::update_steps_position($o);
-# install_gtk::create_help_window($o); #- HACK: without this it doesn't work (reaches step doPartitionDisks then fail)
-}
-sub leavingStep {
- my ($o, $step) = @_;
- $o->SUPER::leavingStep($step);
-}
-
-
-sub charsetChanged {
- my ($o) = @_;
- Gtk2->set_locale;
- install_gtk::load_font($o);
- install_gtk::create_steps_window($o);
-}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-sub selectLanguage {
- my ($o, $first_time) = @_;
- $o->SUPER::selectLanguage;
-
- $o->ask_warn('',
-formatAlaTeX(N("Your system is low on resources. You may have some problem installing
-Mandrake Linux. If that occurs, you can try a text install instead. For this,
-press `F1' when booting on CDROM, then enter `text'."))) if $first_time && availableRamMB() < 70; # 70MB
-
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- my ($o, $force) = @_;
- my %old = %{$o->{mouse}};
- $o->SUPER::selectMouse($force) or return;
- my $mouse = $o->{mouse};
- $mouse->{type} eq 'none' ||
- $old{type} eq $mouse->{type} &&
- $old{name} eq $mouse->{name} &&
- $old{device} eq $mouse->{device} && !$force and return;
-
- local $ugtk2::grab = 1; #- unsure a crazy mouse don't go wild clicking everywhere
-
- while (1) {
- my $xId = mouse::xmouse2xId($mouse->{XMOUSETYPE});
- my $x_protocol_changed = $old{device} ne $mouse->{device} || $xId != mouse::xmouse2xId($old{XMOUSETYPE});
- if ($x_protocol_changed) {
- log::l("telling X server to use another mouse");
- eval { modules::load('serial') } if $mouse->{device} =~ /ttyS/;
-
- if (!$::testing) {
- devices::make($mouse->{device});
- symlinkf($mouse->{device}, "/dev/mouse");
- c::setMouseLive($ENV{DISPLAY}, $xId, $mouse->{nbuttons} < 3);
- }
- }
- mouse::test_mouse_install($mouse, $x_protocol_changed) and return;
-
- %old = %$mouse;
- $o->SUPER::selectMouse(1);
- $mouse = $o->{mouse};
- }
-}
-
-sub reallyChooseGroups {
- my ($o, $size_to_display, $individual, $val) = @_;
-
- my $w = ugtk2->new('');
- my $tips = Gtk2::Tooltips->new;
- my $w_size = Gtk2::Label->new(&$size_to_display);
-
- my $entry = sub {
- my ($e) = @_;
- my $text = translate($o->{compssUsers}{$e}{label});
- my $help = translate($o->{compssUsers}{$e}{descr});
-
- my $check = Gtk2::CheckButton->new($text);
- $check->set_active($val->{$e});
- $check->signal_connect(clicked => sub {
- $val->{$e} = $check->get_active;
- $w_size->set_label(&$size_to_display);
- });
- gtkset_tip($tips, $check, $help);
- #gtkpack_(Gtk2::HBox->new(0, 0), 0, gtkpng($file), 1, $check);
- $check;
- };
- my $entries_in_path = sub {
- my ($path) = @_;
- translate($path), map { $entry->($_) } grep { $o->{compssUsers}{$_}{path} eq $path } @{$o->{compssUsersSorted}};
- };
- gtkadd($w->{window},
- gtkpack_($w->create_box_with_title(N("Package Group Selection")),
- 1, gtkpack_(Gtk2::VBox->new(0, 0),
- 1, gtkpack_(Gtk2::HBox->new(0, 0),
- $o->{meta_class} eq 'server' ? (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Server'),
- ),
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Graphical Environment'),
- '',
- $entries_in_path->('Development'),
- '',
- $entries_in_path->('Utilities'),
- ),
- ) : $o->{meta_class} eq 'desktop' ? (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Workstation'),
- ),
- ) : (
- 1, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Workstation'),
- '',
- $entry->('Development|Development'),
- $entry->('Development|Documentation'),
- $entry->('Development|LSB'),
- ),
- 0, gtkpack(Gtk2::VBox->new(0, 0),
- $entries_in_path->('Server'),
- '',
- $entries_in_path->('Graphical Environment'),
- ),
- ),
- )),
- 1, '',
- 0, gtkadd(Gtk2::HBox->new(0, 0),
- gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => $o->interactive_help_sub_display_id('choosePackages')),
- $w_size,
- if_($individual, do {
- my $check = Gtk2::CheckButton->new(N("Individual package selection"));
- $check->set_active($$individual);
- $check->signal_connect(clicked => sub { $$individual = $check->get_active });
- $check;
- }),
- gtksignal_connect(Gtk2::Button->new(N("Next ->")), clicked => sub { Gtk2->main_quit }),
- ),
- ),
- );
- $w->main;
- 1;
-}
-
-sub choosePackagesTree {
- my ($o, $packages, $o_limit_medium) = @_;
-
- my $available = install_any::getAvailableSpace($o);
- my $availableCorrected = pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
-
- my $common;
- $common = { get_status => sub {
- my $size = pkgs::selectedSize($packages);
- N("Total size: %d / %d MB", pkgs::correctSize($size / sqr(1024)), $available / sqr(1024));
- },
- node_state => sub {
- my $p = pkgs::packageByName($packages, $_[0]) or return;
- pkgs::packageMedium($packages, $p)->{selected} or return;
- $p->arch eq 'src' and return;
- $p->flag_base and return 'base';
- $p->flag_installed && !$p->flag_upgrade and return 'installed';
- $p->flag_selected and return 'selected';
- return 'unselected';
- },
- build_tree => sub {
- my ($add_node, $flat) = @_;
- if ($flat) {
- foreach (sort map { $_->name }
- grep { !$o_limit_medium || pkgs::packageMedium($packages, $_) == $o_limit_medium }
- grep { $_ && $_->arch ne 'src' }
- @{$packages->{depslist}}) {
- $add_node->($_, undef);
- }
- } else {
- foreach my $root (@{$o->{compssUsersSorted}}) {
- my (%fl, @firstchoice, @others);
- #$fl{$_} = $o->{compssUsersChoice}{$_} foreach @{$o->{compssUsers}{$root}{flags}}; #- FEATURE:improve choce of packages...
- $fl{$_} = 1 foreach @{$o->{compssUsers}{$root}{flags}};
- foreach my $p (@{$packages->{depslist}}) {
- !$o_limit_medium || pkgs::packageMedium($packages, $p) == $o_limit_medium or next;
- my @flags = $p->rflags;
- next if !($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags);
- $p->rate >= 3 ?
- push(@firstchoice, $p->name) :
- push(@others, $p->name);
- }
- my $root2 = join('|', map { translate($_) } split('\|', $root));
- $add_node->($_, $root2) foreach sort @firstchoice;
- $add_node->($_, $root2 . '|' . N("Other")) foreach sort @others;
- }
- }
- },
- get_info => sub {
- my $p = pkgs::packageByName($packages, $_[0]) or return '';
- pkgs::extractHeaders($o->{prefix}, [$p], $packages->{mediums});
-
- my $imp = translate($pkgs::compssListDesc{$p->flag_base ? 5 : $p->rate});
-
- my $tag = { 'foreground' => 'royalblue3' };
- $@ ? N("Bad package") :
- [ [ N("Name: "), $tag ], [ $p->name . "\n" ],
- [ N("Version: "), $tag ], [ $p->version . '-' . $p->release . "\n" ],
- [ N("Size: "), $tag ], [ N("%d KB\n", $p->size / 1024) ],
- if_($imp, [ N("Importance: "), $tag ], [ "$imp\n" ]),
- [ "\n" ], [ formatLines(c::from_utf8($p->description)) ] ];
- },
- toggle_nodes => sub {
- my $set_state = shift @_;
- my @n = map { pkgs::packageByName($packages, $_) } @_;
- my %l;
- my $isSelection = !$n[0]->flag_selected;
- foreach (@n) {
- #pkgs::togglePackageSelection($packages, $_, my $l = {});
- #@l{grep {$l->{$_}} keys %$l} = ();
- pkgs::togglePackageSelection($packages, $_, \%l);
- }
- if (my @l = map { $packages->{depslist}[$_]->name } keys %l) {
- #- check for size before trying to select.
- my $size = pkgs::selectedSize($packages);
- foreach (@l) {
- my $p = pkgs::packageByName($packages, $_);
- $p->flag_selected or $size += $p->size;
- }
- if (pkgs::correctSize($size / sqr(1024)) > $available / sqr(1024)) {
- return $o->ask_warn('', N("You can't select this package as there is not enough space left to install it"));
- }
-
- @l > @n && $common->{state}{auto_deps} and
- $o->ask_okcancel('', [ $isSelection ?
- N("The following packages are going to be installed") :
- N("The following packages are going to be removed"),
- common::formatList(20, sort @l) ], 1) || return;
- if ($isSelection) {
- pkgs::selectPackage($packages, $_) foreach @n;
- } else {
- pkgs::unselectPackage($packages, $_) foreach @n;
- }
- foreach (@l) {
- my $p = pkgs::packageByName($packages, $_);
- $set_state->($_, $p->flag_selected ? 'selected' : 'unselected');
- }
- } else {
- $o->ask_warn('', N("You can't select/unselect this package"));
- }
- },
- grep_allowed_to_toggle => sub {
- grep { my $p = pkgs::packageByName($packages, $_); $p && !$p->flag_base } @_;
- },
- grep_unselected => sub {
- grep { !pkgs::packageByName($packages, $_)->flag_selected } @_;
- },
- check_interactive_to_toggle => sub {
- my $p = pkgs::packageByName($packages, $_[0]) or return;
- if ($p->flag_base) {
- $o->ask_warn('', N("This is a mandatory package, it can't be unselected"));
- } elsif ($p->flag_installed && !$p->flag_upgrade) {
- $o->ask_warn('', N("You can't unselect this package. It is already installed"));
- } elsif ($p->flag_selected && $p->flag_installed) {
- if ($::expert) {
- $o->ask_yesorno('', N("This package must be upgraded.\nAre you sure you want to deselect it?")) or return;
- return 1;
- } else {
- $o->ask_warn('', N("You can't unselect this package. It must be upgraded"));
- }
- } else { return 1 }
- return;
- },
- auto_deps => N("Show automatically selected packages"),
- interactive_help_id => 'choosePackagesTree',
- ok => N("Install"),
- cancel => N("<- Previous"),
- icons => [ { icon => 'floppy',
- help => N("Load/Save on floppy"),
- wait_message => N("Updating package selection"),
- code => sub { $o->loadSavePackagesOnFloppy($packages); 1 },
- },
- if_(0,
- { icon => 'feather',
- help => N("Minimal install"),
- code => sub {
-
- install_any::unselectMostPackages($o);
- pkgs::setSelectedFromCompssList($packages, { SYSTEM => 1 }, 4, $availableCorrected);
- 1;
- } }),
- ],
- state => {
- auto_deps => 1,
- flat => $o_limit_medium,
- },
- };
-
- $o->ask_browse_tree_info('', N("Choose the packages you want to install"), $common);
-}
-
-#------------------------------------------------------------------------------
-sub beforeInstallPackages {
- my ($o) = @_;
- $o->SUPER::beforeInstallPackages;
- install_any::copy_advertising($o);
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- my ($o, $packages) = @_;
-
- my ($current_total_size, $last_size, $nb, $total_size, $start_time, $last_dtime, $_trans_progress_total);
-
- my $w = ugtk2->new(N("Installing"));
- $w->sync;
- my $text = Gtk2::Label->new;
- my ($advertising, $change_time, $i);
- my $show_advertising if 0;
- $show_advertising = to_bool(@install_any::advertising_images) if !defined $show_advertising;
- my $detail_or_not = sub { $show_advertising ? N("Details") : N("No details") };
- my ($msg, $msg_time_remaining, $msg_time_total) = map { Gtk2::Label->new($_) } '', (N("Estimating")) x 2;
- my ($progress, $progress_total) = map { Gtk2::ProgressBar->new } (1..2);
- gtkadd($w->{window}, my $box = Gtk2::VBox->new(0,10));
- $box->pack_end(gtkshow(gtkpack(Gtk2::VBox->new(0,5),
- $msg, $progress,
- create_packtable({},
- [N("Time remaining "), $msg_time_remaining],
-# [N("Total time "), $msg_time_total],
- ),
- $text,
- $progress_total,
- gtkadd(create_hbox(),
- my $cancel = Gtk2::Button->new(N("Cancel")),
- my $details = Gtk2::Button->new($detail_or_not->()),
- ),
- )), 0, 1, 0);
- $details->hide if !@install_any::advertising_images;
- $w->sync;
- $msg->set_label(N("Please wait, preparing installation..."));
- gtkset_mousecursor_normal($cancel->window);
- gtkset_mousecursor_normal($details->window);
- my $advertize = sub {
- @install_any::advertising_images or return;
- $show_advertising ? $_->hide : $_->show foreach $msg, $progress, $text;
- gtkdestroy($advertising) if $advertising;
- if ($show_advertising && $_[0]) {
- $change_time = time();
- my $f = $install_any::advertising_images[$i++ % @install_any::advertising_images];
- log::l("advertising $f");
- my $pl = $f; $pl =~ s/\.png$/.pl/;
- my $icon_name = $f; $icon_name =~ s/\.png$/_icon.png/;
- my ($draw_text, $width, $height, $y_start, $title, @text);
- -e $pl and $draw_text = 1;
- eval(cat_($pl)) if $draw_text;
- my $pix = gtkcreate_pixbuf($f);
- my $dbl_area;
- my $darea = Gtk2::DrawingArea->new;
- gtkpack($box, $advertising = !$draw_text ?
- gtkcreate_img($f) :
- gtksignal_connect(gtkset_size_request($darea, $width, $height), expose_event => sub {
- my (undef, undef, $dx, $dy) = $darea->allocation->values;
- if (!defined($dbl_area)) {
- $darea->window->draw_rectangle($darea->style->bg_gc('active'), 1, 0, 0, $dx, $dy);
- $pix->render_to_drawable($darea->window, $darea->style->bg_gc('normal'), 0, 0,
- ($dx-$width)/2, 0, $width, $height, 'none', 0, 0);
-
- my ($width, $lines, $widths, $heights) = wrap_paragraph([ $title, '', @text ], $darea, 520);
- my $i = 0;
- foreach (@$lines) {
- my $layout = $darea->create_pango_layout($_);
- my $draw_lay = sub {
- my ($gc, $decx) = @_;
- $darea->window->draw_layout($gc,
- ($dx-$width)/2 + $widths->[$i] + $decx,
- $y_start + $heights->[$i],
- $layout);
- };
- $draw_lay->($darea->style->black_gc, 0);
- $i == 0 and $draw_lay->($darea->style->black_gc, 1);
- $i++;
- }
- }
- }));
- } else {
- $advertising = undef;
- }
- };
-
- $cancel->signal_connect(clicked => sub { $pkgs::cancel_install = 1 });
- $details->signal_connect(clicked => sub {
- invbool \$show_advertising;
- $details->set_label($detail_or_not->());
- $advertize->(1);
- });
- $advertize->();
-
- my $oldInstallCallback = \&pkgs::installCallback;
- local *pkgs::installCallback = sub {
- my ($data, $type, $id, $subtype, $amount, $total) = @_;
- if ($type eq 'user' && $subtype eq 'install') {
- #- $amount and $total are used to return number of package and total size.
- $nb = $amount;
- $total_size = $total; $current_total_size = 0;
- $start_time = time();
- $msg->set_label(N("%d packages", $nb));
- $w->flush;
- } elsif ($type eq 'inst' && $subtype eq 'start') {
- $progress->set_fraction(0);
- my $p = $data->{depslist}[$id];
- $msg->set_label(N("Installing package %s", $p->name));
- $current_total_size += $last_size;
- $last_size = $p->size;
- $text->set_label((split /\n/, c::from_utf8($p->summary))[0] || '');
- $advertize->(1) if $show_advertising && $total_size > 20_000_000 && time() - $change_time > 20;
- $w->flush;
- } elsif ($type eq 'inst' && $subtype eq 'progress') {
- $progress->set_fraction($total ? $amount / $total : 0);
-
- my $dtime = time() - $start_time;
- my $ratio =
- $total_size == 0 ? 0 :
- pkgs::size2time($current_total_size + $amount, $total_size) / pkgs::size2time($total_size, $total_size);
- $ratio >= 1 and $ratio = 1;
- my $total_time = $ratio ? $dtime / $ratio : time();
-
- $progress_total->set_fraction($ratio);
- if ($dtime != $last_dtime && $current_total_size > 80_000_000) {
- $msg_time_total->set_label(formatTime(10 * round($total_time / 10) + 10));
-#- $msg_time_total->set_label(formatTimeRaw($total_time) . " " . formatTimeRaw($dtime / $ratio2));
- $msg_time_remaining->set_label(formatTime(10 * round(max($total_time - $dtime, 0) / 10) + 10));
- $last_dtime = $dtime;
- }
- $w->flush;
- } else { goto $oldInstallCallback }
- };
- #- the modification is not local as the box should be living for other package installation.
- undef *install_any::changeMedium;
- *install_any::changeMedium = sub {
- my ($method, $medium) = @_;
-
- #- if not using a cdrom medium, always abort.
- if ($method eq 'cdrom' && !$::oem) {
- local $ugtk2::grab = 1;
- my $name = pkgs::mediumDescr($o->{packages}, $medium);
- local $| = 1; print "\a";
- my $time = time();
- my $r = $name !~ /commercial/i || ($o->{useless_thing_accepted2} ||= $o->ask_from_list_('', formatAlaTeX(install_messages::com_license()), [ N_("Accept"), N_("Refuse") ], "Accept") eq "Accept");
- $r &&= $o->ask_okcancel('', N("Change your Cd-Rom!
-
-Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when done.
-If you don't have it, press Cancel to avoid installation from this Cd-Rom.", $name), 1);
- #- add the elapsed time (otherwise the predicted time will be rubbish)
- $start_time += time() - $time;
- return $r;
- }
- };
- my $install_result;
- catch_cdie { $install_result = $o->install_steps::installPackages($packages) }
- sub {
- log::l("catch_cdie: $@");
- if ($@ =~ /^error ordering package list: (.*)/) {
- $o->ask_yesorno('', [
-N("There was an error ordering packages:"), $1, N("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- } elsif ($@ =~ /^error installing package list: (.*)/) {
- $o->ask_yesorno('', [
-N("There was an error installing packages:"), $1, N("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- }
- $w->destroy;
- 0;
- };
- if ($pkgs::cancel_install) {
- $pkgs::cancel_install = 0;
- die 'already displayed';
- }
- $w->destroy;
- $install_result;
-}
-
-sub summary_prompt {
- my ($o, $l, $check_complete) = @_;
-
- my $w = ugtk2->new('');
-
- my $set_entry_labels;
- my @table;
- my %group;
- foreach my $e (@$l) {
- $group{$e->{group}} ||= do {
- push @table, [ gtkpack__(Gtk2::HBox->new(0, 0), $e->{group}), '' ];
- };
- $e->{widget} = Gtk2::Label->new;
- $e->{widget}->set_property(wrap => 1);
- $e->{widget}->set_size_request($::windowwidth * 0.65, -1);
- push @table, [], [ gtkpack__(Gtk2::HBox->new(0, 30), '', $e->{widget}),
- gtksignal_connect(Gtk2::Button->new(N("Configure")), clicked => sub {
- $w->{rwindow}->hide;
- $e->{clicked}();
- $w->{rwindow}->show;
- $set_entry_labels->();
- }) ];
- }
-
- $set_entry_labels = sub {
- foreach (@$l) {
- my $t = $_->{val}() || '<span foreground="red">' . N("not configured") . '</span>';
- $_->{widget}->set_markup($_->{label} . ' - ' . $t);
- }
- };
- $set_entry_labels->();
-
- my $help_sub = $o->interactive_help_sub_display_id('summary');
-
- gtkadd($w->{window},
- gtkpack_(Gtk2::VBox->new(0,5),
- 1, create_scrolled_window(create_packtable({ mcc => 1 }, @table)),
- 0, $w->create_okcancel(undef, '', '', if_($help_sub, [ N("Help"), $help_sub, 1 ]))
- ));
-
- $w->main($check_complete);
-}
-
-1;
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
deleted file mode 100644
index b30508ad1..000000000
--- a/perl-install/install_steps_interactive.pm
+++ /dev/null
@@ -1,1311 +0,0 @@
-package install_steps_interactive; # $Id$
-
-
-use diagnostics;
-use strict;
-use vars qw(@ISA $new_bootstrap);
-
-@ISA = qw(install_steps);
-
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common;
-use partition_table qw(:types);
-use partition_table::raw;
-use install_steps;
-use install_interactive;
-use install_any;
-use install_messages;
-use detect_devices;
-use run_program;
-use devices;
-use fsedit;
-use loopback;
-use mouse;
-use modules;
-use modules::interactive;
-use lang;
-use keyboard;
-use any;
-use fs;
-use log;
-
-#-######################################################################################
-#- In/Out Steps Functions
-#-######################################################################################
-sub errorInStep {
- my ($o, $err) = @_;
- $o->ask_warn(N("Error"), [ N("An error occurred"), formatError($err) ]);
-}
-
-sub kill_action {
- my ($o) = @_;
- $o->kill;
-}
-
-sub charsetChanged {
- my ($_o) = @_;
-}
-
-#-######################################################################################
-#- Steps Functions
-#-######################################################################################
-#------------------------------------------------------------------------------
-sub selectLanguage {
- my ($o) = @_;
-
- $o->{locale}{lang} = any::selectLanguage($o, $o->{locale}{lang}, $o->{locale}{langs} ||= {});
- install_steps::selectLanguage($o);
-
- if ($o->isa('interactive::gtk')) {
- $o->ask_warn('', formatAlaTeX(
-"If you see this message it is because you chose a language for
-which DrakX does not include a translation yet; however the fact
-that it is listed means there is some support for it anyway.
-
-That is, once GNU/Linux will be installed, you will be able to at
-least read and write in that language; and possibly more (various
-fonts, spell checkers, various programs translated etc. that
-varies from language to language).")) if $o->{locale}{lang} !~ /^en/ && !lang::load_mo();
- } else {
- #- no need to have this in po since it is never translated
- $o->ask_warn('', "The characters of your language can't be displayed in console,
-so the messages will be displayed in english during installation") if $ENV{LANGUAGE} eq 'C';
- }
-}
-
-sub acceptLicense {
- my ($o) = @_;
-
- my $r = 'Refuse';
-
- ($::recovery ?
- $o->ask_yesorno('', N("Do you want to recover your system?"), 0) :
- $o->ask_from_({ title => N("License agreement"),
- cancel => N("Quit"),
- messages => formatAlaTeX(install_messages::main_license() . "\n\n\n" . install_messages::warning_about_patents()),
- interactive_help_id => 'acceptLicense',
- callbacks => { ok_disabled => sub { $r eq 'Refuse' } },
- },
- [ { list => [ N_("Accept"), N_("Refuse") ], val => \$r, type => 'list', format => sub { translate($_[0]) } } ]))
- or do {
- install_any::ejectCdrom();
- $o->exit;
- };
-}
-
-#------------------------------------------------------------------------------
-sub selectKeyboard {
- my ($o, $clicked) = @_;
-
- my $from_usb = keyboard::from_usb();
- my $l = keyboard::lang2keyboards(lang::langs($o->{locale}{langs}));
-
- if ($::expert || $clicked || !($from_usb || @$l && $l->[0][1] >= 90) || listlength(lang::langs($o->{locale}{langs})) > 1) {
- add2hash($o->{keyboard}, $from_usb);
- my @best = uniq($from_usb ? $from_usb->{KEYBOARD} : (), (map { $_->[0] } @$l), 'us_intl');
-
- my $format = sub { translate(keyboard::KEYBOARD2text($_[0])) };
- my $other;
- my $ext_keyboard = my $KEYBOARD = $o->{keyboard}{KEYBOARD};
- $o->ask_from_(
- { title => N("Keyboard"),
- messages => N("Please choose your keyboard layout."),
- interactive_help_id => 'selectKeyboard',
- advanced_messages => N("Here is the full list of keyboards available"),
- advanced_label => N("More"),
- callbacks => { changed => sub { $other = $_[0] == 1 } },
- },
- [ if_(@best > 1, { val => \$KEYBOARD, type => 'list', format => $format, sort => 1,
- list => [ @best ] }),
- { val => \$ext_keyboard, type => 'list', format => $format,
- list => [ difference2([ keyboard::KEYBOARDs() ], \@best) ], advanced => @best > 1 }
- ]);
- $o->{keyboard}{KEYBOARD} = $other ? $ext_keyboard : $KEYBOARD;
- delete $o->{keyboard}{unsafe};
- }
- keyboard::group_toggle_choose($o, $o->{keyboard}) or goto &selectKeyboard;
- install_steps::selectKeyboard($o);
-}
-
-#------------------------------------------------------------------------------
-sub selectInstallClass {
- my ($o) = @_;
-
- if (my @l = install_any::find_root_parts($o->{fstab}, $o->{prefix})) {
- log::l("proposing to upgrade partitions " . join(" ", map { $_->{part}{device} } @l));
-
- my @releases = uniq(map { $_->{release} } @l);
- if (@releases != @l) {
- #- same release name so adding the device to differentiate them:
- $_->{release} .= " ($_->{part}{device})" foreach @l;
- }
-
- my $p;
- $o->ask_from_({ title => N("Install/Upgrade"),
- messages => N("Is this an install or an upgrade?"),
- interactive_help_id => 'selectInstallClass',
- },
- [ { val => \$p,
- list => [ @l, N_("Install") ],
- type => 'list',
- format => sub { ref($_[0]) ? N("Upgrade %s", $_[0]{release}) : translate($_[0]) }
- } ]);
- if (ref $p) {
- my $part = $p->{part};
- log::l("choosing to upgrade partition $part->{device}");
- install_any::use_root_part($o->{all_hds}, $part, $o->{prefix});
- foreach (grep { $_->{mntpoint} } @{$o->{fstab}}) {
- my ($options, $_unknown) = fs::mount_options_unpack($_);
- $options->{encrypted} or next;
- $o->ask_from_({ focus_first => 1 },
- [ { label => N("Encryption key for %s", $_->{mntpoint}),
- hidden => 1, val => \$_->{encrypt_key} } ]);
- }
- $o->{isUpgrade} = 1;
- }
- }
-}
-
-#------------------------------------------------------------------------------
-sub selectMouse {
- my ($o, $force) = @_;
-
- $force ||= $o->{mouse}{unsafe} || 1;
-
- if ($force) {
- my $prev = $o->{mouse}{type} . '|' . $o->{mouse}{name};
-
- $o->ask_from_({ messages => N("Please choose your type of mouse."),
- interactive_help_id => 'selectMouse',
- },
- [ { list => [ mouse::fullnames() ], separator => '|', val => \$prev, format => sub { join('|', map { translate($_) } split('\|', $_[0])) } } ]);
- $o->{mouse} = mouse::fullname2mouse($prev);
- }
-
- if ($force && $o->{mouse}{type} eq 'serial') {
- $o->{mouse}{device} =
- $o->ask_from_listf_raw({ title => N("Mouse Port"),
- messages => N("Please choose which serial port your mouse is connected to."),
- interactive_help_id => 'selectSerialPort',
- },
- \&mouse::serial_port2text,
- [ mouse::serial_ports() ]) or return &selectMouse;
- }
- if (arch() =~ /ppc/ && $o->{mouse}{nbuttons} == 1) {
- #- set a sane default F11/F12
- $o->{mouse}{button2_key} = 87;
- $o->{mouse}{button3_key} = 88;
- $o->ask_from('', N("Buttons emulation"),
- [
- { label => N("Button 2 Emulation"), val => \$o->{mouse}{button2_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
- { label => N("Button 3 Emulation"), val => \$o->{mouse}{button3_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
- ]) or return;
- }
-
- if ($o->{mouse}{device} eq "usbmouse") {
- modules::interactive::load_category($o, 'bus/usb', 1, 1);
- eval {
- devices::make("usbmouse");
- modules::load(qw(hid mousedev usbmouse));
- };
- }
-
- $o->SUPER::selectMouse;
- 1;
-}
-#------------------------------------------------------------------------------
-sub setupSCSI {
- my ($o) = @_;
-
- if (!$::noauto && arch() =~ /i.86/) {
- if ($o->{pcmcia} ||= !$::testing && c::pcmcia_probe()) {
- my $w = $o->wait_message(N("PCMCIA"), N("Configuring PCMCIA cards..."));
- my $results = modules::configure_pcmcia($o->{pcmcia});
- $w = undef;
- $results and $o->ask_warn('', $results);
- }
- }
- {
- my $_w = $o->wait_message(N("IDE"), N("Configuring IDE"));
- modules::load(modules::category2modules('disk/cdrom'));
- }
- modules::interactive::load_category($o, 'bus/firewire', 1);
-
- my $have_non_scsi = detect_devices::hds(); #- at_least_one scsi device if we have no disks
- modules::interactive::load_category($o, 'disk/scsi|hardware_raid|firewire', 1, !$have_non_scsi);
- modules::interactive::load_category($o, 'disk/scsi|hardware_raid|firewire') if !detect_devices::hds(); #- we really want a disk!
-
- install_interactive::tellAboutProprietaryModules($o);
-
- install_any::getHds($o, $o);
-}
-
-sub ask_mntpoint_s { #- }{}
- my ($o, $fstab) = @_;
-
- my @fstab = grep { isTrueFS($_) } @$fstab;
- @fstab = grep { isSwap($_) } @$fstab if @fstab == 0;
- @fstab = @$fstab if @fstab == 0;
- die \N("No partition available") if @fstab == 0;
-
- {
- my $_w = $o->wait_message('', N("Scanning partitions to find mount points"));
- install_any::suggest_mount_points($fstab, $o->{prefix}, 'uniq');
- log::l("default mntpoint $_->{mntpoint} $_->{device}") foreach @fstab;
- }
- if (@fstab == 1) {
- $fstab[0]{mntpoint} = '/';
- } else {
- $o->ask_from_({ messages => N("Choose the mount points"),
- interactive_help_id => 'ask_mntpoint_s',
- },
- [ map { { label => partition_table::description($_),
- val => \$_->{mntpoint},
- not_edit => 0,
- list => [ '', fsedit::suggestions_mntpoint(fsedit::empty_all_hds()) ] }
- } grep { !$_->{real_mntpoint} || common::usingRamdisk() } @fstab ]) or return;
- }
- $o->SUPER::ask_mntpoint_s($fstab);
-}
-
-#------------------------------------------------------------------------------
-sub doPartitionDisks {
- my ($o) = @_;
-
- if (arch() =~ /ppc/ && detect_devices::get_mac_generation() =~ /NewWorld/) { #- need to make bootstrap part if NewWorld machine - thx Pixel ;^)
- if (defined $partition_table::mac::bootstrap_part) {
- #- don't do anything if we've got the bootstrap setup
- #- otherwise, go ahead and create one somewhere in the drive free space
- } else {
- undef = $partition_table::mac::freepart; #- please "perl -w"
- my $freepart = $partition_table::mac::freepart;
- if ($freepart && $freepart->{size} >= 1) {
- log::l("creating bootstrap partition on drive /dev/$freepart->{hd}{device}, block $freepart->{start}");
- $partition_table::mac::bootstrap_part = $freepart->{part};
- log::l("bootstrap now at $partition_table::mac::bootstrap_part");
- fsedit::add($freepart->{hd}, { start => $freepart->{start}, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{all_hds}, { force => 1, primaryOrExtended => 'Primary' });
- $new_bootstrap = 1;
- } else {
- $o->ask_warn('', N("No free space for 1MB bootstrap! Install will continue, but to boot your system, you'll need to create the bootstrap partition in DiskDrake"));
- }
- }
- }
-
- if (!$o->{isUpgrade}) {
- install_interactive::partitionWizard($o);
- }
-}
-
-#------------------------------------------------------------------------------
-sub rebootNeeded {
- my ($o) = @_;
- $o->ask_warn('', N("You need to reboot for the partition table modifications to take place"));
-
- install_steps::rebootNeeded($o);
-}
-
-#------------------------------------------------------------------------------
-sub choosePartitionsToFormat {
- my ($o, $fstab) = @_;
-
- $o->SUPER::choosePartitionsToFormat($fstab);
-
- my @l = grep { !$_->{isMounted} && $_->{mntpoint} &&
- (!isSwap($_) || $::expert) &&
- (!isFat_or_NTFS($_) || $_->{notFormatted} || $::expert) &&
- (!isOtherAvailableFS($_) || $::expert || $_->{toFormat})
- } @$fstab;
- $_->{toFormat} = 1 foreach grep { isSwap($_) && !$::expert } @$fstab;
-
- return if @l == 0 || !$::expert && every { $_->{toFormat} } @l;
-
- #- keep it temporary until the guy has accepted
- $_->{toFormatTmp} = $_->{toFormat} || $_->{toFormatUnsure} foreach @l;
-
- $o->ask_from_(
- { messages => N("Choose the partitions you want to format"),
- interactive_help_id => 'formatPartitions',
- advanced_messages => N("Check bad blocks?"),
- },
- [ map {
- my $e = $_;
- ({
- text => partition_table::description($e), type => 'bool',
- val => \$e->{toFormatTmp}
- }, if_(!isLoopback($_) && !isThisFs("reiserfs", $_) && !isThisFs("xfs", $_) && !isThisFs("jfs", $_), {
- text => partition_table::description($e), type => 'bool', advanced => 1,
- disabled => sub { !$e->{toFormatTmp} },
- val => \$e->{toFormatCheck}
- })) } @l ]
- ) or die 'already displayed';
- #- ok now we can really set toFormat
- foreach (@l) {
- $_->{toFormat} = delete $_->{toFormatTmp};
- $_->{isFormatted} = 0;
- }
-}
-
-
-sub formatMountPartitions {
- my ($o, $_fstab) = @_;
- my $w;
- catch_cdie {
- fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix}, sub {
- my ($msg) = @_;
- $w ||= $o->wait_message('', $msg);
- $w->set($msg);
- });
- } sub {
- $@ =~ /fsck failed on (\S+)/ or return;
- $o->ask_yesorno('', N("Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)", $1), 1);
- };
- undef $w; #- help perl (otherwise wait_message stays forever in newt)
- die \N("Not enough swap space to fulfill installation, please add some") if availableMemory() < 40 * 1024;
-}
-
-#------------------------------------------------------------------------------
-sub setPackages {
- my ($o, $rebuild_needed) = @_;
-
- my $w = $o->wait_message('', $rebuild_needed ? N("Looking for available packages and rebuilding rpm database...") :
- N("Looking for available packages..."));
- install_any::setPackages($o, $rebuild_needed);
-
- $w->set(N("Looking at packages already installed..."));
- pkgs::selectPackagesAlreadyInstalled($o->{packages}, $o->{prefix});
-
- if ($rebuild_needed) {
- $w->set(N("Finding packages to upgrade..."));
- pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix});
- }
-}
-#------------------------------------------------------------------------------
-sub choosePackages {
- my ($o, $packages, $compssUsers, $_first_time) = @_;
-
- #- this is done at the very beginning to take into account
- #- selection of CD by user if using a cdrom.
- $o->chooseCD($packages) if $o->{method} eq 'cdrom' && !$::oem;
-
- my $w = $o->wait_message('', N("Looking for available packages..."));
- my $availableC = &install_steps::choosePackages;
- my $individual;
-
- require pkgs;
-
- my $min_size = pkgs::selectedSize($packages);
- unless ($min_size < $availableC) {
- $w = undef;
- $o->ask_warn('', N("Your system does not have enough space left for installation or upgrade (%d > %d)",
- $min_size, $availableC));
- install_steps::rebootNeeded($o);
- }
-
- my $min_mark = 4;
-
- my $b = pkgs::saveSelected($packages);
- my $_level = pkgs::setSelectedFromCompssList($packages, { map { $_ => 1 } map { @{$compssUsers->{$_}{flags}} } @{$o->{compssUsersSorted}} }, $min_mark, 0);
- my $max_size = pkgs::selectedSize($packages) + 1; #- avoid division by zero.
- log::l("max size (level $min_mark) is : " . formatXiB($max_size));
- pkgs::restoreSelected($b);
- $w = undef;
-
- chooseGroups:
- $o->chooseGroups($packages, $compssUsers, $min_mark, \$individual, $max_size) if !$o->{isUpgrade} && !$::corporate && $o->{meta_class} ne 'desktop';
-
- ($o->{packages_}{ind}) =
- pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $min_mark, $availableC);
-
- $o->choosePackagesTree($packages) or goto chooseGroups if $individual;
-
- install_any::warnAboutRemovedPackages($o, $o->{packages});
- install_any::warnAboutNaughtyServers($o) or goto chooseGroups if !$o->{isUpgrade};
-}
-
-sub choosePackagesTree {
- my ($o, $packages, $limit_to_medium) = @_;
-
- $o->ask_many_from_list('', N("Choose the packages you want to install"),
- {
- list => [ grep { !$limit_to_medium || pkgs::packageMedium($packages, $_) == $limit_to_medium }
- @{$packages->{depslist}} ],
- value => \&URPM::Package::flag_selected,
- label => \&URPM::Package::name,
- sort => 1,
- });
-}
-sub loadSavePackagesOnFloppy {
- my ($o, $packages) = @_;
- $o->ask_from('',
-N("Please choose load or save package selection on floppy.
-The format is the same as auto_install generated floppies."),
- [ { val => \ (my $choice), list => [ N_("Load from floppy"), N_("Save on floppy") ], format => \&translate, type => 'list' } ]) or return;
-
- if ($choice eq 'Load from floppy') {
- while (1) {
- my $w = $o->wait_message(N("Package selection"), N("Loading from floppy"));
- log::l("load package selection from floppy");
- my $O = eval { install_any::loadO(undef, 'floppy') };
- if ($@) {
- $w = undef; #- close wait message.
- $o->ask_okcancel('', N("Insert a floppy containing package selection"))
- or return;
- } else {
- install_any::unselectMostPackages($o);
- foreach (@{$O->{default_packages} || []}) {
- my $pkg = pkgs::packageByName($packages, $_);
- pkgs::selectPackage($packages, $pkg) if $pkg;
- }
- return 1;
- }
- }
- } else {
- log::l("save package selection to floppy");
- install_any::g_default_packages($o, 'quiet');
- }
-}
-sub chooseGroups {
- my ($o, $packages, $compssUsers, $min_level, $individual, $max_size) = @_;
-
- #- for all groups available, determine package which belongs to each one.
- #- this will enable getting the size of each groups more quickly due to
- #- limitation of current implementation.
- #- use an empty state for each one (no flag update should be propagated).
-
-#- OLD VERSION
- my $b = pkgs::saveSelected($packages);
- install_any::unselectMostPackages($o);
- pkgs::setSelectedFromCompssList($packages, {}, $min_level, $max_size);
- my $system_size = pkgs::selectedSize($packages);
- my ($sizes, $pkgs) = pkgs::computeGroupSize($packages, $min_level);
- pkgs::restoreSelected($b);
- log::l("system_size: $system_size");
-
- my @groups = @{$o->{compssUsersSorted}};
- my %stable_flags = grep_each { $::b } %{$o->{compssUsersChoice}};
- delete $stable_flags{$_} foreach map { @{$compssUsers->{$_}{flags}} } @groups;
-
- my $compute_size = sub {
- my %pkgs;
- my %flags = %stable_flags; @flags{@_} = ();
- my $total_size;
- A: while (my ($k, $size) = each %$sizes) {
- Or: foreach (split "\t", $k) {
- foreach (split "&&") {
- exists $flags{$_} or next Or;
- }
- $total_size += $size;
- $pkgs{$_} = 1 foreach @{$pkgs->{$k}};
- next A;
- }
- }
- log::l("computed size $total_size");
- log::l("chooseGroups: ", join(" ", sort keys %pkgs));
-
- int $total_size;
- };
- my %val = map {
- $_ => every { $o->{compssUsersChoice}{$_} } @{$compssUsers->{$_}{flags}}
- } @groups;
-
-# @groups = grep { $size{$_} = round_down($size{$_} / sqr(1024), 10) } @groups; #- don't display the empty or small one (eg: because all packages are below $min_level)
- my ($size, $unselect_all);
- my $available_size = install_any::getAvailableSpace($o) / sqr(1024);
- my $size_to_display = sub {
- my $lsize = $system_size + $compute_size->(map { @{$compssUsers->{$_}{flags}} } grep { $val{$_} } @groups);
-
- #- if a profile is deselected, deselect everything (easier than deselecting the profile packages)
- $unselect_all ||= $size > $lsize;
- $size = $lsize;
- N("Total size: %d / %d MB", pkgs::correctSize($size / sqr(1024)), $available_size);
- };
-
- while (1) {
- if ($available_size < 140) {
- # too small to choose anything. Defaulting to no group chosen
- $val{$_} = 0 foreach %val;
- last;
- }
-
- $o->reallyChooseGroups($size_to_display, $individual, \%val) or return;
- last if $::testing || pkgs::correctSize($size / sqr(1024)) < $available_size;
-
- $o->ask_warn('', N("Selected size is larger than available space"));
- }
-
- $o->{compssUsersChoice}{$_} = 0 foreach map { @{$compssUsers->{$_}{flags}} } grep { !$val{$_} } keys %val;
- $o->{compssUsersChoice}{$_} = 1 foreach map { @{$compssUsers->{$_}{flags}} } grep { $val{$_} } keys %val;
-
- log::l("compssUsersChoice: " . (!$val{$_} && "not ") . "selected [$_] as [$o->{compssUsers}{$_}{label}]") foreach keys %val;
-
- #- do not try to deselect package (by default no groups are selected).
- $o->{isUpgrade} or $unselect_all and install_any::unselectMostPackages($o);
- #- if no group have been chosen, ask for using base system only, or no X, or normal.
- if (!$o->{isUpgrade} && !any { $_ } values %val) {
- my $docs = !$o->{excludedocs};
- my $minimal = !any { $_ } values %{$o->{compssUsersChoice}};
-
- $o->ask_from(N("Type of install"),
- N("You haven't selected any group of packages.
-Please choose the minimal installation you want:"),
- [
- { val => \$o->{compssUsersChoice}{X}, type => 'bool', text => N("With X"), disabled => sub { $minimal } },
- { val => \$docs, type => 'bool', text => N("With basic documentation (recommended!)"), disabled => sub { $minimal } },
- { val => \$minimal, type => 'bool', text => N("Truly minimal install (especially no urpmi)") },
- ],
- changed => sub { $o->{compssUsersChoice}{X} = $docs = 0 if $minimal },
- ) or return &chooseGroups;
-
- $o->{excludedocs} = !$docs || $minimal;
-
- #- reselect according to user selection.
- if ($minimal) {
- $o->{compssUsersChoice}{$_} = 0 foreach keys %{$o->{compssUsersChoice}};
- } else {
- my $X = $o->{compssUsersChoice}{X}; #- don't let setDefaultPackages modify this one
- install_any::setDefaultPackages($o, 'clean');
- $o->{compssUsersChoice}{X} = $X;
- }
- install_any::unselectMostPackages($o);
- }
- 1;
-}
-
-sub reallyChooseGroups {
- my ($o, $size_to_display, $individual, $val) = @_;
-
- my $size_text = &$size_to_display;
-
- my ($path, $all);
- $o->ask_from_({ messages => N("Package Group Selection"),
- interactive_help_id => 'choosePackages',
- callbacks => { changed => sub { $size_text = &$size_to_display } },
- }, [
- { val => \$size_text, type => 'label' }, {},
- (map {
- my $old = $path;
- $path = $o->{compssUsers}{$_}{path};
- if_($old ne $path, { val => translate($path) }),
- {
- val => \$val->{$_},
- type => 'bool',
- disabled => sub { $all },
- text => translate($o->{compssUsers}{$_}{label}),
- help => translate($o->{compssUsers}{$_}{descr}),
- }
- } @{$o->{compssUsersSorted}}),
- if_($o->{meta_class} eq 'desktop', { text => N("All"), val => \$all, type => 'bool' }),
- if_($individual, { text => N("Individual package selection"), val => $individual, advanced => 1, type => 'bool' }),
- ]);
-
- if ($all) {
- $val->{$_} = 1 foreach keys %$val;
- }
- 1;
-}
-
-sub chooseCD {
- my ($o, $packages) = @_;
- my @mediums = grep { $_ != $install_any::boot_medium } pkgs::allMediums($packages);
- my @mediumsDescr;
- my %mediumsDescr;
-
- if (!common::usingRamdisk()) {
- #- mono-cd in case of no ramdisk
- foreach (@mediums) {
- pkgs::mediumDescr($packages, $install_any::boot_medium) eq pkgs::mediumDescr($packages, $_) and next;
- undef $packages->{mediums}{$_}{selected};
- }
- log::l("low memory install, using single CD installation (as it is not ejectable)");
- return;
- }
-
- #- the boot medium is already selected.
- $mediumsDescr{pkgs::mediumDescr($packages, $install_any::boot_medium)} = 1;
-
- #- build mediumDescr according to mediums, this avoid asking multiple times
- #- all the medium grouped together on only one CD.
- foreach (@mediums) {
- my $descr = pkgs::mediumDescr($packages, $_);
- $packages->{mediums}{$_}{ignored} and next;
- exists $mediumsDescr{$descr} or push @mediumsDescr, $descr;
- $mediumsDescr{$descr} ||= $packages->{mediums}{$_}{selected};
- }
-
- #- if no other medium available or a poor beginner, we are choosing for him!
- #- note first CD is always selected and should not be unselected!
- return if @mediumsDescr == () || !$::expert;
-
-# $o->set_help('chooseCD');
- $o->ask_many_from_list('',
-N("If you have all the CDs in the list below, click Ok.
-If you have none of those CDs, click Cancel.
-If only some CDs are missing, unselect them, then click Ok."),
- {
- list => \@mediumsDescr,
- label => sub { N("Cd-Rom labeled \"%s\"", $_[0]) },
- val => sub { \$mediumsDescr{$_[0]} },
- }) or do {
- $mediumsDescr{$_} = 0 foreach @mediumsDescr; #- force unselection of other CDs.
- };
-
- #- restore true selection of medium (which may have been grouped together)
- foreach (@mediums) {
- my $descr = pkgs::mediumDescr($packages, $_);
- $packages->{mediums}{$_}{ignored} and next;
- $packages->{mediums}{$_}{selected} = $mediumsDescr{$descr};
- log::l("select status of medium $_ is $packages->{mediums}{$_}{selected}");
- }
-}
-
-#------------------------------------------------------------------------------
-sub installPackages {
- my ($o, $packages) = @_;
- my ($current, $total) = (0, 0);
-
- my $w = $o->wait_message(N("Installing"), N("Preparing installation"));
-
- my $old = \&pkgs::installCallback;
- local *pkgs::installCallback = sub {
- my ($data, $type, $id, $subtype, $_amount, $total_) = @_;
- if ($type eq 'user' && $subtype eq 'install') {
- $total = $total_;
- } elsif ($type eq 'inst' && $subtype eq 'start') {
- my $p = $data->{depslist}[$id];
- $w->set(N("Installing package %s\n%d%%", $p->name, $total && 100 * $current / $total));
- $current += $p->size;
- } else { goto $old }
- };
-
- #- the modification is not local as the box should be living for other package installation.
- #- BEWARE this is somewhat duplicated (but not exactly from gtk code).
- undef *install_any::changeMedium;
- *install_any::changeMedium = sub {
- my ($method, $medium) = @_;
-
- #- if not using a cdrom medium, always abort.
- $method eq 'cdrom' && !$::oem and do {
- my $name = pkgs::mediumDescr($o->{packages}, $medium);
- local $| = 1; print "\a";
- my $r = $name !~ /commercial/i || ($o->{useless_thing_accepted2} ||= $o->ask_from_list_('', formatAlaTeX(install_messages::com_license()), [ N_("Accept"), N_("Refuse") ], "Accept") eq "Accept");
- $r &&= $o->ask_okcancel('', N("Change your Cd-Rom!
-
-Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when done.
-If you don't have it, press Cancel to avoid installation from this Cd-Rom.", $name), 1);
- return $r;
- };
- };
- my $install_result;
- catch_cdie { $install_result = $o->install_steps::installPackages($packages) }
- sub {
- if ($@ =~ /^error ordering package list: (.*)/) {
- $o->ask_yesorno('', [
-N("There was an error ordering packages:"), $1, N("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- } elsif ($@ =~ /^error installing package list: (.*)/) {
- $o->ask_yesorno('', [
-N("There was an error installing packages:"), $1, N("Go on anyway?") ], 1) and return 1;
- ${$_[0]} = "already displayed";
- }
- 0;
- };
- if ($pkgs::cancel_install) {
- $pkgs::cancel_install = 0;
- die "setstep choosePackages\n";
- }
- $install_result;
-}
-
-sub afterInstallPackages($) {
- my ($o) = @_;
- my $_w = $o->wait_message('', N("Post-install configuration"));
- $o->SUPER::afterInstallPackages;
-}
-
-sub copyKernelFromFloppy {
- my ($o) = @_;
- $o->ask_okcancel('', N("Please insert the Boot floppy used in drive %s", $o->{blank}), 1) or return;
- $o->SUPER::copyKernelFromFloppy;
-}
-
-sub updateModulesFromFloppy {
- my ($o) = @_;
- $o->ask_okcancel('', N("Please insert the Update Modules floppy in drive %s", $o->{updatemodules}), 1) or return;
- $o->SUPER::updateModulesFromFloppy;
-}
-
-#------------------------------------------------------------------------------
-sub configureNetwork {
- my ($o) = @_;
- require network::network;
- network::network::easy_dhcp($o->{netc}, $o->{intf}) and $o->{netcnx}{type} = 'lan';
- $o->SUPER::configureNetwork;
-}
-
-#------------------------------------------------------------------------------
-sub installUpdates {
- my ($o) = @_;
- my $u = $o->{updates} ||= {};
-
- $o->hasNetwork or return;
-
- is_empty_hash_ref($u) and $o->ask_yesorno_({ messages => formatAlaTeX(
-N("You now have the opportunity to download updated packages. These packages
-have been updated after the distribution was released. They may
-contain security or bug fixes.
-
-To download these packages, you will need to have a working Internet
-connection.
-
-Do you want to install the updates ?")),
- interactive_help_id => 'installUpdates',
- }) || return;
-
- #- bring all interface up for installing crypto packages.
- install_interactive::upNetwork($o);
-
- #- update medium available and working.
- my $update_medium;
- do {
- require crypto;
- eval {
- my @mirrors = do {
- my $_w = $o->wait_message('', N("Contacting Mandrake Linux web site to get the list of available mirrors..."));
- crypto::mirrors() };
- #- if no mirror have been found, use current time zone and propose among available.
- $u->{mirror} ||= crypto::bestMirror($o->{timezone}{timezone});
- $o->ask_from_({ messages => N("Choose a mirror from which to get the packages"),
- cancel => N("Cancel"),
- }, [ { separator => '|',
- format => \&crypto::mirror2text,
- list => \@mirrors,
- val => \$u->{mirror},
- },
- ],
- ) or $u->{mirror} = '';
- };
- return if $@ || !$u->{mirror};
-
- eval {
- if ($u->{mirror}) {
- my $_w = $o->wait_message('', N("Contacting the mirror to get the list of available packages..."));
- $update_medium = crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror});
- }
- };
- } while $@ || !$update_medium && $o->ask_yesorno('', N("Unable to contact mirror %s", $u->{mirror}) . ($@ ? " :\n$@" : "") . "\n\n" . N("Would you like to try again?"));
-
- if ($update_medium) {
- if ($o->choosePackagesTree($o->{packages}, $update_medium)) {
- $o->{isUpgrade} = 1; #- now force upgrade mode, else update will be installed instead of upgraded.
- $o->pkg_install;
- } else {
- #- make sure to not try to install the packages (which are automatically selected by getPackage above).
- #- this is possible by deselecting the medium (which can be re-selected above).
- delete $update_medium->{selected};
- }
- #- update urpmi even, because there is an hdlist available and everything is good,
- #- this will allow user to update the medium but update his machine later.
- $o->install_urpmi;
- }
-
- #- stop interface using ppp only. FIXME REALLY TOCHECK isdn (costly network) ?
- # FIXME damien install_interactive::downNetwork($o, 'pppOnly');
-}
-
-
-#------------------------------------------------------------------------------
-sub configureTimezone {
- my ($o, $clicked) = @_;
-
- require timezone;
- $o->{timezone}{timezone} = $o->ask_from_treelist('', N("Which is your timezone?"), '/', [ timezone::getTimeZones($::g_auto_install ? '' : $o->{prefix}) ], $o->{timezone}{timezone}) || return;
-
- my $ntp = to_bool($o->{timezone}{ntp});
- $o->ask_from_({ interactive_help_id => 'configureTimezoneGMT' }, [
- { text => N("Hardware clock set to GMT"), val => \$o->{timezone}{UTC}, type => 'bool' },
- { text => N("Automatic time synchronization (using NTP)"), val => \$ntp, type => 'bool' },
- ]) or goto &configureTimezone
- if $::expert || $clicked;
- if ($ntp) {
- my $servers = timezone::ntp_servers();
- $o->{timezone}{ntp} ||= 'pool.ntp.org';
-
- $o->ask_from_({},
- [ { label => N("NTP Server"), val => \$o->{timezone}{ntp}, list => [ keys %$servers ], not_edit => 0,
- format => sub { $servers->{$_[0]} ? "$servers->{$_[0]} ($_[0])" : $_[0] } } ]
- ) or goto &configureTimezone;
- } else {
- $o->{timezone}{ntp} = '';
- }
- install_steps::configureTimezone($o);
- 1;
-}
-
-#------------------------------------------------------------------------------
-sub configureServices {
- my ($o, $clicked) = @_;
- require services;
- $o->{services} = services::ask($o) if $::expert || $clicked;
- install_steps::configureServices($o);
-}
-
-
-sub summaryBefore {
- my ($o) = @_;
-
- #- auto-detection
- $o->configurePrinter(0);
- install_any::preConfigureTimezone($o);
- #- get back network configuration.
- require network;
- eval {
- network::network::read_all_conf($o->{prefix}, $o->{netc} ||= {}, $o->{intf} ||= {}, $o->{netcnx} ||= {});
- };
- log::l("summaryBefore: network configuration: ", formatError($@));
-}
-
-sub summary_prompt {
- my ($o, $l, $check_complete) = @_;
-
- foreach (@$l) {
- my $val = $_->{val};
- ($_->{format}, $_->{val}) = (sub { $val->() || N("not configured") }, '');
- }
-
- $o->ask_from_({
- messages => N("Summary"),
- interactive_help_id => 'summary',
- cancel => '',
- callbacks => { complete => sub { !$check_complete->() } },
- }, $l);
-}
-
-sub summary {
- my ($o) = @_;
-
- my @l;
-
- push @l, {
- group => N("System"),
- label => N("Keyboard"),
- val => sub { $o->{keyboard} && translate(keyboard::keyboard2text($o->{keyboard})) },
- clicked => sub { $o->selectKeyboard(1) },
- };
-
- my $timezone_manually_set;
- push @l, {
- group => N("System"),
- label => N("Country / Region"),
- val => sub { lang::c2name($o->{locale}{country}) },
- clicked => sub {
- any::selectCountry($o, $o->{locale}) or return;
- $o->do_pkgs->install('locales-' . substr(lang::getlocale_for_country($o->{locale}{lang}, $o->{locale}{country}), 0, 2));
- lang::write($o->{prefix}, $o->{locale});
- if (!$timezone_manually_set) {
- delete $o->{timezone};
- install_any::preConfigureTimezone($o); #- now we can precise the timezone thanks to the country
- }
- },
- };
- push @l, {
- group => N("System"),
- label => N("Timezone"),
- val => sub { $o->{timezone}{timezone} },
- clicked => sub { $timezone_manually_set = $o->configureTimezone(1) || $timezone_manually_set },
- };
-
- push @l, {
- group => N("System"),
- label => N("Mouse"),
- val => sub { translate($o->{mouse}{type}) . ' ' . translate($o->{mouse}{name}) },
- clicked => sub { $o->selectMouse(1); mouse::write($o, $o->{mouse}) },
- };
-
- push @l, {
- group => N("Hardware"),
- label => N("Printer"),
- val => sub {
- if (is_empty_hash_ref($o->{printer}{configured})) {
- require pkgs;
- my $p = pkgs::packageByName($o->{packages}, 'cups');
- $p && $p->flag_installed ? N("Remote CUPS server") : N("No printer");
- } elsif (defined($o->{printer}{configured}{$o->{printer}{DEFAULT}}) &&
- (my $p = find { $_ && ($_->{make} || $_->{model}) }
- $o->{printer}{configured}{$o->{printer}{DEFAULT}}{queuedata})) {
- "$p->{make} $p->{model}";
- } elsif ($p = find { $_ && ($_->{make} || $_->{model}) }
- map { $_->{queuedata} } (values %{$o->{printer}{configured}})) {
- "$p->{make} $p->{model}";
- } else {
- N("Remote CUPS server"); #- fall back in case of something wrong.
- }
- },
- clicked => sub { $o->configurePrinter(1) },
- };
-
- my @sound_cards = detect_devices::getSoundDevices();
-
- my $sound_index = 0;
- foreach my $device (@sound_cards) {
- $device->{sound_slot_index} = $sound_index;
- push @l, {
- group => N("Hardware"),
- label => N("Sound card"),
- val => sub {
- $device->{driver} && modules::module2description($device->{driver}) || $device->{description};
- },
- clicked => sub {
- require harddrake::sound;
- harddrake::sound::config($o, $device);
- },
- };
- $sound_index++;
- }
-
- if (!@sound_cards && ($o->{compssUsersChoice}{GAMES} || $o->{compssUsersChoice}{AUDIO})) {
- #- if no sound card are detected AND the user selected things needing a sound card,
- #- propose a special case for ISA cards
- push @l, {
- group => N("Hardware"),
- label => N("Sound card"),
- val => sub {},
- clicked => sub {
- if ($o->ask_yesorno('', N("Do you have an ISA sound card?"))) {
- $o->do_pkgs->install('sndconfig');
- $o->ask_warn('', N("Run \"sndconfig\" after installation to configure your sound card"));
- } else {
- $o->ask_warn('', N("No sound card detected. Try \"harddrake\" after installation"));
- }
- },
- };
- }
-
- foreach my $tv (detect_devices::getTVcards()) {
- push @l, {
- group => N("Hardware"),
- label => N("TV card"),
- val => sub { $tv->{description} },
- clicked => sub {
- require harddrake::v4l;
- harddrake::v4l::config($o, $tv->{driver});
- }
- };
- }
-
- push @l, {
- group => N("Hardware"),
- label => N("Graphical interface"),
- val => sub { $o->{raw_X} ? Xconfig::various::to_string($o->{raw_X}) : '' },
- clicked => sub { configureX($o, 'expert') },
- };
-
- push @l, {
- group => N("Network & Internet"),
- label => N("Network"),
- val => sub { $o->{netcnx}{type} },
- clicked => sub {
- local $::expert = $::expert;
- require network::netconnect;
- network::netconnect::main($o->{prefix}, $o->{netcnx} ||= {}, $o, $o->{netc}, $o->{mouse}, $o->{intf}, 0, 1);
- #- in case netcnx type is not updated.
- require network::network;
- network::network::probe_netcnx_type($o->{prefix}, $o->{netc}, $o->{intf}, $o->{netcnx});
- },
- };
-
- push @l, {
- group => N("Security"),
- label => N("Security Level"),
- val => sub {
- require security::level;
- security::level::to_string($o->{security});
- },
- clicked => sub {
- require security::level;
- security::level::level_choose($o, \$o->{security}, \$o->{libsafe}, \$o->{security_user})
- and install_any::set_security($o);
- },
- };
-
- push @l, {
- group => N("Security"),
- label => N("Firewall"),
- val => sub {
- require network::shorewall;
- my $shorewall = network::shorewall::read();
- $shorewall && !$shorewall->{disabled} ? N("activated") : N("disabled");
- },
- clicked => sub {
- require network::drakfirewall;
- network::drakfirewall::main($o, $o->{security} <= 3);
- },
- } if detect_devices::getNet();
-
- push @l, {
- group => N("Boot"),
- label => N("Bootloader"),
- val => sub {
- #-PO: example: lilo-graphic on /dev/hda1
- N("%s on %s", $o->{bootloader}{method}, $o->{bootloader}{boot})
- },
- clicked => sub { any::setupBootloader($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) },
- };
-
- push @l, {
- group => N("System"),
- label => N("Services"),
- val => sub {
- require services;
- my ($l, $activated) = services::services();
- N("Services: %d activated for %d registered", int(@$activated), int(@$l));
- },
- clicked => sub {
- require services;
- $o->{services} = services::ask($o) and services::doit($o, $o->{services});
- },
- };
-
- my $check_complete = sub {
- $o->{raw_X} || !pkgs::packageByName($o->{packages}, 'XFree86')->flag_installed ||
- $o->ask_yesorno('', N("You have not configured X. Are you sure you really want this?"));
- };
-
- $o->summary_prompt(\@l, $check_complete);
-
- $o->cleanupPrinter;
- install_steps::configureTimezone($o) if !$timezone_manually_set; #- do not forget it.
-}
-
-#------------------------------------------------------------------------------
-sub configurePrinter {
- my ($o, $clicked) = @_;
-
- require printer::main;
- require printer::printerdrake;
- require printer::detect;
-
- #- $clicked = 0: Preparation of "Summary" step, check whether there are
- #- are local printers. Continue for automatically setting up print
- #- queues if so, return otherwise
- #- $clicked = 1: User clicked "Configure" button in "Summary", enter
- #- Printerdrake for manual configuration
- my $go_on = $clicked ? 2 : $o && printer::detect::local_detect();
- $go_on-- or return;
-
- #- install packages needed for printer::getinfo()
- $::testing or $o->do_pkgs->install('foomatic-db-engine');
-
- #- take default configuration, this include choosing the right spooler
- #- currently used by the system.
- my $printer = $o->{printer} ||= {};
- eval { add2hash($printer, printer::main::getinfo($o->{prefix})) };
-
- $printer->{PAPERSIZE} = $o->{locale}{lang} eq 'en_US' || $o->{locale}{country} eq 'CA' ? 'Letter' : 'A4';
- printer::printerdrake::main($printer, $o, $clicked, sub { install_interactive::upNetwork($o, 'pppAvoided') });
-
-}
-
-sub cleanupPrinter {
- my ($o) = @_;
- #- Clean up $o->{printer} so that the records for an auto-installation
- #- contain only the important stuff
- return if !defined($o->{printer});
- require printer::printerdrake;
- printer::printerdrake::final_cleanup($o->{printer});
-}
-
-#------------------------------------------------------------------------------
-sub setRootPassword {
- my ($o, $clicked) = @_;
- my $sup = $o->{superuser} ||= {};
- $sup->{password2} ||= $sup->{password} ||= "";
-
- if ($o->{security} >= 1 || $clicked) {
- my $authentication_kind = any::authentication2authentication_kind($o->{authentication} ||= {});
-
- $o->ask_from_({
- title => N("Set root password and network authentication methods"),
- messages => N("Set root password"),
- interactive_help_id => "setRootPassword",
- cancel => ($o->{security} <= 2 && !$::corporate ?
- #-PO: keep this short or else the buttons will not fit in the window
- N("No password") : ''),
- focus_first => 1,
- callbacks => {
- complete => sub {
- $sup->{password} eq $sup->{password2} or $o->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]), return 1,0;
- length $sup->{password} < 2 * $o->{security}
- and $o->ask_warn('', N("This password is too short (it must be at least %d characters long)", 2 * $o->{security})), return 1,0;
- return 0
- } } }, [
-{ label => N("Password"), val => \$sup->{password}, hidden => 1 },
-{ label => N("Password (again)"), val => \$sup->{password2}, hidden => 1 },
-{ label => N("Authentication"), val => \$authentication_kind, list => [ any::authentication_kinds() ], format => \&any::authentication_kind2description, advanced => 1 },
- ]) or delete $sup->{password};
-
- any::ask_authentification_parameters($o, $o->{netc}, $o->{authentication}, $authentication_kind) or goto &setRootPassword;
- }
- install_steps::setRootPassword($o);
-}
-
-#------------------------------------------------------------------------------
-#-addUser
-#------------------------------------------------------------------------------
-sub addUser {
- my ($o, $clicked) = @_;
- $o->{users} ||= [];
-
- if ($o->{security} < 1) {
- push @{$o->{users}}, { password => 'mandrake', realname => 'default', icon => 'automagic' }
- if !member('mandrake', map { $_->{name} } @{$o->{users}});
- }
- if ($o->{security} >= 1 || $clicked) {
- any::ask_users($o, $o->{users}, $o->{security});
- }
- add2hash($o, any::get_autologin());
- any::autologin($o, $o);
-
- install_steps::addUser($o);
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloaderBefore {
- my ($o) = @_;
- my $_w = $o->wait_message('', N("Preparing bootloader..."));
- $o->SUPER::setupBootloaderBefore;
-}
-
-#------------------------------------------------------------------------------
-sub setupBootloader {
- my ($o, $ent_number) = @_;
- if (arch() =~ /ppc/) {
- my $machtype = detect_devices::get_mac_generation();
- if ($machtype !~ /NewWorld/) {
- $o->ask_warn('', N("You appear to have an OldWorld or Unknown\n machine, the yaboot bootloader will not work for you.\nThe install will continue, but you'll\n need to use BootX or some other means to boot your machine"));
- log::l("OldWorld or Unknown Machine - no yaboot setup");
- return;
- }
- }
- if (arch() =~ /^alpha/) {
- $o->ask_yesorno('', N("Do you want to use aboot?"), 1) or return;
- catch_cdie { $o->SUPER::setupBootloader } sub {
- $o->ask_yesorno('',
-N("Error installing aboot,
-try to force installation even if that destroys the first partition?"));
- };
- } else {
- if ($ent_number == 1) {
- any::setupBootloader_simple($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
- } else {
- any::setupBootloader($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
- }
-
- {
- my $_w = $o->wait_message('', N("Installing bootloader"));
- eval { $o->SUPER::setupBootloader };
- }
- if (my $err = $@) {
- $err =~ s/^\w+ failed// or die;
- $err = formatError($err);
- while ($err =~ s/^Warning:.*//m) {}
- $o->ask_warn('', [ N("Installation of bootloader failed. The following error occured:"), $err ]);
- die "already displayed";
- } elsif (arch() =~ /ppc/) {
- my $of_boot = cat_("$o->{prefix}/tmp/of_boot_dev") || die "Can't open $o->{prefix}/tmp/of_boot_dev";
- chop($of_boot);
- $o->ask_warn('', N("You may need to change your Open Firmware boot-device to\n enable the bootloader. If you don't see the bootloader prompt at\n reboot, hold down Command-Option-O-F at reboot and enter:\n setenv boot-device %s,\\\\:tbxi\n Then type: shut-down\nAt your next boot you should see the bootloader prompt.", $of_boot));
- }
- }
-}
-
-sub miscellaneous {
- my ($o, $_clicked) = @_;
-
- if ($o->{meta_class} ne 'desktop' && !$o->{isUpgrade}) {
- require security::level;
- security::level::level_choose($o, \$o->{security}, \$o->{libsafe}, \$o->{security_user});
- }
-
- install_steps::miscellaneous($o);
-}
-
-#------------------------------------------------------------------------------
-sub configureX {
- my ($o, $expert) = @_;
-
- install_steps::configureXBefore($o);
- symlink "$o->{prefix}/etc/gtk", "/etc/gtk";
-
- my $options = {
- allowFB => $o->{allowFB},
- allowNVIDIA_rpms => $o->do_pkgs->check_kernel_module_packages('NVIDIA_kernel', 'NVIDIA_GLX'),
- allowATI_rpms => $o->do_pkgs->check_kernel_module_packages('ATI_kernel', 'ATI_GLX'),
- };
-
- require Xconfig::main;
- if (my $raw_X = Xconfig::main::configure_everything_or_configure_chooser($o, $options, !$expert, $o->{keyboard}, $o->{mouse})) {
- $o->{raw_X} = $raw_X;
- install_steps::configureXAfter($o);
- }
-}
-
-#------------------------------------------------------------------------------
-sub generateAutoInstFloppy {
- my ($o, $replay) = @_;
-
- my $floppy = detect_devices::floppy();
-
- $o->ask_okcancel('', N("Insert a blank floppy in drive %s", $floppy), 1) or return;
-
- my $dev = devices::make($floppy);
- {
- my $_w = $o->wait_message('', N("Creating auto install floppy..."));
- install_any::getAndSaveAutoInstallFloppy($o, $replay, $dev) or return;
- }
- common::sync(); #- if you shall remove the floppy right after the LED switches off
-}
-
-#------------------------------------------------------------------------------
-sub exitInstall {
- my ($o, $alldone) = @_;
-
- return $o->{step} = '' if !$alldone && !$o->ask_yesorno('',
-N("Some steps are not completed.
-
-Do you really want to quit now?"), 0);
-
- install_steps::exitInstall($o);
-
- $o->exit unless $alldone;
-
- $o->ask_from_no_check(
- {
- messages => formatAlaTeX(install_messages::install_completed()),
- interactive_help_id => 'exitInstall',
- ok => N("Reboot"),
- },
- [
- { val => \ (my $_t1 = N("Generate auto install floppy")), clicked => sub {
- my $t = $o->ask_from_list_('',
-N("The auto install can be fully automated if wanted,
-in that case it will take over the hard drive!!
-(this is meant for installing on another box).
-
-You may prefer to replay the installation.
-"), [ N_("Replay"), N_("Automated") ]);
- $t and $o->generateAutoInstFloppy($t eq 'Replay');
- }, advanced => 1 },
- { val => \ (my $_t2 = N("Save packages selection")), clicked => sub { install_any::g_default_packages($o) }, advanced => 1 },
- ]
- ) if $alldone && !$::g_auto_install;
-}
-
-
-#-######################################################################################
-#- Misc Steps Functions
-#-######################################################################################
-
-1;
diff --git a/perl-install/install_steps_newt.pm b/perl-install/install_steps_newt.pm
deleted file mode 100644
index 2b01dc82c..000000000
--- a/perl-install/install_steps_newt.pm
+++ /dev/null
@@ -1,55 +0,0 @@
-package install_steps_newt; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive::newt);
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use install_steps_interactive;
-use interactive::newt;
-use install_any;
-use devices;
-use lang;
-use common;
-
-sub banner {
- my $banner = translate(N_("Mandrake Linux Installation %s"));
- my $l = first(Newt::GetScreenSize()) - length($banner) - length($_[0]) + 1;
- Newt::DrawRootText(0, 0, sprintf($banner, ' ' x $l . $_[0]));
- Newt::Refresh();
-}
-
-sub new {
- my ($type, $o) = @_;
-
- interactive::newt->new;
-
- banner('');
-#-PO This string must fit in a 80-char wide text screen
- Newt::PushHelpLine(N(" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen "));
-
- (bless {}, ref($type) || $type)->SUPER::new($o);
-}
-
-sub charsetChanged {
- my ($o) = @_;
- lang::load_console_font($o->{locale});
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
- $o->SUPER::enteringStep($step);
- banner(translate($o->{steps}{$step}{text}));
-}
-
-sub exitInstall {
- &install_steps_interactive::exitInstall;
- interactive::newt::end();
-}
-
-1;
-
diff --git a/perl-install/install_steps_stdio.pm b/perl-install/install_steps_stdio.pm
deleted file mode 100644
index ac9408b3c..000000000
--- a/perl-install/install_steps_stdio.pm
+++ /dev/null
@@ -1,36 +0,0 @@
-package install_steps_stdio; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(install_steps_interactive interactive::stdio);
-
-use common;
-use interactive::stdio;
-use install_steps_interactive;
-use lang;
-
-sub new($$) {
- my ($type, $o) = @_;
-
- (bless {}, ref($type) || $type)->SUPER::new($o);
-}
-
-sub charsetChanged {
- my ($o) = @_;
- lang::load_console_font($o->{locale});
-}
-
-sub enteringStep {
- my ($o, $step) = @_;
- print N("Entering step `%s'\n", translate($o->{steps}{$step}{text}));
- $o->SUPER::enteringStep($step);
-}
-sub leavingStep {
- my ($o, $step) = @_;
- $o->SUPER::leavingStep($step);
- print "--------\n";
-}
-
-1;
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm
index 2cb1afa31..49f47d05c 100644
--- a/perl-install/interactive.pm
+++ b/perl-install/interactive.pm
@@ -1,4 +1,4 @@
-package interactive; # $Id$
+package interactive;
use diagnostics;
use strict;
@@ -6,77 +6,82 @@ use strict;
#-######################################################################################
#- misc imports
#-######################################################################################
-use MDK::Common::Func;
use common;
+use do_pkgs;
-#- minimal example using interactive:
-#
-#- > use lib qw(/usr/lib/libDrakX);
-#- > use interactive;
-#- > my $in = interactive->vnew;
-#- > $in->ask_okcancel('title', 'question');
-#- > $in->exit;
-
-#- ask_from_ takes global options ($common):
-#- title => window title
-#- messages => message displayed in the upper part of the window
-#- advanced_messages => message displayed when "Advanced" is pressed
-#- ok => force the name of the "Ok"/"Next" button
-#- cancel => force the name of the "Cancel"/"Previous" button
-#- advanced_label => force the name of the "Advanced" button
-#- advanced_label_close => force the name of the "Basic" button
-#- advanced_state => if set to 1, force the "Advanced" part of the dialog to be opened initially
-#- focus_cancel => force focus on the "Cancel" button
-#- focus_first => force focus on the first entry
-#- callbacks => functions called when something happen: complete canceled advanced changed focus_out ok_disabled
-
-#- ask_from_ takes a list of entries with fields:
-#- val => reference to the value
-#- label => description
-#- icon => icon to put before the description
-#- help => tooltip
-#- advanced => wether it is shown in by default or only in advanced mode
-#- disabled => function returning wether it should be disabled (grayed)
-#- gtk => gtk preferences
-#- type =>
-#- button => (with clicked or clicked_may_quit)
-#- (type defaults to button if clicked or clicked_may_quit is there)
-#- (val need not be a reference) (if clicked_may_quit return true, it's as if "Ok" was pressed)
-#- label => (val need not be a reference) (type defaults to label if val is not a reference)
-#- bool (with "text" or "image" (which overrides text) giving an image filename)
-#- range (with min, max)
-#- combo (with list, not_edit, format)
-#- list (with list, icon2f (aka icon), separator (aka tree), format (aka pre_format function),
-#- help can be a hash or a function,
-#- tree_expanded boolean telling wether the tree should be wide open by default
-#- quit_if_double_click boolean
-#- allow_empty_list disables the special cases for 0 and 1 element lists
-#- image2f is a subroutine which takes a value of the list as parameter, and returns an array (text, image_file_name))
-#- entry (the default) (with hidden)
-#
-#- heritate from this class and you'll get all made interactivity for same steps.
-#- for this you need to provide
-#- - ask_from_listW(o, title, messages, arrayref, default) returns one string of arrayref
-#-
-#- where
-#- - o is the object
-#- - title is a string
-#- - messages is an refarray of strings
-#- - default is an optional string (default is in arrayref)
-#- - arrayref is an arrayref of strings
-#- - arrayref2 contains booleans telling the default state,
-#-
-#- ask_from_list and ask_from_list_ are wrappers around ask_from_biglist and ask_from_smalllist
-#-
-#- ask_from_list_ just translate arrayref before calling ask_from_list and untranslate the result
-#-
-#- ask_from_listW should handle differently small lists and big ones.
-#-
+=head1 NAME
+interactive - a GUI layer with multiple backend (text console, Gtk+ GUI, web)
+
+=head1 SYNOPSYS
+
+B<interactive> enables to write GUIes that will work everywhere:
+
+=head1 Functions
+
+=over 4
+
+=item * text console
+
+implemented by L<interactive::stdio> & L<interactive::curses>
+
+=item * web browser
+
+implemented by L<interactive::http>
+
+=item * GUI
+
+implemented by L<interactive::gtk>
+
+=back
+
+Interactive inherits from L<do_pkgs> and thus $in->do_pkgs will return
+an usable C<do_pkgs> object suitable for installing packages.
+
+=head1 Minimal example using interactive
+
+ use lib qw(/usr/lib/libDrakX);
+ use interactive;
+ my $in = interactive->vnew;
+ $in->ask_okcancel('title', 'question');
+ $in->exit;
+
+=head1 Backends
+
+heritate from this class and you'll get all made interactivity for same steps.
+for this you need to provide
+
+C<ask_from_listW(o, title, messages, arrayref, default)> which returns one string of arrayref
+
+where:
+
+=over 4
+
+=item * B<o> is the object
+
+=item * B<title> is a string
+
+=item * B<messages> is an refarray of strings
+
+=item * B<default> is an optional string (default is in arrayref)
+
+=item * B<arrayref> is an arrayref of strings
+
+=item * B<arrayref>2 contains booleans telling the default state,
+
+=back
+
+=head1 Functions
+
+=over
+
+=cut
#-######################################################################################
#- OO Stuff
#-######################################################################################
+our @ISA = qw(do_pkgs);
+
sub new($) {
my ($type) = @_;
@@ -102,14 +107,73 @@ sub vnew {
my $o = interactive::gtk->new;
if ($o_icon && $o_icon ne 'default' && !$::isWizard) { $o->{icon} = $o_icon } else { undef $o->{icon} }
return $o;
+ } elsif ($::testing) {
+ die;
+ }
+ }
+
+ require interactive::curses;
+ interactive::curses->new;
+}
+
+sub ok { N_("Ok") }
+sub cancel { N_("Cancel") }
+
+sub markup_parse {
+ my ($s) = @_;
+ my @l;
+ my @attrs;
+
+ while ($s) {
+ if ($s =~ s!^<(\w+)(\s+[^>]*?)?>!!s) {
+ push @attrs, [ $1, $2 ];
+ } elsif ($s =~ s!^</(\w+)>!!) {
+ my $previous = pop @attrs;
+ $previous->[0] eq $1 or return;
+ } elsif ($s =~ s!^(&(amp|lt|gt);)!!) {
+ push @l, [ $1, @attrs ];
+ } elsif ($s =~ s!^([^<>&]+)!!s) {
+ push @l, [ $1, @attrs ];
+ } else {
+ return;
}
}
+ markup_simplify(\@l);
+ \@l;
+}
+
+sub markup_simplify {
+ my ($l) = @_;
+ foreach (@$l) {
+ my ($s, @attrs) = @$_;
+ my %attrs = map {
+ my ($tag, $attrs) = @$_;
+ my $long = { b => { weight => "bold" },
+ i => { style => "italic" },
+ big => { size => 'larger' },
+ }->{$tag};
+ $long ? %$long : map { /^(.*?)=['"]?(.*?)['"]?$/ } split(' ', $attrs);
+ } @attrs;
+
+ $s = +{ '&amp;' => '&', '&lt;' => '<', '&gt;' => '>' }->{$s} || $s;
+
+ @$_ = ($s, if_(%attrs, \%attrs));
+ }
+}
+
+sub markup_remove {
+ my ($s) = @_;
+ if (my $l = markup_parse($s)) {
+ join('', map { $_->[0] } @$l);
+ } else {
+ $s;
+ }
+}
- require 'log.pm'; #- "require log" causes some pb, perl thinking that "log" is the log() function
- undef *log::l;
- *log::l = sub {}; # otherwise, it will bother us :(
- require interactive::newt;
- interactive::newt->new;
+#- drop markup as fallback
+sub adapt_markup {
+ my ($_o, $s) = @_;
+ markup_remove($s);
}
sub enter_console {}
@@ -117,56 +181,90 @@ sub leave_console {}
sub suspend {}
sub resume {}
sub end {}
-sub exit { exit($_[0]) }
+sub exit {
+ if ($::isStandalone) {
+ require standalone;
+ standalone::exit($_[0]);
+ } else {
+ exit($_[0]);
+ }
+}
+
#-######################################################################################
#- Interactive functions
#-######################################################################################
sub ask_warn {
- my ($o, $title, $message) = @_;
- ask_warn_($o, { title => $title, messages => $message });
+ my ($o, $title, $message, $o_icon) = @_;
+ ask_warn_($o, { title => $title, messages => $message, icon => $o_icon });
}
sub ask_yesorno {
my ($o, $title, $message, $b_def) = @_;
ask_yesorno_($o, { title => $title, messages => $message }, $b_def);
}
sub ask_okcancel {
- my ($o, $title, $message, $b_def) = @_;
- ask_okcancel_($o, { title => $title, messages => $message }, $b_def);
+ my ($o, $title, $message, $b_def, $o_icon) = @_;
+ ask_okcancel_($o, { title => $title, messages => $message, icon => $o_icon }, $b_def);
}
sub ask_warn_ {
my ($o, $common) = @_;
- ask_from_listf_raw_no_check($o, $common, undef, [ $o->ok ]);
+ local $o->{modal} = $o->{modal} || $::isInstall; # make these popup at install time
+ ask_from_listf_raw_no_check($o, $common, \&translate, [ $o->ok ]);
}
sub ask_yesorno_ {
my ($o, $common, $b_def) = @_;
$common->{cancel} = '';
- ask_from_listf_raw($o, $common, sub { translate($_[0]) }, [ N_("Yes"), N_("No") ], $b_def ? "Yes" : "No") eq "Yes";
+ ask_from_listf_raw($o, $common, \&translate, [ N_("Yes"), N_("No") ], $b_def ? "Yes" : "No") eq "Yes";
}
sub ask_okcancel_ {
my ($o, $common, $b_def) = @_;
if ($::isWizard) {
- $::no_separator = 1;
$common->{focus_cancel} = !$b_def;
ask_from_no_check($o, $common, []);
} else {
- ask_from_listf_raw($o, $common, sub { translate($_[0]) }, [ $o->ok, $o->cancel ], $b_def ? $o->ok : "Cancel") eq $o->ok;
+ ask_from_listf_raw($o, $common, \&translate, [ $o->ok, $o->cancel ], $b_def ? $o->ok : $o->cancel) eq $o->ok;
}
}
+sub ask_filename {
+ my ($o, $common) = @_;
+ $common->{want_a_dir} = 0;
+ $o->ask_fileW($common);
+}
+
+sub ask_directory {
+ my ($o, $common) = @_;
+ $common->{want_a_dir} = 1;
+ $o->ask_fileW($common);
+}
+
+#- predecated
sub ask_file {
my ($o, $title, $o_dir) = @_;
- $o->ask_fileW($title, $o_dir);
+ $o->ask_fileW({ title => $title, want_a_dir => 0, directory => $o_dir });
}
+
sub ask_fileW {
- my ($o, $title, $_dir) = @_;
- $o->ask_from_entry($title, N("Choose a file"));
+ my ($o, $common) = @_;
+ $o->ask_from_entry($common->{title}, $common->{message} || N("Choose a file"));
}
+=item ask_from_list($o, $title, $message, $l, $o_def)
+
+=item ask_from_list_($o, $title, $message, $l, $o_def)
+
+ask_from_list() and ask_from_list_() are wrappers around ask_from_biglist and ask_from_smalllist
+
+ask_from_list_() just translate arrayref before calling ask_from_list and untranslate the result
+
+ask_from_listW() should handle differently small lists and big ones.
+
+=cut
+
sub ask_from_list {
my ($o, $title, $message, $l, $o_def) = @_;
ask_from_listf($o, $title, $message, undef, $l, $o_def);
@@ -174,7 +272,7 @@ sub ask_from_list {
sub ask_from_list_ {
my ($o, $title, $message, $l, $o_def) = @_;
- ask_from_listf($o, $title, $message, sub { translate($_[0]) }, $l, $o_def);
+ ask_from_listf($o, $title, $message, \&translate, $l, $o_def);
}
sub ask_from_listf_ {
@@ -186,7 +284,7 @@ sub ask_from_listf {
ask_from_listf_raw($o, { title => $title, messages => $message }, $f, $l, $o_def);
}
sub ask_from_listf_raw {
- my ($_o, $_common, $_f, $l, $_def) = @_;
+ my ($_o, $_common, $_f, $l, $_o_def) = @_;
@$l == 0 and die "ask_from_list: empty list\n" . backtrace();
@$l == 1 and return $l->[0];
goto &ask_from_listf_raw_no_check;
@@ -263,9 +361,9 @@ sub ask_from_entries {
my @l = map { my $i = ''; { label => $_, val => \$i } } @$l;
- $o->ask_from($title, $message, \@l, %callback) ?
- map { ${$_->{val}} } @l :
- undef;
+ $o->ask_from_({ title => $title, messages => $message, %callback,
+ focus_first => 1 }, \@l) or return;
+ map { ${$_->{val}} } @l;
}
sub ask_from__add_modify_remove {
@@ -290,62 +388,72 @@ sub ask_from__add_modify_remove {
$continue = 1;
} } }
N_("Add"), if_(@{$e->{list}} > 0, N_("Modify"), N_("Remove")));
- $o->ask_from_({ title => $title, messages => $message, callbacks => \%callback }, \@l) or return;
+ $o->ask_from_({ title => $title, messages => $message, %callback }, \@l) or return;
return 1 if !$continue;
}
}
}
-#- can get a hash of callback: focus_out changed and complete
+#- can get a hash of callback: validate
#- moreove if you pass a hash with a field list -> combo
#- if you pass a hash with a field hidden -> emulate stty -echo
sub ask_from {
my ($o, $title, $message, $l, %callback) = @_;
- ask_from_($o, { title => $title, messages => $message, callbacks => \%callback }, $l);
+ ask_from_($o, { title => $title, messages => $message, %callback }, $l);
}
-sub ask_from_normalize {
- my ($o, $common, $l) = @_;
+sub _normalize_entry {
+ my ($o, $e) = @_;
- ref($l) eq 'ARRAY' or internal_error('ask_from_normalize');
- foreach my $e (@$l) {
- if (my $li = $e->{list}) {
- ref($e->{val}) =~ /SCALAR|REF/ or internal_error($e->{val} ? "field {val} must be a reference (it is $e->{val})" : "field {val} is mandatory"); #-#
- if ($e->{sort} || @$li > 10 && !exists $e->{sort}) {
- my @l2 = map { may_apply($e->{format}, $_) } @$li;
- my @places = sort { $l2[$a] cmp $l2[$b] } 0 .. $#l2;
- $e->{list} = $li = [ map { $li->[$_] } @places ];
- }
- $e->{type} = 'iconlist' if $e->{icon2f};
- $e->{type} = 'treelist' if $e->{separator};
- add2hash_($e, { not_edit => 1 });
- $e->{type} ||= 'combo';
+ if (my $li = $e->{list}) {
+ ref($e->{val}) =~ /SCALAR|REF/ or internal_error($e->{val} ? "field {val} must be a reference (it is $e->{val})" : "field {val} is mandatory"); #-#
+ if ($e->{sort} || @$li > 10 && !exists $e->{sort}) {
+ my @l2 = map { may_apply($e->{format}, $_) } @$li;
+ my @places = sort { $l2[$a] cmp $l2[$b] } 0 .. $#l2;
+ $e->{list} = $li = [ map { $li->[$_] } @places ];
+ }
+ $e->{type} = 'iconlist' if $e->{icon2f};
+ $e->{type} = 'treelist' if $e->{separator} && $e->{type} ne 'combo';
+ add2hash_($e, { not_edit => 1 });
+ $e->{type} ||= 'combo';
- if (!$e->{not_edit}) {
- die q(when using "not_edit" you must use strings, not a data structure) if ref(${$e->{val}}) || any { ref $_ } @$li;
- }
- if ($e->{type} ne 'combo' || $e->{not_edit}) {
- ${$e->{val}} = $li->[0] if !member(may_apply($e->{format}, ${$e->{val}}), map { may_apply($e->{format}, $_) } @$li);
- }
- } elsif ($e->{type} eq 'range') {
- $e->{min} <= $e->{max} or die "bad range min $e->{min} > max $e->{max} (called from " . join(':', caller()) . ")";
- ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
- } elsif ($e->{type} eq 'button' || $e->{clicked} || $e->{clicked_may_quit}) {
- $e->{type} = 'button';
- $e->{clicked_may_quit} ||= $e->{clicked} ? sub { $e->{clicked}(); 0 } : sub {};
- $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
- } elsif ($e->{type} eq 'label' || !ref($e->{val})) {
- $e->{type} = 'label';
- $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
- } else {
- $e->{type} ||= 'entry';
+ if (!$e->{not_edit}) {
+ die q(when using "not_edit" you must use strings, not a data structure) if ref(${$e->{val}}) || any { ref $_ } @$li;
+ }
+ if ($e->{type} ne 'combo' || $e->{not_edit}) {
+ ${$e->{val}} = $li->[0] if !member(may_apply($e->{format}, ${$e->{val}}), map { may_apply($e->{format}, $_) } @$li);
}
- $e->{disabled} ||= sub { 0 };
+ } elsif ($e->{type} eq 'range') {
+ $e->{min} <= $e->{max} or die "bad range min $e->{min} > max $e->{max} (called from " . join(':', caller()) . ")";
+ ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
+ } elsif ($e->{type} eq 'button' || $e->{clicked} || $e->{clicked_may_quit}) {
+ $e->{type} = 'button';
+ $e->{clicked_may_quit} ||= $e->{clicked} ? sub { $e->{clicked}(); 0 } : sub {};
+ $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
+ } elsif (!$e->{type} && !$e->{val}) {
+ $e->{type} = 'only_label';
+ $e->{val} = \ (my $_v = $o->adapt_markup(delete $e->{label}));
+ } elsif ($e->{type} eq 'label' || !ref($e->{val})) {
+ $e->{type} = 'label';
+ $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
+ } elsif ($e->{type} eq 'expander') {
+ _normalize_entries($o, $e->{children});
+ } else {
+ $e->{type} ||= 'entry';
}
+ $e->{label} = $o->adapt_markup($e->{label}) if $e->{label};
+}
+
+sub _normalize_entries {
+ my ($o, $l) = @_;
- #- don't display empty lists and one element lists
+ ref($l) eq 'ARRAY' or internal_error('ask_from_normalize');
+
+ _normalize_entry($o, $_) foreach @$l;
+
+ #- do not display empty lists and one element lists
@$l = grep {
if ($_->{list} && $_->{not_edit} && !$_->{allow_empty_list}) {
if (!@{$_->{list}}) {
@@ -359,18 +467,177 @@ sub ask_from_normalize {
1;
}
} @$l;
+}
+
+sub ask_from_normalize {
+ my ($o, $common, $l) = @_;
+
+ if ($common->{focus_first}) {
+ if (my $e = find { $_->{val} } @$l) {
+ $e->{focus} = sub { 1 };
+ }
+ }
+
+ _normalize_entries($o, $l);
if (!$common->{title} && $::isStandalone) {
($common->{title} = $0) =~ s|.*/||;
}
$common->{interactive_help} ||= $o->{interactive_help};
$common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
+ if (!$::isInstall) {
+ delete $common->{$_} foreach qw(interactive_help interactive_help_id);
+ }
$common->{advanced_label} ||= N("Advanced");
- $common->{advanced_label_close} ||= N("Basic");
- $common->{$_} = $common->{$_} ? [ deref($common->{$_}) ] : [] foreach qw(messages advanced_messages);
- add2hash_($common->{callbacks} ||= {}, { changed => sub {}, focus_out => sub {}, complete => sub { 0 }, canceled => sub { 0 }, advanced => sub {} });
+ $common->{advanced_label_close} and log::l("advanced_label_close is not used anymore");
+ $common->{$_} = $common->{$_} ? [ map { $o->adapt_markup($_) } deref($common->{$_}) ] : []
+ foreach qw(messages advanced_messages);
+
+ if ($common->{callbacks}) {
+ $common->{callbacks}{changed} and internal_error(q(global "changed" callback is not handled anymore, use a per-entry changed callback));
+ $common->{callbacks}{focus_out} and internal_error(q(global "focus_out" callback is not handled anymore, use a per-entry focus_out callback));
+ add2hash($common, delete $common->{callbacks});
+ }
+ if (my $complete = delete $common->{complete}) {
+ $common->{validate} = sub { !first($complete->()) };
+ }
+ add2hash_($common, { validate => sub { 1 } });
}
+sub migrate_advanced {
+ my ($common, $l) = @_;
+ my ($l1, $l2) = partition { !$_->{advanced} } @$l;
+ my $advanced_message = join("\n", @{$common->{advanced_messages}});
+ [ @$l1, if_(@$l2, { type => 'expander',
+ if_($advanced_message, message => $advanced_message),
+ text => $common->{advanced_label},
+ expanded => $common->{advanced_state},
+ children => $l2,
+ }) ];
+}
+
+
+=item ask_from_($o, $common, $l)
+
+ask_from_() takes global options ($common):
+
+=over 4
+
+=item * B<title>: window title
+
+=item * B<messages>: message displayed in the upper part of the window
+
+=item * B<ok>: force the name of the "Ok"/"Next" button
+
+=item * B<cancel>: force the name of the "Cancel"/"Previous" button
+
+=item * B<focus_cancel>: force focus on the "Cancel" button
+
+=item * I<focus_first>: (deprecated) force focus on the first entry
+
+=item * B<ok_disabled>: function returning whether {ok} should be disabled (grayed)
+
+=item * B<validate>: function called when {ok} is pressed. If it returns false, the first entry is focused, otherwise it quits
+
+=item * I<advanced>: (deprecated) function called when the "advanced" expander is toggled
+
+=item * I<advanced_messages>: (deprecated) message displayed when "Advanced" is pressed
+
+=item * I<advanced_label>: (deprecated) force the name of the "Advanced" button
+
+=item * I<advanced_label_close>: (deprecated) force the name of the "Basic" button
+
+=item * I<advanced_state>: (deprecated) if set to 1, force the "Advanced" part of the dialog to be opened initially
+
+=item * I<advanced_title>: title of the advanced item popup dialog (else reusing main title)
+
+=item * I<callbacks>: (deprecated) functions called when something happen: complete advanced ok_disabled
+
+=back
+
+ask_from_ takes a list of entries with fields:
+
+=over 4
+
+=item * B<val>: reference to the value
+
+=item * B<label>: description
+
+=item * B<title>: a boolean: whether the label should be displayed as a title (see GNOME's HIG)
+
+=item * B<icon>: icon to put before the description
+
+=item * B<help>: tooltip
+
+=item * I<advanced>: (deprecated) whether it is shown in by default or only in advanced mode
+
+=item * B<focus_out>: function called when the entry is focused out
+
+=item * B<changed>: function called when the entry is modified
+
+=item * B<validate>: function called when "Ok" is pressed. If it returns false, this entry is focused, otherwise it quits
+
+=item * B<disabled>: function returning whether it should be disabled (grayed)
+
+=item * B<focus>: function returning whether it should be focused
+
+=item * B<alignment>: preferred alignment
+
+=item * B<do_not_expand>: do not eat all horizontal space
+
+=item * B<install_button>: if possible, use improved graphical style
+
+=item * B<gtk>: gtk preferences
+
+=item * B<type>:
+
+=over 4
+
+=item * B<button>: (with clicked or clicked_may_quit)
+
+I<type> defaults to button if clicked or clicked_may_quit is there.
+I<val> need not be a reference.
+If I<clicked_may_quit> return true, it's as if "Ok" was pressed.
+
+=item * B<label>:
+I<val> need not be a reference.
+I<type> defaults to label if val is not a reference.
+
+=item * B<bool>: (with "text" or "image" (which overrides text) giving an image filename)
+
+=item * B<range>: (with min, max, SpinButton)
+
+=item * B<combo>: (with list, not_edit, format)
+
+=item * B<list>: (with list, icon2f (aka icon), separator (aka tree), format (aka pre_format function),
+
+It has these optional parameters:
+
+=over 4
+
+=item * B<help>: can be a hash or a function,
+
+=item * B<tree_expanded>: boolean telling whether the tree should be wide open by default
+
+=item * B<quit_if_double_click>: boolean
+
+=item * B<allow_empty_list>: disables the special cases for 0 and 1 element lists
+
+=item * B<image2f>: a subroutine which takes a value of the list as parameter, and returns image_file_name
+
+=back
+
+=item * B<entry>: (the default) (with hidden)
+
+=item * B<expander>: (with text, expanded, message, children(a list of sub entries))
+
+=back
+
+=back
+
+=cut
+
+
sub ask_from_ {
my ($o, $common, $l) = @_;
ask_from_normalize($o, $common, $l);
@@ -382,13 +649,20 @@ sub ask_from_no_check {
my ($o, $common, $l) = @_;
ask_from_normalize($o, $common, $l);
$common->{cancel} = '' if !defined wantarray();
- my ($l1, $l2) = partition { !$_->{advanced} } @$l;
- $o->ask_fromW($common, $l1, $l2);
+ my $l_ = migrate_advanced($common, $l);
+ $o->ask_fromW($common, $l_);
}
sub ask_from_real {
my ($o, $common, $l) = @_;
- my ($l1, $l2) = partition { !$_->{advanced} } @$l;
- my $v = $o->ask_fromW($common, $l1, $l2);
+ my $l_ = migrate_advanced($common, $l);
+ my $v = $o->ask_fromW($common, $l_);
+
+ foreach my $e (@$l) {
+ if ($e->{type} eq 'range') {
+ ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
+ }
+ }
+
%$common = ();
$v;
}
@@ -397,8 +671,8 @@ sub ask_from_real {
sub ask_browse_tree_info {
my ($o, $title, $message, $common) = @_;
$common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
- add2hash_($common, { ok => $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next ->")) : N("Ok"),
- cancel => $::isWizard ? N("<- Previous") : N("Cancel") });
+ add2hash_($common, { ok => $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok"),
+ cancel => $::isWizard ? N("Previous") : N("Cancel") });
add2hash_($common, { title => $title, message => $message });
add2hash_($common, { grep_allowed_to_toggle => sub { @_ },
grep_unselected => sub { grep { $common->{node_state}($_) eq 'unselected' } @_ },
@@ -434,16 +708,36 @@ sub ask_browse_tree_info_refW { #- default definition, do not use with too many
sub wait_message {
my ($o, $title, $message, $b_temp) = @_;
+ my $inline_title = $::isInstall ? $title : '';
+ $inline_title ||= N("Please wait");
- my $w = $o->wait_messageW($title, [ N("Please wait"), deref($message) ]);
+ my $w = $o->wait_messageW($title, $inline_title, $message);
push @tempory::objects, $w if $b_temp;
my $b = before_leaving { $o->wait_message_endW($w) };
#- enable access through set
- MDK::Common::Func::add_f4before_leaving(sub { $o->wait_message_nextW([ deref($_[1]) ], $w) }, $b, 'set');
+ MDK::Common::Func::add_f4before_leaving(sub { $o->wait_message_nextW($_[1], $w) }, $b, 'set');
$b;
}
+
+sub wait_message_with_progress_bar {
+ my ($in, $o_title) = @_;
+
+ my $w = $in->wait_message($o_title, '');
+ my $last_msg;
+ $w, sub {
+ my ($msg, $current, $total) = @_;
+ if ($msg) {
+ $w->set($last_msg = $msg);
+ }
+ if ($total) {
+ $w or internal_error('You must first give some text to display');
+ $w->set(join("\n", $last_msg, "$current / $total"));
+ }
+ };
+}
+
sub kill() {}
@@ -472,27 +766,20 @@ sub helper_separator_tree_to_tree {
}
-sub interactive_help_has_id {
- my ($_o, $id) = @_;
- exists $help::{$id};
-}
-
-sub interactive_help_get_id {
- my ($_o, @l) = @_;
- @l = map {
- join("\n\n", map { s/\n/ /mg; $_ } split("\n\n", translate($help::{$_}->())))
- } grep { exists $help::{$_} } @l;
- join("\n\n\n", @l);
-}
-
sub interactive_help_sub_get_id {
my ($o, $id) = @_;
- $o->interactive_help_has_id($id) && sub { $o->interactive_help_get_id($id) };
+ eval { $o->is_help_file_exist($id) }
+ && sub { $o->interactive_help_get_id($id) };
}
sub interactive_help_sub_display_id {
my ($o, $id) = @_;
- $o->interactive_help_has_id($id) && sub { $o->ask_warn(N("Help"), $o->interactive_help_get_id($id)) };
+ eval { $o->interactive_help_has_id($id) }
+ && sub { $o->ask_warn(N("Help"), $o->interactive_help_get_id($id)) };
}
+=back
+
+=cut
+
1;
diff --git a/perl-install/interactive/curses.pm b/perl-install/interactive/curses.pm
new file mode 100644
index 000000000..64bdee5c7
--- /dev/null
+++ b/perl-install/interactive/curses.pm
@@ -0,0 +1,635 @@
+# implementer tree
+
+# to debug, use something like
+# PERLDB_OPTS=TTY=`tty` LC_ALL=fr_FR.UTF-8 xterm -geometry 80x25 -e sh -c 'DISPLAY= perl -d t.pl'
+
+package interactive::curses;
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(interactive);
+
+use interactive;
+use common;
+use log;
+use Curses::UI;
+
+my $SAVEERR;
+my $stderr_file = "/tmp/curses-stderr.$$";
+my $padleft = 1;
+my $padright = 1;
+my $indent = 1;
+my $cui;
+
+sub new {
+ my ($class) = @_;
+ if ($::isInstall && !$::local_install) {
+ system('unicode_start'); #- do not use run_program, we must do it on current console
+ }
+ open $SAVEERR, ">&STDERR";
+ open STDERR, ">", common::secured_file($stderr_file);
+
+ $cui ||= Curses::UI->new('-color_support' => 1);
+
+ # Set some default terminal size, for serial install
+ unless ($cui->{'-width'}) {
+ $cui->{'-width'} = $cui->{'-w'} = $cui->{'-bw'} = 80;
+ $cui->{'-height'} = $cui->{'-h'} = $cui->{'-bh'} = 25;
+ }
+
+ bless { cui => $cui }, $class;
+}
+
+sub enter_console { &suspend }
+sub leave_console { &end }
+sub suspend { $cui && $cui->leave_curses }
+sub resume { $cui->reset_curses }
+sub end { &suspend; print $SAVEERR $_ foreach cat_($stderr_file); unlink $stderr_file }
+sub exit { end(); CORE::exit($_[1] || 0) }
+END { end() }
+
+sub _messages {
+ my ($width, @messages) = @_;
+ warp_text(join("\n", @messages), $width);
+}
+
+sub _enable_disable {
+ my ($w, $disabled) = @_;
+
+ if ($disabled ? $w->{'-is-disabled'} : !$w->{'-is-disabled'}) {
+ return;
+ }
+ $w->{'-is-disabled'} = $disabled;
+
+ if ($disabled) {
+ add2hash_($w, { '-was-focusable' => $w->focusable, '-was-fg' => $w->{'-fg'}, '-was-bfg' => $w->{'-bfg'} });
+ $w->focusable(0);
+ $w->{'-fg'} = $w->{'-bfg'} = 'blue';
+ } else {
+ $w->focusable($w->{'-was-focusable'});
+ $w->{'-fg'} = $w->{'-was-fg'};
+ $w->{'-bfg'} = $w->{'-was-bfg'};
+ }
+ $w->intellidraw;
+}
+
+sub filter_widget {
+ my ($e) = @_;
+
+ if ($e->{title} || $e->{type} eq 'expander') {
+ $e->{no_indent} = 1;
+ }
+
+ $e->{type} = 'list' if $e->{type} =~ /iconlist|treelist/;
+
+ #- combo does not allow modifications
+ $e->{type} = 'entry' if $e->{type} eq 'combo' && !$e->{not_edit};
+
+ $e->{formatted_list} = [ map { my $t = warp_text(may_apply($e->{format}, $_), 80); $t } @{$e->{list}} ];
+
+ $e->{default_curses} ||= delete $e->{curses};
+}
+sub filter_widgets {
+ my ($l) = @_;
+
+ filter_widget($_) foreach @$l;
+
+ map {
+ if (@$_ > 1) {
+ my $e = { type => 'checkboxes', label => $_->[0]{label}, val => \ (my $_ignored),
+ list => [ map { $_->{text} } @$_ ], children => $_ };
+ filter_widget($e);
+ $e;
+ } else {
+ @$_;
+ }
+ } common::group_by { !$_[0]{disabled} &&
+ $_[0]{type} eq 'bool' && $_[1]{type} eq 'bool'
+ && !$_[1]{label} } @$l;
+}
+
+
+sub heights {
+ my ($best, @fallbacks) = @_;
+ join(',', $best, grep { $_ < $best } @fallbacks);
+}
+
+sub entry_height {
+ my ($e) = @_;
+ to_int(max($e->{curses}{'-height'}, $e->{label_height} || 0));
+}
+
+sub compute_label_size {
+ my ($e, $available_width, $o_fixed_width) = @_;
+
+ $e->{label} or return;
+
+ my @text = _messages(min(80, $o_fixed_width || $available_width), $e->{label});
+ $e->{label_text_wrapped} = join("\n", @text);
+ $e->{label_height} = int(@text);
+ $e->{label_width} = $o_fixed_width || max(map { length } @text);
+}
+sub compute_label_sizes {
+ my ($cui, $wanted_widgets) = @_;
+
+ my $available_width = $cui->{'-width'} - 4;
+
+ foreach (@$wanted_widgets) {
+ compute_label_size($_, $available_width);
+ }
+}
+
+sub compute_size {
+ my ($e, $previous_e, $available_width, $o_labels_width) = @_;
+
+ {
+ my %c = %{$e->{default_curses} || {}};
+ $e->{curses} = \%c;
+ }
+ #- if $o_labels_width is given, it will be used
+ compute_label_size($e, $available_width, $o_labels_width);
+ $e->{curses}{'-x'} ||=
+ $previous_e && $previous_e->{same_line} ? 1 + $previous_e->{curses}{'-x'} + $previous_e->{curses}{'-width'} :
+ $e->{no_indent} ? $padleft :
+ $padleft + $indent + ($e->{label_width} ? $e->{label_width} + 1 : 0);
+
+ my $width_avail = $available_width - $e->{curses}{'-x'};
+
+ if ($e->{type} eq 'bool') {
+ my $indent = length("[X] ");
+ my @text = _messages($width_avail - $indent, $e->{text} || '');
+ $e->{curses}{'-height'} ||= heights(int(@text), 4);
+ $e->{curses}{'-width'} ||= max(map { length } @text) + $indent + 1;
+ $e->{curses}{'-label'} = join("\n", @text);
+ } elsif ($e->{type} eq 'combo') {
+ $e->{curses}{'-height'} ||= 1;
+ $e->{curses}{'-width'} ||= max(map { length } @{$e->{formatted_list}}) + 3;
+ } elsif ($e->{type} eq 'checkboxes') {
+ $e->{curses}{'-height'} ||= heights(map { $_ + 2 } int(@{$e->{formatted_list}}), 10, 4);
+ $e->{curses}{'-width'} ||= max(map { length } @{$e->{formatted_list}}) + 7;
+ } elsif ($e->{type} =~ /list/) {
+ $e->{curses}{'-height'} ||= heights(map { $_ + 2 } int(map { split("\n", $_) } @{$e->{formatted_list}}), 5, 4);
+ $e->{curses}{'-width'} ||= max(map { length } map { split("\n", $_) } @{$e->{formatted_list}}) + 3;
+ } elsif ($e->{type} eq 'button') {
+ my $s = sprintf('< %s >', may_apply($e->{format}, ${$e->{val}}));
+ $e->{curses}{'-width'} ||= length($s);
+ } elsif ($e->{type} eq 'expander') {
+ $e->{curses}{'-width'} ||= length("<+> $e->{text}");
+ } elsif (member($e->{type}, qw(text label only_label))) {
+ my @text = _messages(min(80, $width_avail - 1), ${$e->{val}}); #- -1 because of the scrollbar
+ $e->{curses}{'-focusable'} = 0;
+ $e->{curses}{'-height'} ||= heights(int(@text), 10, 4);
+ $e->{curses}{'-width'} ||= 1 + max(map { length } @text);
+ } else {
+ $e->{curses}{'-width'} ||= 20;
+ }
+ $e->{curses}{'-height'} ||= 1;
+
+}
+
+sub compute_sizes {
+ my ($cui, $wanted_widgets, $o_labels_width, $b_first_time) = @_;
+
+ my ($available_width, $available_height) = ($cui->{'-width'} - 2, $cui->{'-height'} - 2);
+
+ my $previous;
+ foreach (@$wanted_widgets) {
+ compute_size($_, $previous, $available_width, $o_labels_width);
+ $previous = $_;
+ }
+
+ my $width = max(map { $_->{curses}{'-x'} + $_->{curses}{'-width'} } @$wanted_widgets);
+ if ($width > $available_width) {
+ log::l("oops, could not fit... (width $width > $available_width)\n");
+ if ($o_labels_width && $b_first_time) {
+ log::l("retrying without aligning entries");
+ return compute_sizes($cui, $wanted_widgets);
+ } elsif (!$o_labels_width) {
+ my $width_no_labels = 4 + max(map { $_->{label} ? $_->{curses}{'-width'} : 0 } @$wanted_widgets);
+ if ($width_no_labels < $available_width) {
+ #- trying to force a smaller labels width
+ log::l("retrying forcing a smaller size for labels ($available_width - $width_no_labels)");
+ return compute_sizes($cui, $wanted_widgets, $available_width - $width_no_labels);
+ } else {
+ log::l("going on even if labels are too wide ($width_no_labels >= $available_width");
+ }
+ } else {
+ log::l("going on even if labels can't fit forced to $o_labels_width ($width < $available_width)");
+ }
+ }
+ my $height;
+ my $i = @$wanted_widgets;
+ retry: while (1) {
+ $height = sum(map { entry_height($_) } grep { !$_->{same_line} } @$wanted_widgets) + 1;
+ $height > $available_height or last;
+ while ($i--) {
+ if ($wanted_widgets->[$i]{curses}{'-height'} =~ s/\d+,//) {
+#- warn "retring after modifying $wanted_widgets->[$i]{type}\n";
+ if ($wanted_widgets->[$i]{type} eq 'text') {
+ $wanted_widgets->[$i]{curses}{'-vscrollbar'} = 1;
+ $wanted_widgets->[$i]{curses}{'-focusable'} = 1;
+ }
+ goto retry;
+ }
+ }
+ log::l("oops, could not fit... (height $height > $available_height)\n");
+ if ($o_labels_width) {
+ log::l("retrying without aligning entries");
+ compute_sizes($cui, $wanted_widgets);
+ } else {
+ #- hum, we need to use expander to split things
+ my $nb;
+ my $height = 5; #- room from buttons and expander
+ foreach (@$wanted_widgets) {
+ $height += to_int($_->{curses}{'-height'}) if !$_->{same_line};
+ $height <= $available_height or die "too_many $nb\n";
+ $nb++;
+ }
+ internal_error("should have died");
+ }
+ }
+
+ +{
+ '-x' => int(($available_width - $width) / 2 - 1),
+ '-y' => int(($available_height - $height) / 2 - 1),
+ '-width' => $width + 2,
+ '-height' => $height + 2,
+ };
+}
+
+sub compute_buttons {
+ my ($common, $validate) = @_;
+
+ my %buttons = (ok => $common->{ok}, cancel => $common->{cancel});
+ if (!defined $buttons{cancel} && !defined $buttons{ok}) {
+ $buttons{cancel} = $::isWizard && !$::Wizard_no_previous ? N("Previous") : N("Cancel");
+# $need_to_die = 1 if !($::isWizard && !$::Wizard_no_previous);
+ }
+ $buttons{ok} ||= $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok");
+
+ my @button_names = grep { $buttons{$_} } 'ok', 'cancel';
+ @button_names = reverse(@button_names) if $::isWizard;
+
+ my $same_line = @button_names;
+
+ my %buttons_e = map {
+ my $name = $_;
+ my $label = "< $buttons{$name} >";
+
+ $name =>
+ { type => 'button', val => \$buttons{$name}, same_line => --$same_line, no_indent => 1,
+ default_curses => { '-height' => 1, '-width' => length($label) },
+ clicked_may_quit => $name eq 'ok' ? $validate : sub { '0 but true' },
+ };
+ } @button_names;
+
+ $buttons_e{$common->{focus_cancel} ? 'cancel' : 'ok'}{focus} = sub { 1 };
+ $buttons_e{ok}{disabled} = $common->{ok_disabled} if $common->{ok_disabled};
+
+ map { $buttons_e{$_} } @button_names;
+}
+
+sub create_widget {
+ my ($cui, $win, $e, $y, $changed, $focus_out) = @_;
+
+ my $onchange = sub {
+ my ($f) = @_;
+ sub {
+ ${$e->{val}} = $f->();
+ $changed->() if $changed;
+ };
+ };
+
+ #- take the best remaining proposed height
+ $e->{curses}{'-height'} = to_int($e->{curses}{'-height'});
+
+ my %options = ('-y' => $y, %{$e->{curses}});
+
+ if ($e->{label}) {
+ $e->{label_w} = $win->add(undef,
+ $e->{label_height} <= 1 ? 'Label' :
+ ('TextViewer',
+ '-width' => $e->{label_width},
+ '-focusable' => 0,
+ '-height' => $e->{label_height}),
+ '-text' => $e->{label_text_wrapped},
+ '-y' => $options{'-y'}, '-x' => $padleft + 1,
+ );
+ }
+
+ if (!$e->{same_line}) {
+ delete $options{'-width'};
+ $options{'-padright'} = $padright;
+ }
+ $options{'-onblur'} = $focus_out if $focus_out;
+
+ my ($w, $set);
+ if ($e->{type} eq 'bool') {
+ $w = $win->add(
+ undef, 'Checkbox',
+ '-checked' => ${$e->{val}},
+ '-onchange' => $onchange->(sub { $w->get }),
+ %options);
+ $set = sub { my $meth = $_[0] ? 'check' : 'uncheck'; $w->$meth; $w->intellidraw };
+ } elsif ($e->{type} eq 'expander') {
+ my $toggle_s = '<+> ';
+ $e->{label_w} = $win->add(undef, 'Label', '-bold' => 1, '-text' => $toggle_s, %options);
+ $options{'-x'} += length($toggle_s);
+ $w = $win->add(undef, 'Buttonbox', '-buttons' => [ {
+ '-label' => $e->{text},
+ '-onpress' => sub {
+ my $common = { ok => "Close", cancel => '', messages => [ if_($e->{message}, $e->{message}) ] };
+ ask_fromW_($cui, $common, $e->{children});
+ },
+ } ], %options);
+ } elsif ($e->{type} eq 'button') {
+ my $clicked_may_quit = delete $options{clicked_may_quit};
+ $w = $win->add(undef, 'Buttonbox', '-buttons' => [ {
+ '-onpress' => $clicked_may_quit || sub { 1 },
+ } ], %options);
+ $w->set_binding('focus-up', Curses::KEY_LEFT());
+ $w->set_binding('focus-down', Curses::KEY_RIGHT());
+ $set = sub { $w->set_label(0, sprintf('< %s >', may_apply($e->{format}, $_[0]))) };
+ } elsif (member($e->{type}, qw(list combo))) {
+ $w = $win->add(undef, $e->{type} eq 'combo' ? 'Popupmenu' : 'Listbox',
+ '-values' => $e->{formatted_list},
+ '-onchange' => $onchange->(sub { $e->{list}[$w->id] }),
+ if_($e->{type} eq 'list',
+ '-vscrollbar' => 1,
+ '-onselchange' => sub {
+ #- we don't want selection AND active, so ensuring they are the same
+ $w->id == $w->get_active_id or $w->set_selection($w->get_active_id);
+ }),
+ %options);
+ $set = sub {
+ my ($val) = @_;
+ my $s = may_apply($e->{format}, $val);
+ eval {
+ my $id = find_index { $s eq $_ } @{$e->{formatted_list}};
+ $w->set_selection($id);
+ if ($w->can('set_active_id')) {
+ $w->set_active_id($id);
+ $w->intellidraw;
+ }
+ };
+ };
+ } elsif ($e->{type} eq 'checkboxes') {
+ my @selection;
+ $w = $win->add(undef, 'Listbox',
+ '-values' => $e->{formatted_list},
+ '-vscrollbar' => 1,
+ '-multi' => 1,
+ '-onselchange' => sub {
+ my @new = $w->id;
+ my %ids = (
+ (map { $_ => 1 } difference2(\@new, \@selection)),
+ (map { $_ => 0 } difference2(\@selection, \@new)),
+ );
+ foreach (keys %ids) {
+ my $sub_e = $e->{children}[$_];
+ ${$sub_e->{val}} = $ids{$_};
+ $changed->() if $changed;
+ }
+ },
+ %options);
+ $set = sub {
+ @selection = map_index { if_(${$_->{val}}, $::i) } @{$e->{children}};
+ $w->set_selection(@selection);
+ };
+ } elsif ($e->{type} eq 'only_label' && $e->{curses}{'-height'} == 1) {
+ $w = $win->add(undef, 'Label', '-text' => ${$e->{val}},
+ if_($e->{title}, '-bold' => 1),
+ %options);
+ } elsif ($e->{type} eq 'label' && $e->{curses}{'-height'} == 1) {
+ $w = $win->add(undef, 'Label', %options);
+ $set = sub { $w->text($_[0] || '') };
+ } elsif (member($e->{type}, qw(label only_label text))) {
+ $w = $win->add(undef, 'TextViewer', %options);
+ $set = sub {
+ my ($text) = @_;
+ my $width = $w->{'-sw'} - ($w->{'-vscrollbar'} ? 1 : 0);
+ $w->text(join("\n", _messages($width, $text)));
+ };
+ } elsif ($e->{type} eq 'range') {
+ $w = $win->add(undef, 'TextEntry',
+ '-sbborder' => 1,
+ '-text' => '',
+ '-regexp' => '/^\d*$/',
+ '-onchange' => sub {
+ $w->text($e->{min}) if $w->text < $e->{min};
+ $w->text($e->{max}) if $w->text > $e->{max};
+ ${$e->{val}} = $w->text;
+ $changed->() if $changed;
+ },
+ %options);
+ $set = sub { $w->text($_[0] || '') };
+ } else {
+ $w = $win->add(undef, $e->{hidden} ? 'PasswordEntry' : 'TextEntry',
+ '-sbborder' => 1,
+ '-text' => '',
+ '-onchange' => $onchange->(sub { $w->text }),
+ %options);
+ $set = sub { $w->text($_[0] || '') };
+ }
+
+ $e->{w} = $w;
+ $e->{set} = $set || sub {};
+}
+
+sub create_widgets {
+ my ($cui, $win, $l) = @_;
+
+ my $ignore; #-to handle recursivity
+ my $set_all = sub {
+ $ignore = 1;
+ foreach my $e (@$l) {
+ $e->{set}->(${$e->{val}});
+ my $disabled = $e->{disabled} && $e->{disabled}();
+ _enable_disable($e->{w}, $disabled);
+ _enable_disable($e->{label_w}, $disabled) if $e->{label_w};
+ }
+ $ignore = 0;
+ };
+ my $sub_update = sub {
+ my ($f) = @_;
+ sub {
+ return if $ignore;
+ $f->() if $f;
+ $set_all->();
+ };
+ };
+
+ my $to_focus;
+ my $y = 1;
+ foreach (@$l) {
+ my $e = $_;
+
+ $e->{curses}{clicked_may_quit} = sub {
+ if (my $v = $e->{clicked_may_quit}()) {
+ die "exit_mainloop $v";
+ }
+ $set_all->();
+ } if $e->{clicked_may_quit};
+
+ create_widget($cui, $win, $e, $y, $sub_update->($e->{changed}), $sub_update->($e->{focus_out}));
+ $to_focus ||= $e if $e->{focus} && $e->{focus}->();
+ $y += entry_height($e) if !$e->{same_line};
+ }
+
+ ($to_focus || $l->[-1])->{w}->focus;
+
+ $set_all->();
+
+ $set_all;
+}
+
+sub all_entries {
+ my ($l) = @_;
+ map { $_, if_($_->{children}, @{$_->{children}}) } @$l;
+}
+
+sub ask_fromW {
+ my ($o, $common, $l) = @_;
+ ask_fromW_($o->{cui}, $common, $l);
+}
+
+sub ask_fromW_ {
+ my ($cui, $common, $l) = @_;
+
+ $l = [ filter_widgets($l) ];
+
+ my $set_all;
+ my $validate = sub {
+ my @all = all_entries($l);
+ my $e = find { $_->{validate} && !$_->{validate}->() } @all;
+ $e ||= $common->{validate} && !$common->{validate}() && $all[0];
+ if ($e) {
+ $set_all->();
+ $e->{w}->focus if $e->{w}; #- widget may not exist if it is inside an expander
+ }
+ !$e;
+ };
+
+ my @wanted_widgets = (
+ if_(@{$common->{messages}}, { type => 'text', val => \(join("\n", @{$common->{messages}}, ' ')) }),
+ @$l,
+ { type => 'label', val => \ (my $_ignore) },
+ compute_buttons($common, $validate),
+ );
+
+ compute_label_sizes($cui, $l);
+ my $labels_width = max(map { $_->{label_width} } @$l);
+ my $window_size;
+ eval { $window_size = compute_sizes($cui, \@wanted_widgets, $labels_width, 'first_time') } or do {
+ my ($nb) = $@ =~ /^too_many (\d+)$/ or die;
+ $nb -= 1; #- remove {messages}
+ $nb != @$l or internal_error("dead-loop detected");
+
+ my @l = (
+ (@$l)[0 .. $nb - 1],
+ { type => 'expander', text => N("More"), children => [ (@$l)[$nb .. $#$l] ] },
+ );
+ return ask_fromW_($cui, $common, \@l);
+ };
+
+ my $win = $cui->add(undef, 'Window',
+ %$window_size,
+ '-border' => 1,
+ '-bfg' => 'blue', '-tfg' => 'yellow', '-tbg' => 'blue', '-titlereverse' => 0,
+ '-focusable' => 1,
+ if_($common->{title}, '-title' => $common->{title}),
+ );
+
+ $set_all = create_widgets($cui, $win, \@wanted_widgets);
+
+ $win->set_binding(\&exit, "\cC");
+ $win->set_binding(sub { suspend(); kill 19, $$ }, "\cZ");
+
+ $cui->focus($win, 1);
+ eval { $win->modalfocus };
+
+ my $err = $@;
+ $cui->delete_object($win);
+ $cui->draw;
+
+ my ($v) = $err =~ /^exit_mainloop (\S*)/ or die $err;
+
+ $v eq '0 but true' ? 0 : $v;
+}
+
+sub ask_fileW {
+ my ($o, $opts) = @_;
+ my ($file, $dir);
+
+ $dir = $opts->{directory} || $opts->{file} && dirname($opts->{file});
+
+ if ($opts->{save}) {
+ $file = $o->{cui}->savefilebrowser('-title' => $opts->{title}, '-path' => $dir, '-file' => basename($file));
+ } else {
+ $file = $o->{cui}->loadfilebrowser('-title' => $opts->{title}, '-path' => $dir, '-file' => basename($file));
+ }
+
+ my $err;
+ if (!$file) {
+ $err = N("No file chosen");
+ } elsif (-f $file && $opts->{want_a_dir}) {
+ $file = dirname($file);
+ } elsif (-d $file && !$opts->{want_a_dir}) {
+ $err = N("You have chosen a directory, not a file");
+ } elsif (!-e $file && !$opts->{save}) {
+ $err = $opts->{want_a_dir} ? N("No such directory") : N("No such file");
+ }
+ $err and $o->ask_warn('', $err) or $file;
+}
+
+sub wait_messageW {
+ my ($o, $title, $message, $message_modifiable) = @_;
+
+ my $w = { title => $title, message_header => $message };
+ wait_message_nextW($o, $message_modifiable, $w);
+ $w;
+}
+
+sub wait_message_nextW {
+ my ($o, $message, $w) = @_;
+
+ wait_message_endW($o, $w) if $w->{w};
+ my $msg = join("\n", _messages($o->{cui}{'-width'}, $w->{message_header} . "\n" . $message));
+ $w->{w} = $o->{cui}->add(undef, 'Dialog::Status', '-title' => $w->{title}, '-message' => $msg);
+ $w->{w}->draw;
+}
+sub wait_message_endW {
+ my ($o, $w) = @_;
+ $o->{cui}->delete_object($w->{w});
+ $o->{cui}->draw;
+}
+
+sub wait_message_with_progress_bar {
+ my ($o, $o_title) = @_;
+
+ my $w = {};
+ my $b = before_leaving { $o->wait_message_endW($w) };
+ $b, sub {
+ my ($msg, $current, $total) = @_;
+ if (!$w->{w} || $w->{total} != $total) {
+ $o->{cui}->delete_object($w->{w}) if $w->{w};
+
+ $w->{w} = $o->{cui}->add(undef,
+ $total ? ('Dialog::Progress', '-max' => $total) : 'Dialog::Status',
+ if_($o_title, '-title' => $o_title),
+ '-message' => $msg || $w->{msg});
+ $w->{total} = $total;
+ $w->{msg} = $msg;
+ } elsif ($msg) {
+ $w->{w}->message($msg);
+ }
+ if ($current) {
+ $w->{w}->pos($current);
+ }
+ $o->{cui}->draw;
+ };
+}
+
+1;
diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm
index e348271f1..c37143fc3 100644
--- a/perl-install/interactive/gtk.pm
+++ b/perl-install/interactive/gtk.pm
@@ -1,4 +1,4 @@
-package interactive::gtk; # $Id$
+package interactive::gtk;
use diagnostics;
use strict;
@@ -8,47 +8,57 @@ use vars qw(@ISA);
use interactive;
use common;
-use ugtk2 qw(:helpers :wrappers :create);
-use Gtk2::Gdk::Keysyms;
+use mygtk3;
+use ugtk3 qw(:helpers :wrappers :create);
my $forgetTime = 1000; #- in milli-seconds
sub new {
- ($::windowwidth, $::windowheight) = gtkroot()->get_size if !$::isInstall;
- goto &interactive::new;
+ my $w = &interactive::new;
+ ($w->{windowwidth}, $w->{windowheight}) = mygtk3::root_window_size() if !$::isInstall;
+ $w;
}
sub enter_console { my ($o) = @_; $o->{suspended} = common::setVirtual(1) }
sub leave_console { my ($o) = @_; common::setVirtual(delete $o->{suspended}) }
+sub adapt_markup {
+ #- nothing needed, the default markup is gtk3's
+ my ($_o, $s) = @_; return $s;
+}
-sub exit { ugtk2::exit(@_) }
+sub exit { ugtk3::exit(@_) }
sub ask_fileW {
- my ($_o, $title, $dir) = @_;
- my $w = ugtk2->new($title);
- $dir .= '/' if $dir !~ m|/$|;
- ugtk2::_ask_file($w, $title, $dir);
- $w->main;
+ my ($in, $common) = @_;
+
+ my $w = ugtk3::create_file_selector(%$common);
+
+ my $file;
+ $w->main(sub {
+ $file = $w->{chooser}->get_filename;
+ my $err = ugtk3::file_selected_check($common->{save}, $common->{want_a_dir}, $file);
+ $err and $in->ask_warn('', $err);
+ !$err;
+ }) && $file;
}
sub create_boxradio {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
+ my ($e, $onchange_f, $double_click) = @_;
- my $boxradio = gtkshow(gtkpack2__(Gtk2::VBox->new(0, 0),
- my @radios = gtkradio('', @{$e->{formatted_list}})));
- my $tips = Gtk2::Tooltips->new;
+ my $boxradio = gtkpack2__(Gtk3::VBox->new,
+ my @radios = gtkradio('', @{$e->{formatted_list}}));
mapn {
my ($txt, $w) = @_;
+ # workaround infamous 6 years old gnome bug #101968:
+ $w->get_child->set_size_request(mygtk3::get_label_width(), -1) if $e->{alignment} ne 'right' && !$e->{label};
$w->signal_connect(button_press_event => $double_click) if $double_click;
- $w->signal_connect(key_press_event => sub {
- &$may_go_to_next;
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ $w->signal_connect(clicked => sub {
+ ${$e->{val}} ne $txt or return;
+ $onchange_f->(sub { $txt });
});
- $w->signal_connect(clicked => sub {
- ${$e->{val}} = $txt;
- &$changed;
- });
if ($e->{help}) {
- gtkset_tip($tips, $w,
+ $w->set_tooltip_text(
ref($e->{help}) eq 'HASH' ? $e->{help}{$txt} :
ref($e->{help}) eq 'CODE' ? $e->{help}($txt) : $e->{help});
}
@@ -64,23 +74,27 @@ sub create_boxradio {
}
sub create_treeview_list {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
+ my ($e, $onchange_f, $double_click) = @_;
my $curr;
- my $list = Gtk2::ListStore->new("Glib::String");
- my $list_tv = Gtk2::TreeView->new_with_model($list);
+ my $list = Gtk3::ListStore->new("Glib::String");
+ my $list_tv = Gtk3::TreeView->new_with_model($list);
$list_tv->set_headers_visible(0);
$list_tv->get_selection->set_mode('browse');
- my $textcolumn = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 0);
+ my $textcolumn = Gtk3::TreeViewColumn->new_with_attributes("", my $renderer = Gtk3::CellRendererText->new, 'text' => 0);
$list_tv->append_column($textcolumn);
+ $renderer->set_property('ellipsize', 'end');
my $select = sub {
- $list_tv->set_cursor($_[0], undef, 0);
- $list_tv->scroll_to_cell($_[0], undef, 1, 0.5, 0);
+ my ($path) = @_;
+ return if !$list_tv->get_model;
+ $list_tv->set_cursor($path, undef, 0);
+ Glib::Timeout->add(100, sub { $list_tv->scroll_to_cell($path, undef, 1, 0.5, 0); 0 });
};
my ($starting_word, $start_reg) = ('', '^');
my $timeout;
+ $list_tv->set_enable_search(0);
$list_tv->signal_connect(key_press_event => sub {
my ($_w, $event) = @_;
my $c = chr($event->keyval & 0xff);
@@ -88,17 +102,17 @@ sub create_treeview_list {
Glib::Source->remove($timeout) if $timeout; $timeout = '';
if ($event->keyval >= 0x100) {
- &$may_go_to_next if member($event->keyval, ($Gtk2::Gdk::Keysyms{Return}, $Gtk2::Gdk::Keysyms{KP_Enter}));
- $starting_word = '' if !member($event->keyval, ($Gtk2::Gdk::Keysyms{Control_L}, $Gtk2::Gdk::Keysyms{Control_R}));
+ $e->{may_go_to_next}(), return 1 if member($event->keyval, (Gtk3::Gdk::KEY_Return, Gtk3::Gdk::KEY_KP_Enter));
+ $starting_word = '' if !member($event->keyval, (Gtk3::Gdk::KEY_Control_L, Gtk3::Gdk::KEY_Control_R));
} else {
if (member('control-mask', @{$event->state})) {
$c eq 's' or return 1;
$start_reg and $start_reg = '', return 1;
$curr++;
} else {
- &$may_go_to_next if $c eq ' ';
+ $e->{may_go_to_next}(), return 1 if $c eq ' ';
- $curr++ if $starting_word eq '' || $starting_word eq $c;
+ $curr++ if member($starting_word, '', $c);
$starting_word .= $c unless $starting_word eq $c;
}
my @l = @{$e->{formatted_list}};
@@ -109,7 +123,7 @@ sub create_treeview_list {
if ($j == @l) {
$starting_word = '';
} else {
- $select->(Gtk2::TreePath->new_from_string(($j + $curr) % @l));
+ $select->(Gtk3::TreePath->new_from_string(($j + $curr) % @l));
}
$timeout = Glib::Timeout->add($forgetTime, sub { $timeout = $starting_word = ''; 0 });
@@ -123,9 +137,10 @@ sub create_treeview_list {
$list_tv->get_selection->signal_connect(changed => sub {
my ($model, $iter) = $_[0]->get_selected;
$model && $iter or return;
- my $row = $model->get_path_str($iter);
- ${$e->{val}} = $e->{list}[$curr = $row];
- &$changed;
+ $onchange_f->(sub {
+ my $row = $model->get_path_str($iter);
+ $e->{list}[$curr = $row];
+ });
});
$list_tv->signal_connect(button_press_event => $double_click) if $double_click;
@@ -135,80 +150,85 @@ sub create_treeview_list {
my $nb = find_index { $_ eq $v } @{$e->{list}};
my ($old_path) = $list_tv->get_cursor;
if (!$old_path || $nb != $old_path->to_string) {
- $select->(Gtk2::TreePath->new_from_string($nb));
+ $select->(Gtk3::TreePath->new_from_string($nb));
}
undef $old_path if $old_path;
};
};
}
-sub create_treeview_tree {
- my ($e, $may_go_to_next, $changed, $double_click, $tree_expanded) = @_;
-
- $tree_expanded = to_bool($tree_expanded); #- to reduce "Use of uninitialized value", especially when debugging
+sub __create_tree_model {
+ my ($e) = @_;
my $sep = quotemeta $e->{separator};
- my $tree_model = Gtk2::TreeStore->new("Glib::String", "Gtk2::Gdk::Pixbuf", "Glib::String");
- my $tree = Gtk2::TreeView->new_with_model($tree_model);
- $tree->get_selection->set_mode('browse');
- $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 0));
- $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererPixbuf->new, 'pixbuf' => 1));
- $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 2));
- $tree->set_headers_visible(0);
+ my $tree_model = Gtk3::TreeStore->new("Glib::String", if_($e->{image2f}, "Gtk3::Gdk::Pixbuf"));
- my ($build_value, $clean_image);
- if (exists $e->{image2f}) {
- my $to_unref;
- $build_value = sub {
- my ($text, $image) = $e->{image2f}->($_[0]);
- [ $text ? (0 => $text) : @{[]},
- $image ? (1 => $to_unref = gtkcreate_pixbuf($image)) : @{[]} ];
- };
- $clean_image = sub { undef $to_unref };
- } else {
- $build_value = sub { [ 0 => $_[0] ] };
- $clean_image = sub {};
- }
+ my $build_value = sub {
+ my ($v) = @_;
+ my $type = 0;
+ if ($e->{image2f}) {
+ my $image = $e->{image2f}->($_[0]);
+ ($type, $v) = (1, gtkcreate_pixbuf($image)) if $image;
+ }
+ [ $type => $v ];
+ };
- my (%wtree, %wleaves, $size, $selected_via_click);
- my $parent; $parent = sub {
+ my (%wtree, $parent);
+ $parent = sub {
if (my $w = $wtree{"$_[0]$e->{separator}"}) { return $w }
my $s = '';
foreach (split $sep, $_[0]) {
$wtree{"$s$_$e->{separator}"} ||=
$tree_model->append_set($s ? $parent->($s) : undef, $build_value->($_));
- $clean_image->();
- $size++ if !$s;
$s .= "$_$e->{separator}";
}
$wtree{$s};
};
- #- do some precomputing to not slowdown selection change and key press
- my (%precomp, @ordered_keys);
- mapn {
- my ($root, $leaf) = $_[0] =~ /(.*)$sep(.+)/ ? ($1, $2) : ('', $_[0]);
+ $tree_model->{path_str_list} = [ map {
+ my ($root, $leaf) = /(.*)$sep(.+)/ ? ($1, $2) : ('', $_);
my $iter = $tree_model->append_set($parent->($root), $build_value->($leaf));
- $clean_image->();
- my $pathstr = $tree_model->get_path_str($iter);
- $precomp{$pathstr} = { value => $leaf, fullvalue => $_[0], listvalue => $_[1] };
- push @ordered_keys, $pathstr;
- $wleaves{$_[0]} = $pathstr;
- } $e->{formatted_list}, $e->{list};
+
+ $tree_model->get_path_str($iter);
+ } @{$e->{formatted_list}} ];
+
undef $_ foreach values %wtree;
undef %wtree;
+ $tree_model;
+}
+
+sub create_treeview_tree {
+ my ($e, $onchange_f, $double_click) = @_;
+
+ my $tree_model = __create_tree_model($e);
+ my $tree = Gtk3::TreeView->new_with_model($tree_model);
+ $tree->get_selection->set_mode('browse');
+ {
+ my $col = Gtk3::TreeViewColumn->new;
+ $col->pack_start(my $texrender = Gtk3::CellRendererText->new, 0);
+ $col->add_attribute($texrender, text => 0);
+ if ($e->{image2f}) {
+ $col->pack_start(my $pixrender = Gtk3::CellRendererPixbuf->new, 0);
+ $col->add_attribute($pixrender, pixbuf => 1);
+ }
+ $tree->append_column($col);
+ }
+ $tree->set_headers_visible(0);
+
my $select = sub {
my ($path_str) = @_;
- $tree->expand_to_path(Gtk2::TreePath->new_from_string($path_str));
- my $path = Gtk2::TreePath->new_from_string($path_str);
+ my $path = Gtk3::TreePath->new_from_string($path_str);
+ $tree->expand_to_path($path);
$tree->set_cursor($path, undef, 0);
- gtkflush(); #- workaround gtk2 bug not honouring centering on the given row if node was closed
+ gtkflush(); #- workaround gtk3 bug not honouring centering on the given row if node was closed
$tree->scroll_to_cell($path, undef, 1, 0.5, 0);
};
my $curr = $tree_model->get_iter_first; #- default value
- $tree->expand_all if $tree_expanded;
+ $tree->expand_all if $e->{tree_expanded};
+
+ my $selected_via_click;
$tree->get_selection->signal_connect(changed => sub {
my ($model, $iter) = $_[0]->get_selected;
@@ -216,8 +236,11 @@ sub create_treeview_tree {
undef $curr if ref $curr;
my $path = $tree_model->get_path($curr = $iter);
if (!$tree_model->iter_has_child($iter)) {
- ${$e->{val}} = $precomp{$path->to_string}{listvalue};
- &$changed;
+ $onchange_f->(sub {
+ my $path_str = $path->to_string;
+ my $i = find_index { $path_str eq $_ } @{$tree_model->{path_str_list}};
+ $e->{list}[$i];
+ });
} else {
$tree->expand_row($path, 0) if $selected_via_click;
}
@@ -230,46 +253,50 @@ sub create_treeview_tree {
$tree->toggle_expansion($tree_model->get_path($curr), 0);
} else {
- &$may_go_to_next;
+ &{$e->{may_go_to_next}};
}
};
+ $tree->set_enable_search(0);
$tree->signal_connect(key_press_event => sub {
my ($_w, $event) = @_;
$selected_via_click = 0;
my $c = chr($event->keyval & 0xff);
- $curr or return;
+ $curr or return 0;
Glib::Source->remove($timeout) if $timeout; $timeout = '';
if ($event->keyval >= 0x100) {
- &$toggle if member($event->keyval, ($Gtk2::Gdk::Keysyms{Return}, $Gtk2::Gdk::Keysyms{KP_Enter}));
- $starting_word = '' if !member($event->keyval, ($Gtk2::Gdk::Keysyms{Control_L}, $Gtk2::Gdk::Keysyms{Control_R}));
+ &$toggle and return 1 if member($event->keyval, (Gtk3::Gdk::KEY_Return, Gtk3::Gdk::KEY_KP_Enter));
+ $starting_word = '' if !member($event->keyval, (Gtk3::Gdk::KEY_Control_L, Gtk3::Gdk::KEY_Control_R));
} else {
my $next;
if (member('control-mask', @{$event->state})) {
$c eq "s" or return 1;
- $start_reg and $start_reg = '', return 1;
+ $start_reg and $start_reg = '', return 0;
$next = 1;
} else {
- &$toggle if $c eq ' ';
- $next = 1 if $starting_word eq '' || $starting_word eq $c;
+ &$toggle and return 1 if $c eq ' ';
+ $next = 1 if member($starting_word, '', $c);
$starting_word .= $c unless $starting_word eq $c;
}
my $word = quotemeta $starting_word;
my ($after, $best);
+ my $sep = quotemeta $e->{separator};
my $currpath = $tree_model->get_path_str($curr);
- foreach my $v (@ordered_keys) {
+ mapn {
+ my ($path_str, $v) = @_;
$next &&= !$after;
- $after ||= $v eq $currpath;
- if ($precomp{$v}{value} =~ /$start_reg$word/i) {
+ $after ||= $path_str eq $currpath;
+ $v =~ s/.*$sep//;
+ if ($v =~ /$start_reg$word/i) {
if ($after && !$next) {
- ($best, $after) = ($v, 0);
+ ($best, $after) = ($path_str, 0);
} else {
- $best ||= $v;
+ $best ||= $path_str;
}
}
- }
+ } $tree_model->{path_str_list}, $e->{formatted_list};
if (defined $best) {
$select->($best);
@@ -283,430 +310,596 @@ sub create_treeview_tree {
});
$tree->signal_connect(button_press_event => sub {
$selected_via_click = 1;
- &$double_click if !$tree_model->iter_has_child($curr) && $double_click;
+ &$double_click if $curr && !$tree_model->iter_has_child($curr) && $double_click;
});
$tree, sub {
- my $v = may_apply($e->{format}, $_[0]);
- my ($model, $iter) = $tree->get_selection->get_selected;
- $select->($wleaves{$v} || return) if !$model || $wleaves{$v} ne $model->get_path_str($iter);
- undef $iter if ref $iter;
- }, $size;
+ my $v = may_apply($e->{format}, $_[0]);
+ eval {
+ my $i = find_index { $v eq $_ } @{$e->{formatted_list}};
+
+ my ($model, $iter) = $tree->get_selection->get_selected;
+
+ my $new_path_str = $tree_model->{path_str_list}[$i];
+ my $old_path_str = $model && $tree_model->get_path_str($iter);
+
+ $select->($new_path_str) if $new_path_str ne $old_path_str;
+ undef $iter if ref $iter;
+ };
+ };
}
-sub create_list {
- my ($e, $may_go_to_next, $changed, $double_click) = @_;
- my $l = $e->{list};
- my $list = Gtk2::List->new;
- $list->set_selection_mode('browse');
+#- $actions is a ref list of $action
+#- $action is a { kind => $kind, action => sub { ... }, button => Gtk3::Button->new(...) }
+#- where $kind is one of '', 'modify', 'remove', 'add'
+sub add_modify_remove_action {
+ my ($button, $buttons, $e, $treelist) = @_;
- my $select = sub {
- $list->select_item($_[0]);
+ if (member($button->{kind}, 'modify', 'remove')) {
+ @{$e->{list}} or return;
+ }
+ my $r = $button->{action}->(${$e->{val}});
+ defined $r or return;
+
+ if ($button->{kind} eq 'add') {
+ ${$e->{val}} = $r;
+ } elsif ($button->{kind} eq 'remove') {
+ ${$e->{val}} = $e->{list}[0];
+ }
+ ugtk3::gtk_set_treelist($treelist, [ map { may_apply($e->{format}, $_) } @{$e->{list}} ]);
+
+ add_modify_remove_sensitive($buttons, $e);
+ 1;
+}
+
+sub add_padding {
+ my ($w) = @_;
+ gtknew('HBox', children => [
+ 0, gtknew('Alignment', width => $mygtk3::left_padding),
+ 1, $w
+ ]);
+}
+
+sub create_widget {
+ my ($o, $common, $e, $onchange_f, $update, $ignore_ref) = @_;
+
+ my $onchange = sub {
+ my ($f) = @_;
+ sub { $onchange_f->($f, @_) };
};
- my $tips = Gtk2::Tooltips->new;
- each_index {
- my $item = Gtk2::ListItem->new(may_apply($e->{format}, $_));
- $item->signal_connect(key_press_event => sub {
- my ($_w, $event) = @_;
- my $c = chr($event->keyval & 0xff);
- &$may_go_to_next if $event->keyval < 0x100 ? $c eq ' ' : $c eq "\r" || $c eq "\x8d";
- 0;
- });
- $list->append_items(gtkshow($item));
- if ($e->{help}) {
- gtkset_tip($tips, $item,
- ref($e->{help}) eq 'HASH' ? $e->{help}{$_} :
- ref($e->{help}) eq 'CODE' ? $e->{help}($_) : $e->{help});
+ my ($w, $real_w, $focus_w, $set);
+ if ($e->{type} eq 'iconlist') {
+ $w = Gtk3::Button->new;
+ $set = sub {
+ gtkdestroy($e->{icon});
+ my $f = $e->{icon2f}->($_[0]);
+ $e->{icon} = -e $f ?
+ gtkcreate_img($f) :
+ Gtk3::WrappedLabel->new(may_apply($e->{format}, $_[0]));
+ $w->add(gtkshow($e->{icon}));
+ };
+ $w->signal_connect(clicked => sub {
+ $onchange_f->(sub { next_val_in_array(${$e->{val}}, $e->{list}) });
+ $set->(${$e->{val}});
+ });
+ if ($e->{alignment} eq 'right') {
+ $real_w = gtknew('HButtonBox', layout => 'start', children_tight => [ $w ]);
+ } else {
+ $real_w = gtkpack_(Gtk3::HBox->new(0,10), 1, Gtk3::HBox->new(0,0), 0, $w, 1, Gtk3::HBox->new(0,0));
+ }
+ } elsif ($e->{type} eq 'bool') {
+ if ($e->{image}) {
+ $w = ugtk3::gtkadd(Gtk3::CheckButton->new, gtkshow(gtkcreate_img($e->{image})));
+ } else {
+ #- warn "\"text\" member should have been used instead of \"label\" one at:\n", common::backtrace(), "\n" if $e->{label} && !$e->{text};
+ $w = Gtk3::CheckButton->new_with_label($e->{text} || '');
}
- $item->grab_focus if ${$e->{val}} && $_ eq ${$e->{val}};
- } @$l;
+ $w->signal_connect(clicked => $onchange->(sub { $w->get_active }));
+ ${$e->{val}} ||= 0;
+ $set = sub { $w->set_active($_[0] || 0) };
+ $real_w = add_padding($w);
+ } elsif ($e->{type} eq 'only_label') {
+ my @common = (
+ # workaround infamous 6 years old gnome bug #101968:
+ if_($e->{alignment} ne 'right', width => mygtk3::get_label_width())
+ );
+ $w = $e->{title} ?
+ gtknew('Title2', label => escape_text_for_TextView_markup_format(${$e->{val}}), @common) :
+ gtknew($e->{alignment} eq 'right' ? 'Label_Right' : 'Label_Left',
+ line_wrap => 1, text_markup => ${$e->{val}}, @common);
+ } elsif ($e->{type} eq 'label') {
+ $w = gtknew('WrappedLabel', text_markup => ${$e->{val}});
+ $set = sub { $w->set($_[0]) };
+ } elsif ($e->{type} eq 'empty') {
+ $w = gtknew('HBox', height => $e->{height});
+ } elsif ($e->{type} eq 'button') {
+ $w = gtknew(($e->{install_button} ? 'Install_Button' : 'Button'),
+ text => '', clicked => $e->{clicked_may_quit_cooked});
+ $set = sub {
+ my $w = $w->get_child;
+ # handle Install_Buttons:
+ if (ref($w) =~ /Gtk3::HBox/) {
+ ($w) = find { ref($_) =~ /Gtk3::Label/ } $w->get_children;
+ }
+ # guard against 'advanced' widgets that are now in their own dialog
+ # (instead of in another block child of an expander):
+ return if !$w;
+ $w->set_label(may_apply($e->{format}, $_[0])) };
+ } elsif ($e->{type} eq 'range') {
+ my $adj = Gtk3::Adjustment->new(${$e->{val}}, $e->{min}, $e->{max} + ($e->{SpinButton} ? 0 : 1), 1, ($e->{max} - $e->{min}) / 10, 1);
+ $w = $e->{SpinButton} ? Gtk3::SpinButton->new($adj, 10, 0) : Gtk3::HScale->new($adj);
+ $w->set_size_request($e->{SpinButton} ? 100 : 200, -1);
+ $w->set_digits(0);
+ $adj->signal_connect(value_changed => $onchange->(sub { $adj->get_value }));
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ $set = sub { $adj->set_value($_[0]) };
+ } elsif ($e->{type} eq 'expander') {
+ $e->{grow} = 'fill';
+ my $children = [ if_($e->{message}, { type => 'only_label', no_indent => 1, val => \$e->{message} }), @{$e->{children}} ];
+ create_widgets_block($o, $common, $children, $update, $ignore_ref);
+ $w = gtknew('HBox', children_tight => [
+ gtknew('Install_Button', text => $e->{text},
+ clicked => sub {
+ eval { ask_fromW($o, { title => $common->{advanced_title} || $common->{title} || N("Advanced") }, $children) };
+ if (my $err = $@) {
+ die $err if $err !~ /^wizcancel/;
+ }
+ }
+ )
+ ]);
+ } elsif ($e->{type} =~ /list/) {
+
+ $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
+
+ if (my $actions = $e->{add_modify_remove}) {
+ my @buttons = (N_("Add"), N_("Modify"), N_("Remove"));
+ # Add Up/Down buttons if their actions are defined
+ push @buttons, map { if_($actions->{$_}, 'gtk-go-' . $_) } qw(Up Down);
+ @buttons = map {
+ my $button = /^gtk-/ ? gtknew('Button', image => gtknew('Image', stock => lc($_)))
+ : Gtk3::Button->new(translate($_));
+ my $kind = $_;
+ $kind =~ s/^gtk-go-//;
+ { kind => lc $kind, action => $actions->{$kind}, button => $button, real_kind => $_ };
+ } @buttons;
+ my $modify = find { $_->{kind} eq 'modify' } @buttons;
+
+ my $do_action = sub {
+ my ($button) = @_;
+ add_modify_remove_action($button, \@buttons, $e, $w) and $update->();
+ };
- #- signal_connect'ed after append_items otherwise it is called and destroys the default value
- $list->signal_connect(select_child => sub {
- my ($_w, $row) = @_;
- ${$e->{val}} = $l->[$list->child_position($row)];
- &$changed;
- });
- $list->signal_connect(button_press_event => $double_click) if $double_click;
+ ($w, $set, $focus_w) = create_treeview_list($e, $onchange_f,
+ sub { $do_action->($modify) if $_[1]->type =~ /^2/ });
- $list, sub {
- my ($v) = @_;
- eval {
- $select->(find_index { $_ eq $v } @$l);
+ foreach my $button (@buttons) {
+ $button->{button}->signal_connect(clicked => sub { $do_action->($button) });
+ }
+ add_modify_remove_sensitive(\@buttons, $e);
+
+ my ($images, $real_buttons) = partition { $_->{real_kind} =~ /^gtk-/ } @buttons;
+ $real_w = gtkpack_(Gtk3::HBox->new(0,0),
+ 1, create_scrolled_window($w),
+ 0, gtkpack__(Gtk3::VBox->new(0,0),
+ (map { $_->{button} } @$real_buttons),
+ if_($images,
+ gtknew('HButtonBox',
+ layout => 'spread',
+ children_loose => [ map { $_->{button} } @$images ]
+ )
+ ),
+ ),
+ );
+ $e->{grow} = 'expand';
+ } else {
+ my $use_boxradio = exists $e->{gtk}{use_boxradio} ? $e->{gtk}{use_boxradio} : @{$e->{list}} <= 8;
+
+ if ($e->{help} || $use_boxradio && $e->{type} ne 'treelist') {
+ #- used only when needed, as key bindings are dropped by List (ListStore does not seems to accepts Tooltips).
+ ($w, $set, $focus_w) = create_boxradio($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ $real_w = add_padding($w);
+ } elsif ($e->{type} eq 'treelist') {
+ ($w, $set) = create_treeview_tree($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ } else {
+ ($w, $set, $focus_w) = create_treeview_list($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ }
+ if (@{$e->{list}} > 10 || $e->{gtk}{use_scrolling}) {
+ $real_w = create_scrolled_window($w);
+ $e->{grow} = 'expand';
+ }
+ }
+ } else {
+ if ($e->{type} eq "combo") {
+ my $model;
+
+ my @formatted_list = map { may_apply($e->{format}, $_) } @{$e->{list}};
+ $e->{formatted_list} = \@formatted_list;
+
+ if (!$e->{separator}) {
+ if ($e->{not_edit}) {
+ $real_w = $w = Gtk3::ComboBoxText->new;
+ # FIXME: the following causes Gtk-CRITICAL but not solvable at realize time:
+ first($w->get_child->get_cells)->set_property('ellipsize', 'end') if !$e->{do_not_ellipsize};
+ $w->set_wrap_width($e->{gtk}{wrap_width}) if exists $e->{gtk}{wrap_width};
+ } else {
+ $w = Gtk3::ComboBoxText->new_with_entry;
+ ($real_w, $w) = ($w, $w->get_child);
+ }
+ $real_w->set_popdown_strings(@formatted_list);
+ } else {
+ $model = __create_tree_model($e);
+ $real_w = $w = Gtk3::ComboBox->new_with_model($model);
+
+ $w->pack_start(my $texrender = Gtk3::CellRendererText->new, 0);
+ $w->add_attribute($texrender, text => 0);
+ if ($e->{image2f}) {
+ $w->pack_start(my $pixrender = Gtk3::CellRendererPixbuf->new, 0);
+ $w->add_attribute($pixrender, pixbuf => 1);
+ }
+ }
+
+ my $get = sub {
+ my $i = $model ? do {
+ my (undef, $iter) = $w->get_active_iter;
+ my $s = $model->get_string_from_iter($iter);
+ eval { find_index { $s eq $_ } @{$model->{path_str_list}} };
+ } : do {
+ my $s = $w->get_text;
+ eval { find_index { $s eq $_ } @formatted_list };
+ };
+ defined $i ? $e->{list}[$i] : $w->get_text;
+ };
+ $w->signal_connect(changed => $onchange->($get));
+
+ $set = sub {
+ my $s = may_apply($e->{format}, $_[0]);
+ if ($model) {
+ eval {
+ my $i = find_index { $s eq $_ } @{$e->{formatted_list}};
+ my $path_str = $model->{path_str_list}[$i];
+ $w->set_active_iter($model->get_iter_from_string($path_str));
+ };
+ } else {
+ $w->set_text($s) if !member($w->get_text, $s, $_[0]);
+ }
+ };
+ } else {
+ if ($e->{weakness_check}) {
+ $w = gtknew('WeaknessCheckEntry');
+ }
+ else {
+ $w = Gtk3::Entry->new;
+ }
+ $w->signal_connect(changed => $onchange->(sub { $w->get_text }));
+ $w->signal_connect(focus_in_event => sub { $w->select_region(0, -1) });
+ $w->signal_connect(focus_out_event => sub { $w->select_region(0, 0) });
+ $set = sub { $w->set_text($_[0]) if $_[0] ne $w->get_text };
+ if ($e->{type} eq 'file') {
+ my $button = gtksignal_connect(Gtk3::Button->new_from_stock('gtk-open'), clicked => sub {
+ my $file = $o->ask_fileW({
+ title => $e->{label},
+ want_a_dir => to_bool($e->{want_a_dir}),
+ });
+ $set->($file) if $file;
+ });
+ $real_w = gtkpack_(Gtk3::HBox->new(0,0), 1, $w, 0, $button);
+ }
+ }
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ if ($e->{hidden}) {
+ $w->set_visibility(0);
+ $w->signal_connect(key_press_event => sub {
+ my (undef, $event) = @_;
+ if (!$o->{capslock_warned} && member('lock-mask', @{$event->state}) && !$w->get_text) {
+ $o->{capslock_warned} = 1;
+ $o->ask_warn('', N("Beware, Caps Lock is enabled"));
+ }
+ 0;
+ });
+ }
+ }
+
+ if (my $focus_out = $e->{focus_out}) {
+ $w->signal_connect(focus_out_event => sub { $update->($focus_out) });
+ }
+ $real_w ||= $w;
+
+ $e->{w} = $w;
+ $e->{real_w} = $real_w;
+ $e->{focus_w} = $focus_w || $w if $e->{type} ne 'empty';
+ $e->{set} = $set || sub {};
+}
+
+sub all_entries {
+ my ($l) = @_;
+ map { $_, if_($_->{children}, @{$_->{children}}) } @$l;
+}
+
+sub all_focusable_entries {
+ my ($l) = @_;
+ grep { $_->{focus_w} } @$l;
+}
+
+sub all_title_entries {
+ my ($l) = @_;
+ grep { $_->{title} } @$l;
+}
+
+sub create_widgets_block {
+ my ($o, $common, $l, $update, $ignore_ref) = @_;
+
+ my $label_sizegrp = Gtk3::SizeGroup->new('horizontal');
+ my $right_label_sizegrp = Gtk3::SizeGroup->new('horizontal');
+ my $realw_sizegrp = Gtk3::SizeGroup->new('horizontal');
+
+ @$l = map_index {
+ if ($::i && ($_->{type} eq 'expander' || $_->{title})) {
+ ({ type => 'empty', height => 4 }, $_);
+ } else {
+ $_;
+ }
+ } @$l;
+
+ foreach my $e (@$l) {
+ my $onchange_f = sub {
+ my ($f, @para) = @_;
+ return if $$ignore_ref;
+ ${$e->{val}} = $f->(@para);
+ $update->($e->{changed});
};
- };
+
+ create_widget($o, $common, $e, $onchange_f, $update, $ignore_ref);
+
+ my $label_w;
+ if ($e->{label} || !$e->{no_indent}) {
+ $label_w = gtknew($e->{alignment} eq 'right' ? 'Label_Right' : 'Label_Left', text_markup => $e->{label} || '',
+ size_group => ($e->{alignment} eq 'right' ? $right_label_sizegrp : $label_sizegrp),
+ );
+ $realw_sizegrp->add_widget($e->{real_w});
+ }
+
+ if ($e->{do_not_expand}) {
+ $e->{real_w} = gtknew('HBox', children => [
+ 0, $e->{real_w},
+ 1, gtknew('Label'),
+ ]);
+ }
+
+ my $eater = if_($e->{alignment} eq 'right' && !$label_w, gtknew('Label'));
+
+ $e->{real_w} = gtkpack_(Gtk3::HBox->new,
+ if_($e->{icon}, 0, eval { gtkcreate_img($e->{icon}) }),
+ if_($eater, 1, $eater),
+ if_($label_w, $e->{alignment} eq 'right', $label_w),
+ (!$eater, $e->{real_w}),
+ );
+ }
+ gtknew('VBox', children => [ map { $_->{grow} || 0, $_->{real_w} } @$l ]);
}
-sub ask_fromW {
- my ($o, $common, $l, $l2) = @_;
- my $ignore = 0; #-to handle recursivity
+sub create_widgets {
+ my ($o, $common, $mainw, $l) = @_;
- my $mainw = ugtk2->new($common->{title}, %$o, if__($::main_window, transient => $::main_window));
-
- #-the widgets
- my (@widgets, @widgets_always, @widgets_advanced, $advanced, $advanced_pack, $has_horiz_scroll, $has_scroll);
- my $max_width = 0;
- my $total_size = 0;
- my $tooltips = Gtk2::Tooltips->new;
- my $ok_clicked = sub {
- !$mainw->{ok} || $mainw->{ok}->get_property('sensitive') or return;
- $mainw->{retval} = 1;
- Gtk2->main_quit;
- };
+ my $ignore = 0; #-to handle recursivity
my $set_all = sub {
$ignore = 1;
- $_->{set}->(${$_->{e}{val}}, $_) foreach @widgets_always, @widgets_advanced;
- $_->{real_w}->set_sensitive(!$_->{e}{disabled}()) foreach @widgets_always, @widgets_advanced;
- $mainw->{ok}->set_sensitive(!$common->{callbacks}{ok_disabled}()) if $common->{callbacks}{ok_disabled};
+ my @all = all_entries($l);
+ $_->{set}->(${$_->{val}}, $_) foreach @all; #- nb: the parameter "$_" is needed for create_boxradio
+ $_->{disabled} and $_->{real_w}->set_sensitive(!$_->{disabled}()) foreach @all;
+ $_->{hidden} and $_->{w}->set_visibility(!(ref($_->{hidden}) eq 'CODE' ? $_->{hidden}() : $_->{hidden})) foreach @all;
+ $mainw->{ok}->set_sensitive(!$common->{ok_disabled}()) if $common->{ok_disabled};
$ignore = 0;
};
- my $get_all = sub {
- ${$_->{e}{val}} = $_->{get}->() foreach @widgets_always, @widgets_advanced;
- };
my $update = sub {
my ($f) = @_;
return if $ignore;
- $get_all->();
- $f->();
+ $f->() if $f;
$set_all->();
};
- my $create_widget = sub {
- my ($e, $ind) = @_;
- my $may_go_to_next = sub {
- my (undef, $event) = @_;
- if (!$event || ($event->keyval & 0x7f) == 0xd) {
- if ($ind == $#widgets) {
- @widgets == 1 ? $ok_clicked->() : $mainw->{ok}->grab_focus;
- } else {
- $widgets[$ind+1]{focus_w}->grab_focus;
- }
- return 1; #- prevent an action on the just grabbed focus
- }
- };
- my $changed = sub { $update->(sub { $common->{callbacks}{changed}($ind) }) };
+ my $ok_clicked = sub {
+ !$mainw->{ok} || $mainw->{ok}->get_property('sensitive') or return;
+ $mainw->{retval} = 1;
+ Gtk3->main_quit;
+ };
- my ($w, $real_w, $focus_w, $set, $get, $expand, $size);
- my $width = 0;
- if ($e->{type} eq 'iconlist') {
- $w = Gtk2::Button->new;
- $set = sub {
- gtkdestroy($e->{icon});
- my $f = $e->{icon2f}->($_[0]);
- $e->{icon} = -e $f ?
- gtkcreate_img($f) :
- Gtk2::Label->new(may_apply($e->{format}, $_[0]));
- $w->add(gtkshow($e->{icon}));
- };
- $w->signal_connect(clicked => sub {
- $set->(${$e->{val}} = next_val_in_array(${$e->{val}}, $e->{list}));
- $changed->();
- });
- $real_w = gtkpack_(Gtk2::HBox->new(0,10), 1, Gtk2::HBox->new(0,0), 0, $w, 1, Gtk2::HBox->new(0,0));
- } elsif ($e->{type} eq 'bool') {
- if ($e->{image}) {
- $w = gtkadd(Gtk2::CheckButton->new, gtkshow(gtkcreate_img($e->{image})));
- } else {
-#- warn "\"text\" member should have been used instead of \"label\" one at:\n", common::backtrace(), "\n" if $e->{label} && !$e->{text};
- $w = Gtk2::CheckButton->new_with_label($e->{text});
- }
- $w->signal_connect(clicked => $changed);
- $set = sub { $w->set_active($_[0]) };
- $get = sub { $w->get_active };
- $width = length $e->{text};
- } elsif ($e->{type} eq 'label') {
- $w = Gtk2::Label->new(${$e->{val}});
- $set = sub { $w->set($_[0]) };
- $width = length ${$e->{val}};
- } elsif ($e->{type} eq 'button') {
- $w = Gtk2::Button->new_with_label('');
- $w->signal_connect(clicked => sub {
- $get_all->();
+ my @all = all_entries($l);
+ foreach (@all) {
+ my $e = $_; #- for closures
+
+ # we only consider real widgets (aka ignoring labels and Help/Release Notes/... buttons):
+ if ((grep { !$_->{install_button} && $_->{type} ne 'only_label' } @all) == 1 || $e->{quit_if_double_click}) {
+ #- i'm the only one, double click means accepting
+ $e->{quit_if_double_click_cooked} = sub { $_[1]->type =~ /^2/ && $ok_clicked->() };
+ }
+
+ if ($e->{clicked_may_quit}) {
+ $e->{clicked_may_quit_cooked} = sub {
$mainw->{rwindow}->hide;
if (my $v = $e->{clicked_may_quit}()) {
$mainw->{retval} = $v;
- Gtk2->main_quit;
+ Gtk3->main_quit;
}
$mainw->{rwindow}->show;
- $set_all->();
- });
- $set = sub { $w->child->set_label(may_apply($e->{format}, $_[0])) };
- $width = length may_apply($e->{format}, ${$e->{val}});
- } elsif ($e->{type} eq 'range') {
- my $want_scale = !$::expert;
- my $adj = Gtk2::Adjustment->new(${$e->{val}}, $e->{min}, $e->{max} + ($want_scale ? 1 : 0), 1, ($e->{max} - $e->{min}) / 10, 1);
- $adj->signal_connect(value_changed => $changed);
- $w = $want_scale ? Gtk2::HScale->new($adj) : Gtk2::SpinButton->new($adj, 10, 0);
- $w->set_size_request($want_scale ? 200 : 100, -1);
- $w->set_digits(0);
- $w->signal_connect(key_press_event => $may_go_to_next);
- $set = sub { $adj->set_value($_[0]) };
- $get = sub { $adj->get_value };
- $size = 2;
- } elsif ($e->{type} =~ /list/) {
-
- $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
- $width = max(map { length } @{$e->{list}});
-
- if (my $actions = $e->{add_modify_remove}) {
- my %buttons;
- my $do_action = sub {
- @{$e->{list}} || $_[0] eq 'Add' or return;
- my $r = $actions->{$_[0]}->(${$e->{val}});
- defined $r or return;
-
- if ($_[0] eq 'Add') {
- ${$e->{val}} = $r;
- } elsif ($_[0] eq 'Remove') {
- ${$e->{val}} = $e->{list}[0];
- }
- $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
- my $list = $w->get_model;
- $list->clear;
- $list->append_set([ 0 => $_ ]) foreach @{$e->{formatted_list}};
- $changed->();
- $buttons{$_}->set_sensitive(@{$e->{list}} != ()) foreach 'Modify', 'Remove';
- };
- my @actions = (N_("Add"), N_("Modify"), N_("Remove"));
-
- $width += max(map { length(translate($_)) } @actions);
- $has_scroll = $expand = 1;
- $size = 6;
- ($w, $set, $focus_w) = create_treeview_list($e, $may_go_to_next, $changed,
- sub { $do_action->('Modify') if $_[1]->type =~ /^2/ });
- $e->{saved_default_val} = ${$e->{val}};
-
- %buttons = map {
- my $action = $_;
- $action => gtksignal_connect(Gtk2::Button->new(translate($action)),
- clicked => sub { $do_action->($action) });
- } @actions;
- $w->set_size_request(400, -1);
- $real_w = gtkpack_(Gtk2::HBox->new(0,0),
- 1, create_scrolled_window($w),
- 0, gtkpack__(Gtk2::VBox->new(0,0), map { $buttons{$_} } @actions));
- $real_w->set_data(must_grow => 1)
- } else {
-
- my $quit_if_double_click =
- #- i'm the only one, double click means accepting
- @$l == 1 || $e->{quit_if_double_click} ?
- sub { $_[1]->type =~ /^2/ && $ok_clicked->() } : '';
-
- my @para = ($e, $may_go_to_next, $changed, $quit_if_double_click);
- my $use_boxradio = exists $e->{gtk}{use_boxradio} ? $e->{gtk}{use_boxradio} : @{$e->{list}} <= 8;
+ $update->();
+ };
+ }
- if ($e->{help}) {
- #- used only when needed, as key bindings are dropped by List (ListStore does not seems to accepts Tooltips).
- ($w, $set, $focus_w) = $use_boxradio ? create_boxradio(@para) : create_list(@para);
- } elsif ($e->{type} eq 'treelist') {
- ($w, $set, $size) = create_treeview_tree(@para, $e->{tree_expanded});
- $e->{saved_default_val} = ${$e->{val}}; #- during realization, signals will mess up the default val :(
- } else {
- if ($use_boxradio) {
- ($w, $set, $focus_w) = create_boxradio(@para);
- } else {
- ($w, $set, $focus_w) = create_treeview_list(@para);
- $e->{saved_default_val} = ${$e->{val}};
- }
- }
- if (@{$e->{list}} > (@$l == 1 ? 10 : 4) || $e->{add_modify_remove}) {
- $has_scroll = $expand = 1;
- $real_w = create_scrolled_window($w);
- $size = (@$l == 1 ? 10 : 4);
+ $e->{may_go_to_next} = sub {
+ my (undef, $event) = @_;
+ if (!$event || ($event->keyval & 0x7f) == 0xd) {
+ my @current_all = all_focusable_entries($l);
+ my $ind = eval { find_index { $_ == $e } @current_all };
+ if (my $e_ = $current_all[$ind+1]) {
+ $e_->{focus_w}->grab_focus;
} else {
- $size ||= @{$e->{list}};
+ @current_all == 1 ? $ok_clicked->() : $mainw->{ok}->grab_focus;
}
+ 1; #- prevent an action on the just grabbed focus
+ } else {
+ 0;
}
- } else {
- if ($e->{type} eq "combo") {
-
- my @formatted_list = map { may_apply($e->{format}, $_) } @{$e->{list}};
-
- my @l = sort { $b <=> $a } map { length } @formatted_list;
- $width = $l[@l / 16]; # take the third octile (think quartile)
-
- if ($e->{not_edit} && $width < 60) { #- OptionMenus do not have an horizontal scroll-bar. This can cause havoc for long strings (eg: diskdrake Create dialog box in expert mode)
- $w = Gtk2::OptionMenu->new;
- } else {
- $w = Gtk2::Combo->new;
- $w->set_use_arrows_always(1);
- $w->entry->set_editable(!$e->{not_edit});
- $w->disable_activate;
- $has_horiz_scroll = 1;
- }
+ };
+ }
- $w->set_popdown_strings(@formatted_list);
- ($real_w, $w) = ($w, $w->entry);
+ # add asterisks before titles when there're more than one:
+ my @all_titles = all_title_entries($l);
+ if (2 <= @all_titles) {
+ ${$_->{val}} = mygtk3::asteriskize(${$_->{val}}) foreach @all_titles;
+ }
- #- FIXME workaround gtk suckiness (set_text generates two 'change' signals, one when removing the whole, one for inserting the replacement..)
- my $idle;
- $w->signal_connect(changed => sub {
- $idle ||= Glib::Idle->add(sub { undef $idle; $changed->(); 0 });
- });
+ my $box = create_widgets_block($o, $common, $l, $update, \$ignore);
- $set = sub {
- my $s = may_apply($e->{format}, $_[0]);
- $w->set_text($s) if $s ne $w->get_text && $_[0] ne $w->get_text;
- };
- $get = sub {
- my $s = $w->get_text;
- my $i = eval { find_index { $s eq $_ } @formatted_list };
- defined $i ? $e->{list}[$i] : $s;
- };
- } else {
- $w = Gtk2::Entry->new;
- $w->signal_connect(changed => $changed);
- $w->signal_connect(focus_in_event => sub { $w->select_region(0, -1) });
- $w->signal_connect(focus_out_event => sub { $w->select_region(0, 0) });
- $set = sub { $w->set_text($_[0]) if $_[0] ne $w->get_text };
- $get = sub { $w->get_text };
- }
- $w->signal_connect(key_press_event => $may_go_to_next);
- $w->set_visibility(0) if $e->{hidden};
- }
- $w->signal_connect(focus_out_event => sub {
- $update->(sub { $common->{callbacks}{focus_out}($ind) });
- });
- $tooltips->set_tip($w, $e->{help}) if $e->{help} && !ref($e->{help});
+ foreach my $e (@all) {
+ $e->{w}->set_tooltip_text($e->{help}) if $e->{help} && !ref($e->{help});
+ }
- $max_width = max($max_width, $width);
- $total_size += $size || 1;
-
- { e => $e, w => $w, real_w => $real_w || $w, focus_w => $focus_w || $w, expand => $expand,
- get => $get || sub { ${$e->{val}} }, set => $set || sub {},
- icon_w => $e->{icon} && eval { gtkcreate_img($e->{icon}) } };
- };
- @widgets_always = map_index { $create_widget->($_, $::i) } @$l;
- my $always_total_size = $total_size;
- @widgets_advanced = map_index { $create_widget->($_, $::i + @$l) } @$l2;
- my $advanced_total_size = $total_size - $always_total_size;
+ $box, $set_all;
+}
+sub add_modify_remove_sensitive {
+ my ($buttons, $e) = @_;
+ $_->{button}->set_sensitive(@{$e->{list}} != ()) foreach
+ grep { member($_->{kind}, 'modify', 'remove') } @$buttons;
+}
- my $pack = create_box_with_title($mainw, @{$common->{messages}});
- my ($totalwidth, $totalheight) = (0, $mainw->{box_size});
+sub filter_widgets {
+ my ($l) = @_;
- my $set_default_size = sub {
- if (($has_scroll || $has_horiz_scroll) && !$mainw->{isEmbedded} && !$mainw->{isWizard}) {
- $mainw->{rwindow}->set_default_size($totalwidth+6+$ugtk2::shape_width, $has_scroll ? $totalheight+6+3+$ugtk2::shape_width : -1);
- }
- };
+ foreach my $e (all_entries($l)) {
+ $e->{no_indent} = 1 if member($e->{type}, 'list', 'treelist', 'expander', 'bool', 'only_label');
+ }
+}
- my $set_advanced_raw = sub {
- ($advanced) = @_;
- $advanced ? $advanced_pack->show : $advanced_pack->hide;
- };
- my $set_advanced = sub {
- ($advanced) = @_;
- $set_default_size->() if $advanced;
- $update->($common->{callbacks}{advanced}) if $advanced;
- $set_advanced_raw->($advanced);
- @widgets = (@widgets_always, if_($advanced, @widgets_advanced));
- $mainw->sync; #- for $set_all below (mainly for the set of clist)
- $set_all->(); #- must be done when showing advanced lists (to center selected value)
- };
- my $advanced_button = [ $common->{advanced_label},
- sub {
- my ($w) = @_;
- $set_advanced->(!$advanced);
- $w->child->set_label($advanced ? $common->{advanced_label_close} : $common->{advanced_label});
- } ];
+my $help_path = "/usr/share/doc/installer-help";
- my $create_widgets = sub {
- my ($size, @widgets) = @_;
- my $w = create_packtable({}, map { [($_->{icon_w}, $_->{e}{label}, $_->{real_w})] } @widgets);
+sub is_help_file_exist {
+ my ($_o, $id) = @_;
+ # just ignore anchors:
+ $id =~ s/#.*//;
+ -e "$help_path/$id.html";
+}
- $size && $total_size or return $w; #- do not bother computing stupid/bad things
- my $ratio = max($size / $total_size, 0.2);
+sub load_from_uri {
+ my ($view, $url) = @_;
+ $view->load_uri(get_html_file($::o, $url));
+}
- my ($possibleheight, $possiblewidth) = $mainw->{isEmbedded} ? (450, 380) : ($::windowheight * 0.8, $::windowwidth * 0.8);
- $possibleheight -= $mainw->{box_size};
+sub get_html_file {
+ my ($o, $url) = @_;
+ my $anchor;
+ ($url, $anchor) = $url =~ /(.*)#(.*)/ if $url =~ /#/;
+ $url .= '.html' if $url !~ /\.html$/;
+ $url = find { -e $_ } map { "$help_path/${_}" }
+ map {
+ my $id = $_;
+ require lang;
+ map { ("$_/$id") } map { $_, lc($_) } (split ':', lang::getLANGUAGE($o->{locale}{lang})), '';
+ } $url;
+ $url = "file://$url";
+ $anchor ? "$url#$anchor" : $url;
+}
- my $wantedwidth = max(250, $max_width * 5);
- my $width = min($possiblewidth, $wantedwidth);
+sub display_help_window {
+ my ($o, $common) = @_;
+ if (my $file = $common->{interactive_help_id}) {
+ require Gtk3::WebKit2;
+ my $view = gtknew('WebKit2_WebView');
+
+ load_from_uri($view, $file);
+
+ my $w = ugtk3->new(N("Help"), modal => 1);
+ gtkadd($w->{rwindow},
+ gtkpack_(Gtk3::VBox->new,
+ 1, create_scrolled_window(gtkset_border_width($view, 5),
+ [ 'never', 'automatic' ],
+ ),
+ 0, Gtk3::HSeparator->new,
+ 0, gtkpack(create_hbox('end'),
+ gtknew('Button', text => N("Close"), clicked => sub { Gtk3->main_quit })
+ ),
+ ),
+ );
+ mygtk3::set_main_window_size($w->{rwindow});
+ $w->{real_window}->grab_focus;
+ $w->{real_window}->show_all;
+ $w->main;
+ return;
+ } elsif (my $message = $common->{interactive_help}->()) {
+ $o->ask_warn(N("Help"), $message);
+ }
+}
- my $wantedheight = ugtk2::n_line_size($size, 'various', $mainw->{rwindow});
- my $height = min($possibleheight * $ratio, max(200, $wantedheight));
+sub display_help {
+ my ($o, $common) = @_;
+ # not very safe but we run in a restricted environment anyway:
+ my $f = '/tmp/help.txt';
+ if ($common->{interactive_help}) {
+ output($f, $common->{interactive_help}->());
+ }
+ local $ENV{LC_ALL} = $::o->{locale}{lang} || 'C';
+ system('display_installer_help', $common->{interactive_help_id} || $f, $o->{locale}{lang});
+}
- $totalheight += $height;
- $totalwidth = max($width, $totalwidth);
+sub ask_fromW {
+ my ($o, $common, $l) = @_;
- my $has = $wantedwidth > $width || $wantedheight > $height;
- $has_scroll ||= $has;
- $has ? create_scrolled_window($w) : $w;
- };
+ filter_widgets($l);
- my $always_pack = $create_widgets->($always_total_size, @widgets_always);
- my $has_scroll_always = $has_scroll;
-
- my @adv = map { warp_text($_) } @{$common->{advanced_messages}};
- $advanced_pack =
- gtkpack_(Gtk2::VBox->new(0,0),
- 0, '',
- (map { (0, Gtk2::Label->new($_)) } @adv),
- 0, Gtk2::HSeparator->new,
- 1, $create_widgets->($advanced_total_size, @widgets_advanced));
-
- my @help = if_($common->{interactive_help},
- [ N("Help"), sub {
- my $message = $common->{interactive_help}->() or return;
- $o->ask_warn(N("Help"), $message);
- }, 1 ]);
- if ($::isStandalone && $::expert) {
- $common->{advanced_state} = 1;
- $advanced_button->[0] = $common->{advanced_label_close};
- }
- my $buttons_pack = ($common->{ok} || !exists $common->{ok}) && $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', @help, if_(@$l2, $advanced_button));
+ my $mainw = ugtk3->new($common->{title}, %$o, if__($::main_window, transient => $::main_window),
+ if_($common->{icon}, icon => $common->{icon}), banner_title => $common->{banner_title},
+ );
+
+ my ($box, $set_all) = create_widgets($o, $common, $mainw, $l);
- $pack->pack_start(gtkshow($always_pack), 1, 1, 0);
- $advanced_pack = create_scrolled_window($advanced_pack, [ 'never', 'automatic' ], 'none');
- $pack->pack_start($advanced_pack, 1, 1, 0) if @widgets_advanced;
+ $mainw->{box_allow_grow} = 1;
+ my $pack = create_box_with_title($mainw, @{$common->{messages}});
+ mygtk3::set_main_window_size($mainw->{rwindow}) if $mainw->{pop_it} && !$common->{auto_window_size} && (@$l || $mainw->{box_size} == 200);
+
+ my @more_buttons = (
+ if_($common->{interactive_help} || $common->{interactive_help_id},
+ [ gtknew('Install_Button', text => N("Help"),
+ clicked => sub { display_help($o, $common) }), undef, 1 ]),
+ if_($common->{more_buttons}, @{$common->{more_buttons}}),
+ );
+ my $buttons_pack = ($common->{ok} || !exists $common->{ok}) && $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', @more_buttons);
+
+ gtkpack_($pack, 1, gtknew('ScrolledWindow', shadow_type => 'none', child => $box)) if @$l;
+
if ($buttons_pack) {
- if ($::isWizard && !$mainw->{pop_it} && $::isInstall) {
- $buttons_pack->set_size_request($::windowwidth * 0.9 - 20, -1);
- $buttons_pack = gtkpack__(Gtk2::HBox->new(0,0), $buttons_pack);
- }
- $pack->pack_start(gtkshow($buttons_pack), 0, 0, 0);
+ $pack->pack_end(gtkshow($buttons_pack), 0, 0, 0);
}
- gtkadd($mainw->{window}, $pack);
- $set_default_size->() if $has_scroll_always;
- $set_advanced->($common->{advanced_state});
-
- my $widget_to_focus =
- $common->{focus_cancel} ? $mainw->{cancel} :
- @widgets && ($common->{focus_first} || !$mainw->{ok} || @widgets == 1 && member(ref($widgets[0]{focus_w}), "Gtk2::TreeView", "Gtk2::RadioButton")) ?
- $widgets[0]{focus_w} :
- $mainw->{ok};
+ ugtk3::gtkadd($mainw->{window}, $pack);
+ $set_all->();
+
+ my $entry_to_focus = find { $_->{focus} && $_->{focus}() } @$l;
+ my $widget_to_focus = $entry_to_focus ? $entry_to_focus->{focus_w} :
+ $common->{focus_cancel} ? $mainw->{cancel} :
+ @$l && (!$mainw->{ok} || @$l == 1 && member(ref($l->[0]{focus_w}), "Gtk3::TreeView", "Gtk3::RadioButton")) ?
+ $l->[0]{focus_w} :
+ $mainw->{ok};
$widget_to_focus->grab_focus if $widget_to_focus;
- my $check = sub {
- my ($f) = @_;
- sub {
- $get_all->();
- my ($error, $focus) = $f->();
-
- if ($error) {
- $set_all->();
- if (my $to_focus = $widgets[$focus || 0]) {
- $to_focus->{focus_w}->grab_focus;
- } else {
- log::l("ERROR: bad entry number given to focus " . backtrace());
- }
- }
- !$error;
+ my $validate = sub {
+ my @all = all_entries($l);
+ my $e = find { $_->{validate} && !$_->{validate}->() } @all;
+ $e ||= $common->{validate} && !$common->{validate}() && $all[0];
+ if ($e) {
+ $set_all->();
+ $e->{focus_w}->grab_focus;
}
+ !$e;
};
- $_->{set}->($_->{e}{saved_default_val} || next) foreach @widgets_always, @widgets_advanced;
- $mainw->main(map { $check->($common->{callbacks}{$_}) } 'complete', 'canceled');
+ $mainw->main($validate);
}
sub ask_browse_tree_info_refW {
my ($o, $common) = @_;
add2hash($common, { wait_message => sub { $o->wait_message(@_) } });
- ugtk2::ask_browse_tree_info($common);
+ ugtk3::ask_browse_tree_info($common);
}
@@ -721,48 +914,84 @@ sub ask_from__add_modify_removeW {
$o->ask_from($title, $message, $l, %callback);
}
-sub wait_messageW($$$) {
- my ($o, $title, $messages) = @_;
- local $::isEmbedded = 0; # to prevent sub window embedding
-
- my @l = map { Gtk2::Label->new(scalar warp_text($_)) } @$messages;
- my $w = ugtk2->new($title, %$o, grab => 1, if__($::main_window, transient => $::main_window));
- gtkadd($w->{window}, my $hbox = Gtk2::HBox->new(0,0));
- $hbox->pack_start(my $box = Gtk2::VBox->new(0,0), 1, 1, 10);
- $box->pack_start(shift @l, 0, 0, 4);
- $box->pack_start($_, 1, 1, 4) foreach @l;
-
- ($w->{wait_messageW} = $l[-1])->signal_connect(expose_event => sub { $w->{displayed} = 1; 0 });
- $w->{rwindow}->set_position('center') if $::isStandalone && !$w->{isEmbedded} && !$w->{isWizard};
- $w->{window}->show_all;
- $w->sync until $w->{displayed};
- $w;
+my $reuse_timeout;
+
+sub wait_messageW {
+ my ($o, $title, $message, $message_modifiable) = @_;
+
+ my $to_modify = Gtk3::Label->new(scalar warp_text(ref $message_modifiable ? '' : $message_modifiable));
+
+ Glib::Source->remove($reuse_timeout) if $reuse_timeout; $reuse_timeout = '';
+
+ my $Window = gtknew('MagicWindow',
+ if_($title, title => $title),
+ pop_it => defined $o->{pop_wait_messages} ? $o->{pop_wait_messages} : 1,
+ pop_and_reuse => $::isInstall,
+ modal => 1,
+ $::isInstall ? (banner => gtknew('Install_Title', text => $message)) : (),
+ no_Window_Manager => exists $o->{no_Window_Manager} ? $o->{no_Window_Manager} : !$::isStandalone,
+ child => gtknew('VBox', padding => 4, border_width => 10, children => [
+ 1, $to_modify,
+ if_(ref($message_modifiable), 0, $message_modifiable),
+ ]),
+ );
+ mygtk3::enable_sync_flush($Window);
+ $Window->{wait_messageW} = $to_modify;
+ mygtk3::sync_flush($Window);
+ $Window;
}
sub wait_message_nextW {
- my ($_o, $messages, $w) = @_;
- my $msg = warp_text(join "\n", @$messages);
- return if $msg eq $w->{wait_messageW}->get; #- needed otherwise no expose_event :(
- $w->{displayed} = 0;
- $w->{wait_messageW}->set($msg);
- $w->flush until $w->{displayed};
+ my ($_o, $message, $Window) = @_;
+ return if $message eq $Window->{wait_messageW}->get_text; #- needed otherwise no draw :(
+ $Window->{displayed} = 0;
+ $Window->{wait_messageW}->set($message);
+ mygtk3::sync($Window) while !$Window->{displayed};
}
sub wait_message_endW {
- my ($_o, $w) = @_;
- $w->destroy;
+ my ($_o, $Window) = @_;
+ if ($Window->{pop_and_reuse}) {
+ $reuse_timeout = Glib::Timeout->add(100, sub {
+ mygtk3::destroy_previous_popped_and_reuse_window();
+ });
+ } else {
+ mygtk3::may_destroy($Window);
+ mygtk3::flush();
+ }
}
-sub kill {
- my ($_o) = @_;
- $_->destroy foreach $::WizardTable ? $::WizardTable->get_children : (), @tempory::objects, @interactive::objects;
- @tempory::objects = @interactive::objects = ();
-}
+sub wait_message_with_progress_bar {
+ my ($in, $o_title) = @_;
+
+ my $progress = gtknew('ProgressBar');
+ my $w = $in->wait_message($o_title, $progress);
+ my $displayed;
+ $progress->signal_connect(draw => sub { $displayed = 1; 0 });
+ $w, sub {
+ my ($msg, $current, $total) = @_;
+ if ($msg) {
+ $w->set($msg);
+ }
-sub ok {
- N("Ok");
+ if ($total) {
+ $progress or internal_error('You must first give some text to display');
+ my $fraction = min(1, $current / $total);
+ if ($fraction != $progress->get_fraction) {
+ $progress->set_fraction($fraction);
+ $progress->show;
+ $displayed = 0;
+ mygtk3::flush() while !$displayed;
+ }
+ } else {
+ $progress->hide;
+ mygtk3::flush();
+ }
+ };
}
-sub cancel {
- N("Cancel");
+sub kill {
+ my ($_o) = @_;
+ $_->destroy foreach $::WizardTable ? $::WizardTable->get_children : (), @tempory::objects;
+ @tempory::objects = ();
}
1;
diff --git a/perl-install/interactive/http.pm b/perl-install/interactive/http.pm
index ea2ae1311..70017c41d 100644
--- a/perl-install/interactive/http.pm
+++ b/perl-install/interactive/http.pm
@@ -1,4 +1,4 @@
-package interactive::http; # $Id$
+package interactive::http;
use diagnostics;
use strict;
@@ -13,7 +13,6 @@ use log;
my $script_name = $ENV{INTERACTIVE_HTTP};
my $no_header;
-my $uid;
my $pipe_r = "/tmp/interactive_http_r";
my $pipe_w = "/tmp/interactive_http_w";
@@ -26,8 +25,8 @@ sub open_stdout() {
# cont_stdout must be called after open_stdout and before the first print
sub cont_stdout {
- my ($title) = @_;
- print CGI::start_html('-title' => $title) if $no_header;
+ my ($o_title) = @_;
+ print CGI::start_html('-title' => $o_title) if $no_header;
$no_header = 0;
}
@@ -42,7 +41,7 @@ sub new {
}
sub end {
- -e $pipe_r or return; # don't run this twice
+ -e $pipe_r or return; # do not run this twice
my $q = CGI->new;
cont_stdout("Exit");
print "It's done, thanks for playing", $q->end_html;
@@ -75,7 +74,7 @@ sub ask_fromW {
$e->{type} = 'list' if $e->{type} =~ /(icon|tree)list/;
- #- combo doesn't exist, fallback to a sensible default
+ #- combo does not exist, fallback to a sensible default
$e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
if ($e->{type} eq 'bool') {
@@ -109,15 +108,14 @@ sub ask_fromW {
close STDOUT; # page terminated
while (1) {
- local *F;
- open F, "<$pipe_r" or die;
- $q = CGI->new(*F);
+ open(my $F, "<$pipe_r") or die;
+ $q = CGI->new($F);
$q->param('force_exit_dead_prog') and $o->exit;
last if $q->param('uid') == $uid;
open_stdout(); # re-open for writing
cont_stdout(N("Error"));
- print $q->h1(N("Error")), $q->p("Sorry, you can't go back");
+ print $q->h1(N("Error")), $q->p("Sorry, you cannot go back");
goto redisplay;
}
each_index {
@@ -138,15 +136,15 @@ sub p {
}
sub wait_messageW {
- my ($_o, $_title, $messages) = @_;
+ my ($_o, $_title, $message, $message_modifiable) = @_;
cont_stdout();
print "\n" . CGI::p();
- p(@$messages);
+ p($message, $message_modifiable);
}
sub wait_message_nextW {
- my ($_o, $messages, $_w) = @_;
- p(@$messages);
+ my ($_o, $message, $_w) = @_;
+ p($message);
}
sub wait_message_endW {
my ($_o, $_w) = @_;
diff --git a/perl-install/interactive/newt.pm b/perl-install/interactive/newt.pm
deleted file mode 100644
index 861e3b6c3..000000000
--- a/perl-install/interactive/newt.pm
+++ /dev/null
@@ -1,409 +0,0 @@
-package interactive::newt; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw(@ISA);
-
-@ISA = qw(interactive);
-
-use interactive;
-use common;
-use log;
-use Newt::Newt; #- !! provides Newt and not Newt::Newt
-
-my ($width, $height) = (80, 25);
-my @wait_messages;
-
-sub new {
- Newt::Init();
- Newt::Cls();
- Newt::SetSuspendCallback();
- ($width, $height) = Newt::GetScreenSize();
- open STDERR, ">/dev/null" if $::isStandalone && !$::testing;
- bless {}, $_[0];
-}
-
-sub enter_console { Newt::Suspend() }
-sub leave_console { Newt::Resume() }
-sub suspend { Newt::Suspend() }
-sub resume { Newt::Resume() }
-sub end { Newt::Finished() }
-sub exit { end(); exit($_[1]) }
-END { end() }
-
-sub messages {
- my ($width, @messages) = @_;
- warp_text(join("\n", @messages), $width - 9);
-}
-
-sub myTextbox {
- my ($allow_scroll, $free_height, @messages) = @_;
-
- my @l = messages($width, @messages);
- my $h = min($free_height - 13, int @l);
-
- my $want_scroll;
- if ($h < @l) {
- if ($allow_scroll) {
- $want_scroll = 1;
- } else {
- # remove the text, no other way!
- @l = @l[0 .. $h-1];
- }
- }
-
- my $mess = Newt::Component::Textbox(1, 0, my $w = max(map { length } @l) + 1, $h, $want_scroll);
- $mess->TextboxSetText(join("\n", @l));
- $mess, $w + 1, $h;
-}
-
-sub separator {
- my $blank = Newt::Component::Form(\undef, '', 0);
- $blank->FormSetWidth($_[0]);
- $blank->FormSetHeight($_[1]);
- $blank;
-}
-sub checkval { $_[0] && $_[0] ne ' ' ? '*' : ' ' }
-
-sub ask_fromW {
- my ($o, $common, $l, $l2) = @_;
-
- if (@$l == 1 && $l->[0]{list} && @{$l->[0]{list}} == 2 && listlength(map { split "\n" } @{$common->{messages}}) > 20) {
- #- special ugly case, esp. for license agreement
- my $e = $l->[0];
- my $ok_disabled = $common->{callbacks} && delete $common->{callbacks}{ok_disabled};
- ($common->{ok}, $common->{cancel}) = map { may_apply($e->{format}, $_) } @{$e->{list}};
- do {
- ${$e->{val}} = ask_fromW_real($o, $common, [], $l2) ? $e->{list}[0] : $e->{list}[1];
- } while $ok_disabled && $ok_disabled->();
- 1;
- } elsif ((any { $_->{type} ne 'button' } @$l) || @$l < 5) {
- &ask_fromW_real;
- } else {
- $common->{cancel} = N("Do") if $common->{cancel} eq '';
- my $r;
- do {
- my @choices = map {
- my $s = simplify_string(may_apply($_->{format}, ${$_->{val}}));
- $s = "$_->{label}: $s" if $_->{label};
- { label => $s, clicked_may_quit => $_->{clicked_may_quit} }
- } @$l;
- #- replace many buttons with a list
- my $new_l = [ { val => \$r, type => 'list', list => \@choices, format => sub { $_[0]{label} }, sort => 0 } ];
- ask_fromW_real($o, $common, $new_l, $l2) and return;
- } until $r->{clicked_may_quit}->();
- 1;
- }
-}
-
-sub ask_fromW_real {
- my ($_o, $common, $l, $l2) = @_;
- my $ignore; #-to handle recursivity
- my $old_focus = -2;
-
- my @l = $common->{advanced_state} ? @$l2 : @$l;
- my @messages = (@{$common->{messages}}, if_($common->{advanced_state}, @{$common->{advanced_messages}}));
-
- #-the widgets
- my (@widgets, $total_size, $has_scroll);
-
- my $label_width;
- my $get_label_width = sub {
- $label_width ||= max(map { length($_->{label}) } @l);
- };
-
- my $set_all = sub {
- $ignore = 1;
- $_->{set}->(${$_->{e}{val}}) foreach @widgets;
-# $_->{w}->set_sensitive(!$_->{e}{disabled}()) foreach @widgets;
- $ignore = 0;
- };
- my $get_all = sub {
- ${$_->{e}{val}} = $_->{get}->() foreach @widgets;
- };
- my $create_widget = sub {
- my ($e, $ind) = @_;
-
- $e->{type} = 'list' if $e->{type} =~ /iconlist/;
-
- #- combo doesn't exist, fallback to a sensible default
- $e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
-
- my $changed = sub {
- return if $ignore;
- return $old_focus++ if $old_focus == -2; #- handle special first case
- $get_all->();
-
- #- TODO: this is very rough :(
- $common->{callbacks}{$old_focus == $ind ? 'changed' : 'focus_out'}->($ind);
-
- $set_all->();
- $old_focus = $ind;
- };
-
- my ($w, $real_w, $set, $get, $expand, $size, $invalid_choice, $extra_text);
- if ($e->{type} eq 'bool') {
- my $subwidth = $width - $get_label_width->() - 9;
- my @text = messages($subwidth, $e->{text} || '');
- $size = @text;
- $w = Newt::Component::Checkbox(shift(@text), checkval(${$e->{val}}), " *");
- if (@text) {
- $extra_text = Newt::Component::Textbox(-1, -1, $subwidth, $size - 1, 0);
- $extra_text->TextboxSetText(join("\n", @text));
- }
- $set = sub { $w->CheckboxSetValue(checkval($_[0])) };
- $get = sub { $w->CheckboxGetValue == ord '*' };
- } elsif ($e->{type} eq 'button') {
- $w = Newt::Component::Button(simplify_string(may_apply($e->{format}, ${$e->{val}})));
- } elsif ($e->{type} eq 'treelist') {
- $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
- my $data_tree = interactive::helper_separator_tree_to_tree($e->{separator}, $e->{list}, $e->{formatted_list});
-
- my $count; $count = sub {
- my ($t) = @_;
- 1 + ($t->{_leaves_} ? int @{$t->{_leaves_}} : 0)
- + ($t->{_order_} ? sum(map { $count->($t->{$_}) } @{$t->{_order_}}) : 0);
- };
- $size = $count->($data_tree);
-
- my ($h) = @l == 1 && $height > 30 ? 10 : 5;
- my $scroll = $size > $h;
- $has_scroll = 1;
- $size = min($size, $h);
-
- $w = Newt::Component::Tree($size, $scroll);
-
- my $wi;
- my $add_item = sub {
- my ($text, $index, $parents) = @_;
- $text = simplify_string($text, $width - 10);
- $wi = max($wi, length($text) + 3 * @$parents + 4);
- $w->TreeAdd($text, $index, $parents);
- };
-
- my @data = '';
- my $populate; $populate = sub {
- my ($node, $parents) = @_;
- if (my $l = $node->{_order_}) {
- each_index {
- $add_item->($_, 0, $parents);
- $populate->($node->{$_}, [ @$parents, $::i ]);
- } @$l;
- }
- if (my $l = $node->{_leaves_}) {
- foreach (@$l) {
- my ($leaf, $data) = @$_;
- $add_item->($leaf, int(@data), $parents);
- push @data, $data;
- }
- }
- };
- $populate->($data_tree, []);
-
- $w->TreeSetWidth($wi + 1);
- $get = sub {
- my $i = $w->TreeGetCurrent;
- $invalid_choice = $i == 0;
- $data[$i];
- };
- $set = sub {
- my ($data) = @_;
- eval {
- my $i = find_index { $_ eq $data } @data;
- $w->TreeSetCurrent($i);
- } if $data;
- 1;
- };
- } elsif ($e->{type} =~ /list/) {
- my ($h) = @l == 1 && $height > 30 ? 10 : 5;
- my $scroll = @{$e->{list}} > $h ? 1 << 2 : 0;
- $has_scroll = 1;
- $size = min(int @{$e->{list}}, $h);
-
- $w = Newt::Component::Listbox($size, $scroll); #- NEWT_FLAG_SCROLL
-
- my @l = map {
- my $t = simplify_string(may_apply($e->{format}, $_), $width - 10);
- $w->ListboxAddEntry($t, $_);
- $t;
- } @{$e->{list}};
-
- $w->ListboxSetWidth(max(map { length($_) } @l) + 3); # 3 added for the scrollbar (?)
- $get = sub { $w->ListboxGetCurrent };
- $set = sub {
- my ($val) = @_;
- each_index {
- $w->ListboxSetCurrent($::i) if $val eq $_;
- } @{$e->{list}};
- };
- } else {
- $w = Newt::Component::Entry('', 20, ($e->{hidden} && 1 << 11) | (1 << 2));
- $get = sub { $w->EntryGetValue };
- $set = sub { $w->EntrySet($_[0], 1) };
- }
- $total_size += $size || 1;
-
- #- !! callbacks must be kept otherwise perl will free them !!
- #- (better handling of addCallback needed)
-
- { e => $e, w => $w, real_w => $real_w || $w, expand => $expand, callback => $changed,
- get => $get || sub { ${$e->{val}} }, set => $set || sub {},
- extra_text => $extra_text, invalid_choice => \$invalid_choice };
- };
- @widgets = map_index { $create_widget->($_, $::i) } @l;
-
- $_->{w}->addCallback($_->{callback}) foreach @widgets;
-
- $set_all->();
-
- my $grid = Newt::Grid::CreateGrid(3, max(1, sum(map { $_->{extra_text} ? 2 : 1 } @widgets)));
- my $i;
- foreach (@widgets) {
- $grid->GridSetField(0, $i, 1, ${Newt::Component::Label($_->{e}{label})}, 0, 0, 1, 0, 1, 0);
- $grid->GridSetField(1, $i, 1, ${$_->{real_w}}, 0, 0, 0, 0, 1, 0);
- $i++;
- if ($_->{extra_text}) {
- $grid->GridSetField(0, $i, 1, ${Newt::Component::Label('')}, 0, 0, 1, 0, 1, 0);
- $grid->GridSetField(1, $i, 1, ${$_->{extra_text}}, 0, 0, 0, 0, 1, 0);
- $i++;
- }
- }
-
- my $listg = do {
- my $wanted_header_height = min(8, listlength(messages($width, @messages)));
- my $height_avail = $height - $wanted_header_height - 13;
- #- use a scrolled window if there is a lot of checkboxes (aka
- #- ask_many_from_list) or a lot of widgets in general (aka
- #- options of a native PostScript printer in printerdrake)
- #- !! works badly together with list's (lists are one widget, so a
- #- big list window will not switch to scrollbar mode) :-(
- if (@l > 3 && $total_size > $height_avail) {
- $grid->GridPlace(1, 1); #- Uh?? otherwise the size allocated is bad
- if ($has_scroll) {
- #- :'-(
- }
- $has_scroll = 1;
- $total_size = $height_avail;
-
- my $scroll = Newt::Component::VerticalScrollbar($height_avail, 9, 10); # 9=NEWT_COLORSET_CHECKBOX, 10=NEWT_COLORSET_ACTCHECKBOX
- my $subf = $scroll->Form('', 0);
- $subf->FormSetHeight($height_avail);
- $subf->FormAddGrid($grid, 0);
- Newt::Grid::HCloseStacked3($subf, separator(1, $height_avail-1), $scroll);
- } else {
- $grid;
- }
- };
-
- my ($ok, $cancel) = ($common->{ok}, $common->{cancel});
- $cancel = $::isWizard ? N("<- Previous") : N("Cancel") if !defined $cancel && !defined $ok;
- $ok ||= $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next ->")) : N("Ok");
-
- my @okcancel = grep { $_ } $ok, $cancel;
- @okcancel = reverse(@okcancel) if $::isWizard;
- my @buttons_text = (if_(@$l2, $common->{advanced_state} ? $common->{advanced_label_close} : $common->{advanced_label}), @okcancel);
- my ($buttonbar, @buttons) = Newt::Grid::ButtonBar(map { simplify_string($_) } @buttons_text);
- my $advanced_button = @$l2 && shift @buttons;
- @buttons = reverse(@buttons) if $::isWizard;
- my ($ok_button, $cancel_button) = @buttons;
-
- my $form = Newt::Component::Form(\undef, '', 0);
- my $window = Newt::Grid::GridBasicWindow(first(myTextbox(!$has_scroll, $height - $total_size, @messages)), $listg, $buttonbar);
- $window->GridWrappedWindow($common->{title} || '');
- $form->FormAddGrid($window, 1);
-
- my $check = sub {
- my ($f) = @_;
-
- my ($error, $_focus) = $f->();
-
- if ($error) {
- $set_all->();
- }
- !$error;
- };
-
- my ($blocked, $canceled);
- while (1) {
- my $r = $form->RunForm;
-
- $get_all->();
-
- if ($advanced_button && $$r == $$advanced_button) {
- invbool(\$common->{advanced_state});
- $form->FormDestroy;
- Newt::PopWindow();
- return &ask_fromW_real;
- }
-
- $canceled = $cancel_button && $$r == $$cancel_button;
-
- next if !$canceled && any { ${$_->{invalid_choice}} } @widgets;
-
- $blocked =
- $$r == $$ok_button &&
- $common->{callbacks}{ok_disabled} &&
- do { $common->{callbacks}{ok_disabled}() };
-
- if (my $button = find { $$r == ${$_->{w}} } @widgets) {
- my $v = $button->{e}{clicked_may_quit}();
- $form->FormDestroy;
- Newt::PopWindow();
- return $v || &ask_fromW;
- }
- last if !$blocked && $check->($common->{callbacks}{$canceled ? 'canceled' : 'complete'});
- }
-
- $form->FormDestroy;
- Newt::PopWindow();
- !$canceled;
-}
-
-
-sub waitbox {
- my ($title, $messages) = @_;
- my ($t, $w, $h) = myTextbox(1, $height, @$messages);
- my $f = Newt::Component::Form(\undef, '', 0);
- Newt::CenteredWindow($w, $h, $title);
- $f->FormAddComponent($t);
- $f->DrawForm;
- Newt::Refresh();
- $f->FormDestroy;
- push @wait_messages, $f;
- $f;
-}
-
-
-sub wait_messageW {
- my ($_o, $title, $messages) = @_;
- { form => waitbox($title, $messages), title => $title };
-}
-
-sub wait_message_nextW {
- my ($o, $messages, $w) = @_;
- $o->wait_message_endW($w);
- $o->wait_messageW($w->{title}, $messages);
-}
-sub wait_message_endW {
- my ($_o, $_w) = @_;
- my $_wait = pop @wait_messages;
-# log::l("interactive_newt does not handle none stacked wait-messages") if $w->{form} != $wait;
- Newt::PopWindow();
-}
-
-sub simplify_string {
- my ($s, $o_width) = @_;
- $s =~ s/\n/ /g;
- $s = substr($s, 0, $o_width || 40); #- truncate if too long
- $s;
-}
-
-sub ok {
- N("Ok");
-}
-
-sub cancel {
- N("Cancel");
-}
-
-1;
diff --git a/perl-install/interactive/stdio.pm b/perl-install/interactive/stdio.pm
index d8971c795..5bc53a0f5 100644
--- a/perl-install/interactive/stdio.pm
+++ b/perl-install/interactive/stdio.pm
@@ -1,4 +1,4 @@
-package interactive::stdio; # $Id$
+package interactive::stdio;
use diagnostics;
use strict;
@@ -19,7 +19,7 @@ sub readln() {
sub check_it {
my ($i, $n) = @_;
- $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n
+ $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n;
}
sub good_choice {
@@ -45,7 +45,7 @@ ask_fromW_begin:
my ($e) = @_;
$e->{type} = 'list' if $e->{type} =~ /(icon|tree)list/;
- #- combo doesn't exist, fallback to a sensible default
+ #- combo does not exist, fallback to a sensible default
$e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
if ($e->{type} eq 'entry') {
@@ -63,19 +63,19 @@ ask_fromW_begin:
my @labels;
my $format_label = sub { my ($e) = @_; return sprintf("`%s' %s %s\n", ${$e->{val}}, $e->{label}, $e->{text}) };
my $do_widget = sub {
- my ($e, $ind) = @_;
+ my ($e, $_ind) = @_;
if ($e->{type} eq 'bool') {
print "$e->{text} $e->{label}\n";
print N("Your choice? (0/1, default `%s') ", ${$e->{val}} || '0');
my $i = readln();
if ($i) {
- to_bool($i) != to_bool(${$e->{val}}) and $common->{callbacks}{changed}->($ind);
+ to_bool($i) != to_bool(${$e->{val}}) && $e->{changed} and $e->{changed}->();
${$e->{val}} = $i;
}
} elsif ($e->{type} =~ /list/) {
$e->{text} || $e->{label} and print "=> $e->{label} $e->{text}\n";
- my $n = 0; my $size = 0; my $def_n = 0;
+ my $n = 0; my $size = 0;
foreach (@{$e->{list}}) {
$n++;
my $t = "$n: " . may_apply($e->{format}, $_) . "\t";
@@ -85,17 +85,22 @@ ask_fromW_begin:
}
print $t;
$size += length($t);
- ${$e->{val}} eq $_ and $def_n = $n;
}
print "\n";
my $i = good_choice(may_apply($e->{format}, ${$e->{val}}), $n);
print "Setting to <", $i ? ${$e->{list}}[$i-1] : ${$e->{val}}, ">\n";
- $i and ${$e->{val}} = ${$e->{list}}[$i-1], $common->{callbacks}{changed}->($ind);
+ if ($i) {
+ ${$e->{val}} = ${$e->{list}}[$i-1];
+ $e->{changed} and $e->{changed}->();
+ }
} elsif ($e->{type} eq 'button') {
print N("Button `%s': %s", $e->{label}, may_apply($e->{format}, ${$e->{val}})), " $e->{text}\n";
print N("Do you want to click on this button?");
my $i = readln();
- $i && $i !~ /^n/i and $e->{clicked_may_quit}(), $common->{callbacks}{changed}->($ind);
+ if ($i && $i !~ /^n/i) {
+ $e->{clicked_may_quit}();
+ $e->{changed} and $e->{changed}->();
+ }
} elsif ($e->{type} eq 'label') {
my $t = $format_label->($e);
push @labels, $t;
@@ -107,7 +112,7 @@ ask_fromW_begin:
${$e->{val}} = $i || ${$e->{val}};
${$e->{val}} = '' if ${$e->{val}} eq 'void';
print "Setting to <", ${$e->{val}}, ">\n";
- $i and $common->{callbacks}{changed}->($ind);
+ $i && $e->{changed} and $e->{changed}->();
} else {
printf "UNSUPPORTED WIDGET TYPE (type <%s> label <%s> text <%s> val <%s>\n", $e->{type}, $e->{label}, $e->{text}, ${$e->{val}};
}
@@ -154,28 +159,21 @@ Your choice? ");
} else {
$i = 1;
}
- my ($callback_error) = $common->{callbacks}{$i == 2 ? 'canceled' : 'complete'}->();
- $callback_error and goto ask_fromW_begin;
- return !($i == 2);
+ if ($i == 1 && !$common->{validate}()) {
+ goto ask_fromW_begin;
+ }
+ return $i != 2;
}
sub wait_messageW {
- my ($_o, $_title, $message) = @_;
- print join "\n", @$message;
+ my ($_o, $_title, $message, $message_modifiable) = @_;
+ print join "\n", $message, $message_modifiable;
}
sub wait_message_nextW {
- my $m = join "\n", @{$_[1]};
+ my $m = $_[1];
print "\r$m", ' ' x (60 - length $m);
}
sub wait_message_endW { print "\nDone\n" }
-sub ok {
- N("Ok");
-}
-
-sub cancel {
- N("Cancel");
-}
-
1;
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
deleted file mode 100644
index 42a9fe004..000000000
--- a/perl-install/keyboard.pm
+++ /dev/null
@@ -1,562 +0,0 @@
-package keyboard; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common;
-use detect_devices;
-use run_program;
-use log;
-use c;
-
-
-#-######################################################################################
-#- Globals
-#-######################################################################################
-my $KMAP_MAGIC = 0x8B39C07F;
-
-#- a best guess of the keyboard layout, based on the choosen locale
-#- beware only the first 5 characters of the locale are used
-my %lang2keyboard =
-(
- 'af' => 'us_intl',
- 'ar' => 'ar:90',
- 'as' => 'ben:90 dev:20 us_intl:5',
- 'az' => 'az:90 tr_q:10 us_intl:5',
- 'be' => 'by:90 ru:50 ru_yawerty:40',
- 'bg' => 'bg_phonetic:60 bg:50',
- 'bn' => 'ben:90 dev:20 us_intl:5',
- 'br' => 'fr:90',
- 'bs' => 'bs:90',
- 'ca' => 'es:90 fr:15',
- 'cs' => 'cz_qwerty:70 cz:50',
- 'cy' => 'uk:90',
- 'da' => 'dk:90',
- 'de' => 'de_nodeadkeys:70 de:50 be:50 ch_de:50',
- 'el' => 'gr:90',
- 'en' => 'us:89 us_intl:50 qc:50 uk:50',
-'en_US' => 'us:90 us_intl:50',
-'en_GB' => 'uk:89 us:60 us_intl:50',
- 'eo' => 'us_intl:89 dvorak:20',
- 'es' => 'es:85 la:80 us_intl:50',
- 'et' => 'ee:90',
- 'eu' => 'es:90 fr:15',
- 'fa' => 'ir:90',
- 'fi' => 'fi:90',
- 'fr' => 'fr:89 qc:85 be:85 ch_fr:70',
- 'ga' => 'ie:80 uk:70',
- 'gd' => 'uk:80 ie:70',
- 'gl' => 'es:90',
- 'gu' => 'guj:90',
- 'gv' => 'uk:80 ie:70',
- 'he' => 'il:90 il_phonetic:10',
- 'hi' => 'dev:90',
- 'hr' => 'hr:90 si:50',
- 'hu' => 'hu:90',
- 'hy' => 'am:90 am_old:10 am_phonetic:5',
- 'id' => 'us:90 us_intl:20',
- 'is' => 'is:90',
- 'iu' => 'iu:90',
- 'it' => 'it:90 ch_fr:50 ch_de:50',
- 'ja' => 'jp:90 us:50 us_intl:20',
- 'ka' => 'ge_la:90 ge_ru:50',
- 'kl' => 'dk:80 us_intl:30',
- 'kn' => 'kan:90',
- 'ko' => 'kr:90 us:60',
- 'ku' => 'tr_q:90 tr_f:30',
- 'kw' => 'uk:80 ie:70',
- 'li' => 'us_intl:80 be:70 nl:10 us:5',
- 'lo' => 'lao:90',
- 'lt' => 'lt:80 lt_new:70 lt_b:60 lt_p:50',
- 'lv' => 'lv:90 lt:40 lt_new:30 lt_b:20 lt_p:10 ee:5',
- 'mi' => 'us_intl:90 uk:20 us:10',
- 'mk' => 'mk:90',
- 'ml' => 'mal:90',
- 'mn' => 'mng:90 ru:20 ru_yawerty:5',
- 'mr' => 'dev:90',
- 'ms' => 'us:90 us_intl:20',
- 'mt' => 'mt:90 mt_us:35 us_intl:10',
- 'my' => 'mm:90',
- 'nb' => 'no:90 dvorak_no:10',
- 'nl' => 'us_intl:80 be:70 nl:10 us:5',
- 'nn' => 'no:90 dvorak_no:10',
- 'no' => 'no:90 dvorak_no:10',
- 'oc' => 'fr:90',
- 'or' => 'ori:90',
- 'pa' => 'gur:90',
- 'ph' => 'us:90 us_intl:20',
- 'pl' => 'pl:90 pl2:60',
- 'pp' => 'br:80 la:20 pt:10 us_intl:30',
-'pt_BR' => 'br:90 la:20 pt:10 us_intl:30',
- 'pt' => 'pt:90',
- 'ro' => 'ro2:80 ro:40 us_intl:10',
- 'ru' => 'ru:85 ru_yawerty:80 ua:50',
- 'se' => 'sapmi:70 sapmi_sefi:50',
- 'sh' => 'yu:80',
- 'sk' => 'sk_qwerty:80 sk:70',
- 'sl' => 'si:90 hr:50',
- 'sq' => 'al:90',
- 'sr' => 'sr:80',
- 'sv' => 'se:90 fi:30 dvorak_se:10',
- 'ta' => 'tscii:80 tml:20',
- 'te' => 'tel:90',
- 'tg' => 'tj:90 ru_yawerty:40',
- 'th' => 'th:90',
- 'tr' => 'tr_q:90 tr_f:30',
- 'tt' => 'ru:50 ru_yawerty:40',
- 'uk' => 'ua:90 ru:50 ru_yawerty:40',
- 'uz' => 'us:80 uz:80',
- 'uz\@Cyrl' => 'uz:80 ru_yawerty:40',
- 'vi' => 'vn:80 us:60 us_intl:50',
- 'wa' => 'be:90 fr:5',
- 'yi' => 'il_phonetic:90 il:10 us_intl:10',
-'zh_CN' => 'us:60',
-'zh_TW' => 'us:60',
-);
-
-# USB kbd table
-# The numeric values are the bCountryCode field (5th byte) of HID descriptor
-my @usb2keyboard =
-(
- qw(SKIP ar_SKIP be ca_SKIP qc cz dk fi fr de gr il hu us_intl it jp),
-#- 0x10
- qw(kr la nl no ir pl pt ru sk es se ch_de ch_de ch_de tw_SKIP tr_q),
-#- 0x20
- qw(uk us yu tr_f),
-#- higher codes not attribued as of 2002-02
-);
-
-#- key = extension for Xmodmap file, [0] = description of the keyboard,
-#- [1] = name for loadkeys, [2] = name for XKB, [3] = "1" if it is
-#- a multigroup layout (eg: one with latin/non-latin letters)
-my %keyboards = (
-arch() =~ /^sparc/ ? (
- "cz" => [ N_("Czech (QWERTZ)"), "sunt5-cz-us", "cz", 0 ],
- "de" => [ N_("German"), "sunt5-de-latin1", "de", 0 ],
- "dvorak" => [ N_("Dvorak"), "sundvorak", "dvorak",0 ],
- "es" => [ N_("Spanish"), "sunt5-es", "es", 0 ],
- "fi" => [ N_("Finnish"), "sunt5-fi-latin1", "fi", 0 ],
- "fr" => [ N_("French"), "sunt5-fr-latin1", "fr", 0 ],
- "no" => [ N_("Norwegian"), "sunt4-no-latin1", "no", 0 ],
- "pl" => [ N_("Polish"), "sun-pl-altgraph", "pl", 0 ],
- "ru" => [ N_("Russian"), "sunt5-ru", "ru", 1 ],
-# TODO: check the console map
- "se" => [ N_("Swedish"), "sunt5-fi-latin1", "se", 0 ],
- "uk" => [ N_("UK keyboard"), "sunt5-uk", "gb", 0 ],
- "us" => [ N_("US keyboard"), "sunkeymap", "us", 0 ],
-) : (
- "al" => [ N_("Albanian"), "al", "al", 0 ],
- "am_old" => [ N_("Armenian (old)"), "am_old", "am(old)", 1 ],
- "am" => [ N_("Armenian (typewriter)"), "am-armscii8", "am", 1 ],
- "am_phonetic" => [ N_("Armenian (phonetic)"), "am_phonetic", "am(phonetic)",1 ],
- "ar" => [ N_("Arabic"), "us", "ar(digits)", 1 ],
- "az" => [ N_("Azerbaidjani (latin)"), "az", "az", 0 ],
-#"a3" => [ N_("Azerbaidjani (cyrillic)"), "az-koi8k","az(cyrillic)",1 ],
- "be" => [ N_("Belgian"), "be2-latin1", "be", 0 ],
- "ben" => [ N_("Bengali"), "us", "ben", 1 ],
-"bg_phonetic" => [ N_("Bulgarian (phonetic)"), "bg", "bg(phonetic)", 1 ],
- "bg" => [ N_("Bulgarian (BDS)"), "bg", "bg", 1 ],
- "br" => [ N_("Brazilian (ABNT-2)"), "br-abnt2", "br", 0 ],
-#- Bosnia and Croatia use the same layout, but people are confused if there
-#- isn't an antry for their country
- "bs" => [ N_("Bosnian"), "croat", "hr", 0 ],
- "by" => [ N_("Belarusian"), "by-cp1251", "by", 1 ],
- "ch_de" => [ N_("Swiss (German layout)"), "sg-latin1", "de_CH", 0 ],
- "ch_fr" => [ N_("Swiss (French layout)"), "fr_CH-latin1", "fr_CH", 0 ],
- "cz" => [ N_("Czech (QWERTZ)"), "cz", "cz", 0 ],
- "cz_qwerty" => [ N_("Czech (QWERTY)"), "cz-lat2", "cz_qwerty", 0 ],
- "de" => [ N_("German"), "de-latin1", "de", 0 ],
- "de_nodeadkeys" => [ N_("German (no dead keys)"), "de-latin1-nodeadkeys", "de(nodeadkeys)", 0 ],
- "dev" => [ N_("Devanagari"), "us", "dev", 0 ],
- "dk" => [ N_("Danish"), "dk-latin1", "dk", 0 ],
- "dvorak" => [ N_("Dvorak (US)"), "pc-dvorak-latin1", "dvorak", 0 ],
- "dvorak_no" => [ N_("Dvorak (Norwegian)"), "no-dvorak", "dvorak(no)", 0 ],
- "dvorak_se" => [ N_("Dvorak (Swedish)"), "se-dvorak", "dvorak(se)", 0 ],
- "ee" => [ N_("Estonian"), "ee-latin9", "ee", 0 ],
- "es" => [ N_("Spanish"), "es-latin1", "es", 0 ],
- "fi" => [ N_("Finnish"), "fi-latin1", "fi", 0 ],
- "fr" => [ N_("French"), "fr-latin1", "fr", 0 ],
- "ge_ru" => [N_("Georgian (\"Russian\" layout)"), "ge_ru-georgian_academy", "ge_ru",1],
- "ge_la" => [N_("Georgian (\"Latin\" layout)"), "ge_la-georgian_academy", "ge_la",1],
- "gr" => [ N_("Greek"), "gr-8859_7", "el(extended)", 1 ],
- "gr_pl" => [ N_("Greek (polytonic)"), "gr-8859_7", "el(polytonic)", 1 ],
- "guj" => [ N_("Gujarati"), "us", "guj", 1 ],
- "gur" => [ N_("Gurmukhi"), "us", "gur", 1 ],
- "hu" => [ N_("Hungarian"), "hu-latin2", "hu", 0 ],
- "hr" => [ N_("Croatian"), "croat", "hr", 0 ],
- "ie" => [ N_("Irish"), "uk", "ie", 0 ],
- "il" => [ N_("Israeli"), "il-8859_8", "il", 1 ],
- "il_phonetic" => [ N_("Israeli (Phonetic)"), "hebrew", "il_phonetic", 1 ],
- "ir" => [ N_("Iranian"), "ir-isiri_3342", "ir", 1 ],
- "is" => [ N_("Icelandic"), "is-latin1", "is", 0 ],
- "it" => [ N_("Italian"), "it-latin1", "it", 0 ],
- "iu" => [ N_("Inuktitut"), "us", "iu", 1 ],
- "jp" => [ N_("Japanese 106 keys"), "jp106", "jp", 1 ],
- "kan" => [ N_("Kannada"), "us", "kan", 1 ],
-#There is no XKB korean file yet; but using xmodmap one disables
-# some functioanlity; "us" used for XKB until this is fixed
- "kr" => [ N_("Korean keyboard"), "us", "us", 1 ],
- "la" => [ N_("Latin American"), "la-latin1", "la", 0 ],
- "lao" => [ N_("Laotian"), "us", "lo", 1 ],
- "lt" => [ N_("Lithuanian AZERTY (old)"), "lt-latin7", "lt_a", 0 ],
-#- TODO: write a console kbd map for lt_new
- "lt_new" => [ N_("Lithuanian AZERTY (new)"), "lt-latin7", "lt_std", 0 ],
- "lt_b" => [ N_("Lithuanian \"number row\" QWERTY"), "ltb-latin7", "lt", 1 ],
- "lt_p" => [ N_("Lithuanian \"phonetic\" QWERTY"), "ltp-latin7", "lt_p", 0 ],
- "lv" => [ N_("Latvian"), "lv-latin7", "lv", 0 ],
- "mal" => [ N_("Malayalam"), "us", "ml(mlplusnum)", 1 ],
- "mk" => [ N_("Macedonian"), "mk", "mk", 1 ],
- "mm" => [ N_("Myanmar (Burmese)"), "us", "mm", 1 ],
- "mng" => [ N_("Mongolian (cyrillic)"), "us", "mng", 1 ],
- "mt" => [ N_("Maltese (UK)"), "uk", "mt", 0 ],
- "mt_us" => [ N_("Maltese (US)"), "us", "mt_us", 0 ],
- "nl" => [ N_("Dutch"), "nl-latin1", "nl", 0 ],
- "no" => [ N_("Norwegian"), "no-latin1", "no", 0 ],
- "ori" => [ N_("Oriya"), "us", "ori", 1 ],
- "pl" => [ N_("Polish (qwerty layout)"), "pl", "pl", 0 ],
- "pl2" => [ N_("Polish (qwertz layout)"), "pl-latin2", "pl2", 0 ],
- "pt" => [ N_("Portuguese"), "pt-latin1", "pt", 0 ],
- "qc" => [ N_("Canadian (Quebec)"), "qc-latin1", "ca_enhanced", 0 ],
-#- TODO: write a console kbd map for ro2
- "ro2" => [ N_("Romanian (qwertz)"), "ro2", "ro2", 0 ],
- "ro" => [ N_("Romanian (qwerty)"), "ro", "ro", 0 ],
- "ru" => [ N_("Russian"), "ru4", "ru(winkeys)", 1 ],
- "ru_yawerty" => [ N_("Russian (Phonetic)"), "ru-yawerty", "ru_yawerty", 1 ],
- "sapmi" => [ N_("Saami (norwegian)"), "no-latin1", "sapmi", 0 ],
- "sapmi_sefi" => [ N_("Saami (swedish/finnish)"), "se-latin1", "sapmi(sefi)", 0 ],
- "se" => [ N_("Swedish"), "se-latin1", "se", 0 ],
- "si" => [ N_("Slovenian"), "slovene", "si", 0 ],
- "sk" => [ N_("Slovakian (QWERTZ)"), "sk-qwertz", "sk", 0 ],
- "sk_qwerty" => [ N_("Slovakian (QWERTY)"), "sk-qwerty", "sk_qwerty", 0 ],
-# TODO: console map
- "sr" => [ N_("Serbian (cyrillic)"), "sr", "sr", 1 ],
- "syr" => [ N_("Syriac"), "us", "syr", 1 ],
- "syr_p" => [ N_("Syriac (phonetic)"), "us", "syr_phonetic", 1 ],
- "tel" => [ N_("Telugu"), "us", "tel", 1 ],
-# no console kbd that I'm aware of
- "tml" => [ N_("Tamil (ISCII-layout)"), "us", "tml", 1 ],
- "tscii" => [ N_("Tamil (Typewriter-layout)"), "us", "ta(UNI)", 1 ],
- "th" => [ N_("Thai keyboard"), "th", "th", 1 ],
-# TODO: console map
- "tj" => [ N_("Tajik keyboard"), "ru4", "tj", 1 ],
- "tr_f" => [ N_("Turkish (traditional \"F\" model)"), "trf", "tr_f", 0 ],
- "tr_q" => [ N_("Turkish (modern \"Q\" model)"), "tr_q-latin5", "tr", 0 ],
-#-"tw => [ N_("Chineses bopomofo"), "tw", "tw", 1 ],
- "ua" => [ N_("Ukrainian"), "ua", "ua", 1 ],
- "uk" => [ N_("UK keyboard"), "uk", "gb", 0 ],
- "us" => [ N_("US keyboard"), "us", "en_US", 0 ],
- "us_intl" => [ N_("US keyboard (international)"), "us-latin1", "us_intl", 0 ],
- "uz" => [ N_("Uzbek (cyrillic)"), "ru", "uz", 1 ],
- "vn" => [ N_("Vietnamese \"numeric row\" QWERTY"), "vn-tcvn", "vn(toggle)", 0 ],
- "yu" => [ N_("Yugoslavian (latin)"), "sr", "yu", 0 ],
-),
-);
-
-#- list of possible choices for the key combinations to toggle XKB groups
-#- (eg in X86Config file: XkbOptions "grp:toggle")
-my %grp_toggles = (
- toggle => N_("Right Alt key"),
- shift_toggle => N_("Both Shift keys simultaneously"),
- ctrl_shift_toggle => N_("Control and Shift keys simultaneously"),
- caps_toggle => N_("CapsLock key"),
- ctrl_alt_toggle => N_("Ctrl and Alt keys simultaneously"),
- alt_shift_toggle => N_("Alt and Shift keys simultaneously"),
- menu_toggle => N_("\"Menu\" key"),
- lwin_toggle => N_("Left \"Windows\" key"),
- rwin_toggle => N_("Right \"Windows\" key"),
- ctrls_toggle => N_("Both Control keys simultaneously"),
- alts_toggle => N_("Both Alt keys simultaneously"),
- lshift_toggle => N_("Left Shift key"),
- rshift_toggle => N_("Right Shift key"),
- lalt_toggle => N_("Left Alt key"),
- lctrl_toggle => N_("Left Control key"),
- rctrl_toggle => N_("Right Control key"),
-);
-
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub KEYBOARDs() { keys %keyboards }
-sub KEYBOARD2text { $keyboards{$_[0]} && $keyboards{$_[0]}[0] }
-sub keyboards() { map { { KEYBOARD => $_ } } keys %keyboards }
-sub keyboard2one {
- my ($keyboard, $nb) = @_;
- ref $keyboard or internal_error();
- my $l = $keyboards{$keyboard->{KEYBOARD}} or return;
- $l->[$nb];
-}
-sub keyboard2text { keyboard2one($_[0], 0) }
-sub keyboard2kmap { keyboard2one($_[0], 1) }
-sub keyboard2xkb { keyboard2one($_[0], 2) }
-
-sub grp_toggles {
- my ($keyboard) = @_;
- keyboard2one($keyboard, 3) or return;
- \%grp_toggles;
-}
-
-sub group_toggle_choose {
- my ($in, $keyboard) = @_;
-
- if (my $grp_toggles = keyboard::grp_toggles($keyboard)) {
- my $GRP_TOGGLE = $keyboard->{GRP_TOGGLE} || 'caps_toggle';
- $GRP_TOGGLE = $in->ask_from_listf('', N("Here you can choose the key or key combination that will
-allow switching between the different keyboard layouts
-(eg: latin and non latin)"), sub { translate($grp_toggles->{$_[0]}) }, [ sort keys %$grp_toggles ], $GRP_TOGGLE) or return;
-
- $GRP_TOGGLE ne 'rctrl_toggle' and $in->ask_warn(N("Warning"), formatAlaTeX(
-N("This setting will be activated after the installation.
-During installation, you will need to use the Right Control
-key to switch between the different keyboard layouts.")));
- log::l("GRP_TOGGLE: $GRP_TOGGLE");
- $keyboard->{GRP_TOGGLE} = $GRP_TOGGLE;
- } else {
- $keyboard->{GRP_TOGGLE} = '';
- }
- 1;
-}
-
-sub loadkeys_files {
- my ($err) = @_;
- my $archkbd = arch() =~ /^sparc/ ? "sun" : arch() =~ /i.86/ ? "i386" : arch() =~ /ppc/ ? "mac" : arch();
- my $p = "/usr/lib/kbd/keymaps/$archkbd";
- my $post = ".kmap.gz";
- my %trans = ("cz-latin2" => "cz-lat2");
- my %find_file;
- foreach my $dir (all($p)) {
- $find_file{$dir} = '';
- foreach (all("$p/$dir")) {
- $find_file{$_} and $err->("file $_ is both in $find_file{$_} and $dir") if $err;
- $find_file{$_} = "$p/$dir/$_";
- }
- }
- my (@l, %l);
- foreach (values %keyboards) {
- local $_ = $trans{$_->[1]} || $_->[1];
- my $l = $find_file{"$_$post"} || $find_file{first(/(..)/) . $post};
- if ($l) {
- push @l, $l;
- foreach (`zgrep include $l | grep "^include"`) {
- /include\s+"(.*)"/ or die "bad line $_";
- @l{grep { -e $_ } ("$p/$1.inc.gz")} = ();
- }
- } else {
- $err->("invalid loadkeys keytable $_") if $err;
- }
- }
- uniq(@l, keys %l, grep { -e $_ } map { "$p/$_.inc.gz" } qw(compose euro windowkeys linux-keys-bare));
-}
-
-sub unpack_keyboards {
- my ($k) = @_; $k or return;
- [ grep {
- my $b = $keyboards{$_->[0]};
- $b or log::l("bad keyboard $_->[0] in %keyboard::lang2keyboard");
- $b;
- } map { [ split ':' ] } split ' ', $k ];
-}
-sub lang2keyboards {
- my @li = sort { $b->[1] <=> $a->[1] } map { @$_ } map {
- #- first try with the 5 first chars of LANG; if it fails then try with
- #- with the 2 first chars of LANG before resorting to default.
- unpack_keyboards($lang2keyboard{substr($_, 0, 5)}) || unpack_keyboards($lang2keyboard{substr($_, 0, 2)}) || [ [ ($keyboards{$_} ? $_ : "us") => 100 ] ];
- } @_;
- \@li;
-}
-sub lang2keyboard {
- my ($l) = @_;
-
- my $kb = lang2keyboards($l)->[0][0];
- { KEYBOARD => $keyboards{$kb} ? $kb : 'us' }; #- handle incorrect keyboard mapping to us.
-}
-
-sub from_usb() {
- return if $::noauto;
- my ($usb_kbd) = detect_devices::usbKeyboards() or return;
- my $country_code = detect_devices::usbKeyboard2country_code($usb_kbd) or return;
- my $keyboard = $usb2keyboard[$country_code];
- $keyboard !~ /SKIP/ && { KEYBOARD => $keyboard };
-}
-
-sub load {
- my ($keymap) = @_;
- return if $::testing;
-
- my ($magic, @keymaps) = unpack "I i" . c::MAX_NR_KEYMAPS() . "a*", $keymap;
- $keymap = pop @keymaps;
-
- $magic != $KMAP_MAGIC and die "failed to read kmap magic";
-
- sysopen(my $F, "/dev/console", 2) or die "failed to open /dev/console: $!";
-
- my $count = 0;
- foreach (0 .. c::MAX_NR_KEYMAPS() - 1) {
- $keymaps[$_] or next;
-
- my @keymap = unpack "s" . c::NR_KEYS() . "a*", $keymap;
- $keymap = pop @keymap;
-
- my $key = -1;
- foreach my $value (@keymap) {
- $key++;
- c::KTYP($value) != c::KT_SPEC() or next;
- ioctl($F, c::KDSKBENT(), pack("CCS", $_, $key, $value)) or die "keymap ioctl failed ($_ $key $value): $!";
- }
- $count++;
- }
- #- log::l("loaded $count keymap tables");
-}
-
-sub keyboard2full_xkb {
- my ($keyboard) = @_;
-
- my $XkbLayout = keyboard2xkb($keyboard);
-
- my $XkbModel =
- arch() =~ /sparc/ ? 'sun' :
- $XkbLayout eq 'jp' ? 'jp106' :
- $XkbLayout eq 'br' ? 'abnt2' : 'pc105';
-
- $XkbLayout ? {
- XkbLayout => join(',', if_($keyboard->{GRP_TOGGLE}, 'us'), $XkbLayout),
- XkbModel => $XkbModel,
- XkbOptions => $keyboard->{GRP_TOGGLE} ?
- join(',',
- if_($keyboard->{GRP_TOGGLE} eq 'rwin_toggle', 'compose:rwin'),
- "grp:$keyboard->{GRP_TOGGLE}",
- 'grp_led:scroll') : '',
- } : { XkbDisable => '' };
-}
-
-sub xmodmap_file {
- my ($keyboard) = @_;
- my $KEYBOARD = $keyboard->{KEYBOARD};
- my $f = "$ENV{SHARE_PATH}/xmodmap/xmodmap.$KEYBOARD";
- if (! -e $f) {
- eval {
- require packdrake;
- my $packer = new packdrake("$ENV{SHARE_PATH}/xmodmap.cz2", quiet => 1);
- $packer->extract_archive("/tmp", "xmodmap.$KEYBOARD");
- };
- $f = "/tmp/xmodmap.$KEYBOARD";
- }
- -e $f && $f;
-}
-
-sub setup {
- my ($keyboard) = @_;
-
- return if arch() =~ /^sparc/;
-
- #- Xpmac doesn't map keys quite right
- if (arch() =~ /ppc/ && !$::testing && $ENV{DISPLAY}) {
- log::l("Fixing Mac keyboard");
- run_program::run('xmodmap', "-e", "keycode 59 = BackSpace");
- run_program::run('xmodmap', "-e", "keycode 131 = Shift_R");
- run_program::run('xmodmap', "-e", "add shift = Shift_R");
- return;
- }
-
- my $kmap = keyboard2kmap($keyboard) or return;
-
- log::l("loading keymap $kmap");
- if (-e (my $f = "$ENV{SHARE_PATH}/keymaps/$kmap.bkmap")) {
- load(scalar cat_($f));
- } else {
- my $F;
- if (my $pid = open $F, "-|") {
- local $/ = undef;
- eval { load(join('', <$F>)) };
- waitpid $pid, 0;
- } else {
- eval {
- require packdrake;
- my $packer = new packdrake("$ENV{SHARE_PATH}/keymaps.cz2", quiet => 1);
- $packer->extract_archive(undef, "$kmap.bkmap");
- };
- c::_exit(0);
- }
- }
- my $f = xmodmap_file($keyboard);
- eval { run_program::run('xmodmap', $f) } if $f && !$::testing && $ENV{DISPLAY};
-}
-
-sub write {
- my ($keyboard) = @_;
- log::l("keyboard::write $keyboard->{KEYBOARD}");
-
- $keyboard = { %$keyboard };
- delete $keyboard->{unsafe};
- $keyboard->{KEYTABLE} = keyboard2kmap($keyboard);
-
- setVarsInSh("$::prefix/etc/sysconfig/keyboard", $keyboard);
- run_program::rooted($::prefix, "dumpkeys > /etc/sysconfig/console/default.kmap") or log::l("dumpkeys failed");
- if (arch() =~ /ppc/) {
- my $s = "dev.mac_hid.keyboard_sends_linux_keycodes = 1\n";
- substInFile {
- $_ = '' if /^\Qdev.mac_hid.keyboard_sends_linux_keycodes/;
- $_ .= $s if eof;
- } "$::prefix/etc/sysctl.conf";
- }
-}
-
-sub read() {
- my %keyboard = getVarsFromSh("$::prefix/etc/sysconfig/keyboard") or return;
- if (!$keyboard{KEYBOARD}) {
- add2hash(\%keyboard, grep { keyboard2kmap($_) eq $keyboard{KEYTABLE} } keyboards());
- }
- $keyboard{DISABLE_WINDOWS_KEY} = bool2yesno(detect_devices::isLaptop());
-
- keyboard2text(\%keyboard) ? \%keyboard : {};
-}
-
-sub check() {
- require lang;
- $^W = 0;
-
- my $not_ok = 0;
- my $warn = sub {
- print STDERR "$_[0]\n";
- };
- my $err = sub {
- &$warn;
- $not_ok = 1;
- };
-
- if (my @l = grep { is_empty_array_ref(lang2keyboards($_)) } lang::list_langs()) {
- $warn->("no keyboard for langs " . join(" ", @l));
- }
- foreach my $lang (lang::list_langs()) {
- my $l = lang2keyboards($lang);
- foreach (@$l) {
- 0 <= $_->[1] && $_->[1] <= 100 or $err->("invalid value $_->[1] in $lang2keyboard{$lang} for $lang in \%lang2keyboard keyboard.pm");
- $keyboards{$_->[0]} or $err->("invalid keyboard $_->[0] in $lang2keyboard{$lang} for $lang in \%lang2keyboard keyboard.pm");
- }
- }
- /SKIP/ || $keyboards{$_} or $err->("invalid keyboard $_ in \@usb2keyboard keyboard.pm") foreach @usb2keyboard;
- $usb2keyboard[0x21] eq 'us' or $err->("\@usb2keyboard is badly modified, 0x21 is not us keyboard");
-
- my @xkb_groups = map { if_(/grp:(\S+)/, $1) } cat_('/usr/lib/X11/xkb/rules/xfree86.lst');
- $err->("invalid xkb group toggle '$_' in \%grp_toggles") foreach difference2([ keys %grp_toggles ], \@xkb_groups);
- $warn->("unused xkb group toggle '$_'") foreach grep { !/switch/ } difference2(\@xkb_groups, [ keys %grp_toggles ]);
-
- my @xkb_layouts = (#- (map { (split)[0] } grep { /^! layout/ .. /^\s*$/ } cat_('/usr/lib/X11/xkb/rules/xfree86.lst')),
- all('/usr/lib/X11/xkb/symbols'),
- (map { (split)[2] } cat_('/usr/lib/X11/xkb/symbols.dir')));
- $err->("invalid xkb layout $_") foreach difference2([ map { keyboard2xkb($_) } keyboards() ], \@xkb_layouts);
-
- my @kmaps_available = map { if_(m|.*/(.*)\.bkmap|, $1) } `tar tfj share/keymaps.tar.bz2`;
- my @kmaps_wanted = map { keyboard2kmap($_) } keyboards();
- $err->("missing KEYTABLE $_ (either share/keymaps.tar.bz2 need updating or $_ is bad)") foreach difference2(\@kmaps_wanted, \@kmaps_available);
- $err->("unused KEYTABLE $_ (update share/keymaps.tar.bz2 using share/keymaps_generate)") foreach difference2(\@kmaps_available, \@kmaps_wanted);
-
- loadkeys_files($err);
-
- exit($not_ok);
-}
-
-1;
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index a05706914..a3c8aa7ea 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -1,163 +1,306 @@
-package lang; # $Id$
+package lang;
use diagnostics;
use strict;
use common;
+use utf8;
use log;
-#- key: lang name (locale name for some (~5) special cases needing
-#- extra distinctions)
-#- [0]: lang name in english
-#- [1]: transliterated locale name in the locale name (used for sorting)
-#- [2]: default locale name to use for that language if there isn't
-#- an existing locale for the combination language+country choosen
-#- [3]: geographic groups that this language belongs to (for displaying
-#- in the menu grouped in smaller lists), 1=Europe, 2=Asia, 3=Africa,
-#- 4=Oceania&Pacific, 5=America (if you wonder, it's the order
-#- used in the olympic flag)
-#- [4]: special value for LANGUAGE variable (if different of the default
-#- of 'll_CC:ll_DD:ll' (ll_CC: locale (if exist) resulting of the
-#- combination of chosen lang (ll) and country (CC), ll_DD: the
-#- default locale shown here (field [2]) and ll: the language (the key))
-my %langs = (
+=head1 SYNOPSYS
+
+B<lang> enables to manipulate the system or the user locale settings.
+
+=head1 Data structures & functions
+
+=head2 Languages
+
+=over
+
+=item our %lang
+
+The key is the lang name (locale name for some (~5) special cases needing
+extra distinctions)
+
+The fields are:
+
+=over 4
+
+=item 0 lang name in English
+
+=item 1 transliterated locale name in the locale name (used for sorting)
+
+=item 2 default locale name to use for that language if there is not
+an existing locale for the combination language+country chosen
+
+=item 3 geographic groups that this language belongs to (for displaying
+in the menu grouped in smaller lists):
+
+=over 4
+
+=item 1=Europe,
+
+=item 2=Asia,
+
+=item 3=Africa,
+
+=item 4=Oceania & Pacific,
+
+=item 5=America
+
+=back
+
+If you wonder, it's the order used in the Olympic flag...
+
+=item 4 special value for LANGUAGE variable (if different of the default
+of 'll_CC:ll_DD:ll' (ll_CC: locale (if exist) resulting of the
+combination of chosen lang (ll) and country (CC), ll_DD: the
+default locale shown here (field [2]) and ll: the language (the key))
+
+=back
+
+Example:
+
+ C<< 'fr' => [ 'French', 'Francais', 'fr_FR', '1 345', 'iso-8859-15' ], >>
+
+=cut
+
+our %langs = (
'af' => [ 'Afrikaans', 'Afrikaans', 'af_ZA', ' 3 ', 'iso-8859-1' ],
-'am' => [ 'Amharic', 'ZZ emarNa', 'am_ET', ' 3 ', 'utf_am' ],
+'am' => [ 'Amharic', 'ZZ emarNa', 'am_ET', ' 3 ', 'utf_ethi' ],
'ar' => [ 'Arabic', 'AA Arabic', 'ar_EG', ' 23 ', 'utf_ar' ],
-'as' => [ 'Assamese', 'ZZ Assamese', 'as_IN', ' 2 ', 'utf_bn' ],
+'as' => [ 'Assamese', 'ZZ Assamese', 'as_IN', ' 2 ', 'utf_beng' ],
+'ast' => [ 'Asturian', 'Asturianu', 'ast_ES', ' 1 ', 'unicode' ],
'az' => [ 'Azeri (Latin)', 'Azerbaycanca', 'az_AZ', ' 2 ', 'utf_az' ],
-'be' => [ 'Belarussian', 'Belaruskaya', 'be_BY', '1 ', 'cp1251' ],
+'be' => [ 'Belarussian', 'Belaruskaya', 'be_BY', '1 ', 'utf_cyr1' ],
+'ber' => [ 'Berber', 'ZZ Tamazight', 'ber_MA', ' 3 ', 'utf_tfng', 'ber_MA:ber:fr' ],
'bg' => [ 'Bulgarian', 'Blgarski', 'bg_BG', '1 ', 'cp1251' ],
-'bn' => [ 'Bengali', 'ZZ Bengali', 'bn_BD', ' 2 ', 'utf_bn' ],
-'br' => [ 'Britton', 'Brezhoneg', 'br_FR', '1 ', 'iso-8859-15', 'br:fr_FR:fr' ],
+'bn' => [ 'Bengali', 'ZZ Bengali', 'bn_BD', ' 2 ', 'utf_beng' ],
+#- bo_CN not yet done, using dz_BT locale instead
+'bo' => [ 'Tibetan', 'ZZ Bod skad', 'dz_BT', ' 2 ', 'utf_tibt', 'bo' ],
+'br' => [ 'Breton', 'Brezhoneg', 'br_FR', '1 ', 'iso-8859-15', 'br:fr_FR:fr' ],
'bs' => [ 'Bosnian', 'Bosanski', 'bs_BA', '1 ', 'iso-8859-2' ],
'ca' => [ 'Catalan', 'Catala', 'ca_ES', '1 ', 'iso-8859-15', 'ca:es_ES:es' ],
+'ca@valencian' => [ 'Catalan (Valencian)', 'Catala (Valencia)', 'ca_ES', '1 ', 'iso-8859-15', 'ca_ES@valencian:ca@valencian:ca:es_ES:es' ],
'cs' => [ 'Czech', 'Cestina', 'cs_CZ', '1 ', 'iso-8859-2' ],
'cy' => [ 'Welsh', 'Cymraeg', 'cy_GB', '1 ', 'utf_lat8', 'cy:en_GB:en' ],
'da' => [ 'Danish', 'Dansk', 'da_DK', '1 ', 'iso-8859-15' ],
'de' => [ 'German', 'Deutsch', 'de_DE', '1 ', 'iso-8859-15' ],
-#-'dz' => [ 'Buthanese', 'ZZ Dzhonka', 'dz_BT', ' 2 ', 'unicode' ],
+'dz' => [ 'Buthanese', 'ZZ Dzhonka', 'dz_BT', ' 2 ', 'utf_tibt' ],
'el' => [ 'Greek', 'Ellynika', 'el_GR', '1 ', 'iso-8859-7' ],
-'en_GB' => [ 'English', 'English', 'en_GB', '12345', 'iso-8859-15' ],
-'en_US' => [ 'English (American)', 'English (American)', 'en_US', ' 5', 'C' ],
+'en_AU' => [ 'English (Australia)', 'English (AU)', 'en_AU', ' 4 ', 'iso-8859-1', 'en_AU:en_GB:en' ],
+'en_CA' => [ 'English (Canada)', 'English (Canada)', 'en_CA', ' 5', 'iso-8859-15', 'en_CA:en_GB:en' ],
+'en_GB' => [ 'English', 'English', 'en_GB', '123 5', 'iso-8859-15' ],
'en_IE' => [ 'English (Ireland)', 'English (Ireland)', 'en_IE', '1 ', 'iso-8859-15', 'en_IE:en_GB:en' ],
+'en_NZ' => [ 'English (New-Zealand)', 'English (NZ)', 'en_NZ', ' 4 ', 'iso-8859-1', 'en_NZ:en_AU:en_GB:en' ],
+'en_ZA' => [ 'English (South Africa)', 'English (ZA)', 'en_ZA', ' 3 ', 'iso-8859-1', 'en_ZA:en_GB:en' ],
+'en_US' => [ 'English (American)', 'English (American)', 'en_US', ' 5', 'C' ],
'eo' => [ 'Esperanto', 'Esperanto', 'eo_XX', '12345', 'unicode' ],
'es' => [ 'Spanish', 'Espanol', 'es_ES', '1 3 5', 'iso-8859-15' ],
'et' => [ 'Estonian', 'Eesti', 'et_EE', '1 ', 'iso-8859-15' ],
-'eu' => [ 'Euskara (Basque)', 'Euskara', 'eu_ES', '1 ', 'iso-8859-15' ],
+'eu' => [ 'Euskara (Basque)', 'Euskara', 'eu_ES', '1 ', 'utf_lat1' ],
'fa' => [ 'Farsi (Iranian)', 'AA Farsi', 'fa_IR', ' 2 ', 'utf_ar' ],
'fi' => [ 'Finnish (Suomi)', 'Suomi', 'fi_FI', '1 ', 'iso-8859-15' ],
-#'fo' => [ 'Faroese', 'Foroyskt', 'fo_FO', '1 ', 'iso-8859-1' ],
+#- 'tl' in priority position for now, as 'fil' is not much used.
+#- Monolingual window managers will not see the menus otherwise
+'fil' => [ 'Filipino', 'Filipino', 'fil_PH', ' 2 ', 'utf_lat1', 'tl:fil' ],
+'fo' => [ 'Faroese', 'Foroyskt', 'fo_FO', '1 ', 'utf_lat1' ],
'fr' => [ 'French', 'Francais', 'fr_FR', '1 345', 'iso-8859-15' ],
-'ga' => [ 'Gaelic (Irish)', 'Gaeilge', 'ga_IE', '1 ', 'iso-8859-15', 'ga:en_IE:en_GB:en' ],
-#'gd' => [ 'Gaelic (Scottish)', 'Gaidhlig', 'gb_GB', '1 ', 'utf_lat8', 'gd:en_GB:en' ],
+'fur' => [ 'Furlan', 'Furlan', 'fur_IT', '1 ', 'utf_lat1', 'fur:it_IT:it' ],
+'fy' => [ 'Frisian', 'Frysk', 'fy_NL', '1 ', 'utf_lat1' ],
+'ga' => [ 'Gaelic (Irish)', 'Gaeilge', 'ga_IE', '1 ', 'utf_lat1', 'ga:en_IE:en_GB:en' ],
+#'gd' => [ 'Gaelic (Scottish)', 'Gaidhlig', 'gd_GB', '1 ', 'utf_lat8', 'gd:en_GB:en' ],
'gl' => [ 'Galician', 'Galego', 'gl_ES', '1 ', 'iso-8859-15', 'gl:es_ES:es:pt:pt_BR' ],
-#- there isn't yet a gu_IN locale, using hi_IN instead
-'gu' => [ 'Gujarati', 'ZZ Gujarati', 'hi_IN', ' 2 ', 'unicode' ],
+#- gn_PY not yet done, using es_PY locale instead
+'gn' => [ 'Guarani', 'Avane-e', 'es_PY', ' 5', 'utf_lat1', 'gn:es_PY:es' ],
+'gu' => [ 'Gujarati', 'ZZ Gujarati', 'gu_IN', ' 2 ', 'unicode' ],
#'gv' => [ 'Gaelic (Manx)', 'Gaelg', 'gv_GB', '1 ', 'utf_lat8', 'gv:en_GB:en' ],
+'ha' => [ 'Hausa', 'Hausa', 'ha_NG', ' 3 ', 'utf_yo', 'ha:en_NG' ],
'he' => [ 'Hebrew', 'AA Ivrit', 'he_IL', ' 2 ', 'utf_he' ],
-'hi' => [ 'Hindi', 'ZZ Hindi', 'hi_IN', ' 2 ', 'unicode' ],
+'hi' => [ 'Hindi', 'ZZ Hindi', 'hi_IN', ' 2 ', 'utf_deva' ],
'hr' => [ 'Croatian', 'Hrvatski', 'hr_HR', '1 ', 'iso-8859-2' ],
'hu' => [ 'Hungarian', 'Magyar', 'hu_HU', '1 ', 'iso-8859-2' ],
-'hy' => [ 'Armenian', 'ZZ Armenian', 'hy_AM', ' 2 ', 'utf_hy' ],
-#'ia' => [ 'Interlingua', 'Interlingua', 'ia_XX', '1 5', 'utf8' ],
-'id' => [ 'Indonesian', 'Bahasa Indonesia', 'id_ID', ' 2 ', 'iso-8859-1' ],
-'is' => [ 'Icelandic', 'Islenska', 'is_IS', '1 ', 'iso-8859-1' ],
+'hy' => [ 'Armenian', 'ZZ Armenian', 'hy_AM', ' 2 ', 'utf_armn' ],
+# locale not done yet
+#'ia' => [ 'Interlingua', 'Interlingua', 'ia_XX', '1 5', 'utf_lat1' ],
+'id' => [ 'Indonesian', 'Bahasa Indonesia', 'id_ID', ' 2 ', 'utf_lat1' ],
+'ig' => [ 'Igbo', 'Igbo', 'ig_NG', ' 3 ', 'utf_yo', 'ig:en_NG' ],
+'is' => [ 'Icelandic', 'Islenska', 'is_IS', '1 ', 'iso-8859-15' ],
'it' => [ 'Italian', 'Italiano', 'it_IT', '1 ', 'iso-8859-15' ],
-#-'iu' => [ 'Inuktitut', 'ZZ Inuktitut', 'iu_CA', ' 5', 'utf_iu' ],
+'iu' => [ 'Inuktitut', 'ZZ Inuktitut', 'iu_CA', ' 5', 'utf_iu' ],
'ja' => [ 'Japanese', 'ZZ Nihongo', 'ja_JP', ' 2 ', 'jisx0208' ],
-'ka' => [ 'Georgian', 'ZZ Georgian', 'ka_GE', ' 2 ', 'utf_ka' ],
-#-'kl' => [ 'Greenlandic (inuit)', 'ZZ Inuit', 'kl_GL', ' 5', 'iso-8859-1' ],
-'kn' => [ 'Kannada', 'ZZ Kannada', 'kn_IN', ' 2 ', 'utf_kn' ],
+'ka' => [ 'Georgian', 'ZZ Georgian', 'ka_GE', ' 2 ', 'utf_geor' ],
+'kk' => [ 'Kazakh', 'Kazak', 'kk_KZ', ' 2 ', 'utf_cyr2' ],
+'kl' => [ 'Greenlandic (inuit)', 'Kalaallisut', 'kl_GL', ' 5', 'utf_lat1' ],
+'km' => [ 'Khmer', 'ZZ Khmer', 'km_KH', ' 2 ', 'utf_khmr' ],
+'kn' => [ 'Kannada', 'ZZ Kannada', 'kn_IN', ' 2 ', 'utf_knda' ],
'ko' => [ 'Korean', 'ZZ Korea', 'ko_KR', ' 2 ', 'ksc5601' ],
-#-'ku' => [ 'Kurdish', 'Kurdi', 'ku_TR', ' 2 ', 'iso-8859-9' ],
+'ku' => [ 'Kurdish', 'Kurdi', 'ku_TR', ' 2 ', 'utf_lat5' ],
#-'kw' => [ 'Cornish', 'Kernewek', 'kw_GB', '1 ', 'utf_lat8', 'kw:en_GB:en' ],
-# no li_NL locale yet; using nl_NL instead and defning LANGUAGE
-'li' => [ 'Limbourgish', 'Limburgs', 'nl_NL', '1 ', 'iso-8859-15' ],
-'lo' => [ 'Laotian', 'Laotian', 'lo_LA', ' 2 ', 'utf_lo' ],
+'ky' => [ 'Kyrgyz', 'Kyrgyz', 'ky_KG', ' 2 ', 'utf_cyr2' ],
+#- lb_LU not yet done, using de_LU locale instead
+'lb' => [ 'Luxembourgish', 'Letzebuergesch', 'de_LU', '1 ', 'utf_lat1', 'lb:de_LU' ],
+'li' => [ 'Limbourgish', 'Limburgs', 'li_NL', '1 ', 'utf_lat1' ],
+'lo' => [ 'Laotian', 'Laotian', 'lo_LA', ' 2 ', 'utf_laoo' ],
'lt' => [ 'Lithuanian', 'Lietuviskai', 'lt_LT', '1 ', 'iso-8859-13' ],
+#- ltg_LV locale not done yet, using lv_LV for now
+#- "ltg" is not a standard lang code, ISO-639 code was refused;
+#- LTG_LV should be used instead (uppercase is for non-standard
+#- langcodes, as defined by locale naming standard
+'ltg' => [ 'Latgalian', 'Latgalisu', 'lv_LV', '1 ', 'utf_lat7', 'ltg:LTG:lv' ],
+#'lu' => [ 'Luganda', 'Luganda', 'lg_UG', ' 3 ', 'utf_lat1' ],
'lv' => [ 'Latvian', 'Latviesu', 'lv_LV', '1 ', 'iso-8859-13' ],
-'mi' => [ 'Maori', 'Maori', 'mi_NZ', ' 4 ', 'unicode' ],
+'mi' => [ 'Maori', 'Maori', 'mi_NZ', ' 4 ', 'utf_lat7' ],
'mk' => [ 'Macedonian', 'Makedonski', 'mk_MK', '1 ', 'utf_cyr1' ],
-'ml' => [ 'Malayalam', 'ZZ Malayalam', 'ml_IN', ' 2 ', 'unicode' ],
+'ml' => [ 'Malayalam', 'ZZ Malayalam', 'ml_IN', ' 2 ', 'utf_mlym' ],
'mn' => [ 'Mongolian', 'Mongol', 'mn_MN', ' 2 ', 'utf_cyr2' ],
-'mr' => [ 'Marathi', 'ZZ Marathi', 'mr_IN', ' 2 ', 'unicode' ],
-'ms' => [ 'Malay', 'Bahasa Melayu', 'ms_MY', ' 2 ', 'iso-8859-1' ],
+'mr' => [ 'Marathi', 'ZZ Marathi', 'mr_IN', ' 2 ', 'utf_deva' ],
+'ms' => [ 'Malay', 'Bahasa Melayu', 'ms_MY', ' 2 ', 'utf_lat1' ],
'mt' => [ 'Maltese', 'Maltin', 'mt_MT', '1 3 ', 'unicode' ],
-'nb' => [ 'Norwegian Bokmaal', 'Norsk, Bokmal', 'no_NO', '1 ', 'iso-8859-1', 'nb:no' ],
-#-'ne' => [ 'Nepali', 'ZZ Nepali', 'ne_IN', ' 2 ', 'unicode' ],
+#- "my_MM" not yet done, using "en_US" for now
+'my' => [ 'Burmese', 'ZZ Bamaca', 'my', ' 2 ', 'utf_mymr', 'my_MM:my' ],
+'nb' => [ 'Norwegian Bokmaal', 'Norsk, Bokmal', 'nb_NO', '1 ', 'iso-8859-15', 'nb:no' ],
+'nds' => [ 'Low Saxon', 'Platduutsch', 'nds_DE', '1 ', 'utf_lat1', 'nds_DE:nds' ],
+'ne' => [ 'Nepali', 'ZZ Nepali', 'ne_NP', ' 2 ', 'utf_deva' ],
'nl' => [ 'Dutch', 'Nederlands', 'nl_NL', '1 ', 'iso-8859-15' ],
-'nn' => [ 'Norwegian Nynorsk', 'Norsk, Nynorsk', 'nn_NO', '1 ', 'iso-8859-1', 'nn:no@nynorsk:no_NY:no:nb' ],
-#-'oc' => [ 'Occitan', 'Occitan', 'oc_FR', '1 ', 'iso-8859-1', 'oc:fr_FR:fr' ],
-#-'ph' => [ 'Pilipino', 'Pilipino', 'ph_PH', ' 2 ', 'iso-8859-1', 'ph:tl' ],
+'nn' => [ 'Norwegian Nynorsk', 'Norsk, Nynorsk', 'nn_NO', '1 ', 'iso-8859-15', 'nn:no@nynorsk:no_NY:no:nb' ],
+'nr' => [ 'Ndebele', 'Ndebele', 'nr_ZA', ' 3 ', 'utf_lat1', 'nr:en_ZA' ],
+'nso' => [ 'Northern Sotho', 'Sesotho sa Leboa', 'nso_ZA', ' 3 ', 'utf_lat1', 'st:nso:en_ZA' ],
+'oc' => [ 'Occitan', 'Occitan', 'oc_FR', '1 ', 'utf_lat1', 'oc:fr_FR:fr' ],
+'pa_IN' => [ 'Punjabi (gurmukhi)', 'ZZ Punjabi', 'pa_IN', ' 2 ', 'utf_guru' ],
'pl' => [ 'Polish', 'Polski', 'pl_PL', '1 ', 'iso-8859-2' ],
'pt' => [ 'Portuguese', 'Portugues', 'pt_PT', '1 3 ', 'iso-8859-15', 'pt_PT:pt:pt_BR' ],
'pt_BR' => [ 'Portuguese Brazil', 'Portugues do Brasil', 'pt_BR', ' 5', 'iso-8859-1', 'pt_BR:pt_PT:pt' ],
+#- qu_PE not yet done, using es_PE locale instead
+'qu' => [ 'Quichua', 'Runa Simi', 'es_PE', ' 5', 'utf_lat1', 'qu:es_PE:es' ],
'ro' => [ 'Romanian', 'Romana', 'ro_RO', '1 ', 'iso-8859-2' ],
'ru' => [ 'Russian', 'Russkij', 'ru_RU', '12 ', 'koi8-u' ],
+'rw' => [ 'Kinyarwanda', 'Kinyarwanda', 'rw_RW', ' 3 ', 'utf_lat1', 'rw' ],
+'sc' => [ 'Sardinian', 'Sardu', 'sc_IT', '1 ', 'utf_lat1', 'sc:it_IT:it' ],
'se' => [ 'Saami', 'Samegiella', 'se_NO', '1 ', 'unicode' ],
'sk' => [ 'Slovak', 'Slovencina', 'sk_SK', '1 ', 'iso-8859-2' ],
'sl' => [ 'Slovenian', 'Slovenscina', 'sl_SI', '1 ', 'iso-8859-2' ],
+'so' => [ 'Somali', 'Soomaali', 'so_SO', ' 3 ', 'utf_lat1' ],
'sq' => [ 'Albanian', 'Shqip', 'sq_AL', '1 ', 'iso-8859-1' ],
-'sr' => [ 'Serbian Cyrillic', 'Srpska', 'sr_YU', '1 ', 'iso-8859-5', 'sp:sr' ],
-'sr@Latn' => [ 'Serbian Latin', 'Srpska', 'sr_YU', '1 ', 'iso-8859-2', 'sh:sr@Latn' ],
-#- ss_ZA not yet done, using en_ZA locale instead
-'ss' => [ 'Swati', 'SiSwati', 'en_ZA', ' 3 ', 'iso-8859-1', 'ss:en_ZA' ],
-'st' => [ 'Sotho', 'Sesotho', 'st_ZA', ' 3 ', 'iso-8859-1', 'st:nso:en_ZA' ],
-'sv' => [ 'Swedish', 'Svenska', 'sv_SE', '1 ', 'iso-8859-1' ],
-'ta' => [ 'Tamil', 'ZZ Tamil', 'ta_IN', ' 2 ', 'utf_ta' ],
+'sr' => [ 'Serbian Cyrillic', 'Srpska', 'sr_CS', '1 ', 'utf_cyr1', 'sp:sr' ],
+#- "sh" comes first, because otherwise, due to the way glibc does language
+#- fallback, if "sr@Latn" is not there but a "sr" (which uses cyrillic)
+#- is there, "sh" will never be used.
+'sr@Latn' => [ 'Serbian Latin', 'Srpska', 'sr_CS', '1 ', 'unicode', 'sh:sr@Latn' ],
+'ss' => [ 'Swati', 'SiSwati', 'ss_ZA', ' 3 ', 'utf_lat1', 'ss:en_ZA' ],
+'st' => [ 'Sotho', 'Sesotho', 'st_ZA', ' 3 ', 'utf_lat1', 'st:nso:en_ZA' ],
+'sv' => [ 'Swedish', 'Svenska', 'sv_SE', '1 ', 'iso-8859-15' ],
+'ta' => [ 'Tamil', 'ZZ Tamil', 'ta_IN', ' 2 ', 'utf_taml' ],
'te' => [ 'Telugu', 'ZZ Telugu', 'te_IN', ' 2 ', 'unicode' ],
'tg' => [ 'Tajik', 'Tojiki', 'tg_TJ', ' 2 ', 'utf_cyr2' ],
'th' => [ 'Thai', 'ZZ Thai', 'th_TH', ' 2 ', 'tis620' ],
-'tr' => [ 'Turkish', 'Turkce', 'tr_TR', ' 2 ', 'iso-8859-9' ],
-#-'tt' => [ 'Tatar', 'Tatar', 'tt_RU', ' 2 ', 'utf_cyr2' ],
+'tk' => [ 'Turkmen', 'Turkmence', 'tk_TM', ' 2 ', 'utf_az' ],
+'tn' => [ 'Tswana', 'Setswana', 'tn_ZA', ' 3 ', 'utf_lat1', 'tn:en_ZA' ],
+'tr' => [ 'Turkish', 'Turkce', 'tr_TR', '12 ', 'iso-8859-9' ],
+'ts' => [ 'Tsonga', 'Xitsonga', 'ts_ZA', ' 3 ', 'utf_lat1', 'ts:en_ZA' ],
+'tt' => [ 'Tatar', 'Tatarca', 'tt_RU', ' 2 ', 'utf_lat5' ],
+'ug' => [ 'Uyghur', 'AA Uyghur', 'ug_CN', ' 2 ', 'utf_ar', 'ug' ],
'uk' => [ 'Ukrainian', 'Ukrayinska', 'uk_UA', '1 ', 'koi8-u' ],
-#-'ur' => [ 'Urdu', 'AA Urdu', 'ur_PK', ' 2 ', 'utf_ar' ],
-'uz' => [ 'Uzbek (latin)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2' ],
-'uz@Cyrl' => [ 'Uzbek (cyrillic)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz@Cyrl:uz' ],
-#- ve_ZA not yet done, using en_ZA locale instead
-'ve' => [ 'Venda', 'Venda', 'en_ZA', ' 3 ', 'iso-8859-1', 've:ven:en_ZA' ],
+'ur' => [ 'Urdu', 'AA Urdu', 'ur_PK', ' 2 ', 'utf_ar' ],
+'uz' => [ 'Uzbek', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz' ],
+ 'uz@cyrillic' => [ 'Uzbek (cyrillic)', 'Ozbekcha', 'uz_UZ@cyrillic', ' 2 ', 'utf_cyr2', 'uz@cyrillic' ],
+'ve' => [ 'Venda', 'Tshivenda', 've_ZA', ' 3 ', 'utf_lat1', 've:ven:en_ZA' ],
'vi' => [ 'Vietnamese', 'Tieng Viet', 'vi_VN', ' 2 ', 'utf_vi' ],
-'wa' => [ 'Walon', 'Walon', 'wa_BE', '1 ', 'iso-8859-15', 'wa:fr_BE:fr' ],
-'xh' => [ 'Xhosa', 'IsiXhosa', 'xh_ZA', ' 3 ', 'iso-8859-1', 'xh:en_ZA' ],
-#-'yi' => [ 'Yiddish', 'AA Yidish', 'yi_US', '1 5', 'utf_he' ],
-'zh_CN' => [ 'Chinese Simplified', 'ZZ ZhongWen', 'zh_CN', ' 2 ', 'gb2312', 'zh_CN.GB2312:zh_CN:zh' ],
+'wa' => [ 'Walon', 'Walon', 'wa_BE', '1 ', 'utf_lat1', 'wa:fr_BE:fr' ],
+#- locale "wen_DE" not done yet, using "de_DE" instead
+#- wen disabled until we have a perl-install/pixmaps/langs/lang-wen.png for it
+#'wen' => [ 'Sorbian', 'Sorbian', 'de_DE', '1 ', 'utf_lat1', 'wen' ],
+'xh' => [ 'Xhosa', 'Xhosa', 'xh_ZA', ' 3 ', 'utf_lat1', 'xh:en_ZA' ],
+'yi' => [ 'Yiddish', 'AA Yidish', 'yi_US', '1 ', 'utf_he' ],
+'yo' => [ 'Yoruba', 'Yoruba', 'yo_NG', ' 3 ', 'utf_yo', 'yo:en_NG' ],
+'zh_CN' => [ 'Chinese Simplified', 'ZZ ZhongWen', 'zh_CN', ' 2 ', 'gb2312', 'zh_CN.GBK:zh_CN.GB2312:zh_CN:zh' ],
'zh_TW' => [ 'Chinese Traditional', 'ZZ ZhongWen', 'zh_TW', ' 2 ', 'Big5', 'zh_TW.Big5:zh_TW:zh_HK:zh' ],
-'zu' => [ 'Zulu', 'IsiZulu', 'zu_ZA', ' 3 ', 'iso-8859-1', 'xh:en_ZA' ],
+'zu' => [ 'Zulu', 'Zulu', 'zu_ZA', ' 3 ', 'utf_lat1', 'xh:en_ZA' ],
);
sub l2name { exists $langs{$_[0]} && $langs{$_[0]}[0] }
sub l2transliterated { exists $langs{$_[0]} && $langs{$_[0]}[1] }
sub l2locale { exists $langs{$_[0]} && $langs{$_[0]}[2] }
sub l2location {
+ my ($lang) = @_;
my %geo = (1 => 'Europe', 2 => 'Asia', 3 => 'Africa', 4 => 'Oceania/Pacific', 5 => 'America');
- map { if_($langs{$_[0]}[3] =~ $_, $geo{$_}) } 1..5;
+ map { $geo{$_} } grep { $langs{$lang} && $langs{$lang}[3] =~ $_ } 1..5;
}
sub l2charset { exists $langs{$_[0]} && $langs{$_[0]}[4] }
sub l2language { exists $langs{$_[0]} && $langs{$_[0]}[5] }
+
+sub is_locale_installed {
+ my ($locale) = @_;
+ my @ctypes = glob "/usr/share/locale/" . $locale . "{,.*}/LC_CTYPE";
+ foreach my $ctype (@ctypes) { -e $ctype && return 1 }
+ 0;
+}
+
sub list_langs {
my (%options) = @_;
my @l = keys %langs;
- $options{exclude_non_installed} ? grep { -e "/usr/share/locale/".l2locale($_)."/LC_CTYPE" } @l : @l;
+ $options{exclude_non_installed} ? grep { is_locale_installed(l2locale($_)) } @l : @l;
+}
+
+sub text_direction_rtl() {
+#-PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#-PO: or as "default:RTL", depending if your language is written from
+#-PO: left to right, or from right to left; any other string is wrong.
+ N("default:LTR") eq "default:RTL";
}
-sub text_direction_rtl() { N("default:LTR") eq "default:RTL" }
-
-
-#- key: country name (that should be YY in xx_YY locale)
-#- [0]: country name in natural language
-#- [1]: default locale for that country
-#- [2]: geographic groups that this country belongs to (for displaying
-#- in the menu grouped in smaller lists), 1=Europe, 2=Asia, 3=Africa,
-#- 4=Oceania&Pacific, 5=America (if you wonder, it's the order
-#- used in the olympic flag)
-#-
-#- Note: for countries for which a glibc locale don't exist (yet) I tried to
-#- put a locale that makes sense; and a '#' at the end of the line to show
-#- the locale is not the "correct" one. 'en_US' is used when no good choice
-#- is available.
+=back
+
+=head2 Countries
+
+=over
+
+=item my %countries;
+
+The key is the ISO 639-1 country name code (that should be YY in xx_YY locale).
+
+The fields are:
+
+=over 4
+
+=item 0: country name in natural language
+
+=item 1: default locale for that country
+
+=item 2: geographic groups that this country belongs to (for displaying
+in the menu grouped in smaller lists):
+
+=over 4
+
+=item *1=Europe,
+
+=item *2=Asia,
+
+=item *3=Africa,
+
+=item 4=Oceania & Pacific,
+
+=item 5=America
+
+=back
+
+If you wonder, it's the order used in the Olympic flag.
+
+=back
+
+Note: for countries for which a glibc locale do not exist (yet) I tried to
+put a locale that makes sense; and a '#' at the end of the line to show
+the locale is not the "correct" one. 'en_US' is used when no good choice
+is available.
+
+Example:
+
+ C<< 'FR' => [ N_("France"), 'fr_FR', '1' ], >>
+
+=cut
+
my %countries = (
-'AF' => [ N_("Afghanistan"), 'en_US', '2' ], #
-'AD' => [ N_("Andorra"), 'ca_ES', '1' ], #
+'AD' => [ N_("Andorra"), 'ca_AD', '1' ],
'AE' => [ N_("United Arab Emirates"), 'ar_AE', '2' ],
+'AF' => [ N_("Afghanistan"), 'en_US', '2' ], #
'AG' => [ N_("Antigua and Barbuda"), 'en_US', '5' ], #
'AI' => [ N_("Anguilla"), 'en_US', '5' ], #
'AL' => [ N_("Albania"), 'sq_AL', '1' ],
@@ -185,7 +328,7 @@ my %countries = (
'BO' => [ N_("Bolivia"), 'es_BO', '5' ],
'BR' => [ N_("Brazil"), 'pt_BR', '5' ],
'BS' => [ N_("Bahamas"), 'en_US', '5' ], #
-'BT' => [ N_("Bhutan"), 'en_IN', '2' ], #
+'BT' => [ N_("Bhutan"), 'dz_BT', '2' ],
'BV' => [ N_("Bouvet Island"), 'en_US', '3' ], #
'BW' => [ N_("Botswana"), 'en_BW', '3' ],
'BY' => [ N_("Belarus"), 'be_BY', '1' ],
@@ -203,10 +346,11 @@ my %countries = (
'CN' => [ N_("China"), 'zh_CN', '2' ],
'CO' => [ N_("Colombia"), 'es_CO', '5' ],
'CR' => [ N_("Costa Rica"), 'es_CR', '5' ],
+'CS' => [ N_("Serbia & Montenegro"), 'sr_CS', '1' ],
'CU' => [ N_("Cuba"), 'es_DO', '5' ], #
'CV' => [ N_("Cape Verde"), 'pt_PT', '3' ], #
'CX' => [ N_("Christmas Island"), 'en_US', '4' ], #
-'CY' => [ N_("Cyprus"), 'en_US', '1' ], #
+'CY' => [ N_("Cyprus"), 'el_CY', '1' ],
'CZ' => [ N_("Czech Republic"), 'cs_CZ', '2' ],
'DE' => [ N_("Germany"), 'de_DE', '1' ],
'DJ' => [ N_("Djibouti"), 'en_US', '3' ], #
@@ -245,7 +389,7 @@ my %countries = (
'GU' => [ N_("Guam"), 'en_US', '4' ], #
'GW' => [ N_("Guinea-Bissau"), 'pt_PT', '3' ], #
'GY' => [ N_("Guyana"), 'en_US', '5' ], #
-'HK' => [ N_("China") . ' (' . N_("Hong Kong") . ')', 'zh_HK', '2' ],
+'HK' => [ N_("Hong Kong SAR (China)"), 'zh_HK', '2' ],
'HM' => [ N_("Heard and McDonald Islands"), 'en_US', '4' ], #
'HN' => [ N_("Honduras"), 'es_HN', '5' ],
'HR' => [ N_("Croatia"), 'hr_HR', '1' ],
@@ -264,8 +408,8 @@ my %countries = (
'JO' => [ N_("Jordan"), 'ar_JO', '2' ],
'JP' => [ N_("Japan"), 'ja_JP', '2' ],
'KE' => [ N_("Kenya"), 'en_ZW', '3' ], #
-'KG' => [ N_("Kyrgyzstan"), 'en_US', '2' ], #
-'KH' => [ N_("Cambodia"), 'en_US', '2' ], # kh_KH not released yet
+'KG' => [ N_("Kyrgyzstan"), 'ky_KG', '2' ],
+'KH' => [ N_("Cambodia"), 'km_KH', '2' ],
'KI' => [ N_("Kiribati"), 'en_US', '3' ], #
'KM' => [ N_("Comoros"), 'en_US', '2' ], #
'KN' => [ N_("Saint Kitts and Nevis"), 'en_US', '5' ], #
@@ -273,26 +417,26 @@ my %countries = (
'KR' => [ N_("Korea"), 'ko_KR', '2' ],
'KW' => [ N_("Kuwait"), 'ar_KW', '2' ],
'KY' => [ N_("Cayman Islands"), 'en_US', '5' ], #
-'KZ' => [ N_("Kazakhstan"), 'ru_RU', '2' ], #
+'KZ' => [ N_("Kazakhstan"), 'kk_KZ', '2' ],
'LA' => [ N_("Laos"), 'lo_LA', '2' ],
'LB' => [ N_("Lebanon"), 'ar_LB', '2' ],
'LC' => [ N_("Saint Lucia"), 'en_US', '5' ], #
'LI' => [ N_("Liechtenstein"), 'de_CH', '1' ], #
-'LK' => [ N_("Sri Lanka"), 'en_IN', '2' ], #
+'LK' => [ N_("Sri Lanka"), 'si_LK', '2' ],
'LR' => [ N_("Liberia"), 'en_US', '3' ], #
'LS' => [ N_("Lesotho"), 'en_BW', '3' ], #
'LT' => [ N_("Lithuania"), 'lt_LT', '1' ],
-'LU' => [ N_("Luxembourg"), 'de_LU', '1' ],
+'LU' => [ N_("Luxembourg"), 'de_LU', '1' ], # lb_LU
'LV' => [ N_("Latvia"), 'lv_LV', '1' ],
'LY' => [ N_("Libya"), 'ar_LY', '3' ],
'MA' => [ N_("Morocco"), 'ar_MA', '3' ],
'MC' => [ N_("Monaco"), 'fr_FR', '1' ], #
'MD' => [ N_("Moldova"), 'ro_RO', '1' ], #
-'MG' => [ N_("Madagascar"), 'fr_FR', '3' ], #
+'MG' => [ N_("Madagascar"), 'mg_MG', '3' ],
'MH' => [ N_("Marshall Islands"), 'en_US', '4' ], #
'MK' => [ N_("Macedonia"), 'mk_MK', '1' ],
'ML' => [ N_("Mali"), 'en_US', '3' ], #
-'MM' => [ N_("Myanmar"), 'en_US', '2' ], #
+'MM' => [ N_("Myanmar"), 'en_US', '2' ], # my_MM
'MN' => [ N_("Mongolia"), 'mn_MN', '2' ],
'MP' => [ N_("Northern Mariana Islands"), 'en_US', '2' ], #
'MQ' => [ N_("Martinique"), 'fr_FR', '5' ], #
@@ -309,11 +453,11 @@ my %countries = (
'NC' => [ N_("New Caledonia"), 'fr_FR', '4' ], #
'NE' => [ N_("Niger"), 'en_US', '3' ], #
'NF' => [ N_("Norfolk Island"), 'en_GB', '4' ], #
-'NG' => [ N_("Nigeria"), 'en_US', '3' ], #
+'NG' => [ N_("Nigeria"), 'en_NG', '3' ],
'NI' => [ N_("Nicaragua"), 'es_NI', '5' ],
'NL' => [ N_("Netherlands"), 'nl_NL', '1' ],
-'NO' => [ N_("Norway"), 'no_NO', '1' ],
-'NP' => [ N_("Nepal"), 'en_IN', '2' ], #
+'NO' => [ N_("Norway"), 'nb_NO', '1' ],
+'NP' => [ N_("Nepal"), 'ne_NP', '2' ],
'NR' => [ N_("Nauru"), 'en_US', '4' ], #
'NU' => [ N_("Niue"), 'en_US', '4' ], #
'NZ' => [ N_("New Zealand"), 'en_NZ', '4' ],
@@ -322,7 +466,7 @@ my %countries = (
'PE' => [ N_("Peru"), 'es_PE', '5' ],
'PF' => [ N_("French Polynesia"), 'fr_FR', '4' ], #
'PG' => [ N_("Papua New Guinea"), 'en_NZ', '4' ], #
-'PH' => [ N_("Philippines"), 'ph_PH', '2' ],
+'PH' => [ N_("Philippines"), 'fil_PH', '2' ],
'PK' => [ N_("Pakistan"), 'ur_PK', '2' ],
'PL' => [ N_("Poland"), 'pl_PL', '1' ],
'PM' => [ N_("Saint Pierre and Miquelon"), 'fr_CA', '5' ], #
@@ -336,7 +480,7 @@ my %countries = (
'RE' => [ N_("Reunion"), 'fr_FR', '2' ], #
'RO' => [ N_("Romania"), 'ro_RO', '1' ],
'RU' => [ N_("Russia"), 'ru_RU', '1' ],
-'RW' => [ N_("Rwanda"), 'fr_FR', '3' ], #
+'RW' => [ N_("Rwanda"), 'rw_RW', '3' ],
'SA' => [ N_("Saudi Arabia"), 'ar_SA', '2' ],
'SB' => [ N_("Solomon Islands"), 'en_US', '4' ], #
'SC' => [ N_("Seychelles"), 'en_US', '4' ], #
@@ -350,7 +494,7 @@ my %countries = (
'SL' => [ N_("Sierra Leone"), 'en_US', '3' ], #
'SM' => [ N_("San Marino"), 'it_IT', '1' ], #
'SN' => [ N_("Senegal"), 'fr_FR', '3' ], #
-'SO' => [ N_("Somalia"), 'en_US', '3' ], #
+'SO' => [ N_("Somalia"), 'so_SO', '3' ],
'SR' => [ N_("Suriname"), 'nl_NL', '5' ], #
'ST' => [ N_("Sao Tome and Principe"), 'en_US', '5' ], #
'SV' => [ N_("El Salvador"), 'es_SV', '5' ],
@@ -364,7 +508,7 @@ my %countries = (
'TJ' => [ N_("Tajikistan"), 'tg_TJ', '2' ],
'TK' => [ N_("Tokelau"), 'en_US', '4' ], #
'TL' => [ N_("East Timor"), 'pt_PT', '4' ], #
-'TM' => [ N_("Turkmenistan"), 'en_US', '2' ], #
+'TM' => [ N_("Turkmenistan"), 'tk_TM', '2' ],
'TN' => [ N_("Tunisia"), 'ar_TN', '5' ],
'TO' => [ N_("Tonga"), 'en_US', '3' ], #
'TR' => [ N_("Turkey"), 'tr_TR', '2' ],
@@ -373,7 +517,7 @@ my %countries = (
'TW' => [ N_("Taiwan"), 'zh_TW', '2' ],
'TZ' => [ N_("Tanzania"), 'en_US', '3' ], #
'UA' => [ N_("Ukraine"), 'uk_UA', '1' ],
-'UG' => [ N_("Uganda"), 'en_US', '3' ], #
+'UG' => [ N_("Uganda"), 'lg_UG', '3' ],
'UM' => [ N_("United States Minor Outlying Islands"), 'en_US', '5' ], #
'US' => [ N_("United States"), 'en_US', '5' ],
'UY' => [ N_("Uruguay"), 'es_UY', '5' ],
@@ -389,258 +533,590 @@ my %countries = (
'WS' => [ N_("Samoa"), 'en_US', '4' ], #
'YE' => [ N_("Yemen"), 'ar_YE', '2' ],
'YT' => [ N_("Mayotte"), 'fr_FR', '3' ], #
-'YU' => [ N_("Serbia"), 'sp_YU', '1' ],
'ZA' => [ N_("South Africa"), 'en_ZA', '5' ],
'ZM' => [ N_("Zambia"), 'en_US', '3' ], #
'ZW' => [ N_("Zimbabwe"), 'en_ZW', '5' ],
);
+
+=item c2name($country_code)
+
+Returns the translated name for $country_code.
+
+=cut
+
sub c2name { exists $countries{$_[0]} && translate($countries{$_[0]}[0]) }
+
+=item c2locale($country_code)
+
+Returns default locale for that $country_code.
+
+=cut
+
sub c2locale { exists $countries{$_[0]} && $countries{$_[0]}[1] }
-sub list_countries {
- my (%options) = @_;
- my @l = keys %countries;
- $options{exclude_non_installed} ? grep { -e "/usr/share/locale/".c2locale($_)."/LC_CTYPE" } @l : @l;
+
+=item list_countries()
+
+Returns the full list of countries.
+
+=cut
+
+sub list_countries() {
+ keys %countries;
}
-#- this list is built with 'cd /usr/share/i18n/locales ; echo ??_??'
-#- plus eo_XX ph_PH en_BE xh_ZA as_IN
-our @locales = qw(af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE az_AZ be_BY bg_BG bn_BD bn_IN br_FR bs_BA ca_ES cs_CZ cy_GB da_DK de_AT de_BE de_CH de_DE de_LU el_GR en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NZ en_PH en_SG en_US en_ZA en_ZW es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR fi_FI fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU ga_IE gd_GB gl_ES gv_GB he_IL hi_IN hr_HR hu_HU hy_AM id_ID is_IS it_CH it_IT iw_IL ja_JP ka_GE kl_GL ko_KR kw_GB lo_LA lt_LT lv_LV mi_NZ mk_MK ml_IN mn_MN mr_IN ms_MY mt_MT nl_BE nl_NL nn_NO no_NO oc_FR pl_PL pt_BR pt_PT ro_RO ru_RU ru_UA se_NO sk_SK sl_SI sq_AL sr_YU st_ZA sv_FI sv_SE ta_IN te_IN tg_TJ th_TH ti_ER ti_ET tl_PH tr_TR tt_RU uk_UA ur_PK uz_UZ vi_VN wa_BE xh_ZA yi_US zh_CN zh_HK zh_SG zh_TW zu_ZA eo_XX ph_PH en_BE as_IN kn_IN);
+=back
+
+=head2 Locales
+
+=over
+
+=item our @locales;
+
+The list of locales supported by glibc.
+
+=cut
+
+#- this list is built with the following command:
+#- urpmf LC_CTYPE | grep -E '/usr/share/locale/[a-z]' | cut -d'/' -f5 | sed 's/\.\(UTF-8\|ARM\|EUC\|GB.\|ISO\|KOI\|TCVN\).*\|\@\(euro\|iqtelif.*\)//' | sort -u | tr '\n' ' ';echo
+our @locales = qw(aa_DJ aa_ER aa_ER@saaho aa_ET af_ZA ak_GH am_ET an_ES anp_IN ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SS ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY be_BY@latin bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT cmn_TW crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BE en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW eo_XX es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es@tradicional es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ER@abegede gez_ET gez_ET@abegede gl_ES gu_IN gv_GB hak_TW ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA iw_IL ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ks_IN@devanagari ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV lzh_TW mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nan_TW nan_TW@latin nb_NO nds_DE nds_DE@traditional nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pap_AN pap_AW pap_CW pa_PK pl_PL ps_AF pt_BR pt_PT quz_PE ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN sd_IN@devanagari se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS sr_RS@latin ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ sw_XX szl_PL ta_IN ta_LK te_IN tg_TJ the_NP th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ uz_UZ@cyrillic ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA);
+
+# (cg) Taken from systemd/src/locale/localed.c
+my @locale_conf_fields = qw(LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION);
sub standard_locale {
my ($lang, $country, $prefer_lang) = @_;
- retry:
- member("${lang}_${country}", @locales) and return "${lang}_${country}";
- $prefer_lang && member($lang, @locales) and return $lang;
- length($lang) > 2 and $lang =~ s/^(..).*/$1/, goto retry;
+
+ my $lang_ = force_lang_country($lang, $country);
+ if (member($lang_, @locales)) {
+ $lang_;
+ } elsif ($prefer_lang && member($lang, @locales)) {
+ $lang;
+ } else {
+ '';
+ }
}
-sub fix_variant {
- my ($locale) = @_;
- #- uz@Cyrl_UZ -> uz_UZ@Cyrl
- $locale =~ s/(\@\w+)_/_/;
- $locale . $1;
+sub force_lang_country {
+ my ($lang, $country) = @_;
+ my $h = analyse_locale_name($lang);
+ $h->{country} = $country;
+ analysed_to_lang($h);
+}
+
+sub force_lang_charset {
+ my ($lang, $charset) = @_;
+ my $h = analyse_locale_name($lang);
+ $h->{charset} = $charset;
+ analysed_to_lang($h);
+}
+
+=item analysed_to_lang($h)
+
+The reverse of analyse_locale_name($lang), it takes a hash ref and returns
+the standard ll_CC.cc@VV
+
+=cut
+
+sub analysed_to_lang {
+ my ($h) = @_;
+ $h->{main} . '_' . $h->{country} .
+ ($h->{charset} ? '.' . $h->{charset} : '') .
+ ($h->{variant} ? '@' . $h->{variant} : '');
+}
+
+=item analyse_locale_name($lang)
+
+Analyse a ll_CC.cc@VV locale and return a hash ref containing:
+
+=over 4
+
+=item * main (langage code)
+
+=item * country code
+
+=item * charset
+
+=item * variant
+
+=back
+
+=cut
+
+sub analyse_locale_name {
+ my ($lang) = @_;
+ $lang =~ /^(.*?) (?:_(.*?))? (?:\.(.*?))? (?:\@(.*?))? $/x &&
+ { main => $1, country => $2, charset => $3, variant => $4 };
+}
+
+=item locale_to_main_locale($lang)
+
+=cut
+
+=item locale_to_main_locale($lang)
+
+Returns the locale code from a ll_LL representation.
+
+=cut
+
+sub locale_to_main_locale {
+ my ($lang) = @_;
+ lc(analyse_locale_name($lang)->{main});
}
sub getlocale_for_lang {
my ($lang, $country, $o_utf8) = @_;
- fix_variant((standard_locale($lang, $country, 'prefer_lang') || l2locale($lang)) . ($o_utf8 ? '.UTF-8' : ''));
+ force_lang_charset(standard_locale($lang, $country, 'prefer_lang') || l2locale($lang), $o_utf8 && 'UTF-8');
}
sub getlocale_for_country {
my ($lang, $country, $o_utf8) = @_;
- fix_variant((standard_locale($lang, $country, '') || c2locale($country)) . ($o_utf8 ? '.UTF-8' : ''));
+ force_lang_charset(standard_locale($lang, $country, '') || c2locale($country), $o_utf8 && 'UTF-8');
}
sub getLANGUAGE {
my ($lang, $o_country, $o_utf8) = @_;
- l2language($lang) || join(':', uniq(getlocale_for_lang($lang, $o_country, $o_utf8), $lang, if_($lang =~ /^(..)_/, $1)));
+ l2language($lang) || join(':', uniq(getlocale_for_lang($lang, $o_country, $o_utf8),
+ $lang,
+ locale_to_main_locale($lang)));
+}
+
+sub countries_to_locales {
+ my (%options) = @_;
+
+ my %country2locales;
+ my $may_add = sub {
+ my ($locale, $country) = @_;
+ if ($options{exclude_non_installed}) {
+ is_locale_installed($locale) or return;
+ }
+ my $h = analyse_locale_name($locale) or internal_error();
+ push @{$country2locales{$country || $h->{country}}}, $h;
+ };
+
+ # first add all real locales
+ foreach (@locales) {
+ $may_add->($_, undef);
+ }
+ # then add countries XX for which we use locale yy_ZZ and not yy_XX
+ foreach my $country (list_countries()) {
+ $may_add->(c2locale($country), $country);
+ }
+ \%country2locales;
}
-my %xim = (
-#- xcin only works with 'zh_TW', 'zh_TW.Big5', 'zh_CN', 'zh_CN.GB2312'
-#- all other locale names, in particular 'zh_HK' or 'zh_TW.UTF-8'
-#- are unknown to it. So chinput is used for all but 'zh_TW'
- 'zh_TW' => {
- ENC => 'big5',
- XIM => 'xcin',
- XIM_PROGRAM => 'xcin',
- XMODIFIERS => '"@im=xcin-zh_TW"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_TW.UTF-8' => {
- ENC => 'utf8',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -big5"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_CN' => {
- ENC => 'gb',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -gb"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_CN.UTF-8' => {
- ENC => 'utf8',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -gb"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_SG' => {
- ENC => 'gb',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -gb"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_SG.UTF-8' => {
- ENC => 'utf8',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -gb"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_HK' => {
- ENC => 'big5',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -big5"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'zh_HK.UTF-8' => {
- ENC => 'utf8',
- XIM => 'Chinput',
- XIM_PROGRAM => '"chinput -big5"',
- XMODIFIERS => '"@im=Chinput"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'ko_KR' => {
- ENC => 'kr',
- XIM => 'Ami',
- #- NOTE: there are several possible versions of ami, for the different
- #- desktops (kde, gnome, etc). So XIM_PROGRAM isn't defined; it will
- #- be the xinitrc script, XIM section, that will choose the right one
- #- XIM_PROGRAM => 'ami',
- XMODIFIERS => '"@im=Ami"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'ko_KR.UTF-8' => {
- ENC => 'utf8',
- XIM => 'Ami',
- #- NOTE: there are several possible versions of ami, for the different
- #- desktops (kde, gnome, etc). So XIM_PROGRAM isn't defined; it will
- #- be the xinitrc script, XIM section, that will choose the right one
- #- XIM_PROGRAM => 'ami',
- XMODIFIERS => '"@im=Ami"',
- CONSOLE_NOT_LOCALIZED => 'yes',
- },
- 'ja_JP' => {
- ENC => 'eucj',
- XIM => 'kinput2',
- XIM_PROGRAM => 'kinput2',
- XMODIFIERS => '"@im=kinput2"',
- },
- 'ja_JP.UTF-8' => {
- ENC => 'utf8',
- XIM => 'kinput2',
- XIM_PROGRAM => 'kinput2',
- XMODIFIERS => '"@im=kinput2"',
- },
- #- XFree86 has an internal XIM for Thai that enables syntax checking etc.
- #- 'Passthroug' is no check at all, 'BasicCheck' accepts bad sequences
- #- and convert them to right ones, 'Strict' refuses bad sequences
- 'th_TH' => {
- XIM_PROGRAM => '/bin/true', #- it's an internal module
- XMODIFIERS => '"@im=BasicCheck"',
- },
- #- xvnkb is not an XIM input method; but an input method of another
- #- kind, only XIM_PROGRAM needs to be defined
- #- ! xvnkb doesn't work in UTF-8 !
-#- 'vi_VN.VISCII' => {
-#- XIM_PROGRAM => 'xvnkb',
-#- },
+#-------------------------------------------------------------
+=back
+
+=head2 Input Methods (IM)
+
+Various hash tables enables to configure IMs.
+
+=over
+
+=item my @IM_i18n_fields;
+
+This set generic IM fields:
+
+=over 4
+
+=item * B<XMODIFIERS>: is the environnement variable used by the X11 XIM protocol
+it is of the form XIMODIFIERS="@im=foo"
+
+=item * B<XIM>: is used by some programs, it usually is the like XIMODIFIERS
+with the "@im=" part stripped
+
+=item * B<GTK_IM_MODULE>: the module to use for Gtk programs ("xim" to use an X11
+XIM server; or a a native gtk module if exists)
+
+=item * B<XIM_PROGRAM>: the XIM program to run (usually the same as XIM value, but
+in some cases different, particularly if parameters are needed;
+
+=item * B<QT_IM_MODULE>: the module to use for Qt programs ("xim" to use an X11
+XIM server; or a Qt plugin if exists)
+
+=back
+
+=cut
+
+my @IM_i18n_fields = qw(XMODIFIERS XIM GTK_IM_MODULE XIM_PROGRAM QT_IM_MODULE);
+
+my $is_plasma;
+
+=item my %IM_config;
+
+In order to configure an IM, one has to put generic configuration here.
+Fields are :
+
+=over 4
+
+=item * B<GTK_IM_MODULE>: the Gtk+ IM module to use
+
+=item * B<QT_IM_MODULE>: the Qt IM module to use
+
+=item * B<XIM>:
+
+=item * B<XIM_PROGRAM>: the XIM program to use
+
+=item * B<XMODIFIERS>: the X Modifiers (see X11 config), eg: C<'@im=gcin'>,
+
+See above for those 5 parameters.
+
+=item * B<default_for_lang>: the language codes for which it's the default IM
+=item * B<langs>: 'zh',
+
+=item * B<packages:> a hash ref that contains subroutine references:
+
+=over 4
+
+=item * B<generic>: packages that must be installed for all languages
+
+=item * B<common>: packages that are shared between per language & generic packages
+
+=item * eventually several B<code_lang> returning per language packages
+
+=back
+
+The I<packages> field must be kept in sync with meta-task's C<rpmsrate-raw>, especially for the per language package selection!
+
+The actual packages list will consist of:
+
+=over 4
+
+=item * either per language package list or I<generic> list
+
+=item * plus the packages returned by I<common>
+
+=back
+
+=back
+
+=cut
+
+my %IM_config =
+ (
+ fcitx => {
+ GTK_IM_MODULE => 'fcitx',
+ XIM => 'fcitx',
+ XIM_PROGRAM => 'fcitx',
+ XMODIFIERS => '@im=fcitx',
+ langs => 'zh',
+ packages => {
+ common => sub { if_($is_plasma, 'fcitx-qt5') },
+ generic => sub { qw(fcitx) },
+ },
+ },
+ gcin => {
+ GTK_IM_MODULE => 'gcin',
+ XIM => 'gcin',
+ XIM_PROGRAM => 'gcin',
+ XMODIFIERS => '@im=gcin',
+ langs => 'zh',
+ packages => {
+ common => sub { if_($is_plasma, 'gcin-qt5') },
+ generic => sub { qw(gcin) },
+ },
+ },
+ hime => {
+ GTK_IM_MODULE => 'hime',
+ XIM => 'hime',
+ XIM_PROGRAM => 'hime',
+ XMODIFIERS => '@im=hime',
+ langs => 'zh',
+ packages => {
+ common => sub { if_($is_plasma, 'hime-qt5') },
+ generic => sub { qw(hime) },
+ },
+ },
+ 'im-ja' => {
+ GTK_IM_MODULE => 'im-ja',
+ QT_IM_MODULE => 'xim',
+ XIM => 'im-ja-xim-server',
+ XIM_PROGRAM => 'im-ja-xim-server',
+ XMODIFIERS => '@im=im-ja-xim-server',
+ langs => 'ja',
+ },
+
+ nabi => {
+ GTK_IM_MODULE => 'xim',
+ XIM => 'nabi',
+ XIM_PROGRAM => 'nabi',
+ XMODIFIERS => '@im=nabi',
+ langs => 'ko',
+ },
+
+ 'scim' => {
+ GTK_IM_MODULE => 'scim',
+ QT_IM_MODULE => 'xim',
+ XIM_PROGRAM => 'scim -d',
+ XMODIFIERS => '@im=SCIM',
+ packages => {
+ generic => sub { qw(scim-m17n scim-tables) },
+ am => sub { qw(scim-tables) },
+ ja => sub { qw(scim-anthy) },
+ ko => sub { qw(scim-hangul) },
+ th => sub { qw(scim-thai) },
+ vi => sub { qw(scim-m17n) },
+ zh => sub { qw(scim-tables-zh scim-chewing) },
+ },
+ },
+
+ 'scim-bridge' => {
+ GTK_IM_MODULE => 'scim-bridge',
+ XIM_PROGRAM => 'scim-bridge',
+ XMODIFIERS => '@im=SCIM',
+ packages => {
+ generic => sub { qw(scim-m17n scim-tables) },
+ am => sub { qw(scim-tables) },
+ ja => sub { qw(scim-anthy) },
+ ko => sub { qw(scim-hangul) },
+ th => sub { qw(scim-thai) },
+ vi => sub { qw(scim-m17n) },
+ zh => sub { qw(scim-tables-zh scim-chewing) },
+ },
+ },
+ 'ibus' => {
+ GTK_IM_MODULE => 'ibus',
+ QT_IM_MODULE => 'ibus',
+ XIM_PROGRAM => 'ibus-daemon -d -x',
+ XMODIFIERS => '@im=ibus',
+ default_for_lang => 'am ja ko th vi zh_CN zh_TW',
+ packages => {
+ generic => sub { qw(ibus-table ibus-m17n) },
+ ja => sub { qw(ibus-mozc) },
+ zh => sub { qw(ibus-libpinyin ibus-chewing) },
+ ko => sub { qw(ibus-hangul) },
+ },
+ },
+ uim => {
+ GTK_IM_MODULE => 'uim',
+ XIM => 'uim',
+ XIM_PROGRAM => 'uim-xim',
+ XMODIFIERS => '@im=uim',
+ langs => 'ja',
+ packages => {
+ generic => sub { qw(uim-gtk uim) },
+ },
+ },
+ 'x-unikey' => {
+ GTK_IM_MODULE => 'xim',
+ XMODIFIERS => '@im=unikey',
+ langs => 'vi',
+ },
);
-#- [0]: console font name
-#- [1]: sfm map for console font (if needed)
-#- [2]: acm file for console font (none if utf8)
-#- [3]: iocharset param for mount (utf8 if utf8)
-#- [4]: codepage parameter for mount (none if utf8)
+#-------------------------------------------------------------
+#
+# Locale configuration regarding encoding/IM
+
+#- ENC is used by some versions or rxvt
+my %locale2ENC = (
+ 'ja' => 'eucj',
+ 'ko' => 'kr',
+ 'zh_CN' => 'gb',
+ # zh_SG zh_HK were reported as missing by make check:
+ 'zh_HK' => 'big5',
+ 'zh_SG' => 'gb',
+ 'zh_TW' => 'big5',
+ );
+
+my %IM_locale_specific_config = (
+ #-XFree86 has an internal XIM for Thai that enables syntax checking etc.
+ #-'Passthroug' is no check at all, 'BasicCheck' accepts bad sequences
+ #-and convert them to right ones, 'Strict' refuses bad sequences
+ 'th' => {
+ XIM_PROGRAM => '/bin/true', #- it's an internal module
+ XMODIFIERS => '"@im=BasicCheck"',
+ },
+ );
+
+
+=item get_ims ($lang)
+
+Returns the IMs that are usable for $lang.
+
+=cut
+
+sub get_ims {
+ my ($lang) = @_;
+ my $main_lang = analyse_locale_name($lang)->{main};
+
+ sort grep {
+ my $langs = $IM_config{$_}{langs};
+ !$langs || intersection([ $lang, $main_lang ],
+ [ split(' ', $langs) ]);
+ } keys %IM_config;
+}
+
+=item get_default_im ($lang)
+
+Returns the default IM to use for $lang.
+
+=cut
+
+sub get_default_im {
+ my ($lang) = @_;
+ find {
+ member($lang, split(' ', $IM_config{$_}{default_for_lang}));
+ } keys %IM_config;
+}
+
+=item IM2packages ($locale)
+
+Returns the packages to use for $locale if it's set to use an IM
+
+=cut
+
+sub IM2packages {
+ my ($locale) = @_;
+ if ($locale->{IM}) {
+ require any;
+ my @sessions = any::sessions();
+ $is_plasma = any { /plasma/ } @sessions;
+ my $per_lang = $IM_config{$locale->{IM}}{packages} || {};
+ my $main_lang = analyse_locale_name($locale->{lang})->{main};
+ my $packages = $per_lang->{$main_lang} || $per_lang->{generic};
+ my @pkgs = ($packages ? $packages->() : $locale->{IM},
+ $per_lang->{common} ? $per_lang->{common}->() : ());
+ @pkgs;
+ } else { () }
+}
+
+=back
+
+=head2 Charsets
+
+=over
+
+=item my %charsets;
+
+Key is encoding. Fields are:
+
+=over 4
+
+=item 0: console font name
+
+=item 1: unused
+
+=item 2: console map (none if utf8)
+
+=item 3: iocharset param for mount (utf8 if utf8)
+
+=item 4: codepage parameter for mount (none if utf8)
+
+=back
+
+=cut
+
my %charsets = (
#- chinese needs special console driver for text mode
"Big5" => [ undef, undef, undef, "big5", "950" ],
"gb2312" => [ undef, undef, undef, "gb2312", "936" ],
-"C" => [ "lat0-16", undef, "iso15", "iso8859-1", "850" ],
-"iso-8859-1" => [ "lat1-16", undef, "iso01", "iso8859-1", "850" ],
-"iso-8859-2" => [ "lat2-sun16", undef, "iso02", "iso8859-2", "852" ],
-"iso-8859-5" => [ "UniCyr_8x16", undef, "iso05", "iso8859-5", "866" ],
-"iso-8859-7" => [ "iso07.f16", undef, "iso07", "iso8859-7", "869" ],
-"iso-8859-9" => [ "lat5u-16", undef, "iso09", "iso8859-9", "857" ],
-"iso-8859-13" => [ "tlat7", undef, "iso13", "iso8859-13", "775" ],
-"iso-8859-15" => [ "lat0-16", undef, "iso15", "iso8859-15", "850" ],
+"gbk" => [ undef, undef, undef, "gb2312", "936" ],
+"C" => [ "lat0-16", undef, "8859-15", "iso8859-1", "850" ],
+"iso-8859-1" => [ "lat1-16", undef, "8859-1", "iso8859-1", "850" ],
+"iso-8859-2" => [ "lat2-16", undef, "8859-2", "iso8859-2", "852" ],
+"iso-8859-5" => [ "UniCyr_8x16", undef, "8859-5", "iso8859-5", "866" ],
+"iso-8859-7" => [ "iso07u-16", undef, "8859-7", "iso8859-7", "869" ],
+"iso-8859-9" => [ "lat5-16", undef, "8859-9", "iso8859-9", "857" ],
+"iso-8859-13" => [ "tlat7", undef, "8859-13", "iso8859-13", "775" ],
+"iso-8859-15" => [ "lat0-16", undef, "8859-15", "iso8859-15", "850" ],
#- japanese needs special console driver for text mode [kon2]
-"jisx0208" => [ undef, undef, "trivial.trans", "euc-jp", "932" ],
+"jisx0208" => [ undef, undef, undef, "euc-jp", "932" ],
"koi8-r" => [ "UniCyr_8x16", undef, "koi8-r", "koi8-r", "866" ],
"koi8-u" => [ "UniCyr_8x16", undef, "koi8-u", "koi8-u", "866" ],
"cp1251" => [ "UniCyr_8x16", undef, "cp1251", "cp1251", "866" ],
#- korean needs special console driver for text mode
"ksc5601" => [ undef, undef, undef, "euc-kr", "949" ],
#- I have no console font for Thai...
-"tis620" => [ undef, undef, "trivial.trans", "tis-620", "874" ],
+"tis620" => [ undef, undef, undef, "tis-620", "874" ],
# UTF-8 encodings here; they differ in the console font mainly.
-"utf_am" => [ "Agafari-16", undef, undef, "utf8", undef ],
-"utf_ar" => [ "iso06.f16", undef, undef, "utf8", undef ],
+"utf_ar" => [ undef, undef, undef, "utf8", undef ],
+"utf_armn" => [ undef, undef, undef, "utf8", undef ],
"utf_az" => [ "tiso09e", undef, undef, "utf8", undef ],
-"utf_bn" => [ undef, undef, undef, "utf8", undef ],
+"utf_beng" => [ undef, undef, undef, "utf8", undef ],
"utf_cyr1" => [ "UniCyr_8x16", undef, undef, "utf8", undef ],
"utf_cyr2" => [ "koi8-k", undef, undef, "utf8", undef ],
-"utf_he" => [ "iso08.f16", undef, undef, "utf8", undef ],
-"utf_hy" => [ "arm8", undef, undef, "utf8", undef ],
-"utf_ka" => [ "t_geors", undef, undef, "utf8", undef ],
-"utf_kn" => [ undef, undef, undef, "utf8", undef ],
-"utf_lo" => [ undef, undef, undef, "utf8", undef ],
-"utf_ta" => [ "tamil", undef, undef, "utf8", undef ],
+"utf_deva" => [ undef, undef, undef, "utf8", undef ],
+"utf_ethi" => [ undef, undef, undef, "utf8", undef ],
+"utf_geor" => [ "t_geors", undef, undef, "utf8", undef ],
+"utf_guru" => [ undef, undef, undef, "utf8", undef ],
+"utf_he" => [ undef, undef, undef, "utf8", undef ],
+"utf_iu" => [ undef, undef, undef, "utf8", undef ],
+"utf_khmr" => [ undef, undef, undef, "utf8", undef ],
+"utf_knda" => [ undef, undef, undef, "utf8", undef ],
+"utf_laoo" => [ undef, undef, undef, "utf8", undef ],
+"utf_lat1" => [ "lat0-16", undef, undef, "utf8", undef ],
+"utf_lat5" => [ undef, undef, undef, "utf8", undef ],
+"utf_lat7" => [ "tlat7", undef, undef, "utf8", undef ],
+"utf_lat8" => [ undef, undef, undef, "utf8", undef ],
+"utf_mlym" => [ undef, undef, undef, "utf8", undef ],
+"utf_mymr" => [ undef, undef, undef, "utf8", undef ],
+"utf_taml" => [ "tamil", undef, undef, "utf8", undef ],
+# console font still to do
+"utf_tfng" => [ undef, undef, undef, "utf8", undef ],
+"utf_tibt" => [ undef, undef, undef, "utf8", undef ],
"utf_vi" => [ "tcvn8x16", undef, undef, "utf8", undef ],
-"utf_lat8" => [ "iso14.f16", undef, undef, "utf8", undef ],
+"utf_yo" => [ undef, undef, undef, "utf8", undef ],
# default for utf-8 encodings
"unicode" => [ "LatArCyrHeb-16", undef, undef, "utf8", undef ],
);
-#- for special cases not handled magically
+=item my %charset2kde_charset;
+
+For special cases not handled magically
+
+=cut
+
my %charset2kde_charset = (
gb2312 => 'gb2312.1980-0',
+ gbk => 'gb2312.1980-0',
jisx0208 => 'jisx0208.1983-0',
ksc5601 => 'ksc5601.1987-0',
Big5 => 'big5-0',
cp1251 => 'microsoft-cp1251',
utf8 => 'iso10646-1',
tis620 => 'tis620-0',
- #- Tamil KDE translations still use TSCII, and KDE know it as iso-8859-1
- utf_ta => 'iso8859-1',
);
-my @during_install__lang_having_their_LC_CTYPE = qw(ja ko ta);
+#- -------------------
+=item l2console_font ($locale, $during_install)
-#- -------------------
+Returns console font name & console map (none if utf8 and if not during install);
-sub list {
- my (%options) = @_;
- my @l = list_langs();
- if ($options{exclude_non_installed_langs}) {
- @l = grep { -e "/usr/share/locale/$_/LC_CTYPE" } @l;
- }
- @l;
-}
+=cut
sub l2console_font {
my ($locale, $during_install) = @_;
my $c = $charsets{l2charset($locale->{lang}) || return} or return;
- my ($name, $sfm, $acm) = @$c;
+ my ($name, $_sfm, $acm) = @$c;
undef $acm if $locale->{utf8} && !$during_install;
- ($name, $sfm, $acm);
+ ($name, $acm);
}
sub get_kde_lang {
my ($locale, $o_default) = @_;
#- get it using
- #- echo C $(rpm -qp --qf "%{name}\n" /RPMS/kde-i18n-* | sed 's/kde-i18n-//')
- my @valid_kde_langs = qw(C af ar az bg bs ca cs da de el en_GB eo es et eu fa fi fr he hr hu is it ja ko lt lv mk mt nb nl nn pl pt pt_BR ro ru se sk sl sr sv ta th tr uk vi xh zh_CN.GB2312 zh_TW.Big5 zu);
+ #- echo C $(rpm -qp --qf "%{name}\n" /RPMS/kde4-l10n-* | sed 's/kde4-l10n-//')
+ my @valid_kde_langs = qw(C
+ar be bg ca cs csb da de el en_GB eo es et eu fa fi fr fy ga gl hi hu is it ja kk km ko ku lt lv mk ml nb nds ne nl nn pa pl pt pt_BR ro ru se sl sr sv ta th tr uk wa zh_CN zh_TW);
my %valid_kde_langs; @valid_kde_langs{@valid_kde_langs} = ();
my $valid_lang = sub {
my ($lang) = @_;
#- fast & dirty solution to ensure bad entries do not happen
my %fixlangs = (en => 'C', en_US => 'C',
+ en_AU => 'en_GB', en_CA => 'en_GB',
+ en_IE => 'en_GB', en_NZ => 'en_GB',
+ pa_IN => 'pa',
'sr@Latn' => 'sr',
- st => 'nso', ve => 'ven',
- zh_CN => 'zh_CN.GB2312', zh_SG => 'zh_CN.GB2312', zh_TW => 'zh_TW.Big5', zh_HK => 'zh_TW.Big5');
+ ve => 'ven',
+ zh_CN => 'zh_CN', zh_SG => 'zh_CN',
+ zh_TW => 'zh_TW', zh_HK => 'zh_TW');
exists $fixlangs{$lang} ? $fixlangs{$lang} :
exists $valid_kde_langs{$lang} ? $lang :
- exists $valid_kde_langs{substr($lang, 0, 2)} ? substr($lang, 0, 2) : '';
+ exists $valid_kde_langs{locale_to_main_locale($lang)} ? locale_to_main_locale($lang) : '';
};
my $r;
@@ -669,35 +1145,58 @@ sub charset2kde_charset {
$r || $o_default || 'iso10646-1';
}
-#- font+size for different charsets; the field [0] is the default,
-#- others are overrridens for fixed(1), toolbar(2), menu(3) and taskbar(4)
+=item my %charset2kde_font;
+
+Font+size for different charsets; the field [0] is the default,
+others are overrridens for fixed(1), toolbar(2), menu(3) and taskbar(4)
+
+This is needed because KDE historically doesn't use fontconfig...
+
+=cut
+
my %charset2kde_font = (
'C' => [ "Sans,10", "Monospace,10" ],
'iso-8859-1' => [ "Sans,10", "Monospace,10" ],
'iso-8859-2' => [ "Sans,10", "Monospace,10" ],
- 'iso-8859-7' => [ "Helvetica,12", "courier,10", "Helvetica,11" ],
+ 'iso-8859-7' => [ "DejaVu Sans,10", "FreeMono,10" ],
'iso-8859-9' => [ "Sans,10", "Monospace,10" ],
- 'iso-8859-15' => [ "Sans,10", "Monospace,10" ],
'iso-8859-13' => [ "Sans,10", "Monospace,10" ],
- 'jisx0208' => [ "Kochi Mincho,13", "Kochi Gothic,13" ],
- 'ksc5601' => [ "Baekmuk Gulim,16" ],
- 'gb2312' => [ "Ar Pl Sungtil Gb,13" ],
- 'Big5' => [ "Ar Pl Mingti2l Big5,13" ],
+ 'iso-8859-15' => [ "Sans,10", "Monospace,10" ],
+ 'jisx0208' => [ "UmePlus P Gothic,12", "UmePlus Gothic,12" ],
+ 'ksc5601' => [ "Baekmuk Gulim,12" ],
+ 'gb2312' => [ "Sans,10", "Monospace,10" ],
+ 'Big5' => [ "Sans,10", "Monospace,10" ],
'tis620' => [ "Norasi,16", "Norasi,15" ],
- 'utf_ar' => [ "Kacs_qr,14", "Courier New,13", "Kacs_qr,13" ],
- 'utf_am' => [ "GF Zemen Unicode,15" ],
- 'utf_az' => [ "Nimbus Sans,12", "Nimbus Mono,10", "Nimbus Sans,11" ],
- 'utf_bn' => [ "Mukti,14", ],
- 'utf_he' => [ "Nachlieli,13", , "Miriam Mono,10", "Nachlieli,11" ],
- 'utf_hy' => [ "Artsounk,12", "Monospace,10", "Artsounk,11" ],
- 'utf_kn' => [ "Sampige,14", ],
- 'utf_ta' => [ "Tscu_paranar,14", "Tsc_avarangalfxd,10", "Tscu_paranar,12", ],
+ 'koi8-u' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_ar' => [ "DejaVu Sans,11", "Courier New,13" ],
+ 'utf_az' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_he' => [ "DejaVu Sans,10", "FreeMono,10" ],
+#-'utf_iu' => [ "????,14", ],
+ 'utf_vi' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
+ 'utf_yo' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
+ #- script based
+ 'utf_armn' => [ "DejaVu Sans,11", "FreeMono,11" ],
+ 'utf_cyr2' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_beng' => [ "Mukti Narrow,13", "Mitra Mono,13", "Mukti Narrow,12" ],
+ 'utf_deva' => [ "Raghindi,12", ],
+ 'utf_ethi' => [ "GF Zemen Unicode,13" ],
+ 'utf_guru' => [ "Lohit Punjab,14", ],
+#-'utf_khmr' => [ "????,14", ],
+ 'utf_knda' => [ "Sampige,14", ],
+ 'utf_lat1' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat5' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat7' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat8' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_mlym' => [ "malayalam,12", ],
+#-'utf_mymr' => [ "????,14", ],
+ 'utf_taml' => [ "TSCu_Paranar,14", "Tsc_avarangalfxd,14", "TSCu_Paranar,13", ],
+ 'utf_tfng' => [ "Hapax Berbère,12", ],
+ 'utf_tibt' => [ "Tibetan Machine Uni,14", ],
#- the following should be changed to better defaults when better fonts
#- get available
- 'utf_vi' => [ "misc-fixed,13", "misc-fixed,13", "misc-fixed,10", ],
- 'utf_ka' => [ "clearlyu,15" ],
- 'utf_lo' => [ "clearlyu,15" ],
- 'default' => [ "Nimbus Sans,12", "Nimbus Mono,10", "Nimbus Sans,11" ],
+ 'utf_geor' => [ "ClearlyU,13" ],
+ 'utf_laoo' => [ "DejaVu Sans,11", "ClearlyU,13" ],
+ 'default' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
);
sub charset2kde_font {
@@ -711,31 +1210,47 @@ sub charset2kde_font {
"$r,-1,5,0,0,0,0,0,0";
}
-# this define pango name fonts (like "NimbusSans L") depending
-# on the "charset" defined by language array. This allows to selecting
-# an appropriate font for each language.
+=item my %charset2pango_font;
+
+This define pango name fonts (like "NimbusSans L") depending
+on the "charset" defined by language array. This allows to selecting
+an appropriate font for each language for the installer only.
+
+=cut
+
my %charset2pango_font = (
- 'tis620' => "Norasi 17",
- 'utf_ar' => "Kacst-Qr 14",
- 'utf_cyr2' => "Nimbus Sans L 12",
- 'utf_he' => "Sans 12",
- 'utf_hy' => "Artsounk 14",
- 'utf_ka' => "Sans 14",
- 'utf_lo' => "Sans 14",
- 'utf_ta' => "TSCu_Paranar 14",
- 'utf_vi' => "Sans 14",
- 'iso-8859-7' => "Kerkis 14",
- 'jisx0208' => "Sans 18",
- #- Nimbus Sans L is missing some chars used by some cyrillic languages,
- #- but tose haven't yet DrakX translations; it also misses vietnamese
- #- latin chars; all other latin and cyrillic are covered.
- 'default' => "Nimbus Sans L 12"
+ 'utf_geor' => "Sans 14",
+ 'utf_taml' => "TSCu_Paranar 14",
+ 'jisx0208' => "Sans 14",
+ 'utf_ar' => "Sans 15",
+ 'tis620' => "Norasi 20",
+ 'default' => "DejaVu Sans 12"
);
+=item charset2pango_font ($charset)
+
+Returns the font to use with $charset or the default one if non is set
+
+=cut
+
sub charset2pango_font {
my ($charset) = @_;
- $charset2pango_font{exists $charset2pango_font{$charset} ? $charset : 'default'};
+ $charset2pango_font{$charset} || $charset2pango_font{default};
+}
+
+=item charset2css_font ($charset)
+
+Returns the font to use with $charset or the default one if non is set
+
+=cut
+
+sub charset2css_font {
+ my ($charset) = @_;
+
+ my $font = $charset2pango_font{$charset} || $charset2pango_font{default};
+ my ($familly, $size) = $font =~ /(.*) (\d+)$/;
+ return "font-family: $familly; font-size: ${size}pt;";
}
sub l2pango_font {
@@ -743,83 +1258,45 @@ sub l2pango_font {
my $charset = l2charset($lang) or log::l("no charset found for lang $lang!"), return;
my $font = charset2pango_font($charset);
- log::l("lang:$lang charset:$charset font:$font sfm:$charsets{$charset}[0]");
-
- if (common::usingRamdisk()) {
- if ($charsets{$charset}[0] !~ /lat|koi|UniCyr/) {
- install_any::remove_bigseldom_used();
- unlink glob_('/usr/share/langs/*'); #- remove langs images
- my @generic_fontfiles = qw(/usr/X11R6/lib/X11/fonts/12x13mdk.pcf.gz /usr/X11R6/lib/X11/fonts/18x18mdk.pcf.gz);
- #- need to unlink first because the files actually exist (and are void); they must exist
- #- because if not, when gtk starts, pango will recompute its cache file and exclude them
- unlink($_), install_any::getAndSaveFile($_) foreach @generic_fontfiles;
- }
-
- my %pango_modules = (arabic => 'ar|fa|ur', hangul => 'ko', hebrew => 'he|yi', indic => 'hi|bn|ta|te|mr', thai => 'th');
- foreach my $module (keys %pango_modules) {
- next if $lang !~ /$pango_modules{$module}/;
- install_any::remove_bigseldom_used();
- my ($pango_modules_dir) = glob('/usr/lib/pango/*/modules');
- install_any::getAndSaveFile("$pango_modules_dir/pango-$module-xft.so");
- }
- }
+ log::l("lang:$lang charset:$charset font:$font consolefont:$charsets{$charset}[0]");
return $font;
}
-sub set {
- my ($lang, $b_translate_for_console) = @_;
+sub l2css_font {
+ my ($lang) = @_;
- exists $langs{$lang} or log::l("lang::set: trying to set to $lang but I don't know it!"), return;
+ my $charset = l2charset($lang) or log::l("no charset found for lang $lang!"), return;
+ my $font = charset2css_font($charset);
+ log::l("lang:$lang charset:$charset font:$font consolefont:$charsets{$charset}[0]");
- my $dir = "$ENV{SHARE_PATH}/locale";
- if (!-e "$dir/$lang" && common::usingRamdisk()) {
- @ENV{qw(LANG LC_ALL LANGUAGE LINGUAS)} = ();
+ return $font;
+}
- my @LCs = qw(LC_ADDRESS LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME);
-
- my $charset = during_install__l2charset($lang) || $lang;
-
- #- there are 3 main charsets containing everything for all locales, except LC_CTYPE
- #- by default, there is UTF-8.
- #- when asked for GB2312 or BIG5, removing the other main charsets
- my $main_charset = member($charset, 'GB2312', 'BIG5') ? $charset : 'UTF-8';
-
- #- removing everything
- #- except in main charset: only removing LC_CTYPE if it is there
- eval { rm_rf($_ eq $main_charset ? "$dir/$_/LC_CTYPE" : "$dir/$_") } foreach all($dir);
-
- if (!-e "$dir/$main_charset") {
- #- getting the main charset
- mkdir "$dir/$main_charset";
- mkdir "$dir/$main_charset/LC_MESSAGES";
- install_any::getAndSaveFile("$dir/$main_charset/$_") foreach @LCs, 'LC_MESSAGES/SYS_LC_MESSAGES';
- }
- mkdir "$dir/$lang";
-
- #- linking to the main charset
- symlink "../$main_charset/$_", "$dir/$lang/$_" foreach @LCs, 'LC_MESSAGES';
-
- #- getting LC_CTYPE (putting it directly in $lang)
- install_any::getAndSaveFile("Mandrake/mdkinst$dir/$charset/LC_CTYPE", "$dir/$lang/LC_CTYPE");
- }
-
- #- set all LC_* variables to a unique locale ("C"), and only redefine
- #- LC_CTYPE (for X11 choosing the fontset) and LANGUAGE (for the po files)
- $ENV{$_} = 'C' foreach qw(LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION);
-
- $ENV{LC_CTYPE} = $lang;
- $ENV{LC_MESSAGES} = $lang;
- $ENV{LANG} = $lang;
+=back
+
+=head1 Other functions
+
+=over
+
+=cut
+
+sub set {
+ my ($locale, $b_translate_for_console) = @_;
- if ($b_translate_for_console && $lang =~ /^(ko|ja|zh|th)/) {
- log::l("not translating in console");
- $ENV{LANGUAGE} = 'C';
+ put_in_hash(\%ENV, i18n_env($locale));
+
+ if (!$::isInstall) {
+ bindtextdomain();
} else {
- $ENV{LANGUAGE} = getLANGUAGE($lang);
+ $ENV{LC_NUMERIC} = 'C'; #- otherwise eval "1.5" returns 1 in fr_FR
+
+ if ($b_translate_for_console && $locale->{lang} =~ /^(ko|ja|zh|th)/) {
+ log::l("not translating in console");
+ $ENV{LANGUAGE} = 'C';
+ }
+ load_mo();
}
- load_mo();
- $lang;
}
sub langs {
@@ -832,225 +1309,375 @@ sub langsLANGUAGE {
uniq(map { split ':', getLANGUAGE($_, $o_c) } langs($l));
}
-sub langs_selected {
- my ($locale) = @_;
- #- adding the UTF-8 flag (if not forced) depends on the selected languages
- $locale->{utf8} ||= l2charset($locale->{lang}) =~ /utf|unicode/
- || (uniq(grep { $_ ne 'C' } map { l2charset($_) } langs($locale->{langs}))) > 1;
+sub utf8_should_be_needed {
+ my ($_locale) = @_;
+ 1;
}
sub pack_langs {
my ($l) = @_;
my $s = $l->{all} ? 'all' : join ':', uniq(map { getLANGUAGE($_) } langs($l));
- $ENV{RPM_INSTALL_LANG} = $s;
$s;
}
sub system_locales_to_ourlocale {
- my ($locale_lang, $locale_country) = @_;
+ my ($locale_lang, $locale_country, $o_country) = @_;
my $locale = {};
- my $variant = $locale_lang =~ s/(\@\w+)// && $1;
- my $locale_lang_no_encoding = $locale_lang =~ /(.*)\./ ? $1 : $locale_lang;
- if (member($locale_lang_no_encoding, list_langs())) {
- #- special lang's such as en_US pt_BR
- $locale->{lang} = $locale_lang_no_encoding;
- } else {
- ($locale->{lang}) = $locale_lang =~ /^(..)/;
- }
- $locale->{lang} .= $variant;
- ($locale->{country}) = $locale_country =~ /^.._(..)/;
- $locale->{utf8} = $locale_lang =~ /UTF-8/;
+ my $h = analyse_locale_name($locale_lang);
+ my $locale_lang_no_encoding = join('_', $h->{main}, if_($h->{country}, $h->{country}));
+ $locale->{lang} = member($locale_lang_no_encoding, list_langs()) ?
+ $locale_lang_no_encoding : #- special lang's such as en_US pt_BR
+ $h->{main};
+ $locale->{lang} .= '@' . $h->{variant} if $h->{variant};
+ $locale->{country} = $o_country || analyse_locale_name($locale_country)->{country};
+ $locale->{utf8} = $h->{charset} && $h->{charset} eq 'UTF-8';
+
#- safe fallbacks
$locale->{lang} ||= 'en_US';
$locale->{country} ||= 'US';
+
$locale;
}
+sub lang_to_ourlocale {
+ my ($lang) = @_;
+
+ my $locale = system_locales_to_ourlocale($lang);
+ $locale->{utf8} ||= utf8_should_be_needed($locale);
+ lang_changed($locale);
+ $locale;
+}
+
+sub lang_changed {
+ my ($locale) = @_;
+ my $h = analyse_locale_name(l2locale($locale->{lang}));
+ $locale->{country} = $h->{country} if $h->{country};
+
+ $locale->{IM} = get_default_im($locale->{lang});
+}
+
+=item read($b_user_only)
+
+Read locale settings from files.
+If $b_user_only is set, reads the user config, else read the system config.
+
+=cut
+
sub read {
- my ($prefix, $user_only) = @_;
- my ($f1, $f2) = ("$prefix$ENV{HOME}/.i18n", "$prefix/etc/sysconfig/i18n");
- my %h = getVarsFromSh($user_only && -e $f1 ? $f1 : $f2);
- system_locales_to_ourlocale($h{LC_MESSAGES} || 'en_US', $h{LC_MONETARY} || 'en_US');
+ my ($b_user_only) = @_;
+ my $f1 = "$::prefix$ENV{HOME}/.i18n";
+ my $f2 = "$::prefix/etc/locale.conf";
+ # (cg) Only use the 'legacy' config name when the new one doesn't exist
+ $f2 = "$::prefix/etc/sysconfig/i18n" if ! -e $f2 && -e "$::prefix/etc/sysconfig/i18n";
+ my %h = getVarsFromSh($b_user_only && -e $f1 ? $f1 : $f2);
+ # Fill in defaults (from LANG= variable)
+ $h{$_} ||= $h{LANG} || 'en_US' foreach @locale_conf_fields;
+ my $locale = system_locales_to_ourlocale($h{LC_MESSAGES}, $h{LC_MONETARY}, $h{COUNTRY});
+
+ if (find { $h{$_} } @IM_i18n_fields) {
+ my $current_IM = find {
+ my $i = $IM_config{$_};
+ every { !defined $i->{$_} || $h{$_} eq $i->{$_} } ('GTK_IM_MODULE', 'XMODIFIERS', 'XIM_PROGRAM');
+ } keys %IM_config;
+ $locale->{IM} = $current_IM if $current_IM;
+ }
+ $locale;
}
sub write_langs {
- my ($prefix, $langs) = @_;
+ my ($langs) = @_;
my $s = pack_langs($langs);
- symlink "$prefix/etc/rpm", "/etc/rpm" if $prefix;
- substInFile { s/%_install_langs.*//; $_ .= "%_install_langs $s\n" if eof && $s } "$prefix/etc/rpm/macros";
+ symlink "$::prefix/etc/rpm/macros", "/etc/rpm/macros" if $::prefix;
+ require URPM;
+ URPM::add_macro("_install_langs $s");
+ substInFile { s/%_install_langs.*//; $_ .= "%_install_langs $s\n" if eof && $s } "$::prefix/etc/rpm/macros";
}
-sub write {
- my ($prefix, $locale, $b_user_only, $b_dont_touch_kde_files) = @_;
-
- $locale && $locale->{lang} or return;
+sub i18n_env {
+ my ($locale) = @_;
my $locale_lang = getlocale_for_lang($locale->{lang}, $locale->{country}, $locale->{utf8});
my $locale_country = getlocale_for_country($locale->{lang}, $locale->{country}, $locale->{utf8});
my $h = {
XKB_IN_USE => '',
+ COUNTRY => $locale->{country},
(map { $_ => $locale_lang } qw(LANG LC_COLLATE LC_CTYPE LC_MESSAGES LC_TIME)),
LANGUAGE => getLANGUAGE($locale->{lang}, $locale->{country}, $locale->{utf8}),
(map { $_ => $locale_country } qw(LC_NUMERIC LC_MONETARY LC_ADDRESS LC_MEASUREMENT LC_NAME LC_PAPER LC_IDENTIFICATION LC_TELEPHONE))
};
- log::l("lang::write: lang:$locale->{lang} country:$locale->{country} locale|lang:$locale_lang locale|country:$locale_country language:$h->{LANGUAGE}");
- my ($name, $sfm, $acm) = l2console_font($locale, 0);
+ log::l("i18n_env: lang:$locale->{lang} country:$locale->{country} locale|lang:$locale_lang locale|country:$locale_country LANGUAGE:$h->{LANGUAGE}");
+
+ $h;
+}
+
+sub write_and_install {
+ my ($locale, $do_pkgs, $b_user_only, $b_dont_touch_kde_files) = @_;
+
+ my @packages = IM2packages($locale);
+ if (@packages && !$b_user_only) {
+ log::explanations("Installing IM packages: ", join(', ', @packages));
+ $do_pkgs->ensure_are_installed(\@packages, 1);
+ }
+ &write($locale, $b_user_only, $b_dont_touch_kde_files);
+}
+
+=item write ($locale, $b_user_only, $b_dont_touch_kde_files)
+
+Save locale settings, either system ones or per user ones (if $b_user_only is set).
+
+=cut
+
+sub write {
+ my ($locale, $b_user_only, $b_dont_touch_kde_files) = @_;
+
+ $locale && $locale->{lang} or return;
+
+ my $h = i18n_env($locale);
+
+ my ($name, $acm) = l2console_font($locale, 0);
if ($name && !$b_user_only) {
- my $p = "$prefix/usr/lib/kbd";
+ my $p = "$::prefix/usr/lib/kbd";
if ($name) {
eval {
- my $font = "$p/consolefonts/$name.psf";
- $font .= ".gz" if ! -e $font;
- cp_af($font, "$prefix/etc/sysconfig/console/consolefonts");
+ log::explanations(qq(Set system font to "$name"));
+ cp_af(glob_("$p/consolefonts/$name.*"), "$::prefix/etc/sysconfig/console/consolefonts");
add2hash $h, { SYSFONT => $name };
};
- $@ and log::l("missing console font $name");
- }
- if ($sfm) {
- eval {
- cp_af(glob_("$p/consoletrans/$sfm*"), "$prefix/etc/sysconfig/console/consoletrans");
- add2hash $h, { UNIMAP => $sfm };
- };
- $@ and log::l("missing console unimap file $sfm");
+ $@ and log::explanations("missing console font $name");
}
if ($acm) {
eval {
- cp_af(glob_("$p/consoletrans/$acm*"), "$prefix/etc/sysconfig/console/consoletrans");
+ log::explanations(qq(Set application-charset map (Unicode mapping table) to "$name"));
+ cp_af(glob_("$p/consoletrans/$acm*"), "$::prefix/etc/sysconfig/console/consoletrans");
add2hash $h, { SYSFONTACM => $acm };
};
- $@ and log::l("missing console acm file $acm");
+ $@ and log::explanations("missing console acm file $acm");
}
}
- add2hash $h, $xim{$locale_lang};
- #- deactivate translations on console for RTL languages
- if ($locale_lang =~ /ar|fa|he|ur|yi/) {
- add2hash $h, { CONSOLE_NOT_LOCALIZED => 'yes' }
+ add2hash($h, $IM_locale_specific_config{$locale->{lang}});
+ $h->{ENC} = $locale2ENC{$locale->{lang}};
+ $h->{ENC} = 'utf8' if $h->{ENC} && $locale->{utf8};
+
+ if ($locale->{IM}) {
+ log::explanations(qq(Configuring "$locale->{IM}" IM));
+ foreach (@IM_i18n_fields) {
+ $h->{$_} = $IM_config{$locale->{IM}}{$_};
+ }
+ $h->{QT_IM_MODULE} ||= $h->{GTK_IM_MODULE};
+
+ if (ref $h->{XIM_PROGRAM}) {
+ $h->{XIM_PROGRAM} =
+ $h->{XIM_PROGRAM}{$locale->{lang}} ||
+ $h->{XIM_PROGRAM}{getlocale_for_country($locale->{lang}, $locale->{country})};
+ }
+ }
+
+ #- deactivate translations on console for most CJK, RTL and complex languages
+ if (member($locale->{lang}, qw(ar bn fa he hi ja kn ko pa_IN ug ur yi zh_TW zh_CN))) {
+ #- CONSOLE_NOT_LOCALIZED if defined to yes, disables translations on console
+ #- it is needed for languages not supported by the linux console
+ log::explanations(qq(Disabling translation on console since "$locale->{lang}" is not supported by the console));
+ add2hash($h, { CONSOLE_NOT_LOCALIZED => 'yes' });
+ }
+
+ my $file = $b_user_only ? "$ENV{HOME}/.i18n" : '/etc/sysconfig/i18n';
+ log::explanations(qq(Setting l10n configuration in "$file"));
+ setVarsInShMode($::prefix . $file, 0644, $h);
+
+ if (!$b_user_only) {
+ $file = '/etc/locale.conf';
+ log::explanations(qq(Setting locale configuration in "$file"));
+ # Only include valid fields and ommit any that are the same as LANG to make it cleaner
+ # (cleanup logic copied from systemd)
+ my @filtered_keys = grep { exists $h->{$_} && ($_ eq 'LANG' || !exists $h->{LANG} || $h->{$_} ne $h->{LANG}) } @locale_conf_fields;
+ my @filtered_input = grep { exists $h->{$_} } @IM_i18n_fields;
+ push @filtered_keys, @filtered_input;
+ push @filtered_keys, 'COUNTRY' if exists $h->{COUNTRY};
+ my $h2 = { map { $_ => $h->{$_} } @filtered_keys };
+ setVarsInShMode($::prefix . $file, 0644, $h2);
+
+ if ($h->{SYSFONT}) {
+ $file = '/etc/vconsole.conf';
+ $h2 = { 'FONT' => $h->{SYSFONT} };
+ $h2->{FONT_UNIMAP} = $h->{SYSFONTACM} if $h->{SYSFONTACM};
+ addVarsInShMode($::prefix . $file, 0644, $h2);
+ }
}
- setVarsInSh($prefix . ($b_user_only ? "$ENV{HOME}/.i18n" : '/etc/sysconfig/i18n'), $h);
+ run_program::rooted($::prefix, 'grub-gfxmenu', '--quiet', '--lang', $locale->{lang}) if !$b_user_only;
+
+ my $charset = l2charset($locale->{lang});
+ my $qtglobals = $b_user_only ? "$ENV{HOME}/.qt/qtrc" : "$::prefix/etc/qtrc";
+ update_gnomekderc($qtglobals, General => (
+ font => charset2kde_font($charset, 0),
+ ));
eval {
- my $charset = l2charset($locale->{lang});
- my $kde_charset = charset2kde_charset($charset);
- my $confdir = $prefix . ($b_user_only ? "$ENV{HOME}/.kde" : '/usr') . '/share/config';
- my ($prev_kde_charset) = cat_("$confdir/kdeglobals") =~ /^Charset=(.*)/mi;
+ my $confdir = $::prefix . ($b_user_only ? "$ENV{HOME}/.kde" : do {
+ my $kderc = $::prefix ? common::expand_symlinks_with_absolute_symlinks_in_prefix($::prefix, '/etc/kderc') : '/etc/kderc';
+ log::l("reading $kderc");
+ my %dir_defaults = read_gnomekderc($kderc, 'Directories-default');
+ first(split(',', $dir_defaults{prefixes})) || "/etc/kde";
+ }) . '/share/config';
-d $confdir or die 'not configuring kde config files since it is not installed/used';
- update_gnomekderc("$confdir/kdeglobals", Locale => (
- Charset => $kde_charset,
- Country => lc($locale->{country}),
- Language => get_kde_lang($locale),
- ));
+ configure_kdeglobals($locale, $confdir);
- my %qt_xim = (zh => 'Over The Spot', ko => 'On The Spot', ja => 'Over The Spot');
- if ($b_user_only && (my $qt_xim = $qt_xim{substr($locale->{lang}, 0, 2)})) {
+ my %qt_xim = (zh => 'Over The Spot', ko => 'On The Spot', ja => 'On The Spot');
+ if ($b_user_only && (my $qt_xim = $qt_xim{locale_to_main_locale($locale->{lang})})) {
+ log::explanations(qq(Setting XIM input style to "$qt_xim"));
update_gnomekderc("$ENV{HOME}/.qt/qtrc", General => (XIMInputStyle => $qt_xim));
}
- if ($prev_kde_charset ne $kde_charset) {
- update_gnomekderc("$confdir/kdeglobals", WM => (
- activeFont => charset2kde_font($charset,0),
- ));
- update_gnomekderc("$confdir/kdeglobals", General => (
- fixed => charset2kde_font($charset, 1),
- font => charset2kde_font($charset, 0),
- menuFont => charset2kde_font($charset, 3),
- taskbarFont => charset2kde_font($charset, 4),
- toolBarFont => charset2kde_font($charset, 2),
- ));
- update_gnomekderc("$confdir/konquerorrc", FMSettings => (
- StandardFont => charset2kde_font($charset, 0),
- ));
- update_gnomekderc("$confdir/kdesktoprc", FMSettings => (
- StandardFont => charset2kde_font($charset, 0),
- ));
- }
-
- if (!$b_user_only && $locale->{lang} !~ /^(zh_TW|th|vi|be|bg)/) { #- skip since we don't have the right font (it badly fails at least for zh_TW)
- my $welcome = c::to_utf8(N("Welcome to %s", '%n'));
+ if (!$b_user_only) {
+ my $kde_charset = charset2kde_charset(l2charset($locale->{lang}));
+ my $welcome = common::to_utf8(N("Welcome to %s", '%n'));
+ log::explanations(qq(Configuring KDM));
substInFile {
s/^(GreetString)=.*/$1=$welcome/;
s/^(Language)=.*/$1=$locale->{lang}/;
if (!member($kde_charset, 'iso8859-1', 'iso8859-15')) {
- #- don't keep the default for those
- s/^(StdFont)=.*/$1=*,12,5,$kde_charset,50,0/;
- s/^(FailFont)=.*/$1=*,12,5,$kde_charset,75,0/;
- s/^(GreetFont)=.*/$1=*,24,5,$kde_charset,50,0/;
+ #- do not keep the default for those
+ my $font_list = $charset2kde_font{l2charset($locale->{lang})} || $charset2kde_font{default};
+ my $font_small = $font_list->[0];
+ my $font_huge = $font_small;
+ $font_huge =~ s/(.*?),\d+/$1,24/;
+ s/^(StdFont)=.*/$1=$font_small,5,$kde_charset,50,0/;
+ s/^(FailFont)=.*/$1=$font_small,5,$kde_charset,75,0/;
+ s/^(GreetFont)=.*/$1=$font_huge,5,$kde_charset,50,0/;
}
- } "$::prefix/usr/share/config/kdm/kdmrc";
+ } "$::prefix/etc/kde/kdm/kdmrc";
}
} if !$b_dont_touch_kde_files;
+
+ #- update alternatives for OpenOffice/BrOffice if present
+ foreach my $name (grep { /^oobr_bootstraprc/ } all("$::prefix/var/lib/alternatives/")) {
+ my $alternative = common::get_alternatives($name) or next;
+ my $wanted = $locale->{lang} eq 'pt_BR' ? 'bootstraprc.bro' : 'bootstraprc.ooo';
+ my $path = find { basename($_) eq $wanted } map { $_->{file} } @{$alternative->{alternatives}};
+ common::symlinkf_update_alternatives($name, $path) if $path;
+ }
+}
+
+sub configure_kdeglobals {
+ my ($locale, $confdir) = @_;
+ my $kdeglobals = "$confdir/kdeglobals";
+
+ my $charset = l2charset($locale->{lang});
+ my $kde_charset = charset2kde_charset($charset);
+
+ mkdir_p($confdir);
+
+ my $lang = get_kde_lang($locale);
+ log::explanations("Configuring KDE regarding charset ($kde_charset), language ($lang) and country ($locale->{country})");
+ update_gnomekderc($kdeglobals, Locale => (
+ Charset => $kde_charset,
+ Country => lc($locale->{country}),
+ Language => getLANGUAGE($locale->{lang}, $locale->{country}, $locale->{utf8}),
+ ));
+
+ log::explanations("Configuring KDE regarding fonts");
+ update_gnomekderc($kdeglobals, WM => (
+ activeFont => charset2kde_font($charset,0),
+ ));
+ update_gnomekderc($kdeglobals, General => (
+ fixed => charset2kde_font($charset, 1),
+ font => charset2kde_font($charset, 0),
+ menuFont => charset2kde_font($charset, 3),
+ taskbarFont => charset2kde_font($charset, 4),
+ toolBarFont => charset2kde_font($charset, 2),
+ ));
+ update_gnomekderc("$confdir/konquerorrc", FMSettings => (
+ StandardFont => charset2kde_font($charset, 0),
+ ));
+ update_gnomekderc("$confdir/kdesktoprc", FMSettings => (
+ StandardFont => charset2kde_font($charset, 0),
+ ));
}
+=item bindtextdomain()
+
+Binds the translation domains with the proper encoding (UTF-8).
+
+=cut
+
sub bindtextdomain() {
#- if $::prefix is set, search for libDrakX.mo in locale_special
#- NB: not using $::isInstall to make it work more easily at install and standalone
my $localedir = "$ENV{SHARE_PATH}/locale" . ($::prefix ? "_special" : '');
- c::setlocale();
- c::bind_textdomain_codeset('libDrakX', 'UTF-8');
- $::need_utf8_i18n = 1;
- c::bindtextdomain('libDrakX', $localedir);
+ c::init_setlocale();
+ foreach (@::textdomains, 'libDrakX') {
+ Locale::gettext::bind_textdomain_codeset($_, 'UTF-8');
+ Locale::gettext::bindtextdomain($_, $localedir);
+ }
$localedir;
}
+=item load_mo ($o_lang)
+
+Used by the installer: returns the firste existing .mo file to load according to $o_lang.
+If it's not set, we rely on environment variables.
+
+=cut
+
sub load_mo {
- my ($lang) = @_;
+ my ($o_lang) = @_;
my $localedir = bindtextdomain();
my $suffix = 'LC_MESSAGES/libDrakX.mo';
- $lang ||= $ENV{LANGUAGE} || $ENV{LC_ALL} || $ENV{LC_MESSAGES} || $ENV{LANG};
+ $o_lang ||= $ENV{LANGUAGE} || $ENV{LC_ALL} || $ENV{LC_MESSAGES} || $ENV{LANG};
- foreach (split ':', $lang) {
- my $f = "$localedir/$_/$suffix";
- -s $f and return $_;
+ my @possible_langs = map { { name => $_, mofile => "$localedir/$_/$suffix" } } split ':', $o_lang;
- if ($::isInstall && common::usingRamdisk()) {
- #- cleanup
- eval { rm_rf($localedir) };
- eval { mkdir_p(dirname("$localedir/$_/$suffix")) };
- install_any::getAndSaveFile("$localedir/$_/$suffix");
+ -s $_->{mofile} and return $_->{name} foreach @possible_langs;
- -s $f and return $_;
- }
- }
'';
}
-#- used in Makefile during "make get_needed_files"
+=item console_font_files()
+
+Used in share/list.xml during "make get_needed_files"
+
+=cut
+
sub console_font_files() {
map { -e $_ ? $_ : "$_.gz" }
- (map { "/usr/lib/kbd/consolefonts/$_.psf" } uniq grep { $_ } map { $_->[0] } values %charsets),
- (map { -e $_ ? $_ : "$_.sfm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep { $_ } map { $_->[1] } values %charsets),
- (map { -e $_ ? $_ : "$_.acm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep { $_ } map { $_->[2] } values %charsets),
+ (map { my $p = "/usr/lib/kbd/consolefonts/$_"; -e "$p.psfu" || -e "$p.psfu.gz" ? "$p.psfu" : "$p.psf" } uniq grep { $_ } map { $_->[0] } values %charsets),
+ (map { "/usr/lib/kbd/consoletrans/${_}_to_uni.trans" } uniq grep { $_ } map { $_->[2] } values %charsets);
}
+=item load_console_font($locale)
+
+Loads the console font...
+
+=cut
+
sub load_console_font {
my ($locale) = @_;
- my ($name, $sfm, $acm) = l2console_font($locale, 1);
+ return if $::local_install;
+
+ my ($name, $acm) = l2console_font($locale, 1);
require run_program;
- run_program::run(if_($ENV{LD_LOADER}, $ENV{LD_LOADER}),
- 'consolechars', '-v', '-f', $name || 'lat0-sun16',
- if_($sfm, '-u', $sfm), if_($acm, '-m', $acm));
-
- #- in console mode install, ensure we'll get translations in the right codeset
- #- (charset of locales reported by the glibc are UTF-8 during install)
- if ($acm) {
- c::bind_textdomain_codeset('libDrakX', l2charset($locale->{lang}));
- $::need_utf8_i18n = 0;
- }
+ run_program::run('setfont', '-v', $name || 'lat0-16', if_($acm, '-m', $acm));
}
+=item fs_options($locale)
+
+Returns the options suitable for filesystems mounting according to $locale.
+
+=cut
+
sub fs_options {
my ($locale) = @_;
if ($locale->{utf8}) {
@@ -1062,39 +1689,30 @@ sub fs_options {
}
}
-sub during_install__l2charset {
- my ($lang) = @_;
- return if member($lang, @during_install__lang_having_their_LC_CTYPE);
-
- my ($c) = l2charset($lang) or die "bad lang $lang\n";
- $c = 'UTF-8' if member($c, 'tis620', 'C', 'unicode');
- $c = 'UTF-8' if $c =~ /koi8-/;
- $c = 'UTF-8' if $c =~ /iso-8859/;
- $c = 'UTF-8' if $c =~ /cp125/;
- $c = 'UTF-8' if $c =~ /utf_/;
- uc($c);
-}
+=item check()
-sub get_unneeded_png_lang_files() {
- print join(' ', map { if_(m|(langs/lang-(.*)\.png)| && !member($2, list_langs()), $1) } glob("pixmaps/langs/lang-*.png"));
-}
+Used by 'make check_full'.
+
+=cut
sub check() {
$^W = 0;
- my $ok = 1;
+ my ($warnings, $errors) = (0, 0);
my $warn = sub {
- print STDERR "$_[0]\n";
- };
- my $err = sub {
- &$warn;
- $ok = 0;
+ my ($msg, $b_is_error) = @_;
+ if ($b_is_error) {
+ print STDERR "\tErrors:\n" if !$errors++;
+ } else {
+ print STDERR "\tWarnings:\n" if !$warnings++;
+ }
+ print STDERR "$msg\n";
};
+ my $err = sub { $warn->($_[0], 'error') };
my @wanted_charsets = uniq map { l2charset($_) } list_langs();
- print "\tWarnings:\n";
$warn->("unused charset $_ (given in \%charsets, but not used in \%langs)") foreach difference2([ keys %charsets ], \@wanted_charsets);
- $warn->("unused entry $_ in \%xim") foreach grep { !/UTF-8/ } difference2([ keys %xim ], [ map { l2locale($_) } list_langs() ]);
+ $warn->("unused entry $_ in \%xim") foreach grep { !/UTF-8/ } difference2([ keys %IM_locale_specific_config ], [ map { l2locale($_) } list_langs() ]);
#- consolefonts are checked during build via console_font_files()
@@ -1110,24 +1728,26 @@ sub check() {
}
$warn->("no country corresponding to default locale $_->[1] of lang $_->[0]")
- foreach grep { $_->[1] =~ /^.._(..)/ && !exists $countries{$1} } map { [ $_, l2locale($_) ] } list_langs();
-
- print "\tErrors:\n";
+ foreach grep { $_->[1] =~ /.._(..)/ && !exists $countries{$1} } map { [ $_, l2locale($_) ] } list_langs();
$err->("invalid charset $_ ($_ does not exist in \%charsets)") foreach difference2(\@wanted_charsets, [ keys %charsets ]);
$err->("invalid charset $_ in \%charset2kde_font ($_ does not exist in \%charsets)") foreach difference2([ keys %charset2kde_font ], [ 'default', keys %charsets ]);
- $err->("default locale $_->[1] of lang $_->[0] isn't listed in \@locales")
+ $err->("default locale $_->[1] of lang $_->[0] is not listed in \@locales")
foreach grep { !member($_->[1], @locales) } map { [ $_, l2locale($_) ] } list_langs();
$err->("lang image for lang $_->[0] is missing (file $_->[1])")
- foreach grep { !(-e $_->[1]) } map { [ $_, "pixmaps/langs/lang-$_.png" ] } list_langs();
+ foreach grep { !(-e $_->[1]) } map { [ $_, "install/pixmaps/langs/lang-$_.png" ] } list_langs();
- $err->("default locale $_->[1] of country $_->[0] isn't listed in \@locales")
+ $err->("default locale $_->[1] of country $_->[0] is not listed in \@locales")
foreach grep { !member($_->[1], @locales) } map { [ $_, c2locale($_) ] } list_countries();
- exit($ok ? 0 : 1);
+ exit($errors ? 1 : 0);
}
+=back
+
+=cut
+
1;
diff --git a/perl-install/list.sparc b/perl-install/list.sparc
deleted file mode 100644
index 448e0b63e..000000000
--- a/perl-install/list.sparc
+++ /dev/null
@@ -1,74 +0,0 @@
-/bin/ash
-/bin/cpio
-/lib/libnss_nis.so.2
-/lib/libnss_files.so.2
-/lib/libnss_dns.so.2
-/lib/libresolv.so.2
-/etc/protocols
-/sbin/fdisk
-/sbin/ifport
-/sbin/insmod
-/sbin/mkraid
-/sbin/rmmod
-/sbin/mkdosfs
-/sbin/mke2fs
-/sbin/raidstart
-/usr/bin/bzip2
-/usr/bin/perl
-/usr/lib/libimlib-png.so
-/usr/lib/gtk/themes/engines/libpixmap.so
-/usr/lib/gtk/themes/engines/libpixmap.la
-/usr/lib/libimlib-png.so
-/usr/lib/perl5/5.00503/AutoLoader.pm
-/usr/lib/perl5/5.00503/Carp.pm
-/usr/lib/perl5/5.00503/Data/Dumper.pm
-/usr/lib/perl5/5.00503/Exporter.pm
-/usr/lib/perl5/5.00503/FileHandle.pm
-/usr/lib/perl5/5.00503/SelectSaver.pm
-/usr/lib/perl5/5.00503/SelfLoader.pm
-/usr/lib/perl5/5.00503/Symbol.pm
-/usr/lib/perl5/5.00503/Time/Local.pm
-/usr/lib/perl5/5.00503/dumpvar.pl
-/usr/lib/perl5/5.00503/sparc-linux/Config.pm
-/usr/lib/perl5/5.00503/sparc-linux/DynaLoader.pm
-/usr/lib/perl5/5.00503/sparc-linux/Fcntl.pm
-/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.so
-/usr/lib/perl5/5.00503/sparc-linux/IO/File.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Handle.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Seekable.pm
-/usr/lib/perl5/5.00503/sparc-linux/IO/Socket.pm
-/usr/lib/perl5/5.00503/sparc-linux/Socket.pm
-/usr/lib/perl5/5.00503/sparc-linux/_h2ph_pre.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm-sparc/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/asm-sparc64/unistd.ph
-/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.so
-/usr/lib/perl5/5.00503/sparc-linux/auto/IO/IO.so
-/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.bs
-/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.so
-/usr/lib/perl5/5.00503/sparc-linux/bits/syscall.ph
-/usr/lib/perl5/5.00503/sparc-linux/sys/syscall.ph
-/usr/lib/perl5/5.00503/sparc-linux/syscall.ph
-/usr/lib/perl5/5.00503/lib.pm
-/usr/lib/perl5/5.00503/overload.pm
-/usr/lib/perl5/5.00503/strict.pm
-/usr/lib/perl5/5.00503/vars.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk/Types.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Cmd.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Config.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/A.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/I.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/dataconn.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Netrc.pm
-/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.bs
-/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.so
-/usr/lib/rpm/rpmrc
-/usr/X11R6/bin/XF86_FBDev
-/usr/X11R6/bin/XF86_Mach64
-/usr/X11R6/bin/Xsun
-/usr/X11R6/bin/xmodmap
-/usr/X11R6/lib/modules/xf86Wacom.so
diff --git a/perl-install/list_firmwares.pm b/perl-install/list_firmwares.pm
new file mode 100644
index 000000000..f1febc23b
--- /dev/null
+++ b/perl-install/list_firmwares.pm
@@ -0,0 +1,26 @@
+# generated using kernel-desktop-6.4.2-2.mga9
+# This list is autogenerated ; Do NOT alter manually.
+
+package list_firmwares;
+
+our @modules_with_nonfree_firmware =
+ qw(acenic advansys amdgpu ar5523 at76c50x-usb ath10k_pci ath3k ath6kl_sdio
+ ath6kl_usb ath9k_htc atmel bfa bna bnx2 bnx2x brcmfmac brcmsmac btintel
+ btmrvl_sdio btmtk btrtl carl9170 cassini ccp crypto_safexcel csiostor cx18
+ cx25840 cxgb3 cxgb4 dvb-ttpci dvb-ttusb-budget dvb-usb-af9035 dvb-usb-dib0700
+ e100 emi26 emi62 go7007 go7007-loader gspca_vicam hfi1 i915 ib_qib ice
+ io_edgeport io_ti ipw2100 ipw2200 ivtv iwl3945 iwl4965 iwlwifi kaweth keyspan
+ lgs8gxx libertas_cs libertas_sdio libertas_spi liquidio mlxsw_spectrum
+ mscc mt7601u mt7615e mt7663s mt7663u mt76x0e mt76x0u mt76x2e mt76x2u mt7915e
+ mt7921e mt7921s mt7921u mwifiex_sdio mwifiex_usb mwl8k myri10ge n5pf netxen_nic
+ nfp nouveau orinoco pvrusb2 qat_4xxx qat_c3xxx qat_c62x qat_dh895xcc qed
+ qla1280 qla2xxx qlcnic r8152 r8169 r8192e_pci r8712u radeon rp2 rt2800pci
+ rt2800usb rt61pci rt73usb rtl8188ee rtl8192ce rtl8192cu rtl8192de rtl8192ee
+ rtl8192se rtl8723be rtl8821ae rtl8xxxu rtw88_8723d rtw88_8821c rtw88_8822b
+ rtw88_8822c rtw89_8852a rtw89_8852b rtw89_8852c s2255drv saa7134-go7007
+ slicoss smc91c92_cs smsmdtv snd-hda-codec-ca0132 snd-korg1212 snd-maestro3
+ snd-ymfpci starfire tehuti tg3 ti_usb_3410_5052 typhoon ueagle-atm ums-eneub6250
+ usb8xxx usbdux usbduxfast usbduxsigma vt6656_stage whiteheat wil6210 wilc1000
+ wl1251 wl12xx wl18xx xc4000 xc5000 yam);
+
+1;
diff --git a/perl-install/list_modules.pm b/perl-install/list_modules.pm
new file mode 120000
index 000000000..ef195bcfe
--- /dev/null
+++ b/perl-install/list_modules.pm
@@ -0,0 +1 @@
+../kernel/list_modules.pm \ No newline at end of file
diff --git a/perl-install/live_install b/perl-install/live_install
deleted file mode 100755
index 937661a7d..000000000
--- a/perl-install/live_install
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-if [ "$UID" -ne 0 ]; then
- echo >&2 "you need to be root to start live install"
- exit 3
-fi
-
-if [ -x ./Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
- dir=`pwd`/Mandrake/mdkinst
-elif [ -x ../../../../../Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
- dir=`pwd`/../../..
-else
- echo >&2 "unable to get a working live system to start, check your working directory"
- exit 2
-fi
-
-/bin/rm -rf /tmp/image
-/bin/mkdir -m 0700 /tmp/image || exit 1
-/bin/rm -rf /tmp/drakx
-/bin/mkdir -m 0700 /tmp/drakx || exit 2
-
-for i in Mandrake RPMS misc boot images VERSION
-do
- /bin/ln -sf "$dir/../../$i" "/tmp/image/$i"
-done
-
-/bin/cp -a "$dir/../../Mandrake/mdkinst" "/tmp/drakx"
-
-if [ -x "/tmp/drakx/mdkinst/usr/bin/perl-install/live_install2" ]; then
- # get correct fonts for DrakX.
- if [ -n "$DISPLAY" ]; then
- xset +fp /tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/
- xset fp rehash
- fi
-
- # avoid pollution for environment
- unset LC_MONETARY LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME LC_COLLATE LANGUAGE LANG RPM_INSTALL_LANG
-
- # start DrakX, do not keep shell script in background else the CD is locked by it!!!
- cd /tmp/drakx/mdkinst/usr/bin/perl-install
- exec /usr/bin/perl ./live_install2
-fi
-
-echo >&2 "unable to get a working live system to start, check your working directory"
-exit 2
diff --git a/perl-install/live_install2 b/perl-install/live_install2
deleted file mode 100755
index b5a2ea877..000000000
--- a/perl-install/live_install2
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-#- allow devfsd to enable a faster upgrade.
-system "modprobe loop";
-my $devfsd_pid = `/sbin/pidof devfsd`;
-$devfsd_pid > 0 and kill 15, $devfsd_pid;
-
-#- perl version of the install, we use directly the version we found,
-#- this means there SHOULD BE no module compiled for an older version of perl
-#- which will be used by DrakX.
-my ($version, $arch) = (glob "$dir/usr/lib/perl5/*/*/CORE/libperl.so")[0] =~ m|$dir/usr/lib/perl5/([^/]*)/([^/]*)/CORE/libperl.so|;
-
-#- keep it mind the ELF loader to use.
-$ENV{LD_LOADER} = "$dir/lib/ld-linux.so.2";
-
-$ENV{LOCPATH}="$dir/usr/share/locale";
-$ENV{GCONV_PATH}="$dir/usr/lib/gconv";
-$ENV{PERL5LIB} = join ":", map { "$dir/usr/lib/perl5/$_" } ("$version/$arch",
- "$version",
- "site_perl/$version/$arch",
- "site_perl/$version",
- "site_perl",
- "vendor_perl/$version/$arch",
- "vendor_perl/$version",
- "vendor_perl",
- );
-$ENV{LD_LIBRARY_PATH} = "$dir/usr/bin:$dir/bin:$dir/sbin:$dir/usr/sbin:$dir/usr/X11R6/bin:$dir/lib:$dir/usr/lib:$dir/usr/lib/perl5/$version/$arch/CORE";
-$ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}";
-$ENV{SHARE_PATH} = "$dir/usr/share";
-$ENV{RPMRC_FILE} = "$dir/usr/lib/rpm/rpmrc";
-$ENV{GTK_DATA_PREFIX} = "$dir/usr";
-$ENV{GTK_EXE_PREFIX} = "$dir/usr";
-$ENV{GDK_IMLIB_PATH} = "$dir/usr/lib";
-
-system $ENV{LD_LOADER}, "../perl", "-i", "-pe", "s,^(.*macrofiles[^/]*)(.*),\$1$dir/usr/lib/rpm/macros:\$2,", $ENV{RPMRC_FILE};
-system $ENV{LD_LOADER}, "../perl", "./install2", "--live", @ARGV;
-
-#- at this point, unwind above else they will not run correctly (wrong ld-linux.so.2)
-delete $ENV{GTK_EXE_PREFIX};
-delete $ENV{RPMRC_FILE};
-delete $ENV{LOCPATH};
-delete $ENV{SHARE_PATH};
-delete $ENV{PATH};
-delete $ENV{LD_LIBRARY_PATH};
-delete $ENV{PERL5LIB};
-delete $ENV{LD_LOADER};
-
-$ENV{DISPLAY} and system "xset", "-fp", "/tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/";
-foreach (qw(misc PEX Speedo Type1 mdk 75dpi 100dpi cyrillic)) {
- -d "/usr/X11R6/lib/X11/fonts/$_" or next;
- -e "/usr/X11R6/lib/X11/fonts/$_/fonts.dir" and next;
- chdir "/usr/X11R6/lib/X11/fonts/$_";
- system "mkfontdir";
-}
-$ENV{DISPLAY} and system "xset", "fp", "rehash";
-
-system "/bin/rm", "-rf", "/tmp/drakx";
-system "/bin/rm", "-rf", "/tmp/rhimage";
-
-#- restore devfsd if it was running.
-$devfsd_pid > 0 and system "/sbin/devfsd /dev";
-
-exec "/bin/sync";
diff --git a/perl-install/log.pm b/perl-install/log.pm
index 3f281b5c6..a0f7bd41d 100644
--- a/perl-install/log.pm
+++ b/perl-install/log.pm
@@ -1,60 +1,55 @@
-package log; # $Id$
+package log;
use diagnostics;
use strict;
-use vars qw(*LOG *LOG2);
use c;
+my ($LOG, $LOG2);
-#-#####################################################################################
-#- Globals
-#-#####################################################################################
-my $logOpen = 0;
-my $logDebugMessages = 0;
-
-#-######################################################################################
-#- Functions
-#-######################################################################################
-sub F() { *LOG }
sub l {
- $logOpen or openLog();
if ($::testing) {
print STDERR @_, "\n";
+ } elsif ($::isInstall) {
+ if (!$LOG) {
+ open $LOG, '>>', '/tmp/ddebug.log';
+ open $LOG2, '>', '/dev/tty3' if !$::local_install;
+ select((select($LOG), $| = 1)[0]);
+ select((select($LOG2), $| = 1)[0]) if !$::local_install;
+ }
+ print $LOG "* ", @_, "\n";
+ print $LOG2 "* ", @_, "\n" if $LOG2;
} elsif ($::isStandalone) {
+ #- openlog was done in standalone.pm
+
c::syslog(c::LOG_WARNING(), join("", @_));
- } elsif ($::isInstall) {
- print LOG "* ", @_, "\n";
- print LOG2 "* ", @_, "\n";
} else {
print STDERR @_, "\n";
}
}
-sub ld { $logDebugMessages and &l }
-sub w { &l }
-
-sub openLog(;$) {
- if ($::isInstall) {
- if ($_[0]) { #- useLocal
- open LOG, "> $_[0]"; #-#
- } else {
- open LOG, "> /dev/tty3"; #-#
- }
- open LOG2, ">> /tmp/ddebug.log"; #-#
- select((select(LOG), $| = 1)[0]);
- select((select(LOG2), $| = 1)[0]);
- }
- exists $ENV{DEBUG} and $logDebugMessages = 1;
- $logOpen = 1;
+
+sub openLog {
+ my ($file) = @_;
+ open $LOG, "> $file";
+ select((select($LOG), $| = 1)[0]);
}
sub closeLog() {
- if ($::isStandalone) {
+ if ($LOG) {
+ close $LOG;
+ close $LOG2 if $LOG2;
+ } elsif ($::isStandalone) {
c::closelog();
- } else { close LOG; close LOG2 }
+ }
}
-sub explanations { c::syslog(c::LOG_INFO()|c::LOG_LOCAL1(), "@_") }
+sub explanations {
+ if ($::isStandalone) {
+ c::syslog(c::LOG_INFO()|c::LOG_LOCAL1(), "@_");
+ } else {
+ l(@_);
+ }
+}
1;
diff --git a/perl-install/loopback.pm b/perl-install/loopback.pm
deleted file mode 100644
index 45505bda4..000000000
--- a/perl-install/loopback.pm
+++ /dev/null
@@ -1,127 +0,0 @@
-package loopback; # $Id$
-
-use diagnostics;
-use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use MDK::Common::System;
-use common;
-use partition_table qw(:types);
-use fs;
-use fsedit;
-use log;
-
-
-sub carryRootLoopback {
- my ($part) = @_;
- $_->{mntpoint} eq '/' and return 1 foreach @{$part->{loopback} || []};
- 0;
-}
-
-sub check_circular_mounts {
- my ($_hd, $part, $all_hds) = @_;
-
- my $fstab = [ fsedit::get_all_fstab($all_hds), $part ]; # no pb if $part is already in $all_hds
-
- my $base_mntpoint = $part->{mntpoint};
- my $check; $check = sub {
- my ($part, @seen) = @_;
- push @seen, $part->{mntpoint} || return;
- @seen > 1 && $part->{mntpoint} eq $base_mntpoint and die \N("Circular mounts %s\n", join(", ", @seen));
- if (my $part = fs::up_mount_point($part->{mntpoint}, $fstab)) {
- #- '/' carrier is a special case, it will be mounted first
- $check->($part, @seen) if !carryRootLoopback($part);
- }
- if (isLoopback($part)) {
- $check->($part->{loopback_device}, @seen);
- }
- };
- $check->($part) if !($base_mntpoint eq '/' && isLoopback($part)); #- '/' is a special case, no loop check
-}
-
-sub carryRootCreateSymlink {
- my ($part, $prefix) = @_;
-
- carryRootLoopback($part) or return;
-
- my $mntpoint = "$prefix$part->{mntpoint}";
- unless (-e $mntpoint) {
- eval { mkdir_p(dirname($mntpoint)) };
- #- do non-relative link for install, should be changed to relative link before rebooting
- symlink "/initrd/loopfs", $mntpoint;
-
- mkdir_p("/initrd/loopfs/lnx4win/boot");
- symlink "/initrd/loopfs/lnx4win/boot", "$prefix/boot";
- }
- #- indicate kernel to keep initrd
- mkdir_p("$prefix/initrd");
-}
-
-
-sub format_part {
- my ($part, $prefix) = @_;
- fs::mount_part($part->{loopback_device}, $prefix);
- create($part, $prefix);
- fs::real_format_part($part);
-}
-
-sub create {
- my ($part, $prefix) = @_;
- my $f = $part->{device} = "$prefix$part->{loopback_device}{mntpoint}$part->{loopback_file}";
- return if -e $f;
-
- eval { mkdir_p(dirname($f)) };
-
- log::l("creating loopback file $f ($part->{size} sectors)");
-
- my $block_size = 128;
- my $s = "\0" x (512 * $block_size);
- sysopen(my $F, $f, 2 | c::O_CREAT()) or die "failed to create loopback file";
- for (my $i = 0; $i < $part->{size}; $i += $block_size) {
- syswrite $F, $s or die "failed to create loopback file";
- }
-}
-
-sub getFree {
- my ($dir, $part) = @_;
- my $freespace = $dir ?
- 2 * (MDK::Common::System::df($dir))[1] : #- df in KiB
- $part->{size};
-
- $freespace - sum map { $_->{size} } @{$part->{loopback} || []};
-}
-
-#- returns the size of the loopback file if it already exists
-#- returns -1 is the loopback file can't be used
-sub verifFile {
- my ($dir, $file, $part) = @_;
- -e "$dir$file" and return -s "$dir$file";
-
- $_->{loopback_file} eq $file and return -1 foreach @{$part->{loopback} || []};
-
- undef;
-}
-
-sub prepare_boot() {
- my $r = readlink "$::prefix/boot";
- unlink "$::prefix/boot";
- mkdir_p("$::prefix/boot");
- [$r, $::prefix];
-}
-
-sub save_boot {
- my ($loop_boot, $prefix) = @{$_[0]};
-
- $loop_boot or return;
-
- my @files = glob_("$prefix/boot/*");
- cp_af(@files, $loop_boot) if @files;
- rm_rf("$prefix/boot");
- symlink $loop_boot, "$prefix/boot";
-}
-
-
-1;
-
diff --git a/perl-install/lvm.pm b/perl-install/lvm.pm
index 00cf7a27b..bf212bd6f 100644
--- a/perl-install/lvm.pm
+++ b/perl-install/lvm.pm
@@ -1,4 +1,4 @@
-package lvm; # $Id$
+package lvm;
use diagnostics;
use strict;
@@ -8,140 +8,284 @@ use strict;
#-######################################################################################
use common;
use modules;
-use fsedit;
use devices;
+use fs::type;
use run_program;
+=head1 SYNOPSYS
+
+Manage LVM (PV, VG, LV)
+
+=head1 Functions
+
+=over 4
+
+=cut
+
#- for partition_table_xxx emulation
sub new {
my ($class, $name) = @_;
- $name =~ s/\W/_/g;
+ $name =~ s/[^\w-]/_/g;
$name = substr($name, 0, 63); # max length must be < NAME_LEN / 2 where NAME_LEN is 128
- bless { disks => [], VG_name => $name }, $class;
+ bless { disks => [], VG_name => $name, device => $name }, $class;
}
+sub use_pt_type { 0 }
sub hasExtended { 0 }
sub adjustStart {}
sub adjustEnd {}
sub write {}
sub cylinder_size {
my ($hd) = @_;
- $hd->{PE_size};
+ $hd->{extent_size};
}
-init();
+=item detect_durting_install()
+
+Explicitly scan VGs.
+
+=cut
+
+sub detect_during_install() {
+ run_program::run('lvm2', 'vgscan');
+ run_program::run('lvm2', 'vgchange', '-a', 'y');
+}
+
+=item init()
+
+Loads LVM modules and scan VGs (if in installer, not in standalone tool).
+
+=cut
sub init() {
- eval { modules::load('lvm-mod') };
- run_program::run('vgscan') if !-e '/etc/lvmtab';
- run_program::run('vgchange', '-a', 'y');
+ devices::init_device_mapper();
+ detect_during_install() if $::isInstall || $::isLiveInstall;
+ 1;
}
-sub run {
- if (my $r = run_program::run(@_)) {
+init() or log::l("lvm::init failed");
+
+=item lvm_cmd(...)
+
+Run a LVM command, then rescan VG.
+See run_program::run() for arguments.
+
+=cut
+
+sub lvm_cmd {
+ if (my $r = run_program::run('lvm2', @_)) {
$r;
} else {
$? >> 8 == 98 or return;
#- sometimes, it needs running vgscan again, doing so:
- run_program::run('vgscan');
- run_program::run(@_);
+ log::l("forcing rescan because of prior failure");
+ run_program::run('lvm2', 'vgscan');
+ run_program::run('lvm2', @_);
}
}
-sub run_or_die {
+
+=item lvm_cmd_or_die($prog, @para)
+
+Like lvm_cmd() but die if there's an error.
+
+=cut
+
+sub lvm_cmd_or_die {
my ($prog, @para) = @_;
- run($prog, @para) or die "$prog failed\n";
+ my @err;
+ lvm_cmd("2>", \@err, $prog, @para) or do {
+ my $err = $err[-1]; # prevent "Modification of non-creatable array value attempted"
+ chomp($err);
+ die "$prog failed: $err\n";
+ };
}
sub check {
- my ($in) = @_;
-
- my $f = '/sbin/pvcreate';
- -e $f or $in->do_pkgs->install('lvm');
- -e $f or $in->ask_warn('', "Mandatory package lvm is missing"), return;
+ my ($do_pkgs) = @_;
+ local $::prefix = ''; # We want lvm2 on current system
+ $do_pkgs->ensure_binary_is_installed('lvm2', 'lvm2') or return;
init();
1;
}
-sub get_vg {
- my ($part) = @_;
- my $dev = expand_symlinks(devices::make($part->{device}));
- (split(':', run_program::get_stdout('pvdisplay', '-c', $dev)))[1];
+sub get_pv_field {
+ my ($pv, $field) = @_;
+ my $dev = expand_symlinks(devices::make($pv->{device}));
+ run_program::get_stdout('lvm2', 'pvs', '--noheadings', '--nosuffix', '-o', $field, $dev);
+}
+sub pv_physical_extents {
+ my ($pv) = @_;
+ split(' ', lvm::get_pv_field($pv, 'pv_pe_alloc_count,pv_pe_count'));
+}
+sub pv_to_vg {
+ my ($pv) = @_;
+ get_pv_field($pv, 'vg_name') =~ /(\S+)/ && $1;
+}
+
+sub pv_move {
+ my ($pv) = @_;
+ my $dev = expand_symlinks(devices::make($pv->{device}));
+ lvm_cmd('pvmove', '-v', $dev) or die N("Moving used physical extents to other physical volumes failed");
}
sub update_size {
my ($lvm) = @_;
- my @l = split(':', run_program::get_stdout('vgdisplay', '-c', '-D', $lvm->{VG_name}));
- $lvm->{totalsectors} = ($lvm->{PE_size} = $l[12]) * $l[13];
+ $lvm->{extent_size} = to_int(run_program::get_stdout('lvm2', 'vgs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'vg_extent_size', $lvm->{VG_name}));
+ $lvm->{totalsectors} = to_int(run_program::get_stdout('lvm2', 'vgs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'vg_size', $lvm->{VG_name}));
}
sub get_lv_size {
my ($lvm_device) = @_;
- my $info = run_program::get_stdout('lvdisplay', '-D', '-c', "/dev/$lvm_device");
- (split(':', $info))[6];
+ to_int(run_program::get_stdout('lvm2', 'lvs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'lv_size', "/dev/$lvm_device"));
+}
+
+sub lv_to_pvs {
+ my ($lv) = @_;
+ map { m!(\S+)\(! } run_program::get_stdout('lvm2', 'lvs', '--noheadings', '-o', 'devices', "/dev/$lv->{device}");
}
+sub lv_nb_pvs {
+ my ($lv) = @_;
+ listlength(lv_to_pvs($lv));
+}
+
+=item get_lvs($lvm)
+
+Return list of LVs.
+
+=cut
sub get_lvs {
my ($lvm) = @_;
- my @l = run_program::get_stdout('vgdisplay', '-v', '-D', $lvm->{VG_name});
+ my @l = run_program::get_stdout('lvm2', 'lvs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'lv_name', $lvm->{VG_name}) =~ /(\S+)/g;
$lvm->{primary}{normal} =
[
map {
- my $type = -e "/dev/$_" && fsedit::typeOfPart("/dev/$_");
-
- { device => $_,
- type => $type || 0x83,
- size => get_lv_size($_) }
- } map { if_(m|^LV Name\s+/dev/(\S+)|, $1) } @l
+ my $device = "$lvm->{VG_name}/$_";
+ my $p = fs::wild_device::to_subpart("/dev/$device");
+ my $part = {
+ device => $device,
+ lv_name => $_,
+ rootDevice => $lvm->{VG_name},
+ minor => $p->{minor},
+ major => $p->{major},
+ size => get_lv_size($device) };
+ if (my $type = -e "/dev/$device" && fs::type::type_subpart_from_magic($part)) {
+ put_in_hash($part, $type);
+ } else {
+ $part->{fs_type} = defaultFS();
+ }
+ $part;
+ } @l
];
}
sub vg_add {
my ($part) = @_;
my $dev = expand_symlinks(devices::make($part->{device}));
- run_or_die('pvcreate', '-y', '-ff', $dev);
- my $prog = run('vgdisplay', $part->{lvm}) ? 'vgextend' : 'vgcreate';
- run_or_die($prog, $part->{lvm}, $dev);
+ output($dev, '\0' x 512); #- help pvcreate
+ lvm_cmd_or_die('pvcreate', '-y', '-ff', $dev);
+ my $prog = lvm_cmd('vgs', $part->{lvm}) ? 'vgextend' : 'vgcreate';
+ lvm_cmd_or_die($prog, $part->{lvm}, $dev);
+}
+
+sub vg_reduce {
+ my ($lvm_vg, $part_pv) = @_;
+
+ lvm_cmd('vgreduce', $lvm_vg->{VG_name}, devices::make($part_pv->{device})) or die N("Physical volume %s is still in use", $part_pv->{device});
+ @{$lvm_vg->{disks}} = difference2($lvm_vg->{disks}, [ $part_pv ]);
+ update_size($lvm_vg);
+ delete $part_pv->{lvm};
+ set_isFormatted($part_pv, 0);
}
sub vg_destroy {
my ($lvm) = @_;
- is_empty_array_ref($lvm->{primary}{normal}) or die \N("Remove the logical volumes first\n");
- run('vgchange', '-a', 'n', $lvm->{VG_name});
- run_or_die('vgremove', $lvm->{VG_name});
+ is_empty_array_ref($lvm->{primary}{normal}) or die N("Remove the logical volumes first\n");
+ lvm_cmd('vgchange', '-a', 'n', $lvm->{VG_name});
+ lvm_cmd_or_die('vgremove', $lvm->{VG_name});
foreach (@{$lvm->{disks}}) {
+ lvm_cmd_or_die('pvremove', devices::make($_->{device}));
delete $_->{lvm};
- $_->{isFormatted} = 0;
- $_->{notFormatted} = 1;
+ set_isFormatted($_, 0);
}
}
sub lv_delete {
my ($lvm, $lv) = @_;
- run_or_die('lvremove', '-f', "/dev/$lv->{device}");
+ lvm_cmd_or_die('lvremove', '-f', "/dev/$lv->{device}");
my $list = $lvm->{primary}{normal};
@$list = grep { $_ != $lv } @$list;
}
-sub lv_create {
+sub suggest_lv_name_from_mnt_point {
+ my ($lv) = @_;
+ my $str = $lv->{mntpoint};
+ $str = "root" if $str eq '/';
+ $str =~ s!^/!!;
+ $str =~ s!/!_!g;
+ $str =~ s! !_!g;
+ 'lv_' . $str;
+}
+
+sub suggest_lv_name {
my ($lvm, $lv) = @_;
my $list = $lvm->{primary}{normal} ||= [];
- $lv->{lv_name} ||= 1 + max(map { if_($_->{device} =~ /(\d+)$/, $1) } @$list);
+ $lv->{lv_name} ||= suggest_lv_name_from_mnt_point($lv);
+ $lv->{lv_name} ||= "lv_" . (1 + max(map { if_($_->{device} =~ /(\d+)$/, $1) } @$list));
+}
+
+sub lv_create {
+ my ($lvm, $lv) = @_;
+ suggest_lv_name($lvm, $lv);
$lv->{device} = "$lvm->{VG_name}/$lv->{lv_name}";
- run_or_die('lvcreate', '--size', int($lv->{size} / 2) . 'k', '-n', $lv->{lv_name}, $lvm->{VG_name});
+ lvm_cmd_or_die('lvcreate', '--size', int($lv->{size} / 2) . 'k', '-n', $lv->{lv_name}, $lvm->{VG_name});
+
+ if ($lv->{mntpoint} eq '/boot' && lv_nb_pvs($lv) > 1) {
+ lvm_cmd_or_die('lvremove', '-f', "/dev/$lv->{device}");
+ die N("The bootloader can't handle /boot on multiple physical volumes");
+ }
+
$lv->{size} = get_lv_size($lv->{device}); #- the created size is smaller than asked size
- $lv->{notFormatted} = 1;
- $lv->{isFormatted} = 0;
+ set_isFormatted($lv, 0);
+ my $list = $lvm->{primary}{normal} ||= [];
push @$list, $lv;
}
sub lv_resize {
my ($lv, $oldsize) = @_;
- run_or_die($oldsize > $lv->{size} ? ('lvreduce', '-f') : 'lvextend',
- '--size', int($lv->{size} / 2) . 'k', "/dev/$lv->{device}");
+ lvm_cmd_or_die($oldsize > $lv->{size} ? ('lvreduce', '-f') : 'lvextend',
+ '--size', int($lv->{size} / 2) . 'k', "/dev/$lv->{device}");
$lv->{size} = get_lv_size($lv->{device}); #- the resized partition may not be the exact asked size
}
+sub add_to_VG {
+ my ($part, $lvm) = @_;
+
+ $part->{lvm} = $lvm->{VG_name};
+ push @{$lvm->{disks}}, $part;
+ delete $part->{mntpoint};
+
+ vg_add($part);
+ update_size($lvm);
+}
+
+sub create_singleton_vg {
+ my ($lvms, $part) = @_;
+
+ my %existing = map { $_->{VG_name} => 1 } @$lvms;
+ my $VG_name = find { !$existing{$_} } map { "VG$_" } 1 .. 100 or internal_error();
+
+ my $lvm = new lvm($VG_name);
+ push @$lvms, $lvm;
+
+ add_to_VG($part, $lvm);
+}
+
+=back
+
+=cut
+
1;
diff --git a/perl-install/messages.pm b/perl-install/messages.pm
new file mode 100644
index 000000000..b63f81b38
--- /dev/null
+++ b/perl-install/messages.pm
@@ -0,0 +1,121 @@
+package messages;
+
+use diagnostics;
+use strict;
+
+use common;
+
+sub main_license() {
+ join("\n\n\n",
+ #-PO: Only write something if needed:
+ N("_: You can warn about unofficial translation here"),
+ main_license_raw()
+ );
+}
+
+sub main_license_raw() {
+ join("\n\n\n",
+N("Introduction"),
+
+N("The operating system and the different components available in the Mageia distribution
+shall be called the \"Software Products\" hereafter. The Software Products include, but are not
+restricted to, the set of programs, methods, rules and documentation related to the operating
+system and the different components of the Mageia distribution, and any applications
+distributed with these products provided by Mageia's licensors or suppliers."),
+
+
+N("1. License Agreement"),
+
+N("Please read this document carefully. This document is a license agreement between you and
+Mageia which applies to the Software Products.
+By installing, duplicating or using any of the Software Products in any manner, you explicitly
+accept and fully agree to conform to the terms and conditions of this License.
+If you disagree with any portion of the License, you are not allowed to install, duplicate or use
+the Software Products.
+Any attempt to install, duplicate or use the Software Products in a manner which does not comply
+with the terms and conditions of this License is void and will terminate your rights under this
+License. Upon termination of the License, you must immediately destroy all copies of the
+Software Products."),
+
+
+N("2. Limited Warranty"),
+
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+N("The Software Products and attached documentation are provided \"as is\", with no warranty, to the
+extent permitted by law.
+Neither Mageia nor its licensors or suppliers will, in any circumstances and to the extent
+permitted by law, be liable for any special, incidental, direct or indirect damages whatsoever
+(including without limitation damages for loss of business, interruption of business, financial
+loss, legal fees and penalties resulting from a court judgment, or any other consequential loss)
+arising out of the use or inability to use the Software Products, even if Mageia or its
+licensors or suppliers have been advised of the possibility or occurrence of such damages.
+
+LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES
+
+To the extent permitted by law, neither Mageia nor its licensors, suppliers or
+distributors will, in any circumstances, be liable for any special, incidental, direct or indirect
+damages whatsoever (including without limitation damages for loss of business, interruption of
+business, financial loss, legal fees and penalties resulting from a court judgment, or any
+other consequential loss) arising out of the possession and use of software components or
+arising out of downloading software components from one of Mageia sites which are
+prohibited or restricted in some countries by local laws.
+This limited liability applies to, but is not restricted to, the strong cryptography components
+included in the Software Products.
+However, because some jurisdictions do not allow the exclusion or limitation of liability for
+consequential or incidental damages, the above limitation may not apply to you."),
+
+
+N("3. The GPLv2 License and Related Licenses"),
+
+N("The Software Products consist of components created by different persons or entities.
+Most of these licenses allow you to use, duplicate, adapt or redistribute the components which
+they cover. Please read carefully the terms and conditions of the license agreement for each component
+before using any component. Any question on a component license should be addressed to the component
+licensor or supplier and not to Mageia.
+The programs developed by Mageia are governed by the GPLv2 License. Documentation written
+by Mageia is governed by \"%s\" License.", "CC-By-SA"),
+
+
+N("4. Intellectual Property Rights"),
+
+N("All rights to the components of the Software Products belong to their respective authors and are
+protected by intellectual property and copyright laws applicable to software programs.
+Mageia and its suppliers and licensors reserves their rights to modify or adapt the Software
+Products, as a whole or in parts, by all means and for all purposes.
+\"Mageia\" and associated logos are trademarks of %s", "Mageia.Org"),
+
+
+N("5. Governing Laws"),
+
+N("If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this
+portion is excluded from this contract. You remain bound by the other applicable sections of the
+agreement.
+The terms and conditions of this License are governed by the Laws of France.
+All disputes on the terms of this license will preferably be settled out of court. As a last
+resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.
+For any question on this document, please contact Mageia."),
+ warning_about_patents()
+ );
+}
+
+sub warning_about_patents() {
+N("Warning: Free Software may not necessarily be patent free, and some Free
+Software included may be covered by patents in your country. For example, our
+tainted version of VLC contains components that may require a license for
+further usage (see https://www.videolan.org/press/patents.html for more
+details). If you are unsure if a patent may be applicable to you, check your
+local laws.");
+}
+
+sub install_completed() {
+ join("\n\n\n",
+ N("Congratulations, installation is complete.
+Remove the installation medium and press Enter to reboot."),
+ N("For information on fixes which are available for this release of Mageia,
+consult the Errata available from:\n%s", 'http://www.mageia.org/'),
+ N("After rebooting and logging into Mageia, you will see the MageiaWelcome screen.
+It is full of very useful information and links.")
+ );
+}
+
+1;
diff --git a/perl-install/mirror.pm b/perl-install/mirror.pm
new file mode 100644
index 000000000..11d55f06b
--- /dev/null
+++ b/perl-install/mirror.pm
@@ -0,0 +1,192 @@
+package mirror;
+
+use diagnostics;
+use strict;
+use feature 'state';
+
+use common;
+use log;
+
+=head1 SYNOPSYS
+
+B<mirror> enables to manage Mageia distribution mirrors
+
+=head1 Functions
+
+=over
+
+=cut
+
+=item mirror2text($mirror)
+
+Returns a displayable string from a mirror struct
+
+=cut
+
+sub mirror2text {
+ my ($mirror) = @_;
+ translate($mirror->{country}) . '|' . $mirror->{host} . ($mirror->{method} ? " ($mirror->{method})" : '');
+}
+
+=item register_downloader($func)
+
+Sets a downloader program
+
+=cut
+
+my $downloader;
+sub register_downloader {
+ my ($func) = @_;
+ $downloader = $func;
+}
+
+sub _mirrors_raw_install {
+ my ($list) = @_;
+ require install::http;
+ my $f = install::http::getFile($list, "strict-certificate-check" => 1) or die "mirror list not found";
+ local $SIG{ALRM} = sub { die "timeout" };
+ alarm 60;
+ log::l("using mirror list $list");
+ my @lines;
+ push @lines, $_ while <$f>;
+ alarm 0;
+ @lines;
+}
+
+sub _mirrors_raw_standalone {
+ my ($list) = @_;
+ my @lines;
+ if (ref($downloader)) {
+ @lines = $downloader->($list);
+ @lines or die "mirror list not found";
+ } else {
+ die "Missing download callback";
+ }
+ @lines;
+}
+
+=item mirrors_raw($product_id)
+
+Returns a list of mirrors hash refs from http://mirrors.mageia.org
+
+Note that in standalone mode, one has to actually use register_downloader()
+first in order to provide a downloader callback.
+
+=cut
+
+sub mirrors_raw {
+ my ($product_id) = @_;
+
+ #- contact the following URL to retrieve the list of mirrors.
+ #- http://wiki.mageia.org/en/Product_id
+ my $type = lc($product_id->{type}); $type =~ s/\s//g;
+ my $list = "https://mirrors.mageia.org/api/$type.$product_id->{version}.$product_id->{arch}.list?product=$product_id->{product}";
+ log::explanations("trying mirror list from $list");
+ my @lines = $::isInstall ? _mirrors_raw_install($list) : _mirrors_raw_standalone($list);
+ map { common::parse_LDAP_namespace_structure(chomp_($_)) } @lines;
+}
+
+=item list($product_id, $type)
+
+
+Returns a list of mirrors hash refs as returned by mirrors_raw() but filters it.
+
+One can select the type of mirrors ('distrib', 'updates', ...) or 'all'
+
+=cut
+
+sub list {
+ my ($product_id, $type) = @_;
+
+ our @mirrors_raw;
+ if (!@mirrors_raw) {
+ @mirrors_raw = eval { mirrors_raw($product_id) };
+ if (my $err = $@) {
+ log::explanations("failed to download mirror list");
+ die $err;
+ }
+ @mirrors_raw or log::explanations("empty mirror list"), return;
+ }
+
+ my @mirrors = grep {
+ ($_->{method}, $_->{host}, $_->{dir}) = $_->{url} =~ m!^(ftp|https?)://(.*?)(/.*)!;
+ $_->{method} && (member($type, 'all', $_->{type}));
+ } @mirrors_raw or log::explanations("no mirrors of type $type"), return;
+
+ @mirrors && \@mirrors;
+}
+
+=item nearest($timezone, $mirrors)
+
+Randomly returns one of the nearest mirror
+
+=cut
+
+#- TODO: The following code was forked from urpm::mirrors. Consider refactoring.
+
+sub nearest {
+ my ($timezone, $mirrors) = @_;
+
+ my ($latitude, $longitude, $country_code);
+
+ require Time::ZoneInfo;
+ if (my $zones = Time::ZoneInfo->new) {
+ if (($latitude, $longitude) = $zones->latitude_longitude_decimal($timezone)) {
+ $country_code = $zones->country($timezone);
+ }
+ }
+ defined $latitude && defined $longitude or return;
+
+ foreach (@$mirrors) {
+ $_->{latitude} || $_->{longitude} or next;
+ my $PI = 3.14159265358979;
+ my $x = $latitude - $_->{latitude};
+ my $y = ($longitude - $_->{longitude}) * cos($_->{latitude} / 180 * $PI);
+ $_->{proximity} = sqrt($x * $x + $y * $y);
+ }
+ my ($best) = sort { $a->{proximity} <=> $b->{proximity} } @$mirrors;
+
+ foreach (@$mirrors) {
+ $_->{proximity_corrected} = $_->{proximity} * _random_correction();
+ $_->{proximity_corrected} *= _between_country_correction($country_code, $_->{country}) if $best;
+ $_->{proximity_corrected} *= _between_continent_correction($best->{continent}, $_->{continent}) if $best;
+ $_->{proximity_corrected} *= _protocol_correction($_->{url});
+ }
+ ($best) = sort { $a->{proximity_corrected} <=> $b->{proximity_corrected} } @$mirrors;
+ $best;
+}
+
+# add +/- 5% random
+sub _random_correction() {
+ my $correction = 0.05;
+ 1 + (rand() - 0.5) * $correction * 2;
+}
+
+sub _between_country_correction {
+ my ($here, $mirror) = @_;
+ $here && $mirror or return 1;
+ $here eq $mirror ? 0.5 : 1;
+}
+
+sub _between_continent_correction {
+ my ($here, $mirror) = @_;
+ $here && $mirror or return 1;
+ $here eq $mirror ? 0.5 : # favor same continent
+ $here eq 'SA' && $mirror eq 'NA' ? 0.9 : # favor going "South America" -> "North America"
+ 1;
+}
+
+sub _protocol_correction {
+ my ($url) = @_;
+ # favor encrypted protocols, then http
+ ( $url =~ m!https://! ) and return 0.7;
+ ( $url =~ m!ftps://! ) and return 0.8;
+ ( $url =~ m!http://! ) and return 0.9;
+ 1;
+}
+
+=back
+
+=cut
+
+1;
diff --git a/perl-install/modalias.pm b/perl-install/modalias.pm
new file mode 100644
index 000000000..e1b61edc0
--- /dev/null
+++ b/perl-install/modalias.pm
@@ -0,0 +1,104 @@
+package modalias;
+
+# TODO:
+# - be faster (Elapsed time: lspcidrake.pl ~ 0.28s instead of 0.12s for old lspcidrake
+
+use strict;
+use MDK::Common;
+use c;
+
+my @config_groups = (
+ [
+ "/lib/module-init-tools/modprobe.default",
+ "/etc/modprobe.conf",
+ "/etc/modprobe.d",
+ ],
+);
+my @system_groups = (
+ [
+ "/lib/module-init-tools/ldetect-lst-modules.alias",
+ ],
+ [
+ "/lib/modules/" . c::kernel_version() . "/modules.alias",
+ ],
+);
+my @classes = qw(ide ieee1394 input pci pcmcia pnp serio usb);
+my @alias_groups;
+
+my $alias_re = qr/^\s*alias\s+(([^:]+):\S+)\s+(\S+)$/;
+
+sub alias_to_ids {
+ my ($alias) = @_;
+ my ($vendor, $device);
+ # returns (vendor, device)
+ if (($vendor, $device) = $alias =~ /:v([0-9A-F]{4})[dp]([0-9A-F]{4})/) {
+ return ($vendor, $device);
+ } elsif (($vendor, $device) = $alias =~ /:v0{4}([0-9A-F]{4})[dp]0{4}([0-9A-F]{4})/) {
+ return ($vendor, $device);
+ }
+}
+
+sub parse_path {
+ my ($group, $path) = @_;
+ if (-d $path) {
+ parse_path($group, "$path/$_") foreach all($path);
+ } elsif (-f $path) {
+ foreach (cat_($path)) {
+ if (my ($alias, $class, $module) = $_ =~ $alias_re) {
+ if (member($class, @classes)) {
+ my ($vendor, $device) = alias_to_ids($alias);
+ if ($vendor) {
+ $group->{$class} ||= {};
+ $group->{$class}{$vendor} ||= {};
+ $group->{$class}{$vendor}{$device} ||= [];
+ push @{$group->{$class}{$vendor}{$device}}, $alias, $module;
+ } else {
+ push @{$group->{$class}{other}}, $alias, $module;
+ }
+ }
+ }
+ }
+ }
+}
+
+sub parse_file_modules {
+ my ($path) = @_;
+ my %modules;
+ foreach (cat_($path)) {
+ if (my ($alias, undef, $module) = $_ =~ $alias_re) {
+ push @{$modules{$module}}, $alias;
+ }
+ }
+ \%modules;
+}
+
+sub get_alias_groups {
+ my ($o_skip_config) = @_;
+ #- FIXME: only o_skip_config from the first call is considered
+ @alias_groups = map {
+ my $group = {};
+ parse_path($group, $_) foreach @$_;
+ $group;
+ } if_(!$o_skip_config, @config_groups), @system_groups unless @alias_groups;
+ @alias_groups;
+}
+
+sub get_modules {
+ my ($modalias, $o_skip_config) = @_;
+ my ($class) = $modalias =~ /^([^:]+):\S+$/;
+ my ($vendor, $device) = alias_to_ids($modalias);
+ $class && member($class, @classes) or return;
+
+ require File::FnMatch;
+ foreach my $group (get_alias_groups($o_skip_config)) {
+ my @aliases;
+ foreach my $subgroup ($group->{$class}{$vendor}{$device}, $group->{$class}{other}) {
+ foreach (group_by2(@$subgroup)) {
+ File::FnMatch::fnmatch($_->[0], $modalias) and push @aliases, $_->[1];
+ }
+ }
+ return uniq(@aliases) if @aliases;
+ }
+}
+
+1;
diff --git a/perl-install/modules.pm b/perl-install/modules.pm
index 552774cf7..abeb0b366 100644
--- a/perl-install/modules.pm
+++ b/perl-install/modules.pm
@@ -1,20 +1,17 @@
-package modules; # $Id$
+package modules;
use strict;
-use vars qw(%conf);
use common;
use detect_devices;
use run_program;
use log;
use list_modules;
-
-%conf = ();
+use modules::any_conf;
sub modules_descriptions() {
my $f = '/lib/modules/' . c::kernel_version() . '/modules.description';
- -e $f or $f = '/lib/modules.description';
- map { /(\S+)\s+(.*)/ } cat_($f);
+ map { my ($m, $d) = /(\S+)\s+(.*)/; $m =~ s/-/_/g; ($m => $d) } cat_($f);
}
sub module2description { +{ modules_descriptions() }->{$_[0]} }
@@ -25,49 +22,132 @@ sub category2modules_and_description {
map { $_ => $modules_descriptions{$_} } category2modules($categories);
}
+my %mappings_24_26 = (
+ "usb_ohci" => "ohci_hcd",
+ "usb_uhci" => "uhci_hcd",
+ "uhci" => "uhci_hcd",
+ "printer" => "usblp",
+ "bcm4400" => "b44",
+ "3c559" => "3c359",
+ "3c90x" => "3c59x",
+ "dc395x_trm" => "dc395x",
+);
+my %mappings_26_24 = reverse %mappings_24_26;
+$mappings_26_24{uhci_hcd} = 'usb_uhci';
+
+my @parallel_zip_modules = qw(imm ppa);
+
+sub mapping_24_26 {
+ my ($modname) = @_;
+ $mappings_24_26{$modname} || $modname;
+}
+sub mapping_26_24 {
+ my ($modname) = @_;
+ $mappings_26_24{$modname} || $modname;
+}
+
+sub cond_mapping_24_26 {
+ my ($modname) = @_;
+ $mappings_24_26{$modname} || list_modules::filename2modname($modname);
+}
+
+sub module_is_available {
+ my ($module) = @_;
+ defined list_modules::modname2filename($module);
+}
+
#-###############################################################################
#- module loading
#-###############################################################################
-# handles dependencies
-# eg: load('vfat', 'reiserfs', [ ne2k => 'io=0xXXX', 'dma=5' ])
-sub load {
- #- keeping the order of modules
- my %options;
- my @l = map {
- my ($name, @options) = ref($_) ? @$_ : $_;
- $options{$name} = \@options;
- dependencies_closure($name);
- } @_;
-
- @l = difference2([ uniq(@l) ], [ loaded_modules() ]) or return;
-
- my $network_module = do {
- my ($network_modules, $other) = partition { module2category($_) =~ m,network/(main|gigabit|usb), } @l;
- if (@$network_modules > 1) {
- # do it one by one
- load($_) foreach @$network_modules;
- load(@$other);
- return;
+
+sub filter_loaded_modules {
+ my ($lm) = @_;
+
+ my $l;
+
+ # try to detect built-in modules by looking at /sys/module
+ # unfortunately it does not work for all modules eg :
+ # - networks protocols like af_packet
+ # - filesystems
+ foreach my $mod (@$lm) {
+ $mod =~ s/-/_/g;
+ if (-d "/sys/module/$mod") {
+ log::l("$mod already loaded");
+ } elsif ($mod =~ /af_packet/) {
+ if (-f "/proc/net/packet") {
+ log::l("$mod already loaded");
+ } else {
+ push @$l, $mod;
+ }
+ } elsif (cat_("/proc/filesystems") =~ /$mod/) {
+ log::l("$mod already loaded");
+ } elsif ($mod =~ /serial/) {
+ # hack ... must find who tries to load the module serial
+ } else {
+ push @$l, $mod;
}
- $network_modules->[0];
- };
- my @network_devices = $network_module ? detect_devices::getNet() : ();
-
- if ($::testing || $::blank) {
- log::l("i would load module $_ (" . join(" ", @{$options{$_}}) . ")") foreach @l;
- } elsif ($::isStandalone || $::live) {
- run_program::run('/sbin/modprobe', $_, @{$options{$_}})
- or !run_program::run('/sbin/modprobe', '-n', $_) #- ignore missing modules
- or die "insmod'ing module $_ failed" foreach @l;
+ }
+ $l;
+}
+
+# handles dependencies
+sub load_raw {
+ my ($lm, $h_options) = @_;
+
+ my $l = filter_loaded_modules($lm);
+
+ if ($::testing || $::local_install) {
+ log::l("i would load module $_ ($h_options->{$_})") foreach @$l;
} else {
- load_raw(map { [ $_ => $options{$_} ] } @l);
+ run_program::run('/sbin/modprobe', $_, split(' ', $h_options->{$_}))
+ or !run_program::run('/sbin/modprobe', '-n', $_) #- ignore missing modules
+ or die "insmod'ing module $_ failed" foreach @$l;
+ }
+ if (any { /^(mousedev|printer)$/ } @$l) {
+ sleep 2;
+ } elsif (member('usb_storage', @$l)) {
+ #- usb_storage is only modprobed when we know there is some scsi devices
+ #- so trying hard to wait for devices to be detected
+ run_program::run('udevadm', 'settle');
}
- sleep 2 if any { /^(usb-storage|mousedev|printer)$/ } @l;
+}
+sub load_with_options {
+ my ($l, $h_options) = @_;
+
+ my @l = map {
+ if_(member($_, 'plip', @parallel_zip_modules), 'parport_pc'),
+ if_($_ eq 'vfat', 'nls_cp437', 'nls_iso8859_1'),
+ if_(member($_, qw(btrfs xfs)), 'crc32c', 'crc32c-intel'),
+ cond_mapping_24_26($_);
+ } @$l;
+
+ @l = filter_out_loaded_modules(@l) or return;
+
+ my %options = map { cond_mapping_24_26($_) => $h_options->{$_} } keys %$h_options;
+ load_raw(\@l, \%options);
+}
+sub load {
+ my (@l) = @_;
+ load_with_options(\@l, {});
+}
+
+# eg: load_and_configure($modules_conf, 'bt878', [ bttv => 'no_overlay=1' ])
+sub load_and_configure {
+ my ($conf, $module, $o_options) = @_;
- if ($network_module) {
- add_alias($_, $network_module) foreach difference2([ detect_devices::getNet() ], \@network_devices);
+ my @l = filter_out_loaded_modules(cond_mapping_24_26($module));
+ load_raw(\@l, { cond_mapping_24_26($module) => $o_options });
+
+ if (member($module, @parallel_zip_modules)
+ && ! -d "/proc/sys/dev/parport/parport0/devices/$module") {
+ log::l("$module loaded but is not useful, removing");
+ unload($module);
+ return;
}
- when_load($_, @{$options{$_}}) foreach @l;
+
+ $conf->set_options($module, $o_options) if $o_options;
+
+ when_load($conf, $module);
}
sub unload {
@@ -79,267 +159,84 @@ sub unload {
}
sub load_category {
- my ($category, $o_wait_message) = @_;
-
- #- probe_category returns the PCMCIA cards. It doesn't know they are already
- #- loaded, so:
- read_already_loaded();
+ my ($conf, $category, $o_wait_message) = @_;
my @try_modules = (
if_($category =~ /scsi/,
- if_(arch() !~ /ppc/, 'imm', 'ppa'),
- if_(detect_devices::usbStorage(), 'usb-storage'),
- ),
- if_(arch() =~ /ppc/,
- if_($category =~ /scsi/, 'mesh', 'mac53c94'),
- if_($category =~ /net/, 'bmac', 'gmac', 'mace', 'airport'),
- if_($category =~ /sound/, 'dmasound_pmac'),
+ if_(detect_devices::usbStorage(), 'usb_storage'),
),
);
- grep {
+ my @l = (
+ (map {
+ my $other = { ahci => 'ata_piix', ata_piix => 'ahci' }->{$_->{driver}};
+ $_->{try} = 1 if $other;
+ ($_, if_($other, { %$_, driver => $other }));
+ } detect_devices::probe_category($category)),
+ (map { { driver => $_, description => $_, try => 1 } } @try_modules),
+ );
+
+ foreach (@l) {
$o_wait_message->($_->{description}, $_->{driver}) if $o_wait_message;
- eval { load([ $_->{driver}, $_->{options} ]) };
+ eval { load_and_configure($conf, $_->{driver}, $_->{options}) };
$_->{error} = $@;
- $_->{try} = 1 if member($_->{driver}, 'hptraid', 'ohci1394'); #- don't warn when this fails
-
- !($_->{error} && $_->{try});
- } probe_category($category),
- map { { driver => $_, description => $_, try => 1 } } @try_modules;
+ $_->{try} = 1 if member($_->{driver}, 'hptraid', 'ohci1394'); #- do not warn when this fails
+ }
+ eval { load_and_configure($conf, 'ide_generic') } if $category eq 'disk/ide';
+ grep { !($_->{error} && $_->{try}) } @l;
}
-sub probe_category {
- my ($category) = @_;
-
- my @modules = category2modules($category);
-
- grep {
- if ($category eq 'network/isdn') {
- my $b = $_->{driver} =~ /ISDN:([^,]*),?([^,]*)(?:,firmware=(.*))?/;
- if ($b) {
- $_->{driver} = $1;
- $_->{options} = $2;
- $_->{firmware} = $3;
- $_->{driver} eq "hisax" and $_->{options} .= " id=HiSax";
- }
- $b;
- } else {
- member($_->{driver}, @modules);
- }
- } detect_devices::probeall();
-}
+sub load_parallel_zip {
+ my ($conf) = @_;
-sub load_ide() {
- eval { load("ide-cd") }
+ grep {
+ eval { load_and_configure($conf, $_); 1 };
+ } @parallel_zip_modules;
}
-
#-###############################################################################
#- modules.conf functions
#-###############################################################################
-sub get_alias {
- my ($alias) = @_;
- $conf{$alias}{alias};
-}
-sub get_probeall {
- my ($alias) = @_;
- $conf{$alias}{probeall};
-}
-sub get_options {
- my ($name) = @_;
- $conf{$name}{options};
-}
-sub set_options {
- my ($name, $new_option) = @_;
- $conf{$name}{options} = $new_option;
-}
-sub add_alias {
- my ($alias, $module) = @_;
- $module =~ /ignore/ and return;
- /\Q$alias/ && $conf{$_}{alias} && $conf{$_}{alias} eq $module and return $_ foreach keys %conf;
- log::l("adding alias $alias to $module");
- $conf{$alias}{alias} = $module;
- $conf{$module}{above} = 'snd-pcm-oss' if $module =~ /^snd-/;
- $alias;
-}
-sub add_probeall {
- my ($alias, $module) = @_;
-
- my $l = $conf{$alias}{probeall} ||= [];
- @$l = uniq(@$l, $module);
- log::l("setting probeall $alias to @$l");
-}
-
-sub remove_alias($) {
- my ($name) = @_;
- foreach (keys %conf) {
- $conf{$_}{alias} && $conf{$_}{alias} eq $name or next;
- delete $conf{$_}{alias};
- return 1;
- }
- 0;
-}
-
-sub remove_module($) {
- my ($name) = @_;
- remove_alias($name);
- delete $conf{$name};
- 0;
-}
-
-sub read_conf {
- my ($file) = @_;
- my %c;
-
- foreach (cat_($file)) {
- next if /^\s*#/;
- s/#.*$//;
- my ($type, $alias, $val) = split(/\s+/, chomp_($_), 3) or next;
- $val =~ s/\s+$//;
-
- $val = [ split ' ', $val ] if $type eq 'probeall';
-
- $c{$alias}{$type} = $val;
- }
- #- cheating here: not handling aliases of aliases
- while (my ($_k, $v) = each %c) {
- if (my $a = $v->{alias}) {
- local $c{$a}{alias};
- delete $v->{probeall};
- add2hash($c{$a}, $v);
- }
- }
- #- convert old aliases to new probeall
- foreach my $name ('scsi_hostadapter', 'usb-interface') {
- my @old_aliases =
- map { $_->[0] } sort { $a->[1] <=> $b->[1] }
- map { if_(/^$name(\d*)/ && $c{$_}{alias}, [ $_, $1 || 0 ]) } keys %c;
- foreach my $alias (@old_aliases) {
- push @{$c{$name}{probeall} ||= []}, delete $c{$alias}{alias};
- }
- }
- # Convert alsa driver from old naming system to new one (snd-card-XXX => snd-XXX)
- # Ensure correct upgrade for snd-via683 and snd-via8233 drivers
- foreach my $alias (sort keys %c) {
- $c{$alias}{alias} =~ s/^snd-card/snd/;
- $c{$alias}{alias} = 'snd-via82xx' if $c{$alias}{alias} =~ /^snd-via686|^snd-via8233/;
- }
-
- \%c;
-}
-
-sub mergein_conf {
- my ($file) = @_;
- my $modconfref = read_conf($file);
- while (my ($key, $value) = each %$modconfref) {
- $conf{$key}{alias} = $value->{alias} if !exists $conf{$key}{alias};
- $conf{$key}{options} = $value->{options} if $value->{options};
- push @{$conf{$key}{probeall} ||= []}, deref($value->{probeall});
- }
+sub write_preload_conf {
+ my ($conf) = @_;
+ my @l;
+ my $is_laptop = detect_devices::isLaptop();
+ my $manufacturer = detect_devices::dmidecode_category('System')->{Manufacturer};
+ push @l, 'scsi_hostadapter' if $conf->get_probeall('scsi_hostadapter');
+ push @l, detect_devices::probe_name('Module');
+ push @l, 'nvram' if $is_laptop;
+ push @l, map { $_->{driver} } detect_devices::probe_category($_) foreach qw(multimedia/dvb multimedia/tv various/agpgart various/laptop input/joystick various/crypto disk/card_reader);
+ push @l, 'padlock-aes', 'padlock-sha' if cat_("/proc/cpuinfo") =~ /rng_en/;
+ push @l, 'evdev' if detect_devices::hasTouchpad();
+ push @l, 'evdev' if any { $_->{HWHEEL} } detect_devices::getInputDevices();
+ push @l, 'hdaps' if $is_laptop && $manufacturer eq 'LENOVO';
+ append_to_modules_loaded_at_startup("$::prefix/etc/modprobe.preload", @l);
}
-sub write_conf {
- my ($prefix) = @_;
-
- my $file = "$prefix/etc/modules.conf";
- rename "$prefix/etc/conf.modules", $file; #- make the switch to new name if needed
-
- #- Substitute new aliases in modules.conf (if config has changed)
- substInFile {
- my ($type, $alias, $module) = split(/\s+/, chomp_($_), 3);
- if ($type eq 'post-install' && $alias eq 'supermount') {
- #- remove the post-install supermount stuff.
- $_ = '';
- } elsif ($type eq 'alias' && $alias =~ /scsi_hostadapter|usb-interface/) {
- #- remove old aliases which are replaced by probeall
- $_ = '';
- } elsif ($type eq 'above') {
- # Convert alsa driver from old naming system to new one (snd-card-XXX => snd-XXX)
- # Ensure correct upgrade for snd-via683 and snd-via8233 drivers
- s/snd-card/snd/g;
- s/snd-via686|snd-via8233/snd-via82xx/g;
- } elsif ($conf{$alias}{$type} && $conf{$alias}{$type} ne $module) {
- my $v = join(' ', uniq(deref($conf{$alias}{$type})));
- $_ = "$type $alias $v\n";
- }
- } $file;
-
- my $written = read_conf($file);
-
- open(my $F, ">> $file") or die("cannot write module config file $file: $!\n");
- while (my ($mod, $h) = each %conf) {
- while (my ($type, $v) = each %$h) {
- my $v2 = join(' ', uniq(deref($v)));
- print $F "$type $mod $v2\n"
- if $v2 && !$written->{$mod}{$type};
- }
- }
- my @l;
- push @l, 'scsi_hostadapter' if !is_empty_array_ref($conf{scsi_hostadapter}{probeall});
- push @l, 'bttv' if any { $_->{driver} eq 'bttv' } detect_devices::probeall();
- append_to_etc_modules($prefix, @l);
+sub append_to_modules_loaded_at_startup_for_all_kernels {
+ append_to_modules_loaded_at_startup($_, @_) foreach "$::prefix/etc/modprobe.preload";
}
-sub append_to_etc_modules {
- my ($prefix, @l) = @_;
- my $l = join '|', map { '^\s*'.$_.'\s*$' } @l;
- log::l("to put in modules ", join(", ", @l));
+sub append_to_modules_loaded_at_startup {
+ my ($file, @l) = @_;
+ my $l = join '|', map { '^\s*' . $_ . '\s*$' } @l;
+ log::l("to put in $file ", join(", ", @l));
substInFile {
$_ = '' if $l && /$l/;
$_ .= join '', map { "$_\n" } @l if eof;
- } "$prefix/etc/modules";
-}
-
-sub read_stage1_conf {
- mergein_conf($_[0]);
+ } $file;
}
-#-###############################################################################
-#- pcmcia various
-#-###############################################################################
-sub configure_pcmcia {
- my ($pcic) = @_;
-
- #- try to setup pcmcia if cardmgr is not running.
- my $running if 0;
- return if $running;
- $running = 1;
-
- if (c::kernel_version() =~ /^2\.2/) {
- my $msg = N("PCMCIA support no longer exists for 2.2 kernels. Please use a 2.4 kernel.");
- log::l($msg);
- return $msg;
+sub set_preload_modules {
+ my ($service, @modules) = @_;
+ my $preload_file = "$::prefix/etc/modprobe.preload.d/$service";
+ if (@modules) {
+ output_p($preload_file, join("\n", @modules, ''));
+ } else {
+ unlink($preload_file);
}
-
- log::l("i try to configure pcmcia services");
-
- symlink "/tmp/stage2/$_", $_ foreach "/etc/pcmcia";
-
- eval {
- load("pcmcia_core");
- load($pcic);
- load("ds");
- };
-
- #- run cardmgr in foreground while it is configuring the card.
- run_program::run("cardmgr", "-f", "-m", "/modules");
- sleep(3);
-
- #- make sure to be aware of loaded module by cardmgr.
- read_already_loaded();
-}
-
-sub write_pcmcia {
- my ($prefix, $pcmcia) = @_;
-
- #- should be set after installing the package above otherwise the file will be renamed.
- setVarsInSh("$prefix/etc/sysconfig/pcmcia", {
- PCMCIA => bool2yesno($pcmcia),
- PCIC => $pcmcia,
- PCIC_OPTS => "",
- CORE_OPTS => "",
- });
+ eval { load(@modules) } if @modules && !$::isInstall;
}
@@ -349,79 +246,55 @@ sub write_pcmcia {
sub loaded_modules() {
map { /(\S+)/ } cat_("/proc/modules");
}
-sub read_already_loaded() {
- when_load($_) foreach reverse loaded_modules();
+sub filter_out_loaded_modules {
+ my (@l) = @_;
+ difference2([ uniq(@l) ], [ map { my $s = $_; $s =~ s/_/-/g; $s, $_ } loaded_modules() ]);
}
-sub when_load {
- my ($name, @options) = @_;
-
- load('snd-pcm-oss') if $name =~ /^snd-/;
- add_alias('ieee1394-controller', $name) if member($name, 'ohci1394');
- add_probeall('usb-interface', $name) if $name =~ /usb-[uo]hci/ || $name eq 'ehci-hcd';
+sub read_already_loaded {
+ my ($conf) = @_;
+ when_load($conf, $_) foreach reverse loaded_modules();
+}
- $conf{$name}{options} = join " ", @options if @options;
+sub when_load {
+ my ($conf, $name) = @_;
if (my $category = module2category($name)) {
- if ($category =~ m,disk/(scsi|hardware_raid|usb|firewire),) {
- add_probeall('scsi_hostadapter', $name) if $name ne 'usb-storage';
- eval { load('sd_mod') };
- }
- add_alias('sound-slot-0', $name) if $category =~ /sound/;
+ when_load_category($conf, $name, $category);
}
-}
-
-sub cz_file() {
- "/lib/modules" . (arch() eq 'sparc64' && "64") . ".cz-" . c::kernel_version();
-}
-sub extract_modules {
- my ($dir, @modules) = @_;
- my $cz = cz_file();
- if (!-e $cz) {
- unlink $_ foreach glob_("/lib/modules*.cz*");
- require install_any;
- install_any::getAndSaveFile("Mandrake/mdkinst$cz", $cz) or die "failed to get modules $cz: $!";
+ if (my @above = $conf->get_above($name)) {
+ load(@above); #- eg: for snd-pcm-oss set by set_sound_slot()
}
- eval {
- require packdrake;
- my $packer = new packdrake($cz, quiet => 1);
- $packer->extract_archive($dir, map { "$_.o" } @modules);
- };
}
-sub load_raw {
- my @l = @_;
-
- extract_modules('/tmp', map { $_->[0] } @l);
- my @failed = grep {
- my $m = "/tmp/$_->[0].o";
- if (-e $m && run_program::run(["/usr/bin/insmod_", "insmod"], '2>', '/dev/tty5', $m, @{$_->[1]})) {
- unlink $m;
- '';
- } else {
- log::l("missing module $_->[0]") if !-e $m;
- -e $m;
- }
- } @l;
-
- die "insmod'ing module " . join(", ", map { $_->[0] } @failed) . " failed" if @failed;
-
- foreach (@l) {
- if ($_->[0] =~ /usb-[uo]hci/) {
- eval {
- require fs; fs::mount('/proc/bus/usb', '/proc/bus/usb', 'usbdevfs');
- #- ensure keyboard is working, the kernel must do the job the BIOS was doing
- sleep 4;
- load("usbkbd", "keybdev") if detect_devices::usbKeyboards();
- }
- }
+sub when_load_category {
+ my ($conf, $name, $category) = @_;
+
+ if ($category =~ m,disk/ide,) {
+ $conf->add_probeall('ide-controller', $name);
+ eval { load('ide_gd_mod') };
+ } elsif ($category =~ m,disk/(scsi|hardware_raid|sata|firewire|virtual),) {
+ $conf->add_probeall('scsi_hostadapter', $name);
+ eval { load('sd_mod') };
+ } elsif ($category eq 'bus/usb') {
+ $conf->add_probeall('usb-interface', $name);
+ -f '/sys/kernel/debug/usb/devices' or eval {
+ require fs::mount; fs::mount::sys_kernel_debug('');
+ #- ensure keyboard is working, the kernel must do the job the BIOS was doing
+ sleep 4;
+ load("usbhid") if detect_devices::usbKeyboards();
+ };
+ } elsif ($category eq 'bus/firewire') {
+ $conf->set_alias('ieee1394-controller', $name);
+ } elsif ($category =~ /sound/) {
+ my $sound_alias = find { /^sound-slot-[0-9]+$/ && $conf->get_alias($_) eq $name } $conf->modules;
+ $sound_alias ||= 'sound-slot-0';
+ $conf->set_sound_slot($sound_alias, $name);
+ } elsif ($category =~ m!disk/card_reader!) {
+ my @modules = ('mmc_block', if_($name =~ /tifm_7xx1/, 'tifm_sd'));
+ $conf->set_above($name, join(' ', @modules));
}
}
-sub get_parameters {
- map { if_(/(.*)=(.*)/, $1 => $2) } split(' ', get_options($_[0]));
-}
-
-
1;
diff --git a/perl-install/modules/any_conf.pm b/perl-install/modules/any_conf.pm
new file mode 100644
index 000000000..c235e84f4
--- /dev/null
+++ b/perl-install/modules/any_conf.pm
@@ -0,0 +1,213 @@
+package modules::any_conf;
+
+use log;
+use common;
+
+
+sub vnew {
+ require modules::modprobe_conf;
+ modules::modprobe_conf->new;
+}
+
+
+sub new {
+ my ($type) = @_;
+ bless {}, ref($type) || $type;
+}
+
+sub modules {
+ my ($conf) = @_;
+ keys %$conf;
+}
+
+sub get_alias {
+ my ($conf, $alias) = @_;
+ $conf->{$alias}{alias};
+}
+sub get_options {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+ $conf->{$module}{options};
+}
+sub set_options {
+ my ($conf, $module, $new_option) = @_;
+ $module = $conf->mapping($module);
+ log::explanations(qq(set option "$new_option" for module "$module"));
+ $conf->{$module}{options} = $new_option;
+}
+sub get_parameters {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+ map { if_(/(.*)=(.*)/, $1 => $2) } split(' ', $conf->get_options($module));
+}
+
+sub get_probeall {
+ my ($conf, $alias) = @_;
+ $conf->{$alias}{probeall};
+}
+sub _set_probeall {
+ my ($conf, $alias, $modules) = @_;
+ $conf->{$alias}{probeall} = $modules;
+ log::explanations("setting probeall $alias to $modules");
+}
+sub add_probeall {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ my $modules = join(' ', uniq(split(' ', $conf->{$alias}{probeall}), $module));
+ _set_probeall($conf, $alias, $modules);
+}
+sub remove_probeall {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ my $modules = join(' ', grep { $_ ne $module } split(' ', $conf->{$alias}{probeall}));
+ _set_probeall($conf, $alias, $modules);
+}
+
+sub set_alias {
+ my ($conf, $alias, $module) = @_;
+ $module =~ /ignore/ and return;
+ $module = $conf->mapping($module);
+ /\Q$alias/ && $conf->{$_}{alias} && $conf->{$_}{alias} eq $module and return $_ foreach keys %$conf;
+ log::explanations("adding alias $alias to $module");
+ $conf->{$alias}{alias} = $module;
+ $alias;
+}
+
+
+sub remove_alias {
+ my ($conf, $name) = @_;
+ log::explanations(qq(removing alias "$name"));
+ $conf->remove_alias_regexp("^$name\$");
+}
+
+sub remove_alias_regexp {
+ my ($conf, $aliased) = @_;
+ log::explanations(qq(removing all aliases that match "$aliased"));
+ foreach (keys %$conf) {
+ delete $conf->{$_}{alias} if /$aliased/;
+ }
+}
+
+sub remove_alias_regexp_byname {
+ my ($conf, $name) = @_;
+ log::explanations(qq(removing all aliases which names match "$name"));
+ foreach (keys %$conf) {
+ delete $conf->{$_} if /$name/;
+ }
+}
+
+sub remove_module {
+ my ($conf, $module) = @_;
+ return if !$module;
+ $module = $conf->mapping($module);
+ foreach my $file ("$::prefix/etc/modules", "$::prefix/etc/modprobe.preload") {
+ substInFile {
+ undef $_ if /^$module/;
+ } $file;
+ }
+
+ $conf->remove_alias($module);
+ log::explanations("removing module $module");
+ delete $conf->{$module};
+ 0;
+}
+
+sub set_sound_slot {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ if (my $old = $conf->get_alias($alias)) {
+ $conf->set_above($old, undef);
+ }
+ $conf->set_alias($alias, $module);
+ $conf->set_above($module, 'snd-pcm-oss') if $module =~ /^snd-/;
+}
+
+
+sub read {
+ my (undef, $o_file) = @_;
+
+ my $conf = vnew();
+ $conf->read($o_file);
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || $::prefix . $conf->file;
+
+ my %written;
+
+ #- Substitute new config (if config has changed)
+ substInFile {
+ my ($type, $module, $val) = split(' ', chomp_($_), 3);
+ if (member($type, $conf->handled_fields)) {
+ my $new_val = $conf->{$module}{$type};
+ if (!$new_val) {
+ $_ = '';
+ } elsif ($new_val ne $val) {
+ $_ = "$type $module $new_val\n";
+ }
+ }
+ $written{$module}{$type} = 1;
+ } $file;
+
+ my $to_add;
+ while (my ($module, $h) = each %$conf) {
+ while (my ($type, $v) = each %$h) {
+ if ($v && !$written{$module}{$type}) {
+ $to_add .= "$type $module $v\n";
+ }
+ }
+ }
+ append_to_file($file, $to_add);
+
+ modules::write_preload_conf($conf);
+}
+
+sub merge_into {
+ my ($conf, $conf2) = @_;
+
+ if (ref($conf) eq ref($conf2)) {
+ log::l("merging " . ref($conf));
+ add2hash($conf, $conf2);
+ } else {
+ log::l("not merging modules_conf " . ref($conf2) . " into " . ref($conf));
+ }
+}
+
+################################################################################
+sub read_handled {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || $::prefix . $conf->file;
+ my $raw_conf = read_raw($file);
+
+ foreach my $module (keys %$raw_conf) {
+ my $raw = $raw_conf->{$module};
+ my $keep = $conf->{$module} = {};
+ foreach ($conf->handled_fields) {
+ $keep->{$_} = $raw->{$_} if $raw->{$_};
+ }
+ }
+
+ $conf;
+}
+
+sub read_raw {
+ my ($file) = @_;
+ my %c;
+
+ foreach (cat_($file)) {
+ next if /^\s*#/;
+ s/#.*$//;
+ s/\s+$//;
+
+ my ($type, $module, $val) = split(' ', $_, 3) or next;
+
+ $c{$module}{$type} = $val;
+ }
+
+ #- NB: not copying alias options to the module anymore, hopefully not useful :)
+
+ \%c;
+}
+
+1;
diff --git a/perl-install/modules/interactive.pm b/perl-install/modules/interactive.pm
index 1c1e3bba8..dae135889 100644
--- a/perl-install/modules/interactive.pm
+++ b/perl-install/modules/interactive.pm
@@ -1,40 +1,43 @@
package modules::interactive;
-use interactive;
+
use modules;
use common;
sub config_window {
my ($in, $data) = @_;
require modules;
- modules::mergein_conf('/etc/modules.conf');
- my %conf = modules::get_parameters($data->{driver});
+ my $modules_conf = modules::any_conf->read;
+ my %conf = $modules_conf->get_parameters($data->{driver});
require modules::parameters;
my @l;
foreach (modules::parameters::parameters($data->{driver})) {
- my ($name, $format, $description) = @$_;
- push @l, { label => $name, help => "$description\n[$format]", val => \$conf{$name}, allow_empty_list => 1 };
+ my ($name, $description) = @$_;
+ push @l, { label => $name, help => $description,
+ val => \$conf{$name}, allow_empty_list => 1 };
+ }
+ if (!@l) {
+ $in->ask_warn(N("Error"), N("This driver has no configuration parameter!"));
+ return;
}
- # BUG: once we've released mdk9.2 and unfreeze cooker, morph this
- # into a proper error dialog with a nice error message (but
- # for now we cannot due to string freeze :-()
- @l = { label => N("Parameters"), help => "", val => N("NONE"), allow_empty_list => 1 } if -1 == $#l;
if ($in->ask_from(N("Module configuration"), N("You can configure each parameter of the module here."), \@l)) {
- my $options = join(' ', map { if_($conf{$_}, "$_=$conf{$_}") } keys %conf);
- if ($options) {
- modules::set_options($data->{driver}, $options);
- modules::write_conf;
- }
+ my $options = join(' ', map { if_($conf{$_} =~ /^\S+$/, "$_=$conf{$_}") } keys %conf);
+ my $old_options = $modules_conf->get_options($data->{driver});
+ if ($options ne $old_options) {
+ $modules_conf->set_options($data->{driver}, $options);
+ $modules_conf->write;
+ }
}
}
sub load_category {
- my ($in, $category, $b_auto, $b_at_least_one) = @_;
+ my ($in, $modules_conf, $category, $b_auto, $b_at_least_one) = @_;
my @l;
{
my $w;
- my $wait_message = sub { $w = wait_load_module($in, $category, @_) };
- @l = modules::load_category($category, $wait_message);
+ my $wait_message = sub { undef $w; $w = wait_load_module($in, $category, @_) };
+ @l = modules::load_category($modules_conf, $category, $wait_message);
+ undef $w; #- help perl_checker
}
if (my @err = grep { $_ } map { $_->{error} } @l) {
my $return = $in->ask_warn('', join("\n", @err));
@@ -45,72 +48,85 @@ sub load_category {
@l = map { $_->{description} } @l;
if ($b_at_least_one && !@l) {
- @l = load_category__prompt($in, $category) or return;
+ @l = load_category__prompt($in, $modules_conf, $category) or return;
}
- load_category__prompt_for_more($in, $category, @l);
+ load_category__prompt_for_more($in, $modules_conf, $category, @l);
}
sub load_category__prompt_for_more {
- my ($in, $category, @l) = @_;
+ my ($in, $modules_conf, $category, @l) = @_;
(my $msg_type = $category) =~ s/\|.*//;
while (1) {
my $msg = @l ?
- [ N("Found %s %s interfaces", join(", ", @l), $msg_type),
+ [ N("Found %s interfaces", join(", ", map { qq("$_") } @l)),
N("Do you have another one?") ] :
N("Do you have any %s interfaces?", $msg_type);
my $r = 'No';
$in->ask_from_({ messages => $msg,
- if_($category =~ m|disk/scsi|, interactive_help_id => 'setupSCSI'),
+ if_($category =~ m!disk/.*(ide|sata|scsi|hardware_raid|usb|firewire)!, interactive_help_id => 'setupSCSI'),
},
[ { list => [ N_("Yes"), N_("No"), N_("See hardware info") ], val => \$r, type => 'list', format => \&translate } ]);
if ($r eq "No") { return @l }
if ($r eq "Yes") {
- push @l, load_category__prompt($in, $category) || next;
+ push @l, load_category__prompt($in, $modules_conf, $category) || next;
} else {
$in->ask_warn('', join("\n", detect_devices::stringlist()));
}
}
}
+my %category2text = (
+ 'bus/usb' => N_("Installing driver for USB controller"),
+ 'bus/firewire' => N_("Installing driver for firewire controller \"%s\""),
+ 'disk/card_reader|ide|scsi|hardware_raid|sata|firewire|virtual' => N_("Installing driver for hard disk drive controller \"%s\""),
+ list_modules::ethernet_categories() => N_("Installing driver for ethernet controller \"%s\""),
+);
+
sub wait_load_module {
- my ($in, $category, $text, $module) = @_;
- $in->wait_message('',
- [
- #-PO: the first %s is the card type (scsi, network, sound,...)
- #-PO: the second is the vendor+model name
- N("Installing driver for %s card %s", $category, $text), if_($::expert, N("(module %s)", $module))
- ]);
+ my ($in, $category, $text, $_module) = @_;
+ my $msg = do {
+ if (my $t = $category2text{$category}) {
+ sprintf(translate($t), $text);
+ } else {
+ #-PO: the first %s is the card type (scsi, network, sound,...)
+ #-PO: the second is the vendor+model name
+ N("Installing driver for %s card %s", $category, $text);
+ }
+ };
+ $in->wait_message(N("Configuring Hardware"), $msg);
}
sub load_module__ask_options {
my ($in, $module_descr, $parameters) = @_;
- my @parameters = map { [ @$_[0, 1, 2] ] } @$parameters;
+ #- deep copying
+ my @parameters = map { [ @$_[0, 1] ] } @$parameters;
if (@parameters) {
$in->ask_from('',
N("You may now provide options to module %s.\nNote that any address should be entered with the prefix 0x like '0x123'", $module_descr),
- [ map { { label => $_->[0] . ($_->[1] ? " ($_->[1])" : ''), help => $_->[2], val => \$_->[3] } } @parameters ],
+ [ map { { label => $_->[0], help => $_->[1], val => \$_->[2] } } @parameters ],
) or return;
- [ map { if_($_->[3], "$_->[0]=$_->[3]") } @parameters ];
+ join(' ', map { if_($_->[2], "$_->[0]=$_->[2]") } @parameters);
} else {
my $s = $in->ask_from_entry('',
N("You may now provide options to module %s.
Options are in format ``name=value name2=value2 ...''.
For instance, ``io=0x300 irq=7''", $module_descr), N("Module options:")) or return;
- [ split ' ', $s ];
+ $s;
}
}
sub load_category__prompt {
- my ($in, $category) = @_;
+ my ($in, $modules_conf, $category) = @_;
(my $msg_type = $category) =~ s/\|.*//;
- my %available_modules = map_each { $::a => $::b ? "$::a ($::b)" : $::a } modules::category2modules_and_description($category);
+
+ my %available_modules = map_each { my $dsc = $::b; $dsc =~ s/\s+/ /g; $::a => $dsc ? "$::a ($dsc)" : $::a } modules::category2modules_and_description($category);
my $module = $in->ask_from_listf('',
#-PO: the %s is the driver type (scsi, network, sound,...)
N("Which %s driver should I try?", $msg_type),
@@ -133,7 +149,7 @@ not cause any damage.", $module_descr)), [ N_("Autoprobe"), N_("Specify options"
eval {
my $_w = wait_load_module($in, $category, $module_descr, $module);
log::l("user asked for loading module $module (type $category, desc $module_descr)");
- modules::load([ $module, @$options ]);
+ modules::load_and_configure($modules_conf, $module, $options);
};
return $module_descr if !$@;
diff --git a/perl-install/modules/modprobe_conf.pm b/perl-install/modules/modprobe_conf.pm
new file mode 100644
index 000000000..7989096f8
--- /dev/null
+++ b/perl-install/modules/modprobe_conf.pm
@@ -0,0 +1,164 @@
+package modules::modprobe_conf;
+
+use log;
+use common;
+# perl_checker: require modules::any_conf
+
+our @ISA = qw(modules::any_conf);
+
+
+sub file { '/etc/modprobe.conf' }
+sub handled_fields { qw(alias options install remove) }
+
+sub mapping {
+ my ($_conf, @modules) = @_;
+ my @l = map { modules::mapping_24_26($_) } @modules;
+ wantarray() ? @l : $l[0];
+}
+
+sub get_above {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+
+ my (undef, $after) = parse_non_virtual($module, $conf->{$module}{install}) or return;
+ my ($l, $_other_cmds) = partition_modprobes($after);
+ @$l;
+}
+sub set_above {
+ my ($conf, $module, $o_modules) = @_;
+ $module = $conf->mapping($module);
+ my @modules = $conf->mapping(split(' ', $o_modules || ''));
+
+ { #- first add to "install" command
+ my ($before, $after) = parse_non_virtual($module, $conf->{$module}{install});
+ my ($_previous_modules, $other_cmds) = partition_modprobes($after || '');
+ $after = join('; ', @$other_cmds, map { "/sbin/modprobe $_" } @modules);
+ $conf->{$module}{install} = unparse_non_virtual($module, '--ignore-install', $before, $after);
+ }
+ { #- then to "remove" command
+ my ($before, $after) = parse_non_virtual($module, $conf->{$module}{remove});
+ my ($_previous_modules, $other_cmds) = partition_modprobes($before || '');
+ $before = join('; ', @$other_cmds, map { "/sbin/modprobe -r $_" } @modules);
+ $conf->{$module}{remove} = unparse_non_virtual($module, '-r --ignore-remove', $before, $after);
+ }
+}
+
+sub create_from_old() {
+ #- use module-init-tools script
+ run_program::rooted($::prefix, "/sbin/generate-modprobe.conf", ">", file());
+}
+
+sub read {
+ my ($type, $o_file) = @_;
+
+ my $file = $o_file || do {
+ my $f = $::prefix . file();
+ if (!-e $f && -e "$::prefix/etc/modules.conf") {
+ create_from_old();
+ }
+ $f;
+ };
+
+ my $conf = modules::any_conf::read_handled($type, $file);
+
+ extract_probeall_field($conf);
+
+ $conf;
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+
+ remove_probeall_field($conf);
+
+ my $_b = before_leaving { extract_probeall_field($conf) };
+
+ modules::any_conf::write($conf, $o_file);
+}
+
+
+
+################################################################################
+sub remove_braces {
+ my ($s) = @_;
+ $s =~ s/^\s*\{\s*(.*)\s*;\s*\}\s*$/$1/;
+ $s;
+}
+
+sub parse_non_virtual {
+ my ($module, $s) = @_;
+ my ($before, $options, $after) =
+ $s =~ m!^(?:(.*);)?
+ \s*(?:/sbin/)?modprobe\s+(-\S+\s+)*\Q$module\E
+ \s*(?:&&\s*(.*))?$!x
+ or return;
+ $options =~ /--ignore-(install|remove)\b/ or return;
+
+ ($before, $after) = map { remove_braces($_ || '') } $before, $after;
+ $after =~ s!\s*;\s*/bin/true$!!;
+
+ $before, $after;
+}
+
+sub unparse_non_virtual {
+ my ($module, $mode, $before, $after) = @_;
+ ($before ? "$before; " : '')
+ . (($before || $after) ? "/sbin/modprobe --first-time $mode $module" : '')
+ . ($after ? " && { $after; /bin/true; }" : '');
+}
+
+sub partition_modprobes {
+ my ($s) = @_;
+
+ my (@modprobes, @other_cmds);
+ my @l = split(/\s*;\s*/, $s);
+ foreach (@l) {
+ if (m!^(?:/sbin/)?modprobe\s+(?:-r\s+)?(\S+)$!) {
+ push @modprobes, $1;
+ } else {
+ push @other_cmds, $1;
+ }
+ }
+ \@modprobes, \@other_cmds;
+}
+
+sub parse_for_probeall {
+ my ($module, $s) = @_;
+
+ parse_non_virtual($module, $s) and return;
+ if ($s =~ /[{&|]/) {
+ log::l("weird install line in modprobe.conf for $module: $s");
+ return;
+ }
+ $s ne '/bin/true' or return; #- we have "alias $module off" here
+
+ $s =~ s!\s*;\s*/bin/true$!!;
+
+ my ($l, $other_cmds) = partition_modprobes($s);
+
+ @$other_cmds ? undef : $l;
+}
+
+sub extract_probeall_field {
+ my ($conf) = @_;
+
+ foreach my $module (keys %$conf) {
+ $conf->{$module}{install} or next;
+ my $l = parse_for_probeall($module, $conf->{$module}{install}) or next;
+
+ $conf->{$module}{probeall} = join(' ', @$l);
+ delete $conf->{$module}{install};
+ }
+}
+
+sub remove_probeall_field {
+ my ($conf) = @_;
+
+ foreach my $module (keys %$conf) {
+ my $modules = delete $conf->{$module}{probeall} or next;
+
+ $conf->{$module}{install} = join('; ', (map { "/sbin/modprobe $_" } split(' ', $modules)), '/bin/true');
+ }
+}
+
+1;
diff --git a/perl-install/modules/modules_conf.pm b/perl-install/modules/modules_conf.pm
new file mode 100644
index 000000000..be4b8fca4
--- /dev/null
+++ b/perl-install/modules/modules_conf.pm
@@ -0,0 +1,71 @@
+package modules::modules_conf;
+
+use log;
+use common;
+# perl_checker: require modules::any_conf
+
+our @ISA = qw(modules::any_conf);
+
+
+sub file { '/etc/modules.conf' }
+sub handled_fields { qw(alias above options probeall) }
+
+sub mapping {
+ my ($_conf, @modules) = @_;
+ my @l = map { modules::mapping_26_24($_) } @modules;
+ wantarray() ? @l : $l[0];
+}
+
+sub get_above {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+
+ $conf->{$module} && split(' ', $conf->{$module}{above});
+}
+sub set_above {
+ my ($conf, $module, $o_modules) = @_;
+ $module = $conf->mapping($module);
+
+ if ($o_modules) {
+ my $modules = join(' ', $conf->mapping(split(' ', $o_modules)));
+ $conf->{$module}{above} = $modules;
+ } else {
+ delete $conf->{$module}{above};
+ }
+}
+
+sub read {
+ my ($type, $o_file) = @_;
+
+ my $conf = modules::any_conf::read_handled($type, $o_file);
+
+ #- convert old aliases to new probeall
+ foreach my $name ('scsi_hostadapter', 'usb-interface') {
+ my @old_aliases =
+ map { $_->[0] } sort { $a->[1] <=> $b->[1] }
+ map { if_(/^$name(\d*)/ && $conf->{$_}{alias}, [ $_, $1 || 0 ]) } keys %$conf;
+ foreach my $alias (@old_aliases) {
+ $conf->add_probeall($name, delete $conf->{$alias}{alias});
+ }
+ }
+
+ $conf;
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || do {
+ my $f = $::prefix . file();
+ rename "$::prefix/etc/conf.modules", $f; #- make the switch to new name if needed
+ $f;
+ };
+
+ modules::any_conf::write($conf, $file);
+
+ if ($::isInstall) {
+ require modules::modprobe_conf;
+ modules::modprobe_conf::create_from_old();
+ }
+}
+
+1;
diff --git a/perl-install/modules/parameters.pm b/perl-install/modules/parameters.pm
index f480ca31a..36990b5d1 100644
--- a/perl-install/modules/parameters.pm
+++ b/perl-install/modules/parameters.pm
@@ -1,4 +1,4 @@
-package modules::parameters; # $Id$
+package modules::parameters;
use diagnostics;
use strict;
@@ -13,45 +13,11 @@ use modules;
sub parameters {
my ($module) = @_;
- if (!$::isStandalone && !$::testing) {
- modules::extract_modules('/tmp', $module);
- $module = "/tmp/$module.o";
- }
-
- my @parameters;
- foreach (common::join_lines(run_program::get_stdout('modinfo', '-p', $module))) {
+ map {
chomp;
- next if /^warning:/;
- (my $name, $_) = /(\S+)\s+(.*)/s or warn "modules::parameters::get_options_name($module): unknown line\n";
-
- my $c_types = 'int|string|short|byte|char|long';
- my ($is_a_number, $description, $min, $max) = (0, '', 1, 1);
- if (/^($c_types) array \(min = (\d+), max = (\d+)\),?\s*(.*)/s) {
- $_ = $4;
- #- seems like "char" are buggy entries
- ($is_a_number, $min, $max) = ($1 ne 'string', $2, $3) if $1 ne 'char';
- } elsif (/^($c_types),?\s*(.*)/s) {
- $_ = $2;
- #- here "char" really are size-limited strings, modinfo doesn't display the size limit (but since we don't care about it, it doesn't matter :)
- $is_a_number = $1 ne 'string' if $1 ne 'char';
- } else {
- #- for things like "no format character" or "unknown format character"
- }
- if (/^description "(.*)",?\s*/s) {
- ($description, $_) = ($1, $2);
- }
- #- print "STILL HAVE ($_)\n" if $_;
-
- my $format = $min == 1 && $max == 1 ?
- ($is_a_number ? N("a number") : '') :
- $min == $max ?
- ($is_a_number ? N("%d comma separated numbers", $min) : N("%d comma separated strings", $min)) :
- $min == 1 ?
- ($is_a_number ? N("comma separated numbers") : N("comma separated strings")) :
- ''; #- too weird and buggy, do not display it
- push @parameters, [ $name, $format, $description ];
- }
- @parameters;
+ (my $name, $_) = /(\w+):(.*)/s or warn "modules::parameters::parameters($module): unknown line\n";
+ [ $name, $_ ];
+ } common::join_lines(run_program::get_stdout('modinfo', '-p', $module));
}
1;
diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm
deleted file mode 100644
index 6a573ace7..000000000
--- a/perl-install/mouse.pm
+++ /dev/null
@@ -1,572 +0,0 @@
-package mouse; # $Id$
-
-#use diagnostics;
-#use strict;
-
-#-######################################################################################
-#- misc imports
-#-######################################################################################
-use common;
-use modules;
-use detect_devices;
-use run_program;
-use devices;
-use modules;
-use any;
-use log;
-
-my @mouses_fields = qw(nbuttons MOUSETYPE XMOUSETYPE name EMULATEWHEEL);
-
-my %mice =
- arch() =~ /^sparc/ ?
-(
- 'sunmouse' =>
- [ [ 'sunmouse' ],
- [ [ 3, 'sun', 'sun', N_("Sun - Mouse") ]
- ] ]
-) :
-(
- 'PS/2' =>
- [ [ 'psaux' ],
- [ [ 2, 'ps/2', 'PS/2', N_("Standard") ],
- [ 5, 'ps/2', 'MouseManPlusPS/2', N_("Logitech MouseMan+") ],
- [ 5, 'imps2', 'IMPS/2', N_("Generic PS2 Wheel Mouse") ],
- [ 5, 'ps/2', 'GlidePointPS/2', N_("GlidePoint") ],
- '',
- [ 5, 'ps/2', 'ThinkingMousePS/2', N_("Kensington Thinking Mouse") ],
- [ 5, 'netmouse', 'NetMousePS/2', N_("Genius NetMouse") ],
- [ 5, 'netmouse', 'NetScrollPS/2', N_("Genius NetScroll") ],
- [ 7, 'ps/2', 'ExplorerPS/2', N_("Microsoft Explorer") ],
- ] ],
-
- 'USB' =>
- [ [ 'usbmouse' ],
- [ [ 1, 'ps/2', 'IMPS/2', N_("1 button") ],
- [ 2, 'ps/2', 'IMPS/2', N_("Generic 2 Button Mouse") ],
- [ 3, 'ps/2', 'IMPS/2', N_("Generic") ],
- [ 3, 'ps/2', 'IMPS/2', N_("Generic 3 Button Mouse with Wheel emulation"), 'wheel' ],
- [ 5, 'ps/2', 'IMPS/2', N_("Wheel") ],
- [ 7, 'ps/2', 'ExplorerPS/2', N_("Microsoft Explorer") ],
- ] ],
-
- N_("serial") =>
- [ [ map { "ttyS$_" } 0..3 ],
- [ [ 2, 'Microsoft', 'Microsoft', N_("Generic 2 Button Mouse") ],
- [ 3, 'Microsoft', 'Microsoft', N_("Generic 3 Button Mouse") ],
- [ 3, 'Microsoft', 'Microsoft', N_("Generic 3 Button Mouse with Wheel emulation"), 'wheel' ],
- [ 5, 'ms3', 'IntelliMouse', N_("Microsoft IntelliMouse") ],
- [ 3, 'MouseMan', 'MouseMan', N_("Logitech MouseMan") ],
- [ 3, 'MouseMan', 'MouseMan', N_("Logitech MouseMan with Wheel emulation"), 'wheel' ],
- [ 2, 'MouseSystems', 'MouseSystems', N_("Mouse Systems") ],
- '',
- [ 3, 'logim', 'MouseMan', N_("Logitech CC Series") ],
- [ 3, 'logim', 'MouseMan', N_("Logitech CC Series with Wheel emulation"), 'wheel' ],
- [ 5, 'pnp', 'IntelliMouse', N_("Logitech MouseMan+/FirstMouse+") ],
- [ 5, 'ms3', 'IntelliMouse', N_("Genius NetMouse") ],
- [ 2, 'MMSeries', 'MMSeries', N_("MM Series") ],
- [ 2, 'MMHitTab', 'MMHittab', N_("MM HitTablet") ],
- [ 3, 'Logitech', 'Logitech', N_("Logitech Mouse (serial, old C7 type)") ],
- [ 3, 'Logitech', 'Logitech', N_("Logitech Mouse (serial, old C7 type) with Wheel emulation"), 'wheel' ],
- [ 3, 'Microsoft', 'ThinkingMouse', N_("Kensington Thinking Mouse") ],
- [ 3, 'Microsoft', 'ThinkingMouse', N_("Kensington Thinking Mouse with Wheel emulation"), 'wheel' ],
- ] ],
-
- N_("busmouse") =>
- [ [ arch() eq 'ppc' ? 'adbmouse' : ('atibm', 'inportbm', 'logibm') ],
- [ if_(arch() eq 'ppc', [ 1, 'Busmouse', 'BusMouse', N_("1 button") ]),
- [ 2, 'Busmouse', 'BusMouse', N_("2 buttons") ],
- [ 3, 'Busmouse', 'BusMouse', N_("3 buttons") ],
- [ 3, 'Busmouse', 'BusMouse', N_("3 buttons with Wheel emulation"), 'wheel' ],
- ] ],
-
- N_("none") =>
- [ [ 'none' ],
- [ [ 0, 'none', 'Microsoft', N_("No mouse") ],
- ] ],
-);
-
-
-sub xmouse2xId {
- #- xmousetypes must be sorted as found in /usr/include/X11/extensions/xf86misc.h
- #- so that first mean "0", etc
- my @xmousetypes = (
- "Microsoft",
- "MouseSystems",
- "MMSeries",
- "Logitech",
- "BusMouse", #MouseMan,
- "Logitech",
- "PS/2",
- "MMHittab",
- "GlidePoint",
- "IntelliMouse",
- "ThinkingMouse",
- "IMPS/2",
- "ThinkingMousePS/2",
- "MouseManPlusPS/2",
- "GlidePointPS/2",
- "NetMousePS/2",
- "NetScrollPS/2",
- "SysMouse",
- "Auto",
- "AceCad",
- "ExplorerPS/2",
- "USB",
- );
- my ($id) = @_;
- $id = 'BusMouse' if $id eq 'MouseMan';
- $id = 'IMPS/2' if $id eq 'ExplorerPS/2' && $::isInstall;
- eval { find_index { $_ eq $id } @xmousetypes } || 0;
-}
-
-my %mouse_btn_keymap = (
- 0 => "NONE",
- 67 => "F9",
- 68 => "F10",
- 87 => "F11",
- 88 => "F12",
- 85 => "F13",
- 89 => "F14",
- 90 => "F15",
- 56 => "L-Option/Alt",
- 125 => "L-Command (Apple)",
- 98 => "Num: /",
- 55 => "Num: *",
- 117 => "Num: =",
- 96 => "Enter",
-);
-sub ppc_one_button_keys() { keys %mouse_btn_keymap }
-sub ppc_one_button_key2text { $mouse_btn_keymap{$_[0]} }
-
-sub raw2mouse {
- my ($type, $raw) = @_;
- $raw or return;
-
- my %l; @l{@mouses_fields} = @$raw;
- +{ %l, type => $type };
-}
-
-sub fullnames() {
- map_each {
- my $type = $::a;
- grep { $_ } map {
- if ($_) {
- my $l = raw2mouse($type, $_);
- "$type|$l->{name}";
- } else {
- $type .= "|[" . N("Other") . "]";
- '';
- }
- } @{$::b->[1]}
- } %mice;
-}
-
-sub fullname2mouse {
- my ($fname, %opts) = @_;
- my ($type, @l) = split '\|', $fname;
- my ($name) = pop @l;
- search:
- $opts{device} ||= $mice{$type}[0][0];
- foreach (@{$mice{$type}[1]}) {
- my $l = raw2mouse($type, $_);
- $name eq $l->{name} and return { %$l, %opts };
- }
- if ($name eq '1 Button' || $name eq '1 button') {
- $name = "Generic 2 Button Mouse";
- goto search;
- }
- die "$fname not found ($type, $name)";
-}
-
-sub serial_ports() { map { "ttyS$_" } 0..7 }
-sub serial_port2text {
- $_[0] =~ /ttyS(\d+)/ ? "$_[0] / COM" . ($1 + 1) : $_[0];
-}
-
-sub read() {
- my %mouse = getVarsFromSh "$::prefix/etc/sysconfig/mouse";
- eval { add2hash_(\%mouse, fullname2mouse($mouse{FULLNAME})) };
- $mouse{nbuttons} ||= $mouse{XEMU3} eq "yes" ? 2 : $mouse{WHEEL} eq "yes" ? 5 : 3;
- \%mouse;
-}
-
-sub write {
- my ($in, $mouse) = @_;
- local $mouse->{FULLNAME} = qq("$mouse->{type}|$mouse->{name}"); #-"
- local $mouse->{XEMU3} = bool2yesno($mouse->{nbuttons} < 3);
- local $mouse->{WHEEL} = bool2yesno($mouse->{nbuttons} > 3);
- setVarsInSh("$::prefix/etc/sysconfig/mouse", $mouse, qw(MOUSETYPE XMOUSETYPE FULLNAME XEMU3 WHEEL device));
- any::devfssymlinkf($mouse, 'mouse');
-
- #- we should be using input/mice directly instead of usbmouse, but legacy...
- symlinkf 'input/mice', "$::prefix/dev/usbmouse" if $mouse->{device} eq "usbmouse";
-
- any::devfssymlinkf($mouse->{auxmouse}, 'mouse1') if $mouse->{auxmouse};
-
-
- various_xfree_conf($in, $mouse);
-
- if (arch() =~ /ppc/) {
- my $s = join('',
- "dev.mac_hid.mouse_button_emulation = " . to_bool($mouse->{button2_key} || $mouse->{button3_key}) . "\n",
- if_($mouse->{button2_key}, "dev.mac_hid.mouse_button2_keycode = $mouse->{button2_key}\n"),
- if_($mouse->{button3_key}, "dev.mac_hid.mouse_button3_keycode = $mouse->{button3_key}\n"),
- );
- substInFile {
- $_ = '' if /^\Qdev.mac_hid.mouse_button/;
- $_ .= $s if eof;
- } "$::prefix/etc/sysctl.conf";
- }
-}
-
-sub mouseconfig() {
- my ($t, $mouse, @wacom);
-
- #- Whouah! probing all devices from ttyS0 to ttyS3 once a time!
- detect_devices::probeSerialDevices();
-
- #- check new probing methods keep everything used here intact!
- foreach (0..3) {
- $t = detect_devices::probeSerial("/dev/ttyS$_") or next;
- if ($t->{CLASS} eq 'MOUSE') {
- $t->{MFG} ||= $t->{MANUFACTURER};
-
- $mouse = fullname2mouse("serial|Microsoft IntelliMouse") if $t->{MFG} eq 'MSH' && $t->{MODEL} eq '0001';
- $mouse = fullname2mouse("serial|Logitech MouseMan") if $t->{MFG} eq 'LGI' && $t->{MODEL} =~ /^80/;
- $mouse = fullname2mouse("serial|Genius NetMouse") if $t->{MFG} eq 'KYE' && $t->{MODEL} eq '0003';
-
- $mouse ||= fullname2mouse("serial|Generic 2 Button Mouse"); #- generic by default.
- $mouse->{device} = "ttyS$_";
- last;
- } elsif ($t->{CLASS} eq "PEN" || $t->{MANUFACTURER} eq "WAC") {
- push @wacom, "ttyS$_";
- }
- }
- $mouse, @wacom;
-}
-
-sub detect() {
- if (arch() =~ /^sparc/) {
- return fullname2mouse("sunmouse|Sun - Mouse");
- }
- if (arch() eq "ppc") {
- return fullname2mouse(detect_devices::hasMousePS2("usbmouse") ?
- "USB|1 button" :
- # No need to search for an ADB mouse. If I did, the PPC kernel would
- # find one whether or not I had one installed! So.. default to it.
- "busmouse|1 button");
- }
-
- my @wacom;
- my $fast_mouse_probe = sub {
- my $auxmouse = detect_devices::hasMousePS2("psaux") && fullname2mouse("PS/2|Standard", unsafe => 1);
-
- #- workaround for some special case were mouse is openable 1/2.
- unless ($auxmouse) {
- $auxmouse = detect_devices::hasMousePS2("psaux") && fullname2mouse("PS/2|Generic PS2 Wheel Mouse", unsafe => 0);
- $auxmouse and detect_devices::hasMousePS2("psaux"); #- fake another open in order for XFree to see the mouse.
- }
-
- if (modules::get_probeall("usb-interface")) {
- sleep 2;
- if (my (@l) = detect_devices::usbMice()) {
- log::l(join('', "found usb mouse $_->{driver} $_->{description} (", if_($_->{type}, $_->{type}), ")")) foreach @l;
- eval { modules::load(qw(hid mousedev usbmouse)) };
- if (!$@ && detect_devices::tryOpen("usbmouse")) {
- my $mouse = fullname2mouse($l[0]{driver} =~ /Mouse:(.*)/ ? $1 : "USB|Wheel");
- $auxmouse and $mouse->{auxmouse} = $auxmouse; #- for laptop, we kept the PS/2 as secondary (symbolic).
- return $mouse;
- }
- eval { modules::unload(qw(usbmouse mousedev hid)) };
- }
- } else {
- log::l("no usb interface found for mice");
- }
- $auxmouse;
- };
-
- if (modules::get_probeall("usb-interface")) {
- my $keep_mouse;
- if (my (@l) = detect_devices::usbWacom()) {
- log::l("found usb wacom $_->{driver} $_->{description} ($_->{type})") foreach @l;
- eval { modules::load("wacom", "evdev") };
- unless ($@) {
- foreach (0..$#l) {
- detect_devices::tryOpen("input/event$_") and $keep_mouse = 1, push @wacom, "input/event$_";
- }
- }
- $keep_mouse or eval { modules::unload("evdev", "wacom") };
- }
- } else {
- log::l("no usb interface found for wacom");
- }
-
- #- at this level, not all possible mice are detected so avoid invoking serial_probe
- #- which takes a while for its probe.
- if ($::isStandalone) {
- my $mouse = $fast_mouse_probe->();
- $mouse and return { wacom => \@wacom, %$mouse };
- }
-
- #- probe serial device to make sure a wacom has been detected.
- eval { modules::load("serial") };
- my ($r, @serial_wacom) = mouseconfig(); push @wacom, @serial_wacom;
- $r and return { wacom => \@wacom, %$r };
-
- if (!$::isStandalone) {
- my $mouse = $fast_mouse_probe->();
- $mouse and return { wacom => \@wacom, %$mouse };
- }
-
- #- in case only a wacom has been found, assume an inexistant mouse (necessary).
- @wacom and return fullname2mouse('none|No mouse', wacom => \@wacom);
-
- #- defaults to generic serial mouse on ttyS0.
- #- Oops? using return let return a hash ref, if not using it, it return a list directly :-)
- return fullname2mouse("serial|Generic 2 Button Mouse", unsafe => 1);
-}
-
-sub load_modules {
- my ($mouse) = @_;
- my @l;
- for ($mouse->{type}) {
- /serial/ and @l = qw(serial);
- /USB/ and @l = qw(hid mousedev usbmouse);
- }
- foreach (@{$mouse->{wacom}}) {
- /ttyS/ and push @l, qw(serial);
- /event/ and push @l, qw(wacom evdev);
- }
- eval { modules::load(@l) };
-}
-
-sub set_xfree_conf {
- my ($mouse, $xfree_conf, $b_keep_auxmouse_unchanged) = @_;
-
- my @mice = map {
- {
- Protocol => $_->{XMOUSETYPE},
- Device => "/dev/$_->{device}",
- if_($_->{nbuttons} > 3, ZAxisMapping => [ $_->{nbuttons} > 5 ? '6 7' : '4 5' ]),
- if_($_->{nbuttons} < 3, Emulate3Buttons => undef, Emulate3Timeout => 50),
- if_($_->{EMULATEWHEEL}, Emulate3Buttons => undef, Emulate3Timeout => 50, EmulateWheel => undef, EmulateWheelButton => 2),
- };
- } ($mouse, if_($mouse->{auxmouse}, $mouse->{auxmouse}));
-
- if (!$mouse->{auxmouse} && $b_keep_auxmouse_unchanged) {
- my (undef, @l) = $xfree_conf->get_mice;
- push @mice, @l;
- }
-
- $xfree_conf->set_mice(@mice);
-
- if (my @wacoms = @{$mouse->{wacom} || []}) {
- $xfree_conf->set_wacoms(map { { Device => "/dev/$_", USB => m|input/event| } } @wacoms);
- $xfree_conf->{xfree3}->add_load_module('xf86Wacom.so') if $xfree_conf->{xfree3};
- }
-}
-
-sub various_xfree_conf {
- my ($in, $mouse) = @_;
-
- {
- my $f = "$::prefix/etc/X11/xinit.d/mouse_buttons";
- if ($mouse->{nbuttons} <= 5) {
- unlink($f);
- } else {
- output_with_perm($f, 0755, "xmodmap -e 'pointer = 1 2 3 6 7 4 5'\n");
- }
- }
- {
- my $f = "$::prefix/etc/X11/xinit.d/auxmouse_buttons";
- if (!$mouse->{auxmouse} || $mouse->{auxmouse}{nbuttons} <= 5) {
- unlink($f);
- } else {
- $in->do_pkgs->install('xinput');
- output_with_perm($f, 0755, "xinput set-button-map Mouse2 1 2 3 6 7 4 5\n");
- }
- }
-}
-
-#- write_conf : write the mouse infos into the Xconfig files.
-#- input :
-#- $mouse : the hashtable containing the informations
-#- $mouse input
-#- $mouse->{nbuttons} : number of buttons : integer
-#- $mouse->{device} : device of the mouse : string : ex 'psaux'
-#- $mouse->{XMOUSETYPE} : type of the mouse for gpm : string : ex 'PS/2'
-#- $mouse->{type} : type (generic ?) of the mouse : string : ex 'PS/2'
-#- $mouse->{name} : name of the mouse : string : ex 'Standard'
-#- $mouse->{MOUSETYPE} : type of the mouse : string : ex "ps/2"
-#- $mouse->{XEMU3} : emulate 3rd button : string : 'yes' or 'no'
-sub write_conf {
- my ($in, $mouse, $b_keep_auxmouse_unchanged) = @_;
-
- &write($in, $mouse);
- modules::write_conf('') if $mouse->{device} eq "usbmouse" && !$::testing;
-
- require Xconfig::xfree;
- my $xfree_conf = Xconfig::xfree->read;
- set_xfree_conf($mouse, $xfree_conf, $b_keep_auxmouse_unchanged);
- $xfree_conf->write;
-}
-
-sub test_mouse_install {
- my ($mouse, $x_protocol_changed) = @_;
- require ugtk2;
- ugtk2->import(qw(:wrappers :create));
- my $w = ugtk2->new('', disallow_big_help => 1);
- my $darea = Gtk2::DrawingArea->new;
- $darea->set_events([ 'button_press_mask', 'button_release_mask' ]); #$darea must be unrealized.
- gtkadd($w->{window},
- gtkpack(my $vbox_grab = Gtk2::VBox->new(0, 0),
- $darea,
- gtkset_sensitive(create_okcancel($w, undef, undef, 'edge'), 1)
- ),
- );
- test_mouse($mouse, $darea, $x_protocol_changed);
- $w->sync; # HACK
- Gtk2::Gdk->pointer_grab($vbox_grab->window, 1, 'pointer_motion_mask', $vbox_grab->window, undef, 0);
- my $r = $w->main;
- Gtk2::Gdk->pointer_ungrab(0);
- $r;
-}
-
-sub test_mouse_standalone {
- my ($mouse, $hbox) = @_;
- require ugtk2;
- ugtk2->import(qw(:wrappers));
- my $darea = Gtk2::DrawingArea->new;
- $darea->set_events([ 'button_press_mask', 'button_release_mask' ]); #$darea must be unrealized.
- gtkpack($hbox, gtkpack(gtkset_border_width(Gtk2::VBox->new(0,10), 10), $darea));
- test_mouse($mouse, $darea);
-}
-
-sub test_mouse {
- my ($mouse, $darea, $b_x_protocol_changed) = @_;
-
- require ugtk2;
- ugtk2->import(qw(:wrappers));
- my $suffix = $mouse->{nbuttons} <= 2 ? '2b' : $mouse->{nbuttons} == 3 ? '3b' : '3b+';
- my %offsets = (mouse_2b_right => [ 93, 0 ], mouse_3b_right => [ 117, 0 ],
- mouse_2b_middle => [ 82, 80 ], mouse_3b_middle => [ 68, 0 ], 'mouse_3b+_middle' => [ 85, 67 ]);
- my %image_files = (
- mouse => "mouse_$suffix",
- left => 'mouse_' . ($suffix eq '3b+' ? '3b' : $suffix) . '_left',
- right => 'mouse_' . ($suffix eq '3b+' ? '3b' : $suffix) . '_right',
- if_($mouse->{nbuttons} > 2, middle => 'mouse_' . $suffix . '_middle'),
- up => 'arrow_up',
- down => 'arrow_down');
- my %images = map { $_ => ugtk2::gtkcreate_pixbuf("$image_files{$_}.png") } keys %image_files;
- my $width = $images{mouse}->get_width;
- my $height = round_up(min($images{mouse}->get_height, $::windowheight - 150), 6);
-
- my $draw_text = sub {
- my ($t, $y) = @_;
- my $layout = $darea->create_pango_layout($t);
- my ($w) = $layout->get_pixel_size;
- $darea->window->draw_layout($darea->style->black_gc,
- ($darea->allocation->width-$w)/2,
- ($darea->allocation->height-$height)/2 + $y,
- $layout);
- };
- my $draw_pixbuf = sub {
- my ($p, $x, $y, $w, $h) = @_;
- $w = $p->get_width;
- $h = $p->get_height;
- $p->render_to_drawable($darea->window, $darea->style->bg_gc('normal'), 0, 0,
- ($darea->allocation->width-$width)/2 + $x, ($darea->allocation->height-$height)/2 + $y,
- $w, $h, 'none', 0, 0);
- };
- my $draw_by_name = sub {
- my ($name) = @_;
- my $file = $image_files{$name};
- my ($x, $y) = @{$offsets{$file} || [ 0, 0 ]};
- $draw_pixbuf->($images{$name}, $x, $y);
- };
- my $drawarea = sub {
- my ($height) = @_;
- $draw_by_name->('mouse');
- if ($::isInstall || 1) {
- $draw_text->(N("Please test the mouse"), 200);
- if ($b_x_protocol_changed && $mouse->{nbuttons} > 3 && $mouse->{device} eq 'psaux' && member($mouse->{XMOUSETYPE}, 'IMPS/2', 'ExplorerPS/2')) {
- $draw_text->(N("To activate the mouse,"), 240);
- $draw_text->(N("MOVE YOUR WHEEL!"), 260);
- }
- }
- };
-
- my $timeout;
- my $paintButton = sub {
- my ($nb) = @_;
- $timeout or $drawarea->();
- if ($nb == 0) {
- $draw_by_name->('left');
- } elsif ($nb == 2) {
- $draw_by_name->('right');
- } elsif ($nb == 1) {
- if ($mouse->{nbuttons} >= 3) {
- $draw_by_name->('middle');
- } else {
- my ($x, $y) = @{$offsets{mouse_2b_middle}};
- $darea->window->draw_arc($darea->style->black_gc,
- 1, ($darea->allocation->width-$width)/2 + $x, ($darea->allocation->height-$height)/2 + $y, 20, 25,
- 0, 360 * 64);
- }
- } elsif ($mouse->{nbuttons} > 3) {
- my ($x, $y) = @{$offsets{$image_files{middle}}};
- if ($nb == 3) {
- $draw_pixbuf->($images{up}, $x+6, $y-10);
- } elsif ($nb == 4) {
- $draw_pixbuf->($images{down}, $x+6, $y + $images{middle}->get_height + 2);
- }
- $draw_by_name->('middle');
- $timeout and Glib::Source->remove($timeout);
- $timeout = Glib::Timeout->add(100, sub { $drawarea->(); $timeout = 0; 0 });
- }
- };
-
- $darea->signal_connect(button_press_event => sub { $paintButton->($_[1]->button - 1) });
- $darea->signal_connect(scroll_event => sub { $paintButton->($_[1]->direction eq 'up' ? 3 : 4) });
- $darea->signal_connect(button_release_event => $drawarea);
- $darea->signal_connect(expose_event => $drawarea);
- $darea->set_size_request($width, $height);
-}
-
-
-=begin
-
-=head1 NAME
-
-mouse - Perl functions to handle mice
-
-=head1 SYNOPSYS
-
- require modules;
- require mouse;
- modules::mergein_conf('/etc/modules.conf') if -r '/etc/modules.conf';
- &mouse::detect();
-
-=head1 DESCRIPTION
-
-C<mouse> is a perl module used by mousedrake to detect and configure the mouse.
-
-=head1 COPYRIGHT
-
-Copyright (C) 2000-2002 MandrakeSoft <tvignaud@mandrakesoft.com>
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-=cut
diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm
new file mode 100644
index 000000000..6633decf3
--- /dev/null
+++ b/perl-install/mygtk2.pm
@@ -0,0 +1,1598 @@
+package mygtk2;
+
+use diagnostics;
+use strict;
+use feature 'state';
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(gtknew gtkset gtkadd gtkval_register gtkval_modify);
+
+use c;
+use log;
+use common;
+
+use Gtk2;
+
+sub init() {
+ !check_for_xserver() and print("Cannot be run in console mode.\n"), c::_exit(0);
+ $::one_message_has_been_translated and warn("N() was called from $::one_message_has_been_translated BEFORE gtk2 initialisation, replace it with a N_() AND a translate() later.\n"), c::_exit(1);
+
+ Gtk2->init;
+ Locale::gettext::bind_textdomain_codeset($_, 'UTF8') foreach 'libDrakX', if_(!$::isInstall, 'libDrakX-standalone'),
+ if_($::isRestore, 'draksnapshot'), if_($::isInstall, 'urpmi'),
+ 'drakx-net', 'drakx-kbd-mouse-x11', # shared translation
+ @::textdomains;
+ Glib->enable_exceptions2;
+}
+init() unless $::no_ugtk_init;
+Glib->enable_exceptions2 if $::isInstall;
+
+
+
+sub gtknew {
+ my $class = shift;
+ if (@_ % 2 != 0) {
+ internal_error("gtknew $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtknew $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+ _gtk(undef, $class, 'gtknew', \%opts);
+}
+
+sub gtkset {
+ my $w = shift;
+ my $class = ref($w);
+ if (@_ % 2 != 0) {
+ internal_error("gtkset $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtkset $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+
+ $class =~ s/^(Gtk2|Gtk2::Gdk|mygtk2)::// or internal_error("gtkset unknown class $class");
+
+ _gtk($w, $class, 'gtkset', \%opts);
+}
+
+sub gtkadd {
+ my $w = shift;
+ my $class = ref($w);
+ if (@_ % 2 != 0) {
+ internal_error("gtkadd $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtkadd $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+ $class =~ s/^(Gtk2|Gtk2::Gdk|mygtk2)::// or internal_error("gtkadd unknown class $class");
+
+ _gtk($w, $class, 'gtkadd', \%opts);
+}
+
+
+my %refs;
+
+sub gtkval_register {
+ my ($w, $ref, $sub) = @_;
+ push @{$w->{_ref}}, $ref;
+ $w->signal_connect(destroy => sub {
+ @{$refs{$ref}} = grep { $_->[1] != $w } @{$refs{$ref}};
+ delete $refs{$ref} if !@{$refs{$ref}};
+ });
+ push @{$refs{$ref}}, [ $sub, $w ];
+}
+sub gtkval_modify {
+ my ($ref, $val, @to_skip) = @_;
+ my $prev = '' . $ref;
+ $$ref = $val;
+ if ($prev ne '' . $ref) {
+ internal_error();
+ }
+ foreach (@{$refs{$ref} || []}) {
+ my ($f, @para) = @$_;
+ $f->(@para) if !member($f, @to_skip);
+ }
+}
+
+my $global_tooltips;
+
+sub _gtk {
+ my ($w, $class, $action, $opts) = @_;
+
+ if (my $f = $mygtk2::{"_gtk__$class"}) {
+ $w = $f->($w, $opts, $class, $action);
+ } else {
+ internal_error("$action $class: unknown class");
+ }
+
+ $w->set_size_request(delete $opts->{width} || -1, delete $opts->{height} || -1) if exists $opts->{width} || exists $opts->{height};
+ if (my $position = delete $opts->{position}) {
+ $w->move($position->[0], $position->[1]);
+ }
+ $w->set_name(delete $opts->{widget_name}) if exists $opts->{widget_name};
+ $w->can_focus(delete $opts->{can_focus}) if exists $opts->{can_focus};
+ $w->can_default(delete $opts->{can_default}) if exists $opts->{can_default};
+ $w->grab_focus if delete $opts->{grab_focus};
+ $w->set_padding(@{delete $opts->{padding}}) if exists $opts->{padding};
+ $w->set_sensitive(delete $opts->{sensitive}) if exists $opts->{sensitive};
+ $w->signal_connect(expose_event => delete $opts->{expose_event}) if exists $opts->{expose_event};
+ $w->signal_connect(realize => delete $opts->{realize}) if exists $opts->{realize};
+ (delete $opts->{size_group})->add_widget($w) if $opts->{size_group};
+ if (my $tip = delete $opts->{tip}) {
+ $global_tooltips ||= Gtk2::Tooltips->new;
+ $global_tooltips->set_tip($w, $tip);
+ }
+
+ #- WARNING: hide_ref and show_ref are not effective until you gtkval_modify the ref
+ if (my $hide_ref = delete $opts->{hide_ref}) {
+ gtkval_register($w, $hide_ref, sub { $$hide_ref ? $w->hide : $w->show });
+ } elsif (my $show_ref = delete $opts->{show_ref}) {
+ gtkval_register($w, $show_ref, sub { $$show_ref ? $w->show : $w->hide });
+ }
+
+ if (my $sensitive_ref = delete $opts->{sensitive_ref}) {
+ my $set = sub { $w->set_sensitive($$sensitive_ref) };
+ gtkval_register($w, $sensitive_ref, $set);
+ $set->();
+ }
+
+ if (%$opts && !$opts->{allow_unknown_options}) {
+ internal_error("$action $class: unknown option(s) " . join(', ', keys %$opts));
+ }
+ $w;
+}
+
+sub _gtk__Install_Button {
+ my ($w, $opts, $_class) = @_;
+ $opts->{child} = gtknew('HBox', spacing => 5,
+ children_tight => [
+ # FIXME: not RTL compliant (lang::text_direction_rtl() ? ...)
+ gtknew('Image', file => 'advanced_expander'),
+ gtknew('Label', text => delete $opts->{text}),
+ ],
+ );
+ $opts->{relief} = 'none';
+ _gtk__Button($w, $opts, 'Button');
+}
+
+sub _gtk__Button { &_gtk_any_Button }
+sub _gtk__ToggleButton { &_gtk_any_Button }
+sub _gtk__CheckButton { &_gtk_any_Button }
+sub _gtk__RadioButton { &_gtk_any_Button }
+sub _gtk_any_Button {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ my @radio_options;
+ if ($class eq 'RadioButton') {
+ @radio_options = delete $opts->{group};
+ }
+ $w = $opts->{child} ? "Gtk2::$class"->new(@radio_options) :
+ delete $opts->{mnemonic} ? "Gtk2::$class"->new_with_mnemonic(@radio_options, delete $opts->{text} || '') :
+ $opts->{text} ? "Gtk2::$class"->new_with_label(@radio_options, delete $opts->{text} || '') :
+ "Gtk2::$class"->new(@radio_options);
+
+ $w->{format} = delete $opts->{format} if exists $opts->{format};
+ }
+
+ if (my $widget = delete $opts->{child}) {
+ $w->add($widget);
+ $widget->show;
+ }
+ $w->set_image(delete $opts->{image}) if exists $opts->{image};
+ $w->set_relief(delete $opts->{relief}) if exists $opts->{relief};
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub {
+ eval { $w->set_label(may_apply($w->{format}, $$text_ref)) };
+ };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ } elsif (exists $opts->{text}) {
+ $w->set_label(delete $opts->{text});
+ } elsif (exists $opts->{stock}) {
+ $w->set_label(delete $opts->{stock});
+ $w->set_use_stock(1);
+ }
+
+ if ($class eq 'Button') {
+ $w->signal_connect(clicked => delete $opts->{clicked}) if exists $opts->{clicked};
+ } else {
+ if (my $active_ref = delete $opts->{active_ref}) {
+ my $set = sub { $w->set_active($$active_ref) };
+ $w->signal_connect(toggled => sub {
+ gtkval_modify($active_ref, $w->get_active, $set);
+ });
+ gtkval_register($w, $active_ref, $set);
+ gtkval_register($w, $active_ref, delete $opts->{toggled}) if exists $opts->{toggled};
+ $set->();
+ } else {
+ $w->set_active(delete $opts->{active}) if exists $opts->{active};
+ $w->signal_connect(toggled => delete $opts->{toggled}) if exists $opts->{toggled};
+ }
+ }
+ $w;
+}
+
+sub _gtk__CheckMenuItem {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ add2hash_($opts, { mnemonic => 1 });
+
+ $w = $opts->{image} || !exists $opts->{text} ? "Gtk2::$class"->new :
+ delete $opts->{mnemonic} ? "Gtk2::$class"->new_with_label(delete $opts->{text}) :
+ "Gtk2::$class"->new_with_mnemonic(delete $opts->{text});
+ }
+
+ $w->set_active(delete $opts->{active}) if exists $opts->{active};
+ $w->signal_connect(toggled => delete $opts->{toggled}) if exists $opts->{toggled};
+ $w;
+}
+
+sub _gtk__SpinButton {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $opts->{adjustment} ||= do {
+ add2hash_($opts, { step_increment => 1, page_increment => 5, page_size => 1, value => delete $opts->{lower} });
+ Gtk2::Adjustment->new(delete $opts->{value}, delete $opts->{lower}, delete $opts->{upper}, delete $opts->{step_increment}, delete $opts->{page_increment}, delete $opts->{page_size});
+ };
+ $w = Gtk2::SpinButton->new(delete $opts->{adjustment}, delete $opts->{climb_rate} || 0, delete $opts->{digits} || 0);
+ }
+
+ $w->signal_connect(value_changed => delete $opts->{value_changed}) if exists $opts->{value_changed};
+ $w;
+}
+
+sub _gtk__HScale {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $opts->{adjustment} ||= do {
+ add2hash_($opts, { step_increment => 1, page_increment => 5, page_size => 1 });
+ add2hash_($opts, { value => $opts->{lower} }) if !exists $opts->{value};
+ Gtk2::Adjustment->new(delete $opts->{value}, delete $opts->{lower}, (delete $opts->{upper}) + 1, delete $opts->{step_increment}, delete $opts->{page_increment}, delete $opts->{page_size});
+ };
+ $w = Gtk2::HScale->new(delete $opts->{adjustment});
+ }
+
+ $w->set_digits(delete $opts->{digits}) if exists $opts->{digits};
+ if (my $value_ref = delete $opts->{value_ref}) {
+ my $set = sub { $w->set_value($$value_ref) };
+ gtkval_register($w, $value_ref, $set);
+ $set->();
+ $w->signal_connect(value_changed => sub {
+ gtkval_modify($value_ref, $w->get_value, $set);
+ });
+ }
+ $w->signal_connect(value_changed => delete $opts->{value_changed}) if exists $opts->{value_changed};
+ $w;
+}
+
+sub _gtk__ProgressBar {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::ProgressBar->new;
+ }
+
+ if (my $fraction_ref = delete $opts->{fraction_ref}) {
+ my $set = sub { $w->set_fraction($$fraction_ref) };
+ gtkval_register($w, $fraction_ref, $set);
+ $set->();
+ } elsif (exists $opts->{fraction}) {
+ $w->set_fraction(delete $opts->{fraction});
+ }
+
+ $w;
+}
+
+sub _gtk__VSeparator { &_gtk_any_simple }
+sub _gtk__HSeparator { &_gtk_any_simple }
+sub _gtk__Calendar { &_gtk_any_simple }
+
+sub _gtk__DrawingArea {
+ my ($w, $_opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::DrawingArea->new;
+ }
+ $w;
+}
+
+sub _gtk__Pixbuf {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ my $name = delete $opts->{file} or internal_error("missing file");
+ my $file = _find_imgfile($name) or internal_error("cannot find image $name");
+ if (my $size = delete $opts->{size}) {
+ $w = Gtk2::Gdk::Pixbuf->new_from_file_at_scale($file, $size, $size, 1);
+ } else {
+ $w = Gtk2::Gdk::Pixbuf->new_from_file($file);
+ }
+ $w = $w->flip(1) if delete $opts->{flip};
+ }
+ $w;
+}
+
+# Image_using_pixmap is rendered using DITHER_MAX which is much better on 16bpp displays
+sub _gtk__Image_using_pixmap { &_gtk__Image }
+# Image_using_pixbuf is rendered using DITHER_MAX & transparency which is much better on 16bpp displays
+sub _gtk__Image_using_pixbuf { &_gtk__Image }
+sub _gtk__Image {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Image->new;
+ $w->{format} = delete $opts->{format} if exists $opts->{format};
+
+ $w->set_from_stock(delete $opts->{stock}, 'button') if exists $opts->{stock};
+
+ $w->{options} = { flip => delete $opts->{flip} };
+
+ $w->{set_from_file} = $class =~ /using_pixmap/ ? sub {
+ my ($w, $file) = @_;
+ my $pixmap = mygtk2::pixmap_from_pixbuf($w, gtknew('Pixbuf', file => $file));
+ $w->set_from_pixmap($pixmap, undef);
+ } : $class =~ /using_pixbuf/ ? sub {
+ my ($w, $file) = @_;
+ my $pixbuf = _pixbuf_render_alpha(gtknew('Pixbuf', file => $file, %{$w->{options}}), 255);
+ my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height);
+ $w->set_size_request($width, $height);
+ $w->{pixbuf} = $pixbuf;
+ $w->signal_connect(expose_event => sub {
+ my (undef, $event) = @_;
+ if (!$w->{x}) {
+ my $alloc = $w->allocation;
+ $w->{x} = $alloc->x;
+ $w->{y} = $alloc->y;
+ }
+ # workaround Gtk+ bug: in installer, first event is not complete and rectables are bogus:
+ if ($::isInstall) {
+ $pixbuf->render_to_drawable($w->window, $w->style->fg_gc('normal'),
+ 0, 0, $w->{x}, $w->{y}, $width, $height, 'max', 0, 0);
+ return;
+ }
+ foreach my $rect ($event->region->get_rectangles) {
+ my @values = $rect->values;
+ $pixbuf->render_to_drawable($w->window, $w->style->fg_gc('normal'),
+ @values[0..1], $w->{x}+$values[0], $w->{y}+$values[1], @values[2..3], 'max', 0, 0);
+ }
+ });
+ } : sub {
+ my ($w, $file, $o_size) = @_;
+ my $pixbuf = gtknew('Pixbuf', file => $file, if_($o_size, size => $o_size), %{$w->{options}});
+ $w->set_from_pixbuf($pixbuf);
+ };
+ }
+
+ if (my $name = delete $opts->{file}) {
+ my $file = _find_imgfile(may_apply($w->{format}, $name)) or internal_error("cannot find image $name");
+ $w->{set_from_file}->($w, $file, delete $opts->{size});
+ } elsif (my $file_ref = delete $opts->{file_ref}) {
+ my $set = sub {
+ my $file = _find_imgfile(may_apply($w->{format}, $$file_ref)) or internal_error("cannot find image $$file_ref");
+ $w->{set_from_file}->($w, $file, delete $opts->{size});
+ };
+ gtkval_register($w, $file_ref, $set);
+ $set->() if $$file_ref;
+ }
+ $w;
+}
+
+sub _gtk__WrappedLabel {
+ my ($w, $opts) = @_;
+
+ $opts->{line_wrap} = 1 if !defined $opts->{line_wrap};
+ _gtk__Label($w, $opts);
+}
+
+our $left_padding = 20;
+
+sub _gtk__Label_Left {
+ my ($w, $opts) = @_;
+ $opts->{alignment} ||= [ 0, 0 ];
+ $opts->{padding} ||= [ $left_padding, 0 ];
+ _gtk__WrappedLabel($w, $opts);
+}
+
+sub _gtk__Label_Right {
+ my ($w, $opts) = @_;
+ $opts->{alignment} ||= [ 1, 0.5 ];
+ _gtk__Label($w, $opts);
+}
+
+
+sub _gtk__Label {
+ my ($w, $opts) = @_;
+
+ if ($w) {
+ $w->set_text(delete $opts->{text}) if exists $opts->{text};
+ } else {
+ $w = exists $opts->{text} ? Gtk2::Label->new(delete $opts->{text}) : Gtk2::Label->new;
+ $w->set_selectable(delete $opts->{selectable}) if exists $opts->{selectable};
+ $w->set_ellipsize(delete $opts->{ellipsize}) if exists $opts->{ellipsize};
+ $w->set_justify(delete $opts->{justify}) if exists $opts->{justify};
+ $w->set_line_wrap(delete $opts->{line_wrap}) if exists $opts->{line_wrap};
+ $w->set_alignment(@{delete $opts->{alignment}}) if exists $opts->{alignment};
+ $w->modify_font(Gtk2::Pango::FontDescription->from_string(delete $opts->{font})) if exists $opts->{font};
+ }
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub { $w->set_text($$text_ref) };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ }
+
+ if (my $t = delete $opts->{text_markup}) {
+ $w->set_markup($t);
+ if ($w->get_text eq '') {
+ log::l("invalid markup in $t. not using the markup");
+ $w->set_text($t);
+ }
+ }
+ $w;
+}
+
+
+sub _gtk__Alignment {
+ my ($w, $_opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Alignment->new(0, 0, 0, 0);
+ }
+ $w;
+}
+
+
+sub title1_to_markup {
+ my ($label) = @_;
+ if ($::isInstall) {
+ my $font = lang::l2pango_font($::o->{locale}{lang});
+ if (my ($font_size) = $font =~ /(\d+)/) {
+ $font_size++;
+ $font =~ s/\d+/$font_size/;
+ }
+ qq(<span foreground="#5A8AD6" font="$font">$label</span>);
+ } else {
+ qq(<b><big>$label</big></b>);
+ }
+}
+
+sub _gtk__Install_Title {
+ my ($w, $opts) = @_;
+ local $opts->{widget_name} = 'Banner';
+ $opts->{text} = uc($opts->{text}) if $::isInstall;
+ gtknew('HBox', widget_name => 'Banner', children => [
+ 0, gtknew('Label', padding => [ 6, 0 ]),
+ 1, gtknew('VBox', widget_name => 'Banner', children_tight => [
+ _gtk__Title2($w, $opts),
+ if_($::isInstall, Gtk2::HSeparator->new),
+ ]),
+ 0, gtknew('Label', padding => [ 6, 0 ]),
+ ]);
+}
+
+sub _gtk__Title1 {
+ my ($w, $opts) = @_;
+ $opts ||= {};
+ $opts->{text_markup} = title1_to_markup(delete($opts->{label})) if $opts->{label};
+ _gtk__WrappedLabel($w, $opts);
+}
+
+sub _gtk__Title2 {
+ my ($w, $opts) = @_;
+ $opts ||= {};
+ $opts->{alignment} = [ 0, 0 ];
+ _gtk__Title1($w, $opts);
+}
+
+sub _gtk__Sexy_IconEntry {
+ my ($w, $opts) = @_;
+
+ require Gtk2::Sexy;
+ if (!$w) {
+ $w = Gtk2::Sexy::IconEntry->new;
+ $w->set_editable(delete $opts->{editable}) if exists $opts->{editable};
+ }
+
+ $w->add_clear_button if delete $opts->{clear_button};
+ if (my $icon = delete $opts->{primary_icon}) {
+ $w->set_icon('primary', $icon);
+ $w->set_icon_highlight('primary', $icon);
+ }
+ if (my $icon = delete $opts->{secondary_icon}) {
+ $w->set_icon('secondary', $icon);
+ $w->set_icon_highlight('secondary', $icon);
+ }
+
+ $w->signal_connect('icon-released' => delete $opts->{'icon-released'}) if exists $opts->{'icon-released'};
+ $w->signal_connect('icon-pressed' => delete $opts->{'icon-pressed'}) if exists $opts->{'icon-pressed'};
+
+ _gtk__Entry($w, $opts);
+}
+
+sub _gtk__Entry {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Entry->new;
+ $w->set_editable(delete $opts->{editable}) if exists $opts->{editable};
+ }
+
+ if (my $icon = delete $opts->{primary_icon}) {
+ $w->set_icon_from_stock('primary', $icon);
+ #$w->set_icon_highlight('primary', $icon);
+ }
+ if (my $icon = delete $opts->{secondary_icon}) {
+ $w->set_icon_from_stock('secondary', $icon);
+ #$w->set_icon_highlight('secondary', $icon);
+ }
+
+ $w->signal_connect('icon-release' => delete $opts->{'icon-release'}) if exists $opts->{'icon-release'};
+ $w->signal_connect('icon-press' => delete $opts->{'icon-press'}) if exists $opts->{'icon-press'};
+
+ $w->set_text(delete $opts->{text}) if exists $opts->{text};
+ $w->signal_connect(key_press_event => delete $opts->{key_press_event}) if exists $opts->{key_press_event};
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub { $w->set_text($$text_ref) };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ $w->signal_connect(changed => sub {
+ gtkval_modify($text_ref, $w->get_text, $set);
+ });
+ }
+
+ $w;
+}
+